diff --git a/.gitattributes b/.gitattributes index 47d43017..9545db5f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9,5 +9,5 @@ *.sh text eol=lf *.sha1 text eol=lf -# decomp-toolkit writes files with LF +# DTK keeps these files with LF config/**/*.txt text eol=lf diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 696586eb..7c5f3917 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,19 +6,23 @@ on: jobs: build: - container: ghcr.io/mariopartyrd/mp-gc-build:main + # This is a *private* build container. + # See docs/github_actions.md for more information. + container: ghcr.io/rainchus/marioparty4-build:main runs-on: ubuntu-latest strategy: fail-fast: false matrix: - version: [GMPE01_00, GMPE01_01, GMPP01_00, GMPP01_02, GMPJ01_00] + # Add game versions here + version: [GMPE01_00] steps: - # Checkout the repository + # Checkout the repository (shallow clone) - name: Checkout uses: actions/checkout@v4 with: + fetch-depth: 0 submodules: recursive # Set Git config @@ -34,15 +38,17 @@ jobs: run: | python configure.py --map --version ${{ matrix.version }} \ --binutils /binutils --compilers /compilers - ninja all_source build/${{ matrix.version }}/progress.json \ - build/${{ matrix.version }}/report.json + ninja all_source build/${{ matrix.version }}/progress.json # Upload progress if we're on the main branch - name: Upload progress + # If you're using a different branch, change this to match if: github.ref == 'refs/heads/main' continue-on-error: true env: + # Replace with your project slug PROGRESS_SLUG: marioparty4 + # Set the API key in your repository secrets PROGRESS_API_KEY: ${{ secrets.PROGRESS_API_KEY }} run: | python tools/upload_progress.py -b https://progress.decomp.club/ \ @@ -51,14 +57,7 @@ jobs: # Upload map files - name: Upload map - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v3 with: name: ${{ matrix.version }}_maps - path: build/${{ matrix.version }}/**/*.MAP - - # Upload progress report - - name: Upload report - uses: actions/upload-artifact@v4 - with: - name: ${{ matrix.version }}_report - path: build/${{ matrix.version }}/report.json + path: build/${{ matrix.version }}/**/*.MAP \ No newline at end of file diff --git a/.gitignore b/.gitignore index c8875b51..2ac13758 100644 --- a/.gitignore +++ b/.gitignore @@ -1,36 +1,17 @@ -# IDE folders -.idea/ -.vs/ -.vscode/ - -# Caches __pycache__ -.mypy_cache -.cache/ - -# Original files +.idea +.vscode +.ninja_* +*.exe +build +build.ninja +objdiff.json orig/*/* !orig/*/.gitkeep -*.dol -*.rel -*.elf -*.o -*.map -*.MAP - -# Build files -build/ -.ninja_* -build.ninja - -# decompctx output -ctx.* -*.ctx - -# Generated configs -objdiff.json -compile_commands.json - -# Miscellaneous /*.txt -*.exe +ctx.c +tools/output/* +rels_to_mod.py +orig/root +*.iso +mod_root/ \ No newline at end of file diff --git a/.vscode.example/c_cpp_properties.json b/.vscode.example/c_cpp_properties.json new file mode 100644 index 00000000..3bace88c --- /dev/null +++ b/.vscode.example/c_cpp_properties.json @@ -0,0 +1,23 @@ +{ + "configurations": [ + { + "name": "Linux", + "includePath": [ + "${workspaceFolder}/include/**", + "${workspaceFolder}/build/GMPE01_00/include/**" + ], + "cStandard": "c99", + "cppStandard": "c++98", + "intelliSenseMode": "linux-clang-x86", + "compilerPath": "", + "configurationProvider": "ms-vscode.makefile-tools", + "browse": { + "path": [ + "${workspaceFolder}/include" + ], + "limitSymbolsToIncludedHeaders": true + } + } + ], + "version": 4 +} diff --git a/.vscode.example/settings.json b/.vscode.example/settings.json new file mode 100644 index 00000000..60e7e27d --- /dev/null +++ b/.vscode.example/settings.json @@ -0,0 +1,26 @@ +{ + "[c]": { + "files.encoding": "utf8", + "editor.defaultFormatter": "xaver.clang-format" + }, + "[cpp]": { + "files.encoding": "utf8", + "editor.defaultFormatter": "xaver.clang-format" + }, + "[python]": { + "editor.defaultFormatter": "ms-python.black-formatter" + }, + "files.insertFinalNewline": true, + "files.trimFinalNewlines": true, + "files.associations": { + "*.inc": "cpp" + }, + "search.useIgnoreFiles": false, + "search.exclude": { + "build/*/config.json": true, + "build/**/*.MAP": true, + "build.ninja": true, + ".ninja_*": true, + "objdiff.json": true + } +} \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index c20797ff..00000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "recommendations": [ - "llvm-vs-code-extensions.vscode-clangd", - "ms-python.black-formatter", - "ms-python.flake8", - ], - "unwantedRecommendations": [ - "ms-vscode.cmake-tools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.cpptools", - ] -} diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 64233526..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,146 +0,0 @@ -{ - "[c]": { - "files.encoding": "utf8", - "editor.defaultFormatter": "llvm-vs-code-extensions.vscode-clangd" - }, - "[cpp]": { - "files.encoding": "utf8", - "editor.defaultFormatter": "llvm-vs-code-extensions.vscode-clangd" - }, - "[python]": { - "editor.defaultFormatter": "ms-python.black-formatter" - }, - "files.insertFinalNewline": true, - "files.trimFinalNewlines": true, - "files.associations": { - "*.cp": "cpp", - "*.csv": "plaintext", - "*.s": "plaintext", - "*.json": "jsonc", - "*.c": "c", - "*.asm": "masm", - "*.inc": "c", - ".clangd": "yaml", - "m443dll.h": "c", - "object.h": "c", - "executor.h": "c", - "m438dll.h": "c", - "audio.h": "c", - "musyx.h": "c", - "math.h": "c", - "m418dll.h": "c", - "ext_math.h": "c", - "mtx.h": "c", - "types.h": "c", - "corecrt_math.h": "c", - "corecrt.h": "c", - "vcruntime.h": "c", - "hsfmotion.h": "c", - "m424dll.h": "c", - "chrman.h": "c", - "os.h": "c", - "type_traits": "cpp", - "xutility": "cpp", - "xtr1common": "c", - "hsfdraw.h": "c", - "dolphin.h": "c", - "hsfman.h": "c", - "hsfformat.h": "c", - "hsfanim.h": "c", - "memory.h": "c", - "animdata.h": "c", - "abort_exit.h": "c", - "critical_regions.h": "c", - "stddef.h": "c", - "nmwexception.h": "c", - "signal.h": "c", - "gx.h": "c", - "dol2asm.h": "c", - "__mem.h": "c", - "fdlibm.h": "c", - "float.h": "c", - "corecrt_math_defines.h": "c", - "math_ppc.h": "c", - "errno.h": "c", - "m427dll.h": "c", - "sprite.h": "c", - "gamework_data.h": "c", - "roll.h": "c", - "msghndlr.h": "c", - "dispatch.h": "c", - "trk.h": "c", - "debuggerdriver.h": "c", - "mpexdll.h": "c" - }, - "search.useIgnoreFiles": false, - "search.exclude": { - "build/*/config.json": true, - "build/**/*.MAP": true, - "build.ninja": true, - ".ninja_*": true, - "objdiff.json": true, - "progress.json": true, - "report.json": true, - "compile_commands.json": true - }, - "cmake.ignoreCMakeListsMissing": true, - "editor.fontFamily": "Fira Code", - "editor.fontLigatures": true, - "C_Cpp_Runner.cCompilerPath": "gcc", - "C_Cpp_Runner.cppCompilerPath": "g++", - "C_Cpp_Runner.debuggerPath": "gdb", - "C_Cpp_Runner.cStandard": "", - "C_Cpp_Runner.cppStandard": "", - "C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/VR_NR/Community/VC/Auxiliary/Build/vcvarsall.bat", - "C_Cpp_Runner.useMsvc": false, - "C_Cpp_Runner.warnings": [ - "-Wall", - "-Wextra", - "-Wpedantic", - "-Wshadow", - "-Wformat=2", - "-Wcast-align", - "-Wconversion", - "-Wsign-conversion", - "-Wnull-dereference" - ], - "C_Cpp_Runner.msvcWarnings": [ - "/W4", - "/permissive-", - "/w14242", - "/w14287", - "/w14296", - "/w14311", - "/w14826", - "/w44062", - "/w44242", - "/w14905", - "/w14906", - "/w14263", - "/w44265", - "/w14928" - ], - "C_Cpp_Runner.enableWarnings": true, - "C_Cpp_Runner.warningsAsError": false, - "C_Cpp_Runner.compilerArgs": [], - "C_Cpp_Runner.linkerArgs": [], - "C_Cpp_Runner.includePaths": [], - "C_Cpp_Runner.includeSearch": [ - "*", - "**/*" - ], - "C_Cpp_Runner.excludeSearch": [ - "**/build", - "**/build/**", - "**/.*", - "**/.*/**", - "**/.vscode", - "**/.vscode/**" - ], - "C_Cpp_Runner.useAddressSanitizer": false, - "C_Cpp_Runner.useUndefinedSanitizer": false, - "C_Cpp_Runner.useLeakSanitizer": false, - "C_Cpp_Runner.showCompilationTime": false, - "C_Cpp_Runner.useLinkTimeOptimization": false, - "C_Cpp_Runner.msvcSecureNoWarnings": false -} diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index 6dc12130..00000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - // Use Ctrl+Shift+B to run build tasks. - // Or "Run Build Task" in the Command Palette. - "version": "2.0.0", - "tasks": [ - { - "label": "ninja", - "type": "shell", - "command": "ninja", - "group": { - "kind": "build", - "isDefault": true - } - }, - ] -} diff --git a/README.md b/README.md index f1594c57..53e82df1 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,33 @@ Mario Party 4 -[![Build Status]][actions] [![Progress]][progress site] [![DOL Progress]][progress site] [![RELs Progress]][progress site] [![Discord Badge]][discord] +[![Build Status]][actions] ![Progress] ![DOL Progress] ![RELs Progress] [![Discord Badge]][discord] ============= -[Build Status]: https://github.com/mariopartyrd/marioparty4/actions/workflows/build.yml/badge.svg -[actions]: https://github.com/mariopartyrd/marioparty4/actions/workflows/build.yml -[Progress]: https://decomp.dev/mariopartyrd/marioparty4.svg?mode=shield&measure=code&label=Code&category=all -[DOL Progress]: https://decomp.dev/mariopartyrd/marioparty4.svg?mode=shield&measure=code&label=DOL&category=dol -[RELs Progress]: https://decomp.dev/mariopartyrd/marioparty4.svg?mode=shield&measure=code&label=RELs&category=modules -[progress site]: https://decomp.dev/mariopartyrd/marioparty4 + +[Build Status]: https://github.com/Rainchus/marioparty4/actions/workflows/build.yml/badge.svg +[actions]: https://github.com/Rainchus/marioparty4/actions/workflows/build.yml + +[Progress]: https://img.shields.io/endpoint?label=Code&url=https%3A%2F%2Fprogress.decomp.club%2Fdata%2Fmarioparty4%2FGMPE01_00%2Fall%2F%3Fmode%3Dshield%26measure%3Dcode + +[DOL Progress]: https://img.shields.io/endpoint?label=DOL&url=https%3A%2F%2Fprogress.decomp.club%2Fdata%2Fmarioparty4%2FGMPE01_00%2Fdol%2F%3Fmode%3Dshield%26measure%3Dcode + +[RELs Progress]: https://img.shields.io/endpoint?label=RELs&url=https%3A%2F%2Fprogress.decomp.club%2Fdata%2Fmarioparty4%2FGMPE01_00%2Fmodules%2F%3Fmode%3Dshield%26measure%3Dcode + [Discord Badge]: https://img.shields.io/discord/994839212618690590?color=%237289DA&logo=discord&logoColor=%23FFFFFF [discord]: https://discord.gg/T4faGveujK @@ -17,16 +37,12 @@ This repository does **not** contain any game assets or assembly whatsoever. An Supported versions: -- `GMPE01_00`: Rev 0 (USA) -- `GMPE01_01`: Rev 1 (USA) -- `GMPP01_00`: Rev 0 (PAL) -- `GMPP01_02`: Rev 2 (PAL) -- `GMPJ01_00`: Rev 0 (JP) +- `GAMEID`: Rev 0 (USA) Dependencies ============ -Windows +Windows: -------- On Windows, it's **highly recommended** to use native tooling. WSL or msys2 are **not** required. @@ -37,7 +53,7 @@ When running under WSL, [objdiff](#diffing) is unable to get filesystem notifica - Download [ninja](https://github.com/ninja-build/ninja/releases) and add it to `%PATH%`. - Quick install via pip: `pip install ninja` -macOS +macOS: ------ - Install [ninja](https://github.com/ninja-build/ninja/wiki/Pre-built-Ninja-packages): ``` @@ -53,42 +69,39 @@ After OS upgrades, if macOS complains about `Wine Crossover.app` being unverifie sudo xattr -rd com.apple.quarantine '/Applications/Wine Crossover.app' ``` -Linux +Linux: ------ - Install [ninja](https://github.com/ninja-build/ninja/wiki/Pre-built-Ninja-packages). - For non-x86(_64) platforms: Install wine from your package manager. - - For x86(_64), [wibo](https://github.com/decompals/wibo), a minimal 32-bit Windows binary wrapper, will be automatically downloaded and used. + - For x86(_64), [WiBo](https://github.com/decompals/WiBo), a minimal 32-bit Windows binary wrapper, will be automatically downloaded and used. Building ======== - Clone the repository: ``` - git clone https://github.com/mariopartyrd/marioparty4.git + git clone https://github.com/Rainchus/mp4-dtk.git ``` - -- Initialize and update submodules: - - ```sh - git submodule update --init --recursive - ``` - -- Copy your game's disc image to `orig/[GAMEID]`. The supported game IDs are listed above. - - Supported formats: ISO (GCM), RVZ, WIA, WBFS, CISO, NFS, GCZ, TGC - - After the initial build, the disc image can be deleted to save space. - +- Using [Dolphin Emulator](https://dolphin-emu.org/), extract your game to `orig/GMPE01`. +![](assets/dolphin-extract.png) + - To save space, the only necessary files are the following. Any others can be deleted. + - `sys/main.dol` + - `files/rels/*.rel` - Configure: ``` python configure.py ``` - - To choose a version other than the USA Rev 0 one, add `--version [GAMEID]` to the command. - + To use a version other than `GMPE01` (USA), specify it with `--version`. - Build: ``` ninja ``` +Visual Studio Code +================== + +If desired, use the recommended Visual Studio Code settings by renaming the `.vscode.example` directory to `.vscode`. + Diffing ======= @@ -97,3 +110,5 @@ Once the initial build succeeds, an `objdiff.json` should exist in the project r Download the latest release from [encounter/objdiff](https://github.com/encounter/objdiff). Under project settings, set `Project directory`. The configuration should be loaded automatically. Select an object from the left sidebar to begin diffing. Changes to the project will rebuild automatically: changes to source files, headers, `configure.py`, `splits.txt` or `symbols.txt`. + +![](assets/objdiff.png) diff --git a/config/GMPE01_00/build.sha1 b/config/GMPE01_00/build.sha1 index 0c205375..cd58622f 100644 --- a/config/GMPE01_00/build.sha1 +++ b/config/GMPE01_00/build.sha1 @@ -91,6 +91,7 @@ f9e8d9c4581d44488adaffa3d46d9bc835d4f9bd build/GMPE01_00/w03Dll/w03Dll.rel 821126eeb7054150744b925cc4cb06c751ddcefd build/GMPE01_00/w04Dll/w04Dll.rel d29f7ccadcba23c8446d05101c4efa5caba26dfd build/GMPE01_00/w05Dll/w05Dll.rel d11a7a6d44189ba8d1e3a7168ea640ea9f2152fe build/GMPE01_00/w06Dll/w06Dll.rel +f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 build/GMPE01_00/w07Dll/w07Dll.rel 54bb23228b04c5aaa6aa7c8ca1f846baec5a1f2c build/GMPE01_00/w10Dll/w10Dll.rel 98cc41456afa9e1ccbb8e03718b8d3cb64e4e86f build/GMPE01_00/w20Dll/w20Dll.rel b888f2c6703e680699ff8c59ad9200b9d78d30a1 build/GMPE01_00/w21Dll/w21Dll.rel diff --git a/config/GMPE01_00/config.yml b/config/GMPE01_00/config.yml index 7e4233af..bd07ac13 100644 --- a/config/GMPE01_00/config.yml +++ b/config/GMPE01_00/config.yml @@ -1,5 +1,4 @@ -object_base: orig/GMPE01_00 -object: sys/main.dol +object: orig/GMPE01_00/sys/main.dol hash: ff8d894776d37167e454ae3f0c9e644407c1e6b1 symbols: config/GMPE01_00/symbols.txt splits: config/GMPE01_00/splits.txt @@ -8,501 +7,506 @@ mw_comment_version: 10 # GC 2.6 linker force_active: [__register_global_object, lbl_801D40D0, _kerent] modules: -- object: files/dll/_minigameDll.rel +- object: orig/GMPE01_00/files/dll/_minigameDll.rel hash: 3fbbebc0440f0d91432ecd6a27ef68d5309b87b6 symbols: config/GMPE01_00/rels/_minigameDll/symbols.txt splits: config/GMPE01_00/rels/_minigameDll/splits.txt links: [] -- object: files/dll/bootDll.rel +- object: orig/GMPE01_00/files/dll/bootDll.rel hash: bdfca4f9bce60519badca0d2d0a5b71f6d99706f symbols: config/GMPE01_00/rels/bootDll/symbols.txt splits: config/GMPE01_00/rels/bootDll/splits.txt links: [] extract: - - symbol: nintendoData - binary: nintendoData.bin - header: nintendoData.inc -- object: files/dll/instDll.rel + - symbol: logoNintendoData + binary: logoNintendoData.bin + header: logoNintendoData.inc +- object: orig/GMPE01_00/files/dll/instDll.rel hash: f09399fee83c63abfe2adb25341152adad959a93 symbols: config/GMPE01_00/rels/instDll/symbols.txt splits: config/GMPE01_00/rels/instDll/splits.txt links: [] -- object: files/dll/m302Dll.rel +- object: orig/GMPE01_00/files/dll/m302Dll.rel hash: f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 symbols: config/GMPE01_00/rels/m302Dll/symbols.txt splits: config/GMPE01_00/rels/m302Dll/splits.txt links: [] -- object: files/dll/m303Dll.rel +- object: orig/GMPE01_00/files/dll/m303Dll.rel hash: f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 symbols: config/GMPE01_00/rels/m303Dll/symbols.txt splits: config/GMPE01_00/rels/m303Dll/splits.txt links: [] -- object: files/dll/m330Dll.rel +- object: orig/GMPE01_00/files/dll/m330Dll.rel hash: f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 symbols: config/GMPE01_00/rels/m330Dll/symbols.txt splits: config/GMPE01_00/rels/m330Dll/splits.txt links: [] -- object: files/dll/m333Dll.rel +- object: orig/GMPE01_00/files/dll/m333Dll.rel hash: f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 symbols: config/GMPE01_00/rels/m333Dll/symbols.txt splits: config/GMPE01_00/rels/m333Dll/splits.txt links: [] -- object: files/dll/m402Dll.rel +- object: orig/GMPE01_00/files/dll/m402Dll.rel hash: 136d192a1464e593cd0b767691dfa012c58730ed symbols: config/GMPE01_00/rels/m402Dll/symbols.txt splits: config/GMPE01_00/rels/m402Dll/splits.txt links: [] -- object: files/dll/m403Dll.rel +- object: orig/GMPE01_00/files/dll/m403Dll.rel hash: b834eb5f8a2749f3be52aa9023cc81403075eba9 symbols: config/GMPE01_00/rels/m403Dll/symbols.txt splits: config/GMPE01_00/rels/m403Dll/splits.txt links: [] -- object: files/dll/m404Dll.rel +- object: orig/GMPE01_00/files/dll/m404Dll.rel hash: c46b7814cefa8e5dee8dfd1883e369877ac78c0c symbols: config/GMPE01_00/rels/m404Dll/symbols.txt splits: config/GMPE01_00/rels/m404Dll/splits.txt links: [] -- object: files/dll/m405Dll.rel +- object: orig/GMPE01_00/files/dll/m405Dll.rel hash: 7857e0822079d0c7bbfec756a7cf4206b754d100 symbols: config/GMPE01_00/rels/m405Dll/symbols.txt splits: config/GMPE01_00/rels/m405Dll/splits.txt links: [] -- object: files/dll/m406Dll.rel +- object: orig/GMPE01_00/files/dll/m406Dll.rel hash: bea398ac8abe018dce80914e6b3d6d7578eb86bb symbols: config/GMPE01_00/rels/m406Dll/symbols.txt splits: config/GMPE01_00/rels/m406Dll/splits.txt links: [] -- object: files/dll/m407dll.rel +- object: orig/GMPE01_00/files/dll/m407dll.rel hash: 6f63338c417ab62740a40f0968c03c570b440b8a symbols: config/GMPE01_00/rels/m407dll/symbols.txt splits: config/GMPE01_00/rels/m407dll/splits.txt links: [] -- object: files/dll/m408Dll.rel +- object: orig/GMPE01_00/files/dll/m408Dll.rel hash: 7a8ff34b4bcaff39037c9e2f717505cbc63d4230 symbols: config/GMPE01_00/rels/m408Dll/symbols.txt splits: config/GMPE01_00/rels/m408Dll/splits.txt links: [] -- object: files/dll/m409Dll.rel +- object: orig/GMPE01_00/files/dll/m409Dll.rel hash: 984f031fc50121369d5b04d1ec2c54322efdf281 symbols: config/GMPE01_00/rels/m409Dll/symbols.txt splits: config/GMPE01_00/rels/m409Dll/splits.txt links: [] -- object: files/dll/m410Dll.rel +- object: orig/GMPE01_00/files/dll/m410Dll.rel hash: 94e308e409038f7919177d190110ce589cc8a8e8 symbols: config/GMPE01_00/rels/m410Dll/symbols.txt splits: config/GMPE01_00/rels/m410Dll/splits.txt links: [] -- object: files/dll/m411Dll.rel +- object: orig/GMPE01_00/files/dll/m411Dll.rel hash: 26ac81a3db9f3850bb43b23cdb7168dcddccaeea symbols: config/GMPE01_00/rels/m411Dll/symbols.txt splits: config/GMPE01_00/rels/m411Dll/splits.txt links: [] -- object: files/dll/m412Dll.rel +- object: orig/GMPE01_00/files/dll/m412Dll.rel hash: 3ebb173a52aaea75acb414f73264e72a2943c6f8 symbols: config/GMPE01_00/rels/m412Dll/symbols.txt splits: config/GMPE01_00/rels/m412Dll/splits.txt links: [] -- object: files/dll/m413Dll.rel +- object: orig/GMPE01_00/files/dll/m413Dll.rel hash: e59d4b66b1f57637c335b4745a696e3dbcb4bbe3 symbols: config/GMPE01_00/rels/m413Dll/symbols.txt splits: config/GMPE01_00/rels/m413Dll/splits.txt links: [] -- object: files/dll/m414Dll.rel +- object: orig/GMPE01_00/files/dll/m414Dll.rel hash: f7fe1aa24c7b6b8ca2bb28922696c0392dc7d029 symbols: config/GMPE01_00/rels/m414Dll/symbols.txt splits: config/GMPE01_00/rels/m414Dll/splits.txt links: [] -- object: files/dll/m415Dll.rel +- object: orig/GMPE01_00/files/dll/m415Dll.rel hash: 3c697b54ebdd01971b99af8c812b4850fa181f4f symbols: config/GMPE01_00/rels/m415Dll/symbols.txt splits: config/GMPE01_00/rels/m415Dll/splits.txt links: [] -- object: files/dll/m416Dll.rel +- object: orig/GMPE01_00/files/dll/m416Dll.rel hash: d26526935455b26beb2b9eaed1bfae3f3f458c25 symbols: config/GMPE01_00/rels/m416Dll/symbols.txt splits: config/GMPE01_00/rels/m416Dll/splits.txt links: [] -- object: files/dll/m417Dll.rel +- object: orig/GMPE01_00/files/dll/m417Dll.rel hash: b5c3805ec3cb023299ed09b782b92441085d0054 symbols: config/GMPE01_00/rels/m417Dll/symbols.txt splits: config/GMPE01_00/rels/m417Dll/splits.txt links: [] -- object: files/dll/m418Dll.rel +- object: orig/GMPE01_00/files/dll/m418Dll.rel hash: 0d02610005c46ad4f47ff51f5e154f9b0d16a4f4 symbols: config/GMPE01_00/rels/m418Dll/symbols.txt splits: config/GMPE01_00/rels/m418Dll/splits.txt links: [] -- object: files/dll/m419Dll.rel +- object: orig/GMPE01_00/files/dll/m419Dll.rel hash: bbceb138b8cc43e578179a7892801633892cb03c symbols: config/GMPE01_00/rels/m419Dll/symbols.txt splits: config/GMPE01_00/rels/m419Dll/splits.txt links: [] -- object: files/dll/m420dll.rel +- object: orig/GMPE01_00/files/dll/m420dll.rel hash: 2ef4ee163bc2aa15f87c8c89afb4f28939f088c8 symbols: config/GMPE01_00/rels/m420dll/symbols.txt splits: config/GMPE01_00/rels/m420dll/splits.txt links: [] -- object: files/dll/m421Dll.rel +- object: orig/GMPE01_00/files/dll/m421Dll.rel hash: 216a99780a3915d7096385bbcddfc979ab3a4025 symbols: config/GMPE01_00/rels/m421Dll/symbols.txt splits: config/GMPE01_00/rels/m421Dll/splits.txt links: [] -- object: files/dll/m422Dll.rel +- object: orig/GMPE01_00/files/dll/m422Dll.rel hash: 9ad72ba6c3ac277e521dca2fc1372a5d31c18930 symbols: config/GMPE01_00/rels/m422Dll/symbols.txt splits: config/GMPE01_00/rels/m422Dll/splits.txt links: [] -- object: files/dll/m423Dll.rel +- object: orig/GMPE01_00/files/dll/m423Dll.rel hash: 377c6a56b3faf8f991ec4fccaf1972cb41910438 symbols: config/GMPE01_00/rels/m423Dll/symbols.txt splits: config/GMPE01_00/rels/m423Dll/splits.txt links: [] -- object: files/dll/m424Dll.rel +- object: orig/GMPE01_00/files/dll/m424Dll.rel hash: 5814f59970268406bd86a86d0fee5a09359ab506 symbols: config/GMPE01_00/rels/m424Dll/symbols.txt splits: config/GMPE01_00/rels/m424Dll/splits.txt links: [] -- object: files/dll/m425Dll.rel +- object: orig/GMPE01_00/files/dll/m425Dll.rel hash: ecaeae453393d228f2769aab9c022820bcdb58f1 symbols: config/GMPE01_00/rels/m425Dll/symbols.txt splits: config/GMPE01_00/rels/m425Dll/splits.txt links: [] -- object: files/dll/m426Dll.rel +- object: orig/GMPE01_00/files/dll/m426Dll.rel hash: c240697a57cc08d34e27e89d8d3455454799e8b1 symbols: config/GMPE01_00/rels/m426Dll/symbols.txt splits: config/GMPE01_00/rels/m426Dll/splits.txt links: [] -- object: files/dll/m427Dll.rel +- object: orig/GMPE01_00/files/dll/m427Dll.rel hash: c78a0857e9c44fb33bd4fdc3e392a15b4dec0431 symbols: config/GMPE01_00/rels/m427Dll/symbols.txt splits: config/GMPE01_00/rels/m427Dll/splits.txt links: [] -- object: files/dll/m428Dll.rel +- object: orig/GMPE01_00/files/dll/m428Dll.rel hash: a1d5672d8ef0aac089dda00287fd68bf2bb67807 symbols: config/GMPE01_00/rels/m428Dll/symbols.txt splits: config/GMPE01_00/rels/m428Dll/splits.txt links: [] -- object: files/dll/m429Dll.rel +- object: orig/GMPE01_00/files/dll/m429Dll.rel hash: d25f198ce04aa5ca7b54ada9de52f722bd751447 symbols: config/GMPE01_00/rels/m429Dll/symbols.txt splits: config/GMPE01_00/rels/m429Dll/splits.txt links: [] -- object: files/dll/m430Dll.rel +- object: orig/GMPE01_00/files/dll/m430Dll.rel hash: 8bef3e2f51db3afa82dcaf64e209067a58c04bf9 symbols: config/GMPE01_00/rels/m430Dll/symbols.txt splits: config/GMPE01_00/rels/m430Dll/splits.txt links: [] -- object: files/dll/m431Dll.rel +- object: orig/GMPE01_00/files/dll/m431Dll.rel hash: 7148ec21ca6e0aa8d213a1dce0aeb9d93a9b496c symbols: config/GMPE01_00/rels/m431Dll/symbols.txt splits: config/GMPE01_00/rels/m431Dll/splits.txt links: [] -- object: files/dll/m432Dll.rel +- object: orig/GMPE01_00/files/dll/m432Dll.rel hash: 096f5a85bb837af68bd491e962eda7726d8d26a0 symbols: config/GMPE01_00/rels/m432Dll/symbols.txt splits: config/GMPE01_00/rels/m432Dll/splits.txt links: [] -- object: files/dll/m433Dll.rel +- object: orig/GMPE01_00/files/dll/m433Dll.rel hash: c36f56264ab9cf74b882c2544cdb9b89f6a098cd symbols: config/GMPE01_00/rels/m433Dll/symbols.txt splits: config/GMPE01_00/rels/m433Dll/splits.txt links: [] -- object: files/dll/m434Dll.rel +- object: orig/GMPE01_00/files/dll/m434Dll.rel hash: 55912c8441002b61701fc8c769f707c69e2740c1 symbols: config/GMPE01_00/rels/m434Dll/symbols.txt splits: config/GMPE01_00/rels/m434Dll/splits.txt links: [] -- object: files/dll/m435Dll.rel +- object: orig/GMPE01_00/files/dll/m435Dll.rel hash: 56f1fc330e8b97fa426fac3d901b1feed946566e symbols: config/GMPE01_00/rels/m435Dll/symbols.txt splits: config/GMPE01_00/rels/m435Dll/splits.txt links: [] -- object: files/dll/m436Dll.rel +- object: orig/GMPE01_00/files/dll/m436Dll.rel hash: e53f3d381bfb99351483e70b9d79c2e8676f73d5 symbols: config/GMPE01_00/rels/m436Dll/symbols.txt splits: config/GMPE01_00/rels/m436Dll/splits.txt links: [] -- object: files/dll/m437Dll.rel +- object: orig/GMPE01_00/files/dll/m437Dll.rel hash: 404698b53acad1231e00d84d0196ddce8d9d9dd9 symbols: config/GMPE01_00/rels/m437Dll/symbols.txt splits: config/GMPE01_00/rels/m437Dll/splits.txt links: [] -- object: files/dll/m438Dll.rel +- object: orig/GMPE01_00/files/dll/m438Dll.rel hash: 9bddf4b81b9a792260000abe2631da493a8b8564 symbols: config/GMPE01_00/rels/m438Dll/symbols.txt splits: config/GMPE01_00/rels/m438Dll/splits.txt links: [] -- object: files/dll/m439Dll.rel +- object: orig/GMPE01_00/files/dll/m439Dll.rel hash: a2a18c9d26dedfa8e2ae003c3a2e1bdcc1cbd4cc symbols: config/GMPE01_00/rels/m439Dll/symbols.txt splits: config/GMPE01_00/rels/m439Dll/splits.txt links: [] -- object: files/dll/m440Dll.rel +- object: orig/GMPE01_00/files/dll/m440Dll.rel hash: 227ca13bcd72059bdd506e9611d9b52f661af6c5 symbols: config/GMPE01_00/rels/m440Dll/symbols.txt splits: config/GMPE01_00/rels/m440Dll/splits.txt links: [] -- object: files/dll/m441Dll.rel +- object: orig/GMPE01_00/files/dll/m441Dll.rel hash: d6cbf72115374e06ffea3f15001977c288a9c3fb symbols: config/GMPE01_00/rels/m441Dll/symbols.txt splits: config/GMPE01_00/rels/m441Dll/splits.txt links: [] -- object: files/dll/m442Dll.rel +- object: orig/GMPE01_00/files/dll/m442Dll.rel hash: 347fcb836b5266dfe3d1088e1aa796c043b0fe60 symbols: config/GMPE01_00/rels/m442Dll/symbols.txt splits: config/GMPE01_00/rels/m442Dll/splits.txt links: [] -- object: files/dll/m443Dll.rel +- object: orig/GMPE01_00/files/dll/m443Dll.rel hash: 77444c6739a4d9390f30ba56c5fcd82ee4efc0c2 symbols: config/GMPE01_00/rels/m443Dll/symbols.txt splits: config/GMPE01_00/rels/m443Dll/splits.txt links: [] -- object: files/dll/m444dll.rel +- object: orig/GMPE01_00/files/dll/m444dll.rel hash: 76154b165cd86472ce3155028ea049ba0a0f3dcb symbols: config/GMPE01_00/rels/m444dll/symbols.txt splits: config/GMPE01_00/rels/m444dll/splits.txt links: [] -- object: files/dll/m445Dll.rel +- object: orig/GMPE01_00/files/dll/m445Dll.rel hash: d4d9f2aad53aa7f4e1c313438a0e3767f8e58eb9 symbols: config/GMPE01_00/rels/m445Dll/symbols.txt splits: config/GMPE01_00/rels/m445Dll/splits.txt links: [] -- object: files/dll/m446dll.rel +- object: orig/GMPE01_00/files/dll/m446dll.rel hash: 4b16e5eff613eaf4cc98411809cd1f1578e33fd1 symbols: config/GMPE01_00/rels/m446dll/symbols.txt splits: config/GMPE01_00/rels/m446dll/splits.txt links: [] -- object: files/dll/m447dll.rel +- object: orig/GMPE01_00/files/dll/m447dll.rel hash: 775ca8f8b3be867ad67f91bc3b6ebcc8c3068d2b symbols: config/GMPE01_00/rels/m447dll/symbols.txt splits: config/GMPE01_00/rels/m447dll/splits.txt links: [] -- object: files/dll/m448Dll.rel +- object: orig/GMPE01_00/files/dll/m448Dll.rel hash: e6f7586dadbe3f5b5045c0bdf2fe618d42ef3a44 symbols: config/GMPE01_00/rels/m448Dll/symbols.txt splits: config/GMPE01_00/rels/m448Dll/splits.txt links: [] -- object: files/dll/m449Dll.rel +- object: orig/GMPE01_00/files/dll/m449Dll.rel hash: e797c2ff132ab35e768be62cb62219592464ca9d symbols: config/GMPE01_00/rels/m449Dll/symbols.txt splits: config/GMPE01_00/rels/m449Dll/splits.txt links: [] -- object: files/dll/m450Dll.rel +- object: orig/GMPE01_00/files/dll/m450Dll.rel hash: f2ea7da07cf8be4f449c97b829d3231911e158a0 symbols: config/GMPE01_00/rels/m450Dll/symbols.txt splits: config/GMPE01_00/rels/m450Dll/splits.txt links: [] -- object: files/dll/m451Dll.rel +- object: orig/GMPE01_00/files/dll/m451Dll.rel hash: 3f82fd24071582b6494a9f99750c0bc3c10d502e symbols: config/GMPE01_00/rels/m451Dll/symbols.txt splits: config/GMPE01_00/rels/m451Dll/splits.txt links: [] -- object: files/dll/m453Dll.rel +- object: orig/GMPE01_00/files/dll/m453Dll.rel hash: 49ef28c2862000fae4d8efd8fec0ff9b41f24461 symbols: config/GMPE01_00/rels/m453Dll/symbols.txt splits: config/GMPE01_00/rels/m453Dll/splits.txt links: [] -- object: files/dll/m455Dll.rel +- object: orig/GMPE01_00/files/dll/m455Dll.rel hash: e0b21cfbe592955c84662ff50d8a33e147403906 symbols: config/GMPE01_00/rels/m455Dll/symbols.txt splits: config/GMPE01_00/rels/m455Dll/splits.txt links: [] -- object: files/dll/m456Dll.rel +- object: orig/GMPE01_00/files/dll/m456Dll.rel hash: 97d5701b151c6ad8cf8cea6e776973daa95eea34 symbols: config/GMPE01_00/rels/m456Dll/symbols.txt splits: config/GMPE01_00/rels/m456Dll/splits.txt links: [] -- object: files/dll/m457Dll.rel +- object: orig/GMPE01_00/files/dll/m457Dll.rel hash: d4a411f9ef850f52506afd1ad1de88d2d8de361b symbols: config/GMPE01_00/rels/m457Dll/symbols.txt splits: config/GMPE01_00/rels/m457Dll/splits.txt links: [] -- object: files/dll/m458Dll.rel +- object: orig/GMPE01_00/files/dll/m458Dll.rel hash: 7ac361c5a04f83d46f516a13a43e43b59b929435 symbols: config/GMPE01_00/rels/m458Dll/symbols.txt splits: config/GMPE01_00/rels/m458Dll/splits.txt links: [] -- object: files/dll/m459dll.rel +- object: orig/GMPE01_00/files/dll/m459dll.rel hash: 1aafc4f38ddfee64ea8f7dda7cbd7113e86997ba symbols: config/GMPE01_00/rels/m459dll/symbols.txt splits: config/GMPE01_00/rels/m459dll/splits.txt links: [] -- object: files/dll/m460Dll.rel +- object: orig/GMPE01_00/files/dll/m460Dll.rel hash: 5d28f1a87edee5216b9bb28d9cbff2b22d617747 symbols: config/GMPE01_00/rels/m460Dll/symbols.txt splits: config/GMPE01_00/rels/m460Dll/splits.txt links: [] -- object: files/dll/m461Dll.rel +- object: orig/GMPE01_00/files/dll/m461Dll.rel hash: ab058151bd25600f05f8b6fedbec1c7448175123 symbols: config/GMPE01_00/rels/m461Dll/symbols.txt splits: config/GMPE01_00/rels/m461Dll/splits.txt links: [] -- object: files/dll/m462Dll.rel +- object: orig/GMPE01_00/files/dll/m462Dll.rel hash: 78d6ab00677791ece684a0c149d1ae72efc52d1c symbols: config/GMPE01_00/rels/m462Dll/symbols.txt splits: config/GMPE01_00/rels/m462Dll/splits.txt links: [] -- object: files/dll/m463Dll.rel +- object: orig/GMPE01_00/files/dll/m463Dll.rel hash: 32010595b4fd0b75293fc46b9026c5613d0ea4c2 symbols: config/GMPE01_00/rels/m463Dll/symbols.txt splits: config/GMPE01_00/rels/m463Dll/splits.txt links: [] -- object: files/dll/mentDll.rel +- object: orig/GMPE01_00/files/dll/mentDll.rel hash: 9e63dd96943ffd2747be5aad924b95892d46051a symbols: config/GMPE01_00/rels/mentDll/symbols.txt splits: config/GMPE01_00/rels/mentDll/splits.txt links: [] -- object: files/dll/messDll.rel +- object: orig/GMPE01_00/files/dll/messDll.rel hash: 7e119de456b3557dcf514c70bd7ab81dc5f9cf54 symbols: config/GMPE01_00/rels/messDll/symbols.txt splits: config/GMPE01_00/rels/messDll/splits.txt links: [] -- object: files/dll/mgmodedll.rel +- object: orig/GMPE01_00/files/dll/mgmodedll.rel hash: 376c78e2d1b7d7a429959c532e9cb92c98f73b7e symbols: config/GMPE01_00/rels/mgmodedll/symbols.txt splits: config/GMPE01_00/rels/mgmodedll/splits.txt links: [] -- object: files/dll/modeltestDll.rel +- object: orig/GMPE01_00/files/dll/modeltestDll.rel hash: 8de28c0f254a2c574c4da9b6a3a17e5ad7ffe1f9 symbols: config/GMPE01_00/rels/modeltestDll/symbols.txt splits: config/GMPE01_00/rels/modeltestDll/splits.txt links: [] -- object: files/dll/modeseldll.rel +- object: orig/GMPE01_00/files/dll/modeseldll.rel hash: bdf8cd57fa23f07c429393817037ade04e2c6024 symbols: config/GMPE01_00/rels/modeseldll/symbols.txt splits: config/GMPE01_00/rels/modeseldll/splits.txt links: [] -- object: files/dll/mpexDll.rel +- object: orig/GMPE01_00/files/dll/mpexDll.rel hash: 4524e63b63510b42bca907f72e67affddec856f9 symbols: config/GMPE01_00/rels/mpexDll/symbols.txt splits: config/GMPE01_00/rels/mpexDll/splits.txt links: [] -- object: files/dll/msetupDll.rel +- object: orig/GMPE01_00/files/dll/msetupDll.rel hash: 86ff8288bb92472376d02cade1d3c9603b613c57 symbols: config/GMPE01_00/rels/msetupDll/symbols.txt splits: config/GMPE01_00/rels/msetupDll/splits.txt links: [] -- object: files/dll/mstory2Dll.rel +- object: orig/GMPE01_00/files/dll/mstory2Dll.rel hash: 7579ff7aa9638488d876dbb61d3e4b868974a040 symbols: config/GMPE01_00/rels/mstory2Dll/symbols.txt splits: config/GMPE01_00/rels/mstory2Dll/splits.txt links: [] -- object: files/dll/mstory3Dll.rel +- object: orig/GMPE01_00/files/dll/mstory3Dll.rel hash: 951f1951eac515fce1d3314059f27fdc7b39f035 symbols: config/GMPE01_00/rels/mstory3Dll/symbols.txt splits: config/GMPE01_00/rels/mstory3Dll/splits.txt links: [] -- object: files/dll/mstory4Dll.rel +- object: orig/GMPE01_00/files/dll/mstory4Dll.rel hash: 7f9cc4a18a137f861b2c326b099c02ba4e5bd94b symbols: config/GMPE01_00/rels/mstory4Dll/symbols.txt splits: config/GMPE01_00/rels/mstory4Dll/splits.txt links: [] -- object: files/dll/mstoryDll.rel +- object: orig/GMPE01_00/files/dll/mstoryDll.rel hash: 979a83f2d6f5200e2de4333ec8f943701a250131 symbols: config/GMPE01_00/rels/mstoryDll/symbols.txt splits: config/GMPE01_00/rels/mstoryDll/splits.txt links: [] -- object: files/dll/nisDll.rel +- object: orig/GMPE01_00/files/dll/nisDll.rel hash: d74a5147245a1877b140ee2af7f75b2b6c90892d symbols: config/GMPE01_00/rels/nisDll/symbols.txt splits: config/GMPE01_00/rels/nisDll/splits.txt links: [] -- object: files/dll/option.rel +- object: orig/GMPE01_00/files/dll/option.rel hash: 5c6973fe7e0271885a5a87d87d4e7164ef711abb symbols: config/GMPE01_00/rels/option/symbols.txt splits: config/GMPE01_00/rels/option/splits.txt links: [] -- object: files/dll/present.rel +- object: orig/GMPE01_00/files/dll/present.rel hash: ddb8d8a825578a588276b9d4f65eceee26f91253 symbols: config/GMPE01_00/rels/present/symbols.txt splits: config/GMPE01_00/rels/present/splits.txt links: [] -- object: files/dll/resultDll.rel +- object: orig/GMPE01_00/files/dll/resultDll.rel hash: 41a820438884ae8566f34f895198a186aae60305 symbols: config/GMPE01_00/rels/resultDll/symbols.txt splits: config/GMPE01_00/rels/resultDll/splits.txt links: [] -- object: files/dll/safDll.rel +- object: orig/GMPE01_00/files/dll/safDll.rel hash: f34c104078b41971412cb09b37c4dc9526be02e3 symbols: config/GMPE01_00/rels/safDll/symbols.txt splits: config/GMPE01_00/rels/safDll/splits.txt links: [] -- object: files/dll/selmenuDll.rel +- object: orig/GMPE01_00/files/dll/selmenuDll.rel hash: 81a00a71b8d1ab22bfd3df10d815c87ba618ec84 symbols: config/GMPE01_00/rels/selmenuDll/symbols.txt splits: config/GMPE01_00/rels/selmenuDll/splits.txt links: [] -- object: files/dll/staffDll.rel +- object: orig/GMPE01_00/files/dll/staffDll.rel hash: a6210fbcdf3d7f0063f3052e2ae525abacac08e7 symbols: config/GMPE01_00/rels/staffDll/symbols.txt splits: config/GMPE01_00/rels/staffDll/splits.txt links: [] -- object: files/dll/subchrselDll.rel +- object: orig/GMPE01_00/files/dll/subchrselDll.rel hash: 7488bc249dc7c656f60105e4d24c4011983c2ba2 symbols: config/GMPE01_00/rels/subchrselDll/symbols.txt splits: config/GMPE01_00/rels/subchrselDll/splits.txt links: [] -- object: files/dll/w01Dll.rel +- object: orig/GMPE01_00/files/dll/w01Dll.rel hash: d3de36269886995d959e1fd58d8ad806843c8819 symbols: config/GMPE01_00/rels/w01Dll/symbols.txt splits: config/GMPE01_00/rels/w01Dll/splits.txt links: [] -- object: files/dll/w02Dll.rel +- object: orig/GMPE01_00/files/dll/w02Dll.rel hash: 750c4d6cd6a49d290f5cc63432d4f65642fbd7e4 symbols: config/GMPE01_00/rels/w02Dll/symbols.txt splits: config/GMPE01_00/rels/w02Dll/splits.txt links: [] -- object: files/dll/w03Dll.rel +- object: orig/GMPE01_00/files/dll/w03Dll.rel hash: f9e8d9c4581d44488adaffa3d46d9bc835d4f9bd symbols: config/GMPE01_00/rels/w03Dll/symbols.txt splits: config/GMPE01_00/rels/w03Dll/splits.txt links: [] -- object: files/dll/w04Dll.rel +- object: orig/GMPE01_00/files/dll/w04Dll.rel hash: 821126eeb7054150744b925cc4cb06c751ddcefd symbols: config/GMPE01_00/rels/w04Dll/symbols.txt splits: config/GMPE01_00/rels/w04Dll/splits.txt links: [] -- object: files/dll/w05Dll.rel +- object: orig/GMPE01_00/files/dll/w05Dll.rel hash: d29f7ccadcba23c8446d05101c4efa5caba26dfd symbols: config/GMPE01_00/rels/w05Dll/symbols.txt splits: config/GMPE01_00/rels/w05Dll/splits.txt links: [] -- object: files/dll/w06Dll.rel +- object: orig/GMPE01_00/files/dll/w06Dll.rel hash: d11a7a6d44189ba8d1e3a7168ea640ea9f2152fe symbols: config/GMPE01_00/rels/w06Dll/symbols.txt splits: config/GMPE01_00/rels/w06Dll/splits.txt links: [] -- object: files/dll/w10Dll.rel +- object: orig/GMPE01_00/files/dll/w07Dll.rel + hash: f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 + symbols: config/GMPE01_00/rels/w07Dll/symbols.txt + splits: config/GMPE01_00/rels/w07Dll/splits.txt + links: [] +- object: orig/GMPE01_00/files/dll/w10Dll.rel hash: 54bb23228b04c5aaa6aa7c8ca1f846baec5a1f2c symbols: config/GMPE01_00/rels/w10Dll/symbols.txt splits: config/GMPE01_00/rels/w10Dll/splits.txt links: [] -- object: files/dll/w20Dll.rel +- object: orig/GMPE01_00/files/dll/w20Dll.rel hash: 98cc41456afa9e1ccbb8e03718b8d3cb64e4e86f symbols: config/GMPE01_00/rels/w20Dll/symbols.txt splits: config/GMPE01_00/rels/w20Dll/splits.txt links: [] -- object: files/dll/w21Dll.rel +- object: orig/GMPE01_00/files/dll/w21Dll.rel hash: b888f2c6703e680699ff8c59ad9200b9d78d30a1 symbols: config/GMPE01_00/rels/w21Dll/symbols.txt splits: config/GMPE01_00/rels/w21Dll/splits.txt links: [] -- object: files/dll/ztardll.rel +- object: orig/GMPE01_00/files/dll/ztardll.rel hash: 87d9fee70ed4f011e0b30e05156d087204cf686f symbols: config/GMPE01_00/rels/ztardll/symbols.txt splits: config/GMPE01_00/rels/ztardll/splits.txt links: [] -- object: files/dll/E3setupDLL.rel +- object: orig/GMPE01_00/files/dll/E3setupDLL.rel hash: 234e07cee1491c7060e30805681bf5f39150122d symbols: config/GMPE01_00/rels/E3setupDLL/symbols.txt splits: config/GMPE01_00/rels/E3setupDLL/splits.txt links: [_minigameDll] -- object: files/dll/m300Dll.rel +- object: orig/GMPE01_00/files/dll/m300Dll.rel hash: eba8a17e8b263bc9cd601b1aea7e698a8785416a symbols: config/GMPE01_00/rels/m300Dll/symbols.txt splits: config/GMPE01_00/rels/m300Dll/splits.txt links: [_minigameDll] -- object: files/dll/m401Dll.rel +- object: orig/GMPE01_00/files/dll/m401Dll.rel hash: f3ec526c25986a3fcf7dfbc8c463626839a3a801 symbols: config/GMPE01_00/rels/m401Dll/symbols.txt splits: config/GMPE01_00/rels/m401Dll/splits.txt @@ -565,4 +569,7 @@ extract: header: retryerror_en.inc - symbol: wrongdisc_en binary: wrongdisc_en.bin - header: wrongdisc_en.inc \ No newline at end of file + header: wrongdisc_en.inc +- symbol: DEMOFontBitmap + binary: DEMOFontBitmap.bin + header: DEMOFontBitmap.inc \ No newline at end of file diff --git a/config/GMPE01_00/rels/E3setupDLL/symbols.txt b/config/GMPE01_00/rels/E3setupDLL/symbols.txt index 4089dcf6..da0474aa 100644 --- a/config/GMPE01_00/rels/E3setupDLL/symbols.txt +++ b/config/GMPE01_00/rels/E3setupDLL/symbols.txt @@ -131,11 +131,11 @@ lbl_2_data_151 = .data:0x00000151; // type:object size:0x16 data:string lbl_2_data_167 = .data:0x00000167; // type:object size:0x16 data:string lbl_2_data_17D = .data:0x0000017D; // type:object size:0x16 data:string lbl_2_data_193 = .data:0x00000193; // type:object size:0x16 data:string -lbl_2_data_1A9 = .data:0x000001A9; // type:object size:0x16 data:string +lbl_2_data_1A9 = .data:0x000001A9; // type:object size:0x17 data:string mgNameTestTbl = .data:0x000001C0; // type:object size:0x34 scope:local cursorYOfsTbl = .data:0x000001F4; // type:object size:0x14 scope:local data:float mgPicTbl = .data:0x00000208; // type:object size:0x34 scope:local -startText = .data:0x0000023C; // type:object size:0x10 scope:local data:string +startText = .data:0x0000023C; // type:object size:0x14 scope:local data:string shadowPos = .data:0x00000250; // type:object size:0xC scope:local shadowTarget = .data:0x0000025C; // type:object size:0xC scope:local shadowUp = .data:0x00000268; // type:object size:0xC scope:local @@ -148,7 +148,7 @@ lbl_2_data_31E = .data:0x0000031E; // type:object size:0x8 playerCntMessTbl = .data:0x00000328; // type:object size:0x10 scope:local charPosTbl = .data:0x00000338; // type:object size:0x40 scope:local data:float charComSfxTbl = .data:0x00000378; // type:object size:0x20 scope:local -lbl_2_data_398 = .data:0x00000398; // type:object size:0xF scope:local data:string +lbl_2_data_398 = .data:0x00000398; // type:object size:0x10 scope:local data:string charSpriteTbl = .data:0x000003A8; // type:object size:0x20 scope:local cursorSpriteTbl = .data:0x000003C8; // type:object size:0x14 scope:local hiliteSprTbl = .data:0x000003DC; // type:object size:0x14 scope:local diff --git a/config/GMPE01_00/rels/bootDll/splits.txt b/config/GMPE01_00/rels/bootDll/splits.txt index 14a67037..49f64a4a 100644 --- a/config/GMPE01_00/rels/bootDll/splits.txt +++ b/config/GMPE01_00/rels/bootDll/splits.txt @@ -10,7 +10,11 @@ REL/executor.c: .text start:0x00000000 end:0x000000A0 REL/bootDll/main.c: - .text start:0x000000A0 end:0x000029C8 + .text start:0x000000A0 end:0x00002944 .rodata start:0x00000000 end:0x000000DC - .data start:0x00000000 end:0x0000311D + .data start:0x00000000 end:0x000000A0 .bss start:0x00000000 end:0x0000005C + +REL/bootDll/nintendo_data.c: + .text start:0x00002944 end:0x000029C8 + .data start:0x000000A0 end:0x0000311D diff --git a/config/GMPE01_00/rels/bootDll/symbols.txt b/config/GMPE01_00/rels/bootDll/symbols.txt index 463f8400..b576a34e 100644 --- a/config/GMPE01_00/rels/bootDll/symbols.txt +++ b/config/GMPE01_00/rels/bootDll/symbols.txt @@ -1,14 +1,14 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global ObjectSetup = .text:0x000000A0; // type:function size:0x1CC -BootExec = .text:0x0000026C; // type:function size:0x78C +BootProc = .text:0x0000026C; // type:function size:0x78C scope:local UpdateDemoMess = .text:0x000009F8; // type:function size:0xC8 scope:local -BootProgExec = .text:0x00000AC0; // type:function size:0x6B8 -DebugCamOutView = .text:0x00001178; // type:function size:0x3B4 -DebugCamUpdate = .text:0x0000152C; // type:function size:0xBD4 -BootTitleCreate = .text:0x00002100; // type:function size:0x374 -BootTitleExec = .text:0x00002474; // type:function size:0x4D0 -NintendoDataDecode = .text:0x00002944; // type:function size:0x84 +ProgressiveProc = .text:0x00000AC0; // type:function size:0x6B8 scope:local +fn_1_1178 = .text:0x00001178; // type:function size:0x3B4 +fn_1_152C = .text:0x0000152C; // type:function size:0xBD4 +TitleInit = .text:0x00002100; // type:function size:0x374 scope:local +TitleProc = .text:0x00002474; // type:function size:0x4D0 scope:local +logoReadNintendo = .text:0x00002944; // type:function size:0x84 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float @@ -50,21 +50,20 @@ lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:d lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x24 scope:local data:string lbl_1_data_24 = .data:0x00000024; // type:object size:0x14 scope:local data:string -demoMessTimeTbl = .data:0x00000038; // type:object size:0x18 scope:local data:2byte -progPosTbl = .data:0x00000050; // type:object size:0x8 scope:local -debugCamTbl = .data:0x00000058; // type:object size:0x4 scope:local +demoTimingTbl = .data:0x00000038; // type:object size:0x18 scope:local data:2byte +progressivePosTbl = .data:0x00000050; // type:object size:0x8 scope:local +lbl_1_data_58 = .data:0x00000058; // type:object size:0x4 scope:local lbl_1_data_5C = .data:0x0000005C; // type:object size:0x1A scope:local data:string lbl_1_data_76 = .data:0x00000076; // type:object size:0x13 scope:local data:string lbl_1_data_89 = .data:0x00000089; // type:object size:0x17 scope:local -nintendoData = .data:0x000000A0; // type:object size:0x307D align:32 -debugCamOnF = .bss:0x00000000; // type:object size:0x4 +logoNintendoData = .data:0x000000A0; // type:object size:0x307D align:32 +lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 -bootGrpId = .bss:0x00000006; // type:object size:0x2 scope:local data:2byte -titleMdlId = .bss:0x00000008; // type:object size:0x6 scope:local data:2byte -demoWinId = .bss:0x0000000E; // type:object size:0x2 scope:local data:2byte +titleGroup = .bss:0x00000006; // type:object size:0x2 scope:local data:2byte +titleModel = .bss:0x00000008; // type:object size:0x6 scope:local data:2byte +demoWin = .bss:0x0000000E; // type:object size:0x2 scope:local data:2byte lbl_1_bss_10 = .bss:0x00000010; // type:object size:0xC -debugCamZoom = .bss:0x0000001C; // type:object size:0x8 data:float -debugCamPos = .bss:0x00000024; // type:object size:0x18 data:float -debugCamRot = .bss:0x0000003C; // type:object size:0x18 data:float -objman = .bss:0x00000054; // type:object size:0x4 data:4byte -debugOutView = .bss:0x00000058; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x8 data:float +lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x18 data:float +lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x18 data:float +objman = .bss:0x00000054; // type:object size:0x8 scope:local data:4byte diff --git a/config/GMPE01_00/rels/instDll/symbols.txt b/config/GMPE01_00/rels/instDll/symbols.txt index cc0a6047..0580b867 100644 --- a/config/GMPE01_00/rels/instDll/symbols.txt +++ b/config/GMPE01_00/rels/instDll/symbols.txt @@ -1,16 +1,16 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global ObjectSetup = .text:0x000000A0; // type:function size:0x8F4 -InstMain = .text:0x00000994; // type:function size:0xE50 scope:local -InstPlayerMain = .text:0x000017E4; // type:function size:0xA28 scope:local -InstHostMain = .text:0x0000220C; // type:function size:0x5F8 scope:local -InstWinMain = .text:0x00002804; // type:function size:0x79C scope:local -InstNameMain = .text:0x00002FA0; // type:function size:0x11D4 scope:local -CameraOutView = .text:0x00004174; // type:function size:0x3B4 scope:local -CameraDebug = .text:0x00004528; // type:function size:0xB88 scope:local -InstPicDraw = .text:0x000050B0; // type:function size:0xAB4 scope:local -ShadowDraw = .text:0x00005B64; // type:function size:0x340 scope:local -FontCreate = .text:0x00005EA4; // type:function size:0x4B8 +fn_1_994 = .text:0x00000994; // type:function size:0xE50 scope:local +fn_1_17E4 = .text:0x000017E4; // type:function size:0xA28 scope:local +fn_1_220C = .text:0x0000220C; // type:function size:0x5F8 scope:local +fn_1_2804 = .text:0x00002804; // type:function size:0x79C scope:local +fn_1_2FA0 = .text:0x00002FA0; // type:function size:0x11D4 scope:local +fn_1_4174 = .text:0x00004174; // type:function size:0x3B4 scope:local +fn_1_4528 = .text:0x00004528; // type:function size:0xB88 scope:local +fn_1_50B0 = .text:0x000050B0; // type:function size:0xAB4 scope:local +fn_1_5B64 = .text:0x00005B64; // type:function size:0x340 scope:local +fn_1_5EA4 = .text:0x00005EA4; // type:function size:0x4B8 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float @@ -115,38 +115,38 @@ lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data: lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -instMode = .data:0x00000000; // type:object size:0x2 scope:local data:2byte +lbl_1_data_0 = .data:0x00000000; // type:object size:0x2 scope:local data:2byte lbl_1_data_2 = .data:0x00000002; // type:object size:0x24 scope:local data:string -instGrpTbl = .data:0x00000026; // type:object size:0x20 scope:local -instPlayerNumTbl = .data:0x00000046; // type:object size:0x8 scope:local -instBoxFile = .data:0x00000050; // type:object size:0x20 scope:local -instBackFile = .data:0x00000070; // type:object size:0x20 scope:local +lbl_1_data_26 = .data:0x00000026; // type:object size:0x20 scope:local +lbl_1_data_46 = .data:0x00000046; // type:object size:0x8 scope:local +lbl_1_data_50 = .data:0x00000050; // type:object size:0x20 scope:local +lbl_1_data_70 = .data:0x00000070; // type:object size:0x20 scope:local lbl_1_data_90 = .data:0x00000090; // type:object size:0x8 scope:local data:string lbl_1_data_98 = .data:0x00000098; // type:object size:0x8 scope:local data:string lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x8 scope:local data:string lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x8 scope:local data:string -playerPosNameTbl = .data:0x000000B0; // type:object size:0x10 scope:local -playerDelayTbl = .data:0x000000C0; // type:object size:0x4 scope:local -hostFileTbl = .data:0x000000C4; // type:object size:0x48 scope:local -hostSeTbl = .data:0x0000010C; // type:object size:0x18 scope:local -instNamePosTbl = .data:0x00000124; // type:object size:0x20 scope:local data:float -cameraMask$858 = .data:0x00000144; // type:object size:0x4 scope:local +lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x10 scope:local +lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x4 scope:local +lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x48 scope:local +lbl_1_data_10C = .data:0x0000010C; // type:object size:0x18 scope:local +lbl_1_data_124 = .data:0x00000124; // type:object size:0x20 scope:local data:float +lbl_1_data_144 = .data:0x00000144; // type:object size:0x4 scope:local lbl_1_data_148 = .data:0x00000148; // type:object size:0x4 scope:local -instPicRadius = .data:0x0000014C; // type:object size:0x4 scope:local data:float -FontCharFile = .data:0x00000150; // type:object size:0x318 scope:local -debugCamOnF = .bss:0x00000000; // type:object size:0x4 scope:local data:4byte -instBusyF = .bss:0x00000004; // type:object size:0x2 scope:local data:2byte -instPage = .bss:0x00000006; // type:object size:0x2 scope:local data:2byte -LanguageNo = .bss:0x00000008; // type:object size:0x1 scope:local data:byte -instFov = .bss:0x0000000C; // type:object size:0x4 scope:local data:float -instMesOfs = .bss:0x00000010; // type:object size:0x2 scope:local data:2byte -instHostNo = .bss:0x00000012; // type:object size:0x2 scope:local data:2byte -instMgNo = .bss:0x00000014; // type:object size:0x2 scope:local data:2byte -instPicAnim = .bss:0x00000018; // type:object size:0x4 scope:local data:4byte -instBoxMdlId = .bss:0x0000001C; // type:object size:0x4 scope:local data:4byte -cameraZoom = .bss:0x00000020; // type:object size:0x8 data:float -cameraPos = .bss:0x00000028; // type:object size:0x18 data:float -cameraRot = .bss:0x00000040; // type:object size:0x18 data:float -objman = .bss:0x00000058; // type:object size:0x4 data:4byte -outViewObj = .bss:0x0000005C; // type:object size:0x4 scope:local data:4byte +lbl_1_data_14C = .data:0x0000014C; // type:object size:0x4 scope:local data:float +lbl_1_data_150 = .data:0x00000150; // type:object size:0x318 scope:local +lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_6 = .bss:0x00000006; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x1 scope:local data:byte +lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 scope:local data:float +lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x8 scope:local data:float +lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x18 scope:local data:float +lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x18 scope:local data:float +lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 scope:local data:4byte lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 scope:local data:4byte diff --git a/config/GMPE01_00/rels/m401Dll/symbols.txt b/config/GMPE01_00/rels/m401Dll/symbols.txt index 472746d7..610f18c6 100644 --- a/config/GMPE01_00/rels/m401Dll/symbols.txt +++ b/config/GMPE01_00/rels/m401Dll/symbols.txt @@ -338,93 +338,93 @@ lbl_2_rodata_438 = .rodata:0x00000438; // type:object size:0x8 scope:local data: lbl_2_rodata_440 = .rodata:0x00000440; // type:object size:0x8 scope:local data:double lbl_2_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float lbl_2_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_2_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_2_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_2_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_2_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float -lbl_2_rodata_468 = .rodata:0x00000468; // type:object size:0x8 scope:local data:double -lbl_2_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_2_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_2_rodata_478 = .rodata:0x00000478; // type:object size:0x8 scope:local data:double -lbl_2_rodata_480 = .rodata:0x00000480; // type:object size:0x8 scope:local data:double -lbl_2_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_2_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_490 = .rodata:0x00000490; // type:object size:0x4 scope:local data:float -lbl_2_rodata_494 = .rodata:0x00000494; // type:object size:0x4 scope:local data:float -lbl_2_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_2_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 scope:local data:double -lbl_2_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x8 scope:local data:double -lbl_2_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 scope:local data:double -lbl_2_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 scope:local data:double -lbl_2_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_500 = .rodata:0x00000500; // type:object size:0x8 scope:local data:double -lbl_2_rodata_508 = .rodata:0x00000508; // type:object size:0x8 scope:local data:double -lbl_2_rodata_510 = .rodata:0x00000510; // type:object size:0x4 scope:local data:float -lbl_2_rodata_514 = .rodata:0x00000514; // type:object size:0x4 scope:local data:float -lbl_2_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_2_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_2_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float -lbl_2_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_2_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_530 = .rodata:0x00000530; // type:object size:0x4 scope:local data:float -lbl_2_rodata_534 = .rodata:0x00000534; // type:object size:0x4 scope:local data:float -lbl_2_rodata_538 = .rodata:0x00000538; // type:object size:0x4 scope:local data:float -lbl_2_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_540 = .rodata:0x00000540; // type:object size:0x4 scope:local data:float -lbl_2_rodata_544 = .rodata:0x00000544; // type:object size:0x4 scope:local data:float -lbl_2_rodata_548 = .rodata:0x00000548; // type:object size:0x4 scope:local data:float -lbl_2_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_550 = .rodata:0x00000550; // type:object size:0x8 scope:local data:double -lbl_2_rodata_558 = .rodata:0x00000558; // type:object size:0x4 scope:local data:float -lbl_2_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_560 = .rodata:0x00000560; // type:object size:0x8 scope:local data:double -lbl_2_rodata_568 = .rodata:0x00000568; // type:object size:0x4 scope:local data:float -lbl_2_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_570 = .rodata:0x00000570; // type:object size:0x4 scope:local data:float -lbl_2_rodata_574 = .rodata:0x00000574; // type:object size:0x4 scope:local data:float -lbl_2_rodata_578 = .rodata:0x00000578; // type:object size:0x4 scope:local data:float -lbl_2_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_580 = .rodata:0x00000580; // type:object size:0x4 scope:local data:float -lbl_2_rodata_584 = .rodata:0x00000584; // type:object size:0x4 scope:local data:float -lbl_2_rodata_588 = .rodata:0x00000588; // type:object size:0x4 scope:local data:float -lbl_2_rodata_590 = .rodata:0x00000590; // type:object size:0x8 scope:local data:double -lbl_2_rodata_598 = .rodata:0x00000598; // type:object size:0x4 scope:local data:float -lbl_2_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x8 scope:local data:double -lbl_2_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5C4 = .rodata:0x000005C4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float +lbl_2_rodata_454 = .rodata:0x00000454; // type:object size:0x4 data:float +lbl_2_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float +lbl_2_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float +lbl_2_rodata_460 = .rodata:0x00000460; // type:object size:0x4 data:float +lbl_2_rodata_464 = .rodata:0x00000464; // type:object size:0x4 data:float +lbl_2_rodata_468 = .rodata:0x00000468; // type:object size:0x8 data:double +lbl_2_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float +lbl_2_rodata_474 = .rodata:0x00000474; // type:object size:0x4 data:float +lbl_2_rodata_478 = .rodata:0x00000478; // type:object size:0x8 data:double +lbl_2_rodata_480 = .rodata:0x00000480; // type:object size:0x8 data:double +lbl_2_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float +lbl_2_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 data:float +lbl_2_rodata_490 = .rodata:0x00000490; // type:object size:0x4 data:float +lbl_2_rodata_494 = .rodata:0x00000494; // type:object size:0x4 data:float +lbl_2_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float +lbl_2_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 data:float +lbl_2_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float +lbl_2_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float +lbl_2_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float +lbl_2_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 data:double +lbl_2_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x8 data:double +lbl_2_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 data:double +lbl_2_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 data:double +lbl_2_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float +lbl_2_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float +lbl_2_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float +lbl_2_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float +lbl_2_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float +lbl_2_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float +lbl_2_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float +lbl_2_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 data:float +lbl_2_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float +lbl_2_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float +lbl_2_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float +lbl_2_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float +lbl_2_rodata_500 = .rodata:0x00000500; // type:object size:0x8 data:double +lbl_2_rodata_508 = .rodata:0x00000508; // type:object size:0x8 data:double +lbl_2_rodata_510 = .rodata:0x00000510; // type:object size:0x4 data:float +lbl_2_rodata_514 = .rodata:0x00000514; // type:object size:0x4 data:float +lbl_2_rodata_518 = .rodata:0x00000518; // type:object size:0x4 data:float +lbl_2_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 data:float +lbl_2_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float +lbl_2_rodata_524 = .rodata:0x00000524; // type:object size:0x4 data:float +lbl_2_rodata_528 = .rodata:0x00000528; // type:object size:0x4 data:float +lbl_2_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 data:float +lbl_2_rodata_530 = .rodata:0x00000530; // type:object size:0x4 data:float +lbl_2_rodata_534 = .rodata:0x00000534; // type:object size:0x4 data:float +lbl_2_rodata_538 = .rodata:0x00000538; // type:object size:0x4 data:float +lbl_2_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 data:float +lbl_2_rodata_540 = .rodata:0x00000540; // type:object size:0x4 data:float +lbl_2_rodata_544 = .rodata:0x00000544; // type:object size:0x4 data:float +lbl_2_rodata_548 = .rodata:0x00000548; // type:object size:0x4 data:float +lbl_2_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 data:float +lbl_2_rodata_550 = .rodata:0x00000550; // type:object size:0x8 data:double +lbl_2_rodata_558 = .rodata:0x00000558; // type:object size:0x4 data:float +lbl_2_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 data:float +lbl_2_rodata_560 = .rodata:0x00000560; // type:object size:0x8 data:double +lbl_2_rodata_568 = .rodata:0x00000568; // type:object size:0x4 data:float +lbl_2_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 data:float +lbl_2_rodata_570 = .rodata:0x00000570; // type:object size:0x4 data:float +lbl_2_rodata_574 = .rodata:0x00000574; // type:object size:0x4 data:float +lbl_2_rodata_578 = .rodata:0x00000578; // type:object size:0x4 data:float +lbl_2_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 data:float +lbl_2_rodata_580 = .rodata:0x00000580; // type:object size:0x4 data:float +lbl_2_rodata_584 = .rodata:0x00000584; // type:object size:0x4 data:float +lbl_2_rodata_588 = .rodata:0x00000588; // type:object size:0x4 data:float +lbl_2_rodata_590 = .rodata:0x00000590; // type:object size:0x8 data:double +lbl_2_rodata_598 = .rodata:0x00000598; // type:object size:0x4 data:float +lbl_2_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 data:float +lbl_2_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 data:float +lbl_2_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x4 data:float +lbl_2_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 data:float +lbl_2_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 data:float +lbl_2_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 data:float +lbl_2_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 data:float +lbl_2_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x8 data:double +lbl_2_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 data:float +lbl_2_rodata_5C4 = .rodata:0x000005C4; // type:object size:0x4 data:float +lbl_2_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 data:float +lbl_2_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 data:float +lbl_2_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float +lbl_2_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 data:float +lbl_2_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 data:float +lbl_2_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 data:float +lbl_2_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float +lbl_2_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 data:float lbl_2_data_0 = .data:0x00000000; // type:object size:0x4 data:float lbl_2_data_4 = .data:0x00000004; // type:object size:0x10 lbl_2_data_14 = .data:0x00000014; // type:object size:0xC diff --git a/config/GMPE01_00/rels/m404Dll/symbols.txt b/config/GMPE01_00/rels/m404Dll/symbols.txt index e6bb9e5a..97dbc88d 100644 --- a/config/GMPE01_00/rels/m404Dll/symbols.txt +++ b/config/GMPE01_00/rels/m404Dll/symbols.txt @@ -46,8 +46,8 @@ fn_1_648C = .text:0x0000648C; // type:function size:0x250 fn_1_66DC = .text:0x000066DC; // type:function size:0x5AC _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -__fakeHalf = .rodata:0x00000000; // type:object size:0x8 data:double -__fakeThree = .rodata:0x00000008; // type:object size:0x8 data:double +__fakeHalf = .rodata:0x00000000; // type:object size:0x4 data:float +__fakeThree = .rodata:0x00000004; // type:object size:0x4 data:float lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float @@ -60,7 +60,7 @@ lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:f lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x6 scope:local data:2byte +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:2byte lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float @@ -113,7 +113,7 @@ lbl_1_data_77C = .data:0x0000077C; // type:object size:0xC data:float lbl_1_data_788 = .data:0x00000788; // type:object size:0x4 lbl_1_data_78C = .data:0x0000078C; // type:object size:0xC data:float lbl_1_data_798 = .data:0x00000798; // type:object size:0xC data:float -lbl_1_data_7A4 = .data:0x000007A4; // type:object size:0x23 scope:local data:string +lbl_1_data_7A4 = .data:0x000007A4; // type:object size:0x24 scope:local data:string lbl_1_data_7C8 = .data:0x000007C8; // type:object size:0x4 data:4byte jumptable_1_data_7CC = .data:0x000007CC; // type:object size:0x28 scope:local lbl_1_data_7F4 = .data:0x000007F4; // type:object size:0x1C scope:local data:string @@ -128,7 +128,7 @@ lbl_1_data_8D8 = .data:0x000008D8; // type:object size:0x10 data:float lbl_1_data_8E8 = .data:0x000008E8; // type:object size:0xC lbl_1_data_8F4 = .data:0x000008F4; // type:object size:0x8 data:2byte lbl_1_data_8FC = .data:0x000008FC; // type:object size:0x18 -lbl_1_data_914 = .data:0x00000914; // type:object size:0x19 scope:local data:string +lbl_1_data_914 = .data:0x00000914; // type:object size:0x1C scope:local data:string lbl_1_data_930 = .data:0x00000930; // type:object size:0x20 lbl_1_data_950 = .data:0x00000950; // type:object size:0x20 lbl_1_data_970 = .data:0x00000970; // type:object size:0x7 scope:local data:string diff --git a/config/GMPE01_00/rels/m406Dll/symbols.txt b/config/GMPE01_00/rels/m406Dll/symbols.txt index 1287dc3c..5697d866 100644 --- a/config/GMPE01_00/rels/m406Dll/symbols.txt +++ b/config/GMPE01_00/rels/m406Dll/symbols.txt @@ -340,7 +340,7 @@ lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data: lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x8C data:float -lbl_1_data_8C = .data:0x0000008C; // type:object size:0x23 scope:local data:string +lbl_1_data_8C = .data:0x0000008C; // type:object size:0x24 scope:local data:string jumptable_1_data_B0 = .data:0x000000B0; // type:object size:0x40 scope:local lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x348 lbl_1_data_438 = .data:0x00000438; // type:object size:0x348 @@ -378,7 +378,7 @@ lbl_1_data_FF0 = .data:0x00000FF0; // type:object size:0x10 lbl_1_data_1000 = .data:0x00001000; // type:object size:0x19 scope:local data:string lbl_1_data_1019 = .data:0x00001019; // type:object size:0x19 scope:local data:string lbl_1_data_1032 = .data:0x00001032; // type:object size:0x1A scope:local data:string -lbl_1_data_104C = .data:0x0000104C; // type:object size:0x1A scope:local data:string +lbl_1_data_104C = .data:0x0000104C; // type:object size:0x1C scope:local data:string lbl_1_data_1068 = .data:0x00001068; // type:object size:0x10 lbl_1_data_1078 = .data:0x00001078; // type:object size:0x28 lbl_1_data_10A0 = .data:0x000010A0; // type:object size:0x80 data:4byte diff --git a/config/GMPE01_00/rels/m410Dll/symbols.txt b/config/GMPE01_00/rels/m410Dll/symbols.txt index b0cd6c90..0ddbcbb6 100644 --- a/config/GMPE01_00/rels/m410Dll/symbols.txt +++ b/config/GMPE01_00/rels/m410Dll/symbols.txt @@ -86,8 +86,8 @@ fn_1_A9A4 = .text:0x0000A9A4; // type:function size:0x79C fn_1_B140 = .text:0x0000B140; // type:function size:0x644 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -__fakeHalf = .rodata:0x00000000; // type:object size:0x8 data:double -__fakeThree = .rodata:0x00000008; // type:object size:0x8 data:double +__fakeHalf = .rodata:0x00000000; // type:object size:0x4 data:float +__fakeThree = .rodata:0x00000004; // type:object size:0x4 data:float lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float @@ -277,13 +277,13 @@ lbl_1_data_88 = .data:0x00000088; // type:object size:0x3C data:float lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x14 lbl_1_data_D8 = .data:0x000000D8; // type:object size:0x2 data:2byte lbl_1_data_DC = .data:0x000000DC; // type:object size:0x20 -lbl_1_data_FC = .data:0x000000FC; // type:object size:0x7 scope:local data:string +lbl_1_data_FC = .data:0x000000FC; // type:object size:0x8 scope:local data:string lbl_1_data_104 = .data:0x00000104; // type:object size:0xC lbl_1_data_110 = .data:0x00000110; // type:object size:0x4 data:4byte lbl_1_data_114 = .data:0x00000114; // type:object size:0x16 scope:local data:string -lbl_1_data_130 = .data:0x00000130; // type:object size:0xF scope:local data:string +lbl_1_data_130 = .data:0x00000130; // type:object size:0x10 scope:local data:string lbl_1_data_140 = .data:0x00000140; // type:object size:0x20 -lbl_1_data_160 = .data:0x00000160; // type:object size:0xB scope:local data:string +lbl_1_data_160 = .data:0x00000160; // type:object size:0xC scope:local data:string lbl_1_data_16C = .data:0x0000016C; // type:object size:0x20 lbl_1_data_18C = .data:0x0000018C; // type:object size:0x20 lbl_1_data_1AC = .data:0x000001AC; // type:object size:0x28 diff --git a/config/GMPE01_00/rels/m412Dll/symbols.txt b/config/GMPE01_00/rels/m412Dll/symbols.txt index 95938828..6731c9cb 100644 --- a/config/GMPE01_00/rels/m412Dll/symbols.txt +++ b/config/GMPE01_00/rels/m412Dll/symbols.txt @@ -38,137 +38,136 @@ fn_1_B160 = .text:0x0000B160; // type:function size:0x60 fn_1_B1C0 = .text:0x0000B1C0; // type:function size:0x4A0 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float +lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x20 lbl_1_data_20 = .data:0x00000020; // type:object size:0x20 lbl_1_data_40 = .data:0x00000040; // type:object size:0x20 lbl_1_data_60 = .data:0x00000060; // type:object size:0x18 lbl_1_data_78 = .data:0x00000078; // type:object size:0x54 data:float -lbl_1_data_CC = .data:0x000000CC; // type:object size:0x14 scope:local data:string -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x14 scope:local data:string -lbl_1_data_F4 = .data:0x000000F4; // type:object size:0x14 scope:local data:string -lbl_1_data_108 = .data:0x00000108; // type:object size:0x14 scope:local data:string -lbl_1_data_11C = .data:0x0000011C; // type:object size:0x14 scope:local data:string -lbl_1_data_130 = .data:0x00000130; // type:object size:0x14 scope:local data:string -lbl_1_data_144 = .data:0x00000144; // type:object size:0x14 scope:local data:string -lbl_1_data_158 = .data:0x00000158; // type:object size:0x14 scope:local data:string -lbl_1_data_16C = .data:0x0000016C; // type:object size:0x14 scope:local data:string -lbl_1_data_180 = .data:0x00000180; // type:object size:0x14 scope:local data:string -lbl_1_data_194 = .data:0x00000194; // type:object size:0x14 scope:local data:string -lbl_1_data_1A8 = .data:0x000001A8; // type:object size:0x14 scope:local data:string -lbl_1_data_1BC = .data:0x000001BC; // type:object size:0x14 scope:local data:string -lbl_1_data_1D0 = .data:0x000001D0; // type:object size:0x14 scope:local data:string -lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x14 scope:local data:string -lbl_1_data_1F8 = .data:0x000001F8; // type:object size:0x14 scope:local data:string -lbl_1_data_20C = .data:0x0000020C; // type:object size:0x14 scope:local data:string -lbl_1_data_220 = .data:0x00000220; // type:object size:0x14 scope:local data:string -lbl_1_data_234 = .data:0x00000234; // type:object size:0x14 scope:local data:string -lbl_1_data_248 = .data:0x00000248; // type:object size:0x14 scope:local data:string -lbl_1_data_25C = .data:0x0000025C; // type:object size:0x14 scope:local data:string -lbl_1_data_270 = .data:0x00000270; // type:object size:0x14 scope:local data:string -lbl_1_data_284 = .data:0x00000284; // type:object size:0x14 scope:local data:string +lbl_1_data_CC = .data:0x000000CC; // type:object size:0x14 data:string +lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x14 data:string +lbl_1_data_F4 = .data:0x000000F4; // type:object size:0x14 data:string +lbl_1_data_108 = .data:0x00000108; // type:object size:0x14 data:string +lbl_1_data_11C = .data:0x0000011C; // type:object size:0x14 data:string +lbl_1_data_130 = .data:0x00000130; // type:object size:0x14 data:string +lbl_1_data_144 = .data:0x00000144; // type:object size:0x14 data:string +lbl_1_data_158 = .data:0x00000158; // type:object size:0x14 data:string +lbl_1_data_16C = .data:0x0000016C; // type:object size:0x14 data:string +lbl_1_data_180 = .data:0x00000180; // type:object size:0x14 data:string +lbl_1_data_194 = .data:0x00000194; // type:object size:0x14 data:string +lbl_1_data_1A8 = .data:0x000001A8; // type:object size:0x14 data:string +lbl_1_data_1BC = .data:0x000001BC; // type:object size:0x14 data:string +lbl_1_data_1D0 = .data:0x000001D0; // type:object size:0x14 data:string +lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x14 data:string +lbl_1_data_1F8 = .data:0x000001F8; // type:object size:0x14 data:string +lbl_1_data_20C = .data:0x0000020C; // type:object size:0x14 data:string +lbl_1_data_220 = .data:0x00000220; // type:object size:0x14 data:string +lbl_1_data_234 = .data:0x00000234; // type:object size:0x14 data:string +lbl_1_data_248 = .data:0x00000248; // type:object size:0x14 data:string +lbl_1_data_25C = .data:0x0000025C; // type:object size:0x14 data:string +lbl_1_data_270 = .data:0x00000270; // type:object size:0x14 data:string +lbl_1_data_284 = .data:0x00000284; // type:object size:0x14 data:string lbl_1_data_298 = .data:0x00000298; // type:object size:0x5C -lbl_1_data_2F4 = .data:0x000002F4; // type:object size:0xC scope:local data:string -lbl_1_data_300 = .data:0x00000300; // type:object size:0x7 scope:local data:string -lbl_1_data_307 = .data:0x00000307; // type:object size:0x7 scope:local data:string +lbl_1_data_2F4 = .data:0x000002F4; // type:object size:0xC data:string +lbl_1_data_300 = .data:0x00000300; // type:object size:0x7 data:string +lbl_1_data_307 = .data:0x00000307; // type:object size:0x9 lbl_1_data_310 = .data:0x00000310; // type:object size:0x30 lbl_1_data_340 = .data:0x00000340; // type:object size:0x8 lbl_1_data_348 = .data:0x00000348; // type:object size:0x18 -lbl_1_data_360 = .data:0x00000360; // type:object size:0x9 scope:local data:string +lbl_1_data_360 = .data:0x00000360; // type:object size:0x9 data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0xC data:float lbl_1_bss_C = .bss:0x0000000C; // type:object size:0xC data:float -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0xC data:float -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 +lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x10 data:float lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x114 lbl_1_bss_13C = .bss:0x0000013C; // type:object size:0x114 lbl_1_bss_250 = .bss:0x00000250; // type:object size:0xC data:float @@ -185,7 +184,7 @@ lbl_1_bss_77C = .bss:0x0000077C; // type:object size:0x4 data:float lbl_1_bss_780 = .bss:0x00000780; // type:object size:0x10 data:4byte lbl_1_bss_790 = .bss:0x00000790; // type:object size:0x4 data:4byte lbl_1_bss_794 = .bss:0x00000794; // type:object size:0x4 data:4byte -lbl_1_bss_798 = .bss:0x00000798; // type:object size:0x4 data:2byte +lbl_1_bss_798 = .bss:0x00000798; // type:object size:0x2 data:2byte lbl_1_bss_79C = .bss:0x0000079C; // type:object size:0x2 data:2byte lbl_1_bss_79E = .bss:0x0000079E; // type:object size:0x2 data:2byte lbl_1_bss_7A0 = .bss:0x000007A0; // type:object size:0x2 data:2byte diff --git a/config/GMPE01_00/rels/m413Dll/symbols.txt b/config/GMPE01_00/rels/m413Dll/symbols.txt index 22b18c0f..0da93366 100644 --- a/config/GMPE01_00/rels/m413Dll/symbols.txt +++ b/config/GMPE01_00/rels/m413Dll/symbols.txt @@ -22,176 +22,176 @@ ObjectSetup = .text:0x0000D3A0; // type:function size:0x360 fn_1_D700 = .text:0x0000D700; // type:function size:0x64 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_0 = .rodata:0x00000000; // type:object size:0x10 scope:local data:double -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x18 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x18 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0xCC scope:local -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0xC scope:local data:byte -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x19 scope:local data:byte -lbl_1_rodata_201 = .rodata:0x00000201; // type:object size:0x1F scope:local data:byte -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x30 scope:local data:4byte -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 scope:local data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:4byte -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x428 scope:local -lbl_1_rodata_764 = .rodata:0x00000764; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_770 = .rodata:0x00000770; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_77C = .rodata:0x0000077C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_780 = .rodata:0x00000780; // type:object size:0x4 scope:local data:float -lbl_1_rodata_784 = .rodata:0x00000784; // type:object size:0x4 scope:local data:float -lbl_1_rodata_788 = .rodata:0x00000788; // type:object size:0x8 scope:local data:double -lbl_1_rodata_790 = .rodata:0x00000790; // type:object size:0x8 scope:local data:double -lbl_1_rodata_798 = .rodata:0x00000798; // type:object size:0x8 scope:local data:double -lbl_1_rodata_7A0 = .rodata:0x000007A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_7A8 = .rodata:0x000007A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7AC = .rodata:0x000007AC; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_7BC = .rodata:0x000007BC; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_7D0 = .rodata:0x000007D0; // type:object size:0x60 scope:local -lbl_1_rodata_830 = .rodata:0x00000830; // type:object size:0x8 scope:local data:double -lbl_1_rodata_838 = .rodata:0x00000838; // type:object size:0x8 scope:local data:double -lbl_1_rodata_840 = .rodata:0x00000840; // type:object size:0x4 scope:local data:float -lbl_1_rodata_848 = .rodata:0x00000848; // type:object size:0x8 scope:local data:double -lbl_1_rodata_850 = .rodata:0x00000850; // type:object size:0x4 scope:local data:float -lbl_1_rodata_858 = .rodata:0x00000858; // type:object size:0x8 scope:local data:double -lbl_1_rodata_860 = .rodata:0x00000860; // type:object size:0x8 scope:local data:double -lbl_1_rodata_868 = .rodata:0x00000868; // type:object size:0x8 scope:local data:double -lbl_1_rodata_870 = .rodata:0x00000870; // type:object size:0x8 scope:local data:double -lbl_1_rodata_878 = .rodata:0x00000878; // type:object size:0x4 scope:local data:float -lbl_1_rodata_87C = .rodata:0x0000087C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_880 = .rodata:0x00000880; // type:object size:0x4 scope:local data:float -lbl_1_rodata_884 = .rodata:0x00000884; // type:object size:0x4 scope:local data:float -lbl_1_rodata_888 = .rodata:0x00000888; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88C = .rodata:0x0000088C; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_8A8 = .rodata:0x000008A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_8B0 = .rodata:0x000008B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8B4 = .rodata:0x000008B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8B8 = .rodata:0x000008B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8BC = .rodata:0x000008BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C0 = .rodata:0x000008C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_8C8 = .rodata:0x000008C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8D0 = .rodata:0x000008D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_8D8 = .rodata:0x000008D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8DC = .rodata:0x000008DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8E0 = .rodata:0x000008E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8E4 = .rodata:0x000008E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8E8 = .rodata:0x000008E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8EC = .rodata:0x000008EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8F0 = .rodata:0x000008F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8F4 = .rodata:0x000008F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8F8 = .rodata:0x000008F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_900 = .rodata:0x00000900; // type:object size:0x8 scope:local data:double -lbl_1_rodata_908 = .rodata:0x00000908; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90C = .rodata:0x0000090C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_910 = .rodata:0x00000910; // type:object size:0x4 scope:local data:float -lbl_1_rodata_914 = .rodata:0x00000914; // type:object size:0xC scope:local data:byte -lbl_1_rodata_920 = .rodata:0x00000920; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_938 = .rodata:0x00000938; // type:object size:0x8 scope:local data:byte -lbl_1_rodata_940 = .rodata:0x00000940; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_950 = .rodata:0x00000950; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_954 = .rodata:0x00000954; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_964 = .rodata:0x00000964; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_978 = .rodata:0x00000978; // type:object size:0x8 scope:local data:double -lbl_1_rodata_980 = .rodata:0x00000980; // type:object size:0x4 scope:local data:float -lbl_1_rodata_984 = .rodata:0x00000984; // type:object size:0x4 scope:local data:float -lbl_1_rodata_988 = .rodata:0x00000988; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98C = .rodata:0x0000098C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_990 = .rodata:0x00000990; // type:object size:0x8 scope:local data:double -lbl_1_rodata_998 = .rodata:0x00000998; // type:object size:0x4 scope:local data:float -lbl_1_rodata_99C = .rodata:0x0000099C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9A0 = .rodata:0x000009A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_9A8 = .rodata:0x000009A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_9B0 = .rodata:0x000009B0; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_9C0 = .rodata:0x000009C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C4 = .rodata:0x000009C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C8 = .rodata:0x000009C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9CC = .rodata:0x000009CC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_9D8 = .rodata:0x000009D8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_9E4 = .rodata:0x000009E4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_9F0 = .rodata:0x000009F0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_9FC = .rodata:0x000009FC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_A08 = .rodata:0x00000A08; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_A14 = .rodata:0x00000A14; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_A20 = .rodata:0x00000A20; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_A24 = .rodata:0x00000A24; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A28 = .rodata:0x00000A28; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A2C = .rodata:0x00000A2C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A30 = .rodata:0x00000A30; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A34 = .rodata:0x00000A34; // type:object size:0x4 scope:local data:float +lbl_1_rodata_0 = .rodata:0x00000000; // type:object size:0x10 data:double +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x18 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x18 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0xCC +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0xC data:byte +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:4byte +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:4byte +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:4byte +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x10 data:4byte +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x10 data:4byte +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x19 data:byte +lbl_1_rodata_201 = .rodata:0x00000201; // type:object size:0x1F data:byte +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0xC data:4byte +lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0xC data:4byte +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x30 data:4byte +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x10 data:4byte +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0xC data:4byte +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x10 data:4byte +lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0xC data:4byte +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0xC data:4byte +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x10 data:4byte +lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x10 data:4byte +lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float +lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float +lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float +lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float +lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float +lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float +lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float +lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 data:double +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:4byte +lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x428 +lbl_1_rodata_764 = .rodata:0x00000764; // type:object size:0xC data:4byte +lbl_1_rodata_770 = .rodata:0x00000770; // type:object size:0xC data:4byte +lbl_1_rodata_77C = .rodata:0x0000077C; // type:object size:0x4 data:float +lbl_1_rodata_780 = .rodata:0x00000780; // type:object size:0x4 data:float +lbl_1_rodata_784 = .rodata:0x00000784; // type:object size:0x4 data:float +lbl_1_rodata_788 = .rodata:0x00000788; // type:object size:0x8 data:double +lbl_1_rodata_790 = .rodata:0x00000790; // type:object size:0x8 data:double +lbl_1_rodata_798 = .rodata:0x00000798; // type:object size:0x8 data:double +lbl_1_rodata_7A0 = .rodata:0x000007A0; // type:object size:0x8 data:double +lbl_1_rodata_7A8 = .rodata:0x000007A8; // type:object size:0x4 data:float +lbl_1_rodata_7AC = .rodata:0x000007AC; // type:object size:0x10 data:4byte +lbl_1_rodata_7BC = .rodata:0x000007BC; // type:object size:0x14 data:4byte +lbl_1_rodata_7D0 = .rodata:0x000007D0; // type:object size:0x60 +lbl_1_rodata_830 = .rodata:0x00000830; // type:object size:0x8 data:double +lbl_1_rodata_838 = .rodata:0x00000838; // type:object size:0x8 data:double +lbl_1_rodata_840 = .rodata:0x00000840; // type:object size:0x4 data:float +lbl_1_rodata_848 = .rodata:0x00000848; // type:object size:0x8 data:double +lbl_1_rodata_850 = .rodata:0x00000850; // type:object size:0x4 data:float +lbl_1_rodata_858 = .rodata:0x00000858; // type:object size:0x8 data:double +lbl_1_rodata_860 = .rodata:0x00000860; // type:object size:0x8 data:double +lbl_1_rodata_868 = .rodata:0x00000868; // type:object size:0x8 data:double +lbl_1_rodata_870 = .rodata:0x00000870; // type:object size:0x8 data:double +lbl_1_rodata_878 = .rodata:0x00000878; // type:object size:0x4 data:float +lbl_1_rodata_87C = .rodata:0x0000087C; // type:object size:0x4 data:float +lbl_1_rodata_880 = .rodata:0x00000880; // type:object size:0x4 data:float +lbl_1_rodata_884 = .rodata:0x00000884; // type:object size:0x4 data:float +lbl_1_rodata_888 = .rodata:0x00000888; // type:object size:0x4 data:float +lbl_1_rodata_88C = .rodata:0x0000088C; // type:object size:0x1C data:4byte +lbl_1_rodata_8A8 = .rodata:0x000008A8; // type:object size:0x8 data:double +lbl_1_rodata_8B0 = .rodata:0x000008B0; // type:object size:0x4 data:float +lbl_1_rodata_8B4 = .rodata:0x000008B4; // type:object size:0x4 data:float +lbl_1_rodata_8B8 = .rodata:0x000008B8; // type:object size:0x4 data:float +lbl_1_rodata_8BC = .rodata:0x000008BC; // type:object size:0x4 data:float +lbl_1_rodata_8C0 = .rodata:0x000008C0; // type:object size:0x8 data:double +lbl_1_rodata_8C8 = .rodata:0x000008C8; // type:object size:0x4 data:float +lbl_1_rodata_8D0 = .rodata:0x000008D0; // type:object size:0x8 data:double +lbl_1_rodata_8D8 = .rodata:0x000008D8; // type:object size:0x4 data:float +lbl_1_rodata_8DC = .rodata:0x000008DC; // type:object size:0x4 data:float +lbl_1_rodata_8E0 = .rodata:0x000008E0; // type:object size:0x4 data:float +lbl_1_rodata_8E4 = .rodata:0x000008E4; // type:object size:0x4 data:float +lbl_1_rodata_8E8 = .rodata:0x000008E8; // type:object size:0x4 data:float +lbl_1_rodata_8EC = .rodata:0x000008EC; // type:object size:0x4 data:float +lbl_1_rodata_8F0 = .rodata:0x000008F0; // type:object size:0x4 data:float +lbl_1_rodata_8F4 = .rodata:0x000008F4; // type:object size:0x4 data:float +lbl_1_rodata_8F8 = .rodata:0x000008F8; // type:object size:0x8 data:double +lbl_1_rodata_900 = .rodata:0x00000900; // type:object size:0x8 data:double +lbl_1_rodata_908 = .rodata:0x00000908; // type:object size:0x4 data:float +lbl_1_rodata_90C = .rodata:0x0000090C; // type:object size:0x4 data:float +lbl_1_rodata_910 = .rodata:0x00000910; // type:object size:0x4 data:float +lbl_1_rodata_914 = .rodata:0x00000914; // type:object size:0xC data:byte +lbl_1_rodata_920 = .rodata:0x00000920; // type:object size:0x18 data:4byte +lbl_1_rodata_938 = .rodata:0x00000938; // type:object size:0x8 data:byte +lbl_1_rodata_940 = .rodata:0x00000940; // type:object size:0x10 data:4byte +lbl_1_rodata_950 = .rodata:0x00000950; // type:object size:0x1 data:byte +lbl_1_rodata_954 = .rodata:0x00000954; // type:object size:0x10 data:4byte +lbl_1_rodata_964 = .rodata:0x00000964; // type:object size:0x14 data:4byte +lbl_1_rodata_978 = .rodata:0x00000978; // type:object size:0x8 data:double +lbl_1_rodata_980 = .rodata:0x00000980; // type:object size:0x4 data:float +lbl_1_rodata_984 = .rodata:0x00000984; // type:object size:0x4 data:float +lbl_1_rodata_988 = .rodata:0x00000988; // type:object size:0x4 data:float +lbl_1_rodata_98C = .rodata:0x0000098C; // type:object size:0x4 data:float +lbl_1_rodata_990 = .rodata:0x00000990; // type:object size:0x8 data:double +lbl_1_rodata_998 = .rodata:0x00000998; // type:object size:0x4 data:float +lbl_1_rodata_99C = .rodata:0x0000099C; // type:object size:0x4 data:float +lbl_1_rodata_9A0 = .rodata:0x000009A0; // type:object size:0x8 data:double +lbl_1_rodata_9A8 = .rodata:0x000009A8; // type:object size:0x8 data:double +lbl_1_rodata_9B0 = .rodata:0x000009B0; // type:object size:0x10 data:4byte +lbl_1_rodata_9C0 = .rodata:0x000009C0; // type:object size:0x4 data:float +lbl_1_rodata_9C4 = .rodata:0x000009C4; // type:object size:0x4 data:float +lbl_1_rodata_9C8 = .rodata:0x000009C8; // type:object size:0x4 data:float +lbl_1_rodata_9CC = .rodata:0x000009CC; // type:object size:0xC data:4byte +lbl_1_rodata_9D8 = .rodata:0x000009D8; // type:object size:0xC data:4byte +lbl_1_rodata_9E4 = .rodata:0x000009E4; // type:object size:0xC data:4byte +lbl_1_rodata_9F0 = .rodata:0x000009F0; // type:object size:0xC data:4byte +lbl_1_rodata_9FC = .rodata:0x000009FC; // type:object size:0xC data:4byte +lbl_1_rodata_A08 = .rodata:0x00000A08; // type:object size:0xC data:4byte +lbl_1_rodata_A14 = .rodata:0x00000A14; // type:object size:0xC data:4byte +lbl_1_rodata_A20 = .rodata:0x00000A20; // type:object size:0x1 data:byte +lbl_1_rodata_A24 = .rodata:0x00000A24; // type:object size:0x4 data:float +lbl_1_rodata_A28 = .rodata:0x00000A28; // type:object size:0x4 data:float +lbl_1_rodata_A2C = .rodata:0x00000A2C; // type:object size:0x4 data:float +lbl_1_rodata_A30 = .rodata:0x00000A30; // type:object size:0x4 data:float +lbl_1_rodata_A34 = .rodata:0x00000A34; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x4 data:4byte lbl_1_data_4 = .data:0x00000004; // type:object size:0x8 data:4byte lbl_1_data_C = .data:0x0000000C; // type:object size:0x10 data:4byte lbl_1_data_1C = .data:0x0000001C; // type:object size:0x1C data:float -lbl_1_data_38 = .data:0x00000038; // type:object size:0x9 scope:local data:string -lbl_1_data_41 = .data:0x00000041; // type:object size:0x19 scope:local data:string -lbl_1_data_5A = .data:0x0000005A; // type:object size:0x1B scope:local data:string -lbl_1_data_75 = .data:0x00000075; // type:object size:0x10 scope:local data:string -lbl_1_data_85 = .data:0x00000085; // type:object size:0x10 scope:local data:string -lbl_1_data_95 = .data:0x00000095; // type:object size:0x10 scope:local data:string -lbl_1_data_A5 = .data:0x000000A5; // type:object size:0x10 scope:local data:string -lbl_1_data_B5 = .data:0x000000B5; // type:object size:0x11 scope:local data:string -lbl_1_data_C6 = .data:0x000000C6; // type:object size:0x11 scope:local data:string -lbl_1_data_D7 = .data:0x000000D7; // type:object size:0x12 scope:local data:string -lbl_1_data_E9 = .data:0x000000E9; // type:object size:0x12 scope:local data:string -lbl_1_data_FB = .data:0x000000FB; // type:object size:0x12 scope:local data:string -lbl_1_data_10D = .data:0x0000010D; // type:object size:0xF scope:local data:string -lbl_1_data_11C = .data:0x0000011C; // type:object size:0x19 scope:local data:string -lbl_1_data_135 = .data:0x00000135; // type:object size:0x24 scope:local data:string +lbl_1_data_38 = .data:0x00000038; // type:object size:0x9 data:string +lbl_1_data_41 = .data:0x00000041; // type:object size:0x19 data:string +lbl_1_data_5A = .data:0x0000005A; // type:object size:0x1B data:string +lbl_1_data_75 = .data:0x00000075; // type:object size:0x10 data:string +lbl_1_data_85 = .data:0x00000085; // type:object size:0x10 data:string +lbl_1_data_95 = .data:0x00000095; // type:object size:0x10 data:string +lbl_1_data_A5 = .data:0x000000A5; // type:object size:0x10 data:string +lbl_1_data_B5 = .data:0x000000B5; // type:object size:0x11 data:string +lbl_1_data_C6 = .data:0x000000C6; // type:object size:0x11 data:string +lbl_1_data_D7 = .data:0x000000D7; // type:object size:0x12 data:string +lbl_1_data_E9 = .data:0x000000E9; // type:object size:0x12 data:string +lbl_1_data_FB = .data:0x000000FB; // type:object size:0x12 data:string +lbl_1_data_10D = .data:0x0000010D; // type:object size:0xF data:string +lbl_1_data_11C = .data:0x0000011C; // type:object size:0x19 data:string +lbl_1_data_135 = .data:0x00000135; // type:object size:0x24 data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x8 data:4byte diff --git a/config/GMPE01_00/rels/m415Dll/symbols.txt b/config/GMPE01_00/rels/m415Dll/symbols.txt index 62f5cc6f..d67685cf 100644 --- a/config/GMPE01_00/rels/m415Dll/symbols.txt +++ b/config/GMPE01_00/rels/m415Dll/symbols.txt @@ -107,116 +107,115 @@ fn_1_C784 = .text:0x0000C784; // type:function size:0x98 fn_1_C81C = .text:0x0000C81C; // type:function size:0x40 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x10 scope:local data:byte -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x20 scope:local data:byte -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x20 scope:local data:byte -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x10 scope:local data:byte -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x10 scope:local data:byte -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x30 scope:local data:4byte -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x10 scope:local data:byte -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:double +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x10 data:byte +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x20 data:byte +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x20 data:byte +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x10 data:byte +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x10 data:byte +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float +lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float +lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float +lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x30 data:4byte +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x10 data:byte +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double lbl_1_data_0 = .data:0x00000000; // type:object size:0xC lbl_1_data_C = .data:0x0000000C; // type:object size:0xC lbl_1_data_18 = .data:0x00000018; // type:object size:0x4 lbl_1_data_1C = .data:0x0000001C; // type:object size:0xC lbl_1_data_28 = .data:0x00000028; // type:object size:0xC lbl_1_data_34 = .data:0x00000034; // type:object size:0xC -lbl_1_data_40 = .data:0x00000040; // type:object size:0x23 scope:local data:string +lbl_1_data_40 = .data:0x00000040; // type:object size:0x23 data:string lbl_1_data_64 = .data:0x00000064; // type:object size:0x4 data:4byte -lbl_1_data_68 = .data:0x00000068; // type:object size:0x7 scope:local data:string -lbl_1_data_6F = .data:0x0000006F; // type:object size:0x6 scope:local data:string -lbl_1_data_75 = .data:0x00000075; // type:object size:0x9 scope:local data:string +lbl_1_data_68 = .data:0x00000068; // type:object size:0x7 data:string +lbl_1_data_6F = .data:0x0000006F; // type:object size:0x6 data:string +lbl_1_data_75 = .data:0x00000075; // type:object size:0x9 data:string lbl_1_data_80 = .data:0x00000080; // type:object size:0x28 lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x30 -lbl_1_data_D8 = .data:0x000000D8; // type:object size:0x8 scope:local data:string +lbl_1_data_D8 = .data:0x000000D8; // type:object size:0x8 data:string jumptable_1_data_E0 = .data:0x000000E0; // type:object size:0x28 scope:local -lbl_1_data_108 = .data:0x00000108; // type:object size:0x8 scope:local data:string +lbl_1_data_108 = .data:0x00000108; // type:object size:0x8 data:string lbl_1_data_110 = .data:0x00000110; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x28 -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x8 +lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x30 lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x200 lbl_1_bss_234 = .bss:0x00000234; // type:object size:0x100 lbl_1_bss_334 = .bss:0x00000334; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m418Dll/symbols.txt b/config/GMPE01_00/rels/m418Dll/symbols.txt index ad0f568b..6d5e96a3 100644 --- a/config/GMPE01_00/rels/m418Dll/symbols.txt +++ b/config/GMPE01_00/rels/m418Dll/symbols.txt @@ -98,7 +98,7 @@ fn_1_9F94 = .text:0x00009F94; // type:function size:0x1BC _prolog = .text:0x0000A150; // type:function size:0x54 scope:global _epilog = .text:0x0000A1A4; // type:function size:0x4C scope:global fn_1_A1F0 = .text:0x0000A1F0; // type:function size:0x398 -ObjectSetup = .text:0x0000A588; // type:function size:0x398 +fn_1_A588 = .text:0x0000A588; // type:function size:0x398 fn_1_A920 = .text:0x0000A920; // type:function size:0x20 fn_1_A940 = .text:0x0000A940; // type:function size:0x28 fn_1_A968 = .text:0x0000A968; // type:function size:0xC8 @@ -128,149 +128,149 @@ fn_1_D714 = .text:0x0000D714; // type:function size:0x4FC fn_1_DC10 = .text:0x0000DC10; // type:function size:0x6C8 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 scope:local data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 scope:local data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 scope:local data:double +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0xC data:4byte +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0xC data:4byte +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0xC data:4byte +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0xC data:4byte +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0xC data:4byte +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:4byte +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0xC data:4byte +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float +lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x10 data:4byte +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x10 data:4byte +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x10 data:4byte +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x10 data:4byte +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float +lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float +lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0xC data:4byte +lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0xC data:4byte +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0xC data:4byte +lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0xC data:4byte +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0xC data:4byte +lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0xC data:4byte +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float +lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0xC data:4byte +lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0xC data:4byte +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0xC data:4byte +lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0xC data:4byte +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float +lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0xC data:4byte +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0xC data:4byte +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float +lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float +lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float +lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0xC data:4byte +lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0xC data:4byte +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float +lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float +lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:float +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 data:double +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double lbl_1_data_0 = .data:0x00000000; // type:object size:0x8 data:4byte lbl_1_data_8 = .data:0x00000008; // type:object size:0x4 data:4byte -lbl_1_data_C = .data:0x0000000C; // type:object size:0x12 scope:local data:string -lbl_1_data_1E = .data:0x0000001E; // type:object size:0x13 scope:local data:string -lbl_1_data_31 = .data:0x00000031; // type:object size:0x10 scope:local data:string -lbl_1_data_41 = .data:0x00000041; // type:object size:0x10 scope:local data:string -lbl_1_data_51 = .data:0x00000051; // type:object size:0x10 scope:local data:string -lbl_1_data_61 = .data:0x00000061; // type:object size:0x10 scope:local data:string -lbl_1_data_71 = .data:0x00000071; // type:object size:0xD scope:local data:string -lbl_1_data_7E = .data:0x0000007E; // type:object size:0xE scope:local data:string +lbl_1_data_C = .data:0x0000000C; // type:object size:0x12 data:string +lbl_1_data_1E = .data:0x0000001E; // type:object size:0x13 data:string +lbl_1_data_31 = .data:0x00000031; // type:object size:0x10 data:string +lbl_1_data_41 = .data:0x00000041; // type:object size:0x10 data:string +lbl_1_data_51 = .data:0x00000051; // type:object size:0x10 data:string +lbl_1_data_61 = .data:0x00000061; // type:object size:0x10 data:string +lbl_1_data_71 = .data:0x00000071; // type:object size:0xD data:string +lbl_1_data_7E = .data:0x0000007E; // type:object size:0xE data:string lbl_1_data_8C = .data:0x0000008C; // type:object size:0x6C data:4byte jumptable_1_data_F8 = .data:0x000000F8; // type:object size:0x88 scope:local -lbl_1_data_180 = .data:0x00000180; // type:object size:0x12 scope:local data:string -lbl_1_data_192 = .data:0x00000192; // type:object size:0x15 scope:local data:string -lbl_1_data_1A7 = .data:0x000001A7; // type:object size:0x19 scope:local data:string +lbl_1_data_180 = .data:0x00000180; // type:object size:0x12 data:string +lbl_1_data_192 = .data:0x00000192; // type:object size:0x15 data:string +lbl_1_data_1A7 = .data:0x000001A7; // type:object size:0x19 data:string lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x20 lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0x20 lbl_1_data_200 = .data:0x00000200; // type:object size:0x40 diff --git a/config/GMPE01_00/rels/m419Dll/symbols.txt b/config/GMPE01_00/rels/m419Dll/symbols.txt index a3696d5f..1a40f379 100644 --- a/config/GMPE01_00/rels/m419Dll/symbols.txt +++ b/config/GMPE01_00/rels/m419Dll/symbols.txt @@ -46,117 +46,117 @@ fn_1_104A0 = .text:0x000104A0; // type:function size:0x60 fn_1_10500 = .text:0x00010500; // type:function size:0x3E0 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 scope:local data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 scope:local data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float +lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float +lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float +lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float +lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float +lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float +lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float +lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x20 lbl_1_data_20 = .data:0x00000020; // type:object size:0x2C lbl_1_data_4C = .data:0x0000004C; // type:object size:0x10 -lbl_1_data_5C = .data:0x0000005C; // type:object size:0x60 data:float -lbl_1_data_BC = .data:0x000000BC; // type:object size:0xB scope:local data:string +lbl_1_data_5C = .data:0x0000005C; // type:object size:0x60 +lbl_1_data_BC = .data:0x000000BC; // type:object size:0xB data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x60 lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x1 data:byte lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x20 diff --git a/config/GMPE01_00/rels/m420dll/splits.txt b/config/GMPE01_00/rels/m420dll/splits.txt index 9c77e32d..eb2fc2b9 100644 --- a/config/GMPE01_00/rels/m420dll/splits.txt +++ b/config/GMPE01_00/rels/m420dll/splits.txt @@ -10,15 +10,10 @@ REL/executor.c: .text start:0x00000000 end:0x000000A0 REL/m420dll/main.c: - .text start:0x000000A0 end:0x00000D98 - .rodata start:0x00000000 end:0x00000098 - .bss start:0x00000000 end:0x00000030 - -REL/m420dll/camera.c: - .text start:0x00000D98 end:0x00001B8C - .rodata start:0x00000098 end:0x000000F8 + .text start:0x000000A0 end:0x00001B8C + .rodata start:0x00000000 end:0x000000F8 .data start:0x00000000 end:0x00000050 - .bss start:0x00000030 end:0x000000B0 + .bss start:0x00000000 end:0x000000B0 REL/m420dll/player.c: .text start:0x00001B8C end:0x00004964 diff --git a/config/GMPE01_00/rels/m420dll/symbols.txt b/config/GMPE01_00/rels/m420dll/symbols.txt index 096cbad2..415bc67d 100644 --- a/config/GMPE01_00/rels/m420dll/symbols.txt +++ b/config/GMPE01_00/rels/m420dll/symbols.txt @@ -83,137 +83,135 @@ fn_1_8934 = .text:0x00008934; // type:function size:0x10 fn_1_8944 = .text:0x00008944; // type:function size:0x34 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -__fakeHalf = .rodata:0x00000000; // type:object size:0x8 data:double -__fakeThree = .rodata:0x00000008; // type:object size:0x8 data:double -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x54 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x24 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x160 scope:local -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x60 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x10 scope:local -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x1C scope:local -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 scope:local data:double -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x6C scope:local -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0xC scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0xC scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 scope:local data:double -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x8 scope:local data:double -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x8 scope:local data:double -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 scope:local data:double -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 scope:local data:double -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 scope:local data:double -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x8 scope:local data:double -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 scope:local data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x30 scope:local data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x30 scope:local data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 scope:local data:float -lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 scope:local data:float -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 scope:local data:float -lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x8 scope:local data:double -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 scope:local data:float -lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 scope:local data:float -lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 scope:local data:float -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x8 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x1E scope:local data:string -lbl_1_data_1E = .data:0x0000001E; // type:object size:0x1E scope:local data:string -lbl_1_data_3C = .data:0x0000003C; // type:object size:0x10 scope:local data:string +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x54 +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x24 data:4byte +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float +lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x160 +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x60 +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float +lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float +lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float +lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float +lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float +lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x10 +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float +lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x1C +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float +lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float +lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float +lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 data:float +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x6C +lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0xC data:4byte +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0xC data:4byte +lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float +lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float +lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float +lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float +lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float +lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 data:float +lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 data:float +lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float +lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 data:float +lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 data:float +lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float +lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 data:float +lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float +lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float +lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float +lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 data:double +lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x8 data:double +lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x8 data:double +lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 data:double +lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float +lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float +lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 data:double +lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float +lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float +lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 data:float +lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 data:float +lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 data:float +lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 data:float +lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float +lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 data:float +lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 data:double +lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x8 data:double +lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float +lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 data:double +lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float +lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 data:float +lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float +lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float +lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float +lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float +lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float +lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float +lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float +lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float +lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float +lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 data:float +lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x30 data:4byte +lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x30 data:4byte +lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 data:float +lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 data:float +lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 data:float +lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 data:float +lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 data:float +lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 data:float +lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0xC data:4byte +lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 data:float +lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x8 data:double +lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 data:float +lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 data:float +lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 data:float +lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 data:float +lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x8 data:float +lbl_1_data_0 = .data:0x00000000; // type:object size:0x1E data:string +lbl_1_data_1E = .data:0x0000001E; // type:object size:0x1E data:string +lbl_1_data_3C = .data:0x0000003C; // type:object size:0x11 lbl_1_data_50 = .data:0x00000050; // type:object size:0x80 -lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x1B scope:local data:string +lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x1B data:string lbl_1_data_EC = .data:0x000000EC; // type:object size:0x30 -lbl_1_data_11C = .data:0x0000011C; // type:object size:0x19 scope:local data:string +lbl_1_data_11C = .data:0x0000011C; // type:object size:0x19 data:string lbl_1_data_135 = .data:0x00000135; // type:object size:0x1 lbl_1_data_138 = .data:0x00000138; // type:object size:0x1C lbl_1_data_154 = .data:0x00000154; // type:object size:0x10 data:4byte -lbl_1_data_164 = .data:0x00000164; // type:object size:0xD scope:local data:string +lbl_1_data_164 = .data:0x00000164; // type:object size:0xD data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m421Dll/symbols.txt b/config/GMPE01_00/rels/m421Dll/symbols.txt index b2817421..cb29a8cd 100644 --- a/config/GMPE01_00/rels/m421Dll/symbols.txt +++ b/config/GMPE01_00/rels/m421Dll/symbols.txt @@ -79,157 +79,157 @@ fn_1_B398 = .text:0x0000B398; // type:function size:0x4 fn_1_B39C = .text:0x0000B39C; // type:function size:0x40 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0xC scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0xC scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:4byte -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x50 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x10 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x10 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x30 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x30 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 scope:local data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 scope:local data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0xC data:4byte +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0xC data:4byte +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:4byte +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x50 +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x14 data:4byte +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x10 data:4byte +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float +lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x10 data:4byte +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x10 data:4byte +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x30 data:4byte +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x30 data:4byte +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float +lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float +lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0xC data:4byte +lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float +lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float +lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float +lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float +lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 data:double +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 data:double +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float +lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float +lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float +lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float +lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float +lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 data:double +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float +lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float +lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float +lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float +lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float +lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float +lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float +lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float +lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float +lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float +lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float +lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float +lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:float +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float +lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float +lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float +lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float +lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float +lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float +lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 data:double +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 data:double +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x8 data:double +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float +lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 data:float +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0xC lbl_1_data_C = .data:0x0000000C; // type:object size:0xC lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float @@ -237,13 +237,13 @@ lbl_1_data_24 = .data:0x00000024; // type:object size:0x4 lbl_1_data_28 = .data:0x00000028; // type:object size:0xC data:float lbl_1_data_34 = .data:0x00000034; // type:object size:0xC data:float lbl_1_data_40 = .data:0x00000040; // type:object size:0xC data:float -lbl_1_data_4C = .data:0x0000004C; // type:object size:0x24 data:float -lbl_1_data_70 = .data:0x00000070; // type:object size:0x24 data:float +lbl_1_data_4C = .data:0x0000004C; // type:object size:0x24 +lbl_1_data_70 = .data:0x00000070; // type:object size:0x24 lbl_1_data_94 = .data:0x00000094; // type:object size:0xC lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x4 data:byte -lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x1A scope:local data:string -lbl_1_data_BE = .data:0x000000BE; // type:object size:0x19 scope:local data:string -lbl_1_data_D8 = .data:0x000000D8; // type:object size:0xB scope:local data:string +lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x1A data:string +lbl_1_data_BE = .data:0x000000BE; // type:object size:0x19 data:string +lbl_1_data_D8 = .data:0x000000D8; // type:object size:0xB data:string lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x20 lbl_1_data_104 = .data:0x00000104; // type:object size:0x60 lbl_1_data_164 = .data:0x00000164; // type:object size:0x20 diff --git a/config/GMPE01_00/rels/m422Dll/symbols.txt b/config/GMPE01_00/rels/m422Dll/symbols.txt index db300891..f4f38637 100644 --- a/config/GMPE01_00/rels/m422Dll/symbols.txt +++ b/config/GMPE01_00/rels/m422Dll/symbols.txt @@ -13,191 +13,191 @@ ObjectSetup = .text:0x0000B058; // type:function size:0x428 fn_1_B480 = .text:0x0000B480; // type:function size:0xAC _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x30 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x30 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x30 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x30 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x30 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x30 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x30 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x1C scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x1C scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x10 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x10 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0xC scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0xC scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0xC scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0xC scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 scope:local data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 scope:local data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 scope:local data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 scope:local data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 scope:local data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 scope:local data:double -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x60 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x60 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x30 scope:local data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x30 scope:local data:4byte -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x8 scope:local data:double -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 scope:local data:float -lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 scope:local data:float -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x8 scope:local data:double -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x8 scope:local data:double -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x8 scope:local data:double -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x8 scope:local data:double -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x4 scope:local data:float -lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x4 scope:local data:float -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x8 scope:local data:double -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x8 scope:local data:double -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 scope:local data:float -lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 scope:local data:float -lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 scope:local data:float -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x4 scope:local data:float -lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 scope:local data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x8 scope:local data:double -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x8 scope:local data:double -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x8 scope:local data:double -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 scope:local data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5EC = .rodata:0x000005EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F4 = .rodata:0x000005F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 scope:local data:double -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x2C scope:local data:4byte -lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 scope:local data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x4 scope:local data:float -lbl_1_rodata_63C = .rodata:0x0000063C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 scope:local data:float -lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x8 scope:local data:double -lbl_1_rodata_650 = .rodata:0x00000650; // type:object size:0x8 scope:local data:double -lbl_1_rodata_658 = .rodata:0x00000658; // type:object size:0x8 scope:local data:double -lbl_1_rodata_660 = .rodata:0x00000660; // type:object size:0x4 scope:local data:float -lbl_1_rodata_664 = .rodata:0x00000664; // type:object size:0x4 scope:local data:float -lbl_1_rodata_668 = .rodata:0x00000668; // type:object size:0x28 scope:local data:4byte -lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_6B0 = .rodata:0x000006B0; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_6B8 = .rodata:0x000006B8; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_6C0 = .rodata:0x000006C0; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_6C8 = .rodata:0x000006C8; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_708 = .rodata:0x00000708; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_748 = .rodata:0x00000748; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74C = .rodata:0x0000074C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_750 = .rodata:0x00000750; // type:object size:0x4 scope:local data:float -lbl_1_rodata_754 = .rodata:0x00000754; // type:object size:0x4 scope:local data:float -lbl_1_rodata_758 = .rodata:0x00000758; // type:object size:0x4 scope:local data:float -lbl_1_rodata_760 = .rodata:0x00000760; // type:object size:0x8 scope:local data:double -lbl_1_rodata_768 = .rodata:0x00000768; // type:object size:0x4 scope:local data:float -lbl_1_rodata_76C = .rodata:0x0000076C; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_77C = .rodata:0x0000077C; // type:object size:0xC scope:local data:float -lbl_1_rodata_788 = .rodata:0x00000788; // type:object size:0xC scope:local data:float -lbl_1_rodata_794 = .rodata:0x00000794; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_798 = .rodata:0x00000798; // type:object size:0x4 scope:local data:float -lbl_1_rodata_79C = .rodata:0x0000079C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7A0 = .rodata:0x000007A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7A4 = .rodata:0x000007A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7A8 = .rodata:0x000007A8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x30 +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x30 +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x30 +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x30 +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x30 +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x30 +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x30 +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x1C data:4byte +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x1C data:4byte +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x10 data:4byte +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x10 data:4byte +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0xC data:4byte +lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0xC data:4byte +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0xC data:4byte +lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0xC data:4byte +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0xC data:4byte +lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x20 data:4byte +lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float +lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float +lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float +lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 data:double +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float +lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float +lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float +lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float +lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 data:double +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float +lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float +lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float +lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float +lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float +lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float +lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float +lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float +lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float +lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float +lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float +lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float +lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 data:double +lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 data:double +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x60 +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:4byte +lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x60 +lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x30 data:4byte +lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x34 data:4byte +lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 data:double +lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x8 data:double +lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x8 data:double +lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 data:double +lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x8 data:double +lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 data:double +lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 data:double +lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float +lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 data:double +lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float +lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float +lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float +lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 data:float +lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float +lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float +lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float +lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float +lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float +lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 data:float +lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x8 data:double +lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 data:float +lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 data:float +lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 data:float +lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 data:float +lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x8 data:double +lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x8 data:double +lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x8 data:double +lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x8 data:double +lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x4 data:float +lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x4 data:float +lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x8 data:double +lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x8 data:double +lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 data:float +lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 data:float +lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 data:float +lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 data:float +lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x4 data:float +lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 data:float +lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 data:float +lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x8 data:double +lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x8 data:double +lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x8 data:double +lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 data:float +lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x8 data:double +lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 data:double +lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x8 data:double +lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 data:float +lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 data:float +lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 data:float +lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 data:float +lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x8 data:double +lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x8 data:double +lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float +lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 data:float +lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 data:float +lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 data:float +lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float +lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 data:float +lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x4 data:float +lbl_1_rodata_5EC = .rodata:0x000005EC; // type:object size:0x4 data:float +lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 data:float +lbl_1_rodata_5F4 = .rodata:0x000005F4; // type:object size:0x4 data:float +lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x4 data:float +lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 data:double +lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x2C data:4byte +lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 data:float +lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x4 data:float +lbl_1_rodata_63C = .rodata:0x0000063C; // type:object size:0x4 data:float +lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 data:float +lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x8 data:double +lbl_1_rodata_650 = .rodata:0x00000650; // type:object size:0x8 data:double +lbl_1_rodata_658 = .rodata:0x00000658; // type:object size:0x8 data:double +lbl_1_rodata_660 = .rodata:0x00000660; // type:object size:0x4 data:float +lbl_1_rodata_664 = .rodata:0x00000664; // type:object size:0x4 data:float +lbl_1_rodata_668 = .rodata:0x00000668; // type:object size:0x28 data:4byte +lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x20 data:4byte +lbl_1_rodata_6B0 = .rodata:0x000006B0; // type:object size:0x8 data:4byte +lbl_1_rodata_6B8 = .rodata:0x000006B8; // type:object size:0x8 data:4byte +lbl_1_rodata_6C0 = .rodata:0x000006C0; // type:object size:0x8 data:4byte +lbl_1_rodata_6C8 = .rodata:0x000006C8; // type:object size:0x40 data:4byte +lbl_1_rodata_708 = .rodata:0x00000708; // type:object size:0x40 data:4byte +lbl_1_rodata_748 = .rodata:0x00000748; // type:object size:0x4 data:float +lbl_1_rodata_74C = .rodata:0x0000074C; // type:object size:0x4 data:float +lbl_1_rodata_750 = .rodata:0x00000750; // type:object size:0x4 data:float +lbl_1_rodata_754 = .rodata:0x00000754; // type:object size:0x4 data:float +lbl_1_rodata_758 = .rodata:0x00000758; // type:object size:0x4 data:float +lbl_1_rodata_760 = .rodata:0x00000760; // type:object size:0x8 data:double +lbl_1_rodata_768 = .rodata:0x00000768; // type:object size:0x4 data:float +lbl_1_rodata_76C = .rodata:0x0000076C; // type:object size:0x10 data:4byte +lbl_1_rodata_77C = .rodata:0x0000077C; // type:object size:0xC data:4byte +lbl_1_rodata_788 = .rodata:0x00000788; // type:object size:0xC data:4byte +lbl_1_rodata_794 = .rodata:0x00000794; // type:object size:0x4 data:byte +lbl_1_rodata_798 = .rodata:0x00000798; // type:object size:0x4 data:float +lbl_1_rodata_79C = .rodata:0x0000079C; // type:object size:0x4 data:float +lbl_1_rodata_7A0 = .rodata:0x000007A0; // type:object size:0x4 data:float +lbl_1_rodata_7A4 = .rodata:0x000007A4; // type:object size:0x4 data:float +lbl_1_rodata_7A8 = .rodata:0x000007A8; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x40 lbl_1_data_40 = .data:0x00000040; // type:object size:0x60 lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x20 @@ -205,29 +205,29 @@ lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x20 lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x7 lbl_1_data_E7 = .data:0x000000E7; // type:object size:0x9 lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x1680 data:float -lbl_1_data_1770 = .data:0x00001770; // type:object size:0xF scope:local data:string -lbl_1_data_177F = .data:0x0000177F; // type:object size:0x10 scope:local data:string -lbl_1_data_178F = .data:0x0000178F; // type:object size:0x10 scope:local data:string -lbl_1_data_179F = .data:0x0000179F; // type:object size:0xF scope:local data:string -lbl_1_data_17AE = .data:0x000017AE; // type:object size:0x10 scope:local data:string -lbl_1_data_17BE = .data:0x000017BE; // type:object size:0x10 scope:local data:string -lbl_1_data_17CE = .data:0x000017CE; // type:object size:0xF scope:local data:string -lbl_1_data_17DD = .data:0x000017DD; // type:object size:0x11 scope:local data:string -lbl_1_data_17EE = .data:0x000017EE; // type:object size:0x11 scope:local data:string -lbl_1_data_17FF = .data:0x000017FF; // type:object size:0x12 scope:local data:string -lbl_1_data_1811 = .data:0x00001811; // type:object size:0x5 scope:local data:string -lbl_1_data_1816 = .data:0x00001816; // type:object size:0x10 scope:local data:string +lbl_1_data_1770 = .data:0x00001770; // type:object size:0xF data:string +lbl_1_data_177F = .data:0x0000177F; // type:object size:0x10 data:string +lbl_1_data_178F = .data:0x0000178F; // type:object size:0x10 data:string +lbl_1_data_179F = .data:0x0000179F; // type:object size:0xF data:string +lbl_1_data_17AE = .data:0x000017AE; // type:object size:0x10 data:string +lbl_1_data_17BE = .data:0x000017BE; // type:object size:0x10 data:string +lbl_1_data_17CE = .data:0x000017CE; // type:object size:0xF data:string +lbl_1_data_17DD = .data:0x000017DD; // type:object size:0x11 data:string +lbl_1_data_17EE = .data:0x000017EE; // type:object size:0x11 data:string +lbl_1_data_17FF = .data:0x000017FF; // type:object size:0x12 data:string +lbl_1_data_1811 = .data:0x00001811; // type:object size:0x5 data:string +lbl_1_data_1816 = .data:0x00001816; // type:object size:0x12 lbl_1_data_1828 = .data:0x00001828; // type:object size:0x50 lbl_1_data_1878 = .data:0x00001878; // type:object size:0x2C lbl_1_data_18A4 = .data:0x000018A4; // type:object size:0x8 data:4byte lbl_1_data_18AC = .data:0x000018AC; // type:object size:0x4 data:4byte lbl_1_data_18B0 = .data:0x000018B0; // type:object size:0x4 data:4byte -lbl_1_data_18B4 = .data:0x000018B4; // type:object size:0x40 data:float -lbl_1_data_18F4 = .data:0x000018F4; // type:object size:0x8 data:4byte +lbl_1_data_18B4 = .data:0x000018B4; // type:object size:0x40 +lbl_1_data_18F4 = .data:0x000018F4; // type:object size:0xC data:4byte lbl_1_data_1900 = .data:0x00001900; // type:object size:0x4 data:4byte -lbl_1_data_1904 = .data:0x00001904; // type:object size:0x1B scope:local data:string -lbl_1_data_191F = .data:0x0000191F; // type:object size:0x19 scope:local data:string -lbl_1_data_1938 = .data:0x00001938; // type:object size:0x24 scope:local data:string +lbl_1_data_1904 = .data:0x00001904; // type:object size:0x1B data:string +lbl_1_data_191F = .data:0x0000191F; // type:object size:0x19 data:string +lbl_1_data_1938 = .data:0x00001938; // type:object size:0x24 data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:float lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:float lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:float diff --git a/config/GMPE01_00/rels/m423Dll/symbols.txt b/config/GMPE01_00/rels/m423Dll/symbols.txt index ddeb5a66..bd1d1367 100644 --- a/config/GMPE01_00/rels/m423Dll/symbols.txt +++ b/config/GMPE01_00/rels/m423Dll/symbols.txt @@ -103,234 +103,234 @@ fn_1_1367C = .text:0x0001367C; // type:function size:0x148 fn_1_137C4 = .text:0x000137C4; // type:function size:0x78C _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 scope:local data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 scope:local data:double -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 scope:local data:double -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x8 scope:local data:double +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float +lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float +lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float +lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float +lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float +lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float +lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float +lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float +lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float +lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float +lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 data:double +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float +lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x1 data:byte +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float +lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float +lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float +lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float +lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float +lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float +lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 data:double +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 data:double +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float +lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x8 data:double lbl_1_data_0 = .data:0x00000000; // type:object size:0x38 data:float -lbl_1_data_38 = .data:0x00000038; // type:object size:0x118 data:float +lbl_1_data_38 = .data:0x00000038; // type:object size:0x118 lbl_1_data_150 = .data:0x00000150; // type:object size:0x30 data:float lbl_1_data_180 = .data:0x00000180; // type:object size:0x30 data:float -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x24 data:float -lbl_1_data_1D4 = .data:0x000001D4; // type:object size:0xC data:float -lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0xC data:float -lbl_1_data_1EC = .data:0x000001EC; // type:object size:0xC data:float -lbl_1_data_1F8 = .data:0x000001F8; // type:object size:0x23 scope:local data:string -lbl_1_data_21C = .data:0x0000021C; // type:object size:0xC data:float -lbl_1_data_228 = .data:0x00000228; // type:object size:0xC data:float +lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x24 +lbl_1_data_1D4 = .data:0x000001D4; // type:object size:0xC +lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0xC +lbl_1_data_1EC = .data:0x000001EC; // type:object size:0xC +lbl_1_data_1F8 = .data:0x000001F8; // type:object size:0x24 +lbl_1_data_21C = .data:0x0000021C; // type:object size:0xC +lbl_1_data_228 = .data:0x00000228; // type:object size:0xC lbl_1_data_234 = .data:0x00000234; // type:object size:0x4 lbl_1_data_238 = .data:0x00000238; // type:object size:0x18 lbl_1_data_250 = .data:0x00000250; // type:object size:0x18 jumptable_1_data_268 = .data:0x00000268; // type:object size:0x30 scope:local -lbl_1_data_298 = .data:0x00000298; // type:object size:0x4 data:byte -lbl_1_data_29C = .data:0x0000029C; // type:object size:0x30 data:float -lbl_1_data_2CC = .data:0x000002CC; // type:object size:0x20 data:float -lbl_1_data_2EC = .data:0x000002EC; // type:object size:0x20 data:float -lbl_1_data_30C = .data:0x0000030C; // type:object size:0x4 data:byte -lbl_1_data_310 = .data:0x00000310; // type:object size:0x4 data:byte +lbl_1_data_298 = .data:0x00000298; // type:object size:0x1 data:byte +lbl_1_data_29C = .data:0x0000029C; // type:object size:0x30 +lbl_1_data_2CC = .data:0x000002CC; // type:object size:0x20 +lbl_1_data_2EC = .data:0x000002EC; // type:object size:0x20 +lbl_1_data_30C = .data:0x0000030C; // type:object size:0x4 +lbl_1_data_310 = .data:0x00000310; // type:object size:0x1 data:byte lbl_1_data_314 = .data:0x00000314; // type:object size:0x20 data:4byte -lbl_1_data_334 = .data:0x00000334; // type:object size:0x30 data:float -lbl_1_data_364 = .data:0x00000364; // type:object size:0x24 data:float +lbl_1_data_334 = .data:0x00000334; // type:object size:0x30 +lbl_1_data_364 = .data:0x00000364; // type:object size:0x24 lbl_1_data_388 = .data:0x00000388; // type:object size:0x4 data:byte -lbl_1_data_38C = .data:0x0000038C; // type:object size:0x1F scope:local data:string +lbl_1_data_38C = .data:0x0000038C; // type:object size:0x1F data:string lbl_1_data_3AB = .data:0x000003AB; // type:object size:0x4 data:byte lbl_1_data_3AF = .data:0x000003AF; // type:object size:0x4 data:byte lbl_1_data_3B3 = .data:0x000003B3; // type:object size:0x4 data:byte -lbl_1_data_3B8 = .data:0x000003B8; // type:object size:0xF0 data:float +lbl_1_data_3B8 = .data:0x000003B8; // type:object size:0xF0 lbl_1_data_4A8 = .data:0x000004A8; // type:object size:0x54 lbl_1_data_4FC = .data:0x000004FC; // type:object size:0xC lbl_1_data_508 = .data:0x00000508; // type:object size:0x18 -lbl_1_data_520 = .data:0x00000520; // type:object size:0x6 data:2byte +lbl_1_data_520 = .data:0x00000520; // type:object size:0x6 lbl_1_data_526 = .data:0x00000526; // type:object size:0x6 lbl_1_data_52C = .data:0x0000052C; // type:object size:0x8 lbl_1_data_534 = .data:0x00000534; // type:object size:0x40 lbl_1_data_574 = .data:0x00000574; // type:object size:0xC lbl_1_data_580 = .data:0x00000580; // type:object size:0x58 lbl_1_data_5D8 = .data:0x000005D8; // type:object size:0x10 -lbl_1_data_5E8 = .data:0x000005E8; // type:object size:0xC data:float -lbl_1_data_5F4 = .data:0x000005F4; // type:object size:0x4 data:byte -lbl_1_data_5F8 = .data:0x000005F8; // type:object size:0x4 data:byte +lbl_1_data_5E8 = .data:0x000005E8; // type:object size:0xC data:4byte +lbl_1_data_5F4 = .data:0x000005F4; // type:object size:0x1 data:byte +lbl_1_data_5F8 = .data:0x000005F8; // type:object size:0x1 data:byte jumptable_1_data_5FC = .data:0x000005FC; // type:object size:0x34 scope:local -lbl_1_data_630 = .data:0x00000630; // type:object size:0x4 data:byte +lbl_1_data_630 = .data:0x00000630; // type:object size:0x1 data:byte jumptable_1_data_634 = .data:0x00000634; // type:object size:0x34 scope:local lbl_1_data_668 = .data:0x00000668; // type:object size:0x10 -lbl_1_data_678 = .data:0x00000678; // type:object size:0x10 data:float +lbl_1_data_678 = .data:0x00000678; // type:object size:0x10 lbl_1_data_688 = .data:0x00000688; // type:object size:0x20 lbl_1_data_6A8 = .data:0x000006A8; // type:object size:0x20 data:4byte lbl_1_data_6C8 = .data:0x000006C8; // type:object size:0x10 -lbl_1_data_6D8 = .data:0x000006D8; // type:object size:0x20 data:float +lbl_1_data_6D8 = .data:0x000006D8; // type:object size:0x20 lbl_1_data_6F8 = .data:0x000006F8; // type:object size:0x20 lbl_1_data_718 = .data:0x00000718; // type:object size:0x20 lbl_1_data_738 = .data:0x00000738; // type:object size:0x20 -lbl_1_data_758 = .data:0x00000758; // type:object size:0x4 data:byte -lbl_1_data_75C = .data:0x0000075C; // type:object size:0x48 data:2byte +lbl_1_data_758 = .data:0x00000758; // type:object size:0x1 data:byte +lbl_1_data_75C = .data:0x0000075C; // type:object size:0x48 jumptable_1_data_7A4 = .data:0x000007A4; // type:object size:0x20 scope:local lbl_1_data_7C4 = .data:0x000007C4; // type:object size:0x18 jumptable_1_data_7DC = .data:0x000007DC; // type:object size:0x20 scope:local -lbl_1_data_7FC = .data:0x000007FC; // type:object size:0x20 data:byte +lbl_1_data_7FC = .data:0x000007FC; // type:object size:0x20 lbl_1_data_81C = .data:0x0000081C; // type:object size:0x20 -lbl_1_data_83C = .data:0x0000083C; // type:object size:0x8 data:2byte -lbl_1_data_844 = .data:0x00000844; // type:object size:0x60 data:2byte -lbl_1_data_8A4 = .data:0x000008A4; // type:object size:0x20 data:float -lbl_1_data_8C4 = .data:0x000008C4; // type:object size:0x30 data:float -lbl_1_data_8F4 = .data:0x000008F4; // type:object size:0x20 data:float +lbl_1_data_83C = .data:0x0000083C; // type:object size:0x8 +lbl_1_data_844 = .data:0x00000844; // type:object size:0x60 +lbl_1_data_8A4 = .data:0x000008A4; // type:object size:0x20 +lbl_1_data_8C4 = .data:0x000008C4; // type:object size:0x30 +lbl_1_data_8F4 = .data:0x000008F4; // type:object size:0x20 lbl_1_data_914 = .data:0x00000914; // type:object size:0x6 data:byte lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x3C data:4byte @@ -359,7 +359,7 @@ lbl_1_bss_EC = .bss:0x000000EC; // type:object size:0x10 data:4byte lbl_1_bss_FC = .bss:0x000000FC; // type:object size:0x4 data:4byte lbl_1_bss_100 = .bss:0x00000100; // type:object size:0x4 data:4byte lbl_1_bss_104 = .bss:0x00000104; // type:object size:0x4 data:4byte -lbl_1_bss_108 = .bss:0x00000108; // type:object size:0x4 data:4byte +lbl_1_bss_108 = .bss:0x00000108; // type:object size:0x8 data:4byte lbl_1_bss_110 = .bss:0x00000110; // type:object size:0x4 data:4byte lbl_1_bss_114 = .bss:0x00000114; // type:object size:0x4 data:4byte lbl_1_bss_118 = .bss:0x00000118; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m424Dll/splits.txt b/config/GMPE01_00/rels/m424Dll/splits.txt index 8a0d8259..464ddcb7 100644 --- a/config/GMPE01_00/rels/m424Dll/splits.txt +++ b/config/GMPE01_00/rels/m424Dll/splits.txt @@ -12,13 +12,12 @@ REL/executor.c: REL/m424Dll/main.c: .text start:0x000000A0 end:0x00001AB8 .rodata start:0x00000000 end:0x00000090 - .data start:0x00000000 end:0x000000E0 + .data start:0x00000000 end:0x00000150 .bss start:0x00000000 end:0x00000050 REL/m424Dll/map.c: .text start:0x00001AB8 end:0x00002720 .rodata start:0x00000090 end:0x000000F8 - .data start:0x000000E0 end:0x00000150 .bss start:0x00000050 end:0x00000058 REL/m424Dll/ball.c: diff --git a/config/GMPE01_00/rels/m424Dll/symbols.txt b/config/GMPE01_00/rels/m424Dll/symbols.txt index 8320af0c..987485bc 100644 --- a/config/GMPE01_00/rels/m424Dll/symbols.txt +++ b/config/GMPE01_00/rels/m424Dll/symbols.txt @@ -97,168 +97,168 @@ fn_1_CF80 = .text:0x0000CF80; // type:function size:0x90 fn_1_D010 = .text:0x0000D010; // type:function size:0x64 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 scope:local data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 scope:local data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float +lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float +lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float +lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float +lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0xC data:4byte +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float +lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float +lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float +lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float +lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float +lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float +lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float +lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float +lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float +lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float +lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float +lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float +lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float +lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float +lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 data:double +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float +lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 data:double +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float +lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float +lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float +lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float +lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float +lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float +lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x54 data:float lbl_1_data_54 = .data:0x00000054; // type:object size:0xC lbl_1_data_60 = .data:0x00000060; // type:object size:0xC lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC -lbl_1_data_78 = .data:0x00000078; // type:object size:0x23 scope:local data:string +lbl_1_data_78 = .data:0x00000078; // type:object size:0x23 data:string lbl_1_data_9C = .data:0x0000009C; // type:object size:0xC lbl_1_data_A8 = .data:0x000000A8; // type:object size:0xC lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x4 @@ -266,11 +266,8 @@ jumptable_1_data_B8 = .data:0x000000B8; // type:object size:0x28 scope:local lbl_1_data_E0 = .data:0x000000E0; // type:object size:0xC lbl_1_data_EC = .data:0x000000EC; // type:object size:0xC lbl_1_data_F8 = .data:0x000000F8; // type:object size:0xC -lbl_1_data_104 = .data:0x00000104; // type:object size:0x7 scope:local data:string -lbl_1_data_10C = .data:0x0000010C; // type:object size:0x1C -lbl_1_data_128 = .data:0x00000128; // type:object size:0x4 data:byte -lbl_1_data_12C = .data:0x0000012C; // type:object size:0x1C -lbl_1_data_148 = .data:0x00000148; // type:object size:0x8 +lbl_1_data_104 = .data:0x00000104; // type:object size:0x7 data:string +lbl_1_data_10C = .data:0x0000010C; // type:object size:0x44 lbl_1_data_150 = .data:0x00000150; // type:object size:0x2C lbl_1_data_17C = .data:0x0000017C; // type:object size:0x30 jumptable_1_data_1AC = .data:0x000001AC; // type:object size:0x2C scope:local @@ -281,16 +278,15 @@ lbl_1_data_21C = .data:0x0000021C; // type:object size:0xC0 lbl_1_data_2DC = .data:0x000002DC; // type:object size:0xC lbl_1_data_2E8 = .data:0x000002E8; // type:object size:0x24 lbl_1_data_30C = .data:0x0000030C; // type:object size:0xC data:4byte -lbl_1_data_318 = .data:0x00000318; // type:object size:0x6 scope:local data:string -lbl_1_data_31E = .data:0x0000031E; // type:object size:0x6 scope:local data:string -lbl_1_data_324 = .data:0x00000324; // type:object size:0x6 scope:local data:string +lbl_1_data_318 = .data:0x00000318; // type:object size:0x6 data:string +lbl_1_data_31E = .data:0x0000031E; // type:object size:0x6 data:string +lbl_1_data_324 = .data:0x00000324; // type:object size:0x6 data:string jumptable_1_data_32C = .data:0x0000032C; // type:object size:0x40 scope:local lbl_1_data_36C = .data:0x0000036C; // type:object size:0x20 lbl_1_data_38C = .data:0x0000038C; // type:object size:0x20 -lbl_1_data_3AC = .data:0x000003AC; // type:object size:0x19 scope:local data:string -lbl_1_data_3C5 = .data:0x000003C5; // type:object size:0x5 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x8 scope:local data:float +lbl_1_data_3AC = .data:0x000003AC; // type:object size:0x19 data:string +lbl_1_data_3C5 = .data:0x000003C5; // type:object size:0x5 data:string +lbl_1_bss_0 = .bss:0x00000000; // type:object size:0xC data:float lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte @@ -299,8 +295,7 @@ lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x8 data:2byte lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x8 data:2byte lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte +lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x8 data:4byte lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte @@ -317,7 +312,6 @@ lbl_1_bss_640 = .bss:0x00000640; // type:object size:0x80 data:4byte lbl_1_bss_6C0 = .bss:0x000006C0; // type:object size:0x4 data:4byte lbl_1_bss_6C4 = .bss:0x000006C4; // type:object size:0x4 data:4byte lbl_1_bss_6C8 = .bss:0x000006C8; // type:object size:0x4 data:4byte -lbl_1_bss_6CC = .bss:0x000006CC; // type:object size:0x4 data:4byte -lbl_1_bss_6D0 = .bss:0x000006D0; // type:object size:0x8 data:4byte +lbl_1_bss_6CC = .bss:0x000006CC; // type:object size:0xC data:4byte lbl_1_bss_6D8 = .bss:0x000006D8; // type:object size:0x4 data:4byte lbl_1_bss_6DC = .bss:0x000006DC; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m425Dll/symbols.txt b/config/GMPE01_00/rels/m425Dll/symbols.txt index 627df9e1..cae3368f 100644 --- a/config/GMPE01_00/rels/m425Dll/symbols.txt +++ b/config/GMPE01_00/rels/m425Dll/symbols.txt @@ -65,212 +65,211 @@ fn_1_11A74 = .text:0x00011A74; // type:function size:0x46C fn_1_11EE0 = .text:0x00011EE0; // type:function size:0x7B4 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0xC0 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 scope:local data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 scope:local data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 scope:local data:double -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x10 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x10 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 scope:local data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 scope:local data:double -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x8 scope:local data:double -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 scope:local data:double -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 scope:local data:double -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x20 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 scope:local data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 scope:local data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 scope:local data:double -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 scope:local data:double -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x8 scope:local data:double -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 scope:local data:double -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 scope:local data:double -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 scope:local data:double -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 scope:local data:double -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 scope:local data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 scope:local data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 scope:local data:float -lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 scope:local data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x10 data:4byte +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0xC0 +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float +lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float +lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float +lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float +lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float +lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 data:double +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float +lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x10 data:4byte +lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x10 data:4byte +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float +lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float +lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 data:double +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float +lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x8 data:double +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 data:double +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float +lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float +lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 data:double +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x20 data:4byte +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float +lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float +lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 data:float +lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 data:float +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 data:float +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float +lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float +lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float +lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:double +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float +lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float +lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float +lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float +lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float +lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 data:double +lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 data:double +lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float +lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 data:float +lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float +lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float +lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float +lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float +lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 data:double +lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float +lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float +lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float +lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float +lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 data:double +lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x8 data:double +lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 data:double +lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float +lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float +lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 data:double +lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 data:double +lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float +lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 data:double +lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float +lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float +lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float +lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 data:float +lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 data:float +lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 data:float +lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float +lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 data:float +lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float +lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float +lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float +lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float +lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float +lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float +lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float +lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float +lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float +lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 data:double +lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float +lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float +lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float +lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float +lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float +lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float +lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x8 data:double +lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float +lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float +lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float +lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x2 data:2byte lbl_1_data_4 = .data:0x00000004; // type:object size:0xC lbl_1_data_10 = .data:0x00000010; // type:object size:0xC -lbl_1_data_1C = .data:0x0000001C; // type:object size:0x24 data:float +lbl_1_data_1C = .data:0x0000001C; // type:object size:0x24 lbl_1_data_40 = .data:0x00000040; // type:object size:0x4 -lbl_1_data_44 = .data:0x00000044; // type:object size:0x23 scope:local data:string +lbl_1_data_44 = .data:0x00000044; // type:object size:0x23 data:string lbl_1_data_68 = .data:0x00000068; // type:object size:0x4 data:4byte lbl_1_data_6C = .data:0x0000006C; // type:object size:0x28 lbl_1_data_94 = .data:0x00000094; // type:object size:0x30 jumptable_1_data_C4 = .data:0x000000C4; // type:object size:0x28 scope:local jumptable_1_data_EC = .data:0x000000EC; // type:object size:0x28 scope:local lbl_1_data_114 = .data:0x00000114; // type:object size:0x4 data:4byte -lbl_1_data_118 = .data:0x00000118; // type:object size:0x18 data:float -lbl_1_data_130 = .data:0x00000130; // type:object size:0x1F scope:local data:string +lbl_1_data_118 = .data:0x00000118; // type:object size:0x18 +lbl_1_data_130 = .data:0x00000130; // type:object size:0x1F data:string lbl_1_data_150 = .data:0x00000150; // type:object size:0x18 lbl_1_data_168 = .data:0x00000168; // type:object size:0x4 data:byte -lbl_1_data_16C = .data:0x0000016C; // type:object size:0x30 data:float -lbl_1_data_19C = .data:0x0000019C; // type:object size:0x30 data:float +lbl_1_data_16C = .data:0x0000016C; // type:object size:0x30 +lbl_1_data_19C = .data:0x0000019C; // type:object size:0x30 lbl_1_data_1CC = .data:0x000001CC; // type:object size:0x20 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:float lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:float lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:float @@ -288,7 +287,7 @@ lbl_1_bss_668 = .bss:0x00000668; // type:object size:0x4 data:4byte lbl_1_bss_670 = .bss:0x00000670; // type:object size:0xC data:float lbl_1_bss_67C = .bss:0x0000067C; // type:object size:0xC data:float lbl_1_bss_688 = .bss:0x00000688; // type:object size:0x40 -lbl_1_bss_6C8 = .bss:0x000006C8; // type:object size:0x4 data:byte +lbl_1_bss_6C8 = .bss:0x000006C8; // type:object size:0x1 data:byte lbl_1_bss_6CC = .bss:0x000006CC; // type:object size:0x4 data:4byte lbl_1_bss_6D0 = .bss:0x000006D0; // type:object size:0x1 data:byte lbl_1_bss_6D4 = .bss:0x000006D4; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m426Dll/symbols.txt b/config/GMPE01_00/rels/m426Dll/symbols.txt index e85de3cf..76e8528e 100644 --- a/config/GMPE01_00/rels/m426Dll/symbols.txt +++ b/config/GMPE01_00/rels/m426Dll/symbols.txt @@ -197,7 +197,7 @@ jumptable_1_data_330 = .data:0x00000330; // type:object size:0x1C scope:local jumptable_1_data_34C = .data:0x0000034C; // type:object size:0x1C scope:local lbl_1_bss_0 = .bss:0x00000000; // type:object size:0xC data:float lbl_1_bss_C = .bss:0x0000000C; // type:object size:0xC data:float -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:byte +lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x1 data:byte lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x8 data:4byte lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:float diff --git a/config/GMPE01_00/rels/m427Dll/symbols.txt b/config/GMPE01_00/rels/m427Dll/symbols.txt index 96db2763..a8b25f76 100644 --- a/config/GMPE01_00/rels/m427Dll/symbols.txt +++ b/config/GMPE01_00/rels/m427Dll/symbols.txt @@ -144,217 +144,217 @@ fn_1_172F0 = .text:0x000172F0; // type:function size:0x140 fn_1_17430 = .text:0x00017430; // type:function size:0xA4 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0xC scope:local data:2byte -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x3C scope:local data:4byte -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x6 scope:local data:2byte -lbl_1_rodata_136 = .rodata:0x00000136; // type:object size:0xC scope:local data:2byte -lbl_1_rodata_142 = .rodata:0x00000142; // type:object size:0x1A scope:local data:2byte -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x30 scope:local data:4byte -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0xC scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x2 scope:local data:byte -lbl_1_rodata_38A = .rodata:0x0000038A; // type:object size:0x2 scope:local data:byte -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 scope:local data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x8 scope:local data:double -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 scope:local data:double -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 scope:local data:double -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 scope:local data:double -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 scope:local data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 scope:local data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x8 scope:local data:double -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 scope:local data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 scope:local data:double +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float +lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float +lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0xC data:2byte +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x3C data:4byte +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x6 data:2byte +lbl_1_rodata_136 = .rodata:0x00000136; // type:object size:0xC data:2byte +lbl_1_rodata_142 = .rodata:0x00000142; // type:object size:0x1A data:2byte +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x24 data:4byte +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x30 data:4byte +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x10 data:4byte +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float +lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float +lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float +lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float +lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float +lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float +lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float +lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float +lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float +lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float +lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float +lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float +lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float +lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float +lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float +lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 data:double +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 data:double +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float +lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0xC data:4byte +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float +lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float +lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float +lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float +lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float +lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float +lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float +lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float +lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0xC data:4byte +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float +lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float +lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x1 data:byte +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float +lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float +lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float +lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float +lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:byte +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:byte +lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float +lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float +lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x2 data:byte +lbl_1_rodata_38A = .rodata:0x0000038A; // type:object size:0x2 data:byte +lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float +lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float +lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 data:float +lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 data:float +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float +lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float +lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float +lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float +lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:double +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:double +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float +lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float +lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float +lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float +lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float +lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 data:double +lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 data:float +lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 data:float +lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x8 data:double +lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float +lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float +lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float +lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float +lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float +lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float +lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float +lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float +lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float +lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float +lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 data:float +lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 data:float +lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float +lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float +lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float +lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 data:float +lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float +lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float +lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 data:double +lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 data:double +lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float +lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 data:double +lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float +lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float +lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x8 data:double +lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 data:double +lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 data:double lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 data:float -lbl_1_data_70 = .data:0x00000070; // type:object size:0x23 scope:local data:string +lbl_1_data_70 = .data:0x00000070; // type:object size:0x23 data:string jumptable_1_data_94 = .data:0x00000094; // type:object size:0x3C scope:local lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x8 lbl_1_data_D8 = .data:0x000000D8; // type:object size:0x4 lbl_1_data_DC = .data:0x000000DC; // type:object size:0x4 lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x4 data:2byte -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x4 data:byte -lbl_1_data_EC = .data:0x000000EC; // type:object size:0x5 scope:local data:string +lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x4 data:2byte +lbl_1_data_EC = .data:0x000000EC; // type:object size:0x5 data:string lbl_1_data_F4 = .data:0x000000F4; // type:object size:0x4 data:float lbl_1_data_F8 = .data:0x000000F8; // type:object size:0x4 data:float lbl_1_data_FC = .data:0x000000FC; // type:object size:0x30 @@ -365,19 +365,18 @@ lbl_1_data_1D4 = .data:0x000001D4; // type:object size:0x8 lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x8 lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x8 lbl_1_data_1EC = .data:0x000001EC; // type:object size:0x4 -lbl_1_data_1F0 = .data:0x000001F0; // type:object size:0x13 scope:local data:string -lbl_1_data_203 = .data:0x00000203; // type:object size:0x10 scope:local data:string -lbl_1_data_213 = .data:0x00000213; // type:object size:0x26 scope:local data:string -lbl_1_data_239 = .data:0x00000239; // type:object size:0x24 scope:local data:string +lbl_1_data_1F0 = .data:0x000001F0; // type:object size:0x13 data:string +lbl_1_data_203 = .data:0x00000203; // type:object size:0x10 data:string +lbl_1_data_213 = .data:0x00000213; // type:object size:0x26 data:string +lbl_1_data_239 = .data:0x00000239; // type:object size:0x25 lbl_1_data_260 = .data:0x00000260; // type:object size:0x15C -lbl_1_data_3BC = .data:0x000003BC; // type:object size:0x15C -lbl_1_data_518 = .data:0x00000518; // type:object size:0x1C +lbl_1_data_3BC = .data:0x000003BC; // type:object size:0x178 lbl_1_data_534 = .data:0x00000534; // type:object size:0x18 lbl_1_data_54C = .data:0x0000054C; // type:object size:0x18 data:float lbl_1_data_564 = .data:0x00000564; // type:object size:0xC data:float lbl_1_data_570 = .data:0x00000570; // type:object size:0xC data:float lbl_1_data_57C = .data:0x0000057C; // type:object size:0x4 -lbl_1_data_580 = .data:0x00000580; // type:object size:0xE scope:local data:string +lbl_1_data_580 = .data:0x00000580; // type:object size:0xE data:string lbl_1_data_590 = .data:0x00000590; // type:object size:0x1C lbl_1_data_5AC = .data:0x000005AC; // type:object size:0x1C lbl_1_data_5C8 = .data:0x000005C8; // type:object size:0x8 diff --git a/config/GMPE01_00/rels/m428Dll/splits.txt b/config/GMPE01_00/rels/m428Dll/splits.txt index 3a44b731..03f22ea9 100644 --- a/config/GMPE01_00/rels/m428Dll/splits.txt +++ b/config/GMPE01_00/rels/m428Dll/splits.txt @@ -10,13 +10,13 @@ REL/executor.c: .text start:0x00000000 end:0x000000A0 REL/m428Dll/main.c: - .text start:0x000000A0 end:0x000043C8 + .text start:0x000000A0 end:0x000040A4 .rodata start:0x00000000 end:0x000000D8 .data start:0x00000000 end:0x00000130 .bss start:0x00000000 end:0x00000090 REL/m428Dll/map.c: - .text start:0x000043C8 end:0x00009F5C + .text start:0x000040A4 end:0x00009F5C .rodata start:0x000000D8 end:0x00000228 .data start:0x00000130 end:0x00000150 .bss start:0x00000090 end:0x00000130 diff --git a/config/GMPE01_00/rels/m428Dll/symbols.txt b/config/GMPE01_00/rels/m428Dll/symbols.txt index 5f9d1250..eef0a9df 100644 --- a/config/GMPE01_00/rels/m428Dll/symbols.txt +++ b/config/GMPE01_00/rels/m428Dll/symbols.txt @@ -124,222 +124,222 @@ fn_1_14560 = .text:0x00014560; // type:function size:0x98 fn_1_145F8 = .text:0x000145F8; // type:function size:0x98 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 scope:local data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 scope:local data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 scope:local data:double -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 scope:local data:double -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 scope:local data:double -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 scope:local data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 scope:local data:double -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 scope:local data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 scope:local data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float +lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float +lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float +lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float +lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float +lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float +lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float +lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float +lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float +lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float +lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float +lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float +lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float +lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 data:double +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float +lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float +lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float +lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 data:double +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float +lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 data:double +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 data:double +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float +lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float +lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float +lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float +lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float +lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float +lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float +lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 data:double +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 data:double +lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float +lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:float +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float +lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float +lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 data:double +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float +lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 data:double +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float +lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 data:double +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float +lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float +lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 data:double +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 data:double +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:double +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:double +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 data:double +lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float +lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float +lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float +lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 data:float +lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 data:double +lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 data:double +lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x54 data:float lbl_1_data_54 = .data:0x00000054; // type:object size:0xC lbl_1_data_60 = .data:0x00000060; // type:object size:0xC lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC -lbl_1_data_78 = .data:0x00000078; // type:object size:0x23 scope:local data:string +lbl_1_data_78 = .data:0x00000078; // type:object size:0x23 data:string lbl_1_data_9C = .data:0x0000009C; // type:object size:0xC lbl_1_data_A8 = .data:0x000000A8; // type:object size:0xC lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x4 jumptable_1_data_B8 = .data:0x000000B8; // type:object size:0x30 scope:local lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x4 data:byte -lbl_1_data_EC = .data:0x000000EC; // type:object size:0x44 data:4byte -lbl_1_data_130 = .data:0x00000130; // type:object size:0x14 scope:local data:string -lbl_1_data_144 = .data:0x00000144; // type:object size:0x8 scope:local data:string +lbl_1_data_EC = .data:0x000000EC; // type:object size:0x44 data:byte +lbl_1_data_130 = .data:0x00000130; // type:object size:0x14 +lbl_1_data_144 = .data:0x00000144; // type:object size:0x8 lbl_1_data_14C = .data:0x0000014C; // type:object size:0x4 data:4byte lbl_1_data_150 = .data:0x00000150; // type:object size:0x30 data:float lbl_1_data_180 = .data:0x00000180; // type:object size:0x30 @@ -351,19 +351,18 @@ lbl_1_data_500 = .data:0x00000500; // type:object size:0x60 lbl_1_data_560 = .data:0x00000560; // type:object size:0x80 lbl_1_data_5E0 = .data:0x000005E0; // type:object size:0x60 lbl_1_data_640 = .data:0x00000640; // type:object size:0x10 -lbl_1_data_650 = .data:0x00000650; // type:object size:0x4 data:byte -lbl_1_data_654 = .data:0x00000654; // type:object size:0x4 data:byte -lbl_1_data_658 = .data:0x00000658; // type:object size:0x14 scope:local data:string +lbl_1_data_650 = .data:0x00000650; // type:object size:0x1 data:byte +lbl_1_data_654 = .data:0x00000654; // type:object size:0x1 data:byte +lbl_1_data_658 = .data:0x00000658; // type:object size:0x14 jumptable_1_data_66C = .data:0x0000066C; // type:object size:0x28 scope:local lbl_1_data_694 = .data:0x00000694; // type:object size:0x8 lbl_1_data_69C = .data:0x0000069C; // type:object size:0x4 -lbl_1_data_6A0 = .data:0x000006A0; // type:object size:0x4 data:2byte +lbl_1_data_6A0 = .data:0x000006A0; // type:object size:0x2 data:2byte lbl_1_data_6A4 = .data:0x000006A4; // type:object size:0x30 lbl_1_data_6D4 = .data:0x000006D4; // type:object size:0x20 -lbl_1_data_6F4 = .data:0x000006F4; // type:object size:0x19 scope:local data:string -lbl_1_data_70D = .data:0x0000070D; // type:object size:0x5 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x8 data:4byte +lbl_1_data_6F4 = .data:0x000006F4; // type:object size:0x19 data:string +lbl_1_data_70D = .data:0x0000070D; // type:object size:0x5 data:string +lbl_1_bss_0 = .bss:0x00000000; // type:object size:0xC data:4byte lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m430Dll/symbols.txt b/config/GMPE01_00/rels/m430Dll/symbols.txt index 50779d4f..b27b88e7 100644 --- a/config/GMPE01_00/rels/m430Dll/symbols.txt +++ b/config/GMPE01_00/rels/m430Dll/symbols.txt @@ -115,313 +115,313 @@ fn_1_133A4 = .text:0x000133A4; // type:function size:0x38 fn_1_133DC = .text:0x000133DC; // type:function size:0xB4 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:4byte -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0xC scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0xC scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0xC scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0xC scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x18 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x30 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x18 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 scope:local data:double -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 scope:local data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0xC scope:local data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x8 scope:local data:double -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 scope:local data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 scope:local data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x8 scope:local data:double -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 scope:local data:float -lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 scope:local data:float -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 scope:local data:float -lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x8 scope:local data:double -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x8 scope:local data:double -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 scope:local data:float -lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 scope:local data:float -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 scope:local data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x8 scope:local data:double -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x8 scope:local data:double -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 scope:local data:float -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 scope:local data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 scope:local data:float -lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 scope:local data:float -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 scope:local data:float -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 scope:local data:float -lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 scope:local data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5FC = .rodata:0x000005FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 scope:local data:double -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x8 scope:local data:double -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 scope:local data:double -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 scope:local data:float -lbl_1_rodata_61C = .rodata:0x0000061C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x4 scope:local data:float -lbl_1_rodata_624 = .rodata:0x00000624; // type:object size:0x4 scope:local data:float -lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x4 scope:local data:float -lbl_1_rodata_62C = .rodata:0x0000062C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 scope:local data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x8 scope:local data:double -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x8 scope:local data:double -lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x8 scope:local data:double -lbl_1_rodata_650 = .rodata:0x00000650; // type:object size:0x4 scope:local data:float -lbl_1_rodata_654 = .rodata:0x00000654; // type:object size:0x4 scope:local data:float -lbl_1_rodata_658 = .rodata:0x00000658; // type:object size:0x4 scope:local data:float -lbl_1_rodata_65C = .rodata:0x0000065C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_660 = .rodata:0x00000660; // type:object size:0x4 scope:local data:float -lbl_1_rodata_664 = .rodata:0x00000664; // type:object size:0x4 scope:local data:float -lbl_1_rodata_668 = .rodata:0x00000668; // type:object size:0x8 scope:local data:double -lbl_1_rodata_670 = .rodata:0x00000670; // type:object size:0x8 scope:local data:double -lbl_1_rodata_678 = .rodata:0x00000678; // type:object size:0x4 scope:local data:float -lbl_1_rodata_680 = .rodata:0x00000680; // type:object size:0x8 scope:local data:double -lbl_1_rodata_688 = .rodata:0x00000688; // type:object size:0x4 scope:local data:float -lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x8 scope:local data:double -lbl_1_rodata_698 = .rodata:0x00000698; // type:object size:0x8 scope:local data:double -lbl_1_rodata_6A0 = .rodata:0x000006A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_6A8 = .rodata:0x000006A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6AC = .rodata:0x000006AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6B0 = .rodata:0x000006B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_6B8 = .rodata:0x000006B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6BC = .rodata:0x000006BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C0 = .rodata:0x000006C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_6C8 = .rodata:0x000006C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_6D0 = .rodata:0x000006D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_6D8 = .rodata:0x000006D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6DC = .rodata:0x000006DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6E0 = .rodata:0x000006E0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float +lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:4byte +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x10 data:4byte +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x10 data:4byte +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x10 data:4byte +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x10 data:4byte +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:4byte +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x18 data:4byte +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:4byte +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0xC data:4byte +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0xC data:4byte +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0xC data:4byte +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0xC data:4byte +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float +lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x18 data:4byte +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x30 data:4byte +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x18 data:4byte +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float +lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float +lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float +lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float +lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x8 data:4byte +lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x8 data:4byte +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 data:double +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float +lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float +lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float +lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float +lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float +lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float +lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float +lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float +lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x20 data:4byte +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float +lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float +lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float +lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float +lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float +lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float +lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float +lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float +lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float +lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x14 data:4byte +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x10 data:4byte +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x10 data:4byte +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x1 data:byte +lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x1 data:byte +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x1 data:byte +lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x1 data:byte +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x1 data:byte +lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float +lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float +lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float +lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float +lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 data:float +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x1 data:byte +lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float +lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x1 data:byte +lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float +lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float +lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x1 data:byte +lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x1 data:byte +lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float +lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 data:float +lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 data:float +lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float +lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 data:float +lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float +lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float +lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float +lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float +lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float +lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float +lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float +lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float +lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float +lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float +lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 data:float +lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 data:float +lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float +lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float +lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float +lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 data:double +lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 data:float +lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 data:float +lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 data:4byte +lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float +lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 data:float +lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 data:float +lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0xC data:4byte +lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x8 data:double +lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 data:double +lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float +lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 data:float +lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float +lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float +lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float +lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float +lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float +lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float +lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float +lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float +lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float +lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 data:float +lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 data:float +lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 data:float +lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float +lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float +lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float +lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float +lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float +lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float +lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float +lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 data:float +lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float +lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float +lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float +lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float +lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float +lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 data:float +lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 data:float +lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 data:float +lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 data:double +lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x8 data:double +lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float +lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 data:float +lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 data:float +lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 data:float +lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 data:float +lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 data:float +lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 data:float +lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 data:float +lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x8 data:double +lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x8 data:double +lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 data:float +lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 data:float +lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 data:float +lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x8 data:double +lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x8 data:double +lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 data:float +lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 data:float +lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 data:float +lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 data:float +lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 data:float +lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 data:float +lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 data:float +lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 data:float +lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 data:float +lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 data:float +lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 data:float +lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 data:double +lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 data:float +lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 data:float +lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 data:float +lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 data:float +lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 data:float +lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 data:float +lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 data:float +lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x8 data:double +lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float +lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 data:float +lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 data:float +lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 data:float +lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float +lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 data:float +lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x4 data:float +lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x8 data:double +lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x4 data:float +lbl_1_rodata_5FC = .rodata:0x000005FC; // type:object size:0x4 data:float +lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 data:double +lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x8 data:double +lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 data:double +lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 data:float +lbl_1_rodata_61C = .rodata:0x0000061C; // type:object size:0x4 data:float +lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x4 data:float +lbl_1_rodata_624 = .rodata:0x00000624; // type:object size:0x4 data:float +lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x4 data:float +lbl_1_rodata_62C = .rodata:0x0000062C; // type:object size:0x4 data:float +lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 data:float +lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x8 data:double +lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x8 data:double +lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x8 data:double +lbl_1_rodata_650 = .rodata:0x00000650; // type:object size:0x4 data:float +lbl_1_rodata_654 = .rodata:0x00000654; // type:object size:0x4 data:float +lbl_1_rodata_658 = .rodata:0x00000658; // type:object size:0x4 data:float +lbl_1_rodata_65C = .rodata:0x0000065C; // type:object size:0x4 data:float +lbl_1_rodata_660 = .rodata:0x00000660; // type:object size:0x4 data:float +lbl_1_rodata_664 = .rodata:0x00000664; // type:object size:0x4 data:float +lbl_1_rodata_668 = .rodata:0x00000668; // type:object size:0x8 data:double +lbl_1_rodata_670 = .rodata:0x00000670; // type:object size:0x8 data:double +lbl_1_rodata_678 = .rodata:0x00000678; // type:object size:0x4 data:float +lbl_1_rodata_680 = .rodata:0x00000680; // type:object size:0x8 data:double +lbl_1_rodata_688 = .rodata:0x00000688; // type:object size:0x4 data:float +lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x8 data:double +lbl_1_rodata_698 = .rodata:0x00000698; // type:object size:0x8 data:double +lbl_1_rodata_6A0 = .rodata:0x000006A0; // type:object size:0x8 data:double +lbl_1_rodata_6A8 = .rodata:0x000006A8; // type:object size:0x4 data:float +lbl_1_rodata_6AC = .rodata:0x000006AC; // type:object size:0x4 data:float +lbl_1_rodata_6B0 = .rodata:0x000006B0; // type:object size:0x8 data:double +lbl_1_rodata_6B8 = .rodata:0x000006B8; // type:object size:0x4 data:float +lbl_1_rodata_6BC = .rodata:0x000006BC; // type:object size:0x4 data:float +lbl_1_rodata_6C0 = .rodata:0x000006C0; // type:object size:0x8 data:double +lbl_1_rodata_6C8 = .rodata:0x000006C8; // type:object size:0x8 data:double +lbl_1_rodata_6D0 = .rodata:0x000006D0; // type:object size:0x8 data:double +lbl_1_rodata_6D8 = .rodata:0x000006D8; // type:object size:0x4 data:float +lbl_1_rodata_6DC = .rodata:0x000006DC; // type:object size:0x4 data:float +lbl_1_rodata_6E0 = .rodata:0x000006E0; // type:object size:0x8 data:double lbl_1_data_0 = .data:0x00000000; // type:object size:0xC lbl_1_data_C = .data:0x0000000C; // type:object size:0xC lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float @@ -429,12 +429,12 @@ lbl_1_data_24 = .data:0x00000024; // type:object size:0x4 lbl_1_data_28 = .data:0x00000028; // type:object size:0xC data:float lbl_1_data_34 = .data:0x00000034; // type:object size:0xC data:float lbl_1_data_40 = .data:0x00000040; // type:object size:0xC data:float -lbl_1_data_50 = .data:0x00000050; // type:object size:0x7 scope:local data:string -lbl_1_data_57 = .data:0x00000057; // type:object size:0x7 scope:local data:string -lbl_1_data_60 = .data:0x00000060; // type:object size:0x48 data:float +lbl_1_data_50 = .data:0x00000050; // type:object size:0x7 data:string +lbl_1_data_57 = .data:0x00000057; // type:object size:0x7 data:string +lbl_1_data_60 = .data:0x00000060; // type:object size:0x48 lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x18 -lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x60 data:float -lbl_1_data_120 = .data:0x00000120; // type:object size:0x48 data:float +lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x60 +lbl_1_data_120 = .data:0x00000120; // type:object size:0x48 lbl_1_data_168 = .data:0x00000168; // type:object size:0x8 lbl_1_data_170 = .data:0x00000170; // type:object size:0x38 lbl_1_data_1A8 = .data:0x000001A8; // type:object size:0x20 @@ -445,7 +445,7 @@ lbl_1_data_258 = .data:0x00000258; // type:object size:0x20 lbl_1_data_278 = .data:0x00000278; // type:object size:0x8 lbl_1_data_280 = .data:0x00000280; // type:object size:0x8 lbl_1_data_288 = .data:0x00000288; // type:object size:0x8 -lbl_1_data_290 = .data:0x00000290; // type:object size:0x12 scope:local data:string +lbl_1_data_290 = .data:0x00000290; // type:object size:0x14 lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0x8 lbl_1_data_2AC = .data:0x000002AC; // type:object size:0x54 lbl_1_data_300 = .data:0x00000300; // type:object size:0x8 data:4byte @@ -461,7 +461,7 @@ lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x2 data:2byte lbl_1_bss_22 = .bss:0x00000022; // type:object size:0x2 data:2byte lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x2 data:2byte -lbl_1_bss_26 = .bss:0x00000026; // type:object size:0x2 data:2byte +lbl_1_bss_26 = .bss:0x00000026; // type:object size:0x6 data:2byte lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x2 data:2byte lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m432Dll/symbols.txt b/config/GMPE01_00/rels/m432Dll/symbols.txt index c01d6777..75ff4704 100644 --- a/config/GMPE01_00/rels/m432Dll/symbols.txt +++ b/config/GMPE01_00/rels/m432Dll/symbols.txt @@ -101,138 +101,138 @@ fn_1_128C8 = .text:0x000128C8; // type:function size:0x5E0 fn_1_12EA8 = .text:0x00012EA8; // type:function size:0x300 fn_1_131A8 = .text:0x000131A8; // type:function size:0x2178 fn_1_15320 = .text:0x00015320; // type:function size:0x9C -ObjectSetup = .text:0x000153BC; // type:function size:0xDA0 +fn_1_153BC = .text:0x000153BC; // type:function size:0xDA0 fn_1_1615C = .text:0x0001615C; // type:function size:0x104 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float +lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float +lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float +lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float +lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float +lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float +lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float +lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float +lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float +lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x10 lbl_1_data_10 = .data:0x00000010; // type:object size:0x20 lbl_1_data_30 = .data:0x00000030; // type:object size:0x28 lbl_1_data_58 = .data:0x00000058; // type:object size:0x28 -lbl_1_data_80 = .data:0x00000080; // type:object size:0x1F scope:local data:string +lbl_1_data_80 = .data:0x00000080; // type:object size:0x1F data:string lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x8 lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x20 data:float lbl_1_data_C8 = .data:0x000000C8; // type:object size:0xC @@ -250,81 +250,81 @@ lbl_1_data_2F4 = .data:0x000002F4; // type:object size:0x24 lbl_1_data_318 = .data:0x00000318; // type:object size:0x3C lbl_1_data_354 = .data:0x00000354; // type:object size:0x18 lbl_1_data_36C = .data:0x0000036C; // type:object size:0x18 -lbl_1_data_384 = .data:0x00000384; // type:object size:0xB scope:local data:string -lbl_1_data_38F = .data:0x0000038F; // type:object size:0xB scope:local data:string -lbl_1_data_39A = .data:0x0000039A; // type:object size:0xB scope:local data:string -lbl_1_data_3A5 = .data:0x000003A5; // type:object size:0xB scope:local data:string -lbl_1_data_3B0 = .data:0x000003B0; // type:object size:0xB scope:local data:string -lbl_1_data_3BB = .data:0x000003BB; // type:object size:0xB scope:local data:string -lbl_1_data_3C6 = .data:0x000003C6; // type:object size:0xB scope:local data:string -lbl_1_data_3D1 = .data:0x000003D1; // type:object size:0xB scope:local data:string +lbl_1_data_384 = .data:0x00000384; // type:object size:0xB data:string +lbl_1_data_38F = .data:0x0000038F; // type:object size:0xB data:string +lbl_1_data_39A = .data:0x0000039A; // type:object size:0xB data:string +lbl_1_data_3A5 = .data:0x000003A5; // type:object size:0xB data:string +lbl_1_data_3B0 = .data:0x000003B0; // type:object size:0xB data:string +lbl_1_data_3BB = .data:0x000003BB; // type:object size:0xB data:string +lbl_1_data_3C6 = .data:0x000003C6; // type:object size:0xB data:string +lbl_1_data_3D1 = .data:0x000003D1; // type:object size:0xB data:string lbl_1_data_3DC = .data:0x000003DC; // type:object size:0x20 -lbl_1_data_3FC = .data:0x000003FC; // type:object size:0xB scope:local data:string -lbl_1_data_407 = .data:0x00000407; // type:object size:0xB scope:local data:string -lbl_1_data_412 = .data:0x00000412; // type:object size:0xB scope:local data:string -lbl_1_data_41D = .data:0x0000041D; // type:object size:0xB scope:local data:string -lbl_1_data_428 = .data:0x00000428; // type:object size:0xB scope:local data:string -lbl_1_data_433 = .data:0x00000433; // type:object size:0xB scope:local data:string +lbl_1_data_3FC = .data:0x000003FC; // type:object size:0xB data:string +lbl_1_data_407 = .data:0x00000407; // type:object size:0xB data:string +lbl_1_data_412 = .data:0x00000412; // type:object size:0xB data:string +lbl_1_data_41D = .data:0x0000041D; // type:object size:0xB data:string +lbl_1_data_428 = .data:0x00000428; // type:object size:0xB data:string +lbl_1_data_433 = .data:0x00000433; // type:object size:0xD lbl_1_data_440 = .data:0x00000440; // type:object size:0x18 data:4byte -lbl_1_data_458 = .data:0x00000458; // type:object size:0xB scope:local data:string -lbl_1_data_463 = .data:0x00000463; // type:object size:0xB scope:local data:string -lbl_1_data_46E = .data:0x0000046E; // type:object size:0xB scope:local data:string -lbl_1_data_479 = .data:0x00000479; // type:object size:0xB scope:local data:string -lbl_1_data_484 = .data:0x00000484; // type:object size:0xB scope:local data:string -lbl_1_data_48F = .data:0x0000048F; // type:object size:0xB scope:local data:string -lbl_1_data_49A = .data:0x0000049A; // type:object size:0xB scope:local data:string -lbl_1_data_4A5 = .data:0x000004A5; // type:object size:0xB scope:local data:string -lbl_1_data_4B0 = .data:0x000004B0; // type:object size:0xB scope:local data:string -lbl_1_data_4BB = .data:0x000004BB; // type:object size:0xB scope:local data:string +lbl_1_data_458 = .data:0x00000458; // type:object size:0xB data:string +lbl_1_data_463 = .data:0x00000463; // type:object size:0xB data:string +lbl_1_data_46E = .data:0x0000046E; // type:object size:0xB data:string +lbl_1_data_479 = .data:0x00000479; // type:object size:0xB data:string +lbl_1_data_484 = .data:0x00000484; // type:object size:0xB data:string +lbl_1_data_48F = .data:0x0000048F; // type:object size:0xB data:string +lbl_1_data_49A = .data:0x0000049A; // type:object size:0xB data:string +lbl_1_data_4A5 = .data:0x000004A5; // type:object size:0xB data:string +lbl_1_data_4B0 = .data:0x000004B0; // type:object size:0xB data:string +lbl_1_data_4BB = .data:0x000004BB; // type:object size:0xD lbl_1_data_4C8 = .data:0x000004C8; // type:object size:0x28 data:4byte -lbl_1_data_4F0 = .data:0x000004F0; // type:object size:0x14 data:byte -lbl_1_data_504 = .data:0x00000504; // type:object size:0x24 data:byte +lbl_1_data_4F0 = .data:0x000004F0; // type:object size:0x14 +lbl_1_data_504 = .data:0x00000504; // type:object size:0x24 lbl_1_data_528 = .data:0x00000528; // type:object size:0x8 -lbl_1_data_530 = .data:0x00000530; // type:object size:0xB scope:local data:string -lbl_1_data_53B = .data:0x0000053B; // type:object size:0xB scope:local data:string -lbl_1_data_546 = .data:0x00000546; // type:object size:0xB scope:local data:string -lbl_1_data_551 = .data:0x00000551; // type:object size:0xB scope:local data:string -lbl_1_data_55C = .data:0x0000055C; // type:object size:0xB scope:local data:string -lbl_1_data_567 = .data:0x00000567; // type:object size:0xB scope:local data:string -lbl_1_data_572 = .data:0x00000572; // type:object size:0xB scope:local data:string -lbl_1_data_57D = .data:0x0000057D; // type:object size:0xB scope:local data:string -lbl_1_data_588 = .data:0x00000588; // type:object size:0xB scope:local data:string -lbl_1_data_593 = .data:0x00000593; // type:object size:0xB scope:local data:string -lbl_1_data_59E = .data:0x0000059E; // type:object size:0xB scope:local data:string -lbl_1_data_5A9 = .data:0x000005A9; // type:object size:0xB scope:local data:string -lbl_1_data_5B4 = .data:0x000005B4; // type:object size:0xB scope:local data:string -lbl_1_data_5BF = .data:0x000005BF; // type:object size:0xB scope:local data:string -lbl_1_data_5CA = .data:0x000005CA; // type:object size:0xB scope:local data:string -lbl_1_data_5D5 = .data:0x000005D5; // type:object size:0xB scope:local data:string -lbl_1_data_5E0 = .data:0x000005E0; // type:object size:0xB scope:local data:string +lbl_1_data_530 = .data:0x00000530; // type:object size:0xB data:string +lbl_1_data_53B = .data:0x0000053B; // type:object size:0xB data:string +lbl_1_data_546 = .data:0x00000546; // type:object size:0xB data:string +lbl_1_data_551 = .data:0x00000551; // type:object size:0xB data:string +lbl_1_data_55C = .data:0x0000055C; // type:object size:0xB data:string +lbl_1_data_567 = .data:0x00000567; // type:object size:0xB data:string +lbl_1_data_572 = .data:0x00000572; // type:object size:0xB data:string +lbl_1_data_57D = .data:0x0000057D; // type:object size:0xB data:string +lbl_1_data_588 = .data:0x00000588; // type:object size:0xB data:string +lbl_1_data_593 = .data:0x00000593; // type:object size:0xB data:string +lbl_1_data_59E = .data:0x0000059E; // type:object size:0xB data:string +lbl_1_data_5A9 = .data:0x000005A9; // type:object size:0xB data:string +lbl_1_data_5B4 = .data:0x000005B4; // type:object size:0xB data:string +lbl_1_data_5BF = .data:0x000005BF; // type:object size:0xB data:string +lbl_1_data_5CA = .data:0x000005CA; // type:object size:0xB data:string +lbl_1_data_5D5 = .data:0x000005D5; // type:object size:0xB data:string +lbl_1_data_5E0 = .data:0x000005E0; // type:object size:0xB data:string lbl_1_data_5EC = .data:0x000005EC; // type:object size:0x8B8 -lbl_1_data_EA4 = .data:0x00000EA4; // type:object size:0xB scope:local data:string -lbl_1_data_EAF = .data:0x00000EAF; // type:object size:0xB scope:local data:string -lbl_1_data_EBA = .data:0x00000EBA; // type:object size:0xB scope:local data:string -lbl_1_data_EC5 = .data:0x00000EC5; // type:object size:0xB scope:local data:string -lbl_1_data_ED0 = .data:0x00000ED0; // type:object size:0xB scope:local data:string +lbl_1_data_EA4 = .data:0x00000EA4; // type:object size:0xB data:string +lbl_1_data_EAF = .data:0x00000EAF; // type:object size:0xB data:string +lbl_1_data_EBA = .data:0x00000EBA; // type:object size:0xB data:string +lbl_1_data_EC5 = .data:0x00000EC5; // type:object size:0xB data:string +lbl_1_data_ED0 = .data:0x00000ED0; // type:object size:0xC lbl_1_data_EDC = .data:0x00000EDC; // type:object size:0x8B8 lbl_1_data_1794 = .data:0x00001794; // type:object size:0x20 lbl_1_data_17B4 = .data:0x000017B4; // type:object size:0x20 lbl_1_data_17D4 = .data:0x000017D4; // type:object size:0x20 data:float lbl_1_data_17F4 = .data:0x000017F4; // type:object size:0x20 lbl_1_data_1814 = .data:0x00001814; // type:object size:0x50 -lbl_1_data_1864 = .data:0x00001864; // type:object size:0x11 scope:local data:string -lbl_1_data_1875 = .data:0x00001875; // type:object size:0x11 scope:local data:string -lbl_1_data_1886 = .data:0x00001886; // type:object size:0x11 scope:local data:string -lbl_1_data_1897 = .data:0x00001897; // type:object size:0x18 scope:local data:string -lbl_1_data_18AF = .data:0x000018AF; // type:object size:0xB scope:local data:string -lbl_1_data_18BA = .data:0x000018BA; // type:object size:0x18 scope:local data:string -lbl_1_data_18D2 = .data:0x000018D2; // type:object size:0xC scope:local data:string -lbl_1_data_18DE = .data:0x000018DE; // type:object size:0x6 scope:local data:string -lbl_1_data_18E4 = .data:0x000018E4; // type:object size:0x21 scope:local data:string -lbl_1_data_1905 = .data:0x00001905; // type:object size:0x1D scope:local data:string +lbl_1_data_1864 = .data:0x00001864; // type:object size:0x11 data:string +lbl_1_data_1875 = .data:0x00001875; // type:object size:0x11 data:string +lbl_1_data_1886 = .data:0x00001886; // type:object size:0x11 data:string +lbl_1_data_1897 = .data:0x00001897; // type:object size:0x18 data:string +lbl_1_data_18AF = .data:0x000018AF; // type:object size:0xB data:string +lbl_1_data_18BA = .data:0x000018BA; // type:object size:0x18 data:string +lbl_1_data_18D2 = .data:0x000018D2; // type:object size:0xC data:string +lbl_1_data_18DE = .data:0x000018DE; // type:object size:0x6 data:string +lbl_1_data_18E4 = .data:0x000018E4; // type:object size:0x21 data:string +lbl_1_data_1905 = .data:0x00001905; // type:object size:0x1F jumptable_1_data_1924 = .data:0x00001924; // type:object size:0x1C scope:local jumptable_1_data_1940 = .data:0x00001940; // type:object size:0x44 scope:local -lbl_1_data_1984 = .data:0x00001984; // type:object size:0xB scope:local data:string -lbl_1_data_198F = .data:0x0000198F; // type:object size:0x1B scope:local data:string +lbl_1_data_1984 = .data:0x00001984; // type:object size:0xB data:string +lbl_1_data_198F = .data:0x0000198F; // type:object size:0x1D jumptable_1_data_19AC = .data:0x000019AC; // type:object size:0x28 scope:local -lbl_1_data_19D4 = .data:0x000019D4; // type:object size:0x24 scope:local data:string +lbl_1_data_19D4 = .data:0x000019D4; // type:object size:0x24 data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x3F0 data:float lbl_1_bss_3F0 = .bss:0x000003F0; // type:object size:0x4 data:float lbl_1_bss_3F4 = .bss:0x000003F4; // type:object size:0x4 data:4byte @@ -333,8 +333,7 @@ lbl_1_bss_3FC = .bss:0x000003FC; // type:object size:0x4 data:4byte lbl_1_bss_400 = .bss:0x00000400; // type:object size:0x2 data:2byte lbl_1_bss_402 = .bss:0x00000402; // type:object size:0x2 data:2byte lbl_1_bss_404 = .bss:0x00000404; // type:object size:0x2 data:2byte -lbl_1_bss_408 = .bss:0x00000408; // type:object size:0x4 data:4byte -lbl_1_bss_40C = .bss:0x0000040C; // type:object size:0x4 data:4byte +lbl_1_bss_408 = .bss:0x00000408; // type:object size:0x8 data:4byte lbl_1_bss_410 = .bss:0x00000410; // type:object size:0x4 data:4byte lbl_1_bss_414 = .bss:0x00000414; // type:object size:0x4 data:4byte lbl_1_bss_418 = .bss:0x00000418; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m433Dll/symbols.txt b/config/GMPE01_00/rels/m433Dll/symbols.txt index 092ebc7d..528cefb2 100644 --- a/config/GMPE01_00/rels/m433Dll/symbols.txt +++ b/config/GMPE01_00/rels/m433Dll/symbols.txt @@ -119,287 +119,287 @@ fn_1_11098 = .text:0x00011098; // type:function size:0x98 fn_1_11130 = .text:0x00011130; // type:function size:0x1B0 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 scope:local data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0xC0 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 scope:local data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 scope:local data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x10 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x10 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 scope:local data:double -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 scope:local data:double -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 scope:local data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x10 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 scope:local data:double -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x18 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x18 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 scope:local data:double -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x8 scope:local data:double -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 scope:local data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 scope:local data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 scope:local data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 scope:local data:float -lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 scope:local data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 scope:local data:float -lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 scope:local data:float -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 scope:local data:float -lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 scope:local data:float -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x4 scope:local data:float -lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 scope:local data:float -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 scope:local data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 scope:local data:float -lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 scope:local data:float -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 scope:local data:float -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 scope:local data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C4 = .rodata:0x000005C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x4 scope:local data:float -lbl_1_rodata_604 = .rodata:0x00000604; // type:object size:0x4 scope:local data:float -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60C = .rodata:0x0000060C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x4 scope:local data:float -lbl_1_rodata_614 = .rodata:0x00000614; // type:object size:0x4 scope:local data:float -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 scope:local data:float -lbl_1_rodata_61C = .rodata:0x0000061C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x4 scope:local data:float -lbl_1_rodata_624 = .rodata:0x00000624; // type:object size:0x4 scope:local data:float -lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x4 scope:local data:float -lbl_1_rodata_62C = .rodata:0x0000062C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 scope:local data:float -lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 scope:local data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x4 scope:local data:float -lbl_1_rodata_63C = .rodata:0x0000063C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 scope:local data:float -lbl_1_rodata_644 = .rodata:0x00000644; // type:object size:0x4 scope:local data:float -lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64C = .rodata:0x0000064C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_650 = .rodata:0x00000650; // type:object size:0x4 scope:local data:float -lbl_1_rodata_654 = .rodata:0x00000654; // type:object size:0x4 scope:local data:float -lbl_1_rodata_658 = .rodata:0x00000658; // type:object size:0x4 scope:local data:float -lbl_1_rodata_65C = .rodata:0x0000065C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_660 = .rodata:0x00000660; // type:object size:0x4 scope:local data:float -lbl_1_rodata_664 = .rodata:0x00000664; // type:object size:0x4 scope:local data:float -lbl_1_rodata_668 = .rodata:0x00000668; // type:object size:0x4 scope:local data:float -lbl_1_rodata_66C = .rodata:0x0000066C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_670 = .rodata:0x00000670; // type:object size:0x4 scope:local data:float -lbl_1_rodata_674 = .rodata:0x00000674; // type:object size:0x4 scope:local data:float -lbl_1_rodata_678 = .rodata:0x00000678; // type:object size:0x4 scope:local data:float -lbl_1_rodata_67C = .rodata:0x0000067C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_680 = .rodata:0x00000680; // type:object size:0x4 scope:local data:float -lbl_1_rodata_684 = .rodata:0x00000684; // type:object size:0x4 scope:local data:float -lbl_1_rodata_688 = .rodata:0x00000688; // type:object size:0x4 scope:local data:float -lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x8 scope:local data:double -lbl_1_rodata_698 = .rodata:0x00000698; // type:object size:0x4 scope:local data:float -lbl_1_rodata_69C = .rodata:0x0000069C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6A0 = .rodata:0x000006A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6A4 = .rodata:0x000006A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6A8 = .rodata:0x000006A8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x10 data:4byte +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float +lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 data:double +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0xC0 +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float +lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float +lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float +lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float +lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float +lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float +lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float +lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float +lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x10 data:4byte +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x10 data:4byte +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float +lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float +lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x10 data:4byte +lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x10 data:4byte +lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float +lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float +lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float +lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float +lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 data:double +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float +lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float +lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float +lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float +lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 data:double +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 data:double +lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x10 data:4byte +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float +lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float +lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 data:double +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float +lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float +lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 data:float +lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 data:float +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float +lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 data:double +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 data:double +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:double +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:double +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 data:double +lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x18 data:4byte +lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x18 data:4byte +lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float +lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float +lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float +lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float +lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float +lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float +lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float +lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float +lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 data:float +lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 data:float +lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float +lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float +lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float +lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 data:float +lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float +lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float +lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 data:double +lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 data:float +lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x8 data:double +lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 data:float +lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 data:float +lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float +lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float +lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float +lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 data:float +lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 data:float +lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 data:float +lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float +lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 data:float +lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float +lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float +lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float +lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float +lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float +lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float +lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float +lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float +lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float +lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 data:float +lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 data:float +lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 data:float +lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float +lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float +lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 data:double +lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x8 data:double +lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:4byte +lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x8 data:double +lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x8 data:double +lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float +lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 data:float +lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 data:float +lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 data:float +lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 data:float +lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 data:float +lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 data:float +lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 data:float +lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float +lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x24 data:4byte +lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x8 data:4byte +lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x8 data:4byte +lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x8 data:4byte +lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 data:float +lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 data:float +lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x4 data:float +lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 data:float +lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 data:float +lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 data:float +lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 data:float +lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 data:float +lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 data:float +lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 data:float +lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 data:float +lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x8 data:4byte +lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 data:float +lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x8 data:double +lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 data:4byte +lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 data:float +lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 data:float +lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 data:float +lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x8 data:double +lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 data:float +lbl_1_rodata_5C4 = .rodata:0x000005C4; // type:object size:0x4 data:float +lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 data:float +lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 data:float +lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float +lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 data:float +lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 data:float +lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 data:float +lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float +lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 data:float +lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x4 data:float +lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x8 data:double +lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 data:double +lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x4 data:float +lbl_1_rodata_604 = .rodata:0x00000604; // type:object size:0x4 data:float +lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x4 data:float +lbl_1_rodata_60C = .rodata:0x0000060C; // type:object size:0x4 data:float +lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x4 data:float +lbl_1_rodata_614 = .rodata:0x00000614; // type:object size:0x4 data:float +lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 data:float +lbl_1_rodata_61C = .rodata:0x0000061C; // type:object size:0x4 data:float +lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x4 data:float +lbl_1_rodata_624 = .rodata:0x00000624; // type:object size:0x4 data:float +lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x4 data:float +lbl_1_rodata_62C = .rodata:0x0000062C; // type:object size:0x4 data:float +lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 data:float +lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 data:float +lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x4 data:float +lbl_1_rodata_63C = .rodata:0x0000063C; // type:object size:0x4 data:float +lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 data:float +lbl_1_rodata_644 = .rodata:0x00000644; // type:object size:0x4 data:float +lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x4 data:float +lbl_1_rodata_64C = .rodata:0x0000064C; // type:object size:0x4 data:float +lbl_1_rodata_650 = .rodata:0x00000650; // type:object size:0x4 data:float +lbl_1_rodata_654 = .rodata:0x00000654; // type:object size:0x4 data:float +lbl_1_rodata_658 = .rodata:0x00000658; // type:object size:0x4 data:float +lbl_1_rodata_65C = .rodata:0x0000065C; // type:object size:0x4 data:float +lbl_1_rodata_660 = .rodata:0x00000660; // type:object size:0x4 data:float +lbl_1_rodata_664 = .rodata:0x00000664; // type:object size:0x4 data:float +lbl_1_rodata_668 = .rodata:0x00000668; // type:object size:0x4 data:float +lbl_1_rodata_66C = .rodata:0x0000066C; // type:object size:0x4 data:float +lbl_1_rodata_670 = .rodata:0x00000670; // type:object size:0x4 data:float +lbl_1_rodata_674 = .rodata:0x00000674; // type:object size:0x4 data:float +lbl_1_rodata_678 = .rodata:0x00000678; // type:object size:0x4 data:float +lbl_1_rodata_67C = .rodata:0x0000067C; // type:object size:0x4 data:float +lbl_1_rodata_680 = .rodata:0x00000680; // type:object size:0x4 data:float +lbl_1_rodata_684 = .rodata:0x00000684; // type:object size:0x4 data:float +lbl_1_rodata_688 = .rodata:0x00000688; // type:object size:0x4 data:float +lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x8 data:double +lbl_1_rodata_698 = .rodata:0x00000698; // type:object size:0x4 data:float +lbl_1_rodata_69C = .rodata:0x0000069C; // type:object size:0x4 data:float +lbl_1_rodata_6A0 = .rodata:0x000006A0; // type:object size:0x4 data:float +lbl_1_rodata_6A4 = .rodata:0x000006A4; // type:object size:0x4 data:float +lbl_1_rodata_6A8 = .rodata:0x000006A8; // type:object size:0x8 data:double lbl_1_data_0 = .data:0x00000000; // type:object size:0xC lbl_1_data_C = .data:0x0000000C; // type:object size:0xC lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float @@ -421,27 +421,27 @@ lbl_1_data_1C4 = .data:0x000001C4; // type:object size:0x44 lbl_1_data_208 = .data:0x00000208; // type:object size:0x44 lbl_1_data_24C = .data:0x0000024C; // type:object size:0x1A4 lbl_1_data_3F0 = .data:0x000003F0; // type:object size:0x38 -lbl_1_data_428 = .data:0x00000428; // type:object size:0x9 scope:local data:string -lbl_1_data_431 = .data:0x00000431; // type:object size:0x9 scope:local data:string -lbl_1_data_43A = .data:0x0000043A; // type:object size:0xB scope:local data:string -lbl_1_data_445 = .data:0x00000445; // type:object size:0xB scope:local data:string +lbl_1_data_428 = .data:0x00000428; // type:object size:0x9 data:string +lbl_1_data_431 = .data:0x00000431; // type:object size:0x9 data:string +lbl_1_data_43A = .data:0x0000043A; // type:object size:0xB data:string +lbl_1_data_445 = .data:0x00000445; // type:object size:0xB data:string lbl_1_data_450 = .data:0x00000450; // type:object size:0x18 lbl_1_data_468 = .data:0x00000468; // type:object size:0x24 lbl_1_data_48C = .data:0x0000048C; // type:object size:0x48 -lbl_1_data_4D4 = .data:0x000004D4; // type:object size:0x6C data:float -lbl_1_data_540 = .data:0x00000540; // type:object size:0x24 data:float -lbl_1_data_564 = .data:0x00000564; // type:object size:0x2 scope:local data:string -lbl_1_data_566 = .data:0x00000566; // type:object size:0x15 scope:local data:string -lbl_1_data_57B = .data:0x0000057B; // type:object size:0x15 scope:local data:string -lbl_1_data_590 = .data:0x00000590; // type:object size:0x15 scope:local data:string -lbl_1_data_5A5 = .data:0x000005A5; // type:object size:0x15 scope:local data:string -lbl_1_data_5BA = .data:0x000005BA; // type:object size:0x18 scope:local data:string -lbl_1_data_5D2 = .data:0x000005D2; // type:object size:0x18 scope:local data:string -lbl_1_data_5EA = .data:0x000005EA; // type:object size:0x15 scope:local data:string -lbl_1_data_5FF = .data:0x000005FF; // type:object size:0x15 scope:local data:string -lbl_1_data_614 = .data:0x00000614; // type:object size:0x15 scope:local data:string -lbl_1_data_629 = .data:0x00000629; // type:object size:0x15 scope:local data:string -lbl_1_data_63E = .data:0x0000063E; // type:object size:0x16 scope:local data:string +lbl_1_data_4D4 = .data:0x000004D4; // type:object size:0x6C +lbl_1_data_540 = .data:0x00000540; // type:object size:0x24 +lbl_1_data_564 = .data:0x00000564; // type:object size:0x2 data:string +lbl_1_data_566 = .data:0x00000566; // type:object size:0x15 data:string +lbl_1_data_57B = .data:0x0000057B; // type:object size:0x15 data:string +lbl_1_data_590 = .data:0x00000590; // type:object size:0x15 data:string +lbl_1_data_5A5 = .data:0x000005A5; // type:object size:0x15 data:string +lbl_1_data_5BA = .data:0x000005BA; // type:object size:0x18 data:string +lbl_1_data_5D2 = .data:0x000005D2; // type:object size:0x18 data:string +lbl_1_data_5EA = .data:0x000005EA; // type:object size:0x15 data:string +lbl_1_data_5FF = .data:0x000005FF; // type:object size:0x15 data:string +lbl_1_data_614 = .data:0x00000614; // type:object size:0x15 data:string +lbl_1_data_629 = .data:0x00000629; // type:object size:0x15 data:string +lbl_1_data_63E = .data:0x0000063E; // type:object size:0x16 jumptable_1_data_654 = .data:0x00000654; // type:object size:0x20 scope:local lbl_1_data_674 = .data:0x00000674; // type:object size:0xC lbl_1_data_680 = .data:0x00000680; // type:object size:0x8 @@ -458,13 +458,10 @@ lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x2 data:2byte lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 data:2byte -lbl_1_bss_16 = .bss:0x00000016; // type:object size:0x2 data:2byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x8 data:2byte +lbl_1_bss_16 = .bss:0x00000016; // type:object size:0xA data:2byte lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte +lbl_1_bss_28 = .bss:0x00000028; // type:object size:0xC data:4byte lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x6F0 lbl_1_bss_728 = .bss:0x00000728; // type:object size:0x80 diff --git a/config/GMPE01_00/rels/m434Dll/symbols.txt b/config/GMPE01_00/rels/m434Dll/symbols.txt index 288bd0ad..63082c5e 100644 --- a/config/GMPE01_00/rels/m434Dll/symbols.txt +++ b/config/GMPE01_00/rels/m434Dll/symbols.txt @@ -303,9 +303,9 @@ lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x8 lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x18 lbl_1_data_1FC = .data:0x000001FC; // type:object size:0x28 lbl_1_data_224 = .data:0x00000224; // type:object size:0x90 -lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x3 scope:local data:string -lbl_1_data_2B7 = .data:0x000002B7; // type:object size:0x3 scope:local data:string -lbl_1_data_2BA = .data:0x000002BA; // type:object size:0x3 scope:local data:string +lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x3 data:string +lbl_1_data_2B7 = .data:0x000002B7; // type:object size:0x3 data:string +lbl_1_data_2BA = .data:0x000002BA; // type:object size:0x3 data:string lbl_1_data_2C0 = .data:0x000002C0; // type:object size:0x8 lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:float lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m435Dll/symbols.txt b/config/GMPE01_00/rels/m435Dll/symbols.txt index 9c0524b6..6be340bb 100644 --- a/config/GMPE01_00/rels/m435Dll/symbols.txt +++ b/config/GMPE01_00/rels/m435Dll/symbols.txt @@ -194,7 +194,7 @@ fn_1_14760 = .text:0x00014760; // type:function size:0x254 _prolog = .text:0x000149B4; // type:function size:0x54 scope:global _epilog = .text:0x00014A08; // type:function size:0x4C scope:global fn_1_14A54 = .text:0x00014A54; // type:function size:0x40C -ObjectSetup = .text:0x00014E60; // type:function size:0x40C +fn_1_14E60 = .text:0x00014E60; // type:function size:0x40C fn_1_1526C = .text:0x0001526C; // type:function size:0x28 fn_1_15294 = .text:0x00015294; // type:function size:0x40 fn_1_152D4 = .text:0x000152D4; // type:function size:0xC8 @@ -238,212 +238,212 @@ fn_1_19E50 = .text:0x00019E50; // type:function size:0x4EC fn_1_1A33C = .text:0x0001A33C; // type:function size:0x110 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 scope:local data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x48 scope:local -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 scope:local data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 scope:local data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x30 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x30 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x30 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x30 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x30 scope:local data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x30 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x8 scope:local data:double -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 scope:local data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 data:double +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0xC data:4byte +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0xC data:4byte +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC data:4byte +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:4byte +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x48 +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float +lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x20 data:4byte +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float +lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float +lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float +lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float +lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float +lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float +lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float +lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float +lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x30 data:4byte +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x30 data:4byte +lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x30 data:4byte +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float +lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float +lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float +lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float +lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float +lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float +lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float +lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float +lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x8 data:4byte +lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float +lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x8 data:4byte +lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x8 data:4byte +lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float +lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x8 data:4byte +lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x24 data:4byte +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 data:4byte +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x24 data:4byte +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x8 data:4byte +lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x8 data:4byte +lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:4byte +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:4byte +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float +lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float +lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x8 data:4byte +lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x8 data:4byte +lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x10 data:4byte +lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x8 data:4byte +lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x8 data:4byte +lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x8 data:4byte +lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x8 data:4byte +lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x30 data:4byte +lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x30 data:4byte +lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x30 data:4byte +lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float +lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 data:double +lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float +lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 data:double +lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x8 data:double +lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x8 data:double +lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float +lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x8 data:double +lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x8 data:double +lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 data:float +lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 data:double +lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 data:float +lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 data:float +lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float +lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 data:float +lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 data:float +lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x60 -lbl_1_data_60 = .data:0x00000060; // type:object size:0x10 scope:local data:string -lbl_1_data_70 = .data:0x00000070; // type:object size:0x10 scope:local data:string -lbl_1_data_80 = .data:0x00000080; // type:object size:0x10 scope:local data:string -lbl_1_data_90 = .data:0x00000090; // type:object size:0x10 scope:local data:string -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x10 scope:local data:string -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x10 scope:local data:string -lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x10 scope:local data:string -lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x10 scope:local data:string +lbl_1_data_60 = .data:0x00000060; // type:object size:0x10 data:string +lbl_1_data_70 = .data:0x00000070; // type:object size:0x10 data:string +lbl_1_data_80 = .data:0x00000080; // type:object size:0x10 data:string +lbl_1_data_90 = .data:0x00000090; // type:object size:0x10 data:string +lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x10 data:string +lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x10 data:string +lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x10 data:string +lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x10 data:string lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x20 lbl_1_data_100 = .data:0x00000100; // type:object size:0x40 lbl_1_data_140 = .data:0x00000140; // type:object size:0xA0 lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0x4 data:4byte lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x4 data:4byte lbl_1_data_1E8 = .data:0x000001E8; // type:object size:0x4 data:4byte -lbl_1_data_1EC = .data:0x000001EC; // type:object size:0x1B scope:local data:string -lbl_1_data_207 = .data:0x00000207; // type:object size:0x22 scope:local data:string -lbl_1_data_229 = .data:0x00000229; // type:object size:0x1A scope:local data:string -lbl_1_data_243 = .data:0x00000243; // type:object size:0x1A scope:local data:string -lbl_1_data_25D = .data:0x0000025D; // type:object size:0xF scope:local +lbl_1_data_1EC = .data:0x000001EC; // type:object size:0x1B data:string +lbl_1_data_207 = .data:0x00000207; // type:object size:0x22 data:string +lbl_1_data_229 = .data:0x00000229; // type:object size:0x1A data:string +lbl_1_data_243 = .data:0x00000243; // type:object size:0x1A data:string +lbl_1_data_25D = .data:0x0000025D; // type:object size:0xF lbl_1_data_26C = .data:0x0000026C; // type:object size:0x4 data:4byte jumptable_1_data_270 = .data:0x00000270; // type:object size:0x54 scope:local lbl_1_data_2C4 = .data:0x000002C4; // type:object size:0x4 data:float -lbl_1_data_2C8 = .data:0x000002C8; // type:object size:0x13 scope:local data:string -lbl_1_data_2DB = .data:0x000002DB; // type:object size:0xF scope:local data:string +lbl_1_data_2C8 = .data:0x000002C8; // type:object size:0x13 data:string +lbl_1_data_2DB = .data:0x000002DB; // type:object size:0x11 jumptable_1_data_2EC = .data:0x000002EC; // type:object size:0x24 scope:local jumptable_1_data_310 = .data:0x00000310; // type:object size:0x2C scope:local -lbl_1_data_33C = .data:0x0000033C; // type:object size:0xE scope:local data:string -lbl_1_data_34A = .data:0x0000034A; // type:object size:0x12 scope:local data:string -lbl_1_data_35C = .data:0x0000035C; // type:object size:0x12 scope:local data:string +lbl_1_data_33C = .data:0x0000033C; // type:object size:0xE data:string +lbl_1_data_34A = .data:0x0000034A; // type:object size:0x12 data:string +lbl_1_data_35C = .data:0x0000035C; // type:object size:0x14 jumptable_1_data_370 = .data:0x00000370; // type:object size:0x30 scope:local lbl_1_data_3A0 = .data:0x000003A0; // type:object size:0xA8 jumptable_1_data_448 = .data:0x00000448; // type:object size:0x1C scope:local -lbl_1_data_464 = .data:0x00000464; // type:object size:0x3 scope:local data:string +lbl_1_data_464 = .data:0x00000464; // type:object size:0x4 lbl_1_data_468 = .data:0x00000468; // type:object size:0xB4 lbl_1_data_51C = .data:0x0000051C; // type:object size:0x18 jumptable_1_data_534 = .data:0x00000534; // type:object size:0x28 scope:local @@ -452,7 +452,7 @@ lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte +lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x8 data:4byte lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x18 data:4byte @@ -466,7 +466,7 @@ lbl_1_bss_C1C = .bss:0x00000C1C; // type:object size:0x14 data:4byte lbl_1_bss_C30 = .bss:0x00000C30; // type:object size:0x1B4 data:4byte lbl_1_bss_DE4 = .bss:0x00000DE4; // type:object size:0x24 data:4byte lbl_1_bss_E08 = .bss:0x00000E08; // type:object size:0x80 data:4byte -lbl_1_bss_E88 = .bss:0x00000E88; // type:object size:0x1360 data:4byte +lbl_1_bss_E88 = .bss:0x00000E88; // type:object size:0x4060 data:4byte lbl_1_bss_4EE8 = .bss:0x00004EE8; // type:object size:0x20 data:4byte lbl_1_bss_4F08 = .bss:0x00004F08; // type:object size:0x8 data:4byte lbl_1_bss_4F10 = .bss:0x00004F10; // type:object size:0x38 data:4byte diff --git a/config/GMPE01_00/rels/m436Dll/symbols.txt b/config/GMPE01_00/rels/m436Dll/symbols.txt index 96812393..4e82430a 100644 --- a/config/GMPE01_00/rels/m436Dll/symbols.txt +++ b/config/GMPE01_00/rels/m436Dll/symbols.txt @@ -131,7 +131,7 @@ fn_1_10670 = .text:0x00010670; // type:function size:0x1CC _prolog = .text:0x0001083C; // type:function size:0x54 scope:global _epilog = .text:0x00010890; // type:function size:0x4C scope:global fn_1_108DC = .text:0x000108DC; // type:function size:0x410 -ObjectSetup = .text:0x00010CEC; // type:function size:0x410 +fn_1_10CEC = .text:0x00010CEC; // type:function size:0x410 fn_1_110FC = .text:0x000110FC; // type:function size:0x40 fn_1_1113C = .text:0x0001113C; // type:function size:0x28 fn_1_11164 = .text:0x00011164; // type:function size:0xC8 @@ -164,164 +164,164 @@ fn_1_14828 = .text:0x00014828; // type:function size:0x4FC fn_1_14D24 = .text:0x00014D24; // type:function size:0x78C _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 scope:local data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0xC scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0xC scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x3C scope:local data:4byte -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0xC scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x30 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x30 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x30 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 scope:local data:double -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 scope:local data:double -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 data:double +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0xC data:4byte +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0xC data:4byte +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC data:4byte +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x3C data:4byte +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0xC data:4byte +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float +lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float +lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x30 data:4byte +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float +lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float +lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float +lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float +lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float +lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:4byte +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float +lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:4byte +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:4byte +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x18 data:4byte +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:4byte +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float +lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:4byte +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 data:4byte +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float +lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x8 data:4byte +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0xC data:4byte +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 data:4byte +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 data:4byte +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 data:4byte +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float +lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float +lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x30 data:4byte +lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float +lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float +lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float +lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x30 data:4byte +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 data:double +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float +lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 data:double +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 data:double +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 data:double +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float +lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float +lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 data:double +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 data:double +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x8 data:double lbl_1_data_0 = .data:0x00000000; // type:object size:0x20 lbl_1_data_20 = .data:0x00000020; // type:object size:0x20 lbl_1_data_40 = .data:0x00000040; // type:object size:0xA0 lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x4 data:4byte lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x4 data:4byte lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x4 data:4byte -lbl_1_data_EC = .data:0x000000EC; // type:object size:0x1B scope:local data:string -lbl_1_data_107 = .data:0x00000107; // type:object size:0x22 scope:local data:string -lbl_1_data_129 = .data:0x00000129; // type:object size:0x1A scope:local data:string -lbl_1_data_143 = .data:0x00000143; // type:object size:0x1A scope:local data:string -lbl_1_data_15D = .data:0x0000015D; // type:object size:0xE scope:local data:string +lbl_1_data_EC = .data:0x000000EC; // type:object size:0x1B data:string +lbl_1_data_107 = .data:0x00000107; // type:object size:0x22 data:string +lbl_1_data_129 = .data:0x00000129; // type:object size:0x1A data:string +lbl_1_data_143 = .data:0x00000143; // type:object size:0x1A data:string +lbl_1_data_15D = .data:0x0000015D; // type:object size:0xF lbl_1_data_16C = .data:0x0000016C; // type:object size:0x4 data:4byte -lbl_1_data_170 = .data:0x00000170; // type:object size:0x12 scope:local data:string -lbl_1_data_1A4 = .data:0x000001A4; // type:object size:0x12 scope:local data:string +lbl_1_data_170 = .data:0x00000170; // type:object size:0x34 +lbl_1_data_1A4 = .data:0x000001A4; // type:object size:0x14 jumptable_1_data_1B8 = .data:0x000001B8; // type:object size:0x30 scope:local lbl_1_data_1E8 = .data:0x000001E8; // type:object size:0x6C -lbl_1_data_254 = .data:0x00000254; // type:object size:0xC data:float -lbl_1_data_26C = .data:0x0000026C; // type:object size:0x12 scope:local data:string -lbl_1_data_27E = .data:0x0000027E; // type:object size:0x12 scope:local data:string +lbl_1_data_254 = .data:0x00000254; // type:object size:0x18 data:float +lbl_1_data_26C = .data:0x0000026C; // type:object size:0x12 data:string +lbl_1_data_27E = .data:0x0000027E; // type:object size:0x12 data:string lbl_1_data_290 = .data:0x00000290; // type:object size:0x9C lbl_1_data_32C = .data:0x0000032C; // type:object size:0x18 jumptable_1_data_344 = .data:0x00000344; // type:object size:0x28 scope:local @@ -332,7 +332,7 @@ lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte +lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x8 data:4byte lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x18 data:4byte lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0xC data:float lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x30 data:float diff --git a/config/GMPE01_00/rels/m437Dll/symbols.txt b/config/GMPE01_00/rels/m437Dll/symbols.txt index 3e5eb926..8cd64fd3 100644 --- a/config/GMPE01_00/rels/m437Dll/symbols.txt +++ b/config/GMPE01_00/rels/m437Dll/symbols.txt @@ -166,7 +166,7 @@ fn_1_108A4 = .text:0x000108A4; // type:function size:0x1EC _prolog = .text:0x00010A90; // type:function size:0x54 scope:global _epilog = .text:0x00010AE4; // type:function size:0x4C scope:global fn_1_10B30 = .text:0x00010B30; // type:function size:0x40C -ObjectSetup = .text:0x00010F3C; // type:function size:0x40C +fn_1_10F3C = .text:0x00010F3C; // type:function size:0x40C fn_1_11348 = .text:0x00011348; // type:function size:0x28 fn_1_11370 = .text:0x00011370; // type:function size:0x40 fn_1_113B0 = .text:0x000113B0; // type:function size:0xC8 @@ -214,174 +214,174 @@ fn_1_164B0 = .text:0x000164B0; // type:function size:0x15C fn_1_1660C = .text:0x0001660C; // type:function size:0x190 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 scope:local data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0xC scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0xC scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x48 scope:local -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x78 scope:local -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x78 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0xC8 scope:local -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x78 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x30 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x30 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 scope:local data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 scope:local data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x30 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 scope:local data:float -lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 scope:local data:float -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x30 scope:local data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x18 scope:local data:float -lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 scope:local data:double -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x4 scope:local data:float -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 scope:local data:double -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x8 scope:local data:double -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x8 scope:local data:double -lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x4 scope:local data:float -lbl_1_rodata_62C = .rodata:0x0000062C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 scope:local data:float -lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 scope:local data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x4 scope:local data:float -lbl_1_rodata_63C = .rodata:0x0000063C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 data:double +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0xC data:4byte +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0xC data:4byte +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC data:4byte +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x48 +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:4byte +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x78 +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x78 +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0xC8 +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x78 +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float +lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float +lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float +lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float +lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x14 data:4byte +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float +lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float +lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x30 data:4byte +lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float +lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 data:double +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 data:double +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float +lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 data:float +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float +lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 data:float +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float +lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float +lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float +lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float +lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float +lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x30 data:4byte +lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float +lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float +lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float +lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float +lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float +lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float +lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 data:float +lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 data:float +lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float +lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float +lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float +lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 data:float +lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float +lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float +lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 data:4byte +lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 data:float +lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 data:float +lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x8 data:4byte +lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 data:4byte +lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float +lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float +lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x8 data:4byte +lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x20 data:4byte +lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 data:4byte +lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x20 data:4byte +lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 data:4byte +lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x30 data:4byte +lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 data:float +lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 data:float +lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 data:float +lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 data:float +lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float +lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x10 data:4byte +lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x8 data:4byte +lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0xC data:4byte +lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x8 data:4byte +lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x8 data:4byte +lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x8 data:4byte +lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x8 data:4byte +lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0xC data:4byte +lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x8 data:4byte +lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x8 data:4byte +lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x30 data:4byte +lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x18 data:4byte +lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 data:float +lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float +lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 data:double +lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float +lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 data:double +lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 data:float +lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 data:double +lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 data:double +lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x4 data:float +lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 data:double +lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x8 data:double +lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x8 data:double +lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x4 data:float +lbl_1_rodata_62C = .rodata:0x0000062C; // type:object size:0x4 data:float +lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 data:float +lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 data:float +lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x4 data:float +lbl_1_rodata_63C = .rodata:0x0000063C; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0xA0 lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x4 data:4byte lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x4 data:4byte lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_data_AC = .data:0x000000AC; // type:object size:0x1B scope:local data:string -lbl_1_data_C7 = .data:0x000000C7; // type:object size:0x22 scope:local data:string -lbl_1_data_E9 = .data:0x000000E9; // type:object size:0x1A scope:local data:string -lbl_1_data_103 = .data:0x00000103; // type:object size:0x1A scope:local data:string -lbl_1_data_11D = .data:0x0000011D; // type:object size:0xE scope:local data:string +lbl_1_data_AC = .data:0x000000AC; // type:object size:0x1B data:string +lbl_1_data_C7 = .data:0x000000C7; // type:object size:0x22 data:string +lbl_1_data_E9 = .data:0x000000E9; // type:object size:0x1A data:string +lbl_1_data_103 = .data:0x00000103; // type:object size:0x1A data:string +lbl_1_data_11D = .data:0x0000011D; // type:object size:0xF lbl_1_data_12C = .data:0x0000012C; // type:object size:0x4 data:4byte -lbl_1_data_130 = .data:0x00000130; // type:object size:0x16 scope:local data:string -lbl_1_data_146 = .data:0x00000146; // type:object size:0x13 scope:local data:string -lbl_1_data_159 = .data:0x00000159; // type:object size:0xE scope:local data:string -lbl_1_data_167 = .data:0x00000167; // type:object size:0xE scope:local data:string -lbl_1_data_175 = .data:0x00000175; // type:object size:0x12 scope:local data:string +lbl_1_data_130 = .data:0x00000130; // type:object size:0x16 data:string +lbl_1_data_146 = .data:0x00000146; // type:object size:0x13 data:string +lbl_1_data_159 = .data:0x00000159; // type:object size:0xE data:string +lbl_1_data_167 = .data:0x00000167; // type:object size:0xE data:string +lbl_1_data_175 = .data:0x00000175; // type:object size:0x13 lbl_1_data_188 = .data:0x00000188; // type:object size:0x4 data:float -lbl_1_data_18C = .data:0x0000018C; // type:object size:0x14 scope:local data:string +lbl_1_data_18C = .data:0x0000018C; // type:object size:0x14 data:string jumptable_1_data_1A0 = .data:0x000001A0; // type:object size:0x20 scope:local -lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x12 scope:local data:string +lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x14 jumptable_1_data_1D4 = .data:0x000001D4; // type:object size:0x30 scope:local lbl_1_data_204 = .data:0x00000204; // type:object size:0x78 lbl_1_data_27C = .data:0x0000027C; // type:object size:0x90 lbl_1_data_30C = .data:0x0000030C; // type:object size:0x18 jumptable_1_data_324 = .data:0x00000324; // type:object size:0x2C scope:local -lbl_1_data_350 = .data:0x00000350; // type:object size:0x10 scope:local data:string -lbl_1_data_360 = .data:0x00000360; // type:object size:0x10 scope:local data:string -lbl_1_data_370 = .data:0x00000370; // type:object size:0x10 scope:local data:string -lbl_1_data_380 = .data:0x00000380; // type:object size:0x10 scope:local data:string -lbl_1_data_390 = .data:0x00000390; // type:object size:0x10 scope:local data:string -lbl_1_data_3A0 = .data:0x000003A0; // type:object size:0x10 scope:local data:string -lbl_1_data_3B0 = .data:0x000003B0; // type:object size:0x10 scope:local data:string -lbl_1_data_3C0 = .data:0x000003C0; // type:object size:0x10 scope:local data:string +lbl_1_data_350 = .data:0x00000350; // type:object size:0x10 data:string +lbl_1_data_360 = .data:0x00000360; // type:object size:0x10 data:string +lbl_1_data_370 = .data:0x00000370; // type:object size:0x10 data:string +lbl_1_data_380 = .data:0x00000380; // type:object size:0x10 data:string +lbl_1_data_390 = .data:0x00000390; // type:object size:0x10 data:string +lbl_1_data_3A0 = .data:0x000003A0; // type:object size:0x10 data:string +lbl_1_data_3B0 = .data:0x000003B0; // type:object size:0x10 data:string +lbl_1_data_3C0 = .data:0x000003C0; // type:object size:0x10 data:string lbl_1_data_3D0 = .data:0x000003D0; // type:object size:0x20 lbl_1_data_3F0 = .data:0x000003F0; // type:object size:0x40 lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m438Dll/symbols.txt b/config/GMPE01_00/rels/m438Dll/symbols.txt index c1e2961a..8b3796d8 100644 --- a/config/GMPE01_00/rels/m438Dll/symbols.txt +++ b/config/GMPE01_00/rels/m438Dll/symbols.txt @@ -381,13 +381,12 @@ lbl_1_data_18 = .data:0x00000018; // type:object size:0x4 lbl_1_data_1C = .data:0x0000001C; // type:object size:0xC lbl_1_data_28 = .data:0x00000028; // type:object size:0xC lbl_1_data_34 = .data:0x00000034; // type:object size:0xC -lbl_1_data_40 = .data:0x00000040; // type:object size:0x23 scope:local data:string +lbl_1_data_40 = .data:0x00000040; // type:object size:0x24 data:string lbl_1_data_64 = .data:0x00000064; // type:object size:0x4 data:4byte -lbl_1_data_68 = .data:0x00000068; // type:object size:0x420 data:float +lbl_1_data_68 = .data:0x00000068; // type:object size:0x420 lbl_1_data_488 = .data:0x00000488; // type:object size:0x2C lbl_1_data_4B4 = .data:0x000004B4; // type:object size:0x30 jumptable_1_data_4E4 = .data:0x000004E4; // type:object size:0x2C scope:local -lbl_1_data_510 = .data:0x00000510; // type:object size:0x4 lbl_1_data_514 = .data:0x00000514; // type:object size:0xC lbl_1_data_520 = .data:0x00000520; // type:object size:0x64 lbl_1_data_584 = .data:0x00000584; // type:object size:0x64 @@ -397,44 +396,43 @@ lbl_1_data_678 = .data:0x00000678; // type:object size:0x24 lbl_1_data_69C = .data:0x0000069C; // type:object size:0x6C lbl_1_data_708 = .data:0x00000708; // type:object size:0x24 lbl_1_data_72C = .data:0x0000072C; // type:object size:0x24 -lbl_1_data_750 = .data:0x00000750; // type:object size:0x7 scope:local data:string -lbl_1_data_757 = .data:0x00000757; // type:object size:0x7 scope:local data:string -lbl_1_data_75E = .data:0x0000075E; // type:object size:0x7 scope:local data:string -lbl_1_data_765 = .data:0x00000765; // type:object size:0x7 scope:local data:string -lbl_1_data_76C = .data:0x0000076C; // type:object size:0x7 scope:local data:string -lbl_1_data_773 = .data:0x00000773; // type:object size:0x7 scope:local data:string -lbl_1_data_77A = .data:0x0000077A; // type:object size:0x7 scope:local data:string -lbl_1_data_781 = .data:0x00000781; // type:object size:0x7 scope:local data:string -lbl_1_data_788 = .data:0x00000788; // type:object size:0x7 scope:local data:string -lbl_1_data_78F = .data:0x0000078F; // type:object size:0x8 scope:local data:string -lbl_1_data_797 = .data:0x00000797; // type:object size:0x8 scope:local data:string -lbl_1_data_79F = .data:0x0000079F; // type:object size:0x8 scope:local data:string -lbl_1_data_7A7 = .data:0x000007A7; // type:object size:0x8 scope:local data:string -lbl_1_data_7AF = .data:0x000007AF; // type:object size:0x8 scope:local data:string -lbl_1_data_7B7 = .data:0x000007B7; // type:object size:0x8 scope:local data:string -lbl_1_data_7BF = .data:0x000007BF; // type:object size:0x8 scope:local data:string -lbl_1_data_7C7 = .data:0x000007C7; // type:object size:0x8 scope:local data:string -lbl_1_data_7CF = .data:0x000007CF; // type:object size:0x8 scope:local data:string -lbl_1_data_7D7 = .data:0x000007D7; // type:object size:0x8 scope:local data:string -lbl_1_data_7DF = .data:0x000007DF; // type:object size:0x8 scope:local data:string -lbl_1_data_7E7 = .data:0x000007E7; // type:object size:0x8 scope:local data:string -lbl_1_data_7EF = .data:0x000007EF; // type:object size:0x8 scope:local data:string -lbl_1_data_7F7 = .data:0x000007F7; // type:object size:0x8 scope:local data:string -lbl_1_data_7FF = .data:0x000007FF; // type:object size:0x8 scope:local data:string -lbl_1_data_807 = .data:0x00000807; // type:object size:0x8 scope:local data:string -lbl_1_data_80F = .data:0x0000080F; // type:object size:0x8 scope:local data:string -lbl_1_data_817 = .data:0x00000817; // type:object size:0x8 scope:local data:string -lbl_1_data_81F = .data:0x0000081F; // type:object size:0x8 scope:local data:string -lbl_1_data_827 = .data:0x00000827; // type:object size:0x8 scope:local data:string -lbl_1_data_82F = .data:0x0000082F; // type:object size:0x8 scope:local data:string -lbl_1_data_837 = .data:0x00000837; // type:object size:0x8 scope:local data:string -lbl_1_data_83F = .data:0x0000083F; // type:object size:0x9 scope:local +lbl_1_data_750 = .data:0x00000750; // type:object size:0x7 data:string +lbl_1_data_757 = .data:0x00000757; // type:object size:0x7 data:string +lbl_1_data_75E = .data:0x0000075E; // type:object size:0x7 data:string +lbl_1_data_765 = .data:0x00000765; // type:object size:0x7 data:string +lbl_1_data_76C = .data:0x0000076C; // type:object size:0x7 data:string +lbl_1_data_773 = .data:0x00000773; // type:object size:0x7 data:string +lbl_1_data_77A = .data:0x0000077A; // type:object size:0x7 data:string +lbl_1_data_781 = .data:0x00000781; // type:object size:0x7 data:string +lbl_1_data_788 = .data:0x00000788; // type:object size:0x7 data:string +lbl_1_data_78F = .data:0x0000078F; // type:object size:0x8 data:string +lbl_1_data_797 = .data:0x00000797; // type:object size:0x8 data:string +lbl_1_data_79F = .data:0x0000079F; // type:object size:0x8 data:string +lbl_1_data_7A7 = .data:0x000007A7; // type:object size:0x8 data:string +lbl_1_data_7AF = .data:0x000007AF; // type:object size:0x8 data:string +lbl_1_data_7B7 = .data:0x000007B7; // type:object size:0x8 data:string +lbl_1_data_7BF = .data:0x000007BF; // type:object size:0x8 data:string +lbl_1_data_7C7 = .data:0x000007C7; // type:object size:0x8 data:string +lbl_1_data_7CF = .data:0x000007CF; // type:object size:0x8 data:string +lbl_1_data_7D7 = .data:0x000007D7; // type:object size:0x8 data:string +lbl_1_data_7DF = .data:0x000007DF; // type:object size:0x8 data:string +lbl_1_data_7E7 = .data:0x000007E7; // type:object size:0x8 data:string +lbl_1_data_7EF = .data:0x000007EF; // type:object size:0x8 data:string +lbl_1_data_7F7 = .data:0x000007F7; // type:object size:0x8 data:string +lbl_1_data_7FF = .data:0x000007FF; // type:object size:0x8 data:string +lbl_1_data_807 = .data:0x00000807; // type:object size:0x8 data:string +lbl_1_data_80F = .data:0x0000080F; // type:object size:0x8 data:string +lbl_1_data_817 = .data:0x00000817; // type:object size:0x8 data:string +lbl_1_data_81F = .data:0x0000081F; // type:object size:0x8 data:string +lbl_1_data_827 = .data:0x00000827; // type:object size:0x8 data:string +lbl_1_data_82F = .data:0x0000082F; // type:object size:0x8 data:string +lbl_1_data_837 = .data:0x00000837; // type:object size:0x8 data:string +lbl_1_data_83F = .data:0x0000083F; // type:object size:0x9 lbl_1_data_848 = .data:0x00000848; // type:object size:0x80 -lbl_1_data_8C8 = .data:0x000008C8; // type:object size:0x9 scope:local data:string -lbl_1_data_8D1 = .data:0x000008D1; // type:object size:0x7 scope:local data:string +lbl_1_data_8C8 = .data:0x000008C8; // type:object size:0x9 data:string +lbl_1_data_8D1 = .data:0x000008D1; // type:object size:0x7 data:string lbl_1_data_8D8 = .data:0x000008D8; // type:object size:0x60 -lbl_1_data_938 = .data:0x00000938; // type:object size:0xB scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 scope:local data:4byte +lbl_1_data_938 = .data:0x00000938; // type:object size:0xB data:string lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x288 @@ -458,7 +456,6 @@ lbl_1_bss_DD8 = .bss:0x00000DD8; // type:object size:0x4 data:4byte lbl_1_bss_DDC = .bss:0x00000DDC; // type:object size:0x4 data:4byte lbl_1_bss_DE0 = .bss:0x00000DE0; // type:object size:0x4 data:4byte lbl_1_bss_DE4 = .bss:0x00000DE4; // type:object size:0x44 data:4byte -lbl_1_bss_E28 = .bss:0x00000E28; // type:object size:0x4 data:4byte lbl_1_bss_E2C = .bss:0x00000E2C; // type:object size:0x4 data:4byte lbl_1_bss_E30 = .bss:0x00000E30; // type:object size:0x4 data:4byte lbl_1_bss_E34 = .bss:0x00000E34; // type:object size:0x258 data:4byte diff --git a/config/GMPE01_00/rels/m439Dll/symbols.txt b/config/GMPE01_00/rels/m439Dll/symbols.txt index f3f1ec36..246ef044 100644 --- a/config/GMPE01_00/rels/m439Dll/symbols.txt +++ b/config/GMPE01_00/rels/m439Dll/symbols.txt @@ -173,89 +173,89 @@ lbl_1_data_EA8 = .data:0x00000EA8; // type:object size:0x9C lbl_1_data_F44 = .data:0x00000F44; // type:object size:0x9C lbl_1_data_FE0 = .data:0x00000FE0; // type:object size:0x34 lbl_1_data_1014 = .data:0x00001014; // type:object size:0x60 -lbl_1_data_1074 = .data:0x00001074; // type:object size:0x18 data:2byte -lbl_1_data_108C = .data:0x0000108C; // type:object size:0x30 data:float -lbl_1_data_10BC = .data:0x000010BC; // type:object size:0x204 data:float -lbl_1_data_12C0 = .data:0x000012C0; // type:object size:0x204 data:float -lbl_1_data_14C4 = .data:0x000014C4; // type:object size:0x204 data:float +lbl_1_data_1074 = .data:0x00001074; // type:object size:0x18 +lbl_1_data_108C = .data:0x0000108C; // type:object size:0x30 +lbl_1_data_10BC = .data:0x000010BC; // type:object size:0x204 +lbl_1_data_12C0 = .data:0x000012C0; // type:object size:0x204 +lbl_1_data_14C4 = .data:0x000014C4; // type:object size:0x204 lbl_1_data_16C8 = .data:0x000016C8; // type:object size:0xC -lbl_1_data_16D4 = .data:0x000016D4; // type:object size:0x4 data:4byte -lbl_1_data_16D8 = .data:0x000016D8; // type:object size:0x1D4 data:float -lbl_1_data_18AC = .data:0x000018AC; // type:object size:0x1D4 data:float -lbl_1_data_1A80 = .data:0x00001A80; // type:object size:0x1D4 data:float -lbl_1_data_1C54 = .data:0x00001C54; // type:object size:0x120 data:float -lbl_1_data_1D74 = .data:0x00001D74; // type:object size:0x120 data:float -lbl_1_data_1E94 = .data:0x00001E94; // type:object size:0x120 data:float -lbl_1_data_1FB4 = .data:0x00001FB4; // type:object size:0xF0 data:float -lbl_1_data_20A4 = .data:0x000020A4; // type:object size:0xF0 data:float -lbl_1_data_2194 = .data:0x00002194; // type:object size:0xF0 data:float +lbl_1_data_16D4 = .data:0x000016D4; // type:object size:0x4 +lbl_1_data_16D8 = .data:0x000016D8; // type:object size:0x1D4 +lbl_1_data_18AC = .data:0x000018AC; // type:object size:0x1D4 +lbl_1_data_1A80 = .data:0x00001A80; // type:object size:0x1D4 +lbl_1_data_1C54 = .data:0x00001C54; // type:object size:0x120 +lbl_1_data_1D74 = .data:0x00001D74; // type:object size:0x120 +lbl_1_data_1E94 = .data:0x00001E94; // type:object size:0x120 +lbl_1_data_1FB4 = .data:0x00001FB4; // type:object size:0xF0 +lbl_1_data_20A4 = .data:0x000020A4; // type:object size:0xF0 +lbl_1_data_2194 = .data:0x00002194; // type:object size:0xF0 lbl_1_data_2284 = .data:0x00002284; // type:object size:0x24 -lbl_1_data_22A8 = .data:0x000022A8; // type:object size:0xC data:4byte -lbl_1_data_22B4 = .data:0x000022B4; // type:object size:0x174 data:float -lbl_1_data_2428 = .data:0x00002428; // type:object size:0x174 data:float -lbl_1_data_259C = .data:0x0000259C; // type:object size:0x174 data:float -lbl_1_data_2710 = .data:0x00002710; // type:object size:0x144 data:float -lbl_1_data_2854 = .data:0x00002854; // type:object size:0x144 data:float -lbl_1_data_2998 = .data:0x00002998; // type:object size:0x144 data:float -lbl_1_data_2ADC = .data:0x00002ADC; // type:object size:0x1A4 data:float -lbl_1_data_2C80 = .data:0x00002C80; // type:object size:0x1A4 data:float -lbl_1_data_2E24 = .data:0x00002E24; // type:object size:0x1A4 data:float +lbl_1_data_22A8 = .data:0x000022A8; // type:object size:0xC +lbl_1_data_22B4 = .data:0x000022B4; // type:object size:0x174 +lbl_1_data_2428 = .data:0x00002428; // type:object size:0x174 +lbl_1_data_259C = .data:0x0000259C; // type:object size:0x174 +lbl_1_data_2710 = .data:0x00002710; // type:object size:0x144 +lbl_1_data_2854 = .data:0x00002854; // type:object size:0x144 +lbl_1_data_2998 = .data:0x00002998; // type:object size:0x144 +lbl_1_data_2ADC = .data:0x00002ADC; // type:object size:0x1A4 +lbl_1_data_2C80 = .data:0x00002C80; // type:object size:0x1A4 +lbl_1_data_2E24 = .data:0x00002E24; // type:object size:0x1A4 lbl_1_data_2FC8 = .data:0x00002FC8; // type:object size:0x24 -lbl_1_data_2FEC = .data:0x00002FEC; // type:object size:0xC data:4byte -lbl_1_data_2FF8 = .data:0x00002FF8; // type:object size:0x294 data:float -lbl_1_data_328C = .data:0x0000328C; // type:object size:0x294 data:float -lbl_1_data_3520 = .data:0x00003520; // type:object size:0x294 data:float +lbl_1_data_2FEC = .data:0x00002FEC; // type:object size:0xC +lbl_1_data_2FF8 = .data:0x00002FF8; // type:object size:0x294 +lbl_1_data_328C = .data:0x0000328C; // type:object size:0x294 +lbl_1_data_3520 = .data:0x00003520; // type:object size:0x294 lbl_1_data_37B4 = .data:0x000037B4; // type:object size:0xC -lbl_1_data_37C0 = .data:0x000037C0; // type:object size:0x4 data:4byte -lbl_1_data_37C4 = .data:0x000037C4; // type:object size:0x198 data:float -lbl_1_data_395C = .data:0x0000395C; // type:object size:0x198 data:float -lbl_1_data_3AF4 = .data:0x00003AF4; // type:object size:0x198 data:float -lbl_1_data_3C8C = .data:0x00003C8C; // type:object size:0x198 data:float -lbl_1_data_3E24 = .data:0x00003E24; // type:object size:0x198 data:float -lbl_1_data_3FBC = .data:0x00003FBC; // type:object size:0x198 data:float +lbl_1_data_37C0 = .data:0x000037C0; // type:object size:0x4 +lbl_1_data_37C4 = .data:0x000037C4; // type:object size:0x198 +lbl_1_data_395C = .data:0x0000395C; // type:object size:0x198 +lbl_1_data_3AF4 = .data:0x00003AF4; // type:object size:0x198 +lbl_1_data_3C8C = .data:0x00003C8C; // type:object size:0x198 +lbl_1_data_3E24 = .data:0x00003E24; // type:object size:0x198 +lbl_1_data_3FBC = .data:0x00003FBC; // type:object size:0x198 lbl_1_data_4154 = .data:0x00004154; // type:object size:0x18 -lbl_1_data_416C = .data:0x0000416C; // type:object size:0x8 data:4byte -lbl_1_data_4174 = .data:0x00004174; // type:object size:0x210 data:float -lbl_1_data_4384 = .data:0x00004384; // type:object size:0x210 data:float -lbl_1_data_4594 = .data:0x00004594; // type:object size:0x210 data:float -lbl_1_data_47A4 = .data:0x000047A4; // type:object size:0x210 data:float -lbl_1_data_49B4 = .data:0x000049B4; // type:object size:0x210 data:float -lbl_1_data_4BC4 = .data:0x00004BC4; // type:object size:0x210 data:float +lbl_1_data_416C = .data:0x0000416C; // type:object size:0x8 +lbl_1_data_4174 = .data:0x00004174; // type:object size:0x210 +lbl_1_data_4384 = .data:0x00004384; // type:object size:0x210 +lbl_1_data_4594 = .data:0x00004594; // type:object size:0x210 +lbl_1_data_47A4 = .data:0x000047A4; // type:object size:0x210 +lbl_1_data_49B4 = .data:0x000049B4; // type:object size:0x210 +lbl_1_data_4BC4 = .data:0x00004BC4; // type:object size:0x210 lbl_1_data_4DD4 = .data:0x00004DD4; // type:object size:0x18 -lbl_1_data_4DEC = .data:0x00004DEC; // type:object size:0x8 data:4byte -lbl_1_data_4DF4 = .data:0x00004DF4; // type:object size:0x1D4 data:float -lbl_1_data_4FC8 = .data:0x00004FC8; // type:object size:0x1D4 data:float -lbl_1_data_519C = .data:0x0000519C; // type:object size:0x1D4 data:float -lbl_1_data_5370 = .data:0x00005370; // type:object size:0x1D4 data:float -lbl_1_data_5544 = .data:0x00005544; // type:object size:0x1D4 data:float -lbl_1_data_5718 = .data:0x00005718; // type:object size:0x1D4 data:float +lbl_1_data_4DEC = .data:0x00004DEC; // type:object size:0x8 +lbl_1_data_4DF4 = .data:0x00004DF4; // type:object size:0x1D4 +lbl_1_data_4FC8 = .data:0x00004FC8; // type:object size:0x1D4 +lbl_1_data_519C = .data:0x0000519C; // type:object size:0x1D4 +lbl_1_data_5370 = .data:0x00005370; // type:object size:0x1D4 +lbl_1_data_5544 = .data:0x00005544; // type:object size:0x1D4 +lbl_1_data_5718 = .data:0x00005718; // type:object size:0x1D4 lbl_1_data_58EC = .data:0x000058EC; // type:object size:0x18 -lbl_1_data_5904 = .data:0x00005904; // type:object size:0x8 data:4byte -lbl_1_data_590C = .data:0x0000590C; // type:object size:0x18C data:float -lbl_1_data_5A98 = .data:0x00005A98; // type:object size:0x18C data:float -lbl_1_data_5C24 = .data:0x00005C24; // type:object size:0x18C data:float -lbl_1_data_5DB0 = .data:0x00005DB0; // type:object size:0x168 data:float -lbl_1_data_5F18 = .data:0x00005F18; // type:object size:0x168 data:float -lbl_1_data_6080 = .data:0x00006080; // type:object size:0x168 data:float +lbl_1_data_5904 = .data:0x00005904; // type:object size:0x8 +lbl_1_data_590C = .data:0x0000590C; // type:object size:0x18C +lbl_1_data_5A98 = .data:0x00005A98; // type:object size:0x18C +lbl_1_data_5C24 = .data:0x00005C24; // type:object size:0x18C +lbl_1_data_5DB0 = .data:0x00005DB0; // type:object size:0x168 +lbl_1_data_5F18 = .data:0x00005F18; // type:object size:0x168 +lbl_1_data_6080 = .data:0x00006080; // type:object size:0x168 lbl_1_data_61E8 = .data:0x000061E8; // type:object size:0x18 -lbl_1_data_6200 = .data:0x00006200; // type:object size:0x8 data:4byte -lbl_1_data_6208 = .data:0x00006208; // type:object size:0x174 data:float -lbl_1_data_637C = .data:0x0000637C; // type:object size:0x174 data:float -lbl_1_data_64F0 = .data:0x000064F0; // type:object size:0x174 data:float -lbl_1_data_6664 = .data:0x00006664; // type:object size:0x15C data:float -lbl_1_data_67C0 = .data:0x000067C0; // type:object size:0x15C data:float -lbl_1_data_691C = .data:0x0000691C; // type:object size:0x15C data:float +lbl_1_data_6200 = .data:0x00006200; // type:object size:0x8 +lbl_1_data_6208 = .data:0x00006208; // type:object size:0x174 +lbl_1_data_637C = .data:0x0000637C; // type:object size:0x174 +lbl_1_data_64F0 = .data:0x000064F0; // type:object size:0x174 +lbl_1_data_6664 = .data:0x00006664; // type:object size:0x15C +lbl_1_data_67C0 = .data:0x000067C0; // type:object size:0x15C +lbl_1_data_691C = .data:0x0000691C; // type:object size:0x15C lbl_1_data_6A78 = .data:0x00006A78; // type:object size:0x18 -lbl_1_data_6A90 = .data:0x00006A90; // type:object size:0x8 data:4byte -lbl_1_data_6A98 = .data:0x00006A98; // type:object size:0x18C data:float -lbl_1_data_6C24 = .data:0x00006C24; // type:object size:0x18C data:float -lbl_1_data_6DB0 = .data:0x00006DB0; // type:object size:0x18C data:float -lbl_1_data_6F3C = .data:0x00006F3C; // type:object size:0x174 data:float -lbl_1_data_70B0 = .data:0x000070B0; // type:object size:0x174 data:float -lbl_1_data_7224 = .data:0x00007224; // type:object size:0x174 data:float +lbl_1_data_6A90 = .data:0x00006A90; // type:object size:0x8 +lbl_1_data_6A98 = .data:0x00006A98; // type:object size:0x18C +lbl_1_data_6C24 = .data:0x00006C24; // type:object size:0x18C +lbl_1_data_6DB0 = .data:0x00006DB0; // type:object size:0x18C +lbl_1_data_6F3C = .data:0x00006F3C; // type:object size:0x174 +lbl_1_data_70B0 = .data:0x000070B0; // type:object size:0x174 +lbl_1_data_7224 = .data:0x00007224; // type:object size:0x174 lbl_1_data_7398 = .data:0x00007398; // type:object size:0x18 -lbl_1_data_73B0 = .data:0x000073B0; // type:object size:0x8 data:4byte -lbl_1_data_73B8 = .data:0x000073B8; // type:object size:0x14 data:4byte +lbl_1_data_73B0 = .data:0x000073B0; // type:object size:0x8 +lbl_1_data_73B8 = .data:0x000073B8; // type:object size:0x14 lbl_1_data_73CC = .data:0x000073CC; // type:object size:0x28 lbl_1_data_73F4 = .data:0x000073F4; // type:object size:0x28 lbl_1_data_741C = .data:0x0000741C; // type:object size:0x70 data:float diff --git a/config/GMPE01_00/rels/m440Dll/symbols.txt b/config/GMPE01_00/rels/m440Dll/symbols.txt index 47f1c944..1457a3b2 100644 --- a/config/GMPE01_00/rels/m440Dll/symbols.txt +++ b/config/GMPE01_00/rels/m440Dll/symbols.txt @@ -238,16 +238,16 @@ lbl_1_data_60 = .data:0x00000060; // type:object size:0xC lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC data:float lbl_1_data_78 = .data:0x00000078; // type:object size:0x54 data:float lbl_1_data_CC = .data:0x000000CC; // type:object size:0x18 scope:local -lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x4 data:2byte -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x4 data:2byte -lbl_1_data_EC = .data:0x000000EC; // type:object size:0x4 data:2byte -lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x4 data:2byte +lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x2 data:2byte +lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x2 data:2byte +lbl_1_data_EC = .data:0x000000EC; // type:object size:0x2 data:2byte +lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x2 data:2byte lbl_1_data_F4 = .data:0x000000F4; // type:object size:0x10 -lbl_1_data_104 = .data:0x00000104; // type:object size:0x4 data:2byte -lbl_1_data_108 = .data:0x00000108; // type:object size:0x4 data:2byte +lbl_1_data_104 = .data:0x00000104; // type:object size:0x2 data:2byte +lbl_1_data_108 = .data:0x00000108; // type:object size:0x2 data:2byte lbl_1_data_10C = .data:0x0000010C; // type:object size:0x12 lbl_1_data_11E = .data:0x0000011E; // type:object size:0x13 scope:local data:string -lbl_1_data_131 = .data:0x00000131; // type:object size:0x17 scope:local data:string +lbl_1_data_131 = .data:0x00000131; // type:object size:0x18 scope:local data:string lbl_1_data_149 = .data:0x00000149; // type:object size:0x19 scope:local data:string lbl_1_data_162 = .data:0x00000162; // type:object size:0x1C scope:local data:string lbl_1_data_17E = .data:0x0000017E; // type:object size:0x10 scope:local data:string diff --git a/config/GMPE01_00/rels/m442Dll/symbols.txt b/config/GMPE01_00/rels/m442Dll/symbols.txt index e5e664a3..c4f962cc 100644 --- a/config/GMPE01_00/rels/m442Dll/symbols.txt +++ b/config/GMPE01_00/rels/m442Dll/symbols.txt @@ -167,14 +167,14 @@ lbl_1_data_60 = .data:0x00000060; // type:object size:0xC data:float lbl_1_data_6C = .data:0x0000006C; // type:object size:0x4 data:byte lbl_1_data_70 = .data:0x00000070; // type:object size:0xC data:float lbl_1_data_7C = .data:0x0000007C; // type:object size:0xC data:float -lbl_1_data_88 = .data:0x00000088; // type:object size:0x23 scope:local data:string +lbl_1_data_88 = .data:0x00000088; // type:object size:0x24 scope:local data:string lbl_1_data_AC = .data:0x000000AC; // type:object size:0x4 data:4byte jumptable_1_data_B0 = .data:0x000000B0; // type:object size:0x30 scope:local lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x1C scope:local data:string lbl_1_data_FC = .data:0x000000FC; // type:object size:0x1C data:4byte lbl_1_data_118 = .data:0x00000118; // type:object size:0x8 data:4byte lbl_1_data_120 = .data:0x00000120; // type:object size:0x30 data:float -lbl_1_data_150 = .data:0x00000150; // type:object size:0x19 scope:local data:string +lbl_1_data_150 = .data:0x00000150; // type:object size:0x1A scope:local data:string lbl_1_data_16A = .data:0x0000016A; // type:object size:0x20 data:2byte lbl_1_data_18A = .data:0x0000018A; // type:object size:0x14 data:2byte lbl_1_data_1A0 = .data:0x000001A0; // type:object size:0xC data:4byte diff --git a/config/GMPE01_00/rels/m443Dll/splits.txt b/config/GMPE01_00/rels/m443Dll/splits.txt index b9a84a24..ff3f7391 100644 --- a/config/GMPE01_00/rels/m443Dll/splits.txt +++ b/config/GMPE01_00/rels/m443Dll/splits.txt @@ -17,11 +17,11 @@ REL/m443Dll/main.c: REL/m443Dll/map.c: .text start:0x00004A5C end:0x00005444 - .rodata start:0x000001F0 end:0x00000268 + .rodata start:0x000001F0 end:0x00000278 .data start:0x00000240 end:0x00000258 REL/m443Dll/player.c: .text start:0x00005444 end:0x00009638 - .rodata start:0x00000268 end:0x000004E0 + .rodata start:0x00000278 end:0x000004E0 .data start:0x00000258 end:0x000004F0 .bss start:0x00000078 end:0x000000A0 diff --git a/config/GMPE01_00/rels/m443Dll/symbols.txt b/config/GMPE01_00/rels/m443Dll/symbols.txt index ed466311..76a2059a 100644 --- a/config/GMPE01_00/rels/m443Dll/symbols.txt +++ b/config/GMPE01_00/rels/m443Dll/symbols.txt @@ -76,205 +76,203 @@ fn_1_8FFC = .text:0x00008FFC; // type:function size:0x5A8 fn_1_95A4 = .text:0x000095A4; // type:function size:0x94 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -__fakeHalf = .rodata:0x00000000; // type:object size:0x8 data:double -__fakeThree = .rodata:0x00000008; // type:object size:0x8 data:double -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x50 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x34 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x10 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 scope:local data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 scope:local data:double -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 scope:local data:double -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 scope:local data:double -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 scope:local data:double -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 scope:local data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 scope:local data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 scope:local data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 scope:local data:float -lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 scope:local data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x50 +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x14 data:4byte +lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x10 data:4byte +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x10 data:4byte +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float +lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0xC data:4byte +lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x34 data:4byte +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float +lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float +lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float +lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x10 data:4byte +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float +lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float +lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float +lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 data:double +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float +lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float +lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float +lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float +lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 data:double +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 data:double +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float +lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float +lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 data:double +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float +lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float +lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x40 data:4byte +lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x10 data:4byte +lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x10 data:4byte +lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float +lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 data:float +lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 data:float +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float +lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float +lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float +lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x20 data:4byte +lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float +lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float +lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float +lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float +lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float +lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 data:float +lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 data:float +lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float +lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 data:float +lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 data:float +lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float +lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 data:float +lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float +lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float +lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float +lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 data:double +lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float +lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float +lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float +lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float +lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 data:float +lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 data:float +lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float +lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float +lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float +lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 data:float +lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 data:double +lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 data:double +lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 data:float +lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 data:float +lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float +lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 data:float +lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 data:float +lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 data:float +lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float +lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float +lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float +lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 data:float +lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 data:float +lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 data:float +lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float +lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 data:float +lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float +lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float +lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float +lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float +lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float +lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float +lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float +lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float +lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float +lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 data:float +lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 data:float +lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 data:float +lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float +lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float +lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float +lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0xC lbl_1_data_C = .data:0x0000000C; // type:object size:0xC lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float @@ -282,18 +280,17 @@ lbl_1_data_24 = .data:0x00000024; // type:object size:0x4 lbl_1_data_28 = .data:0x00000028; // type:object size:0xC data:float lbl_1_data_34 = .data:0x00000034; // type:object size:0xC data:float lbl_1_data_40 = .data:0x00000040; // type:object size:0xC data:float -lbl_1_data_4C = .data:0x0000004C; // type:object size:0x14 scope:local data:string +lbl_1_data_4C = .data:0x0000004C; // type:object size:0x14 data:string lbl_1_data_60 = .data:0x00000060; // type:object size:0x48 lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x48 lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x18 lbl_1_data_108 = .data:0x00000108; // type:object size:0x80 lbl_1_data_188 = .data:0x00000188; // type:object size:0x80 -lbl_1_data_208 = .data:0x00000208; // type:object size:0x4 data:byte -lbl_1_data_20C = .data:0x0000020C; // type:object size:0x1A scope:local data:string -lbl_1_data_226 = .data:0x00000226; // type:object size:0x19 scope:local data:string +lbl_1_data_208 = .data:0x00000208; // type:object size:0x1 data:byte +lbl_1_data_20C = .data:0x0000020C; // type:object size:0x1A data:string +lbl_1_data_226 = .data:0x00000226; // type:object size:0x19 data:string lbl_1_data_240 = .data:0x00000240; // type:object size:0x14 -lbl_1_data_258 = .data:0x00000258; // type:object size:0xB scope:local data:string -lbl_1_data_264 = .data:0x00000264; // type:object size:0x20 +lbl_1_data_264 = .data:0x00000258; // type:object size:0x20 lbl_1_data_284 = .data:0x00000284; // type:object size:0x40 lbl_1_data_2C4 = .data:0x000002C4; // type:object size:0x10 lbl_1_data_2D4 = .data:0x000002D4; // type:object size:0x50 @@ -304,10 +301,10 @@ lbl_1_data_354 = .data:0x00000354; // type:object size:0x10 lbl_1_data_364 = .data:0x00000364; // type:object size:0x30 lbl_1_data_394 = .data:0x00000394; // type:object size:0x30 lbl_1_data_3C4 = .data:0x000003C4; // type:object size:0x30 -lbl_1_data_3F4 = .data:0x000003F4; // type:object size:0x5 scope:local data:string -lbl_1_data_3F9 = .data:0x000003F9; // type:object size:0x7 scope:local data:string -lbl_1_data_400 = .data:0x00000400; // type:object size:0x7 scope:local data:string -lbl_1_data_407 = .data:0x00000407; // type:object size:0x7 scope:local data:string +lbl_1_data_3F4 = .data:0x000003F4; // type:object size:0x5 data:string +lbl_1_data_3F9 = .data:0x000003F9; // type:object size:0x7 data:string +lbl_1_data_400 = .data:0x00000400; // type:object size:0x7 data:string +lbl_1_data_407 = .data:0x00000407; // type:object size:0x9 lbl_1_data_410 = .data:0x00000410; // type:object size:0x58 lbl_1_data_468 = .data:0x00000468; // type:object size:0x20 lbl_1_data_488 = .data:0x00000488; // type:object size:0x58 diff --git a/config/GMPE01_00/rels/m444dll/symbols.txt b/config/GMPE01_00/rels/m444dll/symbols.txt index 65610d76..ca550b02 100644 --- a/config/GMPE01_00/rels/m444dll/symbols.txt +++ b/config/GMPE01_00/rels/m444dll/symbols.txt @@ -38,108 +38,108 @@ fn_1_D9C8 = .text:0x0000D9C8; // type:function size:0x2C fn_1_D9F4 = .text:0x0000D9F4; // type:function size:0x42C _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 scope:local data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 scope:local data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 scope:local data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 scope:local data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 scope:local data:double +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 data:double +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float +lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float +lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float +lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float +lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float +lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float +lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float +lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float @@ -219,35 +219,35 @@ lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data: lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x8 scope:local data:double -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 scope:local data:double -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 scope:local data:double -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 scope:local data:double -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float +lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float +lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float +lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 data:float +lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 data:float +lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float +lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 data:double +lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 data:double +lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 data:float +lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 data:double +lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x118 data:float lbl_1_data_118 = .data:0x00000118; // type:object size:0x28 lbl_1_data_140 = .data:0x00000140; // type:object size:0xC data:float lbl_1_data_14C = .data:0x0000014C; // type:object size:0x3C data:float -lbl_1_data_188 = .data:0x00000188; // type:object size:0xA data:2byte +lbl_1_data_188 = .data:0x00000188; // type:object size:0xC lbl_1_data_194 = .data:0x00000194; // type:object size:0x20 -lbl_1_data_1B4 = .data:0x000001B4; // type:object size:0x24 scope:local data:string -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0xA scope:local data:string -lbl_1_data_1E2 = .data:0x000001E2; // type:object size:0xA scope:local data:string -lbl_1_data_1EC = .data:0x000001EC; // type:object size:0xA scope:local data:string -lbl_1_data_1F6 = .data:0x000001F6; // type:object size:0xD scope:local data:string -lbl_1_data_203 = .data:0x00000203; // type:object size:0xD scope:local data:string -lbl_1_data_210 = .data:0x00000210; // type:object size:0xD scope:local data:string -lbl_1_data_21D = .data:0x0000021D; // type:object size:0xD scope:local data:string -lbl_1_data_22A = .data:0x0000022A; // type:object size:0xB scope:local data:string -lbl_1_data_235 = .data:0x00000235; // type:object size:0xB scope:local data:string +lbl_1_data_1B4 = .data:0x000001B4; // type:object size:0x24 data:string +lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0xA data:string +lbl_1_data_1E2 = .data:0x000001E2; // type:object size:0xA data:string +lbl_1_data_1EC = .data:0x000001EC; // type:object size:0xA data:string +lbl_1_data_1F6 = .data:0x000001F6; // type:object size:0xD data:string +lbl_1_data_203 = .data:0x00000203; // type:object size:0xD data:string +lbl_1_data_210 = .data:0x00000210; // type:object size:0xD data:string +lbl_1_data_21D = .data:0x0000021D; // type:object size:0xD data:string +lbl_1_data_22A = .data:0x0000022A; // type:object size:0xB data:string +lbl_1_data_235 = .data:0x00000235; // type:object size:0xB data:string lbl_1_data_240 = .data:0x00000240; // type:object size:0x4 -lbl_1_data_244 = .data:0x00000244; // type:object size:0xA scope:local data:string -lbl_1_data_24E = .data:0x0000024E; // type:object size:0x4 scope:local data:string +lbl_1_data_244 = .data:0x00000244; // type:object size:0xA data:string +lbl_1_data_24E = .data:0x0000024E; // type:object size:0x4 data:string lbl_1_data_258 = .data:0x00000258; // type:object size:0xC lbl_1_data_264 = .data:0x00000264; // type:object size:0x3C lbl_1_data_2A0 = .data:0x000002A0; // type:object size:0x28 @@ -267,7 +267,7 @@ lbl_1_data_361 = .data:0x00000361; // type:object size:0xD scope:local data:stri lbl_1_data_36E = .data:0x0000036E; // type:object size:0xD scope:local data:string lbl_1_data_37B = .data:0x0000037B; // type:object size:0xD scope:local data:string jumptable_1_data_388 = .data:0x00000388; // type:object size:0x1C scope:local -lbl_1_data_3A4 = .data:0x000003A4; // type:object size:0x6 data:2byte +lbl_1_data_3A4 = .data:0x000003A4; // type:object size:0x8 lbl_1_data_3AC = .data:0x000003AC; // type:object size:0x30 data:float lbl_1_data_3DC = .data:0x000003DC; // type:object size:0x24 data:float lbl_1_data_400 = .data:0x00000400; // type:object size:0x54 data:float diff --git a/config/GMPE01_00/rels/m445Dll/symbols.txt b/config/GMPE01_00/rels/m445Dll/symbols.txt index 81f152e7..0f826a14 100644 --- a/config/GMPE01_00/rels/m445Dll/symbols.txt +++ b/config/GMPE01_00/rels/m445Dll/symbols.txt @@ -37,132 +37,132 @@ fn_1_89B8 = .text:0x000089B8; // type:function size:0x60 fn_1_8A18 = .text:0x00008A18; // type:function size:0x33C _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 scope:local data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 scope:local data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x20 +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float +lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 data:double +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float +lbl_1_data_0 = .data:0x00000000; // type:object size:0x40 lbl_1_data_40 = .data:0x00000040; // type:object size:0x20 -lbl_1_data_60 = .data:0x00000060; // type:object size:0x18 data:float -lbl_1_data_78 = .data:0x00000078; // type:object size:0x18 data:float -lbl_1_data_90 = .data:0x00000090; // type:object size:0x40 data:float -lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x40 data:float +lbl_1_data_60 = .data:0x00000060; // type:object size:0x18 +lbl_1_data_78 = .data:0x00000078; // type:object size:0x18 +lbl_1_data_90 = .data:0x00000090; // type:object size:0x40 +lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x40 lbl_1_data_110 = .data:0x00000110; // type:object size:0x40 -lbl_1_data_150 = .data:0x00000150; // type:object size:0x12 scope:local data:string -lbl_1_data_162 = .data:0x00000162; // type:object size:0x12 scope:local data:string -lbl_1_data_174 = .data:0x00000174; // type:object size:0x13 scope:local data:string -lbl_1_data_187 = .data:0x00000187; // type:object size:0x13 scope:local data:string -lbl_1_data_19A = .data:0x0000019A; // type:object size:0x14 scope:local data:string -lbl_1_data_1AE = .data:0x000001AE; // type:object size:0x14 scope:local data:string -lbl_1_data_1C2 = .data:0x000001C2; // type:object size:0x10 scope:local data:string -lbl_1_data_1D2 = .data:0x000001D2; // type:object size:0x10 scope:local data:string -lbl_1_data_1E2 = .data:0x000001E2; // type:object size:0x13 scope:local data:string -lbl_1_data_1F5 = .data:0x000001F5; // type:object size:0xF scope:local data:string -lbl_1_data_204 = .data:0x00000204; // type:object size:0xE scope:local data:string -lbl_1_data_212 = .data:0x00000212; // type:object size:0xC scope:local data:string +lbl_1_data_150 = .data:0x00000150; // type:object size:0x12 data:string +lbl_1_data_162 = .data:0x00000162; // type:object size:0x12 data:string +lbl_1_data_174 = .data:0x00000174; // type:object size:0x13 data:string +lbl_1_data_187 = .data:0x00000187; // type:object size:0x13 data:string +lbl_1_data_19A = .data:0x0000019A; // type:object size:0x14 data:string +lbl_1_data_1AE = .data:0x000001AE; // type:object size:0x14 data:string +lbl_1_data_1C2 = .data:0x000001C2; // type:object size:0x10 data:string +lbl_1_data_1D2 = .data:0x000001D2; // type:object size:0x10 data:string +lbl_1_data_1E2 = .data:0x000001E2; // type:object size:0x13 data:string +lbl_1_data_1F5 = .data:0x000001F5; // type:object size:0xF data:string +lbl_1_data_204 = .data:0x00000204; // type:object size:0xE data:string +lbl_1_data_212 = .data:0x00000212; // type:object size:0xE lbl_1_data_220 = .data:0x00000220; // type:object size:0x40 lbl_1_data_260 = .data:0x00000260; // type:object size:0x20 -lbl_1_data_280 = .data:0x00000280; // type:object size:0xF scope:local data:string -lbl_1_data_28F = .data:0x0000028F; // type:object size:0xB scope:local data:string +lbl_1_data_280 = .data:0x00000280; // type:object size:0xF data:string +lbl_1_data_28F = .data:0x0000028F; // type:object size:0xB data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:float lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte lbl_1_bss_8 = .bss:0x00000008; // type:object size:0xC data:float lbl_1_bss_14 = .bss:0x00000014; // type:object size:0xC data:float lbl_1_bss_20 = .bss:0x00000020; // type:object size:0xC data:float -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte +lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x28 data:4byte lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x230 lbl_1_bss_288 = .bss:0x00000288; // type:object size:0x300 data:2byte -lbl_1_bss_588 = .bss:0x00000588; // type:object size:0x138 data:4byte +lbl_1_bss_588 = .bss:0x00000588; // type:object size:0x13C data:4byte lbl_1_bss_6C4 = .bss:0x000006C4; // type:object size:0x4 data:4byte lbl_1_bss_6C8 = .bss:0x000006C8; // type:object size:0x4 data:4byte lbl_1_bss_6CC = .bss:0x000006CC; // type:object size:0xC data:4byte diff --git a/config/GMPE01_00/rels/m446dll/symbols.txt b/config/GMPE01_00/rels/m446dll/symbols.txt index b1e4494c..e9879dc0 100644 --- a/config/GMPE01_00/rels/m446dll/symbols.txt +++ b/config/GMPE01_00/rels/m446dll/symbols.txt @@ -260,22 +260,22 @@ lbl_1_data_150 = .data:0x00000150; // type:object size:0xC lbl_1_data_15C = .data:0x0000015C; // type:object size:0x20 scope:local jumptable_1_data_17C = .data:0x0000017C; // type:object size:0x2C scope:local lbl_1_data_1A8 = .data:0x000001A8; // type:object size:0x1F scope:local data:string -lbl_1_data_1C7 = .data:0x000001C7; // type:object size:0x1E scope:local data:string +lbl_1_data_1C7 = .data:0x000001C7; // type:object size:0x1F scope:local data:string lbl_1_data_1E8 = .data:0x000001E8; // type:object size:0x1E scope:local data:string -lbl_1_data_206 = .data:0x00000206; // type:object size:0x1E scope:local data:string +lbl_1_data_206 = .data:0x00000206; // type:object size:0x22 scope:local data:string lbl_1_data_228 = .data:0x00000228; // type:object size:0x24 lbl_1_data_24C = .data:0x0000024C; // type:object size:0x90 lbl_1_data_2DC = .data:0x000002DC; // type:object size:0x14 lbl_1_data_2F0 = .data:0x000002F0; // type:object size:0x1F scope:local data:string lbl_1_data_30F = .data:0x0000030F; // type:object size:0x1F scope:local data:string -lbl_1_data_32E = .data:0x0000032E; // type:object size:0x1F scope:local data:string +lbl_1_data_32E = .data:0x0000032E; // type:object size:0x22 scope:local data:string jumptable_1_data_350 = .data:0x00000350; // type:object size:0x1C scope:local lbl_1_data_370 = .data:0x00000370; // type:object size:0xC data:float lbl_1_data_37C = .data:0x0000037C; // type:object size:0x1E scope:local data:string lbl_1_data_39A = .data:0x0000039A; // type:object size:0x1E scope:local data:string -lbl_1_data_3B8 = .data:0x000003B8; // type:object size:0xE scope:local data:string +lbl_1_data_3B8 = .data:0x000003B8; // type:object size:0x10 scope:local data:string lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0x24 -lbl_1_data_3EC = .data:0x000003EC; // type:object size:0x1F scope:local data:string +lbl_1_data_3EC = .data:0x000003EC; // type:object size:0x24 scope:local data:string lbl_1_data_410 = .data:0x00000410; // type:object size:0x14 lbl_1_data_424 = .data:0x00000424; // type:object size:0x3C lbl_1_data_460 = .data:0x00000460; // type:object size:0x54 data:byte diff --git a/config/GMPE01_00/rels/m447dll/symbols.txt b/config/GMPE01_00/rels/m447dll/symbols.txt index b32598b2..189f63b5 100644 --- a/config/GMPE01_00/rels/m447dll/symbols.txt +++ b/config/GMPE01_00/rels/m447dll/symbols.txt @@ -114,182 +114,182 @@ fn_1_A240 = .text:0x0000A240; // type:function size:0x34 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x64 -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0xC scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0xC scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x18 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0xC scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0xC scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0xC data:4byte +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC data:4byte +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0xC data:4byte +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x18 +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0xC +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0xC +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x18 data:4byte +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x58 -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x3C data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 scope:local data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 scope:local data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 scope:local data:double -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 scope:local data:double -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x3C +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float +lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float +lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float +lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x1 data:byte +lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:float +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float +lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float +lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float +lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float +lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float +lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 data:double +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 data:double +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 data:float lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x144 -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x24 data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x60 data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x14 data:byte -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 scope:local data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 scope:local data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 scope:local data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x20 scope:local -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x60 scope:local -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 scope:local data:float -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 scope:local data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 scope:local data:float -lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 scope:local data:float -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 scope:local data:float -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 scope:local data:float -lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 scope:local data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x24 +lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x60 +lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x14 +lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 data:float +lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float +lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float +lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float +lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 data:float +lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 data:float +lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 data:double +lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x8 data:double +lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x8 data:double +lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float +lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x8 data:double +lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 data:double +lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 data:float +lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 data:float +lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x8 data:double +lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float +lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float +lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float +lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float +lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float +lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x20 +lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 data:float +lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x60 +lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 data:float +lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 data:float +lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 data:float +lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 data:float +lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 data:float +lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 data:float +lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 data:float +lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 data:float +lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 data:float +lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 data:float +lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x8 data:float +lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 data:float +lbl_1_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x4 data:float +lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 data:float +lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 data:float +lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 data:float +lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 data:float +lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x8 data:double +lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x8 data:double +lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x8 data:double +lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x8 data:double +lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 data:float +lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x8 data:double +lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 data:double +lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x8 data:float lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x50 -lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x50 data:float -lbl_1_rodata_698 = .rodata:0x00000698; // type:object size:0x4 scope:local data:float -lbl_1_rodata_69C = .rodata:0x0000069C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6A0 = .rodata:0x000006A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6A4 = .rodata:0x000006A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6A8 = .rodata:0x000006A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6AC = .rodata:0x000006AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6B0 = .rodata:0x000006B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6B4 = .rodata:0x000006B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6B8 = .rodata:0x000006B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_6C0 = .rodata:0x000006C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C8 = .rodata:0x000006C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_6D0 = .rodata:0x000006D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6D4 = .rodata:0x000006D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6D8 = .rodata:0x000006D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6DC = .rodata:0x000006DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6E0 = .rodata:0x000006E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6E4 = .rodata:0x000006E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6E8 = .rodata:0x000006E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6EC = .rodata:0x000006EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6F0 = .rodata:0x000006F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_6F8 = .rodata:0x000006F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_700 = .rodata:0x00000700; // type:object size:0x8 scope:local data:double -lbl_1_rodata_708 = .rodata:0x00000708; // type:object size:0x4 scope:local data:float -lbl_1_rodata_710 = .rodata:0x00000710; // type:object size:0x8 scope:local data:double -lbl_1_rodata_718 = .rodata:0x00000718; // type:object size:0x4 scope:local data:float -lbl_1_rodata_720 = .rodata:0x00000720; // type:object size:0x8 scope:local data:double -lbl_1_rodata_728 = .rodata:0x00000728; // type:object size:0x4 scope:local data:float -lbl_1_rodata_72C = .rodata:0x0000072C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_730 = .rodata:0x00000730; // type:object size:0x4 scope:local data:float -lbl_1_rodata_734 = .rodata:0x00000734; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_738 = .rodata:0x00000738; // type:object size:0x4 scope:local data:float -lbl_1_rodata_73C = .rodata:0x0000073C; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x19 scope:local data:string +lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x50 +lbl_1_rodata_698 = .rodata:0x00000698; // type:object size:0x4 data:float +lbl_1_rodata_69C = .rodata:0x0000069C; // type:object size:0x4 data:float +lbl_1_rodata_6A0 = .rodata:0x000006A0; // type:object size:0x4 data:float +lbl_1_rodata_6A4 = .rodata:0x000006A4; // type:object size:0x4 data:float +lbl_1_rodata_6A8 = .rodata:0x000006A8; // type:object size:0x4 data:float +lbl_1_rodata_6AC = .rodata:0x000006AC; // type:object size:0x4 data:float +lbl_1_rodata_6B0 = .rodata:0x000006B0; // type:object size:0x4 data:float +lbl_1_rodata_6B4 = .rodata:0x000006B4; // type:object size:0x4 data:float +lbl_1_rodata_6B8 = .rodata:0x000006B8; // type:object size:0x8 data:double +lbl_1_rodata_6C0 = .rodata:0x000006C0; // type:object size:0x4 data:float +lbl_1_rodata_6C8 = .rodata:0x000006C8; // type:object size:0x8 data:double +lbl_1_rodata_6D0 = .rodata:0x000006D0; // type:object size:0x4 data:float +lbl_1_rodata_6D4 = .rodata:0x000006D4; // type:object size:0x4 data:float +lbl_1_rodata_6D8 = .rodata:0x000006D8; // type:object size:0x4 data:float +lbl_1_rodata_6DC = .rodata:0x000006DC; // type:object size:0x4 data:float +lbl_1_rodata_6E0 = .rodata:0x000006E0; // type:object size:0x4 data:float +lbl_1_rodata_6E4 = .rodata:0x000006E4; // type:object size:0x4 data:float +lbl_1_rodata_6E8 = .rodata:0x000006E8; // type:object size:0x4 data:float +lbl_1_rodata_6EC = .rodata:0x000006EC; // type:object size:0x4 data:float +lbl_1_rodata_6F0 = .rodata:0x000006F0; // type:object size:0x8 data:double +lbl_1_rodata_6F8 = .rodata:0x000006F8; // type:object size:0x4 data:float +lbl_1_rodata_700 = .rodata:0x00000700; // type:object size:0x8 data:double +lbl_1_rodata_708 = .rodata:0x00000708; // type:object size:0x4 data:float +lbl_1_rodata_710 = .rodata:0x00000710; // type:object size:0x8 data:double +lbl_1_rodata_718 = .rodata:0x00000718; // type:object size:0x4 data:float +lbl_1_rodata_720 = .rodata:0x00000720; // type:object size:0x8 data:double +lbl_1_rodata_728 = .rodata:0x00000728; // type:object size:0x4 data:float +lbl_1_rodata_72C = .rodata:0x0000072C; // type:object size:0x4 data:float +lbl_1_rodata_730 = .rodata:0x00000730; // type:object size:0x4 data:float +lbl_1_rodata_734 = .rodata:0x00000734; // type:object size:0x1 data:byte +lbl_1_rodata_738 = .rodata:0x00000738; // type:object size:0x4 data:float +lbl_1_rodata_73C = .rodata:0x0000073C; // type:object size:0x4 data:float +lbl_1_data_0 = .data:0x00000000; // type:object size:0x1C lbl_1_data_1C = .data:0x0000001C; // type:object size:0x14 jumptable_1_data_30 = .data:0x00000030; // type:object size:0x28 scope:local jumptable_1_data_58 = .data:0x00000058; // type:object size:0x28 scope:local jumptable_1_data_80 = .data:0x00000080; // type:object size:0x20 scope:local lbl_1_data_A0 = .data:0x000000A0; // type:object size:0xA8 lbl_1_data_148 = .data:0x00000148; // type:object size:0x14 -lbl_1_data_160 = .data:0x00000160; // type:object size:0x1E scope:local data:string -lbl_1_data_17E = .data:0x0000017E; // type:object size:0x1E scope:local data:string -lbl_1_data_19C = .data:0x0000019C; // type:object size:0x10 scope:local data:string -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x1B scope:local data:string +lbl_1_data_160 = .data:0x00000160; // type:object size:0x1E data:string +lbl_1_data_17E = .data:0x0000017E; // type:object size:0x1E data:string +lbl_1_data_19C = .data:0x0000019C; // type:object size:0x14 +lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x1C lbl_1_data_1CC = .data:0x000001CC; // type:object size:0x2C jumptable_1_data_1F8 = .data:0x000001F8; // type:object size:0x24 scope:local -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x40 data:float -lbl_1_data_25C = .data:0x0000025C; // type:object size:0x18 data:float -lbl_1_data_278 = .data:0x00000278; // type:object size:0x1A scope:local data:string +lbl_1_data_21C = .data:0x0000021C; // type:object size:0x40 +lbl_1_data_25C = .data:0x0000025C; // type:object size:0x18 +lbl_1_data_278 = .data:0x00000278; // type:object size:0x1A data:string lbl_1_data_294 = .data:0x00000294; // type:object size:0x18 -lbl_1_data_2AC = .data:0x000002AC; // type:object size:0x37 scope:local data:string +lbl_1_data_2AC = .data:0x000002AC; // type:object size:0x37 data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte +lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x8 data:4byte +lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x8 data:4byte lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:float lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:float lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:float diff --git a/config/GMPE01_00/rels/m448Dll/symbols.txt b/config/GMPE01_00/rels/m448Dll/symbols.txt index d53e0617..d04f9849 100644 --- a/config/GMPE01_00/rels/m448Dll/symbols.txt +++ b/config/GMPE01_00/rels/m448Dll/symbols.txt @@ -16,135 +16,135 @@ ObjectSetup = .text:0x0000965C; // type:function size:0x4A4 fn_1_9B00 = .text:0x00009B00; // type:function size:0x120 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 scope:local data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x14 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x14 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x14 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x14 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x10 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x10 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x54 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 scope:local data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 scope:local data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x50 scope:local -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x50 scope:local -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x50 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 scope:local data:double -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 scope:local data:double -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 scope:local data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x34 scope:local data:4byte -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x50 scope:local -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x50 scope:local -lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x28 scope:local data:4byte -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x28 scope:local data:4byte -lbl_1_rodata_5C4 = .rodata:0x000005C4; // type:object size:0xC scope:local data:float -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0xC scope:local data:float -lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5EC = .rodata:0x000005EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F4 = .rodata:0x000005F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 data:double +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x14 data:4byte +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x14 data:4byte +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x14 data:4byte +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x14 data:4byte +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x14 data:4byte +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x10 data:4byte +lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x10 data:4byte +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0xC data:4byte +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x54 +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x10 data:4byte +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float +lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float +lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float +lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float +lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float +lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float +lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float +lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:4byte +lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x50 +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x50 +lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x50 +lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float +lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 data:double +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 data:double +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 data:double +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 data:double +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x8 data:double +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 data:double +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 data:double +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float +lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 data:double +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:double +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:double +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 data:double +lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x8 data:double +lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x8 data:double +lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 data:double +lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x24 data:4byte +lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float +lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float +lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x34 data:4byte +lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 data:float +lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 data:float +lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float +lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 data:float +lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x24 data:4byte +lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x50 +lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x50 +lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x18 data:4byte +lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x18 data:4byte +lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x8 data:4byte +lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x28 data:4byte +lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x28 data:4byte +lbl_1_rodata_5C4 = .rodata:0x000005C4; // type:object size:0xC data:4byte +lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0xC data:4byte +lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x1 data:byte +lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float +lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 data:float +lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x4 data:float +lbl_1_rodata_5EC = .rodata:0x000005EC; // type:object size:0x4 data:float +lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 data:float +lbl_1_rodata_5F4 = .rodata:0x000005F4; // type:object size:0x4 data:float +lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x28 lbl_1_data_28 = .data:0x00000028; // type:object size:0x28 lbl_1_data_50 = .data:0x00000050; // type:object size:0x2C lbl_1_data_7C = .data:0x0000007C; // type:object size:0x2C lbl_1_data_A8 = .data:0x000000A8; // type:object size:0xB data:byte -lbl_1_data_B3 = .data:0x000000B3; // type:object size:0xB data:byte +lbl_1_data_B3 = .data:0x000000B3; // type:object size:0xD lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x2C lbl_1_data_EC = .data:0x000000EC; // type:object size:0x2C data:4byte -lbl_1_data_118 = .data:0x00000118; // type:object size:0x2C +lbl_1_data_118 = .data:0x00000118; // type:object size:0x58 lbl_1_data_170 = .data:0x00000170; // type:object size:0x8 data:4byte lbl_1_data_178 = .data:0x00000178; // type:object size:0x20 lbl_1_data_198 = .data:0x00000198; // type:object size:0x2 data:2byte @@ -154,10 +154,10 @@ lbl_1_data_1A0 = .data:0x000001A0; // type:object size:0x4 data:4byte lbl_1_data_1A4 = .data:0x000001A4; // type:object size:0x8 data:4byte lbl_1_data_1AC = .data:0x000001AC; // type:object size:0x8 lbl_1_data_1B4 = .data:0x000001B4; // type:object size:0x8 -lbl_1_data_1BC = .data:0x000001BC; // type:object size:0x20 data:float +lbl_1_data_1BC = .data:0x000001BC; // type:object size:0x20 lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x10 data:float -lbl_1_data_1EC = .data:0x000001EC; // type:object size:0x9 scope:local data:string -lbl_1_data_1F5 = .data:0x000001F5; // type:object size:0x19 scope:local data:string +lbl_1_data_1EC = .data:0x000001EC; // type:object size:0x9 data:string +lbl_1_data_1F5 = .data:0x000001F5; // type:object size:0x1B jumptable_1_data_210 = .data:0x00000210; // type:object size:0x2C scope:local jumptable_1_data_23C = .data:0x0000023C; // type:object size:0x20 scope:local lbl_1_data_25C = .data:0x0000025C; // type:object size:0x4 data:4byte @@ -167,10 +167,10 @@ lbl_1_data_268 = .data:0x00000268; // type:object size:0x4 data:float lbl_1_data_26C = .data:0x0000026C; // type:object size:0x4 data:float jumptable_1_data_270 = .data:0x00000270; // type:object size:0x24 scope:local jumptable_1_data_294 = .data:0x00000294; // type:object size:0x20 scope:local -lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x19 scope:local data:string -lbl_1_data_2CD = .data:0x000002CD; // type:object size:0x24 scope:local data:string +lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x19 data:string +lbl_1_data_2CD = .data:0x000002CD; // type:object size:0x24 data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte +lbl_1_bss_4 = .bss:0x00000004; // type:object size:0xC data:4byte lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte @@ -178,9 +178,9 @@ lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte +lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x8 data:4byte lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:float +lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x8 data:float lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x20 lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m449Dll/symbols.txt b/config/GMPE01_00/rels/m449Dll/symbols.txt index bfe80246..2a91efc3 100644 --- a/config/GMPE01_00/rels/m449Dll/symbols.txt +++ b/config/GMPE01_00/rels/m449Dll/symbols.txt @@ -18,187 +18,183 @@ ObjectSetup = .text:0x000095D8; // type:function size:0x460 fn_1_9A38 = .text:0x00009A38; // type:function size:0x9C _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x10 scope:local -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC0 scope:local -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0xC0 scope:local -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0xC0 scope:local -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 scope:local data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 scope:local data:double -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 scope:local data:double -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 scope:local data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 scope:local data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x8 scope:local data:double -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 scope:local data:double -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x8 scope:local data:double -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 scope:local data:double -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x8 scope:local data:double -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 scope:local data:double -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x8 scope:local data:double -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 scope:local data:double -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 scope:local data:double -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 scope:local data:double -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 scope:local data:double -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 scope:local data:double -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x8 scope:local data:double -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 scope:local data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x8 scope:local data:double -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 scope:local data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x60 scope:local data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x8 scope:local data:double -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 scope:local data:float -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x30 scope:local data:4byte -lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 scope:local data:double -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x8 scope:local data:double -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x4 scope:local data:float -lbl_1_rodata_614 = .rodata:0x00000614; // type:object size:0x4 scope:local data:float -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x8 scope:local data:double -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x48 scope:local -lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x48 scope:local -lbl_1_rodata_6D8 = .rodata:0x000006D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6DC = .rodata:0x000006DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6E0 = .rodata:0x000006E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6E4 = .rodata:0x000006E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6E8 = .rodata:0x000006E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6EC = .rodata:0x000006EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6F0 = .rodata:0x000006F0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_6FC = .rodata:0x000006FC; // type:object size:0xC scope:local data:float -lbl_1_rodata_708 = .rodata:0x00000708; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_70C = .rodata:0x0000070C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_710 = .rodata:0x00000710; // type:object size:0x4 scope:local data:float -lbl_1_rodata_714 = .rodata:0x00000714; // type:object size:0x4 scope:local data:float -lbl_1_rodata_718 = .rodata:0x00000718; // type:object size:0x4 scope:local data:float -lbl_1_rodata_71C = .rodata:0x0000071C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_720 = .rodata:0x00000720; // type:object size:0x4 scope:local data:float -lbl_1_rodata_724 = .rodata:0x00000724; // type:object size:0x4 scope:local data:float -lbl_1_rodata_728 = .rodata:0x00000728; // type:object size:0x4 scope:local data:float -lbl_1_rodata_72C = .rodata:0x0000072C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_730 = .rodata:0x00000730; // type:object size:0x4 scope:local data:float -lbl_1_rodata_734 = .rodata:0x00000734; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x10 +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC0 +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0xC0 +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0xC0 +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x20 data:4byte +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float +lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 data:double +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float +lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float +lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float +lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float +lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float +lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float +lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float +lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:float +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float +lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float +lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float +lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float +lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 data:double +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x8 data:double +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 data:double +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 data:double +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float +lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 data:double +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 data:double +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:double +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:double +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 data:double +lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float +lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x8 data:double +lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 data:double +lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 data:double +lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x8 data:double +lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 data:double +lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x8 data:double +lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 data:double +lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float +lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x8 data:double +lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 data:double +lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x8 data:double +lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 data:double +lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 data:double +lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 data:double +lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 data:double +lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float +lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 data:double +lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x8 data:double +lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float +lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 data:double +lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float +lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x8 data:double +lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x8 data:double +lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 data:double +lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float +lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float +lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 data:double +lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 data:double +lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x8 data:double +lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 data:double +lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float +lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float +lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x8 data:double +lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float +lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x8 data:double +lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x8 data:double +lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 data:float +lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 data:float +lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 data:double +lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x60 +lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x8 data:double +lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x18 data:4byte +lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 data:float +lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 data:float +lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 data:float +lbl_1_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x30 data:4byte +lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 data:float +lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 data:double +lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x8 data:double +lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 data:double +lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x8 data:double +lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 data:double +lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 data:double +lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x8 data:double +lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x4 data:float +lbl_1_rodata_614 = .rodata:0x00000614; // type:object size:0x4 data:float +lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x8 data:double +lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x20 data:4byte +lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x8 data:4byte +lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x48 +lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x48 +lbl_1_rodata_6D8 = .rodata:0x000006D8; // type:object size:0x4 data:float +lbl_1_rodata_6DC = .rodata:0x000006DC; // type:object size:0x4 data:float +lbl_1_rodata_6E0 = .rodata:0x000006E0; // type:object size:0x4 data:float +lbl_1_rodata_6E4 = .rodata:0x000006E4; // type:object size:0x4 data:float +lbl_1_rodata_6E8 = .rodata:0x000006E8; // type:object size:0x4 data:float +lbl_1_rodata_6EC = .rodata:0x000006EC; // type:object size:0x4 data:float +lbl_1_rodata_6F0 = .rodata:0x000006F0; // type:object size:0xC data:4byte +lbl_1_rodata_6FC = .rodata:0x000006FC; // type:object size:0xC data:4byte +lbl_1_rodata_708 = .rodata:0x00000708; // type:object size:0x1 data:byte +lbl_1_rodata_70C = .rodata:0x0000070C; // type:object size:0x4 data:float +lbl_1_rodata_710 = .rodata:0x00000710; // type:object size:0x4 data:float +lbl_1_rodata_714 = .rodata:0x00000714; // type:object size:0x4 data:float +lbl_1_rodata_718 = .rodata:0x00000718; // type:object size:0x4 data:float +lbl_1_rodata_71C = .rodata:0x0000071C; // type:object size:0x4 data:float +lbl_1_rodata_720 = .rodata:0x00000720; // type:object size:0x4 data:float +lbl_1_rodata_724 = .rodata:0x00000724; // type:object size:0x4 data:float +lbl_1_rodata_728 = .rodata:0x00000728; // type:object size:0x4 data:float +lbl_1_rodata_72C = .rodata:0x0000072C; // type:object size:0x4 data:float +lbl_1_rodata_730 = .rodata:0x00000730; // type:object size:0x4 data:float +lbl_1_rodata_734 = .rodata:0x00000734; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x48 lbl_1_data_48 = .data:0x00000048; // type:object size:0x48 lbl_1_data_90 = .data:0x00000090; // type:object size:0x10 lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x10 -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x38 data:byte -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x50 data:string -lbl_1_data_138 = .data:0x00000138; // type:object size:0x50 data:string -lbl_1_data_188 = .data:0x00000188; // type:object size:0x50 data:string -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0x50 data:string +lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x38 +lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x50 +lbl_1_data_138 = .data:0x00000138; // type:object size:0x50 +lbl_1_data_188 = .data:0x00000188; // type:object size:0x50 +lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0x50 lbl_1_data_228 = .data:0x00000228; // type:object size:0x2 data:2byte lbl_1_data_22A = .data:0x0000022A; // type:object size:0x2 data:2byte lbl_1_data_22C = .data:0x0000022C; // type:object size:0x4 data:4byte lbl_1_data_230 = .data:0x00000230; // type:object size:0xC data:4byte lbl_1_data_23C = .data:0x0000023C; // type:object size:0x28 data:4byte -lbl_1_data_264 = .data:0x00000264; // type:object size:0x1D scope:local data:string +lbl_1_data_264 = .data:0x00000264; // type:object size:0x20 lbl_1_data_284 = .data:0x00000284; // type:object size:0x4 data:4byte lbl_1_data_288 = .data:0x00000288; // type:object size:0x4 data:float lbl_1_data_28C = .data:0x0000028C; // type:object size:0x4 data:float lbl_1_data_290 = .data:0x00000290; // type:object size:0x4 data:float lbl_1_data_294 = .data:0x00000294; // type:object size:0x4 data:float jumptable_1_data_298 = .data:0x00000298; // type:object size:0x1C scope:local -lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x19 scope:local data:string -lbl_1_data_2CD = .data:0x000002CD; // type:object size:0x24 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte +lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x19 data:string +lbl_1_data_2CD = .data:0x000002CD; // type:object size:0x24 data:string +lbl_1_bss_4 = .bss:0x00000004; // type:object size:0xC data:4byte lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:float lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:float lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:float -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:float -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:float +lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x8 data:float lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte @@ -208,8 +204,7 @@ lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte +lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x8 data:4byte lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 data:4byte lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x90 data:4byte diff --git a/config/GMPE01_00/rels/m450Dll/symbols.txt b/config/GMPE01_00/rels/m450Dll/symbols.txt index 37af9137..8f6a0e14 100644 --- a/config/GMPE01_00/rels/m450Dll/symbols.txt +++ b/config/GMPE01_00/rels/m450Dll/symbols.txt @@ -184,206 +184,204 @@ fn_1_23330 = .text:0x00023330; // type:function size:0x440 fn_1_23770 = .text:0x00023770; // type:function size:0x530 fn_1_23CA0 = .text:0x00023CA0; // type:function size:0x980 fn_1_24620 = .text:0x00024620; // type:function size:0x4A0C -ObjectSetup = .text:0x0002902C; // type:function size:0x8C0 +fn_1_2902C = .text:0x0002902C; // type:function size:0x8C0 fn_1_298EC = .text:0x000298EC; // type:function size:0xD0 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -__fakeHalf = .rodata:0x00000000; // type:object size:0x8 data:double -__fakeThree = .rodata:0x00000008; // type:object size:0x8 data:double -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x58 scope:local -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x58 scope:local -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 scope:local data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 scope:local data:double -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 scope:local data:double -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 scope:local data:double -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 scope:local data:double -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 scope:local data:double +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float +lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x1 data:byte +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 data:4byte +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x58 +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:4byte +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x58 +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:4byte +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x8 data:4byte +lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:4byte +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float +lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float +lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float +lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float +lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float +lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float +lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float +lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float +lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float +lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float +lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float +lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 data:double +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float +lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float +lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float +lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float +lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float +lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float +lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float +lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float +lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float +lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float +lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float +lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float +lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float +lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float +lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float +lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float +lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float +lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 data:double +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float +lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float +lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float +lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:float +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 data:double +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 data:double +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 data:double +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 data:double lbl_1_data_0 = .data:0x00000000; // type:object size:0x10 lbl_1_data_10 = .data:0x00000010; // type:object size:0x20 lbl_1_data_30 = .data:0x00000030; // type:object size:0x28 lbl_1_data_58 = .data:0x00000058; // type:object size:0x28 -lbl_1_data_80 = .data:0x00000080; // type:object size:0x1F scope:local data:string -lbl_1_data_9F = .data:0x0000009F; // type:object size:0xC data:byte +lbl_1_data_80 = .data:0x00000080; // type:object size:0x1F data:string +lbl_1_data_9F = .data:0x0000009F; // type:object size:0xD lbl_1_data_AC = .data:0x000000AC; // type:object size:0x8 lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x4C lbl_1_data_100 = .data:0x00000100; // type:object size:0x14 -lbl_1_data_114 = .data:0x00000114; // type:object size:0x3C data:4byte -lbl_1_data_150 = .data:0x00000150; // type:object size:0x3C data:4byte -lbl_1_data_18C = .data:0x0000018C; // type:object size:0x20 data:4byte -lbl_1_data_1AC = .data:0x000001AC; // type:object size:0x20 data:4byte -lbl_1_data_1CC = .data:0x000001CC; // type:object size:0x10 data:4byte -lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x28 data:float -lbl_1_data_204 = .data:0x00000204; // type:object size:0x30 data:float -lbl_1_data_234 = .data:0x00000234; // type:object size:0x20 data:float -lbl_1_data_254 = .data:0x00000254; // type:object size:0x14 data:float -lbl_1_data_268 = .data:0x00000268; // type:object size:0x14 data:float -lbl_1_data_27C = .data:0x0000027C; // type:object size:0x14 data:float -lbl_1_data_290 = .data:0x00000290; // type:object size:0x14 data:float -lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0x12 scope:local data:string -lbl_1_data_2B6 = .data:0x000002B6; // type:object size:0x13 scope:local data:string -lbl_1_data_2C9 = .data:0x000002C9; // type:object size:0x14 scope:local data:string -lbl_1_data_2DD = .data:0x000002DD; // type:object size:0x1C scope:local data:string -lbl_1_data_2F9 = .data:0x000002F9; // type:object size:0x12 scope:local data:string -lbl_1_data_30B = .data:0x0000030B; // type:object size:0xE scope:local data:string +lbl_1_data_114 = .data:0x00000114; // type:object size:0x3C +lbl_1_data_150 = .data:0x00000150; // type:object size:0x3C +lbl_1_data_18C = .data:0x0000018C; // type:object size:0x20 +lbl_1_data_1AC = .data:0x000001AC; // type:object size:0x20 +lbl_1_data_1CC = .data:0x000001CC; // type:object size:0x10 +lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x28 +lbl_1_data_204 = .data:0x00000204; // type:object size:0x30 +lbl_1_data_234 = .data:0x00000234; // type:object size:0x20 +lbl_1_data_254 = .data:0x00000254; // type:object size:0x14 +lbl_1_data_268 = .data:0x00000268; // type:object size:0x14 +lbl_1_data_27C = .data:0x0000027C; // type:object size:0x14 +lbl_1_data_290 = .data:0x00000290; // type:object size:0x14 +lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0x12 data:string +lbl_1_data_2B6 = .data:0x000002B6; // type:object size:0x13 data:string +lbl_1_data_2C9 = .data:0x000002C9; // type:object size:0x14 data:string +lbl_1_data_2DD = .data:0x000002DD; // type:object size:0x1C data:string +lbl_1_data_2F9 = .data:0x000002F9; // type:object size:0x12 data:string +lbl_1_data_30B = .data:0x0000030B; // type:object size:0x11 jumptable_1_data_31C = .data:0x0000031C; // type:object size:0x60 scope:local -lbl_1_data_37C = .data:0x0000037C; // type:object size:0x12 scope:local data:string -lbl_1_data_38E = .data:0x0000038E; // type:object size:0x12 scope:local data:string -lbl_1_data_3A0 = .data:0x000003A0; // type:object size:0x13 scope:local data:string -lbl_1_data_3B3 = .data:0x000003B3; // type:object size:0x14 scope:local data:string -lbl_1_data_3C7 = .data:0x000003C7; // type:object size:0x14 scope:local data:string -lbl_1_data_3DB = .data:0x000003DB; // type:object size:0x13 scope:local data:string -lbl_1_data_3EE = .data:0x000003EE; // type:object size:0x1C scope:local data:string +lbl_1_data_37C = .data:0x0000037C; // type:object size:0x12 data:string +lbl_1_data_38E = .data:0x0000038E; // type:object size:0x12 data:string +lbl_1_data_3A0 = .data:0x000003A0; // type:object size:0x13 data:string +lbl_1_data_3B3 = .data:0x000003B3; // type:object size:0x14 data:string +lbl_1_data_3C7 = .data:0x000003C7; // type:object size:0x14 data:string +lbl_1_data_3DB = .data:0x000003DB; // type:object size:0x13 data:string +lbl_1_data_3EE = .data:0x000003EE; // type:object size:0x1E jumptable_1_data_40C = .data:0x0000040C; // type:object size:0x44 scope:local -lbl_1_data_450 = .data:0x00000450; // type:object size:0x12 scope:local data:string +lbl_1_data_450 = .data:0x00000450; // type:object size:0x14 lbl_1_data_464 = .data:0x00000464; // type:object size:0xC data:4byte lbl_1_data_470 = .data:0x00000470; // type:object size:0xC lbl_1_data_47C = .data:0x0000047C; // type:object size:0xC data:4byte lbl_1_data_488 = .data:0x00000488; // type:object size:0xC data:4byte lbl_1_data_494 = .data:0x00000494; // type:object size:0xC data:4byte -lbl_1_data_4A0 = .data:0x000004A0; // type:object size:0xC data:float +lbl_1_data_4A0 = .data:0x000004A0; // type:object size:0xC data:4byte lbl_1_data_4AC = .data:0x000004AC; // type:object size:0xC data:4byte lbl_1_data_4B8 = .data:0x000004B8; // type:object size:0xC data:4byte lbl_1_data_4C4 = .data:0x000004C4; // type:object size:0xC data:4byte @@ -395,41 +393,41 @@ lbl_1_data_500 = .data:0x00000500; // type:object size:0x4 lbl_1_data_504 = .data:0x00000504; // type:object size:0xC lbl_1_data_510 = .data:0x00000510; // type:object size:0xC lbl_1_data_51C = .data:0x0000051C; // type:object size:0x30 -lbl_1_data_54C = .data:0x0000054C; // type:object size:0x10 scope:local data:string -lbl_1_data_55C = .data:0x0000055C; // type:object size:0x10 scope:local data:string -lbl_1_data_56C = .data:0x0000056C; // type:object size:0x10 scope:local data:string -lbl_1_data_57C = .data:0x0000057C; // type:object size:0x10 scope:local data:string -lbl_1_data_58C = .data:0x0000058C; // type:object size:0x10 scope:local data:string -lbl_1_data_59C = .data:0x0000059C; // type:object size:0x10 scope:local data:string -lbl_1_data_5AC = .data:0x000005AC; // type:object size:0x10 scope:local data:string -lbl_1_data_5BC = .data:0x000005BC; // type:object size:0x10 scope:local data:string +lbl_1_data_54C = .data:0x0000054C; // type:object size:0x10 data:string +lbl_1_data_55C = .data:0x0000055C; // type:object size:0x10 data:string +lbl_1_data_56C = .data:0x0000056C; // type:object size:0x10 data:string +lbl_1_data_57C = .data:0x0000057C; // type:object size:0x10 data:string +lbl_1_data_58C = .data:0x0000058C; // type:object size:0x10 data:string +lbl_1_data_59C = .data:0x0000059C; // type:object size:0x10 data:string +lbl_1_data_5AC = .data:0x000005AC; // type:object size:0x10 data:string +lbl_1_data_5BC = .data:0x000005BC; // type:object size:0x10 data:string lbl_1_data_5CC = .data:0x000005CC; // type:object size:0x80 lbl_1_data_64C = .data:0x0000064C; // type:object size:0x2E0 lbl_1_data_92C = .data:0x0000092C; // type:object size:0x20 -lbl_1_data_94C = .data:0x0000094C; // type:object size:0xA0 data:float +lbl_1_data_94C = .data:0x0000094C; // type:object size:0xA0 lbl_1_data_9EC = .data:0x000009EC; // type:object size:0x20 lbl_1_data_A0C = .data:0x00000A0C; // type:object size:0x38 data:4byte -lbl_1_data_A44 = .data:0x00000A44; // type:object size:0x13 scope:local data:string -lbl_1_data_A57 = .data:0x00000A57; // type:object size:0x13 scope:local data:string -lbl_1_data_A6A = .data:0x00000A6A; // type:object size:0x13 scope:local data:string +lbl_1_data_A44 = .data:0x00000A44; // type:object size:0x13 data:string +lbl_1_data_A57 = .data:0x00000A57; // type:object size:0x13 data:string +lbl_1_data_A6A = .data:0x00000A6A; // type:object size:0x16 lbl_1_data_A80 = .data:0x00000A80; // type:object size:0x18C -lbl_1_data_C0C = .data:0x00000C0C; // type:object size:0x13 scope:local data:string -lbl_1_data_C1F = .data:0x00000C1F; // type:object size:0x13 scope:local data:string -lbl_1_data_C32 = .data:0x00000C32; // type:object size:0x13 scope:local data:string -lbl_1_data_C45 = .data:0x00000C45; // type:object size:0x13 scope:local data:string +lbl_1_data_C0C = .data:0x00000C0C; // type:object size:0x13 data:string +lbl_1_data_C1F = .data:0x00000C1F; // type:object size:0x13 data:string +lbl_1_data_C32 = .data:0x00000C32; // type:object size:0x13 data:string +lbl_1_data_C45 = .data:0x00000C45; // type:object size:0x13 data:string lbl_1_data_C58 = .data:0x00000C58; // type:object size:0x1B8 -lbl_1_data_E10 = .data:0x00000E10; // type:object size:0x11 scope:local data:string -lbl_1_data_E21 = .data:0x00000E21; // type:object size:0x11 scope:local data:string -lbl_1_data_E32 = .data:0x00000E32; // type:object size:0x11 scope:local data:string -lbl_1_data_E43 = .data:0x00000E43; // type:object size:0x11 scope:local data:string -lbl_1_data_E54 = .data:0x00000E54; // type:object size:0x11 scope:local data:string +lbl_1_data_E10 = .data:0x00000E10; // type:object size:0x11 data:string +lbl_1_data_E21 = .data:0x00000E21; // type:object size:0x11 data:string +lbl_1_data_E32 = .data:0x00000E32; // type:object size:0x11 data:string +lbl_1_data_E43 = .data:0x00000E43; // type:object size:0x11 data:string +lbl_1_data_E54 = .data:0x00000E54; // type:object size:0x14 lbl_1_data_E68 = .data:0x00000E68; // type:object size:0x14 lbl_1_data_E7C = .data:0x00000E7C; // type:object size:0x84 lbl_1_data_F00 = .data:0x00000F00; // type:object size:0x5C lbl_1_data_F5C = .data:0x00000F5C; // type:object size:0x10 lbl_1_data_F6C = .data:0x00000F6C; // type:object size:0x18 -lbl_1_data_F84 = .data:0x00000F84; // type:object size:0x14 data:float -lbl_1_data_F98 = .data:0x00000F98; // type:object size:0x14 data:float +lbl_1_data_F84 = .data:0x00000F84; // type:object size:0x14 +lbl_1_data_F98 = .data:0x00000F98; // type:object size:0x14 lbl_1_data_FAC = .data:0x00000FAC; // type:object size:0x18 lbl_1_data_FC4 = .data:0x00000FC4; // type:object size:0x14 lbl_1_data_FD8 = .data:0x00000FD8; // type:object size:0x14 @@ -453,47 +451,47 @@ lbl_1_data_1210 = .data:0x00001210; // type:object size:0xC lbl_1_data_121C = .data:0x0000121C; // type:object size:0xC lbl_1_data_1228 = .data:0x00001228; // type:object size:0xC lbl_1_data_1234 = .data:0x00001234; // type:object size:0x20 -lbl_1_data_1254 = .data:0x00001254; // type:object size:0x13 scope:local data:string -lbl_1_data_1267 = .data:0x00001267; // type:object size:0x13 scope:local data:string -lbl_1_data_127A = .data:0x0000127A; // type:object size:0x13 scope:local data:string -lbl_1_data_128D = .data:0x0000128D; // type:object size:0x13 scope:local data:string +lbl_1_data_1254 = .data:0x00001254; // type:object size:0x13 data:string +lbl_1_data_1267 = .data:0x00001267; // type:object size:0x13 data:string +lbl_1_data_127A = .data:0x0000127A; // type:object size:0x13 data:string +lbl_1_data_128D = .data:0x0000128D; // type:object size:0x13 data:string lbl_1_data_12A0 = .data:0x000012A0; // type:object size:0x10 -lbl_1_data_12B0 = .data:0x000012B0; // type:object size:0x13 scope:local data:string -lbl_1_data_12C3 = .data:0x000012C3; // type:object size:0x13 scope:local data:string -lbl_1_data_12D6 = .data:0x000012D6; // type:object size:0x13 scope:local data:string -lbl_1_data_12E9 = .data:0x000012E9; // type:object size:0x13 scope:local data:string -lbl_1_data_12FC = .data:0x000012FC; // type:object size:0x13 scope:local data:string -lbl_1_data_130F = .data:0x0000130F; // type:object size:0x13 scope:local data:string -lbl_1_data_1322 = .data:0x00001322; // type:object size:0x13 scope:local data:string -lbl_1_data_1335 = .data:0x00001335; // type:object size:0x13 scope:local data:string -lbl_1_data_1348 = .data:0x00001348; // type:object size:0x13 scope:local data:string +lbl_1_data_12B0 = .data:0x000012B0; // type:object size:0x13 data:string +lbl_1_data_12C3 = .data:0x000012C3; // type:object size:0x13 data:string +lbl_1_data_12D6 = .data:0x000012D6; // type:object size:0x13 data:string +lbl_1_data_12E9 = .data:0x000012E9; // type:object size:0x13 data:string +lbl_1_data_12FC = .data:0x000012FC; // type:object size:0x13 data:string +lbl_1_data_130F = .data:0x0000130F; // type:object size:0x13 data:string +lbl_1_data_1322 = .data:0x00001322; // type:object size:0x13 data:string +lbl_1_data_1335 = .data:0x00001335; // type:object size:0x13 data:string +lbl_1_data_1348 = .data:0x00001348; // type:object size:0x14 lbl_1_data_135C = .data:0x0000135C; // type:object size:0x24 lbl_1_data_1380 = .data:0x00001380; // type:object size:0x38 data:4byte lbl_1_data_13B8 = .data:0x000013B8; // type:object size:0x38 data:4byte -lbl_1_data_13F0 = .data:0x000013F0; // type:object size:0x13 scope:local data:string -lbl_1_data_1403 = .data:0x00001403; // type:object size:0x13 scope:local data:string -lbl_1_data_1416 = .data:0x00001416; // type:object size:0x13 scope:local data:string -lbl_1_data_1429 = .data:0x00001429; // type:object size:0x13 scope:local data:string -lbl_1_data_143C = .data:0x0000143C; // type:object size:0x13 scope:local data:string +lbl_1_data_13F0 = .data:0x000013F0; // type:object size:0x13 data:string +lbl_1_data_1403 = .data:0x00001403; // type:object size:0x13 data:string +lbl_1_data_1416 = .data:0x00001416; // type:object size:0x13 data:string +lbl_1_data_1429 = .data:0x00001429; // type:object size:0x13 data:string +lbl_1_data_143C = .data:0x0000143C; // type:object size:0x14 lbl_1_data_1450 = .data:0x00001450; // type:object size:0xB4 lbl_1_data_1504 = .data:0x00001504; // type:object size:0x50 -lbl_1_data_1554 = .data:0x00001554; // type:object size:0x13 scope:local data:string -lbl_1_data_1567 = .data:0x00001567; // type:object size:0x13 scope:local data:string -lbl_1_data_157A = .data:0x0000157A; // type:object size:0x13 scope:local data:string -lbl_1_data_158D = .data:0x0000158D; // type:object size:0x13 scope:local data:string -lbl_1_data_15A0 = .data:0x000015A0; // type:object size:0x13 scope:local data:string -lbl_1_data_15B3 = .data:0x000015B3; // type:object size:0x12 scope:local data:string -lbl_1_data_15C5 = .data:0x000015C5; // type:object size:0x25 scope:local data:string -lbl_1_data_15EA = .data:0x000015EA; // type:object size:0x22 scope:local data:string -lbl_1_data_160C = .data:0x0000160C; // type:object size:0x9 scope:local data:string -lbl_1_data_1615 = .data:0x00001615; // type:object size:0xA scope:local data:string -lbl_1_data_161F = .data:0x0000161F; // type:object size:0xE scope:local data:string -lbl_1_data_162D = .data:0x0000162D; // type:object size:0x6 scope:local data:string -lbl_1_data_1633 = .data:0x00001633; // type:object size:0x1D scope:local data:string +lbl_1_data_1554 = .data:0x00001554; // type:object size:0x13 data:string +lbl_1_data_1567 = .data:0x00001567; // type:object size:0x13 data:string +lbl_1_data_157A = .data:0x0000157A; // type:object size:0x13 data:string +lbl_1_data_158D = .data:0x0000158D; // type:object size:0x13 data:string +lbl_1_data_15A0 = .data:0x000015A0; // type:object size:0x13 data:string +lbl_1_data_15B3 = .data:0x000015B3; // type:object size:0x12 data:string +lbl_1_data_15C5 = .data:0x000015C5; // type:object size:0x25 data:string +lbl_1_data_15EA = .data:0x000015EA; // type:object size:0x22 data:string +lbl_1_data_160C = .data:0x0000160C; // type:object size:0x9 data:string +lbl_1_data_1615 = .data:0x00001615; // type:object size:0xA data:string +lbl_1_data_161F = .data:0x0000161F; // type:object size:0xE data:string +lbl_1_data_162D = .data:0x0000162D; // type:object size:0x6 data:string +lbl_1_data_1633 = .data:0x00001633; // type:object size:0x1D data:string jumptable_1_data_1650 = .data:0x00001650; // type:object size:0x70 scope:local -lbl_1_data_16C0 = .data:0x000016C0; // type:object size:0x1B scope:local data:string +lbl_1_data_16C0 = .data:0x000016C0; // type:object size:0x1C jumptable_1_data_16DC = .data:0x000016DC; // type:object size:0xC4 scope:local -lbl_1_data_17A0 = .data:0x000017A0; // type:object size:0x24 scope:local data:string +lbl_1_data_17A0 = .data:0x000017A0; // type:object size:0x24 data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte @@ -530,8 +528,7 @@ lbl_1_bss_118 = .bss:0x00000118; // type:object size:0x4 data:4byte lbl_1_bss_11C = .bss:0x0000011C; // type:object size:0x4 data:4byte lbl_1_bss_120 = .bss:0x00000120; // type:object size:0x4 data:4byte lbl_1_bss_124 = .bss:0x00000124; // type:object size:0x4 data:float -lbl_1_bss_128 = .bss:0x00000128; // type:object size:0x4 data:float -lbl_1_bss_12C = .bss:0x0000012C; // type:object size:0x4 data:float +lbl_1_bss_128 = .bss:0x00000128; // type:object size:0x8 data:float lbl_1_bss_130 = .bss:0x00000130; // type:object size:0x4 data:4byte lbl_1_bss_134 = .bss:0x00000134; // type:object size:0x4 data:4byte lbl_1_bss_138 = .bss:0x00000138; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m453Dll/splits.txt b/config/GMPE01_00/rels/m453Dll/splits.txt index fcf25f98..918d68a7 100644 --- a/config/GMPE01_00/rels/m453Dll/splits.txt +++ b/config/GMPE01_00/rels/m453Dll/splits.txt @@ -17,12 +17,12 @@ REL/m453Dll/main.c: REL/m453Dll/map.c: .text start:0x000064E8 end:0x00008F48 - .rodata start:0x00000198 end:0x00000240 + .rodata start:0x00000198 end:0x00000248 .data start:0x00000158 end:0x00000BC0 .bss start:0x00000060 end:0x000000C0 REL/m453Dll/score.c: .text start:0x00008F48 end:0x00009674 - .rodata start:0x00000240 end:0x00000278 + .rodata start:0x00000248 end:0x00000278 .data start:0x00000BC0 end:0x00000BCC .bss start:0x000000C0 end:0x000000C8 diff --git a/config/GMPE01_00/rels/m453Dll/symbols.txt b/config/GMPE01_00/rels/m453Dll/symbols.txt index 298e2fb6..19f422d2 100644 --- a/config/GMPE01_00/rels/m453Dll/symbols.txt +++ b/config/GMPE01_00/rels/m453Dll/symbols.txt @@ -83,137 +83,135 @@ fn_1_9484 = .text:0x00009484; // type:function size:0x8C fn_1_9510 = .text:0x00009510; // type:function size:0x164 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -__fakeHalf = .rodata:0x00000000; // type:object size:0x8 data:double -__fakeThree = .rodata:0x00000008; // type:object size:0x8 data:double -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x9 scope:local data:byte -lbl_1_rodata_8D = .rodata:0x0000008D; // type:object size:0xB scope:local data:byte -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 scope:local data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 scope:local data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x9 data:byte +lbl_1_rodata_8D = .rodata:0x0000008D; // type:object size:0xB data:byte +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float +lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float +lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float +lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float +lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float +lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float +lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float +lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float +lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float +lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float +lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float +lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x2 data:2byte lbl_1_data_4 = .data:0x00000004; // type:object size:0xC lbl_1_data_10 = .data:0x00000010; // type:object size:0xC lbl_1_data_1C = .data:0x0000001C; // type:object size:0x28 -lbl_1_data_44 = .data:0x00000044; // type:object size:0x23 scope:local data:string +lbl_1_data_44 = .data:0x00000044; // type:object size:0x24 lbl_1_data_68 = .data:0x00000068; // type:object size:0x24 data:4byte jumptable_1_data_8C = .data:0x0000008C; // type:object size:0x1C scope:local jumptable_1_data_A8 = .data:0x000000A8; // type:object size:0x1C scope:local @@ -222,18 +220,18 @@ lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x30 lbl_1_data_114 = .data:0x00000114; // type:object size:0x20 lbl_1_data_134 = .data:0x00000134; // type:object size:0x20 lbl_1_data_154 = .data:0x00000154; // type:object size:0x4 data:4byte -lbl_1_data_158 = .data:0x00000158; // type:object size:0xC0 data:float -lbl_1_data_218 = .data:0x00000218; // type:object size:0xC0 data:float -lbl_1_data_2D8 = .data:0x000002D8; // type:object size:0x78 data:float -lbl_1_data_350 = .data:0x00000350; // type:object size:0x78 data:float -lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0xC0 data:float -lbl_1_data_488 = .data:0x00000488; // type:object size:0xC0 data:float -lbl_1_data_548 = .data:0x00000548; // type:object size:0x78 data:float -lbl_1_data_5C0 = .data:0x000005C0; // type:object size:0x78 data:float -lbl_1_data_638 = .data:0x00000638; // type:object size:0x108 data:float -lbl_1_data_740 = .data:0x00000740; // type:object size:0x108 data:float -lbl_1_data_848 = .data:0x00000848; // type:object size:0x108 data:float -lbl_1_data_950 = .data:0x00000950; // type:object size:0x108 data:float +lbl_1_data_158 = .data:0x00000158; // type:object size:0xC0 +lbl_1_data_218 = .data:0x00000218; // type:object size:0xC0 +lbl_1_data_2D8 = .data:0x000002D8; // type:object size:0x78 +lbl_1_data_350 = .data:0x00000350; // type:object size:0x78 +lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0xC0 +lbl_1_data_488 = .data:0x00000488; // type:object size:0xC0 +lbl_1_data_548 = .data:0x00000548; // type:object size:0x78 +lbl_1_data_5C0 = .data:0x000005C0; // type:object size:0x78 +lbl_1_data_638 = .data:0x00000638; // type:object size:0x108 +lbl_1_data_740 = .data:0x00000740; // type:object size:0x108 +lbl_1_data_848 = .data:0x00000848; // type:object size:0x108 +lbl_1_data_950 = .data:0x00000950; // type:object size:0x108 lbl_1_data_A58 = .data:0x00000A58; // type:object size:0x30 lbl_1_data_A88 = .data:0x00000A88; // type:object size:0x48 lbl_1_data_AD0 = .data:0x00000AD0; // type:object size:0xC data:4byte @@ -249,7 +247,7 @@ lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x2 data:2byte lbl_1_bss_2 = .bss:0x00000002; // type:object size:0x6 data:2byte lbl_1_bss_8 = .bss:0x00000008; // type:object size:0xC data:4byte lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:2byte +lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x2 data:2byte lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x2 data:2byte lbl_1_bss_1E = .bss:0x0000001E; // type:object size:0x14 data:2byte lbl_1_bss_32 = .bss:0x00000032; // type:object size:0x2 data:2byte diff --git a/config/GMPE01_00/rels/m455Dll/symbols.txt b/config/GMPE01_00/rels/m455Dll/symbols.txt index 5cefea64..0038cefd 100644 --- a/config/GMPE01_00/rels/m455Dll/symbols.txt +++ b/config/GMPE01_00/rels/m455Dll/symbols.txt @@ -68,205 +68,203 @@ fn_1_9E00 = .text:0x00009E00; // type:function size:0x118 fn_1_9F18 = .text:0x00009F18; // type:function size:0x250 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 scope:local data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 scope:local data:double -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float +lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float +lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float +lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float +lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float +lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float +lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float +lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float +lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float +lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float +lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float +lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float +lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float +lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float +lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float +lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 data:double +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 data:double +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 data:double +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 data:double +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 data:double +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 data:double +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 data:double +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float +lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 data:double lbl_1_data_0 = .data:0x00000000; // type:object size:0x38 data:float lbl_1_data_38 = .data:0x00000038; // type:object size:0xC data:float lbl_1_data_44 = .data:0x00000044; // type:object size:0xC data:float lbl_1_data_50 = .data:0x00000050; // type:object size:0x4 -lbl_1_data_54 = .data:0x00000054; // type:object size:0xC data:float -lbl_1_data_60 = .data:0x00000060; // type:object size:0xC data:float -lbl_1_data_6C = .data:0x0000006C; // type:object size:0x23 scope:local data:string +lbl_1_data_54 = .data:0x00000054; // type:object size:0xC +lbl_1_data_60 = .data:0x00000060; // type:object size:0xC +lbl_1_data_6C = .data:0x0000006C; // type:object size:0x24 lbl_1_data_90 = .data:0x00000090; // type:object size:0x2 data:2byte lbl_1_data_94 = .data:0x00000094; // type:object size:0x4 data:4byte lbl_1_data_98 = .data:0x00000098; // type:object size:0x4 data:4byte jumptable_1_data_9C = .data:0x0000009C; // type:object size:0x28 scope:local -lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x1C scope:local data:string +lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x1C data:string lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x28 -lbl_1_data_108 = .data:0x00000108; // type:object size:0x30 data:float -lbl_1_data_138 = .data:0x00000138; // type:object size:0x19 scope:local data:string -lbl_1_data_154 = .data:0x00000154; // type:object size:0x10 data:float -lbl_1_data_164 = .data:0x00000164; // type:object size:0xC data:float -lbl_1_data_170 = .data:0x00000170; // type:object size:0x4 data:byte -lbl_1_data_174 = .data:0x00000174; // type:object size:0x5 scope:local data:string -lbl_1_data_179 = .data:0x00000179; // type:object size:0xB scope:local data:string +lbl_1_data_108 = .data:0x00000108; // type:object size:0x30 +lbl_1_data_138 = .data:0x00000138; // type:object size:0x1C +lbl_1_data_154 = .data:0x00000154; // type:object size:0x10 +lbl_1_data_164 = .data:0x00000164; // type:object size:0xC +lbl_1_data_170 = .data:0x00000170; // type:object size:0x1 data:byte +lbl_1_data_174 = .data:0x00000174; // type:object size:0x5 data:string +lbl_1_data_179 = .data:0x00000179; // type:object size:0xB data:string lbl_1_data_184 = .data:0x00000184; // type:object size:0x8 data:float lbl_1_data_18C = .data:0x0000018C; // type:object size:0x10 -lbl_1_data_19C = .data:0x0000019C; // type:object size:0x3C data:float -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0x30 data:float -lbl_1_data_208 = .data:0x00000208; // type:object size:0x4 data:byte +lbl_1_data_19C = .data:0x0000019C; // type:object size:0x3C +lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0x30 +lbl_1_data_208 = .data:0x00000208; // type:object size:0x1 data:byte lbl_1_data_20C = .data:0x0000020C; // type:object size:0x50 -lbl_1_data_25C = .data:0x0000025C; // type:object size:0x7 scope:local data:string -lbl_1_data_263 = .data:0x00000263; // type:object size:0x7 scope:local data:string -lbl_1_data_26A = .data:0x0000026A; // type:object size:0x4 data:byte -lbl_1_data_26E = .data:0x0000026E; // type:object size:0x4 data:byte -lbl_1_data_272 = .data:0x00000272; // type:object size:0x4 data:byte -lbl_1_data_278 = .data:0x00000278; // type:object size:0x30 data:float -lbl_1_data_2A8 = .data:0x000002A8; // type:object size:0x138 data:float +lbl_1_data_25C = .data:0x0000025C; // type:object size:0x7 data:string +lbl_1_data_263 = .data:0x00000263; // type:object size:0x7 data:string +lbl_1_data_26A = .data:0x0000026A; // type:object size:0x1 data:byte +lbl_1_data_26E = .data:0x0000026E; // type:object size:0x1 data:byte +lbl_1_data_272 = .data:0x00000272; // type:object size:0x6 data:byte +lbl_1_data_278 = .data:0x00000278; // type:object size:0x30 +lbl_1_data_2A8 = .data:0x000002A8; // type:object size:0x138 lbl_1_data_3E0 = .data:0x000003E0; // type:object size:0x68 -lbl_1_data_448 = .data:0x00000448; // type:object size:0xD0 data:float -lbl_1_data_518 = .data:0x00000518; // type:object size:0xD0 data:float -lbl_1_data_5E8 = .data:0x000005E8; // type:object size:0x18 data:float -lbl_1_data_600 = .data:0x00000600; // type:object size:0x4 data:byte -lbl_1_data_604 = .data:0x00000604; // type:object size:0x6C data:float +lbl_1_data_448 = .data:0x00000448; // type:object size:0xD0 +lbl_1_data_518 = .data:0x00000518; // type:object size:0xD0 +lbl_1_data_5E8 = .data:0x000005E8; // type:object size:0x18 +lbl_1_data_600 = .data:0x00000600; // type:object size:0x1 data:byte +lbl_1_data_604 = .data:0x00000604; // type:object size:0x6C lbl_1_data_670 = .data:0x00000670; // type:object size:0x24 -lbl_1_data_694 = .data:0x00000694; // type:object size:0x4 data:byte -lbl_1_data_698 = .data:0x00000698; // type:object size:0x4 data:byte -lbl_1_data_69C = .data:0x0000069C; // type:object size:0x4 data:byte -lbl_1_data_6A0 = .data:0x000006A0; // type:object size:0x10 data:float -lbl_1_data_6B0 = .data:0x000006B0; // type:object size:0x10 data:float -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte +lbl_1_data_694 = .data:0x00000694; // type:object size:0x8 data:byte +lbl_1_data_69C = .data:0x0000069C; // type:object size:0x1 data:byte +lbl_1_data_6A0 = .data:0x000006A0; // type:object size:0x10 +lbl_1_data_6B0 = .data:0x000006B0; // type:object size:0x10 lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte lbl_1_bss_8 = .bss:0x00000008; // type:object size:0xC data:float lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 data:2byte @@ -283,8 +281,7 @@ lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0xC data:4byte +lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x10 data:4byte lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 data:4byte lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m456Dll/splits.txt b/config/GMPE01_00/rels/m456Dll/splits.txt index a2e9bbaa..139bf5cd 100644 --- a/config/GMPE01_00/rels/m456Dll/splits.txt +++ b/config/GMPE01_00/rels/m456Dll/splits.txt @@ -10,13 +10,13 @@ REL/executor.c: .text start:0x00000000 end:0x000000A0 REL/m456Dll/main.c: - .text start:0x000000A0 end:0x00002DF4 + .text start:0x000000A0 end:0x00002FAC .rodata start:0x00000000 end:0x000000F0 .data start:0x00000000 end:0x000002E8 .bss start:0x00000000 end:0x00000090 REL/m456Dll/stage.c: - .text start:0x00002DF4 end:0x00009C68 + .text start:0x00002FAC end:0x00009C68 .rodata start:0x000000F0 end:0x00000318 .data start:0x000002E8 end:0x000007D0 .bss start:0x00000090 end:0x000000BC diff --git a/config/GMPE01_00/rels/m456Dll/symbols.txt b/config/GMPE01_00/rels/m456Dll/symbols.txt index 68d90044..18fc4b5a 100644 --- a/config/GMPE01_00/rels/m456Dll/symbols.txt +++ b/config/GMPE01_00/rels/m456Dll/symbols.txt @@ -65,168 +65,167 @@ fn_1_9900 = .text:0x00009900; // type:function size:0x118 fn_1_9A18 = .text:0x00009A18; // type:function size:0x250 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 scope:local data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 scope:local data:double -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float +lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float +lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float +lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float +lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float +lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float +lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float +lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float +lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float +lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float +lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float +lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float +lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float +lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float +lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 data:double +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 data:double +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 data:double +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 data:double +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 data:double +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 data:double +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 data:double +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float +lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 data:double lbl_1_data_0 = .data:0x00000000; // type:object size:0x38 data:float lbl_1_data_38 = .data:0x00000038; // type:object size:0xC data:float lbl_1_data_44 = .data:0x00000044; // type:object size:0xC data:float lbl_1_data_50 = .data:0x00000050; // type:object size:0x4 lbl_1_data_54 = .data:0x00000054; // type:object size:0xC lbl_1_data_60 = .data:0x00000060; // type:object size:0xC -lbl_1_data_6C = .data:0x0000006C; // type:object size:0x23 scope:local data:string +lbl_1_data_6C = .data:0x0000006C; // type:object size:0x24 lbl_1_data_90 = .data:0x00000090; // type:object size:0x4 data:4byte lbl_1_data_94 = .data:0x00000094; // type:object size:0x4 data:4byte jumptable_1_data_98 = .data:0x00000098; // type:object size:0x30 scope:local -lbl_1_data_C8 = .data:0x000000C8; // type:object size:0x1C scope:local data:string +lbl_1_data_C8 = .data:0x000000C8; // type:object size:0x1C data:string lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x50 lbl_1_data_134 = .data:0x00000134; // type:object size:0x30 lbl_1_data_164 = .data:0x00000164; // type:object size:0x20 @@ -238,8 +237,8 @@ lbl_1_data_230 = .data:0x00000230; // type:object size:0xB8 lbl_1_data_2E8 = .data:0x000002E8; // type:object size:0x30 lbl_1_data_318 = .data:0x00000318; // type:object size:0x1 data:byte lbl_1_data_31C = .data:0x0000031C; // type:object size:0x50 -lbl_1_data_36C = .data:0x0000036C; // type:object size:0x7 scope:local data:string -lbl_1_data_373 = .data:0x00000373; // type:object size:0x7 scope:local data:string +lbl_1_data_36C = .data:0x0000036C; // type:object size:0x7 data:string +lbl_1_data_373 = .data:0x00000373; // type:object size:0x7 data:string lbl_1_data_37A = .data:0x0000037A; // type:object size:0x1 data:byte lbl_1_data_37E = .data:0x0000037E; // type:object size:0x1 data:byte lbl_1_data_382 = .data:0x00000382; // type:object size:0x6 data:byte @@ -256,7 +255,6 @@ lbl_1_data_7A4 = .data:0x000007A4; // type:object size:0x8 data:byte lbl_1_data_7AC = .data:0x000007AC; // type:object size:0x1 data:byte lbl_1_data_7B0 = .data:0x000007B0; // type:object size:0x10 lbl_1_data_7C0 = .data:0x000007C0; // type:object size:0x10 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte lbl_1_bss_6 = .bss:0x00000006; // type:object size:0x2 data:2byte lbl_1_bss_8 = .bss:0x00000008; // type:object size:0xC data:float @@ -274,8 +272,7 @@ lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x4 data:4byte lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x4 data:4byte lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x4 data:4byte lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:4byte -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x4 data:4byte -lbl_1_bss_94 = .bss:0x00000094; // type:object size:0xC data:4byte +lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x10 data:4byte lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x4 data:4byte lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m457Dll/symbols.txt b/config/GMPE01_00/rels/m457Dll/symbols.txt index 790cf96b..02f3cb11 100644 --- a/config/GMPE01_00/rels/m457Dll/symbols.txt +++ b/config/GMPE01_00/rels/m457Dll/symbols.txt @@ -1,179 +1,179 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -CameraPrintDebug = .text:0x000000A0; // type:function size:0x3CC scope:local -M457PlayerExec = .text:0x0000046C; // type:function size:0x2858 scope:local -M457GameExec = .text:0x00002CC4; // type:function size:0x283C scope:local -WrestleMesMain = .text:0x00005500; // type:function size:0x220 scope:local -ShoveMesMain = .text:0x00005720; // type:function size:0x29C scope:local -M457Main = .text:0x000059BC; // type:function size:0xB3C scope:local -M457GameSetup = .text:0x000064F8; // type:function size:0xAB8 scope:local -M457PlayerSetup = .text:0x00006FB0; // type:function size:0x5F4 scope:local -M457Setup = .text:0x000075A4; // type:function size:0xC0 scope:local +fn_1_A0 = .text:0x000000A0; // type:function size:0x3CC +fn_1_46C = .text:0x0000046C; // type:function size:0x2858 +fn_1_2CC4 = .text:0x00002CC4; // type:function size:0x283C +fn_1_5500 = .text:0x00005500; // type:function size:0x220 +fn_1_5720 = .text:0x00005720; // type:function size:0x29C +fn_1_59BC = .text:0x000059BC; // type:function size:0xB3C +fn_1_64F8 = .text:0x000064F8; // type:function size:0xAB8 +fn_1_6FB0 = .text:0x00006FB0; // type:function size:0x5F4 +fn_1_75A4 = .text:0x000075A4; // type:function size:0xC0 ObjectSetup = .text:0x00007664; // type:function size:0x480 -M457Exit = .text:0x00007AE4; // type:function size:0x9C scope:local +fn_1_7AE4 = .text:0x00007AE4; // type:function size:0x9C _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 scope:local data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x64 scope:local -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x90 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 scope:local data:double -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 scope:local data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x8 scope:local data:double -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 scope:local data:double -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 scope:local data:double -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 scope:local data:double -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 scope:local data:double -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 scope:local data:double -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x5C scope:local -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x5C scope:local -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0xC scope:local data:float -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0xC scope:local data:float -lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 scope:local data:float -lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 scope:local data:float -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 scope:local data:float -lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 scope:local data:float -lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 scope:local data:float -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x4 scope:local data:float -lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 scope:local data:float -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 scope:local data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 scope:local data:float -lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 scope:local data:float -sprDataNumTbl = .data:0x00000000; // type:object size:0x5C scope:local -sprIdTbl = .data:0x0000005C; // type:object size:0x5C scope:local data:4byte -lbl_1_data_B8 = .data:0x000000B8; // type:object size:0x30 scope:local -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x30 scope:local -lbl_1_data_118 = .data:0x00000118; // type:object size:0x30 scope:local -lbl_1_data_148 = .data:0x00000148; // type:object size:0xC scope:local data:byte -lbl_1_data_154 = .data:0x00000154; // type:object size:0x30 scope:local -lbl_1_data_184 = .data:0x00000184; // type:object size:0x30 scope:local -lbl_1_data_1B4 = .data:0x000001B4; // type:object size:0x6C scope:local data:float -sparkDataTbl = .data:0x00000220; // type:object size:0x6C scope:local data:float -lbl_1_data_28C = .data:0x0000028C; // type:object size:0x18 scope:local data:float -lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0x2 scope:local data:2byte -lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x2 scope:local data:2byte -backgroundMusNo = .data:0x000002A8; // type:object size:0x4 scope:local data:4byte -windSeNo = .data:0x000002AC; // type:object size:0x4 scope:local data:4byte -lbl_1_data_2B0 = .data:0x000002B0; // type:object size:0x2 scope:local data:2byte -invincibilitySeNo = .data:0x000002B4; // type:object size:0x4 scope:local data:4byte -lbl_1_data_2B8 = .data:0x000002B8; // type:object size:0x4 scope:local data:4byte -lbl_1_data_2BC = .data:0x000002BC; // type:object size:0x9 scope:local data:string -lbl_1_data_2C5 = .data:0x000002C5; // type:object size:0x3 scope:local data:string +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 data:double +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x24 data:4byte +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x24 data:4byte +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x64 +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x8 data:4byte +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x8 data:4byte +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x40 data:4byte +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x40 data:4byte +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:4byte +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x90 +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 data:double +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 data:double +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 data:double +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 data:double +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 data:double +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float +lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 data:double +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float +lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 data:double +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 data:double +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float +lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x8 data:double +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 data:double +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 data:double +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float +lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 data:double +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 data:double +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 data:double +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 data:double +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 data:double +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float +lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float +lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 data:float +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 data:double +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x8 data:double +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 data:double +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float +lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x14 data:4byte +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:4byte +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:4byte +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x40 data:4byte +lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x40 data:4byte +lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x5C +lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x5C +lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float +lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 data:float +lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 data:float +lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0xC data:4byte +lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0xC data:4byte +lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x1 data:byte +lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 data:float +lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 data:float +lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 data:float +lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 data:float +lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 data:float +lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 data:float +lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 data:float +lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 data:float +lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x4 data:float +lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 data:float +lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 data:float +lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 data:float +lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 data:float +lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 data:float +lbl_1_data_0 = .data:0x00000000; // type:object size:0x5C +lbl_1_data_5C = .data:0x0000005C; // type:object size:0x5C data:4byte +lbl_1_data_B8 = .data:0x000000B8; // type:object size:0x30 +lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x30 +lbl_1_data_118 = .data:0x00000118; // type:object size:0x30 +lbl_1_data_148 = .data:0x00000148; // type:object size:0xC +lbl_1_data_154 = .data:0x00000154; // type:object size:0x30 +lbl_1_data_184 = .data:0x00000184; // type:object size:0x30 +lbl_1_data_1B4 = .data:0x000001B4; // type:object size:0x6C +lbl_1_data_220 = .data:0x00000220; // type:object size:0x6C +lbl_1_data_28C = .data:0x0000028C; // type:object size:0x18 data:float +lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0x2 data:2byte +lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x2 data:2byte +lbl_1_data_2A8 = .data:0x000002A8; // type:object size:0x4 data:4byte +lbl_1_data_2AC = .data:0x000002AC; // type:object size:0x4 data:4byte +lbl_1_data_2B0 = .data:0x000002B0; // type:object size:0x2 data:2byte +lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x4 data:4byte +lbl_1_data_2B8 = .data:0x000002B8; // type:object size:0x4 data:4byte +lbl_1_data_2BC = .data:0x000002BC; // type:object size:0x9 data:string +lbl_1_data_2C5 = .data:0x000002C5; // type:object size:0x3 data:string jumptable_1_data_2C8 = .data:0x000002C8; // type:object size:0x2C scope:local jumptable_1_data_2F4 = .data:0x000002F4; // type:object size:0x48 scope:local -lbl_1_data_33C = .data:0x0000033C; // type:object size:0x4 scope:local data:4byte -lbl_1_data_340 = .data:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_data_344 = .data:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_data_348 = .data:0x00000348; // type:object size:0x4 scope:local data:float +lbl_1_data_33C = .data:0x0000033C; // type:object size:0x4 data:4byte +lbl_1_data_340 = .data:0x00000340; // type:object size:0x4 data:float +lbl_1_data_344 = .data:0x00000344; // type:object size:0x4 data:float +lbl_1_data_348 = .data:0x00000348; // type:object size:0x4 data:float jumptable_1_data_34C = .data:0x0000034C; // type:object size:0x20 scope:local jumptable_1_data_36C = .data:0x0000036C; // type:object size:0x2C scope:local -lbl_1_data_398 = .data:0x00000398; // type:object size:0x12 scope:local data:string -lbl_1_data_3AA = .data:0x000003AA; // type:object size:0x19 scope:local data:string -lbl_1_data_3C3 = .data:0x000003C3; // type:object size:0x24 scope:local data:string -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 scope:local data:4byte -m457MesEndF = .bss:0x00000010; // type:object size:0x4 scope:local data:4byte -againstBrowserF = .bss:0x00000014; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 scope:local data:4byte -lightId = .bss:0x00000048; // type:object size:0x4 scope:local data:4byte -objman = .bss:0x0000004C; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 scope:local data:4byte -gameState = .bss:0x0000005C; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 scope:local data:4byte -gameObj = .bss:0x00000064; // type:object size:0x4 scope:local data:4byte -playerObj = .bss:0x00000068; // type:object size:0x8 scope:local data:4byte -omViewObj = .bss:0x00000070; // type:object size:0x4 scope:local data:4byte -mainObj = .bss:0x00000074; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x50 scope:local data:4byte +lbl_1_data_398 = .data:0x00000398; // type:object size:0x12 data:string +lbl_1_data_3AA = .data:0x000003AA; // type:object size:0x19 data:string +lbl_1_data_3C3 = .data:0x000003C3; // type:object size:0x24 data:string +lbl_1_bss_4 = .bss:0x00000004; // type:object size:0xC data:4byte +lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte +lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte +lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte +lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte +lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte +lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte +lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:float +lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:float +lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:float +lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x8 data:float +lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte +lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte +lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte +lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte +lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte +lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte +lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x8 data:4byte +lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 data:4byte +lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte +lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x4 data:4byte +lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x8 data:4byte +lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x4 data:4byte +lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte +lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x50 data:4byte diff --git a/config/GMPE01_00/rels/m458Dll/symbols.txt b/config/GMPE01_00/rels/m458Dll/symbols.txt index fda69ac1..0a2dc8ab 100644 --- a/config/GMPE01_00/rels/m458Dll/symbols.txt +++ b/config/GMPE01_00/rels/m458Dll/symbols.txt @@ -13,113 +13,113 @@ ObjectSetup = .text:0x0000691C; // type:function size:0x480 fn_1_6D9C = .text:0x00006D9C; // type:function size:0xD0 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 scope:local data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 scope:local data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:4byte -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x94 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 scope:local data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 scope:local data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 scope:local data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 scope:local data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 scope:local data:double -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 scope:local data:double -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x50 scope:local data:4byte -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:4byte -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x70 scope:local -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0xC scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0xC scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 data:double +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0xC data:4byte +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x24 data:4byte +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 data:double +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:4byte +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x94 +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float +lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float +lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 data:double +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 data:double +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 data:double +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x50 +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float +lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float +lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:4byte +lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x70 +lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 data:4byte +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 data:4byte +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float +lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float +lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float +lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0xC data:4byte +lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0xC data:4byte +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x1 data:byte +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float +lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float +lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float +lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 data:float +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float +lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 data:float +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float +lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x8 lbl_1_data_8 = .data:0x00000008; // type:object size:0x8 data:4byte lbl_1_data_10 = .data:0x00000010; // type:object size:0x28 lbl_1_data_38 = .data:0x00000038; // type:object size:0x28 lbl_1_data_60 = .data:0x00000060; // type:object size:0x28 -lbl_1_data_88 = .data:0x00000088; // type:object size:0xA data:byte -lbl_1_data_92 = .data:0x00000092; // type:object size:0xA data:byte +lbl_1_data_88 = .data:0x00000088; // type:object size:0xA +lbl_1_data_92 = .data:0x00000092; // type:object size:0xA lbl_1_data_9C = .data:0x0000009C; // type:object size:0x28 lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x28 lbl_1_data_EC = .data:0x000000EC; // type:object size:0x28 @@ -130,23 +130,22 @@ lbl_1_data_130 = .data:0x00000130; // type:object size:0x4 data:4byte lbl_1_data_134 = .data:0x00000134; // type:object size:0x4 data:4byte lbl_1_data_138 = .data:0x00000138; // type:object size:0x24 data:2byte lbl_1_data_15C = .data:0x0000015C; // type:object size:0x4 data:4byte -lbl_1_data_160 = .data:0x00000160; // type:object size:0x9 scope:local data:string -lbl_1_data_169 = .data:0x00000169; // type:object size:0x3 scope:local data:string +lbl_1_data_160 = .data:0x00000160; // type:object size:0x9 data:string +lbl_1_data_169 = .data:0x00000169; // type:object size:0x3 data:string lbl_1_data_16C = .data:0x0000016C; // type:object size:0x4 data:4byte jumptable_1_data_170 = .data:0x00000170; // type:object size:0x30 scope:local lbl_1_data_1A0 = .data:0x000001A0; // type:object size:0x4 data:4byte lbl_1_data_1A4 = .data:0x000001A4; // type:object size:0x4 data:float lbl_1_data_1A8 = .data:0x000001A8; // type:object size:0x4 data:float lbl_1_data_1AC = .data:0x000001AC; // type:object size:0x4 data:float -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x4 scope:local data:string +lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x4 data:string jumptable_1_data_1B4 = .data:0x000001B4; // type:object size:0x34 scope:local lbl_1_data_1E8 = .data:0x000001E8; // type:object size:0x2C -lbl_1_data_214 = .data:0x00000214; // type:object size:0x8 scope:local data:string -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x19 scope:local data:string -lbl_1_data_235 = .data:0x00000235; // type:object size:0x24 scope:local data:string +lbl_1_data_214 = .data:0x00000214; // type:object size:0x8 data:string +lbl_1_data_21C = .data:0x0000021C; // type:object size:0x19 data:string +lbl_1_data_235 = .data:0x00000235; // type:object size:0x24 data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte +lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x8 data:4byte lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte @@ -157,8 +156,7 @@ lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:float lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:float lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:float -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:float -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:float +lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x8 data:float lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x50 lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:4byte lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x4 data:4byte @@ -167,13 +165,11 @@ lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x4 data:4byte lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0x4 data:4byte lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x4 data:4byte -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x4 data:4byte +lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x8 data:4byte lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x4 data:4byte lbl_1_bss_B4 = .bss:0x000000B4; // type:object size:0x4 data:4byte lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x4 data:4byte -lbl_1_bss_C0 = .bss:0x000000C0; // type:object size:0x4 data:4byte +lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x8 data:4byte lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x4 data:4byte lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x4 data:4byte lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x1C0 data:4byte diff --git a/config/GMPE01_00/rels/m459dll/symbols.txt b/config/GMPE01_00/rels/m459dll/symbols.txt index 7e0f8085..5520ff1e 100644 --- a/config/GMPE01_00/rels/m459dll/symbols.txt +++ b/config/GMPE01_00/rels/m459dll/symbols.txt @@ -64,91 +64,91 @@ fn_1_6198 = .text:0x00006198; // type:function size:0x2C0 fn_1_6458 = .text:0x00006458; // type:function size:0x128 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x30 scope:local -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x78 scope:local -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x18 scope:local -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:4byte -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x20 scope:local -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x20 scope:local -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x18C scope:local -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x10 scope:local -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x8 scope:local -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x14 scope:local -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x14 scope:local -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x14 scope:local -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x14 scope:local -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 scope:local data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0xC scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0xC scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0xC scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x48 scope:local -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x1B scope:local data:string -lbl_1_data_1B = .data:0x0000001B; // type:object size:0x1B scope:local data:string +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x30 +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x78 +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x18 +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:4byte +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x20 +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x20 +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x18C +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x10 +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float +lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float +lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float +lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float +lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float +lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 data:double +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float +lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x8 +lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float +lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x14 +lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float +lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float +lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float +lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float +lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float +lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float +lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x14 +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x14 +lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x14 +lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float +lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 data:double +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 data:double +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float +lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 data:float +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:double +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float +lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float +lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float +lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float +lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float +lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float +lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 data:float +lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 data:float +lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float +lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 data:double +lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0xC data:4byte +lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0xC data:4byte +lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0xC data:4byte +lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float +lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float +lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float +lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 data:float +lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 data:float +lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float +lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float +lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float +lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 data:float +lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x48 +lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float +lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float +lbl_1_data_0 = .data:0x00000000; // type:object size:0x1B data:string +lbl_1_data_1B = .data:0x0000001B; // type:object size:0x1B data:string jumptable_1_data_38 = .data:0x00000038; // type:object size:0x38 scope:local lbl_1_data_70 = .data:0x00000070; // type:object size:0x1C lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x2 data:2byte diff --git a/config/GMPE01_00/rels/m460Dll/symbols.txt b/config/GMPE01_00/rels/m460Dll/symbols.txt index bd1cca6f..0261cad3 100644 --- a/config/GMPE01_00/rels/m460Dll/symbols.txt +++ b/config/GMPE01_00/rels/m460Dll/symbols.txt @@ -86,167 +86,167 @@ fn_1_91E4 = .text:0x000091E4; // type:function size:0x8C fn_1_9270 = .text:0x00009270; // type:function size:0x164 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0xC scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0xC scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:4byte -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x50 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x10 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x30 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x18 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x18 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x18 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 scope:local data:double -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 scope:local data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x8 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0xC data:4byte +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0xC data:4byte +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:4byte +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x50 +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x14 data:4byte +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x10 data:4byte +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x10 data:4byte +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x30 data:4byte +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x18 data:4byte +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x18 data:4byte +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float +lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float +lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float +lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float +lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float +lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x18 data:4byte +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:4byte +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float +lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float +lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float +lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float +lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 data:double +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float +lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float +lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float +lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float +lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float +lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float +lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float +lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float +lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float +lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float +lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float +lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float +lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float +lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float +lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float +lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float +lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x1 data:byte +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x1 data:byte +lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0xC data:4byte +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float +lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float +lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float +lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float +lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:float +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float +lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float +lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float +lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float +lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float +lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float +lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 data:float +lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 data:float +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float +lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x8 data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float +lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float +lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:double +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float +lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 data:float +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float +lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0xC lbl_1_data_C = .data:0x0000000C; // type:object size:0xC lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float @@ -259,9 +259,9 @@ lbl_1_data_70 = .data:0x00000070; // type:object size:0x24 lbl_1_data_94 = .data:0x00000094; // type:object size:0xC lbl_1_data_A0 = .data:0x000000A0; // type:object size:0xC lbl_1_data_AC = .data:0x000000AC; // type:object size:0xC -lbl_1_data_B8 = .data:0x000000B8; // type:object size:0x4 data:byte -lbl_1_data_BC = .data:0x000000BC; // type:object size:0x1A scope:local data:string -lbl_1_data_D6 = .data:0x000000D6; // type:object size:0x19 scope:local data:string +lbl_1_data_B8 = .data:0x000000B8; // type:object size:0x1 data:byte +lbl_1_data_BC = .data:0x000000BC; // type:object size:0x1A data:string +lbl_1_data_D6 = .data:0x000000D6; // type:object size:0x19 data:string lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x20 lbl_1_data_110 = .data:0x00000110; // type:object size:0xA0 jumptable_1_data_1B0 = .data:0x000001B0; // type:object size:0x24 scope:local @@ -273,10 +273,10 @@ lbl_1_data_334 = .data:0x00000334; // type:object size:0xC lbl_1_data_340 = .data:0x00000340; // type:object size:0xC lbl_1_data_34C = .data:0x0000034C; // type:object size:0x8 lbl_1_data_354 = .data:0x00000354; // type:object size:0x8 -lbl_1_data_35C = .data:0x0000035C; // type:object size:0x7 scope:local data:string -lbl_1_data_363 = .data:0x00000363; // type:object size:0x7 scope:local data:string +lbl_1_data_35C = .data:0x0000035C; // type:object size:0x7 data:string +lbl_1_data_363 = .data:0x00000363; // type:object size:0x7 data:string lbl_1_data_36C = .data:0x0000036C; // type:object size:0xC -lbl_1_data_378 = .data:0x00000378; // type:object size:0x4 data:byte +lbl_1_data_378 = .data:0x00000378; // type:object size:0x8 data:byte lbl_1_data_380 = .data:0x00000380; // type:object size:0xC lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m461Dll/symbols.txt b/config/GMPE01_00/rels/m461Dll/symbols.txt index 27492436..02cf6c76 100644 --- a/config/GMPE01_00/rels/m461Dll/symbols.txt +++ b/config/GMPE01_00/rels/m461Dll/symbols.txt @@ -70,94 +70,94 @@ fn_1_ADDC = .text:0x0000ADDC; // type:function size:0x458 fn_1_B234 = .text:0x0000B234; // type:function size:0x7F8 fn_1_BA2C = .text:0x0000BA2C; // type:function size:0xF44 fn_1_C970 = .text:0x0000C970; // type:function size:0x240 -ObjectSetup = .text:0x0000CBB0; // type:function size:0xB5C +fn_1_CBB0 = .text:0x0000CBB0; // type:function size:0xB5C fn_1_D70C = .text:0x0000D70C; // type:function size:0xD0 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float +lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float +lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float +lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float +lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x10 lbl_1_data_10 = .data:0x00000010; // type:object size:0x20 lbl_1_data_30 = .data:0x00000030; // type:object size:0x28 lbl_1_data_58 = .data:0x00000058; // type:object size:0x28 -lbl_1_data_80 = .data:0x00000080; // type:object size:0x1F scope:local data:string +lbl_1_data_80 = .data:0x00000080; // type:object size:0x20 lbl_1_data_A0 = .data:0x000000A0; // type:object size:0xC data:4byte lbl_1_data_AC = .data:0x000000AC; // type:object size:0xC lbl_1_data_B8 = .data:0x000000B8; // type:object size:0xC data:4byte @@ -179,14 +179,14 @@ lbl_1_data_240 = .data:0x00000240; // type:object size:0x24 lbl_1_data_264 = .data:0x00000264; // type:object size:0xC data:4byte lbl_1_data_270 = .data:0x00000270; // type:object size:0x80 lbl_1_data_2F0 = .data:0x000002F0; // type:object size:0x30 -lbl_1_data_320 = .data:0x00000320; // type:object size:0x23 scope:local data:string -lbl_1_data_343 = .data:0x00000343; // type:object size:0x9 scope:local data:string -lbl_1_data_34C = .data:0x0000034C; // type:object size:0x6 scope:local data:string -lbl_1_data_352 = .data:0x00000352; // type:object size:0x1D scope:local data:string -lbl_1_data_36F = .data:0x0000036F; // type:object size:0x1D scope:local data:string -lbl_1_data_38C = .data:0x0000038C; // type:object size:0x1B scope:local data:string +lbl_1_data_320 = .data:0x00000320; // type:object size:0x23 data:string +lbl_1_data_343 = .data:0x00000343; // type:object size:0x9 data:string +lbl_1_data_34C = .data:0x0000034C; // type:object size:0x6 data:string +lbl_1_data_352 = .data:0x00000352; // type:object size:0x1D data:string +lbl_1_data_36F = .data:0x0000036F; // type:object size:0x1D data:string +lbl_1_data_38C = .data:0x0000038C; // type:object size:0x1C jumptable_1_data_3A8 = .data:0x000003A8; // type:object size:0x20 scope:local -lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0x24 scope:local data:string +lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0x24 data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:float lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:float lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:float @@ -199,8 +199,7 @@ lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x10 -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0xC data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte +lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x10 data:4byte lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x50 lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0x4 data:4byte lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m462Dll/symbols.txt b/config/GMPE01_00/rels/m462Dll/symbols.txt index 0af8810d..d702b245 100644 --- a/config/GMPE01_00/rels/m462Dll/symbols.txt +++ b/config/GMPE01_00/rels/m462Dll/symbols.txt @@ -34,101 +34,101 @@ fn_1_7D40 = .text:0x00007D40; // type:function size:0x60 fn_1_7DA0 = .text:0x00007DA0; // type:function size:0x3BC _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float +lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x20 lbl_1_data_20 = .data:0x00000020; // type:object size:0x10 -lbl_1_data_30 = .data:0x00000030; // type:object size:0x60 data:float +lbl_1_data_30 = .data:0x00000030; // type:object size:0x60 lbl_1_data_90 = .data:0x00000090; // type:object size:0x30 data:float lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x3C lbl_1_data_FC = .data:0x000000FC; // type:object size:0x14 data:float -lbl_1_data_110 = .data:0x00000110; // type:object size:0xB scope:local data:string +lbl_1_data_110 = .data:0x00000110; // type:object size:0xB data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0xC data:float lbl_1_bss_C = .bss:0x0000000C; // type:object size:0xC data:float lbl_1_bss_18 = .bss:0x00000018; // type:object size:0xC data:float diff --git a/config/GMPE01_00/rels/m463Dll/splits.txt b/config/GMPE01_00/rels/m463Dll/splits.txt index f1310070..ceb93b07 100644 --- a/config/GMPE01_00/rels/m463Dll/splits.txt +++ b/config/GMPE01_00/rels/m463Dll/splits.txt @@ -6,11 +6,8 @@ Sections: .data type:data align:8 .bss type:bss align:8 -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - REL/m463Dll/main.c: - .text start:0x000000A0 end:0x000066B8 + .text start:0x00000000 end:0x000066B8 .rodata start:0x00000000 end:0x00000414 .data start:0x00000000 end:0x0000024D .bss start:0x00000000 end:0x000005AC diff --git a/config/GMPE01_00/rels/m463Dll/symbols.txt b/config/GMPE01_00/rels/m463Dll/symbols.txt index e336c47f..87b16e8f 100644 --- a/config/GMPE01_00/rels/m463Dll/symbols.txt +++ b/config/GMPE01_00/rels/m463Dll/symbols.txt @@ -8,123 +8,123 @@ fn_1_45F8 = .text:0x000045F8; // type:function size:0xDA8 fn_1_53A0 = .text:0x000053A0; // type:function size:0x4B0 fn_1_5850 = .text:0x00005850; // type:function size:0x854 fn_1_60A4 = .text:0x000060A4; // type:function size:0x98 -ObjectSetup = .text:0x0000613C; // type:function size:0x460 +fn_1_613C = .text:0x0000613C; // type:function size:0x460 fn_1_659C = .text:0x0000659C; // type:function size:0x11C _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 scope:local data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0xC scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 scope:local data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x90 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 scope:local data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 scope:local data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 scope:local data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 scope:local data:double -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x50 scope:local -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x70 scope:local -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0xC scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0xC scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 data:double +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0xC data:4byte +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x24 data:4byte +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC data:4byte +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0xC data:4byte +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float +lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:4byte +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x94 +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float +lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 data:double +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:4byte +lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x50 +lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float +lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x70 +lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float +lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x24 data:4byte +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x24 data:4byte +lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 data:float +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float +lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x10 data:4byte +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float +lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0xC data:4byte +lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0xC data:4byte +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x1 data:byte +lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float +lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float +lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float +lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float +lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float +lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 data:float +lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 data:float +lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float +lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 data:float +lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 data:float +lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x24 lbl_1_data_24 = .data:0x00000024; // type:object size:0x24 lbl_1_data_48 = .data:0x00000048; // type:object size:0x24 lbl_1_data_6C = .data:0x0000006C; // type:object size:0x24 lbl_1_data_90 = .data:0x00000090; // type:object size:0x24 -lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x9 data:byte -lbl_1_data_BD = .data:0x000000BD; // type:object size:0x9 data:byte +lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x9 +lbl_1_data_BD = .data:0x000000BD; // type:object size:0xB lbl_1_data_C8 = .data:0x000000C8; // type:object size:0x24 lbl_1_data_EC = .data:0x000000EC; // type:object size:0x24 lbl_1_data_110 = .data:0x00000110; // type:object size:0x24 -lbl_1_data_134 = .data:0x00000134; // type:object size:0x18 data:4byte +lbl_1_data_134 = .data:0x00000134; // type:object size:0x18 data:float lbl_1_data_14C = .data:0x0000014C; // type:object size:0x2 data:2byte lbl_1_data_14E = .data:0x0000014E; // type:object size:0x2 data:2byte lbl_1_data_150 = .data:0x00000150; // type:object size:0x4 data:4byte -lbl_1_data_154 = .data:0x00000154; // type:object size:0x4 data:4byte -lbl_1_data_178 = .data:0x00000178; // type:object size:0x9 scope:local data:string -lbl_1_data_181 = .data:0x00000181; // type:object size:0x3 scope:local data:string +lbl_1_data_154 = .data:0x00000154; // type:object size:0x24 data:4byte +lbl_1_data_178 = .data:0x00000178; // type:object size:0x9 data:string +lbl_1_data_181 = .data:0x00000181; // type:object size:0x3 data:string lbl_1_data_184 = .data:0x00000184; // type:object size:0x4 data:4byte jumptable_1_data_188 = .data:0x00000188; // type:object size:0x1C scope:local lbl_1_data_1A4 = .data:0x000001A4; // type:object size:0x10 @@ -134,30 +134,30 @@ lbl_1_data_1BC = .data:0x000001BC; // type:object size:0x4 data:float lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x4 data:float jumptable_1_data_1C4 = .data:0x000001C4; // type:object size:0x20 scope:local lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x2C -lbl_1_data_210 = .data:0x00000210; // type:object size:0x19 scope:local data:string -lbl_1_data_229 = .data:0x00000229; // type:object size:0x24 scope:local data:string +lbl_1_data_210 = .data:0x00000210; // type:object size:0x19 data:string +lbl_1_data_229 = .data:0x00000229; // type:object size:0x24 data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte +lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x8 data:4byte +lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x8 data:2byte lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:float lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:float lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:float -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:float +lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x8 data:float lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte +lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x8 data:4byte lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x2D0 lbl_1_bss_32C = .bss:0x0000032C; // type:object size:0x4 data:4byte -lbl_1_bss_330 = .bss:0x00000330; // type:object size:0x24 scope:local data:4byte +lbl_1_bss_330 = .bss:0x00000330; // type:object size:0x24 data:4byte lbl_1_bss_354 = .bss:0x00000354; // type:object size:0x4 data:4byte lbl_1_bss_358 = .bss:0x00000358; // type:object size:0x4 data:4byte lbl_1_bss_35C = .bss:0x0000035C; // type:object size:0x1C0 data:4byte diff --git a/config/GMPE01_00/rels/mentDll/splits.txt b/config/GMPE01_00/rels/mentDll/splits.txt index 77b37cde..57db84a5 100644 --- a/config/GMPE01_00/rels/mentDll/splits.txt +++ b/config/GMPE01_00/rels/mentDll/splits.txt @@ -9,11 +9,9 @@ Sections: REL/mentDll/common.c: .text start:0x00000000 end:0x0000658C .rodata start:0x00000000 end:0x000000E8 - .data start:0x00000000 end:0x000000D8 - .bss start:0x00000000 end:0x00000008 REL/mentDll/main.c: .text start:0x0000658C end:0x00023A38 .rodata start:0x000000E8 end:0x00000528 - .data start:0x000000D8 end:0x000006D0 - .bss start:0x00000008 end:0x000036C4 + .data start:0x00000000 end:0x000006D0 + .bss start:0x00000000 end:0x000036C4 diff --git a/config/GMPE01_00/rels/mentDll/symbols.txt b/config/GMPE01_00/rels/mentDll/symbols.txt index fe98fd1f..1c9c6ddd 100644 --- a/config/GMPE01_00/rels/mentDll/symbols.txt +++ b/config/GMPE01_00/rels/mentDll/symbols.txt @@ -204,223 +204,222 @@ fn_1_225F4 = .text:0x000225F4; // type:function size:0xE38 fn_1_2342C = .text:0x0002342C; // type:function size:0x60C _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0xC scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0xC scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0xC scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0xC scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0xC scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0xC scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0xC scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0xC scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0xC scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0xC scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0xC scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0xC scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0xC scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0xC scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0xC scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x90 scope:local -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 scope:local data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 scope:local data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 scope:local data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x8 scope:local data:double -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 scope:local data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0xC data:4byte +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0xC data:4byte +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0xC data:4byte +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float +lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float +lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x1 data:byte +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x1C data:4byte +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0xC data:4byte +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x10 data:4byte +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x18 data:4byte +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0xC data:4byte +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0xC data:4byte +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0xC data:4byte +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x18 data:4byte +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0xC data:4byte +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0xC data:4byte +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0xC data:4byte +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x1C data:4byte +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x10 data:4byte +lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x18 data:4byte +lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0xC data:4byte +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0xC data:4byte +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x1C data:4byte +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0xC data:4byte +lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0xC data:4byte +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0xC data:4byte +lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0xC data:4byte +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0xC data:4byte +lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0xC data:4byte +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float +lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float +lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x18 data:4byte +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x90 +lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x18 data:4byte +lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:float +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float +lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float +lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float +lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float +lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float +lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float +lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 data:float +lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 data:float +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float +lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float +lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float +lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float +lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float +lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 data:float +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float +lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 data:float +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float +lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float +lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float +lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float +lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float +lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float +lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 data:float +lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 data:float +lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float +lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 data:float +lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 data:float +lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float +lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 data:float +lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float +lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float +lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float +lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float +lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float +lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float +lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float +lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x40 data:4byte +lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 data:float +lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 data:float +lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 data:float +lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float +lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float +lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float +lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 data:float +lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x20 data:4byte +lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float +lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float +lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x20 data:4byte +lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float +lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float +lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float +lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float +lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float +lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 data:float +lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float +lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float +lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float +lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float +lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float +lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x8 data:double +lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 data:double +lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 data:float +lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 data:float +lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float +lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 data:4byte lbl_1_data_70 = .data:0x00000070; // type:object size:0x4 data:4byte -lbl_1_data_74 = .data:0x00000074; // type:object size:0x22 scope:local data:string -lbl_1_data_96 = .data:0x00000096; // type:object size:0x1A scope:local data:string -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x1A scope:local data:string -lbl_1_data_CA = .data:0x000000CA; // type:object size:0xE scope:local data:string +lbl_1_data_74 = .data:0x00000074; // type:object size:0x22 data:string +lbl_1_data_96 = .data:0x00000096; // type:object size:0x1A data:string +lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x1A data:string +lbl_1_data_CA = .data:0x000000CA; // type:object size:0xE data:string lbl_1_data_D8 = .data:0x000000D8; // type:object size:0x48 data:float lbl_1_data_120 = .data:0x00000120; // type:object size:0x18 jumptable_1_data_138 = .data:0x00000138; // type:object size:0x30 scope:local -lbl_1_data_168 = .data:0x00000168; // type:object size:0x16 scope:local data:string -lbl_1_data_17E = .data:0x0000017E; // type:object size:0x15 scope:local data:string -lbl_1_data_193 = .data:0x00000193; // type:object size:0x17 scope:local data:string -lbl_1_data_1AA = .data:0x000001AA; // type:object size:0x16 scope:local data:string -lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x17 scope:local data:string -lbl_1_data_1D7 = .data:0x000001D7; // type:object size:0x16 scope:local data:string -lbl_1_data_1ED = .data:0x000001ED; // type:object size:0x17 scope:local data:string -lbl_1_data_204 = .data:0x00000204; // type:object size:0x16 scope:local data:string -lbl_1_data_21A = .data:0x0000021A; // type:object size:0xF scope:local data:string -lbl_1_data_229 = .data:0x00000229; // type:object size:0x1C scope:local data:string -lbl_1_data_245 = .data:0x00000245; // type:object size:0x1D scope:local data:string -lbl_1_data_262 = .data:0x00000262; // type:object size:0x14 scope:local data:string -lbl_1_data_276 = .data:0x00000276; // type:object size:0x15 scope:local data:string -lbl_1_data_28B = .data:0x0000028B; // type:object size:0x14 scope:local data:string -lbl_1_data_29F = .data:0x0000029F; // type:object size:0x14 scope:local data:string +lbl_1_data_168 = .data:0x00000168; // type:object size:0x16 data:string +lbl_1_data_17E = .data:0x0000017E; // type:object size:0x15 data:string +lbl_1_data_193 = .data:0x00000193; // type:object size:0x17 data:string +lbl_1_data_1AA = .data:0x000001AA; // type:object size:0x16 data:string +lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x17 data:string +lbl_1_data_1D7 = .data:0x000001D7; // type:object size:0x16 data:string +lbl_1_data_1ED = .data:0x000001ED; // type:object size:0x17 data:string +lbl_1_data_204 = .data:0x00000204; // type:object size:0x16 data:string +lbl_1_data_21A = .data:0x0000021A; // type:object size:0xF data:string +lbl_1_data_229 = .data:0x00000229; // type:object size:0x1C data:string +lbl_1_data_245 = .data:0x00000245; // type:object size:0x1D data:string +lbl_1_data_262 = .data:0x00000262; // type:object size:0x14 data:string +lbl_1_data_276 = .data:0x00000276; // type:object size:0x15 data:string +lbl_1_data_28B = .data:0x0000028B; // type:object size:0x14 data:string +lbl_1_data_29F = .data:0x0000029F; // type:object size:0x15 lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x3C lbl_1_data_2F0 = .data:0x000002F0; // type:object size:0x4 data:4byte -lbl_1_data_2F4 = .data:0x000002F4; // type:object size:0x20 scope:local data:string -lbl_1_data_314 = .data:0x00000314; // type:object size:0x20 scope:local data:string -lbl_1_data_334 = .data:0x00000334; // type:object size:0x2A scope:local data:string -lbl_1_data_35E = .data:0x0000035E; // type:object size:0x3 scope:local data:string -lbl_1_data_361 = .data:0x00000361; // type:object size:0x1B scope:local data:string -lbl_1_data_37C = .data:0x0000037C; // type:object size:0x1A scope:local data:string -lbl_1_data_396 = .data:0x00000396; // type:object size:0x29 scope:local data:string -lbl_1_data_3BF = .data:0x000003BF; // type:object size:0x2A scope:local data:string -lbl_1_data_3E9 = .data:0x000003E9; // type:object size:0x2A scope:local data:string -lbl_1_data_413 = .data:0x00000413; // type:object size:0x2B scope:local data:string -lbl_1_data_43E = .data:0x0000043E; // type:object size:0x29 scope:local data:string -lbl_1_data_467 = .data:0x00000467; // type:object size:0x2B scope:local data:string -lbl_1_data_492 = .data:0x00000492; // type:object size:0x20 scope:local data:string -lbl_1_data_4B2 = .data:0x000004B2; // type:object size:0x20 scope:local data:string +lbl_1_data_2F4 = .data:0x000002F4; // type:object size:0x20 data:string +lbl_1_data_314 = .data:0x00000314; // type:object size:0x20 data:string +lbl_1_data_334 = .data:0x00000334; // type:object size:0x2A data:string +lbl_1_data_35E = .data:0x0000035E; // type:object size:0x3 data:string +lbl_1_data_361 = .data:0x00000361; // type:object size:0x1B data:string +lbl_1_data_37C = .data:0x0000037C; // type:object size:0x1A data:string +lbl_1_data_396 = .data:0x00000396; // type:object size:0x29 data:string +lbl_1_data_3BF = .data:0x000003BF; // type:object size:0x2A data:string +lbl_1_data_3E9 = .data:0x000003E9; // type:object size:0x2A data:string +lbl_1_data_413 = .data:0x00000413; // type:object size:0x2B data:string +lbl_1_data_43E = .data:0x0000043E; // type:object size:0x29 data:string +lbl_1_data_467 = .data:0x00000467; // type:object size:0x2B data:string +lbl_1_data_492 = .data:0x00000492; // type:object size:0x20 data:string +lbl_1_data_4B2 = .data:0x000004B2; // type:object size:0x22 jumptable_1_data_4D4 = .data:0x000004D4; // type:object size:0x54 scope:local -lbl_1_data_528 = .data:0x00000528; // type:object size:0x1B scope:local data:string -lbl_1_data_543 = .data:0x00000543; // type:object size:0x1A scope:local data:string -lbl_1_data_55D = .data:0x0000055D; // type:object size:0xF scope:local data:string -lbl_1_data_56C = .data:0x0000056C; // type:object size:0x10 scope:local data:string +lbl_1_data_528 = .data:0x00000528; // type:object size:0x1B data:string +lbl_1_data_543 = .data:0x00000543; // type:object size:0x1A data:string +lbl_1_data_55D = .data:0x0000055D; // type:object size:0xF data:string +lbl_1_data_56C = .data:0x0000056C; // type:object size:0x10 data:string lbl_1_data_57C = .data:0x0000057C; // type:object size:0x40 lbl_1_data_5BC = .data:0x000005BC; // type:object size:0x20 lbl_1_data_5DC = .data:0x000005DC; // type:object size:0x64 data:float lbl_1_data_640 = .data:0x00000640; // type:object size:0x50 data:4byte lbl_1_data_690 = .data:0x00000690; // type:object size:0x40 data:4byte -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0xC data:4byte +lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x14 data:4byte lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x10 data:4byte lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x40 data:4byte lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x44 data:float diff --git a/config/GMPE01_00/rels/mgmodedll/symbols.txt b/config/GMPE01_00/rels/mgmodedll/symbols.txt index a969c989..98eaa055 100644 --- a/config/GMPE01_00/rels/mgmodedll/symbols.txt +++ b/config/GMPE01_00/rels/mgmodedll/symbols.txt @@ -381,7 +381,7 @@ lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 scope:local data: lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 scope:local data:float lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0xC scope:local data:float +lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0xC scope:local data:4byte lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 scope:local data:float lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 scope:local data:float @@ -431,9 +431,9 @@ lbl_1_rodata_6A0 = .rodata:0x000006A0; // type:object size:0x8 scope:local data: lbl_1_rodata_6A8 = .rodata:0x000006A8; // type:object size:0x4 scope:local data:float lbl_1_rodata_6AC = .rodata:0x000006AC; // type:object size:0x4 scope:local data:float lbl_1_rodata_6B0 = .rodata:0x000006B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6B4 = .rodata:0x000006B4; // type:object size:0xC scope:local data:float -lbl_1_rodata_6C0 = .rodata:0x000006C0; // type:object size:0xC scope:local data:float -lbl_1_rodata_6CC = .rodata:0x000006CC; // type:object size:0xC scope:local data:float +lbl_1_rodata_6B4 = .rodata:0x000006B4; // type:object size:0xC scope:local data:4byte +lbl_1_rodata_6C0 = .rodata:0x000006C0; // type:object size:0xC scope:local data:4byte +lbl_1_rodata_6CC = .rodata:0x000006CC; // type:object size:0xC scope:local data:4byte lbl_1_rodata_6D8 = .rodata:0x000006D8; // type:object size:0x4 scope:local data:float lbl_1_rodata_6DC = .rodata:0x000006DC; // type:object size:0x4 scope:local data:float lbl_1_rodata_6E0 = .rodata:0x000006E0; // type:object size:0x4 scope:local data:float @@ -446,7 +446,7 @@ lbl_1_rodata_6F8 = .rodata:0x000006F8; // type:object size:0x4 scope:local data: lbl_1_rodata_6FC = .rodata:0x000006FC; // type:object size:0x4 scope:local data:float lbl_1_rodata_700 = .rodata:0x00000700; // type:object size:0x4 scope:local data:float lbl_1_rodata_708 = .rodata:0x00000708; // type:object size:0x8 scope:local data:double -lbl_1_rodata_710 = .rodata:0x00000710; // type:object size:0x4 scope:local data:float +lbl_1_rodata_710 = .rodata:0x00000710; // type:object size:0x8 scope:local data:float lbl_1_rodata_718 = .rodata:0x00000718; // type:object size:0x4 scope:local data:float lbl_1_rodata_720 = .rodata:0x00000720; // type:object size:0x8 scope:local data:double lbl_1_rodata_728 = .rodata:0x00000728; // type:object size:0x4 scope:local data:float @@ -475,39 +475,39 @@ lbl_1_data_90 = .data:0x00000090; // type:object size:0xA scope:local data:strin lbl_1_data_9A = .data:0x0000009A; // type:object size:0x6 scope:local lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x2 scope:local data:2byte lbl_1_data_A2 = .data:0x000000A2; // type:object size:0xE -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x10 data:float +lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x10 lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x10 -messInsertBase$836 = .data:0x000000D0; // type:object size:0x6 scope:local -customMinNum$837 = .data:0x000000D6; // type:object size:0x8 scope:local -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x20 data:float +lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x6 +lbl_1_data_D6 = .data:0x000000D6; // type:object size:0xA +lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x20 lbl_1_data_100 = .data:0x00000100; // type:object size:0x10 -lbl_1_data_110 = .data:0x00000110; // type:object size:0xC -mgRecordIdxTbl = .data:0x00000120; // type:object size:0x28 +lbl_1_data_110 = .data:0x00000110; // type:object size:0x10 +lbl_1_data_120 = .data:0x00000120; // type:object size:0x28 lbl_1_data_148 = .data:0x00000148; // type:object size:0x2 data:2byte lbl_1_data_14A = .data:0x0000014A; // type:object size:0x8 -lbl_1_data_152 = .data:0x00000152; // type:object size:0x10 data:4byte +lbl_1_data_152 = .data:0x00000152; // type:object size:0x16 lbl_1_data_168 = .data:0x00000168; // type:object size:0x2 data:2byte -lbl_1_data_16A = .data:0x0000016A; // type:object size:0x30 +lbl_1_data_16A = .data:0x0000016A; // type:object size:0x32 lbl_1_data_19C = .data:0x0000019C; // type:object size:0x10 lbl_1_data_1AC = .data:0x000001AC; // type:object size:0x10 -lbl_1_data_1BC = .data:0x000001BC; // type:object size:0xA scope:local data:string -lbl_1_data_1C6 = .data:0x000001C6; // type:object size:0xE scope:local data:string -lbl_1_data_1D4 = .data:0x000001D4; // type:object size:0xB scope:local data:string -lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x24 scope:local data:string -lbl_1_data_208 = .data:0x00000208; // type:object size:0x26 scope:local data:string -lbl_1_data_22E = .data:0x0000022E; // type:object size:0x27 scope:local data:string -lbl_1_data_255 = .data:0x00000255; // type:object size:0x1C scope:local data:string -lbl_1_data_271 = .data:0x00000271; // type:object size:0x1B scope:local data:string -lbl_1_data_28C = .data:0x0000028C; // type:object size:0x1C scope:local data:string -lbl_1_data_2A8 = .data:0x000002A8; // type:object size:0x1D scope:local data:string -lbl_1_data_2C5 = .data:0x000002C5; // type:object size:0xC scope:local data:string -lbl_1_data_2D1 = .data:0x000002D1; // type:object size:0x1A scope:local data:string -lbl_1_data_2EB = .data:0x000002EB; // type:object size:0x1A scope:local data:string -lbl_1_data_305 = .data:0x00000305; // type:object size:0x26 scope:local data:string +lbl_1_data_1BC = .data:0x000001BC; // type:object size:0xA data:string +lbl_1_data_1C6 = .data:0x000001C6; // type:object size:0xE data:string +lbl_1_data_1D4 = .data:0x000001D4; // type:object size:0xB data:string +lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x24 data:string +lbl_1_data_208 = .data:0x00000208; // type:object size:0x26 data:string +lbl_1_data_22E = .data:0x0000022E; // type:object size:0x27 data:string +lbl_1_data_255 = .data:0x00000255; // type:object size:0x1C data:string +lbl_1_data_271 = .data:0x00000271; // type:object size:0x1B data:string +lbl_1_data_28C = .data:0x0000028C; // type:object size:0x1C data:string +lbl_1_data_2A8 = .data:0x000002A8; // type:object size:0x1D data:string +lbl_1_data_2C5 = .data:0x000002C5; // type:object size:0xC data:string +lbl_1_data_2D1 = .data:0x000002D1; // type:object size:0x1A data:string +lbl_1_data_2EB = .data:0x000002EB; // type:object size:0x1A data:string +lbl_1_data_305 = .data:0x00000305; // type:object size:0x27 lbl_1_data_32C = .data:0x0000032C; // type:object size:0x40 data:4byte lbl_1_data_36C = .data:0x0000036C; // type:object size:0x60 lbl_1_data_3CC = .data:0x000003CC; // type:object size:0x18 data:4byte -lbl_1_data_3E4 = .data:0x000003E4; // type:object size:0x64 data:float +lbl_1_data_3E4 = .data:0x000003E4; // type:object size:0x64 lbl_1_data_448 = .data:0x00000448; // type:object size:0x40 lbl_1_data_488 = .data:0x00000488; // type:object size:0x4 data:4byte lbl_1_data_490 = .data:0x00000490; // type:object size:0x2D8 @@ -516,7 +516,7 @@ lbl_1_data_9C0 = .data:0x000009C0; // type:object size:0x20 lbl_1_data_9E0 = .data:0x000009E0; // type:object size:0x20 lbl_1_data_A00 = .data:0x00000A00; // type:object size:0x2 data:2byte lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -mgModeEvtNo = .bss:0x00000004; // type:object size:0x2 data:2byte +lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x264 data:4byte lbl_1_bss_26C = .bss:0x0000026C; // type:object size:0x8 data:float lbl_1_bss_274 = .bss:0x00000274; // type:object size:0x18 data:4byte @@ -531,8 +531,8 @@ lbl_1_bss_2CC = .bss:0x000002CC; // type:object size:0x2 data:2byte lbl_1_bss_2CE = .bss:0x000002CE; // type:object size:0x2 data:2byte lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x4 data:4byte lbl_1_bss_2D4 = .bss:0x000002D4; // type:object size:0x4 data:4byte -objman = .bss:0x000002D8; // type:object size:0x4 data:4byte -outViewObj = .bss:0x000002DC; // type:object size:0x4 data:4byte +lbl_1_bss_2D8 = .bss:0x000002D8; // type:object size:0x4 data:4byte +lbl_1_bss_2DC = .bss:0x000002DC; // type:object size:0x4 data:4byte lbl_1_bss_2E2 = .bss:0x000002E2; // type:object size:0x2 data:2byte lbl_1_bss_2E4 = .bss:0x000002E4; // type:object size:0x2 data:2byte lbl_1_bss_2E6 = .bss:0x000002E6; // type:object size:0x2 data:2byte @@ -548,22 +548,22 @@ lbl_1_bss_318 = .bss:0x00000318; // type:object size:0x28 data:2byte lbl_1_bss_340 = .bss:0x00000340; // type:object size:0x8 lbl_1_bss_348 = .bss:0x00000348; // type:object size:0x2 data:2byte lbl_1_bss_34A = .bss:0x0000034A; // type:object size:0x8 data:2byte -lbl_1_bss_352 = .bss:0x00000352; // type:object size:0x1C -lbl_1_bss_370 = .bss:0x00000370; // type:object size:0xC scope:local -lbl_1_bss_37C = .bss:0x0000037C; // type:object size:0xC scope:local +lbl_1_bss_352 = .bss:0x00000352; // type:object size:0x1E +lbl_1_bss_370 = .bss:0x00000370; // type:object size:0xC +lbl_1_bss_37C = .bss:0x0000037C; // type:object size:0xC lbl_1_bss_388 = .bss:0x00000388; // type:object size:0x2 data:2byte lbl_1_bss_38A = .bss:0x0000038A; // type:object size:0x2 data:2byte lbl_1_bss_38C = .bss:0x0000038C; // type:object size:0x8 lbl_1_bss_394 = .bss:0x00000394; // type:object size:0x2 data:2byte -lbl_1_bss_396 = .bss:0x00000396; // type:object size:0x8 +lbl_1_bss_396 = .bss:0x00000396; // type:object size:0xA lbl_1_bss_3A0 = .bss:0x000003A0; // type:object size:0x4 data:4byte lbl_1_bss_3A4 = .bss:0x000003A4; // type:object size:0x2 data:2byte lbl_1_bss_3A8 = .bss:0x000003A8; // type:object size:0x2 data:2byte lbl_1_bss_3AA = .bss:0x000003AA; // type:object size:0x2 data:2byte -lbl_1_bss_3AC = .bss:0x000003AC; // type:object size:0x4 data:2byte -lbl_1_bss_3B0 = .bss:0x000003B0; // type:object size:0x4 data:2byte -lbl_1_bss_3B4 = .bss:0x000003B4; // type:object size:0x4 data:2byte -lbl_1_bss_3B8 = .bss:0x000003B8; // type:object size:0x2 data:2byte +lbl_1_bss_3AC = .bss:0x000003AC; // type:object size:0x2 data:2byte +lbl_1_bss_3B0 = .bss:0x000003B0; // type:object size:0x2 data:2byte +lbl_1_bss_3B4 = .bss:0x000003B4; // type:object size:0x2 data:2byte +lbl_1_bss_3B8 = .bss:0x000003B8; // type:object size:0x8 data:2byte lbl_1_bss_3C0 = .bss:0x000003C0; // type:object size:0x4 data:4byte lbl_1_bss_3C4 = .bss:0x000003C4; // type:object size:0x4 data:4byte lbl_1_bss_3C8 = .bss:0x000003C8; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/modeseldll/symbols.txt b/config/GMPE01_00/rels/modeseldll/symbols.txt index 1dd29df7..53057676 100644 --- a/config/GMPE01_00/rels/modeseldll/symbols.txt +++ b/config/GMPE01_00/rels/modeseldll/symbols.txt @@ -73,48 +73,48 @@ lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:d lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float +lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float @@ -188,9 +188,9 @@ lbl_1_data_80 = .data:0x00000080; // type:object size:0xC lbl_1_data_8C = .data:0x0000008C; // type:object size:0x18 lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x18 lbl_1_data_BC = .data:0x000000BC; // type:object size:0x18 -lbl_1_data_D4 = .data:0x000000D4; // type:object size:0x14 scope:local data:string -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x9 scope:local data:string -lbl_1_data_F1 = .data:0x000000F1; // type:object size:0xF scope:local +lbl_1_data_D4 = .data:0x000000D4; // type:object size:0x14 data:string +lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x9 data:string +lbl_1_data_F1 = .data:0x000000F1; // type:object size:0xF lbl_1_data_100 = .data:0x00000100; // type:object size:0x2 data:2byte lbl_1_data_104 = .data:0x00000104; // type:object size:0x118 data:float lbl_1_data_21C = .data:0x0000021C; // type:object size:0x48 data:4byte diff --git a/config/GMPE01_00/rels/mpexDll/splits.txt b/config/GMPE01_00/rels/mpexDll/splits.txt index c53e66f4..965cdf04 100644 --- a/config/GMPE01_00/rels/mpexDll/splits.txt +++ b/config/GMPE01_00/rels/mpexDll/splits.txt @@ -6,11 +6,8 @@ Sections: .data type:data align:8 .bss type:bss align:8 -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - REL/mpexDll/main.c: - .text start:0x000000A0 end:0x00003044 + .text start:0x00000000 end:0x00003044 .rodata start:0x00000000 end:0x000000A0 .data start:0x00000000 end:0x00000240 .bss start:0x00000000 end:0x000000A8 diff --git a/config/GMPE01_00/rels/mpexDll/symbols.txt b/config/GMPE01_00/rels/mpexDll/symbols.txt index 994e2382..85a09fc4 100644 --- a/config/GMPE01_00/rels/mpexDll/symbols.txt +++ b/config/GMPE01_00/rels/mpexDll/symbols.txt @@ -3,7 +3,7 @@ _epilog = .text:0x00000054; // type:function size:0x4C scope:global fn_1_A0 = .text:0x000000A0; // type:function size:0xE8 fn_1_188 = .text:0x00000188; // type:function size:0x38 fn_1_1C0 = .text:0x000001C0; // type:function size:0x70 -ObjectSetup = .text:0x00000230; // type:function size:0x68 +fn_1_230 = .text:0x00000230; // type:function size:0x68 fn_1_298 = .text:0x00000298; // type:function size:0xDC fn_1_374 = .text:0x00000374; // type:function size:0xC4 fn_1_438 = .text:0x00000438; // type:function size:0x3E4 @@ -213,220 +213,218 @@ fn_1_1CB80 = .text:0x0001CB80; // type:function size:0x4AC fn_1_1D02C = .text:0x0001D02C; // type:function size:0x16C _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -__fakeHalf = .rodata:0x00000000; // type:object size:0x8 scope:local data:double -__fakeThree = .rodata:0x00000008; // type:object size:0x8 scope:local data:double -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x78 scope:local -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 scope:local data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0xC scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0xC scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0xC scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0xC scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0xC scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0xC scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0xC scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:4byte -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0xB4 scope:local -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x6C scope:local -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x2C scope:local data:4byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0xB0 scope:local -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 scope:local data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 scope:local data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 scope:local data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 scope:local data:float -lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 scope:local data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x8 scope:local data:float -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 scope:local data:float -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x8 scope:local data:double -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 scope:local data:float -lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 scope:local data:float -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 scope:local data:float -lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 scope:local data:float -lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 scope:local data:float -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x4 scope:local data:float -lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 scope:local data:float -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 scope:local data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 scope:local data:float -lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 scope:local data:float -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 scope:local data:float -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 scope:local data:float -lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 scope:local data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 scope:local data:float -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x38 scope:local data:4byte -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 scope:local data:double -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 scope:local data:float -lbl_1_rodata_61C = .rodata:0x0000061C; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x4F scope:local data:string -lbl_1_data_4F = .data:0x0000004F; // type:object size:0x50 scope:local data:string -lbl_1_data_9F = .data:0x0000009F; // type:object size:0x50 scope:local data:string -lbl_1_data_EF = .data:0x000000EF; // type:object size:0x4E scope:local data:string -lbl_1_data_13D = .data:0x0000013D; // type:object size:0x50 scope:local data:string -lbl_1_data_18D = .data:0x0000018D; // type:object size:0x4F scope:local data:string -lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x22 scope:local data:string -lbl_1_data_1FE = .data:0x000001FE; // type:object size:0x1A scope:local data:string -lbl_1_data_218 = .data:0x00000218; // type:object size:0x1A scope:local data:string -lbl_1_data_232 = .data:0x00000232; // type:object size:0xE scope:local data:string -lbl_1_data_240 = .data:0x00000240; // type:object size:0x54 data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0xC data:4byte +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0xC data:4byte +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0xC data:4byte +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x78 +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0xC data:4byte +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float +lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0xC data:4byte +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0xC data:4byte +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float +lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0xC data:4byte +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0xC data:4byte +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0xC data:4byte +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0xC data:4byte +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0xC data:4byte +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0xC data:4byte +lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float +lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float +lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float +lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float +lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float +lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float +lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float +lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float +lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:4byte +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0xB4 +lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x6C +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x2C data:4byte +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0xB0 +lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 data:float +lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float +lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 data:float +lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 data:float +lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 data:float +lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float +lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float +lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float +lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 data:float +lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 data:float +lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 data:float +lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float +lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 data:float +lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float +lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float +lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float +lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float +lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float +lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float +lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float +lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float +lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float +lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 data:float +lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0xC data:4byte +lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float +lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float +lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float +lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float +lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float +lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float +lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 data:float +lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float +lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float +lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float +lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float +lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float +lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 data:float +lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x18 data:4byte +lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float +lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0xC data:4byte +lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x8 data:float +lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 data:float +lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x8 data:double +lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 data:float +lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 data:float +lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 data:float +lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 data:float +lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 data:float +lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 data:float +lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 data:float +lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 data:float +lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x4 data:float +lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 data:float +lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 data:float +lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 data:float +lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 data:float +lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 data:float +lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 data:float +lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 data:float +lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 data:float +lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 data:float +lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 data:float +lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 data:float +lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 data:float +lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 data:float +lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 data:float +lbl_1_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x4 data:float +lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x8 data:double +lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x8 data:double +lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 data:float +lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x8 data:double +lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 data:float +lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 data:float +lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float +lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 data:float +lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x38 data:4byte +lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 data:double +lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 data:float +lbl_1_rodata_61C = .rodata:0x0000061C; // type:object size:0x4 data:float +lbl_1_data_0 = .data:0x00000000; // type:object size:0x4F data:string +lbl_1_data_4F = .data:0x0000004F; // type:object size:0x50 data:string +lbl_1_data_9F = .data:0x0000009F; // type:object size:0x50 data:string +lbl_1_data_EF = .data:0x000000EF; // type:object size:0x4E data:string +lbl_1_data_13D = .data:0x0000013D; // type:object size:0x50 data:string +lbl_1_data_18D = .data:0x0000018D; // type:object size:0x4F data:string +lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x22 data:string +lbl_1_data_1FE = .data:0x000001FE; // type:object size:0x1A data:string +lbl_1_data_218 = .data:0x00000218; // type:object size:0x1A data:string +lbl_1_data_232 = .data:0x00000232; // type:object size:0xE data:string +lbl_1_data_240 = .data:0x00000240; // type:object size:0x54 lbl_1_data_294 = .data:0x00000294; // type:object size:0x4 data:4byte lbl_1_data_298 = .data:0x00000298; // type:object size:0x4 data:4byte -lbl_1_data_29C = .data:0x0000029C; // type:object size:0x15 scope:local data:string +lbl_1_data_29C = .data:0x0000029C; // type:object size:0x18 lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x10 data:4byte lbl_1_data_2C4 = .data:0x000002C4; // type:object size:0x4 data:4byte -lbl_1_data_2C8 = .data:0x000002C8; // type:object size:0x3 scope:local data:string -lbl_1_data_2CB = .data:0x000002CB; // type:object size:0x5 scope:local data:string -lbl_1_data_2D0 = .data:0x000002D0; // type:object size:0x19 scope:local data:string -lbl_1_data_2E9 = .data:0x000002E9; // type:object size:0x12 scope:local data:string -lbl_1_data_2FB = .data:0x000002FB; // type:object size:0x28 scope:local data:string +lbl_1_data_2C8 = .data:0x000002C8; // type:object size:0x3 data:string +lbl_1_data_2CB = .data:0x000002CB; // type:object size:0x5 data:string +lbl_1_data_2D0 = .data:0x000002D0; // type:object size:0x19 data:string +lbl_1_data_2E9 = .data:0x000002E9; // type:object size:0x12 data:string +lbl_1_data_2FB = .data:0x000002FB; // type:object size:0x29 lbl_1_data_324 = .data:0x00000324; // type:object size:0x4 data:4byte lbl_1_data_328 = .data:0x00000328; // type:object size:0x4 data:4byte lbl_1_data_32C = .data:0x0000032C; // type:object size:0xC data:4byte -lbl_1_data_338 = .data:0x00000338; // type:object size:0x2B scope:local data:string -lbl_1_data_363 = .data:0x00000363; // type:object size:0x28 scope:local data:string -lbl_1_data_38B = .data:0x0000038B; // type:object size:0x5 scope:local data:string -lbl_1_data_390 = .data:0x00000390; // type:object size:0x4 scope:local data:string -lbl_1_data_394 = .data:0x00000394; // type:object size:0x3 scope:local data:string +lbl_1_data_338 = .data:0x00000338; // type:object size:0x2B data:string +lbl_1_data_363 = .data:0x00000363; // type:object size:0x28 data:string +lbl_1_data_38B = .data:0x0000038B; // type:object size:0x5 data:string +lbl_1_data_390 = .data:0x00000390; // type:object size:0x4 data:string +lbl_1_data_394 = .data:0x00000394; // type:object size:0x4 jumptable_1_data_398 = .data:0x00000398; // type:object size:0x2C scope:local -lbl_1_data_3C4 = .data:0x000003C4; // type:object size:0x3C scope:local data:string -lbl_1_data_400 = .data:0x00000400; // type:object size:0x16 scope:local data:string -lbl_1_data_416 = .data:0x00000416; // type:object size:0x1A scope:local data:string -lbl_1_data_430 = .data:0x00000430; // type:object size:0x1A scope:local data:string -lbl_1_data_44A = .data:0x0000044A; // type:object size:0x1A scope:local data:string -lbl_1_data_464 = .data:0x00000464; // type:object size:0x17 scope:local data:string -lbl_1_data_47B = .data:0x0000047B; // type:object size:0x16 scope:local data:string -lbl_1_data_491 = .data:0x00000491; // type:object size:0x16 scope:local data:string -lbl_1_data_4A7 = .data:0x000004A7; // type:object size:0x19 scope:local data:string -lbl_1_data_4C0 = .data:0x000004C0; // type:object size:0x16 scope:local data:string -lbl_1_data_4D6 = .data:0x000004D6; // type:object size:0x3B scope:local data:string -lbl_1_data_518 = .data:0x00000518; // type:object size:0x3C scope:local data:string -lbl_1_data_554 = .data:0x00000554; // type:object size:0x19 scope:local data:string -lbl_1_data_56D = .data:0x0000056D; // type:object size:0x1A scope:local data:string -lbl_1_data_587 = .data:0x00000587; // type:object size:0x3A scope:local data:string +lbl_1_data_3C4 = .data:0x000003C4; // type:object size:0x3C data:string +lbl_1_data_400 = .data:0x00000400; // type:object size:0x16 data:string +lbl_1_data_416 = .data:0x00000416; // type:object size:0x1A data:string +lbl_1_data_430 = .data:0x00000430; // type:object size:0x1A data:string +lbl_1_data_44A = .data:0x0000044A; // type:object size:0x1A data:string +lbl_1_data_464 = .data:0x00000464; // type:object size:0x17 data:string +lbl_1_data_47B = .data:0x0000047B; // type:object size:0x16 data:string +lbl_1_data_491 = .data:0x00000491; // type:object size:0x16 data:string +lbl_1_data_4A7 = .data:0x000004A7; // type:object size:0x19 data:string +lbl_1_data_4C0 = .data:0x000004C0; // type:object size:0x16 data:string +lbl_1_data_4D6 = .data:0x000004D6; // type:object size:0x42 +lbl_1_data_518 = .data:0x00000518; // type:object size:0x3C data:string +lbl_1_data_554 = .data:0x00000554; // type:object size:0x19 data:string +lbl_1_data_56D = .data:0x0000056D; // type:object size:0x1A data:string +lbl_1_data_587 = .data:0x00000587; // type:object size:0x3D lbl_1_data_5C4 = .data:0x000005C4; // type:object size:0x20 data:4byte lbl_1_data_5E4 = .data:0x000005E4; // type:object size:0x40 data:4byte lbl_1_data_624 = .data:0x00000624; // type:object size:0x70 @@ -437,9 +435,8 @@ lbl_1_data_74C = .data:0x0000074C; // type:object size:0x10 lbl_1_data_75C = .data:0x0000075C; // type:object size:0x20 lbl_1_data_77C = .data:0x0000077C; // type:object size:0x4 data:4byte lbl_1_data_780 = .data:0x00000780; // type:object size:0x8 data:4byte -fontDataTbl = .data:0x00000788; // type:object size:0x318 scope:local -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x60 data:4byte +lbl_1_data_788 = .data:0x00000788; // type:object size:0x318 +lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x64 data:4byte lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x44 data:float lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/mstory2Dll/splits.txt b/config/GMPE01_00/rels/mstory2Dll/splits.txt index aa6bd0d5..43465253 100644 --- a/config/GMPE01_00/rels/mstory2Dll/splits.txt +++ b/config/GMPE01_00/rels/mstory2Dll/splits.txt @@ -27,24 +27,24 @@ REL/mstory2Dll/board_clear.c: REL/mstory2Dll/board_miss.c: .text start:0x0000E570 end:0x000123C8 .rodata start:0x00000248 end:0x00000310 - .data start:0x00000698 end:0x00000850 + .data start:0x00000698 end:0x00000D50 .bss start:0x000004E0 end:0x00000790 REL/mstory2Dll/mg_clear.c: .text start:0x000123C8 end:0x00016060 .rodata start:0x00000310 end:0x000003D0 - .data start:0x00000850 end:0x00000DB8 + .data start:0x00000D50 end:0x00000DB8 .bss start:0x00000790 end:0x00000968 REL/mstory2Dll/mg_miss.c: .text start:0x00016060 end:0x000186D0 - .rodata start:0x000003D0 end:0x00000438 + .rodata start:0x000003D0 end:0x00000440 .data start:0x00000DB8 end:0x00000EF8 .bss start:0x00000968 end:0x00000B38 REL/mstory2Dll/ending.c: .text start:0x000186D0 end:0x0001B560 - .rodata start:0x00000438 end:0x000004B8 + .rodata start:0x00000440 end:0x000004B8 .data start:0x00000EF8 end:0x00001113 .bss start:0x00000B38 end:0x00000D10 diff --git a/config/GMPE01_00/rels/mstory2Dll/symbols.txt b/config/GMPE01_00/rels/mstory2Dll/symbols.txt index f0c05621..de1259ef 100644 --- a/config/GMPE01_00/rels/mstory2Dll/symbols.txt +++ b/config/GMPE01_00/rels/mstory2Dll/symbols.txt @@ -5,7 +5,7 @@ _prolog = .text:0x00000344; // type:function size:0x54 scope:global _epilog = .text:0x00000398; // type:function size:0x4C scope:global fn_1_3E4 = .text:0x000003E4; // type:function size:0x110 fn_1_4F4 = .text:0x000004F4; // type:function size:0x1B8 -ObjectSetup = .text:0x000006AC; // type:function size:0x1B8 +fn_1_6AC = .text:0x000006AC; // type:function size:0x1B8 fn_1_864 = .text:0x00000864; // type:function size:0x28 fn_1_88C = .text:0x0000088C; // type:function size:0x20 fn_1_8AC = .text:0x000008AC; // type:function size:0xD8 @@ -265,398 +265,397 @@ fn_1_1B870 = .text:0x0001B870; // type:function size:0x9C fn_1_1B90C = .text:0x0001B90C; // type:function size:0x50 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 scope:local data:double -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 scope:local data:double -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 scope:local data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 scope:local data:float -lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 scope:local data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float +lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0xC data:4byte +lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0xC data:4byte +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0xC data:4byte +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x1 data:byte +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float +lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float +lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0xC data:4byte +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float +lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x1 data:byte +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float +lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0xC data:4byte +lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float +lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0xC data:4byte +lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float +lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float +lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float +lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float +lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x1C data:4byte +lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x1 data:byte +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float +lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float +lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float +lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 data:double +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float +lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float +lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float +lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float +lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0xC data:4byte +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float +lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0xC data:4byte +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float +lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0xC data:4byte +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float +lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float +lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float +lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float +lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:float +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x1 data:byte +lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float +lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float +lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float +lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float +lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float +lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float +lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float +lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float +lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float +lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float +lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:float +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float +lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float +lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0xC data:4byte +lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float +lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0xC data:4byte +lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0xC data:4byte +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float +lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float +lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 data:float +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x1 data:byte +lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 data:float +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float +lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 data:float +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float +lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float +lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x8 data:double +lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float +lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 data:float +lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 data:float +lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float +lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 data:float +lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 data:float +lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float +lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 data:float +lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float +lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float +lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float +lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float +lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float +lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float +lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float +lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float +lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float +lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 data:double +lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x1 data:byte +lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float +lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float +lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 data:float +lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float +lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float +lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 data:float +lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 data:float +lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 data:float +lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 data:float +lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float +lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 data:float +lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 data:float +lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 data:float +lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0xC data:4byte +lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 data:float +lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 data:float +lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 data:float +lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float +lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 data:float +lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float +lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float +lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float +lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float +lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float +lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float +lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float +lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float +lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float +lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 data:4byte -lbl_1_data_70 = .data:0x00000070; // type:object size:0x29 scope:local data:string -lbl_1_data_99 = .data:0x00000099; // type:object size:0x26 scope:local data:string -lbl_1_data_BF = .data:0x000000BF; // type:object size:0x25 scope:local data:string -lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x29 scope:local data:string -lbl_1_data_10D = .data:0x0000010D; // type:object size:0x28 scope:local data:string -lbl_1_data_135 = .data:0x00000135; // type:object size:0xF scope:local +lbl_1_data_70 = .data:0x00000070; // type:object size:0x29 data:string +lbl_1_data_99 = .data:0x00000099; // type:object size:0x26 data:string +lbl_1_data_BF = .data:0x000000BF; // type:object size:0x25 data:string +lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x29 data:string +lbl_1_data_10D = .data:0x0000010D; // type:object size:0x28 data:string +lbl_1_data_135 = .data:0x00000135; // type:object size:0xF lbl_1_data_144 = .data:0x00000144; // type:object size:0x18 -lbl_1_data_15C = .data:0x0000015C; // type:object size:0x28 scope:local data:string -lbl_1_data_184 = .data:0x00000184; // type:object size:0x3 scope:local data:string -lbl_1_data_187 = .data:0x00000187; // type:object size:0x15 scope:local data:string +lbl_1_data_15C = .data:0x0000015C; // type:object size:0x28 data:string +lbl_1_data_184 = .data:0x00000184; // type:object size:0x3 data:string +lbl_1_data_187 = .data:0x00000187; // type:object size:0x15 data:string jumptable_1_data_19C = .data:0x0000019C; // type:object size:0x54 scope:local jumptable_1_data_1F0 = .data:0x000001F0; // type:object size:0x54 scope:local -lbl_1_data_244 = .data:0x00000244; // type:object size:0x1A scope:local data:string -lbl_1_data_25E = .data:0x0000025E; // type:object size:0x1A scope:local data:string -lbl_1_data_278 = .data:0x00000278; // type:object size:0xE scope:local data:string -lbl_1_data_286 = .data:0x00000286; // type:object size:0x10 scope:local data:string -lbl_1_data_296 = .data:0x00000296; // type:object size:0x10 scope:local data:string -lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x10 scope:local data:string -lbl_1_data_2B6 = .data:0x000002B6; // type:object size:0x10 scope:local data:string -lbl_1_data_2C6 = .data:0x000002C6; // type:object size:0x10 scope:local data:string -lbl_1_data_2D6 = .data:0x000002D6; // type:object size:0x10 scope:local data:string -lbl_1_data_2E6 = .data:0x000002E6; // type:object size:0x10 scope:local data:string -lbl_1_data_2F6 = .data:0x000002F6; // type:object size:0x12 scope:local +lbl_1_data_244 = .data:0x00000244; // type:object size:0x1A data:string +lbl_1_data_25E = .data:0x0000025E; // type:object size:0x1A data:string +lbl_1_data_278 = .data:0x00000278; // type:object size:0xE data:string +lbl_1_data_286 = .data:0x00000286; // type:object size:0x10 data:string +lbl_1_data_296 = .data:0x00000296; // type:object size:0x10 data:string +lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x10 data:string +lbl_1_data_2B6 = .data:0x000002B6; // type:object size:0x10 data:string +lbl_1_data_2C6 = .data:0x000002C6; // type:object size:0x10 data:string +lbl_1_data_2D6 = .data:0x000002D6; // type:object size:0x10 data:string +lbl_1_data_2E6 = .data:0x000002E6; // type:object size:0x10 data:string +lbl_1_data_2F6 = .data:0x000002F6; // type:object size:0x12 lbl_1_data_308 = .data:0x00000308; // type:object size:0x20 -lbl_1_data_328 = .data:0x00000328; // type:object size:0x40 -lbl_1_data_368 = .data:0x00000368; // type:object size:0x20 data:float -lbl_1_data_388 = .data:0x00000388; // type:object size:0x11 scope:local data:string -lbl_1_data_399 = .data:0x00000399; // type:object size:0x2 scope:local data:string +lbl_1_data_328 = .data:0x00000328; // type:object size:0x60 +lbl_1_data_388 = .data:0x00000388; // type:object size:0x11 data:string +lbl_1_data_399 = .data:0x00000399; // type:object size:0x2 data:string lbl_1_data_3A0 = .data:0x000003A0; // type:object size:0x2C lbl_1_data_3CC = .data:0x000003CC; // type:object size:0x10 lbl_1_data_3DC = .data:0x000003DC; // type:object size:0x4 data:4byte lbl_1_data_3E0 = .data:0x000003E0; // type:object size:0x8 data:4byte -lbl_1_data_3E8 = .data:0x000003E8; // type:object size:0x14 scope:local data:string -lbl_1_data_3FC = .data:0x000003FC; // type:object size:0x15 scope:local data:string -lbl_1_data_411 = .data:0x00000411; // type:object size:0x14 scope:local data:string -lbl_1_data_425 = .data:0x00000425; // type:object size:0x15 scope:local data:string -lbl_1_data_43A = .data:0x0000043A; // type:object size:0x14 scope:local data:string -lbl_1_data_44E = .data:0x0000044E; // type:object size:0x15 scope:local data:string -lbl_1_data_463 = .data:0x00000463; // type:object size:0x14 scope:local data:string -lbl_1_data_477 = .data:0x00000477; // type:object size:0x15 scope:local data:string -lbl_1_data_48C = .data:0x0000048C; // type:object size:0x14 scope:local data:string -lbl_1_data_4A0 = .data:0x000004A0; // type:object size:0x15 scope:local data:string -lbl_1_data_4B5 = .data:0x000004B5; // type:object size:0x14 scope:local data:string -lbl_1_data_4C9 = .data:0x000004C9; // type:object size:0xA scope:local data:string -lbl_1_data_4D3 = .data:0x000004D3; // type:object size:0x1C scope:local data:string -lbl_1_data_4EF = .data:0x000004EF; // type:object size:0x1D scope:local data:string -lbl_1_data_50C = .data:0x0000050C; // type:object size:0xF scope:local data:string -lbl_1_data_520 = .data:0x00000520; // type:object size:0x16 scope:local data:string -lbl_1_data_536 = .data:0x00000536; // type:object size:0x15 scope:local data:string -lbl_1_data_54B = .data:0x0000054B; // type:object size:0x16 scope:local data:string -lbl_1_data_561 = .data:0x00000561; // type:object size:0x15 scope:local data:string -lbl_1_data_576 = .data:0x00000576; // type:object size:0x16 scope:local data:string -lbl_1_data_58C = .data:0x0000058C; // type:object size:0x15 scope:local data:string -lbl_1_data_5A1 = .data:0x000005A1; // type:object size:0x16 scope:local data:string -lbl_1_data_5B7 = .data:0x000005B7; // type:object size:0x15 scope:local data:string -lbl_1_data_5CC = .data:0x000005CC; // type:object size:0x17 scope:local data:string -lbl_1_data_5E3 = .data:0x000005E3; // type:object size:0x16 scope:local data:string -lbl_1_data_5F9 = .data:0x000005F9; // type:object size:0xA scope:local data:string -lbl_1_data_603 = .data:0x00000603; // type:object size:0x1C scope:local data:string -lbl_1_data_61F = .data:0x0000061F; // type:object size:0x1D scope:local data:string -lbl_1_data_63C = .data:0x0000063C; // type:object size:0x10 scope:local data:string -lbl_1_data_64C = .data:0x0000064C; // type:object size:0x1C scope:local data:string -lbl_1_data_668 = .data:0x00000668; // type:object size:0x30 data:float +lbl_1_data_3E8 = .data:0x000003E8; // type:object size:0x14 data:string +lbl_1_data_3FC = .data:0x000003FC; // type:object size:0x15 data:string +lbl_1_data_411 = .data:0x00000411; // type:object size:0x14 data:string +lbl_1_data_425 = .data:0x00000425; // type:object size:0x15 data:string +lbl_1_data_43A = .data:0x0000043A; // type:object size:0x14 data:string +lbl_1_data_44E = .data:0x0000044E; // type:object size:0x15 data:string +lbl_1_data_463 = .data:0x00000463; // type:object size:0x14 data:string +lbl_1_data_477 = .data:0x00000477; // type:object size:0x15 data:string +lbl_1_data_48C = .data:0x0000048C; // type:object size:0x14 data:string +lbl_1_data_4A0 = .data:0x000004A0; // type:object size:0x15 data:string +lbl_1_data_4B5 = .data:0x000004B5; // type:object size:0x14 data:string +lbl_1_data_4C9 = .data:0x000004C9; // type:object size:0xA data:string +lbl_1_data_4D3 = .data:0x000004D3; // type:object size:0x1C data:string +lbl_1_data_4EF = .data:0x000004EF; // type:object size:0x1D data:string +lbl_1_data_50C = .data:0x0000050C; // type:object size:0xF data:string +lbl_1_data_520 = .data:0x00000520; // type:object size:0x16 data:string +lbl_1_data_536 = .data:0x00000536; // type:object size:0x15 data:string +lbl_1_data_54B = .data:0x0000054B; // type:object size:0x16 data:string +lbl_1_data_561 = .data:0x00000561; // type:object size:0x15 data:string +lbl_1_data_576 = .data:0x00000576; // type:object size:0x16 data:string +lbl_1_data_58C = .data:0x0000058C; // type:object size:0x15 data:string +lbl_1_data_5A1 = .data:0x000005A1; // type:object size:0x16 data:string +lbl_1_data_5B7 = .data:0x000005B7; // type:object size:0x15 data:string +lbl_1_data_5CC = .data:0x000005CC; // type:object size:0x17 data:string +lbl_1_data_5E3 = .data:0x000005E3; // type:object size:0x16 data:string +lbl_1_data_5F9 = .data:0x000005F9; // type:object size:0xA data:string +lbl_1_data_603 = .data:0x00000603; // type:object size:0x1C data:string +lbl_1_data_61F = .data:0x0000061F; // type:object size:0x1D data:string +lbl_1_data_63C = .data:0x0000063C; // type:object size:0x10 data:string +lbl_1_data_64C = .data:0x0000064C; // type:object size:0x1C data:string +lbl_1_data_668 = .data:0x00000668; // type:object size:0x30 lbl_1_data_698 = .data:0x00000698; // type:object size:0x1C lbl_1_data_6B4 = .data:0x000006B4; // type:object size:0x20 -lbl_1_data_6D4 = .data:0x000006D4; // type:object size:0x16 scope:local data:string -lbl_1_data_6EA = .data:0x000006EA; // type:object size:0x15 scope:local data:string -lbl_1_data_6FF = .data:0x000006FF; // type:object size:0x16 scope:local data:string -lbl_1_data_715 = .data:0x00000715; // type:object size:0x15 scope:local data:string -lbl_1_data_72A = .data:0x0000072A; // type:object size:0x16 scope:local data:string -lbl_1_data_740 = .data:0x00000740; // type:object size:0x15 scope:local data:string -lbl_1_data_755 = .data:0x00000755; // type:object size:0x16 scope:local data:string -lbl_1_data_76B = .data:0x0000076B; // type:object size:0x15 scope:local data:string -lbl_1_data_780 = .data:0x00000780; // type:object size:0x17 scope:local data:string -lbl_1_data_797 = .data:0x00000797; // type:object size:0x16 scope:local data:string -lbl_1_data_7AD = .data:0x000007AD; // type:object size:0xA scope:local data:string -lbl_1_data_7B7 = .data:0x000007B7; // type:object size:0x1C scope:local data:string -lbl_1_data_7D3 = .data:0x000007D3; // type:object size:0x1D scope:local data:string -lbl_1_data_7F0 = .data:0x000007F0; // type:object size:0x10 scope:local data:string -lbl_1_data_800 = .data:0x00000800; // type:object size:0x1C scope:local +lbl_1_data_6D4 = .data:0x000006D4; // type:object size:0x16 data:string +lbl_1_data_6EA = .data:0x000006EA; // type:object size:0x15 data:string +lbl_1_data_6FF = .data:0x000006FF; // type:object size:0x16 data:string +lbl_1_data_715 = .data:0x00000715; // type:object size:0x15 data:string +lbl_1_data_72A = .data:0x0000072A; // type:object size:0x16 data:string +lbl_1_data_740 = .data:0x00000740; // type:object size:0x15 data:string +lbl_1_data_755 = .data:0x00000755; // type:object size:0x16 data:string +lbl_1_data_76B = .data:0x0000076B; // type:object size:0x15 data:string +lbl_1_data_780 = .data:0x00000780; // type:object size:0x17 data:string +lbl_1_data_797 = .data:0x00000797; // type:object size:0x16 data:string +lbl_1_data_7AD = .data:0x000007AD; // type:object size:0xA data:string +lbl_1_data_7B7 = .data:0x000007B7; // type:object size:0x1C data:string +lbl_1_data_7D3 = .data:0x000007D3; // type:object size:0x1D data:string +lbl_1_data_7F0 = .data:0x000007F0; // type:object size:0x10 data:string +lbl_1_data_800 = .data:0x00000800; // type:object size:0x1C lbl_1_data_81C = .data:0x0000081C; // type:object size:0x30 lbl_1_data_850 = .data:0x00000850; // type:object size:0x3C0 lbl_1_data_C10 = .data:0x00000C10; // type:object size:0x10 lbl_1_data_C20 = .data:0x00000C20; // type:object size:0x4 data:4byte lbl_1_data_C24 = .data:0x00000C24; // type:object size:0x8 data:4byte -lbl_1_data_C2C = .data:0x00000C2C; // type:object size:0x14 scope:local data:string -lbl_1_data_C40 = .data:0x00000C40; // type:object size:0x15 scope:local data:string -lbl_1_data_C55 = .data:0x00000C55; // type:object size:0x14 scope:local data:string -lbl_1_data_C69 = .data:0x00000C69; // type:object size:0x15 scope:local data:string -lbl_1_data_C7E = .data:0x00000C7E; // type:object size:0x14 scope:local data:string -lbl_1_data_C92 = .data:0x00000C92; // type:object size:0x15 scope:local data:string -lbl_1_data_CA7 = .data:0x00000CA7; // type:object size:0x14 scope:local data:string -lbl_1_data_CBB = .data:0x00000CBB; // type:object size:0x15 scope:local data:string -lbl_1_data_CD0 = .data:0x00000CD0; // type:object size:0x14 scope:local data:string -lbl_1_data_CE4 = .data:0x00000CE4; // type:object size:0x15 scope:local data:string -lbl_1_data_CF9 = .data:0x00000CF9; // type:object size:0x14 scope:local data:string -lbl_1_data_D0D = .data:0x00000D0D; // type:object size:0xA scope:local data:string -lbl_1_data_D17 = .data:0x00000D17; // type:object size:0x1C scope:local data:string -lbl_1_data_D33 = .data:0x00000D33; // type:object size:0x1D scope:local data:string -lbl_1_data_D50 = .data:0x00000D50; // type:object size:0x1C scope:local data:string -lbl_1_data_D6C = .data:0x00000D6C; // type:object size:0x31 scope:local data:string -lbl_1_data_D9D = .data:0x00000D9D; // type:object size:0x10 scope:local data:string -lbl_1_data_DAD = .data:0x00000DAD; // type:object size:0x7 scope:local data:string -lbl_1_data_DB8 = .data:0x00000DB8; // type:object size:0x15 scope:local data:string -lbl_1_data_DCD = .data:0x00000DCD; // type:object size:0x14 scope:local data:string -lbl_1_data_DE1 = .data:0x00000DE1; // type:object size:0x15 scope:local data:string -lbl_1_data_DF6 = .data:0x00000DF6; // type:object size:0x14 scope:local data:string -lbl_1_data_E0A = .data:0x00000E0A; // type:object size:0x15 scope:local data:string -lbl_1_data_E1F = .data:0x00000E1F; // type:object size:0x14 scope:local data:string -lbl_1_data_E33 = .data:0x00000E33; // type:object size:0x15 scope:local data:string -lbl_1_data_E48 = .data:0x00000E48; // type:object size:0x14 scope:local data:string -lbl_1_data_E5C = .data:0x00000E5C; // type:object size:0x15 scope:local data:string -lbl_1_data_E71 = .data:0x00000E71; // type:object size:0x14 scope:local data:string -lbl_1_data_E85 = .data:0x00000E85; // type:object size:0xA scope:local data:string -lbl_1_data_E8F = .data:0x00000E8F; // type:object size:0x1C scope:local data:string -lbl_1_data_EAB = .data:0x00000EAB; // type:object size:0x1D scope:local data:string -lbl_1_data_EC8 = .data:0x00000EC8; // type:object size:0x10 scope:local data:string -lbl_1_data_ED8 = .data:0x00000ED8; // type:object size:0x1C scope:local data:string +lbl_1_data_C2C = .data:0x00000C2C; // type:object size:0x14 data:string +lbl_1_data_C40 = .data:0x00000C40; // type:object size:0x15 data:string +lbl_1_data_C55 = .data:0x00000C55; // type:object size:0x14 data:string +lbl_1_data_C69 = .data:0x00000C69; // type:object size:0x15 data:string +lbl_1_data_C7E = .data:0x00000C7E; // type:object size:0x14 data:string +lbl_1_data_C92 = .data:0x00000C92; // type:object size:0x15 data:string +lbl_1_data_CA7 = .data:0x00000CA7; // type:object size:0x14 data:string +lbl_1_data_CBB = .data:0x00000CBB; // type:object size:0x15 data:string +lbl_1_data_CD0 = .data:0x00000CD0; // type:object size:0x14 data:string +lbl_1_data_CE4 = .data:0x00000CE4; // type:object size:0x15 data:string +lbl_1_data_CF9 = .data:0x00000CF9; // type:object size:0x14 data:string +lbl_1_data_D0D = .data:0x00000D0D; // type:object size:0xA data:string +lbl_1_data_D17 = .data:0x00000D17; // type:object size:0x1C data:string +lbl_1_data_D33 = .data:0x00000D33; // type:object size:0x1D data:string +lbl_1_data_D50 = .data:0x00000D50; // type:object size:0x1C data:string +lbl_1_data_D6C = .data:0x00000D6C; // type:object size:0x31 data:string +lbl_1_data_D9D = .data:0x00000D9D; // type:object size:0x10 data:string +lbl_1_data_DAD = .data:0x00000DAD; // type:object size:0x7 data:string +lbl_1_data_DB8 = .data:0x00000DB8; // type:object size:0x15 data:string +lbl_1_data_DCD = .data:0x00000DCD; // type:object size:0x14 data:string +lbl_1_data_DE1 = .data:0x00000DE1; // type:object size:0x15 data:string +lbl_1_data_DF6 = .data:0x00000DF6; // type:object size:0x14 data:string +lbl_1_data_E0A = .data:0x00000E0A; // type:object size:0x15 data:string +lbl_1_data_E1F = .data:0x00000E1F; // type:object size:0x14 data:string +lbl_1_data_E33 = .data:0x00000E33; // type:object size:0x15 data:string +lbl_1_data_E48 = .data:0x00000E48; // type:object size:0x14 data:string +lbl_1_data_E5C = .data:0x00000E5C; // type:object size:0x15 data:string +lbl_1_data_E71 = .data:0x00000E71; // type:object size:0x14 data:string +lbl_1_data_E85 = .data:0x00000E85; // type:object size:0xA data:string +lbl_1_data_E8F = .data:0x00000E8F; // type:object size:0x1C data:string +lbl_1_data_EAB = .data:0x00000EAB; // type:object size:0x1D data:string +lbl_1_data_EC8 = .data:0x00000EC8; // type:object size:0x10 data:string +lbl_1_data_ED8 = .data:0x00000ED8; // type:object size:0x1C data:string lbl_1_data_EF8 = .data:0x00000EF8; // type:object size:0x10 lbl_1_data_F08 = .data:0x00000F08; // type:object size:0x4 data:4byte lbl_1_data_F0C = .data:0x00000F0C; // type:object size:0x8 data:4byte lbl_1_data_F14 = .data:0x00000F14; // type:object size:0x4 data:4byte -lbl_1_data_F18 = .data:0x00000F18; // type:object size:0x14 scope:local data:string -lbl_1_data_F2C = .data:0x00000F2C; // type:object size:0x15 scope:local data:string -lbl_1_data_F41 = .data:0x00000F41; // type:object size:0x14 scope:local data:string -lbl_1_data_F55 = .data:0x00000F55; // type:object size:0x15 scope:local data:string -lbl_1_data_F6A = .data:0x00000F6A; // type:object size:0x14 scope:local data:string -lbl_1_data_F7E = .data:0x00000F7E; // type:object size:0x15 scope:local data:string -lbl_1_data_F93 = .data:0x00000F93; // type:object size:0x14 scope:local data:string -lbl_1_data_FA7 = .data:0x00000FA7; // type:object size:0x15 scope:local data:string -lbl_1_data_FBC = .data:0x00000FBC; // type:object size:0x14 scope:local data:string -lbl_1_data_FD0 = .data:0x00000FD0; // type:object size:0x15 scope:local data:string -lbl_1_data_FE5 = .data:0x00000FE5; // type:object size:0x14 scope:local data:string -lbl_1_data_FF9 = .data:0x00000FF9; // type:object size:0xA scope:local data:string -lbl_1_data_1003 = .data:0x00001003; // type:object size:0x1C scope:local data:string -lbl_1_data_101F = .data:0x0000101F; // type:object size:0x1D scope:local data:string -lbl_1_data_103C = .data:0x0000103C; // type:object size:0x15 scope:local data:string -lbl_1_data_1051 = .data:0x00001051; // type:object size:0x15 scope:local data:string -lbl_1_data_1066 = .data:0x00001066; // type:object size:0x15 scope:local data:string -lbl_1_data_107B = .data:0x0000107B; // type:object size:0x15 scope:local data:string -lbl_1_data_1090 = .data:0x00001090; // type:object size:0x15 scope:local data:string -lbl_1_data_10A5 = .data:0x000010A5; // type:object size:0x15 scope:local data:string -lbl_1_data_10BA = .data:0x000010BA; // type:object size:0x15 scope:local data:string -lbl_1_data_10CF = .data:0x000010CF; // type:object size:0x15 scope:local data:string +lbl_1_data_F18 = .data:0x00000F18; // type:object size:0x14 data:string +lbl_1_data_F2C = .data:0x00000F2C; // type:object size:0x15 data:string +lbl_1_data_F41 = .data:0x00000F41; // type:object size:0x14 data:string +lbl_1_data_F55 = .data:0x00000F55; // type:object size:0x15 data:string +lbl_1_data_F6A = .data:0x00000F6A; // type:object size:0x14 data:string +lbl_1_data_F7E = .data:0x00000F7E; // type:object size:0x15 data:string +lbl_1_data_F93 = .data:0x00000F93; // type:object size:0x14 data:string +lbl_1_data_FA7 = .data:0x00000FA7; // type:object size:0x15 data:string +lbl_1_data_FBC = .data:0x00000FBC; // type:object size:0x14 data:string +lbl_1_data_FD0 = .data:0x00000FD0; // type:object size:0x15 data:string +lbl_1_data_FE5 = .data:0x00000FE5; // type:object size:0x14 data:string +lbl_1_data_FF9 = .data:0x00000FF9; // type:object size:0xA data:string +lbl_1_data_1003 = .data:0x00001003; // type:object size:0x1C data:string +lbl_1_data_101F = .data:0x0000101F; // type:object size:0x1D data:string +lbl_1_data_103C = .data:0x0000103C; // type:object size:0x15 data:string +lbl_1_data_1051 = .data:0x00001051; // type:object size:0x15 data:string +lbl_1_data_1066 = .data:0x00001066; // type:object size:0x15 data:string +lbl_1_data_107B = .data:0x0000107B; // type:object size:0x15 data:string +lbl_1_data_1090 = .data:0x00001090; // type:object size:0x15 data:string +lbl_1_data_10A5 = .data:0x000010A5; // type:object size:0x15 data:string +lbl_1_data_10BA = .data:0x000010BA; // type:object size:0x15 data:string +lbl_1_data_10CF = .data:0x000010CF; // type:object size:0x15 data:string lbl_1_data_10E4 = .data:0x000010E4; // type:object size:0x20 -lbl_1_data_1104 = .data:0x00001104; // type:object size:0xF scope:local data:string +lbl_1_data_1104 = .data:0x00001104; // type:object size:0xF data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x20 data:4byte lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x44 data:float diff --git a/config/GMPE01_00/rels/mstory3Dll/symbols.txt b/config/GMPE01_00/rels/mstory3Dll/symbols.txt index 4863cac3..a6159435 100644 --- a/config/GMPE01_00/rels/mstory3Dll/symbols.txt +++ b/config/GMPE01_00/rels/mstory3Dll/symbols.txt @@ -4,7 +4,7 @@ fn_1_A4 = .text:0x000000A4; // type:function size:0x2C8 _prolog = .text:0x0000036C; // type:function size:0x54 scope:global _epilog = .text:0x000003C0; // type:function size:0x4C scope:global fn_1_40C = .text:0x0000040C; // type:function size:0xE4 -ObjectSetup = .text:0x000004F0; // type:function size:0xE4 +fn_1_4F0 = .text:0x000004F0; // type:function size:0xE4 fn_1_5D4 = .text:0x000005D4; // type:function size:0x28 fn_1_5FC = .text:0x000005FC; // type:function size:0x20 fn_1_61C = .text:0x0000061C; // type:function size:0xD8 @@ -202,315 +202,315 @@ fn_1_1E558 = .text:0x0001E558; // type:function size:0x2C8 fn_1_1E820 = .text:0x0001E820; // type:function size:0x8E0 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x20 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0xC scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x20 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x10 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x78 scope:local -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x28 scope:local data:4byte -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 scope:local data:double -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 scope:local data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 scope:local data:float -lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 scope:local data:float -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 scope:local data:float -lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 scope:local data:float -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 scope:local data:float -lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x4 scope:local data:float -lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x4 scope:local data:float -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x3C scope:local data:4byte -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C4 = .rodata:0x000005C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 scope:local data:double -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x8 scope:local data:double -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 scope:local data:double -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 scope:local data:float -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x8 scope:local data:double -lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x8 scope:local data:double -lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 scope:local data:float -lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 scope:local data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x8 scope:local data:double -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0xC data:4byte +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0xC data:4byte +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0xC data:4byte +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float +lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x20 data:4byte +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float +lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x1 data:byte +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0xC data:4byte +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x20 data:4byte +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float +lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float +lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float +lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float +lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float +lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float +lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float +lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float +lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x8 data:4byte +lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float +lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float +lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float +lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float +lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x24 data:4byte +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float +lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float +lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float +lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x24 data:4byte +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float +lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float +lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x10 data:4byte +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float +lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float +lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x18 data:4byte +lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x78 +lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x18 data:4byte +lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 data:double +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 data:double +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 data:double +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float +lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 data:float +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float +lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x28 data:4byte +lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 data:double +lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x1 data:byte +lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float +lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float +lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float +lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float +lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float +lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float +lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float +lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 data:float +lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 data:float +lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float +lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float +lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float +lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 data:float +lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float +lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float +lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 data:float +lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 data:float +lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 data:float +lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x1C data:4byte +lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float +lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 data:double +lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 data:double +lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float +lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float +lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float +lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float +lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float +lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float +lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float +lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float +lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float +lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 data:float +lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 data:float +lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 data:float +lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float +lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float +lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float +lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float +lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float +lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float +lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float +lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 data:float +lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float +lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float +lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float +lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float +lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float +lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 data:float +lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 data:float +lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 data:float +lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 data:float +lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 data:float +lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 data:float +lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 data:float +lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float +lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 data:float +lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 data:float +lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 data:float +lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 data:float +lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 data:float +lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 data:float +lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 data:float +lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x4 data:float +lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x4 data:float +lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 data:float +lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x14 data:4byte +lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x3C data:4byte +lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x18 data:4byte +lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 data:float +lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 data:float +lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 data:float +lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 data:float +lbl_1_rodata_5C4 = .rodata:0x000005C4; // type:object size:0x4 data:float +lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 data:float +lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 data:float +lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float +lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 data:double +lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float +lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 data:float +lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 data:double +lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 data:float +lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 data:double +lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 data:double +lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x8 data:double +lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 data:double +lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 data:float +lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x8 data:double +lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x8 data:double +lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 data:float +lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 data:float +lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x8 data:double +lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 -lbl_1_data_70 = .data:0x00000070; // type:object size:0x25 scope:local data:string -lbl_1_data_95 = .data:0x00000095; // type:object size:0xD scope:local data:string +lbl_1_data_70 = .data:0x00000070; // type:object size:0x25 data:string +lbl_1_data_95 = .data:0x00000095; // type:object size:0xD data:string lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x8 -lbl_1_data_AC = .data:0x000000AC; // type:object size:0x28 scope:local data:string -lbl_1_data_D4 = .data:0x000000D4; // type:object size:0x10 scope:local data:string -lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x3 scope:local data:string -lbl_1_data_E7 = .data:0x000000E7; // type:object size:0x1A scope:local data:string -lbl_1_data_101 = .data:0x00000101; // type:object size:0x1A scope:local data:string -lbl_1_data_11B = .data:0x0000011B; // type:object size:0xE scope:local data:string +lbl_1_data_AC = .data:0x000000AC; // type:object size:0x28 data:string +lbl_1_data_D4 = .data:0x000000D4; // type:object size:0x10 data:string +lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x3 data:string +lbl_1_data_E7 = .data:0x000000E7; // type:object size:0x1A data:string +lbl_1_data_101 = .data:0x00000101; // type:object size:0x1A data:string +lbl_1_data_11B = .data:0x0000011B; // type:object size:0xE data:string lbl_1_data_130 = .data:0x00000130; // type:object size:0x30 data:float lbl_1_data_160 = .data:0x00000160; // type:object size:0x50 lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x50 lbl_1_data_200 = .data:0x00000200; // type:object size:0x50 -lbl_1_data_250 = .data:0x00000250; // type:object size:0x16 scope:local data:string -lbl_1_data_266 = .data:0x00000266; // type:object size:0x15 scope:local data:string -lbl_1_data_27B = .data:0x0000027B; // type:object size:0x16 scope:local data:string -lbl_1_data_291 = .data:0x00000291; // type:object size:0x15 scope:local data:string -lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x16 scope:local data:string -lbl_1_data_2BC = .data:0x000002BC; // type:object size:0x15 scope:local data:string -lbl_1_data_2D1 = .data:0x000002D1; // type:object size:0x17 scope:local data:string -lbl_1_data_2E8 = .data:0x000002E8; // type:object size:0x16 scope:local data:string -lbl_1_data_2FE = .data:0x000002FE; // type:object size:0xF scope:local data:string -lbl_1_data_30D = .data:0x0000030D; // type:object size:0x1C scope:local data:string -lbl_1_data_329 = .data:0x00000329; // type:object size:0x1D scope:local data:string -lbl_1_data_346 = .data:0x00000346; // type:object size:0x1C scope:local data:string -lbl_1_data_364 = .data:0x00000364; // type:object size:0x4 data:4byte -lbl_1_data_36C = .data:0x0000036C; // type:object size:0xC data:float -lbl_1_data_378 = .data:0x00000378; // type:object size:0xF scope:local data:string -lbl_1_data_387 = .data:0x00000387; // type:object size:0x10 scope:local data:string +lbl_1_data_250 = .data:0x00000250; // type:object size:0x16 data:string +lbl_1_data_266 = .data:0x00000266; // type:object size:0x15 data:string +lbl_1_data_27B = .data:0x0000027B; // type:object size:0x16 data:string +lbl_1_data_291 = .data:0x00000291; // type:object size:0x15 data:string +lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x16 data:string +lbl_1_data_2BC = .data:0x000002BC; // type:object size:0x15 data:string +lbl_1_data_2D1 = .data:0x000002D1; // type:object size:0x17 data:string +lbl_1_data_2E8 = .data:0x000002E8; // type:object size:0x16 data:string +lbl_1_data_2FE = .data:0x000002FE; // type:object size:0xF data:string +lbl_1_data_30D = .data:0x0000030D; // type:object size:0x1C data:string +lbl_1_data_329 = .data:0x00000329; // type:object size:0x1D data:string +lbl_1_data_346 = .data:0x00000346; // type:object size:0x1C data:string +lbl_1_data_364 = .data:0x00000364; // type:object size:0x8 data:4byte +lbl_1_data_36C = .data:0x0000036C; // type:object size:0xC +lbl_1_data_378 = .data:0x00000378; // type:object size:0xF data:string +lbl_1_data_387 = .data:0x00000387; // type:object size:0x10 data:string jumptable_1_data_398 = .data:0x00000398; // type:object size:0x30 scope:local -lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0x46 scope:local data:string -lbl_1_data_40E = .data:0x0000040E; // type:object size:0x30 scope:local data:string -lbl_1_data_43E = .data:0x0000043E; // type:object size:0x14 scope:local data:string -lbl_1_data_452 = .data:0x00000452; // type:object size:0x14 scope:local data:string -lbl_1_data_466 = .data:0x00000466; // type:object size:0x14 scope:local data:string -lbl_1_data_47A = .data:0x0000047A; // type:object size:0x14 scope:local data:string -lbl_1_data_48E = .data:0x0000048E; // type:object size:0x14 scope:local data:string -lbl_1_data_4A2 = .data:0x000004A2; // type:object size:0x10 scope:local data:string -lbl_1_data_4B2 = .data:0x000004B2; // type:object size:0x10 scope:local data:string -lbl_1_data_4C2 = .data:0x000004C2; // type:object size:0x10 scope:local data:string -lbl_1_data_4D2 = .data:0x000004D2; // type:object size:0x10 scope:local data:string -lbl_1_data_4E2 = .data:0x000004E2; // type:object size:0x10 scope:local data:string -lbl_1_data_4F2 = .data:0x000004F2; // type:object size:0x10 scope:local data:string +lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0x46 data:string +lbl_1_data_40E = .data:0x0000040E; // type:object size:0x30 data:string +lbl_1_data_43E = .data:0x0000043E; // type:object size:0x14 data:string +lbl_1_data_452 = .data:0x00000452; // type:object size:0x14 data:string +lbl_1_data_466 = .data:0x00000466; // type:object size:0x14 data:string +lbl_1_data_47A = .data:0x0000047A; // type:object size:0x14 data:string +lbl_1_data_48E = .data:0x0000048E; // type:object size:0x14 data:string +lbl_1_data_4A2 = .data:0x000004A2; // type:object size:0x10 data:string +lbl_1_data_4B2 = .data:0x000004B2; // type:object size:0x10 data:string +lbl_1_data_4C2 = .data:0x000004C2; // type:object size:0x10 data:string +lbl_1_data_4D2 = .data:0x000004D2; // type:object size:0x10 data:string +lbl_1_data_4E2 = .data:0x000004E2; // type:object size:0x10 data:string +lbl_1_data_4F2 = .data:0x000004F2; // type:object size:0x12 lbl_1_data_504 = .data:0x00000504; // type:object size:0x288 -lbl_1_data_78C = .data:0x0000078C; // type:object size:0x50 -lbl_1_data_7E0 = .data:0x000007E0; // type:object size:0x16 scope:local data:string -lbl_1_data_7F6 = .data:0x000007F6; // type:object size:0x15 scope:local data:string -lbl_1_data_80B = .data:0x0000080B; // type:object size:0x16 scope:local data:string -lbl_1_data_821 = .data:0x00000821; // type:object size:0x15 scope:local data:string -lbl_1_data_836 = .data:0x00000836; // type:object size:0x16 scope:local data:string -lbl_1_data_84C = .data:0x0000084C; // type:object size:0x15 scope:local data:string -lbl_1_data_861 = .data:0x00000861; // type:object size:0x17 scope:local data:string -lbl_1_data_878 = .data:0x00000878; // type:object size:0x16 scope:local data:string -lbl_1_data_88E = .data:0x0000088E; // type:object size:0xF scope:local data:string -lbl_1_data_89D = .data:0x0000089D; // type:object size:0x1C scope:local data:string -lbl_1_data_8B9 = .data:0x000008B9; // type:object size:0x1D scope:local data:string -lbl_1_data_8D6 = .data:0x000008D6; // type:object size:0x49 scope:local data:string -lbl_1_data_91F = .data:0x0000091F; // type:object size:0x48 scope:local data:string -lbl_1_data_967 = .data:0x00000967; // type:object size:0x48 scope:local data:string -lbl_1_data_9AF = .data:0x000009AF; // type:object size:0x52 scope:local data:string -lbl_1_data_A01 = .data:0x00000A01; // type:object size:0x30 scope:local data:string -lbl_1_data_A31 = .data:0x00000A31; // type:object size:0x2A scope:local data:string -lbl_1_data_A5B = .data:0x00000A5B; // type:object size:0x1A scope:local data:string -lbl_1_data_A75 = .data:0x00000A75; // type:object size:0x19 scope:local data:string -lbl_1_data_A90 = .data:0x00000A90; // type:object size:0x13 scope:local data:string -lbl_1_data_AA3 = .data:0x00000AA3; // type:object size:0x8 scope:local data:string +lbl_1_data_78C = .data:0x0000078C; // type:object size:0x5 +lbl_1_data_7E0 = .data:0x000007E0; // type:object size:0x16 data:string +lbl_1_data_7F6 = .data:0x000007F6; // type:object size:0x15 data:string +lbl_1_data_80B = .data:0x0000080B; // type:object size:0x16 data:string +lbl_1_data_821 = .data:0x00000821; // type:object size:0x15 data:string +lbl_1_data_836 = .data:0x00000836; // type:object size:0x16 data:string +lbl_1_data_84C = .data:0x0000084C; // type:object size:0x15 data:string +lbl_1_data_861 = .data:0x00000861; // type:object size:0x17 data:string +lbl_1_data_878 = .data:0x00000878; // type:object size:0x16 data:string +lbl_1_data_88E = .data:0x0000088E; // type:object size:0xF data:string +lbl_1_data_89D = .data:0x0000089D; // type:object size:0x1C data:string +lbl_1_data_8B9 = .data:0x000008B9; // type:object size:0x1D data:string +lbl_1_data_8D6 = .data:0x000008D6; // type:object size:0x49 data:string +lbl_1_data_91F = .data:0x0000091F; // type:object size:0x48 data:string +lbl_1_data_967 = .data:0x00000967; // type:object size:0x48 data:string +lbl_1_data_9AF = .data:0x000009AF; // type:object size:0x52 data:string +lbl_1_data_A01 = .data:0x00000A01; // type:object size:0x30 data:string +lbl_1_data_A31 = .data:0x00000A31; // type:object size:0x2A data:string +lbl_1_data_A5B = .data:0x00000A5B; // type:object size:0x1A data:string +lbl_1_data_A75 = .data:0x00000A75; // type:object size:0x1B +lbl_1_data_A90 = .data:0x00000A90; // type:object size:0x13 data:string +lbl_1_data_AA3 = .data:0x00000AA3; // type:object size:0x8 data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x44 data:float lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x10 data:float -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte +lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x10 data:4byte lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x40 data:4byte lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x4 data:float @@ -542,7 +542,7 @@ lbl_1_bss_18F4 = .bss:0x000018F4; // type:object size:0xA0 lbl_1_bss_1994 = .bss:0x00001994; // type:object size:0x28 data:4byte lbl_1_bss_19BC = .bss:0x000019BC; // type:object size:0x28 data:4byte lbl_1_bss_19E4 = .bss:0x000019E4; // type:object size:0x28 data:4byte -lbl_1_bss_1A0C = .bss:0x00001A0C; // type:object size:0x2D8 data:float +lbl_1_bss_1A0C = .bss:0x00001A0C; // type:object size:0x2DC data:float lbl_1_bss_1CE8 = .bss:0x00001CE8; // type:object size:0x2 data:2byte lbl_1_bss_1CEC = .bss:0x00001CEC; // type:object size:0x4 data:4byte lbl_1_bss_1CF0 = .bss:0x00001CF0; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/mstoryDll/splits.txt b/config/GMPE01_00/rels/mstoryDll/splits.txt index 14c897fa..1c6cb09d 100644 --- a/config/GMPE01_00/rels/mstoryDll/splits.txt +++ b/config/GMPE01_00/rels/mstoryDll/splits.txt @@ -10,13 +10,13 @@ REL/mstoryDll/main.c: .text start:0x00000000 end:0x00007090 .rodata start:0x00000000 end:0x00000108 .data start:0x00000000 end:0x00000190 - .bss start:0x00000000 end:0x000000A8 + .bss start:0x00000000 end:0x00000058 REL/mstoryDll/board_clear.c: .text start:0x00007090 end:0x0000A830 .rodata start:0x00000108 end:0x00000268 .data start:0x00000190 end:0x00000388 - .bss start:0x000000A8 end:0x000002C8 + .bss start:0x00000058 end:0x000002C8 REL/mstoryDll/board_miss.c: .text start:0x0000A830 end:0x0000E710 diff --git a/config/GMPE01_00/rels/mstoryDll/symbols.txt b/config/GMPE01_00/rels/mstoryDll/symbols.txt index 93875bb3..9bc5210b 100644 --- a/config/GMPE01_00/rels/mstoryDll/symbols.txt +++ b/config/GMPE01_00/rels/mstoryDll/symbols.txt @@ -4,7 +4,7 @@ fn_1_A4 = .text:0x000000A4; // type:function size:0x344 _prolog = .text:0x000003E8; // type:function size:0x54 scope:global _epilog = .text:0x0000043C; // type:function size:0x4C scope:global fn_1_488 = .text:0x00000488; // type:function size:0x1D0 -ObjectSetup = .text:0x00000658; // type:function size:0x1D0 +fn_1_658 = .text:0x00000658; // type:function size:0x1D0 fn_1_828 = .text:0x00000828; // type:function size:0x28 fn_1_850 = .text:0x00000850; // type:function size:0x20 fn_1_870 = .text:0x00000870; // type:function size:0xD8 @@ -189,284 +189,283 @@ fn_1_13E2C = .text:0x00013E2C; // type:function size:0x324 fn_1_14150 = .text:0x00014150; // type:function size:0x50 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0xC scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0xC scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0xC scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0xA scope:local data:2byte -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0xC scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x64 scope:local -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0xC scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x64 scope:local -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0xC scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0xC scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0xC scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0xC scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x64 scope:local -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 scope:local data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x3C scope:local data:4byte -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 scope:local data:float -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 scope:local data:float -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 scope:local data:float -lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 scope:local data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 scope:local data:float -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float +lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0xC data:4byte +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0xC data:4byte +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0xC data:4byte +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x1 data:byte +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float +lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0xC data:2byte +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x14 data:4byte +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0xC data:4byte +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x14 data:4byte +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x64 +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x14 data:4byte +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float +lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0xC data:4byte +lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float +lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float +lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float +lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:float +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x1C data:4byte +lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:byte +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float +lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 data:double +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x14 data:4byte +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x64 +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x14 data:4byte +lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float +lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float +lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0xC data:4byte +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float +lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float +lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0xC data:4byte +lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:float +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float +lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0xC data:4byte +lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0xC data:4byte +lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float +lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 data:float +lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 data:float +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float +lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float +lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x1 data:byte +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float +lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float +lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float +lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 data:float +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float +lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 data:float +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 data:double +lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x14 data:4byte +lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float +lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 data:float +lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 data:float +lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float +lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 data:float +lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float +lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float +lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float +lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float +lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float +lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float +lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x14 data:4byte +lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x64 +lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x14 data:4byte +lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float +lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float +lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 data:float +lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 data:float +lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 data:float +lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float +lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float +lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float +lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float +lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x1 data:byte +lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float +lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x14 data:4byte +lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float +lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float +lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 data:float +lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 data:float +lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 data:float +lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 data:double +lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 data:float +lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 data:float +lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float +lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 data:float +lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 data:float +lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 data:float +lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x14 data:4byte +lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x3C data:4byte +lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 data:float +lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 data:float +lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 data:float +lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 data:float +lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 data:float +lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 data:float +lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 data:float +lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 data:float +lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 data:float +lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 data:float +lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 data:float +lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 data:float +lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x60 -lbl_1_data_60 = .data:0x00000060; // type:object size:0x27 scope:local data:string -lbl_1_data_87 = .data:0x00000087; // type:object size:0x26 scope:local data:string -lbl_1_data_AD = .data:0x000000AD; // type:object size:0x2A scope:local data:string -lbl_1_data_D7 = .data:0x000000D7; // type:object size:0x29 scope:local data:string +lbl_1_data_60 = .data:0x00000060; // type:object size:0x27 data:string +lbl_1_data_87 = .data:0x00000087; // type:object size:0x26 data:string +lbl_1_data_AD = .data:0x000000AD; // type:object size:0x2A data:string +lbl_1_data_D7 = .data:0x000000D7; // type:object size:0x29 data:string lbl_1_data_100 = .data:0x00000100; // type:object size:0x10 -lbl_1_data_110 = .data:0x00000110; // type:object size:0x28 scope:local data:string -lbl_1_data_138 = .data:0x00000138; // type:object size:0x10 scope:local data:string -lbl_1_data_148 = .data:0x00000148; // type:object size:0x3 scope:local data:string -lbl_1_data_14B = .data:0x0000014B; // type:object size:0x1A scope:local data:string -lbl_1_data_165 = .data:0x00000165; // type:object size:0x1A scope:local data:string -lbl_1_data_17F = .data:0x0000017F; // type:object size:0xE scope:local data:string +lbl_1_data_110 = .data:0x00000110; // type:object size:0x28 data:string +lbl_1_data_138 = .data:0x00000138; // type:object size:0x10 data:string +lbl_1_data_148 = .data:0x00000148; // type:object size:0x3 data:string +lbl_1_data_14B = .data:0x0000014B; // type:object size:0x1A data:string +lbl_1_data_165 = .data:0x00000165; // type:object size:0x1A data:string +lbl_1_data_17F = .data:0x0000017F; // type:object size:0xE data:string lbl_1_data_190 = .data:0x00000190; // type:object size:0x50 lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0x3C -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x16 scope:local data:string -lbl_1_data_232 = .data:0x00000232; // type:object size:0x15 scope:local data:string -lbl_1_data_247 = .data:0x00000247; // type:object size:0x16 scope:local data:string -lbl_1_data_25D = .data:0x0000025D; // type:object size:0x15 scope:local data:string -lbl_1_data_272 = .data:0x00000272; // type:object size:0x17 scope:local data:string -lbl_1_data_289 = .data:0x00000289; // type:object size:0x16 scope:local data:string -lbl_1_data_29F = .data:0x0000029F; // type:object size:0x16 scope:local data:string -lbl_1_data_2B5 = .data:0x000002B5; // type:object size:0x15 scope:local data:string -lbl_1_data_2CA = .data:0x000002CA; // type:object size:0xF scope:local data:string -lbl_1_data_2D9 = .data:0x000002D9; // type:object size:0x1C scope:local data:string -lbl_1_data_2F5 = .data:0x000002F5; // type:object size:0x1D scope:local data:string -lbl_1_data_312 = .data:0x00000312; // type:object size:0x17 scope:local data:string -lbl_1_data_329 = .data:0x00000329; // type:object size:0xF scope:local data:string -lbl_1_data_338 = .data:0x00000338; // type:object size:0x1A scope:local data:string -lbl_1_data_354 = .data:0x00000354; // type:object size:0x30 data:float +lbl_1_data_21C = .data:0x0000021C; // type:object size:0x16 data:string +lbl_1_data_232 = .data:0x00000232; // type:object size:0x15 data:string +lbl_1_data_247 = .data:0x00000247; // type:object size:0x16 data:string +lbl_1_data_25D = .data:0x0000025D; // type:object size:0x15 data:string +lbl_1_data_272 = .data:0x00000272; // type:object size:0x17 data:string +lbl_1_data_289 = .data:0x00000289; // type:object size:0x16 data:string +lbl_1_data_29F = .data:0x0000029F; // type:object size:0x16 data:string +lbl_1_data_2B5 = .data:0x000002B5; // type:object size:0x15 data:string +lbl_1_data_2CA = .data:0x000002CA; // type:object size:0xF data:string +lbl_1_data_2D9 = .data:0x000002D9; // type:object size:0x1C data:string +lbl_1_data_2F5 = .data:0x000002F5; // type:object size:0x1D data:string +lbl_1_data_312 = .data:0x00000312; // type:object size:0x17 data:string +lbl_1_data_329 = .data:0x00000329; // type:object size:0xF data:string +lbl_1_data_338 = .data:0x00000338; // type:object size:0x1A data:string +lbl_1_data_354 = .data:0x00000354; // type:object size:0x30 lbl_1_data_388 = .data:0x00000388; // type:object size:0x50 lbl_1_data_3D8 = .data:0x000003D8; // type:object size:0x3C -lbl_1_data_414 = .data:0x00000414; // type:object size:0x16 scope:local data:string -lbl_1_data_42A = .data:0x0000042A; // type:object size:0x15 scope:local data:string -lbl_1_data_43F = .data:0x0000043F; // type:object size:0x16 scope:local data:string -lbl_1_data_455 = .data:0x00000455; // type:object size:0x15 scope:local data:string -lbl_1_data_46A = .data:0x0000046A; // type:object size:0x16 scope:local data:string -lbl_1_data_480 = .data:0x00000480; // type:object size:0x15 scope:local data:string -lbl_1_data_495 = .data:0x00000495; // type:object size:0x17 scope:local data:string -lbl_1_data_4AC = .data:0x000004AC; // type:object size:0x16 scope:local data:string -lbl_1_data_4C2 = .data:0x000004C2; // type:object size:0xA scope:local data:string -lbl_1_data_4CC = .data:0x000004CC; // type:object size:0x1C scope:local data:string -lbl_1_data_4E8 = .data:0x000004E8; // type:object size:0x1D scope:local data:string -lbl_1_data_505 = .data:0x00000505; // type:object size:0xF scope:local data:string -lbl_1_data_514 = .data:0x00000514; // type:object size:0x1B scope:local data:string -lbl_1_data_52F = .data:0x0000052F; // type:object size:0x8 scope:local data:string -lbl_1_data_537 = .data:0x00000537; // type:object size:0x8 scope:local data:string -lbl_1_data_540 = .data:0x00000540; // type:object size:0x30 data:float +lbl_1_data_414 = .data:0x00000414; // type:object size:0x16 data:string +lbl_1_data_42A = .data:0x0000042A; // type:object size:0x15 data:string +lbl_1_data_43F = .data:0x0000043F; // type:object size:0x16 data:string +lbl_1_data_455 = .data:0x00000455; // type:object size:0x15 data:string +lbl_1_data_46A = .data:0x0000046A; // type:object size:0x16 data:string +lbl_1_data_480 = .data:0x00000480; // type:object size:0x15 data:string +lbl_1_data_495 = .data:0x00000495; // type:object size:0x17 data:string +lbl_1_data_4AC = .data:0x000004AC; // type:object size:0x16 data:string +lbl_1_data_4C2 = .data:0x000004C2; // type:object size:0xA data:string +lbl_1_data_4CC = .data:0x000004CC; // type:object size:0x1C data:string +lbl_1_data_4E8 = .data:0x000004E8; // type:object size:0x1D data:string +lbl_1_data_505 = .data:0x00000505; // type:object size:0xF data:string +lbl_1_data_514 = .data:0x00000514; // type:object size:0x1B data:string +lbl_1_data_52F = .data:0x0000052F; // type:object size:0x8 data:string +lbl_1_data_537 = .data:0x00000537; // type:object size:0x8 data:string +lbl_1_data_540 = .data:0x00000540; // type:object size:0x30 lbl_1_data_570 = .data:0x00000570; // type:object size:0x3C0 lbl_1_data_930 = .data:0x00000930; // type:object size:0x50 -lbl_1_data_980 = .data:0x00000980; // type:object size:0x15 scope:local data:string -lbl_1_data_995 = .data:0x00000995; // type:object size:0x14 scope:local data:string -lbl_1_data_9A9 = .data:0x000009A9; // type:object size:0x15 scope:local data:string -lbl_1_data_9BE = .data:0x000009BE; // type:object size:0x14 scope:local data:string -lbl_1_data_9D2 = .data:0x000009D2; // type:object size:0x15 scope:local data:string -lbl_1_data_9E7 = .data:0x000009E7; // type:object size:0x14 scope:local data:string -lbl_1_data_9FB = .data:0x000009FB; // type:object size:0x15 scope:local data:string -lbl_1_data_A10 = .data:0x00000A10; // type:object size:0x14 scope:local data:string -lbl_1_data_A24 = .data:0x00000A24; // type:object size:0xF scope:local data:string -lbl_1_data_A33 = .data:0x00000A33; // type:object size:0x1C scope:local data:string -lbl_1_data_A4F = .data:0x00000A4F; // type:object size:0x1D scope:local data:string -lbl_1_data_A6C = .data:0x00000A6C; // type:object size:0x1C scope:local data:string -lbl_1_data_A88 = .data:0x00000A88; // type:object size:0x32 scope:local data:string -lbl_1_data_ABA = .data:0x00000ABA; // type:object size:0xF scope:local data:string -lbl_1_data_AC9 = .data:0x00000AC9; // type:object size:0x11 scope:local data:string -lbl_1_data_ADA = .data:0x00000ADA; // type:object size:0xA scope:local data:string -lbl_1_data_AE4 = .data:0x00000AE4; // type:object size:0x9 scope:local data:string -lbl_1_data_AED = .data:0x00000AED; // type:object size:0x7 scope:local data:string +lbl_1_data_980 = .data:0x00000980; // type:object size:0x15 data:string +lbl_1_data_995 = .data:0x00000995; // type:object size:0x14 data:string +lbl_1_data_9A9 = .data:0x000009A9; // type:object size:0x15 data:string +lbl_1_data_9BE = .data:0x000009BE; // type:object size:0x14 data:string +lbl_1_data_9D2 = .data:0x000009D2; // type:object size:0x15 data:string +lbl_1_data_9E7 = .data:0x000009E7; // type:object size:0x14 data:string +lbl_1_data_9FB = .data:0x000009FB; // type:object size:0x15 data:string +lbl_1_data_A10 = .data:0x00000A10; // type:object size:0x14 data:string +lbl_1_data_A24 = .data:0x00000A24; // type:object size:0xF data:string +lbl_1_data_A33 = .data:0x00000A33; // type:object size:0x1C data:string +lbl_1_data_A4F = .data:0x00000A4F; // type:object size:0x1D data:string +lbl_1_data_A6C = .data:0x00000A6C; // type:object size:0x1C data:string +lbl_1_data_A88 = .data:0x00000A88; // type:object size:0x32 data:string +lbl_1_data_ABA = .data:0x00000ABA; // type:object size:0xF data:string +lbl_1_data_AC9 = .data:0x00000AC9; // type:object size:0x11 data:string +lbl_1_data_ADA = .data:0x00000ADA; // type:object size:0xA data:string +lbl_1_data_AE4 = .data:0x00000AE4; // type:object size:0x9 data:string +lbl_1_data_AED = .data:0x00000AED; // type:object size:0x7 data:string lbl_1_data_AF8 = .data:0x00000AF8; // type:object size:0x3C -lbl_1_data_B34 = .data:0x00000B34; // type:object size:0x15 scope:local data:string -lbl_1_data_B49 = .data:0x00000B49; // type:object size:0x14 scope:local data:string -lbl_1_data_B5D = .data:0x00000B5D; // type:object size:0x15 scope:local data:string -lbl_1_data_B72 = .data:0x00000B72; // type:object size:0x14 scope:local data:string -lbl_1_data_B86 = .data:0x00000B86; // type:object size:0x15 scope:local data:string -lbl_1_data_B9B = .data:0x00000B9B; // type:object size:0x14 scope:local data:string -lbl_1_data_BAF = .data:0x00000BAF; // type:object size:0x15 scope:local data:string -lbl_1_data_BC4 = .data:0x00000BC4; // type:object size:0x14 scope:local data:string -lbl_1_data_BD8 = .data:0x00000BD8; // type:object size:0xF scope:local data:string -lbl_1_data_BE7 = .data:0x00000BE7; // type:object size:0x1C scope:local data:string -lbl_1_data_C03 = .data:0x00000C03; // type:object size:0x1D scope:local data:string -lbl_1_data_C20 = .data:0x00000C20; // type:object size:0xF scope:local data:string -lbl_1_data_C2F = .data:0x00000C2F; // type:object size:0x1A scope:local data:string -lbl_1_data_C50 = .data:0x00000C50; // type:object size:0x48 scope:local data:string +lbl_1_data_B34 = .data:0x00000B34; // type:object size:0x15 data:string +lbl_1_data_B49 = .data:0x00000B49; // type:object size:0x14 data:string +lbl_1_data_B5D = .data:0x00000B5D; // type:object size:0x15 data:string +lbl_1_data_B72 = .data:0x00000B72; // type:object size:0x14 data:string +lbl_1_data_B86 = .data:0x00000B86; // type:object size:0x15 data:string +lbl_1_data_B9B = .data:0x00000B9B; // type:object size:0x14 data:string +lbl_1_data_BAF = .data:0x00000BAF; // type:object size:0x15 data:string +lbl_1_data_BC4 = .data:0x00000BC4; // type:object size:0x14 data:string +lbl_1_data_BD8 = .data:0x00000BD8; // type:object size:0xF data:string +lbl_1_data_BE7 = .data:0x00000BE7; // type:object size:0x1C data:string +lbl_1_data_C03 = .data:0x00000C03; // type:object size:0x1D data:string +lbl_1_data_C20 = .data:0x00000C20; // type:object size:0xF data:string +lbl_1_data_C2F = .data:0x00000C2F; // type:object size:0x1A data:string +lbl_1_data_C50 = .data:0x00000C50; // type:object size:0x48 data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x44 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x10 data:4byte +lbl_1_bss_48 = .bss:0x00000048; // type:object size:0xC data:4byte lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x10 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x3C data:4byte +lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x40 data:4byte lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x28 data:4byte lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0xA0 diff --git a/config/GMPE01_00/rels/nisDll/splits.txt b/config/GMPE01_00/rels/nisDll/splits.txt index 4554248b..ac3125d0 100644 --- a/config/GMPE01_00/rels/nisDll/splits.txt +++ b/config/GMPE01_00/rels/nisDll/splits.txt @@ -2,8 +2,4 @@ Sections: .text type:code align:4 .ctors type:rodata align:4 .dtors type:rodata align:4 - .rodata type:rodata align:8 - -REL/nisDll/main.c: - .text start:0x00000000 end:0x0000017C - .rodata start:0x00000000 end:0x00000010 + .data type:data align:8 diff --git a/config/GMPE01_00/rels/nisDll/symbols.txt b/config/GMPE01_00/rels/nisDll/symbols.txt index 8cabd560..1143328c 100644 --- a/config/GMPE01_00/rels/nisDll/symbols.txt +++ b/config/GMPE01_00/rels/nisDll/symbols.txt @@ -1,4 +1,4 @@ -ObjectSetup = .text:0x00000000; // type:function size:0x68 +fn_1_0 = .text:0x00000000; // type:function size:0x68 fn_1_68 = .text:0x00000068; // type:function size:0x2C _prolog = .text:0x00000094; // type:function size:0x9C scope:global _epilog = .text:0x00000130; // type:function size:0x4C scope:global diff --git a/config/GMPE01_00/rels/present/symbols.txt b/config/GMPE01_00/rels/present/symbols.txt index 332b6bce..415738fe 100644 --- a/config/GMPE01_00/rels/present/symbols.txt +++ b/config/GMPE01_00/rels/present/symbols.txt @@ -1,75 +1,75 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global ObjectSetup = .text:0x000000A0; // type:function size:0xA4 -PresentFadeSprite = .text:0x00000144; // type:function size:0x110 -FadeSprite = .text:0x00000254; // type:function size:0xE0 scope:local -FadeSpriteWithMultiplier = .text:0x00000334; // type:function size:0x128 -FadeModel = .text:0x0000045C; // type:function size:0xF4 scope:local -PresentPadCheck = .text:0x00000550; // type:function size:0x34 -PresentPadDStkRepCheck = .text:0x00000584; // type:function size:0x34 -PresentPadDStkCheck = .text:0x000005B8; // type:function size:0x34 -SceneMain = .text:0x000005EC; // type:function size:0xC8 scope:local -PresentCameraCreate = .text:0x000006B4; // type:function size:0x23C -PresentCameraKill = .text:0x000008F0; // type:function size:0x30 -PresentCameraTargetSet = .text:0x00000920; // type:function size:0x84 -PresentCameraFocusSet = .text:0x000009A4; // type:function size:0x84 -PresentCameraViewSet = .text:0x00000A28; // type:function size:0x84 -PresentCameraZoomGet = .text:0x00000AAC; // type:function size:0x30 -PresentCameraRotGet = .text:0x00000ADC; // type:function size:0x30 -PresentCameraPosGet = .text:0x00000B0C; // type:function size:0x30 -PresentCameraTargetGet = .text:0x00000B3C; // type:function size:0x30 -PresentCameraDoneCheck = .text:0x00000B6C; // type:function size:0x8C -ExecCameraObj = .text:0x00000BF8; // type:function size:0x28 scope:local -ExecCamera = .text:0x00000C20; // type:function size:0x578 scope:local -CameraExecDebug = .text:0x00001198; // type:function size:0x200 scope:local -CameraPrintDebug = .text:0x00001398; // type:function size:0xC0 scope:local -PresentCreate = .text:0x00001458; // type:function size:0x32C -PresentKill = .text:0x00001784; // type:function size:0x88 -PresentExecModeSet = .text:0x0000180C; // type:function size:0x44 -PresentExecModeGet = .text:0x00001850; // type:function size:0x1C -PresentSelectedIDSet = .text:0x0000186C; // type:function size:0xBC -ExecSelectRoom = .text:0x00001928; // type:function size:0x680 scope:local -ChangeRoom = .text:0x00001FA8; // type:function size:0x140 scope:local -ExecSelectPresent = .text:0x000020E8; // type:function size:0x5A4 scope:local -GetCursorPos = .text:0x0000268C; // type:function size:0x7C scope:local -SetCameraRot = .text:0x00002708; // type:function size:0x6C scope:local -RotateCamera = .text:0x00002774; // type:function size:0x17C scope:local -CameraRotationDoneCheck = .text:0x000028F0; // type:function size:0x34 scope:local -ShowHidePresents = .text:0x00002924; // type:function size:0x260 scope:local -PresentUnlocked = .text:0x00002B84; // type:function size:0x48 scope:local -UnlockedPresents = .text:0x00002BCC; // type:function size:0x90 scope:local -MoveCursor = .text:0x00002C5C; // type:function size:0x738 scope:local -TotalPresentsInRoom = .text:0x00003394; // type:function size:0x18 scope:local -ExecPresentGet = .text:0x000033AC; // type:function size:0x590 scope:local -fn_1_393C = .text:0x0000393C; // type:function size:0x6C scope:local -PresentStateCreate = .text:0x000039A8; // type:function size:0x170 -PresentStateKill = .text:0x00003B18; // type:function size:0x74 -ExecPresentView = .text:0x00003B8C; // type:function size:0x22C scope:local -ExecPresentGet = .text:0x00003DB8; // type:function size:0xEC scope:local -PresentWinCreate = .text:0x00003EA4; // type:function size:0x19C -PresentWinKill = .text:0x00004040; // type:function size:0x40 -PresentWinAnimIn = .text:0x00004080; // type:function size:0x18 -PresentWinAnimOut = .text:0x00004098; // type:function size:0x18 -PresentWinMesSet = .text:0x000040B0; // type:function size:0x54 -PresentWinInsertMesSet = .text:0x00004104; // type:function size:0x40 -PresentWinPosSet = .text:0x00004144; // type:function size:0x40 -PresentWinDispOn = .text:0x00004184; // type:function size:0xC -PresentWinDispOff = .text:0x00004190; // type:function size:0xC -PresentWinMesWait = .text:0x0000419C; // type:function size:0x20 -PresentWinChoiceSet = .text:0x000041BC; // type:function size:0x24 -ExecWindow = .text:0x000041E0; // type:function size:0x114 scope:local -PresentGuideCreate = .text:0x000042F4; // type:function size:0x240 -PresentGuideKill = .text:0x00004534; // type:function size:0x8C -PresentGuideExecModeSet = .text:0x000045C0; // type:function size:0x44 -PresentGuideExecModeGet = .text:0x00004604; // type:function size:0x1C -ExecGuideEnter = .text:0x00004620; // type:function size:0x260 scope:local -ExecGuideLeave = .text:0x00004880; // type:function size:0x184 scope:local -UpdateGuide = .text:0x00004A04; // type:function size:0x2E8 scope:local -LerpAngle = .text:0x00004CEC; // type:function size:0x104 scope:local +fn_1_144 = .text:0x00000144; // type:function size:0x110 +fn_1_254 = .text:0x00000254; // type:function size:0xE0 +fn_1_334 = .text:0x00000334; // type:function size:0x128 +fn_1_45C = .text:0x0000045C; // type:function size:0xF4 +fn_1_550 = .text:0x00000550; // type:function size:0x34 +fn_1_584 = .text:0x00000584; // type:function size:0x34 +fn_1_5B8 = .text:0x000005B8; // type:function size:0x34 +fn_1_5EC = .text:0x000005EC; // type:function size:0xC8 +fn_1_6B4 = .text:0x000006B4; // type:function size:0x23C +fn_1_8F0 = .text:0x000008F0; // type:function size:0x30 +fn_1_920 = .text:0x00000920; // type:function size:0x84 +fn_1_9A4 = .text:0x000009A4; // type:function size:0x84 +fn_1_A28 = .text:0x00000A28; // type:function size:0x84 +fn_1_AAC = .text:0x00000AAC; // type:function size:0x30 +fn_1_ADC = .text:0x00000ADC; // type:function size:0x30 +fn_1_B0C = .text:0x00000B0C; // type:function size:0x30 +fn_1_B3C = .text:0x00000B3C; // type:function size:0x30 +fn_1_B6C = .text:0x00000B6C; // type:function size:0x8C +fn_1_BF8 = .text:0x00000BF8; // type:function size:0x28 +fn_1_C20 = .text:0x00000C20; // type:function size:0x578 +fn_1_1198 = .text:0x00001198; // type:function size:0x200 +fn_1_1398 = .text:0x00001398; // type:function size:0xC0 +fn_1_1458 = .text:0x00001458; // type:function size:0x32C +fn_1_1784 = .text:0x00001784; // type:function size:0x88 +fn_1_180C = .text:0x0000180C; // type:function size:0x44 +fn_1_1850 = .text:0x00001850; // type:function size:0x1C +fn_1_186C = .text:0x0000186C; // type:function size:0xBC +fn_1_1928 = .text:0x00001928; // type:function size:0x680 +fn_1_1FA8 = .text:0x00001FA8; // type:function size:0x140 +fn_1_20E8 = .text:0x000020E8; // type:function size:0x5A4 +fn_1_268C = .text:0x0000268C; // type:function size:0x7C +fn_1_2708 = .text:0x00002708; // type:function size:0x6C +fn_1_2774 = .text:0x00002774; // type:function size:0x17C +fn_1_28F0 = .text:0x000028F0; // type:function size:0x34 +fn_1_2924 = .text:0x00002924; // type:function size:0x260 +fn_1_2B84 = .text:0x00002B84; // type:function size:0x48 +fn_1_2BCC = .text:0x00002BCC; // type:function size:0x90 +fn_1_2C5C = .text:0x00002C5C; // type:function size:0x738 +fn_1_3394 = .text:0x00003394; // type:function size:0x18 +fn_1_33AC = .text:0x000033AC; // type:function size:0x590 +fn_1_393C = .text:0x0000393C; // type:function size:0x6C +fn_1_39A8 = .text:0x000039A8; // type:function size:0x170 +fn_1_3B18 = .text:0x00003B18; // type:function size:0x74 +fn_1_3B8C = .text:0x00003B8C; // type:function size:0x22C +fn_1_3DB8 = .text:0x00003DB8; // type:function size:0xEC +fn_1_3EA4 = .text:0x00003EA4; // type:function size:0x19C +fn_1_4040 = .text:0x00004040; // type:function size:0x40 +fn_1_4080 = .text:0x00004080; // type:function size:0x18 +fn_1_4098 = .text:0x00004098; // type:function size:0x18 +fn_1_40B0 = .text:0x000040B0; // type:function size:0x54 +fn_1_4104 = .text:0x00004104; // type:function size:0x40 +fn_1_4144 = .text:0x00004144; // type:function size:0x40 +fn_1_4184 = .text:0x00004184; // type:function size:0xC +fn_1_4190 = .text:0x00004190; // type:function size:0xC +fn_1_419C = .text:0x0000419C; // type:function size:0x20 +fn_1_41BC = .text:0x000041BC; // type:function size:0x24 +fn_1_41E0 = .text:0x000041E0; // type:function size:0x114 +fn_1_42F4 = .text:0x000042F4; // type:function size:0x240 +fn_1_4534 = .text:0x00004534; // type:function size:0x8C +fn_1_45C0 = .text:0x000045C0; // type:function size:0x44 +fn_1_4604 = .text:0x00004604; // type:function size:0x1C +fn_1_4620 = .text:0x00004620; // type:function size:0x260 +fn_1_4880 = .text:0x00004880; // type:function size:0x184 +fn_1_4A04 = .text:0x00004A04; // type:function size:0x2E8 +fn_1_4CEC = .text:0x00004CEC; // type:function size:0x104 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -__fakeHalf = .rodata:0x00000000; // type:object size:0x8 data:double -__fakeThree = .rodata:0x00000008; // type:object size:0x8 data:double +__fakeHalf = .rodata:0x00000000; // type:object size:0x4 data:float +__fakeThree = .rodata:0x00000004; // type:object size:0x4 data:float lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:float @@ -95,14 +95,14 @@ lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:f lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -presentMdlTbl = .rodata:0x000000A0; // type:object size:0x218 scope:local -roomTbl = .rodata:0x000002B8; // type:object size:0x708 scope:local +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x218 scope:local +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x708 scope:local lbl_1_rodata_9C0 = .rodata:0x000009C0; // type:object size:0x4 scope:local data:float lbl_1_rodata_9C4 = .rodata:0x000009C4; // type:object size:0x4 scope:local data:float lbl_1_rodata_9C8 = .rodata:0x000009C8; // type:object size:0x4 scope:local data:float lbl_1_rodata_9D0 = .rodata:0x000009D0; // type:object size:0x8 scope:local data:float -roomIdxTbl = .rodata:0x000009D8; // type:object size:0x20 scope:local -roomMessTbl = .rodata:0x000009F8; // type:object size:0x28 scope:local +lbl_1_rodata_9D8 = .rodata:0x000009D8; // type:object size:0x20 scope:local +lbl_1_rodata_9F8 = .rodata:0x000009F8; // type:object size:0x28 scope:local lbl_1_rodata_A20 = .rodata:0x00000A20; // type:object size:0x4 scope:local data:float lbl_1_rodata_A24 = .rodata:0x00000A24; // type:object size:0x4 scope:local data:float lbl_1_rodata_A28 = .rodata:0x00000A28; // type:object size:0x4 scope:local data:float @@ -119,7 +119,7 @@ lbl_1_rodata_A58 = .rodata:0x00000A58; // type:object size:0x4 scope:local data: lbl_1_rodata_A60 = .rodata:0x00000A60; // type:object size:0x8 scope:local data:double lbl_1_rodata_A68 = .rodata:0x00000A68; // type:object size:0x8 scope:local data:double lbl_1_rodata_A70 = .rodata:0x00000A70; // type:object size:0x4 scope:local data:float -roomPresentOffsetTbl = .rodata:0x00000A74; // type:object size:0x28 scope:local +lbl_1_rodata_A74 = .rodata:0x00000A74; // type:object size:0x28 scope:local lbl_1_rodata_A9C = .rodata:0x00000A9C; // type:object size:0x4 scope:local data:float lbl_1_rodata_AA0 = .rodata:0x00000AA0; // type:object size:0x4 scope:local data:float lbl_1_rodata_AA4 = .rodata:0x00000AA4; // type:object size:0x4 scope:local data:float @@ -128,11 +128,11 @@ lbl_1_rodata_AAC = .rodata:0x00000AAC; // type:object size:0x4 scope:local data: lbl_1_rodata_AB0 = .rodata:0x00000AB0; // type:object size:0x4 scope:local data:float lbl_1_rodata_AB8 = .rodata:0x00000AB8; // type:object size:0x8 scope:local data:double lbl_1_rodata_AC0 = .rodata:0x00000AC0; // type:object size:0x8 scope:local data:double -totalPresentCntTbl = .rodata:0x00000AC8; // type:object size:0x28 scope:local -presentItemIdxTbl = .rodata:0x00000AF0; // type:object size:0x28 scope:local +lbl_1_rodata_AC8 = .rodata:0x00000AC8; // type:object size:0x28 scope:local +lbl_1_rodata_AF0 = .rodata:0x00000AF0; // type:object size:0x28 scope:local lbl_1_rodata_B18 = .rodata:0x00000B18; // type:object size:0x28 scope:local -constellationIdxTbl = .rodata:0x00000B40; // type:object size:0x28 scope:local -roofIdxTbl = .rodata:0x00000B68; // type:object size:0x28 scope:local +lbl_1_rodata_B40 = .rodata:0x00000B40; // type:object size:0x28 scope:local +lbl_1_rodata_B68 = .rodata:0x00000B68; // type:object size:0x28 scope:local lbl_1_rodata_B90 = .rodata:0x00000B90; // type:object size:0x4 scope:local data:float lbl_1_rodata_B94 = .rodata:0x00000B94; // type:object size:0x4 scope:local data:float lbl_1_rodata_B98 = .rodata:0x00000B98; // type:object size:0x4 scope:local data:float @@ -148,7 +148,7 @@ lbl_1_rodata_BC4 = .rodata:0x00000BC4; // type:object size:0x4 scope:local data: lbl_1_rodata_BC8 = .rodata:0x00000BC8; // type:object size:0x4 scope:local data:float lbl_1_rodata_BCC = .rodata:0x00000BCC; // type:object size:0x4 scope:local data:float lbl_1_rodata_BD0 = .rodata:0x00000BD0; // type:object size:0x4 scope:local data:float -guideMotTbl = .rodata:0x00000BD8; // type:object size:0xC scope:local +lbl_1_rodata_BD8 = .rodata:0x00000BD8; // type:object size:0xC scope:local lbl_1_rodata_BE4 = .rodata:0x00000BE4; // type:object size:0x4 scope:local data:float lbl_1_rodata_BE8 = .rodata:0x00000BE8; // type:object size:0x4 scope:local data:float lbl_1_rodata_BEC = .rodata:0x00000BEC; // type:object size:0x4 scope:local data:float @@ -171,23 +171,22 @@ lbl_1_rodata_C48 = .rodata:0x00000C48; // type:object size:0x4 scope:local data: lbl_1_rodata_C4C = .rodata:0x00000C4C; // type:object size:0x4 scope:local data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x1B scope:local data:string lbl_1_data_1B = .data:0x0000001B; // type:object size:0x1B scope:local data:string -lbl_1_data_36 = .data:0x00000036; // type:object size:0x16 scope:local data:string -lightTbl = .data:0x00000050; // type:object size:0x1C scope:local data:4byte -execModeTbl = .data:0x0000006C; // type:object size:0x10 scope:local data:4byte -lbl_1_data_7C = .data:0x0000007C; // type:object size:0x7 scope:local data:string -roomIdxTbl2 = .data:0x00000084; // type:object size:0x20 +lbl_1_data_36 = .data:0x00000036; // type:object size:0x1A scope:local data:string +lbl_1_data_50 = .data:0x00000050; // type:object size:0x1C data:4byte +lbl_1_data_6C = .data:0x0000006C; // type:object size:0x10 data:4byte +lbl_1_data_7C = .data:0x0000007C; // type:object size:0x8 scope:local data:string +lbl_1_data_84 = .data:0x00000084; // type:object size:0x20 jumptable_1_data_A4 = .data:0x000000A4; // type:object size:0x2C scope:local jumptable_1_data_D0 = .data:0x000000D0; // type:object size:0x1C scope:local -shadowPosTbl = .data:0x000000F0; // type:object size:0x24 scope:local data:float +lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x24 data:float lbl_1_data_114 = .data:0x00000114; // type:object size:0x2A scope:local data:string -lbl_1_data_13E = .data:0x0000013E; // type:object size:0x2B scope:local data:string +lbl_1_data_13E = .data:0x0000013E; // type:object size:0x2E scope:local data:string jumptable_1_data_16C = .data:0x0000016C; // type:object size:0x34 scope:local -execModeTbl = .data:0x000001A0; // type:object size:0xC scope:local data:4byte -scene = .bss:0x00000000; // type:object size:0x4 scope:local data:4byte -presentObjMan = .bss:0x00000004; // type:object size:0x4 data:4byte -presentCamera = .bss:0x00000008; // type:object size:0x4 data:4byte +lbl_1_data_1A0 = .data:0x000001A0; // type:object size:0xC data:4byte +lbl_1_bss_14 = .bss:0x00000000; // type:object size:0x4 data:4byte +lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte +lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -present = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -presentState = .bss:0x00000018; // type:object size:0x4 data:4byte -presentGuide = .bss:0x00000020; // type:object size:0x4 data:4byte +lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte +lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte +lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/resultDll/symbols.txt b/config/GMPE01_00/rels/resultDll/symbols.txt index db16ef1b..b0b7a9af 100644 --- a/config/GMPE01_00/rels/resultDll/symbols.txt +++ b/config/GMPE01_00/rels/resultDll/symbols.txt @@ -1,34 +1,34 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global ObjectSetup = .text:0x000000A0; // type:function size:0x438 -ResultMain = .text:0x000004D8; // type:function size:0x3B0 scope:local -ResultIdle = .text:0x00000888; // type:function size:0x2F0 scope:local -ResultCreate = .text:0x00000B78; // type:function size:0x13D4 scope:local -ResultStatAdd = .text:0x00001F4C; // type:function size:0xB90 scope:local -ResultOrderApply = .text:0x00002ADC; // type:function size:0x1074 scope:local -ResultSprNumSet = .text:0x00003B50; // type:function size:0x15C scope:local -ResultCoinAddNumSet = .text:0x00003CAC; // type:function size:0x15C scope:local -ResultOrderSet = .text:0x00003E08; // type:function size:0x1D0 scope:local -ResultBoardDataRead = .text:0x00003FD8; // type:function size:0x104 -ResultCoinAdd = .text:0x000040DC; // type:function size:0x160 -ResultCoinNumGet = .text:0x0000423C; // type:function size:0x3E0 -SaveExec = .text:0x0000461C; // type:function size:0x1E0 scope:local -ResultTeamExec = .text:0x000047FC; // type:function size:0x1084 scope:local -CameraDebug = .text:0x00005880; // type:function size:0xC10 -ResultBattleMain = .text:0x00006490; // type:function size:0x2D0 -ResultBattleIdle = .text:0x00006760; // type:function size:0xC4 scope:local -ResultBattleCreate = .text:0x00006824; // type:function size:0xD20 scope:local -ResultBattleStatAdd = .text:0x00007544; // type:function size:0xA54 scope:local -ResultBattleCoinAddShow = .text:0x00007F98; // type:function size:0x3A0 scope:local -ResultBattleCoinAddNumSet = .text:0x00008338; // type:function size:0x14C scope:local -ResultBattleOrderSet = .text:0x00008484; // type:function size:0x1D4 scope:local -CoinEffectInit = .text:0x00008658; // type:function size:0x84 scope:local -CoinEffectAdd = .text:0x000086DC; // type:function size:0x2BC scope:local -CoinEffectMain = .text:0x00008998; // type:function size:0x320 scope:local -ResultShadowDraw = .text:0x00008CB8; // type:function size:0x340 scope:local -StageModelCreate = .text:0x00008FF8; // type:function size:0x284 -StageSpriteCreate = .text:0x0000927C; // type:function size:0x138 -StageSpriteKill = .text:0x000093B4; // type:function size:0x78 +fn_1_4D8 = .text:0x000004D8; // type:function size:0x3B0 +fn_1_888 = .text:0x00000888; // type:function size:0x2F0 +fn_1_B78 = .text:0x00000B78; // type:function size:0x13D4 +fn_1_1F4C = .text:0x00001F4C; // type:function size:0xB90 +fn_1_2ADC = .text:0x00002ADC; // type:function size:0x1074 +fn_1_3B50 = .text:0x00003B50; // type:function size:0x15C +fn_1_3CAC = .text:0x00003CAC; // type:function size:0x15C +fn_1_3E08 = .text:0x00003E08; // type:function size:0x1D0 +fn_1_3FD8 = .text:0x00003FD8; // type:function size:0x104 +fn_1_40DC = .text:0x000040DC; // type:function size:0x160 +fn_1_423C = .text:0x0000423C; // type:function size:0x3E0 +fn_1_461C = .text:0x0000461C; // type:function size:0x1E0 +fn_1_47FC = .text:0x000047FC; // type:function size:0x1084 +fn_1_5880 = .text:0x00005880; // type:function size:0xC10 +fn_1_6490 = .text:0x00006490; // type:function size:0x2D0 +fn_1_6760 = .text:0x00006760; // type:function size:0xC4 +fn_1_6824 = .text:0x00006824; // type:function size:0xD20 +fn_1_7544 = .text:0x00007544; // type:function size:0xA54 +fn_1_7F98 = .text:0x00007F98; // type:function size:0x3A0 +fn_1_8338 = .text:0x00008338; // type:function size:0x14C +fn_1_8484 = .text:0x00008484; // type:function size:0x1D4 +fn_1_8658 = .text:0x00008658; // type:function size:0x84 +fn_1_86DC = .text:0x000086DC; // type:function size:0x2BC +fn_1_8998 = .text:0x00008998; // type:function size:0x320 +fn_1_8CB8 = .text:0x00008CB8; // type:function size:0x340 +fn_1_8FF8 = .text:0x00008FF8; // type:function size:0x284 +fn_1_927C = .text:0x0000927C; // type:function size:0x138 +fn_1_93B4 = .text:0x000093B4; // type:function size:0x78 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float @@ -94,7 +94,7 @@ lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data: lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:float lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float @@ -134,77 +134,77 @@ lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data: lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -resultModel = .data:0x00000000; // type:object size:0x2A4 scope:local -resultSprite = .data:0x000002A4; // type:object size:0xDC scope:local data:4byte -rankNewGrpId = .data:0x00000380; // type:object size:0x2 scope:local data:2byte +lbl_1_data_0 = .data:0x00000000; // type:object size:0x2A4 +lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0xDC data:4byte +lbl_1_data_380 = .data:0x00000380; // type:object size:0x2 data:2byte lbl_1_data_382 = .data:0x00000382; // type:object size:0x26 scope:local data:string -resultBackFile = .data:0x000003A8; // type:object size:0x18 scope:local -resultLetterFile = .data:0x000003C0; // type:object size:0x18 scope:local -resultStatPosTbl = .data:0x000003D8; // type:object size:0x20 scope:local -resultRankPosTbl = .data:0x000003F8; // type:object size:0x10 scope:local -resultCharPosTbl = .data:0x00000408; // type:object size:0x30 scope:local -resultCoinAddPosTbl = .data:0x00000438; // type:object size:0x10 scope:local -lbl_1_data_448 = .data:0x00000448; // type:object size:0x5 scope:local data:string -resultBoardDirTbl = .data:0x00000450; // type:object size:0x18 scope:local -resultCharMdlTbl = .data:0x00000468; // type:object size:0x20 scope:local -resultTeamCharPosTbl = .data:0x00000488; // type:object size:0x30 scope:local +lbl_1_data_3A8 = .data:0x000003A8; // type:object size:0x18 +lbl_1_data_3C0 = .data:0x000003C0; // type:object size:0x18 +lbl_1_data_3D8 = .data:0x000003D8; // type:object size:0x20 +lbl_1_data_3F8 = .data:0x000003F8; // type:object size:0x10 +lbl_1_data_408 = .data:0x00000408; // type:object size:0x30 +lbl_1_data_438 = .data:0x00000438; // type:object size:0x10 +lbl_1_data_448 = .data:0x00000448; // type:object size:0x8 scope:local +lbl_1_data_450 = .data:0x00000450; // type:object size:0x18 +lbl_1_data_468 = .data:0x00000468; // type:object size:0x20 +lbl_1_data_488 = .data:0x00000488; // type:object size:0x30 lbl_1_data_4B8 = .data:0x000004B8; // type:object size:0x11 scope:local data:string lbl_1_data_4C9 = .data:0x000004C9; // type:object size:0x11 scope:local data:string lbl_1_data_4DA = .data:0x000004DA; // type:object size:0xB scope:local data:string -resultBattleModel = .data:0x000004E8; // type:object size:0x270 scope:local -resultBattleSprite = .data:0x00000758; // type:object size:0x28 scope:local -resultBattleEffParMan = .data:0x00000780; // type:object size:0x50 scope:local -resultStatPosTbl = .data:0x000007D0; // type:object size:0x20 scope:local -playerPosTbl = .data:0x000007F0; // type:object size:0x30 scope:local +lbl_1_data_4E8 = .data:0x000004E8; // type:object size:0x270 +lbl_1_data_758 = .data:0x00000758; // type:object size:0x28 +lbl_1_data_780 = .data:0x00000780; // type:object size:0x50 +lbl_1_data_7D0 = .data:0x000007D0; // type:object size:0x20 +lbl_1_data_7F0 = .data:0x000007F0; // type:object size:0x30 lbl_1_data_820 = .data:0x00000820; // type:object size:0x10 -bomheiCubeMdlTbl = .data:0x00000830; // type:object size:0x10 scope:local -coinEffectYOfs = .data:0x00000840; // type:object size:0x20 scope:local -coinAddYOfs = .data:0x00000860; // type:object size:0x20 scope:local -coinBlankYOfs = .data:0x00000880; // type:object size:0x20 scope:local -coinNumXOfs = .data:0x000008A0; // type:object size:0x6 scope:local data:2byte -lbl_1_data_8A6 = .data:0x000008A6; // type:object size:0x8 scope:local data:string -lbl_1_data_8AE = .data:0x000008AE; // type:object size:0x8 scope:local data:string -cameraShakeOfs = .data:0x000008B8; // type:object size:0x60 scope:local -resultReorderF = .bss:0x00000000; // type:object size:0x4 scope:local data:4byte -resultSkipF = .bss:0x00000004; // type:object size:0x4 scope:local data:4byte -resultTeamOrder = .bss:0x00000008; // type:object size:0x2 scope:local data:2byte -resultCharCubeMdlId = .bss:0x0000000A; // type:object size:0x8 scope:local -resultCoinAddSprId = .bss:0x00000012; // type:object size:0x28 scope:local -resultCoinAddGrpId = .bss:0x0000003A; // type:object size:0x8 scope:local -resultRank = .bss:0x00000042; // type:object size:0x8 scope:local -resultOrder = .bss:0x0000004A; // type:object size:0x8 scope:local -resultRankGrpId = .bss:0x00000052; // type:object size:0x2 scope:local data:2byte -resultPlayerCubeMdlId = .bss:0x00000054; // type:object size:0x8 scope:local -resultCubeMdlId = .bss:0x0000005C; // type:object size:0x40 scope:local -resultCrownGrpId = .bss:0x0000009C; // type:object size:0x2 scope:local data:2byte -resultNumSprId = .bss:0x0000009E; // type:object size:0x30 scope:local -resultNumGrpId = .bss:0x000000CE; // type:object size:0x10 scope:local -resultCrownAnim = .bss:0x000000E0; // type:object size:0x4 scope:local data:4byte -resultCharAnim = .bss:0x000000E4; // type:object size:0x60 scope:local -resultRankAnim = .bss:0x00000144; // type:object size:0x14 scope:local -statShadowMdlId = .bss:0x00000158; // type:object size:0x10 scope:local -charShadowMdlId = .bss:0x00000168; // type:object size:0x8 scope:local -teamResultGrpId = .bss:0x00000170; // type:object size:0x2 scope:local data:2byte -resultBonusPlayer = .bss:0x00000172; // type:object size:0x2 data:2byte -resultFastF = .bss:0x00000174; // type:object size:0x4 data:4byte -resultReadEndF = .bss:0x00000178; // type:object size:0x4 data:4byte -resultMgNo = .bss:0x0000017C; // type:object size:0x2 data:2byte -objman = .bss:0x00000180; // type:object size:0x4 data:4byte -outViewObj = .bss:0x00000184; // type:object size:0x4 scope:local data:4byte +lbl_1_data_830 = .data:0x00000830; // type:object size:0x10 +lbl_1_data_840 = .data:0x00000840; // type:object size:0x20 +lbl_1_data_860 = .data:0x00000860; // type:object size:0x20 +lbl_1_data_880 = .data:0x00000880; // type:object size:0x20 +lbl_1_data_8A0 = .data:0x000008A0; // type:object size:0x6 data:2byte +lbl_1_data_8A6 = .data:0x000008A6; // type:object size:0x8 scope:local data:float +lbl_1_data_8AE = .data:0x000008AE; // type:object size:0x8 scope:local data:float +lbl_1_data_8B8 = .data:0x000008B8; // type:object size:0x60 +lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte +lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte +lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x2 data:2byte +lbl_1_bss_A = .bss:0x0000000A; // type:object size:0x8 +lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x28 +lbl_1_bss_3A = .bss:0x0000003A; // type:object size:0x8 +lbl_1_bss_42 = .bss:0x00000042; // type:object size:0x8 +lbl_1_bss_4A = .bss:0x0000004A; // type:object size:0x8 +lbl_1_bss_52 = .bss:0x00000052; // type:object size:0x2 data:2byte +lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x8 +lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x40 +lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0x2 data:2byte +lbl_1_bss_9E = .bss:0x0000009E; // type:object size:0x30 +lbl_1_bss_CE = .bss:0x000000CE; // type:object size:0x12 +lbl_1_bss_E0 = .bss:0x000000E0; // type:object size:0x4 data:4byte +lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x60 +lbl_1_bss_144 = .bss:0x00000144; // type:object size:0x14 +lbl_1_bss_158 = .bss:0x00000158; // type:object size:0x10 +lbl_1_bss_168 = .bss:0x00000168; // type:object size:0x8 +lbl_1_bss_170 = .bss:0x00000170; // type:object size:0x2 data:2byte +lbl_1_bss_172 = .bss:0x00000172; // type:object size:0x2 data:2byte +lbl_1_bss_174 = .bss:0x00000174; // type:object size:0x4 data:4byte +lbl_1_bss_178 = .bss:0x00000178; // type:object size:0x4 data:4byte +lbl_1_bss_17C = .bss:0x0000017C; // type:object size:0x2 data:2byte +lbl_1_bss_180 = .bss:0x00000180; // type:object size:0x4 data:4byte +lbl_1_bss_184 = .bss:0x00000184; // type:object size:0x4 data:4byte lbl_1_bss_188 = .bss:0x00000188; // type:object size:0x4 data:4byte -resultBattleSkipF = .bss:0x00000190; // type:object size:0x4 scope:local data:4byte -coinEffectData = .bss:0x00000194; // type:object size:0x1680 scope:local -resultBattleEffParManId = .bss:0x00001814; // type:object size:0x8 scope:local +lbl_1_bss_190 = .bss:0x00000190; // type:object size:0x4 data:4byte +lbl_1_bss_194 = .bss:0x00000194; // type:object size:0x1680 +lbl_1_bss_1814 = .bss:0x00001814; // type:object size:0x8 lbl_1_bss_181C = .bss:0x0000181C; // type:object size:0xC -coinEffectMdlId = .bss:0x00001828; // type:object size:0x168 scope:local data:2byte -resultBattleCharMot = .bss:0x00001990; // type:object size:0x20 scope:local -resultBattleCharMdl = .bss:0x000019B0; // type:object size:0x8 scope:local -coinNumSprId = .bss:0x000019B8; // type:object size:0x28 scope:local -coinNumGrpId = .bss:0x000019E0; // type:object size:0x8 scope:local -resultBattleRank = .bss:0x000019E8; // type:object size:0x8 scope:local -resultBattleOrder = .bss:0x000019F0; // type:object size:0x8 scope:local +lbl_1_bss_1828 = .bss:0x00001828; // type:object size:0x168 data:2byte +lbl_1_bss_1990 = .bss:0x00001990; // type:object size:0x20 +lbl_1_bss_19B0 = .bss:0x000019B0; // type:object size:0x8 +lbl_1_bss_19B8 = .bss:0x000019B8; // type:object size:0x28 +lbl_1_bss_19E0 = .bss:0x000019E0; // type:object size:0x8 +lbl_1_bss_19E8 = .bss:0x000019E8; // type:object size:0x8 +lbl_1_bss_19F0 = .bss:0x000019F0; // type:object size:0x8 lbl_1_bss_19F8 = .bss:0x000019F8; // type:object size:0x20 lbl_1_bss_1A18 = .bss:0x00001A18; // type:object size:0x2 -stageSprId = .bss:0x00001A1A; // type:object size:0x42 data:2byte -stageMotId = .bss:0x00001A5C; // type:object size:0x40 data:2byte -stageSprId = .bss:0x00001A9C; // type:object size:0x40 data:2byte +lbl_1_bss_1A1A = .bss:0x00001A1A; // type:object size:0x42 data:2byte +lbl_1_bss_1A5C = .bss:0x00001A5C; // type:object size:0x40 data:2byte +lbl_1_bss_1A9C = .bss:0x00001A9C; // type:object size:0x40 data:2byte diff --git a/config/GMPE01_00/rels/w01Dll/splits.txt b/config/GMPE01_00/rels/w01Dll/splits.txt index 8e0a4285..7baca9d9 100644 --- a/config/GMPE01_00/rels/w01Dll/splits.txt +++ b/config/GMPE01_00/rels/w01Dll/splits.txt @@ -11,13 +11,13 @@ REL/board_executor.c: .rodata start:0x00000000 end:0x00000010 REL/w01Dll/main.c: - .text start:0x000000E0 end:0x00009DD8 + .text start:0x000000E0 end:0x00009D00 .rodata start:0x00000010 end:0x00000198 .data start:0x00000000 end:0x00000658 .bss start:0x00000000 end:0x00000708 REL/w01Dll/mg_coin.c: - .text start:0x00009DD8 end:0x0000D740 + .text start:0x00009D00 end:0x0000D740 .rodata start:0x00000198 end:0x000002C8 .data start:0x00000658 end:0x00000F08 .bss start:0x00000708 end:0x000007A0 diff --git a/config/GMPE01_00/rels/w01Dll/symbols.txt b/config/GMPE01_00/rels/w01Dll/symbols.txt index 66542f00..ad0e3d24 100644 --- a/config/GMPE01_00/rels/w01Dll/symbols.txt +++ b/config/GMPE01_00/rels/w01Dll/symbols.txt @@ -3,137 +3,137 @@ _prolog = .text:0x00000030; // type:function size:0x64 scope:global _epilog = .text:0x00000094; // type:function size:0x4C scope:global BoardCreate = .text:0x000000E0; // type:function size:0x4BC BoardDestroy = .text:0x0000059C; // type:function size:0x194 -LightSetHook = .text:0x00000730; // type:function size:0x44 scope:local -LightResetHook = .text:0x00000774; // type:function size:0x4 scope:local -LandEvent = .text:0x00000778; // type:function size:0x9C scope:local -WalkEvent = .text:0x00000814; // type:function size:0x1D4 scope:local -MapObjDispSet = .text:0x000009E8; // type:function size:0x318 scope:local +fn_1_730 = .text:0x00000730; // type:function size:0x44 scope:local +fn_1_774 = .text:0x00000774; // type:function size:0x4 scope:local +fn_1_778 = .text:0x00000778; // type:function size:0x9C scope:local +fn_1_814 = .text:0x00000814; // type:function size:0x1D4 scope:local +fn_1_9E8 = .text:0x000009E8; // type:function size:0x318 scope:local fn_1_D00 = .text:0x00000D00; // type:function size:0x4 scope:local -RoundItemMain = .text:0x00000D04; // type:function size:0x550 scope:local -RoundItemDestroy = .text:0x00001254; // type:function size:0x38 scope:local -RoundItemEvent = .text:0x0000128C; // type:function size:0x80 scope:local -SpaceAmidaEvent = .text:0x0000130C; // type:function size:0x270 scope:local -WalkMiniEvent = .text:0x0000157C; // type:function size:0xF4 scope:local -UpdateHostDisp = .text:0x00001670; // type:function size:0x90 scope:local -CoasterInit = .text:0x00001700; // type:function size:0x290 scope:local -CoasterPathUpdate = .text:0x00001990; // type:function size:0x148 scope:local -CoasterPosCalc = .text:0x00001AD8; // type:function size:0x64 scope:local -CoasterCameraUpdate = .text:0x00001B3C; // type:function size:0x3A8 scope:local -CoasterCameraObjKill = .text:0x00001EE4; // type:function size:0x48 scope:local -CoasterCameraObjMain = .text:0x00001F2C; // type:function size:0x78 scope:local -CoasterCameraObjUpdate = .text:0x00001FA4; // type:function size:0x580 scope:local -CoasterStickRotGet = .text:0x00002524; // type:function size:0x248 scope:local -CoasterRotUpdate = .text:0x0000276C; // type:function size:0x7AC scope:local -CoasterCoinCheck = .text:0x00002F18; // type:function size:0x438 scope:local -CoasterPathMotUpdate = .text:0x00003350; // type:function size:0x1C4 scope:local -CoasterMotCreate = .text:0x00003514; // type:function size:0xA0 scope:local -CoasterMotKill = .text:0x000035B4; // type:function size:0x70 scope:local -CoasterExec = .text:0x00003624; // type:function size:0xFD0 scope:local -CoasterExit = .text:0x000045F4; // type:function size:0x180 scope:local -CoasterWinCreate = .text:0x00004774; // type:function size:0xF0 scope:local -CoasterWinKill = .text:0x00004864; // type:function size:0x50 scope:local -CoasterHostExec = .text:0x000048B4; // type:function size:0x560 scope:local -CoasterMain = .text:0x00004E14; // type:function size:0x194 scope:local -CoasterDestroy = .text:0x00004FA8; // type:function size:0x30 scope:local -CoasterEvent = .text:0x00004FD8; // type:function size:0xFC scope:local -CoasterCoinCreate = .text:0x000050D4; // type:function size:0x2E4 scope:local -CoasterCoinKill = .text:0x000053B8; // type:function size:0x84 scope:local -CupInit = .text:0x0000543C; // type:function size:0x258 scope:local -CupMotOnSet = .text:0x00005694; // type:function size:0x1D8 scope:local -CupEvent = .text:0x0000586C; // type:function size:0xC0 scope:local -CupMain = .text:0x0000592C; // type:function size:0x200 scope:local -CupDestroy = .text:0x00005B2C; // type:function size:0x14 scope:local -CupExec = .text:0x00005B40; // type:function size:0x190 scope:local -CupObjCheck = .text:0x00005CD0; // type:function size:0x38 scope:local -CupObjCreate = .text:0x00005D08; // type:function size:0x390 scope:local -CupObjMain = .text:0x00006098; // type:function size:0xFC scope:local -CupObjInit = .text:0x00006194; // type:function size:0x25C scope:local -CupObjJumpWait = .text:0x000063F0; // type:function size:0x624 scope:local -CupObjHookReset = .text:0x00006A14; // type:function size:0x1AC scope:local -CupObjStop = .text:0x00006BC0; // type:function size:0x3F4 scope:local -CupObjRotate = .text:0x00006FB4; // type:function size:0x574 scope:local -CupLandEvent = .text:0x00007528; // type:function size:0x2C4 scope:local -CoasterLandEvent = .text:0x000077EC; // type:function size:0xA8 scope:local -CoasterLandMain = .text:0x00007894; // type:function size:0x1D0 scope:local -CoasterLandExec = .text:0x00007A64; // type:function size:0xAC8 scope:local -CoasterPlayerManCreate = .text:0x0000852C; // type:function size:0x280 scope:local -CoasterPlayerManKill = .text:0x000087AC; // type:function size:0x34 scope:local -CoasterPlayerManUpdate = .text:0x000087E0; // type:function size:0x1A8 scope:local -CoasterPlayerWait = .text:0x00008988; // type:function size:0xC8 scope:local -CoasterPlayerChaseBegin = .text:0x00008A50; // type:function size:0x11C scope:local -CoasterPlayerChasePathSet = .text:0x00008B6C; // type:function size:0x270 scope:local -CoasterPlayerChase = .text:0x00008DDC; // type:function size:0x3B0 scope:local -CoasterPlayerStop = .text:0x0000918C; // type:function size:0xF0 scope:local -CoasterPlayerEnd = .text:0x0000927C; // type:function size:0xB0 scope:local -CoasterPlayerEndSet = .text:0x0000932C; // type:function size:0x17C scope:local -CoasterPlayerLoopCheck = .text:0x000094A8; // type:function size:0x14C scope:local -CoasterPlayerTimeInit = .text:0x000095F4; // type:function size:0x200 scope:local -CoasterEffCreate = .text:0x000097F4; // type:function size:0xF8 scope:local -CoasterEffKill = .text:0x000098EC; // type:function size:0x34 scope:local -CoasterEffUpdate = .text:0x00009920; // type:function size:0x104 scope:local -CoasterEffAdd = .text:0x00009A24; // type:function size:0x198 scope:local -CoasterEffModelUpdate = .text:0x00009BBC; // type:function size:0x144 scope:local -CoasterHostComKeySet = .text:0x00009D00; // type:function size:0xD8 scope:local -SpaceAmidaExec = .text:0x00009DD8; // type:function size:0x6E0 -SpaceAmidaMainUpdate = .text:0x0000A4B8; // type:function size:0x9C scope:local -SpaceAmidaStop = .text:0x0000A554; // type:function size:0xA8 scope:local -SpaceAmidaKill = .text:0x0000A5FC; // type:function size:0xE4 scope:local -SpaceAmidaRocketObjUpdate = .text:0x0000A6E0; // type:function size:0x938 scope:local -SpaceAmidaMapLenGet = .text:0x0000B018; // type:function size:0x70 scope:local -SpaceAmidaComChoiceSet = .text:0x0000B088; // type:function size:0x144 scope:local -SpaceAmidaComInputGet = .text:0x0000B1CC; // type:function size:0x1EC scope:local -SpaceAmidaGameOpen = .text:0x0000B3B8; // type:function size:0xC0 scope:local -SpaceAmidaGameUpdate = .text:0x0000B478; // type:function size:0x680 scope:local -SpaceAmidaRocketJump = .text:0x0000BAF8; // type:function size:0x1E4 scope:local -SpaceAmidaRocketKemuriExec = .text:0x0000BCDC; // type:function size:0x224 scope:local -SpaceAmidaRocketWait = .text:0x0000BF00; // type:function size:0x68 scope:local -SpaceAmidaRocketUp = .text:0x0000BF68; // type:function size:0x98 scope:local -SpaceAmidaCoinWin = .text:0x0000C000; // type:function size:0xFC scope:local -SpaceAmidaJumpDown = .text:0x0000C0FC; // type:function size:0x160 scope:local -SpaceAmidaCoinRainMain = .text:0x0000C25C; // type:function size:0x5E8 scope:local -SpaceAmidaReturnWinMain = .text:0x0000C844; // type:function size:0x50 scope:local -SpaceAmidaGameStop = .text:0x0000C894; // type:function size:0xB8 scope:local -SpaceAmidaDirGet = .text:0x0000C94C; // type:function size:0x4C scope:local -SpaceAmidaAngleGet = .text:0x0000C998; // type:function size:0x1AC scope:local -SpaceAmidaPlayerRotAdd = .text:0x0000CB44; // type:function size:0x380 scope:local -SpaceAmidaEffCreate = .text:0x0000CEC4; // type:function size:0x170 scope:local -SpaceAmidaEffKill = .text:0x0000D034; // type:function size:0x48 scope:local -SpaceAmidaEffUpdate = .text:0x0000D07C; // type:function size:0x98 scope:local -SpaceAmidaEffParticleHook = .text:0x0000D114; // type:function size:0x62C scope:local -RoundItemInit = .text:0x0000D740; // type:function size:0x644 -RoundItemKill = .text:0x0000DD84; // type:function size:0x110 -RoundItemEventStart = .text:0x0000DE94; // type:function size:0x26C -RoundItemEnd = .text:0x0000E100; // type:function size:0x54 scope:local -RoundItemClose = .text:0x0000E154; // type:function size:0x164 scope:local -RoundItemMainUpdate = .text:0x0000E2B8; // type:function size:0x194 scope:local -RoundItemUmaStop = .text:0x0000E44C; // type:function size:0x4C8 scope:local -RoundItemPlayerJump = .text:0x0000E914; // type:function size:0x3C0 scope:local -RoundItemStartWait = .text:0x0000ECD4; // type:function size:0x1CC scope:local -RoundItemComInputGet = .text:0x0000EEA0; // type:function size:0x38 scope:local -RoundItemInputWait = .text:0x0000EED8; // type:function size:0x1C4 scope:local -RoundItemStop = .text:0x0000F09C; // type:function size:0x2AC scope:local -RoundItemLightFlicker = .text:0x0000F348; // type:function size:0xB0 scope:local -RoundItemUmaJumpWait = .text:0x0000F3F8; // type:function size:0x2F0 scope:local -RoundItemUmaJump = .text:0x0000F6E8; // type:function size:0x1A8 scope:local -RoundItemRotatePlayer = .text:0x0000F890; // type:function size:0x18C scope:local -RoundItemStreamWait = .text:0x0000FA1C; // type:function size:0xA0 scope:local -RoundItemWinWait = .text:0x0000FABC; // type:function size:0x9C scope:local -ItemGetWinExec = .text:0x0000FB58; // type:function size:0xE4 scope:local -ItemGetShrinkWait = .text:0x0000FC3C; // type:function size:0xB0 scope:local -ItemGetReturnWinExec = .text:0x0000FCEC; // type:function size:0x50 scope:local -RoundItemGameClose = .text:0x0000FD3C; // type:function size:0x108 scope:local -RoundItemGameEnd = .text:0x0000FE44; // type:function size:0x8C scope:local -RoundItemItemUpdate = .text:0x0000FED0; // type:function size:0x14C scope:local -RoundItemItemGet = .text:0x0001001C; // type:function size:0x19C scope:local -ItemGetCreate = .text:0x000101B8; // type:function size:0x4AC scope:local -ItemGetObjUpdate = .text:0x00010664; // type:function size:0x1BC scope:local -ItemGetPlayerMove = .text:0x00010820; // type:function size:0x2C8 scope:local -ItemGetShrink = .text:0x00010AE8; // type:function size:0xC8 scope:local -RoundItemUmaRotYGet = .text:0x00010BB0; // type:function size:0x140 scope:local -RoundItemUmaPlayerSet = .text:0x00010CF0; // type:function size:0x1C8 scope:local -RoundItemAngleGet = .text:0x00010EB8; // type:function size:0x1AC scope:local -ItemGetEff1Hook = .text:0x00011064; // type:function size:0x420 scope:local -ItemGetEff2Hook = .text:0x00011484; // type:function size:0x56C scope:local +fn_1_D04 = .text:0x00000D04; // type:function size:0x550 scope:local +fn_1_1254 = .text:0x00001254; // type:function size:0x38 scope:local +fn_1_128C = .text:0x0000128C; // type:function size:0x80 scope:local +fn_1_130C = .text:0x0000130C; // type:function size:0x270 scope:local +fn_1_157C = .text:0x0000157C; // type:function size:0xF4 scope:local +fn_1_1670 = .text:0x00001670; // type:function size:0x90 scope:local +fn_1_1700 = .text:0x00001700; // type:function size:0x290 scope:local +fn_1_1990 = .text:0x00001990; // type:function size:0x148 scope:local +fn_1_1AD8 = .text:0x00001AD8; // type:function size:0x64 scope:local +fn_1_1B3C = .text:0x00001B3C; // type:function size:0x3A8 scope:local +fn_1_1EE4 = .text:0x00001EE4; // type:function size:0x48 scope:local +fn_1_1F2C = .text:0x00001F2C; // type:function size:0x78 scope:local +fn_1_1FA4 = .text:0x00001FA4; // type:function size:0x580 scope:local +fn_1_2524 = .text:0x00002524; // type:function size:0x248 scope:local +fn_1_276C = .text:0x0000276C; // type:function size:0x7AC scope:local +fn_1_2F18 = .text:0x00002F18; // type:function size:0x438 scope:local +fn_1_3350 = .text:0x00003350; // type:function size:0x1C4 scope:local +fn_1_3514 = .text:0x00003514; // type:function size:0xA0 scope:local +fn_1_35B4 = .text:0x000035B4; // type:function size:0x70 scope:local +fn_1_3624 = .text:0x00003624; // type:function size:0xFD0 scope:local +fn_1_45F4 = .text:0x000045F4; // type:function size:0x180 scope:local +fn_1_4774 = .text:0x00004774; // type:function size:0xF0 scope:local +fn_1_4864 = .text:0x00004864; // type:function size:0x50 scope:local +fn_1_48B4 = .text:0x000048B4; // type:function size:0x560 scope:local +fn_1_4E14 = .text:0x00004E14; // type:function size:0x194 scope:local +fn_1_4FA8 = .text:0x00004FA8; // type:function size:0x30 scope:local +fn_1_4FD8 = .text:0x00004FD8; // type:function size:0xFC scope:local +fn_1_50D4 = .text:0x000050D4; // type:function size:0x2E4 scope:local +fn_1_53B8 = .text:0x000053B8; // type:function size:0x84 scope:local +fn_1_543C = .text:0x0000543C; // type:function size:0x258 scope:local +fn_1_5694 = .text:0x00005694; // type:function size:0x1D8 scope:local +fn_1_586C = .text:0x0000586C; // type:function size:0xC0 scope:local +fn_1_592C = .text:0x0000592C; // type:function size:0x200 scope:local +fn_1_5B2C = .text:0x00005B2C; // type:function size:0x14 scope:local +fn_1_5B40 = .text:0x00005B40; // type:function size:0x190 scope:local +fn_1_5CD0 = .text:0x00005CD0; // type:function size:0x38 scope:local +fn_1_5D08 = .text:0x00005D08; // type:function size:0x390 scope:local +fn_1_6098 = .text:0x00006098; // type:function size:0xFC scope:local +fn_1_6194 = .text:0x00006194; // type:function size:0x25C scope:local +fn_1_63F0 = .text:0x000063F0; // type:function size:0x624 scope:local +fn_1_6A14 = .text:0x00006A14; // type:function size:0x1AC scope:local +fn_1_6BC0 = .text:0x00006BC0; // type:function size:0x3F4 scope:local +fn_1_6FB4 = .text:0x00006FB4; // type:function size:0x574 scope:local +fn_1_7528 = .text:0x00007528; // type:function size:0x2C4 scope:local +fn_1_77EC = .text:0x000077EC; // type:function size:0xA8 scope:local +fn_1_7894 = .text:0x00007894; // type:function size:0x1D0 scope:local +fn_1_7A64 = .text:0x00007A64; // type:function size:0xAC8 scope:local +fn_1_852C = .text:0x0000852C; // type:function size:0x280 scope:local +fn_1_87AC = .text:0x000087AC; // type:function size:0x34 scope:local +fn_1_87E0 = .text:0x000087E0; // type:function size:0x1A8 scope:local +fn_1_8988 = .text:0x00008988; // type:function size:0xC8 scope:local +fn_1_8A50 = .text:0x00008A50; // type:function size:0x11C scope:local +fn_1_8B6C = .text:0x00008B6C; // type:function size:0x270 scope:local +fn_1_8DDC = .text:0x00008DDC; // type:function size:0x3B0 scope:local +fn_1_918C = .text:0x0000918C; // type:function size:0xF0 scope:local +fn_1_927C = .text:0x0000927C; // type:function size:0xB0 scope:local +fn_1_932C = .text:0x0000932C; // type:function size:0x17C scope:local +fn_1_94A8 = .text:0x000094A8; // type:function size:0x14C scope:local +fn_1_95F4 = .text:0x000095F4; // type:function size:0x200 scope:local +fn_1_97F4 = .text:0x000097F4; // type:function size:0xF8 scope:local +fn_1_98EC = .text:0x000098EC; // type:function size:0x34 scope:local +fn_1_9920 = .text:0x00009920; // type:function size:0x104 scope:local +fn_1_9A24 = .text:0x00009A24; // type:function size:0x198 scope:local +fn_1_9BBC = .text:0x00009BBC; // type:function size:0x144 scope:local +fn_1_9D00 = .text:0x00009D00; // type:function size:0xD8 +fn_1_9DD8 = .text:0x00009DD8; // type:function size:0x6E0 +fn_1_A4B8 = .text:0x0000A4B8; // type:function size:0x9C scope:local +fn_1_A554 = .text:0x0000A554; // type:function size:0xA8 scope:local +fn_1_A5FC = .text:0x0000A5FC; // type:function size:0xE4 scope:local +fn_1_A6E0 = .text:0x0000A6E0; // type:function size:0x938 scope:local +fn_1_B018 = .text:0x0000B018; // type:function size:0x70 scope:local +fn_1_B088 = .text:0x0000B088; // type:function size:0x144 scope:local +fn_1_B1CC = .text:0x0000B1CC; // type:function size:0x1EC scope:local +fn_1_B3B8 = .text:0x0000B3B8; // type:function size:0xC0 scope:local +fn_1_B478 = .text:0x0000B478; // type:function size:0x680 scope:local +fn_1_BAF8 = .text:0x0000BAF8; // type:function size:0x1E4 scope:local +fn_1_BCDC = .text:0x0000BCDC; // type:function size:0x224 scope:local +fn_1_BF00 = .text:0x0000BF00; // type:function size:0x68 scope:local +fn_1_BF68 = .text:0x0000BF68; // type:function size:0x98 scope:local +fn_1_C000 = .text:0x0000C000; // type:function size:0xFC scope:local +fn_1_C0FC = .text:0x0000C0FC; // type:function size:0x160 scope:local +fn_1_C25C = .text:0x0000C25C; // type:function size:0x5E8 scope:local +fn_1_C844 = .text:0x0000C844; // type:function size:0x50 scope:local +fn_1_C894 = .text:0x0000C894; // type:function size:0xB8 scope:local +fn_1_C94C = .text:0x0000C94C; // type:function size:0x4C scope:local +fn_1_C998 = .text:0x0000C998; // type:function size:0x1AC scope:local +fn_1_CB44 = .text:0x0000CB44; // type:function size:0x380 scope:local +fn_1_CEC4 = .text:0x0000CEC4; // type:function size:0x170 scope:local +fn_1_D034 = .text:0x0000D034; // type:function size:0x48 scope:local +fn_1_D07C = .text:0x0000D07C; // type:function size:0x98 scope:local +fn_1_D114 = .text:0x0000D114; // type:function size:0x62C scope:local +fn_1_D740 = .text:0x0000D740; // type:function size:0x644 +fn_1_DD84 = .text:0x0000DD84; // type:function size:0x110 +fn_1_DE94 = .text:0x0000DE94; // type:function size:0x26C +fn_1_E100 = .text:0x0000E100; // type:function size:0x54 scope:local +fn_1_E154 = .text:0x0000E154; // type:function size:0x164 scope:local +fn_1_E2B8 = .text:0x0000E2B8; // type:function size:0x194 scope:local +fn_1_E44C = .text:0x0000E44C; // type:function size:0x4C8 scope:local +fn_1_E914 = .text:0x0000E914; // type:function size:0x3C0 scope:local +fn_1_ECD4 = .text:0x0000ECD4; // type:function size:0x1CC scope:local +fn_1_EEA0 = .text:0x0000EEA0; // type:function size:0x38 scope:local +fn_1_EED8 = .text:0x0000EED8; // type:function size:0x1C4 scope:local +fn_1_F09C = .text:0x0000F09C; // type:function size:0x2AC scope:local +fn_1_F348 = .text:0x0000F348; // type:function size:0xB0 scope:local +fn_1_F3F8 = .text:0x0000F3F8; // type:function size:0x2F0 scope:local +fn_1_F6E8 = .text:0x0000F6E8; // type:function size:0x1A8 scope:local +fn_1_F890 = .text:0x0000F890; // type:function size:0x18C scope:local +fn_1_FA1C = .text:0x0000FA1C; // type:function size:0xA0 scope:local +fn_1_FABC = .text:0x0000FABC; // type:function size:0x9C scope:local +fn_1_FB58 = .text:0x0000FB58; // type:function size:0xE4 scope:local +fn_1_FC3C = .text:0x0000FC3C; // type:function size:0xB0 scope:local +fn_1_FCEC = .text:0x0000FCEC; // type:function size:0x50 scope:local +fn_1_FD3C = .text:0x0000FD3C; // type:function size:0x108 scope:local +fn_1_FE44 = .text:0x0000FE44; // type:function size:0x8C scope:local +fn_1_FED0 = .text:0x0000FED0; // type:function size:0x14C scope:local +fn_1_1001C = .text:0x0001001C; // type:function size:0x19C scope:local +fn_1_101B8 = .text:0x000101B8; // type:function size:0x4AC scope:local +fn_1_10664 = .text:0x00010664; // type:function size:0x1BC scope:local +fn_1_10820 = .text:0x00010820; // type:function size:0x2C8 scope:local +fn_1_10AE8 = .text:0x00010AE8; // type:function size:0xC8 scope:local +fn_1_10BB0 = .text:0x00010BB0; // type:function size:0x140 scope:local +fn_1_10CF0 = .text:0x00010CF0; // type:function size:0x1C8 scope:local +fn_1_10EB8 = .text:0x00010EB8; // type:function size:0x1AC scope:local +fn_1_11064 = .text:0x00011064; // type:function size:0x420 scope:local +fn_1_11484 = .text:0x00011484; // type:function size:0x56C scope:local _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float @@ -334,136 +334,136 @@ lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data: lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -mapObjData = .data:0x00000000; // type:object size:0x528 scope:local -bgMdl = .data:0x00000528; // type:object size:0x2 scope:local data:2byte -fgMdl = .data:0x0000052A; // type:object size:0x2 scope:local data:2byte -starHostMdl = .data:0x0000052C; // type:object size:0x2 scope:local data:2byte -hostMdl = .data:0x0000052E; // type:object size:0x2 scope:local data:2byte -syuppouMdl = .data:0x00000530; // type:object size:0x2 scope:local data:2byte -starHostMotTbl = .data:0x00000534; // type:object size:0x8 scope:local -hostMotTbl = .data:0x0000053C; // type:object size:0x8 scope:local +lbl_1_data_0 = .data:0x00000000; // type:object size:0x528 scope:local +lbl_1_data_528 = .data:0x00000528; // type:object size:0x2 scope:local data:2byte +lbl_1_data_52A = .data:0x0000052A; // type:object size:0x2 scope:local data:2byte +lbl_1_data_52C = .data:0x0000052C; // type:object size:0x2 scope:local data:2byte +lbl_1_data_52E = .data:0x0000052E; // type:object size:0x2 scope:local data:2byte +lbl_1_data_530 = .data:0x00000530; // type:object size:0x2 scope:local data:2byte +lbl_1_data_534 = .data:0x00000534; // type:object size:0x8 scope:local +lbl_1_data_53C = .data:0x0000053C; // type:object size:0x8 scope:local lbl_1_data_544 = .data:0x00000544; // type:object size:0x14 scope:local data:string lbl_1_data_558 = .data:0x00000558; // type:object size:0x14 scope:local data:string lbl_1_data_56C = .data:0x0000056C; // type:object size:0x13 scope:local data:string -coasterWinId = .data:0x00000580; // type:object size:0x2 scope:local data:2byte +lbl_1_data_580 = .data:0x00000580; // type:object size:0x2 scope:local data:2byte lbl_1_data_582 = .data:0x00000582; // type:object size:0x12 scope:local -coasterMotTbl = .data:0x00000594; // type:object size:0x40 scope:local -cupMoveSeNo = .data:0x000005D4; // type:object size:0x4 scope:local data:4byte -decaStompSeNo = .data:0x000005D8; // type:object size:0x4 scope:local data:4byte -cupMapObj = .data:0x000005DC; // type:object size:0x10 scope:local data:2byte +lbl_1_data_594 = .data:0x00000594; // type:object size:0x40 scope:local +lbl_1_data_5D4 = .data:0x000005D4; // type:object size:0x4 scope:local data:4byte +lbl_1_data_5D8 = .data:0x000005D8; // type:object size:0x4 scope:local data:4byte +lbl_1_data_5DC = .data:0x000005DC; // type:object size:0x10 scope:local data:2byte lbl_1_data_5EC = .data:0x000005EC; // type:object size:0x7 scope:local data:string lbl_1_data_5F3 = .data:0x000005F3; // type:object size:0x7 scope:local data:string lbl_1_data_5FA = .data:0x000005FA; // type:object size:0x7 scope:local data:string -cupHookTbl = .data:0x00000604; // type:object size:0xC scope:local -cupArrowRot = .data:0x00000610; // type:object size:0x10 scope:local +lbl_1_data_604 = .data:0x00000604; // type:object size:0xC scope:local +lbl_1_data_610 = .data:0x00000610; // type:object size:0x10 scope:local lbl_1_data_620 = .data:0x00000620; // type:object size:0x5 scope:local data:string lbl_1_data_625 = .data:0x00000625; // type:object size:0x5 scope:local data:string lbl_1_data_62A = .data:0x0000062A; // type:object size:0x5 scope:local data:string lbl_1_data_62F = .data:0x0000062F; // type:object size:0x4 scope:local data:string -coasterChasePlayer = .data:0x00000633; // type:object size:0x1 scope:local data:byte -coasterChaseSe = .data:0x00000634; // type:object size:0x24 scope:local -effPosTbl = .data:0x00000658; // type:object size:0x24 scope:local -spaceAmidaCoinNumTbl = .data:0x0000067C; // type:object size:0x12 scope:local data:2byte -spaceAmidaMap1 = .data:0x00000690; // type:object size:0x2D0 scope:local -spaceAmidaMap2 = .data:0x00000960; // type:object size:0x2D0 scope:local -spaceAmidaMap3 = .data:0x00000C30; // type:object size:0x2D0 scope:local +lbl_1_data_633 = .data:0x00000633; // type:object size:0x1 scope:local data:byte +lbl_1_data_634 = .data:0x00000634; // type:object size:0x24 scope:local +lbl_1_data_658 = .data:0x00000658; // type:object size:0x24 scope:local +lbl_1_data_67C = .data:0x0000067C; // type:object size:0x12 scope:local data:2byte +lbl_1_data_690 = .data:0x00000690; // type:object size:0x2D0 scope:local +lbl_1_data_960 = .data:0x00000960; // type:object size:0x2D0 scope:local +lbl_1_data_C30 = .data:0x00000C30; // type:object size:0x2D0 scope:local lbl_1_data_F00 = .data:0x00000F00; // type:object size:0x3 scope:local data:string -itemMdlTbl = .data:0x00000F08; // type:object size:0x38 scope:local -itemGetMotTbl = .data:0x00000F40; // type:object size:0x20 scope:local -jumpMotTbl = .data:0x00000F60; // type:object size:0x20 scope:local +lbl_1_data_F08 = .data:0x00000F08; // type:object size:0x38 scope:local +lbl_1_data_F40 = .data:0x00000F40; // type:object size:0x20 scope:local +lbl_1_data_F60 = .data:0x00000F60; // type:object size:0x20 scope:local lbl_1_data_F80 = .data:0x00000F80; // type:object size:0x7 scope:local data:string lbl_1_data_F87 = .data:0x00000F87; // type:object size:0x5 scope:local data:string lbl_1_data_F8C = .data:0x00000F8C; // type:object size:0x5 scope:local data:string lbl_1_data_F91 = .data:0x00000F91; // type:object size:0x5 scope:local data:string lbl_1_data_F96 = .data:0x00000F96; // type:object size:0x5 scope:local data:string -umaHookTbl = .data:0x00000F9C; // type:object size:0x10 scope:local data:4byte -boardWork = .bss:0x00000000; // type:object size:0x4 data:4byte -roundItemProc = .bss:0x00000004; // type:object size:0x4 scope:local data:4byte -coasterProc = .bss:0x00000008; // type:object size:0x4 scope:local data:4byte -coasterPlayerManObj = .bss:0x0000000C; // type:object size:0x4 scope:local data:4byte -coasterCameraObj = .bss:0x00000010; // type:object size:0x4 scope:local data:4byte -cupProc = .bss:0x00000014; // type:object size:0x4 scope:local data:4byte -cupObj = .bss:0x00000018; // type:object size:0x4 scope:local data:4byte -coasterPlayerChaseNum = .bss:0x0000001C; // type:object size:0x1 scope:local data:byte -coasterEffObj = .bss:0x00000020; // type:object size:0x4 scope:local data:4byte -cupSpaceEnd = .bss:0x00000024; // type:object size:0x2 scope:local data:2byte -cupSpaceStart = .bss:0x00000026; // type:object size:0x2 scope:local data:2byte -cupHookNo = .bss:0x00000028; // type:object size:0x1 scope:local data:byte -cupSide = .bss:0x00000029; // type:object size:0x1 scope:local data:byte +lbl_1_data_F9C = .data:0x00000F9C; // type:object size:0x10 scope:local data:4byte +lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte +lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x1 scope:local data:byte +lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_26 = .bss:0x00000026; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x1 scope:local data:byte +lbl_1_bss_29 = .bss:0x00000029; // type:object size:0x1 scope:local data:byte lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x5A0 scope:local -coasterMotId = .bss:0x000005CC; // type:object size:0x4 scope:local data:2byte -coasterCoinMdlId = .bss:0x000005D0; // type:object size:0x30 scope:local -coasterCoinF = .bss:0x00000600; // type:object size:0x18 scope:local -coasterCameraTarget = .bss:0x00000618; // type:object size:0xC scope:local data:4byte -coasterCameraUp = .bss:0x00000624; // type:object size:0xC scope:local data:float -coasterCameraPos = .bss:0x00000630; // type:object size:0xC scope:local data:4byte -coasterBaseRotY = .bss:0x0000063C; // type:object size:0x4 scope:local data:float -coasterTime = .bss:0x00000640; // type:object size:0x4 scope:local data:float -coasterMaxTime = .bss:0x00000644; // type:object size:0x4 scope:local data:float -coasterPosOld = .bss:0x00000648; // type:object size:0xC scope:local data:4byte -coasterPos = .bss:0x00000654; // type:object size:0xC scope:local data:float -coasterRot = .bss:0x00000660; // type:object size:0xC scope:local data:float -coasterCamSpeed = .bss:0x0000066C; // type:object size:0x4 scope:local data:float -coasterSpeed = .bss:0x00000670; // type:object size:0x4 scope:local data:float -coasterAccel = .bss:0x00000674; // type:object size:0x4 scope:local data:float -coasterMtx = .bss:0x00000678; // type:object size:0x30 scope:local +lbl_1_bss_5CC = .bss:0x000005CC; // type:object size:0x4 scope:local data:2byte +lbl_1_bss_5D0 = .bss:0x000005D0; // type:object size:0x30 scope:local +lbl_1_bss_600 = .bss:0x00000600; // type:object size:0x18 scope:local +lbl_1_bss_618 = .bss:0x00000618; // type:object size:0xC scope:local data:4byte +lbl_1_bss_624 = .bss:0x00000624; // type:object size:0xC scope:local data:float +lbl_1_bss_630 = .bss:0x00000630; // type:object size:0xC scope:local data:4byte +lbl_1_bss_63C = .bss:0x0000063C; // type:object size:0x4 scope:local data:float +lbl_1_bss_640 = .bss:0x00000640; // type:object size:0x4 scope:local data:float +lbl_1_bss_644 = .bss:0x00000644; // type:object size:0x4 scope:local data:float +lbl_1_bss_648 = .bss:0x00000648; // type:object size:0xC scope:local data:4byte +lbl_1_bss_654 = .bss:0x00000654; // type:object size:0xC scope:local data:float +lbl_1_bss_660 = .bss:0x00000660; // type:object size:0xC scope:local data:float +lbl_1_bss_66C = .bss:0x0000066C; // type:object size:0x4 scope:local data:float +lbl_1_bss_670 = .bss:0x00000670; // type:object size:0x4 scope:local data:float +lbl_1_bss_674 = .bss:0x00000674; // type:object size:0x4 scope:local data:float +lbl_1_bss_678 = .bss:0x00000678; // type:object size:0x30 scope:local lbl_1_bss_6A8 = .bss:0x000006A8; // type:object size:0x4 scope:local data:float -coasterStartSpace = .bss:0x000006AC; // type:object size:0x2 scope:local data:2byte -coasterPathMdlId = .bss:0x000006AE; // type:object size:0x2 scope:local data:2byte -coasterType = .bss:0x000006B0; // type:object size:0x1 scope:local data:byte -coasterLandF = .bss:0x000006B1; // type:object size:0x1 scope:local data:byte -coasterDoneF = .bss:0x000006B2; // type:object size:0x1 scope:local data:byte -coasterLoopF = .bss:0x000006B3; // type:object size:0x1 scope:local data:byte -eventPlayer = .bss:0x000006B4; // type:object size:0x1 scope:local data:byte -roundItemTbl = .bss:0x000006B6; // type:object size:0xA scope:local data:2byte -mapObjMotTbl = .bss:0x000006C0; // type:object size:0x4 scope:local data:4byte -mapObjMdlId = .bss:0x000006C4; // type:object size:0x42 data:2byte -spaceAmidaSeqStopF = .bss:0x00000708; // type:object size:0x2 scope:local data:2byte -spaceAmidaEffAnim = .bss:0x0000070C; // type:object size:0x4 scope:local data:4byte -spaceAmidaEffObj = .bss:0x00000710; // type:object size:0x4 scope:local data:4byte -rocketObj = .bss:0x00000714; // type:object size:0xC scope:local -spaceAmidaGameObj = .bss:0x00000720; // type:object size:0x4 scope:local data:4byte -spaceAmidaSeNo = .bss:0x00000724; // type:object size:0x4 scope:local data:4byte -spaceAmidaCoinNum = .bss:0x00000728; // type:object size:0x2 scope:local data:2byte -spaceAmidaStopF = .bss:0x0000072A; // type:object size:0x2 scope:local data:2byte -rocketWarpF = .bss:0x0000072C; // type:object size:0x4 scope:local data:4byte -spaceAmidaPath = .bss:0x00000730; // type:object size:0x4 scope:local data:4byte -spaceAmidaMapNo = .bss:0x00000734; // type:object size:0x4 scope:local data:4byte -spaceAmidaPos = .bss:0x00000738; // type:object size:0xC scope:local data:float -timerSeqId = .bss:0x00000744; // type:object size:0x2 scope:local data:2byte -timerFrame = .bss:0x00000748; // type:object size:0x4 scope:local data:4byte -timerSec = .bss:0x0000074C; // type:object size:0x4 scope:local data:4byte -kemuriMdlId = .bss:0x00000750; // type:object size:0x2 scope:local data:2byte -spaceAmidaTime = .bss:0x00000754; // type:object size:0x4 scope:local data:float -spaceAmidaMainObj = .bss:0x00000758; // type:object size:0x4 scope:local data:4byte -coinWinProc = .bss:0x0000075C; // type:object size:0x4 scope:local data:4byte -coinMdlId = .bss:0x00000760; // type:object size:0x28 scope:local -spaceAmidaEffMdlId = .bss:0x00000788; // type:object size:0x2 scope:local data:2byte -rocketMdlId = .bss:0x0000078A; // type:object size:0x6 scope:local data:2byte -mapMdlId = .bss:0x00000790; // type:object size:0x6 scope:local data:2byte -spaceAmidaMdlId = .bss:0x00000796; // type:object size:0x2 scope:local data:2byte -spaceAmidaPlayerNo = .bss:0x00000798; // type:object size:0x4 scope:local data:4byte -spaceAmidaPadNo = .bss:0x0000079C; // type:object size:0x4 scope:local data:4byte -roundItemEffAnim = .bss:0x000007A0; // type:object size:0x4 scope:local data:4byte -roundItemStreamId = .bss:0x000007A4; // type:object size:0x4 scope:local data:4byte -umaStopTimer = .bss:0x000007A8; // type:object size:0x2 scope:local data:2byte -roundItemStopF = .bss:0x000007AA; // type:object size:0x2 scope:local data:2byte -itemGetSeNo = .bss:0x000007AC; // type:object size:0x4 scope:local data:4byte -umaStopF = .bss:0x000007B4; // type:object size:0x2 scope:local data:2byte -jumpMotId = .bss:0x000007B8; // type:object size:0x4 scope:local data:4byte -itemGetMotId = .bss:0x000007BC; // type:object size:0x8 scope:local data:4byte -playerPos = .bss:0x000007C4; // type:object size:0xC scope:local data:float -timerFrame = .bss:0x000007D0; // type:object size:0x2 scope:local data:2byte -timerSec = .bss:0x000007D2; // type:object size:0x2 scope:local data:2byte -timerSeqId = .bss:0x000007D4; // type:object size:0x2 scope:local data:2byte -seqStartId = .bss:0x000007D6; // type:object size:0x2 scope:local data:2byte -umaPos = .bss:0x000007D8; // type:object size:0xC scope:local data:4byte -roundItemPlayer = .bss:0x000007E4; // type:object size:0x4 scope:local data:4byte -borderSpeed = .bss:0x000007E8; // type:object size:0x4 scope:local data:float -umaSpeed = .bss:0x000007EC; // type:object size:0x4 scope:local data:float -itemGetObj = .bss:0x000007F0; // type:object size:0x4 scope:local data:4byte -roundItemMainObj = .bss:0x000007F4; // type:object size:0x4 scope:local data:4byte -roundItemUmaObj = .bss:0x000007F8; // type:object size:0x4 scope:local data:4byte -itemObj = .bss:0x000007FC; // type:object size:0x10 scope:local data:4byte -roundItemPos = .bss:0x0000080C; // type:object size:0xC scope:local data:float -itemAnim = .bss:0x00000818; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_6AC = .bss:0x000006AC; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_6AE = .bss:0x000006AE; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_6B0 = .bss:0x000006B0; // type:object size:0x1 scope:local data:byte +lbl_1_bss_6B1 = .bss:0x000006B1; // type:object size:0x1 scope:local data:byte +lbl_1_bss_6B2 = .bss:0x000006B2; // type:object size:0x1 scope:local data:byte +lbl_1_bss_6B3 = .bss:0x000006B3; // type:object size:0x1 scope:local data:byte +lbl_1_bss_6B4 = .bss:0x000006B4; // type:object size:0x1 scope:local data:byte +lbl_1_bss_6B6 = .bss:0x000006B6; // type:object size:0xA scope:local data:2byte +lbl_1_bss_6C0 = .bss:0x000006C0; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_6C4 = .bss:0x000006C4; // type:object size:0x42 data:2byte +lbl_1_bss_708 = .bss:0x00000708; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_70C = .bss:0x0000070C; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_710 = .bss:0x00000710; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_714 = .bss:0x00000714; // type:object size:0xC scope:local +lbl_1_bss_720 = .bss:0x00000720; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_724 = .bss:0x00000724; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_728 = .bss:0x00000728; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_72A = .bss:0x0000072A; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_72C = .bss:0x0000072C; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_730 = .bss:0x00000730; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_734 = .bss:0x00000734; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_738 = .bss:0x00000738; // type:object size:0xC scope:local data:float +lbl_1_bss_744 = .bss:0x00000744; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_748 = .bss:0x00000748; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_74C = .bss:0x0000074C; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_750 = .bss:0x00000750; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_754 = .bss:0x00000754; // type:object size:0x4 scope:local data:float +lbl_1_bss_758 = .bss:0x00000758; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_75C = .bss:0x0000075C; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_760 = .bss:0x00000760; // type:object size:0x28 scope:local +lbl_1_bss_788 = .bss:0x00000788; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_78A = .bss:0x0000078A; // type:object size:0x6 scope:local data:2byte +lbl_1_bss_790 = .bss:0x00000790; // type:object size:0x6 scope:local data:2byte +lbl_1_bss_796 = .bss:0x00000796; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_798 = .bss:0x00000798; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_79C = .bss:0x0000079C; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_7A0 = .bss:0x000007A0; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_7A4 = .bss:0x000007A4; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_7A8 = .bss:0x000007A8; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_7AA = .bss:0x000007AA; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_7AC = .bss:0x000007AC; // type:object size:0x8 scope:local data:4byte +lbl_1_bss_7B4 = .bss:0x000007B4; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_7B8 = .bss:0x000007B8; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_7BC = .bss:0x000007BC; // type:object size:0x8 scope:local data:4byte +lbl_1_bss_7C4 = .bss:0x000007C4; // type:object size:0xC scope:local data:float +lbl_1_bss_7D0 = .bss:0x000007D0; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_7D2 = .bss:0x000007D2; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_7D4 = .bss:0x000007D4; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_7D6 = .bss:0x000007D6; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_7D8 = .bss:0x000007D8; // type:object size:0xC scope:local data:4byte +lbl_1_bss_7E4 = .bss:0x000007E4; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_7E8 = .bss:0x000007E8; // type:object size:0x4 scope:local data:float +lbl_1_bss_7EC = .bss:0x000007EC; // type:object size:0x4 scope:local data:float +lbl_1_bss_7F0 = .bss:0x000007F0; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_7F4 = .bss:0x000007F4; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_7F8 = .bss:0x000007F8; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_7FC = .bss:0x000007FC; // type:object size:0x10 scope:local data:4byte +lbl_1_bss_80C = .bss:0x0000080C; // type:object size:0xC scope:local data:float +lbl_1_bss_818 = .bss:0x00000818; // type:object size:0x4 scope:local data:4byte diff --git a/config/GMPE01_00/rels/w05Dll/symbols.txt b/config/GMPE01_00/rels/w05Dll/symbols.txt index 56c26c7c..4f1ddabd 100644 --- a/config/GMPE01_00/rels/w05Dll/symbols.txt +++ b/config/GMPE01_00/rels/w05Dll/symbols.txt @@ -287,7 +287,7 @@ lbl_1_data_2F4 = .data:0x000002F4; // type:object size:0x18 lbl_1_data_310 = .data:0x00000310; // type:object size:0x8 lbl_1_data_318 = .data:0x00000318; // type:object size:0x7 scope:local data:string lbl_1_data_31F = .data:0x0000031F; // type:object size:0x7 scope:local data:string -lbl_1_data_326 = .data:0x00000326; // type:object size:0x7 scope:local data:string +lbl_1_data_326 = .data:0x00000326; // type:object size:0xA scope:local data:string lbl_1_data_330 = .data:0x00000330; // type:object size:0xC lbl_1_data_33C = .data:0x0000033C; // type:object size:0x7 scope:local data:string lbl_1_data_343 = .data:0x00000343; // type:object size:0xD scope:local data:string @@ -302,7 +302,7 @@ lbl_1_data_470 = .data:0x00000470; // type:object size:0xC lbl_1_data_47C = .data:0x0000047C; // type:object size:0xC lbl_1_data_488 = .data:0x00000488; // type:object size:0x3 scope:local data:string lbl_1_data_48B = .data:0x0000048B; // type:object size:0x4 scope:local data:string -lbl_1_data_48F = .data:0x0000048F; // type:object size:0x4 scope:local data:string +lbl_1_data_48F = .data:0x0000048F; // type:object size:0x5 scope:local data:string lbl_1_data_494 = .data:0x00000494; // type:object size:0xC lbl_1_data_4A0 = .data:0x000004A0; // type:object size:0xD scope:local data:string lbl_1_data_4AD = .data:0x000004AD; // type:object size:0x5 scope:local data:string diff --git a/config/GMPJ01_00/rels/m300Dll/splits.txt b/config/GMPE01_00/rels/w07Dll/splits.txt similarity index 100% rename from config/GMPJ01_00/rels/m300Dll/splits.txt rename to config/GMPE01_00/rels/w07Dll/splits.txt diff --git a/config/GMPJ01_00/rels/m300Dll/symbols.txt b/config/GMPE01_00/rels/w07Dll/symbols.txt similarity index 100% rename from config/GMPJ01_00/rels/m300Dll/symbols.txt rename to config/GMPE01_00/rels/w07Dll/symbols.txt diff --git a/config/GMPE01_00/rels/w10Dll/symbols.txt b/config/GMPE01_00/rels/w10Dll/symbols.txt index f10220e4..89f2a634 100644 --- a/config/GMPE01_00/rels/w10Dll/symbols.txt +++ b/config/GMPE01_00/rels/w10Dll/symbols.txt @@ -98,7 +98,7 @@ lotteryHostMot = .data:0x00000064; // type:object size:0x8 scope:local booHouseHostMot = .data:0x0000006C; // type:object size:0x8 scope:local hostMot = .data:0x00000078; // type:object size:0x8 scope:local hostPosTbl = .data:0x00000080; // type:object size:0x18 scope:local data:float -lbl_1_data_98 = .data:0x00000098; // type:object size:0x2D scope:local data:string +lbl_1_data_98 = .data:0x00000098; // type:object size:0x2E scope:local data:string rollDataTbl = .data:0x000000C6; // type:object size:0x42 scope:local sceneTbl = .data:0x00000108; // type:object size:0x150 scope:local lbl_1_data_258 = .data:0x00000258; // type:object size:0x50 scope:local data:string diff --git a/config/GMPE01_00/rels/ztardll/symbols.txt b/config/GMPE01_00/rels/ztardll/symbols.txt index f92691a8..6e398a8c 100644 --- a/config/GMPE01_00/rels/ztardll/symbols.txt +++ b/config/GMPE01_00/rels/ztardll/symbols.txt @@ -87,139 +87,137 @@ fn_1_11F68 = .text:0x00011F68; // type:function size:0x340 fn_1_122A8 = .text:0x000122A8; // type:function size:0xC4 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -__fakeHalf = .rodata:0x00000000; // type:object size:0x8 data:double -__fakeThree = .rodata:0x00000008; // type:object size:0x8 data:double -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x38 scope:local data:4byte -lbl_1_data_0 = .data:0x00000000; // type:object size:0x22 scope:local data:string +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float +lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float +lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float +lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float +lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float +lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float +lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float +lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float +lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float +lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float +lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float +lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float +lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float +lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x38 data:4byte +lbl_1_data_0 = .data:0x00000000; // type:object size:0x22 data:string lbl_1_data_22 = .data:0x00000022; // type:object size:0x8 lbl_1_data_2C = .data:0x0000002C; // type:object size:0x18 -lbl_1_data_44 = .data:0x00000044; // type:object size:0x6 data:byte +lbl_1_data_44 = .data:0x00000044; // type:object size:0x6 lbl_1_data_4A = .data:0x0000004A; // type:object size:0xC lbl_1_data_56 = .data:0x00000056; // type:object size:0xE data:2byte -lbl_1_data_64 = .data:0x00000064; // type:object size:0x20 data:float -lbl_1_data_84 = .data:0x00000084; // type:object size:0x10 data:byte -lbl_1_data_94 = .data:0x00000094; // type:object size:0xC data:byte -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0xA scope:local data:string -lbl_1_data_AA = .data:0x000000AA; // type:object size:0x4 scope:local data:string +lbl_1_data_64 = .data:0x00000064; // type:object size:0x20 +lbl_1_data_84 = .data:0x00000084; // type:object size:0x10 +lbl_1_data_94 = .data:0x00000094; // type:object size:0xC +lbl_1_data_A0 = .data:0x000000A0; // type:object size:0xA data:string +lbl_1_data_AA = .data:0x000000AA; // type:object size:0x4 data:string lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x318 lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0x20 lbl_1_data_3E8 = .data:0x000003E8; // type:object size:0x20 -lbl_1_data_408 = .data:0x00000408; // type:object size:0x3C scope:local data:string -lbl_1_data_444 = .data:0x00000444; // type:object size:0x19 scope:local data:string -lbl_1_data_45D = .data:0x0000045D; // type:object size:0x1A scope:local data:string -lbl_1_data_477 = .data:0x00000477; // type:object size:0x3A scope:local data:string +lbl_1_data_408 = .data:0x00000408; // type:object size:0x3C data:string +lbl_1_data_444 = .data:0x00000444; // type:object size:0x19 data:string +lbl_1_data_45D = .data:0x0000045D; // type:object size:0x1A data:string +lbl_1_data_477 = .data:0x00000477; // type:object size:0x3D lbl_1_data_4B4 = .data:0x000004B4; // type:object size:0x20 data:4byte lbl_1_data_4D4 = .data:0x000004D4; // type:object size:0x40 data:4byte lbl_1_data_514 = .data:0x00000514; // type:object size:0x70 @@ -230,27 +228,25 @@ lbl_1_data_63C = .data:0x0000063C; // type:object size:0x10 lbl_1_data_64C = .data:0x0000064C; // type:object size:0x20 lbl_1_data_66C = .data:0x0000066C; // type:object size:0x4 data:4byte lbl_1_data_670 = .data:0x00000670; // type:object size:0x4 data:4byte -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte lbl_1_bss_E = .bss:0x0000000E; // type:object size:0x28 data:2byte lbl_1_bss_36 = .bss:0x00000036; // type:object size:0x8 data:2byte -lbl_1_bss_3E = .bss:0x0000003E; // type:object size:0x4 data:2byte +lbl_1_bss_3E = .bss:0x0000003E; // type:object size:0x2 data:2byte lbl_1_bss_42 = .bss:0x00000042; // type:object size:0x2 data:2byte lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x2 data:2byte lbl_1_bss_46 = .bss:0x00000046; // type:object size:0x2 data:2byte lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x2 data:2byte lbl_1_bss_4A = .bss:0x0000004A; // type:object size:0x2 data:2byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:2byte +lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x2 data:2byte lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x2 data:2byte lbl_1_bss_52 = .bss:0x00000052; // type:object size:0x2 data:2byte lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x2 data:2byte lbl_1_bss_5A = .bss:0x0000005A; // type:object size:0x2 data:2byte lbl_1_bss_5E = .bss:0x0000005E; // type:object size:0x2 data:2byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x4 data:4byte +lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x8 data:4byte lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:4byte lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/splits.txt b/config/GMPE01_00/splits.txt index d9a64bf5..47bd92ab 100644 --- a/config/GMPE01_00/splits.txt +++ b/config/GMPE01_00/splits.txt @@ -1,17 +1,17 @@ Sections: - .init type:code align:4 - extab type:rodata align:32 - extabindex type:rodata align:32 - .text type:code align:8 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 - .data type:data align:32 - .bss type:bss align:32 - .sdata type:data align:4 - .sbss type:bss align:8 - .sdata2 type:rodata align:32 - .sbss2 type:bss align:16 + .init type:code + extab type:rodata + extabindex type:rodata + .text type:code + .ctors type:rodata + .dtors type:rodata + .rodata type:rodata + .data type:data + .bss type:bss + .sdata type:data + .sbss type:bss + .sdata2 type:rodata + .sbss2 type:bss game/main.c: .text start:0x800057C0 end:0x80005A5C @@ -680,12 +680,12 @@ dolphin/mtx/vec.c: .sdata2 start:0x801D6380 end:0x801D6390 dolphin/mtx/quat.c: - .text start:0x800BC2C4 end:0x800BC884 + .text start:0x800BC2C4 end:0x800BC710 .rodata start:0x8011E430 end:0x8011E440 .sdata2 start:0x801D6390 end:0x801D63B8 dolphin/mtx/psmtx.c: - .text start:0x800BC884 end:0x800BC9E8 + .text start:0x800BC710 end:0x800BC9E8 dolphin/dvd/dvdlow.c: .text start:0x800BC9E8 end:0x800BD83C @@ -742,7 +742,7 @@ dolphin/demo/DEMOPuts.c: dolphin/demo/DEMOStats.c: .text start:0x800C2F84 end:0x800C3CDC - .data start:0x8013D5E0 end:0x8013D738 + .data start:0x8013D5E0 end:0x8013D748 .sdata start:0x801D3908 end:0x801D3910 .sbss start:0x801D4488 end:0x801D44E8 .sdata2 start:0x801D63D8 end:0x801D63E8 @@ -753,7 +753,6 @@ dolphin/pad/Padclamp.c: dolphin/pad/Pad.c: .text start:0x800C3F14 end:0x800C59DC - .data start:0x8013D738 end:0x8013D748 .bss start:0x801A61B0 end:0x801A6200 .sdata start:0x801D3918 end:0x801D3938 .sbss start:0x801D44E8 end:0x801D4510 @@ -955,7 +954,7 @@ Runtime.PPCEABI.H/NewMore.cp: .data start:0x8013E208 end:0x8013E218 .sdata start:0x801D39A0 end:0x801D39A8 -Runtime.PPCEABI.H/NMWException.cpp: +Runtime.PPCEABI.H/NMWException.cp: extab start:0x80005650 end:0x80005670 extabindex start:0x80005718 end:0x80005748 .text start:0x800E2108 end:0x800E23CC @@ -971,7 +970,7 @@ Runtime.PPCEABI.H/__init_cpp_exceptions.cpp: .dtors start:0x8011DCE0 end:0x8011DCE8 .sdata start:0x801D39B0 end:0x801D39B8 -Runtime.PPCEABI.H/Gecko_ExceptionPPC.cpp: +Runtime.PPCEABI.H/Gecko_ExceptionPPC.cp: extab start:0x80005670 end:0x800056E4 extabindex start:0x80005748 end:0x8000579C .text start:0x800E2B24 end:0x800E3F5C @@ -1186,7 +1185,7 @@ TRK_MINNOW_DOLPHIN/serpoll.c: .text start:0x800ECC5C end:0x800ED028 .bss start:0x801A9110 end:0x801A9128 -TRK_MINNOW_DOLPHIN/usr_put.c: +TRK_MINNOW_DOLPHIN/usrput.c: .text start:0x800ED028 end:0x800ED0B4 TRK_MINNOW_DOLPHIN/dispatch.c: @@ -1216,15 +1215,15 @@ TRK_MINNOW_DOLPHIN/mem_TRK.c: .text start:0x800F0398 end:0x800F0454 TRK_MINNOW_DOLPHIN/targimpl.c: - .text start:0x800F0454 end:0x800F1CE4 + .text start:0x800F0454 end:0x800F1CF0 .rodata start:0x8011EA90 end:0x8011EB18 .data start:0x8013EA58 end:0x8013EA88 .bss start:0x801A9138 end:0x801A96B8 -TRK_MINNOW_DOLPHIN/targsupp.s: - .text start:0x800F1CE4 end:0x800F1D10 +TRK_MINNOW_DOLPHIN/targsupp.c: + .text start:0x800F1CF0 end:0x800F1D10 -TRK_MINNOW_DOLPHIN/__exception.s: +TRK_MINNOW_DOLPHIN/__exception.c: .init start:0x80003534 end:0x80005468 TRK_MINNOW_DOLPHIN/dolphin_trk.c: diff --git a/config/GMPE01_00/symbols.txt b/config/GMPE01_00/symbols.txt index 17ef4f4f..8d327e2d 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -244,7 +244,7 @@ Hu3DDraw = .text:0x80014024; // type:function size:0x1A0 objCall = .text:0x800141C4; // type:function size:0xEC scope:local objMesh = .text:0x800142B0; // type:function size:0x86C scope:local ObjCullCheck = .text:0x80014B1C; // type:function size:0x4C0 -FaceDraw = .text:0x80014FDC; // type:function size:0x10DC +FaceDraw = .text:0x80014FDC; // type:function size:0x10DC scope:local SetTevStageNoTex = .text:0x800160B8; // type:function size:0x8E8 scope:local SetTevStageTex = .text:0x800169A0; // type:function size:0x2588 scope:local SetKColor = .text:0x80018F28; // type:function size:0x164 scope:local @@ -475,7 +475,7 @@ Hu3DParticleAttrSet = .text:0x8002A544; // type:function size:0x40 Hu3DParticleAttrReset = .text:0x8002A584; // type:function size:0x44 Hu3DParticleCntSet = .text:0x8002A5C8; // type:function size:0x3C Hu3DParticleAnimModeSet = .text:0x8002A604; // type:function size:0x60 -particleFunc = .text:0x8002A664; // type:function size:0xAD4 scope:local +_Hu3DParticleAttrReset = .text:0x8002A664; // type:function size:0xAD4 scope:local Hu3DParManInit = .text:0x8002B138; // type:function size:0x48 Hu3DParManCreate = .text:0x8002B180; // type:function size:0x1D4 Hu3DParManLink = .text:0x8002B354; // type:function size:0x17C @@ -666,29 +666,29 @@ MGSeqKillAll = .text:0x80035A0C; // type:function size:0x3C MGSeqDoneCheck = .text:0x80035A48; // type:function size:0xA4 MGSeqStub = .text:0x80035AEC; // type:function size:0x4 MGSeqSprKill = .text:0x80035AF0; // type:function size:0x8C -MGSeqInitTimer = .text:0x80035B7C; // type:function size:0x2E0 -MGSeqUpdateTimer = .text:0x80035E5C; // type:function size:0x69C -MGSeqInitType2 = .text:0x800364F8; // type:function size:0x3D8 -MGSeqUpdateType2 = .text:0x800368D0; // type:function size:0x2F8 +SeqInitTimer = .text:0x80035B7C; // type:function size:0x2E0 scope:local +SeqUpdateTimer = .text:0x80035E5C; // type:function size:0x69C scope:local +SeqInitType2 = .text:0x800364F8; // type:function size:0x3D8 scope:local +SeqUpdateType2 = .text:0x800368D0; // type:function size:0x2F8 scope:local fn_80036BC8 = .text:0x80036BC8; // type:function size:0x188 SeqMakeWord = .text:0x80036D50; // type:function size:0x1D0 scope:local SeqLoadFontChar = .text:0x80036F20; // type:function size:0x26C scope:local -MGSeqInitMGBasic = .text:0x8003718C; // type:function size:0x194 -MGSeqUpdateMGBasic = .text:0x80037320; // type:function size:0x9D0 -MGSeqInitMGCommon = .text:0x80037CF0; // type:function size:0x2A4 -MGSeqUpdateMGBattle = .text:0x80037F94; // type:function size:0xDA4 -MGSeqUpdateMG1vs3 = .text:0x80038D38; // type:function size:0xDA4 -MGSeqUpdateMGStory = .text:0x80039ADC; // type:function size:0xBB8 -MGSeqUpdateMG2vs2 = .text:0x8003A694; // type:function size:0xAB4 -MGSeqInitFlip = .text:0x8003B148; // type:function size:0x3C4 -MGSeqUpdateFlip = .text:0x8003B50C; // type:function size:0x91C -MGSeqUpdateMGBowser = .text:0x8003BE28; // type:function size:0xC84 -MGSeqInitDraw = .text:0x8003CAAC; // type:function size:0xDC -MGSeqUpdateDraw = .text:0x8003CB88; // type:function size:0x3DC -MGSeqInitWin = .text:0x8003CF64; // type:function size:0x8A0 -MGSeqUpdateWin = .text:0x8003D804; // type:function size:0x72C -MGSeqInitRecord = .text:0x8003DF30; // type:function size:0x774 -MGSeqUpdateRecord = .text:0x8003E6A4; // type:function size:0x304 +SeqInitMGBasic = .text:0x8003718C; // type:function size:0x194 scope:local +SeqUpdateMGBasic = .text:0x80037320; // type:function size:0x9D0 scope:local +SeqInitMGCommon = .text:0x80037CF0; // type:function size:0x2A4 scope:local +SeqUpdateMGBattle = .text:0x80037F94; // type:function size:0xDA4 scope:local +SeqUpdateMG1vs3 = .text:0x80038D38; // type:function size:0xDA4 scope:local +SeqUpdateMGStory = .text:0x80039ADC; // type:function size:0xBB8 scope:local +SeqUpdateMG2vs2 = .text:0x8003A694; // type:function size:0xAB4 scope:local +SeqInitFlip = .text:0x8003B148; // type:function size:0x3C4 scope:local +SeqUpdateFlip = .text:0x8003B50C; // type:function size:0x91C scope:local +SeqUpdateMGBowser = .text:0x8003BE28; // type:function size:0xC84 scope:local +SeqInitDraw = .text:0x8003CAAC; // type:function size:0xDC scope:local +SeqUpdateDraw = .text:0x8003CB88; // type:function size:0x3DC scope:local +SeqInitWin = .text:0x8003CF64; // type:function size:0x8A0 scope:local +SeqUpdateWin = .text:0x8003D804; // type:function size:0x72C scope:local +SeqInitRecord = .text:0x8003DF30; // type:function size:0x774 scope:local +SeqUpdateRecord = .text:0x8003E6A4; // type:function size:0x304 scope:local MGSeqPauseInit = .text:0x8003E9A8; // type:function size:0x6C PauseProc = .text:0x8003EA14; // type:function size:0x94C scope:local MGSeqPauseKill = .text:0x8003F360; // type:function size:0xC @@ -721,7 +721,7 @@ fn_80040374 = .text:0x80040374; // type:function size:0x98 fn_8004040C = .text:0x8004040C; // type:function size:0xF4 GetClusterCurve = .text:0x80040500; // type:function size:0xA8 GetClusterWeightCurve = .text:0x800405A8; // type:function size:0xA8 -SetClusterMain = .text:0x80040650; // type:function size:0x3A0 scope:local +SetClusterMain = .text:0x80040650; // type:function size:0x3A0 ClusterProc = .text:0x800409F0; // type:function size:0x160 ClusterMotionExec = .text:0x80040B50; // type:function size:0x210 SetShapeMain = .text:0x80040D60; // type:function size:0x36C scope:local @@ -1841,10 +1841,10 @@ BallBooFlash = .text:0x800A1024; // type:function size:0x178 scope:local TakeBallCoin = .text:0x800A119C; // type:function size:0x1B0 scope:local ExecTakeBallCoin = .text:0x800A134C; // type:function size:0xDC scope:local TakeBallCoinPosSet = .text:0x800A1428; // type:function size:0x9C scope:local -CheckBallCoinDone = .text:0x800A14C4; // type:function size:0x68 scope:local -TakeBallStar = .text:0x800A152C; // type:function size:0x168 scope:local -ExecTakeBallStar = .text:0x800A1694; // type:function size:0x184 scope:local -CheckTakeBallStarDone = .text:0x800A1818; // type:function size:0x1C scope:local +CheckBallCoinDone = .text:0x800A14C4; // type:function size:0x68 +TakeBallStar = .text:0x800A152C; // type:function size:0x168 +ExecTakeBallStar = .text:0x800A1694; // type:function size:0x184 +CheckTakeBallStarDone = .text:0x800A1818; // type:function size:0x1C BoardBooStealValueGet = .text:0x800A1834; // type:function size:0x30 BoardBooStealLightCheck = .text:0x800A1864; // type:function size:0x20 UpdatePlayerCoins = .text:0x800A1884; // type:function size:0x1B0 scope:local @@ -2102,8 +2102,6 @@ OSSetErrorHandler = .text:0x800B6FC8; // type:function size:0x1C scope:global __OSUnhandledException = .text:0x800B6FE4; // type:function size:0x200 scope:global OSGetFontEncode = .text:0x800B71E4; // type:function size:0x58 OSDisableInterrupts = .text:0x800B723C; // type:function size:0x14 scope:global -__RAS_OSDisableInterrupts_begin = .text:0x800B723C; // type:label scope:global -__RAS_OSDisableInterrupts_end = .text:0x800B724C; // type:label scope:global OSEnableInterrupts = .text:0x800B7250; // type:function size:0x14 scope:global OSRestoreInterrupts = .text:0x800B7264; // type:function size:0x24 scope:global __OSSetInterruptHandler = .text:0x800B7288; // type:function size:0x1C scope:global @@ -2194,8 +2192,8 @@ __init_user = .text:0x800BB280; // type:function size:0x20 scope:global __init_cpp = .text:0x800BB2A0; // type:function size:0x54 scope:local _ExitProcess = .text:0x800BB2F4; // type:function size:0x20 scope:global DBInit = .text:0x800BB314; // type:function size:0x28 scope:global -__DBExceptionDestinationAux = .text:0x800BB33C; // type:function size:0x48 scope:global -__DBExceptionDestination = .text:0x800BB384; // type:function size:0x10 scope:local +__DBExceptionDestinationAux = .text:0x800BB33C; // type:function size:0x48 scope:local +__DBExceptionDestination = .text:0x800BB384; // type:function size:0x10 scope:global __DBIsExceptionMarked = .text:0x800BB394; // type:function size:0x1C scope:global DBPrintf = .text:0x800BB3B0; // type:function size:0x50 scope:global PSMTXIdentity = .text:0x800BB400; // type:function size:0x2C @@ -2323,7 +2321,7 @@ __fstLoad = .text:0x800C0A04; // type:function size:0x168 scope:global __VIRetraceHandler = .text:0x800C0B6C; // type:function size:0x228 scope:local VISetPreRetraceCallback = .text:0x800C0D94; // type:function size:0x44 VISetPostRetraceCallback = .text:0x800C0DD8; // type:function size:0x44 -getTiming = .text:0x800C0E1C; // type:function size:0x90 scope:local +getTiming = .text:0x800C0E1C; // type:function size:0x90 __VIInit = .text:0x800C0EAC; // type:function size:0x1F8 VIInit = .text:0x800C10A4; // type:function size:0x478 VIWaitForRetrace = .text:0x800C151C; // type:function size:0x54 @@ -2572,7 +2570,7 @@ GXEndDisplayList = .text:0x800CF0E0; // type:function size:0xD4 GXCallDisplayList = .text:0x800CF1B4; // type:function size:0x70 GXProject = .text:0x800CF224; // type:function size:0x174 GXSetProjection = .text:0x800CF398; // type:function size:0xD4 -GXGetProjectionv = .text:0x800CF46C; // type:function size:0x78 +GXSetProjectionv = .text:0x800CF46C; // type:function size:0x78 WriteMTXPS4x3 = .text:0x800CF4E4; // type:function size:0x34 scope:local WriteMTXPS3x3from3x4 = .text:0x800CF518; // type:function size:0x34 scope:local WriteMTXPS4x2 = .text:0x800CF54C; // type:function size:0x24 scope:local @@ -2756,8 +2754,8 @@ __THPHuffDecodeDCTCompU = .text:0x800E0C48; // type:function size:0x6A8 scope:lo __THPHuffDecodeDCTCompV = .text:0x800E12F0; // type:function size:0x6A8 scope:local THPInit = .text:0x800E1998; // type:function size:0x78 THPAudioDecode = .text:0x800E1A10; // type:function size:0x464 -__THPAudioGetNewSample = .text:0x800E1E74; // type:function size:0x90 scope:local -__THPAudioInitialize = .text:0x800E1F04; // type:function size:0x3C scope:local +__THPAudioGetNewSample = .text:0x800E1E74; // type:function size:0x90 +__THPAudioInitialize = .text:0x800E1F04; // type:function size:0x3C __va_arg = .text:0x800E1F40; // type:function size:0xC8 scope:global __destroy_global_chain = .text:0x800E2008; // type:function size:0x48 scope:global __register_global_object = .text:0x800E2050; // type:function size:0x18 scope:global @@ -2918,7 +2916,7 @@ __StringWrite = .text:0x800E65DC; // type:function size:0x6C __FileWrite = .text:0x800E6648; // type:function size:0x58 scope:global __pformatter = .text:0x800E66A0; // type:function size:0x774 scope:local float2str = .text:0x800E6E14; // type:function size:0x6EC scope:local -round_decimal = .text:0x800E7500; // type:function size:0x12C scope:local +round_decimal = .text:0x800E7500; // type:function size:0x12C double2hex = .text:0x800E762C; // type:function size:0x338 scope:local longlong2str = .text:0x800E7964; // type:function size:0x2DC scope:local long2str = .text:0x800E7C40; // type:function size:0x220 scope:local @@ -3032,9 +3030,9 @@ TRK_flush_cache = .text:0x800F0360; // type:function size:0x38 TRK_fill_mem = .text:0x800F0398; // type:function size:0xBC __TRK_get_MSR = .text:0x800F0454; // type:function size:0x8 __TRK_set_MSR = .text:0x800F045C; // type:function size:0x8 -TRK_ppc_memcpy = .text:0x800F0464; // type:function size:0x3C scope:local +TRK_ppc_memcpy = .text:0x800F0464; // type:function size:0x3C TRKInterruptHandler = .text:0x800F04A0; // type:function size:0x194 scope:global -TRKExceptionHandler = .text:0x800F0634; // type:function size:0x9C scope:local +TRKExceptionHandler = .text:0x800F0634; // type:function size:0x9C scope:global TRKSwapAndGo = .text:0x800F06D0; // type:function size:0xC4 scope:global TRKInterruptHandlerEnableInterrupts = .text:0x800F0794; // type:function size:0x54 scope:global TRKTargetSetInputPendingPtr = .text:0x800F07E8; // type:function size:0x10 scope:global @@ -3514,7 +3512,7 @@ msmSysDelGroupAll = .text:0x801161B4; // type:function size:0x140 msmSysDelGroupBase = .text:0x801162F4; // type:function size:0x28C msmSysLoadGroupBase = .text:0x80116580; // type:function size:0x298 msmSysLoadGroupSet = .text:0x80116818; // type:function size:0x3F0 -msmSysLoadGroupSub = .text:0x80116C08; // type:function size:0x3B4 scope:local +msmSysLoadGroupSub = .text:0x80116C08; // type:function size:0x3B4 msmSysLoadGroup = .text:0x80116FBC; // type:function size:0x278 msmSysCheckInit = .text:0x80117234; // type:function size:0x20 msmSysInit = .text:0x80117254; // type:function size:0x474 @@ -3560,7 +3558,7 @@ msmSePlay = .text:0x80119A94; // type:function size:0x480 msmSeInit = .text:0x80119F14; // type:function size:0x130 msmStreamGetStatus = .text:0x8011A044; // type:function size:0xC8 msmStreamSetMasterVolume = .text:0x8011A10C; // type:function size:0x118 -msmStreamStopAll = .text:0x8011A224; // type:function size:0xE0 +msmStreamPauseAll = .text:0x8011A224; // type:function size:0xE0 msmStreamStop = .text:0x8011A304; // type:function size:0x204 msmStreamPlay = .text:0x8011A508; // type:function size:0x88 msmStreamPeriodicProc = .text:0x8011A590; // type:function size:0x8C @@ -3568,15 +3566,15 @@ msmStreamSetOutputMode = .text:0x8011A61C; // type:function size:0x114 msmStreamAmemFree = .text:0x8011A730; // type:function size:0x68 msmStreamAmemAlloc = .text:0x8011A798; // type:function size:0x10C msmStreamInit = .text:0x8011A8A4; // type:function size:0x2A8 -msmStreamPauseOff = .text:0x8011AB4C; // type:function size:0x2B8 scope:local -msmStreamPauseOn = .text:0x8011AE04; // type:function size:0x1AC scope:local -msmStreamPauseFade = .text:0x8011AFB0; // type:function size:0x2E8 scope:local -msmStreamFade = .text:0x8011B298; // type:function size:0x33C scope:local +msmStreamPauseOff = .text:0x8011AB4C; // type:function size:0x2B8 +msmStreamPauseOn = .text:0x8011AE04; // type:function size:0x1AC +msmStreamPauseFade = .text:0x8011AFB0; // type:function size:0x2E8 +msmStreamFade = .text:0x8011B298; // type:function size:0x33C msmStreamStopSub = .text:0x8011B5D4; // type:function size:0x13C scope:local msmStreamSetParamSub = .text:0x8011B710; // type:function size:0xE0 scope:local -msmStreamPackStartStereo = .text:0x8011B7F0; // type:function size:0x448 scope:local -msmStreamPackStartMono = .text:0x8011BC38; // type:function size:0x2DC scope:local -msmStreamSlotOff = .text:0x8011BF14; // type:function size:0xD0 scope:local +msmStreamPackStartStereo = .text:0x8011B7F0; // type:function size:0x448 +msmStreamPackStartMono = .text:0x8011BC38; // type:function size:0x2DC +msmStreamSlotOff = .text:0x8011BF14; // type:function size:0xD0 msmStreamData = .text:0x8011BFE4; // type:function size:0x320 scope:local msmStreamDvdCallback = .text:0x8011C304; // type:function size:0x4A8 scope:local msmStreamDvdCallback2 = .text:0x8011C7AC; // type:function size:0x188 scope:local @@ -3611,8 +3609,8 @@ pickSpr = .rodata:0x8011DFD0; // type:object size:0x20 scope:local handMdl = .rodata:0x8011DFF0; // type:object size:0x20 scope:local ticketSpr = .rodata:0x8011E010; // type:object size:0x10 scope:local lbl_8011E020 = .rodata:0x8011E020; // type:object size:0x20 data:4byte -starMesTbl1 = .rodata:0x8011E040; // type:object size:0x24 scope:local -starMesTbl2 = .rodata:0x8011E064; // type:object size:0x48 scope:local +lbl_8011E040 = .rodata:0x8011E040; // type:object size:0x24 +lbl_8011E064 = .rodata:0x8011E064; // type:object size:0x4C lbl_8011E0B0 = .rodata:0x8011E0B0; // type:object size:0x10 data:4byte lbl_8011E0C0 = .rodata:0x8011E0C0; // type:object size:0x54 data:4byte lbl_8011E118 = .rodata:0x8011E118; // type:object size:0x38 data:4byte @@ -3646,14 +3644,14 @@ __THPAANScaleFactor = .rodata:0x8011E490; // type:object size:0x40 data:byte lbl_8011E4D0 = .rodata:0x8011E4D0; // type:object size:0x10 lbl_8011E4E0 = .rodata:0x8011E4E0; // type:object size:0x10 __constants = .rodata:0x8011E4F0; // type:object size:0x18 scope:local data:double -lbl_8011E508 = .rodata:0x8011E508; // type:object size:0x54 data:string -lbl_8011E55C = .rodata:0x8011E55C; // type:object size:0x14 data:string -lbl_8011E570 = .rodata:0x8011E570; // type:object size:0x10 data:string -lbl_8011E580 = .rodata:0x8011E580; // type:object size:0x20 data:string +lbl_8011E508 = .rodata:0x8011E508; // type:object size:0x54 +lbl_8011E55C = .rodata:0x8011E55C; // type:object size:0x14 +lbl_8011E570 = .rodata:0x8011E570; // type:object size:0x10 +lbl_8011E580 = .rodata:0x8011E580; // type:object size:0x20 lbl_8011E5A0 = .rodata:0x8011E5A0; // type:object size:0x38 lbl_8011E5D8 = .rodata:0x8011E5D8; // type:object size:0x40 fix_pool_sizes = .rodata:0x8011E618; // type:object size:0x18 scope:local data:4byte -lbl_8011E630 = .rodata:0x8011E630; // type:object size:0xE0 data:string +lbl_8011E630 = .rodata:0x8011E630; // type:object size:0xE0 @stringBase0 = .rodata:0x8011E710; // type:object size:0x25 scope:local data:string_table Zero = .rodata:0x8011E738; // type:object size:0x10 scope:local bp = .rodata:0x8011E748; // type:object size:0x10 scope:local data:double @@ -3667,12 +3665,12 @@ T = .rodata:0x8011E950; // type:object size:0x68 scope:local data:double atanhi = .rodata:0x8011E9B8; // type:object size:0x20 scope:local atanlo = .rodata:0x8011E9D8; // type:object size:0x20 scope:local aT = .rodata:0x8011E9F8; // type:object size:0x58 scope:local -@62 = .rodata:0x8011EA50; // type:object size:0x1C scope:local data:string -lbl_8011EA70 = .rodata:0x8011EA70; // type:object size:0x1D data:string +@62 = .rodata:0x8011EA50; // type:object size:0x1B scope:local data:string +lbl_8011EA70 = .rodata:0x8011EA70; // type:object size:0x20 gTRKMemMap = .rodata:0x8011EA90; // type:object size:0x10 data:4byte -lbl_8011EAA0 = .rodata:0x8011EAA0; // type:object size:0x28 scope:local data:4byte -lbl_8011EAC8 = .rodata:0x8011EAC8; // type:object size:0x28 scope:local data:4byte -lbl_8011EAF0 = .rodata:0x8011EAF0; // type:object size:0x28 scope:local data:4byte +lbl_8011EAA0 = .rodata:0x8011EAA0; // type:object size:0x28 data:4byte +lbl_8011EAC8 = .rodata:0x8011EAC8; // type:object size:0x28 data:4byte +lbl_8011EAF0 = .rodata:0x8011EAF0; // type:object size:0x28 data:4byte @154 = .rodata:0x8011EB18; // type:object size:0x21 scope:local data:string @155 = .rodata:0x8011EB3C; // type:object size:0x24 scope:local data:string dspMixerCycles = .rodata:0x8011EB60; // type:object size:0x40 @@ -3680,7 +3678,7 @@ pbOffsets$890 = .rodata:0x8011EBA0; // type:object size:0x18 scope:local inpColdMIDIDefaults = .rodata:0x8011EBB8; // type:object size:0x88 scope:local inpWarmMIDIDefaults = .rodata:0x8011EC40; // type:object size:0x88 scope:local data:byte itdOffTab = .rodata:0x8011ECC8; // type:object size:0x100 scope:local -lbl_8011EDE0 = .data:0x8011EDE0; // type:object size:0x10 scope:local data:string +lbl_8011EDE0 = .data:0x8011EDE0; // type:object size:0x10 data:string chanTbl = .data:0x8011EDF0; // type:object size:0x10 scope:local correctDiskID = .data:0x8011EE00; // type:object size:0x124 scope:local jumptable_8011EF24 = .data:0x8011EF24; // type:object size:0x34 scope:local @@ -3828,8 +3826,7 @@ DataDirStat = .data:0x8011F7C4; // type:object size:0x468 scope:local data:4byte lbl_8011FC2C = .data:0x8011FC2C; // type:object size:0x1D data:string lbl_8011FC49 = .data:0x8011FC49; // type:object size:0x1F data:string lbl_8011FC68 = .data:0x8011FC68; // type:object size:0x1D data:string -lbl_8011FC85 = .data:0x8011FC85; // type:object size:0x12 data:string -lbl_8011FC97 = .data:0x8011FC97; // type:object size:0xD data:string +lbl_8011FC85 = .data:0x8011FC85; // type:object size:0x1F data:string lbl_8011FCA4 = .data:0x8011FCA4; // type:object size:0x1A data:string lbl_8011FCBE = .data:0x8011FCBE; // type:object size:0x122 lbl_8011FDE0 = .data:0x8011FDE0; // type:object size:0x20 @@ -3914,14 +3911,14 @@ lbl_8012E70A = .data:0x8012E70A; // type:object size:0xB data:string lbl_8012E715 = .data:0x8012E715; // type:object size:0x273 lbl_8012E988 = .data:0x8012E988; // type:object size:0x12 data:string lbl_8012E99A = .data:0x8012E99A; // type:object size:0xD6 -sndGrpTable = .data:0x8012EA70; // type:object size:0x5B0 +HuSndGrpTbl = .data:0x8012EA70; // type:object size:0x5B0 lbl_8012F020 = .data:0x8012F020; // type:object size:0x94 lbl_8012F0B4 = .data:0x8012F0B4; // type:object size:0x11 data:string lbl_8012F0C5 = .data:0x8012F0C5; // type:object size:0x3A lbl_8012F0FF = .data:0x8012F0FF; // type:object size:0x31 seqInfoTbl = .data:0x8012F130; // type:object size:0x1DC scope:local seqType2SprTbl = .data:0x8012F30C; // type:object size:0x18 scope:local -mgSeqTypeTbl = .data:0x8012F324; // type:object size:0x12 scope:local data:2byte +mgSeqTypeTbl = .data:0x8012F324; // type:object size:0x12 scope:local lbl_8012F336 = .data:0x8012F336; // type:object size:0x53 scope:local data:string lbl_8012F389 = .data:0x8012F389; // type:object size:0x9 scope:local data:string lbl_8012F392 = .data:0x8012F392; // type:object size:0x9 scope:local data:string @@ -4133,7 +4130,7 @@ VolumeTable = .data:0x801311E8; // type:object size:0x100 scope:local lbl_801312E8 = .data:0x801312E8; // type:object size:0x4D lbl_80131335 = .data:0x80131335; // type:object size:0x1B mgInfoTbl = .data:0x80131350; // type:object size:0xE00 data:2byte -commentTbl = .data:0x80132150; // type:object size:0x40 scope:local data:string +commentTbl = .data:0x80132150; // type:object size:0x40 scope:local lbl_80132190 = .data:0x80132190; // type:object size:0xC data:string lbl_8013219C = .data:0x8013219C; // type:object size:0xC data:string lbl_801321A8 = .data:0x801321A8; // type:object size:0xC data:string @@ -4291,8 +4288,7 @@ statusLayout1Vs3 = .data:0x8013AD64; // type:object size:0x30 scope:local data:f statusLayout2Vs2 = .data:0x8013AD94; // type:object size:0x30 scope:local data:float luckyMessTbl = .data:0x8013ADC4; // type:object size:0x24 scope:local jumptable_8013ADE8 = .data:0x8013ADE8; // type:object size:0x20 scope:local -cursorYTbl = .data:0x8013AE08; // type:object size:0x10 scope:local -hiliteYTbl = .data:0x8013AE18; // type:object size:0x10 scope:local +hiliteYTbl = .data:0x8013AE08; // type:object size:0x10 scope:local hiliteColTbl = .data:0x8013AE28; // type:object size:0xC scope:local hostMesTbl = .data:0x8013AE38; // type:object size:0x90 scope:local houseMdlTbl = .data:0x8013AEC8; // type:object size:0x30 scope:local @@ -4332,100 +4328,27 @@ jumptable_8013B4D4 = .data:0x8013B4D4; // type:object size:0x20 scope:local jumptable_8013B4F4 = .data:0x8013B4F4; // type:object size:0x20 scope:local lbl_8013B518 = .data:0x8013B518; // type:object size:0x24 data:string lbl_8013B53C = .data:0x8013B53C; // type:object size:0x24 data:string -@82 = .data:0x8013B560; // type:object size:0x1E scope:local data:string -lbl_8013B580 = .data:0x8013B580; // type:object size:0x16 scope:local data:string -lbl_8013B598 = .data:0x8013B598; // type:object size:0xC scope:local data:string -lbl_8013B5A4 = .data:0x8013B5A4; // type:object size:0x9 scope:local data:string -lbl_8013B5B4 = .data:0x8013B5B0; // type:object size:0x10 scope:local data:string -lbl_8013B5C0 = .data:0x8013B5C0; // type:object size:0xB scope:local data:string -lbl_8013B5CC = .data:0x8013B5CC; // type:object size:0xE scope:local data:string -lbl_8013B5DC = .data:0x8013B5DC; // type:object size:0xD scope:local data:string -lbl_8013B5EC = .data:0x8013B5EC; // type:object size:0xD scope:local data:string -lbl_8013B5FC = .data:0x8013B5FC; // type:object size:0xD scope:local data:string -lbl_8013B60C = .data:0x8013B60C; // type:object size:0x12 scope:local data:string -lbl_8013B620 = .data:0x8013B620; // type:object size:0xE scope:local data:string -lbl_8013B630 = .data:0x8013B630; // type:object size:0x15 scope:local data:string -__OSExceptionLocations = .data:0x8013B648; // type:object size:0x3C scope:local -lbl_8013B720 = .data:0x8013B720; // type:object size:0x24 scope:local data:string -lbl_8013B744 = .data:0x8013B744; // type:object size:0x37 scope:local data:string -lbl_8013B77C = .data:0x8013B77C; // type:object size:0x28 scope:local data:string -lbl_8013B7A4 = .data:0x8013B7A4; // type:object size:0x4F scope:local data:string -lbl_8013B7F4 = .data:0x8013B7F4; // type:object size:0x3E scope:local data:string -lbl_8013B834 = .data:0x8013B834; // type:object size:0x37 scope:local data:string -lbl_8013B86C = .data:0x8013B86C; // type:object size:0x49 scope:local data:string -lbl_8013B8B8 = .data:0x8013B8B8; // type:object size:0x33 scope:local data:string -lbl_8013B8EC = .data:0x8013B8EC; // type:object size:0x3D scope:local data:string -lbl_8013B92C = .data:0x8013B92C; // type:object size:0x39 scope:local data:string -lbl_8013B968 = .data:0x8013B968; // type:object size:0x45 scope:local data:string -lbl_8013B9B0 = .data:0x8013B9B0; // type:object size:0x5F scope:local data:string -lbl_8013BA10 = .data:0x8013BA10; // type:object size:0x2C scope:local data:string -lbl_8013BA3C = .data:0x8013BA3C; // type:object size:0x12 scope:local data:string -lbl_8013BA50 = .data:0x8013BA50; // type:object size:0x12 scope:local data:string -lbl_8013BA64 = .data:0x8013BA64; // type:object size:0x1A scope:local data:string -lbl_8013BA80 = .data:0x8013BA80; // type:object size:0x13 scope:local data:string -lbl_8013BA94 = .data:0x8013BA94; // type:object size:0x10 scope:local data:string -lbl_8013BAA4 = .data:0x8013BAA4; // type:object size:0xE scope:local data:string +@84 = .data:0x8013B560; // type:object size:0x1E scope:local data:string +__OSExceptionLocations = .data:0x8013B648; // type:object size:0x3C +lbl_8013B720 = .data:0x8013B720; // type:object size:0x398 DSPInitCode = .data:0x8013BAB8; // type:object size:0x80 scope:local @69 = .data:0x8013BB38; // type:object size:0x29 scope:local data:string -lbl_8013BB64 = .data:0x8013BB64; // type:object size:0x18 scope:local data:string -lbl_8013BB7C = .data:0x8013BB7C; // type:object size:0x1B scope:local data:string -lbl_8013BB98 = .data:0x8013BB98; // type:object size:0x30 scope:local data:string -lbl_8013BBC8 = .data:0x8013BBC8; // type:object size:0x3C scope:local data:string -lbl_8013BC04 = .data:0x8013BC04; // type:object size:0x37 scope:local data:string -lbl_8013BC3D = .data:0x8013BC3D; // type:object size:0x3E scope:local data:string -lbl_8013BC7C = .data:0x8013BC7C; // type:object size:0x29 scope:local data:string -lbl_8013BCA8 = .data:0x8013BCA8; // type:object size:0x1D scope:local data:string -lbl_8013BCC8 = .data:0x8013BCC8; // type:object size:0x19 scope:local data:string -lbl_8013BCE4 = .data:0x8013BCE4; // type:object size:0x19 scope:local data:string -lbl_8013BD00 = .data:0x8013BD00; // type:object size:0x19 scope:local data:string -lbl_8013BD1C = .data:0x8013BD1C; // type:object size:0x16 scope:local data:string -lbl_8013BD34 = .data:0x8013BD34; // type:object size:0x2E scope:local data:string -lbl_8013BD68 = .data:0x8013BD68; // type:object size:0x44 scope:local data:string -lbl_8013BDAC = .data:0x8013BDAC; // type:object size:0x30 scope:local data:string -lbl_8013BDDC = .data:0x8013BDDC; // type:object size:0x2F scope:local data:string -lbl_8013BE0C = .data:0x8013BE0C; // type:object size:0x2F scope:local data:string -lbl_8013BE3C = .data:0x8013BE3C; // type:object size:0x11 scope:local data:string -lbl_8013BE50 = .data:0x8013BE50; // type:object size:0x21 scope:local data:string -lbl_8013BE74 = .data:0x8013BE74; // type:object size:0x12 scope:local data:string -lbl_8013BE88 = .data:0x8013BE88; // type:object size:0x19 scope:local data:string -lbl_8013BEA4 = .data:0x8013BEA4; // type:object size:0x12 scope:local data:string -lbl_8013BEB8 = .data:0x8013BEB8; // type:object size:0x1D scope:local data:string -lbl_8013BED8 = .data:0x8013BED8; // type:object size:0x26 scope:local data:string -lbl_8013BF00 = .data:0x8013BF00; // type:object size:0x1C scope:local data:string -@76 = .data:0x8013BF1C; // type:object size:0x23 scope:local data:string +lbl_8013BD68 = .data:0x8013BD68; // type:object size:0x1B4 +@74 = .data:0x8013BF1C; // type:object size:0x23 scope:local data:string @10 = .data:0x8013BF40; // type:object size:0x16 scope:local data:string -lbl_8013BF58 = .data:0x8013BF58; // type:object size:0x26 scope:local data:string -lbl_8013BF80 = .data:0x8013BF80; // type:object size:0x1C scope:local data:string -lbl_8013BF9C = .data:0x8013BF9C; // type:object size:0x1D scope:local data:string -lbl_8013BFBC = .data:0x8013BFBC; // type:object size:0x17 scope:local data:string -lbl_8013BFD4 = .data:0x8013BFD4; // type:object size:0x31 scope:local data:string -lbl_8013C008 = .data:0x8013C008; // type:object size:0x10 scope:local data:string -lbl_8013C018 = .data:0x8013C018; // type:object size:0x60 scope:local data:string -lbl_8013C078 = .data:0x8013C078; // type:object size:0x4C scope:local data:string -lbl_8013C0C4 = .data:0x8013C0C4; // type:object size:0x62 scope:local data:string -lbl_8013C128 = .data:0x8013C128; // type:object size:0x60 scope:local data:string -lbl_8013C188 = .data:0x8013C188; // type:object size:0x1F scope:local data:string -lbl_8013C1A8 = .data:0x8013C1A8; // type:object size:0x1F scope:local data:string -lbl_8013C1C8 = .data:0x8013C1C8; // type:object size:0x1B scope:local data:string -lbl_8013C1E4 = .data:0x8013C1E4; // type:object size:0x35 scope:local data:string -@87 = .data:0x8013C21C; // type:object size:0x40 scope:local +@43 = .data:0x8013C21C; // type:object size:0x40 scope:local InterruptPrioTable = .data:0x8013C260; // type:object size:0x2C scope:local data:4byte -lbl_8013C290 = .data:0x8013C290; // type:object size:0x25 scope:local data:string -lbl_8013C2B8 = .data:0x8013C2B8; // type:object size:0x27 scope:local data:string +lbl_8013C290 = .data:0x8013C290; // type:object size:0x28 +lbl_8013C2B8 = .data:0x8013C2B8; // type:object size:0x28 ResetFunctionInfo = .data:0x8013C2E0; // type:object size:0x10 scope:local -lbl_8013C2F0 = .data:0x8013C2F0; // type:object size:0x12 scope:local data:string -lbl_8013C304 = .data:0x8013C304; // type:object size:0x11 scope:local data:string -lbl_8013C318 = .data:0x8013C318; // type:object size:0xD scope:local data:string -lbl_8013C328 = .data:0x8013C328; // type:object size:0x11 scope:local data:string -lbl_8013C33C = .data:0x8013C33C; // type:object size:0x11 scope:local data:string -lbl_8013C350 = .data:0x8013C350; // type:object size:0x11 scope:local data:string +lbl_8013C2F0 = .data:0x8013C2F0; // type:object size:0x78 YearDays = .data:0x8013C368; // type:object size:0x30 scope:local LeapYearDays = .data:0x8013C398; // type:object size:0x30 scope:local -lbl_8013C3C8 = .data:0x8013C3C8; // type:object size:0x18 scope:local data:string -lbl_8013C3E0 = .data:0x8013C3E0; // type:object size:0xC8 scope:local data:string -lbl_8013C4A8 = .data:0x8013C4A8; // type:object size:0x38 scope:local -lbl_8013C4E0 = .data:0x8013C4E0; // type:object size:0x34 scope:local data:string -lbl_8013C514 = .data:0x8013C514; // type:object size:0x34 scope:local +lbl_8013C3C8 = .data:0x8013C3C8; // type:object size:0x18 data:string +lbl_8013C3E0 = .data:0x8013C3E0; // type:object size:0xC8 data:string +lbl_8013C4A8 = .data:0x8013C4A8; // type:object size:0x38 +lbl_8013C4E0 = .data:0x8013C4E0; // type:object size:0x34 data:string +lbl_8013C514 = .data:0x8013C514; // type:object size:0x34 @13 = .data:0x8013C548; // type:object size:0x15 scope:local data:string @293 = .data:0x8013C594; // type:object size:0x20 scope:local jumptable_8013C5B4 = .data:0x8013C5B4; // type:object size:0x40 scope:local @@ -4436,31 +4359,23 @@ ErrorTable = .data:0x8013C660; // type:object size:0x48 scope:local data:4byte timing = .data:0x8013C718; // type:object size:0x130 scope:local taps = .data:0x8013C848; // type:object size:0x32 scope:local jumptable_8013C87C = .data:0x8013C87C; // type:object size:0x58 scope:local -lbl_8013C8D4 = .data:0x8013C8D4; // type:object size:0x29 scope:local data:string -lbl_8013C900 = .data:0x8013C900; // type:object size:0x29 scope:local data:string -lbl_8013C92C = .data:0x8013C92C; // type:object size:0x29 scope:local data:string -lbl_8013C958 = .data:0x8013C958; // type:object size:0x29 scope:local data:string -lbl_8013C984 = .data:0x8013C984; // type:object size:0x29 scope:local data:string -lbl_8013C9B0 = .data:0x8013C9B0; // type:object size:0x29 scope:local data:string +lbl_8013C8D4 = .data:0x8013C8D4; // type:object size:0x29 data:string +lbl_8013C900 = .data:0x8013C900; // type:object size:0x29 data:string +lbl_8013C92C = .data:0x8013C92C; // type:object size:0x29 data:string +lbl_8013C958 = .data:0x8013C958; // type:object size:0x29 data:string +lbl_8013C984 = .data:0x8013C984; // type:object size:0x29 data:string +lbl_8013C9B0 = .data:0x8013C9B0; // type:object size:0x29 data:string DEMOFontBitmap = .data:0x8013C9E0; // type:object size:0xC00 align:32 -lbl_8013D5E0 = .data:0x8013D5E0; // type:object size:0xC scope:local data:string -lbl_8013D5EC = .data:0x8013D5EC; // type:object size:0x26 scope:local data:string +lbl_8013D5E0 = .data:0x8013D5E0; // type:object size:0xC data:string +lbl_8013D5EC = .data:0x8013D5EC; // type:object size:0x28 jumptable_8013D614 = .data:0x8013D614; // type:object size:0x28 scope:local jumptable_8013D698 = .data:0x8013D698; // type:object size:0x28 scope:local jumptable_8013D6C0 = .data:0x8013D6C0; // type:object size:0x28 scope:local jumptable_8013D6E8 = .data:0x8013D6E8; // type:object size:0x28 scope:local jumptable_8013D710 = .data:0x8013D710; // type:object size:0x28 scope:local -ResetFunctionInfo = .data:0x8013D738; // type:object size:0x10 -lbl_8013D748 = .data:0x8013D748; // type:object size:0x1E scope:local data:string -lbl_8013D768 = .data:0x8013D768; // type:object size:0xC scope:local data:string -lbl_8013D774 = .data:0x8013D774; // type:object size:0x9 scope:local data:string -lbl_8013D780 = .data:0x8013D780; // type:object size:0x1D scope:local data:string -lbl_8013D7A0 = .data:0x8013D7A0; // type:object size:0x2D scope:local data:string -lbl_8013D7D0 = .data:0x8013D7D0; // type:object size:0x2D scope:local data:string -lbl_8013D800 = .data:0x8013D800; // type:object size:0x2D scope:local data:string -lbl_8013D830 = .data:0x8013D830; // type:object size:0x2D scope:local data:string -lbl_8013D860 = .data:0x8013D860; // type:object size:0x2D scope:local data:string -lbl_8013D890 = .data:0x8013D890; // type:object size:0x2B scope:local data:string +lbl_8013D738 = .data:0x8013D738; // type:object size:0x10 +lbl_8013D748 = .data:0x8013D748; // type:object size:0x38 +lbl_8013D780 = .data:0x8013D780; // type:object size:0x140 jumptable_8013D8C0 = .data:0x8013D8C0; // type:object size:0x68 scope:local jumptable_8013D928 = .data:0x8013D928; // type:object size:0x44 scope:local jumptable_8013D96C = .data:0x8013D96C; // type:object size:0x1C scope:local @@ -4485,17 +4400,6 @@ SectorSizeTable = .data:0x8013E060; // type:object size:0x20 scope:local LatencyTable = .data:0x8013E080; // type:object size:0x20 scope:local Si = .data:0x8013E0A0; // type:object size:0x14 scope:local data:4byte Type = .data:0x8013E0B4; // type:object size:0x10 scope:local -@464 = .data:0x8013E0C4; // type:object size:0xC scope:local data:string -lbl_8013E0D0 = .data:0x8013E0D0; // type:object size:0xF scope:local data:string -lbl_8013E0E0 = .data:0x8013E0E0; // type:object size:0xF scope:local data:string -lbl_8013E0F0 = .data:0x8013E0F0; // type:object size:0xD scope:local data:string -lbl_8013E100 = .data:0x8013E100; // type:object size:0xA scope:local data:string -lbl_8013E10C = .data:0x8013E10C; // type:object size:0x10 scope:local data:string -lbl_8013E11C = .data:0x8013E11C; // type:object size:0x14 scope:local data:string -lbl_8013E130 = .data:0x8013E130; // type:object size:0x12 scope:local data:string -lbl_8013E144 = .data:0x8013E144; // type:object size:0x14 scope:local data:string -lbl_8013E158 = .data:0x8013E158; // type:object size:0x9 scope:local data:string -lbl_8013E164 = .data:0x8013E164; // type:object size:0x9 scope:local data:string XYNTSC = .data:0x8013E170; // type:object size:0x30 scope:local XYPAL = .data:0x8013E1A0; // type:object size:0x30 scope:local __vt__Q23std9exception = .data:0x8013E208; // type:object size:0x10 scope:weak @@ -4517,7 +4421,7 @@ jumptable_8013EA20 = .data:0x8013EA20; // type:object size:0x1C scope:local jumptable_8013EA3C = .data:0x8013EA3C; // type:object size:0x1C scope:local gTRKRestoreFlags = .data:0x8013EA58; // type:object size:0x9 scope:global data:byte gTRKExceptionStatus = .data:0x8013EA64; // type:object size:0x10 scope:local data:4byte -gTRKStepStatus = .data:0x8013EA74; // type:object size:0x14 scope:local data:4byte +gTRKStepStatus = .data:0x8013EA74; // type:object size:0x14 data:4byte TRK_ISR_OFFSETS = .data:0x8013EA88; // type:object size:0x3C scope:local data:4byte gDBCommTable = .data:0x8013EAC8; // type:object size:0x1C scope:global data:4byte jumptable_8013EAE8 = .data:0x8013EAE8; // type:object size:0x50 scope:local @@ -4543,19 +4447,19 @@ jumptable_8013FD68 = .data:0x8013FD68; // type:object size:0x24 scope:local jumptable_8013FD8C = .data:0x8013FD8C; // type:object size:0x24 scope:local jumptable_8013FDB0 = .data:0x8013FDB0; // type:object size:0x24 scope:local sndSintab = .data:0x8013FDD8; // type:object size:0x800 -dspSlave = .data:0x801405E0; // type:object size:0x19E0 align:32 data:byte +dspSlave = .data:0x801405E0; // type:object size:0x19E0 align:32 lens$301 = .data:0x80141FC0; // type:object size:0x10 scope:local lens$301 = .data:0x80141FD0; // type:object size:0x20 scope:local rsmpTab12khz = .data:0x80141FF0; // type:object size:0x800 scope:local padStatErrOld = .bss:0x80142800; // type:object size:0x10 scope:local rumbleData = .bss:0x80142810; // type:object size:0x20 scope:local ReadDataStat = .bss:0x80142840; // type:object size:0x2E00 scope:local align:32 data:4byte -textBuffer = .bss:0x80145640; // type:object size:0x400 scope:local +TextBuffer = .bss:0x80145640; // type:object size:0x400 rmodeobj = .bss:0x80145A40; // type:object size:0x40 scope:local HeapTbl = .bss:0x80145A80; // type:object size:0x14 scope:local strline = .bss:0x80145A98; // type:object size:0x6800 scope:local pfStrBuf = .bss:0x8014C298; // type:object size:0x100 scope:local data:byte -processjmpbuf = .bss:0x8014C398; // type:object size:0xF8 scope:local align:8 +processjmpbuf = .bss:0x8014C398; // type:object size:0xF8 align:8 HuSprData = .bss:0x8014C490; // type:object size:0x9600 HuSprGrpData = .bss:0x80155A90; // type:object size:0x5400 data:2byte HuSprOrder = .bss:0x8015AE90; // type:object size:0x1800 @@ -4610,7 +4514,7 @@ CenterM = .bss:0x801900E0; // type:object size:0xC0 CZoomM = .bss:0x801901A0; // type:object size:0x40 omDLLinfoTbl = .bss:0x801901E0; // type:object size:0x50 sndFXBuf = .bss:0x80190230; // type:object size:0x200 scope:local -charVoiceGroupStat = .bss:0x80190430; // type:object size:0x20 +charVoiceGroupStat = .bss:0x80190430; // type:object size:0x20 scope:local seqWorkData = .bss:0x80190450; // type:object size:0x400 scope:local data:4byte winnerNameW = .bss:0x80190850; // type:object size:0x10 scope:local data:2byte esprite = .bss:0x80190860; // type:object size:0x600 data:2byte @@ -4622,7 +4526,7 @@ wipeData = .bss:0x80192360; // type:object size:0x4C data:4byte winData = .bss:0x801923C0; // type:object size:0x3000 align:32 data:byte winKey = .bss:0x801953C0; // type:object size:0x10 winComKeyBuf = .bss:0x801953D0; // type:object size:0x1400 -ARInfo = .bss:0x801967E0; // type:object size:0x400 scope:local data:byte +ARInfo = .bss:0x801967E0; // type:object size:0x400 data:byte arqReq = .bss:0x80196BE0; // type:object size:0x20 scope:local ARQueBuf = .bss:0x80196C00; // type:object size:0x280 scope:local preLoadBuf = .bss:0x80196E80; // type:object size:0x40 scope:local align:32 @@ -4649,7 +4553,7 @@ THPFileName = .bss:0x801981A0; // type:object size:0x40 scope:local mgGameStatBackup = .bss:0x801981E0; // type:object size:0x118 mgIndexList = .bss:0x801982F8; // type:object size:0x100 mgTicTacToeGrid = .bss:0x801983F8; // type:object size:0x12 -_Sys_Flag = .bss:0x80198410; // type:object size:0x10 scope:local +_Sys_Flag = .bss:0x80198410; // type:object size:0x10 curFileInfo = .bss:0x80198420; // type:object size:0x20 saveBuf = .bss:0x80198440; // type:object size:0x4000 align:32 ToeMessageQueue = .bss:0x8019C440; // type:object size:0x20 scope:local @@ -4702,7 +4606,7 @@ spacePos = .bss:0x801A4CF0; // type:object size:0xC scope:local data:float focusPos = .bss:0x801A4CFC; // type:object size:0xC scope:local data:float hostPos = .bss:0x801A4D08; // type:object size:0xC scope:local hostMot = .bss:0x801A4D14; // type:object size:0x10 scope:local data:2byte -lotteryTicketObj = .bss:0x801A4D24; // type:object size:0x10 scope:local data:4byte +lotteryTicketObj = .bss:0x801A4D24; // type:object size:0x14 scope:local data:4byte boxRot = .bss:0x801A4D38; // type:object size:0x20 scope:local padBoxPos = .bss:0x801A4D58; // type:object size:0xC scope:local data:float pathNodeData = .bss:0x801A4D68; // type:object size:0x500 scope:local data:byte @@ -4848,11 +4752,11 @@ fio = .bss:0x801D3150; // type:object size:0xC scope:local data:4byte mus = .bss:0x801D3160; // type:object size:0x178 scope:local data:2byte se = .bss:0x801D32D8; // type:object size:0xDC scope:local data:4byte StreamInfo = .bss:0x801D33C0; // type:object size:0x60 scope:local align:32 data:4byte -lbl_801D3420 = .sdata:0x801D3420; // type:object size:0x5 scope:local data:string -lbl_801D3425 = .sdata:0x801D3425; // type:object size:0x7 scope:local +lbl_801D3420 = .sdata:0x801D3420; // type:object size:0x5 data:string +lbl_801D3425 = .sdata:0x801D3425; // type:object size:0x7 rnd_seed = .sdata:0x801D342C; // type:object size:0x4 data:4byte -lbl_801D3430 = .sdata:0x801D3430; // type:object size:0x6 scope:local data:string -lbl_801D3436 = .sdata:0x801D3436; // type:object size:0x2 scope:local data:string +lbl_801D3430 = .sdata:0x801D3430; // type:object size:0x6 data:string +lbl_801D3436 = .sdata:0x801D3436; // type:object size:0x2 data:string lbl_801D3438 = .sdata:0x801D3438; // type:object size:0x7 data:string lbl_801D343F = .sdata:0x801D343F; // type:object size:0x9 FirstFrame = .sdata:0x801D3448; // type:object size:0x4 scope:local data:4byte @@ -4916,7 +4820,7 @@ lbl_801D359E = .sdata:0x801D359E; // type:object size:0x5 scope:local data:strin lbl_801D35A3 = .sdata:0x801D35A3; // type:object size:0x7 scope:local lbl_801D35AA = .sdata:0x801D35AA; // type:object size:0x6 scope:local lbl_801D35B0 = .sdata:0x801D35B0; // type:object size:0x6 scope:local data:string -pauseStr = .sdata:0x801D35B8; // type:object size:0x8 scope:local +pauseStr$2216 = .sdata:0x801D35B8; // type:object size:0x8 scope:local lbl_801D35C0 = .sdata:0x801D35C0; // type:object size:0x8 lbl_801D35C8 = .sdata:0x801D35C8; // type:object size:0x8 lbl_801D35D0 = .sdata:0x801D35D0; // type:object size:0x8 @@ -5006,7 +4910,7 @@ itemPickupMdlId = .sdata:0x801D3790; // type:object size:0x2 scope:local data:2b yourTurnSprGrp = .sdata:0x801D3792; // type:object size:0x2 scope:local data:2byte jumpMot = .sdata:0x801D3798; // type:object size:0x2 scope:local data:2byte starMdl = .sdata:0x801D379A; // type:object size:0x2 scope:local data:2byte -itemMotTbl = .sdata:0x801D37A0; // type:object size:0x8 scope:local +lbl_801D37A0 = .sdata:0x801D37A0; // type:object size:0x8 lbl_801D37A8 = .sdata:0x801D37A8; // type:object size:0x8 jumpMot = .sdata:0x801D37B0; // type:object size:0x2 scope:local data:2byte scareMot = .sdata:0x801D37B2; // type:object size:0x2 scope:local data:2byte @@ -5024,9 +4928,9 @@ houseShowMot = .sdata:0x801D37F0; // type:object size:0x2 scope:local data:2byte houseHideMot = .sdata:0x801D37F2; // type:object size:0x2 scope:local data:2byte ballMdl = .sdata:0x801D37F4; // type:object size:0x2 scope:local data:2byte booMdl = .sdata:0x801D37F6; // type:object size:0x2 scope:local data:2byte -smokeMdl = .sdata:0x801D37F8; // type:object size:0x2 scope:local data:2byte +lbl_801D37F8 = .sdata:0x801D37F8; // type:object size:0x2 scope:local data:2byte hostMdl = .sdata:0x801D37FA; // type:object size:0x2 scope:local data:2byte -hostMot = .sdata:0x801D37FC; // type:object size:0x6 scope:local data:2byte +houseMot = .sdata:0x801D37FC; // type:object size:0x6 scope:local data:2byte lbl_801D3802 = .sdata:0x801D3802; // type:object size:0x7 data:string lbl_801D3809 = .sdata:0x801D3809; // type:object size:0x7 data:string lbl_801D3810 = .sdata:0x801D3810; // type:object size:0x7 data:string @@ -5072,13 +4976,13 @@ __OSArenaLo = .sdata:0x801D38C0; // type:object size:0x4 scope:local data:4byte @32 = .sdata:0x801D38C8; // type:object size:0x2 scope:local data:string fontEncode$80 = .sdata:0x801D38D0; // type:object size:0x8 scope:local data:2byte Unit01 = .sdata:0x801D38D8; // type:object size:0x8 -FirstRead = .sdata:0x801D38E0; // type:object size:0x4 scope:local data:4byte -lbl_801D38E8 = .sdata:0x801D38E8; // type:object size:0x8 scope:local data:string +FirstRead = .sdata:0x801D38E0; // type:object size:0x8 scope:local data:4byte +lbl_801D38E8 = .sdata:0x801D38E8; // type:object size:0x8 data:string autoInvalidation = .sdata:0x801D38F0; // type:object size:0x4 scope:local data:4byte @35 = .sdata:0x801D38F8; // type:object size:0x2 scope:local data:string @40 = .sdata:0x801D38FC; // type:object size:0x4 scope:local data:string @41 = .sdata:0x801D3900; // type:object size:0x3 scope:local data:string -lbl_801D3908 = .sdata:0x801D3908; // type:object size:0x8 scope:local data:string +lbl_801D3908 = .sdata:0x801D3908; // type:object size:0x8 data:string ClampRegion = .sdata:0x801D3910; // type:object size:0x8 scope:local data:byte ResettingChan = .sdata:0x801D3918; // type:object size:0x4 scope:local data:4byte XPatchBits = .sdata:0x801D391C; // type:object size:0x4 scope:local data:4byte @@ -5300,8 +5204,8 @@ omovlevtno = .sbss:0x801D3CD4; // type:object size:0x4 data:4byte omovlhisidx = .sbss:0x801D3CD8; // type:object size:0x4 data:4byte omcurdll = .sbss:0x801D3CDC; // type:object size:0x4 data:4byte omcurovl = .sbss:0x801D3CE0; // type:object size:0x4 data:4byte -omnextovl = .sbss:0x801D3CE4; // type:object size:0x4 scope:local data:4byte -omwatchproc = .sbss:0x801D3CE8; // type:object size:0x4 scope:local data:4byte +omnextovl = .sbss:0x801D3CE4; // type:object size:0x4 data:4byte +omwatchproc = .sbss:0x801D3CE8; // type:object size:0x4 data:4byte omDBGSysKeyObj = .sbss:0x801D3CEC; // type:object size:0x4 data:4byte y_start = .sbss:0x801D3CF0; // type:object size:0x4 scope:local data:4byte x_start = .sbss:0x801D3CF4; // type:object size:0x4 scope:local data:4byte @@ -5719,11 +5623,11 @@ __OSLastInterrupt = .sbss:0x801D4308; // type:object size:0x2 scope:global data: __OSLastInterruptTime = .sbss:0x801D4310; // type:object size:0x8 scope:global data:4byte SaveStart = .sbss:0x801D4318; // type:object size:0x4 scope:local data:4byte SaveEnd = .sbss:0x801D431C; // type:object size:0x4 scope:local data:4byte -Prepared = .sbss:0x801D4320; // type:object size:0x4 scope:local data:4byte +Prepared = .sbss:0x801D4320; // type:object size:0x8 scope:local data:4byte ResetFunctionQueue = .sbss:0x801D4328; // type:object size:0x8 scope:local data:4byte ResetCallback = .sbss:0x801D4330; // type:object size:0x4 data:4byte Down = .sbss:0x801D4334; // type:object size:0x4 data:4byte -LastState = .sbss:0x801D4338; // type:object size:0x8 scope:local data:4byte +LastState = .sbss:0x801D4338; // type:object size:0x8 data:4byte HoldUp = .sbss:0x801D4340; // type:object size:0x8 align:8 data:4byte HoldDown = .sbss:0x801D4348; // type:object size:0x8 align:8 data:4byte RunQueueBits = .sbss:0x801D4350; // type:object size:0x4 scope:local data:4byte @@ -5788,7 +5692,7 @@ shdwChanged = .sbss:0x801D4460; // type:object size:0x8 scope:local align:8 data CurrTiming = .sbss:0x801D4468; // type:object size:0x4 scope:local data:4byte CurrTvMode = .sbss:0x801D446C; // type:object size:0x4 scope:local data:4byte FBSet = .sbss:0x801D4470; // type:object size:0x4 scope:local data:4byte -message$320 = .sbss:0x801D4474; // type:object size:0x4 scope:local data:4byte +message$343 = .sbss:0x801D4474; // type:object size:0x4 scope:local data:4byte rmode = .sbss:0x801D4478; // type:object size:0x8 scope:local data:4byte fontShift = .sbss:0x801D4480; // type:object size:0x8 scope:local data:4byte DemoStat = .sbss:0x801D4488; // type:object size:0x4 scope:local data:4byte @@ -5893,8 +5797,8 @@ Vachuff = .sbss:0x801D46E0; // type:object size:0x4 scope:local align:32 data:4b __THPHuffmanBits = .sbss:0x801D46E4; // type:object size:0x4 scope:local data:4byte __THPHuffmanSizeTab = .sbss:0x801D46E8; // type:object size:0x4 scope:local data:4byte __THPHuffmanCodeTab = .sbss:0x801D46EC; // type:object size:0x4 scope:local data:4byte -Gbase = .sbss:0x801D4700; // type:object size:0x20 scope:local align:32 data:4byte -Gwid = .sbss:0x801D4720; // type:object size:0x20 scope:local align:32 data:4byte +Gbase = .sbss:0x801D4700; // type:object size:0x20 align:32 data:4byte +Gwid = .sbss:0x801D4720; // type:object size:0x20 align:32 data:4byte Gq = .sbss:0x801D4740; // type:object size:0x4 scope:local align:32 data:4byte __THPOldGQR5 = .sbss:0x801D4744; // type:object size:0x4 scope:local data:4byte __THPOldGQR6 = .sbss:0x801D4748; // type:object size:0x4 scope:local data:4byte @@ -6021,7 +5925,7 @@ SendMailData = .sbss:0x801D4940; // type:object size:0x4 scope:local data:4byte RecvDataLeng = .sbss:0x801D4944; // type:object size:0x4 scope:local data:4byte pEXIInputFlag = .sbss:0x801D4948; // type:object size:0x4 scope:local data:4byte EXIInputFlag = .sbss:0x801D494C; // type:object size:0x1 scope:local data:byte -lbl_801D4960 = .sdata2:0x801D4960; // type:object size:0x8 scope:local data:double +lbl_801D4960 = .sdata2:0x801D4960; // type:object size:0x8 data:double lbl_801D4968 = .sdata2:0x801D4968; // type:object size:0x4 data:float lbl_801D496C = .sdata2:0x801D496C; // type:object size:0x4 data:float lbl_801D4970 = .sdata2:0x801D4970; // type:object size:0x8 data:double @@ -7380,21 +7284,21 @@ lbl_801D6338 = .sdata2:0x801D6338; // type:object size:0x4 data:float lbl_801D633C = .sdata2:0x801D633C; // type:object size:0x4 data:float lbl_801D6340 = .sdata2:0x801D6340; // type:object size:0x8 data:double lbl_801D6348 = .sdata2:0x801D6348; // type:object size:0x8 data:float -lbl_801D6350 = .sdata2:0x801D6350; // type:object size:0x4 scope:local data:float -lbl_801D6354 = .sdata2:0x801D6354; // type:object size:0x4 scope:local data:float -lbl_801D6358 = .sdata2:0x801D6358; // type:object size:0x4 scope:local data:float -lbl_801D635C = .sdata2:0x801D635C; // type:object size:0x4 scope:local data:float -lbl_801D6360 = .sdata2:0x801D6360; // type:object size:0x8 scope:local data:float -lbl_801D6368 = .sdata2:0x801D6368; // type:object size:0x4 scope:local data:float -lbl_801D636C = .sdata2:0x801D636C; // type:object size:0x4 scope:local data:float -lbl_801D6370 = .sdata2:0x801D6370; // type:object size:0x4 scope:local data:float -lbl_801D6374 = .sdata2:0x801D6374; // type:object size:0x4 scope:local data:float -lbl_801D6378 = .sdata2:0x801D6378; // type:object size:0x4 scope:local data:float -lbl_801D637C = .sdata2:0x801D637C; // type:object size:0x4 scope:local data:float -lbl_801D6380 = .sdata2:0x801D6380; // type:object size:0x4 scope:local data:float -lbl_801D6384 = .sdata2:0x801D6384; // type:object size:0x4 scope:local data:float -lbl_801D6388 = .sdata2:0x801D6388; // type:object size:0x4 scope:local data:float -lbl_801D638C = .sdata2:0x801D638C; // type:object size:0x4 scope:local data:float +lbl_801D6350 = .sdata2:0x801D6350; // type:object size:0x4 data:float +lbl_801D6354 = .sdata2:0x801D6354; // type:object size:0x4 data:float +lbl_801D6358 = .sdata2:0x801D6358; // type:object size:0x4 data:float +lbl_801D635C = .sdata2:0x801D635C; // type:object size:0x4 data:float +lbl_801D6360 = .sdata2:0x801D6360; // type:object size:0x8 data:float +lbl_801D6368 = .sdata2:0x801D6368; // type:object size:0x4 data:float +lbl_801D636C = .sdata2:0x801D636C; // type:object size:0x4 data:float +lbl_801D6370 = .sdata2:0x801D6370; // type:object size:0x4 data:float +lbl_801D6374 = .sdata2:0x801D6374; // type:object size:0x4 data:float +lbl_801D6378 = .sdata2:0x801D6378; // type:object size:0x4 data:float +lbl_801D637C = .sdata2:0x801D637C; // type:object size:0x4 data:float +lbl_801D6380 = .sdata2:0x801D6380; // type:object size:0x4 data:float +lbl_801D6384 = .sdata2:0x801D6384; // type:object size:0x4 data:float +lbl_801D6388 = .sdata2:0x801D6388; // type:object size:0x4 data:float +lbl_801D638C = .sdata2:0x801D638C; // type:object size:0x4 data:float lbl_801D6390 = .sdata2:0x801D6390; // type:object size:0x4 data:float lbl_801D6394 = .sdata2:0x801D6394; // type:object size:0x4 data:float lbl_801D6398 = .sdata2:0x801D6398; // type:object size:0x8 data:double @@ -7403,62 +7307,62 @@ lbl_801D63A8 = .sdata2:0x801D63A8; // type:object size:0x4 data:float lbl_801D63AC = .sdata2:0x801D63AC; // type:object size:0x4 data:float lbl_801D63B0 = .sdata2:0x801D63B0; // type:object size:0x4 data:float lbl_801D63B4 = .sdata2:0x801D63B4; // type:object size:0x4 data:float -lbl_801D63B8 = .sdata2:0x801D63B8; // type:object size:0x4 scope:local data:float -lbl_801D63BC = .sdata2:0x801D63BC; // type:object size:0x4 scope:local data:float -lbl_801D63C0 = .sdata2:0x801D63C0; // type:object size:0x8 scope:local data:double -lbl_801D63C8 = .sdata2:0x801D63C8; // type:object size:0x8 scope:local data:double -lbl_801D63D0 = .sdata2:0x801D63D0; // type:object size:0x8 scope:local data:float -lbl_801D63D8 = .sdata2:0x801D63D8; // type:object size:0x4 scope:local data:float -lbl_801D63E0 = .sdata2:0x801D63E0; // type:object size:0x8 scope:local data:double -lbl_801D63E8 = .sdata2:0x801D63E8; // type:object size:0x4 scope:local data:4byte -lbl_801D63EC = .sdata2:0x801D63EC; // type:object size:0x4 scope:local data:4byte -lbl_801D63F0 = .sdata2:0x801D63F0; // type:object size:0x4 scope:local data:4byte -lbl_801D63F4 = .sdata2:0x801D63F4; // type:object size:0x4 scope:local data:float -lbl_801D63F8 = .sdata2:0x801D63F8; // type:object size:0x4 scope:local data:float -lbl_801D63FC = .sdata2:0x801D63FC; // type:object size:0x4 scope:local data:float -lbl_801D6400 = .sdata2:0x801D6400; // type:object size:0x8 scope:local data:double -lbl_801D6408 = .sdata2:0x801D6408; // type:object size:0x8 scope:local data:float -lbl_801D6410 = .sdata2:0x801D6410; // type:object size:0x4 scope:local data:float -lbl_801D6414 = .sdata2:0x801D6414; // type:object size:0x4 scope:local data:float -lbl_801D6418 = .sdata2:0x801D6418; // type:object size:0x4 scope:local data:float -lbl_801D641C = .sdata2:0x801D641C; // type:object size:0x4 scope:local data:float -lbl_801D6420 = .sdata2:0x801D6420; // type:object size:0x4 scope:local data:float -lbl_801D6424 = .sdata2:0x801D6424; // type:object size:0x4 scope:local data:float -lbl_801D6428 = .sdata2:0x801D6428; // type:object size:0x4 scope:local data:float -lbl_801D642C = .sdata2:0x801D642C; // type:object size:0x4 scope:local data:float -lbl_801D6430 = .sdata2:0x801D6430; // type:object size:0x4 scope:local data:float -lbl_801D6434 = .sdata2:0x801D6434; // type:object size:0x4 scope:local data:float -lbl_801D6438 = .sdata2:0x801D6438; // type:object size:0x4 scope:local data:float -lbl_801D643C = .sdata2:0x801D643C; // type:object size:0x4 scope:local data:float -lbl_801D6440 = .sdata2:0x801D6440; // type:object size:0x4 scope:local data:float -lbl_801D6448 = .sdata2:0x801D6448; // type:object size:0x8 scope:local data:double -lbl_801D6450 = .sdata2:0x801D6450; // type:object size:0x8 scope:local data:double -lbl_801D6458 = .sdata2:0x801D6458; // type:object size:0x8 scope:local data:float -lbl_801D6460 = .sdata2:0x801D6460; // type:object size:0x4 scope:local data:float -lbl_801D6468 = .sdata2:0x801D6468; // type:object size:0x8 scope:local data:double -lbl_801D6470 = .sdata2:0x801D6470; // type:object size:0x4 scope:local data:float -lbl_801D6474 = .sdata2:0x801D6474; // type:object size:0x4 scope:local data:float -lbl_801D6478 = .sdata2:0x801D6478; // type:object size:0x4 scope:local data:float -lbl_801D647C = .sdata2:0x801D647C; // type:object size:0x4 scope:local data:float -lbl_801D6480 = .sdata2:0x801D6480; // type:object size:0x4 scope:local data:float -lbl_801D6484 = .sdata2:0x801D6484; // type:object size:0x4 scope:local data:float -lbl_801D6488 = .sdata2:0x801D6488; // type:object size:0x4 scope:local data:float -lbl_801D648C = .sdata2:0x801D648C; // type:object size:0x4 scope:local data:float -lbl_801D6490 = .sdata2:0x801D6490; // type:object size:0x4 scope:local data:float -lbl_801D6498 = .sdata2:0x801D6498; // type:object size:0x8 scope:local data:double -lbl_801D64A0 = .sdata2:0x801D64A0; // type:object size:0x4 scope:local data:float -lbl_801D64A4 = .sdata2:0x801D64A4; // type:object size:0x4 scope:local data:float -lbl_801D64A8 = .sdata2:0x801D64A8; // type:object size:0x8 scope:local data:double -lbl_801D64B0 = .sdata2:0x801D64B0; // type:object size:0x4 scope:local data:float -lbl_801D64B8 = .sdata2:0x801D64B8; // type:object size:0x8 scope:local data:double -lbl_801D64C0 = .sdata2:0x801D64C0; // type:object size:0x4 scope:local data:float -lbl_801D64C8 = .sdata2:0x801D64C8; // type:object size:0x8 scope:local data:double -lbl_801D64D0 = .sdata2:0x801D64D0; // type:object size:0x4 scope:local data:float -lbl_801D64D4 = .sdata2:0x801D64D4; // type:object size:0x4 scope:local data:float -lbl_801D64D8 = .sdata2:0x801D64D8; // type:object size:0x4 scope:local data:float -lbl_801D64E0 = .sdata2:0x801D64E0; // type:object size:0x8 scope:local data:double -lbl_801D64E8 = .sdata2:0x801D64E8; // type:object size:0x4 scope:local data:float -lbl_801D64EC = .sdata2:0x801D64EC; // type:object size:0x4 scope:local data:float +lbl_801D63B8 = .sdata2:0x801D63B8; // type:object size:0x4 data:float +lbl_801D63BC = .sdata2:0x801D63BC; // type:object size:0x4 data:float +lbl_801D63C0 = .sdata2:0x801D63C0; // type:object size:0x8 data:double +lbl_801D63C8 = .sdata2:0x801D63C8; // type:object size:0x8 data:double +lbl_801D63D0 = .sdata2:0x801D63D0; // type:object size:0x8 data:float +lbl_801D63D8 = .sdata2:0x801D63D8; // type:object size:0x4 data:float +lbl_801D63E0 = .sdata2:0x801D63E0; // type:object size:0x8 data:double +lbl_801D63E8 = .sdata2:0x801D63E8; // type:object size:0x4 data:4byte +lbl_801D63EC = .sdata2:0x801D63EC; // type:object size:0x4 data:4byte +lbl_801D63F0 = .sdata2:0x801D63F0; // type:object size:0x4 data:4byte +lbl_801D63F4 = .sdata2:0x801D63F4; // type:object size:0x4 data:float +lbl_801D63F8 = .sdata2:0x801D63F8; // type:object size:0x4 data:float +lbl_801D63FC = .sdata2:0x801D63FC; // type:object size:0x4 data:float +lbl_801D6400 = .sdata2:0x801D6400; // type:object size:0x8 data:double +lbl_801D6408 = .sdata2:0x801D6408; // type:object size:0x8 data:float +lbl_801D6410 = .sdata2:0x801D6410; // type:object size:0x4 data:float +lbl_801D6414 = .sdata2:0x801D6414; // type:object size:0x4 data:float +lbl_801D6418 = .sdata2:0x801D6418; // type:object size:0x4 data:float +lbl_801D641C = .sdata2:0x801D641C; // type:object size:0x4 data:float +lbl_801D6420 = .sdata2:0x801D6420; // type:object size:0x4 data:float +lbl_801D6424 = .sdata2:0x801D6424; // type:object size:0x4 data:float +lbl_801D6428 = .sdata2:0x801D6428; // type:object size:0x4 data:float +lbl_801D642C = .sdata2:0x801D642C; // type:object size:0x4 data:float +lbl_801D6430 = .sdata2:0x801D6430; // type:object size:0x4 data:float +lbl_801D6434 = .sdata2:0x801D6434; // type:object size:0x4 data:float +lbl_801D6438 = .sdata2:0x801D6438; // type:object size:0x4 data:float +lbl_801D643C = .sdata2:0x801D643C; // type:object size:0x4 data:float +lbl_801D6440 = .sdata2:0x801D6440; // type:object size:0x4 data:float +lbl_801D6448 = .sdata2:0x801D6448; // type:object size:0x8 data:double +lbl_801D6450 = .sdata2:0x801D6450; // type:object size:0x8 data:double +lbl_801D6458 = .sdata2:0x801D6458; // type:object size:0x8 data:float +lbl_801D6460 = .sdata2:0x801D6460; // type:object size:0x4 data:float +lbl_801D6468 = .sdata2:0x801D6468; // type:object size:0x8 data:double +lbl_801D6470 = .sdata2:0x801D6470; // type:object size:0x4 data:float +lbl_801D6474 = .sdata2:0x801D6474; // type:object size:0x4 data:float +lbl_801D6478 = .sdata2:0x801D6478; // type:object size:0x4 data:float +lbl_801D647C = .sdata2:0x801D647C; // type:object size:0x4 data:float +lbl_801D6480 = .sdata2:0x801D6480; // type:object size:0x4 data:float +lbl_801D6484 = .sdata2:0x801D6484; // type:object size:0x4 data:float +lbl_801D6488 = .sdata2:0x801D6488; // type:object size:0x4 data:float +lbl_801D648C = .sdata2:0x801D648C; // type:object size:0x4 data:float +lbl_801D6490 = .sdata2:0x801D6490; // type:object size:0x4 data:float +lbl_801D6498 = .sdata2:0x801D6498; // type:object size:0x8 data:double +lbl_801D64A0 = .sdata2:0x801D64A0; // type:object size:0x4 data:float +lbl_801D64A4 = .sdata2:0x801D64A4; // type:object size:0x4 data:float +lbl_801D64A8 = .sdata2:0x801D64A8; // type:object size:0x8 data:double +lbl_801D64B0 = .sdata2:0x801D64B0; // type:object size:0x4 data:float +lbl_801D64B8 = .sdata2:0x801D64B8; // type:object size:0x8 data:double +lbl_801D64C0 = .sdata2:0x801D64C0; // type:object size:0x4 data:float +lbl_801D64C8 = .sdata2:0x801D64C8; // type:object size:0x8 data:double +lbl_801D64D0 = .sdata2:0x801D64D0; // type:object size:0x4 data:float +lbl_801D64D4 = .sdata2:0x801D64D4; // type:object size:0x4 data:float +lbl_801D64D8 = .sdata2:0x801D64D8; // type:object size:0x4 data:float +lbl_801D64E0 = .sdata2:0x801D64E0; // type:object size:0x8 data:double +lbl_801D64E8 = .sdata2:0x801D64E8; // type:object size:0x4 data:float +lbl_801D64EC = .sdata2:0x801D64EC; // type:object size:0x4 data:float lbl_801D64F0 = .sdata2:0x801D64F0; // type:object size:0x8 data:double lbl_801D64F8 = .sdata2:0x801D64F8; // type:object size:0x4 data:float lbl_801D64FC = .sdata2:0x801D64FC; // type:object size:0x4 data:float @@ -7711,5 +7615,11 @@ lbl_801D6BC4 = .sdata2:0x801D6BC4; // type:object size:0x4 data:float lbl_801D6BC8 = .sdata2:0x801D6BC8; // type:object size:0x4 data:float lbl_801D6BCC = .sdata2:0x801D6BCC; // type:object size:0x4 data:float lbl_801D6BD0 = .sdata2:0x801D6BD0; // type:object size:0x8 data:double -lbl_801D6BE0 = .sbss2:0x801D6BE0; // type:object size:0x4 scope:local data:byte -lbl_801D6BE4 = .sbss2:0x801D6BE4; // type:object size:0x4 scope:local data:byte +lbl_801D6BE0 = .sbss2:0x801D6BE0; // type:object size:0x1 data:byte +lbl_801D6BE1 = .sbss2:0x801D6BE1; // type:object size:0x1 data:byte +lbl_801D6BE2 = .sbss2:0x801D6BE2; // type:object size:0x1 data:byte +lbl_801D6BE3 = .sbss2:0x801D6BE3; // type:object size:0x1 data:byte +lbl_801D6BE4 = .sbss2:0x801D6BE4; // type:object size:0x1 data:byte +lbl_801D6BE5 = .sbss2:0x801D6BE5; // type:object size:0x1 data:byte +lbl_801D6BE6 = .sbss2:0x801D6BE6; // type:object size:0x1 data:byte +lbl_801D6BE7 = .sbss2:0x801D6BE7; // type:object size:0x1 data:byte diff --git a/config/GMPE01_01/build.sha1 b/config/GMPE01_01/build.sha1 deleted file mode 100644 index 349e60a6..00000000 --- a/config/GMPE01_01/build.sha1 +++ /dev/null @@ -1,100 +0,0 @@ -64b42eac733a57a53d2ce25e7e47f54fc1e31915 build/GMPE01_01/main.dol -3fbbebc0440f0d91432ecd6a27ef68d5309b87b6 build/GMPE01_01/_minigameDll/_minigameDll.rel -bdfca4f9bce60519badca0d2d0a5b71f6d99706f build/GMPE01_01/bootDll/bootDll.rel -f09399fee83c63abfe2adb25341152adad959a93 build/GMPE01_01/instDll/instDll.rel -f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 build/GMPE01_01/m302Dll/m302Dll.rel -f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 build/GMPE01_01/m303Dll/m303Dll.rel -f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 build/GMPE01_01/m330Dll/m330Dll.rel -f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 build/GMPE01_01/m333Dll/m333Dll.rel -136d192a1464e593cd0b767691dfa012c58730ed build/GMPE01_01/m402Dll/m402Dll.rel -b834eb5f8a2749f3be52aa9023cc81403075eba9 build/GMPE01_01/m403Dll/m403Dll.rel -c46b7814cefa8e5dee8dfd1883e369877ac78c0c build/GMPE01_01/m404Dll/m404Dll.rel -7857e0822079d0c7bbfec756a7cf4206b754d100 build/GMPE01_01/m405Dll/m405Dll.rel -bea398ac8abe018dce80914e6b3d6d7578eb86bb build/GMPE01_01/m406Dll/m406Dll.rel -6f63338c417ab62740a40f0968c03c570b440b8a build/GMPE01_01/m407dll/m407dll.rel -7a8ff34b4bcaff39037c9e2f717505cbc63d4230 build/GMPE01_01/m408Dll/m408Dll.rel -984f031fc50121369d5b04d1ec2c54322efdf281 build/GMPE01_01/m409Dll/m409Dll.rel -94e308e409038f7919177d190110ce589cc8a8e8 build/GMPE01_01/m410Dll/m410Dll.rel -26ac81a3db9f3850bb43b23cdb7168dcddccaeea build/GMPE01_01/m411Dll/m411Dll.rel -3ebb173a52aaea75acb414f73264e72a2943c6f8 build/GMPE01_01/m412Dll/m412Dll.rel -e59d4b66b1f57637c335b4745a696e3dbcb4bbe3 build/GMPE01_01/m413Dll/m413Dll.rel -f7fe1aa24c7b6b8ca2bb28922696c0392dc7d029 build/GMPE01_01/m414Dll/m414Dll.rel -3c697b54ebdd01971b99af8c812b4850fa181f4f build/GMPE01_01/m415Dll/m415Dll.rel -d26526935455b26beb2b9eaed1bfae3f3f458c25 build/GMPE01_01/m416Dll/m416Dll.rel -b5c3805ec3cb023299ed09b782b92441085d0054 build/GMPE01_01/m417Dll/m417Dll.rel -0d02610005c46ad4f47ff51f5e154f9b0d16a4f4 build/GMPE01_01/m418Dll/m418Dll.rel -bbceb138b8cc43e578179a7892801633892cb03c build/GMPE01_01/m419Dll/m419Dll.rel -2ef4ee163bc2aa15f87c8c89afb4f28939f088c8 build/GMPE01_01/m420dll/m420dll.rel -216a99780a3915d7096385bbcddfc979ab3a4025 build/GMPE01_01/m421Dll/m421Dll.rel -9ad72ba6c3ac277e521dca2fc1372a5d31c18930 build/GMPE01_01/m422Dll/m422Dll.rel -377c6a56b3faf8f991ec4fccaf1972cb41910438 build/GMPE01_01/m423Dll/m423Dll.rel -5814f59970268406bd86a86d0fee5a09359ab506 build/GMPE01_01/m424Dll/m424Dll.rel -ecaeae453393d228f2769aab9c022820bcdb58f1 build/GMPE01_01/m425Dll/m425Dll.rel -c240697a57cc08d34e27e89d8d3455454799e8b1 build/GMPE01_01/m426Dll/m426Dll.rel -c78a0857e9c44fb33bd4fdc3e392a15b4dec0431 build/GMPE01_01/m427Dll/m427Dll.rel -a1d5672d8ef0aac089dda00287fd68bf2bb67807 build/GMPE01_01/m428Dll/m428Dll.rel -d25f198ce04aa5ca7b54ada9de52f722bd751447 build/GMPE01_01/m429Dll/m429Dll.rel -8bef3e2f51db3afa82dcaf64e209067a58c04bf9 build/GMPE01_01/m430Dll/m430Dll.rel -7148ec21ca6e0aa8d213a1dce0aeb9d93a9b496c build/GMPE01_01/m431Dll/m431Dll.rel -096f5a85bb837af68bd491e962eda7726d8d26a0 build/GMPE01_01/m432Dll/m432Dll.rel -c36f56264ab9cf74b882c2544cdb9b89f6a098cd build/GMPE01_01/m433Dll/m433Dll.rel -55912c8441002b61701fc8c769f707c69e2740c1 build/GMPE01_01/m434Dll/m434Dll.rel -56f1fc330e8b97fa426fac3d901b1feed946566e build/GMPE01_01/m435Dll/m435Dll.rel -e53f3d381bfb99351483e70b9d79c2e8676f73d5 build/GMPE01_01/m436Dll/m436Dll.rel -404698b53acad1231e00d84d0196ddce8d9d9dd9 build/GMPE01_01/m437Dll/m437Dll.rel -9bddf4b81b9a792260000abe2631da493a8b8564 build/GMPE01_01/m438Dll/m438Dll.rel -a2a18c9d26dedfa8e2ae003c3a2e1bdcc1cbd4cc build/GMPE01_01/m439Dll/m439Dll.rel -227ca13bcd72059bdd506e9611d9b52f661af6c5 build/GMPE01_01/m440Dll/m440Dll.rel -d6cbf72115374e06ffea3f15001977c288a9c3fb build/GMPE01_01/m441Dll/m441Dll.rel -347fcb836b5266dfe3d1088e1aa796c043b0fe60 build/GMPE01_01/m442Dll/m442Dll.rel -77444c6739a4d9390f30ba56c5fcd82ee4efc0c2 build/GMPE01_01/m443Dll/m443Dll.rel -897d8ebd200020bc5bb9d949f869b3a2331077c7 build/GMPE01_01/m444dll/m444dll.rel -d4d9f2aad53aa7f4e1c313438a0e3767f8e58eb9 build/GMPE01_01/m445Dll/m445Dll.rel -4b16e5eff613eaf4cc98411809cd1f1578e33fd1 build/GMPE01_01/m446dll/m446dll.rel -775ca8f8b3be867ad67f91bc3b6ebcc8c3068d2b build/GMPE01_01/m447dll/m447dll.rel -e6f7586dadbe3f5b5045c0bdf2fe618d42ef3a44 build/GMPE01_01/m448Dll/m448Dll.rel -e797c2ff132ab35e768be62cb62219592464ca9d build/GMPE01_01/m449Dll/m449Dll.rel -f2ea7da07cf8be4f449c97b829d3231911e158a0 build/GMPE01_01/m450Dll/m450Dll.rel -3f82fd24071582b6494a9f99750c0bc3c10d502e build/GMPE01_01/m451Dll/m451Dll.rel -49ef28c2862000fae4d8efd8fec0ff9b41f24461 build/GMPE01_01/m453Dll/m453Dll.rel -e0b21cfbe592955c84662ff50d8a33e147403906 build/GMPE01_01/m455Dll/m455Dll.rel -97d5701b151c6ad8cf8cea6e776973daa95eea34 build/GMPE01_01/m456Dll/m456Dll.rel -d4a411f9ef850f52506afd1ad1de88d2d8de361b build/GMPE01_01/m457Dll/m457Dll.rel -7ac361c5a04f83d46f516a13a43e43b59b929435 build/GMPE01_01/m458Dll/m458Dll.rel -1aafc4f38ddfee64ea8f7dda7cbd7113e86997ba build/GMPE01_01/m459dll/m459dll.rel -5d28f1a87edee5216b9bb28d9cbff2b22d617747 build/GMPE01_01/m460Dll/m460Dll.rel -ab058151bd25600f05f8b6fedbec1c7448175123 build/GMPE01_01/m461Dll/m461Dll.rel -78d6ab00677791ece684a0c149d1ae72efc52d1c build/GMPE01_01/m462Dll/m462Dll.rel -32010595b4fd0b75293fc46b9026c5613d0ea4c2 build/GMPE01_01/m463Dll/m463Dll.rel -9e63dd96943ffd2747be5aad924b95892d46051a build/GMPE01_01/mentDll/mentDll.rel -7e119de456b3557dcf514c70bd7ab81dc5f9cf54 build/GMPE01_01/messDll/messDll.rel -376c78e2d1b7d7a429959c532e9cb92c98f73b7e build/GMPE01_01/mgmodedll/mgmodedll.rel -8de28c0f254a2c574c4da9b6a3a17e5ad7ffe1f9 build/GMPE01_01/modeltestDll/modeltestDll.rel -bdf8cd57fa23f07c429393817037ade04e2c6024 build/GMPE01_01/modeseldll/modeseldll.rel -4524e63b63510b42bca907f72e67affddec856f9 build/GMPE01_01/mpexDll/mpexDll.rel -86ff8288bb92472376d02cade1d3c9603b613c57 build/GMPE01_01/msetupDll/msetupDll.rel -3395fac055bd155c682642bab7d09f428e48bed9 build/GMPE01_01/mstory2Dll/mstory2Dll.rel -9d67ee54dd30be83331e303d2bcf12ff2b2fa136 build/GMPE01_01/mstory3Dll/mstory3Dll.rel -7f9cc4a18a137f861b2c326b099c02ba4e5bd94b build/GMPE01_01/mstory4Dll/mstory4Dll.rel -b1591a5f829e0c577912fc703a7d280306ff4f77 build/GMPE01_01/mstoryDll/mstoryDll.rel -d74a5147245a1877b140ee2af7f75b2b6c90892d build/GMPE01_01/nisDll/nisDll.rel -5c6973fe7e0271885a5a87d87d4e7164ef711abb build/GMPE01_01/option/option.rel -ddb8d8a825578a588276b9d4f65eceee26f91253 build/GMPE01_01/present/present.rel -41a820438884ae8566f34f895198a186aae60305 build/GMPE01_01/resultDll/resultDll.rel -f34c104078b41971412cb09b37c4dc9526be02e3 build/GMPE01_01/safDll/safDll.rel -81a00a71b8d1ab22bfd3df10d815c87ba618ec84 build/GMPE01_01/selmenuDll/selmenuDll.rel -a6210fbcdf3d7f0063f3052e2ae525abacac08e7 build/GMPE01_01/staffDll/staffDll.rel -7488bc249dc7c656f60105e4d24c4011983c2ba2 build/GMPE01_01/subchrselDll/subchrselDll.rel -d3de36269886995d959e1fd58d8ad806843c8819 build/GMPE01_01/w01Dll/w01Dll.rel -750c4d6cd6a49d290f5cc63432d4f65642fbd7e4 build/GMPE01_01/w02Dll/w02Dll.rel -f9e8d9c4581d44488adaffa3d46d9bc835d4f9bd build/GMPE01_01/w03Dll/w03Dll.rel -821126eeb7054150744b925cc4cb06c751ddcefd build/GMPE01_01/w04Dll/w04Dll.rel -d29f7ccadcba23c8446d05101c4efa5caba26dfd build/GMPE01_01/w05Dll/w05Dll.rel -d11a7a6d44189ba8d1e3a7168ea640ea9f2152fe build/GMPE01_01/w06Dll/w06Dll.rel -54bb23228b04c5aaa6aa7c8ca1f846baec5a1f2c build/GMPE01_01/w10Dll/w10Dll.rel -98cc41456afa9e1ccbb8e03718b8d3cb64e4e86f build/GMPE01_01/w20Dll/w20Dll.rel -b888f2c6703e680699ff8c59ad9200b9d78d30a1 build/GMPE01_01/w21Dll/w21Dll.rel -87d9fee70ed4f011e0b30e05156d087204cf686f build/GMPE01_01/ztardll/ztardll.rel -234e07cee1491c7060e30805681bf5f39150122d build/GMPE01_01/E3setupDLL/E3setupDLL.rel -eba8a17e8b263bc9cd601b1aea7e698a8785416a build/GMPE01_01/m300Dll/m300Dll.rel -f3ec526c25986a3fcf7dfbc8c463626839a3a801 build/GMPE01_01/m401Dll/m401Dll.rel diff --git a/config/GMPE01_01/config.yml b/config/GMPE01_01/config.yml deleted file mode 100644 index 8445dc5f..00000000 --- a/config/GMPE01_01/config.yml +++ /dev/null @@ -1,571 +0,0 @@ -object_base: orig/GMPE01_01 -object: sys/main.dol -hash: 64b42eac733a57a53d2ce25e7e47f54fc1e31915 -symbols: config/GMPE01_01/symbols.txt -splits: config/GMPE01_01/splits.txt -quick_analysis: true # Faster re-runs after initial analysis -mw_comment_version: 10 # GC 2.6 linker -force_active: [__register_global_object, lbl_801D40D0, _kerent] - -modules: -- object: files/dll/_minigameDll.rel - hash: 3fbbebc0440f0d91432ecd6a27ef68d5309b87b6 - symbols: config/GMPE01_00/rels/_minigameDll/symbols.txt - splits: config/GMPE01_00/rels/_minigameDll/splits.txt - links: [] -- object: files/dll/bootDll.rel - hash: bdfca4f9bce60519badca0d2d0a5b71f6d99706f - symbols: config/GMPE01_00/rels/bootDll/symbols.txt - splits: config/GMPE01_00/rels/bootDll/splits.txt - links: [] - extract: - - symbol: nintendoData - binary: nintendoData.bin - header: nintendoData.inc -- object: files/dll/instDll.rel - hash: f09399fee83c63abfe2adb25341152adad959a93 - symbols: config/GMPE01_00/rels/instDll/symbols.txt - splits: config/GMPE01_00/rels/instDll/splits.txt - links: [] -- object: files/dll/m302Dll.rel - hash: f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 - symbols: config/GMPE01_00/rels/m302Dll/symbols.txt - splits: config/GMPE01_00/rels/m302Dll/splits.txt - links: [] -- object: files/dll/m303Dll.rel - hash: f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 - symbols: config/GMPE01_00/rels/m303Dll/symbols.txt - splits: config/GMPE01_00/rels/m303Dll/splits.txt - links: [] -- object: files/dll/m330Dll.rel - hash: f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 - symbols: config/GMPE01_00/rels/m330Dll/symbols.txt - splits: config/GMPE01_00/rels/m330Dll/splits.txt - links: [] -- object: files/dll/m333Dll.rel - hash: f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 - symbols: config/GMPE01_00/rels/m333Dll/symbols.txt - splits: config/GMPE01_00/rels/m333Dll/splits.txt - links: [] -- object: files/dll/m402Dll.rel - hash: 136d192a1464e593cd0b767691dfa012c58730ed - symbols: config/GMPE01_00/rels/m402Dll/symbols.txt - splits: config/GMPE01_00/rels/m402Dll/splits.txt - links: [] -- object: files/dll/m403Dll.rel - hash: b834eb5f8a2749f3be52aa9023cc81403075eba9 - symbols: config/GMPE01_00/rels/m403Dll/symbols.txt - splits: config/GMPE01_00/rels/m403Dll/splits.txt - links: [] -- object: files/dll/m404Dll.rel - hash: c46b7814cefa8e5dee8dfd1883e369877ac78c0c - symbols: config/GMPE01_00/rels/m404Dll/symbols.txt - splits: config/GMPE01_00/rels/m404Dll/splits.txt - links: [] -- object: files/dll/m405Dll.rel - hash: 7857e0822079d0c7bbfec756a7cf4206b754d100 - symbols: config/GMPE01_00/rels/m405Dll/symbols.txt - splits: config/GMPE01_00/rels/m405Dll/splits.txt - links: [] -- object: files/dll/m406Dll.rel - hash: bea398ac8abe018dce80914e6b3d6d7578eb86bb - symbols: config/GMPE01_00/rels/m406Dll/symbols.txt - splits: config/GMPE01_00/rels/m406Dll/splits.txt - links: [] -- object: files/dll/m407dll.rel - hash: 6f63338c417ab62740a40f0968c03c570b440b8a - symbols: config/GMPE01_00/rels/m407dll/symbols.txt - splits: config/GMPE01_00/rels/m407dll/splits.txt - links: [] -- object: files/dll/m408Dll.rel - hash: 7a8ff34b4bcaff39037c9e2f717505cbc63d4230 - symbols: config/GMPE01_00/rels/m408Dll/symbols.txt - splits: config/GMPE01_00/rels/m408Dll/splits.txt - links: [] -- object: files/dll/m409Dll.rel - hash: 984f031fc50121369d5b04d1ec2c54322efdf281 - symbols: config/GMPE01_00/rels/m409Dll/symbols.txt - splits: config/GMPE01_00/rels/m409Dll/splits.txt - links: [] -- object: files/dll/m410Dll.rel - hash: 94e308e409038f7919177d190110ce589cc8a8e8 - symbols: config/GMPE01_00/rels/m410Dll/symbols.txt - splits: config/GMPE01_00/rels/m410Dll/splits.txt - links: [] -- object: files/dll/m411Dll.rel - hash: 26ac81a3db9f3850bb43b23cdb7168dcddccaeea - symbols: config/GMPE01_00/rels/m411Dll/symbols.txt - splits: config/GMPE01_00/rels/m411Dll/splits.txt - links: [] -- object: files/dll/m412Dll.rel - hash: 3ebb173a52aaea75acb414f73264e72a2943c6f8 - symbols: config/GMPE01_00/rels/m412Dll/symbols.txt - splits: config/GMPE01_00/rels/m412Dll/splits.txt - links: [] -- object: files/dll/m413Dll.rel - hash: e59d4b66b1f57637c335b4745a696e3dbcb4bbe3 - symbols: config/GMPE01_00/rels/m413Dll/symbols.txt - splits: config/GMPE01_00/rels/m413Dll/splits.txt - links: [] -- object: files/dll/m414Dll.rel - hash: f7fe1aa24c7b6b8ca2bb28922696c0392dc7d029 - symbols: config/GMPE01_00/rels/m414Dll/symbols.txt - splits: config/GMPE01_00/rels/m414Dll/splits.txt - links: [] -- object: files/dll/m415Dll.rel - hash: 3c697b54ebdd01971b99af8c812b4850fa181f4f - symbols: config/GMPE01_00/rels/m415Dll/symbols.txt - splits: config/GMPE01_00/rels/m415Dll/splits.txt - links: [] -- object: files/dll/m416Dll.rel - hash: d26526935455b26beb2b9eaed1bfae3f3f458c25 - symbols: config/GMPE01_00/rels/m416Dll/symbols.txt - splits: config/GMPE01_00/rels/m416Dll/splits.txt - links: [] -- object: files/dll/m417Dll.rel - hash: b5c3805ec3cb023299ed09b782b92441085d0054 - symbols: config/GMPE01_00/rels/m417Dll/symbols.txt - splits: config/GMPE01_00/rels/m417Dll/splits.txt - links: [] -- object: files/dll/m418Dll.rel - hash: 0d02610005c46ad4f47ff51f5e154f9b0d16a4f4 - symbols: config/GMPE01_00/rels/m418Dll/symbols.txt - splits: config/GMPE01_00/rels/m418Dll/splits.txt - links: [] -- object: files/dll/m419Dll.rel - hash: bbceb138b8cc43e578179a7892801633892cb03c - symbols: config/GMPE01_00/rels/m419Dll/symbols.txt - splits: config/GMPE01_00/rels/m419Dll/splits.txt - links: [] -- object: files/dll/m420dll.rel - hash: 2ef4ee163bc2aa15f87c8c89afb4f28939f088c8 - symbols: config/GMPE01_00/rels/m420dll/symbols.txt - splits: config/GMPE01_00/rels/m420dll/splits.txt - links: [] -- object: files/dll/m421Dll.rel - hash: 216a99780a3915d7096385bbcddfc979ab3a4025 - symbols: config/GMPE01_00/rels/m421Dll/symbols.txt - splits: config/GMPE01_00/rels/m421Dll/splits.txt - links: [] -- object: files/dll/m422Dll.rel - hash: 9ad72ba6c3ac277e521dca2fc1372a5d31c18930 - symbols: config/GMPE01_00/rels/m422Dll/symbols.txt - splits: config/GMPE01_00/rels/m422Dll/splits.txt - links: [] -- object: files/dll/m423Dll.rel - hash: 377c6a56b3faf8f991ec4fccaf1972cb41910438 - symbols: config/GMPE01_00/rels/m423Dll/symbols.txt - splits: config/GMPE01_00/rels/m423Dll/splits.txt - links: [] -- object: files/dll/m424Dll.rel - hash: 5814f59970268406bd86a86d0fee5a09359ab506 - symbols: config/GMPE01_00/rels/m424Dll/symbols.txt - splits: config/GMPE01_00/rels/m424Dll/splits.txt - links: [] -- object: files/dll/m425Dll.rel - hash: ecaeae453393d228f2769aab9c022820bcdb58f1 - symbols: config/GMPE01_00/rels/m425Dll/symbols.txt - splits: config/GMPE01_00/rels/m425Dll/splits.txt - links: [] -- object: files/dll/m426Dll.rel - hash: c240697a57cc08d34e27e89d8d3455454799e8b1 - symbols: config/GMPE01_00/rels/m426Dll/symbols.txt - splits: config/GMPE01_00/rels/m426Dll/splits.txt - links: [] -- object: files/dll/m427Dll.rel - hash: c78a0857e9c44fb33bd4fdc3e392a15b4dec0431 - symbols: config/GMPE01_00/rels/m427Dll/symbols.txt - splits: config/GMPE01_00/rels/m427Dll/splits.txt - links: [] -- object: files/dll/m428Dll.rel - hash: a1d5672d8ef0aac089dda00287fd68bf2bb67807 - symbols: config/GMPE01_00/rels/m428Dll/symbols.txt - splits: config/GMPE01_00/rels/m428Dll/splits.txt - links: [] -- object: files/dll/m429Dll.rel - hash: d25f198ce04aa5ca7b54ada9de52f722bd751447 - symbols: config/GMPE01_00/rels/m429Dll/symbols.txt - splits: config/GMPE01_00/rels/m429Dll/splits.txt - links: [] -- object: files/dll/m430Dll.rel - hash: 8bef3e2f51db3afa82dcaf64e209067a58c04bf9 - symbols: config/GMPE01_00/rels/m430Dll/symbols.txt - splits: config/GMPE01_00/rels/m430Dll/splits.txt - links: [] -- object: files/dll/m431Dll.rel - hash: 7148ec21ca6e0aa8d213a1dce0aeb9d93a9b496c - symbols: config/GMPE01_00/rels/m431Dll/symbols.txt - splits: config/GMPE01_00/rels/m431Dll/splits.txt - links: [] -- object: files/dll/m432Dll.rel - hash: 096f5a85bb837af68bd491e962eda7726d8d26a0 - symbols: config/GMPE01_00/rels/m432Dll/symbols.txt - splits: config/GMPE01_00/rels/m432Dll/splits.txt - links: [] -- object: files/dll/m433Dll.rel - hash: c36f56264ab9cf74b882c2544cdb9b89f6a098cd - symbols: config/GMPE01_00/rels/m433Dll/symbols.txt - splits: config/GMPE01_00/rels/m433Dll/splits.txt - links: [] -- object: files/dll/m434Dll.rel - hash: 55912c8441002b61701fc8c769f707c69e2740c1 - symbols: config/GMPE01_00/rels/m434Dll/symbols.txt - splits: config/GMPE01_00/rels/m434Dll/splits.txt - links: [] -- object: files/dll/m435Dll.rel - hash: 56f1fc330e8b97fa426fac3d901b1feed946566e - symbols: config/GMPE01_00/rels/m435Dll/symbols.txt - splits: config/GMPE01_00/rels/m435Dll/splits.txt - links: [] -- object: files/dll/m436Dll.rel - hash: e53f3d381bfb99351483e70b9d79c2e8676f73d5 - symbols: config/GMPE01_00/rels/m436Dll/symbols.txt - splits: config/GMPE01_00/rels/m436Dll/splits.txt - links: [] -- object: files/dll/m437Dll.rel - hash: 404698b53acad1231e00d84d0196ddce8d9d9dd9 - symbols: config/GMPE01_00/rels/m437Dll/symbols.txt - splits: config/GMPE01_00/rels/m437Dll/splits.txt - links: [] -- object: files/dll/m438Dll.rel - hash: 9bddf4b81b9a792260000abe2631da493a8b8564 - symbols: config/GMPE01_00/rels/m438Dll/symbols.txt - splits: config/GMPE01_00/rels/m438Dll/splits.txt - links: [] -- object: files/dll/m439Dll.rel - hash: a2a18c9d26dedfa8e2ae003c3a2e1bdcc1cbd4cc - symbols: config/GMPE01_00/rels/m439Dll/symbols.txt - splits: config/GMPE01_00/rels/m439Dll/splits.txt - links: [] -- object: files/dll/m440Dll.rel - hash: 227ca13bcd72059bdd506e9611d9b52f661af6c5 - symbols: config/GMPE01_00/rels/m440Dll/symbols.txt - splits: config/GMPE01_00/rels/m440Dll/splits.txt - links: [] -- object: files/dll/m441Dll.rel - hash: d6cbf72115374e06ffea3f15001977c288a9c3fb - symbols: config/GMPE01_00/rels/m441Dll/symbols.txt - splits: config/GMPE01_00/rels/m441Dll/splits.txt - links: [] -- object: files/dll/m442Dll.rel - hash: 347fcb836b5266dfe3d1088e1aa796c043b0fe60 - symbols: config/GMPE01_00/rels/m442Dll/symbols.txt - splits: config/GMPE01_00/rels/m442Dll/splits.txt - links: [] -- object: files/dll/m443Dll.rel - hash: 77444c6739a4d9390f30ba56c5fcd82ee4efc0c2 - symbols: config/GMPE01_00/rels/m443Dll/symbols.txt - splits: config/GMPE01_00/rels/m443Dll/splits.txt - links: [] -- object: files/dll/m444dll.rel - hash: 897d8ebd200020bc5bb9d949f869b3a2331077c7 - symbols: config/GMPE01_01/rels/m444dll/symbols.txt - splits: config/GMPE01_01/rels/m444dll/splits.txt - links: [] -- object: files/dll/m445Dll.rel - hash: d4d9f2aad53aa7f4e1c313438a0e3767f8e58eb9 - symbols: config/GMPE01_00/rels/m445Dll/symbols.txt - splits: config/GMPE01_00/rels/m445Dll/splits.txt - links: [] -- object: files/dll/m446dll.rel - hash: 4b16e5eff613eaf4cc98411809cd1f1578e33fd1 - symbols: config/GMPE01_00/rels/m446dll/symbols.txt - splits: config/GMPE01_00/rels/m446dll/splits.txt - links: [] -- object: files/dll/m447dll.rel - hash: 775ca8f8b3be867ad67f91bc3b6ebcc8c3068d2b - symbols: config/GMPE01_00/rels/m447dll/symbols.txt - splits: config/GMPE01_00/rels/m447dll/splits.txt - links: [] -- object: files/dll/m448Dll.rel - hash: e6f7586dadbe3f5b5045c0bdf2fe618d42ef3a44 - symbols: config/GMPE01_00/rels/m448Dll/symbols.txt - splits: config/GMPE01_00/rels/m448Dll/splits.txt - links: [] -- object: files/dll/m449Dll.rel - hash: e797c2ff132ab35e768be62cb62219592464ca9d - symbols: config/GMPE01_00/rels/m449Dll/symbols.txt - splits: config/GMPE01_00/rels/m449Dll/splits.txt - links: [] -- object: files/dll/m450Dll.rel - hash: f2ea7da07cf8be4f449c97b829d3231911e158a0 - symbols: config/GMPE01_00/rels/m450Dll/symbols.txt - splits: config/GMPE01_00/rels/m450Dll/splits.txt - links: [] -- object: files/dll/m451Dll.rel - hash: 3f82fd24071582b6494a9f99750c0bc3c10d502e - symbols: config/GMPE01_00/rels/m451Dll/symbols.txt - splits: config/GMPE01_00/rels/m451Dll/splits.txt - links: [] -- object: files/dll/m453Dll.rel - hash: 49ef28c2862000fae4d8efd8fec0ff9b41f24461 - symbols: config/GMPE01_00/rels/m453Dll/symbols.txt - splits: config/GMPE01_00/rels/m453Dll/splits.txt - links: [] -- object: files/dll/m455Dll.rel - hash: e0b21cfbe592955c84662ff50d8a33e147403906 - symbols: config/GMPE01_00/rels/m455Dll/symbols.txt - splits: config/GMPE01_00/rels/m455Dll/splits.txt - links: [] -- object: files/dll/m456Dll.rel - hash: 97d5701b151c6ad8cf8cea6e776973daa95eea34 - symbols: config/GMPE01_00/rels/m456Dll/symbols.txt - splits: config/GMPE01_00/rels/m456Dll/splits.txt - links: [] -- object: files/dll/m457Dll.rel - hash: d4a411f9ef850f52506afd1ad1de88d2d8de361b - symbols: config/GMPE01_00/rels/m457Dll/symbols.txt - splits: config/GMPE01_00/rels/m457Dll/splits.txt - links: [] -- object: files/dll/m458Dll.rel - hash: 7ac361c5a04f83d46f516a13a43e43b59b929435 - symbols: config/GMPE01_00/rels/m458Dll/symbols.txt - splits: config/GMPE01_00/rels/m458Dll/splits.txt - links: [] -- object: files/dll/m459dll.rel - hash: 1aafc4f38ddfee64ea8f7dda7cbd7113e86997ba - symbols: config/GMPE01_00/rels/m459dll/symbols.txt - splits: config/GMPE01_00/rels/m459dll/splits.txt - links: [] -- object: files/dll/m460Dll.rel - hash: 5d28f1a87edee5216b9bb28d9cbff2b22d617747 - symbols: config/GMPE01_00/rels/m460Dll/symbols.txt - splits: config/GMPE01_00/rels/m460Dll/splits.txt - links: [] -- object: files/dll/m461Dll.rel - hash: ab058151bd25600f05f8b6fedbec1c7448175123 - symbols: config/GMPE01_00/rels/m461Dll/symbols.txt - splits: config/GMPE01_00/rels/m461Dll/splits.txt - links: [] -- object: files/dll/m462Dll.rel - hash: 78d6ab00677791ece684a0c149d1ae72efc52d1c - symbols: config/GMPE01_00/rels/m462Dll/symbols.txt - splits: config/GMPE01_00/rels/m462Dll/splits.txt - links: [] -- object: files/dll/m463Dll.rel - hash: 32010595b4fd0b75293fc46b9026c5613d0ea4c2 - symbols: config/GMPE01_00/rels/m463Dll/symbols.txt - splits: config/GMPE01_00/rels/m463Dll/splits.txt - links: [] -- object: files/dll/mentDll.rel - hash: 9e63dd96943ffd2747be5aad924b95892d46051a - symbols: config/GMPE01_00/rels/mentDll/symbols.txt - splits: config/GMPE01_00/rels/mentDll/splits.txt - links: [] -- object: files/dll/messDll.rel - hash: 7e119de456b3557dcf514c70bd7ab81dc5f9cf54 - symbols: config/GMPE01_00/rels/messDll/symbols.txt - splits: config/GMPE01_00/rels/messDll/splits.txt - links: [] -- object: files/dll/mgmodedll.rel - hash: 376c78e2d1b7d7a429959c532e9cb92c98f73b7e - symbols: config/GMPE01_00/rels/mgmodedll/symbols.txt - splits: config/GMPE01_00/rels/mgmodedll/splits.txt - links: [] -- object: files/dll/modeltestDll.rel - hash: 8de28c0f254a2c574c4da9b6a3a17e5ad7ffe1f9 - symbols: config/GMPE01_00/rels/modeltestDll/symbols.txt - splits: config/GMPE01_00/rels/modeltestDll/splits.txt - links: [] -- object: files/dll/modeseldll.rel - hash: bdf8cd57fa23f07c429393817037ade04e2c6024 - symbols: config/GMPE01_00/rels/modeseldll/symbols.txt - splits: config/GMPE01_00/rels/modeseldll/splits.txt - links: [] -- object: files/dll/mpexDll.rel - hash: 4524e63b63510b42bca907f72e67affddec856f9 - symbols: config/GMPE01_00/rels/mpexDll/symbols.txt - splits: config/GMPE01_00/rels/mpexDll/splits.txt - links: [] -- object: files/dll/msetupDll.rel - hash: 86ff8288bb92472376d02cade1d3c9603b613c57 - symbols: config/GMPE01_00/rels/msetupDll/symbols.txt - splits: config/GMPE01_00/rels/msetupDll/splits.txt - links: [] -- object: files/dll/mstory2Dll.rel - hash: 3395fac055bd155c682642bab7d09f428e48bed9 - symbols: config/GMPE01_01/rels/mstory2Dll/symbols.txt - splits: config/GMPE01_01/rels/mstory2Dll/splits.txt - links: [] -- object: files/dll/mstory3Dll.rel - hash: 9d67ee54dd30be83331e303d2bcf12ff2b2fa136 - symbols: config/GMPE01_01/rels/mstory3Dll/symbols.txt - splits: config/GMPE01_01/rels/mstory3Dll/splits.txt - links: [] -- object: files/dll/mstory4Dll.rel - hash: 7f9cc4a18a137f861b2c326b099c02ba4e5bd94b - symbols: config/GMPE01_00/rels/mstory4Dll/symbols.txt - splits: config/GMPE01_00/rels/mstory4Dll/splits.txt - links: [] -- object: files/dll/mstoryDll.rel - hash: b1591a5f829e0c577912fc703a7d280306ff4f77 - symbols: config/GMPE01_01/rels/mstoryDll/symbols.txt - splits: config/GMPE01_01/rels/mstoryDll/splits.txt - links: [] -- object: files/dll/nisDll.rel - hash: d74a5147245a1877b140ee2af7f75b2b6c90892d - symbols: config/GMPE01_00/rels/nisDll/symbols.txt - splits: config/GMPE01_00/rels/nisDll/splits.txt - links: [] -- object: files/dll/option.rel - hash: 5c6973fe7e0271885a5a87d87d4e7164ef711abb - symbols: config/GMPE01_00/rels/option/symbols.txt - splits: config/GMPE01_00/rels/option/splits.txt - links: [] -- object: files/dll/present.rel - hash: ddb8d8a825578a588276b9d4f65eceee26f91253 - symbols: config/GMPE01_00/rels/present/symbols.txt - splits: config/GMPE01_00/rels/present/splits.txt - links: [] -- object: files/dll/resultDll.rel - hash: 41a820438884ae8566f34f895198a186aae60305 - symbols: config/GMPE01_00/rels/resultDll/symbols.txt - splits: config/GMPE01_00/rels/resultDll/splits.txt - links: [] -- object: files/dll/safDll.rel - hash: f34c104078b41971412cb09b37c4dc9526be02e3 - symbols: config/GMPE01_00/rels/safDll/symbols.txt - splits: config/GMPE01_00/rels/safDll/splits.txt - links: [] -- object: files/dll/selmenuDll.rel - hash: 81a00a71b8d1ab22bfd3df10d815c87ba618ec84 - symbols: config/GMPE01_00/rels/selmenuDll/symbols.txt - splits: config/GMPE01_00/rels/selmenuDll/splits.txt - links: [] -- object: files/dll/staffDll.rel - hash: a6210fbcdf3d7f0063f3052e2ae525abacac08e7 - symbols: config/GMPE01_00/rels/staffDll/symbols.txt - splits: config/GMPE01_00/rels/staffDll/splits.txt - links: [] -- object: files/dll/subchrselDll.rel - hash: 7488bc249dc7c656f60105e4d24c4011983c2ba2 - symbols: config/GMPE01_00/rels/subchrselDll/symbols.txt - splits: config/GMPE01_00/rels/subchrselDll/splits.txt - links: [] -- object: files/dll/w01Dll.rel - hash: d3de36269886995d959e1fd58d8ad806843c8819 - symbols: config/GMPE01_00/rels/w01Dll/symbols.txt - splits: config/GMPE01_00/rels/w01Dll/splits.txt - links: [] -- object: files/dll/w02Dll.rel - hash: 750c4d6cd6a49d290f5cc63432d4f65642fbd7e4 - symbols: config/GMPE01_00/rels/w02Dll/symbols.txt - splits: config/GMPE01_00/rels/w02Dll/splits.txt - links: [] -- object: files/dll/w03Dll.rel - hash: f9e8d9c4581d44488adaffa3d46d9bc835d4f9bd - symbols: config/GMPE01_00/rels/w03Dll/symbols.txt - splits: config/GMPE01_00/rels/w03Dll/splits.txt - links: [] -- object: files/dll/w04Dll.rel - hash: 821126eeb7054150744b925cc4cb06c751ddcefd - symbols: config/GMPE01_00/rels/w04Dll/symbols.txt - splits: config/GMPE01_00/rels/w04Dll/splits.txt - links: [] -- object: files/dll/w05Dll.rel - hash: d29f7ccadcba23c8446d05101c4efa5caba26dfd - symbols: config/GMPE01_00/rels/w05Dll/symbols.txt - splits: config/GMPE01_00/rels/w05Dll/splits.txt - links: [] -- object: files/dll/w06Dll.rel - hash: d11a7a6d44189ba8d1e3a7168ea640ea9f2152fe - symbols: config/GMPE01_00/rels/w06Dll/symbols.txt - splits: config/GMPE01_00/rels/w06Dll/splits.txt - links: [] -- object: files/dll/w10Dll.rel - hash: 54bb23228b04c5aaa6aa7c8ca1f846baec5a1f2c - symbols: config/GMPE01_00/rels/w10Dll/symbols.txt - splits: config/GMPE01_00/rels/w10Dll/splits.txt - links: [] -- object: files/dll/w20Dll.rel - hash: 98cc41456afa9e1ccbb8e03718b8d3cb64e4e86f - symbols: config/GMPE01_00/rels/w20Dll/symbols.txt - splits: config/GMPE01_00/rels/w20Dll/splits.txt - links: [] -- object: files/dll/w21Dll.rel - hash: b888f2c6703e680699ff8c59ad9200b9d78d30a1 - symbols: config/GMPE01_00/rels/w21Dll/symbols.txt - splits: config/GMPE01_00/rels/w21Dll/splits.txt - links: [] -- object: files/dll/ztardll.rel - hash: 87d9fee70ed4f011e0b30e05156d087204cf686f - symbols: config/GMPE01_00/rels/ztardll/symbols.txt - splits: config/GMPE01_00/rels/ztardll/splits.txt - links: [] -- object: files/dll/E3setupDLL.rel - hash: 234e07cee1491c7060e30805681bf5f39150122d - symbols: config/GMPE01_00/rels/E3setupDLL/symbols.txt - splits: config/GMPE01_00/rels/E3setupDLL/splits.txt - links: [_minigameDll] -- object: files/dll/m300Dll.rel - hash: eba8a17e8b263bc9cd601b1aea7e698a8785416a - symbols: config/GMPE01_00/rels/m300Dll/symbols.txt - splits: config/GMPE01_00/rels/m300Dll/splits.txt - links: [_minigameDll] -- object: files/dll/m401Dll.rel - hash: f3ec526c25986a3fcf7dfbc8c463626839a3a801 - symbols: config/GMPE01_00/rels/m401Dll/symbols.txt - splits: config/GMPE01_00/rels/m401Dll/splits.txt - links: [_minigameDll] - -extract: -- symbol: ank8x8_4b - binary: ank8x8_4b.bin - header: ank8x8_4b.inc -- symbol: refMapData0 - binary: refMapData0.anm - header: refMapData0.inc -- symbol: refMapData1 - binary: refMapData1.anm - header: refMapData1.inc -- symbol: refMapData2 - binary: refMapData2.anm - header: refMapData2.inc -- symbol: refMapData3 - binary: refMapData3.anm - header: refMapData3.inc -- symbol: refMapData4 - binary: refMapData4.anm - header: refMapData4.inc -- symbol: toonMapData - binary: toonMapData.anm - header: toonMapData.inc -- symbol: toonMapData2 - binary: toonMapData2.anm - header: toonMapData2.inc -- symbol: hiliteData - binary: hiliteData.anm - header: hiliteData.inc -- symbol: hiliteData2 - binary: hiliteData2.anm - header: hiliteData2.inc -- symbol: hiliteData3 - binary: hiliteData3.anm - header: hiliteData3.inc -- symbol: hiliteData4 - binary: hiliteData4.anm - header: hiliteData4.inc -- symbol: Ascii8x8_1bpp - binary: Ascii8x8_1bpp.bin - header: Ascii8x8_1bpp.inc -- symbol: coveropen_en - binary: coveropen_en.bin - header: coveropen_en.inc -- symbol: fatalerror_en - binary: fatalerror_en.bin - header: fatalerror_en.inc -- symbol: loading_en - binary: loading_en.bin - header: loading_en.inc -- symbol: nodisc_en - binary: nodisc_en.bin - header: nodisc_en.inc -- symbol: retryerror_en - binary: retryerror_en.bin - header: retryerror_en.inc -- symbol: wrongdisc_en - binary: wrongdisc_en.bin - header: wrongdisc_en.inc -- symbol: DEMOFontBitmap - binary: DEMOFontBitmap.bin - header: DEMOFontBitmap.inc diff --git a/config/GMPE01_01/rels/m444dll/splits.txt b/config/GMPE01_01/rels/m444dll/splits.txt deleted file mode 100644 index 08b0966c..00000000 --- a/config/GMPE01_01/rels/m444dll/splits.txt +++ /dev/null @@ -1,32 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/m444dll/main.c: - .text start:0x000000A0 end:0x00008424 - .rodata start:0x00000000 end:0x00000278 - .data start:0x00000000 end:0x00000258 - .bss start:0x00000000 end:0x00000310 - -REL/m444dll/pinball.c: - .text start:0x00008424 end:0x0000D664 - .rodata start:0x00000278 end:0x00000430 - .data start:0x00000258 end:0x00000470 - .bss start:0x00000310 end:0x00019908 - -REL/m444dll/datalist.c: - .text start:0x0000D664 end:0x0000DAA4 - .rodata start:0x00000430 end:0x00000440 - .data start:0x00000470 end:0x000016EC - .bss start:0x00019908 end:0x00019A76 - -REL/m444dll/shadow.c: - .text start:0x0000DAA4 end:0x0000DEFC - .rodata start:0x00000440 end:0x0000047C diff --git a/config/GMPE01_01/rels/m444dll/symbols.txt b/config/GMPE01_01/rels/m444dll/symbols.txt deleted file mode 100644 index cdfb7397..00000000 --- a/config/GMPE01_01/rels/m444dll/symbols.txt +++ /dev/null @@ -1,325 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x3D0 -fn_1_470 = .text:0x00000470; // type:function size:0x370C -fn_1_3B7C = .text:0x00003B7C; // type:function size:0x1270 -fn_1_4DEC = .text:0x00004DEC; // type:function size:0x7C4 -fn_1_55B0 = .text:0x000055B0; // type:function size:0x1C4 -fn_1_5774 = .text:0x00005774; // type:function size:0x6F4 -fn_1_5E68 = .text:0x00005E68; // type:function size:0x6F4 -fn_1_655C = .text:0x0000655C; // type:function size:0x824 -fn_1_6D80 = .text:0x00006D80; // type:function size:0xBC -fn_1_6E3C = .text:0x00006E3C; // type:function size:0xA0 -fn_1_6EDC = .text:0x00006EDC; // type:function size:0x3B4 -fn_1_7290 = .text:0x00007290; // type:function size:0xC2C -fn_1_7EBC = .text:0x00007EBC; // type:function size:0x2C4 -fn_1_8180 = .text:0x00008180; // type:function size:0x90 -fn_1_8210 = .text:0x00008210; // type:function size:0xEC -fn_1_82FC = .text:0x000082FC; // type:function size:0x128 -fn_1_8424 = .text:0x00008424; // type:function size:0x1F8 -fn_1_861C = .text:0x0000861C; // type:function size:0x7B4 -fn_1_8DD0 = .text:0x00008DD0; // type:function size:0x648 -fn_1_9418 = .text:0x00009418; // type:function size:0x894 -fn_1_9CAC = .text:0x00009CAC; // type:function size:0x3B4 -fn_1_A060 = .text:0x0000A060; // type:function size:0xB70 -fn_1_ABD0 = .text:0x0000ABD0; // type:function size:0x618 -fn_1_B1E8 = .text:0x0000B1E8; // type:function size:0x1108 -fn_1_C214 = .text:0x0000C2F0; // type:function size:0x528 -fn_1_C73C = .text:0x0000C818; // type:function size:0x2F4 -fn_1_CA30 = .text:0x0000CB0C; // type:function size:0x140 -fn_1_CB70 = .text:0x0000CC4C; // type:function size:0x298 -fn_1_CE08 = .text:0x0000CEE4; // type:function size:0x194 -fn_1_CF9C = .text:0x0000D078; // type:function size:0x244 -fn_1_D1E0 = .text:0x0000D2BC; // type:function size:0x3A8 -fn_1_D588 = .text:0x0000D664; // type:function size:0x290 -fn_1_D818 = .text:0x0000D8F4; // type:function size:0x138 -fn_1_D950 = .text:0x0000DA2C; // type:function size:0x78 -fn_1_D9C8 = .text:0x0000DAA4; // type:function size:0x2C -fn_1_D9F4 = .text:0x0000DAD0; // type:function size:0x42C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 scope:local data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 scope:local data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 scope:local data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 scope:local data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 scope:local data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 scope:local data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 scope:local data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 scope:local data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 scope:local data:double -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 scope:local data:double -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 scope:local data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x8 scope:local data:double -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 scope:local data:double -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 scope:local data:double -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 scope:local data:double -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x118 data:float -lbl_1_data_118 = .data:0x00000118; // type:object size:0x28 -lbl_1_data_140 = .data:0x00000140; // type:object size:0xC data:float -lbl_1_data_14C = .data:0x0000014C; // type:object size:0x3C data:float -lbl_1_data_188 = .data:0x00000188; // type:object size:0xA data:2byte -lbl_1_data_194 = .data:0x00000194; // type:object size:0x20 -lbl_1_data_1B4 = .data:0x000001B4; // type:object size:0x24 scope:local data:string -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0xA scope:local data:string -lbl_1_data_1E2 = .data:0x000001E2; // type:object size:0xA scope:local data:string -lbl_1_data_1EC = .data:0x000001EC; // type:object size:0xA scope:local data:string -lbl_1_data_1F6 = .data:0x000001F6; // type:object size:0xD scope:local data:string -lbl_1_data_203 = .data:0x00000203; // type:object size:0xD scope:local data:string -lbl_1_data_210 = .data:0x00000210; // type:object size:0xD scope:local data:string -lbl_1_data_21D = .data:0x0000021D; // type:object size:0xD scope:local data:string -lbl_1_data_22A = .data:0x0000022A; // type:object size:0xB scope:local data:string -lbl_1_data_235 = .data:0x00000235; // type:object size:0xB scope:local data:string -lbl_1_data_240 = .data:0x00000240; // type:object size:0x4 -lbl_1_data_244 = .data:0x00000244; // type:object size:0xA scope:local data:string -lbl_1_data_24E = .data:0x0000024E; // type:object size:0x4 scope:local data:string -lbl_1_data_258 = .data:0x00000258; // type:object size:0xC -lbl_1_data_264 = .data:0x00000264; // type:object size:0x3C -lbl_1_data_2A0 = .data:0x000002A0; // type:object size:0x28 -lbl_1_data_2C8 = .data:0x000002C8; // type:object size:0xA -lbl_1_data_2D2 = .data:0x000002D2; // type:object size:0xD scope:local data:string -lbl_1_data_2DF = .data:0x000002DF; // type:object size:0xD scope:local data:string -lbl_1_data_2EC = .data:0x000002EC; // type:object size:0xD scope:local data:string -lbl_1_data_2F9 = .data:0x000002F9; // type:object size:0xD scope:local data:string -lbl_1_data_306 = .data:0x00000306; // type:object size:0xD scope:local data:string -lbl_1_data_313 = .data:0x00000313; // type:object size:0xD scope:local data:string -lbl_1_data_320 = .data:0x00000320; // type:object size:0xD scope:local data:string -lbl_1_data_32D = .data:0x0000032D; // type:object size:0xD scope:local data:string -lbl_1_data_33A = .data:0x0000033A; // type:object size:0xD scope:local data:string -lbl_1_data_347 = .data:0x00000347; // type:object size:0xD scope:local data:string -lbl_1_data_354 = .data:0x00000354; // type:object size:0xD scope:local data:string -lbl_1_data_361 = .data:0x00000361; // type:object size:0xD scope:local data:string -lbl_1_data_36E = .data:0x0000036E; // type:object size:0xD scope:local data:string -lbl_1_data_37B = .data:0x0000037B; // type:object size:0xD scope:local data:string -jumptable_1_data_388 = .data:0x00000388; // type:object size:0x1C scope:local -lbl_1_data_3A4 = .data:0x000003A4; // type:object size:0x6 data:2byte -lbl_1_data_3AC = .data:0x000003AC; // type:object size:0x30 data:float -lbl_1_data_3DC = .data:0x000003DC; // type:object size:0x24 data:float -lbl_1_data_400 = .data:0x00000400; // type:object size:0x54 data:float -lbl_1_data_454 = .data:0x00000454; // type:object size:0xC -lbl_1_data_460 = .data:0x00000460; // type:object size:0x10 scope:local data:string -lbl_1_data_470 = .data:0x00000470; // type:object size:0x127C -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x140 data:2byte -lbl_1_bss_148 = .bss:0x00000148; // type:object size:0x140 data:2byte -lbl_1_bss_288 = .bss:0x00000288; // type:object size:0x8 data:float -lbl_1_bss_290 = .bss:0x00000290; // type:object size:0x18 data:4byte -lbl_1_bss_2A8 = .bss:0x000002A8; // type:object size:0x18 data:float -lbl_1_bss_2C0 = .bss:0x000002C0; // type:object size:0x10 data:2byte -lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x2 data:2byte -lbl_1_bss_2D2 = .bss:0x000002D2; // type:object size:0x2 data:2byte -lbl_1_bss_2D4 = .bss:0x000002D4; // type:object size:0x2 data:2byte -lbl_1_bss_2D6 = .bss:0x000002D6; // type:object size:0x2 data:2byte -lbl_1_bss_2D8 = .bss:0x000002D8; // type:object size:0x2 data:2byte -lbl_1_bss_2DA = .bss:0x000002DA; // type:object size:0x2 data:2byte -lbl_1_bss_2DC = .bss:0x000002DC; // type:object size:0x2 data:2byte -lbl_1_bss_2E0 = .bss:0x000002E0; // type:object size:0x4 data:float -lbl_1_bss_2E4 = .bss:0x000002E4; // type:object size:0xC data:float -lbl_1_bss_2F0 = .bss:0x000002F0; // type:object size:0xC data:4byte -lbl_1_bss_2FC = .bss:0x000002FC; // type:object size:0x4 data:4byte -lbl_1_bss_300 = .bss:0x00000300; // type:object size:0x8 data:4byte -lbl_1_bss_308 = .bss:0x00000308; // type:object size:0x4 data:4byte -lbl_1_bss_30C = .bss:0x0000030C; // type:object size:0x4 data:4byte -lbl_1_bss_310 = .bss:0x00000310; // type:object size:0x1 data:byte -lbl_1_bss_312 = .bss:0x00000312; // type:object size:0x2 data:2byte -lbl_1_bss_314 = .bss:0x00000314; // type:object size:0xC data:float -lbl_1_bss_320 = .bss:0x00000320; // type:object size:0x8 data:2byte -lbl_1_bss_328 = .bss:0x00000328; // type:object size:0x24 data:float -lbl_1_bss_34C = .bss:0x0000034C; // type:object size:0x24 data:float -lbl_1_bss_370 = .bss:0x00000370; // type:object size:0x400 -lbl_1_bss_770 = .bss:0x00000770; // type:object size:0xC data:float -lbl_1_bss_77C = .bss:0x0000077C; // type:object size:0xC data:float -lbl_1_bss_788 = .bss:0x00000788; // type:object size:0xC -lbl_1_bss_794 = .bss:0x00000794; // type:object size:0x90 -lbl_1_bss_824 = .bss:0x00000824; // type:object size:0x3C -lbl_1_bss_860 = .bss:0x00000860; // type:object size:0x24 -lbl_1_bss_884 = .bss:0x00000884; // type:object size:0x1000 -lbl_1_bss_1884 = .bss:0x00001884; // type:object size:0x2 data:2byte -lbl_1_bss_1888 = .bss:0x00001888; // type:object size:0xC data:float -lbl_1_bss_1894 = .bss:0x00001894; // type:object size:0xC data:float -lbl_1_bss_18A0 = .bss:0x000018A0; // type:object size:0x14 -lbl_1_bss_18B4 = .bss:0x000018B4; // type:object size:0x3C -lbl_1_bss_18F0 = .bss:0x000018F0; // type:object size:0xC000 -lbl_1_bss_D8F0 = .bss:0x0000D8F0; // type:object size:0xC000 -lbl_1_bss_198F0 = .bss:0x000198F0; // type:object size:0x14 -lbl_1_bss_19908 = .bss:0x00019908; // type:object size:0x2 -lbl_1_bss_1990A = .bss:0x0001990A; // type:object size:0x4 data:2byte -lbl_1_bss_1990E = .bss:0x0001990E; // type:object size:0xB4 data:2byte -lbl_1_bss_199C2 = .bss:0x000199C2; // type:object size:0xB4 data:2byte diff --git a/config/GMPE01_01/rels/mstory2Dll/splits.txt b/config/GMPE01_01/rels/mstory2Dll/splits.txt deleted file mode 100644 index efd06f61..00000000 --- a/config/GMPE01_01/rels/mstory2Dll/splits.txt +++ /dev/null @@ -1,54 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/mstory2Dll/main.c: - .text start:0x00000000 end:0x00007DB0 - .rodata start:0x00000000 end:0x00000118 - .data start:0x00000000 end:0x000003A0 - .bss start:0x00000000 end:0x00000078 - -REL/mstory2Dll/board_entrance.c: - .text start:0x00007DB0 end:0x0000B37C - .rodata start:0x00000118 end:0x000001A8 - .data start:0x000003A0 end:0x00000520 - .bss start:0x00000078 end:0x00000298 - -REL/mstory2Dll/board_clear.c: - .text start:0x0000B37C end:0x0000E570 - .rodata start:0x000001A8 end:0x00000248 - .data start:0x00000520 end:0x00000698 - .bss start:0x00000298 end:0x000004E0 - -REL/mstory2Dll/board_miss.c: - .text start:0x0000E570 end:0x000123C8 - .rodata start:0x00000248 end:0x00000310 - .data start:0x00000698 end:0x00000850 - .bss start:0x000004E0 end:0x00000790 - -REL/mstory2Dll/mg_clear.c: - .text start:0x000123C8 end:0x00016060 - .rodata start:0x00000310 end:0x000003D0 - .data start:0x00000850 end:0x00000DB8 - .bss start:0x00000790 end:0x00000968 - -REL/mstory2Dll/mg_miss.c: - .text start:0x00016060 end:0x000186D0 - .rodata start:0x000003D0 end:0x00000438 - .data start:0x00000DB8 end:0x00000EF8 - .bss start:0x00000968 end:0x00000B38 - -REL/mstory2Dll/ending.c: - .text start:0x000186D0 end:0x0001B560 - .rodata start:0x00000438 end:0x000004B8 - .data start:0x00000EF8 end:0x00001113 - .bss start:0x00000B38 end:0x00000D10 - -REL/mstory2Dll/save.c: - .text start:0x0001B560 end:0x0001B974 - .rodata start:0x000004B8 end:0x000004C8 - .bss start:0x00000D10 end:0x00000D18 diff --git a/config/GMPE01_01/rels/mstory2Dll/symbols.txt b/config/GMPE01_01/rels/mstory2Dll/symbols.txt deleted file mode 100644 index 8bf47557..00000000 --- a/config/GMPE01_01/rels/mstory2Dll/symbols.txt +++ /dev/null @@ -1,713 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x4C -fn_1_4C = .text:0x0000004C; // type:function size:0x58 -fn_1_A4 = .text:0x000000A4; // type:function size:0x2A0 -_prolog = .text:0x00000344; // type:function size:0x54 scope:global -_epilog = .text:0x00000398; // type:function size:0x4C scope:global -fn_1_3E4 = .text:0x000003E4; // type:function size:0x110 -fn_1_4F4 = .text:0x000004F4; // type:function size:0x1B8 -ObjectSetup = .text:0x000006AC; // type:function size:0x1B8 -fn_1_864 = .text:0x00000864; // type:function size:0x28 -fn_1_88C = .text:0x0000088C; // type:function size:0x20 -fn_1_8AC = .text:0x000008AC; // type:function size:0xD8 -fn_1_984 = .text:0x00000984; // type:function size:0xC8 -fn_1_A4C = .text:0x00000A4C; // type:function size:0xBC -fn_1_B08 = .text:0x00000B08; // type:function size:0xBC -fn_1_BC4 = .text:0x00000BC4; // type:function size:0x4 -fn_1_BC8 = .text:0x00000BC8; // type:function size:0x20 -fn_1_BE8 = .text:0x00000BE8; // type:function size:0x28 -fn_1_C10 = .text:0x00000C10; // type:function size:0x20 -fn_1_C30 = .text:0x00000C30; // type:function size:0x24 -fn_1_C54 = .text:0x00000C54; // type:function size:0x4 -fn_1_C58 = .text:0x00000C58; // type:function size:0xA48 -fn_1_16A0 = .text:0x000016A0; // type:function size:0x1BC -fn_1_185C = .text:0x0000185C; // type:function size:0x1D8 -fn_1_1A34 = .text:0x00001A34; // type:function size:0x60 -fn_1_1A94 = .text:0x00001A94; // type:function size:0x68 -fn_1_1AFC = .text:0x00001AFC; // type:function size:0xAC -fn_1_1BA8 = .text:0x00001BA8; // type:function size:0xBC -fn_1_1C64 = .text:0x00001C64; // type:function size:0xB4 -fn_1_1D18 = .text:0x00001D18; // type:function size:0x34 -fn_1_1D4C = .text:0x00001D4C; // type:function size:0x40 -fn_1_1D8C = .text:0x00001D8C; // type:function size:0x70 -fn_1_1DFC = .text:0x00001DFC; // type:function size:0x188 -fn_1_1F84 = .text:0x00001F84; // type:function size:0x2E0 -fn_1_2264 = .text:0x00002264; // type:function size:0x90 -fn_1_22F4 = .text:0x000022F4; // type:function size:0x48 -fn_1_233C = .text:0x0000233C; // type:function size:0x54 -fn_1_2390 = .text:0x00002390; // type:function size:0x3C0 -fn_1_2750 = .text:0x00002750; // type:function size:0x10 -fn_1_2760 = .text:0x00002760; // type:function size:0x10 -fn_1_2770 = .text:0x00002770; // type:function size:0xB8 -fn_1_2828 = .text:0x00002828; // type:function size:0x120 -fn_1_2948 = .text:0x00002948; // type:function size:0x3B8 -fn_1_2D00 = .text:0x00002D00; // type:function size:0x7F4 -fn_1_34F4 = .text:0x000034F4; // type:function size:0x88 -fn_1_357C = .text:0x0000357C; // type:function size:0x94 -fn_1_3610 = .text:0x00003610; // type:function size:0x58 -fn_1_3668 = .text:0x00003668; // type:function size:0xEC -fn_1_3754 = .text:0x00003754; // type:function size:0xC4 -fn_1_3818 = .text:0x00003818; // type:function size:0x3C -fn_1_3854 = .text:0x00003854; // type:function size:0x44 -fn_1_3898 = .text:0x00003898; // type:function size:0x26C -fn_1_3B04 = .text:0x00003B04; // type:function size:0x26C -fn_1_3D70 = .text:0x00003D70; // type:function size:0x27C -fn_1_3FEC = .text:0x00003FEC; // type:function size:0x2B4 -fn_1_42A0 = .text:0x000042A0; // type:function size:0x46C -fn_1_470C = .text:0x0000470C; // type:function size:0x454 -fn_1_4B60 = .text:0x00004B60; // type:function size:0x48C -fn_1_4FEC = .text:0x00004FEC; // type:function size:0x658 -fn_1_5644 = .text:0x00005644; // type:function size:0x4C4 -fn_1_5B08 = .text:0x00005B08; // type:function size:0x4FC -fn_1_6004 = .text:0x00006004; // type:function size:0x6C8 -fn_1_66CC = .text:0x000066CC; // type:function size:0x38 -fn_1_6704 = .text:0x00006704; // type:function size:0xD4 -fn_1_67D8 = .text:0x000067D8; // type:function size:0x198 -fn_1_6970 = .text:0x00006970; // type:function size:0x34 -fn_1_69A4 = .text:0x000069A4; // type:function size:0x40 -fn_1_69E4 = .text:0x000069E4; // type:function size:0xAC -fn_1_6A90 = .text:0x00006A90; // type:function size:0x2E8 -fn_1_6D78 = .text:0x00006D78; // type:function size:0x44 -fn_1_6DBC = .text:0x00006DBC; // type:function size:0x1F4 -fn_1_6FB0 = .text:0x00006FB0; // type:function size:0xB4 -fn_1_7064 = .text:0x00007064; // type:function size:0x178 -fn_1_71DC = .text:0x000071DC; // type:function size:0x68 -fn_1_7244 = .text:0x00007244; // type:function size:0x140 -fn_1_7384 = .text:0x00007384; // type:function size:0xA2C -fn_1_7DB0 = .text:0x00007DB0; // type:function size:0x1A4 -fn_1_7F54 = .text:0x00007F54; // type:function size:0x118 -fn_1_806C = .text:0x0000806C; // type:function size:0x8C -fn_1_80F8 = .text:0x000080F8; // type:function size:0x488 -fn_1_8580 = .text:0x00008580; // type:function size:0x5C -fn_1_85DC = .text:0x000085DC; // type:function size:0x1F8 -fn_1_87D4 = .text:0x000087D4; // type:function size:0x2E8 -fn_1_8ABC = .text:0x00008ABC; // type:function size:0x578 -fn_1_9034 = .text:0x00009034; // type:function size:0x164 -fn_1_9198 = .text:0x00009198; // type:function size:0x124 -fn_1_92BC = .text:0x000092BC; // type:function size:0x4AC -fn_1_9768 = .text:0x00009768; // type:function size:0xB4 -fn_1_981C = .text:0x0000981C; // type:function size:0x138 -fn_1_9954 = .text:0x00009954; // type:function size:0xBC -fn_1_9A10 = .text:0x00009A10; // type:function size:0x1C4 -fn_1_9BD4 = .text:0x00009BD4; // type:function size:0xE4 -fn_1_9CB8 = .text:0x00009CB8; // type:function size:0x214 -fn_1_9ECC = .text:0x00009ECC; // type:function size:0x110 -fn_1_9FDC = .text:0x00009FDC; // type:function size:0x2AC -fn_1_A288 = .text:0x0000A288; // type:function size:0x220 -fn_1_A4A8 = .text:0x0000A4A8; // type:function size:0xE4 -fn_1_A58C = .text:0x0000A58C; // type:function size:0x2BC -fn_1_A848 = .text:0x0000A848; // type:function size:0x2C8 -fn_1_AB10 = .text:0x0000AB10; // type:function size:0x2A0 -fn_1_ADB0 = .text:0x0000ADB0; // type:function size:0xAC -fn_1_AE5C = .text:0x0000AE5C; // type:function size:0x364 -fn_1_B1C0 = .text:0x0000B1C0; // type:function size:0x8C -fn_1_B24C = .text:0x0000B24C; // type:function size:0x130 -fn_1_B37C = .text:0x0000B37C; // type:function size:0x68 -fn_1_B3E4 = .text:0x0000B3E4; // type:function size:0x134 -fn_1_B518 = .text:0x0000B518; // type:function size:0x8C -fn_1_B5A4 = .text:0x0000B5A4; // type:function size:0x3E0 -fn_1_B984 = .text:0x0000B984; // type:function size:0x5C -fn_1_B9E0 = .text:0x0000B9E0; // type:function size:0xB0 -fn_1_BA90 = .text:0x0000BA90; // type:function size:0x360 -fn_1_BDF0 = .text:0x0000BDF0; // type:function size:0x158 -fn_1_BF48 = .text:0x0000BF48; // type:function size:0x328 -fn_1_C270 = .text:0x0000C270; // type:function size:0x250 -fn_1_C4C0 = .text:0x0000C4C0; // type:function size:0xB4 -fn_1_C574 = .text:0x0000C574; // type:function size:0x228 -fn_1_C79C = .text:0x0000C79C; // type:function size:0xBC -fn_1_C858 = .text:0x0000C858; // type:function size:0x2B4 -fn_1_CB0C = .text:0x0000CB0C; // type:function size:0x1C0 -fn_1_CCCC = .text:0x0000CCCC; // type:function size:0xAC -fn_1_CD78 = .text:0x0000CD78; // type:function size:0x2B8 -fn_1_D030 = .text:0x0000D030; // type:function size:0x1F4 -fn_1_D224 = .text:0x0000D224; // type:function size:0xAC -fn_1_D2D0 = .text:0x0000D2D0; // type:function size:0xC4 -fn_1_D394 = .text:0x0000D394; // type:function size:0xE4 -fn_1_D478 = .text:0x0000D478; // type:function size:0x2EC -fn_1_D764 = .text:0x0000D764; // type:function size:0x134 -fn_1_D898 = .text:0x0000D898; // type:function size:0x2C0 -fn_1_DB58 = .text:0x0000DB58; // type:function size:0xFC -fn_1_DC54 = .text:0x0000DC54; // type:function size:0x170 -fn_1_DDC4 = .text:0x0000DDC4; // type:function size:0x3F4 -fn_1_E1B8 = .text:0x0000E1B8; // type:function size:0x8C -fn_1_E244 = .text:0x0000E244; // type:function size:0xF0 -fn_1_E334 = .text:0x0000E334; // type:function size:0x23C -fn_1_E570 = .text:0x0000E570; // type:function size:0xC8 -fn_1_E638 = .text:0x0000E638; // type:function size:0x2B4 -fn_1_E8EC = .text:0x0000E8EC; // type:function size:0x140 -fn_1_EA2C = .text:0x0000EA2C; // type:function size:0x134 -fn_1_EB60 = .text:0x0000EB60; // type:function size:0x8C -fn_1_EBEC = .text:0x0000EBEC; // type:function size:0x3E0 -fn_1_EFCC = .text:0x0000EFCC; // type:function size:0x5C -fn_1_F028 = .text:0x0000F028; // type:function size:0x128 -fn_1_F150 = .text:0x0000F150; // type:function size:0xDC -fn_1_F22C = .text:0x0000F22C; // type:function size:0xD0 -fn_1_F2FC = .text:0x0000F2FC; // type:function size:0xD4 -fn_1_F3D0 = .text:0x0000F3D0; // type:function size:0x468 -fn_1_F838 = .text:0x0000F838; // type:function size:0x4 -fn_1_F83C = .text:0x0000F83C; // type:function size:0x78 -fn_1_F8B4 = .text:0x0000F8B4; // type:function size:0x548 -fn_1_FDFC = .text:0x0000FDFC; // type:function size:0xB4 -fn_1_FEB0 = .text:0x0000FEB0; // type:function size:0x228 -fn_1_100D8 = .text:0x000100D8; // type:function size:0xBC -fn_1_10194 = .text:0x00010194; // type:function size:0x2B4 -fn_1_10448 = .text:0x00010448; // type:function size:0x1BC -fn_1_10604 = .text:0x00010604; // type:function size:0xAC -fn_1_106B0 = .text:0x000106B0; // type:function size:0x29C -fn_1_1094C = .text:0x0001094C; // type:function size:0x2B4 -fn_1_10C00 = .text:0x00010C00; // type:function size:0x1F4 -fn_1_10DF4 = .text:0x00010DF4; // type:function size:0xAC -fn_1_10EA0 = .text:0x00010EA0; // type:function size:0xE4 -fn_1_10F84 = .text:0x00010F84; // type:function size:0xC4 -fn_1_11048 = .text:0x00011048; // type:function size:0xE4 -fn_1_1112C = .text:0x0001112C; // type:function size:0x2EC -fn_1_11418 = .text:0x00011418; // type:function size:0x134 -fn_1_1154C = .text:0x0001154C; // type:function size:0x2EC -fn_1_11838 = .text:0x00011838; // type:function size:0xFC -fn_1_11934 = .text:0x00011934; // type:function size:0x164 -fn_1_11A98 = .text:0x00011A98; // type:function size:0x118 -fn_1_11BB0 = .text:0x00011BB0; // type:function size:0x420 -fn_1_11FD0 = .text:0x00011FD0; // type:function size:0x8C -fn_1_1205C = .text:0x0001205C; // type:function size:0x130 -fn_1_1218C = .text:0x0001218C; // type:function size:0x23C -fn_1_123C8 = .text:0x000123C8; // type:function size:0x1A4 -fn_1_1256C = .text:0x0001256C; // type:function size:0x124 -fn_1_12690 = .text:0x00012690; // type:function size:0x8C -fn_1_1271C = .text:0x0001271C; // type:function size:0x3AC -fn_1_12AC8 = .text:0x00012AC8; // type:function size:0x48 -fn_1_12B10 = .text:0x00012B10; // type:function size:0x2C4 -fn_1_12DD4 = .text:0x00012DD4; // type:function size:0x37C -fn_1_13150 = .text:0x00013150; // type:function size:0x70 -fn_1_131C0 = .text:0x000131C0; // type:function size:0xA4 -fn_1_13264 = .text:0x00013264; // type:function size:0x5C4 -fn_1_13828 = .text:0x00013828; // type:function size:0xA4 -fn_1_138CC = .text:0x000138CC; // type:function size:0x14C -fn_1_13A18 = .text:0x00013A18; // type:function size:0x1A0 -fn_1_13BB8 = .text:0x00013BB8; // type:function size:0xB4 -fn_1_13C6C = .text:0x00013C6C; // type:function size:0x348 -fn_1_13FB4 = .text:0x00013FB4; // type:function size:0xEC -fn_1_140A0 = .text:0x000140A0; // type:function size:0xCC -fn_1_1416C = .text:0x0001416C; // type:function size:0x330 -fn_1_1449C = .text:0x0001449C; // type:function size:0x3CC -fn_1_14868 = .text:0x00014868; // type:function size:0x234 -fn_1_14A9C = .text:0x00014A9C; // type:function size:0xAC -fn_1_14B48 = .text:0x00014B48; // type:function size:0xF8 -fn_1_14C40 = .text:0x00014C40; // type:function size:0x32C -fn_1_14F6C = .text:0x00014F6C; // type:function size:0x1C8 -fn_1_15134 = .text:0x00015134; // type:function size:0xAC -fn_1_151E0 = .text:0x000151E0; // type:function size:0xE4 -fn_1_152C4 = .text:0x000152C4; // type:function size:0xE4 -fn_1_153A8 = .text:0x000153A8; // type:function size:0x2C0 -fn_1_15668 = .text:0x00015668; // type:function size:0xE4 -fn_1_1574C = .text:0x0001574C; // type:function size:0x1F8 -fn_1_15944 = .text:0x00015944; // type:function size:0xAC -fn_1_159F0 = .text:0x000159F0; // type:function size:0x2EC -fn_1_15CDC = .text:0x00015CDC; // type:function size:0x8C -fn_1_15D68 = .text:0x00015D68; // type:function size:0xF0 -fn_1_15E58 = .text:0x00015E58; // type:function size:0x118 -fn_1_15F70 = .text:0x00015F70; // type:function size:0xF0 -fn_1_16060 = .text:0x00016060; // type:function size:0x118 -fn_1_16178 = .text:0x00016178; // type:function size:0x8C -fn_1_16204 = .text:0x00016204; // type:function size:0x3AC -fn_1_165B0 = .text:0x000165B0; // type:function size:0x5C -fn_1_1661C = .text:0x0001660C; // type:function size:0x110 -fn_1_1670C = .text:0x0001671C; // type:function size:0x194 -fn_1_168B0 = .text:0x000168B0; // type:function size:0xD4 -fn_1_16984 = .text:0x00016984; // type:function size:0x50 -fn_1_169D4 = .text:0x000169D4; // type:function size:0x4 -fn_1_169D8 = .text:0x000169D8; // type:function size:0xF4 -fn_1_16ACC = .text:0x00016ACC; // type:function size:0x4F4 -fn_1_16FC0 = .text:0x00016FC0; // type:function size:0xB4 -fn_1_17074 = .text:0x00017074; // type:function size:0x208 -fn_1_1727C = .text:0x0001727C; // type:function size:0xBC -fn_1_17338 = .text:0x00017338; // type:function size:0x294 -fn_1_175CC = .text:0x000175CC; // type:function size:0x180 -fn_1_1774C = .text:0x0001774C; // type:function size:0xAC -fn_1_177F8 = .text:0x000177F8; // type:function size:0x278 -fn_1_17A70 = .text:0x00017A70; // type:function size:0x128 -fn_1_17B98 = .text:0x00017B98; // type:function size:0xAC -fn_1_17C44 = .text:0x00017C44; // type:function size:0x220 -fn_1_17E64 = .text:0x00017E64; // type:function size:0xE4 -fn_1_17F48 = .text:0x00017F48; // type:function size:0x190 -fn_1_180D8 = .text:0x000180D8; // type:function size:0xAC -fn_1_18184 = .text:0x00018184; // type:function size:0x284 -fn_1_18408 = .text:0x00018408; // type:function size:0x8C -fn_1_18494 = .text:0x00018494; // type:function size:0x23C -fn_1_186D0 = .text:0x000186D0; // type:function size:0x220 -fn_1_188F0 = .text:0x000188F0; // type:function size:0x144 -fn_1_18A34 = .text:0x00018A34; // type:function size:0x8C -fn_1_18AC0 = .text:0x00018AC0; // type:function size:0x3BC -fn_1_18E7C = .text:0x00018E7C; // type:function size:0x48 -fn_1_18EC4 = .text:0x00018EC4; // type:function size:0x274 -fn_1_19138 = .text:0x00019138; // type:function size:0x1FC -fn_1_19334 = .text:0x00019334; // type:function size:0x66C -fn_1_199A0 = .text:0x000199A0; // type:function size:0x248 -fn_1_19BE8 = .text:0x00019BE8; // type:function size:0x84 -fn_1_19C6C = .text:0x00019C6C; // type:function size:0x2A8 -fn_1_19F14 = .text:0x00019F14; // type:function size:0xB4 -fn_1_19FC8 = .text:0x00019FC8; // type:function size:0x198 -fn_1_1A160 = .text:0x0001A160; // type:function size:0x208 -fn_1_1A368 = .text:0x0001A368; // type:function size:0x1D0 -fn_1_1A538 = .text:0x0001A538; // type:function size:0x40 -fn_1_1A578 = .text:0x0001A578; // type:function size:0x254 -fn_1_1A7CC = .text:0x0001A7CC; // type:function size:0x204 -fn_1_1A9D0 = .text:0x0001A9D0; // type:function size:0xE4 -fn_1_1AAB4 = .text:0x0001AAB4; // type:function size:0x288 -fn_1_1AD3C = .text:0x0001AD3C; // type:function size:0xE4 -fn_1_1AE20 = .text:0x0001AE20; // type:function size:0x1B4 -fn_1_1AFD4 = .text:0x0001AFD4; // type:function size:0x110 -fn_1_1B0E4 = .text:0x0001B0E4; // type:function size:0x234 -fn_1_1B318 = .text:0x0001B318; // type:function size:0x8C -fn_1_1B3A4 = .text:0x0001B3A4; // type:function size:0x8C -fn_1_1B430 = .text:0x0001B430; // type:function size:0x130 -fn_1_1B560 = .text:0x0001B560; // type:function size:0xEC -fn_1_1B64C = .text:0x0001B64C; // type:function size:0x23C -fn_1_1B870 = .text:0x0001B888; // type:function size:0x9C -fn_1_1B90C = .text:0x0001B924; // type:function size:0x50 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 scope:local data:double -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 scope:local data:double -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 scope:local data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 scope:local data:float -lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 scope:local data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 data:4byte -lbl_1_data_70 = .data:0x00000070; // type:object size:0x29 scope:local data:string -lbl_1_data_99 = .data:0x00000099; // type:object size:0x26 scope:local data:string -lbl_1_data_BF = .data:0x000000BF; // type:object size:0x25 scope:local data:string -lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x29 scope:local data:string -lbl_1_data_10D = .data:0x0000010D; // type:object size:0x28 scope:local data:string -lbl_1_data_135 = .data:0x00000135; // type:object size:0xF scope:local -lbl_1_data_144 = .data:0x00000144; // type:object size:0x18 -lbl_1_data_15C = .data:0x0000015C; // type:object size:0x28 scope:local data:string -lbl_1_data_184 = .data:0x00000184; // type:object size:0x3 scope:local data:string -lbl_1_data_187 = .data:0x00000187; // type:object size:0x15 scope:local data:string -jumptable_1_data_19C = .data:0x0000019C; // type:object size:0x54 scope:local -jumptable_1_data_1F0 = .data:0x000001F0; // type:object size:0x54 scope:local -lbl_1_data_244 = .data:0x00000244; // type:object size:0x1A scope:local data:string -lbl_1_data_25E = .data:0x0000025E; // type:object size:0x1A scope:local data:string -lbl_1_data_278 = .data:0x00000278; // type:object size:0xE scope:local data:string -lbl_1_data_286 = .data:0x00000286; // type:object size:0x10 scope:local data:string -lbl_1_data_296 = .data:0x00000296; // type:object size:0x10 scope:local data:string -lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x10 scope:local data:string -lbl_1_data_2B6 = .data:0x000002B6; // type:object size:0x10 scope:local data:string -lbl_1_data_2C6 = .data:0x000002C6; // type:object size:0x10 scope:local data:string -lbl_1_data_2D6 = .data:0x000002D6; // type:object size:0x10 scope:local data:string -lbl_1_data_2E6 = .data:0x000002E6; // type:object size:0x10 scope:local data:string -lbl_1_data_2F6 = .data:0x000002F6; // type:object size:0x12 scope:local -lbl_1_data_308 = .data:0x00000308; // type:object size:0x20 -lbl_1_data_328 = .data:0x00000328; // type:object size:0x60 -lbl_1_data_388 = .data:0x00000388; // type:object size:0x11 scope:local data:string -lbl_1_data_399 = .data:0x00000399; // type:object size:0x2 scope:local data:string -lbl_1_data_3A0 = .data:0x000003A0; // type:object size:0x2C -lbl_1_data_3CC = .data:0x000003CC; // type:object size:0x10 -lbl_1_data_3DC = .data:0x000003DC; // type:object size:0x4 data:4byte -lbl_1_data_3E0 = .data:0x000003E0; // type:object size:0x8 data:4byte -lbl_1_data_3E8 = .data:0x000003E8; // type:object size:0x14 scope:local data:string -lbl_1_data_3FC = .data:0x000003FC; // type:object size:0x15 scope:local data:string -lbl_1_data_411 = .data:0x00000411; // type:object size:0x14 scope:local data:string -lbl_1_data_425 = .data:0x00000425; // type:object size:0x15 scope:local data:string -lbl_1_data_43A = .data:0x0000043A; // type:object size:0x14 scope:local data:string -lbl_1_data_44E = .data:0x0000044E; // type:object size:0x15 scope:local data:string -lbl_1_data_463 = .data:0x00000463; // type:object size:0x14 scope:local data:string -lbl_1_data_477 = .data:0x00000477; // type:object size:0x15 scope:local data:string -lbl_1_data_48C = .data:0x0000048C; // type:object size:0x14 scope:local data:string -lbl_1_data_4A0 = .data:0x000004A0; // type:object size:0x15 scope:local data:string -lbl_1_data_4B5 = .data:0x000004B5; // type:object size:0x14 scope:local data:string -lbl_1_data_4C9 = .data:0x000004C9; // type:object size:0xA scope:local data:string -lbl_1_data_4D3 = .data:0x000004D3; // type:object size:0x1C scope:local data:string -lbl_1_data_4EF = .data:0x000004EF; // type:object size:0x1D scope:local data:string -lbl_1_data_50C = .data:0x0000050C; // type:object size:0xF scope:local data:string -lbl_1_data_520 = .data:0x00000520; // type:object size:0x16 scope:local data:string -lbl_1_data_536 = .data:0x00000536; // type:object size:0x15 scope:local data:string -lbl_1_data_54B = .data:0x0000054B; // type:object size:0x16 scope:local data:string -lbl_1_data_561 = .data:0x00000561; // type:object size:0x15 scope:local data:string -lbl_1_data_576 = .data:0x00000576; // type:object size:0x16 scope:local data:string -lbl_1_data_58C = .data:0x0000058C; // type:object size:0x15 scope:local data:string -lbl_1_data_5A1 = .data:0x000005A1; // type:object size:0x16 scope:local data:string -lbl_1_data_5B7 = .data:0x000005B7; // type:object size:0x15 scope:local data:string -lbl_1_data_5CC = .data:0x000005CC; // type:object size:0x17 scope:local data:string -lbl_1_data_5E3 = .data:0x000005E3; // type:object size:0x16 scope:local data:string -lbl_1_data_5F9 = .data:0x000005F9; // type:object size:0xA scope:local data:string -lbl_1_data_603 = .data:0x00000603; // type:object size:0x1C scope:local data:string -lbl_1_data_61F = .data:0x0000061F; // type:object size:0x1D scope:local data:string -lbl_1_data_63C = .data:0x0000063C; // type:object size:0x10 scope:local data:string -lbl_1_data_64C = .data:0x0000064C; // type:object size:0x1C scope:local data:string -lbl_1_data_668 = .data:0x00000668; // type:object size:0x30 -lbl_1_data_698 = .data:0x00000698; // type:object size:0x1C -lbl_1_data_6B4 = .data:0x000006B4; // type:object size:0x20 -lbl_1_data_6D4 = .data:0x000006D4; // type:object size:0x16 scope:local data:string -lbl_1_data_6EA = .data:0x000006EA; // type:object size:0x15 scope:local data:string -lbl_1_data_6FF = .data:0x000006FF; // type:object size:0x16 scope:local data:string -lbl_1_data_715 = .data:0x00000715; // type:object size:0x15 scope:local data:string -lbl_1_data_72A = .data:0x0000072A; // type:object size:0x16 scope:local data:string -lbl_1_data_740 = .data:0x00000740; // type:object size:0x15 scope:local data:string -lbl_1_data_755 = .data:0x00000755; // type:object size:0x16 scope:local data:string -lbl_1_data_76B = .data:0x0000076B; // type:object size:0x15 scope:local data:string -lbl_1_data_780 = .data:0x00000780; // type:object size:0x17 scope:local data:string -lbl_1_data_797 = .data:0x00000797; // type:object size:0x16 scope:local data:string -lbl_1_data_7AD = .data:0x000007AD; // type:object size:0xA scope:local data:string -lbl_1_data_7B7 = .data:0x000007B7; // type:object size:0x1C scope:local data:string -lbl_1_data_7D3 = .data:0x000007D3; // type:object size:0x1D scope:local data:string -lbl_1_data_7F0 = .data:0x000007F0; // type:object size:0x10 scope:local data:string -lbl_1_data_800 = .data:0x00000800; // type:object size:0x1C scope:local -lbl_1_data_81C = .data:0x0000081C; // type:object size:0x30 -lbl_1_data_850 = .data:0x00000850; // type:object size:0x3C0 -lbl_1_data_C10 = .data:0x00000C10; // type:object size:0x10 -lbl_1_data_C20 = .data:0x00000C20; // type:object size:0x4 data:4byte -lbl_1_data_C24 = .data:0x00000C24; // type:object size:0x8 data:4byte -lbl_1_data_C2C = .data:0x00000C2C; // type:object size:0x14 scope:local data:string -lbl_1_data_C40 = .data:0x00000C40; // type:object size:0x15 scope:local data:string -lbl_1_data_C55 = .data:0x00000C55; // type:object size:0x14 scope:local data:string -lbl_1_data_C69 = .data:0x00000C69; // type:object size:0x15 scope:local data:string -lbl_1_data_C7E = .data:0x00000C7E; // type:object size:0x14 scope:local data:string -lbl_1_data_C92 = .data:0x00000C92; // type:object size:0x15 scope:local data:string -lbl_1_data_CA7 = .data:0x00000CA7; // type:object size:0x14 scope:local data:string -lbl_1_data_CBB = .data:0x00000CBB; // type:object size:0x15 scope:local data:string -lbl_1_data_CD0 = .data:0x00000CD0; // type:object size:0x14 scope:local data:string -lbl_1_data_CE4 = .data:0x00000CE4; // type:object size:0x15 scope:local data:string -lbl_1_data_CF9 = .data:0x00000CF9; // type:object size:0x14 scope:local data:string -lbl_1_data_D0D = .data:0x00000D0D; // type:object size:0xA scope:local data:string -lbl_1_data_D17 = .data:0x00000D17; // type:object size:0x1C scope:local data:string -lbl_1_data_D33 = .data:0x00000D33; // type:object size:0x1D scope:local data:string -lbl_1_data_D50 = .data:0x00000D50; // type:object size:0x1C scope:local data:string -lbl_1_data_D6C = .data:0x00000D6C; // type:object size:0x31 scope:local data:string -lbl_1_data_D9D = .data:0x00000D9D; // type:object size:0x10 scope:local data:string -lbl_1_data_DAD = .data:0x00000DAD; // type:object size:0x7 scope:local data:string -lbl_1_data_DB8 = .data:0x00000DB8; // type:object size:0x15 scope:local data:string -lbl_1_data_DCD = .data:0x00000DCD; // type:object size:0x14 scope:local data:string -lbl_1_data_DE1 = .data:0x00000DE1; // type:object size:0x15 scope:local data:string -lbl_1_data_DF6 = .data:0x00000DF6; // type:object size:0x14 scope:local data:string -lbl_1_data_E0A = .data:0x00000E0A; // type:object size:0x15 scope:local data:string -lbl_1_data_E1F = .data:0x00000E1F; // type:object size:0x14 scope:local data:string -lbl_1_data_E33 = .data:0x00000E33; // type:object size:0x15 scope:local data:string -lbl_1_data_E48 = .data:0x00000E48; // type:object size:0x14 scope:local data:string -lbl_1_data_E5C = .data:0x00000E5C; // type:object size:0x15 scope:local data:string -lbl_1_data_E71 = .data:0x00000E71; // type:object size:0x14 scope:local data:string -lbl_1_data_E85 = .data:0x00000E85; // type:object size:0xA scope:local data:string -lbl_1_data_E8F = .data:0x00000E8F; // type:object size:0x1C scope:local data:string -lbl_1_data_EAB = .data:0x00000EAB; // type:object size:0x1D scope:local data:string -lbl_1_data_EC8 = .data:0x00000EC8; // type:object size:0x10 scope:local data:string -lbl_1_data_ED8 = .data:0x00000ED8; // type:object size:0x1C scope:local data:string -lbl_1_data_EF8 = .data:0x00000EF8; // type:object size:0x10 -lbl_1_data_F08 = .data:0x00000F08; // type:object size:0x4 data:4byte -lbl_1_data_F0C = .data:0x00000F0C; // type:object size:0x8 data:4byte -lbl_1_data_F14 = .data:0x00000F14; // type:object size:0x4 data:4byte -lbl_1_data_F18 = .data:0x00000F18; // type:object size:0x14 scope:local data:string -lbl_1_data_F2C = .data:0x00000F2C; // type:object size:0x15 scope:local data:string -lbl_1_data_F41 = .data:0x00000F41; // type:object size:0x14 scope:local data:string -lbl_1_data_F55 = .data:0x00000F55; // type:object size:0x15 scope:local data:string -lbl_1_data_F6A = .data:0x00000F6A; // type:object size:0x14 scope:local data:string -lbl_1_data_F7E = .data:0x00000F7E; // type:object size:0x15 scope:local data:string -lbl_1_data_F93 = .data:0x00000F93; // type:object size:0x14 scope:local data:string -lbl_1_data_FA7 = .data:0x00000FA7; // type:object size:0x15 scope:local data:string -lbl_1_data_FBC = .data:0x00000FBC; // type:object size:0x14 scope:local data:string -lbl_1_data_FD0 = .data:0x00000FD0; // type:object size:0x15 scope:local data:string -lbl_1_data_FE5 = .data:0x00000FE5; // type:object size:0x14 scope:local data:string -lbl_1_data_FF9 = .data:0x00000FF9; // type:object size:0xA scope:local data:string -lbl_1_data_1003 = .data:0x00001003; // type:object size:0x1C scope:local data:string -lbl_1_data_101F = .data:0x0000101F; // type:object size:0x1D scope:local data:string -lbl_1_data_103C = .data:0x0000103C; // type:object size:0x15 scope:local data:string -lbl_1_data_1051 = .data:0x00001051; // type:object size:0x15 scope:local data:string -lbl_1_data_1066 = .data:0x00001066; // type:object size:0x15 scope:local data:string -lbl_1_data_107B = .data:0x0000107B; // type:object size:0x15 scope:local data:string -lbl_1_data_1090 = .data:0x00001090; // type:object size:0x15 scope:local data:string -lbl_1_data_10A5 = .data:0x000010A5; // type:object size:0x15 scope:local data:string -lbl_1_data_10BA = .data:0x000010BA; // type:object size:0x15 scope:local data:string -lbl_1_data_10CF = .data:0x000010CF; // type:object size:0x15 scope:local data:string -lbl_1_data_10E4 = .data:0x000010E4; // type:object size:0x20 -lbl_1_data_1104 = .data:0x00001104; // type:object size:0xF scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x20 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x44 data:float -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0xC data:float -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x10 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x40 data:4byte -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x4 data:4byte -lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x28 data:4byte -lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0x28 data:4byte -lbl_1_bss_11C = .bss:0x0000011C; // type:object size:0x28 data:4byte -lbl_1_bss_144 = .bss:0x00000144; // type:object size:0x28 data:4byte -lbl_1_bss_16C = .bss:0x0000016C; // type:object size:0x28 data:4byte -lbl_1_bss_194 = .bss:0x00000194; // type:object size:0x104 data:float -lbl_1_bss_298 = .bss:0x00000298; // type:object size:0x4 data:4byte -lbl_1_bss_29C = .bss:0x0000029C; // type:object size:0xA0 -lbl_1_bss_33C = .bss:0x0000033C; // type:object size:0x28 data:4byte -lbl_1_bss_364 = .bss:0x00000364; // type:object size:0x28 data:4byte -lbl_1_bss_38C = .bss:0x0000038C; // type:object size:0x28 data:4byte -lbl_1_bss_3B4 = .bss:0x000003B4; // type:object size:0x28 data:4byte -lbl_1_bss_3DC = .bss:0x000003DC; // type:object size:0x104 data:4byte -lbl_1_bss_4E0 = .bss:0x000004E0; // type:object size:0x4 data:4byte -lbl_1_bss_4E4 = .bss:0x000004E4; // type:object size:0x4 data:4byte -lbl_1_bss_4E8 = .bss:0x000004E8; // type:object size:0x60 data:4byte -lbl_1_bss_548 = .bss:0x00000548; // type:object size:0xA0 -lbl_1_bss_5E8 = .bss:0x000005E8; // type:object size:0x28 data:4byte -lbl_1_bss_610 = .bss:0x00000610; // type:object size:0x28 data:4byte -lbl_1_bss_638 = .bss:0x00000638; // type:object size:0x28 data:4byte -lbl_1_bss_660 = .bss:0x00000660; // type:object size:0x28 data:4byte -lbl_1_bss_688 = .bss:0x00000688; // type:object size:0x104 data:float -lbl_1_bss_790 = .bss:0x00000790; // type:object size:0x4 data:4byte -lbl_1_bss_794 = .bss:0x00000794; // type:object size:0x4 data:4byte -lbl_1_bss_798 = .bss:0x00000798; // type:object size:0x28 data:4byte -lbl_1_bss_7C0 = .bss:0x000007C0; // type:object size:0x28 data:4byte -lbl_1_bss_7E8 = .bss:0x000007E8; // type:object size:0x28 data:4byte -lbl_1_bss_810 = .bss:0x00000810; // type:object size:0x28 data:4byte -lbl_1_bss_838 = .bss:0x00000838; // type:object size:0x28 data:4byte -lbl_1_bss_860 = .bss:0x00000860; // type:object size:0x104 data:4byte -lbl_1_bss_968 = .bss:0x00000968; // type:object size:0x4 data:4byte -lbl_1_bss_96C = .bss:0x0000096C; // type:object size:0x28 data:4byte -lbl_1_bss_994 = .bss:0x00000994; // type:object size:0x28 data:4byte -lbl_1_bss_9BC = .bss:0x000009BC; // type:object size:0x28 data:4byte -lbl_1_bss_9E4 = .bss:0x000009E4; // type:object size:0x28 data:4byte -lbl_1_bss_A0C = .bss:0x00000A0C; // type:object size:0x28 data:4byte -lbl_1_bss_A34 = .bss:0x00000A34; // type:object size:0x104 data:4byte -lbl_1_bss_B38 = .bss:0x00000B38; // type:object size:0x4 data:4byte -lbl_1_bss_B3C = .bss:0x00000B3C; // type:object size:0x4 data:4byte -lbl_1_bss_B40 = .bss:0x00000B40; // type:object size:0x4 data:4byte -lbl_1_bss_B44 = .bss:0x00000B44; // type:object size:0x28 data:4byte -lbl_1_bss_B6C = .bss:0x00000B6C; // type:object size:0x28 data:4byte -lbl_1_bss_B94 = .bss:0x00000B94; // type:object size:0x28 data:4byte -lbl_1_bss_BBC = .bss:0x00000BBC; // type:object size:0x28 data:4byte -lbl_1_bss_BE4 = .bss:0x00000BE4; // type:object size:0x28 data:4byte -lbl_1_bss_C0C = .bss:0x00000C0C; // type:object size:0x104 data:float -lbl_1_bss_D10 = .bss:0x00000D10; // type:object size:0x4 data:4byte -lbl_1_bss_D14 = .bss:0x00000D14; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_01/rels/mstory3Dll/splits.txt b/config/GMPE01_01/rels/mstory3Dll/splits.txt deleted file mode 100644 index 5251d4d5..00000000 --- a/config/GMPE01_01/rels/mstory3Dll/splits.txt +++ /dev/null @@ -1,31 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/mstory3Dll/main.c: - .text start:0x00000000 end:0x00006E34 - .rodata start:0x00000000 end:0x00000110 - .data start:0x00000000 end:0x00000130 - .bss start:0x00000000 end:0x00000058 - -REL/mstory3Dll/result_seq.c: - .text start:0x00006E34 end:0x000157F0 - .rodata start:0x00000110 end:0x00000418 - .data start:0x00000130 end:0x000007E0 - .bss start:0x00000058 end:0x000018D0 - -REL/mstory3Dll/result.c: - .text start:0x000157F0 end:0x0001DEF0 - .rodata start:0x00000418 end:0x000005D0 - .data start:0x000007E0 end:0x00000A90 - .bss start:0x000018D0 end:0x00001CE8 - -REL/mstory3Dll/win_effect.c: - .text start:0x0001DEF0 end:0x0001F118 - .rodata start:0x000005D0 end:0x00000644 - .data start:0x00000A90 end:0x00000AAB - .bss start:0x00001CE8 end:0x00001D50 diff --git a/config/GMPE01_01/rels/mstory3Dll/symbols.txt b/config/GMPE01_01/rels/mstory3Dll/symbols.txt deleted file mode 100644 index 3113f967..00000000 --- a/config/GMPE01_01/rels/mstory3Dll/symbols.txt +++ /dev/null @@ -1,550 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x4C -fn_1_4C = .text:0x0000004C; // type:function size:0x58 -fn_1_A4 = .text:0x000000A4; // type:function size:0x2C8 -_prolog = .text:0x0000036C; // type:function size:0x54 scope:global -_epilog = .text:0x000003C0; // type:function size:0x4C scope:global -fn_1_40C = .text:0x0000040C; // type:function size:0xE4 -ObjectSetup = .text:0x000004F0; // type:function size:0xE4 -fn_1_5D4 = .text:0x000005D4; // type:function size:0x28 -fn_1_5FC = .text:0x000005FC; // type:function size:0x20 -fn_1_61C = .text:0x0000061C; // type:function size:0xD8 -fn_1_6F4 = .text:0x000006F4; // type:function size:0xC8 -fn_1_7BC = .text:0x000007BC; // type:function size:0xBC -fn_1_878 = .text:0x00000878; // type:function size:0xBC -fn_1_934 = .text:0x00000934; // type:function size:0x4 -fn_1_938 = .text:0x00000938; // type:function size:0x20 -fn_1_958 = .text:0x00000958; // type:function size:0x28 -fn_1_980 = .text:0x00000980; // type:function size:0x20 -fn_1_9A0 = .text:0x000009A0; // type:function size:0x24 -fn_1_9C4 = .text:0x000009C4; // type:function size:0x20 -fn_1_9E4 = .text:0x000009E4; // type:function size:0xA48 -fn_1_142C = .text:0x0000142C; // type:function size:0x1F8 -fn_1_1624 = .text:0x00001624; // type:function size:0x210 -fn_1_1834 = .text:0x00001834; // type:function size:0x1F0 -fn_1_1A24 = .text:0x00001A24; // type:function size:0x2C -fn_1_1A50 = .text:0x00001A50; // type:function size:0x60 -fn_1_1AB0 = .text:0x00001AB0; // type:function size:0x68 -fn_1_1B18 = .text:0x00001B18; // type:function size:0xAC -fn_1_1BC4 = .text:0x00001BC4; // type:function size:0xC4 -fn_1_1C88 = .text:0x00001C88; // type:function size:0xBC -fn_1_1D44 = .text:0x00001D44; // type:function size:0x34 -fn_1_1D78 = .text:0x00001D78; // type:function size:0x40 -fn_1_1DB8 = .text:0x00001DB8; // type:function size:0x70 -fn_1_1E28 = .text:0x00001E28; // type:function size:0x178 -fn_1_1FA0 = .text:0x00001FA0; // type:function size:0x2E0 -fn_1_2280 = .text:0x00002280; // type:function size:0x90 -fn_1_2310 = .text:0x00002310; // type:function size:0xC8 -fn_1_23D8 = .text:0x000023D8; // type:function size:0x48 -fn_1_2420 = .text:0x00002420; // type:function size:0x54 -fn_1_2474 = .text:0x00002474; // type:function size:0x3C0 -fn_1_2834 = .text:0x00002834; // type:function size:0x10 -fn_1_2844 = .text:0x00002844; // type:function size:0x10 -fn_1_2854 = .text:0x00002854; // type:function size:0xB8 -fn_1_290C = .text:0x0000290C; // type:function size:0x120 -fn_1_2A2C = .text:0x00002A2C; // type:function size:0x3A8 -fn_1_2DD4 = .text:0x00002DD4; // type:function size:0x7F4 -fn_1_35C8 = .text:0x000035C8; // type:function size:0x88 -fn_1_3650 = .text:0x00003650; // type:function size:0x94 -fn_1_36E4 = .text:0x000036E4; // type:function size:0x58 -fn_1_373C = .text:0x0000373C; // type:function size:0x8C -fn_1_37C8 = .text:0x000037C8; // type:function size:0xEC -fn_1_38B4 = .text:0x000038B4; // type:function size:0xC4 -fn_1_3978 = .text:0x00003978; // type:function size:0x3C -fn_1_39B4 = .text:0x000039B4; // type:function size:0x44 -fn_1_39F8 = .text:0x000039F8; // type:function size:0x26C -fn_1_3C64 = .text:0x00003C64; // type:function size:0x26C -fn_1_3ED0 = .text:0x00003ED0; // type:function size:0x27C -fn_1_414C = .text:0x0000414C; // type:function size:0x2B4 -fn_1_4400 = .text:0x00004400; // type:function size:0x46C -fn_1_486C = .text:0x0000486C; // type:function size:0x454 -fn_1_4CC0 = .text:0x00004CC0; // type:function size:0x48C -fn_1_514C = .text:0x0000514C; // type:function size:0x658 -fn_1_57A4 = .text:0x000057A4; // type:function size:0x4C4 -fn_1_5C68 = .text:0x00005C68; // type:function size:0x4FC -fn_1_6164 = .text:0x00006164; // type:function size:0x6C8 -fn_1_682C = .text:0x0000682C; // type:function size:0xC4 -fn_1_68F0 = .text:0x000068F0; // type:function size:0x188 -fn_1_6A78 = .text:0x00006A78; // type:function size:0x34 -fn_1_6AAC = .text:0x00006AAC; // type:function size:0x40 -fn_1_6AEC = .text:0x00006AEC; // type:function size:0xAC -fn_1_6B98 = .text:0x00006B98; // type:function size:0x1E8 -fn_1_6D80 = .text:0x00006D80; // type:function size:0xB4 -fn_1_6E34 = .text:0x00006E34; // type:function size:0x1D0 -fn_1_7004 = .text:0x00007004; // type:function size:0x394 -fn_1_7398 = .text:0x00007398; // type:function size:0x640 -fn_1_79D8 = .text:0x000079D8; // type:function size:0x4B0 -fn_1_7E88 = .text:0x00007E88; // type:function size:0x2C4 -fn_1_814C = .text:0x0000814C; // type:function size:0x118 -fn_1_8264 = .text:0x00008264; // type:function size:0x7C -fn_1_82E0 = .text:0x000082E0; // type:function size:0x8C -fn_1_836C = .text:0x0000836C; // type:function size:0xF0 -fn_1_845C = .text:0x0000845C; // type:function size:0x2FC -fn_1_8758 = .text:0x00008758; // type:function size:0x100 -fn_1_8858 = .text:0x00008858; // type:function size:0xF0 -fn_1_8948 = .text:0x00008948; // type:function size:0xF0 -fn_1_8A38 = .text:0x00008A38; // type:function size:0xF0 -fn_1_8B28 = .text:0x00008B28; // type:function size:0xF0 -fn_1_8C18 = .text:0x00008C18; // type:function size:0x7C -fn_1_8C94 = .text:0x00008C94; // type:function size:0x4AC -fn_1_9140 = .text:0x00009140; // type:function size:0x88 -fn_1_91C8 = .text:0x000091C8; // type:function size:0x58 -fn_1_9220 = .text:0x00009220; // type:function size:0x1B0 -fn_1_93D0 = .text:0x000093D0; // type:function size:0xB8 -fn_1_9488 = .text:0x00009488; // type:function size:0x228 -fn_1_96B0 = .text:0x000096B0; // type:function size:0xB8 -fn_1_9768 = .text:0x00009768; // type:function size:0x228 -fn_1_9990 = .text:0x00009990; // type:function size:0x78 -fn_1_9A08 = .text:0x00009A08; // type:function size:0x5C -fn_1_9A64 = .text:0x00009A64; // type:function size:0x8B0 -fn_1_A314 = .text:0x0000A314; // type:function size:0x1DC -fn_1_A4F0 = .text:0x0000A4F0; // type:function size:0x6BC -fn_1_ABAC = .text:0x0000ABAC; // type:function size:0xAC4 -fn_1_B670 = .text:0x0000B670; // type:function size:0x118 -fn_1_B788 = .text:0x0000B788; // type:function size:0x6D4 -fn_1_BE5C = .text:0x0000BE5C; // type:function size:0x104 -fn_1_BF60 = .text:0x0000BF60; // type:function size:0x100 -fn_1_C060 = .text:0x0000C060; // type:function size:0xE0C -fn_1_CE6C = .text:0x0000CE6C; // type:function size:0x620 -fn_1_D48C = .text:0x0000D48C; // type:function size:0xAC -fn_1_D538 = .text:0x0000D538; // type:function size:0x1E0 -fn_1_D718 = .text:0x0000D718; // type:function size:0xC0 -fn_1_D7D8 = .text:0x0000D7D8; // type:function size:0x390 -fn_1_DB68 = .text:0x0000DB68; // type:function size:0x5F8 -fn_1_E160 = .text:0x0000E160; // type:function size:0x1BD0 -fn_1_FD30 = .text:0x0000FD30; // type:function size:0x150 -fn_1_FE80 = .text:0x0000FE80; // type:function size:0xFC -fn_1_FF7C = .text:0x0000FF7C; // type:function size:0x3F0 -fn_1_1036C = .text:0x0001036C; // type:function size:0xA08 -fn_1_10D74 = .text:0x00010D74; // type:function size:0xA20 -fn_1_11794 = .text:0x00011794; // type:function size:0xA0 -fn_1_11834 = .text:0x00011834; // type:function size:0xBA4 -fn_1_123D8 = .text:0x000123D8; // type:function size:0x44 -fn_1_1241C = .text:0x0001241C; // type:function size:0x4 -fn_1_12420 = .text:0x00012420; // type:function size:0x678 -fn_1_12A98 = .text:0x00012A98; // type:function size:0x170 -fn_1_12C08 = .text:0x00012C08; // type:function size:0x1A4 -fn_1_12DAC = .text:0x00012DAC; // type:function size:0x2FC -fn_1_130A8 = .text:0x000130A8; // type:function size:0xD4 -fn_1_1317C = .text:0x0001317C; // type:function size:0x130 -fn_1_132AC = .text:0x000132AC; // type:function size:0x65C -fn_1_13908 = .text:0x00013908; // type:function size:0x130 -fn_1_13A38 = .text:0x00013A38; // type:function size:0x4 -fn_1_13A3C = .text:0x00013A3C; // type:function size:0x23C -fn_1_13C78 = .text:0x00013C78; // type:function size:0xC0 -fn_1_13D38 = .text:0x00013D38; // type:function size:0x60 -fn_1_13D98 = .text:0x00013D98; // type:function size:0x308 -fn_1_140A0 = .text:0x000140A0; // type:function size:0x38C -fn_1_1442C = .text:0x0001442C; // type:function size:0x140 -fn_1_1456C = .text:0x0001456C; // type:function size:0x118 -fn_1_14684 = .text:0x00014684; // type:function size:0x7C -fn_1_14700 = .text:0x00014700; // type:function size:0x48 -fn_1_14748 = .text:0x00014748; // type:function size:0x724 -fn_1_14E6C = .text:0x00014E6C; // type:function size:0x114 -fn_1_14F80 = .text:0x00014F80; // type:function size:0x54 -fn_1_14FD4 = .text:0x00014FD4; // type:function size:0x31C -fn_1_152F0 = .text:0x000152F0; // type:function size:0x160 -fn_1_15450 = .text:0x00015450; // type:function size:0x3A0 -fn_1_157F0 = .text:0x000157F0; // type:function size:0x1B4 -fn_1_159A4 = .text:0x000159A4; // type:function size:0x268 -fn_1_15C0C = .text:0x00015C0C; // type:function size:0xFC -fn_1_15D08 = .text:0x00015D08; // type:function size:0xC0 -fn_1_15DC8 = .text:0x00015DC8; // type:function size:0x3F0 -fn_1_161B8 = .text:0x000161B8; // type:function size:0x3BC -fn_1_16574 = .text:0x00016574; // type:function size:0x54 -fn_1_165C8 = .text:0x000165C8; // type:function size:0x35C -fn_1_16924 = .text:0x00016924; // type:function size:0x1B0 -fn_1_16AD4 = .text:0x00016AD4; // type:function size:0x400 -fn_1_16ED4 = .text:0x00016ED4; // type:function size:0x258 -fn_1_1712C = .text:0x0001712C; // type:function size:0x160 -fn_1_1728C = .text:0x0001728C; // type:function size:0x210 -fn_1_17484 = .text:0x0001749C; // type:function size:0xEC -fn_1_17570 = .text:0x00017588; // type:function size:0x850 -fn_1_17DC0 = .text:0x00017DD8; // type:function size:0x2C0 -fn_1_18080 = .text:0x00018098; // type:function size:0x9C -fn_1_1811C = .text:0x00018134; // type:function size:0x218 -fn_1_18334 = .text:0x0001834C; // type:function size:0x1B4 -fn_1_184E8 = .text:0x00018500; // type:function size:0x70 -fn_1_18558 = .text:0x00018570; // type:function size:0x110 -fn_1_18668 = .text:0x00018680; // type:function size:0x694 -fn_1_18CFC = .text:0x00018D14; // type:function size:0x29C -fn_1_18F98 = .text:0x00018FB0; // type:function size:0x1AC -fn_1_19144 = .text:0x0001915C; // type:function size:0xD0 -fn_1_19214 = .text:0x0001922C; // type:function size:0x28C -fn_1_194A0 = .text:0x000194B8; // type:function size:0xF0 -fn_1_19590 = .text:0x000195A8; // type:function size:0x224 -fn_1_197B4 = .text:0x000197CC; // type:function size:0x854 -fn_1_1A008 = .text:0x0001A020; // type:function size:0x1EF4 -fn_1_1BEFC = .text:0x0001BF14; // type:function size:0x3F8 -fn_1_1C2F4 = .text:0x0001C30C; // type:function size:0x16C -fn_1_1C460 = .text:0x0001C478; // type:function size:0xD4 -fn_1_1C534 = .text:0x0001C54C; // type:function size:0x3E0 -fn_1_1C914 = .text:0x0001C92C; // type:function size:0x184 -fn_1_1CA98 = .text:0x0001CAB0; // type:function size:0xE4 -fn_1_1CB7C = .text:0x0001CB94; // type:function size:0xE0 -fn_1_1CC5C = .text:0x0001CC74; // type:function size:0x104 -fn_1_1CD60 = .text:0x0001CD78; // type:function size:0x90 -fn_1_1CDF0 = .text:0x0001CE08; // type:function size:0x334 -fn_1_1D124 = .text:0x0001D13C; // type:function size:0x518 -fn_1_1D63C = .text:0x0001D654; // type:function size:0x140 -fn_1_1D77C = .text:0x0001D794; // type:function size:0x150 -fn_1_1D8CC = .text:0x0001D8E4; // type:function size:0x98 -fn_1_1D964 = .text:0x0001D97C; // type:function size:0x100 -fn_1_1DA64 = .text:0x0001DA7C; // type:function size:0x48 -fn_1_1DAAC = .text:0x0001DAC4; // type:function size:0x3A0 -fn_1_1DE4C = .text:0x0001DE64; // type:function size:0x8C -fn_1_1DED8 = .text:0x0001DEF0; // type:function size:0x21C -fn_1_1E0F4 = .text:0x0001E10C; // type:function size:0x14 -fn_1_1E108 = .text:0x0001E120; // type:function size:0x10 -fn_1_1E118 = .text:0x0001E130; // type:function size:0x14 -fn_1_1E12C = .text:0x0001E144; // type:function size:0x10 -fn_1_1E13C = .text:0x0001E154; // type:function size:0x41C -fn_1_1E558 = .text:0x0001E570; // type:function size:0x2C8 -fn_1_1E820 = .text:0x0001E838; // type:function size:0x8E0 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x78 scope:local -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x28 scope:local data:4byte -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 scope:local data:double -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 scope:local data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 scope:local data:float -lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 scope:local data:float -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 scope:local data:float -lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 scope:local data:float -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 scope:local data:float -lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x4 scope:local data:float -lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x4 scope:local data:float -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x3C scope:local data:4byte -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C4 = .rodata:0x000005C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 scope:local data:double -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x8 scope:local data:double -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 scope:local data:double -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 scope:local data:float -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x8 scope:local data:double -lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x8 scope:local data:double -lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 scope:local data:float -lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 scope:local data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x8 scope:local data:double -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 -lbl_1_data_70 = .data:0x00000070; // type:object size:0x25 scope:local data:string -lbl_1_data_95 = .data:0x00000095; // type:object size:0xD scope:local data:string -lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x8 -lbl_1_data_AC = .data:0x000000AC; // type:object size:0x28 scope:local data:string -lbl_1_data_D4 = .data:0x000000D4; // type:object size:0x10 scope:local data:string -lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x3 scope:local data:string -lbl_1_data_E7 = .data:0x000000E7; // type:object size:0x1A scope:local data:string -lbl_1_data_101 = .data:0x00000101; // type:object size:0x1A scope:local data:string -lbl_1_data_11B = .data:0x0000011B; // type:object size:0xE scope:local data:string -lbl_1_data_130 = .data:0x00000130; // type:object size:0x30 data:float -lbl_1_data_160 = .data:0x00000160; // type:object size:0x50 -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x50 -lbl_1_data_200 = .data:0x00000200; // type:object size:0x50 -lbl_1_data_250 = .data:0x00000250; // type:object size:0x16 scope:local data:string -lbl_1_data_266 = .data:0x00000266; // type:object size:0x15 scope:local data:string -lbl_1_data_27B = .data:0x0000027B; // type:object size:0x16 scope:local data:string -lbl_1_data_291 = .data:0x00000291; // type:object size:0x15 scope:local data:string -lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x16 scope:local data:string -lbl_1_data_2BC = .data:0x000002BC; // type:object size:0x15 scope:local data:string -lbl_1_data_2D1 = .data:0x000002D1; // type:object size:0x17 scope:local data:string -lbl_1_data_2E8 = .data:0x000002E8; // type:object size:0x16 scope:local data:string -lbl_1_data_2FE = .data:0x000002FE; // type:object size:0xF scope:local data:string -lbl_1_data_30D = .data:0x0000030D; // type:object size:0x1C scope:local data:string -lbl_1_data_329 = .data:0x00000329; // type:object size:0x1D scope:local data:string -lbl_1_data_346 = .data:0x00000346; // type:object size:0x1C scope:local data:string -lbl_1_data_364 = .data:0x00000364; // type:object size:0x8 data:4byte -lbl_1_data_36C = .data:0x0000036C; // type:object size:0xC -lbl_1_data_378 = .data:0x00000378; // type:object size:0xF scope:local data:string -lbl_1_data_387 = .data:0x00000387; // type:object size:0x10 scope:local data:string -jumptable_1_data_398 = .data:0x00000398; // type:object size:0x30 scope:local -lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0x46 scope:local data:string -lbl_1_data_40E = .data:0x0000040E; // type:object size:0x30 scope:local data:string -lbl_1_data_43E = .data:0x0000043E; // type:object size:0x14 scope:local data:string -lbl_1_data_452 = .data:0x00000452; // type:object size:0x14 scope:local data:string -lbl_1_data_466 = .data:0x00000466; // type:object size:0x14 scope:local data:string -lbl_1_data_47A = .data:0x0000047A; // type:object size:0x14 scope:local data:string -lbl_1_data_48E = .data:0x0000048E; // type:object size:0x14 scope:local data:string -lbl_1_data_4A2 = .data:0x000004A2; // type:object size:0x10 scope:local data:string -lbl_1_data_4B2 = .data:0x000004B2; // type:object size:0x10 scope:local data:string -lbl_1_data_4C2 = .data:0x000004C2; // type:object size:0x10 scope:local data:string -lbl_1_data_4D2 = .data:0x000004D2; // type:object size:0x10 scope:local data:string -lbl_1_data_4E2 = .data:0x000004E2; // type:object size:0x10 scope:local data:string -lbl_1_data_4F2 = .data:0x000004F2; // type:object size:0x12 scope:local -lbl_1_data_504 = .data:0x00000504; // type:object size:0x288 -lbl_1_data_78C = .data:0x0000078C; // type:object size:0x5 -lbl_1_data_7E0 = .data:0x000007E0; // type:object size:0x16 scope:local data:string -lbl_1_data_7F6 = .data:0x000007F6; // type:object size:0x15 scope:local data:string -lbl_1_data_80B = .data:0x0000080B; // type:object size:0x16 scope:local data:string -lbl_1_data_821 = .data:0x00000821; // type:object size:0x15 scope:local data:string -lbl_1_data_836 = .data:0x00000836; // type:object size:0x16 scope:local data:string -lbl_1_data_84C = .data:0x0000084C; // type:object size:0x15 scope:local data:string -lbl_1_data_861 = .data:0x00000861; // type:object size:0x17 scope:local data:string -lbl_1_data_878 = .data:0x00000878; // type:object size:0x16 scope:local data:string -lbl_1_data_88E = .data:0x0000088E; // type:object size:0xF scope:local data:string -lbl_1_data_89D = .data:0x0000089D; // type:object size:0x1C scope:local data:string -lbl_1_data_8B9 = .data:0x000008B9; // type:object size:0x1D scope:local data:string -lbl_1_data_8D6 = .data:0x000008D6; // type:object size:0x49 scope:local data:string -lbl_1_data_91F = .data:0x0000091F; // type:object size:0x48 scope:local data:string -lbl_1_data_967 = .data:0x00000967; // type:object size:0x48 scope:local data:string -lbl_1_data_9AF = .data:0x000009AF; // type:object size:0x52 scope:local data:string -lbl_1_data_A01 = .data:0x00000A01; // type:object size:0x30 scope:local data:string -lbl_1_data_A31 = .data:0x00000A31; // type:object size:0x2A scope:local data:string -lbl_1_data_A5B = .data:0x00000A5B; // type:object size:0x1A scope:local data:string -lbl_1_data_A75 = .data:0x00000A75; // type:object size:0x1B scope:local -lbl_1_data_A90 = .data:0x00000A90; // type:object size:0x13 scope:local data:string -lbl_1_data_AA3 = .data:0x00000AA3; // type:object size:0x8 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x44 data:float -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x10 data:float -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x10 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x40 data:4byte -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x4 data:float -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x4 data:float -lbl_1_bss_B4 = .bss:0x000000B4; // type:object size:0x4 data:4byte -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x4 data:float -lbl_1_bss_C0 = .bss:0x000000C0; // type:object size:0x4 data:float -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x4 data:float -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x1340 -lbl_1_bss_1408 = .bss:0x00001408; // type:object size:0x18 -lbl_1_bss_1420 = .bss:0x00001420; // type:object size:0x4 data:4byte -lbl_1_bss_1424 = .bss:0x00001424; // type:object size:0x4 data:float -lbl_1_bss_1428 = .bss:0x00001428; // type:object size:0x10 data:4byte -lbl_1_bss_1438 = .bss:0x00001438; // type:object size:0x10 -lbl_1_bss_1448 = .bss:0x00001448; // type:object size:0x10 data:4byte -lbl_1_bss_1458 = .bss:0x00001458; // type:object size:0x10 data:4byte -lbl_1_bss_1468 = .bss:0x00001468; // type:object size:0x28 data:4byte -lbl_1_bss_1490 = .bss:0x00001490; // type:object size:0xA0 data:4byte -lbl_1_bss_1530 = .bss:0x00001530; // type:object size:0x28 data:4byte -lbl_1_bss_1558 = .bss:0x00001558; // type:object size:0x28 data:4byte -lbl_1_bss_1580 = .bss:0x00001580; // type:object size:0x350 data:4byte -lbl_1_bss_18D0 = .bss:0x000018D0; // type:object size:0x4 data:4byte -lbl_1_bss_18D4 = .bss:0x000018D4; // type:object size:0x4 data:4byte -lbl_1_bss_18D8 = .bss:0x000018D8; // type:object size:0xC data:4byte -lbl_1_bss_18E4 = .bss:0x000018E4; // type:object size:0x8 data:4byte -lbl_1_bss_18EC = .bss:0x000018EC; // type:object size:0x8 data:4byte -lbl_1_bss_18F4 = .bss:0x000018F4; // type:object size:0xA0 -lbl_1_bss_1994 = .bss:0x00001994; // type:object size:0x28 data:4byte -lbl_1_bss_19BC = .bss:0x000019BC; // type:object size:0x28 data:4byte -lbl_1_bss_19E4 = .bss:0x000019E4; // type:object size:0x28 data:4byte -lbl_1_bss_1A0C = .bss:0x00001A0C; // type:object size:0x2DC data:float -lbl_1_bss_1CE8 = .bss:0x00001CE8; // type:object size:0x2 data:2byte -lbl_1_bss_1CEC = .bss:0x00001CEC; // type:object size:0x4 data:4byte -lbl_1_bss_1CF0 = .bss:0x00001CF0; // type:object size:0x4 data:4byte -lbl_1_bss_1CF4 = .bss:0x00001CF4; // type:object size:0x4 data:4byte -lbl_1_bss_1CF8 = .bss:0x00001CF8; // type:object size:0x58 data:2byte diff --git a/config/GMPE01_01/rels/mstoryDll/splits.txt b/config/GMPE01_01/rels/mstoryDll/splits.txt deleted file mode 100644 index 7378f74e..00000000 --- a/config/GMPE01_01/rels/mstoryDll/splits.txt +++ /dev/null @@ -1,43 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/mstoryDll/main.c: - .text start:0x00000000 end:0x00007090 - .rodata start:0x00000000 end:0x00000108 - .data start:0x00000000 end:0x00000190 - .bss start:0x00000000 end:0x000000A8 - -REL/mstoryDll/board_clear.c: - .text start:0x00007090 end:0x0000A830 - .rodata start:0x00000108 end:0x00000268 - .data start:0x00000190 end:0x00000388 - .bss start:0x000000A8 end:0x000002C8 - -REL/mstoryDll/board_miss.c: - .text start:0x0000A830 end:0x0000E710 - .rodata start:0x00000268 end:0x000003B8 - .data start:0x00000388 end:0x00000570 - .bss start:0x000002C8 end:0x00000558 - -REL/mstoryDll/mg_clear.c: - .text start:0x0000E710 end:0x00011624 - .rodata start:0x000003B8 end:0x000004E0 - .data start:0x00000570 end:0x00000AF8 - .bss start:0x00000558 end:0x00000710 - -REL/mstoryDll/mg_miss.c: - .text start:0x00011624 end:0x00013B48 - .rodata start:0x000004E0 end:0x000005A8 - .data start:0x00000AF8 end:0x00000C50 - .bss start:0x00000710 end:0x000008B8 - -REL/mstoryDll/save.c: - .text start:0x00013B48 end:0x000141B8 - .rodata start:0x000005A8 end:0x000005B8 - .data start:0x00000C50 end:0x00000C98 - .bss start:0x000008B8 end:0x000008C0 diff --git a/config/GMPE01_01/rels/mstoryDll/symbols.txt b/config/GMPE01_01/rels/mstoryDll/symbols.txt deleted file mode 100644 index 225344ab..00000000 --- a/config/GMPE01_01/rels/mstoryDll/symbols.txt +++ /dev/null @@ -1,500 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x4C -fn_1_4C = .text:0x0000004C; // type:function size:0x58 -fn_1_A4 = .text:0x000000A4; // type:function size:0x344 -_prolog = .text:0x000003E8; // type:function size:0x54 scope:global -_epilog = .text:0x0000043C; // type:function size:0x4C scope:global -fn_1_488 = .text:0x00000488; // type:function size:0x1D0 -ObjectSetup = .text:0x00000658; // type:function size:0x1D0 -fn_1_828 = .text:0x00000828; // type:function size:0x28 -fn_1_850 = .text:0x00000850; // type:function size:0x20 -fn_1_870 = .text:0x00000870; // type:function size:0xD8 -fn_1_948 = .text:0x00000948; // type:function size:0xC8 -fn_1_A10 = .text:0x00000A10; // type:function size:0xBC -fn_1_ACC = .text:0x00000ACC; // type:function size:0xBC -fn_1_B88 = .text:0x00000B88; // type:function size:0x4 -fn_1_B8C = .text:0x00000B8C; // type:function size:0x20 -fn_1_BAC = .text:0x00000BAC; // type:function size:0x28 -fn_1_BD4 = .text:0x00000BD4; // type:function size:0x20 -fn_1_BF4 = .text:0x00000BF4; // type:function size:0x24 -fn_1_C18 = .text:0x00000C18; // type:function size:0x20 -fn_1_C38 = .text:0x00000C38; // type:function size:0xA48 -fn_1_1680 = .text:0x00001680; // type:function size:0x1B4 -fn_1_1834 = .text:0x00001834; // type:function size:0x1D0 -fn_1_1A04 = .text:0x00001A04; // type:function size:0x60 -fn_1_1A64 = .text:0x00001A64; // type:function size:0x68 -fn_1_1ACC = .text:0x00001ACC; // type:function size:0xAC -fn_1_1B78 = .text:0x00001B78; // type:function size:0xBC -fn_1_1C34 = .text:0x00001C34; // type:function size:0xB4 -fn_1_1CE8 = .text:0x00001CE8; // type:function size:0x34 -fn_1_1D1C = .text:0x00001D1C; // type:function size:0x40 -fn_1_1D5C = .text:0x00001D5C; // type:function size:0x70 -fn_1_1DCC = .text:0x00001DCC; // type:function size:0x178 -fn_1_1F44 = .text:0x00001F44; // type:function size:0x2E0 -fn_1_2224 = .text:0x00002224; // type:function size:0x90 -fn_1_22B4 = .text:0x000022B4; // type:function size:0x48 -fn_1_22FC = .text:0x000022FC; // type:function size:0x54 -fn_1_2350 = .text:0x00002350; // type:function size:0x3C0 -fn_1_2710 = .text:0x00002710; // type:function size:0x10 -fn_1_2720 = .text:0x00002720; // type:function size:0x10 -fn_1_2730 = .text:0x00002730; // type:function size:0xB8 -fn_1_27E8 = .text:0x000027E8; // type:function size:0x120 -fn_1_2908 = .text:0x00002908; // type:function size:0x3A8 -fn_1_2CB0 = .text:0x00002CB0; // type:function size:0x7F4 -fn_1_34A4 = .text:0x000034A4; // type:function size:0x88 -fn_1_352C = .text:0x0000352C; // type:function size:0x94 -fn_1_35C0 = .text:0x000035C0; // type:function size:0x58 -fn_1_3618 = .text:0x00003618; // type:function size:0xEC -fn_1_3704 = .text:0x00003704; // type:function size:0xC4 -fn_1_37C8 = .text:0x000037C8; // type:function size:0x3C -fn_1_3804 = .text:0x00003804; // type:function size:0x44 -fn_1_3848 = .text:0x00003848; // type:function size:0x274 -fn_1_3ABC = .text:0x00003ABC; // type:function size:0x26C -fn_1_3D28 = .text:0x00003D28; // type:function size:0x22C -fn_1_3F54 = .text:0x00003F54; // type:function size:0x27C -fn_1_41D0 = .text:0x000041D0; // type:function size:0x2B4 -fn_1_4484 = .text:0x00004484; // type:function size:0x46C -fn_1_48F0 = .text:0x000048F0; // type:function size:0x454 -fn_1_4D44 = .text:0x00004D44; // type:function size:0x48C -fn_1_51D0 = .text:0x000051D0; // type:function size:0x658 -fn_1_5828 = .text:0x00005828; // type:function size:0x4C4 -fn_1_5CEC = .text:0x00005CEC; // type:function size:0x4FC -fn_1_61E8 = .text:0x000061E8; // type:function size:0x6C8 -fn_1_68B0 = .text:0x000068B0; // type:function size:0xC4 -fn_1_6974 = .text:0x00006974; // type:function size:0x188 -fn_1_6AFC = .text:0x00006AFC; // type:function size:0x34 -fn_1_6B30 = .text:0x00006B30; // type:function size:0x40 -fn_1_6B70 = .text:0x00006B70; // type:function size:0xAC -fn_1_6C1C = .text:0x00006C1C; // type:function size:0x1E8 -fn_1_6E04 = .text:0x00006E04; // type:function size:0xB4 -fn_1_6EB8 = .text:0x00006EB8; // type:function size:0x170 -fn_1_7028 = .text:0x00007028; // type:function size:0x68 -fn_1_7090 = .text:0x00007090; // type:function size:0xA4 -fn_1_7134 = .text:0x00007134; // type:function size:0x1E8 -fn_1_731C = .text:0x0000731C; // type:function size:0x69C -fn_1_79B8 = .text:0x000079B8; // type:function size:0x128 -fn_1_7AE0 = .text:0x00007AE0; // type:function size:0x390 -fn_1_7E70 = .text:0x00007E70; // type:function size:0x5C -fn_1_7ECC = .text:0x00007ECC; // type:function size:0x1C4 -fn_1_8090 = .text:0x00008090; // type:function size:0x320 -fn_1_83B0 = .text:0x000083B0; // type:function size:0x58 -fn_1_8408 = .text:0x00008408; // type:function size:0x3D4 -fn_1_87DC = .text:0x000087DC; // type:function size:0x268 -fn_1_8A44 = .text:0x00008A44; // type:function size:0x9C -fn_1_8AE0 = .text:0x00008AE0; // type:function size:0x2E0 -fn_1_8DC0 = .text:0x00008DC0; // type:function size:0xAC -fn_1_8E6C = .text:0x00008E6C; // type:function size:0xFC -fn_1_8F68 = .text:0x00008F68; // type:function size:0x36C -fn_1_92D4 = .text:0x000092D4; // type:function size:0x134 -fn_1_9408 = .text:0x00009408; // type:function size:0x310 -fn_1_9718 = .text:0x00009718; // type:function size:0x18C -fn_1_98A4 = .text:0x000098A4; // type:function size:0x88 -fn_1_992C = .text:0x0000992C; // type:function size:0x3DC -fn_1_9D08 = .text:0x00009D08; // type:function size:0x300 -fn_1_A008 = .text:0x0000A008; // type:function size:0xE4 -fn_1_A0EC = .text:0x0000A0EC; // type:function size:0x38C -fn_1_A478 = .text:0x0000A478; // type:function size:0x8C -fn_1_A504 = .text:0x0000A504; // type:function size:0xF0 -fn_1_A5F4 = .text:0x0000A5F4; // type:function size:0x23C -fn_1_A830 = .text:0x0000A830; // type:function size:0xC8 -fn_1_A8F8 = .text:0x0000A8F8; // type:function size:0x2B4 -fn_1_ABAC = .text:0x0000ABAC; // type:function size:0x150 -fn_1_ACFC = .text:0x0000ACFC; // type:function size:0x134 -fn_1_AE30 = .text:0x0000AE30; // type:function size:0x8C -fn_1_AEBC = .text:0x0000AEBC; // type:function size:0x374 -fn_1_B230 = .text:0x0000B230; // type:function size:0x5C -fn_1_B28C = .text:0x0000B28C; // type:function size:0x214 -fn_1_B4A0 = .text:0x0000B4A0; // type:function size:0xE8 -fn_1_B588 = .text:0x0000B588; // type:function size:0xE8 -fn_1_B670 = .text:0x0000B670; // type:function size:0x11C -fn_1_B78C = .text:0x0000B78C; // type:function size:0x13C -fn_1_B8C8 = .text:0x0000B8C8; // type:function size:0x4 -fn_1_B8CC = .text:0x0000B8CC; // type:function size:0x104 -fn_1_B9D0 = .text:0x0000B9D0; // type:function size:0x208 -fn_1_BBD8 = .text:0x0000BBD8; // type:function size:0x788 -fn_1_C360 = .text:0x0000C360; // type:function size:0xB4 -fn_1_C414 = .text:0x0000C414; // type:function size:0x2F4 -fn_1_C708 = .text:0x0000C708; // type:function size:0xBC -fn_1_C7C4 = .text:0x0000C7C4; // type:function size:0x384 -fn_1_CB48 = .text:0x0000CB48; // type:function size:0x300 -fn_1_CE48 = .text:0x0000CE48; // type:function size:0xAC -fn_1_CEF4 = .text:0x0000CEF4; // type:function size:0xE4 -fn_1_CFD8 = .text:0x0000CFD8; // type:function size:0xC4 -fn_1_D09C = .text:0x0000D09C; // type:function size:0xE4 -fn_1_D180 = .text:0x0000D180; // type:function size:0x3FC -fn_1_D57C = .text:0x0000D57C; // type:function size:0x134 -fn_1_D6B0 = .text:0x0000D6B0; // type:function size:0x2F8 -fn_1_D9A8 = .text:0x0000D9A8; // type:function size:0xFC -fn_1_DAA4 = .text:0x0000DAA4; // type:function size:0x164 -fn_1_DC08 = .text:0x0000DC08; // type:function size:0x118 -fn_1_DD20 = .text:0x0000DD20; // type:function size:0xE4 -fn_1_DE04 = .text:0x0000DE04; // type:function size:0x424 -fn_1_E228 = .text:0x0000E228; // type:function size:0x8C -fn_1_E2B4 = .text:0x0000E2B4; // type:function size:0x130 -fn_1_E3E4 = .text:0x0000E3E4; // type:function size:0x23C -fn_1_E620 = .text:0x0000E620; // type:function size:0xF0 -fn_1_E710 = .text:0x0000E710; // type:function size:0x118 -fn_1_E828 = .text:0x0000E828; // type:function size:0x8C -fn_1_E8B4 = .text:0x0000E8B4; // type:function size:0x34C -fn_1_EC00 = .text:0x0000EC00; // type:function size:0x5C -fn_1_EC5C = .text:0x0000EC5C; // type:function size:0x384 -fn_1_EFE0 = .text:0x0000EFE0; // type:function size:0x70 -fn_1_F050 = .text:0x0000F050; // type:function size:0x14C -fn_1_F19C = .text:0x0000F19C; // type:function size:0x5E4 -fn_1_F780 = .text:0x0000F780; // type:function size:0xEC -fn_1_F86C = .text:0x0000F86C; // type:function size:0xA4 -fn_1_F910 = .text:0x0000F910; // type:function size:0x1D4 -fn_1_FAE4 = .text:0x0000FAE4; // type:function size:0x238 -fn_1_FD1C = .text:0x0000FD1C; // type:function size:0xB4 -fn_1_FDD0 = .text:0x0000FDD0; // type:function size:0x4C8 -fn_1_10298 = .text:0x00010298; // type:function size:0xEC -fn_1_10384 = .text:0x00010384; // type:function size:0xCC -fn_1_10450 = .text:0x00010450; // type:function size:0xFC -fn_1_1054C = .text:0x0001054C; // type:function size:0xAC -fn_1_105F8 = .text:0x000105F8; // type:function size:0x300 -fn_1_108F8 = .text:0x000108F8; // type:function size:0x374 -fn_1_10C6C = .text:0x00010C6C; // type:function size:0xE4 -fn_1_10D50 = .text:0x00010D50; // type:function size:0x1D4 -fn_1_10F24 = .text:0x00010F24; // type:function size:0xAC -fn_1_10FD0 = .text:0x00010FD0; // type:function size:0x2D0 -fn_1_112A0 = .text:0x000112A0; // type:function size:0x8C -fn_1_1132C = .text:0x0001132C; // type:function size:0xF0 -fn_1_1141C = .text:0x0001141C; // type:function size:0x118 -fn_1_11534 = .text:0x00011534; // type:function size:0xF0 -fn_1_11624 = .text:0x00011624; // type:function size:0x10C -fn_1_11730 = .text:0x00011730; // type:function size:0x35C -fn_1_11A8C = .text:0x00011A8C; // type:function size:0x5C -fn_1_11AE8 = .text:0x00011AE8; // type:function size:0x184 -fn_1_11C6C = .text:0x00011C6C; // type:function size:0x16C -fn_1_11DD8 = .text:0x00011DD8; // type:function size:0xEC -fn_1_11EC4 = .text:0x00011EC4; // type:function size:0x64 -fn_1_11F28 = .text:0x00011F28; // type:function size:0x4 -fn_1_11F2C = .text:0x00011F2C; // type:function size:0x144 -fn_1_12070 = .text:0x00012070; // type:function size:0x5C0 -fn_1_12630 = .text:0x00012630; // type:function size:0xB4 -fn_1_126E4 = .text:0x000126E4; // type:function size:0x234 -fn_1_12918 = .text:0x00012918; // type:function size:0xBC -fn_1_129D4 = .text:0x000129D4; // type:function size:0x2C0 -fn_1_12C94 = .text:0x00012C94; // type:function size:0xE4 -fn_1_12D78 = .text:0x00012D78; // type:function size:0x1A8 -fn_1_12F20 = .text:0x00012F20; // type:function size:0x88 -fn_1_12FA8 = .text:0x00012FA8; // type:function size:0x118 -fn_1_130C0 = .text:0x000130C0; // type:function size:0x22C -fn_1_132EC = .text:0x000132EC; // type:function size:0x284 -fn_1_13570 = .text:0x00013570; // type:function size:0x310 -fn_1_13880 = .text:0x00013880; // type:function size:0x8C -fn_1_1390C = .text:0x0001390C; // type:function size:0x23C -fn_1_13B48 = .text:0x00013B48; // type:function size:0xEC -fn_1_13C34 = .text:0x00013C34; // type:function size:0x210 -fn_1_13E2C = .text:0x00013E44; // type:function size:0x324 -fn_1_14150 = .text:0x00014168; // type:function size:0x50 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0xC scope:local data:2byte -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x64 scope:local -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x64 scope:local -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x64 scope:local -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 scope:local data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x3C scope:local data:4byte -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 scope:local data:float -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 scope:local data:float -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 scope:local data:float -lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 scope:local data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 scope:local data:float -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 scope:local data:float -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x60 -lbl_1_data_60 = .data:0x00000060; // type:object size:0x27 scope:local data:string -lbl_1_data_87 = .data:0x00000087; // type:object size:0x26 scope:local data:string -lbl_1_data_AD = .data:0x000000AD; // type:object size:0x2A scope:local data:string -lbl_1_data_D7 = .data:0x000000D7; // type:object size:0x29 scope:local data:string -lbl_1_data_100 = .data:0x00000100; // type:object size:0x10 -lbl_1_data_110 = .data:0x00000110; // type:object size:0x28 scope:local data:string -lbl_1_data_138 = .data:0x00000138; // type:object size:0x10 scope:local data:string -lbl_1_data_148 = .data:0x00000148; // type:object size:0x3 scope:local data:string -lbl_1_data_14B = .data:0x0000014B; // type:object size:0x1A scope:local data:string -lbl_1_data_165 = .data:0x00000165; // type:object size:0x1A scope:local data:string -lbl_1_data_17F = .data:0x0000017F; // type:object size:0xE scope:local data:string -lbl_1_data_190 = .data:0x00000190; // type:object size:0x50 -lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0x3C -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x16 scope:local data:string -lbl_1_data_232 = .data:0x00000232; // type:object size:0x15 scope:local data:string -lbl_1_data_247 = .data:0x00000247; // type:object size:0x16 scope:local data:string -lbl_1_data_25D = .data:0x0000025D; // type:object size:0x15 scope:local data:string -lbl_1_data_272 = .data:0x00000272; // type:object size:0x17 scope:local data:string -lbl_1_data_289 = .data:0x00000289; // type:object size:0x16 scope:local data:string -lbl_1_data_29F = .data:0x0000029F; // type:object size:0x16 scope:local data:string -lbl_1_data_2B5 = .data:0x000002B5; // type:object size:0x15 scope:local data:string -lbl_1_data_2CA = .data:0x000002CA; // type:object size:0xF scope:local data:string -lbl_1_data_2D9 = .data:0x000002D9; // type:object size:0x1C scope:local data:string -lbl_1_data_2F5 = .data:0x000002F5; // type:object size:0x1D scope:local data:string -lbl_1_data_312 = .data:0x00000312; // type:object size:0x17 scope:local data:string -lbl_1_data_329 = .data:0x00000329; // type:object size:0xF scope:local data:string -lbl_1_data_338 = .data:0x00000338; // type:object size:0x1A scope:local data:string -lbl_1_data_354 = .data:0x00000354; // type:object size:0x30 -lbl_1_data_388 = .data:0x00000388; // type:object size:0x50 -lbl_1_data_3D8 = .data:0x000003D8; // type:object size:0x3C -lbl_1_data_414 = .data:0x00000414; // type:object size:0x16 scope:local data:string -lbl_1_data_42A = .data:0x0000042A; // type:object size:0x15 scope:local data:string -lbl_1_data_43F = .data:0x0000043F; // type:object size:0x16 scope:local data:string -lbl_1_data_455 = .data:0x00000455; // type:object size:0x15 scope:local data:string -lbl_1_data_46A = .data:0x0000046A; // type:object size:0x16 scope:local data:string -lbl_1_data_480 = .data:0x00000480; // type:object size:0x15 scope:local data:string -lbl_1_data_495 = .data:0x00000495; // type:object size:0x17 scope:local data:string -lbl_1_data_4AC = .data:0x000004AC; // type:object size:0x16 scope:local data:string -lbl_1_data_4C2 = .data:0x000004C2; // type:object size:0xA scope:local data:string -lbl_1_data_4CC = .data:0x000004CC; // type:object size:0x1C scope:local data:string -lbl_1_data_4E8 = .data:0x000004E8; // type:object size:0x1D scope:local data:string -lbl_1_data_505 = .data:0x00000505; // type:object size:0xF scope:local data:string -lbl_1_data_514 = .data:0x00000514; // type:object size:0x1B scope:local data:string -lbl_1_data_52F = .data:0x0000052F; // type:object size:0x8 scope:local data:string -lbl_1_data_537 = .data:0x00000537; // type:object size:0x8 scope:local data:string -lbl_1_data_540 = .data:0x00000540; // type:object size:0x30 -lbl_1_data_570 = .data:0x00000570; // type:object size:0x3C0 -lbl_1_data_930 = .data:0x00000930; // type:object size:0x50 -lbl_1_data_980 = .data:0x00000980; // type:object size:0x15 scope:local data:string -lbl_1_data_995 = .data:0x00000995; // type:object size:0x14 scope:local data:string -lbl_1_data_9A9 = .data:0x000009A9; // type:object size:0x15 scope:local data:string -lbl_1_data_9BE = .data:0x000009BE; // type:object size:0x14 scope:local data:string -lbl_1_data_9D2 = .data:0x000009D2; // type:object size:0x15 scope:local data:string -lbl_1_data_9E7 = .data:0x000009E7; // type:object size:0x14 scope:local data:string -lbl_1_data_9FB = .data:0x000009FB; // type:object size:0x15 scope:local data:string -lbl_1_data_A10 = .data:0x00000A10; // type:object size:0x14 scope:local data:string -lbl_1_data_A24 = .data:0x00000A24; // type:object size:0xF scope:local data:string -lbl_1_data_A33 = .data:0x00000A33; // type:object size:0x1C scope:local data:string -lbl_1_data_A4F = .data:0x00000A4F; // type:object size:0x1D scope:local data:string -lbl_1_data_A6C = .data:0x00000A6C; // type:object size:0x1C scope:local data:string -lbl_1_data_A88 = .data:0x00000A88; // type:object size:0x32 scope:local data:string -lbl_1_data_ABA = .data:0x00000ABA; // type:object size:0xF scope:local data:string -lbl_1_data_AC9 = .data:0x00000AC9; // type:object size:0x11 scope:local data:string -lbl_1_data_ADA = .data:0x00000ADA; // type:object size:0xA scope:local data:string -lbl_1_data_AE4 = .data:0x00000AE4; // type:object size:0x9 scope:local data:string -lbl_1_data_AED = .data:0x00000AED; // type:object size:0x7 scope:local data:string -lbl_1_data_AF8 = .data:0x00000AF8; // type:object size:0x3C -lbl_1_data_B34 = .data:0x00000B34; // type:object size:0x15 scope:local data:string -lbl_1_data_B49 = .data:0x00000B49; // type:object size:0x14 scope:local data:string -lbl_1_data_B5D = .data:0x00000B5D; // type:object size:0x15 scope:local data:string -lbl_1_data_B72 = .data:0x00000B72; // type:object size:0x14 scope:local data:string -lbl_1_data_B86 = .data:0x00000B86; // type:object size:0x15 scope:local data:string -lbl_1_data_B9B = .data:0x00000B9B; // type:object size:0x14 scope:local data:string -lbl_1_data_BAF = .data:0x00000BAF; // type:object size:0x15 scope:local data:string -lbl_1_data_BC4 = .data:0x00000BC4; // type:object size:0x14 scope:local data:string -lbl_1_data_BD8 = .data:0x00000BD8; // type:object size:0xF scope:local data:string -lbl_1_data_BE7 = .data:0x00000BE7; // type:object size:0x1C scope:local data:string -lbl_1_data_C03 = .data:0x00000C03; // type:object size:0x1D scope:local data:string -lbl_1_data_C20 = .data:0x00000C20; // type:object size:0xF scope:local data:string -lbl_1_data_C2F = .data:0x00000C2F; // type:object size:0x1A scope:local data:string -lbl_1_data_C50 = .data:0x00000C50; // type:object size:0x48 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x44 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x10 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x10 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x3C -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x28 data:4byte -lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0xA0 -lbl_1_bss_174 = .bss:0x00000174; // type:object size:0x28 data:4byte -lbl_1_bss_19C = .bss:0x0000019C; // type:object size:0x28 data:4byte -lbl_1_bss_1C4 = .bss:0x000001C4; // type:object size:0x104 data:4byte -lbl_1_bss_2C8 = .bss:0x000002C8; // type:object size:0x4 data:4byte -lbl_1_bss_2CC = .bss:0x000002CC; // type:object size:0x4 data:4byte -lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x60 data:4byte -lbl_1_bss_330 = .bss:0x00000330; // type:object size:0x8 data:4byte -lbl_1_bss_338 = .bss:0x00000338; // type:object size:0xA0 -lbl_1_bss_3D8 = .bss:0x000003D8; // type:object size:0x28 data:4byte -lbl_1_bss_400 = .bss:0x00000400; // type:object size:0x28 data:4byte -lbl_1_bss_428 = .bss:0x00000428; // type:object size:0x28 data:4byte -lbl_1_bss_450 = .bss:0x00000450; // type:object size:0x108 data:float -lbl_1_bss_558 = .bss:0x00000558; // type:object size:0x4 data:4byte -lbl_1_bss_55C = .bss:0x0000055C; // type:object size:0x4 data:4byte -lbl_1_bss_560 = .bss:0x00000560; // type:object size:0x8 data:4byte -lbl_1_bss_568 = .bss:0x00000568; // type:object size:0x28 data:4byte -lbl_1_bss_590 = .bss:0x00000590; // type:object size:0x28 data:4byte -lbl_1_bss_5B8 = .bss:0x000005B8; // type:object size:0x28 data:4byte -lbl_1_bss_5E0 = .bss:0x000005E0; // type:object size:0x28 data:4byte -lbl_1_bss_608 = .bss:0x00000608; // type:object size:0x108 data:4byte -lbl_1_bss_710 = .bss:0x00000710; // type:object size:0x4 data:4byte -lbl_1_bss_714 = .bss:0x00000714; // type:object size:0x28 data:4byte -lbl_1_bss_73C = .bss:0x0000073C; // type:object size:0x28 data:4byte -lbl_1_bss_764 = .bss:0x00000764; // type:object size:0x28 data:4byte -lbl_1_bss_78C = .bss:0x0000078C; // type:object size:0x28 data:4byte -lbl_1_bss_7B4 = .bss:0x000007B4; // type:object size:0x104 data:4byte -lbl_1_bss_8B8 = .bss:0x000008B8; // type:object size:0x4 data:4byte -lbl_1_bss_8BC = .bss:0x000008BC; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_01/splits.txt b/config/GMPE01_01/splits.txt deleted file mode 100644 index 0c85aae7..00000000 --- a/config/GMPE01_01/splits.txt +++ /dev/null @@ -1,1450 +0,0 @@ -Sections: - .init type:code align:4 - extab type:rodata align:32 - extabindex type:rodata align:32 - .text type:code align:8 - .ctors type:rodata align:32 - .dtors type:rodata align:32 - .rodata type:rodata align:32 - .data type:data align:32 - .bss type:bss align:32 - .sdata type:data align:4 - .sbss type:bss align:8 - .sdata2 type:rodata align:32 - .sbss2 type:bss align:16 - -game/main.c: - .text start:0x800057C0 end:0x80005A5C - .data start:0x8011EDE0 end:0x8011EDF0 - .sdata start:0x801D3420 end:0x801D3430 - .sbss start:0x801D3A00 end:0x801D3A58 - .sdata2 start:0x801D4960 end:0x801D4968 - -game/pad.c: - .text start:0x80005A5C end:0x80006478 - .data start:0x8011EDF0 end:0x8011EE00 - .bss start:0x80142800 end:0x80142840 - .sbss start:0x801D3A58 end:0x801D3AE0 - -game/dvd.c: - .text start:0x80006478 end:0x80006E38 - .data start:0x8011EE00 end:0x8011EF58 - .sdata start:0x801D3430 end:0x801D3438 - .sbss start:0x801D3AE0 end:0x801D3AE8 - -game/data.c: - .text start:0x80006E38 end:0x80009400 - .data start:0x8011EF58 end:0x8011FDE0 - .bss start:0x80142840 end:0x80145640 - .sdata start:0x801D3438 end:0x801D3448 - .sbss start:0x801D3AE8 end:0x801D3AF8 - -game/decode.c: - .text start:0x80009400 end:0x80009AFC - .data start:0x8011FDE0 end:0x8011FE00 - .bss start:0x80145640 end:0x80145A40 - -game/font.c: - .data start:0x8011FE00 end:0x80121E00 - -game/init.c: - .text start:0x80009AFC end:0x8000A464 - .data start:0x80121E00 end:0x80121F50 - .bss start:0x80145A40 end:0x80145A80 - .sdata start:0x801D3448 end:0x801D3460 - .sbss start:0x801D3AF8 end:0x801D3B28 - .sdata2 start:0x801D4968 end:0x801D4978 - -game/jmp.c: - .text start:0x8000A464 end:0x8000A558 - -game/malloc.c: - .text start:0x8000A558 end:0x8000A938 - .data start:0x80121F50 end:0x80121FC8 - .bss start:0x80145A80 end:0x80145A98 - -game/memory.c: - .text start:0x8000A938 end:0x8000AEF0 - .data start:0x80121FC8 end:0x80122140 - -game/printfunc.c: - .text start:0x8000AEF0 end:0x8000C4A4 - .data start:0x80122140 end:0x80122180 - .bss start:0x80145A98 end:0x8014C398 - .sbss start:0x801D3B28 end:0x801D3B38 - .sdata2 start:0x801D4978 end:0x801D49C8 - -game/process.c: - .text start:0x8000C4A4 end:0x8000D348 - .data start:0x80122180 end:0x801221D0 - .bss start:0x8014C398 end:0x8014C490 - .sbss start:0x801D3B38 end:0x801D3B48 - -game/sprman.c: - .text start:0x8000D348 end:0x8000F6A0 - .rodata start:0x8011DD00 end:0x8011DD10 - .data start:0x801221D0 end:0x801222F0 - .bss start:0x8014C490 end:0x8015C690 - .sdata start:0x801D3460 end:0x801D3470 - .sbss start:0x801D3B48 end:0x801D3B50 - .sdata2 start:0x801D49C8 end:0x801D49F0 - -game/sprput.c: - .text start:0x8000F6A0 end:0x80010B30 - .rodata start:0x8011DD10 end:0x8011DD20 - .data start:0x801222F0 end:0x80122320 - .bss start:0x8015C690 end:0x8015C6C0 - .sbss start:0x801D3B50 end:0x801D3B58 - .sdata2 start:0x801D49F0 end:0x801D4A28 - -game/hsfload.c: - .text start:0x80010B30 end:0x80014018 - .data start:0x80122320 end:0x80122390 - .bss start:0x8015C6C0 end:0x8015CC80 - .sbss start:0x801D3B58 end:0x801D3B90 - -game/hsfdraw.c: - .text start:0x80014018 end:0x8001F9AC - .rodata start:0x8011DD20 end:0x8011DD30 - .data start:0x80122390 end:0x801225A0 - .bss start:0x8015CC80 end:0x801677C0 - .sdata start:0x801D3470 end:0x801D3488 - .sbss start:0x801D3B90 end:0x801D3C30 - .sdata2 start:0x801D4A28 end:0x801D4AB0 - -game/hsfman.c: - .text start:0x8001F9AC end:0x800250E8 - .data start:0x801225A0 end:0x8012D658 - .bss start:0x801677C0 end:0x8018D3D0 - .sbss start:0x801D3C30 end:0x801D3C60 - .sdata2 start:0x801D4AB0 end:0x801D4B10 - .sbss2 start:0x801D6BE0 end:0x801D6BE8 - -game/hsfmotion.c: - .text start:0x800250E8 end:0x80028B04 - .data start:0x8012D658 end:0x8012D838 - .bss start:0x8018D3D0 end:0x8018DBD0 - .sbss start:0x801D3C60 end:0x801D3C68 - .sdata2 start:0x801D4B10 end:0x801D4B60 - -game/hsfanim.c: - .text start:0x80028B04 end:0x8002CB74 - .data start:0x8012D838 end:0x8012D8F8 - .bss start:0x8018DBD0 end:0x8018F790 - .sdata2 start:0x801D4B60 end:0x801D4BE8 - -game/hsfex.c: - .text start:0x8002CB74 end:0x8002E74C - .data start:0x8012D8F8 end:0x8012D918 - .sdata2 start:0x801D4BE8 end:0x801D4C78 - -game/perf.c: - .text start:0x8002E74C end:0x8002EBD8 - .bss start:0x8018F790 end:0x8018FB38 - .sdata start:0x801D3488 end:0x801D3498 - .sbss start:0x801D3C68 end:0x801D3CC0 - -game/objmain.c: - .text start:0x8002EBD8 end:0x8002FF4C - .data start:0x8012D918 end:0x8012DCC8 - .bss start:0x8018FB38 end:0x8018FBF8 - .sdata start:0x801D3498 end:0x801D34A0 - .sbss start:0x801D3CC0 end:0x801D3CF0 - .sdata2 start:0x801D4C78 end:0x801D4CA0 - -game/fault.c: - .text start:0x8002FF4C end:0x800308B8 - .data start:0x8012DCC8 end:0x8012E4F0 - .bss start:0x8018FBF8 end:0x8018FC10 - .sdata start:0x801D34A0 end:0x801D34B0 - .sbss start:0x801D3CF0 end:0x801D3D00 - -game/gamework.c: - .text start:0x800308B8 end:0x800315BC - .rodata start:0x8011DD30 end:0x8011DD50 - .bss start:0x8018FC10 end:0x80190008 - -game/objsysobj.c: - .text start:0x800315BC end:0x80031DB4 - .bss start:0x80190008 end:0x801901E0 - .sbss start:0x801D3D00 end:0x801D3D08 - .sdata2 start:0x801D4CA0 end:0x801D4CB0 - -game/objdll.c: - .text start:0x80031DB4 end:0x800325F4 - .data start:0x8012E4F0 end:0x8012E988 - .bss start:0x801901E0 end:0x80190230 - .sbss start:0x801D3D08 end:0x801D3D10 - -game/frand.c: - .text start:0x800325F4 end:0x80032830 - .sbss start:0x801D3D10 end:0x801D3D18 - .sdata2 start:0x801D4CB0 end:0x801D4CC0 - -game/audio.c: - .text start:0x80032830 end:0x80033EEC - .data start:0x8012E988 end:0x8012F130 - .bss start:0x80190230 end:0x80190450 - .sdata start:0x801D34B0 end:0x801D34B8 - .sbss start:0x801D3D18 end:0x801D3D48 - .sdata2 start:0x801D4CC0 end:0x801D4CD0 - -game/EnvelopeExec.c: - .text start:0x80033EEC end:0x800353AC - .sbss start:0x801D3D48 end:0x801D3D78 - .sdata2 start:0x801D4CD0 end:0x801D4CE8 - -game/minigame_seq.c: - .text start:0x800353AC end:0x8003F8B8 - .data start:0x8012F130 end:0x8012F790 - .bss start:0x80190450 end:0x80190860 - .sdata start:0x801D34B8 end:0x801D35C0 - .sbss start:0x801D3D78 end:0x801D3D98 - .sdata2 start:0x801D4CE8 end:0x801D4EA8 - -game/ovllist.c: - .data start:0x8012F790 end:0x80130100 - -game/esprite.c: - .text start:0x8003F8B8 end:0x8003FF68 - .bss start:0x80190860 end:0x80192060 - .sbss start:0x801D3D98 end:0x801D3DA0 - -game/code_8003FF68.c: - .text start:0x8003FF68 end:0x80040500 - .data start:0x80130100 end:0x80130120 - .bss start:0x80192060 end:0x80192360 - .sdata start:0x801D35C0 end:0x801D35E0 - .sbss start:0x801D3DA0 end:0x801D3DA8 - .sdata2 start:0x801D4EA8 end:0x801D4EC0 - -game/ClusterExec.c: - .text start:0x80040500 end:0x80040D60 - .sdata2 start:0x801D4EC0 end:0x801D4ED0 - -game/ShapeExec.c: - .text start:0x80040D60 end:0x80041170 - .sdata2 start:0x801D4ED0 end:0x801D4EE0 - -game/wipe.c: - .text start:0x80041170 end:0x8004207C - .data start:0x80130120 end:0x80130138 - .bss start:0x80192360 end:0x801923C0 - .sdata start:0x801D35E0 end:0x801D35E8 - .sbss start:0x801D3DA8 end:0x801D3DB0 - .sdata2 start:0x801D4EE0 end:0x801D4F08 - -game/window.c: - .text start:0x8004207C end:0x800483A0 - .data start:0x80130140 end:0x80130688 - .bss start:0x801923C0 end:0x801967E0 - .sdata start:0x801D35E8 end:0x801D35F0 - .sbss start:0x801D3DB0 end:0x801D3DF8 - .sdata2 start:0x801D4F08 end:0x801D4F98 - -game/messdata.c: - .text start:0x800483A0 end:0x80048488 - -game/card.c: - .text start:0x80048488 end:0x80048A84 - .data start:0x80130688 end:0x801306D8 - .sbss start:0x801D3DF8 end:0x801D3E00 - -game/armem.c: - .text start:0x80048A84 end:0x800498F0 - .data start:0x801306D8 end:0x801307C8 - .bss start:0x801967E0 end:0x80196EC0 - .sbss start:0x801D3E00 end:0x801D3E10 - -game/chrman.c: - .text start:0x800498F0 end:0x80050C5C - .data start:0x801307C8 end:0x801311E8 - .bss start:0x80196EC0 end:0x80197650 - .sdata start:0x801D35F0 end:0x801D3638 - .sbss start:0x801D3E10 end:0x801D3E18 - .sdata2 start:0x801D4F98 end:0x801D50D0 - -game/mapspace.c: - .text start:0x80050C5C end:0x80054A00 - .bss start:0x80197650 end:0x80197AC0 - .sbss start:0x801D3E18 end:0x801D3E38 - .sdata2 start:0x801D50D0 end:0x801D5100 - -game/THPSimple.c: - .text start:0x80054A00 end:0x80056B04 - .data start:0x801311E8 end:0x801312E8 - .bss start:0x80197AC0 end:0x801981A0 - .sdata start:0x801D3638 end:0x801D3640 - .sbss start:0x801D3E38 end:0x801D3E58 - .sdata2 start:0x801D5100 end:0x801D5108 - -game/THPDraw.c: - .text start:0x80056B04 end:0x8005745C - .sdata2 start:0x801D5108 end:0x801D5120 - -game/thpmain.c: - .text start:0x8005745C end:0x80057E24 - .rodata start:0x8011DD50 end:0x8011DD60 - .data start:0x801312E8 end:0x80131350 - .bss start:0x801981A0 end:0x801981E0 - .sbss start:0x801D3E58 end:0x801D3E80 - .sdata2 start:0x801D5120 end:0x801D5138 - -game/objsub.c: - .text start:0x80057E24 end:0x80058010 - .data start:0x80131350 end:0x80132150 - .bss start:0x801981E0 end:0x80198410 - .sbss start:0x801D3E80 end:0x801D3EA8 - -game/flag.c: - .text start:0x80058010 end:0x80058228 - .bss start:0x80198410 end:0x80198420 - -game/saveload.c: - .text start:0x80058228 end:0x8005A6F8 - .data start:0x80132150 end:0x801321F8 - .bss start:0x80198420 end:0x8019C440 - .sdata start:0x801D3640 end:0x801D3658 - .sbss start:0x801D3EA8 end:0x801D3EB8 - .sdata2 start:0x801D5138 end:0x801D5148 - -game/sreset.c: - .text start:0x8005A6F8 end:0x8005B150 - .data start:0x801321F8 end:0x80139798 - .bss start:0x8019C440 end:0x8019D7E0 - .sdata start:0x801D3658 end:0x801D3670 - .sbss start:0x801D3EB8 end:0x801D3ED0 - -game/board/main.c: - .text start:0x8005B150 end:0x80061FC4 - .rodata start:0x8011DD60 end:0x8011DD90 - .data start:0x80139798 end:0x80139898 - .bss start:0x8019D7E0 end:0x8019D968 - .sdata start:0x801D3670 end:0x801D3680 - .sbss start:0x801D3ED0 end:0x801D3F20 - .sdata2 start:0x801D5148 end:0x801D51F8 - -game/board/player.c: - .text start:0x80061FC4 end:0x8006D308 - .rodata start:0x8011DD90 end:0x8011DE60 - .data start:0x80139898 end:0x80139AA0 - .bss start:0x8019D968 end:0x8019D998 - .sdata start:0x801D3680 end:0x801D36E0 - .sbss start:0x801D3F20 end:0x801D3F58 - .sdata2 start:0x801D51F8 end:0x801D5300 - -game/board/model.c: - .text start:0x8006D308 end:0x8006FD7C - .sbss start:0x801D3F58 end:0x801D3F68 - .sdata2 start:0x801D5300 end:0x801D5318 - -game/board/window.c: - .text start:0x8006FD7C end:0x80070D84 - .rodata start:0x8011DE60 end:0x8011DED0 - .data start:0x80139AA0 end:0x80139AE8 - .bss start:0x8019D998 end:0x8019D9F8 - .sdata start:0x801D36E0 end:0x801D36E8 - .sbss start:0x801D3F68 end:0x801D3F90 - .sdata2 start:0x801D5318 end:0x801D5328 - -game/board/audio.c: - .text start:0x80070D84 end:0x80071290 - .data start:0x80139AE8 end:0x80139B00 - .sdata start:0x801D36E8 end:0x801D36F0 - .sbss start:0x801D3F90 end:0x801D3F98 - -game/board/com.c: - .text start:0x80071290 end:0x800729A4 - .data start:0x80139B00 end:0x80139BC8 - .sdata start:0x801D36F0 end:0x801D36F8 - .sdata2 start:0x801D5328 end:0x801D5350 - -game/board/view.c: - .text start:0x800729A4 end:0x80073FF4 - .rodata start:0x8011DED0 end:0x8011DEF0 - .data start:0x80139BC8 end:0x80139CC8 - .bss start:0x8019D9F8 end:0x8019DA10 - .sdata start:0x801D36F8 end:0x801D3700 - .sbss start:0x801D3F98 end:0x801D3FB0 - .sdata2 start:0x801D5350 end:0x801D53C0 - -game/board/space.c: - .text start:0x80073FF4 end:0x80077AAC - .data start:0x80139CC8 end:0x80139D08 - .bss start:0x8019DA10 end:0x801A4A60 - .sdata start:0x801D3700 end:0x801D3708 - .sbss start:0x801D3FB0 end:0x801D3FE8 - .sdata2 start:0x801D53C0 end:0x801D5440 - -game/board/shop.c: - .text start:0x80077AAC end:0x8007A83C - .data start:0x80139D08 end:0x80139E88 - .bss start:0x801A4A60 end:0x801A4A90 - .sdata start:0x801D3708 end:0x801D3728 - .sbss start:0x801D3FE8 end:0x801D4008 - .sdata2 start:0x801D5440 end:0x801D5510 - -game/board/lottery.c: - .text start:0x8007A83C end:0x8007FB50 - .rodata start:0x8011DEF0 end:0x8011E020 - .data start:0x80139E88 end:0x8013A1F0 - .bss start:0x801A4A90 end:0x801A4AC0 - .sdata start:0x801D3728 end:0x801D3748 - .sbss start:0x801D4008 end:0x801D4028 - .sdata2 start:0x801D5510 end:0x801D56A0 - -game/board/basic_space.c: - .text start:0x8007FB50 end:0x80080D54 - .data start:0x8013A1F0 end:0x8013A228 - .sdata2 start:0x801D56A0 end:0x801D5730 - -game/board/warp.c: - .text start:0x80080D54 end:0x800816CC - .rodata start:0x8011E020 end:0x8011E040 - .data start:0x8013A228 end:0x8013A248 - .bss start:0x801A4AC0 end:0x801A4AD0 - .sdata start:0x801D3748 end:0x801D3758 - .sbss start:0x801D4028 end:0x801D4040 - .sdata2 start:0x801D5730 end:0x801D5780 - -game/board/char_wheel.c: - .text start:0x800816CC end:0x80082C90 - .data start:0x8013A248 end:0x8013A2B0 - .sdata start:0x801D3758 end:0x801D3760 - .sbss start:0x801D4040 end:0x801D4060 - .sdata2 start:0x801D5780 end:0x801D5810 - -game/board/mushroom.c: - .text start:0x80082C90 end:0x80083EDC - .sdata start:0x801D3760 end:0x801D3770 - .sbss start:0x801D4060 end:0x801D4070 - .sdata2 start:0x801D5810 end:0x801D5898 - -game/board/star.c: - .text start:0x80083EDC end:0x80085CC8 - .rodata start:0x8011E040 end:0x8011E0B0 - .data start:0x8013A2B0 end:0x8013A368 - .bss start:0x801A4AD0 end:0x801A4AE0 - .sdata start:0x801D3770 end:0x801D3778 - .sbss start:0x801D4070 end:0x801D4088 - .sdata2 start:0x801D5898 end:0x801D5938 - -game/board/roll.c: - .text start:0x80085CC8 end:0x80088368 - .rodata start:0x8011E0B0 end:0x8011E118 - .data start:0x8013A368 end:0x8013A408 - .bss start:0x801A4AE0 end:0x801A4AF0 - .sdata start:0x801D3778 end:0x801D3790 - .sbss start:0x801D4088 end:0x801D40A8 - .sdata2 start:0x801D5938 end:0x801D59E0 - -game/board/ui.c: - .text start:0x80088368 end:0x8008DF68 - .rodata start:0x8011E118 end:0x8011E200 - .data start:0x8013A408 end:0x8013A608 - .bss start:0x801A4AF0 end:0x801A4B80 - .sdata start:0x801D3790 end:0x801D3798 - .sbss start:0x801D40A8 end:0x801D40E0 - .sdata2 start:0x801D59E0 end:0x801D5AA0 - -game/board/block.c: - .text start:0x8008DF68 end:0x8008EE28 - .rodata start:0x8011E200 end:0x8011E220 - .data start:0x8013A608 end:0x8013A620 - .bss start:0x801A4B80 end:0x801A4BA8 - .sdata start:0x801D3798 end:0x801D37A0 - .sbss start:0x801D40E0 end:0x801D40F8 - .sdata2 start:0x801D5AA0 end:0x801D5AF8 - -game/board/item.c: - .text start:0x8008EE28 end:0x800975AC - .rodata start:0x8011E220 end:0x8011E238 - .data start:0x8013A620 end:0x8013AA10 - .bss start:0x801A4BA8 end:0x801A4BE8 - .sdata start:0x801D37A0 end:0x801D37B0 - .sbss start:0x801D40F8 end:0x801D4138 - .sdata2 start:0x801D5AF8 end:0x801D5D30 - -game/board/bowser.c: - .text start:0x800975AC end:0x8009B4D4 - .rodata start:0x8011E238 end:0x8011E300 - .data start:0x8013AA10 end:0x8013AA60 - .bss start:0x801A4BE8 end:0x801A4C30 - .sdata start:0x801D37B0 end:0x801D37C8 - .sbss start:0x801D4138 end:0x801D4178 - .sdata2 start:0x801D5D30 end:0x801D5DE0 - -game/board/battle.c: - .text start:0x8009B4D4 end:0x8009D148 - .rodata start:0x8011E300 end:0x8011E380 - .data start:0x8013AA60 end:0x8013AB10 - .bss start:0x801A4C30 end:0x801A4C40 - .sdata start:0x801D37C8 end:0x801D37D0 - .sbss start:0x801D4178 end:0x801D41A0 - .sdata2 start:0x801D5DE0 end:0x801D5E88 - -game/board/fortune.c: - .text start:0x8009D148 end:0x8009DFD0 - .rodata start:0x8011E380 end:0x8011E3A8 - .data start:0x8013AB10 end:0x8013AB28 - .bss start:0x801A4C40 end:0x801A4C58 - .sdata start:0x801D37D0 end:0x801D37D8 - .sbss start:0x801D41A0 end:0x801D41B0 - .sdata2 start:0x801D5E88 end:0x801D5E98 - -game/board/boo.c: - .text start:0x8009DFD0 end:0x800A1A34 - .data start:0x8013AB28 end:0x8013AD00 - .sdata start:0x801D37D8 end:0x801D37E8 - .sbss start:0x801D41B0 end:0x801D41E8 - .sdata2 start:0x801D5E98 end:0x801D5FA8 - -game/board/mg_setup.c: - .text start:0x800A1A34 end:0x800A4F6C - .rodata start:0x8011E3A8 end:0x8011E3D0 - .data start:0x8013AD00 end:0x8013AE38 - .bss start:0x801A4C58 end:0x801A4CC8 - .sdata start:0x801D37E8 end:0x801D37F0 - .sbss start:0x801D41E8 end:0x801D4218 - .sdata2 start:0x801D5FA8 end:0x801D6080 - -game/board/boo_house.c: - .text start:0x800A4F6C end:0x800A6EE4 - .data start:0x8013AE38 end:0x8013AF70 - .bss start:0x801A4CC8 end:0x801A4CD8 - .sdata start:0x801D37F0 end:0x801D3840 - .sbss start:0x801D4218 end:0x801D4230 - .sdata2 start:0x801D6080 end:0x801D60C8 - -game/board/start.c: - .text start:0x800A6EE4 end:0x800A9708 - .rodata start:0x8011E3D0 end:0x8011E3F0 - .data start:0x8013AF70 end:0x8013B0D8 - .bss start:0x801A4CD8 end:0x801A4CF0 - .sdata start:0x801D3840 end:0x801D3850 - .sbss start:0x801D4230 end:0x801D4240 - .sdata2 start:0x801D60C8 end:0x801D6198 - -game/board/last5.c: - .text start:0x800A9708 end:0x800ADB84 - .rodata start:0x8011E3F0 end:0x8011E430 - .data start:0x8013B0D8 end:0x8013B3F0 - .bss start:0x801A4CF0 end:0x801A4D38 - .sdata start:0x801D3850 end:0x801D38A8 - .sbss start:0x801D4240 end:0x801D4260 - .sdata2 start:0x801D6198 end:0x801D6298 - -game/board/pause.c: - .text start:0x800ADB84 end:0x800B1974 - .data start:0x8013B3F0 end:0x8013B518 - .bss start:0x801A4D38 end:0x801A4D68 - .sdata start:0x801D38A8 end:0x801D38B8 - .sbss start:0x801D4260 end:0x801D4280 - .sdata2 start:0x801D6298 end:0x801D6350 - -game/board/com_path.c: - .text start:0x800B1974 end:0x800B3ED8 - .bss start:0x801A4D68 end:0x801A52E8 - .sbss start:0x801D4280 end:0x801D4288 - -game/board/tutorial.c: - .text start:0x800B3ED8 end:0x800B42F4 - .data start:0x8013B518 end:0x8013B560 - .bss start:0x801A52E8 end:0x801A5300 - .sbss start:0x801D4288 end:0x801D42B0 - -dolphin/os/__start.c: - .init start:0x80003100 end:0x80003354 - -dolphin/PPCArch.c: - .text start:0x800B42F4 end:0x800B439C - -dolphin/os/OS.c: - .text start:0x800B439C end:0x800B4CF8 - .data start:0x8013B560 end:0x8013B720 - .bss start:0x801A5300 end:0x801A5350 - .sbss start:0x801D42B0 end:0x801D42E0 - -dolphin/os/OSAlarm.c: - .text start:0x800B4CF8 end:0x800B53A4 - .sbss start:0x801D42E0 end:0x801D42E8 - -dolphin/os/OSAlloc.c: - .text start:0x800B53A4 end:0x800B5D9C - .data start:0x8013B720 end:0x8013BAB8 - .sdata start:0x801D38B8 end:0x801D38C0 - .sbss start:0x801D42E8 end:0x801D42F8 - -dolphin/os/OSArena.c: - .text start:0x800B5D9C end:0x800B5DBC - .sdata start:0x801D38C0 end:0x801D38C8 - .sbss start:0x801D42F8 end:0x801D4300 - -dolphin/os/OSAudioSystem.c: - .text start:0x800B5DBC end:0x800B6050 - .data start:0x8013BAB8 end:0x8013BB38 - -dolphin/os/OSCache.c: - .text start:0x800B6050 end:0x800B66E8 - .data start:0x8013BB38 end:0x8013BD68 - -dolphin/os/OSContext.c: - .text start:0x800B66E8 end:0x800B6F48 - .data start:0x8013BD68 end:0x8013BF40 - -dolphin/os/OSError.c: - .text start:0x800B6F48 end:0x800B71E4 - .data start:0x8013BF40 end:0x8013C260 - .bss start:0x801A5350 end:0x801A5390 - .sdata start:0x801D38C8 end:0x801D38D0 - -dolphin/os/OSFont.c: - .text start:0x800B71E4 end:0x800B723C - .sdata start:0x801D38D0 end:0x801D38D8 - -dolphin/os/OSInterrupt.c: - .text start:0x800B723C end:0x800B7AA8 - .data start:0x8013C260 end:0x8013C290 - .sbss start:0x801D4300 end:0x801D4318 - -dolphin/os/OSLink.c: - .text start:0x800B7AA8 end:0x800B822C - .data start:0x8013C290 end:0x8013C2E0 - -dolphin/os/OSMessage.c: - .text start:0x800B822C end:0x800B828C - -dolphin/os/OSMemory.c: - .text start:0x800B828C end:0x800B8584 - .data start:0x8013C2E0 end:0x8013C2F0 - -dolphin/os/OSMutex.c: - .text start:0x800B8584 end:0x800B85F4 - -dolphin/os/OSReboot.c: - .text start:0x800B85F4 end:0x800B8800 - .bss start:0x801A53A0 end:0x801A53C0 - .sbss start:0x801D4318 end:0x801D4328 - -dolphin/os/OSReset.c: - .text start:0x800B8800 end:0x800B8BE4 - .sbss start:0x801D4328 end:0x801D4330 - -dolphin/os/OSResetSW.c: - .text start:0x800B8BE4 end:0x800B8F70 - .sbss start:0x801D4330 end:0x801D4350 - -dolphin/os/OSRtc.c: - .text start:0x800B8F70 end:0x800B999C - .bss start:0x801A53C0 end:0x801A5418 - -dolphin/os/OSStopwatch.c: - .text start:0x800B999C end:0x800B9D0C - .data start:0x8013C2F0 end:0x8013C368 - -dolphin/os/OSSync.c: - .text start:0x800B9D0C end:0x800B9D90 - -dolphin/os/OSThread.c: - .text start:0x800B9D90 end:0x800BAE5C - .bss start:0x801A5418 end:0x801A5E00 - .sbss start:0x801D4350 end:0x801D4360 - -dolphin/os/OSTime.c: - .text start:0x800BAE5C end:0x800BB280 - .data start:0x8013C368 end:0x8013C3C8 - -dolphin/os/__ppc_eabi_init.c: - .init start:0x80003354 end:0x800033A8 - .text start:0x800BB280 end:0x800BB314 - -dolphin/db.c: - .text start:0x800BB314 end:0x800BB400 - .data start:0x8013C3C8 end:0x8013C3E0 - .sbss start:0x801D4360 end:0x801D4368 - -dolphin/mtx/mtx.c: - .text start:0x800BB400 end:0x800BBCB0 - .sdata start:0x801D38D8 end:0x801D38E0 - .sdata2 start:0x801D6350 end:0x801D6368 - -dolphin/mtx/mtxvec.c: - .text start:0x800BBCB0 end:0x800BBDE4 - -dolphin/mtx/mtx44.c: - .text start:0x800BBDE4 end:0x800BBF4C - .sdata2 start:0x801D6368 end:0x801D6380 - -dolphin/mtx/vec.c: - .text start:0x800BBF4C end:0x800BC2C4 - .sdata2 start:0x801D6380 end:0x801D6390 - -dolphin/mtx/quat.c: - .text start:0x800BC2C4 end:0x800BC884 - .rodata start:0x8011E430 end:0x8011E440 - .sdata2 start:0x801D6390 end:0x801D63B8 - -dolphin/mtx/psmtx.c: - .text start:0x800BC884 end:0x800BC9E8 - -dolphin/dvd/dvdlow.c: - .text start:0x800BC9E8 end:0x800BD83C - .bss start:0x801A5E00 end:0x801A5EE0 - .sdata start:0x801D38E0 end:0x801D38E8 - .sbss start:0x801D4368 end:0x801D43B0 - -dolphin/dvd/dvdfs.c: - .text start:0x800BD83C end:0x800BE118 - .data start:0x8013C3E0 end:0x8013C548 - .sdata start:0x801D38E8 end:0x801D38F0 - .sbss start:0x801D43B0 end:0x801D43D0 - -dolphin/dvd/dvd.c: - .text start:0x800BE118 end:0x800C059C - .data start:0x8013C548 end:0x8013C660 - .bss start:0x801A5EE0 end:0x801A5FB8 - .sdata start:0x801D38F0 end:0x801D38F8 - .sbss start:0x801D43D0 end:0x801D4418 - -dolphin/dvd/dvdqueue.c: - .text start:0x800C059C end:0x800C0794 - .bss start:0x801A5FB8 end:0x801A5FD8 - -dolphin/dvd/dvderror.c: - .text start:0x800C0794 end:0x800C092C - .data start:0x8013C660 end:0x8013C6A8 - -dolphin/dvd/fstload.c: - .text start:0x800C092C end:0x800C0B6C - .data start:0x8013C6A8 end:0x8013C718 - .bss start:0x801A5FD8 end:0x801A6048 - .sdata start:0x801D38F8 end:0x801D3908 - .sbss start:0x801D4418 end:0x801D4428 - -dolphin/vi.c: - .text start:0x800C0B6C end:0x800C2980 - .data start:0x8013C718 end:0x8013C9E0 - .bss start:0x801A6048 end:0x801A6190 - .sbss start:0x801D4428 end:0x801D4478 - -dolphin/demo/DEMOFont.c: - .data start:0x8013C9E0 end:0x8013D5E0 - -dolphin/demo/DEMOInit.c: - .text start:0x800C2980 end:0x800C2988 - .sbss start:0x801D4478 end:0x801D4480 - -dolphin/demo/DEMOPuts.c: - .text start:0x800C2988 end:0x800C2F84 - .bss start:0x801A6190 end:0x801A61B0 - .sbss start:0x801D4480 end:0x801D4488 - .sdata2 start:0x801D63B8 end:0x801D63D8 - -dolphin/demo/DEMOStats.c: - .text start:0x800C2F84 end:0x800C3CDC - .data start:0x8013D5E0 end:0x8013D738 - .sdata start:0x801D3908 end:0x801D3910 - .sbss start:0x801D4488 end:0x801D44E8 - .sdata2 start:0x801D63D8 end:0x801D63E8 - -dolphin/pad/Padclamp.c: - .text start:0x800C3CDC end:0x800C3F14 - .sdata start:0x801D3910 end:0x801D3918 - -dolphin/pad/Pad.c: - .text start:0x800C3F14 end:0x800C59DC - .data start:0x8013D738 end:0x8013D748 - .bss start:0x801A61B0 end:0x801A6200 - .sdata start:0x801D3918 end:0x801D3938 - .sbss start:0x801D44E8 end:0x801D4510 - -dolphin/ai.c: - .text start:0x800C59DC end:0x800C62B8 - .sbss start:0x801D4510 end:0x801D4550 - -dolphin/ar/ar.c: - .text start:0x800C62B8 end:0x800C6F68 - .sbss start:0x801D4550 end:0x801D4570 - -dolphin/ar/arq.c: - .text start:0x800C6F68 end:0x800C72FC - .sbss start:0x801D4570 end:0x801D4598 - -dolphin/dsp/dsp.c: - .text start:0x800C72FC end:0x800C7508 - .data start:0x8013D748 end:0x8013D780 - .sbss start:0x801D4598 end:0x801D45A0 - -dolphin/dsp/dsp_debug.c: - .text start:0x800C7508 end:0x800C7558 - -dolphin/dsp/dsp_task.c: - .text start:0x800C7558 end:0x800C7DDC - .data start:0x8013D780 end:0x8013D8C0 - .sbss start:0x801D45A0 end:0x801D45B8 - -dolphin/gx/GXInit.c: - .text start:0x800C7DDC end:0x800C8ECC - .bss start:0x801A6200 end:0x801A6778 - .sdata start:0x801D3938 end:0x801D3940 - .sbss start:0x801D45B8 end:0x801D45C8 - .sdata2 start:0x801D63E8 end:0x801D6408 - -dolphin/gx/GXFifo.c: - .text start:0x800C8ECC end:0x800C96F4 - .sbss start:0x801D45C8 end:0x801D45E8 - -dolphin/gx/GXAttr.c: - .text start:0x800C96F4 end:0x800CA51C - .data start:0x8013D8C0 end:0x8013D9E0 - .sdata start:0x801D3940 end:0x801D3950 - -dolphin/gx/GXMisc.c: - .text start:0x800CA51C end:0x800CAC40 - .sbss start:0x801D45E8 end:0x801D4600 - -dolphin/gx/GXGeometry.c: - .text start:0x800CAC40 end:0x800CB020 - -dolphin/gx/GXFrameBuf.c: - .text start:0x800CB020 end:0x800CBBD4 - .data start:0x8013D9E0 end:0x8013DB10 - .sdata2 start:0x801D6408 end:0x801D6410 - -dolphin/gx/GXLight.c: - .text start:0x800CBBD4 end:0x800CC5C0 - .data start:0x8013DB10 end:0x8013DB30 - .sdata2 start:0x801D6410 end:0x801D6460 - -dolphin/gx/GXTexture.c: - .text start:0x800CC5C0 end:0x800CD618 - .data start:0x8013DB30 end:0x8013DD58 - .sdata start:0x801D3950 end:0x801D3990 - .sdata2 start:0x801D6460 end:0x801D6488 - -dolphin/gx/GXBump.c: - .text start:0x800CD618 end:0x800CDE94 - .sdata2 start:0x801D6488 end:0x801D64A0 - -dolphin/gx/GXTev.c: - .text start:0x800CDE94 end:0x800CE8CC - .data start:0x8013DD58 end:0x8013DD80 - -dolphin/gx/GXPixel.c: - .text start:0x800CE8CC end:0x800CF014 - .data start:0x8013DD80 end:0x8013DDA0 - .sdata2 start:0x801D64A0 end:0x801D64D0 - -dolphin/gx/GXStubs.c: - .text start:0x800CF014 end:0x800CF018 - -dolphin/gx/GXDisplayList.c: - .text start:0x800CF018 end:0x800CF224 - .bss start:0x801A6778 end:0x801A6C98 - .sbss start:0x801D4600 end:0x801D4608 - -dolphin/gx/GXTransform.c: - .text start:0x800CF224 end:0x800CF9D8 - .sdata2 start:0x801D64D0 end:0x801D64F0 - -dolphin/gx/GXPerf.c: - .text start:0x800CF9D8 end:0x800D09A4 - .data start:0x8013DDA0 end:0x8013DEE8 - -dolphin/card/CARDBios.c: - .text start:0x800D09A4 end:0x800D1CC4 - .data start:0x8013DEE8 end:0x8013DF00 - .bss start:0x801A6C98 end:0x801A6ED8 - -dolphin/card/CARDUnlock.c: - .text start:0x800D1CC4 end:0x800D2F24 - .data start:0x8013DF00 end:0x8013E060 - .sdata start:0x801D3990 end:0x801D3998 - -dolphin/card/CARDRdwr.c: - .text start:0x800D2F24 end:0x800D31A4 - -dolphin/card/CARDBlock.c: - .text start:0x800D31A4 end:0x800D35A8 - -dolphin/card/CARDDir.c: - .text start:0x800D35A8 end:0x800D380C - -dolphin/card/CARDCheck.c: - .text start:0x800D380C end:0x800D4774 - -dolphin/card/CARDMount.c: - .text start:0x800D4774 end:0x800D5234 - .data start:0x8013E060 end:0x8013E0A0 - -dolphin/card/CARDFormat.c: - .text start:0x800D5234 end:0x800D5A24 - -dolphin/card/CARDOpen.c: - .text start:0x800D5A24 end:0x800D5E78 - -dolphin/card/CARDCreate.c: - .text start:0x800D5E78 end:0x800D6210 - -dolphin/card/CARDRead.c: - .text start:0x800D6210 end:0x800D6688 - -dolphin/card/CARDWrite.c: - .text start:0x800D6688 end:0x800D6A04 - -dolphin/card/CARDDelete.c: - .text start:0x800D6A04 end:0x800D6C00 - -dolphin/card/CARDStat.c: - .text start:0x800D6C00 end:0x800D70E0 - -dolphin/card/CARDNet.c: - .text start:0x800D70E0 end:0x800D71A4 - .sdata start:0x801D3998 end:0x801D39A0 - -dolphin/exi/EXIBios.c: - .text start:0x800D71A4 end:0x800D8A78 - .bss start:0x801A6ED8 end:0x801A6F98 - -dolphin/exi/EXIUart.c: - .text start:0x800D8A78 end:0x800D8CE8 - .sbss start:0x801D4608 end:0x801D4618 - -dolphin/si/SIBios.c: - .text start:0x800D8CE8 end:0x800DA3C8 - .data start:0x8013E0A0 end:0x8013E170 - .bss start:0x801A6F98 end:0x801A71A0 - .sbss start:0x801D4618 end:0x801D4628 - -dolphin/si/SISamplingRate.c: - .text start:0x800DA3C8 end:0x800DA4D0 - .data start:0x8013E170 end:0x8013E208 - .sbss start:0x801D4628 end:0x801D4640 - -dolphin/thp/THPDec.c: - .text start:0x800DA4D0 end:0x800E1A10 - .rodata start:0x8011E440 end:0x8011E4D0 - .bss start:0x801A71A0 end:0x801A72D0 - .sbss start:0x801D4640 end:0x801D4758 - .sdata2 start:0x801D64F0 end:0x801D6510 - -dolphin/thp/THPAudio.c: - .text start:0x800E1A10 end:0x800E1F40 - -Runtime.PPCEABI.H/__va_arg.c: - .text start:0x800E1F40 end:0x800E2008 - -Runtime.PPCEABI.H/global_destructor_chain.c: - .text start:0x800E2008 end:0x800E2068 - .dtors start:0x8011DCE8 end:0x8011DCEC - .sbss start:0x801D4758 end:0x801D4760 - -Runtime.PPCEABI.H/__mem.c: - .init start:0x800033A8 end:0x800034E0 - -Runtime.PPCEABI.H/New.cp: - extab start:0x80005620 end:0x80005648 - extabindex start:0x80005700 end:0x8000570C - .text start:0x800E2068 end:0x800E20B4 - -Runtime.PPCEABI.H/NewMore.cp: - extab start:0x80005648 end:0x80005650 - extabindex start:0x8000570C end:0x80005718 - .text start:0x800E20B4 end:0x800E2108 - .rodata start:0x8011E4D0 end:0x8011E4F0 - .data start:0x8013E208 end:0x8013E218 - .sdata start:0x801D39A0 end:0x801D39A8 - -Runtime.PPCEABI.H/NMWException.cpp: - extab start:0x80005650 end:0x80005670 - extabindex start:0x80005718 end:0x80005748 - .text start:0x800E2108 end:0x800E23CC - .sdata start:0x801D39A8 end:0x801D39B0 - -Runtime.PPCEABI.H/runtime.c: - .text start:0x800E23CC end:0x800E2AA8 - .rodata start:0x8011E4F0 end:0x8011E508 - -Runtime.PPCEABI.H/__init_cpp_exceptions.cpp: - .text start:0x800E2AA8 end:0x800E2B24 - .ctors start:0x8011DCC0 end:0x8011DCC4 - .dtors start:0x8011DCE0 end:0x8011DCE8 - .sdata start:0x801D39B0 end:0x801D39B8 - -Runtime.PPCEABI.H/Gecko_ExceptionPPC.cpp: - extab start:0x80005670 end:0x800056E4 - extabindex start:0x80005748 end:0x8000579C - .text start:0x800E2B24 end:0x800E3F5C - .rodata start:0x8011E508 end:0x8011E5A0 - .data start:0x8013E218 end:0x8013E300 - .bss start:0x801A72D0 end:0x801A72E0 - .sdata start:0x801D39B8 end:0x801D39C8 - -Runtime.PPCEABI.H/GCN_mem_alloc.c: - .text start:0x800E3F5C end:0x800E4014 - .rodata start:0x8011E5A0 end:0x8011E618 - -MSL_C.PPCEABI.bare.H/abort_exit.c: - .text start:0x800E4014 end:0x800E4168 - .bss start:0x801A72E0 end:0x801A73E0 - .sbss start:0x801D4760 end:0x801D4770 - -MSL_C.PPCEABI.bare.H/alloc.c: - .text start:0x800E4168 end:0x800E46D0 - .rodata start:0x8011E618 end:0x8011E630 - .bss start:0x801A73E0 end:0x801A7418 - .sbss start:0x801D4770 end:0x801D4778 - -MSL_C.PPCEABI.bare.H/errno.c: - .sbss start:0x801D4778 end:0x801D4780 - -MSL_C.PPCEABI.bare.H/ansi_files.c: - .text start:0x800E46D0 end:0x800E47D8 - .data start:0x8013E300 end:0x8013E440 - .bss start:0x801A7418 end:0x801A7718 - -MSL_C.PPCEABI.bare.H/ansi_fp.c: - .text start:0x800E47D8 end:0x800E53F0 - .rodata start:0x8011E630 end:0x8011E710 - .data start:0x8013E440 end:0x8013E568 - .sdata2 start:0x801D6510 end:0x801D6518 - -MSL_C.PPCEABI.bare.H/arith.c: - .text start:0x800E53F0 end:0x800E5400 - -MSL_C.PPCEABI.bare.H/buffer_io.c: - .text start:0x800E5400 end:0x800E54F8 - -MSL_C.PPCEABI.bare.H/ctype.c: - .text start:0x800E54F8 end:0x800E5534 - .data start:0x8013E568 end:0x8013E768 - -MSL_C.PPCEABI.bare.H/direct_io.c: - .text start:0x800E5534 end:0x800E5860 - -MSL_C.PPCEABI.bare.H/file_io.c: - .text start:0x800E5860 end:0x800E5A58 - -MSL_C.PPCEABI.bare.H/FILE_POS.c: - .text start:0x800E5A58 end:0x800E5D24 - -MSL_C.PPCEABI.bare.H/mbstring.c: - .text start:0x800E5D24 end:0x800E5E68 - .sdata2 start:0x801D6518 end:0x801D6520 - -MSL_C.PPCEABI.bare.H/mem.c: - .text start:0x800E5E68 end:0x800E5FD8 - -MSL_C.PPCEABI.bare.H/mem_funcs.c: - .text start:0x800E5FD8 end:0x800E62B8 - -MSL_C.PPCEABI.bare.H/misc_io.c: - .text start:0x800E62B8 end:0x800E62C8 - -MSL_C.PPCEABI.bare.H/printf.c: - .text start:0x800E62C8 end:0x800E8364 - .rodata start:0x8011E710 end:0x8011E738 - .data start:0x8013E768 end:0x8013E998 - .sdata start:0x801D39C8 end:0x801D39D0 - .sdata2 start:0x801D6520 end:0x801D6528 - -MSL_C.PPCEABI.bare.H/float.c: - .sdata start:0x801D39D0 end:0x801D39D8 - -MSL_C.PPCEABI.bare.H/signal.c: - .text start:0x800E8364 end:0x800E8414 - .bss start:0x801A7718 end:0x801A7730 - -MSL_C.PPCEABI.bare.H/string.c: - .text start:0x800E8414 end:0x800E86C4 - -MSL_C.PPCEABI.bare.H/uart_console_io.c: - .text start:0x800E86C4 end:0x800E8790 - .sbss start:0x801D4780 end:0x801D4788 - -MSL_C.PPCEABI.bare.H/wchar_io.c: - .text start:0x800E8790 end:0x800E8818 - -MSL_C.PPCEABI.bare.H/e_acos.c: - .text start:0x800E8818 end:0x800E8B28 - .sdata2 start:0x801D6528 end:0x801D65B8 - -MSL_C.PPCEABI.bare.H/e_asin.c: - .text start:0x800E8B28 end:0x800E8D8C - .sdata2 start:0x801D65B8 end:0x801D6650 - -MSL_C.PPCEABI.bare.H/e_atan2.c: - .text start:0x800E8D8C end:0x800E901C - .sdata2 start:0x801D6650 end:0x801D66A8 - -MSL_C.PPCEABI.bare.H/e_fmod.c: - .text start:0x800E901C end:0x800E9358 - .rodata start:0x8011E738 end:0x8011E748 - -MSL_C.PPCEABI.bare.H/e_pow.c: - .text start:0x800E9358 end:0x800E9BE4 - .rodata start:0x8011E748 end:0x8011E778 - .sdata2 start:0x801D66A8 end:0x801D67B8 - -MSL_C.PPCEABI.bare.H/e_rem_pio2.c: - .text start:0x800E9BE4 end:0x800E9F84 - .rodata start:0x8011E778 end:0x8011E900 - .sdata2 start:0x801D67B8 end:0x801D6810 - -MSL_C.PPCEABI.bare.H/k_cos.c: - .text start:0x800E9F84 end:0x800EA078 - .sdata2 start:0x801D6810 end:0x801D6858 - -MSL_C.PPCEABI.bare.H/k_rem_pio2.c: - .text start:0x800EA078 end:0x800EAECC - .rodata start:0x8011E900 end:0x8011E950 - .sdata2 start:0x801D6858 end:0x801D6898 - -MSL_C.PPCEABI.bare.H/k_sin.c: - .text start:0x800EAECC end:0x800EAF6C - .sdata2 start:0x801D6898 end:0x801D68D0 - -MSL_C.PPCEABI.bare.H/k_tan.c: - .text start:0x800EAF6C end:0x800EB180 - .rodata start:0x8011E950 end:0x8011E9B8 - .sdata2 start:0x801D68D0 end:0x801D6908 - -MSL_C.PPCEABI.bare.H/s_atan.c: - .text start:0x800EB180 end:0x800EB380 - .rodata start:0x8011E9B8 end:0x8011EA50 - .sdata2 start:0x801D6908 end:0x801D6930 - -MSL_C.PPCEABI.bare.H/s_copysign.c: - .text start:0x800EB380 end:0x800EB3A8 - -MSL_C.PPCEABI.bare.H/s_cos.c: - .text start:0x800EB3A8 end:0x800EB47C - .sdata2 start:0x801D6930 end:0x801D6938 - -MSL_C.PPCEABI.bare.H/s_floor.c: - .text start:0x800EB47C end:0x800EB5C4 - .sdata2 start:0x801D6938 end:0x801D6948 - -MSL_C.PPCEABI.bare.H/s_frexp.c: - .text start:0x800EB5C4 end:0x800EB650 - .sdata2 start:0x801D6948 end:0x801D6950 - -MSL_C.PPCEABI.bare.H/s_ldexp.c: - .text start:0x800EB650 end:0x800EB814 - .sdata2 start:0x801D6950 end:0x801D6978 - -MSL_C.PPCEABI.bare.H/s_modf.c: - .text start:0x800EB814 end:0x800EB910 - -MSL_C.PPCEABI.bare.H/s_sin.c: - .text start:0x800EB910 end:0x800EB9E8 - .sdata2 start:0x801D6978 end:0x801D6980 - -MSL_C.PPCEABI.bare.H/s_tan.c: - .text start:0x800EB9E8 end:0x800EBA60 - .sdata2 start:0x801D6980 end:0x801D6988 - -MSL_C.PPCEABI.bare.H/w_acos.c: - .text start:0x800EBA60 end:0x800EBA80 - -MSL_C.PPCEABI.bare.H/w_asin.c: - .text start:0x800EBA80 end:0x800EBAA0 - -MSL_C.PPCEABI.bare.H/w_atan2.c: - .text start:0x800EBAA0 end:0x800EBAC0 - -MSL_C.PPCEABI.bare.H/w_fmod.c: - .text start:0x800EBAC0 end:0x800EBAE0 - -MSL_C.PPCEABI.bare.H/w_pow.c: - .text start:0x800EBAE0 end:0x800EBB00 - -MSL_C.PPCEABI.bare.H/math_ppc.c: - .text start:0x800EBB00 end:0x800EBBB4 - -TRK_MINNOW_DOLPHIN/mainloop.c: - .text start:0x800EBBB4 end:0x800EBCAC - -TRK_MINNOW_DOLPHIN/nubevent.c: - .text start:0x800EBCAC end:0x800EBED4 - .bss start:0x801A7730 end:0x801A7758 - -TRK_MINNOW_DOLPHIN/nubinit.c: - .text start:0x800EBED4 end:0x800EC054 - .rodata start:0x8011EA50 end:0x8011EA70 - .bss start:0x801A7758 end:0x801A7760 - -TRK_MINNOW_DOLPHIN/msg.c: - .text start:0x800EC054 end:0x800EC230 - -TRK_MINNOW_DOLPHIN/msgbuf.c: - .text start:0x800EC230 end:0x800ECC5C - .rodata start:0x8011EA70 end:0x8011EA90 - .bss start:0x801A7760 end:0x801A9110 - -TRK_MINNOW_DOLPHIN/serpoll.c: - .text start:0x800ECC5C end:0x800ED028 - .bss start:0x801A9110 end:0x801A9128 - -TRK_MINNOW_DOLPHIN/usr_put.c: - .text start:0x800ED028 end:0x800ED0B4 - -TRK_MINNOW_DOLPHIN/dispatch.c: - .text start:0x800ED0B4 end:0x800ED150 - .data start:0x8013E998 end:0x8013EA20 - .bss start:0x801A9128 end:0x801A9130 - -TRK_MINNOW_DOLPHIN/msghndlr.c: - .text start:0x800ED150 end:0x800EF9B0 - .data start:0x8013EA20 end:0x8013EA58 - .bss start:0x801A9130 end:0x801A9138 - -TRK_MINNOW_DOLPHIN/support.c: - .text start:0x800EF9B0 end:0x800F0270 - -TRK_MINNOW_DOLPHIN/mutex_TRK.c: - .text start:0x800F0270 end:0x800F0288 - -TRK_MINNOW_DOLPHIN/notify.c: - .text start:0x800F0288 end:0x800F0360 - -TRK_MINNOW_DOLPHIN/flush_cache.c: - .text start:0x800F0360 end:0x800F0398 - -TRK_MINNOW_DOLPHIN/mem_TRK.c: - .init start:0x800034E0 end:0x80003534 - .text start:0x800F0398 end:0x800F0454 - -TRK_MINNOW_DOLPHIN/targimpl.c: - .text start:0x800F0454 end:0x800F1CE4 - .rodata start:0x8011EA90 end:0x8011EB18 - .data start:0x8013EA58 end:0x8013EA88 - .bss start:0x801A9138 end:0x801A96B8 - -TRK_MINNOW_DOLPHIN/targsupp.s: - .text start:0x800F1CF0 end:0x800F1D10 - -TRK_MINNOW_DOLPHIN/__exception.s: - .init start:0x80003534 end:0x80005468 - -TRK_MINNOW_DOLPHIN/dolphin_trk.c: - .init start:0x80005468 end:0x8000556C - .text start:0x800F1D10 end:0x800F1E50 - .data start:0x8013EA88 end:0x8013EAC8 - .bss start:0x801A96B8 end:0x801A96C0 - -TRK_MINNOW_DOLPHIN/mpc_7xx_603e.c: - .text start:0x800F1E50 end:0x800F21C8 - -TRK_MINNOW_DOLPHIN/main_TRK.c: - .text start:0x800F21C8 end:0x800F220C - .bss start:0x801A96C0 end:0x801A96C8 - -TRK_MINNOW_DOLPHIN/dolphin_trk_glue.c: - .text start:0x800F220C end:0x800F26B8 - .rodata start:0x8011EB18 end:0x8011EB60 - .data start:0x8013EAC8 end:0x8013EAE8 - .bss start:0x801A96C8 end:0x801AB8F0 - -TRK_MINNOW_DOLPHIN/targcont.c: - .text start:0x800F26B8 end:0x800F26EC - -TRK_MINNOW_DOLPHIN/target_options.c: - .text start:0x800F26EC end:0x800F2708 - .bss start:0x801AB8F0 end:0x801AB8F8 - -TRK_MINNOW_DOLPHIN/mslsupp.c: - .text start:0x800F2708 end:0x800F2880 - -musyx/runtime/seq.c: - .text start:0x800F2880 end:0x800F67F0 - .data start:0x8013EAE8 end:0x8013EB38 - .bss start:0x801AB8F8 end:0x801B9138 - .sbss start:0x801D4788 end:0x801D47A8 - .sdata2 start:0x801D6988 end:0x801D69A8 - -musyx/runtime/synth.c: - .text start:0x800F67F0 end:0x800F9B4C - .bss start:0x801B9138 end:0x801BA720 - .sbss start:0x801D47A8 end:0x801D47F0 - .sdata2 start:0x801D69A8 end:0x801D69E8 - -musyx/runtime/seq_api.c: - .text start:0x800F9B4C end:0x800F9DCC - -musyx/runtime/snd_synthapi.c: - .text start:0x800F9DCC end:0x800FA54C - -musyx/runtime/stream.c: - .text start:0x800FA54C end:0x800FE0B8 - .bss start:0x801BA720 end:0x801BC020 - .sbss start:0x801D47F0 end:0x801D47F8 - .sdata2 start:0x801D69E8 end:0x801D6A00 - -musyx/runtime/synthdata.c: - .text start:0x800FE0B8 end:0x800FFE48 - .bss start:0x801BC020 end:0x801C6658 - .sbss start:0x801D47F8 end:0x801D4840 - -musyx/runtime/synthmacros.c: - .text start:0x800FFE48 end:0x80104BA0 - .data start:0x8013EB38 end:0x8013EF80 - .bss start:0x801C6658 end:0x801C6678 - .sbss start:0x801D4840 end:0x801D4860 - .sdata2 start:0x801D6A00 end:0x801D6A28 - -musyx/runtime/synthvoice.c: - .text start:0x80104BA0 end:0x80106630 - .bss start:0x801C6678 end:0x801C7638 - .sbss start:0x801D4860 end:0x801D4878 - -musyx/runtime/synth_ac.c: - .text start:0x80106630 end:0x80106750 - .data start:0x8013EF80 end:0x8013F380 - .sdata2 start:0x801D6A28 end:0x801D6A40 - -musyx/runtime/synth_dbtab.c: - .data start:0x8013F380 end:0x8013FB08 - -musyx/runtime/synth_adsr.c: - .text start:0x80106750 end:0x80106F10 - .sdata2 start:0x801D6A40 end:0x801D6A68 - -musyx/runtime/synth_vsamples.c: - .text start:0x80106F10 end:0x80107698 - .bss start:0x801C7638 end:0x801C7F88 - -musyx/runtime/s_data.c: - .text start:0x80107698 end:0x801081F0 - .bss start:0x801C7F88 end:0x801C8588 - .sbss start:0x801D4878 end:0x801D4880 - -musyx/runtime/hw_dspctrl.c: - .text start:0x801081F0 end:0x8010B604 - .rodata start:0x8011EB60 end:0x8011EBB8 - .data start:0x8013FB08 end:0x8013FB20 - .bss start:0x801C8588 end:0x801C8C68 - .sbss start:0x801D4880 end:0x801D48C0 - -musyx/runtime/hw_volconv.c: - .text start:0x8010B604 end:0x8010BCF4 - .data start:0x8013FB20 end:0x8013FD48 - .sdata2 start:0x801D6A68 end:0x801D6AA0 - -musyx/runtime/snd3d.c: - .text start:0x8010BCF4 end:0x8010E0C4 - .bss start:0x801C8C68 end:0x801C9AB8 - .sbss start:0x801D48C0 end:0x801D48E0 - .sdata2 start:0x801D6AA0 end:0x801D6AF0 - -musyx/runtime/snd_init.c: - .text start:0x8010E0C4 end:0x8010E218 - -musyx/runtime/snd_math.c: - .text start:0x8010E218 end:0x8010E5D8 - .sdata2 start:0x801D6AF0 end:0x801D6B10 - -musyx/runtime/snd_midictrl.c: - .text start:0x8010E5D8 end:0x801102AC - .rodata start:0x8011EBB8 end:0x8011ECC8 - .data start:0x8013FD48 end:0x8013FDD8 - .bss start:0x801C9AB8 end:0x801D02B8 - -musyx/runtime/snd_service.c: - .text start:0x801102AC end:0x80110458 - .data start:0x8013FDD8 end:0x801405E0 - .sdata start:0x801D39D8 end:0x801D39E0 - -musyx/runtime/hardware.c: - .text start:0x80110458 end:0x8011145C - .rodata start:0x8011ECC8 end:0x8011EDC8 - .sdata start:0x801D39E0 end:0x801D39F0 - .sbss start:0x801D48E0 end:0x801D48F0 - .sdata2 start:0x801D6B10 end:0x801D6B28 - -musyx/runtime/dsp_import.c: - .data start:0x801405E0 end:0x80141FC0 - .sdata start:0x801D39F0 end:0x801D39F8 - -musyx/runtime/hw_aramdma.c: - .text start:0x8011145C end:0x801120D0 - .bss start:0x801D02B8 end:0x801D0BC0 - .sbss start:0x801D48F0 end:0x801D4910 - -musyx/runtime/hw_dolphin.c: - .text start:0x801120D0 end:0x801125C8 - .bss start:0x801D0BC0 end:0x801D2C20 - .sbss start:0x801D4910 end:0x801D4938 - -musyx/runtime/hw_memory.c: - .text start:0x801125C8 end:0x8011261C - -musyx/runtime/CheapReverb/creverb_fx.c: - .text start:0x8011261C end:0x801126D8 - -musyx/runtime/CheapReverb/creverb.c: - .text start:0x801126D8 end:0x80112F94 - .data start:0x80141FC0 end:0x80141FD0 - .sdata2 start:0x801D6B28 end:0x801D6B68 - -musyx/runtime/StdReverb/reverb_fx.c: - .text start:0x80112F94 end:0x80113054 - -musyx/runtime/StdReverb/reverb.c: - .text start:0x80113054 end:0x80113D98 - .data start:0x80141FD0 end:0x80141FF0 - .sdata2 start:0x801D6B68 end:0x801D6BB0 - -musyx/runtime/Delay/delay_fx.c: - .text start:0x80113D98 end:0x80114144 - -musyx/runtime/Chorus/chorus_fx.c: - .text start:0x80114144 end:0x801149AC - .data start:0x80141FF0 end:0x801427F0 - .sdata2 start:0x801D6BB0 end:0x801D6BB8 - -OdemuExi2/DebuggerDriver.c: - .text start:0x801149AC end:0x8011542C - .sdata start:0x801D39F8 end:0x801D39F9 - .sbss start:0x801D4938 end:0x801D494D - -amcstubs/AmcExi2Stubs.c: - .text start:0x8011542C end:0x8011545C - -odenotstub/odenotstub.c: - .text start:0x8011545C end:0x80115464 - -libhu/setvf.c: - .text start:0x80115464 end:0x80115474 - -libhu/subvf.c: - .text start:0x80115474 end:0x801154A8 - -msm/msmsys.c: - .text start:0x801154A8 end:0x801176C8 - .bss start:0x801D2C20 end:0x801D3120 - .sdata2 start:0x801D6BB8 end:0x801D6BC0 - -msm/msmmem.c: - .text start:0x801176C8 end:0x801178F8 - .bss start:0x801D3120 end:0x801D3150 - -msm/msmfio.c: - .text start:0x801178F8 end:0x801179E8 - .bss start:0x801D3150 end:0x801D3160 - -msm/msmmus.c: - .text start:0x801179E8 end:0x80118A80 - .bss start:0x801D3160 end:0x801D32D8 - -msm/msmse.c: - .text start:0x80118A80 end:0x8011A044 - .bss start:0x801D32D8 end:0x801D33C0 - .sdata2 start:0x801D6BC0 end:0x801D6BD8 - -msm/msmstream.c: - .text start:0x8011A044 end:0x8011CCC4 - .bss start:0x801D33C0 end:0x801D3420 - -game/kerent.c: - .text start:0x8011CCC4 end:0x8011DCA8 diff --git a/config/GMPE01_01/symbols.txt b/config/GMPE01_01/symbols.txt deleted file mode 100644 index 5bed188a..00000000 --- a/config/GMPE01_01/symbols.txt +++ /dev/null @@ -1,7714 +0,0 @@ -__check_pad3 = .init:0x80003100; // type:function size:0x40 scope:local -__start = .init:0x80003140; // type:function size:0x138 scope:weak -__init_registers = .init:0x80003278; // type:function size:0x1C scope:local -__init_data = .init:0x80003294; // type:function size:0xC0 scope:local -__init_hardware = .init:0x80003354; // type:function size:0x20 scope:global -__flush_cache = .init:0x80003374; // type:function size:0x34 scope:global -memset = .init:0x800033A8; // type:function size:0x30 scope:global -__fill_mem = .init:0x800033D8; // type:function size:0xB8 scope:global -memcpy = .init:0x80003490; // type:function size:0x50 scope:global -TRK_memset = .init:0x800034E0; // type:function size:0x30 -TRK_memcpy = .init:0x80003510; // type:function size:0x24 -gTRKInterruptVectorTable = .init:0x80003534; // type:label scope:global -lbl_8000387C = .init:0x8000387C; // type:label -lbl_800038E0 = .init:0x800038E0; // type:label -__TRK_reset = .init:0x80005468; // type:function size:0x104 -gTRKInterruptVectorTableEnd = .init:0x80005468; // type:label scope:global -_rom_copy_info = .init:0x8000556C; // type:object size:0x84 scope:global data:4byte -_bss_init_info = .init:0x800055F0; // type:object size:0x20 scope:global data:4byte -@etb_80005620 = extab:0x80005620; // type:object size:0x28 scope:local hidden -@etb_80005648 = extab:0x80005648; // type:object size:0x8 scope:local hidden -@etb_80005650 = extab:0x80005650; // type:object size:0x8 scope:local hidden -@etb_80005658 = extab:0x80005658; // type:object size:0x8 scope:local hidden -@etb_80005660 = extab:0x80005660; // type:object size:0x8 scope:local hidden -@etb_80005668 = extab:0x80005668; // type:object size:0x8 scope:local hidden -@etb_80005670 = extab:0x80005670; // type:object size:0x8 scope:local hidden -@etb_80005678 = extab:0x80005678; // type:object size:0x14 scope:local hidden -@etb_8000568C = extab:0x8000568C; // type:object size:0x2C scope:local hidden -@etb_800056B8 = extab:0x800056B8; // type:object size:0x8 scope:local hidden -@etb_800056C0 = extab:0x800056C0; // type:object size:0x14 scope:local hidden -@etb_800056D4 = extab:0x800056D4; // type:object size:0x8 scope:local hidden -@etb_800056DC = extab:0x800056DC; // type:object size:0x8 scope:local hidden -@eti_80005700 = extabindex:0x80005700; // type:object size:0xC scope:local hidden -@eti_8000570C = extabindex:0x8000570C; // type:object size:0xC scope:local hidden -@eti_80005718 = extabindex:0x80005718; // type:object size:0xC scope:local hidden -@eti_80005724 = extabindex:0x80005724; // type:object size:0xC scope:local hidden -@eti_80005730 = extabindex:0x80005730; // type:object size:0xC scope:local hidden -@eti_8000573C = extabindex:0x8000573C; // type:object size:0xC scope:local hidden -@eti_80005748 = extabindex:0x80005748; // type:object size:0xC scope:local hidden -@eti_80005754 = extabindex:0x80005754; // type:object size:0xC scope:local hidden -@eti_80005760 = extabindex:0x80005760; // type:object size:0xC scope:local hidden -@eti_8000576C = extabindex:0x8000576C; // type:object size:0xC scope:local hidden -@eti_80005778 = extabindex:0x80005778; // type:object size:0xC scope:local hidden -@eti_80005784 = extabindex:0x80005784; // type:object size:0xC scope:local hidden -@eti_80005790 = extabindex:0x80005790; // type:object size:0xC scope:local hidden -_eti_init_info = extabindex:0x8000579C; // type:object size:0x20 scope:global -main = .text:0x800057C0; // type:function size:0x22C scope:global -HuSysVWaitSet = .text:0x800059EC; // type:function size:0x38 -HuSysVWaitGet = .text:0x80005A24; // type:function size:0xC -rand8 = .text:0x80005A30; // type:function size:0x2C -HuPadInit = .text:0x80005A5C; // type:function size:0xF0 -HuPadRead = .text:0x80005B4C; // type:function size:0x168 -PadReadVSync = .text:0x80005CB4; // type:function size:0x440 scope:local -PadADConv = .text:0x800060F4; // type:function size:0x234 scope:local -HuPadRumbleSet = .text:0x80006328; // type:function size:0x54 -HuPadRumbleStop = .text:0x8000637C; // type:function size:0x70 -HuPadRumbleAllStop = .text:0x800063EC; // type:function size:0x70 -HuPadStatGet = .text:0x8000645C; // type:function size:0x14 -HuPadRumbleGet = .text:0x80006470; // type:function size:0x8 -HuDVDReadAsyncCallBack = .text:0x80006478; // type:function size:0xC scope:local -HuDvdDataRead = .text:0x80006484; // type:function size:0x16C -HuDvdDataReadMulti = .text:0x800065F0; // type:function size:0x1B4 -HuDvdDataReadDirect = .text:0x800067A4; // type:function size:0x170 -HuDvdDataFastRead = .text:0x80006914; // type:function size:0x16C -HuDvdDataFastReadNum = .text:0x80006A80; // type:function size:0x174 -HuDvdDataFastReadAsync = .text:0x80006BF4; // type:function size:0x150 -HuDvdDataClose = .text:0x80006D44; // type:function size:0x38 -HuDvdErrorWatch = .text:0x80006D7C; // type:function size:0xBC -HuDataInit = .text:0x80006E38; // type:function size:0xD0 -HuDataReadChk = .text:0x80006F08; // type:function size:0x74 -HuDataGetStatus = .text:0x80006F7C; // type:function size:0x64 -HuDataGetDirPtr = .text:0x80006FE0; // type:function size:0xB8 -HuDataDirRead = .text:0x80007098; // type:function size:0x224 -HuDataDirSet = .text:0x800072BC; // type:function size:0x188 -HuDataDirReadAsyncCallBack = .text:0x80007444; // type:function size:0xC8 -HuDataDirReadAsync = .text:0x8000750C; // type:function size:0x1A8 -HuDataDirReadNumAsync = .text:0x800076B4; // type:function size:0x1A8 -HuDataGetAsyncStat = .text:0x8000785C; // type:function size:0x60 -HuDataRead = .text:0x800078BC; // type:function size:0x344 -HuDataReadNum = .text:0x80007C00; // type:function size:0x3A0 -HuDataSelHeapRead = .text:0x80007FA0; // type:function size:0x3C4 -HuDataSelHeapReadNum = .text:0x80008364; // type:function size:0x428 -HuDataReadMulti = .text:0x8000878C; // type:function size:0x30 -HuDataReadMultiSub = .text:0x800087BC; // type:function size:0x3FC -HuDataGetSize = .text:0x80008BB8; // type:function size:0x104 -HuDataClose = .text:0x80008CBC; // type:function size:0x38 -HuDataCloseMulti = .text:0x80008CF4; // type:function size:0x7C -HuDataDirClose = .text:0x80008D70; // type:function size:0xD4 -HuDataDirCloseNum = .text:0x80008E44; // type:function size:0x130 -HuDataReadNumHeapShortForce = .text:0x80008F74; // type:function size:0x48C -HuDecodeSlide = .text:0x80009400; // type:function size:0x200 scope:local -HuDecodeFslide = .text:0x80009600; // type:function size:0x1D8 scope:local -HuDecodeData = .text:0x800097D8; // type:function size:0x324 -HuSysInit = .text:0x80009AFC; // type:function size:0x138 -InitRenderMode = .text:0x80009C34; // type:function size:0xD0 scope:local -InitGX = .text:0x80009D04; // type:function size:0x164 scope:local -InitMem = .text:0x80009E68; // type:function size:0x13C scope:local -InitVI = .text:0x80009FA4; // type:function size:0x54 scope:local -HuSysBeforeRender = .text:0x80009FF8; // type:function size:0xE4 -HuSysDoneRender = .text:0x8000A0DC; // type:function size:0xC8 -SwapBuffers = .text:0x8000A1A4; // type:function size:0x6C scope:local -LoadMemInfo = .text:0x8000A210; // type:function size:0x254 scope:local -gcsetjmp = .text:0x8000A464; // type:function size:0x74 -gclongjmp = .text:0x8000A4D8; // type:function size:0x80 -HuMemInitAll = .text:0x8000A558; // type:function size:0x12C -HuMemInit = .text:0x8000A684; // type:function size:0x30 -HuMemDCFlushAll = .text:0x8000A6B4; // type:function size:0x2C -HuMemDCFlush = .text:0x8000A6E0; // type:function size:0x54 -HuMemDirectMalloc = .text:0x8000A734; // type:function size:0x64 -HuMemDirectMallocNum = .text:0x8000A798; // type:function size:0x6C -HuMemDirectFree = .text:0x8000A804; // type:function size:0x38 -HuMemDirectFreeNum = .text:0x8000A83C; // type:function size:0x54 -HuMemUsedMallocSizeGet = .text:0x8000A890; // type:function size:0x3C -HuMemUsedMallocBlockGet = .text:0x8000A8CC; // type:function size:0x3C -HuMemHeapSizeGet = .text:0x8000A908; // type:function size:0x18 -HuMemHeapPtrGet = .text:0x8000A920; // type:function size:0x18 -HuMemHeapInit = .text:0x8000A938; // type:function size:0x4C -HuMemMemoryAllocNum = .text:0x8000A984; // type:function size:0x40 -HuMemMemoryAlloc = .text:0x8000A9C4; // type:function size:0x3C -HuMemMemoryAlloc2 = .text:0x8000AA00; // type:function size:0x108 scope:local -HuMemMemoryFreeNum = .text:0x8000AB08; // type:function size:0x7C -HuMemMemoryFree = .text:0x8000AB84; // type:function size:0x12C -HuMemUsedMemorySizeGet = .text:0x8000ACB0; // type:function size:0x48 -HuMemUsedMemoryBlockGet = .text:0x8000ACF8; // type:function size:0x44 -HuMemMemoryAllocSizeGet = .text:0x8000AD3C; // type:function size:0xC -HuMemHeapDump = .text:0x8000AD48; // type:function size:0x158 -HuMemMemorySizeGet = .text:0x8000AEA0; // type:function size:0x50 -pfInit = .text:0x8000AEF0; // type:function size:0x64 -pfClsScr = .text:0x8000AF54; // type:function size:0xA0 -print8 = .text:0x8000AFF4; // type:function size:0x15C -printWin = .text:0x8000B150; // type:function size:0xAC -pfDrawFonts = .text:0x8000B1FC; // type:function size:0xEE8 -WireDraw = .text:0x8000C0E4; // type:function size:0x3C0 scope:local -HuPrcInit = .text:0x8000C4A4; // type:function size:0x14 -HuPrcCreate = .text:0x8000C4B8; // type:function size:0x1E8 -HuPrcChildLink = .text:0x8000C6A0; // type:function size:0x68 -HuPrcChildUnlink = .text:0x8000C708; // type:function size:0x58 -HuPrcChildCreate = .text:0x8000C760; // type:function size:0x27C -HuPrcChildWatch = .text:0x8000C9DC; // type:function size:0x60 -HuPrcCurrentGet = .text:0x8000CA3C; // type:function size:0x8 -SetKillStatusProcess = .text:0x8000CA44; // type:function size:0x50 scope:local -HuPrcKill = .text:0x8000CA94; // type:function size:0xD4 -HuPrcChildKill = .text:0x8000CB68; // type:function size:0x2A4 -HuPrcEnd = .text:0x8000CE0C; // type:function size:0x100 -HuPrcSleep = .text:0x8000CF0C; // type:function size:0x80 -HuPrcVSleep = .text:0x8000CF8C; // type:function size:0x54 -HuPrcWakeup = .text:0x8000CFE0; // type:function size:0xC -HuPrcDestructorSet2 = .text:0x8000CFEC; // type:function size:0x8 -HuPrcDestructorSet = .text:0x8000CFF4; // type:function size:0x28 -HuPrcCall = .text:0x8000D01C; // type:function size:0x184 -HuPrcMemAlloc = .text:0x8000D1A0; // type:function size:0x4C -HuPrcMemFree = .text:0x8000D1EC; // type:function size:0x30 -HuPrcSetStat = .text:0x8000D21C; // type:function size:0x10 -HuPrcResetStat = .text:0x8000D22C; // type:function size:0x14 -HuPrcAllPause = .text:0x8000D240; // type:function size:0x84 -HuPrcAllUPause = .text:0x8000D2C4; // type:function size:0x84 -HuSprInit = .text:0x8000D348; // type:function size:0xA0 -HuSprClose = .text:0x8000D3E8; // type:function size:0xB0 -HuSprExec = .text:0x8000D498; // type:function size:0x64 -HuSprBegin = .text:0x8000D4FC; // type:function size:0x188 -HuSprOrderEntry = .text:0x8000D684; // type:function size:0x14C -HuSprCall = .text:0x8000D7D0; // type:function size:0xF4 -HuSprFinish = .text:0x8000D8C4; // type:function size:0x458 -HuSprPauseSet = .text:0x8000DD1C; // type:function size:0x8 -HuSprAnimRead = .text:0x8000DD24; // type:function size:0x114 -HuSprAnimLock = .text:0x8000DE38; // type:function size:0x10 -HuSprCreate = .text:0x8000DE48; // type:function size:0x128 -HuSprFuncCreate = .text:0x8000DF70; // type:function size:0x188 -HuSprGrpCreate = .text:0x8000E0F8; // type:function size:0xF4 -HuSprGrpCopy = .text:0x8000E1EC; // type:function size:0x334 -HuSprGrpMemberSet = .text:0x8000E520; // type:function size:0x8C -HuSprGrpMemberKill = .text:0x8000E5AC; // type:function size:0xAC -HuSprGrpKill = .text:0x8000E658; // type:function size:0x9C -HuSprKill = .text:0x8000E6F4; // type:function size:0x84 -HuSprAnimKill = .text:0x8000E778; // type:function size:0x90 -HuSprAttrSet = .text:0x8000E808; // type:function size:0xAC -HuSprAttrReset = .text:0x8000E8B4; // type:function size:0xAC -HuSprPosSet = .text:0x8000E960; // type:function size:0x60 -HuSprZRotSet = .text:0x8000E9C0; // type:function size:0x5C -HuSprScaleSet = .text:0x8000EA1C; // type:function size:0x60 -HuSprTPLvlSet = .text:0x8000EA7C; // type:function size:0x64 -HuSprColorSet = .text:0x8000EAE0; // type:function size:0x64 -HuSprSpeedSet = .text:0x8000EB44; // type:function size:0x4C -HuSprBankSet = .text:0x8000EB90; // type:function size:0xF0 -HuSprGrpPosSet = .text:0x8000EC80; // type:function size:0x9C -HuSprGrpCenterSet = .text:0x8000ED1C; // type:function size:0x9C -HuSprGrpZRotSet = .text:0x8000EDB8; // type:function size:0x98 -HuSprGrpScaleSet = .text:0x8000EE50; // type:function size:0x9C -HuSprGrpTPLvlSet = .text:0x8000EEEC; // type:function size:0xC0 -HuSprGrpDrawNoSet = .text:0x8000EFAC; // type:function size:0x8C -HuSprDrawNoSet = .text:0x8000F038; // type:function size:0x50 -HuSprPriSet = .text:0x8000F088; // type:function size:0x4C -HuSprGrpScissorSet = .text:0x8000F0D4; // type:function size:0xAC -HuSprScissorSet = .text:0x8000F180; // type:function size:0x58 -HuSprAnimMake = .text:0x8000F1D8; // type:function size:0x1FC -HuSprBGSet = .text:0x8000F3D4; // type:function size:0x68 -HuSprSprBGSet = .text:0x8000F43C; // type:function size:0x50 -AnimDebug = .text:0x8000F48C; // type:function size:0x214 -HuSprDispInit = .text:0x8000F6A0; // type:function size:0x158 -HuSprDisp = .text:0x8000F7F8; // type:function size:0xECC -HuSprTexLoad = .text:0x800106C4; // type:function size:0x29C -HuSprExecLayerSet = .text:0x80010960; // type:function size:0x58 -HuSprLayerHook = .text:0x800109B8; // type:function size:0x178 scope:local -LoadHSF = .text:0x80010B30; // type:function size:0xB0 -ClusterAdjustObject = .text:0x80010BE0; // type:function size:0xA0 -FileLoad = .text:0x80010C80; // type:function size:0xC8 scope:local -SetHsfModel = .text:0x80010D48; // type:function size:0x284 scope:local -SetName = .text:0x80010FCC; // type:function size:0x38 -MaterialLoad = .text:0x80011004; // type:function size:0x210 scope:local -AttributeLoad = .text:0x80011214; // type:function size:0xF8 scope:local -SceneLoad = .text:0x8001130C; // type:function size:0x80 scope:local -ColorLoad = .text:0x8001138C; // type:function size:0x130 scope:local -VertexLoad = .text:0x800114BC; // type:function size:0x1C0 scope:local -NormalLoad = .text:0x8001167C; // type:function size:0x128 scope:local -STLoad = .text:0x800117A4; // type:function size:0x1A8 scope:local -FaceLoad = .text:0x8001194C; // type:function size:0x190 scope:local -DispObject = .text:0x80011ADC; // type:function size:0x7A8 scope:local -ObjectLoad = .text:0x80012284; // type:function size:0x15C scope:local -CenvLoad = .text:0x800123E0; // type:function size:0x464 scope:local -SkeletonLoad = .text:0x80012844; // type:function size:0x198 scope:local -PartLoad = .text:0x800129DC; // type:function size:0x12C scope:local -ClusterLoad = .text:0x80012B08; // type:function size:0x1E8 scope:local -ShapeLoad = .text:0x80012CF0; // type:function size:0x168 scope:local -MapAttrLoad = .text:0x80012E58; // type:function size:0xD0 scope:local -BitmapLoad = .text:0x80012F28; // type:function size:0x174 scope:local -PaletteLoad = .text:0x8001309C; // type:function size:0x16C scope:local -MakeObjectName = .text:0x80013208; // type:function size:0xE8 -CmpObjectName = .text:0x800132F0; // type:function size:0x38 -MotionLoad = .text:0x80013328; // type:function size:0x938 scope:local -MatrixLoad = .text:0x80013C60; // type:function size:0x80 scope:local -SearchObjectSetName = .text:0x80013CE0; // type:function size:0x94 scope:local -SearchVertexPtr = .text:0x80013D74; // type:function size:0x44 scope:local -SearchNormalPtr = .text:0x80013DB8; // type:function size:0x44 scope:local -SearchStPtr = .text:0x80013DFC; // type:function size:0x44 scope:local -SearchColorPtr = .text:0x80013E40; // type:function size:0x44 scope:local -SearchFacePtr = .text:0x80013E84; // type:function size:0x44 scope:local -SearchCenvPtr = .text:0x80013EC8; // type:function size:0x44 scope:local -SearchPartPtr = .text:0x80013F0C; // type:function size:0x44 scope:local -SearchPalettePtr = .text:0x80013F50; // type:function size:0x3C scope:local -SearchBitmapPtr = .text:0x80013F8C; // type:function size:0x44 scope:local -GetString = .text:0x80013FD0; // type:function size:0x24 scope:local -GetMotionString = .text:0x80013FF4; // type:function size:0x24 scope:local -Hu3DDrawPreInit = .text:0x80014018; // type:function size:0xC -Hu3DDraw = .text:0x80014024; // type:function size:0x1A0 -objCall = .text:0x800141C4; // type:function size:0xEC scope:local -objMesh = .text:0x800142B0; // type:function size:0x86C scope:local -ObjCullCheck = .text:0x80014B1C; // type:function size:0x4C0 -FaceDraw = .text:0x80014FDC; // type:function size:0x10DC -SetTevStageNoTex = .text:0x800160B8; // type:function size:0x8E8 scope:local -SetTevStageTex = .text:0x800169A0; // type:function size:0x2588 scope:local -SetKColor = .text:0x80018F28; // type:function size:0x164 scope:local -SetKColorRGB = .text:0x8001908C; // type:function size:0x180 scope:local -FlushKColor = .text:0x8001920C; // type:function size:0xB0 scope:local -SetReflect = .text:0x800192BC; // type:function size:0x280 scope:local -SetProjection = .text:0x8001953C; // type:function size:0x29C scope:local -SetShadowTex = .text:0x800197D8; // type:function size:0x8C scope:local -SetShadow = .text:0x80019864; // type:function size:0xCC scope:local -FaceDrawShadow = .text:0x80019930; // type:function size:0x5E4 scope:local -LoadTexture = .text:0x80019F14; // type:function size:0x75C scope:local -objNull = .text:0x8001A670; // type:function size:0x248 scope:local -objRoot = .text:0x8001A8B8; // type:function size:0x198 scope:local -objJoint = .text:0x8001AA50; // type:function size:0x248 scope:local -objMap = .text:0x8001AC98; // type:function size:0x17C scope:local -objReplica = .text:0x8001AE14; // type:function size:0x1B4 scope:local -Hu3DDrawPost = .text:0x8001AFC8; // type:function size:0xB00 -ObjDraw = .text:0x8001BAC8; // type:function size:0x6D0 scope:local -MakeDisplayList = .text:0x8001C198; // type:function size:0xBC -MDObjCall = .text:0x8001C254; // type:function size:0x438 scope:local -MDObjMesh = .text:0x8001C68C; // type:function size:0x2A8 scope:local -ObjConstantMake = .text:0x8001C934; // type:function size:0x68 -MDFaceDraw = .text:0x8001C99C; // type:function size:0xD08 scope:local -MakeCalcNBT = .text:0x8001D6A4; // type:function size:0x3A8 scope:local -MakeNBT = .text:0x8001DA4C; // type:function size:0x2C4 scope:local -MDFaceCnt = .text:0x8001DD10; // type:function size:0x2C8 scope:local -mtxTransCat = .text:0x8001DFD8; // type:function size:0x4C -mtxRotCat = .text:0x8001E024; // type:function size:0xF4 -mtxRot = .text:0x8001E118; // type:function size:0xF0 -mtxScaleCat = .text:0x8001E208; // type:function size:0x70 -HmfInverseMtxF3X3 = .text:0x8001E278; // type:function size:0x1E0 -SetDefLight = .text:0x8001E458; // type:function size:0x190 -Hu3DModelObjPosGet = .text:0x8001E5E8; // type:function size:0x90 -Hu3DModelObjMtxGet = .text:0x8001E678; // type:function size:0x318 -PGObjCall = .text:0x8001E990; // type:function size:0x80 -PGObjCalc = .text:0x8001EA10; // type:function size:0x7B0 -PGObjReplica = .text:0x8001F1C0; // type:function size:0x574 -Hu3DObjDuplicate = .text:0x8001F734; // type:function size:0x158 -Hu3DModelObjDrawInit = .text:0x8001F88C; // type:function size:0x90 -Hu3DModelObjDraw = .text:0x8001F91C; // type:function size:0x90 -Hu3DInit = .text:0x8001F9AC; // type:function size:0x220 -Hu3DPreProc = .text:0x8001FBCC; // type:function size:0xD8 -Hu3DExec = .text:0x8001FCA4; // type:function size:0x688 -Hu3DAllKill = .text:0x8002032C; // type:function size:0x158 -Hu3DBGColorSet = .text:0x80020484; // type:function size:0x18 -Hu3DLayerHookSet = .text:0x8002049C; // type:function size:0x1C -Hu3DPauseSet = .text:0x800204B8; // type:function size:0xC -Hu3DNoSyncSet = .text:0x800204C4; // type:function size:0xC -Hu3DModelCreate = .text:0x800204D0; // type:function size:0x330 -Hu3DModelLink = .text:0x80020800; // type:function size:0x2E8 -Hu3DHookFuncCreate = .text:0x80020AE8; // type:function size:0x1C8 -Hu3DModelKill = .text:0x80020CB0; // type:function size:0x34C -Hu3DModelAllKill = .text:0x80020FFC; // type:function size:0xD0 -Hu3DModelPosSet = .text:0x800210CC; // type:function size:0x34 -Hu3DModelPosSetV = .text:0x80021100; // type:function size:0x40 -Hu3DModelRotSet = .text:0x80021140; // type:function size:0x34 -Hu3DModelRotSetV = .text:0x80021174; // type:function size:0x40 -Hu3DModelScaleSet = .text:0x800211B4; // type:function size:0x34 -Hu3DModelScaleSetV = .text:0x800211E8; // type:function size:0x40 -Hu3DModelAttrSet = .text:0x80021228; // type:function size:0x54 -Hu3DModelAttrReset = .text:0x8002127C; // type:function size:0x50 -Hu3DModelAttrGet = .text:0x800212CC; // type:function size:0x2C -Hu3DModelMotionAttrGet = .text:0x800212F8; // type:function size:0x2C -Hu3DModelClusterAttrSet = .text:0x80021324; // type:function size:0x44 -Hu3DModelClusterAttrReset = .text:0x80021368; // type:function size:0x44 -Hu3DModelCameraSet = .text:0x800213AC; // type:function size:0x2C -Hu3DModelLayerSet = .text:0x800213D8; // type:function size:0x6C -Hu3DModelObjPtrGet = .text:0x80021444; // type:function size:0xD8 -Hu3DModelTPLvlSet = .text:0x8002151C; // type:function size:0xF8 -Hu3DModelHiliteMapSet = .text:0x80021614; // type:function size:0x98 -Hu3DModelShadowSet = .text:0x800216AC; // type:function size:0xB0 -Hu3DModelShadowReset = .text:0x8002175C; // type:function size:0xA0 -Hu3DModelShadowDispOn = .text:0x800217FC; // type:function size:0x34 -Hu3DModelShadowDispOff = .text:0x80021830; // type:function size:0x34 -Hu3DModelShadowMapSet = .text:0x80021864; // type:function size:0x88 -Hu3DModelShadowMapObjSet = .text:0x800218EC; // type:function size:0xBC -Hu3DModelAmbSet = .text:0x800219A8; // type:function size:0x34 -Hu3DModelHookSet = .text:0x800219DC; // type:function size:0xEC -Hu3DModelHookReset = .text:0x80021AC8; // type:function size:0xB4 -Hu3DModelHookObjReset = .text:0x80021B7C; // type:function size:0xF0 -Hu3DModelProjectionSet = .text:0x80021C6C; // type:function size:0x44 -Hu3DModelProjectionReset = .text:0x80021CB0; // type:function size:0x44 -Hu3DModelHiliteTypeSet = .text:0x80021CF4; // type:function size:0xBC -Hu3DModelReflectTypeSet = .text:0x80021DB0; // type:function size:0x30 -Hu3DCameraCreate = .text:0x80021DE0; // type:function size:0x134 -Hu3DCameraPerspectiveSet = .text:0x80021F14; // type:function size:0x80 -Hu3DCameraViewportSet = .text:0x80021F94; // type:function size:0x88 -Hu3DCameraScissorSet = .text:0x8002201C; // type:function size:0x90 -Hu3DCameraPosSet = .text:0x800220AC; // type:function size:0x98 -Hu3DCameraPosSetV = .text:0x80022144; // type:function size:0xB8 -Hu3DCameraKill = .text:0x800221FC; // type:function size:0x78 -Hu3DCameraAllKill = .text:0x80022274; // type:function size:0xD0 -Hu3DCameraSet = .text:0x80022344; // type:function size:0xDC -Hu3DModelCameraInfoSet = .text:0x80022420; // type:function size:0x3C0 -Hu3DModelCameraCreate = .text:0x800227E0; // type:function size:0x88 -Hu3DCameraMotionOn = .text:0x80022868; // type:function size:0x58 -Hu3DCameraMotionStart = .text:0x800228C0; // type:function size:0xD4 -Hu3DCameraMotionOff = .text:0x80022994; // type:function size:0x34 -Hu3DLighInit = .text:0x800229C8; // type:function size:0x74 -Hu3DGLightCreate = .text:0x80022A3C; // type:function size:0xA0 -Hu3DGLightCreateV = .text:0x80022ADC; // type:function size:0x104 -Hu3DLLightCreate = .text:0x80022BE0; // type:function size:0xA8 -Hu3DLLightCreateV = .text:0x80022C88; // type:function size:0x17C -Hu3DGLightSpotSet = .text:0x80022E04; // type:function size:0x44 -Hu3DLLightSpotSet = .text:0x80022E48; // type:function size:0x6C -Hu3DGLightInfinitytSet = .text:0x80022EB4; // type:function size:0x48 -Hu3DLLightInfinitytSet = .text:0x80022EFC; // type:function size:0x70 -Hu3DGLightPointSet = .text:0x80022F6C; // type:function size:0x58 -Hu3DLLightPointSet = .text:0x80022FC4; // type:function size:0x80 -Hu3DGLightKill = .text:0x80023044; // type:function size:0x20 -Hu3DLLightKill = .text:0x80023064; // type:function size:0xBC -Hu3DLightAllKill = .text:0x80023120; // type:function size:0x68 -Hu3DGLightColorSet = .text:0x80023188; // type:function size:0x38 -Hu3DLLightColorSet = .text:0x800231C0; // type:function size:0x60 -Hu3DGLightPosSetV = .text:0x80023220; // type:function size:0x70 -Hu3DLLightPosSetV = .text:0x80023290; // type:function size:0x9C -Hu3DGLightPosSet = .text:0x8002332C; // type:function size:0x90 -Hu3DLLightPosSet = .text:0x800233BC; // type:function size:0xBC -Hu3DGLightPosAimSetV = .text:0x80023478; // type:function size:0x80 -Hu3DLLightPosAimSetV = .text:0x800234F8; // type:function size:0xAC -Hu3DGLightPosAimSet = .text:0x800235A4; // type:function size:0xC4 -Hu3DLLightPosAimSet = .text:0x80023668; // type:function size:0xF0 -Hu3DGLightStaticSet = .text:0x80023758; // type:function size:0x54 -Hu3DLLightStaticSet = .text:0x800237AC; // type:function size:0x7C -Hu3DModelLightInfoSet = .text:0x80023828; // type:function size:0x4D0 -Hu3DLightSet = .text:0x80023CF8; // type:function size:0x130 -lightSet = .text:0x80023E28; // type:function size:0x254 scope:local -Hu3DReflectMapSet = .text:0x8002407C; // type:function size:0x68 -Hu3DReflectNoSet = .text:0x800240E4; // type:function size:0x8 -Hu3DFogSet = .text:0x800240EC; // type:function size:0x60 -Hu3DFogClear = .text:0x8002414C; // type:function size:0x74 -Hu3DShadowCreate = .text:0x800241C0; // type:function size:0x188 -Hu3DShadowPosSet = .text:0x80024348; // type:function size:0x64 -Hu3DShadowTPLvlSet = .text:0x800243AC; // type:function size:0x2C -Hu3DShadowSizeSet = .text:0x800243D8; // type:function size:0x78 -Hu3DShadowExec = .text:0x80024450; // type:function size:0x860 -Hu3DProjectionCreate = .text:0x80024CB0; // type:function size:0x130 -Hu3DProjectionKill = .text:0x80024DE0; // type:function size:0x60 -Hu3DProjectionPosSet = .text:0x80024E40; // type:function size:0x88 -Hu3DProjectionTPLvlSet = .text:0x80024EC8; // type:function size:0x38 -Hu3DMipMapSet = .text:0x80024F00; // type:function size:0x1E8 -Hu3DMotionInit = .text:0x800250E8; // type:function size:0x48 -Hu3DMotionCreate = .text:0x80025130; // type:function size:0xA4 -Hu3DMotionModelCreate = .text:0x800251D4; // type:function size:0xC4 -Hu3DMotionKill = .text:0x80025298; // type:function size:0x114 -Hu3DMotionAllKill = .text:0x800253AC; // type:function size:0x11C -Hu3DMotionSet = .text:0x800254C8; // type:function size:0xBC -Hu3DMotionOverlaySet = .text:0x80025584; // type:function size:0x54 -Hu3DMotionOverlayReset = .text:0x800255D8; // type:function size:0x20 -Hu3DMotionOverlayTimeGet = .text:0x800255F8; // type:function size:0x1C -Hu3DMotionOverlayTimeSet = .text:0x80025614; // type:function size:0x1C -Hu3DMotionOverlaySpeedSet = .text:0x80025630; // type:function size:0x1C -Hu3DMotionShiftSet = .text:0x8002564C; // type:function size:0x1F4 -Hu3DMotionShapeSet = .text:0x80025840; // type:function size:0xBC -Hu3DMotionShapeIDGet = .text:0x800258FC; // type:function size:0x1C -Hu3DMotionShapeSpeedSet = .text:0x80025918; // type:function size:0x2C -Hu3DMotionShapeTimeSet = .text:0x80025944; // type:function size:0x1C -Hu3DMotionShapeMaxTimeGet = .text:0x80025960; // type:function size:0x44 -Hu3DMotionShapeStartEndSet = .text:0x800259A4; // type:function size:0x30 -Hu3DMotionClusterSet = .text:0x800259D4; // type:function size:0x114 -Hu3DMotionClusterNoSet = .text:0x80025AE8; // type:function size:0xD0 -Hu3DMotionShapeReset = .text:0x80025BB8; // type:function size:0x20 -Hu3DMotionClusterReset = .text:0x80025BD8; // type:function size:0xC8 -Hu3DMotionIDGet = .text:0x80025CA0; // type:function size:0x2C -Hu3DMotionShiftIDGet = .text:0x80025CCC; // type:function size:0x2C -Hu3DMotionTimeSet = .text:0x80025CF8; // type:function size:0xF4 -Hu3DMotionTimeGet = .text:0x80025DEC; // type:function size:0x2C -Hu3DMotionShiftTimeGet = .text:0x80025E18; // type:function size:0x2C -Hu3DMotionMaxTimeGet = .text:0x80025E44; // type:function size:0xA8 -Hu3DMotionShiftMaxTimeGet = .text:0x80025EEC; // type:function size:0xA8 -Hu3DMotionShiftStartEndSet = .text:0x80025F94; // type:function size:0x30 -Hu3DMotionMotionMaxTimeGet = .text:0x80025FC4; // type:function size:0x8C -Hu3DMotionStartEndSet = .text:0x80026050; // type:function size:0x30 -Hu3DMotionEndCheck = .text:0x80026080; // type:function size:0x170 -Hu3DMotionSpeedSet = .text:0x800261F0; // type:function size:0x2C -Hu3DMotionShiftSpeedSet = .text:0x8002621C; // type:function size:0x2C -Hu3DMotionNoMotSet = .text:0x80026248; // type:function size:0x114 -Hu3DMotionNoMotReset = .text:0x8002635C; // type:function size:0x5C -Hu3DMotionForceSet = .text:0x800263B8; // type:function size:0x108 -Hu3DMotionNext = .text:0x800264C0; // type:function size:0x798 -Hu3DMotionExec = .text:0x80026C58; // type:function size:0x534 -Hu3DCameraMotionExec = .text:0x8002718C; // type:function size:0xC0 -Hu3DSubMotionExec = .text:0x8002724C; // type:function size:0x2A8 -GetObjTRXPtr = .text:0x800274F4; // type:function size:0x14C scope:weak -SetObjMatMotion = .text:0x80027640; // type:function size:0x208 -SetObjAttrMotion = .text:0x80027848; // type:function size:0x218 -SetObjCameraMotion = .text:0x80027A60; // type:function size:0x558 -SetObjLightMotion = .text:0x80027FB8; // type:function size:0x1D8 -GetCurve = .text:0x80028190; // type:function size:0xD8 -GetConstant = .text:0x80028268; // type:function size:0x70 -GetLinear = .text:0x800282D8; // type:function size:0x110 -GetBezier = .text:0x800283E8; // type:function size:0x200 scope:weak -GetBitMap = .text:0x800285E8; // type:function size:0x64 -Hu3DJointMotion = .text:0x8002864C; // type:function size:0xCC -JointModel_Motion = .text:0x80028718; // type:function size:0x124 -Hu3DMotionCalc = .text:0x8002883C; // type:function size:0x19C -SearchObjectIndex = .text:0x800289D8; // type:function size:0x90 scope:local -SearchAttributeIndex = .text:0x80028A68; // type:function size:0x9C scope:local -Hu3DAnimInit = .text:0x80028B04; // type:function size:0x7C -Hu3DAnimCreate = .text:0x80028B80; // type:function size:0x1D0 -Hu3DAnimLink = .text:0x80028D50; // type:function size:0x1C4 -Hu3DAnimKill = .text:0x80028F14; // type:function size:0x104 -Hu3DAnimModelKill = .text:0x80029018; // type:function size:0x13C -Hu3DAnimAllKill = .text:0x80029154; // type:function size:0x134 -Hu3DAnimAttrSet = .text:0x80029288; // type:function size:0x34 -Hu3DAnimAttrReset = .text:0x800292BC; // type:function size:0x38 -Hu3DAnimSpeedSet = .text:0x800292F4; // type:function size:0x2C -Hu3DAnimBankSet = .text:0x80029320; // type:function size:0x48 -Hu3DAnmNoSet = .text:0x80029368; // type:function size:0x38 -Hu3DAnimSet = .text:0x800293A0; // type:function size:0x240 -Hu3DAnimExec = .text:0x800295E0; // type:function size:0x474 -Hu3DTexScrollCreate = .text:0x80029A54; // type:function size:0x1AC -Hu3DTexScrollKill = .text:0x80029C00; // type:function size:0xE0 -Hu3DTexScrollAllKill = .text:0x80029CE0; // type:function size:0x10C -Hu3DTexScrollPosSet = .text:0x80029DEC; // type:function size:0x44 -Hu3DTexScrollPosMoveSet = .text:0x80029E30; // type:function size:0xA4 -Hu3DTexScrollRotSet = .text:0x80029ED4; // type:function size:0x3C -Hu3DTexScrollRotMoveSet = .text:0x80029F10; // type:function size:0x5C -Hu3DTexScrollPauseDisableSet = .text:0x80029F6C; // type:function size:0x54 -Hu3DParticleCreate = .text:0x80029FC0; // type:function size:0x348 -Hu3DParticleScaleSet = .text:0x8002A308; // type:function size:0x6C -Hu3DParticleZRotSet = .text:0x8002A374; // type:function size:0x6C -Hu3DParticleColSet = .text:0x8002A3E0; // type:function size:0x74 -Hu3DParticleTPLvlSet = .text:0x8002A454; // type:function size:0x80 -Hu3DParticleBlendModeSet = .text:0x8002A4D4; // type:function size:0x38 -Hu3DParticleHookSet = .text:0x8002A50C; // type:function size:0x38 -Hu3DParticleAttrSet = .text:0x8002A544; // type:function size:0x40 -Hu3DParticleAttrReset = .text:0x8002A584; // type:function size:0x44 -Hu3DParticleCntSet = .text:0x8002A5C8; // type:function size:0x3C -Hu3DParticleAnimModeSet = .text:0x8002A604; // type:function size:0x60 -particleFunc = .text:0x8002A664; // type:function size:0xAD4 scope:local -Hu3DParManInit = .text:0x8002B138; // type:function size:0x48 -Hu3DParManCreate = .text:0x8002B180; // type:function size:0x1D4 -Hu3DParManLink = .text:0x8002B354; // type:function size:0x17C -Hu3DParManKill = .text:0x8002B4D0; // type:function size:0x190 -Hu3DParManAllKill = .text:0x8002B660; // type:function size:0x1C4 -Hu3DParManPtrGet = .text:0x8002B824; // type:function size:0x20 -Hu3DParManPosSet = .text:0x8002B844; // type:function size:0x3C -Hu3DParManVecSet = .text:0x8002B880; // type:function size:0x3C -Hu3DParManRotSet = .text:0x8002B8BC; // type:function size:0x7C -Hu3DParManAttrSet = .text:0x8002B938; // type:function size:0x40 -Hu3DParManAttrReset = .text:0x8002B978; // type:function size:0x40 -Hu3DParManModelIDGet = .text:0x8002B9B8; // type:function size:0x34 -Hu3DParManTimeLimitSet = .text:0x8002B9EC; // type:function size:0x38 -Hu3DParManVacumeSet = .text:0x8002BA24; // type:function size:0x74 -Hu3DParManColorSet = .text:0x8002BA98; // type:function size:0x68 -ParManFunc = .text:0x8002BB00; // type:function size:0xBC0 scope:local -ParManHook = .text:0x8002C6C0; // type:function size:0x4B4 scope:local -CamMotionEx2 = .text:0x8002CB74; // type:function size:0xAC -CamMotionEx = .text:0x8002CC20; // type:function size:0xA14 -SetObjCamMotion = .text:0x8002D634; // type:function size:0x244 scope:local -InterpolateBMLine = .text:0x8002D878; // type:function size:0x40C -Hu3D2Dto3D = .text:0x8002DC84; // type:function size:0x1D4 -Hu3D3Dto2D = .text:0x8002DE58; // type:function size:0x1D0 -Hu3DMtxTransGet = .text:0x8002E028; // type:function size:0x1C -Hu3DMtxRotGet = .text:0x8002E044; // type:function size:0x540 -Hu3DMtxScaleGet = .text:0x8002E584; // type:function size:0x1C8 -HuPerfInit = .text:0x8002E74C; // type:function size:0x94 -HuPerfCreate = .text:0x8002E7E0; // type:function size:0x130 -HuPerfZero = .text:0x8002E910; // type:function size:0x40 -HuPerfBegin = .text:0x8002E950; // type:function size:0x7C -HuPerfEnd = .text:0x8002E9CC; // type:function size:0xA0 -DSCallbackFunc = .text:0x8002EA6C; // type:function size:0x16C scope:local -omMasterInit = .text:0x8002EBD8; // type:function size:0x90 -omWatchOverlayProc = .text:0x8002EC68; // type:function size:0x170 scope:local -omOvlCallEx = .text:0x8002EDD8; // type:function size:0xE8 -omOvlGotoEx = .text:0x8002EEC0; // type:function size:0x60 -omOvlReturnEx = .text:0x8002EF20; // type:function size:0xF4 -omOvlKill = .text:0x8002F014; // type:function size:0xB8 -omOvlHisChg = .text:0x8002F0CC; // type:function size:0xA0 -omOvlHisGet = .text:0x8002F16C; // type:function size:0x78 -omInitObjMan = .text:0x8002F1E4; // type:function size:0x220 -omDestroyObjMan = .text:0x8002F404; // type:function size:0x50 -omAddObjEx = .text:0x8002F454; // type:function size:0x1DC -omInsertObj = .text:0x8002F630; // type:function size:0xF8 -omAddMember = .text:0x8002F728; // type:function size:0x84 -omDelObjEx = .text:0x8002F7AC; // type:function size:0x190 -omDelMember = .text:0x8002F93C; // type:function size:0x88 -omMakeGroupEx = .text:0x8002F9C4; // type:function size:0xFC -omGetGroupMemberListEx = .text:0x8002FAC0; // type:function size:0x2C -omSetStatBit = .text:0x8002FAEC; // type:function size:0x10 -omResetStatBit = .text:0x8002FAFC; // type:function size:0x14 -omSetTra = .text:0x8002FB10; // type:function size:0x10 -omSetRot = .text:0x8002FB20; // type:function size:0x10 -omSetSca = .text:0x8002FB30; // type:function size:0x10 -omMain = .text:0x8002FB40; // type:function size:0x2F8 -omAllPause = .text:0x8002FE38; // type:function size:0xE0 -omPauseChk = .text:0x8002FF18; // type:function size:0x2C -omCurrentOvlGet = .text:0x8002FF44; // type:function size:0x8 -OSPanic = .text:0x8002FF4C; // type:function size:0x150 -HuFaultInitXfbDirectDraw = .text:0x8003009C; // type:function size:0x118 -HuFaultSetXfbAddress = .text:0x800301B4; // type:function size:0x34 -XFB_WriteBackCache = .text:0x800301E8; // type:function size:0x98 scope:local -XFB_CR = .text:0x80030280; // type:function size:0x50 scope:local -XFB_puts = .text:0x800302D0; // type:function size:0xF4 scope:local -XFB_putcS = .text:0x800303C4; // type:function size:0x150 scope:local -XFB_putcProgressive = .text:0x80030514; // type:function size:0x1F0 scope:local -XFB_putcInterlace = .text:0x80030704; // type:function size:0x1B4 scope:local -GWInit = .text:0x800308B8; // type:function size:0x14C -GWGameStatReset = .text:0x80030A04; // type:function size:0x318 -GWMessDelayGet = .text:0x80030D1C; // type:function size:0x4C -GWMGRecordSet = .text:0x80030D68; // type:function size:0x54 -GWMGRecordGet = .text:0x80030DBC; // type:function size:0x18 -GWCharColorGet = .text:0x80030DD4; // type:function size:0x140 -GWBoardPlayCountSet = .text:0x80030F14; // type:function size:0x24 -GWBoardPlayCountAdd = .text:0x80030F38; // type:function size:0x38 -GWBoardPlayCountGet = .text:0x80030F70; // type:function size:0x14 -GWBoardMaxStarsSet = .text:0x80030F84; // type:function size:0x1C -GWBoardMaxStarsGet = .text:0x80030FA0; // type:function size:0x18 -GWBoardMaxCoinsSet = .text:0x80030FB8; // type:function size:0x1C -GWBoardMaxCoinsGet = .text:0x80030FD4; // type:function size:0x18 -GWBoardWinCountInc = .text:0x80030FEC; // type:function size:0x5C -GWBoardWinCountGet = .text:0x80031048; // type:function size:0x1C -GWBoardWinCountSet = .text:0x80031064; // type:function size:0x20 -GWMGAvailGet = .text:0x80031084; // type:function size:0x6C -GWMGAvailSet = .text:0x800310F0; // type:function size:0x5C -GWMGCustomGet = .text:0x8003114C; // type:function size:0x6C -GWMGCustomSet = .text:0x800311B8; // type:function size:0x5C -GWMGCustomReset = .text:0x80031214; // type:function size:0x60 -GWCoinsGet = .text:0x80031274; // type:function size:0x18 -GWCoinsSet = .text:0x8003128C; // type:function size:0xB0 -GWCoinsAdd = .text:0x8003133C; // type:function size:0xD0 -GWStarsSet = .text:0x8003140C; // type:function size:0x6C -GWStarsAdd = .text:0x80031478; // type:function size:0x94 -GWStarsGet = .text:0x8003150C; // type:function size:0x18 -GWTotalStarsSet = .text:0x80031524; // type:function size:0x34 -GWTotalStarsAdd = .text:0x80031558; // type:function size:0x54 -GWTotalStarsGet = .text:0x800315AC; // type:function size:0x10 -omOutView = .text:0x800315BC; // type:function size:0x238 -omOutViewMulti = .text:0x800317F4; // type:function size:0x2C4 -omSystemKeyCheckSetup = .text:0x80031AB8; // type:function size:0x74 -omSystemKeyCheck = .text:0x80031B2C; // type:function size:0x230 -omSysPauseEnable = .text:0x80031D5C; // type:function size:0x8 -omSysPauseCtrl = .text:0x80031D64; // type:function size:0x50 -omDLLDBGOut = .text:0x80031DB4; // type:function size:0x2C -omDLLInit = .text:0x80031DE0; // type:function size:0x6C -omDLLStart = .text:0x80031E4C; // type:function size:0x154 -omDLLNumEnd = .text:0x80031FA0; // type:function size:0xB4 -omDLLEnd = .text:0x80032054; // type:function size:0x13C -omDLLLink = .text:0x80032190; // type:function size:0x138 -omDLLUnlink = .text:0x800322C8; // type:function size:0xB4 -omDLLSearch = .text:0x8003237C; // type:function size:0xC8 -omDLLInfoDump = .text:0x80032444; // type:function size:0xD0 -omDLLHeaderDump = .text:0x80032514; // type:function size:0xE0 -frand = .text:0x800325F4; // type:function size:0xAC -frandf = .text:0x800326A0; // type:function size:0xD8 -frandmod = .text:0x80032778; // type:function size:0xB8 -HuAudInit = .text:0x80032830; // type:function size:0x170 -HuAudStreamPlay = .text:0x800329A0; // type:function size:0x8 -HuAudStreamVolSet = .text:0x800329A8; // type:function size:0x3C -HuAudStreamPauseOn = .text:0x800329E4; // type:function size:0x24 -HuAudStreamPauseOff = .text:0x80032A08; // type:function size:0x24 -HuAudStreamFadeOut = .text:0x80032A2C; // type:function size:0x4 -HuAudAllStop = .text:0x80032A30; // type:function size:0x28 -HuAudFadeOut = .text:0x80032A58; // type:function size:0x3C -HuAudFXPlay = .text:0x80032A94; // type:function size:0x80 -HuAudFXPlayVol = .text:0x80032B14; // type:function size:0x48 -HuAudFXPlayVolPan = .text:0x80032B5C; // type:function size:0x68 -HuAudFXStop = .text:0x80032BC4; // type:function size:0x2C -HuAudFXAllStop = .text:0x80032BF0; // type:function size:0x28 -HuAudFXFadeOut = .text:0x80032C18; // type:function size:0x30 -HuAudFXPanning = .text:0x80032C48; // type:function size:0x50 -HuAudFXListnerSet = .text:0x80032C98; // type:function size:0xA4 -HuAudFXListnerSetEX = .text:0x80032D3C; // type:function size:0x134 -HuAudFXListnerUpdate = .text:0x80032E70; // type:function size:0x3C -HuAudFXEmiterPlay = .text:0x80032EAC; // type:function size:0x6C -HuAudFXEmiterUpDate = .text:0x80032F18; // type:function size:0x64 -HuAudFXListnerKill = .text:0x80032F7C; // type:function size:0x20 -HuAudFXPauseAll = .text:0x80032F9C; // type:function size:0x2C -HuAudFXStatusGet = .text:0x80032FC8; // type:function size:0x28 -HuAudFXPitchSet = .text:0x80032FF0; // type:function size:0x54 -HuAudFXVolSet = .text:0x80033044; // type:function size:0x58 -HuAudSeqPlay = .text:0x8003309C; // type:function size:0x5C -HuAudSeqStop = .text:0x800330F8; // type:function size:0x48 -HuAudSeqFadeOut = .text:0x80033140; // type:function size:0x3C -HuAudSeqAllFadeOut = .text:0x8003317C; // type:function size:0x5C -HuAudSeqAllStop = .text:0x800331D8; // type:function size:0x28 -HuAudSeqPauseAll = .text:0x80033200; // type:function size:0x2C -HuAudSeqPause = .text:0x8003322C; // type:function size:0x54 -HuAudSeqMidiCtrlGet = .text:0x80033280; // type:function size:0x60 -HuAudSStreamPlay = .text:0x800332E0; // type:function size:0x64 -HuAudSStreamStop = .text:0x80033344; // type:function size:0x38 -HuAudSStreamFadeOut = .text:0x8003337C; // type:function size:0x3C -HuAudSStreamAllFadeOut = .text:0x800333B8; // type:function size:0x28 -HuAudSStreamAllStop = .text:0x800333E0; // type:function size:0x24 -HuAudSStreamStatGet = .text:0x80033404; // type:function size:0x28 -HuAudDllSndGrpSet = .text:0x8003342C; // type:function size:0x104 -HuAudSndGrpSetSet = .text:0x80033530; // type:function size:0x1A4 -HuAudSndGrpSet = .text:0x800336D4; // type:function size:0x60 -HuAudSndCommonGrpSet = .text:0x80033734; // type:function size:0x154 -HuAudAUXSet = .text:0x80033888; // type:function size:0x58 -HuAudAUXVolSet = .text:0x800338E0; // type:function size:0xC -HuAudVoiceInit = .text:0x800338EC; // type:function size:0x294 -HuAudPlayerVoicePlay = .text:0x80033B80; // type:function size:0x50 -HuAudPlayerVoicePlayPos = .text:0x80033BD0; // type:function size:0x58 -HuAudPlayerVoicePlayEntry = .text:0x80033C28; // type:function size:0x50 -HuAudCharVoicePlay = .text:0x80033C78; // type:function size:0xAC -HuAudCharVoicePlayPos = .text:0x80033D24; // type:function size:0xD0 -HuAudCharVoicePlayEntry = .text:0x80033DF4; // type:function size:0x90 -HuSePlay = .text:0x80033E84; // type:function size:0x68 scope:local -InitEnvelope = .text:0x80033EEC; // type:function size:0x1A4 -SetEnvelopMtx = .text:0x80034090; // type:function size:0x23C scope:local -EnvelopeProc = .text:0x800342CC; // type:function size:0x80 -InitVtxParm = .text:0x8003434C; // type:function size:0x50 -SetEnvelopMain = .text:0x8003439C; // type:function size:0x158 scope:local -SetEnvelop = .text:0x800344F4; // type:function size:0x9F0 scope:local -SetMtx = .text:0x80034EE4; // type:function size:0x334 scope:local -SetRevMtx = .text:0x80035218; // type:function size:0x11C scope:local -SearchSklenton = .text:0x80035334; // type:function size:0x78 scope:local -MGSeqInit = .text:0x800353AC; // type:function size:0xBC -MGSeqMain = .text:0x80035468; // type:function size:0x188 -CreateSeq = .text:0x800355F0; // type:function size:0x1A4 scope:local -MGSeqCreate = .text:0x80035794; // type:function size:0x100 -MGSeqStatGet = .text:0x80035894; // type:function size:0x88 -MGSeqPosSet = .text:0x8003591C; // type:function size:0x4C -MGSeqParamSet = .text:0x80035968; // type:function size:0x4C -MGSeqKill = .text:0x800359B4; // type:function size:0x58 -MGSeqKillAll = .text:0x80035A0C; // type:function size:0x3C -MGSeqDoneCheck = .text:0x80035A48; // type:function size:0xA4 -MGSeqStub = .text:0x80035AEC; // type:function size:0x4 -MGSeqSprKill = .text:0x80035AF0; // type:function size:0x8C -MGSeqInitTimer = .text:0x80035B7C; // type:function size:0x2E0 -MGSeqUpdateTimer = .text:0x80035E5C; // type:function size:0x69C -MGSeqInitType2 = .text:0x800364F8; // type:function size:0x3D8 -MGSeqUpdateType2 = .text:0x800368D0; // type:function size:0x2F8 -fn_80036BC8 = .text:0x80036BC8; // type:function size:0x188 -SeqMakeWord = .text:0x80036D50; // type:function size:0x1D0 scope:local -SeqLoadFontChar = .text:0x80036F20; // type:function size:0x26C scope:local -MGSeqInitMGBasic = .text:0x8003718C; // type:function size:0x194 -MGSeqUpdateMGBasic = .text:0x80037320; // type:function size:0x9D0 -MGSeqInitMGCommon = .text:0x80037CF0; // type:function size:0x2A4 -MGSeqUpdateMGBattle = .text:0x80037F94; // type:function size:0xDA4 -MGSeqUpdateMG1vs3 = .text:0x80038D38; // type:function size:0xDA4 -MGSeqUpdateMGStory = .text:0x80039ADC; // type:function size:0xBB8 -MGSeqUpdateMG2vs2 = .text:0x8003A694; // type:function size:0xAB4 -MGSeqInitFlip = .text:0x8003B148; // type:function size:0x3C4 -MGSeqUpdateFlip = .text:0x8003B50C; // type:function size:0x91C -MGSeqUpdateMGBowser = .text:0x8003BE28; // type:function size:0xC84 -MGSeqInitDraw = .text:0x8003CAAC; // type:function size:0xDC -MGSeqUpdateDraw = .text:0x8003CB88; // type:function size:0x3DC -MGSeqInitWin = .text:0x8003CF64; // type:function size:0x8A0 -MGSeqUpdateWin = .text:0x8003D804; // type:function size:0x72C -MGSeqInitRecord = .text:0x8003DF30; // type:function size:0x774 -MGSeqUpdateRecord = .text:0x8003E6A4; // type:function size:0x304 -MGSeqPauseInit = .text:0x8003E9A8; // type:function size:0x6C -PauseProc = .text:0x8003EA14; // type:function size:0x94C scope:local -MGSeqPauseKill = .text:0x8003F360; // type:function size:0xC -MGSeqPauseEnableCtrl = .text:0x8003F36C; // type:function size:0x40 -MGSeqPracticeInit = .text:0x8003F3AC; // type:function size:0xDC -PracticeProc = .text:0x8003F488; // type:function size:0x234 scope:local -SeqPlayStartFX = .text:0x8003F6BC; // type:function size:0xD4 scope:local -MGSeqPracticeExitCheck = .text:0x8003F790; // type:function size:0x128 -espInit = .text:0x8003F8B8; // type:function size:0xA0 -espEntry = .text:0x8003F958; // type:function size:0x1B0 -espKill = .text:0x8003FB08; // type:function size:0x98 -espGrpIDGet = .text:0x8003FBA0; // type:function size:0x8 -espDispOn = .text:0x8003FBA8; // type:function size:0x44 -espDispOff = .text:0x8003FBEC; // type:function size:0x44 -espAttrSet = .text:0x8003FC30; // type:function size:0x48 -espAttrReset = .text:0x8003FC78; // type:function size:0x48 -espPosSet = .text:0x8003FCC0; // type:function size:0x50 -espScaleSet = .text:0x8003FD10; // type:function size:0x50 -espZRotSet = .text:0x8003FD60; // type:function size:0x48 -espTPLvlSet = .text:0x8003FDA8; // type:function size:0x48 -espColorSet = .text:0x8003FDF0; // type:function size:0x58 -espSpeedSet = .text:0x8003FE48; // type:function size:0x48 -espBankSet = .text:0x8003FE90; // type:function size:0x48 -espDrawNoSet = .text:0x8003FED8; // type:function size:0x48 -espPriSet = .text:0x8003FF20; // type:function size:0x48 -fn_8003FF68 = .text:0x8003FF68; // type:function size:0x268 -fn_800401D0 = .text:0x800401D0; // type:function size:0x12C -fn_800402FC = .text:0x800402FC; // type:function size:0x78 -fn_80040374 = .text:0x80040374; // type:function size:0x98 -fn_8004040C = .text:0x8004040C; // type:function size:0xF4 -GetClusterCurve = .text:0x80040500; // type:function size:0xA8 -GetClusterWeightCurve = .text:0x800405A8; // type:function size:0xA8 -SetClusterMain = .text:0x80040650; // type:function size:0x3A0 -ClusterProc = .text:0x800409F0; // type:function size:0x160 -ClusterMotionExec = .text:0x80040B50; // type:function size:0x210 -SetShapeMain = .text:0x80040D60; // type:function size:0x36C scope:local -ShapeProc = .text:0x800410CC; // type:function size:0xA4 -WipeInit = .text:0x80041170; // type:function size:0xB4 -WipeExecAlways = .text:0x80041224; // type:function size:0x288 -WipeCreate = .text:0x800414AC; // type:function size:0x12C -WipeColorSet = .text:0x800415D8; // type:function size:0x28 -WipeStatGet = .text:0x80041600; // type:function size:0x10 -WipeDummyFade = .text:0x80041610; // type:function size:0x8 scope:local -WipeNormalFade = .text:0x80041618; // type:function size:0xFC scope:local -WipeColorFill = .text:0x80041714; // type:function size:0x31C scope:local -WipeCrossFade = .text:0x80041A30; // type:function size:0x184 scope:local -WipeFrameStill = .text:0x80041BB4; // type:function size:0x4C8 scope:local -HuWindowInit = .text:0x8004207C; // type:function size:0x74 -HuWinInit = .text:0x800420F0; // type:function size:0x214 -HuWinCreate = .text:0x80042304; // type:function size:0x544 -HuWinKill = .text:0x80042848; // type:function size:0xA4 -HuWinAllKill = .text:0x800428EC; // type:function size:0x1AC -MesDispFunc = .text:0x80042A98; // type:function size:0x7C4 scope:local -winBGMake = .text:0x8004325C; // type:function size:0x480 scope:local -HuWinProc = .text:0x800436DC; // type:function size:0xF4 scope:local -HuWinDrawMes = .text:0x800437D0; // type:function size:0x106C scope:local -HuWinCR = .text:0x8004483C; // type:function size:0x54 scope:local -_HuWinHomeClear = .text:0x80044890; // type:function size:0x90 scope:local -HuWinHomeClear = .text:0x80044920; // type:function size:0xA4 -HuWinKeyWaitEntry = .text:0x800449C4; // type:function size:0x88 -HuWinKeyWait = .text:0x80044A4C; // type:function size:0x10C scope:local -HuWinSpcFontEntry = .text:0x80044B58; // type:function size:0x1A4 scope:local -HuWinSpcFontClear = .text:0x80044CFC; // type:function size:0x80 scope:local -HuWinChoice = .text:0x80044D7C; // type:function size:0xA9C scope:local -HuWinActivePadGet = .text:0x80045818; // type:function size:0x68 -HuWinActiveKeyGetX = .text:0x80045880; // type:function size:0xE8 -HuWinPosSet = .text:0x80045968; // type:function size:0x6C -HuWinScaleSet = .text:0x800459D4; // type:function size:0x6C -HuWinZRotSet = .text:0x80045A40; // type:function size:0x58 -HuWinCenterPosSet = .text:0x80045A98; // type:function size:0xAC -HuWinDrawNoSet = .text:0x80045B44; // type:function size:0x4C -HuWinScissorSet = .text:0x80045B90; // type:function size:0x64 -HuWinPriSet = .text:0x80045BF4; // type:function size:0xB8 -HuWinAttrSet = .text:0x80045CAC; // type:function size:0x34 -HuWinAttrReset = .text:0x80045CE0; // type:function size:0x34 -HuWinStatGet = .text:0x80045D14; // type:function size:0x2C -HuWinMesColSet = .text:0x80045D40; // type:function size:0x3C -HuWinMesPalSet = .text:0x80045D7C; // type:function size:0x58 -HuWinBGTPLvlSet = .text:0x80045DD4; // type:function size:0x50 -HuWinBGColSet = .text:0x80045E24; // type:function size:0x60 -HuWinMesSpeedSet = .text:0x80045E84; // type:function size:0x2C -HuWinMesRead = .text:0x80045EB0; // type:function size:0xC4 -HuWinMesSet = .text:0x80045F74; // type:function size:0x398 -HuWinInsertMesSet = .text:0x8004630C; // type:function size:0xD8 -HuWinChoiceGet = .text:0x800463E4; // type:function size:0x27C -HuWinChoiceNumGet = .text:0x80046660; // type:function size:0x2C -HuWinChoiceDisable = .text:0x8004668C; // type:function size:0x38 -HuWinChoiceNowGet = .text:0x800466C4; // type:function size:0x40 -HuWinMesWait = .text:0x80046704; // type:function size:0x50 -HuWinAnimSet = .text:0x80046754; // type:function size:0x8C -HuWinSprSet = .text:0x800467E0; // type:function size:0xF0 -HuWinSprPosSet = .text:0x800468D0; // type:function size:0x88 -HuWinSprPriSet = .text:0x80046958; // type:function size:0x6C -HuWinSprIDGet = .text:0x800469C4; // type:function size:0x38 -HuWinSprKill = .text:0x800469FC; // type:function size:0x68 -HuWinDispOff = .text:0x80046A64; // type:function size:0x90 -HuWinDispOn = .text:0x80046AF4; // type:function size:0x90 -HuWinComKeyWait = .text:0x80046B84; // type:function size:0xC0 -HuWinComKeySet = .text:0x80046C44; // type:function size:0x44 -_HuWinComKeySet = .text:0x80046C88; // type:function size:0x98 -HuWinComKeyGet = .text:0x80046D20; // type:function size:0x1D4 -HuWinComKeyReset = .text:0x80046EF4; // type:function size:0x10 -HuWinMesMaxSizeGet = .text:0x80046F04; // type:function size:0x170 -HuWinInsertMesSizeGet = .text:0x80047074; // type:function size:0x54 -HuWinMesSizeCancelCRSet = .text:0x800470C8; // type:function size:0x8 -HuWinMesMaxSizeBetGet = .text:0x800470D0; // type:function size:0x114 -GetMesMaxSizeSub = .text:0x800471E4; // type:function size:0x2A0 scope:local -GetMesMaxSizeSub2 = .text:0x80047484; // type:function size:0x1CC scope:local -HuWinKeyWaitNumGet = .text:0x80047650; // type:function size:0x88 -HuWinPushKeySet = .text:0x800476D8; // type:function size:0x2C -HuWinDisablePlayerSet = .text:0x80047704; // type:function size:0x34 -HuWinDisablePlayerReset = .text:0x80047738; // type:function size:0x38 -HuWinExCreate = .text:0x80047770; // type:function size:0x4C -HuWinExCreateStyled = .text:0x800477BC; // type:function size:0x228 -HuWinExAnimIn = .text:0x800479E4; // type:function size:0x3B0 -HuWinExAnimOut = .text:0x80047D94; // type:function size:0x304 -HuWinExCleanup = .text:0x80048098; // type:function size:0xA4 -HuWinExAnimPopIn = .text:0x8004813C; // type:function size:0x264 -MessData_MesPtrGet = .text:0x800483A0; // type:function size:0xE8 -HuCardInit = .text:0x80048488; // type:function size:0x34 -HuCardCheck = .text:0x800484BC; // type:function size:0xC4 -HuCardSlotCheck = .text:0x80048580; // type:function size:0x58 -HuCardMount = .text:0x800485D8; // type:function size:0xEC -HuCardUnMount = .text:0x800486C4; // type:function size:0x28 -HuCardFormat = .text:0x800486EC; // type:function size:0x50 -MountCallBack = .text:0x8004873C; // type:function size:0x14 scope:local -HuCardOpen = .text:0x80048750; // type:function size:0x70 -HuCardRead = .text:0x800487C0; // type:function size:0x68 -HuCardCreate = .text:0x80048828; // type:function size:0x100 -HuCardClose = .text:0x80048928; // type:function size:0x38 -HuCardWrite = .text:0x80048960; // type:function size:0x50 -HuCardDelete = .text:0x800489B0; // type:function size:0x40 -HuCardSectorSizeGet = .text:0x800489F0; // type:function size:0x4C -HuCardFreeSpaceGet = .text:0x80048A3C; // type:function size:0x48 -HuARInit = .text:0x80048A84; // type:function size:0x148 -HuARMalloc = .text:0x80048BCC; // type:function size:0x16C -HuARFree = .text:0x80048D38; // type:function size:0x16C -HuAMemDump = .text:0x80048EA4; // type:function size:0xA8 -HuAR_DVDtoARAM = .text:0x80048F4C; // type:function size:0x160 -ArqCallBack = .text:0x800490AC; // type:function size:0x10 scope:local -HuAR_MRAMtoARAM = .text:0x800490BC; // type:function size:0x2C -HuAR_MRAMtoARAM2 = .text:0x800490E8; // type:function size:0x140 -HuAR_ARAMtoMRAM = .text:0x80049228; // type:function size:0x2C -HuAR_ARAMtoMRAMNum = .text:0x80049254; // type:function size:0x1F0 -ArqCallBackAM = .text:0x80049444; // type:function size:0x44 scope:local -HuARDMACheck = .text:0x80049488; // type:function size:0x8 -HuARDirCheck = .text:0x80049490; // type:function size:0x58 -HuARDirFree = .text:0x800494E8; // type:function size:0x68 -HuAR_ARAMtoMRAMFileRead = .text:0x80049550; // type:function size:0x390 -ArqCallBackAMFileRead = .text:0x800498E0; // type:function size:0x10 scope:local -CharManInit = .text:0x800498F0; // type:function size:0x134 -CharAMemPtrGet = .text:0x80049A24; // type:function size:0x1C -CharARAMOpen = .text:0x80049A40; // type:function size:0x98 -CharARAMClose = .text:0x80049AD8; // type:function size:0x58 -CharKill = .text:0x80049B30; // type:function size:0x428 -CharKillAll = .text:0x80049F58; // type:function size:0x3C -CharModelCreate = .text:0x80049F94; // type:function size:0x180 -UpdateChar = .text:0x8004A114; // type:function size:0x20C scope:local -UpdateCharAnim = .text:0x8004A320; // type:function size:0x173C scope:local -PlayCharVoice = .text:0x8004BA5C; // type:function size:0xB0 scope:local -InitEffect = .text:0x8004BB0C; // type:function size:0x254 scope:local -CreateEffectDust = .text:0x8004BD60; // type:function size:0xB0 scope:local -CreateEffectSmoke = .text:0x8004BE10; // type:function size:0xB0 scope:local -CreateEffectDot = .text:0x8004BEC0; // type:function size:0xB0 scope:local -CreateEffectStar = .text:0x8004BF70; // type:function size:0xB0 scope:local -CreateEffectWarn = .text:0x8004C020; // type:function size:0xB0 scope:local -CreateEffectBird = .text:0x8004C0D0; // type:function size:0xB0 scope:local -CreateEffect = .text:0x8004C180; // type:function size:0x1CC scope:local -UpdateEffect = .text:0x8004C34C; // type:function size:0x4A0 scope:local -RotateEffect = .text:0x8004C7EC; // type:function size:0x1E8 scope:local -PlayEffectSound = .text:0x8004C9D4; // type:function size:0x344 scope:local -CharModelMotionCreate = .text:0x8004CD18; // type:function size:0x1D0 -CharModelMotionIndexSet = .text:0x8004CEE8; // type:function size:0x88 -CharModelMotionKill = .text:0x8004CF70; // type:function size:0x9C -CharModelMotionDataClose = .text:0x8004D00C; // type:function size:0x2B8 -CharModelDataClose = .text:0x8004D2C4; // type:function size:0x430 -CharModelKill = .text:0x8004D6F4; // type:function size:0x244 -CharModelMotionSet = .text:0x8004D938; // type:function size:0x7C -CharModelTexAnimSet = .text:0x8004D9B4; // type:function size:0x17C -CharModelTexNameGet = .text:0x8004DB30; // type:function size:0x7C -CharModelHookNameGet = .text:0x8004DBAC; // type:function size:0x7C -CharModelMotionTimeSet = .text:0x8004DC28; // type:function size:0x4C -CharModelMotionTimeGet = .text:0x8004DC74; // type:function size:0x44 -CharModelMotionMaxTimeGet = .text:0x8004DCB8; // type:function size:0x44 -CharModelMotionEndCheck = .text:0x8004DCFC; // type:function size:0x44 -CharModelMotionShiftIDGet = .text:0x8004DD40; // type:function size:0x44 -CharModelMotionShiftSet = .text:0x8004DD84; // type:function size:0x84 -CharModelMotionShiftTimeGet = .text:0x8004DE08; // type:function size:0x44 -CharModelMotionSpeedSet = .text:0x8004DE4C; // type:function size:0x4C -CharModelLayerSetAll = .text:0x8004DE98; // type:function size:0x80 -CharModelItemHookCreate = .text:0x8004DF18; // type:function size:0x1D4 -UpdateItemHook = .text:0x8004E0EC; // type:function size:0x484 scope:local -CharModelEffectCreate = .text:0x8004E570; // type:function size:0x3FC -OrbitEffect = .text:0x8004E96C; // type:function size:0x168 scope:local -CharModelCoinEffectCreate = .text:0x8004EAD4; // type:function size:0x1A0 -fn_8004EC74 = .text:0x8004EC74; // type:function size:0x130 -fn_8004EDA4 = .text:0x8004EDA4; // type:function size:0x2B4 -fn_8004F058 = .text:0x8004F058; // type:function size:0xE4 -fn_8004F13C = .text:0x8004F13C; // type:function size:0x2B4 -CharModelLayerSetAll2 = .text:0x8004F3F0; // type:function size:0x80 -CharModelVoiceEnableSet = .text:0x8004F470; // type:function size:0xBC -fn_8004F52C = .text:0x8004F52C; // type:function size:0x4C -CharModelEffectEnableSet = .text:0x8004F578; // type:function size:0xB0 -CharModelEffectNpcInit = .text:0x8004F628; // type:function size:0x2CC -CharModelEffectNpcInitSilent = .text:0x8004F8F4; // type:function size:0x2CC -UpdateNpcEffect = .text:0x8004FBC0; // type:function size:0xF80 scope:local -CharModelStepTypeSet = .text:0x80050B40; // type:function size:0x30 -PlayStepFX = .text:0x80050B70; // type:function size:0xEC scope:local -MapWall = .text:0x80050C5C; // type:function size:0x1B8 -MapWallCheck = .text:0x80050E14; // type:function size:0x110 -MapPos = .text:0x80050F24; // type:function size:0x2A8 -PolygonRangeCheck = .text:0x800511CC; // type:function size:0x38C scope:local -DefIfnnerMapCircle = .text:0x80051558; // type:function size:0x470 scope:local -CalcPPLength = .text:0x800519C8; // type:function size:0x5D4 scope:local -MapIflnnerCalc = .text:0x80051F9C; // type:function size:0xF4 scope:local -MapCalcPoint = .text:0x80052090; // type:function size:0x388 scope:local -AreaCheck = .text:0x80052418; // type:function size:0x148 scope:local -MapIflnnerTriangle = .text:0x80052560; // type:function size:0x518 scope:local -MapIflnnerQuadrangle = .text:0x80052A78; // type:function size:0x994 scope:local -GetPolygonCircleMtx = .text:0x8005340C; // type:function size:0xC28 scope:local -PrecalcPntToTriangle = .text:0x80054034; // type:function size:0x43C scope:local -Hitcheck_Triangle_with_Sphere = .text:0x80054470; // type:function size:0x100 -Hitcheck_Quadrangle_with_Sphere = .text:0x80054570; // type:function size:0x19C -DefSetHitFace = .text:0x8005470C; // type:function size:0x4C scope:local -AppendAddXZ = .text:0x80054758; // type:function size:0x184 -CharRotInv = .text:0x800548DC; // type:function size:0x124 -THPSimpleInit = .text:0x80054A00; // type:function size:0x124 -THPSimpleQuit = .text:0x80054B24; // type:function size:0x54 -THPSimpleOpen = .text:0x80054B78; // type:function size:0x408 -THPSimpleClose = .text:0x80054F80; // type:function size:0xC0 -THPSimpleCalcNeedMemory = .text:0x80055040; // type:function size:0x184 -THPSimpleSetBuffer = .text:0x800551C4; // type:function size:0x240 -__THPSimpleDVDCallback = .text:0x80055404; // type:function size:0x2A4 scope:local -THPSimplePreLoad = .text:0x800556A8; // type:function size:0x2A4 -THPSimpleAudioStart = .text:0x8005594C; // type:function size:0x14 -THPSimpleAudioStop = .text:0x80055960; // type:function size:0x14 -THPSimpleLoadStop = .text:0x80055974; // type:function size:0x1B8 -THPSimpleDecode = .text:0x80055B2C; // type:function size:0x47C -VideoDecode = .text:0x80055FA8; // type:function size:0xD8 scope:local -THPSimpleDrawCurrentFrame = .text:0x80056080; // type:function size:0x104 -MixAudio = .text:0x80056184; // type:function size:0x5F8 scope:local -THPSimpleGetVideoInfo = .text:0x8005677C; // type:function size:0x58 -THPSimpleGetTotalFrame = .text:0x800567D4; // type:function size:0x2C -THPAudioMixCallback = .text:0x80056800; // type:function size:0x188 scope:local -THPSimpleSetVolume = .text:0x80056988; // type:function size:0x17C -THPGXRestore = .text:0x80056B04; // type:function size:0x130 -THPGXYuv2RgbSetup = .text:0x80056C34; // type:function size:0x5A0 -THPGXYuv2RgbDraw = .text:0x800571D4; // type:function size:0x288 -HuTHPSprCreateVol = .text:0x8005745C; // type:function size:0x108 -HuTHPSprCreate = .text:0x80057564; // type:function size:0x110 -HuTHP3DCreateVol = .text:0x80057674; // type:function size:0xF8 -HuTHP3DCreate = .text:0x8005776C; // type:function size:0x100 -HuTHPStop = .text:0x8005786C; // type:function size:0xC -HuTHPClose = .text:0x80057878; // type:function size:0xC -HuTHPRestart = .text:0x80057884; // type:function size:0xC -HuTHPEndCheck = .text:0x80057890; // type:function size:0x54 -HuTHPFrameGet = .text:0x800578E4; // type:function size:0x8 -HuTHPTotalFrameGet = .text:0x800578EC; // type:function size:0x20 -HuTHPSetVolume = .text:0x8005790C; // type:function size:0x30 -THPTestProc = .text:0x8005793C; // type:function size:0x27C scope:local -THPViewFunc = .text:0x80057BB8; // type:function size:0xA4 scope:local -THPViewSprFunc = .text:0x80057C5C; // type:function size:0x17C scope:local -THPDecodeFunc = .text:0x80057DD8; // type:function size:0x4C scope:local -omMgIndexGet = .text:0x80057E24; // type:function size:0x5C -omGameSysInit = .text:0x80057E80; // type:function size:0xF4 -omVibrate = .text:0x80057F74; // type:function size:0x9C -_CheckFlag = .text:0x80058010; // type:function size:0xA0 -_SetFlag = .text:0x800580B0; // type:function size:0xA4 -_ClearFlag = .text:0x80058154; // type:function size:0xA4 -_InitFlag = .text:0x800581F8; // type:function size:0x30 -SLFileOpen = .text:0x80058228; // type:function size:0x140 -SLFileCreate = .text:0x80058368; // type:function size:0x2B0 -SLFileWrite = .text:0x80058618; // type:function size:0x11C -SLFileRead = .text:0x80058734; // type:function size:0x84 -SLFileClose = .text:0x800587B8; // type:function size:0x4C -SLCurSlotNoSet = .text:0x80058804; // type:function size:0x8 -SLCurBoxNoSet = .text:0x8005880C; // type:function size:0xC -SLSaveFlagSet = .text:0x80058818; // type:function size:0x40 -SLSaveFlagGet = .text:0x80058858; // type:function size:0x8 -SLSaveDataMake = .text:0x80058860; // type:function size:0x154 -SLSaveDataInfoSet = .text:0x800589B4; // type:function size:0x218 -SLCommonSet = .text:0x80058BCC; // type:function size:0x254 -SLSaveBoard = .text:0x80058E20; // type:function size:0x8C -SLSaveBoardStory = .text:0x80058EAC; // type:function size:0x8C -SLSave = .text:0x80058F38; // type:function size:0x380 -SLCreateSaveWin = .text:0x800592B8; // type:function size:0xDC scope:local -SLKillSaveWin = .text:0x80059394; // type:function size:0x48 scope:local -SLLoad = .text:0x800593DC; // type:function size:0x110 -SLLoadGameStat = .text:0x800594EC; // type:function size:0x38 -SLLoadBoard = .text:0x80059524; // type:function size:0x1A0 -SLLoadBoardStory = .text:0x800596C4; // type:function size:0x184 -SLSerialNoGet = .text:0x80059848; // type:function size:0x28 -SLSerialNoCheck = .text:0x80059870; // type:function size:0xA0 -SLCheckSumCheck = .text:0x80059910; // type:function size:0x60 -SLCheckSumGet = .text:0x80059970; // type:function size:0x54 -SLCheckSumSet = .text:0x800599C4; // type:function size:0x90 -SLStatSet = .text:0x80059A54; // type:function size:0x1D4 -SLCardMount = .text:0x80059C28; // type:function size:0x12C -SLFormat = .text:0x80059D54; // type:function size:0x5A8 -SLMessOut = .text:0x8005A2FC; // type:function size:0x3FC -HuSoftResetButtonCheck = .text:0x8005A6F8; // type:function size:0x50 -HuDvdErrDispIntFunc = .text:0x8005A748; // type:function size:0x28 -HuDvdErrDispInit = .text:0x8005A770; // type:function size:0x1F4 -ToeThreadFunc = .text:0x8005A964; // type:function size:0xD8 scope:local -ToeDispCheck = .text:0x8005AA3C; // type:function size:0x128 scope:local -_HuDvdErrDispXFB = .text:0x8005AB64; // type:function size:0x2D0 scope:local -HuRestartSystem = .text:0x8005AE34; // type:function size:0xDC -HuSoftResetCheck = .text:0x8005AF10; // type:function size:0xFC scope:local -HuSoftResetCountCheck = .text:0x8005B00C; // type:function size:0xCC scope:local -HuSoftResetPostProc = .text:0x8005B0D8; // type:function size:0x78 scope:local -BoardObjectSetup = .text:0x8005B150; // type:function size:0x2E0 -InitBoardFunc = .text:0x8005B430; // type:function size:0x64 scope:local -ExecBoardFunc = .text:0x8005B494; // type:function size:0x9C scope:local -KillBoardFunc = .text:0x8005B530; // type:function size:0xCC scope:local -BoardKill = .text:0x8005B5FC; // type:function size:0xAC -BoardIsKill = .text:0x8005B6A8; // type:function size:0x48 -BoardPauseDisableSet = .text:0x8005B6F0; // type:function size:0x74 -BoardPauseDisableGet = .text:0x8005B764; // type:function size:0x48 -BoardSaveInit = .text:0x8005B7AC; // type:function size:0x524 -BoardStoryConfigSet = .text:0x8005BCD0; // type:function size:0x160 -BoardPartyConfigSet = .text:0x8005BE30; // type:function size:0x160 -DestroyMainFunc = .text:0x8005BF90; // type:function size:0xC scope:local -MainFunc = .text:0x8005BF9C; // type:function size:0x7D0 scope:local -BoardTurnNext = .text:0x8005C76C; // type:function size:0x8C -ExecTurnStart = .text:0x8005C7F8; // type:function size:0x28C scope:local -BoardNextOvlSet = .text:0x8005CA84; // type:function size:0xC4 -BoardStartCheck = .text:0x8005CB48; // type:function size:0x8C -CreateBoard = .text:0x8005CBD4; // type:function size:0x410 scope:local -DestroyBoard = .text:0x8005CFE4; // type:function size:0x128 scope:local -BoardLightHookSet = .text:0x8005D10C; // type:function size:0xC -BoardLightSetExec = .text:0x8005D118; // type:function size:0x44 -BoardLightResetExec = .text:0x8005D15C; // type:function size:0x50 -BoardCameraBackup = .text:0x8005D1AC; // type:function size:0x3C -BoardCameraRestore = .text:0x8005D1E8; // type:function size:0x48 -BoardCameraScissorSet = .text:0x8005D230; // type:function size:0x54 -BoardCameraViewSet = .text:0x8005D284; // type:function size:0x2AC -BoardCameraPosGet = .text:0x8005D530; // type:function size:0x48 -BoardCameraTargetGet = .text:0x8005D578; // type:function size:0x48 -BoardCameraRotGet = .text:0x8005D5C0; // type:function size:0x48 -BoardCameraZoomGet = .text:0x8005D608; // type:function size:0x20 -BoardCameraDirGet = .text:0x8005D628; // type:function size:0xA8 -BoardCameraPointDirGet = .text:0x8005D6D0; // type:function size:0xBC -BoardCameraMaskSet = .text:0x8005D78C; // type:function size:0x28 -BoardCameraMoveSet = .text:0x8005D7B4; // type:function size:0x50 -BoardCameraOffsetSet = .text:0x8005D804; // type:function size:0x30 -BoardCameraTargetPlayerSet = .text:0x8005D834; // type:function size:0xB4 -BoardCameraTargetModelSet = .text:0x8005D8E8; // type:function size:0x40 -BoardCameraTargetSpaceSet = .text:0x8005D928; // type:function size:0x44 -BoardCameraPosCalcFuncSet = .text:0x8005D96C; // type:function size:0x28 -BoardCameraQuakeSet = .text:0x8005D994; // type:function size:0x3C -BoardCameraQuakeReset = .text:0x8005D9D0; // type:function size:0x3C -BoardCameraTargetSet = .text:0x8005DA0C; // type:function size:0x28 -BoardCameraPosSet = .text:0x8005DA34; // type:function size:0x28 -BoardCameraXRotZoomSet = .text:0x8005DA5C; // type:function size:0x24 -BoardCameraZoomSet = .text:0x8005DA80; // type:function size:0x20 -BoardCameraRotSet = .text:0x8005DAA0; // type:function size:0x24 -BoardCameraNearFarSet = .text:0x8005DAC4; // type:function size:0x24 -BoardCameraNearFarGet = .text:0x8005DAE8; // type:function size:0x3C -BoardCameraMotionStart = .text:0x8005DB24; // type:function size:0x48 -BoardCameraMotionStartEx = .text:0x8005DB6C; // type:function size:0x230 -BoardCameraFovSet = .text:0x8005DD9C; // type:function size:0x20 -BoardCameraCullCheck = .text:0x8005DDBC; // type:function size:0x2BC -BoardCameraMotionIsDone = .text:0x8005E078; // type:function size:0x48 -BoardCameraMotionWait = .text:0x8005E0C0; // type:function size:0x58 -BoardCameraInit = .text:0x8005E118; // type:function size:0x24C -UpdateCamera = .text:0x8005E364; // type:function size:0x350 scope:local -CalcCameraTarget = .text:0x8005E6B4; // type:function size:0xE4 scope:local -CalcCameraPos = .text:0x8005E798; // type:function size:0x764 scope:local -BoardMGDoneFlagSet = .text:0x8005EEFC; // type:function size:0x48 -BoardMGDoneFlagGet = .text:0x8005EF44; // type:function size:0x48 -BoardMGExit = .text:0x8005EF8C; // type:function size:0x170 -KillBoardMG = .text:0x8005F0FC; // type:function size:0x60 scope:local -ExecBoardMG = .text:0x8005F15C; // type:function size:0xC4 scope:local -BoardMGCreate = .text:0x8005F220; // type:function size:0x74 -BoardEventFlagSet = .text:0x8005F294; // type:function size:0x28 -BoardEventFlagReset = .text:0x8005F2BC; // type:function size:0x28 -BoardEventFlagGet = .text:0x8005F2E4; // type:function size:0x48 -BoardMTXCalcLookAt = .text:0x8005F32C; // type:function size:0x10C -BoardArcSin = .text:0x8005F438; // type:function size:0x330 -BoardArcCos = .text:0x8005F768; // type:function size:0x390 -BoardRandInit = .text:0x8005FAF8; // type:function size:0x24 -BoardRand = .text:0x8005FB1C; // type:function size:0x24 -BoardRandMod = .text:0x8005FB40; // type:function size:0x50 -BoardRandFloat = .text:0x8005FB90; // type:function size:0x58 -BoardVecDistXZCalc = .text:0x8005FBE8; // type:function size:0x134 -BoardVecMaxDistXZCheck = .text:0x8005FD1C; // type:function size:0x15C -BoardDAngleCalcVec = .text:0x8005FE78; // type:function size:0x7C -BoardDAngleCalc = .text:0x8005FEF4; // type:function size:0x34 -BoardDAngleCalcRange = .text:0x8005FF28; // type:function size:0x1C0 -BoardVecMinDistCheck = .text:0x800600E8; // type:function size:0x6C -BoardFilterFadeOut = .text:0x80060154; // type:function size:0xD4 -BoardFilterFadeInit = .text:0x80060228; // type:function size:0x174 -BoardFilterFadePauseCheck = .text:0x8006039C; // type:function size:0x5C -BoardFilterFadeCheck = .text:0x800603F8; // type:function size:0x34 -UpdateFilter = .text:0x8006042C; // type:function size:0x178 scope:local -DrawFilter = .text:0x800605A4; // type:function size:0x350 scope:local -BoardConfettiCreate = .text:0x800608F4; // type:function size:0x164 -BoardConfettiKill = .text:0x80060A58; // type:function size:0x24 -BoardConfettiStop = .text:0x80060A7C; // type:function size:0x88 -UpdateConfetti = .text:0x80060B04; // type:function size:0xB8 scope:local -SpawnConfetti = .text:0x80060BBC; // type:function size:0x564 scope:local -MoveConfetti = .text:0x80061120; // type:function size:0x14C scope:local -DrawConfetti = .text:0x8006126C; // type:function size:0x254 scope:local -BoardLast5GfxInit = .text:0x800614C0; // type:function size:0x2B4 -UpdateLast5Gfx = .text:0x80061774; // type:function size:0x2AC scope:local -BoardLast5GfxShowSet = .text:0x80061A20; // type:function size:0xAC -BoardTauntInit = .text:0x80061ACC; // type:function size:0x80 -BoardTauntKill = .text:0x80061B4C; // type:function size:0x54 -TauntUpdate = .text:0x80061BA0; // type:function size:0x3A4 scope:local -BoardDataDirReadAsync = .text:0x80061F44; // type:function size:0x38 -BoardDataAsyncWait = .text:0x80061F7C; // type:function size:0x48 -BoardItemPrevGet = .text:0x80061FC4; // type:function size:0xC -BoardItemPrevSet = .text:0x80061FD0; // type:function size:0xC -BoardPlayerGetCharMess = .text:0x80061FDC; // type:function size:0x78 -BoardPlayerGetCharName = .text:0x80062054; // type:function size:0x78 -BoardPlayerIsAllCom = .text:0x800620CC; // type:function size:0x80 -BoardPlayerInit = .text:0x8006214C; // type:function size:0x16C -BoardPlayerModelInit = .text:0x800622B8; // type:function size:0x588 -BoardPlayerModelKill = .text:0x80062840; // type:function size:0xFC -BoardPlayerLayerSet = .text:0x8006293C; // type:function size:0x84 -BoardPlayerCameraSet = .text:0x800629C0; // type:function size:0x80 -fn_80062A40 = .text:0x80062A40; // type:function size:0x80 -BoardPlayerExistCheck = .text:0x80062AC0; // type:function size:0xB4 -BoardPlayerItemAdd = .text:0x80062B74; // type:function size:0xB0 -BoardPlayerItemRemove = .text:0x80062C24; // type:function size:0xB4 -BoardPlayerItemFind = .text:0x80062CD8; // type:function size:0x58 -BoardPlayerItemCount = .text:0x80062D30; // type:function size:0x60 -BoardPlayerCornerPosSet = .text:0x80062D90; // type:function size:0x40 -BoardPlayerCornerPosGet = .text:0x80062DD0; // type:function size:0xC4 -BoardPlayerAmbSet = .text:0x80062E94; // type:function size:0x90 -BoardPlayerMtxSet = .text:0x80062F24; // type:function size:0x80 -BoardPlayerPosSetV = .text:0x80062FA4; // type:function size:0x9C -BoardPlayerPosSet = .text:0x80063040; // type:function size:0xCC -BoardPlayerPosGet = .text:0x8006310C; // type:function size:0x80 -BoardPlayerRotSetV = .text:0x8006318C; // type:function size:0x9C -BoardPlayerRotSet = .text:0x80063228; // type:function size:0xCC -BoardPlayerRotGet = .text:0x800632F4; // type:function size:0x80 -BoardPlayerRotYSet = .text:0x80063374; // type:function size:0xD4 -BoardPlayerRotYGet = .text:0x80063448; // type:function size:0xA8 -BoardPlayerScaleSetV = .text:0x800634F0; // type:function size:0x80 -BoardPlayerScaleSet = .text:0x80063570; // type:function size:0x90 -BoardPlayerScaleGet = .text:0x80063600; // type:function size:0x80 -BoardPlayerCurrMotionGet = .text:0x80063680; // type:function size:0x44 -BoardPlayerVoiceEnableSet = .text:0x800636C4; // type:function size:0x88 -BoardPlayerMotionCreate = .text:0x8006374C; // type:function size:0x80 -BoardPlayerMotionKill = .text:0x800637CC; // type:function size:0x80 -BoardPlayerMotionEndCheck = .text:0x8006384C; // type:function size:0x78 -BoardPlayerMotionEndWait = .text:0x800638C4; // type:function size:0x88 -BoardPlayerMotionStart = .text:0x8006394C; // type:function size:0xD0 -BoardPlayerMotionShiftSet = .text:0x80063A1C; // type:function size:0xE0 -BoardPlayerMotionSpeedSet = .text:0x80063AFC; // type:function size:0x80 -BoardPlayerMotionTimeSet = .text:0x80063B7C; // type:function size:0x80 -BoardPlayerMotionTimeGet = .text:0x80063BFC; // type:function size:0x78 -BoardPlayerMotionMaxTimeGet = .text:0x80063C74; // type:function size:0x78 -BoardPlayerMotionStartEndSet = .text:0x80063CEC; // type:function size:0xA0 -BoardPlayerModelAttrSet = .text:0x80063D8C; // type:function size:0x80 -BoardPlayerModelAttrReset = .text:0x80063E0C; // type:function size:0x80 -BoardPlayerCoinsSet = .text:0x80063E8C; // type:function size:0x34 -BoardPlayerCoinsGet = .text:0x80063EC0; // type:function size:0x2C -BoardPlayerCoinsAdd = .text:0x80063EEC; // type:function size:0x9C -BoardPlayerStarsAdd = .text:0x80063F88; // type:function size:0x48 -BoardPlayerSizeSet = .text:0x80063FD0; // type:function size:0x16C -BoardPlayerSizeGet = .text:0x8006413C; // type:function size:0x40 -BoardPlayerSameTeamFind = .text:0x8006417C; // type:function size:0x7C -BoardPlayerTeamFind = .text:0x800641F8; // type:function size:0x7C -BoardPlayerRankCalc = .text:0x80064274; // type:function size:0xC4 -BoardPlayerPreTurnHookSet = .text:0x80064338; // type:function size:0x18 -BoardPlayerPostTurnHookSet = .text:0x80064350; // type:function size:0x18 -BoardPlayerTurnExec = .text:0x80064368; // type:function size:0x15C -BoardPlayerTurnRollExec = .text:0x800644C4; // type:function size:0x160 -BoardPlayerTurnMoveExec = .text:0x80064624; // type:function size:0x420 -BoardPlayerPostTurnHookExec = .text:0x80064A44; // type:function size:0x80 -BoardPlayerSizeRestore = .text:0x80064AC4; // type:function size:0x18C -BoardPlayerZoomRestore = .text:0x80064C50; // type:function size:0x134 -BoardJunctionMaskSet = .text:0x80064D84; // type:function size:0x10 -BoardJunctionMaskReset = .text:0x80064D94; // type:function size:0x10 -BoardJunctionMaskZero = .text:0x80064DA4; // type:function size:0xC -InitJunction = .text:0x80064DB0; // type:function size:0x634 scope:local -UpdateJunctionGfx = .text:0x800653E4; // type:function size:0x1A0 scope:local -StopJunctionPlayer = .text:0x80065584; // type:function size:0x70 scope:local -RestoreJunction = .text:0x800655F4; // type:function size:0x180 scope:local -GetDefaultDirection = .text:0x80065774; // type:function size:0x114 scope:local -DoDebugMove = .text:0x80065888; // type:function size:0x8E8 scope:local -ExecJunction = .text:0x80066170; // type:function size:0xBF8 scope:local -BoardPlayerMoveTo = .text:0x80066D68; // type:function size:0xBC -BoardPlayerMoveBetween = .text:0x80066E24; // type:function size:0x90 -BoardPlayerMoveToAsync = .text:0x80066EB4; // type:function size:0x90 -BoardPlayerPosLerpStart = .text:0x80066F44; // type:function size:0x430 -PlayerPosLerpFunc = .text:0x80067374; // type:function size:0x218 scope:local -BoardPlayerDiceJumpStart = .text:0x8006758C; // type:function size:0x1D4 -BoardPlayerDiceJumpCheck = .text:0x80067760; // type:function size:0x54 -DiceJumpFunc = .text:0x800677B4; // type:function size:0x3E4 scope:local -BoardPlayerIdleSet = .text:0x80067B98; // type:function size:0xF8 -BoardPlayerMotBlendSet = .text:0x80067C90; // type:function size:0x5A0 -ExecMotBlend = .text:0x80068230; // type:function size:0x51C scope:local -BoardPlayerMotBlendCheck = .text:0x8006874C; // type:function size:0x2C -BoardRollCreate = .text:0x80068778; // type:function size:0x138 -BoardRollUpdateSet = .text:0x800688B0; // type:function size:0x38 -BoardRollDispSet = .text:0x800688E8; // type:function size:0x10C -UpdateRollSprite = .text:0x800689F4; // type:function size:0x194 scope:local -UpdateRoll = .text:0x80068B88; // type:function size:0x278 scope:local -BoardPlayerBtnDownWait = .text:0x80068E00; // type:function size:0x6C -BoardPlayerAutoSizeSet = .text:0x80068E6C; // type:function size:0x9C -BoardPlayerAutoSizeGet = .text:0x80068F08; // type:function size:0x40 -BoardPlayerMoveAwayIsDone = .text:0x80068F48; // type:function size:0x1C -BoardPlayerMoveAwayStart = .text:0x80068F64; // type:function size:0x224 -BoardPlayerMoveAwayStartCurr = .text:0x80069188; // type:function size:0x40 -MoveAwayObjFunc = .text:0x800691C8; // type:function size:0x100 scope:local -BoardBowserSuitInit = .text:0x800692C8; // type:function size:0x1A4 -BoardBowserSuitKill = .text:0x8006946C; // type:function size:0x128 -BoardBowserSuitModelGet = .text:0x80069594; // type:function size:0x8 -BoardBowserSuitPlayerModelGet = .text:0x8006959C; // type:function size:0x8 -BoardBowserSuitMotionCreate = .text:0x800695A4; // type:function size:0x74 -BoardBowserSuitMotionSetWait = .text:0x80069618; // type:function size:0x54 -BoardBowserSuitMotionSetWalk = .text:0x8006966C; // type:function size:0x4C -BoardBowserSuitMotionSetWin = .text:0x800696B8; // type:function size:0x44 -BoardBowserSuitMotionSetJump = .text:0x800696FC; // type:function size:0x44 -BoardBowserSuitPlayerModelKill = .text:0x80069740; // type:function size:0x44 -UpdateBowserSuit = .text:0x80069784; // type:function size:0x1F0 scope:local -BoardPlayerSparkSet = .text:0x80069974; // type:function size:0x5C -DoSparkSpace = .text:0x800699D0; // type:function size:0x1294 scope:local -RemoveSparkSpace = .text:0x8006AC64; // type:function size:0xA0 scope:local -SetPlayerSizeAuto = .text:0x8006AD04; // type:function size:0x24C scope:local -BoardMegaDoubleDiceCheck = .text:0x8006AF50; // type:function size:0x8 -BoardPlayerResizeAnimExec = .text:0x8006AF58; // type:function size:0x38C -MegaSquishFunc = .text:0x8006B2E4; // type:function size:0x950 scope:local -MegaPlayerPassFunc = .text:0x8006BC34; // type:function size:0x980 scope:local -MegaExecJump = .text:0x8006C5B4; // type:function size:0xA48 scope:local -BoardPlayerCopyEyeMat = .text:0x8006CFFC; // type:function size:0x24C -BoardPlayerCopyMat = .text:0x8006D248; // type:function size:0xC0 -BoardModelInit = .text:0x8006D308; // type:function size:0xF0 -BoardModelKillAll = .text:0x8006D3F8; // type:function size:0xA0 -ModelMgrFunc = .text:0x8006D498; // type:function size:0x70 scope:local -BoardModelDummyUpdate = .text:0x8006D508; // type:function size:0x4 -BoardModelVisibilityUpdate = .text:0x8006D50C; // type:function size:0xCC -BoardModelHideSetAll = .text:0x8006D5D8; // type:function size:0x90 -BoardModelAmbSetAll = .text:0x8006D668; // type:function size:0x70 -BoardModelCameraSetAll = .text:0x8006D6D8; // type:function size:0x7C -CreateInstance = .text:0x8006D754; // type:function size:0x250 scope:local -BoardModelCreate = .text:0x8006D9A4; // type:function size:0x40 -BoardModelCreateCharacter = .text:0x8006D9E4; // type:function size:0x44 -BoardModelCreateParam = .text:0x8006DA28; // type:function size:0x168 -BoardModelKill = .text:0x8006DB90; // type:function size:0x44 -BoardModelIDGet = .text:0x8006DBD4; // type:function size:0x48 -fn_8006DC1C = .text:0x8006DC1C; // type:function size:0x60 -BoardModelPassSet = .text:0x8006DC7C; // type:function size:0x74 -BoardModelAmbSet = .text:0x8006DCF0; // type:function size:0x68 -BoardModelExistCheck = .text:0x8006DD58; // type:function size:0x48 -BoardModelExistDupe = .text:0x8006DDA0; // type:function size:0x48 -fn_8006DDE8 = .text:0x8006DDE8; // type:function size:0x70 -BoardModelMotionCreate = .text:0x8006DE58; // type:function size:0x140 -BoardModelMotionKill = .text:0x8006DF98; // type:function size:0x118 -BoardModelMotionStartEndSet = .text:0x8006E0B0; // type:function size:0xE8 -BoardModelMotionUpdateSet = .text:0x8006E198; // type:function size:0x7C -BoardModelVoiceEnableSet = .text:0x8006E214; // type:function size:0xA4 -BoardModelMotionStart = .text:0x8006E2B8; // type:function size:0x174 -BoardModelMotionShiftIDGet = .text:0x8006E42C; // type:function size:0x50 -BoardModelMotionShiftSet = .text:0x8006E47C; // type:function size:0x148 -BoardModelAttrSet = .text:0x8006E5C4; // type:function size:0x58 -BoardModelAttrReset = .text:0x8006E61C; // type:function size:0x58 -BoardModelMotionTimeSet = .text:0x8006E674; // type:function size:0x84 -BoardModelMotionTimeGet = .text:0x8006E6F8; // type:function size:0x94 -BoardModelMotionMaxTimeGet = .text:0x8006E78C; // type:function size:0x88 -BoardModelMotionSpeedGet = .text:0x8006E814; // type:function size:0x64 -BoardModelMotionSpeedSet = .text:0x8006E878; // type:function size:0xA4 -BoardModelMotionEndCheck = .text:0x8006E91C; // type:function size:0x80 -BoardModelMotionShapeSet = .text:0x8006E99C; // type:function size:0x100 -BoardModelMotionShapeTimeGet = .text:0x8006EA9C; // type:function size:0x7C -BoardModelMotionShapeMaxTimeGet = .text:0x8006EB18; // type:function size:0xBC -BoardModelMotionShapeSpeedSet = .text:0x8006EBD4; // type:function size:0x88 -BoardModelMotionShapeSpeedGet = .text:0x8006EC5C; // type:function size:0x64 -BoardModelMotionShapeEndCheck = .text:0x8006ECC0; // type:function size:0x14C -BoardModelMotionShapeStartEndSet = .text:0x8006EE0C; // type:function size:0x100 -BoardModelAlphaSet = .text:0x8006EF0C; // type:function size:0xB0 -BoardModelMtxSet = .text:0x8006EFBC; // type:function size:0x8C -BoardModelMtxGet = .text:0x8006F048; // type:function size:0x8C -BoardModelRotYSet = .text:0x8006F0D4; // type:function size:0x54 -BoardModelRotYGet = .text:0x8006F128; // type:function size:0x30 -BoardModelPosSetV = .text:0x8006F158; // type:function size:0x50 -BoardModelPosSet = .text:0x8006F1A8; // type:function size:0x78 -BoardModelRotSetV = .text:0x8006F220; // type:function size:0x50 -BoardModelRotSet = .text:0x8006F270; // type:function size:0x78 -BoardModelScaleSetV = .text:0x8006F2E8; // type:function size:0x50 -BoardModelScaleSet = .text:0x8006F338; // type:function size:0x78 -BoardModelPosGet = .text:0x8006F3B0; // type:function size:0x74 -BoardModelRotGet = .text:0x8006F424; // type:function size:0x74 -BoardModelScaleGet = .text:0x8006F498; // type:function size:0x74 -BoardModelVisibilitySet = .text:0x8006F50C; // type:function size:0x60 -BoardModelVisibilityGet = .text:0x8006F56C; // type:function size:0x4C -BoardModelCameraSet = .text:0x8006F5B8; // type:function size:0x64 -BoardModelLayerSet = .text:0x8006F61C; // type:function size:0x64 -BoardModelLayerGet = .text:0x8006F680; // type:function size:0x48 -BoardModelLayerSetAll = .text:0x8006F6C8; // type:function size:0x74 -BoardModelHookSet = .text:0x8006F73C; // type:function size:0xC4 -BoardModelHookReset = .text:0x8006F800; // type:function size:0x50 -BoardModelHookObjReset = .text:0x8006F850; // type:function size:0x58 -SearchBoardModel = .text:0x8006F8A8; // type:function size:0x9C scope:local -KillBoardModel = .text:0x8006F944; // type:function size:0x178 scope:local -CreateBoardModel = .text:0x8006FABC; // type:function size:0x194 scope:local -CreateBoardModelMotion = .text:0x8006FC50; // type:function size:0x12C scope:local -BoardWinInit = .text:0x8006FD7C; // type:function size:0x24 -BoardWinUnusedArraySet = .text:0x8006FDA0; // type:function size:0x34 -BoardWinKillAll = .text:0x8006FDD4; // type:function size:0x24 -BoardWinDestroy = .text:0x8006FDF8; // type:function size:0x6C -ExecBoardWindow = .text:0x8006FE64; // type:function size:0x514 scope:local -BoardWinChoiceGet = .text:0x80070378; // type:function size:0xC -BoardWinPause = .text:0x80070384; // type:function size:0xC -BoardWinCreateChoice = .text:0x80070390; // type:function size:0x1A0 -BoardWinCreate = .text:0x80070530; // type:function size:0x1A0 -BoardWinInsertMesSet = .text:0x800706D0; // type:function size:0x18 -BoardWinWait = .text:0x800706E8; // type:function size:0x50 -BoardWinKill = .text:0x80070738; // type:function size:0x38 -BoardWinAttrSet = .text:0x80070770; // type:function size:0x48 -BoardWinAttrReset = .text:0x800707B8; // type:function size:0x48 -BoardWinChoiceDisable = .text:0x80070800; // type:function size:0x1C -BoardWinKeyWait = .text:0x8007081C; // type:function size:0xC -BoardWinSpeedGet = .text:0x80070828; // type:function size:0x64 -BoardWinSpeedSet = .text:0x8007088C; // type:function size:0x50 -BoardWinChoiceNowGet = .text:0x800708DC; // type:function size:0x38 -BoardWinPriSet = .text:0x80070914; // type:function size:0x44 -BoardWinChoiceNowGet2 = .text:0x80070958; // type:function size:0x38 -BoardWinPortraitGet = .text:0x80070990; // type:function size:0x38 -BoardWinPortraitGetStar = .text:0x800709C8; // type:function size:0x38 -BoardWinPlayerSet = .text:0x80070A00; // type:function size:0x168 -BoardWinStartComKeySet = .text:0x80070B68; // type:function size:0x214 -BoardWinComKeyFuncSet = .text:0x80070D7C; // type:function size:0x8 -BoardMusStartBoard = .text:0x80070D84; // type:function size:0x68 -BoardMusStart = .text:0x80070DEC; // type:function size:0xD0 -BoardAudSeqFadeOutFast = .text:0x80070EBC; // type:function size:0x2C -BoardAudSeqFadeOut = .text:0x80070EE8; // type:function size:0x60 -BoardMusLoudSet = .text:0x80070F48; // type:function size:0x5C -BoardMusVolPanSet = .text:0x80070FA4; // type:function size:0x90 -BoardAudSeqPause = .text:0x80071034; // type:function size:0x94 -BoardMusStatusGet = .text:0x800710C8; // type:function size:0x54 -BoardAudSeqClear = .text:0x8007111C; // type:function size:0x50 -BoardAudSeqFadeOutAll = .text:0x8007116C; // type:function size:0x74 -BoardAudFXPlay = .text:0x800711E0; // type:function size:0x78 -BoardAudFXStop = .text:0x80071258; // type:function size:0x38 -ExecComKeyLeft = .text:0x80071290; // type:function size:0x38 scope:local -BoardComKeySetLeft = .text:0x800712C8; // type:function size:0x28 -ExecComKeyRight = .text:0x800712F0; // type:function size:0x38 scope:local -BoardComKeySetRight = .text:0x80071328; // type:function size:0x28 -ExecComKeyUp = .text:0x80071350; // type:function size:0x38 scope:local -BoardComKeySetUp = .text:0x80071388; // type:function size:0x28 -ExecComKeyDown = .text:0x800713B0; // type:function size:0x38 scope:local -BoardComKeySetDown = .text:0x800713E8; // type:function size:0x28 -ExecComKey = .text:0x80071410; // type:function size:0xE8 scope:local -BoardComPreferItemGet = .text:0x800714F8; // type:function size:0x100 -BoardComPreferItemCheck = .text:0x800715F8; // type:function size:0x120 -BoardComItemWeightGet = .text:0x80071718; // type:function size:0x74 -BoardComUseItemSlotGet = .text:0x8007178C; // type:function size:0xD0 -BoardComUseItemSet = .text:0x8007185C; // type:function size:0x6C -BoardComUseItemCheck = .text:0x800718C8; // type:function size:0x68 -ChooseUseItem = .text:0x80071930; // type:function size:0x16C scope:local -CheckMiniUse = .text:0x80071A9C; // type:function size:0x220 scope:local -CheckMegaUse = .text:0x80071CBC; // type:function size:0x248 scope:local -CheckSparkUse = .text:0x80071F04; // type:function size:0x158 scope:local -CheckBoardChangeUse = .text:0x8007205C; // type:function size:0x314 scope:local -CheckSwapUse = .text:0x80072370; // type:function size:0x198 scope:local -CheckBooUse = .text:0x80072508; // type:function size:0x7C scope:local -CheckLampUse = .text:0x80072584; // type:function size:0x74 scope:local -BoardComJunctionInputGet = .text:0x800725F8; // type:function size:0x304 -BoardComFarPlayerFind = .text:0x800728FC; // type:function size:0xA8 -BoardViewOverheadExec = .text:0x800729A4; // type:function size:0x134 -BoardViewFocusGetPos = .text:0x80072AD8; // type:function size:0x3C -BoardViewFocusSet = .text:0x80072B14; // type:function size:0xF0 -BoardViewMoveStart = .text:0x80072C04; // type:function size:0x128 -BoardViewMoveCheck = .text:0x80072D2C; // type:function size:0x34 -BoardViewMoveEnd = .text:0x80072D60; // type:function size:0xC -BoardViewWait = .text:0x80072D6C; // type:function size:0x3C -BoardViewMapExec = .text:0x80072DA8; // type:function size:0xC8 -ExecMapView = .text:0x80072E70; // type:function size:0x398 scope:local -ExecStarView = .text:0x80073208; // type:function size:0x170 scope:local -ExecOverheadView = .text:0x80073378; // type:function size:0x158 scope:local -DestroyView = .text:0x800734D0; // type:function size:0x80 scope:local -SetTargetView = .text:0x80073550; // type:function size:0x178 scope:local -DestroyFocus = .text:0x800736C8; // type:function size:0x4C scope:local -CreateButtonWin = .text:0x80073714; // type:function size:0xE0 scope:local -DestroyButtonWin = .text:0x800737F4; // type:function size:0x38 scope:local -InitOverheadView = .text:0x8007382C; // type:function size:0x374 scope:local -DestroyOverheadView = .text:0x80073BA0; // type:function size:0x24 scope:local -UpdateOverheadView = .text:0x80073BC4; // type:function size:0x400 scope:local -WaitOverheadView = .text:0x80073FC4; // type:function size:0x30 scope:local -BoardSpaceWalkEventFuncSet = .text:0x80073FF4; // type:function size:0x8 -BoardSpaceWalkMiniEventFuncSet = .text:0x80073FFC; // type:function size:0x8 -BoardSpaceLandEventFuncSet = .text:0x80074004; // type:function size:0x8 -BoardSpaceWalkEventExec = .text:0x8007400C; // type:function size:0x48 -BoardSpaceWalkMiniEventExec = .text:0x80074054; // type:function size:0x60 -BoardSpaceCountGet = .text:0x800740B4; // type:function size:0x10 -BoardSpaceGet = .text:0x800740C4; // type:function size:0x44 -BoardSpaceAttrSet = .text:0x80074108; // type:function size:0x18 -BoardSpaceAttrReset = .text:0x80074120; // type:function size:0x18 -BoardSpaceFlagGet = .text:0x80074138; // type:function size:0x48 -BoardSpaceTypeGet = .text:0x80074180; // type:function size:0x48 -BoardSpaceTypeSet = .text:0x800741C8; // type:function size:0x48 -BoardSpacePosGet = .text:0x80074210; // type:function size:0x8C -BoardSpaceCornerPosGet = .text:0x8007429C; // type:function size:0x2C8 -BoardSpaceRotGet = .text:0x80074564; // type:function size:0x8C -BoardSpaceFlagSearch = .text:0x800745F0; // type:function size:0xA0 -BoardSpaceFlagPosGet = .text:0x80074690; // type:function size:0x134 -BoardSpaceLinkFlagSearch = .text:0x800747C4; // type:function size:0x134 -BoardSpaceLinkTypeListGet = .text:0x800748F8; // type:function size:0x148 -BoardSpaceLinkTargetListGet = .text:0x80074A40; // type:function size:0x104 -BoardSpaceLinkTypeSearch = .text:0x80074B44; // type:function size:0x110 -BoardSpaceLinkTransformGet = .text:0x80074C54; // type:function size:0x1FC -BoardSpaceHostSet = .text:0x80074E50; // type:function size:0x1BC -BoardSpaceStarSetIndex = .text:0x8007500C; // type:function size:0x4AC -BoardSpaceStarGetNext = .text:0x800754B8; // type:function size:0x344 -BoardSpaceStarGetRandom = .text:0x800757FC; // type:function size:0x9C -BoardSpaceStarMove = .text:0x80075898; // type:function size:0xF0 -BoardSpaceStarGet = .text:0x80075988; // type:function size:0x1C -BoardSpaceStarGetCurr = .text:0x800759A4; // type:function size:0x3C -BoardSpaceStarCheck = .text:0x800759E0; // type:function size:0x110 -BoardSpaceLandExec = .text:0x80075AF0; // type:function size:0x474 -BoardSpaceWalkExec = .text:0x80075F64; // type:function size:0x2A4 -BoardSpaceBlockExec = .text:0x80076208; // type:function size:0x180 -ExecPipeSpace = .text:0x80076388; // type:function size:0x268 scope:local -BoardSpaceTypeForce = .text:0x800765F0; // type:function size:0x5C -BoardSpaceHide = .text:0x8007664C; // type:function size:0x48 -DrawSpaces = .text:0x80076694; // type:function size:0x9E8 scope:local -BoardSpaceRead = .text:0x8007707C; // type:function size:0x174 -BoardSpaceCameraSet = .text:0x800771F0; // type:function size:0x2C -BoardSpaceBlockPosSet = .text:0x8007721C; // type:function size:0xD0 -BoardSpaceInit = .text:0x800772EC; // type:function size:0x750 -BoardSpaceDestroy = .text:0x80077A3C; // type:function size:0x70 -BoardShopHostSet = .text:0x80077AAC; // type:function size:0x8 -BoardShopHostGet = .text:0x80077AB4; // type:function size:0x8 -BoardShopInit = .text:0x80077ABC; // type:function size:0xD4 -BoardShopKill = .text:0x80077B90; // type:function size:0xA0 -BoardShopExec = .text:0x80077C30; // type:function size:0x9C -ExecShop = .text:0x80077CCC; // type:function size:0x800 scope:local -DestroyShop = .text:0x800784CC; // type:function size:0xD4 scope:local -PopupShop = .text:0x800785A0; // type:function size:0x1B4 scope:local -CloseShop = .text:0x80078754; // type:function size:0xBC scope:local -CreateShopWin = .text:0x80078810; // type:function size:0x13C scope:local -UpdateShopWin = .text:0x8007894C; // type:function size:0x314 scope:local -SetShopWinItem = .text:0x80078C60; // type:function size:0x168 scope:local -PauseShopWin = .text:0x80078DC8; // type:function size:0x2C scope:local -StartItemGive = .text:0x80078DF4; // type:function size:0x18C scope:local -ExecItemGive = .text:0x80078F80; // type:function size:0x168 scope:local -MoveItemGive = .text:0x800790E8; // type:function size:0x34C scope:local -ShrinkItemGive = .text:0x80079434; // type:function size:0x144 scope:local -WaitItemGive = .text:0x80079578; // type:function size:0x6C scope:local -GetShopItems = .text:0x800795E4; // type:function size:0x280 scope:local -GetDefaultShopItems = .text:0x80079864; // type:function size:0xA0 scope:local -SortShopItems = .text:0x80079904; // type:function size:0x14C scope:local -DecideComEnter = .text:0x80079A50; // type:function size:0x1C8 scope:local -DecideComBuy = .text:0x80079C18; // type:function size:0x60 scope:local -GetComItemChoice = .text:0x80079C78; // type:function size:0x158 scope:local -WaitItemChoice = .text:0x80079DD0; // type:function size:0x30 scope:local -CreateShopItemChoice = .text:0x80079E00; // type:function size:0x188 scope:local -GetShopItemChoice = .text:0x80079F88; // type:function size:0xC scope:local -GetShopItemWinChoice = .text:0x80079F94; // type:function size:0x38 scope:local -MoveShopItemChoice = .text:0x80079FCC; // type:function size:0x260 scope:local -UpdateShopItemChoice = .text:0x8007A22C; // type:function size:0x104 scope:local -GetShopItemChoiceInput = .text:0x8007A330; // type:function size:0x30 scope:local -BoardShopTutorialExec = .text:0x8007A360; // type:function size:0x4DC -BoardLotteryHostSet = .text:0x8007A83C; // type:function size:0x8 -BoardLotteryHostGet = .text:0x8007A844; // type:function size:0x8 -BoardLotteryExec = .text:0x8007A84C; // type:function size:0x8C -BoardLotteryInit = .text:0x8007A8D8; // type:function size:0x16C -CreateModel = .text:0x8007AA44; // type:function size:0x3B4 scope:local -KillModel = .text:0x8007ADF8; // type:function size:0x1FC scope:local -BoardLotteryKill = .text:0x8007AFF4; // type:function size:0x64 -DestroyLottery = .text:0x8007B058; // type:function size:0xB0 scope:local -ExecLottery = .text:0x8007B108; // type:function size:0x798 scope:local -DoMiniJumpUp = .text:0x8007B8A0; // type:function size:0x20C scope:local -DoMiniJumpDown = .text:0x8007BAAC; // type:function size:0x1BC scope:local -PayEnterFee = .text:0x8007BC68; // type:function size:0xF0 scope:local -ShowTicket = .text:0x8007BD58; // type:function size:0x3C8 scope:local -SetupTicket = .text:0x8007C120; // type:function size:0x140 scope:local -ExecBallGame = .text:0x8007C260; // type:function size:0x914 scope:local -SetBallPrize = .text:0x8007CB74; // type:function size:0xC8 scope:local -ExecBallPrize = .text:0x8007CC3C; // type:function size:0x27C scope:local -ExecScratchTicket = .text:0x8007CEB8; // type:function size:0x30C scope:local -ExecScratch = .text:0x8007D1C4; // type:function size:0x3AC scope:local -KillScratch = .text:0x8007D570; // type:function size:0x6C scope:local -ExecScratchSpr = .text:0x8007D5DC; // type:function size:0x21C scope:local -HideScratchSpr = .text:0x8007D7F8; // type:function size:0x68 scope:local -InitScratchSpr = .text:0x8007D860; // type:function size:0x288 scope:local -ExecScratchPick = .text:0x8007DAE8; // type:function size:0x3DC scope:local -InitScratchPick = .text:0x8007DEC4; // type:function size:0x14C scope:local -InitTicketPrizes = .text:0x8007E010; // type:function size:0xD0 scope:local -ExecTicketFocus = .text:0x8007E0E0; // type:function size:0x160 scope:local -ScratchTicketCheckDone = .text:0x8007E240; // type:function size:0xA8 scope:local -TicketGetPixel = .text:0x8007E2E8; // type:function size:0x84 scope:local -TicketUpdate = .text:0x8007E36C; // type:function size:0x6B0 scope:local -ExecCoinPrize = .text:0x8007EA1C; // type:function size:0x440 scope:local -ExecItemPrize = .text:0x8007EE5C; // type:function size:0x338 scope:local -KillCoin = .text:0x8007F194; // type:function size:0x68 scope:local -ExecPrize = .text:0x8007F1FC; // type:function size:0x4C0 scope:local -ExecLose = .text:0x8007F6BC; // type:function size:0xA4 scope:local -CreateLotteryWin = .text:0x8007F760; // type:function size:0xFC scope:local -KillLotteryWin = .text:0x8007F85C; // type:function size:0x38 scope:local -BoardLotteryTutorialExec = .text:0x8007F894; // type:function size:0x2BC -BoardLandBlueExec = .text:0x8007FB50; // type:function size:0x184 -BoardLandRedExec = .text:0x8007FCD4; // type:function size:0x19C -BoardCoinChgCreate = .text:0x8007FE70; // type:function size:0x1E8 -BoardCoinChgExist = .text:0x80080058; // type:function size:0x6C -BoardCoinChgHide = .text:0x800800C4; // type:function size:0x60 -CreateCoinChg = .text:0x80080124; // type:function size:0x23C scope:local -UpdateCoinChg = .text:0x80080360; // type:function size:0x198 scope:local -CoinChgAppear = .text:0x800804F8; // type:function size:0x1B8 scope:local -CoinChgSeparate = .text:0x800806B0; // type:function size:0x29C scope:local -CoinChgShow = .text:0x8008094C; // type:function size:0x1A8 scope:local -CoinChgDisappear = .text:0x80080AF4; // type:function size:0x260 scope:local -BoardWarpExec = .text:0x80080D54; // type:function size:0xA4 -WarpProcess = .text:0x80080DF8; // type:function size:0x250 scope:local -WarpKill = .text:0x80081048; // type:function size:0x5C scope:local -WarpInit = .text:0x800810A4; // type:function size:0x118 scope:local -WarpLaunch = .text:0x800811BC; // type:function size:0xBC scope:local -WarpStartImpact = .text:0x80081278; // type:function size:0x1B0 scope:local -WarpFall = .text:0x80081428; // type:function size:0xA4 scope:local -WarpImpact = .text:0x800814CC; // type:function size:0x200 scope:local -BoardCharWheelInit = .text:0x800816CC; // type:function size:0x11C -BoardCharWheelCheck = .text:0x800817E8; // type:function size:0x34 -BoardCharWheelWait = .text:0x8008181C; // type:function size:0x50 -BoardCharWheelResultGet = .text:0x8008186C; // type:function size:0x18 -BoardCharWheelSpeedSet = .text:0x80081884; // type:function size:0x1C -ExecCharWheel = .text:0x800818A0; // type:function size:0xFC scope:local -InitCharWheel = .text:0x8008199C; // type:function size:0x754 scope:local -UpdateCharWheel = .text:0x800820F0; // type:function size:0x314 scope:local -StopCharWheel = .text:0x80082404; // type:function size:0x164 scope:local -GrowCharWheel = .text:0x80082568; // type:function size:0x120 scope:local -ShrinkCharWheel = .text:0x80082688; // type:function size:0x10C scope:local -KillCharWheelSpr = .text:0x80082794; // type:function size:0x38 scope:local -SetCharWheelChars = .text:0x800827CC; // type:function size:0xBC scope:local -GetInput = .text:0x80082888; // type:function size:0x224 scope:local -BoardCharWheelTargetSet = .text:0x80082AAC; // type:function size:0x10 -GetComDelay = .text:0x80082ABC; // type:function size:0x148 scope:local -GetComInput = .text:0x80082C04; // type:function size:0x8C scope:local -BoardMushroomExec = .text:0x80082C90; // type:function size:0xA4 -MushroomMain = .text:0x80082D34; // type:function size:0x38C scope:local -KillMushroom = .text:0x800830C0; // type:function size:0x58 scope:local -BoxMain = .text:0x80083118; // type:function size:0x118 scope:local -ShowBox = .text:0x80083230; // type:function size:0x114 scope:local -ExitBox = .text:0x80083344; // type:function size:0x160 scope:local -HideBox = .text:0x800834A4; // type:function size:0x68 scope:local -CenterBox = .text:0x8008350C; // type:function size:0xD4 scope:local -InitBox = .text:0x800835E0; // type:function size:0x2EC scope:local -MarkKillBox = .text:0x800838CC; // type:function size:0x64 scope:local -SetBoxHide = .text:0x80083930; // type:function size:0x34 scope:local -SetBoxCenter = .text:0x80083964; // type:function size:0x54 scope:local -SetBoxShow = .text:0x800839B8; // type:function size:0x34 scope:local -WaitBoxOpen = .text:0x800839EC; // type:function size:0x5C scope:local -WaitBoxCenter = .text:0x80083A48; // type:function size:0x58 scope:local -CheckBox = .text:0x80083AA0; // type:function size:0x60 scope:local -DoItemGive = .text:0x80083B00; // type:function size:0x240 scope:local -StartItemGive = .text:0x80083D40; // type:function size:0xD4 scope:local -KillItemMdl = .text:0x80083E14; // type:function size:0x38 scope:local -ShowItemMdl = .text:0x80083E4C; // type:function size:0x48 scope:local -WaitItemGive = .text:0x80083E94; // type:function size:0x48 scope:local -BoardStarHostSet = .text:0x80083EDC; // type:function size:0xA8 -BoardStarHostMdlGet = .text:0x80083F84; // type:function size:0x8 -BoardStarExec = .text:0x80083F8C; // type:function size:0xCC -ExecStar = .text:0x80084058; // type:function size:0x8F4 scope:local -DestroyStar = .text:0x8008494C; // type:function size:0x84 scope:local -GiveStarMain = .text:0x800849D0; // type:function size:0x160 scope:local -UpdateStarAngle = .text:0x80084B30; // type:function size:0x144 scope:local -InitGiveStar = .text:0x80084C74; // type:function size:0x10C scope:local -MoveGiveStar = .text:0x80084D80; // type:function size:0x180 scope:local -ShrinkGiveStar = .text:0x80084F00; // type:function size:0x204 scope:local -StopGiveStar = .text:0x80085104; // type:function size:0x38 scope:local -InitGiveStarEffect = .text:0x8008513C; // type:function size:0xB4 scope:local -KillGiveStarEffect = .text:0x800851F0; // type:function size:0x40 scope:local -BoardStarGive = .text:0x80085230; // type:function size:0x31C -BoardStarShowNext = .text:0x8008554C; // type:function size:0x628 -ShowNextUpdate = .text:0x80085B74; // type:function size:0x130 scope:local -HideNextHost = .text:0x80085CA4; // type:function size:0x24 scope:local -BoardRollExec = .text:0x80085CC8; // type:function size:0x1EC -BoardRollKill = .text:0x80085EB4; // type:function size:0x38 -BoardRollUPauseSet = .text:0x80085EEC; // type:function size:0x84 -BoardRollWinDispSet = .text:0x80085F70; // type:function size:0x4C -RollMain = .text:0x80085FBC; // type:function size:0x490 scope:local -DiceCreate = .text:0x8008644C; // type:function size:0x280 scope:local -DoInput = .text:0x800866CC; // type:function size:0x1C8 scope:local -DiceWaitFull = .text:0x80086894; // type:function size:0x60 scope:local -DiceSetHit = .text:0x800868F4; // type:function size:0x130 scope:local -RollDestroy = .text:0x80086A24; // type:function size:0x60 scope:local -DiceMain = .text:0x80086A84; // type:function size:0x7E4 scope:local -DicePause = .text:0x80087268; // type:function size:0x40 scope:local -DicePauseAll = .text:0x800872A8; // type:function size:0x90 scope:local -BoardDiceEffectCreate = .text:0x80087338; // type:function size:0xE0 -DiceHideEffect = .text:0x80087418; // type:function size:0x84 scope:local -BoardDicePauseAll = .text:0x8008749C; // type:function size:0x94 -BoardDiceDoneCheck = .text:0x80087530; // type:function size:0x8C -BoardDiceStop = .text:0x800875BC; // type:function size:0x58 -BoardDiceVisibleSet = .text:0x80087614; // type:function size:0xC0 -BoardDiceValueSet = .text:0x800876D4; // type:function size:0x200 -DiceDigitMain = .text:0x800878D4; // type:function size:0xAC scope:local -DiceDigitKill = .text:0x80087980; // type:function size:0x68 scope:local -DiceKill = .text:0x800879E8; // type:function size:0xB4 scope:local -DiceDigitMove = .text:0x80087A9C; // type:function size:0x390 scope:local -DiceDigitRotate = .text:0x80087E2C; // type:function size:0x110 scope:local -SameRollExec = .text:0x80087F3C; // type:function size:0x248 scope:local -GetBtnRoll = .text:0x80088184; // type:function size:0x110 scope:local -GetComBtnRoll = .text:0x80088294; // type:function size:0x88 scope:local -BoardRollTutorialSet = .text:0x8008831C; // type:function size:0x4C -BoardItemModelGet = .text:0x80088368; // type:function size:0x90 -BoardItemNameGet = .text:0x800883F8; // type:function size:0x98 -BoardStatusStopCheck = .text:0x80088490; // type:function size:0x48 -BoardStatusVisibleGet = .text:0x800884D8; // type:function size:0x1C -BoardStatusShowSetAll = .text:0x800884F4; // type:function size:0x48 -BoardStatusItemSet = .text:0x8008853C; // type:function size:0xFC -BoardStatusShowSetForce = .text:0x80088638; // type:function size:0x24 -BoardStatusGraySet = .text:0x8008865C; // type:function size:0x134 -BoardStatusShowSet = .text:0x80088790; // type:function size:0x138 -BoardStatusItemHideSet = .text:0x800888C8; // type:function size:0x50 -BoardStatusTargetPosSet = .text:0x80088918; // type:function size:0x44 -BoardStatusPosGet = .text:0x8008895C; // type:function size:0x34 -BoardStatusPosSet = .text:0x80088990; // type:function size:0x6C -BoardStatusHammerCreate = .text:0x800889FC; // type:function size:0x158 -BoardStatusHammerShowSet = .text:0x80088B54; // type:function size:0x94 -BoardStatusHammerKill = .text:0x80088BE8; // type:function size:0x6C -BoardStatusKill = .text:0x80088C54; // type:function size:0x90 -BoardStatusCreate = .text:0x80088CE4; // type:function size:0x20C -KillAllBoardStatus = .text:0x80088EF0; // type:function size:0x98 scope:local -CreateBoardStatusSprite = .text:0x80088F88; // type:function size:0x36C scope:local -BoardSpriteCreate = .text:0x800892F4; // type:function size:0x8C -UpdateBoardStatus = .text:0x80089380; // type:function size:0x210 scope:local -BoardStatusProc = .text:0x80089590; // type:function size:0x40 scope:local -MoveBoardStatus = .text:0x800895D0; // type:function size:0x180 scope:local -BoardSpriteDigitUpdate = .text:0x80089750; // type:function size:0x140 -UpdateStatusItem = .text:0x80089890; // type:function size:0xB8 scope:local -BoardPickerCreate = .text:0x80089948; // type:function size:0x29C -BoardPickerBackFlagSet = .text:0x80089BE4; // type:function size:0x74 -BoardPickerDoneCheck = .text:0x80089C58; // type:function size:0x1C -BoardPickerPosGet = .text:0x80089C74; // type:function size:0x48 -BoardPickerChoiceGet = .text:0x80089CBC; // type:function size:0xC -UpdatePicker = .text:0x80089CC8; // type:function size:0xFC scope:local -UpdatePickerInput = .text:0x80089DC4; // type:function size:0x15C scope:local -MovePicker = .text:0x80089F20; // type:function size:0x110 scope:local -UpdateComPickerButton = .text:0x8008A030; // type:function size:0x30 scope:local -CheckPickerButton = .text:0x8008A060; // type:function size:0x19C scope:local -BoardYourTurnExec = .text:0x8008A1FC; // type:function size:0x1E4 -UpdateYourTurn = .text:0x8008A3E0; // type:function size:0xD4 scope:local -GrowYourTurn = .text:0x8008A4B4; // type:function size:0xD8 scope:local -WaitYourTurn = .text:0x8008A58C; // type:function size:0xEC scope:local -ShrinkYourTurn = .text:0x8008A678; // type:function size:0xC8 scope:local -BoardItemUseExec = .text:0x8008A740; // type:function size:0x80 -ItemUseTeamProc = .text:0x8008A7C0; // type:function size:0x4A8 scope:local -ItemUseProc = .text:0x8008AC68; // type:function size:0x370 scope:local -FinishItemUse = .text:0x8008AFD8; // type:function size:0x174 scope:local -DestroyItemUse = .text:0x8008B14C; // type:function size:0x78 scope:local -BoardMakeRandomItem = .text:0x8008B1C4; // type:function size:0x74 -TeamItemPosSet = .text:0x8008B238; // type:function size:0xE8 scope:local -ExecItemPick = .text:0x8008B320; // type:function size:0x650 scope:local -UpdateItemPick = .text:0x8008B970; // type:function size:0x3AC scope:local -MakeItemPickSpace = .text:0x8008BD1C; // type:function size:0x420 scope:local -SetItemUIStatus = .text:0x8008C13C; // type:function size:0x248 scope:local -BoardItemGetDestPos = .text:0x8008C384; // type:function size:0xA8 -ItemGetPos = .text:0x8008C42C; // type:function size:0x104 scope:local -BoardItemStatusKill = .text:0x8008C530; // type:function size:0x400 -UpdateItemPickGfx = .text:0x8008C930; // type:function size:0x388 scope:local -UpdateItemPickup = .text:0x8008CCB8; // type:function size:0x674 scope:local -CheckItemWindow = .text:0x8008D32C; // type:function size:0x50 scope:local -HideItemWindow = .text:0x8008D37C; // type:function size:0x38 scope:local -CreateItemWindow = .text:0x8008D3B4; // type:function size:0x5A4 scope:local -CheckItemWindowSlide = .text:0x8008D958; // type:function size:0x58 scope:local -KillItemWindow = .text:0x8008D9B0; // type:function size:0x38 scope:local -SetItemWindowCurr = .text:0x8008D9E8; // type:function size:0xA4 scope:local -UpdateItemWindow = .text:0x8008DA8C; // type:function size:0x350 scope:local -CreatePickerWindow = .text:0x8008DDDC; // type:function size:0x148 scope:local -KillPickerWindow = .text:0x8008DF24; // type:function size:0x44 scope:local -BoardBlockExec = .text:0x8008DF68; // type:function size:0x84 -BlockProc = .text:0x8008DFEC; // type:function size:0x358 scope:local -DestroyBlock = .text:0x8008E344; // type:function size:0x54 scope:local -CreateBlockObj = .text:0x8008E398; // type:function size:0x1F4 scope:local -ExecBlockObj = .text:0x8008E58C; // type:function size:0x12C scope:local -DestroyBlockObj = .text:0x8008E6B8; // type:function size:0x38 scope:local -SpawnBlock = .text:0x8008E6F0; // type:function size:0x120 scope:local -HitBlock = .text:0x8008E810; // type:function size:0xCC scope:local -OpenBlock = .text:0x8008E8DC; // type:function size:0x140 scope:local -SetBlockOpen = .text:0x8008EA1C; // type:function size:0x2C scope:local -SetBlockStop = .text:0x8008EA48; // type:function size:0x2C scope:local -WaitBlockHit = .text:0x8008EA74; // type:function size:0x48 scope:local -CreateCoinMdl = .text:0x8008EABC; // type:function size:0x94 scope:local -KillCoinMdl = .text:0x8008EB50; // type:function size:0x9C scope:local -PopupCoin = .text:0x8008EBEC; // type:function size:0x10C scope:local -PopupCoinExec = .text:0x8008ECF8; // type:function size:0x130 scope:local -BoardItemStart = .text:0x8008EE28; // type:function size:0x74 -BoardItemDoneCheck = .text:0x8008EE9C; // type:function size:0x1C -BoardItemPlayerRestore = .text:0x8008EEB8; // type:function size:0x6C -ItemProcess = .text:0x8008EF24; // type:function size:0x64 scope:local -RestoreProcess = .text:0x8008EF88; // type:function size:0x64 scope:local -ItemDestroy = .text:0x8008EFEC; // type:function size:0xC scope:local -RestoreDestroy = .text:0x8008EFF8; // type:function size:0xC scope:local -ItemSizeShowAnim = .text:0x8008F004; // type:function size:0x180 scope:local -ItemRotProc = .text:0x8008F184; // type:function size:0x1BC scope:local -ItemShowProc = .text:0x8008F340; // type:function size:0x220 scope:local -ItemGetTarget = .text:0x8008F560; // type:function size:0x374 scope:local -ItemSizeSet = .text:0x8008F8D4; // type:function size:0x204 scope:local -ExecItemMini = .text:0x8008FAD8; // type:function size:0xA4 scope:local -ExecItemMega = .text:0x8008FB7C; // type:function size:0xA4 scope:local -ExecItemMiniSuper = .text:0x8008FC20; // type:function size:0xA4 scope:local -ExecItemMegaSuper = .text:0x8008FCC4; // type:function size:0xA4 scope:local -ExecItemHammer = .text:0x8008FD68; // type:function size:0x584 scope:local -ExecItemPipe = .text:0x800902EC; // type:function size:0xD34 scope:local -ExecItemSwap = .text:0x80091020; // type:function size:0xEBC scope:local -ExecItemSpark = .text:0x80091EDC; // type:function size:0x4FC scope:local -ExecItemLight = .text:0x800923D8; // type:function size:0xC8 scope:local -ExecItemWhistle = .text:0x800924A0; // type:function size:0xE3C scope:local -ExecItemBowser = .text:0x800932DC; // type:function size:0x3D4 scope:local -ExecItemBooBall = .text:0x800936B0; // type:function size:0x1370 scope:local -LampParticleUpdate = .text:0x80094A20; // type:function size:0x488 scope:local -GenieParticleUpdate = .text:0x80094EA8; // type:function size:0x388 scope:local -GenieCameraProc = .text:0x80095230; // type:function size:0xB0 scope:local -GenieCameraCalc = .text:0x800952E0; // type:function size:0x7A4 scope:local -GenieSceneExec = .text:0x80095A84; // type:function size:0x9D8 scope:local -ExecItemGenie = .text:0x8009645C; // type:function size:0x628 scope:local -BoardItemBagItemSet = .text:0x80096A84; // type:function size:0x3C -ExecItemBagJump = .text:0x80096AC0; // type:function size:0x13C scope:local -ExecItemBagShow = .text:0x80096BFC; // type:function size:0xDC scope:local -ExecItemBag = .text:0x80096CD8; // type:function size:0x584 scope:local -RestoreItemNull = .text:0x8009725C; // type:function size:0x1C scope:local -RestoreItemMini = .text:0x80097278; // type:function size:0x2C scope:local -RestoreItemMega = .text:0x800972A4; // type:function size:0x2C scope:local -RestoreItemMiniSuper = .text:0x800972D0; // type:function size:0x2C scope:local -RestoreItemMegaSuper = .text:0x800972FC; // type:function size:0x2C scope:local -RestoreItemBowser = .text:0x80097328; // type:function size:0x284 scope:local -BoardBowserExec = .text:0x800975AC; // type:function size:0x144 -ExecBowser = .text:0x800976F0; // type:function size:0x28C scope:local -ExecBowserMain = .text:0x8009797C; // type:function size:0x208 scope:local -ExecMGReturn = .text:0x80097B84; // type:function size:0x1DC scope:local -DestroyBowser = .text:0x80097D60; // type:function size:0x30 scope:local -SquishPlayers = .text:0x80097D90; // type:function size:0x148 scope:local -ExecBowserSpecial = .text:0x80097ED8; // type:function size:0x1B4 scope:local -ExecBowserGame = .text:0x8009808C; // type:function size:0x250 scope:local -DoMGReturnEffect = .text:0x800982DC; // type:function size:0x220 scope:local -ExecBowserShuffle = .text:0x800984FC; // type:function size:0x2B0 scope:local -ExecBowserRevo = .text:0x800987AC; // type:function size:0x160 scope:local -ExecBowserSuit = .text:0x8009890C; // type:function size:0xB8 scope:local -CheckSuitGive = .text:0x800989C4; // type:function size:0x1C scope:local -StartSuitGive = .text:0x800989E0; // type:function size:0x148 scope:local -SuitGiveMain = .text:0x80098B28; // type:function size:0x210 scope:local -CreateBowserObj = .text:0x80098D38; // type:function size:0x228 scope:local -ExecBowserObj = .text:0x80098F60; // type:function size:0x230 scope:local -ExecBowserFall = .text:0x80099190; // type:function size:0x270 scope:local -ExecBowserLaugh = .text:0x80099400; // type:function size:0x58 scope:local -ExecBowserFire = .text:0x80099458; // type:function size:0x44 scope:local -ExecBowserJump = .text:0x8009949C; // type:function size:0x150 scope:local -ExecBowserPowerUp = .text:0x800995EC; // type:function size:0x128 scope:local -SetBowserState = .text:0x80099714; // type:function size:0x34 scope:local -CheckBowserIdle = .text:0x80099748; // type:function size:0x5C scope:local -CreateMiniBowser = .text:0x800997A4; // type:function size:0xD4 scope:local -CheckMiniBowser = .text:0x80099878; // type:function size:0x1C scope:local -ExecMiniBowser = .text:0x80099894; // type:function size:0x18C scope:local -CreateBowserEvent = .text:0x80099A20; // type:function size:0x1E8 scope:local -CheckBowserEvent = .text:0x80099C08; // type:function size:0x38 scope:local -StopBowserEvent = .text:0x80099C40; // type:function size:0x24 scope:local -ExecBowserEvent = .text:0x80099C64; // type:function size:0xEC scope:local -ShowBowserEvent = .text:0x80099D50; // type:function size:0x1C8 scope:local -HideBowserEvent = .text:0x80099F18; // type:function size:0x108 scope:local -ConfigBowserEvent = .text:0x8009A020; // type:function size:0x160 scope:local -CreatePlayerMot = .text:0x8009A180; // type:function size:0x1AC scope:local -KillPlayerMot = .text:0x8009A32C; // type:function size:0xB8 scope:local -InitBowserFire = .text:0x8009A3E4; // type:function size:0x90 scope:local -BowserFireHook = .text:0x8009A474; // type:function size:0x160 scope:local -SpawnBowserFire = .text:0x8009A5D4; // type:function size:0xE4 scope:local -CheckBowserFire = .text:0x8009A6B8; // type:function size:0xCC scope:local -KillBowserFire = .text:0x8009A784; // type:function size:0x40 scope:local -ExecMiniBowserEvent = .text:0x8009A7C4; // type:function size:0x188 scope:local -MiniBowserTake = .text:0x8009A94C; // type:function size:0x2C4 scope:local -MiniBowserTakeAll = .text:0x8009AC10; // type:function size:0x2B8 scope:local -MiniBowserBalloonStop = .text:0x8009AEC8; // type:function size:0x24 scope:local -GetMiniBowserBalloonState = .text:0x8009AEEC; // type:function size:0xC scope:local -SetMiniBowserBalloonState = .text:0x8009AEF8; // type:function size:0x10 scope:local -CreateMiniBowserBalloon = .text:0x8009AF08; // type:function size:0x14C scope:local -ExecMiniBowserBalloon = .text:0x8009B054; // type:function size:0x120 scope:local -MiniBowserBalloonHover = .text:0x8009B174; // type:function size:0xB4 scope:local -MiniBowserBalloonFall = .text:0x8009B228; // type:function size:0x88 scope:local -MiniBowserBalloonRaise = .text:0x8009B2B0; // type:function size:0x80 scope:local -SetMiniBowserMotion = .text:0x8009B330; // type:function size:0xD8 scope:local -SetMiniBowserMotionPause = .text:0x8009B408; // type:function size:0x6C scope:local -WaitMiniBowserMotion = .text:0x8009B474; // type:function size:0x60 scope:local -BoardBattleExec = .text:0x8009B4D4; // type:function size:0x124 -DestroyBattle = .text:0x8009B5F8; // type:function size:0x2C scope:local -ExecBattle = .text:0x8009B624; // type:function size:0x708 scope:local -TakeCoins = .text:0x8009BD2C; // type:function size:0x1D4 scope:local -InitExplode = .text:0x8009BF00; // type:function size:0x1FC scope:local -CheckExplode = .text:0x8009C0FC; // type:function size:0x24 scope:local -UpdateExplode = .text:0x8009C120; // type:function size:0x2D0 scope:local -CreateBattleMain = .text:0x8009C3F0; // type:function size:0x1E8 scope:local -UpdateBattleMain = .text:0x8009C5D8; // type:function size:0x1A0 scope:local -DescendBattleBomb = .text:0x8009C778; // type:function size:0x64 scope:local -EndBattle = .text:0x8009C7DC; // type:function size:0x88 scope:local -ShowBattleGame = .text:0x8009C864; // type:function size:0x124 scope:local -RaiseBattleGame = .text:0x8009C988; // type:function size:0x8C scope:local -UpdateBattleCoin = .text:0x8009CA14; // type:function size:0x260 scope:local -ShowBattleCoin = .text:0x8009CC74; // type:function size:0x128 scope:local -InitBattleGameSpr = .text:0x8009CD9C; // type:function size:0x12C scope:local -HideBattleSpr = .text:0x8009CEC8; // type:function size:0x58 scope:local -VibratePad = .text:0x8009CF20; // type:function size:0x64 scope:local -StopBattleBomb = .text:0x8009CF84; // type:function size:0x24 scope:local -GetBattleBombState = .text:0x8009CFA8; // type:function size:0x10 scope:local -SetBattleBombState = .text:0x8009CFB8; // type:function size:0x34 scope:local -SetBattleCoinValue = .text:0x8009CFEC; // type:function size:0x15C scope:local -BoardFortuneExec = .text:0x8009D148; // type:function size:0x124 -FortuneExec = .text:0x8009D26C; // type:function size:0x74 scope:local -DestroyFortune = .text:0x8009D2E0; // type:function size:0xC scope:local -FortuneMain = .text:0x8009D2EC; // type:function size:0x340 scope:local -FortunePostMG = .text:0x8009D62C; // type:function size:0xF8 scope:local -CreateFortunePlatform = .text:0x8009D724; // type:function size:0x160 scope:local -CameraCalcFortune = .text:0x8009D884; // type:function size:0x5C scope:local -ExecFortunePlatform = .text:0x8009D8E0; // type:function size:0x198 scope:local -ExecComFortuneWin = .text:0x8009DA78; // type:function size:0x18C scope:local -ConfigComFortune = .text:0x8009DC04; // type:function size:0x20C scope:local -ComFortuneAddStar = .text:0x8009DE10; // type:function size:0x78 scope:local -ComFortuneAddCoin = .text:0x8009DE88; // type:function size:0x78 scope:local -ComFortuneSwapCoin = .text:0x8009DF00; // type:function size:0x68 scope:local -ComFortuneSwapStar = .text:0x8009DF68; // type:function size:0x68 scope:local -BoardBooCreate = .text:0x8009DFD0; // type:function size:0x11C -BoardBooKill = .text:0x8009E0EC; // type:function size:0x2C -BoardBooStealTypeSet = .text:0x8009E118; // type:function size:0x2A8 -ComSetupStealPlayer = .text:0x8009E3C0; // type:function size:0x1D4 scope:local -ComSetStealPlayerInput = .text:0x8009E594; // type:function size:0xE8 scope:local -BoardBooStealMain = .text:0x8009E67C; // type:function size:0x280 -ExecCoinSteal = .text:0x8009E8FC; // type:function size:0xC0 scope:local -ExecStarSteal = .text:0x8009E9BC; // type:function size:0xA8 scope:local -ExecLightSteal = .text:0x8009EA64; // type:function size:0x94 scope:local -SetBooMode = .text:0x8009EAF8; // type:function size:0x10 scope:local -CreateBallMdl = .text:0x8009EB08; // type:function size:0xBC scope:local -CreateBallView = .text:0x8009EBC4; // type:function size:0x1D4 scope:local -SetBallView = .text:0x8009ED98; // type:function size:0xAC scope:local -SetBallActive = .text:0x8009EE44; // type:function size:0x28 scope:local -CheckBallKill = .text:0x8009EE6C; // type:function size:0x4C scope:local -BallMain = .text:0x8009EEB8; // type:function size:0x300 scope:local -BallRenderHook = .text:0x8009F1B8; // type:function size:0x4A0 scope:local -ExecBoo = .text:0x8009F658; // type:function size:0x9C scope:local -UpdateBallCamera = .text:0x8009F6F4; // type:function size:0x1DC scope:local -CreateBallPlayer = .text:0x8009F8D0; // type:function size:0x358 scope:local -GetBallPlayerState = .text:0x8009FC28; // type:function size:0x24 scope:local -SetBallPlayerState = .text:0x8009FC4C; // type:function size:0x2C scope:local -ExecBallPlayer = .text:0x8009FC78; // type:function size:0x214 scope:local -BallPlayerZoomOut = .text:0x8009FE8C; // type:function size:0x15C scope:local -BallPlayerScare = .text:0x8009FFE8; // type:function size:0x110 scope:local -BallPlayerTurn = .text:0x800A00F8; // type:function size:0x68 scope:local -BallPlayerPunch = .text:0x800A0160; // type:function size:0x1E0 scope:local -BallPlayerUseLight = .text:0x800A0340; // type:function size:0x10C scope:local -BallPlayerCatch = .text:0x800A044C; // type:function size:0x190 scope:local -BallBooCreate = .text:0x800A05DC; // type:function size:0x328 scope:local -SetBallBooState = .text:0x800A0904; // type:function size:0x170 scope:local -GetBallBooState = .text:0x800A0A74; // type:function size:0x24 scope:local -ExecBallBoo = .text:0x800A0A98; // type:function size:0x128 scope:local -BallBooSpawn = .text:0x800A0BC0; // type:function size:0x54 scope:local -BallBooChase = .text:0x800A0C14; // type:function size:0x104 scope:local -BallBooBattle = .text:0x800A0D18; // type:function size:0x218 scope:local -BallBooAttack = .text:0x800A0F30; // type:function size:0xF4 scope:local -BallBooFlash = .text:0x800A1024; // type:function size:0x178 scope:local -TakeBallCoin = .text:0x800A119C; // type:function size:0x1B0 scope:local -ExecTakeBallCoin = .text:0x800A134C; // type:function size:0xDC scope:local -TakeBallCoinPosSet = .text:0x800A1428; // type:function size:0x9C scope:local -CheckBallCoinDone = .text:0x800A14C4; // type:function size:0x68 -TakeBallStar = .text:0x800A152C; // type:function size:0x168 -ExecTakeBallStar = .text:0x800A1694; // type:function size:0x184 -CheckTakeBallStarDone = .text:0x800A1818; // type:function size:0x1C -BoardBooStealValueGet = .text:0x800A1834; // type:function size:0x30 -BoardBooStealLightCheck = .text:0x800A1864; // type:function size:0x20 -UpdatePlayerCoins = .text:0x800A1884; // type:function size:0x1B0 scope:local -BoardMGSetupExec = .text:0x800A1A34; // type:function size:0x60 -DestroyMGSetup = .text:0x800A1A94; // type:function size:0x1C scope:local -ExecMGSetup = .text:0x800A1AB0; // type:function size:0x6FC scope:local -DetermineMGList = .text:0x800A21AC; // type:function size:0x3B0 scope:local -SetupStatusLayout = .text:0x800A255C; // type:function size:0x3A8 scope:local -GetMGType = .text:0x800A2904; // type:function size:0x388 scope:local -GetMGTypeTeam = .text:0x800A2C8C; // type:function size:0x3A4 scope:local -CreateMGSetup = .text:0x800A3030; // type:function size:0x194 scope:local -UpdateMGSetup = .text:0x800A31C4; // type:function size:0x198 scope:local -CenterStatus = .text:0x800A335C; // type:function size:0x174 scope:local -SeparateStatus = .text:0x800A34D0; // type:function size:0x200 scope:local -PopupVS = .text:0x800A36D0; // type:function size:0x20C scope:local -FallMGType = .text:0x800A38DC; // type:function size:0x1C8 scope:local -LuckyMGFall = .text:0x800A3AA4; // type:function size:0x204 scope:local -HideLuckyValue = .text:0x800A3CA8; // type:function size:0xA8 scope:local -UpdateLuckyValue = .text:0x800A3D50; // type:function size:0x430 scope:local -UpdateMGList = .text:0x800A4180; // type:function size:0x8FC scope:local -BoardMGSetupPlayClear = .text:0x800A4A7C; // type:function size:0x74 -BoardMGSetupPlaySearch = .text:0x800A4AF0; // type:function size:0xC8 -BoardMGSetupPlayPush = .text:0x800A4BB8; // type:function size:0xD0 -BoardMGSetupTutorialExec = .text:0x800A4C88; // type:function size:0x2E4 -BoardBooHouseHostSet = .text:0x800A4F6C; // type:function size:0x8 -BoardBooHouseHostGet = .text:0x800A4F74; // type:function size:0x8 -BoardBooHouseCreate = .text:0x800A4F7C; // type:function size:0xB4 -BoardBooHouseKill = .text:0x800A5030; // type:function size:0x50 -BoardBooHouseExec = .text:0x800A5080; // type:function size:0x94 -ExecBooHouse = .text:0x800A5114; // type:function size:0x538 scope:local -DestroyBooHouse = .text:0x800A564C; // type:function size:0xF0 scope:local -PickComStealType = .text:0x800A573C; // type:function size:0xFC scope:local -OpenBooHouse = .text:0x800A5838; // type:function size:0x3A0 scope:local -CloseBooHouse = .text:0x800A5BD8; // type:function size:0x124 scope:local -CreateBooHouseModel = .text:0x800A5CFC; // type:function size:0xB0 scope:local -KillBooHouseModel = .text:0x800A5DAC; // type:function size:0xD4 scope:local -ExecNullSteal = .text:0x800A5E80; // type:function size:0x68 scope:local -ExecStarSteal = .text:0x800A5EE8; // type:function size:0x2AC scope:local -ExecCoinSteal = .text:0x800A6194; // type:function size:0x2AC scope:local -ApplySteal = .text:0x800A6440; // type:function size:0x188 scope:local -ApplyCoinSteal = .text:0x800A65C8; // type:function size:0x16C scope:local -ApplyStarSteal = .text:0x800A6734; // type:function size:0x164 scope:local -ApplyBooLight = .text:0x800A6898; // type:function size:0x70 scope:local -SetBooBallPos = .text:0x800A6908; // type:function size:0x60 scope:local -BoardBooComUseCheck = .text:0x800A6968; // type:function size:0x1A8 -BoardBooHouseTutorialExec = .text:0x800A6B10; // type:function size:0x3D4 -BoardStartExec = .text:0x800A6EE4; // type:function size:0x64 -DestroyStart = .text:0x800A6F48; // type:function size:0x84 scope:local -ExecStart = .text:0x800A6FCC; // type:function size:0x400 scope:local -ShowLogo = .text:0x800A73CC; // type:function size:0x2FC scope:local -FocusStart = .text:0x800A76C8; // type:function size:0x17C scope:local -CreatePlayerStart = .text:0x800A7844; // type:function size:0x2D8 scope:local -ExecPlayerStart = .text:0x800A7B1C; // type:function size:0x188 scope:local -PlayerFall = .text:0x800A7CA4; // type:function size:0x1C8 scope:local -PlayerWaitSpeak = .text:0x800A7E6C; // type:function size:0xEC scope:local -PlayerDiceFall = .text:0x800A7F58; // type:function size:0x1A8 scope:local -PlayerDiceRoll = .text:0x800A8100; // type:function size:0x454 scope:local -PlayerDiceNumShow = .text:0x800A8554; // type:function size:0xD8 scope:local -PlayerDiceNumHide = .text:0x800A862C; // type:function size:0x250 scope:local -SetPlayerStartState = .text:0x800A887C; // type:function size:0xC8 scope:local -GetPlayerStartState = .text:0x800A8944; // type:function size:0x3C scope:local -ExecStartRoll = .text:0x800A8980; // type:function size:0x6D4 scope:local -InitCamera = .text:0x800A9054; // type:function size:0x318 scope:local -InitHost = .text:0x800A936C; // type:function size:0xA4 scope:local -CreateTapWin = .text:0x800A9410; // type:function size:0xDC scope:local -OrderPlayers = .text:0x800A94EC; // type:function size:0x21C scope:local -BoardLast5Exec = .text:0x800A9708; // type:function size:0x84 -DestroyLast5 = .text:0x800A978C; // type:function size:0x30 scope:local -ExecLast5 = .text:0x800A97BC; // type:function size:0x1D4 scope:local -CreateLast5 = .text:0x800A9990; // type:function size:0x184 scope:local -KillLast5 = .text:0x800A9B14; // type:function size:0x48 scope:local -InitHost = .text:0x800A9B5C; // type:function size:0x10C scope:local -KillHost = .text:0x800A9C68; // type:function size:0xA4 scope:local -Last5Main = .text:0x800A9D0C; // type:function size:0xCC0 scope:local -CheckJump = .text:0x800AA9CC; // type:function size:0xA4 scope:local -CreateLotteryDrawWheel = .text:0x800AAA70; // type:function size:0x1FC scope:local -CreateLotteryDraw = .text:0x800AAC6C; // type:function size:0xD4 scope:local -UpdateLotteryDraw = .text:0x800AAD40; // type:function size:0x170 scope:local -SetLotteryDrawState = .text:0x800AAEB0; // type:function size:0x88 scope:local -GetLotteryDrawState = .text:0x800AAF38; // type:function size:0x20 scope:local -KillLotteryDrawWheel = .text:0x800AAF58; // type:function size:0x24 scope:local -UpdateLotteryDrawWheel = .text:0x800AAF7C; // type:function size:0x2D0 scope:local -SetLotteryDrawWheelState = .text:0x800AB24C; // type:function size:0x1D8 scope:local -ExecLotteryDraw = .text:0x800AB424; // type:function size:0x950 scope:local -KillLotteryTicket = .text:0x800ABD74; // type:function size:0x4C scope:local -InitLotteryTicket = .text:0x800ABDC0; // type:function size:0x488 scope:local -UpdateLotteryTicket = .text:0x800AC248; // type:function size:0x2A4 scope:local -SetLotteryTicketState = .text:0x800AC4EC; // type:function size:0x1C0 scope:local -GetLotteryTicketPlayer = .text:0x800AC6AC; // type:function size:0x7C scope:local -CheckLotteryTicket = .text:0x800AC728; // type:function size:0x78 scope:local -UpdateLotteryTicketMatch = .text:0x800AC7A0; // type:function size:0xB0 scope:local -StartHostMove = .text:0x800AC850; // type:function size:0x1CC scope:local -ExecHostMove = .text:0x800ACA1C; // type:function size:0x228 scope:local -CheckHostMove = .text:0x800ACC44; // type:function size:0x1C scope:local -CreateStopWin = .text:0x800ACC60; // type:function size:0xC0 scope:local -CreateLast5Roulette = .text:0x800ACD20; // type:function size:0x180 scope:local -UpdateLast5Roulette = .text:0x800ACEA0; // type:function size:0x2B0 scope:local -SetLast5RouletteFade = .text:0x800AD150; // type:function size:0x44 scope:local -SetLast5RouletteState = .text:0x800AD194; // type:function size:0x38 scope:local -GetLast5RouletteState = .text:0x800AD1CC; // type:function size:0x38 scope:local -GetLast5RouletteResult = .text:0x800AD204; // type:function size:0x44 scope:local -CreateTeamResult = .text:0x800AD248; // type:function size:0x2B4 scope:local -CreateTeamResultWork = .text:0x800AD4FC; // type:function size:0x340 scope:local -SetTeamResultTarget = .text:0x800AD83C; // type:function size:0x58 scope:local -GetTeamResultTarget = .text:0x800AD894; // type:function size:0x58 scope:local -KillTeamResult = .text:0x800AD8EC; // type:function size:0x38 scope:local -UpdateTeamResult = .text:0x800AD924; // type:function size:0x260 scope:local -BoardPauseStart = .text:0x800ADB84; // type:function size:0x88 -PauseExit = .text:0x800ADC0C; // type:function size:0x3C0 scope:local -PauseProcess = .text:0x800ADFCC; // type:function size:0x108 scope:local -CreatePauseScreen = .text:0x800AE0D4; // type:function size:0xABC scope:local -DeletePauseScreen = .text:0x800AEB90; // type:function size:0x168 scope:local -SetBoxVisible = .text:0x800AECF8; // type:function size:0x58 scope:local -PauseConfigObjFunc = .text:0x800AED50; // type:function size:0x4F4 scope:local -UpdatePauseText = .text:0x800AF244; // type:function size:0x310 scope:local -InitPauseQuit = .text:0x800AF554; // type:function size:0x264 scope:local -PauseQuitProcess = .text:0x800AF7B8; // type:function size:0x110 scope:local -DeletePauseQuit = .text:0x800AF8C8; // type:function size:0x48 scope:local -UpdatePadConfig = .text:0x800AF910; // type:function size:0xD4 scope:local -CreatePadConfig = .text:0x800AF9E4; // type:function size:0x1CC scope:local -ScrollInPadConfig = .text:0x800AFBB0; // type:function size:0x178 scope:local -CursorMovePadConfig = .text:0x800AFD28; // type:function size:0x238 scope:local -ChangeDiffPadConfig = .text:0x800AFF60; // type:function size:0x3B0 scope:local -ScrollOutPadConfig = .text:0x800B0310; // type:function size:0x154 scope:local -UpdatePauseBox = .text:0x800B0464; // type:function size:0x390 scope:local -UpdatePauseBoxExt = .text:0x800B07F4; // type:function size:0x3E4 scope:local -ExecPauseConfig = .text:0x800B0BD8; // type:function size:0x240 scope:local -CreatePauseControlWin = .text:0x800B0E18; // type:function size:0x210 scope:local -DeletePauseControlWin = .text:0x800B1028; // type:function size:0x70 scope:local -WaitPauseInput = .text:0x800B1098; // type:function size:0x1B8 scope:local -ShowPauseConfig = .text:0x800B1250; // type:function size:0x12C scope:local -CreatePadConfigSprite = .text:0x800B137C; // type:function size:0x1A4 scope:local -ShowPadConfigSprite = .text:0x800B1520; // type:function size:0x10C scope:local -PauseCreateNumber = .text:0x800B162C; // type:function size:0xDC scope:local -BoardPauseActiveCheck = .text:0x800B1708; // type:function size:0x34 -BoardPauseReqCheck = .text:0x800B173C; // type:function size:0x12C -CheckPort = .text:0x800B1868; // type:function size:0x4C scope:local -RotateBox = .text:0x800B18B4; // type:function size:0xC0 scope:local -SearchPathNodeSpace = .text:0x800B1974; // type:function size:0x60 scope:local -InitPathNode = .text:0x800B19D4; // type:function size:0x180 scope:local -FindChildNode = .text:0x800B1B54; // type:function size:0xE4 scope:local -GetNumValidLinks = .text:0x800B1C38; // type:function size:0xB4 scope:local -AddValidLinks = .text:0x800B1CEC; // type:function size:0xD0 scope:local -CheckPathSpace = .text:0x800B1DBC; // type:function size:0x30 scope:local -FindValidLink = .text:0x800B1DEC; // type:function size:0xAC scope:local -CheckEndSpace = .text:0x800B1E98; // type:function size:0xF0 scope:local -BoardComPathShortcutLenGet = .text:0x800B1F88; // type:function size:0x74C -BoardComPathBestGet = .text:0x800B26D4; // type:function size:0x3E4 -BoardComPathLenGet = .text:0x800B2AB8; // type:function size:0x65C -CheckPath = .text:0x800B3114; // type:function size:0x488 scope:local -BoardComPathBestGetFlag = .text:0x800B359C; // type:function size:0x45C -CheckPathFlag = .text:0x800B39F8; // type:function size:0x4E0 scope:local -TutorialProcFunc = .text:0x800B3ED8; // type:function size:0x34 scope:local -BoardTutorialInit = .text:0x800B3F0C; // type:function size:0x80 -BoardTutorialKill = .text:0x800B3F8C; // type:function size:0x4C -BoardTutorialHookSet = .text:0x800B3FD8; // type:function size:0x8 -BoardTutorialHookExec = .text:0x800B3FE0; // type:function size:0x44 -BoardTutorialPlayerInit = .text:0x800B4024; // type:function size:0x78 -BoardTutorialWorkSave = .text:0x800B409C; // type:function size:0x10C -BoardTutorialWorkRestore = .text:0x800B41A8; // type:function size:0xBC -BoardTutorialDirInputSet = .text:0x800B4264; // type:function size:0x10 -BoardTutorialBlockSetPos = .text:0x800B4274; // type:function size:0x40 -BoardTutorialItemSet = .text:0x800B42B4; // type:function size:0x8 -BoardTutorialHostSet = .text:0x800B42BC; // type:function size:0x8 -BoardTutorialHostHide = .text:0x800B42C4; // type:function size:0x30 -PPCMfmsr = .text:0x800B42F4; // type:function size:0x8 scope:global -PPCMtmsr = .text:0x800B42FC; // type:function size:0x8 scope:global -PPCMfhid0 = .text:0x800B4304; // type:function size:0x8 scope:global -PPCMthid0 = .text:0x800B430C; // type:function size:0x8 -PPCMfl2cr = .text:0x800B4314; // type:function size:0x8 scope:global -PPCMtl2cr = .text:0x800B431C; // type:function size:0x8 scope:global -PPCMtdec = .text:0x800B4324; // type:function size:0x8 scope:weak -PPCSync = .text:0x800B432C; // type:function size:0x8 -PPCHalt = .text:0x800B4334; // type:function size:0x14 scope:weak -PPCMfhid2 = .text:0x800B4348; // type:function size:0x8 scope:global -PPCMthid2 = .text:0x800B4350; // type:function size:0x8 scope:global -PPCMfwpar = .text:0x800B4358; // type:function size:0xC -PPCMtwpar = .text:0x800B4364; // type:function size:0x8 scope:global -PPCDisableSpeculation = .text:0x800B436C; // type:function size:0x28 scope:global -PPCSetFpNonIEEEMode = .text:0x800B4394; // type:function size:0x8 scope:global -OSGetConsoleType = .text:0x800B439C; // type:function size:0x28 scope:global -ClearArena = .text:0x800B43C4; // type:function size:0x128 scope:local -InquiryCallback = .text:0x800B44EC; // type:function size:0x3C scope:local -OSInit = .text:0x800B4528; // type:function size:0x3B8 scope:global -OSExceptionInit = .text:0x800B48E0; // type:function size:0x280 scope:local -__OSDBINTSTART = .text:0x800B4B60; // type:label scope:global -__OSDBIntegrator = .text:0x800B4B60; // type:function size:0x24 scope:local -__OSDBINTEND = .text:0x800B4B84; // type:label scope:global -__OSDBJump = .text:0x800B4B84; // type:function size:0x4 scope:local -__OSDBJUMPEND = .text:0x800B4B88; // type:label scope:global -__OSSetExceptionHandler = .text:0x800B4B88; // type:function size:0x1C scope:global -__OSGetExceptionHandler = .text:0x800B4BA4; // type:function size:0x14 scope:global -__OSEVStart = .text:0x800B4BB8; // type:label scope:global -OSExceptionVector = .text:0x800B4BB8; // type:function size:0x9C scope:local -__DBVECTOR = .text:0x800B4C10; // type:label scope:global data:4byte -__OSEVSetNumber = .text:0x800B4C20; // type:label scope:global data:4byte -__OSEVEnd = .text:0x800B4C50; // type:label scope:global -OSDefaultExceptionHandler = .text:0x800B4C54; // type:function size:0x58 scope:global -__OSPSInit = .text:0x800B4CAC; // type:function size:0x38 scope:global -__OSGetDIConfig = .text:0x800B4CE4; // type:function size:0x14 -OSInitAlarm = .text:0x800B4CF8; // type:function size:0x4C scope:global -OSCreateAlarm = .text:0x800B4D44; // type:function size:0xC scope:global -InsertAlarm = .text:0x800B4D50; // type:function size:0x250 scope:local -OSSetAlarm = .text:0x800B4FA0; // type:function size:0x68 scope:global -OSCancelAlarm = .text:0x800B5008; // type:function size:0x11C -DecrementerExceptionCallback = .text:0x800B5124; // type:function size:0x230 scope:local -DecrementerExceptionHandler = .text:0x800B5354; // type:function size:0x50 scope:local -DLInsert = .text:0x800B53A4; // type:function size:0xAC scope:local -OSAllocFromHeap = .text:0x800B5450; // type:function size:0xFC -OSAllocFixed = .text:0x800B554C; // type:function size:0x284 -OSFreeToHeap = .text:0x800B57D0; // type:function size:0x7C -OSSetCurrentHeap = .text:0x800B584C; // type:function size:0x10 -OSInitAlloc = .text:0x800B585C; // type:function size:0x70 -OSCreateHeap = .text:0x800B58CC; // type:function size:0x6C -OSCheckHeap = .text:0x800B5938; // type:function size:0x360 -OSDumpHeap = .text:0x800B5C98; // type:function size:0x104 -OSGetArenaHi = .text:0x800B5D9C; // type:function size:0x8 scope:global -OSGetArenaLo = .text:0x800B5DA4; // type:function size:0x8 scope:global -OSSetArenaHi = .text:0x800B5DAC; // type:function size:0x8 scope:global -OSSetArenaLo = .text:0x800B5DB4; // type:function size:0x8 scope:global -__OSInitAudioSystem = .text:0x800B5DBC; // type:function size:0x1BC scope:global -__OSStopAudioSystem = .text:0x800B5F78; // type:function size:0xD8 scope:global -DCEnable = .text:0x800B6050; // type:function size:0x14 scope:global -DCInvalidateRange = .text:0x800B6064; // type:function size:0x30 scope:global -DCFlushRange = .text:0x800B6094; // type:function size:0x34 scope:global -DCStoreRange = .text:0x800B60C8; // type:function size:0x34 -DCFlushRangeNoSync = .text:0x800B60FC; // type:function size:0x30 scope:global -DCStoreRangeNoSync = .text:0x800B612C; // type:function size:0x30 -DCZeroRange = .text:0x800B615C; // type:function size:0x30 -ICInvalidateRange = .text:0x800B618C; // type:function size:0x38 scope:global -ICFlashInvalidate = .text:0x800B61C4; // type:function size:0x10 scope:global -ICEnable = .text:0x800B61D4; // type:function size:0x14 scope:global -__LCEnable = .text:0x800B61E8; // type:function size:0xCC scope:local -LCEnable = .text:0x800B62B4; // type:function size:0x38 -LCDisable = .text:0x800B62EC; // type:function size:0x28 scope:global -LCStoreBlocks = .text:0x800B6314; // type:function size:0x24 -LCStoreData = .text:0x800B6338; // type:function size:0xAC -LCQueueWait = .text:0x800B63E4; // type:function size:0x18 -L2GlobalInvalidate = .text:0x800B63FC; // type:function size:0x98 scope:global -DMAErrorHandler = .text:0x800B6494; // type:function size:0x160 scope:global -__OSCacheInit = .text:0x800B65F4; // type:function size:0xF4 scope:global -__OSLoadFPUContext = .text:0x800B66E8; // type:function size:0x124 scope:local -__OSSaveFPUContext = .text:0x800B680C; // type:function size:0x128 scope:local -OSSetCurrentContext = .text:0x800B6934; // type:function size:0x5C scope:global -OSGetCurrentContext = .text:0x800B6990; // type:function size:0xC -OSSaveContext = .text:0x800B699C; // type:function size:0x80 -OSLoadContext = .text:0x800B6A1C; // type:function size:0xD8 scope:global -OSClearContext = .text:0x800B6AF4; // type:function size:0x24 scope:global -OSInitContext = .text:0x800B6B18; // type:function size:0xBC -OSDumpContext = .text:0x800B6BD4; // type:function size:0x2A8 scope:global -OSSwitchFPUContext = .text:0x800B6E7C; // type:function size:0x84 scope:local -__OSContextInit = .text:0x800B6F00; // type:function size:0x48 scope:global -OSReport = .text:0x800B6F48; // type:function size:0x80 scope:global -OSSetErrorHandler = .text:0x800B6FC8; // type:function size:0x1C scope:global -__OSUnhandledException = .text:0x800B6FE4; // type:function size:0x200 scope:global -OSGetFontEncode = .text:0x800B71E4; // type:function size:0x58 -OSDisableInterrupts = .text:0x800B723C; // type:function size:0x14 scope:global -__RAS_OSDisableInterrupts_begin = .text:0x800B723C; // type:label scope:global -__RAS_OSDisableInterrupts_end = .text:0x800B724C; // type:label scope:global -OSEnableInterrupts = .text:0x800B7250; // type:function size:0x14 scope:global -OSRestoreInterrupts = .text:0x800B7264; // type:function size:0x24 scope:global -__OSSetInterruptHandler = .text:0x800B7288; // type:function size:0x1C scope:global -__OSGetInterruptHandler = .text:0x800B72A4; // type:function size:0x14 -__OSInterruptInit = .text:0x800B72B8; // type:function size:0x74 scope:global -SetInterruptMask = .text:0x800B732C; // type:function size:0x2D8 scope:local -__OSMaskInterrupts = .text:0x800B7604; // type:function size:0x88 scope:global -__OSUnmaskInterrupts = .text:0x800B768C; // type:function size:0x88 scope:global -__OSDispatchInterrupt = .text:0x800B7714; // type:function size:0x344 -ExternalInterruptHandler = .text:0x800B7A58; // type:function size:0x50 scope:local -OSNotifyLink = .text:0x800B7AA8; // type:function size:0x4 scope:weak -OSNotifyUnlink = .text:0x800B7AAC; // type:function size:0x4 scope:weak -Relocate = .text:0x800B7AB0; // type:function size:0x274 scope:local -OSLink = .text:0x800B7D24; // type:function size:0x250 -Undo = .text:0x800B7F74; // type:function size:0x20C scope:local -OSUnlink = .text:0x800B8180; // type:function size:0x94 -__OSModuleInit = .text:0x800B8214; // type:function size:0x18 scope:global -OSInitMessageQueue = .text:0x800B822C; // type:function size:0x60 -OSGetPhysicalMemSize = .text:0x800B828C; // type:function size:0xC -OSGetConsoleSimulatedMemSize = .text:0x800B8298; // type:function size:0xC -OnReset = .text:0x800B82A4; // type:function size:0x3C scope:local -MEMIntrruptHandler = .text:0x800B82E0; // type:function size:0x6C scope:local -Config24MB = .text:0x800B834C; // type:function size:0x80 scope:local -Config48MB = .text:0x800B83CC; // type:function size:0x80 scope:local -RealMode = .text:0x800B844C; // type:function size:0x18 scope:local -__OSInitMemoryProtection = .text:0x800B8464; // type:function size:0x120 scope:global -__OSUnlockAllMutex = .text:0x800B8584; // type:function size:0x70 -Run = .text:0x800B85F4; // type:function size:0x40 scope:local -Callback = .text:0x800B8634; // type:function size:0xC scope:local -__OSReboot = .text:0x800B8640; // type:function size:0x1C0 scope:global -OSRegisterResetFunction = .text:0x800B8800; // type:function size:0x84 scope:global -Reset = .text:0x800B8884; // type:function size:0x70 scope:local -__OSDoHotReset = .text:0x800B88F4; // type:function size:0x48 -OSResetSystem = .text:0x800B893C; // type:function size:0x278 scope:global -OSGetResetCode = .text:0x800B8BB4; // type:function size:0x30 scope:global -__OSResetSWInterruptHandler = .text:0x800B8BE4; // type:function size:0xF4 scope:global -OSGetResetButtonState = .text:0x800B8CD8; // type:function size:0x298 -WriteSramCallback = .text:0x800B8F70; // type:function size:0x60 scope:local -WriteSram = .text:0x800B8FD0; // type:function size:0x118 scope:local -__OSInitSram = .text:0x800B90E8; // type:function size:0x134 scope:global -__OSLockSram = .text:0x800B921C; // type:function size:0x5C scope:global -__OSLockSramEx = .text:0x800B9278; // type:function size:0x5C scope:global -UnlockSram = .text:0x800B92D4; // type:function size:0x308 scope:local -__OSUnlockSram = .text:0x800B95DC; // type:function size:0x24 scope:global -__OSUnlockSramEx = .text:0x800B9600; // type:function size:0x24 scope:global -__OSSyncSram = .text:0x800B9624; // type:function size:0x10 scope:global -OSGetSoundMode = .text:0x800B9634; // type:function size:0x80 -OSSetSoundMode = .text:0x800B96B4; // type:function size:0xA4 -OSGetProgressiveMode = .text:0x800B9758; // type:function size:0x70 -OSSetProgressiveMode = .text:0x800B97C8; // type:function size:0xA4 -OSGetWirelessID = .text:0x800B986C; // type:function size:0x84 -OSSetWirelessID = .text:0x800B98F0; // type:function size:0xAC -OSInitStopwatch = .text:0x800B999C; // type:function size:0x2C -OSStartStopwatch = .text:0x800B99C8; // type:function size:0x3C -OSStopStopwatch = .text:0x800B9A04; // type:function size:0xCC -OSCheckStopwatch = .text:0x800B9AD0; // type:function size:0x70 -OSResetStopwatch = .text:0x800B9B40; // type:function size:0x28 -OSDumpStopwatch = .text:0x800B9B68; // type:function size:0x1A4 -__OSSystemCallVectorStart = .text:0x800B9D0C; // type:label scope:global -SystemCallVector = .text:0x800B9D0C; // type:function size:0x20 scope:local -__OSSystemCallVectorEnd = .text:0x800B9D28; // type:label scope:global -__OSInitSystemCall = .text:0x800B9D2C; // type:function size:0x64 scope:global -__OSThreadInit = .text:0x800B9D90; // type:function size:0x128 scope:global -OSInitThreadQueue = .text:0x800B9EB8; // type:function size:0x10 scope:global -OSGetCurrentThread = .text:0x800B9EC8; // type:function size:0xC -OSDisableScheduler = .text:0x800B9ED4; // type:function size:0x40 scope:global -OSEnableScheduler = .text:0x800B9F14; // type:function size:0x40 scope:global -UnsetRun = .text:0x800B9F54; // type:function size:0x68 scope:local -__OSGetEffectivePriority = .text:0x800B9FBC; // type:function size:0x3C -SetEffectivePriority = .text:0x800B9FF8; // type:function size:0x1C0 scope:local -SelectThread = .text:0x800BA1B8; // type:function size:0x200 scope:local -__OSReschedule = .text:0x800BA3B8; // type:function size:0x30 scope:global -OSYieldThread = .text:0x800BA3E8; // type:function size:0x3C -OSCreateThread = .text:0x800BA424; // type:function size:0x120 -OSExitThread = .text:0x800BA544; // type:function size:0xE4 -OSCancelThread = .text:0x800BA628; // type:function size:0x1BC scope:global -OSResumeThread = .text:0x800BA7E4; // type:function size:0x288 -OSSuspendThread = .text:0x800BAA6C; // type:function size:0x170 -OSSleepThread = .text:0x800BABDC; // type:function size:0xEC -OSWakeupThread = .text:0x800BACC8; // type:function size:0x104 -OSSetIdleFunction = .text:0x800BADCC; // type:function size:0x90 -OSGetTime = .text:0x800BAE5C; // type:function size:0x18 scope:global -OSGetTick = .text:0x800BAE74; // type:function size:0x8 scope:global -__OSGetSystemTime = .text:0x800BAE7C; // type:function size:0x64 scope:global -GetDates = .text:0x800BAEE0; // type:function size:0x19C scope:local -OSTicksToCalendarTime = .text:0x800BB07C; // type:function size:0x204 -__init_user = .text:0x800BB280; // type:function size:0x20 scope:global -__init_cpp = .text:0x800BB2A0; // type:function size:0x54 scope:local -_ExitProcess = .text:0x800BB2F4; // type:function size:0x20 scope:global -DBInit = .text:0x800BB314; // type:function size:0x28 scope:global -__DBExceptionDestinationAux = .text:0x800BB33C; // type:function size:0x48 scope:global -__DBExceptionDestination = .text:0x800BB384; // type:function size:0x10 scope:local -__DBIsExceptionMarked = .text:0x800BB394; // type:function size:0x1C scope:global -DBPrintf = .text:0x800BB3B0; // type:function size:0x50 scope:global -PSMTXIdentity = .text:0x800BB400; // type:function size:0x2C -PSMTXCopy = .text:0x800BB42C; // type:function size:0x34 -PSMTXConcat = .text:0x800BB460; // type:function size:0xCC -PSMTXTranspose = .text:0x800BB52C; // type:function size:0x50 -PSMTXInverse = .text:0x800BB57C; // type:function size:0xF8 -PSMTXInvXpose = .text:0x800BB674; // type:function size:0xC8 -PSMTXRotRad = .text:0x800BB73C; // type:function size:0x70 -PSMTXRotTrig = .text:0x800BB7AC; // type:function size:0xA8 -PSMTXRotAxisRad = .text:0x800BB854; // type:function size:0x104 -PSMTXTrans = .text:0x800BB958; // type:function size:0x34 -PSMTXScale = .text:0x800BB98C; // type:function size:0x28 -PSMTXQuat = .text:0x800BB9B4; // type:function size:0xA4 -C_MTXLookAt = .text:0x800BBA58; // type:function size:0x18C -C_MTXLightPerspective = .text:0x800BBBE4; // type:function size:0xCC -PSMTXMultVec = .text:0x800BBCB0; // type:function size:0x54 -PSMTXMultVecArray = .text:0x800BBD04; // type:function size:0x8C -PSMTXMultVecSR = .text:0x800BBD90; // type:function size:0x54 -C_MTXPerspective = .text:0x800BBDE4; // type:function size:0xD0 -C_MTXOrtho = .text:0x800BBEB4; // type:function size:0x98 -PSVECAdd = .text:0x800BBF4C; // type:function size:0x24 -PSVECSubtract = .text:0x800BBF70; // type:function size:0x24 -PSVECScale = .text:0x800BBF94; // type:function size:0x1C -PSVECNormalize = .text:0x800BBFB0; // type:function size:0x44 -PSVECSquareMag = .text:0x800BBFF4; // type:function size:0x18 -PSVECMag = .text:0x800BC00C; // type:function size:0x3C -PSVECDotProduct = .text:0x800BC048; // type:function size:0x20 -PSVECCrossProduct = .text:0x800BC068; // type:function size:0x3C -C_VECHalfAngle = .text:0x800BC0A4; // type:function size:0xD8 -C_VECReflect = .text:0x800BC17C; // type:function size:0xD4 -PSVECSquareDistance = .text:0x800BC250; // type:function size:0x28 -PSVECDistance = .text:0x800BC278; // type:function size:0x4C -C_QUATAdd = .text:0x800BC2C4; // type:function size:0x44 -PSQUATAdd = .text:0x800BC308; // type:function size:0x24 -PSQUATMultiply = .text:0x800BC32C; // type:function size:0x5C -PSQUATNormalize = .text:0x800BC388; // type:function size:0x54 -PSQUATInverse = .text:0x800BC3DC; // type:function size:0x50 -C_QUATRotAxisRad = .text:0x800BC42C; // type:function size:0x8C -C_QUATMtx = .text:0x800BC4B8; // type:function size:0x258 -C_QUATSlerp = .text:0x800BC710; // type:function size:0x174 -PSMTXReorder = .text:0x800BC884; // type:function size:0x4C -PSMTXROMultVecArray = .text:0x800BC8D0; // type:function size:0x118 -__DVDInitWA = .text:0x800BC9E8; // type:function size:0x40 scope:global -__DVDInterruptHandler = .text:0x800BCA28; // type:function size:0x2F4 scope:global -AlarmHandler = .text:0x800BCD1C; // type:function size:0x84 scope:local -AlarmHandlerForTimeout = .text:0x800BCDA0; // type:function size:0x70 scope:local -Read = .text:0x800BCE10; // type:function size:0x110 scope:local -SeekTwiceBeforeRead = .text:0x800BCF20; // type:function size:0x80 scope:local -DVDLowRead = .text:0x800BCFA0; // type:function size:0x298 -DVDLowSeek = .text:0x800BD238; // type:function size:0x94 -DVDLowWaitCoverClose = .text:0x800BD2CC; // type:function size:0x2C scope:global -DVDLowReadDiskID = .text:0x800BD2F8; // type:function size:0xA4 -DVDLowStopMotor = .text:0x800BD39C; // type:function size:0x8C scope:global -DVDLowRequestError = .text:0x800BD428; // type:function size:0x8C -DVDLowInquiry = .text:0x800BD4B4; // type:function size:0x9C -DVDLowAudioStream = .text:0x800BD550; // type:function size:0x98 -DVDLowRequestAudioStatus = .text:0x800BD5E8; // type:function size:0x8C -DVDLowAudioBufferConfig = .text:0x800BD674; // type:function size:0x9C -DVDLowReset = .text:0x800BD710; // type:function size:0xBC scope:global -DVDLowBreak = .text:0x800BD7CC; // type:function size:0x14 -DVDLowClearCallback = .text:0x800BD7E0; // type:function size:0x18 -__DVDLowSetWAType = .text:0x800BD7F8; // type:function size:0x44 scope:global -__DVDFSInit = .text:0x800BD83C; // type:function size:0x38 scope:global -DVDConvertPathToEntrynum = .text:0x800BD874; // type:function size:0x2F4 -DVDFastOpen = .text:0x800BDB68; // type:function size:0x74 -DVDOpen = .text:0x800BDBDC; // type:function size:0xC8 -DVDClose = .text:0x800BDCA4; // type:function size:0x24 -entryToPath = .text:0x800BDCC8; // type:function size:0x160 scope:local -DVDGetCurrentDir = .text:0x800BDE28; // type:function size:0xC4 -DVDReadAsyncPrio = .text:0x800BDEEC; // type:function size:0xC0 -cbForReadAsync = .text:0x800BDFAC; // type:function size:0x30 scope:local -DVDReadPrio = .text:0x800BDFDC; // type:function size:0x118 -cbForReadSync = .text:0x800BE0F4; // type:function size:0x24 scope:local -DVDInit = .text:0x800BE118; // type:function size:0xFC scope:global -stateReadingFST = .text:0x800BE214; // type:function size:0x54 scope:local -cbForStateReadingFST = .text:0x800BE268; // type:function size:0x80 scope:local -cbForStateError = .text:0x800BE2E8; // type:function size:0xA8 scope:local -stateTimeout = .text:0x800BE390; // type:function size:0x9C scope:local -stateGettingError = .text:0x800BE42C; // type:function size:0x28 scope:local -CategorizeError = .text:0x800BE454; // type:function size:0xB4 scope:local -cbForStateGettingError = .text:0x800BE508; // type:function size:0x294 scope:local -cbForUnrecoveredError = .text:0x800BE79C; // type:function size:0x68 scope:local -cbForUnrecoveredErrorRetry = .text:0x800BE804; // type:function size:0x98 scope:local -stateGoToRetry = .text:0x800BE89C; // type:function size:0x28 scope:local -cbForStateGoToRetry = .text:0x800BE8C4; // type:function size:0x158 scope:local -stateCheckID = .text:0x800BEA1C; // type:function size:0xE4 scope:local -stateCheckID3 = .text:0x800BEB00; // type:function size:0x34 scope:local -stateCheckID2 = .text:0x800BEB34; // type:function size:0x38 scope:local -cbForStateCheckID1 = .text:0x800BEB6C; // type:function size:0x114 scope:local -cbForStateCheckID2 = .text:0x800BEC80; // type:function size:0xA4 scope:local -cbForStateCheckID3 = .text:0x800BED24; // type:function size:0xFC scope:local -AlarmHandler = .text:0x800BEE20; // type:function size:0x44 scope:local -stateCoverClosed = .text:0x800BEE64; // type:function size:0xCC scope:local -stateCoverClosed_CMD = .text:0x800BEF30; // type:function size:0x30 scope:local -cbForStateCoverClosed = .text:0x800BEF60; // type:function size:0x70 scope:local -stateMotorStopped = .text:0x800BEFD0; // type:function size:0x28 scope:local -cbForStateMotorStopped = .text:0x800BEFF8; // type:function size:0xE4 scope:local -stateReady = .text:0x800BF0DC; // type:function size:0x248 scope:local -stateBusy = .text:0x800BF324; // type:function size:0x2C0 scope:local -cbForStateBusy = .text:0x800BF5E4; // type:function size:0x5D4 scope:local -DVDReadAbsAsyncPrio = .text:0x800BFBB8; // type:function size:0xDC -DVDReadAbsAsyncForBS = .text:0x800BFC94; // type:function size:0xD0 -DVDReadDiskID = .text:0x800BFD64; // type:function size:0xD4 scope:global -DVDInquiryAsync = .text:0x800BFE38; // type:function size:0xD0 scope:global -DVDReset = .text:0x800BFF08; // type:function size:0x44 scope:global -DVDGetCommandBlockStatus = .text:0x800BFF4C; // type:function size:0x4C -DVDGetDriveStatus = .text:0x800BFF98; // type:function size:0xAC scope:global -DVDSetAutoInvalidation = .text:0x800C0044; // type:function size:0x10 -DVDCancelAsync = .text:0x800C0054; // type:function size:0x270 -DVDCancel = .text:0x800C02C4; // type:function size:0xAC -cbForCancelSync = .text:0x800C0370; // type:function size:0x24 scope:local -DVDGetCurrentDiskID = .text:0x800C0394; // type:function size:0x8 -DVDCheckDisk = .text:0x800C039C; // type:function size:0xE4 -__DVDPrepareResetAsync = .text:0x800C0480; // type:function size:0x11C -__DVDClearWaitingQueue = .text:0x800C059C; // type:function size:0x38 scope:global -__DVDPushWaitingQueue = .text:0x800C05D4; // type:function size:0x68 scope:global -__DVDPopWaitingQueue = .text:0x800C063C; // type:function size:0xA0 scope:global -__DVDCheckWaitingQueue = .text:0x800C06DC; // type:function size:0x58 scope:global -__DVDDequeueWaitingQueue = .text:0x800C0734; // type:function size:0x60 -ErrorCode2Num = .text:0x800C0794; // type:function size:0x11C scope:local -__DVDStoreErrorCode = .text:0x800C08B0; // type:function size:0x7C scope:global -cb = .text:0x800C092C; // type:function size:0xD8 scope:local -__fstLoad = .text:0x800C0A04; // type:function size:0x168 scope:global -__VIRetraceHandler = .text:0x800C0B6C; // type:function size:0x228 scope:local -VISetPreRetraceCallback = .text:0x800C0D94; // type:function size:0x44 -VISetPostRetraceCallback = .text:0x800C0DD8; // type:function size:0x44 -getTiming = .text:0x800C0E1C; // type:function size:0x90 scope:local -__VIInit = .text:0x800C0EAC; // type:function size:0x1F8 -VIInit = .text:0x800C10A4; // type:function size:0x478 -VIWaitForRetrace = .text:0x800C151C; // type:function size:0x54 -setFbbRegs = .text:0x800C1570; // type:function size:0x2D4 scope:local -setVerticalRegs = .text:0x800C1844; // type:function size:0x1A0 scope:local -VIConfigure = .text:0x800C19E4; // type:function size:0x79C -VIConfigurePan = .text:0x800C2180; // type:function size:0x394 -VIFlush = .text:0x800C2514; // type:function size:0x11C -VISetNextFrameBuffer = .text:0x800C2630; // type:function size:0x6C -VISetBlack = .text:0x800C269C; // type:function size:0x7C -VIGetRetraceCount = .text:0x800C2718; // type:function size:0x8 -getCurrentFieldEvenOdd = .text:0x800C2720; // type:function size:0x68 scope:local -VIGetNextField = .text:0x800C2788; // type:function size:0xA8 -VIGetCurrentLine = .text:0x800C2830; // type:function size:0x98 -VIGetTvFormat = .text:0x800C28C8; // type:function size:0x7C scope:global -VIGetDTVStatus = .text:0x800C2944; // type:function size:0x3C -DEMOGetRenderModeObj = .text:0x800C2980; // type:function size:0x8 -DEMOInitCaption = .text:0x800C2988; // type:function size:0x228 -DEMOPuts = .text:0x800C2BB0; // type:function size:0x310 -DEMOPrintf = .text:0x800C2EC0; // type:function size:0xC4 -DEMOWriteStats = .text:0x800C2F84; // type:function size:0x394 -DEMOUpdateStats = .text:0x800C3318; // type:function size:0x58 -DEMOPrintStats = .text:0x800C3370; // type:function size:0x96C -ClampStick = .text:0x800C3CDC; // type:function size:0x130 scope:local -PADClamp = .text:0x800C3E0C; // type:function size:0x108 -UpdateOrigin = .text:0x800C3F14; // type:function size:0x1A4 scope:local -PADOriginCallback = .text:0x800C40B8; // type:function size:0xC4 scope:local -PADOriginUpdateCallback = .text:0x800C417C; // type:function size:0xC0 scope:local -PADProbeCallback = .text:0x800C423C; // type:function size:0xD8 scope:local -PADTypeAndStatusCallback = .text:0x800C4314; // type:function size:0x32C scope:local -PADReceiveCheckCallback = .text:0x800C4640; // type:function size:0x134 scope:local -PADReset = .text:0x800C4774; // type:function size:0x100 -PADRecalibrate = .text:0x800C4874; // type:function size:0x104 -PADInit = .text:0x800C4978; // type:function size:0x210 -PADRead = .text:0x800C4B88; // type:function size:0x3AC -PADControlMotor = .text:0x800C4F34; // type:function size:0xA4 -PADSetSpec = .text:0x800C4FD8; // type:function size:0x60 -SPEC0_MakeStatus = .text:0x800C5038; // type:function size:0x174 scope:local -SPEC1_MakeStatus = .text:0x800C51AC; // type:function size:0x174 scope:local -SPEC2_MakeStatus = .text:0x800C5320; // type:function size:0x3F8 scope:local -OnReset = .text:0x800C5718; // type:function size:0x194 scope:local -SamplingHandler = .text:0x800C58AC; // type:function size:0x60 scope:local -PADSetSamplingCallback = .text:0x800C590C; // type:function size:0x54 -__PADDisableRecalibration = .text:0x800C5960; // type:function size:0x7C scope:global -AIRegisterDMACallback = .text:0x800C59DC; // type:function size:0x44 -AIInitDMA = .text:0x800C5A20; // type:function size:0x88 -AIStartDMA = .text:0x800C5AA8; // type:function size:0x18 -AIStopDMA = .text:0x800C5AC0; // type:function size:0x18 -AIGetDMAStartAddr = .text:0x800C5AD8; // type:function size:0x1C -AISetStreamPlayState = .text:0x800C5AF4; // type:function size:0xD8 -AIGetStreamPlayState = .text:0x800C5BCC; // type:function size:0x10 -AISetDSPSampleRate = .text:0x800C5BDC; // type:function size:0xE0 -AIGetDSPSampleRate = .text:0x800C5CBC; // type:function size:0x14 -__AI_set_stream_sample_rate = .text:0x800C5CD0; // type:function size:0xD4 scope:local -AIGetStreamSampleRate = .text:0x800C5DA4; // type:function size:0x10 -AISetStreamVolLeft = .text:0x800C5DB4; // type:function size:0x1C -AIGetStreamVolLeft = .text:0x800C5DD0; // type:function size:0x10 -AISetStreamVolRight = .text:0x800C5DE0; // type:function size:0x1C -AIGetStreamVolRight = .text:0x800C5DFC; // type:function size:0x10 -AIInit = .text:0x800C5E0C; // type:function size:0x164 -__AISHandler = .text:0x800C5F70; // type:function size:0x7C -__AIDHandler = .text:0x800C5FEC; // type:function size:0x90 -__AICallbackStackSwitch = .text:0x800C607C; // type:function size:0x58 -__AI_SRC_INIT = .text:0x800C60D4; // type:function size:0x1E4 -ARRegisterDMACallback = .text:0x800C62B8; // type:function size:0x44 -ARGetDMAStatus = .text:0x800C62FC; // type:function size:0x3C -ARStartDMA = .text:0x800C6338; // type:function size:0xF0 -ARAlloc = .text:0x800C6428; // type:function size:0x68 -ARFree = .text:0x800C6490; // type:function size:0x74 -ARCheckInit = .text:0x800C6504; // type:function size:0x8 -ARInit = .text:0x800C650C; // type:function size:0xBC -ARSetSize = .text:0x800C65C8; // type:function size:0x4 -ARGetBaseAddress = .text:0x800C65CC; // type:function size:0x8 -ARGetSize = .text:0x800C65D4; // type:function size:0x8 -__ARHandler = .text:0x800C65DC; // type:function size:0x78 scope:local -__ARChecksize = .text:0x800C6654; // type:function size:0x914 scope:local -__ARQServiceQueueLo = .text:0x800C6F68; // type:function size:0x100 -__ARQCallbackHack = .text:0x800C7068; // type:function size:0x4 -__ARQInterruptServiceRoutine = .text:0x800C706C; // type:function size:0xCC -ARQInit = .text:0x800C7138; // type:function size:0x68 -ARQPostRequest = .text:0x800C71A0; // type:function size:0x15C -DSPCheckMailToDSP = .text:0x800C72FC; // type:function size:0x10 -DSPCheckMailFromDSP = .text:0x800C730C; // type:function size:0x10 -DSPReadMailFromDSP = .text:0x800C731C; // type:function size:0x18 -DSPSendMailToDSP = .text:0x800C7334; // type:function size:0x14 -DSPInit = .text:0x800C7348; // type:function size:0xB8 -DSPReset = .text:0x800C7400; // type:function size:0x48 -DSPHalt = .text:0x800C7448; // type:function size:0x40 -DSPGetDMAStatus = .text:0x800C7488; // type:function size:0x10 -DSPAddTask = .text:0x800C7498; // type:function size:0x70 -__DSP_debug_printf = .text:0x800C7508; // type:function size:0x50 -__DSPHandler = .text:0x800C7558; // type:function size:0x424 -__DSP_exec_task = .text:0x800C797C; // type:function size:0x1A0 -__DSP_boot_task = .text:0x800C7B1C; // type:function size:0x18C -__DSP_insert_task = .text:0x800C7CA8; // type:function size:0xA0 -__DSP_remove_task = .text:0x800C7D48; // type:function size:0x94 -__GXDefaultTexRegionCallback = .text:0x800C7DDC; // type:function size:0x7C -__GXDefaultTlutRegionCallback = .text:0x800C7E58; // type:function size:0x24 -GXInit = .text:0x800C7E7C; // type:function size:0x7CC scope:global -__GXInitGX = .text:0x800C8648; // type:function size:0x884 scope:global -GXCPInterruptHandler = .text:0x800C8ECC; // type:function size:0x13C scope:local -GXInitFifoBase = .text:0x800C9008; // type:function size:0x6C scope:global -GXInitFifoPtrs = .text:0x800C9074; // type:function size:0x70 -GXInitFifoLimits = .text:0x800C90E4; // type:function size:0xC -GXSetCPUFifo = .text:0x800C90F0; // type:function size:0x110 scope:global -GXSetGPFifo = .text:0x800C9200; // type:function size:0x178 scope:global -GXSaveCPUFifo = .text:0x800C9378; // type:function size:0x20 -__GXSaveCPUFifoAux = .text:0x800C9398; // type:function size:0xDC -__GXFifoInit = .text:0x800C9474; // type:function size:0x4C scope:global -__GXFifoReadEnable = .text:0x800C94C0; // type:function size:0x28 -__GXFifoReadDisable = .text:0x800C94E8; // type:function size:0x24 -__GXFifoLink = .text:0x800C950C; // type:function size:0x44 -__GXWriteFifoIntEnable = .text:0x800C9550; // type:function size:0x4C -__GXWriteFifoIntReset = .text:0x800C959C; // type:function size:0x4C -__GXCleanGPFifo = .text:0x800C95E8; // type:function size:0xFC -GXGetCPUFifo = .text:0x800C96E4; // type:function size:0x8 -GXGetGPFifo = .text:0x800C96EC; // type:function size:0x8 -__GXXfVtxSpecs = .text:0x800C96F4; // type:function size:0x158 -GXSetVtxDesc = .text:0x800C984C; // type:function size:0x360 -__GXSetVCD = .text:0x800C9BAC; // type:function size:0x54 -__GXCalculateVLim = .text:0x800C9C00; // type:function size:0x124 -GXClearVtxDesc = .text:0x800C9D24; // type:function size:0x4C -GXSetVtxAttrFmt = .text:0x800C9D70; // type:function size:0x35C -__GXSetVAT = .text:0x800CA0CC; // type:function size:0x9C -GXSetArray = .text:0x800CA168; // type:function size:0x8C -GXInvalidateVtxCache = .text:0x800CA1F4; // type:function size:0x10 -GXSetTexCoordGen2 = .text:0x800CA204; // type:function size:0x2D0 -GXSetNumTexGens = .text:0x800CA4D4; // type:function size:0x48 -GXSetMisc = .text:0x800CA51C; // type:function size:0x78 scope:global -GXFlush = .text:0x800CA594; // type:function size:0x5C -GXResetWriteGatherPipe = .text:0x800CA5F0; // type:function size:0x34 -__GXAbortWaitPECopyDone = .text:0x800CA624; // type:function size:0xCC -GXSetDrawSync = .text:0x800CA6F0; // type:function size:0xB8 -GXSetDrawDone = .text:0x800CA7A8; // type:function size:0x98 -GXWaitDrawDone = .text:0x800CA840; // type:function size:0x4C -GXDrawDone = .text:0x800CA88C; // type:function size:0x80 -GXPixModeSync = .text:0x800CA90C; // type:function size:0x24 -GXPokeAlphaMode = .text:0x800CA930; // type:function size:0x14 -GXPokeAlphaRead = .text:0x800CA944; // type:function size:0x14 -GXPokeAlphaUpdate = .text:0x800CA958; // type:function size:0x1C -GXPokeBlendMode = .text:0x800CA974; // type:function size:0x88 -GXPokeColorUpdate = .text:0x800CA9FC; // type:function size:0x1C -GXPokeDstAlpha = .text:0x800CAA18; // type:function size:0x14 -GXPokeDither = .text:0x800CAA2C; // type:function size:0x1C -GXPokeZMode = .text:0x800CAA48; // type:function size:0x28 -GXSetDrawSyncCallback = .text:0x800CAA70; // type:function size:0x44 -GXTokenInterruptHandler = .text:0x800CAAB4; // type:function size:0x88 -GXFinishInterruptHandler = .text:0x800CAB3C; // type:function size:0x84 -__GXPEInit = .text:0x800CABC0; // type:function size:0x80 scope:global -__GXSetDirtyState = .text:0x800CAC40; // type:function size:0xA0 -GXBegin = .text:0x800CACE0; // type:function size:0xF0 -__GXSendFlushPrim = .text:0x800CADD0; // type:function size:0x88 -GXSetLineWidth = .text:0x800CAE58; // type:function size:0x58 -GXSetPointSize = .text:0x800CAEB0; // type:function size:0x54 -GXEnableTexOffsets = .text:0x800CAF04; // type:function size:0x64 -GXSetCullMode = .text:0x800CAF68; // type:function size:0x50 -GXSetCoPlanar = .text:0x800CAFB8; // type:function size:0x44 -__GXSetGenMode = .text:0x800CAFFC; // type:function size:0x24 -GXAdjustForOverscan = .text:0x800CB020; // type:function size:0x120 -GXSetDispCopySrc = .text:0x800CB140; // type:function size:0xC0 -GXSetTexCopySrc = .text:0x800CB200; // type:function size:0xC0 -GXSetDispCopyDst = .text:0x800CB2C0; // type:function size:0x44 -GXSetTexCopyDst = .text:0x800CB304; // type:function size:0x170 -GXSetDispCopyFrame2Field = .text:0x800CB474; // type:function size:0x2C -GXSetCopyClamp = .text:0x800CB4A0; // type:function size:0x7C -GXSetDispCopyYScale = .text:0x800CB51C; // type:function size:0xD4 -GXSetCopyClear = .text:0x800CB5F0; // type:function size:0x68 -GXSetCopyFilter = .text:0x800CB658; // type:function size:0x228 -GXSetDispCopyGamma = .text:0x800CB880; // type:function size:0x1C -GXCopyDisp = .text:0x800CB89C; // type:function size:0x170 -GXCopyTex = .text:0x800CBA0C; // type:function size:0x190 -GXClearBoundingBox = .text:0x800CBB9C; // type:function size:0x38 -GXInitLightAttn = .text:0x800CBBD4; // type:function size:0x1C -GXInitLightAttnK = .text:0x800CBBF0; // type:function size:0x10 -GXInitLightSpot = .text:0x800CBC00; // type:function size:0x180 -GXInitLightDistAttn = .text:0x800CBD80; // type:function size:0xD0 -GXInitLightPos = .text:0x800CBE50; // type:function size:0x10 -GXInitLightDir = .text:0x800CBE60; // type:function size:0x1C -GXInitSpecularDir = .text:0x800CBE7C; // type:function size:0xD4 -GXInitLightColor = .text:0x800CBF50; // type:function size:0x28 -GXLoadLightObjImm = .text:0x800CBF78; // type:function size:0x148 -GXSetChanAmbColor = .text:0x800CC0C0; // type:function size:0x168 -GXSetChanMatColor = .text:0x800CC228; // type:function size:0x168 -GXSetNumChans = .text:0x800CC390; // type:function size:0x4C -GXSetChanCtrl = .text:0x800CC3DC; // type:function size:0x1E4 -GXGetTexBufferSize = .text:0x800CC5C0; // type:function size:0x15C -__GetImageTileCount = .text:0x800CC71C; // type:function size:0xC8 -GXInitTexObj = .text:0x800CC7E4; // type:function size:0x274 -GXInitTexObjCI = .text:0x800CCA58; // type:function size:0x48 -GXInitTexObjLOD = .text:0x800CCAA0; // type:function size:0x194 -GXGetTexObjFmt = .text:0x800CCC34; // type:function size:0x8 -GXLoadTexObjPreLoaded = .text:0x800CCC3C; // type:function size:0x1A8 -GXLoadTexObj = .text:0x800CCDE4; // type:function size:0x54 -GXInitTlutObj = .text:0x800CCE38; // type:function size:0x48 -GXLoadTlut = .text:0x800CCE80; // type:function size:0x9C -GXInitTexCacheRegion = .text:0x800CCF1C; // type:function size:0x120 scope:global -GXInitTlutRegion = .text:0x800CD03C; // type:function size:0x48 scope:global -GXInvalidateTexAll = .text:0x800CD084; // type:function size:0x48 -GXSetTexRegionCallback = .text:0x800CD0CC; // type:function size:0x14 -GXSetTlutRegionCallback = .text:0x800CD0E0; // type:function size:0x14 -GXSetTexCoordScaleManually = .text:0x800CD0F4; // type:function size:0x9C -__SetSURegs = .text:0x800CD190; // type:function size:0xCC scope:local -__GXSetSUTexRegs = .text:0x800CD25C; // type:function size:0x17C -__GXSetTmemConfig = .text:0x800CD3D8; // type:function size:0x240 scope:global -GXSetTevIndirect = .text:0x800CD618; // type:function size:0x9C -GXSetIndTexMtx = .text:0x800CD6B4; // type:function size:0x160 -GXSetIndTexCoordScale = .text:0x800CD814; // type:function size:0x1D4 -GXSetIndTexOrder = .text:0x800CD9E8; // type:function size:0x138 -GXSetNumIndStages = .text:0x800CDB20; // type:function size:0x2C -GXSetTevDirect = .text:0x800CDB4C; // type:function size:0x48 -GXSetTevIndWarp = .text:0x800CDB94; // type:function size:0x64 -GXSetTevIndTile = .text:0x800CDBF8; // type:function size:0x1AC -__GXUpdateBPMask = .text:0x800CDDA4; // type:function size:0xCC -__GXFlushTextureState = .text:0x800CDE70; // type:function size:0x24 scope:global -GXSetTevOp = .text:0x800CDE94; // type:function size:0x1A4 -GXSetTevColorIn = .text:0x800CE038; // type:function size:0x80 -GXSetTevAlphaIn = .text:0x800CE0B8; // type:function size:0x84 -GXSetTevColorOp = .text:0x800CE13C; // type:function size:0xC0 -GXSetTevAlphaOp = .text:0x800CE1FC; // type:function size:0xC0 -GXSetTevColor = .text:0x800CE2BC; // type:function size:0x74 -GXSetTevColorS10 = .text:0x800CE330; // type:function size:0x74 -GXSetTevKColor = .text:0x800CE3A4; // type:function size:0x74 -GXSetTevKColorSel = .text:0x800CE418; // type:function size:0x6C -GXSetTevKAlphaSel = .text:0x800CE484; // type:function size:0x6C -GXSetTevSwapMode = .text:0x800CE4F0; // type:function size:0x58 -GXSetTevSwapModeTable = .text:0x800CE548; // type:function size:0xA0 -GXSetAlphaCompare = .text:0x800CE5E8; // type:function size:0x50 -GXSetZTexture = .text:0x800CE638; // type:function size:0x84 -GXSetTevOrder = .text:0x800CE6BC; // type:function size:0x1DC -GXSetNumTevStages = .text:0x800CE898; // type:function size:0x34 -GXSetFog = .text:0x800CE8CC; // type:function size:0x1B0 -GXSetFogRangeAdj = .text:0x800CEA7C; // type:function size:0x100 -GXSetBlendMode = .text:0x800CEB7C; // type:function size:0x104 -GXSetColorUpdate = .text:0x800CEC80; // type:function size:0x40 -GXSetAlphaUpdate = .text:0x800CECC0; // type:function size:0x40 -GXSetZMode = .text:0x800CED00; // type:function size:0x78 -GXSetZCompLoc = .text:0x800CED78; // type:function size:0x40 -GXSetPixelFmt = .text:0x800CEDB8; // type:function size:0x110 -GXSetDither = .text:0x800CEEC8; // type:function size:0x40 -GXSetDstAlpha = .text:0x800CEF08; // type:function size:0x54 -GXSetFieldMask = .text:0x800CEF5C; // type:function size:0x38 -GXSetFieldMode = .text:0x800CEF94; // type:function size:0x80 -__GXSetRange = .text:0x800CF014; // type:function size:0x4 -GXBeginDisplayList = .text:0x800CF018; // type:function size:0xC8 -GXEndDisplayList = .text:0x800CF0E0; // type:function size:0xD4 -GXCallDisplayList = .text:0x800CF1B4; // type:function size:0x70 -GXProject = .text:0x800CF224; // type:function size:0x174 -GXSetProjection = .text:0x800CF398; // type:function size:0xD4 -GXGetProjectionv = .text:0x800CF46C; // type:function size:0x78 -WriteMTXPS4x3 = .text:0x800CF4E4; // type:function size:0x34 scope:local -WriteMTXPS3x3from3x4 = .text:0x800CF518; // type:function size:0x34 scope:local -WriteMTXPS4x2 = .text:0x800CF54C; // type:function size:0x24 scope:local -GXLoadPosMtxImm = .text:0x800CF570; // type:function size:0x3C -GXLoadNrmMtxImm = .text:0x800CF5AC; // type:function size:0x40 -GXSetCurrentMtx = .text:0x800CF5EC; // type:function size:0x3C -GXLoadTexMtxImm = .text:0x800CF628; // type:function size:0x84 -GXSetViewportJitter = .text:0x800CF6AC; // type:function size:0x11C -GXSetViewport = .text:0x800CF7C8; // type:function size:0x24 -GXGetViewportv = .text:0x800CF7EC; // type:function size:0x4C -GXSetScissor = .text:0x800CF838; // type:function size:0xB0 -GXSetScissorBoxOffset = .text:0x800CF8E8; // type:function size:0x44 -GXSetClipMode = .text:0x800CF92C; // type:function size:0x28 -__GXSetMatrixIndex = .text:0x800CF954; // type:function size:0x84 -GXSetGPMetric = .text:0x800CF9D8; // type:function size:0x898 -GXReadGPMetric = .text:0x800D0270; // type:function size:0x1A8 -GXClearGPMetric = .text:0x800D0418; // type:function size:0x10 -GXReadGP0Metric = .text:0x800D0428; // type:function size:0x2C -GXReadGP1Metric = .text:0x800D0454; // type:function size:0x2C -GXReadMemMetric = .text:0x800D0480; // type:function size:0x214 -GXClearMemMetric = .text:0x800D0694; // type:function size:0xA8 -GXReadPixMetric = .text:0x800D073C; // type:function size:0x138 -GXClearPixMetric = .text:0x800D0874; // type:function size:0x30 -GXSetVCacheMetric = .text:0x800D08A4; // type:function size:0x50 -GXReadVCacheMetric = .text:0x800D08F4; // type:function size:0x94 -GXClearVCacheMetric = .text:0x800D0988; // type:function size:0x1C -__CARDDefaultApiCallback = .text:0x800D09A4; // type:function size:0x4 -__CARDSyncCallback = .text:0x800D09A8; // type:function size:0x34 -__CARDExtHandler = .text:0x800D09DC; // type:function size:0xD8 -__CARDExiHandler = .text:0x800D0AB4; // type:function size:0x118 -__CARDTxHandler = .text:0x800D0BCC; // type:function size:0xA8 -__CARDUnlockedHandler = .text:0x800D0C74; // type:function size:0x84 -__CARDEnableInterrupt = .text:0x800D0CF8; // type:function size:0xC0 -__CARDReadStatus = .text:0x800D0DB8; // type:function size:0xF0 -__CARDClearStatus = .text:0x800D0EA8; // type:function size:0xAC -TimeoutHandler = .text:0x800D0F54; // type:function size:0xA4 scope:local -Retry = .text:0x800D0FF8; // type:function size:0x22C scope:local -UnlockedCallback = .text:0x800D1224; // type:function size:0x110 scope:local -__CARDStart = .text:0x800D1334; // type:function size:0x1B4 -__CARDReadSegment = .text:0x800D14E8; // type:function size:0x134 -__CARDWritePage = .text:0x800D161C; // type:function size:0x11C -__CARDEraseSector = .text:0x800D1738; // type:function size:0xE0 -CARDInit = .text:0x800D1818; // type:function size:0x9C -__CARDSetDiskID = .text:0x800D18B4; // type:function size:0x38 -__CARDGetControlBlock = .text:0x800D18EC; // type:function size:0xB8 -__CARDPutControlBlock = .text:0x800D19A4; // type:function size:0x64 -CARDFreeBlocks = .text:0x800D1A08; // type:function size:0x150 -CARDGetSectorSize = .text:0x800D1B58; // type:function size:0x84 -__CARDSync = .text:0x800D1BDC; // type:function size:0x98 -OnReset = .text:0x800D1C74; // type:function size:0x50 scope:local -bitrev = .text:0x800D1CC4; // type:function size:0x16C scope:local -ReadArrayUnlock = .text:0x800D1E30; // type:function size:0x144 scope:local -DummyLen = .text:0x800D1F74; // type:function size:0xC4 scope:local -__CARDUnlock = .text:0x800D2038; // type:function size:0xB58 -InitCallback = .text:0x800D2B90; // type:function size:0x70 scope:local -DoneCallback = .text:0x800D2C00; // type:function size:0x324 scope:local -BlockReadCallback = .text:0x800D2F24; // type:function size:0xDC scope:local -__CARDRead = .text:0x800D3000; // type:function size:0x64 -BlockWriteCallback = .text:0x800D3064; // type:function size:0xDC scope:local -__CARDWrite = .text:0x800D3140; // type:function size:0x64 -__CARDGetFatBlock = .text:0x800D31A4; // type:function size:0x8 -WriteCallback = .text:0x800D31AC; // type:function size:0xD4 scope:local -EraseCallback = .text:0x800D3280; // type:function size:0xC8 scope:local -__CARDAllocBlock = .text:0x800D3348; // type:function size:0x118 -__CARDFreeBlock = .text:0x800D3460; // type:function size:0x9C -__CARDUpdateFatBlock = .text:0x800D34FC; // type:function size:0xAC -__CARDGetDirBlock = .text:0x800D35A8; // type:function size:0x8 -WriteCallback = .text:0x800D35B0; // type:function size:0xD0 scope:local -EraseCallback = .text:0x800D3680; // type:function size:0xC8 scope:local -__CARDUpdateDir = .text:0x800D3748; // type:function size:0xC4 -__CARDCheckSum = .text:0x800D380C; // type:function size:0x1B0 -VerifyID = .text:0x800D39BC; // type:function size:0x284 scope:local -VerifyDir = .text:0x800D3C40; // type:function size:0x240 scope:local -VerifyFAT = .text:0x800D3E80; // type:function size:0x284 scope:local -__CARDVerify = .text:0x800D4104; // type:function size:0x8C -CARDCheckExAsync = .text:0x800D4190; // type:function size:0x590 -CARDCheck = .text:0x800D4720; // type:function size:0x54 -IsCard = .text:0x800D4774; // type:function size:0xCC scope:local -CARDProbeEx = .text:0x800D4840; // type:function size:0x17C -DoMount = .text:0x800D49BC; // type:function size:0x410 scope:local -__CARDMountCallback = .text:0x800D4DCC; // type:function size:0x138 -CARDMountAsync = .text:0x800D4F04; // type:function size:0x1A0 -CARDMount = .text:0x800D50A4; // type:function size:0x48 -DoUnmount = .text:0x800D50EC; // type:function size:0x9C scope:local -CARDUnmount = .text:0x800D5188; // type:function size:0xAC -FormatCallback = .text:0x800D5234; // type:function size:0x144 scope:local -__CARDFormatRegionAsync = .text:0x800D5378; // type:function size:0x658 -CARDFormat = .text:0x800D59D0; // type:function size:0x54 -__CARDCompareFileName = .text:0x800D5A24; // type:function size:0x68 -__CARDAccess = .text:0x800D5A8C; // type:function size:0x98 -__CARDIsPublic = .text:0x800D5B24; // type:function size:0x30 -__CARDGetFileNo = .text:0x800D5B54; // type:function size:0x150 -CARDOpen = .text:0x800D5CA4; // type:function size:0x178 -CARDClose = .text:0x800D5E1C; // type:function size:0x54 -__CARDIsOpened = .text:0x800D5E70; // type:function size:0x8 -CreateCallbackFat = .text:0x800D5E78; // type:function size:0x130 scope:local -CARDCreateAsync = .text:0x800D5FA8; // type:function size:0x220 -CARDCreate = .text:0x800D61C8; // type:function size:0x48 -__CARDSeek = .text:0x800D6210; // type:function size:0x1B8 -ReadCallback = .text:0x800D63C8; // type:function size:0x130 scope:local -CARDReadAsync = .text:0x800D64F8; // type:function size:0x148 -CARDRead = .text:0x800D6640; // type:function size:0x48 -WriteCallback = .text:0x800D6688; // type:function size:0x170 scope:local -EraseCallback = .text:0x800D67F8; // type:function size:0xB0 scope:local -CARDWriteAsync = .text:0x800D68A8; // type:function size:0x114 -CARDWrite = .text:0x800D69BC; // type:function size:0x48 -DeleteCallback = .text:0x800D6A04; // type:function size:0xA4 scope:local -CARDDeleteAsync = .text:0x800D6AA8; // type:function size:0x110 -CARDDelete = .text:0x800D6BB8; // type:function size:0x48 -UpdateIconOffsets = .text:0x800D6C00; // type:function size:0x1F8 scope:local -CARDGetStatus = .text:0x800D6DF8; // type:function size:0x12C -CARDSetStatusAsync = .text:0x800D6F24; // type:function size:0x174 -CARDSetStatus = .text:0x800D7098; // type:function size:0x48 -CARDGetSerialNo = .text:0x800D70E0; // type:function size:0xC4 -SetExiInterruptMask = .text:0x800D71A4; // type:function size:0xF4 scope:local -EXIImm = .text:0x800D7298; // type:function size:0x25C scope:global -EXIImmEx = .text:0x800D74F4; // type:function size:0xA0 -EXIDma = .text:0x800D7594; // type:function size:0xEC scope:global -EXISync = .text:0x800D7680; // type:function size:0x238 scope:global -EXIClearInterrupts = .text:0x800D78B8; // type:function size:0x48 -EXISetExiCallback = .text:0x800D7900; // type:function size:0x7C -__EXIProbe = .text:0x800D797C; // type:function size:0x174 scope:local -EXIProbe = .text:0x800D7AF0; // type:function size:0x80 -EXIProbeEx = .text:0x800D7B70; // type:function size:0xB4 -EXIAttach = .text:0x800D7C24; // type:function size:0x10C -EXIDetach = .text:0x800D7D30; // type:function size:0xBC -EXISelect = .text:0x800D7DEC; // type:function size:0x12C scope:global -EXIDeselect = .text:0x800D7F18; // type:function size:0x110 scope:global -EXIIntrruptHandler = .text:0x800D8028; // type:function size:0xC8 scope:local -TCIntrruptHandler = .text:0x800D80F0; // type:function size:0x218 scope:local -EXTIntrruptHandler = .text:0x800D8308; // type:function size:0xD0 scope:local -EXIInit = .text:0x800D83D8; // type:function size:0x114 scope:global -EXILock = .text:0x800D84EC; // type:function size:0xF4 scope:global -EXIUnlock = .text:0x800D85E0; // type:function size:0xDC scope:global -EXIGetState = .text:0x800D86BC; // type:function size:0x18 -UnlockedHandler = .text:0x800D86D4; // type:function size:0x28 scope:local -EXIGetID = .text:0x800D86FC; // type:function size:0x37C -InitializeUART = .text:0x800D8A78; // type:function size:0x70 -WriteUARTN = .text:0x800D8AE8; // type:function size:0x200 -SIBusy = .text:0x800D8CE8; // type:function size:0x20 -SIIsChanBusy = .text:0x800D8D08; // type:function size:0x3C -CompleteTransfer = .text:0x800D8D44; // type:function size:0x2FC -SIInterruptHandler = .text:0x800D9040; // type:function size:0x344 scope:local -SIEnablePollingInterrupt = .text:0x800D9384; // type:function size:0x98 -SIRegisterPollingHandler = .text:0x800D941C; // type:function size:0xCC -SIUnregisterPollingHandler = .text:0x800D94E8; // type:function size:0xF4 -SIInit = .text:0x800D95DC; // type:function size:0xA4 scope:global -__SITransfer = .text:0x800D9680; // type:function size:0x20C -SIGetStatus = .text:0x800D988C; // type:function size:0x7C -SISetCommand = .text:0x800D9908; // type:function size:0x14 -SITransferCommands = .text:0x800D991C; // type:function size:0x10 -SISetXY = .text:0x800D992C; // type:function size:0x6C scope:global -SIEnablePolling = .text:0x800D9998; // type:function size:0x9C -SIDisablePolling = .text:0x800D9A34; // type:function size:0x6C -SIGetResponseRaw = .text:0x800D9AA0; // type:function size:0xD4 -SIGetResponse = .text:0x800D9B74; // type:function size:0xC4 -AlarmHandler = .text:0x800D9C38; // type:function size:0x8C scope:local -SITransfer = .text:0x800D9CC4; // type:function size:0x16C scope:global -GetTypeCallback = .text:0x800D9E30; // type:function size:0x298 scope:local -SIGetType = .text:0x800DA0C8; // type:function size:0x1C4 scope:global -SIGetTypeAsync = .text:0x800DA28C; // type:function size:0x13C -SISetSamplingRate = .text:0x800DA3C8; // type:function size:0xE4 scope:global -SIRefreshSamplingRate = .text:0x800DA4AC; // type:function size:0x24 -THPVideoDecode = .text:0x800DA4D0; // type:function size:0x244 -__THPSetupBuffers = .text:0x800DA714; // type:function size:0x44 scope:local -__THPReadFrameHeader = .text:0x800DA758; // type:function size:0x13C scope:local -__THPReadScaneHeader = .text:0x800DA894; // type:function size:0x11C scope:local -__THPReadQuantizationTable = .text:0x800DA9B0; // type:function size:0x3BC scope:local -__THPReadHuffmanTableSpecification = .text:0x800DAD6C; // type:function size:0x1E0 scope:local -__THPHuffGenerateSizeTable = .text:0x800DAF4C; // type:function size:0xF0 scope:local -__THPHuffGenerateCodeTable = .text:0x800DB03C; // type:function size:0x68 scope:local -__THPHuffGenerateDecoderTables = .text:0x800DB0A4; // type:function size:0x1BC scope:local -__THPRestartDefinition = .text:0x800DB260; // type:function size:0x54 scope:local -__THPPrepBitStream = .text:0x800DB2B4; // type:function size:0x24C scope:local -__THPDecompressYUV = .text:0x800DB500; // type:function size:0x10C scope:local -__THPDecompressiMCURow512x448 = .text:0x800DB60C; // type:function size:0x1A88 scope:local -__THPDecompressiMCURow640x480 = .text:0x800DD094; // type:function size:0x1A8C scope:local -__THPDecompressiMCURowNxN = .text:0x800DEB20; // type:function size:0x1AAC scope:local -__THPHuffDecodeDCTCompY = .text:0x800E05CC; // type:function size:0x67C scope:local -__THPHuffDecodeDCTCompU = .text:0x800E0C48; // type:function size:0x6A8 scope:local -__THPHuffDecodeDCTCompV = .text:0x800E12F0; // type:function size:0x6A8 scope:local -THPInit = .text:0x800E1998; // type:function size:0x78 -THPAudioDecode = .text:0x800E1A10; // type:function size:0x464 -__THPAudioGetNewSample = .text:0x800E1E74; // type:function size:0x90 -__THPAudioInitialize = .text:0x800E1F04; // type:function size:0x3C -__va_arg = .text:0x800E1F40; // type:function size:0xC8 scope:global -__destroy_global_chain = .text:0x800E2008; // type:function size:0x48 scope:global -__register_global_object = .text:0x800E2050; // type:function size:0x18 scope:global -__dl__FPv = .text:0x800E2068; // type:function size:0x4C -__dt__Q23std9exceptionFv = .text:0x800E20B4; // type:function size:0x48 -what__Q23std9exceptionCFv = .text:0x800E20FC; // type:function size:0xC -__throw_catch_compare = .text:0x800E2108; // type:function size:0x22C -unexpected__3stdFv = .text:0x800E2334; // type:function size:0x28 -terminate__3stdFv = .text:0x800E235C; // type:function size:0x28 -duhandler__3stdFv = .text:0x800E2384; // type:function size:0x28 -dthandler__3stdFv = .text:0x800E23AC; // type:function size:0x20 -__cvt_fp2unsigned = .text:0x800E23CC; // type:function size:0x5C -__save_fpr = .text:0x800E2428; // type:function size:0x4C -_savefpr_14 = .text:0x800E2428; // type:label scope:global -_savefpr_15 = .text:0x800E242C; // type:label scope:global -_savefpr_16 = .text:0x800E2430; // type:label scope:global -_savefpr_17 = .text:0x800E2434; // type:label scope:global -_savefpr_18 = .text:0x800E2438; // type:label scope:global -_savefpr_19 = .text:0x800E243C; // type:label scope:global -_savefpr_20 = .text:0x800E2440; // type:label scope:global -_savefpr_21 = .text:0x800E2444; // type:label scope:global -_savefpr_22 = .text:0x800E2448; // type:label scope:global -_savefpr_23 = .text:0x800E244C; // type:label scope:global -_savefpr_24 = .text:0x800E2450; // type:label scope:global -_savefpr_25 = .text:0x800E2454; // type:label scope:global -_savefpr_26 = .text:0x800E2458; // type:label scope:global -_savefpr_27 = .text:0x800E245C; // type:label scope:global -_savefpr_28 = .text:0x800E2460; // type:label scope:global -_savefpr_29 = .text:0x800E2464; // type:label scope:global -_savefpr_30 = .text:0x800E2468; // type:label scope:global -_savefpr_31 = .text:0x800E246C; // type:label scope:global -__restore_fpr = .text:0x800E2474; // type:function size:0x4C -_restfpr_14 = .text:0x800E2474; // type:label scope:global -_restfpr_15 = .text:0x800E2478; // type:label scope:global -_restfpr_16 = .text:0x800E247C; // type:label scope:global -_restfpr_17 = .text:0x800E2480; // type:label scope:global -_restfpr_18 = .text:0x800E2484; // type:label scope:global -_restfpr_19 = .text:0x800E2488; // type:label scope:global -_restfpr_20 = .text:0x800E248C; // type:label scope:global -_restfpr_21 = .text:0x800E2490; // type:label scope:global -_restfpr_22 = .text:0x800E2494; // type:label scope:global -_restfpr_23 = .text:0x800E2498; // type:label scope:global -_restfpr_24 = .text:0x800E249C; // type:label scope:global -_restfpr_25 = .text:0x800E24A0; // type:label scope:global -_restfpr_26 = .text:0x800E24A4; // type:label scope:global -_restfpr_27 = .text:0x800E24A8; // type:label scope:global -_restfpr_28 = .text:0x800E24AC; // type:label scope:global -_restfpr_29 = .text:0x800E24B0; // type:label scope:global -_restfpr_30 = .text:0x800E24B4; // type:label scope:global -_restfpr_31 = .text:0x800E24B8; // type:label scope:global -__save_gpr = .text:0x800E24C0; // type:function size:0x4C -_savegpr_14 = .text:0x800E24C0; // type:label scope:global -_savegpr_15 = .text:0x800E24C4; // type:label scope:global -_savegpr_16 = .text:0x800E24C8; // type:label scope:global -_savegpr_17 = .text:0x800E24CC; // type:label scope:global -_savegpr_18 = .text:0x800E24D0; // type:label scope:global -_savegpr_19 = .text:0x800E24D4; // type:label scope:global -_savegpr_20 = .text:0x800E24D8; // type:label scope:global -_savegpr_21 = .text:0x800E24DC; // type:label scope:global -_savegpr_22 = .text:0x800E24E0; // type:label scope:global -_savegpr_23 = .text:0x800E24E4; // type:label scope:global -_savegpr_24 = .text:0x800E24E8; // type:label scope:global -_savegpr_25 = .text:0x800E24EC; // type:label scope:global -_savegpr_26 = .text:0x800E24F0; // type:label scope:global -_savegpr_27 = .text:0x800E24F4; // type:label scope:global -_savegpr_28 = .text:0x800E24F8; // type:label scope:global -_savegpr_29 = .text:0x800E24FC; // type:label scope:global -_savegpr_30 = .text:0x800E2500; // type:label scope:global -_savegpr_31 = .text:0x800E2504; // type:label scope:global -__restore_gpr = .text:0x800E250C; // type:function size:0x4C -_restgpr_14 = .text:0x800E250C; // type:label scope:global -_restgpr_15 = .text:0x800E2510; // type:label scope:global -_restgpr_16 = .text:0x800E2514; // type:label scope:global -_restgpr_17 = .text:0x800E2518; // type:label scope:global -_restgpr_18 = .text:0x800E251C; // type:label scope:global -_restgpr_19 = .text:0x800E2520; // type:label scope:global -_restgpr_20 = .text:0x800E2524; // type:label scope:global -_restgpr_21 = .text:0x800E2528; // type:label scope:global -_restgpr_22 = .text:0x800E252C; // type:label scope:global -_restgpr_23 = .text:0x800E2530; // type:label scope:global -_restgpr_24 = .text:0x800E2534; // type:label scope:global -_restgpr_25 = .text:0x800E2538; // type:label scope:global -_restgpr_26 = .text:0x800E253C; // type:label scope:global -_restgpr_27 = .text:0x800E2540; // type:label scope:global -_restgpr_28 = .text:0x800E2544; // type:label scope:global -_restgpr_29 = .text:0x800E2548; // type:label scope:global -_restgpr_30 = .text:0x800E254C; // type:label scope:global -_restgpr_31 = .text:0x800E2550; // type:label scope:global -__div2u = .text:0x800E2558; // type:function size:0xEC scope:global -__div2i = .text:0x800E2644; // type:function size:0x138 -__mod2u = .text:0x800E277C; // type:function size:0xE4 scope:global -__mod2i = .text:0x800E2860; // type:function size:0x10C -__shl2i = .text:0x800E296C; // type:function size:0x24 -__shr2u = .text:0x800E2990; // type:function size:0x24 -__shr2i = .text:0x800E29B4; // type:function size:0x28 -__cvt_dbl_usll = .text:0x800E29DC; // type:function size:0xCC -GetR2__Fv = .text:0x800E2AA8; // type:function size:0x8 scope:local -__fini_cpp_exceptions = .text:0x800E2AB0; // type:function size:0x34 scope:global -__init_cpp_exceptions = .text:0x800E2AE4; // type:function size:0x40 scope:global -ExPPC_LongJump__FP12ThrowContextPvPv = .text:0x800E2B24; // type:function size:0x104 -__throw = .text:0x800E2C28; // type:function size:0x144 -__end__catch = .text:0x800E2D6C; // type:function size:0x44 -ExPPC_ThrowHandler__FP12ThrowContext = .text:0x800E2DB0; // type:function size:0x410 -__unexpected = .text:0x800E31C0; // type:function size:0x1B4 -__dt__Q23std13bad_exceptionFv = .text:0x800E3374; // type:function size:0x5C -ExPPC_UnwindStack__FP12ThrowContextP15MWExceptionInfoPv = .text:0x800E33D0; // type:function size:0x50C -ExPPC_PopStackFrame__FP12ThrowContextP15MWExceptionInfo = .text:0x800E38DC; // type:function size:0x248 -ExPPC_NextAction__FP14ActionIterator = .text:0x800E3B24; // type:function size:0x1C0 -ExPPC_FindExceptionRecord__FPcP15MWExceptionInfo = .text:0x800E3CE4; // type:function size:0x204 -__unregister_fragment = .text:0x800E3EE8; // type:function size:0x34 scope:global -__register_fragment = .text:0x800E3F1C; // type:function size:0x34 scope:global -what__Q23std13bad_exceptionCFv = .text:0x800E3F50; // type:function size:0xC -__sys_free = .text:0x800E3F5C; // type:function size:0xB8 -exit = .text:0x800E4014; // type:function size:0xCC scope:global -abort = .text:0x800E40E0; // type:function size:0x88 -free = .text:0x800E4168; // type:function size:0x134 -deallocate_from_fixed_pools = .text:0x800E429C; // type:function size:0x1FC -SubBlock_merge_next = .text:0x800E4498; // type:function size:0xBC scope:local -Block_link = .text:0x800E4554; // type:function size:0x17C scope:local -__flush_all = .text:0x800E46D0; // type:function size:0x70 -__close_all = .text:0x800E4740; // type:function size:0x98 scope:global -__num2dec = .text:0x800E47D8; // type:function size:0x1A4 -__num2dec_internal = .text:0x800E497C; // type:function size:0x23C scope:local -__two_exp = .text:0x800E4BB8; // type:function size:0x340 scope:local -__str2dec = .text:0x800E4EF8; // type:function size:0xEC scope:local -__timesdec = .text:0x800E4FE4; // type:function size:0x28C scope:local -__ull2dec = .text:0x800E5270; // type:function size:0x110 scope:local -__count_trailing_zerol = .text:0x800E5380; // type:function size:0x70 scope:local -abs = .text:0x800E53F0; // type:function size:0x10 -__flush_buffer = .text:0x800E5400; // type:function size:0xC4 scope:global -__prep_buffer = .text:0x800E54C4; // type:function size:0x34 scope:global -tolower = .text:0x800E54F8; // type:function size:0x24 -isalpha = .text:0x800E551C; // type:function size:0x18 -__fwrite = .text:0x800E5534; // type:function size:0x30C scope:global -fwrite = .text:0x800E5840; // type:function size:0x20 scope:global -fflush = .text:0x800E5860; // type:function size:0x138 -fclose = .text:0x800E5998; // type:function size:0xC0 -fseek = .text:0x800E5A58; // type:function size:0x20 scope:global -_fseek = .text:0x800E5A78; // type:function size:0x23C -ftell = .text:0x800E5CB4; // type:function size:0x70 -wcstombs = .text:0x800E5D24; // type:function size:0xA0 scope:global -unicode_to_UTF8 = .text:0x800E5DC4; // type:function size:0xA4 scope:local -memcmp = .text:0x800E5E68; // type:function size:0x4C -__memrchr = .text:0x800E5EB4; // type:function size:0x2C scope:global -memchr = .text:0x800E5EE0; // type:function size:0x2C scope:global -memmove = .text:0x800E5F0C; // type:function size:0xCC -__copy_longs_rev_unaligned = .text:0x800E5FD8; // type:function size:0xB0 -__copy_longs_unaligned = .text:0x800E6088; // type:function size:0xC4 -__copy_longs_rev_aligned = .text:0x800E614C; // type:function size:0xAC -__copy_longs_aligned = .text:0x800E61F8; // type:function size:0xC0 -__stdio_atexit = .text:0x800E62B8; // type:function size:0x10 scope:global -sprintf = .text:0x800E62C8; // type:function size:0xE0 -vsprintf = .text:0x800E63A8; // type:function size:0x78 -vsnprintf = .text:0x800E6420; // type:function size:0x74 -vprintf = .text:0x800E6494; // type:function size:0x7C scope:global -printf = .text:0x800E6510; // type:function size:0xCC -__StringWrite = .text:0x800E65DC; // type:function size:0x6C -__FileWrite = .text:0x800E6648; // type:function size:0x58 scope:global -__pformatter = .text:0x800E66A0; // type:function size:0x774 scope:local -float2str = .text:0x800E6E14; // type:function size:0x6EC scope:local -round_decimal = .text:0x800E7500; // type:function size:0x12C -double2hex = .text:0x800E762C; // type:function size:0x338 scope:local -longlong2str = .text:0x800E7964; // type:function size:0x2DC scope:local -long2str = .text:0x800E7C40; // type:function size:0x220 scope:local -parse_format = .text:0x800E7E60; // type:function size:0x504 scope:local -raise = .text:0x800E8364; // type:function size:0xB0 -strchr = .text:0x800E8414; // type:function size:0x30 scope:global -strncmp = .text:0x800E8444; // type:function size:0x40 -strcmp = .text:0x800E8484; // type:function size:0x128 -strcat = .text:0x800E85AC; // type:function size:0x44 -strcpy = .text:0x800E85F0; // type:function size:0xB8 -strlen = .text:0x800E86A8; // type:function size:0x1C scope:global -__close_console = .text:0x800E86C4; // type:function size:0x8 -__write_console = .text:0x800E86CC; // type:function size:0xC4 -fwide = .text:0x800E8790; // type:function size:0x88 scope:global -__ieee754_acos = .text:0x800E8818; // type:function size:0x310 -__ieee754_asin = .text:0x800E8B28; // type:function size:0x264 -__ieee754_atan2 = .text:0x800E8D8C; // type:function size:0x290 -__ieee754_fmod = .text:0x800E901C; // type:function size:0x33C -__ieee754_pow = .text:0x800E9358; // type:function size:0x88C -__ieee754_rem_pio2 = .text:0x800E9BE4; // type:function size:0x3A0 -__kernel_cos = .text:0x800E9F84; // type:function size:0xF4 -__kernel_rem_pio2 = .text:0x800EA078; // type:function size:0xE54 -__kernel_sin = .text:0x800EAECC; // type:function size:0xA0 -__kernel_tan = .text:0x800EAF6C; // type:function size:0x214 -atan = .text:0x800EB180; // type:function size:0x200 -copysign = .text:0x800EB380; // type:function size:0x28 -cos = .text:0x800EB3A8; // type:function size:0xD4 -floor = .text:0x800EB47C; // type:function size:0x148 -frexp = .text:0x800EB5C4; // type:function size:0x8C -ldexp = .text:0x800EB650; // type:function size:0x1C4 -modf = .text:0x800EB814; // type:function size:0xFC -sin = .text:0x800EB910; // type:function size:0xD8 -tan = .text:0x800EB9E8; // type:function size:0x78 -acos = .text:0x800EBA60; // type:function size:0x20 -asin = .text:0x800EBA80; // type:function size:0x20 -atan2 = .text:0x800EBAA0; // type:function size:0x20 -fmod = .text:0x800EBAC0; // type:function size:0x20 -pow = .text:0x800EBAE0; // type:function size:0x20 -tanf = .text:0x800EBB00; // type:function size:0x24 scope:weak -sinf = .text:0x800EBB24; // type:function size:0x24 scope:weak -cosf = .text:0x800EBB48; // type:function size:0x24 scope:weak -atan2f = .text:0x800EBB6C; // type:function size:0x24 scope:weak -acosf = .text:0x800EBB90; // type:function size:0x24 scope:weak -TRKNubMainLoop = .text:0x800EBBB4; // type:function size:0xF8 scope:global -TRKDestructEvent = .text:0x800EBCAC; // type:function size:0x24 scope:global -TRKConstructEvent = .text:0x800EBCD0; // type:function size:0x18 -TRKPostEvent = .text:0x800EBCE8; // type:function size:0xE0 -TRKGetNextEvent = .text:0x800EBDC8; // type:function size:0xB4 scope:global -TRKInitializeEventQueue = .text:0x800EBE7C; // type:function size:0x58 scope:global -TRKNubWelcome = .text:0x800EBED4; // type:function size:0x28 scope:global -TRKTerminateNub = .text:0x800EBEFC; // type:function size:0x24 scope:global -TRKInitializeNub = .text:0x800EBF20; // type:function size:0x134 scope:global -TRKMessageSend = .text:0x800EC054; // type:function size:0x1DC -TRKReadBuffer_ui32 = .text:0x800EC230; // type:function size:0xF0 -TRKReadBuffer_ui8 = .text:0x800EC320; // type:function size:0x98 -TRKReadBuffer1_ui64 = .text:0x800EC3B8; // type:function size:0xE8 -TRKReadBuffer1_ui32 = .text:0x800EC4A0; // type:function size:0xC8 -TRKReadBuffer1_ui16 = .text:0x800EC568; // type:function size:0xB8 -TRKReadBuffer1_ui8 = .text:0x800EC620; // type:function size:0x80 -TRKAppendBuffer_ui32 = .text:0x800EC6A0; // type:function size:0xA8 -TRKAppendBuffer_ui8 = .text:0x800EC748; // type:function size:0x68 -TRKAppendBuffer1_ui64 = .text:0x800EC7B0; // type:function size:0x88 -TRKAppendBuffer1_ui32 = .text:0x800EC838; // type:function size:0x64 -TRKAppendBuffer1_ui16 = .text:0x800EC89C; // type:function size:0x54 -TRKReadBuffer = .text:0x800EC8F0; // type:function size:0x8C -TRKAppendBuffer = .text:0x800EC97C; // type:function size:0xA4 -TRKSetBufferPosition = .text:0x800ECA20; // type:function size:0x30 -TRKResetBuffer = .text:0x800ECA50; // type:function size:0x40 -TRKReleaseBuffer = .text:0x800ECA90; // type:function size:0x64 -TRKGetBuffer = .text:0x800ECAF4; // type:function size:0x2C scope:global -TRKGetFreeBuffer = .text:0x800ECB20; // type:function size:0xC8 -TRKInitializeMessageBuffers = .text:0x800ECBE8; // type:function size:0x74 scope:global -TRKTerminateSerialHandler = .text:0x800ECC5C; // type:function size:0x8 -TRKInitializeSerialHandler = .text:0x800ECC64; // type:function size:0x24 scope:global -TRKProcessInput = .text:0x800ECC88; // type:function size:0x50 -TRKGetInput = .text:0x800ECCD8; // type:function size:0x98 scope:global -TRKTestForPacket = .text:0x800ECD70; // type:function size:0x2B8 -usr_put_initialize = .text:0x800ED028; // type:function size:0x4 scope:global -usr_puts_serial = .text:0x800ED02C; // type:function size:0x88 -TRKDispatchMessage = .text:0x800ED0B4; // type:function size:0x84 scope:global -TRKInitializeDispatcher = .text:0x800ED138; // type:function size:0x18 scope:global -TRKDoSetOption = .text:0x800ED150; // type:function size:0x1A4 -TRKDoStop = .text:0x800ED2F4; // type:function size:0x100 -TRKDoStep = .text:0x800ED3F4; // type:function size:0x530 -TRKDoContinue = .text:0x800ED924; // type:function size:0x154 -TRKDoFlushCache = .text:0x800EDA78; // type:function size:0x2F8 -TRKDoWriteRegisters = .text:0x800EDD70; // type:function size:0x3C8 -TRKDoReadRegisters = .text:0x800EE138; // type:function size:0x3CC -TRKDoWriteMemory = .text:0x800EE504; // type:function size:0x420 -TRKDoReadMemory = .text:0x800EE924; // type:function size:0x410 -TRKDoCPUType = .text:0x800EED34; // type:function size:0x398 -TRKDoSupportMask = .text:0x800EF0CC; // type:function size:0x230 -TRKDoVersions = .text:0x800EF2FC; // type:function size:0x2D8 -TRKDoReset = .text:0x800EF5D4; // type:function size:0xB8 -TRKDoDisconnect = .text:0x800EF68C; // type:function size:0xE4 -TRKDoConnect = .text:0x800EF770; // type:function size:0xBC -TRKDoUnsupported = .text:0x800EF82C; // type:function size:0xB0 -TRKStandardACK = .text:0x800EF8DC; // type:function size:0xB8 -SetTRKConnected = .text:0x800EF994; // type:function size:0xC -GetTRKConnected = .text:0x800EF9A0; // type:function size:0x10 -HandlePositionFileSupportRequest = .text:0x800EF9B0; // type:function size:0x190 -HandleCloseFileSupportRequest = .text:0x800EFB40; // type:function size:0x120 -HandleOpenFileSupportRequest = .text:0x800EFC60; // type:function size:0x1A8 -TRKRequestSend = .text:0x800EFE08; // type:function size:0x1A4 -TRKSuppAccessFile = .text:0x800EFFAC; // type:function size:0x2C4 -TRKReleaseMutex = .text:0x800F0270; // type:function size:0x8 -TRKAcquireMutex = .text:0x800F0278; // type:function size:0x8 -TRKInitializeMutex = .text:0x800F0280; // type:function size:0x8 -TRKDoNotifyStopped = .text:0x800F0288; // type:function size:0xD8 -TRK_flush_cache = .text:0x800F0360; // type:function size:0x38 -TRK_fill_mem = .text:0x800F0398; // type:function size:0xBC -__TRK_get_MSR = .text:0x800F0454; // type:function size:0x8 -__TRK_set_MSR = .text:0x800F045C; // type:function size:0x8 -TRK_ppc_memcpy = .text:0x800F0464; // type:function size:0x3C -TRKInterruptHandler = .text:0x800F04A0; // type:function size:0x194 scope:global -TRKExceptionHandler = .text:0x800F0634; // type:function size:0x9C scope:global -TRKSwapAndGo = .text:0x800F06D0; // type:function size:0xC4 scope:global -TRKInterruptHandlerEnableInterrupts = .text:0x800F0794; // type:function size:0x54 scope:global -TRKTargetSetInputPendingPtr = .text:0x800F07E8; // type:function size:0x10 scope:global -TRKPPCAccessFPRegister = .text:0x800F07F8; // type:function size:0x21C -TRKTargetStop = .text:0x800F0A14; // type:function size:0x18 -TRKTargetSetStopped = .text:0x800F0A2C; // type:function size:0x10 scope:global -TRKTargetStopped = .text:0x800F0A3C; // type:function size:0x10 scope:global -TRKTargetFlushCache = .text:0x800F0A4C; // type:function size:0x3C -TRKTargetSupportRequest = .text:0x800F0A88; // type:function size:0x208 scope:global -TRKTargetGetPC = .text:0x800F0C90; // type:function size:0x10 -TRKTargetStepOutOfRange = .text:0x800F0CA0; // type:function size:0x7C -TRKTargetSingleStep = .text:0x800F0D1C; // type:function size:0x6C -TRKTargetAddExceptionInfo = .text:0x800F0D88; // type:function size:0xAC -TRKTargetAddStopInfo = .text:0x800F0E34; // type:function size:0x124 -TRKTargetInterrupt = .text:0x800F0F58; // type:function size:0x15C scope:global -TRKPostInterruptEvent = .text:0x800F10B4; // type:function size:0xC0 scope:global -TRKTargetCPUType = .text:0x800F1174; // type:function size:0x60 -TRKTargetSupportMask = .text:0x800F11D4; // type:function size:0xA4 -TRKTargetVersions = .text:0x800F1278; // type:function size:0x24 -TRKTargetAccessExtended2 = .text:0x800F129C; // type:function size:0x438 -TRKTargetAccessExtended1 = .text:0x800F16D4; // type:function size:0x170 -TRKTargetAccessFP = .text:0x800F1844; // type:function size:0x13C -TRKTargetAccessDefault = .text:0x800F1980; // type:function size:0xF4 -TRKTargetAccessMemory = .text:0x800F1A74; // type:function size:0x14C -TRKValidMemory32 = .text:0x800F1BC0; // type:function size:0x124 -TRKAccessFile = .text:0x800F1CF0; // type:function size:0x8 -TRKOpenFile = .text:0x800F1CF8; // type:function size:0x8 -TRKCloseFile = .text:0x800F1D00; // type:function size:0x8 -TRKPositionFile = .text:0x800F1D08; // type:function size:0x8 -InitMetroTRK = .text:0x800F1D10; // type:function size:0x94 scope:global -TRKInitializeTarget = .text:0x800F1DA4; // type:function size:0x4C scope:global -TRKTargetTranslate = .text:0x800F1DF0; // type:function size:0x40 -EnableMetroTRKInterrupts = .text:0x800F1E30; // type:function size:0x20 scope:global -TRKSaveExtended1Block = .text:0x800F1E50; // type:function size:0x1B8 scope:global -TRKRestoreExtended1Block = .text:0x800F2008; // type:function size:0x1B8 scope:global -TRKTargetCPUMinorType = .text:0x800F21C0; // type:function size:0x8 -TRK_main = .text:0x800F21C8; // type:function size:0x44 scope:global -TRKLoadContext = .text:0x800F220C; // type:function size:0x88 scope:global -TRKUARTInterruptHandler = .text:0x800F2294; // type:function size:0x4 scope:global -TRK_board_display = .text:0x800F2298; // type:function size:0x24 scope:global -UnreserveEXI2Port = .text:0x800F22BC; // type:function size:0x30 scope:global -ReserveEXI2Port = .text:0x800F22EC; // type:function size:0x30 scope:global -TRKReadUARTPoll = .text:0x800F231C; // type:function size:0xF0 -WriteUART1 = .text:0x800F240C; // type:function size:0x28 -WriteUARTFlush = .text:0x800F2434; // type:function size:0xE0 -EnableEXI2Interrupts = .text:0x800F2514; // type:function size:0x30 -TRKInitializeIntDrivenUART = .text:0x800F2544; // type:function size:0x3C scope:global -InitMetroTRKCommTable = .text:0x800F2580; // type:function size:0x100 scope:global -TRKEXICallBack = .text:0x800F2680; // type:function size:0x38 scope:global -TRKTargetContinue = .text:0x800F26B8; // type:function size:0x34 scope:global -GetUseSerialIO = .text:0x800F26EC; // type:function size:0x10 -SetUseSerialIO = .text:0x800F26FC; // type:function size:0xC -__TRK_write_console = .text:0x800F2708; // type:function size:0xBC -__read_console = .text:0x800F27C4; // type:function size:0xBC -seqGetPrivateId = .text:0x800F2880; // type:function size:0x68 -seqStartPlay = .text:0x800F28E8; // type:function size:0xAC4 -StartPause = .text:0x800F33AC; // type:function size:0x64 -seqPause = .text:0x800F3410; // type:function size:0x27C -seqStop = .text:0x800F368C; // type:function size:0x2B0 -seqKillInstancesByGroupID = .text:0x800F393C; // type:function size:0x90 -seqSpeed = .text:0x800F39CC; // type:function size:0xE4 -seqContinue = .text:0x800F3AB0; // type:function size:0x108 -seqMute = .text:0x800F3BB8; // type:function size:0xBC -seqVolume = .text:0x800F3C74; // type:function size:0x1CC -seqCrossFade = .text:0x800F3E40; // type:function size:0xB58 -GenerateNextTrackEvent = .text:0x800F4998; // type:function size:0x218 scope:local -HandleEvent = .text:0x800F4BB0; // type:function size:0xA94 scope:local -InitTrackEvents = .text:0x800F5644; // type:function size:0x174 scope:local -HandleTrackEvents = .text:0x800F57B8; // type:function size:0x49C scope:local -seqHandle = .text:0x800F5C54; // type:function size:0x9F4 -seqInit = .text:0x800F6648; // type:function size:0x1A8 -synthSetBpm = .text:0x800F67F0; // type:function size:0x44 -synthGetTicksPerSecond = .text:0x800F6834; // type:function size:0x34 -synthInitPortamento = .text:0x800F6868; // type:function size:0x78 -do_voice_portamento = .text:0x800F68E0; // type:function size:0x2A0 scope:local -StartLayer = .text:0x800F6B80; // type:function size:0x3C0 scope:local -StartKeymap = .text:0x800F6F40; // type:function size:0x25C scope:local -synthStartSound = .text:0x800F719C; // type:function size:0x45C -LowPrecisionHandler = .text:0x800F75F8; // type:function size:0x744 scope:local -ZeroOffsetHandler = .text:0x800F7D3C; // type:function size:0x6FC scope:local -synthAddJob = .text:0x800F8438; // type:function size:0x150 scope:local -synthStartSynthJobHandling = .text:0x800F8588; // type:function size:0x64 -synthForceLowPrecisionUpdate = .text:0x800F85EC; // type:function size:0x44 -synthKeyStateUpdate = .text:0x800F8630; // type:function size:0x28 -synthHandle = .text:0x800F8658; // type:function size:0x510 -synthFXGetMaxVoices = .text:0x800F8B68; // type:function size:0x34 -synthFXStart = .text:0x800F8B9C; // type:function size:0xC8 -synthFXSetCtrl = .text:0x800F8C64; // type:function size:0xE4 -synthFXSetCtrl14 = .text:0x800F8D48; // type:function size:0xE4 -synthFXCloneMidiSetup = .text:0x800F8E2C; // type:function size:0x84 -synthSendKeyOff = .text:0x800F8EB0; // type:function size:0x88 -synthVolume = .text:0x800F8F38; // type:function size:0x530 -synthIsFadeOutActive = .text:0x800F9468; // type:function size:0x54 -synthSetMusicVolumeType = .text:0x800F94BC; // type:function size:0x28 -synthHWMessageHandler = .text:0x800F94E4; // type:function size:0xD0 -synthInit = .text:0x800F95B4; // type:function size:0x574 -synthExit = .text:0x800F9B28; // type:function size:0x24 -sndSeqGetValid = .text:0x800F9B4C; // type:function size:0x30 -sndSeqPause = .text:0x800F9B7C; // type:function size:0x38 -sndSeqStop = .text:0x800F9BB4; // type:function size:0x38 -sndSeqSpeed = .text:0x800F9BEC; // type:function size:0x48 -sndSeqContinue = .text:0x800F9C34; // type:function size:0x38 -sndSeqMute = .text:0x800F9C6C; // type:function size:0x58 -sndSeqVolume = .text:0x800F9CC4; // type:function size:0x68 -sndSeqGetMidiCtrl = .text:0x800F9D2C; // type:function size:0x84 -seqGetMIDIPriority = .text:0x800F9DB0; // type:function size:0x1C -sndFXCtrl = .text:0x800F9DCC; // type:function size:0x60 -sndFXCtrl14 = .text:0x800F9E2C; // type:function size:0x60 -sndFXKeyOff = .text:0x800F9E8C; // type:function size:0x40 -sndFXStartParaInfo = .text:0x800F9ECC; // type:function size:0xE0 -sndFXCheck = .text:0x800F9FAC; // type:function size:0x40 -sndSendMessage = .text:0x800F9FEC; // type:function size:0x50 -sndVolume = .text:0x800FA03C; // type:function size:0x60 -sndMasterVolume = .text:0x800FA09C; // type:function size:0x94 -sndOutputMode = .text:0x800FA130; // type:function size:0xEC -sndSetAuxProcessingCallbacks = .text:0x800FA21C; // type:function size:0x158 -synthActivateStudio = .text:0x800FA374; // type:function size:0xA8 -synthDeactivateStudio = .text:0x800FA41C; // type:function size:0xF0 -synthAddStudioInput = .text:0x800FA50C; // type:function size:0x20 -synthRemoveStudioInput = .text:0x800FA52C; // type:function size:0x20 -streamInit = .text:0x800FA54C; // type:function size:0xBC -SetHWMix = .text:0x800FA608; // type:function size:0x8C scope:local -streamHandle = .text:0x800FA694; // type:function size:0x8AC -streamCorrectLoops = .text:0x800FAF40; // type:function size:0x4 -streamKill = .text:0x800FAF44; // type:function size:0x84 -GetPrivateIndex = .text:0x800FAFC8; // type:function size:0x160 -sndStreamARAMUpdate = .text:0x800FB128; // type:function size:0x2C4 -CheckOutputMode = .text:0x800FB3EC; // type:function size:0x34 -SetupVolumeAndPan = .text:0x800FB420; // type:function size:0x44 -streamOutputModeChanged = .text:0x800FB464; // type:function size:0x130 -sndStreamAllocEx = .text:0x800FB594; // type:function size:0x458 -sndStreamAllocLength = .text:0x800FB9EC; // type:function size:0x44 -sndStreamADPCMParameter = .text:0x800FBA30; // type:function size:0x6E8 -sndStreamMixParameterEx = .text:0x800FC118; // type:function size:0x560 -sndStreamFrq = .text:0x800FC678; // type:function size:0x654 -sndStreamFree = .text:0x800FCCCC; // type:function size:0x6B8 -sndStreamActivate = .text:0x800FD384; // type:function size:0x634 -sndStreamDeactivate = .text:0x800FD9B8; // type:function size:0x700 -dataInsertKeymap = .text:0x800FE0B8; // type:function size:0x1F0 -dataRemoveKeymap = .text:0x800FE2A8; // type:function size:0x17C -dataInsertLayer = .text:0x800FE424; // type:function size:0x248 -dataRemoveLayer = .text:0x800FE66C; // type:function size:0x1C4 -dataInsertCurve = .text:0x800FE830; // type:function size:0x204 -dataRemoveCurve = .text:0x800FEA34; // type:function size:0x17C -dataInsertSDir = .text:0x800FEBB0; // type:function size:0x188 -dataRemoveSDir = .text:0x800FED38; // type:function size:0x2C8 -dataAddSampleReference = .text:0x800FF000; // type:function size:0xD8 -dataRemoveSampleReference = .text:0x800FF0D8; // type:function size:0x98 -dataInsertFX = .text:0x800FF170; // type:function size:0x11C -dataRemoveFX = .text:0x800FF28C; // type:function size:0x15C -dataInsertMacro = .text:0x800FF3E8; // type:function size:0x304 -dataRemoveMacro = .text:0x800FF6EC; // type:function size:0x284 -maccmp = .text:0x800FF970; // type:function size:0x10 scope:local -dataGetMacro = .text:0x800FF980; // type:function size:0x8C -smpcmp = .text:0x800FFA0C; // type:function size:0x10 scope:local -dataGetSample = .text:0x800FFA1C; // type:function size:0x128 -curvecmp = .text:0x800FFB44; // type:function size:0x10 scope:local -dataGetCurve = .text:0x800FFB54; // type:function size:0x5C -dataGetKeymap = .text:0x800FFBB0; // type:function size:0x5C -layercmp = .text:0x800FFC0C; // type:function size:0x10 scope:local -dataGetLayer = .text:0x800FFC1C; // type:function size:0x7C -fxcmp = .text:0x800FFC98; // type:function size:0x10 scope:local -dataGetFX = .text:0x800FFCA8; // type:function size:0x9C -dataInit = .text:0x800FFD44; // type:function size:0xE4 -dataExit = .text:0x800FFE28; // type:function size:0x20 -mcmdWait = .text:0x800FFE48; // type:function size:0x2F0 scope:local -mcmdGosub = .text:0x80100138; // type:function size:0xD0 scope:local -mcmdLoop = .text:0x80100208; // type:function size:0x154 scope:local -mcmdPlayMacro = .text:0x8010035C; // type:function size:0x18C scope:local -mcmdAddKey = .text:0x801004E8; // type:function size:0xD8 scope:local -mcmdStartSample = .text:0x801005C0; // type:function size:0x1FC scope:local -mcmdVibrato = .text:0x801007BC; // type:function size:0x17C scope:local -DoSetPitch = .text:0x80100938; // type:function size:0x1A0 scope:local -mcmdSetADSR = .text:0x80100AD8; // type:function size:0x258 scope:local -mcmdSetADSRFromCtrl = .text:0x80100D30; // type:function size:0x12C scope:local -mcmdSetPitchADSR = .text:0x80100E5C; // type:function size:0x27C scope:local -mcmdSetPanning = .text:0x801010D8; // type:function size:0x9C scope:local -mcmdSetSurroundPanning = .text:0x80101174; // type:function size:0x9C scope:local -mcmdScaleVolume = .text:0x80101210; // type:function size:0x134 scope:local -mcmdEnvelope = .text:0x80101344; // type:function size:0x130 scope:local -mcmdFadeIn = .text:0x80101474; // type:function size:0x13C scope:local -mcmdRandomKey = .text:0x801015B0; // type:function size:0x19C scope:local -mcmdVolumeSelect = .text:0x8010174C; // type:function size:0x104 scope:local -mcmdPanningSelect = .text:0x80101850; // type:function size:0x104 scope:local -mcmdPitchWheelSelect = .text:0x80101954; // type:function size:0x104 scope:local -mcmdModWheelSelect = .text:0x80101A58; // type:function size:0x104 scope:local -mcmdPedalSelect = .text:0x80101B5C; // type:function size:0x104 scope:local -mcmdPortamentoSelect = .text:0x80101C60; // type:function size:0x104 scope:local -mcmdReverbSelect = .text:0x80101D64; // type:function size:0x104 scope:local -mcmdPreAuxASelect = .text:0x80101E68; // type:function size:0x104 scope:local -mcmdPreAuxBSelect = .text:0x80101F6C; // type:function size:0x104 scope:local -mcmdPostAuxBSelect = .text:0x80102070; // type:function size:0x104 scope:local -mcmdSurroundPanningSelect = .text:0x80102174; // type:function size:0x104 scope:local -mcmdDopplerSelect = .text:0x80102278; // type:function size:0x104 scope:local -mcmdTremoloSelect = .text:0x8010237C; // type:function size:0x104 scope:local -mcmdAuxAFXSelect = .text:0x80102480; // type:function size:0x17C scope:local -mcmdAuxBFXSelect = .text:0x801025FC; // type:function size:0x17C scope:local -mcmdPortamento = .text:0x80102778; // type:function size:0x164 scope:local -varGet = .text:0x801028DC; // type:function size:0x68 -mcmdVarCalculation = .text:0x80102944; // type:function size:0x220 scope:local -mcmdIfVarCompare = .text:0x80102B64; // type:function size:0x14C scope:local -macPostMessage = .text:0x80102CB0; // type:function size:0xBC -mcmdSendMessage = .text:0x80102D6C; // type:function size:0x244 scope:local -mcmdGetVID = .text:0x80102FB0; // type:function size:0x80 scope:local -mcmdSetKeyGroup = .text:0x80103030; // type:function size:0xDC scope:local -macHandleActive = .text:0x8010310C; // type:function size:0xF58 scope:local -macHandle = .text:0x80104064; // type:function size:0x150 -macSampleEndNotify = .text:0x801041B4; // type:function size:0xAC -macSetExternalKeyoff = .text:0x80104260; // type:function size:0xF0 -macSetPedalState = .text:0x80104350; // type:function size:0x108 -TimeQueueAdd = .text:0x80104458; // type:function size:0xA4 scope:local -macMakeActive = .text:0x801044FC; // type:function size:0x108 -macMakeInactive = .text:0x80104604; // type:function size:0xFC -macStart = .text:0x80104700; // type:function size:0x438 -macInit = .text:0x80104B38; // type:function size:0x68 -vidInit = .text:0x80104BA0; // type:function size:0xE0 -vidRemoveVoiceReferences = .text:0x80104C80; // type:function size:0x350 -vidMakeRoot = .text:0x80104FD0; // type:function size:0x14 -vidMakeNew = .text:0x80104FE4; // type:function size:0x104 -vidGetInternalId = .text:0x801050E8; // type:function size:0x50 -voiceSetPriority = .text:0x80105138; // type:function size:0x24C -voiceAllocate = .text:0x80105384; // type:function size:0x460 -voiceFree = .text:0x801057E4; // type:function size:0x1C4 -synthInitAllocationAids = .text:0x801059A8; // type:function size:0x2A0 -voiceBlock = .text:0x80105C48; // type:function size:0xFC -voiceUnblock = .text:0x80105D44; // type:function size:0x218 -voiceKill = .text:0x80105F5C; // type:function size:0x234 -voiceKillSound = .text:0x80106190; // type:function size:0xC4 -synthKillVoicesByMacroReferences = .text:0x80106254; // type:function size:0x15C -voiceIsLastStarted = .text:0x801063B0; // type:function size:0x74 -voiceSetLastStarted = .text:0x80106424; // type:function size:0x54 -voiceResetLastStarted = .text:0x80106478; // type:function size:0x74 -voiceInitLastStarted = .text:0x801064EC; // type:function size:0x144 -sndPitchUpOne = .text:0x80106630; // type:function size:0x3C -sndGetPitch = .text:0x8010666C; // type:function size:0xE4 -adsrConvertTimeCents = .text:0x80106750; // type:function size:0x58 -salChangeADSRState = .text:0x801067A8; // type:function size:0x26C -adsrSetup = .text:0x80106A14; // type:function size:0x28 -adsrStartRelease = .text:0x80106A3C; // type:function size:0x150 -adsrRelease = .text:0x80106B8C; // type:function size:0x168 -adsrHandle = .text:0x80106CF4; // type:function size:0x198 -adsrHandleLowPrecision = .text:0x80106E8C; // type:function size:0x84 -vsInit = .text:0x80106F10; // type:function size:0xBC -vsSampleStartNotify = .text:0x80106FCC; // type:function size:0x248 -vsSampleEndNotify = .text:0x80107214; // type:function size:0xA8 -vsUpdateBuffer = .text:0x801072BC; // type:function size:0x1F8 -vsSampleUpdates = .text:0x801074B4; // type:function size:0x1E4 -dataInitStack = .text:0x80107698; // type:function size:0xC -InsertData = .text:0x801076A4; // type:function size:0x27C scope:local -sndPushGroup = .text:0x80107920; // type:function size:0x32C -sndPopGroup = .text:0x80107C4C; // type:function size:0x33C -seqPlaySong = .text:0x80107F88; // type:function size:0x14C -sndSeqPlayEx = .text:0x801080D4; // type:function size:0x11C -salInitDspCtrl = .text:0x801081F0; // type:function size:0x3B4 -salInitHRTFBuffer = .text:0x801085A4; // type:function size:0x38 -salExitDspCtrl = .text:0x801085DC; // type:function size:0xE0 -salActivateStudio = .text:0x801086BC; // type:function size:0x150 -salDeactivateStudio = .text:0x8010880C; // type:function size:0x20 -salCheckVolErrorAndResetDelta = .text:0x8010882C; // type:function size:0xF4 -sal_setup_dspvol = .text:0x80108920; // type:function size:0x48 scope:local -sal_update_hostplayinfo = .text:0x80108968; // type:function size:0x74 scope:local -DoDepopFade = .text:0x801089DC; // type:function size:0xAC scope:local -HandleDepopVoice = .text:0x80108A88; // type:function size:0x2DC scope:local -SortVoices = .text:0x80108D64; // type:function size:0x258 scope:local -salBuildCommandList = .text:0x80108FBC; // type:function size:0x21B8 -salSynthSendMessage = .text:0x8010B174; // type:function size:0x44 -salActivateVoice = .text:0x8010B1B8; // type:function size:0xA0 -salDeactivateVoice = .text:0x8010B258; // type:function size:0x60 -salReconnectVoice = .text:0x8010B2B8; // type:function size:0xC8 -salAddStudioInput = .text:0x8010B380; // type:function size:0xA8 -salRemoveStudioInput = .text:0x8010B428; // type:function size:0x84 -salHandleAuxProcessing = .text:0x8010B4AC; // type:function size:0x158 -salCalcVolume = .text:0x8010B604; // type:function size:0x6F0 -CheckRoomStatus = .text:0x8010BCF4; // type:function size:0x4B4 scope:local -CalcEmitter = .text:0x8010C1A8; // type:function size:0x51C scope:local -sndUpdateEmitter = .text:0x8010C6C4; // type:function size:0x130 -sndCheckEmitter = .text:0x8010C7F4; // type:function size:0x20 -AddEmitter = .text:0x8010C814; // type:function size:0x3F8 scope:local -sndAddEmitterParaEx = .text:0x8010CC0C; // type:function size:0x50 -sndRemoveEmitter = .text:0x8010CC5C; // type:function size:0xA8 -sndEmitterVoiceID = .text:0x8010CD04; // type:function size:0x5C -s3dKillEmitterByFXID = .text:0x8010CD60; // type:function size:0xFC -sndUpdateListener = .text:0x8010CE5C; // type:function size:0x204 -sndAddListenerEx = .text:0x8010D060; // type:function size:0x230 -sndRemoveListener = .text:0x8010D290; // type:function size:0xD0 -AddStartingEmitter = .text:0x8010D360; // type:function size:0x14C scope:local -StartContinousEmitters = .text:0x8010D4AC; // type:function size:0x3B0 scope:local -s3dHandle = .text:0x8010D85C; // type:function size:0x82C -s3dInit = .text:0x8010E088; // type:function size:0x38 -s3dExit = .text:0x8010E0C0; // type:function size:0x4 -sndInit = .text:0x8010E0C4; // type:function size:0x118 -sndQuit = .text:0x8010E1DC; // type:function size:0x34 -sndIsInstalled = .text:0x8010E210; // type:function size:0x8 -salApplyMatrix = .text:0x8010E218; // type:function size:0xAC -salNormalizeVector = .text:0x8010E2C4; // type:function size:0xB4 -salCrossProduct = .text:0x8010E378; // type:function size:0x64 -salInvertMatrix = .text:0x8010E3DC; // type:function size:0x1FC -inpSetGlobalMIDIDirtyFlag = .text:0x8010E5D8; // type:function size:0x24 -inpSetMidiCtrl = .text:0x8010E5FC; // type:function size:0x608 -inpSetMidiCtrl14 = .text:0x8010EC04; // type:function size:0x124 -inpResetMidiCtrl = .text:0x8010ED28; // type:function size:0xF0 -inpGetMidiCtrl = .text:0x8010EE18; // type:function size:0x2C4 -inpGetChannelDefaults = .text:0x8010F0DC; // type:function size:0x34 -inpResetChannelDefaults = .text:0x8010F110; // type:function size:0x3C -inpAddCtrl = .text:0x8010F14C; // type:function size:0x98 -inpFXCopyCtrl = .text:0x8010F1E4; // type:function size:0x114 -inpSetMidiLastNote = .text:0x8010F2F8; // type:function size:0x3C -inpGetMidiLastNote = .text:0x8010F334; // type:function size:0x3C -_GetInputValue = .text:0x8010F370; // type:function size:0x4A0 scope:local -inpGetVolume = .text:0x8010F810; // type:function size:0x48 -inpGetPanning = .text:0x8010F858; // type:function size:0x48 -inpGetSurPanning = .text:0x8010F8A0; // type:function size:0x48 -inpGetPitchBend = .text:0x8010F8E8; // type:function size:0x48 -inpGetDoppler = .text:0x8010F930; // type:function size:0x48 -inpGetModulation = .text:0x8010F978; // type:function size:0x48 -inpGetPedal = .text:0x8010F9C0; // type:function size:0x48 -inpGetPreAuxA = .text:0x8010FA08; // type:function size:0x48 -inpGetReverb = .text:0x8010FA50; // type:function size:0x48 -inpGetPreAuxB = .text:0x8010FA98; // type:function size:0x48 -inpGetPostAuxB = .text:0x8010FAE0; // type:function size:0x48 -inpGetTremolo = .text:0x8010FB28; // type:function size:0x48 -inpGetAuxA = .text:0x8010FB70; // type:function size:0xB4 -inpGetAuxB = .text:0x8010FC24; // type:function size:0xB4 -inpInit = .text:0x8010FCD8; // type:function size:0x284 -inpTranslateExCtrl = .text:0x8010FF5C; // type:function size:0x70 -inpGetExCtrl = .text:0x8010FFCC; // type:function size:0xFC -inpSetExCtrl = .text:0x801100C8; // type:function size:0x1E4 -sndRand = .text:0x801102AC; // type:function size:0x1C -sndSin = .text:0x801102C8; // type:function size:0x8C -sndBSearch = .text:0x80110354; // type:function size:0xA4 -sndConvertMs = .text:0x801103F8; // type:function size:0x10 -sndConvertTicks = .text:0x80110408; // type:function size:0x48 -sndConvert2Ms = .text:0x80110450; // type:function size:0x8 -snd_handle_irq = .text:0x80110458; // type:function size:0x154 scope:local -hwInit = .text:0x801105AC; // type:function size:0xB8 -hwExit = .text:0x80110664; // type:function size:0x34 -hwSetTimeOffset = .text:0x80110698; // type:function size:0x8 -hwGetTimeOffset = .text:0x801106A0; // type:function size:0x8 -hwIsActive = .text:0x801106A8; // type:function size:0x20 -hwSetMesgCallback = .text:0x801106C8; // type:function size:0x8 -hwSetPriority = .text:0x801106D0; // type:function size:0x14 -hwInitSamplePlayback = .text:0x801106E4; // type:function size:0x1B4 -hwBreak = .text:0x80110898; // type:function size:0x50 -hwSetADSR = .text:0x801108E8; // type:function size:0x1AC -hwSetVirtualSampleLoopBuffer = .text:0x80110A94; // type:function size:0x20 -hwGetVirtualSampleState = .text:0x80110AB4; // type:function size:0x14 -hwGetSampleType = .text:0x80110AC8; // type:function size:0x14 -hwGetSampleID = .text:0x80110ADC; // type:function size:0x14 -hwSetStreamLoopPS = .text:0x80110AF0; // type:function size:0x14 -hwStart = .text:0x80110B04; // type:function size:0x3C -hwKeyOff = .text:0x80110B40; // type:function size:0x28 -hwSetPitch = .text:0x80110B68; // type:function size:0x78 -hwSetSRCType = .text:0x80110BE0; // type:function size:0x2C -hwSetPolyPhaseFilter = .text:0x80110C0C; // type:function size:0x2C -hwSetITDMode = .text:0x80110C38; // type:function size:0x5C -hwSetVolume = .text:0x80110C94; // type:function size:0x2C0 -hwOff = .text:0x80110F54; // type:function size:0x2C -hwSetAUXProcessingCallbacks = .text:0x80110F80; // type:function size:0x28 -hwActivateStudio = .text:0x80110FA8; // type:function size:0x20 -hwDeactivateStudio = .text:0x80110FC8; // type:function size:0x20 -hwAddInput = .text:0x80110FE8; // type:function size:0x34 -hwRemoveInput = .text:0x8011101C; // type:function size:0x34 -hwChangeStudio = .text:0x80111050; // type:function size:0x2C -hwGetPos = .text:0x8011107C; // type:function size:0xA4 -hwFlushStream = .text:0x80111120; // type:function size:0x90 -hwInitStream = .text:0x801111B0; // type:function size:0x20 -hwExitStream = .text:0x801111D0; // type:function size:0x20 -hwGetStreamPlayBuffer = .text:0x801111F0; // type:function size:0x24 -hwTransAddr = .text:0x80111214; // type:function size:0x4 -hwFrq2Pitch = .text:0x80111218; // type:function size:0x5C -hwInitSampleMem = .text:0x80111274; // type:function size:0x24 -hwExitSampleMem = .text:0x80111298; // type:function size:0x20 -hwSaveSample = .text:0x801112B8; // type:function size:0x94 -hwRemoveSample = .text:0x8011134C; // type:function size:0x84 -hwSyncSampleMem = .text:0x801113D0; // type:function size:0x20 -hwFrameDone = .text:0x801113F0; // type:function size:0x4 -sndSetHooks = .text:0x801113F4; // type:function size:0x14 -hwDisableHRTF = .text:0x80111408; // type:function size:0xC -hwGetVirtualSampleID = .text:0x80111414; // type:function size:0x28 -hwVoiceInStartup = .text:0x8011143C; // type:function size:0x20 -aramQueueCallback = .text:0x8011145C; // type:function size:0xA0 -aramUploadData = .text:0x801114FC; // type:function size:0x1DC -aramSyncTransferQueue = .text:0x801116D8; // type:function size:0x18 -aramInit = .text:0x801116F0; // type:function size:0x2EC -aramExit = .text:0x801119DC; // type:function size:0x4 -aramGetZeroBuffer = .text:0x801119E0; // type:function size:0x20 -aramStoreData = .text:0x80111A00; // type:function size:0x3BC -aramRemoveData = .text:0x80111DBC; // type:function size:0x18 -InitStreamBuffers = .text:0x80111DD4; // type:function size:0xC4 scope:local -aramAllocateStreamBuffer = .text:0x80111E98; // type:function size:0x108 -aramGetStreamBufferAddress = .text:0x80111FA0; // type:function size:0x38 -aramFreeStreamBuffer = .text:0x80111FD8; // type:function size:0xF8 -salCallback = .text:0x801120D0; // type:function size:0xA8 scope:local -dspInitCallback = .text:0x80112178; // type:function size:0x10 scope:local -dspResumeCallback = .text:0x80112188; // type:function size:0x64 scope:local -salInitAi = .text:0x801121EC; // type:function size:0xC8 -salStartAi = .text:0x801122B4; // type:function size:0x20 -salExitAi = .text:0x801122D4; // type:function size:0x34 -salAiGetDest = .text:0x80112308; // type:function size:0x30 -salInitDsp = .text:0x80112338; // type:function size:0xBC -salExitDsp = .text:0x801123F4; // type:function size:0x34 -salCtrlDsp = .text:0x80112428; // type:function size:0x74 -salGetStartDelay = .text:0x8011249C; // type:function size:0x4C -hwInitIrq = .text:0x801124E8; // type:function size:0x2C -hwExitIrq = .text:0x80112514; // type:function size:0x4 -hwEnableIrq = .text:0x80112518; // type:function size:0x38 -hwDisableIrq = .text:0x80112550; // type:function size:0x38 -hwIRQEnterCritical = .text:0x80112588; // type:function size:0x20 -hwIRQLeaveCritical = .text:0x801125A8; // type:function size:0x20 -salMalloc = .text:0x801125C8; // type:function size:0x28 -salFree = .text:0x801125F0; // type:function size:0x2C -sndAuxCallbackReverbSTD = .text:0x8011261C; // type:function size:0x5C -sndAuxCallbackPrepareReverbSTD = .text:0x80112678; // type:function size:0x3C -sndAuxCallbackShutdownReverbSTD = .text:0x801126B4; // type:function size:0x24 -ReverbSTDCreate = .text:0x801126D8; // type:function size:0x428 -HandleReverb = .text:0x80112B00; // type:function size:0x3B4 scope:local -ReverbSTDCallback = .text:0x80112EB4; // type:function size:0x24 -ReverbSTDFree = .text:0x80112ED8; // type:function size:0xBC -sndAuxCallbackReverbHI = .text:0x80112F94; // type:function size:0x5C -sndAuxCallbackPrepareReverbHI = .text:0x80112FF0; // type:function size:0x40 -sndAuxCallbackShutdownReverbHI = .text:0x80113030; // type:function size:0x24 -ReverbHICreate = .text:0x80113054; // type:function size:0x50C -DoCrossTalk = .text:0x80113560; // type:function size:0x190 scope:local -HandleReverb = .text:0x801136F0; // type:function size:0x50C -ReverbHICallback = .text:0x80113BFC; // type:function size:0xE0 -ReverbHIFree = .text:0x80113CDC; // type:function size:0xBC -sndAuxCallbackDelay = .text:0x80113D98; // type:function size:0x168 -sndAuxCallbackUpdateSettingsDelay = .text:0x80113F00; // type:function size:0x1D0 -sndAuxCallbackPrepareDelay = .text:0x801140D0; // type:function size:0x28 -sndAuxCallbackShutdownDelay = .text:0x801140F8; // type:function size:0x4C -do_src1 = .text:0x80114144; // type:function size:0x198 scope:local -do_src2 = .text:0x801142DC; // type:function size:0x1EC scope:local -sndAuxCallbackChorus = .text:0x801144C8; // type:function size:0x2BC -sndAuxCallbackPrepareChorus = .text:0x80114784; // type:function size:0x200 -sndAuxCallbackShutdownChorus = .text:0x80114984; // type:function size:0x28 -DBClose = .text:0x801149AC; // type:function size:0x4 scope:global align:4 -DBOpen = .text:0x801149B0; // type:function size:0x4 scope:global align:4 -DBWrite = .text:0x801149B4; // type:function size:0x260 scope:global align:4 -DBRead = .text:0x80114C14; // type:function size:0x8C scope:global align:4 -DBQueryData = .text:0x80114CA0; // type:function size:0x9C scope:global align:4 -DBInitInterrupts = .text:0x80114D3C; // type:function size:0x54 scope:global align:4 -DBInitComm = .text:0x80114D90; // type:function size:0x78 scope:global align:4 -DBGHandler = .text:0x80114E08; // type:function size:0x40 scope:global align:4 -MWCallback = .text:0x80114E48; // type:function size:0x3C scope:global align:4 -DBGReadStatus = .text:0x80114E84; // type:function size:0xAC scope:global align:4 -DBGWrite = .text:0x80114F30; // type:function size:0xDC scope:global align:4 -DBGRead = .text:0x8011500C; // type:function size:0xDC scope:global align:4 -DBGReadMailbox = .text:0x801150E8; // type:function size:0xAC scope:global align:4 -DBGEXIImm = .text:0x80115194; // type:function size:0x298 scope:global align:4 -EXI2_Init = .text:0x8011542C; // type:function size:0x4 scope:global -EXI2_EnableInterrupts = .text:0x80115430; // type:function size:0x4 scope:global -EXI2_Poll = .text:0x80115434; // type:function size:0x8 scope:global -EXI2_ReadN = .text:0x8011543C; // type:function size:0x8 scope:global -EXI2_WriteN = .text:0x80115444; // type:function size:0x8 scope:global -EXI2_Reserve = .text:0x8011544C; // type:function size:0x4 scope:global -EXI2_Unreserve = .text:0x80115450; // type:function size:0x4 scope:global -AMC_IsStub = .text:0x80115454; // type:function size:0x8 scope:global -Hu_IsStub = .text:0x8011545C; // type:function size:0x8 scope:weak -HuSetVecF = .text:0x80115464; // type:function size:0x10 -HuSubVecF = .text:0x80115474; // type:function size:0x34 -msmSysServer = .text:0x801154A8; // type:function size:0x6C scope:local -msmSysSetAuxParam = .text:0x80115514; // type:function size:0x27C scope:local -msmSysLoadBaseGroup = .text:0x80115790; // type:function size:0x15C scope:local -msmSysSearchGroupStack = .text:0x801158EC; // type:function size:0xB4 scope:local -msmSysGroupInit = .text:0x801159A0; // type:function size:0x31C scope:local -msmSysIrqDisable = .text:0x80115CBC; // type:function size:0x48 -msmSysIrqEnable = .text:0x80115D04; // type:function size:0x48 -msmSysCheckBaseGroup = .text:0x80115D4C; // type:function size:0x68 -msmSysGetGroupDataPtr = .text:0x80115DB4; // type:function size:0xD8 -msmSysCheckLoadGroupID = .text:0x80115E8C; // type:function size:0xFC -msmSysRegularProc = .text:0x80115F88; // type:function size:0x4 -msmSysGetOutputMode = .text:0x80115F8C; // type:function size:0x14 -msmSysSetOutputMode = .text:0x80115FA0; // type:function size:0xD8 -msmSysSetAux = .text:0x80116078; // type:function size:0x114 -msmSysGetSampSize = .text:0x8011618C; // type:function size:0x28 -msmSysDelGroupAll = .text:0x801161B4; // type:function size:0x140 -msmSysDelGroupBase = .text:0x801162F4; // type:function size:0x28C -msmSysLoadGroupBase = .text:0x80116580; // type:function size:0x298 -msmSysLoadGroupSet = .text:0x80116818; // type:function size:0x3F0 -msmSysLoadGroupSub = .text:0x80116C08; // type:function size:0x3B4 -msmSysLoadGroup = .text:0x80116FBC; // type:function size:0x278 -msmSysCheckInit = .text:0x80117234; // type:function size:0x20 -msmSysInit = .text:0x80117254; // type:function size:0x474 -msmMemFree = .text:0x801176C8; // type:function size:0xC8 -msmMemAlloc = .text:0x80117790; // type:function size:0x104 -msmMemInit = .text:0x80117894; // type:function size:0x64 -msmFioClose = .text:0x801178F8; // type:function size:0x30 -msmFioRead = .text:0x80117928; // type:function size:0x34 -msmFioOpen = .text:0x8011795C; // type:function size:0x2C -msmFioInit = .text:0x80117988; // type:function size:0x60 -msmMusPauseSub = .text:0x801179E8; // type:function size:0x154 scope:local -msmMusPauseFade = .text:0x80117B3C; // type:function size:0x174 scope:local -msmMusFade = .text:0x80117CB0; // type:function size:0x1BC scope:local -msmMusFdoutEnd = .text:0x80117E6C; // type:function size:0x4 -msmMusPeriodicProc = .text:0x80117E70; // type:function size:0x1CC -msmMusGetMidiCtrl = .text:0x8011803C; // type:function size:0x9C -msmMusGetNumPlay = .text:0x801180D8; // type:function size:0x38 -msmMusGetStatus = .text:0x80118110; // type:function size:0x3C -msmMusSetMasterVolume = .text:0x8011814C; // type:function size:0x30 -msmMusSetParam = .text:0x8011817C; // type:function size:0x16C -msmMusPauseAll = .text:0x801182E8; // type:function size:0x88 -msmMusPause = .text:0x80118370; // type:function size:0x74 -msmMusStopAll = .text:0x801183E4; // type:function size:0x134 -msmMusStop = .text:0x80118518; // type:function size:0xCC -msmMusPlay = .text:0x801185E4; // type:function size:0x328 -msmMusInit = .text:0x8011890C; // type:function size:0x174 -msmSeFade = .text:0x80118A80; // type:function size:0x250 scope:local -msmSePauseSub = .text:0x80118CD0; // type:function size:0x184 scope:local -msmSePeriodicProc = .text:0x80118E54; // type:function size:0x270 -msmSeGetIndexPtr = .text:0x801190C4; // type:function size:0x30 -msmSeDelListener = .text:0x801190F4; // type:function size:0x4C -msmSeUpdataListener = .text:0x80119140; // type:function size:0xD8 -msmSeSetListener = .text:0x80119218; // type:function size:0x13C -msmSeGetEntryID = .text:0x80119354; // type:function size:0x74 -msmSeGetNumPlay = .text:0x801193C8; // type:function size:0x38 -msmSeGetStatus = .text:0x80119400; // type:function size:0x60 -msmSeSetMasterVolume = .text:0x80119460; // type:function size:0x30 -msmSeSetParam = .text:0x80119490; // type:function size:0x320 -msmSePauseAll = .text:0x801197B0; // type:function size:0x80 -msmSeStopAll = .text:0x80119830; // type:function size:0x168 -msmSeStop = .text:0x80119998; // type:function size:0xFC -msmSePlay = .text:0x80119A94; // type:function size:0x480 -msmSeInit = .text:0x80119F14; // type:function size:0x130 -msmStreamGetStatus = .text:0x8011A044; // type:function size:0xC8 -msmStreamSetMasterVolume = .text:0x8011A10C; // type:function size:0x118 -msmStreamStopAll = .text:0x8011A224; // type:function size:0xE0 -msmStreamStop = .text:0x8011A304; // type:function size:0x204 -msmStreamPlay = .text:0x8011A508; // type:function size:0x88 -msmStreamPeriodicProc = .text:0x8011A590; // type:function size:0x8C -msmStreamSetOutputMode = .text:0x8011A61C; // type:function size:0x114 -msmStreamAmemFree = .text:0x8011A730; // type:function size:0x68 -msmStreamAmemAlloc = .text:0x8011A798; // type:function size:0x10C -msmStreamInit = .text:0x8011A8A4; // type:function size:0x2A8 -msmStreamPauseOff = .text:0x8011AB4C; // type:function size:0x2B8 scope:local -msmStreamPauseOn = .text:0x8011AE04; // type:function size:0x1AC scope:local -msmStreamPauseFade = .text:0x8011AFB0; // type:function size:0x2E8 scope:local -msmStreamFade = .text:0x8011B298; // type:function size:0x33C scope:local -msmStreamStopSub = .text:0x8011B5D4; // type:function size:0x13C scope:local -msmStreamSetParamSub = .text:0x8011B710; // type:function size:0xE0 scope:local -msmStreamPackStartStereo = .text:0x8011B7F0; // type:function size:0x448 scope:local -msmStreamPackStartMono = .text:0x8011BC38; // type:function size:0x2DC scope:local -msmStreamSlotOff = .text:0x8011BF14; // type:function size:0xD0 scope:local -msmStreamData = .text:0x8011BFE4; // type:function size:0x320 scope:local -msmStreamDvdCallback = .text:0x8011C304; // type:function size:0x4A8 scope:local -msmStreamDvdCallback2 = .text:0x8011C7AC; // type:function size:0x188 scope:local -msmStreamUpdateFunc = .text:0x8011C934; // type:function size:0x17C scope:local -msmStreamSlotInit = .text:0x8011CAB0; // type:function size:0x214 scope:local -_kerent = .text:0x8011CCC4; // type:function size:0xFE4 scope:global -_ctors = .ctors:0x8011DCC0; // type:label scope:global data:4byte -__init_cpp_exceptions_reference = .ctors:0x8011DCC0; // type:object size:0x4 scope:global -_dtors = .dtors:0x8011DCE0; // type:label scope:global data:4byte -__destroy_global_chain_reference = .dtors:0x8011DCE0; // type:object size:0x4 scope:global -__fini_cpp_exceptions_reference = .dtors:0x8011DCE4; // type:object size:0x4 scope:global -lbl_8011DD00 = .rodata:0x8011DD00; // type:object size:0x10 scope:local data:4byte -lbl_8011DD10 = .rodata:0x8011DD10; // type:object size:0x10 data:4byte -lbl_8011DD20 = .rodata:0x8011DD20; // type:object size:0xC data:4byte -lbl_8011DD30 = .rodata:0x8011DD30; // type:object size:0x20 data:byte -lbl_8011DD50 = .rodata:0x8011DD50; // type:object size:0x10 data:4byte -lbl_8011DD60 = .rodata:0x8011DD60; // type:object size:0x24 data:4byte -lbl_8011DD84 = .rodata:0x8011DD84; // type:object size:0xC data:4byte -lbl_8011DD90 = .rodata:0x8011DD90; // type:object size:0x20 data:4byte -lbl_8011DDB0 = .rodata:0x8011DDB0; // type:object size:0x20 data:4byte -lbl_8011DDD0 = .rodata:0x8011DDD0; // type:object size:0x5C data:4byte -lbl_8011DE2C = .rodata:0x8011DE2C; // type:object size:0x24 data:4byte -lbl_8011DE50 = .rodata:0x8011DE50; // type:object size:0x10 data:4byte -lbl_8011DE60 = .rodata:0x8011DE60; // type:object size:0x38 data:4byte -lbl_8011DE98 = .rodata:0x8011DE98; // type:object size:0x38 data:4byte -lbl_8011DED0 = .rodata:0x8011DED0; // type:object size:0x20 data:4byte -lbl_8011DEF0 = .rodata:0x8011DEF0; // type:object size:0x10 data:4byte -lbl_8011DF00 = .rodata:0x8011DF00; // type:object size:0x90 data:4byte -lbl_8011DF90 = .rodata:0x8011DF90; // type:object size:0x20 data:4byte -lbl_8011DFB0 = .rodata:0x8011DFB0; // type:object size:0x20 data:4byte -pickSpr = .rodata:0x8011DFD0; // type:object size:0x20 scope:local -handMdl = .rodata:0x8011DFF0; // type:object size:0x20 scope:local -ticketSpr = .rodata:0x8011E010; // type:object size:0x10 scope:local -lbl_8011E020 = .rodata:0x8011E020; // type:object size:0x20 data:4byte -lbl_8011E040 = .rodata:0x8011E040; // type:object size:0x24 -lbl_8011E064 = .rodata:0x8011E064; // type:object size:0x4C -lbl_8011E0B0 = .rodata:0x8011E0B0; // type:object size:0x10 data:4byte -lbl_8011E0C0 = .rodata:0x8011E0C0; // type:object size:0x54 data:4byte -lbl_8011E118 = .rodata:0x8011E118; // type:object size:0x38 data:4byte -lbl_8011E150 = .rodata:0x8011E150; // type:object size:0x3C data:4byte -lbl_8011E18C = .rodata:0x8011E18C; // type:object size:0x14 data:2byte -lbl_8011E1A0 = .rodata:0x8011E1A0; // type:object size:0x20 data:4byte -lbl_8011E1C0 = .rodata:0x8011E1C0; // type:object size:0x20 data:4byte -lbl_8011E1E0 = .rodata:0x8011E1E0; // type:object size:0x20 data:4byte -lbl_8011E200 = .rodata:0x8011E200; // type:object size:0x20 data:4byte -lbl_8011E220 = .rodata:0x8011E220; // type:object size:0xC data:4byte -lbl_8011E22C = .rodata:0x8011E22C; // type:object size:0xC data:4byte -lbl_8011E238 = .rodata:0x8011E238; // type:object size:0xC data:4byte -lbl_8011E244 = .rodata:0x8011E244; // type:object size:0xC data:4byte -bowserMotTbl = .rodata:0x8011E250; // type:object size:0x18 scope:local -lbl_8011E268 = .rodata:0x8011E268; // type:object size:0x10 data:4byte -lbl_8011E278 = .rodata:0x8011E278; // type:object size:0x60 data:4byte -lbl_8011E2D8 = .rodata:0x8011E2D8; // type:object size:0xC data:byte -miniBowserMotTbl = .rodata:0x8011E2E4; // type:object size:0x1C scope:local -lbl_8011E300 = .rodata:0x8011E300; // type:object size:0x24 data:4byte -lbl_8011E324 = .rodata:0x8011E324; // type:object size:0x20 data:4byte -lbl_8011E344 = .rodata:0x8011E344; // type:object size:0x2C data:4byte -lbl_8011E370 = .rodata:0x8011E370; // type:object size:0x10 data:4byte -lbl_8011E380 = .rodata:0x8011E380; // type:object size:0x24 data:4byte -lbl_8011E3A8 = .rodata:0x8011E3A8; // type:object size:0x24 data:4byte -lbl_8011E3D0 = .rodata:0x8011E3D0; // type:object size:0x20 data:4byte -lbl_8011E3F0 = .rodata:0x8011E3F0; // type:object size:0x20 data:4byte -lbl_8011E410 = .rodata:0x8011E410; // type:object size:0x20 data:4byte -lbl_8011E430 = .rodata:0x8011E430; // type:object size:0x10 data:4byte -__THPJpegNaturalOrder = .rodata:0x8011E440; // type:object size:0x50 data:byte -__THPAANScaleFactor = .rodata:0x8011E490; // type:object size:0x40 data:byte -lbl_8011E4D0 = .rodata:0x8011E4D0; // type:object size:0x10 -lbl_8011E4E0 = .rodata:0x8011E4E0; // type:object size:0x10 -__constants = .rodata:0x8011E4F0; // type:object size:0x18 scope:local data:double -lbl_8011E508 = .rodata:0x8011E508; // type:object size:0x54 -lbl_8011E55C = .rodata:0x8011E55C; // type:object size:0x14 -lbl_8011E570 = .rodata:0x8011E570; // type:object size:0x10 -lbl_8011E580 = .rodata:0x8011E580; // type:object size:0x20 -lbl_8011E5A0 = .rodata:0x8011E5A0; // type:object size:0x38 -lbl_8011E5D8 = .rodata:0x8011E5D8; // type:object size:0x40 -fix_pool_sizes = .rodata:0x8011E618; // type:object size:0x18 scope:local data:4byte -lbl_8011E630 = .rodata:0x8011E630; // type:object size:0xE0 -@stringBase0 = .rodata:0x8011E710; // type:object size:0x25 scope:local data:string_table -Zero = .rodata:0x8011E738; // type:object size:0x10 scope:local -bp = .rodata:0x8011E748; // type:object size:0x10 scope:local data:double -dp_h = .rodata:0x8011E758; // type:object size:0x10 scope:local -dp_l = .rodata:0x8011E768; // type:object size:0x10 scope:local -two_over_pi = .rodata:0x8011E778; // type:object size:0x108 scope:local -npio2_hw = .rodata:0x8011E880; // type:object size:0x80 scope:local -init_jk = .rodata:0x8011E900; // type:object size:0x10 scope:local -PIo2 = .rodata:0x8011E910; // type:object size:0x40 scope:local data:double -T = .rodata:0x8011E950; // type:object size:0x68 scope:local data:double -atanhi = .rodata:0x8011E9B8; // type:object size:0x20 scope:local -atanlo = .rodata:0x8011E9D8; // type:object size:0x20 scope:local -aT = .rodata:0x8011E9F8; // type:object size:0x58 scope:local -@62 = .rodata:0x8011EA50; // type:object size:0x1C scope:local data:string -lbl_8011EA70 = .rodata:0x8011EA70; // type:object size:0x20 -gTRKMemMap = .rodata:0x8011EA90; // type:object size:0x10 data:4byte -lbl_8011EAA0 = .rodata:0x8011EAA0; // type:object size:0x28 data:4byte -lbl_8011EAC8 = .rodata:0x8011EAC8; // type:object size:0x28 data:4byte -lbl_8011EAF0 = .rodata:0x8011EAF0; // type:object size:0x28 data:4byte -@154 = .rodata:0x8011EB18; // type:object size:0x21 scope:local data:string -@155 = .rodata:0x8011EB3C; // type:object size:0x24 scope:local data:string -dspMixerCycles = .rodata:0x8011EB60; // type:object size:0x40 -pbOffsets$890 = .rodata:0x8011EBA0; // type:object size:0x18 scope:local -inpColdMIDIDefaults = .rodata:0x8011EBB8; // type:object size:0x88 scope:local -inpWarmMIDIDefaults = .rodata:0x8011EC40; // type:object size:0x88 scope:local data:byte -itdOffTab = .rodata:0x8011ECC8; // type:object size:0x100 scope:local -lbl_8011EDE0 = .data:0x8011EDE0; // type:object size:0x10 scope:local data:string -chanTbl = .data:0x8011EDF0; // type:object size:0x10 scope:local -correctDiskID = .data:0x8011EE00; // type:object size:0x124 scope:local -jumptable_8011EF24 = .data:0x8011EF24; // type:object size:0x34 scope:local -lbl_8011EF58 = .data:0x8011EF58; // type:object size:0x11 data:string -lbl_8011EF69 = .data:0x8011EF69; // type:object size:0x11 data:string -lbl_8011EF7A = .data:0x8011EF7A; // type:object size:0x10 data:string -lbl_8011EF8A = .data:0x8011EF8A; // type:object size:0x10 data:string -lbl_8011EF9A = .data:0x8011EF9A; // type:object size:0x14 data:string -lbl_8011EFAE = .data:0x8011EFAE; // type:object size:0x11 data:string -lbl_8011EFBF = .data:0x8011EFBF; // type:object size:0x10 data:string -lbl_8011EFCF = .data:0x8011EFCF; // type:object size:0xF data:string -lbl_8011EFDE = .data:0x8011EFDE; // type:object size:0x10 data:string -lbl_8011EFEE = .data:0x8011EFEE; // type:object size:0x13 data:string -lbl_8011F001 = .data:0x8011F001; // type:object size:0xF data:string -lbl_8011F010 = .data:0x8011F010; // type:object size:0x13 data:string -lbl_8011F023 = .data:0x8011F023; // type:object size:0x13 data:string -lbl_8011F036 = .data:0x8011F036; // type:object size:0x12 data:string -lbl_8011F048 = .data:0x8011F048; // type:object size:0x10 data:string -lbl_8011F058 = .data:0x8011F058; // type:object size:0x14 data:string -lbl_8011F06C = .data:0x8011F06C; // type:object size:0x14 data:string -lbl_8011F080 = .data:0x8011F080; // type:object size:0x13 data:string -lbl_8011F093 = .data:0x8011F093; // type:object size:0x10 data:string -lbl_8011F0A3 = .data:0x8011F0A3; // type:object size:0x11 data:string -lbl_8011F0B4 = .data:0x8011F0B4; // type:object size:0xE data:string -lbl_8011F0C2 = .data:0x8011F0C2; // type:object size:0x12 data:string -lbl_8011F0D4 = .data:0x8011F0D4; // type:object size:0x11 data:string -lbl_8011F0E5 = .data:0x8011F0E5; // type:object size:0xF data:string -lbl_8011F0F4 = .data:0x8011F0F4; // type:object size:0x13 data:string -lbl_8011F107 = .data:0x8011F107; // type:object size:0x13 data:string -lbl_8011F11A = .data:0x8011F11A; // type:object size:0x12 data:string -lbl_8011F12C = .data:0x8011F12C; // type:object size:0xE data:string -lbl_8011F13A = .data:0x8011F13A; // type:object size:0xE data:string -lbl_8011F148 = .data:0x8011F148; // type:object size:0xE data:string -lbl_8011F156 = .data:0x8011F156; // type:object size:0xE data:string -lbl_8011F164 = .data:0x8011F164; // type:object size:0xE data:string -lbl_8011F172 = .data:0x8011F172; // type:object size:0xE data:string -lbl_8011F180 = .data:0x8011F180; // type:object size:0xE data:string -lbl_8011F18E = .data:0x8011F18E; // type:object size:0xE data:string -lbl_8011F19C = .data:0x8011F19C; // type:object size:0xE data:string -lbl_8011F1AA = .data:0x8011F1AA; // type:object size:0xE data:string -lbl_8011F1B8 = .data:0x8011F1B8; // type:object size:0xE data:string -lbl_8011F1C6 = .data:0x8011F1C6; // type:object size:0xE data:string -lbl_8011F1D4 = .data:0x8011F1D4; // type:object size:0xE data:string -lbl_8011F1E2 = .data:0x8011F1E2; // type:object size:0xE data:string -lbl_8011F1F0 = .data:0x8011F1F0; // type:object size:0xE data:string -lbl_8011F1FE = .data:0x8011F1FE; // type:object size:0xE data:string -lbl_8011F20C = .data:0x8011F20C; // type:object size:0xE data:string -lbl_8011F21A = .data:0x8011F21A; // type:object size:0xE data:string -lbl_8011F228 = .data:0x8011F228; // type:object size:0xE data:string -lbl_8011F236 = .data:0x8011F236; // type:object size:0xE data:string -lbl_8011F244 = .data:0x8011F244; // type:object size:0xE data:string -lbl_8011F252 = .data:0x8011F252; // type:object size:0xE data:string -lbl_8011F260 = .data:0x8011F260; // type:object size:0xE data:string -lbl_8011F26E = .data:0x8011F26E; // type:object size:0xE data:string -lbl_8011F27C = .data:0x8011F27C; // type:object size:0xE data:string -lbl_8011F28A = .data:0x8011F28A; // type:object size:0xE data:string -lbl_8011F298 = .data:0x8011F298; // type:object size:0xE data:string -lbl_8011F2A6 = .data:0x8011F2A6; // type:object size:0xE data:string -lbl_8011F2B4 = .data:0x8011F2B4; // type:object size:0xE data:string -lbl_8011F2C2 = .data:0x8011F2C2; // type:object size:0xE data:string -lbl_8011F2D0 = .data:0x8011F2D0; // type:object size:0xE data:string -lbl_8011F2DE = .data:0x8011F2DE; // type:object size:0xE data:string -lbl_8011F2EC = .data:0x8011F2EC; // type:object size:0xE data:string -lbl_8011F2FA = .data:0x8011F2FA; // type:object size:0xE data:string -lbl_8011F308 = .data:0x8011F308; // type:object size:0xE data:string -lbl_8011F316 = .data:0x8011F316; // type:object size:0xE data:string -lbl_8011F324 = .data:0x8011F324; // type:object size:0xE data:string -lbl_8011F332 = .data:0x8011F332; // type:object size:0xE data:string -lbl_8011F340 = .data:0x8011F340; // type:object size:0xE data:string -lbl_8011F34E = .data:0x8011F34E; // type:object size:0xE data:string -lbl_8011F35C = .data:0x8011F35C; // type:object size:0xE data:string -lbl_8011F36A = .data:0x8011F36A; // type:object size:0xE data:string -lbl_8011F378 = .data:0x8011F378; // type:object size:0xE data:string -lbl_8011F386 = .data:0x8011F386; // type:object size:0xE data:string -lbl_8011F394 = .data:0x8011F394; // type:object size:0xE data:string -lbl_8011F3A2 = .data:0x8011F3A2; // type:object size:0xE data:string -lbl_8011F3B0 = .data:0x8011F3B0; // type:object size:0xE data:string -lbl_8011F3BE = .data:0x8011F3BE; // type:object size:0xE data:string -lbl_8011F3CC = .data:0x8011F3CC; // type:object size:0xE data:string -lbl_8011F3DA = .data:0x8011F3DA; // type:object size:0xE data:string -lbl_8011F3E8 = .data:0x8011F3E8; // type:object size:0xE data:string -lbl_8011F3F6 = .data:0x8011F3F6; // type:object size:0xE data:string -lbl_8011F404 = .data:0x8011F404; // type:object size:0xE data:string -lbl_8011F412 = .data:0x8011F412; // type:object size:0xE data:string -lbl_8011F420 = .data:0x8011F420; // type:object size:0xE data:string -lbl_8011F42E = .data:0x8011F42E; // type:object size:0xE data:string -lbl_8011F43C = .data:0x8011F43C; // type:object size:0xE data:string -lbl_8011F44A = .data:0x8011F44A; // type:object size:0xE data:string -lbl_8011F458 = .data:0x8011F458; // type:object size:0xE data:string -lbl_8011F466 = .data:0x8011F466; // type:object size:0xE data:string -lbl_8011F474 = .data:0x8011F474; // type:object size:0xE data:string -lbl_8011F482 = .data:0x8011F482; // type:object size:0xE data:string -lbl_8011F490 = .data:0x8011F490; // type:object size:0xE data:string -lbl_8011F49E = .data:0x8011F49E; // type:object size:0xE data:string -lbl_8011F4AC = .data:0x8011F4AC; // type:object size:0xE data:string -lbl_8011F4BA = .data:0x8011F4BA; // type:object size:0xF data:string -lbl_8011F4C9 = .data:0x8011F4C9; // type:object size:0x13 data:string -lbl_8011F4DC = .data:0x8011F4DC; // type:object size:0x13 data:string -lbl_8011F4EF = .data:0x8011F4EF; // type:object size:0x12 data:string -lbl_8011F501 = .data:0x8011F501; // type:object size:0xE data:string -lbl_8011F50F = .data:0x8011F50F; // type:object size:0x11 data:string -lbl_8011F520 = .data:0x8011F520; // type:object size:0x10 data:string -lbl_8011F530 = .data:0x8011F530; // type:object size:0x11 data:string -lbl_8011F541 = .data:0x8011F541; // type:object size:0xE data:string -lbl_8011F54F = .data:0x8011F54F; // type:object size:0x10 data:string -lbl_8011F55F = .data:0x8011F55F; // type:object size:0x11 data:string -lbl_8011F570 = .data:0x8011F570; // type:object size:0x11 data:string -lbl_8011F581 = .data:0x8011F581; // type:object size:0x11 data:string -lbl_8011F592 = .data:0x8011F592; // type:object size:0x10 data:string -lbl_8011F5A2 = .data:0x8011F5A2; // type:object size:0xF data:string -lbl_8011F5B1 = .data:0x8011F5B1; // type:object size:0x13 data:string -lbl_8011F5C4 = .data:0x8011F5C4; // type:object size:0x13 data:string -lbl_8011F5D7 = .data:0x8011F5D7; // type:object size:0x12 data:string -lbl_8011F5E9 = .data:0x8011F5E9; // type:object size:0x11 data:string -lbl_8011F5FA = .data:0x8011F5FA; // type:object size:0x10 data:string -lbl_8011F60A = .data:0x8011F60A; // type:object size:0xD data:string -lbl_8011F617 = .data:0x8011F617; // type:object size:0x11 data:string -lbl_8011F628 = .data:0x8011F628; // type:object size:0xF data:string -lbl_8011F637 = .data:0x8011F637; // type:object size:0xF data:string -lbl_8011F646 = .data:0x8011F646; // type:object size:0xF data:string -lbl_8011F655 = .data:0x8011F655; // type:object size:0xD data:string -lbl_8011F662 = .data:0x8011F662; // type:object size:0xD data:string -lbl_8011F66F = .data:0x8011F66F; // type:object size:0xD data:string -lbl_8011F67C = .data:0x8011F67C; // type:object size:0xD data:string -lbl_8011F689 = .data:0x8011F689; // type:object size:0xD data:string -lbl_8011F696 = .data:0x8011F696; // type:object size:0xD data:string -lbl_8011F6A3 = .data:0x8011F6A3; // type:object size:0xD data:string -lbl_8011F6B0 = .data:0x8011F6B0; // type:object size:0xD data:string -lbl_8011F6BD = .data:0x8011F6BD; // type:object size:0xD data:string -lbl_8011F6CA = .data:0x8011F6CA; // type:object size:0x11 data:string -lbl_8011F6DB = .data:0x8011F6DB; // type:object size:0x15 data:string -lbl_8011F6F0 = .data:0x8011F6F0; // type:object size:0x15 data:string -lbl_8011F705 = .data:0x8011F705; // type:object size:0x14 data:string -lbl_8011F719 = .data:0x8011F719; // type:object size:0xF data:string -lbl_8011F728 = .data:0x8011F728; // type:object size:0x13 data:string -lbl_8011F73B = .data:0x8011F73B; // type:object size:0x13 data:string -lbl_8011F74E = .data:0x8011F74E; // type:object size:0x12 data:string -lbl_8011F760 = .data:0x8011F760; // type:object size:0xD data:string -lbl_8011F76D = .data:0x8011F76D; // type:object size:0xF data:string -lbl_8011F77C = .data:0x8011F77C; // type:object size:0x13 data:string -lbl_8011F78F = .data:0x8011F78F; // type:object size:0x13 data:string -lbl_8011F7A2 = .data:0x8011F7A2; // type:object size:0x12 data:string -lbl_8011F7B4 = .data:0x8011F7B4; // type:object size:0x10 -DataDirStat = .data:0x8011F7C4; // type:object size:0x468 scope:local data:4byte -lbl_8011FC2C = .data:0x8011FC2C; // type:object size:0x1D data:string -lbl_8011FC49 = .data:0x8011FC49; // type:object size:0x1F data:string -lbl_8011FC68 = .data:0x8011FC68; // type:object size:0x1D data:string -lbl_8011FC85 = .data:0x8011FC85; // type:object size:0x12 data:string -lbl_8011FC97 = .data:0x8011FC97; // type:object size:0xD data:string -lbl_8011FCA4 = .data:0x8011FCA4; // type:object size:0x1A data:string -lbl_8011FCBE = .data:0x8011FCBE; // type:object size:0x122 -lbl_8011FDE0 = .data:0x8011FDE0; // type:object size:0x20 -ank8x8_4b = .data:0x8011FE00; // type:object size:0x2000 align:32 -lbl_80121E00 = .data:0x80121E00; // type:object size:0x150 scope:local -HeapSizeTbl = .data:0x80121F50; // type:object size:0x78 scope:local -lbl_80121FC8 = .data:0x80121FC8; // type:object size:0x50 scope:local -lbl_80122018 = .data:0x80122018; // type:object size:0x128 scope:local -fcoltbl = .data:0x80122140; // type:object size:0x40 scope:local align:32 -lbl_80122180 = .data:0x80122180; // type:object size:0x1F data:string -lbl_8012219F = .data:0x8012219F; // type:object size:0x31 -lbl_801221D0 = .data:0x801221D0; // type:object size:0x12 -bitSizeTbl = .data:0x801221E2; // type:object size:0x16 scope:local -lbl_801221F8 = .data:0x801221F8; // type:object size:0xF8 scope:local -jumptable_801222F0 = .data:0x801222F0; // type:object size:0x2C scope:local -jumptable_80122320 = .data:0x80122320; // type:object size:0x28 scope:local -jumptable_80122348 = .data:0x80122348; // type:object size:0x2C scope:local -lbl_80122374 = .data:0x80122374; // type:object size:0x1C -texMtxTbl = .data:0x80122390; // type:object size:0xC data:byte -jumptable_8012239C = .data:0x8012239C; // type:object size:0x28 scope:local -lbl_801223C4 = .data:0x801223C4; // type:object size:0x18 data:string -jumptable_801223DC = .data:0x801223DC; // type:object size:0x28 scope:local -jumptable_80122404 = .data:0x80122404; // type:object size:0x28 scope:local -refMtx = .data:0x8012242C; // type:object size:0x30 scope:local -kColorSelTbl = .data:0x8012245C; // type:object size:0x30 scope:local -kColorTbl = .data:0x8012248C; // type:object size:0x10 scope:local -kColorSelTbl2 = .data:0x8012249C; // type:object size:0x10 scope:local -kColorSelATbl = .data:0x801224AC; // type:object size:0x10 scope:local -lbl_801224BC = .data:0x801224BC; // type:object size:0x14 -jumptable_801224D0 = .data:0x801224D0; // type:object size:0x30 scope:local -jumptable_80122500 = .data:0x80122500; // type:object size:0x28 scope:local -jumptable_80122528 = .data:0x80122528; // type:object size:0x28 scope:local -lbl_80122550 = .data:0x80122550; // type:object size:0x19 data:string -lbl_80122569 = .data:0x80122569; // type:object size:0xA data:string -lbl_80122573 = .data:0x80122573; // type:object size:0x2D -refMapData0 = .data:0x801225A0; // type:object size:0x1240 align:32 noreloc -refMapData1 = .data:0x801237E0; // type:object size:0x1100 align:32 noreloc -refMapData2 = .data:0x801248E0; // type:object size:0x2080 align:32 noreloc -refMapData3 = .data:0x80126960; // type:object size:0x2080 align:32 noreloc -refMapData4 = .data:0x801289E0; // type:object size:0x2080 align:32 noreloc -toonMapData = .data:0x8012AA60; // type:object size:0x880 align:32 noreloc -toonMapData2 = .data:0x8012B2E0; // type:object size:0x1080 align:32 noreloc -hiliteData = .data:0x8012C360; // type:object size:0x480 align:32 noreloc -hiliteData2 = .data:0x8012C7E0; // type:object size:0x480 align:32 noreloc -hiliteData3 = .data:0x8012CC60; // type:object size:0x480 align:32 noreloc -hiliteData4 = .data:0x8012D0E0; // type:object size:0x480 align:32 noreloc -lbl_8012D560 = .data:0x8012D560; // type:object size:0x1B data:string -lbl_8012D57B = .data:0x8012D57B; // type:object size:0x16 data:string -lbl_8012D591 = .data:0x8012D591; // type:object size:0x21 data:string -lbl_8012D5B2 = .data:0x8012D5B2; // type:object size:0x26 -defCamera = .data:0x8012D5D8; // type:object size:0x58 data:4byte -lbl_8012D630 = .data:0x8012D630; // type:object size:0x28 -lbl_8012D658 = .data:0x8012D658; // type:object size:0x1C data:string -lbl_8012D674 = .data:0x8012D674; // type:object size:0x1C -jumptable_8012D690 = .data:0x8012D690; // type:object size:0x2C scope:local -jumptable_8012D6BC = .data:0x8012D6BC; // type:object size:0x68 scope:local -jumptable_8012D724 = .data:0x8012D724; // type:object size:0xF0 scope:local -jumptable_8012D814 = .data:0x8012D814; // type:object size:0x20 scope:local -lbl_8012D838 = .data:0x8012D838; // type:object size:0x15 data:string -lbl_8012D84D = .data:0x8012D84D; // type:object size:0x1F data:string -lbl_8012D86C = .data:0x8012D86C; // type:object size:0x18 -basePos = .data:0x8012D884; // type:object size:0x30 scope:local -baseST = .data:0x8012D8B4; // type:object size:0x20 scope:local -jitterTbl = .data:0x8012D8D4; // type:object size:0x24 scope:local -jumptable_8012D8F8 = .data:0x8012D8F8; // type:object size:0x1C scope:local -lbl_8012D918 = .data:0x8012D918; // type:object size:0xCA -lbl_8012D9E2 = .data:0x8012D9E2; // type:object size:0x1C data:string -lbl_8012D9FE = .data:0x8012D9FE; // type:object size:0x1C data:string -lbl_8012DA1A = .data:0x8012DA1A; // type:object size:0x1D data:string -lbl_8012DA37 = .data:0x8012DA37; // type:object size:0x18 data:string -lbl_8012DA4F = .data:0x8012DA4F; // type:object size:0xC data:string -lbl_8012DA5B = .data:0x8012DA5B; // type:object size:0x45 -lbl_8012DAA0 = .data:0x8012DAA0; // type:object size:0x45 -lbl_8012DAE5 = .data:0x8012DAE5; // type:object size:0x19 data:string -lbl_8012DAFE = .data:0x8012DAFE; // type:object size:0x17 data:string -lbl_8012DB15 = .data:0x8012DB15; // type:object size:0x1B3 -XFB_Colors = .data:0x8012DCC8; // type:object size:0xF scope:local data:byte -Ascii8x8_1bpp = .data:0x8012DCD7; // type:object size:0x800 scope:local align:1 -lbl_8012E4D7 = .data:0x8012E4D7; // type:object size:0x19 -lbl_8012E4F0 = .data:0x8012E4F0; // type:object size:0x21A -lbl_8012E70A = .data:0x8012E70A; // type:object size:0xB data:string -lbl_8012E715 = .data:0x8012E715; // type:object size:0x273 -lbl_8012E988 = .data:0x8012E988; // type:object size:0x12 data:string -lbl_8012E99A = .data:0x8012E99A; // type:object size:0xD6 -sndGrpTable = .data:0x8012EA70; // type:object size:0x5B0 -lbl_8012F020 = .data:0x8012F020; // type:object size:0x94 -lbl_8012F0B4 = .data:0x8012F0B4; // type:object size:0x11 data:string -lbl_8012F0C5 = .data:0x8012F0C5; // type:object size:0x3A -lbl_8012F0FF = .data:0x8012F0FF; // type:object size:0x31 -seqInfoTbl = .data:0x8012F130; // type:object size:0x1DC scope:local -seqType2SprTbl = .data:0x8012F30C; // type:object size:0x18 scope:local -mgSeqTypeTbl = .data:0x8012F324; // type:object size:0x12 scope:local -lbl_8012F336 = .data:0x8012F336; // type:object size:0x53 scope:local data:string -lbl_8012F389 = .data:0x8012F389; // type:object size:0x9 scope:local data:string -lbl_8012F392 = .data:0x8012F392; // type:object size:0x9 scope:local data:string -seqFontAlphaTbl = .data:0x8012F39B; // type:object size:0x35 scope:local data:string -seqFontKanaTbl = .data:0x8012F3D0; // type:object size:0x52 scope:local data:string -seqFontNumTbl = .data:0x8012F422; // type:object size:0xB scope:local data:string -letterBufTbl = .data:0x8012F430; // type:object size:0x14 scope:local -wordMgTbl = .data:0x8012F444; // type:object size:0x18 scope:local -letterOfs$909 = .data:0x8012F45C; // type:object size:0x40 scope:local -letterOfs$1386 = .data:0x8012F49C; // type:object size:0x1C scope:local -letterOfs$1761 = .data:0x8012F4B8; // type:object size:0x38 scope:local -lbl_8012F4F0 = .data:0x8012F4F0; // type:object size:0xA scope:local data:string -winCharNameTbl = .data:0x8012F4FC; // type:object size:0x78 scope:local -lbl_8012F574 = .data:0x8012F574; // type:object size:0xA scope:local data:string -winWordTbl = .data:0x8012F580; // type:object size:0x18 scope:local -winPosOfs = .data:0x8012F598; // type:object size:0x50 scope:local -practiceTbl = .data:0x8012F5E8; // type:object size:0xAC scope:local -yPosTbl$2366 = .data:0x8012F694; // type:object size:0xC scope:local -seqStartFXTbl = .data:0x8012F6A0; // type:object size:0xF0 scope:local -lbl_8012F790 = .data:0x8012F790; // type:object size:0x15 data:string -lbl_8012F7A5 = .data:0x8012F7A5; // type:object size:0x10 data:string -lbl_8012F7B5 = .data:0x8012F7B5; // type:object size:0x13 data:string -lbl_8012F7C8 = .data:0x8012F7C8; // type:object size:0x10 data:string -lbl_8012F7D8 = .data:0x8012F7D8; // type:object size:0x10 data:string -lbl_8012F7E8 = .data:0x8012F7E8; // type:object size:0x10 data:string -lbl_8012F7F8 = .data:0x8012F7F8; // type:object size:0x10 data:string -lbl_8012F808 = .data:0x8012F808; // type:object size:0x10 data:string -lbl_8012F818 = .data:0x8012F818; // type:object size:0x10 data:string -lbl_8012F828 = .data:0x8012F828; // type:object size:0x10 data:string -lbl_8012F838 = .data:0x8012F838; // type:object size:0x10 data:string -lbl_8012F848 = .data:0x8012F848; // type:object size:0x10 data:string -lbl_8012F858 = .data:0x8012F858; // type:object size:0x10 data:string -lbl_8012F868 = .data:0x8012F868; // type:object size:0x10 data:string -lbl_8012F878 = .data:0x8012F878; // type:object size:0x10 data:string -lbl_8012F888 = .data:0x8012F888; // type:object size:0x10 data:string -lbl_8012F898 = .data:0x8012F898; // type:object size:0x10 data:string -lbl_8012F8A8 = .data:0x8012F8A8; // type:object size:0x10 data:string -lbl_8012F8B8 = .data:0x8012F8B8; // type:object size:0x10 data:string -lbl_8012F8C8 = .data:0x8012F8C8; // type:object size:0x10 data:string -lbl_8012F8D8 = .data:0x8012F8D8; // type:object size:0x10 data:string -lbl_8012F8E8 = .data:0x8012F8E8; // type:object size:0x10 data:string -lbl_8012F8F8 = .data:0x8012F8F8; // type:object size:0x10 data:string -lbl_8012F908 = .data:0x8012F908; // type:object size:0x10 data:string -lbl_8012F918 = .data:0x8012F918; // type:object size:0x10 data:string -lbl_8012F928 = .data:0x8012F928; // type:object size:0x10 data:string -lbl_8012F938 = .data:0x8012F938; // type:object size:0x10 data:string -lbl_8012F948 = .data:0x8012F948; // type:object size:0x10 data:string -lbl_8012F958 = .data:0x8012F958; // type:object size:0x10 data:string -lbl_8012F968 = .data:0x8012F968; // type:object size:0x10 data:string -lbl_8012F978 = .data:0x8012F978; // type:object size:0x10 data:string -lbl_8012F988 = .data:0x8012F988; // type:object size:0x10 data:string -lbl_8012F998 = .data:0x8012F998; // type:object size:0x10 data:string -lbl_8012F9A8 = .data:0x8012F9A8; // type:object size:0x10 data:string -lbl_8012F9B8 = .data:0x8012F9B8; // type:object size:0x10 data:string -lbl_8012F9C8 = .data:0x8012F9C8; // type:object size:0x10 data:string -lbl_8012F9D8 = .data:0x8012F9D8; // type:object size:0x10 data:string -lbl_8012F9E8 = .data:0x8012F9E8; // type:object size:0x10 data:string -lbl_8012F9F8 = .data:0x8012F9F8; // type:object size:0x10 data:string -lbl_8012FA08 = .data:0x8012FA08; // type:object size:0x10 data:string -lbl_8012FA18 = .data:0x8012FA18; // type:object size:0x10 data:string -lbl_8012FA28 = .data:0x8012FA28; // type:object size:0x10 data:string -lbl_8012FA38 = .data:0x8012FA38; // type:object size:0x10 data:string -lbl_8012FA48 = .data:0x8012FA48; // type:object size:0x10 data:string -lbl_8012FA58 = .data:0x8012FA58; // type:object size:0x10 data:string -lbl_8012FA68 = .data:0x8012FA68; // type:object size:0x10 data:string -lbl_8012FA78 = .data:0x8012FA78; // type:object size:0x10 data:string -lbl_8012FA88 = .data:0x8012FA88; // type:object size:0x10 data:string -lbl_8012FA98 = .data:0x8012FA98; // type:object size:0x10 data:string -lbl_8012FAA8 = .data:0x8012FAA8; // type:object size:0x10 data:string -lbl_8012FAB8 = .data:0x8012FAB8; // type:object size:0x10 data:string -lbl_8012FAC8 = .data:0x8012FAC8; // type:object size:0x10 data:string -lbl_8012FAD8 = .data:0x8012FAD8; // type:object size:0x10 data:string -lbl_8012FAE8 = .data:0x8012FAE8; // type:object size:0x10 data:string -lbl_8012FAF8 = .data:0x8012FAF8; // type:object size:0x10 data:string -lbl_8012FB08 = .data:0x8012FB08; // type:object size:0x10 data:string -lbl_8012FB18 = .data:0x8012FB18; // type:object size:0x10 data:string -lbl_8012FB28 = .data:0x8012FB28; // type:object size:0x10 data:string -lbl_8012FB38 = .data:0x8012FB38; // type:object size:0x10 data:string -lbl_8012FB48 = .data:0x8012FB48; // type:object size:0x10 data:string -lbl_8012FB58 = .data:0x8012FB58; // type:object size:0x10 data:string -lbl_8012FB68 = .data:0x8012FB68; // type:object size:0x10 data:string -lbl_8012FB78 = .data:0x8012FB78; // type:object size:0x10 data:string -lbl_8012FB88 = .data:0x8012FB88; // type:object size:0x10 data:string -lbl_8012FB98 = .data:0x8012FB98; // type:object size:0x10 data:string -lbl_8012FBA8 = .data:0x8012FBA8; // type:object size:0x10 data:string -lbl_8012FBB8 = .data:0x8012FBB8; // type:object size:0x10 data:string -lbl_8012FBC8 = .data:0x8012FBC8; // type:object size:0x10 data:string -lbl_8012FBD8 = .data:0x8012FBD8; // type:object size:0x10 data:string -lbl_8012FBE8 = .data:0x8012FBE8; // type:object size:0x10 data:string -lbl_8012FBF8 = .data:0x8012FBF8; // type:object size:0x10 data:string -lbl_8012FC08 = .data:0x8012FC08; // type:object size:0x10 data:string -lbl_8012FC18 = .data:0x8012FC18; // type:object size:0x12 data:string -lbl_8012FC2A = .data:0x8012FC2A; // type:object size:0x15 data:string -lbl_8012FC3F = .data:0x8012FC3F; // type:object size:0x13 data:string -lbl_8012FC52 = .data:0x8012FC52; // type:object size:0x10 data:string -lbl_8012FC62 = .data:0x8012FC62; // type:object size:0x12 data:string -lbl_8012FC74 = .data:0x8012FC74; // type:object size:0x13 data:string -lbl_8012FC87 = .data:0x8012FC87; // type:object size:0x13 data:string -lbl_8012FC9A = .data:0x8012FC9A; // type:object size:0x13 data:string -lbl_8012FCAD = .data:0x8012FCAD; // type:object size:0x12 data:string -lbl_8012FCBF = .data:0x8012FCBF; // type:object size:0xF data:string -lbl_8012FCCE = .data:0x8012FCCE; // type:object size:0xF data:string -lbl_8012FCDD = .data:0x8012FCDD; // type:object size:0x10 data:string -lbl_8012FCED = .data:0x8012FCED; // type:object size:0x12 data:string -lbl_8012FCFF = .data:0x8012FCFF; // type:object size:0xF data:string -lbl_8012FD0E = .data:0x8012FD0E; // type:object size:0x13 data:string -lbl_8012FD21 = .data:0x8012FD21; // type:object size:0x11 data:string -lbl_8012FD32 = .data:0x8012FD32; // type:object size:0x15 data:string -lbl_8012FD47 = .data:0x8012FD47; // type:object size:0xF data:string -lbl_8012FD56 = .data:0x8012FD56; // type:object size:0xF data:string -lbl_8012FD65 = .data:0x8012FD65; // type:object size:0xF data:string -lbl_8012FD74 = .data:0x8012FD74; // type:object size:0xF data:string -lbl_8012FD83 = .data:0x8012FD83; // type:object size:0xF data:string -lbl_8012FD92 = .data:0x8012FD92; // type:object size:0xF data:string -lbl_8012FDA1 = .data:0x8012FDA1; // type:object size:0xF data:string -lbl_8012FDB0 = .data:0x8012FDB0; // type:object size:0xF data:string -lbl_8012FDBF = .data:0x8012FDBF; // type:object size:0xF data:string -lbl_8012FDCE = .data:0x8012FDCE; // type:object size:0x12 -_ovltbl = .data:0x8012FDE0; // type:object size:0x320 -lbl_80130100 = .data:0x80130100; // type:object size:0x20 -fadeInFunc = .data:0x80130120; // type:object size:0xC scope:local -fadeOutFunc = .data:0x8013012C; // type:object size:0xC scope:local -spcFontTbl = .data:0x80130140; // type:object size:0x170 scope:local -charWETbl = .data:0x801302B0; // type:object size:0x130 -charWJTbl = .data:0x801303E0; // type:object size:0x140 -charColPal = .data:0x80130520; // type:object size:0x3C scope:local align:32 -frameFileTbl = .data:0x8013055C; // type:object size:0x10 scope:local -lbl_8013056C = .data:0x8013056C; // type:object size:0xE data:string -lbl_8013057A = .data:0x8013057A; // type:object size:0xF data:string -lbl_80130589 = .data:0x80130589; // type:object size:0x10 data:string -lbl_80130599 = .data:0x80130599; // type:object size:0x13 -mesDataTbl = .data:0x801305AC; // type:object size:0x10 scope:local -winVoiceTbl = .data:0x801305BC; // type:object size:0x54 scope:local -lbl_80130610 = .data:0x80130610; // type:object size:0x13 data:string -lbl_80130623 = .data:0x80130623; // type:object size:0x19 -winPortraitTbl = .data:0x8013063C; // type:object size:0x4C scope:local -lbl_80130688 = .data:0x80130688; // type:object size:0x26 data:string -lbl_801306AE = .data:0x801306AE; // type:object size:0x2A -lbl_801306D8 = .data:0x801306D8; // type:object size:0x19 data:string -lbl_801306F1 = .data:0x801306F1; // type:object size:0x14 data:string -lbl_80130705 = .data:0x80130705; // type:object size:0x93 -lbl_80130798 = .data:0x80130798; // type:object size:0x30 -effectDataTbl = .data:0x801307C8; // type:object size:0x60 scope:local -charDirTbl = .data:0x80130828; // type:object size:0x60 scope:local -effectDustParam = .data:0x80130888; // type:object size:0x38 scope:local -effectDotParam = .data:0x801308C0; // type:object size:0x38 scope:local -effectStarParam = .data:0x801308F8; // type:object size:0x38 scope:local -effectWarnParam = .data:0x80130930; // type:object size:0x38 scope:local -effectSmokeParam = .data:0x80130968; // type:object size:0x38 scope:local -lbl_801309A0 = .data:0x801309A0; // type:object size:0x20 scope:local -lbl_801309C0 = .data:0x801309C0; // type:object size:0x20 scope:local -lbl_801309E0 = .data:0x801309E0; // type:object size:0x10 scope:local -jumptable_801309F0 = .data:0x801309F0; // type:object size:0x1E8 scope:local -voiceParam = .data:0x80130BD8; // type:object size:0x40 scope:local -lbl_80130C18 = .data:0x80130C18; // type:object size:0xE data:string -lbl_80130C26 = .data:0x80130C26; // type:object size:0xE data:string -lbl_80130C34 = .data:0x80130C34; // type:object size:0xE data:string -lbl_80130C42 = .data:0x80130C42; // type:object size:0xD data:string -lbl_80130C4F = .data:0x80130C4F; // type:object size:0xD data:string -lbl_80130C5C = .data:0x80130C5C; // type:object size:0xB data:string -lbl_80130C67 = .data:0x80130C67; // type:object size:0xF data:string -lbl_80130C76 = .data:0x80130C76; // type:object size:0xF data:string -lbl_80130C85 = .data:0x80130C85; // type:object size:0xF data:string -lbl_80130C94 = .data:0x80130C94; // type:object size:0xF data:string -lbl_80130CA3 = .data:0x80130CA3; // type:object size:0xF data:string -lbl_80130CB2 = .data:0x80130CB2; // type:object size:0xF data:string -lbl_80130CC1 = .data:0x80130CC1; // type:object size:0x9 data:string -lbl_80130CCA = .data:0x80130CCA; // type:object size:0xD data:string -lbl_80130CD7 = .data:0x80130CD7; // type:object size:0x17 data:string -lbl_80130CEE = .data:0x80130CEE; // type:object size:0x17 data:string -lbl_80130D05 = .data:0x80130D05; // type:object size:0xE data:string -lbl_80130D13 = .data:0x80130D13; // type:object size:0xE data:string -lbl_80130D21 = .data:0x80130D21; // type:object size:0xD data:string -lbl_80130D2E = .data:0x80130D2E; // type:object size:0xE data:string -lbl_80130D3C = .data:0x80130D3C; // type:object size:0xE data:string -lbl_80130D4A = .data:0x80130D4A; // type:object size:0xF data:string -lbl_80130D59 = .data:0x80130D59; // type:object size:0xF data:string -lbl_80130D68 = .data:0x80130D68; // type:object size:0x18 data:string -lbl_80130D80 = .data:0x80130D80; // type:object size:0x18 data:string -lbl_80130D98 = .data:0x80130D98; // type:object size:0xE data:string -lbl_80130DA6 = .data:0x80130DA6; // type:object size:0x18 data:string -lbl_80130DBE = .data:0x80130DBE; // type:object size:0x1A -charTexNameTbl = .data:0x80130DD8; // type:object size:0x100 -lbl_80130ED8 = .data:0x80130ED8; // type:object size:0xD data:string -lbl_80130EE5 = .data:0x80130EE5; // type:object size:0xD data:string -lbl_80130EF2 = .data:0x80130EF2; // type:object size:0xE data:string -lbl_80130F00 = .data:0x80130F00; // type:object size:0xE data:string -lbl_80130F0E = .data:0x80130F0E; // type:object size:0x12 -hookNameTbl = .data:0x80130F20; // type:object size:0xA0 scope:local -modelParticleParam = .data:0x80130FC0; // type:object size:0x38 scope:local -coinParticleParam = .data:0x80130FF8; // type:object size:0x38 scope:local -lbl_80131030 = .data:0x80131030; // type:object size:0x38 scope:local -lbl_80131068 = .data:0x80131068; // type:object size:0x38 scope:local -lbl_801310A0 = .data:0x801310A0; // type:object size:0x1C -lbl_801310BC = .data:0x801310BC; // type:object size:0x38 scope:local -lbl_801310F4 = .data:0x801310F4; // type:object size:0x38 scope:local -lbl_8013112C = .data:0x8013112C; // type:object size:0x1A data:string -lbl_80131146 = .data:0x80131146; // type:object size:0x12 scope:local -lbl_80131158 = .data:0x80131158; // type:object size:0x12 scope:local -lbl_8013116A = .data:0x8013116A; // type:object size:0x12 scope:local -lbl_8013117C = .data:0x8013117C; // type:object size:0x12 scope:local -lbl_8013118E = .data:0x8013118E; // type:object size:0xE scope:local -lbl_8013119C = .data:0x8013119C; // type:object size:0xE scope:local -lbl_801311AA = .data:0x801311AA; // type:object size:0xE scope:local -lbl_801311B8 = .data:0x801311B8; // type:object size:0xE scope:local -lbl_801311C6 = .data:0x801311C6; // type:object size:0xE scope:local -lbl_801311D4 = .data:0x801311D4; // type:object size:0xE scope:local -VolumeTable = .data:0x801311E8; // type:object size:0x100 scope:local -lbl_801312E8 = .data:0x801312E8; // type:object size:0x4D -lbl_80131335 = .data:0x80131335; // type:object size:0x1B -mgInfoTbl = .data:0x80131350; // type:object size:0xE00 data:2byte -commentTbl = .data:0x80132150; // type:object size:0x40 scope:local -lbl_80132190 = .data:0x80132190; // type:object size:0xC data:string -lbl_8013219C = .data:0x8013219C; // type:object size:0xC data:string -lbl_801321A8 = .data:0x801321A8; // type:object size:0xC data:string -SaveFileNameTbl = .data:0x801321B4; // type:object size:0xC -jumptable_801321C0 = .data:0x801321C0; // type:object size:0x34 scope:local -SR_PreRstChk = .data:0x801321F8; // type:object size:0x10 scope:local -coveropen_en = .data:0x80132208; // type:object size:0x1384 noreloc -fatalerror_en = .data:0x8013358C; // type:object size:0x1384 noreloc -loading_en = .data:0x80134910; // type:object size:0x1384 noreloc -nodisc_en = .data:0x80135C94; // type:object size:0x1384 noreloc -retryerror_en = .data:0x80137018; // type:object size:0x1384 noreloc -wrongdisc_en = .data:0x8013839C; // type:object size:0x1384 noreloc -jumptable_80139720 = .data:0x80139720; // type:object size:0x34 scope:local -bmpMes$493 = .data:0x80139754; // type:object size:0x18 scope:local -lbl_8013976C = .data:0x8013976C; // type:object size:0x13 data:string -lbl_8013977F = .data:0x8013977F; // type:object size:0x12 data:string -camViewTbl = .data:0x80139798; // type:object size:0x24 scope:local -jumptable_801397BC = .data:0x801397BC; // type:object size:0x24 scope:local -confettiLightTbl = .data:0x801397E0; // type:object size:0x48 scope:local -last5GfxSprTbl = .data:0x80139828; // type:object size:0xC scope:local -last5GfxPosTbl = .data:0x80139834; // type:object size:0x30 scope:local -tauntActiveFXTbl = .data:0x80139864; // type:object size:0x10 scope:local -tauntFXTbl = .data:0x80139874; // type:object size:0x24 scope:local -diceJumpObj = .data:0x80139898; // type:object size:0x10 scope:local -motDoneF = .data:0x801398A8; // type:object size:0x10 scope:local -bowserSuitMot = .data:0x801398B8; // type:object size:0xA scope:local data:2byte -lbl_801398C2 = .data:0x801398C2; // type:object size:0x17 data:string -lbl_801398D9 = .data:0x801398D9; // type:object size:0x17 data:string -lbl_801398F0 = .data:0x801398F0; // type:object size:0xE data:string -lbl_801398FE = .data:0x801398FE; // type:object size:0xE data:string -lbl_8013990C = .data:0x8013990C; // type:object size:0x18 data:string -lbl_80139924 = .data:0x80139924; // type:object size:0x18 data:string -eyeMatTbl = .data:0x8013993C; // type:object size:0x40 scope:local -lbl_8013997C = .data:0x8013997C; // type:object size:0x20 -boardMotTbl = .data:0x8013999C; // type:object size:0x20 scope:local -boardMotRevTbl = .data:0x801399BC; // type:object size:0x20 scope:local -bowserSuitCharMdlTbl = .data:0x801399DC; // type:object size:0x20 scope:local -bowserSuitMotTbl = .data:0x801399FC; // type:object size:0x14 scope:local -sparkMotTbl = .data:0x80139A10; // type:object size:0x20 scope:local -boardSparkSfxTbl = .data:0x80139A30; // type:object size:0x20 scope:local -boardSparkSfxTblAlt = .data:0x80139A50; // type:object size:0x20 scope:local -megaSquishObj = .data:0x80139A70; // type:object size:0x10 scope:local -megaSquishSfxTbl = .data:0x80139A80; // type:object size:0x20 scope:local -PortraitTbl = .data:0x80139AA0; // type:object size:0x24 scope:local -StarPortraitTbl = .data:0x80139AC4; // type:object size:0x24 scope:local -boardMusTbl = .data:0x80139AE8; // type:object size:0x12 scope:local -comItemPreferTbl = .data:0x80139B00; // type:object size:0x60 scope:local -comItemUseCheckFuncTbl = .data:0x80139B60; // type:object size:0x38 scope:local -comJunctionDirTbl = .data:0x80139B98; // type:object size:0x30 scope:local -overhead2DPos = .data:0x80139BC8; // type:object size:0x28 scope:local -mapViewMinZ = .data:0x80139BF0; // type:object size:0x24 scope:local -mapViewMaxZ = .data:0x80139C14; // type:object size:0x24 scope:local -mapViewMinX = .data:0x80139C38; // type:object size:0x24 scope:local -mapViewMaxX = .data:0x80139C5C; // type:object size:0x24 scope:local -overheadCamZoom = .data:0x80139C80; // type:object size:0x24 scope:local -overheadCamPosZ = .data:0x80139CA4; // type:object size:0x24 scope:local -spaceImgIdx = .data:0x80139CC8; // type:object size:0xC scope:local -spaceHiliteImgIdx = .data:0x80139CD4; // type:object size:0xC scope:local -jumptable_80139CE0 = .data:0x80139CE0; // type:object size:0x28 scope:local -hostMessTbl = .data:0x80139D08; // type:object size:0x24 scope:local -itemPriceTbl = .data:0x80139D2C; // type:object size:0x10 scope:local data:byte -shopMotTbl = .data:0x80139D3C; // type:object size:0x6C scope:local -lbl_80139DA8 = .data:0x80139DA8; // type:object size:0xA data:string -itemPrioTbl = .data:0x80139DB2; // type:object size:0x8C scope:local data:byte -rankItemGroupTbl = .data:0x80139E3E; // type:object size:0x18 scope:local data:byte -cursorPosTbl = .data:0x80139E58; // type:object size:0x30 scope:local data:float -comInputDraw1 = .data:0x80139E88; // type:object size:0xEE scope:local data:2byte -comInputDraw2 = .data:0x80139F76; // type:object size:0xBA scope:local data:2byte -comInputBall = .data:0x8013A030; // type:object size:0xCE scope:local data:2byte -lbl_8013A0FE = .data:0x8013A0FE; // type:object size:0xC data:string -lbl_8013A10A = .data:0x8013A10A; // type:object size:0xA data:string -lbl_8013A114 = .data:0x8013A114; // type:object size:0x9 data:string -lbl_8013A11D = .data:0x8013A11D; // type:object size:0xE data:string -lbl_8013A12B = .data:0x8013A12B; // type:object size:0xA data:string -lbl_8013A135 = .data:0x8013A135; // type:object size:0xB data:string -jumptable_8013A140 = .data:0x8013A140; // type:object size:0x24 scope:local -ticketObj = .data:0x8013A164; // type:object size:0x30 scope:local -ticketPrize = .data:0x8013A194; // type:object size:0xC scope:local -handLastPos = .data:0x8013A1A0; // type:object size:0xC scope:local data:4byte -loseSoundTbl = .data:0x8013A1AC; // type:object size:0x20 scope:local -loseMotTbl = .data:0x8013A1CC; // type:object size:0x20 scope:local -coinChgObj = .data:0x8013A1F0; // type:object size:0x10 scope:local -coinDigitMdl = .data:0x8013A200; // type:object size:0x28 scope:local -jumptable_8013A228 = .data:0x8013A228; // type:object size:0x1C scope:local -wheelSprTbl = .data:0x8013A248; // type:object size:0x28 scope:local -wheelSprPrio = .data:0x8013A270; // type:object size:0xE scope:local data:byte -wheelCharIconTbl = .data:0x8013A280; // type:object size:0x20 scope:local -lbl_8013A2A0 = .data:0x8013A2A0; // type:object size:0xF data:string -boardStarSndTbl = .data:0x8013A2B0; // type:object size:0x20 -hostMotTbl = .data:0x8013A2D0; // type:object size:0x48 scope:local -starEffParam = .data:0x8013A318; // type:object size:0x50 scope:local noreloc -diceObj = .data:0x8013A368; // type:object size:0xC scope:local data:4byte -diceDigitObj = .data:0x8013A374; // type:object size:0xC scope:local data:4byte -diceSndStatus = .data:0x8013A380; // type:object size:0xC scope:local -diceEffParam = .data:0x8013A38C; // type:object size:0x50 scope:local -diceDigitMdlTbl = .data:0x8013A3DC; // type:object size:0x28 scope:local -uiStatus = .data:0x8013A408; // type:object size:0x70 scope:local data:4byte -statusSprTbl = .data:0x8013A478; // type:object size:0x2C scope:local -statusSprPrioTbl = .data:0x8013A4A4; // type:object size:0x18 scope:local -statusHideOfsTbl = .data:0x8013A4BC; // type:object size:0x10 scope:local data:float -statusPosTbl = .data:0x8013A4CC; // type:object size:0x20 scope:local data:float -statusColTbl = .data:0x8013A4EC; // type:object size:0x10 scope:local -statusSprPosTbl = .data:0x8013A4FC; // type:object size:0x88 scope:local data:float -statusItemPosTbl = .data:0x8013A584; // type:object size:0x30 scope:local data:float -itemMdlTbl = .data:0x8013A5B4; // type:object size:0x38 scope:local -teamItemStatusPosTbl = .data:0x8013A5EC; // type:object size:0x18 scope:local data:float -coinMdl = .data:0x8013A608; // type:object size:0x14 scope:local -itemFuncTbl = .data:0x8013A620; // type:object size:0x38 scope:local -itemRestoreFuncTbl = .data:0x8013A658; // type:object size:0x38 scope:local -itemMdlTbl = .data:0x8013A690; // type:object size:0x38 scope:local -forceMoveSfxTbl = .data:0x8013A6C8; // type:object size:0x18 scope:local -callMotTbl = .data:0x8013A6E0; // type:object size:0x20 scope:local -lbl_8013A700 = .data:0x8013A700; // type:object size:0x13 data:string -lbl_8013A713 = .data:0x8013A713; // type:object size:0x13 data:string -lbl_8013A726 = .data:0x8013A726; // type:object size:0x13 data:string -lbl_8013A739 = .data:0x8013A739; // type:object size:0x13 data:string -lbl_8013A74C = .data:0x8013A74C; // type:object size:0x13 data:string -lbl_8013A75F = .data:0x8013A75F; // type:object size:0x13 data:string -lbl_8013A772 = .data:0x8013A772; // type:object size:0x13 data:string -lbl_8013A785 = .data:0x8013A785; // type:object size:0x13 data:string -callHookTbl = .data:0x8013A798; // type:object size:0x20 scope:local -callAttackMotTbl = .data:0x8013A7B8; // type:object size:0x18 scope:local -callAttackMotTbl2 = .data:0x8013A7D0; // type:object size:0x18 scope:local -suitMotTbl = .data:0x8013A7E8; // type:object size:0x40 scope:local -lbl_8013A828 = .data:0x8013A828; // type:object size:0xE data:string -booMotTbl = .data:0x8013A838; // type:object size:0xC scope:local -shadowPos = .data:0x8013A844; // type:object size:0xC scope:local -shadowTarget = .data:0x8013A850; // type:object size:0xC scope:local -shadowUp = .data:0x8013A85C; // type:object size:0xC scope:local -armUpMotTbl = .data:0x8013A868; // type:object size:0x20 scope:local -scareMotTbl = .data:0x8013A888; // type:object size:0x20 scope:local -impactMotTbl = .data:0x8013A8A8; // type:object size:0x20 scope:local -cameraDataTbl = .data:0x8013A8C8; // type:object size:0x134 scope:local -genieMotTbl = .data:0x8013A9FC; // type:object size:0x10 scope:local -scareFXTbl = .data:0x8013AA10; // type:object size:0x20 scope:local -jumptable_8013AA30 = .data:0x8013AA30; // type:object size:0x1C scope:local -lbl_8013AA4C = .data:0x8013AA4C; // type:object size:0xD data:string -battleCursorPosTbl = .data:0x8013AA60; // type:object size:0x18 scope:local data:float -bombFXTbl = .data:0x8013AA78; // type:object size:0x20 scope:local -battleSprPrioTbl = .data:0x8013AA98; // type:object size:0x16 scope:local -jumptable_8013AAB0 = .data:0x8013AAB0; // type:object size:0x24 scope:local -battleChanceTbl = .data:0x8013AAD4; // type:object size:0x3C scope:local -comPrizeMessTbl = .data:0x8013AB10; // type:object size:0x18 scope:local -booPlayerMotTbl = .data:0x8013AB28; // type:object size:0xC0 scope:local -booSfxTbl = .data:0x8013ABE8; // type:object size:0x80 scope:local -hostMess = .data:0x8013AC68; // type:object size:0x18 scope:local -lbl_8013AC80 = .data:0x8013AC80; // type:object size:0xC data:string -ballBooMdl = .data:0x8013AC8C; // type:object size:0x18 scope:local -jumptable_8013ACA4 = .data:0x8013ACA4; // type:object size:0x20 scope:local -stealSuccessTbl = .data:0x8013ACC4; // type:object size:0x24 scope:local -stealTbl = .data:0x8013ACE8; // type:object size:0x12 scope:local -mgSetupSprTbl = .data:0x8013AD00; // type:object size:0x34 scope:local -statusLayout4P = .data:0x8013AD34; // type:object size:0x30 scope:local data:float -statusLayout1Vs3 = .data:0x8013AD64; // type:object size:0x30 scope:local data:float -statusLayout2Vs2 = .data:0x8013AD94; // type:object size:0x30 scope:local data:float -luckyMessTbl = .data:0x8013ADC4; // type:object size:0x24 scope:local -jumptable_8013ADE8 = .data:0x8013ADE8; // type:object size:0x20 scope:local -hiliteYTbl = .data:0x8013AE08; // type:object size:0x10 scope:local -hiliteColTbl = .data:0x8013AE28; // type:object size:0xC scope:local -hostMesTbl = .data:0x8013AE38; // type:object size:0x90 scope:local -houseMdlTbl = .data:0x8013AEC8; // type:object size:0x30 scope:local -booMotTbl = .data:0x8013AEF8; // type:object size:0xC scope:local -houseMotTbl = .data:0x8013AF04; // type:object size:0x6C scope:local -playerStartObj = .data:0x8013AF70; // type:object size:0x10 scope:local data:4byte -hitFX = .data:0x8013AF80; // type:object size:0x10 scope:local -startMesTbl = .data:0x8013AF90; // type:object size:0xB4 scope:local -logoSprTbl = .data:0x8013B044; // type:object size:0x24 scope:local -jumptable_8013B068 = .data:0x8013B068; // type:object size:0x1C scope:local -digitMdlTbl = .data:0x8013B084; // type:object size:0x24 scope:local -playerOrderMesTbl = .data:0x8013B0A8; // type:object size:0xC scope:local -jumptable_8013B0B4 = .data:0x8013B0B4; // type:object size:0x24 scope:local -hostMotTbl = .data:0x8013B0D8; // type:object size:0x120 scope:local -messBaseTbl = .data:0x8013B1F8; // type:object size:0x24 scope:local -playerOfsTbl = .data:0x8013B21C; // type:object size:0x18 scope:local -plateObjNameTbl = .data:0x8013B234; // type:object size:0x10 scope:local -hiliteObjNameTbl = .data:0x8013B244; // type:object size:0x10 scope:local -faceObjNameTbl = .data:0x8013B254; // type:object size:0x10 scope:local -resultRankFX12Tbl = .data:0x8013B264; // type:object size:0x20 scope:local -resultRankFX3Tbl = .data:0x8013B284; // type:object size:0x20 scope:local -resultRankFX4Tbl = .data:0x8013B2A4; // type:object size:0x20 scope:local -impactFXTbl = .data:0x8013B2C4; // type:object size:0x20 scope:local -lotteryWheelMdlTbl = .data:0x8013B2E4; // type:object size:0x20 scope:local -teamSprPrioTbl = .data:0x8013B304; // type:object size:0x1E scope:local -teamSprTbl = .data:0x8013B324; // type:object size:0x34 scope:local -teamSprPosTbl = .data:0x8013B358; // type:object size:0x78 scope:local -teamCharSprTbl = .data:0x8013B3D0; // type:object size:0x20 scope:local -boxModelID = .data:0x8013B3F0; // type:object size:0x10 scope:local data:2byte -boxPosTbl = .data:0x8013B400; // type:object size:0x40 scope:local data:float -padConfigPosTbl = .data:0x8013B440; // type:object size:0x20 scope:local -boardLogoTbl = .data:0x8013B460; // type:object size:0x24 scope:local -turnDigitPosTbl = .data:0x8013B484; // type:object size:0x10 scope:local -boxMdlTbl = .data:0x8013B494; // type:object size:0x20 scope:local -jumptable_8013B4B4 = .data:0x8013B4B4; // type:object size:0x20 scope:local -jumptable_8013B4D4 = .data:0x8013B4D4; // type:object size:0x20 scope:local -jumptable_8013B4F4 = .data:0x8013B4F4; // type:object size:0x20 scope:local -lbl_8013B518 = .data:0x8013B518; // type:object size:0x24 data:string -lbl_8013B53C = .data:0x8013B53C; // type:object size:0x24 data:string -@82 = .data:0x8013B560; // type:object size:0x1E scope:local data:string -lbl_8013B580 = .data:0x8013B580; // type:object size:0x16 scope:local data:string -lbl_8013B598 = .data:0x8013B598; // type:object size:0xC scope:local data:string -lbl_8013B5A4 = .data:0x8013B5A4; // type:object size:0x9 scope:local data:string -lbl_8013B5B4 = .data:0x8013B5B0; // type:object size:0x10 scope:local data:string -lbl_8013B5C0 = .data:0x8013B5C0; // type:object size:0xB scope:local data:string -lbl_8013B5CC = .data:0x8013B5CC; // type:object size:0xE scope:local data:string -lbl_8013B5DC = .data:0x8013B5DC; // type:object size:0xD scope:local data:string -lbl_8013B5EC = .data:0x8013B5EC; // type:object size:0xD scope:local data:string -lbl_8013B5FC = .data:0x8013B5FC; // type:object size:0xD scope:local data:string -lbl_8013B60C = .data:0x8013B60C; // type:object size:0x12 scope:local data:string -lbl_8013B620 = .data:0x8013B620; // type:object size:0xE scope:local data:string -lbl_8013B630 = .data:0x8013B630; // type:object size:0x15 scope:local data:string -__OSExceptionLocations = .data:0x8013B648; // type:object size:0x3C scope:local -lbl_8013B720 = .data:0x8013B720; // type:object size:0x24 scope:local data:string -lbl_8013B744 = .data:0x8013B744; // type:object size:0x37 scope:local data:string -lbl_8013B77C = .data:0x8013B77C; // type:object size:0x28 scope:local data:string -lbl_8013B7A4 = .data:0x8013B7A4; // type:object size:0x4F scope:local data:string -lbl_8013B7F4 = .data:0x8013B7F4; // type:object size:0x3E scope:local data:string -lbl_8013B834 = .data:0x8013B834; // type:object size:0x37 scope:local data:string -lbl_8013B86C = .data:0x8013B86C; // type:object size:0x49 scope:local data:string -lbl_8013B8B8 = .data:0x8013B8B8; // type:object size:0x33 scope:local data:string -lbl_8013B8EC = .data:0x8013B8EC; // type:object size:0x3D scope:local data:string -lbl_8013B92C = .data:0x8013B92C; // type:object size:0x39 scope:local data:string -lbl_8013B968 = .data:0x8013B968; // type:object size:0x45 scope:local data:string -lbl_8013B9B0 = .data:0x8013B9B0; // type:object size:0x5F scope:local data:string -lbl_8013BA10 = .data:0x8013BA10; // type:object size:0x2C scope:local data:string -lbl_8013BA3C = .data:0x8013BA3C; // type:object size:0x12 scope:local data:string -lbl_8013BA50 = .data:0x8013BA50; // type:object size:0x12 scope:local data:string -lbl_8013BA64 = .data:0x8013BA64; // type:object size:0x1A scope:local data:string -lbl_8013BA80 = .data:0x8013BA80; // type:object size:0x13 scope:local data:string -lbl_8013BA94 = .data:0x8013BA94; // type:object size:0x10 scope:local data:string -lbl_8013BAA4 = .data:0x8013BAA4; // type:object size:0xE scope:local data:string -DSPInitCode = .data:0x8013BAB8; // type:object size:0x80 scope:local -@69 = .data:0x8013BB38; // type:object size:0x29 scope:local data:string -lbl_8013BB64 = .data:0x8013BB64; // type:object size:0x18 scope:local data:string -lbl_8013BB7C = .data:0x8013BB7C; // type:object size:0x1B scope:local data:string -lbl_8013BB98 = .data:0x8013BB98; // type:object size:0x30 scope:local data:string -lbl_8013BBC8 = .data:0x8013BBC8; // type:object size:0x3C scope:local data:string -lbl_8013BC04 = .data:0x8013BC04; // type:object size:0x37 scope:local data:string -lbl_8013BC3D = .data:0x8013BC3D; // type:object size:0x3E scope:local data:string -lbl_8013BC7C = .data:0x8013BC7C; // type:object size:0x29 scope:local data:string -lbl_8013BCA8 = .data:0x8013BCA8; // type:object size:0x1D scope:local data:string -lbl_8013BCC8 = .data:0x8013BCC8; // type:object size:0x19 scope:local data:string -lbl_8013BCE4 = .data:0x8013BCE4; // type:object size:0x19 scope:local data:string -lbl_8013BD00 = .data:0x8013BD00; // type:object size:0x19 scope:local data:string -lbl_8013BD1C = .data:0x8013BD1C; // type:object size:0x16 scope:local data:string -lbl_8013BD34 = .data:0x8013BD34; // type:object size:0x2E scope:local data:string -lbl_8013BD68 = .data:0x8013BD68; // type:object size:0x44 scope:local data:string -lbl_8013BDAC = .data:0x8013BDAC; // type:object size:0x30 scope:local data:string -lbl_8013BDDC = .data:0x8013BDDC; // type:object size:0x2F scope:local data:string -lbl_8013BE0C = .data:0x8013BE0C; // type:object size:0x2F scope:local data:string -lbl_8013BE3C = .data:0x8013BE3C; // type:object size:0x11 scope:local data:string -lbl_8013BE50 = .data:0x8013BE50; // type:object size:0x21 scope:local data:string -lbl_8013BE74 = .data:0x8013BE74; // type:object size:0x12 scope:local data:string -lbl_8013BE88 = .data:0x8013BE88; // type:object size:0x19 scope:local data:string -lbl_8013BEA4 = .data:0x8013BEA4; // type:object size:0x12 scope:local data:string -lbl_8013BEB8 = .data:0x8013BEB8; // type:object size:0x1D scope:local data:string -lbl_8013BED8 = .data:0x8013BED8; // type:object size:0x26 scope:local data:string -lbl_8013BF00 = .data:0x8013BF00; // type:object size:0x1C scope:local data:string -@76 = .data:0x8013BF1C; // type:object size:0x23 scope:local data:string -@10 = .data:0x8013BF40; // type:object size:0x16 scope:local data:string -lbl_8013BF58 = .data:0x8013BF58; // type:object size:0x26 scope:local data:string -lbl_8013BF80 = .data:0x8013BF80; // type:object size:0x1C scope:local data:string -lbl_8013BF9C = .data:0x8013BF9C; // type:object size:0x1D scope:local data:string -lbl_8013BFBC = .data:0x8013BFBC; // type:object size:0x17 scope:local data:string -lbl_8013BFD4 = .data:0x8013BFD4; // type:object size:0x31 scope:local data:string -lbl_8013C008 = .data:0x8013C008; // type:object size:0x10 scope:local data:string -lbl_8013C018 = .data:0x8013C018; // type:object size:0x60 scope:local data:string -lbl_8013C078 = .data:0x8013C078; // type:object size:0x4C scope:local data:string -lbl_8013C0C4 = .data:0x8013C0C4; // type:object size:0x62 scope:local data:string -lbl_8013C128 = .data:0x8013C128; // type:object size:0x60 scope:local data:string -lbl_8013C188 = .data:0x8013C188; // type:object size:0x1F scope:local data:string -lbl_8013C1A8 = .data:0x8013C1A8; // type:object size:0x1F scope:local data:string -lbl_8013C1C8 = .data:0x8013C1C8; // type:object size:0x1B scope:local data:string -lbl_8013C1E4 = .data:0x8013C1E4; // type:object size:0x35 scope:local data:string -@87 = .data:0x8013C21C; // type:object size:0x40 scope:local -InterruptPrioTable = .data:0x8013C260; // type:object size:0x2C scope:local data:4byte -lbl_8013C290 = .data:0x8013C290; // type:object size:0x25 scope:local data:string -lbl_8013C2B8 = .data:0x8013C2B8; // type:object size:0x27 scope:local data:string -ResetFunctionInfo = .data:0x8013C2E0; // type:object size:0x10 scope:local -lbl_8013C2F0 = .data:0x8013C2F0; // type:object size:0x12 scope:local data:string -lbl_8013C304 = .data:0x8013C304; // type:object size:0x11 scope:local data:string -lbl_8013C318 = .data:0x8013C318; // type:object size:0xD scope:local data:string -lbl_8013C328 = .data:0x8013C328; // type:object size:0x11 scope:local data:string -lbl_8013C33C = .data:0x8013C33C; // type:object size:0x11 scope:local data:string -lbl_8013C350 = .data:0x8013C350; // type:object size:0x11 scope:local data:string -YearDays = .data:0x8013C368; // type:object size:0x30 scope:local -LeapYearDays = .data:0x8013C398; // type:object size:0x30 scope:local -lbl_8013C3C8 = .data:0x8013C3C8; // type:object size:0x18 scope:local data:string -lbl_8013C3E0 = .data:0x8013C3E0; // type:object size:0xC8 scope:local data:string -lbl_8013C4A8 = .data:0x8013C4A8; // type:object size:0x38 scope:local -lbl_8013C4E0 = .data:0x8013C4E0; // type:object size:0x34 scope:local data:string -lbl_8013C514 = .data:0x8013C514; // type:object size:0x34 scope:local -@13 = .data:0x8013C548; // type:object size:0x15 scope:local data:string -@293 = .data:0x8013C594; // type:object size:0x20 scope:local -jumptable_8013C5B4 = .data:0x8013C5B4; // type:object size:0x40 scope:local -jumptable_8013C5F4 = .data:0x8013C5F4; // type:object size:0x34 scope:local -jumptable_8013C628 = .data:0x8013C628; // type:object size:0x34 scope:local -ErrorTable = .data:0x8013C660; // type:object size:0x48 scope:local data:4byte -@36 = .data:0x8013C6A8; // type:object size:0x1A scope:local data:string -timing = .data:0x8013C718; // type:object size:0x130 scope:local -taps = .data:0x8013C848; // type:object size:0x32 scope:local -jumptable_8013C87C = .data:0x8013C87C; // type:object size:0x58 scope:local -lbl_8013C8D4 = .data:0x8013C8D4; // type:object size:0x29 scope:local data:string -lbl_8013C900 = .data:0x8013C900; // type:object size:0x29 scope:local data:string -lbl_8013C92C = .data:0x8013C92C; // type:object size:0x29 scope:local data:string -lbl_8013C958 = .data:0x8013C958; // type:object size:0x29 scope:local data:string -lbl_8013C984 = .data:0x8013C984; // type:object size:0x29 scope:local data:string -lbl_8013C9B0 = .data:0x8013C9B0; // type:object size:0x29 scope:local data:string -DEMOFontBitmap = .data:0x8013C9E0; // type:object size:0xC00 align:32 -lbl_8013D5E0 = .data:0x8013D5E0; // type:object size:0xC scope:local data:string -lbl_8013D5EC = .data:0x8013D5EC; // type:object size:0x26 scope:local data:string -jumptable_8013D614 = .data:0x8013D614; // type:object size:0x28 scope:local -jumptable_8013D698 = .data:0x8013D698; // type:object size:0x28 scope:local -jumptable_8013D6C0 = .data:0x8013D6C0; // type:object size:0x28 scope:local -jumptable_8013D6E8 = .data:0x8013D6E8; // type:object size:0x28 scope:local -jumptable_8013D710 = .data:0x8013D710; // type:object size:0x28 scope:local -ResetFunctionInfo = .data:0x8013D738; // type:object size:0x10 -lbl_8013D748 = .data:0x8013D748; // type:object size:0x1E scope:local data:string -lbl_8013D768 = .data:0x8013D768; // type:object size:0xC scope:local data:string -lbl_8013D774 = .data:0x8013D774; // type:object size:0x9 scope:local data:string -lbl_8013D780 = .data:0x8013D780; // type:object size:0x1D scope:local data:string -lbl_8013D7A0 = .data:0x8013D7A0; // type:object size:0x2D scope:local data:string -lbl_8013D7D0 = .data:0x8013D7D0; // type:object size:0x2D scope:local data:string -lbl_8013D800 = .data:0x8013D800; // type:object size:0x2D scope:local data:string -lbl_8013D830 = .data:0x8013D830; // type:object size:0x2D scope:local data:string -lbl_8013D860 = .data:0x8013D860; // type:object size:0x2D scope:local data:string -lbl_8013D890 = .data:0x8013D890; // type:object size:0x2B scope:local data:string -jumptable_8013D8C0 = .data:0x8013D8C0; // type:object size:0x68 scope:local -jumptable_8013D928 = .data:0x8013D928; // type:object size:0x44 scope:local -jumptable_8013D96C = .data:0x8013D96C; // type:object size:0x1C scope:local -jumptable_8013D988 = .data:0x8013D988; // type:object size:0x54 scope:local -GXNtsc480IntDf = .data:0x8013D9E0; // type:object size:0x3C -GXNtsc480Prog = .data:0x8013DA1C; // type:object size:0x3C -GXMpal480IntDf = .data:0x8013DA58; // type:object size:0x3C -GXPal528IntDf = .data:0x8013DA94; // type:object size:0x3C -GXEurgb60Hz480IntDf = .data:0x8013DAD0; // type:object size:0x3C -jumptable_8013DB10 = .data:0x8013DB10; // type:object size:0x1C scope:local -jumptable_8013DB30 = .data:0x8013DB30; // type:object size:0xF4 scope:local -jumptable_8013DC24 = .data:0x8013DC24; // type:object size:0xF4 scope:local -jumptable_8013DD18 = .data:0x8013DD18; // type:object size:0x3C scope:local -c2r$364 = .data:0x8013DD58; // type:object size:0x24 scope:local -p2f$194 = .data:0x8013DD80; // type:object size:0x20 scope:local -jumptable_8013DDA0 = .data:0x8013DDA0; // type:object size:0x5C scope:local -jumptable_8013DDFC = .data:0x8013DDFC; // type:object size:0x90 scope:local -jumptable_8013DE8C = .data:0x8013DE8C; // type:object size:0x5C scope:local -ResetFunctionInfo = .data:0x8013DEE8; // type:object size:0x10 scope:local -CardData = .data:0x8013DF00; // type:object size:0x160 scope:local align:32 -SectorSizeTable = .data:0x8013E060; // type:object size:0x20 scope:local -LatencyTable = .data:0x8013E080; // type:object size:0x20 scope:local -Si = .data:0x8013E0A0; // type:object size:0x14 scope:local data:4byte -Type = .data:0x8013E0B4; // type:object size:0x10 scope:local -@464 = .data:0x8013E0C4; // type:object size:0xC scope:local data:string -lbl_8013E0D0 = .data:0x8013E0D0; // type:object size:0xF scope:local data:string -lbl_8013E0E0 = .data:0x8013E0E0; // type:object size:0xF scope:local data:string -lbl_8013E0F0 = .data:0x8013E0F0; // type:object size:0xD scope:local data:string -lbl_8013E100 = .data:0x8013E100; // type:object size:0xA scope:local data:string -lbl_8013E10C = .data:0x8013E10C; // type:object size:0x10 scope:local data:string -lbl_8013E11C = .data:0x8013E11C; // type:object size:0x14 scope:local data:string -lbl_8013E130 = .data:0x8013E130; // type:object size:0x12 scope:local data:string -lbl_8013E144 = .data:0x8013E144; // type:object size:0x14 scope:local data:string -lbl_8013E158 = .data:0x8013E158; // type:object size:0x9 scope:local data:string -lbl_8013E164 = .data:0x8013E164; // type:object size:0x9 scope:local data:string -XYNTSC = .data:0x8013E170; // type:object size:0x30 scope:local -XYPAL = .data:0x8013E1A0; // type:object size:0x30 scope:local -__vt__Q23std9exception = .data:0x8013E208; // type:object size:0x10 scope:weak -jumptable_8013E218 = .data:0x8013E218; // type:object size:0x44 scope:local -jumptable_8013E25C = .data:0x8013E25C; // type:object size:0x44 scope:local -jumptable_8013E2A0 = .data:0x8013E2A0; // type:object size:0x44 scope:local -lbl_8013E2E4 = .data:0x8013E2E4; // type:object size:0xC -__vt__Q23std13bad_exception = .data:0x8013E2F0; // type:object size:0x10 scope:weak -__files = .data:0x8013E300; // type:object size:0x140 scope:global -jumptable_8013E440 = .data:0x8013E440; // type:object size:0x124 scope:local -__ctype_map = .data:0x8013E568; // type:object size:0x100 -__lower_map = .data:0x8013E668; // type:object size:0x100 -@1249 = .data:0x8013E768; // type:object size:0x84 scope:local -jumptable_8013E7EC = .data:0x8013E7EC; // type:object size:0x84 scope:local -jumptable_8013E870 = .data:0x8013E870; // type:object size:0xE0 scope:local -jumptable_8013E950 = .data:0x8013E950; // type:object size:0x44 scope:local -gTRKDispatchTable = .data:0x8013E998; // type:object size:0x84 -jumptable_8013EA20 = .data:0x8013EA20; // type:object size:0x1C scope:local -jumptable_8013EA3C = .data:0x8013EA3C; // type:object size:0x1C scope:local -gTRKRestoreFlags = .data:0x8013EA58; // type:object size:0x9 scope:global data:byte -gTRKExceptionStatus = .data:0x8013EA64; // type:object size:0x10 scope:local data:4byte -gTRKStepStatus = .data:0x8013EA74; // type:object size:0x14 data:4byte -TRK_ISR_OFFSETS = .data:0x8013EA88; // type:object size:0x3C scope:local data:4byte -gDBCommTable = .data:0x8013EAC8; // type:object size:0x1C scope:global data:4byte -jumptable_8013EAE8 = .data:0x8013EAE8; // type:object size:0x50 scope:local -kf$703 = .data:0x8013EB38; // type:object size:0x1C scope:local -midi2TimeTab = .data:0x8013EB54; // type:object size:0x204 scope:local -mask$1265 = .data:0x8013ED58; // type:object size:0x20 scope:local -dirty$1266 = .data:0x8013ED78; // type:object size:0x10 scope:local -mask$1285 = .data:0x8013ED88; // type:object size:0x20 scope:local -dirty$1286 = .data:0x8013EDA8; // type:object size:0x10 scope:local -jumptable_8013EDB8 = .data:0x8013EDB8; // type:object size:0x1C8 scope:local -toneup_tab = .data:0x8013EF80; // type:object size:0x200 scope:local -tonedown_tab = .data:0x8013F180; // type:object size:0x200 scope:local -dspAttenuationTab = .data:0x8013F380; // type:object size:0x184 -dspScale2IndexTab = .data:0x8013F504; // type:object size:0x400 -dspDLSVolTab = .data:0x8013F904; // type:object size:0x204 -dspSRCCycles = .data:0x8013FB08; // type:object size:0x18 -musyx_vol_tab = .data:0x8013FB20; // type:object size:0x204 scope:local -pan_tab = .data:0x8013FD24; // type:object size:0x10 scope:local -pan_tab_dpl2 = .data:0x8013FD34; // type:object size:0x10 scope:local -dirtyMask$1062 = .data:0x8013FD48; // type:object size:0x10 scope:local -dirtyMask$1075 = .data:0x8013FD58; // type:object size:0x10 scope:local -jumptable_8013FD68 = .data:0x8013FD68; // type:object size:0x24 scope:local -jumptable_8013FD8C = .data:0x8013FD8C; // type:object size:0x24 scope:local -jumptable_8013FDB0 = .data:0x8013FDB0; // type:object size:0x24 scope:local -sndSintab = .data:0x8013FDD8; // type:object size:0x800 -dspSlave = .data:0x801405E0; // type:object size:0x19E0 align:32 -lens$301 = .data:0x80141FC0; // type:object size:0x10 scope:local -lens$301 = .data:0x80141FD0; // type:object size:0x20 scope:local -rsmpTab12khz = .data:0x80141FF0; // type:object size:0x800 scope:local -padStatErrOld = .bss:0x80142800; // type:object size:0x10 scope:local -rumbleData = .bss:0x80142810; // type:object size:0x20 scope:local -ReadDataStat = .bss:0x80142840; // type:object size:0x2E00 scope:local align:32 data:4byte -TextBuffer = .bss:0x80145640; // type:object size:0x400 -rmodeobj = .bss:0x80145A40; // type:object size:0x40 scope:local -HeapTbl = .bss:0x80145A80; // type:object size:0x14 scope:local -strline = .bss:0x80145A98; // type:object size:0x6800 scope:local -pfStrBuf = .bss:0x8014C298; // type:object size:0x100 scope:local data:byte -processjmpbuf = .bss:0x8014C398; // type:object size:0xF8 align:8 -HuSprData = .bss:0x8014C490; // type:object size:0x9600 -HuSprGrpData = .bss:0x80155A90; // type:object size:0x5400 data:2byte -HuSprOrder = .bss:0x8015AE90; // type:object size:0x1800 -bmpNoCC = .bss:0x8015C690; // type:object size:0x20 scope:local -HuSprLayerDrawNo = .bss:0x8015C6B0; // type:object size:0x10 scope:local -Model = .bss:0x8015C6C0; // type:object size:0x80 -head = .bss:0x8015C740; // type:object size:0xB0 -rgba = .bss:0x8015C7F0; // type:object size:0x190 -lbl_8015C980 = .bss:0x8015C980; // type:object size:0x300 scope:local data:byte -DrawObjData = .bss:0x8015CC80; // type:object size:0x9000 scope:local -BmpPtrBak = .bss:0x80165C80; // type:object size:0x20 scope:local data:4byte -MTXBuf = .bss:0x80165CA0; // type:object size:0x1200 scope:local -scaleBuf = .bss:0x80166EA0; // type:object size:0x480 scope:local data:4byte -texCol = .bss:0x80167320; // type:object size:0x40 scope:local data:byte -hiliteMtx = .bss:0x80167360; // type:object size:0x30 scope:local -DrawObjNum = .bss:0x80167390; // type:object size:0x400 scope:local -NBTB = .bss:0x80167790; // type:object size:0xC scope:local data:float -NBTT = .bss:0x8016779C; // type:object size:0xC scope:local data:float -PGMaxPos = .bss:0x801677A8; // type:object size:0xC data:float -PGMinPos = .bss:0x801677B4; // type:object size:0xC data:float -Hu3DData = .bss:0x801677C0; // type:object size:0x24800 data:byte -Hu3DCamera = .bss:0x8018BFC0; // type:object size:0x580 data:float -layerNum = .bss:0x8018C540; // type:object size:0x10 scope:local data:2byte -layerHook = .bss:0x8018C550; // type:object size:0x20 scope:local -reflectAnim = .bss:0x8018C570; // type:object size:0x14 data:4byte -hiliteAnim = .bss:0x8018C584; // type:object size:0x10 data:4byte -Hu3DProjection = .bss:0x8018C594; // type:object size:0x260 data:byte -Hu3DShadowData = .bss:0x8018C7F4; // type:object size:0x98 data:byte -FogData = .bss:0x8018C88C; // type:object size:0x10 data:4byte -Hu3DCameraMtx = .bss:0x8018C89C; // type:object size:0x30 -Hu3DCameraMtxXPose = .bss:0x8018C8CC; // type:object size:0x30 -Hu3DGlobalLight = .bss:0x8018C8FC; // type:object size:0x220 data:2byte -Hu3DLocalLight = .bss:0x8018CB1C; // type:object size:0x880 data:2byte -lbl_8018D39C = .bss:0x8018D39C; // type:object size:0x30 -Hu3DMotion = .bss:0x8018D3D0; // type:object size:0x800 data:2byte -Hu3DTexAnimData = .bss:0x8018DBD0; // type:object size:0x1400 data:2byte -Hu3DTexScrData = .bss:0x8018EFD0; // type:object size:0x6C0 data:2byte -parManProc = .bss:0x8018F690; // type:object size:0x100 scope:local -perf = .bss:0x8018F790; // type:object size:0x370 scope:local -Ssw = .bss:0x8018FB00; // type:object size:0x38 scope:local -omovlhis = .bss:0x8018FB38; // type:object size:0xC0 scope:local -XFB_Geometry = .bss:0x8018FBF8; // type:object size:0x18 scope:local -GWPlayerCfg = .bss:0x8018FC10; // type:object size:0x28 -GWPlayer = .bss:0x8018FC38; // type:object size:0xC0 data:byte -GWSystem = .bss:0x8018FCF8; // type:object size:0xDC data:byte -GWGameStat = .bss:0x8018FDD8; // type:object size:0x118 -GWGameStatDefault = .bss:0x8018FEF0; // type:object size:0x118 -CRot = .bss:0x80190008; // type:object size:0xC data:float -Center = .bss:0x80190014; // type:object size:0xC data:float -CRotM = .bss:0x80190020; // type:object size:0xC0 -CenterM = .bss:0x801900E0; // type:object size:0xC0 -CZoomM = .bss:0x801901A0; // type:object size:0x40 -omDLLinfoTbl = .bss:0x801901E0; // type:object size:0x50 -sndFXBuf = .bss:0x80190230; // type:object size:0x200 scope:local -charVoiceGroupStat = .bss:0x80190430; // type:object size:0x20 scope:local -seqWorkData = .bss:0x80190450; // type:object size:0x400 scope:local data:4byte -winnerNameW = .bss:0x80190850; // type:object size:0x10 scope:local data:2byte -esprite = .bss:0x80190860; // type:object size:0x600 data:2byte -espanim = .bss:0x80190E60; // type:object size:0x1200 data:4byte -lbl_80192060 = .bss:0x80192060; // type:object size:0x100 -lbl_80192160 = .bss:0x80192160; // type:object size:0x100 -lbl_80192260 = .bss:0x80192260; // type:object size:0x100 -wipeData = .bss:0x80192360; // type:object size:0x4C data:4byte -winData = .bss:0x801923C0; // type:object size:0x3000 align:32 data:byte -winKey = .bss:0x801953C0; // type:object size:0x10 -winComKeyBuf = .bss:0x801953D0; // type:object size:0x1400 -ARInfo = .bss:0x801967E0; // type:object size:0x400 data:byte -arqReq = .bss:0x80196BE0; // type:object size:0x20 scope:local -ARQueBuf = .bss:0x80196C00; // type:object size:0x280 scope:local -preLoadBuf = .bss:0x80196E80; // type:object size:0x40 scope:local align:32 -charInstance = .bss:0x80196EC0; // type:object size:0x640 scope:local -effectMdl = .bss:0x80197500; // type:object size:0x10 scope:local data:2byte -particleData = .bss:0x80197510; // type:object size:0x20 scope:local -itemHookProcess = .bss:0x80197530; // type:object size:0x80 scope:local -lbl_801975B0 = .bss:0x801975B0; // type:object size:0x10 scope:local -lbl_801975C0 = .bss:0x801975C0; // type:object size:0x90 scope:local -MapObject = .bss:0x80197650; // type:object size:0x40 -MapMT = .bss:0x80197690; // type:object size:0x30 -MapMTR = .bss:0x801976C0; // type:object size:0x30 -MTRAdd = .bss:0x801976F0; // type:object size:0xC scope:local data:float -FieldVec = .bss:0x801976FC; // type:object size:0xC scope:local data:float -ColisionIdx = .bss:0x80197708; // type:object size:0x78 -HitFaceVec = .bss:0x80197780; // type:object size:0x180 -OldXYZ = .bss:0x80197900; // type:object size:0xC scope:local -HitFace = .bss:0x8019790C; // type:object size:0x180 -CharObject = .bss:0x80197A8C; // type:object size:0x30 -SimpleControl = .bss:0x80197AC0; // type:object size:0x19C -SoundBuffer = .bss:0x80197C60; // type:object size:0x500 scope:local align:32 -WorkBuffer = .bss:0x80198160; // type:object size:0x40 scope:local align:32 -THPFileName = .bss:0x801981A0; // type:object size:0x40 scope:local -mgGameStatBackup = .bss:0x801981E0; // type:object size:0x118 -mgIndexList = .bss:0x801982F8; // type:object size:0x100 -mgTicTacToeGrid = .bss:0x801983F8; // type:object size:0x12 -_Sys_Flag = .bss:0x80198410; // type:object size:0x10 -curFileInfo = .bss:0x80198420; // type:object size:0x20 -saveBuf = .bss:0x80198440; // type:object size:0x4000 align:32 -ToeMessageQueue = .bss:0x8019C440; // type:object size:0x20 scope:local -padStat$377 = .bss:0x8019C460; // type:object size:0x30 scope:local -ToeMessageArray = .bss:0x8019C490; // type:object size:0x40 scope:local -ToeThread = .bss:0x8019C4D0; // type:object size:0x310 scope:local align:8 -ToeThreadStack = .bss:0x8019C7E0; // type:object size:0x1000 scope:local -boardCamera = .bss:0x8019D7E0; // type:object size:0xC4 data:byte -cameraBackup = .bss:0x8019D8A4; // type:object size:0xC4 scope:local -preTurnHook = .bss:0x8019D968; // type:object size:0x10 scope:local -postTurnHook = .bss:0x8019D978; // type:object size:0x10 scope:local -playerMatCopy = .bss:0x8019D988; // type:object size:0x10 scope:local -winInsertMesTbl = .bss:0x8019D998; // type:object size:0x20 scope:local -choiceDisableTbl = .bss:0x8019D9B8; // type:object size:0x40 scope:local -focusPos = .bss:0x8019D9F8; // type:object size:0xC scope:local data:float -focusPosTarget = .bss:0x8019DA04; // type:object size:0xC scope:local data:4byte -spaceData = .bss:0x8019DA10; // type:object size:0x7000 scope:local data:float -boardSpaceStarTbl = .bss:0x801A4A10; // type:object size:0x10 -spaceTex = .bss:0x801A4A20; // type:object size:0x20 scope:local -spaceHiliteTex = .bss:0x801A4A40; // type:object size:0x20 scope:local -activeItemTbl = .bss:0x801A4A60; // type:object size:0x14 scope:local data:4byte -choiceEnableTbl = .bss:0x801A4A74; // type:object size:0x18 scope:local -lotteryMdl = .bss:0x801A4A90; // type:object size:0xC scope:local data:2byte -coinF = .bss:0x801A4A9C; // type:object size:0xC scope:local -coinMdl = .bss:0x801A4AA8; // type:object size:0x14 scope:local data:2byte -warpPos = .bss:0x801A4AC0; // type:object size:0x10 scope:local -starCharPos = .bss:0x801A4AD0; // type:object size:0xC scope:local data:4byte -tutorialRoll = .bss:0x801A4AE0; // type:object size:0xC scope:local -itemMdlId = .bss:0x801A4AF0; // type:object size:0x18 scope:local -pickerPos = .bss:0x801A4B08; // type:object size:0x30 scope:local -itemPosTemp = .bss:0x801A4B38; // type:object size:0x48 scope:local -coinF = .bss:0x801A4B80; // type:object size:0x28 scope:local -booBallPos = .bss:0x801A4BA8; // type:object size:0xC scope:local data:4byte -booBallScale = .bss:0x801A4BB4; // type:object size:0xC scope:local data:float -booCamPos = .bss:0x801A4BC0; // type:object size:0xC scope:local data:float -booCamTarget = .bss:0x801A4BCC; // type:object size:0xC scope:local data:float -booCamUp = .bss:0x801A4BD8; // type:object size:0xC scope:local data:float -playerPosTemp = .bss:0x801A4BE8; // type:object size:0x30 scope:local -bowserEvent = .bss:0x801A4C18; // type:object size:0x16 scope:local -battleMGList = .bss:0x801A4C30; // type:object size:0x10 scope:local data:2byte -camPosFortune = .bss:0x801A4C40; // type:object size:0xC scope:local data:4byte -camTargetFortune = .bss:0x801A4C4C; // type:object size:0xC scope:local data:float -activeMG = .bss:0x801A4C58; // type:object size:0x20 scope:local data:2byte -mgListAll = .bss:0x801A4C78; // type:object size:0x40 scope:local data:2byte -mgPlay4P = .bss:0x801A4CB8; // type:object size:0x10 scope:local -houseMdl = .bss:0x801A4CC8; // type:object size:0xC scope:local data:2byte -spacePos = .bss:0x801A4CD8; // type:object size:0xC scope:local data:float -camStartFocusPos = .bss:0x801A4CE4; // type:object size:0xC scope:local data:float -spacePos = .bss:0x801A4CF0; // type:object size:0xC scope:local data:float -focusPos = .bss:0x801A4CFC; // type:object size:0xC scope:local data:float -hostPos = .bss:0x801A4D08; // type:object size:0xC scope:local -hostMot = .bss:0x801A4D14; // type:object size:0x10 scope:local data:2byte -lotteryTicketObj = .bss:0x801A4D24; // type:object size:0x14 scope:local data:4byte -boxRot = .bss:0x801A4D38; // type:object size:0x20 scope:local -padBoxPos = .bss:0x801A4D58; // type:object size:0xC scope:local data:float -pathNodeData = .bss:0x801A4D68; // type:object size:0x500 scope:local data:byte -candidateNodes = .bss:0x801A5268; // type:object size:0x40 scope:local -startPathSpaceSearch = .bss:0x801A52A8; // type:object size:0x20 scope:local -startPathSpace = .bss:0x801A52C8; // type:object size:0x20 scope:local -boardTutorialData = .bss:0x801A52E8; // type:object size:0x10 data:4byte -DriveInfo = .bss:0x801A5300; // type:object size:0x20 scope:local align:32 -DriveBlock = .bss:0x801A5320; // type:object size:0x30 scope:local -__OSErrorTable = .bss:0x801A5350; // type:object size:0x40 scope:global -Header = .bss:0x801A53A0; // type:object size:0x20 scope:local align:32 -Scb = .bss:0x801A53C0; // type:object size:0x54 scope:local align:32 data:4byte -RunQueue = .bss:0x801A5418; // type:object size:0x100 scope:local data:4byte -IdleThread = .bss:0x801A5518; // type:object size:0x310 scope:local align:8 data:4byte -DefaultThread = .bss:0x801A5828; // type:object size:0x310 scope:local align:8 data:4byte -IdleContext = .bss:0x801A5B38; // type:object size:0x2C8 scope:local align:8 data:4byte -CommandList = .bss:0x801A5E00; // type:object size:0x3C scope:local data:4byte -AlarmForWA = .bss:0x801A5E40; // type:object size:0x28 scope:local align:8 -AlarmForTimeout = .bss:0x801A5E68; // type:object size:0x28 scope:local align:8 -AlarmForBreak = .bss:0x801A5E90; // type:object size:0x28 scope:local align:8 -Prev = .bss:0x801A5EB8; // type:object size:0xC scope:local -Curr = .bss:0x801A5EC4; // type:object size:0xC scope:local -tmpBuffer = .bss:0x801A5EE0; // type:object size:0x80 scope:local align:32 -DummyCommandBlock = .bss:0x801A5F60; // type:object size:0x30 scope:local -ResetAlarm = .bss:0x801A5F90; // type:object size:0x28 scope:local align:8 -WaitingQueue = .bss:0x801A5FB8; // type:object size:0x20 scope:local data:4byte -bb2Buf = .bss:0x801A5FD8; // type:object size:0x3F scope:local -block$16 = .bss:0x801A6018; // type:object size:0x30 scope:local -regs = .bss:0x801A6048; // type:object size:0x78 scope:local data:2byte -shdwRegs = .bss:0x801A60C0; // type:object size:0x78 scope:local -HorVer = .bss:0x801A6138; // type:object size:0x58 scope:local data:2byte -fontTexObj = .bss:0x801A6190; // type:object size:0x20 scope:local -Type = .bss:0x801A61B0; // type:object size:0x10 scope:local -Origin = .bss:0x801A61C0; // type:object size:0x1E scope:local -CmdProbeDevice = .bss:0x801A61F0; // type:object size:0x10 scope:local -gxData = .bss:0x801A6200; // type:object size:0x4F8 scope:local -FifoObj = .bss:0x801A66F8; // type:object size:0x80 -DisplayListFifo = .bss:0x801A6778; // type:object size:0x24 scope:local data:4byte -__savedGXdata = .bss:0x801A679C; // type:object size:0x4F8 scope:local data:4byte -__CARDBlock = .bss:0x801A6C98; // type:object size:0x220 data:4byte -__CARDDiskNone = .bss:0x801A6EB8; // type:object size:0x20 -Ecb = .bss:0x801A6ED8; // type:object size:0xC0 scope:local data:4byte -Packet = .bss:0x801A6F98; // type:object size:0x80 scope:local align:8 data:4byte -Alarm = .bss:0x801A7018; // type:object size:0xA0 scope:local align:8 -TypeTime = .bss:0x801A70B8; // type:object size:0x20 scope:local align:8 -XferTime = .bss:0x801A70D8; // type:object size:0x20 scope:local align:8 -TypeCallback = .bss:0x801A70F8; // type:object size:0x40 scope:local -RDSTHandler = .bss:0x801A7138; // type:object size:0x10 scope:local data:4byte -InputBufferValid = .bss:0x801A7148; // type:object size:0x10 scope:local data:4byte -InputBuffer = .bss:0x801A7158; // type:object size:0x20 scope:local data:4byte -InputBufferVcount = .bss:0x801A7178; // type:object size:0x10 scope:local data:4byte -cmdFixDevice$327 = .bss:0x801A7188; // type:object size:0x10 scope:local data:4byte -__THPIDCTWorkspace = .bss:0x801A71A0; // type:object size:0x100 scope:local align:32 -__THPLCWork512 = .bss:0x801A72A0; // type:object size:0xC scope:local -__THPLCWork640 = .bss:0x801A72AC; // type:object size:0xC scope:local -__THPMCUBuffer = .bss:0x801A72B8; // type:object size:0x18 scope:local data:4byte -fragmentinfo = .bss:0x801A72D0; // type:object size:0xC scope:local data:4byte -__atexit_funcs = .bss:0x801A72E0; // type:object size:0x100 scope:local -protopool$192 = .bss:0x801A73E0; // type:object size:0x38 scope:local data:4byte -stderr_buff = .bss:0x801A7418; // type:object size:0x100 scope:local -stdout_buff = .bss:0x801A7518; // type:object size:0x100 scope:local -stdin_buff = .bss:0x801A7618; // type:object size:0x100 scope:local -signal_funcs = .bss:0x801A7718; // type:object size:0x18 scope:local -gTRKEventQueue = .bss:0x801A7730; // type:object size:0x28 -gTRKBigEndian = .bss:0x801A7758; // type:object size:0x4 scope:global data:4byte -gTRKMsgBufs = .bss:0x801A7760; // type:object size:0x19B0 -gTRKInputPendingPtr = .bss:0x801A9110; // type:object size:0x4 scope:global data:4byte -gTRKFramingState = .bss:0x801A9114; // type:object size:0x14 scope:local data:4byte -gTRKDispatchTableSize = .bss:0x801A9128; // type:object size:0x4 data:4byte -IsTRKConnected = .bss:0x801A9130; // type:object size:0x4 scope:local data:4byte -TRK_saved_exceptionID = .bss:0x801A9138; // type:object size:0x2 scope:local data:2byte -gTRKState = .bss:0x801A913C; // type:object size:0xA4 scope:global data:4byte -gTRKCPUState = .bss:0x801A91E0; // type:object size:0x430 scope:global -gTRKSaveState = .bss:0x801A9610; // type:object size:0x94 scope:global data:4byte -TRKvalue128_temp = .bss:0x801A96A4; // type:object size:0x10 -lc_base = .bss:0x801A96B8; // type:object size:0x4 scope:local data:4byte -TRK_mainError = .bss:0x801A96C0; // type:object size:0x4 scope:local data:4byte -gWritePos = .bss:0x801A96C8; // type:object size:0x4 scope:local data:4byte -gReadPos = .bss:0x801A96CC; // type:object size:0x4 scope:local data:4byte -gReadCount = .bss:0x801A96D0; // type:object size:0x4 scope:local data:4byte -_MetroTRK_Has_Framing = .bss:0x801A96D4; // type:object size:0x4 data:4byte -gReadBuf = .bss:0x801A96D8; // type:object size:0x110A scope:local -gWriteBuf = .bss:0x801AA7E4; // type:object size:0x110A scope:local -bUseSerialIO = .bss:0x801AB8F0; // type:object size:0x1 scope:local data:byte -seqNote = .bss:0x801AB8F8; // type:object size:0x1400 scope:local data:4byte -seqInstance = .bss:0x801ACCF8; // type:object size:0xC340 -seqMIDIPriority = .bss:0x801B9038; // type:object size:0x100 data:2byte -synthTicksPerSecond = .bss:0x801B9138; // type:object size:0x240 scope:local -synthInfo = .bss:0x801B9378; // type:object size:0x214 data:4byte -synthMasterFader = .bss:0x801B958C; // type:object size:0x600 data:float -synthTrackVolume = .bss:0x801B9B8C; // type:object size:0x40 data:byte -synthJobTable = .bss:0x801B9BCC; // type:object size:0x180 scope:local -synthAuxAUser = .bss:0x801B9D4C; // type:object size:0x20 data:4byte -synthAuxACallback = .bss:0x801B9D6C; // type:object size:0x20 data:4byte -synthAuxBUser = .bss:0x801B9D8C; // type:object size:0x20 data:4byte -synthAuxBCallback = .bss:0x801B9DAC; // type:object size:0x20 data:4byte -synthITDDefault = .bss:0x801B9DCC; // type:object size:0x10 data:byte -synthGlobalVariable = .bss:0x801B9DDC; // type:object size:0x40 data:4byte -inpAuxB = .bss:0x801B9E1C; // type:object size:0x480 -inpAuxA = .bss:0x801BA29C; // type:object size:0x480 -streamInfo = .bss:0x801BA720; // type:object size:0x1900 data:4byte -dataKeymapTab = .bss:0x801BC020; // type:object size:0x800 scope:local -dataLayerTab = .bss:0x801BC820; // type:object size:0xC00 scope:local -dataCurveTab = .bss:0x801BD420; // type:object size:0x4000 scope:local -dataSmpSDirs = .bss:0x801C1420; // type:object size:0x600 scope:local data:4byte -dataFXGroups = .bss:0x801C1A20; // type:object size:0x400 scope:local data:2byte -dataMacMainTab = .bss:0x801C1E20; // type:object size:0x800 scope:local data:2byte -dataMacSubTabmem = .bss:0x801C2620; // type:object size:0x4000 scope:local -key$787 = .bss:0x801C6620; // type:object size:0x20 scope:local data:2byte -key$836 = .bss:0x801C6640; // type:object size:0xC scope:local -key$850 = .bss:0x801C664C; // type:object size:0xA scope:local data:2byte -newsmp$473 = .bss:0x801C6658; // type:object size:0x20 scope:local data:4byte -vidList = .bss:0x801C6678; // type:object size:0x800 scope:local data:4byte -voicePrioSortVoices = .bss:0x801C6E78; // type:object size:0x100 -voicePrioSortVoicesRoot = .bss:0x801C6F78; // type:object size:0x100 -voicePrioSortRootList = .bss:0x801C7078; // type:object size:0x400 -voiceList = .bss:0x801C7478; // type:object size:0x100 -synth_last_fxstarted = .bss:0x801C7578; // type:object size:0x40 scope:local data:byte -synth_last_started = .bss:0x801C75B8; // type:object size:0x80 scope:local data:byte -vs = .bss:0x801C7638; // type:object size:0x950 data:byte -gs = .bss:0x801C7F88; // type:object size:0x600 scope:local data:4byte -dspStudio = .bss:0x801C8588; // type:object size:0x5E0 data:4byte -voices$591 = .bss:0x801C8B68; // type:object size:0x100 scope:local data:4byte -tmp_em$515 = .bss:0x801C8C68; // type:object size:0x50 scope:local -startGroup = .bss:0x801C8CB8; // type:object size:0x400 scope:local data:4byte -runList = .bss:0x801C90B8; // type:object size:0x300 scope:local -startListNum = .bss:0x801C93B8; // type:object size:0x700 scope:local -inpGlobalMIDIDirtyFlags = .bss:0x801C9AB8; // type:object size:0x200 scope:local data:4byte -midi_ctrl = .bss:0x801C9CB8; // type:object size:0x4300 scope:local -inpChannelDefaults = .bss:0x801CDFB8; // type:object size:0x80 scope:local -fx_ctrl = .bss:0x801CE038; // type:object size:0x2180 scope:local -inpFXChannelDefaults = .bss:0x801D01B8; // type:object size:0x40 scope:local -midi_lastNote = .bss:0x801D01F8; // type:object size:0x80 scope:local -fx_lastNote = .bss:0x801D0278; // type:object size:0x40 scope:local -aramQueueLo = .bss:0x801D02B8; // type:object size:0x284 scope:local -aramQueueHi = .bss:0x801D053C; // type:object size:0x284 scope:local -aramStreamBuffers = .bss:0x801D07C0; // type:object size:0x400 scope:local data:4byte -dsp_task = .bss:0x801D0BC0; // type:object size:0x60 scope:local align:8 -dram_image = .bss:0x801D0C20; // type:object size:0x2000 scope:local align:32 -sys = .bss:0x801D2C20; // type:object size:0x4FC scope:local data:4byte -mem = .bss:0x801D3120; // type:object size:0x2C scope:local data:4byte -fio = .bss:0x801D3150; // type:object size:0xC scope:local data:4byte -mus = .bss:0x801D3160; // type:object size:0x178 scope:local data:2byte -se = .bss:0x801D32D8; // type:object size:0xDC scope:local data:4byte -StreamInfo = .bss:0x801D33C0; // type:object size:0x60 scope:local align:32 data:4byte -lbl_801D3420 = .sdata:0x801D3420; // type:object size:0x5 scope:local data:string -lbl_801D3425 = .sdata:0x801D3425; // type:object size:0x7 scope:local -rnd_seed = .sdata:0x801D342C; // type:object size:0x4 data:4byte -lbl_801D3430 = .sdata:0x801D3430; // type:object size:0x6 scope:local data:string -lbl_801D3436 = .sdata:0x801D3436; // type:object size:0x2 scope:local data:string -lbl_801D3438 = .sdata:0x801D3438; // type:object size:0x7 data:string -lbl_801D343F = .sdata:0x801D343F; // type:object size:0x9 -FirstFrame = .sdata:0x801D3448; // type:object size:0x4 scope:local data:4byte -lbl_801D344C = .sdata:0x801D344C; // type:object size:0x7 data:string -lbl_801D3453 = .sdata:0x801D3453; // type:object size:0xD -lbl_801D3460 = .sdata:0x801D3460; // type:object size:0x2 data:string -lbl_801D3462 = .sdata:0x801D3462; // type:object size:0xE -oneceF = .sdata:0x801D3470; // type:object size:0x2 scope:local data:2byte -firstTev = .sdata:0x801D3472; // type:object size:0x4 scope:local -secondTev = .sdata:0x801D3476; // type:object size:0x4 scope:local -lbl_801D347A = .sdata:0x801D347A; // type:object size:0xE -lbl_801D3488 = .sdata:0x801D3488; // type:object size:0x4 data:string -lbl_801D348C = .sdata:0x801D348C; // type:object size:0xC -omSysPauseEnableFlag = .sdata:0x801D3498; // type:object size:0x1 data:byte -omprevovl = .sdata:0x801D349C; // type:object size:0x4 data:4byte -titleMes$442 = .sdata:0x801D34A0; // type:object size:0x4 scope:local data:4byte -lbl_801D34A4 = .sdata:0x801D34A4; // type:object size:0xC -lbl_801D34B0 = .sdata:0x801D34B0; // type:object size:0x1 -lbl_801D34B1 = .sdata:0x801D34B1; // type:object size:0x7 -mgSeqOvlPrev = .sdata:0x801D34B8; // type:object size:0x4 data:4byte -wordStartE = .sdata:0x801D34BC; // type:object size:0x7 scope:local data:string -seqPunctTbl = .sdata:0x801D34C3; // type:object size:0x3 scope:local data:byte -wordStartJ = .sdata:0x801D34C6; // type:object size:0x6 scope:local -wordFinishJ = .sdata:0x801D34CC; // type:object size:0x8 scope:local -wordDrawJ = .sdata:0x801D34D4; // type:object size:0x6 scope:local -wordFinishE = .sdata:0x801D34DA; // type:object size:0x8 scope:local data:string -wordDrawE = .sdata:0x801D34E2; // type:object size:0x6 scope:local data:string -lbl_801D34E8 = .sdata:0x801D34E8; // type:object size:0x4 scope:local -lbl_801D34EC = .sdata:0x801D34EC; // type:object size:0x6 scope:local data:string -lbl_801D34F2 = .sdata:0x801D34F2; // type:object size:0x6 scope:local -lbl_801D34F8 = .sdata:0x801D34F8; // type:object size:0x6 scope:local data:string -lbl_801D34FE = .sdata:0x801D34FE; // type:object size:0x5 scope:local -lbl_801D3503 = .sdata:0x801D3503; // type:object size:0x6 scope:local data:string -lbl_801D3509 = .sdata:0x801D3509; // type:object size:0x5 scope:local -lbl_801D350E = .sdata:0x801D350E; // type:object size:0x6 scope:local data:string -lbl_801D3514 = .sdata:0x801D3514; // type:object size:0x4 scope:local -lbl_801D3518 = .sdata:0x801D3518; // type:object size:0x6 scope:local data:string -lbl_801D351E = .sdata:0x801D351E; // type:object size:0x6 scope:local -lbl_801D3524 = .sdata:0x801D3524; // type:object size:0x5 scope:local data:string -lbl_801D3529 = .sdata:0x801D3529; // type:object size:0x7 scope:local -lbl_801D3530 = .sdata:0x801D3530; // type:object size:0x6 scope:local data:string -lbl_801D3536 = .sdata:0x801D3536; // type:object size:0x7 scope:local -lbl_801D353D = .sdata:0x801D353D; // type:object size:0x8 scope:local data:string -lbl_801D3545 = .sdata:0x801D3545; // type:object size:0x5 scope:local -lbl_801D354A = .sdata:0x801D354A; // type:object size:0x7 scope:local data:string -lbl_801D3551 = .sdata:0x801D3551; // type:object size:0x6 scope:local -lbl_801D3557 = .sdata:0x801D3557; // type:object size:0x5 scope:local data:string -lbl_801D355C = .sdata:0x801D355C; // type:object size:0x5 scope:local -lbl_801D3561 = .sdata:0x801D3561; // type:object size:0x8 scope:local data:string -lbl_801D3569 = .sdata:0x801D3569; // type:object size:0x4 scope:local -lbl_801D356D = .sdata:0x801D356D; // type:object size:0x4 scope:local data:string -lbl_801D3571 = .sdata:0x801D3571; // type:object size:0x5 scope:local -lbl_801D3576 = .sdata:0x801D3576; // type:object size:0x6 scope:local data:string -lbl_801D357C = .sdata:0x801D357C; // type:object size:0x7 scope:local -lbl_801D3583 = .sdata:0x801D3583; // type:object size:0x6 scope:local -lbl_801D3589 = .sdata:0x801D3589; // type:object size:0x7 scope:local data:string -lbl_801D3590 = .sdata:0x801D3590; // type:object size:0x3 scope:local -lbl_801D3593 = .sdata:0x801D3593; // type:object size:0x5 scope:local data:string -lbl_801D3598 = .sdata:0x801D3598; // type:object size:0x6 scope:local -lbl_801D359E = .sdata:0x801D359E; // type:object size:0x5 scope:local data:string -lbl_801D35A3 = .sdata:0x801D35A3; // type:object size:0x7 scope:local -lbl_801D35AA = .sdata:0x801D35AA; // type:object size:0x6 scope:local -lbl_801D35B0 = .sdata:0x801D35B0; // type:object size:0x6 scope:local data:string -pauseStr = .sdata:0x801D35B8; // type:object size:0x8 scope:local -lbl_801D35C0 = .sdata:0x801D35C0; // type:object size:0x8 -lbl_801D35C8 = .sdata:0x801D35C8; // type:object size:0x8 -lbl_801D35D0 = .sdata:0x801D35D0; // type:object size:0x8 -lbl_801D35D8 = .sdata:0x801D35D8; // type:object size:0x8 -colorN$400 = .sdata:0x801D35E0; // type:object size:0x4 data:byte -colorN$444 = .sdata:0x801D35E4; // type:object size:0x4 data:byte -winPrio = .sdata:0x801D35E8; // type:object size:0x8 scope:local data:2byte -lbl_801D35F0 = .sdata:0x801D35F0; // type:object size:0x8 scope:local -lbl_801D35F8 = .sdata:0x801D35F8; // type:object size:0x8 scope:local -lbl_801D3600 = .sdata:0x801D3600; // type:object size:0x8 scope:local -lbl_801D3608 = .sdata:0x801D3608; // type:object size:0x8 scope:local -lbl_801D3610 = .sdata:0x801D3610; // type:object size:0x8 scope:local -lbl_801D3618 = .sdata:0x801D3618; // type:object size:0x1 -lbl_801D3619 = .sdata:0x801D3619; // type:object size:0x5 data:string -lbl_801D361E = .sdata:0x801D361E; // type:object size:0x5 data:string -lbl_801D3623 = .sdata:0x801D3623; // type:object size:0x8 data:string -lbl_801D362B = .sdata:0x801D362B; // type:object size:0x6 data:string -lbl_801D3631 = .sdata:0x801D3631; // type:object size:0x7 -lbl_801D3638 = .sdata:0x801D3638; // type:object size:0x8 -SaveEnableF = .sdata:0x801D3640; // type:object size:0x4 data:4byte -lbl_801D3644 = .sdata:0x801D3644; // type:object size:0x2 data:string -lbl_801D3646 = .sdata:0x801D3646; // type:object size:0x2 data:string -SlotNameTbl = .sdata:0x801D3648; // type:object size:0x8 scope:local -saveMessWin = .sdata:0x801D3650; // type:object size:0x4 scope:local data:4byte -SR_PushTime = .sdata:0x801D3658; // type:object size:0x8 scope:local data:2byte -SR_ResetPad = .sdata:0x801D3660; // type:object size:0x1 scope:local data:byte -Xfb = .sdata:0x801D3664; // type:object size:0x8 scope:local data:4byte -nextOvl = .sdata:0x801D3670; // type:object size:0x4 scope:local data:4byte -colorN$488 = .sdata:0x801D3674; // type:object size:0x4 scope:local data:byte -lbl_801D3678 = .sdata:0x801D3678; // type:object size:0x8 -suitMdl = .sdata:0x801D3680; // type:object size:0x2 scope:local data:2byte -suitPlayerMdl = .sdata:0x801D3682; // type:object size:0x2 scope:local data:2byte -suitCurrMot = .sdata:0x801D3684; // type:object size:0x2 scope:local data:2byte -lbl_801D3686 = .sdata:0x801D3686; // type:object size:0x5 data:string -lbl_801D368B = .sdata:0x801D368B; // type:object size:0x5 data:string -lbl_801D3690 = .sdata:0x801D3690; // type:object size:0x6 data:string -lbl_801D3696 = .sdata:0x801D3696; // type:object size:0x6 data:string -lbl_801D369C = .sdata:0x801D369C; // type:object size:0x6 data:string -lbl_801D36A2 = .sdata:0x801D36A2; // type:object size:0x6 data:string -lbl_801D36A8 = .sdata:0x801D36A8; // type:object size:0x6 data:string -lbl_801D36AE = .sdata:0x801D36AE; // type:object size:0x6 data:string -lbl_801D36B4 = .sdata:0x801D36B4; // type:object size:0x6 data:string -lbl_801D36BA = .sdata:0x801D36BA; // type:object size:0x6 data:string -lbl_801D36C0 = .sdata:0x801D36C0; // type:object size:0x6 data:string -lbl_801D36C6 = .sdata:0x801D36C6; // type:object size:0x6 data:string -lbl_801D36CC = .sdata:0x801D36CC; // type:object size:0x6 data:string -lbl_801D36D2 = .sdata:0x801D36D2; // type:object size:0x8 data:string -windowID = .sdata:0x801D36E0; // type:object size:0x2 scope:local data:2byte -boardFX = .sdata:0x801D36E8; // type:object size:0x4 scope:local data:4byte -itemUse = .sdata:0x801D36F0; // type:object size:0x1 scope:local data:byte -buttonWin = .sdata:0x801D36F8; // type:object size:0x2 scope:local data:2byte -focusMdl = .sdata:0x801D36FA; // type:object size:0x2 scope:local data:2byte -spaceDrawMdl = .sdata:0x801D3700; // type:object size:0x2 scope:local data:2byte -starPlatMdl = .sdata:0x801D3702; // type:object size:0x2 scope:local data:2byte -itemMdl = .sdata:0x801D3708; // type:object size:0x2 scope:local data:2byte -itemChoice = .sdata:0x801D370A; // type:object size:0x1 scope:local data:byte -shopMdlParam = .sdata:0x801D370C; // type:object size:0x8 scope:local -hostMdl = .sdata:0x801D3714; // type:object size:0x2 scope:local data:2byte -shopMot = .sdata:0x801D3716; // type:object size:0x6 scope:local data:2byte -itemCurChoice = .sdata:0x801D371C; // type:object size:0x1 scope:local data:byte -defaultItemTbl = .sdata:0x801D371D; // type:object size:0x5 scope:local data:byte -hostMdl = .sdata:0x801D3728; // type:object size:0x2 scope:local data:2byte -lotteryMot = .sdata:0x801D372A; // type:object size:0x8 scope:local data:2byte -lotterySpr = .sdata:0x801D3732; // type:object size:0x2 scope:local data:2byte -lotteryInstWin = .sdata:0x801D3734; // type:object size:0x2 scope:local data:2byte -gripMdl = .sdata:0x801D3736; // type:object size:0x4 scope:local data:2byte -turnMot = .sdata:0x801D373A; // type:object size:0x2 scope:local data:2byte -ballMdl = .sdata:0x801D373C; // type:object size:0x8 scope:local data:2byte -loseMot = .sdata:0x801D3744; // type:object size:0x2 scope:local data:2byte -ticketSprGrp = .sdata:0x801D3746; // type:object size:0x2 scope:local data:2byte -warpSpringMdl = .sdata:0x801D3748; // type:object size:0x2 scope:local data:2byte -warpImpactMdl = .sdata:0x801D374A; // type:object size:0x2 scope:local data:2byte -warpImpactPlayer = .sdata:0x801D374C; // type:object size:0x4 scope:local -lbl_801D3750 = .sdata:0x801D3750; // type:object size:0x8 -wheelPos = .sdata:0x801D3758; // type:object size:0x1 scope:local data:byte -wheelSprGrp = .sdata:0x801D375A; // type:object size:0x2 scope:local data:2byte -wheelFXStat = .sdata:0x801D375C; // type:object size:0x4 scope:local data:4byte -boxObj = .sdata:0x801D3760; // type:object size:0x8 scope:local -itemMdl = .sdata:0x801D3768; // type:object size:0x2 scope:local data:2byte -starParman = .sdata:0x801D3770; // type:object size:0x2 scope:local data:2byte -hostMdl = .sdata:0x801D3772; // type:object size:0x2 scope:local data:2byte -diceMdl = .sdata:0x801D3778; // type:object size:0x6 scope:local -diceEff = .sdata:0x801D377E; // type:object size:0x6 scope:local -rollWin = .sdata:0x801D3784; // type:object size:0x2 scope:local data:2byte -lbl_801D3786 = .sdata:0x801D3786; // type:object size:0x3 scope:local data:string -itemPickupMdlId = .sdata:0x801D3790; // type:object size:0x2 scope:local data:2byte -yourTurnSprGrp = .sdata:0x801D3792; // type:object size:0x2 scope:local data:2byte -jumpMot = .sdata:0x801D3798; // type:object size:0x2 scope:local data:2byte -starMdl = .sdata:0x801D379A; // type:object size:0x2 scope:local data:2byte -lbl_801D37A0 = .sdata:0x801D37A0; // type:object size:0x8 -lbl_801D37A8 = .sdata:0x801D37A8; // type:object size:0x8 -jumpMot = .sdata:0x801D37B0; // type:object size:0x2 scope:local data:2byte -scareMot = .sdata:0x801D37B2; // type:object size:0x2 scope:local data:2byte -suitItemMdl = .sdata:0x801D37B4; // type:object size:0x2 scope:local data:2byte -bowserMdl = .sdata:0x801D37B6; // type:object size:0x2 scope:local data:2byte -lbl_801D37B8 = .sdata:0x801D37B8; // type:object size:0x3 data:string -lbl_801D37BB = .sdata:0x801D37BB; // type:object size:0x8 data:string -lbl_801D37C8 = .sdata:0x801D37C8; // type:object size:0x3 data:string -lbl_801D37D0 = .sdata:0x801D37D0; // type:object size:0x7 data:string -ballMdlTbl = .sdata:0x801D37D8; // type:object size:0x8 scope:local -lbl_801D37E0 = .sdata:0x801D37E0; // type:object size:0x4 data:string -luckyValue = .sdata:0x801D37E8; // type:object size:0x1 scope:local data:byte -cursorPos = .sdata:0x801D37E9; // type:object size:0x1 scope:local data:byte -houseShowMot = .sdata:0x801D37F0; // type:object size:0x2 scope:local data:2byte -houseHideMot = .sdata:0x801D37F2; // type:object size:0x2 scope:local data:2byte -ballMdl = .sdata:0x801D37F4; // type:object size:0x2 scope:local data:2byte -booMdl = .sdata:0x801D37F6; // type:object size:0x2 scope:local data:2byte -lbl_801D37F8 = .sdata:0x801D37F8; // type:object size:0x2 scope:local data:2byte -hostMdl = .sdata:0x801D37FA; // type:object size:0x2 scope:local data:2byte -houseMot = .sdata:0x801D37FC; // type:object size:0x6 scope:local data:2byte -lbl_801D3802 = .sdata:0x801D3802; // type:object size:0x7 data:string -lbl_801D3809 = .sdata:0x801D3809; // type:object size:0x7 data:string -lbl_801D3810 = .sdata:0x801D3810; // type:object size:0x7 data:string -lbl_801D3817 = .sdata:0x801D3817; // type:object size:0x7 data:string -lbl_801D381E = .sdata:0x801D381E; // type:object size:0x7 data:string -lbl_801D3825 = .sdata:0x801D3825; // type:object size:0x6 data:string -lbl_801D382B = .sdata:0x801D382B; // type:object size:0x7 data:string -lbl_801D3832 = .sdata:0x801D3832; // type:object size:0x6 data:string -lbl_801D3838 = .sdata:0x801D3838; // type:object size:0x3 data:string -logoSprGrp = .sdata:0x801D3840; // type:object size:0x2 scope:local data:2byte -logoSpr = .sdata:0x801D3842; // type:object size:0x2 scope:local data:2byte -camFocus = .sdata:0x801D3844; // type:object size:0x2 scope:local data:2byte -tapWin = .sdata:0x801D3846; // type:object size:0x2 scope:local data:2byte -streamStatus = .sdata:0x801D3848; // type:object size:0x4 scope:local data:4byte -tutorialRollTbl = .sdata:0x801D384C; // type:object size:0x4 scope:local -stopWin = .sdata:0x801D3850; // type:object size:0x2 scope:local data:2byte -wheelMdl = .sdata:0x801D3852; // type:object size:0x2 scope:local data:2byte -lbl_801D3854 = .sdata:0x801D3854; // type:object size:0x2 data:2byte -focusMdl = .sdata:0x801D3856; // type:object size:0x2 scope:local data:2byte -messBase = .sdata:0x801D3858; // type:object size:0x4 scope:local data:4byte -lbl_801D385C = .sdata:0x801D385C; // type:object size:0x6 data:string -lbl_801D3862 = .sdata:0x801D3862; // type:object size:0x7 data:string -lbl_801D3869 = .sdata:0x801D3869; // type:object size:0x7 data:string -lbl_801D3870 = .sdata:0x801D3870; // type:object size:0x7 data:string -lbl_801D3877 = .sdata:0x801D3877; // type:object size:0x5 data:string -lbl_801D387C = .sdata:0x801D387C; // type:object size:0x6 data:string -lbl_801D3882 = .sdata:0x801D3882; // type:object size:0x6 data:string -lbl_801D3888 = .sdata:0x801D3888; // type:object size:0x6 data:string -lbl_801D388E = .sdata:0x801D388E; // type:object size:0x4 data:string -lbl_801D3892 = .sdata:0x801D3892; // type:object size:0x5 data:string -lbl_801D3897 = .sdata:0x801D3897; // type:object size:0x5 data:string -lbl_801D389C = .sdata:0x801D389C; // type:object size:0x5 data:string -pausePad = .sdata:0x801D38A8; // type:object size:0x1 scope:local data:byte -pauseSprGrp = .sdata:0x801D38AA; // type:object size:0x2 scope:local data:2byte -padConfigSprGrp = .sdata:0x801D38AC; // type:object size:0x2 scope:local data:2byte -pauseCursorPos = .sdata:0x801D38AE; // type:object size:0x2 scope:local data:2byte -settingsControlWin = .sdata:0x801D38B0; // type:object size:0x2 scope:local data:2byte -controlWin = .sdata:0x801D38B2; // type:object size:0x2 scope:local data:2byte -quitWin = .sdata:0x801D38B4; // type:object size:0x2 scope:local data:2byte -settingsWin = .sdata:0x801D38B6; // type:object size:0x2 scope:local data:2byte -__OSCurrHeap = .sdata:0x801D38B8; // type:object size:0x8 data:4byte -__OSArenaLo = .sdata:0x801D38C0; // type:object size:0x4 scope:local data:4byte -@32 = .sdata:0x801D38C8; // type:object size:0x2 scope:local data:string -fontEncode$80 = .sdata:0x801D38D0; // type:object size:0x8 scope:local data:2byte -Unit01 = .sdata:0x801D38D8; // type:object size:0x8 -FirstRead = .sdata:0x801D38E0; // type:object size:0x4 scope:local data:4byte -lbl_801D38E8 = .sdata:0x801D38E8; // type:object size:0x8 scope:local data:string -autoInvalidation = .sdata:0x801D38F0; // type:object size:0x4 scope:local data:4byte -@35 = .sdata:0x801D38F8; // type:object size:0x2 scope:local data:string -@40 = .sdata:0x801D38FC; // type:object size:0x4 scope:local data:string -@41 = .sdata:0x801D3900; // type:object size:0x3 scope:local data:string -lbl_801D3908 = .sdata:0x801D3908; // type:object size:0x8 scope:local data:string -ClampRegion = .sdata:0x801D3910; // type:object size:0x8 scope:local data:byte -ResettingChan = .sdata:0x801D3918; // type:object size:0x4 scope:local data:4byte -XPatchBits = .sdata:0x801D391C; // type:object size:0x4 scope:local data:4byte -AnalogMode = .sdata:0x801D3920; // type:object size:0x4 scope:local data:4byte -Spec = .sdata:0x801D3924; // type:object size:0x4 scope:local data:4byte -MakeStatus = .sdata:0x801D3928; // type:object size:0x4 scope:local data:4byte -CmdReadOrigin = .sdata:0x801D392C; // type:object size:0x4 scope:local -CmdCalibrate = .sdata:0x801D3930; // type:object size:0x4 scope:local -gx = .sdata:0x801D3938; // type:object size:0x4 scope:global data:4byte -tbl1$215 = .sdata:0x801D3940; // type:object size:0x4 scope:local -tbl2$216 = .sdata:0x801D3944; // type:object size:0x4 scope:local -tbl3$217 = .sdata:0x801D3948; // type:object size:0x4 scope:local -GXTexMode0Ids = .sdata:0x801D3950; // type:object size:0x8 scope:local -GXTexMode1Ids = .sdata:0x801D3958; // type:object size:0x8 scope:local -GXTexImage0Ids = .sdata:0x801D3960; // type:object size:0x8 scope:local -GXTexImage1Ids = .sdata:0x801D3968; // type:object size:0x8 scope:local -GXTexImage2Ids = .sdata:0x801D3970; // type:object size:0x8 scope:local -GXTexImage3Ids = .sdata:0x801D3978; // type:object size:0x8 scope:local -GXTexTlutIds = .sdata:0x801D3980; // type:object size:0x8 scope:local -GX2HWFiltConv = .sdata:0x801D3988; // type:object size:0x6 scope:local -next = .sdata:0x801D3990; // type:object size:0x4 scope:local data:4byte -__CARDVendorID = .sdata:0x801D3998; // type:object size:0x2 data:2byte -__RTTI__Q23std9exception = .sdata:0x801D39A0; // type:object size:0x8 scope:local -thandler__3std = .sdata:0x801D39A8; // type:object size:0x4 scope:local data:4byte -uhandler__3std = .sdata:0x801D39AC; // type:object size:0x4 scope:local data:4byte -fragmentID = .sdata:0x801D39B0; // type:object size:0x4 scope:local data:4byte -__RTTI__Q23std9exception = .sdata:0x801D39B8; // type:object size:0x8 scope:local -__RTTI__Q23std13bad_exception = .sdata:0x801D39C0; // type:object size:0x8 scope:local -@wstringBase0 = .sdata:0x801D39C8; // type:object size:0x2 scope:local -__float_nan = .sdata:0x801D39D0; // type:object size:0x4 data:float -__float_huge = .sdata:0x801D39D4; // type:object size:0x4 data:float -last_rnd = .sdata:0x801D39D8; // type:object size:0x4 scope:local data:4byte -dspSRCType$437 = .sdata:0x801D39E0; // type:object size:0x6 align:4 -dspCoefSel$442 = .sdata:0x801D39E8; // type:object size:0x6 align:4 -dspSlaveLength = .sdata:0x801D39F0; // type:object size:0x2 data:2byte -SendCount = .sdata:0x801D39F8; // type:object size:0x1 scope:local data:byte -SystemInitF = .sbss:0x801D3A00; // type:object size:0x4 data:4byte -HuDvdErrWait = .sbss:0x801D3A04; // type:object size:0x4 data:4byte -fi_req = .sbss:0x801D3A08; // type:object size:0x4 scope:local -rf_req = .sbss:0x801D3A0C; // type:object size:0x4 scope:local -pe_req = .sbss:0x801D3A10; // type:object size:0x4 scope:local -vi_req = .sbss:0x801D3A14; // type:object size:0x4 scope:local -io_req = .sbss:0x801D3A18; // type:object size:0x4 scope:local -dsp_req = .sbss:0x801D3A1C; // type:object size:0x4 scope:local -cpu_wr_req = .sbss:0x801D3A20; // type:object size:0x4 scope:local -cpu_rd_req = .sbss:0x801D3A24; // type:object size:0x4 scope:local -tc_req = .sbss:0x801D3A28; // type:object size:0x4 scope:local -cp_req = .sbss:0x801D3A2C; // type:object size:0x4 scope:local -total_copy_clks = .sbss:0x801D3A30; // type:object size:0x4 scope:local -clr_pixels_in = .sbss:0x801D3A34; // type:object size:0x4 scope:local -bot_pixels_out = .sbss:0x801D3A38; // type:object size:0x4 scope:local -bot_pixels_in = .sbss:0x801D3A3C; // type:object size:0x4 scope:local -top_pixels_out = .sbss:0x801D3A40; // type:object size:0x4 scope:local -top_pixels_in = .sbss:0x801D3A44; // type:object size:0x4 scope:local -vstall = .sbss:0x801D3A48; // type:object size:0x4 scope:local -vmiss = .sbss:0x801D3A4C; // type:object size:0x4 scope:local -vcheck = .sbss:0x801D3A50; // type:object size:0x4 scope:local -GlobalCounter = .sbss:0x801D3A54; // type:object size:0x4 data:4byte -VCounter = .sbss:0x801D3A58; // type:object size:0x4 data:4byte -RumbleBit = .sbss:0x801D3A5C; // type:object size:0x4 scope:local data:4byte -_PadErr = .sbss:0x801D3A60; // type:object size:0x4 scope:local -_PadDStkRepOld = .sbss:0x801D3A64; // type:object size:0x4 scope:local -_PadDStkRepCnt = .sbss:0x801D3A68; // type:object size:0x4 scope:local -_PadDStkRep = .sbss:0x801D3A6C; // type:object size:0x4 scope:local -_PadDStk = .sbss:0x801D3A70; // type:object size:0x4 scope:local -_PadTrigR = .sbss:0x801D3A74; // type:object size:0x4 scope:local -_PadTrigL = .sbss:0x801D3A78; // type:object size:0x4 scope:local -_PadSubStkY = .sbss:0x801D3A7C; // type:object size:0x4 scope:local -_PadSubStkX = .sbss:0x801D3A80; // type:object size:0x4 scope:local -_PadStkY = .sbss:0x801D3A84; // type:object size:0x4 scope:local -_PadStkX = .sbss:0x801D3A88; // type:object size:0x4 scope:local -_PadRepCnt = .sbss:0x801D3A8C; // type:object size:0x8 scope:local -_PadBtnDown = .sbss:0x801D3A94; // type:object size:0x8 -_PadBtn = .sbss:0x801D3A9C; // type:object size:0x8 -HuPadErr = .sbss:0x801D3AA4; // type:object size:0x4 -HuPadDStkRep = .sbss:0x801D3AA8; // type:object size:0x4 -HuPadDStk = .sbss:0x801D3AAC; // type:object size:0x4 -HuPadTrigR = .sbss:0x801D3AB0; // type:object size:0x4 -HuPadTrigL = .sbss:0x801D3AB4; // type:object size:0x4 -HuPadSubStkY = .sbss:0x801D3AB8; // type:object size:0x4 -HuPadSubStkX = .sbss:0x801D3ABC; // type:object size:0x4 -HuPadStkY = .sbss:0x801D3AC0; // type:object size:0x4 -HuPadStkX = .sbss:0x801D3AC4; // type:object size:0x4 -HuPadBtnRep = .sbss:0x801D3AC8; // type:object size:0x8 -HuPadBtnDown = .sbss:0x801D3AD0; // type:object size:0x8 data:2byte -HuPadBtn = .sbss:0x801D3AD8; // type:object size:0x8 -beforeDvdStatus = .sbss:0x801D3AE0; // type:object size:0x4 scope:local data:4byte -CallBackStatus = .sbss:0x801D3AE4; // type:object size:0x4 scope:local data:4byte -shortAccessSleep = .sbss:0x801D3AE8; // type:object size:0x4 scope:local data:4byte -DataDirMax = .sbss:0x801D3AEC; // type:object size:0x4 scope:local data:4byte -DirDataSize = .sbss:0x801D3AF0; // type:object size:0x8 data:4byte -DemoStatEnable = .sbss:0x801D3AF8; // type:object size:0x4 scope:local data:4byte -worstVcount = .sbss:0x801D3AFC; // type:object size:0x4 data:4byte -minimumVcountf = .sbss:0x801D3B00; // type:object size:0x4 data:float -minimumVcount = .sbss:0x801D3B04; // type:object size:0x4 data:4byte -DemoCurrentBuffer = .sbss:0x801D3B08; // type:object size:0x4 data:4byte -DemoFrameBuffer2 = .sbss:0x801D3B0C; // type:object size:0x4 data:4byte -DemoFrameBuffer1 = .sbss:0x801D3B10; // type:object size:0x4 data:4byte -DefaultFifoObj = .sbss:0x801D3B14; // type:object size:0x4 scope:local data:4byte -DefaultFifo = .sbss:0x801D3B18; // type:object size:0x4 scope:local data:4byte -currentHeapHandle = .sbss:0x801D3B1C; // type:object size:0x4 data:4byte -RenderMode = .sbss:0x801D3B20; // type:object size:0x8 data:4byte -saftyFrameF = .sbss:0x801D3B28; // type:object size:0x4 data:4byte -strlinecnt = .sbss:0x801D3B2C; // type:object size:0x2 data:2byte -empstrline = .sbss:0x801D3B2E; // type:object size:0x2 data:2byte -fontcolor = .sbss:0x801D3B30; // type:object size:0x8 data:4byte -procfunc = .sbss:0x801D3B38; // type:object size:0x4 data:4byte -processcnt = .sbss:0x801D3B3C; // type:object size:0x2 scope:local data:2byte -processcur = .sbss:0x801D3B40; // type:object size:0x4 scope:local data:4byte -processtop = .sbss:0x801D3B44; // type:object size:0x4 scope:local data:4byte -HuSprPauseF = .sbss:0x801D3B48; // type:object size:0x4 scope:local data:4byte -HuSprOrderNo = .sbss:0x801D3B4C; // type:object size:0x2 scope:local data:2byte -HuSprOrderNum = .sbss:0x801D3B4E; // type:object size:0x2 scope:local data:2byte -bmpCCIdx = .sbss:0x801D3B50; // type:object size:0x8 scope:local data:2byte -MaterialTop = .sbss:0x801D3B58; // type:object size:0x4 data:4byte -AttributeTop = .sbss:0x801D3B5C; // type:object size:0x4 data:4byte -ClusterTop = .sbss:0x801D3B60; // type:object size:0x4 data:4byte -vtxtop = .sbss:0x801D3B64; // type:object size:0x4 data:4byte -objtop = .sbss:0x801D3B68; // type:object size:0x4 data:4byte -NSymIndex = .sbss:0x801D3B6C; // type:object size:0x4 data:4byte -DicStringTable = .sbss:0x801D3B70; // type:object size:0x4 data:4byte -StringTable = .sbss:0x801D3B74; // type:object size:0x4 data:4byte -fileptr = .sbss:0x801D3B78; // type:object size:0x4 data:4byte -NormalDataTop = .sbss:0x801D3B7C; // type:object size:0x4 scope:local data:4byte -VertexDataTop = .sbss:0x801D3B80; // type:object size:0x4 scope:local data:4byte -MotionModel = .sbss:0x801D3B84; // type:object size:0x4 scope:local data:4byte -MotionOnly = .sbss:0x801D3B88; // type:object size:0x8 scope:local data:4byte -CancelTRXF = .sbss:0x801D3B90; // type:object size:0x4 scope:local data:4byte -TL32F = .sbss:0x801D3B94; // type:object size:0x4 scope:local data:4byte -PGName = .sbss:0x801D3B98; // type:object size:0x4 scope:local data:4byte -PGFinishF = .sbss:0x801D3B9C; // type:object size:0x4 scope:local data:4byte -polySize = .sbss:0x801D3BA0; // type:object size:0x2 scope:local data:2byte -curModelID = .sbss:0x801D3BA4; // type:object size:0x4 scope:local data:4byte -mallocNo = .sbss:0x801D3BA8; // type:object size:0x4 scope:local data:4byte -totalSize = .sbss:0x801D3BAC; // type:object size:0x4 scope:local data:4byte -DLTotalNum = .sbss:0x801D3BB0; // type:object size:0x4 scope:local data:4byte -faceNumBuf = .sbss:0x801D3BB4; // type:object size:0x4 scope:local data:4byte -faceCnt = .sbss:0x801D3BB8; // type:object size:0x2 scope:local data:2byte -quadCnt = .sbss:0x801D3BBA; // type:object size:0x2 scope:local data:2byte -triCnt = .sbss:0x801D3BBC; // type:object size:0x2 scope:local data:2byte -matChgCnt = .sbss:0x801D3BBE; // type:object size:0x2 scope:local data:2byte -DLFirstF = .sbss:0x801D3BC0; // type:object size:0x4 scope:local data:4byte -modelObjNum = .sbss:0x801D3BC4; // type:object size:0x2 data:2byte -modelMeshNum = .sbss:0x801D3BC6; // type:object size:0x2 data:2byte -totalTexCacheCnted = .sbss:0x801D3BC8; // type:object size:0x4 data:4byte -totalTexCacheCnt = .sbss:0x801D3BCC; // type:object size:0x4 data:4byte -totalTexCnted = .sbss:0x801D3BD0; // type:object size:0x4 data:4byte -totalTexCnt = .sbss:0x801D3BD4; // type:object size:0x4 data:4byte -totalMatCnted = .sbss:0x801D3BD8; // type:object size:0x4 data:4byte -totalMatCnt = .sbss:0x801D3BDC; // type:object size:0x4 data:4byte -totalPolyCnted = .sbss:0x801D3BE0; // type:object size:0x4 data:4byte -totalPolyCnt = .sbss:0x801D3BE4; // type:object size:0x4 data:4byte -hookIdx = .sbss:0x801D3BE8; // type:object size:0x2 scope:local data:2byte -kColorIdx = .sbss:0x801D3BEC; // type:object size:0x4 scope:local data:4byte -kColor = .sbss:0x801D3BF0; // type:object size:0x4 scope:local data:byte -projectionMapNo = .sbss:0x801D3BF4; // type:object size:0x2 scope:local data:2byte -toonMapNo = .sbss:0x801D3BF6; // type:object size:0x2 scope:local data:2byte -shadowMapNo = .sbss:0x801D3BF8; // type:object size:0x2 scope:local data:2byte -attachMotionF = .sbss:0x801D3BFC; // type:object size:0x4 scope:local data:4byte -vtxModeBak = .sbss:0x801D3C00; // type:object size:0x2 scope:local data:2byte -hiliteMapNo = .sbss:0x801D3C02; // type:object size:0x2 scope:local data:2byte -reflectionMapNo = .sbss:0x801D3C04; // type:object size:0x2 scope:local data:2byte -Hu3DObjInfoP = .sbss:0x801D3C08; // type:object size:0x4 scope:local data:4byte -DrawObjIdx = .sbss:0x801D3C0C; // type:object size:0x2 scope:local data:2byte -lightBit = .sbss:0x801D3C0E; // type:object size:0x2 scope:local data:2byte -drawCnt = .sbss:0x801D3C10; // type:object size:0x4 scope:local data:4byte -DrawData = .sbss:0x801D3C14; // type:object size:0x4 scope:local data:4byte -DLBufStartP = .sbss:0x801D3C18; // type:object size:0x4 scope:local data:4byte -DLBufP = .sbss:0x801D3C1C; // type:object size:0x4 scope:local data:4byte -shadingBak = .sbss:0x801D3C20; // type:object size:0x4 scope:local data:4byte -polyTypeBak = .sbss:0x801D3C24; // type:object size:0x1 scope:local data:byte -materialBak = .sbss:0x801D3C28; // type:object size:0x4 scope:local data:4byte -MTXIdx = .sbss:0x801D3C2C; // type:object size:0x2 data:2byte -modelKillAllF = .sbss:0x801D3C30; // type:object size:0x4 data:4byte -NoSyncF = .sbss:0x801D3C34; // type:object size:0x2 scope:local data:2byte -Hu3DCameraExistF = .sbss:0x801D3C36; // type:object size:0x2 data:2byte -Hu3DPauseF = .sbss:0x801D3C38; // type:object size:0x2 data:2byte -Hu3DMallocNo = .sbss:0x801D3C3C; // type:object size:0x4 data:4byte -Hu3DCameraBit = .sbss:0x801D3C40; // type:object size:0x2 data:2byte -Hu3DCameraNo = .sbss:0x801D3C42; // type:object size:0x2 data:2byte -Hu3DProjectionNum = .sbss:0x801D3C44; // type:object size:0x2 data:2byte -shadowModelDrawF = .sbss:0x801D3C48; // type:object size:0x4 data:4byte -Hu3DShadowF = .sbss:0x801D3C4C; // type:object size:0x4 data:4byte -Hu3DShadowCamBit = .sbss:0x801D3C50; // type:object size:0x2 data:2byte -toonAnim = .sbss:0x801D3C54; // type:object size:0x4 data:4byte -reflectMapNo = .sbss:0x801D3C58; // type:object size:0x2 data:2byte -BGColor = .sbss:0x801D3C5A; // type:object size:0x4 data:byte -bitMapPtr = .sbss:0x801D3C60; // type:object size:0x4 scope:local data:4byte -metf = .sbss:0x801D3C68; // type:object size:0x1 scope:local data:byte -tokenEndF = .sbss:0x801D3C6A; // type:object size:0x2 scope:local data:2byte -total_copy_clks = .sbss:0x801D3C6C; // type:object size:0x4 scope:local data:4byte -clr_pixels_in = .sbss:0x801D3C70; // type:object size:0x4 scope:local -bot_pixels_out = .sbss:0x801D3C74; // type:object size:0x4 scope:local -bot_pixels_in = .sbss:0x801D3C78; // type:object size:0x4 scope:local -top_pixels_out = .sbss:0x801D3C7C; // type:object size:0x4 scope:local -top_pixels_in = .sbss:0x801D3C80; // type:object size:0x4 scope:local -fi_req = .sbss:0x801D3C84; // type:object size:0x4 scope:local -rf_req = .sbss:0x801D3C88; // type:object size:0x4 scope:local -pe_req = .sbss:0x801D3C8C; // type:object size:0x4 scope:local -vi_req = .sbss:0x801D3C90; // type:object size:0x4 scope:local -io_req = .sbss:0x801D3C94; // type:object size:0x4 scope:local -dsp_req = .sbss:0x801D3C98; // type:object size:0x4 scope:local -cpu_wr_req = .sbss:0x801D3C9C; // type:object size:0x4 scope:local -cpu_rd_req = .sbss:0x801D3CA0; // type:object size:0x4 scope:local -tc_req = .sbss:0x801D3CA4; // type:object size:0x4 scope:local -cp_req = .sbss:0x801D3CA8; // type:object size:0x4 scope:local -vstall = .sbss:0x801D3CAC; // type:object size:0x4 scope:local -vmiss = .sbss:0x801D3CB0; // type:object size:0x4 scope:local -vcheck = .sbss:0x801D3CB4; // type:object size:0x4 scope:local -met1 = .sbss:0x801D3CB8; // type:object size:0x4 scope:local -met0 = .sbss:0x801D3CBC; // type:object size:0x4 scope:local -omdispinfo = .sbss:0x801D3CC0; // type:object size:0x2 data:2byte -omSysExitReq = .sbss:0x801D3CC2; // type:object size:0x2 data:2byte -omUPauseFlag = .sbss:0x801D3CC4; // type:object size:0x1 data:byte -omnextovlstat = .sbss:0x801D3CC8; // type:object size:0x4 scope:local data:4byte -omovlstat = .sbss:0x801D3CCC; // type:object size:0x4 data:4byte -omnextovlevtno = .sbss:0x801D3CD0; // type:object size:0x4 scope:local data:4byte -omovlevtno = .sbss:0x801D3CD4; // type:object size:0x4 data:4byte -omovlhisidx = .sbss:0x801D3CD8; // type:object size:0x4 data:4byte -omcurdll = .sbss:0x801D3CDC; // type:object size:0x4 data:4byte -omcurovl = .sbss:0x801D3CE0; // type:object size:0x4 data:4byte -omnextovl = .sbss:0x801D3CE4; // type:object size:0x4 data:4byte -omwatchproc = .sbss:0x801D3CE8; // type:object size:0x4 data:4byte -omDBGSysKeyObj = .sbss:0x801D3CEC; // type:object size:0x4 data:4byte -y_start = .sbss:0x801D3CF0; // type:object size:0x4 scope:local data:4byte -x_start = .sbss:0x801D3CF4; // type:object size:0x4 scope:local data:4byte -Draw_Color = .sbss:0x801D3CF8; // type:object size:0x3 scope:local data:byte -XFB_putc = .sbss:0x801D3CFC; // type:object size:0x4 scope:local data:4byte -omDBGMenuButton = .sbss:0x801D3D00; // type:object size:0x2 -CZoom = .sbss:0x801D3D04; // type:object size:0x4 data:float -omDLLFileList = .sbss:0x801D3D08; // type:object size:0x8 scope:local data:4byte -frand_seed = .sbss:0x801D3D10; // type:object size:0x8 scope:local data:4byte -fadeStat = .sbss:0x801D3D18; // type:object size:0x1 data:byte -musicOffF = .sbss:0x801D3D1C; // type:object size:0x4 data:4byte -Snd3DDistOffset = .sbss:0x801D3D20; // type:object size:0x4 data:float -Snd3DSpeedOffset = .sbss:0x801D3D24; // type:object size:0x4 data:float -Snd3DStartDisOffset = .sbss:0x801D3D28; // type:object size:0x4 data:float -Snd3DFrontSurDisOffset = .sbss:0x801D3D2C; // type:object size:0x4 data:float -Snd3DBackSurDisOffset = .sbss:0x801D3D30; // type:object size:0x4 data:float -HuAuxBVol = .sbss:0x801D3D34; // type:object size:0x1 scope:local data:byte -HuAuxAVol = .sbss:0x801D3D35; // type:object size:0x1 scope:local data:byte -auxBNoBak = .sbss:0x801D3D38; // type:object size:0x4 scope:local data:4byte -auxANoBak = .sbss:0x801D3D3C; // type:object size:0x4 scope:local data:4byte -sndGroupBak = .sbss:0x801D3D40; // type:object size:0x2 scope:local data:2byte -Hu3DAudVol = .sbss:0x801D3D42; // type:object size:0x2 scope:local data:2byte -Meshno = .sbss:0x801D3D48; // type:object size:0x4 scope:local data:4byte -Meshcnt = .sbss:0x801D3D4C; // type:object size:0x4 scope:local data:4byte -normtop = .sbss:0x801D3D50; // type:object size:0x4 scope:local data:4byte -normenv = .sbss:0x801D3D54; // type:object size:0x4 scope:local data:4byte -vtxenv = .sbss:0x801D3D58; // type:object size:0x4 scope:local data:4byte -CurHsf = .sbss:0x801D3D5C; // type:object size:0x4 scope:local data:4byte -objtop = .sbss:0x801D3D60; // type:object size:0x4 scope:local data:4byte -nMesh = .sbss:0x801D3D64; // type:object size:0x4 scope:local data:4byte -nObj = .sbss:0x801D3D68; // type:object size:0x4 scope:local data:4byte -MtxTop = .sbss:0x801D3D6C; // type:object size:0x4 data:4byte -Vertextop = .sbss:0x801D3D70; // type:object size:0x4 data:4byte -seqLanguage = .sbss:0x801D3D78; // type:object size:0x4 scope:local data:4byte -pauseProcess = .sbss:0x801D3D7C; // type:object size:0x4 scope:local data:4byte -pauseActiveF = .sbss:0x801D3D80; // type:object size:0x4 scope:local data:4byte -pauseExitF = .sbss:0x801D3D84; // type:object size:0x4 scope:local data:4byte -pauseWaitF = .sbss:0x801D3D88; // type:object size:0x4 scope:local data:4byte -seqRecordVal = .sbss:0x801D3D8C; // type:object size:0x4 scope:local data:4byte -seqPauseF = .sbss:0x801D3D90; // type:object size:0x2 scope:local data:2byte -seqSpeed = .sbss:0x801D3D92; // type:object size:0x2 scope:local data:2byte -lbl_801D3D94 = .sbss:0x801D3D94; // type:object size:0x1 data:byte -seqDoneF = .sbss:0x801D3D95; // type:object size:0x1 scope:local data:byte -seqTimer = .sbss:0x801D3D96; // type:object size:0x2 scope:local data:2byte -gid = .sbss:0x801D3D98; // type:object size:0x2 scope:local data:2byte -lbl_801D3DA0 = .sbss:0x801D3DA0; // type:object size:0x8 -wipeFadeInF = .sbss:0x801D3DA8; // type:object size:0x8 data:4byte -fontAnim = .sbss:0x801D3DB0; // type:object size:0x4 data:4byte -LanguageNo = .sbss:0x801D3DB4; // type:object size:0x1 scope:local data:byte -comKeyIdx = .sbss:0x801D3DB6; // type:object size:0x2 scope:local data:2byte -comKeyIdxNow = .sbss:0x801D3DB8; // type:object size:0x2 scope:local data:2byte -mesCharCnt = .sbss:0x801D3DBA; // type:object size:0x2 scope:local data:2byte -cancelCRF = .sbss:0x801D3DBC; // type:object size:0x4 scope:local data:4byte -fontWidthP = .sbss:0x801D3DC0; // type:object size:0x4 scope:local data:4byte -winAMemP = .sbss:0x801D3DC4; // type:object size:0x4 scope:local data:4byte -winInsertF = .sbss:0x801D3DC8; // type:object size:0x1 scope:local data:byte -winTabSize = .sbss:0x801D3DC9; // type:object size:0x1 scope:local data:byte -mesWInsert = .sbss:0x801D3DCA; // type:object size:0x8 scope:local -winMaxHeight = .sbss:0x801D3DD2; // type:object size:0x2 scope:local data:2byte -winMaxWidth = .sbss:0x801D3DD4; // type:object size:0x2 scope:local data:2byte -messDataNo = .sbss:0x801D3DD8; // type:object size:0x4 scope:local data:4byte -messDataPtr = .sbss:0x801D3DDC; // type:object size:0x4 data:4byte -winProc = .sbss:0x801D3DE0; // type:object size:0x4 scope:local data:4byte -cardAnimB = .sbss:0x801D3DE4; // type:object size:0x4 scope:local data:4byte -cardAnimA = .sbss:0x801D3DE8; // type:object size:0x4 scope:local data:4byte -cursorAnim = .sbss:0x801D3DEC; // type:object size:0x4 scope:local data:4byte -iconAnim = .sbss:0x801D3DF0; // type:object size:0x4 scope:local data:4byte -UnMountCnt = .sbss:0x801D3DF8; // type:object size:0x1 data:byte -cardWork = .sbss:0x801D3DFC; // type:object size:0x4 scope:local data:4byte -arqIdx = .sbss:0x801D3E00; // type:object size:0x2 scope:local data:2byte -arqCnt = .sbss:0x801D3E04; // type:object size:0x4 scope:local data:4byte -ARBase = .sbss:0x801D3E08; // type:object size:0x8 scope:local data:4byte -effectAMemP = .sbss:0x801D3E10; // type:object size:0x4 scope:local data:4byte -skipAnimUpdate = .sbss:0x801D3E14; // type:object size:0x4 scope:local data:4byte -ColisionCount = .sbss:0x801D3E18; // type:object size:0x4 data:4byte -topvtx = .sbss:0x801D3E1C; // type:object size:0x4 scope:local data:4byte -AttrHsf = .sbss:0x801D3E20; // type:object size:0x4 scope:local data:4byte -HitFaceCount = .sbss:0x801D3E24; // type:object size:0x4 data:4byte -nChar = .sbss:0x801D3E28; // type:object size:0x4 -nMap = .sbss:0x801D3E2C; // type:object size:0x4 data:4byte -AddZ = .sbss:0x801D3E30; // type:object size:0x4 data:float -AddX = .sbss:0x801D3E34; // type:object size:0x4 data:float -Initialized = .sbss:0x801D3E38; // type:object size:0x4 scope:local data:4byte -OldAIDCallback = .sbss:0x801D3E3C; // type:object size:0x4 scope:local data:4byte -AudioSystem = .sbss:0x801D3E40; // type:object size:0x4 scope:local data:4byte -bufIdx = .sbss:0x801D3E44; // type:object size:0x4 scope:local data:4byte -CurAudioBuffer = .sbss:0x801D3E48; // type:object size:0x4 scope:local data:4byte -LastAudioBuffer = .sbss:0x801D3E4C; // type:object size:0x4 scope:local data:4byte -SoundBufferIndex = .sbss:0x801D3E50; // type:object size:0x4 scope:local data:4byte -THPProc = .sbss:0x801D3E58; // type:object size:0x4 data:4byte -THPStart = .sbss:0x801D3E5C; // type:object size:0x2 scope:local data:2byte -THPFrame = .sbss:0x801D3E60; // type:object size:0x4 scope:local data:4byte -THPStat = .sbss:0x801D3E64; // type:object size:0x2 scope:local data:2byte -THPLoopF = .sbss:0x801D3E66; // type:object size:0x2 scope:local data:2byte -decodeThread = .sbss:0x801D3E68; // type:object size:0x4 scope:local data:4byte -decodeStackP = .sbss:0x801D3E6C; // type:object size:0x4 scope:local data:4byte -decodeRate = .sbss:0x801D3E70; // type:object size:0x4 scope:local data:4byte -audioTrack = .sbss:0x801D3E74; // type:object size:0x8 scope:local data:4byte -mgBoardHostEnableF = .sbss:0x801D3E80; // type:object size:0x1 -mgInstExitEnableF = .sbss:0x801D3E84; // type:object size:0x4 -mgPracticeEnableF = .sbss:0x801D3E88; // type:object size:0x4 data:4byte -mgQuitExtraF = .sbss:0x801D3E8C; // type:object size:0x4 data:4byte -mgRecordExtra = .sbss:0x801D3E90; // type:object size:0x4 -lbl_801D3E94 = .sbss:0x801D3E94; // type:object size:0x1 -mgBattleStarMax = .sbss:0x801D3E96; // type:object size:0x2 -mgBattleStar = .sbss:0x801D3E98; // type:object size:0x8 -mgTypeCurr = .sbss:0x801D3EA0; // type:object size:0x2 data:2byte -curSlotNo = .sbss:0x801D3EA8; // type:object size:0x2 data:2byte -curBoxNo = .sbss:0x801D3EAA; // type:object size:0x1 data:byte -saveExecF = .sbss:0x801D3EAC; // type:object size:0x4 -SLSerialNo = .sbss:0x801D3EB0; // type:object size:0x8 data:4byte -H_ResetReady = .sbss:0x801D3EB8; // type:object size:0x4 scope:local data:4byte -SR_RestartChk = .sbss:0x801D3EBC; // type:object size:0x4 scope:local data:4byte -SR_ExecReset = .sbss:0x801D3EC0; // type:object size:0x4 data:4byte -trychkBusyWait = .sbss:0x801D3EC4; // type:object size:0x4 scope:local data:4byte -XfbProg = .sbss:0x801D3EC8; // type:object size:0x4 scope:local data:4byte -XfbH = .sbss:0x801D3ECC; // type:object size:0x2 scope:local data:2byte -XfbW = .sbss:0x801D3ECE; // type:object size:0x2 scope:local data:2byte -boardMainProc = .sbss:0x801D3ED0; // type:object size:0x4 data:4byte -boardObjMan = .sbss:0x801D3ED4; // type:object size:0x4 data:4byte -cameraObj = .sbss:0x801D3ED8; // type:object size:0x4 scope:local data:4byte -tauntObj = .sbss:0x801D3EDC; // type:object size:0x4 scope:local data:4byte -cameraUseBackup = .sbss:0x801D3EE0; // type:object size:0x4 scope:local data:4byte -createFunc = .sbss:0x801D3EE4; // type:object size:0x4 scope:local data:4byte -destroyFunc = .sbss:0x801D3EE8; // type:object size:0x4 scope:local data:4byte -boardLightSetHook = .sbss:0x801D3EEC; // type:object size:0x4 data:4byte -boardLightResetHook = .sbss:0x801D3EF0; // type:object size:0x4 data:4byte -boardTurnFunc = .sbss:0x801D3EF4; // type:object size:0x4 data:4byte -boardStarGiveHook = .sbss:0x801D3EF8; // type:object size:0x4 data:4byte -boardStarShowNextHook = .sbss:0x801D3EFC; // type:object size:0x4 data:4byte -boardBowserHook = .sbss:0x801D3F00; // type:object size:0x4 data:4byte -boardTurnStartFunc = .sbss:0x801D3F04; // type:object size:0x4 data:4byte -filterObj = .sbss:0x801D3F08; // type:object size:0x4 scope:local data:4byte -confettiObj = .sbss:0x801D3F0C; // type:object size:0x4 scope:local data:4byte -last5GfxObj = .sbss:0x801D3F10; // type:object size:0x4 scope:local data:4byte -boardRandSeed = .sbss:0x801D3F14; // type:object size:0x4 data:4byte -boardMainObj = .sbss:0x801D3F18; // type:object size:0x4 data:4byte -megaDoubleDiceF = .sbss:0x801D3F20; // type:object size:0x4 scope:local data:4byte -bowserSuitObj = .sbss:0x801D3F24; // type:object size:0x4 scope:local data:4byte -junctionMask = .sbss:0x801D3F28; // type:object size:0x4 scope:local data:4byte -junctionObj = .sbss:0x801D3F2C; // type:object size:0x4 scope:local data:4byte -rollObj = .sbss:0x801D3F30; // type:object size:0x4 scope:local data:4byte -moveAwayObj = .sbss:0x801D3F34; // type:object size:0x4 scope:local data:4byte -junctionArrowRot = .sbss:0x801D3F38; // type:object size:0x8 scope:local -moveAwayPlayer = .sbss:0x801D3F40; // type:object size:0x4 scope:local data:byte -itemPrev = .sbss:0x801D3F44; // type:object size:0x1 scope:local data:byte -playerMot = .sbss:0x801D3F46; // type:object size:0x8 scope:local -boardPlayerMdl = .sbss:0x801D3F4E; // type:object size:0x8 -modelDataList = .sbss:0x801D3F58; // type:object size:0x4 scope:local data:4byte -modelMgrObj = .sbss:0x801D3F5C; // type:object size:0x4 scope:local data:4byte -modelDataNum = .sbss:0x801D3F60; // type:object size:0x2 scope:local data:2byte -winProc = .sbss:0x801D3F68; // type:object size:0x4 scope:local data:4byte -comKeyFunc = .sbss:0x801D3F6C; // type:object size:0x4 scope:local data:4byte -lbl_801D3F70 = .sbss:0x801D3F70; // type:object size:0x8 data:float -winAttr = .sbss:0x801D3F78; // type:object size:0x4 scope:local data:4byte -winMess = .sbss:0x801D3F7C; // type:object size:0x4 scope:local data:4byte -defaultChoice = .sbss:0x801D3F80; // type:object size:0x2 scope:local data:2byte -messSpeed = .sbss:0x801D3F82; // type:object size:0x2 scope:local data:2byte -winPrio = .sbss:0x801D3F84; // type:object size:0x2 scope:local data:2byte -winWait = .sbss:0x801D3F86; // type:object size:0x1 scope:local data:byte -winPause = .sbss:0x801D3F87; // type:object size:0x1 scope:local data:byte -disablePlayer = .sbss:0x801D3F88; // type:object size:0x1 scope:local data:byte -winPosIdx = .sbss:0x801D3F89; // type:object size:0x1 scope:local data:byte -winPortrait = .sbss:0x801D3F8A; // type:object size:0x1 scope:local data:byte -autoPickF = .sbss:0x801D3F8B; // type:object size:0x1 scope:local data:byte -winChoice = .sbss:0x801D3F8C; // type:object size:0x1 scope:local data:byte -boardSeq = .sbss:0x801D3F90; // type:object size:0x8 scope:local -viewProc = .sbss:0x801D3F98; // type:object size:0x4 scope:local data:4byte -pauseDisableF = .sbss:0x801D3F9C; // type:object size:0x1 scope:local data:byte -overheadObj = .sbss:0x801D3FA0; // type:object size:0x4 scope:local data:4byte -focusTimer = .sbss:0x801D3FA4; // type:object size:0x2 scope:local data:2byte -focusDestroyF = .sbss:0x801D3FA6; // type:object size:0x1 scope:local data:byte -viewMoveF = .sbss:0x801D3FA7; // type:object size:0x1 scope:local data:byte -viewPlayer = .sbss:0x801D3FA8; // type:object size:0x1 scope:local data:byte -viewControls = .sbss:0x801D3FA9; // type:object size:0x1 scope:local data:byte -spaceDrawF = .sbss:0x801D3FB0; // type:object size:0x2 scope:local data:2byte -spaceDrawCnt = .sbss:0x801D3FB4; // type:object size:0x4 scope:local data:4byte -walkEventFunc = .sbss:0x801D3FB8; // type:object size:0x4 scope:local data:4byte -walkMiniEventFunc = .sbss:0x801D3FBC; // type:object size:0x4 scope:local data:4byte -landEventFunc = .sbss:0x801D3FC0; // type:object size:0x4 scope:local data:4byte -lbl_801D3FC4 = .sbss:0x801D3FC4; // type:object size:0x8 data:2byte -spaceHiliteTexFmt = .sbss:0x801D3FCC; // type:object size:0x4 scope:local data:4byte -spaceTexFmt = .sbss:0x801D3FD0; // type:object size:0x4 scope:local data:4byte -spaceHiliteTexData = .sbss:0x801D3FD4; // type:object size:0x4 scope:local data:4byte -spaceTexData = .sbss:0x801D3FD8; // type:object size:0x4 scope:local data:4byte -spaceAttr = .sbss:0x801D3FDC; // type:object size:0x8 scope:local data:4byte -spaceCnt = .sbss:0x801D3FE4; // type:object size:0x4 scope:local data:2byte -shopProc = .sbss:0x801D3FE8; // type:object size:0x4 scope:local data:4byte -shopWinObj = .sbss:0x801D3FEC; // type:object size:0x4 scope:local data:4byte -itemGiveObj = .sbss:0x801D3FF0; // type:object size:0x4 scope:local data:4byte -itemChoiceObj = .sbss:0x801D3FF4; // type:object size:0x4 scope:local data:4byte -comF = .sbss:0x801D3FF8; // type:object size:0x4 scope:local data:4byte -angleVal = .sbss:0x801D3FFC; // type:object size:0x2 scope:local data:2byte -shopPlayer = .sbss:0x801D3FFE; // type:object size:0x1 scope:local data:byte -shopMdlPtr = .sbss:0x801D4000; // type:object size:0x4 scope:local data:4byte -shopMdlIdx = .sbss:0x801D4004; // type:object size:0x4 scope:local -lotteryProc = .sbss:0x801D4008; // type:object size:0x4 scope:local data:4byte -comInputDrawP = .sbss:0x801D400C; // type:object size:0x4 scope:local data:4byte -lotteryTicketPickObj = .sbss:0x801D4010; // type:object size:0x4 scope:local data:4byte -handUpdateF = .sbss:0x801D4014; // type:object size:0x4 scope:local data:4byte -comInputPos = .sbss:0x801D4018; // type:object size:0x1 scope:local data:byte -comLotteryWinType = .sbss:0x801D4019; // type:object size:0x1 scope:local data:byte -comLotteryType = .sbss:0x801D401A; // type:object size:0x1 scope:local data:byte -lbl_801D401B = .sbss:0x801D401B; // type:object size:0x1 data:byte -currPrize = .sbss:0x801D401C; // type:object size:0x1 scope:local data:byte -lotterySpace = .sbss:0x801D401E; // type:object size:0x2 scope:local data:2byte -lotteryMessBase = .sbss:0x801D4020; // type:object size:0x4 scope:local data:4byte -warpProcess = .sbss:0x801D4028; // type:object size:0x4 scope:local data:4byte -warpYVel = .sbss:0x801D402C; // type:object size:0x4 scope:local data:float -warpYFloor = .sbss:0x801D4030; // type:object size:0x4 scope:local data:float -warpSpace = .sbss:0x801D4034; // type:object size:0x2 scope:local data:2byte -warpImpactCnt = .sbss:0x801D4036; // type:object size:0x1 scope:local data:byte -warpTarget = .sbss:0x801D4037; // type:object size:0x1 scope:local data:byte -warpState = .sbss:0x801D4038; // type:object size:0x1 scope:local data:byte -charWheelObj = .sbss:0x801D4040; // type:object size:0x4 scope:local data:4byte -targetF = .sbss:0x801D4044; // type:object size:0x2 scope:local data:2byte -angleOfs = .sbss:0x801D4048; // type:object size:0x4 scope:local data:float -targetVal = .sbss:0x801D404C; // type:object size:0x2 scope:local data:2byte -wheelSpeed = .sbss:0x801D4050; // type:object size:0x4 scope:local data:float -wheelTimer = .sbss:0x801D4054; // type:object size:0x2 scope:local data:2byte -comDelay = .sbss:0x801D4056; // type:object size:0x2 scope:local data:2byte -wheelChars = .sbss:0x801D4058; // type:object size:0x4 scope:local data:byte -mushroomProc = .sbss:0x801D4060; // type:object size:0x4 scope:local data:4byte -itemGiveObj = .sbss:0x801D4064; // type:object size:0x4 scope:local data:4byte -pickerChoice = .sbss:0x801D4068; // type:object size:0x1 scope:local data:byte -itemResult = .sbss:0x801D4069; // type:object size:0x1 scope:local data:byte -starProc = .sbss:0x801D4070; // type:object size:0x4 scope:local data:4byte -giveStarObj = .sbss:0x801D4074; // type:object size:0x4 scope:local data:4byte -starEffAnim = .sbss:0x801D4078; // type:object size:0x4 scope:local data:4byte -starDoneF = .sbss:0x801D407C; // type:object size:0x2 scope:local data:2byte -showNextObj = .sbss:0x801D4080; // type:object size:0x4 scope:local data:4byte -hostMot = .sbss:0x801D4084; // type:object size:0x4 scope:local data:2byte -rollProc = .sbss:0x801D4088; // type:object size:0x4 scope:local data:4byte -tutorialRollF = .sbss:0x801D408C; // type:object size:0x1 scope:local data:byte -sameRollCoinStr = .sbss:0x801D408D; // type:object size:0x8 scope:local -lbl_801D4098 = .sbss:0x801D4098; // type:object size:0x4 data:4byte -diceSize = .sbss:0x801D409C; // type:object size:0x1 scope:local data:byte -destMode = .sbss:0x801D409D; // type:object size:0x1 scope:local data:byte -maxRoll = .sbss:0x801D409E; // type:object size:0x1 scope:local data:byte -inputTimer = .sbss:0x801D409F; // type:object size:0x1 scope:local data:byte -numDice = .sbss:0x801D40A0; // type:object size:0x1 scope:local data:byte -rollPlayer = .sbss:0x801D40A1; // type:object size:0x1 scope:local data:byte -diceValue = .sbss:0x801D40A2; // type:object size:0x3 scope:local data:byte -statusProc = .sbss:0x801D40A8; // type:object size:0x4 scope:local data:4byte -itemWindowObj = .sbss:0x801D40AC; // type:object size:0x4 scope:local data:4byte -pickerObj = .sbss:0x801D40B0; // type:object size:0x4 scope:local data:4byte -yourTurnObj = .sbss:0x801D40B4; // type:object size:0x4 scope:local data:4byte -itemUseProc = .sbss:0x801D40B8; // type:object size:0x4 scope:local data:4byte -itemPickObj = .sbss:0x801D40BC; // type:object size:0x4 scope:local data:4byte -itemPickupPos = .sbss:0x801D40C0; // type:object size:0x4 scope:local data:float -itemRandTbl = .sbss:0x801D40C4; // type:object size:0x6 scope:local -teamItemPlayer = .sbss:0x801D40CA; // type:object size:0x1 scope:local data:byte -itemUsed = .sbss:0x801D40CB; // type:object size:0x1 scope:local data:byte -itemPlayer = .sbss:0x801D40CC; // type:object size:0x1 scope:local data:byte -yourTurnSpr = .sbss:0x801D40CE; // type:object size:0x2 scope:local data:2byte -lbl_801D40D0 = .sbss:0x801D40D0; // type:object size:0x4 data:4byte -pickerBackF = .sbss:0x801D40D4; // type:object size:0x4 scope:local data:4byte -pickerChoiceDefault = .sbss:0x801D40D8; // type:object size:0x1 scope:local data:byte -pickerChoice = .sbss:0x801D40D9; // type:object size:0x1 scope:local data:byte -boardItemUser = .sbss:0x801D40DA; // type:object size:0x1 data:byte -itemTeamF = .sbss:0x801D40DB; // type:object size:0x1 scope:local data:byte -itemTeam = .sbss:0x801D40DC; // type:object size:0x1 scope:local data:byte -blockProc = .sbss:0x801D40E0; // type:object size:0x4 scope:local data:4byte -blockObj = .sbss:0x801D40E4; // type:object size:0x4 scope:local data:4byte -rotY = .sbss:0x801D40E8; // type:object size:0x4 scope:local data:float -scaleAngle = .sbss:0x801D40EC; // type:object size:0x4 scope:local data:float -rotMax = .sbss:0x801D40F0; // type:object size:0x4 scope:local data:float -itemProc = .sbss:0x801D40F8; // type:object size:0x4 scope:local data:4byte -geniePlayerMot = .sbss:0x801D40FC; // type:object size:0x6 scope:local data:2byte -genieParticleAnim = .sbss:0x801D4104; // type:object size:0x4 scope:local data:4byte -genieFov = .sbss:0x801D4108; // type:object size:0x4 scope:local data:float -booCoinStr = .sbss:0x801D410C; // type:object size:0x8 scope:local -booBallAlpha = .sbss:0x801D4114; // type:object size:0x4 scope:local data:float -booBallMdl = .sbss:0x801D4118; // type:object size:0x2 scope:local data:2byte -suitCommonMot = .sbss:0x801D411C; // type:object size:0x8 scope:local data:4byte -suitMot = .sbss:0x801D4124; // type:object size:0x8 scope:local data:4byte -suitMdl = .sbss:0x801D412C; // type:object size:0x2 scope:local data:2byte -currItem = .sbss:0x801D412E; // type:object size:0x1 scope:local data:byte -currItemRestore = .sbss:0x801D412F; // type:object size:0x1 scope:local data:byte -itemBagItems = .sbss:0x801D4130; // type:object size:0x6 scope:local -bowserProc = .sbss:0x801D4138; // type:object size:0x4 scope:local data:4byte -bowserObj = .sbss:0x801D413C; // type:object size:0x4 scope:local data:4byte -miniBowserObj = .sbss:0x801D4140; // type:object size:0x4 scope:local data:4byte -bowserEventObj = .sbss:0x801D4144; // type:object size:0x4 scope:local data:4byte -miniBowserBalloonObj = .sbss:0x801D4148; // type:object size:0x4 scope:local data:4byte -suitGiveObj = .sbss:0x801D414C; // type:object size:0x4 scope:local data:4byte -coinStealStr = .sbss:0x801D4150; // type:object size:0x8 scope:local -coinStealStrAll = .sbss:0x801D4158; // type:object size:0x8 scope:local -fireAnim = .sbss:0x801D4160; // type:object size:0x4 scope:local data:4byte -fireParMan = .sbss:0x801D4164; // type:object size:0x2 scope:local data:2byte -playerMot = .sbss:0x801D4166; // type:object size:0x8 scope:local data:2byte -eventSpace = .sbss:0x801D416E; // type:object size:0x2 scope:local data:2byte -eventType = .sbss:0x801D4170; // type:object size:0x1 scope:local data:byte -eventPlayer = .sbss:0x801D4171; // type:object size:0x1 scope:local data:byte -battleProc = .sbss:0x801D4178; // type:object size:0x4 scope:local data:4byte -battleObj = .sbss:0x801D417C; // type:object size:0x4 scope:local data:4byte -explodeObj = .sbss:0x801D4180; // type:object size:0x4 scope:local data:4byte -battleCoinPosF = .sbss:0x801D4184; // type:object size:0x4 scope:local data:float -battleCoinSpeed = .sbss:0x801D4188; // type:object size:0x4 scope:local data:float -totalCoinStr = .sbss:0x801D418C; // type:object size:0x8 scope:local -battleMGIdx = .sbss:0x801D4194; // type:object size:0x2 scope:local data:byte -battleCoinIdx = .sbss:0x801D4196; // type:object size:0x1 scope:local data:byte -currSpace = .sbss:0x801D4198; // type:object size:0x2 scope:local data:2byte -mgChoice = .sbss:0x801D419A; // type:object size:0x1 scope:local data:byte -coinTakeMax = .sbss:0x801D419B; // type:object size:0x1 scope:local data:byte -currPlayer = .sbss:0x801D419C; // type:object size:0x1 scope:local data:byte -fortuneProc = .sbss:0x801D41A0; // type:object size:0x4 scope:local data:4byte -fortunePlatformObj = .sbss:0x801D41A4; // type:object size:0x4 scope:local data:4byte -comStar = .sbss:0x801D41A8; // type:object size:0x1 scope:local data:byte -comCoin = .sbss:0x801D41A9; // type:object size:0x1 scope:local data:byte -comPrize = .sbss:0x801D41AA; // type:object size:0x1 scope:local data:byte -comPlayer1 = .sbss:0x801D41AB; // type:object size:0x1 scope:local data:byte -comPlayer2 = .sbss:0x801D41AC; // type:object size:0x1 scope:local data:byte -currPlayer = .sbss:0x801D41AD; // type:object size:0x1 scope:local data:byte -booEventObj = .sbss:0x801D41B0; // type:object size:0x4 scope:local data:4byte -ballObj = .sbss:0x801D41B4; // type:object size:0x4 scope:local data:4byte -ballCameraObj = .sbss:0x801D41B8; // type:object size:0x4 scope:local data:4byte -ballBooObj = .sbss:0x801D41BC; // type:object size:0x4 scope:local data:4byte -ballPlayerObj = .sbss:0x801D41C0; // type:object size:0x4 scope:local data:4byte -ballTakeCoinObj = .sbss:0x801D41C4; // type:object size:0x4 scope:local data:4byte -attackTimer = .sbss:0x801D41C8; // type:object size:0x4 scope:local data:4byte -battleTimer = .sbss:0x801D41CC; // type:object size:0x4 scope:local data:4byte -starChoiceEnable = .sbss:0x801D41D0; // type:object size:0x3 scope:local -stealAvail = .sbss:0x801D41D3; // type:object size:0x3 scope:local -punchCount = .sbss:0x801D41D6; // type:object size:0x1 scope:local data:byte -stealSuccess = .sbss:0x801D41D7; // type:object size:0x1 scope:local data:byte -stealValue = .sbss:0x801D41D8; // type:object size:0x1 scope:local data:byte -booKillF = .sbss:0x801D41DC; // type:object size:0x4 scope:local data:4byte -stealType = .sbss:0x801D41E0; // type:object size:0x1 scope:local data:byte -stealTarget = .sbss:0x801D41E1; // type:object size:0x1 scope:local data:byte -lbl_801D41E2 = .sbss:0x801D41E2; // type:object size:0x1 data:byte -mgSetupProc = .sbss:0x801D41E8; // type:object size:0x4 scope:local data:4byte -mgSetupObj = .sbss:0x801D41EC; // type:object size:0x4 scope:local data:4byte -hiliteShowF = .sbss:0x801D41F0; // type:object size:0x1 scope:local data:byte -hiliteBlinkLen = .sbss:0x801D41F1; // type:object size:0x1 scope:local data:byte -hiliteTimer = .sbss:0x801D41F2; // type:object size:0x1 scope:local data:byte -mgPlayBattle = .sbss:0x801D41F4; // type:object size:0x4 scope:local -mgPlay2Vs2 = .sbss:0x801D41F8; // type:object size:0x6 scope:local -mgPlay1Vs3 = .sbss:0x801D41FE; // type:object size:0x6 scope:local -mgPlayBattleLen = .sbss:0x801D4204; // type:object size:0x1 scope:local data:byte -mgPlay2Vs2Len = .sbss:0x801D4205; // type:object size:0x1 scope:local data:byte -mgPlay1Vs3Len = .sbss:0x801D4206; // type:object size:0x1 scope:local data:byte -mgPlay4PLen = .sbss:0x801D4207; // type:object size:0x1 scope:local data:byte -mgNext = .sbss:0x801D4208; // type:object size:0x2 scope:local data:2byte -hilitePos = .sbss:0x801D420C; // type:object size:0x4 scope:local data:float -luckyF = .sbss:0x801D4210; // type:object size:0x4 scope:local data:4byte -mgType = .sbss:0x801D4214; // type:object size:0x1 scope:local data:byte -houseProc = .sbss:0x801D4218; // type:object size:0x4 scope:local data:4byte -stealAmountStr = .sbss:0x801D421C; // type:object size:0x8 scope:local -comCoinStealTarget = .sbss:0x801D4224; // type:object size:0x4 scope:local data:4byte -comStarStealTarget = .sbss:0x801D4228; // type:object size:0x1 scope:local data:byte -stealTarget = .sbss:0x801D4229; // type:object size:0x1 scope:local data:byte -currPlayer = .sbss:0x801D422A; // type:object size:0x1 scope:local data:byte -startProc = .sbss:0x801D4230; // type:object size:0x4 scope:local data:4byte -playerOrderOld = .sbss:0x801D4234; // type:object size:0x4 scope:local -playerOrderNew = .sbss:0x801D4238; // type:object size:0x4 scope:local -startSpace = .sbss:0x801D423C; // type:object size:0x2 scope:local data:2byte -hostMdl = .sbss:0x801D423E; // type:object size:0x2 scope:local data:2byte -lotteryDrawWheelObj = .sbss:0x801D4240; // type:object size:0x4 scope:local data:4byte -lotteryDrawObj = .sbss:0x801D4244; // type:object size:0x4 scope:local data:4byte -hostMoveObj = .sbss:0x801D4248; // type:object size:0x4 scope:local data:4byte -teamResultObj = .sbss:0x801D424C; // type:object size:0x4 scope:local data:4byte -last5Proc = .sbss:0x801D4250; // type:object size:0x4 scope:local data:4byte -last5RouletteObj = .sbss:0x801D4254; // type:object size:0x4 scope:local data:4byte -hostMdl = .sbss:0x801D4258; // type:object size:0x2 scope:local data:2byte -last5Space = .sbss:0x801D425A; // type:object size:0x2 scope:local data:2byte -last5Player = .sbss:0x801D425C; // type:object size:0x1 scope:local data:byte -numTickets = .sbss:0x801D425D; // type:object size:0x1 scope:local data:byte -currTicket = .sbss:0x801D425E; // type:object size:0x1 scope:local data:byte -mainProcess = .sbss:0x801D4260; // type:object size:0x4 scope:local data:4byte -quitProcess = .sbss:0x801D4264; // type:object size:0x4 scope:local data:4byte -configObj = .sbss:0x801D4268; // type:object size:0x4 scope:local data:4byte -boxState = .sbss:0x801D426C; // type:object size:0x8 scope:local -cursorPos = .sbss:0x801D4274; // type:object size:0x1 scope:local data:byte -hostMdl = .sbss:0x801D4276; // type:object size:0x2 scope:local data:2byte -hostOldLayer = .sbss:0x801D4278; // type:object size:0x1 scope:local data:byte -mainScreenF = .sbss:0x801D4279; // type:object size:0x1 scope:local data:byte -pauseQuitF = .sbss:0x801D427A; // type:object size:0x1 scope:local data:byte -childNodeCnt = .sbss:0x801D4280; // type:object size:0x2 scope:local data:2byte -numCandidates = .sbss:0x801D4282; // type:object size:0x2 scope:local data:2byte -gameStatCopy = .sbss:0x801D4288; // type:object size:0x4 scope:local data:4byte -systemCopy = .sbss:0x801D428C; // type:object size:0x4 scope:local data:4byte -playerCopy = .sbss:0x801D4290; // type:object size:0x4 scope:local data:4byte -playerCfgCopy = .sbss:0x801D4294; // type:object size:0x4 scope:local data:4byte -tutorialProcess = .sbss:0x801D4298; // type:object size:0x4 scope:local data:4byte -boardTutorialF = .sbss:0x801D429C; // type:object size:0x1 data:byte -hostMdl = .sbss:0x801D429E; // type:object size:0x2 scope:local data:2byte -boardTutorialUseItem = .sbss:0x801D42A0; // type:object size:0x1 data:byte -boardTutorialBlockF = .sbss:0x801D42A1; // type:object size:0x1 data:byte -boardTutorialBlockItem = .sbss:0x801D42A2; // type:object size:0x1 data:byte -boardTutorialBlockPos = .sbss:0x801D42A4; // type:object size:0x4 data:4byte -boardTutorialDirInputTime = .sbss:0x801D42A8; // type:object size:0x2 data:2byte -boardTutorialDirInputY = .sbss:0x801D42AA; // type:object size:0x1 data:byte -boardTutorialDirInputX = .sbss:0x801D42AB; // type:object size:0x1 data:byte -tutorialHook = .sbss:0x801D42AC; // type:object size:0x4 scope:local data:4byte -BootInfo = .sbss:0x801D42B0; // type:object size:0x4 scope:local data:4byte -BI2DebugFlag = .sbss:0x801D42B4; // type:object size:0x4 scope:local data:4byte -BI2DebugFlagHolder = .sbss:0x801D42B8; // type:object size:0x4 scope:local data:4byte -__OSIsGcam = .sbss:0x801D42BC; // type:object size:0x4 scope:global data:4byte -AreWeInitialized = .sbss:0x801D42C0; // type:object size:0x4 scope:local data:4byte -OSExceptionTable = .sbss:0x801D42C4; // type:object size:0x4 scope:local data:4byte -__OSSavedRegionEnd = .sbss:0x801D42C8; // type:object size:0x4 scope:global data:4byte -__OSSavedRegionStart = .sbss:0x801D42CC; // type:object size:0x4 scope:global data:4byte -__OSInIPL = .sbss:0x801D42D0; // type:object size:0x4 scope:global data:4byte -__OSStartTime = .sbss:0x801D42D8; // type:object size:0x8 scope:global data:4byte -AlarmQueue = .sbss:0x801D42E0; // type:object size:0x8 scope:local data:4byte -HeapArray = .sbss:0x801D42E8; // type:object size:0x4 scope:local data:4byte -NumHeaps = .sbss:0x801D42EC; // type:object size:0x4 scope:local data:4byte -ArenaStart = .sbss:0x801D42F0; // type:object size:0x4 scope:local data:4byte -ArenaEnd = .sbss:0x801D42F4; // type:object size:0x4 scope:local data:4byte -__OSArenaHi = .sbss:0x801D42F8; // type:object size:0x4 scope:local data:4byte -InterruptHandlerTable = .sbss:0x801D4300; // type:object size:0x4 scope:local data:4byte -__OSLastInterruptSrr0 = .sbss:0x801D4304; // type:object size:0x4 scope:global data:4byte -__OSLastInterrupt = .sbss:0x801D4308; // type:object size:0x2 scope:global data:2byte -__OSLastInterruptTime = .sbss:0x801D4310; // type:object size:0x8 scope:global data:4byte -SaveStart = .sbss:0x801D4318; // type:object size:0x4 scope:local data:4byte -SaveEnd = .sbss:0x801D431C; // type:object size:0x4 scope:local data:4byte -Prepared = .sbss:0x801D4320; // type:object size:0x8 scope:local data:4byte -ResetFunctionQueue = .sbss:0x801D4328; // type:object size:0x8 scope:local data:4byte -ResetCallback = .sbss:0x801D4330; // type:object size:0x4 data:4byte -Down = .sbss:0x801D4334; // type:object size:0x4 data:4byte -LastState = .sbss:0x801D4338; // type:object size:0x8 scope:local data:4byte -HoldUp = .sbss:0x801D4340; // type:object size:0x8 align:8 data:4byte -HoldDown = .sbss:0x801D4348; // type:object size:0x8 align:8 data:4byte -RunQueueBits = .sbss:0x801D4350; // type:object size:0x4 scope:local data:4byte -RunQueueHint = .sbss:0x801D4354; // type:object size:0x4 scope:local data:4byte -Reschedule = .sbss:0x801D4358; // type:object size:0x4 scope:local data:4byte -__DBInterface = .sbss:0x801D4360; // type:object size:0x4 scope:global data:4byte -DBVerbose = .sbss:0x801D4364; // type:object size:0x4 scope:global data:4byte -StopAtNextInt = .sbss:0x801D4368; // type:object size:0x4 scope:local data:4byte -LastLength = .sbss:0x801D436C; // type:object size:0x4 scope:local data:4byte -Callback = .sbss:0x801D4370; // type:object size:0x4 scope:local data:4byte -ResetCoverCallback = .sbss:0x801D4374; // type:object size:0x4 scope:local data:4byte -LastResetEnd = .sbss:0x801D4378; // type:object size:0x8 scope:local data:4byte -ResetOccurred = .sbss:0x801D4380; // type:object size:0x4 scope:local data:4byte -WaitingCoverClose = .sbss:0x801D4384; // type:object size:0x4 scope:local data:4byte -Breaking = .sbss:0x801D4388; // type:object size:0x4 scope:local data:4byte -WorkAroundType = .sbss:0x801D438C; // type:object size:0x4 scope:local data:4byte -WorkAroundSeekLocation = .sbss:0x801D4390; // type:object size:0x4 scope:local data:4byte -LastReadFinished = .sbss:0x801D4398; // type:object size:0x8 scope:local data:4byte -LastReadIssued = .sbss:0x801D43A0; // type:object size:0x8 scope:local data:4byte -LastCommandWasRead = .sbss:0x801D43A8; // type:object size:0x4 scope:local data:4byte -NextCommandNumber = .sbss:0x801D43AC; // type:object size:0x4 scope:local data:4byte -BootInfo = .sbss:0x801D43B0; // type:object size:0x4 scope:local data:4byte -FstStart = .sbss:0x801D43B4; // type:object size:0x4 scope:local data:4byte -FstStringStart = .sbss:0x801D43B8; // type:object size:0x4 scope:local data:4byte -MaxEntryNum = .sbss:0x801D43BC; // type:object size:0x4 scope:local data:4byte -currentDirectory = .sbss:0x801D43C0; // type:object size:0x4 scope:local data:4byte -__DVDLongFileNameFlag = .sbss:0x801D43C4; // type:object size:0x4 scope:global data:4byte -__DVDThreadQueue = .sbss:0x801D43C8; // type:object size:0x8 scope:global -executing = .sbss:0x801D43D0; // type:object size:0x4 scope:local data:4byte -currID = .sbss:0x801D43D4; // type:object size:0x4 scope:local data:4byte -bootInfo = .sbss:0x801D43D8; // type:object size:0x4 scope:local data:4byte -PauseFlag = .sbss:0x801D43DC; // type:object size:0x4 scope:local data:4byte -PausingFlag = .sbss:0x801D43E0; // type:object size:0x4 scope:local data:4byte -AutoFinishing = .sbss:0x801D43E4; // type:object size:0x4 scope:local data:4byte -FatalErrorFlag = .sbss:0x801D43E8; // type:object size:0x4 scope:local data:4byte -CurrCommand = .sbss:0x801D43EC; // type:object size:0x4 scope:local data:4byte -Canceling = .sbss:0x801D43F0; // type:object size:0x4 scope:local data:4byte -CancelCallback = .sbss:0x801D43F4; // type:object size:0x4 scope:local data:4byte -ResumeFromHere = .sbss:0x801D43F8; // type:object size:0x4 scope:local data:4byte -CancelLastError = .sbss:0x801D43FC; // type:object size:0x4 scope:local data:4byte -LastError = .sbss:0x801D4400; // type:object size:0x4 scope:local data:4byte -NumInternalRetry = .sbss:0x801D4404; // type:object size:0x4 scope:local data:4byte -ResetRequired = .sbss:0x801D4408; // type:object size:0x4 scope:local data:4byte -FirstTimeInBootrom = .sbss:0x801D440C; // type:object size:0x4 scope:local data:4byte -DVDInitialized = .sbss:0x801D4410; // type:object size:0x4 scope:local data:4byte -LastState = .sbss:0x801D4414; // type:object size:0x4 scope:local data:4byte -status = .sbss:0x801D4418; // type:object size:0x4 scope:local data:4byte -bb2 = .sbss:0x801D441C; // type:object size:0x4 scope:local data:4byte -idTmp = .sbss:0x801D4420; // type:object size:0x4 scope:local data:4byte -retraceCount = .sbss:0x801D4428; // type:object size:0x4 scope:local data:4byte -flushFlag = .sbss:0x801D442C; // type:object size:0x4 scope:local data:4byte -retraceQueue = .sbss:0x801D4430; // type:object size:0x8 scope:local -PreCB = .sbss:0x801D4438; // type:object size:0x4 scope:local data:4byte -PostCB = .sbss:0x801D443C; // type:object size:0x4 scope:local data:4byte -encoderType = .sbss:0x801D4440; // type:object size:0x4 scope:local data:4byte -displayOffsetH = .sbss:0x801D4444; // type:object size:0x2 scope:local data:2byte -displayOffsetV = .sbss:0x801D4446; // type:object size:0x2 scope:local data:2byte -changeMode = .sbss:0x801D4448; // type:object size:0x4 scope:local data:4byte -changed = .sbss:0x801D4450; // type:object size:0x8 scope:local align:8 data:4byte -shdwChangeMode = .sbss:0x801D4458; // type:object size:0x4 scope:local data:4byte -shdwChanged = .sbss:0x801D4460; // type:object size:0x8 scope:local align:8 data:4byte -CurrTiming = .sbss:0x801D4468; // type:object size:0x4 scope:local data:4byte -CurrTvMode = .sbss:0x801D446C; // type:object size:0x4 scope:local data:4byte -FBSet = .sbss:0x801D4470; // type:object size:0x4 scope:local data:4byte -message$320 = .sbss:0x801D4474; // type:object size:0x4 scope:local data:4byte -rmode = .sbss:0x801D4478; // type:object size:0x8 scope:local data:4byte -fontShift = .sbss:0x801D4480; // type:object size:0x8 scope:local data:4byte -DemoStat = .sbss:0x801D4488; // type:object size:0x4 scope:local data:4byte -DemoStatIndx = .sbss:0x801D448C; // type:object size:0x4 scope:local data:4byte -DemoStatMaxIndx = .sbss:0x801D4490; // type:object size:0x4 scope:local data:4byte -DemoStatClocks = .sbss:0x801D4494; // type:object size:0x4 scope:local data:4byte -DemoStatDisp = .sbss:0x801D4498; // type:object size:0x4 scope:local data:4byte -topPixIn = .sbss:0x801D449C; // type:object size:0x4 scope:local data:4byte -topPixOut = .sbss:0x801D44A0; // type:object size:0x4 scope:local data:4byte -botPixIn = .sbss:0x801D44A4; // type:object size:0x4 scope:local data:4byte -botPixOut = .sbss:0x801D44A8; // type:object size:0x4 scope:local data:4byte -clrPixIn = .sbss:0x801D44AC; // type:object size:0x4 scope:local data:4byte -copyClks = .sbss:0x801D44B0; // type:object size:0x4 scope:local data:4byte -vcCheck = .sbss:0x801D44B4; // type:object size:0x4 scope:local data:4byte -vcMiss = .sbss:0x801D44B8; // type:object size:0x4 scope:local data:4byte -vcStall = .sbss:0x801D44BC; // type:object size:0x4 scope:local data:4byte -cpReq = .sbss:0x801D44C0; // type:object size:0x4 scope:local data:4byte -tcReq = .sbss:0x801D44C4; // type:object size:0x4 scope:local data:4byte -cpuRdReq = .sbss:0x801D44C8; // type:object size:0x4 scope:local data:4byte -cpuWrReq = .sbss:0x801D44CC; // type:object size:0x4 scope:local data:4byte -dspReq = .sbss:0x801D44D0; // type:object size:0x4 scope:local data:4byte -ioReq = .sbss:0x801D44D4; // type:object size:0x4 scope:local data:4byte -viReq = .sbss:0x801D44D8; // type:object size:0x4 scope:local data:4byte -peReq = .sbss:0x801D44DC; // type:object size:0x4 scope:local data:4byte -rfReq = .sbss:0x801D44E0; // type:object size:0x4 scope:local data:4byte -fiReq = .sbss:0x801D44E4; // type:object size:0x4 scope:local data:4byte -Initialized = .sbss:0x801D44E8; // type:object size:0x4 scope:local data:4byte -EnabledBits = .sbss:0x801D44EC; // type:object size:0x4 scope:local data:4byte -ResettingBits = .sbss:0x801D44F0; // type:object size:0x4 scope:local data:4byte -RecalibrateBits = .sbss:0x801D44F4; // type:object size:0x4 scope:local data:4byte -WaitingBits = .sbss:0x801D44F8; // type:object size:0x4 scope:local data:4byte -CheckingBits = .sbss:0x801D44FC; // type:object size:0x4 scope:local data:4byte -PendingBits = .sbss:0x801D4500; // type:object size:0x4 scope:local data:4byte -SamplingCallback = .sbss:0x801D4504; // type:object size:0x4 scope:local data:4byte -recalibrated$397 = .sbss:0x801D4508; // type:object size:0x4 scope:local data:4byte -__PADSpec = .sbss:0x801D450C; // type:object size:0x4 scope:global data:4byte -__AIS_Callback = .sbss:0x801D4510; // type:object size:0x4 scope:local data:4byte -__AID_Callback = .sbss:0x801D4514; // type:object size:0x4 scope:local data:4byte -__CallbackStack = .sbss:0x801D4518; // type:object size:0x4 scope:local data:4byte -__OldStack = .sbss:0x801D451C; // type:object size:0x4 scope:local data:4byte -__AI_init_flag = .sbss:0x801D4520; // type:object size:0x4 scope:local data:4byte -bound_32KHz = .sbss:0x801D4528; // type:object size:0x8 scope:local align:8 data:4byte -bound_48KHz = .sbss:0x801D4530; // type:object size:0x8 scope:local align:8 data:4byte -min_wait = .sbss:0x801D4538; // type:object size:0x8 scope:local align:8 data:4byte -max_wait = .sbss:0x801D4540; // type:object size:0x8 scope:local align:8 data:4byte -buffer = .sbss:0x801D4548; // type:object size:0x8 scope:local align:8 data:4byte -__AR_Callback = .sbss:0x801D4550; // type:object size:0x4 scope:local data:4byte -__AR_Size = .sbss:0x801D4554; // type:object size:0x4 scope:local data:4byte -__AR_InternalSize = .sbss:0x801D4558; // type:object size:0x4 scope:local data:4byte -__AR_ExpansionSize = .sbss:0x801D455C; // type:object size:0x4 scope:local data:4byte -__AR_StackPointer = .sbss:0x801D4560; // type:object size:0x4 scope:local data:4byte -__AR_FreeBlocks = .sbss:0x801D4564; // type:object size:0x4 scope:local data:4byte -__AR_BlockLength = .sbss:0x801D4568; // type:object size:0x4 scope:local data:4byte -__AR_init_flag = .sbss:0x801D456C; // type:object size:0x4 scope:local data:4byte -__ARQRequestQueueHi = .sbss:0x801D4570; // type:object size:0x4 scope:local data:4byte -__ARQRequestTailHi = .sbss:0x801D4574; // type:object size:0x4 scope:local data:4byte -__ARQRequestQueueLo = .sbss:0x801D4578; // type:object size:0x4 scope:local data:4byte -__ARQRequestTailLo = .sbss:0x801D457C; // type:object size:0x4 scope:local data:4byte -__ARQRequestPendingHi = .sbss:0x801D4580; // type:object size:0x4 scope:local data:4byte -__ARQRequestPendingLo = .sbss:0x801D4584; // type:object size:0x4 scope:local data:4byte -__ARQCallbackHi = .sbss:0x801D4588; // type:object size:0x4 scope:local data:4byte -__ARQCallbackLo = .sbss:0x801D458C; // type:object size:0x4 scope:local data:4byte -__ARQChunkSize = .sbss:0x801D4590; // type:object size:0x4 scope:local data:4byte -__ARQ_init_flag = .sbss:0x801D4594; // type:object size:0x4 scope:local data:4byte -__DSP_init_flag = .sbss:0x801D4598; // type:object size:0x8 scope:local data:4byte -__DSP_rude_task_pending = .sbss:0x801D45A0; // type:object size:0x4 data:4byte -__DSP_rude_task = .sbss:0x801D45A4; // type:object size:0x4 data:4byte -__DSP_tmp_task = .sbss:0x801D45A8; // type:object size:0x4 data:4byte -__DSP_last_task = .sbss:0x801D45AC; // type:object size:0x4 data:4byte -__DSP_first_task = .sbss:0x801D45B0; // type:object size:0x4 data:4byte -__DSP_curr_task = .sbss:0x801D45B4; // type:object size:0x4 data:4byte -__piReg = .sbss:0x801D45B8; // type:object size:0x4 scope:global data:4byte -__cpReg = .sbss:0x801D45BC; // type:object size:0x4 scope:global data:4byte -__peReg = .sbss:0x801D45C0; // type:object size:0x4 scope:global data:4byte -__memReg = .sbss:0x801D45C4; // type:object size:0x4 scope:global data:4byte -CPUFifo = .sbss:0x801D45C8; // type:object size:0x4 scope:local data:4byte -GPFifo = .sbss:0x801D45CC; // type:object size:0x4 scope:local data:4byte -__GXCurrentThread = .sbss:0x801D45D0; // type:object size:0x4 scope:local data:4byte -CPGPLinked = .sbss:0x801D45D4; // type:object size:0x1 scope:local data:byte -GXOverflowSuspendInProgress = .sbss:0x801D45D8; // type:object size:0x4 scope:local data:4byte -BreakPointCB = .sbss:0x801D45DC; // type:object size:0x4 scope:local data:4byte -__GXOverflowCount = .sbss:0x801D45E0; // type:object size:0x4 scope:local data:4byte -TokenCB = .sbss:0x801D45E8; // type:object size:0x4 scope:local data:4byte -DrawDoneCB = .sbss:0x801D45EC; // type:object size:0x4 scope:local data:4byte -DrawDone = .sbss:0x801D45F0; // type:object size:0x1 scope:local data:byte -FinishQueue = .sbss:0x801D45F4; // type:object size:0x8 scope:local -OldCPUFifo = .sbss:0x801D4600; // type:object size:0x4 scope:local data:4byte -Chan = .sbss:0x801D4608; // type:object size:0x4 scope:local data:4byte -Dev = .sbss:0x801D460C; // type:object size:0x4 scope:local data:4byte -Enabled = .sbss:0x801D4610; // type:object size:0x4 scope:local data:4byte -BarnacleEnabled = .sbss:0x801D4614; // type:object size:0x4 scope:local data:4byte -cmdTypeAndStatus$78 = .sbss:0x801D4618; // type:object size:0x4 scope:local -cmdTypeAndStatus$371 = .sbss:0x801D461C; // type:object size:0x4 scope:local -__PADFixBits = .sbss:0x801D4620; // type:object size:0x8 data:4byte -SamplingRate = .sbss:0x801D4628; // type:object size:0x4 scope:local data:4byte -Ydchuff = .sbss:0x801D4640; // type:object size:0x4 scope:local align:32 data:4byte -Udchuff = .sbss:0x801D4660; // type:object size:0x4 scope:local align:32 data:4byte -Vdchuff = .sbss:0x801D4680; // type:object size:0x4 scope:local align:32 data:4byte -Yachuff = .sbss:0x801D46A0; // type:object size:0x4 scope:local align:32 data:4byte -Uachuff = .sbss:0x801D46C0; // type:object size:0x4 scope:local align:32 data:4byte -Vachuff = .sbss:0x801D46E0; // type:object size:0x4 scope:local align:32 data:4byte -__THPHuffmanBits = .sbss:0x801D46E4; // type:object size:0x4 scope:local data:4byte -__THPHuffmanSizeTab = .sbss:0x801D46E8; // type:object size:0x4 scope:local data:4byte -__THPHuffmanCodeTab = .sbss:0x801D46EC; // type:object size:0x4 scope:local data:4byte -Gbase = .sbss:0x801D4700; // type:object size:0x20 scope:local align:32 data:4byte -Gwid = .sbss:0x801D4720; // type:object size:0x20 scope:local align:32 data:4byte -Gq = .sbss:0x801D4740; // type:object size:0x4 scope:local align:32 data:4byte -__THPOldGQR5 = .sbss:0x801D4744; // type:object size:0x4 scope:local data:4byte -__THPOldGQR6 = .sbss:0x801D4748; // type:object size:0x4 scope:local data:4byte -__THPWorkArea = .sbss:0x801D474C; // type:object size:0x4 scope:local data:4byte -__THPInfo = .sbss:0x801D4750; // type:object size:0x4 scope:local data:4byte -__THPInitFlag = .sbss:0x801D4754; // type:object size:0x4 scope:local data:4byte -__global_destructor_chain = .sbss:0x801D4758; // type:object size:0x4 scope:global data:4byte -__aborting = .sbss:0x801D4760; // type:object size:0x4 scope:global data:4byte -__atexit_curr_func = .sbss:0x801D4764; // type:object size:0x4 scope:local data:4byte -__stdio_exit = .sbss:0x801D4768; // type:object size:0x4 scope:global data:4byte -__console_exit = .sbss:0x801D476C; // type:object size:0x4 scope:global data:4byte -init$193 = .sbss:0x801D4770; // type:object size:0x1 scope:local data:byte -errno = .sbss:0x801D4778; // type:object size:0x4 data:4byte -initialized$16 = .sbss:0x801D4780; // type:object size:0x4 scope:local data:4byte -seq_next_id = .sbss:0x801D4788; // type:object size:0x4 scope:local data:4byte -curFadeOutState = .sbss:0x801D478C; // type:object size:0x1 scope:local data:byte -curSeqId = .sbss:0x801D4790; // type:object size:0x4 scope:local data:4byte -noteFree = .sbss:0x801D4794; // type:object size:0x4 scope:local data:4byte -cseq = .sbss:0x801D4798; // type:object size:0x4 scope:local data:4byte -seqFreeRoot = .sbss:0x801D479C; // type:object size:0x4 data:4byte -seqPausedRoot = .sbss:0x801D47A0; // type:object size:0x4 data:4byte -seqActiveRoot = .sbss:0x801D47A4; // type:object size:0x4 data:4byte -sndActive = .sbss:0x801D47A8; // type:object size:0x1 data:byte -synthJobTableIndex = .sbss:0x801D47A9; // type:object size:0x1 scope:local data:byte -synthAuxBMIDISet = .sbss:0x801D47AC; // type:object size:0x8 data:byte -synthAuxBMIDI = .sbss:0x801D47B4; // type:object size:0x8 data:byte -synthAuxAMIDISet = .sbss:0x801D47BC; // type:object size:0x8 data:byte -synthAuxAMIDI = .sbss:0x801D47C4; // type:object size:0x8 data:byte -synthMasterFaderPauseActiveFlags = .sbss:0x801D47CC; // type:object size:0x4 data:4byte -synthMasterFaderActiveFlags = .sbss:0x801D47D0; // type:object size:0x4 data:4byte -synthFlags = .sbss:0x801D47D4; // type:object size:0x4 data:4byte -synthVoice = .sbss:0x801D47D8; // type:object size:0x4 data:4byte -synthMessageCallback = .sbss:0x801D47DC; // type:object size:0x4 data:4byte -synthIdleWaitActive = .sbss:0x801D47E0; // type:object size:0x1 data:byte -synthRealTime = .sbss:0x801D47E8; // type:object size:0x8 align:8 data:4byte -nextPublicID = .sbss:0x801D47F0; // type:object size:0x4 scope:local data:4byte -streamCallDelay = .sbss:0x801D47F4; // type:object size:0x1 scope:local data:byte -streamCallCnt = .sbss:0x801D47F5; // type:object size:0x1 scope:local data:byte -result$837 = .sbss:0x801D47F8; // type:object size:0x4 data:4byte -result$823 = .sbss:0x801D47FC; // type:object size:0x4 data:4byte -key$822 = .sbss:0x801D4800; // type:object size:0x8 -result$815 = .sbss:0x801D4808; // type:object size:0x4 data:4byte -key$814 = .sbss:0x801D480C; // type:object size:0x8 -sheader$789 = .sbss:0x801D4814; // type:object size:0x4 data:4byte -result$788 = .sbss:0x801D4818; // type:object size:0x4 data:4byte -result$770 = .sbss:0x801D481C; // type:object size:0x4 data:4byte -key$769 = .sbss:0x801D4820; // type:object size:0x8 -main$768 = .sbss:0x801D4828; // type:object size:0x4 data:4byte -base$767 = .sbss:0x801D482C; // type:object size:0x4 data:4byte -dataFXGroupNum = .sbss:0x801D4830; // type:object size:0x2 data:2byte -dataMacTotal = .sbss:0x801D4832; // type:object size:0x2 data:2byte -dataLayerNum = .sbss:0x801D4834; // type:object size:0x2 data:2byte -dataKeymapNum = .sbss:0x801D4836; // type:object size:0x2 data:2byte -dataCurveNum = .sbss:0x801D4838; // type:object size:0x2 data:2byte -dataSmpSDirNum = .sbss:0x801D483A; // type:object size:0x2 data:2byte -cstep$1643 = .sbss:0x801D4840; // type:object size:0x8 scope:local data:4byte -macRealTime = .sbss:0x801D4848; // type:object size:0x8 scope:local data:4byte -macTimeQueueRoot = .sbss:0x801D4850; // type:object size:0x4 scope:local data:4byte -macActiveMacroRoot = .sbss:0x801D4854; // type:object size:0x4 scope:local data:4byte -DebugMacroSteps = .sbss:0x801D4858; // type:object size:0x8 scope:local data:byte -vidFree = .sbss:0x801D4860; // type:object size:0x4 scope:local data:4byte -vidRoot = .sbss:0x801D4864; // type:object size:0x4 scope:local data:4byte -vidCurrentId = .sbss:0x801D4868; // type:object size:0x4 scope:local data:4byte -voicePrioSortRootListRoot = .sbss:0x801D486C; // type:object size:0x2 data:2byte -voiceMusicRunning = .sbss:0x801D486E; // type:object size:0x1 data:byte -voiceFxRunning = .sbss:0x801D486F; // type:object size:0x1 data:byte -voiceListInsert = .sbss:0x801D4870; // type:object size:0x1 data:byte -voiceListRoot = .sbss:0x801D4871; // type:object size:0x1 data:byte -sp = .sbss:0x801D4878; // type:object size:0x2 scope:local data:2byte -dspARAMZeroBuffer = .sbss:0x801D4880; // type:object size:0x4 data:4byte -dspCmdLastLoad = .sbss:0x801D4884; // type:object size:0x4 data:4byte -dspCmdLastBase = .sbss:0x801D4888; // type:object size:0x4 data:4byte -dspCmdLastSize = .sbss:0x801D488C; // type:object size:0x2 data:2byte -dspCmdCurBase = .sbss:0x801D4890; // type:object size:0x4 data:4byte -dspCmdMaxPtr = .sbss:0x801D4894; // type:object size:0x4 data:4byte -dspCmdPtr = .sbss:0x801D4898; // type:object size:0x4 data:4byte -dspCmdFirstSize = .sbss:0x801D489C; // type:object size:0x2 data:2byte -dspCmdList = .sbss:0x801D48A0; // type:object size:0x4 data:4byte -dspHRTFOn = .sbss:0x801D48A4; // type:object size:0x4 data:4byte -dspHrtfHistoryBuffer = .sbss:0x801D48A8; // type:object size:0x4 data:4byte -dspSurround = .sbss:0x801D48AC; // type:object size:0x4 data:4byte -dspITDBuffer = .sbss:0x801D48B0; // type:object size:0x4 data:4byte -dspVoice = .sbss:0x801D48B4; // type:object size:0x4 data:4byte -salMessageCallback = .sbss:0x801D48B8; // type:object size:0x4 data:4byte -runListNum = .sbss:0x801D48C0; // type:object size:0x1 scope:local data:byte -startListNumnum = .sbss:0x801D48C1; // type:object size:0x1 scope:local data:byte -startGroupNum = .sbss:0x801D48C2; // type:object size:0x1 scope:local data:byte -s3dUseLegacyLogic = .sbss:0x801D48C3; // type:object size:0x1 scope:local data:byte -s3dUseMaxVoices = .sbss:0x801D48C4; // type:object size:0x1 scope:local data:byte -snd_max_studios = .sbss:0x801D48C5; // type:object size:0x1 scope:local data:byte -snd_used_studios = .sbss:0x801D48C8; // type:object size:0x4 scope:local data:4byte -s3dDoorRoot = .sbss:0x801D48CC; // type:object size:0x4 scope:local data:4byte -s3dRoomRoot = .sbss:0x801D48D0; // type:object size:0x4 scope:local data:4byte -s3dListenerRoot = .sbss:0x801D48D4; // type:object size:0x4 scope:local data:4byte -s3dEmitterRoot = .sbss:0x801D48D8; // type:object size:0x4 scope:local data:4byte -s3dCallCnt = .sbss:0x801D48DC; // type:object size:0x1 scope:local data:byte -salTimeOffset = .sbss:0x801D48E0; // type:object size:0x1 data:byte -salHooks = .sbss:0x801D48E4; // type:object size:0x8 data:4byte -salMaxStudioNum = .sbss:0x801D48EC; // type:object size:0x1 data:byte -salNumVoices = .sbss:0x801D48ED; // type:object size:0x1 data:byte -salAuxFrame = .sbss:0x801D48EE; // type:object size:0x1 data:byte -salFrame = .sbss:0x801D48EF; // type:object size:0x1 data:byte -aramIdleStreamBuffers = .sbss:0x801D48F0; // type:object size:0x4 scope:local data:4byte -aramFreeStreamBuffers = .sbss:0x801D48F4; // type:object size:0x4 scope:local data:4byte -aramUsedStreamBuffers = .sbss:0x801D48F8; // type:object size:0x4 scope:local data:4byte -aramUploadChunkSize = .sbss:0x801D48FC; // type:object size:0x4 scope:local data:4byte -aramUploadCallback = .sbss:0x801D4900; // type:object size:0x4 scope:local data:4byte -aramStream = .sbss:0x801D4904; // type:object size:0x4 scope:local data:4byte -aramWrite = .sbss:0x801D4908; // type:object size:0x4 scope:local data:4byte -aramTop = .sbss:0x801D490C; // type:object size:0x4 scope:local data:4byte -oldState = .sbss:0x801D4910; // type:object size:0x4 scope:local data:4byte -hwIrqLevel = .sbss:0x801D4914; // type:object size:0x2 scope:local data:2byte -salDspInitIsDone = .sbss:0x801D4918; // type:object size:0x4 scope:local data:4byte -salLastTick = .sbss:0x801D491C; // type:object size:0x4 scope:local data:4byte -salLogicActive = .sbss:0x801D4920; // type:object size:0x4 scope:local data:4byte -salLogicIsWaiting = .sbss:0x801D4924; // type:object size:0x4 scope:local data:4byte -salDspIsDone = .sbss:0x801D4928; // type:object size:0x4 scope:local data:4byte -salAIBufferBase = .sbss:0x801D492C; // type:object size:0x4 scope:local data:4byte -salAIBufferIndex = .sbss:0x801D4930; // type:object size:0x1 scope:local data:byte -userCallback = .sbss:0x801D4934; // type:object size:0x4 scope:local data:4byte -MTRCallback = .sbss:0x801D4938; // type:object size:0x4 scope:local data:4byte -DBGCallback = .sbss:0x801D493C; // type:object size:0x4 scope:local data:4byte -SendMailData = .sbss:0x801D4940; // type:object size:0x4 scope:local data:4byte -RecvDataLeng = .sbss:0x801D4944; // type:object size:0x4 scope:local data:4byte -pEXIInputFlag = .sbss:0x801D4948; // type:object size:0x4 scope:local data:4byte -EXIInputFlag = .sbss:0x801D494C; // type:object size:0x1 scope:local data:byte -lbl_801D4960 = .sdata2:0x801D4960; // type:object size:0x8 scope:local data:double -lbl_801D4968 = .sdata2:0x801D4968; // type:object size:0x4 data:float -lbl_801D496C = .sdata2:0x801D496C; // type:object size:0x4 data:float -lbl_801D4970 = .sdata2:0x801D4970; // type:object size:0x8 data:double -lbl_801D4978 = .sdata2:0x801D4978; // type:object size:0x4 data:float -lbl_801D497C = .sdata2:0x801D497C; // type:object size:0x4 data:float -lbl_801D4980 = .sdata2:0x801D4980; // type:object size:0x4 data:float -lbl_801D4984 = .sdata2:0x801D4984; // type:object size:0x4 data:float -lbl_801D4988 = .sdata2:0x801D4988; // type:object size:0x4 data:float -lbl_801D498C = .sdata2:0x801D498C; // type:object size:0x4 data:float -lbl_801D4990 = .sdata2:0x801D4990; // type:object size:0x4 data:float -lbl_801D4994 = .sdata2:0x801D4994; // type:object size:0x4 data:float -lbl_801D4998 = .sdata2:0x801D4998; // type:object size:0x4 data:float -lbl_801D49A0 = .sdata2:0x801D49A0; // type:object size:0x8 data:double -lbl_801D49A8 = .sdata2:0x801D49A8; // type:object size:0x8 data:double -lbl_801D49B0 = .sdata2:0x801D49B0; // type:object size:0x4 data:float -lbl_801D49B4 = .sdata2:0x801D49B4; // type:object size:0x4 data:float -lbl_801D49B8 = .sdata2:0x801D49B8; // type:object size:0x4 data:float -lbl_801D49BC = .sdata2:0x801D49BC; // type:object size:0x4 data:float -lbl_801D49C0 = .sdata2:0x801D49C0; // type:object size:0x8 data:float -lbl_801D49C8 = .sdata2:0x801D49C8; // type:object size:0x4 data:float -lbl_801D49CC = .sdata2:0x801D49CC; // type:object size:0x4 data:float -lbl_801D49D0 = .sdata2:0x801D49D0; // type:object size:0x4 data:float -lbl_801D49D8 = .sdata2:0x801D49D8; // type:object size:0x8 data:double -lbl_801D49E0 = .sdata2:0x801D49E0; // type:object size:0x8 data:double -lbl_801D49E8 = .sdata2:0x801D49E8; // type:object size:0x8 data:float -lbl_801D49F0 = .sdata2:0x801D49F0; // type:object size:0x4 data:float -lbl_801D49F4 = .sdata2:0x801D49F4; // type:object size:0x4 data:float -lbl_801D49F8 = .sdata2:0x801D49F8; // type:object size:0x4 data:float -lbl_801D49FC = .sdata2:0x801D49FC; // type:object size:0x4 data:float -lbl_801D4A00 = .sdata2:0x801D4A00; // type:object size:0x4 data:float -lbl_801D4A04 = .sdata2:0x801D4A04; // type:object size:0x4 data:float -lbl_801D4A08 = .sdata2:0x801D4A08; // type:object size:0x4 data:float -lbl_801D4A10 = .sdata2:0x801D4A10; // type:object size:0x8 data:double -lbl_801D4A18 = .sdata2:0x801D4A18; // type:object size:0x8 data:double -lbl_801D4A20 = .sdata2:0x801D4A20; // type:object size:0x8 data:double -lbl_801D4A28 = .sdata2:0x801D4A28; // type:object size:0x4 data:float -lbl_801D4A2C = .sdata2:0x801D4A2C; // type:object size:0x4 data:float -lbl_801D4A30 = .sdata2:0x801D4A30; // type:object size:0x4 data:float -lbl_801D4A34 = .sdata2:0x801D4A34; // type:object size:0x4 data:float -lbl_801D4A38 = .sdata2:0x801D4A38; // type:object size:0x8 data:double -lbl_801D4A40 = .sdata2:0x801D4A40; // type:object size:0x8 data:double -lbl_801D4A48 = .sdata2:0x801D4A48; // type:object size:0x8 data:double -lbl_801D4A50 = .sdata2:0x801D4A50; // type:object size:0x8 data:double -lbl_801D4A58 = .sdata2:0x801D4A58; // type:object size:0x4 data:float -lbl_801D4A60 = .sdata2:0x801D4A60; // type:object size:0x8 data:double -lbl_801D4A68 = .sdata2:0x801D4A68; // type:object size:0x4 data:float -lbl_801D4A6C = .sdata2:0x801D4A6C; // type:object size:0x4 data:float -lbl_801D4A70 = .sdata2:0x801D4A70; // type:object size:0x4 data:float -lbl_801D4A74 = .sdata2:0x801D4A74; // type:object size:0x4 data:float -lbl_801D4A78 = .sdata2:0x801D4A78; // type:object size:0x8 data:double -lbl_801D4A80 = .sdata2:0x801D4A80; // type:object size:0x4 data:float -lbl_801D4A84 = .sdata2:0x801D4A84; // type:object size:0x4 data:float -lbl_801D4A88 = .sdata2:0x801D4A88; // type:object size:0x4 data:float -lbl_801D4A8C = .sdata2:0x801D4A8C; // type:object size:0x4 data:float -lbl_801D4A90 = .sdata2:0x801D4A90; // type:object size:0x8 data:double -lbl_801D4A98 = .sdata2:0x801D4A98; // type:object size:0x4 data:float -lbl_801D4AA0 = .sdata2:0x801D4AA0; // type:object size:0x8 data:double -lbl_801D4AA8 = .sdata2:0x801D4AA8; // type:object size:0x4 data:float -lbl_801D4AAC = .sdata2:0x801D4AAC; // type:object size:0x4 data:float -lbl_801D4AB0 = .sdata2:0x801D4AB0; // type:object size:0x4 data:float -lbl_801D4AB4 = .sdata2:0x801D4AB4; // type:object size:0x4 data:float -lbl_801D4AB8 = .sdata2:0x801D4AB8; // type:object size:0x4 data:float -lbl_801D4AC0 = .sdata2:0x801D4AC0; // type:object size:0x8 data:double -lbl_801D4AC8 = .sdata2:0x801D4AC8; // type:object size:0x8 data:double -lbl_801D4AD0 = .sdata2:0x801D4AD0; // type:object size:0x8 data:double -lbl_801D4AD8 = .sdata2:0x801D4AD8; // type:object size:0x8 data:double -lbl_801D4AE0 = .sdata2:0x801D4AE0; // type:object size:0x4 data:float -lbl_801D4AE4 = .sdata2:0x801D4AE4; // type:object size:0x4 data:float -lbl_801D4AE8 = .sdata2:0x801D4AE8; // type:object size:0x4 data:float -lbl_801D4AEC = .sdata2:0x801D4AEC; // type:object size:0x4 data:float -lbl_801D4AF0 = .sdata2:0x801D4AF0; // type:object size:0x4 data:float -lbl_801D4AF4 = .sdata2:0x801D4AF4; // type:object size:0x4 data:float -lbl_801D4AF8 = .sdata2:0x801D4AF8; // type:object size:0x4 data:float -lbl_801D4AFC = .sdata2:0x801D4AFC; // type:object size:0x4 data:float -lbl_801D4B00 = .sdata2:0x801D4B00; // type:object size:0x8 data:double -lbl_801D4B08 = .sdata2:0x801D4B08; // type:object size:0x8 data:float -lbl_801D4B10 = .sdata2:0x801D4B10; // type:object size:0x4 data:float -lbl_801D4B14 = .sdata2:0x801D4B14; // type:object size:0x4 data:float -lbl_801D4B18 = .sdata2:0x801D4B18; // type:object size:0x8 data:double -lbl_801D4B20 = .sdata2:0x801D4B20; // type:object size:0x8 data:double -lbl_801D4B28 = .sdata2:0x801D4B28; // type:object size:0x4 data:float -lbl_801D4B2C = .sdata2:0x801D4B2C; // type:object size:0x4 data:float -lbl_801D4B30 = .sdata2:0x801D4B30; // type:object size:0x4 data:float -lbl_801D4B38 = .sdata2:0x801D4B38; // type:object size:0x8 data:double -lbl_801D4B40 = .sdata2:0x801D4B40; // type:object size:0x8 data:double -lbl_801D4B48 = .sdata2:0x801D4B48; // type:object size:0x8 data:double -lbl_801D4B50 = .sdata2:0x801D4B50; // type:object size:0x4 data:float -lbl_801D4B54 = .sdata2:0x801D4B54; // type:object size:0x4 data:float -lbl_801D4B58 = .sdata2:0x801D4B58; // type:object size:0x8 data:float -lbl_801D4B60 = .sdata2:0x801D4B60; // type:object size:0x4 data:float -lbl_801D4B64 = .sdata2:0x801D4B64; // type:object size:0x4 data:float -lbl_801D4B68 = .sdata2:0x801D4B68; // type:object size:0x8 data:double -lbl_801D4B70 = .sdata2:0x801D4B70; // type:object size:0x4 data:float -lbl_801D4B74 = .sdata2:0x801D4B74; // type:object size:0x4 data:float -lbl_801D4B78 = .sdata2:0x801D4B78; // type:object size:0x4 data:float -lbl_801D4B7C = .sdata2:0x801D4B7C; // type:object size:0x4 data:float -lbl_801D4B80 = .sdata2:0x801D4B80; // type:object size:0x8 data:double -lbl_801D4B88 = .sdata2:0x801D4B88; // type:object size:0x4 data:float -lbl_801D4B90 = .sdata2:0x801D4B90; // type:object size:0x8 data:double -lbl_801D4B98 = .sdata2:0x801D4B98; // type:object size:0x8 data:double -lbl_801D4BA0 = .sdata2:0x801D4BA0; // type:object size:0x8 data:double -lbl_801D4BA8 = .sdata2:0x801D4BA8; // type:object size:0x4 data:float -lbl_801D4BB0 = .sdata2:0x801D4BB0; // type:object size:0x8 data:double -lbl_801D4BB8 = .sdata2:0x801D4BB8; // type:object size:0x8 data:double -lbl_801D4BC0 = .sdata2:0x801D4BC0; // type:object size:0x4 data:float -lbl_801D4BC8 = .sdata2:0x801D4BC8; // type:object size:0x8 data:double -lbl_801D4BD0 = .sdata2:0x801D4BD0; // type:object size:0x8 data:double -lbl_801D4BD8 = .sdata2:0x801D4BD8; // type:object size:0x8 data:double -lbl_801D4BE0 = .sdata2:0x801D4BE0; // type:object size:0x8 data:double -lbl_801D4BE8 = .sdata2:0x801D4BE8; // type:object size:0x4 data:float -lbl_801D4BEC = .sdata2:0x801D4BEC; // type:object size:0x4 data:float -lbl_801D4BF0 = .sdata2:0x801D4BF0; // type:object size:0x4 data:float -lbl_801D4BF4 = .sdata2:0x801D4BF4; // type:object size:0x4 data:float -lbl_801D4BF8 = .sdata2:0x801D4BF8; // type:object size:0x8 data:double -lbl_801D4C00 = .sdata2:0x801D4C00; // type:object size:0x4 data:float -lbl_801D4C08 = .sdata2:0x801D4C08; // type:object size:0x8 data:double -lbl_801D4C10 = .sdata2:0x801D4C10; // type:object size:0x8 data:double -lbl_801D4C18 = .sdata2:0x801D4C18; // type:object size:0x4 data:float -lbl_801D4C20 = .sdata2:0x801D4C20; // type:object size:0x8 data:double -lbl_801D4C28 = .sdata2:0x801D4C28; // type:object size:0x4 data:float -lbl_801D4C2C = .sdata2:0x801D4C2C; // type:object size:0x4 data:float -lbl_801D4C30 = .sdata2:0x801D4C30; // type:object size:0x4 data:float -lbl_801D4C34 = .sdata2:0x801D4C34; // type:object size:0x4 data:float -lbl_801D4C38 = .sdata2:0x801D4C38; // type:object size:0x8 data:double -lbl_801D4C40 = .sdata2:0x801D4C40; // type:object size:0x8 data:double -lbl_801D4C48 = .sdata2:0x801D4C48; // type:object size:0x4 data:float -lbl_801D4C4C = .sdata2:0x801D4C4C; // type:object size:0x4 data:float -lbl_801D4C50 = .sdata2:0x801D4C50; // type:object size:0x8 data:double -lbl_801D4C58 = .sdata2:0x801D4C58; // type:object size:0x4 data:float -lbl_801D4C5C = .sdata2:0x801D4C5C; // type:object size:0x4 data:float -lbl_801D4C60 = .sdata2:0x801D4C60; // type:object size:0x4 data:float -lbl_801D4C64 = .sdata2:0x801D4C64; // type:object size:0x4 data:float -lbl_801D4C68 = .sdata2:0x801D4C68; // type:object size:0x8 data:double -lbl_801D4C70 = .sdata2:0x801D4C70; // type:object size:0x8 data:double -lbl_801D4C78 = .sdata2:0x801D4C78; // type:object size:0x4 data:float -lbl_801D4C7C = .sdata2:0x801D4C7C; // type:object size:0x4 data:float -lbl_801D4C80 = .sdata2:0x801D4C80; // type:object size:0x4 data:float -lbl_801D4C84 = .sdata2:0x801D4C84; // type:object size:0x4 data:float -lbl_801D4C88 = .sdata2:0x801D4C88; // type:object size:0x4 data:float -lbl_801D4C8C = .sdata2:0x801D4C8C; // type:object size:0x4 data:float -lbl_801D4C90 = .sdata2:0x801D4C90; // type:object size:0x4 data:float -lbl_801D4C94 = .sdata2:0x801D4C94; // type:object size:0x4 data:float -lbl_801D4C98 = .sdata2:0x801D4C98; // type:object size:0x4 data:float -lbl_801D4CA0 = .sdata2:0x801D4CA0; // type:object size:0x8 data:double -lbl_801D4CA8 = .sdata2:0x801D4CA8; // type:object size:0x8 data:double -lbl_801D4CB0 = .sdata2:0x801D4CB0; // type:object size:0x4 data:float -lbl_801D4CB8 = .sdata2:0x801D4CB8; // type:object size:0x8 data:double -lbl_801D4CC0 = .sdata2:0x801D4CC0; // type:object size:0x8 data:double -lbl_801D4CC8 = .sdata2:0x801D4CC8; // type:object size:0x8 data:double -lbl_801D4CD0 = .sdata2:0x801D4CD0; // type:object size:0x4 data:float -lbl_801D4CD4 = .sdata2:0x801D4CD4; // type:object size:0x4 data:float -lbl_801D4CD8 = .sdata2:0x801D4CD8; // type:object size:0x4 data:float -lbl_801D4CE0 = .sdata2:0x801D4CE0; // type:object size:0x8 data:double -lbl_801D4CE8 = .sdata2:0x801D4CE8; // type:object size:0x4 data:float -lbl_801D4CEC = .sdata2:0x801D4CEC; // type:object size:0x4 data:float -lbl_801D4CF0 = .sdata2:0x801D4CF0; // type:object size:0x8 data:double -lbl_801D4CF8 = .sdata2:0x801D4CF8; // type:object size:0x8 data:double -lbl_801D4D00 = .sdata2:0x801D4D00; // type:object size:0x8 data:double -lbl_801D4D08 = .sdata2:0x801D4D08; // type:object size:0x8 data:double -lbl_801D4D10 = .sdata2:0x801D4D10; // type:object size:0x8 data:double -lbl_801D4D18 = .sdata2:0x801D4D18; // type:object size:0x8 data:double -lbl_801D4D20 = .sdata2:0x801D4D20; // type:object size:0x4 data:float -lbl_801D4D24 = .sdata2:0x801D4D24; // type:object size:0x4 data:float -lbl_801D4D28 = .sdata2:0x801D4D28; // type:object size:0x8 data:double -lbl_801D4D30 = .sdata2:0x801D4D30; // type:object size:0x4 data:float -lbl_801D4D34 = .sdata2:0x801D4D34; // type:object size:0x4 data:float -lbl_801D4D38 = .sdata2:0x801D4D38; // type:object size:0x4 data:float -lbl_801D4D3C = .sdata2:0x801D4D3C; // type:object size:0x4 data:float -lbl_801D4D40 = .sdata2:0x801D4D40; // type:object size:0x4 data:float -lbl_801D4D44 = .sdata2:0x801D4D44; // type:object size:0x4 data:float -lbl_801D4D48 = .sdata2:0x801D4D48; // type:object size:0x4 data:float -lbl_801D4D4C = .sdata2:0x801D4D4C; // type:object size:0x4 data:float -lbl_801D4D50 = .sdata2:0x801D4D50; // type:object size:0x4 data:float -lbl_801D4D54 = .sdata2:0x801D4D54; // type:object size:0x4 data:float -lbl_801D4D58 = .sdata2:0x801D4D58; // type:object size:0x4 data:float -lbl_801D4D5C = .sdata2:0x801D4D5C; // type:object size:0x4 data:float -lbl_801D4D60 = .sdata2:0x801D4D60; // type:object size:0x4 data:float -lbl_801D4D64 = .sdata2:0x801D4D64; // type:object size:0x4 data:float -lbl_801D4D68 = .sdata2:0x801D4D68; // type:object size:0x4 data:float -lbl_801D4D6C = .sdata2:0x801D4D6C; // type:object size:0x4 data:float -lbl_801D4D70 = .sdata2:0x801D4D70; // type:object size:0x4 data:float -lbl_801D4D74 = .sdata2:0x801D4D74; // type:object size:0x4 data:float -lbl_801D4D78 = .sdata2:0x801D4D78; // type:object size:0x8 data:double -lbl_801D4D80 = .sdata2:0x801D4D80; // type:object size:0x4 data:float -lbl_801D4D84 = .sdata2:0x801D4D84; // type:object size:0x4 data:float -lbl_801D4D88 = .sdata2:0x801D4D88; // type:object size:0x8 data:double -lbl_801D4D90 = .sdata2:0x801D4D90; // type:object size:0x8 data:double -lbl_801D4D98 = .sdata2:0x801D4D98; // type:object size:0x4 data:float -lbl_801D4D9C = .sdata2:0x801D4D9C; // type:object size:0x4 data:float -lbl_801D4DA0 = .sdata2:0x801D4DA0; // type:object size:0x8 data:double -lbl_801D4DA8 = .sdata2:0x801D4DA8; // type:object size:0x4 data:float -lbl_801D4DAC = .sdata2:0x801D4DAC; // type:object size:0x4 data:float -lbl_801D4DB0 = .sdata2:0x801D4DB0; // type:object size:0x4 data:float -lbl_801D4DB4 = .sdata2:0x801D4DB4; // type:object size:0x4 data:float -lbl_801D4DB8 = .sdata2:0x801D4DB8; // type:object size:0x4 data:float -lbl_801D4DC0 = .sdata2:0x801D4DC0; // type:object size:0x8 data:double -lbl_801D4DC8 = .sdata2:0x801D4DC8; // type:object size:0x4 data:float -lbl_801D4DD0 = .sdata2:0x801D4DD0; // type:object size:0x8 data:double -lbl_801D4DD8 = .sdata2:0x801D4DD8; // type:object size:0x4 data:float -lbl_801D4DDC = .sdata2:0x801D4DDC; // type:object size:0x4 data:float -lbl_801D4DE0 = .sdata2:0x801D4DE0; // type:object size:0x4 data:float -lbl_801D4DE4 = .sdata2:0x801D4DE4; // type:object size:0x4 data:float -lbl_801D4DE8 = .sdata2:0x801D4DE8; // type:object size:0x8 data:double -lbl_801D4DF0 = .sdata2:0x801D4DF0; // type:object size:0x4 data:float -lbl_801D4DF8 = .sdata2:0x801D4DF8; // type:object size:0x8 data:double -lbl_801D4E00 = .sdata2:0x801D4E00; // type:object size:0x8 data:double -lbl_801D4E08 = .sdata2:0x801D4E08; // type:object size:0x8 data:double -lbl_801D4E10 = .sdata2:0x801D4E10; // type:object size:0x4 data:float -lbl_801D4E18 = .sdata2:0x801D4E18; // type:object size:0x8 data:double -lbl_801D4E20 = .sdata2:0x801D4E20; // type:object size:0x8 data:double -lbl_801D4E28 = .sdata2:0x801D4E28; // type:object size:0x4 data:float -lbl_801D4E2C = .sdata2:0x801D4E2C; // type:object size:0x4 data:float -lbl_801D4E30 = .sdata2:0x801D4E30; // type:object size:0x4 data:float -lbl_801D4E34 = .sdata2:0x801D4E34; // type:object size:0x4 data:float -lbl_801D4E38 = .sdata2:0x801D4E38; // type:object size:0x4 data:float -lbl_801D4E3C = .sdata2:0x801D4E3C; // type:object size:0x4 data:float -lbl_801D4E40 = .sdata2:0x801D4E40; // type:object size:0x4 data:float -lbl_801D4E44 = .sdata2:0x801D4E44; // type:object size:0x4 data:float -lbl_801D4E48 = .sdata2:0x801D4E48; // type:object size:0x8 data:double -lbl_801D4E50 = .sdata2:0x801D4E50; // type:object size:0x8 data:double -lbl_801D4E58 = .sdata2:0x801D4E58; // type:object size:0x8 data:double -lbl_801D4E60 = .sdata2:0x801D4E60; // type:object size:0x6 data:2byte -lbl_801D4E68 = .sdata2:0x801D4E68; // type:object size:0x4 data:float -lbl_801D4E6C = .sdata2:0x801D4E6C; // type:object size:0x4 data:float -lbl_801D4E70 = .sdata2:0x801D4E70; // type:object size:0x4 data:float -lbl_801D4E74 = .sdata2:0x801D4E74; // type:object size:0x4 data:float -lbl_801D4E78 = .sdata2:0x801D4E78; // type:object size:0x4 data:float -lbl_801D4E7C = .sdata2:0x801D4E7C; // type:object size:0x4 data:float -lbl_801D4E80 = .sdata2:0x801D4E80; // type:object size:0x4 data:float -lbl_801D4E84 = .sdata2:0x801D4E84; // type:object size:0x4 data:float -lbl_801D4E88 = .sdata2:0x801D4E88; // type:object size:0x4 data:float -lbl_801D4E8C = .sdata2:0x801D4E8C; // type:object size:0x4 data:float -lbl_801D4E90 = .sdata2:0x801D4E90; // type:object size:0x8 data:double -lbl_801D4E98 = .sdata2:0x801D4E98; // type:object size:0x8 data:double -lbl_801D4EA0 = .sdata2:0x801D4EA0; // type:object size:0x4 data:float -lbl_801D4EA4 = .sdata2:0x801D4EA4; // type:object size:0x4 data:float -lbl_801D4EA8 = .sdata2:0x801D4EA8; // type:object size:0x4 data:float -lbl_801D4EB0 = .sdata2:0x801D4EB0; // type:object size:0x8 data:double -lbl_801D4EB8 = .sdata2:0x801D4EB8; // type:object size:0x8 data:double -lbl_801D4EC0 = .sdata2:0x801D4EC0; // type:object size:0x4 data:float -lbl_801D4EC4 = .sdata2:0x801D4EC4; // type:object size:0x4 data:float -lbl_801D4EC8 = .sdata2:0x801D4EC8; // type:object size:0x8 data:double -lbl_801D4ED0 = .sdata2:0x801D4ED0; // type:object size:0x4 data:float -lbl_801D4ED4 = .sdata2:0x801D4ED4; // type:object size:0x4 data:float -lbl_801D4ED8 = .sdata2:0x801D4ED8; // type:object size:0x8 data:double -lbl_801D4EE0 = .sdata2:0x801D4EE0; // type:object size:0x4 data:float -lbl_801D4EE8 = .sdata2:0x801D4EE8; // type:object size:0x8 data:double -lbl_801D4EF0 = .sdata2:0x801D4EF0; // type:object size:0x4 data:float -lbl_801D4EF4 = .sdata2:0x801D4EF4; // type:object size:0x4 data:float -lbl_801D4EF8 = .sdata2:0x801D4EF8; // type:object size:0x4 data:float -lbl_801D4EFC = .sdata2:0x801D4EFC; // type:object size:0x4 data:float -lbl_801D4F00 = .sdata2:0x801D4F00; // type:object size:0x8 data:double -lbl_801D4F08 = .sdata2:0x801D4F08; // type:object size:0x4 data:float -lbl_801D4F0C = .sdata2:0x801D4F0C; // type:object size:0x4 data:float -lbl_801D4F10 = .sdata2:0x801D4F10; // type:object size:0x4 data:float -lbl_801D4F14 = .sdata2:0x801D4F14; // type:object size:0x4 data:float -lbl_801D4F18 = .sdata2:0x801D4F18; // type:object size:0x4 data:float -lbl_801D4F20 = .sdata2:0x801D4F20; // type:object size:0x8 data:double -lbl_801D4F28 = .sdata2:0x801D4F28; // type:object size:0x4 data:float -lbl_801D4F2C = .sdata2:0x801D4F2C; // type:object size:0x4 data:float -lbl_801D4F30 = .sdata2:0x801D4F30; // type:object size:0x4 data:float -lbl_801D4F34 = .sdata2:0x801D4F34; // type:object size:0x4 data:float -lbl_801D4F38 = .sdata2:0x801D4F38; // type:object size:0x4 data:float -lbl_801D4F3C = .sdata2:0x801D4F3C; // type:object size:0x4 data:float -lbl_801D4F40 = .sdata2:0x801D4F40; // type:object size:0x4 data:float -lbl_801D4F48 = .sdata2:0x801D4F48; // type:object size:0x8 data:double -lbl_801D4F50 = .sdata2:0x801D4F50; // type:object size:0x4 data:float -lbl_801D4F58 = .sdata2:0x801D4F58; // type:object size:0x8 data:double -lbl_801D4F60 = .sdata2:0x801D4F60; // type:object size:0x4 data:float -lbl_801D4F64 = .sdata2:0x801D4F64; // type:object size:0x4 data:float -lbl_801D4F68 = .sdata2:0x801D4F68; // type:object size:0x4 data:float -lbl_801D4F70 = .sdata2:0x801D4F70; // type:object size:0x8 data:double -lbl_801D4F78 = .sdata2:0x801D4F78; // type:object size:0x8 data:double -lbl_801D4F80 = .sdata2:0x801D4F80; // type:object size:0x8 data:double -lbl_801D4F88 = .sdata2:0x801D4F88; // type:object size:0x4 data:float -lbl_801D4F90 = .sdata2:0x801D4F90; // type:object size:0x8 data:double -lbl_801D4F98 = .sdata2:0x801D4F98; // type:object size:0x8 data:double -lbl_801D4FA0 = .sdata2:0x801D4FA0; // type:object size:0x8 data:double -lbl_801D4FA8 = .sdata2:0x801D4FA8; // type:object size:0x8 data:double -lbl_801D4FB0 = .sdata2:0x801D4FB0; // type:object size:0x8 data:double -lbl_801D4FB8 = .sdata2:0x801D4FB8; // type:object size:0x8 data:double -lbl_801D4FC0 = .sdata2:0x801D4FC0; // type:object size:0x8 data:double -lbl_801D4FC8 = .sdata2:0x801D4FC8; // type:object size:0x8 data:double -lbl_801D4FD0 = .sdata2:0x801D4FD0; // type:object size:0x8 data:double -lbl_801D4FD8 = .sdata2:0x801D4FD8; // type:object size:0x4 data:float -lbl_801D4FDC = .sdata2:0x801D4FDC; // type:object size:0x4 data:float -lbl_801D4FE0 = .sdata2:0x801D4FE0; // type:object size:0x4 data:float -lbl_801D4FE4 = .sdata2:0x801D4FE4; // type:object size:0x4 data:float -lbl_801D4FE8 = .sdata2:0x801D4FE8; // type:object size:0x8 data:double -lbl_801D4FF0 = .sdata2:0x801D4FF0; // type:object size:0x4 data:float -lbl_801D4FF8 = .sdata2:0x801D4FF8; // type:object size:0x8 data:double -lbl_801D5000 = .sdata2:0x801D5000; // type:object size:0x8 data:double -lbl_801D5008 = .sdata2:0x801D5008; // type:object size:0x4 data:float -lbl_801D500C = .sdata2:0x801D500C; // type:object size:0x4 data:float -lbl_801D5010 = .sdata2:0x801D5010; // type:object size:0x8 data:double -lbl_801D5018 = .sdata2:0x801D5018; // type:object size:0x4 data:float -lbl_801D501C = .sdata2:0x801D501C; // type:object size:0x4 data:float -lbl_801D5020 = .sdata2:0x801D5020; // type:object size:0x4 data:float -lbl_801D5024 = .sdata2:0x801D5024; // type:object size:0x4 data:float -lbl_801D5028 = .sdata2:0x801D5028; // type:object size:0x4 data:float -lbl_801D502C = .sdata2:0x801D502C; // type:object size:0x4 data:float -lbl_801D5030 = .sdata2:0x801D5030; // type:object size:0x8 data:double -lbl_801D5038 = .sdata2:0x801D5038; // type:object size:0x4 data:float -lbl_801D5040 = .sdata2:0x801D5040; // type:object size:0x8 data:double -lbl_801D5048 = .sdata2:0x801D5048; // type:object size:0x8 data:double -lbl_801D5050 = .sdata2:0x801D5050; // type:object size:0x4 data:float -lbl_801D5058 = .sdata2:0x801D5058; // type:object size:0x8 data:double -lbl_801D5060 = .sdata2:0x801D5060; // type:object size:0x4 data:float -lbl_801D5064 = .sdata2:0x801D5064; // type:object size:0x4 data:float -lbl_801D5068 = .sdata2:0x801D5068; // type:object size:0x8 data:double -lbl_801D5070 = .sdata2:0x801D5070; // type:object size:0x8 data:double -lbl_801D5078 = .sdata2:0x801D5078; // type:object size:0x4 data:float -lbl_801D507C = .sdata2:0x801D507C; // type:object size:0x4 data:float -lbl_801D5080 = .sdata2:0x801D5080; // type:object size:0x4 data:float -lbl_801D5088 = .sdata2:0x801D5088; // type:object size:0x8 data:double -lbl_801D5090 = .sdata2:0x801D5090; // type:object size:0x4 data:float -lbl_801D5094 = .sdata2:0x801D5094; // type:object size:0x4 data:float -lbl_801D5098 = .sdata2:0x801D5098; // type:object size:0x4 data:float -lbl_801D509C = .sdata2:0x801D509C; // type:object size:0x4 data:float -lbl_801D50A0 = .sdata2:0x801D50A0; // type:object size:0x8 data:double -lbl_801D50A8 = .sdata2:0x801D50A8; // type:object size:0x4 data:float -lbl_801D50B0 = .sdata2:0x801D50B0; // type:object size:0x8 data:double -lbl_801D50B8 = .sdata2:0x801D50B8; // type:object size:0x4 data:float -lbl_801D50C0 = .sdata2:0x801D50C0; // type:object size:0x8 data:double -lbl_801D50C8 = .sdata2:0x801D50C8; // type:object size:0x8 data:float -lbl_801D50D0 = .sdata2:0x801D50D0; // type:object size:0x4 data:float -lbl_801D50D4 = .sdata2:0x801D50D4; // type:object size:0x4 data:float -lbl_801D50D8 = .sdata2:0x801D50D8; // type:object size:0x4 data:float -lbl_801D50DC = .sdata2:0x801D50DC; // type:object size:0x4 data:float -lbl_801D50E0 = .sdata2:0x801D50E0; // type:object size:0x8 data:double -lbl_801D50E8 = .sdata2:0x801D50E8; // type:object size:0x8 data:double -lbl_801D50F0 = .sdata2:0x801D50F0; // type:object size:0x8 data:double -lbl_801D50F8 = .sdata2:0x801D50F8; // type:object size:0x4 data:float -lbl_801D5100 = .sdata2:0x801D5100; // type:object size:0x8 data:double -lbl_801D5108 = .sdata2:0x801D5108; // type:object size:0x2 data:2byte -lbl_801D510A = .sdata2:0x801D510A; // type:object size:0x2 data:2byte -lbl_801D510C = .sdata2:0x801D510C; // type:object size:0x2 data:2byte -lbl_801D510E = .sdata2:0x801D510E; // type:object size:0x2 data:2byte -lbl_801D5110 = .sdata2:0x801D5110; // type:object size:0x1 data:byte -lbl_801D5111 = .sdata2:0x801D5111; // type:object size:0x1 data:byte -lbl_801D5112 = .sdata2:0x801D5112; // type:object size:0x1 data:byte -lbl_801D5113 = .sdata2:0x801D5113; // type:object size:0x1 data:byte -lbl_801D5114 = .sdata2:0x801D5114; // type:object size:0x1 data:byte -lbl_801D5115 = .sdata2:0x801D5115; // type:object size:0x1 data:byte -lbl_801D5116 = .sdata2:0x801D5116; // type:object size:0x1 data:byte -lbl_801D5117 = .sdata2:0x801D5117; // type:object size:0x1 data:byte -lbl_801D5118 = .sdata2:0x801D5118; // type:object size:0x1 data:byte -lbl_801D5119 = .sdata2:0x801D5119; // type:object size:0x1 data:byte -lbl_801D511A = .sdata2:0x801D511A; // type:object size:0x1 data:byte -lbl_801D511B = .sdata2:0x801D511B; // type:object size:0x1 data:byte -lbl_801D511C = .sdata2:0x801D511C; // type:object size:0x4 data:float -lbl_801D5120 = .sdata2:0x801D5120; // type:object size:0x4 data:float -lbl_801D5124 = .sdata2:0x801D5124; // type:object size:0x1 data:byte -lbl_801D5125 = .sdata2:0x801D5125; // type:object size:0x1 data:byte -lbl_801D5126 = .sdata2:0x801D5126; // type:object size:0x1 data:byte -lbl_801D5127 = .sdata2:0x801D5127; // type:object size:0x1 data:byte -lbl_801D5128 = .sdata2:0x801D5128; // type:object size:0x4 data:float -lbl_801D512C = .sdata2:0x801D512C; // type:object size:0x4 data:float -lbl_801D5130 = .sdata2:0x801D5130; // type:object size:0x8 data:float -lbl_801D5138 = .sdata2:0x801D5138; // type:object size:0x4 data:float -lbl_801D513C = .sdata2:0x801D513C; // type:object size:0x4 data:float -lbl_801D5140 = .sdata2:0x801D5140; // type:object size:0x8 data:float -lbl_801D5148 = .sdata2:0x801D5148; // type:object size:0x4 data:float -lbl_801D514C = .sdata2:0x801D514C; // type:object size:0x4 data:float -lbl_801D5150 = .sdata2:0x801D5150; // type:object size:0x4 data:float -lbl_801D5154 = .sdata2:0x801D5154; // type:object size:0x4 data:float -lbl_801D5158 = .sdata2:0x801D5158; // type:object size:0x4 data:float -lbl_801D515C = .sdata2:0x801D515C; // type:object size:0x4 data:float -lbl_801D5160 = .sdata2:0x801D5160; // type:object size:0x8 data:double -lbl_801D5168 = .sdata2:0x801D5168; // type:object size:0x8 data:double -lbl_801D5170 = .sdata2:0x801D5170; // type:object size:0x4 data:float -lbl_801D5174 = .sdata2:0x801D5174; // type:object size:0x4 data:float -lbl_801D5178 = .sdata2:0x801D5178; // type:object size:0x8 data:double -lbl_801D5180 = .sdata2:0x801D5180; // type:object size:0x8 data:double -lbl_801D5188 = .sdata2:0x801D5188; // type:object size:0x4 data:float -lbl_801D518C = .sdata2:0x801D518C; // type:object size:0x4 data:float -lbl_801D5190 = .sdata2:0x801D5190; // type:object size:0x4 data:float -lbl_801D5194 = .sdata2:0x801D5194; // type:object size:0x4 data:float -lbl_801D5198 = .sdata2:0x801D5198; // type:object size:0x4 data:float -lbl_801D519C = .sdata2:0x801D519C; // type:object size:0x4 data:float -lbl_801D51A0 = .sdata2:0x801D51A0; // type:object size:0x8 data:double -lbl_801D51A8 = .sdata2:0x801D51A8; // type:object size:0x4 data:float -lbl_801D51AC = .sdata2:0x801D51AC; // type:object size:0x4 data:float -lbl_801D51B0 = .sdata2:0x801D51B0; // type:object size:0x8 data:double -lbl_801D51B8 = .sdata2:0x801D51B8; // type:object size:0x4 data:float -lbl_801D51BC = .sdata2:0x801D51BC; // type:object size:0x4 data:float -lbl_801D51C0 = .sdata2:0x801D51C0; // type:object size:0x4 data:float -lbl_801D51C4 = .sdata2:0x801D51C4; // type:object size:0x4 data:float -lbl_801D51C8 = .sdata2:0x801D51C8; // type:object size:0x4 data:float -lbl_801D51CC = .sdata2:0x801D51CC; // type:object size:0x4 data:float -lbl_801D51D0 = .sdata2:0x801D51D0; // type:object size:0x4 data:float -lbl_801D51D4 = .sdata2:0x801D51D4; // type:object size:0x4 data:float -lbl_801D51D8 = .sdata2:0x801D51D8; // type:object size:0x4 data:float -lbl_801D51DC = .sdata2:0x801D51DC; // type:object size:0x4 data:float -lbl_801D51E0 = .sdata2:0x801D51E0; // type:object size:0x4 data:float -lbl_801D51E4 = .sdata2:0x801D51E4; // type:object size:0x4 data:float -lbl_801D51E8 = .sdata2:0x801D51E8; // type:object size:0x4 data:float -lbl_801D51EC = .sdata2:0x801D51EC; // type:object size:0x4 data:float -lbl_801D51F0 = .sdata2:0x801D51F0; // type:object size:0x4 data:float -lbl_801D51F4 = .sdata2:0x801D51F4; // type:object size:0x4 data:float -lbl_801D51F8 = .sdata2:0x801D51F8; // type:object size:0x4 data:float -lbl_801D51FC = .sdata2:0x801D51FC; // type:object size:0x4 data:float -lbl_801D5200 = .sdata2:0x801D5200; // type:object size:0x4 data:float -lbl_801D5204 = .sdata2:0x801D5204; // type:object size:0x4 data:float -lbl_801D5208 = .sdata2:0x801D5208; // type:object size:0x4 data:float -lbl_801D520C = .sdata2:0x801D520C; // type:object size:0x4 data:float -lbl_801D5210 = .sdata2:0x801D5210; // type:object size:0x4 data:float -lbl_801D5218 = .sdata2:0x801D5218; // type:object size:0x8 data:double -lbl_801D5220 = .sdata2:0x801D5220; // type:object size:0x8 data:double -lbl_801D5228 = .sdata2:0x801D5228; // type:object size:0x4 data:float -lbl_801D5230 = .sdata2:0x801D5230; // type:object size:0x8 data:double -lbl_801D5238 = .sdata2:0x801D5238; // type:object size:0x4 data:float -lbl_801D5240 = .sdata2:0x801D5240; // type:object size:0x8 data:double -lbl_801D5248 = .sdata2:0x801D5248; // type:object size:0x4 data:float -lbl_801D524C = .sdata2:0x801D524C; // type:object size:0x4 data:float -lbl_801D5250 = .sdata2:0x801D5250; // type:object size:0x4 data:float -lbl_801D5254 = .sdata2:0x801D5254; // type:object size:0x4 data:float -lbl_801D5258 = .sdata2:0x801D5258; // type:object size:0x8 data:double -lbl_801D5260 = .sdata2:0x801D5260; // type:object size:0x8 data:double -lbl_801D5268 = .sdata2:0x801D5268; // type:object size:0x4 data:float -lbl_801D526C = .sdata2:0x801D526C; // type:object size:0x4 data:float -lbl_801D5270 = .sdata2:0x801D5270; // type:object size:0x4 data:float -lbl_801D5274 = .sdata2:0x801D5274; // type:object size:0x4 data:float -lbl_801D5278 = .sdata2:0x801D5278; // type:object size:0x4 data:float -lbl_801D527C = .sdata2:0x801D527C; // type:object size:0x4 data:float -lbl_801D5280 = .sdata2:0x801D5280; // type:object size:0x4 data:float -lbl_801D5284 = .sdata2:0x801D5284; // type:object size:0x4 data:float -lbl_801D5288 = .sdata2:0x801D5288; // type:object size:0x4 data:float -lbl_801D528C = .sdata2:0x801D528C; // type:object size:0x4 data:float -lbl_801D5290 = .sdata2:0x801D5290; // type:object size:0x4 data:float -lbl_801D5294 = .sdata2:0x801D5294; // type:object size:0x4 data:float -lbl_801D5298 = .sdata2:0x801D5298; // type:object size:0x4 data:float -lbl_801D529C = .sdata2:0x801D529C; // type:object size:0x4 data:float -lbl_801D52A0 = .sdata2:0x801D52A0; // type:object size:0x4 data:4byte -lbl_801D52A4 = .sdata2:0x801D52A4; // type:object size:0x4 data:4byte -lbl_801D52A8 = .sdata2:0x801D52A8; // type:object size:0x4 data:float -lbl_801D52AC = .sdata2:0x801D52AC; // type:object size:0x4 data:float -lbl_801D52B0 = .sdata2:0x801D52B0; // type:object size:0x4 data:float -lbl_801D52B4 = .sdata2:0x801D52B4; // type:object size:0x4 data:float -lbl_801D52B8 = .sdata2:0x801D52B8; // type:object size:0x4 data:float -lbl_801D52BC = .sdata2:0x801D52BC; // type:object size:0x4 data:float -lbl_801D52C0 = .sdata2:0x801D52C0; // type:object size:0x4 data:float -lbl_801D52C4 = .sdata2:0x801D52C4; // type:object size:0x4 data:float -lbl_801D52C8 = .sdata2:0x801D52C8; // type:object size:0x4 data:float -lbl_801D52CC = .sdata2:0x801D52CC; // type:object size:0x2 data:2byte -lbl_801D52CE = .sdata2:0x801D52CE; // type:object size:0x2 data:2byte -lbl_801D52D0 = .sdata2:0x801D52D0; // type:object size:0x2 data:2byte -lbl_801D52D2 = .sdata2:0x801D52D2; // type:object size:0x2 data:2byte -lbl_801D52D4 = .sdata2:0x801D52D4; // type:object size:0x1 data:byte -lbl_801D52D5 = .sdata2:0x801D52D5; // type:object size:0x1 data:byte -lbl_801D52D6 = .sdata2:0x801D52D6; // type:object size:0x1 data:byte -lbl_801D52D7 = .sdata2:0x801D52D7; // type:object size:0x1 data:byte -lbl_801D52D8 = .sdata2:0x801D52D8; // type:object size:0x1 data:byte -lbl_801D52D9 = .sdata2:0x801D52D9; // type:object size:0x1 data:byte -lbl_801D52DA = .sdata2:0x801D52DA; // type:object size:0x1 data:byte -lbl_801D52DB = .sdata2:0x801D52DB; // type:object size:0x1 data:byte -lbl_801D52DC = .sdata2:0x801D52DC; // type:object size:0x4 data:float -lbl_801D52E0 = .sdata2:0x801D52E0; // type:object size:0x4 data:float -lbl_801D52E4 = .sdata2:0x801D52E4; // type:object size:0x4 data:float -lbl_801D52E8 = .sdata2:0x801D52E8; // type:object size:0x4 data:float -lbl_801D52EC = .sdata2:0x801D52EC; // type:object size:0x4 data:float -lbl_801D52F0 = .sdata2:0x801D52F0; // type:object size:0x4 data:float -lbl_801D52F8 = .sdata2:0x801D52F8; // type:object size:0x8 data:double -lbl_801D5300 = .sdata2:0x801D5300; // type:object size:0x4 data:float -lbl_801D5304 = .sdata2:0x801D5304; // type:object size:0x4 data:float -lbl_801D5308 = .sdata2:0x801D5308; // type:object size:0x4 data:float -lbl_801D530C = .sdata2:0x801D530C; // type:object size:0x4 data:float -lbl_801D5310 = .sdata2:0x801D5310; // type:object size:0x8 data:float -winSpeedTbl = .sdata2:0x801D5318; // type:object size:0x4 scope:local -lbl_801D531C = .sdata2:0x801D531C; // type:object size:0x4 data:float -lbl_801D5320 = .sdata2:0x801D5320; // type:object size:0x4 data:float -lbl_801D5328 = .sdata2:0x801D5328; // type:object size:0x8 data:double -lbl_801D5330 = .sdata2:0x801D5330; // type:object size:0x8 data:double -lbl_801D5338 = .sdata2:0x801D5338; // type:object size:0x8 data:double -lbl_801D5340 = .sdata2:0x801D5340; // type:object size:0x4 data:float -lbl_801D5344 = .sdata2:0x801D5344; // type:object size:0x4 data:float -lbl_801D5348 = .sdata2:0x801D5348; // type:object size:0x8 data:float -lbl_801D5350 = .sdata2:0x801D5350; // type:object size:0x4 data:float -lbl_801D5354 = .sdata2:0x801D5354; // type:object size:0x4 data:float -lbl_801D5358 = .sdata2:0x801D5358; // type:object size:0x4 data:float -lbl_801D5360 = .sdata2:0x801D5360; // type:object size:0x8 data:double -lbl_801D5368 = .sdata2:0x801D5368; // type:object size:0x8 data:double -lbl_801D5370 = .sdata2:0x801D5370; // type:object size:0x4 data:float -lbl_801D5374 = .sdata2:0x801D5374; // type:object size:0x4 data:float -lbl_801D5378 = .sdata2:0x801D5378; // type:object size:0x4 data:float -lbl_801D537C = .sdata2:0x801D537C; // type:object size:0x4 data:float -lbl_801D5380 = .sdata2:0x801D5380; // type:object size:0x4 data:float -lbl_801D5384 = .sdata2:0x801D5384; // type:object size:0x4 data:float -lbl_801D5388 = .sdata2:0x801D5388; // type:object size:0x4 data:float -lbl_801D538C = .sdata2:0x801D538C; // type:object size:0x4 data:float -lbl_801D5390 = .sdata2:0x801D5390; // type:object size:0x4 data:float -lbl_801D5394 = .sdata2:0x801D5394; // type:object size:0x4 data:float -lbl_801D5398 = .sdata2:0x801D5398; // type:object size:0x4 data:float -lbl_801D539C = .sdata2:0x801D539C; // type:object size:0x4 data:float -lbl_801D53A0 = .sdata2:0x801D53A0; // type:object size:0x4 data:float -lbl_801D53A8 = .sdata2:0x801D53A8; // type:object size:0x8 data:double -lbl_801D53B0 = .sdata2:0x801D53B0; // type:object size:0x4 data:float -lbl_801D53B4 = .sdata2:0x801D53B4; // type:object size:0x4 data:float -lbl_801D53B8 = .sdata2:0x801D53B8; // type:object size:0x8 data:float -lbl_801D53C0 = .sdata2:0x801D53C0; // type:object size:0x1 data:byte -lbl_801D53C1 = .sdata2:0x801D53C1; // type:object size:0x1 data:byte -lbl_801D53C2 = .sdata2:0x801D53C2; // type:object size:0x1 data:byte -lbl_801D53C3 = .sdata2:0x801D53C3; // type:object size:0x1 data:byte -lbl_801D53C4 = .sdata2:0x801D53C4; // type:object size:0x1 data:byte -lbl_801D53C5 = .sdata2:0x801D53C5; // type:object size:0x1 data:byte -lbl_801D53C6 = .sdata2:0x801D53C6; // type:object size:0x1 data:byte -lbl_801D53C7 = .sdata2:0x801D53C7; // type:object size:0x1 data:byte -lbl_801D53C8 = .sdata2:0x801D53C8; // type:object size:0x4 data:float -lbl_801D53CC = .sdata2:0x801D53CC; // type:object size:0x4 data:float -lbl_801D53D0 = .sdata2:0x801D53D0; // type:object size:0x8 data:double -lbl_801D53D8 = .sdata2:0x801D53D8; // type:object size:0x8 data:double -lbl_801D53E0 = .sdata2:0x801D53E0; // type:object size:0x8 data:double -lbl_801D53E8 = .sdata2:0x801D53E8; // type:object size:0x4 data:float -lbl_801D53F0 = .sdata2:0x801D53F0; // type:object size:0x8 data:double -lbl_801D53F8 = .sdata2:0x801D53F8; // type:object size:0x4 data:float -lbl_801D53FC = .sdata2:0x801D53FC; // type:object size:0x4 data:float -lbl_801D5400 = .sdata2:0x801D5400; // type:object size:0x4 data:float -lbl_801D5404 = .sdata2:0x801D5404; // type:object size:0x4 data:float -lbl_801D5408 = .sdata2:0x801D5408; // type:object size:0x4 data:float -lbl_801D540C = .sdata2:0x801D540C; // type:object size:0x4 data:float -lbl_801D5410 = .sdata2:0x801D5410; // type:object size:0x4 data:float -lbl_801D5414 = .sdata2:0x801D5414; // type:object size:0x1 data:byte -lbl_801D5415 = .sdata2:0x801D5415; // type:object size:0x1 data:byte -lbl_801D5416 = .sdata2:0x801D5416; // type:object size:0x1 data:byte -lbl_801D5417 = .sdata2:0x801D5417; // type:object size:0x1 data:byte -lbl_801D5418 = .sdata2:0x801D5418; // type:object size:0x4 data:float -lbl_801D541C = .sdata2:0x801D541C; // type:object size:0x4 data:float -lbl_801D5420 = .sdata2:0x801D5420; // type:object size:0x4 data:float -lbl_801D5424 = .sdata2:0x801D5424; // type:object size:0x4 data:float -lbl_801D5428 = .sdata2:0x801D5428; // type:object size:0x4 data:float -lbl_801D542C = .sdata2:0x801D542C; // type:object size:0x4 data:float -lbl_801D5430 = .sdata2:0x801D5430; // type:object size:0x4 data:float -lbl_801D5434 = .sdata2:0x801D5434; // type:object size:0x4 data:float -lbl_801D5438 = .sdata2:0x801D5438; // type:object size:0x4 data:float -lbl_801D543C = .sdata2:0x801D543C; // type:object size:0x4 data:float -lbl_801D5440 = .sdata2:0x801D5440; // type:object size:0x4 data:4byte -lbl_801D5444 = .sdata2:0x801D5444; // type:object size:0x4 data:4byte -lbl_801D5448 = .sdata2:0x801D5448; // type:object size:0x4 data:float -lbl_801D5450 = .sdata2:0x801D5450; // type:object size:0x8 data:double -lbl_801D5458 = .sdata2:0x801D5458; // type:object size:0x8 data:double -lbl_801D5460 = .sdata2:0x801D5460; // type:object size:0x4 data:float -lbl_801D5464 = .sdata2:0x801D5464; // type:object size:0x4 data:float -lbl_801D5468 = .sdata2:0x801D5468; // type:object size:0x4 data:float -lbl_801D546C = .sdata2:0x801D546C; // type:object size:0x4 data:float -lbl_801D5470 = .sdata2:0x801D5470; // type:object size:0x4 data:float -lbl_801D5474 = .sdata2:0x801D5474; // type:object size:0x4 data:float -lbl_801D5478 = .sdata2:0x801D5478; // type:object size:0x4 data:float -lbl_801D547C = .sdata2:0x801D547C; // type:object size:0x4 data:float -lbl_801D5480 = .sdata2:0x801D5480; // type:object size:0x4 data:float -lbl_801D5484 = .sdata2:0x801D5484; // type:object size:0x4 data:float -lbl_801D5488 = .sdata2:0x801D5488; // type:object size:0x4 data:float -lbl_801D548C = .sdata2:0x801D548C; // type:object size:0x4 data:float -lbl_801D5490 = .sdata2:0x801D5490; // type:object size:0x4 data:float -lbl_801D5494 = .sdata2:0x801D5494; // type:object size:0x4 data:float -lbl_801D5498 = .sdata2:0x801D5498; // type:object size:0x4 data:float -lbl_801D549C = .sdata2:0x801D549C; // type:object size:0x4 data:float -lbl_801D54A0 = .sdata2:0x801D54A0; // type:object size:0x4 data:float -lbl_801D54A8 = .sdata2:0x801D54A8; // type:object size:0x8 data:double -lbl_801D54B0 = .sdata2:0x801D54B0; // type:object size:0x4 data:float -lbl_801D54B4 = .sdata2:0x801D54B4; // type:object size:0x4 data:float -lbl_801D54B8 = .sdata2:0x801D54B8; // type:object size:0x4 data:float -lbl_801D54BC = .sdata2:0x801D54BC; // type:object size:0x4 data:float -lbl_801D54C0 = .sdata2:0x801D54C0; // type:object size:0x4 data:float -lbl_801D54C4 = .sdata2:0x801D54C4; // type:object size:0x4 data:float -lbl_801D54C8 = .sdata2:0x801D54C8; // type:object size:0x4 data:float -lbl_801D54CC = .sdata2:0x801D54CC; // type:object size:0x4 data:float -lbl_801D54D0 = .sdata2:0x801D54D0; // type:object size:0x4 data:float -lbl_801D54D4 = .sdata2:0x801D54D4; // type:object size:0x4 data:float -lbl_801D54D8 = .sdata2:0x801D54D8; // type:object size:0x4 data:float -lbl_801D54DC = .sdata2:0x801D54DC; // type:object size:0x4 data:float -lbl_801D54E0 = .sdata2:0x801D54E0; // type:object size:0x4 data:float -lbl_801D54E8 = .sdata2:0x801D54E8; // type:object size:0x8 data:double -lbl_801D54F0 = .sdata2:0x801D54F0; // type:object size:0x4 data:float -lbl_801D54F4 = .sdata2:0x801D54F4; // type:object size:0x4 data:float -lbl_801D54F8 = .sdata2:0x801D54F8; // type:object size:0x4 data:float -lbl_801D5500 = .sdata2:0x801D5500; // type:object size:0x8 data:double -lbl_801D5508 = .sdata2:0x801D5508; // type:object size:0x8 data:float -lbl_801D5510 = .sdata2:0x801D5510; // type:object size:0x4 data:float -lbl_801D5514 = .sdata2:0x801D5514; // type:object size:0x4 data:4byte -lbl_801D5518 = .sdata2:0x801D5518; // type:object size:0x4 data:4byte -lbl_801D551C = .sdata2:0x801D551C; // type:object size:0x4 data:float -lbl_801D5520 = .sdata2:0x801D5520; // type:object size:0x4 data:float -lbl_801D5528 = .sdata2:0x801D5528; // type:object size:0x8 data:double -lbl_801D5530 = .sdata2:0x801D5530; // type:object size:0x8 data:double -lbl_801D5538 = .sdata2:0x801D5538; // type:object size:0x4 data:float -lbl_801D553C = .sdata2:0x801D553C; // type:object size:0x4 data:float -lbl_801D5540 = .sdata2:0x801D5540; // type:object size:0x4 data:float -lbl_801D5544 = .sdata2:0x801D5544; // type:object size:0x4 data:float -lbl_801D5548 = .sdata2:0x801D5548; // type:object size:0x8 data:double -lbl_801D5550 = .sdata2:0x801D5550; // type:object size:0x4 data:float -lbl_801D5554 = .sdata2:0x801D5554; // type:object size:0x4 data:float -lbl_801D5558 = .sdata2:0x801D5558; // type:object size:0x4 data:float -lbl_801D555C = .sdata2:0x801D555C; // type:object size:0x4 data:float -lbl_801D5560 = .sdata2:0x801D5560; // type:object size:0x4 data:float -lbl_801D5564 = .sdata2:0x801D5564; // type:object size:0x4 data:float -lbl_801D5568 = .sdata2:0x801D5568; // type:object size:0x4 data:float -lbl_801D556C = .sdata2:0x801D556C; // type:object size:0x4 data:float -lbl_801D5570 = .sdata2:0x801D5570; // type:object size:0x4 data:float -lbl_801D5574 = .sdata2:0x801D5574; // type:object size:0x4 data:float -lbl_801D5578 = .sdata2:0x801D5578; // type:object size:0x4 data:float -lbl_801D557C = .sdata2:0x801D557C; // type:object size:0x4 data:float -lbl_801D5580 = .sdata2:0x801D5580; // type:object size:0x4 data:float -lbl_801D5584 = .sdata2:0x801D5584; // type:object size:0x4 data:4byte -lbl_801D5588 = .sdata2:0x801D5588; // type:object size:0x4 data:4byte -lbl_801D558C = .sdata2:0x801D558C; // type:object size:0x2 data:2byte -lbl_801D558E = .sdata2:0x801D558E; // type:object size:0x2 data:2byte -lbl_801D5590 = .sdata2:0x801D5590; // type:object size:0x2 data:2byte -lbl_801D5592 = .sdata2:0x801D5592; // type:object size:0x2 data:2byte -lbl_801D5594 = .sdata2:0x801D5594; // type:object size:0x4 data:float -lbl_801D5598 = .sdata2:0x801D5598; // type:object size:0x4 data:float -lbl_801D559C = .sdata2:0x801D559C; // type:object size:0x4 data:float -lbl_801D55A0 = .sdata2:0x801D55A0; // type:object size:0x4 data:float -lbl_801D55A4 = .sdata2:0x801D55A4; // type:object size:0x4 data:float -lbl_801D55A8 = .sdata2:0x801D55A8; // type:object size:0x4 data:float -lbl_801D55AC = .sdata2:0x801D55AC; // type:object size:0x4 data:float -lbl_801D55B0 = .sdata2:0x801D55B0; // type:object size:0x4 data:float -lbl_801D55B4 = .sdata2:0x801D55B4; // type:object size:0x4 data:float -lbl_801D55B8 = .sdata2:0x801D55B8; // type:object size:0x4 data:float -lbl_801D55BC = .sdata2:0x801D55BC; // type:object size:0x4 data:float -lbl_801D55C0 = .sdata2:0x801D55C0; // type:object size:0x4 data:float -lbl_801D55C4 = .sdata2:0x801D55C4; // type:object size:0x4 data:float -lbl_801D55C8 = .sdata2:0x801D55C8; // type:object size:0x4 data:float -lbl_801D55CC = .sdata2:0x801D55CC; // type:object size:0x4 data:float -lbl_801D55D0 = .sdata2:0x801D55D0; // type:object size:0x4 data:float -lbl_801D55D4 = .sdata2:0x801D55D4; // type:object size:0x4 data:float -lbl_801D55D8 = .sdata2:0x801D55D8; // type:object size:0x4 data:float -lbl_801D55DC = .sdata2:0x801D55DC; // type:object size:0x4 data:float -lbl_801D55E0 = .sdata2:0x801D55E0; // type:object size:0x4 data:float -lbl_801D55E4 = .sdata2:0x801D55E4; // type:object size:0x4 data:float -lbl_801D55E8 = .sdata2:0x801D55E8; // type:object size:0x4 data:float -lbl_801D55EC = .sdata2:0x801D55EC; // type:object size:0x4 data:float -lbl_801D55F0 = .sdata2:0x801D55F0; // type:object size:0x4 data:float -lbl_801D55F4 = .sdata2:0x801D55F4; // type:object size:0x4 data:float -lbl_801D55F8 = .sdata2:0x801D55F8; // type:object size:0x4 data:float -lbl_801D55FC = .sdata2:0x801D55FC; // type:object size:0x4 data:float -lbl_801D5600 = .sdata2:0x801D5600; // type:object size:0x4 data:float -lbl_801D5604 = .sdata2:0x801D5604; // type:object size:0x4 data:float -lbl_801D5608 = .sdata2:0x801D5608; // type:object size:0x4 data:float -lbl_801D560C = .sdata2:0x801D560C; // type:object size:0x4 data:float -lbl_801D5610 = .sdata2:0x801D5610; // type:object size:0x4 data:float -lbl_801D5614 = .sdata2:0x801D5614; // type:object size:0x4 data:float -lbl_801D5618 = .sdata2:0x801D5618; // type:object size:0x4 data:float -lbl_801D561C = .sdata2:0x801D561C; // type:object size:0x4 data:float -lbl_801D5620 = .sdata2:0x801D5620; // type:object size:0x4 data:float -lbl_801D5624 = .sdata2:0x801D5624; // type:object size:0x4 data:float -lbl_801D5628 = .sdata2:0x801D5628; // type:object size:0x8 data:double -lbl_801D5630 = .sdata2:0x801D5630; // type:object size:0x8 data:double -lbl_801D5638 = .sdata2:0x801D5638; // type:object size:0x4 data:float -lbl_801D563C = .sdata2:0x801D563C; // type:object size:0x4 data:float -lbl_801D5640 = .sdata2:0x801D5640; // type:object size:0x4 data:float -lbl_801D5644 = .sdata2:0x801D5644; // type:object size:0x4 data:float -lbl_801D5648 = .sdata2:0x801D5648; // type:object size:0x4 data:float -lbl_801D564C = .sdata2:0x801D564C; // type:object size:0x4 data:float -lbl_801D5650 = .sdata2:0x801D5650; // type:object size:0x4 data:float -lbl_801D5654 = .sdata2:0x801D5654; // type:object size:0x4 data:float -lbl_801D5658 = .sdata2:0x801D5658; // type:object size:0x4 data:float -lbl_801D565C = .sdata2:0x801D565C; // type:object size:0x4 data:float -lbl_801D5660 = .sdata2:0x801D5660; // type:object size:0x4 data:float -lbl_801D5664 = .sdata2:0x801D5664; // type:object size:0x4 data:float -lbl_801D5668 = .sdata2:0x801D5668; // type:object size:0x8 data:double -lbl_801D5670 = .sdata2:0x801D5670; // type:object size:0x4 data:4byte -lbl_801D5674 = .sdata2:0x801D5674; // type:object size:0x4 data:4byte -lbl_801D5678 = .sdata2:0x801D5678; // type:object size:0x1 data:byte -lbl_801D5679 = .sdata2:0x801D5679; // type:object size:0x1 data:byte -lbl_801D567C = .sdata2:0x801D567C; // type:object size:0x4 data:float -lbl_801D5680 = .sdata2:0x801D5680; // type:object size:0x4 data:float -lbl_801D5684 = .sdata2:0x801D5684; // type:object size:0x4 data:float -lbl_801D5688 = .sdata2:0x801D5688; // type:object size:0x4 data:float -lbl_801D568C = .sdata2:0x801D568C; // type:object size:0x4 data:float -lbl_801D5690 = .sdata2:0x801D5690; // type:object size:0x4 data:float -lbl_801D5694 = .sdata2:0x801D5694; // type:object size:0x4 data:float -lbl_801D5698 = .sdata2:0x801D5698; // type:object size:0x8 data:float -lbl_801D56A0 = .sdata2:0x801D56A0; // type:object size:0x4 data:float -lbl_801D56A4 = .sdata2:0x801D56A4; // type:object size:0x4 data:float -lbl_801D56A8 = .sdata2:0x801D56A8; // type:object size:0x4 data:float -lbl_801D56AC = .sdata2:0x801D56AC; // type:object size:0x4 data:float -coinSignMdl = .sdata2:0x801D56B0; // type:object size:0x8 scope:local -lbl_801D56B8 = .sdata2:0x801D56B8; // type:object size:0x4 data:float -lbl_801D56BC = .sdata2:0x801D56BC; // type:object size:0x4 data:float -lbl_801D56C0 = .sdata2:0x801D56C0; // type:object size:0x4 data:float -lbl_801D56C8 = .sdata2:0x801D56C8; // type:object size:0x8 data:double -lbl_801D56D0 = .sdata2:0x801D56D0; // type:object size:0x8 data:double -lbl_801D56D8 = .sdata2:0x801D56D8; // type:object size:0x4 data:float -lbl_801D56DC = .sdata2:0x801D56DC; // type:object size:0x4 data:float -lbl_801D56E0 = .sdata2:0x801D56E0; // type:object size:0x4 data:float -lbl_801D56E8 = .sdata2:0x801D56E8; // type:object size:0x8 data:double -lbl_801D56F0 = .sdata2:0x801D56F0; // type:object size:0x4 data:float -lbl_801D56F4 = .sdata2:0x801D56F4; // type:object size:0x4 data:float -lbl_801D56F8 = .sdata2:0x801D56F8; // type:object size:0x4 data:float -lbl_801D56FC = .sdata2:0x801D56FC; // type:object size:0x4 data:float -lbl_801D5700 = .sdata2:0x801D5700; // type:object size:0x4 data:float -lbl_801D5704 = .sdata2:0x801D5704; // type:object size:0x4 data:float -lbl_801D5708 = .sdata2:0x801D5708; // type:object size:0x4 data:float -lbl_801D570C = .sdata2:0x801D570C; // type:object size:0x4 data:float -lbl_801D5710 = .sdata2:0x801D5710; // type:object size:0x8 data:double -lbl_801D5718 = .sdata2:0x801D5718; // type:object size:0x8 data:double -lbl_801D5720 = .sdata2:0x801D5720; // type:object size:0x4 data:float -lbl_801D5728 = .sdata2:0x801D5728; // type:object size:0x8 data:double -lbl_801D5730 = .sdata2:0x801D5730; // type:object size:0x4 data:float -lbl_801D5734 = .sdata2:0x801D5734; // type:object size:0x4 data:float -lbl_801D5738 = .sdata2:0x801D5738; // type:object size:0x4 data:float -lbl_801D573C = .sdata2:0x801D573C; // type:object size:0x4 data:float -lbl_801D5740 = .sdata2:0x801D5740; // type:object size:0x4 data:float -lbl_801D5744 = .sdata2:0x801D5744; // type:object size:0x4 data:float -lbl_801D5748 = .sdata2:0x801D5748; // type:object size:0x4 data:float -lbl_801D574C = .sdata2:0x801D574C; // type:object size:0x4 data:float -lbl_801D5750 = .sdata2:0x801D5750; // type:object size:0x4 data:float -lbl_801D5754 = .sdata2:0x801D5754; // type:object size:0x4 data:float -lbl_801D5758 = .sdata2:0x801D5758; // type:object size:0x4 data:float -lbl_801D575C = .sdata2:0x801D575C; // type:object size:0x4 data:float -lbl_801D5760 = .sdata2:0x801D5760; // type:object size:0x4 data:float -lbl_801D5768 = .sdata2:0x801D5768; // type:object size:0x8 data:double -lbl_801D5770 = .sdata2:0x801D5770; // type:object size:0x8 data:double -lbl_801D5778 = .sdata2:0x801D5778; // type:object size:0x8 data:float -lbl_801D5780 = .sdata2:0x801D5780; // type:object size:0x4 data:float -lbl_801D5784 = .sdata2:0x801D5784; // type:object size:0x4 data:float -lbl_801D5788 = .sdata2:0x801D5788; // type:object size:0x4 data:float -lbl_801D578C = .sdata2:0x801D578C; // type:object size:0x4 data:float -lbl_801D5790 = .sdata2:0x801D5790; // type:object size:0x4 data:float -lbl_801D5794 = .sdata2:0x801D5794; // type:object size:0x4 data:float -lbl_801D5798 = .sdata2:0x801D5798; // type:object size:0x4 data:float -lbl_801D579C = .sdata2:0x801D579C; // type:object size:0x4 data:float -lbl_801D57A0 = .sdata2:0x801D57A0; // type:object size:0x4 data:float -lbl_801D57A4 = .sdata2:0x801D57A4; // type:object size:0x4 data:float -lbl_801D57A8 = .sdata2:0x801D57A8; // type:object size:0x4 data:float -lbl_801D57AC = .sdata2:0x801D57AC; // type:object size:0x4 data:float -lbl_801D57B0 = .sdata2:0x801D57B0; // type:object size:0x4 data:float -lbl_801D57B4 = .sdata2:0x801D57B4; // type:object size:0x4 data:float -lbl_801D57B8 = .sdata2:0x801D57B8; // type:object size:0x4 data:float -lbl_801D57BC = .sdata2:0x801D57BC; // type:object size:0x4 data:float -lbl_801D57C0 = .sdata2:0x801D57C0; // type:object size:0x8 data:double -lbl_801D57C8 = .sdata2:0x801D57C8; // type:object size:0x4 data:float -lbl_801D57CC = .sdata2:0x801D57CC; // type:object size:0x4 data:float -lbl_801D57D0 = .sdata2:0x801D57D0; // type:object size:0x4 data:float -lbl_801D57D4 = .sdata2:0x801D57D4; // type:object size:0x4 data:float -lbl_801D57D8 = .sdata2:0x801D57D8; // type:object size:0x4 data:float -lbl_801D57DC = .sdata2:0x801D57DC; // type:object size:0x4 data:float -lbl_801D57E0 = .sdata2:0x801D57E0; // type:object size:0x4 data:float -lbl_801D57E4 = .sdata2:0x801D57E4; // type:object size:0x4 data:float -lbl_801D57E8 = .sdata2:0x801D57E8; // type:object size:0x8 data:double -lbl_801D57F0 = .sdata2:0x801D57F0; // type:object size:0x8 data:double -lbl_801D57F8 = .sdata2:0x801D57F8; // type:object size:0x4 data:float -lbl_801D5800 = .sdata2:0x801D5800; // type:object size:0x8 data:double -lbl_801D5808 = .sdata2:0x801D5808; // type:object size:0x8 data:float -boxOfs = .sdata2:0x801D5810; // type:object size:0x8 scope:local data:float -lbl_801D5818 = .sdata2:0x801D5818; // type:object size:0x4 data:float -lbl_801D581C = .sdata2:0x801D581C; // type:object size:0x4 data:float -lbl_801D5820 = .sdata2:0x801D5820; // type:object size:0x4 data:float -lbl_801D5824 = .sdata2:0x801D5824; // type:object size:0x4 data:float -lbl_801D5828 = .sdata2:0x801D5828; // type:object size:0x4 data:float -lbl_801D582C = .sdata2:0x801D582C; // type:object size:0x4 data:float -lbl_801D5830 = .sdata2:0x801D5830; // type:object size:0x8 data:double -lbl_801D5838 = .sdata2:0x801D5838; // type:object size:0x8 data:double -lbl_801D5840 = .sdata2:0x801D5840; // type:object size:0x8 data:double -lbl_801D5848 = .sdata2:0x801D5848; // type:object size:0x4 data:float -lbl_801D584C = .sdata2:0x801D584C; // type:object size:0x4 data:float -lbl_801D5850 = .sdata2:0x801D5850; // type:object size:0x4 data:float -lbl_801D5854 = .sdata2:0x801D5854; // type:object size:0x4 data:4byte -lbl_801D5858 = .sdata2:0x801D5858; // type:object size:0x4 data:4byte -lbl_801D585C = .sdata2:0x801D585C; // type:object size:0x4 data:float -lbl_801D5860 = .sdata2:0x801D5860; // type:object size:0x4 data:float -lbl_801D5864 = .sdata2:0x801D5864; // type:object size:0x4 data:float -lbl_801D5868 = .sdata2:0x801D5868; // type:object size:0x4 data:float -lbl_801D586C = .sdata2:0x801D586C; // type:object size:0x4 data:4byte -lbl_801D5870 = .sdata2:0x801D5870; // type:object size:0x4 data:4byte -lbl_801D5874 = .sdata2:0x801D5874; // type:object size:0x4 data:float -lbl_801D5878 = .sdata2:0x801D5878; // type:object size:0x4 data:float -lbl_801D587C = .sdata2:0x801D587C; // type:object size:0x4 data:float -lbl_801D5880 = .sdata2:0x801D5880; // type:object size:0x4 data:float -lbl_801D5884 = .sdata2:0x801D5884; // type:object size:0x4 data:float -lbl_801D5888 = .sdata2:0x801D5888; // type:object size:0x8 data:double -lbl_801D5890 = .sdata2:0x801D5890; // type:object size:0x4 data:float -lbl_801D5898 = .sdata2:0x801D5898; // type:object size:0x8 data:double -lbl_801D58A0 = .sdata2:0x801D58A0; // type:object size:0x8 data:double -lbl_801D58A8 = .sdata2:0x801D58A8; // type:object size:0x8 data:double -lbl_801D58B0 = .sdata2:0x801D58B0; // type:object size:0x4 data:float -lbl_801D58B4 = .sdata2:0x801D58B4; // type:object size:0x4 data:float -lbl_801D58B8 = .sdata2:0x801D58B8; // type:object size:0x4 data:float -lbl_801D58BC = .sdata2:0x801D58BC; // type:object size:0x4 data:float -lbl_801D58C0 = .sdata2:0x801D58C0; // type:object size:0x4 data:float -lbl_801D58C4 = .sdata2:0x801D58C4; // type:object size:0x4 data:float -lbl_801D58C8 = .sdata2:0x801D58C8; // type:object size:0x4 data:float -lbl_801D58CC = .sdata2:0x801D58CC; // type:object size:0x4 data:float -lbl_801D58D0 = .sdata2:0x801D58D0; // type:object size:0x4 data:float -lbl_801D58D4 = .sdata2:0x801D58D4; // type:object size:0x4 data:float -lbl_801D58D8 = .sdata2:0x801D58D8; // type:object size:0x4 data:float -lbl_801D58E0 = .sdata2:0x801D58E0; // type:object size:0x8 data:double -lbl_801D58E8 = .sdata2:0x801D58E8; // type:object size:0x4 data:float -lbl_801D58EC = .sdata2:0x801D58EC; // type:object size:0x4 data:float -lbl_801D58F0 = .sdata2:0x801D58F0; // type:object size:0x4 data:float -lbl_801D58F4 = .sdata2:0x801D58F4; // type:object size:0x4 data:float -lbl_801D58F8 = .sdata2:0x801D58F8; // type:object size:0x4 data:float -lbl_801D58FC = .sdata2:0x801D58FC; // type:object size:0x4 data:float -lbl_801D5900 = .sdata2:0x801D5900; // type:object size:0x4 data:float -lbl_801D5904 = .sdata2:0x801D5904; // type:object size:0x4 data:float -lbl_801D5908 = .sdata2:0x801D5908; // type:object size:0x4 data:float -lbl_801D590C = .sdata2:0x801D590C; // type:object size:0x4 data:float -lbl_801D5910 = .sdata2:0x801D5910; // type:object size:0x4 data:float -lbl_801D5914 = .sdata2:0x801D5914; // type:object size:0x4 data:float -lbl_801D5918 = .sdata2:0x801D5918; // type:object size:0x4 data:float -lbl_801D591C = .sdata2:0x801D591C; // type:object size:0x4 data:float -lbl_801D5920 = .sdata2:0x801D5920; // type:object size:0x4 data:float -lbl_801D5924 = .sdata2:0x801D5924; // type:object size:0x4 data:float -lbl_801D5928 = .sdata2:0x801D5928; // type:object size:0x4 data:float -lbl_801D592C = .sdata2:0x801D592C; // type:object size:0x4 data:float -lbl_801D5930 = .sdata2:0x801D5930; // type:object size:0x8 data:float -lbl_801D5938 = .sdata2:0x801D5938; // type:object size:0x4 data:float -lbl_801D593C = .sdata2:0x801D593C; // type:object size:0x4 data:float -lbl_801D5940 = .sdata2:0x801D5940; // type:object size:0x4 data:float -lbl_801D5944 = .sdata2:0x801D5944; // type:object size:0x4 data:float -lbl_801D5948 = .sdata2:0x801D5948; // type:object size:0x4 data:float -lbl_801D594C = .sdata2:0x801D594C; // type:object size:0x4 data:float -lbl_801D5950 = .sdata2:0x801D5950; // type:object size:0x4 data:float -lbl_801D5954 = .sdata2:0x801D5954; // type:object size:0x4 data:float -lbl_801D5958 = .sdata2:0x801D5958; // type:object size:0x4 data:float -lbl_801D595C = .sdata2:0x801D595C; // type:object size:0x4 data:float -lbl_801D5960 = .sdata2:0x801D5960; // type:object size:0x4 data:float -lbl_801D5964 = .sdata2:0x801D5964; // type:object size:0x4 data:float -lbl_801D5968 = .sdata2:0x801D5968; // type:object size:0x8 data:double -lbl_801D5970 = .sdata2:0x801D5970; // type:object size:0x8 data:double -lbl_801D5978 = .sdata2:0x801D5978; // type:object size:0x4 data:float -lbl_801D5980 = .sdata2:0x801D5980; // type:object size:0x8 data:double -lbl_801D5988 = .sdata2:0x801D5988; // type:object size:0x8 data:double -lbl_801D5990 = .sdata2:0x801D5990; // type:object size:0x8 data:double -lbl_801D5998 = .sdata2:0x801D5998; // type:object size:0x4 data:float -lbl_801D59A0 = .sdata2:0x801D59A0; // type:object size:0x8 data:double -lbl_801D59A8 = .sdata2:0x801D59A8; // type:object size:0x4 data:float -lbl_801D59AC = .sdata2:0x801D59AC; // type:object size:0x4 data:float -lbl_801D59B0 = .sdata2:0x801D59B0; // type:object size:0x4 data:float -lbl_801D59B4 = .sdata2:0x801D59B4; // type:object size:0x4 data:float -lbl_801D59B8 = .sdata2:0x801D59B8; // type:object size:0x4 data:float -lbl_801D59BC = .sdata2:0x801D59BC; // type:object size:0x4 data:float -lbl_801D59C0 = .sdata2:0x801D59C0; // type:object size:0x4 data:float -lbl_801D59C4 = .sdata2:0x801D59C4; // type:object size:0x4 data:float -lbl_801D59C8 = .sdata2:0x801D59C8; // type:object size:0x4 data:float -lbl_801D59CC = .sdata2:0x801D59CC; // type:object size:0x4 data:float -lbl_801D59D0 = .sdata2:0x801D59D0; // type:object size:0x4 data:float -lbl_801D59D4 = .sdata2:0x801D59D4; // type:object size:0x4 data:float -lbl_801D59D8 = .sdata2:0x801D59D8; // type:object size:0x8 data:float -lbl_801D59E0 = .sdata2:0x801D59E0; // type:object size:0x4 data:float -lbl_801D59E4 = .sdata2:0x801D59E4; // type:object size:0x4 data:float -lbl_801D59E8 = .sdata2:0x801D59E8; // type:object size:0x4 data:float -lbl_801D59EC = .sdata2:0x801D59EC; // type:object size:0x4 data:float -lbl_801D59F0 = .sdata2:0x801D59F0; // type:object size:0x4 data:float -lbl_801D59F4 = .sdata2:0x801D59F4; // type:object size:0x4 data:float -lbl_801D59F8 = .sdata2:0x801D59F8; // type:object size:0x4 data:float -lbl_801D59FC = .sdata2:0x801D59FC; // type:object size:0x4 data:float -lbl_801D5A00 = .sdata2:0x801D5A00; // type:object size:0x4 data:float -lbl_801D5A08 = .sdata2:0x801D5A08; // type:object size:0x8 data:double -lbl_801D5A10 = .sdata2:0x801D5A10; // type:object size:0x8 data:double -lbl_801D5A18 = .sdata2:0x801D5A18; // type:object size:0x8 data:double -lbl_801D5A20 = .sdata2:0x801D5A20; // type:object size:0x4 data:float -lbl_801D5A24 = .sdata2:0x801D5A24; // type:object size:0x4 data:float -lbl_801D5A28 = .sdata2:0x801D5A28; // type:object size:0x4 data:float -lbl_801D5A2C = .sdata2:0x801D5A2C; // type:object size:0x4 data:float -lbl_801D5A30 = .sdata2:0x801D5A30; // type:object size:0x8 data:double -lbl_801D5A38 = .sdata2:0x801D5A38; // type:object size:0x8 data:double -lbl_801D5A40 = .sdata2:0x801D5A40; // type:object size:0x4 data:float -lbl_801D5A44 = .sdata2:0x801D5A44; // type:object size:0x4 data:float -lbl_801D5A48 = .sdata2:0x801D5A48; // type:object size:0x4 data:float -lbl_801D5A4C = .sdata2:0x801D5A4C; // type:object size:0x4 data:float -lbl_801D5A50 = .sdata2:0x801D5A50; // type:object size:0x4 data:float -lbl_801D5A54 = .sdata2:0x801D5A54; // type:object size:0x4 data:float -lbl_801D5A58 = .sdata2:0x801D5A58; // type:object size:0x4 data:float -lbl_801D5A60 = .sdata2:0x801D5A60; // type:object size:0x8 data:double -lbl_801D5A68 = .sdata2:0x801D5A68; // type:object size:0x4 data:float -lbl_801D5A6C = .sdata2:0x801D5A6C; // type:object size:0x4 data:float -lbl_801D5A70 = .sdata2:0x801D5A70; // type:object size:0x4 data:float -lbl_801D5A74 = .sdata2:0x801D5A74; // type:object size:0x4 data:float -lbl_801D5A78 = .sdata2:0x801D5A78; // type:object size:0x4 data:float -lbl_801D5A7C = .sdata2:0x801D5A7C; // type:object size:0x4 data:float -lbl_801D5A80 = .sdata2:0x801D5A80; // type:object size:0x4 data:float -lbl_801D5A84 = .sdata2:0x801D5A84; // type:object size:0x4 data:float -lbl_801D5A88 = .sdata2:0x801D5A88; // type:object size:0x4 data:float -lbl_801D5A8C = .sdata2:0x801D5A8C; // type:object size:0x4 data:float -lbl_801D5A90 = .sdata2:0x801D5A90; // type:object size:0x4 data:float -lbl_801D5A94 = .sdata2:0x801D5A94; // type:object size:0x4 data:float -lbl_801D5A98 = .sdata2:0x801D5A98; // type:object size:0x4 data:float -lbl_801D5A9C = .sdata2:0x801D5A9C; // type:object size:0x4 data:float -lbl_801D5AA0 = .sdata2:0x801D5AA0; // type:object size:0x4 data:float -lbl_801D5AA4 = .sdata2:0x801D5AA4; // type:object size:0x4 data:float -lbl_801D5AA8 = .sdata2:0x801D5AA8; // type:object size:0x4 data:float -lbl_801D5AAC = .sdata2:0x801D5AAC; // type:object size:0x4 data:float -lbl_801D5AB0 = .sdata2:0x801D5AB0; // type:object size:0x4 data:float -lbl_801D5AB4 = .sdata2:0x801D5AB4; // type:object size:0x4 data:float -lbl_801D5AB8 = .sdata2:0x801D5AB8; // type:object size:0x4 data:float -lbl_801D5ABC = .sdata2:0x801D5ABC; // type:object size:0x4 data:float -lbl_801D5AC0 = .sdata2:0x801D5AC0; // type:object size:0x4 data:float -lbl_801D5AC4 = .sdata2:0x801D5AC4; // type:object size:0x4 data:float -lbl_801D5AC8 = .sdata2:0x801D5AC8; // type:object size:0x4 data:float -lbl_801D5ACC = .sdata2:0x801D5ACC; // type:object size:0x4 data:float -lbl_801D5AD0 = .sdata2:0x801D5AD0; // type:object size:0x8 data:double -lbl_801D5AD8 = .sdata2:0x801D5AD8; // type:object size:0x8 data:double -lbl_801D5AE0 = .sdata2:0x801D5AE0; // type:object size:0x8 data:double -lbl_801D5AE8 = .sdata2:0x801D5AE8; // type:object size:0x4 data:float -lbl_801D5AEC = .sdata2:0x801D5AEC; // type:object size:0x4 data:float -lbl_801D5AF0 = .sdata2:0x801D5AF0; // type:object size:0x4 data:float -lbl_801D5AF4 = .sdata2:0x801D5AF4; // type:object size:0x4 data:float -lbl_801D5AF8 = .sdata2:0x801D5AF8; // type:object size:0x4 data:float -lbl_801D5AFC = .sdata2:0x801D5AFC; // type:object size:0x4 data:float -lbl_801D5B00 = .sdata2:0x801D5B00; // type:object size:0x4 data:float -lbl_801D5B08 = .sdata2:0x801D5B08; // type:object size:0x8 data:double -lbl_801D5B10 = .sdata2:0x801D5B10; // type:object size:0x8 data:double -lbl_801D5B18 = .sdata2:0x801D5B18; // type:object size:0x8 data:double -lbl_801D5B20 = .sdata2:0x801D5B20; // type:object size:0x4 data:float -lbl_801D5B24 = .sdata2:0x801D5B24; // type:object size:0x4 data:float -lbl_801D5B28 = .sdata2:0x801D5B28; // type:object size:0x4 data:float -lbl_801D5B2C = .sdata2:0x801D5B2C; // type:object size:0x4 data:float -lbl_801D5B30 = .sdata2:0x801D5B30; // type:object size:0x4 data:float -lbl_801D5B34 = .sdata2:0x801D5B34; // type:object size:0x4 data:float -lbl_801D5B38 = .sdata2:0x801D5B38; // type:object size:0x4 data:float -lbl_801D5B3C = .sdata2:0x801D5B3C; // type:object size:0x4 data:float -lbl_801D5B40 = .sdata2:0x801D5B40; // type:object size:0x4 data:float -lbl_801D5B44 = .sdata2:0x801D5B44; // type:object size:0x4 data:float -lbl_801D5B48 = .sdata2:0x801D5B48; // type:object size:0x8 data:double -lbl_801D5B50 = .sdata2:0x801D5B50; // type:object size:0x4 data:float -lbl_801D5B54 = .sdata2:0x801D5B54; // type:object size:0x4 data:float -lbl_801D5B58 = .sdata2:0x801D5B58; // type:object size:0x4 data:float -lbl_801D5B5C = .sdata2:0x801D5B5C; // type:object size:0x4 data:float -lbl_801D5B60 = .sdata2:0x801D5B60; // type:object size:0x4 data:float -lbl_801D5B64 = .sdata2:0x801D5B64; // type:object size:0x4 data:float -lbl_801D5B68 = .sdata2:0x801D5B68; // type:object size:0x4 data:float -lbl_801D5B6C = .sdata2:0x801D5B6C; // type:object size:0x4 data:float -lbl_801D5B70 = .sdata2:0x801D5B70; // type:object size:0x4 data:float -lbl_801D5B74 = .sdata2:0x801D5B74; // type:object size:0x4 data:float -lbl_801D5B78 = .sdata2:0x801D5B78; // type:object size:0x4 data:float -lbl_801D5B7C = .sdata2:0x801D5B7C; // type:object size:0x4 data:float -lbl_801D5B80 = .sdata2:0x801D5B80; // type:object size:0x4 data:float -lbl_801D5B84 = .sdata2:0x801D5B84; // type:object size:0x4 data:float -lbl_801D5B88 = .sdata2:0x801D5B88; // type:object size:0x4 data:float -lbl_801D5B8C = .sdata2:0x801D5B8C; // type:object size:0x4 data:float -lbl_801D5B90 = .sdata2:0x801D5B90; // type:object size:0x4 data:float -lbl_801D5B94 = .sdata2:0x801D5B94; // type:object size:0x4 data:float -lbl_801D5B98 = .sdata2:0x801D5B98; // type:object size:0x4 data:float -lbl_801D5B9C = .sdata2:0x801D5B9C; // type:object size:0x4 data:float -lbl_801D5BA0 = .sdata2:0x801D5BA0; // type:object size:0x4 data:float -lbl_801D5BA4 = .sdata2:0x801D5BA4; // type:object size:0x4 data:float -lbl_801D5BA8 = .sdata2:0x801D5BA8; // type:object size:0x4 data:float -lbl_801D5BAC = .sdata2:0x801D5BAC; // type:object size:0x4 data:float -lbl_801D5BB0 = .sdata2:0x801D5BB0; // type:object size:0x8 data:double -lbl_801D5BB8 = .sdata2:0x801D5BB8; // type:object size:0x8 data:double -lbl_801D5BC0 = .sdata2:0x801D5BC0; // type:object size:0x4 data:float -lbl_801D5BC4 = .sdata2:0x801D5BC4; // type:object size:0x4 data:float -lbl_801D5BC8 = .sdata2:0x801D5BC8; // type:object size:0x4 data:float -lbl_801D5BCC = .sdata2:0x801D5BCC; // type:object size:0x4 data:float -lbl_801D5BD0 = .sdata2:0x801D5BD0; // type:object size:0x4 data:float -lbl_801D5BD8 = .sdata2:0x801D5BD8; // type:object size:0x8 data:double -lbl_801D5BE0 = .sdata2:0x801D5BE0; // type:object size:0x4 data:float -lbl_801D5BE4 = .sdata2:0x801D5BE4; // type:object size:0x4 data:float -lbl_801D5BE8 = .sdata2:0x801D5BE8; // type:object size:0x4 data:float -lbl_801D5BEC = .sdata2:0x801D5BEC; // type:object size:0x4 data:float -lbl_801D5BF0 = .sdata2:0x801D5BF0; // type:object size:0x4 data:float -lbl_801D5BF4 = .sdata2:0x801D5BF4; // type:object size:0x4 data:float -lbl_801D5BF8 = .sdata2:0x801D5BF8; // type:object size:0x4 data:float -lbl_801D5BFC = .sdata2:0x801D5BFC; // type:object size:0x4 data:float -lbl_801D5C00 = .sdata2:0x801D5C00; // type:object size:0x4 data:float -lbl_801D5C04 = .sdata2:0x801D5C04; // type:object size:0x4 data:float -lbl_801D5C08 = .sdata2:0x801D5C08; // type:object size:0x4 data:float -lbl_801D5C10 = .sdata2:0x801D5C10; // type:object size:0x8 data:double -lbl_801D5C18 = .sdata2:0x801D5C18; // type:object size:0x4 data:float -lbl_801D5C1C = .sdata2:0x801D5C1C; // type:object size:0x4 data:float -lbl_801D5C20 = .sdata2:0x801D5C20; // type:object size:0x4 data:float -lbl_801D5C24 = .sdata2:0x801D5C24; // type:object size:0x4 data:float -lbl_801D5C28 = .sdata2:0x801D5C28; // type:object size:0x4 data:float -lbl_801D5C2C = .sdata2:0x801D5C2C; // type:object size:0x4 data:float -lbl_801D5C30 = .sdata2:0x801D5C30; // type:object size:0x4 data:float -lbl_801D5C34 = .sdata2:0x801D5C34; // type:object size:0x4 data:float -lbl_801D5C38 = .sdata2:0x801D5C38; // type:object size:0x4 data:float -lbl_801D5C3C = .sdata2:0x801D5C3C; // type:object size:0x4 data:float -lbl_801D5C40 = .sdata2:0x801D5C40; // type:object size:0x4 data:float -lbl_801D5C44 = .sdata2:0x801D5C44; // type:object size:0x4 data:float -lbl_801D5C48 = .sdata2:0x801D5C48; // type:object size:0x4 data:float -lbl_801D5C4C = .sdata2:0x801D5C4C; // type:object size:0x4 data:float -lbl_801D5C50 = .sdata2:0x801D5C50; // type:object size:0x4 data:float -lbl_801D5C54 = .sdata2:0x801D5C54; // type:object size:0x4 data:float -lbl_801D5C58 = .sdata2:0x801D5C58; // type:object size:0x4 data:float -lbl_801D5C5C = .sdata2:0x801D5C5C; // type:object size:0x4 data:float -lbl_801D5C60 = .sdata2:0x801D5C60; // type:object size:0x4 data:float -lbl_801D5C68 = .sdata2:0x801D5C68; // type:object size:0x8 data:double -lbl_801D5C70 = .sdata2:0x801D5C70; // type:object size:0x4 data:float -lbl_801D5C78 = .sdata2:0x801D5C78; // type:object size:0x8 data:double -lbl_801D5C80 = .sdata2:0x801D5C80; // type:object size:0x4 data:float -lbl_801D5C84 = .sdata2:0x801D5C84; // type:object size:0x4 data:float -lbl_801D5C88 = .sdata2:0x801D5C88; // type:object size:0x4 data:float -lbl_801D5C8C = .sdata2:0x801D5C8C; // type:object size:0x4 data:float -lbl_801D5C90 = .sdata2:0x801D5C90; // type:object size:0x4 data:float -lbl_801D5C98 = .sdata2:0x801D5C98; // type:object size:0x8 data:double -lbl_801D5CA0 = .sdata2:0x801D5CA0; // type:object size:0x4 data:float -lbl_801D5CA4 = .sdata2:0x801D5CA4; // type:object size:0x4 data:float -lbl_801D5CA8 = .sdata2:0x801D5CA8; // type:object size:0x4 data:float -lbl_801D5CAC = .sdata2:0x801D5CAC; // type:object size:0x4 data:float -lbl_801D5CB0 = .sdata2:0x801D5CB0; // type:object size:0x4 data:float -lbl_801D5CB4 = .sdata2:0x801D5CB4; // type:object size:0x4 data:float -lbl_801D5CB8 = .sdata2:0x801D5CB8; // type:object size:0x4 data:float -lbl_801D5CBC = .sdata2:0x801D5CBC; // type:object size:0x4 data:float -lbl_801D5CC0 = .sdata2:0x801D5CC0; // type:object size:0x4 data:float -lbl_801D5CC4 = .sdata2:0x801D5CC4; // type:object size:0x4 data:float -lbl_801D5CC8 = .sdata2:0x801D5CC8; // type:object size:0x4 data:float -lbl_801D5CCC = .sdata2:0x801D5CCC; // type:object size:0x4 data:float -lbl_801D5CD0 = .sdata2:0x801D5CD0; // type:object size:0x1 data:byte -lbl_801D5CD1 = .sdata2:0x801D5CD1; // type:object size:0x1 data:byte -lbl_801D5CD2 = .sdata2:0x801D5CD2; // type:object size:0x1 data:byte -lbl_801D5CD3 = .sdata2:0x801D5CD3; // type:object size:0x1 data:byte -lbl_801D5CD4 = .sdata2:0x801D5CD4; // type:object size:0x4 data:float -lbl_801D5CD8 = .sdata2:0x801D5CD8; // type:object size:0x4 data:float -lbl_801D5CDC = .sdata2:0x801D5CDC; // type:object size:0x4 data:float -lbl_801D5CE0 = .sdata2:0x801D5CE0; // type:object size:0x4 data:float -lbl_801D5CE4 = .sdata2:0x801D5CE4; // type:object size:0x4 data:float -lbl_801D5CE8 = .sdata2:0x801D5CE8; // type:object size:0x8 data:double -lbl_801D5CF0 = .sdata2:0x801D5CF0; // type:object size:0x8 data:double -lbl_801D5CF8 = .sdata2:0x801D5CF8; // type:object size:0x4 data:float -lbl_801D5CFC = .sdata2:0x801D5CFC; // type:object size:0x4 data:float -lbl_801D5D00 = .sdata2:0x801D5D00; // type:object size:0x4 data:float -lbl_801D5D04 = .sdata2:0x801D5D04; // type:object size:0x4 data:float -lbl_801D5D08 = .sdata2:0x801D5D08; // type:object size:0x4 data:float -lbl_801D5D0C = .sdata2:0x801D5D0C; // type:object size:0x4 data:float -lbl_801D5D10 = .sdata2:0x801D5D10; // type:object size:0x8 data:double -lbl_801D5D18 = .sdata2:0x801D5D18; // type:object size:0x4 data:float -lbl_801D5D1C = .sdata2:0x801D5D1C; // type:object size:0x4 data:float -lbl_801D5D20 = .sdata2:0x801D5D20; // type:object size:0x8 data:double -lbl_801D5D28 = .sdata2:0x801D5D28; // type:object size:0x8 data:float -lbl_801D5D30 = .sdata2:0x801D5D30; // type:object size:0x4 data:float -lbl_801D5D34 = .sdata2:0x801D5D34; // type:object size:0x4 data:float -lbl_801D5D38 = .sdata2:0x801D5D38; // type:object size:0x4 data:float -lbl_801D5D3C = .sdata2:0x801D5D3C; // type:object size:0x4 data:float -lbl_801D5D40 = .sdata2:0x801D5D40; // type:object size:0x4 data:float -lbl_801D5D44 = .sdata2:0x801D5D44; // type:object size:0x4 data:float -lbl_801D5D48 = .sdata2:0x801D5D48; // type:object size:0x4 data:float -lbl_801D5D4C = .sdata2:0x801D5D4C; // type:object size:0x4 data:float -lbl_801D5D50 = .sdata2:0x801D5D50; // type:object size:0x4 data:float -lbl_801D5D54 = .sdata2:0x801D5D54; // type:object size:0x4 data:float -lbl_801D5D58 = .sdata2:0x801D5D58; // type:object size:0x2 data:2byte -lbl_801D5D5A = .sdata2:0x801D5D5A; // type:object size:0x2 data:2byte -lbl_801D5D5C = .sdata2:0x801D5D5C; // type:object size:0x2 data:2byte -lbl_801D5D60 = .sdata2:0x801D5D60; // type:object size:0x4 data:float -lbl_801D5D64 = .sdata2:0x801D5D64; // type:object size:0x4 data:float -lbl_801D5D68 = .sdata2:0x801D5D68; // type:object size:0x4 data:float -lbl_801D5D6C = .sdata2:0x801D5D6C; // type:object size:0x4 data:float -lbl_801D5D70 = .sdata2:0x801D5D70; // type:object size:0x4 data:float -lbl_801D5D74 = .sdata2:0x801D5D74; // type:object size:0x4 data:float -lbl_801D5D78 = .sdata2:0x801D5D78; // type:object size:0x4 data:float -lbl_801D5D7C = .sdata2:0x801D5D7C; // type:object size:0x4 data:float -lbl_801D5D80 = .sdata2:0x801D5D80; // type:object size:0x8 data:double -lbl_801D5D88 = .sdata2:0x801D5D88; // type:object size:0x8 data:double -lbl_801D5D90 = .sdata2:0x801D5D90; // type:object size:0x8 data:double -lbl_801D5D98 = .sdata2:0x801D5D98; // type:object size:0x4 data:float -lbl_801D5D9C = .sdata2:0x801D5D9C; // type:object size:0x4 data:float -lbl_801D5DA0 = .sdata2:0x801D5DA0; // type:object size:0x4 data:float -lbl_801D5DA4 = .sdata2:0x801D5DA4; // type:object size:0x4 data:float -lbl_801D5DA8 = .sdata2:0x801D5DA8; // type:object size:0x4 data:float -lbl_801D5DAC = .sdata2:0x801D5DAC; // type:object size:0x4 data:float -lbl_801D5DB0 = .sdata2:0x801D5DB0; // type:object size:0x4 data:float -lbl_801D5DB4 = .sdata2:0x801D5DB4; // type:object size:0x4 data:float -lbl_801D5DB8 = .sdata2:0x801D5DB8; // type:object size:0x4 data:float -lbl_801D5DC0 = .sdata2:0x801D5DC0; // type:object size:0x8 data:double -lbl_801D5DC8 = .sdata2:0x801D5DC8; // type:object size:0x1 data:byte -lbl_801D5DC9 = .sdata2:0x801D5DC9; // type:object size:0x1 data:byte -lbl_801D5DCA = .sdata2:0x801D5DCA; // type:object size:0x1 data:byte -lbl_801D5DCC = .sdata2:0x801D5DCC; // type:object size:0x4 data:float -lbl_801D5DD0 = .sdata2:0x801D5DD0; // type:object size:0x8 data:double -lbl_801D5DD8 = .sdata2:0x801D5DD8; // type:object size:0x8 data:float -battleCoinTbl = .sdata2:0x801D5DE0; // type:object size:0x5 scope:local -lbl_801D5DE8 = .sdata2:0x801D5DE8; // type:object size:0x4 data:float -lbl_801D5DEC = .sdata2:0x801D5DEC; // type:object size:0x4 data:float -lbl_801D5DF0 = .sdata2:0x801D5DF0; // type:object size:0x4 data:float -lbl_801D5DF4 = .sdata2:0x801D5DF4; // type:object size:0x4 data:float -lbl_801D5DF8 = .sdata2:0x801D5DF8; // type:object size:0x4 data:float -lbl_801D5DFC = .sdata2:0x801D5DFC; // type:object size:0x4 data:float -lbl_801D5E00 = .sdata2:0x801D5E00; // type:object size:0x4 data:float -lbl_801D5E04 = .sdata2:0x801D5E04; // type:object size:0x4 data:float -lbl_801D5E08 = .sdata2:0x801D5E08; // type:object size:0x4 data:float -lbl_801D5E0C = .sdata2:0x801D5E0C; // type:object size:0x4 data:float -lbl_801D5E10 = .sdata2:0x801D5E10; // type:object size:0x4 data:float -lbl_801D5E14 = .sdata2:0x801D5E14; // type:object size:0x4 data:float -lbl_801D5E18 = .sdata2:0x801D5E18; // type:object size:0x4 data:float -lbl_801D5E1C = .sdata2:0x801D5E1C; // type:object size:0x4 data:float -lbl_801D5E20 = .sdata2:0x801D5E20; // type:object size:0x4 data:float -lbl_801D5E24 = .sdata2:0x801D5E24; // type:object size:0x4 data:float -lbl_801D5E28 = .sdata2:0x801D5E28; // type:object size:0x4 data:float -lbl_801D5E2C = .sdata2:0x801D5E2C; // type:object size:0x4 data:float -lbl_801D5E30 = .sdata2:0x801D5E30; // type:object size:0x4 data:float -lbl_801D5E34 = .sdata2:0x801D5E34; // type:object size:0x4 data:float -lbl_801D5E38 = .sdata2:0x801D5E38; // type:object size:0x4 data:float -lbl_801D5E40 = .sdata2:0x801D5E40; // type:object size:0x8 data:double -lbl_801D5E48 = .sdata2:0x801D5E48; // type:object size:0x8 data:double -lbl_801D5E50 = .sdata2:0x801D5E50; // type:object size:0x4 data:float -lbl_801D5E54 = .sdata2:0x801D5E54; // type:object size:0x4 data:float -lbl_801D5E58 = .sdata2:0x801D5E58; // type:object size:0x4 data:float -lbl_801D5E5C = .sdata2:0x801D5E5C; // type:object size:0x4 data:float -lbl_801D5E60 = .sdata2:0x801D5E60; // type:object size:0x4 data:float -lbl_801D5E64 = .sdata2:0x801D5E64; // type:object size:0x4 data:float -lbl_801D5E68 = .sdata2:0x801D5E68; // type:object size:0x4 data:float -lbl_801D5E6C = .sdata2:0x801D5E6C; // type:object size:0x4 data:float -lbl_801D5E70 = .sdata2:0x801D5E70; // type:object size:0x8 data:double -lbl_801D5E78 = .sdata2:0x801D5E78; // type:object size:0x4 data:float -lbl_801D5E80 = .sdata2:0x801D5E80; // type:object size:0x8 data:double -lbl_801D5E88 = .sdata2:0x801D5E88; // type:object size:0x4 data:float -lbl_801D5E8C = .sdata2:0x801D5E8C; // type:object size:0x4 data:float -lbl_801D5E90 = .sdata2:0x801D5E90; // type:object size:0x1 data:byte -lbl_801D5E91 = .sdata2:0x801D5E91; // type:object size:0x1 data:byte -lbl_801D5E92 = .sdata2:0x801D5E92; // type:object size:0x1 data:byte -lbl_801D5E93 = .sdata2:0x801D5E93; // type:object size:0x1 data:byte -lbl_801D5E94 = .sdata2:0x801D5E94; // type:object size:0x1 data:byte -lbl_801D5E98 = .sdata2:0x801D5E98; // type:object size:0x4 data:float -lbl_801D5E9C = .sdata2:0x801D5E9C; // type:object size:0x4 data:float -lbl_801D5EA0 = .sdata2:0x801D5EA0; // type:object size:0x4 data:float -lbl_801D5EA4 = .sdata2:0x801D5EA4; // type:object size:0x4 data:float -lbl_801D5EA8 = .sdata2:0x801D5EA8; // type:object size:0x4 data:float -lbl_801D5EAC = .sdata2:0x801D5EAC; // type:object size:0x4 data:float -lbl_801D5EB0 = .sdata2:0x801D5EB0; // type:object size:0x4 data:float -lbl_801D5EB4 = .sdata2:0x801D5EB4; // type:object size:0x4 data:float -lbl_801D5EB8 = .sdata2:0x801D5EB8; // type:object size:0x4 data:float -lbl_801D5EBC = .sdata2:0x801D5EBC; // type:object size:0x4 data:float -lbl_801D5EC0 = .sdata2:0x801D5EC0; // type:object size:0x4 data:float -lbl_801D5EC4 = .sdata2:0x801D5EC4; // type:object size:0x4 data:float -lbl_801D5EC8 = .sdata2:0x801D5EC8; // type:object size:0x4 data:float -lbl_801D5ECC = .sdata2:0x801D5ECC; // type:object size:0x4 data:float -lbl_801D5ED0 = .sdata2:0x801D5ED0; // type:object size:0x8 data:double -lbl_801D5ED8 = .sdata2:0x801D5ED8; // type:object size:0x8 data:double -lbl_801D5EE0 = .sdata2:0x801D5EE0; // type:object size:0x4 data:float -lbl_801D5EE8 = .sdata2:0x801D5EE8; // type:object size:0x8 data:double -lbl_801D5EF0 = .sdata2:0x801D5EF0; // type:object size:0x8 data:double -lbl_801D5EF8 = .sdata2:0x801D5EF8; // type:object size:0x8 data:double -lbl_801D5F00 = .sdata2:0x801D5F00; // type:object size:0x8 data:double -lbl_801D5F08 = .sdata2:0x801D5F08; // type:object size:0x4 data:float -lbl_801D5F10 = .sdata2:0x801D5F10; // type:object size:0x8 data:double -lbl_801D5F18 = .sdata2:0x801D5F18; // type:object size:0x4 data:float -lbl_801D5F1C = .sdata2:0x801D5F1C; // type:object size:0x4 data:float -lbl_801D5F20 = .sdata2:0x801D5F20; // type:object size:0x4 data:float -lbl_801D5F28 = .sdata2:0x801D5F28; // type:object size:0x8 data:double -lbl_801D5F30 = .sdata2:0x801D5F30; // type:object size:0x8 data:double -lbl_801D5F38 = .sdata2:0x801D5F38; // type:object size:0x4 data:float -lbl_801D5F40 = .sdata2:0x801D5F40; // type:object size:0x8 data:double -lbl_801D5F48 = .sdata2:0x801D5F48; // type:object size:0x4 data:float -lbl_801D5F4C = .sdata2:0x801D5F4C; // type:object size:0x4 data:float -lbl_801D5F50 = .sdata2:0x801D5F50; // type:object size:0x4 data:float -lbl_801D5F54 = .sdata2:0x801D5F54; // type:object size:0x4 data:float -lbl_801D5F58 = .sdata2:0x801D5F58; // type:object size:0x8 data:double -lbl_801D5F60 = .sdata2:0x801D5F60; // type:object size:0x8 data:double -lbl_801D5F68 = .sdata2:0x801D5F68; // type:object size:0x4 data:float -lbl_801D5F6C = .sdata2:0x801D5F6C; // type:object size:0x4 data:float -lbl_801D5F70 = .sdata2:0x801D5F70; // type:object size:0x4 data:float -lbl_801D5F78 = .sdata2:0x801D5F78; // type:object size:0x8 data:double -lbl_801D5F80 = .sdata2:0x801D5F80; // type:object size:0x4 data:float -lbl_801D5F84 = .sdata2:0x801D5F84; // type:object size:0x4 data:float -lbl_801D5F88 = .sdata2:0x801D5F88; // type:object size:0x4 data:float -lbl_801D5F8C = .sdata2:0x801D5F8C; // type:object size:0x4 data:float -lbl_801D5F90 = .sdata2:0x801D5F90; // type:object size:0x8 data:double -lbl_801D5F98 = .sdata2:0x801D5F98; // type:object size:0x4 data:float -lbl_801D5F9C = .sdata2:0x801D5F9C; // type:object size:0x4 data:float -lbl_801D5FA0 = .sdata2:0x801D5FA0; // type:object size:0x4 data:float -lbl_801D5FA4 = .sdata2:0x801D5FA4; // type:object size:0x4 data:float -lbl_801D5FA8 = .sdata2:0x801D5FA8; // type:object size:0x4 data:float -lbl_801D5FAC = .sdata2:0x801D5FAC; // type:object size:0x4 data:float -lbl_801D5FB0 = .sdata2:0x801D5FB0; // type:object size:0x4 data:float -lbl_801D5FB4 = .sdata2:0x801D5FB4; // type:object size:0x4 data:float -lbl_801D5FB8 = .sdata2:0x801D5FB8; // type:object size:0x4 data:float -lbl_801D5FBC = .sdata2:0x801D5FBC; // type:object size:0x4 data:float -lbl_801D5FC0 = .sdata2:0x801D5FC0; // type:object size:0x4 data:float -lbl_801D5FC4 = .sdata2:0x801D5FC4; // type:object size:0x1 data:byte -lbl_801D5FC5 = .sdata2:0x801D5FC5; // type:object size:0x1 data:byte -lbl_801D5FC8 = .sdata2:0x801D5FC8; // type:object size:0x4 data:float -lbl_801D5FD0 = .sdata2:0x801D5FD0; // type:object size:0x8 data:double -lbl_801D5FD8 = .sdata2:0x801D5FD8; // type:object size:0x8 data:double -lbl_801D5FE0 = .sdata2:0x801D5FE0; // type:object size:0x8 data:double -lbl_801D5FE8 = .sdata2:0x801D5FE8; // type:object size:0x8 data:double -lbl_801D5FF0 = .sdata2:0x801D5FF0; // type:object size:0x4 data:float -lbl_801D5FF4 = .sdata2:0x801D5FF4; // type:object size:0x4 data:float -lbl_801D5FF8 = .sdata2:0x801D5FF8; // type:object size:0x8 data:double -lbl_801D6000 = .sdata2:0x801D6000; // type:object size:0x4 data:float -lbl_801D6004 = .sdata2:0x801D6004; // type:object size:0x4 data:float -lbl_801D6008 = .sdata2:0x801D6008; // type:object size:0x8 data:double -lbl_801D6010 = .sdata2:0x801D6010; // type:object size:0x4 data:float -lbl_801D6014 = .sdata2:0x801D6014; // type:object size:0x2 data:2byte -lbl_801D6016 = .sdata2:0x801D6016; // type:object size:0x2 data:2byte -lbl_801D6018 = .sdata2:0x801D6018; // type:object size:0x2 data:2byte -lbl_801D601C = .sdata2:0x801D601C; // type:object size:0x4 data:float -lbl_801D6020 = .sdata2:0x801D6020; // type:object size:0x4 data:float -lbl_801D6024 = .sdata2:0x801D6024; // type:object size:0x4 data:float -lbl_801D6028 = .sdata2:0x801D6028; // type:object size:0x2 data:2byte -lbl_801D602A = .sdata2:0x801D602A; // type:object size:0x2 data:2byte -lbl_801D602C = .sdata2:0x801D602C; // type:object size:0x2 data:2byte -lbl_801D6030 = .sdata2:0x801D6030; // type:object size:0x4 data:float -lbl_801D6034 = .sdata2:0x801D6034; // type:object size:0x4 data:float -lbl_801D6038 = .sdata2:0x801D6038; // type:object size:0x4 data:float -lbl_801D603C = .sdata2:0x801D603C; // type:object size:0x4 data:float -lbl_801D6040 = .sdata2:0x801D6040; // type:object size:0x4 data:float -lbl_801D6044 = .sdata2:0x801D6044; // type:object size:0x4 data:float -lbl_801D6048 = .sdata2:0x801D6048; // type:object size:0x4 data:float -lbl_801D6050 = .sdata2:0x801D6050; // type:object size:0x8 data:double -lbl_801D6058 = .sdata2:0x801D6058; // type:object size:0x4 data:float -lbl_801D605C = .sdata2:0x801D605C; // type:object size:0x4 data:float -lbl_801D6060 = .sdata2:0x801D6060; // type:object size:0x4 data:float -lbl_801D6064 = .sdata2:0x801D6064; // type:object size:0x4 data:float -lbl_801D6068 = .sdata2:0x801D6068; // type:object size:0x4 data:float -lbl_801D606C = .sdata2:0x801D606C; // type:object size:0x4 data:float -lbl_801D6070 = .sdata2:0x801D6070; // type:object size:0x4 data:float -lbl_801D6078 = .sdata2:0x801D6078; // type:object size:0x8 data:double -lbl_801D6080 = .sdata2:0x801D6080; // type:object size:0x8 data:double -lbl_801D6088 = .sdata2:0x801D6088; // type:object size:0x8 data:double -lbl_801D6090 = .sdata2:0x801D6090; // type:object size:0x4 data:float -lbl_801D6094 = .sdata2:0x801D6094; // type:object size:0x4 data:float -lbl_801D6098 = .sdata2:0x801D6098; // type:object size:0x4 data:float -lbl_801D609C = .sdata2:0x801D609C; // type:object size:0x4 data:float -lbl_801D60A0 = .sdata2:0x801D60A0; // type:object size:0x4 data:float -lbl_801D60A4 = .sdata2:0x801D60A4; // type:object size:0x4 data:float -lbl_801D60A8 = .sdata2:0x801D60A8; // type:object size:0x4 data:float -lbl_801D60AC = .sdata2:0x801D60AC; // type:object size:0x4 data:float -lbl_801D60B0 = .sdata2:0x801D60B0; // type:object size:0x4 data:float -lbl_801D60B4 = .sdata2:0x801D60B4; // type:object size:0x4 data:float -lbl_801D60B8 = .sdata2:0x801D60B8; // type:object size:0x4 data:float -lbl_801D60BC = .sdata2:0x801D60BC; // type:object size:0x4 data:float -lbl_801D60C0 = .sdata2:0x801D60C0; // type:object size:0x4 data:float -lbl_801D60C4 = .sdata2:0x801D60C4; // type:object size:0x4 data:float -lbl_801D60C8 = .sdata2:0x801D60C8; // type:object size:0x4 data:float -lbl_801D60CC = .sdata2:0x801D60CC; // type:object size:0x4 data:float -lbl_801D60D0 = .sdata2:0x801D60D0; // type:object size:0x4 data:float -lbl_801D60D4 = .sdata2:0x801D60D4; // type:object size:0x4 data:float -lbl_801D60D8 = .sdata2:0x801D60D8; // type:object size:0x4 data:float -lbl_801D60DC = .sdata2:0x801D60DC; // type:object size:0x4 data:float -lbl_801D60E0 = .sdata2:0x801D60E0; // type:object size:0x8 data:double -lbl_801D60E8 = .sdata2:0x801D60E8; // type:object size:0x8 data:double -lbl_801D60F0 = .sdata2:0x801D60F0; // type:object size:0x4 data:float -lbl_801D60F8 = .sdata2:0x801D60F8; // type:object size:0x8 data:double -lbl_801D6100 = .sdata2:0x801D6100; // type:object size:0x8 data:double -lbl_801D6108 = .sdata2:0x801D6108; // type:object size:0x4 data:float -lbl_801D610C = .sdata2:0x801D610C; // type:object size:0x4 data:float -lbl_801D6110 = .sdata2:0x801D6110; // type:object size:0x4 data:float -lbl_801D6114 = .sdata2:0x801D6114; // type:object size:0x4 data:float -lbl_801D6118 = .sdata2:0x801D6118; // type:object size:0x4 data:float -lbl_801D611C = .sdata2:0x801D611C; // type:object size:0x4 data:float -lbl_801D6120 = .sdata2:0x801D6120; // type:object size:0x4 data:float -lbl_801D6124 = .sdata2:0x801D6124; // type:object size:0x4 data:float -lbl_801D6128 = .sdata2:0x801D6128; // type:object size:0x4 data:float -lbl_801D612C = .sdata2:0x801D612C; // type:object size:0x4 data:float -lbl_801D6130 = .sdata2:0x801D6130; // type:object size:0x4 data:float -lbl_801D6134 = .sdata2:0x801D6134; // type:object size:0x4 data:float -lbl_801D6138 = .sdata2:0x801D6138; // type:object size:0x4 data:float -lbl_801D613C = .sdata2:0x801D613C; // type:object size:0x4 data:float -lbl_801D6140 = .sdata2:0x801D6140; // type:object size:0x4 data:float -lbl_801D6144 = .sdata2:0x801D6144; // type:object size:0x4 data:float -lbl_801D6148 = .sdata2:0x801D6148; // type:object size:0x4 data:float -lbl_801D614C = .sdata2:0x801D614C; // type:object size:0x4 data:float -lbl_801D6150 = .sdata2:0x801D6150; // type:object size:0x4 data:float -lbl_801D6158 = .sdata2:0x801D6158; // type:object size:0x8 data:double -lbl_801D6160 = .sdata2:0x801D6160; // type:object size:0x8 data:double -lbl_801D6168 = .sdata2:0x801D6168; // type:object size:0x8 data:double -lbl_801D6170 = .sdata2:0x801D6170; // type:object size:0x8 data:double -lbl_801D6178 = .sdata2:0x801D6178; // type:object size:0x4 data:float -lbl_801D617C = .sdata2:0x801D617C; // type:object size:0x4 data:float -lbl_801D6180 = .sdata2:0x801D6180; // type:object size:0x4 data:float -lbl_801D6184 = .sdata2:0x801D6184; // type:object size:0x4 data:float -lbl_801D6188 = .sdata2:0x801D6188; // type:object size:0x4 data:float -lbl_801D618C = .sdata2:0x801D618C; // type:object size:0x4 data:float -lbl_801D6190 = .sdata2:0x801D6190; // type:object size:0x4 data:float -lbl_801D6194 = .sdata2:0x801D6194; // type:object size:0x4 data:float -lbl_801D6198 = .sdata2:0x801D6198; // type:object size:0x4 data:float -lbl_801D619C = .sdata2:0x801D619C; // type:object size:0x4 data:float -lbl_801D61A0 = .sdata2:0x801D61A0; // type:object size:0x4 data:float -lbl_801D61A4 = .sdata2:0x801D61A4; // type:object size:0x4 data:float -lbl_801D61A8 = .sdata2:0x801D61A8; // type:object size:0x4 data:float -lbl_801D61AC = .sdata2:0x801D61AC; // type:object size:0x4 data:float -lbl_801D61B0 = .sdata2:0x801D61B0; // type:object size:0x4 data:float -lbl_801D61B4 = .sdata2:0x801D61B4; // type:object size:0x4 data:float -lbl_801D61B8 = .sdata2:0x801D61B8; // type:object size:0x4 data:float -lbl_801D61BC = .sdata2:0x801D61BC; // type:object size:0x4 data:float -lbl_801D61C0 = .sdata2:0x801D61C0; // type:object size:0x4 data:float -lbl_801D61C4 = .sdata2:0x801D61C4; // type:object size:0x4 data:float -lbl_801D61C8 = .sdata2:0x801D61C8; // type:object size:0x4 data:float -lbl_801D61CC = .sdata2:0x801D61CC; // type:object size:0x4 data:float -lbl_801D61D0 = .sdata2:0x801D61D0; // type:object size:0x8 data:double -lbl_801D61D8 = .sdata2:0x801D61D8; // type:object size:0x8 data:double -lbl_801D61E0 = .sdata2:0x801D61E0; // type:object size:0x4 data:float -lbl_801D61E4 = .sdata2:0x801D61E4; // type:object size:0x4 data:float -lbl_801D61E8 = .sdata2:0x801D61E8; // type:object size:0x8 data:double -lbl_801D61F0 = .sdata2:0x801D61F0; // type:object size:0x4 data:float -lbl_801D61F4 = .sdata2:0x801D61F4; // type:object size:0x4 data:float -lbl_801D61F8 = .sdata2:0x801D61F8; // type:object size:0x4 data:float -lbl_801D61FC = .sdata2:0x801D61FC; // type:object size:0x4 data:float -lbl_801D6200 = .sdata2:0x801D6200; // type:object size:0x4 data:float -lbl_801D6204 = .sdata2:0x801D6204; // type:object size:0x4 data:float -lbl_801D6208 = .sdata2:0x801D6208; // type:object size:0x4 data:float -lbl_801D620C = .sdata2:0x801D620C; // type:object size:0x4 data:float -lbl_801D6210 = .sdata2:0x801D6210; // type:object size:0x4 data:float -lbl_801D6214 = .sdata2:0x801D6214; // type:object size:0x4 data:float -lbl_801D6218 = .sdata2:0x801D6218; // type:object size:0x4 data:float -lbl_801D621C = .sdata2:0x801D621C; // type:object size:0x4 data:float -lbl_801D6220 = .sdata2:0x801D6220; // type:object size:0x4 data:float -lbl_801D6224 = .sdata2:0x801D6224; // type:object size:0x4 data:float -lbl_801D6228 = .sdata2:0x801D6228; // type:object size:0x4 data:float -lbl_801D622C = .sdata2:0x801D622C; // type:object size:0x4 data:float -lbl_801D6230 = .sdata2:0x801D6230; // type:object size:0x4 data:float -lbl_801D6234 = .sdata2:0x801D6234; // type:object size:0x4 data:float -lbl_801D6238 = .sdata2:0x801D6238; // type:object size:0x4 data:float -lbl_801D623C = .sdata2:0x801D623C; // type:object size:0x4 data:float -lbl_801D6240 = .sdata2:0x801D6240; // type:object size:0x4 data:float -lbl_801D6248 = .sdata2:0x801D6248; // type:object size:0x8 data:double -lbl_801D6250 = .sdata2:0x801D6250; // type:object size:0x8 data:double -lbl_801D6258 = .sdata2:0x801D6258; // type:object size:0x8 data:double -lbl_801D6260 = .sdata2:0x801D6260; // type:object size:0x8 data:double -lbl_801D6268 = .sdata2:0x801D6268; // type:object size:0x4 data:float -lbl_801D626C = .sdata2:0x801D626C; // type:object size:0x4 data:float -lbl_801D6270 = .sdata2:0x801D6270; // type:object size:0x4 data:float -lbl_801D6274 = .sdata2:0x801D6274; // type:object size:0x4 data:float -lbl_801D6278 = .sdata2:0x801D6278; // type:object size:0x4 data:float -lbl_801D627C = .sdata2:0x801D627C; // type:object size:0x4 data:float -lbl_801D6280 = .sdata2:0x801D6280; // type:object size:0x4 data:float -lbl_801D6284 = .sdata2:0x801D6284; // type:object size:0x4 data:float -lbl_801D6288 = .sdata2:0x801D6288; // type:object size:0x4 data:float -lbl_801D628C = .sdata2:0x801D628C; // type:object size:0x1 data:byte -lbl_801D628D = .sdata2:0x801D628D; // type:object size:0x1 data:byte -lbl_801D628E = .sdata2:0x801D628E; // type:object size:0x1 data:byte -lbl_801D628F = .sdata2:0x801D628F; // type:object size:0x1 data:byte -lbl_801D6290 = .sdata2:0x801D6290; // type:object size:0x8 data:float -lbl_801D6298 = .sdata2:0x801D6298; // type:object size:0x4 data:float -lbl_801D629C = .sdata2:0x801D629C; // type:object size:0x4 data:float -lbl_801D62A0 = .sdata2:0x801D62A0; // type:object size:0x4 data:float -lbl_801D62A4 = .sdata2:0x801D62A4; // type:object size:0x4 data:float -lbl_801D62A8 = .sdata2:0x801D62A8; // type:object size:0x4 data:float -lbl_801D62AC = .sdata2:0x801D62AC; // type:object size:0x4 data:float -lbl_801D62B0 = .sdata2:0x801D62B0; // type:object size:0x4 data:float -lbl_801D62B4 = .sdata2:0x801D62B4; // type:object size:0x4 data:float -lbl_801D62B8 = .sdata2:0x801D62B8; // type:object size:0x4 data:float -lbl_801D62BC = .sdata2:0x801D62BC; // type:object size:0x4 data:float -lbl_801D62C0 = .sdata2:0x801D62C0; // type:object size:0x4 data:float -lbl_801D62C4 = .sdata2:0x801D62C4; // type:object size:0x4 data:float -lbl_801D62C8 = .sdata2:0x801D62C8; // type:object size:0x4 data:float -lbl_801D62CC = .sdata2:0x801D62CC; // type:object size:0x4 data:float -lbl_801D62D0 = .sdata2:0x801D62D0; // type:object size:0x4 data:float -lbl_801D62D4 = .sdata2:0x801D62D4; // type:object size:0x4 data:float -lbl_801D62D8 = .sdata2:0x801D62D8; // type:object size:0x4 data:float -lbl_801D62DC = .sdata2:0x801D62DC; // type:object size:0x4 data:float -lbl_801D62E0 = .sdata2:0x801D62E0; // type:object size:0x4 data:float -lbl_801D62E4 = .sdata2:0x801D62E4; // type:object size:0x4 data:float -lbl_801D62E8 = .sdata2:0x801D62E8; // type:object size:0x4 data:float -lbl_801D62EC = .sdata2:0x801D62EC; // type:object size:0x4 data:float -lbl_801D62F0 = .sdata2:0x801D62F0; // type:object size:0x4 data:float -lbl_801D62F4 = .sdata2:0x801D62F4; // type:object size:0x4 data:float -lbl_801D62F8 = .sdata2:0x801D62F8; // type:object size:0x4 data:float -lbl_801D62FC = .sdata2:0x801D62FC; // type:object size:0x4 data:float -lbl_801D6300 = .sdata2:0x801D6300; // type:object size:0x4 data:float -lbl_801D6304 = .sdata2:0x801D6304; // type:object size:0x4 data:float -lbl_801D6308 = .sdata2:0x801D6308; // type:object size:0x4 data:float -lbl_801D630C = .sdata2:0x801D630C; // type:object size:0x4 data:float -lbl_801D6310 = .sdata2:0x801D6310; // type:object size:0x4 data:float -lbl_801D6314 = .sdata2:0x801D6314; // type:object size:0x4 data:float -lbl_801D6318 = .sdata2:0x801D6318; // type:object size:0x4 data:float -lbl_801D631C = .sdata2:0x801D631C; // type:object size:0x4 data:float -lbl_801D6320 = .sdata2:0x801D6320; // type:object size:0x4 data:float -lbl_801D6324 = .sdata2:0x801D6324; // type:object size:0x4 data:float -lbl_801D6328 = .sdata2:0x801D6328; // type:object size:0x4 data:float -lbl_801D632C = .sdata2:0x801D632C; // type:object size:0x4 data:float -lbl_801D6330 = .sdata2:0x801D6330; // type:object size:0x4 data:float -lbl_801D6334 = .sdata2:0x801D6334; // type:object size:0x4 data:float -lbl_801D6338 = .sdata2:0x801D6338; // type:object size:0x4 data:float -lbl_801D633C = .sdata2:0x801D633C; // type:object size:0x4 data:float -lbl_801D6340 = .sdata2:0x801D6340; // type:object size:0x8 data:double -lbl_801D6348 = .sdata2:0x801D6348; // type:object size:0x8 data:float -lbl_801D6350 = .sdata2:0x801D6350; // type:object size:0x4 scope:local data:float -lbl_801D6354 = .sdata2:0x801D6354; // type:object size:0x4 scope:local data:float -lbl_801D6358 = .sdata2:0x801D6358; // type:object size:0x4 scope:local data:float -lbl_801D635C = .sdata2:0x801D635C; // type:object size:0x4 scope:local data:float -lbl_801D6360 = .sdata2:0x801D6360; // type:object size:0x8 scope:local data:float -lbl_801D6368 = .sdata2:0x801D6368; // type:object size:0x4 scope:local data:float -lbl_801D636C = .sdata2:0x801D636C; // type:object size:0x4 scope:local data:float -lbl_801D6370 = .sdata2:0x801D6370; // type:object size:0x4 scope:local data:float -lbl_801D6374 = .sdata2:0x801D6374; // type:object size:0x4 scope:local data:float -lbl_801D6378 = .sdata2:0x801D6378; // type:object size:0x4 scope:local data:float -lbl_801D637C = .sdata2:0x801D637C; // type:object size:0x4 scope:local data:float -lbl_801D6380 = .sdata2:0x801D6380; // type:object size:0x4 scope:local data:float -lbl_801D6384 = .sdata2:0x801D6384; // type:object size:0x4 scope:local data:float -lbl_801D6388 = .sdata2:0x801D6388; // type:object size:0x4 scope:local data:float -lbl_801D638C = .sdata2:0x801D638C; // type:object size:0x4 scope:local data:float -lbl_801D6390 = .sdata2:0x801D6390; // type:object size:0x4 data:float -lbl_801D6394 = .sdata2:0x801D6394; // type:object size:0x4 data:float -lbl_801D6398 = .sdata2:0x801D6398; // type:object size:0x8 data:double -lbl_801D63A0 = .sdata2:0x801D63A0; // type:object size:0x8 data:double -lbl_801D63A8 = .sdata2:0x801D63A8; // type:object size:0x4 data:float -lbl_801D63AC = .sdata2:0x801D63AC; // type:object size:0x4 data:float -lbl_801D63B0 = .sdata2:0x801D63B0; // type:object size:0x4 data:float -lbl_801D63B4 = .sdata2:0x801D63B4; // type:object size:0x4 data:float -lbl_801D63B8 = .sdata2:0x801D63B8; // type:object size:0x4 scope:local data:float -lbl_801D63BC = .sdata2:0x801D63BC; // type:object size:0x4 scope:local data:float -lbl_801D63C0 = .sdata2:0x801D63C0; // type:object size:0x8 scope:local data:double -lbl_801D63C8 = .sdata2:0x801D63C8; // type:object size:0x8 scope:local data:double -lbl_801D63D0 = .sdata2:0x801D63D0; // type:object size:0x8 scope:local data:float -lbl_801D63D8 = .sdata2:0x801D63D8; // type:object size:0x4 scope:local data:float -lbl_801D63E0 = .sdata2:0x801D63E0; // type:object size:0x8 scope:local data:double -lbl_801D63E8 = .sdata2:0x801D63E8; // type:object size:0x4 data:4byte -lbl_801D63EC = .sdata2:0x801D63EC; // type:object size:0x4 data:4byte -lbl_801D63F0 = .sdata2:0x801D63F0; // type:object size:0x4 data:4byte -lbl_801D63F4 = .sdata2:0x801D63F4; // type:object size:0x4 data:float -lbl_801D63F8 = .sdata2:0x801D63F8; // type:object size:0x4 data:float -lbl_801D63FC = .sdata2:0x801D63FC; // type:object size:0x4 data:float -lbl_801D6400 = .sdata2:0x801D6400; // type:object size:0x8 data:double -lbl_801D6408 = .sdata2:0x801D6408; // type:object size:0x8 data:float -lbl_801D6410 = .sdata2:0x801D6410; // type:object size:0x4 data:float -lbl_801D6414 = .sdata2:0x801D6414; // type:object size:0x4 data:float -lbl_801D6418 = .sdata2:0x801D6418; // type:object size:0x4 data:float -lbl_801D641C = .sdata2:0x801D641C; // type:object size:0x4 data:float -lbl_801D6420 = .sdata2:0x801D6420; // type:object size:0x4 data:float -lbl_801D6424 = .sdata2:0x801D6424; // type:object size:0x4 data:float -lbl_801D6428 = .sdata2:0x801D6428; // type:object size:0x4 data:float -lbl_801D642C = .sdata2:0x801D642C; // type:object size:0x4 data:float -lbl_801D6430 = .sdata2:0x801D6430; // type:object size:0x4 data:float -lbl_801D6434 = .sdata2:0x801D6434; // type:object size:0x4 data:float -lbl_801D6438 = .sdata2:0x801D6438; // type:object size:0x4 data:float -lbl_801D643C = .sdata2:0x801D643C; // type:object size:0x4 data:float -lbl_801D6440 = .sdata2:0x801D6440; // type:object size:0x4 data:float -lbl_801D6448 = .sdata2:0x801D6448; // type:object size:0x8 data:double -lbl_801D6450 = .sdata2:0x801D6450; // type:object size:0x8 data:double -lbl_801D6458 = .sdata2:0x801D6458; // type:object size:0x8 data:float -lbl_801D6460 = .sdata2:0x801D6460; // type:object size:0x4 data:float -lbl_801D6468 = .sdata2:0x801D6468; // type:object size:0x8 data:double -lbl_801D6470 = .sdata2:0x801D6470; // type:object size:0x4 data:float -lbl_801D6474 = .sdata2:0x801D6474; // type:object size:0x4 data:float -lbl_801D6478 = .sdata2:0x801D6478; // type:object size:0x4 data:float -lbl_801D647C = .sdata2:0x801D647C; // type:object size:0x4 data:float -lbl_801D6480 = .sdata2:0x801D6480; // type:object size:0x4 data:float -lbl_801D6484 = .sdata2:0x801D6484; // type:object size:0x4 data:float -lbl_801D6488 = .sdata2:0x801D6488; // type:object size:0x4 data:float -lbl_801D648C = .sdata2:0x801D648C; // type:object size:0x4 data:float -lbl_801D6490 = .sdata2:0x801D6490; // type:object size:0x4 data:float -lbl_801D6498 = .sdata2:0x801D6498; // type:object size:0x8 data:double -lbl_801D64A0 = .sdata2:0x801D64A0; // type:object size:0x4 data:float -lbl_801D64A4 = .sdata2:0x801D64A4; // type:object size:0x4 data:float -lbl_801D64A8 = .sdata2:0x801D64A8; // type:object size:0x8 data:double -lbl_801D64B0 = .sdata2:0x801D64B0; // type:object size:0x4 data:float -lbl_801D64B8 = .sdata2:0x801D64B8; // type:object size:0x8 data:double -lbl_801D64C0 = .sdata2:0x801D64C0; // type:object size:0x4 data:float -lbl_801D64C8 = .sdata2:0x801D64C8; // type:object size:0x8 data:double -lbl_801D64D0 = .sdata2:0x801D64D0; // type:object size:0x4 data:float -lbl_801D64D4 = .sdata2:0x801D64D4; // type:object size:0x4 data:float -lbl_801D64D8 = .sdata2:0x801D64D8; // type:object size:0x4 data:float -lbl_801D64E0 = .sdata2:0x801D64E0; // type:object size:0x8 data:double -lbl_801D64E8 = .sdata2:0x801D64E8; // type:object size:0x4 data:float -lbl_801D64EC = .sdata2:0x801D64EC; // type:object size:0x4 data:float -lbl_801D64F0 = .sdata2:0x801D64F0; // type:object size:0x8 data:double -lbl_801D64F8 = .sdata2:0x801D64F8; // type:object size:0x4 data:float -lbl_801D64FC = .sdata2:0x801D64FC; // type:object size:0x4 data:float -lbl_801D6500 = .sdata2:0x801D6500; // type:object size:0x4 data:float -lbl_801D6504 = .sdata2:0x801D6504; // type:object size:0x4 data:float -lbl_801D6508 = .sdata2:0x801D6508; // type:object size:0x4 data:float -lbl_801D6510 = .sdata2:0x801D6510; // type:object size:0x8 data:double -lbl_801D6518 = .sdata2:0x801D6518; // type:object size:0x4 data:4byte -lbl_801D6520 = .sdata2:0x801D6520; // type:object size:0x8 data:double -lbl_801D6528 = .sdata2:0x801D6528; // type:object size:0x8 data:double -lbl_801D6530 = .sdata2:0x801D6530; // type:object size:0x8 data:double -lbl_801D6538 = .sdata2:0x801D6538; // type:object size:0x8 data:double -lbl_801D6540 = .sdata2:0x801D6540; // type:object size:0x8 data:double -lbl_801D6548 = .sdata2:0x801D6548; // type:object size:0x8 data:double -lbl_801D6550 = .sdata2:0x801D6550; // type:object size:0x8 data:double -lbl_801D6558 = .sdata2:0x801D6558; // type:object size:0x8 data:double -lbl_801D6560 = .sdata2:0x801D6560; // type:object size:0x8 data:double -lbl_801D6568 = .sdata2:0x801D6568; // type:object size:0x8 data:double -lbl_801D6570 = .sdata2:0x801D6570; // type:object size:0x8 data:double -lbl_801D6578 = .sdata2:0x801D6578; // type:object size:0x8 data:double -lbl_801D6580 = .sdata2:0x801D6580; // type:object size:0x8 data:double -lbl_801D6588 = .sdata2:0x801D6588; // type:object size:0x8 data:double -lbl_801D6590 = .sdata2:0x801D6590; // type:object size:0x8 data:double -lbl_801D6598 = .sdata2:0x801D6598; // type:object size:0x8 data:double -lbl_801D65A0 = .sdata2:0x801D65A0; // type:object size:0x8 data:double -lbl_801D65A8 = .sdata2:0x801D65A8; // type:object size:0x8 data:double -lbl_801D65B0 = .sdata2:0x801D65B0; // type:object size:0x8 data:double -lbl_801D65B8 = .sdata2:0x801D65B8; // type:object size:0x8 data:double -lbl_801D65C0 = .sdata2:0x801D65C0; // type:object size:0x8 data:double -lbl_801D65C8 = .sdata2:0x801D65C8; // type:object size:0x8 data:double -lbl_801D65D0 = .sdata2:0x801D65D0; // type:object size:0x8 data:double -lbl_801D65D8 = .sdata2:0x801D65D8; // type:object size:0x8 data:double -lbl_801D65E0 = .sdata2:0x801D65E0; // type:object size:0x8 data:double -lbl_801D65E8 = .sdata2:0x801D65E8; // type:object size:0x8 data:double -lbl_801D65F0 = .sdata2:0x801D65F0; // type:object size:0x8 data:double -lbl_801D65F8 = .sdata2:0x801D65F8; // type:object size:0x8 data:double -lbl_801D6600 = .sdata2:0x801D6600; // type:object size:0x8 data:double -lbl_801D6608 = .sdata2:0x801D6608; // type:object size:0x8 data:double -lbl_801D6610 = .sdata2:0x801D6610; // type:object size:0x8 data:double -lbl_801D6618 = .sdata2:0x801D6618; // type:object size:0x8 data:double -lbl_801D6620 = .sdata2:0x801D6620; // type:object size:0x8 data:double -lbl_801D6628 = .sdata2:0x801D6628; // type:object size:0x8 data:double -lbl_801D6630 = .sdata2:0x801D6630; // type:object size:0x8 data:double -lbl_801D6638 = .sdata2:0x801D6638; // type:object size:0x8 data:double -lbl_801D6640 = .sdata2:0x801D6640; // type:object size:0x8 data:double -lbl_801D6648 = .sdata2:0x801D6648; // type:object size:0x8 data:double -lbl_801D6650 = .sdata2:0x801D6650; // type:object size:0x8 data:double -lbl_801D6658 = .sdata2:0x801D6658; // type:object size:0x8 data:double -lbl_801D6660 = .sdata2:0x801D6660; // type:object size:0x8 data:double -lbl_801D6668 = .sdata2:0x801D6668; // type:object size:0x8 data:double -lbl_801D6670 = .sdata2:0x801D6670; // type:object size:0x8 data:double -lbl_801D6678 = .sdata2:0x801D6678; // type:object size:0x8 data:double -lbl_801D6680 = .sdata2:0x801D6680; // type:object size:0x8 data:double -lbl_801D6688 = .sdata2:0x801D6688; // type:object size:0x8 data:double -lbl_801D6690 = .sdata2:0x801D6690; // type:object size:0x8 data:double -lbl_801D6698 = .sdata2:0x801D6698; // type:object size:0x8 data:double -lbl_801D66A0 = .sdata2:0x801D66A0; // type:object size:0x8 data:double -lbl_801D66A8 = .sdata2:0x801D66A8; // type:object size:0x8 data:double -lbl_801D66B0 = .sdata2:0x801D66B0; // type:object size:0x8 data:double -lbl_801D66B8 = .sdata2:0x801D66B8; // type:object size:0x8 data:double -lbl_801D66C0 = .sdata2:0x801D66C0; // type:object size:0x8 data:double -lbl_801D66C8 = .sdata2:0x801D66C8; // type:object size:0x8 data:double -lbl_801D66D0 = .sdata2:0x801D66D0; // type:object size:0x8 data:double -lbl_801D66D8 = .sdata2:0x801D66D8; // type:object size:0x8 data:double -lbl_801D66E0 = .sdata2:0x801D66E0; // type:object size:0x8 data:double -lbl_801D66E8 = .sdata2:0x801D66E8; // type:object size:0x8 data:double -lbl_801D66F0 = .sdata2:0x801D66F0; // type:object size:0x8 data:double -lbl_801D66F8 = .sdata2:0x801D66F8; // type:object size:0x8 data:double -lbl_801D6700 = .sdata2:0x801D6700; // type:object size:0x8 data:double -lbl_801D6708 = .sdata2:0x801D6708; // type:object size:0x8 data:double -lbl_801D6710 = .sdata2:0x801D6710; // type:object size:0x8 data:double -lbl_801D6718 = .sdata2:0x801D6718; // type:object size:0x8 data:double -lbl_801D6720 = .sdata2:0x801D6720; // type:object size:0x8 data:double -lbl_801D6728 = .sdata2:0x801D6728; // type:object size:0x8 data:double -lbl_801D6730 = .sdata2:0x801D6730; // type:object size:0x8 data:double -lbl_801D6738 = .sdata2:0x801D6738; // type:object size:0x8 data:double -lbl_801D6740 = .sdata2:0x801D6740; // type:object size:0x8 data:double -lbl_801D6748 = .sdata2:0x801D6748; // type:object size:0x8 data:double -lbl_801D6750 = .sdata2:0x801D6750; // type:object size:0x8 data:double -lbl_801D6758 = .sdata2:0x801D6758; // type:object size:0x8 data:double -lbl_801D6760 = .sdata2:0x801D6760; // type:object size:0x8 data:double -lbl_801D6768 = .sdata2:0x801D6768; // type:object size:0x8 data:double -lbl_801D6770 = .sdata2:0x801D6770; // type:object size:0x8 data:double -lbl_801D6778 = .sdata2:0x801D6778; // type:object size:0x8 data:double -lbl_801D6780 = .sdata2:0x801D6780; // type:object size:0x8 data:double -lbl_801D6788 = .sdata2:0x801D6788; // type:object size:0x8 data:double -lbl_801D6790 = .sdata2:0x801D6790; // type:object size:0x8 data:double -lbl_801D6798 = .sdata2:0x801D6798; // type:object size:0x8 data:double -lbl_801D67A0 = .sdata2:0x801D67A0; // type:object size:0x8 data:double -lbl_801D67A8 = .sdata2:0x801D67A8; // type:object size:0x8 data:double -lbl_801D67B0 = .sdata2:0x801D67B0; // type:object size:0x8 data:double -lbl_801D67B8 = .sdata2:0x801D67B8; // type:object size:0x8 data:double -lbl_801D67C0 = .sdata2:0x801D67C0; // type:object size:0x8 data:double -lbl_801D67C8 = .sdata2:0x801D67C8; // type:object size:0x8 data:double -lbl_801D67D0 = .sdata2:0x801D67D0; // type:object size:0x8 data:double -lbl_801D67D8 = .sdata2:0x801D67D8; // type:object size:0x8 data:double -lbl_801D67E0 = .sdata2:0x801D67E0; // type:object size:0x8 data:double -lbl_801D67E8 = .sdata2:0x801D67E8; // type:object size:0x8 data:double -lbl_801D67F0 = .sdata2:0x801D67F0; // type:object size:0x8 data:double -lbl_801D67F8 = .sdata2:0x801D67F8; // type:object size:0x8 data:double -lbl_801D6800 = .sdata2:0x801D6800; // type:object size:0x8 data:double -lbl_801D6808 = .sdata2:0x801D6808; // type:object size:0x8 data:double -lbl_801D6810 = .sdata2:0x801D6810; // type:object size:0x8 data:double -lbl_801D6818 = .sdata2:0x801D6818; // type:object size:0x8 data:double -lbl_801D6820 = .sdata2:0x801D6820; // type:object size:0x8 data:double -lbl_801D6828 = .sdata2:0x801D6828; // type:object size:0x8 data:double -lbl_801D6830 = .sdata2:0x801D6830; // type:object size:0x8 data:double -lbl_801D6838 = .sdata2:0x801D6838; // type:object size:0x8 data:double -lbl_801D6840 = .sdata2:0x801D6840; // type:object size:0x8 data:double -lbl_801D6848 = .sdata2:0x801D6848; // type:object size:0x8 data:double -lbl_801D6850 = .sdata2:0x801D6850; // type:object size:0x8 data:double -lbl_801D6858 = .sdata2:0x801D6858; // type:object size:0x8 data:double -lbl_801D6860 = .sdata2:0x801D6860; // type:object size:0x8 data:double -lbl_801D6868 = .sdata2:0x801D6868; // type:object size:0x8 data:double -lbl_801D6870 = .sdata2:0x801D6870; // type:object size:0x8 data:double -lbl_801D6878 = .sdata2:0x801D6878; // type:object size:0x8 data:double -lbl_801D6880 = .sdata2:0x801D6880; // type:object size:0x8 data:double -lbl_801D6888 = .sdata2:0x801D6888; // type:object size:0x8 data:double -lbl_801D6890 = .sdata2:0x801D6890; // type:object size:0x8 data:double -lbl_801D6898 = .sdata2:0x801D6898; // type:object size:0x8 data:double -lbl_801D68A0 = .sdata2:0x801D68A0; // type:object size:0x8 data:double -lbl_801D68A8 = .sdata2:0x801D68A8; // type:object size:0x8 data:double -lbl_801D68B0 = .sdata2:0x801D68B0; // type:object size:0x8 data:double -lbl_801D68B8 = .sdata2:0x801D68B8; // type:object size:0x8 data:double -lbl_801D68C0 = .sdata2:0x801D68C0; // type:object size:0x8 data:double -lbl_801D68C8 = .sdata2:0x801D68C8; // type:object size:0x8 data:double -lbl_801D68D0 = .sdata2:0x801D68D0; // type:object size:0x8 data:double -lbl_801D68D8 = .sdata2:0x801D68D8; // type:object size:0x8 data:double -lbl_801D68E0 = .sdata2:0x801D68E0; // type:object size:0x8 data:double -lbl_801D68E8 = .sdata2:0x801D68E8; // type:object size:0x8 data:double -lbl_801D68F0 = .sdata2:0x801D68F0; // type:object size:0x8 data:double -lbl_801D68F8 = .sdata2:0x801D68F8; // type:object size:0x8 data:double -lbl_801D6900 = .sdata2:0x801D6900; // type:object size:0x8 data:double -lbl_801D6908 = .sdata2:0x801D6908; // type:object size:0x8 data:double -lbl_801D6910 = .sdata2:0x801D6910; // type:object size:0x8 data:double -lbl_801D6918 = .sdata2:0x801D6918; // type:object size:0x8 data:double -lbl_801D6920 = .sdata2:0x801D6920; // type:object size:0x8 data:double -lbl_801D6928 = .sdata2:0x801D6928; // type:object size:0x8 data:double -lbl_801D6930 = .sdata2:0x801D6930; // type:object size:0x8 data:double -lbl_801D6938 = .sdata2:0x801D6938; // type:object size:0x8 data:double -lbl_801D6940 = .sdata2:0x801D6940; // type:object size:0x8 data:double -lbl_801D6948 = .sdata2:0x801D6948; // type:object size:0x8 data:double -lbl_801D6950 = .sdata2:0x801D6950; // type:object size:0x8 data:double -lbl_801D6958 = .sdata2:0x801D6958; // type:object size:0x8 data:double -lbl_801D6960 = .sdata2:0x801D6960; // type:object size:0x8 data:double -lbl_801D6968 = .sdata2:0x801D6968; // type:object size:0x8 data:double -lbl_801D6970 = .sdata2:0x801D6970; // type:object size:0x8 data:double -lbl_801D6978 = .sdata2:0x801D6978; // type:object size:0x8 data:double -lbl_801D6980 = .sdata2:0x801D6980; // type:object size:0x8 data:double -lbl_801D6988 = .sdata2:0x801D6988; // type:object size:0x4 data:float -lbl_801D698C = .sdata2:0x801D698C; // type:object size:0x4 data:float -lbl_801D6990 = .sdata2:0x801D6990; // type:object size:0x4 data:float -lbl_801D6998 = .sdata2:0x801D6998; // type:object size:0x8 data:double -lbl_801D69A0 = .sdata2:0x801D69A0; // type:object size:0x8 data:double -lbl_801D69A8 = .sdata2:0x801D69A8; // type:object size:0x4 data:float -lbl_801D69AC = .sdata2:0x801D69AC; // type:object size:0x4 data:float -lbl_801D69B0 = .sdata2:0x801D69B0; // type:object size:0x4 data:float -lbl_801D69B4 = .sdata2:0x801D69B4; // type:object size:0x4 data:float -lbl_801D69B8 = .sdata2:0x801D69B8; // type:object size:0x4 data:float -lbl_801D69BC = .sdata2:0x801D69BC; // type:object size:0x4 data:float -lbl_801D69C0 = .sdata2:0x801D69C0; // type:object size:0x4 data:float -lbl_801D69C4 = .sdata2:0x801D69C4; // type:object size:0x4 data:float -lbl_801D69C8 = .sdata2:0x801D69C8; // type:object size:0x4 data:float -lbl_801D69D0 = .sdata2:0x801D69D0; // type:object size:0x8 data:double -lbl_801D69D8 = .sdata2:0x801D69D8; // type:object size:0x8 data:double -lbl_801D69E0 = .sdata2:0x801D69E0; // type:object size:0x4 data:float -lbl_801D69E4 = .sdata2:0x801D69E4; // type:object size:0x4 data:float -lbl_801D69E8 = .sdata2:0x801D69E8; // type:object size:0x4 data:float -lbl_801D69F0 = .sdata2:0x801D69F0; // type:object size:0x8 data:double -lbl_801D69F8 = .sdata2:0x801D69F8; // type:object size:0x8 data:float -lbl_801D6A00 = .sdata2:0x801D6A00; // type:object size:0x4 data:float -lbl_801D6A04 = .sdata2:0x801D6A04; // type:object size:0x4 data:float -lbl_801D6A08 = .sdata2:0x801D6A08; // type:object size:0x4 data:float -lbl_801D6A10 = .sdata2:0x801D6A10; // type:object size:0x8 data:double -lbl_801D6A18 = .sdata2:0x801D6A18; // type:object size:0x8 data:double -lbl_801D6A20 = .sdata2:0x801D6A20; // type:object size:0x4 data:float -lbl_801D6A24 = .sdata2:0x801D6A24; // type:object size:0x4 data:float -lbl_801D6A28 = .sdata2:0x801D6A28; // type:object size:0x4 data:float -lbl_801D6A30 = .sdata2:0x801D6A30; // type:object size:0x8 data:double -lbl_801D6A38 = .sdata2:0x801D6A38; // type:object size:0x4 data:float -lbl_801D6A40 = .sdata2:0x801D6A40; // type:object size:0x8 data:double -lbl_801D6A48 = .sdata2:0x801D6A48; // type:object size:0x4 data:float -lbl_801D6A4C = .sdata2:0x801D6A4C; // type:object size:0x4 data:float -lbl_801D6A50 = .sdata2:0x801D6A50; // type:object size:0x8 data:double -lbl_801D6A58 = .sdata2:0x801D6A58; // type:object size:0x4 data:float -lbl_801D6A60 = .sdata2:0x801D6A60; // type:object size:0x8 data:double -lbl_801D6A68 = .sdata2:0x801D6A68; // type:object size:0x4 data:float -lbl_801D6A6C = .sdata2:0x801D6A6C; // type:object size:0x4 data:float -lbl_801D6A70 = .sdata2:0x801D6A70; // type:object size:0x4 data:float -lbl_801D6A78 = .sdata2:0x801D6A78; // type:object size:0x8 data:double -lbl_801D6A80 = .sdata2:0x801D6A80; // type:object size:0x4 data:float -lbl_801D6A88 = .sdata2:0x801D6A88; // type:object size:0x8 data:double -lbl_801D6A90 = .sdata2:0x801D6A90; // type:object size:0x4 data:float -lbl_801D6A94 = .sdata2:0x801D6A94; // type:object size:0x4 data:float -lbl_801D6A98 = .sdata2:0x801D6A98; // type:object size:0x8 data:float -lbl_801D6AA0 = .sdata2:0x801D6AA0; // type:object size:0x4 data:float -lbl_801D6AA8 = .sdata2:0x801D6AA8; // type:object size:0x8 data:double -lbl_801D6AB0 = .sdata2:0x801D6AB0; // type:object size:0x4 data:float -lbl_801D6AB4 = .sdata2:0x801D6AB4; // type:object size:0x4 data:float -lbl_801D6AB8 = .sdata2:0x801D6AB8; // type:object size:0x8 data:double -lbl_801D6AC0 = .sdata2:0x801D6AC0; // type:object size:0x4 data:float -lbl_801D6AC4 = .sdata2:0x801D6AC4; // type:object size:0x4 data:float -lbl_801D6AC8 = .sdata2:0x801D6AC8; // type:object size:0x8 data:double -lbl_801D6AD0 = .sdata2:0x801D6AD0; // type:object size:0x4 data:float -lbl_801D6AD4 = .sdata2:0x801D6AD4; // type:object size:0x4 data:float -lbl_801D6AD8 = .sdata2:0x801D6AD8; // type:object size:0x4 data:float -lbl_801D6ADC = .sdata2:0x801D6ADC; // type:object size:0x4 data:float -lbl_801D6AE0 = .sdata2:0x801D6AE0; // type:object size:0x4 data:float -lbl_801D6AE4 = .sdata2:0x801D6AE4; // type:object size:0x4 data:float -lbl_801D6AE8 = .sdata2:0x801D6AE8; // type:object size:0x8 data:float -lbl_801D6AF0 = .sdata2:0x801D6AF0; // type:object size:0x4 data:float -lbl_801D6AF8 = .sdata2:0x801D6AF8; // type:object size:0x8 data:double -lbl_801D6B00 = .sdata2:0x801D6B00; // type:object size:0x8 data:double -lbl_801D6B08 = .sdata2:0x801D6B08; // type:object size:0x8 data:float -lbl_801D6B10 = .sdata2:0x801D6B10; // type:object size:0x4 data:float -lbl_801D6B14 = .sdata2:0x801D6B14; // type:object size:0x4 data:float -lbl_801D6B18 = .sdata2:0x801D6B18; // type:object size:0x4 data:float -lbl_801D6B20 = .sdata2:0x801D6B20; // type:object size:0x8 data:double -lbl_801D6B28 = .sdata2:0x801D6B28; // type:object size:0x4 data:float -lbl_801D6B2C = .sdata2:0x801D6B2C; // type:object size:0x4 data:float -lbl_801D6B30 = .sdata2:0x801D6B30; // type:object size:0x4 data:float -lbl_801D6B34 = .sdata2:0x801D6B34; // type:object size:0x4 data:float -lbl_801D6B38 = .sdata2:0x801D6B38; // type:object size:0x4 data:float -lbl_801D6B3C = .sdata2:0x801D6B3C; // type:object size:0x4 data:float -lbl_801D6B40 = .sdata2:0x801D6B40; // type:object size:0x8 data:double -lbl_801D6B48 = .sdata2:0x801D6B48; // type:object size:0x4 data:float -lbl_801D6B4C = .sdata2:0x801D6B4C; // type:object size:0x4 data:float -lbl_801D6B50 = .sdata2:0x801D6B50; // type:object size:0x8 data:double -value0_3 = .sdata2:0x801D6B58; // type:object size:0x4 scope:local data:float -value0_6 = .sdata2:0x801D6B5C; // type:object size:0x4 scope:local data:float -i2fMagic = .sdata2:0x801D6B60; // type:object size:0x8 scope:local data:double -lbl_801D6B68 = .sdata2:0x801D6B68; // type:object size:0x4 data:float -lbl_801D6B6C = .sdata2:0x801D6B6C; // type:object size:0x4 data:float -lbl_801D6B70 = .sdata2:0x801D6B70; // type:object size:0x4 data:float -lbl_801D6B74 = .sdata2:0x801D6B74; // type:object size:0x4 data:float -lbl_801D6B78 = .sdata2:0x801D6B78; // type:object size:0x4 data:float -lbl_801D6B7C = .sdata2:0x801D6B7C; // type:object size:0x4 data:float -lbl_801D6B80 = .sdata2:0x801D6B80; // type:object size:0x8 data:double -lbl_801D6B88 = .sdata2:0x801D6B88; // type:object size:0x4 data:float -lbl_801D6B8C = .sdata2:0x801D6B8C; // type:object size:0x4 data:float -lbl_801D6B90 = .sdata2:0x801D6B90; // type:object size:0x8 data:double -i2fMagic = .sdata2:0x801D6B98; // type:object size:0x8 scope:local data:double -value0_3 = .sdata2:0x801D6BA0; // type:object size:0x4 scope:local data:float -value0_6 = .sdata2:0x801D6BA4; // type:object size:0x4 scope:local data:float -lbl_801D6BA8 = .sdata2:0x801D6BA8; // type:object size:0x4 data:float -i2fMagic = .sdata2:0x801D6BB0; // type:object size:0x8 scope:local data:double -lbl_801D6BB8 = .sdata2:0x801D6BB8; // type:object size:0x8 data:4byte -lbl_801D6BC0 = .sdata2:0x801D6BC0; // type:object size:0x4 data:float -lbl_801D6BC4 = .sdata2:0x801D6BC4; // type:object size:0x4 data:float -lbl_801D6BC8 = .sdata2:0x801D6BC8; // type:object size:0x4 data:float -lbl_801D6BCC = .sdata2:0x801D6BCC; // type:object size:0x4 data:float -lbl_801D6BD0 = .sdata2:0x801D6BD0; // type:object size:0x8 data:double -lbl_801D6BE0 = .sbss2:0x801D6BE0; // type:object size:0x4 scope:local data:byte -lbl_801D6BE4 = .sbss2:0x801D6BE4; // type:object size:0x4 scope:local data:byte diff --git a/config/GMPJ01_00/build.sha1 b/config/GMPJ01_00/build.sha1 deleted file mode 100644 index c9f5f735..00000000 --- a/config/GMPJ01_00/build.sha1 +++ /dev/null @@ -1,100 +0,0 @@ -abe951fa239e7cb5de67e1ac091cfbc14010d6e0 build/GMPJ01_00/main.dol -164e5e0bec4e1fbf068a158b00a62bd2a4124fb1 build/GMPJ01_00/_minigameDll/_minigameDll.rel -214a6992eabf31e8a202833c8f6e4da4e553ceb5 build/GMPJ01_00/bootDll/bootDll.rel -bd08e86c8b36eaa84319a8c41030afc769058983 build/GMPJ01_00/instDll/instDll.rel -803dcd1192a06ea975d04234bc6ea29a8852a3f5 build/GMPJ01_00/m302Dll/m302Dll.rel -803dcd1192a06ea975d04234bc6ea29a8852a3f5 build/GMPJ01_00/m303Dll/m303Dll.rel -803dcd1192a06ea975d04234bc6ea29a8852a3f5 build/GMPJ01_00/m330Dll/m330Dll.rel -803dcd1192a06ea975d04234bc6ea29a8852a3f5 build/GMPJ01_00/m333Dll/m333Dll.rel -fc2f898e5da6e17e2bb4a5b1efa6344dc210ed19 build/GMPJ01_00/m402Dll/m402Dll.rel -f6346c570fb659d8098f55a8f15b54ab96393019 build/GMPJ01_00/m403Dll/m403Dll.rel -404b9558c0a1b0ac728afe9e827604e0d606a8e1 build/GMPJ01_00/m404Dll/m404Dll.rel -a5ab650f706128955ee2bc7a068813097b9c31c0 build/GMPJ01_00/m405Dll/m405Dll.rel -90ab2775e7e60d07bcb2bc4879e2c2e4ef95a721 build/GMPJ01_00/m406Dll/m406Dll.rel -efe1a502cd82f22572f1e56992be2cf7a9c27cbb build/GMPJ01_00/m407dll/m407dll.rel -2206fa17d24e900079543ac9d4c48ad405d8e55f build/GMPJ01_00/m408Dll/m408Dll.rel -7edd8e77b69db00378c14b2130b9d3692841b8d1 build/GMPJ01_00/m409Dll/m409Dll.rel -8d6dd949a706594ad6bbc5d2447072a3519b087c build/GMPJ01_00/m410Dll/m410Dll.rel -8cbdc67b341232955341a2f9193128483f3d2325 build/GMPJ01_00/m411Dll/m411Dll.rel -952cd93f9dca7282ffe4a162e773a93249e39c6e build/GMPJ01_00/m412Dll/m412Dll.rel -bb130095d6045dc761b3dcd70307c8de12946e95 build/GMPJ01_00/m413Dll/m413Dll.rel -f75c13865a8508024bb6c4ba215293e02ac4029a build/GMPJ01_00/m414Dll/m414Dll.rel -9c90fbfaa45e838dcf0d06f1d8930c4ebfb346d6 build/GMPJ01_00/m415Dll/m415Dll.rel -fb6e0bd126678c5611d4b805697804edd5a3bbb4 build/GMPJ01_00/m416Dll/m416Dll.rel -3d1a40d456dab6fc4058bee79d0b9556ec69da5b build/GMPJ01_00/m417Dll/m417Dll.rel -c545db0be0b14179586b0b7e3f29ffa68f30a4a2 build/GMPJ01_00/m418Dll/m418Dll.rel -eac3a130a36057c156b3527ff464cd29e5f89b34 build/GMPJ01_00/m419Dll/m419Dll.rel -f5f355eb7e0884478ce8d353bd7f39a3d270f22f build/GMPJ01_00/m420dll/m420dll.rel -5e199b4773791122284125afa07e094edff53ea2 build/GMPJ01_00/m421Dll/m421Dll.rel -bc3cc80aafb1d4e3f80e746f275fd5d69b251a98 build/GMPJ01_00/m422Dll/m422Dll.rel -e4220010e147160fcd683e4f75f668a2a278545d build/GMPJ01_00/m423Dll/m423Dll.rel -6007eaeb00271006355018faf4c45cdb6bea9462 build/GMPJ01_00/m424Dll/m424Dll.rel -78b12773afcf2c5d7f5f3437d0f8f46d9ee2fb6c build/GMPJ01_00/m425Dll/m425Dll.rel -646a30f82b46f522b154da1441c633a6344bcb4e build/GMPJ01_00/m426Dll/m426Dll.rel -d1775769482dcca5335b715423c7937cc90c11ff build/GMPJ01_00/m427Dll/m427Dll.rel -3a429bc7c87646735dd0221938162031e8e8eb18 build/GMPJ01_00/m428Dll/m428Dll.rel -5c73605a373af413cbdde7ab014697dbf74d73c5 build/GMPJ01_00/m429Dll/m429Dll.rel -5b7bee635458a6faa467e32387774a1c755842c2 build/GMPJ01_00/m430Dll/m430Dll.rel -d838e4d9378ce9d70cec9ba87f585340755b3978 build/GMPJ01_00/m431Dll/m431Dll.rel -84429fff6278ce44615d859220b04bee048aab32 build/GMPJ01_00/m432Dll/m432Dll.rel -f56e9cc895578b9ff8cf57f54fa7af35459bb353 build/GMPJ01_00/m433Dll/m433Dll.rel -cd3135998d2703af72e9c547cf2ecdff8dfddb12 build/GMPJ01_00/m434Dll/m434Dll.rel -bd3a81c1b4eb44503bc81d30412c9a9ebf646f09 build/GMPJ01_00/m435Dll/m435Dll.rel -43b55269820dba54ba5afb2cbdeeb889b4a3908f build/GMPJ01_00/m436Dll/m436Dll.rel -9c5711c7354f0b0e1811aae39d63ae3a1ab1d8fc build/GMPJ01_00/m437Dll/m437Dll.rel -eff0920fd6695a4886e531477fe845ebab9fa58c build/GMPJ01_00/m438Dll/m438Dll.rel -a69d462dff8ed14565de09fdf9ea25811a07e760 build/GMPJ01_00/m439Dll/m439Dll.rel -b131837b247ab12b0a0eedc24524b4b7078fe3df build/GMPJ01_00/m440Dll/m440Dll.rel -50290b2b7216b6e1c873d2140371cd01d318e96d build/GMPJ01_00/m441Dll/m441Dll.rel -86d546fc4345975773057465c0ded6f001cbf3f7 build/GMPJ01_00/m442Dll/m442Dll.rel -8625605a1198477a21f7540151822bba638ba56f build/GMPJ01_00/m443Dll/m443Dll.rel -1a9e6e528ccc38315650fe86c607a51f7bbca22e build/GMPJ01_00/m444dll/m444dll.rel -1dceaf7e6a3b550eeba10b1f88b1f77df67d77d4 build/GMPJ01_00/m445Dll/m445Dll.rel -bb9b17127b6d3e7c42f7c198c4b58d73dc6ead04 build/GMPJ01_00/m446dll/m446dll.rel -dcb78f18f4b2de862532b0557a093bf0e7ac2a3f build/GMPJ01_00/m447dll/m447dll.rel -7a9b438e699ee4c960438e60f08f6a3f10a6847f build/GMPJ01_00/m448Dll/m448Dll.rel -2511aaea175c454025b25e6f873991f643517afa build/GMPJ01_00/m449Dll/m449Dll.rel -b9bed4dffcb4447b1cf83dc7be8dfb4e04ba6908 build/GMPJ01_00/m450Dll/m450Dll.rel -30b1fcd7438cbc70bd78b0a68d58b5c4dc7dfc1f build/GMPJ01_00/m451Dll/m451Dll.rel -4726a8d2fe900e5fd3a1fe747e53d9d8bd533c4d build/GMPJ01_00/m453Dll/m453Dll.rel -3f6938ca1a430e799f82ed835bdb2852caa6f081 build/GMPJ01_00/m455Dll/m455Dll.rel -32c370c9e690903950c449ecde463aa1f67c22d2 build/GMPJ01_00/m456Dll/m456Dll.rel -8cc0fbd1a8c70cd84068054c859fbe437b100a29 build/GMPJ01_00/m457Dll/m457Dll.rel -c6b7148b5103f7c079821322e6c52750dc421b92 build/GMPJ01_00/m458Dll/m458Dll.rel -050ceeb799efbc0b789944e7ac9f8092c0916710 build/GMPJ01_00/m459dll/m459dll.rel -2d34a403542ce7ea0752244425e98ba34e2cae7a build/GMPJ01_00/m460Dll/m460Dll.rel -d95c248d3570681f5367e3b2bf3598560ae9ff1c build/GMPJ01_00/m461Dll/m461Dll.rel -0f050808bb94a113ad75d5364cb5ca660868f44a build/GMPJ01_00/m462Dll/m462Dll.rel -70616dce8be76266dcc1f364353bac97598b81eb build/GMPJ01_00/m463Dll/m463Dll.rel -8a933d827ea1455c93e7c277bfa48be844897d9f build/GMPJ01_00/mentDll/mentDll.rel -af7dc453707dbb01a82e9f867bfeff2f06a73a29 build/GMPJ01_00/mgmodedll/mgmodedll.rel -b64343c9747b118a29ceb4bcb028cb4f16fb589e build/GMPJ01_00/modeltestDll/modeltestDll.rel -e4181ec6478f305cd87d1f4d1f28758637321956 build/GMPJ01_00/modeseldll/modeseldll.rel -a521e035ae1210b6638cb781febd390d1999190b build/GMPJ01_00/movieDll/movieDll.rel -d6a49ebd47855e9bdffa17c1ab57ca548a3fb75a build/GMPJ01_00/mpexDll/mpexDll.rel -7cbf86d25a20d5571270b45ed1620c6ff7913476 build/GMPJ01_00/msetupDll/msetupDll.rel -cbb7197d16e7cec374e0b5d3bd90d0cc9d650127 build/GMPJ01_00/mstory2Dll/mstory2Dll.rel -f02191dfe80020d8e9cc17ea2da8f33e81a32e31 build/GMPJ01_00/mstory3Dll/mstory3Dll.rel -4ae421deb583f684d17a58d232861a4c52b7d694 build/GMPJ01_00/mstory4Dll/mstory4Dll.rel -403343e740c0ea0cd1c1571946921b0e137a612f build/GMPJ01_00/mstoryDll/mstoryDll.rel -95803acba3dd4fc8e98140a923f3716d45377eef build/GMPJ01_00/nisDll/nisDll.rel -d8915bb0a375a86125fb67a287d1723cfafc6f62 build/GMPJ01_00/option/option.rel -ef8fa41e2b5f0e69cd6d2d763d8cdaeca782b4c9 build/GMPJ01_00/present/present.rel -5166964e0adaa9beb257665edd8d0d1726d53f88 build/GMPJ01_00/resultDll/resultDll.rel -5cb945cfbe3c8f626326c75b26d7ea3b318ae3c9 build/GMPJ01_00/safDll/safDll.rel -86639a3aff8b7660f541a15904868131d01a458f build/GMPJ01_00/selmenuDll/selmenuDll.rel -bca64fa6b8287dba977e7bc567dbbf345d36fed8 build/GMPJ01_00/staffDll/staffDll.rel -2ea368663d63828fdfdf0085290ba9a1e160b620 build/GMPJ01_00/subchrselDll/subchrselDll.rel -75f8861387de75f5d5d74e59e69fc43f2e5e3de2 build/GMPJ01_00/w01Dll/w01Dll.rel -91cdc49e2aa44fa47551345d6ecfaa563e5c648b build/GMPJ01_00/w02Dll/w02Dll.rel -5e3a277824da41154ac2601e00c72661c86aa41b build/GMPJ01_00/w03Dll/w03Dll.rel -cd988b1377ba5039794b4cc2eae2921e5a6de167 build/GMPJ01_00/w04Dll/w04Dll.rel -2a6e644000418800e5e85fd4585c37f0193fbe76 build/GMPJ01_00/w05Dll/w05Dll.rel -d9765f5f7e9e1ea486fe6f1ab3a478dff265c72a build/GMPJ01_00/w06Dll/w06Dll.rel -f7f16f2fb45fc874a437267ca7d17139c1110495 build/GMPJ01_00/w10Dll/w10Dll.rel -dce8d65e08069e87029a0a950aa2ab6894c110b4 build/GMPJ01_00/w20Dll/w20Dll.rel -0ecb1234fdc25f76f41c12678135d0c74a5b39a2 build/GMPJ01_00/w21Dll/w21Dll.rel -f21fcb2b66e154a0ae3e875ddefbb5e9eb1d5174 build/GMPJ01_00/ztardll/ztardll.rel -83c94c0ef384f7783fecfd77fb845659883dd7d6 build/GMPJ01_00/E3setupDLL/E3setupDLL.rel -1264a80903d561b61e86d9db3e7648e0b7570bf5 build/GMPJ01_00/m300Dll/m300Dll.rel -5ae17b9ca8a5689c107350b5e0dabb658f4af019 build/GMPJ01_00/m401Dll/m401Dll.rel diff --git a/config/GMPJ01_00/config.yml b/config/GMPJ01_00/config.yml deleted file mode 100644 index 441f226f..00000000 --- a/config/GMPJ01_00/config.yml +++ /dev/null @@ -1,568 +0,0 @@ -object_base: orig/GMPJ01_00 -object: sys/main.dol -hash: abe951fa239e7cb5de67e1ac091cfbc14010d6e0 -symbols: config/GMPJ01_00/symbols.txt -splits: config/GMPJ01_00/splits.txt -quick_analysis: true # Faster re-runs after initial analysis -mw_comment_version: 10 # GC 2.6 linker -force_active: [__register_global_object, _kerent] - -detect_objects: true -detect_strings: true -fill_gaps: true -# TODO add hashes -modules: - - object: files/dll/_minigameDll.rel - - symbols: config/GMPE01_00/rels/_minigameDll/symbols.txt - splits: config/GMPE01_00/rels/_minigameDll/splits.txt - links: [] - - object: files/dll/bootDll.rel - - symbols: config/GMPJ01_00/rels/bootDll/symbols.txt - splits: config/GMPJ01_00/rels/bootDll/splits.txt - links: [] - - object: files/dll/instDll.rel - - symbols: config/GMPJ01_00/rels/instDll/symbols.txt - splits: config/GMPJ01_00/rels/instDll/splits.txt - links: [] - - object: files/dll/m302Dll.rel - - symbols: config/GMPJ01_00/rels/m302Dll/symbols.txt - splits: config/GMPJ01_00/rels/m302Dll/splits.txt - links: [] - - object: files/dll/m303Dll.rel - - symbols: config/GMPJ01_00/rels/m303Dll/symbols.txt - splits: config/GMPJ01_00/rels/m303Dll/splits.txt - links: [] - - object: files/dll/m330Dll.rel - - symbols: config/GMPJ01_00/rels/m330Dll/symbols.txt - splits: config/GMPJ01_00/rels/m330Dll/splits.txt - links: [] - - object: files/dll/m333Dll.rel - - symbols: config/GMPJ01_00/rels/m333Dll/symbols.txt - splits: config/GMPJ01_00/rels/m333Dll/splits.txt - links: [] - - object: files/dll/m402Dll.rel - - symbols: config/GMPE01_00/rels/m402Dll/symbols.txt - splits: config/GMPE01_00/rels/m402Dll/splits.txt - links: [] - - object: files/dll/m403Dll.rel - - symbols: config/GMPE01_00/rels/m403Dll/symbols.txt - splits: config/GMPE01_00/rels/m403Dll/splits.txt - links: [] - - object: files/dll/m404Dll.rel - - symbols: config/GMPE01_00/rels/m404Dll/symbols.txt - splits: config/GMPE01_00/rels/m404Dll/splits.txt - links: [] - - object: files/dll/m405Dll.rel - - symbols: config/GMPE01_00/rels/m405Dll/symbols.txt - splits: config/GMPE01_00/rels/m405Dll/splits.txt - links: [] - - object: files/dll/m406Dll.rel - - symbols: config/GMPE01_00/rels/m406Dll/symbols.txt - splits: config/GMPE01_00/rels/m406Dll/splits.txt - links: [] - - object: files/dll/m407dll.rel - - symbols: config/GMPE01_00/rels/m407dll/symbols.txt - splits: config/GMPE01_00/rels/m407dll/splits.txt - links: [] - - object: files/dll/m408Dll.rel - - symbols: config/GMPE01_00/rels/m408Dll/symbols.txt - splits: config/GMPE01_00/rels/m408Dll/splits.txt - links: [] - - object: files/dll/m409Dll.rel - - symbols: config/GMPE01_00/rels/m409Dll/symbols.txt - splits: config/GMPE01_00/rels/m409Dll/splits.txt - links: [] - - object: files/dll/m410Dll.rel - - symbols: config/GMPE01_00/rels/m410Dll/symbols.txt - splits: config/GMPE01_00/rels/m410Dll/splits.txt - links: [] - - object: files/dll/m411Dll.rel - - symbols: config/GMPE01_00/rels/m411Dll/symbols.txt - splits: config/GMPE01_00/rels/m411Dll/splits.txt - links: [] - - object: files/dll/m412Dll.rel - - symbols: config/GMPE01_00/rels/m412Dll/symbols.txt - splits: config/GMPE01_00/rels/m412Dll/splits.txt - links: [] - - object: files/dll/m413Dll.rel - - symbols: config/GMPJ01_00/rels/m413Dll/symbols.txt - splits: config/GMPJ01_00/rels/m413Dll/splits.txt - links: [] - - object: files/dll/m414Dll.rel - - symbols: config/GMPE01_00/rels/m414Dll/symbols.txt - splits: config/GMPE01_00/rels/m414Dll/splits.txt - links: [] - - object: files/dll/m415Dll.rel - - symbols: config/GMPE01_00/rels/m415Dll/symbols.txt - splits: config/GMPE01_00/rels/m415Dll/splits.txt - links: [] - - object: files/dll/m416Dll.rel - - symbols: config/GMPE01_00/rels/m416Dll/symbols.txt - splits: config/GMPE01_00/rels/m416Dll/splits.txt - links: [] - - object: files/dll/m417Dll.rel - - symbols: config/GMPE01_00/rels/m417Dll/symbols.txt - splits: config/GMPE01_00/rels/m417Dll/splits.txt - links: [] - - object: files/dll/m418Dll.rel - - symbols: config/GMPJ01_00/rels/m418Dll/symbols.txt - splits: config/GMPJ01_00/rels/m418Dll/splits.txt - links: [] - - object: files/dll/m419Dll.rel - - symbols: config/GMPJ01_00/rels/m419Dll/symbols.txt - splits: config/GMPJ01_00/rels/m419Dll/splits.txt - links: [] - - object: files/dll/m420dll.rel - - symbols: config/GMPE01_00/rels/m420dll/symbols.txt - splits: config/GMPE01_00/rels/m420dll/splits.txt - links: [] - - object: files/dll/m421Dll.rel - - symbols: config/GMPE01_00/rels/m421Dll/symbols.txt - splits: config/GMPE01_00/rels/m421Dll/splits.txt - links: [] - - object: files/dll/m422Dll.rel - - symbols: config/GMPJ01_00/rels/m422Dll/symbols.txt - splits: config/GMPJ01_00/rels/m422Dll/splits.txt - links: [] - - object: files/dll/m423Dll.rel - - symbols: config/GMPJ01_00/rels/m423Dll/symbols.txt - splits: config/GMPJ01_00/rels/m423Dll/splits.txt - links: [] - - object: files/dll/m424Dll.rel - - symbols: config/GMPJ01_00/rels/m424Dll/symbols.txt - splits: config/GMPJ01_00/rels/m424Dll/splits.txt - links: [] - - object: files/dll/m425Dll.rel - - symbols: config/GMPJ01_00/rels/m425Dll/symbols.txt - splits: config/GMPJ01_00/rels/m425Dll/splits.txt - links: [] - - object: files/dll/m426Dll.rel - - symbols: config/GMPJ01_00/rels/m426Dll/symbols.txt - splits: config/GMPJ01_00/rels/m426Dll/splits.txt - links: [] - - object: files/dll/m427Dll.rel - - symbols: config/GMPJ01_00/rels/m427Dll/symbols.txt - splits: config/GMPJ01_00/rels/m427Dll/splits.txt - links: [] - - object: files/dll/m428Dll.rel - - symbols: config/GMPJ01_00/rels/m428Dll/symbols.txt - splits: config/GMPJ01_00/rels/m428Dll/splits.txt - links: [] - - object: files/dll/m429Dll.rel - - symbols: config/GMPE01_00/rels/m429Dll/symbols.txt - splits: config/GMPE01_00/rels/m429Dll/splits.txt - links: [] - - object: files/dll/m430Dll.rel - - symbols: config/GMPJ01_00/rels/m430Dll/symbols.txt - splits: config/GMPJ01_00/rels/m430Dll/splits.txt - links: [] - - object: files/dll/m431Dll.rel - - symbols: config/GMPE01_00/rels/m431Dll/symbols.txt - splits: config/GMPE01_00/rels/m431Dll/splits.txt - links: [] - - object: files/dll/m432Dll.rel - - symbols: config/GMPE01_00/rels/m432Dll/symbols.txt - splits: config/GMPE01_00/rels/m432Dll/splits.txt - links: [] - - object: files/dll/m433Dll.rel - - symbols: config/GMPJ01_00/rels/m433Dll/symbols.txt - splits: config/GMPJ01_00/rels/m433Dll/splits.txt - links: [] - - object: files/dll/m434Dll.rel - - symbols: config/GMPE01_00/rels/m434Dll/symbols.txt - splits: config/GMPE01_00/rels/m434Dll/splits.txt - links: [] - - object: files/dll/m435Dll.rel - - symbols: config/GMPE01_00/rels/m435Dll/symbols.txt - splits: config/GMPE01_00/rels/m435Dll/splits.txt - links: [] - - object: files/dll/m436Dll.rel - - symbols: config/GMPE01_00/rels/m436Dll/symbols.txt - splits: config/GMPE01_00/rels/m436Dll/splits.txt - links: [] - - object: files/dll/m437Dll.rel - - symbols: config/GMPE01_00/rels/m437Dll/symbols.txt - splits: config/GMPE01_00/rels/m437Dll/splits.txt - links: [] - - object: files/dll/m438Dll.rel - - symbols: config/GMPJ01_00/rels/m438Dll/symbols.txt - splits: config/GMPJ01_00/rels/m438Dll/splits.txt - links: [] - - object: files/dll/m439Dll.rel - - symbols: config/GMPE01_00/rels/m439Dll/symbols.txt - splits: config/GMPE01_00/rels/m439Dll/splits.txt - links: [] - - object: files/dll/m440Dll.rel - - symbols: config/GMPE01_00/rels/m440Dll/symbols.txt - splits: config/GMPE01_00/rels/m440Dll/splits.txt - links: [] - - object: files/dll/m441Dll.rel - - symbols: config/GMPE01_00/rels/m441Dll/symbols.txt - splits: config/GMPE01_00/rels/m441Dll/splits.txt - links: [] - - object: files/dll/m442Dll.rel - - symbols: config/GMPE01_00/rels/m442Dll/symbols.txt - splits: config/GMPE01_00/rels/m442Dll/splits.txt - links: [] - - object: files/dll/m443Dll.rel - - symbols: config/GMPE01_00/rels/m443Dll/symbols.txt - splits: config/GMPE01_00/rels/m443Dll/splits.txt - links: [] - - object: files/dll/m444dll.rel - - symbols: config/GMPJ01_00/rels/m444dll/symbols.txt - splits: config/GMPJ01_00/rels/m444dll/splits.txt - links: [] - - object: files/dll/m445Dll.rel - - symbols: config/GMPE01_00/rels/m445Dll/symbols.txt - splits: config/GMPE01_00/rels/m445Dll/splits.txt - links: [] - - object: files/dll/m446dll.rel - - symbols: config/GMPE01_00/rels/m446dll/symbols.txt - splits: config/GMPE01_00/rels/m446dll/splits.txt - links: [] - - object: files/dll/m447dll.rel - - symbols: config/GMPE01_00/rels/m447dll/symbols.txt - splits: config/GMPE01_00/rels/m447dll/splits.txt - links: [] - - object: files/dll/m448Dll.rel - - symbols: config/GMPE01_00/rels/m448Dll/symbols.txt - splits: config/GMPE01_00/rels/m448Dll/splits.txt - links: [] - - object: files/dll/m449Dll.rel - - symbols: config/GMPJ01_00/rels/m449Dll/symbols.txt - splits: config/GMPJ01_00/rels/m449Dll/splits.txt - links: [] - - object: files/dll/m450Dll.rel - - symbols: config/GMPE01_00/rels/m450Dll/symbols.txt - splits: config/GMPE01_00/rels/m450Dll/splits.txt - links: [] - - object: files/dll/m451Dll.rel - - symbols: config/GMPE01_00/rels/m451Dll/symbols.txt - splits: config/GMPE01_00/rels/m451Dll/splits.txt - links: [] - - object: files/dll/m453Dll.rel - - symbols: config/GMPE01_00/rels/m453Dll/symbols.txt - splits: config/GMPE01_00/rels/m453Dll/splits.txt - links: [] - - object: files/dll/m455Dll.rel - - symbols: config/GMPE01_00/rels/m455Dll/symbols.txt - splits: config/GMPE01_00/rels/m455Dll/splits.txt - links: [] - - object: files/dll/m456Dll.rel - - symbols: config/GMPE01_00/rels/m456Dll/symbols.txt - splits: config/GMPE01_00/rels/m456Dll/splits.txt - links: [] - - object: files/dll/m457Dll.rel - - symbols: config/GMPJ01_00/rels/m457Dll/symbols.txt - splits: config/GMPJ01_00/rels/m457Dll/splits.txt - links: [] - - object: files/dll/m458Dll.rel - - symbols: config/GMPJ01_00/rels/m458Dll/symbols.txt - splits: config/GMPJ01_00/rels/m458Dll/splits.txt - links: [] - - object: files/dll/m459dll.rel - - symbols: config/GMPJ01_00/rels/m459dll/symbols.txt - splits: config/GMPJ01_00/rels/m459dll/splits.txt - links: [] - - object: files/dll/m460Dll.rel - - symbols: config/GMPE01_00/rels/m460Dll/symbols.txt - splits: config/GMPE01_00/rels/m460Dll/splits.txt - links: [] - - object: files/dll/m461Dll.rel - - symbols: config/GMPE01_00/rels/m461Dll/symbols.txt - splits: config/GMPE01_00/rels/m461Dll/splits.txt - links: [] - - object: files/dll/m462Dll.rel - - symbols: config/GMPJ01_00/rels/m462Dll/symbols.txt - splits: config/GMPJ01_00/rels/m462Dll/splits.txt - links: [] - - object: files/dll/m463Dll.rel - - symbols: config/GMPJ01_00/rels/m463Dll/symbols.txt - splits: config/GMPJ01_00/rels/m463Dll/splits.txt - links: [] - - object: files/dll/mentDll.rel - - symbols: config/GMPJ01_00/rels/mentDll/symbols.txt - splits: config/GMPJ01_00/rels/mentDll/splits.txt - links: [] - - object: files/dll/movieDll.rel - - symbols: config/GMPJ01_00/rels/movieDll/symbols.txt - splits: config/GMPJ01_00/rels/movieDll/splits.txt - links: [] - - object: files/dll/mgmodedll.rel - - symbols: config/GMPE01_00/rels/mgmodedll/symbols.txt - splits: config/GMPE01_00/rels/mgmodedll/splits.txt - links: [] - - object: files/dll/modeltestDll.rel - - symbols: config/GMPE01_00/rels/modeltestDll/symbols.txt - splits: config/GMPE01_00/rels/modeltestDll/splits.txt - links: [] - - object: files/dll/modeseldll.rel - - symbols: config/GMPJ01_00/rels/modeseldll/symbols.txt - splits: config/GMPJ01_00/rels/modeseldll/splits.txt - links: [] - - object: files/dll/mpexDll.rel - - symbols: config/GMPJ01_00/rels/mpexDll/symbols.txt - splits: config/GMPJ01_00/rels/mpexDll/splits.txt - links: [] - - object: files/dll/msetupDll.rel - - symbols: config/GMPJ01_00/rels/msetupDll/symbols.txt - splits: config/GMPJ01_00/rels/msetupDll/splits.txt - links: [] - - object: files/dll/mstory2Dll.rel - - symbols: config/GMPJ01_00/rels/mstory2Dll/symbols.txt - splits: config/GMPJ01_00/rels/mstory2Dll/splits.txt - links: [] - - object: files/dll/mstory3Dll.rel - - symbols: config/GMPJ01_00/rels/mstory3Dll/symbols.txt - splits: config/GMPJ01_00/rels/mstory3Dll/splits.txt - links: [] - - object: files/dll/mstory4Dll.rel - - symbols: config/GMPJ01_00/rels/mstory4Dll/symbols.txt - splits: config/GMPJ01_00/rels/mstory4Dll/splits.txt - links: [] - - object: files/dll/mstoryDll.rel - - symbols: config/GMPJ01_00/rels/mstoryDll/symbols.txt - splits: config/GMPJ01_00/rels/mstoryDll/splits.txt - links: [] - - object: files/dll/nisDll.rel - - symbols: config/GMPE01_00/rels/nisDll/symbols.txt - splits: config/GMPE01_00/rels/nisDll/splits.txt - links: [] - - object: files/dll/option.rel - - symbols: config/GMPJ01_00/rels/option/symbols.txt - splits: config/GMPJ01_00/rels/option/splits.txt - links: [] - - object: files/dll/present.rel - - symbols: config/GMPE01_00/rels/present/symbols.txt - splits: config/GMPE01_00/rels/present/splits.txt - links: [] - - object: files/dll/resultDll.rel - - symbols: config/GMPE01_00/rels/resultDll/symbols.txt - splits: config/GMPE01_00/rels/resultDll/splits.txt - links: [] - - object: files/dll/safDll.rel - - symbols: config/GMPJ01_00/rels/safDll/symbols.txt - splits: config/GMPJ01_00/rels/safDll/splits.txt - links: [] - - object: files/dll/selmenuDll.rel - - symbols: config/GMPJ01_00/rels/selmenuDll/symbols.txt - splits: config/GMPJ01_00/rels/selmenuDll/splits.txt - links: [] - - object: files/dll/staffDll.rel - - symbols: config/GMPJ01_00/rels/staffDll/symbols.txt - splits: config/GMPJ01_00/rels/staffDll/splits.txt - links: [] - - object: files/dll/subchrselDll.rel - - symbols: config/GMPJ01_00/rels/subchrselDll/symbols.txt - splits: config/GMPJ01_00/rels/subchrselDll/splits.txt - links: [] - - object: files/dll/w01Dll.rel - - symbols: config/GMPE01_00/rels/w01Dll/symbols.txt - splits: config/GMPE01_00/rels/w01Dll/splits.txt - links: [] - - object: files/dll/w02Dll.rel - - symbols: config/GMPE01_00/rels/w02Dll/symbols.txt - splits: config/GMPE01_00/rels/w02Dll/splits.txt - links: [] - - object: files/dll/w03Dll.rel - - symbols: config/GMPE01_00/rels/w03Dll/symbols.txt - splits: config/GMPE01_00/rels/w03Dll/splits.txt - links: [] - - object: files/dll/w04Dll.rel - - symbols: config/GMPJ01_00/rels/w04Dll/symbols.txt - splits: config/GMPJ01_00/rels/w04Dll/splits.txt - links: [] - - object: files/dll/w05Dll.rel - - symbols: config/GMPE01_00/rels/w05Dll/symbols.txt - splits: config/GMPE01_00/rels/w05Dll/splits.txt - links: [] - - object: files/dll/w06Dll.rel - - symbols: config/GMPE01_00/rels/w06Dll/symbols.txt - splits: config/GMPE01_00/rels/w06Dll/splits.txt - links: [] - - object: files/dll/w10Dll.rel - - symbols: config/GMPE01_00/rels/w10Dll/symbols.txt - splits: config/GMPE01_00/rels/w10Dll/splits.txt - links: [] - - object: files/dll/w20Dll.rel - - symbols: config/GMPE01_00/rels/w20Dll/symbols.txt - splits: config/GMPE01_00/rels/w20Dll/splits.txt - links: [] - - object: files/dll/w21Dll.rel - - symbols: config/GMPE01_00/rels/w21Dll/symbols.txt - splits: config/GMPE01_00/rels/w21Dll/splits.txt - links: [] - - object: files/dll/ztardll.rel - - symbols: config/GMPJ01_00/rels/ztardll/symbols.txt - splits: config/GMPJ01_00/rels/ztardll/splits.txt - links: [] - - object: files/dll/E3setupDLL.rel - - symbols: config/GMPJ01_00/rels/E3setupDLL/symbols.txt - splits: config/GMPJ01_00/rels/E3setupDLL/splits.txt - links: [_minigameDll] - - object: files/dll/m300Dll.rel - - symbols: config/GMPJ01_00/rels/m300Dll/symbols.txt - splits: config/GMPJ01_00/rels/m300Dll/splits.txt - links: [_minigameDll] - - object: files/dll/m401Dll.rel - - symbols: config/GMPE01_00/rels/m401Dll/symbols.txt - splits: config/GMPE01_00/rels/m401Dll/splits.txt - links: [_minigameDll] - -extract: -- symbol: ank8x8_4b - binary: ank8x8_4b.bin - header: ank8x8_4b.inc -- symbol: refMapData0 - binary: refMapData0.anm - header: refMapData0.inc -- symbol: refMapData1 - binary: refMapData1.anm - header: refMapData1.inc -- symbol: refMapData2 - binary: refMapData2.anm - header: refMapData2.inc -- symbol: refMapData3 - binary: refMapData3.anm - header: refMapData3.inc -- symbol: refMapData4 - binary: refMapData4.anm - header: refMapData4.inc -- symbol: toonMapData - binary: toonMapData.anm - header: toonMapData.inc -- symbol: toonMapData2 - binary: toonMapData2.anm - header: toonMapData2.inc -- symbol: hiliteData - binary: hiliteData.anm - header: hiliteData.inc -- symbol: hiliteData2 - binary: hiliteData2.anm - header: hiliteData2.inc -- symbol: hiliteData3 - binary: hiliteData3.anm - header: hiliteData3.inc -- symbol: hiliteData4 - binary: hiliteData4.anm - header: hiliteData4.inc -- symbol: Ascii8x8_1bpp - binary: Ascii8x8_1bpp.bin - header: Ascii8x8_1bpp.inc -- symbol: coveropen_jp - binary: coveropen_jp.bin - header: coveropen_jp.inc -- symbol: fatalerror_jp - binary: fatalerror_jp.bin - header: fatalerror_jp.inc -- symbol: loading_jp - binary: loading_jp.bin - header: loading_jp.inc -- symbol: nodisc_jp - binary: nodisc_jp.bin - header: nodisc_jp.inc -- symbol: retryerror_jp - binary: retryerror_jp.bin - header: retryerror_jp.inc -- symbol: wrongdisc_jp - binary: wrongdisc_jp.bin - header: wrongdisc_jp.inc diff --git a/config/GMPJ01_00/rels/E3setupDLL/splits.txt b/config/GMPJ01_00/rels/E3setupDLL/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/E3setupDLL/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/E3setupDLL/symbols.txt b/config/GMPJ01_00/rels/E3setupDLL/symbols.txt deleted file mode 100644 index 382731fd..00000000 --- a/config/GMPJ01_00/rels/E3setupDLL/symbols.txt +++ /dev/null @@ -1,192 +0,0 @@ -fn_2_0 = .text:0x00000000; // type:function size:0x324 -fn_2_324 = .text:0x00000324; // type:function size:0x9C -fn_2_3C0 = .text:0x000003C0; // type:function size:0xA0 -fn_2_460 = .text:0x00000460; // type:function size:0x584 -fn_2_9E4 = .text:0x000009E4; // type:function size:0x528 -fn_2_F0C = .text:0x00000F0C; // type:function size:0x80 -fn_2_F8C = .text:0x00000F8C; // type:function size:0x1AC -fn_2_1138 = .text:0x00001138; // type:function size:0x14 -fn_2_114C = .text:0x0000114C; // type:function size:0x1F0 -_prolog = .text:0x0000133C; // type:function size:0x54 scope:global -_epilog = .text:0x00001390; // type:function size:0x4C scope:global -fn_2_13DC = .text:0x000013DC; // type:function size:0x108 -fn_2_14E4 = .text:0x000014E4; // type:function size:0x514 -fn_2_19F8 = .text:0x000019F8; // type:function size:0x1AC -fn_2_1BA4 = .text:0x00001BA4; // type:function size:0x7C -fn_2_1C20 = .text:0x00001C20; // type:function size:0x84 -fn_2_1CA4 = .text:0x00001CA4; // type:function size:0x90 -fn_2_1D34 = .text:0x00001D34; // type:function size:0x24 -fn_2_1D58 = .text:0x00001D58; // type:function size:0xFC -fn_2_1E54 = .text:0x00001E54; // type:function size:0x1C0 -fn_2_2014 = .text:0x00002014; // type:function size:0x78 -fn_2_208C = .text:0x0000208C; // type:function size:0x2C -fn_2_20B8 = .text:0x000020B8; // type:function size:0xA4 -fn_2_215C = .text:0x0000215C; // type:function size:0x400 -fn_2_255C = .text:0x0000255C; // type:function size:0x124 -fn_2_2680 = .text:0x00002680; // type:function size:0x74 -fn_2_26F4 = .text:0x000026F4; // type:function size:0x344 -fn_2_2A38 = .text:0x00002A38; // type:function size:0x59C -fn_2_2FD4 = .text:0x00002FD4; // type:function size:0x208 -fn_2_31DC = .text:0x000031DC; // type:function size:0x37C -fn_2_3558 = .text:0x00003558; // type:function size:0x3B4 -fn_2_390C = .text:0x0000390C; // type:function size:0xAC -fn_2_39B8 = .text:0x000039B8; // type:function size:0x2B8 -fn_2_3C70 = .text:0x00003C70; // type:function size:0x534 -fn_2_41A4 = .text:0x000041A4; // type:function size:0x2DC -fn_2_4480 = .text:0x00004480; // type:function size:0x520 -fn_2_49A0 = .text:0x000049A0; // type:function size:0x59C -fn_2_4F3C = .text:0x00004F3C; // type:function size:0x4E8 -fn_2_5424 = .text:0x00005424; // type:function size:0x100 -fn_2_5524 = .text:0x00005524; // type:function size:0x184 -fn_2_56A8 = .text:0x000056A8; // type:function size:0x7C -fn_2_5724 = .text:0x00005724; // type:function size:0x12C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_2_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_2_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_2_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_2_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_2_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_2_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_2_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_2_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_2_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_2_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_2_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_2_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_2_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_2_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_2_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_2_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_2_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_2_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_2_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_2_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_2_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_2_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_2_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_2_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_2_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_2_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_2_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_2_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_2_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:float -lbl_2_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_2_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_2_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_2_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_2_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_2_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_2_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_2_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_2_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_2_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_2_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_2_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_2_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_2_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_2_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_2_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_2_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_2_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_2_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_2_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_2_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_2_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_2_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_2_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_2_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_2_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_2_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_2_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_2_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_2_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_2_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_2_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_2_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_2_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_2_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_2_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_2_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_2_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_2_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_2_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_2_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_2_data_24 = .data:0x00000024; // type:object size:0x1A -lbl_2_data_3E = .data:0x0000003E; // type:object size:0x1A -lbl_2_data_58 = .data:0x00000058; // type:object size:0x1C -lbl_2_data_74 = .data:0x00000074; // type:object size:0x34 -lbl_2_data_A8 = .data:0x000000A8; // type:object size:0x21 -lbl_2_data_C9 = .data:0x000000C9; // type:object size:0x16 -lbl_2_data_DF = .data:0x000000DF; // type:object size:0x16 -lbl_2_data_F5 = .data:0x000000F5; // type:object size:0x16 -lbl_2_data_10B = .data:0x0000010B; // type:object size:0xD -lbl_2_data_118 = .data:0x00000118; // type:object size:0x16 -lbl_2_data_12E = .data:0x0000012E; // type:object size:0xD -lbl_2_data_13B = .data:0x0000013B; // type:object size:0x16 -lbl_2_data_151 = .data:0x00000151; // type:object size:0x16 -lbl_2_data_167 = .data:0x00000167; // type:object size:0x16 -lbl_2_data_17D = .data:0x0000017D; // type:object size:0x16 -lbl_2_data_193 = .data:0x00000193; // type:object size:0x16 -lbl_2_data_1A9 = .data:0x000001A9; // type:object size:0x4B -lbl_2_data_1F4 = .data:0x000001F4; // type:object size:0x14 -lbl_2_data_208 = .data:0x00000208; // type:object size:0x34 -lbl_2_data_23C = .data:0x0000023C; // type:object size:0x14 -lbl_2_data_250 = .data:0x00000250; // type:object size:0xC -lbl_2_data_25C = .data:0x0000025C; // type:object size:0xC -lbl_2_data_268 = .data:0x00000268; // type:object size:0x6C -lbl_2_data_2D4 = .data:0x000002D4; // type:object size:0x8 -lbl_2_data_2DC = .data:0x000002DC; // type:object size:0x10 -lbl_2_data_2EC = .data:0x000002EC; // type:object size:0x20 -lbl_2_data_30C = .data:0x0000030C; // type:object size:0x1C -lbl_2_data_328 = .data:0x00000328; // type:object size:0x10 -lbl_2_data_338 = .data:0x00000338; // type:object size:0x40 -lbl_2_data_378 = .data:0x00000378; // type:object size:0x20 -lbl_2_data_398 = .data:0x00000398; // type:object size:0x10 -lbl_2_data_3A8 = .data:0x000003A8; // type:object size:0x20 -lbl_2_data_3C8 = .data:0x000003C8; // type:object size:0x14 -lbl_2_data_3DC = .data:0x000003DC; // type:object size:0x14 -lbl_2_data_3F0 = .data:0x000003F0; // type:object size:0x8 -lbl_2_data_3F8 = .data:0x000003F8; // type:object size:0x10 -lbl_2_data_408 = .data:0x00000408; // type:object size:0x10 -lbl_2_data_418 = .data:0x00000418; // type:object size:0x60 -lbl_2_data_478 = .data:0x00000478; // type:object size:0x24 -lbl_2_data_49C = .data:0x0000049C; // type:object size:0x34 -lbl_2_bss_A = .bss:0x0000000A; // type:object size:0x2 data:2byte -lbl_2_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte -lbl_2_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte -lbl_2_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_2_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_2_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_2_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_2_bss_24 = .bss:0x00000024; // type:object size:0x2 data:2byte -lbl_2_bss_28 = .bss:0x00000028; // type:object size:0xC data:2byte -lbl_2_bss_34 = .bss:0x00000034; // type:object size:0x2 data:2byte -lbl_2_bss_36 = .bss:0x00000036; // type:object size:0x2 data:2byte -lbl_2_bss_3A = .bss:0x0000003A; // type:object size:0x2 data:2byte -lbl_2_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte -lbl_2_bss_40 = .bss:0x00000040; // type:object size:0x2 data:2byte -lbl_2_bss_44 = .bss:0x00000044; // type:object size:0x4 data:float -lbl_2_bss_48 = .bss:0x00000048; // type:object size:0xC data:float -lbl_2_bss_54 = .bss:0x00000054; // type:object size:0xC data:float -lbl_2_bss_60 = .bss:0x00000060; // type:object size:0x2 data:2byte -lbl_2_bss_62 = .bss:0x00000062; // type:object size:0x8 -lbl_2_bss_6A = .bss:0x0000006A; // type:object size:0x6 data:2byte -lbl_2_bss_70 = .bss:0x00000070; // type:object size:0x4 data:4byte -lbl_2_bss_74 = .bss:0x00000074; // type:object size:0x18 data:4byte -lbl_2_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:4byte -lbl_2_bss_90 = .bss:0x00000090; // type:object size:0x4 data:4byte -lbl_2_bss_94 = .bss:0x00000094; // type:object size:0x4 data:4byte -lbl_2_bss_98 = .bss:0x00000098; // type:object size:0x4 data:4byte -lbl_2_bss_9C = .bss:0x0000009C; // type:object size:0x4 data:float -lbl_2_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte -lbl_2_bss_A4 = .bss:0x000000A4; // type:object size:0x4 data:4byte -lbl_2_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_2_bss_AC = .bss:0x000000AC; // type:object size:0x4 data:4byte -lbl_2_bss_B0 = .bss:0x000000B0; // type:object size:0x4 data:4byte -lbl_2_bss_B4 = .bss:0x000000B4; // type:object size:0x4 data:4byte -lbl_2_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte -lbl_2_bss_BC = .bss:0x000000BC; // type:object size:0x2 data:2byte -lbl_2_bss_BE = .bss:0x000000BE; // type:object size:0x2 data:2byte -lbl_2_bss_C0 = .bss:0x000000C0; // type:object size:0x20 -lbl_2_bss_E0 = .bss:0x000000E0; // type:object size:0x18 data:2byte diff --git a/config/GMPJ01_00/rels/bootDll/splits.txt b/config/GMPJ01_00/rels/bootDll/splits.txt deleted file mode 100644 index bc4e958f..00000000 --- a/config/GMPJ01_00/rels/bootDll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:32 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/bootDll/symbols.txt b/config/GMPJ01_00/rels/bootDll/symbols.txt deleted file mode 100644 index a27cc9e1..00000000 --- a/config/GMPJ01_00/rels/bootDll/symbols.txt +++ /dev/null @@ -1,67 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x1CC -fn_1_26C = .text:0x0000026C; // type:function size:0x78C -fn_1_9F8 = .text:0x000009F8; // type:function size:0xC8 -fn_1_AC0 = .text:0x00000AC0; // type:function size:0x6B8 -fn_1_1178 = .text:0x00001178; // type:function size:0x3B4 -fn_1_152C = .text:0x0000152C; // type:function size:0xBD4 -fn_1_2100 = .text:0x00002100; // type:function size:0x374 -fn_1_2474 = .text:0x00002474; // type:function size:0x4D0 -fn_1_2944 = .text:0x00002944; // type:function size:0x84 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x24 data:string -lbl_1_data_24 = .data:0x00000024; // type:object size:0x14 data:string -lbl_1_data_38 = .data:0x00000038; // type:object size:0x18 data:2byte -lbl_1_data_50 = .data:0x00000050; // type:object size:0x8 -lbl_1_data_58 = .data:0x00000058; // type:object size:0x4 -lbl_1_data_5C = .data:0x0000005C; // type:object size:0x1A data:string -lbl_1_data_76 = .data:0x00000076; // type:object size:0x13 data:string -lbl_1_data_89 = .data:0x00000089; // type:object size:0x17 -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x307D -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x6 -lbl_1_bss_6 = .bss:0x00000006; // type:object size:0x2 data:2byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x6 data:2byte -lbl_1_bss_E = .bss:0x0000000E; // type:object size:0xE data:2byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x8 data:float -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x18 data:float -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x18 data:float -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x8 data:4byte diff --git a/config/GMPJ01_00/rels/instDll/splits.txt b/config/GMPJ01_00/rels/instDll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/instDll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/instDll/symbols.txt b/config/GMPJ01_00/rels/instDll/symbols.txt deleted file mode 100644 index 1013d7c3..00000000 --- a/config/GMPJ01_00/rels/instDll/symbols.txt +++ /dev/null @@ -1,149 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x8F4 -fn_1_994 = .text:0x00000994; // type:function size:0xE50 -fn_1_17E4 = .text:0x000017E4; // type:function size:0xA28 -fn_1_220C = .text:0x0000220C; // type:function size:0x5F8 -fn_1_2804 = .text:0x00002804; // type:function size:0x79C -fn_1_2FA0 = .text:0x00002FA0; // type:function size:0x11D4 -fn_1_4174 = .text:0x00004174; // type:function size:0x3B4 -fn_1_4528 = .text:0x00004528; // type:function size:0xB88 -fn_1_50B0 = .text:0x000050B0; // type:function size:0xAB4 -fn_1_5B64 = .text:0x00005B64; // type:function size:0x340 -fn_1_5EA4 = .text:0x00005EA4; // type:function size:0x47C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x2 data:2byte -lbl_1_data_2 = .data:0x00000002; // type:object size:0x24 data:string -lbl_1_data_26 = .data:0x00000026; // type:object size:0x20 -lbl_1_data_46 = .data:0x00000046; // type:object size:0xA -lbl_1_data_50 = .data:0x00000050; // type:object size:0x20 -lbl_1_data_70 = .data:0x00000070; // type:object size:0x20 -lbl_1_data_90 = .data:0x00000090; // type:object size:0x8 data:string -lbl_1_data_98 = .data:0x00000098; // type:object size:0x8 data:string -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x8 data:string -lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x8 data:string -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x10 -lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x4 -lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x48 -lbl_1_data_10C = .data:0x0000010C; // type:object size:0x18 -lbl_1_data_124 = .data:0x00000124; // type:object size:0x20 data:float -lbl_1_data_144 = .data:0x00000144; // type:object size:0x8 -lbl_1_data_14C = .data:0x0000014C; // type:object size:0x4 data:float -lbl_1_data_150 = .data:0x00000150; // type:object size:0x4C8 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte -lbl_1_bss_6 = .bss:0x00000006; // type:object size:0x2 data:2byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:float -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte -lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x2 data:2byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 data:2byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x8 data:float -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x18 data:float -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x18 data:float -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x8 data:4byte diff --git a/config/GMPJ01_00/rels/m302Dll/splits.txt b/config/GMPJ01_00/rels/m302Dll/splits.txt deleted file mode 100644 index e787a0ee..00000000 --- a/config/GMPJ01_00/rels/m302Dll/splits.txt +++ /dev/null @@ -1,3 +0,0 @@ -Sections: - .ctors type:rodata align:4 - .dtors type:rodata align:4 diff --git a/config/GMPJ01_00/rels/m302Dll/symbols.txt b/config/GMPJ01_00/rels/m302Dll/symbols.txt deleted file mode 100644 index 120e2d17..00000000 --- a/config/GMPJ01_00/rels/m302Dll/symbols.txt +++ /dev/null @@ -1,2 +0,0 @@ -_ctors = .ctors:0x00000000; // type:label scope:global -_dtors = .dtors:0x00000000; // type:label scope:global diff --git a/config/GMPJ01_00/rels/m303Dll/splits.txt b/config/GMPJ01_00/rels/m303Dll/splits.txt deleted file mode 100644 index e787a0ee..00000000 --- a/config/GMPJ01_00/rels/m303Dll/splits.txt +++ /dev/null @@ -1,3 +0,0 @@ -Sections: - .ctors type:rodata align:4 - .dtors type:rodata align:4 diff --git a/config/GMPJ01_00/rels/m303Dll/symbols.txt b/config/GMPJ01_00/rels/m303Dll/symbols.txt deleted file mode 100644 index 120e2d17..00000000 --- a/config/GMPJ01_00/rels/m303Dll/symbols.txt +++ /dev/null @@ -1,2 +0,0 @@ -_ctors = .ctors:0x00000000; // type:label scope:global -_dtors = .dtors:0x00000000; // type:label scope:global diff --git a/config/GMPJ01_00/rels/m330Dll/splits.txt b/config/GMPJ01_00/rels/m330Dll/splits.txt deleted file mode 100644 index e787a0ee..00000000 --- a/config/GMPJ01_00/rels/m330Dll/splits.txt +++ /dev/null @@ -1,3 +0,0 @@ -Sections: - .ctors type:rodata align:4 - .dtors type:rodata align:4 diff --git a/config/GMPJ01_00/rels/m330Dll/symbols.txt b/config/GMPJ01_00/rels/m330Dll/symbols.txt deleted file mode 100644 index 120e2d17..00000000 --- a/config/GMPJ01_00/rels/m330Dll/symbols.txt +++ /dev/null @@ -1,2 +0,0 @@ -_ctors = .ctors:0x00000000; // type:label scope:global -_dtors = .dtors:0x00000000; // type:label scope:global diff --git a/config/GMPJ01_00/rels/m333Dll/splits.txt b/config/GMPJ01_00/rels/m333Dll/splits.txt deleted file mode 100644 index e787a0ee..00000000 --- a/config/GMPJ01_00/rels/m333Dll/splits.txt +++ /dev/null @@ -1,3 +0,0 @@ -Sections: - .ctors type:rodata align:4 - .dtors type:rodata align:4 diff --git a/config/GMPJ01_00/rels/m333Dll/symbols.txt b/config/GMPJ01_00/rels/m333Dll/symbols.txt deleted file mode 100644 index 120e2d17..00000000 --- a/config/GMPJ01_00/rels/m333Dll/symbols.txt +++ /dev/null @@ -1,2 +0,0 @@ -_ctors = .ctors:0x00000000; // type:label scope:global -_dtors = .dtors:0x00000000; // type:label scope:global diff --git a/config/GMPJ01_00/rels/m413Dll/splits.txt b/config/GMPJ01_00/rels/m413Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m413Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m413Dll/symbols.txt b/config/GMPJ01_00/rels/m413Dll/symbols.txt deleted file mode 100644 index 019fba8d..00000000 --- a/config/GMPJ01_00/rels/m413Dll/symbols.txt +++ /dev/null @@ -1,210 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x2EC -fn_1_38C = .text:0x0000038C; // type:function size:0x134 -fn_1_4C0 = .text:0x000004C0; // type:function size:0xBC -fn_1_57C = .text:0x0000057C; // type:function size:0x154 -fn_1_6D0 = .text:0x000006D0; // type:function size:0x128 -fn_1_7F8 = .text:0x000007F8; // type:function size:0x6C8 -fn_1_EC0 = .text:0x00000EC0; // type:function size:0x1F8 -fn_1_10B8 = .text:0x000010B8; // type:function size:0x90C -fn_1_19C4 = .text:0x000019C4; // type:function size:0x4 -fn_1_19C8 = .text:0x000019C8; // type:function size:0x38DC -fn_1_52A4 = .text:0x000052A4; // type:function size:0x3824 -fn_1_8AC8 = .text:0x00008AC8; // type:function size:0x148 -fn_1_8C10 = .text:0x00008C10; // type:function size:0x192C -fn_1_A53C = .text:0x0000A53C; // type:function size:0x1188 -fn_1_B6C4 = .text:0x0000B6C4; // type:function size:0x101C -fn_1_C6E0 = .text:0x0000C6E0; // type:function size:0x4D4 -fn_1_CBB4 = .text:0x0000CBB4; // type:function size:0x78C -fn_1_D340 = .text:0x0000D340; // type:function size:0x60 -fn_1_D3A0 = .text:0x0000D3A0; // type:function size:0x360 -fn_1_D700 = .text:0x0000D700; // type:function size:0x64 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0xCC -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0xC data:byte -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:4byte -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:4byte -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:4byte -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x10 data:4byte -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x10 data:4byte -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x19 data:byte -lbl_1_rodata_201 = .rodata:0x00000201; // type:object size:0x1F data:byte -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0xC data:4byte -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0xC data:4byte -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x30 data:4byte -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x10 data:4byte -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0xC data:4byte -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x10 data:4byte -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0xC data:4byte -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0xC data:4byte -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x10 data:4byte -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x10 data:4byte -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:4byte -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x428 -lbl_1_rodata_764 = .rodata:0x00000764; // type:object size:0xC data:4byte -lbl_1_rodata_770 = .rodata:0x00000770; // type:object size:0xC data:4byte -lbl_1_rodata_77C = .rodata:0x0000077C; // type:object size:0x4 data:float -lbl_1_rodata_780 = .rodata:0x00000780; // type:object size:0x4 data:float -lbl_1_rodata_784 = .rodata:0x00000784; // type:object size:0x4 data:float -lbl_1_rodata_788 = .rodata:0x00000788; // type:object size:0x8 data:double -lbl_1_rodata_790 = .rodata:0x00000790; // type:object size:0x8 data:double -lbl_1_rodata_798 = .rodata:0x00000798; // type:object size:0x8 data:double -lbl_1_rodata_7A0 = .rodata:0x000007A0; // type:object size:0x8 data:double -lbl_1_rodata_7A8 = .rodata:0x000007A8; // type:object size:0x4 data:float -lbl_1_rodata_7AC = .rodata:0x000007AC; // type:object size:0x10 data:4byte -lbl_1_rodata_7BC = .rodata:0x000007BC; // type:object size:0x14 data:4byte -lbl_1_rodata_7D0 = .rodata:0x000007D0; // type:object size:0x60 -lbl_1_rodata_830 = .rodata:0x00000830; // type:object size:0x8 data:double -lbl_1_rodata_838 = .rodata:0x00000838; // type:object size:0x8 data:double -lbl_1_rodata_840 = .rodata:0x00000840; // type:object size:0x4 data:float -lbl_1_rodata_848 = .rodata:0x00000848; // type:object size:0x8 data:double -lbl_1_rodata_850 = .rodata:0x00000850; // type:object size:0x4 data:float -lbl_1_rodata_858 = .rodata:0x00000858; // type:object size:0x8 data:double -lbl_1_rodata_860 = .rodata:0x00000860; // type:object size:0x8 data:double -lbl_1_rodata_868 = .rodata:0x00000868; // type:object size:0x8 data:double -lbl_1_rodata_870 = .rodata:0x00000870; // type:object size:0x8 data:double -lbl_1_rodata_878 = .rodata:0x00000878; // type:object size:0x4 data:float -lbl_1_rodata_87C = .rodata:0x0000087C; // type:object size:0x4 data:float -lbl_1_rodata_880 = .rodata:0x00000880; // type:object size:0x4 data:float -lbl_1_rodata_884 = .rodata:0x00000884; // type:object size:0x4 data:float -lbl_1_rodata_888 = .rodata:0x00000888; // type:object size:0x4 data:float -lbl_1_rodata_88C = .rodata:0x0000088C; // type:object size:0x1C data:4byte -lbl_1_rodata_8A8 = .rodata:0x000008A8; // type:object size:0x8 data:double -lbl_1_rodata_8B0 = .rodata:0x000008B0; // type:object size:0x4 data:float -lbl_1_rodata_8B4 = .rodata:0x000008B4; // type:object size:0x4 data:float -lbl_1_rodata_8B8 = .rodata:0x000008B8; // type:object size:0x4 data:float -lbl_1_rodata_8BC = .rodata:0x000008BC; // type:object size:0x4 data:float -lbl_1_rodata_8C0 = .rodata:0x000008C0; // type:object size:0x8 data:double -lbl_1_rodata_8C8 = .rodata:0x000008C8; // type:object size:0x4 data:float -lbl_1_rodata_8D0 = .rodata:0x000008D0; // type:object size:0x8 data:double -lbl_1_rodata_8D8 = .rodata:0x000008D8; // type:object size:0x4 data:float -lbl_1_rodata_8DC = .rodata:0x000008DC; // type:object size:0x4 data:float -lbl_1_rodata_8E0 = .rodata:0x000008E0; // type:object size:0x4 data:float -lbl_1_rodata_8E4 = .rodata:0x000008E4; // type:object size:0x4 data:float -lbl_1_rodata_8E8 = .rodata:0x000008E8; // type:object size:0x4 data:float -lbl_1_rodata_8EC = .rodata:0x000008EC; // type:object size:0x4 data:float -lbl_1_rodata_8F0 = .rodata:0x000008F0; // type:object size:0x4 data:float -lbl_1_rodata_8F4 = .rodata:0x000008F4; // type:object size:0x4 data:float -lbl_1_rodata_8F8 = .rodata:0x000008F8; // type:object size:0x8 data:double -lbl_1_rodata_900 = .rodata:0x00000900; // type:object size:0x8 data:double -lbl_1_rodata_908 = .rodata:0x00000908; // type:object size:0x4 data:float -lbl_1_rodata_90C = .rodata:0x0000090C; // type:object size:0x4 data:float -lbl_1_rodata_910 = .rodata:0x00000910; // type:object size:0x4 data:float -lbl_1_rodata_914 = .rodata:0x00000914; // type:object size:0xC data:byte -lbl_1_rodata_920 = .rodata:0x00000920; // type:object size:0x18 data:4byte -lbl_1_rodata_938 = .rodata:0x00000938; // type:object size:0x8 data:byte -lbl_1_rodata_940 = .rodata:0x00000940; // type:object size:0x10 data:4byte -lbl_1_rodata_950 = .rodata:0x00000950; // type:object size:0x1 data:byte -lbl_1_rodata_954 = .rodata:0x00000954; // type:object size:0x10 data:4byte -lbl_1_rodata_964 = .rodata:0x00000964; // type:object size:0x14 data:4byte -lbl_1_rodata_978 = .rodata:0x00000978; // type:object size:0x8 data:double -lbl_1_rodata_980 = .rodata:0x00000980; // type:object size:0x4 data:float -lbl_1_rodata_984 = .rodata:0x00000984; // type:object size:0x4 data:float -lbl_1_rodata_988 = .rodata:0x00000988; // type:object size:0x4 data:float -lbl_1_rodata_98C = .rodata:0x0000098C; // type:object size:0x4 data:float -lbl_1_rodata_990 = .rodata:0x00000990; // type:object size:0x8 data:double -lbl_1_rodata_998 = .rodata:0x00000998; // type:object size:0x4 data:float -lbl_1_rodata_99C = .rodata:0x0000099C; // type:object size:0x4 data:float -lbl_1_rodata_9A0 = .rodata:0x000009A0; // type:object size:0x8 data:double -lbl_1_rodata_9A8 = .rodata:0x000009A8; // type:object size:0x8 data:double -lbl_1_rodata_9B0 = .rodata:0x000009B0; // type:object size:0x10 data:4byte -lbl_1_rodata_9C0 = .rodata:0x000009C0; // type:object size:0x4 data:float -lbl_1_rodata_9C4 = .rodata:0x000009C4; // type:object size:0x4 data:float -lbl_1_rodata_9C8 = .rodata:0x000009C8; // type:object size:0x4 data:float -lbl_1_rodata_9CC = .rodata:0x000009CC; // type:object size:0xC data:4byte -lbl_1_rodata_9D8 = .rodata:0x000009D8; // type:object size:0xC data:4byte -lbl_1_rodata_9E4 = .rodata:0x000009E4; // type:object size:0xC data:4byte -lbl_1_rodata_9F0 = .rodata:0x000009F0; // type:object size:0xC data:4byte -lbl_1_rodata_9FC = .rodata:0x000009FC; // type:object size:0xC data:4byte -lbl_1_rodata_A08 = .rodata:0x00000A08; // type:object size:0xC data:4byte -lbl_1_rodata_A14 = .rodata:0x00000A14; // type:object size:0xC data:4byte -lbl_1_rodata_A20 = .rodata:0x00000A20; // type:object size:0x1 data:byte -lbl_1_rodata_A24 = .rodata:0x00000A24; // type:object size:0x4 data:float -lbl_1_rodata_A28 = .rodata:0x00000A28; // type:object size:0x4 data:float -lbl_1_rodata_A2C = .rodata:0x00000A2C; // type:object size:0x4 data:float -lbl_1_rodata_A30 = .rodata:0x00000A30; // type:object size:0x4 data:float -lbl_1_rodata_A34 = .rodata:0x00000A34; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x4 data:4byte -lbl_1_data_4 = .data:0x00000004; // type:object size:0x8 data:4byte -lbl_1_data_C = .data:0x0000000C; // type:object size:0x2C data:4byte -lbl_1_data_38 = .data:0x00000038; // type:object size:0x9 data:string -lbl_1_data_41 = .data:0x00000041; // type:object size:0x19 data:string -lbl_1_data_5A = .data:0x0000005A; // type:object size:0x1B data:string -lbl_1_data_75 = .data:0x00000075; // type:object size:0x10 data:string -lbl_1_data_85 = .data:0x00000085; // type:object size:0x10 data:string -lbl_1_data_95 = .data:0x00000095; // type:object size:0x10 data:string -lbl_1_data_A5 = .data:0x000000A5; // type:object size:0x10 data:string -lbl_1_data_B5 = .data:0x000000B5; // type:object size:0x11 data:string -lbl_1_data_C6 = .data:0x000000C6; // type:object size:0x11 data:string -lbl_1_data_D7 = .data:0x000000D7; // type:object size:0x12 data:string -lbl_1_data_E9 = .data:0x000000E9; // type:object size:0x12 data:string -lbl_1_data_FB = .data:0x000000FB; // type:object size:0x12 data:string -lbl_1_data_10D = .data:0x0000010D; // type:object size:0xF data:string -lbl_1_data_11C = .data:0x0000011C; // type:object size:0x19 data:string -lbl_1_data_135 = .data:0x00000135; // type:object size:0x24 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0xC data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 data:2byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x2 data:2byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x8 data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:float -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x10 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x70 -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x18 data:4byte -lbl_1_bss_D0 = .bss:0x000000D0; // type:object size:0x4 data:4byte -lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0x28 -lbl_1_bss_FC = .bss:0x000000FC; // type:object size:0x4 data:4byte -lbl_1_bss_100 = .bss:0x00000100; // type:object size:0x2580 -lbl_1_bss_2680 = .bss:0x00002680; // type:object size:0x4 data:4byte -lbl_1_bss_2684 = .bss:0x00002684; // type:object size:0x3E8 -lbl_1_bss_2A6C = .bss:0x00002A6C; // type:object size:0x4E18 -lbl_1_bss_7884 = .bss:0x00007884; // type:object size:0x30 diff --git a/config/GMPJ01_00/rels/m418Dll/splits.txt b/config/GMPJ01_00/rels/m418Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m418Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m418Dll/symbols.txt b/config/GMPJ01_00/rels/m418Dll/symbols.txt deleted file mode 100644 index f4b66ec8..00000000 --- a/config/GMPJ01_00/rels/m418Dll/symbols.txt +++ /dev/null @@ -1,303 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x74 -fn_1_74 = .text:0x00000074; // type:function size:0xE4 -fn_1_158 = .text:0x00000158; // type:function size:0x28 -fn_1_180 = .text:0x00000180; // type:function size:0xC8 -fn_1_248 = .text:0x00000248; // type:function size:0x20 -fn_1_268 = .text:0x00000268; // type:function size:0x298 -fn_1_500 = .text:0x00000500; // type:function size:0x118 -fn_1_618 = .text:0x00000618; // type:function size:0xC4 -fn_1_6DC = .text:0x000006DC; // type:function size:0x38 -fn_1_714 = .text:0x00000714; // type:function size:0x34 -fn_1_748 = .text:0x00000748; // type:function size:0x38 -fn_1_780 = .text:0x00000780; // type:function size:0x1D0 -fn_1_950 = .text:0x00000950; // type:function size:0x48 -fn_1_998 = .text:0x00000998; // type:function size:0x110 -fn_1_AA8 = .text:0x00000AA8; // type:function size:0xA4 -fn_1_B4C = .text:0x00000B4C; // type:function size:0x328 -fn_1_E74 = .text:0x00000E74; // type:function size:0x67C -fn_1_14F0 = .text:0x000014F0; // type:function size:0x3BC -fn_1_18AC = .text:0x000018AC; // type:function size:0x50 -fn_1_18FC = .text:0x000018FC; // type:function size:0x7B4 -fn_1_20B0 = .text:0x000020B0; // type:function size:0xC8 -fn_1_2178 = .text:0x00002178; // type:function size:0x71C -fn_1_2894 = .text:0x00002894; // type:function size:0x10C -fn_1_29A0 = .text:0x000029A0; // type:function size:0x224 -fn_1_2BC4 = .text:0x00002BC4; // type:function size:0x48 -fn_1_2C0C = .text:0x00002C0C; // type:function size:0x448 -fn_1_3054 = .text:0x00003054; // type:function size:0xE4 -fn_1_3138 = .text:0x00003138; // type:function size:0x108 -fn_1_3240 = .text:0x00003240; // type:function size:0x1C8 -fn_1_3408 = .text:0x00003408; // type:function size:0x3C -fn_1_3444 = .text:0x00003444; // type:function size:0xA6C -fn_1_3EB0 = .text:0x00003EB0; // type:function size:0x814 -fn_1_46C4 = .text:0x000046C4; // type:function size:0x5C0 -fn_1_4C84 = .text:0x00004C84; // type:function size:0x2DC -fn_1_4F60 = .text:0x00004F60; // type:function size:0x3F8 -fn_1_5358 = .text:0x00005358; // type:function size:0xE4 -fn_1_543C = .text:0x0000543C; // type:function size:0x150 -fn_1_558C = .text:0x0000558C; // type:function size:0x120 -fn_1_56AC = .text:0x000056AC; // type:function size:0xBC -fn_1_5768 = .text:0x00005768; // type:function size:0x7C -fn_1_57E4 = .text:0x000057E4; // type:function size:0x18C -fn_1_5970 = .text:0x00005970; // type:function size:0xFC -fn_1_5A6C = .text:0x00005A6C; // type:function size:0x2BC -fn_1_5D28 = .text:0x00005D28; // type:function size:0x30 -fn_1_5D58 = .text:0x00005D58; // type:function size:0x98 -fn_1_5DF0 = .text:0x00005DF0; // type:function size:0x248 -fn_1_6038 = .text:0x00006038; // type:function size:0x2DC -fn_1_6314 = .text:0x00006314; // type:function size:0xE4 -fn_1_63F8 = .text:0x000063F8; // type:function size:0x118 -fn_1_6510 = .text:0x00006510; // type:function size:0x108 -fn_1_6618 = .text:0x00006618; // type:function size:0x128 -fn_1_6740 = .text:0x00006740; // type:function size:0xC8 -fn_1_6808 = .text:0x00006808; // type:function size:0x10C -fn_1_6914 = .text:0x00006914; // type:function size:0x4B8 -fn_1_6DCC = .text:0x00006DCC; // type:function size:0xA0 -fn_1_6E6C = .text:0x00006E6C; // type:function size:0x48 -fn_1_6EB4 = .text:0x00006EB4; // type:function size:0x84 -fn_1_6F38 = .text:0x00006F38; // type:function size:0x35C -fn_1_7294 = .text:0x00007294; // type:function size:0x4 -fn_1_7298 = .text:0x00007298; // type:function size:0x2D8 -fn_1_7570 = .text:0x00007570; // type:function size:0x74 -fn_1_75E4 = .text:0x000075E4; // type:function size:0x214 -fn_1_77F8 = .text:0x000077F8; // type:function size:0x68 -fn_1_7860 = .text:0x00007860; // type:function size:0x208 -fn_1_7A68 = .text:0x00007A68; // type:function size:0x100 -fn_1_7B68 = .text:0x00007B68; // type:function size:0x218 -fn_1_7D80 = .text:0x00007D80; // type:function size:0xA4 -fn_1_7E24 = .text:0x00007E24; // type:function size:0xF8 -fn_1_7F1C = .text:0x00007F1C; // type:function size:0xB8 -fn_1_7FD4 = .text:0x00007FD4; // type:function size:0x1CC -fn_1_81A0 = .text:0x000081A0; // type:function size:0x4 -fn_1_81A4 = .text:0x000081A4; // type:function size:0x2DC -fn_1_8480 = .text:0x00008480; // type:function size:0x30 -fn_1_84B0 = .text:0x000084B0; // type:function size:0x98 -fn_1_8548 = .text:0x00008548; // type:function size:0x120 -fn_1_8668 = .text:0x00008668; // type:function size:0xC0 -fn_1_8728 = .text:0x00008728; // type:function size:0xA8 -fn_1_87D0 = .text:0x000087D0; // type:function size:0xBC -fn_1_888C = .text:0x0000888C; // type:function size:0x28 -fn_1_88B4 = .text:0x000088B4; // type:function size:0xFC -fn_1_89B0 = .text:0x000089B0; // type:function size:0x164 -fn_1_8B14 = .text:0x00008B14; // type:function size:0x170 -fn_1_8C84 = .text:0x00008C84; // type:function size:0xEC -fn_1_8D70 = .text:0x00008D70; // type:function size:0x204 -fn_1_8F74 = .text:0x00008F74; // type:function size:0x120 -fn_1_9094 = .text:0x00009094; // type:function size:0x48 -fn_1_90DC = .text:0x000090DC; // type:function size:0x64 -fn_1_9140 = .text:0x00009140; // type:function size:0xA4 -fn_1_91E4 = .text:0x000091E4; // type:function size:0x108 -fn_1_92EC = .text:0x000092EC; // type:function size:0x48 -fn_1_9334 = .text:0x00009334; // type:function size:0x30 -fn_1_9364 = .text:0x00009364; // type:function size:0x98 -fn_1_93FC = .text:0x000093FC; // type:function size:0x130 -fn_1_952C = .text:0x0000952C; // type:function size:0x60 -fn_1_958C = .text:0x0000958C; // type:function size:0x618 -fn_1_9BA4 = .text:0x00009BA4; // type:function size:0x3F0 -fn_1_9F94 = .text:0x00009F94; // type:function size:0x1BC -_prolog = .text:0x0000A150; // type:function size:0x54 scope:global -_epilog = .text:0x0000A1A4; // type:function size:0x4C scope:global -fn_1_A1F0 = .text:0x0000A1F0; // type:function size:0x398 -fn_1_A588 = .text:0x0000A588; // type:function size:0x398 -fn_1_A920 = .text:0x0000A920; // type:function size:0x20 -fn_1_A940 = .text:0x0000A940; // type:function size:0x28 -fn_1_A968 = .text:0x0000A968; // type:function size:0xC8 -fn_1_AA30 = .text:0x0000AA30; // type:function size:0xBC -fn_1_AAEC = .text:0x0000AAEC; // type:function size:0xD8 -fn_1_ABC4 = .text:0x0000ABC4; // type:function size:0x150 -fn_1_AD14 = .text:0x0000AD14; // type:function size:0x178 -fn_1_AE8C = .text:0x0000AE8C; // type:function size:0x50 -fn_1_AEDC = .text:0x0000AEDC; // type:function size:0x5C -fn_1_AF38 = .text:0x0000AF38; // type:function size:0x88 -fn_1_AFC0 = .text:0x0000AFC0; // type:function size:0x74 -fn_1_B034 = .text:0x0000B034; // type:function size:0x94 -fn_1_B0C8 = .text:0x0000B0C8; // type:function size:0x3C -fn_1_B104 = .text:0x0000B104; // type:function size:0x318 -fn_1_B41C = .text:0x0000B41C; // type:function size:0x3C -fn_1_B458 = .text:0x0000B458; // type:function size:0x4C -fn_1_B4A4 = .text:0x0000B4A4; // type:function size:0x26C -fn_1_B710 = .text:0x0000B710; // type:function size:0x26C -fn_1_B97C = .text:0x0000B97C; // type:function size:0x27C -fn_1_BBF8 = .text:0x0000BBF8; // type:function size:0x2B4 -fn_1_BEAC = .text:0x0000BEAC; // type:function size:0x46C -fn_1_C318 = .text:0x0000C318; // type:function size:0x454 -fn_1_C76C = .text:0x0000C76C; // type:function size:0x48C -fn_1_CBF8 = .text:0x0000CBF8; // type:function size:0x658 -fn_1_D250 = .text:0x0000D250; // type:function size:0x4C4 -fn_1_D714 = .text:0x0000D714; // type:function size:0x4FC -fn_1_DC10 = .text:0x0000DC10; // type:function size:0x6C8 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0xC data:4byte -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0xC data:4byte -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0xC data:4byte -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0xC data:4byte -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0xC data:4byte -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:4byte -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0xC data:4byte -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x10 data:4byte -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x10 data:4byte -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x10 data:4byte -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x10 data:4byte -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0xC data:4byte -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0xC data:4byte -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0xC data:4byte -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0xC data:4byte -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0xC data:4byte -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0xC data:4byte -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0xC data:4byte -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0xC data:4byte -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0xC data:4byte -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0xC data:4byte -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0xC data:4byte -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0xC data:4byte -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0xC data:4byte -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0xC data:4byte -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x8 data:4byte -lbl_1_data_8 = .data:0x00000008; // type:object size:0x4 data:4byte -lbl_1_data_C = .data:0x0000000C; // type:object size:0x12 scope:local data:string -lbl_1_data_1E = .data:0x0000001E; // type:object size:0x13 scope:local data:string -lbl_1_data_31 = .data:0x00000031; // type:object size:0x10 scope:local data:string -lbl_1_data_41 = .data:0x00000041; // type:object size:0x10 scope:local data:string -lbl_1_data_51 = .data:0x00000051; // type:object size:0x10 scope:local data:string -lbl_1_data_61 = .data:0x00000061; // type:object size:0x10 scope:local data:string -lbl_1_data_71 = .data:0x00000071; // type:object size:0xD scope:local data:string -lbl_1_data_7E = .data:0x0000007E; // type:object size:0xE scope:local data:string -lbl_1_data_8C = .data:0x0000008C; // type:object size:0x6C data:4byte -jumptable_1_data_F8 = .data:0x000000F8; // type:object size:0x88 scope:local -lbl_1_data_180 = .data:0x00000180; // type:object size:0x12 scope:local data:string -lbl_1_data_192 = .data:0x00000192; // type:object size:0x15 scope:local data:string -lbl_1_data_1A7 = .data:0x000001A7; // type:object size:0x19 scope:local data:string -lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x20 -lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0x60 -lbl_1_data_240 = .data:0x00000240; // type:object size:0x24 -lbl_1_data_264 = .data:0x00000264; // type:object size:0x30 -lbl_1_data_294 = .data:0x00000294; // type:object size:0x24 -lbl_1_data_2B8 = .data:0x000002B8; // type:object size:0x60 -lbl_1_data_318 = .data:0x00000318; // type:object size:0x30 -lbl_1_data_348 = .data:0x00000348; // type:object size:0x84 -lbl_1_data_3CC = .data:0x000003CC; // type:object size:0x30 -lbl_1_data_3FC = .data:0x000003FC; // type:object size:0x48 -lbl_1_data_444 = .data:0x00000444; // type:object size:0x60 -jumptable_1_data_4A4 = .data:0x000004A4; // type:object size:0x28 scope:local -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x8 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x18 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x18 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x18 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0xB4 data:4byte -lbl_1_bss_11C = .bss:0x0000011C; // type:object size:0x54 data:4byte -lbl_1_bss_170 = .bss:0x00000170; // type:object size:0x70 -lbl_1_bss_1E0 = .bss:0x000001E0; // type:object size:0x14 data:4byte -lbl_1_bss_1F4 = .bss:0x000001F4; // type:object size:0x4C data:4byte -lbl_1_bss_240 = .bss:0x00000240; // type:object size:0x2C data:4byte -lbl_1_bss_26C = .bss:0x0000026C; // type:object size:0x180 -lbl_1_bss_3EC = .bss:0x000003EC; // type:object size:0x44 data:4byte diff --git a/config/GMPJ01_00/rels/m419Dll/splits.txt b/config/GMPJ01_00/rels/m419Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m419Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m419Dll/symbols.txt b/config/GMPJ01_00/rels/m419Dll/symbols.txt deleted file mode 100644 index 7b1b3da9..00000000 --- a/config/GMPJ01_00/rels/m419Dll/symbols.txt +++ /dev/null @@ -1,184 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x400 -fn_1_4A0 = .text:0x000004A0; // type:function size:0xDC -fn_1_57C = .text:0x0000057C; // type:function size:0x2CC -fn_1_848 = .text:0x00000848; // type:function size:0x288 -fn_1_AD0 = .text:0x00000AD0; // type:function size:0x488 -fn_1_F58 = .text:0x00000F58; // type:function size:0x102C -fn_1_1F84 = .text:0x00001F84; // type:function size:0x128 -fn_1_20AC = .text:0x000020AC; // type:function size:0x128 -fn_1_21D4 = .text:0x000021D4; // type:function size:0x80 -fn_1_2254 = .text:0x00002254; // type:function size:0x4F0 -fn_1_2744 = .text:0x00002744; // type:function size:0x498 -fn_1_2BDC = .text:0x00002BDC; // type:function size:0x220 -fn_1_2DFC = .text:0x00002DFC; // type:function size:0x4FC -fn_1_32F8 = .text:0x000032F8; // type:function size:0x154 -fn_1_344C = .text:0x0000344C; // type:function size:0x1398 -fn_1_47E4 = .text:0x000047E4; // type:function size:0x33C -fn_1_4B20 = .text:0x00004B20; // type:function size:0x334 -fn_1_4E54 = .text:0x00004E54; // type:function size:0xB8 -fn_1_4F0C = .text:0x00004F0C; // type:function size:0xC0 -fn_1_4FCC = .text:0x00004FCC; // type:function size:0x6C -fn_1_5038 = .text:0x00005038; // type:function size:0x6C -fn_1_50A4 = .text:0x000050A4; // type:function size:0x244 -fn_1_52E8 = .text:0x000052E8; // type:function size:0x570 -fn_1_5858 = .text:0x00005858; // type:function size:0x104 -fn_1_595C = .text:0x0000595C; // type:function size:0x17C -fn_1_5AD8 = .text:0x00005AD8; // type:function size:0x45C -fn_1_5F34 = .text:0x00005F34; // type:function size:0x358 -fn_1_628C = .text:0x0000628C; // type:function size:0x334 -fn_1_65C0 = .text:0x000065C0; // type:function size:0x1E0 -fn_1_67A0 = .text:0x000067A0; // type:function size:0x564 -fn_1_6D04 = .text:0x00006D04; // type:function size:0x198 -fn_1_6E9C = .text:0x00006E9C; // type:function size:0xA18 -fn_1_78B4 = .text:0x000078B4; // type:function size:0x223C -fn_1_9AF0 = .text:0x00009AF0; // type:function size:0x130C -fn_1_ADFC = .text:0x0000ADFC; // type:function size:0x258 -fn_1_B054 = .text:0x0000B054; // type:function size:0x2E78 -fn_1_DECC = .text:0x0000DECC; // type:function size:0x70 -fn_1_DF3C = .text:0x0000DF3C; // type:function size:0x5C -fn_1_DF98 = .text:0x0000DF98; // type:function size:0x17A4 -fn_1_F73C = .text:0x0000F73C; // type:function size:0x280 -fn_1_F9BC = .text:0x0000F9BC; // type:function size:0x89C -fn_1_10258 = .text:0x00010258; // type:function size:0x248 -fn_1_104A0 = .text:0x000104A0; // type:function size:0x60 -fn_1_10500 = .text:0x00010500; // type:function size:0x3E0 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x20 -lbl_1_data_20 = .data:0x00000020; // type:object size:0x2C -lbl_1_data_4C = .data:0x0000004C; // type:object size:0x10 -lbl_1_data_5C = .data:0x0000005C; // type:object size:0x60 -lbl_1_data_BC = .data:0x000000BC; // type:object size:0xB data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x60 -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x1 data:byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x20 -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x20 -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0xC data:float -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0xC data:float -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0xC data:float -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0xB8 data:4byte -lbl_1_bss_180 = .bss:0x00000180; // type:object size:0x10 -lbl_1_bss_190 = .bss:0x00000190; // type:object size:0x58 data:2byte -lbl_1_bss_1E8 = .bss:0x000001E8; // type:object size:0x18 data:2byte -lbl_1_bss_200 = .bss:0x00000200; // type:object size:0x380 -lbl_1_bss_580 = .bss:0x00000580; // type:object size:0x4 data:4byte -lbl_1_bss_584 = .bss:0x00000584; // type:object size:0x10 data:4byte -lbl_1_bss_594 = .bss:0x00000594; // type:object size:0x10 -lbl_1_bss_5A4 = .bss:0x000005A4; // type:object size:0x4 data:4byte -lbl_1_bss_5A8 = .bss:0x000005A8; // type:object size:0x4 data:4byte -lbl_1_bss_5AC = .bss:0x000005AC; // type:object size:0x4 data:4byte -lbl_1_bss_5B0 = .bss:0x000005B0; // type:object size:0x4 data:4byte -lbl_1_bss_5B4 = .bss:0x000005B4; // type:object size:0x4 data:4byte -lbl_1_bss_5B8 = .bss:0x000005B8; // type:object size:0x2 data:2byte -lbl_1_bss_5BA = .bss:0x000005BA; // type:object size:0x2 data:2byte -lbl_1_bss_5BC = .bss:0x000005BC; // type:object size:0x2 data:2byte -lbl_1_bss_5BE = .bss:0x000005BE; // type:object size:0x2 data:2byte -lbl_1_bss_5C2 = .bss:0x000005C2; // type:object size:0x2 data:2byte diff --git a/config/GMPJ01_00/rels/m422Dll/splits.txt b/config/GMPJ01_00/rels/m422Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m422Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m422Dll/symbols.txt b/config/GMPJ01_00/rels/m422Dll/symbols.txt deleted file mode 100644 index 804db144..00000000 --- a/config/GMPJ01_00/rels/m422Dll/symbols.txt +++ /dev/null @@ -1,249 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x25C -fn_1_2FC = .text:0x000002FC; // type:function size:0x31C0 -fn_1_34BC = .text:0x000034BC; // type:function size:0x6B8 -fn_1_3B74 = .text:0x00003B74; // type:function size:0x4E6C -fn_1_89E0 = .text:0x000089E0; // type:function size:0xA30 -fn_1_9410 = .text:0x00009410; // type:function size:0x4F0 -fn_1_9900 = .text:0x00009900; // type:function size:0x134C -fn_1_AC4C = .text:0x0000AC4C; // type:function size:0x3B8 -fn_1_B004 = .text:0x0000B004; // type:function size:0x54 -fn_1_B058 = .text:0x0000B058; // type:function size:0x428 -fn_1_B480 = .text:0x0000B480; // type:function size:0xAC -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x30 -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x30 -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x30 -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x30 -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x30 -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x30 -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x30 -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x1C data:4byte -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x1C data:4byte -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x10 data:4byte -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x10 data:4byte -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0xC data:4byte -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0xC data:4byte -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0xC data:4byte -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0xC data:4byte -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0xC data:4byte -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x20 data:4byte -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 data:double -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 data:double -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x60 -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:4byte -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x60 -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x30 data:4byte -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x34 data:4byte -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 data:double -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x8 data:double -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x8 data:double -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 data:double -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x8 data:double -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 data:double -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 data:double -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 data:double -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x8 data:double -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 data:float -lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 data:float -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x8 data:double -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x8 data:double -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x8 data:double -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x8 data:double -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x4 data:float -lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x4 data:float -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x8 data:double -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x8 data:double -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 data:float -lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 data:float -lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 data:float -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x4 data:float -lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 data:float -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x8 data:double -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x8 data:double -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x8 data:double -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x8 data:double -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 data:double -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x8 data:double -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 data:float -lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x8 data:double -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x8 data:double -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float -lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 data:float -lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 data:float -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float -lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x4 data:float -lbl_1_rodata_5EC = .rodata:0x000005EC; // type:object size:0x4 data:float -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 data:float -lbl_1_rodata_5F4 = .rodata:0x000005F4; // type:object size:0x4 data:float -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x4 data:float -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 data:double -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x2C data:4byte -lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x4 data:float -lbl_1_rodata_63C = .rodata:0x0000063C; // type:object size:0x4 data:float -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 data:float -lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x8 data:double -lbl_1_rodata_650 = .rodata:0x00000650; // type:object size:0x8 data:double -lbl_1_rodata_658 = .rodata:0x00000658; // type:object size:0x8 data:double -lbl_1_rodata_660 = .rodata:0x00000660; // type:object size:0x4 data:float -lbl_1_rodata_664 = .rodata:0x00000664; // type:object size:0x4 data:float -lbl_1_rodata_668 = .rodata:0x00000668; // type:object size:0x28 data:4byte -lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x20 data:4byte -lbl_1_rodata_6B0 = .rodata:0x000006B0; // type:object size:0x8 data:4byte -lbl_1_rodata_6B8 = .rodata:0x000006B8; // type:object size:0x8 data:4byte -lbl_1_rodata_6C0 = .rodata:0x000006C0; // type:object size:0x8 data:4byte -lbl_1_rodata_6C8 = .rodata:0x000006C8; // type:object size:0x40 data:4byte -lbl_1_rodata_708 = .rodata:0x00000708; // type:object size:0x40 data:4byte -lbl_1_rodata_748 = .rodata:0x00000748; // type:object size:0x4 data:float -lbl_1_rodata_74C = .rodata:0x0000074C; // type:object size:0x4 data:float -lbl_1_rodata_750 = .rodata:0x00000750; // type:object size:0x4 data:float -lbl_1_rodata_754 = .rodata:0x00000754; // type:object size:0x4 data:float -lbl_1_rodata_758 = .rodata:0x00000758; // type:object size:0x4 data:float -lbl_1_rodata_760 = .rodata:0x00000760; // type:object size:0x8 data:double -lbl_1_rodata_768 = .rodata:0x00000768; // type:object size:0x4 data:float -lbl_1_rodata_76C = .rodata:0x0000076C; // type:object size:0x10 data:4byte -lbl_1_rodata_77C = .rodata:0x0000077C; // type:object size:0xC data:4byte -lbl_1_rodata_788 = .rodata:0x00000788; // type:object size:0xC data:4byte -lbl_1_rodata_794 = .rodata:0x00000794; // type:object size:0x1 data:byte -lbl_1_rodata_798 = .rodata:0x00000798; // type:object size:0x4 data:float -lbl_1_rodata_79C = .rodata:0x0000079C; // type:object size:0x4 data:float -lbl_1_rodata_7A0 = .rodata:0x000007A0; // type:object size:0x4 data:float -lbl_1_rodata_7A4 = .rodata:0x000007A4; // type:object size:0x4 data:float -lbl_1_rodata_7A8 = .rodata:0x000007A8; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x40 -lbl_1_data_40 = .data:0x00000040; // type:object size:0x60 -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x20 -lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x20 -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x7 -lbl_1_data_E7 = .data:0x000000E7; // type:object size:0x9 -lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x1680 data:float -lbl_1_data_1770 = .data:0x00001770; // type:object size:0xF data:string -lbl_1_data_177F = .data:0x0000177F; // type:object size:0x10 data:string -lbl_1_data_178F = .data:0x0000178F; // type:object size:0x10 data:string -lbl_1_data_179F = .data:0x0000179F; // type:object size:0xF data:string -lbl_1_data_17AE = .data:0x000017AE; // type:object size:0x10 data:string -lbl_1_data_17BE = .data:0x000017BE; // type:object size:0x10 data:string -lbl_1_data_17CE = .data:0x000017CE; // type:object size:0xF data:string -lbl_1_data_17DD = .data:0x000017DD; // type:object size:0x11 data:string -lbl_1_data_17EE = .data:0x000017EE; // type:object size:0x11 data:string -lbl_1_data_17FF = .data:0x000017FF; // type:object size:0x12 data:string -lbl_1_data_1811 = .data:0x00001811; // type:object size:0x5 data:string -lbl_1_data_1816 = .data:0x00001816; // type:object size:0x12 -lbl_1_data_1828 = .data:0x00001828; // type:object size:0x50 -lbl_1_data_1878 = .data:0x00001878; // type:object size:0x2C -lbl_1_data_18A4 = .data:0x000018A4; // type:object size:0x8 data:4byte -lbl_1_data_18AC = .data:0x000018AC; // type:object size:0x4 data:4byte -lbl_1_data_18B0 = .data:0x000018B0; // type:object size:0x4 data:4byte -lbl_1_data_18B4 = .data:0x000018B4; // type:object size:0x40 -lbl_1_data_18F4 = .data:0x000018F4; // type:object size:0xC data:4byte -lbl_1_data_1900 = .data:0x00001900; // type:object size:0x4 data:4byte -lbl_1_data_1904 = .data:0x00001904; // type:object size:0x1B data:string -lbl_1_data_191F = .data:0x0000191F; // type:object size:0x19 data:string -lbl_1_data_1938 = .data:0x00001938; // type:object size:0x24 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:float -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:float -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x8 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x8 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x2 data:2byte -lbl_1_bss_2E = .bss:0x0000002E; // type:object size:0x2 data:2byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x10 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0xB0 data:4byte -lbl_1_bss_104 = .bss:0x00000104; // type:object size:0xC0 diff --git a/config/GMPJ01_00/rels/m423Dll/splits.txt b/config/GMPJ01_00/rels/m423Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m423Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m423Dll/symbols.txt b/config/GMPJ01_00/rels/m423Dll/symbols.txt deleted file mode 100644 index 5450a16f..00000000 --- a/config/GMPJ01_00/rels/m423Dll/symbols.txt +++ /dev/null @@ -1,367 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x278 -fn_1_318 = .text:0x00000318; // type:function size:0x98 -fn_1_3B0 = .text:0x000003B0; // type:function size:0xA4C -fn_1_DFC = .text:0x00000DFC; // type:function size:0x64 -fn_1_E60 = .text:0x00000E60; // type:function size:0xA0 -fn_1_F00 = .text:0x00000F00; // type:function size:0x10 -fn_1_F10 = .text:0x00000F10; // type:function size:0x50 -fn_1_F60 = .text:0x00000F60; // type:function size:0x244 -fn_1_11A4 = .text:0x000011A4; // type:function size:0x34 -fn_1_11D8 = .text:0x000011D8; // type:function size:0x60 -fn_1_1238 = .text:0x00001238; // type:function size:0x68 -fn_1_12A0 = .text:0x000012A0; // type:function size:0x100 -fn_1_13A0 = .text:0x000013A0; // type:function size:0xA4 -fn_1_1444 = .text:0x00001444; // type:function size:0x5C -fn_1_14A0 = .text:0x000014A0; // type:function size:0x45C -fn_1_18FC = .text:0x000018FC; // type:function size:0x260 -fn_1_1B5C = .text:0x00001B5C; // type:function size:0x400 -fn_1_1F5C = .text:0x00001F5C; // type:function size:0x334 -fn_1_2290 = .text:0x00002290; // type:function size:0x394 -fn_1_2624 = .text:0x00002624; // type:function size:0x394 -fn_1_29B8 = .text:0x000029B8; // type:function size:0x4 -fn_1_29BC = .text:0x000029BC; // type:function size:0x24C -fn_1_2C08 = .text:0x00002C08; // type:function size:0x8D0 -fn_1_34D8 = .text:0x000034D8; // type:function size:0x50 -fn_1_3528 = .text:0x00003528; // type:function size:0x370 -fn_1_3898 = .text:0x00003898; // type:function size:0x1C0 -fn_1_3A58 = .text:0x00003A58; // type:function size:0xC -fn_1_3A64 = .text:0x00003A64; // type:function size:0x28 -fn_1_3A8C = .text:0x00003A8C; // type:function size:0x170 -fn_1_3BFC = .text:0x00003BFC; // type:function size:0x3E4 -fn_1_3FE0 = .text:0x00003FE0; // type:function size:0x798 -fn_1_4778 = .text:0x00004778; // type:function size:0x15A0 -fn_1_5D18 = .text:0x00005D18; // type:function size:0x1AAC -fn_1_77C4 = .text:0x000077C4; // type:function size:0xC -fn_1_77D0 = .text:0x000077D0; // type:function size:0x4C -fn_1_781C = .text:0x0000781C; // type:function size:0x100 -fn_1_791C = .text:0x0000791C; // type:function size:0x18C -fn_1_7AA8 = .text:0x00007AA8; // type:function size:0xA0 -fn_1_7B48 = .text:0x00007B48; // type:function size:0x780 -fn_1_82C8 = .text:0x000082C8; // type:function size:0x70 -fn_1_8338 = .text:0x00008338; // type:function size:0x97C -fn_1_8CB4 = .text:0x00008CB4; // type:function size:0x910 -fn_1_95C4 = .text:0x000095C4; // type:function size:0x50 -fn_1_9614 = .text:0x00009614; // type:function size:0x28C -fn_1_98A0 = .text:0x000098A0; // type:function size:0x1100 -fn_1_A9A0 = .text:0x0000A9A0; // type:function size:0xC -fn_1_A9AC = .text:0x0000A9AC; // type:function size:0x28 -fn_1_A9D4 = .text:0x0000A9D4; // type:function size:0x238 -fn_1_AC0C = .text:0x0000AC0C; // type:function size:0x74 -fn_1_AC80 = .text:0x0000AC80; // type:function size:0x1E4 -fn_1_AE64 = .text:0x0000AE64; // type:function size:0x84 -fn_1_AEE8 = .text:0x0000AEE8; // type:function size:0x254 -fn_1_B13C = .text:0x0000B13C; // type:function size:0x68 -fn_1_B1A4 = .text:0x0000B1A4; // type:function size:0x160 -fn_1_B304 = .text:0x0000B304; // type:function size:0x12C -fn_1_B430 = .text:0x0000B430; // type:function size:0x8A8 -fn_1_BCD8 = .text:0x0000BCD8; // type:function size:0x7C0 -fn_1_C498 = .text:0x0000C498; // type:function size:0x1498 -fn_1_D930 = .text:0x0000D930; // type:function size:0x108 -fn_1_DA38 = .text:0x0000DA38; // type:function size:0x190 -fn_1_DBC8 = .text:0x0000DBC8; // type:function size:0x5C -fn_1_DC24 = .text:0x0000DC24; // type:function size:0x14C -fn_1_DD70 = .text:0x0000DD70; // type:function size:0x44C -fn_1_E1BC = .text:0x0000E1BC; // type:function size:0xD4 -fn_1_E290 = .text:0x0000E290; // type:function size:0xA0 -fn_1_E330 = .text:0x0000E330; // type:function size:0x4 -fn_1_E334 = .text:0x0000E334; // type:function size:0x12C -fn_1_E460 = .text:0x0000E460; // type:function size:0x8C -fn_1_E4EC = .text:0x0000E4EC; // type:function size:0x120 -fn_1_E60C = .text:0x0000E60C; // type:function size:0x6C -fn_1_E678 = .text:0x0000E678; // type:function size:0x8CC -fn_1_EF44 = .text:0x0000EF44; // type:function size:0x630 -fn_1_F574 = .text:0x0000F574; // type:function size:0x11C -fn_1_F690 = .text:0x0000F690; // type:function size:0x50 -fn_1_F6E0 = .text:0x0000F6E0; // type:function size:0x360 -fn_1_FA40 = .text:0x0000FA40; // type:function size:0x4D0 -fn_1_FF10 = .text:0x0000FF10; // type:function size:0x88 -fn_1_FF98 = .text:0x0000FF98; // type:function size:0x90 -fn_1_10028 = .text:0x00010028; // type:function size:0xB4 -fn_1_100DC = .text:0x000100DC; // type:function size:0x3A4 -fn_1_10480 = .text:0x00010480; // type:function size:0xAC -fn_1_1052C = .text:0x0001052C; // type:function size:0x4 -fn_1_10530 = .text:0x00010530; // type:function size:0x10 -fn_1_10540 = .text:0x00010540; // type:function size:0x198 -fn_1_106D8 = .text:0x000106D8; // type:function size:0x4F0 -fn_1_10BC8 = .text:0x00010BC8; // type:function size:0x440 -fn_1_11008 = .text:0x00011008; // type:function size:0x10C -fn_1_11114 = .text:0x00011114; // type:function size:0x4B0 -fn_1_115C4 = .text:0x000115C4; // type:function size:0x33C -fn_1_11900 = .text:0x00011900; // type:function size:0x8DC -fn_1_121DC = .text:0x000121DC; // type:function size:0x118 -fn_1_122F4 = .text:0x000122F4; // type:function size:0x250 -fn_1_12544 = .text:0x00012544; // type:function size:0x3F8 -fn_1_1293C = .text:0x0001293C; // type:function size:0xB4 -fn_1_129F0 = .text:0x000129F0; // type:function size:0x27C -fn_1_12C6C = .text:0x00012C6C; // type:function size:0x100 -fn_1_12D6C = .text:0x00012D6C; // type:function size:0xFC -fn_1_12E68 = .text:0x00012E68; // type:function size:0x4E4 -fn_1_1334C = .text:0x0001334C; // type:function size:0x330 -fn_1_1367C = .text:0x0001367C; // type:function size:0x148 -fn_1_137C4 = .text:0x000137C4; // type:function size:0x78C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 data:double -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x1 data:byte -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 data:double -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x38 data:float -lbl_1_data_38 = .data:0x00000038; // type:object size:0x118 -lbl_1_data_150 = .data:0x00000150; // type:object size:0x30 data:float -lbl_1_data_180 = .data:0x00000180; // type:object size:0x30 data:float -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x24 -lbl_1_data_1D4 = .data:0x000001D4; // type:object size:0xC -lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0xC -lbl_1_data_1EC = .data:0x000001EC; // type:object size:0xC -lbl_1_data_1F8 = .data:0x000001F8; // type:object size:0x24 -lbl_1_data_21C = .data:0x0000021C; // type:object size:0xC -lbl_1_data_228 = .data:0x00000228; // type:object size:0xC -lbl_1_data_234 = .data:0x00000234; // type:object size:0x4 -lbl_1_data_238 = .data:0x00000238; // type:object size:0x18 -lbl_1_data_250 = .data:0x00000250; // type:object size:0x18 -jumptable_1_data_268 = .data:0x00000268; // type:object size:0x30 scope:local -lbl_1_data_298 = .data:0x00000298; // type:object size:0x1 data:byte -lbl_1_data_29C = .data:0x0000029C; // type:object size:0x30 -lbl_1_data_2CC = .data:0x000002CC; // type:object size:0x20 -lbl_1_data_2EC = .data:0x000002EC; // type:object size:0x20 -lbl_1_data_30C = .data:0x0000030C; // type:object size:0x4 -lbl_1_data_310 = .data:0x00000310; // type:object size:0x1 data:byte -lbl_1_data_314 = .data:0x00000314; // type:object size:0x20 data:4byte -lbl_1_data_334 = .data:0x00000334; // type:object size:0x30 -lbl_1_data_364 = .data:0x00000364; // type:object size:0x24 -lbl_1_data_388 = .data:0x00000388; // type:object size:0x1 data:byte -lbl_1_data_38C = .data:0x0000038C; // type:object size:0x1F data:string -lbl_1_data_3AB = .data:0x000003AB; // type:object size:0x1 data:byte -lbl_1_data_3AF = .data:0x000003AF; // type:object size:0x1 data:byte -lbl_1_data_3B3 = .data:0x000003B3; // type:object size:0x5 data:byte -lbl_1_data_3B8 = .data:0x000003B8; // type:object size:0xF0 -lbl_1_data_4A8 = .data:0x000004A8; // type:object size:0x54 -lbl_1_data_4FC = .data:0x000004FC; // type:object size:0xC -lbl_1_data_508 = .data:0x00000508; // type:object size:0x18 -lbl_1_data_520 = .data:0x00000520; // type:object size:0x6 -lbl_1_data_526 = .data:0x00000526; // type:object size:0x6 -lbl_1_data_52C = .data:0x0000052C; // type:object size:0x8 -lbl_1_data_534 = .data:0x00000534; // type:object size:0x40 -lbl_1_data_574 = .data:0x00000574; // type:object size:0xC -lbl_1_data_580 = .data:0x00000580; // type:object size:0x58 -lbl_1_data_5D8 = .data:0x000005D8; // type:object size:0x10 -lbl_1_data_5E8 = .data:0x000005E8; // type:object size:0xC data:4byte -lbl_1_data_5F4 = .data:0x000005F4; // type:object size:0x1 data:byte -lbl_1_data_5F8 = .data:0x000005F8; // type:object size:0x1 data:byte -jumptable_1_data_5FC = .data:0x000005FC; // type:object size:0x34 scope:local -lbl_1_data_630 = .data:0x00000630; // type:object size:0x1 data:byte -jumptable_1_data_634 = .data:0x00000634; // type:object size:0x34 scope:local -lbl_1_data_668 = .data:0x00000668; // type:object size:0x10 -lbl_1_data_678 = .data:0x00000678; // type:object size:0x10 -lbl_1_data_688 = .data:0x00000688; // type:object size:0x20 -lbl_1_data_6A8 = .data:0x000006A8; // type:object size:0x20 data:4byte -lbl_1_data_6C8 = .data:0x000006C8; // type:object size:0x10 -lbl_1_data_6D8 = .data:0x000006D8; // type:object size:0x20 -lbl_1_data_6F8 = .data:0x000006F8; // type:object size:0x20 -lbl_1_data_718 = .data:0x00000718; // type:object size:0x20 -lbl_1_data_738 = .data:0x00000738; // type:object size:0x20 -lbl_1_data_758 = .data:0x00000758; // type:object size:0x1 data:byte -lbl_1_data_75C = .data:0x0000075C; // type:object size:0x48 -jumptable_1_data_7A4 = .data:0x000007A4; // type:object size:0x20 scope:local -lbl_1_data_7C4 = .data:0x000007C4; // type:object size:0x18 -jumptable_1_data_7DC = .data:0x000007DC; // type:object size:0x20 scope:local -lbl_1_data_7FC = .data:0x000007FC; // type:object size:0x20 -lbl_1_data_81C = .data:0x0000081C; // type:object size:0x20 -lbl_1_data_83C = .data:0x0000083C; // type:object size:0x8 -lbl_1_data_844 = .data:0x00000844; // type:object size:0x60 -lbl_1_data_8A4 = .data:0x000008A4; // type:object size:0x20 -lbl_1_data_8C4 = .data:0x000008C4; // type:object size:0x30 -lbl_1_data_8F4 = .data:0x000008F4; // type:object size:0x20 -lbl_1_data_914 = .data:0x00000914; // type:object size:0x6 data:byte -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x3C data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x3C data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x4 data:4byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x4 data:4byte -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x4 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x4 data:4byte -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:4byte -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x4 data:4byte -lbl_1_bss_94 = .bss:0x00000094; // type:object size:0x4 data:4byte -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x4 data:4byte -lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0x4 data:4byte -lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x4 data:4byte -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0xC data:4byte -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x10 -lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x4 data:4byte -lbl_1_bss_D0 = .bss:0x000000D0; // type:object size:0x4 data:4byte -lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0x4 data:4byte -lbl_1_bss_D8 = .bss:0x000000D8; // type:object size:0x4 data:4byte -lbl_1_bss_DC = .bss:0x000000DC; // type:object size:0x10 data:4byte -lbl_1_bss_EC = .bss:0x000000EC; // type:object size:0x10 data:4byte -lbl_1_bss_FC = .bss:0x000000FC; // type:object size:0x4 data:4byte -lbl_1_bss_100 = .bss:0x00000100; // type:object size:0x4 data:4byte -lbl_1_bss_104 = .bss:0x00000104; // type:object size:0x4 data:4byte -lbl_1_bss_108 = .bss:0x00000108; // type:object size:0x8 data:4byte -lbl_1_bss_110 = .bss:0x00000110; // type:object size:0x4 data:4byte -lbl_1_bss_114 = .bss:0x00000114; // type:object size:0x4 data:4byte -lbl_1_bss_118 = .bss:0x00000118; // type:object size:0x4 data:4byte -lbl_1_bss_11C = .bss:0x0000011C; // type:object size:0x4 data:4byte -lbl_1_bss_120 = .bss:0x00000120; // type:object size:0x4 data:4byte diff --git a/config/GMPJ01_00/rels/m424Dll/splits.txt b/config/GMPJ01_00/rels/m424Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m424Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m424Dll/symbols.txt b/config/GMPJ01_00/rels/m424Dll/symbols.txt deleted file mode 100644 index cd7eab29..00000000 --- a/config/GMPJ01_00/rels/m424Dll/symbols.txt +++ /dev/null @@ -1,315 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x1C4 -fn_1_264 = .text:0x00000264; // type:function size:0x1B8 -fn_1_41C = .text:0x0000041C; // type:function size:0xAC4 -fn_1_EE0 = .text:0x00000EE0; // type:function size:0x60 -fn_1_F40 = .text:0x00000F40; // type:function size:0xA0 -fn_1_FE0 = .text:0x00000FE0; // type:function size:0x10 -fn_1_FF0 = .text:0x00000FF0; // type:function size:0x1FC -fn_1_11EC = .text:0x000011EC; // type:function size:0x4 -fn_1_11F0 = .text:0x000011F0; // type:function size:0x4 -fn_1_11F4 = .text:0x000011F4; // type:function size:0x10 -fn_1_1204 = .text:0x00001204; // type:function size:0x154 -fn_1_1358 = .text:0x00001358; // type:function size:0x118 -fn_1_1470 = .text:0x00001470; // type:function size:0x250 -fn_1_16C0 = .text:0x000016C0; // type:function size:0x3F8 -fn_1_1AB8 = .text:0x00001AB8; // type:function size:0xD4 -fn_1_1B8C = .text:0x00001B8C; // type:function size:0x2C -fn_1_1BB8 = .text:0x00001BB8; // type:function size:0x264 -fn_1_1E1C = .text:0x00001E1C; // type:function size:0x314 -fn_1_2130 = .text:0x00002130; // type:function size:0xC -fn_1_213C = .text:0x0000213C; // type:function size:0x74 -fn_1_21B0 = .text:0x000021B0; // type:function size:0x70 -fn_1_2220 = .text:0x00002220; // type:function size:0x218 -fn_1_2438 = .text:0x00002438; // type:function size:0xF4 -fn_1_252C = .text:0x0000252C; // type:function size:0x94 -fn_1_25C0 = .text:0x000025C0; // type:function size:0xB0 -fn_1_2670 = .text:0x00002670; // type:function size:0xB0 -fn_1_2720 = .text:0x00002720; // type:function size:0x160 -fn_1_2880 = .text:0x00002880; // type:function size:0x20 -fn_1_28A0 = .text:0x000028A0; // type:function size:0x598 -fn_1_2E38 = .text:0x00002E38; // type:function size:0x4 -fn_1_2E3C = .text:0x00002E3C; // type:function size:0x384 -fn_1_31C0 = .text:0x000031C0; // type:function size:0x63C -fn_1_37FC = .text:0x000037FC; // type:function size:0xA24 -fn_1_4220 = .text:0x00004220; // type:function size:0x478 -fn_1_4698 = .text:0x00004698; // type:function size:0x4 -fn_1_469C = .text:0x0000469C; // type:function size:0x234 -fn_1_48D0 = .text:0x000048D0; // type:function size:0x1C0 -fn_1_4A90 = .text:0x00004A90; // type:function size:0x588 -fn_1_5018 = .text:0x00005018; // type:function size:0x1020 -fn_1_6038 = .text:0x00006038; // type:function size:0x40 -fn_1_6078 = .text:0x00006078; // type:function size:0xA0 -fn_1_6118 = .text:0x00006118; // type:function size:0x94 -fn_1_61AC = .text:0x000061AC; // type:function size:0x84 -fn_1_6230 = .text:0x00006230; // type:function size:0x4C -fn_1_627C = .text:0x0000627C; // type:function size:0x54 -fn_1_62D0 = .text:0x000062D0; // type:function size:0x13C -fn_1_640C = .text:0x0000640C; // type:function size:0x168 -fn_1_6574 = .text:0x00006574; // type:function size:0x120 -fn_1_6694 = .text:0x00006694; // type:function size:0x39C -fn_1_6A30 = .text:0x00006A30; // type:function size:0x2E0 -fn_1_6D10 = .text:0x00006D10; // type:function size:0x38C -fn_1_709C = .text:0x0000709C; // type:function size:0x384 -fn_1_7420 = .text:0x00007420; // type:function size:0x3A4 -fn_1_77C4 = .text:0x000077C4; // type:function size:0x238 -fn_1_79FC = .text:0x000079FC; // type:function size:0x2A4 -fn_1_7CA0 = .text:0x00007CA0; // type:function size:0x130 -fn_1_7DD0 = .text:0x00007DD0; // type:function size:0x198 -fn_1_7F68 = .text:0x00007F68; // type:function size:0xD8 -fn_1_8040 = .text:0x00008040; // type:function size:0xBC -fn_1_80FC = .text:0x000080FC; // type:function size:0x33C -fn_1_8438 = .text:0x00008438; // type:function size:0x4B0 -fn_1_88E8 = .text:0x000088E8; // type:function size:0x3C -fn_1_8924 = .text:0x00008924; // type:function size:0x2C -fn_1_8950 = .text:0x00008950; // type:function size:0x2C -fn_1_897C = .text:0x0000897C; // type:function size:0x2C -fn_1_89A8 = .text:0x000089A8; // type:function size:0x2C -fn_1_89D4 = .text:0x000089D4; // type:function size:0x2C -fn_1_8A00 = .text:0x00008A00; // type:function size:0x2C -fn_1_8A2C = .text:0x00008A2C; // type:function size:0x7C -fn_1_8AA8 = .text:0x00008AA8; // type:function size:0x1D0 -fn_1_8C78 = .text:0x00008C78; // type:function size:0x404 -fn_1_907C = .text:0x0000907C; // type:function size:0x374 -fn_1_93F0 = .text:0x000093F0; // type:function size:0xB4 -fn_1_94A4 = .text:0x000094A4; // type:function size:0x2C -fn_1_94D0 = .text:0x000094D0; // type:function size:0x594 -fn_1_9A64 = .text:0x00009A64; // type:function size:0x13F4 -fn_1_AE58 = .text:0x0000AE58; // type:function size:0xC -fn_1_AE64 = .text:0x0000AE64; // type:function size:0x938 -fn_1_B79C = .text:0x0000B79C; // type:function size:0x68 -fn_1_B804 = .text:0x0000B804; // type:function size:0x84 -fn_1_B888 = .text:0x0000B888; // type:function size:0x24 -fn_1_B8AC = .text:0x0000B8AC; // type:function size:0x78 -fn_1_B924 = .text:0x0000B924; // type:function size:0x78 -fn_1_B99C = .text:0x0000B99C; // type:function size:0x44 -fn_1_B9E0 = .text:0x0000B9E0; // type:function size:0x830 -fn_1_C210 = .text:0x0000C210; // type:function size:0xD0 -fn_1_C2E0 = .text:0x0000C2E0; // type:function size:0x324 -fn_1_C604 = .text:0x0000C604; // type:function size:0x250 -fn_1_C854 = .text:0x0000C854; // type:function size:0x24 -fn_1_C878 = .text:0x0000C878; // type:function size:0x124 -fn_1_C99C = .text:0x0000C99C; // type:function size:0x4D8 -fn_1_CE74 = .text:0x0000CE74; // type:function size:0x8C -fn_1_CF00 = .text:0x0000CF00; // type:function size:0x80 -fn_1_CF80 = .text:0x0000CF80; // type:function size:0x90 -fn_1_D010 = .text:0x0000D010; // type:function size:0x64 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0xC data:4byte -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 data:double -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 data:double -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x54 data:float -lbl_1_data_54 = .data:0x00000054; // type:object size:0xC -lbl_1_data_60 = .data:0x00000060; // type:object size:0xC -lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC -lbl_1_data_78 = .data:0x00000078; // type:object size:0x24 -lbl_1_data_9C = .data:0x0000009C; // type:object size:0xC -lbl_1_data_A8 = .data:0x000000A8; // type:object size:0xC -lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x4 -jumptable_1_data_B8 = .data:0x000000B8; // type:object size:0x28 scope:local -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0xC -lbl_1_data_EC = .data:0x000000EC; // type:object size:0xC -lbl_1_data_F8 = .data:0x000000F8; // type:object size:0xC -lbl_1_data_104 = .data:0x00000104; // type:object size:0x4C -lbl_1_data_150 = .data:0x00000150; // type:object size:0x5C -jumptable_1_data_1AC = .data:0x000001AC; // type:object size:0x2C scope:local -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0x8 data:4byte -lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0x30 data:float -lbl_1_data_210 = .data:0x00000210; // type:object size:0xC data:float -lbl_1_data_21C = .data:0x0000021C; // type:object size:0xC0 -lbl_1_data_2DC = .data:0x000002DC; // type:object size:0xC -lbl_1_data_2E8 = .data:0x000002E8; // type:object size:0x24 -lbl_1_data_30C = .data:0x0000030C; // type:object size:0xC data:4byte -lbl_1_data_318 = .data:0x00000318; // type:object size:0x6 data:string -lbl_1_data_31E = .data:0x0000031E; // type:object size:0x6 data:string -lbl_1_data_324 = .data:0x00000324; // type:object size:0x8 -jumptable_1_data_32C = .data:0x0000032C; // type:object size:0x40 scope:local -lbl_1_data_36C = .data:0x0000036C; // type:object size:0x20 -lbl_1_data_38C = .data:0x0000038C; // type:object size:0x20 -lbl_1_data_3AC = .data:0x000003AC; // type:object size:0x19 data:string -lbl_1_data_3C5 = .data:0x000003C5; // type:object size:0x5 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0xC data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x8 data:2byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x8 data:2byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x8 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x8 data:byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x534 data:4byte -lbl_1_bss_594 = .bss:0x00000594; // type:object size:0x18 -lbl_1_bss_5AC = .bss:0x000005AC; // type:object size:0x10 data:4byte -lbl_1_bss_5BC = .bss:0x000005BC; // type:object size:0x84 -lbl_1_bss_640 = .bss:0x00000640; // type:object size:0x80 data:4byte -lbl_1_bss_6C0 = .bss:0x000006C0; // type:object size:0x4 data:4byte -lbl_1_bss_6C4 = .bss:0x000006C4; // type:object size:0x4 data:4byte -lbl_1_bss_6C8 = .bss:0x000006C8; // type:object size:0x4 data:4byte -lbl_1_bss_6CC = .bss:0x000006CC; // type:object size:0xC data:4byte -lbl_1_bss_6D8 = .bss:0x000006D8; // type:object size:0x4 data:4byte -lbl_1_bss_6DC = .bss:0x000006DC; // type:object size:0x4 data:4byte diff --git a/config/GMPJ01_00/rels/m425Dll/splits.txt b/config/GMPJ01_00/rels/m425Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m425Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m425Dll/symbols.txt b/config/GMPJ01_00/rels/m425Dll/symbols.txt deleted file mode 100644 index 05f71975..00000000 --- a/config/GMPJ01_00/rels/m425Dll/symbols.txt +++ /dev/null @@ -1,299 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x3C0 -fn_1_460 = .text:0x00000460; // type:function size:0x20 -fn_1_480 = .text:0x00000480; // type:function size:0x464 -fn_1_8E4 = .text:0x000008E4; // type:function size:0x664 -fn_1_F48 = .text:0x00000F48; // type:function size:0x60 -fn_1_FA8 = .text:0x00000FA8; // type:function size:0x524 -fn_1_14CC = .text:0x000014CC; // type:function size:0x120 -fn_1_15EC = .text:0x000015EC; // type:function size:0xC4 -fn_1_16B0 = .text:0x000016B0; // type:function size:0x490 -fn_1_1B40 = .text:0x00001B40; // type:function size:0xC44 -fn_1_2784 = .text:0x00002784; // type:function size:0xEC -fn_1_2870 = .text:0x00002870; // type:function size:0x224 -fn_1_2A94 = .text:0x00002A94; // type:function size:0x98 -fn_1_2B2C = .text:0x00002B2C; // type:function size:0x34C -fn_1_2E78 = .text:0x00002E78; // type:function size:0x568 -fn_1_33E0 = .text:0x000033E0; // type:function size:0x384 -fn_1_3764 = .text:0x00003764; // type:function size:0x76C -fn_1_3ED0 = .text:0x00003ED0; // type:function size:0xB0 -fn_1_3F80 = .text:0x00003F80; // type:function size:0xB08 -fn_1_4A88 = .text:0x00004A88; // type:function size:0x5BC -fn_1_5044 = .text:0x00005044; // type:function size:0x524 -fn_1_5568 = .text:0x00005568; // type:function size:0xA0 -fn_1_5608 = .text:0x00005608; // type:function size:0xA8 -fn_1_56B0 = .text:0x000056B0; // type:function size:0x8C -fn_1_573C = .text:0x0000573C; // type:function size:0x98 -fn_1_57D4 = .text:0x000057D4; // type:function size:0x44C -fn_1_5C20 = .text:0x00005C20; // type:function size:0x8B4 -fn_1_64D4 = .text:0x000064D4; // type:function size:0x54 -fn_1_6528 = .text:0x00006528; // type:function size:0x78 -fn_1_65A0 = .text:0x000065A0; // type:function size:0x11C -fn_1_66BC = .text:0x000066BC; // type:function size:0x78 -fn_1_6734 = .text:0x00006734; // type:function size:0x2D8 -fn_1_6A0C = .text:0x00006A0C; // type:function size:0x1CC -fn_1_6BD8 = .text:0x00006BD8; // type:function size:0x30 -fn_1_6C08 = .text:0x00006C08; // type:function size:0xC8 -fn_1_6CD0 = .text:0x00006CD0; // type:function size:0x12C -fn_1_6DFC = .text:0x00006DFC; // type:function size:0xC8 -fn_1_6EC4 = .text:0x00006EC4; // type:function size:0x69D8 -fn_1_D89C = .text:0x0000D89C; // type:function size:0x10 -fn_1_D8AC = .text:0x0000D8AC; // type:function size:0x10 -fn_1_D8BC = .text:0x0000D8BC; // type:function size:0x10 -fn_1_D8CC = .text:0x0000D8CC; // type:function size:0x10 -fn_1_D8DC = .text:0x0000D8DC; // type:function size:0xCC -fn_1_D9A8 = .text:0x0000D9A8; // type:function size:0x19C -fn_1_DB44 = .text:0x0000DB44; // type:function size:0x2F8 -fn_1_DE3C = .text:0x0000DE3C; // type:function size:0x3D4 -fn_1_E210 = .text:0x0000E210; // type:function size:0x704 -fn_1_E914 = .text:0x0000E914; // type:function size:0x18B0 -fn_1_101C4 = .text:0x000101C4; // type:function size:0x828 -fn_1_109EC = .text:0x000109EC; // type:function size:0x308 -fn_1_10CF4 = .text:0x00010CF4; // type:function size:0x60 -fn_1_10D54 = .text:0x00010D54; // type:function size:0x60 -fn_1_10DB4 = .text:0x00010DB4; // type:function size:0x88 -fn_1_10E3C = .text:0x00010E3C; // type:function size:0xBC -fn_1_10EF8 = .text:0x00010EF8; // type:function size:0x38C -fn_1_11284 = .text:0x00011284; // type:function size:0x78 -fn_1_112FC = .text:0x000112FC; // type:function size:0x11C -fn_1_11418 = .text:0x00011418; // type:function size:0x3C -fn_1_11454 = .text:0x00011454; // type:function size:0x180 -fn_1_115D4 = .text:0x000115D4; // type:function size:0x110 -fn_1_116E4 = .text:0x000116E4; // type:function size:0x390 -fn_1_11A74 = .text:0x00011A74; // type:function size:0x46C -fn_1_11EE0 = .text:0x00011EE0; // type:function size:0x7B4 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x10 data:4byte -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0xC0 -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 data:double -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x10 data:4byte -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x10 data:4byte -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x8 data:double -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 data:double -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 data:double -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x20 data:4byte -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 data:double -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 data:double -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x8 data:double -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 data:double -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 data:double -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 data:double -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 data:double -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 data:float -lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 data:double -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x8 data:double -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x2 data:2byte -lbl_1_data_4 = .data:0x00000004; // type:object size:0xC -lbl_1_data_10 = .data:0x00000010; // type:object size:0x30 -lbl_1_data_40 = .data:0x00000040; // type:object size:0x4 -lbl_1_data_44 = .data:0x00000044; // type:object size:0x24 -lbl_1_data_68 = .data:0x00000068; // type:object size:0x4 data:4byte -lbl_1_data_6C = .data:0x0000006C; // type:object size:0x28 -lbl_1_data_94 = .data:0x00000094; // type:object size:0x30 -jumptable_1_data_C4 = .data:0x000000C4; // type:object size:0x28 scope:local -jumptable_1_data_EC = .data:0x000000EC; // type:object size:0x28 scope:local -lbl_1_data_114 = .data:0x00000114; // type:object size:0x4 data:4byte -lbl_1_data_118 = .data:0x00000118; // type:object size:0x18 -lbl_1_data_130 = .data:0x00000130; // type:object size:0x20 -lbl_1_data_150 = .data:0x00000150; // type:object size:0x18 -lbl_1_data_168 = .data:0x00000168; // type:object size:0x1 data:byte -lbl_1_data_16C = .data:0x0000016C; // type:object size:0x30 -lbl_1_data_19C = .data:0x0000019C; // type:object size:0x30 -lbl_1_data_1CC = .data:0x000001CC; // type:object size:0x20 -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:float -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:float -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x630 -lbl_1_bss_640 = .bss:0x00000640; // type:object size:0x2 data:2byte -lbl_1_bss_642 = .bss:0x00000642; // type:object size:0x2 data:2byte -lbl_1_bss_644 = .bss:0x00000644; // type:object size:0x2 data:2byte -lbl_1_bss_646 = .bss:0x00000646; // type:object size:0x2 data:2byte -lbl_1_bss_648 = .bss:0x00000648; // type:object size:0x2 data:2byte -lbl_1_bss_64C = .bss:0x0000064C; // type:object size:0x10 -lbl_1_bss_65C = .bss:0x0000065C; // type:object size:0x4 data:4byte -lbl_1_bss_660 = .bss:0x00000660; // type:object size:0x4 data:4byte -lbl_1_bss_664 = .bss:0x00000664; // type:object size:0x4 data:4byte -lbl_1_bss_668 = .bss:0x00000668; // type:object size:0x8 data:4byte -lbl_1_bss_670 = .bss:0x00000670; // type:object size:0xC data:float -lbl_1_bss_67C = .bss:0x0000067C; // type:object size:0xC data:float -lbl_1_bss_688 = .bss:0x00000688; // type:object size:0x40 -lbl_1_bss_6C8 = .bss:0x000006C8; // type:object size:0x1 data:byte -lbl_1_bss_6CC = .bss:0x000006CC; // type:object size:0x4 data:4byte -lbl_1_bss_6D0 = .bss:0x000006D0; // type:object size:0x1 data:byte -lbl_1_bss_6D4 = .bss:0x000006D4; // type:object size:0x4 data:4byte -lbl_1_bss_6D8 = .bss:0x000006D8; // type:object size:0x4 data:4byte -lbl_1_bss_6DC = .bss:0x000006DC; // type:object size:0x4 data:4byte -lbl_1_bss_6E0 = .bss:0x000006E0; // type:object size:0x4 data:4byte -lbl_1_bss_6E4 = .bss:0x000006E4; // type:object size:0x4 data:4byte -lbl_1_bss_6E8 = .bss:0x000006E8; // type:object size:0x4 data:4byte -lbl_1_bss_6EC = .bss:0x000006EC; // type:object size:0x4 data:4byte -lbl_1_bss_6F0 = .bss:0x000006F0; // type:object size:0x4 data:4byte diff --git a/config/GMPJ01_00/rels/m426Dll/splits.txt b/config/GMPJ01_00/rels/m426Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m426Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m426Dll/symbols.txt b/config/GMPJ01_00/rels/m426Dll/symbols.txt deleted file mode 100644 index ade0fb6b..00000000 --- a/config/GMPJ01_00/rels/m426Dll/symbols.txt +++ /dev/null @@ -1,224 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x16C -fn_1_20C = .text:0x0000020C; // type:function size:0x124 -fn_1_330 = .text:0x00000330; // type:function size:0xA88 -fn_1_DB8 = .text:0x00000DB8; // type:function size:0x60 -fn_1_E18 = .text:0x00000E18; // type:function size:0xA0 -fn_1_EB8 = .text:0x00000EB8; // type:function size:0x14C -fn_1_1004 = .text:0x00001004; // type:function size:0x178 -fn_1_117C = .text:0x0000117C; // type:function size:0x70 -fn_1_11EC = .text:0x000011EC; // type:function size:0x70 -fn_1_125C = .text:0x0000125C; // type:function size:0x49C -fn_1_16F8 = .text:0x000016F8; // type:function size:0x13D0 -fn_1_2AC8 = .text:0x00002AC8; // type:function size:0x14 -fn_1_2ADC = .text:0x00002ADC; // type:function size:0x98 -fn_1_2B74 = .text:0x00002B74; // type:function size:0x368 -fn_1_2EDC = .text:0x00002EDC; // type:function size:0x80 -fn_1_2F5C = .text:0x00002F5C; // type:function size:0x6F8 -fn_1_3654 = .text:0x00003654; // type:function size:0x70 -fn_1_36C4 = .text:0x000036C4; // type:function size:0x50 -fn_1_3714 = .text:0x00003714; // type:function size:0x7E8 -fn_1_3EFC = .text:0x00003EFC; // type:function size:0x700 -fn_1_45FC = .text:0x000045FC; // type:function size:0x48 -fn_1_4644 = .text:0x00004644; // type:function size:0x60 -fn_1_46A4 = .text:0x000046A4; // type:function size:0x94 -fn_1_4738 = .text:0x00004738; // type:function size:0x15C -fn_1_4894 = .text:0x00004894; // type:function size:0x5C -fn_1_48F0 = .text:0x000048F0; // type:function size:0x178 -fn_1_4A68 = .text:0x00004A68; // type:function size:0x8C -fn_1_4AF4 = .text:0x00004AF4; // type:function size:0x3D0 -fn_1_4EC4 = .text:0x00004EC4; // type:function size:0x50 -fn_1_4F14 = .text:0x00004F14; // type:function size:0x220 -fn_1_5134 = .text:0x00005134; // type:function size:0xA00 -fn_1_5B34 = .text:0x00005B34; // type:function size:0x14 -fn_1_5B48 = .text:0x00005B48; // type:function size:0x40 -fn_1_5B88 = .text:0x00005B88; // type:function size:0xE4 -fn_1_5C6C = .text:0x00005C6C; // type:function size:0xD0 -fn_1_5D3C = .text:0x00005D3C; // type:function size:0x130 -fn_1_5E6C = .text:0x00005E6C; // type:function size:0x50 -fn_1_5EBC = .text:0x00005EBC; // type:function size:0x14C -fn_1_6008 = .text:0x00006008; // type:function size:0x178 -fn_1_6180 = .text:0x00006180; // type:function size:0x60 -fn_1_61E0 = .text:0x000061E0; // type:function size:0x68 -fn_1_6248 = .text:0x00006248; // type:function size:0xC8 -fn_1_6310 = .text:0x00006310; // type:function size:0xA8 -fn_1_63B8 = .text:0x000063B8; // type:function size:0x1DC -fn_1_6594 = .text:0x00006594; // type:function size:0x50 -fn_1_65E4 = .text:0x000065E4; // type:function size:0x120 -fn_1_6704 = .text:0x00006704; // type:function size:0x118 -fn_1_681C = .text:0x0000681C; // type:function size:0x28 -fn_1_6844 = .text:0x00006844; // type:function size:0x44 -fn_1_6888 = .text:0x00006888; // type:function size:0x15C -fn_1_69E4 = .text:0x000069E4; // type:function size:0x50 -fn_1_6A34 = .text:0x00006A34; // type:function size:0x38C -fn_1_6DC0 = .text:0x00006DC0; // type:function size:0x410 -fn_1_71D0 = .text:0x000071D0; // type:function size:0xA8 -fn_1_7278 = .text:0x00007278; // type:function size:0xB0 -fn_1_7328 = .text:0x00007328; // type:function size:0xB4 -fn_1_73DC = .text:0x000073DC; // type:function size:0x1B0 -fn_1_758C = .text:0x0000758C; // type:function size:0x20 -fn_1_75AC = .text:0x000075AC; // type:function size:0x4 -fn_1_75B0 = .text:0x000075B0; // type:function size:0xC -fn_1_75BC = .text:0x000075BC; // type:function size:0x38 -fn_1_75F4 = .text:0x000075F4; // type:function size:0x118 -fn_1_770C = .text:0x0000770C; // type:function size:0x250 -fn_1_795C = .text:0x0000795C; // type:function size:0x46C -fn_1_7DC8 = .text:0x00007DC8; // type:function size:0x314 -fn_1_80DC = .text:0x000080DC; // type:function size:0x7D8 -fn_1_88B4 = .text:0x000088B4; // type:function size:0x55C -fn_1_8E10 = .text:0x00008E10; // type:function size:0x38 -fn_1_8E48 = .text:0x00008E48; // type:function size:0x2E8 -fn_1_9130 = .text:0x00009130; // type:function size:0x100 -fn_1_9230 = .text:0x00009230; // type:function size:0x314 -fn_1_9544 = .text:0x00009544; // type:function size:0x1D8 -fn_1_971C = .text:0x0000971C; // type:function size:0x7C -fn_1_9798 = .text:0x00009798; // type:function size:0x54 -fn_1_97EC = .text:0x000097EC; // type:function size:0x7C -fn_1_9868 = .text:0x00009868; // type:function size:0x7C -fn_1_98E4 = .text:0x000098E4; // type:function size:0x78 -fn_1_995C = .text:0x0000995C; // type:function size:0x12C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:4byte -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x1 data:byte -lbl_1_data_0 = .data:0x00000000; // type:object size:0x30 -lbl_1_data_30 = .data:0x00000030; // type:object size:0xC -lbl_1_data_3C = .data:0x0000003C; // type:object size:0xC -lbl_1_data_48 = .data:0x00000048; // type:object size:0x1 data:byte -lbl_1_data_4C = .data:0x0000004C; // type:object size:0x54 data:float -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0xC -lbl_1_data_AC = .data:0x000000AC; // type:object size:0xC -lbl_1_data_B8 = .data:0x000000B8; // type:object size:0xC -lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x24 -jumptable_1_data_E8 = .data:0x000000E8; // type:object size:0x24 scope:local -lbl_1_data_10C = .data:0x0000010C; // type:object size:0x4 -lbl_1_data_110 = .data:0x00000110; // type:object size:0x60 data:4byte -lbl_1_data_170 = .data:0x00000170; // type:object size:0x60 -lbl_1_data_1D0 = .data:0x000001D0; // type:object size:0x8 -jumptable_1_data_1D8 = .data:0x000001D8; // type:object size:0x28 scope:local -lbl_1_data_200 = .data:0x00000200; // type:object size:0x18 -lbl_1_data_218 = .data:0x00000218; // type:object size:0x8 -lbl_1_data_220 = .data:0x00000220; // type:object size:0xC -lbl_1_data_22C = .data:0x0000022C; // type:object size:0x30 -lbl_1_data_25C = .data:0x0000025C; // type:object size:0x20 -lbl_1_data_27C = .data:0x0000027C; // type:object size:0x30 -lbl_1_data_2AC = .data:0x000002AC; // type:object size:0x10 -lbl_1_data_2BC = .data:0x000002BC; // type:object size:0x20 -jumptable_1_data_2DC = .data:0x000002DC; // type:object size:0x1C scope:local -jumptable_1_data_2F8 = .data:0x000002F8; // type:object size:0x1C scope:local -jumptable_1_data_314 = .data:0x00000314; // type:object size:0x1C scope:local -jumptable_1_data_330 = .data:0x00000330; // type:object size:0x1C scope:local -jumptable_1_data_34C = .data:0x0000034C; // type:object size:0x1C scope:local -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0xC data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0xC data:float -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x1 data:byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x8 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:float -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:float -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x4 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x4 data:4byte -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x10 -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x8 -lbl_1_bss_94 = .bss:0x00000094; // type:object size:0x4 data:4byte -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x4 data:4byte diff --git a/config/GMPJ01_00/rels/m427Dll/splits.txt b/config/GMPJ01_00/rels/m427Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m427Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m427Dll/symbols.txt b/config/GMPJ01_00/rels/m427Dll/symbols.txt deleted file mode 100644 index 0ce6699f..00000000 --- a/config/GMPJ01_00/rels/m427Dll/symbols.txt +++ /dev/null @@ -1,437 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x1FC -fn_1_29C = .text:0x0000029C; // type:function size:0x64 -fn_1_300 = .text:0x00000300; // type:function size:0x1364 -fn_1_1664 = .text:0x00001664; // type:function size:0x60 -fn_1_16C4 = .text:0x000016C4; // type:function size:0xC4 -fn_1_1788 = .text:0x00001788; // type:function size:0x10 -fn_1_1798 = .text:0x00001798; // type:function size:0xCC -fn_1_1864 = .text:0x00001864; // type:function size:0x20 -fn_1_1884 = .text:0x00001884; // type:function size:0xD0 -fn_1_1954 = .text:0x00001954; // type:function size:0x5E0 -fn_1_1F34 = .text:0x00001F34; // type:function size:0x254 -fn_1_2188 = .text:0x00002188; // type:function size:0x60 -fn_1_21E8 = .text:0x000021E8; // type:function size:0x144 -fn_1_232C = .text:0x0000232C; // type:function size:0x1EC -fn_1_2518 = .text:0x00002518; // type:function size:0x1EC -fn_1_2704 = .text:0x00002704; // type:function size:0x28 -fn_1_272C = .text:0x0000272C; // type:function size:0x64 -fn_1_2790 = .text:0x00002790; // type:function size:0x390 -fn_1_2B20 = .text:0x00002B20; // type:function size:0x4 -fn_1_2B24 = .text:0x00002B24; // type:function size:0x4 -fn_1_2B28 = .text:0x00002B28; // type:function size:0x1C0 -fn_1_2CE8 = .text:0x00002CE8; // type:function size:0x1F8 -fn_1_2EE0 = .text:0x00002EE0; // type:function size:0x8C -fn_1_2F6C = .text:0x00002F6C; // type:function size:0x1F8 -fn_1_3164 = .text:0x00003164; // type:function size:0x188 -fn_1_32EC = .text:0x000032EC; // type:function size:0x8 -fn_1_32F4 = .text:0x000032F4; // type:function size:0x438 -fn_1_372C = .text:0x0000372C; // type:function size:0x35C -fn_1_3A88 = .text:0x00003A88; // type:function size:0x98 -fn_1_3B20 = .text:0x00003B20; // type:function size:0x29C -fn_1_3DBC = .text:0x00003DBC; // type:function size:0x9C -fn_1_3E58 = .text:0x00003E58; // type:function size:0x3C0 -fn_1_4218 = .text:0x00004218; // type:function size:0x2DC -fn_1_44F4 = .text:0x000044F4; // type:function size:0x7C -fn_1_4570 = .text:0x00004570; // type:function size:0x37C -fn_1_48EC = .text:0x000048EC; // type:function size:0x490 -fn_1_4D7C = .text:0x00004D7C; // type:function size:0x324 -fn_1_50A0 = .text:0x000050A0; // type:function size:0x6C -fn_1_510C = .text:0x0000510C; // type:function size:0x480 -fn_1_558C = .text:0x0000558C; // type:function size:0xC00 -fn_1_618C = .text:0x0000618C; // type:function size:0x5D4 -fn_1_6760 = .text:0x00006760; // type:function size:0xB84 -fn_1_72E4 = .text:0x000072E4; // type:function size:0xD8 -fn_1_73BC = .text:0x000073BC; // type:function size:0x590 -fn_1_794C = .text:0x0000794C; // type:function size:0x2E8 -fn_1_7C34 = .text:0x00007C34; // type:function size:0x22C -fn_1_7E60 = .text:0x00007E60; // type:function size:0xD8 -fn_1_7F38 = .text:0x00007F38; // type:function size:0x69C -fn_1_85D4 = .text:0x000085D4; // type:function size:0x194 -fn_1_8768 = .text:0x00008768; // type:function size:0x6B4 -fn_1_8E1C = .text:0x00008E1C; // type:function size:0x174 -fn_1_8F90 = .text:0x00008F90; // type:function size:0x250 -fn_1_91E0 = .text:0x000091E0; // type:function size:0x60 -fn_1_9240 = .text:0x00009240; // type:function size:0xD8 -fn_1_9318 = .text:0x00009318; // type:function size:0xD4 -fn_1_93EC = .text:0x000093EC; // type:function size:0xD0 -fn_1_94BC = .text:0x000094BC; // type:function size:0x12C -fn_1_95E8 = .text:0x000095E8; // type:function size:0x370 -fn_1_9958 = .text:0x00009958; // type:function size:0x44 -fn_1_999C = .text:0x0000999C; // type:function size:0x48 -fn_1_99E4 = .text:0x000099E4; // type:function size:0x48 -fn_1_9A2C = .text:0x00009A2C; // type:function size:0x74 -fn_1_9AA0 = .text:0x00009AA0; // type:function size:0x74 -fn_1_9B14 = .text:0x00009B14; // type:function size:0x74 -fn_1_9B88 = .text:0x00009B88; // type:function size:0x5C0 -fn_1_A148 = .text:0x0000A148; // type:function size:0xAC -fn_1_A1F4 = .text:0x0000A1F4; // type:function size:0x604 -fn_1_A7F8 = .text:0x0000A7F8; // type:function size:0x680 -fn_1_AE78 = .text:0x0000AE78; // type:function size:0x31C -fn_1_B194 = .text:0x0000B194; // type:function size:0x238 -fn_1_B3CC = .text:0x0000B3CC; // type:function size:0x960 -fn_1_BD2C = .text:0x0000BD2C; // type:function size:0x428 -fn_1_C154 = .text:0x0000C154; // type:function size:0xAC -fn_1_C200 = .text:0x0000C200; // type:function size:0xAC -fn_1_C2AC = .text:0x0000C2AC; // type:function size:0x10 -fn_1_C2BC = .text:0x0000C2BC; // type:function size:0xC -fn_1_C2C8 = .text:0x0000C2C8; // type:function size:0xD8 -fn_1_C3A0 = .text:0x0000C3A0; // type:function size:0x7C -fn_1_C41C = .text:0x0000C41C; // type:function size:0x10C -fn_1_C528 = .text:0x0000C528; // type:function size:0x164 -fn_1_C68C = .text:0x0000C68C; // type:function size:0xE0 -fn_1_C76C = .text:0x0000C76C; // type:function size:0xAC0 -fn_1_D22C = .text:0x0000D22C; // type:function size:0x204 -fn_1_D430 = .text:0x0000D430; // type:function size:0xCC -fn_1_D4FC = .text:0x0000D4FC; // type:function size:0x140 -fn_1_D63C = .text:0x0000D63C; // type:function size:0x544 -fn_1_DB80 = .text:0x0000DB80; // type:function size:0x60 -fn_1_DBE0 = .text:0x0000DBE0; // type:function size:0x2C -fn_1_DC0C = .text:0x0000DC0C; // type:function size:0x58 -fn_1_DC64 = .text:0x0000DC64; // type:function size:0x38 -fn_1_DC9C = .text:0x0000DC9C; // type:function size:0x38 -fn_1_DCD4 = .text:0x0000DCD4; // type:function size:0x5DC -fn_1_E2B0 = .text:0x0000E2B0; // type:function size:0xCC -fn_1_E37C = .text:0x0000E37C; // type:function size:0xA4 -fn_1_E420 = .text:0x0000E420; // type:function size:0x68 -fn_1_E488 = .text:0x0000E488; // type:function size:0x504 -fn_1_E98C = .text:0x0000E98C; // type:function size:0x2C8 -fn_1_EC54 = .text:0x0000EC54; // type:function size:0x20 -fn_1_EC74 = .text:0x0000EC74; // type:function size:0x20 -fn_1_EC94 = .text:0x0000EC94; // type:function size:0x44C -fn_1_F0E0 = .text:0x0000F0E0; // type:function size:0x1750 -fn_1_10830 = .text:0x00010830; // type:function size:0x75C -fn_1_10F8C = .text:0x00010F8C; // type:function size:0x5C -fn_1_10FE8 = .text:0x00010FE8; // type:function size:0x100 -fn_1_110E8 = .text:0x000110E8; // type:function size:0xD8 -fn_1_111C0 = .text:0x000111C0; // type:function size:0xD8 -fn_1_11298 = .text:0x00011298; // type:function size:0x158 -fn_1_113F0 = .text:0x000113F0; // type:function size:0x4C -fn_1_1143C = .text:0x0001143C; // type:function size:0x178 -fn_1_115B4 = .text:0x000115B4; // type:function size:0x40C -fn_1_119C0 = .text:0x000119C0; // type:function size:0xB4 -fn_1_11A74 = .text:0x00011A74; // type:function size:0x464 -fn_1_11ED8 = .text:0x00011ED8; // type:function size:0x63C -fn_1_12514 = .text:0x00012514; // type:function size:0x4 -fn_1_12518 = .text:0x00012518; // type:function size:0x68 -fn_1_12580 = .text:0x00012580; // type:function size:0x588 -fn_1_12B08 = .text:0x00012B08; // type:function size:0x141C -fn_1_13F24 = .text:0x00013F24; // type:function size:0x94 -fn_1_13FB8 = .text:0x00013FB8; // type:function size:0x4 -fn_1_13FBC = .text:0x00013FBC; // type:function size:0x14FC -fn_1_154B8 = .text:0x000154B8; // type:function size:0x4 -fn_1_154BC = .text:0x000154BC; // type:function size:0x124 -fn_1_155E0 = .text:0x000155E0; // type:function size:0x134 -fn_1_15714 = .text:0x00015714; // type:function size:0x1C4 -fn_1_158D8 = .text:0x000158D8; // type:function size:0x218 -fn_1_15AF0 = .text:0x00015AF0; // type:function size:0x420 -fn_1_15F10 = .text:0x00015F10; // type:function size:0xC0 -fn_1_15FD0 = .text:0x00015FD0; // type:function size:0xAC -fn_1_1607C = .text:0x0001607C; // type:function size:0x58 -fn_1_160D4 = .text:0x000160D4; // type:function size:0x18C -fn_1_16260 = .text:0x00016260; // type:function size:0x334 -fn_1_16594 = .text:0x00016594; // type:function size:0x118 -fn_1_166AC = .text:0x000166AC; // type:function size:0x250 -fn_1_168FC = .text:0x000168FC; // type:function size:0x3F8 -fn_1_16CF4 = .text:0x00016CF4; // type:function size:0x148 -fn_1_16E3C = .text:0x00016E3C; // type:function size:0xBC -fn_1_16EF8 = .text:0x00016EF8; // type:function size:0x150 -fn_1_17048 = .text:0x00017048; // type:function size:0x1F0 -fn_1_17238 = .text:0x00017238; // type:function size:0x4 -fn_1_1723C = .text:0x0001723C; // type:function size:0xB4 -fn_1_172F0 = .text:0x000172F0; // type:function size:0x140 -fn_1_17430 = .text:0x00017430; // type:function size:0xA4 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0xC data:2byte -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x3C data:4byte -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x6 data:2byte -lbl_1_rodata_136 = .rodata:0x00000136; // type:object size:0xC data:2byte -lbl_1_rodata_142 = .rodata:0x00000142; // type:object size:0x1A data:2byte -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x24 data:4byte -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x30 data:4byte -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x10 data:4byte -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0xC data:4byte -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0xC data:4byte -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x1 data:byte -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x1 data:byte -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x1 data:byte -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x1 data:byte -lbl_1_rodata_38A = .rodata:0x0000038A; // type:object size:0x1 data:byte -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x8 data:double -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 data:double -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 data:double -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 data:double -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x8 data:double -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 data:float -lbl_1_data_70 = .data:0x00000070; // type:object size:0x24 -jumptable_1_data_94 = .data:0x00000094; // type:object size:0x3C scope:local -lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x8 -lbl_1_data_D8 = .data:0x000000D8; // type:object size:0x4 -lbl_1_data_DC = .data:0x000000DC; // type:object size:0x4 -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0xC data:2byte -lbl_1_data_EC = .data:0x000000EC; // type:object size:0x8 -lbl_1_data_F4 = .data:0x000000F4; // type:object size:0x4 data:float -lbl_1_data_F8 = .data:0x000000F8; // type:object size:0x4 data:float -lbl_1_data_FC = .data:0x000000FC; // type:object size:0x30 -lbl_1_data_12C = .data:0x0000012C; // type:object size:0x8 -lbl_1_data_134 = .data:0x00000134; // type:object size:0x10 -lbl_1_data_144 = .data:0x00000144; // type:object size:0x90 data:float -lbl_1_data_1D4 = .data:0x000001D4; // type:object size:0x8 -lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x8 -lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x8 -lbl_1_data_1EC = .data:0x000001EC; // type:object size:0x4 -lbl_1_data_1F0 = .data:0x000001F0; // type:object size:0x13 data:string -lbl_1_data_203 = .data:0x00000203; // type:object size:0x10 data:string -lbl_1_data_213 = .data:0x00000213; // type:object size:0x26 data:string -lbl_1_data_239 = .data:0x00000239; // type:object size:0x27 -lbl_1_data_260 = .data:0x00000260; // type:object size:0x15C -lbl_1_data_3BC = .data:0x000003BC; // type:object size:0x178 -lbl_1_data_534 = .data:0x00000534; // type:object size:0x18 -lbl_1_data_54C = .data:0x0000054C; // type:object size:0x18 data:float -lbl_1_data_564 = .data:0x00000564; // type:object size:0xC data:float -lbl_1_data_570 = .data:0x00000570; // type:object size:0xC data:float -lbl_1_data_57C = .data:0x0000057C; // type:object size:0x4 -lbl_1_data_580 = .data:0x00000580; // type:object size:0x10 -lbl_1_data_590 = .data:0x00000590; // type:object size:0x1C -lbl_1_data_5AC = .data:0x000005AC; // type:object size:0x1C -lbl_1_data_5C8 = .data:0x000005C8; // type:object size:0x8 -lbl_1_data_5D0 = .data:0x000005D0; // type:object size:0x8 -jumptable_1_data_5D8 = .data:0x000005D8; // type:object size:0x20 scope:local -lbl_1_data_5F8 = .data:0x000005F8; // type:object size:0x8 -lbl_1_data_600 = .data:0x00000600; // type:object size:0x8 -lbl_1_data_608 = .data:0x00000608; // type:object size:0x10 -lbl_1_data_618 = .data:0x00000618; // type:object size:0x10 -jumptable_1_data_628 = .data:0x00000628; // type:object size:0x20 scope:local -lbl_1_data_648 = .data:0x00000648; // type:object size:0x4 -lbl_1_data_64C = .data:0x0000064C; // type:object size:0x1 data:byte -lbl_1_data_650 = .data:0x00000650; // type:object size:0x4 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x40 -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x4 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x8 -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x4 data:4byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x4 data:4byte -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x4 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x4 data:4byte -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:4byte -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x1 data:byte -lbl_1_bss_91 = .bss:0x00000091; // type:object size:0x1 data:byte -lbl_1_bss_94 = .bss:0x00000094; // type:object size:0x4 data:float -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x4C data:4byte -lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x4 data:4byte -lbl_1_bss_E8 = .bss:0x000000E8; // type:object size:0x4 -lbl_1_bss_EC = .bss:0x000000EC; // type:object size:0x4 -lbl_1_bss_F0 = .bss:0x000000F0; // type:object size:0x4 data:4byte -lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0x4 data:4byte -lbl_1_bss_F8 = .bss:0x000000F8; // type:object size:0x60 data:2byte -lbl_1_bss_158 = .bss:0x00000158; // type:object size:0x3F0 data:byte -lbl_1_bss_548 = .bss:0x00000548; // type:object size:0x8 data:4byte -lbl_1_bss_550 = .bss:0x00000550; // type:object size:0x4 data:4byte -lbl_1_bss_554 = .bss:0x00000554; // type:object size:0x4 data:4byte -lbl_1_bss_558 = .bss:0x00000558; // type:object size:0x4 data:4byte -lbl_1_bss_55C = .bss:0x0000055C; // type:object size:0x10 -lbl_1_bss_56C = .bss:0x0000056C; // type:object size:0x8 -lbl_1_bss_574 = .bss:0x00000574; // type:object size:0x4 data:4byte -lbl_1_bss_578 = .bss:0x00000578; // type:object size:0x4 data:4byte -lbl_1_bss_57C = .bss:0x0000057C; // type:object size:0x4 data:4byte -lbl_1_bss_580 = .bss:0x00000580; // type:object size:0x4 data:4byte -lbl_1_bss_584 = .bss:0x00000584; // type:object size:0x4 data:4byte -lbl_1_bss_588 = .bss:0x00000588; // type:object size:0x4 data:4byte -lbl_1_bss_58C = .bss:0x0000058C; // type:object size:0x4 data:4byte -lbl_1_bss_590 = .bss:0x00000590; // type:object size:0x4 data:4byte -lbl_1_bss_594 = .bss:0x00000594; // type:object size:0x4 data:4byte diff --git a/config/GMPJ01_00/rels/m428Dll/splits.txt b/config/GMPJ01_00/rels/m428Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m428Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m428Dll/symbols.txt b/config/GMPJ01_00/rels/m428Dll/symbols.txt deleted file mode 100644 index cd8f595d..00000000 --- a/config/GMPJ01_00/rels/m428Dll/symbols.txt +++ /dev/null @@ -1,409 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x218 -fn_1_2B8 = .text:0x000002B8; // type:function size:0x1C0 -fn_1_478 = .text:0x00000478; // type:function size:0x2154 -fn_1_25CC = .text:0x000025CC; // type:function size:0x50 -fn_1_261C = .text:0x0000261C; // type:function size:0xC4 -fn_1_26E0 = .text:0x000026E0; // type:function size:0x10 -fn_1_26F0 = .text:0x000026F0; // type:function size:0x2F8 -fn_1_29E8 = .text:0x000029E8; // type:function size:0x4 -fn_1_29EC = .text:0x000029EC; // type:function size:0x4 -fn_1_29F0 = .text:0x000029F0; // type:function size:0x10 -fn_1_2A00 = .text:0x00002A00; // type:function size:0xCC -fn_1_2ACC = .text:0x00002ACC; // type:function size:0x1C4 -fn_1_2C90 = .text:0x00002C90; // type:function size:0x19C -fn_1_2E2C = .text:0x00002E2C; // type:function size:0xD38 -fn_1_3B64 = .text:0x00003B64; // type:function size:0x540 -fn_1_40A4 = .text:0x000040A4; // type:function size:0xCC -fn_1_4170 = .text:0x00004170; // type:function size:0xF4 -fn_1_4264 = .text:0x00004264; // type:function size:0xC0 -fn_1_4324 = .text:0x00004324; // type:function size:0xA4 -fn_1_43C8 = .text:0x000043C8; // type:function size:0x268 -fn_1_4630 = .text:0x00004630; // type:function size:0x20 -fn_1_4650 = .text:0x00004650; // type:function size:0x10C -fn_1_475C = .text:0x0000475C; // type:function size:0x420 -fn_1_4B7C = .text:0x00004B7C; // type:function size:0x2C8 -fn_1_4E44 = .text:0x00004E44; // type:function size:0x34 -fn_1_4E78 = .text:0x00004E78; // type:function size:0x8C -fn_1_4F04 = .text:0x00004F04; // type:function size:0x2DC -fn_1_51E0 = .text:0x000051E0; // type:function size:0xF8 -fn_1_52D8 = .text:0x000052D8; // type:function size:0x4 -fn_1_52DC = .text:0x000052DC; // type:function size:0x94 -fn_1_5370 = .text:0x00005370; // type:function size:0x1E8 -fn_1_5558 = .text:0x00005558; // type:function size:0x12C -fn_1_5684 = .text:0x00005684; // type:function size:0x648 -fn_1_5CCC = .text:0x00005CCC; // type:function size:0x5B4 -fn_1_6280 = .text:0x00006280; // type:function size:0xF2C -fn_1_71AC = .text:0x000071AC; // type:function size:0xE8 -fn_1_7294 = .text:0x00007294; // type:function size:0x40 -fn_1_72D4 = .text:0x000072D4; // type:function size:0xC8 -fn_1_739C = .text:0x0000739C; // type:function size:0x94 -fn_1_7430 = .text:0x00007430; // type:function size:0x84 -fn_1_74B4 = .text:0x000074B4; // type:function size:0x4C -fn_1_7500 = .text:0x00007500; // type:function size:0x54 -fn_1_7554 = .text:0x00007554; // type:function size:0x13C -fn_1_7690 = .text:0x00007690; // type:function size:0x168 -fn_1_77F8 = .text:0x000077F8; // type:function size:0x120 -fn_1_7918 = .text:0x00007918; // type:function size:0x39C -fn_1_7CB4 = .text:0x00007CB4; // type:function size:0x2E0 -fn_1_7F94 = .text:0x00007F94; // type:function size:0x198 -fn_1_812C = .text:0x0000812C; // type:function size:0xD8 -fn_1_8204 = .text:0x00008204; // type:function size:0xBC -fn_1_82C0 = .text:0x000082C0; // type:function size:0x33C -fn_1_85FC = .text:0x000085FC; // type:function size:0x4B0 -fn_1_8AAC = .text:0x00008AAC; // type:function size:0x78 -fn_1_8B24 = .text:0x00008B24; // type:function size:0x11C -fn_1_8C40 = .text:0x00008C40; // type:function size:0x78 -fn_1_8CB8 = .text:0x00008CB8; // type:function size:0x2D8 -fn_1_8F90 = .text:0x00008F90; // type:function size:0x2B8 -fn_1_9248 = .text:0x00009248; // type:function size:0x154 -fn_1_939C = .text:0x0000939C; // type:function size:0x3E0 -fn_1_977C = .text:0x0000977C; // type:function size:0x214 -fn_1_9990 = .text:0x00009990; // type:function size:0xA0 -fn_1_9A30 = .text:0x00009A30; // type:function size:0xAC -fn_1_9ADC = .text:0x00009ADC; // type:function size:0x30C -fn_1_9DE8 = .text:0x00009DE8; // type:function size:0xC0 -fn_1_9EA8 = .text:0x00009EA8; // type:function size:0x60 -fn_1_9F08 = .text:0x00009F08; // type:function size:0x54 -fn_1_9F5C = .text:0x00009F5C; // type:function size:0x154 -fn_1_A0B0 = .text:0x0000A0B0; // type:function size:0x58 -fn_1_A108 = .text:0x0000A108; // type:function size:0x3C0 -fn_1_A4C8 = .text:0x0000A4C8; // type:function size:0xF0C -fn_1_B3D4 = .text:0x0000B3D4; // type:function size:0x68 -fn_1_B43C = .text:0x0000B43C; // type:function size:0x794 -fn_1_BBD0 = .text:0x0000BBD0; // type:function size:0x2A24 -fn_1_E5F4 = .text:0x0000E5F4; // type:function size:0xC -fn_1_E600 = .text:0x0000E600; // type:function size:0xA80 -fn_1_F080 = .text:0x0000F080; // type:function size:0x208 -fn_1_F288 = .text:0x0000F288; // type:function size:0xCC -fn_1_F354 = .text:0x0000F354; // type:function size:0x68 -fn_1_F3BC = .text:0x0000F3BC; // type:function size:0x58 -fn_1_F414 = .text:0x0000F414; // type:function size:0x40 -fn_1_F454 = .text:0x0000F454; // type:function size:0x18 -fn_1_F46C = .text:0x0000F46C; // type:function size:0x48 -fn_1_F4B4 = .text:0x0000F4B4; // type:function size:0x34 -fn_1_F4E8 = .text:0x0000F4E8; // type:function size:0x50 -fn_1_F538 = .text:0x0000F538; // type:function size:0x354 -fn_1_F88C = .text:0x0000F88C; // type:function size:0x300 -fn_1_FB8C = .text:0x0000FB8C; // type:function size:0x30C -fn_1_FE98 = .text:0x0000FE98; // type:function size:0x410 -fn_1_102A8 = .text:0x000102A8; // type:function size:0x288 -fn_1_10530 = .text:0x00010530; // type:function size:0x60 -fn_1_10590 = .text:0x00010590; // type:function size:0x58 -fn_1_105E8 = .text:0x000105E8; // type:function size:0xC0 -fn_1_106A8 = .text:0x000106A8; // type:function size:0xE0 -fn_1_10788 = .text:0x00010788; // type:function size:0x300 -fn_1_10A88 = .text:0x00010A88; // type:function size:0x58C -fn_1_11014 = .text:0x00011014; // type:function size:0x5E4 -fn_1_115F8 = .text:0x000115F8; // type:function size:0xCC -fn_1_116C4 = .text:0x000116C4; // type:function size:0x90 -fn_1_11754 = .text:0x00011754; // type:function size:0x44 -fn_1_11798 = .text:0x00011798; // type:function size:0x110 -fn_1_118A8 = .text:0x000118A8; // type:function size:0x88 -fn_1_11930 = .text:0x00011930; // type:function size:0x130 -fn_1_11A60 = .text:0x00011A60; // type:function size:0x1C0 -fn_1_11C20 = .text:0x00011C20; // type:function size:0x6C -fn_1_11C8C = .text:0x00011C8C; // type:function size:0x158 -fn_1_11DE4 = .text:0x00011DE4; // type:function size:0x470 -fn_1_12254 = .text:0x00012254; // type:function size:0x118 -fn_1_1236C = .text:0x0001236C; // type:function size:0x250 -fn_1_125BC = .text:0x000125BC; // type:function size:0x3F8 -fn_1_129B4 = .text:0x000129B4; // type:function size:0x78 -fn_1_12A2C = .text:0x00012A2C; // type:function size:0x78 -fn_1_12AA4 = .text:0x00012AA4; // type:function size:0x230 -fn_1_12CD4 = .text:0x00012CD4; // type:function size:0x4B0 -fn_1_13184 = .text:0x00013184; // type:function size:0x33C -fn_1_134C0 = .text:0x000134C0; // type:function size:0x8DC -fn_1_13D9C = .text:0x00013D9C; // type:function size:0x78 -fn_1_13E14 = .text:0x00013E14; // type:function size:0xB4 -fn_1_13EC8 = .text:0x00013EC8; // type:function size:0x8C -fn_1_13F54 = .text:0x00013F54; // type:function size:0x134 -fn_1_14088 = .text:0x00014088; // type:function size:0x4D8 -fn_1_14560 = .text:0x00014560; // type:function size:0x98 -fn_1_145F8 = .text:0x000145F8; // type:function size:0x98 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 data:double -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 data:double -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 data:double -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 data:double -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x54 data:float -lbl_1_data_54 = .data:0x00000054; // type:object size:0xC -lbl_1_data_60 = .data:0x00000060; // type:object size:0xC -lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC -lbl_1_data_78 = .data:0x00000078; // type:object size:0x24 -lbl_1_data_9C = .data:0x0000009C; // type:object size:0xC -lbl_1_data_A8 = .data:0x000000A8; // type:object size:0xC -lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x4 -jumptable_1_data_B8 = .data:0x000000B8; // type:object size:0x30 scope:local -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x48 data:byte -lbl_1_data_130 = .data:0x00000130; // type:object size:0x14 -lbl_1_data_144 = .data:0x00000144; // type:object size:0x8 -lbl_1_data_14C = .data:0x0000014C; // type:object size:0x4 data:4byte -lbl_1_data_150 = .data:0x00000150; // type:object size:0x30 data:float -lbl_1_data_180 = .data:0x00000180; // type:object size:0x30 -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x2A0 -lbl_1_data_450 = .data:0x00000450; // type:object size:0x30 -lbl_1_data_480 = .data:0x00000480; // type:object size:0x30 -lbl_1_data_4B0 = .data:0x000004B0; // type:object size:0x50 data:float -lbl_1_data_500 = .data:0x00000500; // type:object size:0x60 -lbl_1_data_560 = .data:0x00000560; // type:object size:0x80 -lbl_1_data_5E0 = .data:0x000005E0; // type:object size:0x60 -lbl_1_data_640 = .data:0x00000640; // type:object size:0x10 -lbl_1_data_650 = .data:0x00000650; // type:object size:0x1 data:byte -lbl_1_data_654 = .data:0x00000654; // type:object size:0x1 data:byte -lbl_1_data_658 = .data:0x00000658; // type:object size:0x14 -jumptable_1_data_66C = .data:0x0000066C; // type:object size:0x28 scope:local -lbl_1_data_694 = .data:0x00000694; // type:object size:0x8 -lbl_1_data_69C = .data:0x0000069C; // type:object size:0x4 -lbl_1_data_6A0 = .data:0x000006A0; // type:object size:0x2 data:2byte -lbl_1_data_6A4 = .data:0x000006A4; // type:object size:0x30 -lbl_1_data_6D4 = .data:0x000006D4; // type:object size:0x20 -lbl_1_data_6F4 = .data:0x000006F4; // type:object size:0x19 data:string -lbl_1_data_70D = .data:0x0000070D; // type:object size:0x5 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0xC data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x10 data:float -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x10 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x8 data:2byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x8 data:2byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x8 data:float -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x4 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x4 data:4byte -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x4 data:4byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x4 data:4byte -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x4 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x8 data:4byte -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x8 data:4byte -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x8 -lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x4 data:4byte -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x80 -lbl_1_bss_128 = .bss:0x00000128; // type:object size:0x4 data:4byte -lbl_1_bss_12C = .bss:0x0000012C; // type:object size:0x4 data:4byte -lbl_1_bss_130 = .bss:0x00000130; // type:object size:0x4 data:4byte -lbl_1_bss_134 = .bss:0x00000134; // type:object size:0x4 data:4byte -lbl_1_bss_138 = .bss:0x00000138; // type:object size:0x4 data:4byte -lbl_1_bss_13C = .bss:0x0000013C; // type:object size:0x80 -lbl_1_bss_1BC = .bss:0x000001BC; // type:object size:0x80 -lbl_1_bss_23C = .bss:0x0000023C; // type:object size:0x60 -lbl_1_bss_29C = .bss:0x0000029C; // type:object size:0x8 data:4byte -lbl_1_bss_2A4 = .bss:0x000002A4; // type:object size:0x4 data:4byte -lbl_1_bss_2A8 = .bss:0x000002A8; // type:object size:0x4 data:4byte -lbl_1_bss_2AC = .bss:0x000002AC; // type:object size:0x4 data:4byte -lbl_1_bss_2B0 = .bss:0x000002B0; // type:object size:0x4 data:4byte -lbl_1_bss_2B4 = .bss:0x000002B4; // type:object size:0x4 data:4byte -lbl_1_bss_2B8 = .bss:0x000002B8; // type:object size:0x10 -lbl_1_bss_2C8 = .bss:0x000002C8; // type:object size:0x8 -lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x4 data:4byte diff --git a/config/GMPJ01_00/rels/m429Dll/splits.txt b/config/GMPJ01_00/rels/m429Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m429Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m429Dll/symbols.txt b/config/GMPJ01_00/rels/m429Dll/symbols.txt deleted file mode 100644 index f2faf4cf..00000000 --- a/config/GMPJ01_00/rels/m429Dll/symbols.txt +++ /dev/null @@ -1,316 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x24 -fn_1_24 = .text:0x00000024; // type:function size:0x88 -fn_1_AC = .text:0x000000AC; // type:function size:0xA4 -fn_1_150 = .text:0x00000150; // type:function size:0x24 -fn_1_174 = .text:0x00000174; // type:function size:0x164 -fn_1_2D8 = .text:0x000002D8; // type:function size:0x13C -fn_1_414 = .text:0x00000414; // type:function size:0x58 -fn_1_46C = .text:0x0000046C; // type:function size:0x114 -fn_1_580 = .text:0x00000580; // type:function size:0x218 -fn_1_798 = .text:0x00000798; // type:function size:0x254 -fn_1_9EC = .text:0x000009EC; // type:function size:0x54 -fn_1_A40 = .text:0x00000A40; // type:function size:0x10C -fn_1_B4C = .text:0x00000B4C; // type:function size:0x6A8 -fn_1_11F4 = .text:0x000011F4; // type:function size:0x15C -fn_1_1350 = .text:0x00001350; // type:function size:0x8C -fn_1_13DC = .text:0x000013DC; // type:function size:0x334 -fn_1_1710 = .text:0x00001710; // type:function size:0x350 -fn_1_1A60 = .text:0x00001A60; // type:function size:0x2B8 -fn_1_1D18 = .text:0x00001D18; // type:function size:0x58 -fn_1_1D70 = .text:0x00001D70; // type:function size:0xB0 -fn_1_1E20 = .text:0x00001E20; // type:function size:0x104 -fn_1_1F24 = .text:0x00001F24; // type:function size:0x34 -fn_1_1F58 = .text:0x00001F58; // type:function size:0x6C -fn_1_1FC4 = .text:0x00001FC4; // type:function size:0x3F0 -fn_1_23B4 = .text:0x000023B4; // type:function size:0x260 -fn_1_2614 = .text:0x00002614; // type:function size:0x70 -fn_1_2684 = .text:0x00002684; // type:function size:0x2CC -fn_1_2950 = .text:0x00002950; // type:function size:0x290 -fn_1_2BE0 = .text:0x00002BE0; // type:function size:0x234 -fn_1_2E14 = .text:0x00002E14; // type:function size:0xD8 -fn_1_2EEC = .text:0x00002EEC; // type:function size:0x2BC -fn_1_31A8 = .text:0x000031A8; // type:function size:0x4 -fn_1_31AC = .text:0x000031AC; // type:function size:0xD8 -fn_1_3284 = .text:0x00003284; // type:function size:0x174 -fn_1_33F8 = .text:0x000033F8; // type:function size:0x304 -fn_1_36FC = .text:0x000036FC; // type:function size:0x170 -fn_1_386C = .text:0x0000386C; // type:function size:0x560 -fn_1_3DCC = .text:0x00003DCC; // type:function size:0x254 -_prolog = .text:0x00004020; // type:function size:0x54 scope:global -_epilog = .text:0x00004074; // type:function size:0x4C scope:global -fn_1_40C0 = .text:0x000040C0; // type:function size:0x164 -fn_1_4224 = .text:0x00004224; // type:function size:0xBCC -fn_1_4DF0 = .text:0x00004DF0; // type:function size:0x60 -fn_1_4E50 = .text:0x00004E50; // type:function size:0x25C -fn_1_50AC = .text:0x000050AC; // type:function size:0x410 -fn_1_54BC = .text:0x000054BC; // type:function size:0x380 -fn_1_583C = .text:0x0000583C; // type:function size:0x120 -fn_1_595C = .text:0x0000595C; // type:function size:0x380 -fn_1_5CDC = .text:0x00005CDC; // type:function size:0x268 -fn_1_5F44 = .text:0x00005F44; // type:function size:0x1154 -fn_1_7098 = .text:0x00007098; // type:function size:0x158 -fn_1_71F0 = .text:0x000071F0; // type:function size:0xB48 -fn_1_7D38 = .text:0x00007D38; // type:function size:0x1230 -fn_1_8F68 = .text:0x00008F68; // type:function size:0xA84 -fn_1_99EC = .text:0x000099EC; // type:function size:0x4 -fn_1_99F0 = .text:0x000099F0; // type:function size:0x1BC -fn_1_9BAC = .text:0x00009BAC; // type:function size:0x340 -fn_1_9EEC = .text:0x00009EEC; // type:function size:0x1BC -fn_1_A0A8 = .text:0x0000A0A8; // type:function size:0x70 -fn_1_A118 = .text:0x0000A118; // type:function size:0x470 -fn_1_A588 = .text:0x0000A588; // type:function size:0x22C -fn_1_A7B4 = .text:0x0000A7B4; // type:function size:0x5C0 -fn_1_AD74 = .text:0x0000AD74; // type:function size:0x2A8 -fn_1_B01C = .text:0x0000B01C; // type:function size:0x738 -fn_1_B754 = .text:0x0000B754; // type:function size:0x18C -fn_1_B8E0 = .text:0x0000B8E0; // type:function size:0x1D08 -fn_1_D5E8 = .text:0x0000D5E8; // type:function size:0x6B4 -fn_1_DC9C = .text:0x0000DC9C; // type:function size:0xCD0 -fn_1_E96C = .text:0x0000E96C; // type:function size:0x104 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x10 -lbl_1_data_10 = .data:0x00000010; // type:object size:0xD data:string -lbl_1_data_1D = .data:0x0000001D; // type:object size:0xE data:string -lbl_1_data_2B = .data:0x0000002B; // type:object size:0xE data:string -lbl_1_data_39 = .data:0x00000039; // type:object size:0xE data:string -lbl_1_data_47 = .data:0x00000047; // type:object size:0xD data:string -lbl_1_data_54 = .data:0x00000054; // type:object size:0xD data:string -lbl_1_data_61 = .data:0x00000061; // type:object size:0xE data:string -lbl_1_data_6F = .data:0x0000006F; // type:object size:0xE data:string -lbl_1_data_7D = .data:0x0000007D; // type:object size:0xE data:string -lbl_1_data_8B = .data:0x0000008B; // type:object size:0xD data:string -lbl_1_data_98 = .data:0x00000098; // type:object size:0xE data:string -lbl_1_data_A6 = .data:0x000000A6; // type:object size:0xE data:string -lbl_1_data_B4 = .data:0x000000B4; // type:object size:0xE data:string -lbl_1_data_C2 = .data:0x000000C2; // type:object size:0xD data:string -lbl_1_data_CF = .data:0x000000CF; // type:object size:0xD data:string -lbl_1_data_DC = .data:0x000000DC; // type:object size:0xD data:string -lbl_1_data_E9 = .data:0x000000E9; // type:object size:0xD data:string -lbl_1_data_F6 = .data:0x000000F6; // type:object size:0xE data:string -lbl_1_data_104 = .data:0x00000104; // type:object size:0xE data:string -lbl_1_data_112 = .data:0x00000112; // type:object size:0xE data:string -lbl_1_data_120 = .data:0x00000120; // type:object size:0xE data:string -lbl_1_data_12E = .data:0x0000012E; // type:object size:0xE data:string -lbl_1_data_13C = .data:0x0000013C; // type:object size:0xE data:string -lbl_1_data_14A = .data:0x0000014A; // type:object size:0xE data:string -lbl_1_data_158 = .data:0x00000158; // type:object size:0xE data:string -lbl_1_data_166 = .data:0x00000166; // type:object size:0xE data:string -lbl_1_data_174 = .data:0x00000174; // type:object size:0xE data:string -lbl_1_data_182 = .data:0x00000182; // type:object size:0xE data:string -lbl_1_data_190 = .data:0x00000190; // type:object size:0xE data:string -lbl_1_data_19E = .data:0x0000019E; // type:object size:0xE data:string -lbl_1_data_1AC = .data:0x000001AC; // type:object size:0xE data:string -lbl_1_data_1BA = .data:0x000001BA; // type:object size:0xE data:string -lbl_1_data_1C8 = .data:0x000001C8; // type:object size:0xE data:string -lbl_1_data_1D6 = .data:0x000001D6; // type:object size:0xE data:string -lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0xE data:string -lbl_1_data_1F2 = .data:0x000001F2; // type:object size:0xE data:string -lbl_1_data_200 = .data:0x00000200; // type:object size:0xE data:string -lbl_1_data_20E = .data:0x0000020E; // type:object size:0xE data:string -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x10 -lbl_1_data_22C = .data:0x0000022C; // type:object size:0x57C -lbl_1_data_7A8 = .data:0x000007A8; // type:object size:0xD data:string -lbl_1_data_7B5 = .data:0x000007B5; // type:object size:0xD data:string -lbl_1_data_7C2 = .data:0x000007C2; // type:object size:0xD data:string -lbl_1_data_7CF = .data:0x000007CF; // type:object size:0xE data:string -lbl_1_data_7DD = .data:0x000007DD; // type:object size:0xE data:string -lbl_1_data_7EB = .data:0x000007EB; // type:object size:0xE data:string -lbl_1_data_7F9 = .data:0x000007F9; // type:object size:0xE data:string -lbl_1_data_807 = .data:0x00000807; // type:object size:0xD data:string -lbl_1_data_814 = .data:0x00000814; // type:object size:0xD data:string -lbl_1_data_821 = .data:0x00000821; // type:object size:0xD data:string -lbl_1_data_82E = .data:0x0000082E; // type:object size:0xE data:string -lbl_1_data_83C = .data:0x0000083C; // type:object size:0xE data:string -lbl_1_data_84A = .data:0x0000084A; // type:object size:0xD data:string -lbl_1_data_857 = .data:0x00000857; // type:object size:0xD data:string -lbl_1_data_864 = .data:0x00000864; // type:object size:0xD data:string -lbl_1_data_871 = .data:0x00000871; // type:object size:0xE data:string -lbl_1_data_87F = .data:0x0000087F; // type:object size:0xE data:string -lbl_1_data_88D = .data:0x0000088D; // type:object size:0xE data:string -lbl_1_data_89B = .data:0x0000089B; // type:object size:0xE data:string -lbl_1_data_8A9 = .data:0x000008A9; // type:object size:0xE data:string -lbl_1_data_8B7 = .data:0x000008B7; // type:object size:0xE data:string -lbl_1_data_8C5 = .data:0x000008C5; // type:object size:0xE data:string -lbl_1_data_8D3 = .data:0x000008D3; // type:object size:0xE data:string -lbl_1_data_8E1 = .data:0x000008E1; // type:object size:0xE data:string -lbl_1_data_8EF = .data:0x000008EF; // type:object size:0xE data:string -lbl_1_data_8FD = .data:0x000008FD; // type:object size:0xE data:string -lbl_1_data_90B = .data:0x0000090B; // type:object size:0xE data:string -lbl_1_data_919 = .data:0x00000919; // type:object size:0xE data:string -lbl_1_data_927 = .data:0x00000927; // type:object size:0xE data:string -lbl_1_data_935 = .data:0x00000935; // type:object size:0xE data:string -lbl_1_data_943 = .data:0x00000943; // type:object size:0xE data:string -lbl_1_data_951 = .data:0x00000951; // type:object size:0xE data:string -lbl_1_data_95F = .data:0x0000095F; // type:object size:0xE data:string -lbl_1_data_96D = .data:0x0000096D; // type:object size:0xE data:string -lbl_1_data_97B = .data:0x0000097B; // type:object size:0xE data:string -lbl_1_data_989 = .data:0x00000989; // type:object size:0xE data:string -lbl_1_data_997 = .data:0x00000997; // type:object size:0xE data:string -lbl_1_data_9A5 = .data:0x000009A5; // type:object size:0xE data:string -lbl_1_data_9B3 = .data:0x000009B3; // type:object size:0xE data:string -lbl_1_data_9C1 = .data:0x000009C1; // type:object size:0xE data:string -lbl_1_data_9CF = .data:0x000009CF; // type:object size:0xE data:string -lbl_1_data_9DD = .data:0x000009DD; // type:object size:0xF -lbl_1_data_9EC = .data:0x000009EC; // type:object size:0x5E8 -lbl_1_data_FD4 = .data:0x00000FD4; // type:object size:0xC -lbl_1_data_FE0 = .data:0x00000FE0; // type:object size:0xC -lbl_1_data_FEC = .data:0x00000FEC; // type:object size:0x10 -lbl_1_data_FFC = .data:0x00000FFC; // type:object size:0x40 -lbl_1_data_103C = .data:0x0000103C; // type:object size:0x40 data:float -lbl_1_data_107C = .data:0x0000107C; // type:object size:0x40 -lbl_1_data_10BC = .data:0x000010BC; // type:object size:0x40 -lbl_1_data_10FC = .data:0x000010FC; // type:object size:0x20 -lbl_1_data_111C = .data:0x0000111C; // type:object size:0xC -lbl_1_data_1128 = .data:0x00001128; // type:object size:0xC -lbl_1_data_1134 = .data:0x00001134; // type:object size:0x4 -lbl_1_data_1138 = .data:0x00001138; // type:object size:0xC -lbl_1_data_1144 = .data:0x00001144; // type:object size:0xC -lbl_1_data_1150 = .data:0x00001150; // type:object size:0x140 -lbl_1_data_1290 = .data:0x00001290; // type:object size:0x20 -lbl_1_data_12B0 = .data:0x000012B0; // type:object size:0x20 -lbl_1_data_12D0 = .data:0x000012D0; // type:object size:0x10 -lbl_1_data_12E0 = .data:0x000012E0; // type:object size:0x30 -lbl_1_data_1310 = .data:0x00001310; // type:object size:0x10 -lbl_1_data_1320 = .data:0x00001320; // type:object size:0x10 -lbl_1_data_1330 = .data:0x00001330; // type:object size:0x10 -lbl_1_data_1340 = .data:0x00001340; // type:object size:0x48 -lbl_1_data_1388 = .data:0x00001388; // type:object size:0x20 -lbl_1_data_13A8 = .data:0x000013A8; // type:object size:0x10 -lbl_1_data_13B8 = .data:0x000013B8; // type:object size:0x10 -lbl_1_data_13C8 = .data:0x000013C8; // type:object size:0x10 -lbl_1_data_13D8 = .data:0x000013D8; // type:object size:0x10 -lbl_1_data_13E8 = .data:0x000013E8; // type:object size:0x50 -lbl_1_data_1438 = .data:0x00001438; // type:object size:0x21 data:string -lbl_1_data_1459 = .data:0x00001459; // type:object size:0x1F -jumptable_1_data_1478 = .data:0x00001478; // type:object size:0x24 scope:local -lbl_1_data_149C = .data:0x0000149C; // type:object size:0x1C -jumptable_1_data_14B8 = .data:0x000014B8; // type:object size:0x34 scope:local -lbl_1_data_14EC = .data:0x000014EC; // type:object size:0x24 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x2 data:2byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0xA data:2byte -lbl_1_bss_1A = .bss:0x0000001A; // type:object size:0x2 data:2byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x8 -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x30 -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x30 -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x30 -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x30 -lbl_1_bss_F8 = .bss:0x000000F8; // type:object size:0x18 data:float -lbl_1_bss_110 = .bss:0x00000110; // type:object size:0x4 data:float -lbl_1_bss_114 = .bss:0x00000114; // type:object size:0x4 data:float -lbl_1_bss_118 = .bss:0x00000118; // type:object size:0x4 data:float -lbl_1_bss_11C = .bss:0x0000011C; // type:object size:0x4 data:float -lbl_1_bss_120 = .bss:0x00000120; // type:object size:0x4 data:float -lbl_1_bss_124 = .bss:0x00000124; // type:object size:0x4 data:float -lbl_1_bss_128 = .bss:0x00000128; // type:object size:0x4 data:float -lbl_1_bss_12C = .bss:0x0000012C; // type:object size:0x4 data:float -lbl_1_bss_130 = .bss:0x00000130; // type:object size:0x60 -lbl_1_bss_190 = .bss:0x00000190; // type:object size:0x8 data:4byte -lbl_1_bss_198 = .bss:0x00000198; // type:object size:0x4 data:4byte -lbl_1_bss_19C = .bss:0x0000019C; // type:object size:0x4 data:4byte -lbl_1_bss_1A0 = .bss:0x000001A0; // type:object size:0x4 data:4byte -lbl_1_bss_1A4 = .bss:0x000001A4; // type:object size:0x4 data:4byte -lbl_1_bss_1A8 = .bss:0x000001A8; // type:object size:0x4 data:4byte -lbl_1_bss_1AC = .bss:0x000001AC; // type:object size:0x4 data:4byte -lbl_1_bss_1B0 = .bss:0x000001B0; // type:object size:0x100 -lbl_1_bss_2B0 = .bss:0x000002B0; // type:object size:0x40 data:4byte -lbl_1_bss_2F0 = .bss:0x000002F0; // type:object size:0x4 data:float -lbl_1_bss_2F4 = .bss:0x000002F4; // type:object size:0x4 data:4byte -lbl_1_bss_2F8 = .bss:0x000002F8; // type:object size:0x4 data:4byte -lbl_1_bss_2FC = .bss:0x000002FC; // type:object size:0x2 data:2byte -lbl_1_bss_2FE = .bss:0x000002FE; // type:object size:0x2 data:2byte -lbl_1_bss_300 = .bss:0x00000300; // type:object size:0x4 data:4byte -lbl_1_bss_304 = .bss:0x00000304; // type:object size:0x4 data:4byte -lbl_1_bss_308 = .bss:0x00000308; // type:object size:0x4 data:4byte -lbl_1_bss_30C = .bss:0x0000030C; // type:object size:0xC data:float -lbl_1_bss_318 = .bss:0x00000318; // type:object size:0xC data:4byte -lbl_1_bss_324 = .bss:0x00000324; // type:object size:0xC data:float -lbl_1_bss_330 = .bss:0x00000330; // type:object size:0xC data:4byte -lbl_1_bss_33C = .bss:0x0000033C; // type:object size:0x4 data:4byte -lbl_1_bss_340 = .bss:0x00000340; // type:object size:0x18 data:4byte -lbl_1_bss_358 = .bss:0x00000358; // type:object size:0xC data:4byte diff --git a/config/GMPJ01_00/rels/m430Dll/splits.txt b/config/GMPJ01_00/rels/m430Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m430Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m430Dll/symbols.txt b/config/GMPJ01_00/rels/m430Dll/symbols.txt deleted file mode 100644 index 3517ae68..00000000 --- a/config/GMPJ01_00/rels/m430Dll/symbols.txt +++ /dev/null @@ -1,492 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x5BC -fn_1_65C = .text:0x0000065C; // type:function size:0xC4 -fn_1_720 = .text:0x00000720; // type:function size:0x334 -fn_1_A54 = .text:0x00000A54; // type:function size:0x144 -fn_1_B98 = .text:0x00000B98; // type:function size:0x564 -fn_1_10FC = .text:0x000010FC; // type:function size:0x590 -fn_1_168C = .text:0x0000168C; // type:function size:0x478 -fn_1_1B04 = .text:0x00001B04; // type:function size:0x6E0 -fn_1_21E4 = .text:0x000021E4; // type:function size:0x52C -fn_1_2710 = .text:0x00002710; // type:function size:0x638 -fn_1_2D48 = .text:0x00002D48; // type:function size:0x138 -fn_1_2E80 = .text:0x00002E80; // type:function size:0x81C -fn_1_369C = .text:0x0000369C; // type:function size:0xCC -fn_1_3768 = .text:0x00003768; // type:function size:0x8C8 -fn_1_4030 = .text:0x00004030; // type:function size:0x10 -fn_1_4040 = .text:0x00004040; // type:function size:0x18 -fn_1_4058 = .text:0x00004058; // type:function size:0x18 -fn_1_4070 = .text:0x00004070; // type:function size:0x18 -fn_1_4088 = .text:0x00004088; // type:function size:0x18 -fn_1_40A0 = .text:0x000040A0; // type:function size:0x18 -fn_1_40B8 = .text:0x000040B8; // type:function size:0x18 -fn_1_40D0 = .text:0x000040D0; // type:function size:0x30 -fn_1_4100 = .text:0x00004100; // type:function size:0x30 -fn_1_4130 = .text:0x00004130; // type:function size:0xC0 -fn_1_41F0 = .text:0x000041F0; // type:function size:0x348 -fn_1_4538 = .text:0x00004538; // type:function size:0x378 -fn_1_48B0 = .text:0x000048B0; // type:function size:0x11C -fn_1_49CC = .text:0x000049CC; // type:function size:0xB4 -fn_1_4A80 = .text:0x00004A80; // type:function size:0x1C8 -fn_1_4C48 = .text:0x00004C48; // type:function size:0x6C -fn_1_4CB4 = .text:0x00004CB4; // type:function size:0x1144 -fn_1_5DF8 = .text:0x00005DF8; // type:function size:0x388 -fn_1_6180 = .text:0x00006180; // type:function size:0x3C0 -fn_1_6540 = .text:0x00006540; // type:function size:0x214 -fn_1_6754 = .text:0x00006754; // type:function size:0x674 -fn_1_6DC8 = .text:0x00006DC8; // type:function size:0x2E4 -fn_1_70AC = .text:0x000070AC; // type:function size:0x280 -fn_1_732C = .text:0x0000732C; // type:function size:0x3AC -fn_1_76D8 = .text:0x000076D8; // type:function size:0x170 -fn_1_7848 = .text:0x00007848; // type:function size:0x464 -fn_1_7CAC = .text:0x00007CAC; // type:function size:0x200 -fn_1_7EAC = .text:0x00007EAC; // type:function size:0x110 -fn_1_7FBC = .text:0x00007FBC; // type:function size:0x40 -fn_1_7FFC = .text:0x00007FFC; // type:function size:0x40 -fn_1_803C = .text:0x0000803C; // type:function size:0x228 -fn_1_8264 = .text:0x00008264; // type:function size:0x90 -fn_1_82F4 = .text:0x000082F4; // type:function size:0x3C0 -fn_1_86B4 = .text:0x000086B4; // type:function size:0x4A8 -fn_1_8B5C = .text:0x00008B5C; // type:function size:0x184 -fn_1_8CE0 = .text:0x00008CE0; // type:function size:0x95C -fn_1_963C = .text:0x0000963C; // type:function size:0x654 -fn_1_9C90 = .text:0x00009C90; // type:function size:0x718 -fn_1_A3A8 = .text:0x0000A3A8; // type:function size:0x7F0 -fn_1_AB98 = .text:0x0000AB98; // type:function size:0xEC -fn_1_AC84 = .text:0x0000AC84; // type:function size:0x80 -fn_1_AD04 = .text:0x0000AD04; // type:function size:0x1DC -fn_1_AEE0 = .text:0x0000AEE0; // type:function size:0x4B4 -fn_1_B394 = .text:0x0000B394; // type:function size:0x1DC -fn_1_B570 = .text:0x0000B570; // type:function size:0x5E4 -fn_1_BB54 = .text:0x0000BB54; // type:function size:0x34 -fn_1_BB88 = .text:0x0000BB88; // type:function size:0x10 -fn_1_BB98 = .text:0x0000BB98; // type:function size:0x2C -fn_1_BBC4 = .text:0x0000BBC4; // type:function size:0x260 -fn_1_BE24 = .text:0x0000BE24; // type:function size:0x1E8 -fn_1_C00C = .text:0x0000C00C; // type:function size:0x34 -fn_1_C040 = .text:0x0000C040; // type:function size:0x1A4 -fn_1_C1E4 = .text:0x0000C1E4; // type:function size:0x858 -fn_1_CA3C = .text:0x0000CA3C; // type:function size:0x894 -fn_1_D2D0 = .text:0x0000D2D0; // type:function size:0x558 -fn_1_D828 = .text:0x0000D828; // type:function size:0x10D4 -fn_1_E8FC = .text:0x0000E8FC; // type:function size:0x7DC -fn_1_F0D8 = .text:0x0000F0D8; // type:function size:0x554 -fn_1_F62C = .text:0x0000F62C; // type:function size:0x74 -fn_1_F6A0 = .text:0x0000F6A0; // type:function size:0x5FC -fn_1_FC9C = .text:0x0000FC9C; // type:function size:0x404 -fn_1_100A0 = .text:0x000100A0; // type:function size:0x29C -fn_1_1033C = .text:0x0001033C; // type:function size:0x200 -fn_1_1053C = .text:0x0001053C; // type:function size:0x4 -fn_1_10540 = .text:0x00010540; // type:function size:0x4C -fn_1_1058C = .text:0x0001058C; // type:function size:0x2C -fn_1_105B8 = .text:0x000105B8; // type:function size:0x64 -fn_1_1061C = .text:0x0001061C; // type:function size:0x32C -fn_1_10948 = .text:0x00010948; // type:function size:0x240 -fn_1_10B88 = .text:0x00010B88; // type:function size:0x194 -fn_1_10D1C = .text:0x00010D1C; // type:function size:0x204 -fn_1_10F20 = .text:0x00010F20; // type:function size:0x4 -fn_1_10F24 = .text:0x00010F24; // type:function size:0x184 -fn_1_110A8 = .text:0x000110A8; // type:function size:0x114 -fn_1_111BC = .text:0x000111BC; // type:function size:0x158 -fn_1_11314 = .text:0x00011314; // type:function size:0x98 -fn_1_113AC = .text:0x000113AC; // type:function size:0x144 -fn_1_114F0 = .text:0x000114F0; // type:function size:0x154 -fn_1_11644 = .text:0x00011644; // type:function size:0x4 -fn_1_11648 = .text:0x00011648; // type:function size:0x15C -fn_1_117A4 = .text:0x000117A4; // type:function size:0x278 -fn_1_11A1C = .text:0x00011A1C; // type:function size:0x148 -fn_1_11B64 = .text:0x00011B64; // type:function size:0x30 -fn_1_11B94 = .text:0x00011B94; // type:function size:0x88 -fn_1_11C1C = .text:0x00011C1C; // type:function size:0x154 -fn_1_11D70 = .text:0x00011D70; // type:function size:0x1F0 -fn_1_11F60 = .text:0x00011F60; // type:function size:0x30 -fn_1_11F90 = .text:0x00011F90; // type:function size:0x5C0 -fn_1_12550 = .text:0x00012550; // type:function size:0x74 -fn_1_125C4 = .text:0x000125C4; // type:function size:0x408 -fn_1_129CC = .text:0x000129CC; // type:function size:0x3A8 -fn_1_12D74 = .text:0x00012D74; // type:function size:0x7C -fn_1_12DF0 = .text:0x00012DF0; // type:function size:0xB8 -fn_1_12EA8 = .text:0x00012EA8; // type:function size:0x78 -fn_1_12F20 = .text:0x00012F20; // type:function size:0x11C -fn_1_1303C = .text:0x0001303C; // type:function size:0x118 -fn_1_13154 = .text:0x00013154; // type:function size:0x250 -fn_1_133A4 = .text:0x000133A4; // type:function size:0x38 -fn_1_133DC = .text:0x000133DC; // type:function size:0xB4 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:4byte -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x10 data:4byte -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x10 data:4byte -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x10 data:4byte -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x10 data:4byte -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:4byte -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x18 data:4byte -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:4byte -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0xC data:4byte -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0xC data:4byte -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0xC data:4byte -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0xC data:4byte -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x18 data:4byte -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x30 data:4byte -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x18 data:4byte -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x8 data:4byte -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x8 data:4byte -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 data:double -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x20 data:4byte -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x14 data:4byte -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x10 data:4byte -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x10 data:4byte -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x1 data:byte -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x1 data:byte -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x1 data:byte -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x1 data:byte -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x1 data:byte -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x1 data:byte -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x1 data:byte -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x1 data:byte -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x1 data:byte -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 data:double -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 data:4byte -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0xC data:4byte -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x8 data:double -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x8 data:double -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 data:float -lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 data:float -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 data:float -lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 data:float -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x8 data:double -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x8 data:double -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 data:float -lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 data:float -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x8 data:double -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x8 data:double -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 data:float -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 data:float -lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 data:float -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 data:float -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 data:float -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 data:float -lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 data:float -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 data:float -lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 data:double -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 data:float -lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 data:float -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 data:float -lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 data:float -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x8 data:double -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float -lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 data:float -lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 data:float -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float -lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x4 data:float -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x8 data:double -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x4 data:float -lbl_1_rodata_5FC = .rodata:0x000005FC; // type:object size:0x4 data:float -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 data:double -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x8 data:double -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 data:double -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 data:float -lbl_1_rodata_61C = .rodata:0x0000061C; // type:object size:0x4 data:float -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x4 data:float -lbl_1_rodata_624 = .rodata:0x00000624; // type:object size:0x4 data:float -lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x4 data:float -lbl_1_rodata_62C = .rodata:0x0000062C; // type:object size:0x4 data:float -lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x8 data:double -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x8 data:double -lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x8 data:double -lbl_1_rodata_650 = .rodata:0x00000650; // type:object size:0x4 data:float -lbl_1_rodata_654 = .rodata:0x00000654; // type:object size:0x4 data:float -lbl_1_rodata_658 = .rodata:0x00000658; // type:object size:0x4 data:float -lbl_1_rodata_65C = .rodata:0x0000065C; // type:object size:0x4 data:float -lbl_1_rodata_660 = .rodata:0x00000660; // type:object size:0x4 data:float -lbl_1_rodata_664 = .rodata:0x00000664; // type:object size:0x4 data:float -lbl_1_rodata_668 = .rodata:0x00000668; // type:object size:0x8 data:double -lbl_1_rodata_670 = .rodata:0x00000670; // type:object size:0x8 data:double -lbl_1_rodata_678 = .rodata:0x00000678; // type:object size:0x4 data:float -lbl_1_rodata_680 = .rodata:0x00000680; // type:object size:0x8 data:double -lbl_1_rodata_688 = .rodata:0x00000688; // type:object size:0x4 data:float -lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x8 data:double -lbl_1_rodata_698 = .rodata:0x00000698; // type:object size:0x8 data:double -lbl_1_rodata_6A0 = .rodata:0x000006A0; // type:object size:0x8 data:double -lbl_1_rodata_6A8 = .rodata:0x000006A8; // type:object size:0x4 data:float -lbl_1_rodata_6AC = .rodata:0x000006AC; // type:object size:0x4 data:float -lbl_1_rodata_6B0 = .rodata:0x000006B0; // type:object size:0x8 data:double -lbl_1_rodata_6B8 = .rodata:0x000006B8; // type:object size:0x4 data:float -lbl_1_rodata_6BC = .rodata:0x000006BC; // type:object size:0x4 data:float -lbl_1_rodata_6C0 = .rodata:0x000006C0; // type:object size:0x8 data:double -lbl_1_rodata_6C8 = .rodata:0x000006C8; // type:object size:0x8 data:double -lbl_1_rodata_6D0 = .rodata:0x000006D0; // type:object size:0x8 data:double -lbl_1_rodata_6D8 = .rodata:0x000006D8; // type:object size:0x4 data:float -lbl_1_rodata_6DC = .rodata:0x000006DC; // type:object size:0x4 data:float -lbl_1_rodata_6E0 = .rodata:0x000006E0; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0xC -lbl_1_data_C = .data:0x0000000C; // type:object size:0xC -lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float -lbl_1_data_24 = .data:0x00000024; // type:object size:0x4 -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC data:float -lbl_1_data_34 = .data:0x00000034; // type:object size:0xC data:float -lbl_1_data_40 = .data:0x00000040; // type:object size:0x10 data:float -lbl_1_data_50 = .data:0x00000050; // type:object size:0x7 data:string -lbl_1_data_57 = .data:0x00000057; // type:object size:0x9 -lbl_1_data_60 = .data:0x00000060; // type:object size:0x48 -lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x18 -lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x60 -lbl_1_data_120 = .data:0x00000120; // type:object size:0x48 -lbl_1_data_168 = .data:0x00000168; // type:object size:0x8 -lbl_1_data_170 = .data:0x00000170; // type:object size:0x38 -lbl_1_data_1A8 = .data:0x000001A8; // type:object size:0x20 -lbl_1_data_1C8 = .data:0x000001C8; // type:object size:0x14 -lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x1C -lbl_1_data_1F8 = .data:0x000001F8; // type:object size:0x60 -lbl_1_data_258 = .data:0x00000258; // type:object size:0x20 -lbl_1_data_278 = .data:0x00000278; // type:object size:0x8 -lbl_1_data_280 = .data:0x00000280; // type:object size:0x8 -lbl_1_data_288 = .data:0x00000288; // type:object size:0x8 -lbl_1_data_290 = .data:0x00000290; // type:object size:0x14 -lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0x8 -lbl_1_data_2AC = .data:0x000002AC; // type:object size:0x54 -lbl_1_data_300 = .data:0x00000300; // type:object size:0x8 data:4byte -lbl_1_data_308 = .data:0x00000308; // type:object size:0x4 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x2 data:2byte -lbl_1_bss_22 = .bss:0x00000022; // type:object size:0x2 data:2byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x2 data:2byte -lbl_1_bss_26 = .bss:0x00000026; // type:object size:0x6 data:2byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x2 data:2byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x8 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:float -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:float -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0xE0 data:4byte -lbl_1_bss_140 = .bss:0x00000140; // type:object size:0x4 data:4byte -lbl_1_bss_144 = .bss:0x00000144; // type:object size:0x4 data:4byte -lbl_1_bss_148 = .bss:0x00000148; // type:object size:0x4 data:4byte -lbl_1_bss_14C = .bss:0x0000014C; // type:object size:0x4 data:4byte -lbl_1_bss_150 = .bss:0x00000150; // type:object size:0x8 data:4byte -lbl_1_bss_158 = .bss:0x00000158; // type:object size:0x4 data:4byte -lbl_1_bss_15C = .bss:0x0000015C; // type:object size:0x4 data:4byte -lbl_1_bss_160 = .bss:0x00000160; // type:object size:0x4 data:4byte -lbl_1_bss_164 = .bss:0x00000164; // type:object size:0x4 data:4byte -lbl_1_bss_168 = .bss:0x00000168; // type:object size:0x4 data:4byte -lbl_1_bss_16C = .bss:0x0000016C; // type:object size:0x4 data:4byte -lbl_1_bss_170 = .bss:0x00000170; // type:object size:0x4 data:4byte -lbl_1_bss_174 = .bss:0x00000174; // type:object size:0x4 data:4byte -lbl_1_bss_178 = .bss:0x00000178; // type:object size:0x4 data:4byte -lbl_1_bss_17C = .bss:0x0000017C; // type:object size:0x4 data:4byte diff --git a/config/GMPJ01_00/rels/m433Dll/splits.txt b/config/GMPJ01_00/rels/m433Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m433Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m433Dll/symbols.txt b/config/GMPJ01_00/rels/m433Dll/symbols.txt deleted file mode 100644 index 1d318f59..00000000 --- a/config/GMPJ01_00/rels/m433Dll/symbols.txt +++ /dev/null @@ -1,472 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x420 -fn_1_4C0 = .text:0x000004C0; // type:function size:0xC4 -fn_1_584 = .text:0x00000584; // type:function size:0x94 -fn_1_618 = .text:0x00000618; // type:function size:0x180 -fn_1_798 = .text:0x00000798; // type:function size:0x33C -fn_1_AD4 = .text:0x00000AD4; // type:function size:0x358 -fn_1_E2C = .text:0x00000E2C; // type:function size:0x214 -fn_1_1040 = .text:0x00001040; // type:function size:0x3BC -fn_1_13FC = .text:0x000013FC; // type:function size:0x2D4 -fn_1_16D0 = .text:0x000016D0; // type:function size:0x36C -fn_1_1A3C = .text:0x00001A3C; // type:function size:0xC -fn_1_1A48 = .text:0x00001A48; // type:function size:0x6F4 -fn_1_213C = .text:0x0000213C; // type:function size:0x18 -fn_1_2154 = .text:0x00002154; // type:function size:0x18 -fn_1_216C = .text:0x0000216C; // type:function size:0x18 -fn_1_2184 = .text:0x00002184; // type:function size:0x18 -fn_1_219C = .text:0x0000219C; // type:function size:0x30 -fn_1_21CC = .text:0x000021CC; // type:function size:0x18 -fn_1_21E4 = .text:0x000021E4; // type:function size:0x30 -fn_1_2214 = .text:0x00002214; // type:function size:0x30 -fn_1_2244 = .text:0x00002244; // type:function size:0x38 -fn_1_227C = .text:0x0000227C; // type:function size:0x208 -fn_1_2484 = .text:0x00002484; // type:function size:0x240 -fn_1_26C4 = .text:0x000026C4; // type:function size:0x11C -fn_1_27E0 = .text:0x000027E0; // type:function size:0xB4 -fn_1_2894 = .text:0x00002894; // type:function size:0xF0 -fn_1_2984 = .text:0x00002984; // type:function size:0x20 -fn_1_29A4 = .text:0x000029A4; // type:function size:0x120 -fn_1_2AC4 = .text:0x00002AC4; // type:function size:0x21C -fn_1_2CE0 = .text:0x00002CE0; // type:function size:0x5EC -fn_1_32CC = .text:0x000032CC; // type:function size:0x6E0 -fn_1_39AC = .text:0x000039AC; // type:function size:0x270 -fn_1_3C1C = .text:0x00003C1C; // type:function size:0x240 -fn_1_3E5C = .text:0x00003E5C; // type:function size:0xB8 -fn_1_3F14 = .text:0x00003F14; // type:function size:0xB80 -fn_1_4A94 = .text:0x00004A94; // type:function size:0x10C -fn_1_4BA0 = .text:0x00004BA0; // type:function size:0x334 -fn_1_4ED4 = .text:0x00004ED4; // type:function size:0xEC -fn_1_4FC0 = .text:0x00004FC0; // type:function size:0x28 -fn_1_4FE8 = .text:0x00004FE8; // type:function size:0x80 -fn_1_5068 = .text:0x00005068; // type:function size:0x40 -fn_1_50A8 = .text:0x000050A8; // type:function size:0xA0 -fn_1_5148 = .text:0x00005148; // type:function size:0x94 -fn_1_51DC = .text:0x000051DC; // type:function size:0x84 -fn_1_5260 = .text:0x00005260; // type:function size:0x54 -fn_1_52B4 = .text:0x000052B4; // type:function size:0x168 -fn_1_541C = .text:0x0000541C; // type:function size:0x120 -fn_1_553C = .text:0x0000553C; // type:function size:0x39C -fn_1_58D8 = .text:0x000058D8; // type:function size:0x2C -fn_1_5904 = .text:0x00005904; // type:function size:0x270 -fn_1_5B74 = .text:0x00005B74; // type:function size:0x24 -fn_1_5B98 = .text:0x00005B98; // type:function size:0x4D8 -fn_1_6070 = .text:0x00006070; // type:function size:0x50 -fn_1_60C0 = .text:0x000060C0; // type:function size:0x76C -fn_1_682C = .text:0x0000682C; // type:function size:0xA00 -fn_1_722C = .text:0x0000722C; // type:function size:0x2A8 -fn_1_74D4 = .text:0x000074D4; // type:function size:0xF34 -fn_1_8408 = .text:0x00008408; // type:function size:0x334 -fn_1_873C = .text:0x0000873C; // type:function size:0x1FC -fn_1_8938 = .text:0x00008938; // type:function size:0x298 -fn_1_8BD0 = .text:0x00008BD0; // type:function size:0x3B0 -fn_1_8F80 = .text:0x00008F80; // type:function size:0x708 -fn_1_9688 = .text:0x00009688; // type:function size:0xF90 -fn_1_A618 = .text:0x0000A618; // type:function size:0x570 -fn_1_AB88 = .text:0x0000AB88; // type:function size:0x60C -fn_1_B194 = .text:0x0000B194; // type:function size:0x340 -fn_1_B4D4 = .text:0x0000B4D4; // type:function size:0x20C -fn_1_B6E0 = .text:0x0000B6E0; // type:function size:0xCC -fn_1_B7AC = .text:0x0000B7AC; // type:function size:0x8C -fn_1_B838 = .text:0x0000B838; // type:function size:0x2A8 -fn_1_BAE0 = .text:0x0000BAE0; // type:function size:0x268 -fn_1_BD48 = .text:0x0000BD48; // type:function size:0x4F8 -fn_1_C240 = .text:0x0000C240; // type:function size:0x46C -fn_1_C6AC = .text:0x0000C6AC; // type:function size:0x4 -fn_1_C6B0 = .text:0x0000C6B0; // type:function size:0x4E8 -fn_1_CB98 = .text:0x0000CB98; // type:function size:0x220 -fn_1_CDB8 = .text:0x0000CDB8; // type:function size:0x3C8 -fn_1_D180 = .text:0x0000D180; // type:function size:0x1B8 -fn_1_D338 = .text:0x0000D338; // type:function size:0x1A8 -fn_1_D4E0 = .text:0x0000D4E0; // type:function size:0x1C8 -fn_1_D6A8 = .text:0x0000D6A8; // type:function size:0x1E0 -fn_1_D888 = .text:0x0000D888; // type:function size:0x4E8 -fn_1_DD70 = .text:0x0000DD70; // type:function size:0xB8 -fn_1_DE28 = .text:0x0000DE28; // type:function size:0x11C -fn_1_DF44 = .text:0x0000DF44; // type:function size:0xA0 -fn_1_DFE4 = .text:0x0000DFE4; // type:function size:0x138 -fn_1_E11C = .text:0x0000E11C; // type:function size:0x4A4 -fn_1_E5C0 = .text:0x0000E5C0; // type:function size:0x4CC -fn_1_EA8C = .text:0x0000EA8C; // type:function size:0x158 -fn_1_EBE4 = .text:0x0000EBE4; // type:function size:0x118 -fn_1_ECFC = .text:0x0000ECFC; // type:function size:0x1168 -fn_1_FE64 = .text:0x0000FE64; // type:function size:0x28 -fn_1_FE8C = .text:0x0000FE8C; // type:function size:0x2A4 -fn_1_10130 = .text:0x00010130; // type:function size:0x130 -fn_1_10260 = .text:0x00010260; // type:function size:0x3B4 -fn_1_10614 = .text:0x00010614; // type:function size:0xF8 -fn_1_1070C = .text:0x0001070C; // type:function size:0x34 -fn_1_10740 = .text:0x00010740; // type:function size:0x70 -fn_1_107B0 = .text:0x000107B0; // type:function size:0x98 -fn_1_10848 = .text:0x00010848; // type:function size:0x30 -fn_1_10878 = .text:0x00010878; // type:function size:0x4C -fn_1_108C4 = .text:0x000108C4; // type:function size:0x3C -fn_1_10900 = .text:0x00010900; // type:function size:0x28 -fn_1_10928 = .text:0x00010928; // type:function size:0x1F8 -fn_1_10B20 = .text:0x00010B20; // type:function size:0x204 -fn_1_10D24 = .text:0x00010D24; // type:function size:0x180 -fn_1_10EA4 = .text:0x00010EA4; // type:function size:0x28 -fn_1_10ECC = .text:0x00010ECC; // type:function size:0x34 -fn_1_10F00 = .text:0x00010F00; // type:function size:0x38 -fn_1_10F38 = .text:0x00010F38; // type:function size:0x34 -fn_1_10F6C = .text:0x00010F6C; // type:function size:0x38 -fn_1_10FA4 = .text:0x00010FA4; // type:function size:0x38 -fn_1_10FDC = .text:0x00010FDC; // type:function size:0x28 -fn_1_11004 = .text:0x00011004; // type:function size:0x5C -fn_1_11060 = .text:0x00011060; // type:function size:0x38 -fn_1_11098 = .text:0x00011098; // type:function size:0x98 -fn_1_11130 = .text:0x00011130; // type:function size:0x1B0 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x10 data:4byte -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0xC0 -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x10 data:4byte -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x10 data:4byte -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x10 data:4byte -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x10 data:4byte -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 data:double -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 data:double -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x10 data:4byte -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 data:double -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x18 data:4byte -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x18 data:4byte -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 data:double -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x8 data:double -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 data:float -lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 data:double -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x8 data:double -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:4byte -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x8 data:double -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x8 data:double -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 data:float -lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 data:float -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x24 data:4byte -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x8 data:4byte -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x8 data:4byte -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x8 data:4byte -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 data:float -lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 data:float -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x4 data:float -lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 data:float -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 data:float -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 data:float -lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 data:float -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 data:float -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 data:float -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 data:float -lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x8 data:4byte -lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x8 data:double -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 data:4byte -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 data:float -lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 data:float -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x8 data:double -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 data:float -lbl_1_rodata_5C4 = .rodata:0x000005C4; // type:object size:0x4 data:float -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 data:float -lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 data:float -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float -lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 data:float -lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 data:float -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float -lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x4 data:float -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x8 data:double -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 data:double -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x4 data:float -lbl_1_rodata_604 = .rodata:0x00000604; // type:object size:0x4 data:float -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x4 data:float -lbl_1_rodata_60C = .rodata:0x0000060C; // type:object size:0x4 data:float -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x4 data:float -lbl_1_rodata_614 = .rodata:0x00000614; // type:object size:0x4 data:float -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 data:float -lbl_1_rodata_61C = .rodata:0x0000061C; // type:object size:0x4 data:float -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x4 data:float -lbl_1_rodata_624 = .rodata:0x00000624; // type:object size:0x4 data:float -lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x4 data:float -lbl_1_rodata_62C = .rodata:0x0000062C; // type:object size:0x4 data:float -lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 data:float -lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x4 data:float -lbl_1_rodata_63C = .rodata:0x0000063C; // type:object size:0x4 data:float -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 data:float -lbl_1_rodata_644 = .rodata:0x00000644; // type:object size:0x4 data:float -lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x4 data:float -lbl_1_rodata_64C = .rodata:0x0000064C; // type:object size:0x4 data:float -lbl_1_rodata_650 = .rodata:0x00000650; // type:object size:0x4 data:float -lbl_1_rodata_654 = .rodata:0x00000654; // type:object size:0x4 data:float -lbl_1_rodata_658 = .rodata:0x00000658; // type:object size:0x4 data:float -lbl_1_rodata_65C = .rodata:0x0000065C; // type:object size:0x4 data:float -lbl_1_rodata_660 = .rodata:0x00000660; // type:object size:0x4 data:float -lbl_1_rodata_664 = .rodata:0x00000664; // type:object size:0x4 data:float -lbl_1_rodata_668 = .rodata:0x00000668; // type:object size:0x4 data:float -lbl_1_rodata_66C = .rodata:0x0000066C; // type:object size:0x4 data:float -lbl_1_rodata_670 = .rodata:0x00000670; // type:object size:0x4 data:float -lbl_1_rodata_674 = .rodata:0x00000674; // type:object size:0x4 data:float -lbl_1_rodata_678 = .rodata:0x00000678; // type:object size:0x4 data:float -lbl_1_rodata_67C = .rodata:0x0000067C; // type:object size:0x4 data:float -lbl_1_rodata_680 = .rodata:0x00000680; // type:object size:0x4 data:float -lbl_1_rodata_684 = .rodata:0x00000684; // type:object size:0x4 data:float -lbl_1_rodata_688 = .rodata:0x00000688; // type:object size:0x4 data:float -lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x8 data:double -lbl_1_rodata_698 = .rodata:0x00000698; // type:object size:0x4 data:float -lbl_1_rodata_69C = .rodata:0x0000069C; // type:object size:0x4 data:float -lbl_1_rodata_6A0 = .rodata:0x000006A0; // type:object size:0x4 data:float -lbl_1_rodata_6A4 = .rodata:0x000006A4; // type:object size:0x4 data:float -lbl_1_rodata_6A8 = .rodata:0x000006A8; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0xC -lbl_1_data_C = .data:0x0000000C; // type:object size:0xC -lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float -lbl_1_data_24 = .data:0x00000024; // type:object size:0x4 -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC data:float -lbl_1_data_34 = .data:0x00000034; // type:object size:0xC data:float -lbl_1_data_40 = .data:0x00000040; // type:object size:0xC data:float -lbl_1_data_4C = .data:0x0000004C; // type:object size:0xC data:float -lbl_1_data_58 = .data:0x00000058; // type:object size:0x50 data:float -jumptable_1_data_A8 = .data:0x000000A8; // type:object size:0x1C scope:local -lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x1C data:4byte -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x38 -lbl_1_data_118 = .data:0x00000118; // type:object size:0x38 -lbl_1_data_150 = .data:0x00000150; // type:object size:0x30 -lbl_1_data_180 = .data:0x00000180; // type:object size:0x44 -lbl_1_data_1C4 = .data:0x000001C4; // type:object size:0x44 -lbl_1_data_208 = .data:0x00000208; // type:object size:0x44 -lbl_1_data_24C = .data:0x0000024C; // type:object size:0x1A4 -lbl_1_data_3F0 = .data:0x000003F0; // type:object size:0x38 -lbl_1_data_428 = .data:0x00000428; // type:object size:0x9 data:string -lbl_1_data_431 = .data:0x00000431; // type:object size:0x9 data:string -lbl_1_data_43A = .data:0x0000043A; // type:object size:0xB data:string -lbl_1_data_445 = .data:0x00000445; // type:object size:0xB data:string -lbl_1_data_450 = .data:0x00000450; // type:object size:0x18 -lbl_1_data_468 = .data:0x00000468; // type:object size:0x24 -lbl_1_data_48C = .data:0x0000048C; // type:object size:0x48 -lbl_1_data_4D4 = .data:0x000004D4; // type:object size:0x6C -lbl_1_data_540 = .data:0x00000540; // type:object size:0x24 -lbl_1_data_564 = .data:0x00000564; // type:object size:0x2 data:string -lbl_1_data_566 = .data:0x00000566; // type:object size:0x15 data:string -lbl_1_data_57B = .data:0x0000057B; // type:object size:0x15 data:string -lbl_1_data_590 = .data:0x00000590; // type:object size:0x15 data:string -lbl_1_data_5A5 = .data:0x000005A5; // type:object size:0x15 data:string -lbl_1_data_5BA = .data:0x000005BA; // type:object size:0x18 data:string -lbl_1_data_5D2 = .data:0x000005D2; // type:object size:0x18 data:string -lbl_1_data_5EA = .data:0x000005EA; // type:object size:0x15 data:string -lbl_1_data_5FF = .data:0x000005FF; // type:object size:0x15 data:string -lbl_1_data_614 = .data:0x00000614; // type:object size:0x15 data:string -lbl_1_data_629 = .data:0x00000629; // type:object size:0x15 data:string -lbl_1_data_63E = .data:0x0000063E; // type:object size:0x16 -jumptable_1_data_654 = .data:0x00000654; // type:object size:0x20 scope:local -lbl_1_data_674 = .data:0x00000674; // type:object size:0xC -lbl_1_data_680 = .data:0x00000680; // type:object size:0x8 -lbl_1_data_688 = .data:0x00000688; // type:object size:0x28 -lbl_1_data_6B0 = .data:0x000006B0; // type:object size:0x10 -lbl_1_data_6C0 = .data:0x000006C0; // type:object size:0xB0 data:4byte -lbl_1_data_770 = .data:0x00000770; // type:object size:0x24 -lbl_1_data_794 = .data:0x00000794; // type:object size:0x6C -lbl_1_data_800 = .data:0x00000800; // type:object size:0x24 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte -lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x2 data:2byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 data:2byte -lbl_1_bss_16 = .bss:0x00000016; // type:object size:0xA data:2byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0xC data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x6F0 -lbl_1_bss_728 = .bss:0x00000728; // type:object size:0x80 -lbl_1_bss_7A8 = .bss:0x000007A8; // type:object size:0x4 data:4byte -lbl_1_bss_7AC = .bss:0x000007AC; // type:object size:0x4 data:4byte -lbl_1_bss_7B0 = .bss:0x000007B0; // type:object size:0x8 data:4byte -lbl_1_bss_7B8 = .bss:0x000007B8; // type:object size:0x10 -lbl_1_bss_7C8 = .bss:0x000007C8; // type:object size:0x4 data:4byte -lbl_1_bss_7CC = .bss:0x000007CC; // type:object size:0x4 data:4byte -lbl_1_bss_7D0 = .bss:0x000007D0; // type:object size:0x14 diff --git a/config/GMPJ01_00/rels/m438Dll/splits.txt b/config/GMPJ01_00/rels/m438Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m438Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m438Dll/symbols.txt b/config/GMPJ01_00/rels/m438Dll/symbols.txt deleted file mode 100644 index 7ea887f2..00000000 --- a/config/GMPJ01_00/rels/m438Dll/symbols.txt +++ /dev/null @@ -1,462 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x43C -fn_1_4DC = .text:0x000004DC; // type:function size:0x20 -fn_1_4FC = .text:0x000004FC; // type:function size:0x478 -fn_1_974 = .text:0x00000974; // type:function size:0x800 -fn_1_1174 = .text:0x00001174; // type:function size:0x90 -fn_1_1204 = .text:0x00001204; // type:function size:0x19C -fn_1_13A0 = .text:0x000013A0; // type:function size:0x9C0 -fn_1_1D60 = .text:0x00001D60; // type:function size:0x1AC -fn_1_1F0C = .text:0x00001F0C; // type:function size:0x164 -fn_1_2070 = .text:0x00002070; // type:function size:0x4F4 -fn_1_2564 = .text:0x00002564; // type:function size:0xA0 -fn_1_2604 = .text:0x00002604; // type:function size:0x2B8 -fn_1_28BC = .text:0x000028BC; // type:function size:0x28 -fn_1_28E4 = .text:0x000028E4; // type:function size:0x80 -fn_1_2964 = .text:0x00002964; // type:function size:0x3EC -fn_1_2D50 = .text:0x00002D50; // type:function size:0xFC -fn_1_2E4C = .text:0x00002E4C; // type:function size:0x770 -fn_1_35BC = .text:0x000035BC; // type:function size:0x4 -fn_1_35C0 = .text:0x000035C0; // type:function size:0xDB4 -fn_1_4374 = .text:0x00004374; // type:function size:0x3B0 -fn_1_4724 = .text:0x00004724; // type:function size:0x260 -fn_1_4984 = .text:0x00004984; // type:function size:0x5CC -fn_1_4F50 = .text:0x00004F50; // type:function size:0xDFC -fn_1_5D4C = .text:0x00005D4C; // type:function size:0x570 -fn_1_62BC = .text:0x000062BC; // type:function size:0xF4 -fn_1_63B0 = .text:0x000063B0; // type:function size:0x68C -fn_1_6A3C = .text:0x00006A3C; // type:function size:0x8C4 -fn_1_7300 = .text:0x00007300; // type:function size:0x558 -fn_1_7858 = .text:0x00007858; // type:function size:0x300 -fn_1_7B58 = .text:0x00007B58; // type:function size:0x64 -fn_1_7BBC = .text:0x00007BBC; // type:function size:0x40 -fn_1_7BFC = .text:0x00007BFC; // type:function size:0xA0 -fn_1_7C9C = .text:0x00007C9C; // type:function size:0x94 -fn_1_7D30 = .text:0x00007D30; // type:function size:0x84 -fn_1_7DB4 = .text:0x00007DB4; // type:function size:0x24 -fn_1_7DD8 = .text:0x00007DD8; // type:function size:0x104 -fn_1_7EDC = .text:0x00007EDC; // type:function size:0x168 -fn_1_8044 = .text:0x00008044; // type:function size:0x120 -fn_1_8164 = .text:0x00008164; // type:function size:0x39C -fn_1_8500 = .text:0x00008500; // type:function size:0x250 -fn_1_8750 = .text:0x00008750; // type:function size:0x78 -fn_1_87C8 = .text:0x000087C8; // type:function size:0x11C -fn_1_88E4 = .text:0x000088E4; // type:function size:0x78 -fn_1_895C = .text:0x0000895C; // type:function size:0x2D8 -fn_1_8C34 = .text:0x00008C34; // type:function size:0x2B8 -fn_1_8EEC = .text:0x00008EEC; // type:function size:0x154 -fn_1_9040 = .text:0x00009040; // type:function size:0x3E0 -fn_1_9420 = .text:0x00009420; // type:function size:0x214 -fn_1_9634 = .text:0x00009634; // type:function size:0x198 -fn_1_97CC = .text:0x000097CC; // type:function size:0xD8 -fn_1_98A4 = .text:0x000098A4; // type:function size:0xBC -fn_1_9960 = .text:0x00009960; // type:function size:0x33C -fn_1_9C9C = .text:0x00009C9C; // type:function size:0x4B0 -fn_1_A14C = .text:0x0000A14C; // type:function size:0x4C0 -fn_1_A60C = .text:0x0000A60C; // type:function size:0x7C -fn_1_A688 = .text:0x0000A688; // type:function size:0x4 -fn_1_A68C = .text:0x0000A68C; // type:function size:0x270 -fn_1_A8FC = .text:0x0000A8FC; // type:function size:0x51C -fn_1_AE18 = .text:0x0000AE18; // type:function size:0x628 -fn_1_B440 = .text:0x0000B440; // type:function size:0x98 -fn_1_B4D8 = .text:0x0000B4D8; // type:function size:0x70 -fn_1_B548 = .text:0x0000B548; // type:function size:0x4 -fn_1_B54C = .text:0x0000B54C; // type:function size:0x9D4 -fn_1_BF20 = .text:0x0000BF20; // type:function size:0x844 -fn_1_C764 = .text:0x0000C764; // type:function size:0x184 -fn_1_C8E8 = .text:0x0000C8E8; // type:function size:0x1C8 -fn_1_CAB0 = .text:0x0000CAB0; // type:function size:0x94C -fn_1_D3FC = .text:0x0000D3FC; // type:function size:0x180 -fn_1_D57C = .text:0x0000D57C; // type:function size:0x4E8 -fn_1_DA64 = .text:0x0000DA64; // type:function size:0x43C -fn_1_DEA0 = .text:0x0000DEA0; // type:function size:0xD0 -fn_1_DF70 = .text:0x0000DF70; // type:function size:0xC4 -fn_1_E034 = .text:0x0000E034; // type:function size:0x454 -fn_1_E488 = .text:0x0000E488; // type:function size:0x11C -fn_1_E5A4 = .text:0x0000E5A4; // type:function size:0xB4 -fn_1_E658 = .text:0x0000E658; // type:function size:0x138 -fn_1_E790 = .text:0x0000E790; // type:function size:0xDA8 -fn_1_F538 = .text:0x0000F538; // type:function size:0x12C -fn_1_F664 = .text:0x0000F664; // type:function size:0x1C -fn_1_F680 = .text:0x0000F680; // type:function size:0x2C -fn_1_F6AC = .text:0x0000F6AC; // type:function size:0x1C -fn_1_F6C8 = .text:0x0000F6C8; // type:function size:0x184 -fn_1_F84C = .text:0x0000F84C; // type:function size:0xA0 -fn_1_F8EC = .text:0x0000F8EC; // type:function size:0xA8 -fn_1_F994 = .text:0x0000F994; // type:function size:0x8C -fn_1_FA20 = .text:0x0000FA20; // type:function size:0x98 -fn_1_FAB8 = .text:0x0000FAB8; // type:function size:0x288 -fn_1_FD40 = .text:0x0000FD40; // type:function size:0x518 -fn_1_10258 = .text:0x00010258; // type:function size:0x564 -fn_1_107BC = .text:0x000107BC; // type:function size:0x128 -fn_1_108E4 = .text:0x000108E4; // type:function size:0x2C -fn_1_10910 = .text:0x00010910; // type:function size:0x3A8 -fn_1_10CB8 = .text:0x00010CB8; // type:function size:0x254 -fn_1_10F0C = .text:0x00010F0C; // type:function size:0x80 -fn_1_10F8C = .text:0x00010F8C; // type:function size:0x8C -fn_1_11018 = .text:0x00011018; // type:function size:0x9C -fn_1_110B4 = .text:0x000110B4; // type:function size:0x5A4 -fn_1_11658 = .text:0x00011658; // type:function size:0x238 -fn_1_11890 = .text:0x00011890; // type:function size:0x6C -fn_1_118FC = .text:0x000118FC; // type:function size:0x70 -fn_1_1196C = .text:0x0001196C; // type:function size:0x74 -fn_1_119E0 = .text:0x000119E0; // type:function size:0x84 -fn_1_11A64 = .text:0x00011A64; // type:function size:0x88 -fn_1_11AEC = .text:0x00011AEC; // type:function size:0x8C -fn_1_11B78 = .text:0x00011B78; // type:function size:0x70 -fn_1_11BE8 = .text:0x00011BE8; // type:function size:0x74 -fn_1_11C5C = .text:0x00011C5C; // type:function size:0x6C -fn_1_11CC8 = .text:0x00011CC8; // type:function size:0x70 -fn_1_11D38 = .text:0x00011D38; // type:function size:0x74 -fn_1_11DAC = .text:0x00011DAC; // type:function size:0x6C -fn_1_11E18 = .text:0x00011E18; // type:function size:0x70 -fn_1_11E88 = .text:0x00011E88; // type:function size:0x74 -fn_1_11EFC = .text:0x00011EFC; // type:function size:0x6C -fn_1_11F68 = .text:0x00011F68; // type:function size:0x70 -fn_1_11FD8 = .text:0x00011FD8; // type:function size:0x74 -fn_1_1204C = .text:0x0001204C; // type:function size:0x44 -fn_1_12090 = .text:0x00012090; // type:function size:0x70 -fn_1_12100 = .text:0x00012100; // type:function size:0x74 -fn_1_12174 = .text:0x00012174; // type:function size:0x44 -fn_1_121B8 = .text:0x000121B8; // type:function size:0x70 -fn_1_12228 = .text:0x00012228; // type:function size:0x74 -fn_1_1229C = .text:0x0001229C; // type:function size:0x5C -fn_1_122F8 = .text:0x000122F8; // type:function size:0x80 -fn_1_12378 = .text:0x00012378; // type:function size:0x74 -fn_1_123EC = .text:0x000123EC; // type:function size:0x78 -fn_1_12464 = .text:0x00012464; // type:function size:0x68 -fn_1_124CC = .text:0x000124CC; // type:function size:0x6C -fn_1_12538 = .text:0x00012538; // type:function size:0x68 -fn_1_125A0 = .text:0x000125A0; // type:function size:0x6C -fn_1_1260C = .text:0x0001260C; // type:function size:0x68 -fn_1_12674 = .text:0x00012674; // type:function size:0x6C -fn_1_126E0 = .text:0x000126E0; // type:function size:0x6C -fn_1_1274C = .text:0x0001274C; // type:function size:0x78 -fn_1_127C4 = .text:0x000127C4; // type:function size:0x98 -fn_1_1285C = .text:0x0001285C; // type:function size:0x6C -fn_1_128C8 = .text:0x000128C8; // type:function size:0x78 -fn_1_12940 = .text:0x00012940; // type:function size:0x98 -fn_1_129D8 = .text:0x000129D8; // type:function size:0x70 -fn_1_12A48 = .text:0x00012A48; // type:function size:0x78 -fn_1_12AC0 = .text:0x00012AC0; // type:function size:0x98 -fn_1_12B58 = .text:0x00012B58; // type:function size:0x40 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x10 data:4byte -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 data:double -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 data:double -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x8 data:double -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x8 data:double -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 data:double -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x8 data:double -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x8 data:double -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 data:double -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x30 data:4byte -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x10 data:byte -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0xC -lbl_1_data_C = .data:0x0000000C; // type:object size:0xC -lbl_1_data_18 = .data:0x00000018; // type:object size:0x4 -lbl_1_data_1C = .data:0x0000001C; // type:object size:0xC -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC -lbl_1_data_34 = .data:0x00000034; // type:object size:0xC -lbl_1_data_40 = .data:0x00000040; // type:object size:0x24 -lbl_1_data_64 = .data:0x00000064; // type:object size:0x4 data:4byte -lbl_1_data_68 = .data:0x00000068; // type:object size:0x420 -lbl_1_data_488 = .data:0x00000488; // type:object size:0x2C -lbl_1_data_4B4 = .data:0x000004B4; // type:object size:0x30 -jumptable_1_data_4E4 = .data:0x000004E4; // type:object size:0x2C scope:local -lbl_1_data_514 = .data:0x00000514; // type:object size:0xC -lbl_1_data_520 = .data:0x00000520; // type:object size:0x64 -lbl_1_data_584 = .data:0x00000584; // type:object size:0x64 -lbl_1_data_5E8 = .data:0x000005E8; // type:object size:0x24 -lbl_1_data_60C = .data:0x0000060C; // type:object size:0x6C -lbl_1_data_678 = .data:0x00000678; // type:object size:0x24 -lbl_1_data_69C = .data:0x0000069C; // type:object size:0x6C -lbl_1_data_708 = .data:0x00000708; // type:object size:0x24 -lbl_1_data_72C = .data:0x0000072C; // type:object size:0x24 -lbl_1_data_750 = .data:0x00000750; // type:object size:0x7 data:string -lbl_1_data_757 = .data:0x00000757; // type:object size:0x7 data:string -lbl_1_data_75E = .data:0x0000075E; // type:object size:0x7 data:string -lbl_1_data_765 = .data:0x00000765; // type:object size:0x7 data:string -lbl_1_data_76C = .data:0x0000076C; // type:object size:0x7 data:string -lbl_1_data_773 = .data:0x00000773; // type:object size:0x7 data:string -lbl_1_data_77A = .data:0x0000077A; // type:object size:0x7 data:string -lbl_1_data_781 = .data:0x00000781; // type:object size:0x7 data:string -lbl_1_data_788 = .data:0x00000788; // type:object size:0x7 data:string -lbl_1_data_78F = .data:0x0000078F; // type:object size:0x8 data:string -lbl_1_data_797 = .data:0x00000797; // type:object size:0x8 data:string -lbl_1_data_79F = .data:0x0000079F; // type:object size:0x8 data:string -lbl_1_data_7A7 = .data:0x000007A7; // type:object size:0x8 data:string -lbl_1_data_7AF = .data:0x000007AF; // type:object size:0x8 data:string -lbl_1_data_7B7 = .data:0x000007B7; // type:object size:0x8 data:string -lbl_1_data_7BF = .data:0x000007BF; // type:object size:0x8 data:string -lbl_1_data_7C7 = .data:0x000007C7; // type:object size:0x8 data:string -lbl_1_data_7CF = .data:0x000007CF; // type:object size:0x8 data:string -lbl_1_data_7D7 = .data:0x000007D7; // type:object size:0x8 data:string -lbl_1_data_7DF = .data:0x000007DF; // type:object size:0x8 data:string -lbl_1_data_7E7 = .data:0x000007E7; // type:object size:0x8 data:string -lbl_1_data_7EF = .data:0x000007EF; // type:object size:0x8 data:string -lbl_1_data_7F7 = .data:0x000007F7; // type:object size:0x8 data:string -lbl_1_data_7FF = .data:0x000007FF; // type:object size:0x8 data:string -lbl_1_data_807 = .data:0x00000807; // type:object size:0x8 data:string -lbl_1_data_80F = .data:0x0000080F; // type:object size:0x8 data:string -lbl_1_data_817 = .data:0x00000817; // type:object size:0x8 data:string -lbl_1_data_81F = .data:0x0000081F; // type:object size:0x8 data:string -lbl_1_data_827 = .data:0x00000827; // type:object size:0x8 data:string -lbl_1_data_82F = .data:0x0000082F; // type:object size:0x8 data:string -lbl_1_data_837 = .data:0x00000837; // type:object size:0x8 data:string -lbl_1_data_83F = .data:0x0000083F; // type:object size:0x9 -lbl_1_data_848 = .data:0x00000848; // type:object size:0x80 -lbl_1_data_8C8 = .data:0x000008C8; // type:object size:0x9 data:string -lbl_1_data_8D1 = .data:0x000008D1; // type:object size:0x7 data:string -lbl_1_data_8D8 = .data:0x000008D8; // type:object size:0x60 -lbl_1_data_938 = .data:0x00000938; // type:object size:0xB data:string -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x288 -lbl_1_bss_294 = .bss:0x00000294; // type:object size:0x4 data:4byte -lbl_1_bss_298 = .bss:0x00000298; // type:object size:0x900 data:float -lbl_1_bss_B98 = .bss:0x00000B98; // type:object size:0xC data:4byte -lbl_1_bss_BA4 = .bss:0x00000BA4; // type:object size:0x200 -lbl_1_bss_DA4 = .bss:0x00000DA4; // type:object size:0x4 data:4byte -lbl_1_bss_DA8 = .bss:0x00000DA8; // type:object size:0x2 data:2byte -lbl_1_bss_DAA = .bss:0x00000DAA; // type:object size:0x8 data:2byte -lbl_1_bss_DB2 = .bss:0x00000DB2; // type:object size:0x2 data:2byte -lbl_1_bss_DB4 = .bss:0x00000DB4; // type:object size:0x2 data:2byte -lbl_1_bss_DB6 = .bss:0x00000DB6; // type:object size:0x2 data:2byte -lbl_1_bss_DB8 = .bss:0x00000DB8; // type:object size:0x2 data:2byte -lbl_1_bss_DBA = .bss:0x00000DBA; // type:object size:0x2 data:2byte -lbl_1_bss_DBC = .bss:0x00000DBC; // type:object size:0x4 data:4byte -lbl_1_bss_DC0 = .bss:0x00000DC0; // type:object size:0x4 data:4byte -lbl_1_bss_DC4 = .bss:0x00000DC4; // type:object size:0x10 -lbl_1_bss_DD4 = .bss:0x00000DD4; // type:object size:0x4 data:4byte -lbl_1_bss_DD8 = .bss:0x00000DD8; // type:object size:0x4 data:4byte -lbl_1_bss_DDC = .bss:0x00000DDC; // type:object size:0x4 data:4byte -lbl_1_bss_DE0 = .bss:0x00000DE0; // type:object size:0x4 data:4byte -lbl_1_bss_DE4 = .bss:0x00000DE4; // type:object size:0x48 data:4byte -lbl_1_bss_E2C = .bss:0x00000E2C; // type:object size:0x4 data:4byte -lbl_1_bss_E30 = .bss:0x00000E30; // type:object size:0x4 data:4byte -lbl_1_bss_E34 = .bss:0x00000E34; // type:object size:0x258 data:4byte -lbl_1_bss_108C = .bss:0x0000108C; // type:object size:0x18 data:4byte diff --git a/config/GMPJ01_00/rels/m444dll/splits.txt b/config/GMPJ01_00/rels/m444dll/splits.txt deleted file mode 100644 index d8c548ff..00000000 --- a/config/GMPJ01_00/rels/m444dll/splits.txt +++ /dev/null @@ -1,32 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/m444dll/main.c: - .text start:0x000000A0 end:0x00008434 - .rodata start:0x00000000 end:0x00000278 - .data start:0x00000000 end:0x00000258 - .bss start:0x00000000 end:0x00000310 - -REL/m444dll/pinball.c: - .text start:0x00008434 end:0x0000D598 - .rodata start:0x00000278 end:0x00000428 - .data start:0x00000258 end:0x00000470 - .bss start:0x00000310 end:0x00019904 - -REL/m444dll/datalist.c: - .text start:0x0000D598 end:0x0000D9D8 - .rodata start:0x00000428 end:0x00000438 - .data start:0x00000470 end:0x000016EC - .bss start:0x00019908 end:0x00019A76 - -REL/m444dll/shadow.c: - .text start:0x0000D9D8 end:0x0000DE30 - .rodata start:0x00000438 end:0x00000474 diff --git a/config/GMPJ01_00/rels/m444dll/symbols.txt b/config/GMPJ01_00/rels/m444dll/symbols.txt deleted file mode 100644 index a6bc53d3..00000000 --- a/config/GMPJ01_00/rels/m444dll/symbols.txt +++ /dev/null @@ -1,320 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x3E0 -fn_1_470 = .text:0x00000480; // type:function size:0x370C -fn_1_3B7C = .text:0x00003B8C; // type:function size:0x1270 -fn_1_4DEC = .text:0x00004DFC; // type:function size:0x7C4 -fn_1_55B0 = .text:0x000055C0; // type:function size:0x1C4 -fn_1_5774 = .text:0x00005784; // type:function size:0x6F4 -fn_1_5E68 = .text:0x00005E78; // type:function size:0x6F4 -fn_1_655C = .text:0x0000656C; // type:function size:0x824 -fn_1_6D80 = .text:0x00006D90; // type:function size:0xBC -fn_1_6E3C = .text:0x00006E4C; // type:function size:0xA0 -fn_1_6EDC = .text:0x00006EEC; // type:function size:0x3B4 -fn_1_7290 = .text:0x000072A0; // type:function size:0xC2C -fn_1_7EBC = .text:0x00007ECC; // type:function size:0x2C4 -fn_1_8180 = .text:0x00008190; // type:function size:0x90 -fn_1_8210 = .text:0x00008220; // type:function size:0xEC -fn_1_82FC = .text:0x0000830C; // type:function size:0x128 -fn_1_8424 = .text:0x00008434; // type:function size:0x1F8 -fn_1_861C = .text:0x0000862C; // type:function size:0x7B4 -fn_1_8DD0 = .text:0x00008DE0; // type:function size:0x648 -fn_1_9418 = .text:0x00009428; // type:function size:0x894 -fn_1_9CAC = .text:0x00009CBC; // type:function size:0x3B4 -fn_1_A060 = .text:0x0000A070; // type:function size:0xB70 -fn_1_ABD0 = .text:0x0000ABE0; // type:function size:0x618 -fn_1_B1E8 = .text:0x0000B1F8; // type:function size:0x102C -fn_1_C214 = .text:0x0000C224; // type:function size:0x528 -fn_1_C73C = .text:0x0000C74C; // type:function size:0x2F4 -fn_1_CA30 = .text:0x0000CA40; // type:function size:0x140 -fn_1_CB70 = .text:0x0000CB80; // type:function size:0x298 -fn_1_CE08 = .text:0x0000CE18; // type:function size:0x194 -fn_1_CF9C = .text:0x0000CFAC; // type:function size:0x244 -fn_1_D1E0 = .text:0x0000D1F0; // type:function size:0x3A8 -fn_1_D588 = .text:0x0000D598; // type:function size:0x290 -fn_1_D818 = .text:0x0000D828; // type:function size:0x138 -fn_1_D950 = .text:0x0000D960; // type:function size:0x78 -fn_1_D9C8 = .text:0x0000D9D8; // type:function size:0x2C -fn_1_D9F4 = .text:0x0000DA04; // type:function size:0x42C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 scope:local data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 scope:local data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 scope:local data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 scope:local data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 scope:local data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 scope:local data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 scope:local data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 scope:local data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 scope:local data:double -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 scope:local data:double -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 scope:local data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x8 scope:local data:double -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 scope:local data:double -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 scope:local data:double -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 scope:local data:double -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x118 -lbl_1_data_118 = .data:0x00000118; // type:object size:0x28 -lbl_1_data_140 = .data:0x00000140; // type:object size:0x54 data:float -lbl_1_data_194 = .data:0x00000194; // type:object size:0x20 -lbl_1_data_1B4 = .data:0x000001B4; // type:object size:0x24 scope:local data:string -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0xA scope:local data:string -lbl_1_data_1E2 = .data:0x000001E2; // type:object size:0xA scope:local data:string -lbl_1_data_1EC = .data:0x000001EC; // type:object size:0xA scope:local data:string -lbl_1_data_1F6 = .data:0x000001F6; // type:object size:0xD scope:local data:string -lbl_1_data_203 = .data:0x00000203; // type:object size:0xD scope:local data:string -lbl_1_data_210 = .data:0x00000210; // type:object size:0xD scope:local data:string -lbl_1_data_21D = .data:0x0000021D; // type:object size:0xD scope:local data:string -lbl_1_data_22A = .data:0x0000022A; // type:object size:0xB scope:local data:string -lbl_1_data_235 = .data:0x00000235; // type:object size:0xB scope:local data:string -lbl_1_data_240 = .data:0x00000240; // type:object size:0x4 -lbl_1_data_244 = .data:0x00000244; // type:object size:0xA scope:local data:string -lbl_1_data_24E = .data:0x0000024E; // type:object size:0xA scope:local -lbl_1_data_258 = .data:0x00000258; // type:object size:0xC -lbl_1_data_264 = .data:0x00000264; // type:object size:0x3C -lbl_1_data_2A0 = .data:0x000002A0; // type:object size:0x28 -lbl_1_data_2C8 = .data:0x000002C8; // type:object size:0xA -lbl_1_data_2D2 = .data:0x000002D2; // type:object size:0xD scope:local data:string -lbl_1_data_2DF = .data:0x000002DF; // type:object size:0xD scope:local data:string -lbl_1_data_2EC = .data:0x000002EC; // type:object size:0xD scope:local data:string -lbl_1_data_2F9 = .data:0x000002F9; // type:object size:0xD scope:local data:string -lbl_1_data_306 = .data:0x00000306; // type:object size:0xD scope:local data:string -lbl_1_data_313 = .data:0x00000313; // type:object size:0xD scope:local data:string -lbl_1_data_320 = .data:0x00000320; // type:object size:0xD scope:local data:string -lbl_1_data_32D = .data:0x0000032D; // type:object size:0xD scope:local data:string -lbl_1_data_33A = .data:0x0000033A; // type:object size:0xD scope:local data:string -lbl_1_data_347 = .data:0x00000347; // type:object size:0xD scope:local data:string -lbl_1_data_354 = .data:0x00000354; // type:object size:0xD scope:local data:string -lbl_1_data_361 = .data:0x00000361; // type:object size:0xD scope:local data:string -lbl_1_data_36E = .data:0x0000036E; // type:object size:0xD scope:local data:string -lbl_1_data_37B = .data:0x0000037B; // type:object size:0xD scope:local data:string -jumptable_1_data_388 = .data:0x00000388; // type:object size:0x1C scope:local -lbl_1_data_3A4 = .data:0x000003A4; // type:object size:0x8 -lbl_1_data_3AC = .data:0x000003AC; // type:object size:0x30 -lbl_1_data_3DC = .data:0x000003DC; // type:object size:0x24 -lbl_1_data_400 = .data:0x00000400; // type:object size:0x54 -lbl_1_data_454 = .data:0x00000454; // type:object size:0xC -lbl_1_data_460 = .data:0x00000460; // type:object size:0x10 scope:local data:string -lbl_1_data_470 = .data:0x00000470; // type:object size:0x127C -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x140 data:2byte -lbl_1_bss_148 = .bss:0x00000148; // type:object size:0x140 data:2byte -lbl_1_bss_288 = .bss:0x00000288; // type:object size:0x8 data:float -lbl_1_bss_290 = .bss:0x00000290; // type:object size:0x18 data:4byte -lbl_1_bss_2A8 = .bss:0x000002A8; // type:object size:0x18 data:float -lbl_1_bss_2C0 = .bss:0x000002C0; // type:object size:0x10 data:2byte -lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x2 data:2byte -lbl_1_bss_2D2 = .bss:0x000002D2; // type:object size:0x2 data:2byte -lbl_1_bss_2D4 = .bss:0x000002D4; // type:object size:0x2 data:2byte -lbl_1_bss_2D6 = .bss:0x000002D6; // type:object size:0x2 data:2byte -lbl_1_bss_2D8 = .bss:0x000002D8; // type:object size:0x2 data:2byte -lbl_1_bss_2DA = .bss:0x000002DA; // type:object size:0x2 data:2byte -lbl_1_bss_2DC = .bss:0x000002DC; // type:object size:0x2 data:2byte -lbl_1_bss_2E0 = .bss:0x000002E0; // type:object size:0x4 data:float -lbl_1_bss_2E4 = .bss:0x000002E4; // type:object size:0xC data:float -lbl_1_bss_2F0 = .bss:0x000002F0; // type:object size:0xC data:4byte -lbl_1_bss_2FC = .bss:0x000002FC; // type:object size:0xC data:4byte -lbl_1_bss_308 = .bss:0x00000308; // type:object size:0x4 data:4byte -lbl_1_bss_30C = .bss:0x0000030C; // type:object size:0x4 data:4byte -lbl_1_bss_310 = .bss:0x00000310; // type:object size:0x1 data:byte -lbl_1_bss_312 = .bss:0x00000312; // type:object size:0x2 data:2byte -lbl_1_bss_314 = .bss:0x00000314; // type:object size:0xC data:float -lbl_1_bss_320 = .bss:0x00000320; // type:object size:0x8 data:2byte -lbl_1_bss_328 = .bss:0x00000328; // type:object size:0x24 data:float -lbl_1_bss_34C = .bss:0x0000034C; // type:object size:0x24 data:float -lbl_1_bss_370 = .bss:0x00000370; // type:object size:0x400 -lbl_1_bss_770 = .bss:0x00000770; // type:object size:0xC data:float -lbl_1_bss_77C = .bss:0x0000077C; // type:object size:0xC data:float -lbl_1_bss_788 = .bss:0x00000788; // type:object size:0xC -lbl_1_bss_794 = .bss:0x00000794; // type:object size:0x90 -lbl_1_bss_824 = .bss:0x00000824; // type:object size:0x3C -lbl_1_bss_860 = .bss:0x00000860; // type:object size:0x24 -lbl_1_bss_884 = .bss:0x00000884; // type:object size:0x1000 -lbl_1_bss_1884 = .bss:0x00001884; // type:object size:0x2 data:2byte -lbl_1_bss_1888 = .bss:0x00001888; // type:object size:0xC data:float -lbl_1_bss_1894 = .bss:0x00001894; // type:object size:0xC data:float -lbl_1_bss_18A0 = .bss:0x000018A0; // type:object size:0x14 -lbl_1_bss_18B4 = .bss:0x000018B4; // type:object size:0x3C -lbl_1_bss_18F0 = .bss:0x000018F0; // type:object size:0xC000 -lbl_1_bss_D8F0 = .bss:0x0000D8F0; // type:object size:0xC000 -lbl_1_bss_198F0 = .bss:0x000198F0; // type:object size:0x14 -lbl_1_bss_1990A = .bss:0x0001990A; // type:object size:0x2 data:2byte -lbl_1_bss_1990E = .bss:0x0001990E; // type:object size:0xB4 data:2byte -lbl_1_bss_199C2 = .bss:0x000199C2; // type:object size:0xB4 data:2byte diff --git a/config/GMPJ01_00/rels/m449Dll/splits.txt b/config/GMPJ01_00/rels/m449Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m449Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m449Dll/symbols.txt b/config/GMPJ01_00/rels/m449Dll/symbols.txt deleted file mode 100644 index d2709158..00000000 --- a/config/GMPJ01_00/rels/m449Dll/symbols.txt +++ /dev/null @@ -1,210 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x358 -fn_1_3F8 = .text:0x000003F8; // type:function size:0x360 -fn_1_758 = .text:0x00000758; // type:function size:0x5EB8 -fn_1_6610 = .text:0x00006610; // type:function size:0x8 -fn_1_6618 = .text:0x00006618; // type:function size:0x2C -fn_1_6644 = .text:0x00006644; // type:function size:0x140 -fn_1_6784 = .text:0x00006784; // type:function size:0xCC -fn_1_6850 = .text:0x00006850; // type:function size:0x958 -fn_1_71A8 = .text:0x000071A8; // type:function size:0x39C -fn_1_7544 = .text:0x00007544; // type:function size:0x988 -fn_1_7ECC = .text:0x00007ECC; // type:function size:0xC8 -fn_1_7F94 = .text:0x00007F94; // type:function size:0x5A4 -fn_1_8538 = .text:0x00008538; // type:function size:0xFC0 -fn_1_94F8 = .text:0x000094F8; // type:function size:0xE0 -fn_1_95D8 = .text:0x000095D8; // type:function size:0x460 -fn_1_9A38 = .text:0x00009A38; // type:function size:0x9C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x10 -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC0 -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0xC0 -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0xC0 -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x20 data:4byte -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 data:double -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x8 data:double -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 data:double -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x8 data:double -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x8 data:double -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 data:double -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x8 data:double -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 data:double -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x8 data:double -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 data:double -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x8 data:double -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 data:double -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 data:double -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 data:double -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 data:double -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 data:double -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x8 data:double -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x8 data:double -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x8 data:double -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 data:double -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 data:double -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 data:double -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x8 data:double -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 data:double -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x8 data:double -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x8 data:double -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x8 data:double -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x60 -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x8 data:double -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x18 data:4byte -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 data:float -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 data:float -lbl_1_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x30 data:4byte -lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 data:double -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x8 data:double -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 data:double -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x8 data:double -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 data:double -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 data:double -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x8 data:double -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x4 data:float -lbl_1_rodata_614 = .rodata:0x00000614; // type:object size:0x4 data:float -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x8 data:double -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x20 data:4byte -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x8 data:4byte -lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x48 -lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x48 -lbl_1_rodata_6D8 = .rodata:0x000006D8; // type:object size:0x4 data:float -lbl_1_rodata_6DC = .rodata:0x000006DC; // type:object size:0x4 data:float -lbl_1_rodata_6E0 = .rodata:0x000006E0; // type:object size:0x4 data:float -lbl_1_rodata_6E4 = .rodata:0x000006E4; // type:object size:0x4 data:float -lbl_1_rodata_6E8 = .rodata:0x000006E8; // type:object size:0x4 data:float -lbl_1_rodata_6EC = .rodata:0x000006EC; // type:object size:0x4 data:float -lbl_1_rodata_6F0 = .rodata:0x000006F0; // type:object size:0xC data:4byte -lbl_1_rodata_6FC = .rodata:0x000006FC; // type:object size:0xC data:4byte -lbl_1_rodata_708 = .rodata:0x00000708; // type:object size:0x1 data:byte -lbl_1_rodata_70C = .rodata:0x0000070C; // type:object size:0x4 data:float -lbl_1_rodata_710 = .rodata:0x00000710; // type:object size:0x4 data:float -lbl_1_rodata_714 = .rodata:0x00000714; // type:object size:0x4 data:float -lbl_1_rodata_718 = .rodata:0x00000718; // type:object size:0x4 data:float -lbl_1_rodata_71C = .rodata:0x0000071C; // type:object size:0x4 data:float -lbl_1_rodata_720 = .rodata:0x00000720; // type:object size:0x4 data:float -lbl_1_rodata_724 = .rodata:0x00000724; // type:object size:0x4 data:float -lbl_1_rodata_728 = .rodata:0x00000728; // type:object size:0x4 data:float -lbl_1_rodata_72C = .rodata:0x0000072C; // type:object size:0x4 data:float -lbl_1_rodata_730 = .rodata:0x00000730; // type:object size:0x4 data:float -lbl_1_rodata_734 = .rodata:0x00000734; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x48 -lbl_1_data_48 = .data:0x00000048; // type:object size:0x48 -lbl_1_data_90 = .data:0x00000090; // type:object size:0x10 -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x10 -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x38 -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x50 -lbl_1_data_138 = .data:0x00000138; // type:object size:0x50 -lbl_1_data_188 = .data:0x00000188; // type:object size:0x50 -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0x50 -lbl_1_data_228 = .data:0x00000228; // type:object size:0x2 data:2byte -lbl_1_data_22A = .data:0x0000022A; // type:object size:0x2 data:2byte -lbl_1_data_22C = .data:0x0000022C; // type:object size:0x4 data:4byte -lbl_1_data_230 = .data:0x00000230; // type:object size:0xC data:4byte -lbl_1_data_23C = .data:0x0000023C; // type:object size:0x28 data:4byte -lbl_1_data_264 = .data:0x00000264; // type:object size:0x20 -lbl_1_data_284 = .data:0x00000284; // type:object size:0x4 data:4byte -lbl_1_data_288 = .data:0x00000288; // type:object size:0x4 data:float -lbl_1_data_28C = .data:0x0000028C; // type:object size:0x4 data:float -lbl_1_data_290 = .data:0x00000290; // type:object size:0x4 data:float -lbl_1_data_294 = .data:0x00000294; // type:object size:0x4 data:float -jumptable_1_data_298 = .data:0x00000298; // type:object size:0x1C scope:local -lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x19 data:string -lbl_1_data_2CD = .data:0x000002CD; // type:object size:0x24 data:string -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0xC data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:float -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:float -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:float -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x8 data:float -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x8 data:4byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x90 data:4byte diff --git a/config/GMPJ01_00/rels/m457Dll/splits.txt b/config/GMPJ01_00/rels/m457Dll/splits.txt deleted file mode 100644 index b1f5db69..00000000 --- a/config/GMPJ01_00/rels/m457Dll/splits.txt +++ /dev/null @@ -1,16 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/m457Dll/main.c: - .text start:0x000000A0 end:0x00007B60 - .rodata start:0x00000000 end:0x00000578 - .data start:0x00000000 end:0x000003E7 - .bss start:0x00000000 end:0x000000C8 diff --git a/config/GMPJ01_00/rels/m457Dll/symbols.txt b/config/GMPJ01_00/rels/m457Dll/symbols.txt deleted file mode 100644 index fd8c1e4e..00000000 --- a/config/GMPJ01_00/rels/m457Dll/symbols.txt +++ /dev/null @@ -1,178 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -CameraPrintDebug = .text:0x000000A0; // type:function size:0x3CC scope:local -M457PlayerExec = .text:0x0000046C; // type:function size:0x2858 scope:local -M457GameExec = .text:0x00002CC4; // type:function size:0x281C scope:local -WrestleMesMain = .text:0x000054E0; // type:function size:0x220 scope:local -ShoveMesMain = .text:0x00005700; // type:function size:0x29C scope:local -M457Main = .text:0x0000599C; // type:function size:0xB3C scope:local -M457GameSetup = .text:0x000064D8; // type:function size:0xAB8 scope:local -M457PlayerSetup = .text:0x00006F90; // type:function size:0x5F4 scope:local -M457Setup = .text:0x00007584; // type:function size:0xC0 scope:local -ObjectSetup = .text:0x00007644; // type:function size:0x480 -M457Exit = .text:0x00007AC4; // type:function size:0x9C scope:local -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 scope:local data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x64 -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x90 -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 scope:local data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 scope:local data:double -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x8 scope:local data:double -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x8 scope:local data:double -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 scope:local data:double -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 scope:local data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 scope:local data:double -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 scope:local data:double -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x5C -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x5C -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x4 scope:local data:float -lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x4 scope:local data:float -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 scope:local data:float -lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 scope:local data:float -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 scope:local data:float -lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 scope:local data:float -lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 scope:local data:float -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x4 scope:local data:float -lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 scope:local data:float -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 scope:local data:float -sprDataNumTbl = .data:0x00000000; // type:object size:0x5C scope:local -sprIdTbl = .data:0x0000005C; // type:object size:0x5C data:4byte scope:local -lbl_1_data_B8 = .data:0x000000B8; // type:object size:0x30 scope:local -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x30 scope:local -lbl_1_data_118 = .data:0x00000118; // type:object size:0x30 scope:local -lbl_1_data_148 = .data:0x00000148; // type:object size:0xC scope:local -lbl_1_data_154 = .data:0x00000154; // type:object size:0x30 scope:local -lbl_1_data_184 = .data:0x00000184; // type:object size:0x30 scope:local -lbl_1_data_1B4 = .data:0x000001B4; // type:object size:0x6C scope:local -sparkDataTbl = .data:0x00000220; // type:object size:0x6C scope:local -lbl_1_data_28C = .data:0x0000028C; // type:object size:0x18 data:float scope:local -lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0x2 data:2byte scope:local -lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x2 data:2byte scope:local -backgroundMusNo = .data:0x000002A8; // type:object size:0x4 data:4byte scope:local -windSeNo = .data:0x000002AC; // type:object size:0x4 data:4byte scope:local -lbl_1_data_2B0 = .data:0x000002B0; // type:object size:0x2 data:2byte scope:local -invincibilitySeNo = .data:0x000002B4; // type:object size:0x4 data:4byte scope:local -lbl_1_data_2B8 = .data:0x000002B8; // type:object size:0x4 data:4byte scope:local -lbl_1_data_2BC = .data:0x000002BC; // type:object size:0x9 scope:local data:string -lbl_1_data_2C5 = .data:0x000002C5; // type:object size:0x3 scope:local data:string -jumptable_1_data_2C8 = .data:0x000002C8; // type:object size:0x2C scope:local -jumptable_1_data_2F4 = .data:0x000002F4; // type:object size:0x48 scope:local -lbl_1_data_33C = .data:0x0000033C; // type:object size:0x4 data:4byte scope:local -lbl_1_data_340 = .data:0x00000340; // type:object size:0x4 data:float scope:local -lbl_1_data_344 = .data:0x00000344; // type:object size:0x4 data:float scope:local -lbl_1_data_348 = .data:0x00000348; // type:object size:0x4 data:float scope:local -jumptable_1_data_34C = .data:0x0000034C; // type:object size:0x20 scope:local -jumptable_1_data_36C = .data:0x0000036C; // type:object size:0x2C scope:local -lbl_1_data_398 = .data:0x00000398; // type:object size:0x12 scope:local data:string -lbl_1_data_3AA = .data:0x000003AA; // type:object size:0x19 scope:local data:string -lbl_1_data_3C3 = .data:0x000003C3; // type:object size:0x24 scope:local data:string -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte scope:local -m457MesEndF = .bss:0x00000010; // type:object size:0x4 data:4byte scope:local -againstBrowserF = .bss:0x00000014; // type:object size:0x4 data:4byte scope:local -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte scope:local -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte scope:local -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte scope:local -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte scope:local -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:float scope:local -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:float scope:local -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:float scope:local -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:float scope:local -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte scope:local -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte scope:local -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte scope:local -lightId = .bss:0x00000048; // type:object size:0x4 data:4byte scope:local -objman = .bss:0x0000004C; // type:object size:0x4 data:4byte scope:local -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte scope:local -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte scope:local -gameState = .bss:0x0000005C; // type:object size:0x4 data:4byte scope:local -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte scope:local -gameObj = .bss:0x00000064; // type:object size:0x4 data:4byte scope:local -playerObj = .bss:0x00000068; // type:object size:0x8 data:4byte scope:local -omViewObj = .bss:0x00000070; // type:object size:0x4 data:4byte scope:local -mainObj = .bss:0x00000074; // type:object size:0x4 data:4byte scope:local -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x50 data:4byte scope:local diff --git a/config/GMPJ01_00/rels/m458Dll/splits.txt b/config/GMPJ01_00/rels/m458Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m458Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m458Dll/symbols.txt b/config/GMPJ01_00/rels/m458Dll/symbols.txt deleted file mode 100644 index 5c135c78..00000000 --- a/config/GMPJ01_00/rels/m458Dll/symbols.txt +++ /dev/null @@ -1,176 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x428 -fn_1_4C8 = .text:0x000004C8; // type:function size:0x3044 -fn_1_350C = .text:0x0000350C; // type:function size:0x16DC -fn_1_4BE8 = .text:0x00004BE8; // type:function size:0x15C -fn_1_4D44 = .text:0x00004D44; // type:function size:0x2D0 -fn_1_5014 = .text:0x00005014; // type:function size:0x9C8 -fn_1_59DC = .text:0x000059DC; // type:function size:0x938 -fn_1_6314 = .text:0x00006314; // type:function size:0x548 -fn_1_685C = .text:0x0000685C; // type:function size:0xC0 -fn_1_691C = .text:0x0000691C; // type:function size:0x480 -fn_1_6D9C = .text:0x00006D9C; // type:function size:0xD0 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0xC data:4byte -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x24 data:4byte -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:4byte -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x94 -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 data:double -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 data:double -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x50 -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:4byte -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x70 -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 data:4byte -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 data:4byte -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0xC data:4byte -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0xC data:4byte -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x1 data:byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x8 -lbl_1_data_8 = .data:0x00000008; // type:object size:0x8 data:4byte -lbl_1_data_10 = .data:0x00000010; // type:object size:0x28 -lbl_1_data_38 = .data:0x00000038; // type:object size:0x28 -lbl_1_data_60 = .data:0x00000060; // type:object size:0x28 -lbl_1_data_88 = .data:0x00000088; // type:object size:0xA -lbl_1_data_92 = .data:0x00000092; // type:object size:0xA -lbl_1_data_9C = .data:0x0000009C; // type:object size:0x28 -lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x28 -lbl_1_data_EC = .data:0x000000EC; // type:object size:0x28 -lbl_1_data_114 = .data:0x00000114; // type:object size:0x18 data:float -lbl_1_data_12C = .data:0x0000012C; // type:object size:0x2 data:2byte -lbl_1_data_12E = .data:0x0000012E; // type:object size:0x2 data:2byte -lbl_1_data_130 = .data:0x00000130; // type:object size:0x4 data:4byte -lbl_1_data_134 = .data:0x00000134; // type:object size:0x4 data:4byte -lbl_1_data_138 = .data:0x00000138; // type:object size:0x24 data:2byte -lbl_1_data_15C = .data:0x0000015C; // type:object size:0x4 data:4byte -lbl_1_data_160 = .data:0x00000160; // type:object size:0x9 data:string -lbl_1_data_169 = .data:0x00000169; // type:object size:0x3 data:string -lbl_1_data_16C = .data:0x0000016C; // type:object size:0x4 data:4byte -jumptable_1_data_170 = .data:0x00000170; // type:object size:0x30 scope:local -lbl_1_data_1A0 = .data:0x000001A0; // type:object size:0x4 data:4byte -lbl_1_data_1A4 = .data:0x000001A4; // type:object size:0x4 data:float -lbl_1_data_1A8 = .data:0x000001A8; // type:object size:0x4 data:float -lbl_1_data_1AC = .data:0x000001AC; // type:object size:0x4 data:float -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x4 data:string -jumptable_1_data_1B4 = .data:0x000001B4; // type:object size:0x34 scope:local -lbl_1_data_1E8 = .data:0x000001E8; // type:object size:0x2C -lbl_1_data_214 = .data:0x00000214; // type:object size:0x8 data:string -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x19 data:string -lbl_1_data_235 = .data:0x00000235; // type:object size:0x24 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x8 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:float -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:float -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:float -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x8 data:float -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x50 -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:4byte -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x4 data:4byte -lbl_1_bss_94 = .bss:0x00000094; // type:object size:0x4 data:4byte -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x4 data:4byte -lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0x4 data:4byte -lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x4 data:4byte -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x8 data:4byte -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x4 data:4byte -lbl_1_bss_B4 = .bss:0x000000B4; // type:object size:0x4 data:4byte -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x8 data:4byte -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x4 data:4byte -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x4 data:4byte -lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x1C0 data:4byte -lbl_1_bss_28C = .bss:0x0000028C; // type:object size:0x90 diff --git a/config/GMPJ01_00/rels/m459dll/splits.txt b/config/GMPJ01_00/rels/m459dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m459dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m459dll/symbols.txt b/config/GMPJ01_00/rels/m459dll/symbols.txt deleted file mode 100644 index ee18477b..00000000 --- a/config/GMPJ01_00/rels/m459dll/symbols.txt +++ /dev/null @@ -1,169 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x138 -fn_1_1D8 = .text:0x000001D8; // type:function size:0x468 -fn_1_640 = .text:0x00000640; // type:function size:0xFC -fn_1_73C = .text:0x0000073C; // type:function size:0x73C -fn_1_E78 = .text:0x00000E78; // type:function size:0x364 -fn_1_11DC = .text:0x000011DC; // type:function size:0x28 -fn_1_1204 = .text:0x00001204; // type:function size:0x28 -fn_1_122C = .text:0x0000122C; // type:function size:0x200 -fn_1_142C = .text:0x0000142C; // type:function size:0x8C -fn_1_14B8 = .text:0x000014B8; // type:function size:0x2C0 -fn_1_1778 = .text:0x00001778; // type:function size:0x124 -fn_1_189C = .text:0x0000189C; // type:function size:0x118 -fn_1_19B4 = .text:0x000019B4; // type:function size:0x4C -fn_1_1A00 = .text:0x00001A00; // type:function size:0x5DC -fn_1_1FDC = .text:0x00001FDC; // type:function size:0x68 -fn_1_2044 = .text:0x00002044; // type:function size:0x168 -fn_1_21AC = .text:0x000021AC; // type:function size:0x200 -fn_1_23AC = .text:0x000023AC; // type:function size:0x21C -fn_1_25C8 = .text:0x000025C8; // type:function size:0x200 -fn_1_27C8 = .text:0x000027C8; // type:function size:0x168 -fn_1_2930 = .text:0x00002930; // type:function size:0x1F4 -fn_1_2B24 = .text:0x00002B24; // type:function size:0x3F4 -fn_1_2F18 = .text:0x00002F18; // type:function size:0xEC -fn_1_3004 = .text:0x00003004; // type:function size:0x388 -fn_1_338C = .text:0x0000338C; // type:function size:0x374 -fn_1_3700 = .text:0x00003700; // type:function size:0xA60 -fn_1_4160 = .text:0x00004160; // type:function size:0xB0 -fn_1_4210 = .text:0x00004210; // type:function size:0x104 -fn_1_4314 = .text:0x00004314; // type:function size:0x21C -fn_1_4530 = .text:0x00004530; // type:function size:0xBC -fn_1_45EC = .text:0x000045EC; // type:function size:0x178 -fn_1_4764 = .text:0x00004764; // type:function size:0x80 -fn_1_47E4 = .text:0x000047E4; // type:function size:0x6C -fn_1_4850 = .text:0x00004850; // type:function size:0x94 -fn_1_48E4 = .text:0x000048E4; // type:function size:0x190 -fn_1_4A74 = .text:0x00004A74; // type:function size:0xF4 -fn_1_4B68 = .text:0x00004B68; // type:function size:0xB4 -fn_1_4C1C = .text:0x00004C1C; // type:function size:0xB4 -fn_1_4CD0 = .text:0x00004CD0; // type:function size:0x184 -fn_1_4E54 = .text:0x00004E54; // type:function size:0x10 -fn_1_4E64 = .text:0x00004E64; // type:function size:0x20 -fn_1_4E84 = .text:0x00004E84; // type:function size:0x14 -fn_1_4E98 = .text:0x00004E98; // type:function size:0x14 -fn_1_4EAC = .text:0x00004EAC; // type:function size:0xE0 -fn_1_4F8C = .text:0x00004F8C; // type:function size:0x20 -fn_1_4FAC = .text:0x00004FAC; // type:function size:0x1C -fn_1_4FC8 = .text:0x00004FC8; // type:function size:0x310 -fn_1_52D8 = .text:0x000052D8; // type:function size:0x18 -fn_1_52F0 = .text:0x000052F0; // type:function size:0x10 -fn_1_5300 = .text:0x00005300; // type:function size:0x10 -fn_1_5310 = .text:0x00005310; // type:function size:0x4C -fn_1_535C = .text:0x0000535C; // type:function size:0x134 -fn_1_5490 = .text:0x00005490; // type:function size:0xDC -fn_1_556C = .text:0x0000556C; // type:function size:0x44 -fn_1_55B0 = .text:0x000055B0; // type:function size:0x4C8 -fn_1_5A78 = .text:0x00005A78; // type:function size:0x3C4 -fn_1_5E3C = .text:0x00005E3C; // type:function size:0x70 -fn_1_5EAC = .text:0x00005EAC; // type:function size:0x94 -fn_1_5F40 = .text:0x00005F40; // type:function size:0x44 -fn_1_5F84 = .text:0x00005F84; // type:function size:0x214 -fn_1_6198 = .text:0x00006198; // type:function size:0x2C0 -fn_1_6458 = .text:0x00006458; // type:function size:0x128 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x30 -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x78 -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x18 -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:wstring -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x20 -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x20 -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x19C -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x8 -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x14 -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x14 -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x14 -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x14 -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0xC data:4byte -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0xC data:4byte -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0xC data:4byte -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x48 -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x1B data:string -lbl_1_data_1B = .data:0x0000001B; // type:object size:0x1D -jumptable_1_data_38 = .data:0x00000038; // type:object size:0x38 scope:local -lbl_1_data_70 = .data:0x00000070; // type:object size:0x1C -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x2 data:2byte -lbl_1_bss_2 = .bss:0x00000002; // type:object size:0x1 data:byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x30 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x2 data:2byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x18 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0xC data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0xC data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x50 -lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x550 data:4byte -lbl_1_bss_61C = .bss:0x0000061C; // type:object size:0x7C data:float -lbl_1_bss_698 = .bss:0x00000698; // type:object size:0x4C data:4byte -lbl_1_bss_6E4 = .bss:0x000006E4; // type:object size:0x4 data:4byte diff --git a/config/GMPJ01_00/rels/m462Dll/splits.txt b/config/GMPJ01_00/rels/m462Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m462Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m462Dll/symbols.txt b/config/GMPJ01_00/rels/m462Dll/symbols.txt deleted file mode 100644 index 619006c8..00000000 --- a/config/GMPJ01_00/rels/m462Dll/symbols.txt +++ /dev/null @@ -1,144 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x400 -fn_1_4A0 = .text:0x000004A0; // type:function size:0x1014 -fn_1_14B4 = .text:0x000014B4; // type:function size:0x80 -fn_1_1534 = .text:0x00001534; // type:function size:0x80 -fn_1_15B4 = .text:0x000015B4; // type:function size:0x80 -fn_1_1634 = .text:0x00001634; // type:function size:0xC4 -fn_1_16F8 = .text:0x000016F8; // type:function size:0x54 -fn_1_174C = .text:0x0000174C; // type:function size:0x54 -fn_1_17A0 = .text:0x000017A0; // type:function size:0xE0 -fn_1_1880 = .text:0x00001880; // type:function size:0x354 -fn_1_1BD4 = .text:0x00001BD4; // type:function size:0x23C -fn_1_1E10 = .text:0x00001E10; // type:function size:0x11CC -fn_1_2FDC = .text:0x00002FDC; // type:function size:0x14FC -fn_1_44D8 = .text:0x000044D8; // type:function size:0x16C -fn_1_4644 = .text:0x00004644; // type:function size:0x580 -fn_1_4BC4 = .text:0x00004BC4; // type:function size:0x898 -fn_1_545C = .text:0x0000545C; // type:function size:0x4F0 -fn_1_594C = .text:0x0000594C; // type:function size:0x498 -fn_1_5DE4 = .text:0x00005DE4; // type:function size:0x498 -fn_1_627C = .text:0x0000627C; // type:function size:0x74 -fn_1_62F0 = .text:0x000062F0; // type:function size:0x7C -fn_1_636C = .text:0x0000636C; // type:function size:0x48 -fn_1_63B4 = .text:0x000063B4; // type:function size:0x48 -fn_1_63FC = .text:0x000063FC; // type:function size:0x1D4 -fn_1_65D0 = .text:0x000065D0; // type:function size:0x220 -fn_1_67F0 = .text:0x000067F0; // type:function size:0x104 -fn_1_68F4 = .text:0x000068F4; // type:function size:0x70 -fn_1_6964 = .text:0x00006964; // type:function size:0x5C -fn_1_69C0 = .text:0x000069C0; // type:function size:0x137C -fn_1_7D3C = .text:0x00007D3C; // type:function size:0x4 -fn_1_7D40 = .text:0x00007D40; // type:function size:0x60 -fn_1_7DA0 = .text:0x00007DA0; // type:function size:0x3BC -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x20 -lbl_1_data_20 = .data:0x00000020; // type:object size:0x10 -lbl_1_data_30 = .data:0x00000030; // type:object size:0x60 -lbl_1_data_90 = .data:0x00000090; // type:object size:0x30 data:float -lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x3C -lbl_1_data_FC = .data:0x000000FC; // type:object size:0x14 data:float -lbl_1_data_110 = .data:0x00000110; // type:object size:0xB data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0xC data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0xC data:float -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0xC data:float -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x48 data:float -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x2D0 -lbl_1_bss_340 = .bss:0x00000340; // type:object size:0x98 data:float -lbl_1_bss_3D8 = .bss:0x000003D8; // type:object size:0x4 data:4byte -lbl_1_bss_3DC = .bss:0x000003DC; // type:object size:0x4 data:4byte -lbl_1_bss_3E0 = .bss:0x000003E0; // type:object size:0x4 data:4byte -lbl_1_bss_3E4 = .bss:0x000003E4; // type:object size:0x4 data:4byte -lbl_1_bss_3E8 = .bss:0x000003E8; // type:object size:0x2 data:2byte -lbl_1_bss_3EA = .bss:0x000003EA; // type:object size:0x2 data:2byte diff --git a/config/GMPJ01_00/rels/m463Dll/splits.txt b/config/GMPJ01_00/rels/m463Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/m463Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/m463Dll/symbols.txt b/config/GMPJ01_00/rels/m463Dll/symbols.txt deleted file mode 100644 index 87b16e8f..00000000 --- a/config/GMPJ01_00/rels/m463Dll/symbols.txt +++ /dev/null @@ -1,164 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x428 -fn_1_4C8 = .text:0x000004C8; // type:function size:0x2D9C -fn_1_3264 = .text:0x00003264; // type:function size:0x1210 -fn_1_4474 = .text:0x00004474; // type:function size:0x184 -fn_1_45F8 = .text:0x000045F8; // type:function size:0xDA8 -fn_1_53A0 = .text:0x000053A0; // type:function size:0x4B0 -fn_1_5850 = .text:0x00005850; // type:function size:0x854 -fn_1_60A4 = .text:0x000060A4; // type:function size:0x98 -fn_1_613C = .text:0x0000613C; // type:function size:0x460 -fn_1_659C = .text:0x0000659C; // type:function size:0x11C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0xC data:4byte -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x24 data:4byte -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC data:4byte -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0xC data:4byte -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:4byte -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x94 -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 data:double -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:4byte -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x50 -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x70 -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x24 data:4byte -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x24 data:4byte -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x10 data:4byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0xC data:4byte -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0xC data:4byte -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x1 data:byte -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x24 -lbl_1_data_24 = .data:0x00000024; // type:object size:0x24 -lbl_1_data_48 = .data:0x00000048; // type:object size:0x24 -lbl_1_data_6C = .data:0x0000006C; // type:object size:0x24 -lbl_1_data_90 = .data:0x00000090; // type:object size:0x24 -lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x9 -lbl_1_data_BD = .data:0x000000BD; // type:object size:0xB -lbl_1_data_C8 = .data:0x000000C8; // type:object size:0x24 -lbl_1_data_EC = .data:0x000000EC; // type:object size:0x24 -lbl_1_data_110 = .data:0x00000110; // type:object size:0x24 -lbl_1_data_134 = .data:0x00000134; // type:object size:0x18 data:float -lbl_1_data_14C = .data:0x0000014C; // type:object size:0x2 data:2byte -lbl_1_data_14E = .data:0x0000014E; // type:object size:0x2 data:2byte -lbl_1_data_150 = .data:0x00000150; // type:object size:0x4 data:4byte -lbl_1_data_154 = .data:0x00000154; // type:object size:0x24 data:4byte -lbl_1_data_178 = .data:0x00000178; // type:object size:0x9 data:string -lbl_1_data_181 = .data:0x00000181; // type:object size:0x3 data:string -lbl_1_data_184 = .data:0x00000184; // type:object size:0x4 data:4byte -jumptable_1_data_188 = .data:0x00000188; // type:object size:0x1C scope:local -lbl_1_data_1A4 = .data:0x000001A4; // type:object size:0x10 -lbl_1_data_1B4 = .data:0x000001B4; // type:object size:0x4 data:4byte -lbl_1_data_1B8 = .data:0x000001B8; // type:object size:0x4 data:float -lbl_1_data_1BC = .data:0x000001BC; // type:object size:0x4 data:float -lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x4 data:float -jumptable_1_data_1C4 = .data:0x000001C4; // type:object size:0x20 scope:local -lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x2C -lbl_1_data_210 = .data:0x00000210; // type:object size:0x19 data:string -lbl_1_data_229 = .data:0x00000229; // type:object size:0x24 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x8 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x8 data:2byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:float -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:float -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:float -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x8 data:float -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x8 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x2D0 -lbl_1_bss_32C = .bss:0x0000032C; // type:object size:0x4 data:4byte -lbl_1_bss_330 = .bss:0x00000330; // type:object size:0x24 data:4byte -lbl_1_bss_354 = .bss:0x00000354; // type:object size:0x4 data:4byte -lbl_1_bss_358 = .bss:0x00000358; // type:object size:0x4 data:4byte -lbl_1_bss_35C = .bss:0x0000035C; // type:object size:0x1C0 data:4byte -lbl_1_bss_51C = .bss:0x0000051C; // type:object size:0x90 diff --git a/config/GMPJ01_00/rels/mentDll/splits.txt b/config/GMPJ01_00/rels/mentDll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/mentDll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/mentDll/symbols.txt b/config/GMPJ01_00/rels/mentDll/symbols.txt deleted file mode 100644 index 1be34e66..00000000 --- a/config/GMPJ01_00/rels/mentDll/symbols.txt +++ /dev/null @@ -1,442 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x4C -fn_1_4C = .text:0x0000004C; // type:function size:0x58 -_prolog = .text:0x000000A4; // type:function size:0x54 scope:global -_epilog = .text:0x000000F8; // type:function size:0x4C scope:global -fn_1_144 = .text:0x00000144; // type:function size:0xC8 -fn_1_20C = .text:0x0000020C; // type:function size:0x28 -fn_1_234 = .text:0x00000234; // type:function size:0x20 -fn_1_254 = .text:0x00000254; // type:function size:0xD8 -fn_1_32C = .text:0x0000032C; // type:function size:0xC8 -fn_1_3F4 = .text:0x000003F4; // type:function size:0xBC -fn_1_4B0 = .text:0x000004B0; // type:function size:0x28 -fn_1_4D8 = .text:0x000004D8; // type:function size:0x20 -fn_1_4F8 = .text:0x000004F8; // type:function size:0x14 -fn_1_50C = .text:0x0000050C; // type:function size:0xDC -fn_1_5E8 = .text:0x000005E8; // type:function size:0xE8 -fn_1_6D0 = .text:0x000006D0; // type:function size:0x24 -fn_1_6F4 = .text:0x000006F4; // type:function size:0xA48 -fn_1_113C = .text:0x0000113C; // type:function size:0x2F8 -fn_1_1434 = .text:0x00001434; // type:function size:0x218 -fn_1_164C = .text:0x0000164C; // type:function size:0x60 -fn_1_16AC = .text:0x000016AC; // type:function size:0x68 -fn_1_1714 = .text:0x00001714; // type:function size:0x90 -fn_1_17A4 = .text:0x000017A4; // type:function size:0x134 -fn_1_18D8 = .text:0x000018D8; // type:function size:0x50 -fn_1_1928 = .text:0x00001928; // type:function size:0x40 -fn_1_1968 = .text:0x00001968; // type:function size:0xF4 -fn_1_1A5C = .text:0x00001A5C; // type:function size:0x37C -fn_1_1DD8 = .text:0x00001DD8; // type:function size:0x37C -fn_1_2154 = .text:0x00002154; // type:function size:0x1C4 -fn_1_2318 = .text:0x00002318; // type:function size:0x54 -fn_1_236C = .text:0x0000236C; // type:function size:0x3E4 -fn_1_2750 = .text:0x00002750; // type:function size:0xB8 -fn_1_2808 = .text:0x00002808; // type:function size:0x3C -fn_1_2844 = .text:0x00002844; // type:function size:0x120 -fn_1_2964 = .text:0x00002964; // type:function size:0x3C -fn_1_29A0 = .text:0x000029A0; // type:function size:0x44 -fn_1_29E4 = .text:0x000029E4; // type:function size:0x26C -fn_1_2C50 = .text:0x00002C50; // type:function size:0x26C -fn_1_2EBC = .text:0x00002EBC; // type:function size:0x27C -fn_1_3138 = .text:0x00003138; // type:function size:0x2B4 -fn_1_33EC = .text:0x000033EC; // type:function size:0x46C -fn_1_3858 = .text:0x00003858; // type:function size:0x454 -fn_1_3CAC = .text:0x00003CAC; // type:function size:0x48C -fn_1_4138 = .text:0x00004138; // type:function size:0x658 -fn_1_4790 = .text:0x00004790; // type:function size:0x4C4 -fn_1_4C54 = .text:0x00004C54; // type:function size:0x4FC -fn_1_5150 = .text:0x00005150; // type:function size:0x6C8 -fn_1_5818 = .text:0x00005818; // type:function size:0x188 -fn_1_59A0 = .text:0x000059A0; // type:function size:0x1B0 -fn_1_5B50 = .text:0x00005B50; // type:function size:0xB8 -fn_1_5C08 = .text:0x00005C08; // type:function size:0xD4 -fn_1_5CDC = .text:0x00005CDC; // type:function size:0x5C -fn_1_5D38 = .text:0x00005D38; // type:function size:0x7FC -fn_1_6534 = .text:0x00006534; // type:function size:0x58 -fn_1_658C = .text:0x0000658C; // type:function size:0x6C0 -fn_1_6C4C = .text:0x00006C4C; // type:function size:0x4D8 -fn_1_7124 = .text:0x00007124; // type:function size:0xF4 -fn_1_7218 = .text:0x00007218; // type:function size:0xEC -fn_1_7304 = .text:0x00007304; // type:function size:0x380 -fn_1_7684 = .text:0x00007684; // type:function size:0x13C -fn_1_77C0 = .text:0x000077C0; // type:function size:0x98 -fn_1_7858 = .text:0x00007858; // type:function size:0xA8 -fn_1_7900 = .text:0x00007900; // type:function size:0x114 -fn_1_7A14 = .text:0x00007A14; // type:function size:0x794 -fn_1_81A8 = .text:0x000081A8; // type:function size:0x30 -fn_1_81D8 = .text:0x000081D8; // type:function size:0x18 -fn_1_81F0 = .text:0x000081F0; // type:function size:0x5C -fn_1_824C = .text:0x0000824C; // type:function size:0x180 -fn_1_83CC = .text:0x000083CC; // type:function size:0x1FC -fn_1_85C8 = .text:0x000085C8; // type:function size:0x2DC -fn_1_88A4 = .text:0x000088A4; // type:function size:0x29C -fn_1_8B40 = .text:0x00008B40; // type:function size:0x28 -fn_1_8B68 = .text:0x00008B68; // type:function size:0x3DC -fn_1_8F44 = .text:0x00008F44; // type:function size:0x54 -fn_1_8F98 = .text:0x00008F98; // type:function size:0x20 -fn_1_8FB8 = .text:0x00008FB8; // type:function size:0x314 -fn_1_92CC = .text:0x000092CC; // type:function size:0x618 -fn_1_98E4 = .text:0x000098E4; // type:function size:0xC8 -fn_1_99AC = .text:0x000099AC; // type:function size:0x20 -fn_1_99CC = .text:0x000099CC; // type:function size:0x6D8 -fn_1_A0A4 = .text:0x0000A0A4; // type:function size:0x20 -fn_1_A0C4 = .text:0x0000A0C4; // type:function size:0x2D8 -fn_1_A39C = .text:0x0000A39C; // type:function size:0x20 -fn_1_A3BC = .text:0x0000A3BC; // type:function size:0x5D4 -fn_1_A990 = .text:0x0000A990; // type:function size:0x20 -fn_1_A9B0 = .text:0x0000A9B0; // type:function size:0x3C8 -fn_1_AD78 = .text:0x0000AD78; // type:function size:0x30C -fn_1_B084 = .text:0x0000B084; // type:function size:0x5D0 -fn_1_B654 = .text:0x0000B654; // type:function size:0xB20 -fn_1_C174 = .text:0x0000C174; // type:function size:0x1E0 -fn_1_C354 = .text:0x0000C354; // type:function size:0xEC -fn_1_C440 = .text:0x0000C440; // type:function size:0x78 -fn_1_C4B8 = .text:0x0000C4B8; // type:function size:0x62C -fn_1_CAE4 = .text:0x0000CAE4; // type:function size:0x288 -fn_1_CD6C = .text:0x0000CD6C; // type:function size:0x20 -fn_1_CD8C = .text:0x0000CD8C; // type:function size:0x200 -fn_1_CF8C = .text:0x0000CF8C; // type:function size:0x384 -fn_1_D310 = .text:0x0000D310; // type:function size:0x20 -fn_1_D330 = .text:0x0000D330; // type:function size:0x20 -fn_1_D350 = .text:0x0000D350; // type:function size:0x2E4 -fn_1_D634 = .text:0x0000D634; // type:function size:0x82C -fn_1_DE60 = .text:0x0000DE60; // type:function size:0x17C -fn_1_DFDC = .text:0x0000DFDC; // type:function size:0x268 -fn_1_E244 = .text:0x0000E244; // type:function size:0x70 -fn_1_E2B4 = .text:0x0000E2B4; // type:function size:0x148 -fn_1_E3FC = .text:0x0000E3FC; // type:function size:0x90 -fn_1_E48C = .text:0x0000E48C; // type:function size:0x1C8 -fn_1_E654 = .text:0x0000E654; // type:function size:0xC8 -fn_1_E71C = .text:0x0000E71C; // type:function size:0x158 -fn_1_E874 = .text:0x0000E874; // type:function size:0xFC8 -fn_1_F83C = .text:0x0000F83C; // type:function size:0x670 -fn_1_FEAC = .text:0x0000FEAC; // type:function size:0x388 -fn_1_10234 = .text:0x00010234; // type:function size:0x308 -fn_1_1053C = .text:0x0001053C; // type:function size:0x7C -fn_1_105B8 = .text:0x000105B8; // type:function size:0x39C -fn_1_10954 = .text:0x00010954; // type:function size:0x308 -fn_1_10C5C = .text:0x00010C5C; // type:function size:0x7C -fn_1_10CD8 = .text:0x00010CD8; // type:function size:0x39C -fn_1_11074 = .text:0x00011074; // type:function size:0x2F4 -fn_1_11368 = .text:0x00011368; // type:function size:0x138 -fn_1_114A0 = .text:0x000114A0; // type:function size:0x74 -fn_1_11514 = .text:0x00011514; // type:function size:0x1E0 -fn_1_116F4 = .text:0x000116F4; // type:function size:0x158 -fn_1_1184C = .text:0x0001184C; // type:function size:0xBC -fn_1_11908 = .text:0x00011908; // type:function size:0x1C8 -fn_1_11AD0 = .text:0x00011AD0; // type:function size:0x2D4 -fn_1_11DA4 = .text:0x00011DA4; // type:function size:0x434 -fn_1_121D8 = .text:0x000121D8; // type:function size:0x624 -fn_1_127FC = .text:0x000127FC; // type:function size:0x210 -fn_1_12A0C = .text:0x00012A0C; // type:function size:0x434 -fn_1_12E40 = .text:0x00012E40; // type:function size:0x508 -fn_1_13348 = .text:0x00013348; // type:function size:0x160 -fn_1_134A8 = .text:0x000134A8; // type:function size:0x1E4 -fn_1_1368C = .text:0x0001368C; // type:function size:0x64 -fn_1_136F0 = .text:0x000136F0; // type:function size:0xB4 -fn_1_137A4 = .text:0x000137A4; // type:function size:0x1CC -fn_1_13970 = .text:0x00013970; // type:function size:0x3F0 -fn_1_13D60 = .text:0x00013D60; // type:function size:0x8C -fn_1_13DEC = .text:0x00013DEC; // type:function size:0xF0 -fn_1_13EDC = .text:0x00013EDC; // type:function size:0x8C -fn_1_13F68 = .text:0x00013F68; // type:function size:0xF0 -fn_1_14058 = .text:0x00014058; // type:function size:0xF0 -fn_1_14148 = .text:0x00014148; // type:function size:0xF0 -fn_1_14238 = .text:0x00014238; // type:function size:0xF0 -fn_1_14328 = .text:0x00014328; // type:function size:0xF0 -fn_1_14418 = .text:0x00014418; // type:function size:0x2B8 -fn_1_146D0 = .text:0x000146D0; // type:function size:0xF0 -fn_1_147C0 = .text:0x000147C0; // type:function size:0xF0 -fn_1_148B0 = .text:0x000148B0; // type:function size:0xF0 -fn_1_149A0 = .text:0x000149A0; // type:function size:0x8C -fn_1_14A2C = .text:0x00014A2C; // type:function size:0x8C -fn_1_14AB8 = .text:0x00014AB8; // type:function size:0xF0 -fn_1_14BA8 = .text:0x00014BA8; // type:function size:0x138 -fn_1_14CE0 = .text:0x00014CE0; // type:function size:0x3B8 -fn_1_15098 = .text:0x00015098; // type:function size:0x120 -fn_1_151B8 = .text:0x000151B8; // type:function size:0x798 -fn_1_15950 = .text:0x00015950; // type:function size:0x364 -fn_1_15CB4 = .text:0x00015CB4; // type:function size:0x5EC -fn_1_162A0 = .text:0x000162A0; // type:function size:0x1EC -fn_1_1648C = .text:0x0001648C; // type:function size:0x6DC -fn_1_16B68 = .text:0x00016B68; // type:function size:0x894 -fn_1_173FC = .text:0x000173FC; // type:function size:0x518 -fn_1_17914 = .text:0x00017914; // type:function size:0xC8 -fn_1_179DC = .text:0x000179DC; // type:function size:0x2EC -fn_1_17CC8 = .text:0x00017CC8; // type:function size:0x454 -fn_1_1811C = .text:0x0001811C; // type:function size:0x3F0 -fn_1_1850C = .text:0x0001850C; // type:function size:0x220 -fn_1_1872C = .text:0x0001872C; // type:function size:0x5C -fn_1_18788 = .text:0x00018788; // type:function size:0x2CC -fn_1_18A54 = .text:0x00018A54; // type:function size:0x378 -fn_1_18DCC = .text:0x00018DCC; // type:function size:0x1A8 -fn_1_18F74 = .text:0x00018F74; // type:function size:0x174 -fn_1_190E8 = .text:0x000190E8; // type:function size:0xBB0 -fn_1_19C98 = .text:0x00019C98; // type:function size:0x1E94 -fn_1_1BB2C = .text:0x0001BB2C; // type:function size:0xA28 -fn_1_1C554 = .text:0x0001C554; // type:function size:0x120 -fn_1_1C674 = .text:0x0001C674; // type:function size:0xE0 -fn_1_1C754 = .text:0x0001C754; // type:function size:0x23C -fn_1_1C990 = .text:0x0001C990; // type:function size:0x238 -fn_1_1CBC8 = .text:0x0001CBC8; // type:function size:0x3A0 -fn_1_1CF68 = .text:0x0001CF68; // type:function size:0x594 -fn_1_1D4FC = .text:0x0001D4FC; // type:function size:0x9CC -fn_1_1DEC8 = .text:0x0001DEC8; // type:function size:0x70 -fn_1_1DF38 = .text:0x0001DF38; // type:function size:0x70 -fn_1_1DFA8 = .text:0x0001DFA8; // type:function size:0x1FC -fn_1_1E1A4 = .text:0x0001E1A4; // type:function size:0x250 -fn_1_1E3F4 = .text:0x0001E3F4; // type:function size:0x4A0 -fn_1_1E894 = .text:0x0001E894; // type:function size:0xD4C -fn_1_1F5E0 = .text:0x0001F5E0; // type:function size:0xC8 -fn_1_1F6A8 = .text:0x0001F6A8; // type:function size:0x1B0 -fn_1_1F858 = .text:0x0001F858; // type:function size:0x1CC -fn_1_1FA24 = .text:0x0001FA24; // type:function size:0x220 -fn_1_1FC44 = .text:0x0001FC44; // type:function size:0x1B4 -fn_1_1FDF8 = .text:0x0001FDF8; // type:function size:0x144 -fn_1_1FF3C = .text:0x0001FF3C; // type:function size:0x610 -fn_1_2054C = .text:0x0002054C; // type:function size:0x260 -fn_1_207AC = .text:0x000207AC; // type:function size:0x138 -fn_1_208E4 = .text:0x000208E4; // type:function size:0x130 -fn_1_20A14 = .text:0x00020A14; // type:function size:0x130 -fn_1_20B44 = .text:0x00020B44; // type:function size:0x5E0 -fn_1_21124 = .text:0x00021124; // type:function size:0x5F0 -fn_1_21714 = .text:0x00021714; // type:function size:0xED0 -fn_1_225E4 = .text:0x000225E4; // type:function size:0xE38 -fn_1_2341C = .text:0x0002341C; // type:function size:0x60C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0xC data:4byte -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0xC data:4byte -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0xC data:4byte -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x1 data:byte -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x1C data:4byte -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0xC data:4byte -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x10 data:4byte -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x18 data:4byte -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0xC data:4byte -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0xC data:4byte -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0xC data:4byte -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x18 data:4byte -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0xC data:4byte -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0xC data:4byte -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0xC data:4byte -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x1C data:4byte -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x10 data:4byte -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x18 data:4byte -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0xC data:4byte -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0xC data:4byte -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x1C data:4byte -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0xC data:4byte -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0xC data:4byte -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0xC data:4byte -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0xC data:4byte -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0xC data:4byte -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0xC data:4byte -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x18 data:4byte -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x90 -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x18 data:4byte -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x40 data:4byte -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x20 data:4byte -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x20 data:4byte -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x8 data:double -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 data:4byte -lbl_1_data_70 = .data:0x00000070; // type:object size:0x4 data:4byte -lbl_1_data_74 = .data:0x00000074; // type:object size:0x22 data:string -lbl_1_data_96 = .data:0x00000096; // type:object size:0x1A data:string -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x1A data:string -lbl_1_data_CA = .data:0x000000CA; // type:object size:0xE data:string -lbl_1_data_D8 = .data:0x000000D8; // type:object size:0x48 data:float -lbl_1_data_120 = .data:0x00000120; // type:object size:0x18 -jumptable_1_data_138 = .data:0x00000138; // type:object size:0x30 scope:local -lbl_1_data_168 = .data:0x00000168; // type:object size:0x16 data:string -lbl_1_data_17E = .data:0x0000017E; // type:object size:0x15 data:string -lbl_1_data_193 = .data:0x00000193; // type:object size:0x17 data:string -lbl_1_data_1AA = .data:0x000001AA; // type:object size:0x16 data:string -lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x17 data:string -lbl_1_data_1D7 = .data:0x000001D7; // type:object size:0x16 data:string -lbl_1_data_1ED = .data:0x000001ED; // type:object size:0x17 data:string -lbl_1_data_204 = .data:0x00000204; // type:object size:0x16 data:string -lbl_1_data_21A = .data:0x0000021A; // type:object size:0xF data:string -lbl_1_data_229 = .data:0x00000229; // type:object size:0x1C data:string -lbl_1_data_245 = .data:0x00000245; // type:object size:0x1D data:string -lbl_1_data_262 = .data:0x00000262; // type:object size:0x14 data:string -lbl_1_data_276 = .data:0x00000276; // type:object size:0x15 data:string -lbl_1_data_28B = .data:0x0000028B; // type:object size:0x14 data:string -lbl_1_data_29F = .data:0x0000029F; // type:object size:0x15 -lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x3C -lbl_1_data_2F0 = .data:0x000002F0; // type:object size:0x4 data:4byte -lbl_1_data_2F4 = .data:0x000002F4; // type:object size:0x20 data:string -lbl_1_data_314 = .data:0x00000314; // type:object size:0x20 data:string -lbl_1_data_334 = .data:0x00000334; // type:object size:0x2A data:string -lbl_1_data_35E = .data:0x0000035E; // type:object size:0x3 data:string -lbl_1_data_361 = .data:0x00000361; // type:object size:0x1B data:string -lbl_1_data_37C = .data:0x0000037C; // type:object size:0x1A data:string -lbl_1_data_396 = .data:0x00000396; // type:object size:0x29 data:string -lbl_1_data_3BF = .data:0x000003BF; // type:object size:0x2A data:string -lbl_1_data_3E9 = .data:0x000003E9; // type:object size:0x2A data:string -lbl_1_data_413 = .data:0x00000413; // type:object size:0x2B data:string -lbl_1_data_43E = .data:0x0000043E; // type:object size:0x29 data:string -lbl_1_data_467 = .data:0x00000467; // type:object size:0x2B data:string -lbl_1_data_492 = .data:0x00000492; // type:object size:0x20 data:string -lbl_1_data_4B2 = .data:0x000004B2; // type:object size:0x22 -jumptable_1_data_4D4 = .data:0x000004D4; // type:object size:0x54 scope:local -lbl_1_data_528 = .data:0x00000528; // type:object size:0x1B data:string -lbl_1_data_543 = .data:0x00000543; // type:object size:0x1A data:string -lbl_1_data_55D = .data:0x0000055D; // type:object size:0xF data:string -lbl_1_data_56C = .data:0x0000056C; // type:object size:0x10 data:string -lbl_1_data_57C = .data:0x0000057C; // type:object size:0x40 -lbl_1_data_5BC = .data:0x000005BC; // type:object size:0x20 -lbl_1_data_5DC = .data:0x000005DC; // type:object size:0x64 data:float -lbl_1_data_640 = .data:0x00000640; // type:object size:0x50 data:4byte -lbl_1_data_690 = .data:0x00000690; // type:object size:0x40 data:4byte -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x14 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x10 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x40 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x44 data:float -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x20 data:4byte -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x4 data:4byte -lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x4 data:4byte -lbl_1_bss_D0 = .bss:0x000000D0; // type:object size:0x4 data:4byte -lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0x4 data:4byte -lbl_1_bss_D8 = .bss:0x000000D8; // type:object size:0x4 data:4byte -lbl_1_bss_DC = .bss:0x000000DC; // type:object size:0x4 data:4byte -lbl_1_bss_E0 = .bss:0x000000E0; // type:object size:0x4 data:4byte -lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x15E0 -lbl_1_bss_16C4 = .bss:0x000016C4; // type:object size:0x1A40 -lbl_1_bss_3104 = .bss:0x00003104; // type:object size:0x4 data:4byte -lbl_1_bss_3108 = .bss:0x00003108; // type:object size:0xC data:4byte -lbl_1_bss_3114 = .bss:0x00003114; // type:object size:0x240 data:4byte -lbl_1_bss_3354 = .bss:0x00003354; // type:object size:0x58 data:4byte -lbl_1_bss_33AC = .bss:0x000033AC; // type:object size:0x210 data:4byte -lbl_1_bss_35BC = .bss:0x000035BC; // type:object size:0xB0 data:4byte -lbl_1_bss_366C = .bss:0x0000366C; // type:object size:0x58 data:4byte diff --git a/config/GMPJ01_00/rels/modeseldll/splits.txt b/config/GMPJ01_00/rels/modeseldll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/modeseldll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/modeseldll/symbols.txt b/config/GMPJ01_00/rels/modeseldll/symbols.txt deleted file mode 100644 index 9e826608..00000000 --- a/config/GMPJ01_00/rels/modeseldll/symbols.txt +++ /dev/null @@ -1,270 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x384 -fn_1_424 = .text:0x00000424; // type:function size:0x5E0 -fn_1_A04 = .text:0x00000A04; // type:function size:0xFC -fn_1_B00 = .text:0x00000B00; // type:function size:0x9C -fn_1_B9C = .text:0x00000B9C; // type:function size:0x3B4 -fn_1_F50 = .text:0x00000F50; // type:function size:0xC2C -fn_1_1B7C = .text:0x00001B7C; // type:function size:0x2C4 -fn_1_1E40 = .text:0x00001E40; // type:function size:0x90 -fn_1_1ED0 = .text:0x00001ED0; // type:function size:0x4A8 -fn_1_2378 = .text:0x00002378; // type:function size:0x128 -fn_1_24A0 = .text:0x000024A0; // type:function size:0x11D8 -fn_1_3678 = .text:0x00003678; // type:function size:0x174 -fn_1_37EC = .text:0x000037EC; // type:function size:0x2DC -fn_1_3AC8 = .text:0x00003AC8; // type:function size:0x1B80 -fn_1_5648 = .text:0x00005648; // type:function size:0x19C -fn_1_57E4 = .text:0x000057E4; // type:function size:0x88 -fn_1_586C = .text:0x0000586C; // type:function size:0x35C -fn_1_5BC8 = .text:0x00005BC8; // type:function size:0x8C -fn_1_5C54 = .text:0x00005C54; // type:function size:0xF8 -fn_1_5D4C = .text:0x00005D4C; // type:function size:0x484 -fn_1_61D0 = .text:0x000061D0; // type:function size:0x1134 -fn_1_7304 = .text:0x00007304; // type:function size:0x34C -fn_1_7650 = .text:0x00007650; // type:function size:0x8C -fn_1_76DC = .text:0x000076DC; // type:function size:0x4C0 -fn_1_7B9C = .text:0x00007B9C; // type:function size:0x5B8 -fn_1_8154 = .text:0x00008154; // type:function size:0x288 -fn_1_83DC = .text:0x000083DC; // type:function size:0x18C -fn_1_8568 = .text:0x00008568; // type:function size:0x6F0 -fn_1_8C58 = .text:0x00008C58; // type:function size:0x11DC -fn_1_9E34 = .text:0x00009E34; // type:function size:0x38 -fn_1_9E6C = .text:0x00009E6C; // type:function size:0xAE4 -fn_1_A950 = .text:0x0000A950; // type:function size:0x1F8 -fn_1_AB48 = .text:0x0000AB48; // type:function size:0xE20 -fn_1_B968 = .text:0x0000B968; // type:function size:0x154 -fn_1_BABC = .text:0x0000BABC; // type:function size:0x60 -fn_1_BB1C = .text:0x0000BB1C; // type:function size:0x458 -fn_1_BF74 = .text:0x0000BF74; // type:function size:0x290 -fn_1_C204 = .text:0x0000C204; // type:function size:0x154 -fn_1_C358 = .text:0x0000C358; // type:function size:0x78 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 data:double -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 data:byte -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x38 -lbl_1_data_38 = .data:0x00000038; // type:object size:0x22 data:string -lbl_1_data_5A = .data:0x0000005A; // type:object size:0x14 data:string -lbl_1_data_6E = .data:0x0000006E; // type:object size:0x4 -lbl_1_data_72 = .data:0x00000072; // type:object size:0xA data:string -lbl_1_data_7C = .data:0x0000007C; // type:object size:0x4 data:string -lbl_1_data_80 = .data:0x00000080; // type:object size:0xC -lbl_1_data_8C = .data:0x0000008C; // type:object size:0x18 -lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x18 -lbl_1_data_BC = .data:0x000000BC; // type:object size:0x18 -lbl_1_data_D4 = .data:0x000000D4; // type:object size:0x14 data:string -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x9 data:string -lbl_1_data_F1 = .data:0x000000F1; // type:object size:0xF -lbl_1_data_100 = .data:0x00000100; // type:object size:0x11C data:2byte -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x48 data:4byte -lbl_1_data_264 = .data:0x00000264; // type:object size:0x3 -lbl_1_data_267 = .data:0x00000267; // type:object size:0x5 -lbl_1_data_26C = .data:0x0000026C; // type:object size:0x8 -lbl_1_data_274 = .data:0x00000274; // type:object size:0x2 data:string -lbl_1_data_276 = .data:0x00000276; // type:object size:0x2 data:string -lbl_1_data_278 = .data:0x00000278; // type:object size:0x8 -lbl_1_data_280 = .data:0x00000280; // type:object size:0x2 data:string -lbl_1_data_282 = .data:0x00000282; // type:object size:0x2 data:string -lbl_1_data_284 = .data:0x00000284; // type:object size:0x4 -lbl_1_data_288 = .data:0x00000288; // type:object size:0xC -lbl_1_data_294 = .data:0x00000294; // type:object size:0x19 data:string -lbl_1_data_2AD = .data:0x000002AD; // type:object size:0x23 data:string -lbl_1_data_2D0 = .data:0x000002D0; // type:object size:0x1B data:string -lbl_1_data_2EB = .data:0x000002EB; // type:object size:0x19 data:string -lbl_1_data_304 = .data:0x00000304; // type:object size:0x19 data:string -lbl_1_data_31D = .data:0x0000031D; // type:object size:0x20 data:string -lbl_1_data_33D = .data:0x0000033D; // type:object size:0x1B data:string -lbl_1_data_358 = .data:0x00000358; // type:object size:0x1B data:string -lbl_1_data_373 = .data:0x00000373; // type:object size:0x22 data:string -lbl_1_data_395 = .data:0x00000395; // type:object size:0x5 data:string -lbl_1_data_39A = .data:0x0000039A; // type:object size:0x15 data:string -lbl_1_data_3AF = .data:0x000003AF; // type:object size:0x15 data:string -lbl_1_data_3C4 = .data:0x000003C4; // type:object size:0x1F data:string -lbl_1_data_3E3 = .data:0x000003E3; // type:object size:0x10 data:string -lbl_1_data_3F3 = .data:0x000003F3; // type:object size:0xD data:string -lbl_1_data_400 = .data:0x00000400; // type:object size:0x16 -lbl_1_data_416 = .data:0x00000416; // type:object size:0x6 data:string -lbl_1_data_41C = .data:0x0000041C; // type:object size:0x2 data:2byte -lbl_1_data_41E = .data:0x0000041E; // type:object size:0xA -lbl_1_data_428 = .data:0x00000428; // type:object size:0x514 -lbl_1_data_93C = .data:0x0000093C; // type:object size:0x104 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x8 data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x18 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x30 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:float -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0xC data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0xC data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x8 data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x4 data:4byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x2 data:2byte -lbl_1_bss_82 = .bss:0x00000082; // type:object size:0x6 data:2byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x2 data:2byte -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:float -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x2 data:2byte -lbl_1_bss_92 = .bss:0x00000092; // type:object size:0x6 -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x6 -lbl_1_bss_9E = .bss:0x0000009E; // type:object size:0x6 -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x8 -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0xC -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0xC -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0xC -lbl_1_bss_D0 = .bss:0x000000D0; // type:object size:0x18 -lbl_1_bss_E8 = .bss:0x000000E8; // type:object size:0x6 -lbl_1_bss_EE = .bss:0x000000EE; // type:object size:0x6 -lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0x4 data:4byte -lbl_1_bss_F8 = .bss:0x000000F8; // type:object size:0x4 data:4byte -lbl_1_bss_FC = .bss:0x000000FC; // type:object size:0x4 data:4byte -lbl_1_bss_100 = .bss:0x00000100; // type:object size:0x8 data:float -lbl_1_bss_108 = .bss:0x00000108; // type:object size:0x8 data:float -lbl_1_bss_110 = .bss:0x00000110; // type:object size:0x6 -lbl_1_bss_116 = .bss:0x00000116; // type:object size:0x6 -lbl_1_bss_11C = .bss:0x0000011C; // type:object size:0x2 data:2byte -lbl_1_bss_120 = .bss:0x00000120; // type:object size:0xC data:4byte -lbl_1_bss_12C = .bss:0x0000012C; // type:object size:0x8 data:4byte -lbl_1_bss_134 = .bss:0x00000134; // type:object size:0x6 -lbl_1_bss_13A = .bss:0x0000013A; // type:object size:0x6 -lbl_1_bss_140 = .bss:0x00000140; // type:object size:0x6 -lbl_1_bss_146 = .bss:0x00000146; // type:object size:0x2 data:2byte -lbl_1_bss_148 = .bss:0x00000148; // type:object size:0x2 data:2byte -lbl_1_bss_14C = .bss:0x0000014C; // type:object size:0x6 -lbl_1_bss_152 = .bss:0x00000152; // type:object size:0x1A data:2byte -lbl_1_bss_16C = .bss:0x0000016C; // type:object size:0x30 data:2byte -lbl_1_bss_19C = .bss:0x0000019C; // type:object size:0x30 data:2byte diff --git a/config/GMPJ01_00/rels/movieDll/splits.txt b/config/GMPJ01_00/rels/movieDll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/movieDll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/movieDll/symbols.txt b/config/GMPJ01_00/rels/movieDll/symbols.txt deleted file mode 100644 index 9127e46f..00000000 --- a/config/GMPJ01_00/rels/movieDll/symbols.txt +++ /dev/null @@ -1,51 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x23C -fn_1_2DC = .text:0x000002DC; // type:function size:0xE8 -fn_1_3C4 = .text:0x000003C4; // type:function size:0xD90 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_data_4 = .data:0x00000004; // type:object size:0x14 data:string -lbl_1_data_18 = .data:0x00000018; // type:object size:0x14 data:string -lbl_1_data_2C = .data:0x0000002C; // type:object size:0x15 data:string -lbl_1_data_41 = .data:0x00000041; // type:object size:0x15 data:string -lbl_1_data_56 = .data:0x00000056; // type:object size:0x15 data:string -lbl_1_data_6B = .data:0x0000006B; // type:object size:0x15 data:string -lbl_1_data_80 = .data:0x00000080; // type:object size:0x15 data:string -lbl_1_data_95 = .data:0x00000095; // type:object size:0x15 data:string -lbl_1_data_AA = .data:0x000000AA; // type:object size:0x15 data:string -lbl_1_data_BF = .data:0x000000BF; // type:object size:0x15 data:string -lbl_1_data_D4 = .data:0x000000D4; // type:object size:0x14 data:string -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x14 data:string -lbl_1_data_FC = .data:0x000000FC; // type:object size:0x34 data:4byte -lbl_1_data_130 = .data:0x00000130; // type:object size:0x24 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x2 data:2byte -lbl_1_bss_2 = .bss:0x00000002; // type:object size:0x2 data:2byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2C4 data:2byte -lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x4 data:4byte -lbl_1_bss_2D4 = .bss:0x000002D4; // type:object size:0x4 data:4byte -lbl_1_bss_2D8 = .bss:0x000002D8; // type:object size:0x20 -lbl_1_bss_2F8 = .bss:0x000002F8; // type:object size:0x4 data:4byte -lbl_1_bss_2FC = .bss:0x000002FC; // type:object size:0x4 data:4byte diff --git a/config/GMPJ01_00/rels/mpexDll/splits.txt b/config/GMPJ01_00/rels/mpexDll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/mpexDll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/mpexDll/symbols.txt b/config/GMPJ01_00/rels/mpexDll/symbols.txt deleted file mode 100644 index 17f221a1..00000000 --- a/config/GMPJ01_00/rels/mpexDll/symbols.txt +++ /dev/null @@ -1,474 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0xE8 -fn_1_188 = .text:0x00000188; // type:function size:0x38 -fn_1_1C0 = .text:0x000001C0; // type:function size:0x70 -fn_1_230 = .text:0x00000230; // type:function size:0x68 -fn_1_298 = .text:0x00000298; // type:function size:0xDC -fn_1_374 = .text:0x00000374; // type:function size:0xC4 -fn_1_438 = .text:0x00000438; // type:function size:0x3E4 -fn_1_81C = .text:0x0000081C; // type:function size:0xB8 -fn_1_8D4 = .text:0x000008D4; // type:function size:0x3C -fn_1_910 = .text:0x00000910; // type:function size:0x124 -fn_1_A34 = .text:0x00000A34; // type:function size:0x3C -fn_1_A70 = .text:0x00000A70; // type:function size:0x44 -fn_1_AB4 = .text:0x00000AB4; // type:function size:0x1D0 -fn_1_C84 = .text:0x00000C84; // type:function size:0x1C4 -fn_1_E48 = .text:0x00000E48; // type:function size:0x200 -fn_1_1048 = .text:0x00001048; // type:function size:0x238 -fn_1_1280 = .text:0x00001280; // type:function size:0x39C -fn_1_161C = .text:0x0000161C; // type:function size:0x200 -fn_1_181C = .text:0x0000181C; // type:function size:0x238 -fn_1_1A54 = .text:0x00001A54; // type:function size:0x39C -fn_1_1DF0 = .text:0x00001DF0; // type:function size:0x200 -fn_1_1FF0 = .text:0x00001FF0; // type:function size:0x238 -fn_1_2228 = .text:0x00002228; // type:function size:0x39C -fn_1_25C4 = .text:0x000025C4; // type:function size:0x178 -fn_1_273C = .text:0x0000273C; // type:function size:0x1A0 -fn_1_28DC = .text:0x000028DC; // type:function size:0x4 -fn_1_28E0 = .text:0x000028E0; // type:function size:0x764 -fn_1_3044 = .text:0x00003044; // type:function size:0x294 -fn_1_32D8 = .text:0x000032D8; // type:function size:0xAC -fn_1_3384 = .text:0x00003384; // type:function size:0x74 -fn_1_33F8 = .text:0x000033F8; // type:function size:0x110 -fn_1_3508 = .text:0x00003508; // type:function size:0x19C -fn_1_36A4 = .text:0x000036A4; // type:function size:0xB4 -fn_1_3758 = .text:0x00003758; // type:function size:0x224 -fn_1_397C = .text:0x0000397C; // type:function size:0x78 -fn_1_39F4 = .text:0x000039F4; // type:function size:0x104 -fn_1_3AF8 = .text:0x00003AF8; // type:function size:0x51C -fn_1_4014 = .text:0x00004014; // type:function size:0x98 -fn_1_40AC = .text:0x000040AC; // type:function size:0x98 -fn_1_4144 = .text:0x00004144; // type:function size:0x40 -fn_1_4184 = .text:0x00004184; // type:function size:0x2C8 -fn_1_444C = .text:0x0000444C; // type:function size:0xC8 -fn_1_4514 = .text:0x00004514; // type:function size:0x21C -fn_1_4730 = .text:0x00004730; // type:function size:0x40 -fn_1_4770 = .text:0x00004770; // type:function size:0x2E8 -fn_1_4A58 = .text:0x00004A58; // type:function size:0xE4 -fn_1_4B3C = .text:0x00004B3C; // type:function size:0x3C -fn_1_4B78 = .text:0x00004B78; // type:function size:0xF4 -fn_1_4C6C = .text:0x00004C6C; // type:function size:0x18C -fn_1_4DF8 = .text:0x00004DF8; // type:function size:0x18C -fn_1_4F84 = .text:0x00004F84; // type:function size:0x2B4 -fn_1_5238 = .text:0x00005238; // type:function size:0x2F8 -fn_1_5530 = .text:0x00005530; // type:function size:0x188 -fn_1_56B8 = .text:0x000056B8; // type:function size:0x128 -fn_1_57E0 = .text:0x000057E0; // type:function size:0x3C -fn_1_581C = .text:0x0000581C; // type:function size:0x140 -fn_1_595C = .text:0x0000595C; // type:function size:0x19C -fn_1_5AF8 = .text:0x00005AF8; // type:function size:0x124 -fn_1_5C1C = .text:0x00005C1C; // type:function size:0x124 -fn_1_5D40 = .text:0x00005D40; // type:function size:0x1E88 -fn_1_7BC8 = .text:0x00007BC8; // type:function size:0x1B8 -fn_1_7D80 = .text:0x00007D80; // type:function size:0x244 -fn_1_7FC4 = .text:0x00007FC4; // type:function size:0x1A8 -fn_1_816C = .text:0x0000816C; // type:function size:0x1B4 -fn_1_8320 = .text:0x00008320; // type:function size:0x2A4 -fn_1_85C4 = .text:0x000085C4; // type:function size:0x194 -fn_1_8758 = .text:0x00008758; // type:function size:0x194 -fn_1_88EC = .text:0x000088EC; // type:function size:0xD8 -fn_1_89C4 = .text:0x000089C4; // type:function size:0x118 -fn_1_8ADC = .text:0x00008ADC; // type:function size:0x540 -fn_1_901C = .text:0x0000901C; // type:function size:0x414 -fn_1_9430 = .text:0x00009430; // type:function size:0x284 -fn_1_96B4 = .text:0x000096B4; // type:function size:0x8C -fn_1_9740 = .text:0x00009740; // type:function size:0x150 -fn_1_9890 = .text:0x00009890; // type:function size:0x78 -fn_1_9908 = .text:0x00009908; // type:function size:0x80 -fn_1_9988 = .text:0x00009988; // type:function size:0x34C -fn_1_9CD4 = .text:0x00009CD4; // type:function size:0x98 -fn_1_9D6C = .text:0x00009D6C; // type:function size:0x1A4 -fn_1_9F10 = .text:0x00009F10; // type:function size:0x1D4 -fn_1_A0E4 = .text:0x0000A0E4; // type:function size:0x1C8 -fn_1_A2AC = .text:0x0000A2AC; // type:function size:0xF8 -fn_1_A3A4 = .text:0x0000A3A4; // type:function size:0x264 -fn_1_A608 = .text:0x0000A608; // type:function size:0x72C -fn_1_AD34 = .text:0x0000AD34; // type:function size:0x2D0 -fn_1_B004 = .text:0x0000B004; // type:function size:0x20C -fn_1_B210 = .text:0x0000B210; // type:function size:0x38 -fn_1_B248 = .text:0x0000B248; // type:function size:0x9C -fn_1_B2E4 = .text:0x0000B2E4; // type:function size:0x510 -fn_1_B7F4 = .text:0x0000B7F4; // type:function size:0x7C -fn_1_B870 = .text:0x0000B870; // type:function size:0x138 -fn_1_B9A8 = .text:0x0000B9A8; // type:function size:0x18C -fn_1_BB34 = .text:0x0000BB34; // type:function size:0xE4 -fn_1_BC18 = .text:0x0000BC18; // type:function size:0xC0 -fn_1_BCD8 = .text:0x0000BCD8; // type:function size:0x38 -fn_1_BD10 = .text:0x0000BD10; // type:function size:0x68 -fn_1_BD78 = .text:0x0000BD78; // type:function size:0x2F4 -fn_1_C06C = .text:0x0000C06C; // type:function size:0x70 -fn_1_C0DC = .text:0x0000C0DC; // type:function size:0x3F8 -fn_1_C4D4 = .text:0x0000C4D4; // type:function size:0x70 -fn_1_C544 = .text:0x0000C544; // type:function size:0x31C -fn_1_C860 = .text:0x0000C860; // type:function size:0x38 -fn_1_C898 = .text:0x0000C898; // type:function size:0x200 -fn_1_CA98 = .text:0x0000CA98; // type:function size:0x478 -fn_1_CF10 = .text:0x0000CF10; // type:function size:0x49C -fn_1_D3AC = .text:0x0000D3AC; // type:function size:0xBC -fn_1_D468 = .text:0x0000D468; // type:function size:0x244 -fn_1_D6AC = .text:0x0000D6AC; // type:function size:0x524 -fn_1_DBD0 = .text:0x0000DBD0; // type:function size:0x5A4 -fn_1_E174 = .text:0x0000E174; // type:function size:0x210 -fn_1_E384 = .text:0x0000E384; // type:function size:0x1E4 -fn_1_E568 = .text:0x0000E568; // type:function size:0x5B4 -fn_1_EB1C = .text:0x0000EB1C; // type:function size:0x25C -fn_1_ED78 = .text:0x0000ED78; // type:function size:0x348 -fn_1_F0C0 = .text:0x0000F0C0; // type:function size:0x324 -fn_1_F3E4 = .text:0x0000F3E4; // type:function size:0x70 -fn_1_F454 = .text:0x0000F454; // type:function size:0x2B4 -fn_1_F708 = .text:0x0000F708; // type:function size:0x174 -fn_1_F87C = .text:0x0000F87C; // type:function size:0x4B0 -fn_1_FD2C = .text:0x0000FD2C; // type:function size:0x370 -fn_1_1009C = .text:0x0001009C; // type:function size:0xCC -fn_1_10168 = .text:0x00010168; // type:function size:0x40 -fn_1_101A8 = .text:0x000101A8; // type:function size:0x1F4 -fn_1_1039C = .text:0x0001039C; // type:function size:0x348 -fn_1_106E4 = .text:0x000106E4; // type:function size:0x70 -fn_1_10754 = .text:0x00010754; // type:function size:0x260 -fn_1_109B4 = .text:0x000109B4; // type:function size:0x174 -fn_1_10B28 = .text:0x00010B28; // type:function size:0x45C -fn_1_10F84 = .text:0x00010F84; // type:function size:0x370 -fn_1_112F4 = .text:0x000112F4; // type:function size:0xCC -fn_1_113C0 = .text:0x000113C0; // type:function size:0x40 -fn_1_11400 = .text:0x00011400; // type:function size:0x1F4 -fn_1_115F4 = .text:0x000115F4; // type:function size:0x15C -fn_1_11750 = .text:0x00011750; // type:function size:0x54 -fn_1_117A4 = .text:0x000117A4; // type:function size:0x5C -fn_1_11800 = .text:0x00011800; // type:function size:0x5C -fn_1_1185C = .text:0x0001185C; // type:function size:0x3EC -fn_1_11C48 = .text:0x00011C48; // type:function size:0x198 -fn_1_11DE0 = .text:0x00011DE0; // type:function size:0x228 -fn_1_12008 = .text:0x00012008; // type:function size:0x3F4 -fn_1_123FC = .text:0x000123FC; // type:function size:0xA0 -fn_1_1249C = .text:0x0001249C; // type:function size:0x224 -fn_1_126C0 = .text:0x000126C0; // type:function size:0x2DC -fn_1_1299C = .text:0x0001299C; // type:function size:0x2C -fn_1_129C8 = .text:0x000129C8; // type:function size:0x518 -fn_1_12EE0 = .text:0x00012EE0; // type:function size:0x2C -fn_1_12F0C = .text:0x00012F0C; // type:function size:0x28 -fn_1_12F34 = .text:0x00012F34; // type:function size:0x274 -fn_1_131A8 = .text:0x000131A8; // type:function size:0x2C -fn_1_131D4 = .text:0x000131D4; // type:function size:0x2C -fn_1_13200 = .text:0x00013200; // type:function size:0x24 -fn_1_13224 = .text:0x00013224; // type:function size:0x2BC -fn_1_134E0 = .text:0x000134E0; // type:function size:0x500 -fn_1_139E0 = .text:0x000139E0; // type:function size:0x480 -fn_1_13E60 = .text:0x00013E60; // type:function size:0x80C -fn_1_1466C = .text:0x0001466C; // type:function size:0x28 -fn_1_14694 = .text:0x00014694; // type:function size:0x28 -fn_1_146BC = .text:0x000146BC; // type:function size:0x21C -fn_1_148D8 = .text:0x000148D8; // type:function size:0x194 -fn_1_14A6C = .text:0x00014A6C; // type:function size:0x198 -fn_1_14C04 = .text:0x00014C04; // type:function size:0x9C -fn_1_14CA0 = .text:0x00014CA0; // type:function size:0x2D8 -fn_1_14F78 = .text:0x00014F78; // type:function size:0x2DC -fn_1_15254 = .text:0x00015254; // type:function size:0x1E0 -fn_1_15434 = .text:0x00015434; // type:function size:0xF0 -fn_1_15524 = .text:0x00015524; // type:function size:0x50 -fn_1_15574 = .text:0x00015574; // type:function size:0x584 -fn_1_15AF8 = .text:0x00015AF8; // type:function size:0x5D8 -fn_1_160D0 = .text:0x000160D0; // type:function size:0x2E0 -fn_1_163B0 = .text:0x000163B0; // type:function size:0x274 -fn_1_16624 = .text:0x00016624; // type:function size:0x7C -fn_1_166A0 = .text:0x000166A0; // type:function size:0x44C -fn_1_16AEC = .text:0x00016AEC; // type:function size:0x434 -fn_1_16F20 = .text:0x00016F20; // type:function size:0x204 -fn_1_17124 = .text:0x00017124; // type:function size:0x790 -fn_1_178B4 = .text:0x000178B4; // type:function size:0xB0C -fn_1_183C0 = .text:0x000183C0; // type:function size:0x720 -fn_1_18AE0 = .text:0x00018AE0; // type:function size:0x9C -fn_1_18B7C = .text:0x00018B7C; // type:function size:0xCCC -fn_1_19848 = .text:0x00019848; // type:function size:0x924 -fn_1_1A16C = .text:0x0001A16C; // type:function size:0x1E8 -fn_1_1A354 = .text:0x0001A354; // type:function size:0x958 -fn_1_1ACAC = .text:0x0001ACAC; // type:function size:0x7C -fn_1_1AD28 = .text:0x0001AD28; // type:function size:0x164 -fn_1_1AE8C = .text:0x0001AE8C; // type:function size:0x1B8 -fn_1_1B044 = .text:0x0001B044; // type:function size:0xA4 -fn_1_1B0E8 = .text:0x0001B0E8; // type:function size:0xF4 -fn_1_1B1DC = .text:0x0001B1DC; // type:function size:0x80 -fn_1_1B25C = .text:0x0001B25C; // type:function size:0x80 -fn_1_1B2DC = .text:0x0001B2DC; // type:function size:0x28 -fn_1_1B304 = .text:0x0001B304; // type:function size:0x20 -fn_1_1B324 = .text:0x0001B324; // type:function size:0xD8 -fn_1_1B3FC = .text:0x0001B3FC; // type:function size:0xC8 -fn_1_1B4C4 = .text:0x0001B4C4; // type:function size:0xBC -fn_1_1B580 = .text:0x0001B580; // type:function size:0x40 -fn_1_1B5C0 = .text:0x0001B5C0; // type:function size:0x24 -fn_1_1B5E4 = .text:0x0001B5E4; // type:function size:0x1C0 -fn_1_1B7A4 = .text:0x0001B7A4; // type:function size:0x84 -fn_1_1B828 = .text:0x0001B828; // type:function size:0xD4 -fn_1_1B8FC = .text:0x0001B8FC; // type:function size:0x58 -fn_1_1B954 = .text:0x0001B954; // type:function size:0x15C -fn_1_1BAB0 = .text:0x0001BAB0; // type:function size:0x1C4 -fn_1_1BC74 = .text:0x0001BC74; // type:function size:0x1AC -fn_1_1BE20 = .text:0x0001BE20; // type:function size:0x54 -fn_1_1BE74 = .text:0x0001BE74; // type:function size:0x304 -fn_1_1C178 = .text:0x0001C178; // type:function size:0x304 -fn_1_1C47C = .text:0x0001C47C; // type:function size:0x340 -fn_1_1C7BC = .text:0x0001C7BC; // type:function size:0xC4 -fn_1_1C880 = .text:0x0001C880; // type:function size:0x47C -fn_1_1CCFC = .text:0x0001CCFC; // type:function size:0x16C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0xC data:4byte -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0xC data:4byte -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0xC data:4byte -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x78 -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0xC data:4byte -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0xC data:4byte -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0xC data:4byte -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0xC data:4byte -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0xC data:4byte -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0xC data:4byte -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0xC data:4byte -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0xC data:4byte -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0xC data:4byte -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:4byte -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0xB4 -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x6C -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x2C data:4byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0xB0 -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 data:float -lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0xC data:4byte -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x18 data:4byte -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0xC data:4byte -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x8 data:float -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 data:float -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x8 data:double -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 data:float -lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 data:float -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 data:float -lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 data:float -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 data:float -lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 data:float -lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 data:float -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x4 data:float -lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 data:float -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 data:float -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 data:float -lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 data:float -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 data:float -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 data:float -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 data:float -lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 data:float -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 data:float -lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 data:float -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 data:float -lbl_1_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x4 data:float -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x8 data:double -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x8 data:double -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x8 data:double -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 data:float -lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 data:float -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float -lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x38 data:4byte -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 data:double -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 data:float -lbl_1_rodata_61C = .rodata:0x0000061C; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x4F data:string -lbl_1_data_4F = .data:0x0000004F; // type:object size:0x50 data:string -lbl_1_data_9F = .data:0x0000009F; // type:object size:0x50 data:string -lbl_1_data_EF = .data:0x000000EF; // type:object size:0x4E data:string -lbl_1_data_13D = .data:0x0000013D; // type:object size:0x50 data:string -lbl_1_data_18D = .data:0x0000018D; // type:object size:0x4F data:string -lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x22 data:string -lbl_1_data_1FE = .data:0x000001FE; // type:object size:0x1A data:string -lbl_1_data_218 = .data:0x00000218; // type:object size:0x1A data:string -lbl_1_data_232 = .data:0x00000232; // type:object size:0x62 -lbl_1_data_294 = .data:0x00000294; // type:object size:0x4 data:4byte -lbl_1_data_298 = .data:0x00000298; // type:object size:0x4 data:4byte -lbl_1_data_29C = .data:0x0000029C; // type:object size:0x18 -lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x10 data:4byte -lbl_1_data_2C4 = .data:0x000002C4; // type:object size:0x4 data:4byte -lbl_1_data_2C8 = .data:0x000002C8; // type:object size:0x3 data:string -lbl_1_data_2CB = .data:0x000002CB; // type:object size:0x5 data:string -lbl_1_data_2D0 = .data:0x000002D0; // type:object size:0x19 data:string -lbl_1_data_2E9 = .data:0x000002E9; // type:object size:0x12 data:string -lbl_1_data_2FB = .data:0x000002FB; // type:object size:0x29 -lbl_1_data_324 = .data:0x00000324; // type:object size:0x4 data:4byte -lbl_1_data_328 = .data:0x00000328; // type:object size:0x4 data:4byte -lbl_1_data_32C = .data:0x0000032C; // type:object size:0xC data:4byte -lbl_1_data_338 = .data:0x00000338; // type:object size:0x2B data:string -lbl_1_data_363 = .data:0x00000363; // type:object size:0x28 data:string -lbl_1_data_38B = .data:0x0000038B; // type:object size:0x5 data:string -lbl_1_data_390 = .data:0x00000390; // type:object size:0x4 data:string -lbl_1_data_394 = .data:0x00000394; // type:object size:0x4 -jumptable_1_data_398 = .data:0x00000398; // type:object size:0x2C scope:local -lbl_1_data_3C4 = .data:0x000003C4; // type:object size:0x3C data:string -lbl_1_data_400 = .data:0x00000400; // type:object size:0x16 data:string -lbl_1_data_416 = .data:0x00000416; // type:object size:0x1A data:string -lbl_1_data_430 = .data:0x00000430; // type:object size:0x1A data:string -lbl_1_data_44A = .data:0x0000044A; // type:object size:0x1A data:string -lbl_1_data_464 = .data:0x00000464; // type:object size:0x17 data:string -lbl_1_data_47B = .data:0x0000047B; // type:object size:0x16 data:string -lbl_1_data_491 = .data:0x00000491; // type:object size:0x16 data:string -lbl_1_data_4A7 = .data:0x000004A7; // type:object size:0x19 data:string -lbl_1_data_4C0 = .data:0x000004C0; // type:object size:0x16 data:string -lbl_1_data_4D6 = .data:0x000004D6; // type:object size:0x42 -lbl_1_data_518 = .data:0x00000518; // type:object size:0x3C data:string -lbl_1_data_554 = .data:0x00000554; // type:object size:0x19 data:string -lbl_1_data_56D = .data:0x0000056D; // type:object size:0x1A data:string -lbl_1_data_587 = .data:0x00000587; // type:object size:0x3D -lbl_1_data_5C4 = .data:0x000005C4; // type:object size:0x20 data:4byte -lbl_1_data_5E4 = .data:0x000005E4; // type:object size:0x40 data:4byte -lbl_1_data_624 = .data:0x00000624; // type:object size:0x70 -lbl_1_data_694 = .data:0x00000694; // type:object size:0x90 data:4byte -lbl_1_data_724 = .data:0x00000724; // type:object size:0x20 -lbl_1_data_744 = .data:0x00000744; // type:object size:0x8 data:4byte -lbl_1_data_74C = .data:0x0000074C; // type:object size:0x10 -lbl_1_data_75C = .data:0x0000075C; // type:object size:0x20 -lbl_1_data_77C = .data:0x0000077C; // type:object size:0x4 data:4byte -lbl_1_data_780 = .data:0x00000780; // type:object size:0x8 data:4byte -lbl_1_data_788 = .data:0x00000788; // type:object size:0x4C8 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x64 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x44 data:float -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x4 data:4byte -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x4 data:4byte -lbl_1_bss_B4 = .bss:0x000000B4; // type:object size:0x4 data:4byte -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:float -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x4 data:4byte -lbl_1_bss_C0 = .bss:0x000000C0; // type:object size:0x4 data:4byte -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x4 data:4byte -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x18 -lbl_1_bss_E0 = .bss:0x000000E0; // type:object size:0x4 data:4byte -lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x8 -lbl_1_bss_EC = .bss:0x000000EC; // type:object size:0x8 -lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0x8 -lbl_1_bss_FC = .bss:0x000000FC; // type:object size:0x8 -lbl_1_bss_104 = .bss:0x00000104; // type:object size:0x4 data:4byte -lbl_1_bss_108 = .bss:0x00000108; // type:object size:0x4 data:4byte -lbl_1_bss_10C = .bss:0x0000010C; // type:object size:0x4 data:4byte -lbl_1_bss_110 = .bss:0x00000110; // type:object size:0x8 -lbl_1_bss_118 = .bss:0x00000118; // type:object size:0x8 -lbl_1_bss_120 = .bss:0x00000120; // type:object size:0x10 -lbl_1_bss_130 = .bss:0x00000130; // type:object size:0x50 -lbl_1_bss_180 = .bss:0x00000180; // type:object size:0x2C data:4byte -lbl_1_bss_1AC = .bss:0x000001AC; // type:object size:0x4 data:4byte -lbl_1_bss_1B0 = .bss:0x000001B0; // type:object size:0x4 data:4byte -lbl_1_bss_1B4 = .bss:0x000001B4; // type:object size:0x4 data:4byte -lbl_1_bss_1B8 = .bss:0x000001B8; // type:object size:0x120 data:4byte -lbl_1_bss_2D8 = .bss:0x000002D8; // type:object size:0xD8 data:4byte -lbl_1_bss_3B0 = .bss:0x000003B0; // type:object size:0x48 data:4byte -lbl_1_bss_3F8 = .bss:0x000003F8; // type:object size:0x48 data:4byte -lbl_1_bss_440 = .bss:0x00000440; // type:object size:0x4 data:4byte -lbl_1_bss_444 = .bss:0x00000444; // type:object size:0x4 data:4byte -lbl_1_bss_448 = .bss:0x00000448; // type:object size:0x14 data:4byte -lbl_1_bss_45C = .bss:0x0000045C; // type:object size:0x180 data:4byte -lbl_1_bss_5DC = .bss:0x000005DC; // type:object size:0x60 data:4byte -lbl_1_bss_63C = .bss:0x0000063C; // type:object size:0x70 data:4byte -lbl_1_bss_6AC = .bss:0x000006AC; // type:object size:0x1 data:byte diff --git a/config/GMPJ01_00/rels/msetupDll/splits.txt b/config/GMPJ01_00/rels/msetupDll/splits.txt deleted file mode 100644 index e787a0ee..00000000 --- a/config/GMPJ01_00/rels/msetupDll/splits.txt +++ /dev/null @@ -1,3 +0,0 @@ -Sections: - .ctors type:rodata align:4 - .dtors type:rodata align:4 diff --git a/config/GMPJ01_00/rels/msetupDll/symbols.txt b/config/GMPJ01_00/rels/msetupDll/symbols.txt deleted file mode 100644 index 120e2d17..00000000 --- a/config/GMPJ01_00/rels/msetupDll/symbols.txt +++ /dev/null @@ -1,2 +0,0 @@ -_ctors = .ctors:0x00000000; // type:label scope:global -_dtors = .dtors:0x00000000; // type:label scope:global diff --git a/config/GMPJ01_00/rels/mstory2Dll/splits.txt b/config/GMPJ01_00/rels/mstory2Dll/splits.txt deleted file mode 100644 index aa6bd0d5..00000000 --- a/config/GMPJ01_00/rels/mstory2Dll/splits.txt +++ /dev/null @@ -1,54 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/mstory2Dll/main.c: - .text start:0x00000000 end:0x00007DB0 - .rodata start:0x00000000 end:0x00000118 - .data start:0x00000000 end:0x000003A0 - .bss start:0x00000000 end:0x00000078 - -REL/mstory2Dll/board_entrance.c: - .text start:0x00007DB0 end:0x0000B37C - .rodata start:0x00000118 end:0x000001A8 - .data start:0x000003A0 end:0x00000520 - .bss start:0x00000078 end:0x00000298 - -REL/mstory2Dll/board_clear.c: - .text start:0x0000B37C end:0x0000E570 - .rodata start:0x000001A8 end:0x00000248 - .data start:0x00000520 end:0x00000698 - .bss start:0x00000298 end:0x000004E0 - -REL/mstory2Dll/board_miss.c: - .text start:0x0000E570 end:0x000123C8 - .rodata start:0x00000248 end:0x00000310 - .data start:0x00000698 end:0x00000850 - .bss start:0x000004E0 end:0x00000790 - -REL/mstory2Dll/mg_clear.c: - .text start:0x000123C8 end:0x00016060 - .rodata start:0x00000310 end:0x000003D0 - .data start:0x00000850 end:0x00000DB8 - .bss start:0x00000790 end:0x00000968 - -REL/mstory2Dll/mg_miss.c: - .text start:0x00016060 end:0x000186D0 - .rodata start:0x000003D0 end:0x00000438 - .data start:0x00000DB8 end:0x00000EF8 - .bss start:0x00000968 end:0x00000B38 - -REL/mstory2Dll/ending.c: - .text start:0x000186D0 end:0x0001B560 - .rodata start:0x00000438 end:0x000004B8 - .data start:0x00000EF8 end:0x00001113 - .bss start:0x00000B38 end:0x00000D10 - -REL/mstory2Dll/save.c: - .text start:0x0001B560 end:0x0001B95C - .rodata start:0x000004B8 end:0x000004C8 - .bss start:0x00000D10 end:0x00000D18 diff --git a/config/GMPJ01_00/rels/mstory2Dll/symbols.txt b/config/GMPJ01_00/rels/mstory2Dll/symbols.txt deleted file mode 100644 index c14583cf..00000000 --- a/config/GMPJ01_00/rels/mstory2Dll/symbols.txt +++ /dev/null @@ -1,709 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x4C -fn_1_4C = .text:0x0000004C; // type:function size:0x58 -fn_1_A4 = .text:0x000000A4; // type:function size:0x2A0 -_prolog = .text:0x00000344; // type:function size:0x54 scope:global -_epilog = .text:0x00000398; // type:function size:0x4C scope:global -fn_1_3E4 = .text:0x000003E4; // type:function size:0x110 -fn_1_4F4 = .text:0x000004F4; // type:function size:0x1B8 -ObjectSetup = .text:0x000006AC; // type:function size:0x1B8 -fn_1_864 = .text:0x00000864; // type:function size:0x28 -fn_1_88C = .text:0x0000088C; // type:function size:0x20 -fn_1_8AC = .text:0x000008AC; // type:function size:0xD8 -fn_1_984 = .text:0x00000984; // type:function size:0xC8 -fn_1_A4C = .text:0x00000A4C; // type:function size:0xBC -fn_1_B08 = .text:0x00000B08; // type:function size:0xBC -fn_1_BC4 = .text:0x00000BC4; // type:function size:0x4 -fn_1_BC8 = .text:0x00000BC8; // type:function size:0x20 -fn_1_BE8 = .text:0x00000BE8; // type:function size:0x28 -fn_1_C10 = .text:0x00000C10; // type:function size:0x20 -fn_1_C30 = .text:0x00000C30; // type:function size:0x24 -fn_1_C54 = .text:0x00000C54; // type:function size:0x4 -fn_1_C58 = .text:0x00000C58; // type:function size:0xA48 -fn_1_16A0 = .text:0x000016A0; // type:function size:0x1BC -fn_1_185C = .text:0x0000185C; // type:function size:0x1D8 -fn_1_1A34 = .text:0x00001A34; // type:function size:0x60 -fn_1_1A94 = .text:0x00001A94; // type:function size:0x68 -fn_1_1AFC = .text:0x00001AFC; // type:function size:0xAC -fn_1_1BA8 = .text:0x00001BA8; // type:function size:0xBC -fn_1_1C64 = .text:0x00001C64; // type:function size:0xB4 -fn_1_1D18 = .text:0x00001D18; // type:function size:0x34 -fn_1_1D4C = .text:0x00001D4C; // type:function size:0x40 -fn_1_1D8C = .text:0x00001D8C; // type:function size:0x70 -fn_1_1DFC = .text:0x00001DFC; // type:function size:0x188 -fn_1_1F84 = .text:0x00001F84; // type:function size:0x2E0 -fn_1_2264 = .text:0x00002264; // type:function size:0x90 -fn_1_22F4 = .text:0x000022F4; // type:function size:0x48 -fn_1_233C = .text:0x0000233C; // type:function size:0x54 -fn_1_2390 = .text:0x00002390; // type:function size:0x3C0 -fn_1_2750 = .text:0x00002750; // type:function size:0x10 -fn_1_2760 = .text:0x00002760; // type:function size:0x10 -fn_1_2770 = .text:0x00002770; // type:function size:0xB8 -fn_1_2828 = .text:0x00002828; // type:function size:0x120 -fn_1_2948 = .text:0x00002948; // type:function size:0x3B8 -fn_1_2D00 = .text:0x00002D00; // type:function size:0x7F4 -fn_1_34F4 = .text:0x000034F4; // type:function size:0x88 -fn_1_357C = .text:0x0000357C; // type:function size:0x94 -fn_1_3610 = .text:0x00003610; // type:function size:0x58 -fn_1_3668 = .text:0x00003668; // type:function size:0xEC -fn_1_3754 = .text:0x00003754; // type:function size:0xC4 -fn_1_3818 = .text:0x00003818; // type:function size:0x3C -fn_1_3854 = .text:0x00003854; // type:function size:0x44 -fn_1_3898 = .text:0x00003898; // type:function size:0x26C -fn_1_3B04 = .text:0x00003B04; // type:function size:0x26C -fn_1_3D70 = .text:0x00003D70; // type:function size:0x27C -fn_1_3FEC = .text:0x00003FEC; // type:function size:0x2B4 -fn_1_42A0 = .text:0x000042A0; // type:function size:0x46C -fn_1_470C = .text:0x0000470C; // type:function size:0x454 -fn_1_4B60 = .text:0x00004B60; // type:function size:0x48C -fn_1_4FEC = .text:0x00004FEC; // type:function size:0x658 -fn_1_5644 = .text:0x00005644; // type:function size:0x4C4 -fn_1_5B08 = .text:0x00005B08; // type:function size:0x4FC -fn_1_6004 = .text:0x00006004; // type:function size:0x6C8 -fn_1_66CC = .text:0x000066CC; // type:function size:0x38 -fn_1_6704 = .text:0x00006704; // type:function size:0xD4 -fn_1_67D8 = .text:0x000067D8; // type:function size:0x198 -fn_1_6970 = .text:0x00006970; // type:function size:0x34 -fn_1_69A4 = .text:0x000069A4; // type:function size:0x40 -fn_1_69E4 = .text:0x000069E4; // type:function size:0xAC -fn_1_6A90 = .text:0x00006A90; // type:function size:0x2E8 -fn_1_6D78 = .text:0x00006D78; // type:function size:0x44 -fn_1_6DBC = .text:0x00006DBC; // type:function size:0x1F4 -fn_1_6FB0 = .text:0x00006FB0; // type:function size:0xB4 -fn_1_7064 = .text:0x00007064; // type:function size:0x178 -fn_1_71DC = .text:0x000071DC; // type:function size:0x68 -fn_1_7244 = .text:0x00007244; // type:function size:0x140 -fn_1_7384 = .text:0x00007384; // type:function size:0xA2C -fn_1_7DB0 = .text:0x00007DB0; // type:function size:0x1A4 -fn_1_7F54 = .text:0x00007F54; // type:function size:0x118 -fn_1_806C = .text:0x0000806C; // type:function size:0x8C -fn_1_80F8 = .text:0x000080F8; // type:function size:0x488 -fn_1_8580 = .text:0x00008580; // type:function size:0x5C -fn_1_85DC = .text:0x000085DC; // type:function size:0x1F8 -fn_1_87D4 = .text:0x000087D4; // type:function size:0x2E8 -fn_1_8ABC = .text:0x00008ABC; // type:function size:0x578 -fn_1_9034 = .text:0x00009034; // type:function size:0x164 -fn_1_9198 = .text:0x00009198; // type:function size:0x124 -fn_1_92BC = .text:0x000092BC; // type:function size:0x4AC -fn_1_9768 = .text:0x00009768; // type:function size:0xB4 -fn_1_981C = .text:0x0000981C; // type:function size:0x138 -fn_1_9954 = .text:0x00009954; // type:function size:0xBC -fn_1_9A10 = .text:0x00009A10; // type:function size:0x1C4 -fn_1_9BD4 = .text:0x00009BD4; // type:function size:0xE4 -fn_1_9CB8 = .text:0x00009CB8; // type:function size:0x214 -fn_1_9ECC = .text:0x00009ECC; // type:function size:0x110 -fn_1_9FDC = .text:0x00009FDC; // type:function size:0x2AC -fn_1_A288 = .text:0x0000A288; // type:function size:0x220 -fn_1_A4A8 = .text:0x0000A4A8; // type:function size:0xE4 -fn_1_A58C = .text:0x0000A58C; // type:function size:0x2BC -fn_1_A848 = .text:0x0000A848; // type:function size:0x2C8 -fn_1_AB10 = .text:0x0000AB10; // type:function size:0x2A0 -fn_1_ADB0 = .text:0x0000ADB0; // type:function size:0xAC -fn_1_AE5C = .text:0x0000AE5C; // type:function size:0x364 -fn_1_B1C0 = .text:0x0000B1C0; // type:function size:0x8C -fn_1_B24C = .text:0x0000B24C; // type:function size:0x130 -fn_1_B37C = .text:0x0000B37C; // type:function size:0x68 -fn_1_B3E4 = .text:0x0000B3E4; // type:function size:0x134 -fn_1_B518 = .text:0x0000B518; // type:function size:0x8C -fn_1_B5A4 = .text:0x0000B5A4; // type:function size:0x3E0 -fn_1_B984 = .text:0x0000B984; // type:function size:0x5C -fn_1_B9E0 = .text:0x0000B9E0; // type:function size:0xB0 -fn_1_BA90 = .text:0x0000BA90; // type:function size:0x360 -fn_1_BDF0 = .text:0x0000BDF0; // type:function size:0x158 -fn_1_BF48 = .text:0x0000BF48; // type:function size:0x328 -fn_1_C270 = .text:0x0000C270; // type:function size:0x250 -fn_1_C4C0 = .text:0x0000C4C0; // type:function size:0xB4 -fn_1_C574 = .text:0x0000C574; // type:function size:0x228 -fn_1_C79C = .text:0x0000C79C; // type:function size:0xBC -fn_1_C858 = .text:0x0000C858; // type:function size:0x2B4 -fn_1_CB0C = .text:0x0000CB0C; // type:function size:0x1C0 -fn_1_CCCC = .text:0x0000CCCC; // type:function size:0xAC -fn_1_CD78 = .text:0x0000CD78; // type:function size:0x2B8 -fn_1_D030 = .text:0x0000D030; // type:function size:0x1F4 -fn_1_D224 = .text:0x0000D224; // type:function size:0xAC -fn_1_D2D0 = .text:0x0000D2D0; // type:function size:0xC4 -fn_1_D394 = .text:0x0000D394; // type:function size:0xE4 -fn_1_D478 = .text:0x0000D478; // type:function size:0x2EC -fn_1_D764 = .text:0x0000D764; // type:function size:0x134 -fn_1_D898 = .text:0x0000D898; // type:function size:0x2C0 -fn_1_DB58 = .text:0x0000DB58; // type:function size:0xFC -fn_1_DC54 = .text:0x0000DC54; // type:function size:0x170 -fn_1_DDC4 = .text:0x0000DDC4; // type:function size:0x3F4 -fn_1_E1B8 = .text:0x0000E1B8; // type:function size:0x8C -fn_1_E244 = .text:0x0000E244; // type:function size:0xF0 -fn_1_E334 = .text:0x0000E334; // type:function size:0x23C -fn_1_E570 = .text:0x0000E570; // type:function size:0xC8 -fn_1_E638 = .text:0x0000E638; // type:function size:0x2B4 -fn_1_E8EC = .text:0x0000E8EC; // type:function size:0x140 -fn_1_EA2C = .text:0x0000EA2C; // type:function size:0x134 -fn_1_EB60 = .text:0x0000EB60; // type:function size:0x8C -fn_1_EBEC = .text:0x0000EBEC; // type:function size:0x3E0 -fn_1_EFCC = .text:0x0000EFCC; // type:function size:0x5C -fn_1_F028 = .text:0x0000F028; // type:function size:0x128 -fn_1_F150 = .text:0x0000F150; // type:function size:0xDC -fn_1_F22C = .text:0x0000F22C; // type:function size:0xD0 -fn_1_F2FC = .text:0x0000F2FC; // type:function size:0xD4 -fn_1_F3D0 = .text:0x0000F3D0; // type:function size:0x468 -fn_1_F838 = .text:0x0000F838; // type:function size:0x4 -fn_1_F83C = .text:0x0000F83C; // type:function size:0x78 -fn_1_F8B4 = .text:0x0000F8B4; // type:function size:0x548 -fn_1_FDFC = .text:0x0000FDFC; // type:function size:0xB4 -fn_1_FEB0 = .text:0x0000FEB0; // type:function size:0x228 -fn_1_100D8 = .text:0x000100D8; // type:function size:0xBC -fn_1_10194 = .text:0x00010194; // type:function size:0x2B4 -fn_1_10448 = .text:0x00010448; // type:function size:0x1BC -fn_1_10604 = .text:0x00010604; // type:function size:0xAC -fn_1_106B0 = .text:0x000106B0; // type:function size:0x29C -fn_1_1094C = .text:0x0001094C; // type:function size:0x2B4 -fn_1_10C00 = .text:0x00010C00; // type:function size:0x1F4 -fn_1_10DF4 = .text:0x00010DF4; // type:function size:0xAC -fn_1_10EA0 = .text:0x00010EA0; // type:function size:0xE4 -fn_1_10F84 = .text:0x00010F84; // type:function size:0xC4 -fn_1_11048 = .text:0x00011048; // type:function size:0xE4 -fn_1_1112C = .text:0x0001112C; // type:function size:0x2EC -fn_1_11418 = .text:0x00011418; // type:function size:0x134 -fn_1_1154C = .text:0x0001154C; // type:function size:0x2EC -fn_1_11838 = .text:0x00011838; // type:function size:0xFC -fn_1_11934 = .text:0x00011934; // type:function size:0x164 -fn_1_11A98 = .text:0x00011A98; // type:function size:0x118 -fn_1_11BB0 = .text:0x00011BB0; // type:function size:0x420 -fn_1_11FD0 = .text:0x00011FD0; // type:function size:0x8C -fn_1_1205C = .text:0x0001205C; // type:function size:0x130 -fn_1_1218C = .text:0x0001218C; // type:function size:0x23C -fn_1_123C8 = .text:0x000123C8; // type:function size:0x1A4 -fn_1_1256C = .text:0x0001256C; // type:function size:0x124 -fn_1_12690 = .text:0x00012690; // type:function size:0x8C -fn_1_1271C = .text:0x0001271C; // type:function size:0x3AC -fn_1_12AC8 = .text:0x00012AC8; // type:function size:0x48 -fn_1_12B10 = .text:0x00012B10; // type:function size:0x2C4 -fn_1_12DD4 = .text:0x00012DD4; // type:function size:0x37C -fn_1_13150 = .text:0x00013150; // type:function size:0x70 -fn_1_131C0 = .text:0x000131C0; // type:function size:0xA4 -fn_1_13264 = .text:0x00013264; // type:function size:0x5C4 -fn_1_13828 = .text:0x00013828; // type:function size:0xA4 -fn_1_138CC = .text:0x000138CC; // type:function size:0x14C -fn_1_13A18 = .text:0x00013A18; // type:function size:0x1A0 -fn_1_13BB8 = .text:0x00013BB8; // type:function size:0xB4 -fn_1_13C6C = .text:0x00013C6C; // type:function size:0x348 -fn_1_13FB4 = .text:0x00013FB4; // type:function size:0xEC -fn_1_140A0 = .text:0x000140A0; // type:function size:0xCC -fn_1_1416C = .text:0x0001416C; // type:function size:0x330 -fn_1_1449C = .text:0x0001449C; // type:function size:0x3CC -fn_1_14868 = .text:0x00014868; // type:function size:0x234 -fn_1_14A9C = .text:0x00014A9C; // type:function size:0xAC -fn_1_14B48 = .text:0x00014B48; // type:function size:0xF8 -fn_1_14C40 = .text:0x00014C40; // type:function size:0x32C -fn_1_14F6C = .text:0x00014F6C; // type:function size:0x1C8 -fn_1_15134 = .text:0x00015134; // type:function size:0xAC -fn_1_151E0 = .text:0x000151E0; // type:function size:0xE4 -fn_1_152C4 = .text:0x000152C4; // type:function size:0xE4 -fn_1_153A8 = .text:0x000153A8; // type:function size:0x2C0 -fn_1_15668 = .text:0x00015668; // type:function size:0xE4 -fn_1_1574C = .text:0x0001574C; // type:function size:0x1F8 -fn_1_15944 = .text:0x00015944; // type:function size:0xAC -fn_1_159F0 = .text:0x000159F0; // type:function size:0x2EC -fn_1_15CDC = .text:0x00015CDC; // type:function size:0x8C -fn_1_15D68 = .text:0x00015D68; // type:function size:0xF0 -fn_1_15E58 = .text:0x00015E58; // type:function size:0x118 -fn_1_15F70 = .text:0x00015F70; // type:function size:0xF0 -fn_1_16060 = .text:0x00016060; // type:function size:0x118 -fn_1_16178 = .text:0x00016178; // type:function size:0x8C -fn_1_16204 = .text:0x00016204; // type:function size:0x3AC -fn_1_165B0 = .text:0x000165B0; // type:function size:0x5C -fn_1_1661C = .text:0x0001660C; // type:function size:0x110 -fn_1_1670C = .text:0x0001671C; // type:function size:0x194 -fn_1_168B0 = .text:0x000168B0; // type:function size:0xD4 -fn_1_16984 = .text:0x00016984; // type:function size:0x50 -fn_1_169D4 = .text:0x000169D4; // type:function size:0x4 -fn_1_169D8 = .text:0x000169D8; // type:function size:0xF4 -fn_1_16ACC = .text:0x00016ACC; // type:function size:0x4F4 -fn_1_16FC0 = .text:0x00016FC0; // type:function size:0xB4 -fn_1_17074 = .text:0x00017074; // type:function size:0x208 -fn_1_1727C = .text:0x0001727C; // type:function size:0xBC -fn_1_17338 = .text:0x00017338; // type:function size:0x294 -fn_1_175CC = .text:0x000175CC; // type:function size:0x180 -fn_1_1774C = .text:0x0001774C; // type:function size:0xAC -fn_1_177F8 = .text:0x000177F8; // type:function size:0x278 -fn_1_17A70 = .text:0x00017A70; // type:function size:0x128 -fn_1_17B98 = .text:0x00017B98; // type:function size:0xAC -fn_1_17C44 = .text:0x00017C44; // type:function size:0x220 -fn_1_17E64 = .text:0x00017E64; // type:function size:0xE4 -fn_1_17F48 = .text:0x00017F48; // type:function size:0x190 -fn_1_180D8 = .text:0x000180D8; // type:function size:0xAC -fn_1_18184 = .text:0x00018184; // type:function size:0x284 -fn_1_18408 = .text:0x00018408; // type:function size:0x8C -fn_1_18494 = .text:0x00018494; // type:function size:0x23C -fn_1_186D0 = .text:0x000186D0; // type:function size:0x220 -fn_1_188F0 = .text:0x000188F0; // type:function size:0x144 -fn_1_18A34 = .text:0x00018A34; // type:function size:0x8C -fn_1_18AC0 = .text:0x00018AC0; // type:function size:0x3BC -fn_1_18E7C = .text:0x00018E7C; // type:function size:0x48 -fn_1_18EC4 = .text:0x00018EC4; // type:function size:0x274 -fn_1_19138 = .text:0x00019138; // type:function size:0x1FC -fn_1_19334 = .text:0x00019334; // type:function size:0x66C -fn_1_199A0 = .text:0x000199A0; // type:function size:0x248 -fn_1_19BE8 = .text:0x00019BE8; // type:function size:0x84 -fn_1_19C6C = .text:0x00019C6C; // type:function size:0x2A8 -fn_1_19F14 = .text:0x00019F14; // type:function size:0xB4 -fn_1_19FC8 = .text:0x00019FC8; // type:function size:0x198 -fn_1_1A160 = .text:0x0001A160; // type:function size:0x208 -fn_1_1A368 = .text:0x0001A368; // type:function size:0x1D0 -fn_1_1A538 = .text:0x0001A538; // type:function size:0x40 -fn_1_1A578 = .text:0x0001A578; // type:function size:0x254 -fn_1_1A7CC = .text:0x0001A7CC; // type:function size:0x204 -fn_1_1A9D0 = .text:0x0001A9D0; // type:function size:0xE4 -fn_1_1AAB4 = .text:0x0001AAB4; // type:function size:0x288 -fn_1_1AD3C = .text:0x0001AD3C; // type:function size:0xE4 -fn_1_1AE20 = .text:0x0001AE20; // type:function size:0x1B4 -fn_1_1AFD4 = .text:0x0001AFD4; // type:function size:0x110 -fn_1_1B0E4 = .text:0x0001B0E4; // type:function size:0x234 -fn_1_1B318 = .text:0x0001B318; // type:function size:0x8C -fn_1_1B3A4 = .text:0x0001B3A4; // type:function size:0x8C -fn_1_1B430 = .text:0x0001B430; // type:function size:0x130 -fn_1_1B560 = .text:0x0001B560; // type:function size:0xEC -fn_1_1B64C = .text:0x0001B64C; // type:function size:0x224 -fn_1_1B870 = .text:0x0001B870; // type:function size:0x9C -fn_1_1B90C = .text:0x0001B90C; // type:function size:0x50 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 scope:local data:double -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 scope:local data:double -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 scope:local data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 scope:local data:float -lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 scope:local data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 data:4byte -lbl_1_data_70 = .data:0x00000070; // type:object size:0x29 scope:local data:string -lbl_1_data_99 = .data:0x00000099; // type:object size:0x26 scope:local data:string -lbl_1_data_BF = .data:0x000000BF; // type:object size:0x25 scope:local data:string -lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x29 scope:local data:string -lbl_1_data_10D = .data:0x0000010D; // type:object size:0x28 scope:local data:string -lbl_1_data_135 = .data:0x00000135; // type:object size:0xF scope:local -lbl_1_data_144 = .data:0x00000144; // type:object size:0x18 -lbl_1_data_15C = .data:0x0000015C; // type:object size:0x28 scope:local data:string -lbl_1_data_184 = .data:0x00000184; // type:object size:0x3 scope:local data:string -lbl_1_data_187 = .data:0x00000187; // type:object size:0x15 scope:local data:string -jumptable_1_data_19C = .data:0x0000019C; // type:object size:0x54 scope:local -jumptable_1_data_1F0 = .data:0x000001F0; // type:object size:0x54 scope:local -lbl_1_data_244 = .data:0x00000244; // type:object size:0x1A scope:local data:string -lbl_1_data_25E = .data:0x0000025E; // type:object size:0x1A scope:local data:string -lbl_1_data_278 = .data:0x00000278; // type:object size:0xE scope:local data:string -lbl_1_data_286 = .data:0x00000286; // type:object size:0x10 scope:local data:string -lbl_1_data_296 = .data:0x00000296; // type:object size:0x10 scope:local data:string -lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x10 scope:local data:string -lbl_1_data_2B6 = .data:0x000002B6; // type:object size:0x10 scope:local data:string -lbl_1_data_2C6 = .data:0x000002C6; // type:object size:0x10 scope:local data:string -lbl_1_data_2D6 = .data:0x000002D6; // type:object size:0x10 scope:local data:string -lbl_1_data_2E6 = .data:0x000002E6; // type:object size:0x10 scope:local data:string -lbl_1_data_2F6 = .data:0x000002F6; // type:object size:0x12 scope:local -lbl_1_data_308 = .data:0x00000308; // type:object size:0x20 -lbl_1_data_328 = .data:0x00000328; // type:object size:0x60 -lbl_1_data_388 = .data:0x00000388; // type:object size:0x11 scope:local data:string -lbl_1_data_399 = .data:0x00000399; // type:object size:0x2 scope:local data:string -lbl_1_data_3CC = .data:0x000003CC; // type:object size:0x10 -lbl_1_data_3DC = .data:0x000003DC; // type:object size:0x4 data:4byte -lbl_1_data_3E0 = .data:0x000003E0; // type:object size:0x8 data:4byte -lbl_1_data_3E8 = .data:0x000003E8; // type:object size:0x14 scope:local data:string -lbl_1_data_3FC = .data:0x000003FC; // type:object size:0x15 scope:local data:string -lbl_1_data_411 = .data:0x00000411; // type:object size:0x14 scope:local data:string -lbl_1_data_425 = .data:0x00000425; // type:object size:0x15 scope:local data:string -lbl_1_data_43A = .data:0x0000043A; // type:object size:0x14 scope:local data:string -lbl_1_data_44E = .data:0x0000044E; // type:object size:0x15 scope:local data:string -lbl_1_data_463 = .data:0x00000463; // type:object size:0x14 scope:local data:string -lbl_1_data_477 = .data:0x00000477; // type:object size:0x15 scope:local data:string -lbl_1_data_48C = .data:0x0000048C; // type:object size:0x14 scope:local data:string -lbl_1_data_4A0 = .data:0x000004A0; // type:object size:0x15 scope:local data:string -lbl_1_data_4B5 = .data:0x000004B5; // type:object size:0x14 scope:local data:string -lbl_1_data_4C9 = .data:0x000004C9; // type:object size:0xA scope:local data:string -lbl_1_data_4D3 = .data:0x000004D3; // type:object size:0x1C scope:local data:string -lbl_1_data_4EF = .data:0x000004EF; // type:object size:0x1D scope:local data:string -lbl_1_data_50C = .data:0x0000050C; // type:object size:0x14 scope:local -lbl_1_data_520 = .data:0x00000520; // type:object size:0x16 scope:local data:string -lbl_1_data_536 = .data:0x00000536; // type:object size:0x15 scope:local data:string -lbl_1_data_54B = .data:0x0000054B; // type:object size:0x16 scope:local data:string -lbl_1_data_561 = .data:0x00000561; // type:object size:0x15 scope:local data:string -lbl_1_data_576 = .data:0x00000576; // type:object size:0x16 scope:local data:string -lbl_1_data_58C = .data:0x0000058C; // type:object size:0x15 scope:local data:string -lbl_1_data_5A1 = .data:0x000005A1; // type:object size:0x16 scope:local data:string -lbl_1_data_5B7 = .data:0x000005B7; // type:object size:0x15 scope:local data:string -lbl_1_data_5CC = .data:0x000005CC; // type:object size:0x17 scope:local data:string -lbl_1_data_5E3 = .data:0x000005E3; // type:object size:0x16 scope:local data:string -lbl_1_data_5F9 = .data:0x000005F9; // type:object size:0xA scope:local data:string -lbl_1_data_603 = .data:0x00000603; // type:object size:0x1C scope:local data:string -lbl_1_data_61F = .data:0x0000061F; // type:object size:0x1D scope:local data:string -lbl_1_data_63C = .data:0x0000063C; // type:object size:0x10 scope:local data:string -lbl_1_data_64C = .data:0x0000064C; // type:object size:0x1C scope:local data:string -lbl_1_data_668 = .data:0x00000668; // type:object size:0x30 -lbl_1_data_698 = .data:0x00000698; // type:object size:0x3C -lbl_1_data_6D4 = .data:0x000006D4; // type:object size:0x16 scope:local data:string -lbl_1_data_6EA = .data:0x000006EA; // type:object size:0x15 scope:local data:string -lbl_1_data_6FF = .data:0x000006FF; // type:object size:0x16 scope:local data:string -lbl_1_data_715 = .data:0x00000715; // type:object size:0x15 scope:local data:string -lbl_1_data_72A = .data:0x0000072A; // type:object size:0x16 scope:local data:string -lbl_1_data_740 = .data:0x00000740; // type:object size:0x15 scope:local data:string -lbl_1_data_755 = .data:0x00000755; // type:object size:0x16 scope:local data:string -lbl_1_data_76B = .data:0x0000076B; // type:object size:0x15 scope:local data:string -lbl_1_data_780 = .data:0x00000780; // type:object size:0x17 scope:local data:string -lbl_1_data_797 = .data:0x00000797; // type:object size:0x16 scope:local data:string -lbl_1_data_7AD = .data:0x000007AD; // type:object size:0xA scope:local data:string -lbl_1_data_7B7 = .data:0x000007B7; // type:object size:0x1C scope:local data:string -lbl_1_data_7D3 = .data:0x000007D3; // type:object size:0x1D scope:local data:string -lbl_1_data_7F0 = .data:0x000007F0; // type:object size:0x10 scope:local data:string -lbl_1_data_800 = .data:0x00000800; // type:object size:0x1C scope:local -lbl_1_data_81C = .data:0x0000081C; // type:object size:0x34 -lbl_1_data_850 = .data:0x00000850; // type:object size:0x3C0 -lbl_1_data_C10 = .data:0x00000C10; // type:object size:0x10 -lbl_1_data_C20 = .data:0x00000C20; // type:object size:0x4 data:4byte -lbl_1_data_C24 = .data:0x00000C24; // type:object size:0x8 data:4byte -lbl_1_data_C2C = .data:0x00000C2C; // type:object size:0x14 scope:local data:string -lbl_1_data_C40 = .data:0x00000C40; // type:object size:0x15 scope:local data:string -lbl_1_data_C55 = .data:0x00000C55; // type:object size:0x14 scope:local data:string -lbl_1_data_C69 = .data:0x00000C69; // type:object size:0x15 scope:local data:string -lbl_1_data_C7E = .data:0x00000C7E; // type:object size:0x14 scope:local data:string -lbl_1_data_C92 = .data:0x00000C92; // type:object size:0x15 scope:local data:string -lbl_1_data_CA7 = .data:0x00000CA7; // type:object size:0x14 scope:local data:string -lbl_1_data_CBB = .data:0x00000CBB; // type:object size:0x15 scope:local data:string -lbl_1_data_CD0 = .data:0x00000CD0; // type:object size:0x14 scope:local data:string -lbl_1_data_CE4 = .data:0x00000CE4; // type:object size:0x15 scope:local data:string -lbl_1_data_CF9 = .data:0x00000CF9; // type:object size:0x14 scope:local data:string -lbl_1_data_D0D = .data:0x00000D0D; // type:object size:0xA scope:local data:string -lbl_1_data_D17 = .data:0x00000D17; // type:object size:0x1C scope:local data:string -lbl_1_data_D33 = .data:0x00000D33; // type:object size:0x1D scope:local data:string -lbl_1_data_D50 = .data:0x00000D50; // type:object size:0x1C scope:local data:string -lbl_1_data_D6C = .data:0x00000D6C; // type:object size:0x31 scope:local data:string -lbl_1_data_D9D = .data:0x00000D9D; // type:object size:0x10 scope:local data:string -lbl_1_data_DAD = .data:0x00000DAD; // type:object size:0xB scope:local -lbl_1_data_DB8 = .data:0x00000DB8; // type:object size:0x15 scope:local data:string -lbl_1_data_DCD = .data:0x00000DCD; // type:object size:0x14 scope:local data:string -lbl_1_data_DE1 = .data:0x00000DE1; // type:object size:0x15 scope:local data:string -lbl_1_data_DF6 = .data:0x00000DF6; // type:object size:0x14 scope:local data:string -lbl_1_data_E0A = .data:0x00000E0A; // type:object size:0x15 scope:local data:string -lbl_1_data_E1F = .data:0x00000E1F; // type:object size:0x14 scope:local data:string -lbl_1_data_E33 = .data:0x00000E33; // type:object size:0x15 scope:local data:string -lbl_1_data_E48 = .data:0x00000E48; // type:object size:0x14 scope:local data:string -lbl_1_data_E5C = .data:0x00000E5C; // type:object size:0x15 scope:local data:string -lbl_1_data_E71 = .data:0x00000E71; // type:object size:0x14 scope:local data:string -lbl_1_data_E85 = .data:0x00000E85; // type:object size:0xA scope:local data:string -lbl_1_data_E8F = .data:0x00000E8F; // type:object size:0x1C scope:local data:string -lbl_1_data_EAB = .data:0x00000EAB; // type:object size:0x1D scope:local data:string -lbl_1_data_EC8 = .data:0x00000EC8; // type:object size:0x10 scope:local data:string -lbl_1_data_ED8 = .data:0x00000ED8; // type:object size:0x20 scope:local -lbl_1_data_EF8 = .data:0x00000EF8; // type:object size:0x10 -lbl_1_data_F08 = .data:0x00000F08; // type:object size:0x4 data:4byte -lbl_1_data_F0C = .data:0x00000F0C; // type:object size:0x8 data:4byte -lbl_1_data_F14 = .data:0x00000F14; // type:object size:0x4 data:4byte -lbl_1_data_F18 = .data:0x00000F18; // type:object size:0x14 scope:local data:string -lbl_1_data_F2C = .data:0x00000F2C; // type:object size:0x15 scope:local data:string -lbl_1_data_F41 = .data:0x00000F41; // type:object size:0x14 scope:local data:string -lbl_1_data_F55 = .data:0x00000F55; // type:object size:0x15 scope:local data:string -lbl_1_data_F6A = .data:0x00000F6A; // type:object size:0x14 scope:local data:string -lbl_1_data_F7E = .data:0x00000F7E; // type:object size:0x15 scope:local data:string -lbl_1_data_F93 = .data:0x00000F93; // type:object size:0x14 scope:local data:string -lbl_1_data_FA7 = .data:0x00000FA7; // type:object size:0x15 scope:local data:string -lbl_1_data_FBC = .data:0x00000FBC; // type:object size:0x14 scope:local data:string -lbl_1_data_FD0 = .data:0x00000FD0; // type:object size:0x15 scope:local data:string -lbl_1_data_FE5 = .data:0x00000FE5; // type:object size:0x14 scope:local data:string -lbl_1_data_FF9 = .data:0x00000FF9; // type:object size:0xA scope:local data:string -lbl_1_data_1003 = .data:0x00001003; // type:object size:0x1C scope:local data:string -lbl_1_data_101F = .data:0x0000101F; // type:object size:0x1D scope:local data:string -lbl_1_data_103C = .data:0x0000103C; // type:object size:0x15 scope:local data:string -lbl_1_data_1051 = .data:0x00001051; // type:object size:0x15 scope:local data:string -lbl_1_data_1066 = .data:0x00001066; // type:object size:0x15 scope:local data:string -lbl_1_data_107B = .data:0x0000107B; // type:object size:0x15 scope:local data:string -lbl_1_data_1090 = .data:0x00001090; // type:object size:0x15 scope:local data:string -lbl_1_data_10A5 = .data:0x000010A5; // type:object size:0x15 scope:local data:string -lbl_1_data_10BA = .data:0x000010BA; // type:object size:0x15 scope:local data:string -lbl_1_data_10CF = .data:0x000010CF; // type:object size:0x15 scope:local data:string -lbl_1_data_10E4 = .data:0x000010E4; // type:object size:0x20 -lbl_1_data_1104 = .data:0x00001104; // type:object size:0xF scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x24 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x54 data:float -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x10 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x40 data:4byte -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x4 data:4byte -lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x28 data:4byte -lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0x28 data:4byte -lbl_1_bss_11C = .bss:0x0000011C; // type:object size:0x28 data:4byte -lbl_1_bss_144 = .bss:0x00000144; // type:object size:0x28 data:4byte -lbl_1_bss_16C = .bss:0x0000016C; // type:object size:0x28 data:4byte -lbl_1_bss_194 = .bss:0x00000194; // type:object size:0x104 data:float -lbl_1_bss_298 = .bss:0x00000298; // type:object size:0x4 data:4byte -lbl_1_bss_29C = .bss:0x0000029C; // type:object size:0xA0 -lbl_1_bss_33C = .bss:0x0000033C; // type:object size:0x28 data:4byte -lbl_1_bss_364 = .bss:0x00000364; // type:object size:0x28 data:4byte -lbl_1_bss_38C = .bss:0x0000038C; // type:object size:0x28 data:4byte -lbl_1_bss_3B4 = .bss:0x000003B4; // type:object size:0x28 data:4byte -lbl_1_bss_3DC = .bss:0x000003DC; // type:object size:0x104 data:4byte -lbl_1_bss_4E0 = .bss:0x000004E0; // type:object size:0x4 data:4byte -lbl_1_bss_4E4 = .bss:0x000004E4; // type:object size:0x4 data:4byte -lbl_1_bss_4E8 = .bss:0x000004E8; // type:object size:0x60 data:4byte -lbl_1_bss_548 = .bss:0x00000548; // type:object size:0xA0 -lbl_1_bss_5E8 = .bss:0x000005E8; // type:object size:0x28 data:4byte -lbl_1_bss_610 = .bss:0x00000610; // type:object size:0x28 data:4byte -lbl_1_bss_638 = .bss:0x00000638; // type:object size:0x28 data:4byte -lbl_1_bss_660 = .bss:0x00000660; // type:object size:0x28 data:4byte -lbl_1_bss_688 = .bss:0x00000688; // type:object size:0x108 data:float -lbl_1_bss_790 = .bss:0x00000790; // type:object size:0x4 data:4byte -lbl_1_bss_794 = .bss:0x00000794; // type:object size:0x4 data:4byte -lbl_1_bss_798 = .bss:0x00000798; // type:object size:0x28 data:4byte -lbl_1_bss_7C0 = .bss:0x000007C0; // type:object size:0x28 data:4byte -lbl_1_bss_7E8 = .bss:0x000007E8; // type:object size:0x28 data:4byte -lbl_1_bss_810 = .bss:0x00000810; // type:object size:0x28 data:4byte -lbl_1_bss_838 = .bss:0x00000838; // type:object size:0x28 data:4byte -lbl_1_bss_860 = .bss:0x00000860; // type:object size:0x108 data:4byte -lbl_1_bss_968 = .bss:0x00000968; // type:object size:0x4 data:4byte -lbl_1_bss_96C = .bss:0x0000096C; // type:object size:0x28 data:4byte -lbl_1_bss_994 = .bss:0x00000994; // type:object size:0x28 data:4byte -lbl_1_bss_9BC = .bss:0x000009BC; // type:object size:0x28 data:4byte -lbl_1_bss_9E4 = .bss:0x000009E4; // type:object size:0x28 data:4byte -lbl_1_bss_A0C = .bss:0x00000A0C; // type:object size:0x28 data:4byte -lbl_1_bss_A34 = .bss:0x00000A34; // type:object size:0x104 data:4byte -lbl_1_bss_B38 = .bss:0x00000B38; // type:object size:0x4 data:4byte -lbl_1_bss_B3C = .bss:0x00000B3C; // type:object size:0x4 data:4byte -lbl_1_bss_B40 = .bss:0x00000B40; // type:object size:0x4 data:4byte -lbl_1_bss_B44 = .bss:0x00000B44; // type:object size:0x28 data:4byte -lbl_1_bss_B6C = .bss:0x00000B6C; // type:object size:0x28 data:4byte -lbl_1_bss_B94 = .bss:0x00000B94; // type:object size:0x28 data:4byte -lbl_1_bss_BBC = .bss:0x00000BBC; // type:object size:0x28 data:4byte -lbl_1_bss_BE4 = .bss:0x00000BE4; // type:object size:0x28 data:4byte -lbl_1_bss_C0C = .bss:0x00000C0C; // type:object size:0x104 data:float -lbl_1_bss_D10 = .bss:0x00000D10; // type:object size:0x4 data:4byte -lbl_1_bss_D14 = .bss:0x00000D14; // type:object size:0x4 data:4byte diff --git a/config/GMPJ01_00/rels/mstory3Dll/splits.txt b/config/GMPJ01_00/rels/mstory3Dll/splits.txt deleted file mode 100644 index 6d23734f..00000000 --- a/config/GMPJ01_00/rels/mstory3Dll/splits.txt +++ /dev/null @@ -1,31 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/mstory3Dll/main.c: - .text start:0x00000000 end:0x00006E34 - .rodata start:0x00000000 end:0x00000110 - .data start:0x00000000 end:0x00000130 - .bss start:0x00000000 end:0x00000058 - -REL/mstory3Dll/result_seq.c: - .text start:0x00006E34 end:0x000157F0 - .rodata start:0x00000110 end:0x00000418 - .data start:0x00000130 end:0x000007E0 - .bss start:0x00000058 end:0x000018D0 - -REL/mstory3Dll/result.c: - .text start:0x000157F0 end:0x0001DED8 - .rodata start:0x00000418 end:0x000005D0 - .data start:0x000007E0 end:0x00000A90 - .bss start:0x000018D0 end:0x00001CE8 - -REL/mstory3Dll/win_effect.c: - .text start:0x0001DED8 end:0x0001F100 - .rodata start:0x000005D0 end:0x00000644 - .data start:0x00000A90 end:0x00000AAB - .bss start:0x00001CE8 end:0x00001D50 diff --git a/config/GMPJ01_00/rels/mstory3Dll/symbols.txt b/config/GMPJ01_00/rels/mstory3Dll/symbols.txt deleted file mode 100644 index 4863cac3..00000000 --- a/config/GMPJ01_00/rels/mstory3Dll/symbols.txt +++ /dev/null @@ -1,550 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x4C -fn_1_4C = .text:0x0000004C; // type:function size:0x58 -fn_1_A4 = .text:0x000000A4; // type:function size:0x2C8 -_prolog = .text:0x0000036C; // type:function size:0x54 scope:global -_epilog = .text:0x000003C0; // type:function size:0x4C scope:global -fn_1_40C = .text:0x0000040C; // type:function size:0xE4 -ObjectSetup = .text:0x000004F0; // type:function size:0xE4 -fn_1_5D4 = .text:0x000005D4; // type:function size:0x28 -fn_1_5FC = .text:0x000005FC; // type:function size:0x20 -fn_1_61C = .text:0x0000061C; // type:function size:0xD8 -fn_1_6F4 = .text:0x000006F4; // type:function size:0xC8 -fn_1_7BC = .text:0x000007BC; // type:function size:0xBC -fn_1_878 = .text:0x00000878; // type:function size:0xBC -fn_1_934 = .text:0x00000934; // type:function size:0x4 -fn_1_938 = .text:0x00000938; // type:function size:0x20 -fn_1_958 = .text:0x00000958; // type:function size:0x28 -fn_1_980 = .text:0x00000980; // type:function size:0x20 -fn_1_9A0 = .text:0x000009A0; // type:function size:0x24 -fn_1_9C4 = .text:0x000009C4; // type:function size:0x20 -fn_1_9E4 = .text:0x000009E4; // type:function size:0xA48 -fn_1_142C = .text:0x0000142C; // type:function size:0x1F8 -fn_1_1624 = .text:0x00001624; // type:function size:0x210 -fn_1_1834 = .text:0x00001834; // type:function size:0x1F0 -fn_1_1A24 = .text:0x00001A24; // type:function size:0x2C -fn_1_1A50 = .text:0x00001A50; // type:function size:0x60 -fn_1_1AB0 = .text:0x00001AB0; // type:function size:0x68 -fn_1_1B18 = .text:0x00001B18; // type:function size:0xAC -fn_1_1BC4 = .text:0x00001BC4; // type:function size:0xC4 -fn_1_1C88 = .text:0x00001C88; // type:function size:0xBC -fn_1_1D44 = .text:0x00001D44; // type:function size:0x34 -fn_1_1D78 = .text:0x00001D78; // type:function size:0x40 -fn_1_1DB8 = .text:0x00001DB8; // type:function size:0x70 -fn_1_1E28 = .text:0x00001E28; // type:function size:0x178 -fn_1_1FA0 = .text:0x00001FA0; // type:function size:0x2E0 -fn_1_2280 = .text:0x00002280; // type:function size:0x90 -fn_1_2310 = .text:0x00002310; // type:function size:0xC8 -fn_1_23D8 = .text:0x000023D8; // type:function size:0x48 -fn_1_2420 = .text:0x00002420; // type:function size:0x54 -fn_1_2474 = .text:0x00002474; // type:function size:0x3C0 -fn_1_2834 = .text:0x00002834; // type:function size:0x10 -fn_1_2844 = .text:0x00002844; // type:function size:0x10 -fn_1_2854 = .text:0x00002854; // type:function size:0xB8 -fn_1_290C = .text:0x0000290C; // type:function size:0x120 -fn_1_2A2C = .text:0x00002A2C; // type:function size:0x3A8 -fn_1_2DD4 = .text:0x00002DD4; // type:function size:0x7F4 -fn_1_35C8 = .text:0x000035C8; // type:function size:0x88 -fn_1_3650 = .text:0x00003650; // type:function size:0x94 -fn_1_36E4 = .text:0x000036E4; // type:function size:0x58 -fn_1_373C = .text:0x0000373C; // type:function size:0x8C -fn_1_37C8 = .text:0x000037C8; // type:function size:0xEC -fn_1_38B4 = .text:0x000038B4; // type:function size:0xC4 -fn_1_3978 = .text:0x00003978; // type:function size:0x3C -fn_1_39B4 = .text:0x000039B4; // type:function size:0x44 -fn_1_39F8 = .text:0x000039F8; // type:function size:0x26C -fn_1_3C64 = .text:0x00003C64; // type:function size:0x26C -fn_1_3ED0 = .text:0x00003ED0; // type:function size:0x27C -fn_1_414C = .text:0x0000414C; // type:function size:0x2B4 -fn_1_4400 = .text:0x00004400; // type:function size:0x46C -fn_1_486C = .text:0x0000486C; // type:function size:0x454 -fn_1_4CC0 = .text:0x00004CC0; // type:function size:0x48C -fn_1_514C = .text:0x0000514C; // type:function size:0x658 -fn_1_57A4 = .text:0x000057A4; // type:function size:0x4C4 -fn_1_5C68 = .text:0x00005C68; // type:function size:0x4FC -fn_1_6164 = .text:0x00006164; // type:function size:0x6C8 -fn_1_682C = .text:0x0000682C; // type:function size:0xC4 -fn_1_68F0 = .text:0x000068F0; // type:function size:0x188 -fn_1_6A78 = .text:0x00006A78; // type:function size:0x34 -fn_1_6AAC = .text:0x00006AAC; // type:function size:0x40 -fn_1_6AEC = .text:0x00006AEC; // type:function size:0xAC -fn_1_6B98 = .text:0x00006B98; // type:function size:0x1E8 -fn_1_6D80 = .text:0x00006D80; // type:function size:0xB4 -fn_1_6E34 = .text:0x00006E34; // type:function size:0x1D0 -fn_1_7004 = .text:0x00007004; // type:function size:0x394 -fn_1_7398 = .text:0x00007398; // type:function size:0x640 -fn_1_79D8 = .text:0x000079D8; // type:function size:0x4B0 -fn_1_7E88 = .text:0x00007E88; // type:function size:0x2C4 -fn_1_814C = .text:0x0000814C; // type:function size:0x118 -fn_1_8264 = .text:0x00008264; // type:function size:0x7C -fn_1_82E0 = .text:0x000082E0; // type:function size:0x8C -fn_1_836C = .text:0x0000836C; // type:function size:0xF0 -fn_1_845C = .text:0x0000845C; // type:function size:0x2FC -fn_1_8758 = .text:0x00008758; // type:function size:0x100 -fn_1_8858 = .text:0x00008858; // type:function size:0xF0 -fn_1_8948 = .text:0x00008948; // type:function size:0xF0 -fn_1_8A38 = .text:0x00008A38; // type:function size:0xF0 -fn_1_8B28 = .text:0x00008B28; // type:function size:0xF0 -fn_1_8C18 = .text:0x00008C18; // type:function size:0x7C -fn_1_8C94 = .text:0x00008C94; // type:function size:0x4AC -fn_1_9140 = .text:0x00009140; // type:function size:0x88 -fn_1_91C8 = .text:0x000091C8; // type:function size:0x58 -fn_1_9220 = .text:0x00009220; // type:function size:0x1B0 -fn_1_93D0 = .text:0x000093D0; // type:function size:0xB8 -fn_1_9488 = .text:0x00009488; // type:function size:0x228 -fn_1_96B0 = .text:0x000096B0; // type:function size:0xB8 -fn_1_9768 = .text:0x00009768; // type:function size:0x228 -fn_1_9990 = .text:0x00009990; // type:function size:0x78 -fn_1_9A08 = .text:0x00009A08; // type:function size:0x5C -fn_1_9A64 = .text:0x00009A64; // type:function size:0x8B0 -fn_1_A314 = .text:0x0000A314; // type:function size:0x1DC -fn_1_A4F0 = .text:0x0000A4F0; // type:function size:0x6BC -fn_1_ABAC = .text:0x0000ABAC; // type:function size:0xAC4 -fn_1_B670 = .text:0x0000B670; // type:function size:0x118 -fn_1_B788 = .text:0x0000B788; // type:function size:0x6D4 -fn_1_BE5C = .text:0x0000BE5C; // type:function size:0x104 -fn_1_BF60 = .text:0x0000BF60; // type:function size:0x100 -fn_1_C060 = .text:0x0000C060; // type:function size:0xE0C -fn_1_CE6C = .text:0x0000CE6C; // type:function size:0x620 -fn_1_D48C = .text:0x0000D48C; // type:function size:0xAC -fn_1_D538 = .text:0x0000D538; // type:function size:0x1E0 -fn_1_D718 = .text:0x0000D718; // type:function size:0xC0 -fn_1_D7D8 = .text:0x0000D7D8; // type:function size:0x390 -fn_1_DB68 = .text:0x0000DB68; // type:function size:0x5F8 -fn_1_E160 = .text:0x0000E160; // type:function size:0x1BD0 -fn_1_FD30 = .text:0x0000FD30; // type:function size:0x150 -fn_1_FE80 = .text:0x0000FE80; // type:function size:0xFC -fn_1_FF7C = .text:0x0000FF7C; // type:function size:0x3F0 -fn_1_1036C = .text:0x0001036C; // type:function size:0xA08 -fn_1_10D74 = .text:0x00010D74; // type:function size:0xA20 -fn_1_11794 = .text:0x00011794; // type:function size:0xA0 -fn_1_11834 = .text:0x00011834; // type:function size:0xBA4 -fn_1_123D8 = .text:0x000123D8; // type:function size:0x44 -fn_1_1241C = .text:0x0001241C; // type:function size:0x4 -fn_1_12420 = .text:0x00012420; // type:function size:0x678 -fn_1_12A98 = .text:0x00012A98; // type:function size:0x170 -fn_1_12C08 = .text:0x00012C08; // type:function size:0x1A4 -fn_1_12DAC = .text:0x00012DAC; // type:function size:0x2FC -fn_1_130A8 = .text:0x000130A8; // type:function size:0xD4 -fn_1_1317C = .text:0x0001317C; // type:function size:0x130 -fn_1_132AC = .text:0x000132AC; // type:function size:0x65C -fn_1_13908 = .text:0x00013908; // type:function size:0x130 -fn_1_13A38 = .text:0x00013A38; // type:function size:0x4 -fn_1_13A3C = .text:0x00013A3C; // type:function size:0x23C -fn_1_13C78 = .text:0x00013C78; // type:function size:0xC0 -fn_1_13D38 = .text:0x00013D38; // type:function size:0x60 -fn_1_13D98 = .text:0x00013D98; // type:function size:0x308 -fn_1_140A0 = .text:0x000140A0; // type:function size:0x38C -fn_1_1442C = .text:0x0001442C; // type:function size:0x140 -fn_1_1456C = .text:0x0001456C; // type:function size:0x118 -fn_1_14684 = .text:0x00014684; // type:function size:0x7C -fn_1_14700 = .text:0x00014700; // type:function size:0x48 -fn_1_14748 = .text:0x00014748; // type:function size:0x724 -fn_1_14E6C = .text:0x00014E6C; // type:function size:0x114 -fn_1_14F80 = .text:0x00014F80; // type:function size:0x54 -fn_1_14FD4 = .text:0x00014FD4; // type:function size:0x31C -fn_1_152F0 = .text:0x000152F0; // type:function size:0x160 -fn_1_15450 = .text:0x00015450; // type:function size:0x3A0 -fn_1_157F0 = .text:0x000157F0; // type:function size:0x1B4 -fn_1_159A4 = .text:0x000159A4; // type:function size:0x268 -fn_1_15C0C = .text:0x00015C0C; // type:function size:0xFC -fn_1_15D08 = .text:0x00015D08; // type:function size:0xC0 -fn_1_15DC8 = .text:0x00015DC8; // type:function size:0x3F0 -fn_1_161B8 = .text:0x000161B8; // type:function size:0x3BC -fn_1_16574 = .text:0x00016574; // type:function size:0x54 -fn_1_165C8 = .text:0x000165C8; // type:function size:0x35C -fn_1_16924 = .text:0x00016924; // type:function size:0x1B0 -fn_1_16AD4 = .text:0x00016AD4; // type:function size:0x400 -fn_1_16ED4 = .text:0x00016ED4; // type:function size:0x258 -fn_1_1712C = .text:0x0001712C; // type:function size:0x160 -fn_1_1728C = .text:0x0001728C; // type:function size:0x1F8 -fn_1_17484 = .text:0x00017484; // type:function size:0xEC -fn_1_17570 = .text:0x00017570; // type:function size:0x850 -fn_1_17DC0 = .text:0x00017DC0; // type:function size:0x2C0 -fn_1_18080 = .text:0x00018080; // type:function size:0x9C -fn_1_1811C = .text:0x0001811C; // type:function size:0x218 -fn_1_18334 = .text:0x00018334; // type:function size:0x1B4 -fn_1_184E8 = .text:0x000184E8; // type:function size:0x70 -fn_1_18558 = .text:0x00018558; // type:function size:0x110 -fn_1_18668 = .text:0x00018668; // type:function size:0x694 -fn_1_18CFC = .text:0x00018CFC; // type:function size:0x29C -fn_1_18F98 = .text:0x00018F98; // type:function size:0x1AC -fn_1_19144 = .text:0x00019144; // type:function size:0xD0 -fn_1_19214 = .text:0x00019214; // type:function size:0x28C -fn_1_194A0 = .text:0x000194A0; // type:function size:0xF0 -fn_1_19590 = .text:0x00019590; // type:function size:0x224 -fn_1_197B4 = .text:0x000197B4; // type:function size:0x854 -fn_1_1A008 = .text:0x0001A008; // type:function size:0x1EF4 -fn_1_1BEFC = .text:0x0001BEFC; // type:function size:0x3F8 -fn_1_1C2F4 = .text:0x0001C2F4; // type:function size:0x16C -fn_1_1C460 = .text:0x0001C460; // type:function size:0xD4 -fn_1_1C534 = .text:0x0001C534; // type:function size:0x3E0 -fn_1_1C914 = .text:0x0001C914; // type:function size:0x184 -fn_1_1CA98 = .text:0x0001CA98; // type:function size:0xE4 -fn_1_1CB7C = .text:0x0001CB7C; // type:function size:0xE0 -fn_1_1CC5C = .text:0x0001CC5C; // type:function size:0x104 -fn_1_1CD60 = .text:0x0001CD60; // type:function size:0x90 -fn_1_1CDF0 = .text:0x0001CDF0; // type:function size:0x334 -fn_1_1D124 = .text:0x0001D124; // type:function size:0x518 -fn_1_1D63C = .text:0x0001D63C; // type:function size:0x140 -fn_1_1D77C = .text:0x0001D77C; // type:function size:0x150 -fn_1_1D8CC = .text:0x0001D8CC; // type:function size:0x98 -fn_1_1D964 = .text:0x0001D964; // type:function size:0x100 -fn_1_1DA64 = .text:0x0001DA64; // type:function size:0x48 -fn_1_1DAAC = .text:0x0001DAAC; // type:function size:0x3A0 -fn_1_1DE4C = .text:0x0001DE4C; // type:function size:0x8C -fn_1_1DED8 = .text:0x0001DED8; // type:function size:0x21C -fn_1_1E0F4 = .text:0x0001E0F4; // type:function size:0x14 -fn_1_1E108 = .text:0x0001E108; // type:function size:0x10 -fn_1_1E118 = .text:0x0001E118; // type:function size:0x14 -fn_1_1E12C = .text:0x0001E12C; // type:function size:0x10 -fn_1_1E13C = .text:0x0001E13C; // type:function size:0x41C -fn_1_1E558 = .text:0x0001E558; // type:function size:0x2C8 -fn_1_1E820 = .text:0x0001E820; // type:function size:0x8E0 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x20 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0xC scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x20 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x10 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x78 scope:local -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x28 scope:local data:4byte -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 scope:local data:double -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 scope:local data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 scope:local data:float -lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 scope:local data:float -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 scope:local data:float -lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 scope:local data:float -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 scope:local data:float -lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x4 scope:local data:float -lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x4 scope:local data:float -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x3C scope:local data:4byte -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C4 = .rodata:0x000005C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 scope:local data:double -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x8 scope:local data:double -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 scope:local data:double -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 scope:local data:float -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x8 scope:local data:double -lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x8 scope:local data:double -lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 scope:local data:float -lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 scope:local data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x8 scope:local data:double -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 -lbl_1_data_70 = .data:0x00000070; // type:object size:0x25 scope:local data:string -lbl_1_data_95 = .data:0x00000095; // type:object size:0xD scope:local data:string -lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x8 -lbl_1_data_AC = .data:0x000000AC; // type:object size:0x28 scope:local data:string -lbl_1_data_D4 = .data:0x000000D4; // type:object size:0x10 scope:local data:string -lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x3 scope:local data:string -lbl_1_data_E7 = .data:0x000000E7; // type:object size:0x1A scope:local data:string -lbl_1_data_101 = .data:0x00000101; // type:object size:0x1A scope:local data:string -lbl_1_data_11B = .data:0x0000011B; // type:object size:0xE scope:local data:string -lbl_1_data_130 = .data:0x00000130; // type:object size:0x30 data:float -lbl_1_data_160 = .data:0x00000160; // type:object size:0x50 -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x50 -lbl_1_data_200 = .data:0x00000200; // type:object size:0x50 -lbl_1_data_250 = .data:0x00000250; // type:object size:0x16 scope:local data:string -lbl_1_data_266 = .data:0x00000266; // type:object size:0x15 scope:local data:string -lbl_1_data_27B = .data:0x0000027B; // type:object size:0x16 scope:local data:string -lbl_1_data_291 = .data:0x00000291; // type:object size:0x15 scope:local data:string -lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x16 scope:local data:string -lbl_1_data_2BC = .data:0x000002BC; // type:object size:0x15 scope:local data:string -lbl_1_data_2D1 = .data:0x000002D1; // type:object size:0x17 scope:local data:string -lbl_1_data_2E8 = .data:0x000002E8; // type:object size:0x16 scope:local data:string -lbl_1_data_2FE = .data:0x000002FE; // type:object size:0xF scope:local data:string -lbl_1_data_30D = .data:0x0000030D; // type:object size:0x1C scope:local data:string -lbl_1_data_329 = .data:0x00000329; // type:object size:0x1D scope:local data:string -lbl_1_data_346 = .data:0x00000346; // type:object size:0x1C scope:local data:string -lbl_1_data_364 = .data:0x00000364; // type:object size:0x4 data:4byte -lbl_1_data_36C = .data:0x0000036C; // type:object size:0xC data:float -lbl_1_data_378 = .data:0x00000378; // type:object size:0xF scope:local data:string -lbl_1_data_387 = .data:0x00000387; // type:object size:0x10 scope:local data:string -jumptable_1_data_398 = .data:0x00000398; // type:object size:0x30 scope:local -lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0x46 scope:local data:string -lbl_1_data_40E = .data:0x0000040E; // type:object size:0x30 scope:local data:string -lbl_1_data_43E = .data:0x0000043E; // type:object size:0x14 scope:local data:string -lbl_1_data_452 = .data:0x00000452; // type:object size:0x14 scope:local data:string -lbl_1_data_466 = .data:0x00000466; // type:object size:0x14 scope:local data:string -lbl_1_data_47A = .data:0x0000047A; // type:object size:0x14 scope:local data:string -lbl_1_data_48E = .data:0x0000048E; // type:object size:0x14 scope:local data:string -lbl_1_data_4A2 = .data:0x000004A2; // type:object size:0x10 scope:local data:string -lbl_1_data_4B2 = .data:0x000004B2; // type:object size:0x10 scope:local data:string -lbl_1_data_4C2 = .data:0x000004C2; // type:object size:0x10 scope:local data:string -lbl_1_data_4D2 = .data:0x000004D2; // type:object size:0x10 scope:local data:string -lbl_1_data_4E2 = .data:0x000004E2; // type:object size:0x10 scope:local data:string -lbl_1_data_4F2 = .data:0x000004F2; // type:object size:0x10 scope:local data:string -lbl_1_data_504 = .data:0x00000504; // type:object size:0x288 -lbl_1_data_78C = .data:0x0000078C; // type:object size:0x50 -lbl_1_data_7E0 = .data:0x000007E0; // type:object size:0x16 scope:local data:string -lbl_1_data_7F6 = .data:0x000007F6; // type:object size:0x15 scope:local data:string -lbl_1_data_80B = .data:0x0000080B; // type:object size:0x16 scope:local data:string -lbl_1_data_821 = .data:0x00000821; // type:object size:0x15 scope:local data:string -lbl_1_data_836 = .data:0x00000836; // type:object size:0x16 scope:local data:string -lbl_1_data_84C = .data:0x0000084C; // type:object size:0x15 scope:local data:string -lbl_1_data_861 = .data:0x00000861; // type:object size:0x17 scope:local data:string -lbl_1_data_878 = .data:0x00000878; // type:object size:0x16 scope:local data:string -lbl_1_data_88E = .data:0x0000088E; // type:object size:0xF scope:local data:string -lbl_1_data_89D = .data:0x0000089D; // type:object size:0x1C scope:local data:string -lbl_1_data_8B9 = .data:0x000008B9; // type:object size:0x1D scope:local data:string -lbl_1_data_8D6 = .data:0x000008D6; // type:object size:0x49 scope:local data:string -lbl_1_data_91F = .data:0x0000091F; // type:object size:0x48 scope:local data:string -lbl_1_data_967 = .data:0x00000967; // type:object size:0x48 scope:local data:string -lbl_1_data_9AF = .data:0x000009AF; // type:object size:0x52 scope:local data:string -lbl_1_data_A01 = .data:0x00000A01; // type:object size:0x30 scope:local data:string -lbl_1_data_A31 = .data:0x00000A31; // type:object size:0x2A scope:local data:string -lbl_1_data_A5B = .data:0x00000A5B; // type:object size:0x1A scope:local data:string -lbl_1_data_A75 = .data:0x00000A75; // type:object size:0x19 scope:local data:string -lbl_1_data_A90 = .data:0x00000A90; // type:object size:0x13 scope:local data:string -lbl_1_data_AA3 = .data:0x00000AA3; // type:object size:0x8 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x44 data:float -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x10 data:float -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x40 data:4byte -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x4 data:float -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x4 data:float -lbl_1_bss_B4 = .bss:0x000000B4; // type:object size:0x4 data:4byte -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x4 data:float -lbl_1_bss_C0 = .bss:0x000000C0; // type:object size:0x4 data:float -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x4 data:float -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x1340 -lbl_1_bss_1408 = .bss:0x00001408; // type:object size:0x18 -lbl_1_bss_1420 = .bss:0x00001420; // type:object size:0x4 data:4byte -lbl_1_bss_1424 = .bss:0x00001424; // type:object size:0x4 data:float -lbl_1_bss_1428 = .bss:0x00001428; // type:object size:0x10 data:4byte -lbl_1_bss_1438 = .bss:0x00001438; // type:object size:0x10 -lbl_1_bss_1448 = .bss:0x00001448; // type:object size:0x10 data:4byte -lbl_1_bss_1458 = .bss:0x00001458; // type:object size:0x10 data:4byte -lbl_1_bss_1468 = .bss:0x00001468; // type:object size:0x28 data:4byte -lbl_1_bss_1490 = .bss:0x00001490; // type:object size:0xA0 data:4byte -lbl_1_bss_1530 = .bss:0x00001530; // type:object size:0x28 data:4byte -lbl_1_bss_1558 = .bss:0x00001558; // type:object size:0x28 data:4byte -lbl_1_bss_1580 = .bss:0x00001580; // type:object size:0x350 data:4byte -lbl_1_bss_18D0 = .bss:0x000018D0; // type:object size:0x4 data:4byte -lbl_1_bss_18D4 = .bss:0x000018D4; // type:object size:0x4 data:4byte -lbl_1_bss_18D8 = .bss:0x000018D8; // type:object size:0xC data:4byte -lbl_1_bss_18E4 = .bss:0x000018E4; // type:object size:0x8 data:4byte -lbl_1_bss_18EC = .bss:0x000018EC; // type:object size:0x8 data:4byte -lbl_1_bss_18F4 = .bss:0x000018F4; // type:object size:0xA0 -lbl_1_bss_1994 = .bss:0x00001994; // type:object size:0x28 data:4byte -lbl_1_bss_19BC = .bss:0x000019BC; // type:object size:0x28 data:4byte -lbl_1_bss_19E4 = .bss:0x000019E4; // type:object size:0x28 data:4byte -lbl_1_bss_1A0C = .bss:0x00001A0C; // type:object size:0x2D8 data:float -lbl_1_bss_1CE8 = .bss:0x00001CE8; // type:object size:0x2 data:2byte -lbl_1_bss_1CEC = .bss:0x00001CEC; // type:object size:0x4 data:4byte -lbl_1_bss_1CF0 = .bss:0x00001CF0; // type:object size:0x4 data:4byte -lbl_1_bss_1CF4 = .bss:0x00001CF4; // type:object size:0x4 data:4byte -lbl_1_bss_1CF8 = .bss:0x00001CF8; // type:object size:0x58 data:2byte diff --git a/config/GMPJ01_00/rels/mstory4Dll/splits.txt b/config/GMPJ01_00/rels/mstory4Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/mstory4Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/mstory4Dll/symbols.txt b/config/GMPJ01_00/rels/mstory4Dll/symbols.txt deleted file mode 100644 index 59a31229..00000000 --- a/config/GMPJ01_00/rels/mstory4Dll/symbols.txt +++ /dev/null @@ -1,65 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0xEC -fn_1_EC = .text:0x000000EC; // type:function size:0x115C -_prolog = .text:0x00001248; // type:function size:0x54 scope:global -_epilog = .text:0x0000129C; // type:function size:0x4C scope:global -fn_1_12E8 = .text:0x000012E8; // type:function size:0xB8 -fn_1_13A0 = .text:0x000013A0; // type:function size:0x68C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x1 data:byte -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x1C data:4byte -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x1 data:byte -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x3C0 -lbl_1_data_3C0 = .data:0x000003C0; // type:object size:0xF data:string -lbl_1_data_3CF = .data:0x000003CF; // type:object size:0x14 data:string -lbl_1_data_3E3 = .data:0x000003E3; // type:object size:0x15 data:string -lbl_1_data_3F8 = .data:0x000003F8; // type:object size:0x11 data:string -lbl_1_data_409 = .data:0x00000409; // type:object size:0x12 data:string -lbl_1_data_41B = .data:0x0000041B; // type:object size:0x15 -lbl_1_data_430 = .data:0x00000430; // type:object size:0x18 -lbl_1_data_448 = .data:0x00000448; // type:object size:0x17 data:string -lbl_1_data_45F = .data:0x0000045F; // type:object size:0x24 data:string -lbl_1_data_483 = .data:0x00000483; // type:object size:0x23 data:string -lbl_1_data_4A6 = .data:0x000004A6; // type:object size:0x27 data:string -lbl_1_data_4CD = .data:0x000004CD; // type:object size:0x26 data:string -lbl_1_data_4F3 = .data:0x000004F3; // type:object size:0x29 data:string -lbl_1_data_51C = .data:0x0000051C; // type:object size:0x1C -lbl_1_data_538 = .data:0x00000538; // type:object size:0x1C -lbl_1_data_554 = .data:0x00000554; // type:object size:0x18 data:4byte -lbl_1_data_56C = .data:0x0000056C; // type:object size:0x1C -lbl_1_data_588 = .data:0x00000588; // type:object size:0x7 data:string -lbl_1_data_58F = .data:0x0000058F; // type:object size:0x33 data:string -lbl_1_data_5C2 = .data:0x000005C2; // type:object size:0x3 data:string -lbl_1_data_5C5 = .data:0x000005C5; // type:object size:0x9 data:string -lbl_1_data_5CE = .data:0x000005CE; // type:object size:0xB data:string -lbl_1_data_5D9 = .data:0x000005D9; // type:object size:0xB data:string -lbl_1_data_5E4 = .data:0x000005E4; // type:object size:0xC -jumptable_1_data_5F0 = .data:0x000005F0; // type:object size:0x1C scope:local -lbl_1_data_60C = .data:0x0000060C; // type:object size:0x6 data:string -lbl_1_data_612 = .data:0x00000612; // type:object size:0x6 data:string -lbl_1_data_618 = .data:0x00000618; // type:object size:0x6 data:string -lbl_1_data_61E = .data:0x0000061E; // type:object size:0x6 data:string -lbl_1_data_624 = .data:0x00000624; // type:object size:0x6 data:string -lbl_1_data_62A = .data:0x0000062A; // type:object size:0x7 data:string -lbl_1_data_631 = .data:0x00000631; // type:object size:0x6 data:string -lbl_1_data_637 = .data:0x00000637; // type:object size:0x9 -lbl_1_data_640 = .data:0x00000640; // type:object size:0x20 -lbl_1_data_660 = .data:0x00000660; // type:object size:0x16 data:string -lbl_1_data_676 = .data:0x00000676; // type:object size:0x11 data:string -lbl_1_data_687 = .data:0x00000687; // type:object size:0x10 data:string -lbl_1_data_697 = .data:0x00000697; // type:object size:0xD data:string -lbl_1_data_6A4 = .data:0x000006A4; // type:object size:0x10 data:string -lbl_1_data_6B4 = .data:0x000006B4; // type:object size:0xD data:string -lbl_1_data_6C1 = .data:0x000006C1; // type:object size:0x1B data:string -lbl_1_data_6DC = .data:0x000006DC; // type:object size:0x1A data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte diff --git a/config/GMPJ01_00/rels/mstoryDll/splits.txt b/config/GMPJ01_00/rels/mstoryDll/splits.txt deleted file mode 100644 index 14c897fa..00000000 --- a/config/GMPJ01_00/rels/mstoryDll/splits.txt +++ /dev/null @@ -1,43 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/mstoryDll/main.c: - .text start:0x00000000 end:0x00007090 - .rodata start:0x00000000 end:0x00000108 - .data start:0x00000000 end:0x00000190 - .bss start:0x00000000 end:0x000000A8 - -REL/mstoryDll/board_clear.c: - .text start:0x00007090 end:0x0000A830 - .rodata start:0x00000108 end:0x00000268 - .data start:0x00000190 end:0x00000388 - .bss start:0x000000A8 end:0x000002C8 - -REL/mstoryDll/board_miss.c: - .text start:0x0000A830 end:0x0000E710 - .rodata start:0x00000268 end:0x000003B8 - .data start:0x00000388 end:0x00000570 - .bss start:0x000002C8 end:0x00000558 - -REL/mstoryDll/mg_clear.c: - .text start:0x0000E710 end:0x00011624 - .rodata start:0x000003B8 end:0x000004E0 - .data start:0x00000570 end:0x00000AF8 - .bss start:0x00000558 end:0x00000710 - -REL/mstoryDll/mg_miss.c: - .text start:0x00011624 end:0x00013B48 - .rodata start:0x000004E0 end:0x000005A8 - .data start:0x00000AF8 end:0x00000C50 - .bss start:0x00000710 end:0x000008B8 - -REL/mstoryDll/save.c: - .text start:0x00013B48 end:0x000141A0 - .rodata start:0x000005A8 end:0x000005B8 - .data start:0x00000C50 end:0x00000C98 - .bss start:0x000008B8 end:0x000008C0 diff --git a/config/GMPJ01_00/rels/mstoryDll/symbols.txt b/config/GMPJ01_00/rels/mstoryDll/symbols.txt deleted file mode 100644 index f9dbaabb..00000000 --- a/config/GMPJ01_00/rels/mstoryDll/symbols.txt +++ /dev/null @@ -1,500 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x4C -fn_1_4C = .text:0x0000004C; // type:function size:0x58 -fn_1_A4 = .text:0x000000A4; // type:function size:0x344 -_prolog = .text:0x000003E8; // type:function size:0x54 scope:global -_epilog = .text:0x0000043C; // type:function size:0x4C scope:global -fn_1_488 = .text:0x00000488; // type:function size:0x1D0 -ObjectSetup = .text:0x00000658; // type:function size:0x1D0 -fn_1_828 = .text:0x00000828; // type:function size:0x28 -fn_1_850 = .text:0x00000850; // type:function size:0x20 -fn_1_870 = .text:0x00000870; // type:function size:0xD8 -fn_1_948 = .text:0x00000948; // type:function size:0xC8 -fn_1_A10 = .text:0x00000A10; // type:function size:0xBC -fn_1_ACC = .text:0x00000ACC; // type:function size:0xBC -fn_1_B88 = .text:0x00000B88; // type:function size:0x4 -fn_1_B8C = .text:0x00000B8C; // type:function size:0x20 -fn_1_BAC = .text:0x00000BAC; // type:function size:0x28 -fn_1_BD4 = .text:0x00000BD4; // type:function size:0x20 -fn_1_BF4 = .text:0x00000BF4; // type:function size:0x24 -fn_1_C18 = .text:0x00000C18; // type:function size:0x20 -fn_1_C38 = .text:0x00000C38; // type:function size:0xA48 -fn_1_1680 = .text:0x00001680; // type:function size:0x1B4 -fn_1_1834 = .text:0x00001834; // type:function size:0x1D0 -fn_1_1A04 = .text:0x00001A04; // type:function size:0x60 -fn_1_1A64 = .text:0x00001A64; // type:function size:0x68 -fn_1_1ACC = .text:0x00001ACC; // type:function size:0xAC -fn_1_1B78 = .text:0x00001B78; // type:function size:0xBC -fn_1_1C34 = .text:0x00001C34; // type:function size:0xB4 -fn_1_1CE8 = .text:0x00001CE8; // type:function size:0x34 -fn_1_1D1C = .text:0x00001D1C; // type:function size:0x40 -fn_1_1D5C = .text:0x00001D5C; // type:function size:0x70 -fn_1_1DCC = .text:0x00001DCC; // type:function size:0x178 -fn_1_1F44 = .text:0x00001F44; // type:function size:0x2E0 -fn_1_2224 = .text:0x00002224; // type:function size:0x90 -fn_1_22B4 = .text:0x000022B4; // type:function size:0x48 -fn_1_22FC = .text:0x000022FC; // type:function size:0x54 -fn_1_2350 = .text:0x00002350; // type:function size:0x3C0 -fn_1_2710 = .text:0x00002710; // type:function size:0x10 -fn_1_2720 = .text:0x00002720; // type:function size:0x10 -fn_1_2730 = .text:0x00002730; // type:function size:0xB8 -fn_1_27E8 = .text:0x000027E8; // type:function size:0x120 -fn_1_2908 = .text:0x00002908; // type:function size:0x3A8 -fn_1_2CB0 = .text:0x00002CB0; // type:function size:0x7F4 -fn_1_34A4 = .text:0x000034A4; // type:function size:0x88 -fn_1_352C = .text:0x0000352C; // type:function size:0x94 -fn_1_35C0 = .text:0x000035C0; // type:function size:0x58 -fn_1_3618 = .text:0x00003618; // type:function size:0xEC -fn_1_3704 = .text:0x00003704; // type:function size:0xC4 -fn_1_37C8 = .text:0x000037C8; // type:function size:0x3C -fn_1_3804 = .text:0x00003804; // type:function size:0x44 -fn_1_3848 = .text:0x00003848; // type:function size:0x274 -fn_1_3ABC = .text:0x00003ABC; // type:function size:0x26C -fn_1_3D28 = .text:0x00003D28; // type:function size:0x22C -fn_1_3F54 = .text:0x00003F54; // type:function size:0x27C -fn_1_41D0 = .text:0x000041D0; // type:function size:0x2B4 -fn_1_4484 = .text:0x00004484; // type:function size:0x46C -fn_1_48F0 = .text:0x000048F0; // type:function size:0x454 -fn_1_4D44 = .text:0x00004D44; // type:function size:0x48C -fn_1_51D0 = .text:0x000051D0; // type:function size:0x658 -fn_1_5828 = .text:0x00005828; // type:function size:0x4C4 -fn_1_5CEC = .text:0x00005CEC; // type:function size:0x4FC -fn_1_61E8 = .text:0x000061E8; // type:function size:0x6C8 -fn_1_68B0 = .text:0x000068B0; // type:function size:0xC4 -fn_1_6974 = .text:0x00006974; // type:function size:0x188 -fn_1_6AFC = .text:0x00006AFC; // type:function size:0x34 -fn_1_6B30 = .text:0x00006B30; // type:function size:0x40 -fn_1_6B70 = .text:0x00006B70; // type:function size:0xAC -fn_1_6C1C = .text:0x00006C1C; // type:function size:0x1E8 -fn_1_6E04 = .text:0x00006E04; // type:function size:0xB4 -fn_1_6EB8 = .text:0x00006EB8; // type:function size:0x170 -fn_1_7028 = .text:0x00007028; // type:function size:0x68 -fn_1_7090 = .text:0x00007090; // type:function size:0xA4 -fn_1_7134 = .text:0x00007134; // type:function size:0x1E8 -fn_1_731C = .text:0x0000731C; // type:function size:0x69C -fn_1_79B8 = .text:0x000079B8; // type:function size:0x128 -fn_1_7AE0 = .text:0x00007AE0; // type:function size:0x390 -fn_1_7E70 = .text:0x00007E70; // type:function size:0x5C -fn_1_7ECC = .text:0x00007ECC; // type:function size:0x1C4 -fn_1_8090 = .text:0x00008090; // type:function size:0x320 -fn_1_83B0 = .text:0x000083B0; // type:function size:0x58 -fn_1_8408 = .text:0x00008408; // type:function size:0x3D4 -fn_1_87DC = .text:0x000087DC; // type:function size:0x268 -fn_1_8A44 = .text:0x00008A44; // type:function size:0x9C -fn_1_8AE0 = .text:0x00008AE0; // type:function size:0x2E0 -fn_1_8DC0 = .text:0x00008DC0; // type:function size:0xAC -fn_1_8E6C = .text:0x00008E6C; // type:function size:0xFC -fn_1_8F68 = .text:0x00008F68; // type:function size:0x36C -fn_1_92D4 = .text:0x000092D4; // type:function size:0x134 -fn_1_9408 = .text:0x00009408; // type:function size:0x310 -fn_1_9718 = .text:0x00009718; // type:function size:0x18C -fn_1_98A4 = .text:0x000098A4; // type:function size:0x88 -fn_1_992C = .text:0x0000992C; // type:function size:0x3DC -fn_1_9D08 = .text:0x00009D08; // type:function size:0x300 -fn_1_A008 = .text:0x0000A008; // type:function size:0xE4 -fn_1_A0EC = .text:0x0000A0EC; // type:function size:0x38C -fn_1_A478 = .text:0x0000A478; // type:function size:0x8C -fn_1_A504 = .text:0x0000A504; // type:function size:0xF0 -fn_1_A5F4 = .text:0x0000A5F4; // type:function size:0x23C -fn_1_A830 = .text:0x0000A830; // type:function size:0xC8 -fn_1_A8F8 = .text:0x0000A8F8; // type:function size:0x2B4 -fn_1_ABAC = .text:0x0000ABAC; // type:function size:0x150 -fn_1_ACFC = .text:0x0000ACFC; // type:function size:0x134 -fn_1_AE30 = .text:0x0000AE30; // type:function size:0x8C -fn_1_AEBC = .text:0x0000AEBC; // type:function size:0x374 -fn_1_B230 = .text:0x0000B230; // type:function size:0x5C -fn_1_B28C = .text:0x0000B28C; // type:function size:0x214 -fn_1_B4A0 = .text:0x0000B4A0; // type:function size:0xE8 -fn_1_B588 = .text:0x0000B588; // type:function size:0xE8 -fn_1_B670 = .text:0x0000B670; // type:function size:0x11C -fn_1_B78C = .text:0x0000B78C; // type:function size:0x13C -fn_1_B8C8 = .text:0x0000B8C8; // type:function size:0x4 -fn_1_B8CC = .text:0x0000B8CC; // type:function size:0x104 -fn_1_B9D0 = .text:0x0000B9D0; // type:function size:0x208 -fn_1_BBD8 = .text:0x0000BBD8; // type:function size:0x788 -fn_1_C360 = .text:0x0000C360; // type:function size:0xB4 -fn_1_C414 = .text:0x0000C414; // type:function size:0x2F4 -fn_1_C708 = .text:0x0000C708; // type:function size:0xBC -fn_1_C7C4 = .text:0x0000C7C4; // type:function size:0x384 -fn_1_CB48 = .text:0x0000CB48; // type:function size:0x300 -fn_1_CE48 = .text:0x0000CE48; // type:function size:0xAC -fn_1_CEF4 = .text:0x0000CEF4; // type:function size:0xE4 -fn_1_CFD8 = .text:0x0000CFD8; // type:function size:0xC4 -fn_1_D09C = .text:0x0000D09C; // type:function size:0xE4 -fn_1_D180 = .text:0x0000D180; // type:function size:0x3FC -fn_1_D57C = .text:0x0000D57C; // type:function size:0x134 -fn_1_D6B0 = .text:0x0000D6B0; // type:function size:0x2F8 -fn_1_D9A8 = .text:0x0000D9A8; // type:function size:0xFC -fn_1_DAA4 = .text:0x0000DAA4; // type:function size:0x164 -fn_1_DC08 = .text:0x0000DC08; // type:function size:0x118 -fn_1_DD20 = .text:0x0000DD20; // type:function size:0xE4 -fn_1_DE04 = .text:0x0000DE04; // type:function size:0x424 -fn_1_E228 = .text:0x0000E228; // type:function size:0x8C -fn_1_E2B4 = .text:0x0000E2B4; // type:function size:0x130 -fn_1_E3E4 = .text:0x0000E3E4; // type:function size:0x23C -fn_1_E620 = .text:0x0000E620; // type:function size:0xF0 -fn_1_E710 = .text:0x0000E710; // type:function size:0x118 -fn_1_E828 = .text:0x0000E828; // type:function size:0x8C -fn_1_E8B4 = .text:0x0000E8B4; // type:function size:0x34C -fn_1_EC00 = .text:0x0000EC00; // type:function size:0x5C -fn_1_EC5C = .text:0x0000EC5C; // type:function size:0x384 -fn_1_EFE0 = .text:0x0000EFE0; // type:function size:0x70 -fn_1_F050 = .text:0x0000F050; // type:function size:0x14C -fn_1_F19C = .text:0x0000F19C; // type:function size:0x5E4 -fn_1_F780 = .text:0x0000F780; // type:function size:0xEC -fn_1_F86C = .text:0x0000F86C; // type:function size:0xA4 -fn_1_F910 = .text:0x0000F910; // type:function size:0x1D4 -fn_1_FAE4 = .text:0x0000FAE4; // type:function size:0x238 -fn_1_FD1C = .text:0x0000FD1C; // type:function size:0xB4 -fn_1_FDD0 = .text:0x0000FDD0; // type:function size:0x4C8 -fn_1_10298 = .text:0x00010298; // type:function size:0xEC -fn_1_10384 = .text:0x00010384; // type:function size:0xCC -fn_1_10450 = .text:0x00010450; // type:function size:0xFC -fn_1_1054C = .text:0x0001054C; // type:function size:0xAC -fn_1_105F8 = .text:0x000105F8; // type:function size:0x300 -fn_1_108F8 = .text:0x000108F8; // type:function size:0x374 -fn_1_10C6C = .text:0x00010C6C; // type:function size:0xE4 -fn_1_10D50 = .text:0x00010D50; // type:function size:0x1D4 -fn_1_10F24 = .text:0x00010F24; // type:function size:0xAC -fn_1_10FD0 = .text:0x00010FD0; // type:function size:0x2D0 -fn_1_112A0 = .text:0x000112A0; // type:function size:0x8C -fn_1_1132C = .text:0x0001132C; // type:function size:0xF0 -fn_1_1141C = .text:0x0001141C; // type:function size:0x118 -fn_1_11534 = .text:0x00011534; // type:function size:0xF0 -fn_1_11624 = .text:0x00011624; // type:function size:0x10C -fn_1_11730 = .text:0x00011730; // type:function size:0x35C -fn_1_11A8C = .text:0x00011A8C; // type:function size:0x5C -fn_1_11AE8 = .text:0x00011AE8; // type:function size:0x184 -fn_1_11C6C = .text:0x00011C6C; // type:function size:0x16C -fn_1_11DD8 = .text:0x00011DD8; // type:function size:0xEC -fn_1_11EC4 = .text:0x00011EC4; // type:function size:0x64 -fn_1_11F28 = .text:0x00011F28; // type:function size:0x4 -fn_1_11F2C = .text:0x00011F2C; // type:function size:0x144 -fn_1_12070 = .text:0x00012070; // type:function size:0x5C0 -fn_1_12630 = .text:0x00012630; // type:function size:0xB4 -fn_1_126E4 = .text:0x000126E4; // type:function size:0x234 -fn_1_12918 = .text:0x00012918; // type:function size:0xBC -fn_1_129D4 = .text:0x000129D4; // type:function size:0x2C0 -fn_1_12C94 = .text:0x00012C94; // type:function size:0xE4 -fn_1_12D78 = .text:0x00012D78; // type:function size:0x1A8 -fn_1_12F20 = .text:0x00012F20; // type:function size:0x88 -fn_1_12FA8 = .text:0x00012FA8; // type:function size:0x118 -fn_1_130C0 = .text:0x000130C0; // type:function size:0x22C -fn_1_132EC = .text:0x000132EC; // type:function size:0x284 -fn_1_13570 = .text:0x00013570; // type:function size:0x310 -fn_1_13880 = .text:0x00013880; // type:function size:0x8C -fn_1_1390C = .text:0x0001390C; // type:function size:0x23C -fn_1_13B48 = .text:0x00013B48; // type:function size:0xEC -fn_1_13C34 = .text:0x00013C34; // type:function size:0x1F8 -fn_1_13E2C = .text:0x00013E2C; // type:function size:0x324 -fn_1_14150 = .text:0x00014150; // type:function size:0x50 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0xC scope:local data:2byte -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x64 scope:local -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x64 scope:local -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x64 scope:local -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 scope:local data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x3C scope:local data:4byte -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 scope:local data:float -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 scope:local data:float -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 scope:local data:float -lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 scope:local data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 scope:local data:float -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 scope:local data:float -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x60 -lbl_1_data_60 = .data:0x00000060; // type:object size:0x27 scope:local data:string -lbl_1_data_87 = .data:0x00000087; // type:object size:0x26 scope:local data:string -lbl_1_data_AD = .data:0x000000AD; // type:object size:0x2A scope:local data:string -lbl_1_data_D7 = .data:0x000000D7; // type:object size:0x29 scope:local data:string -lbl_1_data_100 = .data:0x00000100; // type:object size:0x10 -lbl_1_data_110 = .data:0x00000110; // type:object size:0x28 scope:local data:string -lbl_1_data_138 = .data:0x00000138; // type:object size:0x10 scope:local data:string -lbl_1_data_148 = .data:0x00000148; // type:object size:0x3 scope:local data:string -lbl_1_data_14B = .data:0x0000014B; // type:object size:0x1A scope:local data:string -lbl_1_data_165 = .data:0x00000165; // type:object size:0x1A scope:local data:string -lbl_1_data_17F = .data:0x0000017F; // type:object size:0x11 scope:local -lbl_1_data_190 = .data:0x00000190; // type:object size:0x50 -lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0x3C -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x16 scope:local data:string -lbl_1_data_232 = .data:0x00000232; // type:object size:0x15 scope:local data:string -lbl_1_data_247 = .data:0x00000247; // type:object size:0x16 scope:local data:string -lbl_1_data_25D = .data:0x0000025D; // type:object size:0x15 scope:local data:string -lbl_1_data_272 = .data:0x00000272; // type:object size:0x17 scope:local data:string -lbl_1_data_289 = .data:0x00000289; // type:object size:0x16 scope:local data:string -lbl_1_data_29F = .data:0x0000029F; // type:object size:0x16 scope:local data:string -lbl_1_data_2B5 = .data:0x000002B5; // type:object size:0x15 scope:local data:string -lbl_1_data_2CA = .data:0x000002CA; // type:object size:0xF scope:local data:string -lbl_1_data_2D9 = .data:0x000002D9; // type:object size:0x1C scope:local data:string -lbl_1_data_2F5 = .data:0x000002F5; // type:object size:0x1D scope:local data:string -lbl_1_data_312 = .data:0x00000312; // type:object size:0x17 scope:local data:string -lbl_1_data_329 = .data:0x00000329; // type:object size:0xF scope:local data:string -lbl_1_data_338 = .data:0x00000338; // type:object size:0x1C scope:local -lbl_1_data_354 = .data:0x00000354; // type:object size:0x34 -lbl_1_data_388 = .data:0x00000388; // type:object size:0x50 -lbl_1_data_3D8 = .data:0x000003D8; // type:object size:0x3C -lbl_1_data_414 = .data:0x00000414; // type:object size:0x16 scope:local data:string -lbl_1_data_42A = .data:0x0000042A; // type:object size:0x15 scope:local data:string -lbl_1_data_43F = .data:0x0000043F; // type:object size:0x16 scope:local data:string -lbl_1_data_455 = .data:0x00000455; // type:object size:0x15 scope:local data:string -lbl_1_data_46A = .data:0x0000046A; // type:object size:0x16 scope:local data:string -lbl_1_data_480 = .data:0x00000480; // type:object size:0x15 scope:local data:string -lbl_1_data_495 = .data:0x00000495; // type:object size:0x17 scope:local data:string -lbl_1_data_4AC = .data:0x000004AC; // type:object size:0x16 scope:local data:string -lbl_1_data_4C2 = .data:0x000004C2; // type:object size:0xA scope:local data:string -lbl_1_data_4CC = .data:0x000004CC; // type:object size:0x1C scope:local data:string -lbl_1_data_4E8 = .data:0x000004E8; // type:object size:0x1D scope:local data:string -lbl_1_data_505 = .data:0x00000505; // type:object size:0xF scope:local data:string -lbl_1_data_514 = .data:0x00000514; // type:object size:0x1B scope:local data:string -lbl_1_data_52F = .data:0x0000052F; // type:object size:0x8 scope:local data:string -lbl_1_data_537 = .data:0x00000537; // type:object size:0x9 scope:local -lbl_1_data_540 = .data:0x00000540; // type:object size:0x30 -lbl_1_data_570 = .data:0x00000570; // type:object size:0x3C0 -lbl_1_data_930 = .data:0x00000930; // type:object size:0x50 -lbl_1_data_980 = .data:0x00000980; // type:object size:0x15 scope:local data:string -lbl_1_data_995 = .data:0x00000995; // type:object size:0x14 scope:local data:string -lbl_1_data_9A9 = .data:0x000009A9; // type:object size:0x15 scope:local data:string -lbl_1_data_9BE = .data:0x000009BE; // type:object size:0x14 scope:local data:string -lbl_1_data_9D2 = .data:0x000009D2; // type:object size:0x15 scope:local data:string -lbl_1_data_9E7 = .data:0x000009E7; // type:object size:0x14 scope:local data:string -lbl_1_data_9FB = .data:0x000009FB; // type:object size:0x15 scope:local data:string -lbl_1_data_A10 = .data:0x00000A10; // type:object size:0x14 scope:local data:string -lbl_1_data_A24 = .data:0x00000A24; // type:object size:0xF scope:local data:string -lbl_1_data_A33 = .data:0x00000A33; // type:object size:0x1C scope:local data:string -lbl_1_data_A4F = .data:0x00000A4F; // type:object size:0x1D scope:local data:string -lbl_1_data_A6C = .data:0x00000A6C; // type:object size:0x1C scope:local data:string -lbl_1_data_A88 = .data:0x00000A88; // type:object size:0x32 scope:local data:string -lbl_1_data_ABA = .data:0x00000ABA; // type:object size:0xF scope:local data:string -lbl_1_data_AC9 = .data:0x00000AC9; // type:object size:0x11 scope:local data:string -lbl_1_data_ADA = .data:0x00000ADA; // type:object size:0xA scope:local data:string -lbl_1_data_AE4 = .data:0x00000AE4; // type:object size:0x9 scope:local data:string -lbl_1_data_AED = .data:0x00000AED; // type:object size:0xB scope:local -lbl_1_data_AF8 = .data:0x00000AF8; // type:object size:0x3C -lbl_1_data_B34 = .data:0x00000B34; // type:object size:0x15 scope:local data:string -lbl_1_data_B49 = .data:0x00000B49; // type:object size:0x14 scope:local data:string -lbl_1_data_B5D = .data:0x00000B5D; // type:object size:0x15 scope:local data:string -lbl_1_data_B72 = .data:0x00000B72; // type:object size:0x14 scope:local data:string -lbl_1_data_B86 = .data:0x00000B86; // type:object size:0x15 scope:local data:string -lbl_1_data_B9B = .data:0x00000B9B; // type:object size:0x14 scope:local data:string -lbl_1_data_BAF = .data:0x00000BAF; // type:object size:0x15 scope:local data:string -lbl_1_data_BC4 = .data:0x00000BC4; // type:object size:0x14 scope:local data:string -lbl_1_data_BD8 = .data:0x00000BD8; // type:object size:0xF scope:local data:string -lbl_1_data_BE7 = .data:0x00000BE7; // type:object size:0x1C scope:local data:string -lbl_1_data_C03 = .data:0x00000C03; // type:object size:0x1D scope:local data:string -lbl_1_data_C20 = .data:0x00000C20; // type:object size:0xF scope:local data:string -lbl_1_data_C2F = .data:0x00000C2F; // type:object size:0x21 scope:local -lbl_1_data_C50 = .data:0x00000C50; // type:object size:0x48 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x44 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x10 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x10 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x3C -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x28 data:4byte -lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0xA0 -lbl_1_bss_174 = .bss:0x00000174; // type:object size:0x28 data:4byte -lbl_1_bss_19C = .bss:0x0000019C; // type:object size:0x28 data:4byte -lbl_1_bss_1C4 = .bss:0x000001C4; // type:object size:0x104 data:4byte -lbl_1_bss_2C8 = .bss:0x000002C8; // type:object size:0x4 data:4byte -lbl_1_bss_2CC = .bss:0x000002CC; // type:object size:0x4 data:4byte -lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x60 data:4byte -lbl_1_bss_330 = .bss:0x00000330; // type:object size:0x8 data:4byte -lbl_1_bss_338 = .bss:0x00000338; // type:object size:0xA0 -lbl_1_bss_3D8 = .bss:0x000003D8; // type:object size:0x28 data:4byte -lbl_1_bss_400 = .bss:0x00000400; // type:object size:0x28 data:4byte -lbl_1_bss_428 = .bss:0x00000428; // type:object size:0x28 data:4byte -lbl_1_bss_450 = .bss:0x00000450; // type:object size:0x108 data:float -lbl_1_bss_558 = .bss:0x00000558; // type:object size:0x4 data:4byte -lbl_1_bss_55C = .bss:0x0000055C; // type:object size:0x4 data:4byte -lbl_1_bss_560 = .bss:0x00000560; // type:object size:0x8 data:4byte -lbl_1_bss_568 = .bss:0x00000568; // type:object size:0x28 data:4byte -lbl_1_bss_590 = .bss:0x00000590; // type:object size:0x28 data:4byte -lbl_1_bss_5B8 = .bss:0x000005B8; // type:object size:0x28 data:4byte -lbl_1_bss_5E0 = .bss:0x000005E0; // type:object size:0x28 data:4byte -lbl_1_bss_608 = .bss:0x00000608; // type:object size:0x108 data:4byte -lbl_1_bss_710 = .bss:0x00000710; // type:object size:0x4 data:4byte -lbl_1_bss_714 = .bss:0x00000714; // type:object size:0x28 data:4byte -lbl_1_bss_73C = .bss:0x0000073C; // type:object size:0x28 data:4byte -lbl_1_bss_764 = .bss:0x00000764; // type:object size:0x28 data:4byte -lbl_1_bss_78C = .bss:0x0000078C; // type:object size:0x28 data:4byte -lbl_1_bss_7B4 = .bss:0x000007B4; // type:object size:0x104 data:4byte -lbl_1_bss_8B8 = .bss:0x000008B8; // type:object size:0x4 data:4byte -lbl_1_bss_8BC = .bss:0x000008BC; // type:object size:0x4 data:4byte diff --git a/config/GMPJ01_00/rels/nisDll/splits.txt b/config/GMPJ01_00/rels/nisDll/splits.txt deleted file mode 100644 index 2e500fe0..00000000 --- a/config/GMPJ01_00/rels/nisDll/splits.txt +++ /dev/null @@ -1,5 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 diff --git a/config/GMPJ01_00/rels/nisDll/symbols.txt b/config/GMPJ01_00/rels/nisDll/symbols.txt deleted file mode 100644 index 1143328c..00000000 --- a/config/GMPJ01_00/rels/nisDll/symbols.txt +++ /dev/null @@ -1,6 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x68 -fn_1_68 = .text:0x00000068; // type:function size:0x2C -_prolog = .text:0x00000094; // type:function size:0x9C scope:global -_epilog = .text:0x00000130; // type:function size:0x4C scope:global -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte diff --git a/config/GMPJ01_00/rels/option/splits.txt b/config/GMPJ01_00/rels/option/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/option/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/option/symbols.txt b/config/GMPJ01_00/rels/option/symbols.txt deleted file mode 100644 index 99c6ef45..00000000 --- a/config/GMPJ01_00/rels/option/symbols.txt +++ /dev/null @@ -1,380 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0xC0 -fn_1_160 = .text:0x00000160; // type:function size:0x110 -fn_1_270 = .text:0x00000270; // type:function size:0xE4 -fn_1_354 = .text:0x00000354; // type:function size:0x114 -fn_1_468 = .text:0x00000468; // type:function size:0xE8 -fn_1_550 = .text:0x00000550; // type:function size:0x34 -fn_1_584 = .text:0x00000584; // type:function size:0x34 -fn_1_5B8 = .text:0x000005B8; // type:function size:0x34 -fn_1_5EC = .text:0x000005EC; // type:function size:0xFC -fn_1_6E8 = .text:0x000006E8; // type:function size:0x110 -fn_1_7F8 = .text:0x000007F8; // type:function size:0x244 -fn_1_A3C = .text:0x00000A3C; // type:function size:0x30 -fn_1_A6C = .text:0x00000A6C; // type:function size:0x84 -fn_1_AF0 = .text:0x00000AF0; // type:function size:0x84 -fn_1_B74 = .text:0x00000B74; // type:function size:0x84 -fn_1_BF8 = .text:0x00000BF8; // type:function size:0x30 -fn_1_C28 = .text:0x00000C28; // type:function size:0x30 -fn_1_C58 = .text:0x00000C58; // type:function size:0x30 -fn_1_C88 = .text:0x00000C88; // type:function size:0x30 -fn_1_CB8 = .text:0x00000CB8; // type:function size:0x8C -fn_1_D44 = .text:0x00000D44; // type:function size:0x28 -fn_1_D6C = .text:0x00000D6C; // type:function size:0x578 -fn_1_12E4 = .text:0x000012E4; // type:function size:0x200 -fn_1_14E4 = .text:0x000014E4; // type:function size:0xC0 -fn_1_15A4 = .text:0x000015A4; // type:function size:0x1F4 -fn_1_1798 = .text:0x00001798; // type:function size:0xAC -fn_1_1844 = .text:0x00001844; // type:function size:0x1E8 -fn_1_1A2C = .text:0x00001A2C; // type:function size:0x44 -fn_1_1A70 = .text:0x00001A70; // type:function size:0x1C -fn_1_1A8C = .text:0x00001A8C; // type:function size:0x5FC -fn_1_2088 = .text:0x00002088; // type:function size:0x88 -fn_1_2110 = .text:0x00002110; // type:function size:0x34 -fn_1_2144 = .text:0x00002144; // type:function size:0x80 -fn_1_21C4 = .text:0x000021C4; // type:function size:0x34 -fn_1_21F8 = .text:0x000021F8; // type:function size:0x224 -fn_1_241C = .text:0x0000241C; // type:function size:0x8C -fn_1_24A8 = .text:0x000024A8; // type:function size:0x44 -fn_1_24EC = .text:0x000024EC; // type:function size:0x1C -fn_1_2508 = .text:0x00002508; // type:function size:0xA4 -fn_1_25AC = .text:0x000025AC; // type:function size:0x46C -fn_1_2A18 = .text:0x00002A18; // type:function size:0x2E8 -fn_1_2D00 = .text:0x00002D00; // type:function size:0x104 -fn_1_2E04 = .text:0x00002E04; // type:function size:0x148 -fn_1_2F4C = .text:0x00002F4C; // type:function size:0x64 -fn_1_2FB0 = .text:0x00002FB0; // type:function size:0x1A8 -fn_1_3158 = .text:0x00003158; // type:function size:0xD4 -fn_1_322C = .text:0x0000322C; // type:function size:0x64 -fn_1_3290 = .text:0x00003290; // type:function size:0x44 -fn_1_32D4 = .text:0x000032D4; // type:function size:0x1C -fn_1_32F0 = .text:0x000032F0; // type:function size:0x4BC -fn_1_37AC = .text:0x000037AC; // type:function size:0xBC -fn_1_3868 = .text:0x00003868; // type:function size:0x54 -fn_1_38BC = .text:0x000038BC; // type:function size:0xD0 -fn_1_398C = .text:0x0000398C; // type:function size:0x54 -fn_1_39E0 = .text:0x000039E0; // type:function size:0x128 -fn_1_3B08 = .text:0x00003B08; // type:function size:0x84 -fn_1_3B8C = .text:0x00003B8C; // type:function size:0x54 -fn_1_3BE0 = .text:0x00003BE0; // type:function size:0x8C -fn_1_3C6C = .text:0x00003C6C; // type:function size:0x94 -fn_1_3D00 = .text:0x00003D00; // type:function size:0x54 -fn_1_3D54 = .text:0x00003D54; // type:function size:0xC8 -fn_1_3E1C = .text:0x00003E1C; // type:function size:0xB4 -fn_1_3ED0 = .text:0x00003ED0; // type:function size:0x58 -fn_1_3F28 = .text:0x00003F28; // type:function size:0xAC -fn_1_3FD4 = .text:0x00003FD4; // type:function size:0x54 -fn_1_4028 = .text:0x00004028; // type:function size:0x2B4 -fn_1_42DC = .text:0x000042DC; // type:function size:0xAC -fn_1_4388 = .text:0x00004388; // type:function size:0x44 -fn_1_43CC = .text:0x000043CC; // type:function size:0x1C -fn_1_43E8 = .text:0x000043E8; // type:function size:0x270 -fn_1_4658 = .text:0x00004658; // type:function size:0x424 -fn_1_4A7C = .text:0x00004A7C; // type:function size:0x3D4 -fn_1_4E50 = .text:0x00004E50; // type:function size:0x93C -fn_1_578C = .text:0x0000578C; // type:function size:0x8B8 -fn_1_6044 = .text:0x00006044; // type:function size:0xF8 -fn_1_613C = .text:0x0000613C; // type:function size:0x64 -fn_1_61A0 = .text:0x000061A0; // type:function size:0xFC -fn_1_629C = .text:0x0000629C; // type:function size:0x54 -fn_1_62F0 = .text:0x000062F0; // type:function size:0xFC -fn_1_63EC = .text:0x000063EC; // type:function size:0x54 -fn_1_6440 = .text:0x00006440; // type:function size:0x94 -fn_1_64D4 = .text:0x000064D4; // type:function size:0x54 -fn_1_6528 = .text:0x00006528; // type:function size:0x118 -fn_1_6640 = .text:0x00006640; // type:function size:0x54 -fn_1_6694 = .text:0x00006694; // type:function size:0x38 -fn_1_66CC = .text:0x000066CC; // type:function size:0x38 -fn_1_6704 = .text:0x00006704; // type:function size:0xC4 -fn_1_67C8 = .text:0x000067C8; // type:function size:0x60 -fn_1_6828 = .text:0x00006828; // type:function size:0x1E4 -fn_1_6A0C = .text:0x00006A0C; // type:function size:0x74 -fn_1_6A80 = .text:0x00006A80; // type:function size:0x1DC -fn_1_6C5C = .text:0x00006C5C; // type:function size:0x74 -fn_1_6CD0 = .text:0x00006CD0; // type:function size:0x1D4 -fn_1_6EA4 = .text:0x00006EA4; // type:function size:0xA4 -fn_1_6F48 = .text:0x00006F48; // type:function size:0x1D4 -fn_1_711C = .text:0x0000711C; // type:function size:0xA4 -fn_1_71C0 = .text:0x000071C0; // type:function size:0xE8 -fn_1_72A8 = .text:0x000072A8; // type:function size:0x68 -fn_1_7310 = .text:0x00007310; // type:function size:0x400 -fn_1_7710 = .text:0x00007710; // type:function size:0x190 -fn_1_78A0 = .text:0x000078A0; // type:function size:0x60 -fn_1_7900 = .text:0x00007900; // type:function size:0x3C -fn_1_793C = .text:0x0000793C; // type:function size:0x5C4 -fn_1_7F00 = .text:0x00007F00; // type:function size:0x148 -fn_1_8048 = .text:0x00008048; // type:function size:0x9C -fn_1_80E4 = .text:0x000080E4; // type:function size:0x178 -fn_1_825C = .text:0x0000825C; // type:function size:0x54 -fn_1_82B0 = .text:0x000082B0; // type:function size:0x44 -fn_1_82F4 = .text:0x000082F4; // type:function size:0x1C -fn_1_8310 = .text:0x00008310; // type:function size:0x778 -fn_1_8A88 = .text:0x00008A88; // type:function size:0xD0 -fn_1_8B58 = .text:0x00008B58; // type:function size:0x54 -fn_1_8BAC = .text:0x00008BAC; // type:function size:0xD8 -fn_1_8C84 = .text:0x00008C84; // type:function size:0xFC -fn_1_8D80 = .text:0x00008D80; // type:function size:0x54 -fn_1_8DD4 = .text:0x00008DD4; // type:function size:0xC4 -fn_1_8E98 = .text:0x00008E98; // type:function size:0x60 -fn_1_8EF8 = .text:0x00008EF8; // type:function size:0x40 -fn_1_8F38 = .text:0x00008F38; // type:function size:0x77C -fn_1_96B4 = .text:0x000096B4; // type:function size:0x9C -fn_1_9750 = .text:0x00009750; // type:function size:0x344 -fn_1_9A94 = .text:0x00009A94; // type:function size:0x7C -fn_1_9B10 = .text:0x00009B10; // type:function size:0x8A0 -fn_1_A3B0 = .text:0x0000A3B0; // type:function size:0x9C -fn_1_A44C = .text:0x0000A44C; // type:function size:0x260 -fn_1_A6AC = .text:0x0000A6AC; // type:function size:0x40 -fn_1_A6EC = .text:0x0000A6EC; // type:function size:0x18 -fn_1_A704 = .text:0x0000A704; // type:function size:0x18 -fn_1_A71C = .text:0x0000A71C; // type:function size:0x54 -fn_1_A770 = .text:0x0000A770; // type:function size:0x40 -fn_1_A7B0 = .text:0x0000A7B0; // type:function size:0x40 -fn_1_A7F0 = .text:0x0000A7F0; // type:function size:0x38 -fn_1_A828 = .text:0x0000A828; // type:function size:0x38 -fn_1_A860 = .text:0x0000A860; // type:function size:0x20 -fn_1_A880 = .text:0x0000A880; // type:function size:0x24 -fn_1_A8A4 = .text:0x0000A8A4; // type:function size:0x108 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0xC data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0xC -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0xC -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x38 -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8C0 -lbl_1_rodata_AA0 = .rodata:0x00000AA0; // type:object size:0x30 -lbl_1_rodata_AD0 = .rodata:0x00000AD0; // type:object size:0x780 -lbl_1_rodata_1250 = .rodata:0x00001250; // type:object size:0x4 data:float -lbl_1_rodata_1254 = .rodata:0x00001254; // type:object size:0x4 data:float -lbl_1_rodata_1258 = .rodata:0x00001258; // type:object size:0x4 data:float -lbl_1_rodata_125C = .rodata:0x0000125C; // type:object size:0x4 data:float -lbl_1_rodata_1260 = .rodata:0x00001260; // type:object size:0x4 data:float -lbl_1_rodata_1264 = .rodata:0x00001264; // type:object size:0x4 data:float -lbl_1_rodata_1268 = .rodata:0x00001268; // type:object size:0x4 data:float -lbl_1_rodata_1270 = .rodata:0x00001270; // type:object size:0x8 data:double -lbl_1_rodata_1278 = .rodata:0x00001278; // type:object size:0x8 -lbl_1_rodata_1280 = .rodata:0x00001280; // type:object size:0x8 -lbl_1_rodata_1288 = .rodata:0x00001288; // type:object size:0x8 -lbl_1_rodata_1290 = .rodata:0x00001290; // type:object size:0x4 data:float -lbl_1_rodata_1294 = .rodata:0x00001294; // type:object size:0x4 data:float -lbl_1_rodata_1298 = .rodata:0x00001298; // type:object size:0x4 data:float -lbl_1_rodata_129C = .rodata:0x0000129C; // type:object size:0x4 data:float -lbl_1_rodata_12A0 = .rodata:0x000012A0; // type:object size:0x4 data:float -lbl_1_rodata_12A4 = .rodata:0x000012A4; // type:object size:0x4 data:float -lbl_1_rodata_12A8 = .rodata:0x000012A8; // type:object size:0x4 data:float -lbl_1_rodata_12AC = .rodata:0x000012AC; // type:object size:0x4 data:float -lbl_1_rodata_12B0 = .rodata:0x000012B0; // type:object size:0x4 data:float -lbl_1_rodata_12B4 = .rodata:0x000012B4; // type:object size:0x4 data:float -lbl_1_rodata_12B8 = .rodata:0x000012B8; // type:object size:0x4 data:float -lbl_1_rodata_12BC = .rodata:0x000012BC; // type:object size:0x4 data:float -lbl_1_rodata_12C0 = .rodata:0x000012C0; // type:object size:0x4 data:float -lbl_1_rodata_12C4 = .rodata:0x000012C4; // type:object size:0x4 data:float -lbl_1_rodata_12C8 = .rodata:0x000012C8; // type:object size:0x4 data:float -lbl_1_rodata_12CC = .rodata:0x000012CC; // type:object size:0x4 data:float -lbl_1_rodata_12D0 = .rodata:0x000012D0; // type:object size:0x24 -lbl_1_rodata_12F4 = .rodata:0x000012F4; // type:object size:0x4 data:float -lbl_1_rodata_12F8 = .rodata:0x000012F8; // type:object size:0x4 data:float -lbl_1_rodata_12FC = .rodata:0x000012FC; // type:object size:0x4 data:float -lbl_1_rodata_1300 = .rodata:0x00001300; // type:object size:0x4 data:float -lbl_1_rodata_1304 = .rodata:0x00001304; // type:object size:0x4 data:float -lbl_1_rodata_1308 = .rodata:0x00001308; // type:object size:0x1C -lbl_1_rodata_1324 = .rodata:0x00001324; // type:object size:0x4 data:float -lbl_1_rodata_1328 = .rodata:0x00001328; // type:object size:0x4 data:float -lbl_1_rodata_132C = .rodata:0x0000132C; // type:object size:0x4 data:float -lbl_1_rodata_1330 = .rodata:0x00001330; // type:object size:0x14 -lbl_1_rodata_1344 = .rodata:0x00001344; // type:object size:0x4 data:float -lbl_1_rodata_1348 = .rodata:0x00001348; // type:object size:0x4 data:float -lbl_1_rodata_134C = .rodata:0x0000134C; // type:object size:0x4 -lbl_1_rodata_1350 = .rodata:0x00001350; // type:object size:0x8 -lbl_1_rodata_1358 = .rodata:0x00001358; // type:object size:0x8 data:double -lbl_1_rodata_1360 = .rodata:0x00001360; // type:object size:0x8 data:double -lbl_1_rodata_1368 = .rodata:0x00001368; // type:object size:0x4 data:float -lbl_1_rodata_136C = .rodata:0x0000136C; // type:object size:0x4 data:float -lbl_1_rodata_1370 = .rodata:0x00001370; // type:object size:0x8 data:double -lbl_1_rodata_1378 = .rodata:0x00001378; // type:object size:0x8 data:double -lbl_1_rodata_1380 = .rodata:0x00001380; // type:object size:0x4 data:float -lbl_1_rodata_1384 = .rodata:0x00001384; // type:object size:0x4 data:float -lbl_1_rodata_1388 = .rodata:0x00001388; // type:object size:0x8 data:double -lbl_1_rodata_1390 = .rodata:0x00001390; // type:object size:0x4 data:float -lbl_1_rodata_1394 = .rodata:0x00001394; // type:object size:0x4 data:float -lbl_1_rodata_1398 = .rodata:0x00001398; // type:object size:0x4 data:float -lbl_1_rodata_139C = .rodata:0x0000139C; // type:object size:0x4 data:float -lbl_1_rodata_13A0 = .rodata:0x000013A0; // type:object size:0x8 data:double -lbl_1_rodata_13A8 = .rodata:0x000013A8; // type:object size:0x8 data:double -lbl_1_rodata_13B0 = .rodata:0x000013B0; // type:object size:0x4 data:float -lbl_1_rodata_13B4 = .rodata:0x000013B4; // type:object size:0x4 data:float -lbl_1_rodata_13B8 = .rodata:0x000013B8; // type:object size:0x8 data:float -lbl_1_rodata_13C0 = .rodata:0x000013C0; // type:object size:0x18 -lbl_1_rodata_13D8 = .rodata:0x000013D8; // type:object size:0x4 data:float -lbl_1_rodata_13DC = .rodata:0x000013DC; // type:object size:0x4 data:float -lbl_1_rodata_13E0 = .rodata:0x000013E0; // type:object size:0x4 data:float -lbl_1_rodata_13E4 = .rodata:0x000013E4; // type:object size:0x4 data:float -lbl_1_rodata_13E8 = .rodata:0x000013E8; // type:object size:0x4 data:float -lbl_1_rodata_13EC = .rodata:0x000013EC; // type:object size:0x4 data:float -lbl_1_rodata_13F0 = .rodata:0x000013F0; // type:object size:0x4 data:float -lbl_1_rodata_13F4 = .rodata:0x000013F4; // type:object size:0x4 data:float -lbl_1_rodata_13F8 = .rodata:0x000013F8; // type:object size:0x8 data:double -lbl_1_rodata_1400 = .rodata:0x00001400; // type:object size:0x8 data:double -lbl_1_rodata_1408 = .rodata:0x00001408; // type:object size:0x4 data:float -lbl_1_rodata_140C = .rodata:0x0000140C; // type:object size:0x4 data:float -lbl_1_rodata_1410 = .rodata:0x00001410; // type:object size:0x4 data:float -lbl_1_rodata_1414 = .rodata:0x00001414; // type:object size:0x4 data:float -lbl_1_rodata_1418 = .rodata:0x00001418; // type:object size:0x4 data:float -lbl_1_rodata_1420 = .rodata:0x00001420; // type:object size:0x8 data:double -lbl_1_rodata_1428 = .rodata:0x00001428; // type:object size:0x4 data:float -lbl_1_rodata_142C = .rodata:0x0000142C; // type:object size:0x4 data:float -lbl_1_rodata_1430 = .rodata:0x00001430; // type:object size:0x4 data:float -lbl_1_rodata_1434 = .rodata:0x00001434; // type:object size:0x4 data:float -lbl_1_rodata_1438 = .rodata:0x00001438; // type:object size:0x4 data:float -lbl_1_rodata_143C = .rodata:0x0000143C; // type:object size:0x264 -lbl_1_rodata_16A0 = .rodata:0x000016A0; // type:object size:0x4 data:float -lbl_1_rodata_16A4 = .rodata:0x000016A4; // type:object size:0x4 data:float -lbl_1_rodata_16A8 = .rodata:0x000016A8; // type:object size:0x4 data:float -lbl_1_rodata_16AC = .rodata:0x000016AC; // type:object size:0x4 data:float -lbl_1_rodata_16B0 = .rodata:0x000016B0; // type:object size:0x4 data:float -lbl_1_rodata_16B4 = .rodata:0x000016B4; // type:object size:0x4 data:float -lbl_1_rodata_16B8 = .rodata:0x000016B8; // type:object size:0x4 data:float -lbl_1_rodata_16BC = .rodata:0x000016BC; // type:object size:0x4 data:float -lbl_1_rodata_16C0 = .rodata:0x000016C0; // type:object size:0x4 data:float -lbl_1_rodata_16C4 = .rodata:0x000016C4; // type:object size:0x4 data:float -lbl_1_rodata_16C8 = .rodata:0x000016C8; // type:object size:0x4 data:float -lbl_1_rodata_16CC = .rodata:0x000016CC; // type:object size:0x4 data:float -lbl_1_rodata_16D0 = .rodata:0x000016D0; // type:object size:0x4 data:float -lbl_1_rodata_16D4 = .rodata:0x000016D4; // type:object size:0x4 data:float -lbl_1_rodata_16D8 = .rodata:0x000016D8; // type:object size:0x4 data:float -lbl_1_rodata_16DC = .rodata:0x000016DC; // type:object size:0x4 data:float -lbl_1_rodata_16E0 = .rodata:0x000016E0; // type:object size:0x4 data:float -lbl_1_rodata_16E4 = .rodata:0x000016E4; // type:object size:0x4 data:float -lbl_1_rodata_16E8 = .rodata:0x000016E8; // type:object size:0x4 data:float -lbl_1_rodata_16EC = .rodata:0x000016EC; // type:object size:0x4 data:float -lbl_1_rodata_16F0 = .rodata:0x000016F0; // type:object size:0x4 data:float -lbl_1_rodata_16F4 = .rodata:0x000016F4; // type:object size:0xD4 -lbl_1_rodata_17C8 = .rodata:0x000017C8; // type:object size:0x4 data:float -lbl_1_rodata_17CC = .rodata:0x000017CC; // type:object size:0x4 data:float -lbl_1_rodata_17D0 = .rodata:0x000017D0; // type:object size:0x4 data:float -lbl_1_rodata_17D4 = .rodata:0x000017D4; // type:object size:0x4 data:float -lbl_1_rodata_17D8 = .rodata:0x000017D8; // type:object size:0x4 data:float -lbl_1_rodata_17DC = .rodata:0x000017DC; // type:object size:0x4 data:float -lbl_1_rodata_17E0 = .rodata:0x000017E0; // type:object size:0x4 data:float -lbl_1_rodata_17E4 = .rodata:0x000017E4; // type:object size:0x84 -lbl_1_rodata_1868 = .rodata:0x00001868; // type:object size:0x48 -lbl_1_rodata_18B0 = .rodata:0x000018B0; // type:object size:0x4 data:float -lbl_1_rodata_18B4 = .rodata:0x000018B4; // type:object size:0x4 data:float -lbl_1_rodata_18B8 = .rodata:0x000018B8; // type:object size:0x4 data:float -lbl_1_rodata_18BC = .rodata:0x000018BC; // type:object size:0x4 data:float -lbl_1_rodata_18C0 = .rodata:0x000018C0; // type:object size:0x4 data:float -lbl_1_rodata_18C4 = .rodata:0x000018C4; // type:object size:0x104 -lbl_1_rodata_19C8 = .rodata:0x000019C8; // type:object size:0x4 data:float -lbl_1_rodata_19CC = .rodata:0x000019CC; // type:object size:0x4 data:float -lbl_1_rodata_19D0 = .rodata:0x000019D0; // type:object size:0x4 data:float -lbl_1_rodata_19D4 = .rodata:0x000019D4; // type:object size:0x4 data:float -lbl_1_rodata_19D8 = .rodata:0x000019D8; // type:object size:0x4 data:float -lbl_1_rodata_19DC = .rodata:0x000019DC; // type:object size:0x4 data:float -lbl_1_rodata_19E0 = .rodata:0x000019E0; // type:object size:0x4 data:float -lbl_1_rodata_19E4 = .rodata:0x000019E4; // type:object size:0x4 data:float -lbl_1_data_1C = .data:0x0000001C; // type:object size:0x1B data:string -lbl_1_data_37 = .data:0x00000037; // type:object size:0x1B data:string -lbl_1_data_52 = .data:0x00000052; // type:object size:0x16 data:string -lbl_1_data_68 = .data:0x00000068; // type:object size:0x8 data:4byte -jumptable_1_data_70 = .data:0x00000070; // type:object size:0x24 scope:local -lbl_1_data_98 = .data:0x00000098; // type:object size:0x8 data:4byte -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x1C -lbl_1_data_BC = .data:0x000000BC; // type:object size:0x24 -jumptable_1_data_E0 = .data:0x000000E0; // type:object size:0x24 scope:local -lbl_1_data_108 = .data:0x00000108; // type:object size:0x8 data:4byte -lbl_1_data_110 = .data:0x00000110; // type:object size:0x8 -lbl_1_data_118 = .data:0x00000118; // type:object size:0x38 data:4byte -lbl_1_data_150 = .data:0x00000150; // type:object size:0x18 data:4byte -lbl_1_data_168 = .data:0x00000168; // type:object size:0xC -jumptable_1_data_174 = .data:0x00000174; // type:object size:0x24 scope:local -jumptable_1_data_198 = .data:0x00000198; // type:object size:0x24 scope:local -lbl_1_data_1BC = .data:0x000001BC; // type:object size:0x4C -lbl_1_data_208 = .data:0x00000208; // type:object size:0x8 -lbl_1_data_210 = .data:0x00000210; // type:object size:0x8 data:4byte -jumptable_1_data_218 = .data:0x00000218; // type:object size:0x1C scope:local -jumptable_1_data_234 = .data:0x00000234; // type:object size:0x20 scope:local -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x8 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x8 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x8 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x8 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x8 data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x8 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x8 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte diff --git a/config/GMPJ01_00/rels/safDll/splits.txt b/config/GMPJ01_00/rels/safDll/splits.txt deleted file mode 100644 index e4b1b5df..00000000 --- a/config/GMPJ01_00/rels/safDll/splits.txt +++ /dev/null @@ -1,13 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/safDll/main.c: - .text start:0x00000000 end:0x0000052C - .rodata start:0x00000000 end:0x00000024 - .data start:0x00000000 end:0x00000070 - .bss start:0x00000000 end:0x0000030C diff --git a/config/GMPJ01_00/rels/safDll/symbols.txt b/config/GMPJ01_00/rels/safDll/symbols.txt deleted file mode 100644 index 0639762d..00000000 --- a/config/GMPJ01_00/rels/safDll/symbols.txt +++ /dev/null @@ -1,131 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x25C -fn_1_2FC = .text:0x000002FC; // type:function size:0x90 -fn_1_38C = .text:0x0000038C; // type:function size:0x1A0 -fn_1_52C = .text:0x0000052C; // type:function size:0xB8C -fn_1_10B8 = .text:0x000010B8; // type:function size:0xC4 -fn_1_117C = .text:0x0000117C; // type:function size:0x10D4 -fn_1_2250 = .text:0x00002250; // type:function size:0x104 -fn_1_2354 = .text:0x00002354; // type:function size:0x184 -fn_1_24D8 = .text:0x000024D8; // type:function size:0xB8 -fn_1_2590 = .text:0x00002590; // type:function size:0x148 -fn_1_26D8 = .text:0x000026D8; // type:function size:0x57C -fn_1_2C54 = .text:0x00002C54; // type:function size:0x4F0 -fn_1_3144 = .text:0x00003144; // type:function size:0x5A0 -fn_1_36E4 = .text:0x000036E4; // type:function size:0x498 -fn_1_3B7C = .text:0x00003B7C; // type:function size:0x284 -fn_1_3E00 = .text:0x00003E00; // type:function size:0x124 -fn_1_3F24 = .text:0x00003F24; // type:function size:0x21C -fn_1_4140 = .text:0x00004140; // type:function size:0x14 -fn_1_4154 = .text:0x00004154; // type:function size:0x10 -fn_1_4164 = .text:0x00004164; // type:function size:0x14 -fn_1_4178 = .text:0x00004178; // type:function size:0x10 -fn_1_4188 = .text:0x00004188; // type:function size:0x41C -fn_1_45A4 = .text:0x000045A4; // type:function size:0x2C8 -fn_1_486C = .text:0x0000486C; // type:function size:0x8E0 -fn_1_514C = .text:0x0000514C; // type:function size:0x404 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0xC data:4byte -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x1 data:byte -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x4 data:4byte -lbl_1_data_4 = .data:0x00000004; // type:object size:0x24 -lbl_1_data_28 = .data:0x00000028; // type:object size:0x48 -lbl_1_data_70 = .data:0x00000070; // type:object size:0x11 data:string -lbl_1_data_81 = .data:0x00000081; // type:object size:0x4 data:string -lbl_1_data_85 = .data:0x00000085; // type:object size:0x4 data:string -lbl_1_data_89 = .data:0x00000089; // type:object size:0xE data:string -lbl_1_data_97 = .data:0x00000097; // type:object size:0xB data:string -lbl_1_data_A2 = .data:0x000000A2; // type:object size:0xE data:string -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x10 -lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x13 data:string -lbl_1_data_D3 = .data:0x000000D3; // type:object size:0xD -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x38 data:2byte -lbl_1_data_118 = .data:0x00000118; // type:object size:0x22 data:string -lbl_1_data_13A = .data:0x0000013A; // type:object size:0x17 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x2 data:2byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x8 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0xA -lbl_1_bss_1A = .bss:0x0000001A; // type:object size:0x8 data:2byte -lbl_1_bss_22 = .bss:0x00000022; // type:object size:0x2C2 data:2byte -lbl_1_bss_2E4 = .bss:0x000002E4; // type:object size:0x4 data:4byte -lbl_1_bss_2E8 = .bss:0x000002E8; // type:object size:0x4 data:4byte -lbl_1_bss_2EC = .bss:0x000002EC; // type:object size:0x20 data:4byte -lbl_1_bss_30C = .bss:0x0000030C; // type:object size:0x4 data:4byte -lbl_1_bss_310 = .bss:0x00000310; // type:object size:0x8 data:4byte -lbl_1_bss_318 = .bss:0x00000318; // type:object size:0x2 data:2byte -lbl_1_bss_31C = .bss:0x0000031C; // type:object size:0x4 data:4byte -lbl_1_bss_320 = .bss:0x00000320; // type:object size:0x4 data:4byte -lbl_1_bss_324 = .bss:0x00000324; // type:object size:0x4 data:4byte -lbl_1_bss_328 = .bss:0x00000328; // type:object size:0x58 data:2byte -lbl_1_bss_380 = .bss:0x00000380; // type:object size:0x4 data:4byte diff --git a/config/GMPJ01_00/rels/selmenuDll/splits.txt b/config/GMPJ01_00/rels/selmenuDll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/selmenuDll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/selmenuDll/symbols.txt b/config/GMPJ01_00/rels/selmenuDll/symbols.txt deleted file mode 100644 index b5746a65..00000000 --- a/config/GMPJ01_00/rels/selmenuDll/symbols.txt +++ /dev/null @@ -1,201 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x4B8 -fn_1_558 = .text:0x00000558; // type:function size:0x60 -fn_1_5B8 = .text:0x000005B8; // type:function size:0x324 -fn_1_8DC = .text:0x000008DC; // type:function size:0x170 -fn_1_A4C = .text:0x00000A4C; // type:function size:0x180 -fn_1_BCC = .text:0x00000BCC; // type:function size:0x88 -fn_1_C54 = .text:0x00000C54; // type:function size:0x474 -fn_1_10C8 = .text:0x000010C8; // type:function size:0xA78 -fn_1_1B40 = .text:0x00001B40; // type:function size:0x334 -fn_1_1E74 = .text:0x00001E74; // type:function size:0x110 -fn_1_1F84 = .text:0x00001F84; // type:function size:0x50 -fn_1_1FD4 = .text:0x00001FD4; // type:function size:0x10C -fn_1_20E0 = .text:0x000020E0; // type:function size:0x1F8 -fn_1_22D8 = .text:0x000022D8; // type:function size:0xD6C -fn_1_3044 = .text:0x00003044; // type:function size:0x2FC -fn_1_3340 = .text:0x00003340; // type:function size:0x804 -fn_1_3B44 = .text:0x00003B44; // type:function size:0x40 -fn_1_3B84 = .text:0x00003B84; // type:function size:0x968 -fn_1_44EC = .text:0x000044EC; // type:function size:0x20 -fn_1_450C = .text:0x0000450C; // type:function size:0x4 -fn_1_4510 = .text:0x00004510; // type:function size:0x64 -fn_1_4574 = .text:0x00004574; // type:function size:0x854 -fn_1_4DC8 = .text:0x00004DC8; // type:function size:0x3D0 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x8 data:4byte -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x10 data:4byte -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x8 data:4byte -lbl_1_data_0 = .data:0x00000000; // type:object size:0x6 data:string -lbl_1_data_6 = .data:0x00000006; // type:object size:0x6 data:string -lbl_1_data_C = .data:0x0000000C; // type:object size:0x6 data:string -lbl_1_data_12 = .data:0x00000012; // type:object size:0x6 data:string -lbl_1_data_18 = .data:0x00000018; // type:object size:0x6 data:string -lbl_1_data_1E = .data:0x0000001E; // type:object size:0x7 data:string -lbl_1_data_25 = .data:0x00000025; // type:object size:0x6 data:string -lbl_1_data_2B = .data:0x0000002B; // type:object size:0x9 -lbl_1_data_34 = .data:0x00000034; // type:object size:0x20 -lbl_1_data_54 = .data:0x00000054; // type:object size:0x14 data:string -lbl_1_data_68 = .data:0x00000068; // type:object size:0x16 data:string -lbl_1_data_7E = .data:0x0000007E; // type:object size:0x11 data:string -lbl_1_data_8F = .data:0x0000008F; // type:object size:0x12 data:string -lbl_1_data_A1 = .data:0x000000A1; // type:object size:0x10 data:string -lbl_1_data_B1 = .data:0x000000B1; // type:object size:0xD data:string -lbl_1_data_BE = .data:0x000000BE; // type:object size:0x11 data:string -lbl_1_data_CF = .data:0x000000CF; // type:object size:0xD data:string -lbl_1_data_DC = .data:0x000000DC; // type:object size:0xE data:string -lbl_1_data_EA = .data:0x000000EA; // type:object size:0x16 data:string -lbl_1_data_100 = .data:0x00000100; // type:object size:0x13 data:string -lbl_1_data_113 = .data:0x00000113; // type:object size:0xF data:string -lbl_1_data_122 = .data:0x00000122; // type:object size:0x14 data:string -lbl_1_data_136 = .data:0x00000136; // type:object size:0x11 data:string -lbl_1_data_147 = .data:0x00000147; // type:object size:0x13 data:string -lbl_1_data_15A = .data:0x0000015A; // type:object size:0x10 data:string -lbl_1_data_16A = .data:0x0000016A; // type:object size:0x11 data:string -lbl_1_data_17B = .data:0x0000017B; // type:object size:0x15 data:string -lbl_1_data_190 = .data:0x00000190; // type:object size:0x17 data:string -lbl_1_data_1A7 = .data:0x000001A7; // type:object size:0x11 data:string -lbl_1_data_1B8 = .data:0x000001B8; // type:object size:0x10 data:string -lbl_1_data_1C8 = .data:0x000001C8; // type:object size:0x10 data:string -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0x12 data:string -lbl_1_data_1EA = .data:0x000001EA; // type:object size:0x10 data:string -lbl_1_data_1FA = .data:0x000001FA; // type:object size:0xF data:string -lbl_1_data_209 = .data:0x00000209; // type:object size:0x15 data:string -lbl_1_data_21E = .data:0x0000021E; // type:object size:0xE data:string -lbl_1_data_22C = .data:0x0000022C; // type:object size:0x13 data:string -lbl_1_data_23F = .data:0x0000023F; // type:object size:0x14 data:string -lbl_1_data_253 = .data:0x00000253; // type:object size:0x13 data:string -lbl_1_data_266 = .data:0x00000266; // type:object size:0x11 data:string -lbl_1_data_277 = .data:0x00000277; // type:object size:0x11 data:string -lbl_1_data_288 = .data:0x00000288; // type:object size:0x11 data:string -lbl_1_data_299 = .data:0x00000299; // type:object size:0x10 data:string -lbl_1_data_2A9 = .data:0x000002A9; // type:object size:0x10 data:string -lbl_1_data_2B9 = .data:0x000002B9; // type:object size:0x1B data:string -lbl_1_data_2D4 = .data:0x000002D4; // type:object size:0x11 data:string -lbl_1_data_2E5 = .data:0x000002E5; // type:object size:0x1D data:string -lbl_1_data_302 = .data:0x00000302; // type:object size:0x17 data:string -lbl_1_data_319 = .data:0x00000319; // type:object size:0x16 data:string -lbl_1_data_32F = .data:0x0000032F; // type:object size:0x15 data:string -lbl_1_data_344 = .data:0x00000344; // type:object size:0x13 data:string -lbl_1_data_357 = .data:0x00000357; // type:object size:0xE data:string -lbl_1_data_365 = .data:0x00000365; // type:object size:0x14 data:string -lbl_1_data_379 = .data:0x00000379; // type:object size:0x13 data:string -lbl_1_data_38C = .data:0x0000038C; // type:object size:0x12 data:string -lbl_1_data_39E = .data:0x0000039E; // type:object size:0xD data:string -lbl_1_data_3AB = .data:0x000003AB; // type:object size:0xD data:string -lbl_1_data_3B8 = .data:0x000003B8; // type:object size:0x17 data:string -lbl_1_data_3CF = .data:0x000003CF; // type:object size:0xE data:string -lbl_1_data_3DD = .data:0x000003DD; // type:object size:0xB data:string -lbl_1_data_3E8 = .data:0x000003E8; // type:object size:0x11 data:string -lbl_1_data_3F9 = .data:0x000003F9; // type:object size:0x11 data:string -lbl_1_data_40A = .data:0x0000040A; // type:object size:0xA data:string -lbl_1_data_414 = .data:0x00000414; // type:object size:0x13 data:string -lbl_1_data_427 = .data:0x00000427; // type:object size:0xD data:string -lbl_1_data_434 = .data:0x00000434; // type:object size:0x5 data:string -lbl_1_data_439 = .data:0x00000439; // type:object size:0x15 data:string -lbl_1_data_44E = .data:0x0000044E; // type:object size:0x5 data:string -lbl_1_data_453 = .data:0x00000453; // type:object size:0xA data:string -lbl_1_data_45D = .data:0x0000045D; // type:object size:0xE data:string -lbl_1_data_46B = .data:0x0000046B; // type:object size:0xE data:string -lbl_1_data_479 = .data:0x00000479; // type:object size:0xE data:string -lbl_1_data_487 = .data:0x00000487; // type:object size:0xE data:string -lbl_1_data_495 = .data:0x00000495; // type:object size:0xE data:string -lbl_1_data_4A3 = .data:0x000004A3; // type:object size:0xE data:string -lbl_1_data_4B1 = .data:0x000004B1; // type:object size:0xE data:string -lbl_1_data_4BF = .data:0x000004BF; // type:object size:0xE data:string -lbl_1_data_4CD = .data:0x000004CD; // type:object size:0xA data:string -lbl_1_data_4D7 = .data:0x000004D7; // type:object size:0x11 -lbl_1_data_4E8 = .data:0x000004E8; // type:object size:0x348 -lbl_1_data_830 = .data:0x00000830; // type:object size:0x28 -lbl_1_data_858 = .data:0x00000858; // type:object size:0x12 data:string -lbl_1_data_86A = .data:0x0000086A; // type:object size:0x12 data:string -lbl_1_data_87C = .data:0x0000087C; // type:object size:0x12 data:string -lbl_1_data_88E = .data:0x0000088E; // type:object size:0x12 data:string -lbl_1_data_8A0 = .data:0x000008A0; // type:object size:0x12 data:string -lbl_1_data_8B2 = .data:0x000008B2; // type:object size:0x12 data:string -lbl_1_data_8C4 = .data:0x000008C4; // type:object size:0x11 data:string -lbl_1_data_8D5 = .data:0x000008D5; // type:object size:0x23 -lbl_1_data_8F8 = .data:0x000008F8; // type:object size:0x2 data:2byte -lbl_1_data_8FA = .data:0x000008FA; // type:object size:0x8 -lbl_1_data_902 = .data:0x00000902; // type:object size:0x12 -lbl_1_data_914 = .data:0x00000914; // type:object size:0x4 data:4byte -lbl_1_data_918 = .data:0x00000918; // type:object size:0x12 data:string -lbl_1_data_92A = .data:0x0000092A; // type:object size:0x24 data:string -lbl_1_data_94E = .data:0x0000094E; // type:object size:0xB data:string -lbl_1_data_959 = .data:0x00000959; // type:object size:0x3 data:string -lbl_1_data_95C = .data:0x0000095C; // type:object size:0x10 -lbl_1_data_96C = .data:0x0000096C; // type:object size:0x20 -lbl_1_data_98C = .data:0x0000098C; // type:object size:0x20 -lbl_1_data_9AC = .data:0x000009AC; // type:object size:0xD data:string -lbl_1_data_9B9 = .data:0x000009B9; // type:object size:0x5 -lbl_1_data_9BE = .data:0x000009BE; // type:object size:0x5 -lbl_1_data_9C3 = .data:0x000009C3; // type:object size:0x6 -lbl_1_data_9C9 = .data:0x000009C9; // type:object size:0x9 data:string -lbl_1_data_9D2 = .data:0x000009D2; // type:object size:0xA data:string -lbl_1_data_9DC = .data:0x000009DC; // type:object size:0xA data:string -lbl_1_data_9E6 = .data:0x000009E6; // type:object size:0x9 data:string -lbl_1_data_9EF = .data:0x000009EF; // type:object size:0x9 data:string -lbl_1_data_9F8 = .data:0x000009F8; // type:object size:0xC -lbl_1_data_A04 = .data:0x00000A04; // type:object size:0x14 data:4byte -lbl_1_data_A18 = .data:0x00000A18; // type:object size:0x6 data:string -lbl_1_data_A1E = .data:0x00000A1E; // type:object size:0x4 data:string -lbl_1_data_A22 = .data:0x00000A22; // type:object size:0x5 data:string -lbl_1_data_A27 = .data:0x00000A27; // type:object size:0x7 data:string -lbl_1_data_A2E = .data:0x00000A2E; // type:object size:0x5 data:string -lbl_1_data_A33 = .data:0x00000A33; // type:object size:0x9 data:string -jumptable_1_data_A3C = .data:0x00000A3C; // type:object size:0x20 scope:local -jumptable_1_data_A5C = .data:0x00000A5C; // type:object size:0x20 scope:local -lbl_1_data_A7C = .data:0x00000A7C; // type:object size:0x4 data:string -lbl_1_data_A80 = .data:0x00000A80; // type:object size:0x4 data:string -lbl_1_data_A84 = .data:0x00000A84; // type:object size:0x10 data:string -lbl_1_data_A94 = .data:0x00000A94; // type:object size:0x15 data:string -lbl_1_data_AA9 = .data:0x00000AA9; // type:object size:0x15 data:string -lbl_1_data_ABE = .data:0x00000ABE; // type:object size:0x15 data:string -lbl_1_data_AD3 = .data:0x00000AD3; // type:object size:0x15 data:string -lbl_1_data_AE8 = .data:0x00000AE8; // type:object size:0x15 data:string -lbl_1_data_AFD = .data:0x00000AFD; // type:object size:0x15 data:string -lbl_1_data_B12 = .data:0x00000B12; // type:object size:0x15 data:string -lbl_1_data_B27 = .data:0x00000B27; // type:object size:0x14 data:string -lbl_1_bss_2 = .bss:0x00000002; // type:object size:0x2 data:2byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte -lbl_1_bss_6 = .bss:0x00000006; // type:object size:0x2 data:2byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x2 data:2byte -lbl_1_bss_A = .bss:0x0000000A; // type:object size:0x2 data:2byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte -lbl_1_bss_E = .bss:0x0000000E; // type:object size:0x10 -lbl_1_bss_1E = .bss:0x0000001E; // type:object size:0x8 -lbl_1_bss_26 = .bss:0x00000026; // type:object size:0x10 -lbl_1_bss_36 = .bss:0x00000036; // type:object size:0x8 -lbl_1_bss_3E = .bss:0x0000003E; // type:object size:0x8 -lbl_1_bss_46 = .bss:0x00000046; // type:object size:0x8 -lbl_1_bss_4E = .bss:0x0000004E; // type:object size:0x2 data:2byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x2 data:2byte -lbl_1_bss_52 = .bss:0x00000052; // type:object size:0x2 data:2byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x2 data:2byte -lbl_1_bss_56 = .bss:0x00000056; // type:object size:0x2A data:2byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x4 data:4byte -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x4 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0xE -lbl_1_bss_96 = .bss:0x00000096; // type:object size:0x2 data:2byte diff --git a/config/GMPJ01_00/rels/staffDll/splits.txt b/config/GMPJ01_00/rels/staffDll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/staffDll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/staffDll/symbols.txt b/config/GMPJ01_00/rels/staffDll/symbols.txt deleted file mode 100644 index 8f507623..00000000 --- a/config/GMPJ01_00/rels/staffDll/symbols.txt +++ /dev/null @@ -1,54 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x218 -fn_1_2B8 = .text:0x000002B8; // type:function size:0x60 -fn_1_318 = .text:0x00000318; // type:function size:0x3DC -fn_1_6F4 = .text:0x000006F4; // type:function size:0x3AC -fn_1_AA0 = .text:0x00000AA0; // type:function size:0x12C -fn_1_BCC = .text:0x00000BCC; // type:function size:0x1C4 -fn_1_D90 = .text:0x00000D90; // type:function size:0x500 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0xFA8 -lbl_1_data_FA8 = .data:0x00000FA8; // type:object size:0xC data:float -lbl_1_data_FB4 = .data:0x00000FB4; // type:object size:0x14 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte -lbl_1_bss_E = .bss:0x0000000E; // type:object size:0x2 data:2byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x6 data:2byte -lbl_1_bss_16 = .bss:0x00000016; // type:object size:0x34 data:2byte diff --git a/config/GMPJ01_00/rels/subchrselDll/splits.txt b/config/GMPJ01_00/rels/subchrselDll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPJ01_00/rels/subchrselDll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPJ01_00/rels/subchrselDll/symbols.txt b/config/GMPJ01_00/rels/subchrselDll/symbols.txt deleted file mode 100644 index 22a9a485..00000000 --- a/config/GMPJ01_00/rels/subchrselDll/symbols.txt +++ /dev/null @@ -1,33 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x6C -fn_1_10C = .text:0x0000010C; // type:function size:0x58 -fn_1_164 = .text:0x00000164; // type:function size:0x654 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x8 data:string -lbl_1_data_8 = .data:0x00000008; // type:object size:0x8 data:string -lbl_1_data_10 = .data:0x00000010; // type:object size:0x8 data:string -lbl_1_data_18 = .data:0x00000018; // type:object size:0x8 data:string -lbl_1_data_20 = .data:0x00000020; // type:object size:0x10 -lbl_1_data_30 = .data:0x00000030; // type:object size:0x6 data:string -lbl_1_data_36 = .data:0x00000036; // type:object size:0x6 data:string -lbl_1_data_3C = .data:0x0000003C; // type:object size:0x6 data:string -lbl_1_data_42 = .data:0x00000042; // type:object size:0x6 data:string -lbl_1_data_48 = .data:0x00000048; // type:object size:0x6 data:string -lbl_1_data_4E = .data:0x0000004E; // type:object size:0x7 data:string -lbl_1_data_55 = .data:0x00000055; // type:object size:0x6 data:string -lbl_1_data_5B = .data:0x0000005B; // type:object size:0x9 -lbl_1_data_64 = .data:0x00000064; // type:object size:0x20 -lbl_1_data_84 = .data:0x00000084; // type:object size:0x1 -lbl_1_data_85 = .data:0x00000085; // type:object size:0x6 data:string -lbl_1_data_8B = .data:0x0000008B; // type:object size:0x8 data:string -lbl_1_data_93 = .data:0x00000093; // type:object size:0x7 data:string -lbl_1_data_9A = .data:0x0000009A; // type:object size:0x7 data:string -lbl_1_data_A1 = .data:0x000000A1; // type:object size:0x6 data:string -lbl_1_data_A7 = .data:0x000000A7; // type:object size:0x9 -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x1C -lbl_1_data_CC = .data:0x000000CC; // type:object size:0x15 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte diff --git a/config/GMPJ01_00/rels/w04Dll/splits.txt b/config/GMPJ01_00/rels/w04Dll/splits.txt deleted file mode 100644 index d977e9ab..00000000 --- a/config/GMPJ01_00/rels/w04Dll/splits.txt +++ /dev/null @@ -1,47 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/board_executor.c: - .text start:0x00000000 end:0x000000E0 - .rodata start:0x00000000 end:0x00000010 - -REL/w04Dll/main.c: - .text start:0x000000E0 end:0x000012FC - .rodata start:0x00000010 end:0x00000040 - .data start:0x00000000 end:0x00000298 - .bss start:0x00000000 end:0x00000038 - -REL/w04Dll/bridge.c: - .text start:0x000012FC end:0x000020EC - .rodata start:0x00000040 end:0x00000098 - .data start:0x00000298 end:0x000002D0 - .bss start:0x00000038 end:0x00000048 - -REL/w04Dll/boo_event.c: - .text start:0x000020EC end:0x00006024 - .rodata start:0x00000098 end:0x00000180 - .data start:0x000002D0 end:0x000003A8 - .bss start:0x00000048 end:0x00000100 - -REL/w04Dll/big_boo.c: - .text start:0x00006024 end:0x0000A0DC - .rodata start:0x00000180 end:0x000002C0 - .data start:0x000003A8 end:0x000004F0 - .bss start:0x00000100 end:0x00000288 - -REL/w04Dll/mg_item.c: - .text start:0x0000A0DC end:0x0000C784 - .rodata start:0x000002C0 end:0x000003A0 - .data start:0x000004F0 end:0x00000588 - .bss start:0x00000288 end:0x000002B0 - -REL/w04Dll/mg_coin.c: - .text start:0x0000C784 end:0x0000E9F0 - .rodata start:0x000003A0 end:0x00000428 - .data start:0x00000588 end:0x0000063F - .bss start:0x000002B0 end:0x00000328 diff --git a/config/GMPJ01_00/rels/w04Dll/symbols.txt b/config/GMPJ01_00/rels/w04Dll/symbols.txt deleted file mode 100644 index de97498a..00000000 --- a/config/GMPJ01_00/rels/w04Dll/symbols.txt +++ /dev/null @@ -1,451 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x30 -_prolog = .text:0x00000030; // type:function size:0x64 scope:global -_epilog = .text:0x00000094; // type:function size:0x4C scope:global -BoardCreate = .text:0x000000E0; // type:function size:0x514 -BoardDestroy = .text:0x000005F4; // type:function size:0x15C -fn_1_750 = .text:0x00000750; // type:function size:0x44 scope:local -fn_1_794 = .text:0x00000794; // type:function size:0x4 scope:local -fn_1_798 = .text:0x00000798; // type:function size:0x64 scope:local -fn_1_7FC = .text:0x000007FC; // type:function size:0x134 scope:local -fn_1_930 = .text:0x00000930; // type:function size:0x24 scope:local -fn_1_954 = .text:0x00000954; // type:function size:0x4 scope:local -fn_1_958 = .text:0x00000958; // type:function size:0x3A0 scope:local -fn_1_CF8 = .text:0x00000CF8; // type:function size:0x38 scope:local -fn_1_D30 = .text:0x00000D30; // type:function size:0x80 scope:local -fn_1_DB0 = .text:0x00000DB0; // type:function size:0x28C scope:local -fn_1_103C = .text:0x0000103C; // type:function size:0xF4 scope:local -fn_1_1130 = .text:0x00001130; // type:function size:0x1CC -fn_1_12FC = .text:0x000012FC; // type:function size:0x2CC -fn_1_15C8 = .text:0x000015C8; // type:function size:0x50 -fn_1_1618 = .text:0x00001618; // type:function size:0x19C scope:local -fn_1_17B4 = .text:0x000017B4; // type:function size:0x168 scope:local -fn_1_191C = .text:0x0000191C; // type:function size:0x27C scope:local -fn_1_1B98 = .text:0x00001B98; // type:function size:0x94 scope:local -fn_1_1C2C = .text:0x00001C2C; // type:function size:0x234 scope:local -fn_1_1E60 = .text:0x00001E60; // type:function size:0x1A8 scope:local -fn_1_2008 = .text:0x00002008; // type:function size:0x3C scope:local -fn_1_2044 = .text:0x00002044; // type:function size:0x14 scope:local -fn_1_2058 = .text:0x00002058; // type:function size:0x94 -fn_1_20EC = .text:0x000020EC; // type:function size:0x7D0 scope:local -fn_1_28BC = .text:0x000028BC; // type:function size:0x2D0 scope:local -fn_1_2B8C = .text:0x00002B8C; // type:function size:0x84 scope:local -fn_1_2C10 = .text:0x00002C10; // type:function size:0x250 scope:local -fn_1_2E60 = .text:0x00002E60; // type:function size:0x88 scope:local -fn_1_2EE8 = .text:0x00002EE8; // type:function size:0x6C scope:local -fn_1_2F54 = .text:0x00002F54; // type:function size:0x68 scope:local -fn_1_2FBC = .text:0x00002FBC; // type:function size:0x20 scope:local -fn_1_2FDC = .text:0x00002FDC; // type:function size:0xC8 scope:local -fn_1_30A4 = .text:0x000030A4; // type:function size:0x834 scope:local -fn_1_38D8 = .text:0x000038D8; // type:function size:0x3C4 scope:local -fn_1_3C9C = .text:0x00003C9C; // type:function size:0x90C scope:local -fn_1_45A8 = .text:0x000045A8; // type:function size:0x88 scope:local -fn_1_4630 = .text:0x00004630; // type:function size:0x50 scope:local -fn_1_4680 = .text:0x00004680; // type:function size:0x1C8 scope:local -fn_1_4848 = .text:0x00004848; // type:function size:0x7D0 scope:local -fn_1_5018 = .text:0x00005018; // type:function size:0x288 scope:local -fn_1_52A0 = .text:0x000052A0; // type:function size:0x300 scope:local -fn_1_55A0 = .text:0x000055A0; // type:function size:0x14 scope:local -fn_1_55B4 = .text:0x000055B4; // type:function size:0x94 -fn_1_5648 = .text:0x00005648; // type:function size:0x1E0 scope:local -fn_1_5828 = .text:0x00005828; // type:function size:0x7C scope:local -fn_1_58A4 = .text:0x000058A4; // type:function size:0xDC scope:local -fn_1_5980 = .text:0x00005980; // type:function size:0x44 scope:local -fn_1_59C4 = .text:0x000059C4; // type:function size:0x68 scope:local -fn_1_5A2C = .text:0x00005A2C; // type:function size:0x5F8 scope:local -fn_1_6024 = .text:0x00006024; // type:function size:0x28C -fn_1_62B0 = .text:0x000062B0; // type:function size:0x628 scope:local -fn_1_68D8 = .text:0x000068D8; // type:function size:0x420 scope:local -fn_1_6CF8 = .text:0x00006CF8; // type:function size:0x608 scope:local -fn_1_7300 = .text:0x00007300; // type:function size:0x27C scope:local -fn_1_757C = .text:0x0000757C; // type:function size:0x5C scope:local -fn_1_75D8 = .text:0x000075D8; // type:function size:0x2B0 scope:local -fn_1_7888 = .text:0x00007888; // type:function size:0x11D8 scope:local -fn_1_8A60 = .text:0x00008A60; // type:function size:0xE24 scope:local -fn_1_98A0 = .text:0x00009884; // type:function size:0x294 scope:local -fn_1_9B34 = .text:0x00009B18; // type:function size:0xA8 scope:local -fn_1_9BDC = .text:0x00009BC0; // type:function size:0x3C scope:local -fn_1_9C18 = .text:0x00009BFC; // type:function size:0x290 scope:local -fn_1_9EA8 = .text:0x00009E8C; // type:function size:0x14 scope:local -fn_1_9EBC = .text:0x00009EA0; // type:function size:0x94 -fn_1_9F50 = .text:0x00009F34; // type:function size:0x124 scope:local -fn_1_A074 = .text:0x0000A058; // type:function size:0x84 scope:local -fn_1_A0F8 = .text:0x0000A0DC; // type:function size:0xF8 -fn_1_A1F0 = .text:0x0000A1D4; // type:function size:0x52C -fn_1_A71C = .text:0x0000A700; // type:function size:0xCC scope:local -fn_1_A7E8 = .text:0x0000A7CC; // type:function size:0x1294 scope:local -fn_1_BA7C = .text:0x0000BA60; // type:function size:0x84 -fn_1_BB00 = .text:0x0000BAE4; // type:function size:0x7BC -fn_1_C2BC = .text:0x0000C2A0; // type:function size:0xCC -fn_1_C388 = .text:0x0000C36C; // type:function size:0x418 scope:local -fn_1_C7A0 = .text:0x0000C784; // type:function size:0x34 -fn_1_C7D4 = .text:0x0000C7B8; // type:function size:0x7B8 -fn_1_CF8C = .text:0x0000CF70; // type:function size:0x120 scope:local -fn_1_D0AC = .text:0x0000D090; // type:function size:0x30 scope:local -fn_1_D0DC = .text:0x0000D0C0; // type:function size:0x98 scope:local -fn_1_D174 = .text:0x0000D158; // type:function size:0xBC scope:local -fn_1_D230 = .text:0x0000D214; // type:function size:0x74 scope:local -fn_1_D2A4 = .text:0x0000D288; // type:function size:0x2B0 scope:local -fn_1_D554 = .text:0x0000D538; // type:function size:0x154 scope:local -fn_1_D6A8 = .text:0x0000D68C; // type:function size:0x64 scope:local -fn_1_D70C = .text:0x0000D6F0; // type:function size:0x64 scope:local -fn_1_D770 = .text:0x0000D754; // type:function size:0x894 scope:local -fn_1_E004 = .text:0x0000DFE8; // type:function size:0x140 scope:local -fn_1_E144 = .text:0x0000E128; // type:function size:0x48 scope:local -fn_1_E18C = .text:0x0000E170; // type:function size:0x1E8 scope:local -fn_1_E374 = .text:0x0000E358; // type:function size:0x14C scope:local -fn_1_E4C0 = .text:0x0000E4A4; // type:function size:0x1EC scope:local -fn_1_E6AC = .text:0x0000E690; // type:function size:0x1D4 scope:local -fn_1_E880 = .text:0x0000E864; // type:function size:0x18C scope:local -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 scope:local data:double -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 scope:local data:double -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x8 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x8 scope:local data:double -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x280 -lbl_1_data_280 = .data:0x00000280; // type:object size:0x2 scope:local data:2byte -lbl_1_data_282 = .data:0x00000282; // type:object size:0x2 scope:local data:2byte -lbl_1_data_284 = .data:0x00000284; // type:object size:0x2 scope:local data:2byte -lbl_1_data_286 = .data:0x00000286; // type:object size:0x2 scope:local data:2byte -lbl_1_data_288 = .data:0x00000288; // type:object size:0x8 scope:local -lbl_1_data_290 = .data:0x00000290; // type:object size:0x8 scope:local -lbl_1_data_298 = .data:0x00000298; // type:object size:0x8 scope:local -lbl_1_data_2A0 = .data:0x000002A0; // type:object size:0xC scope:local -lbl_1_data_2AC = .data:0x000002AC; // type:object size:0x24 scope:local -lbl_1_data_2D0 = .data:0x000002D0; // type:object size:0x20 scope:local -lbl_1_data_2F0 = .data:0x000002F0; // type:object size:0x4 scope:local data:4byte -lbl_1_data_2F4 = .data:0x000002F4; // type:object size:0x20 scope:local -lbl_1_data_314 = .data:0x00000314; // type:object size:0x20 scope:local -lbl_1_data_334 = .data:0x00000334; // type:object size:0x5 scope:local data:string -lbl_1_data_339 = .data:0x00000339; // type:object size:0x5 scope:local data:string -lbl_1_data_33E = .data:0x0000033E; // type:object size:0x5 scope:local data:string -lbl_1_data_343 = .data:0x00000343; // type:object size:0x5 scope:local data:string -lbl_1_data_348 = .data:0x00000348; // type:object size:0x10 scope:local -lbl_1_data_358 = .data:0x00000358; // type:object size:0x10 scope:local -lbl_1_data_368 = .data:0x00000368; // type:object size:0x8 scope:local data:string -lbl_1_data_370 = .data:0x00000370; // type:object size:0x12 scope:local data:string -lbl_1_data_382 = .data:0x00000382; // type:object size:0x11 scope:local data:string -lbl_1_data_393 = .data:0x00000393; // type:object size:0x15 scope:local -lbl_1_data_3A8 = .data:0x000003A8; // type:object size:0x8 scope:local data:string -lbl_1_data_3B0 = .data:0x000003B0; // type:object size:0x9 scope:local data:string -lbl_1_data_3B9 = .data:0x000003B9; // type:object size:0x6 scope:local data:string -lbl_1_data_3BF = .data:0x000003BF; // type:object size:0x5 scope:local data:string -lbl_1_data_3C4 = .data:0x000003C4; // type:object size:0x8 scope:local -lbl_1_data_3CC = .data:0x000003CC; // type:object size:0x14 scope:local data:4byte -lbl_1_data_3E0 = .data:0x000003E0; // type:object size:0x14 scope:local -lbl_1_data_3F4 = .data:0x000003F4; // type:object size:0x20 scope:local -lbl_1_data_414 = .data:0x00000414; // type:object size:0x10 scope:local -lbl_1_data_424 = .data:0x00000424; // type:object size:0x30 scope:local data:2byte -lbl_1_data_454 = .data:0x00000454; // type:object size:0xB scope:local data:string -lbl_1_data_45F = .data:0x0000045F; // type:object size:0x2 scope:local data:string -lbl_1_data_461 = .data:0x00000461; // type:object size:0xC scope:local data:string -lbl_1_data_46D = .data:0x0000046D; // type:object size:0x1B scope:local -lbl_1_data_488 = .data:0x00000488; // type:object size:0x3 scope:local data:string -lbl_1_data_48B = .data:0x0000048B; // type:object size:0x11 scope:local -lbl_1_data_49C = .data:0x0000049C; // type:object size:0x54 scope:local -lbl_1_data_4F0 = .data:0x000004F0; // type:object size:0x6 scope:local data:string -lbl_1_data_4F6 = .data:0x000004F6; // type:object size:0x6 scope:local data:string -lbl_1_data_4FC = .data:0x000004FC; // type:object size:0x6 scope:local data:string -lbl_1_data_502 = .data:0x00000502; // type:object size:0x8 scope:local data:string -lbl_1_data_50A = .data:0x0000050A; // type:object size:0x8 scope:local data:string -lbl_1_data_512 = .data:0x00000512; // type:object size:0xA scope:local -lbl_1_data_51C = .data:0x0000051C; // type:object size:0x18 scope:local data:4byte -lbl_1_data_534 = .data:0x00000534; // type:object size:0xC scope:local -lbl_1_data_540 = .data:0x00000540; // type:object size:0x48 scope:local -lbl_1_data_588 = .data:0x00000588; // type:object size:0x4 scope:local data:4byte -lbl_1_data_58C = .data:0x0000058C; // type:object size:0x5 scope:local data:string -lbl_1_data_591 = .data:0x00000591; // type:object size:0x5 scope:local data:string -lbl_1_data_596 = .data:0x00000596; // type:object size:0x5 scope:local data:string -lbl_1_data_59B = .data:0x0000059B; // type:object size:0x5 scope:local data:string -lbl_1_data_5A0 = .data:0x000005A0; // type:object size:0x5 scope:local data:string -lbl_1_data_5A5 = .data:0x000005A5; // type:object size:0x5 scope:local data:string -lbl_1_data_5AA = .data:0x000005AA; // type:object size:0x5 scope:local data:string -lbl_1_data_5AF = .data:0x000005AF; // type:object size:0x5 scope:local data:string -lbl_1_data_5B4 = .data:0x000005B4; // type:object size:0x8 scope:local -lbl_1_data_5BC = .data:0x000005BC; // type:object size:0x24 scope:local data:4byte -lbl_1_data_5E0 = .data:0x000005E0; // type:object size:0x10 scope:local -lbl_1_data_5F0 = .data:0x000005F0; // type:object size:0x20 scope:local -lbl_1_data_610 = .data:0x00000610; // type:object size:0xE scope:local data:string -lbl_1_data_61E = .data:0x0000061E; // type:object size:0xE scope:local data:string -lbl_1_data_62C = .data:0x0000062C; // type:object size:0x10 -lbl_1_data_63C = .data:0x0000063C; // type:object size:0x3 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x8 scope:local data:2byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x24 data:2byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0xC scope:local -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_52 = .bss:0x00000052; // type:object size:0x18 scope:local -lbl_1_bss_6A = .bss:0x0000006A; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x30 scope:local -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_B2 = .bss:0x000000B2; // type:object size:0x8 scope:local -lbl_1_bss_BA = .bss:0x000000BA; // type:object size:0x8 scope:local data:2byte -lbl_1_bss_C2 = .bss:0x000000C2; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x10 scope:local -lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0x10 scope:local -lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x10 scope:local -lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0x6 scope:local data:2byte -lbl_1_bss_FA = .bss:0x000000FA; // type:object size:0x6 scope:local data:2byte -lbl_1_bss_100 = .bss:0x00000100; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_104 = .bss:0x00000104; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_108 = .bss:0x00000108; // type:object size:0xC scope:local -lbl_1_bss_114 = .bss:0x00000114; // type:object size:0x20 scope:local -lbl_1_bss_134 = .bss:0x00000134; // type:object size:0x6 scope:local -lbl_1_bss_13A = .bss:0x0000013A; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_13C = .bss:0x0000013C; // type:object size:0xD4 scope:local data:2byte -lbl_1_bss_210 = .bss:0x00000210; // type:object size:0x30 scope:local -lbl_1_bss_240 = .bss:0x00000240; // type:object size:0x30 scope:local -lbl_1_bss_270 = .bss:0x00000270; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_272 = .bss:0x00000272; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_274 = .bss:0x00000274; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_278 = .bss:0x00000278; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_27C = .bss:0x0000027C; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_27E = .bss:0x0000027E; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_280 = .bss:0x00000280; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_282 = .bss:0x00000282; // type:object size:0x6 scope:local data:2byte -lbl_1_bss_288 = .bss:0x00000288; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_28C = .bss:0x0000028C; // type:object size:0x8 scope:local data:4byte -lbl_1_bss_294 = .bss:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_bss_298 = .bss:0x00000298; // type:object size:0x6 scope:local -lbl_1_bss_29E = .bss:0x0000029E; // type:object size:0x8 scope:local -lbl_1_bss_2A6 = .bss:0x000002A6; // type:object size:0x6 scope:local -lbl_1_bss_2AC = .bss:0x000002AC; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_2B0 = .bss:0x000002B0; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_2B4 = .bss:0x000002B4; // type:object size:0xE scope:local -lbl_1_bss_2C2 = .bss:0x000002C2; // type:object size:0xE scope:local -lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x28 scope:local data:2byte -lbl_1_bss_2F8 = .bss:0x000002F8; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_2FA = .bss:0x000002FA; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_2FC = .bss:0x000002FC; // type:object size:0xC scope:local -lbl_1_bss_308 = .bss:0x00000308; // type:object size:0xC scope:local data:float -lbl_1_bss_314 = .bss:0x00000314; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_318 = .bss:0x00000318; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_31C = .bss:0x0000031C; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_320 = .bss:0x00000320; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_324 = .bss:0x00000324; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_326 = .bss:0x00000326; // type:object size:0x2 scope:local data:2byte diff --git a/config/GMPJ01_00/rels/ztardll/splits.txt b/config/GMPJ01_00/rels/ztardll/splits.txt deleted file mode 100644 index 9d81d15d..00000000 --- a/config/GMPJ01_00/rels/ztardll/splits.txt +++ /dev/null @@ -1,27 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/ztardll/main.c: - .text start:0x000000A0 end:0x00007820 - .rodata start:0x00000000 end:0x000001B8 - .data start:0x00000000 end:0x000000B0 - .bss start:0x00000000 end:0x00000070 - -REL/ztardll/font.c: - .text start:0x00007820 end:0x00007C9C - .rodata start:0x000001B8 end:0x000001C0 - .data start:0x000000B0 end:0x00000578 - -REL/ztardll/select.c: - .text start:0x00007C9C end:0x00012358 - .rodata start:0x000001C0 end:0x00000298 - .data start:0x00000578 end:0x00000824 - .bss start:0x00000070 end:0x000002D8 diff --git a/config/GMPJ01_00/rels/ztardll/symbols.txt b/config/GMPJ01_00/rels/ztardll/symbols.txt deleted file mode 100644 index f9516f21..00000000 --- a/config/GMPJ01_00/rels/ztardll/symbols.txt +++ /dev/null @@ -1,257 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x384 -fn_1_424 = .text:0x00000424; // type:function size:0x1350 -fn_1_1774 = .text:0x00001774; // type:function size:0x57C -fn_1_1CF0 = .text:0x00001CF0; // type:function size:0xB0 -fn_1_1DA0 = .text:0x00001DA0; // type:function size:0x5B0 -fn_1_2350 = .text:0x00002350; // type:function size:0x1060 -fn_1_33B0 = .text:0x000033B0; // type:function size:0xD34 -fn_1_40E4 = .text:0x000040E4; // type:function size:0x290 -fn_1_4374 = .text:0x00004374; // type:function size:0x5D4 -fn_1_4948 = .text:0x00004948; // type:function size:0x874 -fn_1_51BC = .text:0x000051BC; // type:function size:0x15C -fn_1_524C = .text:0x00005318; // type:function size:0x14AC -fn_1_66F8 = .text:0x000067C4; // type:function size:0x10C -fn_1_6804 = .text:0x000068D0; // type:function size:0xC10 -fn_1_7414 = .text:0x000074E0; // type:function size:0x340 -fn_1_7754 = .text:0x00007820; // type:function size:0x47C -fn_1_7C00 = .text:0x00007C9C; // type:function size:0x16C -fn_1_7D6C = .text:0x00007E08; // type:function size:0xA0 -fn_1_7E0C = .text:0x00007EA8; // type:function size:0x224 -fn_1_8030 = .text:0x000080CC; // type:function size:0x2DC -fn_1_830C = .text:0x000083A8; // type:function size:0x2C -fn_1_8338 = .text:0x000083D4; // type:function size:0x518 -fn_1_8850 = .text:0x000088EC; // type:function size:0x2C -fn_1_887C = .text:0x00008918; // type:function size:0x28 -fn_1_88A4 = .text:0x00008940; // type:function size:0x274 -fn_1_8B18 = .text:0x00008BB4; // type:function size:0x2C -fn_1_8B44 = .text:0x00008BE0; // type:function size:0x2C -fn_1_8B70 = .text:0x00008C0C; // type:function size:0x24 -fn_1_8B94 = .text:0x00008C30; // type:function size:0x2BC -fn_1_8E50 = .text:0x00008EEC; // type:function size:0x500 -fn_1_9350 = .text:0x000093EC; // type:function size:0x480 -fn_1_97D0 = .text:0x0000986C; // type:function size:0x80C -fn_1_9FDC = .text:0x0000A078; // type:function size:0x28 -fn_1_A004 = .text:0x0000A0A0; // type:function size:0x28 -fn_1_A02C = .text:0x0000A0C8; // type:function size:0x21C -fn_1_A248 = .text:0x0000A2E4; // type:function size:0x194 -fn_1_A3DC = .text:0x0000A478; // type:function size:0x198 -fn_1_A574 = .text:0x0000A610; // type:function size:0x9C -fn_1_A610 = .text:0x0000A6AC; // type:function size:0x2D8 -fn_1_A8E8 = .text:0x0000A984; // type:function size:0x2DC -fn_1_ABC4 = .text:0x0000AC60; // type:function size:0x1E0 -fn_1_ADA4 = .text:0x0000AE40; // type:function size:0xF0 -fn_1_AE94 = .text:0x0000AF30; // type:function size:0x50 -fn_1_AEE4 = .text:0x0000AF80; // type:function size:0x584 -fn_1_B468 = .text:0x0000B504; // type:function size:0x5D8 -fn_1_BA40 = .text:0x0000BADC; // type:function size:0x33C -fn_1_BD7C = .text:0x0000BE18; // type:function size:0x274 -fn_1_BFF0 = .text:0x0000C08C; // type:function size:0x7C -fn_1_C06C = .text:0x0000C108; // type:function size:0x44C -fn_1_C4B8 = .text:0x0000C554; // type:function size:0x434 -fn_1_C8EC = .text:0x0000C988; // type:function size:0x204 -fn_1_CAF0 = .text:0x0000CB8C; // type:function size:0x790 -fn_1_D280 = .text:0x0000D31C; // type:function size:0xB0C -fn_1_DD8C = .text:0x0000DE28; // type:function size:0x720 -fn_1_E4AC = .text:0x0000E548; // type:function size:0x9C -fn_1_E548 = .text:0x0000E5E4; // type:function size:0xCCC -fn_1_F214 = .text:0x0000F2B0; // type:function size:0x924 -fn_1_FB38 = .text:0x0000FBD4; // type:function size:0x258 -fn_1_FD90 = .text:0x0000FE2C; // type:function size:0x958 -fn_1_106E8 = .text:0x00010784; // type:function size:0x7C -fn_1_10764 = .text:0x00010800; // type:function size:0x164 -fn_1_108C8 = .text:0x00010964; // type:function size:0x1B8 -fn_1_10A80 = .text:0x00010B1C; // type:function size:0xA4 -fn_1_10B24 = .text:0x00010BC0; // type:function size:0xF4 -fn_1_10C18 = .text:0x00010CB4; // type:function size:0x80 -fn_1_10C98 = .text:0x00010D34; // type:function size:0x80 -fn_1_10D18 = .text:0x00010DB4; // type:function size:0x28 -fn_1_10D40 = .text:0x00010DDC; // type:function size:0x20 -fn_1_10D60 = .text:0x00010DFC; // type:function size:0xD8 -fn_1_10E38 = .text:0x00010ED4; // type:function size:0xC8 -fn_1_10F00 = .text:0x00010F9C; // type:function size:0xBC -fn_1_10FBC = .text:0x00011058; // type:function size:0x40 -fn_1_10FFC = .text:0x00011098; // type:function size:0x24 -fn_1_11020 = .text:0x000110BC; // type:function size:0x1C0 -fn_1_111E0 = .text:0x0001127C; // type:function size:0x84 -fn_1_11264 = .text:0x00011300; // type:function size:0xD4 -fn_1_11338 = .text:0x000113D4; // type:function size:0x58 -fn_1_11390 = .text:0x0001142C; // type:function size:0x15C -fn_1_114EC = .text:0x00011588; // type:function size:0x1C4 -fn_1_11708 = .text:0x0001174C; // type:function size:0x1AC -fn_1_1190C = .text:0x000118F8; // type:function size:0x54 -fn_1_11960 = .text:0x0001194C; // type:function size:0x304 -fn_1_11C64 = .text:0x00011C50; // type:function size:0x304 -fn_1_11F68 = .text:0x00011F54; // type:function size:0x340 -fn_1_122A8 = .text:0x00012294; // type:function size:0xC4 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x38 scope:local data:4byte -lbl_1_data_0 = .data:0x00000000; // type:object size:0x22 scope:local data:string -lbl_1_data_22 = .data:0x00000022; // type:object size:0x8 -lbl_1_data_2C = .data:0x0000002C; // type:object size:0x18 -lbl_1_data_44 = .data:0x00000044; // type:object size:0x6 -lbl_1_data_4A = .data:0x0000004A; // type:object size:0xC -lbl_1_data_56 = .data:0x00000056; // type:object size:0xE data:wstring -lbl_1_data_64 = .data:0x00000064; // type:object size:0x20 -lbl_1_data_84 = .data:0x00000084; // type:object size:0x10 -lbl_1_data_94 = .data:0x00000094; // type:object size:0xC -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0xA scope:local data:string -lbl_1_data_AA = .data:0x000000AA; // type:object size:0x6 scope:local -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x4C8 -lbl_1_data_3C8 = .data:0x00000578; // type:object size:0x20 -lbl_1_data_3E8 = .data:0x00000598; // type:object size:0x20 -lbl_1_data_5B8 = .data:0x000005B8; // type:object size:0x3C scope:local data:string -lbl_1_data_5F4 = .data:0x000005F4; // type:object size:0x19 scope:local data:string -lbl_1_data_60D = .data:0x0000060D; // type:object size:0x1A scope:local data:string -lbl_1_data_627 = .data:0x00000627; // type:object size:0x3A scope:local data:string -lbl_1_data_4B4 = .data:0x00000664; // type:object size:0x20 data:4byte -lbl_1_data_4D4 = .data:0x00000684; // type:object size:0x40 data:4byte -lbl_1_data_514 = .data:0x000006C4; // type:object size:0x70 -lbl_1_data_584 = .data:0x00000734; // type:object size:0x90 data:4byte -lbl_1_data_614 = .data:0x000007C4; // type:object size:0x20 -lbl_1_data_634 = .data:0x000007E4; // type:object size:0x8 data:4byte -lbl_1_data_63C = .data:0x000007EC; // type:object size:0x10 -lbl_1_data_64C = .data:0x000007FC; // type:object size:0x20 -lbl_1_data_66C = .data:0x0000081C; // type:object size:0x4 data:4byte -lbl_1_data_670 = .data:0x00000820; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte -lbl_1_bss_E = .bss:0x0000000E; // type:object size:0x28 data:2byte -lbl_1_bss_36 = .bss:0x00000036; // type:object size:0x8 data:2byte -lbl_1_bss_3E = .bss:0x0000003E; // type:object size:0x2 data:2byte -lbl_1_bss_42 = .bss:0x00000042; // type:object size:0x2 data:2byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x2 data:2byte -lbl_1_bss_46 = .bss:0x00000046; // type:object size:0x2 data:2byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x2 data:2byte -lbl_1_bss_4A = .bss:0x0000004A; // type:object size:0x2 data:2byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x2 data:2byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x2 data:2byte -lbl_1_bss_52 = .bss:0x00000052; // type:object size:0x2 data:2byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x2 data:2byte -lbl_1_bss_5A = .bss:0x0000005A; // type:object size:0x2 data:2byte -lbl_1_bss_5E = .bss:0x0000005E; // type:object size:0x2 data:2byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x8 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x4 data:4byte -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x14 data:4byte -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x180 data:4byte -lbl_1_bss_20C = .bss:0x0000020C; // type:object size:0x60 data:4byte -lbl_1_bss_26C = .bss:0x0000026C; // type:object size:0x6C data:4byte diff --git a/config/GMPJ01_00/splits.txt b/config/GMPJ01_00/splits.txt deleted file mode 100644 index 787212a6..00000000 --- a/config/GMPJ01_00/splits.txt +++ /dev/null @@ -1,334 +0,0 @@ -Sections: - .init type:code align:4 - extab type:rodata align:32 - extabindex type:rodata align:32 - .text type:code align:8 - .ctors type:rodata align:16 - .dtors type:rodata align:32 - .rodata type:rodata align:32 - .data type:data align:32 - .bss type:bss align:32 - .sdata type:data align:4 - .sbss type:bss align:32 - .sdata2 type:rodata align:32 - .sbss2 type:bss align:4 - -game/main.c: - .text start:0x800057C0 end:0x80005A5C - .data start:0x8011E9C0 end:0x8011E9D0 - .sdata start:0x801D30C0 end:0x801D30D0 - .sbss start:0x801D36C0 end:0x801D3718 - .sdata2 start:0x801D4620 end:0x801D4628 - -game/pad.c: - .text start:0x80005A5C end:0x80006478 - .data start:0x8011E9D0 end:0x8011E9E0 - .bss start:0x801424A0 end:0x801424E0 - .sbss start:0x801D3718 end:0x801D37A0 - -game/dvd.c: - .text start:0x80006478 end:0x80006E38 - .data start:0x8011E9E0 end:0x8011EB38 - .sdata start:0x801D30D0 end:0x801D30D8 - .sbss start:0x801D37A0 end:0x801D37A8 - -game/data.c: - .text start:0x80006E38 end:0x80009400 - .data start:0x8011EB38 end:0x8011F9C0 - .bss start:0x801424E0 end:0x801452E0 - .sdata start:0x801D30D8 end:0x801D30E8 - .sbss start:0x801D37A8 end:0x801D37B8 - -game/decode.c: - .text start:0x80009400 end:0x80009AFC - .data start:0x8011F9C0 end:0x8011F9E0 - .bss start:0x801452E0 end:0x801456E0 - -game/font.c: - .data start:0x8011F9E0 end:0x801219E0 - -game/init.c: - .text start:0x80009AFC end:0x8000A464 - .data start:0x801219E0 end:0x80121B30 - .bss start:0x801456E0 end:0x80145720 - .sdata start:0x801D30E8 end:0x801D3100 - .sbss start:0x801D37B8 end:0x801D37E8 - .sdata2 start:0x801D4628 end:0x801D4638 - -game/jmp.c: - .text start:0x8000A464 end:0x8000A558 - -game/malloc.c: - .text start:0x8000A558 end:0x8000A938 - .data start:0x80121B30 end:0x80121BA8 - .bss start:0x80145720 end:0x80145738 - -game/memory.c: - .text start:0x8000A938 end:0x8000AEF0 - .data start:0x80121BA8 end:0x80121D20 - -game/printfunc.c: - .text start:0x8000AEF0 end:0x8000C4A4 - .data start:0x80121D20 end:0x80121D60 - .bss start:0x80145738 end:0x8014C038 - .sbss start:0x801D37E8 end:0x801D37F8 - .sdata2 start:0x801D4638 end:0x801D4688 - -game/process.c: - .text start:0x8000C4A4 end:0x8000D348 - .data start:0x80121D60 end:0x80121DB0 - .bss start:0x8014C038 end:0x8014C130 - .sbss start:0x801D37F8 end:0x801D3808 - -game/sprman.c: - .text start:0x8000D348 end:0x8000F6A0 - .rodata start:0x8011D8E0 end:0x8011D8F0 - .data start:0x80121DB0 end:0x80121ED0 - .bss start:0x8014C130 end:0x8015C330 - .sdata start:0x801D3100 end:0x801D3110 - .sbss start:0x801D3808 end:0x801D3810 - .sdata2 start:0x801D4688 end:0x801D46B0 - -game/sprput.c: - .text start:0x8000F6A0 end:0x80010B30 - .rodata start:0x8011D8F0 end:0x8011D900 - .data start:0x80121ED0 end:0x80121F00 - .bss start:0x8015C330 end:0x8015C360 - .sbss start:0x801D3810 end:0x801D3818 - .sdata2 start:0x801D46B0 end:0x801D46E8 - -game/hsfload.c: - .text start:0x80010B30 end:0x80014018 - .data start:0x80121F00 end:0x80121F70 - .bss start:0x8015C360 end:0x8015C920 - .sbss start:0x801D3818 end:0x801D3850 - -game/hsfdraw.c: - .text start:0x80014018 end:0x8001F9AC - .rodata start:0x8011D900 end:0x8011D910 - .data start:0x80121F70 end:0x80122180 - .bss start:0x8015C920 end:0x80167460 - .sdata start:0x801D3110 end:0x801D3128 - .sbss start:0x801D3850 end:0x801D38F0 - .sdata2 start:0x801D46E8 end:0x801D4770 - -game/hsfman.c: - .text start:0x8001F9AC end:0x800250E8 - .data start:0x80122180 end:0x8012D238 - .bss start:0x80167460 end:0x8018D070 - .sbss start:0x801D38F0 end:0x801D3920 - .sdata2 start:0x801D4770 end:0x801D47D0 - .sbss2 start:0x801D68A0 end:0x801D68A8 - -game/hsfmotion.c: - .text start:0x800250E8 end:0x80028B04 - .data start:0x8012D238 end:0x8012D418 - .bss start:0x8018D070 end:0x8018D870 - .sbss start:0x801D3920 end:0x801D3928 - .sdata2 start:0x801D47D0 end:0x801D4820 - -game/hsfanim.c: - .text start:0x80028B04 end:0x8002CB74 - .data start:0x8012D418 end:0x8012D4D8 - .bss start:0x8018D870 end:0x8018F430 - .sdata2 start:0x801D4820 end:0x801D48A8 - -game/hsfex.c: - .text start:0x8002CB74 end:0x8002E74C - .data start:0x8012D4D8 end:0x8012D4F8 - .sdata2 start:0x801D48A8 end:0x801D4938 - -game/perf.c: - .text start:0x8002E74C end:0x8002EBD8 - .bss start:0x8018F430 end:0x8018F7D8 - .sdata start:0x801D3128 end:0x801D3138 - .sbss start:0x801D3928 end:0x801D3980 - -game/objmain.c: - .text start:0x8002EBD8 end:0x8002FF4C - .data start:0x8012D4F8 end:0x8012D8A8 - .bss start:0x8018F7D8 end:0x8018F898 - .sdata start:0x801D3138 end:0x801D3140 - .sbss start:0x801D3980 end:0x801D39B0 - .sdata2 start:0x801D4938 end:0x801D4960 - -game/fault.c: - .text start:0x8002FF4C end:0x800308B8 - .data start:0x8012D8A8 end:0x8012E0D0 - .bss start:0x8018F898 end:0x8018F8B0 - .sdata start:0x801D3140 end:0x801D3150 - .sbss start:0x801D39B0 end:0x801D39C0 - -game/gamework.c: - .text start:0x800308B8 end:0x800315BC - .rodata start:0x8011D910 end:0x8011D930 - .bss start:0x8018F8B0 end:0x8018FCA8 - -game/objsysobj.c: - .text start:0x800315BC end:0x80031DB4 - .bss start:0x8018FCA8 end:0x8018FE80 - .sbss start:0x801D39C0 end:0x801D39C8 - .sdata2 start:0x801D4960 end:0x801D4970 - -game/objdll.c: - .text start:0x80031DB4 end:0x800325F4 - .data start:0x8012E0D0 end:0x8012E568 - .bss start:0x8018FE80 end:0x8018FED0 - .sbss start:0x801D39C8 end:0x801D39D0 - -game/frand.c: - .text start:0x800325F4 end:0x80032830 - .sbss start:0x801D39D0 end:0x801D39D8 - .sdata2 start:0x801D4970 end:0x801D4980 - -game/audio.c: - .text start:0x80032830 end:0x80033EEC - .data start:0x8012E568 end:0x8012ED10 - .bss start:0x8018FED0 end:0x801900F0 - .sdata start:0x801D3150 end:0x801D3158 - .sbss start:0x801D39D8 end:0x801D3A08 - .sdata2 start:0x801D4980 end:0x801D4990 - -game/EnvelopeExec.c: - .text start:0x80033EEC end:0x800353AC - .sbss start:0x801D3A08 end:0x801D3A38 - .sdata2 start:0x801D4990 end:0x801D49A8 - -game/minigame_seq.c: - .text start:0x800353AC end:0x8003F690 - .data start:0x8012ED10 end:0x8012F378 - .bss start:0x801900F0 end:0x80190500 - .sdata start:0x801D3158 end:0x801D3258 - .sbss start:0x801D3A38 end:0x801D3A58 - .sdata2 start:0x801D49A8 end:0x801D4B60 - -game/ovllist.c: - .data start:0x8012F378 end:0x8012FCE8 - -game/esprite.c: - .text start:0x8003F690 end:0x8003FD40 - .bss start:0x80190500 end:0x80191D00 - .sbss start:0x801D3A58 end:0x801D3A60 - -game/code_8003FF68.c: - .text start:0x8003FD40 end:0x800402D8 - .data start:0x8012FCE8 end:0x8012FD08 - .bss start:0x80191D00 end:0x80192000 - .sdata start:0x801D3258 end:0x801D3278 - .sbss start:0x801D3A60 end:0x801D3A68 - .sdata2 start:0x801D4B60 end:0x801D4B78 - -game/ClusterExec.c: - .text start:0x800402D8 end:0x80040B38 - .sdata2 start:0x801D4B78 end:0x801D4B88 - -game/ShapeExec.c: - .text start:0x80040B38 end:0x80040F48 - .sdata2 start:0x801D4B88 end:0x801D4B98 - -game/wipe.c: - .text start:0x80040F48 end:0x80041E54 - .data start:0x8012FD08 end:0x8012FD20 - .bss start:0x80192000 end:0x8019204C - .sdata start:0x801D3278 end:0x801D3280 - .sbss start:0x801D3A68 end:0x801D3A70 - .sdata2 start:0x801D4B98 end:0x801D4BC0 - -game/window.c: - .text start:0x80041E54 end:0x80047E88 - .data start:0x8012FD20 end:0x80130268 - .bss start:0x80192060 end:0x80196480 - .sdata start:0x801D3280 end:0x801D3288 - .sbss start:0x801D3A70 end:0x801D3AB8 - .sdata2 start:0x801D4BC0 end:0x801D4C58 - -game/messdata.c: - .text start:0x80047E88 end:0x80047F70 - -game/card.c: - .text start:0x80047F70 end:0x80048574 - .data start:0x80130268 end:0x801302B8 - .sbss start:0x801D3AB8 end:0x801D3AC0 - -game/armem.c: - .text start:0x80048574 end:0x800493E0 - .data start:0x801302B8 end:0x801303A8 - .bss start:0x80196480 end:0x80196B60 - .sbss start:0x801D3AC0 end:0x801D3AD0 - -game/chrman.c: - .text start:0x800493E0 end:0x8005074C - .data start:0x801303A8 end:0x80130DC8 - .bss start:0x80196B60 end:0x801972F0 - .sdata start:0x801D3288 end:0x801D32D0 - .sbss start:0x801D3AD0 end:0x801D3AD8 - .sdata2 start:0x801D4C58 end:0x801D4D90 - -game/mapspace.c: - .text start:0x8005074C end:0x800544F0 - .bss start:0x801972F0 end:0x80197760 - .sbss start:0x801D3AD8 end:0x801D3AF8 - .sdata2 start:0x801D4D90 end:0x801D4DC0 - -game/THPSimple.c: - .text start:0x800544F0 end:0x800565F4 - .data start:0x80130DC8 end:0x80130EC8 - .bss start:0x80197760 end:0x80197E40 - .sdata start:0x801D32D0 end:0x801D32D8 - .sbss start:0x801D3AF8 end:0x801D3B18 - .sdata2 start:0x801D4DC0 end:0x801D4DC8 - -game/THPDraw.c: - .text start:0x800565F4 end:0x80056F4C - .sdata2 start:0x801D4DC8 end:0x801D4DE0 - -game/thpmain.c: - .text start:0x80056F4C end:0x80057914 - .rodata start:0x8011D930 end:0x8011D940 - .data start:0x80130EC8 end:0x80130F30 - .bss start:0x80197E40 end:0x80197E80 - .sbss start:0x801D3B18 end:0x801D3B40 - .sdata2 start:0x801D4DE0 end:0x801D4DF8 - -game/objsub.c: - .text start:0x80057914 end:0x80057B00 - .data start:0x80130F30 end:0x80131D30 - .bss start:0x80197E80 end:0x801980B0 - .sbss start:0x801D3B40 end:0x801D3B68 - -game/flag.c: - .text start:0x80057B00 end:0x80057D18 - .bss start:0x801980B0 end:0x801980C0 - -game/saveload.c: - .text start:0x80057D18 end:0x8005A324 - .data start:0x80131D30 end:0x80131DE8 - .bss start:0x801980C0 end:0x8019C0E0 - .sdata start:0x801D32D8 end:0x801D3300 - .sbss start:0x801D3B68 end:0x801D3B78 - .sdata2 start:0x801D4DF8 end:0x801D4E08 - -game/sreset.c: - .text start:0x8005A324 end:0x8005AD7C - .data start:0x80131E00 end:0x80139438 - .bss start:0x8019C0E0 end:0x8019D480 - .sdata start:0x801D3300 end:0x801D3318 - .sbss start:0x801D3B78 end:0x801D3B90 - -game/board/main.c: - .text start:0x8005AD7C end:0x80061BB4 - .rodata start:0x8011D940 end:0x8011D970 - .data start:0x80139438 end:0x80139538 - .bss start:0x8019D480 end:0x8019D608 - .sdata start:0x801D3318 end:0x801D3328 - .sbss start:0x801D3B90 end:0x801D3BE0 - .sdata2 start:0x801D4E08 end:0x801D4EB8 - -game/board/player.c: - .text start:0x80061BB4 end:0x8006CEF8 - .rodata start:0x8011D970 end:0x8011DA40 - .data start:0x80139538 end:0x80139740 - .bss start:0x8019D608 end:0x8019D638 - .sdata start:0x801D3328 end:0x801D3388 - .sbss start:0x801D3BE0 end:0x801D3C18 - .sdata2 start:0x801D4EB8 end:0x801D4FC0 diff --git a/config/GMPJ01_00/symbols.txt b/config/GMPJ01_00/symbols.txt deleted file mode 100644 index ca5a261c..00000000 --- a/config/GMPJ01_00/symbols.txt +++ /dev/null @@ -1,7540 +0,0 @@ -__check_pad3 = .init:0x80003100; // type:function size:0x40 scope:local -__start = .init:0x80003140; // type:function size:0x138 scope:weak -__init_registers = .init:0x80003278; // type:function size:0x1C scope:local -__init_data = .init:0x80003294; // type:function size:0xC0 scope:local -__init_hardware = .init:0x80003354; // type:function size:0x20 scope:global -__flush_cache = .init:0x80003374; // type:function size:0x34 scope:global -memset = .init:0x800033A8; // type:function size:0x30 scope:global -__fill_mem = .init:0x800033D8; // type:function size:0xB8 scope:global -memcpy = .init:0x80003490; // type:function size:0x50 scope:global -TRK_memset = .init:0x800034E0; // type:function size:0x30 -TRK_memcpy = .init:0x80003510; // type:function size:0x24 -gTRKInterruptVectorTable = .init:0x80003534; // type:label scope:global -lbl_80003800 = .init:0x80003800; // type:label -lbl_80003C00 = .init:0x80003C00; // type:label -lbl_80003F80 = .init:0x80003F80; // type:label -__TRK_reset = .init:0x80005468; // type:function size:0x104 -gTRKInterruptVectorTableEnd = .init:0x80005468; // type:label scope:global -_rom_copy_info = .init:0x8000556C; // type:object size:0x84 scope:global data:4byte -_bss_init_info = .init:0x800055F0; // type:object size:0x20 scope:global data:4byte -@etb_80005620 = extab:0x80005620; // type:object size:0x28 scope:local hidden -@etb_80005648 = extab:0x80005648; // type:object size:0x8 scope:local hidden -@etb_80005650 = extab:0x80005650; // type:object size:0x8 scope:local hidden -@etb_80005658 = extab:0x80005658; // type:object size:0x8 scope:local hidden -@etb_80005660 = extab:0x80005660; // type:object size:0x8 scope:local hidden -@etb_80005668 = extab:0x80005668; // type:object size:0x8 scope:local hidden -@etb_80005670 = extab:0x80005670; // type:object size:0x8 scope:local hidden -@etb_80005678 = extab:0x80005678; // type:object size:0x14 scope:local hidden -@etb_8000568C = extab:0x8000568C; // type:object size:0x2C scope:local hidden -@etb_800056B8 = extab:0x800056B8; // type:object size:0x8 scope:local hidden -@etb_800056C0 = extab:0x800056C0; // type:object size:0x14 scope:local hidden -@etb_800056D4 = extab:0x800056D4; // type:object size:0x8 scope:local hidden -@etb_800056DC = extab:0x800056DC; // type:object size:0x8 scope:local hidden -@eti_80005700 = extabindex:0x80005700; // type:object size:0xC scope:local hidden -@eti_8000570C = extabindex:0x8000570C; // type:object size:0xC scope:local hidden -@eti_80005718 = extabindex:0x80005718; // type:object size:0xC scope:local hidden -@eti_80005724 = extabindex:0x80005724; // type:object size:0xC scope:local hidden -@eti_80005730 = extabindex:0x80005730; // type:object size:0xC scope:local hidden -@eti_8000573C = extabindex:0x8000573C; // type:object size:0xC scope:local hidden -@eti_80005748 = extabindex:0x80005748; // type:object size:0xC scope:local hidden -@eti_80005754 = extabindex:0x80005754; // type:object size:0xC scope:local hidden -@eti_80005760 = extabindex:0x80005760; // type:object size:0xC scope:local hidden -@eti_8000576C = extabindex:0x8000576C; // type:object size:0xC scope:local hidden -@eti_80005778 = extabindex:0x80005778; // type:object size:0xC scope:local hidden -@eti_80005784 = extabindex:0x80005784; // type:object size:0xC scope:local hidden -@eti_80005790 = extabindex:0x80005790; // type:object size:0xC scope:local hidden -_eti_init_info = extabindex:0x8000579C; // type:object size:0x20 scope:global -main = .text:0x800057C0; // type:function size:0x22C scope:global -HuSysVWaitSet = .text:0x800059EC; // type:function size:0x38 -HuSysVWaitGet = .text:0x80005A24; // type:function size:0xC -rand8 = .text:0x80005A30; // type:function size:0x2C -HuPadInit = .text:0x80005A5C; // type:function size:0xF0 -HuPadRead = .text:0x80005B4C; // type:function size:0x168 -PadReadVSync = .text:0x80005CB4; // type:function size:0x440 scope:local -PadADConv = .text:0x800060F4; // type:function size:0x234 scope:local -HuPadRumbleSet = .text:0x80006328; // type:function size:0x54 -HuPadRumbleStop = .text:0x8000637C; // type:function size:0x70 -HuPadRumbleAllStop = .text:0x800063EC; // type:function size:0x70 -HuPadStatGet = .text:0x8000645C; // type:function size:0x14 -HuPadRumbleGet = .text:0x80006470; // type:function size:0x8 -HuDVDReadAsyncCallBack = .text:0x80006478; // type:function size:0xC scope:local -HuDvdDataRead = .text:0x80006484; // type:function size:0x16C -HuDvdDataReadMulti = .text:0x800065F0; // type:function size:0x1B4 -HuDvdDataReadDirect = .text:0x800067A4; // type:function size:0x170 -HuDvdDataFastRead = .text:0x80006914; // type:function size:0x16C -HuDvdDataFastReadNum = .text:0x80006A80; // type:function size:0x174 -HuDvdDataFastReadAsync = .text:0x80006BF4; // type:function size:0x150 -HuDvdDataClose = .text:0x80006D44; // type:function size:0x38 -HuDvdErrorWatch = .text:0x80006D7C; // type:function size:0xBC -HuDataInit = .text:0x80006E38; // type:function size:0xD0 -HuDataReadChk = .text:0x80006F08; // type:function size:0x74 -HuDataGetStatus = .text:0x80006F7C; // type:function size:0x64 -HuDataGetDirPtr = .text:0x80006FE0; // type:function size:0xB8 -HuDataDirRead = .text:0x80007098; // type:function size:0x224 -HuDataDirSet = .text:0x800072BC; // type:function size:0x188 -HuDataDirReadAsyncCallBack = .text:0x80007444; // type:function size:0xC8 -HuDataDirReadAsync = .text:0x8000750C; // type:function size:0x1A8 -HuDataDirReadNumAsync = .text:0x800076B4; // type:function size:0x1A8 -HuDataGetAsyncStat = .text:0x8000785C; // type:function size:0x60 -HuDataRead = .text:0x800078BC; // type:function size:0x344 -HuDataReadNum = .text:0x80007C00; // type:function size:0x3A0 -HuDataSelHeapRead = .text:0x80007FA0; // type:function size:0x3C4 -HuDataSelHeapReadNum = .text:0x80008364; // type:function size:0x428 -HuDataReadMulti = .text:0x8000878C; // type:function size:0x30 -HuDataReadMultiSub = .text:0x800087BC; // type:function size:0x3FC -HuDataGetSize = .text:0x80008BB8; // type:function size:0x104 -HuDataClose = .text:0x80008CBC; // type:function size:0x38 -HuDataCloseMulti = .text:0x80008CF4; // type:function size:0x7C -HuDataDirClose = .text:0x80008D70; // type:function size:0xD4 -HuDataDirCloseNum = .text:0x80008E44; // type:function size:0x130 -HuDataReadNumHeapShortForce = .text:0x80008F74; // type:function size:0x48C -HuDecodeSlide = .text:0x80009400; // type:function size:0x200 scope:local -HuDecodeFslide = .text:0x80009600; // type:function size:0x1D8 scope:local -HuDecodeData = .text:0x800097D8; // type:function size:0x324 -HuSysInit = .text:0x80009AFC; // type:function size:0x138 -InitRenderMode = .text:0x80009C34; // type:function size:0xD0 scope:local -InitGX = .text:0x80009D04; // type:function size:0x164 scope:local -InitMem = .text:0x80009E68; // type:function size:0x13C scope:local -InitVI = .text:0x80009FA4; // type:function size:0x54 scope:local -HuSysBeforeRender = .text:0x80009FF8; // type:function size:0xE4 -HuSysDoneRender = .text:0x8000A0DC; // type:function size:0xC8 -SwapBuffers = .text:0x8000A1A4; // type:function size:0x6C scope:local -LoadMemInfo = .text:0x8000A210; // type:function size:0x254 scope:local -gcsetjmp = .text:0x8000A464; // type:function size:0x74 -gclongjmp = .text:0x8000A4D8; // type:function size:0x80 -HuMemInitAll = .text:0x8000A558; // type:function size:0x12C -HuMemInit = .text:0x8000A684; // type:function size:0x30 -HuMemDCFlushAll = .text:0x8000A6B4; // type:function size:0x2C -HuMemDCFlush = .text:0x8000A6E0; // type:function size:0x54 -HuMemDirectMalloc = .text:0x8000A734; // type:function size:0x64 -HuMemDirectMallocNum = .text:0x8000A798; // type:function size:0x6C -HuMemDirectFree = .text:0x8000A804; // type:function size:0x38 -HuMemDirectFreeNum = .text:0x8000A83C; // type:function size:0x54 -HuMemUsedMallocSizeGet = .text:0x8000A890; // type:function size:0x3C -HuMemUsedMallocBlockGet = .text:0x8000A8CC; // type:function size:0x3C -HuMemHeapSizeGet = .text:0x8000A908; // type:function size:0x18 -HuMemHeapPtrGet = .text:0x8000A920; // type:function size:0x18 -HuMemHeapInit = .text:0x8000A938; // type:function size:0x4C -HuMemMemoryAllocNum = .text:0x8000A984; // type:function size:0x40 -HuMemMemoryAlloc = .text:0x8000A9C4; // type:function size:0x3C -HuMemMemoryAlloc2 = .text:0x8000AA00; // type:function size:0x108 scope:local -HuMemMemoryFreeNum = .text:0x8000AB08; // type:function size:0x7C -HuMemMemoryFree = .text:0x8000AB84; // type:function size:0x12C -HuMemUsedMemorySizeGet = .text:0x8000ACB0; // type:function size:0x48 -HuMemUsedMemoryBlockGet = .text:0x8000ACF8; // type:function size:0x44 -HuMemMemoryAllocSizeGet = .text:0x8000AD3C; // type:function size:0xC -HuMemHeapDump = .text:0x8000AD48; // type:function size:0x158 -HuMemMemorySizeGet = .text:0x8000AEA0; // type:function size:0x50 -pfInit = .text:0x8000AEF0; // type:function size:0x64 -pfClsScr = .text:0x8000AF54; // type:function size:0xA0 -print8 = .text:0x8000AFF4; // type:function size:0x15C -printWin = .text:0x8000B150; // type:function size:0xAC -pfDrawFonts = .text:0x8000B1FC; // type:function size:0xEE8 -WireDraw = .text:0x8000C0E4; // type:function size:0x3C0 scope:local -HuPrcInit = .text:0x8000C4A4; // type:function size:0x14 -HuPrcCreate = .text:0x8000C4B8; // type:function size:0x1E8 -HuPrcChildLink = .text:0x8000C6A0; // type:function size:0x68 -HuPrcChildUnlink = .text:0x8000C708; // type:function size:0x58 -HuPrcChildCreate = .text:0x8000C760; // type:function size:0x27C -HuPrcChildWatch = .text:0x8000C9DC; // type:function size:0x60 -HuPrcCurrentGet = .text:0x8000CA3C; // type:function size:0x8 -SetKillStatusProcess = .text:0x8000CA44; // type:function size:0x50 scope:local -HuPrcKill = .text:0x8000CA94; // type:function size:0xD4 -HuPrcChildKill = .text:0x8000CB68; // type:function size:0x2A4 -HuPrcEnd = .text:0x8000CE0C; // type:function size:0x100 -HuPrcSleep = .text:0x8000CF0C; // type:function size:0x80 -HuPrcVSleep = .text:0x8000CF8C; // type:function size:0x54 -HuPrcWakeup = .text:0x8000CFE0; // type:function size:0xC -HuPrcDestructorSet2 = .text:0x8000CFEC; // type:function size:0x8 -HuPrcDestructorSet = .text:0x8000CFF4; // type:function size:0x28 -HuPrcCall = .text:0x8000D01C; // type:function size:0x184 -HuPrcMemAlloc = .text:0x8000D1A0; // type:function size:0x4C -HuPrcMemFree = .text:0x8000D1EC; // type:function size:0x30 -HuPrcSetStat = .text:0x8000D21C; // type:function size:0x10 -HuPrcResetStat = .text:0x8000D22C; // type:function size:0x14 -HuPrcAllPause = .text:0x8000D240; // type:function size:0x84 -HuPrcAllUPause = .text:0x8000D2C4; // type:function size:0x84 -HuSprInit = .text:0x8000D348; // type:function size:0xA0 -HuSprClose = .text:0x8000D3E8; // type:function size:0xB0 -HuSprExec = .text:0x8000D498; // type:function size:0x64 -HuSprBegin = .text:0x8000D4FC; // type:function size:0x188 -HuSprOrderEntry = .text:0x8000D684; // type:function size:0x14C -HuSprCall = .text:0x8000D7D0; // type:function size:0xF4 -HuSprFinish = .text:0x8000D8C4; // type:function size:0x458 -HuSprPauseSet = .text:0x8000DD1C; // type:function size:0x8 -HuSprAnimRead = .text:0x8000DD24; // type:function size:0x114 -HuSprAnimLock = .text:0x8000DE38; // type:function size:0x10 -HuSprCreate = .text:0x8000DE48; // type:function size:0x128 -HuSprFuncCreate = .text:0x8000DF70; // type:function size:0x188 -HuSprGrpCreate = .text:0x8000E0F8; // type:function size:0xF4 -HuSprGrpCopy = .text:0x8000E1EC; // type:function size:0x334 -HuSprGrpMemberSet = .text:0x8000E520; // type:function size:0x8C -HuSprGrpMemberKill = .text:0x8000E5AC; // type:function size:0xAC -HuSprGrpKill = .text:0x8000E658; // type:function size:0x9C -HuSprKill = .text:0x8000E6F4; // type:function size:0x84 -HuSprAnimKill = .text:0x8000E778; // type:function size:0x90 -HuSprAttrSet = .text:0x8000E808; // type:function size:0xAC -HuSprAttrReset = .text:0x8000E8B4; // type:function size:0xAC -HuSprPosSet = .text:0x8000E960; // type:function size:0x60 -HuSprZRotSet = .text:0x8000E9C0; // type:function size:0x5C -HuSprScaleSet = .text:0x8000EA1C; // type:function size:0x60 -HuSprTPLvlSet = .text:0x8000EA7C; // type:function size:0x64 -HuSprColorSet = .text:0x8000EAE0; // type:function size:0x64 -HuSprSpeedSet = .text:0x8000EB44; // type:function size:0x4C -HuSprBankSet = .text:0x8000EB90; // type:function size:0xF0 -HuSprGrpPosSet = .text:0x8000EC80; // type:function size:0x9C -HuSprGrpCenterSet = .text:0x8000ED1C; // type:function size:0x9C -HuSprGrpZRotSet = .text:0x8000EDB8; // type:function size:0x98 -HuSprGrpScaleSet = .text:0x8000EE50; // type:function size:0x9C -HuSprGrpTPLvlSet = .text:0x8000EEEC; // type:function size:0xC0 -HuSprGrpDrawNoSet = .text:0x8000EFAC; // type:function size:0x8C -HuSprDrawNoSet = .text:0x8000F038; // type:function size:0x50 -HuSprPriSet = .text:0x8000F088; // type:function size:0x4C -HuSprGrpScissorSet = .text:0x8000F0D4; // type:function size:0xAC -HuSprScissorSet = .text:0x8000F180; // type:function size:0x58 -HuSprAnimMake = .text:0x8000F1D8; // type:function size:0x1FC -HuSprBGSet = .text:0x8000F3D4; // type:function size:0x68 -HuSprSprBGSet = .text:0x8000F43C; // type:function size:0x50 -AnimDebug = .text:0x8000F48C; // type:function size:0x214 -HuSprDispInit = .text:0x8000F6A0; // type:function size:0x158 -HuSprDisp = .text:0x8000F7F8; // type:function size:0xECC -HuSprTexLoad = .text:0x800106C4; // type:function size:0x29C -HuSprExecLayerSet = .text:0x80010960; // type:function size:0x58 -HuSprLayerHook = .text:0x800109B8; // type:function size:0x178 scope:local -LoadHSF = .text:0x80010B30; // type:function size:0xB0 -ClusterAdjustObject = .text:0x80010BE0; // type:function size:0xA0 -FileLoad = .text:0x80010C80; // type:function size:0xC8 scope:local -SetHsfModel = .text:0x80010D48; // type:function size:0x284 scope:local -SetName = .text:0x80010FCC; // type:function size:0x38 -MaterialLoad = .text:0x80011004; // type:function size:0x210 scope:local -AttributeLoad = .text:0x80011214; // type:function size:0xF8 scope:local -SceneLoad = .text:0x8001130C; // type:function size:0x80 scope:local -ColorLoad = .text:0x8001138C; // type:function size:0x130 scope:local -VertexLoad = .text:0x800114BC; // type:function size:0x1C0 scope:local -NormalLoad = .text:0x8001167C; // type:function size:0x128 scope:local -STLoad = .text:0x800117A4; // type:function size:0x1A8 scope:local -FaceLoad = .text:0x8001194C; // type:function size:0x190 scope:local -DispObject = .text:0x80011ADC; // type:function size:0x7A8 scope:local -ObjectLoad = .text:0x80012284; // type:function size:0x15C scope:local -CenvLoad = .text:0x800123E0; // type:function size:0x464 scope:local -SkeletonLoad = .text:0x80012844; // type:function size:0x198 scope:local -PartLoad = .text:0x800129DC; // type:function size:0x12C scope:local -ClusterLoad = .text:0x80012B08; // type:function size:0x1E8 scope:local -ShapeLoad = .text:0x80012CF0; // type:function size:0x168 scope:local -MapAttrLoad = .text:0x80012E58; // type:function size:0xD0 scope:local -BitmapLoad = .text:0x80012F28; // type:function size:0x174 scope:local -PaletteLoad = .text:0x8001309C; // type:function size:0x16C scope:local -MakeObjectName = .text:0x80013208; // type:function size:0xE8 -CmpObjectName = .text:0x800132F0; // type:function size:0x38 -MotionLoad = .text:0x80013328; // type:function size:0x938 scope:local -MatrixLoad = .text:0x80013C60; // type:function size:0x80 scope:local -SearchObjectSetName = .text:0x80013CE0; // type:function size:0x94 scope:local -SearchVertexPtr = .text:0x80013D74; // type:function size:0x44 scope:local -SearchNormalPtr = .text:0x80013DB8; // type:function size:0x44 scope:local -SearchStPtr = .text:0x80013DFC; // type:function size:0x44 scope:local -SearchColorPtr = .text:0x80013E40; // type:function size:0x44 scope:local -SearchFacePtr = .text:0x80013E84; // type:function size:0x44 scope:local -SearchCenvPtr = .text:0x80013EC8; // type:function size:0x44 scope:local -SearchPartPtr = .text:0x80013F0C; // type:function size:0x44 scope:local -SearchPalettePtr = .text:0x80013F50; // type:function size:0x3C scope:local -SearchBitmapPtr = .text:0x80013F8C; // type:function size:0x44 scope:local -GetString = .text:0x80013FD0; // type:function size:0x24 scope:local -GetMotionString = .text:0x80013FF4; // type:function size:0x24 scope:local -Hu3DDrawPreInit = .text:0x80014018; // type:function size:0xC -Hu3DDraw = .text:0x80014024; // type:function size:0x1A0 -objCall = .text:0x800141C4; // type:function size:0xEC scope:local -objMesh = .text:0x800142B0; // type:function size:0x86C scope:local -ObjCullCheck = .text:0x80014B1C; // type:function size:0x4C0 -FaceDraw = .text:0x80014FDC; // type:function size:0x10DC -SetTevStageNoTex = .text:0x800160B8; // type:function size:0x8E8 scope:local -SetTevStageTex = .text:0x800169A0; // type:function size:0x2588 scope:local -SetKColor = .text:0x80018F28; // type:function size:0x164 scope:local -SetKColorRGB = .text:0x8001908C; // type:function size:0x180 scope:local -FlushKColor = .text:0x8001920C; // type:function size:0xB0 scope:local -SetReflect = .text:0x800192BC; // type:function size:0x280 scope:local -SetProjection = .text:0x8001953C; // type:function size:0x29C scope:local -SetShadowTex = .text:0x800197D8; // type:function size:0x8C scope:local -SetShadow = .text:0x80019864; // type:function size:0xCC scope:local -FaceDrawShadow = .text:0x80019930; // type:function size:0x5E4 scope:local -LoadTexture = .text:0x80019F14; // type:function size:0x75C scope:local -objNull = .text:0x8001A670; // type:function size:0x248 scope:local -objRoot = .text:0x8001A8B8; // type:function size:0x198 scope:local -objJoint = .text:0x8001AA50; // type:function size:0x248 scope:local -objMap = .text:0x8001AC98; // type:function size:0x17C scope:local -objReplica = .text:0x8001AE14; // type:function size:0x1B4 scope:local -Hu3DDrawPost = .text:0x8001AFC8; // type:function size:0xB00 -ObjDraw = .text:0x8001BAC8; // type:function size:0x6D0 scope:local -MakeDisplayList = .text:0x8001C198; // type:function size:0xBC -MDObjCall = .text:0x8001C254; // type:function size:0x438 scope:local -MDObjMesh = .text:0x8001C68C; // type:function size:0x2A8 scope:local -ObjConstantMake = .text:0x8001C934; // type:function size:0x68 -MDFaceDraw = .text:0x8001C99C; // type:function size:0xD08 scope:local -MakeCalcNBT = .text:0x8001D6A4; // type:function size:0x3A8 scope:local -MakeNBT = .text:0x8001DA4C; // type:function size:0x2C4 scope:local -MDFaceCnt = .text:0x8001DD10; // type:function size:0x2C8 scope:local -mtxTransCat = .text:0x8001DFD8; // type:function size:0x4C -mtxRotCat = .text:0x8001E024; // type:function size:0xF4 -mtxRot = .text:0x8001E118; // type:function size:0xF0 -mtxScaleCat = .text:0x8001E208; // type:function size:0x70 -HmfInverseMtxF3X3 = .text:0x8001E278; // type:function size:0x1E0 -SetDefLight = .text:0x8001E458; // type:function size:0x190 -Hu3DModelObjPosGet = .text:0x8001E5E8; // type:function size:0x90 -Hu3DModelObjMtxGet = .text:0x8001E678; // type:function size:0x318 -PGObjCall = .text:0x8001E990; // type:function size:0x80 -PGObjCalc = .text:0x8001EA10; // type:function size:0x7B0 -PGObjReplica = .text:0x8001F1C0; // type:function size:0x574 -Hu3DObjDuplicate = .text:0x8001F734; // type:function size:0x158 -Hu3DModelObjDrawInit = .text:0x8001F88C; // type:function size:0x90 -Hu3DModelObjDraw = .text:0x8001F91C; // type:function size:0x90 -Hu3DInit = .text:0x8001F9AC; // type:function size:0x220 -Hu3DPreProc = .text:0x8001FBCC; // type:function size:0xD8 -Hu3DExec = .text:0x8001FCA4; // type:function size:0x688 -Hu3DAllKill = .text:0x8002032C; // type:function size:0x158 -Hu3DBGColorSet = .text:0x80020484; // type:function size:0x18 -Hu3DLayerHookSet = .text:0x8002049C; // type:function size:0x1C -Hu3DPauseSet = .text:0x800204B8; // type:function size:0xC -Hu3DNoSyncSet = .text:0x800204C4; // type:function size:0xC -Hu3DModelCreate = .text:0x800204D0; // type:function size:0x330 -Hu3DModelLink = .text:0x80020800; // type:function size:0x2E8 -Hu3DHookFuncCreate = .text:0x80020AE8; // type:function size:0x1C8 -Hu3DModelKill = .text:0x80020CB0; // type:function size:0x34C -Hu3DModelAllKill = .text:0x80020FFC; // type:function size:0xD0 -Hu3DModelPosSet = .text:0x800210CC; // type:function size:0x34 -Hu3DModelPosSetV = .text:0x80021100; // type:function size:0x40 -Hu3DModelRotSet = .text:0x80021140; // type:function size:0x34 -Hu3DModelRotSetV = .text:0x80021174; // type:function size:0x40 -Hu3DModelScaleSet = .text:0x800211B4; // type:function size:0x34 -Hu3DModelScaleSetV = .text:0x800211E8; // type:function size:0x40 -Hu3DModelAttrSet = .text:0x80021228; // type:function size:0x54 -Hu3DModelAttrReset = .text:0x8002127C; // type:function size:0x50 -Hu3DModelAttrGet = .text:0x800212CC; // type:function size:0x2C -Hu3DModelMotionAttrGet = .text:0x800212F8; // type:function size:0x2C -Hu3DModelClusterAttrSet = .text:0x80021324; // type:function size:0x44 -Hu3DModelClusterAttrReset = .text:0x80021368; // type:function size:0x44 -Hu3DModelCameraSet = .text:0x800213AC; // type:function size:0x2C -Hu3DModelLayerSet = .text:0x800213D8; // type:function size:0x6C -Hu3DModelObjPtrGet = .text:0x80021444; // type:function size:0xD8 -Hu3DModelTPLvlSet = .text:0x8002151C; // type:function size:0xF8 -Hu3DModelHiliteMapSet = .text:0x80021614; // type:function size:0x98 -Hu3DModelShadowSet = .text:0x800216AC; // type:function size:0xB0 -Hu3DModelShadowReset = .text:0x8002175C; // type:function size:0xA0 -Hu3DModelShadowDispOn = .text:0x800217FC; // type:function size:0x34 -Hu3DModelShadowDispOff = .text:0x80021830; // type:function size:0x34 -Hu3DModelShadowMapSet = .text:0x80021864; // type:function size:0x88 -Hu3DModelShadowMapObjSet = .text:0x800218EC; // type:function size:0xBC -Hu3DModelAmbSet = .text:0x800219A8; // type:function size:0x34 -Hu3DModelHookSet = .text:0x800219DC; // type:function size:0xEC -Hu3DModelHookReset = .text:0x80021AC8; // type:function size:0xB4 -Hu3DModelHookObjReset = .text:0x80021B7C; // type:function size:0xF0 -Hu3DModelProjectionSet = .text:0x80021C6C; // type:function size:0x44 -Hu3DModelProjectionReset = .text:0x80021CB0; // type:function size:0x44 -Hu3DModelHiliteTypeSet = .text:0x80021CF4; // type:function size:0xBC -Hu3DModelReflectTypeSet = .text:0x80021DB0; // type:function size:0x30 -Hu3DCameraCreate = .text:0x80021DE0; // type:function size:0x134 -Hu3DCameraPerspectiveSet = .text:0x80021F14; // type:function size:0x80 -Hu3DCameraViewportSet = .text:0x80021F94; // type:function size:0x88 -Hu3DCameraScissorSet = .text:0x8002201C; // type:function size:0x90 -Hu3DCameraPosSet = .text:0x800220AC; // type:function size:0x98 -Hu3DCameraPosSetV = .text:0x80022144; // type:function size:0xB8 -Hu3DCameraKill = .text:0x800221FC; // type:function size:0x78 -Hu3DCameraAllKill = .text:0x80022274; // type:function size:0xD0 -Hu3DCameraSet = .text:0x80022344; // type:function size:0xDC -Hu3DModelCameraInfoSet = .text:0x80022420; // type:function size:0x3C0 -Hu3DModelCameraCreate = .text:0x800227E0; // type:function size:0x88 -Hu3DCameraMotionOn = .text:0x80022868; // type:function size:0x58 -Hu3DCameraMotionStart = .text:0x800228C0; // type:function size:0xD4 -Hu3DCameraMotionOff = .text:0x80022994; // type:function size:0x34 -Hu3DLighInit = .text:0x800229C8; // type:function size:0x74 -Hu3DGLightCreate = .text:0x80022A3C; // type:function size:0xA0 -Hu3DGLightCreateV = .text:0x80022ADC; // type:function size:0x104 -Hu3DLLightCreate = .text:0x80022BE0; // type:function size:0xA8 -Hu3DLLightCreateV = .text:0x80022C88; // type:function size:0x17C -Hu3DGLightSpotSet = .text:0x80022E04; // type:function size:0x44 -Hu3DLLightSpotSet = .text:0x80022E48; // type:function size:0x6C -Hu3DGLightInfinitytSet = .text:0x80022EB4; // type:function size:0x48 -Hu3DLLightInfinitytSet = .text:0x80022EFC; // type:function size:0x70 -Hu3DGLightPointSet = .text:0x80022F6C; // type:function size:0x58 -Hu3DLLightPointSet = .text:0x80022FC4; // type:function size:0x80 -Hu3DGLightKill = .text:0x80023044; // type:function size:0x20 -Hu3DLLightKill = .text:0x80023064; // type:function size:0xBC -Hu3DLightAllKill = .text:0x80023120; // type:function size:0x68 -Hu3DGLightColorSet = .text:0x80023188; // type:function size:0x38 -Hu3DLLightColorSet = .text:0x800231C0; // type:function size:0x60 -Hu3DGLightPosSetV = .text:0x80023220; // type:function size:0x70 -Hu3DLLightPosSetV = .text:0x80023290; // type:function size:0x9C -Hu3DGLightPosSet = .text:0x8002332C; // type:function size:0x90 -Hu3DLLightPosSet = .text:0x800233BC; // type:function size:0xBC -Hu3DGLightPosAimSetV = .text:0x80023478; // type:function size:0x80 -Hu3DLLightPosAimSetV = .text:0x800234F8; // type:function size:0xAC -Hu3DGLightPosAimSet = .text:0x800235A4; // type:function size:0xC4 -Hu3DLLightPosAimSet = .text:0x80023668; // type:function size:0xF0 -Hu3DGLightStaticSet = .text:0x80023758; // type:function size:0x54 -Hu3DLLightStaticSet = .text:0x800237AC; // type:function size:0x7C -Hu3DModelLightInfoSet = .text:0x80023828; // type:function size:0x4D0 -Hu3DLightSet = .text:0x80023CF8; // type:function size:0x130 -lightSet = .text:0x80023E28; // type:function size:0x254 -Hu3DReflectMapSet = .text:0x8002407C; // type:function size:0x68 -Hu3DReflectNoSet = .text:0x800240E4; // type:function size:0x8 -Hu3DFogSet = .text:0x800240EC; // type:function size:0x60 -Hu3DFogClear = .text:0x8002414C; // type:function size:0x74 -Hu3DShadowCreate = .text:0x800241C0; // type:function size:0x188 -Hu3DShadowPosSet = .text:0x80024348; // type:function size:0x64 -Hu3DShadowTPLvlSet = .text:0x800243AC; // type:function size:0x2C -Hu3DShadowSizeSet = .text:0x800243D8; // type:function size:0x78 -Hu3DShadowExec = .text:0x80024450; // type:function size:0x860 -Hu3DProjectionCreate = .text:0x80024CB0; // type:function size:0x130 -Hu3DProjectionKill = .text:0x80024DE0; // type:function size:0x60 -Hu3DProjectionPosSet = .text:0x80024E40; // type:function size:0x88 -Hu3DProjectionTPLvlSet = .text:0x80024EC8; // type:function size:0x38 -Hu3DMipMapSet = .text:0x80024F00; // type:function size:0x1E8 -Hu3DMotionInit = .text:0x800250E8; // type:function size:0x48 -Hu3DMotionCreate = .text:0x80025130; // type:function size:0xA4 -Hu3DMotionModelCreate = .text:0x800251D4; // type:function size:0xC4 -Hu3DMotionKill = .text:0x80025298; // type:function size:0x114 -Hu3DMotionAllKill = .text:0x800253AC; // type:function size:0x11C -Hu3DMotionSet = .text:0x800254C8; // type:function size:0xBC -Hu3DMotionOverlaySet = .text:0x80025584; // type:function size:0x54 -Hu3DMotionOverlayReset = .text:0x800255D8; // type:function size:0x20 -Hu3DMotionOverlayTimeGet = .text:0x800255F8; // type:function size:0x1C -Hu3DMotionOverlayTimeSet = .text:0x80025614; // type:function size:0x1C -Hu3DMotionOverlaySpeedSet = .text:0x80025630; // type:function size:0x1C -Hu3DMotionShiftSet = .text:0x8002564C; // type:function size:0x1F4 -Hu3DMotionShapeSet = .text:0x80025840; // type:function size:0xBC -Hu3DMotionShapeIDGet = .text:0x800258FC; // type:function size:0x1C -Hu3DMotionShapeSpeedSet = .text:0x80025918; // type:function size:0x2C -Hu3DMotionShapeTimeSet = .text:0x80025944; // type:function size:0x1C -Hu3DMotionShapeMaxTimeGet = .text:0x80025960; // type:function size:0x44 -Hu3DMotionShapeStartEndSet = .text:0x800259A4; // type:function size:0x30 -Hu3DMotionClusterSet = .text:0x800259D4; // type:function size:0x114 -Hu3DMotionClusterNoSet = .text:0x80025AE8; // type:function size:0xD0 -Hu3DMotionShapeReset = .text:0x80025BB8; // type:function size:0x20 -Hu3DMotionClusterReset = .text:0x80025BD8; // type:function size:0xC8 -Hu3DMotionIDGet = .text:0x80025CA0; // type:function size:0x2C -Hu3DMotionShiftIDGet = .text:0x80025CCC; // type:function size:0x2C -Hu3DMotionTimeSet = .text:0x80025CF8; // type:function size:0xF4 -Hu3DMotionTimeGet = .text:0x80025DEC; // type:function size:0x2C -Hu3DMotionShiftTimeGet = .text:0x80025E18; // type:function size:0x2C -Hu3DMotionMaxTimeGet = .text:0x80025E44; // type:function size:0xA8 -Hu3DMotionShiftMaxTimeGet = .text:0x80025EEC; // type:function size:0xA8 -Hu3DMotionShiftStartEndSet = .text:0x80025F94; // type:function size:0x30 -Hu3DMotionMotionMaxTimeGet = .text:0x80025FC4; // type:function size:0x8C -Hu3DMotionStartEndSet = .text:0x80026050; // type:function size:0x30 -Hu3DMotionEndCheck = .text:0x80026080; // type:function size:0x170 -Hu3DMotionSpeedSet = .text:0x800261F0; // type:function size:0x2C -Hu3DMotionShiftSpeedSet = .text:0x8002621C; // type:function size:0x2C -Hu3DMotionNoMotSet = .text:0x80026248; // type:function size:0x114 -Hu3DMotionNoMotReset = .text:0x8002635C; // type:function size:0x5C -Hu3DMotionForceSet = .text:0x800263B8; // type:function size:0x108 -Hu3DMotionNext = .text:0x800264C0; // type:function size:0x798 -Hu3DMotionExec = .text:0x80026C58; // type:function size:0x534 -Hu3DCameraMotionExec = .text:0x8002718C; // type:function size:0xC0 -Hu3DSubMotionExec = .text:0x8002724C; // type:function size:0x2A8 -GetObjTRXPtr = .text:0x800274F4; // type:function size:0x14C -SetObjMatMotion = .text:0x80027640; // type:function size:0x208 -SetObjAttrMotion = .text:0x80027848; // type:function size:0x218 -SetObjCameraMotion = .text:0x80027A60; // type:function size:0x558 -SetObjLightMotion = .text:0x80027FB8; // type:function size:0x1D8 -GetCurve = .text:0x80028190; // type:function size:0xD8 -GetConstant = .text:0x80028268; // type:function size:0x70 -GetLinear = .text:0x800282D8; // type:function size:0x110 -GetBezier = .text:0x800283E8; // type:function size:0x200 -GetBitMap = .text:0x800285E8; // type:function size:0x64 -Hu3DJointMotion = .text:0x8002864C; // type:function size:0xCC -JointModel_Motion = .text:0x80028718; // type:function size:0x124 -Hu3DMotionCalc = .text:0x8002883C; // type:function size:0x19C -SearchObjectIndex = .text:0x800289D8; // type:function size:0x90 scope:local -SearchAttributeIndex = .text:0x80028A68; // type:function size:0x9C scope:local -Hu3DAnimInit = .text:0x80028B04; // type:function size:0x7C -Hu3DAnimCreate = .text:0x80028B80; // type:function size:0x1D0 -Hu3DAnimLink = .text:0x80028D50; // type:function size:0x1C4 -Hu3DAnimKill = .text:0x80028F14; // type:function size:0x104 -Hu3DAnimModelKill = .text:0x80029018; // type:function size:0x13C -Hu3DAnimAllKill = .text:0x80029154; // type:function size:0x134 -Hu3DAnimAttrSet = .text:0x80029288; // type:function size:0x34 -Hu3DAnimAttrReset = .text:0x800292BC; // type:function size:0x38 -Hu3DAnimSpeedSet = .text:0x800292F4; // type:function size:0x2C -Hu3DAnimBankSet = .text:0x80029320; // type:function size:0x48 -Hu3DAnmNoSet = .text:0x80029368; // type:function size:0x38 -Hu3DAnimSet = .text:0x800293A0; // type:function size:0x240 -Hu3DAnimExec = .text:0x800295E0; // type:function size:0x474 -Hu3DTexScrollCreate = .text:0x80029A54; // type:function size:0x1AC -Hu3DTexScrollKill = .text:0x80029C00; // type:function size:0xE0 -Hu3DTexScrollAllKill = .text:0x80029CE0; // type:function size:0x10C -Hu3DTexScrollPosSet = .text:0x80029DEC; // type:function size:0x44 -Hu3DTexScrollPosMoveSet = .text:0x80029E30; // type:function size:0xA4 -Hu3DTexScrollRotSet = .text:0x80029ED4; // type:function size:0x3C -Hu3DTexScrollRotMoveSet = .text:0x80029F10; // type:function size:0x5C -Hu3DTexScrollPauseDisableSet = .text:0x80029F6C; // type:function size:0x54 -Hu3DParticleCreate = .text:0x80029FC0; // type:function size:0x348 -Hu3DParticleScaleSet = .text:0x8002A308; // type:function size:0x6C -Hu3DParticleZRotSet = .text:0x8002A374; // type:function size:0x6C -Hu3DParticleColSet = .text:0x8002A3E0; // type:function size:0x74 -Hu3DParticleTPLvlSet = .text:0x8002A454; // type:function size:0x80 -Hu3DParticleBlendModeSet = .text:0x8002A4D4; // type:function size:0x38 -Hu3DParticleHookSet = .text:0x8002A50C; // type:function size:0x38 -Hu3DParticleAttrSet = .text:0x8002A544; // type:function size:0x40 -Hu3DParticleAttrReset = .text:0x8002A584; // type:function size:0x44 -Hu3DParticleCntSet = .text:0x8002A5C8; // type:function size:0x3C -Hu3DParticleAnimModeSet = .text:0x8002A604; // type:function size:0x60 -particleFunc = .text:0x8002A664; // type:function size:0xAD4 scope:local -Hu3DParManInit = .text:0x8002B138; // type:function size:0x48 -Hu3DParManCreate = .text:0x8002B180; // type:function size:0x1D4 -Hu3DParManLink = .text:0x8002B354; // type:function size:0x17C -Hu3DParManKill = .text:0x8002B4D0; // type:function size:0x190 -Hu3DParManAllKill = .text:0x8002B660; // type:function size:0x1C4 -Hu3DParManPtrGet = .text:0x8002B824; // type:function size:0x20 -Hu3DParManPosSet = .text:0x8002B844; // type:function size:0x3C -Hu3DParManVecSet = .text:0x8002B880; // type:function size:0x3C -Hu3DParManRotSet = .text:0x8002B8BC; // type:function size:0x7C -Hu3DParManAttrSet = .text:0x8002B938; // type:function size:0x40 -Hu3DParManAttrReset = .text:0x8002B978; // type:function size:0x40 -Hu3DParManModelIDGet = .text:0x8002B9B8; // type:function size:0x34 -Hu3DParManTimeLimitSet = .text:0x8002B9EC; // type:function size:0x38 -Hu3DParManVacumeSet = .text:0x8002BA24; // type:function size:0x74 -Hu3DParManColorSet = .text:0x8002BA98; // type:function size:0x68 -ParManFunc = .text:0x8002BB00; // type:function size:0xBC0 scope:local -ParManHook = .text:0x8002C6C0; // type:function size:0x4B4 scope:local -CamMotionEx2 = .text:0x8002CB74; // type:function size:0xAC -CamMotionEx = .text:0x8002CC20; // type:function size:0xA14 -SetObjCamMotion = .text:0x8002D634; // type:function size:0x244 scope:local -InterpolateBMLine = .text:0x8002D878; // type:function size:0x40C -Hu3D2Dto3D = .text:0x8002DC84; // type:function size:0x1D4 -Hu3D3Dto2D = .text:0x8002DE58; // type:function size:0x1D0 -Hu3DMtxTransGet = .text:0x8002E028; // type:function size:0x1C -Hu3DMtxRotGet = .text:0x8002E044; // type:function size:0x540 -Hu3DMtxScaleGet = .text:0x8002E584; // type:function size:0x1C8 -HuPerfInit = .text:0x8002E74C; // type:function size:0x94 -HuPerfCreate = .text:0x8002E7E0; // type:function size:0x130 -HuPerfZero = .text:0x8002E910; // type:function size:0x40 -HuPerfBegin = .text:0x8002E950; // type:function size:0x7C -HuPerfEnd = .text:0x8002E9CC; // type:function size:0xA0 -DSCallbackFunc = .text:0x8002EA6C; // type:function size:0x16C scope:local -omMasterInit = .text:0x8002EBD8; // type:function size:0x90 -omWatchOverlayProc = .text:0x8002EC68; // type:function size:0x170 scope:local -omOvlCallEx = .text:0x8002EDD8; // type:function size:0xE8 -omOvlGotoEx = .text:0x8002EEC0; // type:function size:0x60 -omOvlReturnEx = .text:0x8002EF20; // type:function size:0xF4 -omOvlKill = .text:0x8002F014; // type:function size:0xB8 -omOvlHisChg = .text:0x8002F0CC; // type:function size:0xA0 -omOvlHisGet = .text:0x8002F16C; // type:function size:0x78 -omInitObjMan = .text:0x8002F1E4; // type:function size:0x220 -omDestroyObjMan = .text:0x8002F404; // type:function size:0x50 -omAddObjEx = .text:0x8002F454; // type:function size:0x1DC -omInsertObj = .text:0x8002F630; // type:function size:0xF8 -omAddMember = .text:0x8002F728; // type:function size:0x84 -omDelObjEx = .text:0x8002F7AC; // type:function size:0x190 -omDelMember = .text:0x8002F93C; // type:function size:0x88 -omMakeGroupEx = .text:0x8002F9C4; // type:function size:0xFC -omGetGroupMemberListEx = .text:0x8002FAC0; // type:function size:0x2C -omSetStatBit = .text:0x8002FAEC; // type:function size:0x10 -omResetStatBit = .text:0x8002FAFC; // type:function size:0x14 -omSetTra = .text:0x8002FB10; // type:function size:0x10 -omSetRot = .text:0x8002FB20; // type:function size:0x10 -omSetSca = .text:0x8002FB30; // type:function size:0x10 -omMain = .text:0x8002FB40; // type:function size:0x2F8 -omAllPause = .text:0x8002FE38; // type:function size:0xE0 -omPauseChk = .text:0x8002FF18; // type:function size:0x2C -omCurrentOvlGet = .text:0x8002FF44; // type:function size:0x8 -OSPanic = .text:0x8002FF4C; // type:function size:0x150 -HuFaultInitXfbDirectDraw = .text:0x8003009C; // type:function size:0x118 -HuFaultSetXfbAddress = .text:0x800301B4; // type:function size:0x34 -XFB_WriteBackCache = .text:0x800301E8; // type:function size:0x98 scope:local -XFB_CR = .text:0x80030280; // type:function size:0x50 scope:local -XFB_puts = .text:0x800302D0; // type:function size:0xF4 scope:local -XFB_putcS = .text:0x800303C4; // type:function size:0x150 scope:local -XFB_putcProgressive = .text:0x80030514; // type:function size:0x1F0 scope:local -XFB_putcInterlace = .text:0x80030704; // type:function size:0x1B4 scope:local -GWInit = .text:0x800308B8; // type:function size:0x14C -GWGameStatReset = .text:0x80030A04; // type:function size:0x318 -GWMessDelayGet = .text:0x80030D1C; // type:function size:0x4C -GWMGRecordSet = .text:0x80030D68; // type:function size:0x54 -GWMGRecordGet = .text:0x80030DBC; // type:function size:0x18 -GWCharColorGet = .text:0x80030DD4; // type:function size:0x140 -GWBoardPlayCountSet = .text:0x80030F14; // type:function size:0x24 -GWBoardPlayCountAdd = .text:0x80030F38; // type:function size:0x38 -GWBoardPlayCountGet = .text:0x80030F70; // type:function size:0x14 -GWBoardMaxStarsSet = .text:0x80030F84; // type:function size:0x1C -GWBoardMaxStarsGet = .text:0x80030FA0; // type:function size:0x18 -GWBoardMaxCoinsSet = .text:0x80030FB8; // type:function size:0x1C -GWBoardMaxCoinsGet = .text:0x80030FD4; // type:function size:0x18 -GWBoardWinCountInc = .text:0x80030FEC; // type:function size:0x5C -GWBoardWinCountGet = .text:0x80031048; // type:function size:0x1C -GWBoardWinCountSet = .text:0x80031064; // type:function size:0x20 -GWMGAvailGet = .text:0x80031084; // type:function size:0x6C -GWMGAvailSet = .text:0x800310F0; // type:function size:0x5C -GWMGCustomGet = .text:0x8003114C; // type:function size:0x6C -GWMGCustomSet = .text:0x800311B8; // type:function size:0x5C -GWMGCustomReset = .text:0x80031214; // type:function size:0x60 -GWCoinsGet = .text:0x80031274; // type:function size:0x18 -GWCoinsSet = .text:0x8003128C; // type:function size:0xB0 -GWCoinsAdd = .text:0x8003133C; // type:function size:0xD0 -GWStarsSet = .text:0x8003140C; // type:function size:0x6C -GWStarsAdd = .text:0x80031478; // type:function size:0x94 -GWStarsGet = .text:0x8003150C; // type:function size:0x18 -GWTotalStarsSet = .text:0x80031524; // type:function size:0x34 -GWTotalStarsAdd = .text:0x80031558; // type:function size:0x54 -GWTotalStarsGet = .text:0x800315AC; // type:function size:0x10 -omOutView = .text:0x800315BC; // type:function size:0x238 -omOutViewMulti = .text:0x800317F4; // type:function size:0x2C4 -omSystemKeyCheckSetup = .text:0x80031AB8; // type:function size:0x74 -omSystemKeyCheck = .text:0x80031B2C; // type:function size:0x230 -omSysPauseEnable = .text:0x80031D5C; // type:function size:0x8 -omSysPauseCtrl = .text:0x80031D64; // type:function size:0x50 -omDLLDBGOut = .text:0x80031DB4; // type:function size:0x2C -omDLLInit = .text:0x80031DE0; // type:function size:0x6C -omDLLStart = .text:0x80031E4C; // type:function size:0x154 -omDLLNumEnd = .text:0x80031FA0; // type:function size:0xB4 -omDLLEnd = .text:0x80032054; // type:function size:0x13C -omDLLLink = .text:0x80032190; // type:function size:0x138 -omDLLUnlink = .text:0x800322C8; // type:function size:0xB4 -omDLLSearch = .text:0x8003237C; // type:function size:0xC8 -omDLLInfoDump = .text:0x80032444; // type:function size:0xD0 -omDLLHeaderDump = .text:0x80032514; // type:function size:0xE0 -frand = .text:0x800325F4; // type:function size:0xAC -frandf = .text:0x800326A0; // type:function size:0xD8 -frandmod = .text:0x80032778; // type:function size:0xB8 -HuAudInit = .text:0x80032830; // type:function size:0x170 -HuAudStreamPlay = .text:0x800329A0; // type:function size:0x8 -HuAudStreamVolSet = .text:0x800329A8; // type:function size:0x3C -HuAudStreamPauseOn = .text:0x800329E4; // type:function size:0x24 -HuAudStreamPauseOff = .text:0x80032A08; // type:function size:0x24 -HuAudStreamFadeOut = .text:0x80032A2C; // type:function size:0x4 -HuAudAllStop = .text:0x80032A30; // type:function size:0x28 -HuAudFadeOut = .text:0x80032A58; // type:function size:0x3C -HuAudFXPlay = .text:0x80032A94; // type:function size:0x80 -HuAudFXPlayVol = .text:0x80032B14; // type:function size:0x48 -HuAudFXPlayVolPan = .text:0x80032B5C; // type:function size:0x68 -HuAudFXStop = .text:0x80032BC4; // type:function size:0x2C -HuAudFXAllStop = .text:0x80032BF0; // type:function size:0x28 -HuAudFXFadeOut = .text:0x80032C18; // type:function size:0x30 -HuAudFXPanning = .text:0x80032C48; // type:function size:0x50 -HuAudFXListnerSet = .text:0x80032C98; // type:function size:0xA4 -HuAudFXListnerSetEX = .text:0x80032D3C; // type:function size:0x134 -HuAudFXListnerUpdate = .text:0x80032E70; // type:function size:0x3C -HuAudFXEmiterPlay = .text:0x80032EAC; // type:function size:0x6C -HuAudFXEmiterUpDate = .text:0x80032F18; // type:function size:0x64 -HuAudFXListnerKill = .text:0x80032F7C; // type:function size:0x20 -HuAudFXPauseAll = .text:0x80032F9C; // type:function size:0x2C -HuAudFXStatusGet = .text:0x80032FC8; // type:function size:0x28 -HuAudFXPitchSet = .text:0x80032FF0; // type:function size:0x54 -HuAudFXVolSet = .text:0x80033044; // type:function size:0x58 -HuAudSeqPlay = .text:0x8003309C; // type:function size:0x5C -HuAudSeqStop = .text:0x800330F8; // type:function size:0x48 -HuAudSeqFadeOut = .text:0x80033140; // type:function size:0x3C -HuAudSeqAllFadeOut = .text:0x8003317C; // type:function size:0x5C -HuAudSeqAllStop = .text:0x800331D8; // type:function size:0x28 -HuAudSeqPauseAll = .text:0x80033200; // type:function size:0x2C -HuAudSeqPause = .text:0x8003322C; // type:function size:0x54 -HuAudSeqMidiCtrlGet = .text:0x80033280; // type:function size:0x60 -HuAudSStreamPlay = .text:0x800332E0; // type:function size:0x64 -HuAudSStreamStop = .text:0x80033344; // type:function size:0x38 -HuAudSStreamFadeOut = .text:0x8003337C; // type:function size:0x3C -HuAudSStreamAllFadeOut = .text:0x800333B8; // type:function size:0x28 -HuAudSStreamAllStop = .text:0x800333E0; // type:function size:0x24 -HuAudSStreamStatGet = .text:0x80033404; // type:function size:0x28 -HuAudDllSndGrpSet = .text:0x8003342C; // type:function size:0x104 -HuAudSndGrpSetSet = .text:0x80033530; // type:function size:0x1A4 -HuAudSndGrpSet = .text:0x800336D4; // type:function size:0x60 -HuAudSndCommonGrpSet = .text:0x80033734; // type:function size:0x154 -HuAudAUXSet = .text:0x80033888; // type:function size:0x58 -HuAudAUXVolSet = .text:0x800338E0; // type:function size:0xC -HuAudVoiceInit = .text:0x800338EC; // type:function size:0x294 -HuAudPlayerVoicePlay = .text:0x80033B80; // type:function size:0x50 -HuAudPlayerVoicePlayPos = .text:0x80033BD0; // type:function size:0x58 -HuAudPlayerVoicePlayEntry = .text:0x80033C28; // type:function size:0x50 -HuAudCharVoicePlay = .text:0x80033C78; // type:function size:0xAC -HuAudCharVoicePlayPos = .text:0x80033D24; // type:function size:0xD0 -HuAudCharVoicePlayEntry = .text:0x80033DF4; // type:function size:0x90 -HuSePlay = .text:0x80033E84; // type:function size:0x68 scope:local -InitEnvelope = .text:0x80033EEC; // type:function size:0x1A4 -SetEnvelopMtx = .text:0x80034090; // type:function size:0x23C scope:local -EnvelopeProc = .text:0x800342CC; // type:function size:0x80 -InitVtxParm = .text:0x8003434C; // type:function size:0x50 -SetEnvelopMain = .text:0x8003439C; // type:function size:0x158 scope:local -SetEnvelop = .text:0x800344F4; // type:function size:0x9F0 scope:local -SetMtx = .text:0x80034EE4; // type:function size:0x334 scope:local -SetRevMtx = .text:0x80035218; // type:function size:0x11C scope:local -SearchSklenton = .text:0x80035334; // type:function size:0x78 scope:local -MGSeqInit = .text:0x800353AC; // type:function size:0xBC -MGSeqMain = .text:0x80035468; // type:function size:0x188 -CreateSeq = .text:0x800355F0; // type:function size:0x1A4 scope:local -MGSeqCreate = .text:0x80035794; // type:function size:0x100 -MGSeqStatGet = .text:0x80035894; // type:function size:0x88 -MGSeqPosSet = .text:0x8003591C; // type:function size:0x4C -MGSeqParamSet = .text:0x80035968; // type:function size:0x4C -MGSeqKill = .text:0x800359B4; // type:function size:0x58 -MGSeqKillAll = .text:0x80035A0C; // type:function size:0x3C -MGSeqDoneCheck = .text:0x80035A48; // type:function size:0xA4 -MGSeqStub = .text:0x80035AEC; // type:function size:0x4 -MGSeqSprKill = .text:0x80035AF0; // type:function size:0x8C -MGSeqInitTimer = .text:0x80035B7C; // type:function size:0x2E0 -MGSeqUpdateTimer = .text:0x80035E5C; // type:function size:0x69C -MGSeqInitType2 = .text:0x800364F8; // type:function size:0x3D8 -MGSeqUpdateType2 = .text:0x800368D0; // type:function size:0x2F8 -fn_80036BC8 = .text:0x80036BC8; // type:function size:0x188 -SeqMakeWord = .text:0x80036D50; // type:function size:0x1E4 scope:local -SeqLoadFontChar = .text:0x80036F34; // type:function size:0x23C scope:local -MGSeqInitMGBasic = .text:0x80037170; // type:function size:0x194 -MGSeqUpdateMGBasic = .text:0x80037304; // type:function size:0x9D0 -MGSeqInitMGCommon = .text:0x80037CD4; // type:function size:0x2A4 -MGSeqUpdateMGBattle = .text:0x80037F78; // type:function size:0xDA4 -MGSeqUpdateMG1vs3 = .text:0x80038D1C; // type:function size:0xDA4 -MGSeqUpdateMGStory = .text:0x80039AC0; // type:function size:0xBB8 -MGSeqUpdateMG2vs2 = .text:0x8003A678; // type:function size:0xAB4 -MGSeqInitFlip = .text:0x8003B12C; // type:function size:0x3C4 -MGSeqUpdateFlip = .text:0x8003B4F0; // type:function size:0x91C -MGSeqUpdateMGBowser = .text:0x8003BE0C; // type:function size:0xC84 -MGSeqInitDraw = .text:0x8003CA90; // type:function size:0xDC -MGSeqUpdateDraw = .text:0x8003CB6C; // type:function size:0x3DC -MGSeqInitWin = .text:0x8003CF48; // type:function size:0x6B8 -MGSeqUpdateWin = .text:0x8003D600; // type:function size:0x708 -MGSeqInitRecord = .text:0x8003DD08; // type:function size:0x774 -MGSeqUpdateRecord = .text:0x8003E47C; // type:function size:0x304 -MGSeqPauseInit = .text:0x8003E780; // type:function size:0x6C -PauseProc = .text:0x8003E7EC; // type:function size:0x94C scope:local -MGSeqPauseKill = .text:0x8003F138; // type:function size:0xC -MGSeqPauseEnableCtrl = .text:0x8003F144; // type:function size:0x40 -MGSeqPracticeInit = .text:0x8003F184; // type:function size:0xDC -PracticeProc = .text:0x8003F260; // type:function size:0x234 scope:local -SeqPlayStartFX = .text:0x8003F494; // type:function size:0xD4 scope:local -MGSeqPracticeExitCheck = .text:0x8003F568; // type:function size:0x128 -espInit = .text:0x8003F690; // type:function size:0xA0 -espEntry = .text:0x8003F730; // type:function size:0x1B0 -espKill = .text:0x8003F8E0; // type:function size:0x98 -espGrpIDGet = .text:0x8003F978; // type:function size:0x8 -espDispOn = .text:0x8003F980; // type:function size:0x44 -espDispOff = .text:0x8003F9C4; // type:function size:0x44 -espAttrSet = .text:0x8003FA08; // type:function size:0x48 -espAttrReset = .text:0x8003FA50; // type:function size:0x48 -espPosSet = .text:0x8003FA98; // type:function size:0x50 -espScaleSet = .text:0x8003FAE8; // type:function size:0x50 -espZRotSet = .text:0x8003FB38; // type:function size:0x48 -espTPLvlSet = .text:0x8003FB80; // type:function size:0x48 -espColorSet = .text:0x8003FBC8; // type:function size:0x58 -espSpeedSet = .text:0x8003FC20; // type:function size:0x48 -espBankSet = .text:0x8003FC68; // type:function size:0x48 -espDrawNoSet = .text:0x8003FCB0; // type:function size:0x48 -espPriSet = .text:0x8003FCF8; // type:function size:0x48 -fn_8003FF68 = .text:0x8003FD40; // type:function size:0x268 -fn_800401D0 = .text:0x8003FFA8; // type:function size:0x12C -fn_800402FC = .text:0x800400D4; // type:function size:0x78 -fn_80040374 = .text:0x8004014C; // type:function size:0x98 -fn_8004040C = .text:0x800401E4; // type:function size:0xF4 -GetClusterCurve = .text:0x800402D8; // type:function size:0xA8 -GetClusterWeightCurve = .text:0x80040380; // type:function size:0xA8 -SetClusterMain = .text:0x80040428; // type:function size:0x3A0 -ClusterProc = .text:0x800407C8; // type:function size:0x160 -ClusterMotionExec = .text:0x80040928; // type:function size:0x210 -SetShapeMain = .text:0x80040B38; // type:function size:0x36C scope:local -ShapeProc = .text:0x80040EA4; // type:function size:0xA4 -WipeInit = .text:0x80040F48; // type:function size:0xB4 -WipeExecAlways = .text:0x80040FFC; // type:function size:0x288 -WipeCreate = .text:0x80041284; // type:function size:0x12C -WipeColorSet = .text:0x800413B0; // type:function size:0x28 -WipeStatGet = .text:0x800413D8; // type:function size:0x10 -WipeDummyFade = .text:0x800413E8; // type:function size:0x8 scope:local -WipeNormalFade = .text:0x800413F0; // type:function size:0xFC scope:local -WipeColorFill = .text:0x800414EC; // type:function size:0x31C scope:local -WipeCrossFade = .text:0x80041808; // type:function size:0x184 scope:local -WipeFrameStill = .text:0x8004198C; // type:function size:0x4C8 scope:local -HuWindowInit = .text:0x80041E54; // type:function size:0x74 -HuWinInit = .text:0x80041EC8; // type:function size:0x214 -HuWinCreate = .text:0x800420DC; // type:function size:0x54C -HuWinKill = .text:0x80042628; // type:function size:0xA4 -HuWinAllKill = .text:0x800426CC; // type:function size:0x1AC -MesDispFunc = .text:0x80042878; // type:function size:0x7D0 scope:local -winBGMake = .text:0x80043048; // type:function size:0x480 scope:local -HuWinProc = .text:0x800434C8; // type:function size:0xF4 scope:local -HuWinDrawMes = .text:0x800435BC; // type:function size:0x1044 scope:local -HuWinCR = .text:0x80044600; // type:function size:0x54 scope:local -_HuWinHomeClear = .text:0x80044654; // type:function size:0x90 scope:local -HuWinHomeClear = .text:0x800446E4; // type:function size:0xA4 -HuWinKeyWaitEntry = .text:0x80044788; // type:function size:0x88 -HuWinKeyWait = .text:0x80044810; // type:function size:0x10C scope:local -HuWinSpcFontEntry = .text:0x8004491C; // type:function size:0x1A4 scope:local -HuWinSpcFontClear = .text:0x80044AC0; // type:function size:0x80 scope:local -HuWinChoice = .text:0x80044B40; // type:function size:0xA90 scope:local -HuWinActivePadGet = .text:0x800455D0; // type:function size:0x68 -HuWinActiveKeyGetX = .text:0x80045638; // type:function size:0xE8 -HuWinPosSet = .text:0x80045720; // type:function size:0x6C -HuWinScaleSet = .text:0x8004578C; // type:function size:0x6C -HuWinZRotSet = .text:0x800457F8; // type:function size:0x58 -HuWinCenterPosSet = .text:0x80045850; // type:function size:0xAC -HuWinDrawNoSet = .text:0x800458FC; // type:function size:0x4C -HuWinScissorSet = .text:0x80045948; // type:function size:0x64 -HuWinPriSet = .text:0x800459AC; // type:function size:0xB8 -HuWinAttrSet = .text:0x80045A64; // type:function size:0x34 -HuWinAttrReset = .text:0x80045A98; // type:function size:0x34 -HuWinStatGet = .text:0x80045ACC; // type:function size:0x2C -HuWinMesColSet = .text:0x80045AF8; // type:function size:0x3C -HuWinMesPalSet = .text:0x80045B34; // type:function size:0x58 -HuWinBGTPLvlSet = .text:0x80045B8C; // type:function size:0x50 -HuWinBGColSet = .text:0x80045BDC; // type:function size:0x60 -HuWinMesSpeedSet = .text:0x80045C3C; // type:function size:0x2C -HuWinMesRead = .text:0x80045C68; // type:function size:0xC4 -HuWinMesSet = .text:0x80045D2C; // type:function size:0xC8 -HuWinInsertMesSet = .text:0x80045DF4; // type:function size:0xD8 -HuWinChoiceGet = .text:0x80045ECC; // type:function size:0x27C -HuWinChoiceNumGet = .text:0x80046148; // type:function size:0x2C -HuWinChoiceDisable = .text:0x80046174; // type:function size:0x38 -HuWinChoiceNowGet = .text:0x800461AC; // type:function size:0x40 -HuWinMesWait = .text:0x800461EC; // type:function size:0x50 -HuWinAnimSet = .text:0x8004623C; // type:function size:0x8C -HuWinSprSet = .text:0x800462C8; // type:function size:0xF0 -HuWinSprPosSet = .text:0x800463B8; // type:function size:0x88 -HuWinSprPriSet = .text:0x80046440; // type:function size:0x6C -HuWinSprIDGet = .text:0x800464AC; // type:function size:0x38 -HuWinSprKill = .text:0x800464E4; // type:function size:0x68 -HuWinDispOff = .text:0x8004654C; // type:function size:0x90 -HuWinDispOn = .text:0x800465DC; // type:function size:0x90 -HuWinComKeyWait = .text:0x8004666C; // type:function size:0xC0 -HuWinComKeySet = .text:0x8004672C; // type:function size:0x44 -_HuWinComKeySet = .text:0x80046770; // type:function size:0x98 -HuWinComKeyGet = .text:0x80046808; // type:function size:0x1D4 -HuWinComKeyReset = .text:0x800469DC; // type:function size:0x10 -HuWinMesMaxSizeGet = .text:0x800469EC; // type:function size:0x170 -HuWinInsertMesSizeGet = .text:0x80046B5C; // type:function size:0x54 -HuWinMesSizeCancelCRSet = .text:0x80046BB0; // type:function size:0x8 -HuWinMesMaxSizeBetGet = .text:0x80046BB8; // type:function size:0x114 -GetMesMaxSizeSub = .text:0x80046CCC; // type:function size:0x2A0 scope:local -GetMesMaxSizeSub2 = .text:0x80046F6C; // type:function size:0x1CC scope:local -HuWinKeyWaitNumGet = .text:0x80047138; // type:function size:0x88 -HuWinPushKeySet = .text:0x800471C0; // type:function size:0x2C -HuWinDisablePlayerSet = .text:0x800471EC; // type:function size:0x34 -HuWinDisablePlayerReset = .text:0x80047220; // type:function size:0x38 -HuWinExCreate = .text:0x80047258; // type:function size:0x4C -HuWinExCreateStyled = .text:0x800472A4; // type:function size:0x228 -HuWinExAnimIn = .text:0x800474CC; // type:function size:0x3B0 -HuWinExAnimOut = .text:0x8004787C; // type:function size:0x304 -HuWinExCleanup = .text:0x80047B80; // type:function size:0xA4 -HuWinExAnimPopIn = .text:0x80047C24; // type:function size:0x264 -MessData_MesPtrGet = .text:0x80047E88; // type:function size:0xE8 -HuCardInit = .text:0x80047F70; // type:function size:0x34 -HuCardCheck = .text:0x80047FA4; // type:function size:0xC4 -HuCardSlotCheck = .text:0x80048068; // type:function size:0x58 -HuCardMount = .text:0x800480C0; // type:function size:0xEC -HuCardUnMount = .text:0x800481AC; // type:function size:0x28 -HuCardFormat = .text:0x800481D4; // type:function size:0x50 -MountCallBack = .text:0x80048224; // type:function size:0x1C scope:local -HuCardOpen = .text:0x80048240; // type:function size:0x70 -HuCardRead = .text:0x800482B0; // type:function size:0x68 -HuCardCreate = .text:0x80048318; // type:function size:0x100 -HuCardClose = .text:0x80048418; // type:function size:0x38 -HuCardWrite = .text:0x80048450; // type:function size:0x50 -HuCardDelete = .text:0x800484A0; // type:function size:0x40 -HuCardSectorSizeGet = .text:0x800484E0; // type:function size:0x4C -HuCardFreeSpaceGet = .text:0x8004852C; // type:function size:0x48 -HuARInit = .text:0x80048574; // type:function size:0x148 -HuARMalloc = .text:0x800486BC; // type:function size:0x16C -HuARFree = .text:0x80048828; // type:function size:0x16C -HuAMemDump = .text:0x80048994; // type:function size:0xA8 -HuAR_DVDtoARAM = .text:0x80048A3C; // type:function size:0x160 -ArqCallBack = .text:0x80048B9C; // type:function size:0x10 scope:local -HuAR_MRAMtoARAM = .text:0x80048BAC; // type:function size:0x2C -HuAR_MRAMtoARAM2 = .text:0x80048BD8; // type:function size:0x140 -HuAR_ARAMtoMRAM = .text:0x80048D18; // type:function size:0x2C -HuAR_ARAMtoMRAMNum = .text:0x80048D44; // type:function size:0x1F0 -ArqCallBackAM = .text:0x80048F34; // type:function size:0x44 scope:local -HuARDMACheck = .text:0x80048F78; // type:function size:0x8 -HuARDirCheck = .text:0x80048F80; // type:function size:0x58 -HuARDirFree = .text:0x80048FD8; // type:function size:0x68 -HuAR_ARAMtoMRAMFileRead = .text:0x80049040; // type:function size:0x390 -ArqCallBackAMFileRead = .text:0x800493D0; // type:function size:0x10 scope:local -CharManInit = .text:0x800493E0; // type:function size:0x134 -CharAMemPtrGet = .text:0x80049514; // type:function size:0x1C -CharARAMOpen = .text:0x80049530; // type:function size:0x98 -CharARAMClose = .text:0x800495C8; // type:function size:0x58 -CharKill = .text:0x80049620; // type:function size:0x428 -CharKillAll = .text:0x80049A48; // type:function size:0x3C -CharModelCreate = .text:0x80049A84; // type:function size:0x180 -UpdateChar = .text:0x80049C04; // type:function size:0x20C scope:local -UpdateCharAnim = .text:0x80049E10; // type:function size:0x173C scope:local -PlayCharVoice = .text:0x8004B54C; // type:function size:0xB0 scope:local -InitEffect = .text:0x8004B5FC; // type:function size:0x254 scope:local -CreateEffectDust = .text:0x8004B850; // type:function size:0xB0 scope:local -CreateEffectSmoke = .text:0x8004B900; // type:function size:0xB0 scope:local -CreateEffectDot = .text:0x8004B9B0; // type:function size:0xB0 scope:local -CreateEffectStar = .text:0x8004BA60; // type:function size:0xB0 scope:local -CreateEffectWarn = .text:0x8004BB10; // type:function size:0xB0 scope:local -CreateEffectBird = .text:0x8004BBC0; // type:function size:0xB0 scope:local -CreateEffect = .text:0x8004BC70; // type:function size:0x1CC scope:local -UpdateEffect = .text:0x8004BE3C; // type:function size:0x4A0 scope:local -RotateEffect = .text:0x8004C2DC; // type:function size:0x1E8 scope:local -PlayEffectSound = .text:0x8004C4C4; // type:function size:0x344 scope:local -CharModelMotionCreate = .text:0x8004C808; // type:function size:0x1D0 -CharModelMotionIndexSet = .text:0x8004C9D8; // type:function size:0x88 -CharModelMotionKill = .text:0x8004CA60; // type:function size:0x9C -CharModelMotionDataClose = .text:0x8004CAFC; // type:function size:0x2B8 -CharModelDataClose = .text:0x8004CDB4; // type:function size:0x430 -CharModelKill = .text:0x8004D1E4; // type:function size:0x244 -CharModelMotionSet = .text:0x8004D428; // type:function size:0x7C -CharModelTexAnimSet = .text:0x8004D4A4; // type:function size:0x17C -CharModelTexNameGet = .text:0x8004D620; // type:function size:0x7C -CharModelHookNameGet = .text:0x8004D69C; // type:function size:0x7C -CharModelMotionTimeSet = .text:0x8004D718; // type:function size:0x4C -CharModelMotionTimeGet = .text:0x8004D764; // type:function size:0x44 -CharModelMotionMaxTimeGet = .text:0x8004D7A8; // type:function size:0x44 -CharModelMotionEndCheck = .text:0x8004D7EC; // type:function size:0x44 -CharModelMotionShiftIDGet = .text:0x8004D830; // type:function size:0x44 -CharModelMotionShiftSet = .text:0x8004D874; // type:function size:0x84 -CharModelMotionShiftTimeGet = .text:0x8004D8F8; // type:function size:0x44 -CharModelMotionSpeedSet = .text:0x8004D93C; // type:function size:0x4C -CharModelLayerSetAll = .text:0x8004D988; // type:function size:0x80 -CharModelItemHookCreate = .text:0x8004DA08; // type:function size:0x1D4 -UpdateItemHook = .text:0x8004DBDC; // type:function size:0x484 scope:local -CharModelEffectCreate = .text:0x8004E060; // type:function size:0x3FC -OrbitEffect = .text:0x8004E45C; // type:function size:0x168 scope:local -CharModelCoinEffectCreate = .text:0x8004E5C4; // type:function size:0x1A0 -fn_8004EC74 = .text:0x8004E764; // type:function size:0x130 -fn_8004EDA4 = .text:0x8004E894; // type:function size:0x2B4 -fn_8004F058 = .text:0x8004EB48; // type:function size:0xE4 -fn_8004F13C = .text:0x8004EC2C; // type:function size:0x2B4 -CharModelLayerSetAll2 = .text:0x8004EEE0; // type:function size:0x80 -CharModelVoiceEnableSet = .text:0x8004EF60; // type:function size:0xBC -fn_8004F52C = .text:0x8004F01C; // type:function size:0x4C -CharModelEffectEnableSet = .text:0x8004F068; // type:function size:0xB0 -CharModelEffectNpcInit = .text:0x8004F118; // type:function size:0x2CC -CharModelEffectNpcInitSilent = .text:0x8004F3E4; // type:function size:0x2CC -UpdateNpcEffect = .text:0x8004F6B0; // type:function size:0xF80 scope:local -CharModelStepTypeSet = .text:0x80050630; // type:function size:0x30 -PlayStepFX = .text:0x80050660; // type:function size:0xEC scope:local -MapWall = .text:0x8005074C; // type:function size:0x1B8 -MapWallCheck = .text:0x80050904; // type:function size:0x110 -MapPos = .text:0x80050A14; // type:function size:0x2A8 -PolygonRangeCheck = .text:0x80050CBC; // type:function size:0x38C scope:local -DefIfnnerMapCircle = .text:0x80051048; // type:function size:0x470 scope:local -CalcPPLength = .text:0x800514B8; // type:function size:0x5D4 scope:local -MapIflnnerCalc = .text:0x80051A8C; // type:function size:0xF4 scope:local -MapCalcPoint = .text:0x80051B80; // type:function size:0x388 scope:local -AreaCheck = .text:0x80051F08; // type:function size:0x148 scope:local -MapIflnnerTriangle = .text:0x80052050; // type:function size:0x518 scope:local -MapIflnnerQuadrangle = .text:0x80052568; // type:function size:0x994 scope:local -GetPolygonCircleMtx = .text:0x80052EFC; // type:function size:0xC28 scope:local -PrecalcPntToTriangle = .text:0x80053B24; // type:function size:0x43C scope:local -Hitcheck_Triangle_with_Sphere = .text:0x80053F60; // type:function size:0x100 -Hitcheck_Quadrangle_with_Sphere = .text:0x80054060; // type:function size:0x19C -DefSetHitFace = .text:0x800541FC; // type:function size:0x4C scope:local -AppendAddXZ = .text:0x80054248; // type:function size:0x184 -CharRotInv = .text:0x800543CC; // type:function size:0x124 -THPSimpleInit = .text:0x800544F0; // type:function size:0x124 -THPSimpleQuit = .text:0x80054614; // type:function size:0x54 -THPSimpleOpen = .text:0x80054668; // type:function size:0x408 -THPSimpleClose = .text:0x80054A70; // type:function size:0xC0 -THPSimpleCalcNeedMemory = .text:0x80054B30; // type:function size:0x184 -THPSimpleSetBuffer = .text:0x80054CB4; // type:function size:0x240 -__THPSimpleDVDCallback = .text:0x80054EF4; // type:function size:0x2A4 scope:local -THPSimplePreLoad = .text:0x80055198; // type:function size:0x2A4 -THPSimpleAudioStart = .text:0x8005543C; // type:function size:0x14 -THPSimpleAudioStop = .text:0x80055450; // type:function size:0x14 -THPSimpleLoadStop = .text:0x80055464; // type:function size:0x1B8 -THPSimpleDecode = .text:0x8005561C; // type:function size:0x47C -VideoDecode = .text:0x80055A98; // type:function size:0xD8 scope:local -THPSimpleDrawCurrentFrame = .text:0x80055B70; // type:function size:0x104 -MixAudio = .text:0x80055C74; // type:function size:0x5F8 scope:local -THPSimpleGetVideoInfo = .text:0x8005626C; // type:function size:0x58 -THPSimpleGetTotalFrame = .text:0x800562C4; // type:function size:0x2C -THPAudioMixCallback = .text:0x800562F0; // type:function size:0x188 scope:local -THPSimpleSetVolume = .text:0x80056478; // type:function size:0x17C -THPGXRestore = .text:0x800565F4; // type:function size:0x130 -THPGXYuv2RgbSetup = .text:0x80056724; // type:function size:0x5A0 -THPGXYuv2RgbDraw = .text:0x80056CC4; // type:function size:0x288 -HuTHPSprCreateVol = .text:0x80056F4C; // type:function size:0x108 -HuTHPSprCreate = .text:0x80057054; // type:function size:0x110 -HuTHP3DCreateVol = .text:0x80057164; // type:function size:0xF8 -HuTHP3DCreate = .text:0x8005725C; // type:function size:0x100 -HuTHPStop = .text:0x8005735C; // type:function size:0xC -HuTHPClose = .text:0x80057368; // type:function size:0xC -HuTHPRestart = .text:0x80057374; // type:function size:0xC -HuTHPEndCheck = .text:0x80057380; // type:function size:0x54 -HuTHPFrameGet = .text:0x800573D4; // type:function size:0x8 -HuTHPTotalFrameGet = .text:0x800573DC; // type:function size:0x20 -HuTHPSetVolume = .text:0x800573FC; // type:function size:0x30 -THPTestProc = .text:0x8005742C; // type:function size:0x27C scope:local -THPViewFunc = .text:0x800576A8; // type:function size:0xA4 scope:local -THPViewSprFunc = .text:0x8005774C; // type:function size:0x17C scope:local -THPDecodeFunc = .text:0x800578C8; // type:function size:0x4C scope:local -omMgIndexGet = .text:0x80057914; // type:function size:0x5C -omGameSysInit = .text:0x80057970; // type:function size:0xF4 -omVibrate = .text:0x80057A64; // type:function size:0x9C -_CheckFlag = .text:0x80057B00; // type:function size:0xA0 -_SetFlag = .text:0x80057BA0; // type:function size:0xA4 -_ClearFlag = .text:0x80057C44; // type:function size:0xA4 -_InitFlag = .text:0x80057CE8; // type:function size:0x30 -SLFileOpen = .text:0x80057D18; // type:function size:0x140 -SLFileCreate = .text:0x80057E58; // type:function size:0x280 -SLFileWrite = .text:0x800580D8; // type:function size:0x10C -SLFileRead = .text:0x800581E4; // type:function size:0x84 -SLFileClose = .text:0x80058268; // type:function size:0x4C -SLCurSlotNoSet = .text:0x800582B4; // type:function size:0x8 -SLCurBoxNoSet = .text:0x800582BC; // type:function size:0xC -SLSaveFlagSet = .text:0x800582C8; // type:function size:0x40 -SLSaveFlagGet = .text:0x80058308; // type:function size:0x8 -SLSaveDataMake = .text:0x80058310; // type:function size:0x154 -SLSaveDataInfoSet = .text:0x80058464; // type:function size:0x2A0 -SLCommonSet = .text:0x80058704; // type:function size:0x2DC -SLSaveBoard = .text:0x800589E0; // type:function size:0x8C -SLSaveBoardStory = .text:0x80058A6C; // type:function size:0x8C -SLSave = .text:0x80058AF8; // type:function size:0x370 -SLCreateSaveWin = .text:0x80058E68; // type:function size:0xDC scope:local -SLKillSaveWin = .text:0x80058F44; // type:function size:0x48 scope:local -SLLoad = .text:0x80058F8C; // type:function size:0x110 -SLLoadGameStat = .text:0x8005909C; // type:function size:0x38 -SLLoadBoard = .text:0x800590D4; // type:function size:0x1A0 -SLLoadBoardStory = .text:0x80059274; // type:function size:0x184 -SLSerialNoGet = .text:0x800593F8; // type:function size:0x28 -SLSerialNoCheck = .text:0x80059420; // type:function size:0xA0 -SLCheckSumCheck = .text:0x800594C0; // type:function size:0x60 -SLCheckSumGet = .text:0x80059520; // type:function size:0x54 -SLCheckSumSet = .text:0x80059574; // type:function size:0x90 -SLStatSet = .text:0x80059604; // type:function size:0x1D4 -SLCardMount = .text:0x800597D8; // type:function size:0x12C -SLFormat = .text:0x80059904; // type:function size:0x624 -SLMessOut = .text:0x80059F28; // type:function size:0x3FC -HuSoftResetButtonCheck = .text:0x8005A324; // type:function size:0x50 -HuDvdErrDispIntFunc = .text:0x8005A374; // type:function size:0x28 -HuDvdErrDispInit = .text:0x8005A39C; // type:function size:0x1F4 -ToeThreadFunc = .text:0x8005A590; // type:function size:0xD8 scope:local -ToeDispCheck = .text:0x8005A668; // type:function size:0x128 scope:local -_HuDvdErrDispXFB = .text:0x8005A790; // type:function size:0x2D0 scope:local -HuRestartSystem = .text:0x8005AA60; // type:function size:0xDC -HuSoftResetCheck = .text:0x8005AB3C; // type:function size:0xFC scope:local -HuSoftResetCountCheck = .text:0x8005AC38; // type:function size:0xCC scope:local -HuSoftResetPostProc = .text:0x8005AD04; // type:function size:0x78 scope:local -BoardObjectSetup = .text:0x8005AD7C; // type:function size:0x2E0 -InitBoardFunc = .text:0x8005B05C; // type:function size:0x64 scope:local -ExecBoardFunc = .text:0x8005B0C0; // type:function size:0x9C scope:local -KillBoardFunc = .text:0x8005B15C; // type:function size:0xCC scope:local -BoardKill = .text:0x8005B228; // type:function size:0xAC -BoardIsKill = .text:0x8005B2D4; // type:function size:0x48 -BoardPauseDisableSet = .text:0x8005B31C; // type:function size:0x74 -BoardPauseDisableGet = .text:0x8005B390; // type:function size:0x48 -BoardSaveInit = .text:0x8005B3D8; // type:function size:0x524 -BoardStoryConfigSet = .text:0x8005B8FC; // type:function size:0x160 -BoardPartyConfigSet = .text:0x8005BA5C; // type:function size:0x160 -DestroyMainFunc = .text:0x8005BBBC; // type:function size:0xC scope:local -MainFunc = .text:0x8005BBC8; // type:function size:0x7D0 scope:local -BoardTurnNext = .text:0x8005C398; // type:function size:0x8C -ExecTurnStart = .text:0x8005C424; // type:function size:0x28C scope:local -BoardNextOvlSet = .text:0x8005C6B0; // type:function size:0xC4 -BoardStartCheck = .text:0x8005C774; // type:function size:0x8C -CreateBoard = .text:0x8005C800; // type:function size:0x410 scope:local -DestroyBoard = .text:0x8005CC10; // type:function size:0x128 scope:local -BoardLightHookSet = .text:0x8005CD38; // type:function size:0xC -BoardLightSetExec = .text:0x8005CD44; // type:function size:0x44 -BoardLightResetExec = .text:0x8005CD88; // type:function size:0x50 -BoardCameraBackup = .text:0x8005CDD8; // type:function size:0x3C -BoardCameraRestore = .text:0x8005CE14; // type:function size:0x48 -BoardCameraScissorSet = .text:0x8005CE5C; // type:function size:0x54 -BoardCameraViewSet = .text:0x8005CEB0; // type:function size:0x2AC -BoardCameraPosGet = .text:0x8005D15C; // type:function size:0x48 -BoardCameraTargetGet = .text:0x8005D1A4; // type:function size:0x48 -BoardCameraRotGet = .text:0x8005D1EC; // type:function size:0x48 -BoardCameraZoomGet = .text:0x8005D234; // type:function size:0x20 -BoardCameraDirGet = .text:0x8005D254; // type:function size:0xA8 -BoardCameraPointDirGet = .text:0x8005D2FC; // type:function size:0xBC -BoardCameraMaskSet = .text:0x8005D3B8; // type:function size:0x28 -BoardCameraMoveSet = .text:0x8005D3E0; // type:function size:0x50 -BoardCameraOffsetSet = .text:0x8005D430; // type:function size:0x30 -BoardCameraTargetPlayerSet = .text:0x8005D460; // type:function size:0xB4 -BoardCameraTargetModelSet = .text:0x8005D514; // type:function size:0x40 -BoardCameraTargetSpaceSet = .text:0x8005D554; // type:function size:0x44 -BoardCameraPosCalcFuncSet = .text:0x8005D598; // type:function size:0x28 -BoardCameraQuakeSet = .text:0x8005D5C0; // type:function size:0x3C -BoardCameraQuakeReset = .text:0x8005D5FC; // type:function size:0x3C -BoardCameraTargetSet = .text:0x8005D638; // type:function size:0x28 -BoardCameraPosSet = .text:0x8005D660; // type:function size:0x28 -BoardCameraXRotZoomSet = .text:0x8005D688; // type:function size:0x24 -BoardCameraZoomSet = .text:0x8005D6AC; // type:function size:0x20 -BoardCameraRotSet = .text:0x8005D6CC; // type:function size:0x24 -BoardCameraNearFarSet = .text:0x8005D6F0; // type:function size:0x24 -BoardCameraNearFarGet = .text:0x8005D714; // type:function size:0x3C -BoardCameraMotionStart = .text:0x8005D750; // type:function size:0x48 -BoardCameraMotionStartEx = .text:0x8005D798; // type:function size:0x230 -BoardCameraFovSet = .text:0x8005D9C8; // type:function size:0x20 -BoardCameraCullCheck = .text:0x8005D9E8; // type:function size:0x2BC -BoardCameraMotionIsDone = .text:0x8005DCA4; // type:function size:0x48 -BoardCameraMotionWait = .text:0x8005DCEC; // type:function size:0x58 -BoardCameraInit = .text:0x8005DD44; // type:function size:0x24C -UpdateCamera = .text:0x8005DF90; // type:function size:0x350 scope:local -CalcCameraTarget = .text:0x8005E2E0; // type:function size:0xE4 scope:local -CalcCameraPos = .text:0x8005E3C4; // type:function size:0x764 scope:local -BoardMGDoneFlagSet = .text:0x8005EB28; // type:function size:0x48 -BoardMGDoneFlagGet = .text:0x8005EB70; // type:function size:0x48 -BoardMGExit = .text:0x8005EBB8; // type:function size:0x170 -KillBoardMG = .text:0x8005ED28; // type:function size:0x60 scope:local -ExecBoardMG = .text:0x8005ED88; // type:function size:0xC4 scope:local -BoardMGCreate = .text:0x8005EE4C; // type:function size:0x74 -BoardEventFlagSet = .text:0x8005EEC0; // type:function size:0x28 -BoardEventFlagReset = .text:0x8005EEE8; // type:function size:0x28 -BoardEventFlagGet = .text:0x8005EF10; // type:function size:0x48 -BoardMTXCalcLookAt = .text:0x8005EF58; // type:function size:0x10C -BoardArcSin = .text:0x8005F064; // type:function size:0x330 -BoardArcCos = .text:0x8005F394; // type:function size:0x390 -BoardRandInit = .text:0x8005F724; // type:function size:0x24 -BoardRand = .text:0x8005F748; // type:function size:0x24 -BoardRandMod = .text:0x8005F76C; // type:function size:0x50 -BoardRandFloat = .text:0x8005F7BC; // type:function size:0x58 -BoardVecDistXZCalc = .text:0x8005F814; // type:function size:0x134 -BoardVecMaxDistXZCheck = .text:0x8005F948; // type:function size:0x15C -BoardDAngleCalcVec = .text:0x8005FAA4; // type:function size:0x7C -BoardDAngleCalc = .text:0x8005FB20; // type:function size:0x34 -BoardDAngleCalcRange = .text:0x8005FB54; // type:function size:0x1C0 -BoardVecMinDistCheck = .text:0x8005FD14; // type:function size:0x6C -BoardFilterFadeOut = .text:0x8005FD80; // type:function size:0xD4 -BoardFilterFadeInit = .text:0x8005FE54; // type:function size:0x174 -BoardFilterFadePauseCheck = .text:0x8005FFC8; // type:function size:0x5C -BoardFilterFadeCheck = .text:0x80060024; // type:function size:0x34 -UpdateFilter = .text:0x80060058; // type:function size:0x178 scope:local -DrawFilter = .text:0x800601D0; // type:function size:0x350 scope:local -BoardConfettiCreate = .text:0x80060520; // type:function size:0x164 -BoardConfettiKill = .text:0x80060684; // type:function size:0x24 -BoardConfettiStop = .text:0x800606A8; // type:function size:0x88 -UpdateConfetti = .text:0x80060730; // type:function size:0xB8 scope:local -SpawnConfetti = .text:0x800607E8; // type:function size:0x564 scope:local -MoveConfetti = .text:0x80060D4C; // type:function size:0x14C scope:local -DrawConfetti = .text:0x80060E98; // type:function size:0x254 scope:local -BoardLast5GfxInit = .text:0x800610EC; // type:function size:0x278 -UpdateLast5Gfx = .text:0x80061364; // type:function size:0x2AC scope:local -BoardLast5GfxShowSet = .text:0x80061610; // type:function size:0xAC -BoardTauntInit = .text:0x800616BC; // type:function size:0x80 -BoardTauntKill = .text:0x8006173C; // type:function size:0x54 -TauntUpdate = .text:0x80061790; // type:function size:0x3A4 scope:local -BoardDataDirReadAsync = .text:0x80061B34; // type:function size:0x38 -BoardDataAsyncWait = .text:0x80061B6C; // type:function size:0x48 -BoardItemPrevGet = .text:0x80061BB4; // type:function size:0xC -BoardItemPrevSet = .text:0x80061BC0; // type:function size:0xC -BoardPlayerGetCharMess = .text:0x80061BCC; // type:function size:0x78 -BoardPlayerGetCharName = .text:0x80061C44; // type:function size:0x78 -BoardPlayerIsAllCom = .text:0x80061CBC; // type:function size:0x80 -BoardPlayerInit = .text:0x80061D3C; // type:function size:0x16C -BoardPlayerModelInit = .text:0x80061EA8; // type:function size:0x588 -BoardPlayerModelKill = .text:0x80062430; // type:function size:0xFC -BoardPlayerLayerSet = .text:0x8006252C; // type:function size:0x84 -BoardPlayerCameraSet = .text:0x800625B0; // type:function size:0x80 -fn_80062A40 = .text:0x80062630; // type:function size:0x80 -BoardPlayerExistCheck = .text:0x800626B0; // type:function size:0xB4 -BoardPlayerItemAdd = .text:0x80062764; // type:function size:0xB0 -BoardPlayerItemRemove = .text:0x80062814; // type:function size:0xB4 -BoardPlayerItemFind = .text:0x800628C8; // type:function size:0x58 -BoardPlayerItemCount = .text:0x80062920; // type:function size:0x60 -BoardPlayerCornerPosSet = .text:0x80062980; // type:function size:0x40 -BoardPlayerCornerPosGet = .text:0x800629C0; // type:function size:0xC4 -BoardPlayerAmbSet = .text:0x80062A84; // type:function size:0x90 -BoardPlayerMtxSet = .text:0x80062B14; // type:function size:0x80 -BoardPlayerPosSetV = .text:0x80062B94; // type:function size:0x9C -BoardPlayerPosSet = .text:0x80062C30; // type:function size:0xCC -BoardPlayerPosGet = .text:0x80062CFC; // type:function size:0x80 -BoardPlayerRotSetV = .text:0x80062D7C; // type:function size:0x9C -BoardPlayerRotSet = .text:0x80062E18; // type:function size:0xCC -BoardPlayerRotGet = .text:0x80062EE4; // type:function size:0x80 -BoardPlayerRotYSet = .text:0x80062F64; // type:function size:0xD4 -BoardPlayerRotYGet = .text:0x80063038; // type:function size:0xA8 -BoardPlayerScaleSetV = .text:0x800630E0; // type:function size:0x80 -BoardPlayerScaleSet = .text:0x80063160; // type:function size:0x90 -BoardPlayerScaleGet = .text:0x800631F0; // type:function size:0x80 -BoardPlayerCurrMotionGet = .text:0x80063270; // type:function size:0x44 -BoardPlayerVoiceEnableSet = .text:0x800632B4; // type:function size:0x88 -BoardPlayerMotionCreate = .text:0x8006333C; // type:function size:0x80 -BoardPlayerMotionKill = .text:0x800633BC; // type:function size:0x80 -BoardPlayerMotionEndCheck = .text:0x8006343C; // type:function size:0x78 -BoardPlayerMotionEndWait = .text:0x800634B4; // type:function size:0x88 -BoardPlayerMotionStart = .text:0x8006353C; // type:function size:0xD0 -BoardPlayerMotionShiftSet = .text:0x8006360C; // type:function size:0xE0 -BoardPlayerMotionSpeedSet = .text:0x800636EC; // type:function size:0x80 -BoardPlayerMotionTimeSet = .text:0x8006376C; // type:function size:0x80 -BoardPlayerMotionTimeGet = .text:0x800637EC; // type:function size:0x78 -BoardPlayerMotionMaxTimeGet = .text:0x80063864; // type:function size:0x78 -BoardPlayerMotionStartEndSet = .text:0x800638DC; // type:function size:0xA0 -BoardPlayerModelAttrSet = .text:0x8006397C; // type:function size:0x80 -BoardPlayerModelAttrReset = .text:0x800639FC; // type:function size:0x80 -BoardPlayerCoinsSet = .text:0x80063A7C; // type:function size:0x34 -BoardPlayerCoinsGet = .text:0x80063AB0; // type:function size:0x2C -BoardPlayerCoinsAdd = .text:0x80063ADC; // type:function size:0x9C -BoardPlayerStarsAdd = .text:0x80063B78; // type:function size:0x48 -BoardPlayerSizeSet = .text:0x80063BC0; // type:function size:0x16C -BoardPlayerSizeGet = .text:0x80063D2C; // type:function size:0x40 -BoardPlayerSameTeamFind = .text:0x80063D6C; // type:function size:0x7C -BoardPlayerTeamFind = .text:0x80063DE8; // type:function size:0x7C -BoardPlayerRankCalc = .text:0x80063E64; // type:function size:0xC4 -BoardPlayerPreTurnHookSet = .text:0x80063F28; // type:function size:0x18 -BoardPlayerPostTurnHookSet = .text:0x80063F40; // type:function size:0x18 -BoardPlayerTurnExec = .text:0x80063F58; // type:function size:0x15C -BoardPlayerTurnRollExec = .text:0x800640B4; // type:function size:0x160 -BoardPlayerTurnMoveExec = .text:0x80064214; // type:function size:0x420 -BoardPlayerPostTurnHookExec = .text:0x80064634; // type:function size:0x80 -BoardPlayerSizeRestore = .text:0x800646B4; // type:function size:0x18C -BoardPlayerZoomRestore = .text:0x80064840; // type:function size:0x134 -BoardJunctionMaskSet = .text:0x80064974; // type:function size:0x10 -BoardJunctionMaskReset = .text:0x80064984; // type:function size:0x10 -BoardJunctionMaskZero = .text:0x80064994; // type:function size:0xC -InitJunction = .text:0x800649A0; // type:function size:0x634 scope:local -UpdateJunctionGfx = .text:0x80064FD4; // type:function size:0x1A0 scope:local -StopJunctionPlayer = .text:0x80065174; // type:function size:0x70 scope:local -RestoreJunction = .text:0x800651E4; // type:function size:0x180 scope:local -GetDefaultDirection = .text:0x80065364; // type:function size:0x114 scope:local -DoDebugMove = .text:0x80065478; // type:function size:0x8E8 scope:local -ExecJunction = .text:0x80065D60; // type:function size:0xBF8 scope:local -BoardPlayerMoveTo = .text:0x80066958; // type:function size:0xBC -BoardPlayerMoveBetween = .text:0x80066A14; // type:function size:0x90 -BoardPlayerMoveToAsync = .text:0x80066AA4; // type:function size:0x90 -BoardPlayerPosLerpStart = .text:0x80066B34; // type:function size:0x430 -PlayerPosLerpFunc = .text:0x80066F64; // type:function size:0x218 scope:local -BoardPlayerDiceJumpStart = .text:0x8006717C; // type:function size:0x1D4 -BoardPlayerDiceJumpCheck = .text:0x80067350; // type:function size:0x54 -DiceJumpFunc = .text:0x800673A4; // type:function size:0x3E4 scope:local -BoardPlayerIdleSet = .text:0x80067788; // type:function size:0xF8 -BoardPlayerMotBlendSet = .text:0x80067880; // type:function size:0x5A0 -ExecMotBlend = .text:0x80067E20; // type:function size:0x51C scope:local -BoardPlayerMotBlendCheck = .text:0x8006833C; // type:function size:0x2C -BoardRollCreate = .text:0x80068368; // type:function size:0x138 -BoardRollUpdateSet = .text:0x800684A0; // type:function size:0x38 -BoardRollDispSet = .text:0x800684D8; // type:function size:0x10C -UpdateRollSprite = .text:0x800685E4; // type:function size:0x194 scope:local -UpdateRoll = .text:0x80068778; // type:function size:0x278 scope:local -BoardPlayerBtnDownWait = .text:0x800689F0; // type:function size:0x6C -BoardPlayerAutoSizeSet = .text:0x80068A5C; // type:function size:0x9C -BoardPlayerAutoSizeGet = .text:0x80068AF8; // type:function size:0x40 -BoardPlayerMoveAwayIsDone = .text:0x80068B38; // type:function size:0x1C -BoardPlayerMoveAwayStart = .text:0x80068B54; // type:function size:0x224 -BoardPlayerMoveAwayStartCurr = .text:0x80068D78; // type:function size:0x40 -MoveAwayObjFunc = .text:0x80068DB8; // type:function size:0x100 scope:local -BoardBowserSuitInit = .text:0x80068EB8; // type:function size:0x1A4 -BoardBowserSuitKill = .text:0x8006905C; // type:function size:0x128 -BoardBowserSuitModelGet = .text:0x80069184; // type:function size:0x8 -BoardBowserSuitPlayerModelGet = .text:0x8006918C; // type:function size:0x8 -BoardBowserSuitMotionCreate = .text:0x80069194; // type:function size:0x74 -BoardBowserSuitMotionSetWait = .text:0x80069208; // type:function size:0x54 -BoardBowserSuitMotionSetWalk = .text:0x8006925C; // type:function size:0x4C -BoardBowserSuitMotionSetWin = .text:0x800692A8; // type:function size:0x44 -BoardBowserSuitMotionSetJump = .text:0x800692EC; // type:function size:0x44 -BoardBowserSuitPlayerModelKill = .text:0x80069330; // type:function size:0x44 -UpdateBowserSuit = .text:0x80069374; // type:function size:0x1F0 scope:local -BoardPlayerSparkSet = .text:0x80069564; // type:function size:0x5C -DoSparkSpace = .text:0x800695C0; // type:function size:0x1294 scope:local -RemoveSparkSpace = .text:0x8006A854; // type:function size:0xA0 scope:local -SetPlayerSizeAuto = .text:0x8006A8F4; // type:function size:0x24C scope:local -BoardMegaDoubleDiceCheck = .text:0x8006AB40; // type:function size:0x8 -BoardPlayerResizeAnimExec = .text:0x8006AB48; // type:function size:0x38C -MegaSquishFunc = .text:0x8006AED4; // type:function size:0x950 scope:local -MegaPlayerPassFunc = .text:0x8006B824; // type:function size:0x980 scope:local -MegaExecJump = .text:0x8006C1A4; // type:function size:0xA48 scope:local -BoardPlayerCopyEyeMat = .text:0x8006CBEC; // type:function size:0x24C -BoardPlayerCopyMat = .text:0x8006CE38; // type:function size:0xC0 -BoardModelInit = .text:0x8006CEF8; // type:function size:0xF0 -BoardModelKillAll = .text:0x8006CFE8; // type:function size:0xA0 -ModelMgrFunc = .text:0x8006D088; // type:function size:0x70 scope:local -BoardModelDummyUpdate = .text:0x8006D0F8; // type:function size:0x4 -BoardModelVisibilityUpdate = .text:0x8006D0FC; // type:function size:0xCC -BoardModelHideSetAll = .text:0x8006D1C8; // type:function size:0x90 -BoardModelAmbSetAll = .text:0x8006D258; // type:function size:0x70 -BoardModelCameraSetAll = .text:0x8006D2C8; // type:function size:0x7C -CreateInstance = .text:0x8006D344; // type:function size:0x250 scope:local -BoardModelCreate = .text:0x8006D594; // type:function size:0x40 -BoardModelCreateCharacter = .text:0x8006D5D4; // type:function size:0x44 -BoardModelCreateParam = .text:0x8006D618; // type:function size:0x168 -BoardModelKill = .text:0x8006D780; // type:function size:0x44 -BoardModelIDGet = .text:0x8006D7C4; // type:function size:0x48 -fn_8006DC1C = .text:0x8006D80C; // type:function size:0x60 -BoardModelPassSet = .text:0x8006D86C; // type:function size:0x74 -BoardModelAmbSet = .text:0x8006D8E0; // type:function size:0x68 -BoardModelExistCheck = .text:0x8006D948; // type:function size:0x48 -BoardModelExistDupe = .text:0x8006D990; // type:function size:0x48 -fn_8006DDE8 = .text:0x8006D9D8; // type:function size:0x70 -BoardModelMotionCreate = .text:0x8006DA48; // type:function size:0x140 -BoardModelMotionKill = .text:0x8006DB88; // type:function size:0x118 -BoardModelMotionStartEndSet = .text:0x8006DCA0; // type:function size:0xE8 -BoardModelMotionUpdateSet = .text:0x8006DD88; // type:function size:0x7C -BoardModelVoiceEnableSet = .text:0x8006DE04; // type:function size:0xA4 -BoardModelMotionStart = .text:0x8006DEA8; // type:function size:0x174 -BoardModelMotionShiftIDGet = .text:0x8006E01C; // type:function size:0x50 -BoardModelMotionShiftSet = .text:0x8006E06C; // type:function size:0x148 -BoardModelAttrSet = .text:0x8006E1B4; // type:function size:0x58 -BoardModelAttrReset = .text:0x8006E20C; // type:function size:0x58 -BoardModelMotionTimeSet = .text:0x8006E264; // type:function size:0x84 -BoardModelMotionTimeGet = .text:0x8006E2E8; // type:function size:0x94 -BoardModelMotionMaxTimeGet = .text:0x8006E37C; // type:function size:0x88 -BoardModelMotionSpeedGet = .text:0x8006E404; // type:function size:0x64 -BoardModelMotionSpeedSet = .text:0x8006E468; // type:function size:0xA4 -BoardModelMotionEndCheck = .text:0x8006E50C; // type:function size:0x80 -BoardModelMotionShapeSet = .text:0x8006E58C; // type:function size:0x100 -BoardModelMotionShapeTimeGet = .text:0x8006E68C; // type:function size:0x7C -BoardModelMotionShapeMaxTimeGet = .text:0x8006E708; // type:function size:0xBC -BoardModelMotionShapeSpeedSet = .text:0x8006E7C4; // type:function size:0x88 -BoardModelMotionShapeSpeedGet = .text:0x8006E84C; // type:function size:0x64 -BoardModelMotionShapeEndCheck = .text:0x8006E8B0; // type:function size:0x14C -BoardModelMotionShapeStartEndSet = .text:0x8006E9FC; // type:function size:0x100 -BoardModelAlphaSet = .text:0x8006EAFC; // type:function size:0xB0 -BoardModelMtxSet = .text:0x8006EBAC; // type:function size:0x8C -BoardModelMtxGet = .text:0x8006EC38; // type:function size:0x8C -BoardModelRotYSet = .text:0x8006ECC4; // type:function size:0x54 -BoardModelRotYGet = .text:0x8006ED18; // type:function size:0x30 -BoardModelPosSetV = .text:0x8006ED48; // type:function size:0x50 -BoardModelPosSet = .text:0x8006ED98; // type:function size:0x78 -BoardModelRotSetV = .text:0x8006EE10; // type:function size:0x50 -BoardModelRotSet = .text:0x8006EE60; // type:function size:0x78 -BoardModelScaleSetV = .text:0x8006EED8; // type:function size:0x50 -BoardModelScaleSet = .text:0x8006EF28; // type:function size:0x78 -BoardModelPosGet = .text:0x8006EFA0; // type:function size:0x74 -BoardModelRotGet = .text:0x8006F014; // type:function size:0x74 -BoardModelScaleGet = .text:0x8006F088; // type:function size:0x74 -BoardModelVisibilitySet = .text:0x8006F0FC; // type:function size:0x60 -BoardModelVisibilityGet = .text:0x8006F15C; // type:function size:0x4C -BoardModelCameraSet = .text:0x8006F1A8; // type:function size:0x64 -BoardModelLayerSet = .text:0x8006F20C; // type:function size:0x64 -BoardModelLayerGet = .text:0x8006F270; // type:function size:0x48 -BoardModelLayerSetAll = .text:0x8006F2B8; // type:function size:0x74 -BoardModelHookSet = .text:0x8006F32C; // type:function size:0xC4 -BoardModelHookReset = .text:0x8006F3F0; // type:function size:0x50 -BoardModelHookObjReset = .text:0x8006F440; // type:function size:0x58 -SearchBoardModel = .text:0x8006F498; // type:function size:0x9C scope:local -KillBoardModel = .text:0x8006F534; // type:function size:0x178 scope:local -CreateBoardModel = .text:0x8006F6AC; // type:function size:0x194 scope:local -CreateBoardModelMotion = .text:0x8006F840; // type:function size:0x12C scope:local -BoardWinInit = .text:0x8006F96C; // type:function size:0x24 -BoardWinUnusedArraySet = .text:0x8006F990; // type:function size:0x34 -BoardWinKillAll = .text:0x8006F9C4; // type:function size:0x24 -BoardWinDestroy = .text:0x8006F9E8; // type:function size:0x6C -ExecBoardWindow = .text:0x8006FA54; // type:function size:0x514 scope:local -BoardWinChoiceGet = .text:0x8006FF68; // type:function size:0xC -BoardWinPause = .text:0x8006FF74; // type:function size:0xC -BoardWinCreateChoice = .text:0x8006FF80; // type:function size:0x1A0 -BoardWinCreate = .text:0x80070120; // type:function size:0x1A0 -BoardWinInsertMesSet = .text:0x800702C0; // type:function size:0x18 -BoardWinWait = .text:0x800702D8; // type:function size:0x50 -BoardWinKill = .text:0x80070328; // type:function size:0x38 -BoardWinAttrSet = .text:0x80070360; // type:function size:0x48 -BoardWinAttrReset = .text:0x800703A8; // type:function size:0x48 -BoardWinChoiceDisable = .text:0x800703F0; // type:function size:0x1C -BoardWinKeyWait = .text:0x8007040C; // type:function size:0xC -BoardWinSpeedGet = .text:0x80070418; // type:function size:0x64 -BoardWinSpeedSet = .text:0x8007047C; // type:function size:0x50 -BoardWinChoiceNowGet = .text:0x800704CC; // type:function size:0x38 -BoardWinPriSet = .text:0x80070504; // type:function size:0x44 -BoardWinChoiceNowGet2 = .text:0x80070548; // type:function size:0x38 -BoardWinPortraitGet = .text:0x80070580; // type:function size:0x38 -BoardWinPortraitGetStar = .text:0x800705B8; // type:function size:0x38 -BoardWinPlayerSet = .text:0x800705F0; // type:function size:0x168 -BoardWinStartComKeySet = .text:0x80070758; // type:function size:0x214 -BoardWinComKeyFuncSet = .text:0x8007096C; // type:function size:0x8 -BoardMusStartBoard = .text:0x80070974; // type:function size:0x68 -BoardMusStart = .text:0x800709DC; // type:function size:0xD0 -BoardAudSeqFadeOutFast = .text:0x80070AAC; // type:function size:0x2C -BoardAudSeqFadeOut = .text:0x80070AD8; // type:function size:0x60 -BoardMusLoudSet = .text:0x80070B38; // type:function size:0x5C -BoardMusVolPanSet = .text:0x80070B94; // type:function size:0x90 -BoardAudSeqPause = .text:0x80070C24; // type:function size:0x94 -BoardMusStatusGet = .text:0x80070CB8; // type:function size:0x54 -BoardAudSeqClear = .text:0x80070D0C; // type:function size:0x50 -BoardAudSeqFadeOutAll = .text:0x80070D5C; // type:function size:0x74 -BoardAudFXPlay = .text:0x80070DD0; // type:function size:0x78 -BoardAudFXStop = .text:0x80070E48; // type:function size:0x38 -ExecComKeyLeft = .text:0x80070E80; // type:function size:0x38 scope:local -BoardComKeySetLeft = .text:0x80070EB8; // type:function size:0x28 -ExecComKeyRight = .text:0x80070EE0; // type:function size:0x38 scope:local -BoardComKeySetRight = .text:0x80070F18; // type:function size:0x28 -ExecComKeyUp = .text:0x80070F40; // type:function size:0x38 scope:local -BoardComKeySetUp = .text:0x80070F78; // type:function size:0x28 -ExecComKeyDown = .text:0x80070FA0; // type:function size:0x38 scope:local -BoardComKeySetDown = .text:0x80070FD8; // type:function size:0x28 -ExecComKey = .text:0x80071000; // type:function size:0xE8 -BoardComPreferItemGet = .text:0x800710E8; // type:function size:0x100 -BoardComPreferItemCheck = .text:0x800711E8; // type:function size:0x120 -BoardComItemWeightGet = .text:0x80071308; // type:function size:0x74 -BoardComUseItemSlotGet = .text:0x8007137C; // type:function size:0xD0 -BoardComUseItemSet = .text:0x8007144C; // type:function size:0x6C -BoardComUseItemCheck = .text:0x800714B8; // type:function size:0x68 -ChooseUseItem = .text:0x80071520; // type:function size:0x16C scope:local -CheckMiniUse = .text:0x8007168C; // type:function size:0x220 scope:local -CheckMegaUse = .text:0x800718AC; // type:function size:0x248 scope:local -CheckSparkUse = .text:0x80071AF4; // type:function size:0x158 scope:local -CheckBoardChangeUse = .text:0x80071C4C; // type:function size:0x314 scope:local -CheckSwapUse = .text:0x80071F60; // type:function size:0x198 scope:local -CheckBooUse = .text:0x800720F8; // type:function size:0x7C scope:local -CheckLampUse = .text:0x80072174; // type:function size:0x74 scope:local -BoardComJunctionInputGet = .text:0x800721E8; // type:function size:0x304 -BoardComFarPlayerFind = .text:0x800724EC; // type:function size:0xA8 -BoardViewOverheadExec = .text:0x80072594; // type:function size:0x134 -BoardViewFocusGetPos = .text:0x800726C8; // type:function size:0x3C -BoardViewFocusSet = .text:0x80072704; // type:function size:0xF0 -BoardViewMoveStart = .text:0x800727F4; // type:function size:0x128 -BoardViewMoveCheck = .text:0x8007291C; // type:function size:0x34 -BoardViewMoveEnd = .text:0x80072950; // type:function size:0xC -BoardViewWait = .text:0x8007295C; // type:function size:0x3C -BoardViewMapExec = .text:0x80072998; // type:function size:0xC8 -ExecMapView = .text:0x80072A60; // type:function size:0x398 scope:local -ExecStarView = .text:0x80072DF8; // type:function size:0x170 scope:local -ExecOverheadView = .text:0x80072F68; // type:function size:0x158 scope:local -DestroyView = .text:0x800730C0; // type:function size:0x80 scope:local -SetTargetView = .text:0x80073140; // type:function size:0x178 scope:local -DestroyFocus = .text:0x800732B8; // type:function size:0x4C scope:local -CreateButtonWin = .text:0x80073304; // type:function size:0xE0 scope:local -DestroyButtonWin = .text:0x800733E4; // type:function size:0x38 scope:local -InitOverheadView = .text:0x8007341C; // type:function size:0x374 scope:local -DestroyOverheadView = .text:0x80073790; // type:function size:0x24 scope:local -UpdateOverheadView = .text:0x800737B4; // type:function size:0x400 scope:local -WaitOverheadView = .text:0x80073BB4; // type:function size:0x30 scope:local -BoardSpaceWalkEventFuncSet = .text:0x80073BE4; // type:function size:0x8 -BoardSpaceWalkMiniEventFuncSet = .text:0x80073BEC; // type:function size:0x8 -BoardSpaceLandEventFuncSet = .text:0x80073BF4; // type:function size:0x8 -BoardSpaceWalkEventExec = .text:0x80073BFC; // type:function size:0x48 -BoardSpaceWalkMiniEventExec = .text:0x80073C44; // type:function size:0x60 -BoardSpaceCountGet = .text:0x80073CA4; // type:function size:0x10 -BoardSpaceGet = .text:0x80073CB4; // type:function size:0x44 -BoardSpaceAttrSet = .text:0x80073CF8; // type:function size:0x18 -BoardSpaceAttrReset = .text:0x80073D10; // type:function size:0x18 -BoardSpaceFlagGet = .text:0x80073D28; // type:function size:0x48 -BoardSpaceTypeGet = .text:0x80073D70; // type:function size:0x48 -BoardSpaceTypeSet = .text:0x80073DB8; // type:function size:0x48 -BoardSpacePosGet = .text:0x80073E00; // type:function size:0x8C -BoardSpaceCornerPosGet = .text:0x80073E8C; // type:function size:0x2C8 -BoardSpaceRotGet = .text:0x80074154; // type:function size:0x8C -BoardSpaceFlagSearch = .text:0x800741E0; // type:function size:0xA0 -BoardSpaceFlagPosGet = .text:0x80074280; // type:function size:0x134 -BoardSpaceLinkFlagSearch = .text:0x800743B4; // type:function size:0x134 -BoardSpaceLinkTypeListGet = .text:0x800744E8; // type:function size:0x148 -BoardSpaceLinkTargetListGet = .text:0x80074630; // type:function size:0x104 -BoardSpaceLinkTypeSearch = .text:0x80074734; // type:function size:0x110 -BoardSpaceLinkTransformGet = .text:0x80074844; // type:function size:0x1FC -BoardSpaceHostSet = .text:0x80074A40; // type:function size:0x1BC -BoardSpaceStarSetIndex = .text:0x80074BFC; // type:function size:0x4AC -BoardSpaceStarGetNext = .text:0x800750A8; // type:function size:0x344 -BoardSpaceStarGetRandom = .text:0x800753EC; // type:function size:0x9C -BoardSpaceStarMove = .text:0x80075488; // type:function size:0xF0 -BoardSpaceStarGet = .text:0x80075578; // type:function size:0x1C -BoardSpaceStarGetCurr = .text:0x80075594; // type:function size:0x3C -BoardSpaceStarCheck = .text:0x800755D0; // type:function size:0x110 -BoardSpaceLandExec = .text:0x800756E0; // type:function size:0x474 -BoardSpaceWalkExec = .text:0x80075B54; // type:function size:0x2A4 -BoardSpaceBlockExec = .text:0x80075DF8; // type:function size:0x180 -ExecPipeSpace = .text:0x80075F78; // type:function size:0x268 scope:local -BoardSpaceTypeForce = .text:0x800761E0; // type:function size:0x5C -BoardSpaceHide = .text:0x8007623C; // type:function size:0x48 -DrawSpaces = .text:0x80076284; // type:function size:0x9E8 scope:local -BoardSpaceRead = .text:0x80076C6C; // type:function size:0x174 -BoardSpaceCameraSet = .text:0x80076DE0; // type:function size:0x2C -BoardSpaceBlockPosSet = .text:0x80076E0C; // type:function size:0xD0 -BoardSpaceInit = .text:0x80076EDC; // type:function size:0x750 -BoardSpaceDestroy = .text:0x8007762C; // type:function size:0x70 -BoardShopHostSet = .text:0x8007769C; // type:function size:0x8 -BoardShopHostGet = .text:0x800776A4; // type:function size:0x8 -BoardShopInit = .text:0x800776AC; // type:function size:0xD4 -BoardShopKill = .text:0x80077780; // type:function size:0xA0 -BoardShopExec = .text:0x80077820; // type:function size:0x9C -ExecShop = .text:0x800778BC; // type:function size:0x800 scope:local -DestroyShop = .text:0x800780BC; // type:function size:0xD4 scope:local -PopupShop = .text:0x80078190; // type:function size:0x1B4 scope:local -CloseShop = .text:0x80078344; // type:function size:0xBC scope:local -CreateShopWin = .text:0x80078400; // type:function size:0x13C scope:local -UpdateShopWin = .text:0x8007853C; // type:function size:0x314 scope:local -SetShopWinItem = .text:0x80078850; // type:function size:0x168 scope:local -PauseShopWin = .text:0x800789B8; // type:function size:0x2C scope:local -fn_800789E4 = .text:0x800789E4; // type:function size:0x18C scope:local -ExecItemGive = .text:0x80078B70; // type:function size:0x168 scope:local -MoveItemGive = .text:0x80078CD8; // type:function size:0x34C scope:local -ShrinkItemGive = .text:0x80079024; // type:function size:0x144 scope:local -fn_80079168 = .text:0x80079168; // type:function size:0x6C scope:local -GetShopItems = .text:0x800791D4; // type:function size:0x280 scope:local -GetDefaultShopItems = .text:0x80079454; // type:function size:0xA0 scope:local -SortShopItems = .text:0x800794F4; // type:function size:0x14C scope:local -DecideComEnter = .text:0x80079640; // type:function size:0x1C8 scope:local -DecideComBuy = .text:0x80079808; // type:function size:0x60 scope:local -GetComItemChoice = .text:0x80079868; // type:function size:0x158 scope:local -WaitItemChoice = .text:0x800799C0; // type:function size:0x30 scope:local -CreateShopItemChoice = .text:0x800799F0; // type:function size:0x188 scope:local -GetShopItemChoice = .text:0x80079B78; // type:function size:0xC scope:local -GetShopItemWinChoice = .text:0x80079B84; // type:function size:0x38 scope:local -MoveShopItemChoice = .text:0x80079BBC; // type:function size:0x260 scope:local -UpdateShopItemChoice = .text:0x80079E1C; // type:function size:0x104 scope:local -GetShopItemChoiceInput = .text:0x80079F20; // type:function size:0x30 scope:local -BoardShopTutorialExec = .text:0x80079F50; // type:function size:0x4DC -BoardLotteryHostSet = .text:0x8007A42C; // type:function size:0x8 -BoardLotteryHostGet = .text:0x8007A434; // type:function size:0x8 -BoardLotteryExec = .text:0x8007A43C; // type:function size:0x8C -BoardLotteryInit = .text:0x8007A4C8; // type:function size:0x16C -CreateModel = .text:0x8007A634; // type:function size:0x3B4 scope:local -KillModel = .text:0x8007A9E8; // type:function size:0x1FC scope:local -BoardLotteryKill = .text:0x8007ABE4; // type:function size:0x64 -DestroyLottery = .text:0x8007AC48; // type:function size:0xB0 scope:local -ExecLottery = .text:0x8007ACF8; // type:function size:0x798 scope:local -DoMiniJumpUp = .text:0x8007B490; // type:function size:0x20C scope:local -DoMiniJumpDown = .text:0x8007B69C; // type:function size:0x1BC scope:local -PayEnterFee = .text:0x8007B858; // type:function size:0xF0 scope:local -ShowTicket = .text:0x8007B948; // type:function size:0x3C8 scope:local -SetupTicket = .text:0x8007BD10; // type:function size:0x140 scope:local -ExecBallGame = .text:0x8007BE50; // type:function size:0x914 scope:local -SetBallPrize = .text:0x8007C764; // type:function size:0xC8 scope:local -ExecBallPrize = .text:0x8007C82C; // type:function size:0x27C scope:local -ExecScratchTicket = .text:0x8007CAA8; // type:function size:0x30C scope:local -ExecScratch = .text:0x8007CDB4; // type:function size:0x3AC scope:local -KillScratch = .text:0x8007D160; // type:function size:0x6C scope:local -ExecScratchSpr = .text:0x8007D1CC; // type:function size:0x21C scope:local -HideScratchSpr = .text:0x8007D3E8; // type:function size:0x68 scope:local -InitScratchSpr = .text:0x8007D450; // type:function size:0x288 scope:local -ExecScratchPick = .text:0x8007D6D8; // type:function size:0x3DC scope:local -InitScratchPick = .text:0x8007DAB4; // type:function size:0x14C scope:local -InitTicketPrizes = .text:0x8007DC00; // type:function size:0xD0 scope:local -ExecTicketFocus = .text:0x8007DCD0; // type:function size:0x160 scope:local -ScratchTicketCheckDone = .text:0x8007DE30; // type:function size:0xA8 scope:local -TicketGetPixel = .text:0x8007DED8; // type:function size:0x84 scope:local -TicketUpdate = .text:0x8007DF5C; // type:function size:0x6B0 scope:local -ExecCoinPrize = .text:0x8007E60C; // type:function size:0x440 scope:local -ExecItemPrize = .text:0x8007EA4C; // type:function size:0x338 scope:local -KillCoin = .text:0x8007ED84; // type:function size:0x68 scope:local -ExecPrize = .text:0x8007EDEC; // type:function size:0x4C0 scope:local -ExecLose = .text:0x8007F2AC; // type:function size:0xA4 scope:local -CreateLotteryWin = .text:0x8007F350; // type:function size:0xFC scope:local -KillLotteryWin = .text:0x8007F44C; // type:function size:0x38 scope:local -BoardLotteryTutorialExec = .text:0x8007F484; // type:function size:0x2BC -BoardLandBlueExec = .text:0x8007F740; // type:function size:0x184 -BoardLandRedExec = .text:0x8007F8C4; // type:function size:0x19C -BoardCoinChgCreate = .text:0x8007FA60; // type:function size:0x1E8 -BoardCoinChgExist = .text:0x8007FC48; // type:function size:0x6C -BoardCoinChgHide = .text:0x8007FCB4; // type:function size:0x60 -CreateCoinChg = .text:0x8007FD14; // type:function size:0x23C scope:local -UpdateCoinChg = .text:0x8007FF50; // type:function size:0x198 scope:local -CoinChgAppear = .text:0x800800E8; // type:function size:0x1B8 scope:local -CoinChgSeparate = .text:0x800802A0; // type:function size:0x29C scope:local -CoinChgShow = .text:0x8008053C; // type:function size:0x1A8 scope:local -CoinChgDisappear = .text:0x800806E4; // type:function size:0x260 scope:local -BoardWarpExec = .text:0x80080944; // type:function size:0xA4 -WarpProcess = .text:0x800809E8; // type:function size:0x250 scope:local -WarpKill = .text:0x80080C38; // type:function size:0x5C scope:local -WarpInit = .text:0x80080C94; // type:function size:0x118 scope:local -WarpLaunch = .text:0x80080DAC; // type:function size:0xBC scope:local -WarpStartImpact = .text:0x80080E68; // type:function size:0x1B0 scope:local -WarpFall = .text:0x80081018; // type:function size:0xA4 scope:local -WarpImpact = .text:0x800810BC; // type:function size:0x200 scope:local -BoardCharWheelInit = .text:0x800812BC; // type:function size:0x11C -BoardCharWheelCheck = .text:0x800813D8; // type:function size:0x34 -BoardCharWheelWait = .text:0x8008140C; // type:function size:0x50 -BoardCharWheelResultGet = .text:0x8008145C; // type:function size:0x18 -BoardCharWheelSpeedSet = .text:0x80081474; // type:function size:0x1C -ExecCharWheel = .text:0x80081490; // type:function size:0xFC scope:local -InitCharWheel = .text:0x8008158C; // type:function size:0x754 scope:local -UpdateCharWheel = .text:0x80081CE0; // type:function size:0x314 scope:local -StopCharWheel = .text:0x80081FF4; // type:function size:0x164 scope:local -GrowCharWheel = .text:0x80082158; // type:function size:0x120 scope:local -ShrinkCharWheel = .text:0x80082278; // type:function size:0x10C scope:local -KillCharWheelSpr = .text:0x80082384; // type:function size:0x38 scope:local -SetCharWheelChars = .text:0x800823BC; // type:function size:0xBC scope:local -GetInput = .text:0x80082478; // type:function size:0x224 scope:local -BoardCharWheelTargetSet = .text:0x8008269C; // type:function size:0x10 -GetComDelay = .text:0x800826AC; // type:function size:0x148 scope:local -GetComInput = .text:0x800827F4; // type:function size:0x8C scope:local -BoardMushroomExec = .text:0x80082880; // type:function size:0xA4 -MushroomMain = .text:0x80082924; // type:function size:0x38C scope:local -KillMushroom = .text:0x80082CB0; // type:function size:0x58 scope:local -BoxMain = .text:0x80082D08; // type:function size:0x118 scope:local -ShowBox = .text:0x80082E20; // type:function size:0x114 scope:local -ExitBox = .text:0x80082F34; // type:function size:0x160 scope:local -HideBox = .text:0x80083094; // type:function size:0x68 scope:local -CenterBox = .text:0x800830FC; // type:function size:0xD4 scope:local -InitBox = .text:0x800831D0; // type:function size:0x2EC scope:local -MarkKillBox = .text:0x800834BC; // type:function size:0x64 scope:local -SetBoxHide = .text:0x80083520; // type:function size:0x34 scope:local -SetBoxCenter = .text:0x80083554; // type:function size:0x54 scope:local -SetBoxShow = .text:0x800835A8; // type:function size:0x34 scope:local -WaitBoxOpen = .text:0x800835DC; // type:function size:0x5C scope:local -WaitBoxCenter = .text:0x80083638; // type:function size:0x58 scope:local -CheckBox = .text:0x80083690; // type:function size:0x60 scope:local -DoItemGive = .text:0x800836F0; // type:function size:0x240 scope:local -StartItemGive = .text:0x80083930; // type:function size:0xD4 scope:local -KillItemMdl = .text:0x80083A04; // type:function size:0x38 scope:local -ShowItemMdl = .text:0x80083A3C; // type:function size:0x48 scope:local -WaitItemGive = .text:0x80083A84; // type:function size:0x48 scope:local -BoardStarHostSet = .text:0x80083ACC; // type:function size:0xA8 -BoardStarHostMdlGet = .text:0x80083B74; // type:function size:0x8 -BoardStarExec = .text:0x80083B7C; // type:function size:0xCC -ExecStar = .text:0x80083C48; // type:function size:0x8F4 scope:local -DestroyStar = .text:0x8008453C; // type:function size:0x84 scope:local -GiveStarMain = .text:0x800845C0; // type:function size:0x160 scope:local -UpdateStarAngle = .text:0x80084720; // type:function size:0x144 scope:local -InitGiveStar = .text:0x80084864; // type:function size:0x10C scope:local -MoveGiveStar = .text:0x80084970; // type:function size:0x180 scope:local -ShrinkGiveStar = .text:0x80084AF0; // type:function size:0x204 scope:local -StopGiveStar = .text:0x80084CF4; // type:function size:0x38 scope:local -InitGiveStarEffect = .text:0x80084D2C; // type:function size:0xB4 scope:local -KillGiveStarEffect = .text:0x80084DE0; // type:function size:0x40 scope:local -BoardStarGive = .text:0x80084E20; // type:function size:0x31C -BoardStarShowNext = .text:0x8008513C; // type:function size:0x628 -ShowNextUpdate = .text:0x80085764; // type:function size:0x130 scope:local -HideNextHost = .text:0x80085894; // type:function size:0x24 scope:local -BoardRollExec = .text:0x800858B8; // type:function size:0x1EC -BoardRollKill = .text:0x80085AA4; // type:function size:0x38 -BoardRollUPauseSet = .text:0x80085ADC; // type:function size:0x84 -BoardRollWinDispSet = .text:0x80085B60; // type:function size:0x4C -RollMain = .text:0x80085BAC; // type:function size:0x490 scope:local -DiceCreate = .text:0x8008603C; // type:function size:0x280 scope:local -DoInput = .text:0x800862BC; // type:function size:0x1C8 scope:local -DiceWaitFull = .text:0x80086484; // type:function size:0x60 scope:local -DiceSetHit = .text:0x800864E4; // type:function size:0x130 scope:local -RollDestroy = .text:0x80086614; // type:function size:0x60 scope:local -DiceMain = .text:0x80086674; // type:function size:0x7E4 scope:local -DicePause = .text:0x80086E58; // type:function size:0x40 scope:local -DicePauseAll = .text:0x80086E98; // type:function size:0x90 scope:local -BoardDiceEffectCreate = .text:0x80086F28; // type:function size:0xE0 -DiceHideEffect = .text:0x80087008; // type:function size:0x84 scope:local -BoardDicePauseAll = .text:0x8008708C; // type:function size:0x94 -BoardDiceDoneCheck = .text:0x80087120; // type:function size:0x8C -BoardDiceStop = .text:0x800871AC; // type:function size:0x58 -BoardDiceVisibleSet = .text:0x80087204; // type:function size:0xC0 -BoardDiceValueSet = .text:0x800872C4; // type:function size:0x200 -DiceDigitMain = .text:0x800874C4; // type:function size:0xAC scope:local -DiceDigitKill = .text:0x80087570; // type:function size:0x68 scope:local -DiceKill = .text:0x800875D8; // type:function size:0xB4 scope:local -DiceDigitMove = .text:0x8008768C; // type:function size:0x390 scope:local -DiceDigitRotate = .text:0x80087A1C; // type:function size:0x110 scope:local -SameRollExec = .text:0x80087B2C; // type:function size:0x248 scope:local -GetBtnRoll = .text:0x80087D74; // type:function size:0x110 scope:local -GetComBtnRoll = .text:0x80087E84; // type:function size:0x88 scope:local -BoardRollTutorialSet = .text:0x80087F0C; // type:function size:0x4C -BoardItemModelGet = .text:0x80087F58; // type:function size:0x90 -BoardItemNameGet = .text:0x80087FE8; // type:function size:0x98 -BoardStatusStopCheck = .text:0x80088080; // type:function size:0x48 -BoardStatusVisibleGet = .text:0x800880C8; // type:function size:0x1C -BoardStatusShowSetAll = .text:0x800880E4; // type:function size:0x48 -BoardStatusItemSet = .text:0x8008812C; // type:function size:0xFC -BoardStatusShowSetForce = .text:0x80088228; // type:function size:0x24 -BoardStatusGraySet = .text:0x8008824C; // type:function size:0x134 -BoardStatusShowSet = .text:0x80088380; // type:function size:0x138 -BoardStatusItemHideSet = .text:0x800884B8; // type:function size:0x50 -BoardStatusTargetPosSet = .text:0x80088508; // type:function size:0x44 -BoardStatusPosGet = .text:0x8008854C; // type:function size:0x34 -BoardStatusPosSet = .text:0x80088580; // type:function size:0x6C -BoardStatusHammerCreate = .text:0x800885EC; // type:function size:0x158 -BoardStatusHammerShowSet = .text:0x80088744; // type:function size:0x94 -BoardStatusHammerKill = .text:0x800887D8; // type:function size:0x6C -BoardStatusKill = .text:0x80088844; // type:function size:0x90 -BoardStatusCreate = .text:0x800888D4; // type:function size:0x20C -KillAllBoardStatus = .text:0x80088AE0; // type:function size:0x98 scope:local -CreateBoardStatusSprite = .text:0x80088B78; // type:function size:0x36C scope:local -BoardSpriteCreate = .text:0x80088EE4; // type:function size:0x8C -UpdateBoardStatus = .text:0x80088F70; // type:function size:0x210 scope:local -BoardStatusProc = .text:0x80089180; // type:function size:0x40 scope:local -MoveBoardStatus = .text:0x800891C0; // type:function size:0x180 scope:local -BoardSpriteDigitUpdate = .text:0x80089340; // type:function size:0x140 -UpdateStatusItem = .text:0x80089480; // type:function size:0xB8 scope:local -BoardPickerCreate = .text:0x80089538; // type:function size:0x29C -BoardPickerBackFlagSet = .text:0x800897D4; // type:function size:0x74 -BoardPickerDoneCheck = .text:0x80089848; // type:function size:0x1C -BoardPickerPosGet = .text:0x80089864; // type:function size:0x48 -BoardPickerChoiceGet = .text:0x800898AC; // type:function size:0xC -UpdatePicker = .text:0x800898B8; // type:function size:0xFC scope:local -UpdatePickerInput = .text:0x800899B4; // type:function size:0x15C scope:local -MovePicker = .text:0x80089B10; // type:function size:0x110 scope:local -UpdateComPickerButton = .text:0x80089C20; // type:function size:0x30 scope:local -CheckPickerButton = .text:0x80089C50; // type:function size:0x19C scope:local -BoardYourTurnExec = .text:0x80089DEC; // type:function size:0x1E4 -UpdateYourTurn = .text:0x80089FD0; // type:function size:0xD4 scope:local -GrowYourTurn = .text:0x8008A0A4; // type:function size:0xD8 scope:local -WaitYourTurn = .text:0x8008A17C; // type:function size:0xEC scope:local -ShrinkYourTurn = .text:0x8008A268; // type:function size:0xC8 scope:local -BoardItemUseExec = .text:0x8008A330; // type:function size:0x80 -ItemUseTeamProc = .text:0x8008A3B0; // type:function size:0x4A8 scope:local -ItemUseProc = .text:0x8008A858; // type:function size:0x370 scope:local -FinishItemUse = .text:0x8008ABC8; // type:function size:0x174 scope:local -DestroyItemUse = .text:0x8008AD3C; // type:function size:0x78 scope:local -BoardMakeRandomItem = .text:0x8008ADB4; // type:function size:0x74 -TeamItemPosSet = .text:0x8008AE28; // type:function size:0xE8 scope:local -ExecItemPick = .text:0x8008AF10; // type:function size:0x650 scope:local -UpdateItemPick = .text:0x8008B560; // type:function size:0x3AC scope:local -MakeItemPickSpace = .text:0x8008B90C; // type:function size:0x420 scope:local -SetItemUIStatus = .text:0x8008BD2C; // type:function size:0x248 scope:local -BoardItemGetDestPos = .text:0x8008BF74; // type:function size:0xA8 -ItemGetPos = .text:0x8008C01C; // type:function size:0x104 scope:local -BoardItemStatusKill = .text:0x8008C120; // type:function size:0x400 -UpdateItemPickGfx = .text:0x8008C520; // type:function size:0x388 scope:local -UpdateItemPickup = .text:0x8008C8A8; // type:function size:0x674 scope:local -CheckItemWindow = .text:0x8008CF1C; // type:function size:0x50 scope:local -HideItemWindow = .text:0x8008CF6C; // type:function size:0x38 scope:local -CreateItemWindow = .text:0x8008CFA4; // type:function size:0x5A4 scope:local -CheckItemWindowSlide = .text:0x8008D548; // type:function size:0x58 scope:local -KillItemWindow = .text:0x8008D5A0; // type:function size:0x38 scope:local -SetItemWindowCurr = .text:0x8008D5D8; // type:function size:0xA4 scope:local -UpdateItemWindow = .text:0x8008D67C; // type:function size:0x350 scope:local -CreatePickerWindow = .text:0x8008D9CC; // type:function size:0x148 scope:local -KillPickerWindow = .text:0x8008DB14; // type:function size:0x44 scope:local -BoardBlockExec = .text:0x8008DB58; // type:function size:0x84 -BlockProc = .text:0x8008DBDC; // type:function size:0x358 scope:local -DestroyBlock = .text:0x8008DF34; // type:function size:0x54 scope:local -CreateBlockObj = .text:0x8008DF88; // type:function size:0x1F4 scope:local -ExecBlockObj = .text:0x8008E17C; // type:function size:0x12C scope:local -DestroyBlockObj = .text:0x8008E2A8; // type:function size:0x38 scope:local -SpawnBlock = .text:0x8008E2E0; // type:function size:0x120 scope:local -HitBlock = .text:0x8008E400; // type:function size:0xCC scope:local -OpenBlock = .text:0x8008E4CC; // type:function size:0x140 scope:local -SetBlockOpen = .text:0x8008E60C; // type:function size:0x2C scope:local -SetBlockStop = .text:0x8008E638; // type:function size:0x2C scope:local -WaitBlockHit = .text:0x8008E664; // type:function size:0x48 scope:local -CreateCoinMdl = .text:0x8008E6AC; // type:function size:0x94 scope:local -KillCoinMdl = .text:0x8008E740; // type:function size:0x9C scope:local -PopupCoin = .text:0x8008E7DC; // type:function size:0x10C scope:local -PopupCoinExec = .text:0x8008E8E8; // type:function size:0x130 scope:local -BoardItemStart = .text:0x8008EA18; // type:function size:0x74 -BoardItemDoneCheck = .text:0x8008EA8C; // type:function size:0x1C -BoardItemPlayerRestore = .text:0x8008EAA8; // type:function size:0x6C -ItemProcess = .text:0x8008EB14; // type:function size:0x64 scope:local -RestoreProcess = .text:0x8008EB78; // type:function size:0x64 scope:local -ItemDestroy = .text:0x8008EBDC; // type:function size:0xC scope:local -RestoreDestroy = .text:0x8008EBE8; // type:function size:0xC scope:local -ItemSizeShowAnim = .text:0x8008EBF4; // type:function size:0x180 scope:local -ItemRotProc = .text:0x8008ED74; // type:function size:0x1BC scope:local -ItemShowProc = .text:0x8008EF30; // type:function size:0x220 scope:local -ItemGetTarget = .text:0x8008F150; // type:function size:0x374 scope:local -ItemSizeSet = .text:0x8008F4C4; // type:function size:0x204 scope:local -ExecItemMini = .text:0x8008F6C8; // type:function size:0xA4 scope:local -ExecItemMega = .text:0x8008F76C; // type:function size:0xA4 scope:local -ExecItemMiniSuper = .text:0x8008F810; // type:function size:0xA4 scope:local -ExecItemMegaSuper = .text:0x8008F8B4; // type:function size:0xA4 scope:local -ExecItemHammer = .text:0x8008F958; // type:function size:0x584 scope:local -ExecItemPipe = .text:0x8008FEDC; // type:function size:0xD34 scope:local -ExecItemSwap = .text:0x80090C10; // type:function size:0xEBC scope:local -ExecItemSpark = .text:0x80091ACC; // type:function size:0x4FC scope:local -ExecItemLight = .text:0x80091FC8; // type:function size:0xC8 scope:local -ExecItemWhistle = .text:0x80092090; // type:function size:0xE3C scope:local -ExecItemBowser = .text:0x80092ECC; // type:function size:0x3D4 scope:local -ExecItemBooBall = .text:0x800932A0; // type:function size:0x1370 scope:local -LampParticleUpdate = .text:0x80094610; // type:function size:0x488 scope:local -GenieParticleUpdate = .text:0x80094A98; // type:function size:0x388 scope:local -GenieCameraProc = .text:0x80094E20; // type:function size:0xB0 scope:local -GenieCameraCalc = .text:0x80094ED0; // type:function size:0x7A4 scope:local -GenieSceneExec = .text:0x80095674; // type:function size:0x9D8 scope:local -ExecItemGenie = .text:0x8009604C; // type:function size:0x628 scope:local -BoardItemBagItemSet = .text:0x80096674; // type:function size:0x3C -ExecItemBagJump = .text:0x800966B0; // type:function size:0x13C scope:local -ExecItemBagShow = .text:0x800967EC; // type:function size:0xDC scope:local -ExecItemBag = .text:0x800968C8; // type:function size:0x584 scope:local -RestoreItemNull = .text:0x80096E4C; // type:function size:0x1C scope:local -RestoreItemMini = .text:0x80096E68; // type:function size:0x2C scope:local -RestoreItemMega = .text:0x80096E94; // type:function size:0x2C scope:local -RestoreItemMiniSuper = .text:0x80096EC0; // type:function size:0x2C scope:local -RestoreItemMegaSuper = .text:0x80096EEC; // type:function size:0x2C scope:local -RestoreItemBowser = .text:0x80096F18; // type:function size:0x284 scope:local -BoardBowserExec = .text:0x8009719C; // type:function size:0x144 -ExecBowser = .text:0x800972E0; // type:function size:0x28C scope:local -ExecBowserMain = .text:0x8009756C; // type:function size:0x208 scope:local -ExecMGReturn = .text:0x80097774; // type:function size:0x1DC scope:local -DestroyBowser = .text:0x80097950; // type:function size:0x30 scope:local -SquishPlayers = .text:0x80097980; // type:function size:0x148 scope:local -ExecBowserSpecial = .text:0x80097AC8; // type:function size:0x1B4 scope:local -ExecBowserGame = .text:0x80097C7C; // type:function size:0x250 scope:local -DoMGReturnEffect = .text:0x80097ECC; // type:function size:0x220 scope:local -ExecBowserShuffle = .text:0x800980EC; // type:function size:0x2B0 scope:local -ExecBowserRevo = .text:0x8009839C; // type:function size:0x160 scope:local -ExecBowserSuit = .text:0x800984FC; // type:function size:0xB8 scope:local -CheckSuitGive = .text:0x800985B4; // type:function size:0x1C scope:local -StartSuitGive = .text:0x800985D0; // type:function size:0x148 scope:local -SuitGiveMain = .text:0x80098718; // type:function size:0x210 scope:local -CreateBowserObj = .text:0x80098928; // type:function size:0x228 scope:local -ExecBowserObj = .text:0x80098B50; // type:function size:0x230 scope:local -ExecBowserFall = .text:0x80098D80; // type:function size:0x270 scope:local -ExecBowserLaugh = .text:0x80098FF0; // type:function size:0x58 scope:local -ExecBowserFire = .text:0x80099048; // type:function size:0x44 scope:local -ExecBowserJump = .text:0x8009908C; // type:function size:0x150 scope:local -ExecBowserPowerUp = .text:0x800991DC; // type:function size:0x128 scope:local -SetBowserState = .text:0x80099304; // type:function size:0x34 scope:local -CheckBowserIdle = .text:0x80099338; // type:function size:0x5C scope:local -CreateMiniBowser = .text:0x80099394; // type:function size:0xD4 scope:local -CheckMiniBowser = .text:0x80099468; // type:function size:0x1C scope:local -ExecMiniBowser = .text:0x80099484; // type:function size:0x18C scope:local -CreateBowserEvent = .text:0x80099610; // type:function size:0x1E8 scope:local -CheckBowserEvent = .text:0x800997F8; // type:function size:0x38 scope:local -StopBowserEvent = .text:0x80099830; // type:function size:0x24 scope:local -ExecBowserEvent = .text:0x80099854; // type:function size:0xEC scope:local -ShowBowserEvent = .text:0x80099940; // type:function size:0x1C8 scope:local -HideBowserEvent = .text:0x80099B08; // type:function size:0x108 scope:local -ConfigBowserEvent = .text:0x80099C10; // type:function size:0x160 scope:local -CreatePlayerMot = .text:0x80099D70; // type:function size:0x1AC scope:local -KillPlayerMot = .text:0x80099F1C; // type:function size:0xB8 scope:local -InitBowserFire = .text:0x80099FD4; // type:function size:0x90 scope:local -BowserFireHook = .text:0x8009A064; // type:function size:0x160 scope:local -SpawnBowserFire = .text:0x8009A1C4; // type:function size:0xE4 scope:local -CheckBowserFire = .text:0x8009A2A8; // type:function size:0xCC scope:local -KillBowserFire = .text:0x8009A374; // type:function size:0x40 scope:local -ExecMiniBowserEvent = .text:0x8009A3B4; // type:function size:0x188 scope:local -MiniBowserTake = .text:0x8009A53C; // type:function size:0x2C4 scope:local -MiniBowserTakeAll = .text:0x8009A800; // type:function size:0x2B8 scope:local -MiniBowserBalloonStop = .text:0x8009AAB8; // type:function size:0x24 scope:local -GetMiniBowserBalloonState = .text:0x8009AADC; // type:function size:0xC scope:local -SetMiniBowserBalloonState = .text:0x8009AAE8; // type:function size:0x10 scope:local -CreateMiniBowserBalloon = .text:0x8009AAF8; // type:function size:0x14C scope:local -ExecMiniBowserBalloon = .text:0x8009AC44; // type:function size:0x120 scope:local -MiniBowserBalloonHover = .text:0x8009AD64; // type:function size:0xB4 scope:local -MiniBowserBalloonFall = .text:0x8009AE18; // type:function size:0x88 scope:local -MiniBowserBalloonRaise = .text:0x8009AEA0; // type:function size:0x80 scope:local -SetMiniBowserMotion = .text:0x8009AF20; // type:function size:0xD8 scope:local -SetMiniBowserMotionPause = .text:0x8009AFF8; // type:function size:0x6C scope:local -WaitMiniBowserMotion = .text:0x8009B064; // type:function size:0x60 scope:local -BoardBattleExec = .text:0x8009B0C4; // type:function size:0x124 -DestroyBattle = .text:0x8009B1E8; // type:function size:0x2C scope:local -ExecBattle = .text:0x8009B214; // type:function size:0x708 scope:local -TakeCoins = .text:0x8009B91C; // type:function size:0x1D4 scope:local -InitExplode = .text:0x8009BAF0; // type:function size:0x1FC scope:local -CheckExplode = .text:0x8009BCEC; // type:function size:0x24 scope:local -UpdateExplode = .text:0x8009BD10; // type:function size:0x2D0 scope:local -CreateBattleMain = .text:0x8009BFE0; // type:function size:0x1E8 scope:local -UpdateBattleMain = .text:0x8009C1C8; // type:function size:0x1A0 scope:local -DescendBattleBomb = .text:0x8009C368; // type:function size:0x64 scope:local -EndBattle = .text:0x8009C3CC; // type:function size:0x88 scope:local -ShowBattleGame = .text:0x8009C454; // type:function size:0x124 scope:local -RaiseBattleGame = .text:0x8009C578; // type:function size:0x8C scope:local -UpdateBattleCoin = .text:0x8009C604; // type:function size:0x260 scope:local -ShowBattleCoin = .text:0x8009C864; // type:function size:0x128 scope:local -InitBattleGameSpr = .text:0x8009C98C; // type:function size:0x12C scope:local -HideBattleSpr = .text:0x8009CAB8; // type:function size:0x58 scope:local -VibratePad = .text:0x8009CB10; // type:function size:0x64 scope:local -StopBattleBomb = .text:0x8009CB74; // type:function size:0x24 scope:local -GetBattleBombState = .text:0x8009CB98; // type:function size:0x10 scope:local -SetBattleBombState = .text:0x8009CBA8; // type:function size:0x34 scope:local -SetBattleCoinValue = .text:0x8009CBDC; // type:function size:0x15C scope:local -BoardFortuneExec = .text:0x8009CD38; // type:function size:0x124 -FortuneExec = .text:0x8009CE5C; // type:function size:0x74 scope:local -DestroyFortune = .text:0x8009CED0; // type:function size:0xC scope:local -FortuneMain = .text:0x8009CEDC; // type:function size:0x340 scope:local -FortunePostMG = .text:0x8009D21C; // type:function size:0xF8 scope:local -CreateFortunePlatform = .text:0x8009D314; // type:function size:0x160 scope:local -CameraCalcFortune = .text:0x8009D474; // type:function size:0x5C scope:local -ExecFortunePlatform = .text:0x8009D4D0; // type:function size:0x198 scope:local -ExecComFortuneWin = .text:0x8009D668; // type:function size:0x18C scope:local -ConfigComFortune = .text:0x8009D7F4; // type:function size:0x20C scope:local -ComFortuneAddStar = .text:0x8009DA00; // type:function size:0x78 scope:local -ComFortuneAddCoin = .text:0x8009DA78; // type:function size:0x78 scope:local -ComFortuneSwapCoin = .text:0x8009DAF0; // type:function size:0x68 scope:local -ComFortuneSwapStar = .text:0x8009DB58; // type:function size:0x68 scope:local -BoardBooCreate = .text:0x8009DBC0; // type:function size:0x11C -BoardBooKill = .text:0x8009DCDC; // type:function size:0x2C -BoardBooStealTypeSet = .text:0x8009DD08; // type:function size:0x2A8 -ComSetupStealPlayer = .text:0x8009DFB0; // type:function size:0x1D4 scope:local -ComSetStealPlayerInput = .text:0x8009E184; // type:function size:0xE8 scope:local -BoardBooStealMain = .text:0x8009E26C; // type:function size:0x280 -fn_8009E4EC = .text:0x8009E4EC; // type:function size:0xC0 scope:local -fn_8009E5AC = .text:0x8009E5AC; // type:function size:0xA8 scope:local -ExecLightSteal = .text:0x8009E654; // type:function size:0x94 scope:local -SetBooMode = .text:0x8009E6E8; // type:function size:0x10 scope:local -CreateBallMdl = .text:0x8009E6F8; // type:function size:0xBC scope:local -CreateBallView = .text:0x8009E7B4; // type:function size:0x1D4 scope:local -SetBallView = .text:0x8009E988; // type:function size:0xAC scope:local -SetBallActive = .text:0x8009EA34; // type:function size:0x28 scope:local -CheckBallKill = .text:0x8009EA5C; // type:function size:0x4C scope:local -BallMain = .text:0x8009EAA8; // type:function size:0x300 scope:local -BallRenderHook = .text:0x8009EDA8; // type:function size:0x4A0 scope:local -ExecBoo = .text:0x8009F248; // type:function size:0x9C scope:local -UpdateBallCamera = .text:0x8009F2E4; // type:function size:0x1DC scope:local -CreateBallPlayer = .text:0x8009F4C0; // type:function size:0x358 scope:local -GetBallPlayerState = .text:0x8009F818; // type:function size:0x24 scope:local -SetBallPlayerState = .text:0x8009F83C; // type:function size:0x2C scope:local -ExecBallPlayer = .text:0x8009F868; // type:function size:0x214 scope:local -BallPlayerZoomOut = .text:0x8009FA7C; // type:function size:0x15C scope:local -BallPlayerScare = .text:0x8009FBD8; // type:function size:0x110 scope:local -BallPlayerTurn = .text:0x8009FCE8; // type:function size:0x68 scope:local -BallPlayerPunch = .text:0x8009FD50; // type:function size:0x1E0 scope:local -BallPlayerUseLight = .text:0x8009FF30; // type:function size:0x10C scope:local -BallPlayerCatch = .text:0x800A003C; // type:function size:0x190 scope:local -BallBooCreate = .text:0x800A01CC; // type:function size:0x328 scope:local -SetBallBooState = .text:0x800A04F4; // type:function size:0x170 scope:local -GetBallBooState = .text:0x800A0664; // type:function size:0x24 scope:local -ExecBallBoo = .text:0x800A0688; // type:function size:0x128 scope:local -BallBooSpawn = .text:0x800A07B0; // type:function size:0x54 scope:local -BallBooChase = .text:0x800A0804; // type:function size:0x104 scope:local -BallBooBattle = .text:0x800A0908; // type:function size:0x218 scope:local -BallBooAttack = .text:0x800A0B20; // type:function size:0xF4 scope:local -BallBooFlash = .text:0x800A0C14; // type:function size:0x178 scope:local -TakeBallCoin = .text:0x800A0D8C; // type:function size:0x1B0 scope:local -ExecTakeBallCoin = .text:0x800A0F3C; // type:function size:0xDC scope:local -TakeBallCoinPosSet = .text:0x800A1018; // type:function size:0x9C scope:local -CheckBallCoinDone = .text:0x800A10B4; // type:function size:0x68 -TakeBallStar = .text:0x800A111C; // type:function size:0x168 -ExecTakeBallStar = .text:0x800A1284; // type:function size:0x184 -CheckTakeBallStarDone = .text:0x800A1408; // type:function size:0x1C -BoardBooStealValueGet = .text:0x800A1424; // type:function size:0x30 -BoardBooStealLightCheck = .text:0x800A1454; // type:function size:0x20 -UpdatePlayerCoins = .text:0x800A1474; // type:function size:0x1B0 scope:local -BoardMGSetupExec = .text:0x800A1624; // type:function size:0x60 -DestroyMGSetup = .text:0x800A1684; // type:function size:0x1C scope:local -ExecMGSetup = .text:0x800A16A0; // type:function size:0x6FC scope:local -DetermineMGList = .text:0x800A1D9C; // type:function size:0x3B0 scope:local -SetupStatusLayout = .text:0x800A214C; // type:function size:0x3A8 scope:local -GetMGType = .text:0x800A24F4; // type:function size:0x388 scope:local -GetMGTypeTeam = .text:0x800A287C; // type:function size:0x3A4 scope:local -CreateMGSetup = .text:0x800A2C20; // type:function size:0x194 scope:local -UpdateMGSetup = .text:0x800A2DB4; // type:function size:0x198 scope:local -CenterStatus = .text:0x800A2F4C; // type:function size:0x174 scope:local -SeparateStatus = .text:0x800A30C0; // type:function size:0x200 scope:local -PopupVS = .text:0x800A32C0; // type:function size:0x20C scope:local -FallMGType = .text:0x800A34CC; // type:function size:0x1C8 scope:local -LuckyMGFall = .text:0x800A3694; // type:function size:0x204 scope:local -HideLuckyValue = .text:0x800A3898; // type:function size:0xA8 scope:local -UpdateLuckyValue = .text:0x800A3940; // type:function size:0x430 scope:local -UpdateMGList = .text:0x800A3D70; // type:function size:0x8FC scope:local -BoardMGSetupPlayClear = .text:0x800A466C; // type:function size:0x74 -BoardMGSetupPlaySearch = .text:0x800A46E0; // type:function size:0xC8 -BoardMGSetupPlayPush = .text:0x800A47A8; // type:function size:0xD0 -BoardMGSetupTutorialExec = .text:0x800A4878; // type:function size:0x2E4 -BoardBooHouseHostSet = .text:0x800A4B5C; // type:function size:0x8 -BoardBooHouseHostGet = .text:0x800A4B64; // type:function size:0x8 -BoardBooHouseCreate = .text:0x800A4B6C; // type:function size:0xB4 -BoardBooHouseKill = .text:0x800A4C20; // type:function size:0x50 -BoardBooHouseExec = .text:0x800A4C70; // type:function size:0x94 -ExecBooHouse = .text:0x800A4D04; // type:function size:0x538 scope:local -DestroyBooHouse = .text:0x800A523C; // type:function size:0xF0 scope:local -PickComStealType = .text:0x800A532C; // type:function size:0xFC scope:local -OpenBooHouse = .text:0x800A5428; // type:function size:0x3A0 scope:local -CloseBooHouse = .text:0x800A57C8; // type:function size:0x124 scope:local -CreateBooHouseModel = .text:0x800A58EC; // type:function size:0xB0 scope:local -KillBooHouseModel = .text:0x800A599C; // type:function size:0xD4 scope:local -ExecNullSteal = .text:0x800A5A70; // type:function size:0x68 scope:local -ExecStarSteal = .text:0x800A5AD8; // type:function size:0x2AC scope:local -ExecCoinSteal = .text:0x800A5D84; // type:function size:0x2AC scope:local -ApplySteal = .text:0x800A6030; // type:function size:0x188 scope:local -ApplyCoinSteal = .text:0x800A61B8; // type:function size:0x16C scope:local -ApplyStarSteal = .text:0x800A6324; // type:function size:0x164 scope:local -ApplyBooLight = .text:0x800A6488; // type:function size:0x70 scope:local -SetBooBallPos = .text:0x800A64F8; // type:function size:0x60 scope:local -BoardBooComUseCheck = .text:0x800A6558; // type:function size:0x1A8 -BoardBooHouseTutorialExec = .text:0x800A6700; // type:function size:0x3D4 -BoardStartExec = .text:0x800A6AD4; // type:function size:0x64 -DestroyStart = .text:0x800A6B38; // type:function size:0x84 scope:local -ExecStart = .text:0x800A6BBC; // type:function size:0x400 scope:local -ShowLogo = .text:0x800A6FBC; // type:function size:0x2FC scope:local -FocusStart = .text:0x800A72B8; // type:function size:0x17C scope:local -CreatePlayerStart = .text:0x800A7434; // type:function size:0x2D8 scope:local -ExecPlayerStart = .text:0x800A770C; // type:function size:0x188 scope:local -PlayerFall = .text:0x800A7894; // type:function size:0x1C8 scope:local -PlayerWaitSpeak = .text:0x800A7A5C; // type:function size:0xEC scope:local -PlayerDiceFall = .text:0x800A7B48; // type:function size:0x1A8 scope:local -PlayerDiceRoll = .text:0x800A7CF0; // type:function size:0x454 scope:local -PlayerDiceNumShow = .text:0x800A8144; // type:function size:0xD8 scope:local -PlayerDiceNumHide = .text:0x800A821C; // type:function size:0x250 scope:local -SetPlayerStartState = .text:0x800A846C; // type:function size:0xC8 scope:local -GetPlayerStartState = .text:0x800A8534; // type:function size:0x3C scope:local -ExecStartRoll = .text:0x800A8570; // type:function size:0x6D4 scope:local -InitCamera = .text:0x800A8C44; // type:function size:0x318 scope:local -fn_800A8F5C = .text:0x800A8F5C; // type:function size:0xA4 scope:local -CreateTapWin = .text:0x800A9000; // type:function size:0xDC scope:local -OrderPlayers = .text:0x800A90DC; // type:function size:0x21C scope:local -BoardLast5Exec = .text:0x800A92F8; // type:function size:0x84 -DestroyLast5 = .text:0x800A937C; // type:function size:0x30 scope:local -ExecLast5 = .text:0x800A93AC; // type:function size:0x1D4 scope:local -CreateLast5 = .text:0x800A9580; // type:function size:0x184 scope:local -KillLast5 = .text:0x800A9704; // type:function size:0x48 scope:local -InitHost = .text:0x800A974C; // type:function size:0x10C scope:local -KillHost = .text:0x800A9858; // type:function size:0xA4 scope:local -Last5Main = .text:0x800A98FC; // type:function size:0xCC0 scope:local -CheckJump = .text:0x800AA5BC; // type:function size:0xA4 scope:local -CreateLotteryDrawWheel = .text:0x800AA660; // type:function size:0x1FC scope:local -CreateLotteryDraw = .text:0x800AA85C; // type:function size:0xD4 scope:local -UpdateLotteryDraw = .text:0x800AA930; // type:function size:0x170 scope:local -SetLotteryDrawState = .text:0x800AAAA0; // type:function size:0x88 scope:local -GetLotteryDrawState = .text:0x800AAB28; // type:function size:0x20 scope:local -KillLotteryDrawWheel = .text:0x800AAB48; // type:function size:0x24 scope:local -UpdateLotteryDrawWheel = .text:0x800AAB6C; // type:function size:0x2D0 scope:local -SetLotteryDrawWheelState = .text:0x800AAE3C; // type:function size:0x1D8 scope:local -ExecLotteryDraw = .text:0x800AB014; // type:function size:0x950 scope:local -KillLotteryTicket = .text:0x800AB964; // type:function size:0x4C scope:local -InitLotteryTicket = .text:0x800AB9B0; // type:function size:0x488 scope:local -UpdateLotteryTicket = .text:0x800ABE38; // type:function size:0x2A4 scope:local -SetLotteryTicketState = .text:0x800AC0DC; // type:function size:0x1C0 scope:local -GetLotteryTicketPlayer = .text:0x800AC29C; // type:function size:0x7C scope:local -CheckLotteryTicket = .text:0x800AC318; // type:function size:0x78 scope:local -UpdateLotteryTicketMatch = .text:0x800AC390; // type:function size:0xB0 scope:local -StartHostMove = .text:0x800AC440; // type:function size:0x1CC scope:local -ExecHostMove = .text:0x800AC60C; // type:function size:0x228 scope:local -CheckHostMove = .text:0x800AC834; // type:function size:0x1C scope:local -CreateStopWin = .text:0x800AC850; // type:function size:0xC0 scope:local -CreateLast5Roulette = .text:0x800AC910; // type:function size:0x180 scope:local -UpdateLast5Roulette = .text:0x800ACA90; // type:function size:0x2B0 scope:local -SetLast5RouletteFade = .text:0x800ACD40; // type:function size:0x44 scope:local -SetLast5RouletteState = .text:0x800ACD84; // type:function size:0x38 scope:local -GetLast5RouletteState = .text:0x800ACDBC; // type:function size:0x38 scope:local -GetLast5RouletteResult = .text:0x800ACDF4; // type:function size:0x44 scope:local -CreateTeamResult = .text:0x800ACE38; // type:function size:0x2B4 scope:local -CreateTeamResultWork = .text:0x800AD0EC; // type:function size:0x340 scope:local -SetTeamResultTarget = .text:0x800AD42C; // type:function size:0x58 scope:local -GetTeamResultTarget = .text:0x800AD484; // type:function size:0x58 scope:local -KillTeamResult = .text:0x800AD4DC; // type:function size:0x38 scope:local -UpdateTeamResult = .text:0x800AD514; // type:function size:0x260 scope:local -BoardPauseStart = .text:0x800AD774; // type:function size:0x88 -PauseExit = .text:0x800AD7FC; // type:function size:0x3C0 scope:local -PauseProcess = .text:0x800ADBBC; // type:function size:0x108 scope:local -CreatePauseScreen = .text:0x800ADCC4; // type:function size:0xABC scope:local -DeletePauseScreen = .text:0x800AE780; // type:function size:0x168 scope:local -SetBoxVisible = .text:0x800AE8E8; // type:function size:0x58 scope:local -PauseConfigObjFunc = .text:0x800AE940; // type:function size:0x4F4 scope:local -UpdatePauseText = .text:0x800AEE34; // type:function size:0x310 scope:local -InitPauseQuit = .text:0x800AF144; // type:function size:0x264 scope:local -PauseQuitProcess = .text:0x800AF3A8; // type:function size:0x110 scope:local -DeletePauseQuit = .text:0x800AF4B8; // type:function size:0x48 scope:local -UpdatePadConfig = .text:0x800AF500; // type:function size:0xD4 scope:local -CreatePadConfig = .text:0x800AF5D4; // type:function size:0x1CC scope:local -ScrollInPadConfig = .text:0x800AF7A0; // type:function size:0x178 scope:local -CursorMovePadConfig = .text:0x800AF918; // type:function size:0x238 scope:local -ChangeDiffPadConfig = .text:0x800AFB50; // type:function size:0x3B0 scope:local -ScrollOutPadConfig = .text:0x800AFF00; // type:function size:0x154 scope:local -UpdatePauseBox = .text:0x800B0054; // type:function size:0x390 scope:local -UpdatePauseBoxExt = .text:0x800B03E4; // type:function size:0x3E4 scope:local -ExecPauseConfig = .text:0x800B07C8; // type:function size:0x240 scope:local -CreatePauseControlWin = .text:0x800B0A08; // type:function size:0x210 scope:local -DeletePauseControlWin = .text:0x800B0C18; // type:function size:0x70 scope:local -WaitPauseInput = .text:0x800B0C88; // type:function size:0x1B8 scope:local -ShowPauseConfig = .text:0x800B0E40; // type:function size:0x12C scope:local -CreatePadConfigSprite = .text:0x800B0F6C; // type:function size:0x1A4 scope:local -ShowPadConfigSprite = .text:0x800B1110; // type:function size:0x10C scope:local -PauseCreateNumber = .text:0x800B121C; // type:function size:0xDC scope:local -BoardPauseActiveCheck = .text:0x800B12F8; // type:function size:0x34 -BoardPauseReqCheck = .text:0x800B132C; // type:function size:0x12C -CheckPort = .text:0x800B1458; // type:function size:0x4C scope:local -RotateBox = .text:0x800B14A4; // type:function size:0xC0 scope:local -SearchPathNodeSpace = .text:0x800B1564; // type:function size:0x60 scope:local -InitPathNode = .text:0x800B15C4; // type:function size:0x180 scope:local -FindChildNode = .text:0x800B1744; // type:function size:0xE4 scope:local -GetNumValidLinks = .text:0x800B1828; // type:function size:0xB4 scope:local -AddValidLinks = .text:0x800B18DC; // type:function size:0xD0 scope:local -CheckPathSpace = .text:0x800B19AC; // type:function size:0x30 scope:local -FindValidLink = .text:0x800B19DC; // type:function size:0xAC scope:local -CheckEndSpace = .text:0x800B1A88; // type:function size:0xF0 scope:local -BoardComPathShortcutLenGet = .text:0x800B1B78; // type:function size:0x74C -BoardComPathBestGet = .text:0x800B22C4; // type:function size:0x3E4 -BoardComPathLenGet = .text:0x800B26A8; // type:function size:0x65C -CheckPath = .text:0x800B2D04; // type:function size:0x488 scope:local -BoardComPathBestGetFlag = .text:0x800B318C; // type:function size:0x45C -CheckPathFlag = .text:0x800B35E8; // type:function size:0x4E0 scope:local -TutorialProcFunc = .text:0x800B3AC8; // type:function size:0x34 scope:local -BoardTutorialInit = .text:0x800B3AFC; // type:function size:0x80 -BoardTutorialKill = .text:0x800B3B7C; // type:function size:0x4C -BoardTutorialHookSet = .text:0x800B3BC8; // type:function size:0x8 -BoardTutorialHookExec = .text:0x800B3BD0; // type:function size:0x44 -BoardTutorialPlayerInit = .text:0x800B3C14; // type:function size:0x78 -BoardTutorialWorkSave = .text:0x800B3C8C; // type:function size:0x10C -BoardTutorialWorkRestore = .text:0x800B3D98; // type:function size:0xBC -BoardTutorialDirInputSet = .text:0x800B3E54; // type:function size:0x10 -BoardTutorialBlockSetPos = .text:0x800B3E64; // type:function size:0x40 -BoardTutorialItemSet = .text:0x800B3EA4; // type:function size:0x8 -BoardTutorialHostSet = .text:0x800B3EAC; // type:function size:0x8 -BoardTutorialHostHide = .text:0x800B3EB4; // type:function size:0x30 -PPCMfmsr = .text:0x800B3EE4; // type:function size:0x8 scope:global -PPCMtmsr = .text:0x800B3EEC; // type:function size:0x8 scope:global -PPCMfhid0 = .text:0x800B3EF4; // type:function size:0x8 scope:global -PPCMthid0 = .text:0x800B3EFC; // type:function size:0x8 -PPCMfl2cr = .text:0x800B3F04; // type:function size:0x8 scope:global -PPCMtl2cr = .text:0x800B3F0C; // type:function size:0x8 scope:global -PPCMtdec = .text:0x800B3F14; // type:function size:0x8 scope:weak -PPCSync = .text:0x800B3F1C; // type:function size:0x8 -PPCHalt = .text:0x800B3F24; // type:function size:0x14 scope:weak -PPCMfhid2 = .text:0x800B3F38; // type:function size:0x8 scope:global -PPCMthid2 = .text:0x800B3F40; // type:function size:0x8 scope:global -PPCMfwpar = .text:0x800B3F48; // type:function size:0xC -PPCMtwpar = .text:0x800B3F54; // type:function size:0x8 scope:global -PPCDisableSpeculation = .text:0x800B3F5C; // type:function size:0x28 scope:global -PPCSetFpNonIEEEMode = .text:0x800B3F84; // type:function size:0x8 scope:global -OSGetConsoleType = .text:0x800B3F8C; // type:function size:0x28 scope:global -ClearArena = .text:0x800B3FB4; // type:function size:0x128 scope:local -InquiryCallback = .text:0x800B40DC; // type:function size:0x3C scope:local -OSInit = .text:0x800B4118; // type:function size:0x3B8 scope:global -OSExceptionInit = .text:0x800B44D0; // type:function size:0x280 scope:local -__OSDBINTSTART = .text:0x800B4750; // type:label scope:global -__OSDBIntegrator = .text:0x800B4750; // type:function size:0x24 scope:local -__OSDBINTEND = .text:0x800B4774; // type:label scope:global -__OSDBJump = .text:0x800B4774; // type:function size:0x4 -__OSDBJUMPEND = .text:0x800B4778; // type:label scope:global -__OSSetExceptionHandler = .text:0x800B4778; // type:function size:0x1C scope:global -__OSGetExceptionHandler = .text:0x800B4794; // type:function size:0x14 scope:global -__OSEVStart = .text:0x800B47A8; // type:label scope:global -OSExceptionVector = .text:0x800B47A8; // type:function size:0x9C scope:local -__DBVECTOR = .text:0x800B4800; // type:label scope:global data:4byte -__OSEVSetNumber = .text:0x800B4810; // type:label scope:global data:4byte -__OSEVEnd = .text:0x800B4840; // type:label scope:global -OSDefaultExceptionHandler = .text:0x800B4844; // type:function size:0x58 scope:global -__OSPSInit = .text:0x800B489C; // type:function size:0x38 scope:global -__OSGetDIConfig = .text:0x800B48D4; // type:function size:0x14 -OSInitAlarm = .text:0x800B48E8; // type:function size:0x4C scope:global -OSCreateAlarm = .text:0x800B4934; // type:function size:0xC scope:global -InsertAlarm = .text:0x800B4940; // type:function size:0x250 scope:local -OSSetAlarm = .text:0x800B4B90; // type:function size:0x68 scope:global -OSCancelAlarm = .text:0x800B4BF8; // type:function size:0x11C -DecrementerExceptionCallback = .text:0x800B4D14; // type:function size:0x230 scope:local -DecrementerExceptionHandler = .text:0x800B4F44; // type:function size:0x50 scope:local -DLInsert = .text:0x800B4F94; // type:function size:0xAC scope:local -OSAllocFromHeap = .text:0x800B5040; // type:function size:0xFC -OSAllocFixed = .text:0x800B513C; // type:function size:0x284 -OSFreeToHeap = .text:0x800B53C0; // type:function size:0x7C -OSSetCurrentHeap = .text:0x800B543C; // type:function size:0x10 -OSInitAlloc = .text:0x800B544C; // type:function size:0x70 -OSCreateHeap = .text:0x800B54BC; // type:function size:0x6C -OSCheckHeap = .text:0x800B5528; // type:function size:0x360 -OSDumpHeap = .text:0x800B5888; // type:function size:0x104 -OSGetArenaHi = .text:0x800B598C; // type:function size:0x8 scope:global -OSGetArenaLo = .text:0x800B5994; // type:function size:0x8 scope:global -OSSetArenaHi = .text:0x800B599C; // type:function size:0x8 scope:global -OSSetArenaLo = .text:0x800B59A4; // type:function size:0x8 scope:global -__OSInitAudioSystem = .text:0x800B59AC; // type:function size:0x1BC scope:global -__OSStopAudioSystem = .text:0x800B5B68; // type:function size:0xD8 scope:global -DCEnable = .text:0x800B5C40; // type:function size:0x14 scope:global -DCInvalidateRange = .text:0x800B5C54; // type:function size:0x30 scope:global -DCFlushRange = .text:0x800B5C84; // type:function size:0x34 scope:global -DCStoreRange = .text:0x800B5CB8; // type:function size:0x34 -DCFlushRangeNoSync = .text:0x800B5CEC; // type:function size:0x30 scope:global -DCStoreRangeNoSync = .text:0x800B5D1C; // type:function size:0x30 -DCZeroRange = .text:0x800B5D4C; // type:function size:0x30 -ICInvalidateRange = .text:0x800B5D7C; // type:function size:0x38 scope:global -ICFlashInvalidate = .text:0x800B5DB4; // type:function size:0x10 scope:global -ICEnable = .text:0x800B5DC4; // type:function size:0x14 scope:global -__LCEnable = .text:0x800B5DD8; // type:function size:0xCC scope:local -LCEnable = .text:0x800B5EA4; // type:function size:0x38 -LCDisable = .text:0x800B5EDC; // type:function size:0x28 scope:global -LCStoreBlocks = .text:0x800B5F04; // type:function size:0x24 -LCStoreData = .text:0x800B5F28; // type:function size:0xAC -LCQueueWait = .text:0x800B5FD4; // type:function size:0x18 -L2GlobalInvalidate = .text:0x800B5FEC; // type:function size:0x98 scope:global -DMAErrorHandler = .text:0x800B6084; // type:function size:0x160 scope:global -__OSCacheInit = .text:0x800B61E4; // type:function size:0xF4 scope:global -__OSLoadFPUContext = .text:0x800B62D8; // type:function size:0x124 scope:local -__OSSaveFPUContext = .text:0x800B63FC; // type:function size:0x128 scope:local -OSSetCurrentContext = .text:0x800B6524; // type:function size:0x5C scope:global -OSGetCurrentContext = .text:0x800B6580; // type:function size:0xC -OSSaveContext = .text:0x800B658C; // type:function size:0x80 -OSLoadContext = .text:0x800B660C; // type:function size:0xD8 scope:global -OSClearContext = .text:0x800B66E4; // type:function size:0x24 scope:global -OSInitContext = .text:0x800B6708; // type:function size:0xBC -OSDumpContext = .text:0x800B67C4; // type:function size:0x2A8 scope:global -OSSwitchFPUContext = .text:0x800B6A6C; // type:function size:0x84 scope:local -__OSContextInit = .text:0x800B6AF0; // type:function size:0x48 scope:global -OSReport = .text:0x800B6B38; // type:function size:0x80 scope:global -OSSetErrorHandler = .text:0x800B6BB8; // type:function size:0x1C scope:global -__OSUnhandledException = .text:0x800B6BD4; // type:function size:0x200 scope:global -OSGetFontEncode = .text:0x800B6DD4; // type:function size:0x58 -OSDisableInterrupts = .text:0x800B6E2C; // type:function size:0x14 scope:global -__RAS_OSDisableInterrupts_begin = .text:0x800B6E2C; // type:label scope:global -__RAS_OSDisableInterrupts_end = .text:0x800B6E3C; // type:label scope:global -OSEnableInterrupts = .text:0x800B6E40; // type:function size:0x14 scope:global -OSRestoreInterrupts = .text:0x800B6E54; // type:function size:0x24 scope:global -__OSSetInterruptHandler = .text:0x800B6E78; // type:function size:0x1C scope:global -__OSGetInterruptHandler = .text:0x800B6E94; // type:function size:0x14 -__OSInterruptInit = .text:0x800B6EA8; // type:function size:0x74 scope:global -SetInterruptMask = .text:0x800B6F1C; // type:function size:0x2D8 scope:local -__OSMaskInterrupts = .text:0x800B71F4; // type:function size:0x88 scope:global -__OSUnmaskInterrupts = .text:0x800B727C; // type:function size:0x88 scope:global -__OSDispatchInterrupt = .text:0x800B7304; // type:function size:0x344 -ExternalInterruptHandler = .text:0x800B7648; // type:function size:0x50 scope:local -OSNotifyLink = .text:0x800B7698; // type:function size:0x4 scope:weak -OSNotifyUnlink = .text:0x800B769C; // type:function size:0x4 scope:weak -Relocate = .text:0x800B76A0; // type:function size:0x274 scope:local -OSLink = .text:0x800B7914; // type:function size:0x250 -Undo = .text:0x800B7B64; // type:function size:0x20C scope:local -OSUnlink = .text:0x800B7D70; // type:function size:0x94 -__OSModuleInit = .text:0x800B7E04; // type:function size:0x18 scope:global -OSInitMessageQueue = .text:0x800B7E1C; // type:function size:0x60 -OSGetPhysicalMemSize = .text:0x800B7E7C; // type:function size:0xC -OSGetConsoleSimulatedMemSize = .text:0x800B7E88; // type:function size:0xC -OnReset = .text:0x800B7E94; // type:function size:0x3C scope:local -MEMIntrruptHandler = .text:0x800B7ED0; // type:function size:0x6C scope:local -Config24MB = .text:0x800B7F3C; // type:function size:0x80 scope:local -Config48MB = .text:0x800B7FBC; // type:function size:0x80 scope:local -RealMode = .text:0x800B803C; // type:function size:0x18 scope:local -__OSInitMemoryProtection = .text:0x800B8054; // type:function size:0x120 scope:global -__OSUnlockAllMutex = .text:0x800B8174; // type:function size:0x70 -Run = .text:0x800B81E4; // type:function size:0x40 scope:local -Callback = .text:0x800B8224; // type:function size:0xC scope:local -__OSReboot = .text:0x800B8230; // type:function size:0x1C0 scope:global -OSRegisterResetFunction = .text:0x800B83F0; // type:function size:0x84 scope:global -Reset = .text:0x800B8474; // type:function size:0x70 scope:local -__OSDoHotReset = .text:0x800B84E4; // type:function size:0x48 -OSResetSystem = .text:0x800B852C; // type:function size:0x278 scope:global -OSGetResetCode = .text:0x800B87A4; // type:function size:0x30 scope:global -__OSResetSWInterruptHandler = .text:0x800B87D4; // type:function size:0xF4 scope:global -OSGetResetButtonState = .text:0x800B88C8; // type:function size:0x298 -WriteSramCallback = .text:0x800B8B60; // type:function size:0x60 scope:local -WriteSram = .text:0x800B8BC0; // type:function size:0x118 scope:local -__OSInitSram = .text:0x800B8CD8; // type:function size:0x134 scope:global -__OSLockSram = .text:0x800B8E0C; // type:function size:0x5C scope:global -__OSLockSramEx = .text:0x800B8E68; // type:function size:0x5C scope:global -UnlockSram = .text:0x800B8EC4; // type:function size:0x308 scope:local -__OSUnlockSram = .text:0x800B91CC; // type:function size:0x24 scope:global -__OSUnlockSramEx = .text:0x800B91F0; // type:function size:0x24 scope:global -__OSSyncSram = .text:0x800B9214; // type:function size:0x10 scope:global -OSGetSoundMode = .text:0x800B9224; // type:function size:0x80 -OSSetSoundMode = .text:0x800B92A4; // type:function size:0xA4 -OSGetProgressiveMode = .text:0x800B9348; // type:function size:0x70 -OSSetProgressiveMode = .text:0x800B93B8; // type:function size:0xA4 -OSGetWirelessID = .text:0x800B945C; // type:function size:0x84 -OSSetWirelessID = .text:0x800B94E0; // type:function size:0xAC -OSInitStopwatch = .text:0x800B958C; // type:function size:0x2C -OSStartStopwatch = .text:0x800B95B8; // type:function size:0x3C -OSStopStopwatch = .text:0x800B95F4; // type:function size:0xCC -OSCheckStopwatch = .text:0x800B96C0; // type:function size:0x70 -OSResetStopwatch = .text:0x800B9730; // type:function size:0x28 -OSDumpStopwatch = .text:0x800B9758; // type:function size:0x1A4 -__OSSystemCallVectorStart = .text:0x800B98FC; // type:label scope:global -SystemCallVector = .text:0x800B98FC; // type:function size:0x20 scope:local -__OSSystemCallVectorEnd = .text:0x800B9918; // type:label scope:global -__OSInitSystemCall = .text:0x800B991C; // type:function size:0x64 scope:global -__OSThreadInit = .text:0x800B9980; // type:function size:0x128 scope:global -OSInitThreadQueue = .text:0x800B9AA8; // type:function size:0x10 scope:global -OSGetCurrentThread = .text:0x800B9AB8; // type:function size:0xC -OSDisableScheduler = .text:0x800B9AC4; // type:function size:0x40 scope:global -OSEnableScheduler = .text:0x800B9B04; // type:function size:0x40 scope:global -UnsetRun = .text:0x800B9B44; // type:function size:0x68 scope:local -__OSGetEffectivePriority = .text:0x800B9BAC; // type:function size:0x3C -SetEffectivePriority = .text:0x800B9BE8; // type:function size:0x1C0 scope:local -SelectThread = .text:0x800B9DA8; // type:function size:0x200 scope:local -__OSReschedule = .text:0x800B9FA8; // type:function size:0x30 scope:global -OSYieldThread = .text:0x800B9FD8; // type:function size:0x3C -OSCreateThread = .text:0x800BA014; // type:function size:0x120 -OSExitThread = .text:0x800BA134; // type:function size:0xE4 -OSCancelThread = .text:0x800BA218; // type:function size:0x1BC scope:global -OSResumeThread = .text:0x800BA3D4; // type:function size:0x288 -OSSuspendThread = .text:0x800BA65C; // type:function size:0x170 -OSSleepThread = .text:0x800BA7CC; // type:function size:0xEC -OSWakeupThread = .text:0x800BA8B8; // type:function size:0x104 -OSSetIdleFunction = .text:0x800BA9BC; // type:function size:0x90 -OSGetTime = .text:0x800BAA4C; // type:function size:0x18 scope:global -OSGetTick = .text:0x800BAA64; // type:function size:0x8 scope:global -__OSGetSystemTime = .text:0x800BAA6C; // type:function size:0x64 scope:global -GetDates = .text:0x800BAAD0; // type:function size:0x19C scope:local -OSTicksToCalendarTime = .text:0x800BAC6C; // type:function size:0x204 -__init_user = .text:0x800BAE70; // type:function size:0x20 scope:global -__init_cpp = .text:0x800BAE90; // type:function size:0x54 scope:local -_ExitProcess = .text:0x800BAEE4; // type:function size:0x20 scope:global -DBInit = .text:0x800BAF04; // type:function size:0x28 scope:global -__DBExceptionDestinationAux = .text:0x800BAF2C; // type:function size:0x48 -__DBExceptionDestination = .text:0x800BAF74; // type:function size:0x10 scope:local -__DBIsExceptionMarked = .text:0x800BAF84; // type:function size:0x1C scope:global -DBPrintf = .text:0x800BAFA0; // type:function size:0x50 scope:global -PSMTXIdentity = .text:0x800BAFF0; // type:function size:0x2C -PSMTXCopy = .text:0x800BB01C; // type:function size:0x34 -PSMTXConcat = .text:0x800BB050; // type:function size:0xCC -PSMTXTranspose = .text:0x800BB11C; // type:function size:0x50 -PSMTXInverse = .text:0x800BB16C; // type:function size:0xF8 -PSMTXInvXpose = .text:0x800BB264; // type:function size:0xC8 -PSMTXRotRad = .text:0x800BB32C; // type:function size:0x70 -PSMTXRotTrig = .text:0x800BB39C; // type:function size:0xA8 -PSMTXRotAxisRad = .text:0x800BB444; // type:function size:0x104 -PSMTXTrans = .text:0x800BB548; // type:function size:0x34 -PSMTXScale = .text:0x800BB57C; // type:function size:0x28 -PSMTXQuat = .text:0x800BB5A4; // type:function size:0xA4 -C_MTXLookAt = .text:0x800BB648; // type:function size:0x18C -C_MTXLightPerspective = .text:0x800BB7D4; // type:function size:0xCC -PSMTXMultVec = .text:0x800BB8A0; // type:function size:0x54 -PSMTXMultVecArray = .text:0x800BB8F4; // type:function size:0x8C -PSMTXMultVecSR = .text:0x800BB980; // type:function size:0x54 -C_MTXPerspective = .text:0x800BB9D4; // type:function size:0xD0 -C_MTXOrtho = .text:0x800BBAA4; // type:function size:0x98 -PSVECAdd = .text:0x800BBB3C; // type:function size:0x24 -PSVECSubtract = .text:0x800BBB60; // type:function size:0x24 -PSVECScale = .text:0x800BBB84; // type:function size:0x1C -PSVECNormalize = .text:0x800BBBA0; // type:function size:0x44 -PSVECSquareMag = .text:0x800BBBE4; // type:function size:0x18 -PSVECMag = .text:0x800BBBFC; // type:function size:0x3C -PSVECDotProduct = .text:0x800BBC38; // type:function size:0x20 -PSVECCrossProduct = .text:0x800BBC58; // type:function size:0x3C -C_VECHalfAngle = .text:0x800BBC94; // type:function size:0xD8 -C_VECReflect = .text:0x800BBD6C; // type:function size:0xD4 -PSVECSquareDistance = .text:0x800BBE40; // type:function size:0x28 -PSVECDistance = .text:0x800BBE68; // type:function size:0x4C -C_QUATAdd = .text:0x800BBEB4; // type:function size:0x44 -PSQUATAdd = .text:0x800BBEF8; // type:function size:0x24 -PSQUATMultiply = .text:0x800BBF1C; // type:function size:0x5C -PSQUATNormalize = .text:0x800BBF78; // type:function size:0x54 -PSQUATInverse = .text:0x800BBFCC; // type:function size:0x50 -C_QUATRotAxisRad = .text:0x800BC01C; // type:function size:0x8C -C_QUATMtx = .text:0x800BC0A8; // type:function size:0x258 -C_QUATSlerp = .text:0x800BC300; // type:function size:0x174 -PSMTXReorder = .text:0x800BC474; // type:function size:0x4C -PSMTXROMultVecArray = .text:0x800BC4C0; // type:function size:0x118 -__DVDInitWA = .text:0x800BC5D8; // type:function size:0x40 scope:global -__DVDInterruptHandler = .text:0x800BC618; // type:function size:0x2F4 scope:global -fn_800BC90C = .text:0x800BC90C; // type:function size:0x84 -AlarmHandlerForTimeout = .text:0x800BC990; // type:function size:0x70 scope:local -Read = .text:0x800BCA00; // type:function size:0x110 scope:local -SeekTwiceBeforeRead = .text:0x800BCB10; // type:function size:0x80 scope:local -DVDLowRead = .text:0x800BCB90; // type:function size:0x298 -DVDLowSeek = .text:0x800BCE28; // type:function size:0x94 -DVDLowWaitCoverClose = .text:0x800BCEBC; // type:function size:0x2C scope:global -DVDLowReadDiskID = .text:0x800BCEE8; // type:function size:0xA4 -DVDLowStopMotor = .text:0x800BCF8C; // type:function size:0x8C scope:global -DVDLowRequestError = .text:0x800BD018; // type:function size:0x8C -DVDLowInquiry = .text:0x800BD0A4; // type:function size:0x9C -DVDLowAudioStream = .text:0x800BD140; // type:function size:0x98 -DVDLowRequestAudioStatus = .text:0x800BD1D8; // type:function size:0x8C -DVDLowAudioBufferConfig = .text:0x800BD264; // type:function size:0x9C -DVDLowReset = .text:0x800BD300; // type:function size:0xBC scope:global -DVDLowBreak = .text:0x800BD3BC; // type:function size:0x14 -DVDLowClearCallback = .text:0x800BD3D0; // type:function size:0x18 -__DVDLowSetWAType = .text:0x800BD3E8; // type:function size:0x44 scope:global -__DVDFSInit = .text:0x800BD42C; // type:function size:0x38 scope:global -DVDConvertPathToEntrynum = .text:0x800BD464; // type:function size:0x2F4 -DVDFastOpen = .text:0x800BD758; // type:function size:0x74 -DVDOpen = .text:0x800BD7CC; // type:function size:0xC8 -DVDClose = .text:0x800BD894; // type:function size:0x24 -entryToPath = .text:0x800BD8B8; // type:function size:0x160 scope:local -DVDGetCurrentDir = .text:0x800BDA18; // type:function size:0xC4 -DVDReadAsyncPrio = .text:0x800BDADC; // type:function size:0xC0 -cbForReadAsync = .text:0x800BDB9C; // type:function size:0x30 scope:local -DVDReadPrio = .text:0x800BDBCC; // type:function size:0x118 -cbForReadSync = .text:0x800BDCE4; // type:function size:0x24 scope:local -DVDInit = .text:0x800BDD08; // type:function size:0xFC scope:global -stateReadingFST = .text:0x800BDE04; // type:function size:0x54 scope:local -cbForStateReadingFST = .text:0x800BDE58; // type:function size:0x80 scope:local -cbForStateError = .text:0x800BDED8; // type:function size:0xA8 scope:local -stateTimeout = .text:0x800BDF80; // type:function size:0x9C scope:local -stateGettingError = .text:0x800BE01C; // type:function size:0x28 scope:local -CategorizeError = .text:0x800BE044; // type:function size:0xB4 scope:local -cbForStateGettingError = .text:0x800BE0F8; // type:function size:0x294 scope:local -cbForUnrecoveredError = .text:0x800BE38C; // type:function size:0x68 scope:local -cbForUnrecoveredErrorRetry = .text:0x800BE3F4; // type:function size:0x98 scope:local -stateGoToRetry = .text:0x800BE48C; // type:function size:0x28 scope:local -cbForStateGoToRetry = .text:0x800BE4B4; // type:function size:0x158 scope:local -stateCheckID = .text:0x800BE60C; // type:function size:0xE4 scope:local -stateCheckID3 = .text:0x800BE6F0; // type:function size:0x34 scope:local -stateCheckID2 = .text:0x800BE724; // type:function size:0x38 scope:local -cbForStateCheckID1 = .text:0x800BE75C; // type:function size:0x114 scope:local -cbForStateCheckID2 = .text:0x800BE870; // type:function size:0xA4 scope:local -cbForStateCheckID3 = .text:0x800BE914; // type:function size:0xFC scope:local -AlarmHandler = .text:0x800BEA10; // type:function size:0x44 scope:local -stateCoverClosed = .text:0x800BEA54; // type:function size:0xCC scope:local -stateCoverClosed_CMD = .text:0x800BEB20; // type:function size:0x30 scope:local -cbForStateCoverClosed = .text:0x800BEB50; // type:function size:0x70 scope:local -stateMotorStopped = .text:0x800BEBC0; // type:function size:0x28 scope:local -cbForStateMotorStopped = .text:0x800BEBE8; // type:function size:0xE4 scope:local -stateReady = .text:0x800BECCC; // type:function size:0x248 scope:local -stateBusy = .text:0x800BEF14; // type:function size:0x2C0 scope:local -cbForStateBusy = .text:0x800BF1D4; // type:function size:0x5D4 -DVDReadAbsAsyncPrio = .text:0x800BF7A8; // type:function size:0xDC -DVDReadAbsAsyncForBS = .text:0x800BF884; // type:function size:0xD0 -DVDReadDiskID = .text:0x800BF954; // type:function size:0xD4 scope:global -DVDInquiryAsync = .text:0x800BFA28; // type:function size:0xD0 scope:global -DVDReset = .text:0x800BFAF8; // type:function size:0x44 scope:global -DVDGetCommandBlockStatus = .text:0x800BFB3C; // type:function size:0x4C -DVDGetDriveStatus = .text:0x800BFB88; // type:function size:0xAC scope:global -DVDSetAutoInvalidation = .text:0x800BFC34; // type:function size:0x10 -DVDCancelAsync = .text:0x800BFC44; // type:function size:0x270 -DVDCancel = .text:0x800BFEB4; // type:function size:0xAC -cbForCancelSync = .text:0x800BFF60; // type:function size:0x24 scope:local -DVDGetCurrentDiskID = .text:0x800BFF84; // type:function size:0x8 -DVDCheckDisk = .text:0x800BFF8C; // type:function size:0xE4 -__DVDPrepareResetAsync = .text:0x800C0070; // type:function size:0x11C -__DVDClearWaitingQueue = .text:0x800C018C; // type:function size:0x38 scope:global -__DVDPushWaitingQueue = .text:0x800C01C4; // type:function size:0x68 scope:global -__DVDPopWaitingQueue = .text:0x800C022C; // type:function size:0xA0 scope:global -__DVDCheckWaitingQueue = .text:0x800C02CC; // type:function size:0x58 scope:global -__DVDDequeueWaitingQueue = .text:0x800C0324; // type:function size:0x60 -ErrorCode2Num = .text:0x800C0384; // type:function size:0x11C scope:local -__DVDStoreErrorCode = .text:0x800C04A0; // type:function size:0x7C scope:global -cb = .text:0x800C051C; // type:function size:0xD8 scope:local -__fstLoad = .text:0x800C05F4; // type:function size:0x168 scope:global -__VIRetraceHandler = .text:0x800C075C; // type:function size:0x228 scope:local -VISetPreRetraceCallback = .text:0x800C0984; // type:function size:0x44 -VISetPostRetraceCallback = .text:0x800C09C8; // type:function size:0x44 -getTiming = .text:0x800C0A0C; // type:function size:0x90 scope:local -__VIInit = .text:0x800C0A9C; // type:function size:0x1F8 -VIInit = .text:0x800C0C94; // type:function size:0x478 -VIWaitForRetrace = .text:0x800C110C; // type:function size:0x54 -setFbbRegs = .text:0x800C1160; // type:function size:0x2D4 scope:local -setVerticalRegs = .text:0x800C1434; // type:function size:0x1A0 scope:local -VIConfigure = .text:0x800C15D4; // type:function size:0x79C -VIConfigurePan = .text:0x800C1D70; // type:function size:0x394 -VIFlush = .text:0x800C2104; // type:function size:0x11C -VISetNextFrameBuffer = .text:0x800C2220; // type:function size:0x6C -VISetBlack = .text:0x800C228C; // type:function size:0x7C -VIGetRetraceCount = .text:0x800C2308; // type:function size:0x8 -getCurrentFieldEvenOdd = .text:0x800C2310; // type:function size:0x68 scope:local -VIGetNextField = .text:0x800C2378; // type:function size:0xA8 -VIGetCurrentLine = .text:0x800C2420; // type:function size:0x98 -VIGetTvFormat = .text:0x800C24B8; // type:function size:0x7C scope:global -VIGetDTVStatus = .text:0x800C2534; // type:function size:0x3C -DEMOGetRenderModeObj = .text:0x800C2570; // type:function size:0x8 -DEMOInitCaption = .text:0x800C2578; // type:function size:0x228 -DEMOPuts = .text:0x800C27A0; // type:function size:0x310 -DEMOPrintf = .text:0x800C2AB0; // type:function size:0xC4 -DEMOWriteStats = .text:0x800C2B74; // type:function size:0x394 -DEMOUpdateStats = .text:0x800C2F08; // type:function size:0x58 -DEMOPrintStats = .text:0x800C2F60; // type:function size:0x96C -ClampStick = .text:0x800C38CC; // type:function size:0x130 scope:local -PADClamp = .text:0x800C39FC; // type:function size:0x108 -UpdateOrigin = .text:0x800C3B04; // type:function size:0x1A4 scope:local -PADOriginCallback = .text:0x800C3CA8; // type:function size:0xC4 scope:local -PADOriginUpdateCallback = .text:0x800C3D6C; // type:function size:0xC0 scope:local -PADProbeCallback = .text:0x800C3E2C; // type:function size:0xD8 scope:local -PADTypeAndStatusCallback = .text:0x800C3F04; // type:function size:0x32C scope:local -PADReceiveCheckCallback = .text:0x800C4230; // type:function size:0x134 scope:local -PADReset = .text:0x800C4364; // type:function size:0x100 -PADRecalibrate = .text:0x800C4464; // type:function size:0x104 -PADInit = .text:0x800C4568; // type:function size:0x210 -PADRead = .text:0x800C4778; // type:function size:0x3AC -PADControlMotor = .text:0x800C4B24; // type:function size:0xA4 -PADSetSpec = .text:0x800C4BC8; // type:function size:0x60 -SPEC0_MakeStatus = .text:0x800C4C28; // type:function size:0x174 scope:local -SPEC1_MakeStatus = .text:0x800C4D9C; // type:function size:0x174 scope:local -SPEC2_MakeStatus = .text:0x800C4F10; // type:function size:0x3F8 scope:local -fn_800C5308 = .text:0x800C5308; // type:function size:0x194 scope:local -SamplingHandler = .text:0x800C549C; // type:function size:0x60 scope:local -PADSetSamplingCallback = .text:0x800C54FC; // type:function size:0x54 -__PADDisableRecalibration = .text:0x800C5550; // type:function size:0x7C scope:global -AIRegisterDMACallback = .text:0x800C55CC; // type:function size:0x44 -AIInitDMA = .text:0x800C5610; // type:function size:0x88 -AIStartDMA = .text:0x800C5698; // type:function size:0x18 -AIStopDMA = .text:0x800C56B0; // type:function size:0x18 -AIGetDMAStartAddr = .text:0x800C56C8; // type:function size:0x1C -AISetStreamPlayState = .text:0x800C56E4; // type:function size:0xD8 -AIGetStreamPlayState = .text:0x800C57BC; // type:function size:0x10 -AISetDSPSampleRate = .text:0x800C57CC; // type:function size:0xE0 -AIGetDSPSampleRate = .text:0x800C58AC; // type:function size:0x14 -__AI_set_stream_sample_rate = .text:0x800C58C0; // type:function size:0xD4 scope:local -AIGetStreamSampleRate = .text:0x800C5994; // type:function size:0x10 -AISetStreamVolLeft = .text:0x800C59A4; // type:function size:0x1C -AIGetStreamVolLeft = .text:0x800C59C0; // type:function size:0x10 -AISetStreamVolRight = .text:0x800C59D0; // type:function size:0x1C -AIGetStreamVolRight = .text:0x800C59EC; // type:function size:0x10 -AIInit = .text:0x800C59FC; // type:function size:0x164 -__AISHandler = .text:0x800C5B60; // type:function size:0x7C -__AIDHandler = .text:0x800C5BDC; // type:function size:0x90 -__AICallbackStackSwitch = .text:0x800C5C6C; // type:function size:0x58 -__AI_SRC_INIT = .text:0x800C5CC4; // type:function size:0x1E4 -ARRegisterDMACallback = .text:0x800C5EA8; // type:function size:0x44 -ARGetDMAStatus = .text:0x800C5EEC; // type:function size:0x3C -ARStartDMA = .text:0x800C5F28; // type:function size:0xF0 -ARAlloc = .text:0x800C6018; // type:function size:0x68 -ARFree = .text:0x800C6080; // type:function size:0x74 -ARCheckInit = .text:0x800C60F4; // type:function size:0x8 -ARInit = .text:0x800C60FC; // type:function size:0xBC -ARSetSize = .text:0x800C61B8; // type:function size:0x4 -ARGetBaseAddress = .text:0x800C61BC; // type:function size:0x8 -ARGetSize = .text:0x800C61C4; // type:function size:0x8 -__ARHandler = .text:0x800C61CC; // type:function size:0x78 scope:local -__ARChecksize = .text:0x800C6244; // type:function size:0x914 scope:local -__ARQServiceQueueLo = .text:0x800C6B58; // type:function size:0x100 -__ARQCallbackHack = .text:0x800C6C58; // type:function size:0x4 -__ARQInterruptServiceRoutine = .text:0x800C6C5C; // type:function size:0xCC -ARQInit = .text:0x800C6D28; // type:function size:0x68 -ARQPostRequest = .text:0x800C6D90; // type:function size:0x15C -DSPCheckMailToDSP = .text:0x800C6EEC; // type:function size:0x10 -DSPCheckMailFromDSP = .text:0x800C6EFC; // type:function size:0x10 -DSPReadMailFromDSP = .text:0x800C6F0C; // type:function size:0x18 -DSPSendMailToDSP = .text:0x800C6F24; // type:function size:0x14 -DSPInit = .text:0x800C6F38; // type:function size:0xB8 -DSPReset = .text:0x800C6FF0; // type:function size:0x48 -DSPHalt = .text:0x800C7038; // type:function size:0x40 -DSPGetDMAStatus = .text:0x800C7078; // type:function size:0x10 -DSPAddTask = .text:0x800C7088; // type:function size:0x70 -__DSP_debug_printf = .text:0x800C70F8; // type:function size:0x50 -__DSPHandler = .text:0x800C7148; // type:function size:0x424 -__DSP_exec_task = .text:0x800C756C; // type:function size:0x1A0 -__DSP_boot_task = .text:0x800C770C; // type:function size:0x18C -__DSP_insert_task = .text:0x800C7898; // type:function size:0xA0 -__DSP_remove_task = .text:0x800C7938; // type:function size:0x94 -__GXDefaultTexRegionCallback = .text:0x800C79CC; // type:function size:0x7C -__GXDefaultTlutRegionCallback = .text:0x800C7A48; // type:function size:0x24 -GXInit = .text:0x800C7A6C; // type:function size:0x7CC scope:global -__GXInitGX = .text:0x800C8238; // type:function size:0x884 scope:global -GXCPInterruptHandler = .text:0x800C8ABC; // type:function size:0x13C scope:local -GXInitFifoBase = .text:0x800C8BF8; // type:function size:0x6C scope:global -GXInitFifoPtrs = .text:0x800C8C64; // type:function size:0x70 -GXInitFifoLimits = .text:0x800C8CD4; // type:function size:0xC -GXSetCPUFifo = .text:0x800C8CE0; // type:function size:0x110 scope:global -GXSetGPFifo = .text:0x800C8DF0; // type:function size:0x178 scope:global -GXSaveCPUFifo = .text:0x800C8F68; // type:function size:0x20 -__GXSaveCPUFifoAux = .text:0x800C8F88; // type:function size:0xDC -__GXFifoInit = .text:0x800C9064; // type:function size:0x4C scope:global -__GXFifoReadEnable = .text:0x800C90B0; // type:function size:0x28 -__GXFifoReadDisable = .text:0x800C90D8; // type:function size:0x24 -__GXFifoLink = .text:0x800C90FC; // type:function size:0x44 -__GXWriteFifoIntEnable = .text:0x800C9140; // type:function size:0x4C -__GXWriteFifoIntReset = .text:0x800C918C; // type:function size:0x4C -__GXCleanGPFifo = .text:0x800C91D8; // type:function size:0xFC -GXGetCPUFifo = .text:0x800C92D4; // type:function size:0x8 -GXGetGPFifo = .text:0x800C92DC; // type:function size:0x8 -__GXXfVtxSpecs = .text:0x800C92E4; // type:function size:0x158 -GXSetVtxDesc = .text:0x800C943C; // type:function size:0x360 -__GXSetVCD = .text:0x800C979C; // type:function size:0x54 -__GXCalculateVLim = .text:0x800C97F0; // type:function size:0x124 -GXClearVtxDesc = .text:0x800C9914; // type:function size:0x4C -GXSetVtxAttrFmt = .text:0x800C9960; // type:function size:0x35C -__GXSetVAT = .text:0x800C9CBC; // type:function size:0x9C -GXSetArray = .text:0x800C9D58; // type:function size:0x8C -GXInvalidateVtxCache = .text:0x800C9DE4; // type:function size:0x10 -GXSetTexCoordGen2 = .text:0x800C9DF4; // type:function size:0x2D0 -GXSetNumTexGens = .text:0x800CA0C4; // type:function size:0x48 -GXSetMisc = .text:0x800CA10C; // type:function size:0x78 scope:global -GXFlush = .text:0x800CA184; // type:function size:0x5C -GXResetWriteGatherPipe = .text:0x800CA1E0; // type:function size:0x34 -__GXAbortWaitPECopyDone = .text:0x800CA214; // type:function size:0xCC -GXSetDrawSync = .text:0x800CA2E0; // type:function size:0xB8 -GXSetDrawDone = .text:0x800CA398; // type:function size:0x98 -GXWaitDrawDone = .text:0x800CA430; // type:function size:0x4C -GXDrawDone = .text:0x800CA47C; // type:function size:0x80 -GXPixModeSync = .text:0x800CA4FC; // type:function size:0x24 -GXPokeAlphaMode = .text:0x800CA520; // type:function size:0x14 -GXPokeAlphaRead = .text:0x800CA534; // type:function size:0x14 -GXPokeAlphaUpdate = .text:0x800CA548; // type:function size:0x1C -GXPokeBlendMode = .text:0x800CA564; // type:function size:0x88 -GXPokeColorUpdate = .text:0x800CA5EC; // type:function size:0x1C -GXPokeDstAlpha = .text:0x800CA608; // type:function size:0x14 -GXPokeDither = .text:0x800CA61C; // type:function size:0x1C -GXPokeZMode = .text:0x800CA638; // type:function size:0x28 -GXSetDrawSyncCallback = .text:0x800CA660; // type:function size:0x44 -GXTokenInterruptHandler = .text:0x800CA6A4; // type:function size:0x88 -GXFinishInterruptHandler = .text:0x800CA72C; // type:function size:0x84 -__GXPEInit = .text:0x800CA7B0; // type:function size:0x80 scope:global -__GXSetDirtyState = .text:0x800CA830; // type:function size:0xA0 -GXBegin = .text:0x800CA8D0; // type:function size:0xF0 -__GXSendFlushPrim = .text:0x800CA9C0; // type:function size:0x88 -GXSetLineWidth = .text:0x800CAA48; // type:function size:0x58 -GXSetPointSize = .text:0x800CAAA0; // type:function size:0x54 -GXEnableTexOffsets = .text:0x800CAAF4; // type:function size:0x64 -GXSetCullMode = .text:0x800CAB58; // type:function size:0x50 -GXSetCoPlanar = .text:0x800CABA8; // type:function size:0x44 -__GXSetGenMode = .text:0x800CABEC; // type:function size:0x24 -GXAdjustForOverscan = .text:0x800CAC10; // type:function size:0x120 -GXSetDispCopySrc = .text:0x800CAD30; // type:function size:0xC0 -GXSetTexCopySrc = .text:0x800CADF0; // type:function size:0xC0 -GXSetDispCopyDst = .text:0x800CAEB0; // type:function size:0x44 -GXSetTexCopyDst = .text:0x800CAEF4; // type:function size:0x170 -GXSetDispCopyFrame2Field = .text:0x800CB064; // type:function size:0x2C -GXSetCopyClamp = .text:0x800CB090; // type:function size:0x7C -GXSetDispCopyYScale = .text:0x800CB10C; // type:function size:0xD4 -GXSetCopyClear = .text:0x800CB1E0; // type:function size:0x68 -GXSetCopyFilter = .text:0x800CB248; // type:function size:0x228 -GXSetDispCopyGamma = .text:0x800CB470; // type:function size:0x1C -GXCopyDisp = .text:0x800CB48C; // type:function size:0x170 -GXCopyTex = .text:0x800CB5FC; // type:function size:0x190 -GXClearBoundingBox = .text:0x800CB78C; // type:function size:0x38 -GXInitLightAttn = .text:0x800CB7C4; // type:function size:0x1C -GXInitLightAttnK = .text:0x800CB7E0; // type:function size:0x10 -GXInitLightSpot = .text:0x800CB7F0; // type:function size:0x180 -GXInitLightDistAttn = .text:0x800CB970; // type:function size:0xD0 -GXInitLightPos = .text:0x800CBA40; // type:function size:0x10 -GXInitLightDir = .text:0x800CBA50; // type:function size:0x1C -GXInitSpecularDir = .text:0x800CBA6C; // type:function size:0xD4 -GXInitLightColor = .text:0x800CBB40; // type:function size:0x28 -GXLoadLightObjImm = .text:0x800CBB68; // type:function size:0x148 -GXSetChanAmbColor = .text:0x800CBCB0; // type:function size:0x168 -GXSetChanMatColor = .text:0x800CBE18; // type:function size:0x168 -GXSetNumChans = .text:0x800CBF80; // type:function size:0x4C -GXSetChanCtrl = .text:0x800CBFCC; // type:function size:0x1E4 -GXGetTexBufferSize = .text:0x800CC1B0; // type:function size:0x15C -__GetImageTileCount = .text:0x800CC30C; // type:function size:0xC8 -GXInitTexObj = .text:0x800CC3D4; // type:function size:0x274 -GXInitTexObjCI = .text:0x800CC648; // type:function size:0x48 -GXInitTexObjLOD = .text:0x800CC690; // type:function size:0x194 -GXGetTexObjFmt = .text:0x800CC824; // type:function size:0x8 -GXLoadTexObjPreLoaded = .text:0x800CC82C; // type:function size:0x1A8 -GXLoadTexObj = .text:0x800CC9D4; // type:function size:0x54 -GXInitTlutObj = .text:0x800CCA28; // type:function size:0x48 -GXLoadTlut = .text:0x800CCA70; // type:function size:0x9C -GXInitTexCacheRegion = .text:0x800CCB0C; // type:function size:0x120 scope:global -GXInitTlutRegion = .text:0x800CCC2C; // type:function size:0x48 scope:global -GXInvalidateTexAll = .text:0x800CCC74; // type:function size:0x48 -GXSetTexRegionCallback = .text:0x800CCCBC; // type:function size:0x14 -GXSetTlutRegionCallback = .text:0x800CCCD0; // type:function size:0x14 -GXSetTexCoordScaleManually = .text:0x800CCCE4; // type:function size:0x9C -__SetSURegs = .text:0x800CCD80; // type:function size:0xCC scope:local -__GXSetSUTexRegs = .text:0x800CCE4C; // type:function size:0x17C -__GXSetTmemConfig = .text:0x800CCFC8; // type:function size:0x240 scope:global -GXSetTevIndirect = .text:0x800CD208; // type:function size:0x9C -GXSetIndTexMtx = .text:0x800CD2A4; // type:function size:0x160 -GXSetIndTexCoordScale = .text:0x800CD404; // type:function size:0x1D4 -GXSetIndTexOrder = .text:0x800CD5D8; // type:function size:0x138 -GXSetNumIndStages = .text:0x800CD710; // type:function size:0x2C -GXSetTevDirect = .text:0x800CD73C; // type:function size:0x48 -GXSetTevIndWarp = .text:0x800CD784; // type:function size:0x64 -GXSetTevIndTile = .text:0x800CD7E8; // type:function size:0x1AC -__GXUpdateBPMask = .text:0x800CD994; // type:function size:0xCC -__GXFlushTextureState = .text:0x800CDA60; // type:function size:0x24 scope:global -GXSetTevOp = .text:0x800CDA84; // type:function size:0x1A4 -GXSetTevColorIn = .text:0x800CDC28; // type:function size:0x80 -GXSetTevAlphaIn = .text:0x800CDCA8; // type:function size:0x84 -GXSetTevColorOp = .text:0x800CDD2C; // type:function size:0xC0 -GXSetTevAlphaOp = .text:0x800CDDEC; // type:function size:0xC0 -GXSetTevColor = .text:0x800CDEAC; // type:function size:0x74 -GXSetTevColorS10 = .text:0x800CDF20; // type:function size:0x74 -GXSetTevKColor = .text:0x800CDF94; // type:function size:0x74 -GXSetTevKColorSel = .text:0x800CE008; // type:function size:0x6C -GXSetTevKAlphaSel = .text:0x800CE074; // type:function size:0x6C -GXSetTevSwapMode = .text:0x800CE0E0; // type:function size:0x58 -GXSetTevSwapModeTable = .text:0x800CE138; // type:function size:0xA0 -GXSetAlphaCompare = .text:0x800CE1D8; // type:function size:0x50 -GXSetZTexture = .text:0x800CE228; // type:function size:0x84 -GXSetTevOrder = .text:0x800CE2AC; // type:function size:0x1DC -GXSetNumTevStages = .text:0x800CE488; // type:function size:0x34 -GXSetFog = .text:0x800CE4BC; // type:function size:0x1B0 -GXSetFogRangeAdj = .text:0x800CE66C; // type:function size:0x100 -GXSetBlendMode = .text:0x800CE76C; // type:function size:0x104 -GXSetColorUpdate = .text:0x800CE870; // type:function size:0x40 -GXSetAlphaUpdate = .text:0x800CE8B0; // type:function size:0x40 -GXSetZMode = .text:0x800CE8F0; // type:function size:0x78 -GXSetZCompLoc = .text:0x800CE968; // type:function size:0x40 -GXSetPixelFmt = .text:0x800CE9A8; // type:function size:0x110 -GXSetDither = .text:0x800CEAB8; // type:function size:0x40 -GXSetDstAlpha = .text:0x800CEAF8; // type:function size:0x54 -GXSetFieldMask = .text:0x800CEB4C; // type:function size:0x38 -GXSetFieldMode = .text:0x800CEB84; // type:function size:0x80 -__GXSetRange = .text:0x800CEC04; // type:function size:0x4 -GXBeginDisplayList = .text:0x800CEC08; // type:function size:0xC8 -GXEndDisplayList = .text:0x800CECD0; // type:function size:0xD4 -GXCallDisplayList = .text:0x800CEDA4; // type:function size:0x70 -GXProject = .text:0x800CEE14; // type:function size:0x174 -GXSetProjection = .text:0x800CEF88; // type:function size:0xD4 -GXGetProjectionv = .text:0x800CF05C; // type:function size:0x78 -WriteMTXPS4x3 = .text:0x800CF0D4; // type:function size:0x34 scope:local -WriteMTXPS3x3from3x4 = .text:0x800CF108; // type:function size:0x34 scope:local -WriteMTXPS4x2 = .text:0x800CF13C; // type:function size:0x24 scope:local -GXLoadPosMtxImm = .text:0x800CF160; // type:function size:0x3C -GXLoadNrmMtxImm = .text:0x800CF19C; // type:function size:0x40 -GXSetCurrentMtx = .text:0x800CF1DC; // type:function size:0x3C -GXLoadTexMtxImm = .text:0x800CF218; // type:function size:0x84 -GXSetViewportJitter = .text:0x800CF29C; // type:function size:0x11C -GXSetViewport = .text:0x800CF3B8; // type:function size:0x24 -GXGetViewportv = .text:0x800CF3DC; // type:function size:0x4C -GXSetScissor = .text:0x800CF428; // type:function size:0xB0 -GXSetScissorBoxOffset = .text:0x800CF4D8; // type:function size:0x44 -GXSetClipMode = .text:0x800CF51C; // type:function size:0x28 -__GXSetMatrixIndex = .text:0x800CF544; // type:function size:0x84 -GXSetGPMetric = .text:0x800CF5C8; // type:function size:0x898 -GXReadGPMetric = .text:0x800CFE60; // type:function size:0x1A8 -GXClearGPMetric = .text:0x800D0008; // type:function size:0x10 -GXReadGP0Metric = .text:0x800D0018; // type:function size:0x2C -GXReadGP1Metric = .text:0x800D0044; // type:function size:0x2C -GXReadMemMetric = .text:0x800D0070; // type:function size:0x214 -GXClearMemMetric = .text:0x800D0284; // type:function size:0xA8 -GXReadPixMetric = .text:0x800D032C; // type:function size:0x138 -GXClearPixMetric = .text:0x800D0464; // type:function size:0x30 -GXSetVCacheMetric = .text:0x800D0494; // type:function size:0x50 -GXReadVCacheMetric = .text:0x800D04E4; // type:function size:0x94 -GXClearVCacheMetric = .text:0x800D0578; // type:function size:0x1C -__CARDDefaultApiCallback = .text:0x800D0594; // type:function size:0x4 -__CARDSyncCallback = .text:0x800D0598; // type:function size:0x34 -__CARDExtHandler = .text:0x800D05CC; // type:function size:0xD8 -__CARDExiHandler = .text:0x800D06A4; // type:function size:0x118 -__CARDTxHandler = .text:0x800D07BC; // type:function size:0xA8 -__CARDUnlockedHandler = .text:0x800D0864; // type:function size:0x84 -__CARDEnableInterrupt = .text:0x800D08E8; // type:function size:0xC0 -__CARDReadStatus = .text:0x800D09A8; // type:function size:0xF0 -__CARDClearStatus = .text:0x800D0A98; // type:function size:0xAC -TimeoutHandler = .text:0x800D0B44; // type:function size:0xA4 -Retry = .text:0x800D0BE8; // type:function size:0x22C scope:local -UnlockedCallback = .text:0x800D0E14; // type:function size:0x110 scope:local -__CARDStart = .text:0x800D0F24; // type:function size:0x1B4 scope:local -__CARDReadSegment = .text:0x800D10D8; // type:function size:0x134 -__CARDWritePage = .text:0x800D120C; // type:function size:0x11C -__CARDEraseSector = .text:0x800D1328; // type:function size:0xE0 -CARDInit = .text:0x800D1408; // type:function size:0x9C -__CARDSetDiskID = .text:0x800D14A4; // type:function size:0x38 -__CARDGetControlBlock = .text:0x800D14DC; // type:function size:0xB8 -__CARDPutControlBlock = .text:0x800D1594; // type:function size:0x64 -CARDFreeBlocks = .text:0x800D15F8; // type:function size:0x150 -CARDGetSectorSize = .text:0x800D1748; // type:function size:0x84 -__CARDSync = .text:0x800D17CC; // type:function size:0x98 -OnReset = .text:0x800D1864; // type:function size:0x50 scope:local -bitrev = .text:0x800D18B4; // type:function size:0x16C scope:local -ReadArrayUnlock = .text:0x800D1A20; // type:function size:0x144 scope:local -DummyLen = .text:0x800D1B64; // type:function size:0xC4 scope:local -__CARDUnlock = .text:0x800D1C28; // type:function size:0xB58 -InitCallback = .text:0x800D2780; // type:function size:0x70 scope:local -DoneCallback = .text:0x800D27F0; // type:function size:0x324 scope:local -BlockReadCallback = .text:0x800D2B14; // type:function size:0xDC scope:local -__CARDRead = .text:0x800D2BF0; // type:function size:0x64 -BlockWriteCallback = .text:0x800D2C54; // type:function size:0xDC scope:local -__CARDWrite = .text:0x800D2D30; // type:function size:0x64 -__CARDGetFatBlock = .text:0x800D2D94; // type:function size:0x8 -fn_800D2D9C = .text:0x800D2D9C; // type:function size:0xD4 scope:local -fn_800D2E70 = .text:0x800D2E70; // type:function size:0xC8 scope:local -__CARDAllocBlock = .text:0x800D2F38; // type:function size:0x118 -__CARDFreeBlock = .text:0x800D3050; // type:function size:0x9C -__CARDUpdateFatBlock = .text:0x800D30EC; // type:function size:0xAC -__CARDGetDirBlock = .text:0x800D3198; // type:function size:0x8 -fn_800D31A0 = .text:0x800D31A0; // type:function size:0xD0 scope:local -fn_800D3270 = .text:0x800D3270; // type:function size:0xC8 scope:local -__CARDUpdateDir = .text:0x800D3338; // type:function size:0xC4 -__CARDCheckSum = .text:0x800D33FC; // type:function size:0x1B0 -VerifyID = .text:0x800D35AC; // type:function size:0x284 scope:local -VerifyDir = .text:0x800D3830; // type:function size:0x240 scope:local -VerifyFAT = .text:0x800D3A70; // type:function size:0x284 scope:local -__CARDVerify = .text:0x800D3CF4; // type:function size:0x8C -CARDCheckExAsync = .text:0x800D3D80; // type:function size:0x590 -CARDCheck = .text:0x800D4310; // type:function size:0x54 -IsCard = .text:0x800D4364; // type:function size:0xCC scope:local -CARDProbeEx = .text:0x800D4430; // type:function size:0x17C -DoMount = .text:0x800D45AC; // type:function size:0x410 scope:local -__CARDMountCallback = .text:0x800D49BC; // type:function size:0x138 -CARDMountAsync = .text:0x800D4AF4; // type:function size:0x1A0 -CARDMount = .text:0x800D4C94; // type:function size:0x48 -DoUnmount = .text:0x800D4CDC; // type:function size:0x9C scope:local -CARDUnmount = .text:0x800D4D78; // type:function size:0xAC -FormatCallback = .text:0x800D4E24; // type:function size:0x144 scope:local -__CARDFormatRegionAsync = .text:0x800D4F68; // type:function size:0x658 -CARDFormat = .text:0x800D55C0; // type:function size:0x54 -__CARDCompareFileName = .text:0x800D5614; // type:function size:0x68 -__CARDAccess = .text:0x800D567C; // type:function size:0x98 -__CARDIsPublic = .text:0x800D5714; // type:function size:0x30 -__CARDGetFileNo = .text:0x800D5744; // type:function size:0x150 -CARDOpen = .text:0x800D5894; // type:function size:0x178 -CARDClose = .text:0x800D5A0C; // type:function size:0x54 -__CARDIsOpened = .text:0x800D5A60; // type:function size:0x8 -CreateCallbackFat = .text:0x800D5A68; // type:function size:0x130 scope:local -CARDCreateAsync = .text:0x800D5B98; // type:function size:0x220 -CARDCreate = .text:0x800D5DB8; // type:function size:0x48 -__CARDSeek = .text:0x800D5E00; // type:function size:0x1B8 -ReadCallback = .text:0x800D5FB8; // type:function size:0x130 scope:local -CARDReadAsync = .text:0x800D60E8; // type:function size:0x148 -CARDRead = .text:0x800D6230; // type:function size:0x48 -WriteCallback = .text:0x800D6278; // type:function size:0x170 scope:local -EraseCallback = .text:0x800D63E8; // type:function size:0xB0 scope:local -CARDWriteAsync = .text:0x800D6498; // type:function size:0x114 -CARDWrite = .text:0x800D65AC; // type:function size:0x48 -DeleteCallback = .text:0x800D65F4; // type:function size:0xA4 scope:local -CARDDeleteAsync = .text:0x800D6698; // type:function size:0x110 -CARDDelete = .text:0x800D67A8; // type:function size:0x48 -UpdateIconOffsets = .text:0x800D67F0; // type:function size:0x1F8 scope:local -CARDGetStatus = .text:0x800D69E8; // type:function size:0x12C -CARDSetStatusAsync = .text:0x800D6B14; // type:function size:0x174 -CARDSetStatus = .text:0x800D6C88; // type:function size:0x48 -CARDGetSerialNo = .text:0x800D6CD0; // type:function size:0xC4 -SetExiInterruptMask = .text:0x800D6D94; // type:function size:0xF4 scope:local -EXIImm = .text:0x800D6E88; // type:function size:0x25C scope:global -EXIImmEx = .text:0x800D70E4; // type:function size:0xA0 -EXIDma = .text:0x800D7184; // type:function size:0xEC scope:global -EXISync = .text:0x800D7270; // type:function size:0x238 scope:global -EXIClearInterrupts = .text:0x800D74A8; // type:function size:0x48 -EXISetExiCallback = .text:0x800D74F0; // type:function size:0x7C -__EXIProbe = .text:0x800D756C; // type:function size:0x174 scope:local -EXIProbe = .text:0x800D76E0; // type:function size:0x80 -EXIProbeEx = .text:0x800D7760; // type:function size:0xB4 -EXIAttach = .text:0x800D7814; // type:function size:0x10C -EXIDetach = .text:0x800D7920; // type:function size:0xBC -EXISelect = .text:0x800D79DC; // type:function size:0x12C scope:global -EXIDeselect = .text:0x800D7B08; // type:function size:0x110 scope:global -EXIIntrruptHandler = .text:0x800D7C18; // type:function size:0xC8 scope:local -TCIntrruptHandler = .text:0x800D7CE0; // type:function size:0x218 scope:local -EXTIntrruptHandler = .text:0x800D7EF8; // type:function size:0xD0 scope:local -EXIInit = .text:0x800D7FC8; // type:function size:0x114 scope:global -EXILock = .text:0x800D80DC; // type:function size:0xF4 scope:global -EXIUnlock = .text:0x800D81D0; // type:function size:0xDC scope:global -EXIGetState = .text:0x800D82AC; // type:function size:0x18 -UnlockedHandler = .text:0x800D82C4; // type:function size:0x28 scope:local -EXIGetID = .text:0x800D82EC; // type:function size:0x37C -InitializeUART = .text:0x800D8668; // type:function size:0x70 -WriteUARTN = .text:0x800D86D8; // type:function size:0x200 -SIBusy = .text:0x800D88D8; // type:function size:0x20 -SIIsChanBusy = .text:0x800D88F8; // type:function size:0x3C -CompleteTransfer = .text:0x800D8934; // type:function size:0x2FC -SIInterruptHandler = .text:0x800D8C30; // type:function size:0x344 scope:local -SIEnablePollingInterrupt = .text:0x800D8F74; // type:function size:0x98 -SIRegisterPollingHandler = .text:0x800D900C; // type:function size:0xCC -SIUnregisterPollingHandler = .text:0x800D90D8; // type:function size:0xF4 -SIInit = .text:0x800D91CC; // type:function size:0xA4 scope:global -__SITransfer = .text:0x800D9270; // type:function size:0x20C -SIGetStatus = .text:0x800D947C; // type:function size:0x7C -SISetCommand = .text:0x800D94F8; // type:function size:0x14 -SITransferCommands = .text:0x800D950C; // type:function size:0x10 -SISetXY = .text:0x800D951C; // type:function size:0x6C scope:global -SIEnablePolling = .text:0x800D9588; // type:function size:0x9C -SIDisablePolling = .text:0x800D9624; // type:function size:0x6C -SIGetResponseRaw = .text:0x800D9690; // type:function size:0xD4 -SIGetResponse = .text:0x800D9764; // type:function size:0xC4 -AlarmHandler = .text:0x800D9828; // type:function size:0x8C scope:local -SITransfer = .text:0x800D98B4; // type:function size:0x16C scope:global -GetTypeCallback = .text:0x800D9A20; // type:function size:0x298 scope:local -SIGetType = .text:0x800D9CB8; // type:function size:0x1C4 scope:global -SIGetTypeAsync = .text:0x800D9E7C; // type:function size:0x13C -SISetSamplingRate = .text:0x800D9FB8; // type:function size:0xE4 scope:global -SIRefreshSamplingRate = .text:0x800DA09C; // type:function size:0x24 -THPVideoDecode = .text:0x800DA0C0; // type:function size:0x244 -__THPSetupBuffers = .text:0x800DA304; // type:function size:0x44 scope:local -__THPReadFrameHeader = .text:0x800DA348; // type:function size:0x13C scope:local -__THPReadScaneHeader = .text:0x800DA484; // type:function size:0x11C scope:local -__THPReadQuantizationTable = .text:0x800DA5A0; // type:function size:0x3BC scope:local -__THPReadHuffmanTableSpecification = .text:0x800DA95C; // type:function size:0x1E0 scope:local -__THPHuffGenerateSizeTable = .text:0x800DAB3C; // type:function size:0xF0 scope:local -__THPHuffGenerateCodeTable = .text:0x800DAC2C; // type:function size:0x68 scope:local -__THPHuffGenerateDecoderTables = .text:0x800DAC94; // type:function size:0x1BC scope:local -__THPRestartDefinition = .text:0x800DAE50; // type:function size:0x54 scope:local -__THPPrepBitStream = .text:0x800DAEA4; // type:function size:0x24C scope:local -__THPDecompressYUV = .text:0x800DB0F0; // type:function size:0x10C scope:local -__THPDecompressiMCURow512x448 = .text:0x800DB1FC; // type:function size:0x1A88 scope:local -__THPDecompressiMCURow640x480 = .text:0x800DCC84; // type:function size:0x1A8C scope:local -__THPDecompressiMCURowNxN = .text:0x800DE710; // type:function size:0x1AAC scope:local -__THPHuffDecodeDCTCompY = .text:0x800E01BC; // type:function size:0x67C scope:local -__THPHuffDecodeDCTCompU = .text:0x800E0838; // type:function size:0x6A8 scope:local -__THPHuffDecodeDCTCompV = .text:0x800E0EE0; // type:function size:0x6A8 scope:local -THPInit = .text:0x800E1588; // type:function size:0x78 -THPAudioDecode = .text:0x800E1600; // type:function size:0x464 -__THPAudioGetNewSample = .text:0x800E1A64; // type:function size:0x90 -__THPAudioInitialize = .text:0x800E1AF4; // type:function size:0x3C -__va_arg = .text:0x800E1B30; // type:function size:0xC8 scope:global -__destroy_global_chain = .text:0x800E1BF8; // type:function size:0x48 scope:global -__register_global_object = .text:0x800E1C40; // type:function size:0x18 scope:global -__dl__FPv = .text:0x800E1C58; // type:function size:0x4C -__dt__Q23std9exceptionFv = .text:0x800E1CA4; // type:function size:0x48 -what__Q23std9exceptionCFv = .text:0x800E1CEC; // type:function size:0xC -__throw_catch_compare = .text:0x800E1CF8; // type:function size:0x22C -unexpected__3stdFv = .text:0x800E1F24; // type:function size:0x28 -terminate__3stdFv = .text:0x800E1F4C; // type:function size:0x28 -duhandler__3stdFv = .text:0x800E1F74; // type:function size:0x28 -dthandler__3stdFv = .text:0x800E1F9C; // type:function size:0x20 -__cvt_fp2unsigned = .text:0x800E1FBC; // type:function size:0x5C -__save_fpr = .text:0x800E2018; // type:function size:0x4C scope:global -_savefpr_14 = .text:0x800E2018; // type:label scope:global -_savefpr_15 = .text:0x800E201C; // type:label scope:global -_savefpr_16 = .text:0x800E2020; // type:label scope:global -_savefpr_17 = .text:0x800E2024; // type:label scope:global -_savefpr_18 = .text:0x800E2028; // type:label scope:global -_savefpr_19 = .text:0x800E202C; // type:label scope:global -_savefpr_20 = .text:0x800E2030; // type:label scope:global -_savefpr_21 = .text:0x800E2034; // type:label scope:global -_savefpr_22 = .text:0x800E2038; // type:label scope:global -_savefpr_23 = .text:0x800E203C; // type:label scope:global -_savefpr_24 = .text:0x800E2040; // type:label scope:global -_savefpr_25 = .text:0x800E2044; // type:label scope:global -_savefpr_26 = .text:0x800E2048; // type:label scope:global -_savefpr_27 = .text:0x800E204C; // type:label scope:global -_savefpr_28 = .text:0x800E2050; // type:label scope:global -_savefpr_29 = .text:0x800E2054; // type:label scope:global -_savefpr_30 = .text:0x800E2058; // type:label scope:global -_savefpr_31 = .text:0x800E205C; // type:label scope:global -__restore_fpr = .text:0x800E2064; // type:function size:0x4C scope:global -_restfpr_14 = .text:0x800E2064; // type:label scope:global -_restfpr_15 = .text:0x800E2068; // type:label scope:global -_restfpr_16 = .text:0x800E206C; // type:label scope:global -_restfpr_17 = .text:0x800E2070; // type:label scope:global -_restfpr_18 = .text:0x800E2074; // type:label scope:global -_restfpr_19 = .text:0x800E2078; // type:label scope:global -_restfpr_20 = .text:0x800E207C; // type:label scope:global -_restfpr_21 = .text:0x800E2080; // type:label scope:global -_restfpr_22 = .text:0x800E2084; // type:label scope:global -_restfpr_23 = .text:0x800E2088; // type:label scope:global -_restfpr_24 = .text:0x800E208C; // type:label scope:global -_restfpr_25 = .text:0x800E2090; // type:label scope:global -_restfpr_26 = .text:0x800E2094; // type:label scope:global -_restfpr_27 = .text:0x800E2098; // type:label scope:global -_restfpr_28 = .text:0x800E209C; // type:label scope:global -_restfpr_29 = .text:0x800E20A0; // type:label scope:global -_restfpr_30 = .text:0x800E20A4; // type:label scope:global -_restfpr_31 = .text:0x800E20A8; // type:label scope:global -__save_gpr = .text:0x800E20B0; // type:function size:0x4C scope:global -_savegpr_14 = .text:0x800E20B0; // type:label scope:global -_savegpr_15 = .text:0x800E20B4; // type:label scope:global -_savegpr_16 = .text:0x800E20B8; // type:label scope:global -_savegpr_17 = .text:0x800E20BC; // type:label scope:global -_savegpr_18 = .text:0x800E20C0; // type:label scope:global -_savegpr_19 = .text:0x800E20C4; // type:label scope:global -_savegpr_20 = .text:0x800E20C8; // type:label scope:global -_savegpr_21 = .text:0x800E20CC; // type:label scope:global -_savegpr_22 = .text:0x800E20D0; // type:label scope:global -_savegpr_23 = .text:0x800E20D4; // type:label scope:global -_savegpr_24 = .text:0x800E20D8; // type:label scope:global -_savegpr_25 = .text:0x800E20DC; // type:label scope:global -_savegpr_26 = .text:0x800E20E0; // type:label scope:global -_savegpr_27 = .text:0x800E20E4; // type:label scope:global -_savegpr_28 = .text:0x800E20E8; // type:label scope:global -_savegpr_29 = .text:0x800E20EC; // type:label scope:global -_savegpr_30 = .text:0x800E20F0; // type:label scope:global -_savegpr_31 = .text:0x800E20F4; // type:label scope:global -__restore_gpr = .text:0x800E20FC; // type:function size:0x4C scope:global -_restgpr_14 = .text:0x800E20FC; // type:label scope:global -_restgpr_15 = .text:0x800E2100; // type:label scope:global -_restgpr_16 = .text:0x800E2104; // type:label scope:global -_restgpr_17 = .text:0x800E2108; // type:label scope:global -_restgpr_18 = .text:0x800E210C; // type:label scope:global -_restgpr_19 = .text:0x800E2110; // type:label scope:global -_restgpr_20 = .text:0x800E2114; // type:label scope:global -_restgpr_21 = .text:0x800E2118; // type:label scope:global -_restgpr_22 = .text:0x800E211C; // type:label scope:global -_restgpr_23 = .text:0x800E2120; // type:label scope:global -_restgpr_24 = .text:0x800E2124; // type:label scope:global -_restgpr_25 = .text:0x800E2128; // type:label scope:global -_restgpr_26 = .text:0x800E212C; // type:label scope:global -_restgpr_27 = .text:0x800E2130; // type:label scope:global -_restgpr_28 = .text:0x800E2134; // type:label scope:global -_restgpr_29 = .text:0x800E2138; // type:label scope:global -_restgpr_30 = .text:0x800E213C; // type:label scope:global -_restgpr_31 = .text:0x800E2140; // type:label scope:global -__div2u = .text:0x800E2148; // type:function size:0xEC scope:global -__div2i = .text:0x800E2234; // type:function size:0x138 -__mod2u = .text:0x800E236C; // type:function size:0xE4 scope:global -__mod2i = .text:0x800E2450; // type:function size:0x10C -__shl2i = .text:0x800E255C; // type:function size:0x24 -__shr2u = .text:0x800E2580; // type:function size:0x24 -__shr2i = .text:0x800E25A4; // type:function size:0x28 -__cvt_dbl_usll = .text:0x800E25CC; // type:function size:0xCC -GetR2__Fv = .text:0x800E2698; // type:function size:0x8 scope:local -__fini_cpp_exceptions = .text:0x800E26A0; // type:function size:0x34 scope:global -__init_cpp_exceptions = .text:0x800E26D4; // type:function size:0x40 scope:global -ExPPC_LongJump__FP12ThrowContextPvPv = .text:0x800E2714; // type:function size:0x104 -__throw = .text:0x800E2818; // type:function size:0x144 -__end__catch = .text:0x800E295C; // type:function size:0x44 -ExPPC_ThrowHandler__FP12ThrowContext = .text:0x800E29A0; // type:function size:0x410 -__unexpected = .text:0x800E2DB0; // type:function size:0x1B4 -__dt__Q23std13bad_exceptionFv = .text:0x800E2F64; // type:function size:0x5C -ExPPC_UnwindStack__FP12ThrowContextP15MWExceptionInfoPv = .text:0x800E2FC0; // type:function size:0x50C -ExPPC_PopStackFrame__FP12ThrowContextP15MWExceptionInfo = .text:0x800E34CC; // type:function size:0x248 -ExPPC_NextAction__FP14ActionIterator = .text:0x800E3714; // type:function size:0x1C0 -ExPPC_FindExceptionRecord__FPcP15MWExceptionInfo = .text:0x800E38D4; // type:function size:0x204 -__unregister_fragment = .text:0x800E3AD8; // type:function size:0x34 scope:global -__register_fragment = .text:0x800E3B0C; // type:function size:0x34 scope:global -what__Q23std13bad_exceptionCFv = .text:0x800E3B40; // type:function size:0xC -__sys_free = .text:0x800E3B4C; // type:function size:0xB8 -exit = .text:0x800E3C04; // type:function size:0xCC scope:global -abort = .text:0x800E3CD0; // type:function size:0x88 -free = .text:0x800E3D58; // type:function size:0x134 -deallocate_from_fixed_pools = .text:0x800E3E8C; // type:function size:0x1FC -SubBlock_merge_next = .text:0x800E4088; // type:function size:0xBC scope:local -Block_link = .text:0x800E4144; // type:function size:0x17C scope:local -__flush_all = .text:0x800E42C0; // type:function size:0x70 -__close_all = .text:0x800E4330; // type:function size:0x98 scope:global -__num2dec = .text:0x800E43C8; // type:function size:0x1A4 -__num2dec_internal = .text:0x800E456C; // type:function size:0x23C scope:local -__two_exp = .text:0x800E47A8; // type:function size:0x340 scope:local -__str2dec = .text:0x800E4AE8; // type:function size:0xEC scope:local -__timesdec = .text:0x800E4BD4; // type:function size:0x28C scope:local -__ull2dec = .text:0x800E4E60; // type:function size:0x110 scope:local -__count_trailing_zerol = .text:0x800E4F70; // type:function size:0x70 scope:local -abs = .text:0x800E4FE0; // type:function size:0x10 -__flush_buffer = .text:0x800E4FF0; // type:function size:0xC4 scope:global -__prep_buffer = .text:0x800E50B4; // type:function size:0x34 scope:global -tolower = .text:0x800E50E8; // type:function size:0x24 -isalpha = .text:0x800E510C; // type:function size:0x18 -__fwrite = .text:0x800E5124; // type:function size:0x30C scope:global -fwrite = .text:0x800E5430; // type:function size:0x20 scope:global -fflush = .text:0x800E5450; // type:function size:0x138 -fclose = .text:0x800E5588; // type:function size:0xC0 -fseek = .text:0x800E5648; // type:function size:0x20 scope:global -_fseek = .text:0x800E5668; // type:function size:0x23C -ftell = .text:0x800E58A4; // type:function size:0x70 -wcstombs = .text:0x800E5914; // type:function size:0xA0 scope:global -unicode_to_UTF8 = .text:0x800E59B4; // type:function size:0xA4 scope:local -memcmp = .text:0x800E5A58; // type:function size:0x4C -__memrchr = .text:0x800E5AA4; // type:function size:0x2C scope:global -memchr = .text:0x800E5AD0; // type:function size:0x2C scope:global -memmove = .text:0x800E5AFC; // type:function size:0xCC -__copy_longs_rev_unaligned = .text:0x800E5BC8; // type:function size:0xB0 -__copy_longs_unaligned = .text:0x800E5C78; // type:function size:0xC4 -__copy_longs_rev_aligned = .text:0x800E5D3C; // type:function size:0xAC -__copy_longs_aligned = .text:0x800E5DE8; // type:function size:0xC0 -__stdio_atexit = .text:0x800E5EA8; // type:function size:0x10 scope:global -sprintf = .text:0x800E5EB8; // type:function size:0xE0 -vsprintf = .text:0x800E5F98; // type:function size:0x78 -vsnprintf = .text:0x800E6010; // type:function size:0x74 -vprintf = .text:0x800E6084; // type:function size:0x7C scope:global -printf = .text:0x800E6100; // type:function size:0xCC -__StringWrite = .text:0x800E61CC; // type:function size:0x6C -__FileWrite = .text:0x800E6238; // type:function size:0x58 scope:global -__pformatter = .text:0x800E6290; // type:function size:0x774 scope:local -float2str = .text:0x800E6A04; // type:function size:0x6EC scope:local -round_decimal = .text:0x800E70F0; // type:function size:0x12C -double2hex = .text:0x800E721C; // type:function size:0x338 scope:local -longlong2str = .text:0x800E7554; // type:function size:0x2DC scope:local -long2str = .text:0x800E7830; // type:function size:0x220 scope:local -parse_format = .text:0x800E7A50; // type:function size:0x504 scope:local -raise = .text:0x800E7F54; // type:function size:0xB0 -strchr = .text:0x800E8004; // type:function size:0x30 scope:global -strncmp = .text:0x800E8034; // type:function size:0x40 -strcmp = .text:0x800E8074; // type:function size:0x128 -strcat = .text:0x800E819C; // type:function size:0x44 -strcpy = .text:0x800E81E0; // type:function size:0xB8 -strlen = .text:0x800E8298; // type:function size:0x1C scope:global -__close_console = .text:0x800E82B4; // type:function size:0x8 -__write_console = .text:0x800E82BC; // type:function size:0xC4 -fwide = .text:0x800E8380; // type:function size:0x88 scope:global -__ieee754_acos = .text:0x800E8408; // type:function size:0x310 -__ieee754_asin = .text:0x800E8718; // type:function size:0x264 -__ieee754_atan2 = .text:0x800E897C; // type:function size:0x290 -__ieee754_fmod = .text:0x800E8C0C; // type:function size:0x33C -__ieee754_pow = .text:0x800E8F48; // type:function size:0x88C -__ieee754_rem_pio2 = .text:0x800E97D4; // type:function size:0x3A0 -__kernel_cos = .text:0x800E9B74; // type:function size:0xF4 -__kernel_rem_pio2 = .text:0x800E9C68; // type:function size:0xE54 -__kernel_sin = .text:0x800EAABC; // type:function size:0xA0 -__kernel_tan = .text:0x800EAB5C; // type:function size:0x214 -atan = .text:0x800EAD70; // type:function size:0x200 -copysign = .text:0x800EAF70; // type:function size:0x28 -cos = .text:0x800EAF98; // type:function size:0xD4 -floor = .text:0x800EB06C; // type:function size:0x148 -frexp = .text:0x800EB1B4; // type:function size:0x8C -ldexp = .text:0x800EB240; // type:function size:0x1C4 -modf = .text:0x800EB404; // type:function size:0xFC -sin = .text:0x800EB500; // type:function size:0xD8 -tan = .text:0x800EB5D8; // type:function size:0x78 -acos = .text:0x800EB650; // type:function size:0x20 -asin = .text:0x800EB670; // type:function size:0x20 -atan2 = .text:0x800EB690; // type:function size:0x20 -fmod = .text:0x800EB6B0; // type:function size:0x20 -pow = .text:0x800EB6D0; // type:function size:0x20 -tanf = .text:0x800EB6F0; // type:function size:0x24 -sinf = .text:0x800EB714; // type:function size:0x24 -cosf = .text:0x800EB738; // type:function size:0x24 -atan2f = .text:0x800EB75C; // type:function size:0x24 -acosf = .text:0x800EB780; // type:function size:0x24 -TRKNubMainLoop = .text:0x800EB7A4; // type:function size:0xF8 scope:global -TRKDestructEvent = .text:0x800EB89C; // type:function size:0x24 scope:global -TRKConstructEvent = .text:0x800EB8C0; // type:function size:0x18 -TRKPostEvent = .text:0x800EB8D8; // type:function size:0xE0 -TRKGetNextEvent = .text:0x800EB9B8; // type:function size:0xB4 scope:global -TRKInitializeEventQueue = .text:0x800EBA6C; // type:function size:0x58 scope:global -TRKNubWelcome = .text:0x800EBAC4; // type:function size:0x28 scope:global -TRKTerminateNub = .text:0x800EBAEC; // type:function size:0x24 scope:global -TRKInitializeNub = .text:0x800EBB10; // type:function size:0x134 scope:global -TRKMessageSend = .text:0x800EBC44; // type:function size:0x1DC -TRKReadBuffer_ui32 = .text:0x800EBE20; // type:function size:0xF0 -TRKReadBuffer_ui8 = .text:0x800EBF10; // type:function size:0x98 -TRKReadBuffer1_ui64 = .text:0x800EBFA8; // type:function size:0xE8 -TRKReadBuffer1_ui32 = .text:0x800EC090; // type:function size:0xC8 -TRKReadBuffer1_ui16 = .text:0x800EC158; // type:function size:0xB8 -TRKReadBuffer1_ui8 = .text:0x800EC210; // type:function size:0x80 -TRKAppendBuffer_ui32 = .text:0x800EC290; // type:function size:0xA8 -TRKAppendBuffer_ui8 = .text:0x800EC338; // type:function size:0x68 -TRKAppendBuffer1_ui64 = .text:0x800EC3A0; // type:function size:0x88 -TRKAppendBuffer1_ui32 = .text:0x800EC428; // type:function size:0x64 -TRKAppendBuffer1_ui16 = .text:0x800EC48C; // type:function size:0x54 -TRKReadBuffer = .text:0x800EC4E0; // type:function size:0x8C -TRKAppendBuffer = .text:0x800EC56C; // type:function size:0xA4 -TRKSetBufferPosition = .text:0x800EC610; // type:function size:0x30 -TRKResetBuffer = .text:0x800EC640; // type:function size:0x40 -TRKReleaseBuffer = .text:0x800EC680; // type:function size:0x64 -TRKGetBuffer = .text:0x800EC6E4; // type:function size:0x2C scope:global -TRKGetFreeBuffer = .text:0x800EC710; // type:function size:0xC8 -TRKInitializeMessageBuffers = .text:0x800EC7D8; // type:function size:0x74 scope:global -TRKTerminateSerialHandler = .text:0x800EC84C; // type:function size:0x8 -TRKInitializeSerialHandler = .text:0x800EC854; // type:function size:0x24 scope:global -TRKProcessInput = .text:0x800EC878; // type:function size:0x50 -TRKGetInput = .text:0x800EC8C8; // type:function size:0x98 scope:global -TRKTestForPacket = .text:0x800EC960; // type:function size:0x2B8 -usr_put_initialize = .text:0x800ECC18; // type:function size:0x4 scope:global -usr_puts_serial = .text:0x800ECC1C; // type:function size:0x88 -TRKDispatchMessage = .text:0x800ECCA4; // type:function size:0x84 scope:global -TRKInitializeDispatcher = .text:0x800ECD28; // type:function size:0x18 scope:global -TRKDoSetOption = .text:0x800ECD40; // type:function size:0x1A4 -TRKDoStop = .text:0x800ECEE4; // type:function size:0x100 -TRKDoStep = .text:0x800ECFE4; // type:function size:0x530 -TRKDoContinue = .text:0x800ED514; // type:function size:0x154 -TRKDoFlushCache = .text:0x800ED668; // type:function size:0x2F8 -TRKDoWriteRegisters = .text:0x800ED960; // type:function size:0x3C8 -TRKDoReadRegisters = .text:0x800EDD28; // type:function size:0x3CC -TRKDoWriteMemory = .text:0x800EE0F4; // type:function size:0x420 -TRKDoReadMemory = .text:0x800EE514; // type:function size:0x410 -TRKDoCPUType = .text:0x800EE924; // type:function size:0x398 -TRKDoSupportMask = .text:0x800EECBC; // type:function size:0x230 -TRKDoVersions = .text:0x800EEEEC; // type:function size:0x2D8 -TRKDoReset = .text:0x800EF1C4; // type:function size:0xB8 -TRKDoDisconnect = .text:0x800EF27C; // type:function size:0xE4 -TRKDoConnect = .text:0x800EF360; // type:function size:0xBC -TRKDoUnsupported = .text:0x800EF41C; // type:function size:0xB0 -TRKStandardACK = .text:0x800EF4CC; // type:function size:0xB8 -SetTRKConnected = .text:0x800EF584; // type:function size:0xC -GetTRKConnected = .text:0x800EF590; // type:function size:0x10 -HandlePositionFileSupportRequest = .text:0x800EF5A0; // type:function size:0x190 -HandleCloseFileSupportRequest = .text:0x800EF730; // type:function size:0x120 -HandleOpenFileSupportRequest = .text:0x800EF850; // type:function size:0x1A8 -TRKRequestSend = .text:0x800EF9F8; // type:function size:0x1A4 -TRKSuppAccessFile = .text:0x800EFB9C; // type:function size:0x2C4 -TRKReleaseMutex = .text:0x800EFE60; // type:function size:0x8 -TRKAcquireMutex = .text:0x800EFE68; // type:function size:0x8 -TRKInitializeMutex = .text:0x800EFE70; // type:function size:0x8 -TRKDoNotifyStopped = .text:0x800EFE78; // type:function size:0xD8 -TRK_flush_cache = .text:0x800EFF50; // type:function size:0x38 -TRK_fill_mem = .text:0x800EFF88; // type:function size:0xBC -__TRK_get_MSR = .text:0x800F0044; // type:function size:0x8 -__TRK_set_MSR = .text:0x800F004C; // type:function size:0x8 -TRK_ppc_memcpy = .text:0x800F0054; // type:function size:0x3C -TRKInterruptHandler = .text:0x800F0090; // type:function size:0x194 scope:global -TRKExceptionHandler = .text:0x800F0224; // type:function size:0x9C scope:global -TRKSwapAndGo = .text:0x800F02C0; // type:function size:0xC4 scope:global -TRKInterruptHandlerEnableInterrupts = .text:0x800F0384; // type:function size:0x54 scope:global -TRKTargetSetInputPendingPtr = .text:0x800F03D8; // type:function size:0x10 scope:global -TRKPPCAccessFPRegister = .text:0x800F03E8; // type:function size:0x21C -TRKTargetStop = .text:0x800F0604; // type:function size:0x18 -TRKTargetSetStopped = .text:0x800F061C; // type:function size:0x10 scope:global -TRKTargetStopped = .text:0x800F062C; // type:function size:0x10 scope:global -TRKTargetFlushCache = .text:0x800F063C; // type:function size:0x3C -TRKTargetSupportRequest = .text:0x800F0678; // type:function size:0x208 scope:global -TRKTargetGetPC = .text:0x800F0880; // type:function size:0x10 -TRKTargetStepOutOfRange = .text:0x800F0890; // type:function size:0x7C -TRKTargetSingleStep = .text:0x800F090C; // type:function size:0x6C -TRKTargetAddExceptionInfo = .text:0x800F0978; // type:function size:0xAC -TRKTargetAddStopInfo = .text:0x800F0A24; // type:function size:0x124 -TRKTargetInterrupt = .text:0x800F0B48; // type:function size:0x15C scope:global -TRKPostInterruptEvent = .text:0x800F0CA4; // type:function size:0xC0 scope:global -TRKTargetCPUType = .text:0x800F0D64; // type:function size:0x60 -TRKTargetSupportMask = .text:0x800F0DC4; // type:function size:0xA4 -TRKTargetVersions = .text:0x800F0E68; // type:function size:0x24 -TRKTargetAccessExtended2 = .text:0x800F0E8C; // type:function size:0x438 -TRKTargetAccessExtended1 = .text:0x800F12C4; // type:function size:0x170 -TRKTargetAccessFP = .text:0x800F1434; // type:function size:0x13C -TRKTargetAccessDefault = .text:0x800F1570; // type:function size:0xF4 -TRKTargetAccessMemory = .text:0x800F1664; // type:function size:0x14C -TRKValidMemory32 = .text:0x800F17B0; // type:function size:0x124 -TRKAccessFile = .text:0x800F18E0; // type:function size:0x8 -TRKOpenFile = .text:0x800F18E8; // type:function size:0x8 -TRKCloseFile = .text:0x800F18F0; // type:function size:0x8 -TRKPositionFile = .text:0x800F18F8; // type:function size:0x8 -InitMetroTRK = .text:0x800F1900; // type:function size:0x94 scope:global -TRKInitializeTarget = .text:0x800F1994; // type:function size:0x4C scope:global -TRKTargetTranslate = .text:0x800F19E0; // type:function size:0x40 -EnableMetroTRKInterrupts = .text:0x800F1A20; // type:function size:0x20 scope:global -TRKSaveExtended1Block = .text:0x800F1A40; // type:function size:0x1B8 scope:global -TRKRestoreExtended1Block = .text:0x800F1BF8; // type:function size:0x1B8 scope:global -TRKTargetCPUMinorType = .text:0x800F1DB0; // type:function size:0x8 -TRK_main = .text:0x800F1DB8; // type:function size:0x44 scope:global -TRKLoadContext = .text:0x800F1DFC; // type:function size:0x88 scope:global -TRKUARTInterruptHandler = .text:0x800F1E84; // type:function size:0x4 scope:global -TRK_board_display = .text:0x800F1E88; // type:function size:0x24 scope:global -UnreserveEXI2Port = .text:0x800F1EAC; // type:function size:0x30 scope:global -ReserveEXI2Port = .text:0x800F1EDC; // type:function size:0x30 scope:global -TRKReadUARTPoll = .text:0x800F1F0C; // type:function size:0xF0 -WriteUART1 = .text:0x800F1FFC; // type:function size:0x28 -WriteUARTFlush = .text:0x800F2024; // type:function size:0xE0 -EnableEXI2Interrupts = .text:0x800F2104; // type:function size:0x30 -TRKInitializeIntDrivenUART = .text:0x800F2134; // type:function size:0x3C scope:global -InitMetroTRKCommTable = .text:0x800F2170; // type:function size:0x100 scope:global -TRKEXICallBack = .text:0x800F2270; // type:function size:0x38 scope:global -TRKTargetContinue = .text:0x800F22A8; // type:function size:0x34 scope:global -GetUseSerialIO = .text:0x800F22DC; // type:function size:0x10 -SetUseSerialIO = .text:0x800F22EC; // type:function size:0xC -__TRK_write_console = .text:0x800F22F8; // type:function size:0xBC -__read_console = .text:0x800F23B4; // type:function size:0xBC -seqGetPrivateId = .text:0x800F2470; // type:function size:0x68 -seqStartPlay = .text:0x800F24D8; // type:function size:0xAC4 -StartPause = .text:0x800F2F9C; // type:function size:0x64 -seqPause = .text:0x800F3000; // type:function size:0x27C -seqStop = .text:0x800F327C; // type:function size:0x2B0 -seqKillInstancesByGroupID = .text:0x800F352C; // type:function size:0x90 -seqSpeed = .text:0x800F35BC; // type:function size:0xE4 -seqContinue = .text:0x800F36A0; // type:function size:0x108 -seqMute = .text:0x800F37A8; // type:function size:0xBC -seqVolume = .text:0x800F3864; // type:function size:0x1CC -seqCrossFade = .text:0x800F3A30; // type:function size:0xB58 -GenerateNextTrackEvent = .text:0x800F4588; // type:function size:0x218 scope:local -HandleEvent = .text:0x800F47A0; // type:function size:0xA94 scope:local -InitTrackEvents = .text:0x800F5234; // type:function size:0x174 scope:local -HandleTrackEvents = .text:0x800F53A8; // type:function size:0x49C scope:local -seqHandle = .text:0x800F5844; // type:function size:0x9F4 -seqInit = .text:0x800F6238; // type:function size:0x1A8 -synthSetBpm = .text:0x800F63E0; // type:function size:0x44 -synthGetTicksPerSecond = .text:0x800F6424; // type:function size:0x34 -synthInitPortamento = .text:0x800F6458; // type:function size:0x78 -do_voice_portamento = .text:0x800F64D0; // type:function size:0x2A0 scope:local -StartLayer = .text:0x800F6770; // type:function size:0x3C0 scope:local -StartKeymap = .text:0x800F6B30; // type:function size:0x25C scope:local -synthStartSound = .text:0x800F6D8C; // type:function size:0x45C -LowPrecisionHandler = .text:0x800F71E8; // type:function size:0x744 scope:local -ZeroOffsetHandler = .text:0x800F792C; // type:function size:0x6FC scope:local -synthAddJob = .text:0x800F8028; // type:function size:0x150 scope:local -synthStartSynthJobHandling = .text:0x800F8178; // type:function size:0x64 -synthForceLowPrecisionUpdate = .text:0x800F81DC; // type:function size:0x44 -synthKeyStateUpdate = .text:0x800F8220; // type:function size:0x28 -synthHandle = .text:0x800F8248; // type:function size:0x510 -synthFXGetMaxVoices = .text:0x800F8758; // type:function size:0x34 -synthFXStart = .text:0x800F878C; // type:function size:0xC8 -synthFXSetCtrl = .text:0x800F8854; // type:function size:0xE4 -synthFXSetCtrl14 = .text:0x800F8938; // type:function size:0xE4 -synthFXCloneMidiSetup = .text:0x800F8A1C; // type:function size:0x84 -synthSendKeyOff = .text:0x800F8AA0; // type:function size:0x88 -synthVolume = .text:0x800F8B28; // type:function size:0x530 -synthIsFadeOutActive = .text:0x800F9058; // type:function size:0x54 -synthSetMusicVolumeType = .text:0x800F90AC; // type:function size:0x28 -synthHWMessageHandler = .text:0x800F90D4; // type:function size:0xD0 -synthInit = .text:0x800F91A4; // type:function size:0x574 -synthExit = .text:0x800F9718; // type:function size:0x24 -sndSeqGetValid = .text:0x800F973C; // type:function size:0x30 -sndSeqPause = .text:0x800F976C; // type:function size:0x38 -sndSeqStop = .text:0x800F97A4; // type:function size:0x38 -sndSeqSpeed = .text:0x800F97DC; // type:function size:0x48 -sndSeqContinue = .text:0x800F9824; // type:function size:0x38 -sndSeqMute = .text:0x800F985C; // type:function size:0x58 -sndSeqVolume = .text:0x800F98B4; // type:function size:0x68 -sndSeqGetMidiCtrl = .text:0x800F991C; // type:function size:0x84 -seqGetMIDIPriority = .text:0x800F99A0; // type:function size:0x1C -sndFXCtrl = .text:0x800F99BC; // type:function size:0x60 -sndFXCtrl14 = .text:0x800F9A1C; // type:function size:0x60 -sndFXKeyOff = .text:0x800F9A7C; // type:function size:0x40 -sndFXStartParaInfo = .text:0x800F9ABC; // type:function size:0xE0 -sndFXCheck = .text:0x800F9B9C; // type:function size:0x40 -sndSendMessage = .text:0x800F9BDC; // type:function size:0x50 -sndVolume = .text:0x800F9C2C; // type:function size:0x60 -sndMasterVolume = .text:0x800F9C8C; // type:function size:0x94 -sndOutputMode = .text:0x800F9D20; // type:function size:0xEC -sndSetAuxProcessingCallbacks = .text:0x800F9E0C; // type:function size:0x158 -synthActivateStudio = .text:0x800F9F64; // type:function size:0xA8 -synthDeactivateStudio = .text:0x800FA00C; // type:function size:0xF0 -synthAddStudioInput = .text:0x800FA0FC; // type:function size:0x20 -synthRemoveStudioInput = .text:0x800FA11C; // type:function size:0x20 -streamInit = .text:0x800FA13C; // type:function size:0xBC -SetHWMix = .text:0x800FA1F8; // type:function size:0x8C scope:local -streamHandle = .text:0x800FA284; // type:function size:0x8AC -streamCorrectLoops = .text:0x800FAB30; // type:function size:0x4 -streamKill = .text:0x800FAB34; // type:function size:0x84 -GetPrivateIndex = .text:0x800FABB8; // type:function size:0x160 -sndStreamARAMUpdate = .text:0x800FAD18; // type:function size:0x2C4 -CheckOutputMode = .text:0x800FAFDC; // type:function size:0x34 -SetupVolumeAndPan = .text:0x800FB010; // type:function size:0x44 -streamOutputModeChanged = .text:0x800FB054; // type:function size:0x130 -sndStreamAllocEx = .text:0x800FB184; // type:function size:0x458 -sndStreamAllocLength = .text:0x800FB5DC; // type:function size:0x44 -sndStreamADPCMParameter = .text:0x800FB620; // type:function size:0x6E8 -sndStreamMixParameterEx = .text:0x800FBD08; // type:function size:0x560 -sndStreamFrq = .text:0x800FC268; // type:function size:0x654 -sndStreamFree = .text:0x800FC8BC; // type:function size:0x6B8 -sndStreamActivate = .text:0x800FCF74; // type:function size:0x634 -sndStreamDeactivate = .text:0x800FD5A8; // type:function size:0x700 -dataInsertKeymap = .text:0x800FDCA8; // type:function size:0x1F0 -dataRemoveKeymap = .text:0x800FDE98; // type:function size:0x17C -dataInsertLayer = .text:0x800FE014; // type:function size:0x248 -dataRemoveLayer = .text:0x800FE25C; // type:function size:0x1C4 -dataInsertCurve = .text:0x800FE420; // type:function size:0x204 -dataRemoveCurve = .text:0x800FE624; // type:function size:0x17C -dataInsertSDir = .text:0x800FE7A0; // type:function size:0x188 -dataRemoveSDir = .text:0x800FE928; // type:function size:0x2C8 -dataAddSampleReference = .text:0x800FEBF0; // type:function size:0xD8 -dataRemoveSampleReference = .text:0x800FECC8; // type:function size:0x98 -dataInsertFX = .text:0x800FED60; // type:function size:0x11C -dataRemoveFX = .text:0x800FEE7C; // type:function size:0x15C -dataInsertMacro = .text:0x800FEFD8; // type:function size:0x304 -dataRemoveMacro = .text:0x800FF2DC; // type:function size:0x284 -maccmp = .text:0x800FF560; // type:function size:0x10 scope:local -dataGetMacro = .text:0x800FF570; // type:function size:0x8C -smpcmp = .text:0x800FF5FC; // type:function size:0x10 scope:local -dataGetSample = .text:0x800FF60C; // type:function size:0x128 -curvecmp = .text:0x800FF734; // type:function size:0x10 scope:local -dataGetCurve = .text:0x800FF744; // type:function size:0x5C -dataGetKeymap = .text:0x800FF7A0; // type:function size:0x5C -layercmp = .text:0x800FF7FC; // type:function size:0x10 scope:local -dataGetLayer = .text:0x800FF80C; // type:function size:0x7C -fxcmp = .text:0x800FF888; // type:function size:0x10 scope:local -dataGetFX = .text:0x800FF898; // type:function size:0x9C -dataInit = .text:0x800FF934; // type:function size:0xE4 -dataExit = .text:0x800FFA18; // type:function size:0x20 -mcmdWait = .text:0x800FFA38; // type:function size:0x2F0 scope:local -mcmdGosub = .text:0x800FFD28; // type:function size:0xD0 scope:local -mcmdLoop = .text:0x800FFDF8; // type:function size:0x154 scope:local -mcmdPlayMacro = .text:0x800FFF4C; // type:function size:0x18C scope:local -mcmdAddKey = .text:0x801000D8; // type:function size:0xD8 scope:local -mcmdStartSample = .text:0x801001B0; // type:function size:0x1FC scope:local -mcmdVibrato = .text:0x801003AC; // type:function size:0x17C scope:local -DoSetPitch = .text:0x80100528; // type:function size:0x1A0 scope:local -mcmdSetADSR = .text:0x801006C8; // type:function size:0x258 scope:local -mcmdSetADSRFromCtrl = .text:0x80100920; // type:function size:0x12C scope:local -mcmdSetPitchADSR = .text:0x80100A4C; // type:function size:0x27C scope:local -mcmdSetPanning = .text:0x80100CC8; // type:function size:0x9C scope:local -mcmdSetSurroundPanning = .text:0x80100D64; // type:function size:0x9C scope:local -mcmdScaleVolume = .text:0x80100E00; // type:function size:0x134 scope:local -mcmdEnvelope = .text:0x80100F34; // type:function size:0x130 scope:local -mcmdFadeIn = .text:0x80101064; // type:function size:0x13C scope:local -mcmdRandomKey = .text:0x801011A0; // type:function size:0x19C scope:local -mcmdVolumeSelect = .text:0x8010133C; // type:function size:0x104 scope:local -mcmdPanningSelect = .text:0x80101440; // type:function size:0x104 scope:local -mcmdPitchWheelSelect = .text:0x80101544; // type:function size:0x104 scope:local -mcmdModWheelSelect = .text:0x80101648; // type:function size:0x104 scope:local -mcmdPedalSelect = .text:0x8010174C; // type:function size:0x104 scope:local -mcmdPortamentoSelect = .text:0x80101850; // type:function size:0x104 scope:local -mcmdReverbSelect = .text:0x80101954; // type:function size:0x104 scope:local -mcmdPreAuxASelect = .text:0x80101A58; // type:function size:0x104 scope:local -mcmdPreAuxBSelect = .text:0x80101B5C; // type:function size:0x104 scope:local -mcmdPostAuxBSelect = .text:0x80101C60; // type:function size:0x104 scope:local -mcmdSurroundPanningSelect = .text:0x80101D64; // type:function size:0x104 scope:local -mcmdDopplerSelect = .text:0x80101E68; // type:function size:0x104 scope:local -mcmdTremoloSelect = .text:0x80101F6C; // type:function size:0x104 scope:local -mcmdAuxAFXSelect = .text:0x80102070; // type:function size:0x17C scope:local -mcmdAuxBFXSelect = .text:0x801021EC; // type:function size:0x17C scope:local -mcmdPortamento = .text:0x80102368; // type:function size:0x164 scope:local -varGet = .text:0x801024CC; // type:function size:0x68 -mcmdVarCalculation = .text:0x80102534; // type:function size:0x220 scope:local -mcmdIfVarCompare = .text:0x80102754; // type:function size:0x14C scope:local -macPostMessage = .text:0x801028A0; // type:function size:0xBC -mcmdSendMessage = .text:0x8010295C; // type:function size:0x244 scope:local -mcmdGetVID = .text:0x80102BA0; // type:function size:0x80 scope:local -mcmdSetKeyGroup = .text:0x80102C20; // type:function size:0xDC scope:local -macHandleActive = .text:0x80102CFC; // type:function size:0xF58 scope:local -macHandle = .text:0x80103C54; // type:function size:0x150 -macSampleEndNotify = .text:0x80103DA4; // type:function size:0xAC -macSetExternalKeyoff = .text:0x80103E50; // type:function size:0xF0 -macSetPedalState = .text:0x80103F40; // type:function size:0x108 -TimeQueueAdd = .text:0x80104048; // type:function size:0xA4 scope:local -macMakeActive = .text:0x801040EC; // type:function size:0x108 -macMakeInactive = .text:0x801041F4; // type:function size:0xFC -macStart = .text:0x801042F0; // type:function size:0x438 -macInit = .text:0x80104728; // type:function size:0x68 -vidInit = .text:0x80104790; // type:function size:0xE0 -vidRemoveVoiceReferences = .text:0x80104870; // type:function size:0x350 -vidMakeRoot = .text:0x80104BC0; // type:function size:0x14 -vidMakeNew = .text:0x80104BD4; // type:function size:0x104 -vidGetInternalId = .text:0x80104CD8; // type:function size:0x50 -voiceSetPriority = .text:0x80104D28; // type:function size:0x24C -voiceAllocate = .text:0x80104F74; // type:function size:0x460 -voiceFree = .text:0x801053D4; // type:function size:0x1C4 -synthInitAllocationAids = .text:0x80105598; // type:function size:0x2A0 -voiceBlock = .text:0x80105838; // type:function size:0xFC -voiceUnblock = .text:0x80105934; // type:function size:0x218 -voiceKill = .text:0x80105B4C; // type:function size:0x234 -voiceKillSound = .text:0x80105D80; // type:function size:0xC4 -synthKillVoicesByMacroReferences = .text:0x80105E44; // type:function size:0x15C -voiceIsLastStarted = .text:0x80105FA0; // type:function size:0x74 -voiceSetLastStarted = .text:0x80106014; // type:function size:0x54 -voiceResetLastStarted = .text:0x80106068; // type:function size:0x74 -voiceInitLastStarted = .text:0x801060DC; // type:function size:0x144 -sndPitchUpOne = .text:0x80106220; // type:function size:0x3C -sndGetPitch = .text:0x8010625C; // type:function size:0xE4 -adsrConvertTimeCents = .text:0x80106340; // type:function size:0x58 -salChangeADSRState = .text:0x80106398; // type:function size:0x26C -adsrSetup = .text:0x80106604; // type:function size:0x28 -adsrStartRelease = .text:0x8010662C; // type:function size:0x150 -adsrRelease = .text:0x8010677C; // type:function size:0x168 -adsrHandle = .text:0x801068E4; // type:function size:0x198 -adsrHandleLowPrecision = .text:0x80106A7C; // type:function size:0x84 -vsInit = .text:0x80106B00; // type:function size:0xBC -vsSampleStartNotify = .text:0x80106BBC; // type:function size:0x248 -vsSampleEndNotify = .text:0x80106E04; // type:function size:0xA8 -vsUpdateBuffer = .text:0x80106EAC; // type:function size:0x1F8 -vsSampleUpdates = .text:0x801070A4; // type:function size:0x1E4 -dataInitStack = .text:0x80107288; // type:function size:0xC -InsertData = .text:0x80107294; // type:function size:0x27C scope:local -sndPushGroup = .text:0x80107510; // type:function size:0x32C -sndPopGroup = .text:0x8010783C; // type:function size:0x33C -seqPlaySong = .text:0x80107B78; // type:function size:0x14C -sndSeqPlayEx = .text:0x80107CC4; // type:function size:0x11C -salInitDspCtrl = .text:0x80107DE0; // type:function size:0x3B4 -salInitHRTFBuffer = .text:0x80108194; // type:function size:0x38 -salExitDspCtrl = .text:0x801081CC; // type:function size:0xE0 -salActivateStudio = .text:0x801082AC; // type:function size:0x150 -salDeactivateStudio = .text:0x801083FC; // type:function size:0x20 -salCheckVolErrorAndResetDelta = .text:0x8010841C; // type:function size:0xF4 -sal_setup_dspvol = .text:0x80108510; // type:function size:0x48 scope:local -sal_update_hostplayinfo = .text:0x80108558; // type:function size:0x74 scope:local -DoDepopFade = .text:0x801085CC; // type:function size:0xAC scope:local -HandleDepopVoice = .text:0x80108678; // type:function size:0x2DC scope:local -SortVoices = .text:0x80108954; // type:function size:0x258 scope:local -salBuildCommandList = .text:0x80108BAC; // type:function size:0x21B8 -salSynthSendMessage = .text:0x8010AD64; // type:function size:0x44 -salActivateVoice = .text:0x8010ADA8; // type:function size:0xA0 -salDeactivateVoice = .text:0x8010AE48; // type:function size:0x60 -salReconnectVoice = .text:0x8010AEA8; // type:function size:0xC8 -salAddStudioInput = .text:0x8010AF70; // type:function size:0xA8 -salRemoveStudioInput = .text:0x8010B018; // type:function size:0x84 -salHandleAuxProcessing = .text:0x8010B09C; // type:function size:0x158 -salCalcVolume = .text:0x8010B1F4; // type:function size:0x6F0 -CheckRoomStatus = .text:0x8010B8E4; // type:function size:0x4B4 scope:local -CalcEmitter = .text:0x8010BD98; // type:function size:0x51C scope:local -sndUpdateEmitter = .text:0x8010C2B4; // type:function size:0x130 -sndCheckEmitter = .text:0x8010C3E4; // type:function size:0x20 -AddEmitter = .text:0x8010C404; // type:function size:0x3F8 scope:local -sndAddEmitterParaEx = .text:0x8010C7FC; // type:function size:0x50 -sndRemoveEmitter = .text:0x8010C84C; // type:function size:0xA8 -sndEmitterVoiceID = .text:0x8010C8F4; // type:function size:0x5C -s3dKillEmitterByFXID = .text:0x8010C950; // type:function size:0xFC -sndUpdateListener = .text:0x8010CA4C; // type:function size:0x204 -sndAddListenerEx = .text:0x8010CC50; // type:function size:0x230 -sndRemoveListener = .text:0x8010CE80; // type:function size:0xD0 -AddStartingEmitter = .text:0x8010CF50; // type:function size:0x14C scope:local -StartContinousEmitters = .text:0x8010D09C; // type:function size:0x3B0 scope:local -s3dHandle = .text:0x8010D44C; // type:function size:0x82C -s3dInit = .text:0x8010DC78; // type:function size:0x38 -s3dExit = .text:0x8010DCB0; // type:function size:0x4 -sndInit = .text:0x8010DCB4; // type:function size:0x118 -sndQuit = .text:0x8010DDCC; // type:function size:0x34 -sndIsInstalled = .text:0x8010DE00; // type:function size:0x8 -salApplyMatrix = .text:0x8010DE08; // type:function size:0xAC -salNormalizeVector = .text:0x8010DEB4; // type:function size:0xB4 -salCrossProduct = .text:0x8010DF68; // type:function size:0x64 -salInvertMatrix = .text:0x8010DFCC; // type:function size:0x1FC -inpSetGlobalMIDIDirtyFlag = .text:0x8010E1C8; // type:function size:0x24 -inpSetMidiCtrl = .text:0x8010E1EC; // type:function size:0x608 -inpSetMidiCtrl14 = .text:0x8010E7F4; // type:function size:0x124 -inpResetMidiCtrl = .text:0x8010E918; // type:function size:0xF0 -inpGetMidiCtrl = .text:0x8010EA08; // type:function size:0x2C4 -inpGetChannelDefaults = .text:0x8010ECCC; // type:function size:0x34 -inpResetChannelDefaults = .text:0x8010ED00; // type:function size:0x3C -inpAddCtrl = .text:0x8010ED3C; // type:function size:0x98 -inpFXCopyCtrl = .text:0x8010EDD4; // type:function size:0x114 -inpSetMidiLastNote = .text:0x8010EEE8; // type:function size:0x3C -inpGetMidiLastNote = .text:0x8010EF24; // type:function size:0x3C -_GetInputValue = .text:0x8010EF60; // type:function size:0x4A0 scope:local -inpGetVolume = .text:0x8010F400; // type:function size:0x48 -inpGetPanning = .text:0x8010F448; // type:function size:0x48 -inpGetSurPanning = .text:0x8010F490; // type:function size:0x48 -inpGetPitchBend = .text:0x8010F4D8; // type:function size:0x48 -inpGetDoppler = .text:0x8010F520; // type:function size:0x48 -inpGetModulation = .text:0x8010F568; // type:function size:0x48 -inpGetPedal = .text:0x8010F5B0; // type:function size:0x48 -inpGetPreAuxA = .text:0x8010F5F8; // type:function size:0x48 -inpGetReverb = .text:0x8010F640; // type:function size:0x48 -inpGetPreAuxB = .text:0x8010F688; // type:function size:0x48 -inpGetPostAuxB = .text:0x8010F6D0; // type:function size:0x48 -inpGetTremolo = .text:0x8010F718; // type:function size:0x48 -inpGetAuxA = .text:0x8010F760; // type:function size:0xB4 -inpGetAuxB = .text:0x8010F814; // type:function size:0xB4 -inpInit = .text:0x8010F8C8; // type:function size:0x284 -inpTranslateExCtrl = .text:0x8010FB4C; // type:function size:0x70 -inpGetExCtrl = .text:0x8010FBBC; // type:function size:0xFC -inpSetExCtrl = .text:0x8010FCB8; // type:function size:0x1E4 -sndRand = .text:0x8010FE9C; // type:function size:0x1C -sndSin = .text:0x8010FEB8; // type:function size:0x8C -sndBSearch = .text:0x8010FF44; // type:function size:0xA4 -sndConvertMs = .text:0x8010FFE8; // type:function size:0x10 -sndConvertTicks = .text:0x8010FFF8; // type:function size:0x48 -sndConvert2Ms = .text:0x80110040; // type:function size:0x8 -snd_handle_irq = .text:0x80110048; // type:function size:0x154 scope:local -hwInit = .text:0x8011019C; // type:function size:0xB8 -hwExit = .text:0x80110254; // type:function size:0x34 -hwSetTimeOffset = .text:0x80110288; // type:function size:0x8 -hwGetTimeOffset = .text:0x80110290; // type:function size:0x8 -hwIsActive = .text:0x80110298; // type:function size:0x20 -hwSetMesgCallback = .text:0x801102B8; // type:function size:0x8 -hwSetPriority = .text:0x801102C0; // type:function size:0x14 -hwInitSamplePlayback = .text:0x801102D4; // type:function size:0x1B4 -hwBreak = .text:0x80110488; // type:function size:0x50 -hwSetADSR = .text:0x801104D8; // type:function size:0x1AC -hwSetVirtualSampleLoopBuffer = .text:0x80110684; // type:function size:0x20 -hwGetVirtualSampleState = .text:0x801106A4; // type:function size:0x14 -hwGetSampleType = .text:0x801106B8; // type:function size:0x14 -hwGetSampleID = .text:0x801106CC; // type:function size:0x14 -hwSetStreamLoopPS = .text:0x801106E0; // type:function size:0x14 -hwStart = .text:0x801106F4; // type:function size:0x3C -hwKeyOff = .text:0x80110730; // type:function size:0x28 -hwSetPitch = .text:0x80110758; // type:function size:0x78 -hwSetSRCType = .text:0x801107D0; // type:function size:0x2C -hwSetPolyPhaseFilter = .text:0x801107FC; // type:function size:0x2C -hwSetITDMode = .text:0x80110828; // type:function size:0x5C -hwSetVolume = .text:0x80110884; // type:function size:0x2C0 -hwOff = .text:0x80110B44; // type:function size:0x2C -hwSetAUXProcessingCallbacks = .text:0x80110B70; // type:function size:0x28 -hwActivateStudio = .text:0x80110B98; // type:function size:0x20 -hwDeactivateStudio = .text:0x80110BB8; // type:function size:0x20 -hwAddInput = .text:0x80110BD8; // type:function size:0x34 -hwRemoveInput = .text:0x80110C0C; // type:function size:0x34 -hwChangeStudio = .text:0x80110C40; // type:function size:0x2C -hwGetPos = .text:0x80110C6C; // type:function size:0xA4 -hwFlushStream = .text:0x80110D10; // type:function size:0x90 -hwInitStream = .text:0x80110DA0; // type:function size:0x20 -hwExitStream = .text:0x80110DC0; // type:function size:0x20 -hwGetStreamPlayBuffer = .text:0x80110DE0; // type:function size:0x24 -hwTransAddr = .text:0x80110E04; // type:function size:0x4 -hwFrq2Pitch = .text:0x80110E08; // type:function size:0x5C -hwInitSampleMem = .text:0x80110E64; // type:function size:0x24 -hwExitSampleMem = .text:0x80110E88; // type:function size:0x20 -hwSaveSample = .text:0x80110EA8; // type:function size:0x94 -hwRemoveSample = .text:0x80110F3C; // type:function size:0x84 -hwSyncSampleMem = .text:0x80110FC0; // type:function size:0x20 -hwFrameDone = .text:0x80110FE0; // type:function size:0x4 -sndSetHooks = .text:0x80110FE4; // type:function size:0x14 -hwDisableHRTF = .text:0x80110FF8; // type:function size:0xC -hwGetVirtualSampleID = .text:0x80111004; // type:function size:0x28 -hwVoiceInStartup = .text:0x8011102C; // type:function size:0x20 -aramQueueCallback = .text:0x8011104C; // type:function size:0xA0 -aramUploadData = .text:0x801110EC; // type:function size:0x1DC -aramSyncTransferQueue = .text:0x801112C8; // type:function size:0x18 -aramInit = .text:0x801112E0; // type:function size:0x2EC -aramExit = .text:0x801115CC; // type:function size:0x4 -aramGetZeroBuffer = .text:0x801115D0; // type:function size:0x20 -aramStoreData = .text:0x801115F0; // type:function size:0x3BC -aramRemoveData = .text:0x801119AC; // type:function size:0x18 -InitStreamBuffers = .text:0x801119C4; // type:function size:0xC4 scope:local -aramAllocateStreamBuffer = .text:0x80111A88; // type:function size:0x108 -aramGetStreamBufferAddress = .text:0x80111B90; // type:function size:0x38 -aramFreeStreamBuffer = .text:0x80111BC8; // type:function size:0xF8 -salCallback = .text:0x80111CC0; // type:function size:0xA8 scope:local -dspInitCallback = .text:0x80111D68; // type:function size:0x10 scope:local -dspResumeCallback = .text:0x80111D78; // type:function size:0x64 scope:local -salInitAi = .text:0x80111DDC; // type:function size:0xC8 -salStartAi = .text:0x80111EA4; // type:function size:0x20 -salExitAi = .text:0x80111EC4; // type:function size:0x34 -salAiGetDest = .text:0x80111EF8; // type:function size:0x30 -salInitDsp = .text:0x80111F28; // type:function size:0xBC -salExitDsp = .text:0x80111FE4; // type:function size:0x34 -salCtrlDsp = .text:0x80112018; // type:function size:0x74 -salGetStartDelay = .text:0x8011208C; // type:function size:0x4C -hwInitIrq = .text:0x801120D8; // type:function size:0x2C -hwExitIrq = .text:0x80112104; // type:function size:0x4 -hwEnableIrq = .text:0x80112108; // type:function size:0x38 -hwDisableIrq = .text:0x80112140; // type:function size:0x38 -hwIRQEnterCritical = .text:0x80112178; // type:function size:0x20 -hwIRQLeaveCritical = .text:0x80112198; // type:function size:0x20 -salMalloc = .text:0x801121B8; // type:function size:0x28 -salFree = .text:0x801121E0; // type:function size:0x2C -sndAuxCallbackReverbSTD = .text:0x8011220C; // type:function size:0x5C -sndAuxCallbackPrepareReverbSTD = .text:0x80112268; // type:function size:0x3C -sndAuxCallbackShutdownReverbSTD = .text:0x801122A4; // type:function size:0x24 -ReverbSTDCreate = .text:0x801122C8; // type:function size:0x428 -fn_801126F0 = .text:0x801126F0; // type:function size:0x3B4 scope:local -ReverbSTDCallback = .text:0x80112AA4; // type:function size:0x24 -ReverbSTDFree = .text:0x80112AC8; // type:function size:0xBC -sndAuxCallbackReverbHI = .text:0x80112B84; // type:function size:0x5C -sndAuxCallbackPrepareReverbHI = .text:0x80112BE0; // type:function size:0x40 -sndAuxCallbackShutdownReverbHI = .text:0x80112C20; // type:function size:0x24 -ReverbHICreate = .text:0x80112C44; // type:function size:0x50C -DoCrossTalk = .text:0x80113150; // type:function size:0x190 scope:local -HandleReverb = .text:0x801132E0; // type:function size:0x50C -ReverbHICallback = .text:0x801137EC; // type:function size:0xE0 -ReverbHIFree = .text:0x801138CC; // type:function size:0xBC -sndAuxCallbackDelay = .text:0x80113988; // type:function size:0x168 -sndAuxCallbackUpdateSettingsDelay = .text:0x80113AF0; // type:function size:0x1D0 -sndAuxCallbackPrepareDelay = .text:0x80113CC0; // type:function size:0x28 -sndAuxCallbackShutdownDelay = .text:0x80113CE8; // type:function size:0x4C -do_src1 = .text:0x80113D34; // type:function size:0x198 scope:local -do_src2 = .text:0x80113ECC; // type:function size:0x1EC scope:local -sndAuxCallbackChorus = .text:0x801140B8; // type:function size:0x2BC -sndAuxCallbackPrepareChorus = .text:0x80114374; // type:function size:0x200 -sndAuxCallbackShutdownChorus = .text:0x80114574; // type:function size:0x28 -DBClose = .text:0x8011459C; // type:function size:0x4 scope:global -DBOpen = .text:0x801145A0; // type:function size:0x4 scope:global -DBWrite = .text:0x801145A4; // type:function size:0x260 scope:global -DBRead = .text:0x80114804; // type:function size:0x8C scope:global -DBQueryData = .text:0x80114890; // type:function size:0x9C scope:global -DBInitInterrupts = .text:0x8011492C; // type:function size:0x54 scope:global -DBInitComm = .text:0x80114980; // type:function size:0x78 scope:global -DBGHandler = .text:0x801149F8; // type:function size:0x40 -MWCallback = .text:0x80114A38; // type:function size:0x3C -DBGReadStatus = .text:0x80114A74; // type:function size:0xAC -DBGWrite = .text:0x80114B20; // type:function size:0xDC -DBGRead = .text:0x80114BFC; // type:function size:0xDC -DBGReadMailbox = .text:0x80114CD8; // type:function size:0xAC -DBGEXIImm = .text:0x80114D84; // type:function size:0x298 -EXI2_Init = .text:0x8011501C; // type:function size:0x4 scope:global -EXI2_EnableInterrupts = .text:0x80115020; // type:function size:0x4 scope:global -EXI2_Poll = .text:0x80115024; // type:function size:0x8 scope:global -EXI2_ReadN = .text:0x8011502C; // type:function size:0x8 scope:global -EXI2_WriteN = .text:0x80115034; // type:function size:0x8 scope:global -EXI2_Reserve = .text:0x8011503C; // type:function size:0x4 scope:global -EXI2_Unreserve = .text:0x80115040; // type:function size:0x4 scope:global -AMC_IsStub = .text:0x80115044; // type:function size:0x8 scope:global -Hu_IsStub = .text:0x8011504C; // type:function size:0x8 scope:weak -HuSetVecF = .text:0x80115054; // type:function size:0x10 -HuSubVecF = .text:0x80115064; // type:function size:0x34 -msmSysServer = .text:0x80115098; // type:function size:0x6C scope:local -msmSysSetAuxParam = .text:0x80115104; // type:function size:0x27C scope:local -msmSysLoadBaseGroup = .text:0x80115380; // type:function size:0x15C scope:local -msmSysSearchGroupStack = .text:0x801154DC; // type:function size:0xB4 scope:local -msmSysGroupInit = .text:0x80115590; // type:function size:0x31C scope:local -msmSysIrqDisable = .text:0x801158AC; // type:function size:0x48 -msmSysIrqEnable = .text:0x801158F4; // type:function size:0x48 -msmSysCheckBaseGroup = .text:0x8011593C; // type:function size:0x68 -msmSysGetGroupDataPtr = .text:0x801159A4; // type:function size:0xD8 -msmSysCheckLoadGroupID = .text:0x80115A7C; // type:function size:0xFC -msmSysRegularProc = .text:0x80115B78; // type:function size:0x4 -msmSysGetOutputMode = .text:0x80115B7C; // type:function size:0x14 -msmSysSetOutputMode = .text:0x80115B90; // type:function size:0xD8 -msmSysSetAux = .text:0x80115C68; // type:function size:0x114 -msmSysGetSampSize = .text:0x80115D7C; // type:function size:0x28 -msmSysDelGroupAll = .text:0x80115DA4; // type:function size:0x140 -msmSysDelGroupBase = .text:0x80115EE4; // type:function size:0x28C -msmSysLoadGroupBase = .text:0x80116170; // type:function size:0x298 -msmSysLoadGroupSet = .text:0x80116408; // type:function size:0x3F0 -msmSysLoadGroupSub = .text:0x801167F8; // type:function size:0x3B4 -msmSysLoadGroup = .text:0x80116BAC; // type:function size:0x278 -msmSysCheckInit = .text:0x80116E24; // type:function size:0x20 -msmSysInit = .text:0x80116E44; // type:function size:0x474 -msmMemFree = .text:0x801172B8; // type:function size:0xC8 -msmMemAlloc = .text:0x80117380; // type:function size:0x104 -msmMemInit = .text:0x80117484; // type:function size:0x64 -msmFioClose = .text:0x801174E8; // type:function size:0x30 -msmFioRead = .text:0x80117518; // type:function size:0x34 -msmFioOpen = .text:0x8011754C; // type:function size:0x2C -msmFioInit = .text:0x80117578; // type:function size:0x60 -msmMusPauseSub = .text:0x801175D8; // type:function size:0x154 scope:local -msmMusPauseFade = .text:0x8011772C; // type:function size:0x174 scope:local -msmMusFade = .text:0x801178A0; // type:function size:0x1BC scope:local -msmMusFdoutEnd = .text:0x80117A5C; // type:function size:0x4 -msmMusPeriodicProc = .text:0x80117A60; // type:function size:0x1CC -msmMusGetMidiCtrl = .text:0x80117C2C; // type:function size:0x9C -msmMusGetNumPlay = .text:0x80117CC8; // type:function size:0x38 -msmMusGetStatus = .text:0x80117D00; // type:function size:0x3C -msmMusSetMasterVolume = .text:0x80117D3C; // type:function size:0x30 -msmMusSetParam = .text:0x80117D6C; // type:function size:0x16C -msmMusPauseAll = .text:0x80117ED8; // type:function size:0x88 -msmMusPause = .text:0x80117F60; // type:function size:0x74 -msmMusStopAll = .text:0x80117FD4; // type:function size:0x134 -msmMusStop = .text:0x80118108; // type:function size:0xCC -msmMusPlay = .text:0x801181D4; // type:function size:0x328 -msmMusInit = .text:0x801184FC; // type:function size:0x174 -msmSeFade = .text:0x80118670; // type:function size:0x250 scope:local -msmSePauseSub = .text:0x801188C0; // type:function size:0x184 scope:local -msmSePeriodicProc = .text:0x80118A44; // type:function size:0x270 -msmSeGetIndexPtr = .text:0x80118CB4; // type:function size:0x30 -msmSeDelListener = .text:0x80118CE4; // type:function size:0x4C -msmSeUpdataListener = .text:0x80118D30; // type:function size:0xD8 -msmSeSetListener = .text:0x80118E08; // type:function size:0x13C -msmSeGetEntryID = .text:0x80118F44; // type:function size:0x74 -msmSeGetNumPlay = .text:0x80118FB8; // type:function size:0x38 -msmSeGetStatus = .text:0x80118FF0; // type:function size:0x60 -msmSeSetMasterVolume = .text:0x80119050; // type:function size:0x30 -msmSeSetParam = .text:0x80119080; // type:function size:0x320 -msmSePauseAll = .text:0x801193A0; // type:function size:0x80 -msmSeStopAll = .text:0x80119420; // type:function size:0x168 -msmSeStop = .text:0x80119588; // type:function size:0xFC -msmSePlay = .text:0x80119684; // type:function size:0x480 -msmSeInit = .text:0x80119B04; // type:function size:0x130 -msmStreamGetStatus = .text:0x80119C34; // type:function size:0xC8 -msmStreamSetMasterVolume = .text:0x80119CFC; // type:function size:0x118 -msmStreamStopAll = .text:0x80119E14; // type:function size:0xE0 -msmStreamStop = .text:0x80119EF4; // type:function size:0x204 -msmStreamPlay = .text:0x8011A0F8; // type:function size:0x88 -msmStreamPeriodicProc = .text:0x8011A180; // type:function size:0x8C -msmStreamSetOutputMode = .text:0x8011A20C; // type:function size:0x114 -msmStreamAmemFree = .text:0x8011A320; // type:function size:0x68 -msmStreamAmemAlloc = .text:0x8011A388; // type:function size:0x10C -msmStreamInit = .text:0x8011A494; // type:function size:0x2A8 -msmStreamPauseOff = .text:0x8011A73C; // type:function size:0x2B8 -msmStreamPauseOn = .text:0x8011A9F4; // type:function size:0x1AC -msmStreamPauseFade = .text:0x8011ABA0; // type:function size:0x2E8 -msmStreamFade = .text:0x8011AE88; // type:function size:0x33C -msmStreamStopSub = .text:0x8011B1C4; // type:function size:0x13C scope:local -msmStreamSetParamSub = .text:0x8011B300; // type:function size:0xE0 scope:local -msmStreamPackStartStereo = .text:0x8011B3E0; // type:function size:0x448 -msmStreamPackStartMono = .text:0x8011B828; // type:function size:0x2DC -msmStreamSlotOff = .text:0x8011BB04; // type:function size:0xD0 -msmStreamData = .text:0x8011BBD4; // type:function size:0x320 scope:local -msmStreamDvdCallback = .text:0x8011BEF4; // type:function size:0x4A8 scope:local -msmStreamDvdCallback2 = .text:0x8011C39C; // type:function size:0x188 scope:local -msmStreamUpdateFunc = .text:0x8011C524; // type:function size:0x17C scope:local -msmStreamSlotInit = .text:0x8011C6A0; // type:function size:0x214 scope:local -_kerent = .text:0x8011C8B4; // type:function size:0xFE4 -_ctors = .ctors:0x8011D8A0; // type:label scope:global data:4byte -__init_cpp_exceptions_reference = .ctors:0x8011D8A0; // type:object size:0x4 scope:global -_dtors = .dtors:0x8011D8C0; // type:label scope:global data:4byte -__destroy_global_chain_reference = .dtors:0x8011D8C0; // type:object size:0x4 scope:global -__fini_cpp_exceptions_reference = .dtors:0x8011D8C4; // type:object size:0x4 scope:global -lbl_8011D8E0 = .rodata:0x8011D8E0; // type:object size:0x10 scope:local data:4byte -lbl_8011D8F0 = .rodata:0x8011D8F0; // type:object size:0x10 scope:local data:4byte -lbl_8011D900 = .rodata:0x8011D900; // type:object size:0x10 scope:local data:4byte -lbl_8011D910 = .rodata:0x8011D910; // type:object size:0x20 scope:local data:byte -lbl_8011D930 = .rodata:0x8011D930; // type:object size:0x10 data:4byte -lbl_8011D940 = .rodata:0x8011D940; // type:object size:0x24 scope:local data:4byte -lbl_8011D964 = .rodata:0x8011D964; // type:object size:0xC scope:local data:4byte -lbl_8011D970 = .rodata:0x8011D970; // type:object size:0x20 scope:local data:4byte -lbl_8011D990 = .rodata:0x8011D990; // type:object size:0x7C scope:local data:4byte -lbl_8011DA0C = .rodata:0x8011DA0C; // type:object size:0x24 scope:local data:4byte -lbl_8011DA30 = .rodata:0x8011DA30; // type:object size:0x10 scope:local data:4byte -lbl_8011DA40 = .rodata:0x8011DA40; // type:object size:0x38 data:4byte -lbl_8011DA78 = .rodata:0x8011DA78; // type:object size:0x38 data:4byte -lbl_8011DAB0 = .rodata:0x8011DAB0; // type:object size:0x20 data:4byte -lbl_8011DAD0 = .rodata:0x8011DAD0; // type:object size:0x10 data:4byte -lbl_8011DAE0 = .rodata:0x8011DAE0; // type:object size:0x90 data:4byte -lbl_8011DB70 = .rodata:0x8011DB70; // type:object size:0x20 data:4byte -lbl_8011DB90 = .rodata:0x8011DB90; // type:object size:0x20 data:4byte -lbl_8011DBB0 = .rodata:0x8011DBB0; // type:object size:0x20 -lbl_8011DBD0 = .rodata:0x8011DBD0; // type:object size:0x20 -lbl_8011DBF0 = .rodata:0x8011DBF0; // type:object size:0x10 -lbl_8011DC00 = .rodata:0x8011DC00; // type:object size:0x20 data:4byte -lbl_8011DC20 = .rodata:0x8011DC20; // type:object size:0x24 -lbl_8011DC44 = .rodata:0x8011DC44; // type:object size:0x4C -lbl_8011DC90 = .rodata:0x8011DC90; // type:object size:0x68 data:4byte -lbl_8011DCF8 = .rodata:0x8011DCF8; // type:object size:0x38 data:4byte -lbl_8011DD30 = .rodata:0x8011DD30; // type:object size:0x3C data:4byte -lbl_8011DD6C = .rodata:0x8011DD6C; // type:object size:0x14 data:2byte -lbl_8011DD80 = .rodata:0x8011DD80; // type:object size:0x20 data:4byte -lbl_8011DDA0 = .rodata:0x8011DDA0; // type:object size:0x20 data:4byte -lbl_8011DDC0 = .rodata:0x8011DDC0; // type:object size:0x20 data:4byte -lbl_8011DDE0 = .rodata:0x8011DDE0; // type:object size:0x20 data:4byte -lbl_8011DE00 = .rodata:0x8011DE00; // type:object size:0xC data:4byte -lbl_8011DE0C = .rodata:0x8011DE0C; // type:object size:0xC data:4byte -lbl_8011DE18 = .rodata:0x8011DE18; // type:object size:0xC data:4byte -lbl_8011DE24 = .rodata:0x8011DE24; // type:object size:0xC data:4byte -lbl_8011DE30 = .rodata:0x8011DE30; // type:object size:0x18 -lbl_8011DE48 = .rodata:0x8011DE48; // type:object size:0x70 data:4byte -lbl_8011DEB8 = .rodata:0x8011DEB8; // type:object size:0xC data:byte -lbl_8011DEC4 = .rodata:0x8011DEC4; // type:object size:0x1C -lbl_8011DEE0 = .rodata:0x8011DEE0; // type:object size:0x24 data:4byte -lbl_8011DF04 = .rodata:0x8011DF04; // type:object size:0x20 data:4byte -lbl_8011DF24 = .rodata:0x8011DF24; // type:object size:0x2C data:4byte -lbl_8011DF50 = .rodata:0x8011DF50; // type:object size:0x10 data:4byte -lbl_8011DF60 = .rodata:0x8011DF60; // type:object size:0x28 data:4byte -lbl_8011DF88 = .rodata:0x8011DF88; // type:object size:0x28 data:4byte -lbl_8011DFB0 = .rodata:0x8011DFB0; // type:object size:0x20 data:4byte -lbl_8011DFD0 = .rodata:0x8011DFD0; // type:object size:0x20 data:4byte -lbl_8011DFF0 = .rodata:0x8011DFF0; // type:object size:0x20 data:4byte -lbl_8011E010 = .rodata:0x8011E010; // type:object size:0x10 data:4byte -lbl_8011E020 = .rodata:0x8011E020; // type:object size:0x90 data:byte -lbl_8011E0B0 = .rodata:0x8011E0B0; // type:object size:0x10 -lbl_8011E0C0 = .rodata:0x8011E0C0; // type:object size:0x10 -lbl_8011E0D0 = .rodata:0x8011E0D0; // type:object size:0x18 data:double -lbl_8011E0E8 = .rodata:0x8011E0E8; // type:object size:0x54 -lbl_8011E13C = .rodata:0x8011E13C; // type:object size:0x14 -lbl_8011E150 = .rodata:0x8011E150; // type:object size:0x10 -lbl_8011E160 = .rodata:0x8011E160; // type:object size:0x20 -lbl_8011E180 = .rodata:0x8011E180; // type:object size:0x38 -lbl_8011E1B8 = .rodata:0x8011E1B8; // type:object size:0x40 -lbl_8011E1F8 = .rodata:0x8011E1F8; // type:object size:0x18 data:4byte -lbl_8011E210 = .rodata:0x8011E210; // type:object size:0xE0 -@stringBase0 = .rodata:0x8011E2F0; // type:object size:0x25 scope:local data:string_table -lbl_8011E318 = .rodata:0x8011E318; // type:object size:0x10 -lbl_8011E328 = .rodata:0x8011E328; // type:object size:0x30 data:double -lbl_8011E358 = .rodata:0x8011E358; // type:object size:0x108 -lbl_8011E460 = .rodata:0x8011E460; // type:object size:0x80 -lbl_8011E4E0 = .rodata:0x8011E4E0; // type:object size:0x10 -lbl_8011E4F0 = .rodata:0x8011E4F0; // type:object size:0x40 data:double -lbl_8011E530 = .rodata:0x8011E530; // type:object size:0x68 data:double -lbl_8011E598 = .rodata:0x8011E598; // type:object size:0x98 -@62 = .rodata:0x8011E630; // type:object size:0x1B scope:local data:string -lbl_8011E650 = .rodata:0x8011E650; // type:object size:0x20 -lbl_8011E670 = .rodata:0x8011E670; // type:object size:0x10 data:4byte -lbl_8011E680 = .rodata:0x8011E680; // type:object size:0x28 data:4byte -lbl_8011E6A8 = .rodata:0x8011E6A8; // type:object size:0x28 data:4byte -lbl_8011E6D0 = .rodata:0x8011E6D0; // type:object size:0x28 data:4byte -@154 = .rodata:0x8011E6F8; // type:object size:0x21 scope:local data:string -@155 = .rodata:0x8011E71C; // type:object size:0x24 scope:local data:string -lbl_8011E740 = .rodata:0x8011E740; // type:object size:0x40 -lbl_8011E780 = .rodata:0x8011E780; // type:object size:0x18 -lbl_8011E798 = .rodata:0x8011E798; // type:object size:0x88 -lbl_8011E820 = .rodata:0x8011E820; // type:object size:0x88 data:byte -lbl_8011E8A8 = .rodata:0x8011E8A8; // type:object size:0x100 -lbl_8011E9C0 = .data:0x8011E9C0; // type:object size:0x10 scope:local data:string -chanTbl = .data:0x8011E9D0; // type:object size:0x10 scope:local -correctDiskID = .data:0x8011E9E0; // type:object size:0x124 scope:local -jumptable_8011EB04 = .data:0x8011EB04; // type:object size:0x34 scope:local -lbl_8011EB38 = .data:0x8011EB38; // type:object size:0x11 scope:local data:string -lbl_8011EB49 = .data:0x8011EB49; // type:object size:0x11 scope:local data:string -lbl_8011EB5A = .data:0x8011EB5A; // type:object size:0x10 scope:local data:string -lbl_8011EB6A = .data:0x8011EB6A; // type:object size:0x10 scope:local data:string -lbl_8011EB7A = .data:0x8011EB7A; // type:object size:0x14 scope:local data:string -lbl_8011EB8E = .data:0x8011EB8E; // type:object size:0x11 scope:local data:string -lbl_8011EB9F = .data:0x8011EB9F; // type:object size:0x10 scope:local data:string -lbl_8011EBAF = .data:0x8011EBAF; // type:object size:0xF scope:local data:string -lbl_8011EBBE = .data:0x8011EBBE; // type:object size:0x10 scope:local data:string -lbl_8011EBCE = .data:0x8011EBCE; // type:object size:0x13 scope:local data:string -lbl_8011EBE1 = .data:0x8011EBE1; // type:object size:0xF scope:local data:string -lbl_8011EBF0 = .data:0x8011EBF0; // type:object size:0x13 scope:local data:string -lbl_8011EC03 = .data:0x8011EC03; // type:object size:0x13 scope:local data:string -lbl_8011EC16 = .data:0x8011EC16; // type:object size:0x12 scope:local data:string -lbl_8011EC28 = .data:0x8011EC28; // type:object size:0x10 scope:local data:string -lbl_8011EC38 = .data:0x8011EC38; // type:object size:0x14 scope:local data:string -lbl_8011EC4C = .data:0x8011EC4C; // type:object size:0x14 scope:local data:string -lbl_8011EC60 = .data:0x8011EC60; // type:object size:0x13 scope:local data:string -lbl_8011EC73 = .data:0x8011EC73; // type:object size:0x10 scope:local data:string -lbl_8011EC83 = .data:0x8011EC83; // type:object size:0x11 scope:local data:string -lbl_8011EC94 = .data:0x8011EC94; // type:object size:0xE scope:local data:string -lbl_8011ECA2 = .data:0x8011ECA2; // type:object size:0x12 scope:local data:string -lbl_8011ECB4 = .data:0x8011ECB4; // type:object size:0x11 scope:local data:string -lbl_8011ECC5 = .data:0x8011ECC5; // type:object size:0xF scope:local data:string -lbl_8011ECD4 = .data:0x8011ECD4; // type:object size:0x13 scope:local data:string -lbl_8011ECE7 = .data:0x8011ECE7; // type:object size:0x13 scope:local data:string -lbl_8011ECFA = .data:0x8011ECFA; // type:object size:0x12 scope:local data:string -lbl_8011ED0C = .data:0x8011ED0C; // type:object size:0xE scope:local data:string -lbl_8011ED1A = .data:0x8011ED1A; // type:object size:0xE scope:local data:string -lbl_8011ED28 = .data:0x8011ED28; // type:object size:0xE scope:local data:string -lbl_8011ED36 = .data:0x8011ED36; // type:object size:0xE scope:local data:string -lbl_8011ED44 = .data:0x8011ED44; // type:object size:0xE scope:local data:string -lbl_8011ED52 = .data:0x8011ED52; // type:object size:0xE scope:local data:string -lbl_8011ED60 = .data:0x8011ED60; // type:object size:0xE scope:local data:string -lbl_8011ED6E = .data:0x8011ED6E; // type:object size:0xE scope:local data:string -lbl_8011ED7C = .data:0x8011ED7C; // type:object size:0xE scope:local data:string -lbl_8011ED8A = .data:0x8011ED8A; // type:object size:0xE scope:local data:string -lbl_8011ED98 = .data:0x8011ED98; // type:object size:0xE scope:local data:string -lbl_8011EDA6 = .data:0x8011EDA6; // type:object size:0xE scope:local data:string -lbl_8011EDB4 = .data:0x8011EDB4; // type:object size:0xE scope:local data:string -lbl_8011EDC2 = .data:0x8011EDC2; // type:object size:0xE scope:local data:string -lbl_8011EDD0 = .data:0x8011EDD0; // type:object size:0xE scope:local data:string -lbl_8011EDDE = .data:0x8011EDDE; // type:object size:0xE scope:local data:string -lbl_8011EDEC = .data:0x8011EDEC; // type:object size:0xE scope:local data:string -lbl_8011EDFA = .data:0x8011EDFA; // type:object size:0xE scope:local data:string -lbl_8011EE08 = .data:0x8011EE08; // type:object size:0xE scope:local data:string -lbl_8011EE16 = .data:0x8011EE16; // type:object size:0xE scope:local data:string -lbl_8011EE24 = .data:0x8011EE24; // type:object size:0xE scope:local data:string -lbl_8011EE32 = .data:0x8011EE32; // type:object size:0xE scope:local data:string -lbl_8011EE40 = .data:0x8011EE40; // type:object size:0xE scope:local data:string -lbl_8011EE4E = .data:0x8011EE4E; // type:object size:0xE scope:local data:string -lbl_8011EE5C = .data:0x8011EE5C; // type:object size:0xE scope:local data:string -lbl_8011EE6A = .data:0x8011EE6A; // type:object size:0xE scope:local data:string -lbl_8011EE78 = .data:0x8011EE78; // type:object size:0xE scope:local data:string -lbl_8011EE86 = .data:0x8011EE86; // type:object size:0xE scope:local data:string -lbl_8011EE94 = .data:0x8011EE94; // type:object size:0xE scope:local data:string -lbl_8011EEA2 = .data:0x8011EEA2; // type:object size:0xE scope:local data:string -lbl_8011EEB0 = .data:0x8011EEB0; // type:object size:0xE scope:local data:string -lbl_8011EEBE = .data:0x8011EEBE; // type:object size:0xE scope:local data:string -lbl_8011EECC = .data:0x8011EECC; // type:object size:0xE scope:local data:string -lbl_8011EEDA = .data:0x8011EEDA; // type:object size:0xE scope:local data:string -lbl_8011EEE8 = .data:0x8011EEE8; // type:object size:0xE scope:local data:string -lbl_8011EEF6 = .data:0x8011EEF6; // type:object size:0xE scope:local data:string -lbl_8011EF04 = .data:0x8011EF04; // type:object size:0xE scope:local data:string -lbl_8011EF12 = .data:0x8011EF12; // type:object size:0xE scope:local data:string -lbl_8011EF20 = .data:0x8011EF20; // type:object size:0xE scope:local data:string -lbl_8011EF2E = .data:0x8011EF2E; // type:object size:0xE scope:local data:string -lbl_8011EF3C = .data:0x8011EF3C; // type:object size:0xE scope:local data:string -lbl_8011EF4A = .data:0x8011EF4A; // type:object size:0xE scope:local data:string -lbl_8011EF58 = .data:0x8011EF58; // type:object size:0xE scope:local data:string -lbl_8011EF66 = .data:0x8011EF66; // type:object size:0xE scope:local data:string -lbl_8011EF74 = .data:0x8011EF74; // type:object size:0xE scope:local data:string -lbl_8011EF82 = .data:0x8011EF82; // type:object size:0xE scope:local data:string -lbl_8011EF90 = .data:0x8011EF90; // type:object size:0xE scope:local data:string -lbl_8011EF9E = .data:0x8011EF9E; // type:object size:0xE scope:local data:string -lbl_8011EFAC = .data:0x8011EFAC; // type:object size:0xE scope:local data:string -lbl_8011EFBA = .data:0x8011EFBA; // type:object size:0xE scope:local data:string -lbl_8011EFC8 = .data:0x8011EFC8; // type:object size:0xE scope:local data:string -lbl_8011EFD6 = .data:0x8011EFD6; // type:object size:0xE scope:local data:string -lbl_8011EFE4 = .data:0x8011EFE4; // type:object size:0xE scope:local data:string -lbl_8011EFF2 = .data:0x8011EFF2; // type:object size:0xE scope:local data:string -lbl_8011F000 = .data:0x8011F000; // type:object size:0xE scope:local data:string -lbl_8011F00E = .data:0x8011F00E; // type:object size:0xE scope:local data:string -lbl_8011F01C = .data:0x8011F01C; // type:object size:0xE scope:local data:string -lbl_8011F02A = .data:0x8011F02A; // type:object size:0xE scope:local data:string -lbl_8011F038 = .data:0x8011F038; // type:object size:0xE scope:local data:string -lbl_8011F046 = .data:0x8011F046; // type:object size:0xE scope:local data:string -lbl_8011F054 = .data:0x8011F054; // type:object size:0xE scope:local data:string -lbl_8011F062 = .data:0x8011F062; // type:object size:0xE scope:local data:string -lbl_8011F070 = .data:0x8011F070; // type:object size:0xE scope:local data:string -lbl_8011F07E = .data:0x8011F07E; // type:object size:0xE scope:local data:string -lbl_8011F08C = .data:0x8011F08C; // type:object size:0xE scope:local data:string -lbl_8011F09A = .data:0x8011F09A; // type:object size:0xF scope:local data:string -lbl_8011F0A9 = .data:0x8011F0A9; // type:object size:0x13 scope:local data:string -lbl_8011F0BC = .data:0x8011F0BC; // type:object size:0x13 scope:local data:string -lbl_8011F0CF = .data:0x8011F0CF; // type:object size:0x12 scope:local data:string -lbl_8011F0E1 = .data:0x8011F0E1; // type:object size:0xE scope:local data:string -lbl_8011F0EF = .data:0x8011F0EF; // type:object size:0x11 scope:local data:string -lbl_8011F100 = .data:0x8011F100; // type:object size:0x10 scope:local data:string -lbl_8011F110 = .data:0x8011F110; // type:object size:0x11 scope:local data:string -lbl_8011F121 = .data:0x8011F121; // type:object size:0xE scope:local data:string -lbl_8011F12F = .data:0x8011F12F; // type:object size:0x10 scope:local data:string -lbl_8011F13F = .data:0x8011F13F; // type:object size:0x11 scope:local data:string -lbl_8011F150 = .data:0x8011F150; // type:object size:0x11 scope:local data:string -lbl_8011F161 = .data:0x8011F161; // type:object size:0x11 scope:local data:string -lbl_8011F172 = .data:0x8011F172; // type:object size:0x10 scope:local data:string -lbl_8011F182 = .data:0x8011F182; // type:object size:0xF scope:local data:string -lbl_8011F191 = .data:0x8011F191; // type:object size:0x13 scope:local data:string -lbl_8011F1A4 = .data:0x8011F1A4; // type:object size:0x13 scope:local data:string -lbl_8011F1B7 = .data:0x8011F1B7; // type:object size:0x12 scope:local data:string -lbl_8011F1C9 = .data:0x8011F1C9; // type:object size:0x11 scope:local data:string -lbl_8011F1DA = .data:0x8011F1DA; // type:object size:0x10 scope:local data:string -lbl_8011F1EA = .data:0x8011F1EA; // type:object size:0xD scope:local data:string -lbl_8011F1F7 = .data:0x8011F1F7; // type:object size:0x11 scope:local data:string -lbl_8011F208 = .data:0x8011F208; // type:object size:0xF scope:local data:string -lbl_8011F217 = .data:0x8011F217; // type:object size:0xF scope:local data:string -lbl_8011F226 = .data:0x8011F226; // type:object size:0xF scope:local data:string -lbl_8011F235 = .data:0x8011F235; // type:object size:0xD scope:local data:string -lbl_8011F242 = .data:0x8011F242; // type:object size:0xD scope:local data:string -lbl_8011F24F = .data:0x8011F24F; // type:object size:0xD scope:local data:string -lbl_8011F25C = .data:0x8011F25C; // type:object size:0xD scope:local data:string -lbl_8011F269 = .data:0x8011F269; // type:object size:0xD scope:local data:string -lbl_8011F276 = .data:0x8011F276; // type:object size:0xD scope:local data:string -lbl_8011F283 = .data:0x8011F283; // type:object size:0xD scope:local data:string -lbl_8011F290 = .data:0x8011F290; // type:object size:0xD scope:local data:string -lbl_8011F29D = .data:0x8011F29D; // type:object size:0xD scope:local data:string -lbl_8011F2AA = .data:0x8011F2AA; // type:object size:0x11 scope:local data:string -lbl_8011F2BB = .data:0x8011F2BB; // type:object size:0x15 scope:local data:string -lbl_8011F2D0 = .data:0x8011F2D0; // type:object size:0x15 scope:local data:string -lbl_8011F2E5 = .data:0x8011F2E5; // type:object size:0x14 scope:local data:string -lbl_8011F2F9 = .data:0x8011F2F9; // type:object size:0xF scope:local data:string -lbl_8011F308 = .data:0x8011F308; // type:object size:0x13 scope:local data:string -lbl_8011F31B = .data:0x8011F31B; // type:object size:0x13 scope:local data:string -lbl_8011F32E = .data:0x8011F32E; // type:object size:0x12 scope:local data:string -lbl_8011F340 = .data:0x8011F340; // type:object size:0xD scope:local data:string -lbl_8011F34D = .data:0x8011F34D; // type:object size:0xF scope:local data:string -lbl_8011F35C = .data:0x8011F35C; // type:object size:0x13 scope:local data:string -lbl_8011F36F = .data:0x8011F36F; // type:object size:0x13 scope:local data:string -lbl_8011F382 = .data:0x8011F382; // type:object size:0x12 scope:local data:string -lbl_8011F394 = .data:0x8011F394; // type:object size:0x10 scope:local -DataDirStat = .data:0x8011F3A4; // type:object size:0x468 scope:local data:4byte -lbl_8011F80C = .data:0x8011F80C; // type:object size:0x1D scope:local data:string -lbl_8011F829 = .data:0x8011F829; // type:object size:0x1F scope:local data:string -lbl_8011F848 = .data:0x8011F848; // type:object size:0x3C scope:local -lbl_8011F884 = .data:0x8011F884; // type:object size:0x1A data:string -lbl_8011F89E = .data:0x8011F89E; // type:object size:0x122 -lbl_8011F9C0 = .data:0x8011F9C0; // type:object size:0x20 scope:local -ank8x8_4b = .data:0x8011F9E0; // type:object size:0x2000 align:32 -lbl_801219E0 = .data:0x801219E0; // type:object size:0x150 scope:local -HeapSizeTbl = .data:0x80121B30; // type:object size:0x78 scope:local -lbl_80121BA8 = .data:0x80121BA8; // type:object size:0x50 scope:local -lbl_80121BF8 = .data:0x80121BF8; // type:object size:0x128 scope:local -fcoltbl = .data:0x80121D20; // type:object size:0x40 scope:local align:32 -lbl_80121D60 = .data:0x80121D60; // type:object size:0x1F scope:local data:string -lbl_80121D7F = .data:0x80121D7F; // type:object size:0x31 scope:local -lbl_80121DB0 = .data:0x80121DB0; // type:object size:0x12 scope:local -lbl_80121DC2 = .data:0x80121DC2; // type:object size:0x10E scope:local -jumptable_80121ED0 = .data:0x80121ED0; // type:object size:0x2C scope:local -jumptable_80121F00 = .data:0x80121F00; // type:object size:0x28 scope:local -jumptable_80121F28 = .data:0x80121F28; // type:object size:0x2C scope:local -lbl_80121F54 = .data:0x80121F54; // type:object size:0x1C scope:local -texMtxTbl = .data:0x80121F70; // type:object size:0xC data:byte -jumptable_80121F7C = .data:0x80121F7C; // type:object size:0x28 scope:local -lbl_80121FA4 = .data:0x80121FA4; // type:object size:0x18 scope:local data:string -jumptable_80121FBC = .data:0x80121FBC; // type:object size:0x28 scope:local -jumptable_80121FE4 = .data:0x80121FE4; // type:object size:0x28 scope:local -refMtx = .data:0x8012200C; // type:object size:0x30 scope:local -kColorSelTbl = .data:0x8012203C; // type:object size:0x30 scope:local -kColorTbl = .data:0x8012206C; // type:object size:0x10 scope:local -kColorSelTbl2 = .data:0x8012207C; // type:object size:0x10 scope:local -kColorSelATbl = .data:0x8012208C; // type:object size:0x10 scope:local -lbl_8012209C = .data:0x8012209C; // type:object size:0x14 scope:local -jumptable_801220B0 = .data:0x801220B0; // type:object size:0x30 scope:local -jumptable_801220E0 = .data:0x801220E0; // type:object size:0x28 scope:local -jumptable_80122108 = .data:0x80122108; // type:object size:0x28 scope:local -lbl_80122130 = .data:0x80122130; // type:object size:0x19 scope:local data:string -lbl_80122149 = .data:0x80122149; // type:object size:0xA scope:local data:string -lbl_80122153 = .data:0x80122153; // type:object size:0x2D scope:local -refMapData0 = .data:0x80122180; // type:object size:0x1240 align:32 noreloc -refMapData1 = .data:0x801233C0; // type:object size:0x1100 align:32 noreloc -refMapData2 = .data:0x801244C0; // type:object size:0x2080 align:32 noreloc -refMapData3 = .data:0x80126540; // type:object size:0x2080 align:32 noreloc -refMapData4 = .data:0x801285C0; // type:object size:0x2080 align:32 noreloc -toonMapData = .data:0x8012A640; // type:object size:0x880 align:32 noreloc -toonMapData2 = .data:0x8012AEC0; // type:object size:0x1080 align:32 noreloc -hiliteData = .data:0x8012BF40; // type:object size:0x480 align:32 noreloc -hiliteData2 = .data:0x8012C3C0; // type:object size:0x480 align:32 noreloc -hiliteData3 = .data:0x8012C840; // type:object size:0x480 align:32 noreloc -hiliteData4 = .data:0x8012CCC0; // type:object size:0x480 align:32 noreloc -lbl_8012D140 = .data:0x8012D140; // type:object size:0x1B scope:local data:string -lbl_8012D15B = .data:0x8012D15B; // type:object size:0x16 scope:local data:string -lbl_8012D171 = .data:0x8012D171; // type:object size:0x21 scope:local data:string -lbl_8012D192 = .data:0x8012D192; // type:object size:0x26 scope:local -defCamera = .data:0x8012D1B8; // type:object size:0x58 data:4byte -lbl_8012D210 = .data:0x8012D210; // type:object size:0x28 scope:local -lbl_8012D238 = .data:0x8012D238; // type:object size:0x1C scope:local data:string -lbl_8012D254 = .data:0x8012D254; // type:object size:0x1C scope:local -jumptable_8012D270 = .data:0x8012D270; // type:object size:0x2C scope:local -jumptable_8012D29C = .data:0x8012D29C; // type:object size:0x68 scope:local -jumptable_8012D304 = .data:0x8012D304; // type:object size:0xF0 scope:local -jumptable_8012D3F4 = .data:0x8012D3F4; // type:object size:0x20 scope:local -lbl_8012D418 = .data:0x8012D418; // type:object size:0x15 scope:local data:string -lbl_8012D42D = .data:0x8012D42D; // type:object size:0x1F scope:local data:string -lbl_8012D44C = .data:0x8012D44C; // type:object size:0x18 scope:local -basePos = .data:0x8012D464; // type:object size:0x30 scope:local -baseST = .data:0x8012D494; // type:object size:0x20 scope:local -jitterTbl = .data:0x8012D4B4; // type:object size:0x24 scope:local -jumptable_8012D4D8 = .data:0x8012D4D8; // type:object size:0x1C scope:local -lbl_8012D4F8 = .data:0x8012D4F8; // type:object size:0xCA scope:local -lbl_8012D5C2 = .data:0x8012D5C2; // type:object size:0x1C scope:local data:string -lbl_8012D5DE = .data:0x8012D5DE; // type:object size:0x1C scope:local data:string -lbl_8012D5FA = .data:0x8012D5FA; // type:object size:0x1D scope:local data:string -lbl_8012D617 = .data:0x8012D617; // type:object size:0x18 scope:local data:string -lbl_8012D62F = .data:0x8012D62F; // type:object size:0xC scope:local data:string -lbl_8012D63B = .data:0x8012D63B; // type:object size:0x45 scope:local -lbl_8012D680 = .data:0x8012D680; // type:object size:0x45 scope:local -lbl_8012D6C5 = .data:0x8012D6C5; // type:object size:0x19 scope:local data:string -lbl_8012D6DE = .data:0x8012D6DE; // type:object size:0x17 scope:local data:string -lbl_8012D6F5 = .data:0x8012D6F5; // type:object size:0x1B3 scope:local -XFB_Colors = .data:0x8012D8A8; // type:object size:0xF scope:local data:byte -Ascii8x8_1bpp = .data:0x8012D8B7; // type:object size:0x800 scope:local align:1 -lbl_8012E0B7 = .data:0x8012E0B7; // type:object size:0x19 scope:local -lbl_8012E0D0 = .data:0x8012E0D0; // type:object size:0x21A scope:local -lbl_8012E2EA = .data:0x8012E2EA; // type:object size:0xB scope:local data:string -lbl_8012E2F5 = .data:0x8012E2F5; // type:object size:0x273 scope:local -lbl_8012E568 = .data:0x8012E568; // type:object size:0x12 scope:local data:string -lbl_8012E57A = .data:0x8012E57A; // type:object size:0xD6 scope:local -sndGrpTable = .data:0x8012E650; // type:object size:0x5B0 -lbl_8012EC00 = .data:0x8012EC00; // type:object size:0x94 scope:local -lbl_8012EC94 = .data:0x8012EC94; // type:object size:0x11 scope:local data:string -lbl_8012ECA5 = .data:0x8012ECA5; // type:object size:0x3A scope:local -lbl_8012ECDF = .data:0x8012ECDF; // type:object size:0x31 scope:local -seqInfoTbl = .data:0x8012ED10; // type:object size:0x1DC scope:local -seqType2SprTbl = .data:0x8012EEEC; // type:object size:0x18 scope:local -mgSeqTypeTbl = .data:0x8012EF04; // type:object size:0x12 scope:local data:2byte -lbl_8012F336 = .data:0x8012EF16; // type:object size:0x53 scope:local data:string -lbl_8012F389 = .data:0x8012EF69; // type:object size:0x9 scope:local data:string -lbl_8012F392 = .data:0x8012EF72; // type:object size:0x9 scope:local data:string -seqFontAlphaTbl = .data:0x8012EF7B; // type:object size:0x35 scope:local data:string -seqFontKanaTbl = .data:0x8012EFB0; // type:object size:0x52 scope:local data:string -seqFontNumTbl = .data:0x8012F002; // type:object size:0xB scope:local data:string -letterBufTbl = .data:0x8012F010; // type:object size:0x14 scope:local -wordMgTbl = .data:0x8012F024; // type:object size:0x18 scope:local -letterOfs$1005 = .data:0x8012F03C; // type:object size:0x40 scope:local data:float -letterOfs$1482 = .data:0x8012F07C; // type:object size:0x1C scope:local data:2byte -letterOfs$1856 = .data:0x8012F098; // type:object size:0x38 scope:local data:float -@1986 = .data:0x8012F0D0; // type:object size:0x9 scope:local data:string -@1988 = .data:0x8012F0D9; // type:object size:0xB scope:local data:string -winCharNameTbl = .data:0x8012F0E4; // type:object size:0x78 scope:local data:string_table -@1996 = .data:0x8012F15C; // type:object size:0xA scope:local data:string -winWordTbl = .data:0x8012F168; // type:object size:0x18 scope:local -winPosOfs = .data:0x8012F180; // type:object size:0x50 scope:local -practiceTbl = .data:0x8012F1D0; // type:object size:0xAC scope:local -yPosTbl$2429 = .data:0x8012F27C; // type:object size:0xC scope:local -seqStartFXTbl = .data:0x8012F288; // type:object size:0xEC scope:local -lbl_8012F378 = .data:0x8012F378; // type:object size:0x15 scope:local data:string -lbl_8012F38D = .data:0x8012F38D; // type:object size:0x10 scope:local data:string -lbl_8012F39D = .data:0x8012F39D; // type:object size:0x13 scope:local data:string -lbl_8012F3B0 = .data:0x8012F3B0; // type:object size:0x10 scope:local data:string -lbl_8012F3C0 = .data:0x8012F3C0; // type:object size:0x10 scope:local data:string -lbl_8012F3D0 = .data:0x8012F3D0; // type:object size:0x10 scope:local data:string -lbl_8012F3E0 = .data:0x8012F3E0; // type:object size:0x10 scope:local data:string -lbl_8012F3F0 = .data:0x8012F3F0; // type:object size:0x10 scope:local data:string -lbl_8012F400 = .data:0x8012F400; // type:object size:0x10 scope:local data:string -lbl_8012F410 = .data:0x8012F410; // type:object size:0x10 scope:local data:string -lbl_8012F420 = .data:0x8012F420; // type:object size:0x10 scope:local data:string -lbl_8012F430 = .data:0x8012F430; // type:object size:0x10 scope:local data:string -lbl_8012F440 = .data:0x8012F440; // type:object size:0x10 scope:local data:string -lbl_8012F450 = .data:0x8012F450; // type:object size:0x10 scope:local data:string -lbl_8012F460 = .data:0x8012F460; // type:object size:0x10 scope:local data:string -lbl_8012F470 = .data:0x8012F470; // type:object size:0x10 scope:local data:string -lbl_8012F480 = .data:0x8012F480; // type:object size:0x10 scope:local data:string -lbl_8012F490 = .data:0x8012F490; // type:object size:0x10 scope:local data:string -lbl_8012F4A0 = .data:0x8012F4A0; // type:object size:0x10 scope:local data:string -lbl_8012F4B0 = .data:0x8012F4B0; // type:object size:0x10 scope:local data:string -lbl_8012F4C0 = .data:0x8012F4C0; // type:object size:0x10 scope:local data:string -lbl_8012F4D0 = .data:0x8012F4D0; // type:object size:0x10 scope:local data:string -lbl_8012F4E0 = .data:0x8012F4E0; // type:object size:0x10 scope:local data:string -lbl_8012F4F0 = .data:0x8012F4F0; // type:object size:0x10 scope:local data:string -lbl_8012F500 = .data:0x8012F500; // type:object size:0x10 scope:local data:string -lbl_8012F510 = .data:0x8012F510; // type:object size:0x10 scope:local data:string -lbl_8012F520 = .data:0x8012F520; // type:object size:0x10 scope:local data:string -lbl_8012F530 = .data:0x8012F530; // type:object size:0x10 scope:local data:string -lbl_8012F540 = .data:0x8012F540; // type:object size:0x10 scope:local data:string -lbl_8012F550 = .data:0x8012F550; // type:object size:0x10 scope:local data:string -lbl_8012F560 = .data:0x8012F560; // type:object size:0x10 scope:local data:string -lbl_8012F570 = .data:0x8012F570; // type:object size:0x10 scope:local data:string -lbl_8012F580 = .data:0x8012F580; // type:object size:0x10 scope:local data:string -lbl_8012F590 = .data:0x8012F590; // type:object size:0x10 scope:local data:string -lbl_8012F5A0 = .data:0x8012F5A0; // type:object size:0x10 scope:local data:string -lbl_8012F5B0 = .data:0x8012F5B0; // type:object size:0x10 scope:local data:string -lbl_8012F5C0 = .data:0x8012F5C0; // type:object size:0x10 scope:local data:string -lbl_8012F5D0 = .data:0x8012F5D0; // type:object size:0x10 scope:local data:string -lbl_8012F5E0 = .data:0x8012F5E0; // type:object size:0x10 scope:local data:string -lbl_8012F5F0 = .data:0x8012F5F0; // type:object size:0x10 scope:local data:string -lbl_8012F600 = .data:0x8012F600; // type:object size:0x10 scope:local data:string -lbl_8012F610 = .data:0x8012F610; // type:object size:0x10 scope:local data:string -lbl_8012F620 = .data:0x8012F620; // type:object size:0x10 scope:local data:string -lbl_8012F630 = .data:0x8012F630; // type:object size:0x10 scope:local data:string -lbl_8012F640 = .data:0x8012F640; // type:object size:0x10 scope:local data:string -lbl_8012F650 = .data:0x8012F650; // type:object size:0x10 scope:local data:string -lbl_8012F660 = .data:0x8012F660; // type:object size:0x10 scope:local data:string -lbl_8012F670 = .data:0x8012F670; // type:object size:0x10 scope:local data:string -lbl_8012F680 = .data:0x8012F680; // type:object size:0x10 scope:local data:string -lbl_8012F690 = .data:0x8012F690; // type:object size:0x10 scope:local data:string -lbl_8012F6A0 = .data:0x8012F6A0; // type:object size:0x10 scope:local data:string -lbl_8012F6B0 = .data:0x8012F6B0; // type:object size:0x10 scope:local data:string -lbl_8012F6C0 = .data:0x8012F6C0; // type:object size:0x10 scope:local data:string -lbl_8012F6D0 = .data:0x8012F6D0; // type:object size:0x10 scope:local data:string -lbl_8012F6E0 = .data:0x8012F6E0; // type:object size:0x10 scope:local data:string -lbl_8012F6F0 = .data:0x8012F6F0; // type:object size:0x10 scope:local data:string -lbl_8012F700 = .data:0x8012F700; // type:object size:0x10 scope:local data:string -lbl_8012F710 = .data:0x8012F710; // type:object size:0x10 scope:local data:string -lbl_8012F720 = .data:0x8012F720; // type:object size:0x10 scope:local data:string -lbl_8012F730 = .data:0x8012F730; // type:object size:0x10 scope:local data:string -lbl_8012F740 = .data:0x8012F740; // type:object size:0x10 scope:local data:string -lbl_8012F750 = .data:0x8012F750; // type:object size:0x10 scope:local data:string -lbl_8012F760 = .data:0x8012F760; // type:object size:0x10 scope:local data:string -lbl_8012F770 = .data:0x8012F770; // type:object size:0x10 scope:local data:string -lbl_8012F780 = .data:0x8012F780; // type:object size:0x10 scope:local data:string -lbl_8012F790 = .data:0x8012F790; // type:object size:0x10 scope:local data:string -lbl_8012F7A0 = .data:0x8012F7A0; // type:object size:0x10 scope:local data:string -lbl_8012F7B0 = .data:0x8012F7B0; // type:object size:0x10 scope:local data:string -lbl_8012F7C0 = .data:0x8012F7C0; // type:object size:0x10 scope:local data:string -lbl_8012F7D0 = .data:0x8012F7D0; // type:object size:0x10 scope:local data:string -lbl_8012F7E0 = .data:0x8012F7E0; // type:object size:0x10 scope:local data:string -lbl_8012F7F0 = .data:0x8012F7F0; // type:object size:0x12 scope:local data:string -lbl_8012F802 = .data:0x8012F802; // type:object size:0x15 scope:local data:string -lbl_8012F817 = .data:0x8012F817; // type:object size:0x13 scope:local data:string -lbl_8012F82A = .data:0x8012F82A; // type:object size:0x11 scope:local data:string -lbl_8012F83B = .data:0x8012F83B; // type:object size:0x10 scope:local data:string -lbl_8012F84B = .data:0x8012F84B; // type:object size:0x12 scope:local data:string -lbl_8012F85D = .data:0x8012F85D; // type:object size:0x13 scope:local data:string -lbl_8012F870 = .data:0x8012F870; // type:object size:0x13 scope:local data:string -lbl_8012F883 = .data:0x8012F883; // type:object size:0x13 scope:local data:string -lbl_8012F896 = .data:0x8012F896; // type:object size:0x12 scope:local data:string -lbl_8012F8A8 = .data:0x8012F8A8; // type:object size:0xF scope:local data:string -lbl_8012F8B7 = .data:0x8012F8B7; // type:object size:0xF scope:local data:string -lbl_8012F8C6 = .data:0x8012F8C6; // type:object size:0x10 scope:local data:string -lbl_8012F8D6 = .data:0x8012F8D6; // type:object size:0x12 scope:local data:string -lbl_8012F8E8 = .data:0x8012F8E8; // type:object size:0xF scope:local data:string -lbl_8012F8F7 = .data:0x8012F8F7; // type:object size:0x13 scope:local data:string -lbl_8012F90A = .data:0x8012F90A; // type:object size:0x11 scope:local data:string -lbl_8012F91B = .data:0x8012F91B; // type:object size:0x15 scope:local data:string -lbl_8012F930 = .data:0x8012F930; // type:object size:0xF scope:local data:string -lbl_8012F93F = .data:0x8012F93F; // type:object size:0xF scope:local data:string -lbl_8012F94E = .data:0x8012F94E; // type:object size:0xF scope:local data:string -lbl_8012F95D = .data:0x8012F95D; // type:object size:0xF scope:local data:string -lbl_8012F96C = .data:0x8012F96C; // type:object size:0xF scope:local data:string -lbl_8012F97B = .data:0x8012F97B; // type:object size:0xF scope:local data:string -lbl_8012F98A = .data:0x8012F98A; // type:object size:0xF scope:local data:string -lbl_8012F999 = .data:0x8012F999; // type:object size:0xF scope:local data:string -lbl_8012F9A8 = .data:0x8012F9A8; // type:object size:0xF scope:local data:string -lbl_8012F9B7 = .data:0x8012F9B7; // type:object size:0x11 scope:local -_ovltbl = .data:0x8012F9C8; // type:object size:0x320 -lbl_80130100 = .data:0x8012FCE8; // type:object size:0x20 -fadeInFunc = .data:0x8012FD08; // type:object size:0xC -fadeOutFunc = .data:0x8012FD14; // type:object size:0xC -spcFontTbl = .data:0x8012FD20; // type:object size:0x170 scope:local -charWETbl = .data:0x8012FE90; // type:object size:0x130 -charWJTbl = .data:0x8012FFC0; // type:object size:0x140 -charColPal = .data:0x80130100; // type:object size:0x3C scope:local -frameFileTbl = .data:0x8013013C; // type:object size:0x10 scope:local -@257 = .data:0x8013014C; // type:object size:0xE scope:local data:string -@258 = .data:0x8013015A; // type:object size:0xF scope:local data:string -@259 = .data:0x80130169; // type:object size:0x10 scope:local data:string -@260 = .data:0x80130179; // type:object size:0x11 scope:local data:string -mesDataTbl = .data:0x8013018C; // type:object size:0x10 scope:local -winVoiceTbl = .data:0x8013019C; // type:object size:0x54 scope:local -@1076 = .data:0x801301F0; // type:object size:0x13 scope:local data:string -@1077 = .data:0x80130203; // type:object size:0x18 scope:local data:string -winPortraitTbl = .data:0x8013021C; // type:object size:0x4C scope:local -lbl_80130268 = .data:0x80130268; // type:object size:0x26 scope:local data:string -lbl_8013028E = .data:0x8013028E; // type:object size:0x2A scope:local -lbl_801302B8 = .data:0x801302B8; // type:object size:0x19 scope:local data:string -lbl_801302D1 = .data:0x801302D1; // type:object size:0x14 scope:local data:string -lbl_801302E5 = .data:0x801302E5; // type:object size:0x93 scope:local -lbl_80130378 = .data:0x80130378; // type:object size:0x30 scope:local -effectDataTbl = .data:0x801303A8; // type:object size:0x60 scope:local -charDirTbl = .data:0x80130408; // type:object size:0x60 scope:local -effectDustParam = .data:0x80130468; // type:object size:0x38 scope:local -effectDotParam = .data:0x801304A0; // type:object size:0x38 scope:local -effectStarParam = .data:0x801304D8; // type:object size:0x38 scope:local -effectWarnParam = .data:0x80130510; // type:object size:0x38 scope:local -effectSmokeParam = .data:0x80130548; // type:object size:0x38 scope:local -lbl_801309A0 = .data:0x80130580; // type:object size:0x20 scope:local -lbl_801309C0 = .data:0x801305A0; // type:object size:0x20 scope:local -lbl_801309E0 = .data:0x801305C0; // type:object size:0x10 scope:local -jumptable_801305D0 = .data:0x801305D0; // type:object size:0x1E8 scope:local -voiceParam = .data:0x801307B8; // type:object size:0x40 scope:local -lbl_801307F8 = .data:0x801307F8; // type:object size:0xE scope:local data:string -lbl_80130806 = .data:0x80130806; // type:object size:0xE scope:local data:string -lbl_80130814 = .data:0x80130814; // type:object size:0xE scope:local data:string -lbl_80130822 = .data:0x80130822; // type:object size:0xD scope:local data:string -lbl_8013082F = .data:0x8013082F; // type:object size:0xD scope:local data:string -lbl_8013083C = .data:0x8013083C; // type:object size:0xB scope:local data:string -lbl_80130847 = .data:0x80130847; // type:object size:0xF scope:local data:string -lbl_80130856 = .data:0x80130856; // type:object size:0xF scope:local data:string -lbl_80130865 = .data:0x80130865; // type:object size:0xF scope:local data:string -lbl_80130874 = .data:0x80130874; // type:object size:0xF scope:local data:string -lbl_80130883 = .data:0x80130883; // type:object size:0xF scope:local data:string -lbl_80130892 = .data:0x80130892; // type:object size:0xF scope:local data:string -lbl_801308A1 = .data:0x801308A1; // type:object size:0x9 scope:local data:string -lbl_801308AA = .data:0x801308AA; // type:object size:0xD scope:local data:string -lbl_801308B7 = .data:0x801308B7; // type:object size:0x17 scope:local data:string -lbl_801308CE = .data:0x801308CE; // type:object size:0x17 scope:local data:string -lbl_801308E5 = .data:0x801308E5; // type:object size:0xE scope:local data:string -lbl_801308F3 = .data:0x801308F3; // type:object size:0xE scope:local data:string -lbl_80130901 = .data:0x80130901; // type:object size:0xD scope:local data:string -lbl_8013090E = .data:0x8013090E; // type:object size:0xE scope:local data:string -lbl_8013091C = .data:0x8013091C; // type:object size:0xE scope:local data:string -lbl_8013092A = .data:0x8013092A; // type:object size:0xF scope:local data:string -lbl_80130939 = .data:0x80130939; // type:object size:0xF scope:local data:string -lbl_80130948 = .data:0x80130948; // type:object size:0x18 scope:local data:string -lbl_80130960 = .data:0x80130960; // type:object size:0x18 scope:local data:string -lbl_80130978 = .data:0x80130978; // type:object size:0xE scope:local data:string -lbl_80130986 = .data:0x80130986; // type:object size:0x18 scope:local data:string -lbl_8013099E = .data:0x8013099E; // type:object size:0x1A scope:local -charTexNameTbl = .data:0x801309B8; // type:object size:0x100 -lbl_80130AB8 = .data:0x80130AB8; // type:object size:0xD scope:local data:string -lbl_80130AC5 = .data:0x80130AC5; // type:object size:0xD scope:local data:string -lbl_80130AD2 = .data:0x80130AD2; // type:object size:0xE scope:local data:string -lbl_80130AE0 = .data:0x80130AE0; // type:object size:0xE scope:local data:string -lbl_80130AEE = .data:0x80130AEE; // type:object size:0x10 scope:local data:string -hookNameTbl = .data:0x80130B00; // type:object size:0xA0 scope:local -modelParticleParam = .data:0x80130BA0; // type:object size:0x38 scope:local -coinParticleParam = .data:0x80130BD8; // type:object size:0x38 scope:local -lbl_80131030 = .data:0x80130C10; // type:object size:0x38 scope:local -lbl_80131068 = .data:0x80130C48; // type:object size:0x38 scope:local -@1294 = .data:0x80130C80; // type:object size:0x19 scope:local data:string -lbl_801310BC = .data:0x80130C9C; // type:object size:0x38 scope:local -lbl_801310F4 = .data:0x80130CD4; // type:object size:0x38 scope:local -@1315 = .data:0x80130D0C; // type:object size:0x1A scope:local data:string -lbl_80130D26 = .data:0x80130D26; // type:object size:0x12 scope:local data:string -lbl_80130D38 = .data:0x80130D38; // type:object size:0x12 scope:local data:string -VolumeTable = .data:0x80130DC8; // type:object size:0x100 scope:local -lbl_80130EC8 = .data:0x80130EC8; // type:object size:0x4D scope:local -lbl_80130F15 = .data:0x80130F15; // type:object size:0x1B scope:local -mgInfoTbl = .data:0x80130F30; // type:object size:0xE00 data:2byte -commentTbl = .data:0x80131D30; // type:object size:0x40 scope:local data:byte -sjisNumTbl = .data:0x80131D70; // type:object size:0x14 scope:local data:byte -lbl_80131D84 = .data:0x80131D84; // type:object size:0xC scope:local data:string -lbl_80131D90 = .data:0x80131D90; // type:object size:0xC scope:local data:string -lbl_80131D9C = .data:0x80131D9C; // type:object size:0xC scope:local data:string -SaveFileNameTbl = .data:0x80131DA8; // type:object size:0xC -jumptable_80131DB4 = .data:0x80131DB4; // type:object size:0x34 scope:local -SR_PreRstChk = .data:0x80131E00; // type:object size:0x10 scope:local -padding = .data:0x80131E10; // type:object size:0x10 scope:local -coveropen_jp = .data:0x80131E20; // type:object size:0x13A0 noreloc -fatalerror_jp = .data:0x801331C0; // type:object size:0x13A0 noreloc -loading_jp = .data:0x80134560; // type:object size:0x13A0 noreloc -nodisc_jp = .data:0x80135900; // type:object size:0x13A0 noreloc -retryerror_jp = .data:0x80136CA0; // type:object size:0x13A0 noreloc -wrongdisc_jp = .data:0x80138040; // type:object size:0x1384 noreloc -jumptable_801393C4 = .data:0x801393C4; // type:object size:0x34 scope:local -bmpMes$327 = .data:0x801393F8; // type:object size:0x18 scope:local -@391 = .data:0x80139410; // type:object size:0x13 scope:local data:string -@392 = .data:0x80139423; // type:object size:0x12 scope:local data:string -camViewTbl = .data:0x80139438; // type:object size:0x24 scope:local -jumptable_8013945C = .data:0x8013945C; // type:object size:0x24 scope:local -confettiLightTbl = .data:0x80139480; // type:object size:0x48 scope:local -last5GfxSprTbl = .data:0x801394C8; // type:object size:0xC scope:local -last5GfxPosTbl = .data:0x801394D4; // type:object size:0x30 scope:local -tauntActiveFXTbl = .data:0x80139504; // type:object size:0x10 scope:local -tauntFXTbl = .data:0x80139514; // type:object size:0x20 scope:local -diceJumpObj = .data:0x80139538; // type:object size:0x10 scope:local -motDoneF = .data:0x80139548; // type:object size:0x10 scope:local -bowserSuitMot = .data:0x80139558; // type:object size:0xA scope:local data:2byte -lbl_80139562 = .data:0x80139562; // type:object size:0x17 scope:local data:string -lbl_80139579 = .data:0x80139579; // type:object size:0x17 scope:local data:string -lbl_80139590 = .data:0x80139590; // type:object size:0xE scope:local data:string -lbl_8013959E = .data:0x8013959E; // type:object size:0xE scope:local data:string -lbl_801395AC = .data:0x801395AC; // type:object size:0x18 scope:local data:string -lbl_801395C4 = .data:0x801395C4; // type:object size:0x18 scope:local data:string -eyeMatTbl = .data:0x801395DC; // type:object size:0x40 scope:local -lbl_8013997C = .data:0x8013961C; // type:object size:0x20 -boardMotTbl = .data:0x8013963C; // type:object size:0x20 scope:local -boardMotRevTbl = .data:0x8013965C; // type:object size:0x20 scope:local -bowserSuitCharMdlTbl = .data:0x8013967C; // type:object size:0x20 scope:local -bowserSuitMotTbl = .data:0x8013969C; // type:object size:0x14 scope:local -sparkMotTbl = .data:0x801396B0; // type:object size:0x20 scope:local -boardSparkSfxTbl = .data:0x801396D0; // type:object size:0x20 scope:local -boardSparkSfxTblAlt = .data:0x801396F0; // type:object size:0x20 scope:local -megaSquishObj = .data:0x80139710; // type:object size:0x10 scope:local -megaSquishSfxTbl = .data:0x80139720; // type:object size:0x20 scope:local -lbl_80139740 = .data:0x80139740; // type:object size:0x24 -lbl_80139764 = .data:0x80139764; // type:object size:0x24 -lbl_80139788 = .data:0x80139788; // type:object size:0x18 -lbl_801397A0 = .data:0x801397A0; // type:object size:0x60 -lbl_80139800 = .data:0x80139800; // type:object size:0x38 -lbl_80139838 = .data:0x80139838; // type:object size:0x30 -lbl_80139868 = .data:0x80139868; // type:object size:0xB8 -lbl_80139920 = .data:0x80139920; // type:object size:0x24 -lbl_80139944 = .data:0x80139944; // type:object size:0x24 -lbl_80139968 = .data:0x80139968; // type:object size:0xC -lbl_80139974 = .data:0x80139974; // type:object size:0xC -jumptable_80139980 = .data:0x80139980; // type:object size:0x28 scope:local -lbl_801399A8 = .data:0x801399A8; // type:object size:0x24 -lbl_801399CC = .data:0x801399CC; // type:object size:0x10 -lbl_801399DC = .data:0x801399DC; // type:object size:0x6C -lbl_80139A48 = .data:0x80139A48; // type:object size:0xB0 -lbl_80139AF8 = .data:0x80139AF8; // type:object size:0x30 data:float -lbl_80139B28 = .data:0x80139B28; // type:object size:0x1A8 -lbl_80139CD0 = .data:0x80139CD0; // type:object size:0xDA -lbl_80139DAA = .data:0x80139DAA; // type:object size:0x13 -lbl_80139DBD = .data:0x80139DBD; // type:object size:0x23 -jumptable_80139DE0 = .data:0x80139DE0; // type:object size:0x24 scope:local -lbl_80139E04 = .data:0x80139E04; // type:object size:0x30 -lbl_80139E34 = .data:0x80139E34; // type:object size:0xC -lbl_80139E40 = .data:0x80139E40; // type:object size:0xC data:4byte -lbl_80139E4C = .data:0x80139E4C; // type:object size:0x20 -lbl_80139E6C = .data:0x80139E6C; // type:object size:0x24 -lbl_80139E90 = .data:0x80139E90; // type:object size:0x10 -lbl_80139EA0 = .data:0x80139EA0; // type:object size:0x28 -jumptable_80139EC8 = .data:0x80139EC8; // type:object size:0x1C scope:local -lbl_80139EE8 = .data:0x80139EE8; // type:object size:0x58 -lbl_80139F40 = .data:0x80139F40; // type:object size:0x10 -lbl_80139F50 = .data:0x80139F50; // type:object size:0x20 -lbl_80139F70 = .data:0x80139F70; // type:object size:0x48 -lbl_80139FB8 = .data:0x80139FB8; // type:object size:0x50 -lbl_8013A008 = .data:0x8013A008; // type:object size:0xC data:4byte -lbl_8013A014 = .data:0x8013A014; // type:object size:0xC data:4byte -lbl_8013A020 = .data:0x8013A020; // type:object size:0xC -lbl_8013A02C = .data:0x8013A02C; // type:object size:0x50 -lbl_8013A07C = .data:0x8013A07C; // type:object size:0x2C -lbl_8013A0A8 = .data:0x8013A0A8; // type:object size:0xC4 data:byte -lbl_8013A16C = .data:0x8013A16C; // type:object size:0x20 data:float -lbl_8013A18C = .data:0x8013A18C; // type:object size:0x10 -lbl_8013A19C = .data:0x8013A19C; // type:object size:0x88 -lbl_8013A224 = .data:0x8013A224; // type:object size:0x30 -lbl_8013A254 = .data:0x8013A254; // type:object size:0x54 -lbl_8013A2A8 = .data:0x8013A2A8; // type:object size:0x18 -lbl_8013A2C0 = .data:0x8013A2C0; // type:object size:0x38 -lbl_8013A2F8 = .data:0x8013A2F8; // type:object size:0x38 -lbl_8013A330 = .data:0x8013A330; // type:object size:0x70 -lbl_8013A3A0 = .data:0x8013A3A0; // type:object size:0x13 data:string -lbl_8013A3B3 = .data:0x8013A3B3; // type:object size:0x13 data:string -lbl_8013A3C6 = .data:0x8013A3C6; // type:object size:0x13 data:string -lbl_8013A3D9 = .data:0x8013A3D9; // type:object size:0x13 data:string -lbl_8013A3EC = .data:0x8013A3EC; // type:object size:0x13 data:string -lbl_8013A3FF = .data:0x8013A3FF; // type:object size:0x13 data:string -lbl_8013A412 = .data:0x8013A412; // type:object size:0x13 data:string -lbl_8013A425 = .data:0x8013A425; // type:object size:0x63 -lbl_8013A488 = .data:0x8013A488; // type:object size:0x40 -lbl_8013A4C8 = .data:0x8013A4C8; // type:object size:0x10 -lbl_8013A4D8 = .data:0x8013A4D8; // type:object size:0x1D8 -lbl_8013A6B0 = .data:0x8013A6B0; // type:object size:0x20 -jumptable_8013A6D0 = .data:0x8013A6D0; // type:object size:0x1C scope:local -lbl_8013A6EC = .data:0x8013A6EC; // type:object size:0x14 -lbl_8013A700 = .data:0x8013A700; // type:object size:0x18 -lbl_8013A718 = .data:0x8013A718; // type:object size:0x20 -lbl_8013A738 = .data:0x8013A738; // type:object size:0x18 -jumptable_8013A750 = .data:0x8013A750; // type:object size:0x24 scope:local -lbl_8013A774 = .data:0x8013A774; // type:object size:0x3C -lbl_8013A7B0 = .data:0x8013A7B0; // type:object size:0x18 -lbl_8013A7C8 = .data:0x8013A7C8; // type:object size:0xC0 -lbl_8013A888 = .data:0x8013A888; // type:object size:0x80 -lbl_8013A908 = .data:0x8013A908; // type:object size:0x18 -lbl_8013A920 = .data:0x8013A920; // type:object size:0xC data:string -lbl_8013A92C = .data:0x8013A92C; // type:object size:0x18 -jumptable_8013A944 = .data:0x8013A944; // type:object size:0x20 scope:local -lbl_8013A964 = .data:0x8013A964; // type:object size:0x24 -lbl_8013A988 = .data:0x8013A988; // type:object size:0x18 -lbl_8013A9A0 = .data:0x8013A9A0; // type:object size:0x34 -lbl_8013A9D4 = .data:0x8013A9D4; // type:object size:0x30 -lbl_8013AA04 = .data:0x8013AA04; // type:object size:0x30 -lbl_8013AA34 = .data:0x8013AA34; // type:object size:0x30 -lbl_8013AA64 = .data:0x8013AA64; // type:object size:0x24 -jumptable_8013AA88 = .data:0x8013AA88; // type:object size:0x20 scope:local -lbl_8013AAD8 = .data:0x8013AAD8; // type:object size:0x90 -lbl_8013AB68 = .data:0x8013AB68; // type:object size:0x30 -lbl_8013AB98 = .data:0x8013AB98; // type:object size:0xC -lbl_8013ABA4 = .data:0x8013ABA4; // type:object size:0x6C -lbl_8013AC10 = .data:0x8013AC10; // type:object size:0x10 data:4byte -lbl_8013AC20 = .data:0x8013AC20; // type:object size:0xC4 -lbl_8013ACE4 = .data:0x8013ACE4; // type:object size:0x24 -jumptable_8013AD08 = .data:0x8013AD08; // type:object size:0x1C scope:local -lbl_8013AD24 = .data:0x8013AD24; // type:object size:0x30 -jumptable_8013AD54 = .data:0x8013AD54; // type:object size:0x24 scope:local -lbl_8013AD78 = .data:0x8013AD78; // type:object size:0x120 -lbl_8013AE98 = .data:0x8013AE98; // type:object size:0x24 -lbl_8013AEBC = .data:0x8013AEBC; // type:object size:0x28 -lbl_8013AEE4 = .data:0x8013AEE4; // type:object size:0x1AC -lbl_8013B090 = .data:0x8013B090; // type:object size:0x10 data:2byte -lbl_8013B0A0 = .data:0x8013B0A0; // type:object size:0x40 data:float -lbl_8013B0E0 = .data:0x8013B0E0; // type:object size:0x74 -jumptable_8013B154 = .data:0x8013B154; // type:object size:0x20 scope:local -jumptable_8013B174 = .data:0x8013B174; // type:object size:0x20 scope:local -jumptable_8013B194 = .data:0x8013B194; // type:object size:0x20 scope:local -lbl_8013B1B8 = .data:0x8013B1B8; // type:object size:0x24 data:string -lbl_8013B1DC = .data:0x8013B1DC; // type:object size:0x24 data:string -@84 = .data:0x8013B200; // type:object size:0x1E scope:local data:string -lbl_8013B3C0 = .data:0x8013B3C0; // type:object size:0x398 -DSPInitCode = .data:0x8013B758; // type:object size:0x80 scope:local -@69 = .data:0x8013B7D8; // type:object size:0x29 scope:local data:string -lbl_8013BA08 = .data:0x8013BA08; // type:object size:0x1B4 -@74 = .data:0x8013BBBC; // type:object size:0x23 scope:local data:string -@10 = .data:0x8013BBE0; // type:object size:0x16 scope:local data:string -@43 = .data:0x8013BEBC; // type:object size:0x40 scope:local -lbl_8013BF00 = .data:0x8013BF00; // type:object size:0x30 data:4byte -lbl_8013BF30 = .data:0x8013BF30; // type:object size:0x28 -lbl_8013BF58 = .data:0x8013BF58; // type:object size:0x28 -ResetFunctionInfo = .data:0x8013BF80; // type:object size:0x10 scope:local -lbl_8013BF90 = .data:0x8013BF90; // type:object size:0x78 -lbl_8013C008 = .data:0x8013C008; // type:object size:0x30 -lbl_8013C038 = .data:0x8013C038; // type:object size:0x30 -lbl_8013C068 = .data:0x8013C068; // type:object size:0x18 data:string -lbl_8013C080 = .data:0x8013C080; // type:object size:0xC8 data:string -lbl_8013C148 = .data:0x8013C148; // type:object size:0x38 -lbl_8013C180 = .data:0x8013C180; // type:object size:0x34 data:string -lbl_8013C1B4 = .data:0x8013C1B4; // type:object size:0x34 -@13 = .data:0x8013C1E8; // type:object size:0x15 scope:local data:string -@293 = .data:0x8013C234; // type:object size:0x20 scope:local -jumptable_8013C254 = .data:0x8013C254; // type:object size:0x40 scope:local -jumptable_8013C294 = .data:0x8013C294; // type:object size:0x34 scope:local -jumptable_8013C2C8 = .data:0x8013C2C8; // type:object size:0x34 scope:local -lbl_8013C300 = .data:0x8013C300; // type:object size:0x48 data:4byte -@36 = .data:0x8013C348; // type:object size:0x1A scope:local data:string -lbl_8013C3B8 = .data:0x8013C3B8; // type:object size:0x164 -jumptable_8013C51C = .data:0x8013C51C; // type:object size:0x58 scope:local -lbl_8013C680 = .data:0x8013C680; // type:object size:0xC00 -lbl_8013D280 = .data:0x8013D280; // type:object size:0xC data:string -lbl_8013D28C = .data:0x8013D28C; // type:object size:0x28 -jumptable_8013D2B4 = .data:0x8013D2B4; // type:object size:0x28 scope:local -jumptable_8013D338 = .data:0x8013D338; // type:object size:0x28 scope:local -jumptable_8013D360 = .data:0x8013D360; // type:object size:0x28 scope:local -jumptable_8013D388 = .data:0x8013D388; // type:object size:0x28 scope:local -jumptable_8013D3B0 = .data:0x8013D3B0; // type:object size:0x28 scope:local -lbl_8013D3D8 = .data:0x8013D3D8; // type:object size:0x10 -lbl_8013D3E8 = .data:0x8013D3E8; // type:object size:0x38 -lbl_8013D420 = .data:0x8013D420; // type:object size:0x140 -jumptable_8013D560 = .data:0x8013D560; // type:object size:0x68 scope:local -jumptable_8013D5C8 = .data:0x8013D5C8; // type:object size:0x44 scope:local -jumptable_8013D60C = .data:0x8013D60C; // type:object size:0x1C scope:local -jumptable_8013D628 = .data:0x8013D628; // type:object size:0x54 scope:local -GXNtsc480IntDf = .data:0x8013D680; // type:object size:0x3C -GXNtsc480Prog = .data:0x8013D6BC; // type:object size:0x3C -GXMpal480IntDf = .data:0x8013D6F8; // type:object size:0x3C -GXPal528IntDf = .data:0x8013D734; // type:object size:0x3C -GXEurgb60Hz480IntDf = .data:0x8013D770; // type:object size:0x40 -jumptable_8013D7B0 = .data:0x8013D7B0; // type:object size:0x1C scope:local -jumptable_8013D7D0 = .data:0x8013D7D0; // type:object size:0xF4 scope:local -jumptable_8013D8C4 = .data:0x8013D8C4; // type:object size:0xF4 scope:local -jumptable_8013D9B8 = .data:0x8013D9B8; // type:object size:0x3C scope:local -lbl_8013D9F8 = .data:0x8013D9F8; // type:object size:0x28 -lbl_8013DA20 = .data:0x8013DA20; // type:object size:0x20 -jumptable_8013DA40 = .data:0x8013DA40; // type:object size:0x5C scope:local -jumptable_8013DA9C = .data:0x8013DA9C; // type:object size:0x90 scope:local -jumptable_8013DB2C = .data:0x8013DB2C; // type:object size:0x5C scope:local -lbl_8013DB88 = .data:0x8013DB88; // type:object size:0x18 -lbl_8013DBA0 = .data:0x8013DBA0; // type:object size:0x160 -lbl_8013DD00 = .data:0x8013DD00; // type:object size:0x20 -lbl_8013DD20 = .data:0x8013DD20; // type:object size:0x20 -Si = .data:0x8013DD40; // type:object size:0x14 scope:local data:4byte -Type = .data:0x8013DD54; // type:object size:0x10 scope:local -XYNTSC = .data:0x8013DE10; // type:object size:0x30 scope:local -lbl_8013DEA8 = .data:0x8013DEA8; // type:object size:0x10 -jumptable_8013DEB8 = .data:0x8013DEB8; // type:object size:0x44 scope:local -jumptable_8013DEFC = .data:0x8013DEFC; // type:object size:0x44 scope:local -jumptable_8013DF40 = .data:0x8013DF40; // type:object size:0x44 scope:local -lbl_8013DF84 = .data:0x8013DF84; // type:object size:0xC -lbl_8013DF90 = .data:0x8013DF90; // type:object size:0x10 -__files = .data:0x8013DFA0; // type:object size:0x140 scope:global -jumptable_8013E0E0 = .data:0x8013E0E0; // type:object size:0x124 scope:local -lbl_8013E208 = .data:0x8013E208; // type:object size:0x100 -lbl_8013E308 = .data:0x8013E308; // type:object size:0x100 -@1249 = .data:0x8013E408; // type:object size:0x84 scope:local -jumptable_8013E48C = .data:0x8013E48C; // type:object size:0x84 scope:local -jumptable_8013E510 = .data:0x8013E510; // type:object size:0xE0 scope:local -jumptable_8013E5F0 = .data:0x8013E5F0; // type:object size:0x44 scope:local -lbl_8013E638 = .data:0x8013E638; // type:object size:0x88 -jumptable_8013E6C0 = .data:0x8013E6C0; // type:object size:0x1C scope:local -jumptable_8013E6DC = .data:0x8013E6DC; // type:object size:0x1C scope:local -gTRKRestoreFlags = .data:0x8013E6F8; // type:object size:0x9 scope:global data:byte -gTRKExceptionStatus = .data:0x8013E704; // type:object size:0x10 scope:local data:4byte -lbl_8013E714 = .data:0x8013E714; // type:object size:0x14 data:4byte -lbl_8013E728 = .data:0x8013E728; // type:object size:0x40 data:4byte -gDBCommTable = .data:0x8013E768; // type:object size:0x1C scope:global data:4byte -jumptable_8013E788 = .data:0x8013E788; // type:object size:0x50 scope:local -lbl_8013E7D8 = .data:0x8013E7D8; // type:object size:0x1C -lbl_8013E7F4 = .data:0x8013E7F4; // type:object size:0x204 -lbl_8013E9F8 = .data:0x8013E9F8; // type:object size:0x20 -lbl_8013EA18 = .data:0x8013EA18; // type:object size:0x10 -lbl_8013EA28 = .data:0x8013EA28; // type:object size:0x20 -lbl_8013EA48 = .data:0x8013EA48; // type:object size:0x10 -jumptable_8013EA58 = .data:0x8013EA58; // type:object size:0x1C8 scope:local -lbl_8013EC20 = .data:0x8013EC20; // type:object size:0x200 -lbl_8013EE20 = .data:0x8013EE20; // type:object size:0x200 -lbl_8013F020 = .data:0x8013F020; // type:object size:0x184 -lbl_8013F1A4 = .data:0x8013F1A4; // type:object size:0x400 -lbl_8013F5A4 = .data:0x8013F5A4; // type:object size:0x204 -lbl_8013F7A8 = .data:0x8013F7A8; // type:object size:0x18 -lbl_8013F7C0 = .data:0x8013F7C0; // type:object size:0x228 -lbl_8013F9E8 = .data:0x8013F9E8; // type:object size:0x10 -lbl_8013F9F8 = .data:0x8013F9F8; // type:object size:0x10 -jumptable_8013FA08 = .data:0x8013FA08; // type:object size:0x24 scope:local -jumptable_8013FA2C = .data:0x8013FA2C; // type:object size:0x24 scope:local -jumptable_8013FA50 = .data:0x8013FA50; // type:object size:0x24 scope:local -lbl_8013FA78 = .data:0x8013FA78; // type:object size:0x808 -lbl_80140280 = .data:0x80140280; // type:object size:0x19E0 -lbl_80141C60 = .data:0x80141C60; // type:object size:0x10 -lbl_80141C70 = .data:0x80141C70; // type:object size:0x20 -lbl_80141C90 = .data:0x80141C90; // type:object size:0x800 -padStatErrOld = .bss:0x801424A0; // type:object size:0x10 scope:local -rumbleData = .bss:0x801424B0; // type:object size:0x20 scope:local -ReadDataStat = .bss:0x801424E0; // type:object size:0x2E00 scope:local align:32 data:4byte -TextBuffer = .bss:0x801452E0; // type:object size:0x400 -rmodeobj = .bss:0x801456E0; // type:object size:0x40 scope:local -HeapTbl = .bss:0x80145720; // type:object size:0x18 scope:local -strline = .bss:0x80145738; // type:object size:0x6800 scope:local -pfStrBuf = .bss:0x8014BF38; // type:object size:0x100 scope:local data:byte -processjmpbuf = .bss:0x8014C038; // type:object size:0xF8 scope:local align:8 -HuSprData = .bss:0x8014C130; // type:object size:0x9600 -HuSprGrpData = .bss:0x80155730; // type:object size:0x5400 data:2byte -HuSprOrder = .bss:0x8015AB30; // type:object size:0x1800 scope:local -bmpNoCC = .bss:0x8015C330; // type:object size:0x20 scope:local -HuSprLayerDrawNo = .bss:0x8015C350; // type:object size:0x10 scope:local -Model = .bss:0x8015C360; // type:object size:0x80 -head = .bss:0x8015C3E0; // type:object size:0xB0 -rgba = .bss:0x8015C490; // type:object size:0x190 -lbl_8015C620 = .bss:0x8015C620; // type:object size:0x300 scope:local data:byte -DrawObjData = .bss:0x8015C920; // type:object size:0x9000 scope:local -BmpPtrBak = .bss:0x80165920; // type:object size:0x20 scope:local data:4byte -MTXBuf = .bss:0x80165940; // type:object size:0x1200 scope:local -scaleBuf = .bss:0x80166B40; // type:object size:0x480 scope:local data:4byte -texCol = .bss:0x80166FC0; // type:object size:0x40 scope:local data:byte -hiliteMtx = .bss:0x80167000; // type:object size:0x30 scope:local -DrawObjNum = .bss:0x80167030; // type:object size:0x400 scope:local -NBTB = .bss:0x80167430; // type:object size:0xC scope:local data:float -NBTT = .bss:0x8016743C; // type:object size:0xC scope:local data:float -PGMaxPos = .bss:0x80167448; // type:object size:0xC data:float -PGMinPos = .bss:0x80167454; // type:object size:0xC data:float -Hu3DData = .bss:0x80167460; // type:object size:0x24800 data:byte -Hu3DCamera = .bss:0x8018BC60; // type:object size:0x580 data:float -layerNum = .bss:0x8018C1E0; // type:object size:0x10 scope:local data:2byte -layerHook = .bss:0x8018C1F0; // type:object size:0x20 scope:local -reflectAnim = .bss:0x8018C210; // type:object size:0x14 data:4byte -hiliteAnim = .bss:0x8018C224; // type:object size:0x10 data:4byte -Hu3DProjection = .bss:0x8018C234; // type:object size:0x260 data:byte -Hu3DShadowData = .bss:0x8018C494; // type:object size:0x98 data:byte -FogData = .bss:0x8018C52C; // type:object size:0x10 data:4byte -Hu3DCameraMtx = .bss:0x8018C53C; // type:object size:0x30 -Hu3DCameraMtxXPose = .bss:0x8018C56C; // type:object size:0x30 -Hu3DGlobalLight = .bss:0x8018C59C; // type:object size:0x220 data:2byte -Hu3DLocalLight = .bss:0x8018C7BC; // type:object size:0x880 data:2byte -Hu3DMotion = .bss:0x8018D070; // type:object size:0x800 data:2byte -Hu3DTexAnimData = .bss:0x8018D870; // type:object size:0x1400 data:2byte -Hu3DTexScrData = .bss:0x8018EC70; // type:object size:0x6C0 data:2byte -parManProc = .bss:0x8018F330; // type:object size:0x100 scope:local -perf = .bss:0x8018F430; // type:object size:0x370 scope:local -Ssw = .bss:0x8018F7A0; // type:object size:0x38 scope:local -omovlhis = .bss:0x8018F7D8; // type:object size:0xC0 scope:local -XFB_Geometry = .bss:0x8018F898; // type:object size:0x18 scope:local -GWPlayerCfg = .bss:0x8018F8B0; // type:object size:0x28 -GWPlayer = .bss:0x8018F8D8; // type:object size:0xC0 data:byte -GWSystem = .bss:0x8018F998; // type:object size:0xDC data:byte -GWGameStat = .bss:0x8018FA78; // type:object size:0x118 -GWGameStatDefault = .bss:0x8018FB90; // type:object size:0x118 -CRot = .bss:0x8018FCA8; // type:object size:0xC data:float -Center = .bss:0x8018FCB4; // type:object size:0xC data:float -CRotM = .bss:0x8018FCC0; // type:object size:0xC0 -CenterM = .bss:0x8018FD80; // type:object size:0xC0 -CZoomM = .bss:0x8018FE40; // type:object size:0x40 -omDLLinfoTbl = .bss:0x8018FE80; // type:object size:0x50 -sndFXBuf = .bss:0x8018FED0; // type:object size:0x200 scope:local -charVoiceGroupStat = .bss:0x801900D0; // type:object size:0x20 -seqWorkData = .bss:0x801900F0; // type:object size:0x400 scope:local data:4byte -winnerNameW = .bss:0x801904F0; // type:object size:0x10 scope:local data:2byte -esprite = .bss:0x80190500; // type:object size:0x600 data:2byte -espanim = .bss:0x80190B00; // type:object size:0x1200 data:4byte -lbl_80192060 = .bss:0x80191D00; // type:object size:0x100 -lbl_80192160 = .bss:0x80191E00; // type:object size:0x100 -lbl_80192260 = .bss:0x80191F00; // type:object size:0x100 -wipeData = .bss:0x80192000; // type:object size:0x4C data:4byte -winData = .bss:0x80192060; // type:object size:0x3000 data:byte -winKey = .bss:0x80195060; // type:object size:0x10 -winComKeyBuf = .bss:0x80195070; // type:object size:0x1400 -ARInfo = .bss:0x80196480; // type:object size:0x400 scope:local data:byte -arqReq = .bss:0x80196880; // type:object size:0x20 scope:local -ARQueBuf = .bss:0x801968A0; // type:object size:0x280 scope:local -preLoadBuf = .bss:0x80196B20; // type:object size:0x40 scope:local align:32 -charInstance = .bss:0x80196B60; // type:object size:0x640 scope:local -effectMdl = .bss:0x801971A0; // type:object size:0x10 scope:local data:2byte -particleData = .bss:0x801971B0; // type:object size:0x20 scope:local -itemHookProcess = .bss:0x801971D0; // type:object size:0x80 scope:local -lbl_801975B0 = .bss:0x80197250; // type:object size:0x10 scope:local -lbl_801975C0 = .bss:0x80197260; // type:object size:0x90 scope:local -MapObject = .bss:0x801972F0; // type:object size:0x40 -MapMT = .bss:0x80197330; // type:object size:0x30 -MapMTR = .bss:0x80197360; // type:object size:0x30 -MTRAdd = .bss:0x80197390; // type:object size:0xC scope:local data:float -FieldVec = .bss:0x8019739C; // type:object size:0xC scope:local data:float -ColisionIdx = .bss:0x801973A8; // type:object size:0x78 -HitFaceVec = .bss:0x80197420; // type:object size:0x180 -OldXYZ = .bss:0x801975A0; // type:object size:0xC scope:local -HitFace = .bss:0x801975AC; // type:object size:0x180 -CharObject = .bss:0x8019772C; // type:object size:0x30 -SimpleControl = .bss:0x80197760; // type:object size:0x1A0 -SoundBuffer = .bss:0x80197900; // type:object size:0x500 scope:local -WorkBuffer = .bss:0x80197E00; // type:object size:0x40 scope:local -THPFileName = .bss:0x80197E40; // type:object size:0x40 scope:local -mgGameStatBackup = .bss:0x80197E80; // type:object size:0x118 -mgIndexList = .bss:0x80197F98; // type:object size:0x100 -mgTicTacToeGrid = .bss:0x80198098; // type:object size:0x12 -_Sys_Flag = .bss:0x801980B0; // type:object size:0x10 scope:local -curFileInfo = .bss:0x801980C0; // type:object size:0x14 -saveBuf = .bss:0x801980E0; // type:object size:0x4000 -ToeMessageQueue = .bss:0x8019C0E0; // type:object size:0x20 scope:local -padStat$238 = .bss:0x8019C100; // type:object size:0x30 scope:local -ToeMessageArray = .bss:0x8019C130; // type:object size:0x40 scope:local -ToeThread = .bss:0x8019C170; // type:object size:0x310 scope:local -ToeThreadStack = .bss:0x8019C480; // type:object size:0x1000 scope:local -boardCamera = .bss:0x8019D480; // type:object size:0xC4 data:byte -cameraBackup = .bss:0x8019D544; // type:object size:0xC4 scope:local -preTurnHook = .bss:0x8019D608; // type:object size:0x10 scope:local -postTurnHook = .bss:0x8019D618; // type:object size:0x10 scope:local -playerMatCopy = .bss:0x8019D628; // type:object size:0x10 scope:local -lbl_8019D638 = .bss:0x8019D638; // type:object size:0x20 -lbl_8019D658 = .bss:0x8019D658; // type:object size:0x40 -lbl_8019D698 = .bss:0x8019D698; // type:object size:0xC data:float -lbl_8019D6A4 = .bss:0x8019D6A4; // type:object size:0xC data:4byte -lbl_8019D6B0 = .bss:0x8019D6B0; // type:object size:0x7000 data:float -lbl_801A46B0 = .bss:0x801A46B0; // type:object size:0x50 -lbl_801A4700 = .bss:0x801A4700; // type:object size:0x14 data:4byte -lbl_801A4714 = .bss:0x801A4714; // type:object size:0x1C -lbl_801A4730 = .bss:0x801A4730; // type:object size:0xC data:2byte -lbl_801A473C = .bss:0x801A473C; // type:object size:0xC -lbl_801A4748 = .bss:0x801A4748; // type:object size:0x18 data:2byte -lbl_801A4760 = .bss:0x801A4760; // type:object size:0x10 -lbl_801A4770 = .bss:0x801A4770; // type:object size:0x10 data:4byte -lbl_801A4780 = .bss:0x801A4780; // type:object size:0x10 -lbl_801A4790 = .bss:0x801A4790; // type:object size:0x18 -lbl_801A47A8 = .bss:0x801A47A8; // type:object size:0x30 -lbl_801A47D8 = .bss:0x801A47D8; // type:object size:0x48 -lbl_801A4820 = .bss:0x801A4820; // type:object size:0x28 -lbl_801A4848 = .bss:0x801A4848; // type:object size:0xC data:4byte -lbl_801A4854 = .bss:0x801A4854; // type:object size:0x34 data:float -lbl_801A4888 = .bss:0x801A4888; // type:object size:0x30 -lbl_801A48B8 = .bss:0x801A48B8; // type:object size:0x18 -lbl_801A48D0 = .bss:0x801A48D0; // type:object size:0x10 data:2byte -lbl_801A48E0 = .bss:0x801A48E0; // type:object size:0xC data:4byte -lbl_801A48EC = .bss:0x801A48EC; // type:object size:0xC data:float -lbl_801A48F8 = .bss:0x801A48F8; // type:object size:0x20 data:2byte -lbl_801A4918 = .bss:0x801A4918; // type:object size:0x40 data:2byte -lbl_801A4958 = .bss:0x801A4958; // type:object size:0x10 -lbl_801A4968 = .bss:0x801A4968; // type:object size:0x10 data:2byte -lbl_801A4978 = .bss:0x801A4978; // type:object size:0xC data:float -lbl_801A4984 = .bss:0x801A4984; // type:object size:0xC data:float -lbl_801A4990 = .bss:0x801A4990; // type:object size:0xC data:float -lbl_801A499C = .bss:0x801A499C; // type:object size:0xC data:float -lbl_801A49A8 = .bss:0x801A49A8; // type:object size:0xC -lbl_801A49B4 = .bss:0x801A49B4; // type:object size:0x10 data:2byte -lbl_801A49C4 = .bss:0x801A49C4; // type:object size:0x14 data:4byte -lbl_801A49D8 = .bss:0x801A49D8; // type:object size:0x20 -lbl_801A49F8 = .bss:0x801A49F8; // type:object size:0x10 data:float -lbl_801A4A08 = .bss:0x801A4A08; // type:object size:0x500 data:byte -lbl_801A4F08 = .bss:0x801A4F08; // type:object size:0x80 -boardTutorialData = .bss:0x801A4F88; // type:object size:0x18 data:4byte -DriveInfo = .bss:0x801A4FA0; // type:object size:0x20 scope:local -__OSErrorTable = .bss:0x801A4FF0; // type:object size:0x40 scope:global -lbl_801A5040 = .bss:0x801A5040; // type:object size:0x20 -Scb = .bss:0x801A5060; // type:object size:0x54 scope:local data:4byte -RunQueue = .bss:0x801A50B8; // type:object size:0x100 scope:local data:4byte -CommandList = .bss:0x801A5AA0; // type:object size:0x3C scope:local data:4byte -AlarmForTimeout = .bss:0x801A5B08; // type:object size:0x28 scope:local -tmpBuffer = .bss:0x801A5B80; // type:object size:0x80 scope:local -DummyCommandBlock = .bss:0x801A5C00; // type:object size:0x30 scope:local -WaitingQueue = .bss:0x801A5C58; // type:object size:0x20 scope:local data:4byte -bb2Buf = .bss:0x801A5C78; // type:object size:0x3F scope:local -block$16 = .bss:0x801A5CB8; // type:object size:0x30 scope:local -lbl_801A5CE8 = .bss:0x801A5CE8; // type:object size:0x78 data:2byte -lbl_801A5D60 = .bss:0x801A5D60; // type:object size:0x78 -lbl_801A5DD8 = .bss:0x801A5DD8; // type:object size:0x58 data:2byte -lbl_801A5E30 = .bss:0x801A5E30; // type:object size:0x20 -lbl_801A5E50 = .bss:0x801A5E50; // type:object size:0x10 -lbl_801A5E60 = .bss:0x801A5E60; // type:object size:0x40 -gxData = .bss:0x801A5EA0; // type:object size:0x4F8 scope:local -lbl_801A6418 = .bss:0x801A6418; // type:object size:0x520 data:4byte -lbl_801A6938 = .bss:0x801A6938; // type:object size:0x220 data:4byte -lbl_801A6B58 = .bss:0x801A6B58; // type:object size:0x20 -Ecb = .bss:0x801A6B78; // type:object size:0xC0 scope:local data:4byte -Packet = .bss:0x801A6C38; // type:object size:0x80 scope:local data:4byte -lbl_801A6CB8 = .bss:0x801A6CB8; // type:object size:0xA0 -TypeTime = .bss:0x801A6D58; // type:object size:0x20 scope:local -lbl_801A6D78 = .bss:0x801A6D78; // type:object size:0x20 -lbl_801A6D98 = .bss:0x801A6D98; // type:object size:0x40 -lbl_801A6DD8 = .bss:0x801A6DD8; // type:object size:0x68 data:4byte -lbl_801A6E40 = .bss:0x801A6E40; // type:object size:0x118 -lbl_801A6F58 = .bss:0x801A6F58; // type:object size:0x18 data:4byte -fragmentinfo = .bss:0x801A6F70; // type:object size:0xC scope:local data:4byte -__atexit_funcs = .bss:0x801A6F80; // type:object size:0x100 scope:local -lbl_801A7080 = .bss:0x801A7080; // type:object size:0x38 data:4byte -lbl_801A70B8 = .bss:0x801A70B8; // type:object size:0x100 -lbl_801A71B8 = .bss:0x801A71B8; // type:object size:0x100 -lbl_801A72B8 = .bss:0x801A72B8; // type:object size:0x100 -lbl_801A73B8 = .bss:0x801A73B8; // type:object size:0x18 -lbl_801A73D0 = .bss:0x801A73D0; // type:object size:0x28 -gTRKBigEndian = .bss:0x801A73F8; // type:object size:0x4 scope:global data:4byte -lbl_801A7400 = .bss:0x801A7400; // type:object size:0x19B0 -gTRKInputPendingPtr = .bss:0x801A8DB0; // type:object size:0x4 scope:global data:4byte -lbl_801A8DB4 = .bss:0x801A8DB4; // type:object size:0x14 data:4byte -lbl_801A8DC8 = .bss:0x801A8DC8; // type:object size:0x8 data:4byte -lbl_801A8DD0 = .bss:0x801A8DD0; // type:object size:0x8 data:4byte -TRK_saved_exceptionID = .bss:0x801A8DD8; // type:object size:0x2 scope:local data:2byte -gTRKState = .bss:0x801A8DDC; // type:object size:0xA4 scope:global data:4byte -gTRKCPUState = .bss:0x801A8E80; // type:object size:0x430 scope:global -gTRKSaveState = .bss:0x801A92B0; // type:object size:0x94 scope:global data:4byte -lbl_801A9344 = .bss:0x801A9344; // type:object size:0x14 -lbl_801A9358 = .bss:0x801A9358; // type:object size:0x8 data:4byte -TRK_mainError = .bss:0x801A9360; // type:object size:0x4 scope:local data:4byte -lbl_801A9368 = .bss:0x801A9368; // type:object size:0x111C data:4byte -lbl_801AA484 = .bss:0x801AA484; // type:object size:0x110C -lbl_801AB590 = .bss:0x801AB590; // type:object size:0x8 data:byte -lbl_801AB598 = .bss:0x801AB598; // type:object size:0x1400 data:4byte -lbl_801AC998 = .bss:0x801AC998; // type:object size:0xC340 -lbl_801B8CD8 = .bss:0x801B8CD8; // type:object size:0x100 data:2byte -lbl_801B8DD8 = .bss:0x801B8DD8; // type:object size:0x240 -lbl_801B9018 = .bss:0x801B9018; // type:object size:0x214 data:4byte -lbl_801B922C = .bss:0x801B922C; // type:object size:0x600 data:float -lbl_801B982C = .bss:0x801B982C; // type:object size:0x40 data:byte -lbl_801B986C = .bss:0x801B986C; // type:object size:0x180 -lbl_801B99EC = .bss:0x801B99EC; // type:object size:0x20 data:4byte -lbl_801B9A0C = .bss:0x801B9A0C; // type:object size:0x20 data:4byte -lbl_801B9A2C = .bss:0x801B9A2C; // type:object size:0x20 data:4byte -lbl_801B9A4C = .bss:0x801B9A4C; // type:object size:0x20 data:4byte -lbl_801B9A6C = .bss:0x801B9A6C; // type:object size:0x10 data:byte -lbl_801B9A7C = .bss:0x801B9A7C; // type:object size:0x40 data:4byte -lbl_801B9ABC = .bss:0x801B9ABC; // type:object size:0x480 -lbl_801B9F3C = .bss:0x801B9F3C; // type:object size:0x484 -lbl_801BA3C0 = .bss:0x801BA3C0; // type:object size:0x697 -lbl_801BAA57 = .bss:0x801BAA57; // type:object size:0x1269 -lbl_801BBCC0 = .bss:0x801BBCC0; // type:object size:0x800 -lbl_801BC4C0 = .bss:0x801BC4C0; // type:object size:0xC00 -lbl_801BD0C0 = .bss:0x801BD0C0; // type:object size:0x32C0 -lbl_801C0380 = .bss:0x801C0380; // type:object size:0x7 -lbl_801C0387 = .bss:0x801C0387; // type:object size:0x379 -lbl_801C0700 = .bss:0x801C0700; // type:object size:0x800 -lbl_801C0F00 = .bss:0x801C0F00; // type:object size:0x1C0 -lbl_801C10C0 = .bss:0x801C10C0; // type:object size:0x600 data:4byte -lbl_801C16C0 = .bss:0x801C16C0; // type:object size:0x400 data:2byte -lbl_801C1AC0 = .bss:0x801C1AC0; // type:object size:0x800 data:2byte -lbl_801C22C0 = .bss:0x801C22C0; // type:object size:0x4000 -lbl_801C62C0 = .bss:0x801C62C0; // type:object size:0x20 data:2byte -lbl_801C62E0 = .bss:0x801C62E0; // type:object size:0xC -lbl_801C62EC = .bss:0x801C62EC; // type:object size:0xC data:2byte -lbl_801C62F8 = .bss:0x801C62F8; // type:object size:0x20 data:4byte -lbl_801C6318 = .bss:0x801C6318; // type:object size:0xF00 data:4byte -lbl_801C7218 = .bss:0x801C7218; // type:object size:0x40 data:byte -lbl_801C7258 = .bss:0x801C7258; // type:object size:0x80 data:byte -lbl_801C72D8 = .bss:0x801C72D8; // type:object size:0x950 data:byte -lbl_801C7C28 = .bss:0x801C7C28; // type:object size:0x3D7 -lbl_801C7FFF = .bss:0x801C7FFF; // type:object size:0x229 -lbl_801C8228 = .bss:0x801C8228; // type:object size:0x5E0 data:4byte -lbl_801C8808 = .bss:0x801C8808; // type:object size:0x100 data:4byte -lbl_801C8908 = .bss:0x801C8908; // type:object size:0x50 -lbl_801C8958 = .bss:0x801C8958; // type:object size:0x400 data:4byte -lbl_801C8D58 = .bss:0x801C8D58; // type:object size:0x300 -lbl_801C9058 = .bss:0x801C9058; // type:object size:0x700 -lbl_801C9758 = .bss:0x801C9758; // type:object size:0x200 data:4byte -lbl_801C9958 = .bss:0x801C9958; // type:object size:0x4300 -lbl_801CDC58 = .bss:0x801CDC58; // type:object size:0x80 -lbl_801CDCD8 = .bss:0x801CDCD8; // type:object size:0x2180 -lbl_801CFE58 = .bss:0x801CFE58; // type:object size:0x40 -lbl_801CFE98 = .bss:0x801CFE98; // type:object size:0x80 -lbl_801CFF18 = .bss:0x801CFF18; // type:object size:0x40 -lbl_801CFF58 = .bss:0x801CFF58; // type:object size:0x284 -lbl_801D01DC = .bss:0x801D01DC; // type:object size:0x284 -lbl_801D0460 = .bss:0x801D0460; // type:object size:0x400 data:4byte -lbl_801D0860 = .bss:0x801D0860; // type:object size:0x60 -lbl_801D08C0 = .bss:0x801D08C0; // type:object size:0x2000 -lbl_801D28C0 = .bss:0x801D28C0; // type:object size:0x500 data:4byte -lbl_801D2DC0 = .bss:0x801D2DC0; // type:object size:0x30 data:4byte -lbl_801D2DF0 = .bss:0x801D2DF0; // type:object size:0x10 data:4byte -lbl_801D2E00 = .bss:0x801D2E00; // type:object size:0x178 data:2byte -lbl_801D2F78 = .bss:0x801D2F78; // type:object size:0xE8 data:4byte -lbl_801D3060 = .bss:0x801D3060; // type:object size:0x60 data:4byte -lbl_801D30C0 = .sdata:0x801D30C0; // type:object size:0x5 scope:local data:string -lbl_801D30C5 = .sdata:0x801D30C5; // type:object size:0x7 scope:local -rnd_seed = .sdata:0x801D30CC; // type:object size:0x4 data:4byte -lbl_801D30D0 = .sdata:0x801D30D0; // type:object size:0x6 scope:local data:string -lbl_801D30D6 = .sdata:0x801D30D6; // type:object size:0x2 scope:local data:string -lbl_801D30D8 = .sdata:0x801D30D8; // type:object size:0x7 scope:local data:string -lbl_801D30DF = .sdata:0x801D30DF; // type:object size:0x9 scope:local -FirstFrame = .sdata:0x801D30E8; // type:object size:0x4 data:4byte -lbl_801D30EC = .sdata:0x801D30EC; // type:object size:0x7 scope:local data:string -lbl_801D30F3 = .sdata:0x801D30F3; // type:object size:0xD scope:local -lbl_801D3100 = .sdata:0x801D3100; // type:object size:0x2 scope:local data:string -lbl_801D3102 = .sdata:0x801D3102; // type:object size:0xE scope:local -oneceF = .sdata:0x801D3110; // type:object size:0x2 scope:local data:2byte -firstTev = .sdata:0x801D3112; // type:object size:0x4 scope:local -secondTev = .sdata:0x801D3116; // type:object size:0x4 scope:local -lbl_801D311A = .sdata:0x801D311A; // type:object size:0xE scope:local -lbl_801D3128 = .sdata:0x801D3128; // type:object size:0x4 scope:local data:string -lbl_801D312C = .sdata:0x801D312C; // type:object size:0xC scope:local -omSysPauseEnableFlag = .sdata:0x801D3138; // type:object size:0x1 data:byte -omprevovl = .sdata:0x801D313C; // type:object size:0x4 data:4byte -titleMes = .sdata:0x801D3140; // type:object size:0x4 scope:local data:4byte -lbl_801D3144 = .sdata:0x801D3144; // type:object size:0xC scope:local -lbl_801D3150 = .sdata:0x801D3150; // type:object size:0x1 scope:local -lbl_801D3151 = .sdata:0x801D3151; // type:object size:0x7 scope:local -mgSeqOvlPrev = .sdata:0x801D3158; // type:object size:0x4 data:4byte -wordStartE = .sdata:0x801D315C; // type:object size:0x7 scope:local data:string -seqPunctTbl = .sdata:0x801D3163; // type:object size:0x3 scope:local data:byte -wordStartJ = .sdata:0x801D3166; // type:object size:0x6 scope:local -wordFinishJ = .sdata:0x801D316C; // type:object size:0x8 scope:local -wordDrawJ = .sdata:0x801D3174; // type:object size:0x6 scope:local -wordFinishE = .sdata:0x801D317A; // type:object size:0x8 scope:local data:string -wordDrawE = .sdata:0x801D3182; // type:object size:0x6 scope:local data:string -@1961 = .sdata:0x801D3188; // type:object size:0x4 scope:local data:string -@1962 = .sdata:0x801D318C; // type:object size:0x6 scope:local data:string -@1963 = .sdata:0x801D3192; // type:object size:0x6 scope:local -@1964 = .sdata:0x801D3198; // type:object size:0x6 scope:local data:string -@1965 = .sdata:0x801D319E; // type:object size:0x5 scope:local -@1966 = .sdata:0x801D31A3; // type:object size:0x6 scope:local data:string -@1967 = .sdata:0x801D31A9; // type:object size:0x5 scope:local -@1968 = .sdata:0x801D31AE; // type:object size:0x6 scope:local data:string -@1969 = .sdata:0x801D31B4; // type:object size:0x4 scope:local -@1970 = .sdata:0x801D31B8; // type:object size:0x6 scope:local data:string -@1971 = .sdata:0x801D31BE; // type:object size:0x6 scope:local -@1972 = .sdata:0x801D31C4; // type:object size:0x3 scope:local data:string -@1973 = .sdata:0x801D31C7; // type:object size:0x7 scope:local -@1974 = .sdata:0x801D31CE; // type:object size:0x6 scope:local data:string -@1975 = .sdata:0x801D31D4; // type:object size:0x7 scope:local -@1976 = .sdata:0x801D31DB; // type:object size:0x8 scope:local data:string -@1977 = .sdata:0x801D31E3; // type:object size:0x5 scope:local -@1978 = .sdata:0x801D31E8; // type:object size:0x7 scope:local data:string -@1979 = .sdata:0x801D31EF; // type:object size:0x6 scope:local -@1980 = .sdata:0x801D31F5; // type:object size:0x5 scope:local data:string -@1981 = .sdata:0x801D31FA; // type:object size:0x5 scope:local -@1982 = .sdata:0x801D31FF; // type:object size:0x6 scope:local data:string -@1983 = .sdata:0x801D3205; // type:object size:0x4 scope:local -@1984 = .sdata:0x801D3209; // type:object size:0x8 scope:local data:string -@1985 = .sdata:0x801D3211; // type:object size:0x5 scope:local -@1986 = .sdata:0x801D3216; // type:object size:0x7 scope:local -@1987 = .sdata:0x801D321D; // type:object size:0x6 scope:local -@1988 = .sdata:0x801D3223; // type:object size:0x7 scope:local data:string -@1989 = .sdata:0x801D322A; // type:object size:0x3 scope:local -@1990 = .sdata:0x801D322D; // type:object size:0x5 scope:local data:string -@1991 = .sdata:0x801D3232; // type:object size:0x6 scope:local -@1992 = .sdata:0x801D3238; // type:object size:0x5 scope:local data:string -@1993 = .sdata:0x801D323D; // type:object size:0x7 scope:local -@1994 = .sdata:0x801D3244; // type:object size:0x6 scope:local -@1995 = .sdata:0x801D324A; // type:object size:0x6 scope:local data:string -pauseStr$2283 = .sdata:0x801D3250; // type:object size:0x8 scope:local -lbl_801D35C0 = .sdata:0x801D3258; // type:object size:0x8 -lbl_801D35C8 = .sdata:0x801D3260; // type:object size:0x8 -lbl_801D35D0 = .sdata:0x801D3268; // type:object size:0x8 -lbl_801D35D8 = .sdata:0x801D3270; // type:object size:0x8 -colorN$226 = .sdata:0x801D3278; // type:object size:0x4 scope:local data:byte -colorN$271 = .sdata:0x801D327C; // type:object size:0x4 scope:local data:byte -winPrio = .sdata:0x801D3280; // type:object size:0x2 scope:local data:2byte -lbl_801D3288 = .sdata:0x801D3288; // type:object size:0x8 scope:local -lbl_801D3290 = .sdata:0x801D3290; // type:object size:0x8 scope:local -lbl_801D3298 = .sdata:0x801D3298; // type:object size:0x8 scope:local -lbl_801D32A0 = .sdata:0x801D32A0; // type:object size:0x8 scope:local -lbl_801D32A8 = .sdata:0x801D32A8; // type:object size:0x8 scope:local -lbl_801D32B0 = .sdata:0x801D32B0; // type:object size:0x1 scope:local -lbl_801D32B1 = .sdata:0x801D32B1; // type:object size:0x5 scope:local data:string -lbl_801D32B6 = .sdata:0x801D32B6; // type:object size:0x5 scope:local data:string -lbl_801D32BB = .sdata:0x801D32BB; // type:object size:0x8 scope:local data:string -lbl_801D32C3 = .sdata:0x801D32C3; // type:object size:0x6 scope:local data:string -lbl_801D32C9 = .sdata:0x801D32C9; // type:object size:0x7 scope:local -lbl_801D32D0 = .sdata:0x801D32D0; // type:object size:0x8 scope:local -SaveEnableF = .sdata:0x801D32D8; // type:object size:0x4 data:4byte -@228 = .sdata:0x801D32DC; // type:object size:0x2 scope:local data:string -@229 = .sdata:0x801D32DE; // type:object size:0x2 scope:local data:string -SlotNameTbl = .sdata:0x801D32E0; // type:object size:0x8 scope:local -lbl_801D32E8 = .sdata:0x801D32E8; // type:object size:0x3 scope:local -lbl_801D32EB = .sdata:0x801D32EB; // type:object size:0x4 scope:local -slotIconMesTbl = .sdata:0x801D32F0; // type:object size:0x8 scope:local -sjisSpace = .sdata:0x801D32F8; // type:object size:0x3 scope:local data:byte -saveMessWin = .sdata:0x801D32FC; // type:object size:0x4 scope:local data:4byte -SR_PushTime = .sdata:0x801D3300; // type:object size:0x8 scope:local data:2byte -SR_ResetPad = .sdata:0x801D3308; // type:object size:0x1 scope:local data:byte -Xfb = .sdata:0x801D330C; // type:object size:0x8 scope:local data:4byte -nextOvl = .sdata:0x801D3318; // type:object size:0x4 scope:local data:4byte -lbl_801D331C = .sdata:0x801D331C; // type:object size:0x4 scope:local data:byte -lbl_801D3320 = .sdata:0x801D3320; // type:object size:0x6 scope:local data:string -suitMdl = .sdata:0x801D3328; // type:object size:0x2 scope:local data:2byte -suitPlayerMdl = .sdata:0x801D332A; // type:object size:0x2 scope:local data:2byte -suitCurrMot = .sdata:0x801D332C; // type:object size:0x2 scope:local data:2byte -lbl_801D332E = .sdata:0x801D332E; // type:object size:0x5 scope:local data:string -lbl_801D3333 = .sdata:0x801D3333; // type:object size:0x5 scope:local data:string -lbl_801D3338 = .sdata:0x801D3338; // type:object size:0x6 scope:local data:string -lbl_801D333E = .sdata:0x801D333E; // type:object size:0x6 scope:local data:string -lbl_801D3344 = .sdata:0x801D3344; // type:object size:0x6 scope:local data:string -lbl_801D334A = .sdata:0x801D334A; // type:object size:0x6 scope:local data:string -lbl_801D3350 = .sdata:0x801D3350; // type:object size:0x6 scope:local data:string -lbl_801D3356 = .sdata:0x801D3356; // type:object size:0x6 scope:local data:string -lbl_801D335C = .sdata:0x801D335C; // type:object size:0x6 scope:local data:string -lbl_801D3362 = .sdata:0x801D3362; // type:object size:0x6 scope:local data:string -lbl_801D3368 = .sdata:0x801D3368; // type:object size:0x6 scope:local data:string -lbl_801D336E = .sdata:0x801D336E; // type:object size:0x6 scope:local data:string -lbl_801D3374 = .sdata:0x801D3374; // type:object size:0x6 scope:local data:string -lbl_801D337A = .sdata:0x801D337A; // type:object size:0xE scope:local -lbl_801D3388 = .sdata:0x801D3388; // type:object size:0x8 data:2byte -lbl_801D3390 = .sdata:0x801D3390; // type:object size:0x8 data:4byte -lbl_801D3398 = .sdata:0x801D3398; // type:object size:0x8 data:byte -lbl_801D33A0 = .sdata:0x801D33A0; // type:object size:0x2 data:2byte -lbl_801D33A2 = .sdata:0x801D33A2; // type:object size:0x6 data:2byte -lbl_801D33A8 = .sdata:0x801D33A8; // type:object size:0x2 data:2byte -lbl_801D33AA = .sdata:0x801D33AA; // type:object size:0x6 data:2byte -lbl_801D33B0 = .sdata:0x801D33B0; // type:object size:0x2 data:2byte -lbl_801D33B2 = .sdata:0x801D33B2; // type:object size:0x1 data:byte -lbl_801D33B4 = .sdata:0x801D33B4; // type:object size:0x8 -lbl_801D33BC = .sdata:0x801D33BC; // type:object size:0x2 data:2byte -lbl_801D33BE = .sdata:0x801D33BE; // type:object size:0x6 data:2byte -lbl_801D33C4 = .sdata:0x801D33C4; // type:object size:0x1 data:byte -lbl_801D33C5 = .sdata:0x801D33C5; // type:object size:0xB -lbl_801D33D0 = .sdata:0x801D33D0; // type:object size:0x2 data:2byte -lbl_801D33D2 = .sdata:0x801D33D2; // type:object size:0x8 data:2byte -lbl_801D33DA = .sdata:0x801D33DA; // type:object size:0x2 data:2byte -lbl_801D33DC = .sdata:0x801D33DC; // type:object size:0x2 data:2byte -lbl_801D33DE = .sdata:0x801D33DE; // type:object size:0x2 data:2byte -lbl_801D33E2 = .sdata:0x801D33E2; // type:object size:0x2 data:2byte -lbl_801D33E4 = .sdata:0x801D33E4; // type:object size:0x8 -lbl_801D33EC = .sdata:0x801D33EC; // type:object size:0x2 data:2byte -lbl_801D33EE = .sdata:0x801D33EE; // type:object size:0x2 data:2byte -lbl_801D33F0 = .sdata:0x801D33F0; // type:object size:0x2 data:2byte -lbl_801D33F2 = .sdata:0x801D33F2; // type:object size:0x2 data:2byte -lbl_801D33F4 = .sdata:0x801D33F4; // type:object size:0x4 -lbl_801D33F8 = .sdata:0x801D33F8; // type:object size:0x8 -lbl_801D3400 = .sdata:0x801D3400; // type:object size:0x1 data:byte -lbl_801D3402 = .sdata:0x801D3402; // type:object size:0x2 data:2byte -lbl_801D3404 = .sdata:0x801D3404; // type:object size:0x4 data:4byte -lbl_801D3408 = .sdata:0x801D3408; // type:object size:0x8 -lbl_801D3410 = .sdata:0x801D3410; // type:object size:0x8 data:2byte -lbl_801D3418 = .sdata:0x801D3418; // type:object size:0x2 data:2byte -lbl_801D341A = .sdata:0x801D341A; // type:object size:0x6 data:2byte -lbl_801D3420 = .sdata:0x801D3420; // type:object size:0x6 -lbl_801D3426 = .sdata:0x801D3426; // type:object size:0x6 -lbl_801D342C = .sdata:0x801D342C; // type:object size:0x2 data:2byte -lbl_801D342E = .sdata:0x801D342E; // type:object size:0xA -lbl_801D3438 = .sdata:0x801D3438; // type:object size:0x2 data:2byte -lbl_801D343A = .sdata:0x801D343A; // type:object size:0x6 data:2byte -lbl_801D3440 = .sdata:0x801D3440; // type:object size:0x2 data:2byte -lbl_801D3442 = .sdata:0x801D3442; // type:object size:0x6 data:2byte -lbl_801D3448 = .sdata:0x801D3448; // type:object size:0x8 -lbl_801D3450 = .sdata:0x801D3450; // type:object size:0x8 -lbl_801D3458 = .sdata:0x801D3458; // type:object size:0x2 data:2byte -lbl_801D345A = .sdata:0x801D345A; // type:object size:0x2 data:2byte -lbl_801D345C = .sdata:0x801D345C; // type:object size:0x2 data:2byte -lbl_801D345E = .sdata:0x801D345E; // type:object size:0x2 data:2byte -lbl_801D3460 = .sdata:0x801D3460; // type:object size:0x3 data:string -lbl_801D3463 = .sdata:0x801D3463; // type:object size:0xD -lbl_801D3470 = .sdata:0x801D3470; // type:object size:0x8 -lbl_801D3478 = .sdata:0x801D3478; // type:object size:0x8 -lbl_801D3480 = .sdata:0x801D3480; // type:object size:0x8 -lbl_801D3488 = .sdata:0x801D3488; // type:object size:0x8 -lbl_801D3490 = .sdata:0x801D3490; // type:object size:0x1 data:byte -lbl_801D3491 = .sdata:0x801D3491; // type:object size:0x7 data:byte -lbl_801D3498 = .sdata:0x801D3498; // type:object size:0x2 data:2byte -lbl_801D349A = .sdata:0x801D349A; // type:object size:0x2 data:2byte -lbl_801D349C = .sdata:0x801D349C; // type:object size:0x2 data:2byte -lbl_801D349E = .sdata:0x801D349E; // type:object size:0x2 data:2byte -lbl_801D34A0 = .sdata:0x801D34A0; // type:object size:0x2 data:2byte -lbl_801D34A2 = .sdata:0x801D34A2; // type:object size:0x2 data:2byte -lbl_801D34A4 = .sdata:0x801D34A4; // type:object size:0x6 data:2byte -lbl_801D34AA = .sdata:0x801D34AA; // type:object size:0x7 data:string -lbl_801D34B1 = .sdata:0x801D34B1; // type:object size:0x7 data:string -lbl_801D34B8 = .sdata:0x801D34B8; // type:object size:0x7 data:string -lbl_801D34BF = .sdata:0x801D34BF; // type:object size:0x7 data:string -lbl_801D34C6 = .sdata:0x801D34C6; // type:object size:0x7 data:string -lbl_801D34CD = .sdata:0x801D34CD; // type:object size:0x6 data:string -lbl_801D34D3 = .sdata:0x801D34D3; // type:object size:0x7 data:string -lbl_801D34DA = .sdata:0x801D34DA; // type:object size:0x6 data:string -lbl_801D34E0 = .sdata:0x801D34E0; // type:object size:0x8 -lbl_801D34E8 = .sdata:0x801D34E8; // type:object size:0x2 data:2byte -lbl_801D34EA = .sdata:0x801D34EA; // type:object size:0x2 data:2byte -lbl_801D34EC = .sdata:0x801D34EC; // type:object size:0x2 data:2byte -lbl_801D34EE = .sdata:0x801D34EE; // type:object size:0x2 data:2byte -lbl_801D34F0 = .sdata:0x801D34F0; // type:object size:0x4 data:4byte -lbl_801D34F4 = .sdata:0x801D34F4; // type:object size:0x4 -lbl_801D34F8 = .sdata:0x801D34F8; // type:object size:0x2 data:2byte -lbl_801D34FA = .sdata:0x801D34FA; // type:object size:0x2 data:2byte -lbl_801D34FC = .sdata:0x801D34FC; // type:object size:0x2 data:2byte -lbl_801D34FE = .sdata:0x801D34FE; // type:object size:0x2 data:2byte -lbl_801D3500 = .sdata:0x801D3500; // type:object size:0x4 data:4byte -lbl_801D3504 = .sdata:0x801D3504; // type:object size:0x6 data:string -lbl_801D350A = .sdata:0x801D350A; // type:object size:0x7 data:string -lbl_801D3511 = .sdata:0x801D3511; // type:object size:0x7 data:string -lbl_801D3518 = .sdata:0x801D3518; // type:object size:0x7 data:string -lbl_801D351F = .sdata:0x801D351F; // type:object size:0x5 data:string -lbl_801D3524 = .sdata:0x801D3524; // type:object size:0x6 data:string -lbl_801D352A = .sdata:0x801D352A; // type:object size:0x6 data:string -lbl_801D3530 = .sdata:0x801D3530; // type:object size:0x6 data:string -lbl_801D3536 = .sdata:0x801D3536; // type:object size:0x4 data:string -lbl_801D353A = .sdata:0x801D353A; // type:object size:0x5 data:string -lbl_801D353F = .sdata:0x801D353F; // type:object size:0x5 data:string -lbl_801D3544 = .sdata:0x801D3544; // type:object size:0xC -pausePad = .sdata:0x801D3550; // type:object size:0x1 scope:local data:byte -pauseSprGrp = .sdata:0x801D3552; // type:object size:0x2 scope:local data:2byte -padConfigSprGrp = .sdata:0x801D3554; // type:object size:0x2 scope:local data:2byte -pauseCursorPos = .sdata:0x801D3556; // type:object size:0x2 scope:local data:2byte -settingsControlWin = .sdata:0x801D3558; // type:object size:0x2 scope:local data:2byte -controlWin = .sdata:0x801D355A; // type:object size:0x2 scope:local data:2byte -quitWin = .sdata:0x801D355C; // type:object size:0x2 scope:local data:2byte -settingsWin = .sdata:0x801D355E; // type:object size:0x2 scope:local data:2byte -__OSCurrHeap = .sdata:0x801D3560; // type:object size:0x8 data:4byte -__OSArenaLo = .sdata:0x801D3568; // type:object size:0x4 scope:local data:4byte -@32 = .sdata:0x801D3570; // type:object size:0x2 scope:local data:string -lbl_801D3578 = .sdata:0x801D3578; // type:object size:0x8 data:2byte -lbl_801D3580 = .sdata:0x801D3580; // type:object size:0x8 -lbl_801D3588 = .sdata:0x801D3588; // type:object size:0x8 data:4byte -lbl_801D3590 = .sdata:0x801D3590; // type:object size:0x8 data:string -autoInvalidation = .sdata:0x801D3598; // type:object size:0x4 scope:local data:4byte -@35 = .sdata:0x801D35A0; // type:object size:0x2 scope:local data:string -@40 = .sdata:0x801D35A4; // type:object size:0x4 scope:local data:string -@41 = .sdata:0x801D35A8; // type:object size:0x3 scope:local data:string -lbl_801D35B0 = .sdata:0x801D35B0; // type:object size:0x8 data:string -lbl_801D35B8 = .sdata:0x801D35B8; // type:object size:0x8 data:byte -lbl_801D35C0_2 = .sdata:0x801D35C0; // type:object size:0x4 data:4byte -lbl_801D35C4 = .sdata:0x801D35C4; // type:object size:0x4 data:4byte -lbl_801D35C8_2 = .sdata:0x801D35C8; // type:object size:0x4 data:4byte -lbl_801D35CC = .sdata:0x801D35CC; // type:object size:0x4 data:4byte -lbl_801D35D0_2 = .sdata:0x801D35D0; // type:object size:0x4 data:4byte -lbl_801D35D4 = .sdata:0x801D35D4; // type:object size:0x4 -lbl_801D35D8_2 = .sdata:0x801D35D8; // type:object size:0x8 -gx = .sdata:0x801D35E0; // type:object size:0x4 scope:global data:4byte -lbl_801D35E8 = .sdata:0x801D35E8; // type:object size:0x4 -lbl_801D35EC = .sdata:0x801D35EC; // type:object size:0x4 -lbl_801D35F0 = .sdata:0x801D35F0; // type:object size:0x8 -lbl_801D35F8 = .sdata:0x801D35F8; // type:object size:0x8 -lbl_801D3600 = .sdata:0x801D3600; // type:object size:0x8 -lbl_801D3608 = .sdata:0x801D3608; // type:object size:0x8 -lbl_801D3610 = .sdata:0x801D3610; // type:object size:0x8 -lbl_801D3618 = .sdata:0x801D3618; // type:object size:0x8 -lbl_801D3620 = .sdata:0x801D3620; // type:object size:0x8 -lbl_801D3628 = .sdata:0x801D3628; // type:object size:0x8 -lbl_801D3630 = .sdata:0x801D3630; // type:object size:0x8 -lbl_801D3638 = .sdata:0x801D3638; // type:object size:0x8 data:4byte -lbl_801D3640 = .sdata:0x801D3640; // type:object size:0x8 data:2byte -lbl_801D3648 = .sdata:0x801D3648; // type:object size:0x8 -lbl_801D3650 = .sdata:0x801D3650; // type:object size:0x4 data:4byte -lbl_801D3654 = .sdata:0x801D3654; // type:object size:0x4 data:4byte -fragmentID = .sdata:0x801D3658; // type:object size:0x4 scope:local data:4byte -lbl_801D3660 = .sdata:0x801D3660; // type:object size:0x8 -lbl_801D3668 = .sdata:0x801D3668; // type:object size:0x8 -@wstringBase0 = .sdata:0x801D3670; // type:object size:0x2 scope:local -lbl_801D3678 = .sdata:0x801D3678; // type:object size:0x4 data:float -lbl_801D367C = .sdata:0x801D367C; // type:object size:0x4 data:float -lbl_801D3680 = .sdata:0x801D3680; // type:object size:0x8 data:4byte -lbl_801D3688 = .sdata:0x801D3688; // type:object size:0x8 -lbl_801D3690 = .sdata:0x801D3690; // type:object size:0x8 -lbl_801D3698 = .sdata:0x801D3698; // type:object size:0x8 data:2byte -lbl_801D36A0 = .sdata:0x801D36A0; // type:object size:0x1 data:byte -SystemInitF = .sbss:0x801D36C0; // type:object size:0x4 data:4byte -HuDvdErrWait = .sbss:0x801D36C4; // type:object size:0x4 data:4byte -fi_req = .sbss:0x801D36C8; // type:object size:0x4 scope:local -rf_req = .sbss:0x801D36CC; // type:object size:0x4 scope:local -pe_req = .sbss:0x801D36D0; // type:object size:0x4 scope:local -vi_req = .sbss:0x801D36D4; // type:object size:0x4 scope:local -io_req = .sbss:0x801D36D8; // type:object size:0x4 scope:local -dsp_req = .sbss:0x801D36DC; // type:object size:0x4 scope:local -cpu_wr_req = .sbss:0x801D36E0; // type:object size:0x4 scope:local -cpu_rd_req = .sbss:0x801D36E4; // type:object size:0x4 scope:local -tc_req = .sbss:0x801D36E8; // type:object size:0x4 scope:local -cp_req = .sbss:0x801D36EC; // type:object size:0x4 scope:local -total_copy_clks = .sbss:0x801D36F0; // type:object size:0x4 scope:local -clr_pixels_in = .sbss:0x801D36F4; // type:object size:0x4 scope:local -bot_pixels_out = .sbss:0x801D36F8; // type:object size:0x4 scope:local -bot_pixels_in = .sbss:0x801D36FC; // type:object size:0x4 scope:local -top_pixels_out = .sbss:0x801D3700; // type:object size:0x4 scope:local -top_pixels_in = .sbss:0x801D3704; // type:object size:0x4 scope:local -vstall = .sbss:0x801D3708; // type:object size:0x4 scope:local -vmiss = .sbss:0x801D370C; // type:object size:0x4 scope:local -vcheck = .sbss:0x801D3710; // type:object size:0x4 scope:local -GlobalCounter = .sbss:0x801D3714; // type:object size:0x4 data:4byte -VCounter = .sbss:0x801D3718; // type:object size:0x4 data:4byte -RumbleBit = .sbss:0x801D371C; // type:object size:0x4 scope:local data:4byte -_PadErr = .sbss:0x801D3720; // type:object size:0x4 scope:local -_PadDStkRepOld = .sbss:0x801D3724; // type:object size:0x4 scope:local -_PadDStkRepCnt = .sbss:0x801D3728; // type:object size:0x4 scope:local -_PadDStkRep = .sbss:0x801D372C; // type:object size:0x4 scope:local -_PadDStk = .sbss:0x801D3730; // type:object size:0x4 scope:local -_PadTrigR = .sbss:0x801D3734; // type:object size:0x4 scope:local -_PadTrigL = .sbss:0x801D3738; // type:object size:0x4 scope:local -_PadSubStkY = .sbss:0x801D373C; // type:object size:0x4 scope:local -_PadSubStkX = .sbss:0x801D3740; // type:object size:0x4 scope:local -_PadStkY = .sbss:0x801D3744; // type:object size:0x4 scope:local -_PadStkX = .sbss:0x801D3748; // type:object size:0x4 scope:local -_PadRepCnt = .sbss:0x801D374C; // type:object size:0x8 scope:local -_PadBtnDown = .sbss:0x801D3754; // type:object size:0x8 -_PadBtn = .sbss:0x801D375C; // type:object size:0x8 -HuPadErr = .sbss:0x801D3764; // type:object size:0x4 -HuPadDStkRep = .sbss:0x801D3768; // type:object size:0x4 -HuPadDStk = .sbss:0x801D376C; // type:object size:0x4 -HuPadTrigR = .sbss:0x801D3770; // type:object size:0x4 -HuPadTrigL = .sbss:0x801D3774; // type:object size:0x4 -HuPadSubStkY = .sbss:0x801D3778; // type:object size:0x4 -HuPadSubStkX = .sbss:0x801D377C; // type:object size:0x4 -HuPadStkY = .sbss:0x801D3780; // type:object size:0x4 -HuPadStkX = .sbss:0x801D3784; // type:object size:0x4 -HuPadBtnRep = .sbss:0x801D3788; // type:object size:0x8 -HuPadBtnDown = .sbss:0x801D3790; // type:object size:0x8 data:2byte -HuPadBtn = .sbss:0x801D3798; // type:object size:0x8 -beforeDvdStatus = .sbss:0x801D37A0; // type:object size:0x4 scope:local data:4byte -CallBackStatus = .sbss:0x801D37A4; // type:object size:0x4 scope:local data:4byte -shortAccessSleep = .sbss:0x801D37A8; // type:object size:0x4 scope:local data:4byte -DataDirMax = .sbss:0x801D37AC; // type:object size:0x4 scope:local data:4byte -DirDataSize = .sbss:0x801D37B0; // type:object size:0x4 data:4byte -DemoStatEnable = .sbss:0x801D37B8; // type:object size:0x4 scope:local data:4byte -worstVcount = .sbss:0x801D37BC; // type:object size:0x4 data:4byte -minimumVcountf = .sbss:0x801D37C0; // type:object size:0x4 data:float -minimumVcount = .sbss:0x801D37C4; // type:object size:0x4 data:4byte -DemoCurrentBuffer = .sbss:0x801D37C8; // type:object size:0x4 data:4byte -DemoFrameBuffer2 = .sbss:0x801D37CC; // type:object size:0x4 data:4byte -DemoFrameBuffer1 = .sbss:0x801D37D0; // type:object size:0x4 scope:local data:4byte -DefaultFifoObj = .sbss:0x801D37D4; // type:object size:0x4 scope:local data:4byte -DefaultFifo = .sbss:0x801D37D8; // type:object size:0x4 data:4byte -currentHeapHandle = .sbss:0x801D37DC; // type:object size:0x4 data:4byte -RenderMode = .sbss:0x801D37E0; // type:object size:0x8 data:4byte -saftyFrameF = .sbss:0x801D37E8; // type:object size:0x4 data:4byte -strlinecnt = .sbss:0x801D37EC; // type:object size:0x2 data:2byte -empstrline = .sbss:0x801D37EE; // type:object size:0x2 data:2byte -fontcolor = .sbss:0x801D37F0; // type:object size:0x8 data:4byte -procfunc = .sbss:0x801D37F8; // type:object size:0x4 data:4byte -processcnt = .sbss:0x801D37FC; // type:object size:0x2 scope:local data:2byte -processcur = .sbss:0x801D3800; // type:object size:0x4 scope:local data:4byte -processtop = .sbss:0x801D3804; // type:object size:0x4 scope:local data:4byte -HuSprPauseF = .sbss:0x801D3808; // type:object size:0x4 scope:local data:4byte -HuSprOrderNo = .sbss:0x801D380C; // type:object size:0x2 scope:local data:2byte -HuSprOrderNum = .sbss:0x801D380E; // type:object size:0x2 scope:local data:2byte -bmpCCIdx = .sbss:0x801D3810; // type:object size:0x8 scope:local data:2byte -MaterialTop = .sbss:0x801D3818; // type:object size:0x4 data:4byte -AttributeTop = .sbss:0x801D381C; // type:object size:0x4 data:4byte -ClusterTop = .sbss:0x801D3820; // type:object size:0x4 data:4byte -vtxtop = .sbss:0x801D3824; // type:object size:0x4 data:4byte -objtop = .sbss:0x801D3828; // type:object size:0x4 data:4byte -NSymIndex = .sbss:0x801D382C; // type:object size:0x4 data:4byte -DicStringTable = .sbss:0x801D3830; // type:object size:0x4 data:4byte -StringTable = .sbss:0x801D3834; // type:object size:0x4 data:4byte -fileptr = .sbss:0x801D3838; // type:object size:0x4 data:4byte -NormalDataTop = .sbss:0x801D383C; // type:object size:0x4 scope:local data:4byte -VertexDataTop = .sbss:0x801D3840; // type:object size:0x4 scope:local data:4byte -MotionModel = .sbss:0x801D3844; // type:object size:0x4 scope:local data:4byte -MotionOnly = .sbss:0x801D3848; // type:object size:0x8 scope:local data:4byte -CancelTRXF = .sbss:0x801D3850; // type:object size:0x4 scope:local data:4byte -TL32F = .sbss:0x801D3854; // type:object size:0x4 scope:local data:4byte -PGName = .sbss:0x801D3858; // type:object size:0x4 scope:local data:4byte -PGFinishF = .sbss:0x801D385C; // type:object size:0x4 scope:local data:4byte -polySize = .sbss:0x801D3860; // type:object size:0x2 scope:local data:2byte -curModelID = .sbss:0x801D3864; // type:object size:0x4 scope:local data:4byte -mallocNo = .sbss:0x801D3868; // type:object size:0x4 scope:local data:4byte -totalSize = .sbss:0x801D386C; // type:object size:0x4 scope:local data:4byte -DLTotalNum = .sbss:0x801D3870; // type:object size:0x4 scope:local data:4byte -faceNumBuf = .sbss:0x801D3874; // type:object size:0x4 scope:local data:4byte -faceCnt = .sbss:0x801D3878; // type:object size:0x2 scope:local data:2byte -quadCnt = .sbss:0x801D387A; // type:object size:0x2 scope:local data:2byte -triCnt = .sbss:0x801D387C; // type:object size:0x2 scope:local data:2byte -matChgCnt = .sbss:0x801D387E; // type:object size:0x2 scope:local data:2byte -DLFirstF = .sbss:0x801D3880; // type:object size:0x4 scope:local data:4byte -modelObjNum = .sbss:0x801D3884; // type:object size:0x2 data:2byte -modelMeshNum = .sbss:0x801D3886; // type:object size:0x2 data:2byte -totalTexCacheCnted = .sbss:0x801D3888; // type:object size:0x4 data:4byte -totalTexCacheCnt = .sbss:0x801D388C; // type:object size:0x4 data:4byte -totalTexCnted = .sbss:0x801D3890; // type:object size:0x4 data:4byte -totalTexCnt = .sbss:0x801D3894; // type:object size:0x4 data:4byte -totalMatCnted = .sbss:0x801D3898; // type:object size:0x4 data:4byte -totalMatCnt = .sbss:0x801D389C; // type:object size:0x4 data:4byte -totalPolyCnted = .sbss:0x801D38A0; // type:object size:0x4 data:4byte -totalPolyCnt = .sbss:0x801D38A4; // type:object size:0x4 data:4byte -hookIdx = .sbss:0x801D38A8; // type:object size:0x2 scope:local data:2byte -kColorIdx = .sbss:0x801D38AC; // type:object size:0x4 scope:local data:4byte -kColor = .sbss:0x801D38B0; // type:object size:0x4 scope:local data:byte -projectionMapNo = .sbss:0x801D38B4; // type:object size:0x2 scope:local data:2byte -toonMapNo = .sbss:0x801D38B6; // type:object size:0x2 scope:local data:2byte -shadowMapNo = .sbss:0x801D38B8; // type:object size:0x2 scope:local data:2byte -attachMotionF = .sbss:0x801D38BC; // type:object size:0x4 scope:local data:4byte -vtxModeBak = .sbss:0x801D38C0; // type:object size:0x2 scope:local data:2byte -hiliteMapNo = .sbss:0x801D38C2; // type:object size:0x2 scope:local data:2byte -reflectionMapNo = .sbss:0x801D38C4; // type:object size:0x2 scope:local data:2byte -Hu3DObjInfoP = .sbss:0x801D38C8; // type:object size:0x4 scope:local data:4byte -DrawObjIdx = .sbss:0x801D38CC; // type:object size:0x2 scope:local data:2byte -lightBit = .sbss:0x801D38CE; // type:object size:0x2 scope:local data:2byte -drawCnt = .sbss:0x801D38D0; // type:object size:0x4 scope:local data:4byte -DrawData = .sbss:0x801D38D4; // type:object size:0x4 scope:local data:4byte -DLBufStartP = .sbss:0x801D38D8; // type:object size:0x4 scope:local data:4byte -DLBufP = .sbss:0x801D38DC; // type:object size:0x4 scope:local data:4byte -shadingBak = .sbss:0x801D38E0; // type:object size:0x4 scope:local data:4byte -polyTypeBak = .sbss:0x801D38E4; // type:object size:0x1 scope:local data:byte -materialBak = .sbss:0x801D38E8; // type:object size:0x4 scope:local data:4byte -MTXIdx = .sbss:0x801D38EC; // type:object size:0x2 data:2byte -modelKillAllF = .sbss:0x801D38F0; // type:object size:0x4 data:4byte -NoSyncF = .sbss:0x801D38F4; // type:object size:0x2 scope:local data:2byte -Hu3DCameraExistF = .sbss:0x801D38F6; // type:object size:0x2 data:2byte -Hu3DPauseF = .sbss:0x801D38F8; // type:object size:0x2 data:2byte -Hu3DMallocNo = .sbss:0x801D38FC; // type:object size:0x4 data:4byte -Hu3DCameraBit = .sbss:0x801D3900; // type:object size:0x2 data:2byte -Hu3DCameraNo = .sbss:0x801D3902; // type:object size:0x2 data:2byte -Hu3DProjectionNum = .sbss:0x801D3904; // type:object size:0x2 data:2byte -shadowModelDrawF = .sbss:0x801D3908; // type:object size:0x4 data:4byte -Hu3DShadowF = .sbss:0x801D390C; // type:object size:0x4 data:4byte -Hu3DShadowCamBit = .sbss:0x801D3910; // type:object size:0x2 data:2byte -toonAnim = .sbss:0x801D3914; // type:object size:0x4 data:4byte -reflectMapNo = .sbss:0x801D3918; // type:object size:0x2 data:2byte -BGColor = .sbss:0x801D391A; // type:object size:0x4 data:byte -bitMapPtr = .sbss:0x801D3920; // type:object size:0x4 scope:local data:4byte -metf = .sbss:0x801D3928; // type:object size:0x1 scope:local data:byte -tokenEndF = .sbss:0x801D392A; // type:object size:0x2 scope:local data:2byte -total_copy_clks = .sbss:0x801D392C; // type:object size:0x4 scope:local data:4byte -clr_pixels_in = .sbss:0x801D3930; // type:object size:0x4 scope:local -bot_pixels_out = .sbss:0x801D3934; // type:object size:0x4 -bot_pixels_in = .sbss:0x801D3938; // type:object size:0x4 -top_pixels_out = .sbss:0x801D393C; // type:object size:0x4 -top_pixels_in = .sbss:0x801D3940; // type:object size:0x4 -fi_req = .sbss:0x801D3944; // type:object size:0x4 -rf_req = .sbss:0x801D3948; // type:object size:0x4 -pe_req = .sbss:0x801D394C; // type:object size:0x4 -vi_req = .sbss:0x801D3950; // type:object size:0x4 -io_req = .sbss:0x801D3954; // type:object size:0x4 -dsp_req = .sbss:0x801D3958; // type:object size:0x4 -cpu_wr_req = .sbss:0x801D395C; // type:object size:0x4 -cpu_rd_req = .sbss:0x801D3960; // type:object size:0x4 -tc_req = .sbss:0x801D3964; // type:object size:0x4 -cp_req = .sbss:0x801D3968; // type:object size:0x4 -vstall = .sbss:0x801D396C; // type:object size:0x4 -vmiss = .sbss:0x801D3970; // type:object size:0x4 -vcheck = .sbss:0x801D3974; // type:object size:0x4 -met1 = .sbss:0x801D3978; // type:object size:0x4 -met0 = .sbss:0x801D397C; // type:object size:0x4 -omdispinfo = .sbss:0x801D3980; // type:object size:0x2 data:2byte -omSysExitReq = .sbss:0x801D3982; // type:object size:0x2 data:2byte -omUPauseFlag = .sbss:0x801D3984; // type:object size:0x1 data:byte -omnextovlstat = .sbss:0x801D3988; // type:object size:0x4 scope:local data:4byte -omovlstat = .sbss:0x801D398C; // type:object size:0x4 data:4byte -omnextovlevtno = .sbss:0x801D3990; // type:object size:0x4 data:4byte -omovlevtno = .sbss:0x801D3994; // type:object size:0x4 data:4byte -omovlhisidx = .sbss:0x801D3998; // type:object size:0x4 data:4byte -omcurdll = .sbss:0x801D399C; // type:object size:0x4 data:4byte -omcurovl = .sbss:0x801D39A0; // type:object size:0x4 data:4byte -omnextovl = .sbss:0x801D39A4; // type:object size:0x4 data:4byte -omwatchproc = .sbss:0x801D39A8; // type:object size:0x4 data:4byte -omDBGSysKeyObj = .sbss:0x801D39AC; // type:object size:0x4 data:4byte -y_start = .sbss:0x801D39B0; // type:object size:0x4 scope:local data:4byte -x_start = .sbss:0x801D39B4; // type:object size:0x4 scope:local data:4byte -Draw_Color = .sbss:0x801D39B8; // type:object size:0x3 scope:local data:byte -XFB_putc = .sbss:0x801D39BC; // type:object size:0x4 scope:local data:4byte -omDBGMenuButton = .sbss:0x801D39C0; // type:object size:0x2 -CZoom = .sbss:0x801D39C4; // type:object size:0x4 data:float -omDLLFileList = .sbss:0x801D39C8; // type:object size:0x8 data:4byte -frand_seed = .sbss:0x801D39D0; // type:object size:0x8 scope:local data:4byte -fadeStat = .sbss:0x801D39D8; // type:object size:0x1 data:byte -musicOffF = .sbss:0x801D39DC; // type:object size:0x4 data:4byte -Snd3DDistOffset = .sbss:0x801D39E0; // type:object size:0x4 data:float -Snd3DSpeedOffset = .sbss:0x801D39E4; // type:object size:0x4 data:float -Snd3DStartDisOffset = .sbss:0x801D39E8; // type:object size:0x4 data:float -Snd3DFrontSurDisOffset = .sbss:0x801D39EC; // type:object size:0x4 data:float -Snd3DBackSurDisOffset = .sbss:0x801D39F0; // type:object size:0x4 data:float -HuAuxBVol = .sbss:0x801D39F4; // type:object size:0x1 scope:local data:byte -HuAuxAVol = .sbss:0x801D39F5; // type:object size:0x1 scope:local data:byte -auxBNoBak = .sbss:0x801D39F8; // type:object size:0x4 scope:local data:4byte -auxANoBak = .sbss:0x801D39FC; // type:object size:0x4 scope:local data:4byte -sndGroupBak = .sbss:0x801D3A00; // type:object size:0x2 scope:local data:2byte -Hu3DAudVol = .sbss:0x801D3A02; // type:object size:0x6 scope:local data:2byte -Meshno = .sbss:0x801D3A08; // type:object size:0x4 scope:local data:4byte -Meshcnt = .sbss:0x801D3A0C; // type:object size:0x4 scope:local data:4byte -normtop = .sbss:0x801D3A10; // type:object size:0x4 scope:local data:4byte -normenv = .sbss:0x801D3A14; // type:object size:0x4 scope:local data:4byte -vtxenv = .sbss:0x801D3A18; // type:object size:0x4 scope:local data:4byte -CurHsf = .sbss:0x801D3A1C; // type:object size:0x4 scope:local data:4byte -objtop = .sbss:0x801D3A20; // type:object size:0x4 scope:local data:4byte -nMesh = .sbss:0x801D3A24; // type:object size:0x4 scope:local data:4byte -nObj = .sbss:0x801D3A28; // type:object size:0x4 scope:local data:4byte -MtxTop = .sbss:0x801D3A2C; // type:object size:0x4 data:4byte -Vertextop = .sbss:0x801D3A30; // type:object size:0x4 data:4byte -seqLanguage = .sbss:0x801D3A38; // type:object size:0x4 scope:local data:4byte -pauseProcess = .sbss:0x801D3A3C; // type:object size:0x4 scope:local data:4byte -pauseActiveF = .sbss:0x801D3A40; // type:object size:0x4 scope:local data:4byte -pauseExitF = .sbss:0x801D3A44; // type:object size:0x4 scope:local data:4byte -pauseWaitF = .sbss:0x801D3A48; // type:object size:0x4 scope:local data:4byte -seqRecordVal = .sbss:0x801D3A4C; // type:object size:0x4 scope:local data:4byte -seqPauseF = .sbss:0x801D3A50; // type:object size:0x2 scope:local data:2byte -seqSpeed = .sbss:0x801D3A52; // type:object size:0x2 scope:local data:2byte -lbl_801D3A54 = .sbss:0x801D3A54; // type:object size:0x1 data:byte -seqDoneF = .sbss:0x801D3A55; // type:object size:0x1 scope:local data:byte -seqTimer = .sbss:0x801D3A56; // type:object size:0x2 scope:local data:2byte -gid = .sbss:0x801D3A58; // type:object size:0x2 scope:local data:2byte -lbl_801D3DA0 = .sbss:0x801D3A60; // type:object size:0x8 -wipeFadeInF = .sbss:0x801D3A68; // type:object size:0x4 data:4byte -fontAnim = .sbss:0x801D3A70; // type:object size:0x4 data:4byte -LanguageNo = .sbss:0x801D3A74; // type:object size:0x1 scope:local data:byte -comKeyIdx = .sbss:0x801D3A76; // type:object size:0x2 scope:local data:2byte -comKeyIdxNow = .sbss:0x801D3A78; // type:object size:0x2 scope:local data:2byte -mesCharCnt = .sbss:0x801D3A7A; // type:object size:0x2 scope:local data:2byte -cancelCRF = .sbss:0x801D3A7C; // type:object size:0x4 scope:local data:4byte -fontWidthP = .sbss:0x801D3A80; // type:object size:0x4 scope:local data:4byte -winAMemP = .sbss:0x801D3A84; // type:object size:0x4 scope:local data:4byte -winInsertF = .sbss:0x801D3A88; // type:object size:0x1 scope:local data:byte -winTabSize = .sbss:0x801D3A89; // type:object size:0x1 scope:local data:byte -mesWInsert = .sbss:0x801D3A8A; // type:object size:0x8 scope:local -winMaxHeight = .sbss:0x801D3A92; // type:object size:0x2 scope:local data:2byte -winMaxWidth = .sbss:0x801D3A94; // type:object size:0x2 scope:local data:2byte -messDataNo = .sbss:0x801D3A98; // type:object size:0x4 scope:local data:4byte -messDataPtr = .sbss:0x801D3A9C; // type:object size:0x4 data:4byte -winProc = .sbss:0x801D3AA0; // type:object size:0x4 scope:local data:4byte -cardAnimB = .sbss:0x801D3AA4; // type:object size:0x4 scope:local data:4byte -cardAnimA = .sbss:0x801D3AA8; // type:object size:0x4 scope:local data:4byte -cursorAnim = .sbss:0x801D3AAC; // type:object size:0x4 scope:local data:4byte -iconAnim = .sbss:0x801D3AB0; // type:object size:0x4 scope:local data:4byte -UnMountCnt = .sbss:0x801D3AB8; // type:object size:0x1 data:byte -cardWork = .sbss:0x801D3ABC; // type:object size:0x4 scope:local data:4byte -arqIdx = .sbss:0x801D3AC0; // type:object size:0x2 scope:local data:2byte -arqCnt = .sbss:0x801D3AC4; // type:object size:0x4 scope:local data:4byte -ARBase = .sbss:0x801D3AC8; // type:object size:0x4 scope:local data:4byte -effectAMemP = .sbss:0x801D3AD0; // type:object size:0x4 scope:local data:4byte -skipAnimUpdate = .sbss:0x801D3AD4; // type:object size:0x4 scope:local data:4byte -ColisionCount = .sbss:0x801D3AD8; // type:object size:0x4 data:4byte -topvtx = .sbss:0x801D3ADC; // type:object size:0x4 scope:local data:4byte -AttrHsf = .sbss:0x801D3AE0; // type:object size:0x4 scope:local data:4byte -HitFaceCount = .sbss:0x801D3AE4; // type:object size:0x4 data:4byte -nChar = .sbss:0x801D3AE8; // type:object size:0x4 -nMap = .sbss:0x801D3AEC; // type:object size:0x4 data:4byte -AddZ = .sbss:0x801D3AF0; // type:object size:0x4 data:float -AddX = .sbss:0x801D3AF4; // type:object size:0x4 data:float -Initialized = .sbss:0x801D3AF8; // type:object size:0x4 scope:local data:4byte -OldAIDCallback = .sbss:0x801D3AFC; // type:object size:0x4 scope:local data:4byte -AudioSystem = .sbss:0x801D3B00; // type:object size:0x4 scope:local data:4byte -bufIdx = .sbss:0x801D3B04; // type:object size:0x4 scope:local data:4byte -CurAudioBuffer = .sbss:0x801D3B08; // type:object size:0x4 scope:local data:4byte -LastAudioBuffer = .sbss:0x801D3B0C; // type:object size:0x4 scope:local data:4byte -SoundBufferIndex = .sbss:0x801D3B10; // type:object size:0x4 scope:local data:4byte -THPProc = .sbss:0x801D3B18; // type:object size:0x4 data:4byte -THPStart = .sbss:0x801D3B1C; // type:object size:0x2 scope:local data:2byte -THPFrame = .sbss:0x801D3B20; // type:object size:0x4 scope:local data:4byte -THPStat = .sbss:0x801D3B24; // type:object size:0x2 scope:local data:2byte -THPLoopF = .sbss:0x801D3B26; // type:object size:0x2 scope:local data:2byte -decodeThread = .sbss:0x801D3B28; // type:object size:0x4 scope:local data:4byte -decodeStackP = .sbss:0x801D3B2C; // type:object size:0x4 scope:local data:4byte -decodeRate = .sbss:0x801D3B30; // type:object size:0x4 scope:local data:4byte -audioTrack = .sbss:0x801D3B34; // type:object size:0x8 scope:local data:4byte -mgBoardHostEnableF = .sbss:0x801D3B40; // type:object size:0x1 -mgInstExitEnableF = .sbss:0x801D3B44; // type:object size:0x4 -mgPracticeEnableF = .sbss:0x801D3B48; // type:object size:0x4 data:4byte -mgQuitExtraF = .sbss:0x801D3B4C; // type:object size:0x4 data:4byte -mgRecordExtra = .sbss:0x801D3B50; // type:object size:0x4 -lbl_801D3E94 = .sbss:0x801D3B54; // type:object size:0x1 -mgBattleStarMax = .sbss:0x801D3B56; // type:object size:0x2 -mgBattleStar = .sbss:0x801D3B58; // type:object size:0x8 -mgTypeCurr = .sbss:0x801D3B60; // type:object size:0x2 -curSlotNo = .sbss:0x801D3B68; // type:object size:0x2 data:2byte -curBoxNo = .sbss:0x801D3B6A; // type:object size:0x1 data:byte -saveExecF = .sbss:0x801D3B6C; // type:object size:0x4 -SLSerialNo = .sbss:0x801D3B70; // type:object size:0x8 data:4byte -H_ResetReady = .sbss:0x801D3B78; // type:object size:0x4 scope:local data:4byte -SR_RestartChk = .sbss:0x801D3B7C; // type:object size:0x4 scope:local data:4byte -SR_ExecReset = .sbss:0x801D3B80; // type:object size:0x4 data:4byte -trychkBusyWait = .sbss:0x801D3B84; // type:object size:0x4 scope:local data:4byte -XfbProg = .sbss:0x801D3B88; // type:object size:0x4 scope:local data:4byte -XfbH = .sbss:0x801D3B8C; // type:object size:0x2 scope:local data:2byte -XfbW = .sbss:0x801D3B8E; // type:object size:0x2 scope:local data:2byte -boardMainProc = .sbss:0x801D3B90; // type:object size:0x4 data:4byte -boardObjMan = .sbss:0x801D3B94; // type:object size:0x4 data:4byte -cameraObj = .sbss:0x801D3B98; // type:object size:0x4 scope:local data:4byte -tauntObj = .sbss:0x801D3B9C; // type:object size:0x4 scope:local data:4byte -cameraUseBackup = .sbss:0x801D3BA0; // type:object size:0x4 scope:local data:4byte -createFunc = .sbss:0x801D3BA4; // type:object size:0x4 scope:local data:4byte -destroyFunc = .sbss:0x801D3BA8; // type:object size:0x4 scope:local data:4byte -boardLightSetHook = .sbss:0x801D3BAC; // type:object size:0x4 data:4byte -boardLightResetHook = .sbss:0x801D3BB0; // type:object size:0x4 data:4byte -boardTurnFunc = .sbss:0x801D3BB4; // type:object size:0x4 data:4byte -boardStarGiveHook = .sbss:0x801D3BB8; // type:object size:0x4 data:4byte -boardStarShowNextHook = .sbss:0x801D3BBC; // type:object size:0x4 data:4byte -boardBowserHook = .sbss:0x801D3BC0; // type:object size:0x4 data:4byte -boardTurnStartFunc = .sbss:0x801D3BC4; // type:object size:0x4 data:4byte -filterObj = .sbss:0x801D3BC8; // type:object size:0x4 scope:local data:4byte -confettiObj = .sbss:0x801D3BCC; // type:object size:0x4 scope:local data:4byte -last5GfxObj = .sbss:0x801D3BD0; // type:object size:0x4 scope:local data:4byte -boardRandSeed = .sbss:0x801D3BD4; // type:object size:0x4 data:4byte -boardMainObj = .sbss:0x801D3BD8; // type:object size:0x4 data:4byte -megaDoubleDiceF = .sbss:0x801D3BE0; // type:object size:0x4 scope:local data:4byte -bowserSuitObj = .sbss:0x801D3BE4; // type:object size:0x4 scope:local data:4byte -junctionMask = .sbss:0x801D3BE8; // type:object size:0x4 scope:local data:4byte -junctionObj = .sbss:0x801D3BEC; // type:object size:0x4 scope:local data:4byte -rollObj = .sbss:0x801D3BF0; // type:object size:0x4 scope:local data:4byte -moveAwayObj = .sbss:0x801D3BF4; // type:object size:0x4 scope:local data:4byte -junctionArrowRot = .sbss:0x801D3BF8; // type:object size:0x8 scope:local -moveAwayPlayer = .sbss:0x801D3C00; // type:object size:0x4 scope:local data:byte -itemPrev = .sbss:0x801D3C04; // type:object size:0x1 scope:local data:byte -playerMot = .sbss:0x801D3C06; // type:object size:0x8 scope:local -boardPlayerMdl = .sbss:0x801D3C0E; // type:object size:0xA -lbl_801D3C18 = .sbss:0x801D3C18; // type:object size:0x4 data:4byte -lbl_801D3C1C = .sbss:0x801D3C1C; // type:object size:0x4 data:4byte -lbl_801D3C20 = .sbss:0x801D3C20; // type:object size:0x8 data:2byte -lbl_801D3C28 = .sbss:0x801D3C28; // type:object size:0x4 data:4byte -lbl_801D3C2C = .sbss:0x801D3C2C; // type:object size:0x4 data:4byte -lbl_801D3C30 = .sbss:0x801D3C30; // type:object size:0x8 data:float -lbl_801D3C38 = .sbss:0x801D3C38; // type:object size:0x4 data:4byte -lbl_801D3C3C = .sbss:0x801D3C3C; // type:object size:0x4 data:4byte -lbl_801D3C40 = .sbss:0x801D3C40; // type:object size:0x2 data:2byte -lbl_801D3C42 = .sbss:0x801D3C42; // type:object size:0x2 data:2byte -lbl_801D3C44 = .sbss:0x801D3C44; // type:object size:0x2 data:2byte -lbl_801D3C46 = .sbss:0x801D3C46; // type:object size:0x1 data:byte -lbl_801D3C47 = .sbss:0x801D3C47; // type:object size:0x1 data:byte -lbl_801D3C48 = .sbss:0x801D3C48; // type:object size:0x1 data:byte -lbl_801D3C49 = .sbss:0x801D3C49; // type:object size:0x1 data:byte -lbl_801D3C4A = .sbss:0x801D3C4A; // type:object size:0x1 data:byte -lbl_801D3C4B = .sbss:0x801D3C4B; // type:object size:0x1 data:byte -lbl_801D3C4C = .sbss:0x801D3C4C; // type:object size:0x1 data:byte -lbl_801D3C50 = .sbss:0x801D3C50; // type:object size:0x8 -lbl_801D3C58 = .sbss:0x801D3C58; // type:object size:0x4 data:4byte -lbl_801D3C5C = .sbss:0x801D3C5C; // type:object size:0x1 data:byte -lbl_801D3C60 = .sbss:0x801D3C60; // type:object size:0x4 data:4byte -lbl_801D3C64 = .sbss:0x801D3C64; // type:object size:0x2 data:2byte -lbl_801D3C66 = .sbss:0x801D3C66; // type:object size:0x1 data:byte -lbl_801D3C67 = .sbss:0x801D3C67; // type:object size:0x1 data:byte -lbl_801D3C68 = .sbss:0x801D3C68; // type:object size:0x1 data:byte -lbl_801D3C69 = .sbss:0x801D3C69; // type:object size:0x7 data:byte -lbl_801D3C70 = .sbss:0x801D3C70; // type:object size:0x2 data:2byte -lbl_801D3C74 = .sbss:0x801D3C74; // type:object size:0x4 data:4byte -lbl_801D3C78 = .sbss:0x801D3C78; // type:object size:0x4 data:4byte -lbl_801D3C7C = .sbss:0x801D3C7C; // type:object size:0x4 data:4byte -lbl_801D3C80 = .sbss:0x801D3C80; // type:object size:0x4 data:4byte -lbl_801D3C84 = .sbss:0x801D3C84; // type:object size:0x8 data:2byte -lbl_801D3C8C = .sbss:0x801D3C8C; // type:object size:0x4 data:4byte -lbl_801D3C90 = .sbss:0x801D3C90; // type:object size:0x4 data:4byte -lbl_801D3C94 = .sbss:0x801D3C94; // type:object size:0x4 data:4byte -lbl_801D3C98 = .sbss:0x801D3C98; // type:object size:0x4 data:4byte -lbl_801D3C9C = .sbss:0x801D3C9C; // type:object size:0x8 data:4byte -lbl_801D3CA4 = .sbss:0x801D3CA4; // type:object size:0x2 data:2byte -lbl_801D3CA8 = .sbss:0x801D3CA8; // type:object size:0x4 data:4byte -lbl_801D3CAC = .sbss:0x801D3CAC; // type:object size:0x4 data:4byte -lbl_801D3CB0 = .sbss:0x801D3CB0; // type:object size:0x4 data:4byte -lbl_801D3CB4 = .sbss:0x801D3CB4; // type:object size:0x4 data:4byte -lbl_801D3CB8 = .sbss:0x801D3CB8; // type:object size:0x4 data:4byte -lbl_801D3CBC = .sbss:0x801D3CBC; // type:object size:0x2 data:2byte -lbl_801D3CBE = .sbss:0x801D3CBE; // type:object size:0x1 data:byte -lbl_801D3CC0 = .sbss:0x801D3CC0; // type:object size:0x4 data:4byte -lbl_801D3CC4 = .sbss:0x801D3CC4; // type:object size:0x4 -lbl_801D3CC8 = .sbss:0x801D3CC8; // type:object size:0x4 data:4byte -lbl_801D3CCC = .sbss:0x801D3CCC; // type:object size:0x4 data:4byte -lbl_801D3CD0 = .sbss:0x801D3CD0; // type:object size:0x4 data:4byte -lbl_801D3CD4 = .sbss:0x801D3CD4; // type:object size:0x4 data:4byte -lbl_801D3CD8 = .sbss:0x801D3CD8; // type:object size:0x1 data:byte -lbl_801D3CD9 = .sbss:0x801D3CD9; // type:object size:0x1 data:byte -lbl_801D3CDA = .sbss:0x801D3CDA; // type:object size:0x1 data:byte -lbl_801D3CDB = .sbss:0x801D3CDB; // type:object size:0x1 data:byte -lbl_801D3CDC = .sbss:0x801D3CDC; // type:object size:0x1 data:byte -lbl_801D3CDE = .sbss:0x801D3CDE; // type:object size:0x2 data:2byte -lbl_801D3CE0 = .sbss:0x801D3CE0; // type:object size:0x8 data:4byte -lbl_801D3CE8 = .sbss:0x801D3CE8; // type:object size:0x4 data:4byte -lbl_801D3CEC = .sbss:0x801D3CEC; // type:object size:0x4 data:float -lbl_801D3CF0 = .sbss:0x801D3CF0; // type:object size:0x4 data:float -lbl_801D3CF4 = .sbss:0x801D3CF4; // type:object size:0x2 data:2byte -lbl_801D3CF6 = .sbss:0x801D3CF6; // type:object size:0x1 data:byte -lbl_801D3CF7 = .sbss:0x801D3CF7; // type:object size:0x1 data:byte -lbl_801D3CF8 = .sbss:0x801D3CF8; // type:object size:0x8 data:byte -lbl_801D3D00 = .sbss:0x801D3D00; // type:object size:0x4 data:4byte -lbl_801D3D04 = .sbss:0x801D3D04; // type:object size:0x2 data:2byte -lbl_801D3D08 = .sbss:0x801D3D08; // type:object size:0x4 data:float -lbl_801D3D0C = .sbss:0x801D3D0C; // type:object size:0x2 data:2byte -lbl_801D3D10 = .sbss:0x801D3D10; // type:object size:0x4 data:float -lbl_801D3D14 = .sbss:0x801D3D14; // type:object size:0x2 data:2byte -lbl_801D3D16 = .sbss:0x801D3D16; // type:object size:0x2 data:2byte -lbl_801D3D18 = .sbss:0x801D3D18; // type:object size:0x8 data:byte -lbl_801D3D20 = .sbss:0x801D3D20; // type:object size:0x4 data:4byte -lbl_801D3D24 = .sbss:0x801D3D24; // type:object size:0x4 data:4byte -lbl_801D3D28 = .sbss:0x801D3D28; // type:object size:0x1 data:byte -lbl_801D3D29 = .sbss:0x801D3D29; // type:object size:0x7 data:byte -lbl_801D3D30 = .sbss:0x801D3D30; // type:object size:0x4 data:4byte -lbl_801D3D34 = .sbss:0x801D3D34; // type:object size:0x4 data:4byte -lbl_801D3D38 = .sbss:0x801D3D38; // type:object size:0x4 data:4byte -lbl_801D3D3C = .sbss:0x801D3D3C; // type:object size:0x2 data:2byte -lbl_801D3D40 = .sbss:0x801D3D40; // type:object size:0x4 data:4byte -lbl_801D3D44 = .sbss:0x801D3D44; // type:object size:0x2 data:2byte -lbl_801D3D48 = .sbss:0x801D3D48; // type:object size:0x4 data:4byte -lbl_801D3D4C = .sbss:0x801D3D4C; // type:object size:0x1 data:byte -lbl_801D3D4D = .sbss:0x801D3D4D; // type:object size:0xB -lbl_801D3D58 = .sbss:0x801D3D58; // type:object size:0x4 data:4byte -lbl_801D3D5C = .sbss:0x801D3D5C; // type:object size:0x1 data:byte -lbl_801D3D5D = .sbss:0x801D3D5D; // type:object size:0x1 data:byte -lbl_801D3D5E = .sbss:0x801D3D5E; // type:object size:0x1 data:byte -lbl_801D3D5F = .sbss:0x801D3D5F; // type:object size:0x1 data:byte -lbl_801D3D60 = .sbss:0x801D3D60; // type:object size:0x1 data:byte -lbl_801D3D61 = .sbss:0x801D3D61; // type:object size:0x1 data:byte -lbl_801D3D62 = .sbss:0x801D3D62; // type:object size:0x6 data:byte -lbl_801D3D68 = .sbss:0x801D3D68; // type:object size:0x4 data:4byte -lbl_801D3D6C = .sbss:0x801D3D6C; // type:object size:0x4 data:4byte -lbl_801D3D70 = .sbss:0x801D3D70; // type:object size:0x4 data:4byte -lbl_801D3D74 = .sbss:0x801D3D74; // type:object size:0x4 data:4byte -lbl_801D3D78 = .sbss:0x801D3D78; // type:object size:0x4 data:4byte -lbl_801D3D7C = .sbss:0x801D3D7C; // type:object size:0x4 data:4byte -lbl_801D3D80 = .sbss:0x801D3D80; // type:object size:0x4 data:float -lbl_801D3D84 = .sbss:0x801D3D84; // type:object size:0x6 -lbl_801D3D8A = .sbss:0x801D3D8A; // type:object size:0x1 data:byte -lbl_801D3D8B = .sbss:0x801D3D8B; // type:object size:0x1 data:byte -lbl_801D3D8C = .sbss:0x801D3D8C; // type:object size:0x1 data:byte -lbl_801D3D8E = .sbss:0x801D3D8E; // type:object size:0x6 data:2byte -lbl_801D3D94_2 = .sbss:0x801D3D94; // type:object size:0x4 data:4byte -lbl_801D3D98 = .sbss:0x801D3D98; // type:object size:0x1 data:byte -lbl_801D3D99 = .sbss:0x801D3D99; // type:object size:0x1 data:byte -lbl_801D3D9A = .sbss:0x801D3D9A; // type:object size:0x1 data:byte -lbl_801D3D9B = .sbss:0x801D3D9B; // type:object size:0x1 data:byte -lbl_801D3D9C = .sbss:0x801D3D9C; // type:object size:0x1 data:byte -lbl_801D3DA0_2 = .sbss:0x801D3DA0; // type:object size:0x4 data:4byte -lbl_801D3DA4 = .sbss:0x801D3DA4; // type:object size:0x4 data:4byte -lbl_801D3DA8 = .sbss:0x801D3DA8; // type:object size:0x4 data:float -lbl_801D3DAC = .sbss:0x801D3DAC; // type:object size:0x4 data:float -lbl_801D3DB0 = .sbss:0x801D3DB0; // type:object size:0x8 data:float -lbl_801D3DB8 = .sbss:0x801D3DB8; // type:object size:0x4 data:4byte -lbl_801D3DBC = .sbss:0x801D3DBC; // type:object size:0x8 data:2byte -lbl_801D3DC4 = .sbss:0x801D3DC4; // type:object size:0x4 data:4byte -lbl_801D3DC8 = .sbss:0x801D3DC8; // type:object size:0x4 data:float -lbl_801D3DCC = .sbss:0x801D3DCC; // type:object size:0x8 -lbl_801D3DD4 = .sbss:0x801D3DD4; // type:object size:0x4 data:float -lbl_801D3DD8 = .sbss:0x801D3DD8; // type:object size:0x2 data:2byte -lbl_801D3DDC = .sbss:0x801D3DDC; // type:object size:0x8 data:4byte -lbl_801D3DE4 = .sbss:0x801D3DE4; // type:object size:0x8 data:4byte -lbl_801D3DEC = .sbss:0x801D3DEC; // type:object size:0x2 data:2byte -lbl_801D3DEE = .sbss:0x801D3DEE; // type:object size:0x1 data:byte -lbl_801D3DEF = .sbss:0x801D3DEF; // type:object size:0x1 data:byte -lbl_801D3DF0 = .sbss:0x801D3DF0; // type:object size:0x8 -lbl_801D3DF8 = .sbss:0x801D3DF8; // type:object size:0x4 data:4byte -lbl_801D3DFC = .sbss:0x801D3DFC; // type:object size:0x4 data:4byte -lbl_801D3E00 = .sbss:0x801D3E00; // type:object size:0x4 data:4byte -lbl_801D3E04 = .sbss:0x801D3E04; // type:object size:0x4 data:4byte -lbl_801D3E08 = .sbss:0x801D3E08; // type:object size:0x4 data:4byte -lbl_801D3E0C = .sbss:0x801D3E0C; // type:object size:0x4 data:4byte -lbl_801D3E10 = .sbss:0x801D3E10; // type:object size:0x8 -lbl_801D3E18 = .sbss:0x801D3E18; // type:object size:0x8 -lbl_801D3E20 = .sbss:0x801D3E20; // type:object size:0x4 data:4byte -lbl_801D3E24 = .sbss:0x801D3E24; // type:object size:0x2 data:2byte -lbl_801D3E26 = .sbss:0x801D3E26; // type:object size:0x8 data:2byte -lbl_801D3E2E = .sbss:0x801D3E2E; // type:object size:0x2 data:2byte -lbl_801D3E30 = .sbss:0x801D3E30; // type:object size:0x1 data:byte -lbl_801D3E31 = .sbss:0x801D3E31; // type:object size:0x7 data:byte -lbl_801D3E38 = .sbss:0x801D3E38; // type:object size:0x4 data:4byte -lbl_801D3E3C = .sbss:0x801D3E3C; // type:object size:0x4 data:4byte -lbl_801D3E40 = .sbss:0x801D3E40; // type:object size:0x4 data:4byte -lbl_801D3E44 = .sbss:0x801D3E44; // type:object size:0x4 data:float -lbl_801D3E48 = .sbss:0x801D3E48; // type:object size:0x4 data:float -lbl_801D3E4C = .sbss:0x801D3E4C; // type:object size:0x8 -lbl_801D3E54 = .sbss:0x801D3E54; // type:object size:0x1 data:byte -lbl_801D3E56 = .sbss:0x801D3E56; // type:object size:0x1 data:byte -lbl_801D3E58 = .sbss:0x801D3E58; // type:object size:0x2 data:2byte -lbl_801D3E5A = .sbss:0x801D3E5A; // type:object size:0x1 data:byte -lbl_801D3E5B = .sbss:0x801D3E5B; // type:object size:0x1 data:byte -lbl_801D3E5C = .sbss:0x801D3E5C; // type:object size:0x1 data:byte -lbl_801D3E60 = .sbss:0x801D3E60; // type:object size:0x4 data:4byte -lbl_801D3E64 = .sbss:0x801D3E64; // type:object size:0x4 data:4byte -lbl_801D3E68 = .sbss:0x801D3E68; // type:object size:0x1 data:byte -lbl_801D3E69 = .sbss:0x801D3E69; // type:object size:0x1 data:byte -lbl_801D3E6A = .sbss:0x801D3E6A; // type:object size:0x1 data:byte -lbl_801D3E6B = .sbss:0x801D3E6B; // type:object size:0x1 data:byte -lbl_801D3E6C = .sbss:0x801D3E6C; // type:object size:0x1 data:byte -lbl_801D3E6D = .sbss:0x801D3E6D; // type:object size:0x1 data:byte -lbl_801D3E70 = .sbss:0x801D3E70; // type:object size:0x4 data:4byte -lbl_801D3E74 = .sbss:0x801D3E74; // type:object size:0x4 data:4byte -lbl_801D3E78 = .sbss:0x801D3E78; // type:object size:0x4 data:4byte -lbl_801D3E7C = .sbss:0x801D3E7C; // type:object size:0x4 data:4byte -lbl_801D3E80 = .sbss:0x801D3E80; // type:object size:0x4 data:4byte -lbl_801D3E84 = .sbss:0x801D3E84; // type:object size:0x4 data:4byte -lbl_801D3E88 = .sbss:0x801D3E88; // type:object size:0x4 data:4byte -lbl_801D3E8C = .sbss:0x801D3E8C; // type:object size:0x4 data:4byte -lbl_801D3E90 = .sbss:0x801D3E90; // type:object size:0x3 -lbl_801D3E93 = .sbss:0x801D3E93; // type:object size:0x3 -lbl_801D3E96 = .sbss:0x801D3E96; // type:object size:0x1 data:byte -lbl_801D3E97 = .sbss:0x801D3E97; // type:object size:0x1 data:byte -lbl_801D3E98 = .sbss:0x801D3E98; // type:object size:0x1 data:byte -lbl_801D3E9C = .sbss:0x801D3E9C; // type:object size:0x4 data:4byte -lbl_801D3EA0 = .sbss:0x801D3EA0; // type:object size:0x1 data:byte -lbl_801D3EA1 = .sbss:0x801D3EA1; // type:object size:0x1 data:byte -lbl_801D3EA2 = .sbss:0x801D3EA2; // type:object size:0x6 data:byte -lbl_801D3EA8 = .sbss:0x801D3EA8; // type:object size:0x4 data:4byte -lbl_801D3EAC = .sbss:0x801D3EAC; // type:object size:0x4 data:4byte -lbl_801D3EB0 = .sbss:0x801D3EB0; // type:object size:0x1 data:byte -lbl_801D3EB1 = .sbss:0x801D3EB1; // type:object size:0x1 data:byte -lbl_801D3EB2 = .sbss:0x801D3EB2; // type:object size:0x1 data:byte -lbl_801D3EB4 = .sbss:0x801D3EB4; // type:object size:0x4 -lbl_801D3EB8 = .sbss:0x801D3EB8; // type:object size:0x6 -lbl_801D3EBE = .sbss:0x801D3EBE; // type:object size:0x6 -lbl_801D3EC4 = .sbss:0x801D3EC4; // type:object size:0x1 data:byte -lbl_801D3EC5 = .sbss:0x801D3EC5; // type:object size:0x1 data:byte -lbl_801D3EC6 = .sbss:0x801D3EC6; // type:object size:0x1 data:byte -lbl_801D3EC7 = .sbss:0x801D3EC7; // type:object size:0x1 data:byte -lbl_801D3EC8 = .sbss:0x801D3EC8; // type:object size:0x2 data:2byte -lbl_801D3ECC = .sbss:0x801D3ECC; // type:object size:0x4 data:float -lbl_801D3ED0 = .sbss:0x801D3ED0; // type:object size:0x4 data:4byte -lbl_801D3ED4 = .sbss:0x801D3ED4; // type:object size:0x1 data:byte -lbl_801D3ED8 = .sbss:0x801D3ED8; // type:object size:0x4 data:4byte -lbl_801D3EDC = .sbss:0x801D3EDC; // type:object size:0x8 -lbl_801D3EE4 = .sbss:0x801D3EE4; // type:object size:0x4 data:4byte -lbl_801D3EE8 = .sbss:0x801D3EE8; // type:object size:0x1 data:byte -lbl_801D3EE9 = .sbss:0x801D3EE9; // type:object size:0x1 data:byte -lbl_801D3EEA = .sbss:0x801D3EEA; // type:object size:0x6 data:byte -lbl_801D3EF0 = .sbss:0x801D3EF0; // type:object size:0x4 data:4byte -lbl_801D3EF4 = .sbss:0x801D3EF4; // type:object size:0x4 -lbl_801D3EF8 = .sbss:0x801D3EF8; // type:object size:0x4 -lbl_801D3EFC = .sbss:0x801D3EFC; // type:object size:0x2 data:2byte -lbl_801D3EFE = .sbss:0x801D3EFE; // type:object size:0x2 data:2byte -lbl_801D3F00 = .sbss:0x801D3F00; // type:object size:0x4 data:4byte -lbl_801D3F04 = .sbss:0x801D3F04; // type:object size:0x4 data:4byte -lbl_801D3F08 = .sbss:0x801D3F08; // type:object size:0x4 data:4byte -lbl_801D3F0C = .sbss:0x801D3F0C; // type:object size:0x4 data:4byte -lbl_801D3F10 = .sbss:0x801D3F10; // type:object size:0x4 data:4byte -lbl_801D3F14 = .sbss:0x801D3F14; // type:object size:0x4 data:4byte -lbl_801D3F18 = .sbss:0x801D3F18; // type:object size:0x2 data:2byte -lbl_801D3F1A = .sbss:0x801D3F1A; // type:object size:0x2 data:2byte -lbl_801D3F1C = .sbss:0x801D3F1C; // type:object size:0x1 data:byte -lbl_801D3F1D = .sbss:0x801D3F1D; // type:object size:0x1 data:byte -lbl_801D3F1E = .sbss:0x801D3F1E; // type:object size:0x1 data:byte -lbl_801D3F20 = .sbss:0x801D3F20; // type:object size:0x4 data:4byte -lbl_801D3F24 = .sbss:0x801D3F24; // type:object size:0x4 data:4byte -lbl_801D3F28 = .sbss:0x801D3F28; // type:object size:0x4 data:4byte -lbl_801D3F2C = .sbss:0x801D3F2C; // type:object size:0x8 -lbl_801D3F34 = .sbss:0x801D3F34; // type:object size:0x1 data:byte -lbl_801D3F36 = .sbss:0x801D3F36; // type:object size:0x2 data:2byte -lbl_801D3F38 = .sbss:0x801D3F38; // type:object size:0x1 data:byte -lbl_801D3F39 = .sbss:0x801D3F39; // type:object size:0x1 data:byte -lbl_801D3F3A = .sbss:0x801D3F3A; // type:object size:0x6 data:byte -lbl_801D3F40 = .sbss:0x801D3F40; // type:object size:0x2 data:2byte -lbl_801D3F42 = .sbss:0x801D3F42; // type:object size:0x6 data:2byte -lbl_801D3F48 = .sbss:0x801D3F48; // type:object size:0x4 data:4byte -lbl_801D3F4C = .sbss:0x801D3F4C; // type:object size:0x4 data:4byte -lbl_801D3F50 = .sbss:0x801D3F50; // type:object size:0x4 data:4byte -lbl_801D3F54 = .sbss:0x801D3F54; // type:object size:0x4 data:4byte -lbl_801D3F58 = .sbss:0x801D3F58; // type:object size:0x4 data:4byte -boardTutorialF = .sbss:0x801D3F5C; // type:object size:0x1 data:byte -lbl_801D3F5E = .sbss:0x801D3F5E; // type:object size:0x2 data:2byte -lbl_801D3F60 = .sbss:0x801D3F60; // type:object size:0x1 data:byte -lbl_801D3F61 = .sbss:0x801D3F61; // type:object size:0x1 data:byte -lbl_801D3F62 = .sbss:0x801D3F62; // type:object size:0x1 data:byte -lbl_801D3F64 = .sbss:0x801D3F64; // type:object size:0x4 data:4byte -boardTutorialDirInputTime = .sbss:0x801D3F68; // type:object size:0x2 data:2byte -boardTutorialDirInputY = .sbss:0x801D3F6A; // type:object size:0x1 data:byte -boardTutorialDirInputX = .sbss:0x801D3F6B; // type:object size:0x1 data:byte -lbl_801D3F6C = .sbss:0x801D3F6C; // type:object size:0x4 data:4byte -BootInfo = .sbss:0x801D3F70; // type:object size:0x4 scope:local data:4byte -BI2DebugFlag = .sbss:0x801D3F74; // type:object size:0x4 scope:local data:4byte -BI2DebugFlagHolder = .sbss:0x801D3F78; // type:object size:0x4 scope:local data:4byte -__OSIsGcam = .sbss:0x801D3F7C; // type:object size:0x4 scope:global data:4byte -AreWeInitialized = .sbss:0x801D3F80; // type:object size:0x4 scope:local data:4byte -OSExceptionTable = .sbss:0x801D3F84; // type:object size:0x4 scope:local data:4byte -__OSSavedRegionEnd = .sbss:0x801D3F88; // type:object size:0x4 scope:global data:4byte -__OSSavedRegionStart = .sbss:0x801D3F8C; // type:object size:0x4 scope:global data:4byte -__OSInIPL = .sbss:0x801D3F90; // type:object size:0x4 scope:global data:4byte -__OSStartTime = .sbss:0x801D3F98; // type:object size:0x8 scope:global data:4byte -AlarmQueue = .sbss:0x801D3FA0; // type:object size:0x8 scope:local data:4byte -lbl_801D3FA8 = .sbss:0x801D3FA8; // type:object size:0x4 data:4byte -lbl_801D3FAC = .sbss:0x801D3FAC; // type:object size:0x4 data:4byte -lbl_801D3FB0 = .sbss:0x801D3FB0; // type:object size:0x4 data:4byte -lbl_801D3FB4 = .sbss:0x801D3FB4; // type:object size:0x4 data:4byte -__OSArenaHi = .sbss:0x801D3FB8; // type:object size:0x4 scope:local data:4byte -InterruptHandlerTable = .sbss:0x801D3FC0; // type:object size:0x4 scope:local data:4byte -__OSLastInterruptSrr0 = .sbss:0x801D3FC4; // type:object size:0x4 scope:global data:4byte -__OSLastInterrupt = .sbss:0x801D3FC8; // type:object size:0x2 scope:global data:2byte -__OSLastInterruptTime = .sbss:0x801D3FD0; // type:object size:0x8 scope:global data:4byte -lbl_801D3FD8 = .sbss:0x801D3FD8; // type:object size:0x4 data:4byte -lbl_801D3FDC = .sbss:0x801D3FDC; // type:object size:0x4 data:4byte -lbl_801D3FE0 = .sbss:0x801D3FE0; // type:object size:0x8 data:4byte -ResetFunctionQueue = .sbss:0x801D3FE8; // type:object size:0x8 scope:local data:4byte -lbl_801D3FF0 = .sbss:0x801D3FF0; // type:object size:0x4 data:4byte -lbl_801D3FF4 = .sbss:0x801D3FF4; // type:object size:0x4 data:4byte -lbl_801D3FF8 = .sbss:0x801D3FF8; // type:object size:0x8 data:4byte -lbl_801D4000 = .sbss:0x801D4000; // type:object size:0x4 data:4byte -lbl_801D4004 = .sbss:0x801D4004; // type:object size:0x4 data:4byte -lbl_801D4008 = .sbss:0x801D4008; // type:object size:0x4 data:4byte -lbl_801D400C = .sbss:0x801D400C; // type:object size:0x4 data:4byte -RunQueueBits = .sbss:0x801D4010; // type:object size:0x4 scope:local data:4byte -RunQueueHint = .sbss:0x801D4014; // type:object size:0x4 scope:local data:4byte -Reschedule = .sbss:0x801D4018; // type:object size:0x4 scope:local data:4byte -__DBInterface = .sbss:0x801D4020; // type:object size:0x4 scope:global data:4byte -DBVerbose = .sbss:0x801D4024; // type:object size:0x4 scope:global data:4byte -StopAtNextInt = .sbss:0x801D4028; // type:object size:0x4 scope:local data:4byte -lbl_801D402C = .sbss:0x801D402C; // type:object size:0x4 data:4byte -Callback = .sbss:0x801D4030; // type:object size:0x4 scope:local data:4byte -lbl_801D4034 = .sbss:0x801D4034; // type:object size:0x4 data:4byte -LastResetEnd = .sbss:0x801D4038; // type:object size:0x8 scope:local data:4byte -ResetOccurred = .sbss:0x801D4040; // type:object size:0x4 scope:local data:4byte -WaitingCoverClose = .sbss:0x801D4044; // type:object size:0x4 scope:local data:4byte -lbl_801D4048 = .sbss:0x801D4048; // type:object size:0x4 data:4byte -WorkAroundType = .sbss:0x801D404C; // type:object size:0x4 scope:local data:4byte -WorkAroundSeekLocation = .sbss:0x801D4050; // type:object size:0x4 scope:local data:4byte -lbl_801D4058 = .sbss:0x801D4058; // type:object size:0x4 data:4byte -lbl_801D405C = .sbss:0x801D405C; // type:object size:0x4 data:4byte -lbl_801D4060 = .sbss:0x801D4060; // type:object size:0x4 data:4byte -lbl_801D4064 = .sbss:0x801D4064; // type:object size:0x4 data:4byte -lbl_801D4068 = .sbss:0x801D4068; // type:object size:0x4 data:4byte -NextCommandNumber = .sbss:0x801D406C; // type:object size:0x4 scope:local data:4byte -BootInfo = .sbss:0x801D4070; // type:object size:0x4 scope:local data:4byte -FstStart = .sbss:0x801D4074; // type:object size:0x4 scope:local data:4byte -FstStringStart = .sbss:0x801D4078; // type:object size:0x4 scope:local data:4byte -MaxEntryNum = .sbss:0x801D407C; // type:object size:0x4 scope:local data:4byte -lbl_801D4080 = .sbss:0x801D4080; // type:object size:0x4 data:4byte -__DVDLongFileNameFlag = .sbss:0x801D4084; // type:object size:0x4 scope:global data:4byte -__DVDThreadQueue = .sbss:0x801D4088; // type:object size:0x8 scope:global -executing = .sbss:0x801D4090; // type:object size:0x4 scope:local data:4byte -currID = .sbss:0x801D4094; // type:object size:0x4 scope:local data:4byte -bootInfo = .sbss:0x801D4098; // type:object size:0x4 scope:local data:4byte -PauseFlag = .sbss:0x801D409C; // type:object size:0x4 scope:local data:4byte -PausingFlag = .sbss:0x801D40A0; // type:object size:0x4 scope:local data:4byte -lbl_801D40A4 = .sbss:0x801D40A4; // type:object size:0x4 data:4byte -FatalErrorFlag = .sbss:0x801D40A8; // type:object size:0x4 scope:local data:4byte -CurrCommand = .sbss:0x801D40AC; // type:object size:0x4 scope:local data:4byte -lbl_801D40B0 = .sbss:0x801D40B0; // type:object size:0x4 data:4byte -lbl_801D40B4 = .sbss:0x801D40B4; // type:object size:0x4 data:4byte -ResumeFromHere = .sbss:0x801D40B8; // type:object size:0x4 scope:local data:4byte -CancelLastError = .sbss:0x801D40BC; // type:object size:0x4 scope:local data:4byte -lbl_801D40C0 = .sbss:0x801D40C0; // type:object size:0x4 data:4byte -lbl_801D40C4 = .sbss:0x801D40C4; // type:object size:0x4 data:4byte -ResetRequired = .sbss:0x801D40C8; // type:object size:0x4 scope:local data:4byte -FirstTimeInBootrom = .sbss:0x801D40CC; // type:object size:0x4 scope:local data:4byte -DVDInitialized = .sbss:0x801D40D0; // type:object size:0x4 scope:local data:4byte -lbl_801D40D4 = .sbss:0x801D40D4; // type:object size:0x4 data:4byte -lbl_801D40D8 = .sbss:0x801D40D8; // type:object size:0x4 data:4byte -bb2 = .sbss:0x801D40DC; // type:object size:0x4 scope:local data:4byte -idTmp = .sbss:0x801D40E0; // type:object size:0x4 scope:local data:4byte -lbl_801D40E8 = .sbss:0x801D40E8; // type:object size:0x4 data:4byte -lbl_801D40EC = .sbss:0x801D40EC; // type:object size:0x4 data:4byte -lbl_801D40F0 = .sbss:0x801D40F0; // type:object size:0x8 -lbl_801D40F8 = .sbss:0x801D40F8; // type:object size:0x4 data:4byte -lbl_801D40FC = .sbss:0x801D40FC; // type:object size:0x4 data:4byte -lbl_801D4100 = .sbss:0x801D4100; // type:object size:0x4 data:4byte -lbl_801D4104 = .sbss:0x801D4104; // type:object size:0x2 data:2byte -lbl_801D4106 = .sbss:0x801D4106; // type:object size:0x2 data:2byte -lbl_801D4108 = .sbss:0x801D4108; // type:object size:0x8 data:4byte -lbl_801D4110 = .sbss:0x801D4110; // type:object size:0x4 data:4byte -lbl_801D4114 = .sbss:0x801D4114; // type:object size:0x4 data:4byte -lbl_801D4118 = .sbss:0x801D4118; // type:object size:0x8 data:4byte -lbl_801D4120 = .sbss:0x801D4120; // type:object size:0x4 data:4byte -lbl_801D4124 = .sbss:0x801D4124; // type:object size:0x4 data:4byte -lbl_801D4128 = .sbss:0x801D4128; // type:object size:0x4 data:4byte -CurrTvMode = .sbss:0x801D412C; // type:object size:0x4 scope:local data:4byte -lbl_801D4130 = .sbss:0x801D4130; // type:object size:0x4 data:4byte -lbl_801D4134 = .sbss:0x801D4134; // type:object size:0x4 data:4byte -lbl_801D4138 = .sbss:0x801D4138; // type:object size:0x8 data:4byte -lbl_801D4140 = .sbss:0x801D4140; // type:object size:0x8 data:4byte -lbl_801D4148 = .sbss:0x801D4148; // type:object size:0x4 data:4byte -lbl_801D414C = .sbss:0x801D414C; // type:object size:0x4 data:4byte -lbl_801D4150 = .sbss:0x801D4150; // type:object size:0x4 data:4byte -lbl_801D4154 = .sbss:0x801D4154; // type:object size:0x4 data:4byte -lbl_801D4158 = .sbss:0x801D4158; // type:object size:0x4 data:4byte -lbl_801D415C = .sbss:0x801D415C; // type:object size:0x4 data:4byte -lbl_801D4160 = .sbss:0x801D4160; // type:object size:0x4 data:4byte -lbl_801D4164 = .sbss:0x801D4164; // type:object size:0x4 data:4byte -lbl_801D4168 = .sbss:0x801D4168; // type:object size:0x4 data:4byte -lbl_801D416C = .sbss:0x801D416C; // type:object size:0x4 data:4byte -lbl_801D4170 = .sbss:0x801D4170; // type:object size:0x4 data:4byte -lbl_801D4174 = .sbss:0x801D4174; // type:object size:0x4 data:4byte -lbl_801D4178 = .sbss:0x801D4178; // type:object size:0x4 data:4byte -lbl_801D417C = .sbss:0x801D417C; // type:object size:0x4 data:4byte -lbl_801D4180 = .sbss:0x801D4180; // type:object size:0x4 data:4byte -lbl_801D4184 = .sbss:0x801D4184; // type:object size:0x4 data:4byte -lbl_801D4188 = .sbss:0x801D4188; // type:object size:0x4 data:4byte -lbl_801D418C = .sbss:0x801D418C; // type:object size:0x4 data:4byte -lbl_801D4190 = .sbss:0x801D4190; // type:object size:0x4 data:4byte -lbl_801D4194 = .sbss:0x801D4194; // type:object size:0x4 data:4byte -lbl_801D4198 = .sbss:0x801D4198; // type:object size:0x4 data:4byte -lbl_801D419C = .sbss:0x801D419C; // type:object size:0x4 data:4byte -lbl_801D41A0 = .sbss:0x801D41A0; // type:object size:0x4 data:4byte -lbl_801D41A4 = .sbss:0x801D41A4; // type:object size:0x4 data:4byte -lbl_801D41A8 = .sbss:0x801D41A8; // type:object size:0x4 data:4byte -lbl_801D41AC = .sbss:0x801D41AC; // type:object size:0x4 data:4byte -lbl_801D41B0 = .sbss:0x801D41B0; // type:object size:0x4 data:4byte -lbl_801D41B4 = .sbss:0x801D41B4; // type:object size:0x4 data:4byte -lbl_801D41B8 = .sbss:0x801D41B8; // type:object size:0x4 data:4byte -lbl_801D41BC = .sbss:0x801D41BC; // type:object size:0x4 data:4byte -lbl_801D41C0 = .sbss:0x801D41C0; // type:object size:0x4 data:4byte -lbl_801D41C4 = .sbss:0x801D41C4; // type:object size:0x4 data:4byte -lbl_801D41C8 = .sbss:0x801D41C8; // type:object size:0x4 data:4byte -__PADSpec = .sbss:0x801D41CC; // type:object size:0x4 scope:global data:4byte -lbl_801D41D0 = .sbss:0x801D41D0; // type:object size:0x4 data:4byte -lbl_801D41D4 = .sbss:0x801D41D4; // type:object size:0x4 data:4byte -lbl_801D41D8 = .sbss:0x801D41D8; // type:object size:0x4 data:4byte -lbl_801D41DC = .sbss:0x801D41DC; // type:object size:0x4 data:4byte -lbl_801D41E0 = .sbss:0x801D41E0; // type:object size:0x8 data:4byte -lbl_801D41E8 = .sbss:0x801D41E8; // type:object size:0x4 data:4byte -lbl_801D41EC = .sbss:0x801D41EC; // type:object size:0x4 data:4byte -lbl_801D41F0 = .sbss:0x801D41F0; // type:object size:0x4 data:4byte -lbl_801D41F4 = .sbss:0x801D41F4; // type:object size:0x4 data:4byte -lbl_801D41F8 = .sbss:0x801D41F8; // type:object size:0x4 data:4byte -lbl_801D41FC = .sbss:0x801D41FC; // type:object size:0x4 data:4byte -lbl_801D4200 = .sbss:0x801D4200; // type:object size:0x4 data:4byte -lbl_801D4204 = .sbss:0x801D4204; // type:object size:0x4 data:4byte -lbl_801D4208 = .sbss:0x801D4208; // type:object size:0x4 data:4byte -lbl_801D420C = .sbss:0x801D420C; // type:object size:0x4 data:4byte -lbl_801D4210 = .sbss:0x801D4210; // type:object size:0x4 data:4byte -lbl_801D4214 = .sbss:0x801D4214; // type:object size:0x4 data:4byte -lbl_801D4218 = .sbss:0x801D4218; // type:object size:0x4 data:4byte -lbl_801D421C = .sbss:0x801D421C; // type:object size:0x4 data:4byte -lbl_801D4220 = .sbss:0x801D4220; // type:object size:0x4 data:4byte -lbl_801D4224 = .sbss:0x801D4224; // type:object size:0x4 data:4byte -lbl_801D4228 = .sbss:0x801D4228; // type:object size:0x4 data:4byte -lbl_801D422C = .sbss:0x801D422C; // type:object size:0x4 data:4byte -lbl_801D4230 = .sbss:0x801D4230; // type:object size:0x4 data:4byte -lbl_801D4234 = .sbss:0x801D4234; // type:object size:0x4 data:4byte -lbl_801D4238 = .sbss:0x801D4238; // type:object size:0x4 data:4byte -lbl_801D423C = .sbss:0x801D423C; // type:object size:0x4 data:4byte -lbl_801D4240 = .sbss:0x801D4240; // type:object size:0x4 data:4byte -lbl_801D4244 = .sbss:0x801D4244; // type:object size:0x4 data:4byte -lbl_801D4248 = .sbss:0x801D4248; // type:object size:0x4 data:4byte -lbl_801D424C = .sbss:0x801D424C; // type:object size:0x4 data:4byte -lbl_801D4250 = .sbss:0x801D4250; // type:object size:0x4 data:4byte -lbl_801D4254 = .sbss:0x801D4254; // type:object size:0x4 data:4byte -lbl_801D4258 = .sbss:0x801D4258; // type:object size:0x8 data:4byte -lbl_801D4260 = .sbss:0x801D4260; // type:object size:0x4 data:4byte -lbl_801D4264 = .sbss:0x801D4264; // type:object size:0x4 data:4byte -lbl_801D4268 = .sbss:0x801D4268; // type:object size:0x4 data:4byte -lbl_801D426C = .sbss:0x801D426C; // type:object size:0x4 data:4byte -lbl_801D4270 = .sbss:0x801D4270; // type:object size:0x4 data:4byte -lbl_801D4274 = .sbss:0x801D4274; // type:object size:0x4 data:4byte -__piReg = .sbss:0x801D4278; // type:object size:0x4 scope:global data:4byte -__cpReg = .sbss:0x801D427C; // type:object size:0x4 scope:global data:4byte -__peReg = .sbss:0x801D4280; // type:object size:0x4 scope:global data:4byte -__memReg = .sbss:0x801D4284; // type:object size:0x4 scope:global data:4byte -lbl_801D4288 = .sbss:0x801D4288; // type:object size:0x4 data:4byte -lbl_801D428C = .sbss:0x801D428C; // type:object size:0x4 data:4byte -lbl_801D4290 = .sbss:0x801D4290; // type:object size:0x4 data:4byte -lbl_801D4294 = .sbss:0x801D4294; // type:object size:0x1 data:byte -lbl_801D4298 = .sbss:0x801D4298; // type:object size:0x4 data:4byte -lbl_801D429C = .sbss:0x801D429C; // type:object size:0x4 data:4byte -lbl_801D42A0 = .sbss:0x801D42A0; // type:object size:0x8 data:4byte -lbl_801D42A8 = .sbss:0x801D42A8; // type:object size:0x4 data:4byte -lbl_801D42AC = .sbss:0x801D42AC; // type:object size:0x4 data:4byte -lbl_801D42B0 = .sbss:0x801D42B0; // type:object size:0x1 data:byte -lbl_801D42B4 = .sbss:0x801D42B4; // type:object size:0xC -lbl_801D42C0 = .sbss:0x801D42C0; // type:object size:0x8 data:4byte -lbl_801D42C8 = .sbss:0x801D42C8; // type:object size:0x4 data:4byte -lbl_801D42CC = .sbss:0x801D42CC; // type:object size:0x4 data:4byte -lbl_801D42D0 = .sbss:0x801D42D0; // type:object size:0x4 data:4byte -lbl_801D42D4 = .sbss:0x801D42D4; // type:object size:0x4 data:4byte -lbl_801D42D8 = .sbss:0x801D42D8; // type:object size:0x4 -cmdTypeAndStatus$371 = .sbss:0x801D42DC; // type:object size:0x4 scope:local -lbl_801D42E0 = .sbss:0x801D42E0; // type:object size:0x8 data:4byte -SamplingRate = .sbss:0x801D42E8; // type:object size:0x4 scope:local data:4byte -lbl_801D4300 = .sbss:0x801D4300; // type:object size:0x20 data:4byte -lbl_801D4320 = .sbss:0x801D4320; // type:object size:0x20 data:4byte -lbl_801D4340 = .sbss:0x801D4340; // type:object size:0x20 data:4byte -lbl_801D4360 = .sbss:0x801D4360; // type:object size:0x20 data:4byte -lbl_801D4380 = .sbss:0x801D4380; // type:object size:0x20 data:4byte -lbl_801D43A0 = .sbss:0x801D43A0; // type:object size:0x4 data:4byte -lbl_801D43A4 = .sbss:0x801D43A4; // type:object size:0x4 data:4byte -lbl_801D43A8 = .sbss:0x801D43A8; // type:object size:0x4 data:4byte -lbl_801D43AC = .sbss:0x801D43AC; // type:object size:0x14 data:4byte -lbl_801D43C0 = .sbss:0x801D43C0; // type:object size:0x20 data:4byte -lbl_801D43E0 = .sbss:0x801D43E0; // type:object size:0x20 data:4byte -lbl_801D4400 = .sbss:0x801D4400; // type:object size:0x4 data:4byte -lbl_801D4404 = .sbss:0x801D4404; // type:object size:0x4 data:4byte -lbl_801D4408 = .sbss:0x801D4408; // type:object size:0x4 data:4byte -lbl_801D440C = .sbss:0x801D440C; // type:object size:0x4 data:4byte -lbl_801D4410 = .sbss:0x801D4410; // type:object size:0x4 data:4byte -lbl_801D4414 = .sbss:0x801D4414; // type:object size:0x4 data:4byte -__global_destructor_chain = .sbss:0x801D4418; // type:object size:0x4 scope:global data:4byte -__aborting = .sbss:0x801D4420; // type:object size:0x4 scope:global data:4byte -__atexit_curr_func = .sbss:0x801D4424; // type:object size:0x4 scope:local data:4byte -__stdio_exit = .sbss:0x801D4428; // type:object size:0x4 scope:global data:4byte -__console_exit = .sbss:0x801D442C; // type:object size:0x4 scope:global data:4byte -lbl_801D4430 = .sbss:0x801D4430; // type:object size:0x8 data:byte -lbl_801D4438 = .sbss:0x801D4438; // type:object size:0x8 data:4byte -lbl_801D4440 = .sbss:0x801D4440; // type:object size:0x8 data:4byte -lbl_801D4448 = .sbss:0x801D4448; // type:object size:0x4 data:4byte -lbl_801D444C = .sbss:0x801D444C; // type:object size:0x1 data:byte -lbl_801D4450 = .sbss:0x801D4450; // type:object size:0x4 data:4byte -lbl_801D4454 = .sbss:0x801D4454; // type:object size:0x4 data:4byte -lbl_801D4458 = .sbss:0x801D4458; // type:object size:0x4 data:4byte -lbl_801D445C = .sbss:0x801D445C; // type:object size:0x4 data:4byte -lbl_801D4460 = .sbss:0x801D4460; // type:object size:0x4 data:4byte -lbl_801D4464 = .sbss:0x801D4464; // type:object size:0x4 data:4byte -lbl_801D4468 = .sbss:0x801D4468; // type:object size:0x1 data:byte -lbl_801D4469 = .sbss:0x801D4469; // type:object size:0x1 data:byte -lbl_801D446C = .sbss:0x801D446C; // type:object size:0x8 data:byte -lbl_801D4474 = .sbss:0x801D4474; // type:object size:0x8 data:byte -lbl_801D447C = .sbss:0x801D447C; // type:object size:0x8 data:byte -lbl_801D4484 = .sbss:0x801D4484; // type:object size:0x8 data:byte -lbl_801D448C = .sbss:0x801D448C; // type:object size:0x4 data:4byte -lbl_801D4490 = .sbss:0x801D4490; // type:object size:0x4 data:4byte -lbl_801D4494 = .sbss:0x801D4494; // type:object size:0x4 data:4byte -lbl_801D4498 = .sbss:0x801D4498; // type:object size:0x4 data:4byte -lbl_801D449C = .sbss:0x801D449C; // type:object size:0x4 data:4byte -lbl_801D44A0 = .sbss:0x801D44A0; // type:object size:0x8 data:byte -lbl_801D44A8 = .sbss:0x801D44A8; // type:object size:0x4 data:4byte -lbl_801D44AC = .sbss:0x801D44AC; // type:object size:0x4 data:4byte -lbl_801D44B0 = .sbss:0x801D44B0; // type:object size:0x4 data:4byte -lbl_801D44B4 = .sbss:0x801D44B4; // type:object size:0x1 data:byte -lbl_801D44B5 = .sbss:0x801D44B5; // type:object size:0x1 data:byte -lbl_801D44B8 = .sbss:0x801D44B8; // type:object size:0x4 data:4byte -lbl_801D44BC = .sbss:0x801D44BC; // type:object size:0x4 data:4byte -lbl_801D44C0 = .sbss:0x801D44C0; // type:object size:0x8 -lbl_801D44C8 = .sbss:0x801D44C8; // type:object size:0x4 data:4byte -lbl_801D44CC = .sbss:0x801D44CC; // type:object size:0x8 -lbl_801D44D4 = .sbss:0x801D44D4; // type:object size:0x4 data:4byte -lbl_801D44D8 = .sbss:0x801D44D8; // type:object size:0x4 data:4byte -lbl_801D44DC = .sbss:0x801D44DC; // type:object size:0x4 data:4byte -lbl_801D44E0 = .sbss:0x801D44E0; // type:object size:0x8 -lbl_801D44E8 = .sbss:0x801D44E8; // type:object size:0x4 data:4byte -lbl_801D44EC = .sbss:0x801D44EC; // type:object size:0x4 data:4byte -lbl_801D44F0 = .sbss:0x801D44F0; // type:object size:0x2 data:2byte -lbl_801D44F2 = .sbss:0x801D44F2; // type:object size:0x2 data:2byte -lbl_801D44F4 = .sbss:0x801D44F4; // type:object size:0x2 data:2byte -lbl_801D44F6 = .sbss:0x801D44F6; // type:object size:0x2 data:2byte -lbl_801D44F8 = .sbss:0x801D44F8; // type:object size:0x2 data:2byte -lbl_801D44FA = .sbss:0x801D44FA; // type:object size:0x6 data:2byte -lbl_801D4500 = .sbss:0x801D4500; // type:object size:0x8 data:4byte -lbl_801D4508 = .sbss:0x801D4508; // type:object size:0x4 data:4byte -lbl_801D450C = .sbss:0x801D450C; // type:object size:0x4 data:4byte -lbl_801D4510 = .sbss:0x801D4510; // type:object size:0x4 data:4byte -lbl_801D4514 = .sbss:0x801D4514; // type:object size:0x4 data:4byte -lbl_801D4518 = .sbss:0x801D4518; // type:object size:0x8 data:byte -lbl_801D4520 = .sbss:0x801D4520; // type:object size:0x4 data:4byte -lbl_801D4524 = .sbss:0x801D4524; // type:object size:0x4 data:4byte -lbl_801D4528 = .sbss:0x801D4528; // type:object size:0x4 data:4byte -lbl_801D452C = .sbss:0x801D452C; // type:object size:0x2 data:2byte -lbl_801D452E = .sbss:0x801D452E; // type:object size:0x1 data:byte -lbl_801D452F = .sbss:0x801D452F; // type:object size:0x1 data:byte -lbl_801D4530 = .sbss:0x801D4530; // type:object size:0x1 data:byte -lbl_801D4531 = .sbss:0x801D4531; // type:object size:0x7 data:byte -lbl_801D4538 = .sbss:0x801D4538; // type:object size:0x8 data:2byte -lbl_801D4540 = .sbss:0x801D4540; // type:object size:0x4 data:4byte -lbl_801D4544 = .sbss:0x801D4544; // type:object size:0x4 data:4byte -lbl_801D4548 = .sbss:0x801D4548; // type:object size:0x4 data:4byte -lbl_801D454C = .sbss:0x801D454C; // type:object size:0x2 data:2byte -lbl_801D4550 = .sbss:0x801D4550; // type:object size:0x4 data:4byte -lbl_801D4554 = .sbss:0x801D4554; // type:object size:0x4 data:4byte -lbl_801D4558 = .sbss:0x801D4558; // type:object size:0x4 data:4byte -lbl_801D455C = .sbss:0x801D455C; // type:object size:0x2 data:2byte -lbl_801D4560 = .sbss:0x801D4560; // type:object size:0x4 data:4byte -lbl_801D4564 = .sbss:0x801D4564; // type:object size:0x4 data:4byte -lbl_801D4568 = .sbss:0x801D4568; // type:object size:0x4 data:4byte -lbl_801D456C = .sbss:0x801D456C; // type:object size:0x4 data:4byte -lbl_801D4570 = .sbss:0x801D4570; // type:object size:0x4 data:4byte -lbl_801D4574 = .sbss:0x801D4574; // type:object size:0x4 data:4byte -lbl_801D4578 = .sbss:0x801D4578; // type:object size:0x8 data:4byte -lbl_801D4580 = .sbss:0x801D4580; // type:object size:0x1 data:byte -lbl_801D4581 = .sbss:0x801D4581; // type:object size:0x1 data:byte -lbl_801D4582 = .sbss:0x801D4582; // type:object size:0x1 data:byte -lbl_801D4583 = .sbss:0x801D4583; // type:object size:0x1 data:byte -lbl_801D4584 = .sbss:0x801D4584; // type:object size:0x1 data:byte -lbl_801D4585 = .sbss:0x801D4585; // type:object size:0x1 data:byte -lbl_801D4588 = .sbss:0x801D4588; // type:object size:0x4 data:4byte -lbl_801D458C = .sbss:0x801D458C; // type:object size:0x4 data:4byte -lbl_801D4590 = .sbss:0x801D4590; // type:object size:0x4 data:4byte -lbl_801D4594 = .sbss:0x801D4594; // type:object size:0x4 data:4byte -lbl_801D4598 = .sbss:0x801D4598; // type:object size:0x4 data:4byte -lbl_801D459C = .sbss:0x801D459C; // type:object size:0x1 data:byte -lbl_801D45A0 = .sbss:0x801D45A0; // type:object size:0x1 data:byte -lbl_801D45A4 = .sbss:0x801D45A4; // type:object size:0x4 data:4byte -lbl_801D45A8 = .sbss:0x801D45A8; // type:object size:0x4 data:4byte -lbl_801D45AC = .sbss:0x801D45AC; // type:object size:0x1 data:byte -lbl_801D45AD = .sbss:0x801D45AD; // type:object size:0x1 data:byte -lbl_801D45AE = .sbss:0x801D45AE; // type:object size:0x1 data:byte -lbl_801D45AF = .sbss:0x801D45AF; // type:object size:0x1 data:byte -lbl_801D45B0 = .sbss:0x801D45B0; // type:object size:0x4 data:4byte -lbl_801D45B4 = .sbss:0x801D45B4; // type:object size:0x4 data:4byte -lbl_801D45B8 = .sbss:0x801D45B8; // type:object size:0x4 data:4byte -lbl_801D45BC = .sbss:0x801D45BC; // type:object size:0x4 data:4byte -lbl_801D45C0 = .sbss:0x801D45C0; // type:object size:0x4 data:4byte -lbl_801D45C4 = .sbss:0x801D45C4; // type:object size:0x4 data:4byte -lbl_801D45C8 = .sbss:0x801D45C8; // type:object size:0x4 data:4byte -lbl_801D45CC = .sbss:0x801D45CC; // type:object size:0x4 data:4byte -lbl_801D45D0 = .sbss:0x801D45D0; // type:object size:0x4 data:4byte -lbl_801D45D4 = .sbss:0x801D45D4; // type:object size:0x2 data:2byte -lbl_801D45D8 = .sbss:0x801D45D8; // type:object size:0x4 data:4byte -lbl_801D45DC = .sbss:0x801D45DC; // type:object size:0x4 data:4byte -lbl_801D45E0 = .sbss:0x801D45E0; // type:object size:0x4 data:4byte -lbl_801D45E4 = .sbss:0x801D45E4; // type:object size:0x4 data:4byte -lbl_801D45E8 = .sbss:0x801D45E8; // type:object size:0x4 data:4byte -lbl_801D45EC = .sbss:0x801D45EC; // type:object size:0x4 data:4byte -lbl_801D45F0 = .sbss:0x801D45F0; // type:object size:0x1 data:byte -lbl_801D45F4 = .sbss:0x801D45F4; // type:object size:0x4 data:4byte -lbl_801D45F8 = .sbss:0x801D45F8; // type:object size:0x4 data:4byte -lbl_801D45FC = .sbss:0x801D45FC; // type:object size:0x4 data:4byte -lbl_801D4600 = .sbss:0x801D4600; // type:object size:0x4 data:4byte -lbl_801D4604 = .sbss:0x801D4604; // type:object size:0x4 data:4byte -lbl_801D4608 = .sbss:0x801D4608; // type:object size:0x4 data:4byte -lbl_801D460C = .sbss:0x801D460C; // type:object size:0x1 data:byte -lbl_801D4620 = .sdata2:0x801D4620; // type:object size:0x8 scope:local data:double -lbl_801D4628 = .sdata2:0x801D4628; // type:object size:0x4 scope:local data:float -lbl_801D462C = .sdata2:0x801D462C; // type:object size:0x4 scope:local data:float -lbl_801D4630 = .sdata2:0x801D4630; // type:object size:0x8 scope:local data:double -lbl_801D4638 = .sdata2:0x801D4638; // type:object size:0x4 scope:local data:float -lbl_801D463C = .sdata2:0x801D463C; // type:object size:0x4 scope:local data:float -lbl_801D4640 = .sdata2:0x801D4640; // type:object size:0x4 scope:local data:float -lbl_801D4644 = .sdata2:0x801D4644; // type:object size:0x4 scope:local data:float -lbl_801D4648 = .sdata2:0x801D4648; // type:object size:0x4 scope:local data:float -lbl_801D464C = .sdata2:0x801D464C; // type:object size:0x4 scope:local data:float -lbl_801D4650 = .sdata2:0x801D4650; // type:object size:0x4 scope:local data:float -lbl_801D4654 = .sdata2:0x801D4654; // type:object size:0x4 scope:local data:float -lbl_801D4658 = .sdata2:0x801D4658; // type:object size:0x4 scope:local data:float -lbl_801D4660 = .sdata2:0x801D4660; // type:object size:0x8 scope:local data:double -lbl_801D4668 = .sdata2:0x801D4668; // type:object size:0x8 scope:local data:double -lbl_801D4670 = .sdata2:0x801D4670; // type:object size:0x4 scope:local data:float -lbl_801D4674 = .sdata2:0x801D4674; // type:object size:0x4 scope:local data:float -lbl_801D4678 = .sdata2:0x801D4678; // type:object size:0x4 scope:local data:float -lbl_801D467C = .sdata2:0x801D467C; // type:object size:0x4 scope:local data:float -lbl_801D4680 = .sdata2:0x801D4680; // type:object size:0x8 scope:local data:float -lbl_801D4688 = .sdata2:0x801D4688; // type:object size:0x4 scope:local data:float -lbl_801D468C = .sdata2:0x801D468C; // type:object size:0x4 scope:local data:float -lbl_801D4690 = .sdata2:0x801D4690; // type:object size:0x4 scope:local data:float -lbl_801D4698 = .sdata2:0x801D4698; // type:object size:0x8 scope:local data:double -lbl_801D46A0 = .sdata2:0x801D46A0; // type:object size:0x8 scope:local data:double -lbl_801D46A8 = .sdata2:0x801D46A8; // type:object size:0x8 scope:local data:float -lbl_801D46B0 = .sdata2:0x801D46B0; // type:object size:0x4 scope:local data:float -lbl_801D46B4 = .sdata2:0x801D46B4; // type:object size:0x4 scope:local data:float -lbl_801D46B8 = .sdata2:0x801D46B8; // type:object size:0x4 scope:local data:float -lbl_801D46BC = .sdata2:0x801D46BC; // type:object size:0x4 scope:local data:float -lbl_801D46C0 = .sdata2:0x801D46C0; // type:object size:0x4 scope:local data:float -lbl_801D46C4 = .sdata2:0x801D46C4; // type:object size:0x4 scope:local data:float -lbl_801D46C8 = .sdata2:0x801D46C8; // type:object size:0x4 scope:local data:float -lbl_801D46D0 = .sdata2:0x801D46D0; // type:object size:0x8 scope:local data:double -lbl_801D46D8 = .sdata2:0x801D46D8; // type:object size:0x8 scope:local data:double -lbl_801D46E0 = .sdata2:0x801D46E0; // type:object size:0x8 scope:local data:double -lbl_801D46E8 = .sdata2:0x801D46E8; // type:object size:0x4 scope:local data:float -lbl_801D46EC = .sdata2:0x801D46EC; // type:object size:0x4 scope:local data:float -lbl_801D46F0 = .sdata2:0x801D46F0; // type:object size:0x4 scope:local data:float -lbl_801D46F4 = .sdata2:0x801D46F4; // type:object size:0x4 scope:local data:float -lbl_801D46F8 = .sdata2:0x801D46F8; // type:object size:0x8 scope:local data:double -lbl_801D4700 = .sdata2:0x801D4700; // type:object size:0x8 scope:local data:double -lbl_801D4708 = .sdata2:0x801D4708; // type:object size:0x8 scope:local data:double -lbl_801D4710 = .sdata2:0x801D4710; // type:object size:0x8 scope:local data:double -lbl_801D4718 = .sdata2:0x801D4718; // type:object size:0x4 scope:local data:float -lbl_801D4720 = .sdata2:0x801D4720; // type:object size:0x8 scope:local data:double -lbl_801D4728 = .sdata2:0x801D4728; // type:object size:0x4 scope:local data:float -lbl_801D472C = .sdata2:0x801D472C; // type:object size:0x4 scope:local data:float -lbl_801D4730 = .sdata2:0x801D4730; // type:object size:0x4 scope:local data:float -lbl_801D4734 = .sdata2:0x801D4734; // type:object size:0x4 scope:local data:float -lbl_801D4738 = .sdata2:0x801D4738; // type:object size:0x8 scope:local data:double -lbl_801D4740 = .sdata2:0x801D4740; // type:object size:0x4 scope:local data:float -lbl_801D4744 = .sdata2:0x801D4744; // type:object size:0x4 scope:local data:float -lbl_801D4748 = .sdata2:0x801D4748; // type:object size:0x4 scope:local data:float -lbl_801D474C = .sdata2:0x801D474C; // type:object size:0x4 scope:local data:float -lbl_801D4750 = .sdata2:0x801D4750; // type:object size:0x8 scope:local data:double -lbl_801D4758 = .sdata2:0x801D4758; // type:object size:0x4 scope:local data:float -lbl_801D4760 = .sdata2:0x801D4760; // type:object size:0x8 scope:local data:double -lbl_801D4768 = .sdata2:0x801D4768; // type:object size:0x4 scope:local data:float -lbl_801D476C = .sdata2:0x801D476C; // type:object size:0x4 scope:local data:float -lbl_801D4770 = .sdata2:0x801D4770; // type:object size:0x4 scope:local data:float -lbl_801D4774 = .sdata2:0x801D4774; // type:object size:0x4 scope:local data:float -lbl_801D4778 = .sdata2:0x801D4778; // type:object size:0x4 scope:local data:float -lbl_801D4780 = .sdata2:0x801D4780; // type:object size:0x8 scope:local data:double -lbl_801D4788 = .sdata2:0x801D4788; // type:object size:0x8 scope:local data:double -lbl_801D4790 = .sdata2:0x801D4790; // type:object size:0x8 scope:local data:double -lbl_801D4798 = .sdata2:0x801D4798; // type:object size:0x8 scope:local data:double -lbl_801D47A0 = .sdata2:0x801D47A0; // type:object size:0x4 scope:local data:float -lbl_801D47A4 = .sdata2:0x801D47A4; // type:object size:0x4 scope:local data:float -lbl_801D47A8 = .sdata2:0x801D47A8; // type:object size:0x4 scope:local data:float -lbl_801D47AC = .sdata2:0x801D47AC; // type:object size:0x4 scope:local data:float -lbl_801D47B0 = .sdata2:0x801D47B0; // type:object size:0x4 scope:local data:float -lbl_801D47B4 = .sdata2:0x801D47B4; // type:object size:0x4 scope:local data:float -lbl_801D47B8 = .sdata2:0x801D47B8; // type:object size:0x4 scope:local data:float -lbl_801D47BC = .sdata2:0x801D47BC; // type:object size:0x4 scope:local data:float -lbl_801D47C0 = .sdata2:0x801D47C0; // type:object size:0x8 scope:local data:double -lbl_801D47C8 = .sdata2:0x801D47C8; // type:object size:0x8 scope:local data:float -lbl_801D47D0 = .sdata2:0x801D47D0; // type:object size:0x4 scope:local data:float -lbl_801D47D4 = .sdata2:0x801D47D4; // type:object size:0x4 scope:local data:float -lbl_801D47D8 = .sdata2:0x801D47D8; // type:object size:0x8 scope:local data:double -lbl_801D47E0 = .sdata2:0x801D47E0; // type:object size:0x8 scope:local data:double -lbl_801D47E8 = .sdata2:0x801D47E8; // type:object size:0x4 scope:local data:float -lbl_801D47EC = .sdata2:0x801D47EC; // type:object size:0x4 scope:local data:float -lbl_801D47F0 = .sdata2:0x801D47F0; // type:object size:0x4 scope:local data:float -lbl_801D47F8 = .sdata2:0x801D47F8; // type:object size:0x8 scope:local data:double -lbl_801D4800 = .sdata2:0x801D4800; // type:object size:0x8 scope:local data:double -lbl_801D4808 = .sdata2:0x801D4808; // type:object size:0x8 scope:local data:double -lbl_801D4810 = .sdata2:0x801D4810; // type:object size:0x4 scope:local data:float -lbl_801D4814 = .sdata2:0x801D4814; // type:object size:0x4 scope:local data:float -lbl_801D4818 = .sdata2:0x801D4818; // type:object size:0x8 scope:local data:float -lbl_801D4820 = .sdata2:0x801D4820; // type:object size:0x4 scope:local data:float -lbl_801D4824 = .sdata2:0x801D4824; // type:object size:0x4 scope:local data:float -lbl_801D4828 = .sdata2:0x801D4828; // type:object size:0x8 scope:local data:double -lbl_801D4830 = .sdata2:0x801D4830; // type:object size:0x4 scope:local data:float -lbl_801D4834 = .sdata2:0x801D4834; // type:object size:0x4 scope:local data:float -lbl_801D4838 = .sdata2:0x801D4838; // type:object size:0x4 scope:local data:float -lbl_801D483C = .sdata2:0x801D483C; // type:object size:0x4 scope:local data:float -lbl_801D4840 = .sdata2:0x801D4840; // type:object size:0x8 scope:local data:double -lbl_801D4848 = .sdata2:0x801D4848; // type:object size:0x4 scope:local data:float -lbl_801D4850 = .sdata2:0x801D4850; // type:object size:0x8 scope:local data:double -lbl_801D4858 = .sdata2:0x801D4858; // type:object size:0x8 scope:local data:double -lbl_801D4860 = .sdata2:0x801D4860; // type:object size:0x8 scope:local data:double -lbl_801D4868 = .sdata2:0x801D4868; // type:object size:0x4 scope:local data:float -lbl_801D4870 = .sdata2:0x801D4870; // type:object size:0x8 scope:local data:double -lbl_801D4878 = .sdata2:0x801D4878; // type:object size:0x8 scope:local data:double -lbl_801D4880 = .sdata2:0x801D4880; // type:object size:0x4 scope:local data:float -lbl_801D4888 = .sdata2:0x801D4888; // type:object size:0x8 scope:local data:double -lbl_801D4890 = .sdata2:0x801D4890; // type:object size:0x8 scope:local data:double -lbl_801D4898 = .sdata2:0x801D4898; // type:object size:0x8 scope:local data:double -lbl_801D48A0 = .sdata2:0x801D48A0; // type:object size:0x8 scope:local data:double -lbl_801D48A8 = .sdata2:0x801D48A8; // type:object size:0x4 scope:local data:float -lbl_801D48AC = .sdata2:0x801D48AC; // type:object size:0x4 scope:local data:float -lbl_801D48B0 = .sdata2:0x801D48B0; // type:object size:0x4 scope:local data:float -lbl_801D48B4 = .sdata2:0x801D48B4; // type:object size:0x4 scope:local data:float -lbl_801D48B8 = .sdata2:0x801D48B8; // type:object size:0x8 scope:local data:double -lbl_801D48C0 = .sdata2:0x801D48C0; // type:object size:0x4 scope:local data:float -lbl_801D48C8 = .sdata2:0x801D48C8; // type:object size:0x8 scope:local data:double -lbl_801D48D0 = .sdata2:0x801D48D0; // type:object size:0x8 scope:local data:double -lbl_801D48D8 = .sdata2:0x801D48D8; // type:object size:0x4 scope:local data:float -lbl_801D48E0 = .sdata2:0x801D48E0; // type:object size:0x8 scope:local data:double -lbl_801D48E8 = .sdata2:0x801D48E8; // type:object size:0x4 scope:local data:float -lbl_801D48EC = .sdata2:0x801D48EC; // type:object size:0x4 scope:local data:float -lbl_801D48F0 = .sdata2:0x801D48F0; // type:object size:0x4 scope:local data:float -lbl_801D48F4 = .sdata2:0x801D48F4; // type:object size:0x4 scope:local data:float -lbl_801D48F8 = .sdata2:0x801D48F8; // type:object size:0x8 scope:local data:double -lbl_801D4900 = .sdata2:0x801D4900; // type:object size:0x8 scope:local data:double -lbl_801D4908 = .sdata2:0x801D4908; // type:object size:0x4 scope:local data:float -lbl_801D490C = .sdata2:0x801D490C; // type:object size:0x4 scope:local data:float -lbl_801D4910 = .sdata2:0x801D4910; // type:object size:0x8 scope:local data:double -lbl_801D4918 = .sdata2:0x801D4918; // type:object size:0x4 scope:local data:float -lbl_801D491C = .sdata2:0x801D491C; // type:object size:0x4 scope:local data:float -lbl_801D4920 = .sdata2:0x801D4920; // type:object size:0x4 scope:local data:float -lbl_801D4924 = .sdata2:0x801D4924; // type:object size:0x4 scope:local data:float -lbl_801D4928 = .sdata2:0x801D4928; // type:object size:0x8 scope:local data:double -lbl_801D4930 = .sdata2:0x801D4930; // type:object size:0x8 scope:local data:double -lbl_801D4938 = .sdata2:0x801D4938; // type:object size:0x4 scope:local data:float -lbl_801D493C = .sdata2:0x801D493C; // type:object size:0x4 scope:local data:float -lbl_801D4940 = .sdata2:0x801D4940; // type:object size:0x4 scope:local data:float -lbl_801D4944 = .sdata2:0x801D4944; // type:object size:0x4 scope:local data:float -lbl_801D4948 = .sdata2:0x801D4948; // type:object size:0x4 scope:local data:float -lbl_801D494C = .sdata2:0x801D494C; // type:object size:0x4 scope:local data:float -lbl_801D4950 = .sdata2:0x801D4950; // type:object size:0x4 scope:local data:float -lbl_801D4954 = .sdata2:0x801D4954; // type:object size:0x4 scope:local data:float -lbl_801D4958 = .sdata2:0x801D4958; // type:object size:0x4 scope:local data:float -lbl_801D4960 = .sdata2:0x801D4960; // type:object size:0x8 data:double -lbl_801D4968 = .sdata2:0x801D4968; // type:object size:0x8 data:double -lbl_801D4970 = .sdata2:0x801D4970; // type:object size:0x4 scope:local data:float -lbl_801D4978 = .sdata2:0x801D4978; // type:object size:0x8 scope:local data:double -lbl_801D4980 = .sdata2:0x801D4980; // type:object size:0x8 scope:local data:double -lbl_801D4988 = .sdata2:0x801D4988; // type:object size:0x8 scope:local data:double -lbl_801D4990 = .sdata2:0x801D4990; // type:object size:0x4 scope:local data:float -lbl_801D4994 = .sdata2:0x801D4994; // type:object size:0x4 scope:local data:float -lbl_801D4998 = .sdata2:0x801D4998; // type:object size:0x4 scope:local data:float -lbl_801D49A0 = .sdata2:0x801D49A0; // type:object size:0x8 scope:local data:double -lbl_801D49A8 = .sdata2:0x801D49A8; // type:object size:0x4 scope:local data:float -lbl_801D49AC = .sdata2:0x801D49AC; // type:object size:0x4 scope:local data:float -lbl_801D49B0 = .sdata2:0x801D49B0; // type:object size:0x8 scope:local data:double -lbl_801D49B8 = .sdata2:0x801D49B8; // type:object size:0x8 scope:local data:double -lbl_801D49C0 = .sdata2:0x801D49C0; // type:object size:0x8 scope:local data:double -lbl_801D49C8 = .sdata2:0x801D49C8; // type:object size:0x8 scope:local data:double -lbl_801D49D0 = .sdata2:0x801D49D0; // type:object size:0x8 scope:local data:double -lbl_801D49D8 = .sdata2:0x801D49D8; // type:object size:0x8 scope:local data:double -lbl_801D49E0 = .sdata2:0x801D49E0; // type:object size:0x4 scope:local data:float -lbl_801D49E4 = .sdata2:0x801D49E4; // type:object size:0x4 scope:local data:float -lbl_801D49E8 = .sdata2:0x801D49E8; // type:object size:0x8 scope:local data:double -lbl_801D49F0 = .sdata2:0x801D49F0; // type:object size:0x4 scope:local data:float -lbl_801D49F4 = .sdata2:0x801D49F4; // type:object size:0x4 scope:local data:float -lbl_801D49F8 = .sdata2:0x801D49F8; // type:object size:0x4 scope:local data:float -lbl_801D49FC = .sdata2:0x801D49FC; // type:object size:0x4 scope:local data:float -lbl_801D4A00 = .sdata2:0x801D4A00; // type:object size:0x4 scope:local data:float -lbl_801D4A04 = .sdata2:0x801D4A04; // type:object size:0x4 scope:local data:float -lbl_801D4A08 = .sdata2:0x801D4A08; // type:object size:0x4 scope:local data:float -lbl_801D4A0C = .sdata2:0x801D4A0C; // type:object size:0x4 scope:local data:float -lbl_801D4A10 = .sdata2:0x801D4A10; // type:object size:0x4 scope:local data:float -lbl_801D4A14 = .sdata2:0x801D4A14; // type:object size:0x4 scope:local data:float -lbl_801D4A18 = .sdata2:0x801D4A18; // type:object size:0x4 scope:local data:float -lbl_801D4A1C = .sdata2:0x801D4A1C; // type:object size:0x4 scope:local data:float -lbl_801D4A20 = .sdata2:0x801D4A20; // type:object size:0x4 scope:local data:float -lbl_801D4A24 = .sdata2:0x801D4A24; // type:object size:0x4 scope:local data:float -lbl_801D4A28 = .sdata2:0x801D4A28; // type:object size:0x4 scope:local data:float -lbl_801D4A2C = .sdata2:0x801D4A2C; // type:object size:0x4 scope:local data:float -lbl_801D4A30 = .sdata2:0x801D4A30; // type:object size:0x4 scope:local data:float -lbl_801D4A34 = .sdata2:0x801D4A34; // type:object size:0x4 scope:local data:float -lbl_801D4A38 = .sdata2:0x801D4A38; // type:object size:0x8 scope:local data:double -lbl_801D4A40 = .sdata2:0x801D4A40; // type:object size:0x4 scope:local data:float -lbl_801D4A44 = .sdata2:0x801D4A44; // type:object size:0x4 scope:local data:float -lbl_801D4A48 = .sdata2:0x801D4A48; // type:object size:0x8 scope:local data:double -lbl_801D4A50 = .sdata2:0x801D4A50; // type:object size:0x8 scope:local data:double -lbl_801D4A58 = .sdata2:0x801D4A58; // type:object size:0x4 scope:local data:float -lbl_801D4A5C = .sdata2:0x801D4A5C; // type:object size:0x4 scope:local data:float -lbl_801D4A60 = .sdata2:0x801D4A60; // type:object size:0x8 scope:local data:double -lbl_801D4A68 = .sdata2:0x801D4A68; // type:object size:0x4 scope:local data:float -lbl_801D4A6C = .sdata2:0x801D4A6C; // type:object size:0x4 scope:local data:float -lbl_801D4A70 = .sdata2:0x801D4A70; // type:object size:0x4 scope:local data:float -lbl_801D4A74 = .sdata2:0x801D4A74; // type:object size:0x4 scope:local data:float -lbl_801D4A78 = .sdata2:0x801D4A78; // type:object size:0x4 scope:local data:float -lbl_801D4A80 = .sdata2:0x801D4A80; // type:object size:0x8 scope:local data:double -lbl_801D4A88 = .sdata2:0x801D4A88; // type:object size:0x4 scope:local data:float -lbl_801D4A90 = .sdata2:0x801D4A90; // type:object size:0x8 scope:local data:double -lbl_801D4A98 = .sdata2:0x801D4A98; // type:object size:0x4 scope:local data:float -lbl_801D4A9C = .sdata2:0x801D4A9C; // type:object size:0x4 scope:local data:float -lbl_801D4AA0 = .sdata2:0x801D4AA0; // type:object size:0x4 scope:local data:float -lbl_801D4AA4 = .sdata2:0x801D4AA4; // type:object size:0x4 scope:local data:float -lbl_801D4AA8 = .sdata2:0x801D4AA8; // type:object size:0x8 scope:local data:double -lbl_801D4AB0 = .sdata2:0x801D4AB0; // type:object size:0x4 scope:local data:float -lbl_801D4AB8 = .sdata2:0x801D4AB8; // type:object size:0x8 scope:local data:double -lbl_801D4AC0 = .sdata2:0x801D4AC0; // type:object size:0x8 scope:local data:double -lbl_801D4AC8 = .sdata2:0x801D4AC8; // type:object size:0x8 scope:local data:double -lbl_801D4AD0 = .sdata2:0x801D4AD0; // type:object size:0x4 scope:local data:float -lbl_801D4AD8 = .sdata2:0x801D4AD8; // type:object size:0x8 scope:local data:double -lbl_801D4AE0 = .sdata2:0x801D4AE0; // type:object size:0x4 scope:local data:float -lbl_801D4AE4 = .sdata2:0x801D4AE4; // type:object size:0x4 scope:local data:float -lbl_801D4AE8 = .sdata2:0x801D4AE8; // type:object size:0x4 scope:local data:float -lbl_801D4AEC = .sdata2:0x801D4AEC; // type:object size:0x4 scope:local data:float -lbl_801D4AF0 = .sdata2:0x801D4AF0; // type:object size:0x4 scope:local data:float -lbl_801D4AF4 = .sdata2:0x801D4AF4; // type:object size:0x4 scope:local data:float -lbl_801D4AF8 = .sdata2:0x801D4AF8; // type:object size:0x4 scope:local data:float -lbl_801D4AFC = .sdata2:0x801D4AFC; // type:object size:0x4 scope:local data:float -lbl_801D4B00 = .sdata2:0x801D4B00; // type:object size:0x8 scope:local data:double -lbl_801D4B08 = .sdata2:0x801D4B08; // type:object size:0x8 scope:local data:double -lbl_801D4B10 = .sdata2:0x801D4B10; // type:object size:0x8 scope:local data:double -lbl_801D4B18 = .sdata2:0x801D4B18; // type:object size:0x2 scope:local data:2byte -lbl_801D4B1A = .sdata2:0x801D4B1A; // type:object size:0x2 scope:local data:2byte -lbl_801D4B1C = .sdata2:0x801D4B1C; // type:object size:0x2 scope:local data:2byte -lbl_801D4B20 = .sdata2:0x801D4B20; // type:object size:0x4 scope:local data:float -lbl_801D4B24 = .sdata2:0x801D4B24; // type:object size:0x4 scope:local data:float -lbl_801D4B28 = .sdata2:0x801D4B28; // type:object size:0x4 scope:local data:float -lbl_801D4B2C = .sdata2:0x801D4B2C; // type:object size:0x4 scope:local data:float -lbl_801D4B30 = .sdata2:0x801D4B30; // type:object size:0x4 scope:local data:float -lbl_801D4B34 = .sdata2:0x801D4B34; // type:object size:0x4 scope:local data:float -lbl_801D4B38 = .sdata2:0x801D4B38; // type:object size:0x4 scope:local data:float -lbl_801D4B3C = .sdata2:0x801D4B3C; // type:object size:0x4 scope:local data:float -lbl_801D4B40 = .sdata2:0x801D4B40; // type:object size:0x4 scope:local data:float -lbl_801D4B44 = .sdata2:0x801D4B44; // type:object size:0x4 scope:local data:float -lbl_801D4B48 = .sdata2:0x801D4B48; // type:object size:0x8 scope:local data:double -lbl_801D4B50 = .sdata2:0x801D4B50; // type:object size:0x8 scope:local data:double -lbl_801D4B58 = .sdata2:0x801D4B58; // type:object size:0x4 scope:local data:float -lbl_801D4B5C = .sdata2:0x801D4B5C; // type:object size:0x4 scope:local data:float -lbl_801D4B60 = .sdata2:0x801D4B60; // type:object size:0x4 scope:local data:float -lbl_801D4B68 = .sdata2:0x801D4B68; // type:object size:0x8 scope:local data:double -lbl_801D4B70 = .sdata2:0x801D4B70; // type:object size:0x8 scope:local data:double -lbl_801D4B78 = .sdata2:0x801D4B78; // type:object size:0x4 scope:local data:float -lbl_801D4B7C = .sdata2:0x801D4B7C; // type:object size:0x4 scope:local data:float -lbl_801D4B80 = .sdata2:0x801D4B80; // type:object size:0x8 scope:local data:double -lbl_801D4B88 = .sdata2:0x801D4B88; // type:object size:0x4 scope:local data:float -lbl_801D4B8C = .sdata2:0x801D4B8C; // type:object size:0x4 scope:local data:float -lbl_801D4B90 = .sdata2:0x801D4B90; // type:object size:0x8 scope:local data:double -lbl_801D4B98 = .sdata2:0x801D4B98; // type:object size:0x4 scope:local data:float -lbl_801D4BA0 = .sdata2:0x801D4BA0; // type:object size:0x8 scope:local data:double -lbl_801D4BA8 = .sdata2:0x801D4BA8; // type:object size:0x4 scope:local data:float -lbl_801D4BAC = .sdata2:0x801D4BAC; // type:object size:0x4 scope:local data:float -lbl_801D4BB0 = .sdata2:0x801D4BB0; // type:object size:0x4 scope:local data:float -lbl_801D4BB4 = .sdata2:0x801D4BB4; // type:object size:0x4 scope:local data:float -lbl_801D4BB8 = .sdata2:0x801D4BB8; // type:object size:0x8 scope:local data:double -lbl_801D4BC0 = .sdata2:0x801D4BC0; // type:object size:0x4 scope:local data:float -lbl_801D4BC4 = .sdata2:0x801D4BC4; // type:object size:0x4 scope:local data:float -lbl_801D4BC8 = .sdata2:0x801D4BC8; // type:object size:0x4 scope:local data:float -lbl_801D4BCC = .sdata2:0x801D4BCC; // type:object size:0x4 scope:local data:float -lbl_801D4BD0 = .sdata2:0x801D4BD0; // type:object size:0x4 scope:local data:float -lbl_801D4BD8 = .sdata2:0x801D4BD8; // type:object size:0x8 scope:local data:double -lbl_801D4BE0 = .sdata2:0x801D4BE0; // type:object size:0x4 scope:local data:float -lbl_801D4BE4 = .sdata2:0x801D4BE4; // type:object size:0x4 scope:local data:float -lbl_801D4BE8 = .sdata2:0x801D4BE8; // type:object size:0x4 scope:local data:float -lbl_801D4BEC = .sdata2:0x801D4BEC; // type:object size:0x4 scope:local data:float -lbl_801D4BF0 = .sdata2:0x801D4BF0; // type:object size:0x4 scope:local data:float -lbl_801D4BF4 = .sdata2:0x801D4BF4; // type:object size:0x4 scope:local data:float -lbl_801D4BF8 = .sdata2:0x801D4BF8; // type:object size:0x8 scope:local data:double -lbl_801D4C00 = .sdata2:0x801D4C00; // type:object size:0x4 scope:local data:float -lbl_801D4C08 = .sdata2:0x801D4C08; // type:object size:0x8 scope:local data:double -lbl_801D4C10 = .sdata2:0x801D4C10; // type:object size:0x4 scope:local data:float -lbl_801D4C18 = .sdata2:0x801D4C18; // type:object size:0x8 scope:local data:double -lbl_801D4C20 = .sdata2:0x801D4C20; // type:object size:0x4 scope:local data:float -lbl_801D4C24 = .sdata2:0x801D4C24; // type:object size:0x4 scope:local data:float -lbl_801D4C28 = .sdata2:0x801D4C28; // type:object size:0x4 scope:local data:float -lbl_801D4C30 = .sdata2:0x801D4C30; // type:object size:0x8 scope:local data:double -lbl_801D4C38 = .sdata2:0x801D4C38; // type:object size:0x8 scope:local data:double -lbl_801D4C40 = .sdata2:0x801D4C40; // type:object size:0x8 scope:local data:double -lbl_801D4C48 = .sdata2:0x801D4C48; // type:object size:0x4 scope:local data:float -lbl_801D4C50 = .sdata2:0x801D4C50; // type:object size:0x8 scope:local data:double -lbl_801D4C58 = .sdata2:0x801D4C58; // type:object size:0x8 scope:local data:double -lbl_801D4C60 = .sdata2:0x801D4C60; // type:object size:0x8 scope:local data:double -lbl_801D4C68 = .sdata2:0x801D4C68; // type:object size:0x8 scope:local data:double -lbl_801D4C70 = .sdata2:0x801D4C70; // type:object size:0x8 scope:local data:double -lbl_801D4C78 = .sdata2:0x801D4C78; // type:object size:0x8 scope:local data:double -lbl_801D4C80 = .sdata2:0x801D4C80; // type:object size:0x8 scope:local data:double -lbl_801D4C88 = .sdata2:0x801D4C88; // type:object size:0x8 scope:local data:double -lbl_801D4C90 = .sdata2:0x801D4C90; // type:object size:0x8 scope:local data:double -lbl_801D4C98 = .sdata2:0x801D4C98; // type:object size:0x4 scope:local data:float -lbl_801D4C9C = .sdata2:0x801D4C9C; // type:object size:0x4 scope:local data:float -lbl_801D4CA0 = .sdata2:0x801D4CA0; // type:object size:0x4 scope:local data:float -lbl_801D4CA4 = .sdata2:0x801D4CA4; // type:object size:0x4 scope:local data:float -lbl_801D4CA8 = .sdata2:0x801D4CA8; // type:object size:0x8 scope:local data:double -lbl_801D4CB0 = .sdata2:0x801D4CB0; // type:object size:0x4 scope:local data:float -lbl_801D4CB8 = .sdata2:0x801D4CB8; // type:object size:0x8 scope:local data:double -lbl_801D4CC0 = .sdata2:0x801D4CC0; // type:object size:0x8 scope:local data:double -lbl_801D4CC8 = .sdata2:0x801D4CC8; // type:object size:0x4 scope:local data:float -lbl_801D4CCC = .sdata2:0x801D4CCC; // type:object size:0x4 scope:local data:float -lbl_801D4CD0 = .sdata2:0x801D4CD0; // type:object size:0x8 scope:local data:double -lbl_801D4CD8 = .sdata2:0x801D4CD8; // type:object size:0x4 scope:local data:float -lbl_801D4CDC = .sdata2:0x801D4CDC; // type:object size:0x4 scope:local data:float -lbl_801D4CE0 = .sdata2:0x801D4CE0; // type:object size:0x4 scope:local data:float -lbl_801D4CE4 = .sdata2:0x801D4CE4; // type:object size:0x4 scope:local data:float -lbl_801D4CE8 = .sdata2:0x801D4CE8; // type:object size:0x4 scope:local data:float -lbl_801D4CEC = .sdata2:0x801D4CEC; // type:object size:0x4 scope:local data:float -lbl_801D4CF0 = .sdata2:0x801D4CF0; // type:object size:0x8 scope:local data:double -lbl_801D4CF8 = .sdata2:0x801D4CF8; // type:object size:0x4 scope:local data:float -lbl_801D4D00 = .sdata2:0x801D4D00; // type:object size:0x8 scope:local data:double -lbl_801D4D08 = .sdata2:0x801D4D08; // type:object size:0x8 scope:local data:double -lbl_801D4D10 = .sdata2:0x801D4D10; // type:object size:0x4 scope:local data:float -lbl_801D4D18 = .sdata2:0x801D4D18; // type:object size:0x8 scope:local data:double -lbl_801D4D20 = .sdata2:0x801D4D20; // type:object size:0x4 scope:local data:float -lbl_801D4D24 = .sdata2:0x801D4D24; // type:object size:0x4 scope:local data:float -lbl_801D4D28 = .sdata2:0x801D4D28; // type:object size:0x8 scope:local data:double -lbl_801D4D30 = .sdata2:0x801D4D30; // type:object size:0x8 scope:local data:double -lbl_801D4D38 = .sdata2:0x801D4D38; // type:object size:0x4 scope:local data:float -lbl_801D4D3C = .sdata2:0x801D4D3C; // type:object size:0x4 scope:local data:float -lbl_801D4D40 = .sdata2:0x801D4D40; // type:object size:0x4 scope:local data:float -lbl_801D4D48 = .sdata2:0x801D4D48; // type:object size:0x8 scope:local data:double -lbl_801D4D50 = .sdata2:0x801D4D50; // type:object size:0x4 scope:local data:float -lbl_801D4D54 = .sdata2:0x801D4D54; // type:object size:0x4 scope:local data:float -lbl_801D4D58 = .sdata2:0x801D4D58; // type:object size:0x4 scope:local data:float -lbl_801D4D5C = .sdata2:0x801D4D5C; // type:object size:0x4 scope:local data:float -lbl_801D4D60 = .sdata2:0x801D4D60; // type:object size:0x8 scope:local data:double -lbl_801D4D68 = .sdata2:0x801D4D68; // type:object size:0x4 scope:local data:float -lbl_801D4D70 = .sdata2:0x801D4D70; // type:object size:0x8 scope:local data:double -lbl_801D4D78 = .sdata2:0x801D4D78; // type:object size:0x4 scope:local data:float -lbl_801D4D80 = .sdata2:0x801D4D80; // type:object size:0x8 scope:local data:double -lbl_801D4D88 = .sdata2:0x801D4D88; // type:object size:0x8 scope:local data:float -lbl_801D4D90 = .sdata2:0x801D4D90; // type:object size:0x4 scope:local data:float -lbl_801D4D94 = .sdata2:0x801D4D94; // type:object size:0x4 scope:local data:float -lbl_801D4D98 = .sdata2:0x801D4D98; // type:object size:0x4 scope:local data:float -lbl_801D4D9C = .sdata2:0x801D4D9C; // type:object size:0x4 scope:local data:float -lbl_801D4DA0 = .sdata2:0x801D4DA0; // type:object size:0x8 scope:local data:double -lbl_801D4DA8 = .sdata2:0x801D4DA8; // type:object size:0x8 scope:local data:double -lbl_801D4DB0 = .sdata2:0x801D4DB0; // type:object size:0x8 scope:local data:double -lbl_801D4DB8 = .sdata2:0x801D4DB8; // type:object size:0x4 scope:local data:float -lbl_801D4DC0 = .sdata2:0x801D4DC0; // type:object size:0x8 scope:local data:double -lbl_801D4DC8 = .sdata2:0x801D4DC8; // type:object size:0x2 scope:local data:2byte -lbl_801D4DCA = .sdata2:0x801D4DCA; // type:object size:0x2 scope:local data:2byte -lbl_801D4DCC = .sdata2:0x801D4DCC; // type:object size:0x2 scope:local data:2byte -lbl_801D4DCE = .sdata2:0x801D4DCE; // type:object size:0x2 scope:local data:2byte -lbl_801D4DD0 = .sdata2:0x801D4DD0; // type:object size:0x1 scope:local data:byte -lbl_801D4DD1 = .sdata2:0x801D4DD1; // type:object size:0x1 scope:local data:byte -lbl_801D4DD2 = .sdata2:0x801D4DD2; // type:object size:0x1 scope:local data:byte -lbl_801D4DD3 = .sdata2:0x801D4DD3; // type:object size:0x1 scope:local data:byte -lbl_801D4DD4 = .sdata2:0x801D4DD4; // type:object size:0x1 scope:local data:byte -lbl_801D4DD5 = .sdata2:0x801D4DD5; // type:object size:0x1 scope:local data:byte -lbl_801D4DD6 = .sdata2:0x801D4DD6; // type:object size:0x1 scope:local data:byte -lbl_801D4DD7 = .sdata2:0x801D4DD7; // type:object size:0x1 scope:local data:byte -lbl_801D4DD8 = .sdata2:0x801D4DD8; // type:object size:0x1 scope:local data:byte -lbl_801D4DD9 = .sdata2:0x801D4DD9; // type:object size:0x1 scope:local data:byte -lbl_801D4DDA = .sdata2:0x801D4DDA; // type:object size:0x1 scope:local data:byte -lbl_801D4DDB = .sdata2:0x801D4DDB; // type:object size:0x1 scope:local data:byte -lbl_801D4DDC = .sdata2:0x801D4DDC; // type:object size:0x4 scope:local data:float -lbl_801D4DE0 = .sdata2:0x801D4DE0; // type:object size:0x4 scope:local data:float -lbl_801D4DE4 = .sdata2:0x801D4DE4; // type:object size:0x1 scope:local data:byte -lbl_801D4DE5 = .sdata2:0x801D4DE5; // type:object size:0x1 scope:local data:byte -lbl_801D4DE6 = .sdata2:0x801D4DE6; // type:object size:0x1 scope:local data:byte -lbl_801D4DE7 = .sdata2:0x801D4DE7; // type:object size:0x1 scope:local data:byte -lbl_801D4DE8 = .sdata2:0x801D4DE8; // type:object size:0x4 scope:local data:float -lbl_801D4DEC = .sdata2:0x801D4DEC; // type:object size:0x4 scope:local data:float -lbl_801D4DF0 = .sdata2:0x801D4DF0; // type:object size:0x8 scope:local data:float -@293 = .sdata2:0x801D4DF8; // type:object size:0x4 scope:local data:float -@294 = .sdata2:0x801D4DFC; // type:object size:0x4 scope:local data:float -@295 = .sdata2:0x801D4E00; // type:object size:0x4 scope:local data:float -lbl_801D4E08 = .sdata2:0x801D4E08; // type:object size:0x4 scope:local data:float -lbl_801D4E0C = .sdata2:0x801D4E0C; // type:object size:0x4 scope:local data:float -lbl_801D4E10 = .sdata2:0x801D4E10; // type:object size:0x4 scope:local data:float -lbl_801D4E14 = .sdata2:0x801D4E14; // type:object size:0x4 scope:local data:float -lbl_801D4E18 = .sdata2:0x801D4E18; // type:object size:0x4 scope:local data:float -lbl_801D4E1C = .sdata2:0x801D4E1C; // type:object size:0x4 scope:local data:float -lbl_801D4E20 = .sdata2:0x801D4E20; // type:object size:0x8 scope:local data:double -lbl_801D4E28 = .sdata2:0x801D4E28; // type:object size:0x8 scope:local data:double -lbl_801D4E30 = .sdata2:0x801D4E30; // type:object size:0x4 scope:local data:float -lbl_801D4E34 = .sdata2:0x801D4E34; // type:object size:0x4 scope:local data:float -lbl_801D4E38 = .sdata2:0x801D4E38; // type:object size:0x8 scope:local data:double -lbl_801D4E40 = .sdata2:0x801D4E40; // type:object size:0x8 scope:local data:double -lbl_801D4E48 = .sdata2:0x801D4E48; // type:object size:0x4 scope:local data:float -lbl_801D4E4C = .sdata2:0x801D4E4C; // type:object size:0x4 scope:local data:float -lbl_801D4E50 = .sdata2:0x801D4E50; // type:object size:0x4 scope:local data:float -lbl_801D4E54 = .sdata2:0x801D4E54; // type:object size:0x4 scope:local data:float -lbl_801D4E58 = .sdata2:0x801D4E58; // type:object size:0x4 scope:local data:float -lbl_801D4E5C = .sdata2:0x801D4E5C; // type:object size:0x4 scope:local data:float -lbl_801D4E60 = .sdata2:0x801D4E60; // type:object size:0x8 scope:local data:double -lbl_801D4E68 = .sdata2:0x801D4E68; // type:object size:0x4 scope:local data:float -lbl_801D4E6C = .sdata2:0x801D4E6C; // type:object size:0x4 scope:local data:float -lbl_801D4E70 = .sdata2:0x801D4E70; // type:object size:0x8 scope:local data:double -lbl_801D4E78 = .sdata2:0x801D4E78; // type:object size:0x4 scope:local data:float -lbl_801D4E7C = .sdata2:0x801D4E7C; // type:object size:0x4 scope:local data:float -lbl_801D4E80 = .sdata2:0x801D4E80; // type:object size:0x4 scope:local data:float -lbl_801D4E84 = .sdata2:0x801D4E84; // type:object size:0x4 scope:local data:float -lbl_801D4E88 = .sdata2:0x801D4E88; // type:object size:0x4 scope:local data:float -lbl_801D4E8C = .sdata2:0x801D4E8C; // type:object size:0x4 scope:local data:float -lbl_801D4E90 = .sdata2:0x801D4E90; // type:object size:0x4 scope:local data:float -lbl_801D4E94 = .sdata2:0x801D4E94; // type:object size:0x4 scope:local data:float -lbl_801D4E98 = .sdata2:0x801D4E98; // type:object size:0x4 scope:local data:float -lbl_801D4E9C = .sdata2:0x801D4E9C; // type:object size:0x4 scope:local data:float -lbl_801D4EA0 = .sdata2:0x801D4EA0; // type:object size:0x4 scope:local data:float -lbl_801D4EA4 = .sdata2:0x801D4EA4; // type:object size:0x4 scope:local data:float -lbl_801D4EA8 = .sdata2:0x801D4EA8; // type:object size:0x4 scope:local data:float -lbl_801D4EAC = .sdata2:0x801D4EAC; // type:object size:0x4 scope:local data:float -lbl_801D4EB0 = .sdata2:0x801D4EB0; // type:object size:0x4 scope:local data:float -lbl_801D4EB4 = .sdata2:0x801D4EB4; // type:object size:0x4 scope:local data:float -lbl_801D4EB8 = .sdata2:0x801D4EB8; // type:object size:0x4 scope:local data:float -lbl_801D4EBC = .sdata2:0x801D4EBC; // type:object size:0x4 scope:local data:float -lbl_801D4EC0 = .sdata2:0x801D4EC0; // type:object size:0x4 scope:local data:float -lbl_801D4EC4 = .sdata2:0x801D4EC4; // type:object size:0x4 scope:local data:float -lbl_801D4EC8 = .sdata2:0x801D4EC8; // type:object size:0x4 scope:local data:float -lbl_801D4ECC = .sdata2:0x801D4ECC; // type:object size:0x4 scope:local data:float -lbl_801D4ED0 = .sdata2:0x801D4ED0; // type:object size:0x4 scope:local data:float -lbl_801D4ED8 = .sdata2:0x801D4ED8; // type:object size:0x8 scope:local data:double -lbl_801D4EE0 = .sdata2:0x801D4EE0; // type:object size:0x8 scope:local data:double -lbl_801D4EE8 = .sdata2:0x801D4EE8; // type:object size:0x4 scope:local data:float -lbl_801D4EF0 = .sdata2:0x801D4EF0; // type:object size:0x8 scope:local data:double -lbl_801D4EF8 = .sdata2:0x801D4EF8; // type:object size:0x4 scope:local data:float -lbl_801D4F00 = .sdata2:0x801D4F00; // type:object size:0x8 scope:local data:double -lbl_801D4F08 = .sdata2:0x801D4F08; // type:object size:0x4 scope:local data:float -lbl_801D4F0C = .sdata2:0x801D4F0C; // type:object size:0x4 scope:local data:float -lbl_801D4F10 = .sdata2:0x801D4F10; // type:object size:0x4 scope:local data:float -lbl_801D4F14 = .sdata2:0x801D4F14; // type:object size:0x4 scope:local data:float -lbl_801D4F18 = .sdata2:0x801D4F18; // type:object size:0x8 scope:local data:double -lbl_801D4F20 = .sdata2:0x801D4F20; // type:object size:0x8 scope:local data:double -lbl_801D4F28 = .sdata2:0x801D4F28; // type:object size:0x4 scope:local data:float -lbl_801D4F2C = .sdata2:0x801D4F2C; // type:object size:0x4 scope:local data:float -lbl_801D4F30 = .sdata2:0x801D4F30; // type:object size:0x4 scope:local data:float -lbl_801D4F34 = .sdata2:0x801D4F34; // type:object size:0x4 scope:local data:float -lbl_801D4F38 = .sdata2:0x801D4F38; // type:object size:0x4 scope:local data:float -lbl_801D4F3C = .sdata2:0x801D4F3C; // type:object size:0x4 scope:local data:float -lbl_801D4F40 = .sdata2:0x801D4F40; // type:object size:0x4 scope:local data:float -lbl_801D4F44 = .sdata2:0x801D4F44; // type:object size:0x4 scope:local data:float -lbl_801D4F48 = .sdata2:0x801D4F48; // type:object size:0x4 scope:local data:float -lbl_801D4F4C = .sdata2:0x801D4F4C; // type:object size:0x4 scope:local data:float -lbl_801D4F50 = .sdata2:0x801D4F50; // type:object size:0x4 scope:local data:float -lbl_801D4F54 = .sdata2:0x801D4F54; // type:object size:0x4 scope:local data:float -lbl_801D4F58 = .sdata2:0x801D4F58; // type:object size:0x4 scope:local data:float -lbl_801D4F5C = .sdata2:0x801D4F5C; // type:object size:0x4 scope:local data:float -lbl_801D4F60 = .sdata2:0x801D4F60; // type:object size:0x4 scope:local data:4byte -lbl_801D4F64 = .sdata2:0x801D4F64; // type:object size:0x4 scope:local data:4byte -lbl_801D4F68 = .sdata2:0x801D4F68; // type:object size:0x4 scope:local data:float -lbl_801D4F6C = .sdata2:0x801D4F6C; // type:object size:0x4 scope:local data:float -lbl_801D4F70 = .sdata2:0x801D4F70; // type:object size:0x4 scope:local data:float -lbl_801D4F74 = .sdata2:0x801D4F74; // type:object size:0x4 scope:local data:float -lbl_801D4F78 = .sdata2:0x801D4F78; // type:object size:0x4 scope:local data:float -lbl_801D4F7C = .sdata2:0x801D4F7C; // type:object size:0x4 scope:local data:float -lbl_801D4F80 = .sdata2:0x801D4F80; // type:object size:0x4 scope:local data:float -lbl_801D4F84 = .sdata2:0x801D4F84; // type:object size:0x4 scope:local data:float -lbl_801D4F88 = .sdata2:0x801D4F88; // type:object size:0x4 scope:local data:float -lbl_801D4F8C = .sdata2:0x801D4F8C; // type:object size:0x2 scope:local data:2byte -lbl_801D4F8E = .sdata2:0x801D4F8E; // type:object size:0x2 data:2byte -lbl_801D4F90 = .sdata2:0x801D4F90; // type:object size:0x2 data:2byte -lbl_801D4F92 = .sdata2:0x801D4F92; // type:object size:0x2 data:2byte -lbl_801D4F94 = .sdata2:0x801D4F94; // type:object size:0x1 data:byte -lbl_801D4F95 = .sdata2:0x801D4F95; // type:object size:0x1 data:byte -lbl_801D4F96 = .sdata2:0x801D4F96; // type:object size:0x1 data:byte -lbl_801D4F97 = .sdata2:0x801D4F97; // type:object size:0x1 data:byte -lbl_801D4F98 = .sdata2:0x801D4F98; // type:object size:0x1 data:byte -lbl_801D4F99 = .sdata2:0x801D4F99; // type:object size:0x1 data:byte -lbl_801D4F9A = .sdata2:0x801D4F9A; // type:object size:0x1 data:byte -lbl_801D4F9B = .sdata2:0x801D4F9B; // type:object size:0x1 data:byte -lbl_801D4F9C = .sdata2:0x801D4F9C; // type:object size:0x4 data:float -lbl_801D4FA0 = .sdata2:0x801D4FA0; // type:object size:0x4 data:float -lbl_801D4FA4 = .sdata2:0x801D4FA4; // type:object size:0x4 data:float -lbl_801D4FA8 = .sdata2:0x801D4FA8; // type:object size:0x4 data:float -lbl_801D4FAC = .sdata2:0x801D4FAC; // type:object size:0x4 data:float -lbl_801D4FB0 = .sdata2:0x801D4FB0; // type:object size:0x4 data:float -lbl_801D4FB8 = .sdata2:0x801D4FB8; // type:object size:0x8 data:double -lbl_801D4FC0 = .sdata2:0x801D4FC0; // type:object size:0x4 data:float -lbl_801D4FC4 = .sdata2:0x801D4FC4; // type:object size:0x4 data:float -lbl_801D4FC8 = .sdata2:0x801D4FC8; // type:object size:0x4 data:float -lbl_801D4FCC = .sdata2:0x801D4FCC; // type:object size:0x4 data:float -lbl_801D4FD0 = .sdata2:0x801D4FD0; // type:object size:0x8 data:float -lbl_801D4FD8 = .sdata2:0x801D4FD8; // type:object size:0x4 -lbl_801D4FDC = .sdata2:0x801D4FDC; // type:object size:0x4 data:float -lbl_801D4FE0 = .sdata2:0x801D4FE0; // type:object size:0x4 data:float -lbl_801D4FE8 = .sdata2:0x801D4FE8; // type:object size:0x8 data:double -lbl_801D4FF0 = .sdata2:0x801D4FF0; // type:object size:0x8 data:double -lbl_801D4FF8 = .sdata2:0x801D4FF8; // type:object size:0x8 data:double -lbl_801D5000 = .sdata2:0x801D5000; // type:object size:0x4 data:float -lbl_801D5004 = .sdata2:0x801D5004; // type:object size:0x4 data:float -lbl_801D5008 = .sdata2:0x801D5008; // type:object size:0x8 data:float -lbl_801D5010 = .sdata2:0x801D5010; // type:object size:0x4 data:float -lbl_801D5014 = .sdata2:0x801D5014; // type:object size:0x4 data:float -lbl_801D5018 = .sdata2:0x801D5018; // type:object size:0x4 data:float -lbl_801D5020 = .sdata2:0x801D5020; // type:object size:0x8 data:double -lbl_801D5028 = .sdata2:0x801D5028; // type:object size:0x8 data:double -lbl_801D5030 = .sdata2:0x801D5030; // type:object size:0x4 data:float -lbl_801D5034 = .sdata2:0x801D5034; // type:object size:0x4 data:float -lbl_801D5038 = .sdata2:0x801D5038; // type:object size:0x4 data:float -lbl_801D503C = .sdata2:0x801D503C; // type:object size:0x4 data:float -lbl_801D5040 = .sdata2:0x801D5040; // type:object size:0x4 data:float -lbl_801D5044 = .sdata2:0x801D5044; // type:object size:0x4 data:float -lbl_801D5048 = .sdata2:0x801D5048; // type:object size:0x4 data:float -lbl_801D504C = .sdata2:0x801D504C; // type:object size:0x4 data:float -lbl_801D5050 = .sdata2:0x801D5050; // type:object size:0x4 data:float -lbl_801D5054 = .sdata2:0x801D5054; // type:object size:0x4 data:float -lbl_801D5058 = .sdata2:0x801D5058; // type:object size:0x4 data:float -lbl_801D505C = .sdata2:0x801D505C; // type:object size:0x4 data:float -lbl_801D5060 = .sdata2:0x801D5060; // type:object size:0x4 data:float -lbl_801D5068 = .sdata2:0x801D5068; // type:object size:0x8 data:double -lbl_801D5070 = .sdata2:0x801D5070; // type:object size:0x4 data:float -lbl_801D5074 = .sdata2:0x801D5074; // type:object size:0x4 data:float -lbl_801D5078 = .sdata2:0x801D5078; // type:object size:0x8 data:float -lbl_801D5080 = .sdata2:0x801D5080; // type:object size:0x1 data:byte -lbl_801D5081 = .sdata2:0x801D5081; // type:object size:0x1 data:byte -lbl_801D5082 = .sdata2:0x801D5082; // type:object size:0x1 data:byte -lbl_801D5083 = .sdata2:0x801D5083; // type:object size:0x1 data:byte -lbl_801D5084 = .sdata2:0x801D5084; // type:object size:0x1 data:byte -lbl_801D5085 = .sdata2:0x801D5085; // type:object size:0x1 data:byte -lbl_801D5086 = .sdata2:0x801D5086; // type:object size:0x1 data:byte -lbl_801D5087 = .sdata2:0x801D5087; // type:object size:0x1 data:byte -lbl_801D5088 = .sdata2:0x801D5088; // type:object size:0x4 data:float -lbl_801D508C = .sdata2:0x801D508C; // type:object size:0x4 data:float -lbl_801D5090 = .sdata2:0x801D5090; // type:object size:0x8 data:double -lbl_801D5098 = .sdata2:0x801D5098; // type:object size:0x8 data:double -lbl_801D50A0 = .sdata2:0x801D50A0; // type:object size:0x8 data:double -lbl_801D50A8 = .sdata2:0x801D50A8; // type:object size:0x4 data:float -lbl_801D50B0 = .sdata2:0x801D50B0; // type:object size:0x8 data:double -lbl_801D50B8 = .sdata2:0x801D50B8; // type:object size:0x4 data:float -lbl_801D50BC = .sdata2:0x801D50BC; // type:object size:0x4 data:float -lbl_801D50C0 = .sdata2:0x801D50C0; // type:object size:0x4 data:float -lbl_801D50C4 = .sdata2:0x801D50C4; // type:object size:0x4 data:float -lbl_801D50C8 = .sdata2:0x801D50C8; // type:object size:0x4 data:float -lbl_801D50CC = .sdata2:0x801D50CC; // type:object size:0x4 data:float -lbl_801D50D0 = .sdata2:0x801D50D0; // type:object size:0x4 data:float -lbl_801D50D4 = .sdata2:0x801D50D4; // type:object size:0x1 data:byte -lbl_801D50D5 = .sdata2:0x801D50D5; // type:object size:0x1 data:byte -lbl_801D50D6 = .sdata2:0x801D50D6; // type:object size:0x1 data:byte -lbl_801D50D7 = .sdata2:0x801D50D7; // type:object size:0x1 data:byte -lbl_801D50D8 = .sdata2:0x801D50D8; // type:object size:0x4 data:float -lbl_801D50DC = .sdata2:0x801D50DC; // type:object size:0x4 data:float -lbl_801D50E0 = .sdata2:0x801D50E0; // type:object size:0x4 data:float -lbl_801D50E4 = .sdata2:0x801D50E4; // type:object size:0x4 data:float -lbl_801D50E8 = .sdata2:0x801D50E8; // type:object size:0x4 data:float -lbl_801D50EC = .sdata2:0x801D50EC; // type:object size:0x4 data:float -lbl_801D50F0 = .sdata2:0x801D50F0; // type:object size:0x4 data:float -lbl_801D50F4 = .sdata2:0x801D50F4; // type:object size:0x4 data:float -lbl_801D50F8 = .sdata2:0x801D50F8; // type:object size:0x4 data:float -lbl_801D50FC = .sdata2:0x801D50FC; // type:object size:0x4 data:float -lbl_801D5100 = .sdata2:0x801D5100; // type:object size:0x4 data:4byte -lbl_801D5104 = .sdata2:0x801D5104; // type:object size:0x4 data:4byte -lbl_801D5108 = .sdata2:0x801D5108; // type:object size:0x4 data:float -lbl_801D5110 = .sdata2:0x801D5110; // type:object size:0x8 data:double -lbl_801D5118 = .sdata2:0x801D5118; // type:object size:0x8 data:double -lbl_801D5120 = .sdata2:0x801D5120; // type:object size:0x4 data:float -lbl_801D5124 = .sdata2:0x801D5124; // type:object size:0x4 data:float -lbl_801D5128 = .sdata2:0x801D5128; // type:object size:0x4 data:float -lbl_801D512C = .sdata2:0x801D512C; // type:object size:0x4 data:float -lbl_801D5130 = .sdata2:0x801D5130; // type:object size:0x4 data:float -lbl_801D5134 = .sdata2:0x801D5134; // type:object size:0x4 data:float -lbl_801D5138 = .sdata2:0x801D5138; // type:object size:0x4 data:float -lbl_801D513C = .sdata2:0x801D513C; // type:object size:0x4 data:float -lbl_801D5140 = .sdata2:0x801D5140; // type:object size:0x4 data:float -lbl_801D5144 = .sdata2:0x801D5144; // type:object size:0x4 data:float -lbl_801D5148 = .sdata2:0x801D5148; // type:object size:0x4 data:float -lbl_801D514C = .sdata2:0x801D514C; // type:object size:0x4 data:float -lbl_801D5150 = .sdata2:0x801D5150; // type:object size:0x4 data:float -lbl_801D5154 = .sdata2:0x801D5154; // type:object size:0x4 data:float -lbl_801D5158 = .sdata2:0x801D5158; // type:object size:0x4 data:float -lbl_801D515C = .sdata2:0x801D515C; // type:object size:0x4 data:float -lbl_801D5160 = .sdata2:0x801D5160; // type:object size:0x4 data:float -lbl_801D5168 = .sdata2:0x801D5168; // type:object size:0x8 data:double -lbl_801D5170 = .sdata2:0x801D5170; // type:object size:0x4 data:float -lbl_801D5174 = .sdata2:0x801D5174; // type:object size:0x4 data:float -lbl_801D5178 = .sdata2:0x801D5178; // type:object size:0x4 data:float -lbl_801D517C = .sdata2:0x801D517C; // type:object size:0x4 data:float -lbl_801D5180 = .sdata2:0x801D5180; // type:object size:0x4 data:float -lbl_801D5184 = .sdata2:0x801D5184; // type:object size:0x4 data:float -lbl_801D5188 = .sdata2:0x801D5188; // type:object size:0x4 data:float -lbl_801D518C = .sdata2:0x801D518C; // type:object size:0x4 data:float -lbl_801D5190 = .sdata2:0x801D5190; // type:object size:0x4 data:float -lbl_801D5194 = .sdata2:0x801D5194; // type:object size:0x4 data:float -lbl_801D5198 = .sdata2:0x801D5198; // type:object size:0x4 data:float -lbl_801D519C = .sdata2:0x801D519C; // type:object size:0x4 data:float -lbl_801D51A0 = .sdata2:0x801D51A0; // type:object size:0x4 data:float -lbl_801D51A8 = .sdata2:0x801D51A8; // type:object size:0x8 data:double -lbl_801D51B0 = .sdata2:0x801D51B0; // type:object size:0x4 data:float -lbl_801D51B4 = .sdata2:0x801D51B4; // type:object size:0x4 data:float -lbl_801D51B8 = .sdata2:0x801D51B8; // type:object size:0x4 data:float -lbl_801D51C0 = .sdata2:0x801D51C0; // type:object size:0x8 data:double -lbl_801D51C8 = .sdata2:0x801D51C8; // type:object size:0x8 data:float -lbl_801D51D0 = .sdata2:0x801D51D0; // type:object size:0x4 data:float -lbl_801D51D4 = .sdata2:0x801D51D4; // type:object size:0x4 data:4byte -lbl_801D51D8 = .sdata2:0x801D51D8; // type:object size:0x4 data:4byte -lbl_801D51DC = .sdata2:0x801D51DC; // type:object size:0x4 data:float -lbl_801D51E0 = .sdata2:0x801D51E0; // type:object size:0x4 data:float -lbl_801D51E8 = .sdata2:0x801D51E8; // type:object size:0x8 data:double -lbl_801D51F0 = .sdata2:0x801D51F0; // type:object size:0x8 data:double -lbl_801D51F8 = .sdata2:0x801D51F8; // type:object size:0x4 data:float -lbl_801D51FC = .sdata2:0x801D51FC; // type:object size:0x4 data:float -lbl_801D5200 = .sdata2:0x801D5200; // type:object size:0x4 data:float -lbl_801D5204 = .sdata2:0x801D5204; // type:object size:0x4 data:float -lbl_801D5208 = .sdata2:0x801D5208; // type:object size:0x8 data:double -lbl_801D5210 = .sdata2:0x801D5210; // type:object size:0x4 data:float -lbl_801D5214 = .sdata2:0x801D5214; // type:object size:0x4 data:float -lbl_801D5218 = .sdata2:0x801D5218; // type:object size:0x4 data:float -lbl_801D521C = .sdata2:0x801D521C; // type:object size:0x4 data:float -lbl_801D5220 = .sdata2:0x801D5220; // type:object size:0x4 data:float -lbl_801D5224 = .sdata2:0x801D5224; // type:object size:0x4 data:float -lbl_801D5228 = .sdata2:0x801D5228; // type:object size:0x4 data:float -lbl_801D522C = .sdata2:0x801D522C; // type:object size:0x4 data:float -lbl_801D5230 = .sdata2:0x801D5230; // type:object size:0x4 data:float -lbl_801D5234 = .sdata2:0x801D5234; // type:object size:0x4 data:float -lbl_801D5238 = .sdata2:0x801D5238; // type:object size:0x4 data:float -lbl_801D523C = .sdata2:0x801D523C; // type:object size:0x4 data:float -lbl_801D5240 = .sdata2:0x801D5240; // type:object size:0x4 data:float -lbl_801D5244 = .sdata2:0x801D5244; // type:object size:0x4 data:4byte -lbl_801D5248 = .sdata2:0x801D5248; // type:object size:0x4 data:4byte -lbl_801D524C = .sdata2:0x801D524C; // type:object size:0x2 data:2byte -lbl_801D524E = .sdata2:0x801D524E; // type:object size:0x2 data:2byte -lbl_801D5250 = .sdata2:0x801D5250; // type:object size:0x2 data:2byte -lbl_801D5252 = .sdata2:0x801D5252; // type:object size:0x2 data:2byte -lbl_801D5254 = .sdata2:0x801D5254; // type:object size:0x4 data:float -lbl_801D5258 = .sdata2:0x801D5258; // type:object size:0x4 data:float -lbl_801D525C = .sdata2:0x801D525C; // type:object size:0x4 data:float -lbl_801D5260 = .sdata2:0x801D5260; // type:object size:0x4 data:float -lbl_801D5264 = .sdata2:0x801D5264; // type:object size:0x4 data:float -lbl_801D5268 = .sdata2:0x801D5268; // type:object size:0x4 data:float -lbl_801D526C = .sdata2:0x801D526C; // type:object size:0x4 data:float -lbl_801D5270 = .sdata2:0x801D5270; // type:object size:0x4 data:float -lbl_801D5274 = .sdata2:0x801D5274; // type:object size:0x4 data:float -lbl_801D5278 = .sdata2:0x801D5278; // type:object size:0x4 data:float -lbl_801D527C = .sdata2:0x801D527C; // type:object size:0x4 data:float -lbl_801D5280 = .sdata2:0x801D5280; // type:object size:0x4 data:float -lbl_801D5284 = .sdata2:0x801D5284; // type:object size:0x4 data:float -lbl_801D5288 = .sdata2:0x801D5288; // type:object size:0x4 data:float -lbl_801D528C = .sdata2:0x801D528C; // type:object size:0x4 data:float -lbl_801D5290 = .sdata2:0x801D5290; // type:object size:0x4 data:float -lbl_801D5294 = .sdata2:0x801D5294; // type:object size:0x4 data:float -lbl_801D5298 = .sdata2:0x801D5298; // type:object size:0x4 data:float -lbl_801D529C = .sdata2:0x801D529C; // type:object size:0x4 data:float -lbl_801D52A0 = .sdata2:0x801D52A0; // type:object size:0x4 data:float -lbl_801D52A4 = .sdata2:0x801D52A4; // type:object size:0x4 data:float -lbl_801D52A8 = .sdata2:0x801D52A8; // type:object size:0x4 data:float -lbl_801D52AC = .sdata2:0x801D52AC; // type:object size:0x4 data:float -lbl_801D52B0 = .sdata2:0x801D52B0; // type:object size:0x4 data:float -lbl_801D52B4 = .sdata2:0x801D52B4; // type:object size:0x4 data:float -lbl_801D52B8 = .sdata2:0x801D52B8; // type:object size:0x4 data:float -lbl_801D52BC = .sdata2:0x801D52BC; // type:object size:0x4 data:float -lbl_801D52C0 = .sdata2:0x801D52C0; // type:object size:0x4 data:float -lbl_801D52C4 = .sdata2:0x801D52C4; // type:object size:0x4 data:float -lbl_801D52C8 = .sdata2:0x801D52C8; // type:object size:0x4 data:float -lbl_801D52CC = .sdata2:0x801D52CC; // type:object size:0x4 data:float -lbl_801D52D0 = .sdata2:0x801D52D0; // type:object size:0x4 data:float -lbl_801D52D4 = .sdata2:0x801D52D4; // type:object size:0x4 data:float -lbl_801D52D8 = .sdata2:0x801D52D8; // type:object size:0x4 data:float -lbl_801D52DC = .sdata2:0x801D52DC; // type:object size:0x4 data:float -lbl_801D52E0 = .sdata2:0x801D52E0; // type:object size:0x4 data:float -lbl_801D52E4 = .sdata2:0x801D52E4; // type:object size:0x4 data:float -lbl_801D52E8 = .sdata2:0x801D52E8; // type:object size:0x8 data:double -lbl_801D52F0 = .sdata2:0x801D52F0; // type:object size:0x8 data:double -lbl_801D52F8 = .sdata2:0x801D52F8; // type:object size:0x4 data:float -lbl_801D52FC = .sdata2:0x801D52FC; // type:object size:0x4 data:float -lbl_801D5300 = .sdata2:0x801D5300; // type:object size:0x4 data:float -lbl_801D5304 = .sdata2:0x801D5304; // type:object size:0x4 data:float -lbl_801D5308 = .sdata2:0x801D5308; // type:object size:0x4 data:float -lbl_801D530C = .sdata2:0x801D530C; // type:object size:0x4 data:float -lbl_801D5310 = .sdata2:0x801D5310; // type:object size:0x4 data:float -lbl_801D5314 = .sdata2:0x801D5314; // type:object size:0x4 data:float -lbl_801D5318 = .sdata2:0x801D5318; // type:object size:0x4 data:float -lbl_801D531C = .sdata2:0x801D531C; // type:object size:0x4 data:float -lbl_801D5320 = .sdata2:0x801D5320; // type:object size:0x4 data:float -lbl_801D5324 = .sdata2:0x801D5324; // type:object size:0x4 data:float -lbl_801D5328 = .sdata2:0x801D5328; // type:object size:0x8 data:double -lbl_801D5330 = .sdata2:0x801D5330; // type:object size:0x4 data:4byte -lbl_801D5334 = .sdata2:0x801D5334; // type:object size:0x4 data:4byte -lbl_801D5338 = .sdata2:0x801D5338; // type:object size:0x1 data:byte -lbl_801D5339 = .sdata2:0x801D5339; // type:object size:0x1 data:byte -lbl_801D533C = .sdata2:0x801D533C; // type:object size:0x4 data:float -lbl_801D5340 = .sdata2:0x801D5340; // type:object size:0x4 data:float -lbl_801D5344 = .sdata2:0x801D5344; // type:object size:0x4 data:float -lbl_801D5348 = .sdata2:0x801D5348; // type:object size:0x4 data:float -lbl_801D534C = .sdata2:0x801D534C; // type:object size:0x4 data:float -lbl_801D5350 = .sdata2:0x801D5350; // type:object size:0x4 data:float -lbl_801D5354 = .sdata2:0x801D5354; // type:object size:0x4 data:float -lbl_801D5358 = .sdata2:0x801D5358; // type:object size:0x8 data:float -lbl_801D5360 = .sdata2:0x801D5360; // type:object size:0x4 data:float -lbl_801D5364 = .sdata2:0x801D5364; // type:object size:0x4 data:float -lbl_801D5368 = .sdata2:0x801D5368; // type:object size:0x4 data:float -lbl_801D536C = .sdata2:0x801D536C; // type:object size:0x4 data:float -lbl_801D5370 = .sdata2:0x801D5370; // type:object size:0x8 -lbl_801D5378 = .sdata2:0x801D5378; // type:object size:0x4 data:float -lbl_801D537C = .sdata2:0x801D537C; // type:object size:0x4 data:float -lbl_801D5380 = .sdata2:0x801D5380; // type:object size:0x4 data:float -lbl_801D5388 = .sdata2:0x801D5388; // type:object size:0x8 data:double -lbl_801D5390 = .sdata2:0x801D5390; // type:object size:0x8 data:double -lbl_801D5398 = .sdata2:0x801D5398; // type:object size:0x4 data:float -lbl_801D539C = .sdata2:0x801D539C; // type:object size:0x4 data:float -lbl_801D53A0 = .sdata2:0x801D53A0; // type:object size:0x4 data:float -lbl_801D53A8 = .sdata2:0x801D53A8; // type:object size:0x8 data:double -lbl_801D53B0 = .sdata2:0x801D53B0; // type:object size:0x4 data:float -lbl_801D53B4 = .sdata2:0x801D53B4; // type:object size:0x4 data:float -lbl_801D53B8 = .sdata2:0x801D53B8; // type:object size:0x4 data:float -lbl_801D53BC = .sdata2:0x801D53BC; // type:object size:0x4 data:float -lbl_801D53C0 = .sdata2:0x801D53C0; // type:object size:0x4 data:float -lbl_801D53C4 = .sdata2:0x801D53C4; // type:object size:0x4 data:float -lbl_801D53C8 = .sdata2:0x801D53C8; // type:object size:0x4 data:float -lbl_801D53CC = .sdata2:0x801D53CC; // type:object size:0x4 data:float -lbl_801D53D0 = .sdata2:0x801D53D0; // type:object size:0x8 data:double -lbl_801D53D8 = .sdata2:0x801D53D8; // type:object size:0x8 data:double -lbl_801D53E0 = .sdata2:0x801D53E0; // type:object size:0x4 data:float -lbl_801D53E8 = .sdata2:0x801D53E8; // type:object size:0x8 data:double -lbl_801D53F0 = .sdata2:0x801D53F0; // type:object size:0x4 data:float -lbl_801D53F4 = .sdata2:0x801D53F4; // type:object size:0x4 data:float -lbl_801D53F8 = .sdata2:0x801D53F8; // type:object size:0x4 data:float -lbl_801D53FC = .sdata2:0x801D53FC; // type:object size:0x4 data:float -lbl_801D5400 = .sdata2:0x801D5400; // type:object size:0x4 data:float -lbl_801D5404 = .sdata2:0x801D5404; // type:object size:0x4 data:float -lbl_801D5408 = .sdata2:0x801D5408; // type:object size:0x4 data:float -lbl_801D540C = .sdata2:0x801D540C; // type:object size:0x4 data:float -lbl_801D5410 = .sdata2:0x801D5410; // type:object size:0x4 data:float -lbl_801D5414 = .sdata2:0x801D5414; // type:object size:0x4 data:float -lbl_801D5418 = .sdata2:0x801D5418; // type:object size:0x4 data:float -lbl_801D541C = .sdata2:0x801D541C; // type:object size:0x4 data:float -lbl_801D5420 = .sdata2:0x801D5420; // type:object size:0x4 data:float -lbl_801D5428 = .sdata2:0x801D5428; // type:object size:0x8 data:double -lbl_801D5430 = .sdata2:0x801D5430; // type:object size:0x8 data:double -lbl_801D5438 = .sdata2:0x801D5438; // type:object size:0x8 data:float -lbl_801D5440 = .sdata2:0x801D5440; // type:object size:0x4 data:float -lbl_801D5444 = .sdata2:0x801D5444; // type:object size:0x4 data:float -lbl_801D5448 = .sdata2:0x801D5448; // type:object size:0x4 data:float -lbl_801D544C = .sdata2:0x801D544C; // type:object size:0x4 data:float -lbl_801D5450 = .sdata2:0x801D5450; // type:object size:0x4 data:float -lbl_801D5454 = .sdata2:0x801D5454; // type:object size:0x4 data:float -lbl_801D5458 = .sdata2:0x801D5458; // type:object size:0x4 data:float -lbl_801D545C = .sdata2:0x801D545C; // type:object size:0x4 data:float -lbl_801D5460 = .sdata2:0x801D5460; // type:object size:0x4 data:float -lbl_801D5464 = .sdata2:0x801D5464; // type:object size:0x4 data:float -lbl_801D5468 = .sdata2:0x801D5468; // type:object size:0x4 data:float -lbl_801D546C = .sdata2:0x801D546C; // type:object size:0x4 data:float -lbl_801D5470 = .sdata2:0x801D5470; // type:object size:0x4 data:float -lbl_801D5474 = .sdata2:0x801D5474; // type:object size:0x4 data:float -lbl_801D5478 = .sdata2:0x801D5478; // type:object size:0x4 data:float -lbl_801D547C = .sdata2:0x801D547C; // type:object size:0x4 data:float -lbl_801D5480 = .sdata2:0x801D5480; // type:object size:0x8 data:double -lbl_801D5488 = .sdata2:0x801D5488; // type:object size:0x4 data:float -lbl_801D548C = .sdata2:0x801D548C; // type:object size:0x4 data:float -lbl_801D5490 = .sdata2:0x801D5490; // type:object size:0x4 data:float -lbl_801D5494 = .sdata2:0x801D5494; // type:object size:0x4 data:float -lbl_801D5498 = .sdata2:0x801D5498; // type:object size:0x4 data:float -lbl_801D549C = .sdata2:0x801D549C; // type:object size:0x4 data:float -lbl_801D54A0 = .sdata2:0x801D54A0; // type:object size:0x4 data:float -lbl_801D54A4 = .sdata2:0x801D54A4; // type:object size:0x4 data:float -lbl_801D54A8 = .sdata2:0x801D54A8; // type:object size:0x8 data:double -lbl_801D54B0 = .sdata2:0x801D54B0; // type:object size:0x8 data:double -lbl_801D54B8 = .sdata2:0x801D54B8; // type:object size:0x4 data:float -lbl_801D54C0 = .sdata2:0x801D54C0; // type:object size:0x8 data:double -lbl_801D54C8 = .sdata2:0x801D54C8; // type:object size:0x8 data:float -lbl_801D54D0 = .sdata2:0x801D54D0; // type:object size:0x8 -lbl_801D54D8 = .sdata2:0x801D54D8; // type:object size:0x4 data:float -lbl_801D54DC = .sdata2:0x801D54DC; // type:object size:0x4 data:float -lbl_801D54E0 = .sdata2:0x801D54E0; // type:object size:0x4 data:float -lbl_801D54E4 = .sdata2:0x801D54E4; // type:object size:0x4 data:float -lbl_801D54E8 = .sdata2:0x801D54E8; // type:object size:0x4 data:float -lbl_801D54EC = .sdata2:0x801D54EC; // type:object size:0x4 data:float -lbl_801D54F0 = .sdata2:0x801D54F0; // type:object size:0x8 data:double -lbl_801D54F8 = .sdata2:0x801D54F8; // type:object size:0x8 data:double -lbl_801D5500 = .sdata2:0x801D5500; // type:object size:0x8 data:double -lbl_801D5508 = .sdata2:0x801D5508; // type:object size:0x4 data:float -lbl_801D550C = .sdata2:0x801D550C; // type:object size:0x4 data:float -lbl_801D5510 = .sdata2:0x801D5510; // type:object size:0x4 data:float -lbl_801D5514 = .sdata2:0x801D5514; // type:object size:0x4 data:4byte -lbl_801D5518 = .sdata2:0x801D5518; // type:object size:0x4 data:4byte -lbl_801D551C = .sdata2:0x801D551C; // type:object size:0x4 data:float -lbl_801D5520 = .sdata2:0x801D5520; // type:object size:0x4 data:float -lbl_801D5524 = .sdata2:0x801D5524; // type:object size:0x4 data:float -lbl_801D5528 = .sdata2:0x801D5528; // type:object size:0x4 data:float -lbl_801D552C = .sdata2:0x801D552C; // type:object size:0x4 data:4byte -lbl_801D5530 = .sdata2:0x801D5530; // type:object size:0x4 data:4byte -lbl_801D5534 = .sdata2:0x801D5534; // type:object size:0x4 data:float -lbl_801D5538 = .sdata2:0x801D5538; // type:object size:0x4 data:float -lbl_801D553C = .sdata2:0x801D553C; // type:object size:0x4 data:float -lbl_801D5540 = .sdata2:0x801D5540; // type:object size:0x4 data:float -lbl_801D5544 = .sdata2:0x801D5544; // type:object size:0x4 data:float -lbl_801D5548 = .sdata2:0x801D5548; // type:object size:0x8 data:double -lbl_801D5550 = .sdata2:0x801D5550; // type:object size:0x4 data:float -lbl_801D5558 = .sdata2:0x801D5558; // type:object size:0x8 data:double -lbl_801D5560 = .sdata2:0x801D5560; // type:object size:0x8 data:double -lbl_801D5568 = .sdata2:0x801D5568; // type:object size:0x8 data:double -lbl_801D5570 = .sdata2:0x801D5570; // type:object size:0x4 data:float -lbl_801D5574 = .sdata2:0x801D5574; // type:object size:0x4 data:float -lbl_801D5578 = .sdata2:0x801D5578; // type:object size:0x4 data:float -lbl_801D557C = .sdata2:0x801D557C; // type:object size:0x4 data:float -lbl_801D5580 = .sdata2:0x801D5580; // type:object size:0x4 data:float -lbl_801D5584 = .sdata2:0x801D5584; // type:object size:0x4 data:float -lbl_801D5588 = .sdata2:0x801D5588; // type:object size:0x4 data:float -lbl_801D558C = .sdata2:0x801D558C; // type:object size:0x4 data:float -lbl_801D5590 = .sdata2:0x801D5590; // type:object size:0x4 data:float -lbl_801D5594 = .sdata2:0x801D5594; // type:object size:0x4 data:float -lbl_801D5598 = .sdata2:0x801D5598; // type:object size:0x4 data:float -lbl_801D55A0 = .sdata2:0x801D55A0; // type:object size:0x8 data:double -lbl_801D55A8 = .sdata2:0x801D55A8; // type:object size:0x4 data:float -lbl_801D55AC = .sdata2:0x801D55AC; // type:object size:0x4 data:float -lbl_801D55B0 = .sdata2:0x801D55B0; // type:object size:0x4 data:float -lbl_801D55B4 = .sdata2:0x801D55B4; // type:object size:0x4 data:float -lbl_801D55B8 = .sdata2:0x801D55B8; // type:object size:0x4 data:float -lbl_801D55BC = .sdata2:0x801D55BC; // type:object size:0x4 data:float -lbl_801D55C0 = .sdata2:0x801D55C0; // type:object size:0x4 data:float -lbl_801D55C4 = .sdata2:0x801D55C4; // type:object size:0x4 data:float -lbl_801D55C8 = .sdata2:0x801D55C8; // type:object size:0x4 data:float -lbl_801D55CC = .sdata2:0x801D55CC; // type:object size:0x4 data:float -lbl_801D55D0 = .sdata2:0x801D55D0; // type:object size:0x4 data:float -lbl_801D55D4 = .sdata2:0x801D55D4; // type:object size:0x4 data:float -lbl_801D55D8 = .sdata2:0x801D55D8; // type:object size:0x4 data:float -lbl_801D55DC = .sdata2:0x801D55DC; // type:object size:0x4 data:float -lbl_801D55E0 = .sdata2:0x801D55E0; // type:object size:0x4 data:float -lbl_801D55E4 = .sdata2:0x801D55E4; // type:object size:0x4 data:float -lbl_801D55E8 = .sdata2:0x801D55E8; // type:object size:0x4 data:float -lbl_801D55EC = .sdata2:0x801D55EC; // type:object size:0x4 data:float -lbl_801D55F0 = .sdata2:0x801D55F0; // type:object size:0x8 data:float -lbl_801D55F8 = .sdata2:0x801D55F8; // type:object size:0x4 data:float -lbl_801D55FC = .sdata2:0x801D55FC; // type:object size:0x4 data:float -lbl_801D5600 = .sdata2:0x801D5600; // type:object size:0x4 data:float -lbl_801D5604 = .sdata2:0x801D5604; // type:object size:0x4 data:float -lbl_801D5608 = .sdata2:0x801D5608; // type:object size:0x4 data:float -lbl_801D560C = .sdata2:0x801D560C; // type:object size:0x4 data:float -lbl_801D5610 = .sdata2:0x801D5610; // type:object size:0x4 data:float -lbl_801D5614 = .sdata2:0x801D5614; // type:object size:0x4 data:float -lbl_801D5618 = .sdata2:0x801D5618; // type:object size:0x4 data:float -lbl_801D561C = .sdata2:0x801D561C; // type:object size:0x4 data:float -lbl_801D5620 = .sdata2:0x801D5620; // type:object size:0x4 data:float -lbl_801D5624 = .sdata2:0x801D5624; // type:object size:0x4 data:float -lbl_801D5628 = .sdata2:0x801D5628; // type:object size:0x8 data:double -lbl_801D5630 = .sdata2:0x801D5630; // type:object size:0x8 data:double -lbl_801D5638 = .sdata2:0x801D5638; // type:object size:0x4 data:float -lbl_801D5640 = .sdata2:0x801D5640; // type:object size:0x8 data:double -lbl_801D5648 = .sdata2:0x801D5648; // type:object size:0x8 data:double -lbl_801D5650 = .sdata2:0x801D5650; // type:object size:0x8 data:double -lbl_801D5658 = .sdata2:0x801D5658; // type:object size:0x4 data:float -lbl_801D5660 = .sdata2:0x801D5660; // type:object size:0x8 data:double -lbl_801D5668 = .sdata2:0x801D5668; // type:object size:0x4 data:float -lbl_801D566C = .sdata2:0x801D566C; // type:object size:0x4 data:float -lbl_801D5670 = .sdata2:0x801D5670; // type:object size:0x4 data:float -lbl_801D5674 = .sdata2:0x801D5674; // type:object size:0x4 data:float -lbl_801D5678 = .sdata2:0x801D5678; // type:object size:0x4 data:float -lbl_801D567C = .sdata2:0x801D567C; // type:object size:0x4 data:float -lbl_801D5680 = .sdata2:0x801D5680; // type:object size:0x4 data:float -lbl_801D5684 = .sdata2:0x801D5684; // type:object size:0x4 data:float -lbl_801D5688 = .sdata2:0x801D5688; // type:object size:0x4 data:float -lbl_801D568C = .sdata2:0x801D568C; // type:object size:0x4 data:float -lbl_801D5690 = .sdata2:0x801D5690; // type:object size:0x4 data:float -lbl_801D5694 = .sdata2:0x801D5694; // type:object size:0x4 data:float -lbl_801D5698 = .sdata2:0x801D5698; // type:object size:0x8 data:float -lbl_801D56A0 = .sdata2:0x801D56A0; // type:object size:0x4 data:float -lbl_801D56A4 = .sdata2:0x801D56A4; // type:object size:0x4 data:float -lbl_801D56A8 = .sdata2:0x801D56A8; // type:object size:0x4 data:float -lbl_801D56AC = .sdata2:0x801D56AC; // type:object size:0x4 data:float -lbl_801D56B0 = .sdata2:0x801D56B0; // type:object size:0x4 data:float -lbl_801D56B4 = .sdata2:0x801D56B4; // type:object size:0x4 data:float -lbl_801D56B8 = .sdata2:0x801D56B8; // type:object size:0x4 data:float -lbl_801D56BC = .sdata2:0x801D56BC; // type:object size:0x4 data:float -lbl_801D56C0 = .sdata2:0x801D56C0; // type:object size:0x4 data:float -lbl_801D56C8 = .sdata2:0x801D56C8; // type:object size:0x8 data:double -lbl_801D56D0 = .sdata2:0x801D56D0; // type:object size:0x8 data:double -lbl_801D56D8 = .sdata2:0x801D56D8; // type:object size:0x8 data:double -lbl_801D56E0 = .sdata2:0x801D56E0; // type:object size:0x4 data:float -lbl_801D56E4 = .sdata2:0x801D56E4; // type:object size:0x4 data:float -lbl_801D56E8 = .sdata2:0x801D56E8; // type:object size:0x4 data:float -lbl_801D56EC = .sdata2:0x801D56EC; // type:object size:0x4 data:float -lbl_801D56F0 = .sdata2:0x801D56F0; // type:object size:0x8 data:double -lbl_801D56F8 = .sdata2:0x801D56F8; // type:object size:0x8 data:double -lbl_801D5700 = .sdata2:0x801D5700; // type:object size:0x4 data:float -lbl_801D5704 = .sdata2:0x801D5704; // type:object size:0x4 data:float -lbl_801D5708 = .sdata2:0x801D5708; // type:object size:0x4 data:float -lbl_801D570C = .sdata2:0x801D570C; // type:object size:0x4 data:float -lbl_801D5710 = .sdata2:0x801D5710; // type:object size:0x4 data:float -lbl_801D5714 = .sdata2:0x801D5714; // type:object size:0x4 data:float -lbl_801D5718 = .sdata2:0x801D5718; // type:object size:0x4 data:float -lbl_801D5720 = .sdata2:0x801D5720; // type:object size:0x8 data:double -lbl_801D5728 = .sdata2:0x801D5728; // type:object size:0x4 data:float -lbl_801D572C = .sdata2:0x801D572C; // type:object size:0x4 data:float -lbl_801D5730 = .sdata2:0x801D5730; // type:object size:0x4 data:float -lbl_801D5734 = .sdata2:0x801D5734; // type:object size:0x4 data:float -lbl_801D5738 = .sdata2:0x801D5738; // type:object size:0x4 data:float -lbl_801D573C = .sdata2:0x801D573C; // type:object size:0x4 data:float -lbl_801D5740 = .sdata2:0x801D5740; // type:object size:0x4 data:float -lbl_801D5744 = .sdata2:0x801D5744; // type:object size:0x4 data:float -lbl_801D5748 = .sdata2:0x801D5748; // type:object size:0x4 data:float -lbl_801D574C = .sdata2:0x801D574C; // type:object size:0x4 data:float -lbl_801D5750 = .sdata2:0x801D5750; // type:object size:0x4 data:float -lbl_801D5754 = .sdata2:0x801D5754; // type:object size:0x4 data:float -lbl_801D5758 = .sdata2:0x801D5758; // type:object size:0x4 data:float -lbl_801D575C = .sdata2:0x801D575C; // type:object size:0x4 data:float -lbl_801D5760 = .sdata2:0x801D5760; // type:object size:0x8 data:float -lbl_801D5768 = .sdata2:0x801D5768; // type:object size:0x4 data:float -lbl_801D576C = .sdata2:0x801D576C; // type:object size:0x4 data:float -lbl_801D5770 = .sdata2:0x801D5770; // type:object size:0x4 data:float -lbl_801D5774 = .sdata2:0x801D5774; // type:object size:0x4 data:float -lbl_801D5778 = .sdata2:0x801D5778; // type:object size:0x4 data:float -lbl_801D577C = .sdata2:0x801D577C; // type:object size:0x4 data:float -lbl_801D5780 = .sdata2:0x801D5780; // type:object size:0x4 data:float -lbl_801D5784 = .sdata2:0x801D5784; // type:object size:0x4 data:float -lbl_801D5788 = .sdata2:0x801D5788; // type:object size:0x4 data:float -lbl_801D578C = .sdata2:0x801D578C; // type:object size:0x4 data:float -lbl_801D5790 = .sdata2:0x801D5790; // type:object size:0x4 data:float -lbl_801D5794 = .sdata2:0x801D5794; // type:object size:0x4 data:float -lbl_801D5798 = .sdata2:0x801D5798; // type:object size:0x8 data:double -lbl_801D57A0 = .sdata2:0x801D57A0; // type:object size:0x8 data:double -lbl_801D57A8 = .sdata2:0x801D57A8; // type:object size:0x8 data:double -lbl_801D57B0 = .sdata2:0x801D57B0; // type:object size:0x4 data:float -lbl_801D57B4 = .sdata2:0x801D57B4; // type:object size:0x4 data:float -lbl_801D57B8 = .sdata2:0x801D57B8; // type:object size:0x4 data:float -lbl_801D57BC = .sdata2:0x801D57BC; // type:object size:0x4 data:float -lbl_801D57C0 = .sdata2:0x801D57C0; // type:object size:0x4 data:float -lbl_801D57C4 = .sdata2:0x801D57C4; // type:object size:0x4 data:float -lbl_801D57C8 = .sdata2:0x801D57C8; // type:object size:0x4 data:float -lbl_801D57D0 = .sdata2:0x801D57D0; // type:object size:0x8 data:double -lbl_801D57D8 = .sdata2:0x801D57D8; // type:object size:0x8 data:double -lbl_801D57E0 = .sdata2:0x801D57E0; // type:object size:0x8 data:double -lbl_801D57E8 = .sdata2:0x801D57E8; // type:object size:0x4 data:float -lbl_801D57EC = .sdata2:0x801D57EC; // type:object size:0x4 data:float -lbl_801D57F0 = .sdata2:0x801D57F0; // type:object size:0x4 data:float -lbl_801D57F4 = .sdata2:0x801D57F4; // type:object size:0x4 data:float -lbl_801D57F8 = .sdata2:0x801D57F8; // type:object size:0x4 data:float -lbl_801D57FC = .sdata2:0x801D57FC; // type:object size:0x4 data:float -lbl_801D5800 = .sdata2:0x801D5800; // type:object size:0x4 data:float -lbl_801D5804 = .sdata2:0x801D5804; // type:object size:0x4 data:float -lbl_801D5808 = .sdata2:0x801D5808; // type:object size:0x4 data:float -lbl_801D580C = .sdata2:0x801D580C; // type:object size:0x4 data:float -lbl_801D5810 = .sdata2:0x801D5810; // type:object size:0x8 data:double -lbl_801D5818 = .sdata2:0x801D5818; // type:object size:0x4 data:float -lbl_801D581C = .sdata2:0x801D581C; // type:object size:0x4 data:float -lbl_801D5820 = .sdata2:0x801D5820; // type:object size:0x4 data:float -lbl_801D5824 = .sdata2:0x801D5824; // type:object size:0x4 data:float -lbl_801D5828 = .sdata2:0x801D5828; // type:object size:0x4 data:float -lbl_801D582C = .sdata2:0x801D582C; // type:object size:0x4 data:float -lbl_801D5830 = .sdata2:0x801D5830; // type:object size:0x4 data:float -lbl_801D5834 = .sdata2:0x801D5834; // type:object size:0x4 data:float -lbl_801D5838 = .sdata2:0x801D5838; // type:object size:0x4 data:float -lbl_801D583C = .sdata2:0x801D583C; // type:object size:0x4 data:float -lbl_801D5840 = .sdata2:0x801D5840; // type:object size:0x4 data:float -lbl_801D5844 = .sdata2:0x801D5844; // type:object size:0x4 data:float -lbl_801D5848 = .sdata2:0x801D5848; // type:object size:0x4 data:float -lbl_801D584C = .sdata2:0x801D584C; // type:object size:0x4 data:float -lbl_801D5850 = .sdata2:0x801D5850; // type:object size:0x4 data:float -lbl_801D5854 = .sdata2:0x801D5854; // type:object size:0x4 data:float -lbl_801D5858 = .sdata2:0x801D5858; // type:object size:0x4 data:float -lbl_801D585C = .sdata2:0x801D585C; // type:object size:0x4 data:float -lbl_801D5860 = .sdata2:0x801D5860; // type:object size:0x4 data:float -lbl_801D5864 = .sdata2:0x801D5864; // type:object size:0x4 data:float -lbl_801D5868 = .sdata2:0x801D5868; // type:object size:0x4 data:float -lbl_801D586C = .sdata2:0x801D586C; // type:object size:0x4 data:float -lbl_801D5870 = .sdata2:0x801D5870; // type:object size:0x4 data:float -lbl_801D5874 = .sdata2:0x801D5874; // type:object size:0x4 data:float -lbl_801D5878 = .sdata2:0x801D5878; // type:object size:0x8 data:double -lbl_801D5880 = .sdata2:0x801D5880; // type:object size:0x8 data:double -lbl_801D5888 = .sdata2:0x801D5888; // type:object size:0x4 data:float -lbl_801D588C = .sdata2:0x801D588C; // type:object size:0x4 data:float -lbl_801D5890 = .sdata2:0x801D5890; // type:object size:0x4 data:float -lbl_801D5894 = .sdata2:0x801D5894; // type:object size:0x4 data:float -lbl_801D5898 = .sdata2:0x801D5898; // type:object size:0x4 data:float -lbl_801D58A0 = .sdata2:0x801D58A0; // type:object size:0x8 data:double -lbl_801D58A8 = .sdata2:0x801D58A8; // type:object size:0x4 data:float -lbl_801D58AC = .sdata2:0x801D58AC; // type:object size:0x4 data:float -lbl_801D58B0 = .sdata2:0x801D58B0; // type:object size:0x4 data:float -lbl_801D58B4 = .sdata2:0x801D58B4; // type:object size:0x4 data:float -lbl_801D58B8 = .sdata2:0x801D58B8; // type:object size:0x4 data:float -lbl_801D58BC = .sdata2:0x801D58BC; // type:object size:0x4 data:float -lbl_801D58C0 = .sdata2:0x801D58C0; // type:object size:0x4 data:float -lbl_801D58C4 = .sdata2:0x801D58C4; // type:object size:0x4 data:float -lbl_801D58C8 = .sdata2:0x801D58C8; // type:object size:0x4 data:float -lbl_801D58CC = .sdata2:0x801D58CC; // type:object size:0x4 data:float -lbl_801D58D0 = .sdata2:0x801D58D0; // type:object size:0x4 data:float -lbl_801D58D8 = .sdata2:0x801D58D8; // type:object size:0x8 data:double -lbl_801D58E0 = .sdata2:0x801D58E0; // type:object size:0x4 data:float -lbl_801D58E4 = .sdata2:0x801D58E4; // type:object size:0x4 data:float -lbl_801D58E8 = .sdata2:0x801D58E8; // type:object size:0x4 data:float -lbl_801D58EC = .sdata2:0x801D58EC; // type:object size:0x4 data:float -lbl_801D58F0 = .sdata2:0x801D58F0; // type:object size:0x4 data:float -lbl_801D58F4 = .sdata2:0x801D58F4; // type:object size:0x4 data:float -lbl_801D58F8 = .sdata2:0x801D58F8; // type:object size:0x4 data:float -lbl_801D58FC = .sdata2:0x801D58FC; // type:object size:0x4 data:float -lbl_801D5900 = .sdata2:0x801D5900; // type:object size:0x4 data:float -lbl_801D5904 = .sdata2:0x801D5904; // type:object size:0x4 data:float -lbl_801D5908 = .sdata2:0x801D5908; // type:object size:0x4 data:float -lbl_801D590C = .sdata2:0x801D590C; // type:object size:0x4 data:float -lbl_801D5910 = .sdata2:0x801D5910; // type:object size:0x4 data:float -lbl_801D5914 = .sdata2:0x801D5914; // type:object size:0x4 data:float -lbl_801D5918 = .sdata2:0x801D5918; // type:object size:0x4 data:float -lbl_801D591C = .sdata2:0x801D591C; // type:object size:0x4 data:float -lbl_801D5920 = .sdata2:0x801D5920; // type:object size:0x4 data:float -lbl_801D5924 = .sdata2:0x801D5924; // type:object size:0x4 data:float -lbl_801D5928 = .sdata2:0x801D5928; // type:object size:0x4 data:float -lbl_801D5930 = .sdata2:0x801D5930; // type:object size:0x8 data:double -lbl_801D5938 = .sdata2:0x801D5938; // type:object size:0x4 data:float -lbl_801D5940 = .sdata2:0x801D5940; // type:object size:0x8 data:double -lbl_801D5948 = .sdata2:0x801D5948; // type:object size:0x4 data:float -lbl_801D594C = .sdata2:0x801D594C; // type:object size:0x4 data:float -lbl_801D5950 = .sdata2:0x801D5950; // type:object size:0x4 data:float -lbl_801D5954 = .sdata2:0x801D5954; // type:object size:0x4 data:float -lbl_801D5958 = .sdata2:0x801D5958; // type:object size:0x4 data:float -lbl_801D5960 = .sdata2:0x801D5960; // type:object size:0x8 data:double -lbl_801D5968 = .sdata2:0x801D5968; // type:object size:0x4 data:float -lbl_801D596C = .sdata2:0x801D596C; // type:object size:0x4 data:float -lbl_801D5970 = .sdata2:0x801D5970; // type:object size:0x4 data:float -lbl_801D5974 = .sdata2:0x801D5974; // type:object size:0x4 data:float -lbl_801D5978 = .sdata2:0x801D5978; // type:object size:0x4 data:float -lbl_801D597C = .sdata2:0x801D597C; // type:object size:0x4 data:float -lbl_801D5980 = .sdata2:0x801D5980; // type:object size:0x4 data:float -lbl_801D5984 = .sdata2:0x801D5984; // type:object size:0x4 data:float -lbl_801D5988 = .sdata2:0x801D5988; // type:object size:0x4 data:float -lbl_801D598C = .sdata2:0x801D598C; // type:object size:0x4 data:float -lbl_801D5990 = .sdata2:0x801D5990; // type:object size:0x4 data:float -lbl_801D5994 = .sdata2:0x801D5994; // type:object size:0x4 data:float -lbl_801D5998 = .sdata2:0x801D5998; // type:object size:0x1 data:byte -lbl_801D5999 = .sdata2:0x801D5999; // type:object size:0x1 data:byte -lbl_801D599A = .sdata2:0x801D599A; // type:object size:0x1 data:byte -lbl_801D599B = .sdata2:0x801D599B; // type:object size:0x1 data:byte -lbl_801D599C = .sdata2:0x801D599C; // type:object size:0x4 data:float -lbl_801D59A0 = .sdata2:0x801D59A0; // type:object size:0x4 data:float -lbl_801D59A4 = .sdata2:0x801D59A4; // type:object size:0x4 data:float -lbl_801D59A8 = .sdata2:0x801D59A8; // type:object size:0x4 data:float -lbl_801D59AC = .sdata2:0x801D59AC; // type:object size:0x4 data:float -lbl_801D59B0 = .sdata2:0x801D59B0; // type:object size:0x8 data:double -lbl_801D59B8 = .sdata2:0x801D59B8; // type:object size:0x8 data:double -lbl_801D59C0 = .sdata2:0x801D59C0; // type:object size:0x4 data:float -lbl_801D59C4 = .sdata2:0x801D59C4; // type:object size:0x4 data:float -lbl_801D59C8 = .sdata2:0x801D59C8; // type:object size:0x4 data:float -lbl_801D59CC = .sdata2:0x801D59CC; // type:object size:0x4 data:float -lbl_801D59D0 = .sdata2:0x801D59D0; // type:object size:0x4 data:float -lbl_801D59D4 = .sdata2:0x801D59D4; // type:object size:0x4 data:float -lbl_801D59D8 = .sdata2:0x801D59D8; // type:object size:0x8 data:double -lbl_801D59E0 = .sdata2:0x801D59E0; // type:object size:0x4 data:float -lbl_801D59E4 = .sdata2:0x801D59E4; // type:object size:0x4 data:float -lbl_801D59E8 = .sdata2:0x801D59E8; // type:object size:0x8 data:double -lbl_801D59F0 = .sdata2:0x801D59F0; // type:object size:0x8 data:float -lbl_801D59F8 = .sdata2:0x801D59F8; // type:object size:0x4 data:float -lbl_801D59FC = .sdata2:0x801D59FC; // type:object size:0x4 data:float -lbl_801D5A00 = .sdata2:0x801D5A00; // type:object size:0x4 data:float -lbl_801D5A04 = .sdata2:0x801D5A04; // type:object size:0x4 data:float -lbl_801D5A08 = .sdata2:0x801D5A08; // type:object size:0x4 data:float -lbl_801D5A0C = .sdata2:0x801D5A0C; // type:object size:0x4 data:float -lbl_801D5A10 = .sdata2:0x801D5A10; // type:object size:0x4 data:float -lbl_801D5A14 = .sdata2:0x801D5A14; // type:object size:0x4 data:float -lbl_801D5A18 = .sdata2:0x801D5A18; // type:object size:0x4 data:float -lbl_801D5A1C = .sdata2:0x801D5A1C; // type:object size:0x4 data:float -lbl_801D5A20 = .sdata2:0x801D5A20; // type:object size:0x2 data:2byte -lbl_801D5A22 = .sdata2:0x801D5A22; // type:object size:0x2 data:2byte -lbl_801D5A24 = .sdata2:0x801D5A24; // type:object size:0x2 data:2byte -lbl_801D5A28 = .sdata2:0x801D5A28; // type:object size:0x4 data:float -lbl_801D5A2C = .sdata2:0x801D5A2C; // type:object size:0x4 data:float -lbl_801D5A30 = .sdata2:0x801D5A30; // type:object size:0x4 data:float -lbl_801D5A34 = .sdata2:0x801D5A34; // type:object size:0x4 data:float -lbl_801D5A38 = .sdata2:0x801D5A38; // type:object size:0x4 data:float -lbl_801D5A3C = .sdata2:0x801D5A3C; // type:object size:0x4 data:float -lbl_801D5A40 = .sdata2:0x801D5A40; // type:object size:0x4 data:float -lbl_801D5A44 = .sdata2:0x801D5A44; // type:object size:0x4 data:float -lbl_801D5A48 = .sdata2:0x801D5A48; // type:object size:0x8 data:double -lbl_801D5A50 = .sdata2:0x801D5A50; // type:object size:0x8 data:double -lbl_801D5A58 = .sdata2:0x801D5A58; // type:object size:0x8 data:double -lbl_801D5A60 = .sdata2:0x801D5A60; // type:object size:0x4 data:float -lbl_801D5A64 = .sdata2:0x801D5A64; // type:object size:0x4 data:float -lbl_801D5A68 = .sdata2:0x801D5A68; // type:object size:0x4 data:float -lbl_801D5A6C = .sdata2:0x801D5A6C; // type:object size:0x4 data:float -lbl_801D5A70 = .sdata2:0x801D5A70; // type:object size:0x4 data:float -lbl_801D5A74 = .sdata2:0x801D5A74; // type:object size:0x4 data:float -lbl_801D5A78 = .sdata2:0x801D5A78; // type:object size:0x4 data:float -lbl_801D5A7C = .sdata2:0x801D5A7C; // type:object size:0x4 data:float -lbl_801D5A80 = .sdata2:0x801D5A80; // type:object size:0x4 data:float -lbl_801D5A88 = .sdata2:0x801D5A88; // type:object size:0x8 data:double -lbl_801D5A90 = .sdata2:0x801D5A90; // type:object size:0x1 data:byte -lbl_801D5A91 = .sdata2:0x801D5A91; // type:object size:0x1 data:byte -lbl_801D5A92 = .sdata2:0x801D5A92; // type:object size:0x1 data:byte -lbl_801D5A94 = .sdata2:0x801D5A94; // type:object size:0x4 data:float -lbl_801D5A98 = .sdata2:0x801D5A98; // type:object size:0x8 data:double -lbl_801D5AA0 = .sdata2:0x801D5AA0; // type:object size:0x8 data:float -lbl_801D5AA8 = .sdata2:0x801D5AA8; // type:object size:0x8 -lbl_801D5AB0 = .sdata2:0x801D5AB0; // type:object size:0x4 data:float -lbl_801D5AB4 = .sdata2:0x801D5AB4; // type:object size:0x4 data:float -lbl_801D5AB8 = .sdata2:0x801D5AB8; // type:object size:0x4 data:float -lbl_801D5ABC = .sdata2:0x801D5ABC; // type:object size:0x4 data:float -lbl_801D5AC0 = .sdata2:0x801D5AC0; // type:object size:0x4 data:float -lbl_801D5AC4 = .sdata2:0x801D5AC4; // type:object size:0x4 data:float -lbl_801D5AC8 = .sdata2:0x801D5AC8; // type:object size:0x4 data:float -lbl_801D5ACC = .sdata2:0x801D5ACC; // type:object size:0x4 data:float -lbl_801D5AD0 = .sdata2:0x801D5AD0; // type:object size:0x4 data:float -lbl_801D5AD4 = .sdata2:0x801D5AD4; // type:object size:0x4 data:float -lbl_801D5AD8 = .sdata2:0x801D5AD8; // type:object size:0x4 data:float -lbl_801D5ADC = .sdata2:0x801D5ADC; // type:object size:0x4 data:float -lbl_801D5AE0 = .sdata2:0x801D5AE0; // type:object size:0x4 data:float -lbl_801D5AE4 = .sdata2:0x801D5AE4; // type:object size:0x4 data:float -lbl_801D5AE8 = .sdata2:0x801D5AE8; // type:object size:0x4 data:float -lbl_801D5AEC = .sdata2:0x801D5AEC; // type:object size:0x4 data:float -lbl_801D5AF0 = .sdata2:0x801D5AF0; // type:object size:0x4 data:float -lbl_801D5AF4 = .sdata2:0x801D5AF4; // type:object size:0x4 data:float -lbl_801D5AF8 = .sdata2:0x801D5AF8; // type:object size:0x4 data:float -lbl_801D5AFC = .sdata2:0x801D5AFC; // type:object size:0x4 data:float -lbl_801D5B00 = .sdata2:0x801D5B00; // type:object size:0x4 data:float -lbl_801D5B08 = .sdata2:0x801D5B08; // type:object size:0x8 data:double -lbl_801D5B10 = .sdata2:0x801D5B10; // type:object size:0x8 data:double -lbl_801D5B18 = .sdata2:0x801D5B18; // type:object size:0x4 data:float -lbl_801D5B1C = .sdata2:0x801D5B1C; // type:object size:0x4 data:float -lbl_801D5B20 = .sdata2:0x801D5B20; // type:object size:0x4 data:float -lbl_801D5B24 = .sdata2:0x801D5B24; // type:object size:0x4 data:float -lbl_801D5B28 = .sdata2:0x801D5B28; // type:object size:0x4 data:float -lbl_801D5B2C = .sdata2:0x801D5B2C; // type:object size:0x4 data:float -lbl_801D5B30 = .sdata2:0x801D5B30; // type:object size:0x4 data:float -lbl_801D5B34 = .sdata2:0x801D5B34; // type:object size:0x4 data:float -lbl_801D5B38 = .sdata2:0x801D5B38; // type:object size:0x8 data:double -lbl_801D5B40 = .sdata2:0x801D5B40; // type:object size:0x4 data:float -lbl_801D5B48 = .sdata2:0x801D5B48; // type:object size:0x8 data:double -lbl_801D5B50 = .sdata2:0x801D5B50; // type:object size:0x4 data:float -lbl_801D5B54 = .sdata2:0x801D5B54; // type:object size:0x4 data:float -lbl_801D5B58 = .sdata2:0x801D5B58; // type:object size:0x1 data:byte -lbl_801D5B59 = .sdata2:0x801D5B59; // type:object size:0x1 data:byte -lbl_801D5B5A = .sdata2:0x801D5B5A; // type:object size:0x1 data:byte -lbl_801D5B5B = .sdata2:0x801D5B5B; // type:object size:0x1 data:byte -lbl_801D5B5C = .sdata2:0x801D5B5C; // type:object size:0x1 data:byte -lbl_801D5B60 = .sdata2:0x801D5B60; // type:object size:0x4 data:float -lbl_801D5B64 = .sdata2:0x801D5B64; // type:object size:0x4 data:float -lbl_801D5B68 = .sdata2:0x801D5B68; // type:object size:0x4 data:float -lbl_801D5B6C = .sdata2:0x801D5B6C; // type:object size:0x4 data:float -lbl_801D5B70 = .sdata2:0x801D5B70; // type:object size:0x4 data:float -lbl_801D5B74 = .sdata2:0x801D5B74; // type:object size:0x4 data:float -lbl_801D5B78 = .sdata2:0x801D5B78; // type:object size:0x4 data:float -lbl_801D5B7C = .sdata2:0x801D5B7C; // type:object size:0x4 data:float -lbl_801D5B80 = .sdata2:0x801D5B80; // type:object size:0x4 data:float -lbl_801D5B84 = .sdata2:0x801D5B84; // type:object size:0x4 data:float -lbl_801D5B88 = .sdata2:0x801D5B88; // type:object size:0x4 data:float -lbl_801D5B8C = .sdata2:0x801D5B8C; // type:object size:0x4 data:float -lbl_801D5B90 = .sdata2:0x801D5B90; // type:object size:0x4 data:float -lbl_801D5B94 = .sdata2:0x801D5B94; // type:object size:0x4 data:float -lbl_801D5B98 = .sdata2:0x801D5B98; // type:object size:0x8 data:double -lbl_801D5BA0 = .sdata2:0x801D5BA0; // type:object size:0x8 data:double -lbl_801D5BA8 = .sdata2:0x801D5BA8; // type:object size:0x4 data:float -lbl_801D5BB0 = .sdata2:0x801D5BB0; // type:object size:0x8 data:double -lbl_801D5BB8 = .sdata2:0x801D5BB8; // type:object size:0x8 data:double -lbl_801D5BC0 = .sdata2:0x801D5BC0; // type:object size:0x8 data:double -lbl_801D5BC8 = .sdata2:0x801D5BC8; // type:object size:0x8 data:double -lbl_801D5BD0 = .sdata2:0x801D5BD0; // type:object size:0x4 data:float -lbl_801D5BD8 = .sdata2:0x801D5BD8; // type:object size:0x8 data:double -lbl_801D5BE0 = .sdata2:0x801D5BE0; // type:object size:0x4 data:float -lbl_801D5BE4 = .sdata2:0x801D5BE4; // type:object size:0x4 data:float -lbl_801D5BE8 = .sdata2:0x801D5BE8; // type:object size:0x4 data:float -lbl_801D5BF0 = .sdata2:0x801D5BF0; // type:object size:0x8 data:double -lbl_801D5BF8 = .sdata2:0x801D5BF8; // type:object size:0x8 data:double -lbl_801D5C00 = .sdata2:0x801D5C00; // type:object size:0x4 data:float -lbl_801D5C08 = .sdata2:0x801D5C08; // type:object size:0x8 data:double -lbl_801D5C10 = .sdata2:0x801D5C10; // type:object size:0x4 data:float -lbl_801D5C14 = .sdata2:0x801D5C14; // type:object size:0x4 data:float -lbl_801D5C18 = .sdata2:0x801D5C18; // type:object size:0x4 data:float -lbl_801D5C1C = .sdata2:0x801D5C1C; // type:object size:0x4 data:float -lbl_801D5C20 = .sdata2:0x801D5C20; // type:object size:0x8 data:double -lbl_801D5C28 = .sdata2:0x801D5C28; // type:object size:0x8 data:double -lbl_801D5C30 = .sdata2:0x801D5C30; // type:object size:0x4 data:float -lbl_801D5C34 = .sdata2:0x801D5C34; // type:object size:0x4 data:float -lbl_801D5C38 = .sdata2:0x801D5C38; // type:object size:0x4 data:float -lbl_801D5C40 = .sdata2:0x801D5C40; // type:object size:0x8 data:double -lbl_801D5C48 = .sdata2:0x801D5C48; // type:object size:0x4 data:float -lbl_801D5C4C = .sdata2:0x801D5C4C; // type:object size:0x4 data:float -lbl_801D5C50 = .sdata2:0x801D5C50; // type:object size:0x4 data:float -lbl_801D5C54 = .sdata2:0x801D5C54; // type:object size:0x4 data:float -lbl_801D5C58 = .sdata2:0x801D5C58; // type:object size:0x8 data:double -lbl_801D5C60 = .sdata2:0x801D5C60; // type:object size:0x4 data:float -lbl_801D5C64 = .sdata2:0x801D5C64; // type:object size:0x4 data:float -lbl_801D5C68 = .sdata2:0x801D5C68; // type:object size:0x4 data:float -lbl_801D5C6C = .sdata2:0x801D5C6C; // type:object size:0x4 data:float -lbl_801D5C70 = .sdata2:0x801D5C70; // type:object size:0x4 data:float -lbl_801D5C74 = .sdata2:0x801D5C74; // type:object size:0x4 data:float -lbl_801D5C78 = .sdata2:0x801D5C78; // type:object size:0x4 data:float -lbl_801D5C7C = .sdata2:0x801D5C7C; // type:object size:0x4 data:float -lbl_801D5C80 = .sdata2:0x801D5C80; // type:object size:0x4 data:float -lbl_801D5C84 = .sdata2:0x801D5C84; // type:object size:0x4 data:float -lbl_801D5C88 = .sdata2:0x801D5C88; // type:object size:0x4 data:float -lbl_801D5C8C = .sdata2:0x801D5C8C; // type:object size:0x1 data:byte -lbl_801D5C8D = .sdata2:0x801D5C8D; // type:object size:0x1 data:byte -lbl_801D5C90 = .sdata2:0x801D5C90; // type:object size:0x4 data:float -lbl_801D5C98 = .sdata2:0x801D5C98; // type:object size:0x8 data:double -lbl_801D5CA0 = .sdata2:0x801D5CA0; // type:object size:0x8 data:double -lbl_801D5CA8 = .sdata2:0x801D5CA8; // type:object size:0x8 data:double -lbl_801D5CB0 = .sdata2:0x801D5CB0; // type:object size:0x8 data:double -lbl_801D5CB8 = .sdata2:0x801D5CB8; // type:object size:0x4 data:float -lbl_801D5CBC = .sdata2:0x801D5CBC; // type:object size:0x4 data:float -lbl_801D5CC0 = .sdata2:0x801D5CC0; // type:object size:0x8 data:double -lbl_801D5CC8 = .sdata2:0x801D5CC8; // type:object size:0x4 data:float -lbl_801D5CCC = .sdata2:0x801D5CCC; // type:object size:0x4 data:float -lbl_801D5CD0 = .sdata2:0x801D5CD0; // type:object size:0x8 data:double -lbl_801D5CD8 = .sdata2:0x801D5CD8; // type:object size:0x4 data:float -lbl_801D5CDC = .sdata2:0x801D5CDC; // type:object size:0x2 data:2byte -lbl_801D5CDE = .sdata2:0x801D5CDE; // type:object size:0x2 data:2byte -lbl_801D5CE0 = .sdata2:0x801D5CE0; // type:object size:0x2 data:2byte -lbl_801D5CE4 = .sdata2:0x801D5CE4; // type:object size:0x4 data:float -lbl_801D5CE8 = .sdata2:0x801D5CE8; // type:object size:0x4 data:float -lbl_801D5CEC = .sdata2:0x801D5CEC; // type:object size:0x4 data:float -lbl_801D5CF0 = .sdata2:0x801D5CF0; // type:object size:0x2 data:2byte -lbl_801D5CF2 = .sdata2:0x801D5CF2; // type:object size:0x2 data:2byte -lbl_801D5CF4 = .sdata2:0x801D5CF4; // type:object size:0x2 data:2byte -lbl_801D5CF8 = .sdata2:0x801D5CF8; // type:object size:0x4 data:float -lbl_801D5CFC = .sdata2:0x801D5CFC; // type:object size:0x4 data:float -lbl_801D5D00 = .sdata2:0x801D5D00; // type:object size:0x4 data:float -lbl_801D5D04 = .sdata2:0x801D5D04; // type:object size:0x4 data:float -lbl_801D5D08 = .sdata2:0x801D5D08; // type:object size:0x4 data:float -lbl_801D5D0C = .sdata2:0x801D5D0C; // type:object size:0x4 data:float -lbl_801D5D10 = .sdata2:0x801D5D10; // type:object size:0x4 data:float -lbl_801D5D18 = .sdata2:0x801D5D18; // type:object size:0x8 data:double -lbl_801D5D20 = .sdata2:0x801D5D20; // type:object size:0x4 data:float -lbl_801D5D24 = .sdata2:0x801D5D24; // type:object size:0x4 data:float -lbl_801D5D28 = .sdata2:0x801D5D28; // type:object size:0x4 data:float -lbl_801D5D2C = .sdata2:0x801D5D2C; // type:object size:0x4 data:float -lbl_801D5D30 = .sdata2:0x801D5D30; // type:object size:0x4 data:float -lbl_801D5D34 = .sdata2:0x801D5D34; // type:object size:0x4 data:float -lbl_801D5D38 = .sdata2:0x801D5D38; // type:object size:0x4 data:float -lbl_801D5D40 = .sdata2:0x801D5D40; // type:object size:0x8 data:double -lbl_801D5D48 = .sdata2:0x801D5D48; // type:object size:0x8 data:double -lbl_801D5D50 = .sdata2:0x801D5D50; // type:object size:0x8 data:double -lbl_801D5D58 = .sdata2:0x801D5D58; // type:object size:0x4 data:float -lbl_801D5D5C = .sdata2:0x801D5D5C; // type:object size:0x4 data:float -lbl_801D5D60 = .sdata2:0x801D5D60; // type:object size:0x4 data:float -lbl_801D5D64 = .sdata2:0x801D5D64; // type:object size:0x4 data:float -lbl_801D5D68 = .sdata2:0x801D5D68; // type:object size:0x4 data:float -lbl_801D5D6C = .sdata2:0x801D5D6C; // type:object size:0x4 data:float -lbl_801D5D70 = .sdata2:0x801D5D70; // type:object size:0x4 data:float -lbl_801D5D74 = .sdata2:0x801D5D74; // type:object size:0x4 data:float -lbl_801D5D78 = .sdata2:0x801D5D78; // type:object size:0x4 data:float -lbl_801D5D7C = .sdata2:0x801D5D7C; // type:object size:0x4 data:float -lbl_801D5D80 = .sdata2:0x801D5D80; // type:object size:0x4 data:float -lbl_801D5D84 = .sdata2:0x801D5D84; // type:object size:0x4 data:float -lbl_801D5D88 = .sdata2:0x801D5D88; // type:object size:0x4 data:float -lbl_801D5D8C = .sdata2:0x801D5D8C; // type:object size:0x4 data:float -lbl_801D5D90 = .sdata2:0x801D5D90; // type:object size:0x4 data:float -lbl_801D5D94 = .sdata2:0x801D5D94; // type:object size:0x4 data:float -lbl_801D5D98 = .sdata2:0x801D5D98; // type:object size:0x4 data:float -lbl_801D5D9C = .sdata2:0x801D5D9C; // type:object size:0x4 data:float -lbl_801D5DA0 = .sdata2:0x801D5DA0; // type:object size:0x4 data:float -lbl_801D5DA4 = .sdata2:0x801D5DA4; // type:object size:0x4 data:float -lbl_801D5DA8 = .sdata2:0x801D5DA8; // type:object size:0x8 data:double -lbl_801D5DB0 = .sdata2:0x801D5DB0; // type:object size:0x8 data:double -lbl_801D5DB8 = .sdata2:0x801D5DB8; // type:object size:0x4 data:float -lbl_801D5DC0 = .sdata2:0x801D5DC0; // type:object size:0x8 data:double -lbl_801D5DC8 = .sdata2:0x801D5DC8; // type:object size:0x8 data:double -lbl_801D5DD0 = .sdata2:0x801D5DD0; // type:object size:0x4 data:float -lbl_801D5DD4 = .sdata2:0x801D5DD4; // type:object size:0x4 data:float -lbl_801D5DD8 = .sdata2:0x801D5DD8; // type:object size:0x4 data:float -lbl_801D5DDC = .sdata2:0x801D5DDC; // type:object size:0x4 data:float -lbl_801D5DE0 = .sdata2:0x801D5DE0; // type:object size:0x4 data:float -lbl_801D5DE4 = .sdata2:0x801D5DE4; // type:object size:0x4 data:float -lbl_801D5DE8 = .sdata2:0x801D5DE8; // type:object size:0x4 data:float -lbl_801D5DEC = .sdata2:0x801D5DEC; // type:object size:0x4 data:float -lbl_801D5DF0 = .sdata2:0x801D5DF0; // type:object size:0x4 data:float -lbl_801D5DF4 = .sdata2:0x801D5DF4; // type:object size:0x4 data:float -lbl_801D5DF8 = .sdata2:0x801D5DF8; // type:object size:0x4 data:float -lbl_801D5DFC = .sdata2:0x801D5DFC; // type:object size:0x4 data:float -lbl_801D5E00 = .sdata2:0x801D5E00; // type:object size:0x4 data:float -lbl_801D5E04 = .sdata2:0x801D5E04; // type:object size:0x4 data:float -lbl_801D5E08 = .sdata2:0x801D5E08; // type:object size:0x4 data:float -lbl_801D5E0C = .sdata2:0x801D5E0C; // type:object size:0x4 data:float -lbl_801D5E10 = .sdata2:0x801D5E10; // type:object size:0x4 data:float -lbl_801D5E14 = .sdata2:0x801D5E14; // type:object size:0x4 data:float -lbl_801D5E18 = .sdata2:0x801D5E18; // type:object size:0x4 data:float -lbl_801D5E20 = .sdata2:0x801D5E20; // type:object size:0x8 data:double -lbl_801D5E28 = .sdata2:0x801D5E28; // type:object size:0x8 data:double -lbl_801D5E30 = .sdata2:0x801D5E30; // type:object size:0x8 data:double -lbl_801D5E38 = .sdata2:0x801D5E38; // type:object size:0x8 data:double -lbl_801D5E40 = .sdata2:0x801D5E40; // type:object size:0x4 data:float -lbl_801D5E44 = .sdata2:0x801D5E44; // type:object size:0x4 data:float -lbl_801D5E48 = .sdata2:0x801D5E48; // type:object size:0x4 data:float -lbl_801D5E4C = .sdata2:0x801D5E4C; // type:object size:0x4 data:float -lbl_801D5E50 = .sdata2:0x801D5E50; // type:object size:0x4 data:float -lbl_801D5E54 = .sdata2:0x801D5E54; // type:object size:0x4 data:float -lbl_801D5E58 = .sdata2:0x801D5E58; // type:object size:0x4 data:float -lbl_801D5E5C = .sdata2:0x801D5E5C; // type:object size:0x4 data:float -lbl_801D5E60 = .sdata2:0x801D5E60; // type:object size:0x4 data:float -lbl_801D5E64 = .sdata2:0x801D5E64; // type:object size:0x4 data:float -lbl_801D5E68 = .sdata2:0x801D5E68; // type:object size:0x4 data:float -lbl_801D5E6C = .sdata2:0x801D5E6C; // type:object size:0x4 data:float -lbl_801D5E70 = .sdata2:0x801D5E70; // type:object size:0x4 data:float -lbl_801D5E74 = .sdata2:0x801D5E74; // type:object size:0x4 data:float -lbl_801D5E78 = .sdata2:0x801D5E78; // type:object size:0x4 data:float -lbl_801D5E7C = .sdata2:0x801D5E7C; // type:object size:0x4 data:float -lbl_801D5E80 = .sdata2:0x801D5E80; // type:object size:0x4 data:float -lbl_801D5E84 = .sdata2:0x801D5E84; // type:object size:0x4 data:float -lbl_801D5E88 = .sdata2:0x801D5E88; // type:object size:0x4 data:float -lbl_801D5E8C = .sdata2:0x801D5E8C; // type:object size:0x4 data:float -lbl_801D5E90 = .sdata2:0x801D5E90; // type:object size:0x4 data:float -lbl_801D5E94 = .sdata2:0x801D5E94; // type:object size:0x4 data:float -lbl_801D5E98 = .sdata2:0x801D5E98; // type:object size:0x8 data:double -lbl_801D5EA0 = .sdata2:0x801D5EA0; // type:object size:0x8 data:double -lbl_801D5EA8 = .sdata2:0x801D5EA8; // type:object size:0x4 data:float -lbl_801D5EAC = .sdata2:0x801D5EAC; // type:object size:0x4 data:float -lbl_801D5EB0 = .sdata2:0x801D5EB0; // type:object size:0x8 data:double -lbl_801D5EB8 = .sdata2:0x801D5EB8; // type:object size:0x4 data:float -lbl_801D5EBC = .sdata2:0x801D5EBC; // type:object size:0x4 data:float -lbl_801D5EC0 = .sdata2:0x801D5EC0; // type:object size:0x4 data:float -lbl_801D5EC4 = .sdata2:0x801D5EC4; // type:object size:0x4 data:float -lbl_801D5EC8 = .sdata2:0x801D5EC8; // type:object size:0x4 data:float -lbl_801D5ECC = .sdata2:0x801D5ECC; // type:object size:0x4 data:float -lbl_801D5ED0 = .sdata2:0x801D5ED0; // type:object size:0x4 data:float -lbl_801D5ED4 = .sdata2:0x801D5ED4; // type:object size:0x4 data:float -lbl_801D5ED8 = .sdata2:0x801D5ED8; // type:object size:0x4 data:float -lbl_801D5EDC = .sdata2:0x801D5EDC; // type:object size:0x4 data:float -lbl_801D5EE0 = .sdata2:0x801D5EE0; // type:object size:0x4 data:float -lbl_801D5EE4 = .sdata2:0x801D5EE4; // type:object size:0x4 data:float -lbl_801D5EE8 = .sdata2:0x801D5EE8; // type:object size:0x4 data:float -lbl_801D5EEC = .sdata2:0x801D5EEC; // type:object size:0x4 data:float -lbl_801D5EF0 = .sdata2:0x801D5EF0; // type:object size:0x4 data:float -lbl_801D5EF4 = .sdata2:0x801D5EF4; // type:object size:0x4 data:float -lbl_801D5EF8 = .sdata2:0x801D5EF8; // type:object size:0x4 data:float -lbl_801D5EFC = .sdata2:0x801D5EFC; // type:object size:0x4 data:float -lbl_801D5F00 = .sdata2:0x801D5F00; // type:object size:0x4 data:float -lbl_801D5F04 = .sdata2:0x801D5F04; // type:object size:0x4 data:float -lbl_801D5F08 = .sdata2:0x801D5F08; // type:object size:0x4 data:float -lbl_801D5F10 = .sdata2:0x801D5F10; // type:object size:0x8 data:double -lbl_801D5F18 = .sdata2:0x801D5F18; // type:object size:0x8 data:double -lbl_801D5F20 = .sdata2:0x801D5F20; // type:object size:0x8 data:double -lbl_801D5F28 = .sdata2:0x801D5F28; // type:object size:0x8 data:double -lbl_801D5F30 = .sdata2:0x801D5F30; // type:object size:0x4 data:float -lbl_801D5F34 = .sdata2:0x801D5F34; // type:object size:0x4 data:float -lbl_801D5F38 = .sdata2:0x801D5F38; // type:object size:0x4 data:float -lbl_801D5F3C = .sdata2:0x801D5F3C; // type:object size:0x4 data:float -lbl_801D5F40 = .sdata2:0x801D5F40; // type:object size:0x4 data:float -lbl_801D5F44 = .sdata2:0x801D5F44; // type:object size:0x4 data:float -lbl_801D5F48 = .sdata2:0x801D5F48; // type:object size:0x4 data:float -lbl_801D5F4C = .sdata2:0x801D5F4C; // type:object size:0x4 data:float -lbl_801D5F50 = .sdata2:0x801D5F50; // type:object size:0x4 data:float -lbl_801D5F54 = .sdata2:0x801D5F54; // type:object size:0x1 data:byte -lbl_801D5F55 = .sdata2:0x801D5F55; // type:object size:0x1 data:byte -lbl_801D5F56 = .sdata2:0x801D5F56; // type:object size:0x1 data:byte -lbl_801D5F57 = .sdata2:0x801D5F57; // type:object size:0x1 data:byte -lbl_801D5F58 = .sdata2:0x801D5F58; // type:object size:0x8 data:float -lbl_801D5F60 = .sdata2:0x801D5F60; // type:object size:0x4 data:float -lbl_801D5F64 = .sdata2:0x801D5F64; // type:object size:0x4 data:float -lbl_801D5F68 = .sdata2:0x801D5F68; // type:object size:0x4 data:float -lbl_801D5F6C = .sdata2:0x801D5F6C; // type:object size:0x4 data:float -lbl_801D5F70 = .sdata2:0x801D5F70; // type:object size:0x4 data:float -lbl_801D5F74 = .sdata2:0x801D5F74; // type:object size:0x4 data:float -lbl_801D5F78 = .sdata2:0x801D5F78; // type:object size:0x4 data:float -lbl_801D5F7C = .sdata2:0x801D5F7C; // type:object size:0x4 data:float -lbl_801D5F80 = .sdata2:0x801D5F80; // type:object size:0x4 data:float -lbl_801D5F84 = .sdata2:0x801D5F84; // type:object size:0x4 data:float -lbl_801D5F88 = .sdata2:0x801D5F88; // type:object size:0x4 data:float -lbl_801D5F8C = .sdata2:0x801D5F8C; // type:object size:0x4 data:float -lbl_801D5F90 = .sdata2:0x801D5F90; // type:object size:0x4 data:float -lbl_801D5F94 = .sdata2:0x801D5F94; // type:object size:0x4 data:float -lbl_801D5F98 = .sdata2:0x801D5F98; // type:object size:0x4 data:float -lbl_801D5F9C = .sdata2:0x801D5F9C; // type:object size:0x4 data:float -lbl_801D5FA0 = .sdata2:0x801D5FA0; // type:object size:0x4 data:float -lbl_801D5FA4 = .sdata2:0x801D5FA4; // type:object size:0x4 data:float -lbl_801D5FA8 = .sdata2:0x801D5FA8; // type:object size:0x4 data:float -lbl_801D5FAC = .sdata2:0x801D5FAC; // type:object size:0x4 data:float -lbl_801D5FB0 = .sdata2:0x801D5FB0; // type:object size:0x4 data:float -lbl_801D5FB4 = .sdata2:0x801D5FB4; // type:object size:0x4 data:float -lbl_801D5FB8 = .sdata2:0x801D5FB8; // type:object size:0x4 data:float -lbl_801D5FBC = .sdata2:0x801D5FBC; // type:object size:0x4 data:float -lbl_801D5FC0 = .sdata2:0x801D5FC0; // type:object size:0x4 data:float -lbl_801D5FC4 = .sdata2:0x801D5FC4; // type:object size:0x4 data:float -lbl_801D5FC8 = .sdata2:0x801D5FC8; // type:object size:0x4 data:float -lbl_801D5FCC = .sdata2:0x801D5FCC; // type:object size:0x4 data:float -lbl_801D5FD0 = .sdata2:0x801D5FD0; // type:object size:0x4 data:float -lbl_801D5FD4 = .sdata2:0x801D5FD4; // type:object size:0x4 data:float -lbl_801D5FD8 = .sdata2:0x801D5FD8; // type:object size:0x4 data:float -lbl_801D5FDC = .sdata2:0x801D5FDC; // type:object size:0x4 data:float -lbl_801D5FE0 = .sdata2:0x801D5FE0; // type:object size:0x4 data:float -lbl_801D5FE4 = .sdata2:0x801D5FE4; // type:object size:0x4 data:float -lbl_801D5FE8 = .sdata2:0x801D5FE8; // type:object size:0x4 data:float -lbl_801D5FEC = .sdata2:0x801D5FEC; // type:object size:0x4 data:float -lbl_801D5FF0 = .sdata2:0x801D5FF0; // type:object size:0x4 data:float -lbl_801D5FF4 = .sdata2:0x801D5FF4; // type:object size:0x4 data:float -lbl_801D5FF8 = .sdata2:0x801D5FF8; // type:object size:0x4 data:float -lbl_801D5FFC = .sdata2:0x801D5FFC; // type:object size:0x4 data:float -lbl_801D6000 = .sdata2:0x801D6000; // type:object size:0x4 data:float -lbl_801D6004 = .sdata2:0x801D6004; // type:object size:0x4 data:float -lbl_801D6008 = .sdata2:0x801D6008; // type:object size:0x8 data:double -lbl_801D6010 = .sdata2:0x801D6010; // type:object size:0x8 data:float -lbl_801D6018 = .sdata2:0x801D6018; // type:object size:0x4 data:float -lbl_801D601C = .sdata2:0x801D601C; // type:object size:0x4 data:float -lbl_801D6020 = .sdata2:0x801D6020; // type:object size:0x4 data:float -lbl_801D6024 = .sdata2:0x801D6024; // type:object size:0x4 data:float -lbl_801D6028 = .sdata2:0x801D6028; // type:object size:0x8 data:float -lbl_801D6030 = .sdata2:0x801D6030; // type:object size:0x4 data:float -lbl_801D6034 = .sdata2:0x801D6034; // type:object size:0x4 data:float -lbl_801D6038 = .sdata2:0x801D6038; // type:object size:0x4 data:float -lbl_801D603C = .sdata2:0x801D603C; // type:object size:0x4 data:float -lbl_801D6040 = .sdata2:0x801D6040; // type:object size:0x4 data:float -lbl_801D6044 = .sdata2:0x801D6044; // type:object size:0x4 data:float -lbl_801D6048 = .sdata2:0x801D6048; // type:object size:0x4 data:float -lbl_801D604C = .sdata2:0x801D604C; // type:object size:0x4 data:float -lbl_801D6050 = .sdata2:0x801D6050; // type:object size:0x4 data:float -lbl_801D6054 = .sdata2:0x801D6054; // type:object size:0x4 data:float -lbl_801D6058 = .sdata2:0x801D6058; // type:object size:0x4 data:float -lbl_801D605C = .sdata2:0x801D605C; // type:object size:0x4 data:float -lbl_801D6060 = .sdata2:0x801D6060; // type:object size:0x8 data:double -lbl_801D6068 = .sdata2:0x801D6068; // type:object size:0x8 data:double -lbl_801D6070 = .sdata2:0x801D6070; // type:object size:0x4 data:float -lbl_801D6074 = .sdata2:0x801D6074; // type:object size:0x4 data:float -lbl_801D6078 = .sdata2:0x801D6078; // type:object size:0x4 data:float -lbl_801D607C = .sdata2:0x801D607C; // type:object size:0x4 data:float -lbl_801D6080 = .sdata2:0x801D6080; // type:object size:0x4 data:float -lbl_801D6084 = .sdata2:0x801D6084; // type:object size:0x4 data:float -lbl_801D6088 = .sdata2:0x801D6088; // type:object size:0x8 data:double -lbl_801D6090 = .sdata2:0x801D6090; // type:object size:0x8 data:double -lbl_801D6098 = .sdata2:0x801D6098; // type:object size:0x8 data:float -lbl_801D60A0 = .sdata2:0x801D60A0; // type:object size:0x4 data:float -lbl_801D60A8 = .sdata2:0x801D60A8; // type:object size:0x8 data:double -lbl_801D60B0 = .sdata2:0x801D60B0; // type:object size:0x4 data:4byte -lbl_801D60B4 = .sdata2:0x801D60B4; // type:object size:0x4 data:4byte -lbl_801D60B8 = .sdata2:0x801D60B8; // type:object size:0x4 data:4byte -lbl_801D60BC = .sdata2:0x801D60BC; // type:object size:0x4 data:float -lbl_801D60C0 = .sdata2:0x801D60C0; // type:object size:0x4 data:float -lbl_801D60C4 = .sdata2:0x801D60C4; // type:object size:0x4 data:float -lbl_801D60C8 = .sdata2:0x801D60C8; // type:object size:0x8 data:double -lbl_801D60D0 = .sdata2:0x801D60D0; // type:object size:0x8 data:float -lbl_801D60D8 = .sdata2:0x801D60D8; // type:object size:0x4 data:float -lbl_801D60DC = .sdata2:0x801D60DC; // type:object size:0x4 data:float -lbl_801D60E0 = .sdata2:0x801D60E0; // type:object size:0x4 data:float -lbl_801D60E4 = .sdata2:0x801D60E4; // type:object size:0x4 data:float -lbl_801D60E8 = .sdata2:0x801D60E8; // type:object size:0x4 data:float -lbl_801D60EC = .sdata2:0x801D60EC; // type:object size:0x4 data:float -lbl_801D60F0 = .sdata2:0x801D60F0; // type:object size:0x4 data:float -lbl_801D60F4 = .sdata2:0x801D60F4; // type:object size:0x4 data:float -lbl_801D60F8 = .sdata2:0x801D60F8; // type:object size:0x4 data:float -lbl_801D60FC = .sdata2:0x801D60FC; // type:object size:0x4 data:float -lbl_801D6100 = .sdata2:0x801D6100; // type:object size:0x4 data:float -lbl_801D6104 = .sdata2:0x801D6104; // type:object size:0x4 data:float -lbl_801D6108 = .sdata2:0x801D6108; // type:object size:0x4 data:float -lbl_801D6110 = .sdata2:0x801D6110; // type:object size:0x8 data:double -lbl_801D6118 = .sdata2:0x801D6118; // type:object size:0x8 data:double -lbl_801D6120 = .sdata2:0x801D6120; // type:object size:0x8 data:float -lbl_801D6128 = .sdata2:0x801D6128; // type:object size:0x4 data:float -lbl_801D6130 = .sdata2:0x801D6130; // type:object size:0x8 data:double -lbl_801D6138 = .sdata2:0x801D6138; // type:object size:0x4 data:float -lbl_801D613C = .sdata2:0x801D613C; // type:object size:0x4 data:float -lbl_801D6140 = .sdata2:0x801D6140; // type:object size:0x4 data:float -lbl_801D6144 = .sdata2:0x801D6144; // type:object size:0x4 data:float -lbl_801D6148 = .sdata2:0x801D6148; // type:object size:0x4 data:float -lbl_801D614C = .sdata2:0x801D614C; // type:object size:0x4 data:float -lbl_801D6150 = .sdata2:0x801D6150; // type:object size:0x4 data:float -lbl_801D6154 = .sdata2:0x801D6154; // type:object size:0x4 data:float -lbl_801D6158 = .sdata2:0x801D6158; // type:object size:0x4 data:float -lbl_801D6160 = .sdata2:0x801D6160; // type:object size:0x8 data:double -lbl_801D6168 = .sdata2:0x801D6168; // type:object size:0x4 data:float -lbl_801D616C = .sdata2:0x801D616C; // type:object size:0x4 data:float -lbl_801D6170 = .sdata2:0x801D6170; // type:object size:0x8 data:double -lbl_801D6178 = .sdata2:0x801D6178; // type:object size:0x4 data:float -lbl_801D6180 = .sdata2:0x801D6180; // type:object size:0x8 data:double -lbl_801D6188 = .sdata2:0x801D6188; // type:object size:0x4 data:float -lbl_801D6190 = .sdata2:0x801D6190; // type:object size:0x8 data:double -lbl_801D6198 = .sdata2:0x801D6198; // type:object size:0x4 data:float -lbl_801D619C = .sdata2:0x801D619C; // type:object size:0x4 data:float -lbl_801D61A0 = .sdata2:0x801D61A0; // type:object size:0x4 data:float -lbl_801D61A8 = .sdata2:0x801D61A8; // type:object size:0x8 data:double -lbl_801D61B0 = .sdata2:0x801D61B0; // type:object size:0x4 data:float -lbl_801D61B4 = .sdata2:0x801D61B4; // type:object size:0x4 data:float -lbl_801D61B8 = .sdata2:0x801D61B8; // type:object size:0x8 data:double -lbl_801D61C0 = .sdata2:0x801D61C0; // type:object size:0x4 data:float -lbl_801D61C4 = .sdata2:0x801D61C4; // type:object size:0x4 data:float -lbl_801D61C8 = .sdata2:0x801D61C8; // type:object size:0x4 data:float -lbl_801D61CC = .sdata2:0x801D61CC; // type:object size:0x4 data:float -lbl_801D61D0 = .sdata2:0x801D61D0; // type:object size:0x4 data:float -lbl_801D61D8 = .sdata2:0x801D61D8; // type:object size:0x8 data:double -lbl_801D61E0 = .sdata2:0x801D61E0; // type:object size:0x4 data:4byte -lbl_801D61E8 = .sdata2:0x801D61E8; // type:object size:0x8 data:double -lbl_801D61F0 = .sdata2:0x801D61F0; // type:object size:0x8 data:double -lbl_801D61F8 = .sdata2:0x801D61F8; // type:object size:0x8 data:double -lbl_801D6200 = .sdata2:0x801D6200; // type:object size:0x8 data:double -lbl_801D6208 = .sdata2:0x801D6208; // type:object size:0x8 data:double -lbl_801D6210 = .sdata2:0x801D6210; // type:object size:0x8 data:double -lbl_801D6218 = .sdata2:0x801D6218; // type:object size:0x8 data:double -lbl_801D6220 = .sdata2:0x801D6220; // type:object size:0x8 data:double -lbl_801D6228 = .sdata2:0x801D6228; // type:object size:0x8 data:double -lbl_801D6230 = .sdata2:0x801D6230; // type:object size:0x8 data:double -lbl_801D6238 = .sdata2:0x801D6238; // type:object size:0x8 data:double -lbl_801D6240 = .sdata2:0x801D6240; // type:object size:0x8 data:double -lbl_801D6248 = .sdata2:0x801D6248; // type:object size:0x8 data:double -lbl_801D6250 = .sdata2:0x801D6250; // type:object size:0x8 data:double -lbl_801D6258 = .sdata2:0x801D6258; // type:object size:0x8 data:double -lbl_801D6260 = .sdata2:0x801D6260; // type:object size:0x8 data:double -lbl_801D6268 = .sdata2:0x801D6268; // type:object size:0x8 data:double -lbl_801D6270 = .sdata2:0x801D6270; // type:object size:0x8 data:double -lbl_801D6278 = .sdata2:0x801D6278; // type:object size:0x8 data:double -lbl_801D6280 = .sdata2:0x801D6280; // type:object size:0x8 data:double -lbl_801D6288 = .sdata2:0x801D6288; // type:object size:0x8 data:double -lbl_801D6290 = .sdata2:0x801D6290; // type:object size:0x8 data:double -lbl_801D6298 = .sdata2:0x801D6298; // type:object size:0x8 data:double -lbl_801D62A0 = .sdata2:0x801D62A0; // type:object size:0x8 data:double -lbl_801D62A8 = .sdata2:0x801D62A8; // type:object size:0x8 data:double -lbl_801D62B0 = .sdata2:0x801D62B0; // type:object size:0x8 data:double -lbl_801D62B8 = .sdata2:0x801D62B8; // type:object size:0x8 data:double -lbl_801D62C0 = .sdata2:0x801D62C0; // type:object size:0x8 data:double -lbl_801D62C8 = .sdata2:0x801D62C8; // type:object size:0x8 data:double -lbl_801D62D0 = .sdata2:0x801D62D0; // type:object size:0x8 data:double -lbl_801D62D8 = .sdata2:0x801D62D8; // type:object size:0x8 data:double -lbl_801D62E0 = .sdata2:0x801D62E0; // type:object size:0x8 data:double -lbl_801D62E8 = .sdata2:0x801D62E8; // type:object size:0x8 data:double -lbl_801D62F0 = .sdata2:0x801D62F0; // type:object size:0x8 data:double -lbl_801D62F8 = .sdata2:0x801D62F8; // type:object size:0x8 data:double -lbl_801D6300 = .sdata2:0x801D6300; // type:object size:0x8 data:double -lbl_801D6308 = .sdata2:0x801D6308; // type:object size:0x8 data:double -lbl_801D6310 = .sdata2:0x801D6310; // type:object size:0x8 data:double -lbl_801D6318 = .sdata2:0x801D6318; // type:object size:0x8 data:double -lbl_801D6320 = .sdata2:0x801D6320; // type:object size:0x8 data:double -lbl_801D6328 = .sdata2:0x801D6328; // type:object size:0x8 data:double -lbl_801D6330 = .sdata2:0x801D6330; // type:object size:0x8 data:double -lbl_801D6338 = .sdata2:0x801D6338; // type:object size:0x8 data:double -lbl_801D6340 = .sdata2:0x801D6340; // type:object size:0x8 data:double -lbl_801D6348 = .sdata2:0x801D6348; // type:object size:0x8 data:double -lbl_801D6350 = .sdata2:0x801D6350; // type:object size:0x8 data:double -lbl_801D6358 = .sdata2:0x801D6358; // type:object size:0x8 data:double -lbl_801D6360 = .sdata2:0x801D6360; // type:object size:0x8 data:double -lbl_801D6368 = .sdata2:0x801D6368; // type:object size:0x8 data:double -lbl_801D6370 = .sdata2:0x801D6370; // type:object size:0x8 data:double -lbl_801D6378 = .sdata2:0x801D6378; // type:object size:0x8 data:double -lbl_801D6380 = .sdata2:0x801D6380; // type:object size:0x8 data:double -lbl_801D6388 = .sdata2:0x801D6388; // type:object size:0x8 data:double -lbl_801D6390 = .sdata2:0x801D6390; // type:object size:0x8 data:double -lbl_801D6398 = .sdata2:0x801D6398; // type:object size:0x8 data:double -lbl_801D63A0 = .sdata2:0x801D63A0; // type:object size:0x8 data:double -lbl_801D63A8 = .sdata2:0x801D63A8; // type:object size:0x8 data:double -lbl_801D63B0 = .sdata2:0x801D63B0; // type:object size:0x8 data:double -lbl_801D63B8 = .sdata2:0x801D63B8; // type:object size:0x8 data:double -lbl_801D63C0 = .sdata2:0x801D63C0; // type:object size:0x8 data:double -lbl_801D63C8 = .sdata2:0x801D63C8; // type:object size:0x8 data:double -lbl_801D63D0 = .sdata2:0x801D63D0; // type:object size:0x8 data:double -lbl_801D63D8 = .sdata2:0x801D63D8; // type:object size:0x8 data:double -lbl_801D63E0 = .sdata2:0x801D63E0; // type:object size:0x8 data:double -lbl_801D63E8 = .sdata2:0x801D63E8; // type:object size:0x8 data:double -lbl_801D63F0 = .sdata2:0x801D63F0; // type:object size:0x8 data:double -lbl_801D63F8 = .sdata2:0x801D63F8; // type:object size:0x8 data:double -lbl_801D6400 = .sdata2:0x801D6400; // type:object size:0x8 data:double -lbl_801D6408 = .sdata2:0x801D6408; // type:object size:0x8 data:double -lbl_801D6410 = .sdata2:0x801D6410; // type:object size:0x8 data:double -lbl_801D6418 = .sdata2:0x801D6418; // type:object size:0x8 data:double -lbl_801D6420 = .sdata2:0x801D6420; // type:object size:0x8 data:double -lbl_801D6428 = .sdata2:0x801D6428; // type:object size:0x8 data:double -lbl_801D6430 = .sdata2:0x801D6430; // type:object size:0x8 data:double -lbl_801D6438 = .sdata2:0x801D6438; // type:object size:0x8 data:double -lbl_801D6440 = .sdata2:0x801D6440; // type:object size:0x8 data:double -lbl_801D6448 = .sdata2:0x801D6448; // type:object size:0x8 data:double -lbl_801D6450 = .sdata2:0x801D6450; // type:object size:0x8 data:double -lbl_801D6458 = .sdata2:0x801D6458; // type:object size:0x8 data:double -lbl_801D6460 = .sdata2:0x801D6460; // type:object size:0x8 data:double -lbl_801D6468 = .sdata2:0x801D6468; // type:object size:0x8 data:double -lbl_801D6470 = .sdata2:0x801D6470; // type:object size:0x8 data:double -lbl_801D6478 = .sdata2:0x801D6478; // type:object size:0x8 data:double -lbl_801D6480 = .sdata2:0x801D6480; // type:object size:0x8 data:double -lbl_801D6488 = .sdata2:0x801D6488; // type:object size:0x8 data:double -lbl_801D6490 = .sdata2:0x801D6490; // type:object size:0x8 data:double -lbl_801D6498 = .sdata2:0x801D6498; // type:object size:0x8 data:double -lbl_801D64A0 = .sdata2:0x801D64A0; // type:object size:0x8 data:double -lbl_801D64A8 = .sdata2:0x801D64A8; // type:object size:0x8 data:double -lbl_801D64B0 = .sdata2:0x801D64B0; // type:object size:0x8 data:double -lbl_801D64B8 = .sdata2:0x801D64B8; // type:object size:0x8 data:double -lbl_801D64C0 = .sdata2:0x801D64C0; // type:object size:0x8 data:double -lbl_801D64C8 = .sdata2:0x801D64C8; // type:object size:0x8 data:double -lbl_801D64D0 = .sdata2:0x801D64D0; // type:object size:0x8 data:double -lbl_801D64D8 = .sdata2:0x801D64D8; // type:object size:0x8 data:double -lbl_801D64E0 = .sdata2:0x801D64E0; // type:object size:0x8 data:double -lbl_801D64E8 = .sdata2:0x801D64E8; // type:object size:0x8 data:double -lbl_801D64F0 = .sdata2:0x801D64F0; // type:object size:0x8 data:double -lbl_801D64F8 = .sdata2:0x801D64F8; // type:object size:0x8 data:double -lbl_801D6500 = .sdata2:0x801D6500; // type:object size:0x8 data:double -lbl_801D6508 = .sdata2:0x801D6508; // type:object size:0x8 data:double -lbl_801D6510 = .sdata2:0x801D6510; // type:object size:0x8 data:double -lbl_801D6518 = .sdata2:0x801D6518; // type:object size:0x8 data:double -lbl_801D6520 = .sdata2:0x801D6520; // type:object size:0x8 data:double -lbl_801D6528 = .sdata2:0x801D6528; // type:object size:0x8 data:double -lbl_801D6530 = .sdata2:0x801D6530; // type:object size:0x8 data:double -lbl_801D6538 = .sdata2:0x801D6538; // type:object size:0x8 data:double -lbl_801D6540 = .sdata2:0x801D6540; // type:object size:0x8 data:double -lbl_801D6548 = .sdata2:0x801D6548; // type:object size:0x8 data:double -lbl_801D6550 = .sdata2:0x801D6550; // type:object size:0x8 data:double -lbl_801D6558 = .sdata2:0x801D6558; // type:object size:0x8 data:double -lbl_801D6560 = .sdata2:0x801D6560; // type:object size:0x8 data:double -lbl_801D6568 = .sdata2:0x801D6568; // type:object size:0x8 data:double -lbl_801D6570 = .sdata2:0x801D6570; // type:object size:0x8 data:double -lbl_801D6578 = .sdata2:0x801D6578; // type:object size:0x8 data:double -lbl_801D6580 = .sdata2:0x801D6580; // type:object size:0x8 data:double -lbl_801D6588 = .sdata2:0x801D6588; // type:object size:0x8 data:double -lbl_801D6590 = .sdata2:0x801D6590; // type:object size:0x8 data:double -lbl_801D6598 = .sdata2:0x801D6598; // type:object size:0x8 data:double -lbl_801D65A0 = .sdata2:0x801D65A0; // type:object size:0x8 data:double -lbl_801D65A8 = .sdata2:0x801D65A8; // type:object size:0x8 data:double -lbl_801D65B0 = .sdata2:0x801D65B0; // type:object size:0x8 data:double -lbl_801D65B8 = .sdata2:0x801D65B8; // type:object size:0x8 data:double -lbl_801D65C0 = .sdata2:0x801D65C0; // type:object size:0x8 data:double -lbl_801D65C8 = .sdata2:0x801D65C8; // type:object size:0x8 data:double -lbl_801D65D0 = .sdata2:0x801D65D0; // type:object size:0x8 data:double -lbl_801D65D8 = .sdata2:0x801D65D8; // type:object size:0x8 data:double -lbl_801D65E0 = .sdata2:0x801D65E0; // type:object size:0x8 data:double -lbl_801D65E8 = .sdata2:0x801D65E8; // type:object size:0x8 data:double -lbl_801D65F0 = .sdata2:0x801D65F0; // type:object size:0x8 data:double -lbl_801D65F8 = .sdata2:0x801D65F8; // type:object size:0x8 data:double -lbl_801D6600 = .sdata2:0x801D6600; // type:object size:0x8 data:double -lbl_801D6608 = .sdata2:0x801D6608; // type:object size:0x8 data:double -lbl_801D6610 = .sdata2:0x801D6610; // type:object size:0x8 data:double -lbl_801D6618 = .sdata2:0x801D6618; // type:object size:0x8 data:double -lbl_801D6620 = .sdata2:0x801D6620; // type:object size:0x8 data:double -lbl_801D6628 = .sdata2:0x801D6628; // type:object size:0x8 data:double -lbl_801D6630 = .sdata2:0x801D6630; // type:object size:0x8 data:double -lbl_801D6638 = .sdata2:0x801D6638; // type:object size:0x8 data:double -lbl_801D6640 = .sdata2:0x801D6640; // type:object size:0x8 data:double -lbl_801D6648 = .sdata2:0x801D6648; // type:object size:0x8 data:double -lbl_801D6650 = .sdata2:0x801D6650; // type:object size:0x4 data:float -lbl_801D6654 = .sdata2:0x801D6654; // type:object size:0x4 data:float -lbl_801D6658 = .sdata2:0x801D6658; // type:object size:0x4 data:float -lbl_801D6660 = .sdata2:0x801D6660; // type:object size:0x8 data:double -lbl_801D6668 = .sdata2:0x801D6668; // type:object size:0x8 data:double -lbl_801D6670 = .sdata2:0x801D6670; // type:object size:0x4 data:float -lbl_801D6674 = .sdata2:0x801D6674; // type:object size:0x4 data:float -lbl_801D6678 = .sdata2:0x801D6678; // type:object size:0x4 data:float -lbl_801D667C = .sdata2:0x801D667C; // type:object size:0x4 data:float -lbl_801D6680 = .sdata2:0x801D6680; // type:object size:0x4 data:float -lbl_801D6684 = .sdata2:0x801D6684; // type:object size:0x4 data:float -lbl_801D6688 = .sdata2:0x801D6688; // type:object size:0x4 data:float -lbl_801D668C = .sdata2:0x801D668C; // type:object size:0x4 data:float -lbl_801D6690 = .sdata2:0x801D6690; // type:object size:0x4 data:float -lbl_801D6698 = .sdata2:0x801D6698; // type:object size:0x8 data:double -lbl_801D66A0 = .sdata2:0x801D66A0; // type:object size:0x8 data:double -lbl_801D66A8 = .sdata2:0x801D66A8; // type:object size:0x4 data:float -lbl_801D66AC = .sdata2:0x801D66AC; // type:object size:0x4 data:float -lbl_801D66B0 = .sdata2:0x801D66B0; // type:object size:0x4 data:float -lbl_801D66B8 = .sdata2:0x801D66B8; // type:object size:0x8 data:double -lbl_801D66C0 = .sdata2:0x801D66C0; // type:object size:0x8 data:float -lbl_801D66C8 = .sdata2:0x801D66C8; // type:object size:0x4 data:float -lbl_801D66CC = .sdata2:0x801D66CC; // type:object size:0x4 data:float -lbl_801D66D0 = .sdata2:0x801D66D0; // type:object size:0x4 data:float -lbl_801D66D8 = .sdata2:0x801D66D8; // type:object size:0x8 data:double -lbl_801D66E0 = .sdata2:0x801D66E0; // type:object size:0x8 data:double -lbl_801D66E8 = .sdata2:0x801D66E8; // type:object size:0x4 data:float -lbl_801D66EC = .sdata2:0x801D66EC; // type:object size:0x4 data:float -lbl_801D66F0 = .sdata2:0x801D66F0; // type:object size:0x4 data:float -lbl_801D66F8 = .sdata2:0x801D66F8; // type:object size:0x8 data:double -lbl_801D6700 = .sdata2:0x801D6700; // type:object size:0x4 data:float -lbl_801D6708 = .sdata2:0x801D6708; // type:object size:0x8 data:double -lbl_801D6710 = .sdata2:0x801D6710; // type:object size:0x4 data:float -lbl_801D6714 = .sdata2:0x801D6714; // type:object size:0x4 data:float -lbl_801D6718 = .sdata2:0x801D6718; // type:object size:0x8 data:double -lbl_801D6720 = .sdata2:0x801D6720; // type:object size:0x4 data:float -lbl_801D6728 = .sdata2:0x801D6728; // type:object size:0x8 data:double -lbl_801D6730 = .sdata2:0x801D6730; // type:object size:0x4 data:float -lbl_801D6734 = .sdata2:0x801D6734; // type:object size:0x4 data:float -lbl_801D6738 = .sdata2:0x801D6738; // type:object size:0x4 data:float -lbl_801D6740 = .sdata2:0x801D6740; // type:object size:0x8 data:double -lbl_801D6748 = .sdata2:0x801D6748; // type:object size:0x4 data:float -lbl_801D6750 = .sdata2:0x801D6750; // type:object size:0x8 data:double -lbl_801D6758 = .sdata2:0x801D6758; // type:object size:0x4 data:float -lbl_801D675C = .sdata2:0x801D675C; // type:object size:0x4 data:float -lbl_801D6760 = .sdata2:0x801D6760; // type:object size:0x8 data:float -lbl_801D6768 = .sdata2:0x801D6768; // type:object size:0x4 data:float -lbl_801D6770 = .sdata2:0x801D6770; // type:object size:0x8 data:double -lbl_801D6778 = .sdata2:0x801D6778; // type:object size:0x4 data:float -lbl_801D677C = .sdata2:0x801D677C; // type:object size:0x4 data:float -lbl_801D6780 = .sdata2:0x801D6780; // type:object size:0x8 data:double -lbl_801D6788 = .sdata2:0x801D6788; // type:object size:0x4 data:float -lbl_801D678C = .sdata2:0x801D678C; // type:object size:0x4 data:float -lbl_801D6790 = .sdata2:0x801D6790; // type:object size:0x8 data:double -lbl_801D6798 = .sdata2:0x801D6798; // type:object size:0x4 data:float -lbl_801D679C = .sdata2:0x801D679C; // type:object size:0x4 data:float -lbl_801D67A0 = .sdata2:0x801D67A0; // type:object size:0x4 data:float -lbl_801D67A4 = .sdata2:0x801D67A4; // type:object size:0x4 data:float -lbl_801D67A8 = .sdata2:0x801D67A8; // type:object size:0x4 data:float -lbl_801D67AC = .sdata2:0x801D67AC; // type:object size:0x4 data:float -lbl_801D67B0 = .sdata2:0x801D67B0; // type:object size:0x8 data:float -lbl_801D67B8 = .sdata2:0x801D67B8; // type:object size:0x4 data:float -lbl_801D67C0 = .sdata2:0x801D67C0; // type:object size:0x8 data:double -lbl_801D67C8 = .sdata2:0x801D67C8; // type:object size:0x8 data:double -lbl_801D67D0 = .sdata2:0x801D67D0; // type:object size:0x8 data:float -lbl_801D67D8 = .sdata2:0x801D67D8; // type:object size:0x4 data:float -lbl_801D67DC = .sdata2:0x801D67DC; // type:object size:0x4 data:float -lbl_801D67E0 = .sdata2:0x801D67E0; // type:object size:0x4 data:float -lbl_801D67E8 = .sdata2:0x801D67E8; // type:object size:0x8 data:double -lbl_801D67F0 = .sdata2:0x801D67F0; // type:object size:0x4 data:float -lbl_801D67F4 = .sdata2:0x801D67F4; // type:object size:0x4 data:float -lbl_801D67F8 = .sdata2:0x801D67F8; // type:object size:0x4 data:float -lbl_801D67FC = .sdata2:0x801D67FC; // type:object size:0x4 data:float -lbl_801D6800 = .sdata2:0x801D6800; // type:object size:0x4 data:float -lbl_801D6804 = .sdata2:0x801D6804; // type:object size:0x4 data:float -lbl_801D6808 = .sdata2:0x801D6808; // type:object size:0x8 data:double -lbl_801D6810 = .sdata2:0x801D6810; // type:object size:0x4 data:float -lbl_801D6814 = .sdata2:0x801D6814; // type:object size:0x4 data:float -lbl_801D6818 = .sdata2:0x801D6818; // type:object size:0x8 data:double -lbl_801D6820 = .sdata2:0x801D6820; // type:object size:0x4 data:float -lbl_801D6824 = .sdata2:0x801D6824; // type:object size:0x4 data:float -lbl_801D6828 = .sdata2:0x801D6828; // type:object size:0x8 data:double -lbl_801D6830 = .sdata2:0x801D6830; // type:object size:0x4 data:float -lbl_801D6834 = .sdata2:0x801D6834; // type:object size:0x4 data:float -lbl_801D6838 = .sdata2:0x801D6838; // type:object size:0x4 data:float -lbl_801D683C = .sdata2:0x801D683C; // type:object size:0x4 data:float -lbl_801D6840 = .sdata2:0x801D6840; // type:object size:0x4 data:float -lbl_801D6844 = .sdata2:0x801D6844; // type:object size:0x4 data:float -lbl_801D6848 = .sdata2:0x801D6848; // type:object size:0x8 data:double -lbl_801D6850 = .sdata2:0x801D6850; // type:object size:0x4 data:float -lbl_801D6854 = .sdata2:0x801D6854; // type:object size:0x4 data:float -lbl_801D6858 = .sdata2:0x801D6858; // type:object size:0x8 data:double -lbl_801D6860 = .sdata2:0x801D6860; // type:object size:0x8 data:double -lbl_801D6868 = .sdata2:0x801D6868; // type:object size:0x4 data:float -lbl_801D686C = .sdata2:0x801D686C; // type:object size:0x4 data:float -lbl_801D6870 = .sdata2:0x801D6870; // type:object size:0x4 data:float -lbl_801D6878 = .sdata2:0x801D6878; // type:object size:0x8 data:double -lbl_801D6880 = .sdata2:0x801D6880; // type:object size:0x4 data:4byte -lbl_801D6884 = .sdata2:0x801D6884; // type:object size:0x4 data:4byte -lbl_801D6888 = .sdata2:0x801D6888; // type:object size:0x4 data:float -lbl_801D688C = .sdata2:0x801D688C; // type:object size:0x4 data:float -lbl_801D6890 = .sdata2:0x801D6890; // type:object size:0x4 data:float -lbl_801D6894 = .sdata2:0x801D6894; // type:object size:0x4 data:float -lbl_801D6898 = .sdata2:0x801D6898; // type:object size:0x8 data:double -lbl_801D68A0 = .sbss2:0x801D68A0; // type:object size:0x4 scope:local data:byte -lbl_801D68A4 = .sbss2:0x801D68A4; // type:object size:0x4 scope:local data:byte diff --git a/config/GMPP01_00/build.sha1 b/config/GMPP01_00/build.sha1 deleted file mode 100644 index 3cccde01..00000000 --- a/config/GMPP01_00/build.sha1 +++ /dev/null @@ -1,100 +0,0 @@ -65ef91650e9201047f50a3c39c7693a21fff2b29 build/GMPP01_00/main.dol -7101a759bcd45edee5bbc00a36d347c1f787c2a1 build/GMPP01_00/_minigameDll/_minigameDll.rel -b60fe8dd6faa20663224d64651b80c25b9b202ef build/GMPP01_00/bootDll/bootDll.rel -eef3ac50923ab2f20d588ef10ae15f3bc739f2b8 build/GMPP01_00/instDll/instDll.rel -f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 build/GMPP01_00/m302Dll/m302Dll.rel -f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 build/GMPP01_00/m303Dll/m303Dll.rel -f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 build/GMPP01_00/m330Dll/m330Dll.rel -f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 build/GMPP01_00/m333Dll/m333Dll.rel -cd3532af828e8217924296c4cadbd31ddd915a05 build/GMPP01_00/m402Dll/m402Dll.rel -b2e3cdd9167c579e02c6ecc5643b6aadcc5b6a99 build/GMPP01_00/m403Dll/m403Dll.rel -56c825a1e0bbe33e3a0e1e70396c21af9b575243 build/GMPP01_00/m404Dll/m404Dll.rel -cc76ded0a41aea632fd9b3c5e37fe6d847107d91 build/GMPP01_00/m405Dll/m405Dll.rel -5c2aee9c8f10dc763c9ff763874f3a4b58880f02 build/GMPP01_00/m406Dll/m406Dll.rel -7133701b7c28a66f9d24ab64081e472d458dad51 build/GMPP01_00/m407dll/m407dll.rel -6f2552516b8e151ccbed99ee6730ca2cb2e0fd49 build/GMPP01_00/m408Dll/m408Dll.rel -71a91946651b40cc217b08d293f23fbf01c7407a build/GMPP01_00/m409Dll/m409Dll.rel -e938c2f354224a6a5a7b015f9abae596298788ee build/GMPP01_00/m410Dll/m410Dll.rel -e29bae44753c7ce8e5213881b10d6b27c02c4f7a build/GMPP01_00/m411Dll/m411Dll.rel -23da1cff677f992bb76dcbf4a9f9061542b4be7f build/GMPP01_00/m412Dll/m412Dll.rel -6ed381e5b4d75eeab2c3ded39473a482f61ee32d build/GMPP01_00/m413Dll/m413Dll.rel -902f32cc75ac0030c7c531dbeefda055bc8d7f27 build/GMPP01_00/m414Dll/m414Dll.rel -7063ae505540bafebf802128d8d2f394b7f6f921 build/GMPP01_00/m415Dll/m415Dll.rel -2979d5f934b9099116fbd943a91d6a3bb56e6ec0 build/GMPP01_00/m416Dll/m416Dll.rel -b20482a2af7c839456fe7580dcbd92ca9984ec71 build/GMPP01_00/m417Dll/m417Dll.rel -762f56820668c74cdcde436a08419bdb59a35a89 build/GMPP01_00/m418Dll/m418Dll.rel -5fba3dfcfca6ef78eb46833f665019bca641063e build/GMPP01_00/m419Dll/m419Dll.rel -bb514277a33821093fd2acfae2cb86531b317d17 build/GMPP01_00/m420dll/m420dll.rel -216ba8bbc8905f33370ae651d478f6bd56c17b27 build/GMPP01_00/m421Dll/m421Dll.rel -6c152ddb5f518c9c6444030dfc30ab53ef931b40 build/GMPP01_00/m422Dll/m422Dll.rel -db80fcb993ce09d808de29d2488f2b1ab2afc8cd build/GMPP01_00/m423Dll/m423Dll.rel -827da0897edcc2706a3623722430d4e70512c653 build/GMPP01_00/m424Dll/m424Dll.rel -26eb36bfc9106af2462a0d7e013f5321dbaecdd1 build/GMPP01_00/m425Dll/m425Dll.rel -04b649fb6eb248e506cf15fdcfbed3e915a80682 build/GMPP01_00/m426Dll/m426Dll.rel -810a1c91f794897862ac9b6a4e076a70c6b0238a build/GMPP01_00/m427Dll/m427Dll.rel -888af662a228e349ea6a0c60e19de74f8fa47914 build/GMPP01_00/m428Dll/m428Dll.rel -88b2330f175d1346a71f67491dcf9eff62d2d2d1 build/GMPP01_00/m429Dll/m429Dll.rel -e611007dd71ab515de65e9a6879f0508193fd58a build/GMPP01_00/m430Dll/m430Dll.rel -6a2b097a6d57c36bff5aaeb8c9ea2f01df7407ad build/GMPP01_00/m431Dll/m431Dll.rel -17b6a0c65c7cb759fc460fe7b8eed3dd7dc7184d build/GMPP01_00/m432Dll/m432Dll.rel -ce90f494ced6f2611603c247bdc733a458b5a523 build/GMPP01_00/m433Dll/m433Dll.rel -100fe402942821dc8e5753f3cada5e2bf5ab6214 build/GMPP01_00/m434Dll/m434Dll.rel -4936db381fa068395cff28c0d635c5ec7cc7218f build/GMPP01_00/m435Dll/m435Dll.rel -ba1c3bdc5f250996a5c873791347ce4c20b38692 build/GMPP01_00/m436Dll/m436Dll.rel -7273786a2995182baf9a85148c5974097999fe8e build/GMPP01_00/m437Dll/m437Dll.rel -d7c4bdf1729695a7348f8a36de2911db7aa24abb build/GMPP01_00/m438Dll/m438Dll.rel -4d5a719b49edb55e0b0b52c0d81b31c14d197d20 build/GMPP01_00/m439Dll/m439Dll.rel -469b18886221ae8a5b90f3e85b01ce6a01befb0b build/GMPP01_00/m440Dll/m440Dll.rel -7d6e99b67d2dde25d3fc75ac314c2a69be34137e build/GMPP01_00/m441Dll/m441Dll.rel -63af3c4f33fd362f17aa1be9f764d0549f92598d build/GMPP01_00/m442Dll/m442Dll.rel -5118a0bab1877455eae9002c3cc561d3360fd792 build/GMPP01_00/m443Dll/m443Dll.rel -4939f755142efe362f67898358fff1cdeffe508e build/GMPP01_00/m444dll/m444dll.rel -02f7c52aa6fd4b21a5700615aeaee9ef59e6b9f3 build/GMPP01_00/m445Dll/m445Dll.rel -2ab71adae47a3d9632dcf45cf18ca0b1fc33d157 build/GMPP01_00/m446dll/m446dll.rel -0640357fe4d0148dac4bc382c8231410e24fe951 build/GMPP01_00/m447dll/m447dll.rel -78bcdd8d1fdb810784fca4d5bbec92c63e2e6b54 build/GMPP01_00/m448Dll/m448Dll.rel -fcf6e4b0089e19ffddf01a119c8c515a4acc943a build/GMPP01_00/m449Dll/m449Dll.rel -ebcf95781e8078813ed041dd0a869ae2e413679b build/GMPP01_00/m450Dll/m450Dll.rel -aa16b743f7b64f22abfd8bb93646883cc73bd7e0 build/GMPP01_00/m451Dll/m451Dll.rel -f6fd7a6537e56c535d02ac4a48c9008605f93ea1 build/GMPP01_00/m453Dll/m453Dll.rel -cc3431f55b523d474a952f3a0e927fac6b5402ab build/GMPP01_00/m455Dll/m455Dll.rel -09797251306bbd0f6fd712d6f832128ca8c58690 build/GMPP01_00/m456Dll/m456Dll.rel -8a992a09077fd5e1f6ca3e717547792938a519c1 build/GMPP01_00/m457Dll/m457Dll.rel -5dea2127d51d621b30d78b22cfa32327797e6e0b build/GMPP01_00/m458Dll/m458Dll.rel -e96dafe5949909cb7cc839174aa38e8e6661a63b build/GMPP01_00/m459dll/m459dll.rel -ea1e0bda22675840d39c74117e2a11ffe45f8dd4 build/GMPP01_00/m460Dll/m460Dll.rel -8d515f3b92a786df53bb88291b5cfc4bc59a3c8d build/GMPP01_00/m461Dll/m461Dll.rel -f02ba47e4459d9b0de174c5619a4efe61942962d build/GMPP01_00/m462Dll/m462Dll.rel -352ad6d84ded6cf28b9ff2f9e5da8812ac9164db build/GMPP01_00/m463Dll/m463Dll.rel -4705ada9d259a81ab2815fee3516f6217d848dd9 build/GMPP01_00/mentDll/mentDll.rel -b966ce340e98dbda624ff80f96c78d51ff1ed687 build/GMPP01_00/messDll/messDll.rel -7a3fed787df2d1bc942efd56a160eaf59605b94f build/GMPP01_00/mgmodedll/mgmodedll.rel -1e5bf1777b1470fcead2174c25b291b8f0513284 build/GMPP01_00/modeltestDll/modeltestDll.rel -d958038528a774801a4f5a0aee9e7aaae4bd94ce build/GMPP01_00/modeseldll/modeseldll.rel -a3e1e06937703f98191f4080e092bf06c4f449b3 build/GMPP01_00/mpexDll/mpexDll.rel -86ff8288bb92472376d02cade1d3c9603b613c57 build/GMPP01_00/msetupDll/msetupDll.rel -ea9878a7af1787c0789d29bf812e1d9972c2ff20 build/GMPP01_00/mstory2Dll/mstory2Dll.rel -58decb3dba8e167bd2c238a55339888469a07381 build/GMPP01_00/mstory3Dll/mstory3Dll.rel -a8eee3981f4965412490cb9eef76aaa798957db1 build/GMPP01_00/mstory4Dll/mstory4Dll.rel -0fd54549734531303fb5471690cee96709833114 build/GMPP01_00/mstoryDll/mstoryDll.rel -45619d95e61d9296f25d94d7c6756f397fb89bee build/GMPP01_00/nisDll/nisDll.rel -1304967e3aa58a46492d4c736a7c86cf8a3b2e11 build/GMPP01_00/option/option.rel -7845814c6be2546930cfd8e0b9dec263fc1a959f build/GMPP01_00/present/present.rel -d9bd10433d1e2a6c0c4d9f942b766d743f99deec build/GMPP01_00/resultDll/resultDll.rel -c13262cf14f00e1d70bd65d20bbf988479816ca7 build/GMPP01_00/safDll/safDll.rel -51f53e1398c86c5a22251a457e3af86339b4b11f build/GMPP01_00/selmenuDll/selmenuDll.rel -af869e37d004f687fab2ff6897d75d6c15e31a00 build/GMPP01_00/staffDll/staffDll.rel -21de7aff7d39f8e130b4ef7602b8de85e51cf3e5 build/GMPP01_00/subchrselDll/subchrselDll.rel -70ee81af67a4f55de2fef65823583d22312f09be build/GMPP01_00/w01Dll/w01Dll.rel -33b5663ece821df4dbc50870e00de0e22e099efd build/GMPP01_00/w02Dll/w02Dll.rel -97aa16f847cdf2d6fd014f06df14c55f5f02024d build/GMPP01_00/w03Dll/w03Dll.rel -135cf03d803b9d8d39721b2a96769909aa719ee6 build/GMPP01_00/w04Dll/w04Dll.rel -e6d07092b69cc3b0514d9c12e3f5949edeb25f5f build/GMPP01_00/w05Dll/w05Dll.rel -0d5445461f58fac4c043c75bed7237b7f4045188 build/GMPP01_00/w06Dll/w06Dll.rel -5678fedd4a0490aeb9703328e959fdedea7da117 build/GMPP01_00/w10Dll/w10Dll.rel -58ae9e311cc8bd0291921480f423e2ad4774e1a2 build/GMPP01_00/w20Dll/w20Dll.rel -8ea052be8c7585a1ab152682a0698b631c5b566f build/GMPP01_00/w21Dll/w21Dll.rel -8987f11fafd11f69161ca275967afe9c8b4e7b20 build/GMPP01_00/ztardll/ztardll.rel -d59c60b0149a85782fa98d1a4da6cc768a09b473 build/GMPP01_00/E3setupDLL/E3setupDLL.rel -eba8a17e8b263bc9cd601b1aea7e698a8785416a build/GMPP01_00/m300Dll/m300Dll.rel -c457a4a45ebae776331484ba94f5798041a77a57 build/GMPP01_00/m401Dll/m401Dll.rel diff --git a/config/GMPP01_00/config.yml b/config/GMPP01_00/config.yml deleted file mode 100644 index 997b2d75..00000000 --- a/config/GMPP01_00/config.yml +++ /dev/null @@ -1,660 +0,0 @@ -object_base: orig/GMPP01_00 -object: sys/main.dol -hash: 65ef91650e9201047f50a3c39c7693a21fff2b29 -symbols: config/GMPP01_00/symbols.txt -splits: config/GMPP01_00/splits.txt -quick_analysis: true # Faster re-runs after initial analysis -mw_comment_version: 10 # GC 2.6 linker -force_active: [__register_global_object, lbl_801D40D0] -detect_objects: true -detect_strings: true -fill_gaps: true -modules: -- object: files/dll/_minigameDll.rel - hash: 7101a759bcd45edee5bbc00a36d347c1f787c2a1 - symbols: config/GMPP01_00/rels/_minigameDll/symbols.txt - splits: config/GMPP01_00/rels/_minigameDll/splits.txt - links: [] -- object: files/dll/bootDll.rel - hash: b60fe8dd6faa20663224d64651b80c25b9b202ef - symbols: config/GMPP01_00/rels/bootDll/symbols.txt - splits: config/GMPP01_00/rels/bootDll/splits.txt - links: [] - extract: - - symbol: nintendoData - binary: nintendoData.bin - header: nintendoData.inc -- object: files/dll/instDll.rel - hash: eef3ac50923ab2f20d588ef10ae15f3bc739f2b8 - symbols: config/GMPP01_00/rels/instDll/symbols.txt - splits: config/GMPP01_00/rels/instDll/splits.txt - links: [] -- object: files/dll/m302Dll.rel - hash: f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 - symbols: config/GMPP01_00/rels/m302Dll/symbols.txt - splits: config/GMPP01_00/rels/m302Dll/splits.txt - links: [] -- object: files/dll/m303Dll.rel - hash: f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 - symbols: config/GMPP01_00/rels/m303Dll/symbols.txt - splits: config/GMPP01_00/rels/m303Dll/splits.txt - links: [] -- object: files/dll/m330Dll.rel - hash: f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 - symbols: config/GMPP01_00/rels/m330Dll/symbols.txt - splits: config/GMPP01_00/rels/m330Dll/splits.txt - links: [] -- object: files/dll/m333Dll.rel - hash: f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 - symbols: config/GMPP01_00/rels/m333Dll/symbols.txt - splits: config/GMPP01_00/rels/m333Dll/splits.txt - links: [] -- object: files/dll/m402Dll.rel - hash: cd3532af828e8217924296c4cadbd31ddd915a05 - symbols: config/GMPP01_00/rels/m402Dll/symbols.txt - splits: config/GMPP01_00/rels/m402Dll/splits.txt - links: [] -- object: files/dll/m403Dll.rel - hash: b2e3cdd9167c579e02c6ecc5643b6aadcc5b6a99 - symbols: config/GMPP01_00/rels/m403Dll/symbols.txt - splits: config/GMPP01_00/rels/m403Dll/splits.txt - links: [] -- object: files/dll/m404Dll.rel - hash: 56c825a1e0bbe33e3a0e1e70396c21af9b575243 - symbols: config/GMPP01_00/rels/m404Dll/symbols.txt - splits: config/GMPP01_00/rels/m404Dll/splits.txt - links: [] -- object: files/dll/m405Dll.rel - hash: cc76ded0a41aea632fd9b3c5e37fe6d847107d91 - symbols: config/GMPP01_00/rels/m405Dll/symbols.txt - splits: config/GMPP01_00/rels/m405Dll/splits.txt - links: [] -- object: files/dll/m406Dll.rel - hash: 5c2aee9c8f10dc763c9ff763874f3a4b58880f02 - symbols: config/GMPP01_00/rels/m406Dll/symbols.txt - splits: config/GMPP01_00/rels/m406Dll/splits.txt - links: [] -- object: files/dll/m407dll.rel - hash: 7133701b7c28a66f9d24ab64081e472d458dad51 - symbols: config/GMPP01_00/rels/m407dll/symbols.txt - splits: config/GMPP01_00/rels/m407dll/splits.txt - links: [] -- object: files/dll/m408Dll.rel - hash: 6f2552516b8e151ccbed99ee6730ca2cb2e0fd49 - symbols: config/GMPP01_00/rels/m408Dll/symbols.txt - splits: config/GMPP01_00/rels/m408Dll/splits.txt - links: [] -- object: files/dll/m409Dll.rel - hash: 71a91946651b40cc217b08d293f23fbf01c7407a - symbols: config/GMPP01_00/rels/m409Dll/symbols.txt - splits: config/GMPP01_00/rels/m409Dll/splits.txt - links: [] -- object: files/dll/m410Dll.rel - hash: e938c2f354224a6a5a7b015f9abae596298788ee - symbols: config/GMPP01_00/rels/m410Dll/symbols.txt - splits: config/GMPP01_00/rels/m410Dll/splits.txt - links: [] -- object: files/dll/m411Dll.rel - hash: e29bae44753c7ce8e5213881b10d6b27c02c4f7a - symbols: config/GMPP01_00/rels/m411Dll/symbols.txt - splits: config/GMPP01_00/rels/m411Dll/splits.txt - links: [] -- object: files/dll/m412Dll.rel - hash: 23da1cff677f992bb76dcbf4a9f9061542b4be7f - symbols: config/GMPP01_00/rels/m412Dll/symbols.txt - splits: config/GMPP01_00/rels/m412Dll/splits.txt - links: [] -- object: files/dll/m413Dll.rel - hash: 6ed381e5b4d75eeab2c3ded39473a482f61ee32d - symbols: config/GMPP01_00/rels/m413Dll/symbols.txt - splits: config/GMPP01_00/rels/m413Dll/splits.txt - links: [] -- object: files/dll/m414Dll.rel - hash: 902f32cc75ac0030c7c531dbeefda055bc8d7f27 - symbols: config/GMPP01_00/rels/m414Dll/symbols.txt - splits: config/GMPP01_00/rels/m414Dll/splits.txt - links: [] -- object: files/dll/m415Dll.rel - hash: 7063ae505540bafebf802128d8d2f394b7f6f921 - symbols: config/GMPP01_00/rels/m415Dll/symbols.txt - splits: config/GMPP01_00/rels/m415Dll/splits.txt - links: [] -- object: files/dll/m416Dll.rel - hash: 2979d5f934b9099116fbd943a91d6a3bb56e6ec0 - symbols: config/GMPP01_00/rels/m416Dll/symbols.txt - splits: config/GMPP01_00/rels/m416Dll/splits.txt - links: [] -- object: files/dll/m417Dll.rel - hash: b20482a2af7c839456fe7580dcbd92ca9984ec71 - symbols: config/GMPP01_00/rels/m417Dll/symbols.txt - splits: config/GMPP01_00/rels/m417Dll/splits.txt - links: [] -- object: files/dll/m418Dll.rel - hash: 762f56820668c74cdcde436a08419bdb59a35a89 - symbols: config/GMPP01_00/rels/m418Dll/symbols.txt - splits: config/GMPP01_00/rels/m418Dll/splits.txt - links: [] -- object: files/dll/m419Dll.rel - hash: 5fba3dfcfca6ef78eb46833f665019bca641063e - symbols: config/GMPP01_00/rels/m419Dll/symbols.txt - splits: config/GMPP01_00/rels/m419Dll/splits.txt - links: [] -- object: files/dll/m420dll.rel - hash: bb514277a33821093fd2acfae2cb86531b317d17 - symbols: config/GMPP01_00/rels/m420dll/symbols.txt - splits: config/GMPP01_00/rels/m420dll/splits.txt - links: [] -- object: files/dll/m421Dll.rel - hash: 216ba8bbc8905f33370ae651d478f6bd56c17b27 - symbols: config/GMPP01_00/rels/m421Dll/symbols.txt - splits: config/GMPP01_00/rels/m421Dll/splits.txt - links: [] -- object: files/dll/m422Dll.rel - hash: 6c152ddb5f518c9c6444030dfc30ab53ef931b40 - symbols: config/GMPP01_00/rels/m422Dll/symbols.txt - splits: config/GMPP01_00/rels/m422Dll/splits.txt - links: [] -- object: files/dll/m423Dll.rel - hash: db80fcb993ce09d808de29d2488f2b1ab2afc8cd - symbols: config/GMPP01_00/rels/m423Dll/symbols.txt - splits: config/GMPP01_00/rels/m423Dll/splits.txt - links: [] -- object: files/dll/m424Dll.rel - hash: 827da0897edcc2706a3623722430d4e70512c653 - symbols: config/GMPP01_00/rels/m424Dll/symbols.txt - splits: config/GMPP01_00/rels/m424Dll/splits.txt - links: [] -- object: files/dll/m425Dll.rel - hash: 26eb36bfc9106af2462a0d7e013f5321dbaecdd1 - symbols: config/GMPP01_00/rels/m425Dll/symbols.txt - splits: config/GMPP01_00/rels/m425Dll/splits.txt - links: [] -- object: files/dll/m426Dll.rel - hash: 04b649fb6eb248e506cf15fdcfbed3e915a80682 - symbols: config/GMPP01_00/rels/m426Dll/symbols.txt - splits: config/GMPP01_00/rels/m426Dll/splits.txt - links: [] -- object: files/dll/m427Dll.rel - hash: 810a1c91f794897862ac9b6a4e076a70c6b0238a - symbols: config/GMPP01_00/rels/m427Dll/symbols.txt - splits: config/GMPP01_00/rels/m427Dll/splits.txt - links: [] -- object: files/dll/m428Dll.rel - hash: 888af662a228e349ea6a0c60e19de74f8fa47914 - symbols: config/GMPP01_00/rels/m428Dll/symbols.txt - splits: config/GMPP01_00/rels/m428Dll/splits.txt - links: [] -- object: files/dll/m429Dll.rel - hash: 88b2330f175d1346a71f67491dcf9eff62d2d2d1 - symbols: config/GMPP01_00/rels/m429Dll/symbols.txt - splits: config/GMPP01_00/rels/m429Dll/splits.txt - links: [] -- object: files/dll/m430Dll.rel - hash: e611007dd71ab515de65e9a6879f0508193fd58a - symbols: config/GMPP01_00/rels/m430Dll/symbols.txt - splits: config/GMPP01_00/rels/m430Dll/splits.txt - links: [] -- object: files/dll/m431Dll.rel - hash: 6a2b097a6d57c36bff5aaeb8c9ea2f01df7407ad - symbols: config/GMPP01_00/rels/m431Dll/symbols.txt - splits: config/GMPP01_00/rels/m431Dll/splits.txt - links: [] -- object: files/dll/m432Dll.rel - hash: 17b6a0c65c7cb759fc460fe7b8eed3dd7dc7184d - symbols: config/GMPP01_00/rels/m432Dll/symbols.txt - splits: config/GMPP01_00/rels/m432Dll/splits.txt - links: [] -- object: files/dll/m433Dll.rel - hash: ce90f494ced6f2611603c247bdc733a458b5a523 - symbols: config/GMPP01_00/rels/m433Dll/symbols.txt - splits: config/GMPP01_00/rels/m433Dll/splits.txt - links: [] -- object: files/dll/m434Dll.rel - hash: 100fe402942821dc8e5753f3cada5e2bf5ab6214 - symbols: config/GMPP01_00/rels/m434Dll/symbols.txt - splits: config/GMPP01_00/rels/m434Dll/splits.txt - links: [] -- object: files/dll/m435Dll.rel - hash: 4936db381fa068395cff28c0d635c5ec7cc7218f - symbols: config/GMPP01_00/rels/m435Dll/symbols.txt - splits: config/GMPP01_00/rels/m435Dll/splits.txt - links: [] -- object: files/dll/m436Dll.rel - hash: ba1c3bdc5f250996a5c873791347ce4c20b38692 - symbols: config/GMPP01_00/rels/m436Dll/symbols.txt - splits: config/GMPP01_00/rels/m436Dll/splits.txt - links: [] -- object: files/dll/m437Dll.rel - hash: 7273786a2995182baf9a85148c5974097999fe8e - symbols: config/GMPP01_00/rels/m437Dll/symbols.txt - splits: config/GMPP01_00/rels/m437Dll/splits.txt - links: [] -- object: files/dll/m438Dll.rel - hash: d7c4bdf1729695a7348f8a36de2911db7aa24abb - symbols: config/GMPP01_00/rels/m438Dll/symbols.txt - splits: config/GMPP01_00/rels/m438Dll/splits.txt - links: [] -- object: files/dll/m439Dll.rel - hash: 4d5a719b49edb55e0b0b52c0d81b31c14d197d20 - symbols: config/GMPP01_00/rels/m439Dll/symbols.txt - splits: config/GMPP01_00/rels/m439Dll/splits.txt - links: [] -- object: files/dll/m440Dll.rel - hash: 469b18886221ae8a5b90f3e85b01ce6a01befb0b - symbols: config/GMPP01_00/rels/m440Dll/symbols.txt - splits: config/GMPP01_00/rels/m440Dll/splits.txt - links: [] -- object: files/dll/m441Dll.rel - hash: 7d6e99b67d2dde25d3fc75ac314c2a69be34137e - symbols: config/GMPP01_00/rels/m441Dll/symbols.txt - splits: config/GMPP01_00/rels/m441Dll/splits.txt - links: [] -- object: files/dll/m442Dll.rel - hash: 63af3c4f33fd362f17aa1be9f764d0549f92598d - symbols: config/GMPP01_00/rels/m442Dll/symbols.txt - splits: config/GMPP01_00/rels/m442Dll/splits.txt - links: [] -- object: files/dll/m443Dll.rel - hash: 5118a0bab1877455eae9002c3cc561d3360fd792 - symbols: config/GMPP01_00/rels/m443Dll/symbols.txt - splits: config/GMPP01_00/rels/m443Dll/splits.txt - links: [] -- object: files/dll/m444dll.rel - hash: 4939f755142efe362f67898358fff1cdeffe508e - symbols: config/GMPP01_00/rels/m444dll/symbols.txt - splits: config/GMPP01_00/rels/m444dll/splits.txt - links: [] -- object: files/dll/m445Dll.rel - hash: 02f7c52aa6fd4b21a5700615aeaee9ef59e6b9f3 - symbols: config/GMPP01_00/rels/m445Dll/symbols.txt - splits: config/GMPP01_00/rels/m445Dll/splits.txt - links: [] -- object: files/dll/m446dll.rel - hash: 2ab71adae47a3d9632dcf45cf18ca0b1fc33d157 - symbols: config/GMPP01_00/rels/m446dll/symbols.txt - splits: config/GMPP01_00/rels/m446dll/splits.txt - links: [] -- object: files/dll/m447dll.rel - hash: 0640357fe4d0148dac4bc382c8231410e24fe951 - symbols: config/GMPP01_00/rels/m447dll/symbols.txt - splits: config/GMPP01_00/rels/m447dll/splits.txt - links: [] -- object: files/dll/m448Dll.rel - hash: 78bcdd8d1fdb810784fca4d5bbec92c63e2e6b54 - symbols: config/GMPP01_00/rels/m448Dll/symbols.txt - splits: config/GMPP01_00/rels/m448Dll/splits.txt - links: [] -- object: files/dll/m449Dll.rel - hash: fcf6e4b0089e19ffddf01a119c8c515a4acc943a - symbols: config/GMPP01_00/rels/m449Dll/symbols.txt - splits: config/GMPP01_00/rels/m449Dll/splits.txt - links: [] -- object: files/dll/m450Dll.rel - hash: ebcf95781e8078813ed041dd0a869ae2e413679b - symbols: config/GMPP01_00/rels/m450Dll/symbols.txt - splits: config/GMPP01_00/rels/m450Dll/splits.txt - links: [] -- object: files/dll/m451Dll.rel - hash: aa16b743f7b64f22abfd8bb93646883cc73bd7e0 - symbols: config/GMPP01_00/rels/m451Dll/symbols.txt - splits: config/GMPP01_00/rels/m451Dll/splits.txt - links: [] -- object: files/dll/m453Dll.rel - hash: f6fd7a6537e56c535d02ac4a48c9008605f93ea1 - symbols: config/GMPP01_00/rels/m453Dll/symbols.txt - splits: config/GMPP01_00/rels/m453Dll/splits.txt - links: [] -- object: files/dll/m455Dll.rel - hash: cc3431f55b523d474a952f3a0e927fac6b5402ab - symbols: config/GMPP01_00/rels/m455Dll/symbols.txt - splits: config/GMPP01_00/rels/m455Dll/splits.txt - links: [] -- object: files/dll/m456Dll.rel - hash: 09797251306bbd0f6fd712d6f832128ca8c58690 - symbols: config/GMPP01_00/rels/m456Dll/symbols.txt - splits: config/GMPP01_00/rels/m456Dll/splits.txt - links: [] -- object: files/dll/m457Dll.rel - hash: 8a992a09077fd5e1f6ca3e717547792938a519c1 - symbols: config/GMPP01_00/rels/m457Dll/symbols.txt - splits: config/GMPP01_00/rels/m457Dll/splits.txt - links: [] -- object: files/dll/m458Dll.rel - hash: 5dea2127d51d621b30d78b22cfa32327797e6e0b - symbols: config/GMPP01_00/rels/m458Dll/symbols.txt - splits: config/GMPP01_00/rels/m458Dll/splits.txt - links: [] -- object: files/dll/m459dll.rel - hash: e96dafe5949909cb7cc839174aa38e8e6661a63b - symbols: config/GMPP01_00/rels/m459dll/symbols.txt - splits: config/GMPP01_00/rels/m459dll/splits.txt - links: [] -- object: files/dll/m460Dll.rel - hash: ea1e0bda22675840d39c74117e2a11ffe45f8dd4 - symbols: config/GMPP01_00/rels/m460Dll/symbols.txt - splits: config/GMPP01_00/rels/m460Dll/splits.txt - links: [] -- object: files/dll/m461Dll.rel - hash: 8d515f3b92a786df53bb88291b5cfc4bc59a3c8d - symbols: config/GMPP01_00/rels/m461Dll/symbols.txt - splits: config/GMPP01_00/rels/m461Dll/splits.txt - links: [] -- object: files/dll/m462Dll.rel - hash: f02ba47e4459d9b0de174c5619a4efe61942962d - symbols: config/GMPP01_00/rels/m462Dll/symbols.txt - splits: config/GMPP01_00/rels/m462Dll/splits.txt - links: [] -- object: files/dll/m463Dll.rel - hash: 352ad6d84ded6cf28b9ff2f9e5da8812ac9164db - symbols: config/GMPP01_00/rels/m463Dll/symbols.txt - splits: config/GMPP01_00/rels/m463Dll/splits.txt - links: [] -- object: files/dll/mentDll.rel - hash: 4705ada9d259a81ab2815fee3516f6217d848dd9 - symbols: config/GMPP01_00/rels/mentDll/symbols.txt - splits: config/GMPP01_00/rels/mentDll/splits.txt - links: [] -- object: files/dll/messDll.rel - hash: b966ce340e98dbda624ff80f96c78d51ff1ed687 - symbols: config/GMPP01_00/rels/messDll/symbols.txt - splits: config/GMPP01_00/rels/messDll/splits.txt - links: [] -- object: files/dll/mgmodedll.rel - hash: 7a3fed787df2d1bc942efd56a160eaf59605b94f - symbols: config/GMPP01_00/rels/mgmodedll/symbols.txt - splits: config/GMPP01_00/rels/mgmodedll/splits.txt - links: [] -- object: files/dll/modeltestDll.rel - hash: 1e5bf1777b1470fcead2174c25b291b8f0513284 - symbols: config/GMPP01_00/rels/modeltestDll/symbols.txt - splits: config/GMPP01_00/rels/modeltestDll/splits.txt - links: [] -- object: files/dll/modeseldll.rel - hash: d958038528a774801a4f5a0aee9e7aaae4bd94ce - symbols: config/GMPP01_00/rels/modeseldll/symbols.txt - splits: config/GMPP01_00/rels/modeseldll/splits.txt - links: [] -- object: files/dll/mpexDll.rel - hash: a3e1e06937703f98191f4080e092bf06c4f449b3 - symbols: config/GMPP01_00/rels/mpexDll/symbols.txt - splits: config/GMPP01_00/rels/mpexDll/splits.txt - links: [] -- object: files/dll/msetupDll.rel - hash: 86ff8288bb92472376d02cade1d3c9603b613c57 - symbols: config/GMPP01_00/rels/msetupDll/symbols.txt - splits: config/GMPP01_00/rels/msetupDll/splits.txt - links: [] -- object: files/dll/mstory2Dll.rel - hash: ea9878a7af1787c0789d29bf812e1d9972c2ff20 - symbols: config/GMPP01_00/rels/mstory2Dll/symbols.txt - splits: config/GMPP01_00/rels/mstory2Dll/splits.txt - links: [] -- object: files/dll/mstory3Dll.rel - hash: 58decb3dba8e167bd2c238a55339888469a07381 - symbols: config/GMPP01_00/rels/mstory3Dll/symbols.txt - splits: config/GMPP01_00/rels/mstory3Dll/splits.txt - links: [] -- object: files/dll/mstory4Dll.rel - hash: a8eee3981f4965412490cb9eef76aaa798957db1 - symbols: config/GMPP01_00/rels/mstory4Dll/symbols.txt - splits: config/GMPP01_00/rels/mstory4Dll/splits.txt - links: [] -- object: files/dll/mstoryDll.rel - hash: 0fd54549734531303fb5471690cee96709833114 - symbols: config/GMPP01_00/rels/mstoryDll/symbols.txt - splits: config/GMPP01_00/rels/mstoryDll/splits.txt - links: [] -- object: files/dll/nisDll.rel - hash: 45619d95e61d9296f25d94d7c6756f397fb89bee - symbols: config/GMPP01_00/rels/nisDll/symbols.txt - splits: config/GMPP01_00/rels/nisDll/splits.txt - links: [] -- object: files/dll/option.rel - hash: 1304967e3aa58a46492d4c736a7c86cf8a3b2e11 - symbols: config/GMPP01_00/rels/option/symbols.txt - splits: config/GMPP01_00/rels/option/splits.txt - links: [] -- object: files/dll/present.rel - hash: 7845814c6be2546930cfd8e0b9dec263fc1a959f - symbols: config/GMPP01_00/rels/present/symbols.txt - splits: config/GMPP01_00/rels/present/splits.txt - links: [] -- object: files/dll/resultDll.rel - hash: d9bd10433d1e2a6c0c4d9f942b766d743f99deec - symbols: config/GMPP01_00/rels/resultDll/symbols.txt - splits: config/GMPP01_00/rels/resultDll/splits.txt - links: [] -- object: files/dll/safDll.rel - hash: c13262cf14f00e1d70bd65d20bbf988479816ca7 - symbols: config/GMPP01_00/rels/safDll/symbols.txt - splits: config/GMPP01_00/rels/safDll/splits.txt - links: [] -- object: files/dll/selmenuDll.rel - hash: 51f53e1398c86c5a22251a457e3af86339b4b11f - symbols: config/GMPP01_00/rels/selmenuDll/symbols.txt - splits: config/GMPP01_00/rels/selmenuDll/splits.txt - links: [] -- object: files/dll/staffDll.rel - hash: af869e37d004f687fab2ff6897d75d6c15e31a00 - symbols: config/GMPP01_00/rels/staffDll/symbols.txt - splits: config/GMPP01_00/rels/staffDll/splits.txt - links: [] -- object: files/dll/subchrselDll.rel - hash: 21de7aff7d39f8e130b4ef7602b8de85e51cf3e5 - symbols: config/GMPP01_00/rels/subchrselDll/symbols.txt - splits: config/GMPP01_00/rels/subchrselDll/splits.txt - links: [] -- object: files/dll/w01Dll.rel - hash: 70ee81af67a4f55de2fef65823583d22312f09be - symbols: config/GMPP01_00/rels/w01Dll/symbols.txt - splits: config/GMPP01_00/rels/w01Dll/splits.txt - links: [] -- object: files/dll/w02Dll.rel - hash: 33b5663ece821df4dbc50870e00de0e22e099efd - symbols: config/GMPP01_00/rels/w02Dll/symbols.txt - splits: config/GMPP01_00/rels/w02Dll/splits.txt - links: [] -- object: files/dll/w03Dll.rel - hash: 97aa16f847cdf2d6fd014f06df14c55f5f02024d - symbols: config/GMPP01_00/rels/w03Dll/symbols.txt - splits: config/GMPP01_00/rels/w03Dll/splits.txt - links: [] -- object: files/dll/w04Dll.rel - hash: 135cf03d803b9d8d39721b2a96769909aa719ee6 - symbols: config/GMPP01_00/rels/w04Dll/symbols.txt - splits: config/GMPP01_00/rels/w04Dll/splits.txt - links: [] -- object: files/dll/w05Dll.rel - hash: e6d07092b69cc3b0514d9c12e3f5949edeb25f5f - symbols: config/GMPP01_00/rels/w05Dll/symbols.txt - splits: config/GMPP01_00/rels/w05Dll/splits.txt - links: [] -- object: files/dll/w06Dll.rel - hash: 0d5445461f58fac4c043c75bed7237b7f4045188 - symbols: config/GMPP01_00/rels/w06Dll/symbols.txt - splits: config/GMPP01_00/rels/w06Dll/splits.txt - links: [] -- object: files/dll/w10Dll.rel - hash: 5678fedd4a0490aeb9703328e959fdedea7da117 - symbols: config/GMPE01_00/rels/w10Dll/symbols.txt - splits: config/GMPE01_00/rels/w10Dll/splits.txt - links: [] -- object: files/dll/w20Dll.rel - hash: 58ae9e311cc8bd0291921480f423e2ad4774e1a2 - symbols: config/GMPP01_00/rels/w20Dll/symbols.txt - splits: config/GMPP01_00/rels/w20Dll/splits.txt - links: [] -- object: files/dll/w21Dll.rel - hash: 8ea052be8c7585a1ab152682a0698b631c5b566f - symbols: config/GMPE01_00/rels/w21Dll/symbols.txt - splits: config/GMPE01_00/rels/w21Dll/splits.txt - links: [] -- object: files/dll/ztardll.rel - hash: 8987f11fafd11f69161ca275967afe9c8b4e7b20 - symbols: config/GMPP01_00/rels/ztardll/symbols.txt - splits: config/GMPP01_00/rels/ztardll/splits.txt - links: [] -- object: files/dll/E3setupDLL.rel - hash: d59c60b0149a85782fa98d1a4da6cc768a09b473 - symbols: config/GMPP01_00/rels/E3setupDLL/symbols.txt - splits: config/GMPP01_00/rels/E3setupDLL/splits.txt - links: [_minigameDll] -- object: files/dll/m300Dll.rel - hash: eba8a17e8b263bc9cd601b1aea7e698a8785416a - symbols: config/GMPP01_00/rels/m300Dll/symbols.txt - splits: config/GMPP01_00/rels/m300Dll/splits.txt - links: [_minigameDll] -- object: files/dll/m401Dll.rel - hash: c457a4a45ebae776331484ba94f5798041a77a57 - symbols: config/GMPP01_00/rels/m401Dll/symbols.txt - splits: config/GMPP01_00/rels/m401Dll/splits.txt - links: [_minigameDll] - -extract: -- symbol: ank8x8_4b - binary: ank8x8_4b.bin - header: ank8x8_4b.inc -- symbol: refMapData0 - binary: refMapData0.anm - header: refMapData0.inc -- symbol: refMapData1 - binary: refMapData1.anm - header: refMapData1.inc -- symbol: refMapData2 - binary: refMapData2.anm - header: refMapData2.inc -- symbol: refMapData3 - binary: refMapData3.anm - header: refMapData3.inc -- symbol: refMapData4 - binary: refMapData4.anm - header: refMapData4.inc -- symbol: toonMapData - binary: toonMapData.anm - header: toonMapData.inc -- symbol: toonMapData2 - binary: toonMapData2.anm - header: toonMapData2.inc -- symbol: hiliteData - binary: hiliteData.anm - header: hiliteData.inc -- symbol: hiliteData2 - binary: hiliteData2.anm - header: hiliteData2.inc -- symbol: hiliteData3 - binary: hiliteData3.anm - header: hiliteData3.inc -- symbol: hiliteData4 - binary: hiliteData4.anm - header: hiliteData4.inc -- symbol: Ascii8x8_1bpp - binary: Ascii8x8_1bpp.bin - header: Ascii8x8_1bpp.inc -- symbol: coveropen_en - binary: coveropen_en.bin - header: coveropen_en.inc -- symbol: fatalerror_en - binary: fatalerror_en.bin - header: fatalerror_en.inc -- symbol: loading_en - binary: loading_en.bin - header: loading_en.inc -- symbol: nodisc_en - binary: nodisc_en.bin - header: nodisc_en.inc -- symbol: retryerror_en - binary: retryerror_en.bin - header: retryerror_en.inc -- symbol: wrongdisc_en - binary: wrongdisc_en.bin - header: wrongdisc_en.inc -- symbol: coveropen_en - binary: coveropen_en.bin - header: coveropen_en.inc -- symbol: fatalerror_en - binary: fatalerror_en.bin - header: fatalerror_en.inc -- symbol: loading_en - binary: loading_en.bin - header: loading_en.inc -- symbol: nodisc_en - binary: nodisc_en.bin - header: nodisc_en.inc -- symbol: retryerror_en - binary: retryerror_en.bin - header: retryerror_en.inc -- symbol: wrongdisc_en - binary: wrongdisc_en.bin - header: wrongdisc_en.inc -- symbol: coveropen_fr - binary: coveropen_fr.bin - header: coveropen_fr.inc -- symbol: fatalerror_fr - binary: fatalerror_fr.bin - header: fatalerror_fr.inc -- symbol: loading_fr - binary: loading_fr.bin - header: loading_fr.inc -- symbol: nodisc_fr - binary: nodisc_fr.bin - header: nodisc_fr.inc -- symbol: retryerror_fr - binary: retryerror_fr.bin - header: retryerror_fr.inc -- symbol: wrongdisc_fr - binary: wrongdisc_fr.bin - header: wrongdisc_fr.inc -- symbol: coveropen_ge - binary: coveropen_ge.bin - header: coveropen_ge.inc -- symbol: fatalerror_ge - binary: fatalerror_ge.bin - header: fatalerror_ge.inc -- symbol: loading_ge - binary: loading_ge.bin - header: loading_ge.inc -- symbol: nodisc_ge - binary: nodisc_ge.bin - header: nodisc_ge.inc -- symbol: retryerror_ge - binary: retryerror_ge.bin - header: retryerror_ge.inc -- symbol: wrongdisc_ge - binary: wrongdisc_ge.bin - header: wrongdisc_ge.inc -- symbol: coveropen_it - binary: coveropen_it.bin - header: coveropen_it.inc -- symbol: fatalerror_it - binary: fatalerror_it.bin - header: fatalerror_it.inc -- symbol: loading_it - binary: loading_it.bin - header: loading_it.inc -- symbol: nodisc_it - binary: nodisc_it.bin - header: nodisc_it.inc -- symbol: retryerror_it - binary: retryerror_it.bin - header: retryerror_it.inc -- symbol: wrongdisc_it - binary: wrongdisc_it.bin - header: wrongdisc_it.inc -- symbol: coveropen_sp - binary: coveropen_sp.bin - header: coveropen_sp.inc -- symbol: fatalerror_sp - binary: fatalerror_sp.bin - header: fatalerror_sp.inc -- symbol: loading_sp - binary: loading_sp.bin - header: loading_sp.inc -- symbol: nodisc_sp - binary: nodisc_sp.bin - header: nodisc_sp.inc -- symbol: retryerror_sp - binary: retryerror_sp.bin - header: retryerror_sp.inc -- symbol: wrongdisc_sp - binary: wrongdisc_sp.bin - header: wrongdisc_sp.inc diff --git a/config/GMPP01_00/rels/E3setupDLL/splits.txt b/config/GMPP01_00/rels/E3setupDLL/splits.txt deleted file mode 100644 index d5a4c674..00000000 --- a/config/GMPP01_00/rels/E3setupDLL/splits.txt +++ /dev/null @@ -1,22 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/E3setupDLL/mgselect.c: - .text start:0x00000000 end:0x0000133C - .rodata start:0x00000000 end:0x00000088 - .data start:0x00000000 end:0x00000250 - .bss start:0x00000000 end:0x00000028 - -REL/executor.c: - .text start:0x0000133C end:0x000013DC - -REL/E3setupDLL/main.c: - .text start:0x000013DC end:0x00005850 - .rodata start:0x00000088 end:0x00000130 - .data start:0x00000250 end:0x000004D0 - .bss start:0x00000028 end:0x000000F8 diff --git a/config/GMPP01_00/rels/E3setupDLL/symbols.txt b/config/GMPP01_00/rels/E3setupDLL/symbols.txt deleted file mode 100644 index 4089dcf6..00000000 --- a/config/GMPP01_00/rels/E3setupDLL/symbols.txt +++ /dev/null @@ -1,205 +0,0 @@ -E3MGSelectInit = .text:0x00000000; // type:function size:0x324 -StartMGSelect = .text:0x00000324; // type:function size:0x9C scope:local -UpdatePad = .text:0x000003C0; // type:function size:0xA0 scope:local -UpdateMGSelect = .text:0x00000460; // type:function size:0x584 scope:local -CreateMGSelect = .text:0x000009E4; // type:function size:0x528 scope:local -UpdateMGPic = .text:0x00000F0C; // type:function size:0x80 scope:local -CreateMGPic = .text:0x00000F8C; // type:function size:0x1AC scope:local -UpdateMGInterface = .text:0x00001138; // type:function size:0x14 scope:local -CreateMGInterface = .text:0x0000114C; // type:function size:0x1F0 scope:local -_prolog = .text:0x0000133C; // type:function size:0x54 scope:global -_epilog = .text:0x00001390; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000013DC; // type:function size:0x108 -E3MainInit = .text:0x000014E4; // type:function size:0x514 -E3LightInit = .text:0x000019F8; // type:function size:0x1AC -GetStickX = .text:0x00001BA4; // type:function size:0x7C scope:local -GetStickY = .text:0x00001C20; // type:function size:0x84 scope:local -GetBtn = .text:0x00001CA4; // type:function size:0x90 scope:local -GetBtnDown = .text:0x00001D34; // type:function size:0x24 scope:local -E3PadUpdate = .text:0x00001D58; // type:function size:0xFC -E3PadRead = .text:0x00001E54; // type:function size:0x1C0 -MotionMaxTimeGet = .text:0x00002014; // type:function size:0x78 -MotionShiftTimeGet = .text:0x0000208C; // type:function size:0x2C -InitMenuControl = .text:0x000020B8; // type:function size:0xA4 scope:local -UpdateMenuControl = .text:0x0000215C; // type:function size:0x400 scope:local -UpdateOvlWatch = .text:0x0000255C; // type:function size:0x124 scope:local -E3OvlWatchInit = .text:0x00002680; // type:function size:0x74 -UpdatePlayerCnt = .text:0x000026F4; // type:function size:0x344 scope:local -InitPlayerCnt = .text:0x00002A38; // type:function size:0x59C scope:local -UpdateCharSelCursor = .text:0x00002FD4; // type:function size:0x208 scope:local -UpdateCharSelPlayerCursor = .text:0x000031DC; // type:function size:0x37C scope:local -UpdateCharSelComCursor = .text:0x00003558; // type:function size:0x3B4 scope:local -CheckCharSel = .text:0x0000390C; // type:function size:0xAC scope:local -UpdateCharSel = .text:0x000039B8; // type:function size:0x2B8 scope:local -InitCharSel = .text:0x00003C70; // type:function size:0x534 scope:local -UpdateRumbleCfg = .text:0x000041A4; // type:function size:0x2DC scope:local -InitRumbleCfg = .text:0x00004480; // type:function size:0x520 scope:local -UpdateModeSel = .text:0x000049A0; // type:function size:0x59C scope:local -InitModeSel = .text:0x00004F3C; // type:function size:0x4E8 scope:local -E3BGUpdate = .text:0x00005424; // type:function size:0x100 scope:local -E3BGCreate = .text:0x00005524; // type:function size:0x184 -InitCamera = .text:0x000056A8; // type:function size:0x7C scope:local -UpdateCamera = .text:0x00005724; // type:function size:0x12C scope:local -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_2_rodata_0 = .rodata:0x00000000; // type:object size:0x10 -lbl_2_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_2_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_2_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_2_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_2_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_2_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_2_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_2_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_2_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_2_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_2_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_2_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_2_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_2_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_2_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_2_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_2_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_2_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_2_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:float -lbl_2_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_2_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_2_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_2_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_2_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_2_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_2_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_2_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_2_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_2_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_2_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_2_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_2_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_2_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_2_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_2_data_0 = .data:0x00000000; // type:object size:0x24 data:float -lbl_2_data_24 = .data:0x00000024; // type:object size:0x11 scope:local data:string -lbl_2_data_36 = .data:0x00000036; // type:object size:0x8 -mgOvlTbl = .data:0x0000003E; // type:object size:0x1A scope:local -mgIdTbl = .data:0x00000058; // type:object size:0x1C scope:local -mgNameTbl = .data:0x00000074; // type:object size:0x34 scope:local -lbl_2_data_A8 = .data:0x000000A8; // type:object size:0x21 data:string -lbl_2_data_C9 = .data:0x000000C9; // type:object size:0x16 data:string -lbl_2_data_DF = .data:0x000000DF; // type:object size:0x16 data:string -lbl_2_data_F5 = .data:0x000000F5; // type:object size:0x16 data:string -lbl_2_data_10B = .data:0x0000010B; // type:object size:0xD data:string -lbl_2_data_118 = .data:0x00000118; // type:object size:0x16 data:string -lbl_2_data_12E = .data:0x0000012E; // type:object size:0xD data:string -lbl_2_data_13B = .data:0x0000013B; // type:object size:0x16 data:string -lbl_2_data_151 = .data:0x00000151; // type:object size:0x16 data:string -lbl_2_data_167 = .data:0x00000167; // type:object size:0x16 data:string -lbl_2_data_17D = .data:0x0000017D; // type:object size:0x16 data:string -lbl_2_data_193 = .data:0x00000193; // type:object size:0x16 data:string -lbl_2_data_1A9 = .data:0x000001A9; // type:object size:0x16 data:string -mgNameTestTbl = .data:0x000001C0; // type:object size:0x34 scope:local -cursorYOfsTbl = .data:0x000001F4; // type:object size:0x14 scope:local data:float -mgPicTbl = .data:0x00000208; // type:object size:0x34 scope:local -startText = .data:0x0000023C; // type:object size:0x10 scope:local data:string -shadowPos = .data:0x00000250; // type:object size:0xC scope:local -shadowTarget = .data:0x0000025C; // type:object size:0xC scope:local -shadowUp = .data:0x00000268; // type:object size:0xC scope:local -lbl_2_data_274 = .data:0x00000274; // type:object size:0x60 data:float -playerCntTbl = .data:0x000002D4; // type:object size:0x8 scope:local -charTbl = .data:0x000002DC; // type:object size:0x10 scope:local -charSfxTbl = .data:0x000002EC; // type:object size:0x20 scope:local -lbl_2_data_30C = .data:0x0000030C; // type:object size:0x12 scope:local -lbl_2_data_31E = .data:0x0000031E; // type:object size:0x8 -playerCntMessTbl = .data:0x00000328; // type:object size:0x10 scope:local -charPosTbl = .data:0x00000338; // type:object size:0x40 scope:local data:float -charComSfxTbl = .data:0x00000378; // type:object size:0x20 scope:local -lbl_2_data_398 = .data:0x00000398; // type:object size:0xF scope:local data:string -charSpriteTbl = .data:0x000003A8; // type:object size:0x20 scope:local -cursorSpriteTbl = .data:0x000003C8; // type:object size:0x14 scope:local -hiliteSprTbl = .data:0x000003DC; // type:object size:0x14 scope:local -rumbleMess = .data:0x000003F0; // type:object size:0x8 scope:local -modeSelCursorPosTbl = .data:0x000003F8; // type:object size:0x10 scope:local -boardSelCursorPosTbl = .data:0x00000408; // type:object size:0x10 scope:local -camViewTbl = .data:0x00000418; // type:object size:0x60 scope:local data:float -lbl_2_data_478 = .data:0x00000478; // type:object size:0x24 data:float -lbl_2_data_49C = .data:0x0000049C; // type:object size:0x24 data:float -lbl_2_data_4C0 = .data:0x000004C0; // type:object size:0x10 -lbl_2_bss_0 = .bss:0x00000000; // type:object size:0xA data:2byte -lbl_2_bss_A = .bss:0x0000000A; // type:object size:0x2 data:2byte -lbl_2_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte -lbl_2_bss_E = .bss:0x0000000E; // type:object size:0x2 data:2byte -lbl_2_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte -lbl_2_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -mgPicObj = .bss:0x00000018; // type:object size:0x4 scope:local data:4byte -mgSelectObj = .bss:0x0000001C; // type:object size:0x4 scope:local data:4byte -mgInterfaceObj = .bss:0x00000020; // type:object size:0x4 scope:local data:4byte -mgDefault = .bss:0x00000024; // type:object size:0x2 scope:local data:2byte -repBtn = .bss:0x00000028; // type:object size:0x2 scope:local data:2byte -lbl_2_bss_2A = .bss:0x0000002A; // type:object size:0xA data:2byte -lbl_2_bss_34 = .bss:0x00000034; // type:object size:0x2 data:2byte -lbl_2_bss_36 = .bss:0x00000036; // type:object size:0x2 data:2byte -lbl_2_bss_38 = .bss:0x00000038; // type:object size:0x2 data:2byte -lbl_2_bss_3A = .bss:0x0000003A; // type:object size:0x2 data:2byte -lbl_2_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte -lbl_2_bss_40 = .bss:0x00000040; // type:object size:0x2 data:2byte -lbl_2_bss_44 = .bss:0x00000044; // type:object size:0x4 data:float -lbl_2_bss_48 = .bss:0x00000048; // type:object size:0xC data:float -lbl_2_bss_54 = .bss:0x00000054; // type:object size:0xC data:float -lbl_2_bss_60 = .bss:0x00000060; // type:object size:0x2 data:2byte -lbl_2_bss_62 = .bss:0x00000062; // type:object size:0x8 -lightE3 = .bss:0x0000006A; // type:object size:0x2 scope:local data:2byte -lbl_2_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:2byte -e3BGObj = .bss:0x00000070; // type:object size:0x4 data:4byte -configModeObj = .bss:0x00000074; // type:object size:0x10 scope:local data:4byte -lbl_2_bss_84 = .bss:0x00000084; // type:object size:0x8 data:4byte -cameraObj = .bss:0x0000008C; // type:object size:0x4 scope:local data:4byte -e3OvlWatchObj = .bss:0x00000090; // type:object size:0x4 data:4byte -e3ViewObj = .bss:0x00000094; // type:object size:0x4 data:4byte -e3MenuMainObj = .bss:0x00000098; // type:object size:0x4 data:4byte -e3CameraFov = .bss:0x0000009C; // type:object size:0x4 data:float -needCharKill = .bss:0x000000A0; // type:object size:0x4 scope:local data:4byte -e3ExitMode = .bss:0x000000A4; // type:object size:0x4 data:4byte -e3NextEvent = .bss:0x000000A8; // type:object size:0x4 data:4byte -e3NextOvl = .bss:0x000000AC; // type:object size:0x4 data:4byte -lbl_2_bss_B0 = .bss:0x000000B0; // type:object size:0x4 data:4byte -e3ExitEnableF = .bss:0x000000B4; // type:object size:0x4 data:4byte -e3EvtNo = .bss:0x000000B8; // type:object size:0x4 scope:local data:4byte -e3ConfigPlayerCnt = .bss:0x000000BC; // type:object size:0x2 data:2byte -e3PadCtrl = .bss:0x000000BE; // type:object size:0x2 data:2byte -e3PadData = .bss:0x000000C0; // type:object size:0x20 -configE3 = .bss:0x000000E0; // type:object size:0x18 scope:local data:2byte diff --git a/config/GMPP01_00/rels/_minigameDll/splits.txt b/config/GMPP01_00/rels/_minigameDll/splits.txt deleted file mode 100644 index 7a4d7e18..00000000 --- a/config/GMPP01_00/rels/_minigameDll/splits.txt +++ /dev/null @@ -1,14 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/_minigameDLL/_minigameDLL.c: - .text start:0x000000A0 end:0x000000F0 - .rodata start:0x00000000 end:0x00000010 - .data start:0x00000000 end:0x00000014 diff --git a/config/GMPP01_00/rels/_minigameDll/symbols.txt b/config/GMPP01_00/rels/_minigameDll/symbols.txt deleted file mode 100644 index 032e2444..00000000 --- a/config/GMPP01_00/rels/_minigameDll/symbols.txt +++ /dev/null @@ -1,7 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x2C -fn_1_CC = .text:0x000000CC; // type:function size:0x24 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_data_0 = .data:0x00000000; // type:object size:0x14 data:string diff --git a/config/GMPP01_00/rels/bootDll/splits.txt b/config/GMPP01_00/rels/bootDll/splits.txt deleted file mode 100644 index 593d873d..00000000 --- a/config/GMPP01_00/rels/bootDll/splits.txt +++ /dev/null @@ -1,21 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/bootDll/main.c: - .text start:0x000000A0 end:0x00002AE0 - .rodata start:0x00000000 end:0x000000F8 - .data start:0x00000000 end:0x00003120 - .bss start:0x00000000 end:0x00000060 - -REL/bootDll/language.c: - .text start:0x00002AE0 end:0x00003D9C - .rodata start:0x000000F8 end:0x000001A0 - .data start:0x00003120 end:0x00003156 diff --git a/config/GMPP01_00/rels/bootDll/symbols.txt b/config/GMPP01_00/rels/bootDll/symbols.txt deleted file mode 100644 index fa5f8812..00000000 --- a/config/GMPP01_00/rels/bootDll/symbols.txt +++ /dev/null @@ -1,110 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x204 -BootExec = .text:0x000002A4; // type:function size:0x8B4 -UpdateDemoMess = .text:0x00000B58; // type:function size:0xC8 scope:local -DebugCamOutView = .text:0x00000C20; // type:function size:0x3B4 -DebugCamUpdate = .text:0x00000FD4; // type:function size:0xB88 -BootTitleCreate = .text:0x00001B5C; // type:function size:0x460 -BootTitleExec = .text:0x00001FBC; // type:function size:0xAA0 -NintendoDataDecode = .text:0x00002A5C; // type:function size:0x84 -LanguageMenuExec = .text:0x00002AE0; // type:function size:0x10C8 -LanguageBootGet = .text:0x00003BA8; // type:function size:0x1F4 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x24 data:string -lbl_1_data_24 = .data:0x00000024; // type:object size:0x14 data:string -demoMessTimeTbl = .data:0x00000038; // type:object size:0x18 scope:local data:2byte -debugCamTbl = .data:0x00000050; // type:object size:0x4 scope:local -lbl_1_data_54 = .data:0x00000054; // type:object size:0x1A data:string -lbl_1_data_6E = .data:0x0000006E; // type:object size:0x13 data:string -lbl_1_data_81 = .data:0x00000081; // type:object size:0x1F -nintendoData = .data:0x000000A0; // type:object size:0x307D align:32 -flagFileTbl = .data:0x00003120; // type:object size:0x14 scope:local -lbl_1_data_3134 = .data:0x00003134; // type:object size:0x5 data:string -lbl_1_data_3139 = .data:0x00003139; // type:object size:0xD data:string -lbl_1_data_3146 = .data:0x00003146; // type:object size:0x10 data:string -debugCamOnF = .bss:0x00000000; // type:object size:0x4 data:4byte -initLanguageF = .bss:0x00000004; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_4 = .bss:0x00000008; // type:object size:0x2 -bootGrpId = .bss:0x0000000A; // type:object size:0x2 scope:local data:2byte -titleMdlId = .bss:0x0000000C; // type:object size:0x6 scope:local data:2byte -demoWinId = .bss:0x00000012; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_10 = .bss:0x00000014; // type:object size:0xC data:float -debugCamZoom = .bss:0x00000020; // type:object size:0x8 data:float -debugCamPos = .bss:0x00000028; // type:object size:0x18 data:float -debugCamRot = .bss:0x00000040; // type:object size:0x18 data:float -objman = .bss:0x00000058; // type:object size:0x4 data:4byte -debugOutView = .bss:0x0000005C; // type:object size:0x4 scope:local data:4byte diff --git a/config/GMPP01_00/rels/instDll/splits.txt b/config/GMPP01_00/rels/instDll/splits.txt deleted file mode 100644 index 83d6ff27..00000000 --- a/config/GMPP01_00/rels/instDll/splits.txt +++ /dev/null @@ -1,21 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/instDll/main.c: - .text start:0x000000A0 end:0x00005EA4 - .rodata start:0x00000000 end:0x00000208 - .data start:0x00000000 end:0x00000150 - .bss start:0x00000000 end:0x00000064 - -REL/instDll/font.c: - .text start:0x00005EA4 end:0x0000629C - .rodata start:0x00000208 end:0x00000210 - .data start:0x00000150 end:0x00000610 diff --git a/config/GMPP01_00/rels/instDll/symbols.txt b/config/GMPP01_00/rels/instDll/symbols.txt deleted file mode 100644 index da39c5b5..00000000 --- a/config/GMPP01_00/rels/instDll/symbols.txt +++ /dev/null @@ -1,149 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x8F4 -InstMain = .text:0x00000994; // type:function size:0xE50 scope:local -InstPlayerMain = .text:0x000017E4; // type:function size:0xA28 scope:local -InstHostMain = .text:0x0000220C; // type:function size:0x5F8 scope:local -InstWinMain = .text:0x00002804; // type:function size:0x79C scope:local -InstNameMain = .text:0x00002FA0; // type:function size:0x11D4 scope:local -CameraOutView = .text:0x00004174; // type:function size:0x3B4 scope:local -CameraDebug = .text:0x00004528; // type:function size:0xB88 scope:local -InstPicDraw = .text:0x000050B0; // type:function size:0xAB4 scope:local -ShadowDraw = .text:0x00005B64; // type:function size:0x340 scope:local -FontCreate = .text:0x00005EA4; // type:function size:0x3F8 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -instMode = .data:0x00000000; // type:object size:0x2 scope:local data:2byte -lbl_1_data_2 = .data:0x00000002; // type:object size:0x24 scope:local data:string -instGrpTbl = .data:0x00000026; // type:object size:0x20 scope:local -instPlayerNumTbl = .data:0x00000046; // type:object size:0x8 scope:local -instBoxFile = .data:0x00000050; // type:object size:0x20 scope:local -instBackFile = .data:0x00000070; // type:object size:0x20 scope:local -lbl_1_data_90 = .data:0x00000090; // type:object size:0x8 scope:local data:string -lbl_1_data_98 = .data:0x00000098; // type:object size:0x8 scope:local data:string -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x8 scope:local data:string -lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x8 scope:local data:string -playerPosNameTbl = .data:0x000000B0; // type:object size:0x10 scope:local -playerDelayTbl = .data:0x000000C0; // type:object size:0x4 scope:local -hostFileTbl = .data:0x000000C4; // type:object size:0x48 scope:local -hostSeTbl = .data:0x0000010C; // type:object size:0x18 scope:local -instNamePosTbl = .data:0x00000124; // type:object size:0x20 scope:local data:float -cameraMask$858 = .data:0x00000144; // type:object size:0x4 scope:local -lbl_1_data_148 = .data:0x00000148; // type:object size:0x4 scope:local -instPicRadius = .data:0x0000014C; // type:object size:0x4 scope:local data:float -FontCharFile = .data:0x00000150; // type:object size:0x4C0 scope:local -debugCamOnF = .bss:0x00000000; // type:object size:0x4 scope:local data:4byte -instBusyF = .bss:0x00000004; // type:object size:0x2 scope:local data:2byte -instPage = .bss:0x00000006; // type:object size:0x2 scope:local data:2byte -LanguageNo = .bss:0x00000008; // type:object size:0x1 scope:local data:byte -instFov = .bss:0x0000000C; // type:object size:0x4 scope:local data:float -instMesOfs = .bss:0x00000010; // type:object size:0x2 scope:local data:2byte -instHostNo = .bss:0x00000012; // type:object size:0x2 scope:local data:2byte -instMgNo = .bss:0x00000014; // type:object size:0x2 scope:local data:2byte -instPicAnim = .bss:0x00000018; // type:object size:0x4 scope:local data:4byte -instBoxMdlId = .bss:0x0000001C; // type:object size:0x4 scope:local data:4byte -cameraZoom = .bss:0x00000020; // type:object size:0x8 data:float -cameraPos = .bss:0x00000028; // type:object size:0x18 data:float -cameraRot = .bss:0x00000040; // type:object size:0x18 data:float -objman = .bss:0x00000058; // type:object size:0x4 data:4byte -outViewObj = .bss:0x0000005C; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 scope:local data:4byte diff --git a/config/GMPP01_00/rels/m300Dll/splits.txt b/config/GMPP01_00/rels/m300Dll/splits.txt deleted file mode 100644 index e787a0ee..00000000 --- a/config/GMPP01_00/rels/m300Dll/splits.txt +++ /dev/null @@ -1,3 +0,0 @@ -Sections: - .ctors type:rodata align:4 - .dtors type:rodata align:4 diff --git a/config/GMPP01_00/rels/m300Dll/symbols.txt b/config/GMPP01_00/rels/m300Dll/symbols.txt deleted file mode 100644 index 120e2d17..00000000 --- a/config/GMPP01_00/rels/m300Dll/symbols.txt +++ /dev/null @@ -1,2 +0,0 @@ -_ctors = .ctors:0x00000000; // type:label scope:global -_dtors = .dtors:0x00000000; // type:label scope:global diff --git a/config/GMPP01_00/rels/m302Dll/splits.txt b/config/GMPP01_00/rels/m302Dll/splits.txt deleted file mode 100644 index e787a0ee..00000000 --- a/config/GMPP01_00/rels/m302Dll/splits.txt +++ /dev/null @@ -1,3 +0,0 @@ -Sections: - .ctors type:rodata align:4 - .dtors type:rodata align:4 diff --git a/config/GMPP01_00/rels/m302Dll/symbols.txt b/config/GMPP01_00/rels/m302Dll/symbols.txt deleted file mode 100644 index 120e2d17..00000000 --- a/config/GMPP01_00/rels/m302Dll/symbols.txt +++ /dev/null @@ -1,2 +0,0 @@ -_ctors = .ctors:0x00000000; // type:label scope:global -_dtors = .dtors:0x00000000; // type:label scope:global diff --git a/config/GMPP01_00/rels/m303Dll/splits.txt b/config/GMPP01_00/rels/m303Dll/splits.txt deleted file mode 100644 index e787a0ee..00000000 --- a/config/GMPP01_00/rels/m303Dll/splits.txt +++ /dev/null @@ -1,3 +0,0 @@ -Sections: - .ctors type:rodata align:4 - .dtors type:rodata align:4 diff --git a/config/GMPP01_00/rels/m303Dll/symbols.txt b/config/GMPP01_00/rels/m303Dll/symbols.txt deleted file mode 100644 index 120e2d17..00000000 --- a/config/GMPP01_00/rels/m303Dll/symbols.txt +++ /dev/null @@ -1,2 +0,0 @@ -_ctors = .ctors:0x00000000; // type:label scope:global -_dtors = .dtors:0x00000000; // type:label scope:global diff --git a/config/GMPP01_00/rels/m330Dll/splits.txt b/config/GMPP01_00/rels/m330Dll/splits.txt deleted file mode 100644 index e787a0ee..00000000 --- a/config/GMPP01_00/rels/m330Dll/splits.txt +++ /dev/null @@ -1,3 +0,0 @@ -Sections: - .ctors type:rodata align:4 - .dtors type:rodata align:4 diff --git a/config/GMPP01_00/rels/m330Dll/symbols.txt b/config/GMPP01_00/rels/m330Dll/symbols.txt deleted file mode 100644 index 120e2d17..00000000 --- a/config/GMPP01_00/rels/m330Dll/symbols.txt +++ /dev/null @@ -1,2 +0,0 @@ -_ctors = .ctors:0x00000000; // type:label scope:global -_dtors = .dtors:0x00000000; // type:label scope:global diff --git a/config/GMPP01_00/rels/m333Dll/splits.txt b/config/GMPP01_00/rels/m333Dll/splits.txt deleted file mode 100644 index e787a0ee..00000000 --- a/config/GMPP01_00/rels/m333Dll/splits.txt +++ /dev/null @@ -1,3 +0,0 @@ -Sections: - .ctors type:rodata align:4 - .dtors type:rodata align:4 diff --git a/config/GMPP01_00/rels/m333Dll/symbols.txt b/config/GMPP01_00/rels/m333Dll/symbols.txt deleted file mode 100644 index 120e2d17..00000000 --- a/config/GMPP01_00/rels/m333Dll/symbols.txt +++ /dev/null @@ -1,2 +0,0 @@ -_ctors = .ctors:0x00000000; // type:label scope:global -_dtors = .dtors:0x00000000; // type:label scope:global diff --git a/config/GMPP01_00/rels/m401Dll/splits.txt b/config/GMPP01_00/rels/m401Dll/splits.txt deleted file mode 100644 index d7d2d541..00000000 --- a/config/GMPP01_00/rels/m401Dll/splits.txt +++ /dev/null @@ -1,22 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/m401Dll/main.c: - .text start:0x000000A0 end:0x00010244 - .rodata start:0x00000000 end:0x00000450 - .data start:0x00000000 end:0x00000478 - .bss start:0x00000000 end:0x00000120 - -REL/m401Dll/main_ex.c: - .text start:0x00010244 end:0x00014E18 - .rodata start:0x00000450 end:0x000005E8 - .data start:0x00000478 end:0x00000498 - .bss start:0x00000120 end:0x00000254 diff --git a/config/GMPP01_00/rels/m401Dll/symbols.txt b/config/GMPP01_00/rels/m401Dll/symbols.txt deleted file mode 100644 index bab1a956..00000000 --- a/config/GMPP01_00/rels/m401Dll/symbols.txt +++ /dev/null @@ -1,522 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x66C -fn_2_70C = .text:0x0000070C; // type:function size:0x304 -fn_2_A10 = .text:0x00000A10; // type:function size:0x88 -fn_2_A98 = .text:0x00000A98; // type:function size:0x54 -fn_2_AEC = .text:0x00000AEC; // type:function size:0x130 -fn_2_C1C = .text:0x00000C1C; // type:function size:0x5B4 -fn_2_11D0 = .text:0x000011D0; // type:function size:0x3F4 -fn_2_15C4 = .text:0x000015C4; // type:function size:0xD8 -fn_2_169C = .text:0x0000169C; // type:function size:0x1BC -fn_2_1858 = .text:0x00001858; // type:function size:0x1E0 -fn_2_1A38 = .text:0x00001A38; // type:function size:0x148 -fn_2_1B80 = .text:0x00001B80; // type:function size:0x170 -fn_2_1CF0 = .text:0x00001CF0; // type:function size:0xF8 -fn_2_1DE8 = .text:0x00001DE8; // type:function size:0x2C8 -fn_2_20B0 = .text:0x000020B0; // type:function size:0x148 -fn_2_21F8 = .text:0x000021F8; // type:function size:0x4E8 -fn_2_26E0 = .text:0x000026E0; // type:function size:0x5DC -fn_2_2CBC = .text:0x00002CBC; // type:function size:0xA8 -fn_2_2D64 = .text:0x00002D64; // type:function size:0x68 -fn_2_2DCC = .text:0x00002DCC; // type:function size:0x54 -fn_2_2E20 = .text:0x00002E20; // type:function size:0xB0 -fn_2_2ED0 = .text:0x00002ED0; // type:function size:0xCC -fn_2_2F9C = .text:0x00002F9C; // type:function size:0x4 -fn_2_2FA0 = .text:0x00002FA0; // type:function size:0x4 -fn_2_2FA4 = .text:0x00002FA4; // type:function size:0x410 -fn_2_33B4 = .text:0x000033B4; // type:function size:0x104 -fn_2_34B8 = .text:0x000034B8; // type:function size:0x380 -fn_2_3838 = .text:0x00003838; // type:function size:0x2EC -fn_2_3B24 = .text:0x00003B24; // type:function size:0x404 -fn_2_3F28 = .text:0x00003F28; // type:function size:0x978 -fn_2_48A0 = .text:0x000048A0; // type:function size:0x1420 -fn_2_5CC0 = .text:0x00005CC0; // type:function size:0x93C -fn_2_65FC = .text:0x000065FC; // type:function size:0x4F8 -fn_2_6AF4 = .text:0x00006AF4; // type:function size:0x50 -fn_2_6B44 = .text:0x00006B44; // type:function size:0x150 -fn_2_6C94 = .text:0x00006C94; // type:function size:0x9AC -fn_2_7640 = .text:0x00007640; // type:function size:0x6C -fn_2_76AC = .text:0x000076AC; // type:function size:0x280 -fn_2_792C = .text:0x0000792C; // type:function size:0x310 -fn_2_7C3C = .text:0x00007C3C; // type:function size:0x78 -fn_2_7CB4 = .text:0x00007CB4; // type:function size:0x1B8 -fn_2_7E6C = .text:0x00007E6C; // type:function size:0x70 -fn_2_7EDC = .text:0x00007EDC; // type:function size:0x574 -fn_2_8450 = .text:0x00008450; // type:function size:0x2EC -fn_2_873C = .text:0x0000873C; // type:function size:0x12C -fn_2_8868 = .text:0x00008868; // type:function size:0x100 -fn_2_8968 = .text:0x00008968; // type:function size:0x1F0 -fn_2_8B58 = .text:0x00008B58; // type:function size:0x100 -fn_2_8C58 = .text:0x00008C58; // type:function size:0x21C -fn_2_8E74 = .text:0x00008E74; // type:function size:0x338 -fn_2_91AC = .text:0x000091AC; // type:function size:0xEC -fn_2_9298 = .text:0x00009298; // type:function size:0x34C -fn_2_95E4 = .text:0x000095E4; // type:function size:0x150 -fn_2_9734 = .text:0x00009734; // type:function size:0x68 -fn_2_979C = .text:0x0000979C; // type:function size:0xF0 -fn_2_988C = .text:0x0000988C; // type:function size:0x118 -fn_2_99A4 = .text:0x000099A4; // type:function size:0x1EC -fn_2_9B90 = .text:0x00009B90; // type:function size:0x170 -fn_2_9D00 = .text:0x00009D00; // type:function size:0x128 -fn_2_9E28 = .text:0x00009E28; // type:function size:0x288 -fn_2_A0B0 = .text:0x0000A0B0; // type:function size:0x268 -fn_2_A318 = .text:0x0000A318; // type:function size:0x58C -fn_2_A8A4 = .text:0x0000A8A4; // type:function size:0x70 -fn_2_A914 = .text:0x0000A914; // type:function size:0x2C -fn_2_A940 = .text:0x0000A940; // type:function size:0x2EC -fn_2_AC2C = .text:0x0000AC2C; // type:function size:0x1164 -fn_2_BD90 = .text:0x0000BD90; // type:function size:0x3A0 -fn_2_C130 = .text:0x0000C130; // type:function size:0x5B0 -fn_2_C6E0 = .text:0x0000C6E0; // type:function size:0x164 -fn_2_C844 = .text:0x0000C844; // type:function size:0x270 -fn_2_CAB4 = .text:0x0000CAB4; // type:function size:0x5D8 -fn_2_D08C = .text:0x0000D08C; // type:function size:0xF8 -fn_2_D184 = .text:0x0000D184; // type:function size:0x268 -fn_2_D3EC = .text:0x0000D3EC; // type:function size:0x4E4 -fn_2_D8D0 = .text:0x0000D8D0; // type:function size:0x300 -fn_2_DBD0 = .text:0x0000DBD0; // type:function size:0x250 -fn_2_DE20 = .text:0x0000DE20; // type:function size:0xA0 -fn_2_DEC0 = .text:0x0000DEC0; // type:function size:0x390 -fn_2_E250 = .text:0x0000E250; // type:function size:0x118 -fn_2_E368 = .text:0x0000E368; // type:function size:0xBC -fn_2_E424 = .text:0x0000E424; // type:function size:0x24C -fn_2_E670 = .text:0x0000E670; // type:function size:0x30 -fn_2_E6A0 = .text:0x0000E6A0; // type:function size:0x20 -fn_2_E6C0 = .text:0x0000E6C0; // type:function size:0x2C -fn_2_E6EC = .text:0x0000E6EC; // type:function size:0x1090 -fn_2_F77C = .text:0x0000F77C; // type:function size:0x4C8 -fn_2_FC44 = .text:0x0000FC44; // type:function size:0x358 -fn_2_FF9C = .text:0x0000FF9C; // type:function size:0x2A8 -fn_2_10244 = .text:0x00010244; // type:function size:0x1DC -fn_2_10420 = .text:0x00010420; // type:function size:0x2F4 -fn_2_10714 = .text:0x00010714; // type:function size:0x8C -fn_2_107A0 = .text:0x000107A0; // type:function size:0x12C -fn_2_108CC = .text:0x000108CC; // type:function size:0xB8 -fn_2_10984 = .text:0x00010984; // type:function size:0x88 -fn_2_10A0C = .text:0x00010A0C; // type:function size:0x80 -fn_2_10A8C = .text:0x00010A8C; // type:function size:0x924 -fn_2_113B0 = .text:0x000113B0; // type:function size:0x504 -fn_2_118B4 = .text:0x000118B4; // type:function size:0x1B8 -fn_2_11A6C = .text:0x00011A6C; // type:function size:0x110 -fn_2_11B7C = .text:0x00011B7C; // type:function size:0xB8 -fn_2_11C34 = .text:0x00011C34; // type:function size:0x110 -fn_2_11D44 = .text:0x00011D44; // type:function size:0x104 -fn_2_11E48 = .text:0x00011E48; // type:function size:0xB8 -fn_2_11F00 = .text:0x00011F00; // type:function size:0xB8 -fn_2_11FB8 = .text:0x00011FB8; // type:function size:0x444 -fn_2_123FC = .text:0x000123FC; // type:function size:0x2D0 -fn_2_126CC = .text:0x000126CC; // type:function size:0x2C -fn_2_126F8 = .text:0x000126F8; // type:function size:0x43C -fn_2_12B34 = .text:0x00012B34; // type:function size:0x4EC -fn_2_13020 = .text:0x00013020; // type:function size:0x4F0 -fn_2_13510 = .text:0x00013510; // type:function size:0x670 -fn_2_13B80 = .text:0x00013B80; // type:function size:0x634 -fn_2_141B4 = .text:0x000141B4; // type:function size:0x120 -fn_2_142D4 = .text:0x000142D4; // type:function size:0x4 -fn_2_142D8 = .text:0x000142D8; // type:function size:0x36C -fn_2_14644 = .text:0x00014644; // type:function size:0xF8 -fn_2_1473C = .text:0x0001473C; // type:function size:0x7C -fn_2_147B8 = .text:0x000147B8; // type:function size:0x660 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_2_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_2_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_2_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_2_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_2_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_2_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_2_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_2_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_2_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_2_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_2_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_2_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_2_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_2_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_2_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_2_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_2_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_2_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_2_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_2_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_2_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_2_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_2_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_2_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_2_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:double -lbl_2_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_2_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_2_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_2_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_2_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_2_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_2_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_2_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_2_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_2_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_2_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_2_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_2_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_2_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_2_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_2_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_2_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_2_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_2_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_2_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_2_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_2_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_2_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_2_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_2_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_2_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_2_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_2_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_2_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_2_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double -lbl_2_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double -lbl_2_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double -lbl_2_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_1DC = .rodata:0x000001DC; // type:object size:0x10 scope:local data:4byte -lbl_2_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_2_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_2_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double -lbl_2_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_2_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_2_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_2_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_2_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_2_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_2_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_2_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_2_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_2_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_2_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double -lbl_2_rodata_258 = .rodata:0x00000258; // type:object size:0x8 scope:local data:double -lbl_2_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_2_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_2_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_2_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_2_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_2_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_2_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_2_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_2_rodata_288 = .rodata:0x00000288; // type:object size:0x8 scope:local data:double -lbl_2_rodata_290 = .rodata:0x00000290; // type:object size:0x40 scope:local data:2byte -lbl_2_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 scope:local data:2byte -lbl_2_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 scope:local data:2byte -lbl_2_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:2byte -lbl_2_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_2_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_2_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_2_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_2_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float -lbl_2_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_2_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_2_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_2_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_2_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_2_rodata_338 = .rodata:0x00000338; // type:object size:0x8 scope:local data:double -lbl_2_rodata_340 = .rodata:0x00000340; // type:object size:0x8 scope:local data:double -lbl_2_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_2_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_2_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_2_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_2_rodata_360 = .rodata:0x00000360; // type:object size:0x8 scope:local data:double -lbl_2_rodata_368 = .rodata:0x00000368; // type:object size:0x8 scope:local data:double -lbl_2_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_2_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_2_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double -lbl_2_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_2_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_2_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_2_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_2_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_2_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 scope:local data:double -lbl_2_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_2_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_2_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_2_rodata_410 = .rodata:0x00000410; // type:object size:0x8 scope:local data:double -lbl_2_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_2_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_2_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_2_rodata_428 = .rodata:0x00000428; // type:object size:0x8 scope:local data:double -lbl_2_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_2_rodata_438 = .rodata:0x00000438; // type:object size:0x8 scope:local data:double -lbl_2_rodata_440 = .rodata:0x00000440; // type:object size:0x8 scope:local data:double -lbl_2_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_2_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_2_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_2_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_2_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_2_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float -lbl_2_rodata_468 = .rodata:0x00000468; // type:object size:0x8 scope:local data:double -lbl_2_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_2_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_2_rodata_478 = .rodata:0x00000478; // type:object size:0x8 scope:local data:double -lbl_2_rodata_480 = .rodata:0x00000480; // type:object size:0x8 scope:local data:double -lbl_2_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_2_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_490 = .rodata:0x00000490; // type:object size:0x4 scope:local data:float -lbl_2_rodata_494 = .rodata:0x00000494; // type:object size:0x4 scope:local data:float -lbl_2_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_2_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 scope:local data:double -lbl_2_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x8 scope:local data:double -lbl_2_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 scope:local data:double -lbl_2_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 scope:local data:double -lbl_2_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_500 = .rodata:0x00000500; // type:object size:0x8 scope:local data:double -lbl_2_rodata_508 = .rodata:0x00000508; // type:object size:0x8 scope:local data:double -lbl_2_rodata_510 = .rodata:0x00000510; // type:object size:0x4 scope:local data:float -lbl_2_rodata_514 = .rodata:0x00000514; // type:object size:0x4 scope:local data:float -lbl_2_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_2_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_2_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float -lbl_2_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_2_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_530 = .rodata:0x00000530; // type:object size:0x4 scope:local data:float -lbl_2_rodata_534 = .rodata:0x00000534; // type:object size:0x4 scope:local data:float -lbl_2_rodata_538 = .rodata:0x00000538; // type:object size:0x4 scope:local data:float -lbl_2_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_540 = .rodata:0x00000540; // type:object size:0x4 scope:local data:float -lbl_2_rodata_544 = .rodata:0x00000544; // type:object size:0x4 scope:local data:float -lbl_2_rodata_548 = .rodata:0x00000548; // type:object size:0x4 scope:local data:float -lbl_2_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_550 = .rodata:0x00000550; // type:object size:0x8 scope:local data:double -lbl_2_rodata_558 = .rodata:0x00000558; // type:object size:0x4 scope:local data:float -lbl_2_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_560 = .rodata:0x00000560; // type:object size:0x8 scope:local data:double -lbl_2_rodata_568 = .rodata:0x00000568; // type:object size:0x4 scope:local data:float -lbl_2_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_570 = .rodata:0x00000570; // type:object size:0x4 scope:local data:float -lbl_2_rodata_574 = .rodata:0x00000574; // type:object size:0x4 scope:local data:float -lbl_2_rodata_578 = .rodata:0x00000578; // type:object size:0x4 scope:local data:float -lbl_2_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_580 = .rodata:0x00000580; // type:object size:0x4 scope:local data:float -lbl_2_rodata_584 = .rodata:0x00000584; // type:object size:0x4 scope:local data:float -lbl_2_rodata_588 = .rodata:0x00000588; // type:object size:0x4 scope:local data:float -lbl_2_rodata_590 = .rodata:0x00000590; // type:object size:0x8 scope:local data:double -lbl_2_rodata_598 = .rodata:0x00000598; // type:object size:0x4 scope:local data:float -lbl_2_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x8 scope:local data:double -lbl_2_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5C4 = .rodata:0x000005C4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float -lbl_2_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 scope:local data:float -lbl_2_data_0 = .data:0x00000000; // type:object size:0x4 data:float -lbl_2_data_4 = .data:0x00000004; // type:object size:0x10 -lbl_2_data_14 = .data:0x00000014; // type:object size:0xC -lbl_2_data_20 = .data:0x00000020; // type:object size:0xC -lbl_2_data_2C = .data:0x0000002C; // type:object size:0x4 -lbl_2_data_30 = .data:0x00000030; // type:object size:0xC data:float -lbl_2_data_3C = .data:0x0000003C; // type:object size:0xC -lbl_2_data_48 = .data:0x00000048; // type:object size:0xC data:float -lbl_2_data_54 = .data:0x00000054; // type:object size:0x1B scope:local data:string -lbl_2_data_6F = .data:0x0000006F; // type:object size:0x11 -lbl_2_data_80 = .data:0x00000080; // type:object size:0x20 -lbl_2_data_A0 = .data:0x000000A0; // type:object size:0x14 -lbl_2_data_B4 = .data:0x000000B4; // type:object size:0x18 -lbl_2_data_CC = .data:0x000000CC; // type:object size:0x28 -lbl_2_data_F4 = .data:0x000000F4; // type:object size:0x9 scope:local data:string -lbl_2_data_FD = .data:0x000000FD; // type:object size:0x9 scope:local data:string -lbl_2_data_106 = .data:0x00000106; // type:object size:0x9 scope:local data:string -lbl_2_data_10F = .data:0x0000010F; // type:object size:0x9 scope:local data:string -lbl_2_data_118 = .data:0x00000118; // type:object size:0xC -lbl_2_data_124 = .data:0x00000124; // type:object size:0x34 data:4byte -lbl_2_data_158 = .data:0x00000158; // type:object size:0x140 -lbl_2_data_298 = .data:0x00000298; // type:object size:0x30 -lbl_2_data_2C8 = .data:0x000002C8; // type:object size:0x30 -jumptable_2_data_2F8 = .data:0x000002F8; // type:object size:0x30 scope:local -lbl_2_data_32C = .data:0x0000032C; // type:object size:0x8 -lbl_2_data_334 = .data:0x00000334; // type:object size:0xF0 -lbl_2_data_424 = .data:0x00000424; // type:object size:0x8 -lbl_2_data_42C = .data:0x0000042C; // type:object size:0x28 -lbl_2_data_454 = .data:0x00000454; // type:object size:0xC scope:local data:string -lbl_2_data_460 = .data:0x00000460; // type:object size:0xC -lbl_2_data_46C = .data:0x0000046C; // type:object size:0x5 scope:local data:string -lbl_2_data_471 = .data:0x00000471; // type:object size:0x7 -jumptable_2_data_478 = .data:0x00000478; // type:object size:0x20 scope:local -lbl_2_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_2_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_2_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte -lbl_2_bss_E = .bss:0x0000000E; // type:object size:0x2 data:2byte -lbl_2_bss_10 = .bss:0x00000010; // type:object size:0x4 data:float -lbl_2_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_2_bss_18 = .bss:0x00000018; // type:object size:0x2 data:2byte -lbl_2_bss_1A = .bss:0x0000001A; // type:object size:0x2 data:2byte -lbl_2_bss_1C = .bss:0x0000001C; // type:object size:0x10 data:4byte -lbl_2_bss_2C = .bss:0x0000002C; // type:object size:0xC data:float -lbl_2_bss_38 = .bss:0x00000038; // type:object size:0xC data:float -lbl_2_bss_44 = .bss:0x00000044; // type:object size:0xC data:float -lbl_2_bss_50 = .bss:0x00000050; // type:object size:0x4 data:float -lbl_2_bss_54 = .bss:0x00000054; // type:object size:0xC data:4byte -lbl_2_bss_60 = .bss:0x00000060; // type:object size:0xC data:float -lbl_2_bss_6C = .bss:0x0000006C; // type:object size:0xC data:float -lbl_2_bss_78 = .bss:0x00000078; // type:object size:0xC data:float -lbl_2_bss_84 = .bss:0x00000084; // type:object size:0x4 data:float -lbl_2_bss_88 = .bss:0x00000088; // type:object size:0x4 data:float -lbl_2_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:4byte -lbl_2_bss_90 = .bss:0x00000090; // type:object size:0x14 data:4byte -lbl_2_bss_A4 = .bss:0x000000A4; // type:object size:0x4 data:4byte -lbl_2_bss_A8 = .bss:0x000000A8; // type:object size:0x2 data:2byte -lbl_2_bss_AA = .bss:0x000000AA; // type:object size:0x8 data:2byte -lbl_2_bss_B2 = .bss:0x000000B2; // type:object size:0x8 data:2byte -lbl_2_bss_BA = .bss:0x000000BA; // type:object size:0x2 data:2byte -lbl_2_bss_BE = .bss:0x000000BE; // type:object size:0x2 data:2byte -lbl_2_bss_C0 = .bss:0x000000C0; // type:object size:0x2 data:2byte -lbl_2_bss_C4 = .bss:0x000000C4; // type:object size:0x4 data:4byte -lbl_2_bss_C8 = .bss:0x000000C8; // type:object size:0x4 data:4byte -lbl_2_bss_CC = .bss:0x000000CC; // type:object size:0x4 data:4byte -lbl_2_bss_D0 = .bss:0x000000D0; // type:object size:0x4 data:4byte -lbl_2_bss_D4 = .bss:0x000000D4; // type:object size:0x4 data:4byte -lbl_2_bss_D8 = .bss:0x000000D8; // type:object size:0x4 data:4byte -lbl_2_bss_DC = .bss:0x000000DC; // type:object size:0x4 data:4byte -lbl_2_bss_E0 = .bss:0x000000E0; // type:object size:0x4 data:4byte -lbl_2_bss_E4 = .bss:0x000000E4; // type:object size:0x10 -lbl_2_bss_F4 = .bss:0x000000F4; // type:object size:0x4 data:4byte -lbl_2_bss_F8 = .bss:0x000000F8; // type:object size:0x4 data:4byte -lbl_2_bss_FC = .bss:0x000000FC; // type:object size:0x4 data:4byte -lbl_2_bss_100 = .bss:0x00000100; // type:object size:0x8 data:4byte -lbl_2_bss_108 = .bss:0x00000108; // type:object size:0x4 data:4byte -lbl_2_bss_10C = .bss:0x0000010C; // type:object size:0x4 data:4byte -lbl_2_bss_110 = .bss:0x00000110; // type:object size:0x4 data:4byte -lbl_2_bss_114 = .bss:0x00000114; // type:object size:0x4 data:4byte -lbl_2_bss_118 = .bss:0x00000118; // type:object size:0x4 data:4byte -lbl_2_bss_11C = .bss:0x0000011C; // type:object size:0x4 data:4byte -lbl_2_bss_120 = .bss:0x00000120; // type:object size:0x2 data:2byte -lbl_2_bss_124 = .bss:0x00000124; // type:object size:0x4 data:float -lbl_2_bss_128 = .bss:0x00000128; // type:object size:0x4 data:float -lbl_2_bss_12C = .bss:0x0000012C; // type:object size:0x8 data:float -lbl_2_bss_134 = .bss:0x00000134; // type:object size:0x2 data:2byte -lbl_2_bss_136 = .bss:0x00000136; // type:object size:0x8 -lbl_2_bss_13E = .bss:0x0000013E; // type:object size:0xE2 -lbl_2_bss_220 = .bss:0x00000220; // type:object size:0x18 data:4byte -lbl_2_bss_238 = .bss:0x00000238; // type:object size:0x4 data:4byte -lbl_2_bss_23C = .bss:0x0000023C; // type:object size:0x4 data:4byte -lbl_2_bss_240 = .bss:0x00000240; // type:object size:0x4 data:4byte -lbl_2_bss_244 = .bss:0x00000244; // type:object size:0x4 data:4byte -lbl_2_bss_248 = .bss:0x00000248; // type:object size:0x4 data:4byte -lbl_2_bss_24C = .bss:0x0000024C; // type:object size:0x4 data:4byte -lbl_2_bss_250 = .bss:0x00000250; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m402Dll/splits.txt b/config/GMPP01_00/rels/m402Dll/splits.txt deleted file mode 100644 index 61b6a88d..00000000 --- a/config/GMPP01_00/rels/m402Dll/splits.txt +++ /dev/null @@ -1,13 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/m402Dll/main.c: - .text start:0x00000000 end:0x00009B6C - .rodata start:0x00000000 end:0x00000194 - .data start:0x00000000 end:0x000004C6 - .bss start:0x00000000 end:0x00000210 diff --git a/config/GMPP01_00/rels/m402Dll/symbols.txt b/config/GMPP01_00/rels/m402Dll/symbols.txt deleted file mode 100644 index d31e3908..00000000 --- a/config/GMPP01_00/rels/m402Dll/symbols.txt +++ /dev/null @@ -1,206 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x24 scope:local -fn_1_24 = .text:0x00000024; // type:function size:0x88 scope:local -fn_1_AC = .text:0x000000AC; // type:function size:0xA4 scope:local -fn_1_150 = .text:0x00000150; // type:function size:0x24 scope:local -fn_1_174 = .text:0x00000174; // type:function size:0x164 scope:local -fn_1_2D8 = .text:0x000002D8; // type:function size:0x13C scope:local -fn_1_414 = .text:0x00000414; // type:function size:0x58 scope:local -fn_1_46C = .text:0x0000046C; // type:function size:0x114 scope:local -fn_1_580 = .text:0x00000580; // type:function size:0x204 scope:local -fn_1_798 = .text:0x00000784; // type:function size:0x240 scope:local -fn_1_9EC = .text:0x000009C4; // type:function size:0x54 scope:local -fn_1_A40 = .text:0x00000A18; // type:function size:0x10C scope:local -fn_1_B4C = .text:0x00000B24; // type:function size:0x680 scope:local -fn_1_11F4 = .text:0x000011A4; // type:function size:0x15C scope:local -fn_1_1350 = .text:0x00001300; // type:function size:0x8C scope:local -fn_1_13DC = .text:0x0000138C; // type:function size:0x334 scope:local -fn_1_1710 = .text:0x000016C0; // type:function size:0x350 scope:local -fn_1_1A60 = .text:0x00001A10; // type:function size:0x2B8 scope:local -fn_1_1D18 = .text:0x00001CC8; // type:function size:0x58 scope:local -fn_1_1D70 = .text:0x00001D20; // type:function size:0xB0 scope:local -fn_1_1E20 = .text:0x00001DD0; // type:function size:0x104 scope:local -fn_1_1F24 = .text:0x00001ED4; // type:function size:0x34 scope:local -fn_1_1F58 = .text:0x00001F08; // type:function size:0x6C scope:local -fn_1_1FC4 = .text:0x00001F74; // type:function size:0x3F0 scope:local -_prolog = .text:0x00002364; // type:function size:0x54 scope:global -_epilog = .text:0x000023B8; // type:function size:0x4C scope:global -fn_1_2454 = .text:0x00002404; // type:function size:0x2F0 scope:local -fn_1_2744 = .text:0x000026F4; // type:function size:0x64 scope:local -fn_1_27A8 = .text:0x00002758; // type:function size:0xD8 scope:local -fn_1_2880 = .text:0x00002830; // type:function size:0xF0 scope:local -fn_1_2970 = .text:0x00002920; // type:function size:0x1C0 scope:local -fn_1_2B30 = .text:0x00002AE0; // type:function size:0x28C scope:local -fn_1_2DBC = .text:0x00002D6C; // type:function size:0x380 scope:local -fn_1_313C = .text:0x000030EC; // type:function size:0xC8 scope:local -fn_1_3204 = .text:0x000031B4; // type:function size:0xF8C scope:local -fn_1_4190 = .text:0x00004140; // type:function size:0xF4 scope:local -fn_1_4284 = .text:0x00004234; // type:function size:0x154 scope:local -fn_1_43D8 = .text:0x00004388; // type:function size:0x1FF0 scope:local -fn_1_63C8 = .text:0x00006378; // type:function size:0x490 scope:local -fn_1_6858 = .text:0x00006808; // type:function size:0x4 scope:local -fn_1_685C = .text:0x0000680C; // type:function size:0x258 scope:local -fn_1_6AB4 = .text:0x00006A64; // type:function size:0x3B0 scope:local -fn_1_6E64 = .text:0x00006E14; // type:function size:0x1BC scope:local -fn_1_7020 = .text:0x00006FD0; // type:function size:0xC4 scope:local -fn_1_70E4 = .text:0x00007094; // type:function size:0x86C scope:local -fn_1_7950 = .text:0x00007900; // type:function size:0x19C scope:local -fn_1_7AEC = .text:0x00007A9C; // type:function size:0x25C scope:local -fn_1_7D48 = .text:0x00007CF8; // type:function size:0x4 scope:local -fn_1_7D4C = .text:0x00007CFC; // type:function size:0x134 scope:local -fn_1_7E80 = .text:0x00007E30; // type:function size:0x4 scope:local -fn_1_7E84 = .text:0x00007E34; // type:function size:0x1C4 scope:local -fn_1_8048 = .text:0x00007FF8; // type:function size:0x1D0 scope:local -fn_1_8218 = .text:0x000081C8; // type:function size:0xE38 scope:local -fn_1_9058 = .text:0x00009000; // type:function size:0x1EC scope:local -ObjectSetup = .text:0x000091EC; // type:function size:0x8B0 -fn_1_9AF4 = .text:0x00009A9C; // type:function size:0xD0 scope:local -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x10 scope:local -lbl_1_data_10 = .data:0x00000010; // type:object size:0xC scope:local data:4byte -lbl_1_data_1C = .data:0x0000001C; // type:object size:0xC scope:local -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC scope:local data:4byte -lbl_1_data_34 = .data:0x00000034; // type:object size:0xC scope:local -lbl_1_data_40 = .data:0x00000040; // type:object size:0xC scope:local -lbl_1_data_4C = .data:0x0000004C; // type:object size:0x14 scope:local -lbl_1_data_60 = .data:0x00000060; // type:object size:0xC scope:local -lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC scope:local -lbl_1_data_78 = .data:0x00000078; // type:object size:0x160 scope:local -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0x10 scope:local -lbl_1_data_1E8 = .data:0x000001E8; // type:object size:0xC scope:local -lbl_1_data_1F4 = .data:0x000001F4; // type:object size:0x4 scope:local data:4byte -lbl_1_data_1F8 = .data:0x000001F8; // type:object size:0x8 scope:local -lbl_1_data_200 = .data:0x00000200; // type:object size:0x18 scope:local -lbl_1_data_218 = .data:0x00000218; // type:object size:0x1C scope:local -lbl_1_data_234 = .data:0x00000234; // type:object size:0x190 scope:local -lbl_1_data_3C4 = .data:0x000003C4; // type:object size:0x14 scope:local -lbl_1_data_3D8 = .data:0x000003D8; // type:object size:0x1A scope:local data:string -lbl_1_data_3F2 = .data:0x000003F2; // type:object size:0x9 scope:local data:string -lbl_1_data_3FB = .data:0x000003FB; // type:object size:0x6 scope:local data:string -lbl_1_data_401 = .data:0x00000401; // type:object size:0x10 scope:local data:string -lbl_1_data_411 = .data:0x00000411; // type:object size:0x1F scope:local -jumptable_1_data_430 = .data:0x00000430; // type:object size:0x40 scope:local -lbl_1_data_470 = .data:0x00000470; // type:object size:0x17 scope:local data:string -lbl_1_data_487 = .data:0x00000487; // type:object size:0x1B scope:local data:string -lbl_1_data_4A2 = .data:0x000004A2; // type:object size:0x24 scope:local data:string -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 scope:local data:float -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 scope:local data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 scope:local data:float -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_16 = .bss:0x00000016; // type:object size:0xE scope:local -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_26 = .bss:0x00000026; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x8 scope:local data:float -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x100 scope:local -lbl_1_bss_15C = .bss:0x0000015C; // type:object size:0x40 scope:local data:4byte -lbl_1_bss_19C = .bss:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_bss_1A0 = .bss:0x000001A0; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_1A4 = .bss:0x000001A4; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_1A8 = .bss:0x000001A8; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_1AA = .bss:0x000001AA; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_1AC = .bss:0x000001AC; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_1B0 = .bss:0x000001B0; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_1B4 = .bss:0x000001B4; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_1B8 = .bss:0x000001B8; // type:object size:0xC scope:local data:4byte -lbl_1_bss_1C4 = .bss:0x000001C4; // type:object size:0xC scope:local data:4byte -lbl_1_bss_1D0 = .bss:0x000001D0; // type:object size:0xC scope:local data:4byte -lbl_1_bss_1DC = .bss:0x000001DC; // type:object size:0xC scope:local data:4byte -lbl_1_bss_1E8 = .bss:0x000001E8; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_1EC = .bss:0x000001EC; // type:object size:0x18 scope:local data:4byte -lbl_1_bss_204 = .bss:0x00000204; // type:object size:0xC scope:local data:4byte diff --git a/config/GMPP01_00/rels/m403Dll/splits.txt b/config/GMPP01_00/rels/m403Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m403Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m403Dll/symbols.txt b/config/GMPP01_00/rels/m403Dll/symbols.txt deleted file mode 100644 index 33bec762..00000000 --- a/config/GMPP01_00/rels/m403Dll/symbols.txt +++ /dev/null @@ -1,259 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x384 -fn_1_424 = .text:0x00000424; // type:function size:0x20 -fn_1_444 = .text:0x00000444; // type:function size:0x3E8 -fn_1_82C = .text:0x0000082C; // type:function size:0x9E8 -fn_1_1214 = .text:0x00001214; // type:function size:0x60 -fn_1_1274 = .text:0x00001274; // type:function size:0x1EC -fn_1_1460 = .text:0x00001460; // type:function size:0x288 -fn_1_16E8 = .text:0x000016E8; // type:function size:0x104 -fn_1_17EC = .text:0x000017EC; // type:function size:0x274 -fn_1_1A60 = .text:0x00001A60; // type:function size:0xA0 -fn_1_1B00 = .text:0x00001B00; // type:function size:0x2B8 -fn_1_1DB8 = .text:0x00001DB8; // type:function size:0x28 -fn_1_1DE0 = .text:0x00001DE0; // type:function size:0x388 -fn_1_2168 = .text:0x00002168; // type:function size:0x14C -fn_1_22B4 = .text:0x000022B4; // type:function size:0x2F4 -fn_1_25A8 = .text:0x000025A8; // type:function size:0xA44 -fn_1_2FEC = .text:0x00002FEC; // type:function size:0x824 -fn_1_3810 = .text:0x00003810; // type:function size:0x94 -fn_1_38A4 = .text:0x000038A4; // type:function size:0x2EC -fn_1_3B90 = .text:0x00003B90; // type:function size:0x1EC -fn_1_3D7C = .text:0x00003D7C; // type:function size:0xE0 -fn_1_3E5C = .text:0x00003E5C; // type:function size:0x1C0 -fn_1_401C = .text:0x0000401C; // type:function size:0x9C -fn_1_40B8 = .text:0x000040B8; // type:function size:0x480 -fn_1_4538 = .text:0x00004538; // type:function size:0x54 -fn_1_458C = .text:0x0000458C; // type:function size:0x168 -fn_1_46F4 = .text:0x000046F4; // type:function size:0x120 -fn_1_4814 = .text:0x00004814; // type:function size:0x30C -fn_1_4B20 = .text:0x00004B20; // type:function size:0x78 -fn_1_4B98 = .text:0x00004B98; // type:function size:0x11C -fn_1_4CB4 = .text:0x00004CB4; // type:function size:0x78 -fn_1_4D2C = .text:0x00004D2C; // type:function size:0x2D8 -fn_1_5004 = .text:0x00005004; // type:function size:0x2B8 -fn_1_52BC = .text:0x000052BC; // type:function size:0x154 -fn_1_5410 = .text:0x00005410; // type:function size:0x3E0 -fn_1_57F0 = .text:0x000057F0; // type:function size:0x214 -fn_1_5A04 = .text:0x00005A04; // type:function size:0x198 -fn_1_5B9C = .text:0x00005B9C; // type:function size:0xD8 -fn_1_5C74 = .text:0x00005C74; // type:function size:0xBC -fn_1_5D30 = .text:0x00005D30; // type:function size:0x33C -fn_1_606C = .text:0x0000606C; // type:function size:0x4B0 -fn_1_651C = .text:0x0000651C; // type:function size:0x260 -fn_1_677C = .text:0x0000677C; // type:function size:0x20 -fn_1_679C = .text:0x0000679C; // type:function size:0x84 -fn_1_6820 = .text:0x00006820; // type:function size:0x4 -fn_1_6824 = .text:0x00006824; // type:function size:0x16C -fn_1_6990 = .text:0x00006990; // type:function size:0x318 -fn_1_6CA8 = .text:0x00006CA8; // type:function size:0x240 -fn_1_6EE8 = .text:0x00006EE8; // type:function size:0x110 -fn_1_6FF8 = .text:0x00006FF8; // type:function size:0x400 -fn_1_73F8 = .text:0x000073F8; // type:function size:0x5B4 -fn_1_79AC = .text:0x000079AC; // type:function size:0xFC -fn_1_7AA8 = .text:0x00007AA8; // type:function size:0x88 -fn_1_7B30 = .text:0x00007B30; // type:function size:0xB4 -fn_1_7BE4 = .text:0x00007BE4; // type:function size:0x4C -fn_1_7C30 = .text:0x00007C30; // type:function size:0x10 -fn_1_7C40 = .text:0x00007C40; // type:function size:0x20 -fn_1_7C60 = .text:0x00007C60; // type:function size:0x10 -fn_1_7C70 = .text:0x00007C70; // type:function size:0xA4 -fn_1_7D14 = .text:0x00007D14; // type:function size:0x274 -fn_1_7F88 = .text:0x00007F88; // type:function size:0x15C -fn_1_80E4 = .text:0x000080E4; // type:function size:0x180 -fn_1_8264 = .text:0x00008264; // type:function size:0x10 -fn_1_8274 = .text:0x00008274; // type:function size:0x10 -fn_1_8284 = .text:0x00008284; // type:function size:0x5C -fn_1_82E0 = .text:0x000082E0; // type:function size:0x1A0 -fn_1_8480 = .text:0x00008480; // type:function size:0x200 -fn_1_8680 = .text:0x00008680; // type:function size:0x30 -fn_1_86B0 = .text:0x000086B0; // type:function size:0x8CC -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x9 data:byte -lbl_1_rodata_AD = .rodata:0x000000AD; // type:object size:0xB data:byte -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x2 data:2byte -lbl_1_data_4 = .data:0x00000004; // type:object size:0xC -lbl_1_data_10 = .data:0x00000010; // type:object size:0xC -lbl_1_data_1C = .data:0x0000001C; // type:object size:0x28 -lbl_1_data_44 = .data:0x00000044; // type:object size:0x24 -lbl_1_data_68 = .data:0x00000068; // type:object size:0x4 data:4byte -lbl_1_data_6C = .data:0x0000006C; // type:object size:0x20 -jumptable_1_data_8C = .data:0x0000008C; // type:object size:0x1C scope:local -jumptable_1_data_A8 = .data:0x000000A8; // type:object size:0x1C scope:local -lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x20 -lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x30 -lbl_1_data_114 = .data:0x00000114; // type:object size:0x20 -lbl_1_data_134 = .data:0x00000134; // type:object size:0x20 -lbl_1_data_154 = .data:0x00000154; // type:object size:0x4 data:4byte -lbl_1_data_158 = .data:0x00000158; // type:object size:0xC0 -lbl_1_data_218 = .data:0x00000218; // type:object size:0xC0 -lbl_1_data_2D8 = .data:0x000002D8; // type:object size:0x78 -lbl_1_data_350 = .data:0x00000350; // type:object size:0x78 -lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0xC0 -lbl_1_data_488 = .data:0x00000488; // type:object size:0xC0 -lbl_1_data_548 = .data:0x00000548; // type:object size:0x78 -lbl_1_data_5C0 = .data:0x000005C0; // type:object size:0x78 -lbl_1_data_638 = .data:0x00000638; // type:object size:0x108 -lbl_1_data_740 = .data:0x00000740; // type:object size:0x108 -lbl_1_data_848 = .data:0x00000848; // type:object size:0x108 -lbl_1_data_950 = .data:0x00000950; // type:object size:0x108 -lbl_1_data_A58 = .data:0x00000A58; // type:object size:0x30 -lbl_1_data_A88 = .data:0x00000A88; // type:object size:0x48 -lbl_1_data_AD0 = .data:0x00000AD0; // type:object size:0xC data:4byte -lbl_1_data_ADC = .data:0x00000ADC; // type:object size:0xC data:4byte -lbl_1_data_AE8 = .data:0x00000AE8; // type:object size:0x14 data:4byte -lbl_1_data_AFC = .data:0x00000AFC; // type:object size:0x18 -lbl_1_data_B14 = .data:0x00000B14; // type:object size:0x18 -lbl_1_data_B2C = .data:0x00000B2C; // type:object size:0x48 -lbl_1_data_B74 = .data:0x00000B74; // type:object size:0x30 -lbl_1_data_BA4 = .data:0x00000BA4; // type:object size:0x18 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x2 data:2byte -lbl_1_bss_2 = .bss:0x00000002; // type:object size:0x2 data:2byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x8 data:2byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0xC data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x2 data:2byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0xC data:2byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x2 data:2byte -lbl_1_bss_2A = .bss:0x0000002A; // type:object size:0x2 data:2byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x2 data:2byte -lbl_1_bss_2E = .bss:0x0000002E; // type:object size:0x2 data:2byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x2 data:2byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x10 -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x8 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x18 -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x4 data:4byte -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x4 data:4byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x4 data:float -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x4 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x4 data:4byte -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:4byte -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x4 data:4byte -lbl_1_bss_94 = .bss:0x00000094; // type:object size:0x4 data:4byte -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x4 data:4byte -lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0x14 -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x4 data:4byte -lbl_1_bss_B4 = .bss:0x000000B4; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m404Dll/splits.txt b/config/GMPP01_00/rels/m404Dll/splits.txt deleted file mode 100644 index a69fcd5d..00000000 --- a/config/GMPP01_00/rels/m404Dll/splits.txt +++ /dev/null @@ -1,16 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/m404Dll/main.c: - .text start:0x000000A0 end:0x00006C88 - .rodata start:0x00000000 end:0x00000148 - .data start:0x00000000 end:0x00000A0C - .bss start:0x00000000 end:0x0000005C diff --git a/config/GMPP01_00/rels/m404Dll/symbols.txt b/config/GMPP01_00/rels/m404Dll/symbols.txt deleted file mode 100644 index 9a309233..00000000 --- a/config/GMPP01_00/rels/m404Dll/symbols.txt +++ /dev/null @@ -1,155 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x2DC -fn_1_37C = .text:0x0000037C; // type:function size:0x10 -fn_1_38C = .text:0x0000038C; // type:function size:0x10 -fn_1_39C = .text:0x0000039C; // type:function size:0x64 -fn_1_400 = .text:0x00000400; // type:function size:0x384 -fn_1_784 = .text:0x00000784; // type:function size:0x5C -fn_1_7E0 = .text:0x000007E0; // type:function size:0x2BC -fn_1_A9C = .text:0x00000A9C; // type:function size:0x234 -fn_1_CD0 = .text:0x00000CD0; // type:function size:0x30 -fn_1_D00 = .text:0x00000D00; // type:function size:0xEC -fn_1_DEC = .text:0x00000DEC; // type:function size:0x5C -fn_1_E48 = .text:0x00000E48; // type:function size:0x8C -fn_1_ED4 = .text:0x00000ED4; // type:function size:0x9C -fn_1_F70 = .text:0x00000F70; // type:function size:0x1F0 -fn_1_1160 = .text:0x00001160; // type:function size:0x1E4 -fn_1_1344 = .text:0x00001344; // type:function size:0x7B8 -fn_1_1AFC = .text:0x00001AFC; // type:function size:0x184 -fn_1_1C80 = .text:0x00001C80; // type:function size:0xA8 -fn_1_1D28 = .text:0x00001D28; // type:function size:0xD0 -fn_1_1DF8 = .text:0x00001DF8; // type:function size:0x38C -fn_1_2184 = .text:0x00002184; // type:function size:0xD38 -fn_1_2EBC = .text:0x00002EBC; // type:function size:0xB7C -fn_1_3A38 = .text:0x00003A38; // type:function size:0x3F4 -fn_1_3E2C = .text:0x00003E2C; // type:function size:0x104 -fn_1_3F30 = .text:0x00003F30; // type:function size:0x52C -fn_1_445C = .text:0x0000445C; // type:function size:0x44 -fn_1_44A0 = .text:0x000044A0; // type:function size:0x7DC -fn_1_4C7C = .text:0x00004C7C; // type:function size:0x2D0 -fn_1_4F4C = .text:0x00004F4C; // type:function size:0x32C -fn_1_5278 = .text:0x00005278; // type:function size:0x2C4 -fn_1_553C = .text:0x0000553C; // type:function size:0x5C -fn_1_5598 = .text:0x00005598; // type:function size:0x58 -fn_1_55F0 = .text:0x000055F0; // type:function size:0x4 -fn_1_55F4 = .text:0x000055F4; // type:function size:0x1AC -fn_1_57A0 = .text:0x000057A0; // type:function size:0x4 -fn_1_57A4 = .text:0x000057A4; // type:function size:0x140 -fn_1_58E4 = .text:0x000058E4; // type:function size:0x480 -fn_1_5D64 = .text:0x00005D64; // type:function size:0x110 -fn_1_5E74 = .text:0x00005E74; // type:function size:0x208 -fn_1_607C = .text:0x0000607C; // type:function size:0x1CC -fn_1_6248 = .text:0x00006248; // type:function size:0x1F8 -fn_1_6440 = .text:0x00006440; // type:function size:0x4C -fn_1_648C = .text:0x0000648C; // type:function size:0x250 -fn_1_66DC = .text:0x000066DC; // type:function size:0x5AC -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x6 scope:local data:2byte -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x20 scope:local data:byte -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x248 -lbl_1_data_248 = .data:0x00000248; // type:object size:0x260 -lbl_1_data_4A8 = .data:0x000004A8; // type:object size:0x290 -lbl_1_data_738 = .data:0x00000738; // type:object size:0x38 data:float -lbl_1_data_770 = .data:0x00000770; // type:object size:0xC data:float -lbl_1_data_77C = .data:0x0000077C; // type:object size:0xC data:float -lbl_1_data_788 = .data:0x00000788; // type:object size:0x4 -lbl_1_data_78C = .data:0x0000078C; // type:object size:0xC -lbl_1_data_798 = .data:0x00000798; // type:object size:0xC -lbl_1_data_7A4 = .data:0x000007A4; // type:object size:0x23 scope:local data:string -lbl_1_data_7C8 = .data:0x000007C8; // type:object size:0x4 data:4byte -jumptable_1_data_7CC = .data:0x000007CC; // type:object size:0x28 scope:local -lbl_1_data_7F4 = .data:0x000007F4; // type:object size:0x1C scope:local data:string -lbl_1_data_810 = .data:0x00000810; // type:object size:0xC -lbl_1_data_81C = .data:0x0000081C; // type:object size:0x30 -lbl_1_data_84C = .data:0x0000084C; // type:object size:0x20 -lbl_1_data_86C = .data:0x0000086C; // type:object size:0x20 -lbl_1_data_88C = .data:0x0000088C; // type:object size:0x4 data:4byte -lbl_1_data_890 = .data:0x00000890; // type:object size:0x28 -lbl_1_data_8B8 = .data:0x000008B8; // type:object size:0x20 -lbl_1_data_8D8 = .data:0x000008D8; // type:object size:0x10 -lbl_1_data_8E8 = .data:0x000008E8; // type:object size:0xC -lbl_1_data_8F4 = .data:0x000008F4; // type:object size:0x8 data:wstring -lbl_1_data_8FC = .data:0x000008FC; // type:object size:0x18 -lbl_1_data_914 = .data:0x00000914; // type:object size:0x19 scope:local data:string -lbl_1_data_930 = .data:0x00000930; // type:object size:0x20 -lbl_1_data_950 = .data:0x00000950; // type:object size:0x20 -lbl_1_data_970 = .data:0x00000970; // type:object size:0x7 scope:local data:string -lbl_1_data_977 = .data:0x00000977; // type:object size:0x7 scope:local data:string -lbl_1_data_97E = .data:0x0000097E; // type:object size:0x7 scope:local data:string -lbl_1_data_985 = .data:0x00000985; // type:object size:0x7 scope:local data:string -lbl_1_data_98C = .data:0x0000098C; // type:object size:0x10 -lbl_1_data_99C = .data:0x0000099C; // type:object size:0x10 -lbl_1_data_9AC = .data:0x000009AC; // type:object size:0x30 -lbl_1_data_9DC = .data:0x000009DC; // type:object size:0x18 data:4byte -lbl_1_data_9F4 = .data:0x000009F4; // type:object size:0x18 data:4byte -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x8 data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0xC data:float -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x10 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x10 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m405Dll/splits.txt b/config/GMPP01_00/rels/m405Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m405Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m405Dll/symbols.txt b/config/GMPP01_00/rels/m405Dll/symbols.txt deleted file mode 100644 index 0dccfd63..00000000 --- a/config/GMPP01_00/rels/m405Dll/symbols.txt +++ /dev/null @@ -1,256 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x24 -fn_1_24 = .text:0x00000024; // type:function size:0x88 -fn_1_AC = .text:0x000000AC; // type:function size:0xA4 -fn_1_150 = .text:0x00000150; // type:function size:0x24 -fn_1_174 = .text:0x00000174; // type:function size:0x164 -fn_1_2D8 = .text:0x000002D8; // type:function size:0x13C -fn_1_414 = .text:0x00000414; // type:function size:0x58 -fn_1_46C = .text:0x0000046C; // type:function size:0x114 -fn_1_580 = .text:0x00000580; // type:function size:0x204 -fn_1_784 = .text:0x00000784; // type:function size:0x240 -fn_1_9C4 = .text:0x000009C4; // type:function size:0x54 -fn_1_A18 = .text:0x00000A18; // type:function size:0x10C -fn_1_B24 = .text:0x00000B24; // type:function size:0x680 -fn_1_11A4 = .text:0x000011A4; // type:function size:0x15C -fn_1_1300 = .text:0x00001300; // type:function size:0x8C -fn_1_138C = .text:0x0000138C; // type:function size:0x334 -fn_1_16C0 = .text:0x000016C0; // type:function size:0x350 -fn_1_1A10 = .text:0x00001A10; // type:function size:0x2B8 -fn_1_1CC8 = .text:0x00001CC8; // type:function size:0x58 -fn_1_1D20 = .text:0x00001D20; // type:function size:0xB0 -fn_1_1DD0 = .text:0x00001DD0; // type:function size:0x104 -fn_1_1ED4 = .text:0x00001ED4; // type:function size:0x34 -fn_1_1F08 = .text:0x00001F08; // type:function size:0x6C -fn_1_1F74 = .text:0x00001F74; // type:function size:0x3F0 -fn_1_2364 = .text:0x00002364; // type:function size:0xCC -fn_1_2430 = .text:0x00002430; // type:function size:0x88 -fn_1_24B8 = .text:0x000024B8; // type:function size:0x20C -fn_1_26C4 = .text:0x000026C4; // type:function size:0xF8 -fn_1_27BC = .text:0x000027BC; // type:function size:0x2A0 -fn_1_2A5C = .text:0x00002A5C; // type:function size:0xCF8 -fn_1_3754 = .text:0x00003754; // type:function size:0x778 -fn_1_3ECC = .text:0x00003ECC; // type:function size:0x24 -fn_1_3EF0 = .text:0x00003EF0; // type:function size:0xE4 -fn_1_3FD4 = .text:0x00003FD4; // type:function size:0x6DC -fn_1_46B0 = .text:0x000046B0; // type:function size:0x828 -fn_1_4ED8 = .text:0x00004ED8; // type:function size:0x4DC -fn_1_53B4 = .text:0x000053B4; // type:function size:0x12C -fn_1_54E0 = .text:0x000054E0; // type:function size:0x4C -fn_1_552C = .text:0x0000552C; // type:function size:0xE8 -fn_1_5614 = .text:0x00005614; // type:function size:0xF8 -_prolog = .text:0x0000570C; // type:function size:0x54 scope:global -_epilog = .text:0x00005760; // type:function size:0x4C scope:global -fn_1_57AC = .text:0x000057AC; // type:function size:0xA4 -fn_1_5850 = .text:0x00005850; // type:function size:0x288 -fn_1_5AD8 = .text:0x00005AD8; // type:function size:0x214 -fn_1_5CEC = .text:0x00005CEC; // type:function size:0x90 -fn_1_5D7C = .text:0x00005D7C; // type:function size:0x274 -fn_1_5FF0 = .text:0x00005FF0; // type:function size:0x57C -fn_1_656C = .text:0x0000656C; // type:function size:0x26C -fn_1_67D8 = .text:0x000067D8; // type:function size:0xA4 -fn_1_687C = .text:0x0000687C; // type:function size:0x330 -fn_1_6BAC = .text:0x00006BAC; // type:function size:0xD90 -fn_1_793C = .text:0x0000793C; // type:function size:0x828 -fn_1_8164 = .text:0x00008164; // type:function size:0x93C -fn_1_8AA0 = .text:0x00008AA0; // type:function size:0x798 -fn_1_9238 = .text:0x00009238; // type:function size:0x1A50 -fn_1_AC88 = .text:0x0000AC88; // type:function size:0x3CC -fn_1_B054 = .text:0x0000B054; // type:function size:0x4EC -fn_1_B540 = .text:0x0000B540; // type:function size:0x16C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x1 data:byte -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x1 data:byte -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x1 data:byte -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x10 -lbl_1_data_10 = .data:0x00000010; // type:object size:0x30 data:2byte -lbl_1_data_40 = .data:0x00000040; // type:object size:0x60 -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x48 -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x1 data:byte -lbl_1_data_EC = .data:0x000000EC; // type:object size:0x14 -lbl_1_data_100 = .data:0x00000100; // type:object size:0xC -lbl_1_data_10C = .data:0x0000010C; // type:object size:0xC data:4byte -lbl_1_data_118 = .data:0x00000118; // type:object size:0xC data:4byte -lbl_1_data_124 = .data:0x00000124; // type:object size:0xC data:4byte -lbl_1_data_130 = .data:0x00000130; // type:object size:0xC data:4byte -lbl_1_data_13C = .data:0x0000013C; // type:object size:0xC data:4byte -lbl_1_data_148 = .data:0x00000148; // type:object size:0xC data:4byte -lbl_1_data_154 = .data:0x00000154; // type:object size:0xC -lbl_1_data_160 = .data:0x00000160; // type:object size:0xC -lbl_1_data_16C = .data:0x0000016C; // type:object size:0x4 -lbl_1_data_170 = .data:0x00000170; // type:object size:0xC -lbl_1_data_17C = .data:0x0000017C; // type:object size:0xC -lbl_1_data_188 = .data:0x00000188; // type:object size:0x100 -lbl_1_data_288 = .data:0x00000288; // type:object size:0x8 -lbl_1_data_290 = .data:0x00000290; // type:object size:0x20 -lbl_1_data_2B0 = .data:0x000002B0; // type:object size:0x10 -lbl_1_data_2C0 = .data:0x000002C0; // type:object size:0x50 -lbl_1_data_310 = .data:0x00000310; // type:object size:0x18 data:4byte -lbl_1_data_328 = .data:0x00000328; // type:object size:0x14 -lbl_1_data_33C = .data:0x0000033C; // type:object size:0xA -lbl_1_data_346 = .data:0x00000346; // type:object size:0xA -lbl_1_data_350 = .data:0x00000350; // type:object size:0x8 -lbl_1_data_358 = .data:0x00000358; // type:object size:0x8 -lbl_1_data_360 = .data:0x00000360; // type:object size:0x8 -lbl_1_data_368 = .data:0x00000368; // type:object size:0x8 -lbl_1_data_370 = .data:0x00000370; // type:object size:0x50 -lbl_1_data_3C0 = .data:0x000003C0; // type:object size:0x50 -lbl_1_data_410 = .data:0x00000410; // type:object size:0xC data:string -lbl_1_data_41C = .data:0x0000041C; // type:object size:0x16 data:string -lbl_1_data_432 = .data:0x00000432; // type:object size:0x1D data:string -lbl_1_data_44F = .data:0x0000044F; // type:object size:0x1D -jumptable_1_data_46C = .data:0x0000046C; // type:object size:0x24 scope:local -lbl_1_data_490 = .data:0x00000490; // type:object size:0x24 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x18 data:float -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x18 data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x18 data:float -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x18 data:float -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x4 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:float -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x4 data:float -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x4 data:4byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x4 data:float -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x2 data:2byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x4 data:4byte -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x2 data:2byte -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x8 data:4byte -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x4 data:4byte -lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0x4 data:4byte -lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x4 data:4byte -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x1 data:byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x500 data:float -lbl_1_bss_5AC = .bss:0x000005AC; // type:object size:0x2C data:4byte -lbl_1_bss_5D8 = .bss:0x000005D8; // type:object size:0x4 data:4byte -lbl_1_bss_5DC = .bss:0x000005DC; // type:object size:0x4 data:4byte -lbl_1_bss_5E0 = .bss:0x000005E0; // type:object size:0x4 data:4byte -lbl_1_bss_5E4 = .bss:0x000005E4; // type:object size:0x4 data:4byte -lbl_1_bss_5E8 = .bss:0x000005E8; // type:object size:0x100 -lbl_1_bss_6E8 = .bss:0x000006E8; // type:object size:0x40 data:4byte -lbl_1_bss_728 = .bss:0x00000728; // type:object size:0x4 data:float -lbl_1_bss_72C = .bss:0x0000072C; // type:object size:0x4 data:4byte -lbl_1_bss_730 = .bss:0x00000730; // type:object size:0x4 data:4byte -lbl_1_bss_734 = .bss:0x00000734; // type:object size:0x2 data:2byte -lbl_1_bss_736 = .bss:0x00000736; // type:object size:0x2 data:2byte -lbl_1_bss_738 = .bss:0x00000738; // type:object size:0x4 data:4byte -lbl_1_bss_73C = .bss:0x0000073C; // type:object size:0x4 data:4byte -lbl_1_bss_740 = .bss:0x00000740; // type:object size:0x4 data:4byte -lbl_1_bss_744 = .bss:0x00000744; // type:object size:0xC data:float -lbl_1_bss_750 = .bss:0x00000750; // type:object size:0xC data:4byte -lbl_1_bss_75C = .bss:0x0000075C; // type:object size:0xC data:float -lbl_1_bss_768 = .bss:0x00000768; // type:object size:0xC data:4byte -lbl_1_bss_774 = .bss:0x00000774; // type:object size:0x4 data:4byte -lbl_1_bss_778 = .bss:0x00000778; // type:object size:0x18 data:4byte -lbl_1_bss_790 = .bss:0x00000790; // type:object size:0xC data:4byte diff --git a/config/GMPP01_00/rels/m406Dll/splits.txt b/config/GMPP01_00/rels/m406Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m406Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m406Dll/symbols.txt b/config/GMPP01_00/rels/m406Dll/symbols.txt deleted file mode 100644 index 6be5c2a5..00000000 --- a/config/GMPP01_00/rels/m406Dll/symbols.txt +++ /dev/null @@ -1,438 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x318 -fn_1_3B8 = .text:0x000003B8; // type:function size:0x54 -fn_1_40C = .text:0x0000040C; // type:function size:0xD00 -fn_1_110C = .text:0x0000110C; // type:function size:0x5C -fn_1_1168 = .text:0x00001168; // type:function size:0xC4 -fn_1_122C = .text:0x0000122C; // type:function size:0x10 -fn_1_123C = .text:0x0000123C; // type:function size:0x38 -fn_1_1274 = .text:0x00001274; // type:function size:0x10 -fn_1_1284 = .text:0x00001284; // type:function size:0x38 -fn_1_12BC = .text:0x000012BC; // type:function size:0x84 -fn_1_1340 = .text:0x00001340; // type:function size:0x1DC -fn_1_151C = .text:0x0000151C; // type:function size:0x4 -fn_1_1520 = .text:0x00001520; // type:function size:0x4 -fn_1_1524 = .text:0x00001524; // type:function size:0xAC -fn_1_15D0 = .text:0x000015D0; // type:function size:0x26C -fn_1_183C = .text:0x0000183C; // type:function size:0x35C -fn_1_1B98 = .text:0x00001B98; // type:function size:0x10 -fn_1_1BA8 = .text:0x00001BA8; // type:function size:0x118 -fn_1_1CC0 = .text:0x00001CC0; // type:function size:0x250 -fn_1_1F10 = .text:0x00001F10; // type:function size:0x3F8 -fn_1_2308 = .text:0x00002308; // type:function size:0x624 -fn_1_292C = .text:0x0000292C; // type:function size:0x2C0 -fn_1_2BEC = .text:0x00002BEC; // type:function size:0x38 -fn_1_2C24 = .text:0x00002C24; // type:function size:0x440 -fn_1_3064 = .text:0x00003064; // type:function size:0xF4 -fn_1_3158 = .text:0x00003158; // type:function size:0xF2C -fn_1_4084 = .text:0x00004084; // type:function size:0x4E4 -fn_1_4568 = .text:0x00004568; // type:function size:0x54 -fn_1_45BC = .text:0x000045BC; // type:function size:0x3A8 -fn_1_4964 = .text:0x00004964; // type:function size:0x1810 -fn_1_6174 = .text:0x00006174; // type:function size:0x190 -fn_1_6304 = .text:0x00006304; // type:function size:0x1F4 -fn_1_64F8 = .text:0x000064F8; // type:function size:0x1FC -fn_1_66F4 = .text:0x000066F4; // type:function size:0xD8 -fn_1_67CC = .text:0x000067CC; // type:function size:0x1A0 -fn_1_696C = .text:0x0000696C; // type:function size:0x54 -fn_1_69C0 = .text:0x000069C0; // type:function size:0x84 -fn_1_6A44 = .text:0x00006A44; // type:function size:0x118 -fn_1_6B5C = .text:0x00006B5C; // type:function size:0x58 -fn_1_6BB4 = .text:0x00006BB4; // type:function size:0x370 -fn_1_6F24 = .text:0x00006F24; // type:function size:0xD8 -fn_1_6FFC = .text:0x00006FFC; // type:function size:0x180 -fn_1_717C = .text:0x0000717C; // type:function size:0x48 -fn_1_71C4 = .text:0x000071C4; // type:function size:0x134 -fn_1_72F8 = .text:0x000072F8; // type:function size:0x3B0 -fn_1_76A8 = .text:0x000076A8; // type:function size:0x70 -fn_1_7718 = .text:0x00007718; // type:function size:0xD8 -fn_1_77F0 = .text:0x000077F0; // type:function size:0x1C0 -fn_1_79B0 = .text:0x000079B0; // type:function size:0x48 -fn_1_79F8 = .text:0x000079F8; // type:function size:0x134 -fn_1_7B2C = .text:0x00007B2C; // type:function size:0x70 -fn_1_7B9C = .text:0x00007B9C; // type:function size:0xB0 -fn_1_7C4C = .text:0x00007C4C; // type:function size:0x160 -fn_1_7DAC = .text:0x00007DAC; // type:function size:0x4 -fn_1_7DB0 = .text:0x00007DB0; // type:function size:0x120 -fn_1_7ED0 = .text:0x00007ED0; // type:function size:0xB0 -fn_1_7F80 = .text:0x00007F80; // type:function size:0x180 -fn_1_8100 = .text:0x00008100; // type:function size:0x4 -fn_1_8104 = .text:0x00008104; // type:function size:0x140 -fn_1_8244 = .text:0x00008244; // type:function size:0x84 -fn_1_82C8 = .text:0x000082C8; // type:function size:0xCD0 -fn_1_8F98 = .text:0x00008F98; // type:function size:0x248 -fn_1_91E0 = .text:0x000091E0; // type:function size:0x2DC -fn_1_94BC = .text:0x000094BC; // type:function size:0x4 -fn_1_94C0 = .text:0x000094C0; // type:function size:0xAB8 -fn_1_9F78 = .text:0x00009F78; // type:function size:0x300 -fn_1_A278 = .text:0x0000A278; // type:function size:0x50 -fn_1_A2C8 = .text:0x0000A2C8; // type:function size:0xAEC -fn_1_ADB4 = .text:0x0000ADB4; // type:function size:0x350 -fn_1_B104 = .text:0x0000B104; // type:function size:0xDC -fn_1_B1E0 = .text:0x0000B1E0; // type:function size:0x7C -fn_1_B25C = .text:0x0000B25C; // type:function size:0x1C0 -fn_1_B41C = .text:0x0000B41C; // type:function size:0x54 -fn_1_B470 = .text:0x0000B470; // type:function size:0x4 -fn_1_B474 = .text:0x0000B474; // type:function size:0x488 -fn_1_B8FC = .text:0x0000B8FC; // type:function size:0x31C -fn_1_BC18 = .text:0x0000BC18; // type:function size:0x8DC -fn_1_C4F4 = .text:0x0000C4F4; // type:function size:0x378 -fn_1_C86C = .text:0x0000C86C; // type:function size:0x4C8 -fn_1_CD34 = .text:0x0000CD34; // type:function size:0xA4 -fn_1_CDD8 = .text:0x0000CDD8; // type:function size:0x14C -fn_1_CF24 = .text:0x0000CF24; // type:function size:0x74 -fn_1_CF98 = .text:0x0000CF98; // type:function size:0xD4 -fn_1_D06C = .text:0x0000D06C; // type:function size:0xD0 -fn_1_D13C = .text:0x0000D13C; // type:function size:0x34C -fn_1_D488 = .text:0x0000D488; // type:function size:0x90 -fn_1_D518 = .text:0x0000D518; // type:function size:0xB4 -fn_1_D5CC = .text:0x0000D5CC; // type:function size:0x90 -fn_1_D65C = .text:0x0000D65C; // type:function size:0x254 -fn_1_D8B0 = .text:0x0000D8B0; // type:function size:0x5C -fn_1_D90C = .text:0x0000D90C; // type:function size:0x490 -fn_1_DD9C = .text:0x0000DD9C; // type:function size:0xE4 -fn_1_DE80 = .text:0x0000DE80; // type:function size:0x3B4 -fn_1_E234 = .text:0x0000E234; // type:function size:0xF80 -fn_1_F1B4 = .text:0x0000F1B4; // type:function size:0x500 -fn_1_F6B4 = .text:0x0000F6B4; // type:function size:0x3BC -fn_1_FA70 = .text:0x0000FA70; // type:function size:0xC0C -fn_1_1067C = .text:0x0001067C; // type:function size:0xE8 -fn_1_10764 = .text:0x00010764; // type:function size:0x9E4 -fn_1_11148 = .text:0x00011148; // type:function size:0x448 -fn_1_11590 = .text:0x00011590; // type:function size:0x31C -fn_1_118AC = .text:0x000118AC; // type:function size:0x228 -fn_1_11AD4 = .text:0x00011AD4; // type:function size:0x5E0 -fn_1_120B4 = .text:0x000120B4; // type:function size:0x1D0 -fn_1_12284 = .text:0x00012284; // type:function size:0xDC -fn_1_12360 = .text:0x00012360; // type:function size:0x4EC -fn_1_1284C = .text:0x0001284C; // type:function size:0x5C -fn_1_128A8 = .text:0x000128A8; // type:function size:0x22C -fn_1_12AD4 = .text:0x00012AD4; // type:function size:0xD4 -fn_1_12BA8 = .text:0x00012BA8; // type:function size:0x48 -fn_1_12BF0 = .text:0x00012BF0; // type:function size:0x38 -fn_1_12C28 = .text:0x00012C28; // type:function size:0x8C -fn_1_12CB4 = .text:0x00012CB4; // type:function size:0xAE4 -fn_1_13798 = .text:0x00013798; // type:function size:0x4 -fn_1_1379C = .text:0x0001379C; // type:function size:0x3DC -fn_1_13B78 = .text:0x00013B78; // type:function size:0x6C -fn_1_13BE4 = .text:0x00013BE4; // type:function size:0x11C -fn_1_13D00 = .text:0x00013D00; // type:function size:0x7E4 -fn_1_144E4 = .text:0x000144E4; // type:function size:0x330 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 scope:local data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 scope:local data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 scope:local data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 scope:local data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 scope:local data:double -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 scope:local data:double -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 scope:local data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x8 scope:local data:double -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 scope:local data:double -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x8 scope:local data:double -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x8C data:float -lbl_1_data_8C = .data:0x0000008C; // type:object size:0x24 -jumptable_1_data_B0 = .data:0x000000B0; // type:object size:0x40 scope:local -lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x348 -lbl_1_data_438 = .data:0x00000438; // type:object size:0x348 -lbl_1_data_780 = .data:0x00000780; // type:object size:0x24 data:float -lbl_1_data_7A4 = .data:0x000007A4; // type:object size:0x2 data:2byte -lbl_1_data_7A8 = .data:0x000007A8; // type:object size:0x1C -lbl_1_data_7C4 = .data:0x000007C4; // type:object size:0x1C -lbl_1_data_7E0 = .data:0x000007E0; // type:object size:0x18 -lbl_1_data_7F8 = .data:0x000007F8; // type:object size:0xC -lbl_1_data_804 = .data:0x00000804; // type:object size:0xC -lbl_1_data_810 = .data:0x00000810; // type:object size:0x4 -lbl_1_data_814 = .data:0x00000814; // type:object size:0xC -lbl_1_data_820 = .data:0x00000820; // type:object size:0xC -lbl_1_data_82C = .data:0x0000082C; // type:object size:0xC -lbl_1_data_838 = .data:0x00000838; // type:object size:0xC -lbl_1_data_844 = .data:0x00000844; // type:object size:0xC -lbl_1_data_850 = .data:0x00000850; // type:object size:0x20 -lbl_1_data_870 = .data:0x00000870; // type:object size:0x1F scope:local data:string -lbl_1_data_88F = .data:0x0000088F; // type:object size:0x1 data:byte -lbl_1_data_893 = .data:0x00000893; // type:object size:0x1 data:byte -lbl_1_data_897 = .data:0x00000897; // type:object size:0x1 data:byte -lbl_1_data_89B = .data:0x0000089B; // type:object size:0x1 data:byte -lbl_1_data_89F = .data:0x0000089F; // type:object size:0x5 data:byte -lbl_1_data_8A4 = .data:0x000008A4; // type:object size:0x10 -lbl_1_data_8B4 = .data:0x000008B4; // type:object size:0x10 -lbl_1_data_8C4 = .data:0x000008C4; // type:object size:0xC -lbl_1_data_8D0 = .data:0x000008D0; // type:object size:0xC -lbl_1_data_8DC = .data:0x000008DC; // type:object size:0x4 -lbl_1_data_8E0 = .data:0x000008E0; // type:object size:0x30 -lbl_1_data_910 = .data:0x00000910; // type:object size:0x20 -lbl_1_data_930 = .data:0x00000930; // type:object size:0x30 -lbl_1_data_960 = .data:0x00000960; // type:object size:0x348 -lbl_1_data_CA8 = .data:0x00000CA8; // type:object size:0x348 -lbl_1_data_FF0 = .data:0x00000FF0; // type:object size:0x10 -lbl_1_data_1000 = .data:0x00001000; // type:object size:0x19 scope:local data:string -lbl_1_data_1019 = .data:0x00001019; // type:object size:0x19 scope:local data:string -lbl_1_data_1032 = .data:0x00001032; // type:object size:0x1A scope:local data:string -lbl_1_data_104C = .data:0x0000104C; // type:object size:0x1C -lbl_1_data_1068 = .data:0x00001068; // type:object size:0x10 -lbl_1_data_1078 = .data:0x00001078; // type:object size:0x28 -lbl_1_data_10A0 = .data:0x000010A0; // type:object size:0x80 -lbl_1_data_1120 = .data:0x00001120; // type:object size:0x20 -lbl_1_data_1140 = .data:0x00001140; // type:object size:0x8 -lbl_1_data_1148 = .data:0x00001148; // type:object size:0x1C scope:local data:string -lbl_1_data_1164 = .data:0x00001164; // type:object size:0x90 -lbl_1_data_11F4 = .data:0x000011F4; // type:object size:0x4 data:4byte -lbl_1_data_11F8 = .data:0x000011F8; // type:object size:0x20 -lbl_1_data_1218 = .data:0x00001218; // type:object size:0x18 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0xC data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0xC data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x50 -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x4 data:4byte -lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0x4 data:4byte -lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x4 data:4byte -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x4 data:4byte -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x4 data:4byte -lbl_1_bss_B4 = .bss:0x000000B4; // type:object size:0x4 data:4byte -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x4 data:4byte -lbl_1_bss_C0 = .bss:0x000000C0; // type:object size:0x4 data:4byte -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x4 data:4byte -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x4 data:4byte -lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x4 data:4byte -lbl_1_bss_D0 = .bss:0x000000D0; // type:object size:0x4 data:4byte -lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0x4 data:4byte -lbl_1_bss_D8 = .bss:0x000000D8; // type:object size:0x8 data:4byte -lbl_1_bss_E0 = .bss:0x000000E0; // type:object size:0x18 data:float -lbl_1_bss_F8 = .bss:0x000000F8; // type:object size:0x8 data:4byte -lbl_1_bss_100 = .bss:0x00000100; // type:object size:0x4 data:float -lbl_1_bss_104 = .bss:0x00000104; // type:object size:0xC0 -lbl_1_bss_1C4 = .bss:0x000001C4; // type:object size:0x4 data:4byte -lbl_1_bss_1C8 = .bss:0x000001C8; // type:object size:0x4 data:4byte -lbl_1_bss_1CC = .bss:0x000001CC; // type:object size:0x4 data:4byte -lbl_1_bss_1D0 = .bss:0x000001D0; // type:object size:0xC -lbl_1_bss_1DC = .bss:0x000001DC; // type:object size:0xC -lbl_1_bss_1E8 = .bss:0x000001E8; // type:object size:0xC -lbl_1_bss_1F4 = .bss:0x000001F4; // type:object size:0x2 data:2byte -lbl_1_bss_1F6 = .bss:0x000001F6; // type:object size:0x2 data:2byte -lbl_1_bss_1F8 = .bss:0x000001F8; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m407dll/splits.txt b/config/GMPP01_00/rels/m407dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m407dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m407dll/symbols.txt b/config/GMPP01_00/rels/m407dll/symbols.txt deleted file mode 100644 index 51e3c09c..00000000 --- a/config/GMPP01_00/rels/m407dll/symbols.txt +++ /dev/null @@ -1,271 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x54 -fn_1_F4 = .text:0x000000F4; // type:function size:0xA0 -fn_1_194 = .text:0x00000194; // type:function size:0x50 -fn_1_1E4 = .text:0x000001E4; // type:function size:0x54 -fn_1_238 = .text:0x00000238; // type:function size:0x54 -fn_1_28C = .text:0x0000028C; // type:function size:0x54 -fn_1_2E0 = .text:0x000002E0; // type:function size:0x54 -fn_1_334 = .text:0x00000334; // type:function size:0x54 -fn_1_388 = .text:0x00000388; // type:function size:0x3C -fn_1_3C4 = .text:0x000003C4; // type:function size:0x40 -fn_1_404 = .text:0x00000404; // type:function size:0xBC -fn_1_4C0 = .text:0x000004C0; // type:function size:0x48 -fn_1_508 = .text:0x00000508; // type:function size:0x34 -fn_1_53C = .text:0x0000053C; // type:function size:0x2C -fn_1_568 = .text:0x00000568; // type:function size:0xC0 -fn_1_628 = .text:0x00000628; // type:function size:0x24 -fn_1_64C = .text:0x0000064C; // type:function size:0x350 -fn_1_99C = .text:0x0000099C; // type:function size:0x80 -fn_1_A1C = .text:0x00000A1C; // type:function size:0x6C -fn_1_A88 = .text:0x00000A88; // type:function size:0x4 -fn_1_A8C = .text:0x00000A8C; // type:function size:0x1CC -fn_1_C58 = .text:0x00000C58; // type:function size:0x9C -fn_1_CF4 = .text:0x00000CF4; // type:function size:0xC0 -fn_1_DB4 = .text:0x00000DB4; // type:function size:0x1D8 -fn_1_F8C = .text:0x00000F8C; // type:function size:0xE8 -fn_1_1074 = .text:0x00001074; // type:function size:0x158 -fn_1_11CC = .text:0x000011CC; // type:function size:0x218 -fn_1_13E4 = .text:0x000013E4; // type:function size:0x7C -fn_1_1460 = .text:0x00001460; // type:function size:0x90 -fn_1_14F0 = .text:0x000014F0; // type:function size:0xE8 -fn_1_15D8 = .text:0x000015D8; // type:function size:0x54 -fn_1_162C = .text:0x0000162C; // type:function size:0x460 -fn_1_1A8C = .text:0x00001A8C; // type:function size:0x90 -fn_1_1B1C = .text:0x00001B1C; // type:function size:0x18C -fn_1_1CA8 = .text:0x00001CA8; // type:function size:0x4 -fn_1_1CAC = .text:0x00001CAC; // type:function size:0x28 -fn_1_1CD4 = .text:0x00001CD4; // type:function size:0x34 -fn_1_1D08 = .text:0x00001D08; // type:function size:0x28 -fn_1_1D30 = .text:0x00001D30; // type:function size:0x34 -fn_1_1D64 = .text:0x00001D64; // type:function size:0x10 -fn_1_1D74 = .text:0x00001D74; // type:function size:0x14 -fn_1_1D88 = .text:0x00001D88; // type:function size:0x28 -fn_1_1DB0 = .text:0x00001DB0; // type:function size:0x16C -fn_1_1F1C = .text:0x00001F1C; // type:function size:0x108 -fn_1_2024 = .text:0x00002024; // type:function size:0x330 -fn_1_2354 = .text:0x00002354; // type:function size:0x19C -fn_1_24F0 = .text:0x000024F0; // type:function size:0x74 -fn_1_2564 = .text:0x00002564; // type:function size:0x5C -fn_1_25C0 = .text:0x000025C0; // type:function size:0x10C -fn_1_26CC = .text:0x000026CC; // type:function size:0xA4 -fn_1_2770 = .text:0x00002770; // type:function size:0x110 -fn_1_2880 = .text:0x00002880; // type:function size:0x38 -fn_1_28B8 = .text:0x000028B8; // type:function size:0x1C -fn_1_28D4 = .text:0x000028D4; // type:function size:0x10 -fn_1_28E4 = .text:0x000028E4; // type:function size:0x28 -fn_1_290C = .text:0x0000290C; // type:function size:0x24 -fn_1_2930 = .text:0x00002930; // type:function size:0x24C -fn_1_2B7C = .text:0x00002B7C; // type:function size:0x67C -fn_1_31F8 = .text:0x000031F8; // type:function size:0x168 -fn_1_3360 = .text:0x00003360; // type:function size:0x4 -fn_1_3364 = .text:0x00003364; // type:function size:0x140 -fn_1_34A4 = .text:0x000034A4; // type:function size:0x22C -fn_1_36D0 = .text:0x000036D0; // type:function size:0xE0 -fn_1_37B0 = .text:0x000037B0; // type:function size:0x318 -fn_1_3AC8 = .text:0x00003AC8; // type:function size:0xA0 -fn_1_3B68 = .text:0x00003B68; // type:function size:0x50 -fn_1_3BB8 = .text:0x00003BB8; // type:function size:0x170 -fn_1_3D28 = .text:0x00003D28; // type:function size:0x24 -fn_1_3D4C = .text:0x00003D4C; // type:function size:0xE8 -fn_1_3E34 = .text:0x00003E34; // type:function size:0x148 -fn_1_3F7C = .text:0x00003F7C; // type:function size:0x74 -fn_1_3FF0 = .text:0x00003FF0; // type:function size:0x4 -fn_1_3FF4 = .text:0x00003FF4; // type:function size:0x100 -fn_1_40F4 = .text:0x000040F4; // type:function size:0xD8 -fn_1_41CC = .text:0x000041CC; // type:function size:0x328 -fn_1_44F4 = .text:0x000044F4; // type:function size:0x50 -fn_1_4544 = .text:0x00004544; // type:function size:0x118 -fn_1_465C = .text:0x0000465C; // type:function size:0x24 -fn_1_4680 = .text:0x00004680; // type:function size:0x6C -fn_1_46EC = .text:0x000046EC; // type:function size:0x11C -fn_1_4808 = .text:0x00004808; // type:function size:0x50 -fn_1_4858 = .text:0x00004858; // type:function size:0x4 -fn_1_485C = .text:0x0000485C; // type:function size:0x124 -fn_1_4980 = .text:0x00004980; // type:function size:0x1FC -fn_1_4B7C = .text:0x00004B7C; // type:function size:0xC0 -fn_1_4C3C = .text:0x00004C3C; // type:function size:0x30 -fn_1_4C6C = .text:0x00004C6C; // type:function size:0xA0 -fn_1_4D0C = .text:0x00004D0C; // type:function size:0x48 -fn_1_4D54 = .text:0x00004D54; // type:function size:0x138 -fn_1_4E8C = .text:0x00004E8C; // type:function size:0x11C -fn_1_4FA8 = .text:0x00004FA8; // type:function size:0x134 -fn_1_50DC = .text:0x000050DC; // type:function size:0xFC -fn_1_51D8 = .text:0x000051D8; // type:function size:0xC8 -fn_1_52A0 = .text:0x000052A0; // type:function size:0x10C -fn_1_53AC = .text:0x000053AC; // type:function size:0x1BC -fn_1_5568 = .text:0x00005568; // type:function size:0xBC -fn_1_5624 = .text:0x00005624; // type:function size:0x1D4 -fn_1_57F8 = .text:0x000057F8; // type:function size:0x27C -fn_1_5A74 = .text:0x00005A74; // type:function size:0x130 -fn_1_5BA4 = .text:0x00005BA4; // type:function size:0xAC -fn_1_5C50 = .text:0x00005C50; // type:function size:0x270 -fn_1_5EC0 = .text:0x00005EC0; // type:function size:0x74 -fn_1_5F34 = .text:0x00005F34; // type:function size:0x50 -fn_1_5F84 = .text:0x00005F84; // type:function size:0x24 -fn_1_5FA8 = .text:0x00005FA8; // type:function size:0x30 -fn_1_5FD8 = .text:0x00005FD8; // type:function size:0x1BC -fn_1_6194 = .text:0x00006194; // type:function size:0x78 -fn_1_620C = .text:0x0000620C; // type:function size:0x88 -fn_1_6294 = .text:0x00006294; // type:function size:0x164 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x20 -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0xC data:4byte -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0xC data:4byte -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x100 -lbl_1_data_100 = .data:0x00000100; // type:object size:0x20 -lbl_1_data_120 = .data:0x00000120; // type:object size:0x1C -lbl_1_data_13C = .data:0x0000013C; // type:object size:0x20 -lbl_1_data_15C = .data:0x0000015C; // type:object size:0x28 -lbl_1_data_184 = .data:0x00000184; // type:object size:0x8 -lbl_1_data_18C = .data:0x0000018C; // type:object size:0xC -lbl_1_data_198 = .data:0x00000198; // type:object size:0x34 data:4byte -lbl_1_data_1CC = .data:0x000001CC; // type:object size:0x30 -lbl_1_data_1FC = .data:0x000001FC; // type:object size:0xC data:float -lbl_1_data_208 = .data:0x00000208; // type:object size:0xC -lbl_1_data_214 = .data:0x00000214; // type:object size:0x4 -lbl_1_data_218 = .data:0x00000218; // type:object size:0x10 -lbl_1_data_228 = .data:0x00000228; // type:object size:0x10 data:4byte -lbl_1_data_238 = .data:0x00000238; // type:object size:0x20 data:4byte -lbl_1_data_258 = .data:0x00000258; // type:object size:0x14 -lbl_1_data_26C = .data:0x0000026C; // type:object size:0xC -lbl_1_data_278 = .data:0x00000278; // type:object size:0x10 -lbl_1_data_288 = .data:0x00000288; // type:object size:0x14 -lbl_1_data_29C = .data:0x0000029C; // type:object size:0xC -lbl_1_data_2A8 = .data:0x000002A8; // type:object size:0x34 -lbl_1_data_2DC = .data:0x000002DC; // type:object size:0x10 -lbl_1_data_2EC = .data:0x000002EC; // type:object size:0xC -lbl_1_data_2F8 = .data:0x000002F8; // type:object size:0xC -lbl_1_data_304 = .data:0x00000304; // type:object size:0x4 -lbl_1_data_308 = .data:0x00000308; // type:object size:0xC -lbl_1_data_314 = .data:0x00000314; // type:object size:0xC -lbl_1_data_320 = .data:0x00000320; // type:object size:0x4 -lbl_1_data_324 = .data:0x00000324; // type:object size:0xC -lbl_1_data_330 = .data:0x00000330; // type:object size:0xC -lbl_1_data_33C = .data:0x0000033C; // type:object size:0x4 -lbl_1_data_340 = .data:0x00000340; // type:object size:0xC -lbl_1_data_34C = .data:0x0000034C; // type:object size:0xC -lbl_1_data_358 = .data:0x00000358; // type:object size:0x8 -lbl_1_data_360 = .data:0x00000360; // type:object size:0xC -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x8 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x10 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x8 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x2 data:2byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x2 data:2byte -lbl_1_bss_3A = .bss:0x0000003A; // type:object size:0x2A -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x2 data:2byte -lbl_1_bss_66 = .bss:0x00000066; // type:object size:0x2 data:2byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x1E30 data:2byte -lbl_1_bss_1E98 = .bss:0x00001E98; // type:object size:0xF18 -lbl_1_bss_2DB0 = .bss:0x00002DB0; // type:object size:0xA10 -lbl_1_bss_37C0 = .bss:0x000037C0; // type:object size:0x8 data:4byte -lbl_1_bss_37C8 = .bss:0x000037C8; // type:object size:0x10 -lbl_1_bss_37D8 = .bss:0x000037D8; // type:object size:0x8 data:4byte -lbl_1_bss_37E0 = .bss:0x000037E0; // type:object size:0x190 -lbl_1_bss_3970 = .bss:0x00003970; // type:object size:0x8 data:4byte -lbl_1_bss_3978 = .bss:0x00003978; // type:object size:0x2 data:2byte -lbl_1_bss_397C = .bss:0x0000397C; // type:object size:0x4 data:4byte -lbl_1_bss_3980 = .bss:0x00003980; // type:object size:0x8 data:4byte -lbl_1_bss_3988 = .bss:0x00003988; // type:object size:0x4 data:4byte -lbl_1_bss_398C = .bss:0x0000398C; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m408Dll/splits.txt b/config/GMPP01_00/rels/m408Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m408Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m408Dll/symbols.txt b/config/GMPP01_00/rels/m408Dll/symbols.txt deleted file mode 100644 index 650a8242..00000000 --- a/config/GMPP01_00/rels/m408Dll/symbols.txt +++ /dev/null @@ -1,548 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x47C -fn_1_51C = .text:0x0000051C; // type:function size:0x50 -fn_1_56C = .text:0x0000056C; // type:function size:0x438 -fn_1_9A4 = .text:0x000009A4; // type:function size:0x4C -fn_1_9F0 = .text:0x000009F0; // type:function size:0x50 -fn_1_A40 = .text:0x00000A40; // type:function size:0x298 -fn_1_CD8 = .text:0x00000CD8; // type:function size:0x220 -fn_1_EF8 = .text:0x00000EF8; // type:function size:0x3A8 -fn_1_12A0 = .text:0x000012A0; // type:function size:0x1EC -fn_1_148C = .text:0x0000148C; // type:function size:0x434 -fn_1_18C0 = .text:0x000018C0; // type:function size:0x80 -fn_1_1940 = .text:0x00001940; // type:function size:0x120 -fn_1_1A60 = .text:0x00001A60; // type:function size:0x98 -fn_1_1AF8 = .text:0x00001AF8; // type:function size:0xF0 -fn_1_1BE8 = .text:0x00001BE8; // type:function size:0x26C -fn_1_1E54 = .text:0x00001E54; // type:function size:0x68 -fn_1_1EBC = .text:0x00001EBC; // type:function size:0x718 -fn_1_25D4 = .text:0x000025D4; // type:function size:0x110 -fn_1_26E4 = .text:0x000026E4; // type:function size:0x8C8 -fn_1_2FAC = .text:0x00002FAC; // type:function size:0x924 -fn_1_38D0 = .text:0x000038D0; // type:function size:0x5B0 -fn_1_3E80 = .text:0x00003E80; // type:function size:0xBD8 -fn_1_4A58 = .text:0x00004A58; // type:function size:0x640 -fn_1_5098 = .text:0x00005098; // type:function size:0x44C -fn_1_54E4 = .text:0x000054E4; // type:function size:0x1A0 -fn_1_5684 = .text:0x00005684; // type:function size:0x41C -fn_1_5AA0 = .text:0x00005AA0; // type:function size:0x14 -fn_1_5AB4 = .text:0x00005AB4; // type:function size:0x318 -fn_1_5DCC = .text:0x00005DCC; // type:function size:0x430 -fn_1_61FC = .text:0x000061FC; // type:function size:0x344 -fn_1_6540 = .text:0x00006540; // type:function size:0x284 -fn_1_67C4 = .text:0x000067C4; // type:function size:0xA4 -fn_1_6868 = .text:0x00006868; // type:function size:0x10 -fn_1_6878 = .text:0x00006878; // type:function size:0x10 -fn_1_6888 = .text:0x00006888; // type:function size:0x10 -fn_1_6898 = .text:0x00006898; // type:function size:0x4 -fn_1_689C = .text:0x0000689C; // type:function size:0x8 -fn_1_68A4 = .text:0x000068A4; // type:function size:0x4 -fn_1_68A8 = .text:0x000068A8; // type:function size:0x1C -fn_1_68C4 = .text:0x000068C4; // type:function size:0x364 -fn_1_6C28 = .text:0x00006C28; // type:function size:0x324 -fn_1_6F4C = .text:0x00006F4C; // type:function size:0x66C -fn_1_75B8 = .text:0x000075B8; // type:function size:0x260 -fn_1_7818 = .text:0x00007818; // type:function size:0xC0 -fn_1_78D8 = .text:0x000078D8; // type:function size:0x748 -fn_1_8020 = .text:0x00008020; // type:function size:0x15C -fn_1_817C = .text:0x0000817C; // type:function size:0x348 -fn_1_84C4 = .text:0x000084C4; // type:function size:0x378 -fn_1_883C = .text:0x0000883C; // type:function size:0x11C -fn_1_8958 = .text:0x00008958; // type:function size:0xC8 -fn_1_8A20 = .text:0x00008A20; // type:function size:0x58C -fn_1_8FAC = .text:0x00008FAC; // type:function size:0x568 -fn_1_9514 = .text:0x00009514; // type:function size:0x25C -fn_1_9770 = .text:0x00009770; // type:function size:0x258 -fn_1_99C8 = .text:0x000099C8; // type:function size:0x96C -fn_1_A334 = .text:0x0000A334; // type:function size:0x48 -fn_1_A37C = .text:0x0000A37C; // type:function size:0x16C -fn_1_A4E8 = .text:0x0000A4E8; // type:function size:0x3AC -fn_1_A894 = .text:0x0000A894; // type:function size:0x760 -fn_1_AFF4 = .text:0x0000AFF4; // type:function size:0x70C -fn_1_B700 = .text:0x0000B700; // type:function size:0x494 -fn_1_BB94 = .text:0x0000BB94; // type:function size:0x24C -fn_1_BDE0 = .text:0x0000BDE0; // type:function size:0x5E0 -fn_1_C3C0 = .text:0x0000C3C0; // type:function size:0x7C -fn_1_C43C = .text:0x0000C43C; // type:function size:0x10 -fn_1_C44C = .text:0x0000C44C; // type:function size:0x98 -fn_1_C4E4 = .text:0x0000C4E4; // type:function size:0x4C -fn_1_C530 = .text:0x0000C530; // type:function size:0x7E4 -fn_1_CD14 = .text:0x0000CD14; // type:function size:0x154 -fn_1_CE68 = .text:0x0000CE68; // type:function size:0x84 -fn_1_CEEC = .text:0x0000CEEC; // type:function size:0x118 -fn_1_D004 = .text:0x0000D004; // type:function size:0x6EC -fn_1_D6F0 = .text:0x0000D6F0; // type:function size:0x288 -fn_1_D978 = .text:0x0000D978; // type:function size:0xF4 -fn_1_DA6C = .text:0x0000DA6C; // type:function size:0x564 -fn_1_DFD0 = .text:0x0000DFD0; // type:function size:0x340 -fn_1_E310 = .text:0x0000E310; // type:function size:0x6A4 -fn_1_E9B4 = .text:0x0000E9B4; // type:function size:0x544 -fn_1_EEF8 = .text:0x0000EEF8; // type:function size:0x174 -fn_1_F06C = .text:0x0000F06C; // type:function size:0x444 -fn_1_F4B0 = .text:0x0000F4B0; // type:function size:0xB4 -fn_1_F564 = .text:0x0000F564; // type:function size:0x33C -fn_1_F8A0 = .text:0x0000F8A0; // type:function size:0x2F8 -fn_1_FB98 = .text:0x0000FB98; // type:function size:0x8EC -fn_1_10484 = .text:0x00010484; // type:function size:0x3AC -fn_1_10830 = .text:0x00010830; // type:function size:0x330 -fn_1_10B60 = .text:0x00010B60; // type:function size:0xB10 -fn_1_11670 = .text:0x00011670; // type:function size:0x54 -fn_1_116C4 = .text:0x000116C4; // type:function size:0xBC -fn_1_11780 = .text:0x00011780; // type:function size:0x150 -fn_1_118D0 = .text:0x000118D0; // type:function size:0x90 -fn_1_11960 = .text:0x00011960; // type:function size:0x4DC -fn_1_11E3C = .text:0x00011E3C; // type:function size:0x518 -fn_1_12354 = .text:0x00012354; // type:function size:0x74 -fn_1_123C8 = .text:0x000123C8; // type:function size:0x2A8 -fn_1_12670 = .text:0x00012670; // type:function size:0x4 -fn_1_12674 = .text:0x00012674; // type:function size:0x12C -fn_1_127A0 = .text:0x000127A0; // type:function size:0x4CC -fn_1_12C6C = .text:0x00012C6C; // type:function size:0x3F0 -fn_1_1305C = .text:0x0001305C; // type:function size:0x47C -fn_1_134D8 = .text:0x000134D8; // type:function size:0x348 -fn_1_13820 = .text:0x00013820; // type:function size:0x568 -fn_1_13D88 = .text:0x00013D88; // type:function size:0x2E4 -fn_1_1406C = .text:0x0001406C; // type:function size:0x464 -fn_1_144D0 = .text:0x000144D0; // type:function size:0x8E4 -fn_1_14DB4 = .text:0x00014DB4; // type:function size:0x3F0 -fn_1_151A4 = .text:0x000151A4; // type:function size:0x43C -fn_1_155E0 = .text:0x000155E0; // type:function size:0x38 -fn_1_15618 = .text:0x00015618; // type:function size:0x40 -fn_1_15658 = .text:0x00015658; // type:function size:0x4F8 -fn_1_15B50 = .text:0x00015B50; // type:function size:0x7C -fn_1_15BCC = .text:0x00015BCC; // type:function size:0xD8 -fn_1_15CA4 = .text:0x00015CA4; // type:function size:0xC0 -fn_1_15D64 = .text:0x00015D64; // type:function size:0x568 -fn_1_162CC = .text:0x000162CC; // type:function size:0xFC -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0xC data:4byte -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0xC data:4byte -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x10 data:4byte -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x30 data:4byte -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x10 data:4byte -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x20 data:4byte -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x38 data:4byte -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 data:double -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x48 -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x10 data:4byte -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x10 data:4byte -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x28 data:2byte -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x10 data:4byte -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x10 data:4byte -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x8 data:double -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 data:float -lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 data:float -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x8 data:double -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 data:float -lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 data:float -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x4 data:float -lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x4 data:float -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 data:float -lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 data:float -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 data:float -lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 data:float -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x8 data:double -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 data:float -lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 data:float -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x8 data:double -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x8 data:double -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x8 data:double -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x8 data:double -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 data:float -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x8 data:double -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x8 data:double -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 data:float -lbl_1_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x4 data:float -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 data:float -lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 data:float -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x8 data:double -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x8 data:double -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x8 data:double -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 data:double -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 data:double -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 data:float -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 data:double -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 data:double -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x8 data:double -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x4 data:float -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x8 data:double -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x8 data:double -lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x8 data:double -lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 data:float -lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x8 data:double -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 data:float -lbl_1_rodata_644 = .rodata:0x00000644; // type:object size:0x4 data:float -lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x8 data:double -lbl_1_rodata_650 = .rodata:0x00000650; // type:object size:0x8 data:double -lbl_1_rodata_658 = .rodata:0x00000658; // type:object size:0x8 data:double -lbl_1_rodata_660 = .rodata:0x00000660; // type:object size:0x8 data:double -lbl_1_rodata_668 = .rodata:0x00000668; // type:object size:0x4 data:float -lbl_1_rodata_66C = .rodata:0x0000066C; // type:object size:0x4 data:float -lbl_1_rodata_670 = .rodata:0x00000670; // type:object size:0x8 data:double -lbl_1_rodata_678 = .rodata:0x00000678; // type:object size:0x4 data:float -lbl_1_rodata_67C = .rodata:0x0000067C; // type:object size:0x4 data:float -lbl_1_rodata_680 = .rodata:0x00000680; // type:object size:0x4 data:float -lbl_1_rodata_684 = .rodata:0x00000684; // type:object size:0x4 data:float -lbl_1_rodata_688 = .rodata:0x00000688; // type:object size:0x4 data:float -lbl_1_rodata_68C = .rodata:0x0000068C; // type:object size:0x4 data:float -lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x4 data:float -lbl_1_rodata_698 = .rodata:0x00000698; // type:object size:0x8 data:double -lbl_1_rodata_6A0 = .rodata:0x000006A0; // type:object size:0x8 data:double -lbl_1_rodata_6A8 = .rodata:0x000006A8; // type:object size:0x4 data:float -lbl_1_rodata_6AC = .rodata:0x000006AC; // type:object size:0x4 data:float -lbl_1_rodata_6B0 = .rodata:0x000006B0; // type:object size:0x4 data:float -lbl_1_rodata_6B4 = .rodata:0x000006B4; // type:object size:0x4 data:float -lbl_1_rodata_6B8 = .rodata:0x000006B8; // type:object size:0x4 data:float -lbl_1_rodata_6BC = .rodata:0x000006BC; // type:object size:0x4 data:float -lbl_1_rodata_6C0 = .rodata:0x000006C0; // type:object size:0x4 data:float -lbl_1_rodata_6C4 = .rodata:0x000006C4; // type:object size:0x4 data:float -lbl_1_rodata_6C8 = .rodata:0x000006C8; // type:object size:0x8 data:double -lbl_1_rodata_6D0 = .rodata:0x000006D0; // type:object size:0x4 data:float -lbl_1_rodata_6D4 = .rodata:0x000006D4; // type:object size:0x4 data:float -lbl_1_rodata_6D8 = .rodata:0x000006D8; // type:object size:0x4 data:float -lbl_1_rodata_6DC = .rodata:0x000006DC; // type:object size:0x4 data:float -lbl_1_rodata_6E0 = .rodata:0x000006E0; // type:object size:0x4 data:float -lbl_1_rodata_6E4 = .rodata:0x000006E4; // type:object size:0x4 data:float -lbl_1_rodata_6E8 = .rodata:0x000006E8; // type:object size:0x8 data:double -lbl_1_rodata_6F0 = .rodata:0x000006F0; // type:object size:0x8 data:double -lbl_1_rodata_6F8 = .rodata:0x000006F8; // type:object size:0x4 data:float -lbl_1_rodata_700 = .rodata:0x00000700; // type:object size:0x8 data:double -lbl_1_rodata_708 = .rodata:0x00000708; // type:object size:0x8 data:double -lbl_1_rodata_710 = .rodata:0x00000710; // type:object size:0x4 data:float -lbl_1_rodata_714 = .rodata:0x00000714; // type:object size:0x4 data:float -lbl_1_rodata_718 = .rodata:0x00000718; // type:object size:0x4 data:float -lbl_1_rodata_71C = .rodata:0x0000071C; // type:object size:0x4 data:float -lbl_1_rodata_720 = .rodata:0x00000720; // type:object size:0x4 data:float -lbl_1_rodata_724 = .rodata:0x00000724; // type:object size:0x4 data:float -lbl_1_rodata_728 = .rodata:0x00000728; // type:object size:0x4 data:float -lbl_1_rodata_72C = .rodata:0x0000072C; // type:object size:0x4 data:float -lbl_1_rodata_730 = .rodata:0x00000730; // type:object size:0x4 data:float -lbl_1_rodata_738 = .rodata:0x00000738; // type:object size:0x8 data:double -lbl_1_rodata_740 = .rodata:0x00000740; // type:object size:0x4 data:float -lbl_1_rodata_748 = .rodata:0x00000748; // type:object size:0x8 data:double -lbl_1_rodata_750 = .rodata:0x00000750; // type:object size:0x4 data:float -lbl_1_rodata_754 = .rodata:0x00000754; // type:object size:0x4 data:float -lbl_1_rodata_758 = .rodata:0x00000758; // type:object size:0x4 data:float -lbl_1_rodata_75C = .rodata:0x0000075C; // type:object size:0x4 data:float -lbl_1_rodata_760 = .rodata:0x00000760; // type:object size:0x4 data:float -lbl_1_rodata_764 = .rodata:0x00000764; // type:object size:0x4 data:float -lbl_1_rodata_768 = .rodata:0x00000768; // type:object size:0x4 data:float -lbl_1_rodata_76C = .rodata:0x0000076C; // type:object size:0x4 data:float -lbl_1_rodata_770 = .rodata:0x00000770; // type:object size:0x4 data:float -lbl_1_rodata_774 = .rodata:0x00000774; // type:object size:0x4 data:float -lbl_1_rodata_778 = .rodata:0x00000778; // type:object size:0x8 data:double -lbl_1_rodata_780 = .rodata:0x00000780; // type:object size:0x4 data:float -lbl_1_rodata_784 = .rodata:0x00000784; // type:object size:0x4 data:float -lbl_1_rodata_788 = .rodata:0x00000788; // type:object size:0x4 data:float -lbl_1_rodata_78C = .rodata:0x0000078C; // type:object size:0x4 data:float -lbl_1_rodata_790 = .rodata:0x00000790; // type:object size:0x4 data:float -lbl_1_rodata_794 = .rodata:0x00000794; // type:object size:0x4 data:float -lbl_1_rodata_798 = .rodata:0x00000798; // type:object size:0x4 data:float -lbl_1_rodata_79C = .rodata:0x0000079C; // type:object size:0x4 data:float -lbl_1_rodata_7A0 = .rodata:0x000007A0; // type:object size:0x4 data:float -lbl_1_rodata_7A4 = .rodata:0x000007A4; // type:object size:0x4 data:float -lbl_1_rodata_7A8 = .rodata:0x000007A8; // type:object size:0x4 data:float -lbl_1_rodata_7AC = .rodata:0x000007AC; // type:object size:0x4 data:float -lbl_1_rodata_7B0 = .rodata:0x000007B0; // type:object size:0x4 data:float -lbl_1_rodata_7B4 = .rodata:0x000007B4; // type:object size:0x4 data:float -lbl_1_rodata_7B8 = .rodata:0x000007B8; // type:object size:0x8 data:double -lbl_1_rodata_7C0 = .rodata:0x000007C0; // type:object size:0x4 data:float -lbl_1_rodata_7C4 = .rodata:0x000007C4; // type:object size:0x4 data:float -lbl_1_rodata_7C8 = .rodata:0x000007C8; // type:object size:0x4 data:float -lbl_1_rodata_7D0 = .rodata:0x000007D0; // type:object size:0x8 data:double -lbl_1_rodata_7D8 = .rodata:0x000007D8; // type:object size:0x8 data:double -lbl_1_rodata_7E0 = .rodata:0x000007E0; // type:object size:0x4 data:float -lbl_1_rodata_7E4 = .rodata:0x000007E4; // type:object size:0x4 data:float -lbl_1_rodata_7E8 = .rodata:0x000007E8; // type:object size:0x4 data:float -lbl_1_rodata_7EC = .rodata:0x000007EC; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x20 -lbl_1_data_20 = .data:0x00000020; // type:object size:0xC -lbl_1_data_2C = .data:0x0000002C; // type:object size:0xC -lbl_1_data_38 = .data:0x00000038; // type:object size:0x20 -lbl_1_data_58 = .data:0x00000058; // type:object size:0xC -lbl_1_data_64 = .data:0x00000064; // type:object size:0xC -lbl_1_data_70 = .data:0x00000070; // type:object size:0xC -lbl_1_data_7C = .data:0x0000007C; // type:object size:0x7 data:string -lbl_1_data_83 = .data:0x00000083; // type:object size:0x7 data:string -lbl_1_data_8A = .data:0x0000008A; // type:object size:0x7 data:string -lbl_1_data_91 = .data:0x00000091; // type:object size:0x7 data:string -lbl_1_data_98 = .data:0x00000098; // type:object size:0x8 -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x28 -lbl_1_data_C8 = .data:0x000000C8; // type:object size:0x20 -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x1C -lbl_1_data_104 = .data:0x00000104; // type:object size:0x40 -lbl_1_data_144 = .data:0x00000144; // type:object size:0x58 -lbl_1_data_19C = .data:0x0000019C; // type:object size:0x4 data:4byte -lbl_1_data_1A0 = .data:0x000001A0; // type:object size:0x24 -lbl_1_data_1C4 = .data:0x000001C4; // type:object size:0x24 -lbl_1_data_1E8 = .data:0x000001E8; // type:object size:0x24 -lbl_1_data_20C = .data:0x0000020C; // type:object size:0x2E8 -lbl_1_data_4F4 = .data:0x000004F4; // type:object size:0x10 -lbl_1_data_504 = .data:0x00000504; // type:object size:0x4 -lbl_1_data_508 = .data:0x00000508; // type:object size:0xC -lbl_1_data_514 = .data:0x00000514; // type:object size:0xC -lbl_1_data_520 = .data:0x00000520; // type:object size:0x30 -jumptable_1_data_550 = .data:0x00000550; // type:object size:0x24 scope:local -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:float -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x14 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:float -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:float -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x8 data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x2 data:2byte -lbl_1_bss_62 = .bss:0x00000062; // type:object size:0x2 data:2byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x2 data:2byte -lbl_1_bss_66 = .bss:0x00000066; // type:object size:0x6 data:2byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x4 data:4byte -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x8 data:4byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x4 data:4byte -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x4 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0xC -lbl_1_bss_94 = .bss:0x00000094; // type:object size:0xC -lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x50 data:4byte -lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0xC data:float -lbl_1_bss_100 = .bss:0x00000100; // type:object size:0xC data:float -lbl_1_bss_10C = .bss:0x0000010C; // type:object size:0x4 data:4byte -lbl_1_bss_110 = .bss:0x00000110; // type:object size:0x8 data:4byte -lbl_1_bss_118 = .bss:0x00000118; // type:object size:0x2 data:2byte -lbl_1_bss_11C = .bss:0x0000011C; // type:object size:0x4 data:4byte -lbl_1_bss_120 = .bss:0x00000120; // type:object size:0x8 data:4byte -lbl_1_bss_128 = .bss:0x00000128; // type:object size:0x8 data:4byte -lbl_1_bss_130 = .bss:0x00000130; // type:object size:0x4 data:4byte -lbl_1_bss_134 = .bss:0x00000134; // type:object size:0x4 data:4byte -lbl_1_bss_138 = .bss:0x00000138; // type:object size:0x4 data:4byte -lbl_1_bss_13C = .bss:0x0000013C; // type:object size:0x4 data:4byte -lbl_1_bss_140 = .bss:0x00000140; // type:object size:0x4 data:4byte -lbl_1_bss_144 = .bss:0x00000144; // type:object size:0x4 data:4byte -lbl_1_bss_148 = .bss:0x00000148; // type:object size:0x2 data:2byte -lbl_1_bss_14C = .bss:0x0000014C; // type:object size:0x1C data:4byte -lbl_1_bss_168 = .bss:0x00000168; // type:object size:0x4 data:4byte -lbl_1_bss_16C = .bss:0x0000016C; // type:object size:0xC00 -lbl_1_bss_D6C = .bss:0x00000D6C; // type:object size:0x30 -lbl_1_bss_D9C = .bss:0x00000D9C; // type:object size:0x4 data:4byte -lbl_1_bss_DA0 = .bss:0x00000DA0; // type:object size:0x4 data:4byte -lbl_1_bss_DA4 = .bss:0x00000DA4; // type:object size:0x6800 data:float -lbl_1_bss_75A4 = .bss:0x000075A4; // type:object size:0x4 data:4byte -lbl_1_bss_75A8 = .bss:0x000075A8; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m409Dll/splits.txt b/config/GMPP01_00/rels/m409Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m409Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m409Dll/symbols.txt b/config/GMPP01_00/rels/m409Dll/symbols.txt deleted file mode 100644 index 54b3dcb3..00000000 --- a/config/GMPP01_00/rels/m409Dll/symbols.txt +++ /dev/null @@ -1,332 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x394 -fn_1_434 = .text:0x00000434; // type:function size:0x78 -fn_1_4AC = .text:0x000004AC; // type:function size:0x78 -fn_1_524 = .text:0x00000524; // type:function size:0x65C -fn_1_B80 = .text:0x00000B80; // type:function size:0x25C -fn_1_DDC = .text:0x00000DDC; // type:function size:0x194 -fn_1_F70 = .text:0x00000F70; // type:function size:0x178 -fn_1_10E8 = .text:0x000010E8; // type:function size:0xA8C -fn_1_1B74 = .text:0x00001B74; // type:function size:0x524 -fn_1_2098 = .text:0x00002098; // type:function size:0x354 -fn_1_23EC = .text:0x000023EC; // type:function size:0x28 -fn_1_2414 = .text:0x00002414; // type:function size:0x40 -fn_1_2454 = .text:0x00002454; // type:function size:0x30 -fn_1_2484 = .text:0x00002484; // type:function size:0x948 -fn_1_2DCC = .text:0x00002DCC; // type:function size:0xA74 -fn_1_3840 = .text:0x00003840; // type:function size:0x148 -fn_1_3988 = .text:0x00003988; // type:function size:0x150 -fn_1_3AD8 = .text:0x00003AD8; // type:function size:0x5CC -fn_1_40A4 = .text:0x000040A4; // type:function size:0x7C -fn_1_4120 = .text:0x00004120; // type:function size:0x5C -fn_1_417C = .text:0x0000417C; // type:function size:0x374 -fn_1_44F0 = .text:0x000044F0; // type:function size:0xB0C -fn_1_4FFC = .text:0x00004FFC; // type:function size:0x40C -fn_1_5408 = .text:0x00005408; // type:function size:0x1D8 -fn_1_55E0 = .text:0x000055E0; // type:function size:0x1FC -fn_1_57DC = .text:0x000057DC; // type:function size:0x104 -fn_1_58E0 = .text:0x000058E0; // type:function size:0x138 -fn_1_5A18 = .text:0x00005A18; // type:function size:0x544 -fn_1_5F5C = .text:0x00005F5C; // type:function size:0x60 -fn_1_5FBC = .text:0x00005FBC; // type:function size:0x38 -fn_1_5FF4 = .text:0x00005FF4; // type:function size:0x38 -fn_1_602C = .text:0x0000602C; // type:function size:0x5DC -fn_1_6608 = .text:0x00006608; // type:function size:0xCC -fn_1_66D4 = .text:0x000066D4; // type:function size:0xA4 -fn_1_6778 = .text:0x00006778; // type:function size:0x68 -fn_1_67E0 = .text:0x000067E0; // type:function size:0x120 -fn_1_6900 = .text:0x00006900; // type:function size:0x28 -fn_1_6928 = .text:0x00006928; // type:function size:0xA1C -fn_1_7344 = .text:0x00007344; // type:function size:0xCA4 -fn_1_7FE8 = .text:0x00007FE8; // type:function size:0x850 -fn_1_8838 = .text:0x00008838; // type:function size:0x4D0 -fn_1_8D08 = .text:0x00008D08; // type:function size:0x64 -fn_1_8D6C = .text:0x00008D6C; // type:function size:0x454 -fn_1_91C0 = .text:0x000091C0; // type:function size:0x46C -fn_1_962C = .text:0x0000962C; // type:function size:0xF58 -fn_1_A584 = .text:0x0000A584; // type:function size:0x43C -fn_1_A9C0 = .text:0x0000A9C0; // type:function size:0x1F4 -fn_1_ABB4 = .text:0x0000ABB4; // type:function size:0x54 -fn_1_AC08 = .text:0x0000AC08; // type:function size:0x138 -fn_1_AD40 = .text:0x0000AD40; // type:function size:0x154 -fn_1_AE94 = .text:0x0000AE94; // type:function size:0x78 -fn_1_AF0C = .text:0x0000AF0C; // type:function size:0x11C -fn_1_B028 = .text:0x0000B028; // type:function size:0x78 -fn_1_B0A0 = .text:0x0000B0A0; // type:function size:0x2D8 -fn_1_B378 = .text:0x0000B378; // type:function size:0x198 -fn_1_B510 = .text:0x0000B510; // type:function size:0xD8 -fn_1_B5E8 = .text:0x0000B5E8; // type:function size:0xBC -fn_1_B6A4 = .text:0x0000B6A4; // type:function size:0x33C -fn_1_B9E0 = .text:0x0000B9E0; // type:function size:0x4B0 -fn_1_BE90 = .text:0x0000BE90; // type:function size:0xA8 -fn_1_BF38 = .text:0x0000BF38; // type:function size:0x50 -fn_1_BF88 = .text:0x0000BF88; // type:function size:0x138 -fn_1_C0C0 = .text:0x0000C0C0; // type:function size:0xA4 -fn_1_C164 = .text:0x0000C164; // type:function size:0xA34 -fn_1_CB98 = .text:0x0000CB98; // type:function size:0x118 -fn_1_CCB0 = .text:0x0000CCB0; // type:function size:0x1C -fn_1_CCCC = .text:0x0000CCCC; // type:function size:0x2C -fn_1_CCF8 = .text:0x0000CCF8; // type:function size:0x184 -fn_1_CE7C = .text:0x0000CE7C; // type:function size:0xA0 -fn_1_CF1C = .text:0x0000CF1C; // type:function size:0xA8 -fn_1_CFC4 = .text:0x0000CFC4; // type:function size:0x8C -fn_1_D050 = .text:0x0000D050; // type:function size:0x98 -fn_1_D0E8 = .text:0x0000D0E8; // type:function size:0x348 -fn_1_D430 = .text:0x0000D430; // type:function size:0x618 -fn_1_DA48 = .text:0x0000DA48; // type:function size:0x370 -fn_1_DDB8 = .text:0x0000DDB8; // type:function size:0x13C -fn_1_DEF4 = .text:0x0000DEF4; // type:function size:0x2C -fn_1_DF20 = .text:0x0000DF20; // type:function size:0x308 -fn_1_E228 = .text:0x0000E228; // type:function size:0x80 -fn_1_E2A8 = .text:0x0000E2A8; // type:function size:0x520 -fn_1_E7C8 = .text:0x0000E7C8; // type:function size:0x50 -fn_1_E818 = .text:0x0000E818; // type:function size:0x44 -fn_1_E85C = .text:0x0000E85C; // type:function size:0x70 -fn_1_E8CC = .text:0x0000E8CC; // type:function size:0x74 -fn_1_E940 = .text:0x0000E940; // type:function size:0x5C -fn_1_E99C = .text:0x0000E99C; // type:function size:0x88 -fn_1_EA24 = .text:0x0000EA24; // type:function size:0x8C -fn_1_EAB0 = .text:0x0000EAB0; // type:function size:0x44 -fn_1_EAF4 = .text:0x0000EAF4; // type:function size:0x70 -fn_1_EB64 = .text:0x0000EB64; // type:function size:0x74 -fn_1_EBD8 = .text:0x0000EBD8; // type:function size:0x44 -fn_1_EC1C = .text:0x0000EC1C; // type:function size:0x70 -fn_1_EC8C = .text:0x0000EC8C; // type:function size:0x74 -fn_1_ED00 = .text:0x0000ED00; // type:function size:0x44 -fn_1_ED44 = .text:0x0000ED44; // type:function size:0x70 -fn_1_EDB4 = .text:0x0000EDB4; // type:function size:0x70 -fn_1_EE24 = .text:0x0000EE24; // type:function size:0x44 -fn_1_EE68 = .text:0x0000EE68; // type:function size:0x70 -fn_1_EED8 = .text:0x0000EED8; // type:function size:0x70 -fn_1_EF48 = .text:0x0000EF48; // type:function size:0x5C -fn_1_EFA4 = .text:0x0000EFA4; // type:function size:0x80 -fn_1_F024 = .text:0x0000F024; // type:function size:0x74 -fn_1_F098 = .text:0x0000F098; // type:function size:0x78 -fn_1_F110 = .text:0x0000F110; // type:function size:0x6C -fn_1_F17C = .text:0x0000F17C; // type:function size:0x78 -fn_1_F1F4 = .text:0x0000F1F4; // type:function size:0x98 -fn_1_F28C = .text:0x0000F28C; // type:function size:0x6C -fn_1_F2F8 = .text:0x0000F2F8; // type:function size:0x78 -fn_1_F370 = .text:0x0000F370; // type:function size:0x98 -fn_1_F408 = .text:0x0000F408; // type:function size:0x70 -fn_1_F478 = .text:0x0000F478; // type:function size:0x78 -fn_1_F4F0 = .text:0x0000F4F0; // type:function size:0x98 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x30 scope:local data:4byte -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x100 -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 scope:local data:double -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 scope:local data:double -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 scope:local data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x8 scope:local data:double -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 scope:local data:double -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x8 scope:local data:double -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x30 scope:local data:4byte -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x10 scope:local data:byte -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x8 scope:local data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0xC -lbl_1_data_C = .data:0x0000000C; // type:object size:0xC -lbl_1_data_18 = .data:0x00000018; // type:object size:0x10 -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC -lbl_1_data_34 = .data:0x00000034; // type:object size:0xC -lbl_1_data_40 = .data:0x00000040; // type:object size:0xC -lbl_1_data_4C = .data:0x0000004C; // type:object size:0x70 data:float -lbl_1_data_BC = .data:0x000000BC; // type:object size:0x4 data:4byte -lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x4 data:4byte -lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x9 data:string -lbl_1_data_CD = .data:0x000000CD; // type:object size:0x9 data:string -lbl_1_data_D6 = .data:0x000000D6; // type:object size:0x3 data:string -lbl_1_data_D9 = .data:0x000000D9; // type:object size:0x10 data:string -lbl_1_data_E9 = .data:0x000000E9; // type:object size:0x26 data:string -lbl_1_data_10F = .data:0x0000010F; // type:object size:0x2D -lbl_1_data_13C = .data:0x0000013C; // type:object size:0x1C -lbl_1_data_158 = .data:0x00000158; // type:object size:0x20 -lbl_1_data_178 = .data:0x00000178; // type:object size:0x40 -lbl_1_data_1B8 = .data:0x000001B8; // type:object size:0x14 -jumptable_1_data_1CC = .data:0x000001CC; // type:object size:0x20 scope:local -lbl_1_data_1EC = .data:0x000001EC; // type:object size:0x4 data:4byte -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte -lbl_1_bss_2 = .bss:0x00000002; // type:object size:0x2 data:2byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte -lbl_1_bss_6 = .bss:0x00000006; // type:object size:0x1 data:byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x2 data:2byte -lbl_1_bss_A = .bss:0x0000000A; // type:object size:0x1 data:byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:float -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:float -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x1 data:byte -lbl_1_bss_16 = .bss:0x00000016; // type:object size:0x2 data:2byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:float -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:float -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x1 data:byte -lbl_1_bss_21 = .bss:0x00000021; // type:object size:0x1 data:byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x18 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x9C data:2byte -lbl_1_bss_DC = .bss:0x000000DC; // type:object size:0x4 data:4byte -lbl_1_bss_E0 = .bss:0x000000E0; // type:object size:0x4 data:4byte -lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x2 data:2byte -lbl_1_bss_E8 = .bss:0x000000E8; // type:object size:0x8 data:4byte -lbl_1_bss_F0 = .bss:0x000000F0; // type:object size:0x14 data:4byte -lbl_1_bss_104 = .bss:0x00000104; // type:object size:0x2 data:2byte -lbl_1_bss_106 = .bss:0x00000106; // type:object size:0x2 data:2byte -lbl_1_bss_108 = .bss:0x00000108; // type:object size:0x2 data:2byte -lbl_1_bss_10C = .bss:0x0000010C; // type:object size:0x280 data:float -lbl_1_bss_38C = .bss:0x0000038C; // type:object size:0x10 -lbl_1_bss_39C = .bss:0x0000039C; // type:object size:0x4 data:4byte -lbl_1_bss_3A0 = .bss:0x000003A0; // type:object size:0x10 diff --git a/config/GMPP01_00/rels/m410Dll/splits.txt b/config/GMPP01_00/rels/m410Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m410Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m410Dll/symbols.txt b/config/GMPP01_00/rels/m410Dll/symbols.txt deleted file mode 100644 index 8d84a25d..00000000 --- a/config/GMPP01_00/rels/m410Dll/symbols.txt +++ /dev/null @@ -1,316 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x444 -fn_1_4E4 = .text:0x000004E4; // type:function size:0xC4 -fn_1_5A8 = .text:0x000005A8; // type:function size:0x94 -fn_1_63C = .text:0x0000063C; // type:function size:0x16C -fn_1_7A8 = .text:0x000007A8; // type:function size:0x314 -fn_1_ABC = .text:0x00000ABC; // type:function size:0x330 -fn_1_DEC = .text:0x00000DEC; // type:function size:0x204 -fn_1_FF0 = .text:0x00000FF0; // type:function size:0x3AC -fn_1_139C = .text:0x0000139C; // type:function size:0x2AC -fn_1_1648 = .text:0x00001648; // type:function size:0x380 -fn_1_19C8 = .text:0x000019C8; // type:function size:0xB4 -fn_1_1A7C = .text:0x00001A7C; // type:function size:0x6F0 -fn_1_216C = .text:0x0000216C; // type:function size:0x1C -fn_1_2188 = .text:0x00002188; // type:function size:0x664 -fn_1_27EC = .text:0x000027EC; // type:function size:0x18 -fn_1_2804 = .text:0x00002804; // type:function size:0x18 -fn_1_281C = .text:0x0000281C; // type:function size:0x18 -fn_1_2834 = .text:0x00002834; // type:function size:0x18 -fn_1_284C = .text:0x0000284C; // type:function size:0x18 -fn_1_2864 = .text:0x00002864; // type:function size:0x18 -fn_1_287C = .text:0x0000287C; // type:function size:0x30 -fn_1_28AC = .text:0x000028AC; // type:function size:0x30 -fn_1_28DC = .text:0x000028DC; // type:function size:0x38 -fn_1_2914 = .text:0x00002914; // type:function size:0x348 -fn_1_2C5C = .text:0x00002C5C; // type:function size:0x378 -fn_1_2FD4 = .text:0x00002FD4; // type:function size:0x11C -fn_1_30F0 = .text:0x000030F0; // type:function size:0xB4 -fn_1_31A4 = .text:0x000031A4; // type:function size:0x54 -fn_1_31F8 = .text:0x000031F8; // type:function size:0x4 -fn_1_31FC = .text:0x000031FC; // type:function size:0x154 -fn_1_3350 = .text:0x00003350; // type:function size:0x58 -fn_1_33A8 = .text:0x000033A8; // type:function size:0xDC -fn_1_3484 = .text:0x00003484; // type:function size:0x3C -fn_1_34C0 = .text:0x000034C0; // type:function size:0x154 -fn_1_3614 = .text:0x00003614; // type:function size:0x5CC -fn_1_3BE0 = .text:0x00003BE0; // type:function size:0xCF8 -fn_1_48D8 = .text:0x000048D8; // type:function size:0x32C -fn_1_4C04 = .text:0x00004C04; // type:function size:0x3E8 -fn_1_4FEC = .text:0x00004FEC; // type:function size:0x5DC -fn_1_55C8 = .text:0x000055C8; // type:function size:0x3C4 -fn_1_598C = .text:0x0000598C; // type:function size:0x168 -fn_1_5AF4 = .text:0x00005AF4; // type:function size:0x1AC -fn_1_5CA0 = .text:0x00005CA0; // type:function size:0x23C -fn_1_5EDC = .text:0x00005EDC; // type:function size:0x300 -fn_1_61DC = .text:0x000061DC; // type:function size:0x188 -fn_1_6364 = .text:0x00006364; // type:function size:0x354 -fn_1_66B8 = .text:0x000066B8; // type:function size:0x11C -fn_1_67D4 = .text:0x000067D4; // type:function size:0x194 -fn_1_6968 = .text:0x00006968; // type:function size:0x41C -fn_1_6D84 = .text:0x00006D84; // type:function size:0x30 -fn_1_6DB4 = .text:0x00006DB4; // type:function size:0x384 -fn_1_7138 = .text:0x00007138; // type:function size:0x32C -fn_1_7464 = .text:0x00007464; // type:function size:0x30 -fn_1_7494 = .text:0x00007494; // type:function size:0x8C -fn_1_7520 = .text:0x00007520; // type:function size:0x80 -fn_1_75A0 = .text:0x000075A0; // type:function size:0x114 -fn_1_76B4 = .text:0x000076B4; // type:function size:0xEC -fn_1_77A0 = .text:0x000077A0; // type:function size:0x44 -fn_1_77E4 = .text:0x000077E4; // type:function size:0x10 -fn_1_77F4 = .text:0x000077F4; // type:function size:0x48 -fn_1_783C = .text:0x0000783C; // type:function size:0x48 -fn_1_7884 = .text:0x00007884; // type:function size:0x170 -fn_1_79F4 = .text:0x000079F4; // type:function size:0xCC -fn_1_7AC0 = .text:0x00007AC0; // type:function size:0x36C -fn_1_7E2C = .text:0x00007E2C; // type:function size:0x23C -fn_1_8068 = .text:0x00008068; // type:function size:0x34 -fn_1_809C = .text:0x0000809C; // type:function size:0x374 -fn_1_8410 = .text:0x00008410; // type:function size:0x264 -fn_1_8674 = .text:0x00008674; // type:function size:0x260 -fn_1_88D4 = .text:0x000088D4; // type:function size:0x138 -fn_1_8A0C = .text:0x00008A0C; // type:function size:0xAC -fn_1_8AB8 = .text:0x00008AB8; // type:function size:0x584 -fn_1_903C = .text:0x0000903C; // type:function size:0x6B4 -fn_1_96F0 = .text:0x000096F0; // type:function size:0x39C -fn_1_9A8C = .text:0x00009A8C; // type:function size:0x1F4 -fn_1_9C80 = .text:0x00009C80; // type:function size:0x188 -fn_1_9E08 = .text:0x00009E08; // type:function size:0xF0 -fn_1_9EF8 = .text:0x00009EF8; // type:function size:0x74 -fn_1_9F6C = .text:0x00009F6C; // type:function size:0x134 -fn_1_A0A0 = .text:0x0000A0A0; // type:function size:0x31C -fn_1_A3BC = .text:0x0000A3BC; // type:function size:0x468 -fn_1_A824 = .text:0x0000A824; // type:function size:0x17C -fn_1_A9A0 = .text:0x0000A9A0; // type:function size:0x79C -fn_1_B13C = .text:0x0000B13C; // type:function size:0x644 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x10 data:4byte -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x10 data:4byte -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x20 data:4byte -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 data:double -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x1 data:byte -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0xC -lbl_1_data_C = .data:0x0000000C; // type:object size:0xC -lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float -lbl_1_data_24 = .data:0x00000024; // type:object size:0x4 -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC data:float -lbl_1_data_34 = .data:0x00000034; // type:object size:0xC data:float -lbl_1_data_40 = .data:0x00000040; // type:object size:0xC data:float -lbl_1_data_4C = .data:0x0000004C; // type:object size:0x3C -lbl_1_data_88 = .data:0x00000088; // type:object size:0x3C -lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x14 -lbl_1_data_D8 = .data:0x000000D8; // type:object size:0x2 data:2byte -lbl_1_data_DC = .data:0x000000DC; // type:object size:0x20 -lbl_1_data_FC = .data:0x000000FC; // type:object size:0x8 -lbl_1_data_104 = .data:0x00000104; // type:object size:0xC -lbl_1_data_110 = .data:0x00000110; // type:object size:0x4 data:4byte -lbl_1_data_114 = .data:0x00000114; // type:object size:0x1C -lbl_1_data_130 = .data:0x00000130; // type:object size:0x10 -lbl_1_data_140 = .data:0x00000140; // type:object size:0x20 -lbl_1_data_160 = .data:0x00000160; // type:object size:0xC -lbl_1_data_16C = .data:0x0000016C; // type:object size:0x20 -lbl_1_data_18C = .data:0x0000018C; // type:object size:0x20 -lbl_1_data_1AC = .data:0x000001AC; // type:object size:0x28 -lbl_1_data_1D4 = .data:0x000001D4; // type:object size:0xA0 -lbl_1_data_274 = .data:0x00000274; // type:object size:0x20 -lbl_1_data_294 = .data:0x00000294; // type:object size:0x20 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte -lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x2 data:2byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 data:2byte -lbl_1_bss_16 = .bss:0x00000016; // type:object size:0x6 data:2byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x2 data:2byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x8 data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:float -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:float -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:float -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x10 -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x4 data:4byte -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m411Dll/splits.txt b/config/GMPP01_00/rels/m411Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m411Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m411Dll/symbols.txt b/config/GMPP01_00/rels/m411Dll/symbols.txt deleted file mode 100644 index a4cd3909..00000000 --- a/config/GMPP01_00/rels/m411Dll/symbols.txt +++ /dev/null @@ -1,278 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0xDE0 -fn_1_E80 = .text:0x00000E80; // type:function size:0x10C -fn_1_F8C = .text:0x00000F8C; // type:function size:0xE8 -fn_1_1074 = .text:0x00001074; // type:function size:0x424 -fn_1_1498 = .text:0x00001498; // type:function size:0x88 -fn_1_1520 = .text:0x00001520; // type:function size:0x72C -fn_1_1C4C = .text:0x00001C4C; // type:function size:0x47C -fn_1_20C8 = .text:0x000020C8; // type:function size:0x508 -fn_1_25D0 = .text:0x000025D0; // type:function size:0xEE0 -fn_1_34B0 = .text:0x000034B0; // type:function size:0x5B0 -fn_1_3A60 = .text:0x00003A60; // type:function size:0x3C -fn_1_3A9C = .text:0x00003A9C; // type:function size:0x3C -fn_1_3AD8 = .text:0x00003AD8; // type:function size:0x3C -fn_1_3B14 = .text:0x00003B14; // type:function size:0x3C -fn_1_3B50 = .text:0x00003B50; // type:function size:0x3E4 -fn_1_3F34 = .text:0x00003F34; // type:function size:0x2E4 -fn_1_4218 = .text:0x00004218; // type:function size:0x23C -fn_1_4454 = .text:0x00004454; // type:function size:0x514 -fn_1_4968 = .text:0x00004968; // type:function size:0x248 -fn_1_4BB0 = .text:0x00004BB0; // type:function size:0x2DC -fn_1_4E8C = .text:0x00004E8C; // type:function size:0x1F0 -fn_1_507C = .text:0x0000507C; // type:function size:0x308 -fn_1_5384 = .text:0x00005384; // type:function size:0xC8 -fn_1_544C = .text:0x0000544C; // type:function size:0x108 -fn_1_5554 = .text:0x00005554; // type:function size:0x368 -fn_1_58BC = .text:0x000058BC; // type:function size:0x54 -fn_1_5910 = .text:0x00005910; // type:function size:0x448 -fn_1_5D58 = .text:0x00005D58; // type:function size:0xB8 -fn_1_5E10 = .text:0x00005E10; // type:function size:0xC0 -fn_1_5ED0 = .text:0x00005ED0; // type:function size:0x6C -fn_1_5F3C = .text:0x00005F3C; // type:function size:0x4EC -fn_1_6428 = .text:0x00006428; // type:function size:0x3F8 -fn_1_6820 = .text:0x00006820; // type:function size:0x21C -fn_1_6A3C = .text:0x00006A3C; // type:function size:0x2B8 -fn_1_6CF4 = .text:0x00006CF4; // type:function size:0xE4 -fn_1_6DD8 = .text:0x00006DD8; // type:function size:0xC4 -fn_1_6E9C = .text:0x00006E9C; // type:function size:0xAC -fn_1_6F48 = .text:0x00006F48; // type:function size:0x680 -fn_1_75C8 = .text:0x000075C8; // type:function size:0xB8 -fn_1_7680 = .text:0x00007680; // type:function size:0xB8 -fn_1_7738 = .text:0x00007738; // type:function size:0x1348 -fn_1_8A80 = .text:0x00008A80; // type:function size:0x33C -fn_1_8DBC = .text:0x00008DBC; // type:function size:0x6D4 -fn_1_9490 = .text:0x00009490; // type:function size:0x730 -fn_1_9BC0 = .text:0x00009BC0; // type:function size:0x444 -fn_1_A004 = .text:0x0000A004; // type:function size:0x78 -fn_1_A07C = .text:0x0000A07C; // type:function size:0xA4 -fn_1_A120 = .text:0x0000A120; // type:function size:0x394 -fn_1_A4B4 = .text:0x0000A4B4; // type:function size:0x2D4 -fn_1_A788 = .text:0x0000A788; // type:function size:0x528 -fn_1_ACB0 = .text:0x0000ACB0; // type:function size:0xA8 -fn_1_AD58 = .text:0x0000AD58; // type:function size:0xB48 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x54 -lbl_1_data_54 = .data:0x00000054; // type:object size:0xC -lbl_1_data_60 = .data:0x00000060; // type:object size:0xC -lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC -lbl_1_data_78 = .data:0x00000078; // type:object size:0xE data:string -lbl_1_data_86 = .data:0x00000086; // type:object size:0xE data:string -lbl_1_data_94 = .data:0x00000094; // type:object size:0xE data:string -lbl_1_data_A2 = .data:0x000000A2; // type:object size:0xE data:string -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0xE data:string -lbl_1_data_BE = .data:0x000000BE; // type:object size:0xE data:string -lbl_1_data_CC = .data:0x000000CC; // type:object size:0xE data:string -lbl_1_data_DA = .data:0x000000DA; // type:object size:0xE data:string -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0xE data:string -lbl_1_data_F6 = .data:0x000000F6; // type:object size:0xE data:string -lbl_1_data_104 = .data:0x00000104; // type:object size:0xE data:string -lbl_1_data_112 = .data:0x00000112; // type:object size:0xE data:string -lbl_1_data_120 = .data:0x00000120; // type:object size:0xE data:string -lbl_1_data_12E = .data:0x0000012E; // type:object size:0xE data:string -lbl_1_data_13C = .data:0x0000013C; // type:object size:0xE data:string -lbl_1_data_14A = .data:0x0000014A; // type:object size:0xE data:string -lbl_1_data_158 = .data:0x00000158; // type:object size:0xE data:string -lbl_1_data_166 = .data:0x00000166; // type:object size:0xE data:string -lbl_1_data_174 = .data:0x00000174; // type:object size:0xE data:string -lbl_1_data_182 = .data:0x00000182; // type:object size:0xE data:string -lbl_1_data_190 = .data:0x00000190; // type:object size:0xE data:string -lbl_1_data_19E = .data:0x0000019E; // type:object size:0xE data:string -lbl_1_data_1AC = .data:0x000001AC; // type:object size:0xE data:string -lbl_1_data_1BA = .data:0x000001BA; // type:object size:0xE data:string -lbl_1_data_1C8 = .data:0x000001C8; // type:object size:0x78 -lbl_1_data_240 = .data:0x00000240; // type:object size:0x20 -lbl_1_data_260 = .data:0x00000260; // type:object size:0x20 -lbl_1_data_280 = .data:0x00000280; // type:object size:0x24 -lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0x20 -lbl_1_data_2C4 = .data:0x000002C4; // type:object size:0xC -lbl_1_data_2D0 = .data:0x000002D0; // type:object size:0x14 -lbl_1_data_2E4 = .data:0x000002E4; // type:object size:0xB data:string -lbl_1_data_2EF = .data:0x000002EF; // type:object size:0xB data:string -lbl_1_data_2FA = .data:0x000002FA; // type:object size:0x8 data:string -lbl_1_data_302 = .data:0x00000302; // type:object size:0xA -lbl_1_data_30C = .data:0x0000030C; // type:object size:0x10 -lbl_1_data_31C = .data:0x0000031C; // type:object size:0xC data:string -lbl_1_data_328 = .data:0x00000328; // type:object size:0x7 data:string -lbl_1_data_32F = .data:0x0000032F; // type:object size:0x7 data:string -lbl_1_data_336 = .data:0x00000336; // type:object size:0x7 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x60 data:float -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x60 data:float -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x60 data:float -lbl_1_bss_124 = .bss:0x00000124; // type:object size:0x10 -lbl_1_bss_134 = .bss:0x00000134; // type:object size:0x4 data:4byte -lbl_1_bss_138 = .bss:0x00000138; // type:object size:0x33C data:float -lbl_1_bss_474 = .bss:0x00000474; // type:object size:0x9B0 -lbl_1_bss_E24 = .bss:0x00000E24; // type:object size:0x4 data:float -lbl_1_bss_E28 = .bss:0x00000E28; // type:object size:0x4 data:4byte -lbl_1_bss_E2C = .bss:0x00000E2C; // type:object size:0xC data:4byte -lbl_1_bss_E38 = .bss:0x00000E38; // type:object size:0x4 data:4byte -lbl_1_bss_E3C = .bss:0x00000E3C; // type:object size:0x4 data:4byte -lbl_1_bss_E40 = .bss:0x00000E40; // type:object size:0x4 data:4byte -lbl_1_bss_E44 = .bss:0x00000E44; // type:object size:0x28 data:4byte -lbl_1_bss_E6C = .bss:0x00000E6C; // type:object size:0x28 data:4byte -lbl_1_bss_E94 = .bss:0x00000E94; // type:object size:0x4 data:4byte -lbl_1_bss_E98 = .bss:0x00000E98; // type:object size:0x4 data:4byte -lbl_1_bss_E9C = .bss:0x00000E9C; // type:object size:0x2 data:2byte -lbl_1_bss_E9E = .bss:0x00000E9E; // type:object size:0x2 data:2byte -lbl_1_bss_EA0 = .bss:0x00000EA0; // type:object size:0x2 data:2byte diff --git a/config/GMPP01_00/rels/m412Dll/splits.txt b/config/GMPP01_00/rels/m412Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m412Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m412Dll/symbols.txt b/config/GMPP01_00/rels/m412Dll/symbols.txt deleted file mode 100644 index 577e6f3e..00000000 --- a/config/GMPP01_00/rels/m412Dll/symbols.txt +++ /dev/null @@ -1,190 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x64C -fn_1_6EC = .text:0x000006EC; // type:function size:0x50 -fn_1_73C = .text:0x0000073C; // type:function size:0x80 -fn_1_7BC = .text:0x000007BC; // type:function size:0xD8 -fn_1_894 = .text:0x00000894; // type:function size:0x4 -fn_1_898 = .text:0x00000898; // type:function size:0x24 -fn_1_8BC = .text:0x000008BC; // type:function size:0x144C -fn_1_1D08 = .text:0x00001D08; // type:function size:0x80 -fn_1_1D88 = .text:0x00001D88; // type:function size:0x34 -fn_1_1DBC = .text:0x00001DBC; // type:function size:0x258 -fn_1_2014 = .text:0x00002014; // type:function size:0x50 -fn_1_2064 = .text:0x00002064; // type:function size:0x6A4 -fn_1_2708 = .text:0x00002708; // type:function size:0xBC -fn_1_27C4 = .text:0x000027C4; // type:function size:0x258 -fn_1_2A1C = .text:0x00002A1C; // type:function size:0xF2C -fn_1_3948 = .text:0x00003948; // type:function size:0x128C -fn_1_4BD4 = .text:0x00004BD4; // type:function size:0xB8 -fn_1_4C8C = .text:0x00004C8C; // type:function size:0x1BC -fn_1_4E48 = .text:0x00004E48; // type:function size:0x404 -fn_1_524C = .text:0x0000524C; // type:function size:0xC0 -fn_1_530C = .text:0x0000530C; // type:function size:0x6C -fn_1_5378 = .text:0x00005378; // type:function size:0x6C -fn_1_53E4 = .text:0x000053E4; // type:function size:0x228 -fn_1_560C = .text:0x0000560C; // type:function size:0x21C -fn_1_5828 = .text:0x00005828; // type:function size:0xD5C -fn_1_6584 = .text:0x00006584; // type:function size:0x104 -fn_1_6688 = .text:0x00006688; // type:function size:0x17C -fn_1_6804 = .text:0x00006804; // type:function size:0x144C -fn_1_7C50 = .text:0x00007C50; // type:function size:0x23BC -fn_1_A00C = .text:0x0000A00C; // type:function size:0x5FC -fn_1_A608 = .text:0x0000A608; // type:function size:0x470 -fn_1_AA78 = .text:0x0000AA78; // type:function size:0x340 -fn_1_ADB8 = .text:0x0000ADB8; // type:function size:0x374 -fn_1_B12C = .text:0x0000B12C; // type:function size:0x24 -fn_1_B150 = .text:0x0000B150; // type:function size:0x60 -fn_1_B1B0 = .text:0x0000B1B0; // type:function size:0x498 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x20 -lbl_1_data_20 = .data:0x00000020; // type:object size:0x20 -lbl_1_data_40 = .data:0x00000040; // type:object size:0x20 -lbl_1_data_60 = .data:0x00000060; // type:object size:0x18 -lbl_1_data_78 = .data:0x00000078; // type:object size:0x54 data:float -lbl_1_data_CC = .data:0x000000CC; // type:object size:0x14 data:string -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x14 data:string -lbl_1_data_F4 = .data:0x000000F4; // type:object size:0x14 data:string -lbl_1_data_108 = .data:0x00000108; // type:object size:0x14 data:string -lbl_1_data_11C = .data:0x0000011C; // type:object size:0x14 data:string -lbl_1_data_130 = .data:0x00000130; // type:object size:0x14 data:string -lbl_1_data_144 = .data:0x00000144; // type:object size:0x14 data:string -lbl_1_data_158 = .data:0x00000158; // type:object size:0x14 data:string -lbl_1_data_16C = .data:0x0000016C; // type:object size:0x14 data:string -lbl_1_data_180 = .data:0x00000180; // type:object size:0x14 data:string -lbl_1_data_194 = .data:0x00000194; // type:object size:0x14 data:string -lbl_1_data_1A8 = .data:0x000001A8; // type:object size:0x14 data:string -lbl_1_data_1BC = .data:0x000001BC; // type:object size:0x14 data:string -lbl_1_data_1D0 = .data:0x000001D0; // type:object size:0x14 data:string -lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x14 data:string -lbl_1_data_1F8 = .data:0x000001F8; // type:object size:0x14 data:string -lbl_1_data_20C = .data:0x0000020C; // type:object size:0x14 data:string -lbl_1_data_220 = .data:0x00000220; // type:object size:0x14 data:string -lbl_1_data_234 = .data:0x00000234; // type:object size:0x14 data:string -lbl_1_data_248 = .data:0x00000248; // type:object size:0x14 data:string -lbl_1_data_25C = .data:0x0000025C; // type:object size:0x14 data:string -lbl_1_data_270 = .data:0x00000270; // type:object size:0x14 data:string -lbl_1_data_284 = .data:0x00000284; // type:object size:0x14 data:string -lbl_1_data_298 = .data:0x00000298; // type:object size:0x5C -lbl_1_data_2F4 = .data:0x000002F4; // type:object size:0xC data:string -lbl_1_data_300 = .data:0x00000300; // type:object size:0x7 data:string -lbl_1_data_307 = .data:0x00000307; // type:object size:0x9 -lbl_1_data_310 = .data:0x00000310; // type:object size:0x30 -lbl_1_data_340 = .data:0x00000340; // type:object size:0x8 -lbl_1_data_348 = .data:0x00000348; // type:object size:0x18 -lbl_1_data_360 = .data:0x00000360; // type:object size:0x9 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0xC data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0xC data:float -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x10 data:float -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x114 -lbl_1_bss_13C = .bss:0x0000013C; // type:object size:0x114 -lbl_1_bss_250 = .bss:0x00000250; // type:object size:0xC data:float -lbl_1_bss_25C = .bss:0x0000025C; // type:object size:0xC data:float -lbl_1_bss_268 = .bss:0x00000268; // type:object size:0xC data:float -lbl_1_bss_274 = .bss:0x00000274; // type:object size:0x4 data:4byte -lbl_1_bss_278 = .bss:0x00000278; // type:object size:0x80 -lbl_1_bss_2F8 = .bss:0x000002F8; // type:object size:0x44 data:2byte -lbl_1_bss_33C = .bss:0x0000033C; // type:object size:0x198 -lbl_1_bss_4D4 = .bss:0x000004D4; // type:object size:0x2A0 -lbl_1_bss_774 = .bss:0x00000774; // type:object size:0x4 data:float -lbl_1_bss_778 = .bss:0x00000778; // type:object size:0x4 data:float -lbl_1_bss_77C = .bss:0x0000077C; // type:object size:0x4 data:float -lbl_1_bss_780 = .bss:0x00000780; // type:object size:0x10 data:4byte -lbl_1_bss_790 = .bss:0x00000790; // type:object size:0x4 data:4byte -lbl_1_bss_794 = .bss:0x00000794; // type:object size:0x4 data:4byte -lbl_1_bss_798 = .bss:0x00000798; // type:object size:0x2 data:2byte -lbl_1_bss_79C = .bss:0x0000079C; // type:object size:0x2 data:2byte -lbl_1_bss_79E = .bss:0x0000079E; // type:object size:0x2 data:2byte -lbl_1_bss_7A0 = .bss:0x000007A0; // type:object size:0x2 data:2byte diff --git a/config/GMPP01_00/rels/m413Dll/splits.txt b/config/GMPP01_00/rels/m413Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m413Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m413Dll/symbols.txt b/config/GMPP01_00/rels/m413Dll/symbols.txt deleted file mode 100644 index a3598af6..00000000 --- a/config/GMPP01_00/rels/m413Dll/symbols.txt +++ /dev/null @@ -1,211 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x2EC -fn_1_38C = .text:0x0000038C; // type:function size:0x134 -fn_1_4C0 = .text:0x000004C0; // type:function size:0xBC -fn_1_57C = .text:0x0000057C; // type:function size:0x154 -fn_1_6D0 = .text:0x000006D0; // type:function size:0x128 -fn_1_7F8 = .text:0x000007F8; // type:function size:0x6C8 -fn_1_EC0 = .text:0x00000EC0; // type:function size:0x1F8 -fn_1_10B8 = .text:0x000010B8; // type:function size:0x90C -fn_1_19C4 = .text:0x000019C4; // type:function size:0x4 -fn_1_19C8 = .text:0x000019C8; // type:function size:0x38DC -fn_1_52A4 = .text:0x000052A4; // type:function size:0x3824 -fn_1_8AC8 = .text:0x00008AC8; // type:function size:0x148 -fn_1_8C10 = .text:0x00008C10; // type:function size:0x192C -fn_1_A53C = .text:0x0000A53C; // type:function size:0x1188 -fn_1_B6C4 = .text:0x0000B6C4; // type:function size:0x101C -fn_1_C6E0 = .text:0x0000C6E0; // type:function size:0x4D4 -fn_1_CBB4 = .text:0x0000CBB4; // type:function size:0x78C -fn_1_D340 = .text:0x0000D340; // type:function size:0x60 -fn_1_D3A0 = .text:0x0000D3A0; // type:function size:0x360 -fn_1_D700 = .text:0x0000D700; // type:function size:0x64 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0xCC -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0xC data:byte -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:4byte -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:4byte -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:4byte -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x10 data:4byte -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x10 data:4byte -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x19 data:byte -lbl_1_rodata_201 = .rodata:0x00000201; // type:object size:0x1F data:byte -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0xC data:4byte -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0xC data:4byte -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x30 data:4byte -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x10 data:4byte -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0xC data:4byte -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x10 data:4byte -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0xC data:4byte -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0xC data:4byte -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x10 data:4byte -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x10 data:4byte -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x428 -lbl_1_rodata_764 = .rodata:0x00000764; // type:object size:0xC data:4byte -lbl_1_rodata_770 = .rodata:0x00000770; // type:object size:0xC data:4byte -lbl_1_rodata_77C = .rodata:0x0000077C; // type:object size:0x4 data:float -lbl_1_rodata_780 = .rodata:0x00000780; // type:object size:0x4 data:float -lbl_1_rodata_784 = .rodata:0x00000784; // type:object size:0x4 data:float -lbl_1_rodata_788 = .rodata:0x00000788; // type:object size:0x8 data:double -lbl_1_rodata_790 = .rodata:0x00000790; // type:object size:0x8 data:double -lbl_1_rodata_798 = .rodata:0x00000798; // type:object size:0x8 data:double -lbl_1_rodata_7A0 = .rodata:0x000007A0; // type:object size:0x8 data:double -lbl_1_rodata_7A8 = .rodata:0x000007A8; // type:object size:0x4 data:float -lbl_1_rodata_7AC = .rodata:0x000007AC; // type:object size:0x10 data:4byte -lbl_1_rodata_7BC = .rodata:0x000007BC; // type:object size:0x14 data:4byte -lbl_1_rodata_7D0 = .rodata:0x000007D0; // type:object size:0x60 -lbl_1_rodata_830 = .rodata:0x00000830; // type:object size:0x8 data:double -lbl_1_rodata_838 = .rodata:0x00000838; // type:object size:0x8 data:double -lbl_1_rodata_840 = .rodata:0x00000840; // type:object size:0x4 data:float -lbl_1_rodata_848 = .rodata:0x00000848; // type:object size:0x8 data:double -lbl_1_rodata_850 = .rodata:0x00000850; // type:object size:0x4 data:float -lbl_1_rodata_858 = .rodata:0x00000858; // type:object size:0x8 data:double -lbl_1_rodata_860 = .rodata:0x00000860; // type:object size:0x8 data:double -lbl_1_rodata_868 = .rodata:0x00000868; // type:object size:0x8 data:double -lbl_1_rodata_870 = .rodata:0x00000870; // type:object size:0x8 data:double -lbl_1_rodata_878 = .rodata:0x00000878; // type:object size:0x4 data:float -lbl_1_rodata_87C = .rodata:0x0000087C; // type:object size:0x4 data:float -lbl_1_rodata_880 = .rodata:0x00000880; // type:object size:0x4 data:float -lbl_1_rodata_884 = .rodata:0x00000884; // type:object size:0x4 data:float -lbl_1_rodata_888 = .rodata:0x00000888; // type:object size:0x4 data:float -lbl_1_rodata_88C = .rodata:0x0000088C; // type:object size:0x4 data:float -lbl_1_rodata_890 = .rodata:0x00000890; // type:object size:0x1C data:4byte -lbl_1_rodata_8AC = .rodata:0x000008AC; // type:object size:0x4 data:float -lbl_1_rodata_8B0 = .rodata:0x000008B0; // type:object size:0x8 data:double -lbl_1_rodata_8B8 = .rodata:0x000008B8; // type:object size:0x4 data:float -lbl_1_rodata_8BC = .rodata:0x000008BC; // type:object size:0x4 data:float -lbl_1_rodata_8C0 = .rodata:0x000008C0; // type:object size:0x4 data:float -lbl_1_rodata_8C4 = .rodata:0x000008C4; // type:object size:0x4 data:float -lbl_1_rodata_8C8 = .rodata:0x000008C8; // type:object size:0x8 data:double -lbl_1_rodata_8D0 = .rodata:0x000008D0; // type:object size:0x4 data:float -lbl_1_rodata_8D8 = .rodata:0x000008D8; // type:object size:0x8 data:double -lbl_1_rodata_8E0 = .rodata:0x000008E0; // type:object size:0x4 data:float -lbl_1_rodata_8E4 = .rodata:0x000008E4; // type:object size:0x4 data:float -lbl_1_rodata_8E8 = .rodata:0x000008E8; // type:object size:0x4 data:float -lbl_1_rodata_8EC = .rodata:0x000008EC; // type:object size:0x4 data:float -lbl_1_rodata_8F0 = .rodata:0x000008F0; // type:object size:0x4 data:float -lbl_1_rodata_8F4 = .rodata:0x000008F4; // type:object size:0x4 data:float -lbl_1_rodata_8F8 = .rodata:0x000008F8; // type:object size:0x4 data:float -lbl_1_rodata_8FC = .rodata:0x000008FC; // type:object size:0x4 data:float -lbl_1_rodata_900 = .rodata:0x00000900; // type:object size:0x8 data:double -lbl_1_rodata_908 = .rodata:0x00000908; // type:object size:0x8 data:double -lbl_1_rodata_910 = .rodata:0x00000910; // type:object size:0x4 data:float -lbl_1_rodata_914 = .rodata:0x00000914; // type:object size:0x4 data:float -lbl_1_rodata_918 = .rodata:0x00000918; // type:object size:0xC data:byte -lbl_1_rodata_924 = .rodata:0x00000924; // type:object size:0x18 data:4byte -lbl_1_rodata_93C = .rodata:0x0000093C; // type:object size:0x8 data:byte -lbl_1_rodata_944 = .rodata:0x00000944; // type:object size:0x10 data:4byte -lbl_1_rodata_954 = .rodata:0x00000954; // type:object size:0x1 data:byte -lbl_1_rodata_958 = .rodata:0x00000958; // type:object size:0x10 data:4byte -lbl_1_rodata_968 = .rodata:0x00000968; // type:object size:0x10 data:4byte -lbl_1_rodata_978 = .rodata:0x00000978; // type:object size:0x8 data:double -lbl_1_rodata_980 = .rodata:0x00000980; // type:object size:0x4 data:float -lbl_1_rodata_984 = .rodata:0x00000984; // type:object size:0x4 data:float -lbl_1_rodata_988 = .rodata:0x00000988; // type:object size:0x4 data:float -lbl_1_rodata_98C = .rodata:0x0000098C; // type:object size:0x4 data:float -lbl_1_rodata_990 = .rodata:0x00000990; // type:object size:0x8 data:double -lbl_1_rodata_998 = .rodata:0x00000998; // type:object size:0x4 data:float -lbl_1_rodata_99C = .rodata:0x0000099C; // type:object size:0x4 data:float -lbl_1_rodata_9A0 = .rodata:0x000009A0; // type:object size:0x8 data:double -lbl_1_rodata_9A8 = .rodata:0x000009A8; // type:object size:0x8 data:double -lbl_1_rodata_9B0 = .rodata:0x000009B0; // type:object size:0x10 data:4byte -lbl_1_rodata_9C0 = .rodata:0x000009C0; // type:object size:0x4 data:float -lbl_1_rodata_9C4 = .rodata:0x000009C4; // type:object size:0x4 data:float -lbl_1_rodata_9C8 = .rodata:0x000009C8; // type:object size:0x4 data:float -lbl_1_rodata_9CC = .rodata:0x000009CC; // type:object size:0xC data:4byte -lbl_1_rodata_9D8 = .rodata:0x000009D8; // type:object size:0xC data:4byte -lbl_1_rodata_9E4 = .rodata:0x000009E4; // type:object size:0xC data:4byte -lbl_1_rodata_9F0 = .rodata:0x000009F0; // type:object size:0xC data:4byte -lbl_1_rodata_9FC = .rodata:0x000009FC; // type:object size:0xC data:4byte -lbl_1_rodata_A08 = .rodata:0x00000A08; // type:object size:0xC data:4byte -lbl_1_rodata_A14 = .rodata:0x00000A14; // type:object size:0xC data:4byte -lbl_1_rodata_A20 = .rodata:0x00000A20; // type:object size:0x1 data:byte -lbl_1_rodata_A24 = .rodata:0x00000A24; // type:object size:0x4 data:float -lbl_1_rodata_A28 = .rodata:0x00000A28; // type:object size:0x4 data:float -lbl_1_rodata_A2C = .rodata:0x00000A2C; // type:object size:0x4 data:float -lbl_1_rodata_A30 = .rodata:0x00000A30; // type:object size:0x4 data:float -lbl_1_rodata_A34 = .rodata:0x00000A34; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x4 data:4byte -lbl_1_data_4 = .data:0x00000004; // type:object size:0x8 data:4byte -lbl_1_data_C = .data:0x0000000C; // type:object size:0x2C data:4byte -lbl_1_data_38 = .data:0x00000038; // type:object size:0x9 data:string -lbl_1_data_41 = .data:0x00000041; // type:object size:0x19 data:string -lbl_1_data_5A = .data:0x0000005A; // type:object size:0x1B data:string -lbl_1_data_75 = .data:0x00000075; // type:object size:0x10 data:string -lbl_1_data_85 = .data:0x00000085; // type:object size:0x10 data:string -lbl_1_data_95 = .data:0x00000095; // type:object size:0x10 data:string -lbl_1_data_A5 = .data:0x000000A5; // type:object size:0x10 data:string -lbl_1_data_B5 = .data:0x000000B5; // type:object size:0x11 data:string -lbl_1_data_C6 = .data:0x000000C6; // type:object size:0x11 data:string -lbl_1_data_D7 = .data:0x000000D7; // type:object size:0x12 data:string -lbl_1_data_E9 = .data:0x000000E9; // type:object size:0x12 data:string -lbl_1_data_FB = .data:0x000000FB; // type:object size:0x12 data:string -lbl_1_data_10D = .data:0x0000010D; // type:object size:0xF data:string -lbl_1_data_11C = .data:0x0000011C; // type:object size:0x19 data:string -lbl_1_data_135 = .data:0x00000135; // type:object size:0x24 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0xC data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 data:2byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x2 data:2byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x8 data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:float -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x10 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x70 -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x18 data:4byte -lbl_1_bss_D0 = .bss:0x000000D0; // type:object size:0x4 data:4byte -lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0x28 -lbl_1_bss_FC = .bss:0x000000FC; // type:object size:0x4 data:4byte -lbl_1_bss_100 = .bss:0x00000100; // type:object size:0x2580 -lbl_1_bss_2680 = .bss:0x00002680; // type:object size:0x4 data:4byte -lbl_1_bss_2684 = .bss:0x00002684; // type:object size:0x3E8 -lbl_1_bss_2A6C = .bss:0x00002A6C; // type:object size:0x4E18 -lbl_1_bss_7884 = .bss:0x00007884; // type:object size:0x30 diff --git a/config/GMPP01_00/rels/m414Dll/splits.txt b/config/GMPP01_00/rels/m414Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m414Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m414Dll/symbols.txt b/config/GMPP01_00/rels/m414Dll/symbols.txt deleted file mode 100644 index b04c8e01..00000000 --- a/config/GMPP01_00/rels/m414Dll/symbols.txt +++ /dev/null @@ -1,183 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x87C -fn_1_91C = .text:0x0000091C; // type:function size:0x268 -fn_1_B84 = .text:0x00000B84; // type:function size:0x154 -fn_1_CD8 = .text:0x00000CD8; // type:function size:0x7C -fn_1_D54 = .text:0x00000D54; // type:function size:0x634 -fn_1_1388 = .text:0x00001388; // type:function size:0x3C -fn_1_13C4 = .text:0x000013C4; // type:function size:0x3C -fn_1_1400 = .text:0x00001400; // type:function size:0x3C -fn_1_143C = .text:0x0000143C; // type:function size:0x3C -fn_1_1478 = .text:0x00001478; // type:function size:0x214 -fn_1_168C = .text:0x0000168C; // type:function size:0x3C -fn_1_16C8 = .text:0x000016C8; // type:function size:0x3C -fn_1_1704 = .text:0x00001704; // type:function size:0x3C -fn_1_1740 = .text:0x00001740; // type:function size:0x3C -fn_1_177C = .text:0x0000177C; // type:function size:0x3DC -fn_1_1B58 = .text:0x00001B58; // type:function size:0x3C -fn_1_1B94 = .text:0x00001B94; // type:function size:0x3C -fn_1_1BD0 = .text:0x00001BD0; // type:function size:0x3C -fn_1_1C0C = .text:0x00001C0C; // type:function size:0x3C -fn_1_1C48 = .text:0x00001C48; // type:function size:0x1BC -fn_1_1E04 = .text:0x00001E04; // type:function size:0x1B78 -fn_1_397C = .text:0x0000397C; // type:function size:0xDC -fn_1_3A58 = .text:0x00003A58; // type:function size:0xDC -fn_1_3B34 = .text:0x00003B34; // type:function size:0x214 -fn_1_3D48 = .text:0x00003D48; // type:function size:0x184 -fn_1_3ECC = .text:0x00003ECC; // type:function size:0x3E0 -fn_1_42AC = .text:0x000042AC; // type:function size:0x958 -fn_1_4C04 = .text:0x00004C04; // type:function size:0x70 -fn_1_4C74 = .text:0x00004C74; // type:function size:0x19C -fn_1_4E10 = .text:0x00004E10; // type:function size:0x744 -fn_1_5554 = .text:0x00005554; // type:function size:0xD0 -fn_1_5624 = .text:0x00005624; // type:function size:0xD8 -fn_1_56FC = .text:0x000056FC; // type:function size:0x84 -fn_1_5780 = .text:0x00005780; // type:function size:0x2BC -fn_1_5A3C = .text:0x00005A3C; // type:function size:0x4AC -fn_1_5EE8 = .text:0x00005EE8; // type:function size:0x24C -fn_1_6134 = .text:0x00006134; // type:function size:0x418 -fn_1_654C = .text:0x0000654C; // type:function size:0x90 -fn_1_65DC = .text:0x000065DC; // type:function size:0x68 -fn_1_6644 = .text:0x00006644; // type:function size:0x10B0 -fn_1_76F4 = .text:0x000076F4; // type:function size:0x2B4 -fn_1_79A8 = .text:0x000079A8; // type:function size:0x620 -fn_1_7FC8 = .text:0x00007FC8; // type:function size:0x90C -fn_1_88D4 = .text:0x000088D4; // type:function size:0x78 -fn_1_894C = .text:0x0000894C; // type:function size:0xC4 -fn_1_8A10 = .text:0x00008A10; // type:function size:0x60 -fn_1_8A70 = .text:0x00008A70; // type:function size:0x450 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x10 -lbl_1_data_10 = .data:0x00000010; // type:object size:0x10 -lbl_1_data_20 = .data:0x00000020; // type:object size:0x10 -lbl_1_data_30 = .data:0x00000030; // type:object size:0x20 -lbl_1_data_50 = .data:0x00000050; // type:object size:0x18 -lbl_1_data_68 = .data:0x00000068; // type:object size:0x24 -lbl_1_data_8C = .data:0x0000008C; // type:object size:0x18 -lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x10 -lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x10 -lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x60 -lbl_1_data_124 = .data:0x00000124; // type:object size:0x10 data:string -lbl_1_data_134 = .data:0x00000134; // type:object size:0x7 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0xC data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0xC data:float -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0xC data:float -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x3C -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x3C -lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x3C -lbl_1_bss_DC = .bss:0x000000DC; // type:object size:0x4 data:4byte -lbl_1_bss_E0 = .bss:0x000000E0; // type:object size:0x10 -lbl_1_bss_F0 = .bss:0x000000F0; // type:object size:0x820 data:2byte -lbl_1_bss_910 = .bss:0x00000910; // type:object size:0x10 data:float -lbl_1_bss_920 = .bss:0x00000920; // type:object size:0x10 data:float -lbl_1_bss_930 = .bss:0x00000930; // type:object size:0x8 data:4byte -lbl_1_bss_938 = .bss:0x00000938; // type:object size:0x40 -lbl_1_bss_978 = .bss:0x00000978; // type:object size:0x4 data:4byte -lbl_1_bss_97C = .bss:0x0000097C; // type:object size:0x10 -lbl_1_bss_98C = .bss:0x0000098C; // type:object size:0x4 data:4byte -lbl_1_bss_990 = .bss:0x00000990; // type:object size:0x80 -lbl_1_bss_A10 = .bss:0x00000A10; // type:object size:0x2 data:2byte -lbl_1_bss_A12 = .bss:0x00000A12; // type:object size:0x2 data:2byte diff --git a/config/GMPP01_00/rels/m415Dll/splits.txt b/config/GMPP01_00/rels/m415Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m415Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m415Dll/symbols.txt b/config/GMPP01_00/rels/m415Dll/symbols.txt deleted file mode 100644 index f68c9a44..00000000 --- a/config/GMPP01_00/rels/m415Dll/symbols.txt +++ /dev/null @@ -1,234 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x39C -fn_1_43C = .text:0x0000043C; // type:function size:0x74 -fn_1_4B0 = .text:0x000004B0; // type:function size:0x328 -fn_1_7D8 = .text:0x000007D8; // type:function size:0xCE0 -fn_1_14B8 = .text:0x000014B8; // type:function size:0x64 -fn_1_151C = .text:0x0000151C; // type:function size:0xAC -fn_1_15C8 = .text:0x000015C8; // type:function size:0x390 -fn_1_1958 = .text:0x00001958; // type:function size:0x100 -fn_1_1A58 = .text:0x00001A58; // type:function size:0x10B8 -fn_1_2B10 = .text:0x00002B10; // type:function size:0xFC -fn_1_2C0C = .text:0x00002C0C; // type:function size:0x274 -fn_1_2E80 = .text:0x00002E80; // type:function size:0xA0 -fn_1_2F20 = .text:0x00002F20; // type:function size:0x2B8 -fn_1_31D8 = .text:0x000031D8; // type:function size:0x28 -fn_1_3200 = .text:0x00003200; // type:function size:0x438 -fn_1_3638 = .text:0x00003638; // type:function size:0x124 -fn_1_375C = .text:0x0000375C; // type:function size:0x3E0 -fn_1_3B3C = .text:0x00003B3C; // type:function size:0xB1C -fn_1_4658 = .text:0x00004658; // type:function size:0x14C0 -fn_1_5B18 = .text:0x00005B18; // type:function size:0x490 -fn_1_5FA8 = .text:0x00005FA8; // type:function size:0x354 -fn_1_62FC = .text:0x000062FC; // type:function size:0x64 -fn_1_6360 = .text:0x00006360; // type:function size:0x40 -fn_1_63A0 = .text:0x000063A0; // type:function size:0xA0 -fn_1_6440 = .text:0x00006440; // type:function size:0x94 -fn_1_64D4 = .text:0x000064D4; // type:function size:0xA8 -fn_1_657C = .text:0x0000657C; // type:function size:0x108 -fn_1_6684 = .text:0x00006684; // type:function size:0x20 -fn_1_66A4 = .text:0x000066A4; // type:function size:0xF0 -fn_1_6794 = .text:0x00006794; // type:function size:0x54 -fn_1_67E8 = .text:0x000067E8; // type:function size:0x168 -fn_1_6950 = .text:0x00006950; // type:function size:0x120 -fn_1_6A70 = .text:0x00006A70; // type:function size:0x30C -fn_1_6D7C = .text:0x00006D7C; // type:function size:0x78 -fn_1_6DF4 = .text:0x00006DF4; // type:function size:0x11C -fn_1_6F10 = .text:0x00006F10; // type:function size:0x78 -fn_1_6F88 = .text:0x00006F88; // type:function size:0x2D8 -fn_1_7260 = .text:0x00007260; // type:function size:0x2B8 -fn_1_7518 = .text:0x00007518; // type:function size:0x154 -fn_1_766C = .text:0x0000766C; // type:function size:0x3E0 -fn_1_7A4C = .text:0x00007A4C; // type:function size:0x214 -fn_1_7C60 = .text:0x00007C60; // type:function size:0x198 -fn_1_7DF8 = .text:0x00007DF8; // type:function size:0xD8 -fn_1_7ED0 = .text:0x00007ED0; // type:function size:0xBC -fn_1_7F8C = .text:0x00007F8C; // type:function size:0x33C -fn_1_82C8 = .text:0x000082C8; // type:function size:0x4B0 -fn_1_8778 = .text:0x00008778; // type:function size:0x138 -fn_1_88B0 = .text:0x000088B0; // type:function size:0xD08 -fn_1_95B8 = .text:0x000095B8; // type:function size:0x12C -fn_1_96E4 = .text:0x000096E4; // type:function size:0x1C -fn_1_9700 = .text:0x00009700; // type:function size:0x2C -fn_1_972C = .text:0x0000972C; // type:function size:0x1C -fn_1_9748 = .text:0x00009748; // type:function size:0x184 -fn_1_98CC = .text:0x000098CC; // type:function size:0xA0 -fn_1_996C = .text:0x0000996C; // type:function size:0xA8 -fn_1_9A14 = .text:0x00009A14; // type:function size:0x8C -fn_1_9AA0 = .text:0x00009AA0; // type:function size:0x98 -fn_1_9B38 = .text:0x00009B38; // type:function size:0x288 -fn_1_9DC0 = .text:0x00009DC0; // type:function size:0x508 -fn_1_A2C8 = .text:0x0000A2C8; // type:function size:0x530 -fn_1_A7F8 = .text:0x0000A7F8; // type:function size:0x120 -fn_1_A918 = .text:0x0000A918; // type:function size:0x2C -fn_1_A944 = .text:0x0000A944; // type:function size:0x3A8 -fn_1_ACEC = .text:0x0000ACEC; // type:function size:0x254 -fn_1_AF40 = .text:0x0000AF40; // type:function size:0x80 -fn_1_AFC0 = .text:0x0000AFC0; // type:function size:0x70 -fn_1_B030 = .text:0x0000B030; // type:function size:0x80 -fn_1_B0B0 = .text:0x0000B0B0; // type:function size:0x57C -fn_1_B62C = .text:0x0000B62C; // type:function size:0x230 -fn_1_B85C = .text:0x0000B85C; // type:function size:0x6C -fn_1_B8C8 = .text:0x0000B8C8; // type:function size:0x70 -fn_1_B938 = .text:0x0000B938; // type:function size:0x74 -fn_1_B9AC = .text:0x0000B9AC; // type:function size:0x84 -fn_1_BA30 = .text:0x0000BA30; // type:function size:0x88 -fn_1_BAB8 = .text:0x0000BAB8; // type:function size:0x8C -fn_1_BB44 = .text:0x0000BB44; // type:function size:0x6C -fn_1_BBB0 = .text:0x0000BBB0; // type:function size:0x70 -fn_1_BC20 = .text:0x0000BC20; // type:function size:0x74 -fn_1_BC94 = .text:0x0000BC94; // type:function size:0x6C -fn_1_BD00 = .text:0x0000BD00; // type:function size:0x70 -fn_1_BD70 = .text:0x0000BD70; // type:function size:0x74 -fn_1_BDE4 = .text:0x0000BDE4; // type:function size:0x44 -fn_1_BE28 = .text:0x0000BE28; // type:function size:0x70 -fn_1_BE98 = .text:0x0000BE98; // type:function size:0x70 -fn_1_BF08 = .text:0x0000BF08; // type:function size:0x44 -fn_1_BF4C = .text:0x0000BF4C; // type:function size:0x70 -fn_1_BFBC = .text:0x0000BFBC; // type:function size:0x70 -fn_1_C02C = .text:0x0000C02C; // type:function size:0x5C -fn_1_C088 = .text:0x0000C088; // type:function size:0x80 -fn_1_C108 = .text:0x0000C108; // type:function size:0x74 -fn_1_C17C = .text:0x0000C17C; // type:function size:0x78 -fn_1_C1F4 = .text:0x0000C1F4; // type:function size:0x68 -fn_1_C25C = .text:0x0000C25C; // type:function size:0x6C -fn_1_C2C8 = .text:0x0000C2C8; // type:function size:0x68 -fn_1_C330 = .text:0x0000C330; // type:function size:0x6C -fn_1_C39C = .text:0x0000C39C; // type:function size:0x6C -fn_1_C408 = .text:0x0000C408; // type:function size:0x78 -fn_1_C480 = .text:0x0000C480; // type:function size:0x98 -fn_1_C518 = .text:0x0000C518; // type:function size:0x6C -fn_1_C584 = .text:0x0000C584; // type:function size:0x78 -fn_1_C5FC = .text:0x0000C5FC; // type:function size:0x98 -fn_1_C694 = .text:0x0000C694; // type:function size:0x70 -fn_1_C704 = .text:0x0000C704; // type:function size:0x78 -fn_1_C77C = .text:0x0000C77C; // type:function size:0x98 -fn_1_C814 = .text:0x0000C814; // type:function size:0x40 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x10 data:byte -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x20 data:byte -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x20 data:byte -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x10 data:byte -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x10 data:byte -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x30 data:4byte -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x10 data:byte -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0xC -lbl_1_data_C = .data:0x0000000C; // type:object size:0xC -lbl_1_data_18 = .data:0x00000018; // type:object size:0x4 -lbl_1_data_1C = .data:0x0000001C; // type:object size:0xC -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC -lbl_1_data_34 = .data:0x00000034; // type:object size:0xC -lbl_1_data_40 = .data:0x00000040; // type:object size:0x24 -lbl_1_data_64 = .data:0x00000064; // type:object size:0x4 data:4byte -lbl_1_data_68 = .data:0x00000068; // type:object size:0x7 data:string -lbl_1_data_6F = .data:0x0000006F; // type:object size:0x6 data:string -lbl_1_data_75 = .data:0x00000075; // type:object size:0xB -lbl_1_data_80 = .data:0x00000080; // type:object size:0x28 -lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x30 -lbl_1_data_D8 = .data:0x000000D8; // type:object size:0x8 data:string -jumptable_1_data_E0 = .data:0x000000E0; // type:object size:0x28 scope:local -lbl_1_data_108 = .data:0x00000108; // type:object size:0x8 data:string -lbl_1_data_110 = .data:0x00000110; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x30 -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x200 -lbl_1_bss_234 = .bss:0x00000234; // type:object size:0x100 -lbl_1_bss_334 = .bss:0x00000334; // type:object size:0x4 data:4byte -lbl_1_bss_338 = .bss:0x00000338; // type:object size:0x2 data:2byte -lbl_1_bss_33A = .bss:0x0000033A; // type:object size:0x8 data:2byte -lbl_1_bss_342 = .bss:0x00000342; // type:object size:0x2 data:2byte -lbl_1_bss_344 = .bss:0x00000344; // type:object size:0x2 data:2byte -lbl_1_bss_346 = .bss:0x00000346; // type:object size:0x2 data:2byte -lbl_1_bss_348 = .bss:0x00000348; // type:object size:0x2 data:2byte -lbl_1_bss_34A = .bss:0x0000034A; // type:object size:0x2 data:2byte -lbl_1_bss_34C = .bss:0x0000034C; // type:object size:0x10 -lbl_1_bss_35C = .bss:0x0000035C; // type:object size:0x4 data:4byte -lbl_1_bss_360 = .bss:0x00000360; // type:object size:0x4 data:4byte -lbl_1_bss_364 = .bss:0x00000364; // type:object size:0x4 data:4byte -lbl_1_bss_368 = .bss:0x00000368; // type:object size:0x4 data:4byte -lbl_1_bss_36C = .bss:0x0000036C; // type:object size:0x44 data:4byte diff --git a/config/GMPP01_00/rels/m416Dll/splits.txt b/config/GMPP01_00/rels/m416Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m416Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m416Dll/symbols.txt b/config/GMPP01_00/rels/m416Dll/symbols.txt deleted file mode 100644 index 8a25d373..00000000 --- a/config/GMPP01_00/rels/m416Dll/symbols.txt +++ /dev/null @@ -1,209 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x3B8 -fn_1_458 = .text:0x00000458; // type:function size:0xA4 -fn_1_4FC = .text:0x000004FC; // type:function size:0xCEC -fn_1_11E8 = .text:0x000011E8; // type:function size:0x58 -fn_1_1240 = .text:0x00001240; // type:function size:0x10 -fn_1_1250 = .text:0x00001250; // type:function size:0x10 -fn_1_1260 = .text:0x00001260; // type:function size:0x220 -fn_1_1480 = .text:0x00001480; // type:function size:0x68 -fn_1_14E8 = .text:0x000014E8; // type:function size:0x84 -fn_1_156C = .text:0x0000156C; // type:function size:0x3F8 -fn_1_1964 = .text:0x00001964; // type:function size:0x178 -fn_1_1ADC = .text:0x00001ADC; // type:function size:0x1A4 -fn_1_1C80 = .text:0x00001C80; // type:function size:0x104 -fn_1_1D84 = .text:0x00001D84; // type:function size:0xBAC -fn_1_2930 = .text:0x00002930; // type:function size:0xAC -fn_1_29DC = .text:0x000029DC; // type:function size:0x4C8 -fn_1_2EA4 = .text:0x00002EA4; // type:function size:0x778 -fn_1_361C = .text:0x0000361C; // type:function size:0x280 -fn_1_389C = .text:0x0000389C; // type:function size:0x54 -fn_1_38F0 = .text:0x000038F0; // type:function size:0x10D4 -fn_1_49C4 = .text:0x000049C4; // type:function size:0x640 -fn_1_5004 = .text:0x00005004; // type:function size:0x54 -fn_1_5058 = .text:0x00005058; // type:function size:0x264 -fn_1_52BC = .text:0x000052BC; // type:function size:0x274 -fn_1_5530 = .text:0x00005530; // type:function size:0x704 -fn_1_5C34 = .text:0x00005C34; // type:function size:0xE4 -fn_1_5D18 = .text:0x00005D18; // type:function size:0x60 -fn_1_5D78 = .text:0x00005D78; // type:function size:0x3C4 -fn_1_613C = .text:0x0000613C; // type:function size:0x504 -fn_1_6640 = .text:0x00006640; // type:function size:0x4A8 -fn_1_6AE8 = .text:0x00006AE8; // type:function size:0x304 -fn_1_6DEC = .text:0x00006DEC; // type:function size:0x70 -fn_1_6E5C = .text:0x00006E5C; // type:function size:0x240 -fn_1_709C = .text:0x0000709C; // type:function size:0x250 -fn_1_72EC = .text:0x000072EC; // type:function size:0x6E4 -fn_1_79D0 = .text:0x000079D0; // type:function size:0x84 -fn_1_7A54 = .text:0x00007A54; // type:function size:0x20 -fn_1_7A74 = .text:0x00007A74; // type:function size:0x300 -fn_1_7D74 = .text:0x00007D74; // type:function size:0x1BC -fn_1_7F30 = .text:0x00007F30; // type:function size:0x484 -fn_1_83B4 = .text:0x000083B4; // type:function size:0x550 -fn_1_8904 = .text:0x00008904; // type:function size:0xB8 -fn_1_89BC = .text:0x000089BC; // type:function size:0x4E4 -fn_1_8EA0 = .text:0x00008EA0; // type:function size:0x14 -fn_1_8EB4 = .text:0x00008EB4; // type:function size:0xAC -fn_1_8F60 = .text:0x00008F60; // type:function size:0x90 -fn_1_8FF0 = .text:0x00008FF0; // type:function size:0x4 -fn_1_8FF4 = .text:0x00008FF4; // type:function size:0x34 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x1 data:byte -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x38 data:float -lbl_1_data_38 = .data:0x00000038; // type:object size:0x1 data:byte -lbl_1_data_3C = .data:0x0000003C; // type:object size:0x1 data:byte -lbl_1_data_40 = .data:0x00000040; // type:object size:0x24 -lbl_1_data_64 = .data:0x00000064; // type:object size:0x4 data:4byte -jumptable_1_data_68 = .data:0x00000068; // type:object size:0x2C scope:local -lbl_1_data_94 = .data:0x00000094; // type:object size:0x1C data:string -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x40 -lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x1C -lbl_1_data_10C = .data:0x0000010C; // type:object size:0x48 -lbl_1_data_154 = .data:0x00000154; // type:object size:0x24 -lbl_1_data_178 = .data:0x00000178; // type:object size:0x8 -lbl_1_data_180 = .data:0x00000180; // type:object size:0x18 -lbl_1_data_198 = .data:0x00000198; // type:object size:0x30 -lbl_1_data_1C8 = .data:0x000001C8; // type:object size:0x20 -lbl_1_data_1E8 = .data:0x000001E8; // type:object size:0xC data:4byte -lbl_1_data_1F4 = .data:0x000001F4; // type:object size:0x24 -lbl_1_data_218 = .data:0x00000218; // type:object size:0x48 -lbl_1_data_260 = .data:0x00000260; // type:object size:0x8 data:float -lbl_1_data_268 = .data:0x00000268; // type:object size:0x1 data:byte -lbl_1_data_26C = .data:0x0000026C; // type:object size:0x60 data:float -lbl_1_data_2CC = .data:0x000002CC; // type:object size:0x18 -lbl_1_data_2E4 = .data:0x000002E4; // type:object size:0x8 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x10 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte -lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x2 data:2byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x900 -lbl_1_bss_914 = .bss:0x00000914; // type:object size:0x4 data:4byte -lbl_1_bss_918 = .bss:0x00000918; // type:object size:0x2 data:2byte -lbl_1_bss_91A = .bss:0x0000091A; // type:object size:0x6 data:2byte -lbl_1_bss_920 = .bss:0x00000920; // type:object size:0x4 data:float -lbl_1_bss_924 = .bss:0x00000924; // type:object size:0x2 data:2byte -lbl_1_bss_926 = .bss:0x00000926; // type:object size:0x2 data:2byte -lbl_1_bss_928 = .bss:0x00000928; // type:object size:0x2 data:2byte -lbl_1_bss_92A = .bss:0x0000092A; // type:object size:0x2 data:2byte -lbl_1_bss_92E = .bss:0x0000092E; // type:object size:0x2 data:2byte -lbl_1_bss_930 = .bss:0x00000930; // type:object size:0x20 data:4byte -lbl_1_bss_950 = .bss:0x00000950; // type:object size:0x4 data:4byte -lbl_1_bss_954 = .bss:0x00000954; // type:object size:0x4 data:4byte -lbl_1_bss_958 = .bss:0x00000958; // type:object size:0x4 data:4byte -lbl_1_bss_95C = .bss:0x0000095C; // type:object size:0x2 data:2byte -lbl_1_bss_960 = .bss:0x00000960; // type:object size:0x8 data:4byte -lbl_1_bss_968 = .bss:0x00000968; // type:object size:0x800 data:2byte -lbl_1_bss_1168 = .bss:0x00001168; // type:object size:0x2 data:2byte -lbl_1_bss_116C = .bss:0x0000116C; // type:object size:0x8 data:float -lbl_1_bss_1174 = .bss:0x00001174; // type:object size:0x8 -lbl_1_bss_117C = .bss:0x0000117C; // type:object size:0x4 data:float -lbl_1_bss_1180 = .bss:0x00001180; // type:object size:0x4 data:4byte -lbl_1_bss_1184 = .bss:0x00001184; // type:object size:0x4 data:4byte -lbl_1_bss_1188 = .bss:0x00001188; // type:object size:0x4 data:4byte -lbl_1_bss_118C = .bss:0x0000118C; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m417Dll/splits.txt b/config/GMPP01_00/rels/m417Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m417Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m417Dll/symbols.txt b/config/GMPP01_00/rels/m417Dll/symbols.txt deleted file mode 100644 index f539c02c..00000000 --- a/config/GMPP01_00/rels/m417Dll/symbols.txt +++ /dev/null @@ -1,361 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x438 -fn_1_4D8 = .text:0x000004D8; // type:function size:0xD8 -fn_1_5B0 = .text:0x000005B0; // type:function size:0x250 -fn_1_800 = .text:0x00000800; // type:function size:0x190 -fn_1_990 = .text:0x00000990; // type:function size:0x518 -fn_1_EA8 = .text:0x00000EA8; // type:function size:0x534 -fn_1_13DC = .text:0x000013DC; // type:function size:0x3E4 -fn_1_17C0 = .text:0x000017C0; // type:function size:0x4E8 -fn_1_1CA8 = .text:0x00001CA8; // type:function size:0x4B0 -fn_1_2158 = .text:0x00002158; // type:function size:0x570 -fn_1_26C8 = .text:0x000026C8; // type:function size:0x18 -fn_1_26E0 = .text:0x000026E0; // type:function size:0x18 -fn_1_26F8 = .text:0x000026F8; // type:function size:0x18 -fn_1_2710 = .text:0x00002710; // type:function size:0x18 -fn_1_2728 = .text:0x00002728; // type:function size:0x18 -fn_1_2740 = .text:0x00002740; // type:function size:0x30 -fn_1_2770 = .text:0x00002770; // type:function size:0x30 -fn_1_27A0 = .text:0x000027A0; // type:function size:0x30 -fn_1_27D0 = .text:0x000027D0; // type:function size:0x38 -fn_1_2808 = .text:0x00002808; // type:function size:0x40 -fn_1_2848 = .text:0x00002848; // type:function size:0x348 -fn_1_2B90 = .text:0x00002B90; // type:function size:0x378 -fn_1_2F08 = .text:0x00002F08; // type:function size:0x11C -fn_1_3024 = .text:0x00003024; // type:function size:0xB4 -fn_1_30D8 = .text:0x000030D8; // type:function size:0x34 -fn_1_310C = .text:0x0000310C; // type:function size:0x168 -fn_1_3274 = .text:0x00003274; // type:function size:0x140 -fn_1_33B4 = .text:0x000033B4; // type:function size:0x4C -fn_1_3400 = .text:0x00003400; // type:function size:0x134 -fn_1_3534 = .text:0x00003534; // type:function size:0x40 -fn_1_3574 = .text:0x00003574; // type:function size:0x22C -fn_1_37A0 = .text:0x000037A0; // type:function size:0x37C -fn_1_3B1C = .text:0x00003B1C; // type:function size:0xA8 -fn_1_3BC4 = .text:0x00003BC4; // type:function size:0x190 -fn_1_3D54 = .text:0x00003D54; // type:function size:0x4 -fn_1_3D58 = .text:0x00003D58; // type:function size:0xE70 -fn_1_4BC8 = .text:0x00004BC8; // type:function size:0x29C -fn_1_4E64 = .text:0x00004E64; // type:function size:0x94C -fn_1_57B0 = .text:0x000057B0; // type:function size:0x68C -fn_1_5E3C = .text:0x00005E3C; // type:function size:0x210 -fn_1_604C = .text:0x0000604C; // type:function size:0xAB8 -fn_1_6B04 = .text:0x00006B04; // type:function size:0x5C -fn_1_6B60 = .text:0x00006B60; // type:function size:0x34 -fn_1_6B94 = .text:0x00006B94; // type:function size:0x1D0 -fn_1_6D64 = .text:0x00006D64; // type:function size:0x7AC -fn_1_7510 = .text:0x00007510; // type:function size:0xAC -fn_1_75BC = .text:0x000075BC; // type:function size:0x34 -fn_1_75F0 = .text:0x000075F0; // type:function size:0x10 -fn_1_7600 = .text:0x00007600; // type:function size:0x24 -fn_1_7624 = .text:0x00007624; // type:function size:0x298 -fn_1_78BC = .text:0x000078BC; // type:function size:0xAC -fn_1_7968 = .text:0x00007968; // type:function size:0xC0 -fn_1_7A28 = .text:0x00007A28; // type:function size:0xC -fn_1_7A34 = .text:0x00007A34; // type:function size:0x234 -fn_1_7C68 = .text:0x00007C68; // type:function size:0x24 -fn_1_7C8C = .text:0x00007C8C; // type:function size:0x670 -fn_1_82FC = .text:0x000082FC; // type:function size:0x3EC -fn_1_86E8 = .text:0x000086E8; // type:function size:0x424 -fn_1_8B0C = .text:0x00008B0C; // type:function size:0x224 -fn_1_8D30 = .text:0x00008D30; // type:function size:0x114 -fn_1_8E44 = .text:0x00008E44; // type:function size:0x39C -fn_1_91E0 = .text:0x000091E0; // type:function size:0xB8 -fn_1_9298 = .text:0x00009298; // type:function size:0x784 -fn_1_9A1C = .text:0x00009A1C; // type:function size:0x1F8 -fn_1_9C14 = .text:0x00009C14; // type:function size:0x3EC -fn_1_A000 = .text:0x0000A000; // type:function size:0xD34 -fn_1_AD34 = .text:0x0000AD34; // type:function size:0xA0 -fn_1_ADD4 = .text:0x0000ADD4; // type:function size:0x4FC -fn_1_B2D0 = .text:0x0000B2D0; // type:function size:0x5E0 -fn_1_B8B0 = .text:0x0000B8B0; // type:function size:0x1A4 -fn_1_BA54 = .text:0x0000BA54; // type:function size:0x74 -fn_1_BAC8 = .text:0x0000BAC8; // type:function size:0x1E8 -fn_1_BCB0 = .text:0x0000BCB0; // type:function size:0x3C -fn_1_BCEC = .text:0x0000BCEC; // type:function size:0xF0 -fn_1_BDDC = .text:0x0000BDDC; // type:function size:0x214 -fn_1_BFF0 = .text:0x0000BFF0; // type:function size:0xA0 -fn_1_C090 = .text:0x0000C090; // type:function size:0x3E4 -fn_1_C474 = .text:0x0000C474; // type:function size:0x224 -fn_1_C698 = .text:0x0000C698; // type:function size:0x134 -fn_1_C7CC = .text:0x0000C7CC; // type:function size:0xF0 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 scope:local data:double -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 scope:local data:double -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 scope:local data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 scope:local data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 scope:local data:double -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 scope:local data:double -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 scope:local data:double -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 scope:local data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 scope:local data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 scope:local data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 scope:local data:float -lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 scope:local data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 scope:local data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x8 scope:local data:double -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x8 scope:local data:double -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x8 scope:local data:double -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 scope:local data:float -lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 scope:local data:float -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 scope:local data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x8 scope:local data:double -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x8 scope:local data:double -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 scope:local data:float -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 scope:local data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 scope:local data:float -lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0xC -lbl_1_data_C = .data:0x0000000C; // type:object size:0xC -lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float -lbl_1_data_24 = .data:0x00000024; // type:object size:0x4 -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC data:float -lbl_1_data_34 = .data:0x00000034; // type:object size:0xC data:float -lbl_1_data_40 = .data:0x00000040; // type:object size:0x10 data:float -lbl_1_data_50 = .data:0x00000050; // type:object size:0x40 -lbl_1_data_90 = .data:0x00000090; // type:object size:0x84 -lbl_1_data_114 = .data:0x00000114; // type:object size:0xDC -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x8 data:2byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte -lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x2 data:2byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 data:2byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x38 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x2 data:2byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x4 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x110 data:float -lbl_1_bss_178 = .bss:0x00000178; // type:object size:0x700 data:4byte -lbl_1_bss_878 = .bss:0x00000878; // type:object size:0x8 data:4byte -lbl_1_bss_880 = .bss:0x00000880; // type:object size:0x4 data:4byte -lbl_1_bss_884 = .bss:0x00000884; // type:object size:0x4 data:4byte -lbl_1_bss_888 = .bss:0x00000888; // type:object size:0x10 -lbl_1_bss_898 = .bss:0x00000898; // type:object size:0x10 data:4byte -lbl_1_bss_8A8 = .bss:0x000008A8; // type:object size:0x4 data:4byte -lbl_1_bss_8AC = .bss:0x000008AC; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m418Dll/splits.txt b/config/GMPP01_00/rels/m418Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m418Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m418Dll/symbols.txt b/config/GMPP01_00/rels/m418Dll/symbols.txt deleted file mode 100644 index e44b8b6a..00000000 --- a/config/GMPP01_00/rels/m418Dll/symbols.txt +++ /dev/null @@ -1,304 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x74 -fn_1_74 = .text:0x00000074; // type:function size:0xE4 -fn_1_158 = .text:0x00000158; // type:function size:0x28 -fn_1_180 = .text:0x00000180; // type:function size:0xC8 -fn_1_248 = .text:0x00000248; // type:function size:0x20 -fn_1_268 = .text:0x00000268; // type:function size:0x298 -fn_1_500 = .text:0x00000500; // type:function size:0x118 -fn_1_618 = .text:0x00000618; // type:function size:0xC4 -fn_1_6DC = .text:0x000006DC; // type:function size:0x38 -fn_1_714 = .text:0x00000714; // type:function size:0x34 -fn_1_748 = .text:0x00000748; // type:function size:0x38 -fn_1_780 = .text:0x00000780; // type:function size:0x1C8 -fn_1_948 = .text:0x00000948; // type:function size:0x48 -fn_1_990 = .text:0x00000990; // type:function size:0x110 -fn_1_AA0 = .text:0x00000AA0; // type:function size:0xA4 -fn_1_B44 = .text:0x00000B44; // type:function size:0x328 -fn_1_E6C = .text:0x00000E6C; // type:function size:0x67C -fn_1_14E8 = .text:0x000014E8; // type:function size:0x3BC -fn_1_18A4 = .text:0x000018A4; // type:function size:0x50 -fn_1_18F4 = .text:0x000018F4; // type:function size:0x7B4 -fn_1_20A8 = .text:0x000020A8; // type:function size:0xC8 -fn_1_2170 = .text:0x00002170; // type:function size:0x71C -fn_1_288C = .text:0x0000288C; // type:function size:0x10C -fn_1_2998 = .text:0x00002998; // type:function size:0x224 -fn_1_2BBC = .text:0x00002BBC; // type:function size:0x48 -fn_1_2C04 = .text:0x00002C04; // type:function size:0x448 -fn_1_304C = .text:0x0000304C; // type:function size:0xE4 -fn_1_3130 = .text:0x00003130; // type:function size:0x108 -fn_1_3238 = .text:0x00003238; // type:function size:0x1C8 -fn_1_3400 = .text:0x00003400; // type:function size:0x3C -fn_1_343C = .text:0x0000343C; // type:function size:0xA6C -fn_1_3EA8 = .text:0x00003EA8; // type:function size:0x814 -fn_1_46BC = .text:0x000046BC; // type:function size:0x5C0 -fn_1_4C7C = .text:0x00004C7C; // type:function size:0x2DC -fn_1_4F58 = .text:0x00004F58; // type:function size:0x3F8 -fn_1_5350 = .text:0x00005350; // type:function size:0xE4 -fn_1_5434 = .text:0x00005434; // type:function size:0x150 -fn_1_5584 = .text:0x00005584; // type:function size:0x120 -fn_1_56A4 = .text:0x000056A4; // type:function size:0xBC -fn_1_5760 = .text:0x00005760; // type:function size:0x7C -fn_1_57DC = .text:0x000057DC; // type:function size:0x18C -fn_1_5968 = .text:0x00005968; // type:function size:0xFC -fn_1_5A64 = .text:0x00005A64; // type:function size:0x2BC -fn_1_5D20 = .text:0x00005D20; // type:function size:0x30 -fn_1_5D50 = .text:0x00005D50; // type:function size:0x98 -fn_1_5DE8 = .text:0x00005DE8; // type:function size:0x248 -fn_1_6030 = .text:0x00006030; // type:function size:0x2DC -fn_1_630C = .text:0x0000630C; // type:function size:0xE4 -fn_1_63F0 = .text:0x000063F0; // type:function size:0x118 -fn_1_6508 = .text:0x00006508; // type:function size:0x108 -fn_1_6610 = .text:0x00006610; // type:function size:0x128 -fn_1_6738 = .text:0x00006738; // type:function size:0xC8 -fn_1_6800 = .text:0x00006800; // type:function size:0x10C -fn_1_690C = .text:0x0000690C; // type:function size:0x4B8 -fn_1_6DC4 = .text:0x00006DC4; // type:function size:0xA0 -fn_1_6E64 = .text:0x00006E64; // type:function size:0x48 -fn_1_6EAC = .text:0x00006EAC; // type:function size:0x84 -fn_1_6F30 = .text:0x00006F30; // type:function size:0x35C -fn_1_728C = .text:0x0000728C; // type:function size:0x4 -fn_1_7290 = .text:0x00007290; // type:function size:0x2D8 -fn_1_7568 = .text:0x00007568; // type:function size:0x74 -fn_1_75DC = .text:0x000075DC; // type:function size:0x214 -fn_1_77F0 = .text:0x000077F0; // type:function size:0x68 -fn_1_7858 = .text:0x00007858; // type:function size:0x208 -fn_1_7A60 = .text:0x00007A60; // type:function size:0x100 -fn_1_7B60 = .text:0x00007B60; // type:function size:0x218 -fn_1_7D78 = .text:0x00007D78; // type:function size:0xA4 -fn_1_7E1C = .text:0x00007E1C; // type:function size:0xF8 -fn_1_7F14 = .text:0x00007F14; // type:function size:0xB8 -fn_1_7FCC = .text:0x00007FCC; // type:function size:0x1CC -fn_1_8198 = .text:0x00008198; // type:function size:0x4 -fn_1_819C = .text:0x0000819C; // type:function size:0x2DC -fn_1_8478 = .text:0x00008478; // type:function size:0x30 -fn_1_84A8 = .text:0x000084A8; // type:function size:0x98 -fn_1_8540 = .text:0x00008540; // type:function size:0x120 -fn_1_8660 = .text:0x00008660; // type:function size:0xC0 -fn_1_8720 = .text:0x00008720; // type:function size:0xA8 -fn_1_87C8 = .text:0x000087C8; // type:function size:0xBC -fn_1_8884 = .text:0x00008884; // type:function size:0x28 -fn_1_88AC = .text:0x000088AC; // type:function size:0xFC -fn_1_89A8 = .text:0x000089A8; // type:function size:0x164 -fn_1_8B0C = .text:0x00008B0C; // type:function size:0x170 -fn_1_8C7C = .text:0x00008C7C; // type:function size:0xEC -fn_1_8D68 = .text:0x00008D68; // type:function size:0x204 -fn_1_8F6C = .text:0x00008F6C; // type:function size:0x120 -fn_1_908C = .text:0x0000908C; // type:function size:0x48 -fn_1_90D4 = .text:0x000090D4; // type:function size:0x64 -fn_1_9138 = .text:0x00009138; // type:function size:0xA4 -fn_1_91DC = .text:0x000091DC; // type:function size:0x108 -fn_1_92E4 = .text:0x000092E4; // type:function size:0x48 -fn_1_932C = .text:0x0000932C; // type:function size:0x30 -fn_1_935C = .text:0x0000935C; // type:function size:0x98 -fn_1_93F4 = .text:0x000093F4; // type:function size:0x130 -fn_1_9524 = .text:0x00009524; // type:function size:0x60 -fn_1_9584 = .text:0x00009584; // type:function size:0x618 -fn_1_9B9C = .text:0x00009B9C; // type:function size:0x3F0 -fn_1_9F8C = .text:0x00009F8C; // type:function size:0x1BC -_prolog = .text:0x0000A148; // type:function size:0x54 scope:global -_epilog = .text:0x0000A19C; // type:function size:0x4C scope:global -fn_1_A1E8 = .text:0x0000A1E8; // type:function size:0x398 -fn_1_A580 = .text:0x0000A580; // type:function size:0x398 -fn_1_A918 = .text:0x0000A918; // type:function size:0x20 -fn_1_A938 = .text:0x0000A938; // type:function size:0x28 -fn_1_A960 = .text:0x0000A960; // type:function size:0xC8 -fn_1_AA28 = .text:0x0000AA28; // type:function size:0xBC -fn_1_AAE4 = .text:0x0000AAE4; // type:function size:0xD8 -fn_1_ABBC = .text:0x0000ABBC; // type:function size:0x150 -fn_1_AD0C = .text:0x0000AD0C; // type:function size:0x178 -fn_1_AE84 = .text:0x0000AE84; // type:function size:0x50 -fn_1_AED4 = .text:0x0000AED4; // type:function size:0x5C -fn_1_AF30 = .text:0x0000AF30; // type:function size:0x88 -fn_1_AFB8 = .text:0x0000AFB8; // type:function size:0x74 -fn_1_B02C = .text:0x0000B02C; // type:function size:0x94 -fn_1_B0C0 = .text:0x0000B0C0; // type:function size:0x3C -fn_1_B0FC = .text:0x0000B0FC; // type:function size:0x318 -fn_1_B414 = .text:0x0000B414; // type:function size:0x3C -fn_1_B450 = .text:0x0000B450; // type:function size:0x4C -fn_1_B49C = .text:0x0000B49C; // type:function size:0x26C -fn_1_B708 = .text:0x0000B708; // type:function size:0x26C -fn_1_B974 = .text:0x0000B974; // type:function size:0x27C -fn_1_BBF0 = .text:0x0000BBF0; // type:function size:0x2B4 -fn_1_BEA4 = .text:0x0000BEA4; // type:function size:0x46C -fn_1_C310 = .text:0x0000C310; // type:function size:0x454 -fn_1_C764 = .text:0x0000C764; // type:function size:0x48C -fn_1_CBF0 = .text:0x0000CBF0; // type:function size:0x658 -fn_1_D248 = .text:0x0000D248; // type:function size:0x4C4 -fn_1_D70C = .text:0x0000D70C; // type:function size:0x4FC -fn_1_DC08 = .text:0x0000DC08; // type:function size:0x6C8 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0xC data:4byte -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0xC data:4byte -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0xC data:4byte -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0xC data:4byte -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0xC data:4byte -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:4byte -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0xC data:4byte -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x10 data:4byte -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x10 data:4byte -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x10 data:4byte -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x10 data:4byte -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0xC data:4byte -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0xC data:4byte -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0xC data:4byte -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0xC data:4byte -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0xC data:4byte -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0xC data:4byte -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0xC data:4byte -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0xC data:4byte -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0xC data:4byte -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0xC data:4byte -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0xC data:4byte -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0xC data:4byte -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0xC data:4byte -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0xC data:4byte -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x8 data:4byte -lbl_1_data_8 = .data:0x00000008; // type:object size:0x4 data:4byte -lbl_1_data_C = .data:0x0000000C; // type:object size:0x12 scope:local data:string -lbl_1_data_1E = .data:0x0000001E; // type:object size:0x13 scope:local data:string -lbl_1_data_31 = .data:0x00000031; // type:object size:0x10 scope:local data:string -lbl_1_data_41 = .data:0x00000041; // type:object size:0x10 scope:local data:string -lbl_1_data_51 = .data:0x00000051; // type:object size:0x10 scope:local data:string -lbl_1_data_61 = .data:0x00000061; // type:object size:0x10 scope:local data:string -lbl_1_data_71 = .data:0x00000071; // type:object size:0xD scope:local data:string -lbl_1_data_7E = .data:0x0000007E; // type:object size:0xE scope:local data:string -lbl_1_data_8C = .data:0x0000008C; // type:object size:0x6C scope:local data:4byte -jumptable_1_data_F8 = .data:0x000000F8; // type:object size:0x88 scope:local -lbl_1_data_180 = .data:0x00000180; // type:object size:0x12 scope:local data:string -lbl_1_data_192 = .data:0x00000192; // type:object size:0x15 scope:local data:string -lbl_1_data_1A7 = .data:0x000001A7; // type:object size:0x19 scope:local data:string -lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x20 -lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0x60 -lbl_1_data_240 = .data:0x00000240; // type:object size:0x24 -lbl_1_data_264 = .data:0x00000264; // type:object size:0x30 -lbl_1_data_294 = .data:0x00000294; // type:object size:0x24 -lbl_1_data_2B8 = .data:0x000002B8; // type:object size:0x60 -lbl_1_data_318 = .data:0x00000318; // type:object size:0x30 -lbl_1_data_348 = .data:0x00000348; // type:object size:0x84 -lbl_1_data_3CC = .data:0x000003CC; // type:object size:0x30 -lbl_1_data_3FC = .data:0x000003FC; // type:object size:0x48 -lbl_1_data_444 = .data:0x00000444; // type:object size:0x60 -jumptable_1_data_4A4 = .data:0x000004A4; // type:object size:0x28 scope:local -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x8 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x18 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x18 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x18 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0xB4 data:4byte -lbl_1_bss_11C = .bss:0x0000011C; // type:object size:0x54 data:4byte -lbl_1_bss_170 = .bss:0x00000170; // type:object size:0x70 -lbl_1_bss_1E0 = .bss:0x000001E0; // type:object size:0x14 data:4byte -lbl_1_bss_1F4 = .bss:0x000001F4; // type:object size:0x4C data:4byte -lbl_1_bss_240 = .bss:0x00000240; // type:object size:0x2C data:4byte -lbl_1_bss_26C = .bss:0x0000026C; // type:object size:0x180 -lbl_1_bss_3EC = .bss:0x000003EC; // type:object size:0x44 data:4byte diff --git a/config/GMPP01_00/rels/m419Dll/splits.txt b/config/GMPP01_00/rels/m419Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m419Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m419Dll/symbols.txt b/config/GMPP01_00/rels/m419Dll/symbols.txt deleted file mode 100644 index cf313005..00000000 --- a/config/GMPP01_00/rels/m419Dll/symbols.txt +++ /dev/null @@ -1,184 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x400 -fn_1_4A0 = .text:0x000004A0; // type:function size:0xDC -fn_1_57C = .text:0x0000057C; // type:function size:0x2CC -fn_1_848 = .text:0x00000848; // type:function size:0x288 -fn_1_AD0 = .text:0x00000AD0; // type:function size:0x488 -fn_1_F58 = .text:0x00000F58; // type:function size:0x102C -fn_1_1F84 = .text:0x00001F84; // type:function size:0x128 -fn_1_20AC = .text:0x000020AC; // type:function size:0x128 -fn_1_21D4 = .text:0x000021D4; // type:function size:0x80 -fn_1_2254 = .text:0x00002254; // type:function size:0x4F0 -fn_1_2744 = .text:0x00002744; // type:function size:0x498 -fn_1_2BDC = .text:0x00002BDC; // type:function size:0x220 -fn_1_2DFC = .text:0x00002DFC; // type:function size:0x4FC -fn_1_32F8 = .text:0x000032F8; // type:function size:0x154 -fn_1_344C = .text:0x0000344C; // type:function size:0x1398 -fn_1_47E4 = .text:0x000047E4; // type:function size:0x33C -fn_1_4B20 = .text:0x00004B20; // type:function size:0x334 -fn_1_4E54 = .text:0x00004E54; // type:function size:0xB8 -fn_1_4F0C = .text:0x00004F0C; // type:function size:0xC0 -fn_1_4FCC = .text:0x00004FCC; // type:function size:0x6C -fn_1_5038 = .text:0x00005038; // type:function size:0x6C -fn_1_50A4 = .text:0x000050A4; // type:function size:0x244 -fn_1_52E8 = .text:0x000052E8; // type:function size:0x570 -fn_1_5858 = .text:0x00005858; // type:function size:0x104 -fn_1_595C = .text:0x0000595C; // type:function size:0x17C -fn_1_5AD8 = .text:0x00005AD8; // type:function size:0x45C -fn_1_5F34 = .text:0x00005F34; // type:function size:0x358 -fn_1_628C = .text:0x0000628C; // type:function size:0x334 -fn_1_65C0 = .text:0x000065C0; // type:function size:0x1E0 -fn_1_67A0 = .text:0x000067A0; // type:function size:0x564 -fn_1_6D04 = .text:0x00006D04; // type:function size:0x198 -fn_1_6E9C = .text:0x00006E9C; // type:function size:0xA18 -fn_1_78B4 = .text:0x000078B4; // type:function size:0x223C -fn_1_9AF0 = .text:0x00009AF0; // type:function size:0x130C -fn_1_ADFC = .text:0x0000ADFC; // type:function size:0x258 -fn_1_B054 = .text:0x0000B054; // type:function size:0x2E78 -fn_1_DECC = .text:0x0000DECC; // type:function size:0x70 -fn_1_DF3C = .text:0x0000DF3C; // type:function size:0x5C -fn_1_DF98 = .text:0x0000DF98; // type:function size:0x17A4 -fn_1_F73C = .text:0x0000F73C; // type:function size:0x280 -fn_1_F9BC = .text:0x0000F9BC; // type:function size:0x89C -fn_1_10258 = .text:0x00010258; // type:function size:0x248 -fn_1_104A0 = .text:0x000104A0; // type:function size:0x60 -fn_1_10500 = .text:0x00010500; // type:function size:0x3D8 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x20 -lbl_1_data_20 = .data:0x00000020; // type:object size:0x2C -lbl_1_data_4C = .data:0x0000004C; // type:object size:0x10 -lbl_1_data_5C = .data:0x0000005C; // type:object size:0x60 -lbl_1_data_BC = .data:0x000000BC; // type:object size:0xB data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x60 -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x1 data:byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x20 -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x20 -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0xC data:float -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0xC data:float -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0xC data:float -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0xB8 data:4byte -lbl_1_bss_180 = .bss:0x00000180; // type:object size:0x10 -lbl_1_bss_190 = .bss:0x00000190; // type:object size:0x58 data:2byte -lbl_1_bss_1E8 = .bss:0x000001E8; // type:object size:0x18 data:2byte -lbl_1_bss_200 = .bss:0x00000200; // type:object size:0x380 -lbl_1_bss_580 = .bss:0x00000580; // type:object size:0x4 data:4byte -lbl_1_bss_584 = .bss:0x00000584; // type:object size:0x10 data:4byte -lbl_1_bss_594 = .bss:0x00000594; // type:object size:0x10 -lbl_1_bss_5A4 = .bss:0x000005A4; // type:object size:0x4 data:4byte -lbl_1_bss_5A8 = .bss:0x000005A8; // type:object size:0x4 data:4byte -lbl_1_bss_5AC = .bss:0x000005AC; // type:object size:0x4 data:4byte -lbl_1_bss_5B0 = .bss:0x000005B0; // type:object size:0x4 data:4byte -lbl_1_bss_5B4 = .bss:0x000005B4; // type:object size:0x4 data:4byte -lbl_1_bss_5B8 = .bss:0x000005B8; // type:object size:0x2 data:2byte -lbl_1_bss_5BA = .bss:0x000005BA; // type:object size:0x2 data:2byte -lbl_1_bss_5BC = .bss:0x000005BC; // type:object size:0x2 data:2byte -lbl_1_bss_5BE = .bss:0x000005BE; // type:object size:0x2 data:2byte -lbl_1_bss_5C2 = .bss:0x000005C2; // type:object size:0x2 data:2byte diff --git a/config/GMPP01_00/rels/m420dll/splits.txt b/config/GMPP01_00/rels/m420dll/splits.txt deleted file mode 100644 index 08f811fa..00000000 --- a/config/GMPP01_00/rels/m420dll/splits.txt +++ /dev/null @@ -1,36 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/m420dll/main.c: - .text start:0x000000A0 end:0x00000D80 - .rodata start:0x00000000 end:0x00000098 - .bss start:0x00000000 end:0x00000030 - -REL/m420dll/camera.c: - .text start:0x00000D80 end:0x00001B74 - .rodata start:0x00000098 end:0x000000F8 - .data start:0x00000000 end:0x00000050 - .bss start:0x00000030 end:0x000000B0 - -REL/m420dll/player.c: - .text start:0x00001B74 end:0x0000494C - .rodata start:0x000000F8 end:0x00000360 - .data start:0x00000050 end:0x00000138 - -REL/m420dll/map.c: - .text start:0x0000494C end:0x0000891C - .rodata start:0x00000360 end:0x00000570 - .data start:0x00000138 end:0x00000171 - .bss start:0x000000B0 end:0x00000A48 - -REL/m420dll/rand.c: - .text start:0x0000891C end:0x00008960 - .bss start:0x00000A48 end:0x00000A4C diff --git a/config/GMPP01_00/rels/m420dll/symbols.txt b/config/GMPP01_00/rels/m420dll/symbols.txt deleted file mode 100644 index 95aa9732..00000000 --- a/config/GMPP01_00/rels/m420dll/symbols.txt +++ /dev/null @@ -1,252 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x78 -fn_1_118 = .text:0x00000118; // type:function size:0x80 -fn_1_198 = .text:0x00000198; // type:function size:0x23C -fn_1_3D4 = .text:0x000003D4; // type:function size:0x68 -fn_1_43C = .text:0x0000043C; // type:function size:0x8C0 -fn_1_D14 = .text:0x00000CFC; // type:function size:0x84 -fn_1_D98 = .text:0x00000D80; // type:function size:0x1B0 -fn_1_F48 = .text:0x00000F30; // type:function size:0x2C -fn_1_F74 = .text:0x00000F5C; // type:function size:0xBC -fn_1_1030 = .text:0x00001018; // type:function size:0xBC -fn_1_10EC = .text:0x000010D4; // type:function size:0x98 -fn_1_1184 = .text:0x0000116C; // type:function size:0x718 -fn_1_189C = .text:0x00001884; // type:function size:0x214 -fn_1_1AB0 = .text:0x00001A98; // type:function size:0xDC -fn_1_1B8C = .text:0x00001B74; // type:function size:0x288 -fn_1_1E14 = .text:0x00001DFC; // type:function size:0x50 -fn_1_1E64 = .text:0x00001E4C; // type:function size:0xB0 -fn_1_1F14 = .text:0x00001EFC; // type:function size:0x40 -fn_1_1F54 = .text:0x00001F3C; // type:function size:0x40 -fn_1_1F94 = .text:0x00001F7C; // type:function size:0x78 -fn_1_200C = .text:0x00001FF4; // type:function size:0xE0 -fn_1_20EC = .text:0x000020D4; // type:function size:0x30 -fn_1_211C = .text:0x00002104; // type:function size:0x58 -fn_1_2174 = .text:0x0000215C; // type:function size:0x54 -fn_1_21C8 = .text:0x000021B0; // type:function size:0x98 -fn_1_2260 = .text:0x00002248; // type:function size:0x6C -fn_1_22CC = .text:0x000022B4; // type:function size:0x4A0 -fn_1_276C = .text:0x00002754; // type:function size:0x574 -fn_1_2CE0 = .text:0x00002CC8; // type:function size:0x9C -fn_1_2D7C = .text:0x00002D64; // type:function size:0x12C -fn_1_2EA8 = .text:0x00002E90; // type:function size:0x1F0 -fn_1_3098 = .text:0x00003080; // type:function size:0x1D4 -fn_1_326C = .text:0x00003254; // type:function size:0x1E4 -fn_1_3450 = .text:0x00003438; // type:function size:0x5C -fn_1_34AC = .text:0x00003494; // type:function size:0xB0 -fn_1_355C = .text:0x00003544; // type:function size:0x188 -fn_1_36E4 = .text:0x000036CC; // type:function size:0x68 -fn_1_374C = .text:0x00003734; // type:function size:0x40 -fn_1_378C = .text:0x00003774; // type:function size:0xC8 -fn_1_3854 = .text:0x0000383C; // type:function size:0x11C -fn_1_3970 = .text:0x00003958; // type:function size:0x624 -fn_1_3F94 = .text:0x00003F7C; // type:function size:0x300 -fn_1_4294 = .text:0x0000427C; // type:function size:0x2E0 -fn_1_4574 = .text:0x0000455C; // type:function size:0x1F8 -fn_1_476C = .text:0x00004754; // type:function size:0x1F8 -fn_1_4964 = .text:0x0000494C; // type:function size:0x1008 -fn_1_596C = .text:0x00005954; // type:function size:0x88 -fn_1_59F4 = .text:0x000059DC; // type:function size:0x88 -fn_1_5A7C = .text:0x00005A64; // type:function size:0x2C -fn_1_5AA8 = .text:0x00005A90; // type:function size:0x1E4 -fn_1_5C8C = .text:0x00005C74; // type:function size:0x464 -fn_1_60F0 = .text:0x000060D8; // type:function size:0x178 -fn_1_6268 = .text:0x00006250; // type:function size:0x104 -fn_1_636C = .text:0x00006354; // type:function size:0x80 -fn_1_63EC = .text:0x000063D4; // type:function size:0x120 -fn_1_650C = .text:0x000064F4; // type:function size:0x48 -fn_1_6554 = .text:0x0000653C; // type:function size:0x10C -fn_1_6660 = .text:0x00006648; // type:function size:0x10 -fn_1_6670 = .text:0x00006658; // type:function size:0x2C -fn_1_669C = .text:0x00006684; // type:function size:0x8C -fn_1_6728 = .text:0x00006710; // type:function size:0x7C -fn_1_67A4 = .text:0x0000678C; // type:function size:0x44 -fn_1_67E8 = .text:0x000067D0; // type:function size:0x28 -fn_1_6810 = .text:0x000067F8; // type:function size:0x10 -fn_1_6820 = .text:0x00006808; // type:function size:0x64 -fn_1_6884 = .text:0x0000686C; // type:function size:0xCC -fn_1_6950 = .text:0x00006938; // type:function size:0x3BC -fn_1_6D0C = .text:0x00006CF4; // type:function size:0x50 -fn_1_6D5C = .text:0x00006D44; // type:function size:0x94 -fn_1_6DF0 = .text:0x00006DD8; // type:function size:0x440 -fn_1_7230 = .text:0x00007218; // type:function size:0x98 -fn_1_72C8 = .text:0x000072B0; // type:function size:0x98 -fn_1_7360 = .text:0x00007348; // type:function size:0x98 -fn_1_73F8 = .text:0x000073E0; // type:function size:0x100 -fn_1_74F8 = .text:0x000074E0; // type:function size:0x20C -fn_1_7704 = .text:0x000076EC; // type:function size:0x720 -fn_1_7E24 = .text:0x00007E0C; // type:function size:0x41C -fn_1_8240 = .text:0x00008228; // type:function size:0x1D4 -fn_1_8414 = .text:0x000083FC; // type:function size:0x520 -fn_1_8934 = .text:0x0000891C; // type:function size:0x10 -fn_1_8944 = .text:0x0000892C; // type:function size:0x34 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -__fakeHalf = .rodata:0x00000000; // type:object size:0x8 data:double -__fakeThree = .rodata:0x00000008; // type:object size:0x8 data:double -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x54 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x24 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x160 scope:local -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x60 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x10 scope:local -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x1C scope:local -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 scope:local data:double -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x6C scope:local -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0xC scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0xC scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 scope:local data:double -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x8 scope:local data:double -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x8 scope:local data:double -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 scope:local data:double -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 scope:local data:double -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 scope:local data:double -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x8 scope:local data:double -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 scope:local data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x30 scope:local data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x30 scope:local data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 scope:local data:float -lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 scope:local data:float -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 scope:local data:float -lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x8 scope:local data:double -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 scope:local data:float -lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 scope:local data:float -lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 scope:local data:float -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x8 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x1E scope:local data:string -lbl_1_data_1E = .data:0x0000001E; // type:object size:0x1E scope:local data:string -lbl_1_data_3C = .data:0x0000003C; // type:object size:0x10 scope:local data:string -lbl_1_data_50 = .data:0x00000050; // type:object size:0x80 -lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x1B scope:local data:string -lbl_1_data_EC = .data:0x000000EC; // type:object size:0x30 -lbl_1_data_11C = .data:0x0000011C; // type:object size:0x19 scope:local data:string -lbl_1_data_135 = .data:0x00000135; // type:object size:0x1 -lbl_1_data_138 = .data:0x00000138; // type:object size:0x1C -lbl_1_data_154 = .data:0x00000154; // type:object size:0x10 data:4byte -lbl_1_data_164 = .data:0x00000164; // type:object size:0xD scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte -lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x2 data:2byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 data:2byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x10 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:float -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:float -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:float -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:float -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:float -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:float -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x1C data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x1C data:float -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x1C data:float -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x4 data:4byte -lbl_1_bss_B4 = .bss:0x000000B4; // type:object size:0x4 data:4byte -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x4 data:4byte -lbl_1_bss_C0 = .bss:0x000000C0; // type:object size:0x80 data:float -lbl_1_bss_140 = .bss:0x00000140; // type:object size:0x8AC data:4byte -lbl_1_bss_9EC = .bss:0x000009EC; // type:object size:0x2 data:2byte -lbl_1_bss_9F0 = .bss:0x000009F0; // type:object size:0x38 data:2byte -lbl_1_bss_A28 = .bss:0x00000A28; // type:object size:0x4 data:4byte -lbl_1_bss_A2C = .bss:0x00000A2C; // type:object size:0x10 data:4byte -lbl_1_bss_A3C = .bss:0x00000A3C; // type:object size:0x4 data:4byte -lbl_1_bss_A40 = .bss:0x00000A40; // type:object size:0x4 data:4byte -lbl_1_bss_A48 = .bss:0x00000A48; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m421Dll/splits.txt b/config/GMPP01_00/rels/m421Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m421Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m421Dll/symbols.txt b/config/GMPP01_00/rels/m421Dll/symbols.txt deleted file mode 100644 index 30da45c8..00000000 --- a/config/GMPP01_00/rels/m421Dll/symbols.txt +++ /dev/null @@ -1,269 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x400 -fn_1_4A0 = .text:0x000004A0; // type:function size:0xD8 -fn_1_578 = .text:0x00000578; // type:function size:0x20C -fn_1_784 = .text:0x00000784; // type:function size:0x134 -fn_1_8B8 = .text:0x000008B8; // type:function size:0x404 -fn_1_CBC = .text:0x00000CBC; // type:function size:0x430 -fn_1_10EC = .text:0x000010EC; // type:function size:0x340 -fn_1_142C = .text:0x0000142C; // type:function size:0x424 -fn_1_1850 = .text:0x00001850; // type:function size:0x440 -fn_1_1C90 = .text:0x00001C90; // type:function size:0x4AC -fn_1_213C = .text:0x0000213C; // type:function size:0x70 -fn_1_21AC = .text:0x000021AC; // type:function size:0x87C -fn_1_2A28 = .text:0x00002A28; // type:function size:0x190 -fn_1_2BB8 = .text:0x00002BB8; // type:function size:0x468 -fn_1_3020 = .text:0x00003020; // type:function size:0xB0 -fn_1_30D0 = .text:0x000030D0; // type:function size:0x264 -fn_1_3334 = .text:0x00003334; // type:function size:0x28 -fn_1_335C = .text:0x0000335C; // type:function size:0x5A0 -fn_1_38FC = .text:0x000038FC; // type:function size:0x254 -fn_1_3B50 = .text:0x00003B50; // type:function size:0x14 -fn_1_3B64 = .text:0x00003B64; // type:function size:0x14 -fn_1_3B78 = .text:0x00003B78; // type:function size:0x9C -fn_1_3C14 = .text:0x00003C14; // type:function size:0x9C -fn_1_3CB0 = .text:0x00003CB0; // type:function size:0x68 -fn_1_3D18 = .text:0x00003D18; // type:function size:0x6C -fn_1_3D84 = .text:0x00003D84; // type:function size:0x98 -fn_1_3E1C = .text:0x00003E1C; // type:function size:0x18 -fn_1_3E34 = .text:0x00003E34; // type:function size:0x18 -fn_1_3E4C = .text:0x00003E4C; // type:function size:0x18 -fn_1_3E64 = .text:0x00003E64; // type:function size:0x18 -fn_1_3E7C = .text:0x00003E7C; // type:function size:0x7C -fn_1_3EF8 = .text:0x00003EF8; // type:function size:0x30 -fn_1_3F28 = .text:0x00003F28; // type:function size:0x40 -fn_1_3F68 = .text:0x00003F68; // type:function size:0x30 -fn_1_3F98 = .text:0x00003F98; // type:function size:0x30 -fn_1_3FC8 = .text:0x00003FC8; // type:function size:0x30 -fn_1_3FF8 = .text:0x00003FF8; // type:function size:0x38 -fn_1_4030 = .text:0x00004030; // type:function size:0x208 -fn_1_4238 = .text:0x00004238; // type:function size:0x240 -fn_1_4478 = .text:0x00004478; // type:function size:0x11C -fn_1_4594 = .text:0x00004594; // type:function size:0xB4 -fn_1_4648 = .text:0x00004648; // type:function size:0x268 -fn_1_48B0 = .text:0x000048B0; // type:function size:0x24 -fn_1_48D4 = .text:0x000048D4; // type:function size:0x62C -fn_1_4F00 = .text:0x00004F00; // type:function size:0x160 -fn_1_5060 = .text:0x00005060; // type:function size:0x368 -fn_1_53C8 = .text:0x000053C8; // type:function size:0x3C4 -fn_1_578C = .text:0x0000578C; // type:function size:0x410 -fn_1_5B9C = .text:0x00005B9C; // type:function size:0x5E8 -fn_1_6184 = .text:0x00006184; // type:function size:0x27C -fn_1_6400 = .text:0x00006400; // type:function size:0x2B4 -fn_1_66B4 = .text:0x000066B4; // type:function size:0xB8 -fn_1_676C = .text:0x0000676C; // type:function size:0x5DC -fn_1_6D48 = .text:0x00006D48; // type:function size:0x730 -fn_1_7478 = .text:0x00007478; // type:function size:0x1F8 -fn_1_7670 = .text:0x00007670; // type:function size:0x430 -fn_1_7AA0 = .text:0x00007AA0; // type:function size:0x418 -fn_1_7EB8 = .text:0x00007EB8; // type:function size:0x208 -fn_1_80C0 = .text:0x000080C0; // type:function size:0x87C -fn_1_893C = .text:0x0000893C; // type:function size:0xB38 -fn_1_9474 = .text:0x00009474; // type:function size:0xF8 -fn_1_956C = .text:0x0000956C; // type:function size:0x2C0 -fn_1_982C = .text:0x0000982C; // type:function size:0x18C -fn_1_99B8 = .text:0x000099B8; // type:function size:0x74 -fn_1_9A2C = .text:0x00009A2C; // type:function size:0x1D0 -fn_1_9BFC = .text:0x00009BFC; // type:function size:0x3C -fn_1_9C38 = .text:0x00009C38; // type:function size:0x198 -fn_1_9DD0 = .text:0x00009DD0; // type:function size:0x758 -fn_1_A528 = .text:0x0000A528; // type:function size:0x640 -fn_1_AB68 = .text:0x0000AB68; // type:function size:0x4 -fn_1_AB6C = .text:0x0000AB6C; // type:function size:0x70 -fn_1_ABDC = .text:0x0000ABDC; // type:function size:0x580 -fn_1_B15C = .text:0x0000B15C; // type:function size:0x60 -fn_1_B1BC = .text:0x0000B1BC; // type:function size:0x4 -fn_1_B1C0 = .text:0x0000B1C0; // type:function size:0x1D8 -fn_1_B398 = .text:0x0000B398; // type:function size:0x4 -fn_1_B39C = .text:0x0000B39C; // type:function size:0x40 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0xC data:4byte -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0xC data:4byte -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x50 -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x14 data:4byte -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x10 data:4byte -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x10 data:4byte -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x10 data:4byte -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x30 data:4byte -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x30 data:4byte -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0xC data:4byte -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 data:double -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 data:double -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0xC -lbl_1_data_C = .data:0x0000000C; // type:object size:0xC -lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float -lbl_1_data_24 = .data:0x00000024; // type:object size:0x4 -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC data:float -lbl_1_data_34 = .data:0x00000034; // type:object size:0xC data:float -lbl_1_data_40 = .data:0x00000040; // type:object size:0xC data:float -lbl_1_data_4C = .data:0x0000004C; // type:object size:0x24 -lbl_1_data_70 = .data:0x00000070; // type:object size:0x24 -lbl_1_data_94 = .data:0x00000094; // type:object size:0xC -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x1 data:byte -lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x1A data:string -lbl_1_data_BE = .data:0x000000BE; // type:object size:0x1A -lbl_1_data_D8 = .data:0x000000D8; // type:object size:0x2C -lbl_1_data_104 = .data:0x00000104; // type:object size:0x60 -lbl_1_data_164 = .data:0x00000164; // type:object size:0x20 -lbl_1_data_184 = .data:0x00000184; // type:object size:0x20 -lbl_1_data_1A4 = .data:0x000001A4; // type:object size:0x18 -lbl_1_data_1BC = .data:0x000001BC; // type:object size:0x78 -lbl_1_data_234 = .data:0x00000234; // type:object size:0x30 -lbl_1_data_264 = .data:0x00000264; // type:object size:0x30 -lbl_1_data_294 = .data:0x00000294; // type:object size:0x18 -lbl_1_data_2AC = .data:0x000002AC; // type:object size:0xC -lbl_1_data_2B8 = .data:0x000002B8; // type:object size:0xC -lbl_1_data_2C4 = .data:0x000002C4; // type:object size:0xC -lbl_1_data_2D0 = .data:0x000002D0; // type:object size:0xC -lbl_1_data_2DC = .data:0x000002DC; // type:object size:0xC -lbl_1_data_2E8 = .data:0x000002E8; // type:object size:0xC -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte -lbl_1_bss_E = .bss:0x0000000E; // type:object size:0x2 data:2byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte -lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x6 data:2byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x2 data:2byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x8 data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x10 -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x10 -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m422Dll/splits.txt b/config/GMPP01_00/rels/m422Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m422Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m422Dll/symbols.txt b/config/GMPP01_00/rels/m422Dll/symbols.txt deleted file mode 100644 index 118c4a8d..00000000 --- a/config/GMPP01_00/rels/m422Dll/symbols.txt +++ /dev/null @@ -1,249 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x25C -fn_1_2FC = .text:0x000002FC; // type:function size:0x31C0 -fn_1_34BC = .text:0x000034BC; // type:function size:0x6B8 -fn_1_3B74 = .text:0x00003B74; // type:function size:0x4E60 -fn_1_89D4 = .text:0x000089D4; // type:function size:0xA28 -fn_1_93FC = .text:0x000093FC; // type:function size:0x4F0 -fn_1_98EC = .text:0x000098EC; // type:function size:0x134C -fn_1_AC38 = .text:0x0000AC38; // type:function size:0x3B8 -fn_1_AFF0 = .text:0x0000AFF0; // type:function size:0x54 -fn_1_B044 = .text:0x0000B044; // type:function size:0x428 -fn_1_B46C = .text:0x0000B46C; // type:function size:0xAC -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x30 -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x30 -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x30 -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x30 -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x30 -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x30 -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x30 -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x1C data:4byte -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x1C data:4byte -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x10 data:4byte -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x10 data:4byte -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0xC data:4byte -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0xC data:4byte -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0xC data:4byte -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0xC data:4byte -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0xC data:4byte -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x20 data:4byte -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 data:double -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 data:double -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x60 -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:4byte -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x60 -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x30 data:4byte -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x34 data:4byte -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 data:double -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x8 data:double -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x8 data:double -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 data:double -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x8 data:double -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 data:double -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 data:double -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 data:double -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x8 data:double -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 data:float -lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 data:float -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x8 data:double -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x8 data:double -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x8 data:double -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x8 data:double -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x4 data:float -lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x4 data:float -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x8 data:double -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x8 data:double -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 data:float -lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 data:float -lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 data:float -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x4 data:float -lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 data:float -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x8 data:double -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x8 data:double -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x8 data:double -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x8 data:double -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 data:double -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x8 data:double -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 data:float -lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x8 data:double -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x8 data:double -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float -lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 data:float -lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 data:float -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float -lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x4 data:float -lbl_1_rodata_5EC = .rodata:0x000005EC; // type:object size:0x4 data:float -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 data:float -lbl_1_rodata_5F4 = .rodata:0x000005F4; // type:object size:0x4 data:float -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x4 data:float -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 data:double -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x2C data:4byte -lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x4 data:float -lbl_1_rodata_63C = .rodata:0x0000063C; // type:object size:0x4 data:float -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 data:float -lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x8 data:double -lbl_1_rodata_650 = .rodata:0x00000650; // type:object size:0x8 data:double -lbl_1_rodata_658 = .rodata:0x00000658; // type:object size:0x8 data:double -lbl_1_rodata_660 = .rodata:0x00000660; // type:object size:0x4 data:float -lbl_1_rodata_664 = .rodata:0x00000664; // type:object size:0x4 data:float -lbl_1_rodata_668 = .rodata:0x00000668; // type:object size:0x28 data:4byte -lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x20 data:4byte -lbl_1_rodata_6B0 = .rodata:0x000006B0; // type:object size:0x8 data:4byte -lbl_1_rodata_6B8 = .rodata:0x000006B8; // type:object size:0x8 data:4byte -lbl_1_rodata_6C0 = .rodata:0x000006C0; // type:object size:0x8 data:4byte -lbl_1_rodata_6C8 = .rodata:0x000006C8; // type:object size:0x40 data:4byte -lbl_1_rodata_708 = .rodata:0x00000708; // type:object size:0x40 data:4byte -lbl_1_rodata_748 = .rodata:0x00000748; // type:object size:0x4 data:float -lbl_1_rodata_74C = .rodata:0x0000074C; // type:object size:0x4 data:float -lbl_1_rodata_750 = .rodata:0x00000750; // type:object size:0x4 data:float -lbl_1_rodata_754 = .rodata:0x00000754; // type:object size:0x4 data:float -lbl_1_rodata_758 = .rodata:0x00000758; // type:object size:0x4 data:float -lbl_1_rodata_760 = .rodata:0x00000760; // type:object size:0x8 data:double -lbl_1_rodata_768 = .rodata:0x00000768; // type:object size:0x4 data:float -lbl_1_rodata_76C = .rodata:0x0000076C; // type:object size:0x10 data:4byte -lbl_1_rodata_77C = .rodata:0x0000077C; // type:object size:0xC data:4byte -lbl_1_rodata_788 = .rodata:0x00000788; // type:object size:0xC data:4byte -lbl_1_rodata_794 = .rodata:0x00000794; // type:object size:0x1 data:byte -lbl_1_rodata_798 = .rodata:0x00000798; // type:object size:0x4 data:float -lbl_1_rodata_79C = .rodata:0x0000079C; // type:object size:0x4 data:float -lbl_1_rodata_7A0 = .rodata:0x000007A0; // type:object size:0x4 data:float -lbl_1_rodata_7A4 = .rodata:0x000007A4; // type:object size:0x4 data:float -lbl_1_rodata_7A8 = .rodata:0x000007A8; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x40 -lbl_1_data_40 = .data:0x00000040; // type:object size:0x60 -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x20 -lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x20 -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x7 -lbl_1_data_E7 = .data:0x000000E7; // type:object size:0x9 -lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x1680 data:float -lbl_1_data_1770 = .data:0x00001770; // type:object size:0xF data:string -lbl_1_data_177F = .data:0x0000177F; // type:object size:0x10 data:string -lbl_1_data_178F = .data:0x0000178F; // type:object size:0x10 data:string -lbl_1_data_179F = .data:0x0000179F; // type:object size:0xF data:string -lbl_1_data_17AE = .data:0x000017AE; // type:object size:0x10 data:string -lbl_1_data_17BE = .data:0x000017BE; // type:object size:0x10 data:string -lbl_1_data_17CE = .data:0x000017CE; // type:object size:0xF data:string -lbl_1_data_17DD = .data:0x000017DD; // type:object size:0x11 data:string -lbl_1_data_17EE = .data:0x000017EE; // type:object size:0x11 data:string -lbl_1_data_17FF = .data:0x000017FF; // type:object size:0x12 data:string -lbl_1_data_1811 = .data:0x00001811; // type:object size:0x5 data:string -lbl_1_data_1816 = .data:0x00001816; // type:object size:0x12 -lbl_1_data_1828 = .data:0x00001828; // type:object size:0x50 -lbl_1_data_1878 = .data:0x00001878; // type:object size:0x2C -lbl_1_data_18A4 = .data:0x000018A4; // type:object size:0x8 data:4byte -lbl_1_data_18AC = .data:0x000018AC; // type:object size:0x4 data:4byte -lbl_1_data_18B0 = .data:0x000018B0; // type:object size:0x4 data:4byte -lbl_1_data_18B4 = .data:0x000018B4; // type:object size:0x40 -lbl_1_data_18F4 = .data:0x000018F4; // type:object size:0xC data:4byte -lbl_1_data_1900 = .data:0x00001900; // type:object size:0x4 data:4byte -lbl_1_data_1904 = .data:0x00001904; // type:object size:0x1B data:string -lbl_1_data_191F = .data:0x0000191F; // type:object size:0x19 data:string -lbl_1_data_1938 = .data:0x00001938; // type:object size:0x24 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:float -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:float -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x8 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x8 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x2 data:2byte -lbl_1_bss_2E = .bss:0x0000002E; // type:object size:0x2 data:2byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x10 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0xB0 data:4byte -lbl_1_bss_104 = .bss:0x00000104; // type:object size:0xC0 diff --git a/config/GMPP01_00/rels/m423Dll/splits.txt b/config/GMPP01_00/rels/m423Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m423Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m423Dll/symbols.txt b/config/GMPP01_00/rels/m423Dll/symbols.txt deleted file mode 100644 index 7087bc41..00000000 --- a/config/GMPP01_00/rels/m423Dll/symbols.txt +++ /dev/null @@ -1,367 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x278 -fn_1_318 = .text:0x00000318; // type:function size:0x98 -fn_1_3B0 = .text:0x000003B0; // type:function size:0xA44 -fn_1_DF4 = .text:0x00000DF4; // type:function size:0x64 -fn_1_E58 = .text:0x00000E58; // type:function size:0xA0 -fn_1_EF8 = .text:0x00000EF8; // type:function size:0x10 -fn_1_F08 = .text:0x00000F08; // type:function size:0x50 -fn_1_F58 = .text:0x00000F58; // type:function size:0x244 -fn_1_119C = .text:0x0000119C; // type:function size:0x34 -fn_1_11D0 = .text:0x000011D0; // type:function size:0x60 -fn_1_1230 = .text:0x00001230; // type:function size:0x68 -fn_1_1298 = .text:0x00001298; // type:function size:0x100 -fn_1_1398 = .text:0x00001398; // type:function size:0xA4 -fn_1_143C = .text:0x0000143C; // type:function size:0x5C -fn_1_1498 = .text:0x00001498; // type:function size:0x45C -fn_1_18F4 = .text:0x000018F4; // type:function size:0x260 -fn_1_1B54 = .text:0x00001B54; // type:function size:0x400 -fn_1_1F54 = .text:0x00001F54; // type:function size:0x334 -fn_1_2288 = .text:0x00002288; // type:function size:0x394 -fn_1_261C = .text:0x0000261C; // type:function size:0x394 -fn_1_29B0 = .text:0x000029B0; // type:function size:0x4 -fn_1_29B4 = .text:0x000029B4; // type:function size:0x24C -fn_1_2C00 = .text:0x00002C00; // type:function size:0x8D0 -fn_1_34D0 = .text:0x000034D0; // type:function size:0x50 -fn_1_3520 = .text:0x00003520; // type:function size:0x370 -fn_1_3890 = .text:0x00003890; // type:function size:0x1C0 -fn_1_3A50 = .text:0x00003A50; // type:function size:0xC -fn_1_3A5C = .text:0x00003A5C; // type:function size:0x28 -fn_1_3A84 = .text:0x00003A84; // type:function size:0x170 -fn_1_3BF4 = .text:0x00003BF4; // type:function size:0x3E4 -fn_1_3FD8 = .text:0x00003FD8; // type:function size:0x798 -fn_1_4770 = .text:0x00004770; // type:function size:0x1628 -fn_1_5D98 = .text:0x00005D98; // type:function size:0x1B6C -fn_1_7904 = .text:0x00007904; // type:function size:0xC -fn_1_7910 = .text:0x00007910; // type:function size:0x4C -fn_1_795C = .text:0x0000795C; // type:function size:0x100 -fn_1_7A5C = .text:0x00007A5C; // type:function size:0x18C -fn_1_7BE8 = .text:0x00007BE8; // type:function size:0xA0 -fn_1_7C88 = .text:0x00007C88; // type:function size:0x780 -fn_1_8408 = .text:0x00008408; // type:function size:0x70 -fn_1_8478 = .text:0x00008478; // type:function size:0x97C -fn_1_8DF4 = .text:0x00008DF4; // type:function size:0x910 -fn_1_9704 = .text:0x00009704; // type:function size:0x50 -fn_1_9754 = .text:0x00009754; // type:function size:0x28C -fn_1_99E0 = .text:0x000099E0; // type:function size:0x1100 -fn_1_AAE0 = .text:0x0000AAE0; // type:function size:0xC -fn_1_AAEC = .text:0x0000AAEC; // type:function size:0x28 -fn_1_AB14 = .text:0x0000AB14; // type:function size:0x238 -fn_1_AD4C = .text:0x0000AD4C; // type:function size:0x74 -fn_1_ADC0 = .text:0x0000ADC0; // type:function size:0x1E4 -fn_1_AFA4 = .text:0x0000AFA4; // type:function size:0x84 -fn_1_B028 = .text:0x0000B028; // type:function size:0x254 -fn_1_B27C = .text:0x0000B27C; // type:function size:0x68 -fn_1_B2E4 = .text:0x0000B2E4; // type:function size:0x160 -fn_1_B444 = .text:0x0000B444; // type:function size:0x12C -fn_1_B570 = .text:0x0000B570; // type:function size:0x8A8 -fn_1_BE18 = .text:0x0000BE18; // type:function size:0x7C0 -fn_1_C5D8 = .text:0x0000C5D8; // type:function size:0x1498 -fn_1_DA70 = .text:0x0000DA70; // type:function size:0x108 -fn_1_DB78 = .text:0x0000DB78; // type:function size:0x190 -fn_1_DD08 = .text:0x0000DD08; // type:function size:0x5C -fn_1_DD64 = .text:0x0000DD64; // type:function size:0x14C -fn_1_DEB0 = .text:0x0000DEB0; // type:function size:0x44C -fn_1_E2FC = .text:0x0000E2FC; // type:function size:0xD4 -fn_1_E3D0 = .text:0x0000E3D0; // type:function size:0xA0 -fn_1_E470 = .text:0x0000E470; // type:function size:0x4 -fn_1_E474 = .text:0x0000E474; // type:function size:0x12C -fn_1_E5A0 = .text:0x0000E5A0; // type:function size:0x8C -fn_1_E62C = .text:0x0000E62C; // type:function size:0x120 -fn_1_E74C = .text:0x0000E74C; // type:function size:0x6C -fn_1_E7B8 = .text:0x0000E7B8; // type:function size:0x8CC -fn_1_F084 = .text:0x0000F084; // type:function size:0x630 -fn_1_F6B4 = .text:0x0000F6B4; // type:function size:0x11C -fn_1_F7D0 = .text:0x0000F7D0; // type:function size:0x50 -fn_1_F820 = .text:0x0000F820; // type:function size:0x360 -fn_1_FB80 = .text:0x0000FB80; // type:function size:0x4D0 -fn_1_10050 = .text:0x00010050; // type:function size:0x88 -fn_1_100D8 = .text:0x000100D8; // type:function size:0x90 -fn_1_10168 = .text:0x00010168; // type:function size:0xB4 -fn_1_1021C = .text:0x0001021C; // type:function size:0x3A4 -fn_1_105C0 = .text:0x000105C0; // type:function size:0xAC -fn_1_1066C = .text:0x0001066C; // type:function size:0x4 -fn_1_10670 = .text:0x00010670; // type:function size:0x10 -fn_1_10680 = .text:0x00010680; // type:function size:0x198 -fn_1_10818 = .text:0x00010818; // type:function size:0x4F0 -fn_1_10D08 = .text:0x00010D08; // type:function size:0x440 -fn_1_11148 = .text:0x00011148; // type:function size:0x10C -fn_1_11254 = .text:0x00011254; // type:function size:0x4B0 -fn_1_11704 = .text:0x00011704; // type:function size:0x33C -fn_1_11A40 = .text:0x00011A40; // type:function size:0x8DC -fn_1_1231C = .text:0x0001231C; // type:function size:0x118 -fn_1_12434 = .text:0x00012434; // type:function size:0x250 -fn_1_12684 = .text:0x00012684; // type:function size:0x3F8 -fn_1_12A7C = .text:0x00012A7C; // type:function size:0xB4 -fn_1_12B30 = .text:0x00012B30; // type:function size:0x27C -fn_1_12DAC = .text:0x00012DAC; // type:function size:0x100 -fn_1_12EAC = .text:0x00012EAC; // type:function size:0xFC -fn_1_12FA8 = .text:0x00012FA8; // type:function size:0x4E4 -fn_1_1348C = .text:0x0001348C; // type:function size:0x330 -fn_1_137BC = .text:0x000137BC; // type:function size:0x148 -fn_1_13904 = .text:0x00013904; // type:function size:0x78C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x1 data:byte -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 data:double -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 data:double -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x38 data:float -lbl_1_data_38 = .data:0x00000038; // type:object size:0x118 -lbl_1_data_150 = .data:0x00000150; // type:object size:0x30 data:float -lbl_1_data_180 = .data:0x00000180; // type:object size:0x30 data:float -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x24 -lbl_1_data_1D4 = .data:0x000001D4; // type:object size:0xC -lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0xC -lbl_1_data_1EC = .data:0x000001EC; // type:object size:0xC -lbl_1_data_1F8 = .data:0x000001F8; // type:object size:0x24 -lbl_1_data_21C = .data:0x0000021C; // type:object size:0xC -lbl_1_data_228 = .data:0x00000228; // type:object size:0xC -lbl_1_data_234 = .data:0x00000234; // type:object size:0x4 -lbl_1_data_238 = .data:0x00000238; // type:object size:0x18 -lbl_1_data_250 = .data:0x00000250; // type:object size:0x18 -jumptable_1_data_268 = .data:0x00000268; // type:object size:0x30 scope:local -lbl_1_data_298 = .data:0x00000298; // type:object size:0x1 data:byte -lbl_1_data_29C = .data:0x0000029C; // type:object size:0x30 -lbl_1_data_2CC = .data:0x000002CC; // type:object size:0x20 -lbl_1_data_2EC = .data:0x000002EC; // type:object size:0x20 -lbl_1_data_30C = .data:0x0000030C; // type:object size:0x4 -lbl_1_data_310 = .data:0x00000310; // type:object size:0x1 data:byte -lbl_1_data_314 = .data:0x00000314; // type:object size:0x20 data:4byte -lbl_1_data_334 = .data:0x00000334; // type:object size:0x30 -lbl_1_data_364 = .data:0x00000364; // type:object size:0x24 -lbl_1_data_388 = .data:0x00000388; // type:object size:0x1 data:byte -lbl_1_data_38C = .data:0x0000038C; // type:object size:0x1F data:string -lbl_1_data_3AB = .data:0x000003AB; // type:object size:0x1 data:byte -lbl_1_data_3AF = .data:0x000003AF; // type:object size:0x1 data:byte -lbl_1_data_3B3 = .data:0x000003B3; // type:object size:0x5 data:byte -lbl_1_data_3B8 = .data:0x000003B8; // type:object size:0xF0 -lbl_1_data_4A8 = .data:0x000004A8; // type:object size:0x54 -lbl_1_data_4FC = .data:0x000004FC; // type:object size:0xC -lbl_1_data_508 = .data:0x00000508; // type:object size:0x18 -lbl_1_data_520 = .data:0x00000520; // type:object size:0x6 -lbl_1_data_526 = .data:0x00000526; // type:object size:0x6 -lbl_1_data_52C = .data:0x0000052C; // type:object size:0x8 -lbl_1_data_534 = .data:0x00000534; // type:object size:0x40 -lbl_1_data_574 = .data:0x00000574; // type:object size:0xC -lbl_1_data_580 = .data:0x00000580; // type:object size:0x58 -lbl_1_data_5D8 = .data:0x000005D8; // type:object size:0x10 -lbl_1_data_5E8 = .data:0x000005E8; // type:object size:0xC data:4byte -lbl_1_data_5F4 = .data:0x000005F4; // type:object size:0x1 data:byte -lbl_1_data_5F8 = .data:0x000005F8; // type:object size:0x1 data:byte -jumptable_1_data_5FC = .data:0x000005FC; // type:object size:0x34 scope:local -lbl_1_data_630 = .data:0x00000630; // type:object size:0x1 data:byte -jumptable_1_data_634 = .data:0x00000634; // type:object size:0x34 scope:local -lbl_1_data_668 = .data:0x00000668; // type:object size:0x10 -lbl_1_data_678 = .data:0x00000678; // type:object size:0x10 -lbl_1_data_688 = .data:0x00000688; // type:object size:0x20 -lbl_1_data_6A8 = .data:0x000006A8; // type:object size:0x20 data:4byte -lbl_1_data_6C8 = .data:0x000006C8; // type:object size:0x10 -lbl_1_data_6D8 = .data:0x000006D8; // type:object size:0x20 -lbl_1_data_6F8 = .data:0x000006F8; // type:object size:0x20 -lbl_1_data_718 = .data:0x00000718; // type:object size:0x20 -lbl_1_data_738 = .data:0x00000738; // type:object size:0x20 -lbl_1_data_758 = .data:0x00000758; // type:object size:0x1 data:byte -lbl_1_data_75C = .data:0x0000075C; // type:object size:0x48 -jumptable_1_data_7A4 = .data:0x000007A4; // type:object size:0x20 scope:local -lbl_1_data_7C4 = .data:0x000007C4; // type:object size:0x18 -jumptable_1_data_7DC = .data:0x000007DC; // type:object size:0x20 scope:local -lbl_1_data_7FC = .data:0x000007FC; // type:object size:0x20 -lbl_1_data_81C = .data:0x0000081C; // type:object size:0x20 -lbl_1_data_83C = .data:0x0000083C; // type:object size:0x8 -lbl_1_data_844 = .data:0x00000844; // type:object size:0x60 -lbl_1_data_8A4 = .data:0x000008A4; // type:object size:0x20 -lbl_1_data_8C4 = .data:0x000008C4; // type:object size:0x30 -lbl_1_data_8F4 = .data:0x000008F4; // type:object size:0x20 -lbl_1_data_914 = .data:0x00000914; // type:object size:0x6 data:byte -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x3C data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x3C data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x4 data:4byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x4 data:4byte -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x4 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x4 data:4byte -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:4byte -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x4 data:4byte -lbl_1_bss_94 = .bss:0x00000094; // type:object size:0x4 data:4byte -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x4 data:4byte -lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0x4 data:4byte -lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x4 data:4byte -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0xC data:4byte -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x10 -lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x4 data:4byte -lbl_1_bss_D0 = .bss:0x000000D0; // type:object size:0x4 data:4byte -lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0x4 data:4byte -lbl_1_bss_D8 = .bss:0x000000D8; // type:object size:0x4 data:4byte -lbl_1_bss_DC = .bss:0x000000DC; // type:object size:0x10 data:4byte -lbl_1_bss_EC = .bss:0x000000EC; // type:object size:0x10 data:4byte -lbl_1_bss_FC = .bss:0x000000FC; // type:object size:0x4 data:4byte -lbl_1_bss_100 = .bss:0x00000100; // type:object size:0x4 data:4byte -lbl_1_bss_104 = .bss:0x00000104; // type:object size:0x4 data:4byte -lbl_1_bss_108 = .bss:0x00000108; // type:object size:0x8 data:4byte -lbl_1_bss_110 = .bss:0x00000110; // type:object size:0x4 data:4byte -lbl_1_bss_114 = .bss:0x00000114; // type:object size:0x4 data:4byte -lbl_1_bss_118 = .bss:0x00000118; // type:object size:0x4 data:4byte -lbl_1_bss_11C = .bss:0x0000011C; // type:object size:0x4 data:4byte -lbl_1_bss_120 = .bss:0x00000120; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m424Dll/splits.txt b/config/GMPP01_00/rels/m424Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m424Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m424Dll/symbols.txt b/config/GMPP01_00/rels/m424Dll/symbols.txt deleted file mode 100644 index 73453dab..00000000 --- a/config/GMPP01_00/rels/m424Dll/symbols.txt +++ /dev/null @@ -1,314 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x1C4 -fn_1_264 = .text:0x00000264; // type:function size:0x1B8 -fn_1_41C = .text:0x0000041C; // type:function size:0xAB8 -fn_1_ED4 = .text:0x00000ED4; // type:function size:0x60 -fn_1_F34 = .text:0x00000F34; // type:function size:0xA0 -fn_1_FD4 = .text:0x00000FD4; // type:function size:0x10 -fn_1_FE4 = .text:0x00000FE4; // type:function size:0x1FC -fn_1_11E0 = .text:0x000011E0; // type:function size:0x4 -fn_1_11E4 = .text:0x000011E4; // type:function size:0x4 -fn_1_11E8 = .text:0x000011E8; // type:function size:0x10 -fn_1_11F8 = .text:0x000011F8; // type:function size:0x154 -fn_1_134C = .text:0x0000134C; // type:function size:0x118 -fn_1_1464 = .text:0x00001464; // type:function size:0x250 -fn_1_16B4 = .text:0x000016B4; // type:function size:0x3F8 -fn_1_1AAC = .text:0x00001AAC; // type:function size:0xD4 -fn_1_1B80 = .text:0x00001B80; // type:function size:0x2C -fn_1_1BAC = .text:0x00001BAC; // type:function size:0x264 -fn_1_1E10 = .text:0x00001E10; // type:function size:0x314 -fn_1_2124 = .text:0x00002124; // type:function size:0xC -fn_1_2130 = .text:0x00002130; // type:function size:0x74 -fn_1_21A4 = .text:0x000021A4; // type:function size:0x70 -fn_1_2214 = .text:0x00002214; // type:function size:0x218 -fn_1_242C = .text:0x0000242C; // type:function size:0xF4 -fn_1_2520 = .text:0x00002520; // type:function size:0x94 -fn_1_25B4 = .text:0x000025B4; // type:function size:0xB0 -fn_1_2664 = .text:0x00002664; // type:function size:0xB0 -fn_1_2714 = .text:0x00002714; // type:function size:0x160 -fn_1_2874 = .text:0x00002874; // type:function size:0x20 -fn_1_2894 = .text:0x00002894; // type:function size:0x598 -fn_1_2E2C = .text:0x00002E2C; // type:function size:0x4 -fn_1_2E30 = .text:0x00002E30; // type:function size:0x384 -fn_1_31B4 = .text:0x000031B4; // type:function size:0x63C -fn_1_37F0 = .text:0x000037F0; // type:function size:0xA24 -fn_1_4214 = .text:0x00004214; // type:function size:0x478 -fn_1_468C = .text:0x0000468C; // type:function size:0x4 -fn_1_4690 = .text:0x00004690; // type:function size:0x234 -fn_1_48C4 = .text:0x000048C4; // type:function size:0x1C0 -fn_1_4A84 = .text:0x00004A84; // type:function size:0x588 -fn_1_500C = .text:0x0000500C; // type:function size:0x1020 -fn_1_602C = .text:0x0000602C; // type:function size:0x40 -fn_1_606C = .text:0x0000606C; // type:function size:0xA0 -fn_1_610C = .text:0x0000610C; // type:function size:0x94 -fn_1_61A0 = .text:0x000061A0; // type:function size:0x84 -fn_1_6224 = .text:0x00006224; // type:function size:0x4C -fn_1_6270 = .text:0x00006270; // type:function size:0x54 -fn_1_62C4 = .text:0x000062C4; // type:function size:0x13C -fn_1_6400 = .text:0x00006400; // type:function size:0x168 -fn_1_6568 = .text:0x00006568; // type:function size:0x120 -fn_1_6688 = .text:0x00006688; // type:function size:0x39C -fn_1_6A24 = .text:0x00006A24; // type:function size:0x2E0 -fn_1_6D04 = .text:0x00006D04; // type:function size:0x38C -fn_1_7090 = .text:0x00007090; // type:function size:0x384 -fn_1_7414 = .text:0x00007414; // type:function size:0x3A4 -fn_1_77B8 = .text:0x000077B8; // type:function size:0x238 -fn_1_79F0 = .text:0x000079F0; // type:function size:0x2A4 -fn_1_7C94 = .text:0x00007C94; // type:function size:0x130 -fn_1_7DC4 = .text:0x00007DC4; // type:function size:0x198 -fn_1_7F5C = .text:0x00007F5C; // type:function size:0xD8 -fn_1_8034 = .text:0x00008034; // type:function size:0xBC -fn_1_80F0 = .text:0x000080F0; // type:function size:0x33C -fn_1_842C = .text:0x0000842C; // type:function size:0x4B0 -fn_1_88DC = .text:0x000088DC; // type:function size:0x3C -fn_1_8918 = .text:0x00008918; // type:function size:0x2C -fn_1_8944 = .text:0x00008944; // type:function size:0x2C -fn_1_8970 = .text:0x00008970; // type:function size:0x2C -fn_1_899C = .text:0x0000899C; // type:function size:0x2C -fn_1_89C8 = .text:0x000089C8; // type:function size:0x2C -fn_1_89F4 = .text:0x000089F4; // type:function size:0x2C -fn_1_8A20 = .text:0x00008A20; // type:function size:0x7C -fn_1_8A9C = .text:0x00008A9C; // type:function size:0x1D0 -fn_1_8C6C = .text:0x00008C6C; // type:function size:0x404 -fn_1_9070 = .text:0x00009070; // type:function size:0x374 -fn_1_93E4 = .text:0x000093E4; // type:function size:0xB4 -fn_1_9498 = .text:0x00009498; // type:function size:0x2C -fn_1_94C4 = .text:0x000094C4; // type:function size:0x594 -fn_1_9A58 = .text:0x00009A58; // type:function size:0x13F4 -fn_1_AE4C = .text:0x0000AE4C; // type:function size:0xC -fn_1_AE58 = .text:0x0000AE58; // type:function size:0x938 -fn_1_B790 = .text:0x0000B790; // type:function size:0x68 -fn_1_B7F8 = .text:0x0000B7F8; // type:function size:0x84 -fn_1_B87C = .text:0x0000B87C; // type:function size:0x24 -fn_1_B8A0 = .text:0x0000B8A0; // type:function size:0x78 -fn_1_B918 = .text:0x0000B918; // type:function size:0x78 -fn_1_B990 = .text:0x0000B990; // type:function size:0x44 -fn_1_B9D4 = .text:0x0000B9D4; // type:function size:0x830 -fn_1_C204 = .text:0x0000C204; // type:function size:0xD0 -fn_1_C2D4 = .text:0x0000C2D4; // type:function size:0x324 -fn_1_C5F8 = .text:0x0000C5F8; // type:function size:0x250 -fn_1_C848 = .text:0x0000C848; // type:function size:0x24 -fn_1_C86C = .text:0x0000C86C; // type:function size:0x124 -fn_1_C990 = .text:0x0000C990; // type:function size:0x4D8 -fn_1_CE68 = .text:0x0000CE68; // type:function size:0x8C -fn_1_CEF4 = .text:0x0000CEF4; // type:function size:0x80 -fn_1_CF74 = .text:0x0000CF74; // type:function size:0x90 -fn_1_D004 = .text:0x0000D004; // type:function size:0x64 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0xC data:4byte -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x54 data:float -lbl_1_data_54 = .data:0x00000054; // type:object size:0xC -lbl_1_data_60 = .data:0x00000060; // type:object size:0xC -lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC -lbl_1_data_78 = .data:0x00000078; // type:object size:0x24 -lbl_1_data_9C = .data:0x0000009C; // type:object size:0xC -lbl_1_data_A8 = .data:0x000000A8; // type:object size:0xC -lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x4 -jumptable_1_data_B8 = .data:0x000000B8; // type:object size:0x28 scope:local -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0xC -lbl_1_data_EC = .data:0x000000EC; // type:object size:0xC -lbl_1_data_F8 = .data:0x000000F8; // type:object size:0xC -lbl_1_data_104 = .data:0x00000104; // type:object size:0x4C -lbl_1_data_150 = .data:0x00000150; // type:object size:0x5C -jumptable_1_data_1AC = .data:0x000001AC; // type:object size:0x2C scope:local -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0x8 data:4byte -lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0x30 data:float -lbl_1_data_210 = .data:0x00000210; // type:object size:0xC data:float -lbl_1_data_21C = .data:0x0000021C; // type:object size:0xC0 -lbl_1_data_2DC = .data:0x000002DC; // type:object size:0xC -lbl_1_data_2E8 = .data:0x000002E8; // type:object size:0x24 -lbl_1_data_30C = .data:0x0000030C; // type:object size:0xC data:4byte -lbl_1_data_318 = .data:0x00000318; // type:object size:0x6 data:string -lbl_1_data_31E = .data:0x0000031E; // type:object size:0x6 data:string -lbl_1_data_324 = .data:0x00000324; // type:object size:0x8 -jumptable_1_data_32C = .data:0x0000032C; // type:object size:0x40 scope:local -lbl_1_data_36C = .data:0x0000036C; // type:object size:0x20 -lbl_1_data_38C = .data:0x0000038C; // type:object size:0x20 -lbl_1_data_3AC = .data:0x000003AC; // type:object size:0x19 data:string -lbl_1_data_3C5 = .data:0x000003C5; // type:object size:0x5 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0xC data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x8 data:2byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x8 data:2byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x8 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x8 data:byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x534 data:4byte -lbl_1_bss_594 = .bss:0x00000594; // type:object size:0x18 -lbl_1_bss_5AC = .bss:0x000005AC; // type:object size:0x10 data:4byte -lbl_1_bss_5BC = .bss:0x000005BC; // type:object size:0x84 -lbl_1_bss_640 = .bss:0x00000640; // type:object size:0x80 data:4byte -lbl_1_bss_6C0 = .bss:0x000006C0; // type:object size:0x4 data:4byte -lbl_1_bss_6C4 = .bss:0x000006C4; // type:object size:0x4 data:4byte -lbl_1_bss_6C8 = .bss:0x000006C8; // type:object size:0x4 data:4byte -lbl_1_bss_6CC = .bss:0x000006CC; // type:object size:0xC data:4byte -lbl_1_bss_6D8 = .bss:0x000006D8; // type:object size:0x4 data:4byte -lbl_1_bss_6DC = .bss:0x000006DC; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m425Dll/splits.txt b/config/GMPP01_00/rels/m425Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m425Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m425Dll/symbols.txt b/config/GMPP01_00/rels/m425Dll/symbols.txt deleted file mode 100644 index 4e26a147..00000000 --- a/config/GMPP01_00/rels/m425Dll/symbols.txt +++ /dev/null @@ -1,300 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x3C0 -fn_1_460 = .text:0x00000460; // type:function size:0x20 -fn_1_480 = .text:0x00000480; // type:function size:0x464 -fn_1_8E4 = .text:0x000008E4; // type:function size:0x65C -fn_1_F40 = .text:0x00000F40; // type:function size:0x60 -fn_1_FA0 = .text:0x00000FA0; // type:function size:0x524 -fn_1_14C4 = .text:0x000014C4; // type:function size:0x120 -fn_1_15E4 = .text:0x000015E4; // type:function size:0xC4 -fn_1_16A8 = .text:0x000016A8; // type:function size:0x490 -fn_1_1B38 = .text:0x00001B38; // type:function size:0xC44 -fn_1_277C = .text:0x0000277C; // type:function size:0xEC -fn_1_2868 = .text:0x00002868; // type:function size:0x224 -fn_1_2A8C = .text:0x00002A8C; // type:function size:0x98 -fn_1_2B24 = .text:0x00002B24; // type:function size:0x34C -fn_1_2E70 = .text:0x00002E70; // type:function size:0x568 -fn_1_33D8 = .text:0x000033D8; // type:function size:0x384 -fn_1_375C = .text:0x0000375C; // type:function size:0x76C -fn_1_3EC8 = .text:0x00003EC8; // type:function size:0xB0 -fn_1_3F78 = .text:0x00003F78; // type:function size:0xB08 -fn_1_4A80 = .text:0x00004A80; // type:function size:0x5BC -fn_1_503C = .text:0x0000503C; // type:function size:0x524 -fn_1_5560 = .text:0x00005560; // type:function size:0xA0 -fn_1_5600 = .text:0x00005600; // type:function size:0xA8 -fn_1_56A8 = .text:0x000056A8; // type:function size:0x8C -fn_1_5734 = .text:0x00005734; // type:function size:0x98 -fn_1_57CC = .text:0x000057CC; // type:function size:0x44C -fn_1_5C18 = .text:0x00005C18; // type:function size:0x8B4 -fn_1_64CC = .text:0x000064CC; // type:function size:0x54 -fn_1_6520 = .text:0x00006520; // type:function size:0x78 -fn_1_6598 = .text:0x00006598; // type:function size:0x11C -fn_1_66B4 = .text:0x000066B4; // type:function size:0x78 -fn_1_672C = .text:0x0000672C; // type:function size:0x2D8 -fn_1_6A04 = .text:0x00006A04; // type:function size:0x1CC -fn_1_6BD0 = .text:0x00006BD0; // type:function size:0x30 -fn_1_6C00 = .text:0x00006C00; // type:function size:0xC8 -fn_1_6CC8 = .text:0x00006CC8; // type:function size:0x12C -fn_1_6DF4 = .text:0x00006DF4; // type:function size:0xC8 -fn_1_6EBC = .text:0x00006EBC; // type:function size:0x69D8 -fn_1_D894 = .text:0x0000D894; // type:function size:0x10 -fn_1_D8A4 = .text:0x0000D8A4; // type:function size:0x10 -fn_1_D8B4 = .text:0x0000D8B4; // type:function size:0x10 -fn_1_D8C4 = .text:0x0000D8C4; // type:function size:0x10 -fn_1_D8D4 = .text:0x0000D8D4; // type:function size:0xCC -fn_1_D9A0 = .text:0x0000D9A0; // type:function size:0x19C -fn_1_DB3C = .text:0x0000DB3C; // type:function size:0x2F8 -fn_1_DE34 = .text:0x0000DE34; // type:function size:0x3D4 -fn_1_E208 = .text:0x0000E208; // type:function size:0x704 -fn_1_E90C = .text:0x0000E90C; // type:function size:0x18B0 -fn_1_101BC = .text:0x000101BC; // type:function size:0x828 -fn_1_109E4 = .text:0x000109E4; // type:function size:0x318 -fn_1_10CFC = .text:0x00010CFC; // type:function size:0x60 -fn_1_10D5C = .text:0x00010D5C; // type:function size:0x60 -fn_1_10DBC = .text:0x00010DBC; // type:function size:0x88 -fn_1_10E44 = .text:0x00010E44; // type:function size:0xBC -fn_1_10F00 = .text:0x00010F00; // type:function size:0x38C -fn_1_1128C = .text:0x0001128C; // type:function size:0x78 -fn_1_11304 = .text:0x00011304; // type:function size:0x11C -fn_1_11420 = .text:0x00011420; // type:function size:0x3C -fn_1_1145C = .text:0x0001145C; // type:function size:0x180 -fn_1_115DC = .text:0x000115DC; // type:function size:0x110 -fn_1_116EC = .text:0x000116EC; // type:function size:0x390 -fn_1_11A7C = .text:0x00011A7C; // type:function size:0x46C -fn_1_11EE8 = .text:0x00011EE8; // type:function size:0x7B4 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x10 data:4byte -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0xC0 -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 data:double -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x10 data:4byte -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x10 data:4byte -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x8 data:double -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 data:double -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 data:double -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x20 data:4byte -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 data:double -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 data:double -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x8 data:double -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 data:double -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 data:double -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 data:double -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 data:double -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 data:float -lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 data:double -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x8 data:double -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x2 data:2byte -lbl_1_data_4 = .data:0x00000004; // type:object size:0xC -lbl_1_data_10 = .data:0x00000010; // type:object size:0x30 -lbl_1_data_40 = .data:0x00000040; // type:object size:0x4 -lbl_1_data_44 = .data:0x00000044; // type:object size:0x24 -lbl_1_data_68 = .data:0x00000068; // type:object size:0x4 data:4byte -lbl_1_data_6C = .data:0x0000006C; // type:object size:0x28 -lbl_1_data_94 = .data:0x00000094; // type:object size:0x30 -jumptable_1_data_C4 = .data:0x000000C4; // type:object size:0x28 scope:local -jumptable_1_data_EC = .data:0x000000EC; // type:object size:0x28 scope:local -lbl_1_data_114 = .data:0x00000114; // type:object size:0x4 data:4byte -lbl_1_data_118 = .data:0x00000118; // type:object size:0x18 -lbl_1_data_130 = .data:0x00000130; // type:object size:0x20 -lbl_1_data_150 = .data:0x00000150; // type:object size:0x18 -lbl_1_data_168 = .data:0x00000168; // type:object size:0x1 data:byte -lbl_1_data_16C = .data:0x0000016C; // type:object size:0x30 -lbl_1_data_19C = .data:0x0000019C; // type:object size:0x30 -lbl_1_data_1CC = .data:0x000001CC; // type:object size:0x20 -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:float -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:float -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x630 -lbl_1_bss_640 = .bss:0x00000640; // type:object size:0x2 data:2byte -lbl_1_bss_642 = .bss:0x00000642; // type:object size:0x2 data:2byte -lbl_1_bss_644 = .bss:0x00000644; // type:object size:0x2 data:2byte -lbl_1_bss_646 = .bss:0x00000646; // type:object size:0x2 data:2byte -lbl_1_bss_648 = .bss:0x00000648; // type:object size:0x2 data:2byte -lbl_1_bss_64C = .bss:0x0000064C; // type:object size:0x10 -lbl_1_bss_65C = .bss:0x0000065C; // type:object size:0x4 data:4byte -lbl_1_bss_660 = .bss:0x00000660; // type:object size:0x4 data:4byte -lbl_1_bss_664 = .bss:0x00000664; // type:object size:0x4 data:4byte -lbl_1_bss_668 = .bss:0x00000668; // type:object size:0x8 data:4byte -lbl_1_bss_670 = .bss:0x00000670; // type:object size:0xC data:float -lbl_1_bss_67C = .bss:0x0000067C; // type:object size:0xC data:float -lbl_1_bss_688 = .bss:0x00000688; // type:object size:0x40 -lbl_1_bss_6C8 = .bss:0x000006C8; // type:object size:0x1 data:byte -lbl_1_bss_6CC = .bss:0x000006CC; // type:object size:0x4 data:4byte -lbl_1_bss_6D0 = .bss:0x000006D0; // type:object size:0x1 data:byte -lbl_1_bss_6D4 = .bss:0x000006D4; // type:object size:0x4 data:4byte -lbl_1_bss_6D8 = .bss:0x000006D8; // type:object size:0x4 data:4byte -lbl_1_bss_6DC = .bss:0x000006DC; // type:object size:0x4 data:4byte -lbl_1_bss_6E0 = .bss:0x000006E0; // type:object size:0x4 data:4byte -lbl_1_bss_6E4 = .bss:0x000006E4; // type:object size:0x4 data:4byte -lbl_1_bss_6E8 = .bss:0x000006E8; // type:object size:0x4 data:4byte -lbl_1_bss_6EC = .bss:0x000006EC; // type:object size:0x4 data:4byte -lbl_1_bss_6F0 = .bss:0x000006F0; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m426Dll/splits.txt b/config/GMPP01_00/rels/m426Dll/splits.txt deleted file mode 100644 index a7a72393..00000000 --- a/config/GMPP01_00/rels/m426Dll/splits.txt +++ /dev/null @@ -1,16 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/m426Dll/main.c: - .text start:0x000000A0 end:0x00009AC4 - .rodata start:0x00000000 end:0x000001DC - .data start:0x00000000 end:0x00000368 - .bss start:0x00000000 end:0x0000009C diff --git a/config/GMPP01_00/rels/m426Dll/symbols.txt b/config/GMPP01_00/rels/m426Dll/symbols.txt deleted file mode 100644 index 81681170..00000000 --- a/config/GMPP01_00/rels/m426Dll/symbols.txt +++ /dev/null @@ -1,225 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x16C -fn_1_20C = .text:0x0000020C; // type:function size:0x124 -fn_1_330 = .text:0x00000330; // type:function size:0xA80 -fn_1_DB8 = .text:0x00000DB0; // type:function size:0x60 -fn_1_E18 = .text:0x00000E10; // type:function size:0xA0 -fn_1_EB8 = .text:0x00000EB0; // type:function size:0x14C -fn_1_1004 = .text:0x00000FFC; // type:function size:0x178 -fn_1_117C = .text:0x00001174; // type:function size:0x70 -fn_1_11EC = .text:0x000011E4; // type:function size:0x70 -fn_1_125C = .text:0x00001254; // type:function size:0x49C -fn_1_16F8 = .text:0x000016F0; // type:function size:0x13F4 -fn_1_2AC8 = .text:0x00002AE4; // type:function size:0x14 -fn_1_2ADC = .text:0x00002AF8; // type:function size:0x98 -fn_1_2B74 = .text:0x00002B90; // type:function size:0x368 -fn_1_2EDC = .text:0x00002EF8; // type:function size:0x80 -fn_1_2F5C = .text:0x00002F78; // type:function size:0x6F8 -fn_1_3654 = .text:0x00003670; // type:function size:0x70 -fn_1_36C4 = .text:0x000036E0; // type:function size:0x50 -fn_1_3714 = .text:0x00003730; // type:function size:0x7E8 -fn_1_3EFC = .text:0x00003F18; // type:function size:0x700 -fn_1_45FC = .text:0x00004618; // type:function size:0x48 -fn_1_4644 = .text:0x00004660; // type:function size:0x60 -fn_1_46A4 = .text:0x000046C0; // type:function size:0x94 -fn_1_4738 = .text:0x00004754; // type:function size:0x15C -fn_1_4894 = .text:0x000048B0; // type:function size:0x5C -fn_1_48F0 = .text:0x0000490C; // type:function size:0x178 -fn_1_4A68 = .text:0x00004A84; // type:function size:0x8C -fn_1_4AF4 = .text:0x00004B10; // type:function size:0x3D0 -fn_1_4EC4 = .text:0x00004EE0; // type:function size:0x50 -fn_1_4F14 = .text:0x00004F30; // type:function size:0x220 -fn_1_5134 = .text:0x00005150; // type:function size:0xA20 -fn_1_5B34 = .text:0x00005B70; // type:function size:0x14 -fn_1_5B48 = .text:0x00005B84; // type:function size:0x40 -fn_1_5B88 = .text:0x00005BC4; // type:function size:0xE4 -fn_1_5C6C = .text:0x00005CA8; // type:function size:0xD0 -fn_1_5D3C = .text:0x00005D78; // type:function size:0x130 -fn_1_5E6C = .text:0x00005EA8; // type:function size:0x50 -fn_1_5EBC = .text:0x00005EF8; // type:function size:0x14C -fn_1_6008 = .text:0x00006044; // type:function size:0x178 -fn_1_6180 = .text:0x000061BC; // type:function size:0x60 -fn_1_61E0 = .text:0x0000621C; // type:function size:0x68 -fn_1_6248 = .text:0x00006284; // type:function size:0xC8 -fn_1_6310 = .text:0x0000634C; // type:function size:0xA8 -fn_1_63B8 = .text:0x000063F4; // type:function size:0x1DC -fn_1_6594 = .text:0x000065D0; // type:function size:0x50 -fn_1_65E4 = .text:0x00006620; // type:function size:0x120 -fn_1_6704 = .text:0x00006740; // type:function size:0x118 -fn_1_681C = .text:0x00006858; // type:function size:0x28 -fn_1_6844 = .text:0x00006880; // type:function size:0x44 -fn_1_6888 = .text:0x000068C4; // type:function size:0x15C -fn_1_69E4 = .text:0x00006A20; // type:function size:0x50 -fn_1_6A34 = .text:0x00006A70; // type:function size:0x38C -fn_1_6DC0 = .text:0x00006DFC; // type:function size:0x410 -fn_1_71D0 = .text:0x0000720C; // type:function size:0xA8 -fn_1_7278 = .text:0x000072B4; // type:function size:0xB0 -fn_1_7328 = .text:0x00007364; // type:function size:0xB4 -fn_1_73DC = .text:0x00007418; // type:function size:0x1B0 -fn_1_758C = .text:0x000075C8; // type:function size:0x20 -fn_1_75AC = .text:0x000075E8; // type:function size:0x4 -fn_1_75B0 = .text:0x000075EC; // type:function size:0xC -fn_1_75BC = .text:0x000075F8; // type:function size:0x38 -fn_1_75F4 = .text:0x00007630; // type:function size:0x118 -fn_1_770C = .text:0x00007748; // type:function size:0x250 -fn_1_795C = .text:0x00007998; // type:function size:0x46C -fn_1_7DC8 = .text:0x00007E04; // type:function size:0x314 -fn_1_80DC = .text:0x00008118; // type:function size:0x7D8 -fn_1_88B4 = .text:0x000088F0; // type:function size:0x55C -fn_1_8E10 = .text:0x00008E4C; // type:function size:0x38 -fn_1_8E48 = .text:0x00008E84; // type:function size:0x2E8 -fn_1_9130 = .text:0x0000916C; // type:function size:0x100 -fn_1_9230 = .text:0x0000926C; // type:function size:0x314 -fn_1_9544 = .text:0x00009580; // type:function size:0x1D8 -fn_1_971C = .text:0x00009758; // type:function size:0x7C -fn_1_9798 = .text:0x000097D4; // type:function size:0x54 -fn_1_97EC = .text:0x00009828; // type:function size:0x7C -fn_1_9868 = .text:0x000098A4; // type:function size:0x7C -fn_1_98E4 = .text:0x00009920; // type:function size:0x78 -fn_1_995C = .text:0x00009998; // type:function size:0x12C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x1 scope:local data:byte -lbl_1_data_0 = .data:0x00000000; // type:object size:0x30 -lbl_1_data_30 = .data:0x00000030; // type:object size:0xC -lbl_1_data_3C = .data:0x0000003C; // type:object size:0xC -lbl_1_data_48 = .data:0x00000048; // type:object size:0x1 data:byte -lbl_1_data_4C = .data:0x0000004C; // type:object size:0x54 data:float -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0xC -lbl_1_data_AC = .data:0x000000AC; // type:object size:0xC -lbl_1_data_B8 = .data:0x000000B8; // type:object size:0xC -lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x24 scope:local data:string -jumptable_1_data_E8 = .data:0x000000E8; // type:object size:0x24 scope:local -lbl_1_data_10C = .data:0x0000010C; // type:object size:0x4 -lbl_1_data_110 = .data:0x00000110; // type:object size:0x60 data:4byte -lbl_1_data_170 = .data:0x00000170; // type:object size:0x60 -lbl_1_data_1D0 = .data:0x000001D0; // type:object size:0x8 -jumptable_1_data_1D8 = .data:0x000001D8; // type:object size:0x28 scope:local -lbl_1_data_200 = .data:0x00000200; // type:object size:0x18 -lbl_1_data_218 = .data:0x00000218; // type:object size:0x8 -lbl_1_data_220 = .data:0x00000220; // type:object size:0xC -lbl_1_data_22C = .data:0x0000022C; // type:object size:0x30 -lbl_1_data_25C = .data:0x0000025C; // type:object size:0x20 -lbl_1_data_27C = .data:0x0000027C; // type:object size:0x30 -lbl_1_data_2AC = .data:0x000002AC; // type:object size:0x10 -lbl_1_data_2BC = .data:0x000002BC; // type:object size:0x20 -jumptable_1_data_2DC = .data:0x000002DC; // type:object size:0x1C scope:local -jumptable_1_data_2F8 = .data:0x000002F8; // type:object size:0x1C scope:local -jumptable_1_data_314 = .data:0x00000314; // type:object size:0x1C scope:local -jumptable_1_data_330 = .data:0x00000330; // type:object size:0x1C scope:local -jumptable_1_data_34C = .data:0x0000034C; // type:object size:0x1C scope:local -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0xC data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0xC data:float -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x1 data:byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x8 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:float -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:float -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x4 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x4 data:4byte -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x10 -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x8 -lbl_1_bss_94 = .bss:0x00000094; // type:object size:0x4 data:4byte -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m427Dll/splits.txt b/config/GMPP01_00/rels/m427Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m427Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m427Dll/symbols.txt b/config/GMPP01_00/rels/m427Dll/symbols.txt deleted file mode 100644 index 2ca9cb3f..00000000 --- a/config/GMPP01_00/rels/m427Dll/symbols.txt +++ /dev/null @@ -1,439 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x1FC -fn_1_29C = .text:0x0000029C; // type:function size:0x64 -fn_1_300 = .text:0x00000300; // type:function size:0x1360 -fn_1_1660 = .text:0x00001660; // type:function size:0x60 -fn_1_16C0 = .text:0x000016C0; // type:function size:0xC4 -fn_1_1784 = .text:0x00001784; // type:function size:0x10 -fn_1_1794 = .text:0x00001794; // type:function size:0xCC -fn_1_1860 = .text:0x00001860; // type:function size:0x20 -fn_1_1880 = .text:0x00001880; // type:function size:0xD0 -fn_1_1950 = .text:0x00001950; // type:function size:0x5E0 -fn_1_1F30 = .text:0x00001F30; // type:function size:0x254 -fn_1_2184 = .text:0x00002184; // type:function size:0x60 -fn_1_21E4 = .text:0x000021E4; // type:function size:0x144 -fn_1_2328 = .text:0x00002328; // type:function size:0x1E4 -fn_1_250C = .text:0x0000250C; // type:function size:0x1E4 -fn_1_26F0 = .text:0x000026F0; // type:function size:0x28 -fn_1_2718 = .text:0x00002718; // type:function size:0x64 -fn_1_277C = .text:0x0000277C; // type:function size:0x390 -fn_1_2B0C = .text:0x00002B0C; // type:function size:0x4 -fn_1_2B10 = .text:0x00002B10; // type:function size:0x4 -fn_1_2B14 = .text:0x00002B14; // type:function size:0x1C0 -fn_1_2CD4 = .text:0x00002CD4; // type:function size:0x1F8 -fn_1_2ECC = .text:0x00002ECC; // type:function size:0x8C -fn_1_2F58 = .text:0x00002F58; // type:function size:0x1F8 -fn_1_3150 = .text:0x00003150; // type:function size:0x188 -fn_1_32D8 = .text:0x000032D8; // type:function size:0x8 -fn_1_32E0 = .text:0x000032E0; // type:function size:0x438 -fn_1_3718 = .text:0x00003718; // type:function size:0x35C -fn_1_3A74 = .text:0x00003A74; // type:function size:0x98 -fn_1_3B0C = .text:0x00003B0C; // type:function size:0x29C -fn_1_3DA8 = .text:0x00003DA8; // type:function size:0x9C -fn_1_3E44 = .text:0x00003E44; // type:function size:0x3C0 -fn_1_4204 = .text:0x00004204; // type:function size:0x2DC -fn_1_44E0 = .text:0x000044E0; // type:function size:0x7C -fn_1_455C = .text:0x0000455C; // type:function size:0x37C -fn_1_48D8 = .text:0x000048D8; // type:function size:0x490 -fn_1_4D68 = .text:0x00004D68; // type:function size:0x324 -fn_1_508C = .text:0x0000508C; // type:function size:0x6C -fn_1_50F8 = .text:0x000050F8; // type:function size:0x480 -fn_1_5578 = .text:0x00005578; // type:function size:0xC00 -fn_1_6178 = .text:0x00006178; // type:function size:0x5D4 -fn_1_674C = .text:0x0000674C; // type:function size:0xB84 -fn_1_72D0 = .text:0x000072D0; // type:function size:0xD8 -fn_1_73A8 = .text:0x000073A8; // type:function size:0x590 -fn_1_7938 = .text:0x00007938; // type:function size:0x2E8 -fn_1_7C20 = .text:0x00007C20; // type:function size:0x22C -fn_1_7E4C = .text:0x00007E4C; // type:function size:0xD8 -fn_1_7F24 = .text:0x00007F24; // type:function size:0x69C -fn_1_85C0 = .text:0x000085C0; // type:function size:0x194 -fn_1_8754 = .text:0x00008754; // type:function size:0x6B4 -fn_1_8E08 = .text:0x00008E08; // type:function size:0x174 -fn_1_8F7C = .text:0x00008F7C; // type:function size:0x250 -fn_1_91CC = .text:0x000091CC; // type:function size:0x60 -fn_1_922C = .text:0x0000922C; // type:function size:0xD8 -fn_1_9304 = .text:0x00009304; // type:function size:0xD4 -fn_1_93D8 = .text:0x000093D8; // type:function size:0xD0 -fn_1_94A8 = .text:0x000094A8; // type:function size:0x12C -fn_1_95D4 = .text:0x000095D4; // type:function size:0x370 -fn_1_9944 = .text:0x00009944; // type:function size:0x44 -fn_1_9988 = .text:0x00009988; // type:function size:0x48 -fn_1_99D0 = .text:0x000099D0; // type:function size:0x48 -fn_1_9A18 = .text:0x00009A18; // type:function size:0x74 -fn_1_9A8C = .text:0x00009A8C; // type:function size:0x74 -fn_1_9B00 = .text:0x00009B00; // type:function size:0x74 -fn_1_9B74 = .text:0x00009B74; // type:function size:0x5C0 -fn_1_A134 = .text:0x0000A134; // type:function size:0xAC -fn_1_A1E0 = .text:0x0000A1E0; // type:function size:0x604 -fn_1_A7E4 = .text:0x0000A7E4; // type:function size:0x680 -fn_1_AE64 = .text:0x0000AE64; // type:function size:0x31C -fn_1_B180 = .text:0x0000B180; // type:function size:0x238 -fn_1_B3B8 = .text:0x0000B3B8; // type:function size:0x960 -fn_1_BD18 = .text:0x0000BD18; // type:function size:0x428 -fn_1_C140 = .text:0x0000C140; // type:function size:0xAC -fn_1_C1EC = .text:0x0000C1EC; // type:function size:0xAC -fn_1_C298 = .text:0x0000C298; // type:function size:0x10 -fn_1_C2A8 = .text:0x0000C2A8; // type:function size:0xC -fn_1_C2B4 = .text:0x0000C2B4; // type:function size:0xD8 -fn_1_C38C = .text:0x0000C38C; // type:function size:0x7C -fn_1_C408 = .text:0x0000C408; // type:function size:0x10C -fn_1_C514 = .text:0x0000C514; // type:function size:0x164 -fn_1_C678 = .text:0x0000C678; // type:function size:0xE0 -fn_1_C758 = .text:0x0000C758; // type:function size:0xAC0 -fn_1_D218 = .text:0x0000D218; // type:function size:0x204 -fn_1_D41C = .text:0x0000D41C; // type:function size:0xCC -fn_1_D4E8 = .text:0x0000D4E8; // type:function size:0x140 -fn_1_D628 = .text:0x0000D628; // type:function size:0x544 -fn_1_DB6C = .text:0x0000DB6C; // type:function size:0x60 -fn_1_DBCC = .text:0x0000DBCC; // type:function size:0x2C -fn_1_DBF8 = .text:0x0000DBF8; // type:function size:0x58 -fn_1_DC50 = .text:0x0000DC50; // type:function size:0x38 -fn_1_DC88 = .text:0x0000DC88; // type:function size:0x38 -fn_1_DCC0 = .text:0x0000DCC0; // type:function size:0x5DC -fn_1_E29C = .text:0x0000E29C; // type:function size:0xCC -fn_1_E368 = .text:0x0000E368; // type:function size:0xA4 -fn_1_E40C = .text:0x0000E40C; // type:function size:0x68 -fn_1_E474 = .text:0x0000E474; // type:function size:0x504 -fn_1_E978 = .text:0x0000E978; // type:function size:0x2C8 -fn_1_EC40 = .text:0x0000EC40; // type:function size:0x20 -fn_1_EC60 = .text:0x0000EC60; // type:function size:0x20 -fn_1_EC80 = .text:0x0000EC80; // type:function size:0x44C -fn_1_F0CC = .text:0x0000F0CC; // type:function size:0x1750 -fn_1_1081C = .text:0x0001081C; // type:function size:0x75C -fn_1_10F78 = .text:0x00010F78; // type:function size:0x5C -fn_1_10FD4 = .text:0x00010FD4; // type:function size:0x100 -fn_1_110D4 = .text:0x000110D4; // type:function size:0xD8 -fn_1_111AC = .text:0x000111AC; // type:function size:0xD8 -fn_1_11284 = .text:0x00011284; // type:function size:0x158 -fn_1_113DC = .text:0x000113DC; // type:function size:0x4C -fn_1_11428 = .text:0x00011428; // type:function size:0x178 -fn_1_115A0 = .text:0x000115A0; // type:function size:0x40C -fn_1_119AC = .text:0x000119AC; // type:function size:0xB4 -fn_1_11A60 = .text:0x00011A60; // type:function size:0x464 -fn_1_11EC4 = .text:0x00011EC4; // type:function size:0x63C -fn_1_12500 = .text:0x00012500; // type:function size:0x4 -fn_1_12504 = .text:0x00012504; // type:function size:0x68 -fn_1_1256C = .text:0x0001256C; // type:function size:0x588 -fn_1_12AF4 = .text:0x00012AF4; // type:function size:0x141C -fn_1_13F10 = .text:0x00013F10; // type:function size:0x94 -fn_1_13FA4 = .text:0x00013FA4; // type:function size:0x4 -fn_1_13FA8 = .text:0x00013FA8; // type:function size:0x14FC -fn_1_154A4 = .text:0x000154A4; // type:function size:0x4 -fn_1_154A8 = .text:0x000154A8; // type:function size:0x124 -fn_1_155CC = .text:0x000155CC; // type:function size:0x134 -fn_1_15700 = .text:0x00015700; // type:function size:0x1C4 -fn_1_158C4 = .text:0x000158C4; // type:function size:0x218 -fn_1_15ADC = .text:0x00015ADC; // type:function size:0x420 -fn_1_15EFC = .text:0x00015EFC; // type:function size:0xC0 -fn_1_15FBC = .text:0x00015FBC; // type:function size:0xAC -fn_1_16068 = .text:0x00016068; // type:function size:0x58 -fn_1_160C0 = .text:0x000160C0; // type:function size:0x18C -fn_1_1624C = .text:0x0001624C; // type:function size:0x334 -fn_1_16580 = .text:0x00016580; // type:function size:0x118 -fn_1_16698 = .text:0x00016698; // type:function size:0x250 -fn_1_168E8 = .text:0x000168E8; // type:function size:0x3F8 -fn_1_16CE0 = .text:0x00016CE0; // type:function size:0x148 -fn_1_16E28 = .text:0x00016E28; // type:function size:0xBC -fn_1_16EE4 = .text:0x00016EE4; // type:function size:0x150 -fn_1_17034 = .text:0x00017034; // type:function size:0x1F0 -fn_1_17224 = .text:0x00017224; // type:function size:0x4 -fn_1_17228 = .text:0x00017228; // type:function size:0xB4 -fn_1_172DC = .text:0x000172DC; // type:function size:0x140 -fn_1_1741C = .text:0x0001741C; // type:function size:0xA4 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0xC scope:local data:2byte -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x3C scope:local data:4byte -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x6 scope:local data:2byte -lbl_1_rodata_136 = .rodata:0x00000136; // type:object size:0xC scope:local data:2byte -lbl_1_rodata_142 = .rodata:0x00000142; // type:object size:0x1A scope:local data:2byte -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x30 scope:local data:4byte -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_38A = .rodata:0x0000038A; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 scope:local data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x8 scope:local data:double -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 scope:local data:double -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x8 scope:local data:double -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 scope:local data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x8 scope:local data:double -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 scope:local data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x8 scope:local data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 data:float -lbl_1_data_70 = .data:0x00000070; // type:object size:0x24 -jumptable_1_data_94 = .data:0x00000094; // type:object size:0x3C scope:local -lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x8 -lbl_1_data_D8 = .data:0x000000D8; // type:object size:0x4 -lbl_1_data_DC = .data:0x000000DC; // type:object size:0x4 -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0xC data:2byte -lbl_1_data_EC = .data:0x000000EC; // type:object size:0x8 -lbl_1_data_F4 = .data:0x000000F4; // type:object size:0x4 data:float -lbl_1_data_F8 = .data:0x000000F8; // type:object size:0x4 data:float -lbl_1_data_FC = .data:0x000000FC; // type:object size:0x30 -lbl_1_data_12C = .data:0x0000012C; // type:object size:0x8 -lbl_1_data_134 = .data:0x00000134; // type:object size:0x10 -lbl_1_data_144 = .data:0x00000144; // type:object size:0x90 data:float -lbl_1_data_1D4 = .data:0x000001D4; // type:object size:0x8 -lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x8 -lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x8 -lbl_1_data_1EC = .data:0x000001EC; // type:object size:0x4 -lbl_1_data_1F0 = .data:0x000001F0; // type:object size:0x13 data:string -lbl_1_data_203 = .data:0x00000203; // type:object size:0x10 data:string -lbl_1_data_213 = .data:0x00000213; // type:object size:0x26 data:string -lbl_1_data_239 = .data:0x00000239; // type:object size:0x27 -lbl_1_data_260 = .data:0x00000260; // type:object size:0x15C -lbl_1_data_3BC = .data:0x000003BC; // type:object size:0x178 -lbl_1_data_534 = .data:0x00000534; // type:object size:0x18 -lbl_1_data_54C = .data:0x0000054C; // type:object size:0x18 data:float -lbl_1_data_564 = .data:0x00000564; // type:object size:0xC data:float -lbl_1_data_570 = .data:0x00000570; // type:object size:0xC data:float -lbl_1_data_57C = .data:0x0000057C; // type:object size:0x4 -lbl_1_data_580 = .data:0x00000580; // type:object size:0x10 -lbl_1_data_590 = .data:0x00000590; // type:object size:0x1C -lbl_1_data_5AC = .data:0x000005AC; // type:object size:0x1C -lbl_1_data_5C8 = .data:0x000005C8; // type:object size:0x8 -lbl_1_data_5D0 = .data:0x000005D0; // type:object size:0x8 -jumptable_1_data_5D8 = .data:0x000005D8; // type:object size:0x20 scope:local -lbl_1_data_5F8 = .data:0x000005F8; // type:object size:0x8 -lbl_1_data_600 = .data:0x00000600; // type:object size:0x8 -lbl_1_data_608 = .data:0x00000608; // type:object size:0x10 -lbl_1_data_618 = .data:0x00000618; // type:object size:0x10 -jumptable_1_data_628 = .data:0x00000628; // type:object size:0x20 scope:local -lbl_1_data_648 = .data:0x00000648; // type:object size:0x4 -lbl_1_data_64C = .data:0x0000064C; // type:object size:0x1 data:byte -lbl_1_data_650 = .data:0x00000650; // type:object size:0x4 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x40 -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x4 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x8 -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x4 data:4byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x4 data:4byte -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x4 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x4 data:4byte -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:4byte -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x1 data:byte -lbl_1_bss_91 = .bss:0x00000091; // type:object size:0x1 data:byte -lbl_1_bss_94 = .bss:0x00000094; // type:object size:0x4 data:float -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x4C data:4byte -lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x4 data:4byte -lbl_1_bss_E8 = .bss:0x000000E8; // type:object size:0x4 -lbl_1_bss_EC = .bss:0x000000EC; // type:object size:0x4 -lbl_1_bss_F0 = .bss:0x000000F0; // type:object size:0x4 data:4byte -lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0x4 data:4byte -lbl_1_bss_F8 = .bss:0x000000F8; // type:object size:0x60 data:2byte -lbl_1_bss_158 = .bss:0x00000158; // type:object size:0x3F0 data:byte -lbl_1_bss_548 = .bss:0x00000548; // type:object size:0x8 data:4byte -lbl_1_bss_550 = .bss:0x00000550; // type:object size:0x4 data:4byte -lbl_1_bss_554 = .bss:0x00000554; // type:object size:0x4 data:4byte -lbl_1_bss_558 = .bss:0x00000558; // type:object size:0x4 data:4byte -lbl_1_bss_55C = .bss:0x0000055C; // type:object size:0x10 -lbl_1_bss_56C = .bss:0x0000056C; // type:object size:0x8 -lbl_1_bss_574 = .bss:0x00000574; // type:object size:0x4 data:4byte -lbl_1_bss_578 = .bss:0x00000578; // type:object size:0x4 data:4byte -lbl_1_bss_57C = .bss:0x0000057C; // type:object size:0x4 data:4byte -lbl_1_bss_580 = .bss:0x00000580; // type:object size:0x4 data:4byte -lbl_1_bss_584 = .bss:0x00000584; // type:object size:0x4 data:4byte -lbl_1_bss_588 = .bss:0x00000588; // type:object size:0x4 data:4byte -lbl_1_bss_58C = .bss:0x0000058C; // type:object size:0x4 data:4byte -lbl_1_bss_590 = .bss:0x00000590; // type:object size:0x4 data:4byte -lbl_1_bss_594 = .bss:0x00000594; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m428Dll/splits.txt b/config/GMPP01_00/rels/m428Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m428Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m428Dll/symbols.txt b/config/GMPP01_00/rels/m428Dll/symbols.txt deleted file mode 100644 index dff9c748..00000000 --- a/config/GMPP01_00/rels/m428Dll/symbols.txt +++ /dev/null @@ -1,410 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x218 -fn_1_2B8 = .text:0x000002B8; // type:function size:0x1C0 -fn_1_478 = .text:0x00000478; // type:function size:0x21A0 -fn_1_2618 = .text:0x00002618; // type:function size:0x50 -fn_1_2668 = .text:0x00002668; // type:function size:0xC4 -fn_1_272C = .text:0x0000272C; // type:function size:0x10 -fn_1_273C = .text:0x0000273C; // type:function size:0x2F8 -fn_1_2A34 = .text:0x00002A34; // type:function size:0x4 -fn_1_2A38 = .text:0x00002A38; // type:function size:0x4 -fn_1_2A3C = .text:0x00002A3C; // type:function size:0x10 -fn_1_2A4C = .text:0x00002A4C; // type:function size:0xCC -fn_1_2B18 = .text:0x00002B18; // type:function size:0x1C4 -fn_1_2CDC = .text:0x00002CDC; // type:function size:0x19C -fn_1_2E78 = .text:0x00002E78; // type:function size:0xD38 -fn_1_3BB0 = .text:0x00003BB0; // type:function size:0x540 -fn_1_40F0 = .text:0x000040F0; // type:function size:0xCC -fn_1_41BC = .text:0x000041BC; // type:function size:0xF4 -fn_1_42B0 = .text:0x000042B0; // type:function size:0xC0 -fn_1_4370 = .text:0x00004370; // type:function size:0xA4 -fn_1_4414 = .text:0x00004414; // type:function size:0x268 -fn_1_467C = .text:0x0000467C; // type:function size:0x20 -fn_1_469C = .text:0x0000469C; // type:function size:0x10C -fn_1_47A8 = .text:0x000047A8; // type:function size:0x420 -fn_1_4BC8 = .text:0x00004BC8; // type:function size:0x2C8 -fn_1_4E90 = .text:0x00004E90; // type:function size:0x34 -fn_1_4EC4 = .text:0x00004EC4; // type:function size:0x8C -fn_1_4F50 = .text:0x00004F50; // type:function size:0x2DC -fn_1_522C = .text:0x0000522C; // type:function size:0xF8 -fn_1_5324 = .text:0x00005324; // type:function size:0x4 -fn_1_5328 = .text:0x00005328; // type:function size:0x94 -fn_1_53BC = .text:0x000053BC; // type:function size:0x1E8 -fn_1_55A4 = .text:0x000055A4; // type:function size:0x12C -fn_1_56D0 = .text:0x000056D0; // type:function size:0x648 -fn_1_5D18 = .text:0x00005D18; // type:function size:0x5B4 -fn_1_62CC = .text:0x000062CC; // type:function size:0xF2C -fn_1_71F8 = .text:0x000071F8; // type:function size:0xE8 -fn_1_72E0 = .text:0x000072E0; // type:function size:0x40 -fn_1_7320 = .text:0x00007320; // type:function size:0xC8 -fn_1_73E8 = .text:0x000073E8; // type:function size:0x94 -fn_1_747C = .text:0x0000747C; // type:function size:0x84 -fn_1_7500 = .text:0x00007500; // type:function size:0x4C -fn_1_754C = .text:0x0000754C; // type:function size:0x54 -fn_1_75A0 = .text:0x000075A0; // type:function size:0x13C -fn_1_76DC = .text:0x000076DC; // type:function size:0x168 -fn_1_7844 = .text:0x00007844; // type:function size:0x120 -fn_1_7964 = .text:0x00007964; // type:function size:0x39C -fn_1_7D00 = .text:0x00007D00; // type:function size:0x2E0 -fn_1_7FE0 = .text:0x00007FE0; // type:function size:0x198 -fn_1_8178 = .text:0x00008178; // type:function size:0xD8 -fn_1_8250 = .text:0x00008250; // type:function size:0xBC -fn_1_830C = .text:0x0000830C; // type:function size:0x33C -fn_1_8648 = .text:0x00008648; // type:function size:0x4B0 -fn_1_8AF8 = .text:0x00008AF8; // type:function size:0x78 -fn_1_8B70 = .text:0x00008B70; // type:function size:0x11C -fn_1_8C8C = .text:0x00008C8C; // type:function size:0x78 -fn_1_8D04 = .text:0x00008D04; // type:function size:0x2D8 -fn_1_8FDC = .text:0x00008FDC; // type:function size:0x2B8 -fn_1_9294 = .text:0x00009294; // type:function size:0x154 -fn_1_93E8 = .text:0x000093E8; // type:function size:0x3E0 -fn_1_97C8 = .text:0x000097C8; // type:function size:0x214 -fn_1_99DC = .text:0x000099DC; // type:function size:0xA0 -fn_1_9A7C = .text:0x00009A7C; // type:function size:0xAC -fn_1_9B28 = .text:0x00009B28; // type:function size:0x30C -fn_1_9E34 = .text:0x00009E34; // type:function size:0xC0 -fn_1_9EF4 = .text:0x00009EF4; // type:function size:0x60 -fn_1_9F54 = .text:0x00009F54; // type:function size:0x54 -fn_1_9FA8 = .text:0x00009FA8; // type:function size:0x154 -fn_1_A0FC = .text:0x0000A0FC; // type:function size:0x58 -fn_1_A154 = .text:0x0000A154; // type:function size:0x3C0 -fn_1_A514 = .text:0x0000A514; // type:function size:0xF0C -fn_1_B420 = .text:0x0000B420; // type:function size:0x68 -fn_1_B488 = .text:0x0000B488; // type:function size:0x794 -fn_1_BC1C = .text:0x0000BC1C; // type:function size:0x2A40 -fn_1_E65C = .text:0x0000E65C; // type:function size:0xC -fn_1_E668 = .text:0x0000E668; // type:function size:0xA78 -fn_1_F0E0 = .text:0x0000F0E0; // type:function size:0x208 -fn_1_F2E8 = .text:0x0000F2E8; // type:function size:0xCC -fn_1_F3B4 = .text:0x0000F3B4; // type:function size:0x68 -fn_1_F41C = .text:0x0000F41C; // type:function size:0x58 -fn_1_F474 = .text:0x0000F474; // type:function size:0x40 -fn_1_F4B4 = .text:0x0000F4B4; // type:function size:0x18 -fn_1_F4CC = .text:0x0000F4CC; // type:function size:0x48 -fn_1_F514 = .text:0x0000F514; // type:function size:0x34 -fn_1_F548 = .text:0x0000F548; // type:function size:0x50 -fn_1_F598 = .text:0x0000F598; // type:function size:0x354 -fn_1_F8EC = .text:0x0000F8EC; // type:function size:0x300 -fn_1_FBEC = .text:0x0000FBEC; // type:function size:0x30C -fn_1_FEF8 = .text:0x0000FEF8; // type:function size:0x410 -fn_1_10308 = .text:0x00010308; // type:function size:0x288 -fn_1_10590 = .text:0x00010590; // type:function size:0x60 -fn_1_105F0 = .text:0x000105F0; // type:function size:0x58 -fn_1_10648 = .text:0x00010648; // type:function size:0xC0 -fn_1_10708 = .text:0x00010708; // type:function size:0xE0 -fn_1_107E8 = .text:0x000107E8; // type:function size:0x300 -fn_1_10AE8 = .text:0x00010AE8; // type:function size:0x58C -fn_1_11074 = .text:0x00011074; // type:function size:0x5E4 -fn_1_11658 = .text:0x00011658; // type:function size:0xCC -fn_1_11724 = .text:0x00011724; // type:function size:0x90 -fn_1_117B4 = .text:0x000117B4; // type:function size:0x44 -fn_1_117F8 = .text:0x000117F8; // type:function size:0x110 -fn_1_11908 = .text:0x00011908; // type:function size:0x88 -fn_1_11990 = .text:0x00011990; // type:function size:0x130 -fn_1_11AC0 = .text:0x00011AC0; // type:function size:0x1C0 -fn_1_11C80 = .text:0x00011C80; // type:function size:0x6C -fn_1_11CEC = .text:0x00011CEC; // type:function size:0x158 -fn_1_11E44 = .text:0x00011E44; // type:function size:0x470 -fn_1_122B4 = .text:0x000122B4; // type:function size:0x118 -fn_1_123CC = .text:0x000123CC; // type:function size:0x250 -fn_1_1261C = .text:0x0001261C; // type:function size:0x3F8 -fn_1_12A14 = .text:0x00012A14; // type:function size:0x78 -fn_1_12A8C = .text:0x00012A8C; // type:function size:0x78 -fn_1_12B04 = .text:0x00012B04; // type:function size:0x230 -fn_1_12D34 = .text:0x00012D34; // type:function size:0x4B0 -fn_1_131E4 = .text:0x000131E4; // type:function size:0x33C -fn_1_13520 = .text:0x00013520; // type:function size:0x8DC -fn_1_13DFC = .text:0x00013DFC; // type:function size:0x78 -fn_1_13E74 = .text:0x00013E74; // type:function size:0xB4 -fn_1_13F28 = .text:0x00013F28; // type:function size:0x8C -fn_1_13FB4 = .text:0x00013FB4; // type:function size:0x134 -fn_1_140E8 = .text:0x000140E8; // type:function size:0x4D8 -fn_1_145C0 = .text:0x000145C0; // type:function size:0x98 -fn_1_14658 = .text:0x00014658; // type:function size:0x98 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 scope:local data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 scope:local data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 scope:local data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 scope:local data:double -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 scope:local data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x8 scope:local data:double -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 scope:local data:double -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 scope:local data:double -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 scope:local data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x54 data:float -lbl_1_data_54 = .data:0x00000054; // type:object size:0xC -lbl_1_data_60 = .data:0x00000060; // type:object size:0xC -lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC -lbl_1_data_78 = .data:0x00000078; // type:object size:0x24 -lbl_1_data_9C = .data:0x0000009C; // type:object size:0xC -lbl_1_data_A8 = .data:0x000000A8; // type:object size:0xC -lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x4 -jumptable_1_data_B8 = .data:0x000000B8; // type:object size:0x30 scope:local -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x48 data:byte -lbl_1_data_130 = .data:0x00000130; // type:object size:0x14 -lbl_1_data_144 = .data:0x00000144; // type:object size:0x8 -lbl_1_data_14C = .data:0x0000014C; // type:object size:0x4 data:4byte -lbl_1_data_150 = .data:0x00000150; // type:object size:0x30 data:float -lbl_1_data_180 = .data:0x00000180; // type:object size:0x30 -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x2A0 -lbl_1_data_450 = .data:0x00000450; // type:object size:0x30 -lbl_1_data_480 = .data:0x00000480; // type:object size:0x30 -lbl_1_data_4B0 = .data:0x000004B0; // type:object size:0x50 data:float -lbl_1_data_500 = .data:0x00000500; // type:object size:0x60 -lbl_1_data_560 = .data:0x00000560; // type:object size:0x80 -lbl_1_data_5E0 = .data:0x000005E0; // type:object size:0x60 -lbl_1_data_640 = .data:0x00000640; // type:object size:0x10 -lbl_1_data_650 = .data:0x00000650; // type:object size:0x1 data:byte -lbl_1_data_654 = .data:0x00000654; // type:object size:0x1 data:byte -lbl_1_data_658 = .data:0x00000658; // type:object size:0x14 -jumptable_1_data_66C = .data:0x0000066C; // type:object size:0x28 scope:local -lbl_1_data_694 = .data:0x00000694; // type:object size:0x8 -lbl_1_data_69C = .data:0x0000069C; // type:object size:0x4 -lbl_1_data_6A0 = .data:0x000006A0; // type:object size:0x2 data:2byte -lbl_1_data_6A4 = .data:0x000006A4; // type:object size:0x30 -lbl_1_data_6D4 = .data:0x000006D4; // type:object size:0x20 -lbl_1_data_6F4 = .data:0x000006F4; // type:object size:0x19 data:string -lbl_1_data_70D = .data:0x0000070D; // type:object size:0x5 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0xC data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x10 data:float -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x10 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x8 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x8 data:2byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x8 data:2byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x8 data:float -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x4 data:4byte -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x4 data:4byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x4 data:4byte -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x4 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x4 data:4byte -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:4byte -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x8 data:4byte -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x8 data:4byte -lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x8 -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x4 data:4byte -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x80 -lbl_1_bss_130 = .bss:0x00000130; // type:object size:0x4 data:4byte -lbl_1_bss_134 = .bss:0x00000134; // type:object size:0x4 data:4byte -lbl_1_bss_138 = .bss:0x00000138; // type:object size:0x4 data:4byte -lbl_1_bss_13C = .bss:0x0000013C; // type:object size:0x4 data:4byte -lbl_1_bss_140 = .bss:0x00000140; // type:object size:0x4 data:4byte -lbl_1_bss_144 = .bss:0x00000144; // type:object size:0x80 -lbl_1_bss_1C4 = .bss:0x000001C4; // type:object size:0x80 -lbl_1_bss_244 = .bss:0x00000244; // type:object size:0x60 -lbl_1_bss_2A4 = .bss:0x000002A4; // type:object size:0x8 data:4byte -lbl_1_bss_2AC = .bss:0x000002AC; // type:object size:0x4 data:4byte -lbl_1_bss_2B0 = .bss:0x000002B0; // type:object size:0x4 data:4byte -lbl_1_bss_2B4 = .bss:0x000002B4; // type:object size:0x4 data:4byte -lbl_1_bss_2B8 = .bss:0x000002B8; // type:object size:0x4 data:4byte -lbl_1_bss_2BC = .bss:0x000002BC; // type:object size:0x4 data:4byte -lbl_1_bss_2C0 = .bss:0x000002C0; // type:object size:0x10 -lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x8 -lbl_1_bss_2D8 = .bss:0x000002D8; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m429Dll/splits.txt b/config/GMPP01_00/rels/m429Dll/splits.txt deleted file mode 100644 index eddadec6..00000000 --- a/config/GMPP01_00/rels/m429Dll/splits.txt +++ /dev/null @@ -1,13 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/m429Dll/main.c: - .text start:0x00000000 end:0x0000EA18 - .rodata start:0x00000000 end:0x00000198 - .data start:0x00000000 end:0x00001510 - .bss start:0x00000000 end:0x00000364 diff --git a/config/GMPP01_00/rels/m429Dll/symbols.txt b/config/GMPP01_00/rels/m429Dll/symbols.txt deleted file mode 100644 index 5ec24090..00000000 --- a/config/GMPP01_00/rels/m429Dll/symbols.txt +++ /dev/null @@ -1,318 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x24 -fn_1_24 = .text:0x00000024; // type:function size:0x88 -fn_1_AC = .text:0x000000AC; // type:function size:0xA4 -fn_1_150 = .text:0x00000150; // type:function size:0x24 -fn_1_174 = .text:0x00000174; // type:function size:0x164 -fn_1_2D8 = .text:0x000002D8; // type:function size:0x13C -fn_1_414 = .text:0x00000414; // type:function size:0x58 -fn_1_46C = .text:0x0000046C; // type:function size:0x114 -fn_1_580 = .text:0x00000580; // type:function size:0x204 -fn_1_798 = .text:0x00000784; // type:function size:0x240 -fn_1_9EC = .text:0x000009C4; // type:function size:0x54 -fn_1_A40 = .text:0x00000A18; // type:function size:0x10C -fn_1_B4C = .text:0x00000B24; // type:function size:0x680 -fn_1_11F4 = .text:0x000011A4; // type:function size:0x15C -fn_1_1350 = .text:0x00001300; // type:function size:0x8C -fn_1_13DC = .text:0x0000138C; // type:function size:0x334 -fn_1_1710 = .text:0x000016C0; // type:function size:0x350 -fn_1_1A60 = .text:0x00001A10; // type:function size:0x2B8 -fn_1_1D18 = .text:0x00001CC8; // type:function size:0x58 -fn_1_1D70 = .text:0x00001D20; // type:function size:0xB0 -fn_1_1E20 = .text:0x00001DD0; // type:function size:0x104 -fn_1_1F24 = .text:0x00001ED4; // type:function size:0x34 -fn_1_1F58 = .text:0x00001F08; // type:function size:0x6C -fn_1_1FC4 = .text:0x00001F74; // type:function size:0x3F0 -fn_1_23B4 = .text:0x00002364; // type:function size:0x260 -fn_1_2614 = .text:0x000025C4; // type:function size:0x70 -fn_1_2684 = .text:0x00002634; // type:function size:0x2CC -fn_1_2950 = .text:0x00002900; // type:function size:0x290 -fn_1_2BE0 = .text:0x00002B90; // type:function size:0x234 -fn_1_2E14 = .text:0x00002DC4; // type:function size:0xD8 -fn_1_2EEC = .text:0x00002E9C; // type:function size:0x2BC -fn_1_31A8 = .text:0x00003158; // type:function size:0x4 -fn_1_31AC = .text:0x0000315C; // type:function size:0xD8 -fn_1_3284 = .text:0x00003234; // type:function size:0x174 -fn_1_33F8 = .text:0x000033A8; // type:function size:0x304 -fn_1_36FC = .text:0x000036AC; // type:function size:0x170 -fn_1_386C = .text:0x0000381C; // type:function size:0x560 -fn_1_3DCC = .text:0x00003D7C; // type:function size:0x254 -_prolog = .text:0x00003FD0; // type:function size:0x54 scope:global -_epilog = .text:0x00004024; // type:function size:0x4C scope:global -fn_1_40C0 = .text:0x00004070; // type:function size:0x164 -fn_1_4224 = .text:0x000041D4; // type:function size:0xBCC -fn_1_4DF0 = .text:0x00004DA0; // type:function size:0x60 -fn_1_4E50 = .text:0x00004E00; // type:function size:0x25C -fn_1_50AC = .text:0x0000505C; // type:function size:0x410 -fn_1_54BC = .text:0x0000546C; // type:function size:0x380 -fn_1_583C = .text:0x000057EC; // type:function size:0x120 -fn_1_595C = .text:0x0000590C; // type:function size:0x380 -fn_1_5CDC = .text:0x00005C8C; // type:function size:0x268 -fn_1_5F44 = .text:0x00005EF4; // type:function size:0x1154 -fn_1_7098 = .text:0x00007048; // type:function size:0x158 -fn_1_71F0 = .text:0x000071A0; // type:function size:0xB48 -fn_1_7D38 = .text:0x00007CE8; // type:function size:0x1230 -fn_1_8F68 = .text:0x00008F18; // type:function size:0xA84 -fn_1_99EC = .text:0x0000999C; // type:function size:0x4 -fn_1_99F0 = .text:0x000099A0; // type:function size:0x1BC -fn_1_9BAC = .text:0x00009B5C; // type:function size:0x340 -fn_1_9EEC = .text:0x00009E9C; // type:function size:0x1BC -fn_1_A0A8 = .text:0x0000A058; // type:function size:0x70 -fn_1_A118 = .text:0x0000A0C8; // type:function size:0x470 -fn_1_A588 = .text:0x0000A538; // type:function size:0x22C -fn_1_A7B4 = .text:0x0000A764; // type:function size:0x5C0 -fn_1_AD74 = .text:0x0000AD24; // type:function size:0x2A8 -fn_1_B01C = .text:0x0000AFCC; // type:function size:0x738 -fn_1_B754 = .text:0x0000B704; // type:function size:0x18C -fn_1_B8E0 = .text:0x0000B890; // type:function size:0x1D00 -fn_1_D5E8 = .text:0x0000D590; // type:function size:0x6B4 -ObjectSetup = .text:0x0000DC44; // type:function size:0xCD0 -fn_1_E96C = .text:0x0000E914; // type:function size:0x104 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 scope:local data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x10 -lbl_1_data_10 = .data:0x00000010; // type:object size:0xD scope:local data:string -lbl_1_data_1D = .data:0x0000001D; // type:object size:0xE scope:local data:string -lbl_1_data_2B = .data:0x0000002B; // type:object size:0xE scope:local data:string -lbl_1_data_39 = .data:0x00000039; // type:object size:0xE scope:local data:string -lbl_1_data_47 = .data:0x00000047; // type:object size:0xD scope:local data:string -lbl_1_data_54 = .data:0x00000054; // type:object size:0xD scope:local data:string -lbl_1_data_61 = .data:0x00000061; // type:object size:0xE scope:local data:string -lbl_1_data_6F = .data:0x0000006F; // type:object size:0xE scope:local data:string -lbl_1_data_7D = .data:0x0000007D; // type:object size:0xE scope:local data:string -lbl_1_data_8B = .data:0x0000008B; // type:object size:0xD scope:local data:string -lbl_1_data_98 = .data:0x00000098; // type:object size:0xE scope:local data:string -lbl_1_data_A6 = .data:0x000000A6; // type:object size:0xE scope:local data:string -lbl_1_data_B4 = .data:0x000000B4; // type:object size:0xE scope:local data:string -lbl_1_data_C2 = .data:0x000000C2; // type:object size:0xD scope:local data:string -lbl_1_data_CF = .data:0x000000CF; // type:object size:0xD scope:local data:string -lbl_1_data_DC = .data:0x000000DC; // type:object size:0xD scope:local data:string -lbl_1_data_E9 = .data:0x000000E9; // type:object size:0xD scope:local data:string -lbl_1_data_F6 = .data:0x000000F6; // type:object size:0xE scope:local data:string -lbl_1_data_104 = .data:0x00000104; // type:object size:0xE scope:local data:string -lbl_1_data_112 = .data:0x00000112; // type:object size:0xE scope:local data:string -lbl_1_data_120 = .data:0x00000120; // type:object size:0xE scope:local data:string -lbl_1_data_12E = .data:0x0000012E; // type:object size:0xE scope:local data:string -lbl_1_data_13C = .data:0x0000013C; // type:object size:0xE scope:local data:string -lbl_1_data_14A = .data:0x0000014A; // type:object size:0xE scope:local data:string -lbl_1_data_158 = .data:0x00000158; // type:object size:0xE scope:local data:string -lbl_1_data_166 = .data:0x00000166; // type:object size:0xE scope:local data:string -lbl_1_data_174 = .data:0x00000174; // type:object size:0xE scope:local data:string -lbl_1_data_182 = .data:0x00000182; // type:object size:0xE scope:local data:string -lbl_1_data_190 = .data:0x00000190; // type:object size:0xE scope:local data:string -lbl_1_data_19E = .data:0x0000019E; // type:object size:0xE scope:local data:string -lbl_1_data_1AC = .data:0x000001AC; // type:object size:0xE scope:local data:string -lbl_1_data_1BA = .data:0x000001BA; // type:object size:0xE scope:local data:string -lbl_1_data_1C8 = .data:0x000001C8; // type:object size:0xE scope:local data:string -lbl_1_data_1D6 = .data:0x000001D6; // type:object size:0xE scope:local data:string -lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0xE scope:local data:string -lbl_1_data_1F2 = .data:0x000001F2; // type:object size:0xE scope:local data:string -lbl_1_data_200 = .data:0x00000200; // type:object size:0xE scope:local data:string -lbl_1_data_20E = .data:0x0000020E; // type:object size:0xE scope:local data:string -lbl_1_data_21C = .data:0x0000021C; // type:object size:0xE scope:local data:string -lbl_1_data_22C = .data:0x0000022C; // type:object size:0x57C -lbl_1_data_7A8 = .data:0x000007A8; // type:object size:0xD scope:local data:string -lbl_1_data_7B5 = .data:0x000007B5; // type:object size:0xD scope:local data:string -lbl_1_data_7C2 = .data:0x000007C2; // type:object size:0xD scope:local data:string -lbl_1_data_7CF = .data:0x000007CF; // type:object size:0xE scope:local data:string -lbl_1_data_7DD = .data:0x000007DD; // type:object size:0xE scope:local data:string -lbl_1_data_7EB = .data:0x000007EB; // type:object size:0xE scope:local data:string -lbl_1_data_7F9 = .data:0x000007F9; // type:object size:0xE scope:local data:string -lbl_1_data_807 = .data:0x00000807; // type:object size:0xD scope:local data:string -lbl_1_data_814 = .data:0x00000814; // type:object size:0xD scope:local data:string -lbl_1_data_821 = .data:0x00000821; // type:object size:0xD scope:local data:string -lbl_1_data_82E = .data:0x0000082E; // type:object size:0xE scope:local data:string -lbl_1_data_83C = .data:0x0000083C; // type:object size:0xE scope:local data:string -lbl_1_data_84A = .data:0x0000084A; // type:object size:0xD scope:local data:string -lbl_1_data_857 = .data:0x00000857; // type:object size:0xD scope:local data:string -lbl_1_data_864 = .data:0x00000864; // type:object size:0xD scope:local data:string -lbl_1_data_871 = .data:0x00000871; // type:object size:0xE scope:local data:string -lbl_1_data_87F = .data:0x0000087F; // type:object size:0xE scope:local data:string -lbl_1_data_88D = .data:0x0000088D; // type:object size:0xE scope:local data:string -lbl_1_data_89B = .data:0x0000089B; // type:object size:0xE scope:local data:string -lbl_1_data_8A9 = .data:0x000008A9; // type:object size:0xE scope:local data:string -lbl_1_data_8B7 = .data:0x000008B7; // type:object size:0xE scope:local data:string -lbl_1_data_8C5 = .data:0x000008C5; // type:object size:0xE scope:local data:string -lbl_1_data_8D3 = .data:0x000008D3; // type:object size:0xE scope:local data:string -lbl_1_data_8E1 = .data:0x000008E1; // type:object size:0xE scope:local data:string -lbl_1_data_8EF = .data:0x000008EF; // type:object size:0xE scope:local data:string -lbl_1_data_8FD = .data:0x000008FD; // type:object size:0xE scope:local data:string -lbl_1_data_90B = .data:0x0000090B; // type:object size:0xE scope:local data:string -lbl_1_data_919 = .data:0x00000919; // type:object size:0xE scope:local data:string -lbl_1_data_927 = .data:0x00000927; // type:object size:0xE scope:local data:string -lbl_1_data_935 = .data:0x00000935; // type:object size:0xE scope:local data:string -lbl_1_data_943 = .data:0x00000943; // type:object size:0xE scope:local data:string -lbl_1_data_951 = .data:0x00000951; // type:object size:0xE scope:local data:string -lbl_1_data_95F = .data:0x0000095F; // type:object size:0xE scope:local data:string -lbl_1_data_96D = .data:0x0000096D; // type:object size:0xE scope:local data:string -lbl_1_data_97B = .data:0x0000097B; // type:object size:0xE scope:local data:string -lbl_1_data_989 = .data:0x00000989; // type:object size:0xE scope:local data:string -lbl_1_data_997 = .data:0x00000997; // type:object size:0xE scope:local data:string -lbl_1_data_9A5 = .data:0x000009A5; // type:object size:0xE scope:local data:string -lbl_1_data_9B3 = .data:0x000009B3; // type:object size:0xE scope:local data:string -lbl_1_data_9C1 = .data:0x000009C1; // type:object size:0xE scope:local data:string -lbl_1_data_9CF = .data:0x000009CF; // type:object size:0xE scope:local data:string -lbl_1_data_9DD = .data:0x000009DD; // type:object size:0xF scope:local -lbl_1_data_9EC = .data:0x000009EC; // type:object size:0x5E8 -lbl_1_data_FD4 = .data:0x00000FD4; // type:object size:0xC -lbl_1_data_FE0 = .data:0x00000FE0; // type:object size:0xC -lbl_1_data_FEC = .data:0x00000FEC; // type:object size:0x10 -lbl_1_data_FFC = .data:0x00000FFC; // type:object size:0x40 -lbl_1_data_103C = .data:0x0000103C; // type:object size:0x40 data:float -lbl_1_data_107C = .data:0x0000107C; // type:object size:0x40 -lbl_1_data_10BC = .data:0x000010BC; // type:object size:0x40 -lbl_1_data_10FC = .data:0x000010FC; // type:object size:0x20 -lbl_1_data_111C = .data:0x0000111C; // type:object size:0xC -lbl_1_data_1128 = .data:0x00001128; // type:object size:0xC -lbl_1_data_1134 = .data:0x00001134; // type:object size:0x4 -lbl_1_data_1138 = .data:0x00001138; // type:object size:0xC -lbl_1_data_1144 = .data:0x00001144; // type:object size:0xC -lbl_1_data_1150 = .data:0x00001150; // type:object size:0x140 -lbl_1_data_1290 = .data:0x00001290; // type:object size:0x20 -lbl_1_data_12B0 = .data:0x000012B0; // type:object size:0x20 -lbl_1_data_12D0 = .data:0x000012D0; // type:object size:0x10 -lbl_1_data_12E0 = .data:0x000012E0; // type:object size:0x30 -lbl_1_data_1310 = .data:0x00001310; // type:object size:0x10 -lbl_1_data_1320 = .data:0x00001320; // type:object size:0x10 -lbl_1_data_1330 = .data:0x00001330; // type:object size:0x10 -lbl_1_data_1340 = .data:0x00001340; // type:object size:0x48 -lbl_1_data_1388 = .data:0x00001388; // type:object size:0x20 -lbl_1_data_13A8 = .data:0x000013A8; // type:object size:0x10 -lbl_1_data_13B8 = .data:0x000013B8; // type:object size:0x10 -lbl_1_data_13C8 = .data:0x000013C8; // type:object size:0x10 -lbl_1_data_13D8 = .data:0x000013D8; // type:object size:0x10 -lbl_1_data_13E8 = .data:0x000013E8; // type:object size:0x50 -lbl_1_data_1438 = .data:0x00001438; // type:object size:0x21 scope:local data:string -lbl_1_data_1459 = .data:0x00001459; // type:object size:0x1F scope:local -jumptable_1_data_1478 = .data:0x00001478; // type:object size:0x24 scope:local -lbl_1_data_149C = .data:0x0000149C; // type:object size:0x1B scope:local data:string -jumptable_1_data_14B8 = .data:0x000014B8; // type:object size:0x34 scope:local -lbl_1_data_14EC = .data:0x000014EC; // type:object size:0x24 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x2 data:2byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0xA data:2byte -lbl_1_bss_1A = .bss:0x0000001A; // type:object size:0x2 data:2byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x8 -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x30 -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x30 -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x30 -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x30 -lbl_1_bss_F8 = .bss:0x000000F8; // type:object size:0x18 data:float -lbl_1_bss_110 = .bss:0x00000110; // type:object size:0x4 data:float -lbl_1_bss_114 = .bss:0x00000114; // type:object size:0x4 data:float -lbl_1_bss_118 = .bss:0x00000118; // type:object size:0x4 data:float -lbl_1_bss_11C = .bss:0x0000011C; // type:object size:0x4 data:float -lbl_1_bss_120 = .bss:0x00000120; // type:object size:0x4 data:float -lbl_1_bss_124 = .bss:0x00000124; // type:object size:0x4 data:float -lbl_1_bss_128 = .bss:0x00000128; // type:object size:0x4 data:float -lbl_1_bss_12C = .bss:0x0000012C; // type:object size:0x4 data:float -lbl_1_bss_130 = .bss:0x00000130; // type:object size:0x60 -lbl_1_bss_190 = .bss:0x00000190; // type:object size:0x4 data:4byte -lbl_1_bss_194 = .bss:0x00000194; // type:object size:0x4 data:4byte -lbl_1_bss_198 = .bss:0x00000198; // type:object size:0x4 data:4byte -lbl_1_bss_19C = .bss:0x0000019C; // type:object size:0x4 data:4byte -lbl_1_bss_1A0 = .bss:0x000001A0; // type:object size:0x4 data:4byte -lbl_1_bss_1A4 = .bss:0x000001A4; // type:object size:0x4 data:4byte -lbl_1_bss_1A8 = .bss:0x000001A8; // type:object size:0x4 data:4byte -lbl_1_bss_1AC = .bss:0x000001AC; // type:object size:0x4 data:4byte -lbl_1_bss_1B0 = .bss:0x000001B0; // type:object size:0x100 -lbl_1_bss_2B0 = .bss:0x000002B0; // type:object size:0x40 data:4byte -lbl_1_bss_2F0 = .bss:0x000002F0; // type:object size:0x4 data:float -lbl_1_bss_2F4 = .bss:0x000002F4; // type:object size:0x4 data:4byte -lbl_1_bss_2F8 = .bss:0x000002F8; // type:object size:0x4 data:4byte -lbl_1_bss_2FC = .bss:0x000002FC; // type:object size:0x2 data:2byte -lbl_1_bss_2FE = .bss:0x000002FE; // type:object size:0x2 data:2byte -lbl_1_bss_300 = .bss:0x00000300; // type:object size:0x4 data:4byte -lbl_1_bss_304 = .bss:0x00000304; // type:object size:0x4 data:4byte -lbl_1_bss_308 = .bss:0x00000308; // type:object size:0x4 data:4byte -lbl_1_bss_30C = .bss:0x0000030C; // type:object size:0xC data:float -lbl_1_bss_318 = .bss:0x00000318; // type:object size:0xC data:4byte -lbl_1_bss_324 = .bss:0x00000324; // type:object size:0xC data:float -lbl_1_bss_330 = .bss:0x00000330; // type:object size:0xC data:4byte -lbl_1_bss_33C = .bss:0x0000033C; // type:object size:0x4 data:4byte -lbl_1_bss_340 = .bss:0x00000340; // type:object size:0x18 data:4byte -lbl_1_bss_358 = .bss:0x00000358; // type:object size:0xC data:4byte diff --git a/config/GMPP01_00/rels/m430Dll/splits.txt b/config/GMPP01_00/rels/m430Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m430Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m430Dll/symbols.txt b/config/GMPP01_00/rels/m430Dll/symbols.txt deleted file mode 100644 index e3b8f841..00000000 --- a/config/GMPP01_00/rels/m430Dll/symbols.txt +++ /dev/null @@ -1,490 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x630 -fn_1_6D0 = .text:0x000006D0; // type:function size:0xC4 -fn_1_794 = .text:0x00000794; // type:function size:0x334 -fn_1_AC8 = .text:0x00000AC8; // type:function size:0x144 -fn_1_C0C = .text:0x00000C0C; // type:function size:0x564 -fn_1_1170 = .text:0x00001170; // type:function size:0x590 -fn_1_1700 = .text:0x00001700; // type:function size:0x478 -fn_1_1B78 = .text:0x00001B78; // type:function size:0x6E0 -fn_1_2258 = .text:0x00002258; // type:function size:0x52C -fn_1_2784 = .text:0x00002784; // type:function size:0x638 -fn_1_2DBC = .text:0x00002DBC; // type:function size:0x138 -fn_1_2EF4 = .text:0x00002EF4; // type:function size:0x81C -fn_1_3710 = .text:0x00003710; // type:function size:0xCC -fn_1_37DC = .text:0x000037DC; // type:function size:0x8C8 -fn_1_40A4 = .text:0x000040A4; // type:function size:0x10 -fn_1_40B4 = .text:0x000040B4; // type:function size:0x18 -fn_1_40CC = .text:0x000040CC; // type:function size:0x18 -fn_1_40E4 = .text:0x000040E4; // type:function size:0x18 -fn_1_40FC = .text:0x000040FC; // type:function size:0x18 -fn_1_4114 = .text:0x00004114; // type:function size:0x18 -fn_1_412C = .text:0x0000412C; // type:function size:0x18 -fn_1_4144 = .text:0x00004144; // type:function size:0x30 -fn_1_4174 = .text:0x00004174; // type:function size:0x30 -fn_1_41A4 = .text:0x000041A4; // type:function size:0xC0 -fn_1_4264 = .text:0x00004264; // type:function size:0x348 -fn_1_45AC = .text:0x000045AC; // type:function size:0x378 -fn_1_4924 = .text:0x00004924; // type:function size:0x11C -fn_1_4A40 = .text:0x00004A40; // type:function size:0xB4 -fn_1_4AF4 = .text:0x00004AF4; // type:function size:0x1C8 -fn_1_4CBC = .text:0x00004CBC; // type:function size:0x6C -fn_1_4D28 = .text:0x00004D28; // type:function size:0x1144 -fn_1_5E6C = .text:0x00005E6C; // type:function size:0x388 -fn_1_61F4 = .text:0x000061F4; // type:function size:0x3C0 -fn_1_65B4 = .text:0x000065B4; // type:function size:0x214 -fn_1_67C8 = .text:0x000067C8; // type:function size:0x674 -fn_1_6E3C = .text:0x00006E3C; // type:function size:0x2E4 -fn_1_7120 = .text:0x00007120; // type:function size:0x280 -fn_1_73A0 = .text:0x000073A0; // type:function size:0x3AC -fn_1_774C = .text:0x0000774C; // type:function size:0x170 -fn_1_78BC = .text:0x000078BC; // type:function size:0x464 -fn_1_7D20 = .text:0x00007D20; // type:function size:0x200 -fn_1_7F20 = .text:0x00007F20; // type:function size:0x110 -fn_1_8030 = .text:0x00008030; // type:function size:0x40 -fn_1_8070 = .text:0x00008070; // type:function size:0x40 -fn_1_80B0 = .text:0x000080B0; // type:function size:0x228 -fn_1_82D8 = .text:0x000082D8; // type:function size:0x90 -fn_1_8368 = .text:0x00008368; // type:function size:0x3C0 -fn_1_8728 = .text:0x00008728; // type:function size:0x4A8 -fn_1_8BD0 = .text:0x00008BD0; // type:function size:0x184 -fn_1_8D54 = .text:0x00008D54; // type:function size:0x95C -fn_1_96B0 = .text:0x000096B0; // type:function size:0x654 -fn_1_9D04 = .text:0x00009D04; // type:function size:0x718 -fn_1_A41C = .text:0x0000A41C; // type:function size:0x7F0 -fn_1_AC0C = .text:0x0000AC0C; // type:function size:0xEC -fn_1_ACF8 = .text:0x0000ACF8; // type:function size:0x80 -fn_1_AD78 = .text:0x0000AD78; // type:function size:0x1DC -fn_1_AF54 = .text:0x0000AF54; // type:function size:0x4B4 -fn_1_B408 = .text:0x0000B408; // type:function size:0x1DC -fn_1_B5E4 = .text:0x0000B5E4; // type:function size:0x5E4 -fn_1_BBC8 = .text:0x0000BBC8; // type:function size:0x34 -fn_1_BBFC = .text:0x0000BBFC; // type:function size:0x10 -fn_1_BC0C = .text:0x0000BC0C; // type:function size:0x2C -fn_1_BC38 = .text:0x0000BC38; // type:function size:0x260 -fn_1_BE98 = .text:0x0000BE98; // type:function size:0x1E8 -fn_1_C080 = .text:0x0000C080; // type:function size:0x34 -fn_1_C0B4 = .text:0x0000C0B4; // type:function size:0x1A4 -fn_1_C258 = .text:0x0000C258; // type:function size:0x858 -fn_1_CAB0 = .text:0x0000CAB0; // type:function size:0x894 -fn_1_D344 = .text:0x0000D344; // type:function size:0x558 -fn_1_D89C = .text:0x0000D89C; // type:function size:0x10D4 -fn_1_E970 = .text:0x0000E970; // type:function size:0x7DC -fn_1_F14C = .text:0x0000F14C; // type:function size:0x554 -fn_1_F6A0 = .text:0x0000F6A0; // type:function size:0x74 -fn_1_F714 = .text:0x0000F714; // type:function size:0x5FC -fn_1_FD10 = .text:0x0000FD10; // type:function size:0x404 -fn_1_10114 = .text:0x00010114; // type:function size:0x29C -fn_1_103B0 = .text:0x000103B0; // type:function size:0x200 -fn_1_105B0 = .text:0x000105B0; // type:function size:0x4 -fn_1_105B4 = .text:0x000105B4; // type:function size:0x4C -fn_1_10600 = .text:0x00010600; // type:function size:0x2C -fn_1_1062C = .text:0x0001062C; // type:function size:0x64 -fn_1_10690 = .text:0x00010690; // type:function size:0x32C -fn_1_109BC = .text:0x000109BC; // type:function size:0x240 -fn_1_10BFC = .text:0x00010BFC; // type:function size:0x194 -fn_1_10D90 = .text:0x00010D90; // type:function size:0x204 -fn_1_10F94 = .text:0x00010F94; // type:function size:0x4 -fn_1_10F98 = .text:0x00010F98; // type:function size:0x184 -fn_1_1111C = .text:0x0001111C; // type:function size:0x114 -fn_1_11230 = .text:0x00011230; // type:function size:0x158 -fn_1_11388 = .text:0x00011388; // type:function size:0x98 -fn_1_11420 = .text:0x00011420; // type:function size:0x144 -fn_1_11564 = .text:0x00011564; // type:function size:0x154 -fn_1_116B8 = .text:0x000116B8; // type:function size:0x4 -fn_1_116BC = .text:0x000116BC; // type:function size:0x15C -fn_1_11818 = .text:0x00011818; // type:function size:0x278 -fn_1_11A90 = .text:0x00011A90; // type:function size:0x148 -fn_1_11BD8 = .text:0x00011BD8; // type:function size:0x30 -fn_1_11C08 = .text:0x00011C08; // type:function size:0x88 -fn_1_11C90 = .text:0x00011C90; // type:function size:0x154 -fn_1_11DE4 = .text:0x00011DE4; // type:function size:0x1F0 -fn_1_11FD4 = .text:0x00011FD4; // type:function size:0x30 -fn_1_12004 = .text:0x00012004; // type:function size:0x5C0 -fn_1_125C4 = .text:0x000125C4; // type:function size:0x74 -fn_1_12638 = .text:0x00012638; // type:function size:0x408 -fn_1_12A40 = .text:0x00012A40; // type:function size:0x3A8 -fn_1_12DE8 = .text:0x00012DE8; // type:function size:0x7C -fn_1_12E64 = .text:0x00012E64; // type:function size:0xB8 -fn_1_12F1C = .text:0x00012F1C; // type:function size:0x78 -fn_1_12F94 = .text:0x00012F94; // type:function size:0x11C -fn_1_130B0 = .text:0x000130B0; // type:function size:0x118 -fn_1_131C8 = .text:0x000131C8; // type:function size:0x250 -fn_1_13418 = .text:0x00013418; // type:function size:0x38 -fn_1_13450 = .text:0x00013450; // type:function size:0xB4 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:4byte -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x10 data:4byte -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x10 data:4byte -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x10 data:4byte -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x10 data:4byte -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:4byte -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x18 data:4byte -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:4byte -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0xC data:4byte -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0xC data:4byte -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0xC data:4byte -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0xC data:4byte -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x18 data:4byte -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x30 data:4byte -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x18 data:4byte -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x8 data:4byte -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x8 data:4byte -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x20 data:4byte -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x14 data:4byte -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x10 data:4byte -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x10 data:4byte -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x1 data:byte -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x1 data:byte -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x1 data:byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x1 data:byte -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x1 data:byte -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x8 data:double -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x1 data:byte -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x1 data:byte -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x1 data:byte -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x1 data:byte -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 data:double -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 data:4byte -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:4byte -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 data:double -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x8 data:double -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 data:float -lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 data:float -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 data:float -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x8 data:double -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x8 data:double -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 data:float -lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 data:float -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x8 data:double -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x4 data:float -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x8 data:double -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 data:float -lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 data:float -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 data:float -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 data:float -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 data:float -lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 data:float -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 data:float -lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 data:float -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 data:float -lbl_1_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x4 data:float -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 data:float -lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 data:float -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 data:float -lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x8 data:double -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 data:float -lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 data:float -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float -lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 data:float -lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 data:float -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 data:double -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 data:float -lbl_1_rodata_5F4 = .rodata:0x000005F4; // type:object size:0x4 data:float -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 data:double -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 data:double -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x8 data:double -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x4 data:float -lbl_1_rodata_614 = .rodata:0x00000614; // type:object size:0x4 data:float -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 data:float -lbl_1_rodata_61C = .rodata:0x0000061C; // type:object size:0x4 data:float -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x4 data:float -lbl_1_rodata_624 = .rodata:0x00000624; // type:object size:0x4 data:float -lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x8 data:double -lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x8 data:double -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x8 data:double -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 data:float -lbl_1_rodata_644 = .rodata:0x00000644; // type:object size:0x4 data:float -lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x4 data:float -lbl_1_rodata_64C = .rodata:0x0000064C; // type:object size:0x4 data:float -lbl_1_rodata_650 = .rodata:0x00000650; // type:object size:0x4 data:float -lbl_1_rodata_658 = .rodata:0x00000658; // type:object size:0x8 data:double -lbl_1_rodata_660 = .rodata:0x00000660; // type:object size:0x8 data:double -lbl_1_rodata_668 = .rodata:0x00000668; // type:object size:0x4 data:float -lbl_1_rodata_670 = .rodata:0x00000670; // type:object size:0x8 data:double -lbl_1_rodata_678 = .rodata:0x00000678; // type:object size:0x4 data:float -lbl_1_rodata_680 = .rodata:0x00000680; // type:object size:0x8 data:double -lbl_1_rodata_688 = .rodata:0x00000688; // type:object size:0x8 data:double -lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x8 data:double -lbl_1_rodata_698 = .rodata:0x00000698; // type:object size:0x4 data:float -lbl_1_rodata_69C = .rodata:0x0000069C; // type:object size:0x4 data:float -lbl_1_rodata_6A0 = .rodata:0x000006A0; // type:object size:0x8 data:double -lbl_1_rodata_6A8 = .rodata:0x000006A8; // type:object size:0x4 data:float -lbl_1_rodata_6AC = .rodata:0x000006AC; // type:object size:0x4 data:float -lbl_1_rodata_6B0 = .rodata:0x000006B0; // type:object size:0x8 data:double -lbl_1_rodata_6B8 = .rodata:0x000006B8; // type:object size:0x8 data:double -lbl_1_rodata_6C0 = .rodata:0x000006C0; // type:object size:0x8 data:double -lbl_1_rodata_6C8 = .rodata:0x000006C8; // type:object size:0x4 data:float -lbl_1_rodata_6CC = .rodata:0x000006CC; // type:object size:0x4 data:float -lbl_1_rodata_6D0 = .rodata:0x000006D0; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0xC -lbl_1_data_C = .data:0x0000000C; // type:object size:0xC -lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float -lbl_1_data_24 = .data:0x00000024; // type:object size:0x4 -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC data:float -lbl_1_data_34 = .data:0x00000034; // type:object size:0xC data:float -lbl_1_data_40 = .data:0x00000040; // type:object size:0x10 data:float -lbl_1_data_50 = .data:0x00000050; // type:object size:0x7 data:string -lbl_1_data_57 = .data:0x00000057; // type:object size:0x9 -lbl_1_data_60 = .data:0x00000060; // type:object size:0x48 -lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x18 -lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x60 -lbl_1_data_120 = .data:0x00000120; // type:object size:0x48 -lbl_1_data_168 = .data:0x00000168; // type:object size:0x8 -lbl_1_data_170 = .data:0x00000170; // type:object size:0x38 -lbl_1_data_1A8 = .data:0x000001A8; // type:object size:0x20 -lbl_1_data_1C8 = .data:0x000001C8; // type:object size:0x14 -lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x1C -lbl_1_data_1F8 = .data:0x000001F8; // type:object size:0x60 -lbl_1_data_258 = .data:0x00000258; // type:object size:0x20 -lbl_1_data_278 = .data:0x00000278; // type:object size:0x8 -lbl_1_data_280 = .data:0x00000280; // type:object size:0x8 -lbl_1_data_288 = .data:0x00000288; // type:object size:0x8 -lbl_1_data_290 = .data:0x00000290; // type:object size:0x14 -lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0x8 -lbl_1_data_2AC = .data:0x000002AC; // type:object size:0x54 -lbl_1_data_300 = .data:0x00000300; // type:object size:0x8 data:4byte -lbl_1_data_308 = .data:0x00000308; // type:object size:0x4 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte -lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x2 data:2byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x2 data:2byte -lbl_1_bss_22 = .bss:0x00000022; // type:object size:0x2 data:2byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x2 data:2byte -lbl_1_bss_26 = .bss:0x00000026; // type:object size:0x6 data:2byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x2 data:2byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x8 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:float -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:float -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0xE0 data:4byte -lbl_1_bss_140 = .bss:0x00000140; // type:object size:0x4 data:4byte -lbl_1_bss_144 = .bss:0x00000144; // type:object size:0x4 data:4byte -lbl_1_bss_148 = .bss:0x00000148; // type:object size:0x4 data:4byte -lbl_1_bss_14C = .bss:0x0000014C; // type:object size:0x4 data:4byte -lbl_1_bss_150 = .bss:0x00000150; // type:object size:0x8 data:4byte -lbl_1_bss_158 = .bss:0x00000158; // type:object size:0x4 data:4byte -lbl_1_bss_15C = .bss:0x0000015C; // type:object size:0x4 data:4byte -lbl_1_bss_160 = .bss:0x00000160; // type:object size:0x4 data:4byte -lbl_1_bss_164 = .bss:0x00000164; // type:object size:0x4 data:4byte -lbl_1_bss_168 = .bss:0x00000168; // type:object size:0x4 data:4byte -lbl_1_bss_16C = .bss:0x0000016C; // type:object size:0x4 data:4byte -lbl_1_bss_170 = .bss:0x00000170; // type:object size:0x4 data:4byte -lbl_1_bss_174 = .bss:0x00000174; // type:object size:0x4 data:4byte -lbl_1_bss_178 = .bss:0x00000178; // type:object size:0x4 data:4byte -lbl_1_bss_17C = .bss:0x0000017C; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m431Dll/splits.txt b/config/GMPP01_00/rels/m431Dll/splits.txt deleted file mode 100644 index ad48912a..00000000 --- a/config/GMPP01_00/rels/m431Dll/splits.txt +++ /dev/null @@ -1,22 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/m431Dll/main.c: - .text start:0x000000A0 end:0x00007AB8 - .rodata start:0x00000000 end:0x00000180 - .data start:0x00000000 end:0x000001D0 - .bss start:0x00000000 end:0x00000098 - -REL/m431Dll/object.c: - .text start:0x00007AB8 end:0x0000B57C - .rodata start:0x00000180 end:0x0000022C - .data start:0x000001D0 end:0x0000026C - .bss start:0x00000098 end:0x0000067C diff --git a/config/GMPP01_00/rels/m431Dll/symbols.txt b/config/GMPP01_00/rels/m431Dll/symbols.txt deleted file mode 100644 index a67c25d3..00000000 --- a/config/GMPP01_00/rels/m431Dll/symbols.txt +++ /dev/null @@ -1,253 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x384 -fn_1_424 = .text:0x00000424; // type:function size:0x78 -fn_1_49C = .text:0x0000049C; // type:function size:0xE0 -fn_1_57C = .text:0x0000057C; // type:function size:0x234 -fn_1_7B0 = .text:0x000007B0; // type:function size:0x294 -fn_1_A44 = .text:0x00000A44; // type:function size:0x660 -fn_1_10A4 = .text:0x000010A4; // type:function size:0x364 -fn_1_140C = .text:0x00001408; // type:function size:0x228 -fn_1_1634 = .text:0x00001630; // type:function size:0x40C -fn_1_1A40 = .text:0x00001A3C; // type:function size:0x5C0 -fn_1_2000 = .text:0x00001FFC; // type:function size:0x50 -fn_1_2050 = .text:0x0000204C; // type:function size:0x40 -fn_1_2090 = .text:0x0000208C; // type:function size:0x40 -fn_1_20D0 = .text:0x000020CC; // type:function size:0x40 -fn_1_2110 = .text:0x0000210C; // type:function size:0x9A0 -fn_1_2AB0 = .text:0x00002AAC; // type:function size:0x10 -fn_1_2AC0 = .text:0x00002ABC; // type:function size:0x1D4 -fn_1_2C94 = .text:0x00002C90; // type:function size:0x44C -fn_1_30E0 = .text:0x000030DC; // type:function size:0x460 -fn_1_3540 = .text:0x0000353C; // type:function size:0x83C -fn_1_3D7C = .text:0x00003D78; // type:function size:0x254 -fn_1_3FD0 = .text:0x00003FCC; // type:function size:0x58 -fn_1_4028 = .text:0x00004024; // type:function size:0x6FC -fn_1_4724 = .text:0x00004720; // type:function size:0x14 -fn_1_4738 = .text:0x00004734; // type:function size:0x60 -fn_1_4798 = .text:0x00004794; // type:function size:0x138 -fn_1_48D0 = .text:0x000048CC; // type:function size:0xBC -fn_1_498C = .text:0x00004988; // type:function size:0x188 -fn_1_4B14 = .text:0x00004B10; // type:function size:0x1C8 -fn_1_4CDC = .text:0x00004CD8; // type:function size:0x70 -fn_1_4D4C = .text:0x00004D48; // type:function size:0xE4 -fn_1_4E30 = .text:0x00004E2C; // type:function size:0x4A8 -fn_1_52D8 = .text:0x000052D4; // type:function size:0x1A8 -fn_1_5480 = .text:0x0000547C; // type:function size:0xA4 -fn_1_5524 = .text:0x00005520; // type:function size:0x148 -fn_1_566C = .text:0x00005668; // type:function size:0x9C -fn_1_5708 = .text:0x00005704; // type:function size:0x468 -fn_1_5B70 = .text:0x00005B6C; // type:function size:0x4C0 -fn_1_6030 = .text:0x0000602C; // type:function size:0x154 -fn_1_6184 = .text:0x00006180; // type:function size:0x380 -fn_1_6504 = .text:0x00006500; // type:function size:0xC8 -fn_1_65CC = .text:0x000065C8; // type:function size:0x10 -fn_1_65DC = .text:0x000065D8; // type:function size:0x5C -fn_1_6638 = .text:0x00006634; // type:function size:0xA4 -fn_1_66DC = .text:0x000066D8; // type:function size:0xE4 -fn_1_67C0 = .text:0x000067BC; // type:function size:0x374 -fn_1_6B34 = .text:0x00006B30; // type:function size:0x140 -fn_1_6C74 = .text:0x00006C70; // type:function size:0x544 -fn_1_71B8 = .text:0x000071B4; // type:function size:0x60 -fn_1_7218 = .text:0x00007214; // type:function size:0x2C -fn_1_7244 = .text:0x00007240; // type:function size:0x38 -fn_1_727C = .text:0x00007278; // type:function size:0x38 -fn_1_72B4 = .text:0x000072B0; // type:function size:0x570 -fn_1_7824 = .text:0x00007820; // type:function size:0xCC -fn_1_78F0 = .text:0x000078EC; // type:function size:0xA4 -fn_1_7994 = .text:0x00007990; // type:function size:0x68 -fn_1_79FC = .text:0x000079F8; // type:function size:0x7C -fn_1_7A78 = .text:0x00007A74; // type:function size:0x44 -fn_1_7ABC = .text:0x00007AB8; // type:function size:0x4FC -fn_1_7FB8 = .text:0x00007FB4; // type:function size:0x4BC -fn_1_8474 = .text:0x00008470; // type:function size:0x118 -fn_1_858C = .text:0x00008588; // type:function size:0x204 -fn_1_8790 = .text:0x0000878C; // type:function size:0x344 -fn_1_8AD4 = .text:0x00008AD0; // type:function size:0x1EC -fn_1_8CC0 = .text:0x00008CBC; // type:function size:0x6CC -fn_1_938C = .text:0x00009388; // type:function size:0xB4 -fn_1_9440 = .text:0x0000943C; // type:function size:0x494 -fn_1_98D4 = .text:0x000098D0; // type:function size:0x130 -fn_1_9A04 = .text:0x00009A00; // type:function size:0x278 -fn_1_9C5C = .text:0x00009C78; // type:function size:0x49C -fn_1_A0F8 = .text:0x0000A114; // type:function size:0x360 -fn_1_A450 = .text:0x0000A474; // type:function size:0x380 -fn_1_A7D0 = .text:0x0000A7F4; // type:function size:0x134 -fn_1_A904 = .text:0x0000A928; // type:function size:0x13C -fn_1_AA40 = .text:0x0000AA64; // type:function size:0xB0 -fn_1_AAF0 = .text:0x0000AB14; // type:function size:0xB0 -fn_1_ABA0 = .text:0x0000ABC4; // type:function size:0x20 -fn_1_ABC0 = .text:0x0000ABE4; // type:function size:0x30 -fn_1_ABF0 = .text:0x0000AC14; // type:function size:0x90 -fn_1_AC80 = .text:0x0000ACA4; // type:function size:0x108 -fn_1_AD88 = .text:0x0000ADAC; // type:function size:0x7C -fn_1_AE04 = .text:0x0000AE28; // type:function size:0x2E4 -fn_1_B0E8 = .text:0x0000B10C; // type:function size:0x48 -fn_1_B130 = .text:0x0000B154; // type:function size:0x20 -fn_1_B150 = .text:0x0000B174; // type:function size:0x1C -fn_1_B16C = .text:0x0000B190; // type:function size:0x20 -fn_1_B18C = .text:0x0000B1B0; // type:function size:0x1F8 -fn_1_B384 = .text:0x0000B3A8; // type:function size:0x80 -fn_1_B404 = .text:0x0000B428; // type:function size:0x90 -fn_1_B494 = .text:0x0000B4B8; // type:function size:0x64 -fn_1_B4F8 = .text:0x0000B51C; // type:function size:0x38 -fn_1_B530 = .text:0x0000B554; // type:function size:0x28 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:2byte -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0xC -lbl_1_data_C = .data:0x0000000C; // type:object size:0xC -lbl_1_data_18 = .data:0x00000018; // type:object size:0x4 -lbl_1_data_1C = .data:0x0000001C; // type:object size:0xC -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC -lbl_1_data_34 = .data:0x00000034; // type:object size:0xC -lbl_1_data_40 = .data:0x00000040; // type:object size:0xC -lbl_1_data_4C = .data:0x0000004C; // type:object size:0x70 data:float -lbl_1_data_BC = .data:0x000000BC; // type:object size:0xC -lbl_1_data_C8 = .data:0x000000C8; // type:object size:0x8 data:4byte -jumptable_1_data_D0 = .data:0x000000D0; // type:object size:0x44 scope:local -lbl_1_data_114 = .data:0x00000114; // type:object size:0x10 -lbl_1_data_124 = .data:0x00000124; // type:object size:0x10 -lbl_1_data_134 = .data:0x00000134; // type:object size:0x14 -lbl_1_data_148 = .data:0x00000148; // type:object size:0x14 -lbl_1_data_15C = .data:0x0000015C; // type:object size:0x6 scope:local data:string -lbl_1_data_162 = .data:0x00000162; // type:object size:0x2 data:2byte -lbl_1_data_164 = .data:0x00000164; // type:object size:0x4 data:4byte -lbl_1_data_168 = .data:0x00000168; // type:object size:0xC data:float -lbl_1_data_174 = .data:0x00000174; // type:object size:0x10 scope:local data:string -lbl_1_data_184 = .data:0x00000184; // type:object size:0x26 scope:local data:string -lbl_1_data_1AA = .data:0x000001AA; // type:object size:0x24 scope:local data:string -lbl_1_data_1D0 = .data:0x000001D0; // type:object size:0x4 data:float -lbl_1_data_1D4 = .data:0x000001D4; // type:object size:0x20 data:float -lbl_1_data_1F4 = .data:0x000001F4; // type:object size:0x20 -lbl_1_data_214 = .data:0x00000214; // type:object size:0x19 scope:local data:string -lbl_1_data_230 = .data:0x00000230; // type:object size:0x20 -lbl_1_data_250 = .data:0x00000250; // type:object size:0x10 scope:local -lbl_1_data_260 = .data:0x00000260; // type:object size:0x8 -lbl_1_data_268 = .data:0x00000268; // type:object size:0x4 data:2byte -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x2 data:2byte -lbl_1_bss_A = .bss:0x0000000A; // type:object size:0x2 data:2byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte -lbl_1_bss_E = .bss:0x0000000E; // type:object size:0x1 data:byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte -lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x1 data:byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 data:2byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x8 data:float -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x8 data:float -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x2 data:2byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x28 -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x38 data:2byte -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x1 data:byte -lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0x10 -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x80 data:4byte -lbl_1_bss_12C = .bss:0x0000012C; // type:object size:0x4F0 data:2byte -lbl_1_bss_61C = .bss:0x0000061C; // type:object size:0x10 -lbl_1_bss_62C = .bss:0x0000062C; // type:object size:0x50 data:float diff --git a/config/GMPP01_00/rels/m432Dll/splits.txt b/config/GMPP01_00/rels/m432Dll/splits.txt deleted file mode 100644 index ff3ccc71..00000000 --- a/config/GMPP01_00/rels/m432Dll/splits.txt +++ /dev/null @@ -1,13 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/m432Dll/main.c: - .text start:0x00000000 end:0x000160D8 - .rodata start:0x00000000 end:0x00000234 - .data start:0x00000000 end:0x000019F8 - .bss start:0x00000000 end:0x000005DC diff --git a/config/GMPP01_00/rels/m432Dll/symbols.txt b/config/GMPP01_00/rels/m432Dll/symbols.txt deleted file mode 100644 index ea91fc89..00000000 --- a/config/GMPP01_00/rels/m432Dll/symbols.txt +++ /dev/null @@ -1,360 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x24 -fn_1_24 = .text:0x00000024; // type:function size:0x88 -fn_1_AC = .text:0x000000AC; // type:function size:0xA4 -fn_1_150 = .text:0x00000150; // type:function size:0x24 -fn_1_174 = .text:0x00000174; // type:function size:0x164 -fn_1_2D8 = .text:0x000002D8; // type:function size:0x13C -fn_1_414 = .text:0x00000414; // type:function size:0x58 -fn_1_46C = .text:0x0000046C; // type:function size:0x114 -fn_1_580 = .text:0x00000580; // type:function size:0x204 -fn_1_798 = .text:0x00000784; // type:function size:0x240 -fn_1_9EC = .text:0x000009C4; // type:function size:0x54 -fn_1_A40 = .text:0x00000A18; // type:function size:0x10C -fn_1_B4C = .text:0x00000B24; // type:function size:0x680 -fn_1_11F4 = .text:0x000011A4; // type:function size:0x15C -fn_1_1350 = .text:0x00001300; // type:function size:0x8C -fn_1_13DC = .text:0x0000138C; // type:function size:0x334 -fn_1_1710 = .text:0x000016C0; // type:function size:0x350 -fn_1_1A60 = .text:0x00001A10; // type:function size:0x2B8 -fn_1_1D18 = .text:0x00001CC8; // type:function size:0x58 -fn_1_1D70 = .text:0x00001D20; // type:function size:0xB0 -fn_1_1E20 = .text:0x00001DD0; // type:function size:0x104 -fn_1_1F24 = .text:0x00001ED4; // type:function size:0x34 -fn_1_1F58 = .text:0x00001F08; // type:function size:0x6C -fn_1_1FC4 = .text:0x00001F74; // type:function size:0x3F0 -fn_1_23B4 = .text:0x00002364; // type:function size:0x64 -fn_1_2418 = .text:0x000023C8; // type:function size:0xE0 -fn_1_24F8 = .text:0x000024A8; // type:function size:0x32C -fn_1_2824 = .text:0x000027D4; // type:function size:0x3AC -fn_1_2BD0 = .text:0x00002B80; // type:function size:0x30 -fn_1_2C00 = .text:0x00002BB0; // type:function size:0x1C -fn_1_2C1C = .text:0x00002BCC; // type:function size:0x18C -fn_1_2DA8 = .text:0x00002D58; // type:function size:0x8 -fn_1_2DB0 = .text:0x00002D60; // type:function size:0x8 -fn_1_2DB8 = .text:0x00002D68; // type:function size:0x8 -fn_1_2DC0 = .text:0x00002D70; // type:function size:0x8 -fn_1_2DC8 = .text:0x00002D78; // type:function size:0xC -fn_1_2DD4 = .text:0x00002D84; // type:function size:0x60 -fn_1_2E34 = .text:0x00002DE4; // type:function size:0xB90 -fn_1_39C4 = .text:0x00003974; // type:function size:0x31C -fn_1_3CE0 = .text:0x00003C90; // type:function size:0xD8 -fn_1_3DB8 = .text:0x00003D68; // type:function size:0x114 -fn_1_3ECC = .text:0x00003E7C; // type:function size:0xB8 -fn_1_3F84 = .text:0x00003F34; // type:function size:0xA0 -fn_1_4024 = .text:0x00003FD4; // type:function size:0x9C -fn_1_40C0 = .text:0x00004070; // type:function size:0xE18 -fn_1_4ED8 = .text:0x00004E88; // type:function size:0x250 -fn_1_5128 = .text:0x000050D8; // type:function size:0x10 -fn_1_5138 = .text:0x000050E8; // type:function size:0x10 -fn_1_5148 = .text:0x000050F8; // type:function size:0x60 -fn_1_51A8 = .text:0x00005158; // type:function size:0x60 -fn_1_5208 = .text:0x000051B8; // type:function size:0xB0 -fn_1_52B8 = .text:0x00005268; // type:function size:0xAC -fn_1_5364 = .text:0x00005314; // type:function size:0x408 -fn_1_576C = .text:0x0000571C; // type:function size:0xDC -fn_1_5848 = .text:0x000057F8; // type:function size:0x364 -fn_1_5BAC = .text:0x00005B5C; // type:function size:0x380 -fn_1_5F2C = .text:0x00005EDC; // type:function size:0x310 -fn_1_623C = .text:0x000061EC; // type:function size:0xAF8 -fn_1_6D34 = .text:0x00006CE4; // type:function size:0x1F4 -fn_1_6F28 = .text:0x00006ED8; // type:function size:0xCF4 -fn_1_7C1C = .text:0x00007BCC; // type:function size:0x924 -fn_1_8540 = .text:0x000084F0; // type:function size:0x6C -fn_1_85AC = .text:0x0000855C; // type:function size:0x70 -fn_1_861C = .text:0x000085CC; // type:function size:0x1F8 -fn_1_8814 = .text:0x000087C4; // type:function size:0x200 -fn_1_8A14 = .text:0x000089C4; // type:function size:0x2A0 -fn_1_8CB4 = .text:0x00008C64; // type:function size:0x288 -fn_1_8F3C = .text:0x00008EEC; // type:function size:0x130 -fn_1_906C = .text:0x0000901C; // type:function size:0x350 -fn_1_93BC = .text:0x0000936C; // type:function size:0x15B8 -fn_1_A974 = .text:0x0000A924; // type:function size:0x8C -fn_1_AA00 = .text:0x0000A9B0; // type:function size:0x1C -fn_1_AA1C = .text:0x0000A9CC; // type:function size:0x2AC -fn_1_ACC8 = .text:0x0000AC78; // type:function size:0x260 -fn_1_AF28 = .text:0x0000AED8; // type:function size:0x26C -_prolog = .text:0x0000B144; // type:function size:0x54 scope:global -_epilog = .text:0x0000B198; // type:function size:0x4C scope:global -fn_1_B234 = .text:0x0000B1E4; // type:function size:0x224 -fn_1_B458 = .text:0x0000B408; // type:function size:0xC0 -fn_1_B518 = .text:0x0000B4C8; // type:function size:0x2CC -fn_1_B7E4 = .text:0x0000B794; // type:function size:0x190 -fn_1_B974 = .text:0x0000B924; // type:function size:0x134 -fn_1_BAA8 = .text:0x0000BA58; // type:function size:0x460 -fn_1_BF08 = .text:0x0000BEB8; // type:function size:0x94 -fn_1_BF9C = .text:0x0000BF4C; // type:function size:0x3A0 -fn_1_C33C = .text:0x0000C2EC; // type:function size:0x3E8 -fn_1_C724 = .text:0x0000C6D4; // type:function size:0x9BC -fn_1_D0E0 = .text:0x0000D090; // type:function size:0x90C -fn_1_D9EC = .text:0x0000D99C; // type:function size:0x9C8 -fn_1_E3B4 = .text:0x0000E364; // type:function size:0x630 -fn_1_E9E4 = .text:0x0000E994; // type:function size:0x298 -fn_1_EC7C = .text:0x0000EC2C; // type:function size:0x90 -fn_1_ED0C = .text:0x0000ECBC; // type:function size:0x1544 -fn_1_10250 = .text:0x00010200; // type:function size:0xA7C -fn_1_10CCC = .text:0x00010C7C; // type:function size:0x724 -fn_1_113F0 = .text:0x000113A0; // type:function size:0x4 -fn_1_113F4 = .text:0x000113A4; // type:function size:0x140C -fn_1_12800 = .text:0x000127B0; // type:function size:0x4 -fn_1_12804 = .text:0x000127B4; // type:function size:0xC4 -fn_1_128C8 = .text:0x00012878; // type:function size:0x4D0 -fn_1_12EA8 = .text:0x00012D48; // type:function size:0x300 -fn_1_131A8 = .text:0x00013048; // type:function size:0x2150 -fn_1_15320 = .text:0x00015198; // type:function size:0x9C -ObjectSetup = .text:0x00015234; // type:function size:0xDA0 -fn_1_1615C = .text:0x00015FD4; // type:function size:0x104 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x10 -lbl_1_data_10 = .data:0x00000010; // type:object size:0x20 -lbl_1_data_30 = .data:0x00000030; // type:object size:0x28 -lbl_1_data_58 = .data:0x00000058; // type:object size:0x28 -lbl_1_data_80 = .data:0x00000080; // type:object size:0x1F scope:local data:string -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x8 -lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x20 data:float -lbl_1_data_C8 = .data:0x000000C8; // type:object size:0xC -lbl_1_data_D4 = .data:0x000000D4; // type:object size:0xC -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0xC -lbl_1_data_EC = .data:0x000000EC; // type:object size:0x4 -lbl_1_data_F0 = .data:0x000000F0; // type:object size:0xC -lbl_1_data_FC = .data:0x000000FC; // type:object size:0xC -lbl_1_data_108 = .data:0x00000108; // type:object size:0x160 -lbl_1_data_268 = .data:0x00000268; // type:object size:0x20 -lbl_1_data_288 = .data:0x00000288; // type:object size:0x24 -lbl_1_data_2AC = .data:0x000002AC; // type:object size:0x24 -lbl_1_data_2D0 = .data:0x000002D0; // type:object size:0x24 -lbl_1_data_2F4 = .data:0x000002F4; // type:object size:0x24 -lbl_1_data_318 = .data:0x00000318; // type:object size:0x3C -lbl_1_data_354 = .data:0x00000354; // type:object size:0x18 -lbl_1_data_36C = .data:0x0000036C; // type:object size:0x18 -lbl_1_data_384 = .data:0x00000384; // type:object size:0xB scope:local data:string -lbl_1_data_38F = .data:0x0000038F; // type:object size:0xB scope:local data:string -lbl_1_data_39A = .data:0x0000039A; // type:object size:0xB scope:local data:string -lbl_1_data_3A5 = .data:0x000003A5; // type:object size:0xB scope:local data:string -lbl_1_data_3B0 = .data:0x000003B0; // type:object size:0xB scope:local data:string -lbl_1_data_3BB = .data:0x000003BB; // type:object size:0xB scope:local data:string -lbl_1_data_3C6 = .data:0x000003C6; // type:object size:0xB scope:local data:string -lbl_1_data_3D1 = .data:0x000003D1; // type:object size:0xB scope:local data:string -lbl_1_data_3DC = .data:0x000003DC; // type:object size:0x20 -lbl_1_data_3FC = .data:0x000003FC; // type:object size:0xB scope:local data:string -lbl_1_data_407 = .data:0x00000407; // type:object size:0xB scope:local data:string -lbl_1_data_412 = .data:0x00000412; // type:object size:0xB scope:local data:string -lbl_1_data_41D = .data:0x0000041D; // type:object size:0xB scope:local data:string -lbl_1_data_428 = .data:0x00000428; // type:object size:0xB scope:local data:string -lbl_1_data_433 = .data:0x00000433; // type:object size:0xB scope:local data:string -lbl_1_data_440 = .data:0x00000440; // type:object size:0x18 data:4byte -lbl_1_data_458 = .data:0x00000458; // type:object size:0xB scope:local data:string -lbl_1_data_463 = .data:0x00000463; // type:object size:0xB scope:local data:string -lbl_1_data_46E = .data:0x0000046E; // type:object size:0xB scope:local data:string -lbl_1_data_479 = .data:0x00000479; // type:object size:0xB scope:local data:string -lbl_1_data_484 = .data:0x00000484; // type:object size:0xB scope:local data:string -lbl_1_data_48F = .data:0x0000048F; // type:object size:0xB scope:local data:string -lbl_1_data_49A = .data:0x0000049A; // type:object size:0xB scope:local data:string -lbl_1_data_4A5 = .data:0x000004A5; // type:object size:0xB scope:local data:string -lbl_1_data_4B0 = .data:0x000004B0; // type:object size:0xB scope:local data:string -lbl_1_data_4BB = .data:0x000004BB; // type:object size:0xB scope:local data:string -lbl_1_data_4C8 = .data:0x000004C8; // type:object size:0x28 data:4byte -lbl_1_data_4F0 = .data:0x000004F0; // type:object size:0x14 data:byte -lbl_1_data_504 = .data:0x00000504; // type:object size:0x24 data:byte -lbl_1_data_528 = .data:0x00000528; // type:object size:0x8 -lbl_1_data_530 = .data:0x00000530; // type:object size:0xB scope:local data:string -lbl_1_data_53B = .data:0x0000053B; // type:object size:0xB scope:local data:string -lbl_1_data_546 = .data:0x00000546; // type:object size:0xB scope:local data:string -lbl_1_data_551 = .data:0x00000551; // type:object size:0xB scope:local data:string -lbl_1_data_55C = .data:0x0000055C; // type:object size:0xB scope:local data:string -lbl_1_data_567 = .data:0x00000567; // type:object size:0xB scope:local data:string -lbl_1_data_572 = .data:0x00000572; // type:object size:0xB scope:local data:string -lbl_1_data_57D = .data:0x0000057D; // type:object size:0xB scope:local data:string -lbl_1_data_588 = .data:0x00000588; // type:object size:0xB scope:local data:string -lbl_1_data_593 = .data:0x00000593; // type:object size:0xB scope:local data:string -lbl_1_data_59E = .data:0x0000059E; // type:object size:0xB scope:local data:string -lbl_1_data_5A9 = .data:0x000005A9; // type:object size:0xB scope:local data:string -lbl_1_data_5B4 = .data:0x000005B4; // type:object size:0xB scope:local data:string -lbl_1_data_5BF = .data:0x000005BF; // type:object size:0xB scope:local data:string -lbl_1_data_5CA = .data:0x000005CA; // type:object size:0xB scope:local data:string -lbl_1_data_5D5 = .data:0x000005D5; // type:object size:0xB scope:local data:string -lbl_1_data_5E0 = .data:0x000005E0; // type:object size:0xB scope:local data:string -lbl_1_data_5EC = .data:0x000005EC; // type:object size:0x8B8 -lbl_1_data_EA4 = .data:0x00000EA4; // type:object size:0xB scope:local data:string -lbl_1_data_EAF = .data:0x00000EAF; // type:object size:0xB scope:local data:string -lbl_1_data_EBA = .data:0x00000EBA; // type:object size:0xB scope:local data:string -lbl_1_data_EC5 = .data:0x00000EC5; // type:object size:0xB scope:local data:string -lbl_1_data_ED0 = .data:0x00000ED0; // type:object size:0xB scope:local data:string -lbl_1_data_EDC = .data:0x00000EDC; // type:object size:0x8B8 -lbl_1_data_1794 = .data:0x00001794; // type:object size:0x20 -lbl_1_data_17B4 = .data:0x000017B4; // type:object size:0x20 -lbl_1_data_17D4 = .data:0x000017D4; // type:object size:0x20 data:float -lbl_1_data_17F4 = .data:0x000017F4; // type:object size:0x20 -lbl_1_data_1814 = .data:0x00001814; // type:object size:0x50 -lbl_1_data_1864 = .data:0x00001864; // type:object size:0x11 scope:local data:string -lbl_1_data_1875 = .data:0x00001875; // type:object size:0x11 scope:local data:string -lbl_1_data_1886 = .data:0x00001886; // type:object size:0x11 scope:local data:string -lbl_1_data_1897 = .data:0x00001897; // type:object size:0x18 scope:local data:string -lbl_1_data_18AF = .data:0x000018AF; // type:object size:0xB scope:local data:string -lbl_1_data_18BA = .data:0x000018BA; // type:object size:0x18 scope:local data:string -lbl_1_data_18D2 = .data:0x000018D2; // type:object size:0xC scope:local data:string -lbl_1_data_18DE = .data:0x000018DE; // type:object size:0x6 scope:local data:string -lbl_1_data_18E4 = .data:0x000018E4; // type:object size:0x21 scope:local data:string -lbl_1_data_1905 = .data:0x00001905; // type:object size:0x1D scope:local data:string -jumptable_1_data_1924 = .data:0x00001924; // type:object size:0x1C scope:local -jumptable_1_data_1940 = .data:0x00001940; // type:object size:0x44 scope:local -lbl_1_data_1984 = .data:0x00001984; // type:object size:0xB scope:local data:string -lbl_1_data_198F = .data:0x0000198F; // type:object size:0x1B scope:local data:string -jumptable_1_data_19AC = .data:0x000019AC; // type:object size:0x28 scope:local -lbl_1_data_19D4 = .data:0x000019D4; // type:object size:0x24 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x3F0 data:float -lbl_1_bss_3F0 = .bss:0x000003F0; // type:object size:0x4 data:float -lbl_1_bss_3F4 = .bss:0x000003F4; // type:object size:0x4 data:4byte -lbl_1_bss_3F8 = .bss:0x000003F8; // type:object size:0x4 data:4byte -lbl_1_bss_3FC = .bss:0x000003FC; // type:object size:0x4 data:4byte -lbl_1_bss_400 = .bss:0x00000400; // type:object size:0x2 data:2byte -lbl_1_bss_402 = .bss:0x00000402; // type:object size:0x2 data:2byte -lbl_1_bss_404 = .bss:0x00000404; // type:object size:0x2 data:2byte -lbl_1_bss_408 = .bss:0x00000408; // type:object size:0x4 data:4byte -lbl_1_bss_40C = .bss:0x0000040C; // type:object size:0x4 data:4byte -lbl_1_bss_410 = .bss:0x00000410; // type:object size:0x4 data:4byte -lbl_1_bss_414 = .bss:0x00000414; // type:object size:0x4 data:4byte -lbl_1_bss_418 = .bss:0x00000418; // type:object size:0x4 data:4byte -lbl_1_bss_41C = .bss:0x0000041C; // type:object size:0x4 data:4byte -lbl_1_bss_420 = .bss:0x00000420; // type:object size:0x4 data:float -lbl_1_bss_424 = .bss:0x00000424; // type:object size:0x4 data:4byte -lbl_1_bss_428 = .bss:0x00000428; // type:object size:0x100 -lbl_1_bss_528 = .bss:0x00000528; // type:object size:0x40 data:4byte -lbl_1_bss_568 = .bss:0x00000568; // type:object size:0x4 data:float -lbl_1_bss_56C = .bss:0x0000056C; // type:object size:0x4 data:4byte -lbl_1_bss_570 = .bss:0x00000570; // type:object size:0x4 data:4byte -lbl_1_bss_574 = .bss:0x00000574; // type:object size:0x2 data:2byte -lbl_1_bss_576 = .bss:0x00000576; // type:object size:0x2 data:2byte -lbl_1_bss_578 = .bss:0x00000578; // type:object size:0x4 data:4byte -lbl_1_bss_57C = .bss:0x0000057C; // type:object size:0x4 data:4byte -lbl_1_bss_580 = .bss:0x00000580; // type:object size:0x4 data:4byte -lbl_1_bss_584 = .bss:0x00000584; // type:object size:0xC data:float -lbl_1_bss_590 = .bss:0x00000590; // type:object size:0xC data:4byte -lbl_1_bss_59C = .bss:0x0000059C; // type:object size:0xC data:float -lbl_1_bss_5A8 = .bss:0x000005A8; // type:object size:0xC data:4byte -lbl_1_bss_5B4 = .bss:0x000005B4; // type:object size:0x4 data:4byte -lbl_1_bss_5B8 = .bss:0x000005B8; // type:object size:0x18 data:4byte -lbl_1_bss_5D0 = .bss:0x000005D0; // type:object size:0xC data:4byte diff --git a/config/GMPP01_00/rels/m433Dll/splits.txt b/config/GMPP01_00/rels/m433Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m433Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m433Dll/symbols.txt b/config/GMPP01_00/rels/m433Dll/symbols.txt deleted file mode 100644 index 4b4ddd22..00000000 --- a/config/GMPP01_00/rels/m433Dll/symbols.txt +++ /dev/null @@ -1,465 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x420 -fn_1_4C0 = .text:0x000004C0; // type:function size:0xC4 -fn_1_584 = .text:0x00000584; // type:function size:0x94 -fn_1_618 = .text:0x00000618; // type:function size:0x180 -fn_1_798 = .text:0x00000798; // type:function size:0x33C -fn_1_AD4 = .text:0x00000AD4; // type:function size:0x358 -fn_1_E2C = .text:0x00000E2C; // type:function size:0x214 -fn_1_1040 = .text:0x00001040; // type:function size:0x3BC -fn_1_13FC = .text:0x000013FC; // type:function size:0x2D4 -fn_1_16D0 = .text:0x000016D0; // type:function size:0x36C -fn_1_1A3C = .text:0x00001A3C; // type:function size:0xC -fn_1_1A48 = .text:0x00001A48; // type:function size:0x6F4 -fn_1_213C = .text:0x0000213C; // type:function size:0x18 -fn_1_2154 = .text:0x00002154; // type:function size:0x18 -fn_1_216C = .text:0x0000216C; // type:function size:0x18 -fn_1_2184 = .text:0x00002184; // type:function size:0x18 -fn_1_219C = .text:0x0000219C; // type:function size:0x30 -fn_1_21CC = .text:0x000021CC; // type:function size:0x18 -fn_1_21E4 = .text:0x000021E4; // type:function size:0x30 -fn_1_2214 = .text:0x00002214; // type:function size:0x30 -fn_1_2244 = .text:0x00002244; // type:function size:0x38 -fn_1_227C = .text:0x0000227C; // type:function size:0x208 -fn_1_2484 = .text:0x00002484; // type:function size:0x240 -fn_1_26C4 = .text:0x000026C4; // type:function size:0x11C -fn_1_27E0 = .text:0x000027E0; // type:function size:0xB4 -fn_1_2894 = .text:0x00002894; // type:function size:0xF0 -fn_1_2984 = .text:0x00002984; // type:function size:0x20 -fn_1_29A4 = .text:0x000029A4; // type:function size:0x120 -fn_1_2AC4 = .text:0x00002AC4; // type:function size:0x21C -fn_1_2CE0 = .text:0x00002CE0; // type:function size:0x5EC -fn_1_32CC = .text:0x000032CC; // type:function size:0x6E0 -fn_1_39AC = .text:0x000039AC; // type:function size:0x270 -fn_1_3C1C = .text:0x00003C1C; // type:function size:0x240 -fn_1_3E5C = .text:0x00003E5C; // type:function size:0xB8 -fn_1_3F14 = .text:0x00003F14; // type:function size:0xB80 -fn_1_4A94 = .text:0x00004A94; // type:function size:0x10C -fn_1_4BA0 = .text:0x00004BA0; // type:function size:0x334 -fn_1_4ED4 = .text:0x00004ED4; // type:function size:0xEC -fn_1_4FC0 = .text:0x00004FC0; // type:function size:0x28 -fn_1_4FE8 = .text:0x00004FE8; // type:function size:0x80 -fn_1_5068 = .text:0x00005068; // type:function size:0x40 -fn_1_50A8 = .text:0x000050A8; // type:function size:0xA0 -fn_1_5148 = .text:0x00005148; // type:function size:0x94 -fn_1_51DC = .text:0x000051DC; // type:function size:0x84 -fn_1_5260 = .text:0x00005260; // type:function size:0x54 -fn_1_52B4 = .text:0x000052B4; // type:function size:0x168 -fn_1_541C = .text:0x0000541C; // type:function size:0x120 -fn_1_553C = .text:0x0000553C; // type:function size:0x39C -fn_1_58D8 = .text:0x000058D8; // type:function size:0x2C -fn_1_5904 = .text:0x00005904; // type:function size:0x270 -fn_1_5B74 = .text:0x00005B74; // type:function size:0x24 -fn_1_5B98 = .text:0x00005B98; // type:function size:0x4D8 -fn_1_6070 = .text:0x00006070; // type:function size:0x50 -fn_1_60C0 = .text:0x000060C0; // type:function size:0x76C -fn_1_682C = .text:0x0000682C; // type:function size:0xA00 -fn_1_722C = .text:0x0000722C; // type:function size:0x2A8 -fn_1_74D4 = .text:0x000074D4; // type:function size:0xF34 -fn_1_8408 = .text:0x00008408; // type:function size:0x334 -fn_1_873C = .text:0x0000873C; // type:function size:0x1FC -fn_1_8938 = .text:0x00008938; // type:function size:0x298 -fn_1_8BD0 = .text:0x00008BD0; // type:function size:0x3B0 -fn_1_8F80 = .text:0x00008F80; // type:function size:0x708 -fn_1_9688 = .text:0x00009688; // type:function size:0xF90 -fn_1_A618 = .text:0x0000A618; // type:function size:0x570 -fn_1_AB88 = .text:0x0000AB88; // type:function size:0x624 -fn_1_B1AC = .text:0x0000B1AC; // type:function size:0x340 -fn_1_B4EC = .text:0x0000B4EC; // type:function size:0x20C -fn_1_B6F8 = .text:0x0000B6F8; // type:function size:0xCC -fn_1_B7C4 = .text:0x0000B7C4; // type:function size:0x8C -fn_1_B850 = .text:0x0000B850; // type:function size:0x2A8 -fn_1_BAF8 = .text:0x0000BAF8; // type:function size:0x268 -fn_1_BD60 = .text:0x0000BD60; // type:function size:0x4F8 -fn_1_C258 = .text:0x0000C258; // type:function size:0x46C -fn_1_C6C4 = .text:0x0000C6C4; // type:function size:0x4 -fn_1_C6C8 = .text:0x0000C6C8; // type:function size:0x51C -fn_1_CBE4 = .text:0x0000CBE4; // type:function size:0x220 -fn_1_CE04 = .text:0x0000CE04; // type:function size:0x3C8 -fn_1_D1CC = .text:0x0000D1CC; // type:function size:0x1B8 -fn_1_D384 = .text:0x0000D384; // type:function size:0x1A8 -fn_1_D52C = .text:0x0000D52C; // type:function size:0x1C8 -fn_1_D6F4 = .text:0x0000D6F4; // type:function size:0x1E0 -fn_1_D8D4 = .text:0x0000D8D4; // type:function size:0x4E8 -fn_1_DDBC = .text:0x0000DDBC; // type:function size:0xB8 -fn_1_DE74 = .text:0x0000DE74; // type:function size:0x11C -fn_1_DF90 = .text:0x0000DF90; // type:function size:0xA0 -fn_1_E030 = .text:0x0000E030; // type:function size:0x138 -fn_1_E168 = .text:0x0000E168; // type:function size:0x4A4 -fn_1_E60C = .text:0x0000E60C; // type:function size:0x4CC -fn_1_EAD8 = .text:0x0000EAD8; // type:function size:0x158 -fn_1_EC30 = .text:0x0000EC30; // type:function size:0x118 -fn_1_ED48 = .text:0x0000ED48; // type:function size:0x1168 -fn_1_FEB0 = .text:0x0000FEB0; // type:function size:0x28 -fn_1_FED8 = .text:0x0000FED8; // type:function size:0x2A4 -fn_1_1017C = .text:0x0001017C; // type:function size:0x130 -fn_1_102AC = .text:0x000102AC; // type:function size:0x3B4 -fn_1_10660 = .text:0x00010660; // type:function size:0xF8 -fn_1_10758 = .text:0x00010758; // type:function size:0x34 -fn_1_1078C = .text:0x0001078C; // type:function size:0x70 -fn_1_107FC = .text:0x000107FC; // type:function size:0x98 -fn_1_10894 = .text:0x00010894; // type:function size:0x30 -fn_1_108C4 = .text:0x000108C4; // type:function size:0x4C -fn_1_10910 = .text:0x00010910; // type:function size:0x3C -fn_1_1094C = .text:0x0001094C; // type:function size:0x28 -fn_1_10974 = .text:0x00010974; // type:function size:0x1F8 -fn_1_10B6C = .text:0x00010B6C; // type:function size:0x204 -fn_1_10D70 = .text:0x00010D70; // type:function size:0x180 -fn_1_10EF0 = .text:0x00010EF0; // type:function size:0x28 -fn_1_10F18 = .text:0x00010F18; // type:function size:0x34 -fn_1_10F4C = .text:0x00010F4C; // type:function size:0x38 -fn_1_10F84 = .text:0x00010F84; // type:function size:0x34 -fn_1_10FB8 = .text:0x00010FB8; // type:function size:0x38 -fn_1_10FF0 = .text:0x00010FF0; // type:function size:0x38 -fn_1_11028 = .text:0x00011028; // type:function size:0x28 -fn_1_11050 = .text:0x00011050; // type:function size:0x5C -fn_1_110AC = .text:0x000110AC; // type:function size:0x38 -fn_1_110E4 = .text:0x000110E4; // type:function size:0x98 -fn_1_1117C = .text:0x0001117C; // type:function size:0x1B0 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 scope:local data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0xC0 -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 scope:local data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 scope:local data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 scope:local data:double -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 scope:local data:double -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 scope:local data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 scope:local data:double -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 scope:local data:double -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 scope:local data:double -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 scope:local data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 scope:local data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 scope:local data:float -lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 scope:local data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:4byte -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 scope:local data:float -lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 scope:local data:float -lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 scope:local data:float -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 scope:local data:float -lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 scope:local data:float -lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 scope:local data:float -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x4 scope:local data:float -lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 scope:local data:float -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 scope:local data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 scope:local data:float -lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 scope:local data:float -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x8 scope:local data:double -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 scope:local data:float -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C4 = .rodata:0x000005C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F4 = .rodata:0x000005F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5FC = .rodata:0x000005FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x4 scope:local data:float -lbl_1_rodata_604 = .rodata:0x00000604; // type:object size:0x4 scope:local data:float -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60C = .rodata:0x0000060C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x4 scope:local data:float -lbl_1_rodata_614 = .rodata:0x00000614; // type:object size:0x4 scope:local data:float -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 scope:local data:float -lbl_1_rodata_61C = .rodata:0x0000061C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x4 scope:local data:float -lbl_1_rodata_624 = .rodata:0x00000624; // type:object size:0x4 scope:local data:float -lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x4 scope:local data:float -lbl_1_rodata_62C = .rodata:0x0000062C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 scope:local data:float -lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 scope:local data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x4 scope:local data:float -lbl_1_rodata_63C = .rodata:0x0000063C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 scope:local data:float -lbl_1_rodata_644 = .rodata:0x00000644; // type:object size:0x4 scope:local data:float -lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64C = .rodata:0x0000064C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_650 = .rodata:0x00000650; // type:object size:0x4 scope:local data:float -lbl_1_rodata_654 = .rodata:0x00000654; // type:object size:0x4 scope:local data:float -lbl_1_rodata_658 = .rodata:0x00000658; // type:object size:0x4 scope:local data:float -lbl_1_rodata_65C = .rodata:0x0000065C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_660 = .rodata:0x00000660; // type:object size:0x4 scope:local data:float -lbl_1_rodata_664 = .rodata:0x00000664; // type:object size:0x4 scope:local data:float -lbl_1_rodata_668 = .rodata:0x00000668; // type:object size:0x4 scope:local data:float -lbl_1_rodata_66C = .rodata:0x0000066C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_670 = .rodata:0x00000670; // type:object size:0x8 scope:local data:double -lbl_1_rodata_678 = .rodata:0x00000678; // type:object size:0x4 scope:local data:float -lbl_1_rodata_67C = .rodata:0x0000067C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_680 = .rodata:0x00000680; // type:object size:0x4 scope:local data:float -lbl_1_rodata_688 = .rodata:0x00000688; // type:object size:0x8 scope:local data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0xC -lbl_1_data_C = .data:0x0000000C; // type:object size:0xC -lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float -lbl_1_data_24 = .data:0x00000024; // type:object size:0x4 -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC data:float -lbl_1_data_34 = .data:0x00000034; // type:object size:0xC data:float -lbl_1_data_40 = .data:0x00000040; // type:object size:0xC data:float -lbl_1_data_4C = .data:0x0000004C; // type:object size:0xC data:float -lbl_1_data_58 = .data:0x00000058; // type:object size:0x50 data:float -jumptable_1_data_A8 = .data:0x000000A8; // type:object size:0x1C scope:local -lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x1C data:4byte -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x38 -lbl_1_data_118 = .data:0x00000118; // type:object size:0x38 -lbl_1_data_150 = .data:0x00000150; // type:object size:0x30 -lbl_1_data_180 = .data:0x00000180; // type:object size:0x44 -lbl_1_data_1C4 = .data:0x000001C4; // type:object size:0x44 -lbl_1_data_208 = .data:0x00000208; // type:object size:0x44 -lbl_1_data_24C = .data:0x0000024C; // type:object size:0x1A4 -lbl_1_data_3F0 = .data:0x000003F0; // type:object size:0x38 -lbl_1_data_428 = .data:0x00000428; // type:object size:0x9 data:string -lbl_1_data_431 = .data:0x00000431; // type:object size:0x9 data:string -lbl_1_data_43A = .data:0x0000043A; // type:object size:0xB data:string -lbl_1_data_445 = .data:0x00000445; // type:object size:0xB data:string -lbl_1_data_450 = .data:0x00000450; // type:object size:0x18 -lbl_1_data_468 = .data:0x00000468; // type:object size:0x24 -lbl_1_data_48C = .data:0x0000048C; // type:object size:0x48 -lbl_1_data_4D4 = .data:0x000004D4; // type:object size:0x6C -lbl_1_data_540 = .data:0x00000540; // type:object size:0x24 -lbl_1_data_564 = .data:0x00000564; // type:object size:0x2 data:string -lbl_1_data_566 = .data:0x00000566; // type:object size:0x15 data:string -lbl_1_data_57B = .data:0x0000057B; // type:object size:0x15 data:string -lbl_1_data_590 = .data:0x00000590; // type:object size:0x15 data:string -lbl_1_data_5A5 = .data:0x000005A5; // type:object size:0x15 data:string -lbl_1_data_5BA = .data:0x000005BA; // type:object size:0x18 data:string -lbl_1_data_5D2 = .data:0x000005D2; // type:object size:0x18 data:string -lbl_1_data_5EA = .data:0x000005EA; // type:object size:0x15 data:string -lbl_1_data_5FF = .data:0x000005FF; // type:object size:0x15 data:string -lbl_1_data_614 = .data:0x00000614; // type:object size:0x15 data:string -lbl_1_data_629 = .data:0x00000629; // type:object size:0x15 data:string -lbl_1_data_63E = .data:0x0000063E; // type:object size:0x16 -jumptable_1_data_654 = .data:0x00000654; // type:object size:0x20 scope:local -lbl_1_data_674 = .data:0x00000674; // type:object size:0xC -lbl_1_data_680 = .data:0x00000680; // type:object size:0x8 -lbl_1_data_688 = .data:0x00000688; // type:object size:0x28 -lbl_1_data_6B0 = .data:0x000006B0; // type:object size:0x10 -lbl_1_data_6C0 = .data:0x000006C0; // type:object size:0xB0 data:4byte -lbl_1_data_770 = .data:0x00000770; // type:object size:0x24 -lbl_1_data_794 = .data:0x00000794; // type:object size:0x6C -lbl_1_data_800 = .data:0x00000800; // type:object size:0x24 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte -lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x2 data:2byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 data:2byte -lbl_1_bss_16 = .bss:0x00000016; // type:object size:0xA data:2byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0xC data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x6F0 -lbl_1_bss_728 = .bss:0x00000728; // type:object size:0x80 -lbl_1_bss_7A8 = .bss:0x000007A8; // type:object size:0x4 data:4byte -lbl_1_bss_7AC = .bss:0x000007AC; // type:object size:0x4 data:4byte -lbl_1_bss_7B0 = .bss:0x000007B0; // type:object size:0x8 data:4byte -lbl_1_bss_7B8 = .bss:0x000007B8; // type:object size:0x10 -lbl_1_bss_7C8 = .bss:0x000007C8; // type:object size:0x4 data:4byte -lbl_1_bss_7CC = .bss:0x000007CC; // type:object size:0x4 data:4byte -lbl_1_bss_7D0 = .bss:0x000007D0; // type:object size:0x14 diff --git a/config/GMPP01_00/rels/m434Dll/splits.txt b/config/GMPP01_00/rels/m434Dll/splits.txt deleted file mode 100644 index f4ed5551..00000000 --- a/config/GMPP01_00/rels/m434Dll/splits.txt +++ /dev/null @@ -1,34 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/m434Dll/main.c: - .text start:0x000000A0 end:0x00001DB0 - .rodata start:0x00000000 end:0x000000B8 - .data start:0x00000000 end:0x00000100 - .bss start:0x00000000 end:0x000003D8 - -REL/m434Dll/map.c: - .text start:0x00001DB0 end:0x00004854 - .rodata start:0x000000B8 end:0x000001A8 - .data start:0x00000100 end:0x00000180 - .bss start:0x000003D8 end:0x00005870 - -REL/m434Dll/player.c: - .text start:0x00004854 end:0x00006860 - .rodata start:0x000001A8 end:0x000002C8 - .data start:0x00000180 end:0x000002C0 - .bss start:0x00005870 end:0x00005880 - -REL/m434Dll/fish.c: - .text start:0x00006860 end:0x0000918C - .rodata start:0x000002C8 end:0x000004C8 - .data start:0x000002C0 end:0x000002C8 - .bss start:0x00005880 end:0x00007884 diff --git a/config/GMPP01_00/rels/m434Dll/symbols.txt b/config/GMPP01_00/rels/m434Dll/symbols.txt deleted file mode 100644 index c3cfd4b9..00000000 --- a/config/GMPP01_00/rels/m434Dll/symbols.txt +++ /dev/null @@ -1,347 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x45C -fn_1_4FC = .text:0x000004FC; // type:function size:0x5C -fn_1_558 = .text:0x00000558; // type:function size:0x70C -fn_1_C64 = .text:0x00000C64; // type:function size:0x64 -fn_1_CC8 = .text:0x00000CC8; // type:function size:0x17C -fn_1_E44 = .text:0x00000E44; // type:function size:0x278 -fn_1_10BC = .text:0x000010BC; // type:function size:0x38 -fn_1_10F4 = .text:0x000010F4; // type:function size:0x10 -fn_1_1104 = .text:0x00001104; // type:function size:0x4C -fn_1_1150 = .text:0x00001150; // type:function size:0x320 -fn_1_1470 = .text:0x00001470; // type:function size:0x1C8 -fn_1_1638 = .text:0x00001638; // type:function size:0x4C -fn_1_1684 = .text:0x00001684; // type:function size:0x30 -fn_1_16B4 = .text:0x000016B4; // type:function size:0x24 -fn_1_16D8 = .text:0x000016D8; // type:function size:0xB0 -fn_1_1788 = .text:0x00001788; // type:function size:0xB0 -fn_1_1838 = .text:0x00001838; // type:function size:0x118 -fn_1_1950 = .text:0x00001950; // type:function size:0xB0 -fn_1_1A00 = .text:0x00001A00; // type:function size:0x10 -fn_1_1A10 = .text:0x00001A10; // type:function size:0x234 -fn_1_1C44 = .text:0x00001C44; // type:function size:0x44 -fn_1_1C88 = .text:0x00001C88; // type:function size:0x30 -fn_1_1CB8 = .text:0x00001CB8; // type:function size:0x8C -fn_1_1D44 = .text:0x00001D44; // type:function size:0x10 -fn_1_1D54 = .text:0x00001D54; // type:function size:0x10 -fn_1_1D64 = .text:0x00001D64; // type:function size:0x10 -fn_1_1D74 = .text:0x00001D74; // type:function size:0x18 -fn_1_1D8C = .text:0x00001D8C; // type:function size:0x10 -fn_1_1D9C = .text:0x00001D9C; // type:function size:0x14 -fn_1_1DB0 = .text:0x00001DB0; // type:function size:0x94 -fn_1_1E44 = .text:0x00001E44; // type:function size:0x20 -fn_1_1E64 = .text:0x00001E64; // type:function size:0x7A4 -fn_1_2608 = .text:0x00002608; // type:function size:0x9C -fn_1_26A4 = .text:0x000026A4; // type:function size:0x24C -fn_1_28F0 = .text:0x000028F0; // type:function size:0x88 -fn_1_2978 = .text:0x00002978; // type:function size:0x68C -fn_1_3004 = .text:0x00003004; // type:function size:0x124 -fn_1_3128 = .text:0x00003128; // type:function size:0x1B4 -fn_1_32DC = .text:0x000032DC; // type:function size:0xC8 -fn_1_33A4 = .text:0x000033A4; // type:function size:0xF8 -fn_1_349C = .text:0x0000349C; // type:function size:0xF8 -fn_1_3594 = .text:0x00003594; // type:function size:0x734 -fn_1_3CC8 = .text:0x00003CC8; // type:function size:0x6E4 -fn_1_43AC = .text:0x000043AC; // type:function size:0x90 -fn_1_443C = .text:0x0000443C; // type:function size:0x3B0 -fn_1_47EC = .text:0x000047EC; // type:function size:0x68 -fn_1_4854 = .text:0x00004854; // type:function size:0x110 -fn_1_4964 = .text:0x00004964; // type:function size:0x24 -fn_1_4988 = .text:0x00004988; // type:function size:0x46C -fn_1_4DF4 = .text:0x00004DF4; // type:function size:0x5C -fn_1_4E50 = .text:0x00004E50; // type:function size:0xC60 -fn_1_5AB0 = .text:0x00005AB0; // type:function size:0x13C -fn_1_5BEC = .text:0x00005BEC; // type:function size:0xAC -fn_1_5C98 = .text:0x00005C98; // type:function size:0x414 -fn_1_60AC = .text:0x000060AC; // type:function size:0x19C -fn_1_6248 = .text:0x00006248; // type:function size:0x74 -fn_1_62BC = .text:0x000062BC; // type:function size:0x1E0 -fn_1_649C = .text:0x0000649C; // type:function size:0x24 -fn_1_64C0 = .text:0x000064C0; // type:function size:0x1D0 -fn_1_6690 = .text:0x00006690; // type:function size:0x11C -fn_1_67AC = .text:0x000067AC; // type:function size:0xB4 -fn_1_6860 = .text:0x00006860; // type:function size:0x224 -fn_1_6A84 = .text:0x00006A84; // type:function size:0x4 -fn_1_6A88 = .text:0x00006A88; // type:function size:0x2F4 -fn_1_6D7C = .text:0x00006D7C; // type:function size:0x3C -fn_1_6DB8 = .text:0x00006DB8; // type:function size:0x4 -fn_1_6DBC = .text:0x00006DBC; // type:function size:0x1034 -fn_1_7DF0 = .text:0x00007DF0; // type:function size:0x464 -fn_1_8254 = .text:0x00008254; // type:function size:0x174 -fn_1_83C8 = .text:0x000083C8; // type:function size:0x108 -fn_1_84D0 = .text:0x000084D0; // type:function size:0xF4 -fn_1_85C4 = .text:0x000085C4; // type:function size:0x2C0 -fn_1_8884 = .text:0x00008884; // type:function size:0x268 -fn_1_8AEC = .text:0x00008AEC; // type:function size:0x6C -fn_1_8B58 = .text:0x00008B58; // type:function size:0xBC -fn_1_8C14 = .text:0x00008C14; // type:function size:0x164 -fn_1_8D78 = .text:0x00008D78; // type:function size:0xB4 -fn_1_8E2C = .text:0x00008E2C; // type:function size:0x110 -fn_1_8F3C = .text:0x00008F3C; // type:function size:0x64 -fn_1_8FA0 = .text:0x00008FA0; // type:function size:0x1EC -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 scope:local data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 scope:local data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 scope:local data:double -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x8 scope:local data:double -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x48 scope:local -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x48 scope:local -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 scope:local data:double -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:4byte -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x48 scope:local -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x48 scope:local -lbl_1_data_0 = .data:0x00000000; // type:object size:0xC data:float -lbl_1_data_C = .data:0x0000000C; // type:object size:0xC data:float -lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float -lbl_1_data_24 = .data:0x00000024; // type:object size:0x4 -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC data:float -lbl_1_data_34 = .data:0x00000034; // type:object size:0xC data:float -lbl_1_data_40 = .data:0x00000040; // type:object size:0xC data:float -lbl_1_data_4C = .data:0x0000004C; // type:object size:0x23 scope:local data:string -lbl_1_data_70 = .data:0x00000070; // type:object size:0x4 data:4byte -lbl_1_data_74 = .data:0x00000074; // type:object size:0x12 scope:local data:string -lbl_1_data_86 = .data:0x00000086; // type:object size:0x1C scope:local data:string -lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x8 -lbl_1_data_AC = .data:0x000000AC; // type:object size:0x8 -lbl_1_data_B4 = .data:0x000000B4; // type:object size:0xC -lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x30 data:float -lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x10 data:float -lbl_1_data_100 = .data:0x00000100; // type:object size:0x32 -lbl_1_data_132 = .data:0x00000132; // type:object size:0x2 -lbl_1_data_134 = .data:0x00000134; // type:object size:0x5 scope:local data:string -lbl_1_data_139 = .data:0x00000139; // type:object size:0x4 data:byte -lbl_1_data_140 = .data:0x00000140; // type:object size:0x18 -lbl_1_data_158 = .data:0x00000158; // type:object size:0x18 -lbl_1_data_170 = .data:0x00000170; // type:object size:0x4 -lbl_1_data_174 = .data:0x00000174; // type:object size:0x4 data:byte -lbl_1_data_178 = .data:0x00000178; // type:object size:0x4 data:byte -lbl_1_data_17C = .data:0x0000017C; // type:object size:0x4 data:byte -lbl_1_data_180 = .data:0x00000180; // type:object size:0x10 scope:local -lbl_1_data_190 = .data:0x00000190; // type:object size:0x20 -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0xB scope:local data:string -lbl_1_data_1BC = .data:0x000001BC; // type:object size:0x20 -lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x8 -lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x18 -lbl_1_data_1FC = .data:0x000001FC; // type:object size:0x28 -lbl_1_data_224 = .data:0x00000224; // type:object size:0x90 -lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x3 scope:local data:string -lbl_1_data_2B7 = .data:0x000002B7; // type:object size:0x3 scope:local data:string -lbl_1_data_2BA = .data:0x000002BA; // type:object size:0x3 scope:local data:string -lbl_1_data_2C0 = .data:0x000002C0; // type:object size:0x8 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:float -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x8 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x8 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x380 -lbl_1_bss_39C = .bss:0x0000039C; // type:object size:0x4 data:4byte -lbl_1_bss_3A0 = .bss:0x000003A0; // type:object size:0x8 -lbl_1_bss_3A8 = .bss:0x000003A8; // type:object size:0x2 data:2byte -lbl_1_bss_3AA = .bss:0x000003AA; // type:object size:0x2 data:2byte -lbl_1_bss_3AC = .bss:0x000003AC; // type:object size:0x4 data:2byte -lbl_1_bss_3B0 = .bss:0x000003B0; // type:object size:0x2 data:2byte -lbl_1_bss_3B2 = .bss:0x000003B2; // type:object size:0x6 data:2byte -lbl_1_bss_3B8 = .bss:0x000003B8; // type:object size:0x4 data:4byte -lbl_1_bss_3BC = .bss:0x000003BC; // type:object size:0x4 data:4byte -lbl_1_bss_3C0 = .bss:0x000003C0; // type:object size:0x2 data:2byte -lbl_1_bss_3C2 = .bss:0x000003C2; // type:object size:0x2 data:2byte -lbl_1_bss_3C4 = .bss:0x000003C4; // type:object size:0x4 data:4byte -lbl_1_bss_3C8 = .bss:0x000003C8; // type:object size:0x4 data:4byte -lbl_1_bss_3CC = .bss:0x000003CC; // type:object size:0x4 data:4byte -lbl_1_bss_3D0 = .bss:0x000003D0; // type:object size:0x4 data:4byte -lbl_1_bss_3D4 = .bss:0x000003D4; // type:object size:0x4 data:4byte -lbl_1_bss_3D8 = .bss:0x000003D8; // type:object size:0x18 data:4byte -lbl_1_bss_3F0 = .bss:0x000003F0; // type:object size:0x50 data:4byte -lbl_1_bss_440 = .bss:0x00000440; // type:object size:0x8 data:4byte -lbl_1_bss_448 = .bss:0x00000448; // type:object size:0x8 data:4byte -lbl_1_bss_450 = .bss:0x00000450; // type:object size:0x8 data:4byte -lbl_1_bss_458 = .bss:0x00000458; // type:object size:0x4 data:4byte -lbl_1_bss_45C = .bss:0x0000045C; // type:object size:0x4 data:4byte -lbl_1_bss_460 = .bss:0x00000460; // type:object size:0x4 data:4byte -lbl_1_bss_464 = .bss:0x00000464; // type:object size:0x2000 data:float -lbl_1_bss_2464 = .bss:0x00002464; // type:object size:0x4 data:4byte -lbl_1_bss_2468 = .bss:0x00002468; // type:object size:0x400 data:2byte -lbl_1_bss_2868 = .bss:0x00002868; // type:object size:0x3000 data:float -lbl_1_bss_5868 = .bss:0x00005868; // type:object size:0x4 data:4byte -lbl_1_bss_5870 = .bss:0x00005870; // type:object size:0x10 -lbl_1_bss_5880 = .bss:0x00005880; // type:object size:0x800 -lbl_1_bss_6080 = .bss:0x00006080; // type:object size:0x400 -lbl_1_bss_6480 = .bss:0x00006480; // type:object size:0x1000 -lbl_1_bss_7480 = .bss:0x00007480; // type:object size:0x400 data:4byte -lbl_1_bss_7880 = .bss:0x00007880; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m435Dll/splits.txt b/config/GMPP01_00/rels/m435Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m435Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m435Dll/symbols.txt b/config/GMPP01_00/rels/m435Dll/symbols.txt deleted file mode 100644 index 38995f87..00000000 --- a/config/GMPP01_00/rels/m435Dll/symbols.txt +++ /dev/null @@ -1,471 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x1A8 -fn_1_1A8 = .text:0x000001A8; // type:function size:0x88 -fn_1_230 = .text:0x00000230; // type:function size:0x68 -fn_1_298 = .text:0x00000298; // type:function size:0x6C -fn_1_304 = .text:0x00000304; // type:function size:0x130 -fn_1_434 = .text:0x00000434; // type:function size:0x3E4 -fn_1_818 = .text:0x00000818; // type:function size:0x8C -fn_1_8A4 = .text:0x000008A4; // type:function size:0x20 -fn_1_8C4 = .text:0x000008C4; // type:function size:0x20 -fn_1_8E4 = .text:0x000008E4; // type:function size:0x48 -fn_1_92C = .text:0x0000092C; // type:function size:0x6B0 -fn_1_FDC = .text:0x00000FDC; // type:function size:0x134 -fn_1_1110 = .text:0x00001110; // type:function size:0xC4 -fn_1_11D4 = .text:0x000011D4; // type:function size:0x644 -fn_1_1818 = .text:0x00001818; // type:function size:0x24 -fn_1_183C = .text:0x0000183C; // type:function size:0x458 -fn_1_1C94 = .text:0x00001C94; // type:function size:0x1EC -fn_1_1E80 = .text:0x00001E80; // type:function size:0x1EC -fn_1_206C = .text:0x0000206C; // type:function size:0x458 -fn_1_24C4 = .text:0x000024C4; // type:function size:0x68 -fn_1_252C = .text:0x0000252C; // type:function size:0x68 -fn_1_2594 = .text:0x00002594; // type:function size:0xE8 -fn_1_267C = .text:0x0000267C; // type:function size:0x11C -fn_1_2798 = .text:0x00002798; // type:function size:0x84 -fn_1_281C = .text:0x0000281C; // type:function size:0x70 -fn_1_288C = .text:0x0000288C; // type:function size:0x38 -fn_1_28C4 = .text:0x000028C4; // type:function size:0x24 -fn_1_28E8 = .text:0x000028E8; // type:function size:0x38 -fn_1_2920 = .text:0x00002920; // type:function size:0x1C8 -fn_1_2AE8 = .text:0x00002AE8; // type:function size:0x64 -fn_1_2B4C = .text:0x00002B4C; // type:function size:0xA8 -fn_1_2BF4 = .text:0x00002BF4; // type:function size:0x20 -fn_1_2C14 = .text:0x00002C14; // type:function size:0x5A0 -fn_1_31B4 = .text:0x000031B4; // type:function size:0xCC -fn_1_3280 = .text:0x00003280; // type:function size:0x2D0 -fn_1_3550 = .text:0x00003550; // type:function size:0x59C -fn_1_3AEC = .text:0x00003AEC; // type:function size:0x20 -fn_1_3B0C = .text:0x00003B0C; // type:function size:0x370 -fn_1_3E7C = .text:0x00003E7C; // type:function size:0x20 -fn_1_3E9C = .text:0x00003E9C; // type:function size:0x260 -fn_1_40FC = .text:0x000040FC; // type:function size:0x2C -fn_1_4128 = .text:0x00004128; // type:function size:0x5A8 -fn_1_46D0 = .text:0x000046D0; // type:function size:0x22C -fn_1_48FC = .text:0x000048FC; // type:function size:0x3E8 -fn_1_4CE4 = .text:0x00004CE4; // type:function size:0x11C -fn_1_4E00 = .text:0x00004E00; // type:function size:0x1AC -fn_1_4FAC = .text:0x00004FAC; // type:function size:0x484 -fn_1_5430 = .text:0x00005430; // type:function size:0x1C8 -fn_1_55F8 = .text:0x000055F8; // type:function size:0x44 -fn_1_563C = .text:0x0000563C; // type:function size:0x1C18 -fn_1_7254 = .text:0x00007254; // type:function size:0x48 -fn_1_729C = .text:0x0000729C; // type:function size:0x384 -fn_1_7620 = .text:0x00007620; // type:function size:0x374 -fn_1_7994 = .text:0x00007994; // type:function size:0x24 -fn_1_79B8 = .text:0x000079B8; // type:function size:0xB8 -fn_1_7A70 = .text:0x00007A70; // type:function size:0xCC -fn_1_7B3C = .text:0x00007B3C; // type:function size:0x1E4 -fn_1_7D20 = .text:0x00007D20; // type:function size:0x28 -fn_1_7D48 = .text:0x00007D48; // type:function size:0x24 -fn_1_7D6C = .text:0x00007D6C; // type:function size:0x160 -fn_1_7ECC = .text:0x00007ECC; // type:function size:0x37C -fn_1_8248 = .text:0x00008248; // type:function size:0x24 -fn_1_826C = .text:0x0000826C; // type:function size:0x2D0 -fn_1_853C = .text:0x0000853C; // type:function size:0x4C -fn_1_8588 = .text:0x00008588; // type:function size:0x1A4 -fn_1_872C = .text:0x0000872C; // type:function size:0x17C -fn_1_88A8 = .text:0x000088A8; // type:function size:0x598 -fn_1_8E40 = .text:0x00008E40; // type:function size:0x28 -fn_1_8E68 = .text:0x00008E68; // type:function size:0x58 -fn_1_8EC0 = .text:0x00008EC0; // type:function size:0x2C -fn_1_8EEC = .text:0x00008EEC; // type:function size:0x40 -fn_1_8F2C = .text:0x00008F2C; // type:function size:0x18 -fn_1_8F44 = .text:0x00008F44; // type:function size:0x150 -fn_1_9094 = .text:0x00009094; // type:function size:0x6CC -fn_1_9760 = .text:0x00009760; // type:function size:0x28 -fn_1_9788 = .text:0x00009788; // type:function size:0x94 -fn_1_981C = .text:0x0000981C; // type:function size:0x28 -fn_1_9844 = .text:0x00009844; // type:function size:0x380 -fn_1_9BC4 = .text:0x00009BC4; // type:function size:0x3C -fn_1_9C00 = .text:0x00009C00; // type:function size:0x180 -fn_1_9D80 = .text:0x00009D80; // type:function size:0x1F4 -fn_1_9F74 = .text:0x00009F74; // type:function size:0x1CC -fn_1_A140 = .text:0x0000A140; // type:function size:0x370 -fn_1_A4B0 = .text:0x0000A4B0; // type:function size:0x28 -fn_1_A4D8 = .text:0x0000A4D8; // type:function size:0x190 -fn_1_A668 = .text:0x0000A668; // type:function size:0x64 -fn_1_A6CC = .text:0x0000A6CC; // type:function size:0x1F0 -fn_1_A8BC = .text:0x0000A8BC; // type:function size:0x338 -fn_1_ABF4 = .text:0x0000ABF4; // type:function size:0x160 -fn_1_AD54 = .text:0x0000AD54; // type:function size:0x498 -fn_1_B1EC = .text:0x0000B1EC; // type:function size:0x634 -fn_1_B820 = .text:0x0000B820; // type:function size:0x128 -fn_1_B948 = .text:0x0000B948; // type:function size:0x298 -fn_1_BBE0 = .text:0x0000BBE0; // type:function size:0xB0 -fn_1_BC90 = .text:0x0000BC90; // type:function size:0xD8 -fn_1_BD68 = .text:0x0000BD68; // type:function size:0xB0 -fn_1_BE18 = .text:0x0000BE18; // type:function size:0xB0 -fn_1_BEC8 = .text:0x0000BEC8; // type:function size:0xB0 -fn_1_BF78 = .text:0x0000BF78; // type:function size:0xE4 -fn_1_C05C = .text:0x0000C05C; // type:function size:0xD8 -fn_1_C134 = .text:0x0000C134; // type:function size:0xD8 -fn_1_C20C = .text:0x0000C20C; // type:function size:0xD8 -fn_1_C2E4 = .text:0x0000C2E4; // type:function size:0xD8 -fn_1_C3BC = .text:0x0000C3BC; // type:function size:0xD8 -fn_1_C494 = .text:0x0000C494; // type:function size:0xB0 -fn_1_C544 = .text:0x0000C544; // type:function size:0xB0 -fn_1_C5F4 = .text:0x0000C5F4; // type:function size:0x168 -fn_1_C75C = .text:0x0000C75C; // type:function size:0x558 -fn_1_CCB4 = .text:0x0000CCB4; // type:function size:0x3A0 -fn_1_D054 = .text:0x0000D054; // type:function size:0x43C -fn_1_D490 = .text:0x0000D490; // type:function size:0x424 -fn_1_D8B4 = .text:0x0000D8B4; // type:function size:0x8D4 -fn_1_E188 = .text:0x0000E188; // type:function size:0x4E0 -fn_1_E668 = .text:0x0000E668; // type:function size:0x3E4 -fn_1_EA4C = .text:0x0000EA4C; // type:function size:0x340 -fn_1_ED8C = .text:0x0000ED8C; // type:function size:0x448 -fn_1_F1D4 = .text:0x0000F1D4; // type:function size:0x4 -fn_1_F1D8 = .text:0x0000F1D8; // type:function size:0x18C -fn_1_F364 = .text:0x0000F364; // type:function size:0x3C -fn_1_F3A0 = .text:0x0000F3A0; // type:function size:0x5C -fn_1_F3FC = .text:0x0000F3FC; // type:function size:0x78 -fn_1_F474 = .text:0x0000F474; // type:function size:0x5C -fn_1_F4D0 = .text:0x0000F4D0; // type:function size:0x5C -fn_1_F52C = .text:0x0000F52C; // type:function size:0x48 -fn_1_F574 = .text:0x0000F574; // type:function size:0x3C -fn_1_F5B0 = .text:0x0000F5B0; // type:function size:0x80 -fn_1_F630 = .text:0x0000F630; // type:function size:0x64 -fn_1_F694 = .text:0x0000F694; // type:function size:0x5C -fn_1_F6F0 = .text:0x0000F6F0; // type:function size:0x70 -fn_1_F760 = .text:0x0000F760; // type:function size:0x48 -fn_1_F7A8 = .text:0x0000F7A8; // type:function size:0xA8 -fn_1_F850 = .text:0x0000F850; // type:function size:0x44 -fn_1_F894 = .text:0x0000F894; // type:function size:0x5C -fn_1_F8F0 = .text:0x0000F8F0; // type:function size:0x5C -fn_1_F94C = .text:0x0000F94C; // type:function size:0x4 -fn_1_F950 = .text:0x0000F950; // type:function size:0x48 -fn_1_F998 = .text:0x0000F998; // type:function size:0x4C -fn_1_F9E4 = .text:0x0000F9E4; // type:function size:0x5C -fn_1_FA40 = .text:0x0000FA40; // type:function size:0x108 -fn_1_FB48 = .text:0x0000FB48; // type:function size:0x5C -fn_1_FBA4 = .text:0x0000FBA4; // type:function size:0xB0 -fn_1_FC54 = .text:0x0000FC54; // type:function size:0x208 -fn_1_FE5C = .text:0x0000FE5C; // type:function size:0x30 -fn_1_FE8C = .text:0x0000FE8C; // type:function size:0x98 -fn_1_FF24 = .text:0x0000FF24; // type:function size:0x808 -fn_1_1072C = .text:0x0001072C; // type:function size:0x28 -fn_1_10754 = .text:0x00010754; // type:function size:0xD8 -fn_1_1082C = .text:0x0001082C; // type:function size:0xD8 -fn_1_10904 = .text:0x00010904; // type:function size:0x108 -fn_1_10A0C = .text:0x00010A0C; // type:function size:0x408 -fn_1_10E14 = .text:0x00010E14; // type:function size:0x404 -fn_1_11218 = .text:0x00011218; // type:function size:0x488 -fn_1_116A0 = .text:0x000116A0; // type:function size:0x45C -fn_1_11AFC = .text:0x00011AFC; // type:function size:0x478 -fn_1_11F74 = .text:0x00011F74; // type:function size:0x4 -fn_1_11F78 = .text:0x00011F78; // type:function size:0x48 -fn_1_11FC0 = .text:0x00011FC0; // type:function size:0x9C -fn_1_1205C = .text:0x0001205C; // type:function size:0x1AC -fn_1_12208 = .text:0x00012208; // type:function size:0x50 -fn_1_12258 = .text:0x00012258; // type:function size:0x48 -fn_1_122A0 = .text:0x000122A0; // type:function size:0x38 -fn_1_122D8 = .text:0x000122D8; // type:function size:0x134 -fn_1_1240C = .text:0x0001240C; // type:function size:0x2C -fn_1_12438 = .text:0x00012438; // type:function size:0x134 -fn_1_1256C = .text:0x0001256C; // type:function size:0x48 -fn_1_125B4 = .text:0x000125B4; // type:function size:0x48 -fn_1_125FC = .text:0x000125FC; // type:function size:0xF0 -fn_1_126EC = .text:0x000126EC; // type:function size:0xC0 -fn_1_127AC = .text:0x000127AC; // type:function size:0x5C -fn_1_12808 = .text:0x00012808; // type:function size:0x48 -fn_1_12850 = .text:0x00012850; // type:function size:0x100 -fn_1_12950 = .text:0x00012950; // type:function size:0x1F8 -fn_1_12B48 = .text:0x00012B48; // type:function size:0x3C -fn_1_12B84 = .text:0x00012B84; // type:function size:0x5C -fn_1_12BE0 = .text:0x00012BE0; // type:function size:0x3C -fn_1_12C1C = .text:0x00012C1C; // type:function size:0x5C -fn_1_12C78 = .text:0x00012C78; // type:function size:0x3C -fn_1_12CB4 = .text:0x00012CB4; // type:function size:0x5C -fn_1_12D10 = .text:0x00012D10; // type:function size:0x230 -fn_1_12F40 = .text:0x00012F40; // type:function size:0xF4 -fn_1_13034 = .text:0x00013034; // type:function size:0x4C -fn_1_13080 = .text:0x00013080; // type:function size:0x128 -fn_1_131A8 = .text:0x000131A8; // type:function size:0x40 -fn_1_131E8 = .text:0x000131E8; // type:function size:0x98 -fn_1_13280 = .text:0x00013280; // type:function size:0xB0 -fn_1_13330 = .text:0x00013330; // type:function size:0xAC -fn_1_133DC = .text:0x000133DC; // type:function size:0x30 -fn_1_1340C = .text:0x0001340C; // type:function size:0x98 -fn_1_134A4 = .text:0x000134A4; // type:function size:0xF4 -fn_1_13598 = .text:0x00013598; // type:function size:0x60 -fn_1_135F8 = .text:0x000135F8; // type:function size:0xD84 -fn_1_1437C = .text:0x0001437C; // type:function size:0x3DC -fn_1_14758 = .text:0x00014758; // type:function size:0x254 -_prolog = .text:0x000149AC; // type:function size:0x54 scope:global -_epilog = .text:0x00014A00; // type:function size:0x4C scope:global -fn_1_14A4C = .text:0x00014A4C; // type:function size:0x40C -fn_1_14E58 = .text:0x00014E58; // type:function size:0x40C -fn_1_15264 = .text:0x00015264; // type:function size:0x28 -fn_1_1528C = .text:0x0001528C; // type:function size:0x40 -fn_1_152CC = .text:0x000152CC; // type:function size:0xC8 -fn_1_15394 = .text:0x00015394; // type:function size:0xD8 -fn_1_1546C = .text:0x0001546C; // type:function size:0x50 -fn_1_154BC = .text:0x000154BC; // type:function size:0x5C -fn_1_15518 = .text:0x00015518; // type:function size:0x88 -fn_1_155A0 = .text:0x000155A0; // type:function size:0x74 -fn_1_15614 = .text:0x00015614; // type:function size:0x54 -fn_1_15668 = .text:0x00015668; // type:function size:0x3C -fn_1_156A4 = .text:0x000156A4; // type:function size:0x110 -fn_1_157B4 = .text:0x000157B4; // type:function size:0x178 -fn_1_1592C = .text:0x0001592C; // type:function size:0x1C8 -fn_1_15AF4 = .text:0x00015AF4; // type:function size:0x318 -fn_1_15E0C = .text:0x00015E0C; // type:function size:0x3C -fn_1_15E48 = .text:0x00015E48; // type:function size:0x4C -fn_1_15E94 = .text:0x00015E94; // type:function size:0x314 -fn_1_161A8 = .text:0x000161A8; // type:function size:0x314 -fn_1_164BC = .text:0x000164BC; // type:function size:0x27C -fn_1_16738 = .text:0x00016738; // type:function size:0x2B4 -fn_1_169EC = .text:0x000169EC; // type:function size:0x530 -fn_1_16F1C = .text:0x00016F1C; // type:function size:0x454 -fn_1_17370 = .text:0x00017370; // type:function size:0x48C -fn_1_177FC = .text:0x000177FC; // type:function size:0x71C -fn_1_17F18 = .text:0x00017F18; // type:function size:0x4C4 -fn_1_183DC = .text:0x000183DC; // type:function size:0x4FC -fn_1_188D8 = .text:0x000188D8; // type:function size:0x78C -fn_1_19064 = .text:0x00019064; // type:function size:0x4C4 -fn_1_19528 = .text:0x00019528; // type:function size:0x60 -fn_1_19588 = .text:0x00019588; // type:function size:0x64 -fn_1_195EC = .text:0x000195EC; // type:function size:0x64 -fn_1_19650 = .text:0x00019650; // type:function size:0x23C -fn_1_1988C = .text:0x0001988C; // type:function size:0x64 -fn_1_198F0 = .text:0x000198F0; // type:function size:0x68 -fn_1_19958 = .text:0x00019958; // type:function size:0x8 -fn_1_19960 = .text:0x00019960; // type:function size:0xC -fn_1_1996C = .text:0x0001996C; // type:function size:0x8 -fn_1_19974 = .text:0x00019974; // type:function size:0x344 -fn_1_19CB8 = .text:0x00019CB8; // type:function size:0x190 -fn_1_19E48 = .text:0x00019E48; // type:function size:0x4EC -fn_1_1A334 = .text:0x0001A334; // type:function size:0x110 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0xC data:4byte -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0xC data:4byte -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC data:4byte -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:4byte -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x48 -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x20 data:4byte -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x30 data:4byte -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x30 data:4byte -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x30 data:4byte -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x8 data:4byte -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x8 data:4byte -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x8 data:4byte -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x8 data:4byte -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x24 data:4byte -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 data:4byte -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x24 data:4byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x8 data:4byte -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x8 data:4byte -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:4byte -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:4byte -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x8 data:4byte -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x8 data:4byte -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x10 data:4byte -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x8 data:4byte -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x8 data:4byte -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x8 data:4byte -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x8 data:4byte -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x30 data:4byte -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x64 data:4byte -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 data:double -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 data:double -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x8 data:double -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x8 data:double -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x8 data:double -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x8 data:double -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x60 -lbl_1_data_60 = .data:0x00000060; // type:object size:0x10 data:string -lbl_1_data_70 = .data:0x00000070; // type:object size:0x10 data:string -lbl_1_data_80 = .data:0x00000080; // type:object size:0x10 data:string -lbl_1_data_90 = .data:0x00000090; // type:object size:0x10 data:string -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x10 data:string -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x10 data:string -lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x10 data:string -lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x10 data:string -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x20 -lbl_1_data_100 = .data:0x00000100; // type:object size:0x40 -lbl_1_data_140 = .data:0x00000140; // type:object size:0xA0 -lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0x4 data:4byte -lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x4 data:4byte -lbl_1_data_1E8 = .data:0x000001E8; // type:object size:0x4 data:4byte -lbl_1_data_1EC = .data:0x000001EC; // type:object size:0x1B data:string -lbl_1_data_207 = .data:0x00000207; // type:object size:0x22 data:string -lbl_1_data_229 = .data:0x00000229; // type:object size:0x1A data:string -lbl_1_data_243 = .data:0x00000243; // type:object size:0x1A data:string -lbl_1_data_25D = .data:0x0000025D; // type:object size:0xF -lbl_1_data_26C = .data:0x0000026C; // type:object size:0x4 data:4byte -jumptable_1_data_270 = .data:0x00000270; // type:object size:0x54 scope:local -lbl_1_data_2C4 = .data:0x000002C4; // type:object size:0x4 data:float -lbl_1_data_2C8 = .data:0x000002C8; // type:object size:0x13 data:string -lbl_1_data_2DB = .data:0x000002DB; // type:object size:0x11 -jumptable_1_data_2EC = .data:0x000002EC; // type:object size:0x24 scope:local -jumptable_1_data_310 = .data:0x00000310; // type:object size:0x2C scope:local -lbl_1_data_33C = .data:0x0000033C; // type:object size:0xE data:string -lbl_1_data_34A = .data:0x0000034A; // type:object size:0x12 data:string -lbl_1_data_35C = .data:0x0000035C; // type:object size:0x14 -jumptable_1_data_370 = .data:0x00000370; // type:object size:0x30 scope:local -lbl_1_data_3A0 = .data:0x000003A0; // type:object size:0xA8 -jumptable_1_data_448 = .data:0x00000448; // type:object size:0x1C scope:local -lbl_1_data_464 = .data:0x00000464; // type:object size:0x4 -lbl_1_data_468 = .data:0x00000468; // type:object size:0xB4 -lbl_1_data_51C = .data:0x0000051C; // type:object size:0x18 -jumptable_1_data_534 = .data:0x00000534; // type:object size:0x28 scope:local -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x8 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x18 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x30 -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x18 data:4byte -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x18 data:4byte -lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0xA8 data:4byte -lbl_1_bss_144 = .bss:0x00000144; // type:object size:0x160 -lbl_1_bss_2A4 = .bss:0x000002A4; // type:object size:0x978 data:4byte -lbl_1_bss_C1C = .bss:0x00000C1C; // type:object size:0x14 data:4byte -lbl_1_bss_C30 = .bss:0x00000C30; // type:object size:0x1B4 data:4byte -lbl_1_bss_DE4 = .bss:0x00000DE4; // type:object size:0x24 data:4byte -lbl_1_bss_E08 = .bss:0x00000E08; // type:object size:0x80 data:4byte -lbl_1_bss_E88 = .bss:0x00000E88; // type:object size:0x4060 data:4byte -lbl_1_bss_4EE8 = .bss:0x00004EE8; // type:object size:0x20 data:4byte -lbl_1_bss_4F08 = .bss:0x00004F08; // type:object size:0x8 data:4byte -lbl_1_bss_4F10 = .bss:0x00004F10; // type:object size:0x38 data:4byte diff --git a/config/GMPP01_00/rels/m436Dll/splits.txt b/config/GMPP01_00/rels/m436Dll/splits.txt deleted file mode 100644 index a76a23ab..00000000 --- a/config/GMPP01_00/rels/m436Dll/splits.txt +++ /dev/null @@ -1,17 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/m436Dll/main.c: - .text start:0x00000000 end:0x000110F4 - .rodata start:0x00000000 end:0x00000350 - .data start:0x00000000 end:0x0000036C - .bss start:0x00000000 end:0x000004B4 - -REL/m436Dll/sequence.c: - .text start:0x000110F4 end:0x000154A8 - .rodata start:0x00000350 end:0x000003B8 diff --git a/config/GMPP01_00/rels/m436Dll/symbols.txt b/config/GMPP01_00/rels/m436Dll/symbols.txt deleted file mode 100644 index 35ef65e7..00000000 --- a/config/GMPP01_00/rels/m436Dll/symbols.txt +++ /dev/null @@ -1,352 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x1A8 -fn_1_1A8 = .text:0x000001A8; // type:function size:0x88 -fn_1_230 = .text:0x00000230; // type:function size:0x3E4 -fn_1_614 = .text:0x00000614; // type:function size:0x68 -fn_1_67C = .text:0x0000067C; // type:function size:0x6C -fn_1_6E8 = .text:0x000006E8; // type:function size:0x130 -fn_1_818 = .text:0x00000818; // type:function size:0x8C -fn_1_8A4 = .text:0x000008A4; // type:function size:0x20 -fn_1_8C4 = .text:0x000008C4; // type:function size:0x6A8 -fn_1_F6C = .text:0x00000F6C; // type:function size:0x118 -fn_1_1084 = .text:0x00001084; // type:function size:0xC4 -fn_1_1148 = .text:0x00001148; // type:function size:0x644 -fn_1_178C = .text:0x0000178C; // type:function size:0x24 -fn_1_17B0 = .text:0x000017B0; // type:function size:0x458 -fn_1_1C08 = .text:0x00001C08; // type:function size:0x458 -fn_1_2060 = .text:0x00002060; // type:function size:0x1D0 -fn_1_2230 = .text:0x00002230; // type:function size:0x1D0 -fn_1_2400 = .text:0x00002400; // type:function size:0x68 -fn_1_2468 = .text:0x00002468; // type:function size:0x68 -fn_1_24D0 = .text:0x000024D0; // type:function size:0xE8 -fn_1_25B8 = .text:0x000025B8; // type:function size:0x11C -fn_1_26D4 = .text:0x000026D4; // type:function size:0x70 -fn_1_2744 = .text:0x00002744; // type:function size:0x84 -fn_1_27C8 = .text:0x000027C8; // type:function size:0x38 -fn_1_2800 = .text:0x00002800; // type:function size:0x24 -fn_1_2824 = .text:0x00002824; // type:function size:0x38 -fn_1_285C = .text:0x0000285C; // type:function size:0x1C8 -fn_1_2A2C = .text:0x00002A24; // type:function size:0x64 -fn_1_2A90 = .text:0x00002A88; // type:function size:0x304 -fn_1_2D94 = .text:0x00002D8C; // type:function size:0x28C -fn_1_3020 = .text:0x00003018; // type:function size:0x68 -fn_1_3088 = .text:0x00003080; // type:function size:0x174 -fn_1_31FC = .text:0x000031F4; // type:function size:0x7B8 -fn_1_39B4 = .text:0x000039AC; // type:function size:0x23C -fn_1_3BF0 = .text:0x00003BE8; // type:function size:0x61C -fn_1_420C = .text:0x00004204; // type:function size:0xF8 -fn_1_4304 = .text:0x000042FC; // type:function size:0x290 -fn_1_4594 = .text:0x0000458C; // type:function size:0x318 -fn_1_48AC = .text:0x000048A4; // type:function size:0x150 -fn_1_49FC = .text:0x000049F4; // type:function size:0xB8 -fn_1_4AB4 = .text:0x00004AAC; // type:function size:0x68 -fn_1_4B1C = .text:0x00004B14; // type:function size:0x38C -fn_1_4EA8 = .text:0x00004EA0; // type:function size:0x108 -fn_1_4FB0 = .text:0x00004FA8; // type:function size:0x3DC -fn_1_538C = .text:0x00005384; // type:function size:0x28 -fn_1_53B4 = .text:0x000053AC; // type:function size:0x60 -fn_1_5414 = .text:0x0000540C; // type:function size:0x3C -fn_1_5450 = .text:0x00005448; // type:function size:0x50 -fn_1_54A0 = .text:0x00005498; // type:function size:0x168 -fn_1_5608 = .text:0x00005600; // type:function size:0x6C8 -fn_1_5CD0 = .text:0x00005CC8; // type:function size:0x390 -fn_1_6060 = .text:0x00006058; // type:function size:0x264 -fn_1_62C4 = .text:0x000062BC; // type:function size:0x624 -fn_1_68E8 = .text:0x000068E0; // type:function size:0x5C -fn_1_6944 = .text:0x0000693C; // type:function size:0x298 -fn_1_6BDC = .text:0x00006BD4; // type:function size:0xB0 -fn_1_6C8C = .text:0x00006C84; // type:function size:0xD8 -fn_1_6D64 = .text:0x00006D5C; // type:function size:0xB0 -fn_1_6E14 = .text:0x00006E0C; // type:function size:0xB0 -fn_1_6EC4 = .text:0x00006EBC; // type:function size:0xB0 -fn_1_6F74 = .text:0x00006F6C; // type:function size:0xD8 -fn_1_704C = .text:0x00007044; // type:function size:0xB0 -fn_1_70FC = .text:0x000070F4; // type:function size:0xB0 -fn_1_71AC = .text:0x000071A4; // type:function size:0x120 -fn_1_72CC = .text:0x000072C4; // type:function size:0x524 -fn_1_77F0 = .text:0x000077E8; // type:function size:0x368 -fn_1_7B58 = .text:0x00007B50; // type:function size:0x3C4 -fn_1_7F1C = .text:0x00007F14; // type:function size:0x268C -fn_1_A5A8 = .text:0x0000A5A0; // type:function size:0xE2C -fn_1_B3D4 = .text:0x0000B3CC; // type:function size:0x40C -fn_1_B7E0 = .text:0x0000B7D8; // type:function size:0x4 -fn_1_B7E4 = .text:0x0000B7DC; // type:function size:0x184 -fn_1_B968 = .text:0x0000B960; // type:function size:0x4C -fn_1_B9B4 = .text:0x0000B9AC; // type:function size:0x5C -fn_1_BA10 = .text:0x0000BA08; // type:function size:0x94 -fn_1_BAA4 = .text:0x0000BA9C; // type:function size:0x100 -fn_1_BBA4 = .text:0x0000BB9C; // type:function size:0x50 -fn_1_BBF4 = .text:0x0000BBEC; // type:function size:0x48 -fn_1_BC3C = .text:0x0000BC34; // type:function size:0x3C -fn_1_BC78 = .text:0x0000BC70; // type:function size:0x80 -fn_1_BCF8 = .text:0x0000BCF0; // type:function size:0x74 -fn_1_BD6C = .text:0x0000BD64; // type:function size:0xB0 -fn_1_BE1C = .text:0x0000BE14; // type:function size:0x50 -fn_1_BE6C = .text:0x0000BE64; // type:function size:0x48 -fn_1_BEB4 = .text:0x0000BEAC; // type:function size:0x4C -fn_1_BF00 = .text:0x0000BEF8; // type:function size:0xC8 -fn_1_BFC8 = .text:0x0000BFC0; // type:function size:0x30 -fn_1_BFF8 = .text:0x0000BFF0; // type:function size:0x98 -fn_1_C090 = .text:0x0000C088; // type:function size:0x458 -fn_1_C4E8 = .text:0x0000C4E0; // type:function size:0xFC -fn_1_C5E4 = .text:0x0000C5DC; // type:function size:0xB0 -fn_1_C694 = .text:0x0000C68C; // type:function size:0xD8 -fn_1_C76C = .text:0x0000C764; // type:function size:0xD8 -fn_1_C844 = .text:0x0000C83C; // type:function size:0xC8 -fn_1_C90C = .text:0x0000C904; // type:function size:0x398 -fn_1_CCA4 = .text:0x0000CC9C; // type:function size:0x374 -fn_1_D018 = .text:0x0000D010; // type:function size:0x32C -fn_1_D344 = .text:0x0000D33C; // type:function size:0xD4 -fn_1_D418 = .text:0x0000D410; // type:function size:0x2A8 -fn_1_D6C0 = .text:0x0000D6B8; // type:function size:0x24 -fn_1_D6E4 = .text:0x0000D6DC; // type:function size:0x37C -fn_1_DA60 = .text:0x0000DA58; // type:function size:0xA0 -fn_1_DB00 = .text:0x0000DAF8; // type:function size:0x2BC -fn_1_DDBC = .text:0x0000DDB4; // type:function size:0xF4 -fn_1_DEB0 = .text:0x0000DEA8; // type:function size:0x200 -fn_1_E0B0 = .text:0x0000E0A8; // type:function size:0x94 -fn_1_E144 = .text:0x0000E13C; // type:function size:0x248 -fn_1_E38C = .text:0x0000E384; // type:function size:0x140 -fn_1_E4CC = .text:0x0000E4C4; // type:function size:0xA0 -fn_1_E56C = .text:0x0000E564; // type:function size:0xBC -fn_1_E628 = .text:0x0000E620; // type:function size:0x58 -fn_1_E680 = .text:0x0000E678; // type:function size:0x90 -fn_1_E710 = .text:0x0000E708; // type:function size:0x220 -fn_1_E930 = .text:0x0000E928; // type:function size:0xD4 -fn_1_EA04 = .text:0x0000E9FC; // type:function size:0x348 -fn_1_ED4C = .text:0x0000ED44; // type:function size:0xC4 -fn_1_EE10 = .text:0x0000EE08; // type:function size:0x5F4 -fn_1_F404 = .text:0x0000F3FC; // type:function size:0xEC -fn_1_F4F0 = .text:0x0000F4E8; // type:function size:0x48 -fn_1_F538 = .text:0x0000F530; // type:function size:0x30 -fn_1_F568 = .text:0x0000F560; // type:function size:0x98 -fn_1_F600 = .text:0x0000F5F8; // type:function size:0xB0 -fn_1_F6B0 = .text:0x0000F6A8; // type:function size:0xAC -fn_1_F75C = .text:0x0000F754; // type:function size:0x30 -fn_1_F78C = .text:0x0000F784; // type:function size:0x98 -fn_1_F824 = .text:0x0000F81C; // type:function size:0x100 -fn_1_F924 = .text:0x0000F91C; // type:function size:0x60 -fn_1_F984 = .text:0x0000F97C; // type:function size:0x8E8 -fn_1_1026C = .text:0x00010264; // type:function size:0x404 -fn_1_10670 = .text:0x00010668; // type:function size:0x1CC -_prolog = .text:0x00010834; // type:function size:0x54 scope:global -_epilog = .text:0x00010888; // type:function size:0x4C scope:global -fn_1_108DC = .text:0x000108D4; // type:function size:0x410 -ObjectSetup = .text:0x00010CE4; // type:function size:0x410 -fn_1_110FC = .text:0x000110F4; // type:function size:0x40 -fn_1_1113C = .text:0x00011134; // type:function size:0x28 -fn_1_11164 = .text:0x0001115C; // type:function size:0xC8 -fn_1_1122C = .text:0x00011224; // type:function size:0xC8 -fn_1_112F4 = .text:0x000112EC; // type:function size:0xD8 -fn_1_113CC = .text:0x000113C4; // type:function size:0x33C -fn_1_11708 = .text:0x00011700; // type:function size:0x110 -fn_1_11818 = .text:0x00011810; // type:function size:0x178 -fn_1_11990 = .text:0x00011988; // type:function size:0x188 -fn_1_11B18 = .text:0x00011B10; // type:function size:0x1B0 -fn_1_11CC8 = .text:0x00011CC0; // type:function size:0x50 -fn_1_11D18 = .text:0x00011D10; // type:function size:0x5C -fn_1_11D74 = .text:0x00011D6C; // type:function size:0x88 -fn_1_11DFC = .text:0x00011DF4; // type:function size:0x74 -fn_1_11E70 = .text:0x00011E68; // type:function size:0x94 -fn_1_11F04 = .text:0x00011EFC; // type:function size:0x3C -fn_1_11F40 = .text:0x00011F38; // type:function size:0x318 -fn_1_12258 = .text:0x00012250; // type:function size:0x3C -fn_1_12294 = .text:0x0001228C; // type:function size:0x4C -fn_1_122E0 = .text:0x000122D8; // type:function size:0x314 -fn_1_125F4 = .text:0x000125EC; // type:function size:0x314 -fn_1_12908 = .text:0x00012900; // type:function size:0x27C -fn_1_12B84 = .text:0x00012B7C; // type:function size:0x2B4 -fn_1_12E38 = .text:0x00012E30; // type:function size:0x530 -fn_1_13368 = .text:0x00013360; // type:function size:0x454 -fn_1_137BC = .text:0x000137B4; // type:function size:0x48C -fn_1_13C48 = .text:0x00013C40; // type:function size:0x71C -fn_1_14364 = .text:0x0001435C; // type:function size:0x4C4 -fn_1_14828 = .text:0x00014820; // type:function size:0x4FC -fn_1_14D24 = .text:0x00014D1C; // type:function size:0x78C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 scope:local data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0xC scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0xC scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x3C scope:local data:4byte -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0xC scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x30 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x30 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x30 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 scope:local data:double -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 scope:local data:double -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x8 scope:local data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x20 -lbl_1_data_20 = .data:0x00000020; // type:object size:0x20 -lbl_1_data_40 = .data:0x00000040; // type:object size:0xA0 -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x4 data:4byte -lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x4 data:4byte -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x4 data:4byte -lbl_1_data_EC = .data:0x000000EC; // type:object size:0x1B scope:local data:string -lbl_1_data_107 = .data:0x00000107; // type:object size:0x22 scope:local data:string -lbl_1_data_129 = .data:0x00000129; // type:object size:0x1A scope:local data:string -lbl_1_data_143 = .data:0x00000143; // type:object size:0x1A scope:local data:string -lbl_1_data_15D = .data:0x0000015D; // type:object size:0xE scope:local data:string -lbl_1_data_16C = .data:0x0000016C; // type:object size:0x4 data:4byte -lbl_1_data_170 = .data:0x00000170; // type:object size:0x12 scope:local data:string -lbl_1_data_1A4 = .data:0x000001A4; // type:object size:0x12 scope:local data:string -jumptable_1_data_1B8 = .data:0x000001B8; // type:object size:0x30 scope:local -lbl_1_data_1E8 = .data:0x000001E8; // type:object size:0x6C -lbl_1_data_254 = .data:0x00000254; // type:object size:0xC data:float -lbl_1_data_26C = .data:0x0000026C; // type:object size:0x12 scope:local data:string -lbl_1_data_27E = .data:0x0000027E; // type:object size:0x12 scope:local data:string -lbl_1_data_290 = .data:0x00000290; // type:object size:0x9C -lbl_1_data_32C = .data:0x0000032C; // type:object size:0x18 -jumptable_1_data_344 = .data:0x00000344; // type:object size:0x28 scope:local -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x18 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0xC data:float -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x30 data:float -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x30 data:float -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x18 data:4byte -lbl_1_bss_C0 = .bss:0x000000C0; // type:object size:0x18 data:4byte -lbl_1_bss_D8 = .bss:0x000000D8; // type:object size:0xA8 data:4byte -lbl_1_bss_180 = .bss:0x00000180; // type:object size:0x28 data:4byte -lbl_1_bss_1A8 = .bss:0x000001A8; // type:object size:0x14 data:4byte -lbl_1_bss_1BC = .bss:0x000001BC; // type:object size:0x64 data:4byte -lbl_1_bss_220 = .bss:0x00000220; // type:object size:0x14 data:4byte -lbl_1_bss_234 = .bss:0x00000234; // type:object size:0xF8 data:4byte -lbl_1_bss_32C = .bss:0x0000032C; // type:object size:0x78 data:4byte -lbl_1_bss_3A4 = .bss:0x000003A4; // type:object size:0x8 data:4byte -lbl_1_bss_3AC = .bss:0x000003AC; // type:object size:0x38 data:4byte -lbl_1_bss_3E4 = .bss:0x000003E4; // type:object size:0xC0 -lbl_1_bss_4A4 = .bss:0x000004A4; // type:object size:0x10 data:4byte diff --git a/config/GMPP01_00/rels/m437Dll/splits.txt b/config/GMPP01_00/rels/m437Dll/splits.txt deleted file mode 100644 index 9337d9d2..00000000 --- a/config/GMPP01_00/rels/m437Dll/splits.txt +++ /dev/null @@ -1,18 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/m437Dll/main.c: - .text start:0x00000000 end:0x00011340 - .rodata start:0x00000000 end:0x000005D0 - .data start:0x00000000 end:0x00000350 - .bss start:0x00000000 end:0x000009A8 - -REL/m437Dll/sequence.c: - .text start:0x00011340 end:0x00016794 - .rodata start:0x000005D0 end:0x00000640 - .data start:0x00000350 end:0x00000430 diff --git a/config/GMPP01_00/rels/m437Dll/symbols.txt b/config/GMPP01_00/rels/m437Dll/symbols.txt deleted file mode 100644 index fac6c7f3..00000000 --- a/config/GMPP01_00/rels/m437Dll/symbols.txt +++ /dev/null @@ -1,411 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x1A8 -fn_1_1A8 = .text:0x000001A8; // type:function size:0x88 -fn_1_230 = .text:0x00000230; // type:function size:0x68 -fn_1_298 = .text:0x00000298; // type:function size:0x6C -fn_1_304 = .text:0x00000304; // type:function size:0x130 -fn_1_434 = .text:0x00000434; // type:function size:0x8C -fn_1_4C0 = .text:0x000004C0; // type:function size:0x3E4 -fn_1_8A4 = .text:0x000008A4; // type:function size:0x20 -fn_1_8C4 = .text:0x000008C4; // type:function size:0x20 -fn_1_8E4 = .text:0x000008E4; // type:function size:0x6A8 -fn_1_F8C = .text:0x00000F8C; // type:function size:0x134 -fn_1_10C0 = .text:0x000010C0; // type:function size:0xC4 -fn_1_1184 = .text:0x00001184; // type:function size:0x38 -fn_1_11BC = .text:0x000011BC; // type:function size:0x24 -fn_1_11E0 = .text:0x000011E0; // type:function size:0x38 -fn_1_1218 = .text:0x00001218; // type:function size:0x1C8 -fn_1_13E8 = .text:0x000013E0; // type:function size:0x64 -fn_1_144C = .text:0x00001444; // type:function size:0x644 -fn_1_1A90 = .text:0x00001A88; // type:function size:0x24 -fn_1_1AB4 = .text:0x00001AAC; // type:function size:0x458 -fn_1_1F0C = .text:0x00001F04; // type:function size:0x1EC -fn_1_20F8 = .text:0x000020F0; // type:function size:0x1EC -fn_1_22E4 = .text:0x000022DC; // type:function size:0x458 -fn_1_273C = .text:0x00002734; // type:function size:0x68 -fn_1_27A4 = .text:0x0000279C; // type:function size:0x68 -fn_1_280C = .text:0x00002804; // type:function size:0xE8 -fn_1_28F4 = .text:0x000028EC; // type:function size:0x11C -fn_1_2A10 = .text:0x00002A08; // type:function size:0x84 -fn_1_2A94 = .text:0x00002A8C; // type:function size:0x70 -fn_1_2B04 = .text:0x00002AFC; // type:function size:0xA8 -fn_1_2BAC = .text:0x00002BA4; // type:function size:0x10 -fn_1_2BBC = .text:0x00002BB4; // type:function size:0x5D8 -fn_1_3194 = .text:0x0000318C; // type:function size:0xCC -fn_1_3260 = .text:0x00003258; // type:function size:0x1B0 -fn_1_3410 = .text:0x00003408; // type:function size:0x284 -fn_1_3694 = .text:0x0000368C; // type:function size:0x20 -fn_1_36B4 = .text:0x000036AC; // type:function size:0x120 -fn_1_37D4 = .text:0x000037CC; // type:function size:0x14 -fn_1_37E8 = .text:0x000037E0; // type:function size:0x1A8 -fn_1_3990 = .text:0x00003988; // type:function size:0x34 -fn_1_39C4 = .text:0x000039BC; // type:function size:0x20 -fn_1_39E4 = .text:0x000039DC; // type:function size:0x16C -fn_1_3B50 = .text:0x00003B48; // type:function size:0x14 -fn_1_3B64 = .text:0x00003B5C; // type:function size:0x154 -fn_1_3CB8 = .text:0x00003CB0; // type:function size:0x88 -fn_1_3D40 = .text:0x00003D38; // type:function size:0x204 -fn_1_3F44 = .text:0x00003F3C; // type:function size:0x5F4 -fn_1_4538 = .text:0x00004530; // type:function size:0x188 -fn_1_46C0 = .text:0x000046B8; // type:function size:0x268 -fn_1_4928 = .text:0x00004920; // type:function size:0x10 -fn_1_4938 = .text:0x00004930; // type:function size:0x1C0 -fn_1_4AF8 = .text:0x00004AF0; // type:function size:0xB4 -fn_1_4BAC = .text:0x00004BA4; // type:function size:0x94 -fn_1_4C40 = .text:0x00004C38; // type:function size:0x1C0 -fn_1_4E00 = .text:0x00004DF8; // type:function size:0xE0 -fn_1_4EE0 = .text:0x00004ED8; // type:function size:0x268 -fn_1_5148 = .text:0x00005140; // type:function size:0x94 -fn_1_51DC = .text:0x000051D4; // type:function size:0x94 -fn_1_5270 = .text:0x00005268; // type:function size:0x94 -fn_1_5304 = .text:0x000052FC; // type:function size:0x28 -fn_1_532C = .text:0x00005324; // type:function size:0x32C -fn_1_5658 = .text:0x00005650; // type:function size:0x32C -fn_1_5984 = .text:0x0000597C; // type:function size:0x154 -fn_1_5AD8 = .text:0x00005AD0; // type:function size:0x4E4 -fn_1_5FBC = .text:0x00005FB4; // type:function size:0x150 -fn_1_610C = .text:0x00006104; // type:function size:0x28 -fn_1_6134 = .text:0x0000612C; // type:function size:0x64 -fn_1_6198 = .text:0x00006190; // type:function size:0x68 -fn_1_6200 = .text:0x000061F8; // type:function size:0x380 -fn_1_6580 = .text:0x00006578; // type:function size:0x60 -fn_1_65E0 = .text:0x000065D8; // type:function size:0xB18 -fn_1_70F8 = .text:0x000070F0; // type:function size:0x3C -fn_1_7134 = .text:0x0000712C; // type:function size:0x198 -fn_1_72CC = .text:0x000072C4; // type:function size:0x1E4 -fn_1_74B0 = .text:0x000074A8; // type:function size:0x1C8 -fn_1_7678 = .text:0x00007670; // type:function size:0x368 -fn_1_79E0 = .text:0x000079D8; // type:function size:0x34 -fn_1_7A14 = .text:0x00007A0C; // type:function size:0x8CC -fn_1_82E0 = .text:0x000082D8; // type:function size:0x28 -fn_1_8308 = .text:0x00008300; // type:function size:0x1BC -fn_1_84C4 = .text:0x000084BC; // type:function size:0x1C0 -fn_1_8684 = .text:0x0000867C; // type:function size:0xB0 -fn_1_8734 = .text:0x0000872C; // type:function size:0xF0 -fn_1_8824 = .text:0x0000881C; // type:function size:0xB0 -fn_1_88D4 = .text:0x000088CC; // type:function size:0xB0 -fn_1_8984 = .text:0x0000897C; // type:function size:0xB0 -fn_1_8A34 = .text:0x00008A2C; // type:function size:0xF0 -fn_1_8B24 = .text:0x00008B1C; // type:function size:0xB0 -fn_1_8BD4 = .text:0x00008BCC; // type:function size:0xB0 -fn_1_8C84 = .text:0x00008C7C; // type:function size:0x120 -fn_1_8DA4 = .text:0x00008D9C; // type:function size:0x57C -fn_1_9320 = .text:0x00009318; // type:function size:0x3B8 -fn_1_96D8 = .text:0x000096D0; // type:function size:0x454 -fn_1_9B2C = .text:0x00009B24; // type:function size:0x474 -fn_1_9FA0 = .text:0x00009F98; // type:function size:0x4A0 -fn_1_A440 = .text:0x0000A438; // type:function size:0x420 -fn_1_A860 = .text:0x0000A858; // type:function size:0x4 -fn_1_A864 = .text:0x0000A85C; // type:function size:0x184 -fn_1_A9E8 = .text:0x0000A9E0; // type:function size:0x3C -fn_1_AA24 = .text:0x0000AA1C; // type:function size:0x5C -fn_1_AA80 = .text:0x0000AA78; // type:function size:0x3C -fn_1_AABC = .text:0x0000AAB4; // type:function size:0x5C -fn_1_AB18 = .text:0x0000AB10; // type:function size:0x50 -fn_1_AB68 = .text:0x0000AB60; // type:function size:0x48 -fn_1_ABB0 = .text:0x0000ABA8; // type:function size:0x3C -fn_1_ABEC = .text:0x0000ABE4; // type:function size:0x84 -fn_1_AC70 = .text:0x0000AC68; // type:function size:0x5C -fn_1_ACCC = .text:0x0000ACC4; // type:function size:0x5C -fn_1_AD28 = .text:0x0000AD20; // type:function size:0x70 -fn_1_AD98 = .text:0x0000AD90; // type:function size:0x48 -fn_1_ADE0 = .text:0x0000ADD8; // type:function size:0x3C -fn_1_AE1C = .text:0x0000AE14; // type:function size:0x5C -fn_1_AE78 = .text:0x0000AE70; // type:function size:0xD4 -fn_1_AF4C = .text:0x0000AF44; // type:function size:0x248 -fn_1_B194 = .text:0x0000B18C; // type:function size:0x30 -fn_1_B1C4 = .text:0x0000B1BC; // type:function size:0x8C -fn_1_B250 = .text:0x0000B248; // type:function size:0x20 -fn_1_B270 = .text:0x0000B268; // type:function size:0x180 -fn_1_B3F0 = .text:0x0000B3E8; // type:function size:0x104 -fn_1_B4F4 = .text:0x0000B4EC; // type:function size:0x2EC -fn_1_B7E0 = .text:0x0000B7D8; // type:function size:0xF0 -fn_1_B8D0 = .text:0x0000B8C8; // type:function size:0x348 -fn_1_BC18 = .text:0x0000BC10; // type:function size:0xB0 -fn_1_BCC8 = .text:0x0000BCC0; // type:function size:0xF0 -fn_1_BDB8 = .text:0x0000BDB0; // type:function size:0xC8 -fn_1_BE80 = .text:0x0000BE78; // type:function size:0x3C8 -fn_1_C248 = .text:0x0000C240; // type:function size:0x3C8 -fn_1_C610 = .text:0x0000C608; // type:function size:0x3B4 -fn_1_C9C4 = .text:0x0000C9BC; // type:function size:0x35C -fn_1_CD20 = .text:0x0000CD18; // type:function size:0x31C -fn_1_D03C = .text:0x0000D034; // type:function size:0x384 -fn_1_D3C0 = .text:0x0000D3B8; // type:function size:0x394 -fn_1_D754 = .text:0x0000D74C; // type:function size:0x1DC -fn_1_D930 = .text:0x0000D928; // type:function size:0x3BC -fn_1_DCEC = .text:0x0000DCE4; // type:function size:0x1D8 -fn_1_DEC4 = .text:0x0000DEBC; // type:function size:0x3E4 -fn_1_E2A8 = .text:0x0000E2A0; // type:function size:0x2F0 -fn_1_E598 = .text:0x0000E590; // type:function size:0x9C -fn_1_E634 = .text:0x0000E62C; // type:function size:0x310 -fn_1_E944 = .text:0x0000E93C; // type:function size:0x5C -fn_1_E9A0 = .text:0x0000E998; // type:function size:0x104 -fn_1_EAA4 = .text:0x0000EA9C; // type:function size:0x94 -fn_1_EB38 = .text:0x0000EB30; // type:function size:0xD8 -fn_1_EC10 = .text:0x0000EC08; // type:function size:0x1C4 -fn_1_EDD4 = .text:0x0000EDCC; // type:function size:0xCC -fn_1_EEA0 = .text:0x0000EE98; // type:function size:0x12C -fn_1_EFCC = .text:0x0000EFC4; // type:function size:0xEC -fn_1_F0B8 = .text:0x0000F0B0; // type:function size:0x40 -fn_1_F0F8 = .text:0x0000F0F0; // type:function size:0x4C -fn_1_F144 = .text:0x0000F13C; // type:function size:0x48 -fn_1_F18C = .text:0x0000F184; // type:function size:0x108 -fn_1_F294 = .text:0x0000F28C; // type:function size:0x144 -fn_1_F3D8 = .text:0x0000F3D0; // type:function size:0xBC -fn_1_F494 = .text:0x0000F48C; // type:function size:0x40 -fn_1_F4D4 = .text:0x0000F4CC; // type:function size:0x30 -fn_1_F504 = .text:0x0000F4FC; // type:function size:0x8C -fn_1_F590 = .text:0x0000F588; // type:function size:0xB0 -fn_1_F640 = .text:0x0000F638; // type:function size:0xAC -fn_1_F6EC = .text:0x0000F6E4; // type:function size:0x30 -fn_1_F71C = .text:0x0000F714; // type:function size:0x8C -fn_1_F7A8 = .text:0x0000F7A0; // type:function size:0xF4 -fn_1_F89C = .text:0x0000F894; // type:function size:0x10 -fn_1_F8AC = .text:0x0000F8A4; // type:function size:0xB90 -fn_1_1043C = .text:0x00010434; // type:function size:0x468 -fn_1_108A4 = .text:0x0001089C; // type:function size:0x1EC -_prolog = .text:0x00010A88; // type:function size:0x54 scope:global -_epilog = .text:0x00010ADC; // type:function size:0x4C scope:global -fn_1_10B30 = .text:0x00010B28; // type:function size:0x40C -ObjectSetup = .text:0x00010F34; // type:function size:0x40C -fn_1_11348 = .text:0x00011340; // type:function size:0x28 -fn_1_11370 = .text:0x00011368; // type:function size:0x40 -fn_1_113B0 = .text:0x000113A8; // type:function size:0xC8 -fn_1_11478 = .text:0x00011470; // type:function size:0xC8 -fn_1_11540 = .text:0x00011538; // type:function size:0xD8 -fn_1_11618 = .text:0x00011610; // type:function size:0x50 -fn_1_11668 = .text:0x00011660; // type:function size:0x5C -fn_1_116C4 = .text:0x000116BC; // type:function size:0x88 -fn_1_1174C = .text:0x00011744; // type:function size:0x74 -fn_1_117C0 = .text:0x000117B8; // type:function size:0x94 -fn_1_11854 = .text:0x0001184C; // type:function size:0x3C -fn_1_11890 = .text:0x00011888; // type:function size:0x110 -fn_1_119A0 = .text:0x00011998; // type:function size:0x178 -fn_1_11B18 = .text:0x00011B10; // type:function size:0x1C8 -fn_1_11CE0 = .text:0x00011CD8; // type:function size:0x7B4 -fn_1_12494 = .text:0x0001248C; // type:function size:0x4C4 -fn_1_12958 = .text:0x00012950; // type:function size:0x60 -fn_1_129B8 = .text:0x000129B0; // type:function size:0x64 -fn_1_12A1C = .text:0x00012A14; // type:function size:0x64 -fn_1_12A80 = .text:0x00012A78; // type:function size:0x3C -fn_1_12ABC = .text:0x00012AB4; // type:function size:0x44 -fn_1_12B00 = .text:0x00012AF8; // type:function size:0x314 -fn_1_12E14 = .text:0x00012E0C; // type:function size:0x314 -fn_1_13128 = .text:0x00013120; // type:function size:0x27C -fn_1_133A4 = .text:0x0001339C; // type:function size:0x2B4 -fn_1_13658 = .text:0x00013650; // type:function size:0x530 -fn_1_13B88 = .text:0x00013B80; // type:function size:0x454 -fn_1_13FDC = .text:0x00013FD4; // type:function size:0x48C -fn_1_14468 = .text:0x00014460; // type:function size:0x71C -fn_1_14B84 = .text:0x00014B7C; // type:function size:0x4C4 -fn_1_15048 = .text:0x00015040; // type:function size:0x4FC -fn_1_15544 = .text:0x0001553C; // type:function size:0x78C -fn_1_15CD0 = .text:0x00015CC8; // type:function size:0x6C -fn_1_15D3C = .text:0x00015D34; // type:function size:0x68 -fn_1_15DA4 = .text:0x00015D9C; // type:function size:0x10 -fn_1_15DB4 = .text:0x00015DAC; // type:function size:0xC -fn_1_15DC0 = .text:0x00015DB8; // type:function size:0x8 -fn_1_15DC8 = .text:0x00015DC0; // type:function size:0x48 -fn_1_15E10 = .text:0x00015E08; // type:function size:0x344 -fn_1_16154 = .text:0x0001614C; // type:function size:0x190 -fn_1_162E4 = .text:0x000162DC; // type:function size:0x64 -fn_1_16348 = .text:0x00016340; // type:function size:0x4 -fn_1_1634C = .text:0x00016344; // type:function size:0x164 -fn_1_164B0 = .text:0x000164A8; // type:function size:0x15C -fn_1_1660C = .text:0x00016604; // type:function size:0x190 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 scope:local data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0xC scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0xC scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x48 scope:local -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x78 scope:local -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x78 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0xC8 scope:local -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x78 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x30 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x30 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 scope:local data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 scope:local data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x30 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 scope:local data:float -lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 scope:local data:float -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x30 scope:local data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x18 scope:local data:float -lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 scope:local data:double -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x4 scope:local data:float -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 scope:local data:double -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x8 scope:local data:double -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x8 scope:local data:double -lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x4 scope:local data:float -lbl_1_rodata_62C = .rodata:0x0000062C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 scope:local data:float -lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 scope:local data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x4 scope:local data:float -lbl_1_rodata_63C = .rodata:0x0000063C; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0xA0 -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x4 data:4byte -lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x4 data:4byte -lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_data_AC = .data:0x000000AC; // type:object size:0x1B scope:local data:string -lbl_1_data_C7 = .data:0x000000C7; // type:object size:0x22 scope:local data:string -lbl_1_data_E9 = .data:0x000000E9; // type:object size:0x1A scope:local data:string -lbl_1_data_103 = .data:0x00000103; // type:object size:0x1A scope:local data:string -lbl_1_data_11D = .data:0x0000011D; // type:object size:0xE scope:local data:string -lbl_1_data_12C = .data:0x0000012C; // type:object size:0x4 data:4byte -lbl_1_data_130 = .data:0x00000130; // type:object size:0x16 scope:local data:string -lbl_1_data_146 = .data:0x00000146; // type:object size:0x13 scope:local data:string -lbl_1_data_159 = .data:0x00000159; // type:object size:0xE scope:local data:string -lbl_1_data_167 = .data:0x00000167; // type:object size:0xE scope:local data:string -lbl_1_data_175 = .data:0x00000175; // type:object size:0x12 scope:local data:string -lbl_1_data_188 = .data:0x00000188; // type:object size:0x4 data:float -lbl_1_data_18C = .data:0x0000018C; // type:object size:0x14 scope:local data:string -jumptable_1_data_1A0 = .data:0x000001A0; // type:object size:0x20 scope:local -lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x12 scope:local data:string -jumptable_1_data_1D4 = .data:0x000001D4; // type:object size:0x30 scope:local -lbl_1_data_204 = .data:0x00000204; // type:object size:0x78 -lbl_1_data_27C = .data:0x0000027C; // type:object size:0x90 -lbl_1_data_30C = .data:0x0000030C; // type:object size:0x18 -jumptable_1_data_324 = .data:0x00000324; // type:object size:0x2C scope:local -lbl_1_data_350 = .data:0x00000350; // type:object size:0x10 scope:local data:string -lbl_1_data_360 = .data:0x00000360; // type:object size:0x10 scope:local data:string -lbl_1_data_370 = .data:0x00000370; // type:object size:0x10 scope:local data:string -lbl_1_data_380 = .data:0x00000380; // type:object size:0x10 scope:local data:string -lbl_1_data_390 = .data:0x00000390; // type:object size:0x10 scope:local data:string -lbl_1_data_3A0 = .data:0x000003A0; // type:object size:0x10 scope:local data:string -lbl_1_data_3B0 = .data:0x000003B0; // type:object size:0x10 scope:local data:string -lbl_1_data_3C0 = .data:0x000003C0; // type:object size:0x10 scope:local data:string -lbl_1_data_3D0 = .data:0x000003D0; // type:object size:0x20 -lbl_1_data_3F0 = .data:0x000003F0; // type:object size:0x40 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:float -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x18 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x18 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x18 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0xE4 data:4byte -lbl_1_bss_14C = .bss:0x0000014C; // type:object size:0x4 data:float -lbl_1_bss_150 = .bss:0x00000150; // type:object size:0x4 data:float -lbl_1_bss_154 = .bss:0x00000154; // type:object size:0x4 data:float -lbl_1_bss_158 = .bss:0x00000158; // type:object size:0x4 data:float -lbl_1_bss_15C = .bss:0x0000015C; // type:object size:0x4 data:float -lbl_1_bss_160 = .bss:0x00000160; // type:object size:0x7C data:4byte -lbl_1_bss_1DC = .bss:0x000001DC; // type:object size:0x4E0 data:4byte -lbl_1_bss_6BC = .bss:0x000006BC; // type:object size:0x218 data:4byte -lbl_1_bss_8D4 = .bss:0x000008D4; // type:object size:0x28 data:4byte -lbl_1_bss_8FC = .bss:0x000008FC; // type:object size:0x24 data:4byte -lbl_1_bss_920 = .bss:0x00000920; // type:object size:0x24 data:4byte -lbl_1_bss_944 = .bss:0x00000944; // type:object size:0x24 data:4byte -lbl_1_bss_968 = .bss:0x00000968; // type:object size:0x40 data:4byte diff --git a/config/GMPP01_00/rels/m438Dll/splits.txt b/config/GMPP01_00/rels/m438Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m438Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m438Dll/symbols.txt b/config/GMPP01_00/rels/m438Dll/symbols.txt deleted file mode 100644 index 6097d75e..00000000 --- a/config/GMPP01_00/rels/m438Dll/symbols.txt +++ /dev/null @@ -1,458 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x43C -fn_1_4DC = .text:0x000004DC; // type:function size:0x20 -fn_1_4FC = .text:0x000004FC; // type:function size:0x478 -fn_1_974 = .text:0x00000974; // type:function size:0x7F4 -fn_1_1168 = .text:0x00001168; // type:function size:0x90 -fn_1_11F8 = .text:0x000011F8; // type:function size:0x19C -fn_1_1394 = .text:0x00001394; // type:function size:0x9C0 -fn_1_1D54 = .text:0x00001D54; // type:function size:0x1AC -fn_1_1F00 = .text:0x00001F00; // type:function size:0x164 -fn_1_2064 = .text:0x00002064; // type:function size:0x4F4 -fn_1_2558 = .text:0x00002558; // type:function size:0xA0 -fn_1_25F8 = .text:0x000025F8; // type:function size:0x2B8 -fn_1_28B0 = .text:0x000028B0; // type:function size:0x28 -fn_1_28D8 = .text:0x000028D8; // type:function size:0x80 -fn_1_2958 = .text:0x00002958; // type:function size:0x3EC -fn_1_2D44 = .text:0x00002D44; // type:function size:0xFC -fn_1_2E40 = .text:0x00002E40; // type:function size:0x770 -fn_1_35B0 = .text:0x000035B0; // type:function size:0x4 -fn_1_35B4 = .text:0x000035B4; // type:function size:0xDB4 -fn_1_4368 = .text:0x00004368; // type:function size:0x3B0 -fn_1_4718 = .text:0x00004718; // type:function size:0x260 -fn_1_4978 = .text:0x00004978; // type:function size:0x5CC -fn_1_4F44 = .text:0x00004F44; // type:function size:0xDFC -fn_1_5D40 = .text:0x00005D40; // type:function size:0x570 -fn_1_62B0 = .text:0x000062B0; // type:function size:0xF4 -fn_1_63A4 = .text:0x000063A4; // type:function size:0x68C -fn_1_6A30 = .text:0x00006A30; // type:function size:0x8C4 -fn_1_72F4 = .text:0x000072F4; // type:function size:0x558 -fn_1_784C = .text:0x0000784C; // type:function size:0x300 -fn_1_7B4C = .text:0x00007B4C; // type:function size:0x64 -fn_1_7BB0 = .text:0x00007BB0; // type:function size:0x40 -fn_1_7BF0 = .text:0x00007BF0; // type:function size:0xA0 -fn_1_7C90 = .text:0x00007C90; // type:function size:0x94 -fn_1_7D24 = .text:0x00007D24; // type:function size:0x84 -fn_1_7DA8 = .text:0x00007DA8; // type:function size:0x24 -fn_1_7DCC = .text:0x00007DCC; // type:function size:0x104 -fn_1_7ED0 = .text:0x00007ED0; // type:function size:0x168 -fn_1_8038 = .text:0x00008038; // type:function size:0x120 -fn_1_8158 = .text:0x00008158; // type:function size:0x39C -fn_1_84F4 = .text:0x000084F4; // type:function size:0x250 -fn_1_8744 = .text:0x00008744; // type:function size:0x78 -fn_1_87BC = .text:0x000087BC; // type:function size:0x11C -fn_1_88D8 = .text:0x000088D8; // type:function size:0x78 -fn_1_8950 = .text:0x00008950; // type:function size:0x2D8 -fn_1_8C28 = .text:0x00008C28; // type:function size:0x2B8 -fn_1_8EE0 = .text:0x00008EE0; // type:function size:0x154 -fn_1_9034 = .text:0x00009034; // type:function size:0x3E0 -fn_1_9414 = .text:0x00009414; // type:function size:0x214 -fn_1_9628 = .text:0x00009628; // type:function size:0x198 -fn_1_97C0 = .text:0x000097C0; // type:function size:0xD8 -fn_1_9898 = .text:0x00009898; // type:function size:0xBC -fn_1_9954 = .text:0x00009954; // type:function size:0x33C -fn_1_9C90 = .text:0x00009C90; // type:function size:0x4B0 -fn_1_A140 = .text:0x0000A140; // type:function size:0x4C0 -fn_1_A600 = .text:0x0000A600; // type:function size:0x7C -fn_1_A67C = .text:0x0000A67C; // type:function size:0x4 -fn_1_A680 = .text:0x0000A680; // type:function size:0x270 -fn_1_A8F0 = .text:0x0000A8F0; // type:function size:0x51C -fn_1_AE0C = .text:0x0000AE0C; // type:function size:0x628 -fn_1_B434 = .text:0x0000B434; // type:function size:0x98 -fn_1_B4CC = .text:0x0000B4CC; // type:function size:0x70 -fn_1_B53C = .text:0x0000B53C; // type:function size:0x4 -fn_1_B540 = .text:0x0000B540; // type:function size:0x9D4 -fn_1_BF14 = .text:0x0000BF14; // type:function size:0x844 -fn_1_C758 = .text:0x0000C758; // type:function size:0x184 -fn_1_C8DC = .text:0x0000C8DC; // type:function size:0x1C8 -fn_1_CAA4 = .text:0x0000CAA4; // type:function size:0x94C -fn_1_D3F0 = .text:0x0000D3F0; // type:function size:0x180 -fn_1_D570 = .text:0x0000D570; // type:function size:0x4E8 -fn_1_DA58 = .text:0x0000DA58; // type:function size:0x43C -fn_1_DE94 = .text:0x0000DE94; // type:function size:0xD0 -fn_1_DF64 = .text:0x0000DF64; // type:function size:0xC4 -fn_1_E028 = .text:0x0000E028; // type:function size:0x454 -fn_1_E47C = .text:0x0000E47C; // type:function size:0x11C -fn_1_E598 = .text:0x0000E598; // type:function size:0xB4 -fn_1_E64C = .text:0x0000E64C; // type:function size:0x138 -fn_1_E784 = .text:0x0000E784; // type:function size:0xDA8 -fn_1_F52C = .text:0x0000F52C; // type:function size:0x12C -fn_1_F658 = .text:0x0000F658; // type:function size:0x1C -fn_1_F674 = .text:0x0000F674; // type:function size:0x2C -fn_1_F6A0 = .text:0x0000F6A0; // type:function size:0x1C -fn_1_F6BC = .text:0x0000F6BC; // type:function size:0x184 -fn_1_F840 = .text:0x0000F840; // type:function size:0xA0 -fn_1_F8E0 = .text:0x0000F8E0; // type:function size:0xA8 -fn_1_F988 = .text:0x0000F988; // type:function size:0x8C -fn_1_FA14 = .text:0x0000FA14; // type:function size:0x98 -fn_1_FAAC = .text:0x0000FAAC; // type:function size:0x288 -fn_1_FD34 = .text:0x0000FD34; // type:function size:0x518 -fn_1_1024C = .text:0x0001024C; // type:function size:0x564 -fn_1_107B0 = .text:0x000107B0; // type:function size:0x128 -fn_1_108D8 = .text:0x000108D8; // type:function size:0x2C -fn_1_10904 = .text:0x00010904; // type:function size:0x3A8 -fn_1_10CAC = .text:0x00010CAC; // type:function size:0x254 -fn_1_10F00 = .text:0x00010F00; // type:function size:0x80 -fn_1_10F80 = .text:0x00010F80; // type:function size:0x8C -fn_1_1100C = .text:0x0001100C; // type:function size:0x9C -fn_1_110A8 = .text:0x000110A8; // type:function size:0x5A4 -fn_1_1164C = .text:0x0001164C; // type:function size:0x238 -fn_1_11884 = .text:0x00011884; // type:function size:0x6C -fn_1_118F0 = .text:0x000118F0; // type:function size:0x70 -fn_1_11960 = .text:0x00011960; // type:function size:0x74 -fn_1_119D4 = .text:0x000119D4; // type:function size:0x84 -fn_1_11A58 = .text:0x00011A58; // type:function size:0x88 -fn_1_11AE0 = .text:0x00011AE0; // type:function size:0x8C -fn_1_11B6C = .text:0x00011B6C; // type:function size:0x70 -fn_1_11BDC = .text:0x00011BDC; // type:function size:0x74 -fn_1_11C50 = .text:0x00011C50; // type:function size:0x6C -fn_1_11CBC = .text:0x00011CBC; // type:function size:0x70 -fn_1_11D2C = .text:0x00011D2C; // type:function size:0x74 -fn_1_11DA0 = .text:0x00011DA0; // type:function size:0x6C -fn_1_11E0C = .text:0x00011E0C; // type:function size:0x70 -fn_1_11E7C = .text:0x00011E7C; // type:function size:0x74 -fn_1_11EF0 = .text:0x00011EF0; // type:function size:0x6C -fn_1_11F5C = .text:0x00011F5C; // type:function size:0x70 -fn_1_11FCC = .text:0x00011FCC; // type:function size:0x74 -fn_1_12040 = .text:0x00012040; // type:function size:0x44 -fn_1_12084 = .text:0x00012084; // type:function size:0x70 -fn_1_120F4 = .text:0x000120F4; // type:function size:0x74 -fn_1_12168 = .text:0x00012168; // type:function size:0x44 -fn_1_121AC = .text:0x000121AC; // type:function size:0x70 -fn_1_1221C = .text:0x0001221C; // type:function size:0x74 -fn_1_12290 = .text:0x00012290; // type:function size:0x5C -fn_1_122EC = .text:0x000122EC; // type:function size:0x80 -fn_1_1236C = .text:0x0001236C; // type:function size:0x74 -fn_1_123E0 = .text:0x000123E0; // type:function size:0x78 -fn_1_12458 = .text:0x00012458; // type:function size:0x68 -fn_1_124C0 = .text:0x000124C0; // type:function size:0x6C -fn_1_1252C = .text:0x0001252C; // type:function size:0x68 -fn_1_12594 = .text:0x00012594; // type:function size:0x6C -fn_1_12600 = .text:0x00012600; // type:function size:0x68 -fn_1_12668 = .text:0x00012668; // type:function size:0x6C -fn_1_126D4 = .text:0x000126D4; // type:function size:0x6C -fn_1_12740 = .text:0x00012740; // type:function size:0x78 -fn_1_127B8 = .text:0x000127B8; // type:function size:0x98 -fn_1_12850 = .text:0x00012850; // type:function size:0x6C -fn_1_128BC = .text:0x000128BC; // type:function size:0x78 -fn_1_12934 = .text:0x00012934; // type:function size:0x98 -fn_1_129CC = .text:0x000129CC; // type:function size:0x70 -fn_1_12A3C = .text:0x00012A3C; // type:function size:0x78 -fn_1_12AB4 = .text:0x00012AB4; // type:function size:0x98 -fn_1_12B4C = .text:0x00012B4C; // type:function size:0x40 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 scope:local data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 scope:local data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x8 scope:local data:double -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 scope:local data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 scope:local data:double -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 scope:local data:double -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 scope:local data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 scope:local data:double -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x8 scope:local data:double -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 scope:local data:double -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x8 scope:local data:double -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x30 scope:local data:4byte -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x10 scope:local data:byte -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 scope:local data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 scope:local data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0xC -lbl_1_data_C = .data:0x0000000C; // type:object size:0xC -lbl_1_data_18 = .data:0x00000018; // type:object size:0x4 -lbl_1_data_1C = .data:0x0000001C; // type:object size:0xC -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC -lbl_1_data_34 = .data:0x00000034; // type:object size:0xC -lbl_1_data_40 = .data:0x00000040; // type:object size:0x24 -lbl_1_data_64 = .data:0x00000064; // type:object size:0x4 data:4byte -lbl_1_data_68 = .data:0x00000068; // type:object size:0x420 -lbl_1_data_488 = .data:0x00000488; // type:object size:0x2C -lbl_1_data_4B4 = .data:0x000004B4; // type:object size:0x30 -jumptable_1_data_4E4 = .data:0x000004E4; // type:object size:0x2C scope:local -lbl_1_data_514 = .data:0x00000514; // type:object size:0xC -lbl_1_data_520 = .data:0x00000520; // type:object size:0x64 -lbl_1_data_584 = .data:0x00000584; // type:object size:0x64 -lbl_1_data_5E8 = .data:0x000005E8; // type:object size:0x24 -lbl_1_data_60C = .data:0x0000060C; // type:object size:0x6C -lbl_1_data_678 = .data:0x00000678; // type:object size:0x24 -lbl_1_data_69C = .data:0x0000069C; // type:object size:0x6C -lbl_1_data_708 = .data:0x00000708; // type:object size:0x24 -lbl_1_data_72C = .data:0x0000072C; // type:object size:0x24 -lbl_1_data_750 = .data:0x00000750; // type:object size:0x7 data:string -lbl_1_data_757 = .data:0x00000757; // type:object size:0x7 data:string -lbl_1_data_75E = .data:0x0000075E; // type:object size:0x7 data:string -lbl_1_data_765 = .data:0x00000765; // type:object size:0x7 data:string -lbl_1_data_76C = .data:0x0000076C; // type:object size:0x7 data:string -lbl_1_data_773 = .data:0x00000773; // type:object size:0x7 data:string -lbl_1_data_77A = .data:0x0000077A; // type:object size:0x7 data:string -lbl_1_data_781 = .data:0x00000781; // type:object size:0x7 data:string -lbl_1_data_788 = .data:0x00000788; // type:object size:0x7 data:string -lbl_1_data_78F = .data:0x0000078F; // type:object size:0x8 data:string -lbl_1_data_797 = .data:0x00000797; // type:object size:0x8 data:string -lbl_1_data_79F = .data:0x0000079F; // type:object size:0x8 data:string -lbl_1_data_7A7 = .data:0x000007A7; // type:object size:0x8 data:string -lbl_1_data_7AF = .data:0x000007AF; // type:object size:0x8 data:string -lbl_1_data_7B7 = .data:0x000007B7; // type:object size:0x8 data:string -lbl_1_data_7BF = .data:0x000007BF; // type:object size:0x8 data:string -lbl_1_data_7C7 = .data:0x000007C7; // type:object size:0x8 data:string -lbl_1_data_7CF = .data:0x000007CF; // type:object size:0x8 data:string -lbl_1_data_7D7 = .data:0x000007D7; // type:object size:0x8 data:string -lbl_1_data_7DF = .data:0x000007DF; // type:object size:0x8 data:string -lbl_1_data_7E7 = .data:0x000007E7; // type:object size:0x8 data:string -lbl_1_data_7EF = .data:0x000007EF; // type:object size:0x8 data:string -lbl_1_data_7F7 = .data:0x000007F7; // type:object size:0x8 data:string -lbl_1_data_7FF = .data:0x000007FF; // type:object size:0x8 data:string -lbl_1_data_807 = .data:0x00000807; // type:object size:0x8 data:string -lbl_1_data_80F = .data:0x0000080F; // type:object size:0x8 data:string -lbl_1_data_817 = .data:0x00000817; // type:object size:0x8 data:string -lbl_1_data_81F = .data:0x0000081F; // type:object size:0x8 data:string -lbl_1_data_827 = .data:0x00000827; // type:object size:0x8 data:string -lbl_1_data_82F = .data:0x0000082F; // type:object size:0x8 data:string -lbl_1_data_837 = .data:0x00000837; // type:object size:0x8 data:string -lbl_1_data_83F = .data:0x0000083F; // type:object size:0x9 -lbl_1_data_848 = .data:0x00000848; // type:object size:0x80 -lbl_1_data_8C8 = .data:0x000008C8; // type:object size:0x9 data:string -lbl_1_data_8D1 = .data:0x000008D1; // type:object size:0x7 data:string -lbl_1_data_8D8 = .data:0x000008D8; // type:object size:0x60 -lbl_1_data_938 = .data:0x00000938; // type:object size:0xB data:string -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x288 -lbl_1_bss_294 = .bss:0x00000294; // type:object size:0x4 data:4byte -lbl_1_bss_298 = .bss:0x00000298; // type:object size:0x900 data:float -lbl_1_bss_B98 = .bss:0x00000B98; // type:object size:0xC data:4byte -lbl_1_bss_BA4 = .bss:0x00000BA4; // type:object size:0x200 -lbl_1_bss_DA4 = .bss:0x00000DA4; // type:object size:0x4 data:4byte -lbl_1_bss_DA8 = .bss:0x00000DA8; // type:object size:0x2 data:2byte -lbl_1_bss_DAA = .bss:0x00000DAA; // type:object size:0x8 data:2byte -lbl_1_bss_DB2 = .bss:0x00000DB2; // type:object size:0x2 data:2byte -lbl_1_bss_DB4 = .bss:0x00000DB4; // type:object size:0x2 data:2byte -lbl_1_bss_DB6 = .bss:0x00000DB6; // type:object size:0x2 data:2byte -lbl_1_bss_DB8 = .bss:0x00000DB8; // type:object size:0x2 data:2byte -lbl_1_bss_DBA = .bss:0x00000DBA; // type:object size:0x2 data:2byte -lbl_1_bss_DBC = .bss:0x00000DBC; // type:object size:0x4 data:4byte -lbl_1_bss_DC0 = .bss:0x00000DC0; // type:object size:0x4 data:4byte -lbl_1_bss_DC4 = .bss:0x00000DC4; // type:object size:0x10 -lbl_1_bss_DD4 = .bss:0x00000DD4; // type:object size:0x4 data:4byte -lbl_1_bss_DD8 = .bss:0x00000DD8; // type:object size:0x4 data:4byte -lbl_1_bss_DDC = .bss:0x00000DDC; // type:object size:0x4 data:4byte -lbl_1_bss_DE0 = .bss:0x00000DE0; // type:object size:0x4 data:4byte -lbl_1_bss_DE4 = .bss:0x00000DE4; // type:object size:0x48 data:4byte -lbl_1_bss_E2C = .bss:0x00000E2C; // type:object size:0x4 data:4byte -lbl_1_bss_E30 = .bss:0x00000E30; // type:object size:0x4 data:4byte -lbl_1_bss_E34 = .bss:0x00000E34; // type:object size:0x258 data:4byte -lbl_1_bss_108C = .bss:0x0000108C; // type:object size:0x18 data:4byte diff --git a/config/GMPP01_00/rels/m439Dll/splits.txt b/config/GMPP01_00/rels/m439Dll/splits.txt deleted file mode 100644 index 55b19f1f..00000000 --- a/config/GMPP01_00/rels/m439Dll/splits.txt +++ /dev/null @@ -1,16 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/m439Dll/main.c: - .text start:0x000000A0 end:0x0000818C - .rodata start:0x00000000 end:0x00000200 - .data start:0x00000000 end:0x000078F0 - .bss start:0x00000000 end:0x00000174 diff --git a/config/GMPP01_00/rels/m439Dll/symbols.txt b/config/GMPP01_00/rels/m439Dll/symbols.txt deleted file mode 100644 index a4c18c94..00000000 --- a/config/GMPP01_00/rels/m439Dll/symbols.txt +++ /dev/null @@ -1,327 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x2C4 -fn_1_364 = .text:0x00000364; // type:function size:0x10 -fn_1_374 = .text:0x00000374; // type:function size:0x10 -fn_1_384 = .text:0x00000384; // type:function size:0x84 -fn_1_408 = .text:0x00000408; // type:function size:0x5B4 -fn_1_9BC = .text:0x000009BC; // type:function size:0x5C -fn_1_A18 = .text:0x00000A18; // type:function size:0x108 -fn_1_B20 = .text:0x00000B20; // type:function size:0x5C -fn_1_B7C = .text:0x00000B7C; // type:function size:0x84 -fn_1_C00 = .text:0x00000C00; // type:function size:0x10C -fn_1_D0C = .text:0x00000D0C; // type:function size:0x318 -fn_1_1024 = .text:0x00001024; // type:function size:0x104 -fn_1_1128 = .text:0x00001128; // type:function size:0x588 -fn_1_16B0 = .text:0x000016B0; // type:function size:0x5A4 -fn_1_1C54 = .text:0x00001C54; // type:function size:0x2E8 -fn_1_1F3C = .text:0x00001F3C; // type:function size:0x248 -fn_1_2184 = .text:0x00002184; // type:function size:0xB8 -fn_1_223C = .text:0x0000223C; // type:function size:0x978 -fn_1_2BB4 = .text:0x00002BB4; // type:function size:0xD0 -fn_1_2C84 = .text:0x00002C84; // type:function size:0xF98 -fn_1_3C1C = .text:0x00003C1C; // type:function size:0x90C -fn_1_4528 = .text:0x00004528; // type:function size:0x450 -fn_1_4978 = .text:0x00004978; // type:function size:0x50 -fn_1_49C8 = .text:0x000049C8; // type:function size:0x84 -fn_1_4A4C = .text:0x00004A4C; // type:function size:0x5C -fn_1_4AA8 = .text:0x00004AA8; // type:function size:0x218 -fn_1_4CC0 = .text:0x00004CC0; // type:function size:0x294 -fn_1_4F54 = .text:0x00004F54; // type:function size:0xC48 -fn_1_5B9C = .text:0x00005B9C; // type:function size:0x4 -fn_1_5BA0 = .text:0x00005BA0; // type:function size:0x10C -fn_1_5CAC = .text:0x00005CAC; // type:function size:0x4 -fn_1_5CB0 = .text:0x00005CB0; // type:function size:0x3B8 -fn_1_6068 = .text:0x00006068; // type:function size:0xB8 -fn_1_6120 = .text:0x00006120; // type:function size:0x1C0 -fn_1_62E0 = .text:0x000062E0; // type:function size:0x48 -fn_1_6328 = .text:0x00006328; // type:function size:0x1F8 -fn_1_6520 = .text:0x00006520; // type:function size:0xFC -fn_1_661C = .text:0x0000661C; // type:function size:0xA0 -fn_1_66BC = .text:0x000066BC; // type:function size:0xF8 -fn_1_67B4 = .text:0x000067B4; // type:function size:0x454 -fn_1_6C08 = .text:0x00006C08; // type:function size:0xC8 -fn_1_6CD0 = .text:0x00006CD0; // type:function size:0x11C -fn_1_6DEC = .text:0x00006DEC; // type:function size:0x3A4 -fn_1_7190 = .text:0x00007190; // type:function size:0x5C -fn_1_71EC = .text:0x000071EC; // type:function size:0x208 -fn_1_73F4 = .text:0x000073F4; // type:function size:0x184 -fn_1_7578 = .text:0x00007578; // type:function size:0x26C -fn_1_77E4 = .text:0x000077E4; // type:function size:0x9A8 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 scope:local data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0xC scope:local data:2byte -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x50 scope:local -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x18 -lbl_1_data_18 = .data:0x00000018; // type:object size:0x18 -lbl_1_data_30 = .data:0x00000030; // type:object size:0x8 -lbl_1_data_38 = .data:0x00000038; // type:object size:0x84 -lbl_1_data_BC = .data:0x000000BC; // type:object size:0x84 -lbl_1_data_140 = .data:0x00000140; // type:object size:0x2C -lbl_1_data_16C = .data:0x0000016C; // type:object size:0x90 -lbl_1_data_1FC = .data:0x000001FC; // type:object size:0x90 -lbl_1_data_28C = .data:0x0000028C; // type:object size:0x30 -lbl_1_data_2BC = .data:0x000002BC; // type:object size:0xA8 -lbl_1_data_364 = .data:0x00000364; // type:object size:0xA8 -lbl_1_data_40C = .data:0x0000040C; // type:object size:0x38 -lbl_1_data_444 = .data:0x00000444; // type:object size:0xB4 -lbl_1_data_4F8 = .data:0x000004F8; // type:object size:0xB4 -lbl_1_data_5AC = .data:0x000005AC; // type:object size:0x3C -lbl_1_data_5E8 = .data:0x000005E8; // type:object size:0x18 -lbl_1_data_600 = .data:0x00000600; // type:object size:0x18 -lbl_1_data_618 = .data:0x00000618; // type:object size:0x8 -lbl_1_data_620 = .data:0x00000620; // type:object size:0xA8 -lbl_1_data_6C8 = .data:0x000006C8; // type:object size:0xA8 -lbl_1_data_770 = .data:0x00000770; // type:object size:0x38 -lbl_1_data_7A8 = .data:0x000007A8; // type:object size:0xD8 -lbl_1_data_880 = .data:0x00000880; // type:object size:0xD8 -lbl_1_data_958 = .data:0x00000958; // type:object size:0x48 -lbl_1_data_9A0 = .data:0x000009A0; // type:object size:0xC0 -lbl_1_data_A60 = .data:0x00000A60; // type:object size:0xC0 -lbl_1_data_B20 = .data:0x00000B20; // type:object size:0x40 -lbl_1_data_B60 = .data:0x00000B60; // type:object size:0xC0 -lbl_1_data_C20 = .data:0x00000C20; // type:object size:0xC0 -lbl_1_data_CE0 = .data:0x00000CE0; // type:object size:0x40 -lbl_1_data_D20 = .data:0x00000D20; // type:object size:0xA8 -lbl_1_data_DC8 = .data:0x00000DC8; // type:object size:0xA8 -lbl_1_data_E70 = .data:0x00000E70; // type:object size:0x38 -lbl_1_data_EA8 = .data:0x00000EA8; // type:object size:0x9C -lbl_1_data_F44 = .data:0x00000F44; // type:object size:0x9C -lbl_1_data_FE0 = .data:0x00000FE0; // type:object size:0x34 -lbl_1_data_1014 = .data:0x00001014; // type:object size:0x60 -lbl_1_data_1074 = .data:0x00001074; // type:object size:0x18 data:2byte -lbl_1_data_108C = .data:0x0000108C; // type:object size:0x30 data:float -lbl_1_data_10BC = .data:0x000010BC; // type:object size:0x204 data:float -lbl_1_data_12C0 = .data:0x000012C0; // type:object size:0x204 data:float -lbl_1_data_14C4 = .data:0x000014C4; // type:object size:0x204 data:float -lbl_1_data_16C8 = .data:0x000016C8; // type:object size:0xC -lbl_1_data_16D4 = .data:0x000016D4; // type:object size:0x4 data:4byte -lbl_1_data_16D8 = .data:0x000016D8; // type:object size:0x1D4 data:float -lbl_1_data_18AC = .data:0x000018AC; // type:object size:0x1D4 data:float -lbl_1_data_1A80 = .data:0x00001A80; // type:object size:0x1D4 data:float -lbl_1_data_1C54 = .data:0x00001C54; // type:object size:0x120 data:float -lbl_1_data_1D74 = .data:0x00001D74; // type:object size:0x120 data:float -lbl_1_data_1E94 = .data:0x00001E94; // type:object size:0x120 data:float -lbl_1_data_1FB4 = .data:0x00001FB4; // type:object size:0xF0 data:float -lbl_1_data_20A4 = .data:0x000020A4; // type:object size:0xF0 data:float -lbl_1_data_2194 = .data:0x00002194; // type:object size:0xF0 data:float -lbl_1_data_2284 = .data:0x00002284; // type:object size:0x24 -lbl_1_data_22A8 = .data:0x000022A8; // type:object size:0xC data:4byte -lbl_1_data_22B4 = .data:0x000022B4; // type:object size:0x174 data:float -lbl_1_data_2428 = .data:0x00002428; // type:object size:0x174 data:float -lbl_1_data_259C = .data:0x0000259C; // type:object size:0x174 data:float -lbl_1_data_2710 = .data:0x00002710; // type:object size:0x144 data:float -lbl_1_data_2854 = .data:0x00002854; // type:object size:0x144 data:float -lbl_1_data_2998 = .data:0x00002998; // type:object size:0x144 data:float -lbl_1_data_2ADC = .data:0x00002ADC; // type:object size:0x1A4 data:float -lbl_1_data_2C80 = .data:0x00002C80; // type:object size:0x1A4 data:float -lbl_1_data_2E24 = .data:0x00002E24; // type:object size:0x1A4 data:float -lbl_1_data_2FC8 = .data:0x00002FC8; // type:object size:0x24 -lbl_1_data_2FEC = .data:0x00002FEC; // type:object size:0xC data:4byte -lbl_1_data_2FF8 = .data:0x00002FF8; // type:object size:0x294 data:float -lbl_1_data_328C = .data:0x0000328C; // type:object size:0x294 data:float -lbl_1_data_3520 = .data:0x00003520; // type:object size:0x294 data:float -lbl_1_data_37B4 = .data:0x000037B4; // type:object size:0xC -lbl_1_data_37C0 = .data:0x000037C0; // type:object size:0x4 data:4byte -lbl_1_data_37C4 = .data:0x000037C4; // type:object size:0x198 data:float -lbl_1_data_395C = .data:0x0000395C; // type:object size:0x198 data:float -lbl_1_data_3AF4 = .data:0x00003AF4; // type:object size:0x198 data:float -lbl_1_data_3C8C = .data:0x00003C8C; // type:object size:0x198 data:float -lbl_1_data_3E24 = .data:0x00003E24; // type:object size:0x198 data:float -lbl_1_data_3FBC = .data:0x00003FBC; // type:object size:0x198 data:float -lbl_1_data_4154 = .data:0x00004154; // type:object size:0x18 -lbl_1_data_416C = .data:0x0000416C; // type:object size:0x8 data:4byte -lbl_1_data_4174 = .data:0x00004174; // type:object size:0x210 data:float -lbl_1_data_4384 = .data:0x00004384; // type:object size:0x210 data:float -lbl_1_data_4594 = .data:0x00004594; // type:object size:0x210 data:float -lbl_1_data_47A4 = .data:0x000047A4; // type:object size:0x210 data:float -lbl_1_data_49B4 = .data:0x000049B4; // type:object size:0x210 data:float -lbl_1_data_4BC4 = .data:0x00004BC4; // type:object size:0x210 data:float -lbl_1_data_4DD4 = .data:0x00004DD4; // type:object size:0x18 -lbl_1_data_4DEC = .data:0x00004DEC; // type:object size:0x8 data:4byte -lbl_1_data_4DF4 = .data:0x00004DF4; // type:object size:0x1D4 data:float -lbl_1_data_4FC8 = .data:0x00004FC8; // type:object size:0x1D4 data:float -lbl_1_data_519C = .data:0x0000519C; // type:object size:0x1D4 data:float -lbl_1_data_5370 = .data:0x00005370; // type:object size:0x1D4 data:float -lbl_1_data_5544 = .data:0x00005544; // type:object size:0x1D4 data:float -lbl_1_data_5718 = .data:0x00005718; // type:object size:0x1D4 data:float -lbl_1_data_58EC = .data:0x000058EC; // type:object size:0x18 -lbl_1_data_5904 = .data:0x00005904; // type:object size:0x8 data:4byte -lbl_1_data_590C = .data:0x0000590C; // type:object size:0x18C data:float -lbl_1_data_5A98 = .data:0x00005A98; // type:object size:0x18C data:float -lbl_1_data_5C24 = .data:0x00005C24; // type:object size:0x18C data:float -lbl_1_data_5DB0 = .data:0x00005DB0; // type:object size:0x168 data:float -lbl_1_data_5F18 = .data:0x00005F18; // type:object size:0x168 data:float -lbl_1_data_6080 = .data:0x00006080; // type:object size:0x168 data:float -lbl_1_data_61E8 = .data:0x000061E8; // type:object size:0x18 -lbl_1_data_6200 = .data:0x00006200; // type:object size:0x8 data:4byte -lbl_1_data_6208 = .data:0x00006208; // type:object size:0x174 data:float -lbl_1_data_637C = .data:0x0000637C; // type:object size:0x174 data:float -lbl_1_data_64F0 = .data:0x000064F0; // type:object size:0x174 data:float -lbl_1_data_6664 = .data:0x00006664; // type:object size:0x15C data:float -lbl_1_data_67C0 = .data:0x000067C0; // type:object size:0x15C data:float -lbl_1_data_691C = .data:0x0000691C; // type:object size:0x15C data:float -lbl_1_data_6A78 = .data:0x00006A78; // type:object size:0x18 -lbl_1_data_6A90 = .data:0x00006A90; // type:object size:0x8 data:4byte -lbl_1_data_6A98 = .data:0x00006A98; // type:object size:0x18C data:float -lbl_1_data_6C24 = .data:0x00006C24; // type:object size:0x18C data:float -lbl_1_data_6DB0 = .data:0x00006DB0; // type:object size:0x18C data:float -lbl_1_data_6F3C = .data:0x00006F3C; // type:object size:0x174 data:float -lbl_1_data_70B0 = .data:0x000070B0; // type:object size:0x174 data:float -lbl_1_data_7224 = .data:0x00007224; // type:object size:0x174 data:float -lbl_1_data_7398 = .data:0x00007398; // type:object size:0x18 -lbl_1_data_73B0 = .data:0x000073B0; // type:object size:0x8 data:4byte -lbl_1_data_73B8 = .data:0x000073B8; // type:object size:0x14 data:4byte -lbl_1_data_73CC = .data:0x000073CC; // type:object size:0x28 -lbl_1_data_73F4 = .data:0x000073F4; // type:object size:0x28 -lbl_1_data_741C = .data:0x0000741C; // type:object size:0x70 data:float -lbl_1_data_748C = .data:0x0000748C; // type:object size:0x140 -lbl_1_data_75CC = .data:0x000075CC; // type:object size:0x14 data:float -lbl_1_data_75E0 = .data:0x000075E0; // type:object size:0x10 data:4byte -lbl_1_data_75F0 = .data:0x000075F0; // type:object size:0xC data:float -lbl_1_data_75FC = .data:0x000075FC; // type:object size:0xC data:float -lbl_1_data_7608 = .data:0x00007608; // type:object size:0x4 -lbl_1_data_760C = .data:0x0000760C; // type:object size:0xC data:float -lbl_1_data_7618 = .data:0x00007618; // type:object size:0xC data:float -lbl_1_data_7624 = .data:0x00007624; // type:object size:0x23 scope:local data:string -lbl_1_data_7648 = .data:0x00007648; // type:object size:0x4 data:4byte -lbl_1_data_764C = .data:0x0000764C; // type:object size:0x4 data:4byte -jumptable_1_data_7650 = .data:0x00007650; // type:object size:0x28 scope:local -lbl_1_data_7678 = .data:0x00007678; // type:object size:0x1C scope:local data:string -lbl_1_data_7694 = .data:0x00007694; // type:object size:0x1C -lbl_1_data_76B0 = .data:0x000076B0; // type:object size:0x58 data:float -lbl_1_data_7708 = .data:0x00007708; // type:object size:0x30 data:float -lbl_1_data_7738 = .data:0x00007738; // type:object size:0x3C data:2byte -lbl_1_data_7774 = .data:0x00007774; // type:object size:0x20 data:4byte -lbl_1_data_7794 = .data:0x00007794; // type:object size:0x4 -lbl_1_data_7798 = .data:0x00007798; // type:object size:0x4 data:4byte -lbl_1_data_779C = .data:0x0000779C; // type:object size:0x4 data:4byte -lbl_1_data_77A0 = .data:0x000077A0; // type:object size:0x28 -lbl_1_data_77C8 = .data:0x000077C8; // type:object size:0x70 data:float -lbl_1_data_7838 = .data:0x00007838; // type:object size:0x1C data:2byte -lbl_1_data_7854 = .data:0x00007854; // type:object size:0x6 scope:local data:string -lbl_1_data_785A = .data:0x0000785A; // type:object size:0x6 scope:local data:string -lbl_1_data_7860 = .data:0x00007860; // type:object size:0x8 scope:local data:string -lbl_1_data_7868 = .data:0x00007868; // type:object size:0x6 scope:local data:string -lbl_1_data_786E = .data:0x0000786E; // type:object size:0x8 scope:local data:string -lbl_1_data_7876 = .data:0x00007876; // type:object size:0x6 scope:local data:string -lbl_1_data_787C = .data:0x0000787C; // type:object size:0x6 scope:local data:string -lbl_1_data_7882 = .data:0x00007882; // type:object size:0x6 scope:local data:string -lbl_1_data_7888 = .data:0x00007888; // type:object size:0x6 scope:local data:string -lbl_1_data_788E = .data:0x0000788E; // type:object size:0x6 scope:local data:string -lbl_1_data_7894 = .data:0x00007894; // type:object size:0x6 scope:local data:string -lbl_1_data_789A = .data:0x0000789A; // type:object size:0x6 scope:local data:string -lbl_1_data_78A0 = .data:0x000078A0; // type:object size:0x20 -lbl_1_data_78C0 = .data:0x000078C0; // type:object size:0x30 data:float -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x20 -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x2 data:2byte -lbl_1_bss_32 = .bss:0x00000032; // type:object size:0x2 data:2byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0xC data:float -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x90 -lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0x24 -lbl_1_bss_F8 = .bss:0x000000F8; // type:object size:0x24 -lbl_1_bss_11C = .bss:0x0000011C; // type:object size:0xC -lbl_1_bss_128 = .bss:0x00000128; // type:object size:0x4 data:4byte -lbl_1_bss_12C = .bss:0x0000012C; // type:object size:0x2 data:2byte -lbl_1_bss_12E = .bss:0x0000012E; // type:object size:0x2 data:2byte -lbl_1_bss_130 = .bss:0x00000130; // type:object size:0x2 data:2byte -lbl_1_bss_132 = .bss:0x00000132; // type:object size:0x8 data:2byte -lbl_1_bss_13A = .bss:0x0000013A; // type:object size:0x2 data:2byte -lbl_1_bss_13C = .bss:0x0000013C; // type:object size:0x2 data:2byte -lbl_1_bss_140 = .bss:0x00000140; // type:object size:0x4 data:4byte -lbl_1_bss_144 = .bss:0x00000144; // type:object size:0x4 data:4byte -lbl_1_bss_148 = .bss:0x00000148; // type:object size:0x4 data:4byte -lbl_1_bss_14C = .bss:0x0000014C; // type:object size:0x4 data:4byte -lbl_1_bss_150 = .bss:0x00000150; // type:object size:0x10 data:4byte -lbl_1_bss_160 = .bss:0x00000160; // type:object size:0x4 data:4byte -lbl_1_bss_164 = .bss:0x00000164; // type:object size:0x4 data:4byte -lbl_1_bss_168 = .bss:0x00000168; // type:object size:0x4 data:4byte -lbl_1_bss_16C = .bss:0x0000016C; // type:object size:0x4 data:4byte -lbl_1_bss_170 = .bss:0x00000170; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m440Dll/splits.txt b/config/GMPP01_00/rels/m440Dll/splits.txt deleted file mode 100644 index a5cd08ba..00000000 --- a/config/GMPP01_00/rels/m440Dll/splits.txt +++ /dev/null @@ -1,22 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/m440Dll/main.c: - .text start:0x000000A0 end:0x0000AE04 - .rodata start:0x00000000 end:0x00000190 - .data start:0x00000000 end:0x000001D8 - .bss start:0x00000000 end:0x00000070 - -REL/m440Dll/object.c: - .text start:0x0000AE04 end:0x0000F4F0 - .rodata start:0x00000190 end:0x000002B8 - .data start:0x000001D8 end:0x00000254 - .bss start:0x00000070 end:0x000000D0 diff --git a/config/GMPP01_00/rels/m440Dll/symbols.txt b/config/GMPP01_00/rels/m440Dll/symbols.txt deleted file mode 100644 index c1d0231e..00000000 --- a/config/GMPP01_00/rels/m440Dll/symbols.txt +++ /dev/null @@ -1,295 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x324 -fn_1_3C4 = .text:0x000003C4; // type:function size:0x70 -fn_1_434 = .text:0x00000434; // type:function size:0x70 -fn_1_4A4 = .text:0x000004A4; // type:function size:0x224 -fn_1_6C8 = .text:0x000006C8; // type:function size:0x228 -fn_1_8F0 = .text:0x000008F0; // type:function size:0x1F0 -fn_1_AE0 = .text:0x00000AE0; // type:function size:0x330 -fn_1_E14 = .text:0x00000E10; // type:function size:0x324 -fn_1_1138 = .text:0x00001134; // type:function size:0x5A0 -fn_1_16D8 = .text:0x000016D4; // type:function size:0x30 -fn_1_1708 = .text:0x00001704; // type:function size:0x60 -fn_1_1768 = .text:0x00001764; // type:function size:0x64 -fn_1_17CC = .text:0x000017C8; // type:function size:0x28 -fn_1_17F4 = .text:0x000017F0; // type:function size:0x28 -fn_1_181C = .text:0x00001818; // type:function size:0x74 -fn_1_1890 = .text:0x0000188C; // type:function size:0x50 -fn_1_18E0 = .text:0x000018DC; // type:function size:0x74 -fn_1_1954 = .text:0x00001950; // type:function size:0x5C -fn_1_19B0 = .text:0x000019AC; // type:function size:0x2FC -fn_1_1CAC = .text:0x00001CA8; // type:function size:0xA8 -fn_1_1D54 = .text:0x00001D50; // type:function size:0x4EC -fn_1_2240 = .text:0x0000223C; // type:function size:0x1A4 -fn_1_23E4 = .text:0x000023E0; // type:function size:0x44 -fn_1_2428 = .text:0x00002424; // type:function size:0x48 -fn_1_2470 = .text:0x0000246C; // type:function size:0x604 -fn_1_2A74 = .text:0x00002A70; // type:function size:0x40 -fn_1_2AB4 = .text:0x00002AB0; // type:function size:0x50 -fn_1_2B04 = .text:0x00002B00; // type:function size:0x1A4 -fn_1_2CA8 = .text:0x00002CA4; // type:function size:0x80 -fn_1_2D28 = .text:0x00002D24; // type:function size:0x6AC -fn_1_33D4 = .text:0x000033D0; // type:function size:0xA04 -fn_1_3DD8 = .text:0x00003DD4; // type:function size:0x780 -fn_1_4558 = .text:0x00004554; // type:function size:0x64 -fn_1_45BC = .text:0x000045B8; // type:function size:0xA4 -fn_1_4660 = .text:0x0000465C; // type:function size:0x80 -fn_1_46E0 = .text:0x000046DC; // type:function size:0x340 -fn_1_4A20 = .text:0x00004A1C; // type:function size:0x124 -fn_1_4B44 = .text:0x00004B40; // type:function size:0x2BC -fn_1_4E00 = .text:0x00004DFC; // type:function size:0x2C -fn_1_4E2C = .text:0x00004E28; // type:function size:0x28 -fn_1_4E54 = .text:0x00004E50; // type:function size:0x54 -fn_1_4EA8 = .text:0x00004EA4; // type:function size:0x44 -fn_1_4EEC = .text:0x00004EE8; // type:function size:0x48 -fn_1_4F34 = .text:0x00004F30; // type:function size:0xDC -fn_1_5010 = .text:0x0000500C; // type:function size:0x7A4 -fn_1_57B4 = .text:0x000057B0; // type:function size:0x478 -fn_1_5C2C = .text:0x00005C28; // type:function size:0x928 -fn_1_6554 = .text:0x00006550; // type:function size:0x604 -fn_1_6B58 = .text:0x00006B54; // type:function size:0x6A4 -fn_1_71FC = .text:0x000071F8; // type:function size:0x738 -fn_1_7934 = .text:0x00007930; // type:function size:0x42C -fn_1_7D60 = .text:0x00007D5C; // type:function size:0x30C -fn_1_806C = .text:0x00008068; // type:function size:0x404 -fn_1_8470 = .text:0x0000846C; // type:function size:0x654 -fn_1_8AC4 = .text:0x00008AC0; // type:function size:0x258 -fn_1_8D1C = .text:0x00008D18; // type:function size:0x488 -fn_1_91A4 = .text:0x000091A0; // type:function size:0xD8 -fn_1_927C = .text:0x00009278; // type:function size:0xC8 -fn_1_9344 = .text:0x00009340; // type:function size:0x7C -fn_1_93C0 = .text:0x000093BC; // type:function size:0x10 -fn_1_93D0 = .text:0x000093CC; // type:function size:0x5C -fn_1_942C = .text:0x00009428; // type:function size:0x140 -fn_1_956C = .text:0x00009568; // type:function size:0x544 -fn_1_9AB0 = .text:0x00009AAC; // type:function size:0x60 -fn_1_9B10 = .text:0x00009B0C; // type:function size:0x2C -fn_1_9B3C = .text:0x00009B38; // type:function size:0x58 -fn_1_9B94 = .text:0x00009B90; // type:function size:0x38 -fn_1_9BCC = .text:0x00009BC8; // type:function size:0x38 -fn_1_9C04 = .text:0x00009C00; // type:function size:0x5B4 -fn_1_A1B8 = .text:0x0000A1B4; // type:function size:0xCC -fn_1_A284 = .text:0x0000A280; // type:function size:0xA4 -fn_1_A328 = .text:0x0000A324; // type:function size:0x68 -fn_1_A390 = .text:0x0000A38C; // type:function size:0x704 -fn_1_AA94 = .text:0x0000AA90; // type:function size:0x374 -fn_1_AE08 = .text:0x0000AE04; // type:function size:0xDC -fn_1_AEE4 = .text:0x0000AEE0; // type:function size:0x298 -fn_1_B17C = .text:0x0000B178; // type:function size:0x4 -fn_1_B180 = .text:0x0000B17C; // type:function size:0x224 -fn_1_B3A4 = .text:0x0000B3A0; // type:function size:0x4E0 -fn_1_B884 = .text:0x0000B880; // type:function size:0x950 -fn_1_C1D4 = .text:0x0000C1D0; // type:function size:0x770 -fn_1_C944 = .text:0x0000C940; // type:function size:0x668 -fn_1_CFAC = .text:0x0000CFA8; // type:function size:0x2A0 -fn_1_D24C = .text:0x0000D248; // type:function size:0x100 -fn_1_D34C = .text:0x0000D348; // type:function size:0x4AC -fn_1_D7F8 = .text:0x0000D7F4; // type:function size:0x83C -fn_1_E034 = .text:0x0000E030; // type:function size:0x858 -fn_1_E8AC = .text:0x0000E888; // type:function size:0x4DC -fn_1_ED88 = .text:0x0000ED64; // type:function size:0xF0 -fn_1_EE78 = .text:0x0000EE54; // type:function size:0xD8 -fn_1_EF50 = .text:0x0000EF2C; // type:function size:0x1AC -fn_1_F0FC = .text:0x0000F0D8; // type:function size:0x6C -fn_1_F168 = .text:0x0000F144; // type:function size:0xC0 -fn_1_F228 = .text:0x0000F204; // type:function size:0x298 -fn_1_F4C0 = .text:0x0000F49C; // type:function size:0x14 -fn_1_F4D4 = .text:0x0000F4B0; // type:function size:0x28 -fn_1_F4FC = .text:0x0000F4D8; // type:function size:0x18 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0xC scope:local data:2byte -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0xC scope:local data:2byte -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 scope:local data:double -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x14 -lbl_1_data_14 = .data:0x00000014; // type:object size:0xC -lbl_1_data_20 = .data:0x00000020; // type:object size:0xC data:float -lbl_1_data_2C = .data:0x0000002C; // type:object size:0xC data:float -lbl_1_data_38 = .data:0x00000038; // type:object size:0xC -lbl_1_data_44 = .data:0x00000044; // type:object size:0x10 -lbl_1_data_54 = .data:0x00000054; // type:object size:0xC data:float -lbl_1_data_60 = .data:0x00000060; // type:object size:0xC -lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC data:float -lbl_1_data_78 = .data:0x00000078; // type:object size:0x54 data:float -lbl_1_data_CC = .data:0x000000CC; // type:object size:0x18 scope:local -lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x4 data:2byte -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x4 data:2byte -lbl_1_data_EC = .data:0x000000EC; // type:object size:0x4 data:2byte -lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x4 data:2byte -lbl_1_data_F4 = .data:0x000000F4; // type:object size:0x10 -lbl_1_data_104 = .data:0x00000104; // type:object size:0x4 data:2byte -lbl_1_data_108 = .data:0x00000108; // type:object size:0x4 data:2byte -lbl_1_data_10C = .data:0x0000010C; // type:object size:0x12 -lbl_1_data_11E = .data:0x0000011E; // type:object size:0x13 scope:local data:string -lbl_1_data_131 = .data:0x00000131; // type:object size:0x17 scope:local data:string -lbl_1_data_148 = .data:0x00000148; // type:object size:0x1 scope:local -lbl_1_data_149 = .data:0x00000149; // type:object size:0x19 scope:local data:string -lbl_1_data_162 = .data:0x00000162; // type:object size:0x1C scope:local data:string -lbl_1_data_17E = .data:0x0000017E; // type:object size:0x10 scope:local data:string -lbl_1_data_18E = .data:0x0000018E; // type:object size:0x26 scope:local data:string -lbl_1_data_1B4 = .data:0x000001B4; // type:object size:0x24 scope:local data:string -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0x2 data:2byte -lbl_1_data_1DA = .data:0x000001DA; // type:object size:0x2 data:2byte -lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x40 -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x10 -jumptable_1_data_22C = .data:0x0000022C; // type:object size:0x24 scope:local -lbl_1_data_250 = .data:0x00000250; // type:object size:0x4 data:float -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte -lbl_1_bss_1 = .bss:0x00000001; // type:object size:0x1 data:byte -lbl_1_bss_2 = .bss:0x00000002; // type:object size:0x1 data:byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte -lbl_1_bss_6 = .bss:0x00000006; // type:object size:0x2 data:2byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x2 data:2byte -lbl_1_bss_A = .bss:0x0000000A; // type:object size:0x1 data:byte -lbl_1_bss_B = .bss:0x0000000B; // type:object size:0x1 data:byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x1 data:byte -lbl_1_bss_E = .bss:0x0000000E; // type:object size:0x2 data:2byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x14 data:2byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x2 data:2byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x30 -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x2 data:2byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x4 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x2 data:2byte -lbl_1_bss_72 = .bss:0x00000072; // type:object size:0x1 data:byte -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x2 data:2byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0xC data:4byte -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x4 data:float -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x30 data:float -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x8 -lbl_1_bss_C0 = .bss:0x000000C0; // type:object size:0x10 diff --git a/config/GMPP01_00/rels/m441Dll/splits.txt b/config/GMPP01_00/rels/m441Dll/splits.txt deleted file mode 100644 index b67999c6..00000000 --- a/config/GMPP01_00/rels/m441Dll/splits.txt +++ /dev/null @@ -1,13 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/m441Dll/main.c: - .text start:0x00000000 end:0x0000AABC - .rodata start:0x00000000 end:0x000001EC - .data start:0x00000000 end:0x000005CC - .bss start:0x00000000 end:0x00000204 diff --git a/config/GMPP01_00/rels/m441Dll/symbols.txt b/config/GMPP01_00/rels/m441Dll/symbols.txt deleted file mode 100644 index ccaec68e..00000000 --- a/config/GMPP01_00/rels/m441Dll/symbols.txt +++ /dev/null @@ -1,225 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x24 -fn_1_24 = .text:0x00000024; // type:function size:0x88 -fn_1_AC = .text:0x000000AC; // type:function size:0xA4 -fn_1_150 = .text:0x00000150; // type:function size:0x24 -fn_1_174 = .text:0x00000174; // type:function size:0x164 -fn_1_2D8 = .text:0x000002D8; // type:function size:0x13C -fn_1_414 = .text:0x00000414; // type:function size:0x58 -fn_1_46C = .text:0x0000046C; // type:function size:0x114 -fn_1_580 = .text:0x00000580; // type:function size:0x204 -fn_1_798 = .text:0x00000784; // type:function size:0x240 -fn_1_9EC = .text:0x000009C4; // type:function size:0x54 -fn_1_A40 = .text:0x00000A18; // type:function size:0x10C -fn_1_B4C = .text:0x00000B24; // type:function size:0x680 -fn_1_11F4 = .text:0x000011A4; // type:function size:0x15C -fn_1_1350 = .text:0x00001300; // type:function size:0x8C -fn_1_13DC = .text:0x0000138C; // type:function size:0x334 -fn_1_1710 = .text:0x000016C0; // type:function size:0x350 -fn_1_1A60 = .text:0x00001A10; // type:function size:0x2B8 -fn_1_1D18 = .text:0x00001CC8; // type:function size:0x58 -fn_1_1D70 = .text:0x00001D20; // type:function size:0xB0 -fn_1_1E20 = .text:0x00001DD0; // type:function size:0x104 -fn_1_1F24 = .text:0x00001ED4; // type:function size:0x34 -fn_1_1F58 = .text:0x00001F08; // type:function size:0x6C -fn_1_1FC4 = .text:0x00001F74; // type:function size:0x3F0 -_prolog = .text:0x00002364; // type:function size:0x54 scope:global -_epilog = .text:0x000023B8; // type:function size:0x4C scope:global -fn_1_2454 = .text:0x00002404; // type:function size:0x2E8 -fn_1_273C = .text:0x000026EC; // type:function size:0x1C8 -fn_1_2904 = .text:0x000028B4; // type:function size:0x2D0 -fn_1_2BD4 = .text:0x00002B84; // type:function size:0x830 -fn_1_3404 = .text:0x000033B4; // type:function size:0x700 -fn_1_3B04 = .text:0x00003AB4; // type:function size:0xFC -fn_1_3C00 = .text:0x00003BB0; // type:function size:0x4A8 -fn_1_40A8 = .text:0x00004058; // type:function size:0x1340 -fn_1_53E8 = .text:0x00005398; // type:function size:0x744 -fn_1_5B2C = .text:0x00005ADC; // type:function size:0xD8 -fn_1_5C04 = .text:0x00005BB4; // type:function size:0x1538 -fn_1_713C = .text:0x000070EC; // type:function size:0x3B8 -fn_1_74F4 = .text:0x000074A4; // type:function size:0x464 -fn_1_7958 = .text:0x00007908; // type:function size:0xD4 -fn_1_7A2C = .text:0x000079DC; // type:function size:0x610 -fn_1_803C = .text:0x00007FEC; // type:function size:0x4DC -fn_1_8518 = .text:0x000084C8; // type:function size:0x414 -fn_1_892C = .text:0x000088DC; // type:function size:0x174 -fn_1_8AA0 = .text:0x00008A50; // type:function size:0x2B8 -fn_1_8D58 = .text:0x00008D08; // type:function size:0x11D8 -fn_1_9F40 = .text:0x00009EE0; // type:function size:0x570 -ObjectSetup = .text:0x0000A450; // type:function size:0x59C -fn_1_AA4C = .text:0x0000A9EC; // type:function size:0xD0 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x10 -lbl_1_data_10 = .data:0x00000010; // type:object size:0xC data:4byte -lbl_1_data_1C = .data:0x0000001C; // type:object size:0xC -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC data:4byte -lbl_1_data_34 = .data:0x00000034; // type:object size:0xC data:float -lbl_1_data_40 = .data:0x00000040; // type:object size:0xC data:float -lbl_1_data_4C = .data:0x0000004C; // type:object size:0xC data:float -lbl_1_data_58 = .data:0x00000058; // type:object size:0xC data:float -lbl_1_data_64 = .data:0x00000064; // type:object size:0xC data:float -lbl_1_data_70 = .data:0x00000070; // type:object size:0xC data:float -lbl_1_data_7C = .data:0x0000007C; // type:object size:0xC data:float -lbl_1_data_88 = .data:0x00000088; // type:object size:0xC data:float -lbl_1_data_94 = .data:0x00000094; // type:object size:0x4 -lbl_1_data_98 = .data:0x00000098; // type:object size:0xC data:float -lbl_1_data_A4 = .data:0x000000A4; // type:object size:0xC data:float -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x200 -lbl_1_data_2B0 = .data:0x000002B0; // type:object size:0x8 -lbl_1_data_2B8 = .data:0x000002B8; // type:object size:0xC -lbl_1_data_2C4 = .data:0x000002C4; // type:object size:0x10 -lbl_1_data_2D4 = .data:0x000002D4; // type:object size:0x40 data:float -lbl_1_data_314 = .data:0x00000314; // type:object size:0xC -lbl_1_data_320 = .data:0x00000320; // type:object size:0x6 -lbl_1_data_326 = .data:0x00000326; // type:object size:0x6 -lbl_1_data_32C = .data:0x0000032C; // type:object size:0x24 data:float -lbl_1_data_350 = .data:0x00000350; // type:object size:0x18 data:float -lbl_1_data_368 = .data:0x00000368; // type:object size:0x4 -lbl_1_data_36C = .data:0x0000036C; // type:object size:0xC data:float -lbl_1_data_378 = .data:0x00000378; // type:object size:0xC data:float -lbl_1_data_384 = .data:0x00000384; // type:object size:0xC data:float -lbl_1_data_390 = .data:0x00000390; // type:object size:0xC data:float -lbl_1_data_39C = .data:0x0000039C; // type:object size:0x50 -lbl_1_data_3EC = .data:0x000003EC; // type:object size:0x50 -lbl_1_data_43C = .data:0x0000043C; // type:object size:0x50 -lbl_1_data_48C = .data:0x0000048C; // type:object size:0x50 -lbl_1_data_4DC = .data:0x000004DC; // type:object size:0x18 scope:local data:string -lbl_1_data_4F4 = .data:0x000004F4; // type:object size:0x9 scope:local data:string -lbl_1_data_4FD = .data:0x000004FD; // type:object size:0x6 scope:local data:string -lbl_1_data_503 = .data:0x00000503; // type:object size:0x1D scope:local data:string -jumptable_1_data_520 = .data:0x00000520; // type:object size:0x40 scope:local -lbl_1_data_560 = .data:0x00000560; // type:object size:0x8 scope:local data:string -lbl_1_data_568 = .data:0x00000568; // type:object size:0x1B scope:local data:string -jumptable_1_data_584 = .data:0x00000584; // type:object size:0x24 scope:local -lbl_1_data_5A8 = .data:0x000005A8; // type:object size:0x24 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:float -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:float -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte -lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x6 -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x6 -lbl_1_bss_1E = .bss:0x0000001E; // type:object size:0x2 data:2byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x2 data:2byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:float -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:float -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x2 data:2byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x2 data:2byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x100 -lbl_1_bss_150 = .bss:0x00000150; // type:object size:0x40 data:4byte -lbl_1_bss_190 = .bss:0x00000190; // type:object size:0x4 data:float -lbl_1_bss_194 = .bss:0x00000194; // type:object size:0x4 data:4byte -lbl_1_bss_198 = .bss:0x00000198; // type:object size:0x4 data:4byte -lbl_1_bss_19C = .bss:0x0000019C; // type:object size:0x2 data:2byte -lbl_1_bss_19E = .bss:0x0000019E; // type:object size:0x2 data:2byte -lbl_1_bss_1A0 = .bss:0x000001A0; // type:object size:0x4 data:4byte -lbl_1_bss_1A4 = .bss:0x000001A4; // type:object size:0x4 data:4byte -lbl_1_bss_1A8 = .bss:0x000001A8; // type:object size:0x4 data:4byte -lbl_1_bss_1AC = .bss:0x000001AC; // type:object size:0xC data:4byte -lbl_1_bss_1B8 = .bss:0x000001B8; // type:object size:0xC data:4byte -lbl_1_bss_1C4 = .bss:0x000001C4; // type:object size:0xC data:4byte -lbl_1_bss_1D0 = .bss:0x000001D0; // type:object size:0xC data:4byte -lbl_1_bss_1DC = .bss:0x000001DC; // type:object size:0x4 data:4byte -lbl_1_bss_1E0 = .bss:0x000001E0; // type:object size:0x18 data:4byte -lbl_1_bss_1F8 = .bss:0x000001F8; // type:object size:0xC data:4byte diff --git a/config/GMPP01_00/rels/m442Dll/splits.txt b/config/GMPP01_00/rels/m442Dll/splits.txt deleted file mode 100644 index 87722ecf..00000000 --- a/config/GMPP01_00/rels/m442Dll/splits.txt +++ /dev/null @@ -1,22 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/m442Dll/main.c: - .text start:0x000000A0 end:0x000091B8 - .rodata start:0x00000000 end:0x000001D0 - .data start:0x00000000 end:0x00000268 - .bss start:0x00000000 end:0x00011F48 - -REL/m442Dll/score.c: - .text start:0x000091B8 end:0x0000997C - .rodata start:0x000001D0 end:0x00000200 - .data start:0x00000268 end:0x00000274 - .bss start:0x00011F48 end:0x00011F58 diff --git a/config/GMPP01_00/rels/m442Dll/symbols.txt b/config/GMPP01_00/rels/m442Dll/symbols.txt deleted file mode 100644 index c50572e9..00000000 --- a/config/GMPP01_00/rels/m442Dll/symbols.txt +++ /dev/null @@ -1,234 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x2D4 -fn_1_374 = .text:0x00000374; // type:function size:0x10 -fn_1_384 = .text:0x00000384; // type:function size:0x10 -fn_1_394 = .text:0x00000394; // type:function size:0xB4 -fn_1_448 = .text:0x00000448; // type:function size:0x5E8 -fn_1_A30 = .text:0x00000A30; // type:function size:0x60 -fn_1_A90 = .text:0x00000A90; // type:function size:0x31C -fn_1_D9C = .text:0x00000DAC; // type:function size:0x68 -fn_1_E04 = .text:0x00000E14; // type:function size:0x84 -fn_1_E88 = .text:0x00000E98; // type:function size:0x380 -fn_1_1200 = .text:0x00001218; // type:function size:0x30 -fn_1_1230 = .text:0x00001248; // type:function size:0xDE0 -fn_1_2010 = .text:0x00002028; // type:function size:0x244 -fn_1_2254 = .text:0x0000226C; // type:function size:0xF9C -fn_1_31FC = .text:0x00003208; // type:function size:0x3B0 -fn_1_35AC = .text:0x000035B8; // type:function size:0xAC -fn_1_3658 = .text:0x00003664; // type:function size:0x160 -fn_1_37B8 = .text:0x000037C4; // type:function size:0x150 -fn_1_3908 = .text:0x00003914; // type:function size:0x1DC -fn_1_3AE4 = .text:0x00003AF0; // type:function size:0x13C -fn_1_3C20 = .text:0x00003C2C; // type:function size:0x74 -fn_1_3C94 = .text:0x00003CA0; // type:function size:0x180 -fn_1_3E14 = .text:0x00003E20; // type:function size:0x50 -fn_1_3E64 = .text:0x00003E70; // type:function size:0x58 -fn_1_3EBC = .text:0x00003EC8; // type:function size:0x4 -fn_1_3EC0 = .text:0x00003ECC; // type:function size:0x4A4 -fn_1_4364 = .text:0x00004370; // type:function size:0x4 -fn_1_4368 = .text:0x00004374; // type:function size:0xDC -fn_1_4444 = .text:0x00004450; // type:function size:0x418 -fn_1_485C = .text:0x00004868; // type:function size:0xC6C -fn_1_54C8 = .text:0x000054D4; // type:function size:0x450 -fn_1_5918 = .text:0x00005924; // type:function size:0xA8 -fn_1_59C0 = .text:0x000059CC; // type:function size:0x88 -fn_1_5A48 = .text:0x00005A54; // type:function size:0x494 -fn_1_5EDC = .text:0x00005EE8; // type:function size:0x5D8 -fn_1_64B4 = .text:0x000064C0; // type:function size:0x700 -fn_1_6BB4 = .text:0x00006BC0; // type:function size:0x114 -fn_1_6CC8 = .text:0x00006CD4; // type:function size:0x5C -fn_1_6D24 = .text:0x00006D30; // type:function size:0x5A0 -fn_1_72C4 = .text:0x000072D0; // type:function size:0x318 -fn_1_75DC = .text:0x000075E8; // type:function size:0x158 -fn_1_7734 = .text:0x00007740; // type:function size:0x114 -fn_1_7848 = .text:0x00007854; // type:function size:0x48 -fn_1_7890 = .text:0x0000789C; // type:function size:0x3FC -fn_1_7C8C = .text:0x00007C98; // type:function size:0x230 -fn_1_7EBC = .text:0x00007EC8; // type:function size:0x664 -fn_1_8520 = .text:0x0000852C; // type:function size:0xC8 -fn_1_85E8 = .text:0x000085F4; // type:function size:0x104 -fn_1_86EC = .text:0x000086F8; // type:function size:0x4C -fn_1_8738 = .text:0x00008744; // type:function size:0x250 -fn_1_8988 = .text:0x00008994; // type:function size:0x764 -fn_1_90EC = .text:0x000090F8; // type:function size:0x10 -fn_1_90FC = .text:0x00009108; // type:function size:0xB0 -fn_1_91AC = .text:0x000091B8; // type:function size:0x28C -fn_1_9438 = .text:0x00009444; // type:function size:0x74 -fn_1_94AC = .text:0x000094B8; // type:function size:0x50 -fn_1_94FC = .text:0x00009508; // type:function size:0x24 -fn_1_9520 = .text:0x0000952C; // type:function size:0x30 -fn_1_9550 = .text:0x0000955C; // type:function size:0x1BC -fn_1_970C = .text:0x00009718; // type:function size:0x78 -fn_1_9784 = .text:0x00009790; // type:function size:0x88 -fn_1_980C = .text:0x00009818; // type:function size:0x164 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -__fakeHalf = .rodata:0x00000000; // type:object size:0x8 data:double -__fakeThree = .rodata:0x00000008; // type:object size:0x8 data:double -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:4byte -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0xC scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x54 data:float -lbl_1_data_54 = .data:0x00000054; // type:object size:0xC data:float -lbl_1_data_60 = .data:0x00000060; // type:object size:0xC data:float -lbl_1_data_6C = .data:0x0000006C; // type:object size:0x4 data:byte -lbl_1_data_70 = .data:0x00000070; // type:object size:0xC data:float -lbl_1_data_7C = .data:0x0000007C; // type:object size:0xC data:float -lbl_1_data_88 = .data:0x00000088; // type:object size:0x23 scope:local data:string -lbl_1_data_AC = .data:0x000000AC; // type:object size:0x4 data:4byte -jumptable_1_data_B0 = .data:0x000000B0; // type:object size:0x30 scope:local -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x1C scope:local data:string -lbl_1_data_FC = .data:0x000000FC; // type:object size:0x1C data:4byte -lbl_1_data_118 = .data:0x00000118; // type:object size:0x8 data:4byte -lbl_1_data_120 = .data:0x00000120; // type:object size:0x30 data:float -lbl_1_data_150 = .data:0x00000150; // type:object size:0x19 scope:local data:string -lbl_1_data_16A = .data:0x0000016A; // type:object size:0x20 data:2byte -lbl_1_data_18A = .data:0x0000018A; // type:object size:0x14 data:2byte -lbl_1_data_1A0 = .data:0x000001A0; // type:object size:0xC data:4byte -lbl_1_data_1AC = .data:0x000001AC; // type:object size:0xC scope:local data:string -lbl_1_data_1B8 = .data:0x000001B8; // type:object size:0x4 data:byte -lbl_1_data_1BC = .data:0x000001BC; // type:object size:0x4 data:byte -lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x30 data:float -lbl_1_data_1F0 = .data:0x000001F0; // type:object size:0x4 data:byte -lbl_1_data_1F4 = .data:0x000001F4; // type:object size:0x18 data:float -lbl_1_data_20C = .data:0x0000020C; // type:object size:0xC data:byte -lbl_1_data_218 = .data:0x00000218; // type:object size:0x4 data:byte -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x20 data:2byte -lbl_1_data_23C = .data:0x0000023C; // type:object size:0xC data:4byte -lbl_1_data_248 = .data:0x00000248; // type:object size:0x8 data:2byte -lbl_1_data_250 = .data:0x00000250; // type:object size:0x8 data:float -lbl_1_data_258 = .data:0x00000258; // type:object size:0x10 -lbl_1_data_268 = .data:0x00000268; // type:object size:0xC -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte -lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x2 data:2byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0xC data:float -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x3C data:4byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0xC000 data:2byte -lbl_1_bss_C05C = .bss:0x0000C05C; // type:object size:0x28 data:2byte -lbl_1_bss_C084 = .bss:0x0000C084; // type:object size:0x974 -lbl_1_bss_C9F8 = .bss:0x0000C9F8; // type:object size:0x5000 data:4byte -lbl_1_bss_119F8 = .bss:0x000119F8; // type:object size:0x4 data:4byte -lbl_1_bss_119FC = .bss:0x000119FC; // type:object size:0x271 -lbl_1_bss_11C6D = .bss:0x00011C6D; // type:object size:0x271 -lbl_1_bss_11EE0 = .bss:0x00011EE0; // type:object size:0x4 data:4byte -lbl_1_bss_11EE4 = .bss:0x00011EE4; // type:object size:0x4 data:4byte -lbl_1_bss_11EE8 = .bss:0x00011EE8; // type:object size:0x2 data:2byte -lbl_1_bss_11EEC = .bss:0x00011EEC; // type:object size:0x10 data:2byte -lbl_1_bss_11EFC = .bss:0x00011EFC; // type:object size:0x4 data:4byte -lbl_1_bss_11F00 = .bss:0x00011F00; // type:object size:0x4 data:4byte -lbl_1_bss_11F04 = .bss:0x00011F04; // type:object size:0xC data:4byte -lbl_1_bss_11F10 = .bss:0x00011F10; // type:object size:0x4 data:4byte -lbl_1_bss_11F14 = .bss:0x00011F14; // type:object size:0x2 data:2byte -lbl_1_bss_11F16 = .bss:0x00011F16; // type:object size:0x2 data:2byte -lbl_1_bss_11F18 = .bss:0x00011F18; // type:object size:0x2 data:2byte -lbl_1_bss_11F1A = .bss:0x00011F1A; // type:object size:0x2 data:2byte -lbl_1_bss_11F1C = .bss:0x00011F1C; // type:object size:0x2 data:2byte -lbl_1_bss_11F1E = .bss:0x00011F1E; // type:object size:0x2 data:2byte -lbl_1_bss_11F20 = .bss:0x00011F20; // type:object size:0x4 data:4byte -lbl_1_bss_11F24 = .bss:0x00011F24; // type:object size:0x4 data:4byte -lbl_1_bss_11F28 = .bss:0x00011F28; // type:object size:0x4 data:4byte -lbl_1_bss_11F2C = .bss:0x00011F2C; // type:object size:0x4 data:4byte -lbl_1_bss_11F30 = .bss:0x00011F30; // type:object size:0x4 data:4byte -lbl_1_bss_11F34 = .bss:0x00011F34; // type:object size:0x4 data:4byte -lbl_1_bss_11F38 = .bss:0x00011F38; // type:object size:0x4 data:4byte -lbl_1_bss_11F3C = .bss:0x00011F3C; // type:object size:0x4 data:4byte -lbl_1_bss_11F40 = .bss:0x00011F40; // type:object size:0x4 data:4byte -lbl_1_bss_11F44 = .bss:0x00011F44; // type:object size:0x4 data:4byte -lbl_1_bss_11F48 = .bss:0x00011F48; // type:object size:0x4 data:4byte -lbl_1_bss_11F4C = .bss:0x00011F4C; // type:object size:0x4 data:4byte -lbl_1_bss_11F50 = .bss:0x00011F50; // type:object size:0x4 data:4byte -lbl_1_bss_11F54 = .bss:0x00011F54; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m443Dll/splits.txt b/config/GMPP01_00/rels/m443Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m443Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m443Dll/symbols.txt b/config/GMPP01_00/rels/m443Dll/symbols.txt deleted file mode 100644 index 77c929a5..00000000 --- a/config/GMPP01_00/rels/m443Dll/symbols.txt +++ /dev/null @@ -1,326 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x380 -fn_1_420 = .text:0x00000420; // type:function size:0xC4 -fn_1_4E4 = .text:0x000004E4; // type:function size:0xA0 -fn_1_584 = .text:0x00000584; // type:function size:0x14C -fn_1_6D0 = .text:0x000006D0; // type:function size:0x2E0 -fn_1_9B0 = .text:0x000009B0; // type:function size:0x330 -fn_1_CE0 = .text:0x00000CE0; // type:function size:0x1EC -fn_1_ECC = .text:0x00000ECC; // type:function size:0x3C8 -fn_1_1294 = .text:0x00001294; // type:function size:0x544 -fn_1_17D8 = .text:0x000017D8; // type:function size:0x4C0 -fn_1_1C98 = .text:0x00001C98; // type:function size:0xF4 -fn_1_1D8C = .text:0x00001D8C; // type:function size:0x704 -fn_1_2490 = .text:0x00002490; // type:function size:0x114 -fn_1_25A4 = .text:0x000025A4; // type:function size:0x834 -fn_1_2DD8 = .text:0x00002DD8; // type:function size:0x17C -fn_1_2F54 = .text:0x00002F54; // type:function size:0x36C -fn_1_32C0 = .text:0x000032C0; // type:function size:0xB0 -fn_1_3370 = .text:0x00003370; // type:function size:0x3A0 -fn_1_3710 = .text:0x00003710; // type:function size:0x60 -fn_1_3770 = .text:0x00003770; // type:function size:0x608 -fn_1_3D78 = .text:0x00003D78; // type:function size:0x270 -fn_1_3FE8 = .text:0x00003FE8; // type:function size:0x14 -fn_1_3FFC = .text:0x00003FFC; // type:function size:0x14 -fn_1_4010 = .text:0x00004010; // type:function size:0x9C -fn_1_40AC = .text:0x000040AC; // type:function size:0x9C -fn_1_4148 = .text:0x00004148; // type:function size:0x68 -fn_1_41B0 = .text:0x000041B0; // type:function size:0x6C -fn_1_421C = .text:0x0000421C; // type:function size:0x98 -fn_1_42B4 = .text:0x000042B4; // type:function size:0x18 -fn_1_42CC = .text:0x000042CC; // type:function size:0x18 -fn_1_42E4 = .text:0x000042E4; // type:function size:0x18 -fn_1_42FC = .text:0x000042FC; // type:function size:0x18 -fn_1_4314 = .text:0x00004314; // type:function size:0x54 -fn_1_4368 = .text:0x00004368; // type:function size:0x44 -fn_1_43AC = .text:0x000043AC; // type:function size:0x30 -fn_1_43DC = .text:0x000043DC; // type:function size:0x30 -fn_1_440C = .text:0x0000440C; // type:function size:0x38 -fn_1_4444 = .text:0x00004444; // type:function size:0x208 -fn_1_464C = .text:0x0000464C; // type:function size:0x240 -fn_1_488C = .text:0x0000488C; // type:function size:0x11C -fn_1_49A8 = .text:0x000049A8; // type:function size:0xB4 -fn_1_4A5C = .text:0x00004A5C; // type:function size:0x54 -fn_1_4AB0 = .text:0x00004AB0; // type:function size:0x4 -fn_1_4AB4 = .text:0x00004AB4; // type:function size:0x260 -fn_1_4D14 = .text:0x00004D14; // type:function size:0x730 -fn_1_5444 = .text:0x00005444; // type:function size:0x218 -fn_1_565C = .text:0x0000565C; // type:function size:0x24 -fn_1_5680 = .text:0x00005680; // type:function size:0x554 -fn_1_5BD4 = .text:0x00005BD4; // type:function size:0x884 -fn_1_6458 = .text:0x00006458; // type:function size:0x21C -fn_1_6674 = .text:0x00006674; // type:function size:0xDC -fn_1_6750 = .text:0x00006750; // type:function size:0x264 -fn_1_69B4 = .text:0x000069B4; // type:function size:0x1DC -fn_1_6B90 = .text:0x00006B90; // type:function size:0x218 -fn_1_6DA8 = .text:0x00006DA8; // type:function size:0x388 -fn_1_7130 = .text:0x00007130; // type:function size:0x210 -fn_1_7340 = .text:0x00007340; // type:function size:0xDF8 -fn_1_8138 = .text:0x00008138; // type:function size:0x18C -fn_1_82C4 = .text:0x000082C4; // type:function size:0x74 -fn_1_8338 = .text:0x00008338; // type:function size:0x1D0 -fn_1_8508 = .text:0x00008508; // type:function size:0x178 -fn_1_8680 = .text:0x00008680; // type:function size:0x2D8 -fn_1_8958 = .text:0x00008958; // type:function size:0x38 -fn_1_8990 = .text:0x00008990; // type:function size:0x138 -fn_1_8AC8 = .text:0x00008AC8; // type:function size:0x1A0 -fn_1_8C68 = .text:0x00008C68; // type:function size:0x24 -fn_1_8C8C = .text:0x00008C8C; // type:function size:0x74 -fn_1_8D00 = .text:0x00008D00; // type:function size:0x74 -fn_1_8D74 = .text:0x00008D74; // type:function size:0x18 -fn_1_8D8C = .text:0x00008D8C; // type:function size:0x54 -fn_1_8DE0 = .text:0x00008DE0; // type:function size:0x54 -fn_1_8E34 = .text:0x00008E34; // type:function size:0x1C8 -fn_1_8FFC = .text:0x00008FFC; // type:function size:0x5A8 -fn_1_95A4 = .text:0x000095A4; // type:function size:0x94 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x50 -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x34 scope:local data:4byte -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 scope:local data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 scope:local data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 scope:local data:double -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 scope:local data:double -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 scope:local data:double -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 scope:local data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 scope:local data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 scope:local data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 scope:local data:float -lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 scope:local data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0xC -lbl_1_data_C = .data:0x0000000C; // type:object size:0xC -lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float -lbl_1_data_24 = .data:0x00000024; // type:object size:0x4 -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC data:float -lbl_1_data_34 = .data:0x00000034; // type:object size:0xC data:float -lbl_1_data_40 = .data:0x00000040; // type:object size:0xC data:float -lbl_1_data_4C = .data:0x0000004C; // type:object size:0x14 data:string -lbl_1_data_60 = .data:0x00000060; // type:object size:0x48 -lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x48 -lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x18 -lbl_1_data_108 = .data:0x00000108; // type:object size:0x80 -lbl_1_data_188 = .data:0x00000188; // type:object size:0x80 -lbl_1_data_208 = .data:0x00000208; // type:object size:0x1 data:byte -lbl_1_data_20C = .data:0x0000020C; // type:object size:0x1A data:string -lbl_1_data_226 = .data:0x00000226; // type:object size:0x1A -lbl_1_data_240 = .data:0x00000240; // type:object size:0x18 -lbl_1_data_258 = .data:0x00000258; // type:object size:0x2C -lbl_1_data_284 = .data:0x00000284; // type:object size:0x40 -lbl_1_data_2C4 = .data:0x000002C4; // type:object size:0x10 -lbl_1_data_2D4 = .data:0x000002D4; // type:object size:0x50 -lbl_1_data_324 = .data:0x00000324; // type:object size:0x10 -lbl_1_data_334 = .data:0x00000334; // type:object size:0x10 -lbl_1_data_344 = .data:0x00000344; // type:object size:0x10 -lbl_1_data_354 = .data:0x00000354; // type:object size:0x10 -lbl_1_data_364 = .data:0x00000364; // type:object size:0x30 -lbl_1_data_394 = .data:0x00000394; // type:object size:0x30 -lbl_1_data_3C4 = .data:0x000003C4; // type:object size:0x30 -lbl_1_data_3F4 = .data:0x000003F4; // type:object size:0x5 data:string -lbl_1_data_3F9 = .data:0x000003F9; // type:object size:0x7 data:string -lbl_1_data_400 = .data:0x00000400; // type:object size:0x7 data:string -lbl_1_data_407 = .data:0x00000407; // type:object size:0x9 -lbl_1_data_410 = .data:0x00000410; // type:object size:0x58 -lbl_1_data_468 = .data:0x00000468; // type:object size:0x20 -lbl_1_data_488 = .data:0x00000488; // type:object size:0x58 -lbl_1_data_4E0 = .data:0x000004E0; // type:object size:0x10 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x3C data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x2 data:2byte -lbl_1_bss_56 = .bss:0x00000056; // type:object size:0x2 data:2byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x2 data:2byte -lbl_1_bss_5A = .bss:0x0000005A; // type:object size:0x2 data:2byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x8 data:2byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x2 data:2byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x4 data:4byte -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x18 -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x10 diff --git a/config/GMPP01_00/rels/m444dll/splits.txt b/config/GMPP01_00/rels/m444dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m444dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m444dll/symbols.txt b/config/GMPP01_00/rels/m444dll/symbols.txt deleted file mode 100644 index df37999d..00000000 --- a/config/GMPP01_00/rels/m444dll/symbols.txt +++ /dev/null @@ -1,320 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x3D0 -fn_1_470 = .text:0x00000470; // type:function size:0x3788 -fn_1_3BF8 = .text:0x00003BF8; // type:function size:0x1270 -fn_1_4E68 = .text:0x00004E68; // type:function size:0x7C4 -fn_1_562C = .text:0x0000562C; // type:function size:0x1C4 -fn_1_57F0 = .text:0x000057F0; // type:function size:0x6F4 -fn_1_5EE4 = .text:0x00005EE4; // type:function size:0x6F4 -fn_1_65D8 = .text:0x000065D8; // type:function size:0x824 -fn_1_6DFC = .text:0x00006DFC; // type:function size:0xBC -fn_1_6EB8 = .text:0x00006EB8; // type:function size:0xA0 -fn_1_6F58 = .text:0x00006F58; // type:function size:0x3B4 -fn_1_730C = .text:0x0000730C; // type:function size:0xC2C -fn_1_7F38 = .text:0x00007F38; // type:function size:0x2C4 -fn_1_81FC = .text:0x000081FC; // type:function size:0x90 -fn_1_828C = .text:0x0000828C; // type:function size:0xEC -fn_1_8378 = .text:0x00008378; // type:function size:0x128 -fn_1_84A0 = .text:0x000084A0; // type:function size:0x1F8 -fn_1_8698 = .text:0x00008698; // type:function size:0x7B4 -fn_1_8E4C = .text:0x00008E4C; // type:function size:0x648 -fn_1_9494 = .text:0x00009494; // type:function size:0x894 -fn_1_9D28 = .text:0x00009D28; // type:function size:0x3B4 -fn_1_A0DC = .text:0x0000A0DC; // type:function size:0xB70 -fn_1_AC4C = .text:0x0000AC4C; // type:function size:0x618 -fn_1_B264 = .text:0x0000B264; // type:function size:0x102C -fn_1_C290 = .text:0x0000C290; // type:function size:0x528 -fn_1_C7B8 = .text:0x0000C7B8; // type:function size:0x2F4 -fn_1_CAAC = .text:0x0000CAAC; // type:function size:0x140 -fn_1_CBEC = .text:0x0000CBEC; // type:function size:0x298 -fn_1_CE84 = .text:0x0000CE84; // type:function size:0x194 -fn_1_D018 = .text:0x0000D018; // type:function size:0x244 -fn_1_D25C = .text:0x0000D25C; // type:function size:0x3A8 -fn_1_D604 = .text:0x0000D604; // type:function size:0x290 -fn_1_D894 = .text:0x0000D894; // type:function size:0x138 -fn_1_D9CC = .text:0x0000D9CC; // type:function size:0x78 -fn_1_DA44 = .text:0x0000DA44; // type:function size:0x2C -fn_1_DA70 = .text:0x0000DA70; // type:function size:0x42C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 data:double -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0xC data:4byte -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 data:double -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 data:double -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 data:double -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x8 data:double -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x8 data:double -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 data:double -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 data:double -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 data:double -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x118 -lbl_1_data_118 = .data:0x00000118; // type:object size:0x28 -lbl_1_data_140 = .data:0x00000140; // type:object size:0x54 data:float -lbl_1_data_194 = .data:0x00000194; // type:object size:0x20 -lbl_1_data_1B4 = .data:0x000001B4; // type:object size:0x24 data:string -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0xA data:string -lbl_1_data_1E2 = .data:0x000001E2; // type:object size:0xA data:string -lbl_1_data_1EC = .data:0x000001EC; // type:object size:0xA data:string -lbl_1_data_1F6 = .data:0x000001F6; // type:object size:0xD data:string -lbl_1_data_203 = .data:0x00000203; // type:object size:0xD data:string -lbl_1_data_210 = .data:0x00000210; // type:object size:0xD data:string -lbl_1_data_21D = .data:0x0000021D; // type:object size:0xD data:string -lbl_1_data_22A = .data:0x0000022A; // type:object size:0xB data:string -lbl_1_data_235 = .data:0x00000235; // type:object size:0xB data:string -lbl_1_data_240 = .data:0x00000240; // type:object size:0x4 -lbl_1_data_244 = .data:0x00000244; // type:object size:0xA data:string -lbl_1_data_24E = .data:0x0000024E; // type:object size:0xA -lbl_1_data_258 = .data:0x00000258; // type:object size:0xC -lbl_1_data_264 = .data:0x00000264; // type:object size:0x3C -lbl_1_data_2A0 = .data:0x000002A0; // type:object size:0x28 -lbl_1_data_2C8 = .data:0x000002C8; // type:object size:0xA -lbl_1_data_2D2 = .data:0x000002D2; // type:object size:0xD data:string -lbl_1_data_2DF = .data:0x000002DF; // type:object size:0xD data:string -lbl_1_data_2EC = .data:0x000002EC; // type:object size:0xD data:string -lbl_1_data_2F9 = .data:0x000002F9; // type:object size:0xD data:string -lbl_1_data_306 = .data:0x00000306; // type:object size:0xD data:string -lbl_1_data_313 = .data:0x00000313; // type:object size:0xD data:string -lbl_1_data_320 = .data:0x00000320; // type:object size:0xD data:string -lbl_1_data_32D = .data:0x0000032D; // type:object size:0xD data:string -lbl_1_data_33A = .data:0x0000033A; // type:object size:0xD data:string -lbl_1_data_347 = .data:0x00000347; // type:object size:0xD data:string -lbl_1_data_354 = .data:0x00000354; // type:object size:0xD data:string -lbl_1_data_361 = .data:0x00000361; // type:object size:0xD data:string -lbl_1_data_36E = .data:0x0000036E; // type:object size:0xD data:string -lbl_1_data_37B = .data:0x0000037B; // type:object size:0xD data:string -jumptable_1_data_388 = .data:0x00000388; // type:object size:0x1C scope:local -lbl_1_data_3A4 = .data:0x000003A4; // type:object size:0x8 -lbl_1_data_3AC = .data:0x000003AC; // type:object size:0x30 -lbl_1_data_3DC = .data:0x000003DC; // type:object size:0x24 -lbl_1_data_400 = .data:0x00000400; // type:object size:0x54 -lbl_1_data_454 = .data:0x00000454; // type:object size:0xC -lbl_1_data_460 = .data:0x00000460; // type:object size:0x10 data:string -lbl_1_data_470 = .data:0x00000470; // type:object size:0x127C -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x140 data:2byte -lbl_1_bss_148 = .bss:0x00000148; // type:object size:0x140 data:2byte -lbl_1_bss_288 = .bss:0x00000288; // type:object size:0x8 data:float -lbl_1_bss_290 = .bss:0x00000290; // type:object size:0x18 data:4byte -lbl_1_bss_2A8 = .bss:0x000002A8; // type:object size:0x18 data:float -lbl_1_bss_2C0 = .bss:0x000002C0; // type:object size:0x10 data:2byte -lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x2 data:2byte -lbl_1_bss_2D2 = .bss:0x000002D2; // type:object size:0x2 data:2byte -lbl_1_bss_2D4 = .bss:0x000002D4; // type:object size:0x2 data:2byte -lbl_1_bss_2D6 = .bss:0x000002D6; // type:object size:0x2 data:2byte -lbl_1_bss_2D8 = .bss:0x000002D8; // type:object size:0x2 data:2byte -lbl_1_bss_2DA = .bss:0x000002DA; // type:object size:0x2 data:2byte -lbl_1_bss_2DC = .bss:0x000002DC; // type:object size:0x2 data:2byte -lbl_1_bss_2E0 = .bss:0x000002E0; // type:object size:0x4 data:float -lbl_1_bss_2E4 = .bss:0x000002E4; // type:object size:0xC data:float -lbl_1_bss_2F0 = .bss:0x000002F0; // type:object size:0xC data:4byte -lbl_1_bss_2FC = .bss:0x000002FC; // type:object size:0xC data:4byte -lbl_1_bss_308 = .bss:0x00000308; // type:object size:0x4 data:4byte -lbl_1_bss_30C = .bss:0x0000030C; // type:object size:0x4 data:4byte -lbl_1_bss_310 = .bss:0x00000310; // type:object size:0x1 data:byte -lbl_1_bss_312 = .bss:0x00000312; // type:object size:0x2 data:2byte -lbl_1_bss_314 = .bss:0x00000314; // type:object size:0xC data:float -lbl_1_bss_320 = .bss:0x00000320; // type:object size:0x8 data:2byte -lbl_1_bss_328 = .bss:0x00000328; // type:object size:0x24 data:float -lbl_1_bss_34C = .bss:0x0000034C; // type:object size:0x24 data:float -lbl_1_bss_370 = .bss:0x00000370; // type:object size:0x400 -lbl_1_bss_770 = .bss:0x00000770; // type:object size:0xC data:float -lbl_1_bss_77C = .bss:0x0000077C; // type:object size:0xC data:float -lbl_1_bss_788 = .bss:0x00000788; // type:object size:0xC -lbl_1_bss_794 = .bss:0x00000794; // type:object size:0x90 -lbl_1_bss_824 = .bss:0x00000824; // type:object size:0x3C -lbl_1_bss_860 = .bss:0x00000860; // type:object size:0x24 -lbl_1_bss_884 = .bss:0x00000884; // type:object size:0x1000 -lbl_1_bss_1884 = .bss:0x00001884; // type:object size:0x2 data:2byte -lbl_1_bss_1888 = .bss:0x00001888; // type:object size:0xC data:float -lbl_1_bss_1894 = .bss:0x00001894; // type:object size:0xC data:float -lbl_1_bss_18A0 = .bss:0x000018A0; // type:object size:0x14 -lbl_1_bss_18B4 = .bss:0x000018B4; // type:object size:0x3C -lbl_1_bss_18F0 = .bss:0x000018F0; // type:object size:0xC000 -lbl_1_bss_D8F0 = .bss:0x0000D8F0; // type:object size:0xC000 -lbl_1_bss_198F0 = .bss:0x000198F0; // type:object size:0x1A -lbl_1_bss_1990A = .bss:0x0001990A; // type:object size:0x2 data:2byte -lbl_1_bss_1990E = .bss:0x0001990E; // type:object size:0xB4 data:2byte -lbl_1_bss_199C2 = .bss:0x000199C2; // type:object size:0xB4 data:2byte diff --git a/config/GMPP01_00/rels/m445Dll/splits.txt b/config/GMPP01_00/rels/m445Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m445Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m445Dll/symbols.txt b/config/GMPP01_00/rels/m445Dll/symbols.txt deleted file mode 100644 index d8326fcd..00000000 --- a/config/GMPP01_00/rels/m445Dll/symbols.txt +++ /dev/null @@ -1,173 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x418 -fn_1_4B8 = .text:0x000004B8; // type:function size:0x54 -fn_1_50C = .text:0x0000050C; // type:function size:0x4 -fn_1_510 = .text:0x00000510; // type:function size:0x10 -fn_1_520 = .text:0x00000520; // type:function size:0x30 -fn_1_550 = .text:0x00000550; // type:function size:0x1308 -fn_1_1858 = .text:0x00001858; // type:function size:0x80 -fn_1_18D8 = .text:0x000018D8; // type:function size:0x5C -fn_1_1934 = .text:0x00001934; // type:function size:0x34 -fn_1_1968 = .text:0x00001968; // type:function size:0x168 -fn_1_1AD0 = .text:0x00001AD0; // type:function size:0x3C -fn_1_1B0C = .text:0x00001B0C; // type:function size:0x154 -fn_1_1C60 = .text:0x00001C60; // type:function size:0xF88 -fn_1_2BE8 = .text:0x00002BE8; // type:function size:0xB8 -fn_1_2CA0 = .text:0x00002CA0; // type:function size:0x1BC -fn_1_2E5C = .text:0x00002E5C; // type:function size:0xD0 -fn_1_2F2C = .text:0x00002F2C; // type:function size:0xD8 -fn_1_3004 = .text:0x00003004; // type:function size:0x84 -fn_1_3088 = .text:0x00003088; // type:function size:0x80 -fn_1_3108 = .text:0x00003108; // type:function size:0x220 -fn_1_3328 = .text:0x00003328; // type:function size:0x214 -fn_1_353C = .text:0x0000353C; // type:function size:0xD58 -fn_1_4294 = .text:0x00004294; // type:function size:0x104 -fn_1_4398 = .text:0x00004398; // type:function size:0x22C -fn_1_45C4 = .text:0x000045C4; // type:function size:0xFAC -fn_1_5570 = .text:0x00005570; // type:function size:0x74 -fn_1_55E4 = .text:0x000055E4; // type:function size:0x74 -fn_1_5658 = .text:0x00005658; // type:function size:0x9C -fn_1_56F4 = .text:0x000056F4; // type:function size:0xB68 -fn_1_625C = .text:0x0000625C; // type:function size:0x1D58 -fn_1_7FB4 = .text:0x00007FB4; // type:function size:0x360 -fn_1_8314 = .text:0x00008314; // type:function size:0x618 -fn_1_892C = .text:0x0000892C; // type:function size:0x80 -fn_1_89AC = .text:0x000089AC; // type:function size:0x60 -fn_1_8A0C = .text:0x00008A0C; // type:function size:0x334 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x40 -lbl_1_data_40 = .data:0x00000040; // type:object size:0x20 -lbl_1_data_60 = .data:0x00000060; // type:object size:0x18 -lbl_1_data_78 = .data:0x00000078; // type:object size:0x18 -lbl_1_data_90 = .data:0x00000090; // type:object size:0x40 -lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x40 -lbl_1_data_110 = .data:0x00000110; // type:object size:0x40 -lbl_1_data_150 = .data:0x00000150; // type:object size:0x12 data:string -lbl_1_data_162 = .data:0x00000162; // type:object size:0x12 data:string -lbl_1_data_174 = .data:0x00000174; // type:object size:0x13 data:string -lbl_1_data_187 = .data:0x00000187; // type:object size:0x13 data:string -lbl_1_data_19A = .data:0x0000019A; // type:object size:0x14 data:string -lbl_1_data_1AE = .data:0x000001AE; // type:object size:0x14 data:string -lbl_1_data_1C2 = .data:0x000001C2; // type:object size:0x10 data:string -lbl_1_data_1D2 = .data:0x000001D2; // type:object size:0x10 data:string -lbl_1_data_1E2 = .data:0x000001E2; // type:object size:0x13 data:string -lbl_1_data_1F5 = .data:0x000001F5; // type:object size:0xF data:string -lbl_1_data_204 = .data:0x00000204; // type:object size:0xE data:string -lbl_1_data_212 = .data:0x00000212; // type:object size:0xE -lbl_1_data_220 = .data:0x00000220; // type:object size:0x40 -lbl_1_data_260 = .data:0x00000260; // type:object size:0x20 -lbl_1_data_280 = .data:0x00000280; // type:object size:0xF data:string -lbl_1_data_28F = .data:0x0000028F; // type:object size:0xB data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:float -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0xC data:float -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0xC data:float -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0xC data:float -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x28 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x230 -lbl_1_bss_288 = .bss:0x00000288; // type:object size:0x300 data:2byte -lbl_1_bss_588 = .bss:0x00000588; // type:object size:0x13C data:4byte -lbl_1_bss_6C4 = .bss:0x000006C4; // type:object size:0x4 data:4byte -lbl_1_bss_6C8 = .bss:0x000006C8; // type:object size:0x4 data:4byte -lbl_1_bss_6CC = .bss:0x000006CC; // type:object size:0xC data:4byte -lbl_1_bss_6D8 = .bss:0x000006D8; // type:object size:0x4 data:4byte -lbl_1_bss_6DC = .bss:0x000006DC; // type:object size:0x4 data:4byte -lbl_1_bss_6E0 = .bss:0x000006E0; // type:object size:0x2 data:2byte -lbl_1_bss_6E2 = .bss:0x000006E2; // type:object size:0x2 data:2byte -lbl_1_bss_6E6 = .bss:0x000006E6; // type:object size:0x2 data:2byte diff --git a/config/GMPP01_00/rels/m446dll/splits.txt b/config/GMPP01_00/rels/m446dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m446dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m446dll/symbols.txt b/config/GMPP01_00/rels/m446dll/symbols.txt deleted file mode 100644 index ddaa394d..00000000 --- a/config/GMPP01_00/rels/m446dll/symbols.txt +++ /dev/null @@ -1,305 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x9C -fn_1_13C = .text:0x0000013C; // type:function size:0x168 -fn_1_2A4 = .text:0x000002A4; // type:function size:0x158 -fn_1_3FC = .text:0x000003FC; // type:function size:0xB8 -fn_1_4B4 = .text:0x000004B4; // type:function size:0x88 -fn_1_53C = .text:0x0000053C; // type:function size:0x41C -fn_1_958 = .text:0x00000958; // type:function size:0x220 -fn_1_B78 = .text:0x00000B78; // type:function size:0x94 -fn_1_C0C = .text:0x00000C0C; // type:function size:0x94 -fn_1_CA0 = .text:0x00000CA0; // type:function size:0xB30 -fn_1_17D0 = .text:0x000017D0; // type:function size:0x40 -fn_1_1810 = .text:0x00001810; // type:function size:0x38 -fn_1_1848 = .text:0x00001848; // type:function size:0x3C -fn_1_1884 = .text:0x00001884; // type:function size:0x3C -fn_1_18C0 = .text:0x000018C0; // type:function size:0x84 -fn_1_1944 = .text:0x00001944; // type:function size:0x64 -fn_1_19A8 = .text:0x000019A8; // type:function size:0x290 -fn_1_1C38 = .text:0x00001C38; // type:function size:0x94 -fn_1_1CCC = .text:0x00001CCC; // type:function size:0x38 -fn_1_1D04 = .text:0x00001D04; // type:function size:0x3C -fn_1_1D40 = .text:0x00001D40; // type:function size:0x3C -fn_1_1D7C = .text:0x00001D7C; // type:function size:0x34 -fn_1_1DB0 = .text:0x00001DB0; // type:function size:0x10 -fn_1_1DC0 = .text:0x00001DC0; // type:function size:0x8 -fn_1_1DC8 = .text:0x00001DC8; // type:function size:0x68 -fn_1_1E30 = .text:0x00001E30; // type:function size:0x28 -fn_1_1E58 = .text:0x00001E58; // type:function size:0x44 -fn_1_1E9C = .text:0x00001E9C; // type:function size:0x3C -fn_1_1ED8 = .text:0x00001ED8; // type:function size:0x34 -fn_1_1F0C = .text:0x00001F0C; // type:function size:0x4C -fn_1_1F58 = .text:0x00001F58; // type:function size:0x3C -fn_1_1F94 = .text:0x00001F94; // type:function size:0x3C -fn_1_1FD0 = .text:0x00001FD0; // type:function size:0x68 -fn_1_2038 = .text:0x00002038; // type:function size:0x18 -fn_1_2050 = .text:0x00002050; // type:function size:0x58 -fn_1_20A8 = .text:0x000020A8; // type:function size:0x338 -fn_1_23E0 = .text:0x000023E0; // type:function size:0x27C -fn_1_265C = .text:0x0000265C; // type:function size:0xA4 -fn_1_2700 = .text:0x00002700; // type:function size:0x68 -fn_1_2768 = .text:0x00002768; // type:function size:0x68 -fn_1_27D0 = .text:0x000027D0; // type:function size:0x94 -fn_1_2864 = .text:0x00002864; // type:function size:0x98 -fn_1_28FC = .text:0x000028FC; // type:function size:0x8C -fn_1_2988 = .text:0x00002988; // type:function size:0x68 -fn_1_29F0 = .text:0x000029F0; // type:function size:0x3C -fn_1_2A2C = .text:0x00002A2C; // type:function size:0x3C -fn_1_2A68 = .text:0x00002A68; // type:function size:0x14 -fn_1_2A7C = .text:0x00002A7C; // type:function size:0x2EC -fn_1_2D68 = .text:0x00002D68; // type:function size:0x14 -fn_1_2D7C = .text:0x00002D7C; // type:function size:0x118 -fn_1_2E94 = .text:0x00002E94; // type:function size:0xA4 -fn_1_2F38 = .text:0x00002F38; // type:function size:0x100 -fn_1_3038 = .text:0x00003038; // type:function size:0x11C -fn_1_3154 = .text:0x00003154; // type:function size:0x58 -fn_1_31AC = .text:0x000031AC; // type:function size:0x2C8 -fn_1_3474 = .text:0x00003474; // type:function size:0x260 -fn_1_36D4 = .text:0x000036D4; // type:function size:0x154 -fn_1_3828 = .text:0x00003828; // type:function size:0x5C -fn_1_3884 = .text:0x00003884; // type:function size:0x30 -fn_1_38B4 = .text:0x000038B4; // type:function size:0x10 -fn_1_38C4 = .text:0x000038C4; // type:function size:0x34 -fn_1_38F8 = .text:0x000038F8; // type:function size:0x18 -fn_1_3910 = .text:0x00003910; // type:function size:0x58 -fn_1_3968 = .text:0x00003968; // type:function size:0x3C -fn_1_39A4 = .text:0x000039A4; // type:function size:0x17C -fn_1_3B20 = .text:0x00003B20; // type:function size:0xA4 -fn_1_3BC4 = .text:0x00003BC4; // type:function size:0x2C4 -fn_1_3E88 = .text:0x00003E88; // type:function size:0x11C -fn_1_3FA4 = .text:0x00003FA4; // type:function size:0x30 -fn_1_3FD4 = .text:0x00003FD4; // type:function size:0x88 -fn_1_405C = .text:0x0000405C; // type:function size:0x624 -fn_1_4680 = .text:0x00004680; // type:function size:0x24 -fn_1_46A4 = .text:0x000046A4; // type:function size:0x50 -fn_1_46F4 = .text:0x000046F4; // type:function size:0x78 -fn_1_476C = .text:0x0000476C; // type:function size:0x74 -fn_1_47E0 = .text:0x000047E0; // type:function size:0x18 -fn_1_47F8 = .text:0x000047F8; // type:function size:0x58 -fn_1_4850 = .text:0x00004850; // type:function size:0x284 -fn_1_4AD4 = .text:0x00004AD4; // type:function size:0x59C -fn_1_5070 = .text:0x00005070; // type:function size:0x11C -fn_1_518C = .text:0x0000518C; // type:function size:0x34C -fn_1_54D8 = .text:0x000054D8; // type:function size:0x144 -fn_1_561C = .text:0x0000561C; // type:function size:0x30 -fn_1_564C = .text:0x0000564C; // type:function size:0x4BC -fn_1_5B08 = .text:0x00005B08; // type:function size:0x14 -fn_1_5B1C = .text:0x00005B1C; // type:function size:0xC8 -fn_1_5BE4 = .text:0x00005BE4; // type:function size:0x14 -fn_1_5BF8 = .text:0x00005BF8; // type:function size:0xC8 -fn_1_5CC0 = .text:0x00005CC0; // type:function size:0x14 -fn_1_5CD4 = .text:0x00005CD4; // type:function size:0x154 -fn_1_5E28 = .text:0x00005E28; // type:function size:0x220 -fn_1_6048 = .text:0x00006048; // type:function size:0x1F0 -fn_1_6238 = .text:0x00006238; // type:function size:0x8C -fn_1_62C4 = .text:0x000062C4; // type:function size:0x8C -fn_1_6350 = .text:0x00006350; // type:function size:0x140 -fn_1_6490 = .text:0x00006490; // type:function size:0xBC -fn_1_654C = .text:0x0000654C; // type:function size:0xA8 -fn_1_65F4 = .text:0x000065F4; // type:function size:0x158 -fn_1_674C = .text:0x0000674C; // type:function size:0x160 -fn_1_68AC = .text:0x000068AC; // type:function size:0x4 -fn_1_68B0 = .text:0x000068B0; // type:function size:0x5C4 -fn_1_6E74 = .text:0x00006E74; // type:function size:0x24 -fn_1_6E98 = .text:0x00006E98; // type:function size:0x24 -fn_1_6EBC = .text:0x00006EBC; // type:function size:0x10 -fn_1_6ECC = .text:0x00006ECC; // type:function size:0x194 -fn_1_7060 = .text:0x00007060; // type:function size:0x10 -fn_1_7070 = .text:0x00007070; // type:function size:0x244 -fn_1_72B4 = .text:0x000072B4; // type:function size:0x18 -fn_1_72CC = .text:0x000072CC; // type:function size:0x58 -fn_1_7324 = .text:0x00007324; // type:function size:0x1A4 -fn_1_74C8 = .text:0x000074C8; // type:function size:0x1F4 -fn_1_76BC = .text:0x000076BC; // type:function size:0xE0 -fn_1_779C = .text:0x0000779C; // type:function size:0xBC -fn_1_7858 = .text:0x00007858; // type:function size:0x84 -fn_1_78DC = .text:0x000078DC; // type:function size:0x94 -fn_1_7970 = .text:0x00007970; // type:function size:0x9C -fn_1_7A0C = .text:0x00007A0C; // type:function size:0x7C -fn_1_7A88 = .text:0x00007A88; // type:function size:0x13C -fn_1_7BC4 = .text:0x00007BC4; // type:function size:0x18 -fn_1_7BDC = .text:0x00007BDC; // type:function size:0x58 -fn_1_7C34 = .text:0x00007C34; // type:function size:0x460 -fn_1_8094 = .text:0x00008094; // type:function size:0x330 -fn_1_83C4 = .text:0x000083C4; // type:function size:0xBC -fn_1_8480 = .text:0x00008480; // type:function size:0x80 -fn_1_8500 = .text:0x00008500; // type:function size:0xE0 -fn_1_85E0 = .text:0x000085E0; // type:function size:0xC -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x30 data:4byte -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x14 -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x14 -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x28 -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x18 data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 data:double -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0xC -lbl_1_data_C = .data:0x0000000C; // type:object size:0xC -lbl_1_data_18 = .data:0x00000018; // type:object size:0x4 data:float -lbl_1_data_1C = .data:0x0000001C; // type:object size:0xC -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC -lbl_1_data_34 = .data:0x00000034; // type:object size:0x4 -lbl_1_data_38 = .data:0x00000038; // type:object size:0x18 -lbl_1_data_50 = .data:0x00000050; // type:object size:0x18 -lbl_1_data_68 = .data:0x00000068; // type:object size:0x8 -lbl_1_data_70 = .data:0x00000070; // type:object size:0x10 -lbl_1_data_80 = .data:0x00000080; // type:object size:0x20 -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x14 -jumptable_1_data_B4 = .data:0x000000B4; // type:object size:0x30 scope:local -jumptable_1_data_E4 = .data:0x000000E4; // type:object size:0x68 scope:local -lbl_1_data_150 = .data:0x00000150; // type:object size:0xC -lbl_1_data_15C = .data:0x0000015C; // type:object size:0x20 -jumptable_1_data_17C = .data:0x0000017C; // type:object size:0x2C scope:local -lbl_1_data_1A8 = .data:0x000001A8; // type:object size:0x1F data:string -lbl_1_data_1C7 = .data:0x000001C7; // type:object size:0x21 -lbl_1_data_1E8 = .data:0x000001E8; // type:object size:0x1E data:string -lbl_1_data_206 = .data:0x00000206; // type:object size:0x22 -lbl_1_data_228 = .data:0x00000228; // type:object size:0x24 -lbl_1_data_24C = .data:0x0000024C; // type:object size:0x90 -lbl_1_data_2DC = .data:0x000002DC; // type:object size:0x14 -lbl_1_data_2F0 = .data:0x000002F0; // type:object size:0x1F data:string -lbl_1_data_30F = .data:0x0000030F; // type:object size:0x1F data:string -lbl_1_data_32E = .data:0x0000032E; // type:object size:0x22 -jumptable_1_data_350 = .data:0x00000350; // type:object size:0x1C scope:local -lbl_1_data_37C = .data:0x0000037C; // type:object size:0x1E data:string -lbl_1_data_39A = .data:0x0000039A; // type:object size:0x1E data:string -lbl_1_data_3B8 = .data:0x000003B8; // type:object size:0x10 -lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0x24 -lbl_1_data_3EC = .data:0x000003EC; // type:object size:0x24 -lbl_1_data_410 = .data:0x00000410; // type:object size:0x14 -lbl_1_data_424 = .data:0x00000424; // type:object size:0x3C -lbl_1_data_460 = .data:0x00000460; // type:object size:0x54 data:byte -lbl_1_data_4B4 = .data:0x000004B4; // type:object size:0x24 -lbl_1_data_4D8 = .data:0x000004D8; // type:object size:0x1E data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x8 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x8 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x8 data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x8 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:float -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:float -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:float -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0xC data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0xC data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:float -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0xC data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0xC data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x4 data:float -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0xC data:float -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0xC data:float -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x8 data:4byte -lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m447dll/splits.txt b/config/GMPP01_00/rels/m447dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m447dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m447dll/symbols.txt b/config/GMPP01_00/rels/m447dll/symbols.txt deleted file mode 100644 index e191dd83..00000000 --- a/config/GMPP01_00/rels/m447dll/symbols.txt +++ /dev/null @@ -1,309 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x8C -fn_1_12C = .text:0x0000012C; // type:function size:0x8C -fn_1_1B8 = .text:0x000001B8; // type:function size:0x284 -fn_1_43C = .text:0x0000043C; // type:function size:0x54 -fn_1_490 = .text:0x00000490; // type:function size:0x10 -fn_1_4A0 = .text:0x000004A0; // type:function size:0x10 -fn_1_4B0 = .text:0x000004B0; // type:function size:0x94 -fn_1_544 = .text:0x00000544; // type:function size:0x264 -fn_1_7A8 = .text:0x000007A8; // type:function size:0x3B4 -fn_1_B5C = .text:0x00000B5C; // type:function size:0x3CC -fn_1_F28 = .text:0x00000F28; // type:function size:0x134 -fn_1_105C = .text:0x0000105C; // type:function size:0x32C -fn_1_1388 = .text:0x00001388; // type:function size:0x88 -fn_1_1410 = .text:0x00001410; // type:function size:0x68 -fn_1_1478 = .text:0x00001478; // type:function size:0x2D0 -fn_1_1748 = .text:0x00001748; // type:function size:0xDC -fn_1_1824 = .text:0x00001824; // type:function size:0x54 -fn_1_1878 = .text:0x00001878; // type:function size:0x278 -fn_1_1AF0 = .text:0x00001AF0; // type:function size:0xFC -fn_1_1BEC = .text:0x00001BEC; // type:function size:0xE8 -fn_1_1CD4 = .text:0x00001CD4; // type:function size:0x54 -fn_1_1D28 = .text:0x00001D28; // type:function size:0x5C -fn_1_1D84 = .text:0x00001D84; // type:function size:0xE0 -fn_1_1E64 = .text:0x00001E64; // type:function size:0x40 -fn_1_1EA4 = .text:0x00001EA4; // type:function size:0x10 -fn_1_1EB4 = .text:0x00001EB4; // type:function size:0x14 -fn_1_1EC8 = .text:0x00001EC8; // type:function size:0x2C -fn_1_1EF4 = .text:0x00001EF4; // type:function size:0x9C -fn_1_1F90 = .text:0x00001F90; // type:function size:0x50 -fn_1_1FE0 = .text:0x00001FE0; // type:function size:0x8 -fn_1_1FE8 = .text:0x00001FE8; // type:function size:0x170 -fn_1_2158 = .text:0x00002158; // type:function size:0x1B8 -fn_1_2310 = .text:0x00002310; // type:function size:0x50 -fn_1_2360 = .text:0x00002360; // type:function size:0x124 -fn_1_2484 = .text:0x00002484; // type:function size:0x4 -fn_1_2488 = .text:0x00002488; // type:function size:0x150 -fn_1_25D8 = .text:0x000025D8; // type:function size:0x11C -fn_1_26F4 = .text:0x000026F4; // type:function size:0x33C -fn_1_2A30 = .text:0x00002A30; // type:function size:0x2CC -fn_1_2CFC = .text:0x00002CFC; // type:function size:0xA4 -fn_1_2DA0 = .text:0x00002DA0; // type:function size:0x384 -fn_1_3124 = .text:0x00003124; // type:function size:0x1B0 -fn_1_32D4 = .text:0x000032D4; // type:function size:0x2C -fn_1_3300 = .text:0x00003300; // type:function size:0xBC -fn_1_33BC = .text:0x000033BC; // type:function size:0xBC -fn_1_3478 = .text:0x00003478; // type:function size:0x98 -fn_1_3510 = .text:0x00003510; // type:function size:0x24 -fn_1_3534 = .text:0x00003534; // type:function size:0x24 -fn_1_3558 = .text:0x00003558; // type:function size:0x718 -fn_1_3C70 = .text:0x00003C70; // type:function size:0x22C -fn_1_3E9C = .text:0x00003E9C; // type:function size:0xDC -fn_1_3F78 = .text:0x00003F78; // type:function size:0x40 -fn_1_3FB8 = .text:0x00003FB8; // type:function size:0x33C -fn_1_42F4 = .text:0x000042F4; // type:function size:0xCC -fn_1_43C0 = .text:0x000043C0; // type:function size:0x10 -fn_1_43D0 = .text:0x000043D0; // type:function size:0x1C -fn_1_43EC = .text:0x000043EC; // type:function size:0x4C -fn_1_4438 = .text:0x00004438; // type:function size:0x6C -fn_1_44A4 = .text:0x000044A4; // type:function size:0xE0 -fn_1_4584 = .text:0x00004584; // type:function size:0xA8 -fn_1_462C = .text:0x0000462C; // type:function size:0x48 -fn_1_4674 = .text:0x00004674; // type:function size:0x8C -fn_1_4700 = .text:0x00004700; // type:function size:0x54 -fn_1_4754 = .text:0x00004754; // type:function size:0x4 -fn_1_4758 = .text:0x00004758; // type:function size:0x520 -fn_1_4C78 = .text:0x00004C78; // type:function size:0x2F8 -fn_1_4F70 = .text:0x00004F70; // type:function size:0x104 -fn_1_5074 = .text:0x00005074; // type:function size:0x218 -fn_1_528C = .text:0x0000528C; // type:function size:0x288 -fn_1_5514 = .text:0x00005514; // type:function size:0x240 -fn_1_5754 = .text:0x00005754; // type:function size:0x278 -fn_1_59CC = .text:0x000059CC; // type:function size:0x118 -fn_1_5AE4 = .text:0x00005AE4; // type:function size:0xE0 -fn_1_5BC4 = .text:0x00005BC4; // type:function size:0xA8 -fn_1_5C6C = .text:0x00005C6C; // type:function size:0xAA4 -fn_1_6710 = .text:0x00006710; // type:function size:0x9A0 -fn_1_70B0 = .text:0x000070B0; // type:function size:0xC0 -fn_1_7170 = .text:0x00007170; // type:function size:0x80 -fn_1_71F0 = .text:0x000071F0; // type:function size:0xAC -fn_1_729C = .text:0x0000729C; // type:function size:0x3E0 -fn_1_767C = .text:0x0000767C; // type:function size:0x220 -fn_1_789C = .text:0x0000789C; // type:function size:0xDC -fn_1_7978 = .text:0x00007978; // type:function size:0xB0 -fn_1_7A28 = .text:0x00007A28; // type:function size:0x38 -fn_1_7A60 = .text:0x00007A60; // type:function size:0x38 -fn_1_7A98 = .text:0x00007A98; // type:function size:0xB0 -fn_1_7B48 = .text:0x00007B48; // type:function size:0x240 -fn_1_7D88 = .text:0x00007D88; // type:function size:0x1D0 -fn_1_7F58 = .text:0x00007F58; // type:function size:0x158 -fn_1_80B0 = .text:0x000080B0; // type:function size:0x6E0 -fn_1_8790 = .text:0x00008790; // type:function size:0x220 -fn_1_89B0 = .text:0x000089B0; // type:function size:0x43C -fn_1_8DEC = .text:0x00008DEC; // type:function size:0x184 -fn_1_8F70 = .text:0x00008F70; // type:function size:0x78 -fn_1_8FE8 = .text:0x00008FE8; // type:function size:0x10 -fn_1_8FF8 = .text:0x00008FF8; // type:function size:0xF8 -fn_1_90F0 = .text:0x000090F0; // type:function size:0x10 -fn_1_9100 = .text:0x00009100; // type:function size:0x4C -fn_1_914C = .text:0x0000914C; // type:function size:0x1C8 -fn_1_9314 = .text:0x00009314; // type:function size:0x54 -fn_1_9368 = .text:0x00009368; // type:function size:0x1C4 -fn_1_952C = .text:0x0000952C; // type:function size:0x4 -fn_1_9530 = .text:0x00009530; // type:function size:0x21C -fn_1_974C = .text:0x0000974C; // type:function size:0x1C4 -fn_1_9910 = .text:0x00009910; // type:function size:0x2B0 -fn_1_9BC0 = .text:0x00009BC0; // type:function size:0x120 -fn_1_9CE0 = .text:0x00009CE0; // type:function size:0x200 -fn_1_9EE0 = .text:0x00009EE0; // type:function size:0x54 -fn_1_9F34 = .text:0x00009F34; // type:function size:0x2F0 -fn_1_A224 = .text:0x0000A224; // type:function size:0x10 -fn_1_A234 = .text:0x0000A234; // type:function size:0x34 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x64 -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0xC data:4byte -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC data:4byte -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0xC data:4byte -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x18 -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0xC -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0xC -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x18 data:4byte -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x58 -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x3C -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x1 data:byte -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 data:double -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 data:double -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x144 -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x24 -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x60 -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x14 -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 data:double -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x8 data:double -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x8 data:double -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x8 data:double -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 data:double -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x8 data:double -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x20 -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x60 -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 data:float -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 data:float -lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 data:float -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 data:float -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 data:float -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 data:float -lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 data:float -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 data:float -lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x8 data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 data:float -lbl_1_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x4 data:float -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 data:float -lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 data:float -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x8 data:double -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x8 data:double -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x8 data:double -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x8 data:double -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 data:float -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x8 data:double -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 data:double -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x8 data:float -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x50 -lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x50 -lbl_1_rodata_698 = .rodata:0x00000698; // type:object size:0x4 data:float -lbl_1_rodata_69C = .rodata:0x0000069C; // type:object size:0x4 data:float -lbl_1_rodata_6A0 = .rodata:0x000006A0; // type:object size:0x4 data:float -lbl_1_rodata_6A4 = .rodata:0x000006A4; // type:object size:0x4 data:float -lbl_1_rodata_6A8 = .rodata:0x000006A8; // type:object size:0x4 data:float -lbl_1_rodata_6AC = .rodata:0x000006AC; // type:object size:0x4 data:float -lbl_1_rodata_6B0 = .rodata:0x000006B0; // type:object size:0x4 data:float -lbl_1_rodata_6B4 = .rodata:0x000006B4; // type:object size:0x4 data:float -lbl_1_rodata_6B8 = .rodata:0x000006B8; // type:object size:0x8 data:double -lbl_1_rodata_6C0 = .rodata:0x000006C0; // type:object size:0x4 data:float -lbl_1_rodata_6C8 = .rodata:0x000006C8; // type:object size:0x8 data:double -lbl_1_rodata_6D0 = .rodata:0x000006D0; // type:object size:0x4 data:float -lbl_1_rodata_6D4 = .rodata:0x000006D4; // type:object size:0x4 data:float -lbl_1_rodata_6D8 = .rodata:0x000006D8; // type:object size:0x4 data:float -lbl_1_rodata_6DC = .rodata:0x000006DC; // type:object size:0x4 data:float -lbl_1_rodata_6E0 = .rodata:0x000006E0; // type:object size:0x4 data:float -lbl_1_rodata_6E4 = .rodata:0x000006E4; // type:object size:0x4 data:float -lbl_1_rodata_6E8 = .rodata:0x000006E8; // type:object size:0x4 data:float -lbl_1_rodata_6EC = .rodata:0x000006EC; // type:object size:0x4 data:float -lbl_1_rodata_6F0 = .rodata:0x000006F0; // type:object size:0x8 data:double -lbl_1_rodata_6F8 = .rodata:0x000006F8; // type:object size:0x4 data:float -lbl_1_rodata_700 = .rodata:0x00000700; // type:object size:0x8 data:double -lbl_1_rodata_708 = .rodata:0x00000708; // type:object size:0x4 data:float -lbl_1_rodata_710 = .rodata:0x00000710; // type:object size:0x8 data:double -lbl_1_rodata_718 = .rodata:0x00000718; // type:object size:0x4 data:float -lbl_1_rodata_720 = .rodata:0x00000720; // type:object size:0x8 data:double -lbl_1_rodata_728 = .rodata:0x00000728; // type:object size:0x4 data:float -lbl_1_rodata_72C = .rodata:0x0000072C; // type:object size:0x4 data:float -lbl_1_rodata_730 = .rodata:0x00000730; // type:object size:0x4 data:float -lbl_1_rodata_734 = .rodata:0x00000734; // type:object size:0x1 data:byte -lbl_1_rodata_738 = .rodata:0x00000738; // type:object size:0x4 data:float -lbl_1_rodata_73C = .rodata:0x0000073C; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x1C -lbl_1_data_1C = .data:0x0000001C; // type:object size:0x14 -jumptable_1_data_30 = .data:0x00000030; // type:object size:0x28 scope:local -jumptable_1_data_58 = .data:0x00000058; // type:object size:0x28 scope:local -jumptable_1_data_80 = .data:0x00000080; // type:object size:0x20 scope:local -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0xA8 -lbl_1_data_148 = .data:0x00000148; // type:object size:0x18 -lbl_1_data_160 = .data:0x00000160; // type:object size:0x1E data:string -lbl_1_data_17E = .data:0x0000017E; // type:object size:0x1E data:string -lbl_1_data_19C = .data:0x0000019C; // type:object size:0x14 -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x1C -lbl_1_data_1CC = .data:0x000001CC; // type:object size:0x2C -jumptable_1_data_1F8 = .data:0x000001F8; // type:object size:0x24 scope:local -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x40 -lbl_1_data_25C = .data:0x0000025C; // type:object size:0x1C -lbl_1_data_278 = .data:0x00000278; // type:object size:0x1C -lbl_1_data_294 = .data:0x00000294; // type:object size:0x18 -lbl_1_data_2AC = .data:0x000002AC; // type:object size:0x37 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x8 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x8 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:float -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:float -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:float -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:float -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:float -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:float -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x1C data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x1C data:float -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x1C data:float -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x8 data:4byte -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x8 data:4byte -lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x14 -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m448Dll/splits.txt b/config/GMPP01_00/rels/m448Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m448Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m448Dll/symbols.txt b/config/GMPP01_00/rels/m448Dll/symbols.txt deleted file mode 100644 index 0ffb9d58..00000000 --- a/config/GMPP01_00/rels/m448Dll/symbols.txt +++ /dev/null @@ -1,200 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x2EC -fn_1_38C = .text:0x0000038C; // type:function size:0xEC -fn_1_478 = .text:0x00000478; // type:function size:0x84 -fn_1_4FC = .text:0x000004FC; // type:function size:0xE3C -fn_1_1338 = .text:0x00001338; // type:function size:0x2FDC -fn_1_4314 = .text:0x00004314; // type:function size:0x2A94 -fn_1_6DA8 = .text:0x00006DA8; // type:function size:0x3E4 -fn_1_718C = .text:0x0000718C; // type:function size:0xC70 -fn_1_7DFC = .text:0x00007DFC; // type:function size:0x3FC -fn_1_81F8 = .text:0x000081F8; // type:function size:0xC10 -fn_1_8E08 = .text:0x00008E08; // type:function size:0x738 -fn_1_9540 = .text:0x00009540; // type:function size:0x154 -fn_1_9694 = .text:0x00009694; // type:function size:0x4A4 -fn_1_9B38 = .text:0x00009B38; // type:function size:0x120 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x14 data:4byte -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x14 data:4byte -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x14 data:4byte -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x14 data:4byte -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x14 data:4byte -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x10 data:4byte -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x10 data:4byte -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0xC data:4byte -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x54 -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x10 data:4byte -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:4byte -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x50 -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x50 -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x50 -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 data:double -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 data:double -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x8 data:double -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 data:double -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x8 data:double -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x8 data:double -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x24 data:4byte -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x34 data:4byte -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x24 data:4byte -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x50 -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x50 -lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x18 data:4byte -lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x18 data:4byte -lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x8 data:4byte -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x28 data:4byte -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x28 data:4byte -lbl_1_rodata_5C4 = .rodata:0x000005C4; // type:object size:0xC data:4byte -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0xC data:4byte -lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x1 data:byte -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float -lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x4 data:float -lbl_1_rodata_5EC = .rodata:0x000005EC; // type:object size:0x4 data:float -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 data:float -lbl_1_rodata_5F4 = .rodata:0x000005F4; // type:object size:0x4 data:float -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x28 -lbl_1_data_28 = .data:0x00000028; // type:object size:0x28 -lbl_1_data_50 = .data:0x00000050; // type:object size:0x2C -lbl_1_data_7C = .data:0x0000007C; // type:object size:0x2C -lbl_1_data_A8 = .data:0x000000A8; // type:object size:0xB data:byte -lbl_1_data_B3 = .data:0x000000B3; // type:object size:0xD -lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x2C -lbl_1_data_EC = .data:0x000000EC; // type:object size:0x2C data:4byte -lbl_1_data_118 = .data:0x00000118; // type:object size:0x58 -lbl_1_data_170 = .data:0x00000170; // type:object size:0x8 data:4byte -lbl_1_data_178 = .data:0x00000178; // type:object size:0x20 -lbl_1_data_198 = .data:0x00000198; // type:object size:0x2 data:2byte -lbl_1_data_19A = .data:0x0000019A; // type:object size:0x2 data:2byte -lbl_1_data_19C = .data:0x0000019C; // type:object size:0x2 data:2byte -lbl_1_data_1A0 = .data:0x000001A0; // type:object size:0x4 data:4byte -lbl_1_data_1A4 = .data:0x000001A4; // type:object size:0x8 data:4byte -lbl_1_data_1AC = .data:0x000001AC; // type:object size:0x8 -lbl_1_data_1B4 = .data:0x000001B4; // type:object size:0x8 -lbl_1_data_1BC = .data:0x000001BC; // type:object size:0x20 -lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x10 data:float -lbl_1_data_1EC = .data:0x000001EC; // type:object size:0x9 data:string -lbl_1_data_1F5 = .data:0x000001F5; // type:object size:0x1B -jumptable_1_data_210 = .data:0x00000210; // type:object size:0x2C scope:local -jumptable_1_data_23C = .data:0x0000023C; // type:object size:0x20 scope:local -lbl_1_data_25C = .data:0x0000025C; // type:object size:0x4 data:4byte -lbl_1_data_260 = .data:0x00000260; // type:object size:0x4 data:float -lbl_1_data_264 = .data:0x00000264; // type:object size:0x4 data:float -lbl_1_data_268 = .data:0x00000268; // type:object size:0x4 data:float -lbl_1_data_26C = .data:0x0000026C; // type:object size:0x4 data:float -jumptable_1_data_270 = .data:0x00000270; // type:object size:0x24 scope:local -jumptable_1_data_294 = .data:0x00000294; // type:object size:0x20 scope:local -lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x19 data:string -lbl_1_data_2CD = .data:0x000002CD; // type:object size:0x24 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0xC data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x8 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x8 data:float -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x20 -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x4 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x4 data:4byte -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x4 data:4byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x4 data:4byte -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x4 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x4 data:4byte -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x8 data:4byte -lbl_1_bss_94 = .bss:0x00000094; // type:object size:0x4 data:4byte -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x4 data:4byte -lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0xD0 data:4byte -lbl_1_bss_16C = .bss:0x0000016C; // type:object size:0x2D0 data:4byte diff --git a/config/GMPP01_00/rels/m449Dll/splits.txt b/config/GMPP01_00/rels/m449Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m449Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m449Dll/symbols.txt b/config/GMPP01_00/rels/m449Dll/symbols.txt deleted file mode 100644 index acf85bcc..00000000 --- a/config/GMPP01_00/rels/m449Dll/symbols.txt +++ /dev/null @@ -1,209 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x358 -fn_1_3F8 = .text:0x000003F8; // type:function size:0x360 -fn_1_758 = .text:0x00000758; // type:function size:0x5EB8 -fn_1_6610 = .text:0x00006610; // type:function size:0x8 -fn_1_6618 = .text:0x00006618; // type:function size:0x2C -fn_1_6644 = .text:0x00006644; // type:function size:0x140 -fn_1_6784 = .text:0x00006784; // type:function size:0xCC -fn_1_6850 = .text:0x00006850; // type:function size:0x958 -fn_1_71A8 = .text:0x000071A8; // type:function size:0x39C -fn_1_7544 = .text:0x00007544; // type:function size:0x988 -fn_1_7ECC = .text:0x00007ECC; // type:function size:0xC8 -fn_1_7F94 = .text:0x00007F94; // type:function size:0x5A4 -fn_1_8538 = .text:0x00008538; // type:function size:0xFC0 -fn_1_94F8 = .text:0x000094F8; // type:function size:0xE0 -fn_1_95D8 = .text:0x000095D8; // type:function size:0x460 -fn_1_9A38 = .text:0x00009A38; // type:function size:0x9C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x10 -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC0 -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0xC0 -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0xC0 -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x20 data:4byte -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 data:double -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x8 data:double -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 data:double -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x8 data:double -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x8 data:double -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 data:double -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x8 data:double -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 data:double -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x8 data:double -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 data:double -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x8 data:double -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 data:double -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 data:double -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 data:double -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x8 data:double -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 data:double -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x8 data:double -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x8 data:double -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x8 data:double -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 data:double -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 data:double -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 data:double -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x8 data:double -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 data:double -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x8 data:double -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x8 data:double -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x8 data:double -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x60 -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x8 data:double -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x18 data:4byte -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 data:float -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 data:float -lbl_1_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x34 data:4byte -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 data:double -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x8 data:double -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 data:double -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x8 data:double -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 data:double -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 data:double -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x8 data:double -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x4 data:float -lbl_1_rodata_614 = .rodata:0x00000614; // type:object size:0x4 data:float -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x8 data:double -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x20 data:4byte -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x8 data:4byte -lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x48 -lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x48 -lbl_1_rodata_6D8 = .rodata:0x000006D8; // type:object size:0x4 data:float -lbl_1_rodata_6DC = .rodata:0x000006DC; // type:object size:0x4 data:float -lbl_1_rodata_6E0 = .rodata:0x000006E0; // type:object size:0x4 data:float -lbl_1_rodata_6E4 = .rodata:0x000006E4; // type:object size:0x4 data:float -lbl_1_rodata_6E8 = .rodata:0x000006E8; // type:object size:0x4 data:float -lbl_1_rodata_6EC = .rodata:0x000006EC; // type:object size:0x4 data:float -lbl_1_rodata_6F0 = .rodata:0x000006F0; // type:object size:0xC data:4byte -lbl_1_rodata_6FC = .rodata:0x000006FC; // type:object size:0xC data:4byte -lbl_1_rodata_708 = .rodata:0x00000708; // type:object size:0x1 data:byte -lbl_1_rodata_70C = .rodata:0x0000070C; // type:object size:0x4 data:float -lbl_1_rodata_710 = .rodata:0x00000710; // type:object size:0x4 data:float -lbl_1_rodata_714 = .rodata:0x00000714; // type:object size:0x4 data:float -lbl_1_rodata_718 = .rodata:0x00000718; // type:object size:0x4 data:float -lbl_1_rodata_71C = .rodata:0x0000071C; // type:object size:0x4 data:float -lbl_1_rodata_720 = .rodata:0x00000720; // type:object size:0x4 data:float -lbl_1_rodata_724 = .rodata:0x00000724; // type:object size:0x4 data:float -lbl_1_rodata_728 = .rodata:0x00000728; // type:object size:0x4 data:float -lbl_1_rodata_72C = .rodata:0x0000072C; // type:object size:0x4 data:float -lbl_1_rodata_730 = .rodata:0x00000730; // type:object size:0x4 data:float -lbl_1_rodata_734 = .rodata:0x00000734; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x48 -lbl_1_data_48 = .data:0x00000048; // type:object size:0x48 -lbl_1_data_90 = .data:0x00000090; // type:object size:0x10 -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x10 -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x38 -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x50 -lbl_1_data_138 = .data:0x00000138; // type:object size:0x50 -lbl_1_data_188 = .data:0x00000188; // type:object size:0x50 -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0x50 -lbl_1_data_228 = .data:0x00000228; // type:object size:0x2 data:2byte -lbl_1_data_22A = .data:0x0000022A; // type:object size:0x2 data:2byte -lbl_1_data_22C = .data:0x0000022C; // type:object size:0x4 data:4byte -lbl_1_data_230 = .data:0x00000230; // type:object size:0xC data:4byte -lbl_1_data_23C = .data:0x0000023C; // type:object size:0x28 data:4byte -lbl_1_data_264 = .data:0x00000264; // type:object size:0x20 -lbl_1_data_284 = .data:0x00000284; // type:object size:0x4 data:4byte -lbl_1_data_288 = .data:0x00000288; // type:object size:0x4 data:float -lbl_1_data_28C = .data:0x0000028C; // type:object size:0x4 data:float -lbl_1_data_290 = .data:0x00000290; // type:object size:0x4 data:float -lbl_1_data_294 = .data:0x00000294; // type:object size:0x4 data:float -jumptable_1_data_298 = .data:0x00000298; // type:object size:0x1C scope:local -lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x19 data:string -lbl_1_data_2CD = .data:0x000002CD; // type:object size:0x24 data:string -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0xC data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:float -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:float -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:float -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x8 data:float -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x8 data:4byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x90 data:4byte diff --git a/config/GMPP01_00/rels/m450Dll/splits.txt b/config/GMPP01_00/rels/m450Dll/splits.txt deleted file mode 100644 index eecefe9b..00000000 --- a/config/GMPP01_00/rels/m450Dll/splits.txt +++ /dev/null @@ -1,13 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/m450Dll/main.c: - .text start:0x00000000 end:0x00029968 - .rodata start:0x00000000 end:0x00000398 - .data start:0x00000000 end:0x000017C4 - .bss start:0x00000000 end:0x00000364 diff --git a/config/GMPP01_00/rels/m450Dll/symbols.txt b/config/GMPP01_00/rels/m450Dll/symbols.txt deleted file mode 100644 index feaece31..00000000 --- a/config/GMPP01_00/rels/m450Dll/symbols.txt +++ /dev/null @@ -1,563 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x24 -fn_1_24 = .text:0x00000024; // type:function size:0x88 -fn_1_AC = .text:0x000000AC; // type:function size:0xA4 -fn_1_150 = .text:0x00000150; // type:function size:0x24 -fn_1_174 = .text:0x00000174; // type:function size:0x164 -fn_1_2D8 = .text:0x000002D8; // type:function size:0x13C -fn_1_414 = .text:0x00000414; // type:function size:0x58 -fn_1_46C = .text:0x0000046C; // type:function size:0x114 -fn_1_580 = .text:0x00000580; // type:function size:0x204 -fn_1_798 = .text:0x00000784; // type:function size:0x240 -fn_1_9EC = .text:0x000009C4; // type:function size:0x54 -fn_1_A40 = .text:0x00000A18; // type:function size:0x10C -fn_1_B4C = .text:0x00000B24; // type:function size:0x680 -fn_1_11F4 = .text:0x000011A4; // type:function size:0x15C -fn_1_1350 = .text:0x00001300; // type:function size:0x8C -fn_1_13DC = .text:0x0000138C; // type:function size:0x334 -fn_1_1710 = .text:0x000016C0; // type:function size:0x350 -fn_1_1A60 = .text:0x00001A10; // type:function size:0x2B8 -fn_1_1D18 = .text:0x00001CC8; // type:function size:0x58 -fn_1_1D70 = .text:0x00001D20; // type:function size:0xB0 -fn_1_1E20 = .text:0x00001DD0; // type:function size:0x104 -fn_1_1F24 = .text:0x00001ED4; // type:function size:0x34 -fn_1_1F58 = .text:0x00001F08; // type:function size:0x6C -fn_1_1FC4 = .text:0x00001F74; // type:function size:0x3F0 -fn_1_23B4 = .text:0x00002364; // type:function size:0x64 -fn_1_2418 = .text:0x000023C8; // type:function size:0xE0 -fn_1_24F8 = .text:0x000024A8; // type:function size:0x32C -fn_1_2824 = .text:0x000027D4; // type:function size:0x3AC -fn_1_2BD0 = .text:0x00002B80; // type:function size:0x30 -fn_1_2C00 = .text:0x00002BB0; // type:function size:0x1C -fn_1_2C1C = .text:0x00002BCC; // type:function size:0x18C -fn_1_2DA8 = .text:0x00002D58; // type:function size:0x8 -fn_1_2DB0 = .text:0x00002D60; // type:function size:0x8 -fn_1_2DB8 = .text:0x00002D68; // type:function size:0x8 -fn_1_2DC0 = .text:0x00002D70; // type:function size:0x8 -fn_1_2DC8 = .text:0x00002D78; // type:function size:0xC -fn_1_2DD4 = .text:0x00002D84; // type:function size:0x60 -fn_1_2E34 = .text:0x00002DE4; // type:function size:0xB90 -fn_1_39C4 = .text:0x00003974; // type:function size:0x31C -fn_1_3CE0 = .text:0x00003C90; // type:function size:0xD8 -fn_1_3DB8 = .text:0x00003D68; // type:function size:0x114 -fn_1_3ECC = .text:0x00003E7C; // type:function size:0xB8 -fn_1_3F84 = .text:0x00003F34; // type:function size:0xA0 -fn_1_4024 = .text:0x00003FD4; // type:function size:0x9C -fn_1_40C0 = .text:0x00004070; // type:function size:0xE18 -fn_1_4ED8 = .text:0x00004E88; // type:function size:0x250 -fn_1_5128 = .text:0x000050D8; // type:function size:0x10 -fn_1_5138 = .text:0x000050E8; // type:function size:0x10 -fn_1_5148 = .text:0x000050F8; // type:function size:0x400 -fn_1_5548 = .text:0x000054F8; // type:function size:0x7C -fn_1_55C4 = .text:0x00005574; // type:function size:0x5C -fn_1_5620 = .text:0x000055D0; // type:function size:0xA4 -fn_1_56C4 = .text:0x00005674; // type:function size:0x748 -fn_1_5E0C = .text:0x00005DBC; // type:function size:0xCC -fn_1_5ED8 = .text:0x00005E88; // type:function size:0x658 -fn_1_6530 = .text:0x000064E0; // type:function size:0x108 -fn_1_6638 = .text:0x000065E8; // type:function size:0x38 -fn_1_6670 = .text:0x00006620; // type:function size:0x30 -fn_1_66A0 = .text:0x00006650; // type:function size:0x3C -fn_1_66DC = .text:0x0000668C; // type:function size:0xBC -fn_1_6798 = .text:0x00006748; // type:function size:0x260 -fn_1_69F8 = .text:0x000069A8; // type:function size:0xD0 -fn_1_6AC8 = .text:0x00006A78; // type:function size:0xC8 -fn_1_6B90 = .text:0x00006B40; // type:function size:0xD8 -fn_1_6C68 = .text:0x00006C18; // type:function size:0x48 -fn_1_6CB0 = .text:0x00006C60; // type:function size:0x7C -fn_1_6D2C = .text:0x00006CDC; // type:function size:0x3C -fn_1_6D68 = .text:0x00006D18; // type:function size:0x70 -fn_1_6DD8 = .text:0x00006D88; // type:function size:0x714 -fn_1_74EC = .text:0x0000749C; // type:function size:0x6A4 -fn_1_7B90 = .text:0x00007B40; // type:function size:0x84 -fn_1_7C14 = .text:0x00007BC4; // type:function size:0x84 -fn_1_7C98 = .text:0x00007C48; // type:function size:0xA8 -fn_1_7D40 = .text:0x00007CF0; // type:function size:0x3E0 -fn_1_8120 = .text:0x000080D0; // type:function size:0x3E0 -fn_1_8500 = .text:0x000084B0; // type:function size:0x6DC -fn_1_8BDC = .text:0x00008B8C; // type:function size:0x498 -fn_1_9074 = .text:0x00009024; // type:function size:0x64C -fn_1_96C0 = .text:0x00009670; // type:function size:0x164 -fn_1_9824 = .text:0x000097D4; // type:function size:0x380 -fn_1_9BA4 = .text:0x00009B54; // type:function size:0x3A8 -fn_1_9F4C = .text:0x00009EFC; // type:function size:0x478 -fn_1_A3C4 = .text:0x0000A374; // type:function size:0xAC -fn_1_A470 = .text:0x0000A420; // type:function size:0x190 -fn_1_A600 = .text:0x0000A5B0; // type:function size:0x1CC -fn_1_A7CC = .text:0x0000A77C; // type:function size:0x5C -fn_1_A828 = .text:0x0000A7D8; // type:function size:0x140 -fn_1_A968 = .text:0x0000A918; // type:function size:0x148 -fn_1_AAB0 = .text:0x0000AA60; // type:function size:0xD8 -fn_1_AB88 = .text:0x0000AB38; // type:function size:0x48 -fn_1_ABD0 = .text:0x0000AB80; // type:function size:0x188 -fn_1_AD58 = .text:0x0000AD08; // type:function size:0x2E98 -fn_1_DBF0 = .text:0x0000DBA0; // type:function size:0x4F8 -fn_1_E0E8 = .text:0x0000E098; // type:function size:0x90 -fn_1_E178 = .text:0x0000E128; // type:function size:0x30 -fn_1_E1A8 = .text:0x0000E158; // type:function size:0x114 -fn_1_E2BC = .text:0x0000E26C; // type:function size:0x10C -fn_1_E3C8 = .text:0x0000E378; // type:function size:0xB0 -fn_1_E478 = .text:0x0000E428; // type:function size:0x18C -fn_1_E604 = .text:0x0000E5B4; // type:function size:0x314 -fn_1_E918 = .text:0x0000E8C8; // type:function size:0x138 -fn_1_EA50 = .text:0x0000EA00; // type:function size:0x11C -fn_1_EB6C = .text:0x0000EB1C; // type:function size:0x1E0 -fn_1_ED4C = .text:0x0000ECFC; // type:function size:0x3010 -fn_1_11D5C = .text:0x00011D0C; // type:function size:0x4D8 -fn_1_12234 = .text:0x000121E4; // type:function size:0x30C -fn_1_12540 = .text:0x000124F0; // type:function size:0x80 -fn_1_125C0 = .text:0x00012570; // type:function size:0xC8 -fn_1_12688 = .text:0x00012638; // type:function size:0x294 -fn_1_1291C = .text:0x000128CC; // type:function size:0x100 -fn_1_12A1C = .text:0x000129CC; // type:function size:0x164 -fn_1_12B80 = .text:0x00012B30; // type:function size:0x1F8 -fn_1_12D78 = .text:0x00012D28; // type:function size:0x4 -fn_1_12D7C = .text:0x00012D2C; // type:function size:0xE0 -fn_1_12E5C = .text:0x00012E0C; // type:function size:0x248 -fn_1_130A4 = .text:0x00013054; // type:function size:0xD0 -fn_1_13174 = .text:0x00013124; // type:function size:0x3EC -fn_1_13560 = .text:0x00013510; // type:function size:0x1B4 -fn_1_13714 = .text:0x000136C4; // type:function size:0x29C -fn_1_139B0 = .text:0x00013960; // type:function size:0x19C -fn_1_13B4C = .text:0x00013AFC; // type:function size:0xC -fn_1_13B58 = .text:0x00013B08; // type:function size:0x38 -fn_1_13B90 = .text:0x00013B40; // type:function size:0x34 -fn_1_13BC4 = .text:0x00013B74; // type:function size:0x364 -fn_1_13F28 = .text:0x00013ED8; // type:function size:0x988 -fn_1_148B0 = .text:0x00014860; // type:function size:0x110 -fn_1_149C0 = .text:0x00014970; // type:function size:0xF8 -fn_1_14AB8 = .text:0x00014A68; // type:function size:0x110 -fn_1_14BC8 = .text:0x00014B78; // type:function size:0x60 -fn_1_14C28 = .text:0x00014BD8; // type:function size:0xC0 -fn_1_14CE8 = .text:0x00014C98; // type:function size:0x620 -fn_1_15308 = .text:0x000152B8; // type:function size:0x840 -fn_1_15B48 = .text:0x00015AF8; // type:function size:0x64 -fn_1_15BAC = .text:0x00015B5C; // type:function size:0x500 -fn_1_160AC = .text:0x0001605C; // type:function size:0x1D4 -fn_1_16280 = .text:0x00016230; // type:function size:0x94 -fn_1_16314 = .text:0x000162C4; // type:function size:0x64 -fn_1_16378 = .text:0x00016328; // type:function size:0x598 -fn_1_16910 = .text:0x000168C0; // type:function size:0x2B4 -fn_1_16BC4 = .text:0x00016B74; // type:function size:0x130 -fn_1_16CF4 = .text:0x00016CA4; // type:function size:0x4D0 -fn_1_171C4 = .text:0x00017174; // type:function size:0x19C -fn_1_17360 = .text:0x00017310; // type:function size:0x114 -fn_1_17474 = .text:0x00017424; // type:function size:0x4FC -fn_1_17970 = .text:0x00017920; // type:function size:0x24C -fn_1_17BBC = .text:0x00017B6C; // type:function size:0x868 -fn_1_18424 = .text:0x000183D4; // type:function size:0x284 -fn_1_186A8 = .text:0x00018658; // type:function size:0x888 -fn_1_18F30 = .text:0x00018EE0; // type:function size:0x37C -fn_1_192AC = .text:0x0001925C; // type:function size:0xE4 -fn_1_19390 = .text:0x00019340; // type:function size:0xC0 -fn_1_19450 = .text:0x00019400; // type:function size:0x1FC -fn_1_1964C = .text:0x000195FC; // type:function size:0x14C -fn_1_19798 = .text:0x00019748; // type:function size:0x278 -fn_1_19A10 = .text:0x000199C0; // type:function size:0x208 -fn_1_19C18 = .text:0x00019BC8; // type:function size:0xC8 -fn_1_19CE0 = .text:0x00019C90; // type:function size:0x334 -fn_1_1A014 = .text:0x00019FC4; // type:function size:0x4C -fn_1_1A060 = .text:0x0001A010; // type:function size:0x1BC -fn_1_1A21C = .text:0x0001A1CC; // type:function size:0x1D4 -fn_1_1A3F0 = .text:0x0001A3A0; // type:function size:0x284 -_prolog = .text:0x0001A624; // type:function size:0x54 scope:global -_epilog = .text:0x0001A678; // type:function size:0x4C scope:global -fn_1_1A714 = .text:0x0001A6C4; // type:function size:0x22C -fn_1_1A940 = .text:0x0001A8F0; // type:function size:0x784 -fn_1_1B0C4 = .text:0x0001B074; // type:function size:0x94 -fn_1_1B158 = .text:0x0001B108; // type:function size:0x154 -fn_1_1B2AC = .text:0x0001B25C; // type:function size:0x21C -fn_1_1B4C8 = .text:0x0001B478; // type:function size:0x48 -fn_1_1B510 = .text:0x0001B4C0; // type:function size:0x134 -fn_1_1B644 = .text:0x0001B5F4; // type:function size:0x1EC -fn_1_1B830 = .text:0x0001B7E0; // type:function size:0x830 -fn_1_1C060 = .text:0x0001C010; // type:function size:0x274 -fn_1_1C2D4 = .text:0x0001C284; // type:function size:0xC8 -fn_1_1C39C = .text:0x0001C34C; // type:function size:0x98 -fn_1_1C434 = .text:0x0001C3E4; // type:function size:0x2B0 -fn_1_1C6E4 = .text:0x0001C694; // type:function size:0x98 -fn_1_1C77C = .text:0x0001C72C; // type:function size:0x11C -fn_1_1C898 = .text:0x0001C848; // type:function size:0x18B8 -fn_1_1E150 = .text:0x0001E100; // type:function size:0x1F6C -fn_1_200BC = .text:0x0002006C; // type:function size:0xB4 -fn_1_20170 = .text:0x00020120; // type:function size:0x31C0 -fn_1_23330 = .text:0x000232E0; // type:function size:0x440 -fn_1_23770 = .text:0x00023720; // type:function size:0x530 -fn_1_23CA0 = .text:0x00023C50; // type:function size:0x980 -fn_1_24620 = .text:0x000245D0; // type:function size:0x4A08 -ObjectSetup = .text:0x00028FD8; // type:function size:0x8C0 -fn_1_298EC = .text:0x00029898; // type:function size:0xD0 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -__fakeHalf = .rodata:0x00000000; // type:object size:0x8 data:double -__fakeThree = .rodata:0x00000008; // type:object size:0x8 data:double -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x58 scope:local -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x58 scope:local -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 scope:local data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 scope:local data:double -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 scope:local data:double -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 scope:local data:double -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 scope:local data:double -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 scope:local data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x10 -lbl_1_data_10 = .data:0x00000010; // type:object size:0x20 -lbl_1_data_30 = .data:0x00000030; // type:object size:0x28 -lbl_1_data_58 = .data:0x00000058; // type:object size:0x28 -lbl_1_data_80 = .data:0x00000080; // type:object size:0x1F scope:local data:string -lbl_1_data_9F = .data:0x0000009F; // type:object size:0xC data:byte -lbl_1_data_AC = .data:0x000000AC; // type:object size:0x8 -lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x4C -lbl_1_data_100 = .data:0x00000100; // type:object size:0x14 -lbl_1_data_114 = .data:0x00000114; // type:object size:0x3C data:4byte -lbl_1_data_150 = .data:0x00000150; // type:object size:0x3C data:4byte -lbl_1_data_18C = .data:0x0000018C; // type:object size:0x20 data:4byte -lbl_1_data_1AC = .data:0x000001AC; // type:object size:0x20 data:4byte -lbl_1_data_1CC = .data:0x000001CC; // type:object size:0x10 data:4byte -lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x28 data:float -lbl_1_data_204 = .data:0x00000204; // type:object size:0x30 data:float -lbl_1_data_234 = .data:0x00000234; // type:object size:0x20 data:float -lbl_1_data_254 = .data:0x00000254; // type:object size:0x14 data:float -lbl_1_data_268 = .data:0x00000268; // type:object size:0x14 data:float -lbl_1_data_27C = .data:0x0000027C; // type:object size:0x14 data:float -lbl_1_data_290 = .data:0x00000290; // type:object size:0x14 data:float -lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0x12 scope:local data:string -lbl_1_data_2B6 = .data:0x000002B6; // type:object size:0x13 scope:local data:string -lbl_1_data_2C9 = .data:0x000002C9; // type:object size:0x14 scope:local data:string -lbl_1_data_2DD = .data:0x000002DD; // type:object size:0x1C scope:local data:string -lbl_1_data_2F9 = .data:0x000002F9; // type:object size:0x12 scope:local data:string -lbl_1_data_30B = .data:0x0000030B; // type:object size:0xE scope:local data:string -jumptable_1_data_31C = .data:0x0000031C; // type:object size:0x60 scope:local -lbl_1_data_37C = .data:0x0000037C; // type:object size:0x12 scope:local data:string -lbl_1_data_38E = .data:0x0000038E; // type:object size:0x12 scope:local data:string -lbl_1_data_3A0 = .data:0x000003A0; // type:object size:0x13 scope:local data:string -lbl_1_data_3B3 = .data:0x000003B3; // type:object size:0x14 scope:local data:string -lbl_1_data_3C7 = .data:0x000003C7; // type:object size:0x14 scope:local data:string -lbl_1_data_3DB = .data:0x000003DB; // type:object size:0x13 scope:local data:string -lbl_1_data_3EE = .data:0x000003EE; // type:object size:0x1C scope:local data:string -jumptable_1_data_40C = .data:0x0000040C; // type:object size:0x44 scope:local -lbl_1_data_450 = .data:0x00000450; // type:object size:0x12 scope:local data:string -lbl_1_data_464 = .data:0x00000464; // type:object size:0xC data:4byte -lbl_1_data_470 = .data:0x00000470; // type:object size:0xC -lbl_1_data_47C = .data:0x0000047C; // type:object size:0xC data:4byte -lbl_1_data_488 = .data:0x00000488; // type:object size:0xC data:4byte -lbl_1_data_494 = .data:0x00000494; // type:object size:0xC data:4byte -lbl_1_data_4A0 = .data:0x000004A0; // type:object size:0xC data:float -lbl_1_data_4AC = .data:0x000004AC; // type:object size:0xC data:4byte -lbl_1_data_4B8 = .data:0x000004B8; // type:object size:0xC data:4byte -lbl_1_data_4C4 = .data:0x000004C4; // type:object size:0xC data:4byte -lbl_1_data_4D0 = .data:0x000004D0; // type:object size:0xC data:4byte -lbl_1_data_4DC = .data:0x000004DC; // type:object size:0xC data:4byte -lbl_1_data_4E8 = .data:0x000004E8; // type:object size:0xC -lbl_1_data_4F4 = .data:0x000004F4; // type:object size:0xC -lbl_1_data_500 = .data:0x00000500; // type:object size:0x4 -lbl_1_data_504 = .data:0x00000504; // type:object size:0xC -lbl_1_data_510 = .data:0x00000510; // type:object size:0xC -lbl_1_data_51C = .data:0x0000051C; // type:object size:0x30 -lbl_1_data_54C = .data:0x0000054C; // type:object size:0x10 scope:local data:string -lbl_1_data_55C = .data:0x0000055C; // type:object size:0x10 scope:local data:string -lbl_1_data_56C = .data:0x0000056C; // type:object size:0x10 scope:local data:string -lbl_1_data_57C = .data:0x0000057C; // type:object size:0x10 scope:local data:string -lbl_1_data_58C = .data:0x0000058C; // type:object size:0x10 scope:local data:string -lbl_1_data_59C = .data:0x0000059C; // type:object size:0x10 scope:local data:string -lbl_1_data_5AC = .data:0x000005AC; // type:object size:0x10 scope:local data:string -lbl_1_data_5BC = .data:0x000005BC; // type:object size:0x10 scope:local data:string -lbl_1_data_5CC = .data:0x000005CC; // type:object size:0x80 -lbl_1_data_64C = .data:0x0000064C; // type:object size:0x2E0 -lbl_1_data_92C = .data:0x0000092C; // type:object size:0x20 -lbl_1_data_94C = .data:0x0000094C; // type:object size:0xA0 data:float -lbl_1_data_9EC = .data:0x000009EC; // type:object size:0x20 -lbl_1_data_A0C = .data:0x00000A0C; // type:object size:0x38 data:4byte -lbl_1_data_A44 = .data:0x00000A44; // type:object size:0x13 scope:local data:string -lbl_1_data_A57 = .data:0x00000A57; // type:object size:0x13 scope:local data:string -lbl_1_data_A6A = .data:0x00000A6A; // type:object size:0x13 scope:local data:string -lbl_1_data_A80 = .data:0x00000A80; // type:object size:0x18C -lbl_1_data_C0C = .data:0x00000C0C; // type:object size:0x13 scope:local data:string -lbl_1_data_C1F = .data:0x00000C1F; // type:object size:0x13 scope:local data:string -lbl_1_data_C32 = .data:0x00000C32; // type:object size:0x13 scope:local data:string -lbl_1_data_C45 = .data:0x00000C45; // type:object size:0x13 scope:local data:string -lbl_1_data_C58 = .data:0x00000C58; // type:object size:0x1B8 -lbl_1_data_E10 = .data:0x00000E10; // type:object size:0x11 scope:local data:string -lbl_1_data_E21 = .data:0x00000E21; // type:object size:0x11 scope:local data:string -lbl_1_data_E32 = .data:0x00000E32; // type:object size:0x11 scope:local data:string -lbl_1_data_E43 = .data:0x00000E43; // type:object size:0x11 scope:local data:string -lbl_1_data_E54 = .data:0x00000E54; // type:object size:0x11 scope:local data:string -lbl_1_data_E68 = .data:0x00000E68; // type:object size:0x14 -lbl_1_data_E7C = .data:0x00000E7C; // type:object size:0x84 -lbl_1_data_F00 = .data:0x00000F00; // type:object size:0x5C -lbl_1_data_F5C = .data:0x00000F5C; // type:object size:0x10 -lbl_1_data_F6C = .data:0x00000F6C; // type:object size:0x18 -lbl_1_data_F84 = .data:0x00000F84; // type:object size:0x14 data:float -lbl_1_data_F98 = .data:0x00000F98; // type:object size:0x14 data:float -lbl_1_data_FAC = .data:0x00000FAC; // type:object size:0x18 -lbl_1_data_FC4 = .data:0x00000FC4; // type:object size:0x14 -lbl_1_data_FD8 = .data:0x00000FD8; // type:object size:0x14 -lbl_1_data_FEC = .data:0x00000FEC; // type:object size:0x14 -lbl_1_data_1000 = .data:0x00001000; // type:object size:0x14 -lbl_1_data_1014 = .data:0x00001014; // type:object size:0x28 -lbl_1_data_103C = .data:0x0000103C; // type:object size:0x28 -lbl_1_data_1064 = .data:0x00001064; // type:object size:0x28 -lbl_1_data_108C = .data:0x0000108C; // type:object size:0x28 -lbl_1_data_10B4 = .data:0x000010B4; // type:object size:0x28 -lbl_1_data_10DC = .data:0x000010DC; // type:object size:0x28 -lbl_1_data_1104 = .data:0x00001104; // type:object size:0x28 -lbl_1_data_112C = .data:0x0000112C; // type:object size:0x28 -lbl_1_data_1154 = .data:0x00001154; // type:object size:0x28 -lbl_1_data_117C = .data:0x0000117C; // type:object size:0x28 -lbl_1_data_11A4 = .data:0x000011A4; // type:object size:0x28 -lbl_1_data_11CC = .data:0x000011CC; // type:object size:0x28 -lbl_1_data_11F4 = .data:0x000011F4; // type:object size:0x10 -lbl_1_data_1204 = .data:0x00001204; // type:object size:0xC -lbl_1_data_1210 = .data:0x00001210; // type:object size:0xC -lbl_1_data_121C = .data:0x0000121C; // type:object size:0xC -lbl_1_data_1228 = .data:0x00001228; // type:object size:0xC -lbl_1_data_1234 = .data:0x00001234; // type:object size:0x20 -lbl_1_data_1254 = .data:0x00001254; // type:object size:0x13 scope:local data:string -lbl_1_data_1267 = .data:0x00001267; // type:object size:0x13 scope:local data:string -lbl_1_data_127A = .data:0x0000127A; // type:object size:0x13 scope:local data:string -lbl_1_data_128D = .data:0x0000128D; // type:object size:0x13 scope:local data:string -lbl_1_data_12A0 = .data:0x000012A0; // type:object size:0x10 -lbl_1_data_12B0 = .data:0x000012B0; // type:object size:0x13 scope:local data:string -lbl_1_data_12C3 = .data:0x000012C3; // type:object size:0x13 scope:local data:string -lbl_1_data_12D6 = .data:0x000012D6; // type:object size:0x13 scope:local data:string -lbl_1_data_12E9 = .data:0x000012E9; // type:object size:0x13 scope:local data:string -lbl_1_data_12FC = .data:0x000012FC; // type:object size:0x13 scope:local data:string -lbl_1_data_130F = .data:0x0000130F; // type:object size:0x13 scope:local data:string -lbl_1_data_1322 = .data:0x00001322; // type:object size:0x13 scope:local data:string -lbl_1_data_1335 = .data:0x00001335; // type:object size:0x13 scope:local data:string -lbl_1_data_1348 = .data:0x00001348; // type:object size:0x13 scope:local data:string -lbl_1_data_135C = .data:0x0000135C; // type:object size:0x24 -lbl_1_data_1380 = .data:0x00001380; // type:object size:0x38 data:4byte -lbl_1_data_13B8 = .data:0x000013B8; // type:object size:0x38 data:4byte -lbl_1_data_13F0 = .data:0x000013F0; // type:object size:0x13 scope:local data:string -lbl_1_data_1403 = .data:0x00001403; // type:object size:0x13 scope:local data:string -lbl_1_data_1416 = .data:0x00001416; // type:object size:0x13 scope:local data:string -lbl_1_data_1429 = .data:0x00001429; // type:object size:0x13 scope:local data:string -lbl_1_data_143C = .data:0x0000143C; // type:object size:0x13 scope:local data:string -lbl_1_data_1450 = .data:0x00001450; // type:object size:0xB4 -lbl_1_data_1504 = .data:0x00001504; // type:object size:0x50 -lbl_1_data_1554 = .data:0x00001554; // type:object size:0x13 scope:local data:string -lbl_1_data_1567 = .data:0x00001567; // type:object size:0x13 scope:local data:string -lbl_1_data_157A = .data:0x0000157A; // type:object size:0x13 scope:local data:string -lbl_1_data_158D = .data:0x0000158D; // type:object size:0x13 scope:local data:string -lbl_1_data_15A0 = .data:0x000015A0; // type:object size:0x13 scope:local data:string -lbl_1_data_15B3 = .data:0x000015B3; // type:object size:0x12 scope:local data:string -lbl_1_data_15C5 = .data:0x000015C5; // type:object size:0x25 scope:local data:string -lbl_1_data_15EA = .data:0x000015EA; // type:object size:0x22 scope:local data:string -lbl_1_data_160C = .data:0x0000160C; // type:object size:0x9 scope:local data:string -lbl_1_data_1615 = .data:0x00001615; // type:object size:0xA scope:local data:string -lbl_1_data_161F = .data:0x0000161F; // type:object size:0xE scope:local data:string -lbl_1_data_162D = .data:0x0000162D; // type:object size:0x6 scope:local data:string -lbl_1_data_1633 = .data:0x00001633; // type:object size:0x1D scope:local data:string -jumptable_1_data_1650 = .data:0x00001650; // type:object size:0x70 scope:local -lbl_1_data_16C0 = .data:0x000016C0; // type:object size:0x1B scope:local data:string -jumptable_1_data_16DC = .data:0x000016DC; // type:object size:0xC4 scope:local -lbl_1_data_17A0 = .data:0x000017A0; // type:object size:0x24 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x2 data:2byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x8 data:2byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x18 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x3C data:float -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x30 -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0xC data:4byte -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x4 data:4byte -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x4 data:float -lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0xC data:float -lbl_1_bss_D8 = .bss:0x000000D8; // type:object size:0x4 data:4byte -lbl_1_bss_DC = .bss:0x000000DC; // type:object size:0x8 -lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x4 -lbl_1_bss_E8 = .bss:0x000000E8; // type:object size:0x4 -lbl_1_bss_EC = .bss:0x000000EC; // type:object size:0xC data:4byte -lbl_1_bss_F8 = .bss:0x000000F8; // type:object size:0x4 data:4byte -lbl_1_bss_FC = .bss:0x000000FC; // type:object size:0x4 data:4byte -lbl_1_bss_100 = .bss:0x00000100; // type:object size:0x4 data:4byte -lbl_1_bss_104 = .bss:0x00000104; // type:object size:0x4 data:4byte -lbl_1_bss_108 = .bss:0x00000108; // type:object size:0x4 data:4byte -lbl_1_bss_10C = .bss:0x0000010C; // type:object size:0x4 data:4byte -lbl_1_bss_110 = .bss:0x00000110; // type:object size:0x4 data:4byte -lbl_1_bss_114 = .bss:0x00000114; // type:object size:0x4 data:4byte -lbl_1_bss_118 = .bss:0x00000118; // type:object size:0x4 data:4byte -lbl_1_bss_11C = .bss:0x0000011C; // type:object size:0x4 data:4byte -lbl_1_bss_120 = .bss:0x00000120; // type:object size:0x4 data:4byte -lbl_1_bss_124 = .bss:0x00000124; // type:object size:0x4 data:float -lbl_1_bss_128 = .bss:0x00000128; // type:object size:0x4 data:float -lbl_1_bss_12C = .bss:0x0000012C; // type:object size:0x4 data:float -lbl_1_bss_130 = .bss:0x00000130; // type:object size:0x4 data:4byte -lbl_1_bss_134 = .bss:0x00000134; // type:object size:0x4 data:4byte -lbl_1_bss_138 = .bss:0x00000138; // type:object size:0x4 data:4byte -lbl_1_bss_13C = .bss:0x0000013C; // type:object size:0x4 data:4byte -lbl_1_bss_140 = .bss:0x00000140; // type:object size:0x4 data:4byte -lbl_1_bss_144 = .bss:0x00000144; // type:object size:0x5C data:4byte -lbl_1_bss_1A0 = .bss:0x000001A0; // type:object size:0x4 data:4byte -lbl_1_bss_1A4 = .bss:0x000001A4; // type:object size:0x4 data:4byte -lbl_1_bss_1A8 = .bss:0x000001A8; // type:object size:0x4 data:float -lbl_1_bss_1AC = .bss:0x000001AC; // type:object size:0x4 data:4byte -lbl_1_bss_1B0 = .bss:0x000001B0; // type:object size:0x100 -lbl_1_bss_2B0 = .bss:0x000002B0; // type:object size:0x40 data:4byte -lbl_1_bss_2F0 = .bss:0x000002F0; // type:object size:0x4 data:float -lbl_1_bss_2F4 = .bss:0x000002F4; // type:object size:0x4 data:4byte -lbl_1_bss_2F8 = .bss:0x000002F8; // type:object size:0x4 data:4byte -lbl_1_bss_2FC = .bss:0x000002FC; // type:object size:0x2 data:2byte -lbl_1_bss_2FE = .bss:0x000002FE; // type:object size:0x2 data:2byte -lbl_1_bss_300 = .bss:0x00000300; // type:object size:0x4 data:4byte -lbl_1_bss_304 = .bss:0x00000304; // type:object size:0x4 data:4byte -lbl_1_bss_308 = .bss:0x00000308; // type:object size:0x4 data:4byte -lbl_1_bss_30C = .bss:0x0000030C; // type:object size:0xC data:4byte -lbl_1_bss_318 = .bss:0x00000318; // type:object size:0xC data:4byte -lbl_1_bss_324 = .bss:0x00000324; // type:object size:0xC data:4byte -lbl_1_bss_330 = .bss:0x00000330; // type:object size:0xC data:4byte -lbl_1_bss_33C = .bss:0x0000033C; // type:object size:0x4 data:4byte -lbl_1_bss_340 = .bss:0x00000340; // type:object size:0x18 data:4byte -lbl_1_bss_358 = .bss:0x00000358; // type:object size:0xC data:4byte diff --git a/config/GMPP01_00/rels/m451Dll/splits.txt b/config/GMPP01_00/rels/m451Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m451Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m451Dll/symbols.txt b/config/GMPP01_00/rels/m451Dll/symbols.txt deleted file mode 100644 index 27c352fc..00000000 --- a/config/GMPP01_00/rels/m451Dll/symbols.txt +++ /dev/null @@ -1,216 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x71C -fn_1_7BC = .text:0x000007BC; // type:function size:0x9C -fn_1_858 = .text:0x00000858; // type:function size:0xC0 -fn_1_918 = .text:0x00000918; // type:function size:0x214 -fn_1_B2C = .text:0x00000B2C; // type:function size:0x1038 -fn_1_1B64 = .text:0x00001B64; // type:function size:0x598 -fn_1_20FC = .text:0x000020FC; // type:function size:0xB8 -fn_1_21B4 = .text:0x000021B4; // type:function size:0xC0 -fn_1_2274 = .text:0x00002274; // type:function size:0x6C -fn_1_22E0 = .text:0x000022E0; // type:function size:0x35C -fn_1_263C = .text:0x0000263C; // type:function size:0x3F8 -fn_1_2A34 = .text:0x00002A34; // type:function size:0x21C -fn_1_2C50 = .text:0x00002C50; // type:function size:0x2B8 -fn_1_2F08 = .text:0x00002F08; // type:function size:0xE4 -fn_1_2FEC = .text:0x00002FEC; // type:function size:0xC4 -fn_1_30B0 = .text:0x000030B0; // type:function size:0xA4 -fn_1_3154 = .text:0x00003154; // type:function size:0x670 -fn_1_37C4 = .text:0x000037C4; // type:function size:0xFA4 -fn_1_4768 = .text:0x00004768; // type:function size:0xFC -fn_1_4864 = .text:0x00004864; // type:function size:0x60 -fn_1_48C4 = .text:0x000048C4; // type:function size:0x8F0 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x54 -lbl_1_data_54 = .data:0x00000054; // type:object size:0xC -lbl_1_data_60 = .data:0x00000060; // type:object size:0xC -lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC -lbl_1_data_78 = .data:0x00000078; // type:object size:0xC -lbl_1_data_84 = .data:0x00000084; // type:object size:0xB scope:local data:string -lbl_1_data_8F = .data:0x0000008F; // type:object size:0xB scope:local data:string -lbl_1_data_9A = .data:0x0000009A; // type:object size:0xB scope:local data:string -lbl_1_data_A5 = .data:0x000000A5; // type:object size:0xB scope:local data:string -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0xB scope:local data:string -lbl_1_data_BB = .data:0x000000BB; // type:object size:0xB scope:local data:string -lbl_1_data_C6 = .data:0x000000C6; // type:object size:0xB scope:local data:string -lbl_1_data_D1 = .data:0x000000D1; // type:object size:0xB scope:local data:string -lbl_1_data_DC = .data:0x000000DC; // type:object size:0xB scope:local data:string -lbl_1_data_E7 = .data:0x000000E7; // type:object size:0xB scope:local data:string -lbl_1_data_F2 = .data:0x000000F2; // type:object size:0xB scope:local data:string -lbl_1_data_FD = .data:0x000000FD; // type:object size:0xB scope:local data:string -lbl_1_data_108 = .data:0x00000108; // type:object size:0xB scope:local data:string -lbl_1_data_113 = .data:0x00000113; // type:object size:0xB scope:local data:string -lbl_1_data_11E = .data:0x0000011E; // type:object size:0xB scope:local data:string -lbl_1_data_129 = .data:0x00000129; // type:object size:0xB scope:local data:string -lbl_1_data_134 = .data:0x00000134; // type:object size:0xB scope:local data:string -lbl_1_data_13F = .data:0x0000013F; // type:object size:0xB scope:local data:string -lbl_1_data_14A = .data:0x0000014A; // type:object size:0xB scope:local data:string -lbl_1_data_155 = .data:0x00000155; // type:object size:0xB scope:local data:string -lbl_1_data_160 = .data:0x00000160; // type:object size:0xB scope:local data:string -lbl_1_data_16B = .data:0x0000016B; // type:object size:0xB scope:local data:string -lbl_1_data_176 = .data:0x00000176; // type:object size:0xB scope:local data:string -lbl_1_data_181 = .data:0x00000181; // type:object size:0xB scope:local data:string -lbl_1_data_18C = .data:0x0000018C; // type:object size:0xB scope:local data:string -lbl_1_data_197 = .data:0x00000197; // type:object size:0xB scope:local data:string -lbl_1_data_1A2 = .data:0x000001A2; // type:object size:0xB scope:local data:string -lbl_1_data_1AD = .data:0x000001AD; // type:object size:0xB scope:local data:string -lbl_1_data_1B8 = .data:0x000001B8; // type:object size:0xB scope:local data:string -lbl_1_data_1C3 = .data:0x000001C3; // type:object size:0xB scope:local data:string -lbl_1_data_1CE = .data:0x000001CE; // type:object size:0xB scope:local data:string -lbl_1_data_1D9 = .data:0x000001D9; // type:object size:0xB scope:local data:string -lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0xB scope:local data:string -lbl_1_data_1EF = .data:0x000001EF; // type:object size:0xB scope:local data:string -lbl_1_data_1FA = .data:0x000001FA; // type:object size:0xB scope:local data:string -lbl_1_data_205 = .data:0x00000205; // type:object size:0xB scope:local data:string -lbl_1_data_210 = .data:0x00000210; // type:object size:0xB scope:local data:string -lbl_1_data_21B = .data:0x0000021B; // type:object size:0xB scope:local data:string -lbl_1_data_226 = .data:0x00000226; // type:object size:0xB scope:local data:string -lbl_1_data_231 = .data:0x00000231; // type:object size:0xB scope:local data:string -lbl_1_data_23C = .data:0x0000023C; // type:object size:0xB scope:local data:string -lbl_1_data_247 = .data:0x00000247; // type:object size:0xB scope:local data:string -lbl_1_data_252 = .data:0x00000252; // type:object size:0xB scope:local data:string -lbl_1_data_25D = .data:0x0000025D; // type:object size:0xB scope:local data:string -lbl_1_data_268 = .data:0x00000268; // type:object size:0xB scope:local data:string -lbl_1_data_273 = .data:0x00000273; // type:object size:0xB scope:local data:string -lbl_1_data_27E = .data:0x0000027E; // type:object size:0xB scope:local data:string -lbl_1_data_289 = .data:0x00000289; // type:object size:0xB scope:local data:string -lbl_1_data_294 = .data:0x00000294; // type:object size:0xB scope:local data:string -lbl_1_data_29F = .data:0x0000029F; // type:object size:0xB scope:local data:string -lbl_1_data_2AA = .data:0x000002AA; // type:object size:0xB scope:local data:string -lbl_1_data_2B5 = .data:0x000002B5; // type:object size:0xB scope:local data:string -lbl_1_data_2C0 = .data:0x000002C0; // type:object size:0xB scope:local data:string -lbl_1_data_2CB = .data:0x000002CB; // type:object size:0xB scope:local data:string -lbl_1_data_2D6 = .data:0x000002D6; // type:object size:0xB scope:local data:string -lbl_1_data_2E1 = .data:0x000002E1; // type:object size:0xB scope:local data:string -lbl_1_data_2EC = .data:0x000002EC; // type:object size:0xB scope:local data:string -lbl_1_data_2F7 = .data:0x000002F7; // type:object size:0xB scope:local data:string -lbl_1_data_302 = .data:0x00000302; // type:object size:0xB scope:local data:string -lbl_1_data_30D = .data:0x0000030D; // type:object size:0xB scope:local data:string -lbl_1_data_318 = .data:0x00000318; // type:object size:0xB scope:local data:string -lbl_1_data_323 = .data:0x00000323; // type:object size:0xB scope:local data:string -lbl_1_data_32E = .data:0x0000032E; // type:object size:0xB scope:local data:string -lbl_1_data_339 = .data:0x00000339; // type:object size:0xB scope:local data:string -lbl_1_data_344 = .data:0x00000344; // type:object size:0xB scope:local data:string -lbl_1_data_34F = .data:0x0000034F; // type:object size:0xB scope:local data:string -lbl_1_data_35A = .data:0x0000035A; // type:object size:0xB scope:local data:string -lbl_1_data_365 = .data:0x00000365; // type:object size:0xB scope:local data:string -lbl_1_data_370 = .data:0x00000370; // type:object size:0xB scope:local data:string -lbl_1_data_37B = .data:0x0000037B; // type:object size:0xB scope:local data:string -lbl_1_data_386 = .data:0x00000386; // type:object size:0xB scope:local data:string -lbl_1_data_391 = .data:0x00000391; // type:object size:0xB scope:local data:string -lbl_1_data_39C = .data:0x0000039C; // type:object size:0xB scope:local data:string -lbl_1_data_3A7 = .data:0x000003A7; // type:object size:0xB scope:local data:string -lbl_1_data_3B2 = .data:0x000003B2; // type:object size:0xB scope:local data:string -lbl_1_data_3BD = .data:0x000003BD; // type:object size:0xB scope:local data:string -lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0xB scope:local data:string -lbl_1_data_3D3 = .data:0x000003D3; // type:object size:0xB scope:local data:string -lbl_1_data_3DE = .data:0x000003DE; // type:object size:0xB scope:local data:string -lbl_1_data_3E9 = .data:0x000003E9; // type:object size:0xB scope:local data:string -lbl_1_data_3F4 = .data:0x000003F4; // type:object size:0xB scope:local data:string -lbl_1_data_3FF = .data:0x000003FF; // type:object size:0xB scope:local data:string -lbl_1_data_40A = .data:0x0000040A; // type:object size:0xB scope:local data:string -lbl_1_data_415 = .data:0x00000415; // type:object size:0xB scope:local data:string -lbl_1_data_420 = .data:0x00000420; // type:object size:0xB scope:local data:string -lbl_1_data_42B = .data:0x0000042B; // type:object size:0xB scope:local data:string -lbl_1_data_436 = .data:0x00000436; // type:object size:0xB scope:local data:string -lbl_1_data_441 = .data:0x00000441; // type:object size:0xB scope:local data:string -lbl_1_data_44C = .data:0x0000044C; // type:object size:0xB scope:local data:string -lbl_1_data_457 = .data:0x00000457; // type:object size:0xD -lbl_1_data_464 = .data:0x00000464; // type:object size:0x264 -lbl_1_data_6C8 = .data:0x000006C8; // type:object size:0xC -lbl_1_data_6D4 = .data:0x000006D4; // type:object size:0x78 data:float -lbl_1_data_74C = .data:0x0000074C; // type:object size:0xC -lbl_1_data_758 = .data:0x00000758; // type:object size:0xC -lbl_1_data_764 = .data:0x00000764; // type:object size:0xC scope:local data:string -lbl_1_data_770 = .data:0x00000770; // type:object size:0xC scope:local data:string -lbl_1_data_77C = .data:0x0000077C; // type:object size:0x7 scope:local data:string -lbl_1_data_783 = .data:0x00000783; // type:object size:0x8 scope:local data:string -lbl_1_data_78B = .data:0x0000078B; // type:object size:0x8 scope:local data:string -lbl_1_data_793 = .data:0x00000793; // type:object size:0x8 scope:local data:string -lbl_1_data_79B = .data:0x0000079B; // type:object size:0xB scope:local data:string -lbl_1_data_7A6 = .data:0x000007A6; // type:object size:0xF scope:local data:string -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x340 data:4byte -lbl_1_bss_348 = .bss:0x00000348; // type:object size:0x810 data:float -lbl_1_bss_B58 = .bss:0x00000B58; // type:object size:0x4 data:4byte -lbl_1_bss_B5C = .bss:0x00000B5C; // type:object size:0x4 data:4byte -lbl_1_bss_B60 = .bss:0x00000B60; // type:object size:0x4 data:4byte -lbl_1_bss_B64 = .bss:0x00000B64; // type:object size:0xA0 data:4byte -lbl_1_bss_C04 = .bss:0x00000C04; // type:object size:0xA0 data:4byte -lbl_1_bss_CA4 = .bss:0x00000CA4; // type:object size:0x4 data:4byte -lbl_1_bss_CA8 = .bss:0x00000CA8; // type:object size:0x6 -lbl_1_bss_CAE = .bss:0x00000CAE; // type:object size:0x6 data:2byte -lbl_1_bss_CB4 = .bss:0x00000CB4; // type:object size:0x2 data:2byte diff --git a/config/GMPP01_00/rels/m453Dll/splits.txt b/config/GMPP01_00/rels/m453Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m453Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m453Dll/symbols.txt b/config/GMPP01_00/rels/m453Dll/symbols.txt deleted file mode 100644 index 5473789f..00000000 --- a/config/GMPP01_00/rels/m453Dll/symbols.txt +++ /dev/null @@ -1,282 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x3A0 -fn_1_440 = .text:0x00000440; // type:function size:0x20 -fn_1_460 = .text:0x00000460; // type:function size:0x3E8 -fn_1_848 = .text:0x00000848; // type:function size:0x7B4 -fn_1_FFC = .text:0x00000FFC; // type:function size:0x60 -fn_1_105C = .text:0x0000105C; // type:function size:0x1EC -fn_1_1248 = .text:0x00001248; // type:function size:0x2C0 -fn_1_1508 = .text:0x00001508; // type:function size:0x104 -fn_1_160C = .text:0x0000160C; // type:function size:0x274 -fn_1_1880 = .text:0x00001880; // type:function size:0xA0 -fn_1_1920 = .text:0x00001920; // type:function size:0x2B8 -fn_1_1BD8 = .text:0x00001BD8; // type:function size:0x28 -fn_1_1C00 = .text:0x00001C00; // type:function size:0x3B0 -fn_1_1FB0 = .text:0x00001FB0; // type:function size:0x14C -fn_1_20FC = .text:0x000020FC; // type:function size:0x2F4 -fn_1_23F0 = .text:0x000023F0; // type:function size:0xA44 -fn_1_2E34 = .text:0x00002E34; // type:function size:0x824 -fn_1_3658 = .text:0x00003658; // type:function size:0x94 -fn_1_36EC = .text:0x000036EC; // type:function size:0x2EC -fn_1_39D8 = .text:0x000039D8; // type:function size:0x1EC -fn_1_3BC4 = .text:0x00003BC4; // type:function size:0xE0 -fn_1_3CA4 = .text:0x00003CA4; // type:function size:0x208 -fn_1_3EAC = .text:0x00003EAC; // type:function size:0x9C -fn_1_3F48 = .text:0x00003F48; // type:function size:0x480 -fn_1_43C8 = .text:0x000043C8; // type:function size:0x54 -fn_1_441C = .text:0x0000441C; // type:function size:0x168 -fn_1_4584 = .text:0x00004584; // type:function size:0x120 -fn_1_46A4 = .text:0x000046A4; // type:function size:0x30C -fn_1_49B0 = .text:0x000049B0; // type:function size:0x78 -fn_1_4A28 = .text:0x00004A28; // type:function size:0x11C -fn_1_4B44 = .text:0x00004B44; // type:function size:0x78 -fn_1_4BBC = .text:0x00004BBC; // type:function size:0x2D8 -fn_1_4E94 = .text:0x00004E94; // type:function size:0x2B8 -fn_1_514C = .text:0x0000514C; // type:function size:0x154 -fn_1_52A0 = .text:0x000052A0; // type:function size:0x3E0 -fn_1_5680 = .text:0x00005680; // type:function size:0x214 -fn_1_5894 = .text:0x00005894; // type:function size:0x198 -fn_1_5A2C = .text:0x00005A2C; // type:function size:0xD8 -fn_1_5B04 = .text:0x00005B04; // type:function size:0xBC -fn_1_5BC0 = .text:0x00005BC0; // type:function size:0x33C -fn_1_5EFC = .text:0x00005EFC; // type:function size:0x4B0 -fn_1_63AC = .text:0x000063AC; // type:function size:0x10 -fn_1_63BC = .text:0x000063BC; // type:function size:0x9C -fn_1_6458 = .text:0x00006458; // type:function size:0xA0 -fn_1_64F8 = .text:0x000064F8; // type:function size:0x260 -fn_1_6758 = .text:0x00006758; // type:function size:0x20 -fn_1_6778 = .text:0x00006778; // type:function size:0x84 -fn_1_67FC = .text:0x000067FC; // type:function size:0x4 -fn_1_6800 = .text:0x00006800; // type:function size:0x16C -fn_1_696C = .text:0x0000696C; // type:function size:0x318 -fn_1_6C84 = .text:0x00006C84; // type:function size:0x240 -fn_1_6EC4 = .text:0x00006EC4; // type:function size:0x110 -fn_1_6FD4 = .text:0x00006FD4; // type:function size:0x400 -fn_1_73D4 = .text:0x000073D4; // type:function size:0x5B4 -fn_1_7988 = .text:0x00007988; // type:function size:0xFC -fn_1_7A84 = .text:0x00007A84; // type:function size:0x88 -fn_1_7B0C = .text:0x00007B0C; // type:function size:0xB4 -fn_1_7BC0 = .text:0x00007BC0; // type:function size:0x4C -fn_1_7C0C = .text:0x00007C0C; // type:function size:0x10 -fn_1_7C1C = .text:0x00007C1C; // type:function size:0x20 -fn_1_7C3C = .text:0x00007C3C; // type:function size:0x10 -fn_1_7C4C = .text:0x00007C4C; // type:function size:0xA4 -fn_1_7CF0 = .text:0x00007CF0; // type:function size:0x274 -fn_1_7F64 = .text:0x00007F64; // type:function size:0x15C -fn_1_80C0 = .text:0x000080C0; // type:function size:0x180 -fn_1_8240 = .text:0x00008240; // type:function size:0x10 -fn_1_8250 = .text:0x00008250; // type:function size:0x10 -fn_1_8260 = .text:0x00008260; // type:function size:0x5C -fn_1_82BC = .text:0x000082BC; // type:function size:0x1A0 -fn_1_845C = .text:0x0000845C; // type:function size:0x200 -fn_1_865C = .text:0x0000865C; // type:function size:0x30 -fn_1_868C = .text:0x0000868C; // type:function size:0x8CC -fn_1_8F58 = .text:0x00008F58; // type:function size:0x290 -fn_1_91E8 = .text:0x000091E8; // type:function size:0x74 -fn_1_925C = .text:0x0000925C; // type:function size:0x50 -fn_1_92AC = .text:0x000092AC; // type:function size:0x24 -fn_1_92D0 = .text:0x000092D0; // type:function size:0x30 -fn_1_9300 = .text:0x00009300; // type:function size:0x11C -fn_1_941C = .text:0x0000941C; // type:function size:0x78 -fn_1_9494 = .text:0x00009494; // type:function size:0x8C -fn_1_9520 = .text:0x00009520; // type:function size:0x164 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x9 data:byte -lbl_1_rodata_91 = .rodata:0x00000091; // type:object size:0xB data:byte -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x2 data:2byte -lbl_1_data_4 = .data:0x00000004; // type:object size:0xC -lbl_1_data_10 = .data:0x00000010; // type:object size:0xC -lbl_1_data_1C = .data:0x0000001C; // type:object size:0x28 -lbl_1_data_44 = .data:0x00000044; // type:object size:0x24 -lbl_1_data_68 = .data:0x00000068; // type:object size:0x24 data:4byte -jumptable_1_data_8C = .data:0x0000008C; // type:object size:0x1C scope:local -jumptable_1_data_A8 = .data:0x000000A8; // type:object size:0x1C scope:local -lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x20 -lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x30 -lbl_1_data_114 = .data:0x00000114; // type:object size:0x20 -lbl_1_data_134 = .data:0x00000134; // type:object size:0x20 -lbl_1_data_154 = .data:0x00000154; // type:object size:0x4 data:4byte -lbl_1_data_158 = .data:0x00000158; // type:object size:0xC0 -lbl_1_data_218 = .data:0x00000218; // type:object size:0xC0 -lbl_1_data_2D8 = .data:0x000002D8; // type:object size:0x78 -lbl_1_data_350 = .data:0x00000350; // type:object size:0x78 -lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0xC0 -lbl_1_data_488 = .data:0x00000488; // type:object size:0xC0 -lbl_1_data_548 = .data:0x00000548; // type:object size:0x78 -lbl_1_data_5C0 = .data:0x000005C0; // type:object size:0x78 -lbl_1_data_638 = .data:0x00000638; // type:object size:0x108 -lbl_1_data_740 = .data:0x00000740; // type:object size:0x108 -lbl_1_data_848 = .data:0x00000848; // type:object size:0x108 -lbl_1_data_950 = .data:0x00000950; // type:object size:0x108 -lbl_1_data_A58 = .data:0x00000A58; // type:object size:0x30 -lbl_1_data_A88 = .data:0x00000A88; // type:object size:0x48 -lbl_1_data_AD0 = .data:0x00000AD0; // type:object size:0xC data:4byte -lbl_1_data_ADC = .data:0x00000ADC; // type:object size:0xC data:4byte -lbl_1_data_AE8 = .data:0x00000AE8; // type:object size:0x14 data:4byte -lbl_1_data_AFC = .data:0x00000AFC; // type:object size:0x18 -lbl_1_data_B14 = .data:0x00000B14; // type:object size:0x18 -lbl_1_data_B2C = .data:0x00000B2C; // type:object size:0x48 -lbl_1_data_B74 = .data:0x00000B74; // type:object size:0x30 -lbl_1_data_BA4 = .data:0x00000BA4; // type:object size:0x1C -lbl_1_data_BC0 = .data:0x00000BC0; // type:object size:0xC -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x2 data:2byte -lbl_1_bss_2 = .bss:0x00000002; // type:object size:0x6 data:2byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0xC data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x2 data:2byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x2 data:2byte -lbl_1_bss_1E = .bss:0x0000001E; // type:object size:0x14 data:2byte -lbl_1_bss_32 = .bss:0x00000032; // type:object size:0x2 data:2byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x2 data:2byte -lbl_1_bss_36 = .bss:0x00000036; // type:object size:0x2 data:2byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x2 data:2byte -lbl_1_bss_3A = .bss:0x0000003A; // type:object size:0x2 data:2byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x10 -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x8 data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x18 -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x4 data:4byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x4 data:4byte -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x4 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x4 data:float -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:4byte -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x4 data:4byte -lbl_1_bss_94 = .bss:0x00000094; // type:object size:0x4 data:4byte -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x4 data:4byte -lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0x4 data:4byte -lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x14 -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x4 data:4byte -lbl_1_bss_C0 = .bss:0x000000C0; // type:object size:0x4 data:4byte -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m455Dll/splits.txt b/config/GMPP01_00/rels/m455Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m455Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m455Dll/symbols.txt b/config/GMPP01_00/rels/m455Dll/symbols.txt deleted file mode 100644 index c63b35b3..00000000 --- a/config/GMPP01_00/rels/m455Dll/symbols.txt +++ /dev/null @@ -1,293 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x270 -fn_1_310 = .text:0x00000310; // type:function size:0x10 -fn_1_320 = .text:0x00000320; // type:function size:0x10 -fn_1_330 = .text:0x00000330; // type:function size:0x148 -fn_1_478 = .text:0x00000478; // type:function size:0x6C0 -fn_1_B38 = .text:0x00000B38; // type:function size:0x5C -fn_1_B94 = .text:0x00000B94; // type:function size:0xA4 -fn_1_C38 = .text:0x00000C38; // type:function size:0x68 -fn_1_CA0 = .text:0x00000CA0; // type:function size:0x84 -fn_1_D24 = .text:0x00000D24; // type:function size:0x6F4 -fn_1_1418 = .text:0x00001418; // type:function size:0x44 -fn_1_145C = .text:0x0000145C; // type:function size:0xBCC -fn_1_2028 = .text:0x00002028; // type:function size:0x50 -fn_1_2078 = .text:0x00002078; // type:function size:0x330 -fn_1_23A8 = .text:0x000023A8; // type:function size:0x104 -fn_1_24AC = .text:0x000024AC; // type:function size:0x5C -fn_1_2508 = .text:0x00002508; // type:function size:0x208 -fn_1_2710 = .text:0x00002710; // type:function size:0xA8 -fn_1_27B8 = .text:0x000027B8; // type:function size:0x2F0 -fn_1_2AA8 = .text:0x00002AA8; // type:function size:0x64 -fn_1_2B0C = .text:0x00002B0C; // type:function size:0x250 -fn_1_2D5C = .text:0x00002D5C; // type:function size:0x4D0 -fn_1_322C = .text:0x0000322C; // type:function size:0xB0 -fn_1_32DC = .text:0x000032DC; // type:function size:0x148 -fn_1_3424 = .text:0x00003424; // type:function size:0x70 -fn_1_3494 = .text:0x00003494; // type:function size:0x960 -fn_1_3DF4 = .text:0x00003DF4; // type:function size:0x328 -fn_1_411C = .text:0x0000411C; // type:function size:0x7C -fn_1_4198 = .text:0x00004198; // type:function size:0x82C -fn_1_49C4 = .text:0x000049C4; // type:function size:0x68 -fn_1_4A2C = .text:0x00004A2C; // type:function size:0x108 -fn_1_4B34 = .text:0x00004B34; // type:function size:0x348 -fn_1_4E7C = .text:0x00004E7C; // type:function size:0xB3C -fn_1_59B8 = .text:0x000059B8; // type:function size:0x6E8 -fn_1_60A0 = .text:0x000060A0; // type:function size:0xBC -fn_1_615C = .text:0x0000615C; // type:function size:0x450 -fn_1_65AC = .text:0x000065AC; // type:function size:0x104 -fn_1_66B0 = .text:0x000066B0; // type:function size:0x1E4 -fn_1_6894 = .text:0x00006894; // type:function size:0x4C -fn_1_68E0 = .text:0x000068E0; // type:function size:0x4C -fn_1_692C = .text:0x0000692C; // type:function size:0x158 -fn_1_6A84 = .text:0x00006A84; // type:function size:0x1F4 -fn_1_6C78 = .text:0x00006C78; // type:function size:0x50 -fn_1_6CC8 = .text:0x00006CC8; // type:function size:0x5D0 -fn_1_7298 = .text:0x00007298; // type:function size:0xE8 -fn_1_7380 = .text:0x00007380; // type:function size:0xC8 -fn_1_7448 = .text:0x00007448; // type:function size:0x4 -fn_1_744C = .text:0x0000744C; // type:function size:0x18C -fn_1_75D8 = .text:0x000075D8; // type:function size:0xF0 -fn_1_76C8 = .text:0x000076C8; // type:function size:0x2C4 -fn_1_798C = .text:0x0000798C; // type:function size:0x54 -fn_1_79E0 = .text:0x000079E0; // type:function size:0x2B0 -fn_1_7C90 = .text:0x00007C90; // type:function size:0x408 -fn_1_8098 = .text:0x00008098; // type:function size:0x444 -fn_1_84DC = .text:0x000084DC; // type:function size:0x4 -fn_1_84E0 = .text:0x000084E0; // type:function size:0x100 -fn_1_85E0 = .text:0x000085E0; // type:function size:0x104 -fn_1_86E4 = .text:0x000086E4; // type:function size:0x2A0 -fn_1_8984 = .text:0x00008984; // type:function size:0x474 -fn_1_8DF8 = .text:0x00008DF8; // type:function size:0x11C -fn_1_8F14 = .text:0x00008F14; // type:function size:0x2BC -fn_1_91D0 = .text:0x000091D0; // type:function size:0x50 -fn_1_9220 = .text:0x00009220; // type:function size:0xB44 -fn_1_9D64 = .text:0x00009D64; // type:function size:0x104 -fn_1_9E68 = .text:0x00009E68; // type:function size:0x118 -fn_1_9F80 = .text:0x00009F80; // type:function size:0x250 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 data:double -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x38 data:float -lbl_1_data_38 = .data:0x00000038; // type:object size:0xC data:float -lbl_1_data_44 = .data:0x00000044; // type:object size:0xC data:float -lbl_1_data_50 = .data:0x00000050; // type:object size:0x4 -lbl_1_data_54 = .data:0x00000054; // type:object size:0xC -lbl_1_data_60 = .data:0x00000060; // type:object size:0xC -lbl_1_data_6C = .data:0x0000006C; // type:object size:0x24 -lbl_1_data_90 = .data:0x00000090; // type:object size:0x2 data:2byte -lbl_1_data_94 = .data:0x00000094; // type:object size:0x4 data:4byte -lbl_1_data_98 = .data:0x00000098; // type:object size:0x4 data:4byte -jumptable_1_data_9C = .data:0x0000009C; // type:object size:0x28 scope:local -lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x1C data:string -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x28 -lbl_1_data_108 = .data:0x00000108; // type:object size:0x30 -lbl_1_data_138 = .data:0x00000138; // type:object size:0x1C -lbl_1_data_154 = .data:0x00000154; // type:object size:0x10 -lbl_1_data_164 = .data:0x00000164; // type:object size:0xC -lbl_1_data_170 = .data:0x00000170; // type:object size:0x1 data:byte -lbl_1_data_174 = .data:0x00000174; // type:object size:0x5 data:string -lbl_1_data_179 = .data:0x00000179; // type:object size:0xB data:string -lbl_1_data_184 = .data:0x00000184; // type:object size:0x8 data:float -lbl_1_data_18C = .data:0x0000018C; // type:object size:0x4C -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0x30 -lbl_1_data_208 = .data:0x00000208; // type:object size:0x1 data:byte -lbl_1_data_20C = .data:0x0000020C; // type:object size:0x50 -lbl_1_data_25C = .data:0x0000025C; // type:object size:0x7 data:string -lbl_1_data_263 = .data:0x00000263; // type:object size:0x7 data:string -lbl_1_data_26A = .data:0x0000026A; // type:object size:0x1 data:byte -lbl_1_data_26E = .data:0x0000026E; // type:object size:0x1 data:byte -lbl_1_data_272 = .data:0x00000272; // type:object size:0x6 data:byte -lbl_1_data_278 = .data:0x00000278; // type:object size:0x30 -lbl_1_data_2A8 = .data:0x000002A8; // type:object size:0x138 -lbl_1_data_3E0 = .data:0x000003E0; // type:object size:0x68 -lbl_1_data_448 = .data:0x00000448; // type:object size:0xD0 -lbl_1_data_518 = .data:0x00000518; // type:object size:0xD0 -lbl_1_data_5E8 = .data:0x000005E8; // type:object size:0x18 -lbl_1_data_600 = .data:0x00000600; // type:object size:0x1 data:byte -lbl_1_data_604 = .data:0x00000604; // type:object size:0x6C -lbl_1_data_670 = .data:0x00000670; // type:object size:0x24 -lbl_1_data_694 = .data:0x00000694; // type:object size:0x8 data:byte -lbl_1_data_69C = .data:0x0000069C; // type:object size:0x1 data:byte -lbl_1_data_6A0 = .data:0x000006A0; // type:object size:0x10 -lbl_1_data_6B0 = .data:0x000006B0; // type:object size:0x10 -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0xC data:float -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x2 data:2byte -lbl_1_bss_1A = .bss:0x0000001A; // type:object size:0x2 data:2byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x8 data:2byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x2 data:2byte -lbl_1_bss_26 = .bss:0x00000026; // type:object size:0x2 data:2byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x2 data:2byte -lbl_1_bss_2A = .bss:0x0000002A; // type:object size:0x2 data:2byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x10 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x4 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m456Dll/splits.txt b/config/GMPP01_00/rels/m456Dll/splits.txt deleted file mode 100644 index ba1c0109..00000000 --- a/config/GMPP01_00/rels/m456Dll/splits.txt +++ /dev/null @@ -1,22 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/m456Dll/main.c: - .text start:0x000000A0 end:0x00002EB0 - .rodata start:0x00000000 end:0x000000F0 - .data start:0x00000000 end:0x000002E8 - .bss start:0x00000000 end:0x00000090 - -REL/m456Dll/stage.c: - .text start:0x00002EB0 end:0x00009D74 - .rodata start:0x000000F0 end:0x00000330 - .data start:0x000002E8 end:0x000007D0 - .bss start:0x00000090 end:0x000000BC diff --git a/config/GMPP01_00/rels/m456Dll/symbols.txt b/config/GMPP01_00/rels/m456Dll/symbols.txt deleted file mode 100644 index b5353f63..00000000 --- a/config/GMPP01_00/rels/m456Dll/symbols.txt +++ /dev/null @@ -1,285 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x300 -fn_1_3A0 = .text:0x000003A0; // type:function size:0x10 -fn_1_3B0 = .text:0x000003B0; // type:function size:0x10 -fn_1_3C0 = .text:0x000003C0; // type:function size:0xD8 -fn_1_498 = .text:0x00000498; // type:function size:0x74C -fn_1_BE4 = .text:0x00000BE4; // type:function size:0x5C -fn_1_C40 = .text:0x00000C40; // type:function size:0x84 -fn_1_CC4 = .text:0x00000CC4; // type:function size:0x68 -fn_1_D2C = .text:0x00000D2C; // type:function size:0x220 -fn_1_F4C = .text:0x00000F4C; // type:function size:0x84 -fn_1_FD0 = .text:0x00000FD0; // type:function size:0x2B8 -fn_1_1288 = .text:0x00001288; // type:function size:0xD8 -fn_1_1304 = .text:0x00001360; // type:function size:0xD9C -fn_1_2040 = .text:0x000020FC; // type:function size:0x50 -fn_1_2090 = .text:0x0000214C; // type:function size:0x104 -fn_1_2194 = .text:0x00002250; // type:function size:0x64 -fn_1_21F8 = .text:0x000022B4; // type:function size:0x250 -fn_1_2448 = .text:0x00002504; // type:function size:0x4D0 -fn_1_2918 = .text:0x000029D4; // type:function size:0x1AC -fn_1_2AC4 = .text:0x00002B80; // type:function size:0x330 -fn_1_2DF4 = .text:0x00002EB0; // type:function size:0x148 -fn_1_2F3C = .text:0x00002FF8; // type:function size:0x70 -fn_1_2FAC = .text:0x00003068; // type:function size:0x960 -fn_1_390C = .text:0x000039C8; // type:function size:0x328 -fn_1_3C34 = .text:0x00003CF0; // type:function size:0x7C -fn_1_3CB0 = .text:0x00003D6C; // type:function size:0x82C -fn_1_44DC = .text:0x00004598; // type:function size:0x68 -fn_1_4544 = .text:0x00004600; // type:function size:0x108 -fn_1_464C = .text:0x00004708; // type:function size:0x348 -fn_1_4994 = .text:0x00004A50; // type:function size:0xB3C -fn_1_54D0 = .text:0x0000558C; // type:function size:0x6E8 -fn_1_5BB8 = .text:0x00005C74; // type:function size:0xBC -fn_1_5C74 = .text:0x00005D30; // type:function size:0x450 -fn_1_60C4 = .text:0x00006180; // type:function size:0x104 -fn_1_61C8 = .text:0x00006284; // type:function size:0x1E4 -fn_1_63AC = .text:0x00006468; // type:function size:0x4C -fn_1_63F8 = .text:0x000064B4; // type:function size:0x4C -fn_1_6444 = .text:0x00006500; // type:function size:0x158 -fn_1_659C = .text:0x00006658; // type:function size:0x1F4 -fn_1_6790 = .text:0x0000684C; // type:function size:0x50 -fn_1_67E0 = .text:0x0000689C; // type:function size:0x5D0 -fn_1_6DB0 = .text:0x00006E6C; // type:function size:0xE8 -fn_1_6E98 = .text:0x00006F54; // type:function size:0xC8 -fn_1_6F60 = .text:0x0000701C; // type:function size:0x4 -fn_1_6F64 = .text:0x00007020; // type:function size:0x18C -fn_1_70F0 = .text:0x000071AC; // type:function size:0xF0 -fn_1_71E0 = .text:0x0000729C; // type:function size:0x2C4 -fn_1_74A4 = .text:0x00007560; // type:function size:0x54 -fn_1_74F8 = .text:0x000075B4; // type:function size:0x2B0 -fn_1_7778 = .text:0x00007864; // type:function size:0x3D8 -fn_1_7B50 = .text:0x00007C3C; // type:function size:0x444 -fn_1_7F74 = .text:0x00008080; // type:function size:0x4 -fn_1_7F78 = .text:0x00008084; // type:function size:0x100 -fn_1_8078 = .text:0x00008184; // type:function size:0x104 -fn_1_817C = .text:0x00008288; // type:function size:0x2A0 -fn_1_841C = .text:0x00008528; // type:function size:0x474 -fn_1_8890 = .text:0x0000899C; // type:function size:0x11C -fn_1_89AC = .text:0x00008AB8; // type:function size:0x2BC -fn_1_8C68 = .text:0x00008D74; // type:function size:0x50 -fn_1_8CB8 = .text:0x00008DC4; // type:function size:0xB44 -fn_1_97FC = .text:0x00009908; // type:function size:0x104 -fn_1_9900 = .text:0x00009A0C; // type:function size:0x118 -fn_1_9A18 = .text:0x00009B24; // type:function size:0x250 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 scope:local data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 scope:local data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 scope:local data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x38 data:float -lbl_1_data_38 = .data:0x00000038; // type:object size:0xC data:float -lbl_1_data_44 = .data:0x00000044; // type:object size:0xC data:float -lbl_1_data_50 = .data:0x00000050; // type:object size:0x4 -lbl_1_data_54 = .data:0x00000054; // type:object size:0xC -lbl_1_data_60 = .data:0x00000060; // type:object size:0xC -lbl_1_data_6C = .data:0x0000006C; // type:object size:0x24 scope:local -lbl_1_data_90 = .data:0x00000090; // type:object size:0x4 data:4byte -lbl_1_data_94 = .data:0x00000094; // type:object size:0x4 data:4byte -jumptable_1_data_98 = .data:0x00000098; // type:object size:0x30 scope:local -lbl_1_data_C8 = .data:0x000000C8; // type:object size:0x1C scope:local data:string -lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x50 -lbl_1_data_134 = .data:0x00000134; // type:object size:0x30 -lbl_1_data_164 = .data:0x00000164; // type:object size:0x20 -lbl_1_data_184 = .data:0x00000184; // type:object size:0x4 -jumptable_1_data_188 = .data:0x00000188; // type:object size:0x20 scope:local -lbl_1_data_1A8 = .data:0x000001A8; // type:object size:0x8 data:float -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x80 -lbl_1_data_230 = .data:0x00000230; // type:object size:0xB8 -lbl_1_data_2E8 = .data:0x000002E8; // type:object size:0x30 -lbl_1_data_318 = .data:0x00000318; // type:object size:0x4 data:byte -lbl_1_data_31C = .data:0x0000031C; // type:object size:0x50 -lbl_1_data_36C = .data:0x0000036C; // type:object size:0x7 scope:local data:string -lbl_1_data_373 = .data:0x00000373; // type:object size:0x7 scope:local data:string -lbl_1_data_37A = .data:0x0000037A; // type:object size:0x4 data:byte -lbl_1_data_37E = .data:0x0000037E; // type:object size:0x4 data:byte -lbl_1_data_382 = .data:0x00000382; // type:object size:0x4 data:byte -lbl_1_data_388 = .data:0x00000388; // type:object size:0x30 -lbl_1_data_3B8 = .data:0x000003B8; // type:object size:0x138 -lbl_1_data_4F0 = .data:0x000004F0; // type:object size:0x68 -lbl_1_data_558 = .data:0x00000558; // type:object size:0xD0 -lbl_1_data_628 = .data:0x00000628; // type:object size:0xD0 -lbl_1_data_6F8 = .data:0x000006F8; // type:object size:0x18 -lbl_1_data_710 = .data:0x00000710; // type:object size:0x4 data:byte -lbl_1_data_714 = .data:0x00000714; // type:object size:0x6C -lbl_1_data_780 = .data:0x00000780; // type:object size:0x24 -lbl_1_data_7A4 = .data:0x000007A4; // type:object size:0x4 data:byte -lbl_1_data_7A8 = .data:0x000007A8; // type:object size:0x4 data:byte -lbl_1_data_7AC = .data:0x000007AC; // type:object size:0x4 data:byte -lbl_1_data_7B0 = .data:0x000007B0; // type:object size:0x10 -lbl_1_data_7C0 = .data:0x000007C0; // type:object size:0x10 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte -lbl_1_bss_6 = .bss:0x00000006; // type:object size:0x2 data:2byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0xC data:float -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x40 data:2byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x2 data:2byte -lbl_1_bss_62 = .bss:0x00000062; // type:object size:0x2 data:2byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x4 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x10 data:4byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x4 data:4byte -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x4 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x4 data:4byte -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:4byte -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x10 data:4byte -lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x4 data:4byte -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x4 data:4byte -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x4 data:4byte -lbl_1_bss_B4 = .bss:0x000000B4; // type:object size:0x4 data:4byte -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m457Dll/splits.txt b/config/GMPP01_00/rels/m457Dll/splits.txt deleted file mode 100644 index fe59c2cc..00000000 --- a/config/GMPP01_00/rels/m457Dll/splits.txt +++ /dev/null @@ -1,16 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/m457Dll/main.c: - .text start:0x000000A0 end:0x00007C04 - .rodata start:0x00000000 end:0x00000568 - .data start:0x00000000 end:0x000003E7 - .bss start:0x00000000 end:0x000000C8 diff --git a/config/GMPP01_00/rels/m457Dll/symbols.txt b/config/GMPP01_00/rels/m457Dll/symbols.txt deleted file mode 100644 index 0b08cedf..00000000 --- a/config/GMPP01_00/rels/m457Dll/symbols.txt +++ /dev/null @@ -1,177 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -CameraPrintDebug = .text:0x000000A0; // type:function size:0x3CC scope:local -M457PlayerExec = .text:0x0000046C; // type:function size:0x2858 scope:local -M457GameExec = .text:0x00002CC4; // type:function size:0x2654 scope:local -WrestleMesMain = .text:0x00005318; // type:function size:0x220 scope:local -ShoveMesMain = .text:0x00005538; // type:function size:0x510 scope:local -M457Main = .text:0x00005A48; // type:function size:0xB34 scope:local -M457GameSetup = .text:0x0000657C; // type:function size:0xAB8 scope:local -M457PlayerSetup = .text:0x00007034; // type:function size:0x5F4 scope:local -M457Setup = .text:0x00007628; // type:function size:0xC0 scope:local -ObjectSetup = .text:0x000076E8; // type:function size:0x480 -M457Exit = .text:0x00007B68; // type:function size:0x9C scope:local -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 scope:local data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x64 scope:local -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x90 -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 scope:local data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 scope:local data:double -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x8 scope:local data:double -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 scope:local data:double -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 scope:local data:double -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 scope:local data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 scope:local data:double -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 scope:local data:double -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 scope:local data:double -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 scope:local data:double -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x5C -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x5C -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 scope:local data:float -lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 scope:local data:float -lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 scope:local data:float -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 scope:local data:float -lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x4 scope:local data:float -lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x4 scope:local data:float -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 scope:local data:float -lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 scope:local data:float -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 scope:local data:float -lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 scope:local data:float -lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 scope:local data:float -sprDataNumTbl = .data:0x00000000; // type:object size:0x5C scope:local -sprIdTbl = .data:0x0000005C; // type:object size:0x5C scope:local data:4byte -lbl_1_data_B8 = .data:0x000000B8; // type:object size:0x30 scope:local -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x30 scope:local -lbl_1_data_118 = .data:0x00000118; // type:object size:0x30 scope:local -lbl_1_data_148 = .data:0x00000148; // type:object size:0xC scope:local -lbl_1_data_154 = .data:0x00000154; // type:object size:0x30 scope:local -lbl_1_data_184 = .data:0x00000184; // type:object size:0x30 scope:local -lbl_1_data_1B4 = .data:0x000001B4; // type:object size:0x6C scope:local -sparkDataTbl = .data:0x00000220; // type:object size:0x6C scope:local -lbl_1_data_28C = .data:0x0000028C; // type:object size:0x18 scope:local data:float -lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0x2 scope:local data:2byte -lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x2 scope:local data:2byte -backgroundMusNo = .data:0x000002A8; // type:object size:0x4 scope:local data:4byte -windSeNo = .data:0x000002AC; // type:object size:0x4 scope:local data:4byte -lbl_1_data_2B0 = .data:0x000002B0; // type:object size:0x2 scope:local data:2byte -invincibilitySeNo = .data:0x000002B4; // type:object size:0x4 scope:local data:4byte -lbl_1_data_2B8 = .data:0x000002B8; // type:object size:0x4 scope:local data:4byte -lbl_1_data_2BC = .data:0x000002BC; // type:object size:0x9 scope:local data:string -lbl_1_data_2C5 = .data:0x000002C5; // type:object size:0x3 scope:local data:string -jumptable_1_data_2C8 = .data:0x000002C8; // type:object size:0x2C scope:local -jumptable_1_data_2F4 = .data:0x000002F4; // type:object size:0x48 scope:local -lbl_1_data_33C = .data:0x0000033C; // type:object size:0x4 scope:local data:4byte -lbl_1_data_340 = .data:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_data_344 = .data:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_data_348 = .data:0x00000348; // type:object size:0x4 scope:local data:float -jumptable_1_data_34C = .data:0x0000034C; // type:object size:0x20 scope:local -jumptable_1_data_36C = .data:0x0000036C; // type:object size:0x2C scope:local -lbl_1_data_398 = .data:0x00000398; // type:object size:0x12 scope:local data:string -lbl_1_data_3AA = .data:0x000003AA; // type:object size:0x19 scope:local data:string -lbl_1_data_3C3 = .data:0x000003C3; // type:object size:0x24 scope:local data:string -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 scope:local data:4byte -m457MesEndF = .bss:0x00000010; // type:object size:0x4 scope:local data:4byte -againstBrowserF = .bss:0x00000014; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 scope:local data:4byte -lightId = .bss:0x00000048; // type:object size:0x4 scope:local data:4byte -objman = .bss:0x0000004C; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 scope:local data:4byte -gameState = .bss:0x0000005C; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 scope:local data:4byte -gameObj = .bss:0x00000064; // type:object size:0x4 scope:local data:4byte -playerObj = .bss:0x00000068; // type:object size:0x8 scope:local data:4byte -omViewObj = .bss:0x00000070; // type:object size:0x4 scope:local data:4byte -mainObj = .bss:0x00000074; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x50 scope:local data:4byte diff --git a/config/GMPP01_00/rels/m458Dll/splits.txt b/config/GMPP01_00/rels/m458Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m458Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m458Dll/symbols.txt b/config/GMPP01_00/rels/m458Dll/symbols.txt deleted file mode 100644 index cdc7fc9a..00000000 --- a/config/GMPP01_00/rels/m458Dll/symbols.txt +++ /dev/null @@ -1,176 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x428 -fn_1_4C8 = .text:0x000004C8; // type:function size:0x3044 -fn_1_350C = .text:0x0000350C; // type:function size:0x16DC -fn_1_4BE8 = .text:0x00004BE8; // type:function size:0x15C -fn_1_4D44 = .text:0x00004D44; // type:function size:0x2D0 -fn_1_5014 = .text:0x00005014; // type:function size:0x9C8 -fn_1_59DC = .text:0x000059DC; // type:function size:0x938 -fn_1_6314 = .text:0x00006314; // type:function size:0x548 -fn_1_685C = .text:0x0000685C; // type:function size:0xC0 -fn_1_691C = .text:0x0000691C; // type:function size:0x480 -fn_1_6D9C = .text:0x00006D9C; // type:function size:0xD0 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 scope:local data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 scope:local data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:4byte -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x94 -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 scope:local data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 scope:local data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 scope:local data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 scope:local data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 scope:local data:double -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 scope:local data:double -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x50 -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:4byte -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x70 -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x8 -lbl_1_data_8 = .data:0x00000008; // type:object size:0x8 data:4byte -lbl_1_data_10 = .data:0x00000010; // type:object size:0x28 -lbl_1_data_38 = .data:0x00000038; // type:object size:0x28 -lbl_1_data_60 = .data:0x00000060; // type:object size:0x28 -lbl_1_data_88 = .data:0x00000088; // type:object size:0xA -lbl_1_data_92 = .data:0x00000092; // type:object size:0xA -lbl_1_data_9C = .data:0x0000009C; // type:object size:0x28 -lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x28 -lbl_1_data_EC = .data:0x000000EC; // type:object size:0x28 -lbl_1_data_114 = .data:0x00000114; // type:object size:0x18 data:float -lbl_1_data_12C = .data:0x0000012C; // type:object size:0x2 data:2byte -lbl_1_data_12E = .data:0x0000012E; // type:object size:0x2 data:2byte -lbl_1_data_130 = .data:0x00000130; // type:object size:0x4 data:4byte -lbl_1_data_134 = .data:0x00000134; // type:object size:0x4 data:4byte -lbl_1_data_138 = .data:0x00000138; // type:object size:0x24 data:2byte -lbl_1_data_15C = .data:0x0000015C; // type:object size:0x4 data:4byte -lbl_1_data_160 = .data:0x00000160; // type:object size:0x9 data:string -lbl_1_data_169 = .data:0x00000169; // type:object size:0x3 data:string -lbl_1_data_16C = .data:0x0000016C; // type:object size:0x4 data:4byte -jumptable_1_data_170 = .data:0x00000170; // type:object size:0x30 scope:local -lbl_1_data_1A0 = .data:0x000001A0; // type:object size:0x4 data:4byte -lbl_1_data_1A4 = .data:0x000001A4; // type:object size:0x4 data:float -lbl_1_data_1A8 = .data:0x000001A8; // type:object size:0x4 data:float -lbl_1_data_1AC = .data:0x000001AC; // type:object size:0x4 data:float -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x4 data:string -jumptable_1_data_1B4 = .data:0x000001B4; // type:object size:0x34 scope:local -lbl_1_data_1E8 = .data:0x000001E8; // type:object size:0x2C -lbl_1_data_214 = .data:0x00000214; // type:object size:0x8 data:string -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x19 data:string -lbl_1_data_235 = .data:0x00000235; // type:object size:0x24 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x8 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:float -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:float -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:float -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x8 data:float -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x50 -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:4byte -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x4 data:4byte -lbl_1_bss_94 = .bss:0x00000094; // type:object size:0x4 data:4byte -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x4 data:4byte -lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0x4 data:4byte -lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x4 data:4byte -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x8 data:4byte -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x4 data:4byte -lbl_1_bss_B4 = .bss:0x000000B4; // type:object size:0x4 data:4byte -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x8 data:4byte -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x4 data:4byte -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x4 data:4byte -lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x1C0 data:4byte -lbl_1_bss_28C = .bss:0x0000028C; // type:object size:0x90 diff --git a/config/GMPP01_00/rels/m459dll/splits.txt b/config/GMPP01_00/rels/m459dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m459dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m459dll/symbols.txt b/config/GMPP01_00/rels/m459dll/symbols.txt deleted file mode 100644 index ebcacb12..00000000 --- a/config/GMPP01_00/rels/m459dll/symbols.txt +++ /dev/null @@ -1,169 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x138 -fn_1_1D8 = .text:0x000001D8; // type:function size:0x468 -fn_1_640 = .text:0x00000640; // type:function size:0xFC -fn_1_73C = .text:0x0000073C; // type:function size:0x73C -fn_1_E78 = .text:0x00000E78; // type:function size:0x364 -fn_1_11DC = .text:0x000011DC; // type:function size:0x28 -fn_1_1204 = .text:0x00001204; // type:function size:0x28 -fn_1_122C = .text:0x0000122C; // type:function size:0x200 -fn_1_142C = .text:0x0000142C; // type:function size:0x8C -fn_1_14B8 = .text:0x000014B8; // type:function size:0x2C0 -fn_1_1778 = .text:0x00001778; // type:function size:0x124 -fn_1_189C = .text:0x0000189C; // type:function size:0x118 -fn_1_19B4 = .text:0x000019B4; // type:function size:0x4C -fn_1_1A00 = .text:0x00001A00; // type:function size:0x5DC -fn_1_1FDC = .text:0x00001FDC; // type:function size:0x68 -fn_1_2044 = .text:0x00002044; // type:function size:0x168 -fn_1_21AC = .text:0x000021AC; // type:function size:0x200 -fn_1_23AC = .text:0x000023AC; // type:function size:0x21C -fn_1_25C8 = .text:0x000025C8; // type:function size:0x200 -fn_1_27C8 = .text:0x000027C8; // type:function size:0x168 -fn_1_2930 = .text:0x00002930; // type:function size:0x1F4 -fn_1_2B24 = .text:0x00002B24; // type:function size:0x3F4 -fn_1_2F18 = .text:0x00002F18; // type:function size:0xEC -fn_1_3004 = .text:0x00003004; // type:function size:0x388 -fn_1_338C = .text:0x0000338C; // type:function size:0x374 -fn_1_3700 = .text:0x00003700; // type:function size:0xA60 -fn_1_4160 = .text:0x00004160; // type:function size:0xB0 -fn_1_4210 = .text:0x00004210; // type:function size:0x104 -fn_1_4314 = .text:0x00004314; // type:function size:0x21C -fn_1_4530 = .text:0x00004530; // type:function size:0xBC -fn_1_45EC = .text:0x000045EC; // type:function size:0x178 -fn_1_4764 = .text:0x00004764; // type:function size:0x80 -fn_1_47E4 = .text:0x000047E4; // type:function size:0x6C -fn_1_4850 = .text:0x00004850; // type:function size:0x94 -fn_1_48E4 = .text:0x000048E4; // type:function size:0x190 -fn_1_4A74 = .text:0x00004A74; // type:function size:0xF4 -fn_1_4B68 = .text:0x00004B68; // type:function size:0xB4 -fn_1_4C1C = .text:0x00004C1C; // type:function size:0xB4 -fn_1_4CD0 = .text:0x00004CD0; // type:function size:0x178 -fn_1_4E48 = .text:0x00004E48; // type:function size:0x10 -fn_1_4E58 = .text:0x00004E58; // type:function size:0x20 -fn_1_4E78 = .text:0x00004E78; // type:function size:0x14 -fn_1_4E8C = .text:0x00004E8C; // type:function size:0x14 -fn_1_4EA0 = .text:0x00004EA0; // type:function size:0xE0 -fn_1_4F80 = .text:0x00004F80; // type:function size:0x20 -fn_1_4FA0 = .text:0x00004FA0; // type:function size:0x1C -fn_1_4FBC = .text:0x00004FBC; // type:function size:0x310 -fn_1_52CC = .text:0x000052CC; // type:function size:0x18 -fn_1_52E4 = .text:0x000052E4; // type:function size:0x10 -fn_1_52F4 = .text:0x000052F4; // type:function size:0x10 -fn_1_5304 = .text:0x00005304; // type:function size:0x4C -fn_1_5350 = .text:0x00005350; // type:function size:0x134 -fn_1_5484 = .text:0x00005484; // type:function size:0xDC -fn_1_5560 = .text:0x00005560; // type:function size:0x44 -fn_1_55A4 = .text:0x000055A4; // type:function size:0x4C8 -fn_1_5A6C = .text:0x00005A6C; // type:function size:0x3C4 -fn_1_5E30 = .text:0x00005E30; // type:function size:0x70 -fn_1_5EA0 = .text:0x00005EA0; // type:function size:0x94 -fn_1_5F34 = .text:0x00005F34; // type:function size:0x44 -fn_1_5F78 = .text:0x00005F78; // type:function size:0x214 -fn_1_618C = .text:0x0000618C; // type:function size:0x2C0 -fn_1_644C = .text:0x0000644C; // type:function size:0x128 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x30 scope:local -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x78 scope:local -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x18 scope:local -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:wstring -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x20 scope:local -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x20 scope:local -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x19C scope:local -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x8 scope:local -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x14 scope:local -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x14 scope:local -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x14 scope:local -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x14 scope:local -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 scope:local data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x48 scope:local -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x1B data:string -lbl_1_data_1B = .data:0x0000001B; // type:object size:0x1D -jumptable_1_data_38 = .data:0x00000038; // type:object size:0x38 scope:local -lbl_1_data_70 = .data:0x00000070; // type:object size:0x1C -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x2 data:2byte -lbl_1_bss_2 = .bss:0x00000002; // type:object size:0x1 data:byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x30 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x2 data:2byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x18 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0xC data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0xC data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x50 -lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x550 data:4byte -lbl_1_bss_61C = .bss:0x0000061C; // type:object size:0x7C data:float -lbl_1_bss_698 = .bss:0x00000698; // type:object size:0x4C data:4byte -lbl_1_bss_6E4 = .bss:0x000006E4; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m460Dll/splits.txt b/config/GMPP01_00/rels/m460Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m460Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m460Dll/symbols.txt b/config/GMPP01_00/rels/m460Dll/symbols.txt deleted file mode 100644 index a52ca026..00000000 --- a/config/GMPP01_00/rels/m460Dll/symbols.txt +++ /dev/null @@ -1,298 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x428 -fn_1_4C8 = .text:0x000004C8; // type:function size:0x128 -fn_1_5F0 = .text:0x000005F0; // type:function size:0x20C -fn_1_7FC = .text:0x000007FC; // type:function size:0x14C -fn_1_948 = .text:0x00000948; // type:function size:0x434 -fn_1_D7C = .text:0x00000D7C; // type:function size:0x470 -fn_1_11EC = .text:0x000011EC; // type:function size:0x35C -fn_1_1548 = .text:0x00001548; // type:function size:0x434 -fn_1_197C = .text:0x0000197C; // type:function size:0x6A0 -fn_1_201C = .text:0x0000201C; // type:function size:0x4D8 -fn_1_24F4 = .text:0x000024F4; // type:function size:0x70 -fn_1_2564 = .text:0x00002564; // type:function size:0x800 -fn_1_2D64 = .text:0x00002D64; // type:function size:0xC -fn_1_2D70 = .text:0x00002D70; // type:function size:0x55C -fn_1_32CC = .text:0x000032CC; // type:function size:0xB0 -fn_1_337C = .text:0x0000337C; // type:function size:0x274 -fn_1_35F0 = .text:0x000035F0; // type:function size:0x28 -fn_1_3618 = .text:0x00003618; // type:function size:0x5A8 -fn_1_3BC0 = .text:0x00003BC0; // type:function size:0x2A8 -fn_1_3E68 = .text:0x00003E68; // type:function size:0x14 -fn_1_3E7C = .text:0x00003E7C; // type:function size:0x14 -fn_1_3E90 = .text:0x00003E90; // type:function size:0x9C -fn_1_3F2C = .text:0x00003F2C; // type:function size:0x9C -fn_1_3FC8 = .text:0x00003FC8; // type:function size:0x68 -fn_1_4030 = .text:0x00004030; // type:function size:0x6C -fn_1_409C = .text:0x0000409C; // type:function size:0x98 -fn_1_4134 = .text:0x00004134; // type:function size:0x18 -fn_1_414C = .text:0x0000414C; // type:function size:0x18 -fn_1_4164 = .text:0x00004164; // type:function size:0x18 -fn_1_417C = .text:0x0000417C; // type:function size:0x18 -fn_1_4194 = .text:0x00004194; // type:function size:0x8 -fn_1_419C = .text:0x0000419C; // type:function size:0x18 -fn_1_41B4 = .text:0x000041B4; // type:function size:0x40 -fn_1_41F4 = .text:0x000041F4; // type:function size:0x30 -fn_1_4224 = .text:0x00004224; // type:function size:0x30 -fn_1_4254 = .text:0x00004254; // type:function size:0x30 -fn_1_4284 = .text:0x00004284; // type:function size:0x38 -fn_1_42BC = .text:0x000042BC; // type:function size:0x34 -fn_1_42F0 = .text:0x000042F0; // type:function size:0x18 -fn_1_4308 = .text:0x00004308; // type:function size:0x1C -fn_1_4324 = .text:0x00004324; // type:function size:0x18 -fn_1_433C = .text:0x0000433C; // type:function size:0x1C -fn_1_4358 = .text:0x00004358; // type:function size:0x18 -fn_1_4370 = .text:0x00004370; // type:function size:0x18 -fn_1_4388 = .text:0x00004388; // type:function size:0x208 -fn_1_4590 = .text:0x00004590; // type:function size:0x240 -fn_1_47D0 = .text:0x000047D0; // type:function size:0x11C -fn_1_48EC = .text:0x000048EC; // type:function size:0xB4 -fn_1_49A0 = .text:0x000049A0; // type:function size:0x244 -fn_1_4BE4 = .text:0x00004BE4; // type:function size:0x24 -fn_1_4C08 = .text:0x00004C08; // type:function size:0x364 -fn_1_4F6C = .text:0x00004F6C; // type:function size:0x1FC -fn_1_5168 = .text:0x00005168; // type:function size:0x484 -fn_1_55EC = .text:0x000055EC; // type:function size:0x1EC -fn_1_57D8 = .text:0x000057D8; // type:function size:0xF0 -fn_1_58C8 = .text:0x000058C8; // type:function size:0x14C -fn_1_5A14 = .text:0x00005A14; // type:function size:0x274 -fn_1_5C88 = .text:0x00005C88; // type:function size:0x58 -fn_1_5CE0 = .text:0x00005CE0; // type:function size:0x18C -fn_1_5E6C = .text:0x00005E6C; // type:function size:0x74 -fn_1_5EE0 = .text:0x00005EE0; // type:function size:0x1D0 -fn_1_60B0 = .text:0x000060B0; // type:function size:0x144 -fn_1_61F4 = .text:0x000061F4; // type:function size:0x5C0 -fn_1_67B4 = .text:0x000067B4; // type:function size:0x60 -fn_1_6814 = .text:0x00006814; // type:function size:0x4 -fn_1_6818 = .text:0x00006818; // type:function size:0x3E8 -fn_1_6C00 = .text:0x00006C00; // type:function size:0x7F8 -fn_1_73F8 = .text:0x000073F8; // type:function size:0x2CC -fn_1_76C4 = .text:0x000076C4; // type:function size:0x60 -fn_1_7724 = .text:0x00007724; // type:function size:0x6C -fn_1_7790 = .text:0x00007790; // type:function size:0x404 -fn_1_7B94 = .text:0x00007B94; // type:function size:0x214 -fn_1_7DA8 = .text:0x00007DA8; // type:function size:0xDF8 -fn_1_8BA0 = .text:0x00008BA0; // type:function size:0xD8 -fn_1_8C78 = .text:0x00008C78; // type:function size:0x34 -fn_1_8CAC = .text:0x00008CAC; // type:function size:0x28C -fn_1_8F38 = .text:0x00008F38; // type:function size:0x74 -fn_1_8FAC = .text:0x00008FAC; // type:function size:0x50 -fn_1_8FFC = .text:0x00008FFC; // type:function size:0x24 -fn_1_9020 = .text:0x00009020; // type:function size:0x30 -fn_1_9050 = .text:0x00009050; // type:function size:0x11C -fn_1_916C = .text:0x0000916C; // type:function size:0x78 -fn_1_91E4 = .text:0x000091E4; // type:function size:0x8C -fn_1_9270 = .text:0x00009270; // type:function size:0x164 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:4byte -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x50 -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x30 scope:local data:4byte -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 scope:local data:double -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0xC -lbl_1_data_C = .data:0x0000000C; // type:object size:0xC -lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float -lbl_1_data_24 = .data:0x00000024; // type:object size:0x4 -lbl_1_data_28 = .data:0x00000028; // type:object size:0xC data:float -lbl_1_data_34 = .data:0x00000034; // type:object size:0xC data:float -lbl_1_data_40 = .data:0x00000040; // type:object size:0xC data:float -lbl_1_data_4C = .data:0x0000004C; // type:object size:0x24 -lbl_1_data_70 = .data:0x00000070; // type:object size:0x24 -lbl_1_data_94 = .data:0x00000094; // type:object size:0xC -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0xC -lbl_1_data_AC = .data:0x000000AC; // type:object size:0xC -lbl_1_data_B8 = .data:0x000000B8; // type:object size:0x1 data:byte -lbl_1_data_BC = .data:0x000000BC; // type:object size:0x1A data:string -lbl_1_data_D6 = .data:0x000000D6; // type:object size:0x1A -lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x20 -lbl_1_data_110 = .data:0x00000110; // type:object size:0xA0 -jumptable_1_data_1B0 = .data:0x000001B0; // type:object size:0x24 scope:local -lbl_1_data_1D4 = .data:0x000001D4; // type:object size:0x14 -lbl_1_data_1E8 = .data:0x000001E8; // type:object size:0x100 -lbl_1_data_2E8 = .data:0x000002E8; // type:object size:0x40 -lbl_1_data_328 = .data:0x00000328; // type:object size:0xC -lbl_1_data_334 = .data:0x00000334; // type:object size:0xC -lbl_1_data_340 = .data:0x00000340; // type:object size:0xC -lbl_1_data_34C = .data:0x0000034C; // type:object size:0x8 -lbl_1_data_354 = .data:0x00000354; // type:object size:0x8 -lbl_1_data_35C = .data:0x0000035C; // type:object size:0x7 data:string -lbl_1_data_363 = .data:0x00000363; // type:object size:0x9 -lbl_1_data_36C = .data:0x0000036C; // type:object size:0xC -lbl_1_data_378 = .data:0x00000378; // type:object size:0x8 data:byte -lbl_1_data_380 = .data:0x00000380; // type:object size:0xC -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte -lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x2 data:2byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 data:2byte -lbl_1_bss_16 = .bss:0x00000016; // type:object size:0x2 data:2byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x2 data:2byte -lbl_1_bss_1A = .bss:0x0000001A; // type:object size:0x6 data:2byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x2 data:2byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x8 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x8 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x8 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/m461Dll/splits.txt b/config/GMPP01_00/rels/m461Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m461Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m461Dll/symbols.txt b/config/GMPP01_00/rels/m461Dll/symbols.txt deleted file mode 100644 index f3be51a3..00000000 --- a/config/GMPP01_00/rels/m461Dll/symbols.txt +++ /dev/null @@ -1,223 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x24 -fn_1_24 = .text:0x00000024; // type:function size:0x88 -fn_1_AC = .text:0x000000AC; // type:function size:0xA4 -fn_1_150 = .text:0x00000150; // type:function size:0x24 -fn_1_174 = .text:0x00000174; // type:function size:0x164 -fn_1_2D8 = .text:0x000002D8; // type:function size:0x13C -fn_1_414 = .text:0x00000414; // type:function size:0x58 -fn_1_46C = .text:0x0000046C; // type:function size:0x114 -fn_1_580 = .text:0x00000580; // type:function size:0x204 -fn_1_784 = .text:0x00000784; // type:function size:0x240 -fn_1_9C4 = .text:0x000009C4; // type:function size:0x54 -fn_1_A18 = .text:0x00000A18; // type:function size:0x10C -fn_1_B24 = .text:0x00000B24; // type:function size:0x680 -fn_1_11A4 = .text:0x000011A4; // type:function size:0x15C -fn_1_1300 = .text:0x00001300; // type:function size:0x8C -fn_1_138C = .text:0x0000138C; // type:function size:0x334 -fn_1_16C0 = .text:0x000016C0; // type:function size:0x350 -fn_1_1A10 = .text:0x00001A10; // type:function size:0x2B8 -fn_1_1CC8 = .text:0x00001CC8; // type:function size:0x58 -fn_1_1D20 = .text:0x00001D20; // type:function size:0xB0 -fn_1_1DD0 = .text:0x00001DD0; // type:function size:0x104 -fn_1_1ED4 = .text:0x00001ED4; // type:function size:0x34 -fn_1_1F08 = .text:0x00001F08; // type:function size:0x6C -fn_1_1F74 = .text:0x00001F74; // type:function size:0x3F0 -fn_1_2364 = .text:0x00002364; // type:function size:0x64 -fn_1_23C8 = .text:0x000023C8; // type:function size:0xE0 -fn_1_24A8 = .text:0x000024A8; // type:function size:0x32C -fn_1_27D4 = .text:0x000027D4; // type:function size:0x3AC -fn_1_2B80 = .text:0x00002B80; // type:function size:0x30 -fn_1_2BB0 = .text:0x00002BB0; // type:function size:0x1C -fn_1_2BCC = .text:0x00002BCC; // type:function size:0x18C -fn_1_2D58 = .text:0x00002D58; // type:function size:0x8 -fn_1_2D60 = .text:0x00002D60; // type:function size:0x8 -fn_1_2D68 = .text:0x00002D68; // type:function size:0x8 -fn_1_2D70 = .text:0x00002D70; // type:function size:0x8 -fn_1_2D78 = .text:0x00002D78; // type:function size:0xC -fn_1_2D84 = .text:0x00002D84; // type:function size:0x60 -fn_1_2DE4 = .text:0x00002DE4; // type:function size:0xB90 -fn_1_3974 = .text:0x00003974; // type:function size:0x2B0 -fn_1_3C24 = .text:0x00003C24; // type:function size:0xD8 -fn_1_3CFC = .text:0x00003CFC; // type:function size:0x114 -fn_1_3E10 = .text:0x00003E10; // type:function size:0xB8 -fn_1_3EC8 = .text:0x00003EC8; // type:function size:0xA0 -fn_1_3F68 = .text:0x00003F68; // type:function size:0x9C -fn_1_4004 = .text:0x00004004; // type:function size:0xDC8 -fn_1_4DCC = .text:0x00004DCC; // type:function size:0x250 -fn_1_501C = .text:0x0000501C; // type:function size:0x10 -fn_1_502C = .text:0x0000502C; // type:function size:0x10 -_prolog = .text:0x0000503C; // type:function size:0x54 scope:global -_epilog = .text:0x00005090; // type:function size:0x4C scope:global -fn_1_50DC = .text:0x000050DC; // type:function size:0x308 -fn_1_53E4 = .text:0x000053E4; // type:function size:0xF0 -fn_1_54D4 = .text:0x000054D4; // type:function size:0x36C -fn_1_5840 = .text:0x00005840; // type:function size:0x1E8 -fn_1_5A28 = .text:0x00005A28; // type:function size:0x178 -fn_1_5BA0 = .text:0x00005BA0; // type:function size:0xE0C -fn_1_69AC = .text:0x000069AC; // type:function size:0x928 -fn_1_72D4 = .text:0x000072D4; // type:function size:0x288 -fn_1_755C = .text:0x0000755C; // type:function size:0x11C -fn_1_7678 = .text:0x00007678; // type:function size:0x40C -fn_1_7A84 = .text:0x00007A84; // type:function size:0x1230 -fn_1_8CB4 = .text:0x00008CB4; // type:function size:0x45C -fn_1_9110 = .text:0x00009110; // type:function size:0x408 -fn_1_9518 = .text:0x00009518; // type:function size:0x1B8 -fn_1_96D0 = .text:0x000096D0; // type:function size:0x130 -fn_1_9800 = .text:0x00009800; // type:function size:0x450 -fn_1_9C50 = .text:0x00009C50; // type:function size:0x248 -fn_1_9E98 = .text:0x00009E98; // type:function size:0xEE8 -fn_1_AD80 = .text:0x0000AD80; // type:function size:0x458 -fn_1_B1D8 = .text:0x0000B1D8; // type:function size:0x7F8 -fn_1_B9D0 = .text:0x0000B9D0; // type:function size:0xF14 -fn_1_C8E4 = .text:0x0000C8E4; // type:function size:0x240 -fn_1_CB24 = .text:0x0000CB24; // type:function size:0xB5C -fn_1_D680 = .text:0x0000D680; // type:function size:0xD0 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x10 -lbl_1_data_10 = .data:0x00000010; // type:object size:0x20 -lbl_1_data_30 = .data:0x00000030; // type:object size:0x28 -lbl_1_data_58 = .data:0x00000058; // type:object size:0x28 -lbl_1_data_80 = .data:0x00000080; // type:object size:0x20 -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0xC data:4byte -lbl_1_data_AC = .data:0x000000AC; // type:object size:0xC -lbl_1_data_B8 = .data:0x000000B8; // type:object size:0xC data:4byte -lbl_1_data_C4 = .data:0x000000C4; // type:object size:0xC data:4byte -lbl_1_data_D0 = .data:0x000000D0; // type:object size:0xC -lbl_1_data_DC = .data:0x000000DC; // type:object size:0xC data:4byte -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0xC -lbl_1_data_F4 = .data:0x000000F4; // type:object size:0xC -lbl_1_data_100 = .data:0x00000100; // type:object size:0x4 -lbl_1_data_104 = .data:0x00000104; // type:object size:0xC -lbl_1_data_110 = .data:0x00000110; // type:object size:0xC -lbl_1_data_11C = .data:0x0000011C; // type:object size:0xC -lbl_1_data_128 = .data:0x00000128; // type:object size:0xA0 -lbl_1_data_1C8 = .data:0x000001C8; // type:object size:0xC -lbl_1_data_1D4 = .data:0x000001D4; // type:object size:0x10 -lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0xC -lbl_1_data_1F0 = .data:0x000001F0; // type:object size:0x50 data:float -lbl_1_data_240 = .data:0x00000240; // type:object size:0x24 -lbl_1_data_264 = .data:0x00000264; // type:object size:0xC data:4byte -lbl_1_data_270 = .data:0x00000270; // type:object size:0x80 -lbl_1_data_2F0 = .data:0x000002F0; // type:object size:0x30 -lbl_1_data_320 = .data:0x00000320; // type:object size:0x23 data:string -lbl_1_data_343 = .data:0x00000343; // type:object size:0x9 data:string -lbl_1_data_34C = .data:0x0000034C; // type:object size:0x6 data:string -lbl_1_data_352 = .data:0x00000352; // type:object size:0x1D data:string -lbl_1_data_36F = .data:0x0000036F; // type:object size:0x1D data:string -lbl_1_data_38C = .data:0x0000038C; // type:object size:0x1C -jumptable_1_data_3A8 = .data:0x000003A8; // type:object size:0x20 scope:local -lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0x24 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:float -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:float -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:float -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x10 -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x10 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x50 -lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0x4 data:4byte -lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x4 data:float -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x100 -lbl_1_bss_1AC = .bss:0x000001AC; // type:object size:0x40 data:4byte -lbl_1_bss_1EC = .bss:0x000001EC; // type:object size:0x4 data:float -lbl_1_bss_1F0 = .bss:0x000001F0; // type:object size:0x4 data:4byte -lbl_1_bss_1F4 = .bss:0x000001F4; // type:object size:0x4 data:4byte -lbl_1_bss_1F8 = .bss:0x000001F8; // type:object size:0x2 data:2byte -lbl_1_bss_1FA = .bss:0x000001FA; // type:object size:0x2 data:2byte -lbl_1_bss_1FC = .bss:0x000001FC; // type:object size:0x4 data:4byte -lbl_1_bss_200 = .bss:0x00000200; // type:object size:0x4 data:4byte -lbl_1_bss_204 = .bss:0x00000204; // type:object size:0x4 data:4byte -lbl_1_bss_208 = .bss:0x00000208; // type:object size:0xC data:4byte -lbl_1_bss_214 = .bss:0x00000214; // type:object size:0xC data:4byte -lbl_1_bss_220 = .bss:0x00000220; // type:object size:0xC data:4byte -lbl_1_bss_22C = .bss:0x0000022C; // type:object size:0xC data:4byte -lbl_1_bss_238 = .bss:0x00000238; // type:object size:0x4 data:4byte -lbl_1_bss_23C = .bss:0x0000023C; // type:object size:0x18 data:4byte -lbl_1_bss_254 = .bss:0x00000254; // type:object size:0xC data:4byte diff --git a/config/GMPP01_00/rels/m462Dll/splits.txt b/config/GMPP01_00/rels/m462Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m462Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m462Dll/symbols.txt b/config/GMPP01_00/rels/m462Dll/symbols.txt deleted file mode 100644 index 8b39ae68..00000000 --- a/config/GMPP01_00/rels/m462Dll/symbols.txt +++ /dev/null @@ -1,144 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x400 -fn_1_4A0 = .text:0x000004A0; // type:function size:0x1014 -fn_1_14B4 = .text:0x000014B4; // type:function size:0x80 -fn_1_1534 = .text:0x00001534; // type:function size:0x80 -fn_1_15B4 = .text:0x000015B4; // type:function size:0x80 -fn_1_1634 = .text:0x00001634; // type:function size:0xC4 -fn_1_16F8 = .text:0x000016F8; // type:function size:0x54 -fn_1_174C = .text:0x0000174C; // type:function size:0x54 -fn_1_17A0 = .text:0x000017A0; // type:function size:0xE0 -fn_1_1880 = .text:0x00001880; // type:function size:0x354 -fn_1_1BD4 = .text:0x00001BD4; // type:function size:0x23C -fn_1_1E10 = .text:0x00001E10; // type:function size:0x11CC -fn_1_2FDC = .text:0x00002FDC; // type:function size:0x14FC -fn_1_44D8 = .text:0x000044D8; // type:function size:0x16C -fn_1_4644 = .text:0x00004644; // type:function size:0x580 -fn_1_4BC4 = .text:0x00004BC4; // type:function size:0x894 -fn_1_5458 = .text:0x00005458; // type:function size:0x4F0 -fn_1_5948 = .text:0x00005948; // type:function size:0x498 -fn_1_5DE0 = .text:0x00005DE0; // type:function size:0x498 -fn_1_6278 = .text:0x00006278; // type:function size:0x74 -fn_1_62EC = .text:0x000062EC; // type:function size:0x7C -fn_1_6368 = .text:0x00006368; // type:function size:0x48 -fn_1_63B0 = .text:0x000063B0; // type:function size:0x48 -fn_1_63F8 = .text:0x000063F8; // type:function size:0x1D4 -fn_1_65CC = .text:0x000065CC; // type:function size:0x220 -fn_1_67EC = .text:0x000067EC; // type:function size:0x104 -fn_1_68F0 = .text:0x000068F0; // type:function size:0x70 -fn_1_6960 = .text:0x00006960; // type:function size:0x5C -fn_1_69BC = .text:0x000069BC; // type:function size:0x137C -fn_1_7D38 = .text:0x00007D38; // type:function size:0x4 -fn_1_7D3C = .text:0x00007D3C; // type:function size:0x60 -fn_1_7D9C = .text:0x00007D9C; // type:function size:0x3B4 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x20 -lbl_1_data_20 = .data:0x00000020; // type:object size:0x10 -lbl_1_data_30 = .data:0x00000030; // type:object size:0x60 -lbl_1_data_90 = .data:0x00000090; // type:object size:0x30 data:float -lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x3C -lbl_1_data_FC = .data:0x000000FC; // type:object size:0x14 data:float -lbl_1_data_110 = .data:0x00000110; // type:object size:0xB data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0xC data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0xC data:float -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0xC data:float -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x48 data:float -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x2D0 -lbl_1_bss_340 = .bss:0x00000340; // type:object size:0x98 data:float -lbl_1_bss_3D8 = .bss:0x000003D8; // type:object size:0x4 data:4byte -lbl_1_bss_3DC = .bss:0x000003DC; // type:object size:0x4 data:4byte -lbl_1_bss_3E0 = .bss:0x000003E0; // type:object size:0x4 data:4byte -lbl_1_bss_3E4 = .bss:0x000003E4; // type:object size:0x4 data:4byte -lbl_1_bss_3E8 = .bss:0x000003E8; // type:object size:0x2 data:2byte -lbl_1_bss_3EA = .bss:0x000003EA; // type:object size:0x2 data:2byte diff --git a/config/GMPP01_00/rels/m463Dll/splits.txt b/config/GMPP01_00/rels/m463Dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/m463Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/m463Dll/symbols.txt b/config/GMPP01_00/rels/m463Dll/symbols.txt deleted file mode 100644 index 96b91d06..00000000 --- a/config/GMPP01_00/rels/m463Dll/symbols.txt +++ /dev/null @@ -1,164 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x428 -fn_1_4C8 = .text:0x000004C8; // type:function size:0x2D9C -fn_1_3264 = .text:0x00003264; // type:function size:0x1210 -fn_1_4474 = .text:0x00004474; // type:function size:0x184 -fn_1_45F8 = .text:0x000045F8; // type:function size:0xDA4 -fn_1_539C = .text:0x0000539C; // type:function size:0x4B0 -fn_1_584C = .text:0x0000584C; // type:function size:0x854 -fn_1_60A0 = .text:0x000060A0; // type:function size:0x98 -fn_1_6138 = .text:0x00006138; // type:function size:0x460 -fn_1_6598 = .text:0x00006598; // type:function size:0x11C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x8 scope:local data:double -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 scope:local data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:4byte -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x94 -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 scope:local data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 scope:local data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 scope:local data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 scope:local data:double -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:4byte -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x50 -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x70 -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x24 -lbl_1_data_24 = .data:0x00000024; // type:object size:0x24 -lbl_1_data_48 = .data:0x00000048; // type:object size:0x24 -lbl_1_data_6C = .data:0x0000006C; // type:object size:0x24 -lbl_1_data_90 = .data:0x00000090; // type:object size:0x24 -lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x9 -lbl_1_data_BD = .data:0x000000BD; // type:object size:0xB -lbl_1_data_C8 = .data:0x000000C8; // type:object size:0x24 -lbl_1_data_EC = .data:0x000000EC; // type:object size:0x24 -lbl_1_data_110 = .data:0x00000110; // type:object size:0x24 -lbl_1_data_134 = .data:0x00000134; // type:object size:0x18 data:float -lbl_1_data_14C = .data:0x0000014C; // type:object size:0x2 data:2byte -lbl_1_data_14E = .data:0x0000014E; // type:object size:0x2 data:2byte -lbl_1_data_150 = .data:0x00000150; // type:object size:0x4 data:4byte -lbl_1_data_154 = .data:0x00000154; // type:object size:0x24 data:4byte -lbl_1_data_178 = .data:0x00000178; // type:object size:0x9 data:string -lbl_1_data_181 = .data:0x00000181; // type:object size:0x3 data:string -lbl_1_data_184 = .data:0x00000184; // type:object size:0x4 data:4byte -jumptable_1_data_188 = .data:0x00000188; // type:object size:0x1C scope:local -lbl_1_data_1A4 = .data:0x000001A4; // type:object size:0x10 -lbl_1_data_1B4 = .data:0x000001B4; // type:object size:0x4 data:4byte -lbl_1_data_1B8 = .data:0x000001B8; // type:object size:0x4 data:float -lbl_1_data_1BC = .data:0x000001BC; // type:object size:0x4 data:float -lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x4 data:float -jumptable_1_data_1C4 = .data:0x000001C4; // type:object size:0x20 scope:local -lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x2C -lbl_1_data_210 = .data:0x00000210; // type:object size:0x19 data:string -lbl_1_data_229 = .data:0x00000229; // type:object size:0x24 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x8 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x8 data:2byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:float -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:float -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:float -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x8 data:float -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x8 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x2D0 -lbl_1_bss_32C = .bss:0x0000032C; // type:object size:0x4 data:4byte -lbl_1_bss_330 = .bss:0x00000330; // type:object size:0x24 data:4byte -lbl_1_bss_354 = .bss:0x00000354; // type:object size:0x4 data:4byte -lbl_1_bss_358 = .bss:0x00000358; // type:object size:0x4 data:4byte -lbl_1_bss_35C = .bss:0x0000035C; // type:object size:0x1C0 data:4byte -lbl_1_bss_51C = .bss:0x0000051C; // type:object size:0x90 diff --git a/config/GMPP01_00/rels/mentDll/splits.txt b/config/GMPP01_00/rels/mentDll/splits.txt deleted file mode 100644 index 6f4f419c..00000000 --- a/config/GMPP01_00/rels/mentDll/splits.txt +++ /dev/null @@ -1,19 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/mentDll/common.c: - .text start:0x00000000 end:0x0000658C - .rodata start:0x00000000 end:0x000000E8 - .data start:0x00000000 end:0x000000D8 - .bss start:0x00000000 end:0x00000008 - -REL/mentDll/main.c: - .text start:0x0000658C end:0x000238C4 - .rodata start:0x000000E8 end:0x00000520 - .data start:0x000000D8 end:0x000006D0 - .bss start:0x00000008 end:0x000036C4 diff --git a/config/GMPP01_00/rels/mentDll/symbols.txt b/config/GMPP01_00/rels/mentDll/symbols.txt deleted file mode 100644 index a6cdecf3..00000000 --- a/config/GMPP01_00/rels/mentDll/symbols.txt +++ /dev/null @@ -1,441 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x4C -fn_1_4C = .text:0x0000004C; // type:function size:0x58 -_prolog = .text:0x000000A4; // type:function size:0x54 scope:global -_epilog = .text:0x000000F8; // type:function size:0x4C scope:global -fn_1_144 = .text:0x00000144; // type:function size:0xC8 -fn_1_20C = .text:0x0000020C; // type:function size:0x28 -fn_1_234 = .text:0x00000234; // type:function size:0x20 -fn_1_254 = .text:0x00000254; // type:function size:0xD8 -fn_1_32C = .text:0x0000032C; // type:function size:0xC8 -fn_1_3F4 = .text:0x000003F4; // type:function size:0xBC -fn_1_4B0 = .text:0x000004B0; // type:function size:0x28 -fn_1_4D8 = .text:0x000004D8; // type:function size:0x20 -fn_1_4F8 = .text:0x000004F8; // type:function size:0x14 -fn_1_50C = .text:0x0000050C; // type:function size:0xDC -fn_1_5E8 = .text:0x000005E8; // type:function size:0xE8 -fn_1_6D0 = .text:0x000006D0; // type:function size:0x24 -fn_1_6F4 = .text:0x000006F4; // type:function size:0xA48 -fn_1_113C = .text:0x0000113C; // type:function size:0x2F8 -fn_1_1434 = .text:0x00001434; // type:function size:0x218 -fn_1_164C = .text:0x0000164C; // type:function size:0x60 -fn_1_16AC = .text:0x000016AC; // type:function size:0x68 -fn_1_1714 = .text:0x00001714; // type:function size:0x90 -fn_1_17A4 = .text:0x000017A4; // type:function size:0x134 -fn_1_18D8 = .text:0x000018D8; // type:function size:0x50 -fn_1_1928 = .text:0x00001928; // type:function size:0x40 -fn_1_1968 = .text:0x00001968; // type:function size:0xF4 -fn_1_1A5C = .text:0x00001A5C; // type:function size:0x37C -fn_1_1DD8 = .text:0x00001DD8; // type:function size:0x37C -fn_1_2154 = .text:0x00002154; // type:function size:0x1C4 -fn_1_2318 = .text:0x00002318; // type:function size:0x54 -fn_1_236C = .text:0x0000236C; // type:function size:0x3E4 -fn_1_2750 = .text:0x00002750; // type:function size:0xB8 -fn_1_2808 = .text:0x00002808; // type:function size:0x3C -fn_1_2844 = .text:0x00002844; // type:function size:0x120 -fn_1_2964 = .text:0x00002964; // type:function size:0x3C -fn_1_29A0 = .text:0x000029A0; // type:function size:0x44 -fn_1_29E4 = .text:0x000029E4; // type:function size:0x26C -fn_1_2C50 = .text:0x00002C50; // type:function size:0x26C -fn_1_2EBC = .text:0x00002EBC; // type:function size:0x27C -fn_1_3138 = .text:0x00003138; // type:function size:0x2B4 -fn_1_33EC = .text:0x000033EC; // type:function size:0x46C -fn_1_3858 = .text:0x00003858; // type:function size:0x454 -fn_1_3CAC = .text:0x00003CAC; // type:function size:0x48C -fn_1_4138 = .text:0x00004138; // type:function size:0x658 -fn_1_4790 = .text:0x00004790; // type:function size:0x4C4 -fn_1_4C54 = .text:0x00004C54; // type:function size:0x4FC -fn_1_5150 = .text:0x00005150; // type:function size:0x6C8 -fn_1_5818 = .text:0x00005818; // type:function size:0x188 -fn_1_59A0 = .text:0x000059A0; // type:function size:0x1B0 -fn_1_5B50 = .text:0x00005B50; // type:function size:0xB8 -fn_1_5C08 = .text:0x00005C08; // type:function size:0xD4 -fn_1_5CDC = .text:0x00005CDC; // type:function size:0x5C -fn_1_5D38 = .text:0x00005D38; // type:function size:0x7FC -fn_1_6534 = .text:0x00006534; // type:function size:0x58 -fn_1_658C = .text:0x0000658C; // type:function size:0x6C0 -fn_1_6C4C = .text:0x00006C4C; // type:function size:0x4D8 -fn_1_7124 = .text:0x00007124; // type:function size:0xF4 -fn_1_7218 = .text:0x00007218; // type:function size:0xEC -fn_1_7304 = .text:0x00007304; // type:function size:0x380 -fn_1_7684 = .text:0x00007684; // type:function size:0x13C -fn_1_77C0 = .text:0x000077C0; // type:function size:0x98 -fn_1_7858 = .text:0x00007858; // type:function size:0xA8 -fn_1_7900 = .text:0x00007900; // type:function size:0x114 -fn_1_7A14 = .text:0x00007A14; // type:function size:0x794 -fn_1_81A8 = .text:0x000081A8; // type:function size:0x30 -fn_1_81D8 = .text:0x000081D8; // type:function size:0x18 -fn_1_81F0 = .text:0x000081F0; // type:function size:0x5C -fn_1_824C = .text:0x0000824C; // type:function size:0x180 -fn_1_83CC = .text:0x000083CC; // type:function size:0x1FC -fn_1_85C8 = .text:0x000085C8; // type:function size:0x2DC -fn_1_88A4 = .text:0x000088A4; // type:function size:0x29C -fn_1_8B40 = .text:0x00008B40; // type:function size:0x28 -fn_1_8B68 = .text:0x00008B68; // type:function size:0x3DC -fn_1_8F44 = .text:0x00008F44; // type:function size:0x54 -fn_1_8F98 = .text:0x00008F98; // type:function size:0x20 -fn_1_8FB8 = .text:0x00008FB8; // type:function size:0x314 -fn_1_92CC = .text:0x000092CC; // type:function size:0x618 -fn_1_98E4 = .text:0x000098E4; // type:function size:0xC8 -fn_1_99AC = .text:0x000099AC; // type:function size:0x20 -fn_1_99CC = .text:0x000099CC; // type:function size:0x6D8 -fn_1_A0A4 = .text:0x0000A0A4; // type:function size:0x20 -fn_1_A0C4 = .text:0x0000A0C4; // type:function size:0x2D8 -fn_1_A39C = .text:0x0000A39C; // type:function size:0x20 -fn_1_A3BC = .text:0x0000A3BC; // type:function size:0x5D4 -fn_1_A990 = .text:0x0000A990; // type:function size:0x20 -fn_1_A9B0 = .text:0x0000A9B0; // type:function size:0x3C8 -fn_1_AD78 = .text:0x0000AD78; // type:function size:0x30C -fn_1_B084 = .text:0x0000B084; // type:function size:0x5D0 -fn_1_B654 = .text:0x0000B654; // type:function size:0xB20 -fn_1_C174 = .text:0x0000C174; // type:function size:0x1E0 -fn_1_C354 = .text:0x0000C354; // type:function size:0xEC -fn_1_C440 = .text:0x0000C440; // type:function size:0x78 -fn_1_C4B8 = .text:0x0000C4B8; // type:function size:0x62C -fn_1_CAE4 = .text:0x0000CAE4; // type:function size:0x288 -fn_1_CD6C = .text:0x0000CD6C; // type:function size:0x20 -fn_1_CD8C = .text:0x0000CD8C; // type:function size:0x200 -fn_1_CF8C = .text:0x0000CF8C; // type:function size:0x384 -fn_1_D310 = .text:0x0000D310; // type:function size:0x20 -fn_1_D330 = .text:0x0000D330; // type:function size:0x20 -fn_1_D350 = .text:0x0000D350; // type:function size:0x2E4 -fn_1_D634 = .text:0x0000D634; // type:function size:0x82C -fn_1_DE60 = .text:0x0000DE60; // type:function size:0x17C -fn_1_DFDC = .text:0x0000DFDC; // type:function size:0x268 -fn_1_E244 = .text:0x0000E244; // type:function size:0x70 -fn_1_E2B4 = .text:0x0000E2B4; // type:function size:0x148 -fn_1_E3FC = .text:0x0000E3FC; // type:function size:0x90 -fn_1_E48C = .text:0x0000E48C; // type:function size:0x1C8 -fn_1_E654 = .text:0x0000E654; // type:function size:0xC8 -fn_1_E71C = .text:0x0000E71C; // type:function size:0x158 -fn_1_E874 = .text:0x0000E874; // type:function size:0xFC8 -fn_1_F83C = .text:0x0000F83C; // type:function size:0x670 -fn_1_FEAC = .text:0x0000FEAC; // type:function size:0x388 -fn_1_10234 = .text:0x00010234; // type:function size:0x308 -fn_1_1053C = .text:0x0001053C; // type:function size:0x7C -fn_1_105B8 = .text:0x000105B8; // type:function size:0x39C -fn_1_10954 = .text:0x00010954; // type:function size:0x308 -fn_1_10C5C = .text:0x00010C5C; // type:function size:0x7C -fn_1_10CD8 = .text:0x00010CD8; // type:function size:0x39C -fn_1_11074 = .text:0x00011074; // type:function size:0x2F4 -fn_1_11368 = .text:0x00011368; // type:function size:0x138 -fn_1_114A0 = .text:0x000114A0; // type:function size:0x74 -fn_1_11514 = .text:0x00011514; // type:function size:0x1E0 -fn_1_116F4 = .text:0x000116F4; // type:function size:0x158 -fn_1_1184C = .text:0x0001184C; // type:function size:0xBC -fn_1_11908 = .text:0x00011908; // type:function size:0x1C8 -fn_1_11AD0 = .text:0x00011AD0; // type:function size:0x2D4 -fn_1_11DA4 = .text:0x00011DA4; // type:function size:0x434 -fn_1_121D8 = .text:0x000121D8; // type:function size:0x624 -fn_1_127FC = .text:0x000127FC; // type:function size:0x210 -fn_1_12A0C = .text:0x00012A0C; // type:function size:0x434 -fn_1_12E40 = .text:0x00012E40; // type:function size:0x508 -fn_1_13348 = .text:0x00013348; // type:function size:0x160 -fn_1_134A8 = .text:0x000134A8; // type:function size:0x1E4 -fn_1_1368C = .text:0x0001368C; // type:function size:0x64 -fn_1_136F0 = .text:0x000136F0; // type:function size:0xB4 -fn_1_137A4 = .text:0x000137A4; // type:function size:0x1CC -fn_1_13970 = .text:0x00013970; // type:function size:0x3F0 -fn_1_13D60 = .text:0x00013D60; // type:function size:0x8C -fn_1_13DEC = .text:0x00013DEC; // type:function size:0xF0 -fn_1_13EDC = .text:0x00013EDC; // type:function size:0x8C -fn_1_13F68 = .text:0x00013F68; // type:function size:0xF0 -fn_1_14058 = .text:0x00014058; // type:function size:0xF0 -fn_1_14148 = .text:0x00014148; // type:function size:0xF0 -fn_1_14238 = .text:0x00014238; // type:function size:0xF0 -fn_1_14328 = .text:0x00014328; // type:function size:0xF0 -fn_1_14418 = .text:0x00014418; // type:function size:0x2B8 -fn_1_146D0 = .text:0x000146D0; // type:function size:0xF0 -fn_1_147C0 = .text:0x000147C0; // type:function size:0xF0 -fn_1_148B0 = .text:0x000148B0; // type:function size:0xF0 -fn_1_149A0 = .text:0x000149A0; // type:function size:0x8C -fn_1_14A2C = .text:0x00014A2C; // type:function size:0x8C -fn_1_14AB8 = .text:0x00014AB8; // type:function size:0xF0 -fn_1_14BA8 = .text:0x00014BA8; // type:function size:0x138 -fn_1_14CE0 = .text:0x00014CE0; // type:function size:0x3B8 -fn_1_15098 = .text:0x00015098; // type:function size:0x120 -fn_1_151B8 = .text:0x000151B8; // type:function size:0x798 -fn_1_15950 = .text:0x00015950; // type:function size:0x364 -fn_1_15CB4 = .text:0x00015CB4; // type:function size:0x5EC -fn_1_162A0 = .text:0x000162A0; // type:function size:0x1EC -fn_1_1648C = .text:0x0001648C; // type:function size:0x6DC -fn_1_16B68 = .text:0x00016B68; // type:function size:0x894 -fn_1_173FC = .text:0x000173FC; // type:function size:0x518 -fn_1_17914 = .text:0x00017914; // type:function size:0xC8 -fn_1_179DC = .text:0x000179DC; // type:function size:0x2EC -fn_1_17CC8 = .text:0x00017CC8; // type:function size:0x454 -fn_1_1811C = .text:0x0001811C; // type:function size:0x3F0 -fn_1_1850C = .text:0x0001850C; // type:function size:0x220 -fn_1_1872C = .text:0x0001872C; // type:function size:0x5C -fn_1_18788 = .text:0x00018788; // type:function size:0x2CC -fn_1_18A54 = .text:0x00018A54; // type:function size:0x378 -fn_1_18DCC = .text:0x00018DCC; // type:function size:0x1A8 -fn_1_18F74 = .text:0x00018F74; // type:function size:0x174 -fn_1_190E8 = .text:0x000190E8; // type:function size:0xB38 -fn_1_19C98 = .text:0x00019C20; // type:function size:0x1D98 -fn_1_1BB2C = .text:0x0001B9B8; // type:function size:0xA28 -fn_1_1C554 = .text:0x0001C3E0; // type:function size:0x120 -fn_1_1C674 = .text:0x0001C500; // type:function size:0xE0 -fn_1_1C754 = .text:0x0001C5E0; // type:function size:0x23C -fn_1_1C990 = .text:0x0001C81C; // type:function size:0x238 -fn_1_1CBC8 = .text:0x0001CA54; // type:function size:0x3A0 -fn_1_1CF68 = .text:0x0001CDF4; // type:function size:0x594 -fn_1_1D4FC = .text:0x0001D388; // type:function size:0x9DC -fn_1_1DED8 = .text:0x0001DD64; // type:function size:0x70 -fn_1_1DF48 = .text:0x0001DDD4; // type:function size:0x70 -fn_1_1DFB8 = .text:0x0001DE44; // type:function size:0x1FC -fn_1_1E1B4 = .text:0x0001E040; // type:function size:0x250 -fn_1_1E404 = .text:0x0001E290; // type:function size:0x4A0 -fn_1_1E8A4 = .text:0x0001E730; // type:function size:0xD4C -fn_1_1F5F0 = .text:0x0001F47C; // type:function size:0xC8 -fn_1_1F6B8 = .text:0x0001F544; // type:function size:0x1B0 -fn_1_1F868 = .text:0x0001F6F4; // type:function size:0x1CC -fn_1_1FA34 = .text:0x0001F8C0; // type:function size:0x220 -fn_1_1FC54 = .text:0x0001FAE0; // type:function size:0x1B4 -fn_1_1FE08 = .text:0x0001FC94; // type:function size:0x144 -fn_1_1FF4C = .text:0x0001FDD8; // type:function size:0x610 -fn_1_2055C = .text:0x000203E8; // type:function size:0x260 -fn_1_207BC = .text:0x00020648; // type:function size:0x138 -fn_1_208F4 = .text:0x00020780; // type:function size:0x130 -fn_1_20A24 = .text:0x000208B0; // type:function size:0x130 -fn_1_20B54 = .text:0x000209E0; // type:function size:0x5E0 -fn_1_21134 = .text:0x00020FC0; // type:function size:0x5F0 -fn_1_21724 = .text:0x000215B0; // type:function size:0xED0 -fn_1_225F4 = .text:0x00022480; // type:function size:0xE38 -fn_1_2342C = .text:0x000232B8; // type:function size:0x60C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x90 scope:local -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x40 scope:local data:4byte -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 scope:local data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 scope:local data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 scope:local data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x8 scope:local data:double -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x8 scope:local data:double -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 scope:local data:float -lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 scope:local data:float -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 data:4byte -lbl_1_data_70 = .data:0x00000070; // type:object size:0x4 data:4byte -lbl_1_data_74 = .data:0x00000074; // type:object size:0x22 scope:local data:string -lbl_1_data_96 = .data:0x00000096; // type:object size:0x1A scope:local data:string -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x1A scope:local data:string -lbl_1_data_CA = .data:0x000000CA; // type:object size:0xE scope:local data:string -lbl_1_data_D8 = .data:0x000000D8; // type:object size:0x48 data:float -lbl_1_data_120 = .data:0x00000120; // type:object size:0x18 -jumptable_1_data_138 = .data:0x00000138; // type:object size:0x30 scope:local -lbl_1_data_168 = .data:0x00000168; // type:object size:0x16 scope:local data:string -lbl_1_data_17E = .data:0x0000017E; // type:object size:0x15 scope:local data:string -lbl_1_data_193 = .data:0x00000193; // type:object size:0x17 scope:local data:string -lbl_1_data_1AA = .data:0x000001AA; // type:object size:0x16 scope:local data:string -lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x17 scope:local data:string -lbl_1_data_1D7 = .data:0x000001D7; // type:object size:0x16 scope:local data:string -lbl_1_data_1ED = .data:0x000001ED; // type:object size:0x17 scope:local data:string -lbl_1_data_204 = .data:0x00000204; // type:object size:0x16 scope:local data:string -lbl_1_data_21A = .data:0x0000021A; // type:object size:0xF scope:local data:string -lbl_1_data_229 = .data:0x00000229; // type:object size:0x1C scope:local data:string -lbl_1_data_245 = .data:0x00000245; // type:object size:0x1D scope:local data:string -lbl_1_data_262 = .data:0x00000262; // type:object size:0x14 scope:local data:string -lbl_1_data_276 = .data:0x00000276; // type:object size:0x15 scope:local data:string -lbl_1_data_28B = .data:0x0000028B; // type:object size:0x14 scope:local data:string -lbl_1_data_29F = .data:0x0000029F; // type:object size:0x15 scope:local -lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x3C -lbl_1_data_2F0 = .data:0x000002F0; // type:object size:0x4 data:4byte -lbl_1_data_2F4 = .data:0x000002F4; // type:object size:0x20 scope:local data:string -lbl_1_data_314 = .data:0x00000314; // type:object size:0x20 scope:local data:string -lbl_1_data_334 = .data:0x00000334; // type:object size:0x2A scope:local data:string -lbl_1_data_35E = .data:0x0000035E; // type:object size:0x3 scope:local data:string -lbl_1_data_361 = .data:0x00000361; // type:object size:0x1B scope:local data:string -lbl_1_data_37C = .data:0x0000037C; // type:object size:0x1A scope:local data:string -lbl_1_data_396 = .data:0x00000396; // type:object size:0x29 scope:local data:string -lbl_1_data_3BF = .data:0x000003BF; // type:object size:0x2A scope:local data:string -lbl_1_data_3E9 = .data:0x000003E9; // type:object size:0x2A scope:local data:string -lbl_1_data_413 = .data:0x00000413; // type:object size:0x2B scope:local data:string -lbl_1_data_43E = .data:0x0000043E; // type:object size:0x29 scope:local data:string -lbl_1_data_467 = .data:0x00000467; // type:object size:0x2B scope:local data:string -lbl_1_data_492 = .data:0x00000492; // type:object size:0x20 scope:local data:string -lbl_1_data_4B2 = .data:0x000004B2; // type:object size:0x22 scope:local -jumptable_1_data_4D4 = .data:0x000004D4; // type:object size:0x54 scope:local -lbl_1_data_528 = .data:0x00000528; // type:object size:0x1B scope:local data:string -lbl_1_data_543 = .data:0x00000543; // type:object size:0x1A scope:local data:string -lbl_1_data_55D = .data:0x0000055D; // type:object size:0xF scope:local data:string -lbl_1_data_56C = .data:0x0000056C; // type:object size:0x10 scope:local data:string -lbl_1_data_57C = .data:0x0000057C; // type:object size:0x40 -lbl_1_data_5BC = .data:0x000005BC; // type:object size:0x20 -lbl_1_data_5DC = .data:0x000005DC; // type:object size:0x64 data:float -lbl_1_data_640 = .data:0x00000640; // type:object size:0x50 data:4byte -lbl_1_data_690 = .data:0x00000690; // type:object size:0x40 data:4byte -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0xC data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x10 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x40 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x44 data:float -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x20 data:4byte -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x4 data:4byte -lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x4 data:4byte -lbl_1_bss_D0 = .bss:0x000000D0; // type:object size:0x4 data:4byte -lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0x4 data:4byte -lbl_1_bss_D8 = .bss:0x000000D8; // type:object size:0x4 data:4byte -lbl_1_bss_DC = .bss:0x000000DC; // type:object size:0x4 data:4byte -lbl_1_bss_E0 = .bss:0x000000E0; // type:object size:0x4 data:4byte -lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x15E0 -lbl_1_bss_16C4 = .bss:0x000016C4; // type:object size:0x1A40 -lbl_1_bss_3104 = .bss:0x00003104; // type:object size:0x4 data:4byte -lbl_1_bss_3108 = .bss:0x00003108; // type:object size:0xC data:4byte -lbl_1_bss_3114 = .bss:0x00003114; // type:object size:0x240 data:4byte -lbl_1_bss_3354 = .bss:0x00003354; // type:object size:0x58 data:4byte -lbl_1_bss_33AC = .bss:0x000033AC; // type:object size:0x210 data:4byte -lbl_1_bss_35BC = .bss:0x000035BC; // type:object size:0xB0 data:4byte -lbl_1_bss_366C = .bss:0x0000366C; // type:object size:0x58 data:4byte diff --git a/config/GMPP01_00/rels/messDll/splits.txt b/config/GMPP01_00/rels/messDll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/messDll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/messDll/symbols.txt b/config/GMPP01_00/rels/messDll/symbols.txt deleted file mode 100644 index 2c96428e..00000000 --- a/config/GMPP01_00/rels/messDll/symbols.txt +++ /dev/null @@ -1,113 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x22C -fn_1_2CC = .text:0x000002CC; // type:function size:0x44 -fn_1_310 = .text:0x00000310; // type:function size:0xB88 -fn_1_E98 = .text:0x00000E98; // type:function size:0x2EC -fn_1_1184 = .text:0x00001184; // type:function size:0x158 -fn_1_12DC = .text:0x000012DC; // type:function size:0x310 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x22 data:string -lbl_1_data_22 = .data:0x00000022; // type:object size:0x16 data:string -lbl_1_data_38 = .data:0x00000038; // type:object size:0x11 data:string -lbl_1_data_49 = .data:0x00000049; // type:object size:0xD data:string -lbl_1_data_56 = .data:0x00000056; // type:object size:0xD data:string -lbl_1_data_63 = .data:0x00000063; // type:object size:0xB data:string -lbl_1_data_6E = .data:0x0000006E; // type:object size:0xF data:string -lbl_1_data_7D = .data:0x0000007D; // type:object size:0xE data:string -lbl_1_data_8B = .data:0x0000008B; // type:object size:0xE data:string -lbl_1_data_99 = .data:0x00000099; // type:object size:0xD data:string -lbl_1_data_A6 = .data:0x000000A6; // type:object size:0x9 data:string -lbl_1_data_AF = .data:0x000000AF; // type:object size:0xE data:string -lbl_1_data_BD = .data:0x000000BD; // type:object size:0xF data:string -lbl_1_data_CC = .data:0x000000CC; // type:object size:0xB data:string -lbl_1_data_D7 = .data:0x000000D7; // type:object size:0x12 data:string -lbl_1_data_E9 = .data:0x000000E9; // type:object size:0xA data:string -lbl_1_data_F3 = .data:0x000000F3; // type:object size:0xD data:string -lbl_1_data_100 = .data:0x00000100; // type:object size:0xB data:string -lbl_1_data_10B = .data:0x0000010B; // type:object size:0xF data:string -lbl_1_data_11A = .data:0x0000011A; // type:object size:0x9 data:string -lbl_1_data_123 = .data:0x00000123; // type:object size:0xF data:string -lbl_1_data_132 = .data:0x00000132; // type:object size:0x13 data:string -lbl_1_data_145 = .data:0x00000145; // type:object size:0xF data:string -lbl_1_data_154 = .data:0x00000154; // type:object size:0xF data:string -lbl_1_data_163 = .data:0x00000163; // type:object size:0x12 data:string -lbl_1_data_175 = .data:0x00000175; // type:object size:0xB data:string -lbl_1_data_180 = .data:0x00000180; // type:object size:0xD data:string -lbl_1_data_18D = .data:0x0000018D; // type:object size:0xF data:string -lbl_1_data_19C = .data:0x0000019C; // type:object size:0xA data:string -lbl_1_data_1A6 = .data:0x000001A6; // type:object size:0xC data:string -lbl_1_data_1B2 = .data:0x000001B2; // type:object size:0xD data:string -lbl_1_data_1BF = .data:0x000001BF; // type:object size:0xF data:string -lbl_1_data_1CE = .data:0x000001CE; // type:object size:0x11 data:string -lbl_1_data_1DF = .data:0x000001DF; // type:object size:0xF data:string -lbl_1_data_1EE = .data:0x000001EE; // type:object size:0xC data:string -lbl_1_data_1FA = .data:0x000001FA; // type:object size:0xC data:string -lbl_1_data_206 = .data:0x00000206; // type:object size:0x8 data:string -lbl_1_data_20E = .data:0x0000020E; // type:object size:0x11 data:string -lbl_1_data_21F = .data:0x0000021F; // type:object size:0x11 data:string -lbl_1_data_230 = .data:0x00000230; // type:object size:0x12 data:string -lbl_1_data_242 = .data:0x00000242; // type:object size:0xF data:string -lbl_1_data_251 = .data:0x00000251; // type:object size:0xC data:string -lbl_1_data_25D = .data:0x0000025D; // type:object size:0xB data:string -lbl_1_data_268 = .data:0x00000268; // type:object size:0xB data:string -lbl_1_data_273 = .data:0x00000273; // type:object size:0xB data:string -lbl_1_data_27E = .data:0x0000027E; // type:object size:0xB data:string -lbl_1_data_289 = .data:0x00000289; // type:object size:0xB data:string -lbl_1_data_294 = .data:0x00000294; // type:object size:0xD data:string -lbl_1_data_2A1 = .data:0x000002A1; // type:object size:0x11 data:string -lbl_1_data_2B2 = .data:0x000002B2; // type:object size:0xF data:string -lbl_1_data_2C1 = .data:0x000002C1; // type:object size:0xC data:string -lbl_1_data_2CD = .data:0x000002CD; // type:object size:0x11 data:string -lbl_1_data_2DE = .data:0x000002DE; // type:object size:0xF data:string -lbl_1_data_2ED = .data:0x000002ED; // type:object size:0xF data:string -lbl_1_data_2FC = .data:0x000002FC; // type:object size:0xF data:string -lbl_1_data_30B = .data:0x0000030B; // type:object size:0x11 data:string -lbl_1_data_31C = .data:0x0000031C; // type:object size:0x10 -lbl_1_data_32C = .data:0x0000032C; // type:object size:0xE4 -lbl_1_data_410 = .data:0x00000410; // type:object size:0x8 data:string -lbl_1_data_418 = .data:0x00000418; // type:object size:0x8 data:string -lbl_1_data_420 = .data:0x00000420; // type:object size:0x7 data:string -lbl_1_data_427 = .data:0x00000427; // type:object size:0x6 data:string -lbl_1_data_42D = .data:0x0000042D; // type:object size:0xB -lbl_1_data_438 = .data:0x00000438; // type:object size:0x14 data:4byte -lbl_1_data_44C = .data:0x0000044C; // type:object size:0x2 data:2byte -lbl_1_data_44E = .data:0x0000044E; // type:object size:0x6 -lbl_1_data_454 = .data:0x00000454; // type:object size:0x5 data:string -lbl_1_data_459 = .data:0x00000459; // type:object size:0x4 data:string -lbl_1_data_45D = .data:0x0000045D; // type:object size:0x4 data:string -lbl_1_data_461 = .data:0x00000461; // type:object size:0x4 data:string -lbl_1_data_465 = .data:0x00000465; // type:object size:0x4 data:string -lbl_1_data_469 = .data:0x00000469; // type:object size:0x4 data:string -lbl_1_data_46D = .data:0x0000046D; // type:object size:0x4 data:string -lbl_1_data_471 = .data:0x00000471; // type:object size:0x4 data:string -lbl_1_data_475 = .data:0x00000475; // type:object size:0x7 -lbl_1_data_47C = .data:0x0000047C; // type:object size:0x20 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x2 data:2byte -lbl_1_bss_2 = .bss:0x00000002; // type:object size:0x2 data:2byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x8 data:2byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x24 data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/mgmodedll/splits.txt b/config/GMPP01_00/rels/mgmodedll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/mgmodedll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/mgmodedll/symbols.txt b/config/GMPP01_00/rels/mgmodedll/symbols.txt deleted file mode 100644 index 780a9b7f..00000000 --- a/config/GMPP01_00/rels/mgmodedll/symbols.txt +++ /dev/null @@ -1,584 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x3C4 -fn_1_464 = .text:0x00000464; // type:function size:0x294 -fn_1_6F8 = .text:0x000006F8; // type:function size:0x6F8 -fn_1_DF0 = .text:0x00000DF0; // type:function size:0xD1C -fn_1_1B0C = .text:0x00001B0C; // type:function size:0x6B8 -fn_1_21C4 = .text:0x000021C4; // type:function size:0x77C -fn_1_2940 = .text:0x00002940; // type:function size:0x810 -fn_1_3150 = .text:0x00003150; // type:function size:0x788 -fn_1_38D8 = .text:0x000038D8; // type:function size:0x738 -fn_1_4010 = .text:0x00004010; // type:function size:0x86C -fn_1_487C = .text:0x0000487C; // type:function size:0x260 -fn_1_4ADC = .text:0x00004ADC; // type:function size:0x800 -fn_1_52DC = .text:0x000052DC; // type:function size:0x220 -fn_1_54FC = .text:0x000054FC; // type:function size:0xCC -fn_1_55C8 = .text:0x000055C8; // type:function size:0x3B4 -fn_1_597C = .text:0x0000597C; // type:function size:0xC78 -fn_1_65F4 = .text:0x000065F4; // type:function size:0xC4 -fn_1_66B8 = .text:0x000066B8; // type:function size:0x2C4 -fn_1_697C = .text:0x0000697C; // type:function size:0x90 -fn_1_6A0C = .text:0x00006A0C; // type:function size:0xEC -fn_1_6AF8 = .text:0x00006AF8; // type:function size:0x128 -fn_1_6C20 = .text:0x00006C20; // type:function size:0x110 -fn_1_6D30 = .text:0x00006D30; // type:function size:0x31FC -fn_1_9F2C = .text:0x00009F2C; // type:function size:0x120 -fn_1_A04C = .text:0x0000A04C; // type:function size:0x400 -fn_1_A44C = .text:0x0000A44C; // type:function size:0x2C0 -fn_1_A70C = .text:0x0000A70C; // type:function size:0x84 -fn_1_A790 = .text:0x0000A790; // type:function size:0x604 -fn_1_AD94 = .text:0x0000AD94; // type:function size:0xF4 -fn_1_AE88 = .text:0x0000AE88; // type:function size:0x80 -fn_1_AF08 = .text:0x0000AF08; // type:function size:0xB0 -fn_1_AFB8 = .text:0x0000AFB8; // type:function size:0x6D8 -fn_1_B690 = .text:0x0000B690; // type:function size:0x1C8 -fn_1_B858 = .text:0x0000B858; // type:function size:0x248 -fn_1_BAA0 = .text:0x0000BAA0; // type:function size:0x16C -fn_1_BC0C = .text:0x0000BC0C; // type:function size:0x47C -fn_1_C088 = .text:0x0000C088; // type:function size:0x128 -fn_1_C1B0 = .text:0x0000C1B0; // type:function size:0x1808 -fn_1_D9B8 = .text:0x0000D9B8; // type:function size:0x56C -fn_1_DF24 = .text:0x0000DF24; // type:function size:0x17C -fn_1_E0A0 = .text:0x0000E0A0; // type:function size:0x74 -fn_1_E114 = .text:0x0000E114; // type:function size:0x6F8 -fn_1_E80C = .text:0x0000E80C; // type:function size:0x18F8 -fn_1_10104 = .text:0x00010104; // type:function size:0x608 -fn_1_1070C = .text:0x0001070C; // type:function size:0xD38 -fn_1_11444 = .text:0x00011444; // type:function size:0xBCC -fn_1_12010 = .text:0x00012010; // type:function size:0x3C4 -fn_1_123D4 = .text:0x000123D4; // type:function size:0x938 -fn_1_12D0C = .text:0x00012D0C; // type:function size:0x88 -fn_1_12D94 = .text:0x00012D94; // type:function size:0x82C -fn_1_135C0 = .text:0x000135C0; // type:function size:0x18E4 -fn_1_14EA4 = .text:0x00014EA4; // type:function size:0x119C -fn_1_16040 = .text:0x00016040; // type:function size:0x5A0 -fn_1_165E0 = .text:0x000165E0; // type:function size:0x6F8 -fn_1_16CD8 = .text:0x00016CD8; // type:function size:0xF2C -fn_1_17C04 = .text:0x00017C04; // type:function size:0x184 -fn_1_17D88 = .text:0x00017D88; // type:function size:0x1218 -fn_1_18FA0 = .text:0x00018FA0; // type:function size:0x220 -fn_1_191C0 = .text:0x000191C0; // type:function size:0x4B0 -fn_1_19670 = .text:0x00019670; // type:function size:0x568 -fn_1_19BD8 = .text:0x00019BD8; // type:function size:0x15C -fn_1_19D34 = .text:0x00019D34; // type:function size:0x174 -fn_1_19EA8 = .text:0x00019EA8; // type:function size:0x194 -fn_1_1A03C = .text:0x0001A03C; // type:function size:0xC8 -fn_1_1A104 = .text:0x0001A104; // type:function size:0x608 -fn_1_1A70C = .text:0x0001A70C; // type:function size:0x13C -fn_1_1A848 = .text:0x0001A848; // type:function size:0x248 -fn_1_1AA90 = .text:0x0001AA90; // type:function size:0x140 -fn_1_1ABD0 = .text:0x0001ABD0; // type:function size:0x130 -fn_1_1AD00 = .text:0x0001AD00; // type:function size:0x130 -fn_1_1AE30 = .text:0x0001AE30; // type:function size:0x5D8 -fn_1_1B408 = .text:0x0001B408; // type:function size:0xA8C -fn_1_1BE94 = .text:0x0001BE94; // type:function size:0x1E0 -fn_1_1C074 = .text:0x0001C074; // type:function size:0x1D0 -fn_1_1C244 = .text:0x0001C244; // type:function size:0xAB0 -fn_1_1CCF4 = .text:0x0001CCF4; // type:function size:0x364 -fn_1_1D058 = .text:0x0001D058; // type:function size:0x5EC -fn_1_1D644 = .text:0x0001D644; // type:function size:0x1EC -fn_1_1D830 = .text:0x0001D830; // type:function size:0x6EC -fn_1_1DF1C = .text:0x0001DF1C; // type:function size:0x894 -fn_1_1E7B0 = .text:0x0001E7B0; // type:function size:0x518 -fn_1_1ECC8 = .text:0x0001ECC8; // type:function size:0xD8 -fn_1_1EDA0 = .text:0x0001EDA0; // type:function size:0x138 -fn_1_1EED8 = .text:0x0001EED8; // type:function size:0x138 -fn_1_1F010 = .text:0x0001F010; // type:function size:0x4D4 -fn_1_1F4E4 = .text:0x0001F4E4; // type:function size:0x790 -fn_1_1FC74 = .text:0x0001FC74; // type:function size:0x188 -fn_1_1FDFC = .text:0x0001FDFC; // type:function size:0xAE4 -fn_1_208E0 = .text:0x000208E0; // type:function size:0x248 -fn_1_20B28 = .text:0x00020B28; // type:function size:0x514 -fn_1_2103C = .text:0x0002103C; // type:function size:0x150 -fn_1_2118C = .text:0x0002118C; // type:function size:0x1E0 -fn_1_2136C = .text:0x0002136C; // type:function size:0x2F0 -fn_1_2165C = .text:0x0002165C; // type:function size:0x830 -fn_1_21E8C = .text:0x00021E8C; // type:function size:0x5F8 -fn_1_22484 = .text:0x00022484; // type:function size:0x4AC -fn_1_22930 = .text:0x00022930; // type:function size:0x4F0 -fn_1_22E20 = .text:0x00022E20; // type:function size:0x5E8 -fn_1_23408 = .text:0x00023408; // type:function size:0xEF4 -fn_1_242FC = .text:0x000242FC; // type:function size:0x28 -fn_1_24324 = .text:0x00024324; // type:function size:0x20 -fn_1_24344 = .text:0x00024344; // type:function size:0xD8 -fn_1_2441C = .text:0x0002441C; // type:function size:0xC8 -fn_1_244E4 = .text:0x000244E4; // type:function size:0xBC -fn_1_245A0 = .text:0x000245A0; // type:function size:0x28 -fn_1_245C8 = .text:0x000245C8; // type:function size:0x20 -fn_1_245E8 = .text:0x000245E8; // type:function size:0x14 -fn_1_245FC = .text:0x000245FC; // type:function size:0xDC -fn_1_246D8 = .text:0x000246D8; // type:function size:0xE8 -fn_1_247C0 = .text:0x000247C0; // type:function size:0x24 -fn_1_247E4 = .text:0x000247E4; // type:function size:0xA48 -fn_1_2522C = .text:0x0002522C; // type:function size:0x2F8 -fn_1_25524 = .text:0x00025524; // type:function size:0x218 -fn_1_2573C = .text:0x0002573C; // type:function size:0x60 -fn_1_2579C = .text:0x0002579C; // type:function size:0x68 -fn_1_25804 = .text:0x00025804; // type:function size:0x90 -fn_1_25894 = .text:0x00025894; // type:function size:0x134 -fn_1_259C8 = .text:0x000259C8; // type:function size:0x48 -fn_1_25A10 = .text:0x00025A10; // type:function size:0x40 -fn_1_25A50 = .text:0x00025A50; // type:function size:0xF4 -fn_1_25B44 = .text:0x00025B44; // type:function size:0x37C -fn_1_25EC0 = .text:0x00025EC0; // type:function size:0x1CC -fn_1_2608C = .text:0x0002608C; // type:function size:0x54 -fn_1_260E0 = .text:0x000260E0; // type:function size:0x13C -fn_1_2621C = .text:0x0002621C; // type:function size:0x78C -fn_1_269A8 = .text:0x000269A8; // type:function size:0x58 -fn_1_26A00 = .text:0x00026A00; // type:function size:0x290 -fn_1_26C90 = .text:0x00026C90; // type:function size:0x138 -fn_1_26DC8 = .text:0x00026DC8; // type:function size:0x78 -fn_1_26E40 = .text:0x00026E40; // type:function size:0x2C -fn_1_26E6C = .text:0x00026E6C; // type:function size:0x42C -fn_1_27298 = .text:0x00027298; // type:function size:0x134 -fn_1_273CC = .text:0x000273CC; // type:function size:0x264 -fn_1_27630 = .text:0x00027630; // type:function size:0x424 -fn_1_27A54 = .text:0x00027A54; // type:function size:0x1C0 -fn_1_27C14 = .text:0x00027C14; // type:function size:0x210 -fn_1_27E24 = .text:0x00027E24; // type:function size:0xE4 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 scope:local data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 scope:local data:double -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 scope:local data:double -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 scope:local data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 scope:local data:double -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x8 scope:local data:double -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 scope:local data:double -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 scope:local data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 scope:local data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 scope:local data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 scope:local data:double -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 scope:local data:double -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x8 scope:local data:double -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x8 scope:local data:double -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 scope:local data:double -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x8 scope:local data:double -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 scope:local data:double -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 scope:local data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 scope:local data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x8 scope:local data:double -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 scope:local data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x8 scope:local data:double -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x8 scope:local data:double -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 scope:local data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x8 scope:local data:double -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x8 scope:local data:double -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x8 scope:local data:double -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 scope:local data:float -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x8 scope:local data:double -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 scope:local data:float -lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 scope:local data:float -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 scope:local data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x8 scope:local data:double -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x8 scope:local data:double -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 scope:local data:float -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 scope:local data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 scope:local data:float -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x8 scope:local data:double -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 scope:local data:float -lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 scope:local data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 scope:local data:float -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5FC = .rodata:0x000005FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x4 scope:local data:float -lbl_1_rodata_604 = .rodata:0x00000604; // type:object size:0x4 scope:local data:float -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60C = .rodata:0x0000060C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x4 scope:local data:float -lbl_1_rodata_614 = .rodata:0x00000614; // type:object size:0x4 scope:local data:float -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 scope:local data:float -lbl_1_rodata_61C = .rodata:0x0000061C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x4 scope:local data:float -lbl_1_rodata_624 = .rodata:0x00000624; // type:object size:0x4 scope:local data:float -lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x4 scope:local data:float -lbl_1_rodata_62C = .rodata:0x0000062C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 scope:local data:float -lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 scope:local data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x4 scope:local data:float -lbl_1_rodata_63C = .rodata:0x0000063C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 scope:local data:float -lbl_1_rodata_644 = .rodata:0x00000644; // type:object size:0x4 scope:local data:float -lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64C = .rodata:0x0000064C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_650 = .rodata:0x00000650; // type:object size:0x4 scope:local data:float -lbl_1_rodata_654 = .rodata:0x00000654; // type:object size:0x4 scope:local data:float -lbl_1_rodata_658 = .rodata:0x00000658; // type:object size:0x4 scope:local data:float -lbl_1_rodata_65C = .rodata:0x0000065C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_660 = .rodata:0x00000660; // type:object size:0x4 scope:local data:float -lbl_1_rodata_664 = .rodata:0x00000664; // type:object size:0x4 scope:local data:float -lbl_1_rodata_668 = .rodata:0x00000668; // type:object size:0x4 scope:local data:float -lbl_1_rodata_670 = .rodata:0x00000670; // type:object size:0x8 scope:local data:double -lbl_1_rodata_678 = .rodata:0x00000678; // type:object size:0x8 scope:local data:double -lbl_1_rodata_680 = .rodata:0x00000680; // type:object size:0x4 scope:local data:float -lbl_1_rodata_684 = .rodata:0x00000684; // type:object size:0x4 scope:local data:float -lbl_1_rodata_688 = .rodata:0x00000688; // type:object size:0x8 scope:local data:double -lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x8 scope:local data:double -lbl_1_rodata_698 = .rodata:0x00000698; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6A0 = .rodata:0x000006A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_6A8 = .rodata:0x000006A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6AC = .rodata:0x000006AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6B0 = .rodata:0x000006B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6B4 = .rodata:0x000006B4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_6C0 = .rodata:0x000006C0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_6CC = .rodata:0x000006CC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_6D8 = .rodata:0x000006D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6DC = .rodata:0x000006DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6E0 = .rodata:0x000006E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6E4 = .rodata:0x000006E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6E8 = .rodata:0x000006E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6EC = .rodata:0x000006EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6F0 = .rodata:0x000006F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6F4 = .rodata:0x000006F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6F8 = .rodata:0x000006F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6FC = .rodata:0x000006FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_700 = .rodata:0x00000700; // type:object size:0x4 scope:local data:float -lbl_1_rodata_708 = .rodata:0x00000708; // type:object size:0x8 scope:local data:double -lbl_1_rodata_710 = .rodata:0x00000710; // type:object size:0x8 scope:local data:float -lbl_1_rodata_718 = .rodata:0x00000718; // type:object size:0x4 scope:local data:float -lbl_1_rodata_720 = .rodata:0x00000720; // type:object size:0x8 scope:local data:double -lbl_1_rodata_728 = .rodata:0x00000728; // type:object size:0x4 scope:local data:float -lbl_1_rodata_72C = .rodata:0x0000072C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_730 = .rodata:0x00000730; // type:object size:0x4 scope:local data:float -lbl_1_rodata_734 = .rodata:0x00000734; // type:object size:0x4 scope:local data:float -lbl_1_rodata_738 = .rodata:0x00000738; // type:object size:0x4 scope:local data:float -lbl_1_rodata_740 = .rodata:0x00000740; // type:object size:0x8 scope:local data:double -lbl_1_rodata_748 = .rodata:0x00000748; // type:object size:0x8 scope:local data:double -lbl_1_rodata_750 = .rodata:0x00000750; // type:object size:0x4 scope:local data:float -lbl_1_rodata_758 = .rodata:0x00000758; // type:object size:0x8 scope:local data:double -lbl_1_rodata_760 = .rodata:0x00000760; // type:object size:0x4 scope:local data:float -lbl_1_rodata_768 = .rodata:0x00000768; // type:object size:0x8 scope:local data:double -lbl_1_rodata_770 = .rodata:0x00000770; // type:object size:0x8 scope:local data:double -lbl_1_rodata_778 = .rodata:0x00000778; // type:object size:0x4 scope:local data:float -lbl_1_rodata_780 = .rodata:0x00000780; // type:object size:0x8 scope:local data:double -lbl_1_rodata_788 = .rodata:0x00000788; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78C = .rodata:0x0000078C; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x1C -lbl_1_data_1C = .data:0x0000001C; // type:object size:0x24 -lbl_1_data_40 = .data:0x00000040; // type:object size:0x30 data:4byte -lbl_1_data_70 = .data:0x00000070; // type:object size:0x16 data:string -lbl_1_data_86 = .data:0x00000086; // type:object size:0x6 -lbl_1_data_8C = .data:0x0000008C; // type:object size:0x10 -lbl_1_data_9C = .data:0x0000009C; // type:object size:0x4 -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0xA data:string -lbl_1_data_AA = .data:0x000000AA; // type:object size:0x6 -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x2 data:2byte -lbl_1_data_B2 = .data:0x000000B2; // type:object size:0xE -lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x10 -lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x10 -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x6 -lbl_1_data_E6 = .data:0x000000E6; // type:object size:0xA -lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x20 -lbl_1_data_110 = .data:0x00000110; // type:object size:0x10 -mgRecordIdxTbl = .data:0x00000120; // type:object size:0x10 -lbl_1_data_130 = .data:0x00000130; // type:object size:0x28 -lbl_1_data_158 = .data:0x00000158; // type:object size:0x2 data:2byte -lbl_1_data_15A = .data:0x0000015A; // type:object size:0x8 -lbl_1_data_162 = .data:0x00000162; // type:object size:0x16 -lbl_1_data_178 = .data:0x00000178; // type:object size:0x2 data:2byte -lbl_1_data_17A = .data:0x0000017A; // type:object size:0x32 -lbl_1_data_1AC = .data:0x000001AC; // type:object size:0x10 -lbl_1_data_1BC = .data:0x000001BC; // type:object size:0x10 -lbl_1_data_1CC = .data:0x000001CC; // type:object size:0xA data:string -lbl_1_data_1D6 = .data:0x000001D6; // type:object size:0xE data:string -lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x10 -lbl_1_data_1F4 = .data:0x000001F4; // type:object size:0x24 data:string -lbl_1_data_218 = .data:0x00000218; // type:object size:0x26 data:string -lbl_1_data_23E = .data:0x0000023E; // type:object size:0x27 data:string -lbl_1_data_265 = .data:0x00000265; // type:object size:0x1C data:string -lbl_1_data_281 = .data:0x00000281; // type:object size:0x1B data:string -lbl_1_data_29C = .data:0x0000029C; // type:object size:0x1C data:string -lbl_1_data_2B8 = .data:0x000002B8; // type:object size:0x1D data:string -lbl_1_data_2D5 = .data:0x000002D5; // type:object size:0xC data:string -lbl_1_data_2E1 = .data:0x000002E1; // type:object size:0x1A data:string -lbl_1_data_2FB = .data:0x000002FB; // type:object size:0x1A data:string -lbl_1_data_315 = .data:0x00000315; // type:object size:0x27 -lbl_1_data_33C = .data:0x0000033C; // type:object size:0x40 data:4byte -lbl_1_data_37C = .data:0x0000037C; // type:object size:0x60 -lbl_1_data_3DC = .data:0x000003DC; // type:object size:0x18 data:4byte -lbl_1_data_3F4 = .data:0x000003F4; // type:object size:0x64 -lbl_1_data_458 = .data:0x00000458; // type:object size:0x40 -lbl_1_data_498 = .data:0x00000498; // type:object size:0x8 data:4byte -lbl_1_data_4A0 = .data:0x000004A0; // type:object size:0x2D8 -lbl_1_data_778 = .data:0x00000778; // type:object size:0x258 -lbl_1_data_9D0 = .data:0x000009D0; // type:object size:0x20 -lbl_1_data_9F0 = .data:0x000009F0; // type:object size:0x20 -lbl_1_data_A10 = .data:0x00000A10; // type:object size:0x2 data:2byte -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -mgModeEvtNo = .bss:0x00000004; // type:object size:0x2 data:2byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x264 data:4byte -lbl_1_bss_26C = .bss:0x0000026C; // type:object size:0x8 data:float -lbl_1_bss_274 = .bss:0x00000274; // type:object size:0x18 data:4byte -lbl_1_bss_28C = .bss:0x0000028C; // type:object size:0x18 data:4byte -lbl_1_bss_2A4 = .bss:0x000002A4; // type:object size:0x2 data:2byte -lbl_1_bss_2A6 = .bss:0x000002A6; // type:object size:0xA data:2byte -lbl_1_bss_2B0 = .bss:0x000002B0; // type:object size:0x4 data:float -lbl_1_bss_2B4 = .bss:0x000002B4; // type:object size:0xC data:4byte -lbl_1_bss_2C0 = .bss:0x000002C0; // type:object size:0xC data:4byte -lbl_1_bss_2CC = .bss:0x000002CC; // type:object size:0x2 data:2byte -lbl_1_bss_2CE = .bss:0x000002CE; // type:object size:0x2 data:2byte -lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x8 data:4byte -lbl_1_bss_2D8 = .bss:0x000002D8; // type:object size:0x4 data:4byte -lbl_1_bss_2DC = .bss:0x000002DC; // type:object size:0x6 -lbl_1_bss_2E2 = .bss:0x000002E2; // type:object size:0x2 data:2byte -lbl_1_bss_2E4 = .bss:0x000002E4; // type:object size:0x2 data:2byte -lbl_1_bss_2E6 = .bss:0x000002E6; // type:object size:0x2 data:2byte -lbl_1_bss_2E8 = .bss:0x000002E8; // type:object size:0x4 data:float -lbl_1_bss_2EC = .bss:0x000002EC; // type:object size:0x2 data:2byte -lbl_1_bss_2EE = .bss:0x000002EE; // type:object size:0x2 data:2byte -lbl_1_bss_2F0 = .bss:0x000002F0; // type:object size:0x2 data:2byte -lbl_1_bss_2F4 = .bss:0x000002F4; // type:object size:0x18 -lbl_1_bss_30C = .bss:0x0000030C; // type:object size:0x2 data:2byte -lbl_1_bss_30E = .bss:0x0000030E; // type:object size:0x8 -lbl_1_bss_316 = .bss:0x00000316; // type:object size:0x2 data:2byte -lbl_1_bss_318 = .bss:0x00000318; // type:object size:0x28 data:2byte -lbl_1_bss_340 = .bss:0x00000340; // type:object size:0x8 -lbl_1_bss_348 = .bss:0x00000348; // type:object size:0x2 data:2byte -lbl_1_bss_34A = .bss:0x0000034A; // type:object size:0x8 data:2byte -lbl_1_bss_352 = .bss:0x00000352; // type:object size:0x1E -lbl_1_bss_370 = .bss:0x00000370; // type:object size:0xC scope:local -lbl_1_bss_37C = .bss:0x0000037C; // type:object size:0xC scope:local -lbl_1_bss_388 = .bss:0x00000388; // type:object size:0x2 data:2byte -lbl_1_bss_38A = .bss:0x0000038A; // type:object size:0x2 data:2byte -lbl_1_bss_38C = .bss:0x0000038C; // type:object size:0x8 -lbl_1_bss_394 = .bss:0x00000394; // type:object size:0x2 data:2byte -lbl_1_bss_396 = .bss:0x00000396; // type:object size:0xA -lbl_1_bss_3A0 = .bss:0x000003A0; // type:object size:0x4 data:4byte -lbl_1_bss_3A4 = .bss:0x000003A4; // type:object size:0x2 data:2byte -lbl_1_bss_3A8 = .bss:0x000003A8; // type:object size:0x2 data:2byte -lbl_1_bss_3AA = .bss:0x000003AA; // type:object size:0x2 data:2byte -lbl_1_bss_3AC = .bss:0x000003AC; // type:object size:0x2 data:2byte -lbl_1_bss_3B0 = .bss:0x000003B0; // type:object size:0x2 data:2byte -lbl_1_bss_3B4 = .bss:0x000003B4; // type:object size:0x2 data:2byte -lbl_1_bss_3B8 = .bss:0x000003B8; // type:object size:0x8 data:2byte -lbl_1_bss_3C0 = .bss:0x000003C0; // type:object size:0x4 data:4byte -lbl_1_bss_3C4 = .bss:0x000003C4; // type:object size:0x4 data:4byte -lbl_1_bss_3C8 = .bss:0x000003C8; // type:object size:0x4 data:4byte -lbl_1_bss_3CC = .bss:0x000003CC; // type:object size:0x1A40 -lbl_1_bss_1E0C = .bss:0x00001E0C; // type:object size:0x4 data:4byte -lbl_1_bss_1E10 = .bss:0x00001E10; // type:object size:0x240 data:4byte -lbl_1_bss_2050 = .bss:0x00002050; // type:object size:0x5A -lbl_1_bss_20AA = .bss:0x000020AA; // type:object size:0x2 data:2byte -lbl_1_bss_20AC = .bss:0x000020AC; // type:object size:0x14 data:2byte -lbl_1_bss_20C0 = .bss:0x000020C0; // type:object size:0x578 -lbl_1_bss_2638 = .bss:0x00002638; // type:object size:0x14 data:2byte -lbl_1_bss_264C = .bss:0x0000264C; // type:object size:0x578 -lbl_1_bss_2BC4 = .bss:0x00002BC4; // type:object size:0x50 -lbl_1_bss_2C14 = .bss:0x00002C14; // type:object size:0x8 -lbl_1_bss_2C1C = .bss:0x00002C1C; // type:object size:0x8 -lbl_1_bss_2C24 = .bss:0x00002C24; // type:object size:0x8 -lbl_1_bss_2C2C = .bss:0x00002C2C; // type:object size:0x3A data:2byte -lbl_1_bss_2C66 = .bss:0x00002C66; // type:object size:0x1A data:2byte -lbl_1_bss_2C80 = .bss:0x00002C80; // type:object size:0x1A data:2byte diff --git a/config/GMPP01_00/rels/modeltestDll/splits.txt b/config/GMPP01_00/rels/modeltestDll/splits.txt deleted file mode 100644 index 9ff3fae5..00000000 --- a/config/GMPP01_00/rels/modeltestDll/splits.txt +++ /dev/null @@ -1,28 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/modeltestDll/main.c: - .text start:0x000000A0 end:0x000034B0 - .rodata start:0x00000000 end:0x00000130 - .data start:0x00000000 end:0x00000358 - .bss start:0x00000000 end:0x000009A8 - -REL/modeltestDll/modeltest00.c: - .text start:0x000034B0 end:0x00004AC8 - .rodata start:0x00000130 end:0x000001C8 - .data start:0x00000358 end:0x00000388 - .bss start:0x000009A8 end:0x00000A00 - -REL/modeltestDll/modeltest01.c: - .text start:0x00004AC8 end:0x000086B8 - .rodata start:0x000001C8 end:0x00000290 - .data start:0x00000388 end:0x000007AE - .bss start:0x00000A00 end:0x00000AC8 diff --git a/config/GMPP01_00/rels/modeltestDll/symbols.txt b/config/GMPP01_00/rels/modeltestDll/symbols.txt deleted file mode 100644 index 460a17bf..00000000 --- a/config/GMPP01_00/rels/modeltestDll/symbols.txt +++ /dev/null @@ -1,230 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x1FC -fn_1_29C = .text:0x0000029C; // type:function size:0xC9C -fn_1_F38 = .text:0x00000F38; // type:function size:0x64 -fn_1_F9C = .text:0x00000F9C; // type:function size:0x1158 -fn_1_20F4 = .text:0x000020F4; // type:function size:0x804 -fn_1_28F8 = .text:0x000028F8; // type:function size:0x204 -fn_1_2AFC = .text:0x00002AFC; // type:function size:0x6C -fn_1_2B68 = .text:0x00002B68; // type:function size:0x948 -fn_1_34B0 = .text:0x000034B0; // type:function size:0x32C -fn_1_37DC = .text:0x000037DC; // type:function size:0xBC0 -fn_1_439C = .text:0x0000439C; // type:function size:0x354 -fn_1_46F0 = .text:0x000046F0; // type:function size:0x3D8 -fn_1_4AC8 = .text:0x00004AC8; // type:function size:0x330 -fn_1_4DF8 = .text:0x00004DF8; // type:function size:0xC68 -fn_1_5A60 = .text:0x00005A60; // type:function size:0x348 -fn_1_5DA8 = .text:0x00005DA8; // type:function size:0xC20 -fn_1_69C8 = .text:0x000069C8; // type:function size:0x118 -fn_1_6AE0 = .text:0x00006AE0; // type:function size:0x166C -fn_1_814C = .text:0x0000814C; // type:function size:0x17C -fn_1_82C8 = .text:0x000082C8; // type:function size:0xEC -fn_1_83B4 = .text:0x000083B4; // type:function size:0x304 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0xC data:4byte -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0xC data:4byte -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x10 data:2byte -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0xC data:4byte -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0xC data:4byte -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0xC data:4byte -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0xC data:4byte -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0xC data:4byte -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0xC data:4byte -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0xC data:4byte -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x20 data:4byte -lbl_1_data_20 = .data:0x00000020; // type:object size:0x28 data:string -lbl_1_data_48 = .data:0x00000048; // type:object size:0x9 data:string -lbl_1_data_51 = .data:0x00000051; // type:object size:0x9 data:string -lbl_1_data_5A = .data:0x0000005A; // type:object size:0x9 data:string -lbl_1_data_63 = .data:0x00000063; // type:object size:0x9 data:string -lbl_1_data_6C = .data:0x0000006C; // type:object size:0x9 data:string -lbl_1_data_75 = .data:0x00000075; // type:object size:0x9 data:string -lbl_1_data_7E = .data:0x0000007E; // type:object size:0x9 data:string -lbl_1_data_87 = .data:0x00000087; // type:object size:0x9 data:string -lbl_1_data_90 = .data:0x00000090; // type:object size:0x9 data:string -lbl_1_data_99 = .data:0x00000099; // type:object size:0x9 data:string -lbl_1_data_A2 = .data:0x000000A2; // type:object size:0x9 data:string -lbl_1_data_AB = .data:0x000000AB; // type:object size:0x9 data:string -lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x9 data:string -lbl_1_data_BD = .data:0x000000BD; // type:object size:0x9 data:string -lbl_1_data_C6 = .data:0x000000C6; // type:object size:0x9 data:string -lbl_1_data_CF = .data:0x000000CF; // type:object size:0x9 data:string -lbl_1_data_D8 = .data:0x000000D8; // type:object size:0x40 -lbl_1_data_118 = .data:0x00000118; // type:object size:0x50 data:float -lbl_1_data_168 = .data:0x00000168; // type:object size:0xA0 -lbl_1_data_208 = .data:0x00000208; // type:object size:0x50 -lbl_1_data_258 = .data:0x00000258; // type:object size:0x50 -lbl_1_data_2A8 = .data:0x000002A8; // type:object size:0x1A data:string -lbl_1_data_2C2 = .data:0x000002C2; // type:object size:0x16 -lbl_1_data_2D8 = .data:0x000002D8; // type:object size:0x10 data:string -lbl_1_data_2E8 = .data:0x000002E8; // type:object size:0x4 data:string -lbl_1_data_2EC = .data:0x000002EC; // type:object size:0x2C data:string -lbl_1_data_318 = .data:0x00000318; // type:object size:0x40 -lbl_1_data_358 = .data:0x00000358; // type:object size:0x8 -lbl_1_data_360 = .data:0x00000360; // type:object size:0x28 data:string -lbl_1_data_388 = .data:0x00000388; // type:object size:0x28 data:string -lbl_1_data_3B0 = .data:0x000003B0; // type:object size:0x58 -lbl_1_data_408 = .data:0x00000408; // type:object size:0x58 -lbl_1_data_460 = .data:0x00000460; // type:object size:0x58 -lbl_1_data_4B8 = .data:0x000004B8; // type:object size:0x58 -lbl_1_data_510 = .data:0x00000510; // type:object size:0x58 -lbl_1_data_568 = .data:0x00000568; // type:object size:0x58 -lbl_1_data_5C0 = .data:0x000005C0; // type:object size:0x58 -lbl_1_data_618 = .data:0x00000618; // type:object size:0x58 -lbl_1_data_670 = .data:0x00000670; // type:object size:0x20 -lbl_1_data_690 = .data:0x00000690; // type:object size:0x10 data:string -lbl_1_data_6A0 = .data:0x000006A0; // type:object size:0xD data:string -lbl_1_data_6AD = .data:0x000006AD; // type:object size:0xD data:string -lbl_1_data_6BA = .data:0x000006BA; // type:object size:0xD data:string -lbl_1_data_6C7 = .data:0x000006C7; // type:object size:0xB data:string -lbl_1_data_6D2 = .data:0x000006D2; // type:object size:0x8 data:string -lbl_1_data_6DA = .data:0x000006DA; // type:object size:0xF data:string -lbl_1_data_6E9 = .data:0x000006E9; // type:object size:0xB -lbl_1_data_6F4 = .data:0x000006F4; // type:object size:0x60 -lbl_1_data_754 = .data:0x00000754; // type:object size:0x4 data:4byte -lbl_1_data_758 = .data:0x00000758; // type:object size:0x12 -lbl_1_data_76A = .data:0x0000076A; // type:object size:0x2E -lbl_1_data_798 = .data:0x00000798; // type:object size:0x14 -lbl_1_data_7AC = .data:0x000007AC; // type:object size:0x2 data:2byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x8 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:float -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x2 data:2byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:float -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x1 data:byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x10 data:4byte -lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x414 -lbl_1_bss_454 = .bss:0x00000454; // type:object size:0x4 data:4byte -lbl_1_bss_458 = .bss:0x00000458; // type:object size:0x2 data:2byte -lbl_1_bss_45A = .bss:0x0000045A; // type:object size:0x6 data:2byte -lbl_1_bss_460 = .bss:0x00000460; // type:object size:0x204 data:2byte -lbl_1_bss_664 = .bss:0x00000664; // type:object size:0x200 data:2byte -lbl_1_bss_864 = .bss:0x00000864; // type:object size:0x20 -lbl_1_bss_884 = .bss:0x00000884; // type:object size:0x2 data:2byte -lbl_1_bss_888 = .bss:0x00000888; // type:object size:0x2 data:2byte -lbl_1_bss_88A = .bss:0x0000088A; // type:object size:0x100 -lbl_1_bss_98A = .bss:0x0000098A; // type:object size:0x10 data:2byte -lbl_1_bss_99A = .bss:0x0000099A; // type:object size:0x2 data:2byte -lbl_1_bss_99C = .bss:0x0000099C; // type:object size:0x2 data:2byte -lbl_1_bss_9A0 = .bss:0x000009A0; // type:object size:0x4 data:4byte -lbl_1_bss_9A4 = .bss:0x000009A4; // type:object size:0x4 data:4byte -lbl_1_bss_9A8 = .bss:0x000009A8; // type:object size:0x4 data:4byte -lbl_1_bss_9AC = .bss:0x000009AC; // type:object size:0x40 -lbl_1_bss_9EC = .bss:0x000009EC; // type:object size:0x8 -lbl_1_bss_9F4 = .bss:0x000009F4; // type:object size:0x4 data:4byte -lbl_1_bss_9F8 = .bss:0x000009F8; // type:object size:0x8 data:4byte -lbl_1_bss_A00 = .bss:0x00000A00; // type:object size:0x4 data:4byte -lbl_1_bss_A04 = .bss:0x00000A04; // type:object size:0x4 data:4byte -lbl_1_bss_A08 = .bss:0x00000A08; // type:object size:0x2 data:2byte -lbl_1_bss_A0C = .bss:0x00000A0C; // type:object size:0x8 data:float -lbl_1_bss_A14 = .bss:0x00000A14; // type:object size:0x4 data:4byte -lbl_1_bss_A18 = .bss:0x00000A18; // type:object size:0xA4 data:float -lbl_1_bss_ABC = .bss:0x00000ABC; // type:object size:0x4 data:4byte -lbl_1_bss_AC0 = .bss:0x00000AC0; // type:object size:0x8 data:4byte diff --git a/config/GMPP01_00/rels/modeseldll/splits.txt b/config/GMPP01_00/rels/modeseldll/splits.txt deleted file mode 100644 index 8dd4d423..00000000 --- a/config/GMPP01_00/rels/modeseldll/splits.txt +++ /dev/null @@ -1,34 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/modeseldll/main.c: - .text start:0x000000A0 end:0x00002528 - .rodata start:0x00000000 end:0x000000B8 - .data start:0x00000000 end:0x00000080 - .bss start:0x00000000 end:0x00000080 - -REL/modeseldll/modesel.c: - .text start:0x00002528 end:0x00003874 - .rodata start:0x000000B8 end:0x000001B0 - .data start:0x00000080 end:0x00000100 - .bss start:0x00000080 end:0x00000088 - -REL/modeseldll/filesel.c: - .text start:0x00003874 end:0x0000BFDC - .rodata start:0x000001B0 end:0x00000318 - .data start:0x00000100 end:0x00000428 - .bss start:0x00000088 end:0x00000150 - -REL/modeseldll/datalist.c: - .text start:0x0000BFDC end:0x0000C438 - .rodata start:0x00000318 end:0x00000328 - .data start:0x00000428 end:0x00000A2C - .bss start:0x00000150 end:0x000001CA diff --git a/config/GMPP01_00/rels/modeseldll/symbols.txt b/config/GMPP01_00/rels/modeseldll/symbols.txt deleted file mode 100644 index fb5fd9a4..00000000 --- a/config/GMPP01_00/rels/modeseldll/symbols.txt +++ /dev/null @@ -1,270 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x374 -fn_1_414 = .text:0x00000414; // type:function size:0x678 -fn_1_A8C = .text:0x00000A8C; // type:function size:0xFC -fn_1_B88 = .text:0x00000B88; // type:function size:0x9C -fn_1_C24 = .text:0x00000C24; // type:function size:0x3B4 -fn_1_FD8 = .text:0x00000FD8; // type:function size:0xC2C -fn_1_1C04 = .text:0x00001C04; // type:function size:0x2C4 -fn_1_1EC8 = .text:0x00001EC8; // type:function size:0x90 -fn_1_1F58 = .text:0x00001F58; // type:function size:0x4A8 -fn_1_2400 = .text:0x00002400; // type:function size:0x128 -fn_1_2528 = .text:0x00002528; // type:function size:0x11D8 -fn_1_3700 = .text:0x00003700; // type:function size:0x174 -fn_1_3874 = .text:0x00003874; // type:function size:0x2DC -fn_1_3B50 = .text:0x00003B50; // type:function size:0x1B80 -fn_1_56D0 = .text:0x000056D0; // type:function size:0x19C -fn_1_586C = .text:0x0000586C; // type:function size:0x88 -fn_1_58F4 = .text:0x000058F4; // type:function size:0x35C -fn_1_5C50 = .text:0x00005C50; // type:function size:0x8C -fn_1_5CDC = .text:0x00005CDC; // type:function size:0xF8 -fn_1_5DD4 = .text:0x00005DD4; // type:function size:0x484 -fn_1_6258 = .text:0x00006258; // type:function size:0x1188 -fn_1_73E0 = .text:0x000073E0; // type:function size:0x34C -fn_1_772C = .text:0x0000772C; // type:function size:0x8C -fn_1_77B8 = .text:0x000077B8; // type:function size:0x4C0 -fn_1_7C78 = .text:0x00007C78; // type:function size:0x5B8 -fn_1_8230 = .text:0x00008230; // type:function size:0x288 -fn_1_84B8 = .text:0x000084B8; // type:function size:0x18C -fn_1_8644 = .text:0x00008644; // type:function size:0x6F0 -fn_1_8D34 = .text:0x00008D34; // type:function size:0x11E4 -fn_1_9F18 = .text:0x00009F18; // type:function size:0x38 -fn_1_9F50 = .text:0x00009F50; // type:function size:0xA74 -fn_1_A9C4 = .text:0x0000A9C4; // type:function size:0x1F8 -fn_1_ABBC = .text:0x0000ABBC; // type:function size:0xE14 -fn_1_B9D0 = .text:0x0000B9D0; // type:function size:0x154 -fn_1_BB24 = .text:0x0000BB24; // type:function size:0x60 -fn_1_BB84 = .text:0x0000BB84; // type:function size:0x458 -fn_1_BFDC = .text:0x0000BFDC; // type:function size:0x290 -fn_1_C26C = .text:0x0000C26C; // type:function size:0x154 -fn_1_C3C0 = .text:0x0000C3C0; // type:function size:0x78 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 data:double -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 data:byte -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x38 -lbl_1_data_38 = .data:0x00000038; // type:object size:0x22 data:string -lbl_1_data_5A = .data:0x0000005A; // type:object size:0x14 data:string -lbl_1_data_6E = .data:0x0000006E; // type:object size:0x4 -lbl_1_data_72 = .data:0x00000072; // type:object size:0xA data:string -lbl_1_data_7C = .data:0x0000007C; // type:object size:0x4 data:string -lbl_1_data_80 = .data:0x00000080; // type:object size:0xC -lbl_1_data_8C = .data:0x0000008C; // type:object size:0x18 -lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x18 -lbl_1_data_BC = .data:0x000000BC; // type:object size:0x18 -lbl_1_data_D4 = .data:0x000000D4; // type:object size:0x14 data:string -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x9 data:string -lbl_1_data_F1 = .data:0x000000F1; // type:object size:0xF -lbl_1_data_100 = .data:0x00000100; // type:object size:0x11C data:2byte -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x48 data:4byte -lbl_1_data_264 = .data:0x00000264; // type:object size:0x3 -lbl_1_data_267 = .data:0x00000267; // type:object size:0xD -lbl_1_data_274 = .data:0x00000274; // type:object size:0x2 data:string -lbl_1_data_276 = .data:0x00000276; // type:object size:0x2 data:string -lbl_1_data_278 = .data:0x00000278; // type:object size:0x8 -lbl_1_data_280 = .data:0x00000280; // type:object size:0x2 data:string -lbl_1_data_282 = .data:0x00000282; // type:object size:0x2 data:string -lbl_1_data_284 = .data:0x00000284; // type:object size:0x4 -lbl_1_data_288 = .data:0x00000288; // type:object size:0xC -lbl_1_data_294 = .data:0x00000294; // type:object size:0x19 data:string -lbl_1_data_2AD = .data:0x000002AD; // type:object size:0x23 data:string -lbl_1_data_2D0 = .data:0x000002D0; // type:object size:0x1B data:string -lbl_1_data_2EB = .data:0x000002EB; // type:object size:0x19 data:string -lbl_1_data_304 = .data:0x00000304; // type:object size:0x19 data:string -lbl_1_data_31D = .data:0x0000031D; // type:object size:0x20 data:string -lbl_1_data_33D = .data:0x0000033D; // type:object size:0x1B data:string -lbl_1_data_358 = .data:0x00000358; // type:object size:0x1B data:string -lbl_1_data_373 = .data:0x00000373; // type:object size:0x22 data:string -lbl_1_data_395 = .data:0x00000395; // type:object size:0x5 data:string -lbl_1_data_39A = .data:0x0000039A; // type:object size:0x15 data:string -lbl_1_data_3AF = .data:0x000003AF; // type:object size:0x15 data:string -lbl_1_data_3C4 = .data:0x000003C4; // type:object size:0x1F data:string -lbl_1_data_3E3 = .data:0x000003E3; // type:object size:0x10 data:string -lbl_1_data_3F3 = .data:0x000003F3; // type:object size:0xD data:string -lbl_1_data_400 = .data:0x00000400; // type:object size:0x16 -lbl_1_data_416 = .data:0x00000416; // type:object size:0x6 data:string -lbl_1_data_41C = .data:0x0000041C; // type:object size:0x2 data:2byte -lbl_1_data_41E = .data:0x0000041E; // type:object size:0xA -lbl_1_data_428 = .data:0x00000428; // type:object size:0x514 -lbl_1_data_93C = .data:0x0000093C; // type:object size:0xF0 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x8 data:float -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x18 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x30 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:float -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0xC data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0xC data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x8 data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x4 data:4byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x2 data:2byte -lbl_1_bss_82 = .bss:0x00000082; // type:object size:0x6 data:2byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x2 data:2byte -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:float -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x2 data:2byte -lbl_1_bss_92 = .bss:0x00000092; // type:object size:0x6 -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x6 -lbl_1_bss_9E = .bss:0x0000009E; // type:object size:0x6 -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x8 -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0xC -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0xC -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0xC -lbl_1_bss_D0 = .bss:0x000000D0; // type:object size:0x18 -lbl_1_bss_E8 = .bss:0x000000E8; // type:object size:0x6 -lbl_1_bss_EE = .bss:0x000000EE; // type:object size:0x6 -lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0x4 data:4byte -lbl_1_bss_F8 = .bss:0x000000F8; // type:object size:0x4 data:4byte -lbl_1_bss_FC = .bss:0x000000FC; // type:object size:0x4 data:4byte -lbl_1_bss_100 = .bss:0x00000100; // type:object size:0x8 data:float -lbl_1_bss_108 = .bss:0x00000108; // type:object size:0x8 data:float -lbl_1_bss_110 = .bss:0x00000110; // type:object size:0x6 -lbl_1_bss_116 = .bss:0x00000116; // type:object size:0x6 -lbl_1_bss_11C = .bss:0x0000011C; // type:object size:0x2 data:2byte -lbl_1_bss_120 = .bss:0x00000120; // type:object size:0xC data:4byte -lbl_1_bss_12C = .bss:0x0000012C; // type:object size:0x8 data:4byte -lbl_1_bss_134 = .bss:0x00000134; // type:object size:0x6 -lbl_1_bss_13A = .bss:0x0000013A; // type:object size:0x6 -lbl_1_bss_140 = .bss:0x00000140; // type:object size:0x6 -lbl_1_bss_146 = .bss:0x00000146; // type:object size:0x2 data:2byte -lbl_1_bss_148 = .bss:0x00000148; // type:object size:0x2 data:2byte -lbl_1_bss_14C = .bss:0x0000014C; // type:object size:0x4 data:4byte -lbl_1_bss_150 = .bss:0x00000150; // type:object size:0x2 -lbl_1_bss_152 = .bss:0x00000152; // type:object size:0x18 data:2byte -lbl_1_bss_16A = .bss:0x0000016A; // type:object size:0x30 data:2byte -lbl_1_bss_19A = .bss:0x0000019A; // type:object size:0x30 data:2byte diff --git a/config/GMPP01_00/rels/mpexDll/splits.txt b/config/GMPP01_00/rels/mpexDll/splits.txt deleted file mode 100644 index 8980a70d..00000000 --- a/config/GMPP01_00/rels/mpexDll/splits.txt +++ /dev/null @@ -1,33 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/mpexDll/main.c: - .text start:0x000000A0 end:0x00003044 - .rodata start:0x00000000 end:0x000000A0 - .data start:0x00000000 end:0x00000240 - .bss start:0x00000000 end:0x000000A8 - -REL/mpexDll/mpex.c: - .text start:0x00003044 end:0x000125C4 - .rodata start:0x000000A0 end:0x00000538 - .data start:0x00000240 end:0x00000510 - .bss start:0x000000A8 end:0x00000440 - -REL/mpexDll/charsel.c: - .text start:0x000125C4 end:0x0001CAF8 - .rodata start:0x00000538 end:0x00000610 - .data start:0x00000510 end:0x00000780 - .bss start:0x00000440 end:0x000006AD - -REL/mpexDll/mgname.c: - .text start:0x0001CAF8 end:0x0001D014 - .rodata start:0x00000610 end:0x00000620 - .data start:0x00000780 end:0x00000C40 diff --git a/config/GMPP01_00/rels/mpexDll/symbols.txt b/config/GMPP01_00/rels/mpexDll/symbols.txt deleted file mode 100644 index caa7e094..00000000 --- a/config/GMPP01_00/rels/mpexDll/symbols.txt +++ /dev/null @@ -1,475 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0xE8 -fn_1_188 = .text:0x00000188; // type:function size:0x38 -fn_1_1C0 = .text:0x000001C0; // type:function size:0x70 -ObjectSetup = .text:0x00000230; // type:function size:0x68 -fn_1_298 = .text:0x00000298; // type:function size:0xDC -fn_1_374 = .text:0x00000374; // type:function size:0xC4 -fn_1_438 = .text:0x00000438; // type:function size:0x3E4 -fn_1_81C = .text:0x0000081C; // type:function size:0xB8 -fn_1_8D4 = .text:0x000008D4; // type:function size:0x3C -fn_1_910 = .text:0x00000910; // type:function size:0x124 -fn_1_A34 = .text:0x00000A34; // type:function size:0x3C -fn_1_A70 = .text:0x00000A70; // type:function size:0x44 -fn_1_AB4 = .text:0x00000AB4; // type:function size:0x1D0 -fn_1_C84 = .text:0x00000C84; // type:function size:0x1C4 -fn_1_E48 = .text:0x00000E48; // type:function size:0x200 -fn_1_1048 = .text:0x00001048; // type:function size:0x238 -fn_1_1280 = .text:0x00001280; // type:function size:0x39C -fn_1_161C = .text:0x0000161C; // type:function size:0x200 -fn_1_181C = .text:0x0000181C; // type:function size:0x238 -fn_1_1A54 = .text:0x00001A54; // type:function size:0x39C -fn_1_1DF0 = .text:0x00001DF0; // type:function size:0x200 -fn_1_1FF0 = .text:0x00001FF0; // type:function size:0x238 -fn_1_2228 = .text:0x00002228; // type:function size:0x39C -fn_1_25C4 = .text:0x000025C4; // type:function size:0x178 -fn_1_273C = .text:0x0000273C; // type:function size:0x1A0 -fn_1_28DC = .text:0x000028DC; // type:function size:0x4 -fn_1_28E0 = .text:0x000028E0; // type:function size:0x764 -fn_1_3044 = .text:0x00003044; // type:function size:0x294 -fn_1_32D8 = .text:0x000032D8; // type:function size:0xAC -fn_1_3384 = .text:0x00003384; // type:function size:0x74 -fn_1_33F8 = .text:0x000033F8; // type:function size:0x110 -fn_1_3508 = .text:0x00003508; // type:function size:0x19C -fn_1_36A4 = .text:0x000036A4; // type:function size:0xB4 -fn_1_3758 = .text:0x00003758; // type:function size:0x224 -fn_1_397C = .text:0x0000397C; // type:function size:0x78 -fn_1_39F4 = .text:0x000039F4; // type:function size:0x104 -fn_1_3AF8 = .text:0x00003AF8; // type:function size:0x51C -fn_1_4014 = .text:0x00004014; // type:function size:0x98 -fn_1_40AC = .text:0x000040AC; // type:function size:0x98 -fn_1_4144 = .text:0x00004144; // type:function size:0x40 -fn_1_4184 = .text:0x00004184; // type:function size:0x2C8 -fn_1_444C = .text:0x0000444C; // type:function size:0xC8 -fn_1_4514 = .text:0x00004514; // type:function size:0x21C -fn_1_4730 = .text:0x00004730; // type:function size:0x40 -fn_1_4770 = .text:0x00004770; // type:function size:0x2E8 -fn_1_4A58 = .text:0x00004A58; // type:function size:0xE4 -fn_1_4B3C = .text:0x00004B3C; // type:function size:0x3C -fn_1_4B78 = .text:0x00004B78; // type:function size:0xF4 -fn_1_4C6C = .text:0x00004C6C; // type:function size:0x18C -fn_1_4DF8 = .text:0x00004DF8; // type:function size:0x18C -fn_1_4F84 = .text:0x00004F84; // type:function size:0x2B4 -fn_1_5238 = .text:0x00005238; // type:function size:0x2F8 -fn_1_5530 = .text:0x00005530; // type:function size:0x188 -fn_1_56B8 = .text:0x000056B8; // type:function size:0x128 -fn_1_57E0 = .text:0x000057E0; // type:function size:0x3C -fn_1_581C = .text:0x0000581C; // type:function size:0x140 -fn_1_595C = .text:0x0000595C; // type:function size:0x19C -fn_1_5AF8 = .text:0x00005AF8; // type:function size:0x124 -fn_1_5C1C = .text:0x00005C1C; // type:function size:0x124 -fn_1_5D40 = .text:0x00005D40; // type:function size:0x1E88 -fn_1_7BC8 = .text:0x00007BC8; // type:function size:0x1B8 -fn_1_7D80 = .text:0x00007D80; // type:function size:0x244 -fn_1_7FC4 = .text:0x00007FC4; // type:function size:0x1A8 -fn_1_816C = .text:0x0000816C; // type:function size:0x1B4 -fn_1_8320 = .text:0x00008320; // type:function size:0x2A4 -fn_1_85C4 = .text:0x000085C4; // type:function size:0x194 -fn_1_8758 = .text:0x00008758; // type:function size:0x194 -fn_1_88EC = .text:0x000088EC; // type:function size:0xD8 -fn_1_89C4 = .text:0x000089C4; // type:function size:0x118 -fn_1_8ADC = .text:0x00008ADC; // type:function size:0x540 -fn_1_901C = .text:0x0000901C; // type:function size:0x414 -fn_1_9430 = .text:0x00009430; // type:function size:0x284 -fn_1_96B4 = .text:0x000096B4; // type:function size:0x8C -fn_1_9740 = .text:0x00009740; // type:function size:0x150 -fn_1_9890 = .text:0x00009890; // type:function size:0x78 -fn_1_9908 = .text:0x00009908; // type:function size:0x80 -fn_1_9988 = .text:0x00009988; // type:function size:0x33C -fn_1_9CC4 = .text:0x00009CC4; // type:function size:0x98 -fn_1_9D5C = .text:0x00009D5C; // type:function size:0x1A4 -fn_1_9F00 = .text:0x00009F00; // type:function size:0x1D4 -fn_1_A0D4 = .text:0x0000A0D4; // type:function size:0x1C8 -fn_1_A29C = .text:0x0000A29C; // type:function size:0xF8 -fn_1_A394 = .text:0x0000A394; // type:function size:0x264 -fn_1_A5F8 = .text:0x0000A5F8; // type:function size:0x72C -fn_1_AD24 = .text:0x0000AD24; // type:function size:0x2D0 -fn_1_AFF4 = .text:0x0000AFF4; // type:function size:0x20C -fn_1_B200 = .text:0x0000B200; // type:function size:0x38 -fn_1_B238 = .text:0x0000B238; // type:function size:0x9C -fn_1_B2D4 = .text:0x0000B2D4; // type:function size:0x510 -fn_1_B7E4 = .text:0x0000B7E4; // type:function size:0x7C -fn_1_B860 = .text:0x0000B860; // type:function size:0x138 -fn_1_B998 = .text:0x0000B998; // type:function size:0x18C -fn_1_BB24 = .text:0x0000BB24; // type:function size:0xE4 -fn_1_BC08 = .text:0x0000BC08; // type:function size:0xC0 -fn_1_BCC8 = .text:0x0000BCC8; // type:function size:0x38 -fn_1_BD00 = .text:0x0000BD00; // type:function size:0x68 -fn_1_BD68 = .text:0x0000BD68; // type:function size:0x2F4 -fn_1_C05C = .text:0x0000C05C; // type:function size:0x70 -fn_1_C0CC = .text:0x0000C0CC; // type:function size:0x3F8 -fn_1_C4C4 = .text:0x0000C4C4; // type:function size:0x70 -fn_1_C534 = .text:0x0000C534; // type:function size:0x31C -fn_1_C850 = .text:0x0000C850; // type:function size:0x38 -fn_1_C888 = .text:0x0000C888; // type:function size:0x200 -fn_1_CA88 = .text:0x0000CA88; // type:function size:0x420 -fn_1_CEA8 = .text:0x0000CEA8; // type:function size:0x49C -fn_1_D344 = .text:0x0000D344; // type:function size:0xBC -fn_1_D400 = .text:0x0000D400; // type:function size:0x244 -fn_1_D644 = .text:0x0000D644; // type:function size:0x524 -fn_1_DB68 = .text:0x0000DB68; // type:function size:0x5A4 -fn_1_E10C = .text:0x0000E10C; // type:function size:0x210 -fn_1_E31C = .text:0x0000E31C; // type:function size:0x1E4 -fn_1_E500 = .text:0x0000E500; // type:function size:0x5A4 -fn_1_EAA4 = .text:0x0000EAA4; // type:function size:0x25C -fn_1_ED00 = .text:0x0000ED00; // type:function size:0x348 -fn_1_F048 = .text:0x0000F048; // type:function size:0x34C -fn_1_F394 = .text:0x0000F394; // type:function size:0x70 -fn_1_F404 = .text:0x0000F404; // type:function size:0x2B4 -fn_1_F6B8 = .text:0x0000F6B8; // type:function size:0x174 -fn_1_F82C = .text:0x0000F82C; // type:function size:0x4FC -fn_1_FD28 = .text:0x0000FD28; // type:function size:0x3BC -fn_1_100E4 = .text:0x000100E4; // type:function size:0xCC -fn_1_101B0 = .text:0x000101B0; // type:function size:0x40 -fn_1_101F0 = .text:0x000101F0; // type:function size:0x1F4 -fn_1_103E4 = .text:0x000103E4; // type:function size:0x390 -fn_1_10774 = .text:0x00010774; // type:function size:0x70 -fn_1_107E4 = .text:0x000107E4; // type:function size:0x260 -fn_1_10A44 = .text:0x00010A44; // type:function size:0x174 -fn_1_10BB8 = .text:0x00010BB8; // type:function size:0x4C8 -fn_1_11080 = .text:0x00011080; // type:function size:0x3DC -fn_1_1145C = .text:0x0001145C; // type:function size:0xCC -fn_1_11528 = .text:0x00011528; // type:function size:0x40 -fn_1_11568 = .text:0x00011568; // type:function size:0x1F4 -fn_1_1175C = .text:0x0001175C; // type:function size:0x15C -fn_1_118B8 = .text:0x000118B8; // type:function size:0x54 -fn_1_1190C = .text:0x0001190C; // type:function size:0x5C -fn_1_11968 = .text:0x00011968; // type:function size:0x5C -fn_1_119C4 = .text:0x000119C4; // type:function size:0x3EC -fn_1_11DB0 = .text:0x00011DB0; // type:function size:0x198 -fn_1_11F48 = .text:0x00011F48; // type:function size:0x228 -fn_1_12170 = .text:0x00012170; // type:function size:0x3E4 -fn_1_12554 = .text:0x00012554; // type:function size:0x70 -fn_1_125C4 = .text:0x000125C4; // type:function size:0xA0 -fn_1_12664 = .text:0x00012664; // type:function size:0x224 -fn_1_12888 = .text:0x00012888; // type:function size:0x2DC -fn_1_12B64 = .text:0x00012B64; // type:function size:0x2C -fn_1_12B90 = .text:0x00012B90; // type:function size:0x518 -fn_1_130A8 = .text:0x000130A8; // type:function size:0x2C -fn_1_130D4 = .text:0x000130D4; // type:function size:0x28 -fn_1_130FC = .text:0x000130FC; // type:function size:0x274 -fn_1_13370 = .text:0x00013370; // type:function size:0x2C -fn_1_1339C = .text:0x0001339C; // type:function size:0x2C -fn_1_133C8 = .text:0x000133C8; // type:function size:0x24 -fn_1_133EC = .text:0x000133EC; // type:function size:0x2BC -fn_1_136A8 = .text:0x000136A8; // type:function size:0x500 -fn_1_13BA8 = .text:0x00013BA8; // type:function size:0x480 -fn_1_14028 = .text:0x00014028; // type:function size:0x80C -fn_1_14834 = .text:0x00014834; // type:function size:0x28 -fn_1_1485C = .text:0x0001485C; // type:function size:0x28 -fn_1_14884 = .text:0x00014884; // type:function size:0x21C -fn_1_14AA0 = .text:0x00014AA0; // type:function size:0x194 -fn_1_14C34 = .text:0x00014C34; // type:function size:0x198 -fn_1_14DCC = .text:0x00014DCC; // type:function size:0x9C -fn_1_14E68 = .text:0x00014E68; // type:function size:0x2D8 -fn_1_15140 = .text:0x00015140; // type:function size:0x2DC -fn_1_1541C = .text:0x0001541C; // type:function size:0x1E0 -fn_1_155FC = .text:0x000155FC; // type:function size:0xF0 -fn_1_156EC = .text:0x000156EC; // type:function size:0x50 -fn_1_1573C = .text:0x0001573C; // type:function size:0x584 -fn_1_15CC0 = .text:0x00015CC0; // type:function size:0x5D8 -fn_1_16298 = .text:0x00016298; // type:function size:0x2E0 -fn_1_16578 = .text:0x00016578; // type:function size:0x274 -fn_1_167EC = .text:0x000167EC; // type:function size:0x7C -fn_1_16868 = .text:0x00016868; // type:function size:0x44C -fn_1_16CB4 = .text:0x00016CB4; // type:function size:0x434 -fn_1_170E8 = .text:0x000170E8; // type:function size:0x204 -fn_1_172EC = .text:0x000172EC; // type:function size:0x790 -fn_1_17A7C = .text:0x00017A7C; // type:function size:0xB0C -fn_1_18588 = .text:0x00018588; // type:function size:0x720 -fn_1_18CA8 = .text:0x00018CA8; // type:function size:0x9C -fn_1_18D44 = .text:0x00018D44; // type:function size:0xCCC -fn_1_19A10 = .text:0x00019A10; // type:function size:0x924 -fn_1_1A334 = .text:0x0001A334; // type:function size:0x1E8 -fn_1_1A51C = .text:0x0001A51C; // type:function size:0x958 -fn_1_1AE74 = .text:0x0001AE74; // type:function size:0x7C -fn_1_1AEF0 = .text:0x0001AEF0; // type:function size:0x164 -fn_1_1B054 = .text:0x0001B054; // type:function size:0x1B8 -fn_1_1B20C = .text:0x0001B20C; // type:function size:0xA4 -fn_1_1B2B0 = .text:0x0001B2B0; // type:function size:0xF4 -fn_1_1B3A4 = .text:0x0001B3A4; // type:function size:0x80 -fn_1_1B424 = .text:0x0001B424; // type:function size:0x80 -fn_1_1B4A4 = .text:0x0001B4A4; // type:function size:0x28 -fn_1_1B4CC = .text:0x0001B4CC; // type:function size:0x20 -fn_1_1B4EC = .text:0x0001B4EC; // type:function size:0xD8 -fn_1_1B5C4 = .text:0x0001B5C4; // type:function size:0xC8 -fn_1_1B68C = .text:0x0001B68C; // type:function size:0xBC -fn_1_1B748 = .text:0x0001B748; // type:function size:0x40 -fn_1_1B788 = .text:0x0001B788; // type:function size:0x24 -fn_1_1B7AC = .text:0x0001B7AC; // type:function size:0x1C0 -fn_1_1B96C = .text:0x0001B96C; // type:function size:0x84 -fn_1_1B9F0 = .text:0x0001B9F0; // type:function size:0xD4 -fn_1_1BAC4 = .text:0x0001BAC4; // type:function size:0x58 -fn_1_1BB1C = .text:0x0001BB1C; // type:function size:0x15C -fn_1_1BC78 = .text:0x0001BC78; // type:function size:0x21C -fn_1_1BE94 = .text:0x0001BE94; // type:function size:0x204 -fn_1_1C098 = .text:0x0001C098; // type:function size:0x54 -fn_1_1C0EC = .text:0x0001C0EC; // type:function size:0x304 -fn_1_1C3F0 = .text:0x0001C3F0; // type:function size:0x304 -fn_1_1C6F4 = .text:0x0001C6F4; // type:function size:0x340 -fn_1_1CA34 = .text:0x0001CA34; // type:function size:0xC4 -fn_1_1CB80 = .text:0x0001CAF8; // type:function size:0x3B0 -fn_1_1D02C = .text:0x0001CEA8; // type:function size:0x16C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0xC data:4byte -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0xC data:4byte -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0xC data:4byte -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x78 -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0xC data:4byte -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0xC data:4byte -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0xC data:4byte -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0xC data:4byte -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0xC data:4byte -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0xC data:4byte -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0xC data:4byte -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0xC data:4byte -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0xC data:4byte -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:4byte -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0xB4 -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x6C -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x2C data:4byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0xB0 -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 data:float -lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0xC data:4byte -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x18 data:4byte -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0xC data:4byte -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x8 data:float -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 data:float -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x8 data:double -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 data:float -lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 data:float -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 data:float -lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 data:float -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 data:float -lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 data:float -lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 data:float -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x4 data:float -lbl_1_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 data:float -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 data:float -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 data:float -lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 data:float -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 data:float -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 data:float -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 data:float -lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 data:float -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 data:float -lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 data:float -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 data:float -lbl_1_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x4 data:float -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x8 data:double -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x8 data:double -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x8 data:double -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 data:float -lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 data:float -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float -lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x38 data:4byte -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 data:double -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 data:float -lbl_1_rodata_61C = .rodata:0x0000061C; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x4F data:string -lbl_1_data_4F = .data:0x0000004F; // type:object size:0x50 data:string -lbl_1_data_9F = .data:0x0000009F; // type:object size:0x50 data:string -lbl_1_data_EF = .data:0x000000EF; // type:object size:0x4E data:string -lbl_1_data_13D = .data:0x0000013D; // type:object size:0x50 data:string -lbl_1_data_18D = .data:0x0000018D; // type:object size:0x4F data:string -lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x22 data:string -lbl_1_data_1FE = .data:0x000001FE; // type:object size:0x1A data:string -lbl_1_data_218 = .data:0x00000218; // type:object size:0x1A data:string -lbl_1_data_232 = .data:0x00000232; // type:object size:0xE scope:local data:string -lbl_1_data_240 = .data:0x00000240; // type:object size:0x54 data:float -lbl_1_data_294 = .data:0x00000294; // type:object size:0x4 data:4byte -lbl_1_data_298 = .data:0x00000298; // type:object size:0x4 data:4byte -lbl_1_data_29C = .data:0x0000029C; // type:object size:0x18 -lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x10 data:4byte -lbl_1_data_2C4 = .data:0x000002C4; // type:object size:0x4 data:4byte -lbl_1_data_2C8 = .data:0x000002C8; // type:object size:0x3 data:string -lbl_1_data_2CB = .data:0x000002CB; // type:object size:0x5 data:string -lbl_1_data_2D0 = .data:0x000002D0; // type:object size:0x19 data:string -lbl_1_data_2E9 = .data:0x000002E9; // type:object size:0x12 data:string -lbl_1_data_2FB = .data:0x000002FB; // type:object size:0x29 -lbl_1_data_324 = .data:0x00000324; // type:object size:0x4 data:4byte -lbl_1_data_328 = .data:0x00000328; // type:object size:0x4 data:4byte -lbl_1_data_32C = .data:0x0000032C; // type:object size:0xC data:4byte -lbl_1_data_338 = .data:0x00000338; // type:object size:0x2B data:string -lbl_1_data_363 = .data:0x00000363; // type:object size:0x28 data:string -lbl_1_data_38B = .data:0x0000038B; // type:object size:0x4 data:string -lbl_1_data_38F = .data:0x0000038F; // type:object size:0x5 -jumptable_1_data_394 = .data:0x00000394; // type:object size:0x2C scope:local -lbl_1_data_3C0 = .data:0x000003C0; // type:object size:0x3C data:string -lbl_1_data_3FC = .data:0x000003FC; // type:object size:0x16 data:string -lbl_1_data_412 = .data:0x00000412; // type:object size:0x1A data:string -lbl_1_data_42C = .data:0x0000042C; // type:object size:0x1A data:string -lbl_1_data_446 = .data:0x00000446; // type:object size:0x1A data:string -lbl_1_data_460 = .data:0x00000460; // type:object size:0x17 data:string -lbl_1_data_477 = .data:0x00000477; // type:object size:0x16 data:string -lbl_1_data_48D = .data:0x0000048D; // type:object size:0x16 data:string -lbl_1_data_4A3 = .data:0x000004A3; // type:object size:0x19 data:string -lbl_1_data_4BC = .data:0x000004BC; // type:object size:0x16 data:string -lbl_1_data_4D2 = .data:0x000004D2; // type:object size:0x3E -lbl_1_data_510 = .data:0x00000510; // type:object size:0x3C data:string -lbl_1_data_54C = .data:0x0000054C; // type:object size:0x19 data:string -lbl_1_data_565 = .data:0x00000565; // type:object size:0x1A data:string -lbl_1_data_57F = .data:0x0000057F; // type:object size:0x3D -lbl_1_data_5BC = .data:0x000005BC; // type:object size:0x20 data:4byte -lbl_1_data_5DC = .data:0x000005DC; // type:object size:0x40 data:4byte -lbl_1_data_61C = .data:0x0000061C; // type:object size:0x70 -lbl_1_data_68C = .data:0x0000068C; // type:object size:0x90 data:4byte -lbl_1_data_71C = .data:0x0000071C; // type:object size:0x20 -lbl_1_data_73C = .data:0x0000073C; // type:object size:0x8 data:4byte -lbl_1_data_744 = .data:0x00000744; // type:object size:0x10 -lbl_1_data_754 = .data:0x00000754; // type:object size:0x20 -lbl_1_data_774 = .data:0x00000774; // type:object size:0x4 data:4byte -lbl_1_data_778 = .data:0x00000778; // type:object size:0x8 data:4byte -fontDataTbl = .data:0x00000780; // type:object size:0x4C0 scope:local -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x64 data:4byte -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x44 data:float -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x4 data:4byte -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x4 data:4byte -lbl_1_bss_B4 = .bss:0x000000B4; // type:object size:0x4 data:4byte -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:float -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x4 data:4byte -lbl_1_bss_C0 = .bss:0x000000C0; // type:object size:0x4 data:4byte -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x4 data:4byte -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x18 -lbl_1_bss_E0 = .bss:0x000000E0; // type:object size:0x4 data:4byte -lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x8 -lbl_1_bss_EC = .bss:0x000000EC; // type:object size:0x8 -lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0x8 -lbl_1_bss_FC = .bss:0x000000FC; // type:object size:0x8 -lbl_1_bss_104 = .bss:0x00000104; // type:object size:0x4 data:4byte -lbl_1_bss_108 = .bss:0x00000108; // type:object size:0x4 data:4byte -lbl_1_bss_10C = .bss:0x0000010C; // type:object size:0x4 data:4byte -lbl_1_bss_110 = .bss:0x00000110; // type:object size:0x8 -lbl_1_bss_118 = .bss:0x00000118; // type:object size:0x8 -lbl_1_bss_120 = .bss:0x00000120; // type:object size:0x10 -lbl_1_bss_130 = .bss:0x00000130; // type:object size:0x50 -lbl_1_bss_180 = .bss:0x00000180; // type:object size:0x2C data:4byte -lbl_1_bss_1AC = .bss:0x000001AC; // type:object size:0x4 data:4byte -lbl_1_bss_1B0 = .bss:0x000001B0; // type:object size:0x4 data:4byte -lbl_1_bss_1B4 = .bss:0x000001B4; // type:object size:0x4 data:4byte -lbl_1_bss_1B8 = .bss:0x000001B8; // type:object size:0x120 data:4byte -lbl_1_bss_2D8 = .bss:0x000002D8; // type:object size:0xD8 data:4byte -lbl_1_bss_3B0 = .bss:0x000003B0; // type:object size:0x48 data:4byte -lbl_1_bss_3F8 = .bss:0x000003F8; // type:object size:0x48 data:4byte -lbl_1_bss_440 = .bss:0x00000440; // type:object size:0x4 data:4byte -lbl_1_bss_444 = .bss:0x00000444; // type:object size:0x4 data:4byte -lbl_1_bss_448 = .bss:0x00000448; // type:object size:0x14 data:4byte -lbl_1_bss_45C = .bss:0x0000045C; // type:object size:0x180 data:4byte -lbl_1_bss_5DC = .bss:0x000005DC; // type:object size:0x60 data:4byte -lbl_1_bss_63C = .bss:0x0000063C; // type:object size:0x70 data:4byte -lbl_1_bss_6AC = .bss:0x000006AC; // type:object size:0x1 data:byte diff --git a/config/GMPP01_00/rels/msetupDll/splits.txt b/config/GMPP01_00/rels/msetupDll/splits.txt deleted file mode 100644 index e787a0ee..00000000 --- a/config/GMPP01_00/rels/msetupDll/splits.txt +++ /dev/null @@ -1,3 +0,0 @@ -Sections: - .ctors type:rodata align:4 - .dtors type:rodata align:4 diff --git a/config/GMPP01_00/rels/msetupDll/symbols.txt b/config/GMPP01_00/rels/msetupDll/symbols.txt deleted file mode 100644 index 120e2d17..00000000 --- a/config/GMPP01_00/rels/msetupDll/symbols.txt +++ /dev/null @@ -1,2 +0,0 @@ -_ctors = .ctors:0x00000000; // type:label scope:global -_dtors = .dtors:0x00000000; // type:label scope:global diff --git a/config/GMPP01_00/rels/mstory2Dll/splits.txt b/config/GMPP01_00/rels/mstory2Dll/splits.txt deleted file mode 100644 index cb297417..00000000 --- a/config/GMPP01_00/rels/mstory2Dll/splits.txt +++ /dev/null @@ -1,54 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/mstory2Dll/main.c: - .text start:0x00000000 end:0x00007DB0 - .rodata start:0x00000000 end:0x00000118 - .data start:0x00000000 end:0x000003A0 - .bss start:0x00000000 end:0x00000078 - -REL/mstory2Dll/board_entrance.c: - .text start:0x00007DB0 end:0x0000B37C - .rodata start:0x00000118 end:0x000001A8 - .data start:0x000003A0 end:0x00000520 - .bss start:0x00000078 end:0x00000298 - -REL/mstory2Dll/board_clear.c: - .text start:0x0000B37C end:0x0000E570 - .rodata start:0x000001A8 end:0x00000248 - .data start:0x00000520 end:0x00000698 - .bss start:0x00000298 end:0x000004E0 - -REL/mstory2Dll/board_miss.c: - .text start:0x0000E570 end:0x000123C8 - .rodata start:0x00000248 end:0x00000310 - .data start:0x00000698 end:0x00000850 - .bss start:0x000004E0 end:0x00000790 - -REL/mstory2Dll/mg_clear.c: - .text start:0x000123C8 end:0x00016060 - .rodata start:0x00000310 end:0x000003D0 - .data start:0x00000850 end:0x00000DB8 - .bss start:0x00000790 end:0x00000968 - -REL/mstory2Dll/mg_miss.c: - .text start:0x00016060 end:0x000186D0 - .rodata start:0x000003D0 end:0x00000438 - .data start:0x00000DB8 end:0x00000EF8 - .bss start:0x00000968 end:0x00000B38 - -REL/mstory2Dll/ending.c: - .text start:0x000186D0 end:0x0001B5A4 - .rodata start:0x00000438 end:0x000004B8 - .data start:0x00000EF8 end:0x00001113 - .bss start:0x00000B38 end:0x00000D10 - -REL/mstory2Dll/save.c: - .text start:0x0001B5A4 end:0x0001B9A0 - .rodata start:0x000004B8 end:0x000004C8 - .bss start:0x00000D10 end:0x00000D18 diff --git a/config/GMPP01_00/rels/mstory2Dll/symbols.txt b/config/GMPP01_00/rels/mstory2Dll/symbols.txt deleted file mode 100644 index 331d554e..00000000 --- a/config/GMPP01_00/rels/mstory2Dll/symbols.txt +++ /dev/null @@ -1,709 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x4C -fn_1_4C = .text:0x0000004C; // type:function size:0x58 -fn_1_A4 = .text:0x000000A4; // type:function size:0x2A0 -_prolog = .text:0x00000344; // type:function size:0x54 scope:global -_epilog = .text:0x00000398; // type:function size:0x4C scope:global -fn_1_3E4 = .text:0x000003E4; // type:function size:0x110 -fn_1_4F4 = .text:0x000004F4; // type:function size:0x1B8 -ObjectSetup = .text:0x000006AC; // type:function size:0x1B8 -fn_1_864 = .text:0x00000864; // type:function size:0x28 -fn_1_88C = .text:0x0000088C; // type:function size:0x20 -fn_1_8AC = .text:0x000008AC; // type:function size:0xD8 -fn_1_984 = .text:0x00000984; // type:function size:0xC8 -fn_1_A4C = .text:0x00000A4C; // type:function size:0xBC -fn_1_B08 = .text:0x00000B08; // type:function size:0xBC -fn_1_BC4 = .text:0x00000BC4; // type:function size:0x4 -fn_1_BC8 = .text:0x00000BC8; // type:function size:0x20 -fn_1_BE8 = .text:0x00000BE8; // type:function size:0x28 -fn_1_C10 = .text:0x00000C10; // type:function size:0x20 -fn_1_C30 = .text:0x00000C30; // type:function size:0x24 -fn_1_C54 = .text:0x00000C54; // type:function size:0x4 -fn_1_C58 = .text:0x00000C58; // type:function size:0xA48 -fn_1_16A0 = .text:0x000016A0; // type:function size:0x1BC -fn_1_185C = .text:0x0000185C; // type:function size:0x1D8 -fn_1_1A34 = .text:0x00001A34; // type:function size:0x60 -fn_1_1A94 = .text:0x00001A94; // type:function size:0x68 -fn_1_1AFC = .text:0x00001AFC; // type:function size:0xAC -fn_1_1BA8 = .text:0x00001BA8; // type:function size:0xBC -fn_1_1C64 = .text:0x00001C64; // type:function size:0xB4 -fn_1_1D18 = .text:0x00001D18; // type:function size:0x34 -fn_1_1D4C = .text:0x00001D4C; // type:function size:0x40 -fn_1_1D8C = .text:0x00001D8C; // type:function size:0x70 -fn_1_1DFC = .text:0x00001DFC; // type:function size:0x188 -fn_1_1F84 = .text:0x00001F84; // type:function size:0x2E0 -fn_1_2264 = .text:0x00002264; // type:function size:0x90 -fn_1_22F4 = .text:0x000022F4; // type:function size:0x48 -fn_1_233C = .text:0x0000233C; // type:function size:0x54 -fn_1_2390 = .text:0x00002390; // type:function size:0x3C0 -fn_1_2750 = .text:0x00002750; // type:function size:0x10 -fn_1_2760 = .text:0x00002760; // type:function size:0x10 -fn_1_2770 = .text:0x00002770; // type:function size:0xB8 -fn_1_2828 = .text:0x00002828; // type:function size:0x120 -fn_1_2948 = .text:0x00002948; // type:function size:0x3B8 -fn_1_2D00 = .text:0x00002D00; // type:function size:0x7F4 -fn_1_34F4 = .text:0x000034F4; // type:function size:0x88 -fn_1_357C = .text:0x0000357C; // type:function size:0x94 -fn_1_3610 = .text:0x00003610; // type:function size:0x58 -fn_1_3668 = .text:0x00003668; // type:function size:0xEC -fn_1_3754 = .text:0x00003754; // type:function size:0xC4 -fn_1_3818 = .text:0x00003818; // type:function size:0x3C -fn_1_3854 = .text:0x00003854; // type:function size:0x44 -fn_1_3898 = .text:0x00003898; // type:function size:0x26C -fn_1_3B04 = .text:0x00003B04; // type:function size:0x26C -fn_1_3D70 = .text:0x00003D70; // type:function size:0x27C -fn_1_3FEC = .text:0x00003FEC; // type:function size:0x2B4 -fn_1_42A0 = .text:0x000042A0; // type:function size:0x46C -fn_1_470C = .text:0x0000470C; // type:function size:0x454 -fn_1_4B60 = .text:0x00004B60; // type:function size:0x48C -fn_1_4FEC = .text:0x00004FEC; // type:function size:0x658 -fn_1_5644 = .text:0x00005644; // type:function size:0x4C4 -fn_1_5B08 = .text:0x00005B08; // type:function size:0x4FC -fn_1_6004 = .text:0x00006004; // type:function size:0x6C8 -fn_1_66CC = .text:0x000066CC; // type:function size:0x38 -fn_1_6704 = .text:0x00006704; // type:function size:0xD4 -fn_1_67D8 = .text:0x000067D8; // type:function size:0x198 -fn_1_6970 = .text:0x00006970; // type:function size:0x34 -fn_1_69A4 = .text:0x000069A4; // type:function size:0x40 -fn_1_69E4 = .text:0x000069E4; // type:function size:0xAC -fn_1_6A90 = .text:0x00006A90; // type:function size:0x2E8 -fn_1_6D78 = .text:0x00006D78; // type:function size:0x44 -fn_1_6DBC = .text:0x00006DBC; // type:function size:0x1F4 -fn_1_6FB0 = .text:0x00006FB0; // type:function size:0xB4 -fn_1_7064 = .text:0x00007064; // type:function size:0x178 -fn_1_71DC = .text:0x000071DC; // type:function size:0x68 -fn_1_7244 = .text:0x00007244; // type:function size:0x140 -fn_1_7384 = .text:0x00007384; // type:function size:0xA2C -fn_1_7DB0 = .text:0x00007DB0; // type:function size:0x1A4 -fn_1_7F54 = .text:0x00007F54; // type:function size:0x118 -fn_1_806C = .text:0x0000806C; // type:function size:0x8C -fn_1_80F8 = .text:0x000080F8; // type:function size:0x488 -fn_1_8580 = .text:0x00008580; // type:function size:0x5C -fn_1_85DC = .text:0x000085DC; // type:function size:0x1F8 -fn_1_87D4 = .text:0x000087D4; // type:function size:0x2E8 -fn_1_8ABC = .text:0x00008ABC; // type:function size:0x578 -fn_1_9034 = .text:0x00009034; // type:function size:0x164 -fn_1_9198 = .text:0x00009198; // type:function size:0x124 -fn_1_92BC = .text:0x000092BC; // type:function size:0x4AC -fn_1_9768 = .text:0x00009768; // type:function size:0xB4 -fn_1_981C = .text:0x0000981C; // type:function size:0x138 -fn_1_9954 = .text:0x00009954; // type:function size:0xBC -fn_1_9A10 = .text:0x00009A10; // type:function size:0x1C4 -fn_1_9BD4 = .text:0x00009BD4; // type:function size:0xE4 -fn_1_9CB8 = .text:0x00009CB8; // type:function size:0x214 -fn_1_9ECC = .text:0x00009ECC; // type:function size:0x110 -fn_1_9FDC = .text:0x00009FDC; // type:function size:0x2AC -fn_1_A288 = .text:0x0000A288; // type:function size:0x220 -fn_1_A4A8 = .text:0x0000A4A8; // type:function size:0xE4 -fn_1_A58C = .text:0x0000A58C; // type:function size:0x2BC -fn_1_A848 = .text:0x0000A848; // type:function size:0x2C8 -fn_1_AB10 = .text:0x0000AB10; // type:function size:0x2A0 -fn_1_ADB0 = .text:0x0000ADB0; // type:function size:0xAC -fn_1_AE5C = .text:0x0000AE5C; // type:function size:0x364 -fn_1_B1C0 = .text:0x0000B1C0; // type:function size:0x8C -fn_1_B24C = .text:0x0000B24C; // type:function size:0x130 -fn_1_B37C = .text:0x0000B37C; // type:function size:0x68 -fn_1_B3E4 = .text:0x0000B3E4; // type:function size:0x134 -fn_1_B518 = .text:0x0000B518; // type:function size:0x8C -fn_1_B5A4 = .text:0x0000B5A4; // type:function size:0x3E0 -fn_1_B984 = .text:0x0000B984; // type:function size:0x5C -fn_1_B9E0 = .text:0x0000B9E0; // type:function size:0xB0 -fn_1_BA90 = .text:0x0000BA90; // type:function size:0x360 -fn_1_BDF0 = .text:0x0000BDF0; // type:function size:0x158 -fn_1_BF48 = .text:0x0000BF48; // type:function size:0x328 -fn_1_C270 = .text:0x0000C270; // type:function size:0x250 -fn_1_C4C0 = .text:0x0000C4C0; // type:function size:0xB4 -fn_1_C574 = .text:0x0000C574; // type:function size:0x228 -fn_1_C79C = .text:0x0000C79C; // type:function size:0xBC -fn_1_C858 = .text:0x0000C858; // type:function size:0x2B4 -fn_1_CB0C = .text:0x0000CB0C; // type:function size:0x1C0 -fn_1_CCCC = .text:0x0000CCCC; // type:function size:0xAC -fn_1_CD78 = .text:0x0000CD78; // type:function size:0x2B8 -fn_1_D030 = .text:0x0000D030; // type:function size:0x1F4 -fn_1_D224 = .text:0x0000D224; // type:function size:0xAC -fn_1_D2D0 = .text:0x0000D2D0; // type:function size:0xC4 -fn_1_D394 = .text:0x0000D394; // type:function size:0xE4 -fn_1_D478 = .text:0x0000D478; // type:function size:0x2EC -fn_1_D764 = .text:0x0000D764; // type:function size:0x134 -fn_1_D898 = .text:0x0000D898; // type:function size:0x2C0 -fn_1_DB58 = .text:0x0000DB58; // type:function size:0xFC -fn_1_DC54 = .text:0x0000DC54; // type:function size:0x170 -fn_1_DDC4 = .text:0x0000DDC4; // type:function size:0x3F4 -fn_1_E1B8 = .text:0x0000E1B8; // type:function size:0x8C -fn_1_E244 = .text:0x0000E244; // type:function size:0xF0 -fn_1_E334 = .text:0x0000E334; // type:function size:0x23C -fn_1_E570 = .text:0x0000E570; // type:function size:0xC8 -fn_1_E638 = .text:0x0000E638; // type:function size:0x2B4 -fn_1_E8EC = .text:0x0000E8EC; // type:function size:0x140 -fn_1_EA2C = .text:0x0000EA2C; // type:function size:0x134 -fn_1_EB60 = .text:0x0000EB60; // type:function size:0x8C -fn_1_EBEC = .text:0x0000EBEC; // type:function size:0x3E0 -fn_1_EFCC = .text:0x0000EFCC; // type:function size:0x5C -fn_1_F028 = .text:0x0000F028; // type:function size:0x128 -fn_1_F150 = .text:0x0000F150; // type:function size:0xDC -fn_1_F22C = .text:0x0000F22C; // type:function size:0xD0 -fn_1_F2FC = .text:0x0000F2FC; // type:function size:0xD4 -fn_1_F3D0 = .text:0x0000F3D0; // type:function size:0x468 -fn_1_F838 = .text:0x0000F838; // type:function size:0x4 -fn_1_F83C = .text:0x0000F83C; // type:function size:0x78 -fn_1_F8B4 = .text:0x0000F8B4; // type:function size:0x548 -fn_1_FDFC = .text:0x0000FDFC; // type:function size:0xB4 -fn_1_FEB0 = .text:0x0000FEB0; // type:function size:0x228 -fn_1_100D8 = .text:0x000100D8; // type:function size:0xBC -fn_1_10194 = .text:0x00010194; // type:function size:0x2B4 -fn_1_10448 = .text:0x00010448; // type:function size:0x1BC -fn_1_10604 = .text:0x00010604; // type:function size:0xAC -fn_1_106B0 = .text:0x000106B0; // type:function size:0x29C -fn_1_1094C = .text:0x0001094C; // type:function size:0x2B4 -fn_1_10C00 = .text:0x00010C00; // type:function size:0x1F4 -fn_1_10DF4 = .text:0x00010DF4; // type:function size:0xAC -fn_1_10EA0 = .text:0x00010EA0; // type:function size:0xE4 -fn_1_10F84 = .text:0x00010F84; // type:function size:0xC4 -fn_1_11048 = .text:0x00011048; // type:function size:0xE4 -fn_1_1112C = .text:0x0001112C; // type:function size:0x2EC -fn_1_11418 = .text:0x00011418; // type:function size:0x134 -fn_1_1154C = .text:0x0001154C; // type:function size:0x2EC -fn_1_11838 = .text:0x00011838; // type:function size:0xFC -fn_1_11934 = .text:0x00011934; // type:function size:0x164 -fn_1_11A98 = .text:0x00011A98; // type:function size:0x118 -fn_1_11BB0 = .text:0x00011BB0; // type:function size:0x420 -fn_1_11FD0 = .text:0x00011FD0; // type:function size:0x8C -fn_1_1205C = .text:0x0001205C; // type:function size:0x130 -fn_1_1218C = .text:0x0001218C; // type:function size:0x23C -fn_1_123C8 = .text:0x000123C8; // type:function size:0x1A4 -fn_1_1256C = .text:0x0001256C; // type:function size:0x124 -fn_1_12690 = .text:0x00012690; // type:function size:0x8C -fn_1_1271C = .text:0x0001271C; // type:function size:0x3AC -fn_1_12AC8 = .text:0x00012AC8; // type:function size:0x48 -fn_1_12B10 = .text:0x00012B10; // type:function size:0x2C4 -fn_1_12DD4 = .text:0x00012DD4; // type:function size:0x37C -fn_1_13150 = .text:0x00013150; // type:function size:0x70 -fn_1_131C0 = .text:0x000131C0; // type:function size:0xA4 -fn_1_13264 = .text:0x00013264; // type:function size:0x5C4 -fn_1_13828 = .text:0x00013828; // type:function size:0xA4 -fn_1_138CC = .text:0x000138CC; // type:function size:0x14C -fn_1_13A18 = .text:0x00013A18; // type:function size:0x1A0 -fn_1_13BB8 = .text:0x00013BB8; // type:function size:0xB4 -fn_1_13C6C = .text:0x00013C6C; // type:function size:0x348 -fn_1_13FB4 = .text:0x00013FB4; // type:function size:0xEC -fn_1_140A0 = .text:0x000140A0; // type:function size:0xCC -fn_1_1416C = .text:0x0001416C; // type:function size:0x330 -fn_1_1449C = .text:0x0001449C; // type:function size:0x3CC -fn_1_14868 = .text:0x00014868; // type:function size:0x234 -fn_1_14A9C = .text:0x00014A9C; // type:function size:0xAC -fn_1_14B48 = .text:0x00014B48; // type:function size:0xF8 -fn_1_14C40 = .text:0x00014C40; // type:function size:0x32C -fn_1_14F6C = .text:0x00014F6C; // type:function size:0x1C8 -fn_1_15134 = .text:0x00015134; // type:function size:0xAC -fn_1_151E0 = .text:0x000151E0; // type:function size:0xE4 -fn_1_152C4 = .text:0x000152C4; // type:function size:0xE4 -fn_1_153A8 = .text:0x000153A8; // type:function size:0x2C0 -fn_1_15668 = .text:0x00015668; // type:function size:0xE4 -fn_1_1574C = .text:0x0001574C; // type:function size:0x1F8 -fn_1_15944 = .text:0x00015944; // type:function size:0xAC -fn_1_159F0 = .text:0x000159F0; // type:function size:0x2EC -fn_1_15CDC = .text:0x00015CDC; // type:function size:0x8C -fn_1_15D68 = .text:0x00015D68; // type:function size:0xF0 -fn_1_15E58 = .text:0x00015E58; // type:function size:0x118 -fn_1_15F70 = .text:0x00015F70; // type:function size:0xF0 -fn_1_16060 = .text:0x00016060; // type:function size:0x118 -fn_1_16178 = .text:0x00016178; // type:function size:0x8C -fn_1_16204 = .text:0x00016204; // type:function size:0x3AC -fn_1_165B0 = .text:0x000165B0; // type:function size:0x5C -fn_1_1660C = .text:0x0001660C; // type:function size:0x110 -fn_1_1671C = .text:0x0001671C; // type:function size:0x194 -fn_1_168B0 = .text:0x000168B0; // type:function size:0xD4 -fn_1_16984 = .text:0x00016984; // type:function size:0x50 -fn_1_169D4 = .text:0x000169D4; // type:function size:0x4 -fn_1_169D8 = .text:0x000169D8; // type:function size:0xF4 -fn_1_16ACC = .text:0x00016ACC; // type:function size:0x4F4 -fn_1_16FC0 = .text:0x00016FC0; // type:function size:0xB4 -fn_1_17074 = .text:0x00017074; // type:function size:0x208 -fn_1_1727C = .text:0x0001727C; // type:function size:0xBC -fn_1_17338 = .text:0x00017338; // type:function size:0x294 -fn_1_175CC = .text:0x000175CC; // type:function size:0x180 -fn_1_1774C = .text:0x0001774C; // type:function size:0xAC -fn_1_177F8 = .text:0x000177F8; // type:function size:0x278 -fn_1_17A70 = .text:0x00017A70; // type:function size:0x128 -fn_1_17B98 = .text:0x00017B98; // type:function size:0xAC -fn_1_17C44 = .text:0x00017C44; // type:function size:0x220 -fn_1_17E64 = .text:0x00017E64; // type:function size:0xE4 -fn_1_17F48 = .text:0x00017F48; // type:function size:0x190 -fn_1_180D8 = .text:0x000180D8; // type:function size:0xAC -fn_1_18184 = .text:0x00018184; // type:function size:0x284 -fn_1_18408 = .text:0x00018408; // type:function size:0x8C -fn_1_18494 = .text:0x00018494; // type:function size:0x23C -fn_1_186D0 = .text:0x000186D0; // type:function size:0x220 -fn_1_188F0 = .text:0x000188F0; // type:function size:0x144 -fn_1_18A34 = .text:0x00018A34; // type:function size:0x8C -fn_1_18AC0 = .text:0x00018AC0; // type:function size:0x3BC -fn_1_18E7C = .text:0x00018E7C; // type:function size:0x48 -fn_1_18EC4 = .text:0x00018EC4; // type:function size:0x274 -fn_1_19138 = .text:0x00019138; // type:function size:0x1FC -fn_1_19334 = .text:0x00019334; // type:function size:0x6B0 -fn_1_199A0 = .text:0x000199E4; // type:function size:0x248 -fn_1_19BE8 = .text:0x00019C2C; // type:function size:0x84 -fn_1_19C6C = .text:0x00019CB0; // type:function size:0x2A8 -fn_1_19F14 = .text:0x00019F58; // type:function size:0xB4 -fn_1_19FC8 = .text:0x0001A00C; // type:function size:0x198 -fn_1_1A160 = .text:0x0001A1A4; // type:function size:0x208 -fn_1_1A368 = .text:0x0001A3AC; // type:function size:0x1D0 -fn_1_1A538 = .text:0x0001A57C; // type:function size:0x40 -fn_1_1A578 = .text:0x0001A5BC; // type:function size:0x254 -fn_1_1A7CC = .text:0x0001A810; // type:function size:0x204 -fn_1_1A9D0 = .text:0x0001AA14; // type:function size:0xE4 -fn_1_1AAB4 = .text:0x0001AAF8; // type:function size:0x288 -fn_1_1AD3C = .text:0x0001AD80; // type:function size:0xE4 -fn_1_1AE20 = .text:0x0001AE64; // type:function size:0x1B4 -fn_1_1AFD4 = .text:0x0001B018; // type:function size:0x110 -fn_1_1B0E4 = .text:0x0001B128; // type:function size:0x234 -fn_1_1B318 = .text:0x0001B35C; // type:function size:0x8C -fn_1_1B3A4 = .text:0x0001B3E8; // type:function size:0x8C -fn_1_1B430 = .text:0x0001B474; // type:function size:0x130 -fn_1_1B560 = .text:0x0001B5A4; // type:function size:0xEC -fn_1_1B64C = .text:0x0001B690; // type:function size:0x224 -fn_1_1B870 = .text:0x0001B8B4; // type:function size:0x9C -fn_1_1B90C = .text:0x0001B950; // type:function size:0x50 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 scope:local data:double -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 scope:local data:double -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 scope:local data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 scope:local data:float -lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 scope:local data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 data:4byte -lbl_1_data_70 = .data:0x00000070; // type:object size:0x29 scope:local data:string -lbl_1_data_99 = .data:0x00000099; // type:object size:0x26 scope:local data:string -lbl_1_data_BF = .data:0x000000BF; // type:object size:0x25 scope:local data:string -lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x29 scope:local data:string -lbl_1_data_10D = .data:0x0000010D; // type:object size:0x28 scope:local data:string -lbl_1_data_135 = .data:0x00000135; // type:object size:0xF scope:local -lbl_1_data_144 = .data:0x00000144; // type:object size:0x18 -lbl_1_data_15C = .data:0x0000015C; // type:object size:0x28 scope:local data:string -lbl_1_data_184 = .data:0x00000184; // type:object size:0x3 scope:local data:string -lbl_1_data_187 = .data:0x00000187; // type:object size:0x15 scope:local data:string -jumptable_1_data_19C = .data:0x0000019C; // type:object size:0x54 scope:local -jumptable_1_data_1F0 = .data:0x000001F0; // type:object size:0x54 scope:local -lbl_1_data_244 = .data:0x00000244; // type:object size:0x1A scope:local data:string -lbl_1_data_25E = .data:0x0000025E; // type:object size:0x1A scope:local data:string -lbl_1_data_278 = .data:0x00000278; // type:object size:0xE scope:local data:string -lbl_1_data_286 = .data:0x00000286; // type:object size:0x10 scope:local data:string -lbl_1_data_296 = .data:0x00000296; // type:object size:0x10 scope:local data:string -lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x10 scope:local data:string -lbl_1_data_2B6 = .data:0x000002B6; // type:object size:0x10 scope:local data:string -lbl_1_data_2C6 = .data:0x000002C6; // type:object size:0x10 scope:local data:string -lbl_1_data_2D6 = .data:0x000002D6; // type:object size:0x10 scope:local data:string -lbl_1_data_2E6 = .data:0x000002E6; // type:object size:0x10 scope:local data:string -lbl_1_data_2F6 = .data:0x000002F6; // type:object size:0x12 scope:local -lbl_1_data_308 = .data:0x00000308; // type:object size:0x20 -lbl_1_data_328 = .data:0x00000328; // type:object size:0x60 -lbl_1_data_388 = .data:0x00000388; // type:object size:0x11 scope:local data:string -lbl_1_data_399 = .data:0x00000399; // type:object size:0x2 scope:local data:string -lbl_1_data_3CC = .data:0x000003CC; // type:object size:0x10 -lbl_1_data_3DC = .data:0x000003DC; // type:object size:0x4 data:4byte -lbl_1_data_3E0 = .data:0x000003E0; // type:object size:0x8 data:4byte -lbl_1_data_3E8 = .data:0x000003E8; // type:object size:0x14 scope:local data:string -lbl_1_data_3FC = .data:0x000003FC; // type:object size:0x15 scope:local data:string -lbl_1_data_411 = .data:0x00000411; // type:object size:0x14 scope:local data:string -lbl_1_data_425 = .data:0x00000425; // type:object size:0x15 scope:local data:string -lbl_1_data_43A = .data:0x0000043A; // type:object size:0x14 scope:local data:string -lbl_1_data_44E = .data:0x0000044E; // type:object size:0x15 scope:local data:string -lbl_1_data_463 = .data:0x00000463; // type:object size:0x14 scope:local data:string -lbl_1_data_477 = .data:0x00000477; // type:object size:0x15 scope:local data:string -lbl_1_data_48C = .data:0x0000048C; // type:object size:0x14 scope:local data:string -lbl_1_data_4A0 = .data:0x000004A0; // type:object size:0x15 scope:local data:string -lbl_1_data_4B5 = .data:0x000004B5; // type:object size:0x14 scope:local data:string -lbl_1_data_4C9 = .data:0x000004C9; // type:object size:0xA scope:local data:string -lbl_1_data_4D3 = .data:0x000004D3; // type:object size:0x1C scope:local data:string -lbl_1_data_4EF = .data:0x000004EF; // type:object size:0x1D scope:local data:string -lbl_1_data_50C = .data:0x0000050C; // type:object size:0x14 scope:local -lbl_1_data_520 = .data:0x00000520; // type:object size:0x16 scope:local data:string -lbl_1_data_536 = .data:0x00000536; // type:object size:0x15 scope:local data:string -lbl_1_data_54B = .data:0x0000054B; // type:object size:0x16 scope:local data:string -lbl_1_data_561 = .data:0x00000561; // type:object size:0x15 scope:local data:string -lbl_1_data_576 = .data:0x00000576; // type:object size:0x16 scope:local data:string -lbl_1_data_58C = .data:0x0000058C; // type:object size:0x15 scope:local data:string -lbl_1_data_5A1 = .data:0x000005A1; // type:object size:0x16 scope:local data:string -lbl_1_data_5B7 = .data:0x000005B7; // type:object size:0x15 scope:local data:string -lbl_1_data_5CC = .data:0x000005CC; // type:object size:0x17 scope:local data:string -lbl_1_data_5E3 = .data:0x000005E3; // type:object size:0x16 scope:local data:string -lbl_1_data_5F9 = .data:0x000005F9; // type:object size:0xA scope:local data:string -lbl_1_data_603 = .data:0x00000603; // type:object size:0x1C scope:local data:string -lbl_1_data_61F = .data:0x0000061F; // type:object size:0x1D scope:local data:string -lbl_1_data_63C = .data:0x0000063C; // type:object size:0x10 scope:local data:string -lbl_1_data_64C = .data:0x0000064C; // type:object size:0x1C scope:local data:string -lbl_1_data_668 = .data:0x00000668; // type:object size:0x30 -lbl_1_data_698 = .data:0x00000698; // type:object size:0x3C -lbl_1_data_6D4 = .data:0x000006D4; // type:object size:0x16 scope:local data:string -lbl_1_data_6EA = .data:0x000006EA; // type:object size:0x15 scope:local data:string -lbl_1_data_6FF = .data:0x000006FF; // type:object size:0x16 scope:local data:string -lbl_1_data_715 = .data:0x00000715; // type:object size:0x15 scope:local data:string -lbl_1_data_72A = .data:0x0000072A; // type:object size:0x16 scope:local data:string -lbl_1_data_740 = .data:0x00000740; // type:object size:0x15 scope:local data:string -lbl_1_data_755 = .data:0x00000755; // type:object size:0x16 scope:local data:string -lbl_1_data_76B = .data:0x0000076B; // type:object size:0x15 scope:local data:string -lbl_1_data_780 = .data:0x00000780; // type:object size:0x17 scope:local data:string -lbl_1_data_797 = .data:0x00000797; // type:object size:0x16 scope:local data:string -lbl_1_data_7AD = .data:0x000007AD; // type:object size:0xA scope:local data:string -lbl_1_data_7B7 = .data:0x000007B7; // type:object size:0x1C scope:local data:string -lbl_1_data_7D3 = .data:0x000007D3; // type:object size:0x1D scope:local data:string -lbl_1_data_7F0 = .data:0x000007F0; // type:object size:0x10 scope:local data:string -lbl_1_data_800 = .data:0x00000800; // type:object size:0x1C scope:local -lbl_1_data_81C = .data:0x0000081C; // type:object size:0x34 -lbl_1_data_850 = .data:0x00000850; // type:object size:0x3C0 -lbl_1_data_C10 = .data:0x00000C10; // type:object size:0x10 -lbl_1_data_C20 = .data:0x00000C20; // type:object size:0x4 data:4byte -lbl_1_data_C24 = .data:0x00000C24; // type:object size:0x8 data:4byte -lbl_1_data_C2C = .data:0x00000C2C; // type:object size:0x14 scope:local data:string -lbl_1_data_C40 = .data:0x00000C40; // type:object size:0x15 scope:local data:string -lbl_1_data_C55 = .data:0x00000C55; // type:object size:0x14 scope:local data:string -lbl_1_data_C69 = .data:0x00000C69; // type:object size:0x15 scope:local data:string -lbl_1_data_C7E = .data:0x00000C7E; // type:object size:0x14 scope:local data:string -lbl_1_data_C92 = .data:0x00000C92; // type:object size:0x15 scope:local data:string -lbl_1_data_CA7 = .data:0x00000CA7; // type:object size:0x14 scope:local data:string -lbl_1_data_CBB = .data:0x00000CBB; // type:object size:0x15 scope:local data:string -lbl_1_data_CD0 = .data:0x00000CD0; // type:object size:0x14 scope:local data:string -lbl_1_data_CE4 = .data:0x00000CE4; // type:object size:0x15 scope:local data:string -lbl_1_data_CF9 = .data:0x00000CF9; // type:object size:0x14 scope:local data:string -lbl_1_data_D0D = .data:0x00000D0D; // type:object size:0xA scope:local data:string -lbl_1_data_D17 = .data:0x00000D17; // type:object size:0x1C scope:local data:string -lbl_1_data_D33 = .data:0x00000D33; // type:object size:0x1D scope:local data:string -lbl_1_data_D50 = .data:0x00000D50; // type:object size:0x1C scope:local data:string -lbl_1_data_D6C = .data:0x00000D6C; // type:object size:0x31 scope:local data:string -lbl_1_data_D9D = .data:0x00000D9D; // type:object size:0x10 scope:local data:string -lbl_1_data_DAD = .data:0x00000DAD; // type:object size:0xB scope:local -lbl_1_data_DB8 = .data:0x00000DB8; // type:object size:0x15 scope:local data:string -lbl_1_data_DCD = .data:0x00000DCD; // type:object size:0x14 scope:local data:string -lbl_1_data_DE1 = .data:0x00000DE1; // type:object size:0x15 scope:local data:string -lbl_1_data_DF6 = .data:0x00000DF6; // type:object size:0x14 scope:local data:string -lbl_1_data_E0A = .data:0x00000E0A; // type:object size:0x15 scope:local data:string -lbl_1_data_E1F = .data:0x00000E1F; // type:object size:0x14 scope:local data:string -lbl_1_data_E33 = .data:0x00000E33; // type:object size:0x15 scope:local data:string -lbl_1_data_E48 = .data:0x00000E48; // type:object size:0x14 scope:local data:string -lbl_1_data_E5C = .data:0x00000E5C; // type:object size:0x15 scope:local data:string -lbl_1_data_E71 = .data:0x00000E71; // type:object size:0x14 scope:local data:string -lbl_1_data_E85 = .data:0x00000E85; // type:object size:0xA scope:local data:string -lbl_1_data_E8F = .data:0x00000E8F; // type:object size:0x1C scope:local data:string -lbl_1_data_EAB = .data:0x00000EAB; // type:object size:0x1D scope:local data:string -lbl_1_data_EC8 = .data:0x00000EC8; // type:object size:0x10 scope:local data:string -lbl_1_data_ED8 = .data:0x00000ED8; // type:object size:0x20 scope:local -lbl_1_data_EF8 = .data:0x00000EF8; // type:object size:0x10 -lbl_1_data_F08 = .data:0x00000F08; // type:object size:0x4 data:4byte -lbl_1_data_F0C = .data:0x00000F0C; // type:object size:0x8 data:4byte -lbl_1_data_F14 = .data:0x00000F14; // type:object size:0x4 data:4byte -lbl_1_data_F18 = .data:0x00000F18; // type:object size:0x14 scope:local data:string -lbl_1_data_F2C = .data:0x00000F2C; // type:object size:0x15 scope:local data:string -lbl_1_data_F41 = .data:0x00000F41; // type:object size:0x14 scope:local data:string -lbl_1_data_F55 = .data:0x00000F55; // type:object size:0x15 scope:local data:string -lbl_1_data_F6A = .data:0x00000F6A; // type:object size:0x14 scope:local data:string -lbl_1_data_F7E = .data:0x00000F7E; // type:object size:0x15 scope:local data:string -lbl_1_data_F93 = .data:0x00000F93; // type:object size:0x14 scope:local data:string -lbl_1_data_FA7 = .data:0x00000FA7; // type:object size:0x15 scope:local data:string -lbl_1_data_FBC = .data:0x00000FBC; // type:object size:0x14 scope:local data:string -lbl_1_data_FD0 = .data:0x00000FD0; // type:object size:0x15 scope:local data:string -lbl_1_data_FE5 = .data:0x00000FE5; // type:object size:0x14 scope:local data:string -lbl_1_data_FF9 = .data:0x00000FF9; // type:object size:0xA scope:local data:string -lbl_1_data_1003 = .data:0x00001003; // type:object size:0x1C scope:local data:string -lbl_1_data_101F = .data:0x0000101F; // type:object size:0x1D scope:local data:string -lbl_1_data_103C = .data:0x0000103C; // type:object size:0x15 scope:local data:string -lbl_1_data_1051 = .data:0x00001051; // type:object size:0x15 scope:local data:string -lbl_1_data_1066 = .data:0x00001066; // type:object size:0x15 scope:local data:string -lbl_1_data_107B = .data:0x0000107B; // type:object size:0x15 scope:local data:string -lbl_1_data_1090 = .data:0x00001090; // type:object size:0x15 scope:local data:string -lbl_1_data_10A5 = .data:0x000010A5; // type:object size:0x15 scope:local data:string -lbl_1_data_10BA = .data:0x000010BA; // type:object size:0x15 scope:local data:string -lbl_1_data_10CF = .data:0x000010CF; // type:object size:0x15 scope:local data:string -lbl_1_data_10E4 = .data:0x000010E4; // type:object size:0x20 -lbl_1_data_1104 = .data:0x00001104; // type:object size:0xF scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x24 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x54 data:float -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x10 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x40 data:4byte -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x4 data:4byte -lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x28 data:4byte -lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0x28 data:4byte -lbl_1_bss_11C = .bss:0x0000011C; // type:object size:0x28 data:4byte -lbl_1_bss_144 = .bss:0x00000144; // type:object size:0x28 data:4byte -lbl_1_bss_16C = .bss:0x0000016C; // type:object size:0x28 data:4byte -lbl_1_bss_194 = .bss:0x00000194; // type:object size:0x104 data:float -lbl_1_bss_298 = .bss:0x00000298; // type:object size:0x4 data:4byte -lbl_1_bss_29C = .bss:0x0000029C; // type:object size:0xA0 -lbl_1_bss_33C = .bss:0x0000033C; // type:object size:0x28 data:4byte -lbl_1_bss_364 = .bss:0x00000364; // type:object size:0x28 data:4byte -lbl_1_bss_38C = .bss:0x0000038C; // type:object size:0x28 data:4byte -lbl_1_bss_3B4 = .bss:0x000003B4; // type:object size:0x28 data:4byte -lbl_1_bss_3DC = .bss:0x000003DC; // type:object size:0x104 data:4byte -lbl_1_bss_4E0 = .bss:0x000004E0; // type:object size:0x4 data:4byte -lbl_1_bss_4E4 = .bss:0x000004E4; // type:object size:0x4 data:4byte -lbl_1_bss_4E8 = .bss:0x000004E8; // type:object size:0x60 data:4byte -lbl_1_bss_548 = .bss:0x00000548; // type:object size:0xA0 -lbl_1_bss_5E8 = .bss:0x000005E8; // type:object size:0x28 data:4byte -lbl_1_bss_610 = .bss:0x00000610; // type:object size:0x28 data:4byte -lbl_1_bss_638 = .bss:0x00000638; // type:object size:0x28 data:4byte -lbl_1_bss_660 = .bss:0x00000660; // type:object size:0x28 data:4byte -lbl_1_bss_688 = .bss:0x00000688; // type:object size:0x108 data:float -lbl_1_bss_790 = .bss:0x00000790; // type:object size:0x4 data:4byte -lbl_1_bss_794 = .bss:0x00000794; // type:object size:0x4 data:4byte -lbl_1_bss_798 = .bss:0x00000798; // type:object size:0x28 data:4byte -lbl_1_bss_7C0 = .bss:0x000007C0; // type:object size:0x28 data:4byte -lbl_1_bss_7E8 = .bss:0x000007E8; // type:object size:0x28 data:4byte -lbl_1_bss_810 = .bss:0x00000810; // type:object size:0x28 data:4byte -lbl_1_bss_838 = .bss:0x00000838; // type:object size:0x28 data:4byte -lbl_1_bss_860 = .bss:0x00000860; // type:object size:0x108 data:4byte -lbl_1_bss_968 = .bss:0x00000968; // type:object size:0x4 data:4byte -lbl_1_bss_96C = .bss:0x0000096C; // type:object size:0x28 data:4byte -lbl_1_bss_994 = .bss:0x00000994; // type:object size:0x28 data:4byte -lbl_1_bss_9BC = .bss:0x000009BC; // type:object size:0x28 data:4byte -lbl_1_bss_9E4 = .bss:0x000009E4; // type:object size:0x28 data:4byte -lbl_1_bss_A0C = .bss:0x00000A0C; // type:object size:0x28 data:4byte -lbl_1_bss_A34 = .bss:0x00000A34; // type:object size:0x104 data:4byte -lbl_1_bss_B38 = .bss:0x00000B38; // type:object size:0x4 data:4byte -lbl_1_bss_B3C = .bss:0x00000B3C; // type:object size:0x4 data:4byte -lbl_1_bss_B40 = .bss:0x00000B40; // type:object size:0x4 data:4byte -lbl_1_bss_B44 = .bss:0x00000B44; // type:object size:0x28 data:4byte -lbl_1_bss_B6C = .bss:0x00000B6C; // type:object size:0x28 data:4byte -lbl_1_bss_B94 = .bss:0x00000B94; // type:object size:0x28 data:4byte -lbl_1_bss_BBC = .bss:0x00000BBC; // type:object size:0x28 data:4byte -lbl_1_bss_BE4 = .bss:0x00000BE4; // type:object size:0x28 data:4byte -lbl_1_bss_C0C = .bss:0x00000C0C; // type:object size:0x104 data:float -lbl_1_bss_D10 = .bss:0x00000D10; // type:object size:0x4 data:4byte -lbl_1_bss_D14 = .bss:0x00000D14; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/mstory3Dll/splits.txt b/config/GMPP01_00/rels/mstory3Dll/splits.txt deleted file mode 100644 index 6d23734f..00000000 --- a/config/GMPP01_00/rels/mstory3Dll/splits.txt +++ /dev/null @@ -1,31 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/mstory3Dll/main.c: - .text start:0x00000000 end:0x00006E34 - .rodata start:0x00000000 end:0x00000110 - .data start:0x00000000 end:0x00000130 - .bss start:0x00000000 end:0x00000058 - -REL/mstory3Dll/result_seq.c: - .text start:0x00006E34 end:0x000157F0 - .rodata start:0x00000110 end:0x00000418 - .data start:0x00000130 end:0x000007E0 - .bss start:0x00000058 end:0x000018D0 - -REL/mstory3Dll/result.c: - .text start:0x000157F0 end:0x0001DED8 - .rodata start:0x00000418 end:0x000005D0 - .data start:0x000007E0 end:0x00000A90 - .bss start:0x000018D0 end:0x00001CE8 - -REL/mstory3Dll/win_effect.c: - .text start:0x0001DED8 end:0x0001F100 - .rodata start:0x000005D0 end:0x00000644 - .data start:0x00000A90 end:0x00000AAB - .bss start:0x00001CE8 end:0x00001D50 diff --git a/config/GMPP01_00/rels/mstory3Dll/symbols.txt b/config/GMPP01_00/rels/mstory3Dll/symbols.txt deleted file mode 100644 index 4863cac3..00000000 --- a/config/GMPP01_00/rels/mstory3Dll/symbols.txt +++ /dev/null @@ -1,550 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x4C -fn_1_4C = .text:0x0000004C; // type:function size:0x58 -fn_1_A4 = .text:0x000000A4; // type:function size:0x2C8 -_prolog = .text:0x0000036C; // type:function size:0x54 scope:global -_epilog = .text:0x000003C0; // type:function size:0x4C scope:global -fn_1_40C = .text:0x0000040C; // type:function size:0xE4 -ObjectSetup = .text:0x000004F0; // type:function size:0xE4 -fn_1_5D4 = .text:0x000005D4; // type:function size:0x28 -fn_1_5FC = .text:0x000005FC; // type:function size:0x20 -fn_1_61C = .text:0x0000061C; // type:function size:0xD8 -fn_1_6F4 = .text:0x000006F4; // type:function size:0xC8 -fn_1_7BC = .text:0x000007BC; // type:function size:0xBC -fn_1_878 = .text:0x00000878; // type:function size:0xBC -fn_1_934 = .text:0x00000934; // type:function size:0x4 -fn_1_938 = .text:0x00000938; // type:function size:0x20 -fn_1_958 = .text:0x00000958; // type:function size:0x28 -fn_1_980 = .text:0x00000980; // type:function size:0x20 -fn_1_9A0 = .text:0x000009A0; // type:function size:0x24 -fn_1_9C4 = .text:0x000009C4; // type:function size:0x20 -fn_1_9E4 = .text:0x000009E4; // type:function size:0xA48 -fn_1_142C = .text:0x0000142C; // type:function size:0x1F8 -fn_1_1624 = .text:0x00001624; // type:function size:0x210 -fn_1_1834 = .text:0x00001834; // type:function size:0x1F0 -fn_1_1A24 = .text:0x00001A24; // type:function size:0x2C -fn_1_1A50 = .text:0x00001A50; // type:function size:0x60 -fn_1_1AB0 = .text:0x00001AB0; // type:function size:0x68 -fn_1_1B18 = .text:0x00001B18; // type:function size:0xAC -fn_1_1BC4 = .text:0x00001BC4; // type:function size:0xC4 -fn_1_1C88 = .text:0x00001C88; // type:function size:0xBC -fn_1_1D44 = .text:0x00001D44; // type:function size:0x34 -fn_1_1D78 = .text:0x00001D78; // type:function size:0x40 -fn_1_1DB8 = .text:0x00001DB8; // type:function size:0x70 -fn_1_1E28 = .text:0x00001E28; // type:function size:0x178 -fn_1_1FA0 = .text:0x00001FA0; // type:function size:0x2E0 -fn_1_2280 = .text:0x00002280; // type:function size:0x90 -fn_1_2310 = .text:0x00002310; // type:function size:0xC8 -fn_1_23D8 = .text:0x000023D8; // type:function size:0x48 -fn_1_2420 = .text:0x00002420; // type:function size:0x54 -fn_1_2474 = .text:0x00002474; // type:function size:0x3C0 -fn_1_2834 = .text:0x00002834; // type:function size:0x10 -fn_1_2844 = .text:0x00002844; // type:function size:0x10 -fn_1_2854 = .text:0x00002854; // type:function size:0xB8 -fn_1_290C = .text:0x0000290C; // type:function size:0x120 -fn_1_2A2C = .text:0x00002A2C; // type:function size:0x3A8 -fn_1_2DD4 = .text:0x00002DD4; // type:function size:0x7F4 -fn_1_35C8 = .text:0x000035C8; // type:function size:0x88 -fn_1_3650 = .text:0x00003650; // type:function size:0x94 -fn_1_36E4 = .text:0x000036E4; // type:function size:0x58 -fn_1_373C = .text:0x0000373C; // type:function size:0x8C -fn_1_37C8 = .text:0x000037C8; // type:function size:0xEC -fn_1_38B4 = .text:0x000038B4; // type:function size:0xC4 -fn_1_3978 = .text:0x00003978; // type:function size:0x3C -fn_1_39B4 = .text:0x000039B4; // type:function size:0x44 -fn_1_39F8 = .text:0x000039F8; // type:function size:0x26C -fn_1_3C64 = .text:0x00003C64; // type:function size:0x26C -fn_1_3ED0 = .text:0x00003ED0; // type:function size:0x27C -fn_1_414C = .text:0x0000414C; // type:function size:0x2B4 -fn_1_4400 = .text:0x00004400; // type:function size:0x46C -fn_1_486C = .text:0x0000486C; // type:function size:0x454 -fn_1_4CC0 = .text:0x00004CC0; // type:function size:0x48C -fn_1_514C = .text:0x0000514C; // type:function size:0x658 -fn_1_57A4 = .text:0x000057A4; // type:function size:0x4C4 -fn_1_5C68 = .text:0x00005C68; // type:function size:0x4FC -fn_1_6164 = .text:0x00006164; // type:function size:0x6C8 -fn_1_682C = .text:0x0000682C; // type:function size:0xC4 -fn_1_68F0 = .text:0x000068F0; // type:function size:0x188 -fn_1_6A78 = .text:0x00006A78; // type:function size:0x34 -fn_1_6AAC = .text:0x00006AAC; // type:function size:0x40 -fn_1_6AEC = .text:0x00006AEC; // type:function size:0xAC -fn_1_6B98 = .text:0x00006B98; // type:function size:0x1E8 -fn_1_6D80 = .text:0x00006D80; // type:function size:0xB4 -fn_1_6E34 = .text:0x00006E34; // type:function size:0x1D0 -fn_1_7004 = .text:0x00007004; // type:function size:0x394 -fn_1_7398 = .text:0x00007398; // type:function size:0x640 -fn_1_79D8 = .text:0x000079D8; // type:function size:0x4B0 -fn_1_7E88 = .text:0x00007E88; // type:function size:0x2C4 -fn_1_814C = .text:0x0000814C; // type:function size:0x118 -fn_1_8264 = .text:0x00008264; // type:function size:0x7C -fn_1_82E0 = .text:0x000082E0; // type:function size:0x8C -fn_1_836C = .text:0x0000836C; // type:function size:0xF0 -fn_1_845C = .text:0x0000845C; // type:function size:0x2FC -fn_1_8758 = .text:0x00008758; // type:function size:0x100 -fn_1_8858 = .text:0x00008858; // type:function size:0xF0 -fn_1_8948 = .text:0x00008948; // type:function size:0xF0 -fn_1_8A38 = .text:0x00008A38; // type:function size:0xF0 -fn_1_8B28 = .text:0x00008B28; // type:function size:0xF0 -fn_1_8C18 = .text:0x00008C18; // type:function size:0x7C -fn_1_8C94 = .text:0x00008C94; // type:function size:0x4AC -fn_1_9140 = .text:0x00009140; // type:function size:0x88 -fn_1_91C8 = .text:0x000091C8; // type:function size:0x58 -fn_1_9220 = .text:0x00009220; // type:function size:0x1B0 -fn_1_93D0 = .text:0x000093D0; // type:function size:0xB8 -fn_1_9488 = .text:0x00009488; // type:function size:0x228 -fn_1_96B0 = .text:0x000096B0; // type:function size:0xB8 -fn_1_9768 = .text:0x00009768; // type:function size:0x228 -fn_1_9990 = .text:0x00009990; // type:function size:0x78 -fn_1_9A08 = .text:0x00009A08; // type:function size:0x5C -fn_1_9A64 = .text:0x00009A64; // type:function size:0x8B0 -fn_1_A314 = .text:0x0000A314; // type:function size:0x1DC -fn_1_A4F0 = .text:0x0000A4F0; // type:function size:0x6BC -fn_1_ABAC = .text:0x0000ABAC; // type:function size:0xAC4 -fn_1_B670 = .text:0x0000B670; // type:function size:0x118 -fn_1_B788 = .text:0x0000B788; // type:function size:0x6D4 -fn_1_BE5C = .text:0x0000BE5C; // type:function size:0x104 -fn_1_BF60 = .text:0x0000BF60; // type:function size:0x100 -fn_1_C060 = .text:0x0000C060; // type:function size:0xE0C -fn_1_CE6C = .text:0x0000CE6C; // type:function size:0x620 -fn_1_D48C = .text:0x0000D48C; // type:function size:0xAC -fn_1_D538 = .text:0x0000D538; // type:function size:0x1E0 -fn_1_D718 = .text:0x0000D718; // type:function size:0xC0 -fn_1_D7D8 = .text:0x0000D7D8; // type:function size:0x390 -fn_1_DB68 = .text:0x0000DB68; // type:function size:0x5F8 -fn_1_E160 = .text:0x0000E160; // type:function size:0x1BD0 -fn_1_FD30 = .text:0x0000FD30; // type:function size:0x150 -fn_1_FE80 = .text:0x0000FE80; // type:function size:0xFC -fn_1_FF7C = .text:0x0000FF7C; // type:function size:0x3F0 -fn_1_1036C = .text:0x0001036C; // type:function size:0xA08 -fn_1_10D74 = .text:0x00010D74; // type:function size:0xA20 -fn_1_11794 = .text:0x00011794; // type:function size:0xA0 -fn_1_11834 = .text:0x00011834; // type:function size:0xBA4 -fn_1_123D8 = .text:0x000123D8; // type:function size:0x44 -fn_1_1241C = .text:0x0001241C; // type:function size:0x4 -fn_1_12420 = .text:0x00012420; // type:function size:0x678 -fn_1_12A98 = .text:0x00012A98; // type:function size:0x170 -fn_1_12C08 = .text:0x00012C08; // type:function size:0x1A4 -fn_1_12DAC = .text:0x00012DAC; // type:function size:0x2FC -fn_1_130A8 = .text:0x000130A8; // type:function size:0xD4 -fn_1_1317C = .text:0x0001317C; // type:function size:0x130 -fn_1_132AC = .text:0x000132AC; // type:function size:0x65C -fn_1_13908 = .text:0x00013908; // type:function size:0x130 -fn_1_13A38 = .text:0x00013A38; // type:function size:0x4 -fn_1_13A3C = .text:0x00013A3C; // type:function size:0x23C -fn_1_13C78 = .text:0x00013C78; // type:function size:0xC0 -fn_1_13D38 = .text:0x00013D38; // type:function size:0x60 -fn_1_13D98 = .text:0x00013D98; // type:function size:0x308 -fn_1_140A0 = .text:0x000140A0; // type:function size:0x38C -fn_1_1442C = .text:0x0001442C; // type:function size:0x140 -fn_1_1456C = .text:0x0001456C; // type:function size:0x118 -fn_1_14684 = .text:0x00014684; // type:function size:0x7C -fn_1_14700 = .text:0x00014700; // type:function size:0x48 -fn_1_14748 = .text:0x00014748; // type:function size:0x724 -fn_1_14E6C = .text:0x00014E6C; // type:function size:0x114 -fn_1_14F80 = .text:0x00014F80; // type:function size:0x54 -fn_1_14FD4 = .text:0x00014FD4; // type:function size:0x31C -fn_1_152F0 = .text:0x000152F0; // type:function size:0x160 -fn_1_15450 = .text:0x00015450; // type:function size:0x3A0 -fn_1_157F0 = .text:0x000157F0; // type:function size:0x1B4 -fn_1_159A4 = .text:0x000159A4; // type:function size:0x268 -fn_1_15C0C = .text:0x00015C0C; // type:function size:0xFC -fn_1_15D08 = .text:0x00015D08; // type:function size:0xC0 -fn_1_15DC8 = .text:0x00015DC8; // type:function size:0x3F0 -fn_1_161B8 = .text:0x000161B8; // type:function size:0x3BC -fn_1_16574 = .text:0x00016574; // type:function size:0x54 -fn_1_165C8 = .text:0x000165C8; // type:function size:0x35C -fn_1_16924 = .text:0x00016924; // type:function size:0x1B0 -fn_1_16AD4 = .text:0x00016AD4; // type:function size:0x400 -fn_1_16ED4 = .text:0x00016ED4; // type:function size:0x258 -fn_1_1712C = .text:0x0001712C; // type:function size:0x160 -fn_1_1728C = .text:0x0001728C; // type:function size:0x1F8 -fn_1_17484 = .text:0x00017484; // type:function size:0xEC -fn_1_17570 = .text:0x00017570; // type:function size:0x850 -fn_1_17DC0 = .text:0x00017DC0; // type:function size:0x2C0 -fn_1_18080 = .text:0x00018080; // type:function size:0x9C -fn_1_1811C = .text:0x0001811C; // type:function size:0x218 -fn_1_18334 = .text:0x00018334; // type:function size:0x1B4 -fn_1_184E8 = .text:0x000184E8; // type:function size:0x70 -fn_1_18558 = .text:0x00018558; // type:function size:0x110 -fn_1_18668 = .text:0x00018668; // type:function size:0x694 -fn_1_18CFC = .text:0x00018CFC; // type:function size:0x29C -fn_1_18F98 = .text:0x00018F98; // type:function size:0x1AC -fn_1_19144 = .text:0x00019144; // type:function size:0xD0 -fn_1_19214 = .text:0x00019214; // type:function size:0x28C -fn_1_194A0 = .text:0x000194A0; // type:function size:0xF0 -fn_1_19590 = .text:0x00019590; // type:function size:0x224 -fn_1_197B4 = .text:0x000197B4; // type:function size:0x854 -fn_1_1A008 = .text:0x0001A008; // type:function size:0x1EF4 -fn_1_1BEFC = .text:0x0001BEFC; // type:function size:0x3F8 -fn_1_1C2F4 = .text:0x0001C2F4; // type:function size:0x16C -fn_1_1C460 = .text:0x0001C460; // type:function size:0xD4 -fn_1_1C534 = .text:0x0001C534; // type:function size:0x3E0 -fn_1_1C914 = .text:0x0001C914; // type:function size:0x184 -fn_1_1CA98 = .text:0x0001CA98; // type:function size:0xE4 -fn_1_1CB7C = .text:0x0001CB7C; // type:function size:0xE0 -fn_1_1CC5C = .text:0x0001CC5C; // type:function size:0x104 -fn_1_1CD60 = .text:0x0001CD60; // type:function size:0x90 -fn_1_1CDF0 = .text:0x0001CDF0; // type:function size:0x334 -fn_1_1D124 = .text:0x0001D124; // type:function size:0x518 -fn_1_1D63C = .text:0x0001D63C; // type:function size:0x140 -fn_1_1D77C = .text:0x0001D77C; // type:function size:0x150 -fn_1_1D8CC = .text:0x0001D8CC; // type:function size:0x98 -fn_1_1D964 = .text:0x0001D964; // type:function size:0x100 -fn_1_1DA64 = .text:0x0001DA64; // type:function size:0x48 -fn_1_1DAAC = .text:0x0001DAAC; // type:function size:0x3A0 -fn_1_1DE4C = .text:0x0001DE4C; // type:function size:0x8C -fn_1_1DED8 = .text:0x0001DED8; // type:function size:0x21C -fn_1_1E0F4 = .text:0x0001E0F4; // type:function size:0x14 -fn_1_1E108 = .text:0x0001E108; // type:function size:0x10 -fn_1_1E118 = .text:0x0001E118; // type:function size:0x14 -fn_1_1E12C = .text:0x0001E12C; // type:function size:0x10 -fn_1_1E13C = .text:0x0001E13C; // type:function size:0x41C -fn_1_1E558 = .text:0x0001E558; // type:function size:0x2C8 -fn_1_1E820 = .text:0x0001E820; // type:function size:0x8E0 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x20 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0xC scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x20 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x10 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x78 scope:local -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x28 scope:local data:4byte -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 scope:local data:double -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:byte -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 scope:local data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 scope:local data:float -lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 scope:local data:float -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 scope:local data:float -lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 scope:local data:float -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 scope:local data:float -lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x4 scope:local data:float -lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x4 scope:local data:float -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x3C scope:local data:4byte -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C4 = .rodata:0x000005C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 scope:local data:double -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x8 scope:local data:double -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 scope:local data:double -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 scope:local data:float -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x8 scope:local data:double -lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x8 scope:local data:double -lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 scope:local data:float -lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 scope:local data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x8 scope:local data:double -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 -lbl_1_data_70 = .data:0x00000070; // type:object size:0x25 scope:local data:string -lbl_1_data_95 = .data:0x00000095; // type:object size:0xD scope:local data:string -lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x8 -lbl_1_data_AC = .data:0x000000AC; // type:object size:0x28 scope:local data:string -lbl_1_data_D4 = .data:0x000000D4; // type:object size:0x10 scope:local data:string -lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x3 scope:local data:string -lbl_1_data_E7 = .data:0x000000E7; // type:object size:0x1A scope:local data:string -lbl_1_data_101 = .data:0x00000101; // type:object size:0x1A scope:local data:string -lbl_1_data_11B = .data:0x0000011B; // type:object size:0xE scope:local data:string -lbl_1_data_130 = .data:0x00000130; // type:object size:0x30 data:float -lbl_1_data_160 = .data:0x00000160; // type:object size:0x50 -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x50 -lbl_1_data_200 = .data:0x00000200; // type:object size:0x50 -lbl_1_data_250 = .data:0x00000250; // type:object size:0x16 scope:local data:string -lbl_1_data_266 = .data:0x00000266; // type:object size:0x15 scope:local data:string -lbl_1_data_27B = .data:0x0000027B; // type:object size:0x16 scope:local data:string -lbl_1_data_291 = .data:0x00000291; // type:object size:0x15 scope:local data:string -lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x16 scope:local data:string -lbl_1_data_2BC = .data:0x000002BC; // type:object size:0x15 scope:local data:string -lbl_1_data_2D1 = .data:0x000002D1; // type:object size:0x17 scope:local data:string -lbl_1_data_2E8 = .data:0x000002E8; // type:object size:0x16 scope:local data:string -lbl_1_data_2FE = .data:0x000002FE; // type:object size:0xF scope:local data:string -lbl_1_data_30D = .data:0x0000030D; // type:object size:0x1C scope:local data:string -lbl_1_data_329 = .data:0x00000329; // type:object size:0x1D scope:local data:string -lbl_1_data_346 = .data:0x00000346; // type:object size:0x1C scope:local data:string -lbl_1_data_364 = .data:0x00000364; // type:object size:0x4 data:4byte -lbl_1_data_36C = .data:0x0000036C; // type:object size:0xC data:float -lbl_1_data_378 = .data:0x00000378; // type:object size:0xF scope:local data:string -lbl_1_data_387 = .data:0x00000387; // type:object size:0x10 scope:local data:string -jumptable_1_data_398 = .data:0x00000398; // type:object size:0x30 scope:local -lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0x46 scope:local data:string -lbl_1_data_40E = .data:0x0000040E; // type:object size:0x30 scope:local data:string -lbl_1_data_43E = .data:0x0000043E; // type:object size:0x14 scope:local data:string -lbl_1_data_452 = .data:0x00000452; // type:object size:0x14 scope:local data:string -lbl_1_data_466 = .data:0x00000466; // type:object size:0x14 scope:local data:string -lbl_1_data_47A = .data:0x0000047A; // type:object size:0x14 scope:local data:string -lbl_1_data_48E = .data:0x0000048E; // type:object size:0x14 scope:local data:string -lbl_1_data_4A2 = .data:0x000004A2; // type:object size:0x10 scope:local data:string -lbl_1_data_4B2 = .data:0x000004B2; // type:object size:0x10 scope:local data:string -lbl_1_data_4C2 = .data:0x000004C2; // type:object size:0x10 scope:local data:string -lbl_1_data_4D2 = .data:0x000004D2; // type:object size:0x10 scope:local data:string -lbl_1_data_4E2 = .data:0x000004E2; // type:object size:0x10 scope:local data:string -lbl_1_data_4F2 = .data:0x000004F2; // type:object size:0x10 scope:local data:string -lbl_1_data_504 = .data:0x00000504; // type:object size:0x288 -lbl_1_data_78C = .data:0x0000078C; // type:object size:0x50 -lbl_1_data_7E0 = .data:0x000007E0; // type:object size:0x16 scope:local data:string -lbl_1_data_7F6 = .data:0x000007F6; // type:object size:0x15 scope:local data:string -lbl_1_data_80B = .data:0x0000080B; // type:object size:0x16 scope:local data:string -lbl_1_data_821 = .data:0x00000821; // type:object size:0x15 scope:local data:string -lbl_1_data_836 = .data:0x00000836; // type:object size:0x16 scope:local data:string -lbl_1_data_84C = .data:0x0000084C; // type:object size:0x15 scope:local data:string -lbl_1_data_861 = .data:0x00000861; // type:object size:0x17 scope:local data:string -lbl_1_data_878 = .data:0x00000878; // type:object size:0x16 scope:local data:string -lbl_1_data_88E = .data:0x0000088E; // type:object size:0xF scope:local data:string -lbl_1_data_89D = .data:0x0000089D; // type:object size:0x1C scope:local data:string -lbl_1_data_8B9 = .data:0x000008B9; // type:object size:0x1D scope:local data:string -lbl_1_data_8D6 = .data:0x000008D6; // type:object size:0x49 scope:local data:string -lbl_1_data_91F = .data:0x0000091F; // type:object size:0x48 scope:local data:string -lbl_1_data_967 = .data:0x00000967; // type:object size:0x48 scope:local data:string -lbl_1_data_9AF = .data:0x000009AF; // type:object size:0x52 scope:local data:string -lbl_1_data_A01 = .data:0x00000A01; // type:object size:0x30 scope:local data:string -lbl_1_data_A31 = .data:0x00000A31; // type:object size:0x2A scope:local data:string -lbl_1_data_A5B = .data:0x00000A5B; // type:object size:0x1A scope:local data:string -lbl_1_data_A75 = .data:0x00000A75; // type:object size:0x19 scope:local data:string -lbl_1_data_A90 = .data:0x00000A90; // type:object size:0x13 scope:local data:string -lbl_1_data_AA3 = .data:0x00000AA3; // type:object size:0x8 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x44 data:float -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x10 data:float -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x40 data:4byte -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x4 data:float -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x4 data:float -lbl_1_bss_B4 = .bss:0x000000B4; // type:object size:0x4 data:4byte -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x4 data:float -lbl_1_bss_C0 = .bss:0x000000C0; // type:object size:0x4 data:float -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x4 data:float -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x1340 -lbl_1_bss_1408 = .bss:0x00001408; // type:object size:0x18 -lbl_1_bss_1420 = .bss:0x00001420; // type:object size:0x4 data:4byte -lbl_1_bss_1424 = .bss:0x00001424; // type:object size:0x4 data:float -lbl_1_bss_1428 = .bss:0x00001428; // type:object size:0x10 data:4byte -lbl_1_bss_1438 = .bss:0x00001438; // type:object size:0x10 -lbl_1_bss_1448 = .bss:0x00001448; // type:object size:0x10 data:4byte -lbl_1_bss_1458 = .bss:0x00001458; // type:object size:0x10 data:4byte -lbl_1_bss_1468 = .bss:0x00001468; // type:object size:0x28 data:4byte -lbl_1_bss_1490 = .bss:0x00001490; // type:object size:0xA0 data:4byte -lbl_1_bss_1530 = .bss:0x00001530; // type:object size:0x28 data:4byte -lbl_1_bss_1558 = .bss:0x00001558; // type:object size:0x28 data:4byte -lbl_1_bss_1580 = .bss:0x00001580; // type:object size:0x350 data:4byte -lbl_1_bss_18D0 = .bss:0x000018D0; // type:object size:0x4 data:4byte -lbl_1_bss_18D4 = .bss:0x000018D4; // type:object size:0x4 data:4byte -lbl_1_bss_18D8 = .bss:0x000018D8; // type:object size:0xC data:4byte -lbl_1_bss_18E4 = .bss:0x000018E4; // type:object size:0x8 data:4byte -lbl_1_bss_18EC = .bss:0x000018EC; // type:object size:0x8 data:4byte -lbl_1_bss_18F4 = .bss:0x000018F4; // type:object size:0xA0 -lbl_1_bss_1994 = .bss:0x00001994; // type:object size:0x28 data:4byte -lbl_1_bss_19BC = .bss:0x000019BC; // type:object size:0x28 data:4byte -lbl_1_bss_19E4 = .bss:0x000019E4; // type:object size:0x28 data:4byte -lbl_1_bss_1A0C = .bss:0x00001A0C; // type:object size:0x2D8 data:float -lbl_1_bss_1CE8 = .bss:0x00001CE8; // type:object size:0x2 data:2byte -lbl_1_bss_1CEC = .bss:0x00001CEC; // type:object size:0x4 data:4byte -lbl_1_bss_1CF0 = .bss:0x00001CF0; // type:object size:0x4 data:4byte -lbl_1_bss_1CF4 = .bss:0x00001CF4; // type:object size:0x4 data:4byte -lbl_1_bss_1CF8 = .bss:0x00001CF8; // type:object size:0x58 data:2byte diff --git a/config/GMPP01_00/rels/mstory4Dll/splits.txt b/config/GMPP01_00/rels/mstory4Dll/splits.txt deleted file mode 100644 index 20264b16..00000000 --- a/config/GMPP01_00/rels/mstory4Dll/splits.txt +++ /dev/null @@ -1,13 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/mstory4Dll/main.c: - .text start:0x00000000 end:0x00001738 - .rodata start:0x00000000 end:0x00000048 - .data start:0x00000000 end:0x00000722 - .bss start:0x00000000 end:0x00000014 diff --git a/config/GMPP01_00/rels/mstory4Dll/symbols.txt b/config/GMPP01_00/rels/mstory4Dll/symbols.txt deleted file mode 100644 index e98f616c..00000000 --- a/config/GMPP01_00/rels/mstory4Dll/symbols.txt +++ /dev/null @@ -1,67 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0xEC -fn_1_EC = .text:0x000000EC; // type:function size:0xE68 -_prolog = .text:0x00000F54; // type:function size:0x54 scope:global -_epilog = .text:0x00000FA8; // type:function size:0x4C scope:global -fn_1_FF4 = .text:0x00000FF4; // type:function size:0xB8 -fn_1_10AC = .text:0x000010AC; // type:function size:0x68C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x1 data:byte -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x1C data:4byte -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x1 data:byte -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x3C0 -lbl_1_data_3C0 = .data:0x000003C0; // type:object size:0xF data:string -lbl_1_data_3CF = .data:0x000003CF; // type:object size:0x14 data:string -lbl_1_data_3E3 = .data:0x000003E3; // type:object size:0x15 data:string -lbl_1_data_3F8 = .data:0x000003F8; // type:object size:0x11 data:string -lbl_1_data_409 = .data:0x00000409; // type:object size:0x12 data:string -lbl_1_data_41B = .data:0x0000041B; // type:object size:0x15 -lbl_1_data_430 = .data:0x00000430; // type:object size:0x18 -lbl_1_data_448 = .data:0x00000448; // type:object size:0x20 data:string -lbl_1_data_468 = .data:0x00000468; // type:object size:0x24 data:string -lbl_1_data_48C = .data:0x0000048C; // type:object size:0x23 data:string -lbl_1_data_4AF = .data:0x000004AF; // type:object size:0x27 data:string -lbl_1_data_4D6 = .data:0x000004D6; // type:object size:0x26 data:string -lbl_1_data_4FC = .data:0x000004FC; // type:object size:0x29 data:string -lbl_1_data_525 = .data:0x00000525; // type:object size:0x1B -lbl_1_data_540 = .data:0x00000540; // type:object size:0x1C -lbl_1_data_55C = .data:0x0000055C; // type:object size:0x8 data:string -lbl_1_data_564 = .data:0x00000564; // type:object size:0x7 data:string -lbl_1_data_56B = .data:0x0000056B; // type:object size:0x6 data:string -lbl_1_data_571 = .data:0x00000571; // type:object size:0xB -lbl_1_data_57C = .data:0x0000057C; // type:object size:0x10 -lbl_1_data_58C = .data:0x0000058C; // type:object size:0x1C data:4byte -lbl_1_data_5A8 = .data:0x000005A8; // type:object size:0x1C -lbl_1_data_5C4 = .data:0x000005C4; // type:object size:0x7 data:string -lbl_1_data_5CB = .data:0x000005CB; // type:object size:0x33 data:string -lbl_1_data_5FE = .data:0x000005FE; // type:object size:0x3 data:string -lbl_1_data_601 = .data:0x00000601; // type:object size:0x9 data:string -lbl_1_data_60A = .data:0x0000060A; // type:object size:0x12 -jumptable_1_data_61C = .data:0x0000061C; // type:object size:0x1C scope:local -lbl_1_data_638 = .data:0x00000638; // type:object size:0x6 data:string -lbl_1_data_63E = .data:0x0000063E; // type:object size:0x6 data:string -lbl_1_data_644 = .data:0x00000644; // type:object size:0x6 data:string -lbl_1_data_64A = .data:0x0000064A; // type:object size:0x6 data:string -lbl_1_data_650 = .data:0x00000650; // type:object size:0x6 data:string -lbl_1_data_656 = .data:0x00000656; // type:object size:0x7 data:string -lbl_1_data_65D = .data:0x0000065D; // type:object size:0x6 data:string -lbl_1_data_663 = .data:0x00000663; // type:object size:0x9 -lbl_1_data_66C = .data:0x0000066C; // type:object size:0x20 -lbl_1_data_68C = .data:0x0000068C; // type:object size:0x16 data:string -lbl_1_data_6A2 = .data:0x000006A2; // type:object size:0x11 data:string -lbl_1_data_6B3 = .data:0x000006B3; // type:object size:0x10 data:string -lbl_1_data_6C3 = .data:0x000006C3; // type:object size:0xD data:string -lbl_1_data_6D0 = .data:0x000006D0; // type:object size:0x10 data:string -lbl_1_data_6E0 = .data:0x000006E0; // type:object size:0xD data:string -lbl_1_data_6ED = .data:0x000006ED; // type:object size:0x1B data:string -lbl_1_data_708 = .data:0x00000708; // type:object size:0x1A data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/mstoryDll/splits.txt b/config/GMPP01_00/rels/mstoryDll/splits.txt deleted file mode 100644 index 14c897fa..00000000 --- a/config/GMPP01_00/rels/mstoryDll/splits.txt +++ /dev/null @@ -1,43 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/mstoryDll/main.c: - .text start:0x00000000 end:0x00007090 - .rodata start:0x00000000 end:0x00000108 - .data start:0x00000000 end:0x00000190 - .bss start:0x00000000 end:0x000000A8 - -REL/mstoryDll/board_clear.c: - .text start:0x00007090 end:0x0000A830 - .rodata start:0x00000108 end:0x00000268 - .data start:0x00000190 end:0x00000388 - .bss start:0x000000A8 end:0x000002C8 - -REL/mstoryDll/board_miss.c: - .text start:0x0000A830 end:0x0000E710 - .rodata start:0x00000268 end:0x000003B8 - .data start:0x00000388 end:0x00000570 - .bss start:0x000002C8 end:0x00000558 - -REL/mstoryDll/mg_clear.c: - .text start:0x0000E710 end:0x00011624 - .rodata start:0x000003B8 end:0x000004E0 - .data start:0x00000570 end:0x00000AF8 - .bss start:0x00000558 end:0x00000710 - -REL/mstoryDll/mg_miss.c: - .text start:0x00011624 end:0x00013B48 - .rodata start:0x000004E0 end:0x000005A8 - .data start:0x00000AF8 end:0x00000C50 - .bss start:0x00000710 end:0x000008B8 - -REL/mstoryDll/save.c: - .text start:0x00013B48 end:0x000141A0 - .rodata start:0x000005A8 end:0x000005B8 - .data start:0x00000C50 end:0x00000C98 - .bss start:0x000008B8 end:0x000008C0 diff --git a/config/GMPP01_00/rels/mstoryDll/symbols.txt b/config/GMPP01_00/rels/mstoryDll/symbols.txt deleted file mode 100644 index 0956831b..00000000 --- a/config/GMPP01_00/rels/mstoryDll/symbols.txt +++ /dev/null @@ -1,500 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x4C -fn_1_4C = .text:0x0000004C; // type:function size:0x58 -fn_1_A4 = .text:0x000000A4; // type:function size:0x344 -_prolog = .text:0x000003E8; // type:function size:0x54 scope:global -_epilog = .text:0x0000043C; // type:function size:0x4C scope:global -fn_1_488 = .text:0x00000488; // type:function size:0x1D0 -ObjectSetup = .text:0x00000658; // type:function size:0x1D0 -fn_1_828 = .text:0x00000828; // type:function size:0x28 -fn_1_850 = .text:0x00000850; // type:function size:0x20 -fn_1_870 = .text:0x00000870; // type:function size:0xD8 -fn_1_948 = .text:0x00000948; // type:function size:0xC8 -fn_1_A10 = .text:0x00000A10; // type:function size:0xBC -fn_1_ACC = .text:0x00000ACC; // type:function size:0xBC -fn_1_B88 = .text:0x00000B88; // type:function size:0x4 -fn_1_B8C = .text:0x00000B8C; // type:function size:0x20 -fn_1_BAC = .text:0x00000BAC; // type:function size:0x28 -fn_1_BD4 = .text:0x00000BD4; // type:function size:0x20 -fn_1_BF4 = .text:0x00000BF4; // type:function size:0x24 -fn_1_C18 = .text:0x00000C18; // type:function size:0x20 -fn_1_C38 = .text:0x00000C38; // type:function size:0xA48 -fn_1_1680 = .text:0x00001680; // type:function size:0x1B4 -fn_1_1834 = .text:0x00001834; // type:function size:0x1D0 -fn_1_1A04 = .text:0x00001A04; // type:function size:0x60 -fn_1_1A64 = .text:0x00001A64; // type:function size:0x68 -fn_1_1ACC = .text:0x00001ACC; // type:function size:0xAC -fn_1_1B78 = .text:0x00001B78; // type:function size:0xBC -fn_1_1C34 = .text:0x00001C34; // type:function size:0xB4 -fn_1_1CE8 = .text:0x00001CE8; // type:function size:0x34 -fn_1_1D1C = .text:0x00001D1C; // type:function size:0x40 -fn_1_1D5C = .text:0x00001D5C; // type:function size:0x70 -fn_1_1DCC = .text:0x00001DCC; // type:function size:0x178 -fn_1_1F44 = .text:0x00001F44; // type:function size:0x2E0 -fn_1_2224 = .text:0x00002224; // type:function size:0x90 -fn_1_22B4 = .text:0x000022B4; // type:function size:0x48 -fn_1_22FC = .text:0x000022FC; // type:function size:0x54 -fn_1_2350 = .text:0x00002350; // type:function size:0x3C0 -fn_1_2710 = .text:0x00002710; // type:function size:0x10 -fn_1_2720 = .text:0x00002720; // type:function size:0x10 -fn_1_2730 = .text:0x00002730; // type:function size:0xB8 -fn_1_27E8 = .text:0x000027E8; // type:function size:0x120 -fn_1_2908 = .text:0x00002908; // type:function size:0x3A8 -fn_1_2CB0 = .text:0x00002CB0; // type:function size:0x7F4 -fn_1_34A4 = .text:0x000034A4; // type:function size:0x88 -fn_1_352C = .text:0x0000352C; // type:function size:0x94 -fn_1_35C0 = .text:0x000035C0; // type:function size:0x58 -fn_1_3618 = .text:0x00003618; // type:function size:0xEC -fn_1_3704 = .text:0x00003704; // type:function size:0xC4 -fn_1_37C8 = .text:0x000037C8; // type:function size:0x3C -fn_1_3804 = .text:0x00003804; // type:function size:0x44 -fn_1_3848 = .text:0x00003848; // type:function size:0x274 -fn_1_3ABC = .text:0x00003ABC; // type:function size:0x26C -fn_1_3D28 = .text:0x00003D28; // type:function size:0x22C -fn_1_3F54 = .text:0x00003F54; // type:function size:0x27C -fn_1_41D0 = .text:0x000041D0; // type:function size:0x2B4 -fn_1_4484 = .text:0x00004484; // type:function size:0x46C -fn_1_48F0 = .text:0x000048F0; // type:function size:0x454 -fn_1_4D44 = .text:0x00004D44; // type:function size:0x48C -fn_1_51D0 = .text:0x000051D0; // type:function size:0x658 -fn_1_5828 = .text:0x00005828; // type:function size:0x4C4 -fn_1_5CEC = .text:0x00005CEC; // type:function size:0x4FC -fn_1_61E8 = .text:0x000061E8; // type:function size:0x6C8 -fn_1_68B0 = .text:0x000068B0; // type:function size:0xC4 -fn_1_6974 = .text:0x00006974; // type:function size:0x188 -fn_1_6AFC = .text:0x00006AFC; // type:function size:0x34 -fn_1_6B30 = .text:0x00006B30; // type:function size:0x40 -fn_1_6B70 = .text:0x00006B70; // type:function size:0xAC -fn_1_6C1C = .text:0x00006C1C; // type:function size:0x1E8 -fn_1_6E04 = .text:0x00006E04; // type:function size:0xB4 -fn_1_6EB8 = .text:0x00006EB8; // type:function size:0x170 -fn_1_7028 = .text:0x00007028; // type:function size:0x68 -fn_1_7090 = .text:0x00007090; // type:function size:0xA4 -fn_1_7134 = .text:0x00007134; // type:function size:0x1E8 -fn_1_731C = .text:0x0000731C; // type:function size:0x69C -fn_1_79B8 = .text:0x000079B8; // type:function size:0x128 -fn_1_7AE0 = .text:0x00007AE0; // type:function size:0x390 -fn_1_7E70 = .text:0x00007E70; // type:function size:0x5C -fn_1_7ECC = .text:0x00007ECC; // type:function size:0x1C4 -fn_1_8090 = .text:0x00008090; // type:function size:0x320 -fn_1_83B0 = .text:0x000083B0; // type:function size:0x58 -fn_1_8408 = .text:0x00008408; // type:function size:0x3D4 -fn_1_87DC = .text:0x000087DC; // type:function size:0x268 -fn_1_8A44 = .text:0x00008A44; // type:function size:0x9C -fn_1_8AE0 = .text:0x00008AE0; // type:function size:0x2E0 -fn_1_8DC0 = .text:0x00008DC0; // type:function size:0xAC -fn_1_8E6C = .text:0x00008E6C; // type:function size:0xFC -fn_1_8F68 = .text:0x00008F68; // type:function size:0x36C -fn_1_92D4 = .text:0x000092D4; // type:function size:0x134 -fn_1_9408 = .text:0x00009408; // type:function size:0x310 -fn_1_9718 = .text:0x00009718; // type:function size:0x18C -fn_1_98A4 = .text:0x000098A4; // type:function size:0x88 -fn_1_992C = .text:0x0000992C; // type:function size:0x3DC -fn_1_9D08 = .text:0x00009D08; // type:function size:0x300 -fn_1_A008 = .text:0x0000A008; // type:function size:0xE4 -fn_1_A0EC = .text:0x0000A0EC; // type:function size:0x38C -fn_1_A478 = .text:0x0000A478; // type:function size:0x8C -fn_1_A504 = .text:0x0000A504; // type:function size:0xF0 -fn_1_A5F4 = .text:0x0000A5F4; // type:function size:0x23C -fn_1_A830 = .text:0x0000A830; // type:function size:0xC8 -fn_1_A8F8 = .text:0x0000A8F8; // type:function size:0x2B4 -fn_1_ABAC = .text:0x0000ABAC; // type:function size:0x150 -fn_1_ACFC = .text:0x0000ACFC; // type:function size:0x134 -fn_1_AE30 = .text:0x0000AE30; // type:function size:0x8C -fn_1_AEBC = .text:0x0000AEBC; // type:function size:0x374 -fn_1_B230 = .text:0x0000B230; // type:function size:0x5C -fn_1_B28C = .text:0x0000B28C; // type:function size:0x214 -fn_1_B4A0 = .text:0x0000B4A0; // type:function size:0xE8 -fn_1_B588 = .text:0x0000B588; // type:function size:0xE8 -fn_1_B670 = .text:0x0000B670; // type:function size:0x11C -fn_1_B78C = .text:0x0000B78C; // type:function size:0x13C -fn_1_B8C8 = .text:0x0000B8C8; // type:function size:0x4 -fn_1_B8CC = .text:0x0000B8CC; // type:function size:0x104 -fn_1_B9D0 = .text:0x0000B9D0; // type:function size:0x208 -fn_1_BBD8 = .text:0x0000BBD8; // type:function size:0x788 -fn_1_C360 = .text:0x0000C360; // type:function size:0xB4 -fn_1_C414 = .text:0x0000C414; // type:function size:0x2F4 -fn_1_C708 = .text:0x0000C708; // type:function size:0xBC -fn_1_C7C4 = .text:0x0000C7C4; // type:function size:0x384 -fn_1_CB48 = .text:0x0000CB48; // type:function size:0x300 -fn_1_CE48 = .text:0x0000CE48; // type:function size:0xAC -fn_1_CEF4 = .text:0x0000CEF4; // type:function size:0xE4 -fn_1_CFD8 = .text:0x0000CFD8; // type:function size:0xC4 -fn_1_D09C = .text:0x0000D09C; // type:function size:0xE4 -fn_1_D180 = .text:0x0000D180; // type:function size:0x3FC -fn_1_D57C = .text:0x0000D57C; // type:function size:0x134 -fn_1_D6B0 = .text:0x0000D6B0; // type:function size:0x2F8 -fn_1_D9A8 = .text:0x0000D9A8; // type:function size:0xFC -fn_1_DAA4 = .text:0x0000DAA4; // type:function size:0x164 -fn_1_DC08 = .text:0x0000DC08; // type:function size:0x118 -fn_1_DD20 = .text:0x0000DD20; // type:function size:0xE4 -fn_1_DE04 = .text:0x0000DE04; // type:function size:0x424 -fn_1_E228 = .text:0x0000E228; // type:function size:0x8C -fn_1_E2B4 = .text:0x0000E2B4; // type:function size:0x130 -fn_1_E3E4 = .text:0x0000E3E4; // type:function size:0x23C -fn_1_E620 = .text:0x0000E620; // type:function size:0xF0 -fn_1_E710 = .text:0x0000E710; // type:function size:0x118 -fn_1_E828 = .text:0x0000E828; // type:function size:0x8C -fn_1_E8B4 = .text:0x0000E8B4; // type:function size:0x34C -fn_1_EC00 = .text:0x0000EC00; // type:function size:0x5C -fn_1_EC5C = .text:0x0000EC5C; // type:function size:0x384 -fn_1_EFE0 = .text:0x0000EFE0; // type:function size:0x70 -fn_1_F050 = .text:0x0000F050; // type:function size:0x14C -fn_1_F19C = .text:0x0000F19C; // type:function size:0x5E4 -fn_1_F780 = .text:0x0000F780; // type:function size:0xEC -fn_1_F86C = .text:0x0000F86C; // type:function size:0xA4 -fn_1_F910 = .text:0x0000F910; // type:function size:0x1D4 -fn_1_FAE4 = .text:0x0000FAE4; // type:function size:0x238 -fn_1_FD1C = .text:0x0000FD1C; // type:function size:0xB4 -fn_1_FDD0 = .text:0x0000FDD0; // type:function size:0x4C8 -fn_1_10298 = .text:0x00010298; // type:function size:0xEC -fn_1_10384 = .text:0x00010384; // type:function size:0xCC -fn_1_10450 = .text:0x00010450; // type:function size:0xFC -fn_1_1054C = .text:0x0001054C; // type:function size:0xAC -fn_1_105F8 = .text:0x000105F8; // type:function size:0x300 -fn_1_108F8 = .text:0x000108F8; // type:function size:0x374 -fn_1_10C6C = .text:0x00010C6C; // type:function size:0xE4 -fn_1_10D50 = .text:0x00010D50; // type:function size:0x1D4 -fn_1_10F24 = .text:0x00010F24; // type:function size:0xAC -fn_1_10FD0 = .text:0x00010FD0; // type:function size:0x2D0 -fn_1_112A0 = .text:0x000112A0; // type:function size:0x8C -fn_1_1132C = .text:0x0001132C; // type:function size:0xF0 -fn_1_1141C = .text:0x0001141C; // type:function size:0x118 -fn_1_11534 = .text:0x00011534; // type:function size:0xF0 -fn_1_11624 = .text:0x00011624; // type:function size:0x10C -fn_1_11730 = .text:0x00011730; // type:function size:0x35C -fn_1_11A8C = .text:0x00011A8C; // type:function size:0x5C -fn_1_11AE8 = .text:0x00011AE8; // type:function size:0x184 -fn_1_11C6C = .text:0x00011C6C; // type:function size:0x16C -fn_1_11DD8 = .text:0x00011DD8; // type:function size:0xEC -fn_1_11EC4 = .text:0x00011EC4; // type:function size:0x64 -fn_1_11F28 = .text:0x00011F28; // type:function size:0x4 -fn_1_11F2C = .text:0x00011F2C; // type:function size:0x144 -fn_1_12070 = .text:0x00012070; // type:function size:0x5C0 -fn_1_12630 = .text:0x00012630; // type:function size:0xB4 -fn_1_126E4 = .text:0x000126E4; // type:function size:0x234 -fn_1_12918 = .text:0x00012918; // type:function size:0xBC -fn_1_129D4 = .text:0x000129D4; // type:function size:0x2C0 -fn_1_12C94 = .text:0x00012C94; // type:function size:0xE4 -fn_1_12D78 = .text:0x00012D78; // type:function size:0x1A8 -fn_1_12F20 = .text:0x00012F20; // type:function size:0x88 -fn_1_12FA8 = .text:0x00012FA8; // type:function size:0x118 -fn_1_130C0 = .text:0x000130C0; // type:function size:0x22C -fn_1_132EC = .text:0x000132EC; // type:function size:0x284 -fn_1_13570 = .text:0x00013570; // type:function size:0x310 -fn_1_13880 = .text:0x00013880; // type:function size:0x8C -fn_1_1390C = .text:0x0001390C; // type:function size:0x23C -fn_1_13B48 = .text:0x00013B48; // type:function size:0xEC -fn_1_13C34 = .text:0x00013C34; // type:function size:0x1F8 -fn_1_13E2C = .text:0x00013E2C; // type:function size:0x324 -fn_1_14150 = .text:0x00014150; // type:function size:0x50 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0xC scope:local data:2byte -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x64 scope:local -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x64 scope:local -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x64 scope:local -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 scope:local data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x3C scope:local data:4byte -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 scope:local data:float -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 scope:local data:float -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 scope:local data:float -lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 scope:local data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 scope:local data:float -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 scope:local data:float -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x60 -lbl_1_data_60 = .data:0x00000060; // type:object size:0x27 scope:local data:string -lbl_1_data_87 = .data:0x00000087; // type:object size:0x26 scope:local data:string -lbl_1_data_AD = .data:0x000000AD; // type:object size:0x2A scope:local data:string -lbl_1_data_D7 = .data:0x000000D7; // type:object size:0x29 scope:local data:string -lbl_1_data_100 = .data:0x00000100; // type:object size:0x10 -lbl_1_data_110 = .data:0x00000110; // type:object size:0x28 scope:local data:string -lbl_1_data_138 = .data:0x00000138; // type:object size:0x10 scope:local data:string -lbl_1_data_148 = .data:0x00000148; // type:object size:0x3 scope:local data:string -lbl_1_data_14B = .data:0x0000014B; // type:object size:0x1A scope:local data:string -lbl_1_data_165 = .data:0x00000165; // type:object size:0x1A scope:local data:string -lbl_1_data_17F = .data:0x0000017F; // type:object size:0x11 -lbl_1_data_190 = .data:0x00000190; // type:object size:0x50 -lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0x3C -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x16 scope:local data:string -lbl_1_data_232 = .data:0x00000232; // type:object size:0x15 scope:local data:string -lbl_1_data_247 = .data:0x00000247; // type:object size:0x16 scope:local data:string -lbl_1_data_25D = .data:0x0000025D; // type:object size:0x15 scope:local data:string -lbl_1_data_272 = .data:0x00000272; // type:object size:0x17 scope:local data:string -lbl_1_data_289 = .data:0x00000289; // type:object size:0x16 scope:local data:string -lbl_1_data_29F = .data:0x0000029F; // type:object size:0x16 scope:local data:string -lbl_1_data_2B5 = .data:0x000002B5; // type:object size:0x15 scope:local data:string -lbl_1_data_2CA = .data:0x000002CA; // type:object size:0xF scope:local data:string -lbl_1_data_2D9 = .data:0x000002D9; // type:object size:0x1C scope:local data:string -lbl_1_data_2F5 = .data:0x000002F5; // type:object size:0x1D scope:local data:string -lbl_1_data_312 = .data:0x00000312; // type:object size:0x17 scope:local data:string -lbl_1_data_329 = .data:0x00000329; // type:object size:0xF scope:local data:string -lbl_1_data_338 = .data:0x00000338; // type:object size:0x1C -lbl_1_data_354 = .data:0x00000354; // type:object size:0x34 -lbl_1_data_388 = .data:0x00000388; // type:object size:0x50 -lbl_1_data_3D8 = .data:0x000003D8; // type:object size:0x3C -lbl_1_data_414 = .data:0x00000414; // type:object size:0x16 scope:local data:string -lbl_1_data_42A = .data:0x0000042A; // type:object size:0x15 scope:local data:string -lbl_1_data_43F = .data:0x0000043F; // type:object size:0x16 scope:local data:string -lbl_1_data_455 = .data:0x00000455; // type:object size:0x15 scope:local data:string -lbl_1_data_46A = .data:0x0000046A; // type:object size:0x16 scope:local data:string -lbl_1_data_480 = .data:0x00000480; // type:object size:0x15 scope:local data:string -lbl_1_data_495 = .data:0x00000495; // type:object size:0x17 scope:local data:string -lbl_1_data_4AC = .data:0x000004AC; // type:object size:0x16 scope:local data:string -lbl_1_data_4C2 = .data:0x000004C2; // type:object size:0xA scope:local data:string -lbl_1_data_4CC = .data:0x000004CC; // type:object size:0x1C scope:local data:string -lbl_1_data_4E8 = .data:0x000004E8; // type:object size:0x1D scope:local data:string -lbl_1_data_505 = .data:0x00000505; // type:object size:0xF scope:local data:string -lbl_1_data_514 = .data:0x00000514; // type:object size:0x1B scope:local data:string -lbl_1_data_52F = .data:0x0000052F; // type:object size:0x8 scope:local data:string -lbl_1_data_537 = .data:0x00000537; // type:object size:0x9 -lbl_1_data_540 = .data:0x00000540; // type:object size:0x30 -lbl_1_data_570 = .data:0x00000570; // type:object size:0x3C0 -lbl_1_data_930 = .data:0x00000930; // type:object size:0x50 -lbl_1_data_980 = .data:0x00000980; // type:object size:0x15 scope:local data:string -lbl_1_data_995 = .data:0x00000995; // type:object size:0x14 scope:local data:string -lbl_1_data_9A9 = .data:0x000009A9; // type:object size:0x15 scope:local data:string -lbl_1_data_9BE = .data:0x000009BE; // type:object size:0x14 scope:local data:string -lbl_1_data_9D2 = .data:0x000009D2; // type:object size:0x15 scope:local data:string -lbl_1_data_9E7 = .data:0x000009E7; // type:object size:0x14 scope:local data:string -lbl_1_data_9FB = .data:0x000009FB; // type:object size:0x15 scope:local data:string -lbl_1_data_A10 = .data:0x00000A10; // type:object size:0x14 scope:local data:string -lbl_1_data_A24 = .data:0x00000A24; // type:object size:0xF scope:local data:string -lbl_1_data_A33 = .data:0x00000A33; // type:object size:0x1C scope:local data:string -lbl_1_data_A4F = .data:0x00000A4F; // type:object size:0x1D scope:local data:string -lbl_1_data_A6C = .data:0x00000A6C; // type:object size:0x1C scope:local data:string -lbl_1_data_A88 = .data:0x00000A88; // type:object size:0x32 scope:local data:string -lbl_1_data_ABA = .data:0x00000ABA; // type:object size:0xF scope:local data:string -lbl_1_data_AC9 = .data:0x00000AC9; // type:object size:0x11 scope:local data:string -lbl_1_data_ADA = .data:0x00000ADA; // type:object size:0xA scope:local data:string -lbl_1_data_AE4 = .data:0x00000AE4; // type:object size:0x9 scope:local data:string -lbl_1_data_AED = .data:0x00000AED; // type:object size:0xB -lbl_1_data_AF8 = .data:0x00000AF8; // type:object size:0x3C -lbl_1_data_B34 = .data:0x00000B34; // type:object size:0x15 scope:local data:string -lbl_1_data_B49 = .data:0x00000B49; // type:object size:0x14 scope:local data:string -lbl_1_data_B5D = .data:0x00000B5D; // type:object size:0x15 scope:local data:string -lbl_1_data_B72 = .data:0x00000B72; // type:object size:0x14 scope:local data:string -lbl_1_data_B86 = .data:0x00000B86; // type:object size:0x15 scope:local data:string -lbl_1_data_B9B = .data:0x00000B9B; // type:object size:0x14 scope:local data:string -lbl_1_data_BAF = .data:0x00000BAF; // type:object size:0x15 scope:local data:string -lbl_1_data_BC4 = .data:0x00000BC4; // type:object size:0x14 scope:local data:string -lbl_1_data_BD8 = .data:0x00000BD8; // type:object size:0xF scope:local data:string -lbl_1_data_BE7 = .data:0x00000BE7; // type:object size:0x1C scope:local data:string -lbl_1_data_C03 = .data:0x00000C03; // type:object size:0x1D scope:local data:string -lbl_1_data_C20 = .data:0x00000C20; // type:object size:0xF scope:local data:string -lbl_1_data_C2F = .data:0x00000C2F; // type:object size:0x21 -lbl_1_data_C50 = .data:0x00000C50; // type:object size:0x48 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x44 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x10 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x10 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x3C data:4byte -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x28 data:4byte -lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0xA0 -lbl_1_bss_174 = .bss:0x00000174; // type:object size:0x28 data:4byte -lbl_1_bss_19C = .bss:0x0000019C; // type:object size:0x28 data:4byte -lbl_1_bss_1C4 = .bss:0x000001C4; // type:object size:0x104 data:4byte -lbl_1_bss_2C8 = .bss:0x000002C8; // type:object size:0x4 data:4byte -lbl_1_bss_2CC = .bss:0x000002CC; // type:object size:0x4 data:4byte -lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x60 data:4byte -lbl_1_bss_330 = .bss:0x00000330; // type:object size:0x8 data:4byte -lbl_1_bss_338 = .bss:0x00000338; // type:object size:0xA0 -lbl_1_bss_3D8 = .bss:0x000003D8; // type:object size:0x28 data:4byte -lbl_1_bss_400 = .bss:0x00000400; // type:object size:0x28 data:4byte -lbl_1_bss_428 = .bss:0x00000428; // type:object size:0x28 data:4byte -lbl_1_bss_450 = .bss:0x00000450; // type:object size:0x108 data:float -lbl_1_bss_558 = .bss:0x00000558; // type:object size:0x4 data:4byte -lbl_1_bss_55C = .bss:0x0000055C; // type:object size:0x4 data:4byte -lbl_1_bss_560 = .bss:0x00000560; // type:object size:0x8 data:4byte -lbl_1_bss_568 = .bss:0x00000568; // type:object size:0x28 data:4byte -lbl_1_bss_590 = .bss:0x00000590; // type:object size:0x28 data:4byte -lbl_1_bss_5B8 = .bss:0x000005B8; // type:object size:0x28 data:4byte -lbl_1_bss_5E0 = .bss:0x000005E0; // type:object size:0x28 data:4byte -lbl_1_bss_608 = .bss:0x00000608; // type:object size:0x108 data:4byte -lbl_1_bss_710 = .bss:0x00000710; // type:object size:0x4 data:4byte -lbl_1_bss_714 = .bss:0x00000714; // type:object size:0x28 data:4byte -lbl_1_bss_73C = .bss:0x0000073C; // type:object size:0x28 data:4byte -lbl_1_bss_764 = .bss:0x00000764; // type:object size:0x28 data:4byte -lbl_1_bss_78C = .bss:0x0000078C; // type:object size:0x28 data:4byte -lbl_1_bss_7B4 = .bss:0x000007B4; // type:object size:0x104 data:4byte -lbl_1_bss_8B8 = .bss:0x000008B8; // type:object size:0x4 data:4byte -lbl_1_bss_8BC = .bss:0x000008BC; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/nisDll/splits.txt b/config/GMPP01_00/rels/nisDll/splits.txt deleted file mode 100644 index 2e500fe0..00000000 --- a/config/GMPP01_00/rels/nisDll/splits.txt +++ /dev/null @@ -1,5 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 diff --git a/config/GMPP01_00/rels/nisDll/symbols.txt b/config/GMPP01_00/rels/nisDll/symbols.txt deleted file mode 100644 index 1143328c..00000000 --- a/config/GMPP01_00/rels/nisDll/symbols.txt +++ /dev/null @@ -1,6 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x68 -fn_1_68 = .text:0x00000068; // type:function size:0x2C -_prolog = .text:0x00000094; // type:function size:0x9C scope:global -_epilog = .text:0x00000130; // type:function size:0x4C scope:global -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte diff --git a/config/GMPP01_00/rels/option/splits.txt b/config/GMPP01_00/rels/option/splits.txt deleted file mode 100644 index 0b7d9789..00000000 --- a/config/GMPP01_00/rels/option/splits.txt +++ /dev/null @@ -1,61 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/option/scene.c: - .text start:0x000000A0 end:0x000007F8 - .rodata start:0x00000000 end:0x00000028 - .bss start:0x00000000 end:0x00000010 - -REL/option/camera.c: - .text start:0x000007F8 end:0x000015A4 - .rodata start:0x00000028 end:0x000000A8 - .data start:0x00000000 end:0x00000068 - .bss start:0x00000010 end:0x00000018 - -REL/option/room.c: - .text start:0x000015A4 end:0x000021F8 - .rodata start:0x000000A8 end:0x000000E0 - .data start:0x00000068 end:0x00000098 - .bss start:0x00000018 end:0x00000020 - -REL/option/guide.c: - .text start:0x000021F8 end:0x00002E04 - .rodata start:0x000000E0 end:0x00000160 - .data start:0x00000098 end:0x000000A0 - .bss start:0x00000020 end:0x00000028 - -REL/option/state.c: - .text start:0x00002E04 end:0x00003158 - .rodata start:0x00000160 end:0x00000170 - .data start:0x000000A0 end:0x00000108 - .bss start:0x00000028 end:0x00000030 - -REL/option/rumble.c: - .text start:0x00003158 end:0x00004028 - .rodata start:0x00000170 end:0x000001A8 - .data start:0x00000108 end:0x00000118 - .bss start:0x00000030 end:0x00000038 - -REL/option/sound.c: - .text start:0x00004028 end:0x000080E4 - .rodata start:0x000001A8 end:0x000013C0 - .data start:0x00000118 end:0x00000210 - .bss start:0x00000038 end:0x00000040 - -REL/option/record.c: - .text start:0x000080E4 end:0x0000A3E8 - .rodata start:0x000013C0 end:0x000019C8 - .data start:0x00000210 end:0x00000254 - .bss start:0x00000040 end:0x00000044 - -REL/option/window.c: - .text start:0x0000A3E8 end:0x0000A948 - .rodata start:0x000019C8 end:0x000019E8 diff --git a/config/GMPP01_00/rels/option/symbols.txt b/config/GMPP01_00/rels/option/symbols.txt deleted file mode 100644 index 16625f3c..00000000 --- a/config/GMPP01_00/rels/option/symbols.txt +++ /dev/null @@ -1,381 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0xC0 -OptionFadeSprite = .text:0x00000160; // type:function size:0x110 -FadeSprite = .text:0x00000270; // type:function size:0xE4 scope:local -OptionFadeModel = .text:0x00000354; // type:function size:0x114 scope:local -FadeModel = .text:0x00000468; // type:function size:0xE8 scope:local -OptionPadCheck = .text:0x00000550; // type:function size:0x34 -OptionPadDStkRepCheck = .text:0x00000584; // type:function size:0x34 -OptionPadDStkCheck = .text:0x000005B8; // type:function size:0x34 -SceneMain = .text:0x000005EC; // type:function size:0xFC scope:local -KillScene = .text:0x000006E8; // type:function size:0x110 scope:local -OptionCameraCreate = .text:0x000007F8; // type:function size:0x244 -OptionCameraKill = .text:0x00000A3C; // type:function size:0x30 -OptionCameraTargetSet = .text:0x00000A6C; // type:function size:0x84 -OptionCameraFocusSet = .text:0x00000AF0; // type:function size:0x84 -OptionCameraViewSet = .text:0x00000B74; // type:function size:0x84 -OptionCameraZoomGet = .text:0x00000BF8; // type:function size:0x30 -OptionCameraRotGet = .text:0x00000C28; // type:function size:0x30 -OptionCameraPosGet = .text:0x00000C58; // type:function size:0x30 -OptionCameraTargetGet = .text:0x00000C88; // type:function size:0x30 -OptionCameraDoneCheck = .text:0x00000CB8; // type:function size:0x8C -ExecCameraObj = .text:0x00000D44; // type:function size:0x28 scope:local -ExecCamera = .text:0x00000D6C; // type:function size:0x578 scope:local -CameraExecDebug = .text:0x000012E4; // type:function size:0x200 scope:local -CameraPrintDebug = .text:0x000014E4; // type:function size:0xC0 scope:local -OptionRoomCreate = .text:0x000015A4; // type:function size:0x1F4 -OptionRoomKill = .text:0x00001798; // type:function size:0xAC -MoveOption = .text:0x00001844; // type:function size:0x1E8 scope:local -OptionRoomExecModeSet = .text:0x00001A2C; // type:function size:0x44 -OptionRoomExecModeGet = .text:0x00001A70; // type:function size:0x1C -ExecRoom = .text:0x00001A8C; // type:function size:0x5FC scope:local -CreateRoomBG = .text:0x00002088; // type:function size:0x88 scope:local -KillRoomBG = .text:0x00002110; // type:function size:0x34 scope:local -CreateArrow = .text:0x00002144; // type:function size:0x80 scope:local -KillArrow = .text:0x000021C4; // type:function size:0x34 scope:local -OptionGuideCreate = .text:0x000021F8; // type:function size:0x224 -OptionGuideKill = .text:0x0000241C; // type:function size:0x8C -SetExecMode = .text:0x000024A8; // type:function size:0x44 scope:local -GetExecMode = .text:0x000024EC; // type:function size:0x1C scope:local -OptionGuideWalkExec = .text:0x00002508; // type:function size:0xA4 -ExecGuide = .text:0x000025AC; // type:function size:0x46C scope:local -UpdateGuide = .text:0x00002A18; // type:function size:0x2E8 scope:local -LerpAngle = .text:0x00002D00; // type:function size:0x104 scope:local -OptionStateCreate = .text:0x00002E04; // type:function size:0x148 -OptionStateKill = .text:0x00002F4C; // type:function size:0x64 -ExecState = .text:0x00002FB0; // type:function size:0x1A8 scope:local -OptionRumbleCreate = .text:0x00003158; // type:function size:0xD4 -OptionRumbleKill = .text:0x0000322C; // type:function size:0x64 -OptionRumbleExecModeSet = .text:0x00003290; // type:function size:0x44 -OptionRumbleExecModeGet = .text:0x000032D4; // type:function size:0x1C -ExecRumble = .text:0x000032F0; // type:function size:0x4BC scope:local -CreateHand = .text:0x000037AC; // type:function size:0xBC scope:local -KillHand = .text:0x00003868; // type:function size:0x54 scope:local -CreateSystem = .text:0x000038BC; // type:function size:0xD0 scope:local -KillSystem = .text:0x0000398C; // type:function size:0x54 scope:local -StartSystemMotion = .text:0x000039E0; // type:function size:0x128 scope:local -CreatePad = .text:0x00003B08; // type:function size:0x84 scope:local -KillPad = .text:0x00003B8C; // type:function size:0x54 scope:local -ShakePad = .text:0x00003BE0; // type:function size:0x8C scope:local -CreatePadFilter = .text:0x00003C6C; // type:function size:0x94 scope:local -KillPadFilter = .text:0x00003D00; // type:function size:0x54 scope:local -OptionRumbleMotionShowStart = .text:0x00003D54; // type:function size:0xC8 -OptionRumbleMotionHideStart = .text:0x00003E1C; // type:function size:0xB4 -OptionRumbleMotionCheck = .text:0x00003ED0; // type:function size:0x58 -CreateHiliteOn = .text:0x00003F28; // type:function size:0xAC scope:local -KillHiliteOn = .text:0x00003FD4; // type:function size:0x54 scope:local -OptionSoundCreate = .text:0x00004028; // type:function size:0x2B4 -OptionSoundKill = .text:0x000042DC; // type:function size:0xAC -OptionSoundExecModeSet = .text:0x00004388; // type:function size:0x44 -OptionSoundExecModeGet = .text:0x000043CC; // type:function size:0x1C -ExecZoom = .text:0x000043E8; // type:function size:0x270 scope:local -ExecOptionSel = .text:0x00004658; // type:function size:0x424 scope:local -ExecOutputMode = .text:0x00004A7C; // type:function size:0x3D4 scope:local -ExecMusic = .text:0x00004E50; // type:function size:0x93C scope:local -ExecVoice = .text:0x0000578C; // type:function size:0x8B8 scope:local -LightSetCurr = .text:0x00006044; // type:function size:0xF8 scope:local -LightSetNone = .text:0x0000613C; // type:function size:0x64 scope:local -CreateHand = .text:0x000061A0; // type:function size:0xFC scope:local -KillHand = .text:0x0000629C; // type:function size:0x54 scope:local -CreateOutputModeHand = .text:0x000062F0; // type:function size:0xFC scope:local -KillOutputModeHand = .text:0x000063EC; // type:function size:0x54 scope:local -CreateSystem = .text:0x00006440; // type:function size:0x94 scope:local -KillSystem = .text:0x000064D4; // type:function size:0x54 scope:local -CreateLightObj = .text:0x00006528; // type:function size:0x118 scope:local -KillLightObj = .text:0x00006640; // type:function size:0x54 scope:local -LightDispOff = .text:0x00006694; // type:function size:0x38 scope:local -LightDispOn = .text:0x000066CC; // type:function size:0x38 scope:local -CreateSpr = .text:0x00006704; // type:function size:0xC4 scope:local -KillSpr = .text:0x000067C8; // type:function size:0x60 scope:local -OptionSelDisp = .text:0x00006828; // type:function size:0x1E4 scope:local -OptionSelHide = .text:0x00006A0C; // type:function size:0x74 scope:local -OutputModeDisp = .text:0x00006A80; // type:function size:0x1DC scope:local -OutputModeHide = .text:0x00006C5C; // type:function size:0x74 scope:local -MusicPageDisp = .text:0x00006CD0; // type:function size:0x1D4 scope:local -MusicPageHide = .text:0x00006EA4; // type:function size:0xA4 scope:local -VoicePageDisp = .text:0x00006F48; // type:function size:0x1D4 scope:local -VoicePageHide = .text:0x0000711C; // type:function size:0xA4 scope:local -CreateNoteObj = .text:0x000071C0; // type:function size:0xE8 scope:local -KillNote = .text:0x000072A8; // type:function size:0x68 scope:local -HandleNote = .text:0x00007310; // type:function size:0x400 scope:local -CreateNote = .text:0x00007710; // type:function size:0x190 scope:local -CreateNoteSpawner = .text:0x000078A0; // type:function size:0x60 scope:local -KillNoteSpawner = .text:0x00007900; // type:function size:0x3C scope:local -ExecNoteSpawner = .text:0x0000793C; // type:function size:0x5C4 scope:local -PlaySound = .text:0x00007F00; // type:function size:0x148 scope:local -FadeSound = .text:0x00008048; // type:function size:0x9C scope:local -OptionRecordCreate = .text:0x000080E4; // type:function size:0x178 -OptionRecordKill = .text:0x0000825C; // type:function size:0x54 -OptionRecordExecModeSet = .text:0x000082B0; // type:function size:0x44 -OptionRecordExecModeGet = .text:0x000082F4; // type:function size:0x1C -ExecRecord = .text:0x00008310; // type:function size:0x778 scope:local -CreateSystem = .text:0x00008A88; // type:function size:0xD0 scope:local -KillSystem = .text:0x00008B58; // type:function size:0x54 scope:local -StartSystemMotion = .text:0x00008BAC; // type:function size:0xD8 scope:local -CreateHand = .text:0x00008C84; // type:function size:0xFC scope:local -KillHand = .text:0x00008D80; // type:function size:0x54 scope:local -CreateSpr = .text:0x00008DD4; // type:function size:0xC4 scope:local -KillSpr = .text:0x00008E98; // type:function size:0x60 scope:local -GetDigit = .text:0x00008EF8; // type:function size:0x40 scope:local -ShowBoard = .text:0x00008F38; // type:function size:0x72C scope:local -HideBoard = .text:0x00009664; // type:function size:0x9C scope:local -ShowTotal = .text:0x00009700; // type:function size:0x344 scope:local -HideTotal = .text:0x00009A44; // type:function size:0x7C scope:local -ShowMG = .text:0x00009AC0; // type:function size:0x88C scope:local -HideMG = .text:0x0000A34C; // type:function size:0x9C scope:local -OptionWinCreate = .text:0x0000A3E8; // type:function size:0x260 -OptionWinKill = .text:0x0000A648; // type:function size:0x40 -OptionWinAnimIn = .text:0x0000A688; // type:function size:0x18 -OptionWinAnimOut = .text:0x0000A6A0; // type:function size:0x18 -OptionWinMesSet = .text:0x0000A6B8; // type:function size:0x54 -OptionWinInsertMesSet = .text:0x0000A70C; // type:function size:0x40 -OptionWinPosSet = .text:0x0000A74C; // type:function size:0x40 -OptionWinDispOn = .text:0x0000A78C; // type:function size:0x38 -OptionWinDispOff = .text:0x0000A7C4; // type:function size:0x38 -OptionWinMesWait = .text:0x0000A7FC; // type:function size:0x20 -OptionWinChoiceSet = .text:0x0000A81C; // type:function size:0x24 -ExecWindow = .text:0x0000A840; // type:function size:0x108 scope:local -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -_half$localstatic3$sqrtf = .rodata:0x00000000; // type:object size:0x8 scope:weak data:double -_three$localstatic4$sqrtf = .rodata:0x00000008; // type:object size:0x8 scope:weak data:double -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -guideAngleTbl = .rodata:0x000000BC; // type:object size:0xC scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0xC scope:local -guideMotTbl = .rodata:0x000000E0; // type:object size:0xC scope:local -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 scope:local data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 scope:local data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:float -musigPageNameTbl = .rodata:0x000001A8; // type:object size:0x38 scope:local -musicTbl = .rodata:0x000001E0; // type:object size:0x8C0 scope:local -voiceCharNameTbl = .rodata:0x00000AA0; // type:object size:0x30 scope:local -lbl_1_rodata_AD0 = .rodata:0x00000AD0; // type:object size:0x780 scope:local -lbl_1_rodata_1250 = .rodata:0x00001250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1254 = .rodata:0x00001254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1258 = .rodata:0x00001258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_125C = .rodata:0x0000125C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1260 = .rodata:0x00001260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1264 = .rodata:0x00001264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1268 = .rodata:0x00001268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1270 = .rodata:0x00001270; // type:object size:0x8 scope:local data:double -outputModeTbl = .rodata:0x00001278; // type:object size:0x8 scope:local -soundModeTbl = .rodata:0x00001280; // type:object size:0x8 scope:local -soundModeNameTbl = .rodata:0x00001288; // type:object size:0x8 scope:local -lbl_1_rodata_1290 = .rodata:0x00001290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1294 = .rodata:0x00001294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1298 = .rodata:0x00001298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_129C = .rodata:0x0000129C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12A0 = .rodata:0x000012A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12A4 = .rodata:0x000012A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12A8 = .rodata:0x000012A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12AC = .rodata:0x000012AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12B0 = .rodata:0x000012B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12B4 = .rodata:0x000012B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12B8 = .rodata:0x000012B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12BC = .rodata:0x000012BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C0 = .rodata:0x000012C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C4 = .rodata:0x000012C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C8 = .rodata:0x000012C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12CC = .rodata:0x000012CC; // type:object size:0x4 scope:local data:float -lightPosTbl = .rodata:0x000012D0; // type:object size:0x24 scope:local -lbl_1_rodata_12F4 = .rodata:0x000012F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12F8 = .rodata:0x000012F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12FC = .rodata:0x000012FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1300 = .rodata:0x00001300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1304 = .rodata:0x00001304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1308 = .rodata:0x00001308; // type:object size:0x1C scope:local -lbl_1_rodata_1324 = .rodata:0x00001324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1328 = .rodata:0x00001328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_132C = .rodata:0x0000132C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1330 = .rodata:0x00001330; // type:object size:0x14 scope:local -lbl_1_rodata_1344 = .rodata:0x00001344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1348 = .rodata:0x00001348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134C = .rodata:0x0000134C; // type:object size:0x4 scope:local -lbl_1_rodata_1350 = .rodata:0x00001350; // type:object size:0x8 scope:local -lbl_1_rodata_1358 = .rodata:0x00001358; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1360 = .rodata:0x00001360; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1368 = .rodata:0x00001368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_136C = .rodata:0x0000136C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1370 = .rodata:0x00001370; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1378 = .rodata:0x00001378; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1380 = .rodata:0x00001380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1384 = .rodata:0x00001384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1388 = .rodata:0x00001388; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1390 = .rodata:0x00001390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1394 = .rodata:0x00001394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1398 = .rodata:0x00001398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_139C = .rodata:0x0000139C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13A0 = .rodata:0x000013A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_13A8 = .rodata:0x000013A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_13B0 = .rodata:0x000013B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13B4 = .rodata:0x000013B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13B8 = .rodata:0x000013B8; // type:object size:0x8 scope:local data:float -mgRecordIdxTbl = .rodata:0x000013C0; // type:object size:0x18 scope:local -lbl_1_rodata_13D8 = .rodata:0x000013D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13DC = .rodata:0x000013DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13E0 = .rodata:0x000013E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13E4 = .rodata:0x000013E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13E8 = .rodata:0x000013E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13EC = .rodata:0x000013EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13F0 = .rodata:0x000013F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13F4 = .rodata:0x000013F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13F8 = .rodata:0x000013F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1400 = .rodata:0x00001400; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1408 = .rodata:0x00001408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140C = .rodata:0x0000140C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1410 = .rodata:0x00001410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1414 = .rodata:0x00001414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1418 = .rodata:0x00001418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1420 = .rodata:0x00001420; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1428 = .rodata:0x00001428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_142C = .rodata:0x0000142C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1430 = .rodata:0x00001430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1434 = .rodata:0x00001434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1438 = .rodata:0x00001438; // type:object size:0x4 scope:local data:float -sprTbl = .rodata:0x0000143C; // type:object size:0x264 scope:local -lbl_1_rodata_16A0 = .rodata:0x000016A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16A4 = .rodata:0x000016A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16A8 = .rodata:0x000016A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16AC = .rodata:0x000016AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16B0 = .rodata:0x000016B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16B4 = .rodata:0x000016B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16B8 = .rodata:0x000016B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16BC = .rodata:0x000016BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C0 = .rodata:0x000016C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C4 = .rodata:0x000016C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C8 = .rodata:0x000016C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16CC = .rodata:0x000016CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16D0 = .rodata:0x000016D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16D4 = .rodata:0x000016D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16D8 = .rodata:0x000016D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16DC = .rodata:0x000016DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16E0 = .rodata:0x000016E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16E4 = .rodata:0x000016E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16E8 = .rodata:0x000016E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16EC = .rodata:0x000016EC; // type:object size:0x4 scope:local data:float -boardSprHideTbl = .rodata:0x000016F0; // type:object size:0xD4 scope:local -lbl_1_rodata_17C4 = .rodata:0x000017C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C8 = .rodata:0x000017C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17CC = .rodata:0x000017CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17D0 = .rodata:0x000017D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17D4 = .rodata:0x000017D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17D8 = .rodata:0x000017D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17DC = .rodata:0x000017DC; // type:object size:0x4 scope:local data:float -totalSprHideTbl = .rodata:0x000017E0; // type:object size:0x84 scope:local -mgTbl = .rodata:0x00001864; // type:object size:0x48 scope:local -lbl_1_rodata_18AC = .rodata:0x000018AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18B0 = .rodata:0x000018B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18B4 = .rodata:0x000018B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18B8 = .rodata:0x000018B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18BC = .rodata:0x000018BC; // type:object size:0x4 scope:local data:float -mgSprHideTbl = .rodata:0x000018C0; // type:object size:0x108 scope:local -lbl_1_rodata_19C8 = .rodata:0x000019C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19CC = .rodata:0x000019CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19D0 = .rodata:0x000019D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19D4 = .rodata:0x000019D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19D8 = .rodata:0x000019D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19DC = .rodata:0x000019DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19E0 = .rodata:0x000019E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19E4 = .rodata:0x000019E4; // type:object size:0x4 scope:local data:float -lbl_1_data_1C = .data:0x0000001C; // type:object size:0x1B scope:local data:string -lbl_1_data_37 = .data:0x00000037; // type:object size:0x1B scope:local data:string -lbl_1_data_52 = .data:0x00000052; // type:object size:0x16 scope:local data:string -execModeTbl = .data:0x00000068; // type:object size:0x8 scope:local data:4byte -jumptable_1_data_70 = .data:0x00000070; // type:object size:0x24 scope:local -execModeTbl = .data:0x00000098; // type:object size:0x8 scope:local data:4byte -lightTbl = .data:0x000000A0; // type:object size:0x1C scope:local -shadowPosTbl = .data:0x000000BC; // type:object size:0x24 scope:local -jumptable_1_data_E0 = .data:0x000000E0; // type:object size:0x24 scope:local -execModeTbl = .data:0x00000108; // type:object size:0x8 scope:local data:4byte -lbl_1_data_110 = .data:0x00000110; // type:object size:0x8 scope:local -musicPageOn = .data:0x00000118; // type:object size:0x38 scope:local data:4byte -execModeTbl = .data:0x00000150; // type:object size:0x18 scope:local data:4byte -choiceMess = .data:0x00000168; // type:object size:0xC scope:local -jumptable_1_data_174 = .data:0x00000174; // type:object size:0x24 scope:local -jumptable_1_data_198 = .data:0x00000198; // type:object size:0x24 scope:local -spriteDataTbl = .data:0x000001BC; // type:object size:0x4C scope:local -noteMdlTbl = .data:0x00000208; // type:object size:0x8 scope:local -execModeTbl = .data:0x00000210; // type:object size:0x8 scope:local data:4byte -jumptable_1_data_218 = .data:0x00000218; // type:object size:0x1C scope:local -jumptable_1_data_234 = .data:0x00000234; // type:object size:0x20 scope:local -rumbleF = .bss:0x00000000; // type:object size:0x4 scope:local data:4byte -scene = .bss:0x00000004; // type:object size:0x4 scope:local data:4byte -optionObjMan = .bss:0x00000008; // type:object size:0x8 data:4byte -optionCamera = .bss:0x00000010; // type:object size:0x8 data:4byte -optionRoom = .bss:0x00000018; // type:object size:0x8 data:4byte -optionGuide = .bss:0x00000020; // type:object size:0x8 data:4byte -optionState = .bss:0x00000028; // type:object size:0x8 data:4byte -optionRumble = .bss:0x00000030; // type:object size:0x8 data:4byte -optionSound = .bss:0x00000038; // type:object size:0x8 data:4byte -optionRecord = .bss:0x00000040; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/present/splits.txt b/config/GMPP01_00/rels/present/splits.txt deleted file mode 100644 index 3c65c150..00000000 --- a/config/GMPP01_00/rels/present/splits.txt +++ /dev/null @@ -1,36 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/present/init.c: - .text start:0x000000A0 end:0x000006B4 - .rodata start:0x00000000 end:0x00000020 - .bss start:0x00000000 end:0x00000020 - -REL/present/camera.c: - .text start:0x000006B4 end:0x00001458 - .rodata start:0x00000020 end:0x000000A0 - .data start:0x00000000 end:0x00000050 - -REL/present/present.c: - .text start:0x00001458 end:0x000039A8 - .rodata start:0x000000A0 end:0x00000BB0 - .data start:0x00000050 end:0x000000F0 - -REL/present/main.c: - .text start:0x000039A8 end:0x000042F4 - .rodata start:0x00000BB0 end:0x00000BD8 - .data start:0x000000F0 end:0x000001A0 - .bss start:0x00000020 end:0x00000024 - -REL/present/common.c: - .text start:0x000042F4 end:0x00004DF0 - .rodata start:0x00000BD8 end:0x00000C50 - .data start:0x000001A0 end:0x000001AC diff --git a/config/GMPP01_00/rels/present/symbols.txt b/config/GMPP01_00/rels/present/symbols.txt deleted file mode 100644 index 332b6bce..00000000 --- a/config/GMPP01_00/rels/present/symbols.txt +++ /dev/null @@ -1,193 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0xA4 -PresentFadeSprite = .text:0x00000144; // type:function size:0x110 -FadeSprite = .text:0x00000254; // type:function size:0xE0 scope:local -FadeSpriteWithMultiplier = .text:0x00000334; // type:function size:0x128 -FadeModel = .text:0x0000045C; // type:function size:0xF4 scope:local -PresentPadCheck = .text:0x00000550; // type:function size:0x34 -PresentPadDStkRepCheck = .text:0x00000584; // type:function size:0x34 -PresentPadDStkCheck = .text:0x000005B8; // type:function size:0x34 -SceneMain = .text:0x000005EC; // type:function size:0xC8 scope:local -PresentCameraCreate = .text:0x000006B4; // type:function size:0x23C -PresentCameraKill = .text:0x000008F0; // type:function size:0x30 -PresentCameraTargetSet = .text:0x00000920; // type:function size:0x84 -PresentCameraFocusSet = .text:0x000009A4; // type:function size:0x84 -PresentCameraViewSet = .text:0x00000A28; // type:function size:0x84 -PresentCameraZoomGet = .text:0x00000AAC; // type:function size:0x30 -PresentCameraRotGet = .text:0x00000ADC; // type:function size:0x30 -PresentCameraPosGet = .text:0x00000B0C; // type:function size:0x30 -PresentCameraTargetGet = .text:0x00000B3C; // type:function size:0x30 -PresentCameraDoneCheck = .text:0x00000B6C; // type:function size:0x8C -ExecCameraObj = .text:0x00000BF8; // type:function size:0x28 scope:local -ExecCamera = .text:0x00000C20; // type:function size:0x578 scope:local -CameraExecDebug = .text:0x00001198; // type:function size:0x200 scope:local -CameraPrintDebug = .text:0x00001398; // type:function size:0xC0 scope:local -PresentCreate = .text:0x00001458; // type:function size:0x32C -PresentKill = .text:0x00001784; // type:function size:0x88 -PresentExecModeSet = .text:0x0000180C; // type:function size:0x44 -PresentExecModeGet = .text:0x00001850; // type:function size:0x1C -PresentSelectedIDSet = .text:0x0000186C; // type:function size:0xBC -ExecSelectRoom = .text:0x00001928; // type:function size:0x680 scope:local -ChangeRoom = .text:0x00001FA8; // type:function size:0x140 scope:local -ExecSelectPresent = .text:0x000020E8; // type:function size:0x5A4 scope:local -GetCursorPos = .text:0x0000268C; // type:function size:0x7C scope:local -SetCameraRot = .text:0x00002708; // type:function size:0x6C scope:local -RotateCamera = .text:0x00002774; // type:function size:0x17C scope:local -CameraRotationDoneCheck = .text:0x000028F0; // type:function size:0x34 scope:local -ShowHidePresents = .text:0x00002924; // type:function size:0x260 scope:local -PresentUnlocked = .text:0x00002B84; // type:function size:0x48 scope:local -UnlockedPresents = .text:0x00002BCC; // type:function size:0x90 scope:local -MoveCursor = .text:0x00002C5C; // type:function size:0x738 scope:local -TotalPresentsInRoom = .text:0x00003394; // type:function size:0x18 scope:local -ExecPresentGet = .text:0x000033AC; // type:function size:0x590 scope:local -fn_1_393C = .text:0x0000393C; // type:function size:0x6C scope:local -PresentStateCreate = .text:0x000039A8; // type:function size:0x170 -PresentStateKill = .text:0x00003B18; // type:function size:0x74 -ExecPresentView = .text:0x00003B8C; // type:function size:0x22C scope:local -ExecPresentGet = .text:0x00003DB8; // type:function size:0xEC scope:local -PresentWinCreate = .text:0x00003EA4; // type:function size:0x19C -PresentWinKill = .text:0x00004040; // type:function size:0x40 -PresentWinAnimIn = .text:0x00004080; // type:function size:0x18 -PresentWinAnimOut = .text:0x00004098; // type:function size:0x18 -PresentWinMesSet = .text:0x000040B0; // type:function size:0x54 -PresentWinInsertMesSet = .text:0x00004104; // type:function size:0x40 -PresentWinPosSet = .text:0x00004144; // type:function size:0x40 -PresentWinDispOn = .text:0x00004184; // type:function size:0xC -PresentWinDispOff = .text:0x00004190; // type:function size:0xC -PresentWinMesWait = .text:0x0000419C; // type:function size:0x20 -PresentWinChoiceSet = .text:0x000041BC; // type:function size:0x24 -ExecWindow = .text:0x000041E0; // type:function size:0x114 scope:local -PresentGuideCreate = .text:0x000042F4; // type:function size:0x240 -PresentGuideKill = .text:0x00004534; // type:function size:0x8C -PresentGuideExecModeSet = .text:0x000045C0; // type:function size:0x44 -PresentGuideExecModeGet = .text:0x00004604; // type:function size:0x1C -ExecGuideEnter = .text:0x00004620; // type:function size:0x260 scope:local -ExecGuideLeave = .text:0x00004880; // type:function size:0x184 scope:local -UpdateGuide = .text:0x00004A04; // type:function size:0x2E8 scope:local -LerpAngle = .text:0x00004CEC; // type:function size:0x104 scope:local -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -__fakeHalf = .rodata:0x00000000; // type:object size:0x8 data:double -__fakeThree = .rodata:0x00000008; // type:object size:0x8 data:double -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -presentMdlTbl = .rodata:0x000000A0; // type:object size:0x218 scope:local -roomTbl = .rodata:0x000002B8; // type:object size:0x708 scope:local -lbl_1_rodata_9C0 = .rodata:0x000009C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C4 = .rodata:0x000009C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C8 = .rodata:0x000009C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9D0 = .rodata:0x000009D0; // type:object size:0x8 scope:local data:float -roomIdxTbl = .rodata:0x000009D8; // type:object size:0x20 scope:local -roomMessTbl = .rodata:0x000009F8; // type:object size:0x28 scope:local -lbl_1_rodata_A20 = .rodata:0x00000A20; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A24 = .rodata:0x00000A24; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A28 = .rodata:0x00000A28; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A2C = .rodata:0x00000A2C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A30 = .rodata:0x00000A30; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A34 = .rodata:0x00000A34; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A38 = .rodata:0x00000A38; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A3C = .rodata:0x00000A3C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A40 = .rodata:0x00000A40; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A44 = .rodata:0x00000A44; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A48 = .rodata:0x00000A48; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A50 = .rodata:0x00000A50; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A58 = .rodata:0x00000A58; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A60 = .rodata:0x00000A60; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A68 = .rodata:0x00000A68; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A70 = .rodata:0x00000A70; // type:object size:0x4 scope:local data:float -roomPresentOffsetTbl = .rodata:0x00000A74; // type:object size:0x28 scope:local -lbl_1_rodata_A9C = .rodata:0x00000A9C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AA0 = .rodata:0x00000AA0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AA4 = .rodata:0x00000AA4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AA8 = .rodata:0x00000AA8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AAC = .rodata:0x00000AAC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AB0 = .rodata:0x00000AB0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AB8 = .rodata:0x00000AB8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_AC0 = .rodata:0x00000AC0; // type:object size:0x8 scope:local data:double -totalPresentCntTbl = .rodata:0x00000AC8; // type:object size:0x28 scope:local -presentItemIdxTbl = .rodata:0x00000AF0; // type:object size:0x28 scope:local -lbl_1_rodata_B18 = .rodata:0x00000B18; // type:object size:0x28 scope:local -constellationIdxTbl = .rodata:0x00000B40; // type:object size:0x28 scope:local -roofIdxTbl = .rodata:0x00000B68; // type:object size:0x28 scope:local -lbl_1_rodata_B90 = .rodata:0x00000B90; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B94 = .rodata:0x00000B94; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B98 = .rodata:0x00000B98; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B9C = .rodata:0x00000B9C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BA0 = .rodata:0x00000BA0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BA4 = .rodata:0x00000BA4; // type:object size:0x8 scope:local -lbl_1_rodata_BB0 = .rodata:0x00000BB0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BB4 = .rodata:0x00000BB4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BB8 = .rodata:0x00000BB8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BBC = .rodata:0x00000BBC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC0 = .rodata:0x00000BC0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC4 = .rodata:0x00000BC4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC8 = .rodata:0x00000BC8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BCC = .rodata:0x00000BCC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BD0 = .rodata:0x00000BD0; // type:object size:0x4 scope:local data:float -guideMotTbl = .rodata:0x00000BD8; // type:object size:0xC scope:local -lbl_1_rodata_BE4 = .rodata:0x00000BE4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BE8 = .rodata:0x00000BE8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BEC = .rodata:0x00000BEC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BF0 = .rodata:0x00000BF0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BF4 = .rodata:0x00000BF4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BF8 = .rodata:0x00000BF8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C00 = .rodata:0x00000C00; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C08 = .rodata:0x00000C08; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C10 = .rodata:0x00000C10; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C14 = .rodata:0x00000C14; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C18 = .rodata:0x00000C18; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C1C = .rodata:0x00000C1C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C20 = .rodata:0x00000C20; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C28 = .rodata:0x00000C28; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C30 = .rodata:0x00000C30; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C34 = .rodata:0x00000C34; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C38 = .rodata:0x00000C38; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C40 = .rodata:0x00000C40; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C48 = .rodata:0x00000C48; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4C = .rodata:0x00000C4C; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x1B scope:local data:string -lbl_1_data_1B = .data:0x0000001B; // type:object size:0x1B scope:local data:string -lbl_1_data_36 = .data:0x00000036; // type:object size:0x16 scope:local data:string -lightTbl = .data:0x00000050; // type:object size:0x1C scope:local data:4byte -execModeTbl = .data:0x0000006C; // type:object size:0x10 scope:local data:4byte -lbl_1_data_7C = .data:0x0000007C; // type:object size:0x7 scope:local data:string -roomIdxTbl2 = .data:0x00000084; // type:object size:0x20 -jumptable_1_data_A4 = .data:0x000000A4; // type:object size:0x2C scope:local -jumptable_1_data_D0 = .data:0x000000D0; // type:object size:0x1C scope:local -shadowPosTbl = .data:0x000000F0; // type:object size:0x24 scope:local data:float -lbl_1_data_114 = .data:0x00000114; // type:object size:0x2A scope:local data:string -lbl_1_data_13E = .data:0x0000013E; // type:object size:0x2B scope:local data:string -jumptable_1_data_16C = .data:0x0000016C; // type:object size:0x34 scope:local -execModeTbl = .data:0x000001A0; // type:object size:0xC scope:local data:4byte -scene = .bss:0x00000000; // type:object size:0x4 scope:local data:4byte -presentObjMan = .bss:0x00000004; // type:object size:0x4 data:4byte -presentCamera = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -present = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -presentState = .bss:0x00000018; // type:object size:0x4 data:4byte -presentGuide = .bss:0x00000020; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/resultDll/splits.txt b/config/GMPP01_00/rels/resultDll/splits.txt deleted file mode 100644 index a2f15b2b..00000000 --- a/config/GMPP01_00/rels/resultDll/splits.txt +++ /dev/null @@ -1,27 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/resultDll/main.c: - .text start:0x000000A0 end:0x00006490 - .rodata start:0x00000000 end:0x00000160 - .data start:0x00000000 end:0x000004E8 - .bss start:0x00000000 end:0x00000190 - -REL/resultDll/battle.c: - .text start:0x00006490 end:0x00008FF8 - .rodata start:0x00000160 end:0x00000220 - .data start:0x000004E8 end:0x00000918 - .bss start:0x00000190 end:0x00001A18 - -REL/resultDll/datalist.c: - .text start:0x00008FF8 end:0x0000942C - .rodata start:0x00000220 end:0x00000230 - .bss start:0x00001A18 end:0x00001ADC diff --git a/config/GMPP01_00/rels/resultDll/symbols.txt b/config/GMPP01_00/rels/resultDll/symbols.txt deleted file mode 100644 index db16ef1b..00000000 --- a/config/GMPP01_00/rels/resultDll/symbols.txt +++ /dev/null @@ -1,210 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x438 -ResultMain = .text:0x000004D8; // type:function size:0x3B0 scope:local -ResultIdle = .text:0x00000888; // type:function size:0x2F0 scope:local -ResultCreate = .text:0x00000B78; // type:function size:0x13D4 scope:local -ResultStatAdd = .text:0x00001F4C; // type:function size:0xB90 scope:local -ResultOrderApply = .text:0x00002ADC; // type:function size:0x1074 scope:local -ResultSprNumSet = .text:0x00003B50; // type:function size:0x15C scope:local -ResultCoinAddNumSet = .text:0x00003CAC; // type:function size:0x15C scope:local -ResultOrderSet = .text:0x00003E08; // type:function size:0x1D0 scope:local -ResultBoardDataRead = .text:0x00003FD8; // type:function size:0x104 -ResultCoinAdd = .text:0x000040DC; // type:function size:0x160 -ResultCoinNumGet = .text:0x0000423C; // type:function size:0x3E0 -SaveExec = .text:0x0000461C; // type:function size:0x1E0 scope:local -ResultTeamExec = .text:0x000047FC; // type:function size:0x1084 scope:local -CameraDebug = .text:0x00005880; // type:function size:0xC10 -ResultBattleMain = .text:0x00006490; // type:function size:0x2D0 -ResultBattleIdle = .text:0x00006760; // type:function size:0xC4 scope:local -ResultBattleCreate = .text:0x00006824; // type:function size:0xD20 scope:local -ResultBattleStatAdd = .text:0x00007544; // type:function size:0xA54 scope:local -ResultBattleCoinAddShow = .text:0x00007F98; // type:function size:0x3A0 scope:local -ResultBattleCoinAddNumSet = .text:0x00008338; // type:function size:0x14C scope:local -ResultBattleOrderSet = .text:0x00008484; // type:function size:0x1D4 scope:local -CoinEffectInit = .text:0x00008658; // type:function size:0x84 scope:local -CoinEffectAdd = .text:0x000086DC; // type:function size:0x2BC scope:local -CoinEffectMain = .text:0x00008998; // type:function size:0x320 scope:local -ResultShadowDraw = .text:0x00008CB8; // type:function size:0x340 scope:local -StageModelCreate = .text:0x00008FF8; // type:function size:0x284 -StageSpriteCreate = .text:0x0000927C; // type:function size:0x138 -StageSpriteKill = .text:0x000093B4; // type:function size:0x78 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -resultModel = .data:0x00000000; // type:object size:0x2A4 scope:local -resultSprite = .data:0x000002A4; // type:object size:0xDC scope:local data:4byte -rankNewGrpId = .data:0x00000380; // type:object size:0x2 scope:local data:2byte -lbl_1_data_382 = .data:0x00000382; // type:object size:0x26 scope:local data:string -resultBackFile = .data:0x000003A8; // type:object size:0x18 scope:local -resultLetterFile = .data:0x000003C0; // type:object size:0x18 scope:local -resultStatPosTbl = .data:0x000003D8; // type:object size:0x20 scope:local -resultRankPosTbl = .data:0x000003F8; // type:object size:0x10 scope:local -resultCharPosTbl = .data:0x00000408; // type:object size:0x30 scope:local -resultCoinAddPosTbl = .data:0x00000438; // type:object size:0x10 scope:local -lbl_1_data_448 = .data:0x00000448; // type:object size:0x5 scope:local data:string -resultBoardDirTbl = .data:0x00000450; // type:object size:0x18 scope:local -resultCharMdlTbl = .data:0x00000468; // type:object size:0x20 scope:local -resultTeamCharPosTbl = .data:0x00000488; // type:object size:0x30 scope:local -lbl_1_data_4B8 = .data:0x000004B8; // type:object size:0x11 scope:local data:string -lbl_1_data_4C9 = .data:0x000004C9; // type:object size:0x11 scope:local data:string -lbl_1_data_4DA = .data:0x000004DA; // type:object size:0xB scope:local data:string -resultBattleModel = .data:0x000004E8; // type:object size:0x270 scope:local -resultBattleSprite = .data:0x00000758; // type:object size:0x28 scope:local -resultBattleEffParMan = .data:0x00000780; // type:object size:0x50 scope:local -resultStatPosTbl = .data:0x000007D0; // type:object size:0x20 scope:local -playerPosTbl = .data:0x000007F0; // type:object size:0x30 scope:local -lbl_1_data_820 = .data:0x00000820; // type:object size:0x10 -bomheiCubeMdlTbl = .data:0x00000830; // type:object size:0x10 scope:local -coinEffectYOfs = .data:0x00000840; // type:object size:0x20 scope:local -coinAddYOfs = .data:0x00000860; // type:object size:0x20 scope:local -coinBlankYOfs = .data:0x00000880; // type:object size:0x20 scope:local -coinNumXOfs = .data:0x000008A0; // type:object size:0x6 scope:local data:2byte -lbl_1_data_8A6 = .data:0x000008A6; // type:object size:0x8 scope:local data:string -lbl_1_data_8AE = .data:0x000008AE; // type:object size:0x8 scope:local data:string -cameraShakeOfs = .data:0x000008B8; // type:object size:0x60 scope:local -resultReorderF = .bss:0x00000000; // type:object size:0x4 scope:local data:4byte -resultSkipF = .bss:0x00000004; // type:object size:0x4 scope:local data:4byte -resultTeamOrder = .bss:0x00000008; // type:object size:0x2 scope:local data:2byte -resultCharCubeMdlId = .bss:0x0000000A; // type:object size:0x8 scope:local -resultCoinAddSprId = .bss:0x00000012; // type:object size:0x28 scope:local -resultCoinAddGrpId = .bss:0x0000003A; // type:object size:0x8 scope:local -resultRank = .bss:0x00000042; // type:object size:0x8 scope:local -resultOrder = .bss:0x0000004A; // type:object size:0x8 scope:local -resultRankGrpId = .bss:0x00000052; // type:object size:0x2 scope:local data:2byte -resultPlayerCubeMdlId = .bss:0x00000054; // type:object size:0x8 scope:local -resultCubeMdlId = .bss:0x0000005C; // type:object size:0x40 scope:local -resultCrownGrpId = .bss:0x0000009C; // type:object size:0x2 scope:local data:2byte -resultNumSprId = .bss:0x0000009E; // type:object size:0x30 scope:local -resultNumGrpId = .bss:0x000000CE; // type:object size:0x10 scope:local -resultCrownAnim = .bss:0x000000E0; // type:object size:0x4 scope:local data:4byte -resultCharAnim = .bss:0x000000E4; // type:object size:0x60 scope:local -resultRankAnim = .bss:0x00000144; // type:object size:0x14 scope:local -statShadowMdlId = .bss:0x00000158; // type:object size:0x10 scope:local -charShadowMdlId = .bss:0x00000168; // type:object size:0x8 scope:local -teamResultGrpId = .bss:0x00000170; // type:object size:0x2 scope:local data:2byte -resultBonusPlayer = .bss:0x00000172; // type:object size:0x2 data:2byte -resultFastF = .bss:0x00000174; // type:object size:0x4 data:4byte -resultReadEndF = .bss:0x00000178; // type:object size:0x4 data:4byte -resultMgNo = .bss:0x0000017C; // type:object size:0x2 data:2byte -objman = .bss:0x00000180; // type:object size:0x4 data:4byte -outViewObj = .bss:0x00000184; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_188 = .bss:0x00000188; // type:object size:0x4 data:4byte -resultBattleSkipF = .bss:0x00000190; // type:object size:0x4 scope:local data:4byte -coinEffectData = .bss:0x00000194; // type:object size:0x1680 scope:local -resultBattleEffParManId = .bss:0x00001814; // type:object size:0x8 scope:local -lbl_1_bss_181C = .bss:0x0000181C; // type:object size:0xC -coinEffectMdlId = .bss:0x00001828; // type:object size:0x168 scope:local data:2byte -resultBattleCharMot = .bss:0x00001990; // type:object size:0x20 scope:local -resultBattleCharMdl = .bss:0x000019B0; // type:object size:0x8 scope:local -coinNumSprId = .bss:0x000019B8; // type:object size:0x28 scope:local -coinNumGrpId = .bss:0x000019E0; // type:object size:0x8 scope:local -resultBattleRank = .bss:0x000019E8; // type:object size:0x8 scope:local -resultBattleOrder = .bss:0x000019F0; // type:object size:0x8 scope:local -lbl_1_bss_19F8 = .bss:0x000019F8; // type:object size:0x20 -lbl_1_bss_1A18 = .bss:0x00001A18; // type:object size:0x2 -stageSprId = .bss:0x00001A1A; // type:object size:0x42 data:2byte -stageMotId = .bss:0x00001A5C; // type:object size:0x40 data:2byte -stageSprId = .bss:0x00001A9C; // type:object size:0x40 data:2byte diff --git a/config/GMPP01_00/rels/safDll/splits.txt b/config/GMPP01_00/rels/safDll/splits.txt deleted file mode 100644 index 43792488..00000000 --- a/config/GMPP01_00/rels/safDll/splits.txt +++ /dev/null @@ -1,12 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/safDll/main.c: - .text start:0x00000000 end:0x000003AC - .rodata start:0x00000000 end:0x00000024 - .data start:0x00000000 end:0x00000039 diff --git a/config/GMPP01_00/rels/safDll/symbols.txt b/config/GMPP01_00/rels/safDll/symbols.txt deleted file mode 100644 index 6a012c0c..00000000 --- a/config/GMPP01_00/rels/safDll/symbols.txt +++ /dev/null @@ -1,14 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x4 -safMarioEyeDim = .text:0x00000004; // type:function size:0x284 -safSaveTest = .text:0x00000288; // type:function size:0x124 -_ctors = .ctors:0x00000000; // type:label scope:global -_dtors = .dtors:0x00000000; // type:label scope:global -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x4 -lbl_1_data_4 = .data:0x00000004; // type:object size:0xE scope:local data:string -lbl_1_data_12 = .data:0x00000012; // type:object size:0xB scope:local data:string -lbl_1_data_1D = .data:0x0000001D; // type:object size:0xE scope:local data:string -lbl_1_data_2B = .data:0x0000002B; // type:object size:0xE scope:local data:string diff --git a/config/GMPP01_00/rels/selmenuDll/splits.txt b/config/GMPP01_00/rels/selmenuDll/splits.txt deleted file mode 100644 index 39e27b1f..00000000 --- a/config/GMPP01_00/rels/selmenuDll/splits.txt +++ /dev/null @@ -1,16 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/selmenuDll/main.c: - .text start:0x000000A0 end:0x00005198 - .rodata start:0x00000000 end:0x00000084 - .data start:0x00000000 end:0x00000B3F - .bss start:0x00000000 end:0x00000098 diff --git a/config/GMPP01_00/rels/selmenuDll/symbols.txt b/config/GMPP01_00/rels/selmenuDll/symbols.txt deleted file mode 100644 index 199e2ba8..00000000 --- a/config/GMPP01_00/rels/selmenuDll/symbols.txt +++ /dev/null @@ -1,204 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x4B8 -CopyPlayerCfg = .text:0x00000558; // type:function size:0x60 scope:local -CalcBtns = .text:0x000005B8; // type:function size:0x324 scope:local -DrawPage = .text:0x000008DC; // type:function size:0x170 scope:local -MoveSMPage = .text:0x00000A4C; // type:function size:0x180 scope:local -MoveSMCursor = .text:0x00000BCC; // type:function size:0x88 scope:local -SMInit = .text:0x00000C54; // type:function size:0x474 scope:local -SMUpdate = .text:0x000010C8; // type:function size:0xA78 scope:local -SMGroupGen = .text:0x00001B40; // type:function size:0x334 scope:local -SMChangeChar = .text:0x00001E74; // type:function size:0x110 scope:local -SMCharKill = .text:0x00001F84; // type:function size:0x50 scope:local -CharRandomize = .text:0x00001FD4; // type:function size:0x10C scope:local -SMCharInit = .text:0x000020E0; // type:function size:0x1F8 scope:local -SMCharUpdate = .text:0x000022D8; // type:function size:0xD6C scope:local -SMExit = .text:0x00003044; // type:function size:0x2FC scope:local -SMPlayerCfgDraw = .text:0x00003340; // type:function size:0x804 scope:local -SMPlayerCfgInit = .text:0x00003B44; // type:function size:0x40 scope:local -SMPlayerCfgUpdate = .text:0x00003B84; // type:function size:0x968 scope:local -SMRand8Tick = .text:0x000044EC; // type:function size:0x20 scope:local -fn_1_450C = .text:0x0000450C; // type:function size:0x4 -SMSound3DInit = .text:0x00004510; // type:function size:0x64 scope:local -SMSound3DUpdate = .text:0x00004574; // type:function size:0x854 scope:local -SMSound3DDraw = .text:0x00004DC8; // type:function size:0x3D0 scope:local -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x8 scope:local data:4byte -lbl_1_data_0 = .data:0x00000000; // type:object size:0x6 scope:local data:string -lbl_1_data_6 = .data:0x00000006; // type:object size:0x6 scope:local data:string -lbl_1_data_C = .data:0x0000000C; // type:object size:0x6 scope:local data:string -lbl_1_data_12 = .data:0x00000012; // type:object size:0x6 scope:local data:string -lbl_1_data_18 = .data:0x00000018; // type:object size:0x6 scope:local data:string -lbl_1_data_1E = .data:0x0000001E; // type:object size:0x7 scope:local data:string -lbl_1_data_25 = .data:0x00000025; // type:object size:0x6 scope:local data:string -lbl_1_data_2B = .data:0x0000002B; // type:object size:0x8 scope:local data:string -smCharTbl = .data:0x00000034; // type:object size:0x20 scope:local -lbl_1_data_54 = .data:0x00000054; // type:object size:0x14 scope:local data:string -lbl_1_data_68 = .data:0x00000068; // type:object size:0x16 scope:local data:string -lbl_1_data_7E = .data:0x0000007E; // type:object size:0x11 scope:local data:string -lbl_1_data_8F = .data:0x0000008F; // type:object size:0x12 scope:local data:string -lbl_1_data_A1 = .data:0x000000A1; // type:object size:0x10 scope:local data:string -lbl_1_data_B1 = .data:0x000000B1; // type:object size:0xD scope:local data:string -lbl_1_data_BE = .data:0x000000BE; // type:object size:0x11 scope:local data:string -lbl_1_data_CF = .data:0x000000CF; // type:object size:0xD scope:local data:string -lbl_1_data_DC = .data:0x000000DC; // type:object size:0xE scope:local data:string -lbl_1_data_EA = .data:0x000000EA; // type:object size:0x16 scope:local data:string -lbl_1_data_100 = .data:0x00000100; // type:object size:0x13 scope:local data:string -lbl_1_data_113 = .data:0x00000113; // type:object size:0xF scope:local data:string -lbl_1_data_122 = .data:0x00000122; // type:object size:0x14 scope:local data:string -lbl_1_data_136 = .data:0x00000136; // type:object size:0x11 scope:local data:string -lbl_1_data_147 = .data:0x00000147; // type:object size:0x13 scope:local data:string -lbl_1_data_15A = .data:0x0000015A; // type:object size:0x10 scope:local data:string -lbl_1_data_16A = .data:0x0000016A; // type:object size:0x11 scope:local data:string -lbl_1_data_17B = .data:0x0000017B; // type:object size:0x15 scope:local data:string -lbl_1_data_190 = .data:0x00000190; // type:object size:0x17 scope:local data:string -lbl_1_data_1A7 = .data:0x000001A7; // type:object size:0x11 scope:local data:string -lbl_1_data_1B8 = .data:0x000001B8; // type:object size:0x10 scope:local data:string -lbl_1_data_1C8 = .data:0x000001C8; // type:object size:0x10 scope:local data:string -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0x12 scope:local data:string -lbl_1_data_1EA = .data:0x000001EA; // type:object size:0x10 scope:local data:string -lbl_1_data_1FA = .data:0x000001FA; // type:object size:0xF scope:local data:string -lbl_1_data_209 = .data:0x00000209; // type:object size:0x15 scope:local data:string -lbl_1_data_21E = .data:0x0000021E; // type:object size:0xE scope:local data:string -lbl_1_data_22C = .data:0x0000022C; // type:object size:0x13 scope:local data:string -lbl_1_data_23F = .data:0x0000023F; // type:object size:0x14 scope:local data:string -lbl_1_data_253 = .data:0x00000253; // type:object size:0x13 scope:local data:string -lbl_1_data_266 = .data:0x00000266; // type:object size:0x11 scope:local data:string -lbl_1_data_277 = .data:0x00000277; // type:object size:0x11 scope:local data:string -lbl_1_data_288 = .data:0x00000288; // type:object size:0x11 scope:local data:string -lbl_1_data_299 = .data:0x00000299; // type:object size:0x10 scope:local data:string -lbl_1_data_2A9 = .data:0x000002A9; // type:object size:0x10 scope:local data:string -lbl_1_data_2B9 = .data:0x000002B9; // type:object size:0x1B scope:local data:string -lbl_1_data_2D4 = .data:0x000002D4; // type:object size:0x11 scope:local data:string -lbl_1_data_2E5 = .data:0x000002E5; // type:object size:0x1D scope:local data:string -lbl_1_data_302 = .data:0x00000302; // type:object size:0x17 scope:local data:string -lbl_1_data_319 = .data:0x00000319; // type:object size:0x16 scope:local data:string -lbl_1_data_32F = .data:0x0000032F; // type:object size:0x15 scope:local data:string -lbl_1_data_344 = .data:0x00000344; // type:object size:0x13 scope:local data:string -lbl_1_data_357 = .data:0x00000357; // type:object size:0xE scope:local data:string -lbl_1_data_365 = .data:0x00000365; // type:object size:0x14 scope:local data:string -lbl_1_data_379 = .data:0x00000379; // type:object size:0x13 scope:local data:string -lbl_1_data_38C = .data:0x0000038C; // type:object size:0x12 scope:local data:string -lbl_1_data_39E = .data:0x0000039E; // type:object size:0xD scope:local data:string -lbl_1_data_3AB = .data:0x000003AB; // type:object size:0xD scope:local data:string -lbl_1_data_3B8 = .data:0x000003B8; // type:object size:0x17 scope:local data:string -lbl_1_data_3CF = .data:0x000003CF; // type:object size:0xE scope:local data:string -lbl_1_data_3DD = .data:0x000003DD; // type:object size:0xB scope:local data:string -lbl_1_data_3E8 = .data:0x000003E8; // type:object size:0x11 scope:local data:string -lbl_1_data_3F9 = .data:0x000003F9; // type:object size:0x11 scope:local data:string -lbl_1_data_40A = .data:0x0000040A; // type:object size:0xA scope:local data:string -lbl_1_data_414 = .data:0x00000414; // type:object size:0x13 scope:local data:string -lbl_1_data_427 = .data:0x00000427; // type:object size:0xD scope:local data:string -lbl_1_data_434 = .data:0x00000434; // type:object size:0x5 scope:local data:string -lbl_1_data_439 = .data:0x00000439; // type:object size:0x15 scope:local data:string -lbl_1_data_44E = .data:0x0000044E; // type:object size:0x5 scope:local data:string -lbl_1_data_453 = .data:0x00000453; // type:object size:0xF scope:local data:string -lbl_1_data_462 = .data:0x00000462; // type:object size:0xE scope:local data:string -lbl_1_data_470 = .data:0x00000470; // type:object size:0xE scope:local data:string -lbl_1_data_47E = .data:0x0000047E; // type:object size:0xE scope:local data:string -lbl_1_data_48C = .data:0x0000048C; // type:object size:0xE scope:local data:string -lbl_1_data_49A = .data:0x0000049A; // type:object size:0xE scope:local data:string -lbl_1_data_4A8 = .data:0x000004A8; // type:object size:0xE scope:local data:string -lbl_1_data_4B6 = .data:0x000004B6; // type:object size:0xE scope:local data:string -lbl_1_data_4C4 = .data:0x000004C4; // type:object size:0xE scope:local data:string -lbl_1_data_4D2 = .data:0x000004D2; // type:object size:0xA scope:local data:string -lbl_1_data_4DC = .data:0x000004DC; // type:object size:0xF scope:local data:string -smMenuTbl = .data:0x000004EC; // type:object size:0x348 scope:local -cameraMaskTbl = .data:0x00000834; // type:object size:0x10 scope:local -lbl_1_data_844 = .data:0x00000844; // type:object size:0x18 scope:local -lbl_1_data_85C = .data:0x0000085C; // type:object size:0x12 scope:local data:string -lbl_1_data_86E = .data:0x0000086E; // type:object size:0x12 scope:local data:string -lbl_1_data_880 = .data:0x00000880; // type:object size:0x12 scope:local data:string -lbl_1_data_892 = .data:0x00000892; // type:object size:0x12 scope:local data:string -lbl_1_data_8A4 = .data:0x000008A4; // type:object size:0x12 scope:local data:string -lbl_1_data_8B6 = .data:0x000008B6; // type:object size:0x12 scope:local data:string -lbl_1_data_8C8 = .data:0x000008C8; // type:object size:0x11 scope:local data:string -lbl_1_data_8D9 = .data:0x000008D9; // type:object size:0x1 scope:local -dvdMusTbl = .data:0x000008DC; // type:object size:0x20 scope:local -smSelectPosExit = .data:0x000008FC; // type:object size:0x2 scope:local data:2byte -keyDStkAllPrev = .data:0x000008FE; // type:object size:0x8 scope:local -lbl_1_data_906 = .data:0x00000906; // type:object size:0xF scope:local data:string -funcId$244 = .data:0x00000918; // type:object size:0x4 scope:local data:4byte -lbl_1_data_91C = .data:0x0000091C; // type:object size:0x12 scope:local data:string -lbl_1_data_92E = .data:0x0000092E; // type:object size:0x24 scope:local data:string -lbl_1_data_952 = .data:0x00000952; // type:object size:0xB scope:local data:string -lbl_1_data_95D = .data:0x0000095D; // type:object size:0x3 scope:local data:string -lbl_1_data_960 = .data:0x00000960; // type:object size:0xD scope:local data:string -charMdlTbl = .data:0x00000970; // type:object size:0x20 scope:local -charMdlMotTbl = .data:0x00000990; // type:object size:0x20 scope:local -lbl_1_data_9B0 = .data:0x000009B0; // type:object size:0xD scope:local data:string -lbl_1_data_9BD = .data:0x000009BD; // type:object size:0x5 scope:local -lbl_1_data_9C2 = .data:0x000009C2; // type:object size:0x5 scope:local -lbl_1_data_9C7 = .data:0x000009C7; // type:object size:0x6 scope:local -lbl_1_data_9CD = .data:0x000009CD; // type:object size:0x9 scope:local data:string -lbl_1_data_9D6 = .data:0x000009D6; // type:object size:0xA scope:local data:string -lbl_1_data_9E0 = .data:0x000009E0; // type:object size:0xA scope:local data:string -lbl_1_data_9EA = .data:0x000009EA; // type:object size:0x9 scope:local data:string -lbl_1_data_9F3 = .data:0x000009F3; // type:object size:0x9 scope:local data:string -lbl_1_data_9FC = .data:0x000009FC; // type:object size:0x9 scope:local data:string -padCfgStrTbl = .data:0x00000A08; // type:object size:0x14 scope:local data:4byte -lbl_1_data_A1C = .data:0x00000A1C; // type:object size:0x6 scope:local data:string -lbl_1_data_A22 = .data:0x00000A22; // type:object size:0x4 scope:local data:string -lbl_1_data_A26 = .data:0x00000A26; // type:object size:0x5 scope:local data:string -lbl_1_data_A2B = .data:0x00000A2B; // type:object size:0x7 scope:local data:string -lbl_1_data_A32 = .data:0x00000A32; // type:object size:0x5 scope:local data:string -lbl_1_data_A37 = .data:0x00000A37; // type:object size:0x9 scope:local data:string -jumptable_1_data_A40 = .data:0x00000A40; // type:object size:0x20 scope:local -jumptable_1_data_A60 = .data:0x00000A60; // type:object size:0x20 scope:local -lbl_1_data_A80 = .data:0x00000A80; // type:object size:0x4 scope:local data:string -lbl_1_data_A84 = .data:0x00000A84; // type:object size:0x4 scope:local data:string -lbl_1_data_A88 = .data:0x00000A88; // type:object size:0x10 scope:local data:string -lbl_1_data_A98 = .data:0x00000A98; // type:object size:0x15 scope:local data:string -lbl_1_data_AAD = .data:0x00000AAD; // type:object size:0x15 scope:local data:string -lbl_1_data_AC2 = .data:0x00000AC2; // type:object size:0x15 scope:local data:string -lbl_1_data_AD7 = .data:0x00000AD7; // type:object size:0x15 scope:local data:string -lbl_1_data_AEC = .data:0x00000AEC; // type:object size:0x15 scope:local data:string -lbl_1_data_B01 = .data:0x00000B01; // type:object size:0x15 scope:local data:string -lbl_1_data_B16 = .data:0x00000B16; // type:object size:0x15 scope:local data:string -lbl_1_data_B2B = .data:0x00000B2B; // type:object size:0x14 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x2 data:2byte -smSound3DPos = .bss:0x00000002; // type:object size:0x2 scope:local data:2byte -emiCompVal = .bss:0x00000004; // type:object size:0x2 scope:local data:2byte -emiCompDataNo = .bss:0x00000006; // type:object size:0x2 scope:local data:2byte -playerCfgOptionPos = .bss:0x00000008; // type:object size:0x2 scope:local data:2byte -playerCfgPlayerPos = .bss:0x0000000A; // type:object size:0x2 scope:local data:2byte -playerCfgSelF = .bss:0x0000000C; // type:object size:0x2 scope:local data:2byte -charSelProhibitF = .bss:0x0000000E; // type:object size:0x10 scope:local -playerDoneF = .bss:0x0000001E; // type:object size:0x8 scope:local -charModelID = .bss:0x00000026; // type:object size:0x10 scope:local -keyDStkAllDown = .bss:0x00000036; // type:object size:0x8 scope:local -keyDStkAll = .bss:0x0000003E; // type:object size:0x8 scope:local -btnDownAll = .bss:0x00000046; // type:object size:0x8 scope:local -keyDStkDown = .bss:0x0000004E; // type:object size:0x2 scope:local data:2byte -keyDStk = .bss:0x00000050; // type:object size:0x2 scope:local data:2byte -btnDown = .bss:0x00000052; // type:object size:0x2 scope:local data:2byte -smSelectPos = .bss:0x00000054; // type:object size:0x2 scope:local data:2byte -smPlayerCfg = .bss:0x00000056; // type:object size:0x28 scope:local data:2byte -outViewObj = .bss:0x00000080; // type:object size:0x4 scope:local data:4byte -smMainObj = .bss:0x00000084; // type:object size:0x4 scope:local data:4byte -smSelectPosBackup = .bss:0x00000088; // type:object size:0xE scope:local -smPage = .bss:0x00000096; // type:object size:0x2 scope:local data:2byte diff --git a/config/GMPP01_00/rels/staffDll/splits.txt b/config/GMPP01_00/rels/staffDll/splits.txt deleted file mode 100644 index c7a221dd..00000000 --- a/config/GMPP01_00/rels/staffDll/splits.txt +++ /dev/null @@ -1,16 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/staffDll/main.c: - .text start:0x000000A0 end:0x000012F8 - .rodata start:0x00000000 end:0x00000098 - .data start:0x00000000 end:0x00001328 - .bss start:0x00000000 end:0x0000004A diff --git a/config/GMPP01_00/rels/staffDll/symbols.txt b/config/GMPP01_00/rels/staffDll/symbols.txt deleted file mode 100644 index 82c981fb..00000000 --- a/config/GMPP01_00/rels/staffDll/symbols.txt +++ /dev/null @@ -1,55 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x218 -ExitProc = .text:0x000002B8; // type:function size:0x60 scope:local -CreateStaff = .text:0x00000318; // type:function size:0x444 scope:local -MoveStaff = .text:0x0000075C; // type:function size:0x3AC scope:local -HidePicture = .text:0x00000B08; // type:function size:0x12C scope:local -ShowPicture = .text:0x00000C34; // type:function size:0x1C4 scope:local -MainProc = .text:0x00000DF8; // type:function size:0x500 scope:local -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -staffData = .data:0x00000000; // type:object size:0x1308 scope:local -staffLogoPosTbl = .data:0x00001308; // type:object size:0xC scope:local data:float -lbl_1_data_1314 = .data:0x00001314; // type:object size:0x14 data:string -multiViewObj = .bss:0x00000000; // type:object size:0x4 scope:local data:4byte -currImg = .bss:0x00000004; // type:object size:0x4 scope:local data:4byte -staffSide = .bss:0x00000008; // type:object size:0x4 scope:local data:4byte -thpCoverGroup = .bss:0x0000000C; // type:object size:0x2 scope:local data:2byte -thpGroup = .bss:0x0000000E; // type:object size:0x2 scope:local data:2byte -staffLogoGroup = .bss:0x00000010; // type:object size:0x6 scope:local data:2byte -imgGroup = .bss:0x00000016; // type:object size:0x34 scope:local data:2byte diff --git a/config/GMPP01_00/rels/subchrselDll/splits.txt b/config/GMPP01_00/rels/subchrselDll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_00/rels/subchrselDll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_00/rels/subchrselDll/symbols.txt b/config/GMPP01_00/rels/subchrselDll/symbols.txt deleted file mode 100644 index 22a9a485..00000000 --- a/config/GMPP01_00/rels/subchrselDll/symbols.txt +++ /dev/null @@ -1,33 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x6C -fn_1_10C = .text:0x0000010C; // type:function size:0x58 -fn_1_164 = .text:0x00000164; // type:function size:0x654 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x8 data:string -lbl_1_data_8 = .data:0x00000008; // type:object size:0x8 data:string -lbl_1_data_10 = .data:0x00000010; // type:object size:0x8 data:string -lbl_1_data_18 = .data:0x00000018; // type:object size:0x8 data:string -lbl_1_data_20 = .data:0x00000020; // type:object size:0x10 -lbl_1_data_30 = .data:0x00000030; // type:object size:0x6 data:string -lbl_1_data_36 = .data:0x00000036; // type:object size:0x6 data:string -lbl_1_data_3C = .data:0x0000003C; // type:object size:0x6 data:string -lbl_1_data_42 = .data:0x00000042; // type:object size:0x6 data:string -lbl_1_data_48 = .data:0x00000048; // type:object size:0x6 data:string -lbl_1_data_4E = .data:0x0000004E; // type:object size:0x7 data:string -lbl_1_data_55 = .data:0x00000055; // type:object size:0x6 data:string -lbl_1_data_5B = .data:0x0000005B; // type:object size:0x9 -lbl_1_data_64 = .data:0x00000064; // type:object size:0x20 -lbl_1_data_84 = .data:0x00000084; // type:object size:0x1 -lbl_1_data_85 = .data:0x00000085; // type:object size:0x6 data:string -lbl_1_data_8B = .data:0x0000008B; // type:object size:0x8 data:string -lbl_1_data_93 = .data:0x00000093; // type:object size:0x7 data:string -lbl_1_data_9A = .data:0x0000009A; // type:object size:0x7 data:string -lbl_1_data_A1 = .data:0x000000A1; // type:object size:0x6 data:string -lbl_1_data_A7 = .data:0x000000A7; // type:object size:0x9 -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x1C -lbl_1_data_CC = .data:0x000000CC; // type:object size:0x15 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte diff --git a/config/GMPP01_00/rels/w01Dll/splits.txt b/config/GMPP01_00/rels/w01Dll/splits.txt deleted file mode 100644 index 8e0a4285..00000000 --- a/config/GMPP01_00/rels/w01Dll/splits.txt +++ /dev/null @@ -1,29 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/board_executor.c: - .text start:0x00000000 end:0x000000E0 - .rodata start:0x00000000 end:0x00000010 - -REL/w01Dll/main.c: - .text start:0x000000E0 end:0x00009DD8 - .rodata start:0x00000010 end:0x00000198 - .data start:0x00000000 end:0x00000658 - .bss start:0x00000000 end:0x00000708 - -REL/w01Dll/mg_coin.c: - .text start:0x00009DD8 end:0x0000D740 - .rodata start:0x00000198 end:0x000002C8 - .data start:0x00000658 end:0x00000F08 - .bss start:0x00000708 end:0x000007A0 - -REL/w01Dll/mg_item.c: - .text start:0x0000D740 end:0x000119F0 - .rodata start:0x000002C8 end:0x000003C4 - .data start:0x00000F08 end:0x00000FAC - .bss start:0x000007A0 end:0x0000081C diff --git a/config/GMPP01_00/rels/w01Dll/symbols.txt b/config/GMPP01_00/rels/w01Dll/symbols.txt deleted file mode 100644 index 2fa2c70d..00000000 --- a/config/GMPP01_00/rels/w01Dll/symbols.txt +++ /dev/null @@ -1,469 +0,0 @@ -ObjectSetup = .text:0x00000000; // type:function size:0x30 scope:local -_prolog = .text:0x00000030; // type:function size:0x64 scope:global -_epilog = .text:0x00000094; // type:function size:0x4C scope:global -BoardCreate = .text:0x000000E0; // type:function size:0x4BC -BoardDestroy = .text:0x0000059C; // type:function size:0x194 -fn_1_730 = .text:0x00000730; // type:function size:0x44 -fn_1_774 = .text:0x00000774; // type:function size:0x4 -fn_1_778 = .text:0x00000778; // type:function size:0x9C -fn_1_814 = .text:0x00000814; // type:function size:0x1D4 -fn_1_9E8 = .text:0x000009E8; // type:function size:0x318 -fn_1_D00 = .text:0x00000D00; // type:function size:0x4 -fn_1_D04 = .text:0x00000D04; // type:function size:0x550 -fn_1_1254 = .text:0x00001254; // type:function size:0x38 -fn_1_128C = .text:0x0000128C; // type:function size:0x80 -fn_1_130C = .text:0x0000130C; // type:function size:0x270 -fn_1_157C = .text:0x0000157C; // type:function size:0xF4 -fn_1_1670 = .text:0x00001670; // type:function size:0x90 -fn_1_1700 = .text:0x00001700; // type:function size:0x290 -fn_1_1990 = .text:0x00001990; // type:function size:0x148 -fn_1_1AD8 = .text:0x00001AD8; // type:function size:0x64 -fn_1_1B3C = .text:0x00001B3C; // type:function size:0x3A8 -fn_1_1EE4 = .text:0x00001EE4; // type:function size:0x48 -fn_1_1F2C = .text:0x00001F2C; // type:function size:0x78 -fn_1_1FA4 = .text:0x00001FA4; // type:function size:0x580 -fn_1_2524 = .text:0x00002524; // type:function size:0x248 -fn_1_276C = .text:0x0000276C; // type:function size:0x7AC -fn_1_2F18 = .text:0x00002F18; // type:function size:0x438 -fn_1_3350 = .text:0x00003350; // type:function size:0x1C4 -fn_1_3514 = .text:0x00003514; // type:function size:0xA0 -fn_1_35B4 = .text:0x000035B4; // type:function size:0x70 -fn_1_3624 = .text:0x00003624; // type:function size:0xFD0 -fn_1_45F4 = .text:0x000045F4; // type:function size:0x180 -fn_1_4774 = .text:0x00004774; // type:function size:0xF0 -fn_1_4864 = .text:0x00004864; // type:function size:0x50 -fn_1_48B4 = .text:0x000048B4; // type:function size:0x560 -fn_1_4E14 = .text:0x00004E14; // type:function size:0x194 -fn_1_4FA8 = .text:0x00004FA8; // type:function size:0x30 -fn_1_4FD8 = .text:0x00004FD8; // type:function size:0xFC -fn_1_50D4 = .text:0x000050D4; // type:function size:0x2E4 -fn_1_53B8 = .text:0x000053B8; // type:function size:0x84 -fn_1_543C = .text:0x0000543C; // type:function size:0x258 -fn_1_5694 = .text:0x00005694; // type:function size:0x1D8 -fn_1_586C = .text:0x0000586C; // type:function size:0xC0 -fn_1_592C = .text:0x0000592C; // type:function size:0x200 -fn_1_5B2C = .text:0x00005B2C; // type:function size:0x14 -fn_1_5B40 = .text:0x00005B40; // type:function size:0x190 -fn_1_5CD0 = .text:0x00005CD0; // type:function size:0x38 -fn_1_5D08 = .text:0x00005D08; // type:function size:0x390 -fn_1_6098 = .text:0x00006098; // type:function size:0xFC -fn_1_6194 = .text:0x00006194; // type:function size:0x25C -fn_1_63F0 = .text:0x000063F0; // type:function size:0x624 -fn_1_6A14 = .text:0x00006A14; // type:function size:0x1AC -fn_1_6BC0 = .text:0x00006BC0; // type:function size:0x3F4 -fn_1_6FB4 = .text:0x00006FB4; // type:function size:0x574 -fn_1_7528 = .text:0x00007528; // type:function size:0x2C4 -fn_1_77EC = .text:0x000077EC; // type:function size:0xA8 -fn_1_7894 = .text:0x00007894; // type:function size:0x1D0 -fn_1_7A64 = .text:0x00007A64; // type:function size:0xAC8 -fn_1_852C = .text:0x0000852C; // type:function size:0x280 -fn_1_87AC = .text:0x000087AC; // type:function size:0x34 -fn_1_87E0 = .text:0x000087E0; // type:function size:0x1A8 -fn_1_8988 = .text:0x00008988; // type:function size:0xC8 -fn_1_8A50 = .text:0x00008A50; // type:function size:0x11C -fn_1_8B6C = .text:0x00008B6C; // type:function size:0x270 -fn_1_8DDC = .text:0x00008DDC; // type:function size:0x3B0 -fn_1_918C = .text:0x0000918C; // type:function size:0xF0 -fn_1_927C = .text:0x0000927C; // type:function size:0xB0 -fn_1_932C = .text:0x0000932C; // type:function size:0x17C -fn_1_94A8 = .text:0x000094A8; // type:function size:0x14C -fn_1_95F4 = .text:0x000095F4; // type:function size:0x200 -fn_1_97F4 = .text:0x000097F4; // type:function size:0xF8 -fn_1_98EC = .text:0x000098EC; // type:function size:0x34 -fn_1_9920 = .text:0x00009920; // type:function size:0x104 -fn_1_9A24 = .text:0x00009A24; // type:function size:0x198 -fn_1_9BBC = .text:0x00009BBC; // type:function size:0x144 -fn_1_9D00 = .text:0x00009D00; // type:function size:0xD8 -fn_1_9DD8 = .text:0x00009DD8; // type:function size:0x6E0 -fn_1_A4B8 = .text:0x0000A4B8; // type:function size:0x9C -fn_1_A554 = .text:0x0000A554; // type:function size:0xA8 -fn_1_A5FC = .text:0x0000A5FC; // type:function size:0xE4 -fn_1_A6E0 = .text:0x0000A6E0; // type:function size:0x938 -fn_1_B018 = .text:0x0000B018; // type:function size:0x70 -fn_1_B088 = .text:0x0000B088; // type:function size:0x144 -fn_1_B1CC = .text:0x0000B1CC; // type:function size:0x1EC -fn_1_B3B8 = .text:0x0000B3B8; // type:function size:0xC0 -fn_1_B478 = .text:0x0000B478; // type:function size:0x680 -fn_1_BAF8 = .text:0x0000BAF8; // type:function size:0x1E4 -fn_1_BCDC = .text:0x0000BCDC; // type:function size:0x224 -fn_1_BF00 = .text:0x0000BF00; // type:function size:0x68 -fn_1_BF68 = .text:0x0000BF68; // type:function size:0x98 -fn_1_C000 = .text:0x0000C000; // type:function size:0xFC -fn_1_C0FC = .text:0x0000C0FC; // type:function size:0x160 -fn_1_C25C = .text:0x0000C25C; // type:function size:0x5E8 -fn_1_C844 = .text:0x0000C844; // type:function size:0x50 -fn_1_C894 = .text:0x0000C894; // type:function size:0xB8 -fn_1_C94C = .text:0x0000C94C; // type:function size:0x4C -fn_1_C998 = .text:0x0000C998; // type:function size:0x1AC -fn_1_CB44 = .text:0x0000CB44; // type:function size:0x380 -fn_1_CEC4 = .text:0x0000CEC4; // type:function size:0x170 -fn_1_D034 = .text:0x0000D034; // type:function size:0x48 -fn_1_D07C = .text:0x0000D07C; // type:function size:0x98 -fn_1_D114 = .text:0x0000D114; // type:function size:0x62C -fn_1_D740 = .text:0x0000D740; // type:function size:0x644 -fn_1_DD84 = .text:0x0000DD84; // type:function size:0x110 -fn_1_DE94 = .text:0x0000DE94; // type:function size:0x26C -fn_1_E100 = .text:0x0000E100; // type:function size:0x54 -fn_1_E154 = .text:0x0000E154; // type:function size:0x164 -fn_1_E2B8 = .text:0x0000E2B8; // type:function size:0x194 -fn_1_E44C = .text:0x0000E44C; // type:function size:0x4C8 -fn_1_E914 = .text:0x0000E914; // type:function size:0x3C0 -fn_1_ECD4 = .text:0x0000ECD4; // type:function size:0x1CC -fn_1_EEA0 = .text:0x0000EEA0; // type:function size:0x38 -fn_1_EED8 = .text:0x0000EED8; // type:function size:0x1C4 -fn_1_F09C = .text:0x0000F09C; // type:function size:0x2AC -fn_1_F348 = .text:0x0000F348; // type:function size:0xB0 -fn_1_F3F8 = .text:0x0000F3F8; // type:function size:0x2F0 -fn_1_F6E8 = .text:0x0000F6E8; // type:function size:0x1A8 -fn_1_F890 = .text:0x0000F890; // type:function size:0x18C -fn_1_FA1C = .text:0x0000FA1C; // type:function size:0xA0 -fn_1_FABC = .text:0x0000FABC; // type:function size:0x9C -fn_1_FB58 = .text:0x0000FB58; // type:function size:0xE4 -fn_1_FC3C = .text:0x0000FC3C; // type:function size:0xB0 -fn_1_FCEC = .text:0x0000FCEC; // type:function size:0x50 -fn_1_FD3C = .text:0x0000FD3C; // type:function size:0x108 -fn_1_FE44 = .text:0x0000FE44; // type:function size:0x8C -fn_1_FED0 = .text:0x0000FED0; // type:function size:0x14C -fn_1_1001C = .text:0x0001001C; // type:function size:0x19C -fn_1_101B8 = .text:0x000101B8; // type:function size:0x4AC -fn_1_10664 = .text:0x00010664; // type:function size:0x1BC -fn_1_10820 = .text:0x00010820; // type:function size:0x2C8 -fn_1_10AE8 = .text:0x00010AE8; // type:function size:0xC8 -fn_1_10BB0 = .text:0x00010BB0; // type:function size:0x140 -fn_1_10CF0 = .text:0x00010CF0; // type:function size:0x1C8 -fn_1_10EB8 = .text:0x00010EB8; // type:function size:0x1AC -fn_1_11064 = .text:0x00011064; // type:function size:0x420 -fn_1_11484 = .text:0x00011484; // type:function size:0x56C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x2 scope:local data:2byte -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x2 scope:local data:2byte -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0xC scope:local data:2byte -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 scope:local data:double -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 scope:local data:double -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 scope:local data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 scope:local data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 scope:local data:double -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x528 -lbl_1_data_528 = .data:0x00000528; // type:object size:0x2 data:2byte -lbl_1_data_52A = .data:0x0000052A; // type:object size:0x2 data:2byte -lbl_1_data_52C = .data:0x0000052C; // type:object size:0x2 data:2byte -lbl_1_data_52E = .data:0x0000052E; // type:object size:0x2 data:2byte -lbl_1_data_530 = .data:0x00000530; // type:object size:0x2 data:2byte -lbl_1_data_534 = .data:0x00000534; // type:object size:0x8 -lbl_1_data_53C = .data:0x0000053C; // type:object size:0x8 -lbl_1_data_544 = .data:0x00000544; // type:object size:0x14 data:string -lbl_1_data_558 = .data:0x00000558; // type:object size:0x14 data:string -lbl_1_data_56C = .data:0x0000056C; // type:object size:0x14 -lbl_1_data_580 = .data:0x00000580; // type:object size:0x2 data:2byte -lbl_1_data_582 = .data:0x00000582; // type:object size:0x12 -lbl_1_data_594 = .data:0x00000594; // type:object size:0x40 -lbl_1_data_5D4 = .data:0x000005D4; // type:object size:0x4 data:4byte -lbl_1_data_5D8 = .data:0x000005D8; // type:object size:0x4 data:4byte -lbl_1_data_5DC = .data:0x000005DC; // type:object size:0x10 -lbl_1_data_5EC = .data:0x000005EC; // type:object size:0x7 data:string -lbl_1_data_5F3 = .data:0x000005F3; // type:object size:0x7 data:string -lbl_1_data_5FA = .data:0x000005FA; // type:object size:0xA -lbl_1_data_604 = .data:0x00000604; // type:object size:0xC -lbl_1_data_610 = .data:0x00000610; // type:object size:0x10 -lbl_1_data_620 = .data:0x00000620; // type:object size:0x5 data:string -lbl_1_data_625 = .data:0x00000625; // type:object size:0x5 data:string -lbl_1_data_62A = .data:0x0000062A; // type:object size:0x5 data:string -lbl_1_data_62F = .data:0x0000062F; // type:object size:0x4 data:string -lbl_1_data_633 = .data:0x00000633; // type:object size:0x1 data:byte -lbl_1_data_634 = .data:0x00000634; // type:object size:0x24 -lbl_1_data_658 = .data:0x00000658; // type:object size:0x24 -lbl_1_data_67C = .data:0x0000067C; // type:object size:0x14 -lbl_1_data_690 = .data:0x00000690; // type:object size:0x2D0 -lbl_1_data_960 = .data:0x00000960; // type:object size:0x2D0 -lbl_1_data_C30 = .data:0x00000C30; // type:object size:0x2D0 -lbl_1_data_F00 = .data:0x00000F00; // type:object size:0x8 -lbl_1_data_F08 = .data:0x00000F08; // type:object size:0x38 -lbl_1_data_F40 = .data:0x00000F40; // type:object size:0x20 -lbl_1_data_F60 = .data:0x00000F60; // type:object size:0x20 -lbl_1_data_F80 = .data:0x00000F80; // type:object size:0x7 data:string -lbl_1_data_F87 = .data:0x00000F87; // type:object size:0x5 data:string -lbl_1_data_F8C = .data:0x00000F8C; // type:object size:0x5 data:string -lbl_1_data_F91 = .data:0x00000F91; // type:object size:0x5 data:string -lbl_1_data_F96 = .data:0x00000F96; // type:object size:0x6 -lbl_1_data_F9C = .data:0x00000F9C; // type:object size:0x10 data:4byte -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x1 data:byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x2 data:2byte -lbl_1_bss_26 = .bss:0x00000026; // type:object size:0x2 data:2byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x1 data:byte -lbl_1_bss_29 = .bss:0x00000029; // type:object size:0x1 data:byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x5A0 -lbl_1_bss_5CC = .bss:0x000005CC; // type:object size:0x2 data:2byte -lbl_1_bss_5D0 = .bss:0x000005D0; // type:object size:0x30 -lbl_1_bss_600 = .bss:0x00000600; // type:object size:0x18 -lbl_1_bss_618 = .bss:0x00000618; // type:object size:0xC data:4byte -lbl_1_bss_624 = .bss:0x00000624; // type:object size:0xC data:float -lbl_1_bss_630 = .bss:0x00000630; // type:object size:0xC data:4byte -lbl_1_bss_63C = .bss:0x0000063C; // type:object size:0x4 data:float -lbl_1_bss_640 = .bss:0x00000640; // type:object size:0x4 data:float -lbl_1_bss_644 = .bss:0x00000644; // type:object size:0x4 data:float -lbl_1_bss_648 = .bss:0x00000648; // type:object size:0xC data:4byte -lbl_1_bss_654 = .bss:0x00000654; // type:object size:0xC data:float -lbl_1_bss_660 = .bss:0x00000660; // type:object size:0xC data:float -lbl_1_bss_66C = .bss:0x0000066C; // type:object size:0x4 data:float -lbl_1_bss_670 = .bss:0x00000670; // type:object size:0x4 data:float -lbl_1_bss_674 = .bss:0x00000674; // type:object size:0x4 data:float -lbl_1_bss_678 = .bss:0x00000678; // type:object size:0x30 -lbl_1_bss_6A8 = .bss:0x000006A8; // type:object size:0x4 data:float -lbl_1_bss_6AC = .bss:0x000006AC; // type:object size:0x2 data:2byte -lbl_1_bss_6AE = .bss:0x000006AE; // type:object size:0x2 data:2byte -lbl_1_bss_6B0 = .bss:0x000006B0; // type:object size:0x1 data:byte -lbl_1_bss_6B1 = .bss:0x000006B1; // type:object size:0x1 data:byte -lbl_1_bss_6B2 = .bss:0x000006B2; // type:object size:0x1 data:byte -lbl_1_bss_6B3 = .bss:0x000006B3; // type:object size:0x1 data:byte -lbl_1_bss_6B4 = .bss:0x000006B4; // type:object size:0x1 data:byte -lbl_1_bss_6B6 = .bss:0x000006B6; // type:object size:0xA data:2byte -lbl_1_bss_6C0 = .bss:0x000006C0; // type:object size:0x4 data:4byte -lbl_1_bss_6C4 = .bss:0x000006C4; // type:object size:0x44 data:2byte -lbl_1_bss_708 = .bss:0x00000708; // type:object size:0x2 data:2byte -lbl_1_bss_70C = .bss:0x0000070C; // type:object size:0x4 data:4byte -lbl_1_bss_710 = .bss:0x00000710; // type:object size:0x4 data:4byte -lbl_1_bss_714 = .bss:0x00000714; // type:object size:0xC -lbl_1_bss_720 = .bss:0x00000720; // type:object size:0x4 data:4byte -lbl_1_bss_724 = .bss:0x00000724; // type:object size:0x4 data:4byte -lbl_1_bss_728 = .bss:0x00000728; // type:object size:0x2 data:2byte -lbl_1_bss_72A = .bss:0x0000072A; // type:object size:0x2 data:2byte -lbl_1_bss_72C = .bss:0x0000072C; // type:object size:0x4 data:4byte -lbl_1_bss_730 = .bss:0x00000730; // type:object size:0x4 data:4byte -lbl_1_bss_734 = .bss:0x00000734; // type:object size:0x4 data:4byte -lbl_1_bss_738 = .bss:0x00000738; // type:object size:0xC data:float -lbl_1_bss_744 = .bss:0x00000744; // type:object size:0x2 data:2byte -lbl_1_bss_748 = .bss:0x00000748; // type:object size:0x4 data:4byte -lbl_1_bss_74C = .bss:0x0000074C; // type:object size:0x4 data:4byte -lbl_1_bss_750 = .bss:0x00000750; // type:object size:0x2 data:2byte -lbl_1_bss_754 = .bss:0x00000754; // type:object size:0x4 data:float -lbl_1_bss_758 = .bss:0x00000758; // type:object size:0x4 data:4byte -lbl_1_bss_75C = .bss:0x0000075C; // type:object size:0x4 data:4byte -lbl_1_bss_760 = .bss:0x00000760; // type:object size:0x28 -lbl_1_bss_788 = .bss:0x00000788; // type:object size:0x2 data:2byte -lbl_1_bss_78A = .bss:0x0000078A; // type:object size:0x6 data:2byte -lbl_1_bss_790 = .bss:0x00000790; // type:object size:0x6 data:2byte -lbl_1_bss_796 = .bss:0x00000796; // type:object size:0x2 data:2byte -lbl_1_bss_798 = .bss:0x00000798; // type:object size:0x4 data:4byte -lbl_1_bss_79C = .bss:0x0000079C; // type:object size:0x4 data:4byte -lbl_1_bss_7A0 = .bss:0x000007A0; // type:object size:0x4 data:4byte -lbl_1_bss_7A4 = .bss:0x000007A4; // type:object size:0x4 data:4byte -lbl_1_bss_7A8 = .bss:0x000007A8; // type:object size:0x2 data:2byte -lbl_1_bss_7AA = .bss:0x000007AA; // type:object size:0x2 data:2byte -lbl_1_bss_7AC = .bss:0x000007AC; // type:object size:0x8 data:4byte -lbl_1_bss_7B4 = .bss:0x000007B4; // type:object size:0x2 data:2byte -lbl_1_bss_7B8 = .bss:0x000007B8; // type:object size:0x4 data:4byte -lbl_1_bss_7BC = .bss:0x000007BC; // type:object size:0x8 data:4byte -lbl_1_bss_7C4 = .bss:0x000007C4; // type:object size:0xC data:float -lbl_1_bss_7D0 = .bss:0x000007D0; // type:object size:0x2 data:2byte -lbl_1_bss_7D2 = .bss:0x000007D2; // type:object size:0x2 data:2byte -lbl_1_bss_7D4 = .bss:0x000007D4; // type:object size:0x2 data:2byte -lbl_1_bss_7D6 = .bss:0x000007D6; // type:object size:0x2 data:2byte -lbl_1_bss_7D8 = .bss:0x000007D8; // type:object size:0xC data:4byte -lbl_1_bss_7E4 = .bss:0x000007E4; // type:object size:0x4 data:4byte -lbl_1_bss_7E8 = .bss:0x000007E8; // type:object size:0x4 data:float -lbl_1_bss_7EC = .bss:0x000007EC; // type:object size:0x4 data:float -lbl_1_bss_7F0 = .bss:0x000007F0; // type:object size:0x4 data:4byte -lbl_1_bss_7F4 = .bss:0x000007F4; // type:object size:0x4 data:4byte -lbl_1_bss_7F8 = .bss:0x000007F8; // type:object size:0x4 data:4byte -lbl_1_bss_7FC = .bss:0x000007FC; // type:object size:0x10 data:4byte -lbl_1_bss_80C = .bss:0x0000080C; // type:object size:0xC data:float -lbl_1_bss_818 = .bss:0x00000818; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/w02Dll/splits.txt b/config/GMPP01_00/rels/w02Dll/splits.txt deleted file mode 100644 index a94f9206..00000000 --- a/config/GMPP01_00/rels/w02Dll/splits.txt +++ /dev/null @@ -1,52 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/board_executor.c: - .text start:0x00000000 end:0x000000E0 - .rodata start:0x00000000 end:0x00000010 - -REL/w02Dll/main.c: - .text start:0x000000E0 end:0x00001254 - .rodata start:0x00000010 end:0x00000038 - .data start:0x00000000 end:0x000002A8 - .bss start:0x00000000 end:0x00000050 - -REL/w02Dll/gendice.c: - .text start:0x00001254 end:0x00002D04 - .rodata start:0x00000038 end:0x00000108 - .data start:0x000002A8 end:0x00000360 - -REL/w02Dll/gamble.c: - .text start:0x00002D04 end:0x000039F4 - .rodata start:0x00000108 end:0x00000178 - .data start:0x00000360 end:0x00000378 - .bss start:0x00000050 end:0x00000058 - -REL/w02Dll/mg_coin.c: - .text start:0x000039F4 end:0x00005CF8 - .rodata start:0x00000178 end:0x00000218 - .data start:0x00000378 end:0x00000428 - .bss start:0x00000058 end:0x000000C8 - -REL/w02Dll/mg_item.c: - .text start:0x00005CF8 end:0x00009250 - .rodata start:0x00000218 end:0x000002F8 - .data start:0x00000428 end:0x00000490 - .bss start:0x000000C8 end:0x000001A0 - -REL/w02Dll/shuffleboard.c: - .text start:0x00009250 end:0x0000BC1C - .rodata start:0x000002F8 end:0x00000410 - .data start:0x00000490 end:0x000004D0 - .bss start:0x000001A0 end:0x00000380 - -REL/w02Dll/roulette.c: - .text start:0x0000BC1C end:0x0000E4D4 - .rodata start:0x00000410 end:0x00000538 - .data start:0x000004D0 end:0x00000524 - .bss start:0x00000380 end:0x00000390 diff --git a/config/GMPP01_00/rels/w02Dll/symbols.txt b/config/GMPP01_00/rels/w02Dll/symbols.txt deleted file mode 100644 index 326cbb5f..00000000 --- a/config/GMPP01_00/rels/w02Dll/symbols.txt +++ /dev/null @@ -1,457 +0,0 @@ -ObjectSetup = .text:0x00000000; // type:function size:0x30 scope:local -_prolog = .text:0x00000030; // type:function size:0x64 scope:global -_epilog = .text:0x00000094; // type:function size:0x4C scope:global -BoardCreate = .text:0x000000E0; // type:function size:0x4F4 -BoardDestroy = .text:0x000005D4; // type:function size:0x158 -fn_1_72C = .text:0x0000072C; // type:function size:0x44 -fn_1_770 = .text:0x00000770; // type:function size:0x4 -fn_1_774 = .text:0x00000774; // type:function size:0x8C -fn_1_800 = .text:0x00000800; // type:function size:0x12C -fn_1_92C = .text:0x0000092C; // type:function size:0x24 -fn_1_950 = .text:0x00000950; // type:function size:0x4 -fn_1_954 = .text:0x00000954; // type:function size:0x3C -fn_1_990 = .text:0x00000990; // type:function size:0x2C0 -fn_1_C50 = .text:0x00000C50; // type:function size:0x420 -fn_1_1070 = .text:0x00001070; // type:function size:0x38 -fn_1_10A8 = .text:0x000010A8; // type:function size:0x80 -fn_1_1128 = .text:0x00001128; // type:function size:0xF4 -fn_1_121C = .text:0x0000121C; // type:function size:0x38 -fn_1_1254 = .text:0x00001254; // type:function size:0x17C -fn_1_13D0 = .text:0x000013D0; // type:function size:0x148 -fn_1_1518 = .text:0x00001518; // type:function size:0x5C -fn_1_1574 = .text:0x00001574; // type:function size:0x220 -fn_1_1794 = .text:0x00001794; // type:function size:0x60 -fn_1_17F4 = .text:0x000017F4; // type:function size:0x5C -fn_1_1850 = .text:0x00001850; // type:function size:0x744 -fn_1_1F94 = .text:0x00001F94; // type:function size:0x9C -fn_1_2030 = .text:0x00002030; // type:function size:0xD0 -fn_1_2100 = .text:0x00002100; // type:function size:0x120 -fn_1_2220 = .text:0x00002220; // type:function size:0x9C -fn_1_22BC = .text:0x000022BC; // type:function size:0x80 -fn_1_233C = .text:0x0000233C; // type:function size:0x78 -fn_1_23B4 = .text:0x000023B4; // type:function size:0x48 -fn_1_23FC = .text:0x000023FC; // type:function size:0x1D4 -fn_1_25D0 = .text:0x000025D0; // type:function size:0xC4 -fn_1_2694 = .text:0x00002694; // type:function size:0x98 -fn_1_272C = .text:0x0000272C; // type:function size:0x104 -fn_1_2830 = .text:0x00002830; // type:function size:0x3B4 -fn_1_2BE4 = .text:0x00002BE4; // type:function size:0x120 -fn_1_2D04 = .text:0x00002D04; // type:function size:0xC34 -fn_1_3938 = .text:0x00003938; // type:function size:0x14 -fn_1_394C = .text:0x0000394C; // type:function size:0xA8 -fn_1_39F4 = .text:0x000039F4; // type:function size:0x200 -fn_1_3BF4 = .text:0x00003BF4; // type:function size:0x318 -fn_1_3F0C = .text:0x00003F0C; // type:function size:0x58 -fn_1_3F64 = .text:0x00003F64; // type:function size:0x30 -fn_1_3F94 = .text:0x00003F94; // type:function size:0xBC -fn_1_4050 = .text:0x00004050; // type:function size:0xB0 -fn_1_4100 = .text:0x00004100; // type:function size:0xB8 -fn_1_41B8 = .text:0x000041B8; // type:function size:0x1C0 -fn_1_4378 = .text:0x00004378; // type:function size:0x320 -fn_1_4698 = .text:0x00004698; // type:function size:0x50 -fn_1_46E8 = .text:0x000046E8; // type:function size:0xA34 -fn_1_511C = .text:0x0000511C; // type:function size:0x98 -fn_1_51B4 = .text:0x000051B4; // type:function size:0xDC -fn_1_5290 = .text:0x00005290; // type:function size:0x128 -fn_1_53B8 = .text:0x000053B8; // type:function size:0x27C -fn_1_5634 = .text:0x00005634; // type:function size:0x234 -fn_1_5868 = .text:0x00005868; // type:function size:0x258 -fn_1_5AC0 = .text:0x00005AC0; // type:function size:0x1C4 -fn_1_5C84 = .text:0x00005C84; // type:function size:0x74 -fn_1_5CF8 = .text:0x00005CF8; // type:function size:0x30 -fn_1_5D28 = .text:0x00005D28; // type:function size:0x1E0 -fn_1_5F08 = .text:0x00005F08; // type:function size:0x58 -fn_1_5F60 = .text:0x00005F60; // type:function size:0x30 -fn_1_5F90 = .text:0x00005F90; // type:function size:0x9C -fn_1_602C = .text:0x0000602C; // type:function size:0x40 -fn_1_606C = .text:0x0000606C; // type:function size:0x100 -fn_1_616C = .text:0x0000616C; // type:function size:0xDC -fn_1_6248 = .text:0x00006248; // type:function size:0x868 -fn_1_6AB0 = .text:0x00006AB0; // type:function size:0x1F4 -fn_1_6CA4 = .text:0x00006CA4; // type:function size:0x60 -fn_1_6D04 = .text:0x00006D04; // type:function size:0x130 -fn_1_6E34 = .text:0x00006E34; // type:function size:0x74 -fn_1_6EA8 = .text:0x00006EA8; // type:function size:0x43C -fn_1_72E4 = .text:0x000072E4; // type:function size:0x48 -fn_1_732C = .text:0x0000732C; // type:function size:0x2C -fn_1_7358 = .text:0x00007358; // type:function size:0x70 -fn_1_73C8 = .text:0x000073C8; // type:function size:0x11C -fn_1_74E4 = .text:0x000074E4; // type:function size:0x26C -fn_1_7750 = .text:0x00007750; // type:function size:0xC8 -fn_1_7818 = .text:0x00007818; // type:function size:0x80 -fn_1_7898 = .text:0x00007898; // type:function size:0x124 -fn_1_79BC = .text:0x000079BC; // type:function size:0x888 -fn_1_8244 = .text:0x00008244; // type:function size:0x32C -fn_1_8570 = .text:0x00008570; // type:function size:0x8C -fn_1_85FC = .text:0x000085FC; // type:function size:0x7B0 -fn_1_8DAC = .text:0x00008DAC; // type:function size:0x8C -fn_1_8E38 = .text:0x00008E38; // type:function size:0x418 -fn_1_9250 = .text:0x00009250; // type:function size:0x178 -fn_1_93C8 = .text:0x000093C8; // type:function size:0xE4 -fn_1_94AC = .text:0x000094AC; // type:function size:0x14 -fn_1_94C0 = .text:0x000094C0; // type:function size:0x418 -fn_1_98D8 = .text:0x000098D8; // type:function size:0x5EC -fn_1_9EC4 = .text:0x00009EC4; // type:function size:0x694 -fn_1_A558 = .text:0x0000A558; // type:function size:0x390 -fn_1_A8E8 = .text:0x0000A8E8; // type:function size:0xB68 -fn_1_B450 = .text:0x0000B450; // type:function size:0x458 -fn_1_B8A8 = .text:0x0000B8A8; // type:function size:0x288 -fn_1_BB30 = .text:0x0000BB30; // type:function size:0xEC -fn_1_BC1C = .text:0x0000BC1C; // type:function size:0xE0 -fn_1_BCFC = .text:0x0000BCFC; // type:function size:0x178 -fn_1_BE74 = .text:0x0000BE74; // type:function size:0x14 -fn_1_BE88 = .text:0x0000BE88; // type:function size:0x280 -fn_1_C108 = .text:0x0000C108; // type:function size:0xBFC -fn_1_CD04 = .text:0x0000CD04; // type:function size:0x6A8 -fn_1_D3AC = .text:0x0000D3AC; // type:function size:0x518 -fn_1_D8C4 = .text:0x0000D8C4; // type:function size:0x684 -fn_1_DF48 = .text:0x0000DF48; // type:function size:0x364 -fn_1_E2AC = .text:0x0000E2AC; // type:function size:0x64 -fn_1_E310 = .text:0x0000E310; // type:function size:0x10C -fn_1_E41C = .text:0x0000E41C; // type:function size:0xB8 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x28 scope:local data:4byte -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:byte -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 scope:local data:double -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x8 scope:local data:double -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 scope:local data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 scope:local data:double -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 scope:local data:double -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 scope:local data:double -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 scope:local data:double -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 scope:local data:double -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 scope:local data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 scope:local data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 scope:local data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x8 scope:local data:double -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 scope:local data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 scope:local data:float -lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 scope:local data:float -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x8 scope:local data:double -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 scope:local data:float -lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x280 -lbl_1_data_280 = .data:0x00000280; // type:object size:0x2 data:2byte -lbl_1_data_282 = .data:0x00000282; // type:object size:0x2 data:2byte -lbl_1_data_284 = .data:0x00000284; // type:object size:0x2 data:2byte -lbl_1_data_286 = .data:0x00000286; // type:object size:0x2 data:2byte -lbl_1_data_288 = .data:0x00000288; // type:object size:0x8 -lbl_1_data_290 = .data:0x00000290; // type:object size:0x18 -lbl_1_data_2A8 = .data:0x000002A8; // type:object size:0x12 data:string -lbl_1_data_2BA = .data:0x000002BA; // type:object size:0xE data:string -lbl_1_data_2C8 = .data:0x000002C8; // type:object size:0x10 data:string -lbl_1_data_2D8 = .data:0x000002D8; // type:object size:0x50 -lbl_1_data_328 = .data:0x00000328; // type:object size:0x1D data:string -lbl_1_data_345 = .data:0x00000345; // type:object size:0x1B data:string -lbl_1_data_360 = .data:0x00000360; // type:object size:0x11 data:string -lbl_1_data_371 = .data:0x00000371; // type:object size:0x7 -lbl_1_data_378 = .data:0x00000378; // type:object size:0x24 -lbl_1_data_39C = .data:0x0000039C; // type:object size:0x24 -lbl_1_data_3C0 = .data:0x000003C0; // type:object size:0x24 -lbl_1_data_3E4 = .data:0x000003E4; // type:object size:0x20 -lbl_1_data_404 = .data:0x00000404; // type:object size:0x20 -lbl_1_data_424 = .data:0x00000424; // type:object size:0x4 -lbl_1_data_428 = .data:0x00000428; // type:object size:0x38 -lbl_1_data_460 = .data:0x00000460; // type:object size:0x5 data:string -lbl_1_data_465 = .data:0x00000465; // type:object size:0x6 data:string -lbl_1_data_46B = .data:0x0000046B; // type:object size:0x9 -lbl_1_data_474 = .data:0x00000474; // type:object size:0xC -lbl_1_data_480 = .data:0x00000480; // type:object size:0x10 -lbl_1_data_490 = .data:0x00000490; // type:object size:0x20 -lbl_1_data_4B0 = .data:0x000004B0; // type:object size:0x20 -lbl_1_data_4D0 = .data:0x000004D0; // type:object size:0x40 -lbl_1_data_510 = .data:0x00000510; // type:object size:0x14 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x8 data:2byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0xC -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0xC -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x2 data:2byte -lbl_1_bss_2E = .bss:0x0000002E; // type:object size:0x2 data:2byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x20 data:2byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x28 data:2byte -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x2 data:2byte -lbl_1_bss_86 = .bss:0x00000086; // type:object size:0xE data:2byte -lbl_1_bss_94 = .bss:0x00000094; // type:object size:0xC data:4byte -lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x2 data:2byte -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x4 data:4byte -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x4 data:4byte -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0xC -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x6 -lbl_1_bss_C2 = .bss:0x000000C2; // type:object size:0x6 -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x4 data:4byte -lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0xC -lbl_1_bss_D8 = .bss:0x000000D8; // type:object size:0x4 data:4byte -lbl_1_bss_DC = .bss:0x000000DC; // type:object size:0x24 -lbl_1_bss_100 = .bss:0x00000100; // type:object size:0x4 data:4byte -lbl_1_bss_104 = .bss:0x00000104; // type:object size:0x4 data:4byte -lbl_1_bss_108 = .bss:0x00000108; // type:object size:0x4 data:4byte -lbl_1_bss_10C = .bss:0x0000010C; // type:object size:0x4 data:4byte -lbl_1_bss_110 = .bss:0x00000110; // type:object size:0x4 data:float -lbl_1_bss_114 = .bss:0x00000114; // type:object size:0x4 data:float -lbl_1_bss_118 = .bss:0x00000118; // type:object size:0x24 -lbl_1_bss_13C = .bss:0x0000013C; // type:object size:0x24 -lbl_1_bss_160 = .bss:0x00000160; // type:object size:0x24 data:float -lbl_1_bss_184 = .bss:0x00000184; // type:object size:0x6 data:2byte -lbl_1_bss_18A = .bss:0x0000018A; // type:object size:0x6 data:2byte -lbl_1_bss_190 = .bss:0x00000190; // type:object size:0x6 data:2byte -lbl_1_bss_196 = .bss:0x00000196; // type:object size:0x2 data:2byte -lbl_1_bss_198 = .bss:0x00000198; // type:object size:0x8 data:2byte -lbl_1_bss_1A0 = .bss:0x000001A0; // type:object size:0xC data:float -lbl_1_bss_1AC = .bss:0x000001AC; // type:object size:0x2 data:2byte -lbl_1_bss_1B0 = .bss:0x000001B0; // type:object size:0xC data:float -lbl_1_bss_1BC = .bss:0x000001BC; // type:object size:0x4 data:float -lbl_1_bss_1C0 = .bss:0x000001C0; // type:object size:0x2 data:2byte -lbl_1_bss_1C4 = .bss:0x000001C4; // type:object size:0x20 -lbl_1_bss_1E4 = .bss:0x000001E4; // type:object size:0xB4 -lbl_1_bss_298 = .bss:0x00000298; // type:object size:0xB4 data:float -lbl_1_bss_34C = .bss:0x0000034C; // type:object size:0x1E -lbl_1_bss_36A = .bss:0x0000036A; // type:object size:0x2 data:2byte -lbl_1_bss_36C = .bss:0x0000036C; // type:object size:0x2 data:2byte -lbl_1_bss_36E = .bss:0x0000036E; // type:object size:0x2 data:2byte -lbl_1_bss_370 = .bss:0x00000370; // type:object size:0x2 data:2byte -lbl_1_bss_374 = .bss:0x00000374; // type:object size:0x4 data:4byte -lbl_1_bss_378 = .bss:0x00000378; // type:object size:0x8 data:4byte -lbl_1_bss_380 = .bss:0x00000380; // type:object size:0x4 data:float -lbl_1_bss_384 = .bss:0x00000384; // type:object size:0x4 data:4byte -lbl_1_bss_388 = .bss:0x00000388; // type:object size:0x2 data:2byte -lbl_1_bss_38C = .bss:0x0000038C; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_00/rels/w03Dll/splits.txt b/config/GMPP01_00/rels/w03Dll/splits.txt deleted file mode 100644 index 2ba2bee3..00000000 --- a/config/GMPP01_00/rels/w03Dll/splits.txt +++ /dev/null @@ -1,53 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/board_executor.c: - .text start:0x00000000 end:0x000000E0 - .rodata start:0x00000000 end:0x00000010 - -REL/w03Dll/main.c: - .text start:0x000000E0 end:0x000012C8 - .rodata start:0x00000010 end:0x00000038 - .data start:0x00000000 end:0x00000280 - .bss start:0x00000000 end:0x00000028 - -REL/w03Dll/statue.c: - .text start:0x000012C8 end:0x00003058 - .rodata start:0x00000038 end:0x000000D8 - .data start:0x00000280 end:0x00000310 - .bss start:0x00000028 end:0x00000070 - -REL/w03Dll/condor.c: - .text start:0x00003058 end:0x000063F4 - .rodata start:0x000000D8 end:0x00000218 - .data start:0x00000310 end:0x00000368 - .bss start:0x00000070 end:0x00000120 - -REL/w03Dll/river.c: - .text start:0x000063F4 end:0x0000785C - .rodata start:0x00000218 end:0x000002A8 - .data start:0x00000368 end:0x00000410 - .bss start:0x00000120 end:0x00000138 - -REL/w03Dll/smoke.c: - .text start:0x0000785C end:0x00007ABC - .rodata start:0x000002A8 end:0x000002B0 - .data start:0x00000410 end:0x00000450 - .bss start:0x00000138 end:0x00000140 - -REL/w03Dll/mg_coin.c: - .text start:0x00007ABC end:0x00009A7C - .rodata start:0x000002B0 end:0x00000360 - .data start:0x00000450 end:0x000004D8 - .bss start:0x00000140 end:0x00000180 - -REL/w03Dll/mg_item.c: - .text start:0x00009A7C end:0x0000C248 - .rodata start:0x00000360 end:0x00000418 - .data start:0x000004D8 end:0x0000054C - .bss start:0x00000180 end:0x00000197 diff --git a/config/GMPP01_00/rels/w03Dll/symbols.txt b/config/GMPP01_00/rels/w03Dll/symbols.txt deleted file mode 100644 index 40d6b23e..00000000 --- a/config/GMPP01_00/rels/w03Dll/symbols.txt +++ /dev/null @@ -1,443 +0,0 @@ -ObjectSetup = .text:0x00000000; // type:function size:0x30 scope:local -_prolog = .text:0x00000030; // type:function size:0x64 scope:global -_epilog = .text:0x00000094; // type:function size:0x4C scope:global -BoardCreate = .text:0x000000E0; // type:function size:0x660 -BoardDestroy = .text:0x00000740; // type:function size:0x144 -fn_1_884 = .text:0x00000884; // type:function size:0x6C -fn_1_8F0 = .text:0x000008F0; // type:function size:0x20 -fn_1_910 = .text:0x00000910; // type:function size:0x164 -fn_1_A74 = .text:0x00000A74; // type:function size:0x84 -fn_1_AF8 = .text:0x00000AF8; // type:function size:0x64 -fn_1_B5C = .text:0x00000B5C; // type:function size:0x198 -fn_1_CF4 = .text:0x00000CF4; // type:function size:0xF8 -fn_1_DEC = .text:0x00000DEC; // type:function size:0x2C4 -fn_1_10B0 = .text:0x000010B0; // type:function size:0x34 -fn_1_10E4 = .text:0x000010E4; // type:function size:0x1E4 -fn_1_12C8 = .text:0x000012C8; // type:function size:0x90 -fn_1_1358 = .text:0x00001358; // type:function size:0x1D4 -fn_1_152C = .text:0x0000152C; // type:function size:0xBC -fn_1_15E8 = .text:0x000015E8; // type:function size:0x68 -fn_1_1650 = .text:0x00001650; // type:function size:0x38C -fn_1_19DC = .text:0x000019DC; // type:function size:0x340 -fn_1_1D1C = .text:0x00001D1C; // type:function size:0x1B8 -fn_1_1ED4 = .text:0x00001ED4; // type:function size:0x20C -fn_1_20E0 = .text:0x000020E0; // type:function size:0x600 -fn_1_26E0 = .text:0x000026E0; // type:function size:0x138 -fn_1_2818 = .text:0x00002818; // type:function size:0x118 -fn_1_2930 = .text:0x00002930; // type:function size:0x110 -fn_1_2A40 = .text:0x00002A40; // type:function size:0x80 -fn_1_2AC0 = .text:0x00002AC0; // type:function size:0x84 -fn_1_2B44 = .text:0x00002B44; // type:function size:0x514 -fn_1_3058 = .text:0x00003058; // type:function size:0x44 -fn_1_309C = .text:0x0000309C; // type:function size:0xA0 -fn_1_313C = .text:0x0000313C; // type:function size:0xDC -fn_1_3218 = .text:0x00003218; // type:function size:0xEC -fn_1_3304 = .text:0x00003304; // type:function size:0x174 -fn_1_3478 = .text:0x00003478; // type:function size:0x39C -fn_1_3814 = .text:0x00003814; // type:function size:0x154 -fn_1_3968 = .text:0x00003968; // type:function size:0x520 -fn_1_3E88 = .text:0x00003E88; // type:function size:0xD4 -fn_1_3F5C = .text:0x00003F5C; // type:function size:0x3F8 -fn_1_4354 = .text:0x00004354; // type:function size:0xD0 -fn_1_4424 = .text:0x00004424; // type:function size:0x4C8 -fn_1_48EC = .text:0x000048EC; // type:function size:0x1B0 -fn_1_4A9C = .text:0x00004A9C; // type:function size:0x20 -fn_1_4ABC = .text:0x00004ABC; // type:function size:0x250 -fn_1_4D0C = .text:0x00004D0C; // type:function size:0x54 -fn_1_4D60 = .text:0x00004D60; // type:function size:0x1C4 -fn_1_4F24 = .text:0x00004F24; // type:function size:0x1B0 -fn_1_50D4 = .text:0x000050D4; // type:function size:0x764 -fn_1_5838 = .text:0x00005838; // type:function size:0x290 -fn_1_5AC8 = .text:0x00005AC8; // type:function size:0x194 -fn_1_5C5C = .text:0x00005C5C; // type:function size:0x3D0 -fn_1_602C = .text:0x0000602C; // type:function size:0x178 -fn_1_61A4 = .text:0x000061A4; // type:function size:0xF8 -fn_1_629C = .text:0x0000629C; // type:function size:0x34 -fn_1_62D0 = .text:0x000062D0; // type:function size:0x2C -fn_1_62FC = .text:0x000062FC; // type:function size:0xF8 -fn_1_63F4 = .text:0x000063F4; // type:function size:0xA0 -fn_1_6494 = .text:0x00006494; // type:function size:0x204 -fn_1_6698 = .text:0x00006698; // type:function size:0xC4 -fn_1_675C = .text:0x0000675C; // type:function size:0x9C -fn_1_67F8 = .text:0x000067F8; // type:function size:0x8C -fn_1_6884 = .text:0x00006884; // type:function size:0x14 -fn_1_6898 = .text:0x00006898; // type:function size:0x300 -fn_1_6B98 = .text:0x00006B98; // type:function size:0x404 -fn_1_6F9C = .text:0x00006F9C; // type:function size:0x3C0 -fn_1_735C = .text:0x0000735C; // type:function size:0x320 -fn_1_767C = .text:0x0000767C; // type:function size:0x168 -fn_1_77E4 = .text:0x000077E4; // type:function size:0x78 -fn_1_785C = .text:0x0000785C; // type:function size:0x184 -fn_1_79E0 = .text:0x000079E0; // type:function size:0xDC -fn_1_7ABC = .text:0x00007ABC; // type:function size:0x9C -fn_1_7B58 = .text:0x00007B58; // type:function size:0x50 -fn_1_7BA8 = .text:0x00007BA8; // type:function size:0x90 -fn_1_7C38 = .text:0x00007C38; // type:function size:0x60 -fn_1_7C98 = .text:0x00007C98; // type:function size:0x80 -fn_1_7D18 = .text:0x00007D18; // type:function size:0x428 -fn_1_8140 = .text:0x00008140; // type:function size:0xA0 -fn_1_81E0 = .text:0x000081E0; // type:function size:0x254 -fn_1_8434 = .text:0x00008434; // type:function size:0x74 -fn_1_84A8 = .text:0x000084A8; // type:function size:0x88 -fn_1_8530 = .text:0x00008530; // type:function size:0x168 -fn_1_8698 = .text:0x00008698; // type:function size:0x570 -fn_1_8C08 = .text:0x00008C08; // type:function size:0x23C -fn_1_8E44 = .text:0x00008E44; // type:function size:0x200 -fn_1_9044 = .text:0x00009044; // type:function size:0x174 -fn_1_91B8 = .text:0x000091B8; // type:function size:0x78 -fn_1_9230 = .text:0x00009230; // type:function size:0x154 -fn_1_9384 = .text:0x00009384; // type:function size:0xF0 -fn_1_9474 = .text:0x00009474; // type:function size:0x144 -fn_1_95B8 = .text:0x000095B8; // type:function size:0x240 -fn_1_97F8 = .text:0x000097F8; // type:function size:0x224 -fn_1_9A1C = .text:0x00009A1C; // type:function size:0x60 -fn_1_9A7C = .text:0x00009A7C; // type:function size:0x20 -fn_1_9A9C = .text:0x00009A9C; // type:function size:0x4 -fn_1_9AA0 = .text:0x00009AA0; // type:function size:0x90 -fn_1_9B30 = .text:0x00009B30; // type:function size:0x15C -fn_1_9C8C = .text:0x00009C8C; // type:function size:0x68 -fn_1_9CF4 = .text:0x00009CF4; // type:function size:0x284 -fn_1_9F78 = .text:0x00009F78; // type:function size:0x6C -fn_1_9FE4 = .text:0x00009FE4; // type:function size:0x468 -fn_1_A44C = .text:0x0000A44C; // type:function size:0x194 -fn_1_A5E0 = .text:0x0000A5E0; // type:function size:0xD0 -fn_1_A6B0 = .text:0x0000A6B0; // type:function size:0xF0 -fn_1_A7A0 = .text:0x0000A7A0; // type:function size:0x10C -fn_1_A8AC = .text:0x0000A8AC; // type:function size:0xE8 -fn_1_A994 = .text:0x0000A994; // type:function size:0x184 -fn_1_AB18 = .text:0x0000AB18; // type:function size:0xB8 -fn_1_ABD0 = .text:0x0000ABD0; // type:function size:0x108 -fn_1_ACD8 = .text:0x0000ACD8; // type:function size:0x148 -fn_1_AE20 = .text:0x0000AE20; // type:function size:0x2C -fn_1_AE4C = .text:0x0000AE4C; // type:function size:0xD8 -fn_1_AF24 = .text:0x0000AF24; // type:function size:0x180 -fn_1_B0A4 = .text:0x0000B0A4; // type:function size:0x2AC -fn_1_B350 = .text:0x0000B350; // type:function size:0x15C -fn_1_B4AC = .text:0x0000B4AC; // type:function size:0x1DC -fn_1_B688 = .text:0x0000B688; // type:function size:0xC0 -fn_1_B748 = .text:0x0000B748; // type:function size:0x1A0 -fn_1_B8E8 = .text:0x0000B8E8; // type:function size:0x260 -fn_1_BB48 = .text:0x0000BB48; // type:function size:0x2C -fn_1_BB74 = .text:0x0000BB74; // type:function size:0x50 -fn_1_BBC4 = .text:0x0000BBC4; // type:function size:0x34 -fn_1_BBF8 = .text:0x0000BBF8; // type:function size:0x84 -fn_1_BC7C = .text:0x0000BC7C; // type:function size:0x130 -fn_1_BDAC = .text:0x0000BDAC; // type:function size:0x84 -fn_1_BE30 = .text:0x0000BE30; // type:function size:0x418 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x6 scope:local data:2byte -lbl_1_rodata_BE = .rodata:0x000000BE; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_C2 = .rodata:0x000000C2; // type:object size:0x6 scope:local data:byte -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 scope:local data:double -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x8 scope:local data:double -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 scope:local data:double -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x8 scope:local data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x1E0 -lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0x2 data:2byte -lbl_1_data_1E2 = .data:0x000001E2; // type:object size:0x2 data:2byte -lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x2 data:2byte -lbl_1_data_1E6 = .data:0x000001E6; // type:object size:0x2 data:2byte -lbl_1_data_1E8 = .data:0x000001E8; // type:object size:0x2 data:2byte -lbl_1_data_1EC = .data:0x000001EC; // type:object size:0x20 data:float -lbl_1_data_20C = .data:0x0000020C; // type:object size:0x8 -lbl_1_data_214 = .data:0x00000214; // type:object size:0x8 -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x10 -lbl_1_data_22C = .data:0x0000022C; // type:object size:0x30 -lbl_1_data_25C = .data:0x0000025C; // type:object size:0x10 -lbl_1_data_26C = .data:0x0000026C; // type:object size:0x14 -lbl_1_data_280 = .data:0x00000280; // type:object size:0x2 data:2byte -lbl_1_data_282 = .data:0x00000282; // type:object size:0x2 data:2byte -lbl_1_data_284 = .data:0x00000284; // type:object size:0x2 data:2byte -lbl_1_data_286 = .data:0x00000286; // type:object size:0x2 data:2byte -lbl_1_data_288 = .data:0x00000288; // type:object size:0x4 data:4byte -lbl_1_data_28C = .data:0x0000028C; // type:object size:0x4 -lbl_1_data_290 = .data:0x00000290; // type:object size:0x20 -lbl_1_data_2B0 = .data:0x000002B0; // type:object size:0x20 -lbl_1_data_2D0 = .data:0x000002D0; // type:object size:0x20 -lbl_1_data_2F0 = .data:0x000002F0; // type:object size:0x20 -lbl_1_data_310 = .data:0x00000310; // type:object size:0x2 data:2byte -lbl_1_data_312 = .data:0x00000312; // type:object size:0x2 data:2byte -lbl_1_data_314 = .data:0x00000314; // type:object size:0x2 data:2byte -lbl_1_data_316 = .data:0x00000316; // type:object size:0x2 data:2byte -lbl_1_data_318 = .data:0x00000318; // type:object size:0x18 -lbl_1_data_330 = .data:0x00000330; // type:object size:0xD data:string -lbl_1_data_33D = .data:0x0000033D; // type:object size:0x6 data:string -lbl_1_data_343 = .data:0x00000343; // type:object size:0x9 -lbl_1_data_34C = .data:0x0000034C; // type:object size:0x8 -lbl_1_data_354 = .data:0x00000354; // type:object size:0x8 -lbl_1_data_35C = .data:0x0000035C; // type:object size:0xC -lbl_1_data_368 = .data:0x00000368; // type:object size:0x20 -lbl_1_data_388 = .data:0x00000388; // type:object size:0x2 data:2byte -lbl_1_data_38A = .data:0x0000038A; // type:object size:0x2 data:2byte -lbl_1_data_38C = .data:0x0000038C; // type:object size:0x2 data:2byte -lbl_1_data_390 = .data:0x00000390; // type:object size:0x10 -lbl_1_data_3A0 = .data:0x000003A0; // type:object size:0xB data:string -lbl_1_data_3AB = .data:0x000003AB; // type:object size:0x6 data:string -lbl_1_data_3B1 = .data:0x000003B1; // type:object size:0x7 -lbl_1_data_3B8 = .data:0x000003B8; // type:object size:0x48 -lbl_1_data_400 = .data:0x00000400; // type:object size:0x3 data:string -lbl_1_data_403 = .data:0x00000403; // type:object size:0xD -lbl_1_data_410 = .data:0x00000410; // type:object size:0x8 data:string -lbl_1_data_418 = .data:0x00000418; // type:object size:0x8 data:string -lbl_1_data_420 = .data:0x00000420; // type:object size:0x8 data:string -lbl_1_data_428 = .data:0x00000428; // type:object size:0x8 data:string -lbl_1_data_430 = .data:0x00000430; // type:object size:0x8 data:string -lbl_1_data_438 = .data:0x00000438; // type:object size:0x18 -lbl_1_data_450 = .data:0x00000450; // type:object size:0x4 data:4byte -lbl_1_data_454 = .data:0x00000454; // type:object size:0x2 data:2byte -lbl_1_data_456 = .data:0x00000456; // type:object size:0x2 data:2byte -lbl_1_data_458 = .data:0x00000458; // type:object size:0x2 data:2byte -lbl_1_data_45C = .data:0x0000045C; // type:object size:0xC -lbl_1_data_468 = .data:0x00000468; // type:object size:0x8 -lbl_1_data_470 = .data:0x00000470; // type:object size:0x20 -lbl_1_data_490 = .data:0x00000490; // type:object size:0x20 -lbl_1_data_4B0 = .data:0x000004B0; // type:object size:0x1 data:byte -lbl_1_data_4B4 = .data:0x000004B4; // type:object size:0x14 -lbl_1_data_4C8 = .data:0x000004C8; // type:object size:0x6 -lbl_1_data_4CE = .data:0x000004CE; // type:object size:0xA -lbl_1_data_4D8 = .data:0x000004D8; // type:object size:0x2 data:2byte -lbl_1_data_4DA = .data:0x000004DA; // type:object size:0x2 data:2byte -lbl_1_data_4DC = .data:0x000004DC; // type:object size:0x2 data:2byte -lbl_1_data_4E0 = .data:0x000004E0; // type:object size:0x4 data:4byte -lbl_1_data_4E4 = .data:0x000004E4; // type:object size:0x2 data:2byte -lbl_1_data_4E6 = .data:0x000004E6; // type:object size:0xE -lbl_1_data_4F4 = .data:0x000004F4; // type:object size:0x5 data:string -lbl_1_data_4F9 = .data:0x000004F9; // type:object size:0x6 data:string -lbl_1_data_4FF = .data:0x000004FF; // type:object size:0x9 -lbl_1_data_508 = .data:0x00000508; // type:object size:0xC -lbl_1_data_514 = .data:0x00000514; // type:object size:0x38 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x1C data:2byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x1 data:byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:float -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0xC -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x20 -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x2 data:2byte -lbl_1_bss_6A = .bss:0x0000006A; // type:object size:0x2 data:2byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x2 data:2byte -lbl_1_bss_6E = .bss:0x0000006E; // type:object size:0x1 data:byte -lbl_1_bss_6F = .bss:0x0000006F; // type:object size:0x1 data:byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x4 data:4byte -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x1 data:byte -lbl_1_bss_7D = .bss:0x0000007D; // type:object size:0x1 data:byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0xA0 -lbl_1_bss_120 = .bss:0x00000120; // type:object size:0x4 data:4byte -lbl_1_bss_124 = .bss:0x00000124; // type:object size:0x4 data:4byte -lbl_1_bss_128 = .bss:0x00000128; // type:object size:0x2 data:2byte -lbl_1_bss_12C = .bss:0x0000012C; // type:object size:0x4 data:4byte -lbl_1_bss_130 = .bss:0x00000130; // type:object size:0x8 -lbl_1_bss_138 = .bss:0x00000138; // type:object size:0x8 data:4byte -lbl_1_bss_140 = .bss:0x00000140; // type:object size:0x4 data:4byte -lbl_1_bss_144 = .bss:0x00000144; // type:object size:0x4 data:4byte -lbl_1_bss_148 = .bss:0x00000148; // type:object size:0x4 data:4byte -lbl_1_bss_14C = .bss:0x0000014C; // type:object size:0x1 data:byte -lbl_1_bss_14E = .bss:0x0000014E; // type:object size:0x2 data:2byte -lbl_1_bss_150 = .bss:0x00000150; // type:object size:0x30 -lbl_1_bss_180 = .bss:0x00000180; // type:object size:0x4 data:4byte -lbl_1_bss_184 = .bss:0x00000184; // type:object size:0x4 data:4byte -lbl_1_bss_188 = .bss:0x00000188; // type:object size:0x4 data:4byte -lbl_1_bss_18C = .bss:0x0000018C; // type:object size:0x1 data:byte -lbl_1_bss_190 = .bss:0x00000190; // type:object size:0x4 data:4byte -lbl_1_bss_194 = .bss:0x00000194; // type:object size:0x3 diff --git a/config/GMPP01_00/rels/w04Dll/splits.txt b/config/GMPP01_00/rels/w04Dll/splits.txt deleted file mode 100644 index afc4b596..00000000 --- a/config/GMPP01_00/rels/w04Dll/splits.txt +++ /dev/null @@ -1,47 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/board_executor.c: - .text start:0x00000000 end:0x000000E0 - .rodata start:0x00000000 end:0x00000010 - -REL/w04Dll/main.c: - .text start:0x000000E0 end:0x000012FC - .rodata start:0x00000010 end:0x00000040 - .data start:0x00000000 end:0x00000298 - .bss start:0x00000000 end:0x00000038 - -REL/w04Dll/bridge.c: - .text start:0x000012FC end:0x000020EC - .rodata start:0x00000040 end:0x00000098 - .data start:0x00000298 end:0x000002D0 - .bss start:0x00000038 end:0x00000048 - -REL/w04Dll/boo_event.c: - .text start:0x000020EC end:0x00006024 - .rodata start:0x00000098 end:0x00000180 - .data start:0x000002D0 end:0x000003A8 - .bss start:0x00000048 end:0x00000100 - -REL/w04Dll/big_boo.c: - .text start:0x00006024 end:0x0000A0DC - .rodata start:0x00000180 end:0x000002C0 - .data start:0x000003A8 end:0x000004F0 - .bss start:0x00000100 end:0x00000288 - -REL/w04Dll/mg_item.c: - .text start:0x0000A0DC end:0x0000C784 - .rodata start:0x000002C0 end:0x000003A0 - .data start:0x000004F0 end:0x00000588 - .bss start:0x00000288 end:0x000002B0 - -REL/w04Dll/mg_coin.c: - .text start:0x0000C784 end:0x0000E9F0 - .rodata start:0x000003A0 end:0x0000042C - .data start:0x00000588 end:0x0000063F - .bss start:0x000002B0 end:0x00000328 diff --git a/config/GMPP01_00/rels/w04Dll/symbols.txt b/config/GMPP01_00/rels/w04Dll/symbols.txt deleted file mode 100644 index 75137666..00000000 --- a/config/GMPP01_00/rels/w04Dll/symbols.txt +++ /dev/null @@ -1,452 +0,0 @@ -ObjectSetup = .text:0x00000000; // type:function size:0x30 scope:local -_prolog = .text:0x00000030; // type:function size:0x64 scope:global -_epilog = .text:0x00000094; // type:function size:0x4C scope:global -BoardCreate = .text:0x000000E0; // type:function size:0x514 -BoardDestroy = .text:0x000005F4; // type:function size:0x15C -fn_1_750 = .text:0x00000750; // type:function size:0x44 -fn_1_794 = .text:0x00000794; // type:function size:0x4 -fn_1_798 = .text:0x00000798; // type:function size:0x64 -fn_1_7FC = .text:0x000007FC; // type:function size:0x134 -fn_1_930 = .text:0x00000930; // type:function size:0x24 -fn_1_954 = .text:0x00000954; // type:function size:0x4 -fn_1_958 = .text:0x00000958; // type:function size:0x3A0 -fn_1_CF8 = .text:0x00000CF8; // type:function size:0x38 -fn_1_D30 = .text:0x00000D30; // type:function size:0x80 -fn_1_DB0 = .text:0x00000DB0; // type:function size:0x28C -fn_1_103C = .text:0x0000103C; // type:function size:0xF4 -fn_1_1130 = .text:0x00001130; // type:function size:0x1CC -fn_1_12FC = .text:0x000012FC; // type:function size:0x2CC -fn_1_15C8 = .text:0x000015C8; // type:function size:0x50 -fn_1_1618 = .text:0x00001618; // type:function size:0x19C -fn_1_17B4 = .text:0x000017B4; // type:function size:0x168 -fn_1_191C = .text:0x0000191C; // type:function size:0x27C -fn_1_1B98 = .text:0x00001B98; // type:function size:0x94 -fn_1_1C2C = .text:0x00001C2C; // type:function size:0x234 -fn_1_1E60 = .text:0x00001E60; // type:function size:0x1A8 -fn_1_2008 = .text:0x00002008; // type:function size:0x3C -fn_1_2044 = .text:0x00002044; // type:function size:0x14 -fn_1_2058 = .text:0x00002058; // type:function size:0x94 -fn_1_20EC = .text:0x000020EC; // type:function size:0x7D0 -fn_1_28BC = .text:0x000028BC; // type:function size:0x2D0 -fn_1_2B8C = .text:0x00002B8C; // type:function size:0x84 -fn_1_2C10 = .text:0x00002C10; // type:function size:0x250 -fn_1_2E60 = .text:0x00002E60; // type:function size:0x88 -fn_1_2EE8 = .text:0x00002EE8; // type:function size:0x6C -fn_1_2F54 = .text:0x00002F54; // type:function size:0x68 -fn_1_2FBC = .text:0x00002FBC; // type:function size:0x20 -fn_1_2FDC = .text:0x00002FDC; // type:function size:0xC8 -fn_1_30A4 = .text:0x000030A4; // type:function size:0x834 -fn_1_38D8 = .text:0x000038D8; // type:function size:0x3C4 -fn_1_3C9C = .text:0x00003C9C; // type:function size:0x90C -fn_1_45A8 = .text:0x000045A8; // type:function size:0x88 -fn_1_4630 = .text:0x00004630; // type:function size:0x50 -fn_1_4680 = .text:0x00004680; // type:function size:0x1C8 -fn_1_4848 = .text:0x00004848; // type:function size:0x7D0 -fn_1_5018 = .text:0x00005018; // type:function size:0x288 -fn_1_52A0 = .text:0x000052A0; // type:function size:0x300 -fn_1_55A0 = .text:0x000055A0; // type:function size:0x14 -fn_1_55B4 = .text:0x000055B4; // type:function size:0x94 -fn_1_5648 = .text:0x00005648; // type:function size:0x1E0 -fn_1_5828 = .text:0x00005828; // type:function size:0x7C -fn_1_58A4 = .text:0x000058A4; // type:function size:0xDC -fn_1_5980 = .text:0x00005980; // type:function size:0x44 -fn_1_59C4 = .text:0x000059C4; // type:function size:0x68 -fn_1_5A2C = .text:0x00005A2C; // type:function size:0x5F8 -fn_1_6024 = .text:0x00006024; // type:function size:0x28C -fn_1_62B0 = .text:0x000062B0; // type:function size:0x628 -fn_1_68D8 = .text:0x000068D8; // type:function size:0x420 -fn_1_6CF8 = .text:0x00006CF8; // type:function size:0x608 -fn_1_7300 = .text:0x00007300; // type:function size:0x27C -fn_1_757C = .text:0x0000757C; // type:function size:0x5C -fn_1_75D8 = .text:0x000075D8; // type:function size:0x2B0 -fn_1_7888 = .text:0x00007888; // type:function size:0x11D8 -fn_1_8A60 = .text:0x00008A60; // type:function size:0xE24 -fn_1_9884 = .text:0x00009884; // type:function size:0x294 -fn_1_9B18 = .text:0x00009B18; // type:function size:0xA8 -fn_1_9BC0 = .text:0x00009BC0; // type:function size:0x3C -fn_1_9BFC = .text:0x00009BFC; // type:function size:0x290 -fn_1_9E8C = .text:0x00009E8C; // type:function size:0x14 -fn_1_9EBC = .text:0x00009EA0; // type:function size:0x94 -fn_1_9F34 = .text:0x00009F34; // type:function size:0x124 -fn_1_A058 = .text:0x0000A058; // type:function size:0x84 -fn_1_A0F8 = .text:0x0000A0DC; // type:function size:0xF8 -fn_1_A1F0 = .text:0x0000A1D4; // type:function size:0x52C -fn_1_A700 = .text:0x0000A700; // type:function size:0xCC -fn_1_A7CC = .text:0x0000A7CC; // type:function size:0x1294 -fn_1_BA7C = .text:0x0000BA60; // type:function size:0x84 -fn_1_BB00 = .text:0x0000BAE4; // type:function size:0x7BC -fn_1_C2BC = .text:0x0000C2A0; // type:function size:0xCC -fn_1_C36C = .text:0x0000C36C; // type:function size:0x418 -fn_1_C7A0 = .text:0x0000C784; // type:function size:0x34 -fn_1_C7D4 = .text:0x0000C7B8; // type:function size:0x7B8 -fn_1_CF70 = .text:0x0000CF70; // type:function size:0x120 -fn_1_D090 = .text:0x0000D090; // type:function size:0x30 -fn_1_D0C0 = .text:0x0000D0C0; // type:function size:0x98 -fn_1_D158 = .text:0x0000D158; // type:function size:0xBC -fn_1_D214 = .text:0x0000D214; // type:function size:0x74 -fn_1_D288 = .text:0x0000D288; // type:function size:0x2B0 -fn_1_D538 = .text:0x0000D538; // type:function size:0x154 -fn_1_D68C = .text:0x0000D68C; // type:function size:0x64 -fn_1_D6F0 = .text:0x0000D6F0; // type:function size:0x64 -fn_1_D754 = .text:0x0000D754; // type:function size:0x894 -fn_1_DFE8 = .text:0x0000DFE8; // type:function size:0x140 -fn_1_E128 = .text:0x0000E128; // type:function size:0x48 -fn_1_E170 = .text:0x0000E170; // type:function size:0x1E8 -fn_1_E358 = .text:0x0000E358; // type:function size:0x14C -fn_1_E4A4 = .text:0x0000E4A4; // type:function size:0x1EC -fn_1_E690 = .text:0x0000E690; // type:function size:0x1D4 -fn_1_E864 = .text:0x0000E864; // type:function size:0x18C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 scope:local data:double -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 scope:local data:double -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x8 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x8 scope:local data:double -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x280 -lbl_1_data_280 = .data:0x00000280; // type:object size:0x2 data:2byte -lbl_1_data_282 = .data:0x00000282; // type:object size:0x2 data:2byte -lbl_1_data_284 = .data:0x00000284; // type:object size:0x2 data:2byte -lbl_1_data_286 = .data:0x00000286; // type:object size:0x2 data:2byte -lbl_1_data_288 = .data:0x00000288; // type:object size:0x8 -lbl_1_data_290 = .data:0x00000290; // type:object size:0x8 -lbl_1_data_298 = .data:0x00000298; // type:object size:0x8 -lbl_1_data_2A0 = .data:0x000002A0; // type:object size:0xC -lbl_1_data_2AC = .data:0x000002AC; // type:object size:0x24 -lbl_1_data_2D0 = .data:0x000002D0; // type:object size:0x20 -lbl_1_data_2F0 = .data:0x000002F0; // type:object size:0x4 data:4byte -lbl_1_data_2F4 = .data:0x000002F4; // type:object size:0x20 -lbl_1_data_314 = .data:0x00000314; // type:object size:0x20 -lbl_1_data_334 = .data:0x00000334; // type:object size:0x5 data:string -lbl_1_data_339 = .data:0x00000339; // type:object size:0x5 data:string -lbl_1_data_33E = .data:0x0000033E; // type:object size:0x5 data:string -lbl_1_data_343 = .data:0x00000343; // type:object size:0x5 data:string -lbl_1_data_348 = .data:0x00000348; // type:object size:0x10 -lbl_1_data_358 = .data:0x00000358; // type:object size:0x10 -lbl_1_data_368 = .data:0x00000368; // type:object size:0x8 data:string -lbl_1_data_370 = .data:0x00000370; // type:object size:0x12 data:string -lbl_1_data_382 = .data:0x00000382; // type:object size:0x11 data:string -lbl_1_data_393 = .data:0x00000393; // type:object size:0x15 -lbl_1_data_3A8 = .data:0x000003A8; // type:object size:0x8 data:string -lbl_1_data_3B0 = .data:0x000003B0; // type:object size:0x9 data:string -lbl_1_data_3B9 = .data:0x000003B9; // type:object size:0x6 data:string -lbl_1_data_3BF = .data:0x000003BF; // type:object size:0x5 data:string -lbl_1_data_3C4 = .data:0x000003C4; // type:object size:0x8 -lbl_1_data_3CC = .data:0x000003CC; // type:object size:0x14 data:4byte -lbl_1_data_3E0 = .data:0x000003E0; // type:object size:0x14 -lbl_1_data_3F4 = .data:0x000003F4; // type:object size:0x20 -lbl_1_data_414 = .data:0x00000414; // type:object size:0x10 -lbl_1_data_424 = .data:0x00000424; // type:object size:0x30 data:2byte -lbl_1_data_454 = .data:0x00000454; // type:object size:0xB data:string -lbl_1_data_45F = .data:0x0000045F; // type:object size:0x2 data:string -lbl_1_data_461 = .data:0x00000461; // type:object size:0xC data:string -lbl_1_data_46D = .data:0x0000046D; // type:object size:0x1B -lbl_1_data_488 = .data:0x00000488; // type:object size:0x3 data:string -lbl_1_data_48B = .data:0x0000048B; // type:object size:0x11 -lbl_1_data_49C = .data:0x0000049C; // type:object size:0x54 -lbl_1_data_4F0 = .data:0x000004F0; // type:object size:0x6 data:string -lbl_1_data_4F6 = .data:0x000004F6; // type:object size:0x6 data:string -lbl_1_data_4FC = .data:0x000004FC; // type:object size:0x6 data:string -lbl_1_data_502 = .data:0x00000502; // type:object size:0x8 data:string -lbl_1_data_50A = .data:0x0000050A; // type:object size:0x8 data:string -lbl_1_data_512 = .data:0x00000512; // type:object size:0xA -lbl_1_data_51C = .data:0x0000051C; // type:object size:0x18 data:4byte -lbl_1_data_534 = .data:0x00000534; // type:object size:0xC -lbl_1_data_540 = .data:0x00000540; // type:object size:0x48 -lbl_1_data_588 = .data:0x00000588; // type:object size:0x4 data:4byte -lbl_1_data_58C = .data:0x0000058C; // type:object size:0x5 data:string -lbl_1_data_591 = .data:0x00000591; // type:object size:0x5 data:string -lbl_1_data_596 = .data:0x00000596; // type:object size:0x5 data:string -lbl_1_data_59B = .data:0x0000059B; // type:object size:0x5 data:string -lbl_1_data_5A0 = .data:0x000005A0; // type:object size:0x5 data:string -lbl_1_data_5A5 = .data:0x000005A5; // type:object size:0x5 data:string -lbl_1_data_5AA = .data:0x000005AA; // type:object size:0x5 data:string -lbl_1_data_5AF = .data:0x000005AF; // type:object size:0x5 data:string -lbl_1_data_5B4 = .data:0x000005B4; // type:object size:0x8 -lbl_1_data_5BC = .data:0x000005BC; // type:object size:0x24 data:4byte -lbl_1_data_5E0 = .data:0x000005E0; // type:object size:0x10 -lbl_1_data_5F0 = .data:0x000005F0; // type:object size:0x20 -lbl_1_data_610 = .data:0x00000610; // type:object size:0xE data:string -lbl_1_data_61E = .data:0x0000061E; // type:object size:0xE data:string -lbl_1_data_62C = .data:0x0000062C; // type:object size:0x10 -lbl_1_data_63C = .data:0x0000063C; // type:object size:0x3 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x8 data:2byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x24 data:2byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0xC -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x2 data:2byte -lbl_1_bss_52 = .bss:0x00000052; // type:object size:0x18 -lbl_1_bss_6A = .bss:0x0000006A; // type:object size:0x2 data:2byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x2 data:2byte -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x2 data:2byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x30 -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x2 data:2byte -lbl_1_bss_B2 = .bss:0x000000B2; // type:object size:0x8 -lbl_1_bss_BA = .bss:0x000000BA; // type:object size:0x8 data:2byte -lbl_1_bss_C2 = .bss:0x000000C2; // type:object size:0x2 data:2byte -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x10 -lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0x10 -lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x10 -lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0x6 data:2byte -lbl_1_bss_FA = .bss:0x000000FA; // type:object size:0x6 data:2byte -lbl_1_bss_100 = .bss:0x00000100; // type:object size:0x4 data:4byte -lbl_1_bss_104 = .bss:0x00000104; // type:object size:0x4 data:4byte -lbl_1_bss_108 = .bss:0x00000108; // type:object size:0xC -lbl_1_bss_114 = .bss:0x00000114; // type:object size:0x20 -lbl_1_bss_134 = .bss:0x00000134; // type:object size:0x6 -lbl_1_bss_13A = .bss:0x0000013A; // type:object size:0x2 data:2byte -lbl_1_bss_13C = .bss:0x0000013C; // type:object size:0xD4 data:2byte -lbl_1_bss_210 = .bss:0x00000210; // type:object size:0x30 -lbl_1_bss_240 = .bss:0x00000240; // type:object size:0x30 -lbl_1_bss_270 = .bss:0x00000270; // type:object size:0x2 data:2byte -lbl_1_bss_272 = .bss:0x00000272; // type:object size:0x2 data:2byte -lbl_1_bss_274 = .bss:0x00000274; // type:object size:0x2 data:2byte -lbl_1_bss_278 = .bss:0x00000278; // type:object size:0x4 data:4byte -lbl_1_bss_27C = .bss:0x0000027C; // type:object size:0x2 data:2byte -lbl_1_bss_27E = .bss:0x0000027E; // type:object size:0x2 data:2byte -lbl_1_bss_280 = .bss:0x00000280; // type:object size:0x2 data:2byte -lbl_1_bss_282 = .bss:0x00000282; // type:object size:0x6 data:2byte -lbl_1_bss_288 = .bss:0x00000288; // type:object size:0x4 data:4byte -lbl_1_bss_28C = .bss:0x0000028C; // type:object size:0x8 data:4byte -lbl_1_bss_294 = .bss:0x00000294; // type:object size:0x4 data:float -lbl_1_bss_298 = .bss:0x00000298; // type:object size:0x6 -lbl_1_bss_29E = .bss:0x0000029E; // type:object size:0x8 -lbl_1_bss_2A6 = .bss:0x000002A6; // type:object size:0x6 -lbl_1_bss_2AC = .bss:0x000002AC; // type:object size:0x2 data:2byte -lbl_1_bss_2B0 = .bss:0x000002B0; // type:object size:0x4 data:4byte -lbl_1_bss_2B4 = .bss:0x000002B4; // type:object size:0xE -lbl_1_bss_2C2 = .bss:0x000002C2; // type:object size:0xE -lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x28 data:2byte -lbl_1_bss_2F8 = .bss:0x000002F8; // type:object size:0x2 data:2byte -lbl_1_bss_2FA = .bss:0x000002FA; // type:object size:0x2 data:2byte -lbl_1_bss_2FC = .bss:0x000002FC; // type:object size:0xC -lbl_1_bss_308 = .bss:0x00000308; // type:object size:0xC data:float -lbl_1_bss_314 = .bss:0x00000314; // type:object size:0x2 data:2byte -lbl_1_bss_318 = .bss:0x00000318; // type:object size:0x4 data:4byte -lbl_1_bss_31C = .bss:0x0000031C; // type:object size:0x4 data:4byte -lbl_1_bss_320 = .bss:0x00000320; // type:object size:0x4 data:4byte -lbl_1_bss_324 = .bss:0x00000324; // type:object size:0x2 data:2byte -lbl_1_bss_326 = .bss:0x00000326; // type:object size:0x2 data:2byte diff --git a/config/GMPP01_00/rels/w05Dll/splits.txt b/config/GMPP01_00/rels/w05Dll/splits.txt deleted file mode 100644 index fc4cdcea..00000000 --- a/config/GMPP01_00/rels/w05Dll/splits.txt +++ /dev/null @@ -1,47 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/board_executor.c: - .text start:0x00000000 end:0x000000E0 - .rodata start:0x00000000 end:0x00000010 - -REL/w05Dll/main.c: - .text start:0x000000E0 end:0x000013D4 - .rodata start:0x00000010 end:0x00000048 - .data start:0x00000000 end:0x00000150 - .bss start:0x00000000 end:0x00000028 - -REL/w05Dll/hotel.c: - .text start:0x000013D4 end:0x00002B40 - .rodata start:0x00000048 end:0x00000090 - .data start:0x00000150 end:0x000001A8 - .bss start:0x00000028 end:0x00000030 - -REL/w05Dll/monkey.c: - .text start:0x00002B40 end:0x00003F74 - .rodata start:0x00000090 end:0x000000F8 - .data start:0x000001A8 end:0x00000200 - .bss start:0x00000030 end:0x00000058 - -REL/w05Dll/dolphin.c: - .text start:0x00003F74 end:0x00006B28 - .rodata start:0x000000F8 end:0x000001A8 - .data start:0x00000200 end:0x00000310 - .bss start:0x00000058 end:0x00000078 - -REL/w05Dll/mg_item.c: - .text start:0x00006B28 end:0x00009680 - .rodata start:0x000001A8 end:0x00000268 - .data start:0x00000310 end:0x00000450 - .bss start:0x00000078 end:0x000000B8 - -REL/w05Dll/mg_coin.c: - .text start:0x00009680 end:0x0000B644 - .rodata start:0x00000268 end:0x00000300 - .data start:0x00000450 end:0x000004C7 - .bss start:0x000000B8 end:0x00000108 diff --git a/config/GMPP01_00/rels/w05Dll/symbols.txt b/config/GMPP01_00/rels/w05Dll/symbols.txt deleted file mode 100644 index faed8cbe..00000000 --- a/config/GMPP01_00/rels/w05Dll/symbols.txt +++ /dev/null @@ -1,356 +0,0 @@ -ObjectSetup = .text:0x00000000; // type:function size:0x30 scope:local -_prolog = .text:0x00000030; // type:function size:0x64 scope:global -_epilog = .text:0x00000094; // type:function size:0x4C scope:global -BoardCreate = .text:0x000000E0; // type:function size:0x4D8 -BoardDestroy = .text:0x000005B8; // type:function size:0x18C -fn_1_744 = .text:0x00000744; // type:function size:0x44 -fn_1_788 = .text:0x00000788; // type:function size:0x4 -fn_1_78C = .text:0x0000078C; // type:function size:0xA0 -fn_1_82C = .text:0x0000082C; // type:function size:0x100 -fn_1_92C = .text:0x0000092C; // type:function size:0x24 -fn_1_950 = .text:0x00000950; // type:function size:0x4 -fn_1_954 = .text:0x00000954; // type:function size:0x3F8 -fn_1_D4C = .text:0x00000D4C; // type:function size:0x38 -fn_1_D84 = .text:0x00000D84; // type:function size:0x80 -fn_1_E04 = .text:0x00000E04; // type:function size:0x3C -fn_1_E40 = .text:0x00000E40; // type:function size:0x2D4 -fn_1_1114 = .text:0x00001114; // type:function size:0xF4 -fn_1_1208 = .text:0x00001208; // type:function size:0x1CC -fn_1_13D4 = .text:0x000013D4; // type:function size:0xFC -fn_1_14D0 = .text:0x000014D0; // type:function size:0x2C -fn_1_14FC = .text:0x000014FC; // type:function size:0x60 -fn_1_155C = .text:0x0000155C; // type:function size:0x8E8 -fn_1_1E44 = .text:0x00001E44; // type:function size:0xCFC -fn_1_2B40 = .text:0x00002B40; // type:function size:0x13C -fn_1_2C7C = .text:0x00002C7C; // type:function size:0x3C8 -fn_1_3044 = .text:0x00003044; // type:function size:0x3EC -fn_1_3430 = .text:0x00003430; // type:function size:0xE4 -fn_1_3514 = .text:0x00003514; // type:function size:0x874 -fn_1_3D88 = .text:0x00003D88; // type:function size:0x104 -fn_1_3E8C = .text:0x00003E8C; // type:function size:0xE8 -fn_1_3F74 = .text:0x00003F74; // type:function size:0x64 -fn_1_3FD8 = .text:0x00003FD8; // type:function size:0x5C -fn_1_4034 = .text:0x00004034; // type:function size:0xE80 -fn_1_4EB4 = .text:0x00004EB4; // type:function size:0x794 -fn_1_5648 = .text:0x00005648; // type:function size:0x14C -fn_1_5794 = .text:0x00005794; // type:function size:0xB18 -fn_1_62AC = .text:0x000062AC; // type:function size:0x210 -fn_1_64BC = .text:0x000064BC; // type:function size:0x12C -fn_1_65E8 = .text:0x000065E8; // type:function size:0x88 -fn_1_6670 = .text:0x00006670; // type:function size:0x50 -fn_1_66C0 = .text:0x000066C0; // type:function size:0x254 -fn_1_6914 = .text:0x00006914; // type:function size:0x214 -fn_1_6B28 = .text:0x00006B28; // type:function size:0x54 -fn_1_6B7C = .text:0x00006B7C; // type:function size:0x708 -fn_1_7284 = .text:0x00007284; // type:function size:0x60 -fn_1_72E4 = .text:0x000072E4; // type:function size:0x30 -fn_1_7314 = .text:0x00007314; // type:function size:0xAC -fn_1_73C0 = .text:0x000073C0; // type:function size:0x40 -fn_1_7400 = .text:0x00007400; // type:function size:0xD0 -fn_1_74D0 = .text:0x000074D0; // type:function size:0x2E0 -fn_1_77B0 = .text:0x000077B0; // type:function size:0xF0 -fn_1_78A0 = .text:0x000078A0; // type:function size:0x88 -fn_1_7928 = .text:0x00007928; // type:function size:0x74 -fn_1_799C = .text:0x0000799C; // type:function size:0x4B0 -fn_1_7E4C = .text:0x00007E4C; // type:function size:0x48 -fn_1_7E94 = .text:0x00007E94; // type:function size:0x70 -fn_1_7F04 = .text:0x00007F04; // type:function size:0x1D4 -fn_1_80D8 = .text:0x000080D8; // type:function size:0x338 -fn_1_8410 = .text:0x00008410; // type:function size:0xFC -fn_1_850C = .text:0x0000850C; // type:function size:0x15C -fn_1_8668 = .text:0x00008668; // type:function size:0x130 -fn_1_8798 = .text:0x00008798; // type:function size:0xEC -fn_1_8884 = .text:0x00008884; // type:function size:0x34 -fn_1_88B8 = .text:0x000088B8; // type:function size:0xB4 -fn_1_896C = .text:0x0000896C; // type:function size:0x870 -fn_1_91DC = .text:0x000091DC; // type:function size:0x8C -fn_1_9268 = .text:0x00009268; // type:function size:0x418 -fn_1_9680 = .text:0x00009680; // type:function size:0x34 -fn_1_96B4 = .text:0x000096B4; // type:function size:0xAC -fn_1_9760 = .text:0x00009760; // type:function size:0x4C -fn_1_97AC = .text:0x000097AC; // type:function size:0x2BC -fn_1_9A68 = .text:0x00009A68; // type:function size:0x58 -fn_1_9AC0 = .text:0x00009AC0; // type:function size:0x30 -fn_1_9AF0 = .text:0x00009AF0; // type:function size:0x84 -fn_1_9B74 = .text:0x00009B74; // type:function size:0xB0 -fn_1_9C24 = .text:0x00009C24; // type:function size:0x74 -fn_1_9C98 = .text:0x00009C98; // type:function size:0x74 -fn_1_9D0C = .text:0x00009D0C; // type:function size:0x218 -fn_1_9F24 = .text:0x00009F24; // type:function size:0x300 -fn_1_A224 = .text:0x0000A224; // type:function size:0x2D4 -fn_1_A4F8 = .text:0x0000A4F8; // type:function size:0xB8 -fn_1_A5B0 = .text:0x0000A5B0; // type:function size:0x3E0 -fn_1_A990 = .text:0x0000A990; // type:function size:0x194 -fn_1_AB24 = .text:0x0000AB24; // type:function size:0x6F0 -fn_1_B214 = .text:0x0000B214; // type:function size:0x9C -fn_1_B2B0 = .text:0x0000B2B0; // type:function size:0x114 -fn_1_B3C4 = .text:0x0000B3C4; // type:function size:0x280 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:4byte -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 data:double -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 data:double -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x118 -lbl_1_data_118 = .data:0x00000118; // type:object size:0x2 data:2byte -lbl_1_data_11A = .data:0x0000011A; // type:object size:0x2 data:2byte -lbl_1_data_11C = .data:0x0000011C; // type:object size:0x2 data:2byte -lbl_1_data_11E = .data:0x0000011E; // type:object size:0x2 data:2byte -lbl_1_data_120 = .data:0x00000120; // type:object size:0x2 data:2byte -lbl_1_data_124 = .data:0x00000124; // type:object size:0x20 -lbl_1_data_144 = .data:0x00000144; // type:object size:0x8 -lbl_1_data_14C = .data:0x0000014C; // type:object size:0x4 -lbl_1_data_150 = .data:0x00000150; // type:object size:0x14 -lbl_1_data_164 = .data:0x00000164; // type:object size:0x2 data:2byte -lbl_1_data_166 = .data:0x00000166; // type:object size:0xA -lbl_1_data_170 = .data:0x00000170; // type:object size:0x10 -lbl_1_data_180 = .data:0x00000180; // type:object size:0x4 data:4byte -lbl_1_data_184 = .data:0x00000184; // type:object size:0x4 -lbl_1_data_188 = .data:0x00000188; // type:object size:0x10 -lbl_1_data_198 = .data:0x00000198; // type:object size:0x8 -lbl_1_data_1A0 = .data:0x000001A0; // type:object size:0x8 data:string -lbl_1_data_1A8 = .data:0x000001A8; // type:object size:0xC -lbl_1_data_1B4 = .data:0x000001B4; // type:object size:0x7 data:string -lbl_1_data_1BB = .data:0x000001BB; // type:object size:0x9 -lbl_1_data_1C4 = .data:0x000001C4; // type:object size:0x8 data:4byte -lbl_1_data_1CC = .data:0x000001CC; // type:object size:0xC -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0x8 data:string -lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0x8 data:string -lbl_1_data_1E8 = .data:0x000001E8; // type:object size:0xA data:string -lbl_1_data_1F2 = .data:0x000001F2; // type:object size:0xE -lbl_1_data_200 = .data:0x00000200; // type:object size:0x8 data:string -lbl_1_data_208 = .data:0x00000208; // type:object size:0x8 data:string -lbl_1_data_210 = .data:0x00000210; // type:object size:0x6 data:string -lbl_1_data_216 = .data:0x00000216; // type:object size:0x6 data:string -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x7 data:string -lbl_1_data_223 = .data:0x00000223; // type:object size:0x9 -lbl_1_data_22C = .data:0x0000022C; // type:object size:0x18 -lbl_1_data_244 = .data:0x00000244; // type:object size:0x18 -lbl_1_data_25C = .data:0x0000025C; // type:object size:0x48 -lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0x48 -lbl_1_data_2EC = .data:0x000002EC; // type:object size:0x8 -lbl_1_data_2F4 = .data:0x000002F4; // type:object size:0x1C -lbl_1_data_310 = .data:0x00000310; // type:object size:0x8 -lbl_1_data_318 = .data:0x00000318; // type:object size:0x7 data:string -lbl_1_data_31F = .data:0x0000031F; // type:object size:0x7 data:string -lbl_1_data_326 = .data:0x00000326; // type:object size:0xA -lbl_1_data_330 = .data:0x00000330; // type:object size:0xC -lbl_1_data_33C = .data:0x0000033C; // type:object size:0x7 data:string -lbl_1_data_343 = .data:0x00000343; // type:object size:0xD data:string -lbl_1_data_350 = .data:0x00000350; // type:object size:0xF0 -lbl_1_data_440 = .data:0x00000440; // type:object size:0x10 -lbl_1_data_450 = .data:0x00000450; // type:object size:0x6 data:string -lbl_1_data_456 = .data:0x00000456; // type:object size:0x7 data:string -lbl_1_data_45D = .data:0x0000045D; // type:object size:0x7 data:string -lbl_1_data_464 = .data:0x00000464; // type:object size:0xC -lbl_1_data_470 = .data:0x00000470; // type:object size:0xC -lbl_1_data_47C = .data:0x0000047C; // type:object size:0xC -lbl_1_data_488 = .data:0x00000488; // type:object size:0x3 data:string -lbl_1_data_48B = .data:0x0000048B; // type:object size:0x4 data:string -lbl_1_data_48F = .data:0x0000048F; // type:object size:0x5 -lbl_1_data_494 = .data:0x00000494; // type:object size:0xC -lbl_1_data_4A0 = .data:0x000004A0; // type:object size:0xD data:string -lbl_1_data_4AD = .data:0x000004AD; // type:object size:0x5 data:string -lbl_1_data_4B2 = .data:0x000004B2; // type:object size:0x6 -lbl_1_data_4B8 = .data:0x000004B8; // type:object size:0xC -lbl_1_data_4C4 = .data:0x000004C4; // type:object size:0x3 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x8 data:2byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x14 data:2byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x8 data:2byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x8 data:2byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0xC data:float -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x2 data:2byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x2 data:2byte -lbl_1_bss_4A = .bss:0x0000004A; // type:object size:0x2 data:2byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x2 data:2byte -lbl_1_bss_4E = .bss:0x0000004E; // type:object size:0xA data:2byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0xC -lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x2 data:2byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x6 -lbl_1_bss_72 = .bss:0x00000072; // type:object size:0x6 data:2byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0xC -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x4 data:4byte -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:4byte -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x4 data:4byte -lbl_1_bss_94 = .bss:0x00000094; // type:object size:0x4 data:4byte -lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x4 data:4byte -lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0x2 data:2byte -lbl_1_bss_9E = .bss:0x0000009E; // type:object size:0x2 data:2byte -lbl_1_bss_A2 = .bss:0x000000A2; // type:object size:0x2 data:2byte -lbl_1_bss_A4 = .bss:0x000000A4; // type:object size:0x6 -lbl_1_bss_AA = .bss:0x000000AA; // type:object size:0x6 -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x6 -lbl_1_bss_B6 = .bss:0x000000B6; // type:object size:0x2 data:2byte -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x4 data:4byte -lbl_1_bss_C0 = .bss:0x000000C0; // type:object size:0x2 data:2byte -lbl_1_bss_C2 = .bss:0x000000C2; // type:object size:0x2 data:2byte -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x2 data:2byte -lbl_1_bss_C6 = .bss:0x000000C6; // type:object size:0x2 data:2byte -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x4 data:4byte -lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x4 data:4byte -lbl_1_bss_D0 = .bss:0x000000D0; // type:object size:0x4 data:4byte -lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0x2 data:2byte -lbl_1_bss_D6 = .bss:0x000000D6; // type:object size:0x28 data:2byte -lbl_1_bss_FE = .bss:0x000000FE; // type:object size:0x2 data:2byte -lbl_1_bss_100 = .bss:0x00000100; // type:object size:0x2 data:2byte -lbl_1_bss_102 = .bss:0x00000102; // type:object size:0x6 data:2byte diff --git a/config/GMPP01_00/rels/w06Dll/splits.txt b/config/GMPP01_00/rels/w06Dll/splits.txt deleted file mode 100644 index eee27cef..00000000 --- a/config/GMPP01_00/rels/w06Dll/splits.txt +++ /dev/null @@ -1,47 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/board_executor.c: - .text start:0x00000000 end:0x000000E0 - .rodata start:0x00000000 end:0x00000010 - -REL/w06Dll/main.c: - .text start:0x000000E0 end:0x00000D70 - .rodata start:0x00000010 end:0x00000040 - .data start:0x00000000 end:0x000001A8 - .bss start:0x00000000 end:0x00000018 - -REL/w06Dll/mg_item.c: - .text start:0x00000D70 end:0x00004878 - .rodata start:0x00000040 end:0x000000F0 - .data start:0x000001A8 end:0x000001D8 - .bss start:0x00000018 end:0x00000048 - -REL/w06Dll/mg_coin.c: - .text start:0x00004878 end:0x00006EF0 - .rodata start:0x000000F0 end:0x000001B0 - .data start:0x000001D8 end:0x00000208 - .bss start:0x00000048 end:0x00000090 - -REL/w06Dll/fire.c: - .text start:0x00006EF0 end:0x00007BD0 - .rodata start:0x000001B0 end:0x000001E8 - .data start:0x00000208 end:0x00000418 - .bss start:0x00000090 end:0x000000C8 - -REL/w06Dll/bridge.c: - .text start:0x00007BD0 end:0x00008F40 - .rodata start:0x000001E8 end:0x00000228 - .data start:0x00000418 end:0x00000498 - .bss start:0x000000C8 end:0x000000E8 - -REL/w06Dll/bowser.c: - .text start:0x00008F40 end:0x0000D0C4 - .rodata start:0x00000228 end:0x000002D8 - .data start:0x00000498 end:0x00000541 - .bss start:0x000000E8 end:0x000000F5 diff --git a/config/GMPP01_00/rels/w06Dll/symbols.txt b/config/GMPP01_00/rels/w06Dll/symbols.txt deleted file mode 100644 index aad0e22c..00000000 --- a/config/GMPP01_00/rels/w06Dll/symbols.txt +++ /dev/null @@ -1,373 +0,0 @@ -ObjectSetup = .text:0x00000000; // type:function size:0x30 scope:local -_prolog = .text:0x00000030; // type:function size:0x64 scope:global -_epilog = .text:0x00000094; // type:function size:0x4C scope:global -BoardCreate = .text:0x000000E0; // type:function size:0x4C4 -BoardDestroy = .text:0x000005A4; // type:function size:0x18C -fn_1_730 = .text:0x00000730; // type:function size:0x6C scope:local -fn_1_79C = .text:0x0000079C; // type:function size:0x20 scope:local -fn_1_7BC = .text:0x000007BC; // type:function size:0x144 scope:local -fn_1_900 = .text:0x00000900; // type:function size:0x84 scope:local -fn_1_984 = .text:0x00000984; // type:function size:0x3C scope:local -fn_1_9C0 = .text:0x000009C0; // type:function size:0x168 scope:local -fn_1_B28 = .text:0x00000B28; // type:function size:0x34 scope:local -fn_1_B5C = .text:0x00000B5C; // type:function size:0x214 scope:local -fn_1_D70 = .text:0x00000D70; // type:function size:0x1FC -fn_1_F6C = .text:0x00000F6C; // type:function size:0xE8 -fn_1_1054 = .text:0x00001054; // type:function size:0x90 -fn_1_10E4 = .text:0x000010E4; // type:function size:0x64 scope:local -fn_1_1148 = .text:0x00001148; // type:function size:0x68 scope:local -fn_1_11B0 = .text:0x000011B0; // type:function size:0xF0 scope:local -fn_1_12A0 = .text:0x000012A0; // type:function size:0x32C scope:local -fn_1_15CC = .text:0x000015CC; // type:function size:0x614 scope:local -fn_1_1BE0 = .text:0x00001BE0; // type:function size:0xD0 scope:local -fn_1_1CB0 = .text:0x00001CB0; // type:function size:0xAC scope:local -fn_1_1D5C = .text:0x00001D5C; // type:function size:0xD4 scope:local -fn_1_1E30 = .text:0x00001E30; // type:function size:0xD8 scope:local -fn_1_1F08 = .text:0x00001F08; // type:function size:0x140 scope:local -fn_1_2048 = .text:0x00002048; // type:function size:0x84 scope:local -fn_1_20CC = .text:0x000020CC; // type:function size:0xA8 scope:local -fn_1_2174 = .text:0x00002174; // type:function size:0x58 scope:local -fn_1_21CC = .text:0x000021CC; // type:function size:0x54 scope:local -fn_1_2220 = .text:0x00002220; // type:function size:0x21C scope:local -fn_1_243C = .text:0x0000243C; // type:function size:0x5E0 scope:local -fn_1_2A1C = .text:0x00002A1C; // type:function size:0x144 scope:local -fn_1_2B60 = .text:0x00002B60; // type:function size:0xB8 scope:local -fn_1_2C18 = .text:0x00002C18; // type:function size:0x178 scope:local -fn_1_2D90 = .text:0x00002D90; // type:function size:0x40 scope:local -fn_1_2DD0 = .text:0x00002DD0; // type:function size:0x48 scope:local -fn_1_2E18 = .text:0x00002E18; // type:function size:0xDC scope:local -fn_1_2EF4 = .text:0x00002EF4; // type:function size:0x57C scope:local -fn_1_3470 = .text:0x00003470; // type:function size:0xF0 scope:local -fn_1_3560 = .text:0x00003560; // type:function size:0x5C scope:local -fn_1_35BC = .text:0x000035BC; // type:function size:0x48 scope:local -fn_1_3604 = .text:0x00003604; // type:function size:0x94 scope:local -fn_1_3698 = .text:0x00003698; // type:function size:0x2DC scope:local -fn_1_3974 = .text:0x00003974; // type:function size:0x6FC scope:local -fn_1_4070 = .text:0x00004070; // type:function size:0xB4 scope:local -fn_1_4124 = .text:0x00004124; // type:function size:0x70 scope:local -fn_1_4194 = .text:0x00004194; // type:function size:0x118 scope:local -fn_1_42AC = .text:0x000042AC; // type:function size:0x130 scope:local -fn_1_43DC = .text:0x000043DC; // type:function size:0x84 scope:local -fn_1_4460 = .text:0x00004460; // type:function size:0x418 scope:local -fn_1_4878 = .text:0x00004878; // type:function size:0x198 -fn_1_4A10 = .text:0x00004A10; // type:function size:0x50 -fn_1_4A60 = .text:0x00004A60; // type:function size:0xA0 -fn_1_4B00 = .text:0x00004B00; // type:function size:0xA0 scope:local -fn_1_4BA0 = .text:0x00004BA0; // type:function size:0x58 scope:local -fn_1_4BF8 = .text:0x00004BF8; // type:function size:0x3C0 scope:local -fn_1_4FB8 = .text:0x00004FB8; // type:function size:0x1E4 scope:local -fn_1_519C = .text:0x0000519C; // type:function size:0x204 scope:local -fn_1_53A0 = .text:0x000053A0; // type:function size:0xF0 scope:local -fn_1_5490 = .text:0x00005490; // type:function size:0x23C scope:local -fn_1_56CC = .text:0x000056CC; // type:function size:0x110 scope:local -fn_1_57DC = .text:0x000057DC; // type:function size:0xA0 scope:local -fn_1_587C = .text:0x0000587C; // type:function size:0x80 scope:local -fn_1_58FC = .text:0x000058FC; // type:function size:0x6C scope:local -fn_1_5968 = .text:0x00005968; // type:function size:0x68 scope:local -fn_1_59D0 = .text:0x000059D0; // type:function size:0x13C scope:local -fn_1_5B0C = .text:0x00005B0C; // type:function size:0x48 scope:local -fn_1_5B54 = .text:0x00005B54; // type:function size:0x190 scope:local -fn_1_5CE4 = .text:0x00005CE4; // type:function size:0x1D8 scope:local -fn_1_5EBC = .text:0x00005EBC; // type:function size:0x40 scope:local -fn_1_5EFC = .text:0x00005EFC; // type:function size:0x5C scope:local -fn_1_5F58 = .text:0x00005F58; // type:function size:0x114 scope:local -fn_1_606C = .text:0x0000606C; // type:function size:0x9A0 scope:local -fn_1_6A0C = .text:0x00006A0C; // type:function size:0x240 scope:local -fn_1_6C4C = .text:0x00006C4C; // type:function size:0x244 scope:local -fn_1_6E90 = .text:0x00006E90; // type:function size:0x60 scope:local -fn_1_6EF0 = .text:0x00006EF0; // type:function size:0x90 -fn_1_6F80 = .text:0x00006F80; // type:function size:0x290 scope:local -fn_1_7210 = .text:0x00007210; // type:function size:0x94 scope:local -fn_1_72A4 = .text:0x000072A4; // type:function size:0x28 scope:local -fn_1_72CC = .text:0x000072CC; // type:function size:0x120 scope:local -fn_1_73EC = .text:0x000073EC; // type:function size:0xD0 scope:local -fn_1_74BC = .text:0x000074BC; // type:function size:0xB8 scope:local -fn_1_7574 = .text:0x00007574; // type:function size:0x120 scope:local -fn_1_7674 = .text:0x00007694; // type:function size:0xEC scope:local -fn_1_7760 = .text:0x00007780; // type:function size:0x1E4 scope:local -fn_1_7944 = .text:0x00007964; // type:function size:0x26C scope:local -fn_1_7BB0 = .text:0x00007BD0; // type:function size:0x38C -fn_1_7F3C = .text:0x00007F5C; // type:function size:0x68 -fn_1_7FA4 = .text:0x00007FC4; // type:function size:0x2C0 -fn_1_8264 = .text:0x00008284; // type:function size:0xBC -fn_1_8320 = .text:0x00008340; // type:function size:0x100 scope:local -fn_1_8420 = .text:0x00008440; // type:function size:0x70 scope:local -fn_1_8490 = .text:0x000084B0; // type:function size:0x5C8 scope:local -fn_1_8A58 = .text:0x00008A78; // type:function size:0x4C8 scope:local -fn_1_8F20 = .text:0x00008F40; // type:function size:0x2B8 -fn_1_91D8 = .text:0x000091F8; // type:function size:0xBC -fn_1_9294 = .text:0x000092B4; // type:function size:0x44 -fn_1_92D8 = .text:0x000092F8; // type:function size:0xF0 -fn_1_93C8 = .text:0x000093E8; // type:function size:0x10C scope:local -fn_1_94D4 = .text:0x000094F4; // type:function size:0xD8 scope:local -fn_1_95AC = .text:0x000095CC; // type:function size:0x8B0 scope:local -fn_1_9E5C = .text:0x00009E7C; // type:function size:0x5AC scope:local -fn_1_A408 = .text:0x0000A428; // type:function size:0x744 scope:local -fn_1_AB4C = .text:0x0000AB6C; // type:function size:0x730 scope:local -fn_1_B27C = .text:0x0000B29C; // type:function size:0x424 scope:local -fn_1_B6A0 = .text:0x0000B6C0; // type:function size:0x240 scope:local -fn_1_B8E0 = .text:0x0000B900; // type:function size:0x230 scope:local -fn_1_BB10 = .text:0x0000BB30; // type:function size:0x1F8 scope:local -fn_1_BD08 = .text:0x0000BD28; // type:function size:0x3C scope:local -fn_1_BD44 = .text:0x0000BD64; // type:function size:0x48 scope:local -fn_1_BD8C = .text:0x0000BDAC; // type:function size:0x37C scope:local -fn_1_C108 = .text:0x0000C128; // type:function size:0x1AC -fn_1_C2B4 = .text:0x0000C2D4; // type:function size:0x158 -fn_1_C40C = .text:0x0000C42C; // type:function size:0x5B0 scope:local -fn_1_C9BC = .text:0x0000C9DC; // type:function size:0xD0 scope:local -fn_1_CA8C = .text:0x0000CAAC; // type:function size:0x40 scope:local -fn_1_CACC = .text:0x0000CAEC; // type:function size:0x1C4 scope:local -fn_1_CC90 = .text:0x0000CCB0; // type:function size:0x7C -fn_1_CD0C = .text:0x0000CD2C; // type:function size:0x398 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x6 scope:local data:2byte -lbl_1_rodata_9A = .rodata:0x0000009A; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_9E = .rodata:0x0000009E; // type:object size:0x6 scope:local data:2byte -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x5 scope:local -lbl_1_rodata_F5 = .rodata:0x000000F5; // type:object size:0x7 scope:local -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 scope:local data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0xF0 scope:local -lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x2 scope:local data:2byte -lbl_1_data_F2 = .data:0x000000F2; // type:object size:0x2 scope:local data:2byte -lbl_1_data_F4 = .data:0x000000F4; // type:object size:0x2 scope:local data:2byte -lbl_1_data_F6 = .data:0x000000F6; // type:object size:0x2 scope:local data:2byte -lbl_1_data_F8 = .data:0x000000F8; // type:object size:0x8 scope:local -lbl_1_data_100 = .data:0x00000100; // type:object size:0x8 scope:local -lbl_1_data_108 = .data:0x00000108; // type:object size:0xA0 scope:local -lbl_1_data_1A8 = .data:0x000001A8; // type:object size:0x2 scope:local data:2byte -lbl_1_data_1AA = .data:0x000001AA; // type:object size:0x1 scope:local data:byte -lbl_1_data_1AD = .data:0x000001AD; // type:object size:0x3 scope:local -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x2 scope:local data:2byte -lbl_1_data_1B4 = .data:0x000001B4; // type:object size:0xC scope:local -lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x5 scope:local data:string -lbl_1_data_1C5 = .data:0x000001C5; // type:object size:0x13 scope:local -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0x2 scope:local data:2byte -lbl_1_data_1DA = .data:0x000001DA; // type:object size:0x2 scope:local data:2byte -lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x2 scope:local data:2byte -lbl_1_data_1DE = .data:0x000001DE; // type:object size:0x6 scope:local -lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x24 scope:local -lbl_1_data_208 = .data:0x00000208; // type:object size:0x20 scope:local -lbl_1_data_228 = .data:0x00000228; // type:object size:0x1 scope:local data:byte -lbl_1_data_22A = .data:0x0000022A; // type:object size:0x2 scope:local data:2byte -lbl_1_data_22C = .data:0x0000022C; // type:object size:0x2 scope:local data:2byte -lbl_1_data_230 = .data:0x00000230; // type:object size:0x38 scope:local -lbl_1_data_268 = .data:0x00000268; // type:object size:0x5 scope:local data:string -lbl_1_data_26D = .data:0x0000026D; // type:object size:0xE scope:local -lbl_1_data_27B = .data:0x0000027B; // type:object size:0x4 scope:local -lbl_1_data_27F = .data:0x0000027F; // type:object size:0x8 scope:local -lbl_1_data_287 = .data:0x00000287; // type:object size:0x12 scope:local data:string -lbl_1_data_299 = .data:0x00000299; // type:object size:0x11 scope:local data:string -lbl_1_data_2AA = .data:0x000002AA; // type:object size:0x18 scope:local data:string -lbl_1_data_2C2 = .data:0x000002C2; // type:object size:0x17 scope:local data:string -lbl_1_data_2D9 = .data:0x000002D9; // type:object size:0x16 scope:local data:string -lbl_1_data_2EF = .data:0x000002EF; // type:object size:0x10 scope:local data:string -lbl_1_data_2FF = .data:0x000002FF; // type:object size:0x10 scope:local data:string -lbl_1_data_30F = .data:0x0000030F; // type:object size:0x11 scope:local data:string -lbl_1_data_320 = .data:0x00000320; // type:object size:0x15 scope:local data:string -lbl_1_data_335 = .data:0x00000335; // type:object size:0x15 scope:local data:string -lbl_1_data_34A = .data:0x0000034A; // type:object size:0x10 scope:local data:string -lbl_1_data_35A = .data:0x0000035A; // type:object size:0x13 scope:local data:string -lbl_1_data_36D = .data:0x0000036D; // type:object size:0x13 scope:local data:string -lbl_1_data_380 = .data:0x00000380; // type:object size:0x98 scope:local -lbl_1_data_418 = .data:0x00000418; // type:object size:0x2 scope:local data:2byte -lbl_1_data_41C = .data:0x0000041C; // type:object size:0x18 scope:local -lbl_1_data_434 = .data:0x00000434; // type:object size:0x18 scope:local -lbl_1_data_44C = .data:0x0000044C; // type:object size:0xC scope:local -lbl_1_data_458 = .data:0x00000458; // type:object size:0x20 scope:local -lbl_1_data_478 = .data:0x00000478; // type:object size:0x20 scope:local -lbl_1_data_498 = .data:0x00000498; // type:object size:0x2 scope:local data:2byte -lbl_1_data_49A = .data:0x0000049A; // type:object size:0x2 scope:local data:2byte -lbl_1_data_49C = .data:0x0000049C; // type:object size:0x2 scope:local data:2byte -lbl_1_data_49E = .data:0x0000049E; // type:object size:0x2 scope:local data:2byte -lbl_1_data_4A0 = .data:0x000004A0; // type:object size:0x2 scope:local data:2byte -lbl_1_data_4A2 = .data:0x000004A2; // type:object size:0x2 scope:local data:2byte -lbl_1_data_4A4 = .data:0x000004A4; // type:object size:0x8 scope:local -lbl_1_data_4AC = .data:0x000004AC; // type:object size:0x20 scope:local -lbl_1_data_4CC = .data:0x000004CC; // type:object size:0x20 scope:local -lbl_1_data_4EC = .data:0x000004EC; // type:object size:0x24 scope:local -lbl_1_data_510 = .data:0x00000510; // type:object size:0x20 scope:local -lbl_1_data_530 = .data:0x00000530; // type:object size:0x6 scope:local data:string -lbl_1_data_536 = .data:0x00000536; // type:object size:0xB scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0xC data:2byte -lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x1 scope:local data:byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x1 scope:local data:byte -lbl_1_bss_33 = .bss:0x00000033; // type:object size:0x1 scope:local data:byte -lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_36 = .bss:0x00000036; // type:object size:0x6 scope:local -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0xC scope:local data:2byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x1 scope:local data:byte -lbl_1_bss_59 = .bss:0x00000059; // type:object size:0x1 scope:local data:byte -lbl_1_bss_5A = .bss:0x0000005A; // type:object size:0x1 scope:local data:byte -lbl_1_bss_5B = .bss:0x0000005B; // type:object size:0x31 scope:local -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x28 scope:local data:4byte -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_C0 = .bss:0x000000C0; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_C2 = .bss:0x000000C2; // type:object size:0x4 scope:local -lbl_1_bss_C6 = .bss:0x000000C6; // type:object size:0x1 scope:local data:byte -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_D0 = .bss:0x000000D0; // type:object size:0x6 scope:local -lbl_1_bss_D6 = .bss:0x000000D6; // type:object size:0xC scope:local -lbl_1_bss_E2 = .bss:0x000000E2; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x2 scope:local data:2byte -lbl_1_bss_E6 = .bss:0x000000E6; // type:object size:0x1 scope:local data:byte -lbl_1_bss_E8 = .bss:0x000000E8; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_EC = .bss:0x000000EC; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_F0 = .bss:0x000000F0; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0x1 scope:local data:byte diff --git a/config/GMPP01_00/rels/w20Dll/splits.txt b/config/GMPP01_00/rels/w20Dll/splits.txt deleted file mode 100644 index 9df8ed45..00000000 --- a/config/GMPP01_00/rels/w20Dll/splits.txt +++ /dev/null @@ -1,17 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/board_executor.c: - .text start:0x00000000 end:0x000000E0 - .rodata start:0x00000000 end:0x00000010 - -REL/w20Dll/main.c: - .text start:0x000000E0 end:0x00000678 - .rodata start:0x00000010 end:0x00000030 - .data start:0x00000000 end:0x00000034 - .bss start:0x00000000 end:0x0000000E diff --git a/config/GMPP01_00/rels/w20Dll/symbols.txt b/config/GMPP01_00/rels/w20Dll/symbols.txt deleted file mode 100644 index 0e84011e..00000000 --- a/config/GMPP01_00/rels/w20Dll/symbols.txt +++ /dev/null @@ -1,33 +0,0 @@ -ObjectSetup = .text:0x00000000; // type:function size:0x30 scope:local -_prolog = .text:0x00000030; // type:function size:0x64 scope:global -_epilog = .text:0x00000094; // type:function size:0x4C scope:global -BoardCreate = .text:0x000000E0; // type:function size:0x2B0 -BoardDestroy = .text:0x00000390; // type:function size:0xBC -fn_1_44C = .text:0x0000044C; // type:function size:0x44 -fn_1_490 = .text:0x00000490; // type:function size:0x4 -fn_1_494 = .text:0x00000494; // type:function size:0x4 -fn_1_498 = .text:0x00000498; // type:function size:0x8 -fn_1_4A0 = .text:0x000004A0; // type:function size:0x4 -fn_1_4A4 = .text:0x000004A4; // type:function size:0x4 -fn_1_4A8 = .text:0x000004A8; // type:function size:0x4 -fn_1_4AC = .text:0x000004AC; // type:function size:0x1CC -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x2 data:2byte -lbl_1_data_2 = .data:0x00000002; // type:object size:0x2 data:2byte -lbl_1_data_4 = .data:0x00000004; // type:object size:0x2 data:2byte -lbl_1_data_6 = .data:0x00000006; // type:object size:0x2 data:2byte -lbl_1_data_8 = .data:0x00000008; // type:object size:0x2 data:2byte -lbl_1_data_A = .data:0x0000000A; // type:object size:0x2 data:2byte -lbl_1_data_C = .data:0x0000000C; // type:object size:0x20 data:4byte -unkMotTbl = .data:0x0000002C; // type:object size:0x8 -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2 diff --git a/config/GMPP01_00/rels/ztardll/splits.txt b/config/GMPP01_00/rels/ztardll/splits.txt deleted file mode 100644 index 403b2201..00000000 --- a/config/GMPP01_00/rels/ztardll/splits.txt +++ /dev/null @@ -1,27 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/executor.c: - .text start:0x00000000 end:0x000000A0 - -REL/ztardll/main.c: - .text start:0x000000A0 end:0x0000789C - .rodata start:0x00000000 end:0x000001C0 - .data start:0x00000000 end:0x000000B0 - .bss start:0x00000000 end:0x00000070 - -REL/ztardll/font.c: - .text start:0x0000789C end:0x00007C40 - .rodata start:0x000001C0 end:0x000001C8 - .data start:0x000000B0 end:0x00000570 - -REL/ztardll/select.c: - .text start:0x00007C40 end:0x000123AC - .rodata start:0x000001C8 end:0x000002A0 - .data start:0x00000570 end:0x0000081C - .bss start:0x00000070 end:0x000002D8 diff --git a/config/GMPP01_00/rels/ztardll/symbols.txt b/config/GMPP01_00/rels/ztardll/symbols.txt deleted file mode 100644 index 3ccb8483..00000000 --- a/config/GMPP01_00/rels/ztardll/symbols.txt +++ /dev/null @@ -1,259 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -ObjectSetup = .text:0x000000A0; // type:function size:0x384 -fn_1_424 = .text:0x00000424; // type:function size:0x1350 -fn_1_1774 = .text:0x00001774; // type:function size:0x57C -fn_1_1CF0 = .text:0x00001CF0; // type:function size:0xB0 -fn_1_1DA0 = .text:0x00001DA0; // type:function size:0x5B0 -fn_1_2350 = .text:0x00002350; // type:function size:0x1060 -fn_1_33B0 = .text:0x000033B0; // type:function size:0xD34 -fn_1_40E4 = .text:0x000040E4; // type:function size:0x290 -fn_1_4374 = .text:0x00004374; // type:function size:0x5D4 -fn_1_4948 = .text:0x00004948; // type:function size:0x874 -fn_1_51BC = .text:0x000051BC; // type:function size:0x194 -fn_1_524C = .text:0x00005350; // type:function size:0x14BC -fn_1_66F8 = .text:0x0000680C; // type:function size:0x140 -fn_1_6804 = .text:0x0000694C; // type:function size:0xC10 -fn_1_7414 = .text:0x0000755C; // type:function size:0x340 -fn_1_7754 = .text:0x0000789C; // type:function size:0x3A4 -fn_1_7C00 = .text:0x00007C40; // type:function size:0x16C -fn_1_7D6C = .text:0x00007DAC; // type:function size:0xA0 -fn_1_7E0C = .text:0x00007E4C; // type:function size:0x224 -fn_1_8030 = .text:0x00008070; // type:function size:0x2DC -fn_1_830C = .text:0x0000834C; // type:function size:0x2C -fn_1_8338 = .text:0x00008378; // type:function size:0x518 -fn_1_8850 = .text:0x00008890; // type:function size:0x2C -fn_1_887C = .text:0x000088BC; // type:function size:0x28 -fn_1_88A4 = .text:0x000088E4; // type:function size:0x274 -fn_1_8B18 = .text:0x00008B58; // type:function size:0x2C -fn_1_8B44 = .text:0x00008B84; // type:function size:0x2C -fn_1_8B70 = .text:0x00008BB0; // type:function size:0x24 -fn_1_8B94 = .text:0x00008BD4; // type:function size:0x2BC -fn_1_8E50 = .text:0x00008E90; // type:function size:0x500 -fn_1_9350 = .text:0x00009390; // type:function size:0x480 -fn_1_97D0 = .text:0x00009810; // type:function size:0x80C -fn_1_9FDC = .text:0x0000A01C; // type:function size:0x28 -fn_1_A004 = .text:0x0000A044; // type:function size:0x28 -fn_1_A02C = .text:0x0000A06C; // type:function size:0x21C -fn_1_A248 = .text:0x0000A288; // type:function size:0x194 -fn_1_A3DC = .text:0x0000A41C; // type:function size:0x198 -fn_1_A574 = .text:0x0000A5B4; // type:function size:0x9C -fn_1_A610 = .text:0x0000A650; // type:function size:0x2D8 -fn_1_A8E8 = .text:0x0000A928; // type:function size:0x2DC -fn_1_ABC4 = .text:0x0000AC04; // type:function size:0x1E0 -fn_1_ADA4 = .text:0x0000ADE4; // type:function size:0xF0 -fn_1_AE94 = .text:0x0000AED4; // type:function size:0x50 -fn_1_AEE4 = .text:0x0000AF24; // type:function size:0x584 -fn_1_B468 = .text:0x0000B4A8; // type:function size:0x5D8 -fn_1_BA40 = .text:0x0000BA80; // type:function size:0x33C -fn_1_BD7C = .text:0x0000BDBC; // type:function size:0x274 -fn_1_BFF0 = .text:0x0000C030; // type:function size:0x7C -fn_1_C06C = .text:0x0000C0AC; // type:function size:0x44C -fn_1_C4B8 = .text:0x0000C4F8; // type:function size:0x434 -fn_1_C8EC = .text:0x0000C92C; // type:function size:0x204 -fn_1_CAF0 = .text:0x0000CB30; // type:function size:0x790 -fn_1_D280 = .text:0x0000D2C0; // type:function size:0xB0C -fn_1_DD8C = .text:0x0000DDCC; // type:function size:0x720 -fn_1_E4AC = .text:0x0000E4EC; // type:function size:0x9C -fn_1_E548 = .text:0x0000E588; // type:function size:0xCCC -fn_1_F214 = .text:0x0000F254; // type:function size:0x924 -fn_1_FB38 = .text:0x0000FB78; // type:function size:0x258 -fn_1_FD90 = .text:0x0000FDD0; // type:function size:0x958 -fn_1_106E8 = .text:0x00010728; // type:function size:0x7C -fn_1_10764 = .text:0x000107A4; // type:function size:0x164 -fn_1_108C8 = .text:0x00010908; // type:function size:0x1B8 -fn_1_10A80 = .text:0x00010AC0; // type:function size:0xA4 -fn_1_10B24 = .text:0x00010B64; // type:function size:0xF4 -fn_1_10C18 = .text:0x00010C58; // type:function size:0x80 -fn_1_10C98 = .text:0x00010CD8; // type:function size:0x80 -fn_1_10D18 = .text:0x00010D58; // type:function size:0x28 -fn_1_10D40 = .text:0x00010D80; // type:function size:0x20 -fn_1_10D60 = .text:0x00010DA0; // type:function size:0xD8 -fn_1_10E38 = .text:0x00010E78; // type:function size:0xC8 -fn_1_10F00 = .text:0x00010F40; // type:function size:0xBC -fn_1_10FBC = .text:0x00010FFC; // type:function size:0x40 -fn_1_10FFC = .text:0x0001103C; // type:function size:0x24 -fn_1_11020 = .text:0x00011060; // type:function size:0x1C0 -fn_1_111E0 = .text:0x00011220; // type:function size:0x84 -fn_1_11264 = .text:0x000112A4; // type:function size:0xD4 -fn_1_11338 = .text:0x00011378; // type:function size:0x58 -fn_1_11390 = .text:0x000113D0; // type:function size:0x15C -fn_1_114EC = .text:0x0001152C; // type:function size:0x21C -fn_1_11708 = .text:0x00011748; // type:function size:0x204 -fn_1_1190C = .text:0x0001194C; // type:function size:0x54 -fn_1_11960 = .text:0x000119A0; // type:function size:0x304 -fn_1_11C64 = .text:0x00011CA4; // type:function size:0x304 -fn_1_11F68 = .text:0x00011FA8; // type:function size:0x340 -fn_1_122A8 = .text:0x000122E8; // type:function size:0xC4 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x38 scope:local data:4byte -lbl_1_data_0 = .data:0x00000000; // type:object size:0x22 scope:local data:string -lbl_1_data_22 = .data:0x00000022; // type:object size:0xA -lbl_1_data_2C = .data:0x0000002C; // type:object size:0x18 -lbl_1_data_44 = .data:0x00000044; // type:object size:0x6 -lbl_1_data_4A = .data:0x0000004A; // type:object size:0xC -lbl_1_data_56 = .data:0x00000056; // type:object size:0xE data:wstring -lbl_1_data_64 = .data:0x00000064; // type:object size:0x20 -lbl_1_data_84 = .data:0x00000084; // type:object size:0x10 -lbl_1_data_94 = .data:0x00000094; // type:object size:0xC -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0xA scope:local data:string -lbl_1_data_AA = .data:0x000000AA; // type:object size:0x6 scope:local -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x4C0 -lbl_1_data_3C8 = .data:0x00000570; // type:object size:0x20 -lbl_1_data_3E8 = .data:0x00000590; // type:object size:0x20 -lbl_1_data_5B0 = .data:0x000005B0; // type:object size:0x3C scope:local data:string -lbl_1_data_5EC = .data:0x000005EC; // type:object size:0x19 scope:local data:string -lbl_1_data_605 = .data:0x00000605; // type:object size:0x1A scope:local data:string -lbl_1_data_61F = .data:0x0000061F; // type:object size:0x3D scope:local -lbl_1_data_4B4 = .data:0x0000065C; // type:object size:0x20 data:4byte -lbl_1_data_4D4 = .data:0x0000067C; // type:object size:0x40 data:4byte -lbl_1_data_514 = .data:0x000006BC; // type:object size:0x70 -lbl_1_data_584 = .data:0x0000072C; // type:object size:0x90 data:4byte -lbl_1_data_614 = .data:0x000007BC; // type:object size:0x20 -lbl_1_data_634 = .data:0x000007DC; // type:object size:0x8 data:4byte -lbl_1_data_63C = .data:0x000007E4; // type:object size:0x10 -lbl_1_data_64C = .data:0x000007F4; // type:object size:0x20 -lbl_1_data_66C = .data:0x00000814; // type:object size:0x4 data:4byte -lbl_1_data_670 = .data:0x00000818; // type:object size:0x4 data:4byte -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte -lbl_1_bss_E = .bss:0x0000000E; // type:object size:0x28 data:2byte -lbl_1_bss_36 = .bss:0x00000036; // type:object size:0x8 data:2byte -lbl_1_bss_3E = .bss:0x0000003E; // type:object size:0x2 data:2byte -lbl_1_bss_42 = .bss:0x00000042; // type:object size:0x2 data:2byte -lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x2 data:2byte -lbl_1_bss_46 = .bss:0x00000046; // type:object size:0x2 data:2byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x2 data:2byte -lbl_1_bss_4A = .bss:0x0000004A; // type:object size:0x2 data:2byte -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x2 data:2byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x2 data:2byte -lbl_1_bss_52 = .bss:0x00000052; // type:object size:0x2 data:2byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x2 data:2byte -lbl_1_bss_5A = .bss:0x0000005A; // type:object size:0x2 data:2byte -lbl_1_bss_5E = .bss:0x0000005E; // type:object size:0x2 data:2byte -lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x8 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:4byte -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x4 data:4byte -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x14 data:4byte -lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x180 data:4byte -lbl_1_bss_20C = .bss:0x0000020C; // type:object size:0x60 data:4byte -lbl_1_bss_26C = .bss:0x0000026C; // type:object size:0x6C data:4byte diff --git a/config/GMPP01_00/splits.txt b/config/GMPP01_00/splits.txt deleted file mode 100644 index e1da1fa4..00000000 --- a/config/GMPP01_00/splits.txt +++ /dev/null @@ -1,654 +0,0 @@ -Sections: - .init type:code align:4 - extab type:rodata align:32 - extabindex type:rodata align:32 - .text type:code align:8 - .ctors type:rodata align:4 - .dtors type:rodata align:32 - .rodata type:rodata align:32 - .data type:data align:32 - .bss type:bss align:32 - .sdata type:data align:4 - .sbss type:bss align:32 - .sdata2 type:rodata align:32 - .sbss2 type:bss align:32 - -game/main.c: - .text start:0x800057C0 end:0x80005A64 - .data start:0x8011EC00 end:0x8011EC10 - .sdata start:0x801F07C0 end:0x801F07D0 - .sbss start:0x801F0DC0 end:0x801F0E18 - .sdata2 start:0x801F1D20 end:0x801F1D28 - -game/pad.c: - .text start:0x80005A64 end:0x80006480 - .data start:0x8011EC10 end:0x8011EC20 - .bss start:0x8015FBA0 end:0x8015FBE0 - .sbss start:0x801F0E18 end:0x801F0EA0 - -game/dvd.c: - .text start:0x80006480 end:0x80006E40 - .data start:0x8011EC20 end:0x8011ED78 - .sdata start:0x801F07D0 end:0x801F07D8 - .sbss start:0x801F0EA0 end:0x801F0EA8 - -game/data.c: - .text start:0x80006E40 end:0x80009408 - .data start:0x8011ED78 end:0x8011FC00 - .bss start:0x8015FBE0 end:0x801629E0 - .sdata start:0x801F07D8 end:0x801F07E8 - .sbss start:0x801F0EA8 end:0x801F0EB8 - -game/decode.c: - .text start:0x80009408 end:0x80009B04 - .data start:0x8011FC00 end:0x8011FC20 - .bss start:0x801629E0 end:0x80162DE0 - -game/font.c: - .data start:0x8011FC20 end:0x80121C20 - -game/init.c: - .text start:0x80009B04 end:0x8000A46C - .data start:0x80121C20 end:0x80121D70 - .bss start:0x80162DE0 end:0x80162E20 - .sdata start:0x801F07E8 end:0x801F0800 - .sbss start:0x801F0EB8 end:0x801F0EE8 - .sdata2 start:0x801F1D28 end:0x801F1D38 - -game/jmp.c: - .text start:0x8000A46C end:0x8000A560 - -game/malloc.c: - .text start:0x8000A560 end:0x8000A940 - .data start:0x80121D70 end:0x80121DE8 - .bss start:0x80162E20 end:0x80162E38 - -game/memory.c: - .text start:0x8000A940 end:0x8000AEF8 - .data start:0x80121DE8 end:0x80121F60 - -game/printfunc.c: - .text start:0x8000AEF8 end:0x8000C4AC - .data start:0x80121F60 end:0x80121FA0 - .bss start:0x80162E38 end:0x80169738 - .sbss start:0x801F0EE8 end:0x801F0EF8 - .sdata2 start:0x801F1D38 end:0x801F1D88 - -game/process.c: - .text start:0x8000C4AC end:0x8000D350 - .data start:0x80121FA0 end:0x80121FF0 - .bss start:0x80169738 end:0x80169830 - .sbss start:0x801F0EF8 end:0x801F0F08 - -game/sprman.c: - .text start:0x8000D350 end:0x8000F6A8 - .rodata start:0x8011DB20 end:0x8011DB30 - .data start:0x80121FF0 end:0x80122110 - .bss start:0x80169830 end:0x80179A30 - .sdata start:0x801F0800 end:0x801F0810 - .sbss start:0x801F0F08 end:0x801F0F10 - .sdata2 start:0x801F1D88 end:0x801F1DB0 - -game/sprput.c: - .text start:0x8000F6A8 end:0x80010B38 - .rodata start:0x8011DB30 end:0x8011DB40 - .data start:0x80122110 end:0x80122140 - .bss start:0x80179A30 end:0x80179A60 - .sbss start:0x801F0F10 end:0x801F0F18 - .sdata2 start:0x801F1DB0 end:0x801F1DE8 - -game/hsfload.c: - .text start:0x80010B38 end:0x80014020 - .data start:0x80122140 end:0x801221B0 - .bss start:0x80179A60 end:0x8017A020 - .sbss start:0x801F0F18 end:0x801F0F50 - -game/hsfdraw.c: - .text start:0x80014020 end:0x8001F9B4 - .rodata start:0x8011DB40 end:0x8011DB50 - .data start:0x801221B0 end:0x801223C0 - .bss start:0x8017A020 end:0x80184B60 - .sdata start:0x801F0810 end:0x801F0828 - .sbss start:0x801F0F50 end:0x801F0FF0 - .sdata2 start:0x801F1DE8 end:0x801F1E70 - -game/hsfman.c: - .text start:0x8001F9B4 end:0x800250F0 - .data start:0x801223C0 end:0x8012D478 - .bss start:0x80184B60 end:0x801AA770 - .sbss start:0x801F0FF0 end:0x801F1020 - .sdata2 start:0x801F1E70 end:0x801F1ED0 - .sbss2 start:0x801F3FC0 end:0x801F3FC8 - -game/hsfmotion.c: - .text start:0x800250F0 end:0x80028B0C - .data start:0x8012D478 end:0x8012D658 - .bss start:0x801AA770 end:0x801AAF70 - .sbss start:0x801F1020 end:0x801F1028 - .sdata2 start:0x801F1ED0 end:0x801F1F20 - -game/hsfanim.c: - .text start:0x80028B0C end:0x8002CB7C - .data start:0x8012D658 end:0x8012D718 - .bss start:0x801AAF70 end:0x801ACB30 - .sdata2 start:0x801F1F20 end:0x801F1FA8 - -game/hsfex.c: - .text start:0x8002CB7C end:0x8002E754 - .data start:0x8012D718 end:0x8012D738 - .sdata2 start:0x801F1FA8 end:0x801F2038 - -game/perf.c: - .text start:0x8002E754 end:0x8002EBE0 - .bss start:0x801ACB30 end:0x801ACED8 - .sdata start:0x801F0828 end:0x801F0838 - .sbss start:0x801F1028 end:0x801F1080 - -game/objmain.c: - .text start:0x8002EBE0 end:0x8002FF54 - .data start:0x8012D738 end:0x8012DAE8 - .bss start:0x801ACED8 end:0x801ACF98 - .sdata start:0x801F0838 end:0x801F0840 - .sbss start:0x801F1080 end:0x801F10B0 - .sdata2 start:0x801F2038 end:0x801F2060 - -game/fault.c: - .text start:0x8002FF54 end:0x800308C0 - .data start:0x8012DAE8 end:0x8012E310 - .bss start:0x801ACF98 end:0x801ACFB0 - .sdata start:0x801F0840 end:0x801F0850 - .sbss start:0x801F10B0 end:0x801F10C0 - -game/gamework.c: - .text start:0x800308C0 end:0x800315D4 - .rodata start:0x8011DB50 end:0x8011DB70 - .bss start:0x801ACFB0 end:0x801AD3A8 - .sdata start:0x801F0850 end:0x801F0858 - -game/objsysobj.c: - .text start:0x800315D4 end:0x80031DCC - .bss start:0x801AD3A8 end:0x801AD580 - .sbss start:0x801F10C0 end:0x801F10C8 - .sdata2 start:0x801F2060 end:0x801F2070 - -game/objdll.c: - .text start:0x80031DCC end:0x8003260C - .data start:0x8012E310 end:0x8012E7A8 - .bss start:0x801AD580 end:0x801AD5D0 - .sbss start:0x801F10C8 end:0x801F10D0 - -game/frand.c: - .text start:0x8003260C end:0x80032848 - .sbss start:0x801F10D0 end:0x801F10D8 - .sdata2 start:0x801F2070 end:0x801F2080 - -game/audio.c: - .text start:0x80032848 end:0x80033F08 - .data start:0x8012E7A8 end:0x8012EF50 - .bss start:0x801AD5D0 end:0x801AD7F0 - .sdata start:0x801F0858 end:0x801F0860 - .sbss start:0x801F10D8 end:0x801F1108 - .sdata2 start:0x801F2080 end:0x801F2090 - -game/EnvelopeExec.c: - .text start:0x80033F08 end:0x800353C8 - .sbss start:0x801F1108 end:0x801F1138 - .sdata2 start:0x801F2090 end:0x801F20A8 - -game/minigame_seq.c: - .text start:0x800353C8 end:0x8003F6E0 - .data start:0x8012EF50 end:0x8012F5B0 - .bss start:0x801AD7F0 end:0x801ADC00 - .sdata start:0x801F0860 end:0x801F0968 - .sbss start:0x801F1138 end:0x801F1158 - .sdata2 start:0x801F20A8 end:0x801F2268 - -game/ovllist.c: - .data start:0x8012F5B0 end:0x8012FF20 - -game/esprite.c: - .text start:0x8003F6E0 end:0x8003FD90 - .bss start:0x801ADC00 end:0x801AF400 - .sbss start:0x801F1158 end:0x801F1160 - -game/code_8003FF68.c: - .text start:0x8003FD90 end:0x80040328 - .data start:0x8012FF20 end:0x8012FF40 - .bss start:0x801AF400 end:0x801AF700 - .sdata start:0x801F0968 end:0x801F0988 - .sbss start:0x801F1160 end:0x801F1168 - .sdata2 start:0x801F2268 end:0x801F2280 - -game/ClusterExec.c: - .text start:0x80040328 end:0x80040B88 - .sdata2 start:0x801F2280 end:0x801F2290 - -game/ShapeExec.c: - .text start:0x80040B88 end:0x80040F98 - .sdata2 start:0x801F2290 end:0x801F22A0 - -game/wipe.c: - .text start:0x80040F98 end:0x80041ED4 - .data start:0x8012FF40 end:0x8012FF60 - .bss start:0x801AF700 end:0x801AF760 - .sdata start:0x801F0988 end:0x801F0990 - .sbss start:0x801F1168 end:0x801F1170 - .sdata2 start:0x801F22A0 end:0x801F22C8 - -game/window.c: - .text start:0x80041ED4 end:0x80048110 - .data start:0x8012FF60 end:0x80130550 - .bss start:0x801AF760 end:0x801B3B80 - .sdata start:0x801F0990 end:0x801F0998 - .sbss start:0x801F1170 end:0x801F11B0 - .sdata2 start:0x801F22C8 end:0x801F2358 - -game/messdata.c: - .text start:0x80048110 end:0x800481F8 - -game/card.c: - .text start:0x800481F8 end:0x800487FC - .data start:0x80130550 end:0x801305A0 - .sbss start:0x801F11B0 end:0x801F11B8 - -game/armem.c: - .text start:0x800487FC end:0x80049668 - .data start:0x801305A0 end:0x80130690 - .bss start:0x801B3B80 end:0x801B4260 - .sbss start:0x801F11B8 end:0x801F11C8 - -game/chrman.c: - .text start:0x80049668 end:0x800509D4 - .data start:0x80130690 end:0x801310B0 - .bss start:0x801B4260 end:0x801B49F0 - .sdata start:0x801F0998 end:0x801F09E0 - .sbss start:0x801F11C8 end:0x801F11D0 - .sdata2 start:0x801F2358 end:0x801F2490 - -game/mapspace.c: - .text start:0x800509D4 end:0x80054778 - .bss start:0x801B49F0 end:0x801B4E60 - .sbss start:0x801F11D0 end:0x801F11F0 - .sdata2 start:0x801F2490 end:0x801F24C0 - -game/THPSimple.c: - .text start:0x80054778 end:0x8005687C - .data start:0x801310B0 end:0x801311B0 - .bss start:0x801B4E60 end:0x801B5540 - .sdata start:0x801F09E0 end:0x801F09E8 - .sbss start:0x801F11F0 end:0x801F1210 - .sdata2 start:0x801F24C0 end:0x801F24C8 - -game/THPDraw.c: - .text start:0x8005687C end:0x800571D4 - .sdata2 start:0x801F24C8 end:0x801F24E0 - -game/thpmain.c: - .text start:0x800571D4 end:0x80057B9C - .rodata start:0x8011DB70 end:0x8011DB80 - .data start:0x801311B0 end:0x80131218 - .bss start:0x801B5540 end:0x801B5580 - .sbss start:0x801F1210 end:0x801F1238 - .sdata2 start:0x801F24E0 end:0x801F24F8 - -game/objsub.c: - .text start:0x80057B9C end:0x80057D88 - .data start:0x80131218 end:0x80132018 - .bss start:0x801B5580 end:0x801B57B0 - .sbss start:0x801F1238 end:0x801F1260 - -game/flag.c: - .text start:0x80057D88 end:0x80057FA0 - .bss start:0x801B57B0 end:0x801B57C0 - -game/saveload.c: - .text start:0x80057FA0 end:0x8005A40C - .data start:0x80132018 end:0x801320C0 - .bss start:0x801B57C0 end:0x801B97E0 - .sdata start:0x801F09E8 end:0x801F0A00 - .sbss start:0x801F1260 end:0x801F1270 - .sdata2 start:0x801F24F8 end:0x801F2508 - -game/sreset.c: - .text start:0x8005A40C end:0x8005AEF0 - .data start:0x801320C0 end:0x80156B20 - .bss start:0x801B97E0 end:0x801BAB80 - .sdata start:0x801F0A00 end:0x801F0A18 - .sbss start:0x801F1270 end:0x801F1288 - -game/board/main.c: - .text start:0x8005AEF0 end:0x80061D78 - .rodata start:0x8011DB80 end:0x8011DBB0 - .data start:0x80156B20 end:0x80156C20 - .bss start:0x801BAB80 end:0x801BAD08 - .sdata start:0x801F0A18 end:0x801F0A28 - .sbss start:0x801F1288 end:0x801F12D8 - .sdata2 start:0x801F2508 end:0x801F25B8 - -game/board/player.c: - .text start:0x80061D78 end:0x8006D0BC - .rodata start:0x8011DBB0 end:0x8011DC80 - .data start:0x80156C20 end:0x80156E28 - .bss start:0x801BAD08 end:0x801BAD38 - .sdata start:0x801F0A28 end:0x801F0A88 - .sbss start:0x801F12D8 end:0x801F1310 - .sdata2 start:0x801F25B8 end:0x801F26C0 - -game/board/model.c: - .text start:0x8006D0BC end:0x8006FB30 - .sbss start:0x801F1310 end:0x801F1320 - .sdata2 start:0x801F26C0 end:0x801F26D8 - -game/board/window.c: - .text start:0x8006FB30 end:0x80070B30 - .rodata start:0x8011DC80 end:0x8011DCF0 - .data start:0x80156E28 end:0x80156E70 - .bss start:0x801BAD38 end:0x801BAD98 - .sdata start:0x801F0A88 end:0x801F0A90 - .sbss start:0x801F1320 end:0x801F1348 - .sdata2 start:0x801F26D8 end:0x801F26E8 - -game/board/audio.c: - .text start:0x80070B30 end:0x8007103C - .data start:0x80156E70 end:0x80156E88 - .sdata start:0x801F0A90 end:0x801F0A98 - .sbss start:0x801F1348 end:0x801F1350 - -game/board/com.c: - .text start:0x8007103C end:0x80072750 - .data start:0x80156E88 end:0x80156F50 - .sdata start:0x801F0A98 end:0x801F0AA0 - .sdata2 start:0x801F26E8 end:0x801F2710 - -game/board/view.c: - .text start:0x80072750 end:0x80073DD0 - .rodata start:0x8011DCF0 end:0x8011DD10 - .data start:0x80156F50 end:0x80157050 - .bss start:0x801BAD98 end:0x801BADB0 - .sdata start:0x801F0AA0 end:0x801F0AA8 - .sbss start:0x801F1350 end:0x801F1368 - .sdata2 start:0x801F2710 end:0x801F2780 - -game/board/space.c: - .text start:0x80073DD0 end:0x80077888 - .data start:0x80157050 end:0x80157090 - .bss start:0x801BADB0 end:0x801C1E00 - .sdata start:0x801F0AA8 end:0x801F0AB0 - .sbss start:0x801F1368 end:0x801F13A0 - .sdata2 start:0x801F2780 end:0x801F2800 - -game/board/shop.c: - .text start:0x80077888 end:0x8007A6B4 - .data start:0x80157090 end:0x80157210 - .bss start:0x801C1E00 end:0x801C1E30 - .sdata start:0x801F0AB0 end:0x801F0AD0 - .sbss start:0x801F13A0 end:0x801F13C0 - .sdata2 start:0x801F2800 end:0x801F28D8 - -game/board/lottery.c: - .text start:0x8007A6B4 end:0x8007F9C8 - .rodata start:0x8011DD10 end:0x8011DE40 - .data start:0x80157210 end:0x80157578 - .bss start:0x801C1E30 end:0x801C1E60 - .sdata start:0x801F0AD0 end:0x801F0AF0 - .sbss start:0x801F13C0 end:0x801F13E0 - .sdata2 start:0x801F28D8 end:0x801F2A68 - -game/board/basic_space.c: - .text start:0x8007F9C8 end:0x80080BCC - .data start:0x80157578 end:0x801575B0 - .sdata2 start:0x801F2A68 end:0x801F2AF8 - -game/board/warp.c: - .text start:0x80080BCC end:0x80081544 - .rodata start:0x8011DE40 end:0x8011DE60 - .data start:0x801575B0 end:0x801575D0 - .bss start:0x801C1E60 end:0x801C1E70 - .sdata start:0x801F0AF0 end:0x801F0B00 - .sbss start:0x801F13E0 end:0x801F13F8 - .sdata2 start:0x801F2AF8 end:0x801F2B48 - -game/board/char_wheel.c: - .text start:0x80081544 end:0x80082B3C - .data start:0x801575D0 end:0x80157638 - .sdata start:0x801F0B00 end:0x801F0B08 - .sbss start:0x801F13F8 end:0x801F1418 - .sdata2 start:0x801F2B48 end:0x801F2BD8 - -game/board/mushroom.c: - .text start:0x80082B3C end:0x80083D88 - .sdata start:0x801F0B08 end:0x801F0B18 - .sbss start:0x801F1418 end:0x801F1428 - .sdata2 start:0x801F2BD8 end:0x801F2C60 - -game/board/star.c: - .text start:0x80083D88 end:0x80085B74 - .rodata start:0x8011DE60 end:0x8011DED0 - .data start:0x80157638 end:0x801576F0 - .bss start:0x801C1E70 end:0x801C1E80 - .sdata start:0x801F0B18 end:0x801F0B20 - .sbss start:0x801F1428 end:0x801F1440 - .sdata2 start:0x801F2C60 end:0x801F2D00 - -game/board/roll.c: - .text start:0x80085B74 end:0x800882B4 - .rodata start:0x8011DED0 end:0x8011DF38 - .data start:0x801576F0 end:0x80157790 - .bss start:0x801C1E80 end:0x801C1E90 - .sdata start:0x801F0B20 end:0x801F0B38 - .sbss start:0x801F1440 end:0x801F1460 - .sdata2 start:0x801F2D00 end:0x801F2DB0 - -game/board/ui.c: - .text start:0x800882B4 end:0x8008DE88 - .rodata start:0x8011DF38 end:0x8011E020 - .data start:0x80157790 end:0x80157990 - .bss start:0x801C1E90 end:0x801C1F20 - .sdata start:0x801F0B38 end:0x801F0B40 - .sbss start:0x801F1460 end:0x801F1498 - .sdata2 start:0x801F2DB0 end:0x801F2E70 - -game/board/block.c: - .text start:0x8008DE88 end:0x8008ED48 - .rodata start:0x8011E020 end:0x8011E040 - .data start:0x80157990 end:0x801579A8 - .bss start:0x801C1F20 end:0x801C1F48 - .sdata start:0x801F0B40 end:0x801F0B48 - .sbss start:0x801F1498 end:0x801F14B0 - .sdata2 start:0x801F2E70 end:0x801F2EC8 - -game/board/item.c: - .text start:0x8008ED48 end:0x800974CC - .rodata start:0x8011E040 end:0x8011E058 - .data start:0x801579A8 end:0x80157D98 - .bss start:0x801C1F48 end:0x801C1F88 - .sdata start:0x801F0B48 end:0x801F0B58 - .sbss start:0x801F14B0 end:0x801F14F0 - .sdata2 start:0x801F2EC8 end:0x801F3100 - -game/board/bowser.c: - .text start:0x800974CC end:0x8009B3F4 - .rodata start:0x8011E058 end:0x8011E120 - .data start:0x80157D98 end:0x80157DE8 - .bss start:0x801C1F88 end:0x801C1FD0 - .sdata start:0x801F0B58 end:0x801F0B70 - .sbss start:0x801F14F0 end:0x801F1530 - .sdata2 start:0x801F3100 end:0x801F31B0 - -game/board/battle.c: - .text start:0x8009B3F4 end:0x8009D068 - .rodata start:0x8011E120 end:0x8011E1A0 - .data start:0x80157DE8 end:0x80157E98 - .bss start:0x801C1FD0 end:0x801C1FE0 - .sdata start:0x801F0B70 end:0x801F0B78 - .sbss start:0x801F1530 end:0x801F1558 - .sdata2 start:0x801F31B0 end:0x801F3258 - -game/board/fortune.c: - .text start:0x8009D068 end:0x8009DEF0 - .rodata start:0x8011E1A0 end:0x8011E1C8 - .data start:0x80157E98 end:0x80157EB0 - .bss start:0x801C1FE0 end:0x801C1FF8 - .sdata start:0x801F0B78 end:0x801F0B80 - .sbss start:0x801F1558 end:0x801F1568 - .sdata2 start:0x801F3258 end:0x801F3268 - -game/board/boo.c: - .text start:0x8009DEF0 end:0x800A1954 - .data start:0x80157EB0 end:0x80158088 - .sdata start:0x801F0B80 end:0x801F0B90 - .sbss start:0x801F1568 end:0x801F15A0 - .sdata2 start:0x801F3268 end:0x801F3378 - -game/board/mg_setup.c: - .text start:0x800A1954 end:0x800A4E8C - .rodata start:0x8011E1C8 end:0x8011E1F0 - .data start:0x80158088 end:0x801581C0 - .bss start:0x801C1FF8 end:0x801C2068 - .sdata start:0x801F0B90 end:0x801F0B98 - .sbss start:0x801F15A0 end:0x801F15D0 - .sdata2 start:0x801F3378 end:0x801F3450 - -game/board/boo_house.c: - .text start:0x800A4E8C end:0x800A6E04 - .data start:0x801581C0 end:0x801582F8 - .bss start:0x801C2068 end:0x801C2078 - .sdata start:0x801F0B98 end:0x801F0BE8 - .sbss start:0x801F15D0 end:0x801F15E8 - .sdata2 start:0x801F3450 end:0x801F3498 - -game/board/start.c: - .text start:0x800A6E04 end:0x800A9628 - .rodata start:0x8011E1F0 end:0x8011E210 - .data start:0x801582F8 end:0x80158460 - .bss start:0x801C2078 end:0x801C2090 - .sdata start:0x801F0BE8 end:0x801F0BF8 - .sbss start:0x801F15E8 end:0x801F15F8 - .sdata2 start:0x801F3498 end:0x801F3568 - -game/board/last5.c: - .text start:0x800A9628 end:0x800ADAA4 - .rodata start:0x8011E210 end:0x8011E250 - .data start:0x80158460 end:0x80158778 - .bss start:0x801C2090 end:0x801C20D8 - .sdata start:0x801F0BF8 end:0x801F0C50 - .sbss start:0x801F15F8 end:0x801F1618 - .sdata2 start:0x801F3568 end:0x801F3668 - -game/board/pause.c: - .text start:0x800ADAA4 end:0x800B1894 - .data start:0x80158778 end:0x801588A0 - .bss start:0x801C20D8 end:0x801C2108 - .sdata start:0x801F0C50 end:0x801F0C60 - .sbss start:0x801F1618 end:0x801F1638 - .sdata2 start:0x801F3668 end:0x801F3720 - -game/board/com_path.c: - .text start:0x800B1894 end:0x800B3DF8 - .bss start:0x801C2108 end:0x801C2688 - .sbss start:0x801F1638 end:0x801F1640 - -game/board/tutorial.c: - .text start:0x800B3DF8 end:0x800B4214 - .data start:0x801588A0 end:0x801588E8 - .bss start:0x801C2688 end:0x801C26A0 - .sbss start:0x801F1640 end:0x801F1668 - -dolphin/os/__start.c: - .init start:0x80003100 end:0x80003354 - -dolphin/PPCArch.c: - .text start:0x800B4214 end:0x800B42BC - -dolphin/os/OS.c: - .text start:0x800B42BC end:0x800B4C18 - .data start:0x801588E8 end:0x80158AA8 - .bss start:0x801C26A0 end:0x801C26F0 - .sbss start:0x801F1668 end:0x801F1698 - -musyx/runtime/seq.c: - .text start:0x800F26B0 end:0x800F6620 - -musyx/runtime/synth.c: - .text start:0x800F6620 end:0x800F997C - -musyx/runtime/seq_api.c: - .text start:0x800F997C end:0x800F9BFC - -musyx/runtime/snd_synthapi.c: - .text start:0x800F9BFC end:0x800FA37C - -musyx/runtime/stream.c: - .text start:0x800FA37C end:0x800FDEE8 - -musyx/runtime/synthdata.c: - .text start:0x800FDEE8 end:0x800FFC78 - -musyx/runtime/synthmacros.c: - .text start:0x800FFC78 end:0x801049D0 - -musyx/runtime/synthvoice.c: - .text start:0x801049D0 end:0x80106460 - -musyx/runtime/synth_ac.c: - .text start:0x80106460 end:0x80106580 - -musyx/runtime/synth_adsr.c: - .text start:0x80106580 end:0x80106D40 - -musyx/runtime/synth_vsamples.c: - .text start:0x80106D40 end:0x801074C8 - -musyx/runtime/s_data.c: - .text start:0x801074C8 end:0x80108020 - -musyx/runtime/hw_dspctrl.c: - .text start:0x80108020 end:0x8010B434 - -musyx/runtime/hw_volconv.c: - .text start:0x8010B434 end:0x8010BB24 - -musyx/runtime/snd3d.c: - .text start:0x8010BB24 end:0x8010DEF4 - -musyx/runtime/snd_init.c: - .text start:0x8010DEF4 end:0x8010E048 - -musyx/runtime/snd_math.c: - .text start:0x8010E048 end:0x8010E408 - -musyx/runtime/snd_midictrl.c: - .text start:0x8010E408 end:0x801100DC - -musyx/runtime/snd_service.c: - .text start:0x801100DC end:0x80110288 - -musyx/runtime/hardware.c: - .text start:0x80110288 end:0x8011128C - -musyx/runtime/hw_aramdma.c: - .text start:0x8011128C end:0x80111F00 - -musyx/runtime/hw_dolphin.c: - .text start:0x80111F00 end:0x801123F8 - -musyx/runtime/hw_memory.c: - .text start:0x801123F8 end:0x8011244C - -musyx/runtime/CheapReverb/creverb_fx.c: - .text start:0x8011244C end:0x80112508 - -musyx/runtime/CheapReverb/creverb.c: - .text start:0x80112508 end:0x80112DC4 - -musyx/runtime/StdReverb/reverb_fx.c: - .text start:0x80112DC4 end:0x80112E84 - -musyx/runtime/StdReverb/reverb.c: - .text start:0x80112E84 end:0x80113BC8 - -musyx/runtime/Delay/delay_fx.c: - .text start:0x80113BC8 end:0x80113F74 - -musyx/runtime/Chorus/chorus_fx.c: - .text start:0x80113F74 end:0x801147DC diff --git a/config/GMPP01_00/symbols.txt b/config/GMPP01_00/symbols.txt deleted file mode 100644 index acf35410..00000000 --- a/config/GMPP01_00/symbols.txt +++ /dev/null @@ -1,8670 +0,0 @@ -__check_pad3 = .init:0x80003100; // type:function size:0x40 scope:local -__start = .init:0x80003140; // type:function size:0x138 scope:weak -__init_registers = .init:0x80003278; // type:function size:0x1C scope:local -__init_data = .init:0x80003294; // type:function size:0xC0 scope:local -__init_hardware = .init:0x80003354; // type:function size:0x20 scope:global -__flush_cache = .init:0x80003374; // type:function size:0x34 scope:global -memset = .init:0x800033A8; // type:function size:0x30 scope:global -__fill_mem = .init:0x800033D8; // type:function size:0xB8 scope:global -memcpy = .init:0x80003490; // type:function size:0x50 scope:global -TRK_memset = .init:0x800034E0; // type:function size:0x30 -TRK_memcpy = .init:0x80003510; // type:function size:0x24 -gTRKInterruptVectorTable = .init:0x80003534; // type:label scope:global -lbl_8000387C = .init:0x8000387C; // type:label -lbl_800038E0 = .init:0x800038E0; // type:label -__TRK_reset = .init:0x80005468; // type:function size:0x104 -gTRKInterruptVectorTableEnd = .init:0x80005468; // type:label scope:global -_rom_copy_info = .init:0x8000556C; // type:object size:0x84 scope:global data:4byte -_bss_init_info = .init:0x800055F0; // type:object size:0x20 scope:global data:4byte -@etb_80005620 = extab:0x80005620; // type:object size:0x28 scope:local hidden -@etb_80005648 = extab:0x80005648; // type:object size:0x8 scope:local hidden -@etb_80005650 = extab:0x80005650; // type:object size:0x8 scope:local hidden -@etb_80005658 = extab:0x80005658; // type:object size:0x8 scope:local hidden -@etb_80005660 = extab:0x80005660; // type:object size:0x8 scope:local hidden -@etb_80005668 = extab:0x80005668; // type:object size:0x8 scope:local hidden -@etb_80005670 = extab:0x80005670; // type:object size:0x8 scope:local hidden -@etb_80005678 = extab:0x80005678; // type:object size:0x14 scope:local hidden -@etb_8000568C = extab:0x8000568C; // type:object size:0x2C scope:local hidden -@etb_800056B8 = extab:0x800056B8; // type:object size:0x8 scope:local hidden -@etb_800056C0 = extab:0x800056C0; // type:object size:0x14 scope:local hidden -@etb_800056D4 = extab:0x800056D4; // type:object size:0x8 scope:local hidden -@etb_800056DC = extab:0x800056DC; // type:object size:0x8 scope:local hidden -@eti_80005700 = extabindex:0x80005700; // type:object size:0xC scope:local hidden -@eti_8000570C = extabindex:0x8000570C; // type:object size:0xC scope:local hidden -@eti_80005718 = extabindex:0x80005718; // type:object size:0xC scope:local hidden -@eti_80005724 = extabindex:0x80005724; // type:object size:0xC scope:local hidden -@eti_80005730 = extabindex:0x80005730; // type:object size:0xC scope:local hidden -@eti_8000573C = extabindex:0x8000573C; // type:object size:0xC scope:local hidden -@eti_80005748 = extabindex:0x80005748; // type:object size:0xC scope:local hidden -@eti_80005754 = extabindex:0x80005754; // type:object size:0xC scope:local hidden -@eti_80005760 = extabindex:0x80005760; // type:object size:0xC scope:local hidden -@eti_8000576C = extabindex:0x8000576C; // type:object size:0xC scope:local hidden -@eti_80005778 = extabindex:0x80005778; // type:object size:0xC scope:local hidden -@eti_80005784 = extabindex:0x80005784; // type:object size:0xC scope:local hidden -@eti_80005790 = extabindex:0x80005790; // type:object size:0xC scope:local hidden -_eti_init_info = extabindex:0x8000579C; // type:object size:0x20 scope:global -main = .text:0x800057C0; // type:function size:0x234 scope:global -HuSysVWaitSet = .text:0x800059F4; // type:function size:0x38 -HuSysVWaitGet = .text:0x80005A2C; // type:function size:0xC -rand8 = .text:0x80005A38; // type:function size:0x2C -HuPadInit = .text:0x80005A64; // type:function size:0xF0 -HuPadRead = .text:0x80005B54; // type:function size:0x168 -PadReadVSync = .text:0x80005CBC; // type:function size:0x440 scope:local -PadADConv = .text:0x800060FC; // type:function size:0x234 scope:local -HuPadRumbleSet = .text:0x80006330; // type:function size:0x54 -HuPadRumbleStop = .text:0x80006384; // type:function size:0x70 -HuPadRumbleAllStop = .text:0x800063F4; // type:function size:0x70 -HuPadStatGet = .text:0x80006464; // type:function size:0x14 -HuPadRumbleGet = .text:0x80006478; // type:function size:0x8 -HuDVDReadAsyncCallBack = .text:0x80006480; // type:function size:0xC scope:local -HuDvdDataRead = .text:0x8000648C; // type:function size:0x16C -HuDvdDataReadMulti = .text:0x800065F8; // type:function size:0x1B4 -HuDvdDataReadDirect = .text:0x800067AC; // type:function size:0x170 -HuDvdDataFastRead = .text:0x8000691C; // type:function size:0x16C -HuDvdDataFastReadNum = .text:0x80006A88; // type:function size:0x174 -HuDvdDataFastReadAsync = .text:0x80006BFC; // type:function size:0x150 -HuDvdDataClose = .text:0x80006D4C; // type:function size:0x38 -HuDvdErrorWatch = .text:0x80006D84; // type:function size:0xBC -HuDataInit = .text:0x80006E40; // type:function size:0xD0 -HuDataReadChk = .text:0x80006F10; // type:function size:0x74 -HuDataGetStatus = .text:0x80006F84; // type:function size:0x64 -HuDataGetDirPtr = .text:0x80006FE8; // type:function size:0xB8 -HuDataDirRead = .text:0x800070A0; // type:function size:0x224 -HuDataDirSet = .text:0x800072C4; // type:function size:0x188 -HuDataDirReadAsyncCallBack = .text:0x8000744C; // type:function size:0xC8 -HuDataDirReadAsync = .text:0x80007514; // type:function size:0x1A8 -HuDataDirReadNumAsync = .text:0x800076BC; // type:function size:0x1A8 -HuDataGetAsyncStat = .text:0x80007864; // type:function size:0x60 -HuDataRead = .text:0x800078C4; // type:function size:0x344 -HuDataReadNum = .text:0x80007C08; // type:function size:0x3A0 -HuDataSelHeapRead = .text:0x80007FA8; // type:function size:0x3C4 -HuDataSelHeapReadNum = .text:0x8000836C; // type:function size:0x428 -HuDataReadMulti = .text:0x80008794; // type:function size:0x30 -HuDataReadMultiSub = .text:0x800087C4; // type:function size:0x3FC -HuDataGetSize = .text:0x80008BC0; // type:function size:0x104 -HuDataClose = .text:0x80008CC4; // type:function size:0x38 -HuDataCloseMulti = .text:0x80008CFC; // type:function size:0x7C -HuDataDirClose = .text:0x80008D78; // type:function size:0xD4 -HuDataDirCloseNum = .text:0x80008E4C; // type:function size:0x130 -HuDataReadNumHeapShortForce = .text:0x80008F7C; // type:function size:0x48C -HuDecodeSlide = .text:0x80009408; // type:function size:0x200 -HuDecodeFslide = .text:0x80009608; // type:function size:0x1D8 -HuDecodeData = .text:0x800097E0; // type:function size:0x324 -HuSysInit = .text:0x80009B04; // type:function size:0x10C -InitRenderMode = .text:0x80009C10; // type:function size:0xD0 scope:local -InitGX = .text:0x80009CE0; // type:function size:0x148 scope:local -InitMem = .text:0x80009E28; // type:function size:0x184 scope:local -InitVI = .text:0x80009FAC; // type:function size:0x54 scope:local -HuSysBeforeRender = .text:0x8000A000; // type:function size:0xE4 -HuSysDoneRender = .text:0x8000A0E4; // type:function size:0xC8 -SwapBuffers = .text:0x8000A1AC; // type:function size:0x6C scope:local -LoadMemInfo = .text:0x8000A218; // type:function size:0x254 scope:local -gcsetjmp = .text:0x8000A46C; // type:function size:0x74 -gclongjmp = .text:0x8000A4E0; // type:function size:0x80 -HuMemInitAll = .text:0x8000A560; // type:function size:0x12C -HuMemInit = .text:0x8000A68C; // type:function size:0x30 -HuMemDCFlushAll = .text:0x8000A6BC; // type:function size:0x2C -HuMemDCFlush = .text:0x8000A6E8; // type:function size:0x54 -HuMemDirectMalloc = .text:0x8000A73C; // type:function size:0x64 -HuMemDirectMallocNum = .text:0x8000A7A0; // type:function size:0x6C -HuMemDirectFree = .text:0x8000A80C; // type:function size:0x38 -HuMemDirectFreeNum = .text:0x8000A844; // type:function size:0x54 -HuMemUsedMallocSizeGet = .text:0x8000A898; // type:function size:0x3C -HuMemUsedMallocBlockGet = .text:0x8000A8D4; // type:function size:0x3C -HuMemHeapSizeGet = .text:0x8000A910; // type:function size:0x18 -HuMemHeapPtrGet = .text:0x8000A928; // type:function size:0x18 -HuMemHeapInit = .text:0x8000A940; // type:function size:0x4C -HuMemMemoryAllocNum = .text:0x8000A98C; // type:function size:0x40 -HuMemMemoryAlloc = .text:0x8000A9CC; // type:function size:0x3C -HuMemMemoryAlloc2 = .text:0x8000AA08; // type:function size:0x108 scope:local -HuMemMemoryFreeNum = .text:0x8000AB10; // type:function size:0x7C -HuMemMemoryFree = .text:0x8000AB8C; // type:function size:0x12C -HuMemUsedMemorySizeGet = .text:0x8000ACB8; // type:function size:0x48 -HuMemUsedMemoryBlockGet = .text:0x8000AD00; // type:function size:0x44 -HuMemMemoryAllocSizeGet = .text:0x8000AD44; // type:function size:0xC -HuMemHeapDump = .text:0x8000AD50; // type:function size:0x158 -HuMemMemorySizeGet = .text:0x8000AEA8; // type:function size:0x50 -pfInit = .text:0x8000AEF8; // type:function size:0x64 -pfClsScr = .text:0x8000AF5C; // type:function size:0xA0 -print8 = .text:0x8000AFFC; // type:function size:0x15C -printWin = .text:0x8000B158; // type:function size:0xAC -pfDrawFonts = .text:0x8000B204; // type:function size:0xEE8 -WireDraw = .text:0x8000C0EC; // type:function size:0x3C0 scope:local -HuPrcInit = .text:0x8000C4AC; // type:function size:0x14 -HuPrcCreate = .text:0x8000C4C0; // type:function size:0x1E8 -HuPrcChildLink = .text:0x8000C6A8; // type:function size:0x68 -HuPrcChildUnlink = .text:0x8000C710; // type:function size:0x58 -HuPrcChildCreate = .text:0x8000C768; // type:function size:0x27C -HuPrcChildWatch = .text:0x8000C9E4; // type:function size:0x60 -HuPrcCurrentGet = .text:0x8000CA44; // type:function size:0x8 -SetKillStatusProcess = .text:0x8000CA4C; // type:function size:0x50 scope:local -HuPrcKill = .text:0x8000CA9C; // type:function size:0xD4 -HuPrcChildKill = .text:0x8000CB70; // type:function size:0x2A4 -HuPrcEnd = .text:0x8000CE14; // type:function size:0x100 -HuPrcSleep = .text:0x8000CF14; // type:function size:0x80 -HuPrcVSleep = .text:0x8000CF94; // type:function size:0x54 -HuPrcWakeup = .text:0x8000CFE8; // type:function size:0xC -HuPrcDestructorSet2 = .text:0x8000CFF4; // type:function size:0x8 -HuPrcDestructorSet = .text:0x8000CFFC; // type:function size:0x28 -HuPrcCall = .text:0x8000D024; // type:function size:0x184 -HuPrcMemAlloc = .text:0x8000D1A8; // type:function size:0x4C -HuPrcMemFree = .text:0x8000D1F4; // type:function size:0x30 -HuPrcSetStat = .text:0x8000D224; // type:function size:0x10 -HuPrcResetStat = .text:0x8000D234; // type:function size:0x14 -HuPrcAllPause = .text:0x8000D248; // type:function size:0x84 -HuPrcAllUPause = .text:0x8000D2CC; // type:function size:0x84 -HuSprInit = .text:0x8000D350; // type:function size:0xA0 -HuSprClose = .text:0x8000D3F0; // type:function size:0xB0 -HuSprExec = .text:0x8000D4A0; // type:function size:0x64 -HuSprBegin = .text:0x8000D504; // type:function size:0x188 -HuSprOrderEntry = .text:0x8000D68C; // type:function size:0x14C -HuSprCall = .text:0x8000D7D8; // type:function size:0xF4 -HuSprFinish = .text:0x8000D8CC; // type:function size:0x458 -HuSprPauseSet = .text:0x8000DD24; // type:function size:0x8 -HuSprAnimRead = .text:0x8000DD2C; // type:function size:0x114 -HuSprAnimLock = .text:0x8000DE40; // type:function size:0x10 -HuSprCreate = .text:0x8000DE50; // type:function size:0x128 -HuSprFuncCreate = .text:0x8000DF78; // type:function size:0x188 -HuSprGrpCreate = .text:0x8000E100; // type:function size:0xF4 -HuSprGrpCopy = .text:0x8000E1F4; // type:function size:0x334 -HuSprGrpMemberSet = .text:0x8000E528; // type:function size:0x8C -HuSprGrpMemberKill = .text:0x8000E5B4; // type:function size:0xAC -HuSprGrpKill = .text:0x8000E660; // type:function size:0x9C -HuSprKill = .text:0x8000E6FC; // type:function size:0x84 -HuSprAnimKill = .text:0x8000E780; // type:function size:0x90 -HuSprAttrSet = .text:0x8000E810; // type:function size:0xAC -HuSprAttrReset = .text:0x8000E8BC; // type:function size:0xAC -HuSprPosSet = .text:0x8000E968; // type:function size:0x60 -HuSprZRotSet = .text:0x8000E9C8; // type:function size:0x5C -HuSprScaleSet = .text:0x8000EA24; // type:function size:0x60 -HuSprTPLvlSet = .text:0x8000EA84; // type:function size:0x64 -HuSprColorSet = .text:0x8000EAE8; // type:function size:0x64 -HuSprSpeedSet = .text:0x8000EB4C; // type:function size:0x4C -HuSprBankSet = .text:0x8000EB98; // type:function size:0xF0 -HuSprGrpPosSet = .text:0x8000EC88; // type:function size:0x9C -HuSprGrpCenterSet = .text:0x8000ED24; // type:function size:0x9C -HuSprGrpZRotSet = .text:0x8000EDC0; // type:function size:0x98 -HuSprGrpScaleSet = .text:0x8000EE58; // type:function size:0x9C -HuSprGrpTPLvlSet = .text:0x8000EEF4; // type:function size:0xC0 -HuSprGrpDrawNoSet = .text:0x8000EFB4; // type:function size:0x8C -HuSprDrawNoSet = .text:0x8000F040; // type:function size:0x50 -HuSprPriSet = .text:0x8000F090; // type:function size:0x4C -HuSprGrpScissorSet = .text:0x8000F0DC; // type:function size:0xAC -HuSprScissorSet = .text:0x8000F188; // type:function size:0x58 -HuSprAnimMake = .text:0x8000F1E0; // type:function size:0x1FC -HuSprBGSet = .text:0x8000F3DC; // type:function size:0x68 -HuSprSprBGSet = .text:0x8000F444; // type:function size:0x50 -AnimDebug = .text:0x8000F494; // type:function size:0x214 -HuSprDispInit = .text:0x8000F6A8; // type:function size:0x158 -HuSprDisp = .text:0x8000F800; // type:function size:0xECC -HuSprTexLoad = .text:0x800106CC; // type:function size:0x29C -HuSprExecLayerSet = .text:0x80010968; // type:function size:0x58 -HuSprLayerHook = .text:0x800109C0; // type:function size:0x178 scope:local -LoadHSF = .text:0x80010B38; // type:function size:0xB0 -ClusterAdjustObject = .text:0x80010BE8; // type:function size:0xA0 -FileLoad = .text:0x80010C88; // type:function size:0xC8 scope:local -SetHsfModel = .text:0x80010D50; // type:function size:0x284 scope:local -SetName = .text:0x80010FD4; // type:function size:0x38 -MaterialLoad = .text:0x8001100C; // type:function size:0x210 scope:local -AttributeLoad = .text:0x8001121C; // type:function size:0xF8 scope:local -SceneLoad = .text:0x80011314; // type:function size:0x80 scope:local -ColorLoad = .text:0x80011394; // type:function size:0x130 scope:local -VertexLoad = .text:0x800114C4; // type:function size:0x1C0 scope:local -NormalLoad = .text:0x80011684; // type:function size:0x128 scope:local -STLoad = .text:0x800117AC; // type:function size:0x1A8 scope:local -FaceLoad = .text:0x80011954; // type:function size:0x190 scope:local -DispObject = .text:0x80011AE4; // type:function size:0x7A8 scope:local -ObjectLoad = .text:0x8001228C; // type:function size:0x15C scope:local -CenvLoad = .text:0x800123E8; // type:function size:0x464 scope:local -SkeletonLoad = .text:0x8001284C; // type:function size:0x198 scope:local -PartLoad = .text:0x800129E4; // type:function size:0x12C scope:local -ClusterLoad = .text:0x80012B10; // type:function size:0x1E8 scope:local -ShapeLoad = .text:0x80012CF8; // type:function size:0x168 scope:local -MapAttrLoad = .text:0x80012E60; // type:function size:0xD0 scope:local -BitmapLoad = .text:0x80012F30; // type:function size:0x174 scope:local -PaletteLoad = .text:0x800130A4; // type:function size:0x16C scope:local -MakeObjectName = .text:0x80013210; // type:function size:0xE8 -CmpObjectName = .text:0x800132F8; // type:function size:0x38 -MotionLoad = .text:0x80013330; // type:function size:0x938 scope:local -MatrixLoad = .text:0x80013C68; // type:function size:0x80 scope:local -SearchObjectSetName = .text:0x80013CE8; // type:function size:0x94 scope:local -SearchVertexPtr = .text:0x80013D7C; // type:function size:0x44 scope:local -SearchNormalPtr = .text:0x80013DC0; // type:function size:0x44 scope:local -SearchStPtr = .text:0x80013E04; // type:function size:0x44 scope:local -SearchColorPtr = .text:0x80013E48; // type:function size:0x44 scope:local -SearchFacePtr = .text:0x80013E8C; // type:function size:0x44 scope:local -SearchCenvPtr = .text:0x80013ED0; // type:function size:0x44 scope:local -SearchPartPtr = .text:0x80013F14; // type:function size:0x44 scope:local -SearchPalettePtr = .text:0x80013F58; // type:function size:0x3C scope:local -SearchBitmapPtr = .text:0x80013F94; // type:function size:0x44 scope:local -GetString = .text:0x80013FD8; // type:function size:0x24 scope:local -GetMotionString = .text:0x80013FFC; // type:function size:0x24 scope:local -Hu3DDrawPreInit = .text:0x80014020; // type:function size:0xC -Hu3DDraw = .text:0x8001402C; // type:function size:0x1A0 -objCall = .text:0x800141CC; // type:function size:0xEC scope:local -objMesh = .text:0x800142B8; // type:function size:0x86C scope:local -ObjCullCheck = .text:0x80014B24; // type:function size:0x4C0 -FaceDraw = .text:0x80014FE4; // type:function size:0x10DC scope:local -SetTevStageNoTex = .text:0x800160C0; // type:function size:0x8E8 scope:local -SetTevStageTex = .text:0x800169A8; // type:function size:0x2588 scope:local -SetKColor = .text:0x80018F30; // type:function size:0x164 scope:local -SetKColorRGB = .text:0x80019094; // type:function size:0x180 scope:local -FlushKColor = .text:0x80019214; // type:function size:0xB0 scope:local -SetReflect = .text:0x800192C4; // type:function size:0x280 scope:local -SetProjection = .text:0x80019544; // type:function size:0x29C scope:local -SetShadowTex = .text:0x800197E0; // type:function size:0x8C scope:local -SetShadow = .text:0x8001986C; // type:function size:0xCC scope:local -FaceDrawShadow = .text:0x80019938; // type:function size:0x5E4 scope:local -LoadTexture = .text:0x80019F1C; // type:function size:0x75C scope:local -objNull = .text:0x8001A678; // type:function size:0x248 scope:local -objRoot = .text:0x8001A8C0; // type:function size:0x198 scope:local -objJoint = .text:0x8001AA58; // type:function size:0x248 scope:local -objMap = .text:0x8001ACA0; // type:function size:0x17C scope:local -objReplica = .text:0x8001AE1C; // type:function size:0x1B4 scope:local -Hu3DDrawPost = .text:0x8001AFD0; // type:function size:0xB00 -ObjDraw = .text:0x8001BAD0; // type:function size:0x6D0 scope:local -MakeDisplayList = .text:0x8001C1A0; // type:function size:0xBC -MDObjCall = .text:0x8001C25C; // type:function size:0x438 scope:local -MDObjMesh = .text:0x8001C694; // type:function size:0x2A8 scope:local -ObjConstantMake = .text:0x8001C93C; // type:function size:0x68 -MDFaceDraw = .text:0x8001C9A4; // type:function size:0xD08 scope:local -MakeCalcNBT = .text:0x8001D6AC; // type:function size:0x3A8 scope:local -MakeNBT = .text:0x8001DA54; // type:function size:0x2C4 scope:local -MDFaceCnt = .text:0x8001DD18; // type:function size:0x2C8 scope:local -mtxTransCat = .text:0x8001DFE0; // type:function size:0x4C -mtxRotCat = .text:0x8001E02C; // type:function size:0xF4 -mtxRot = .text:0x8001E120; // type:function size:0xF0 -mtxScaleCat = .text:0x8001E210; // type:function size:0x70 -HmfInverseMtxF3X3 = .text:0x8001E280; // type:function size:0x1E0 -SetDefLight = .text:0x8001E460; // type:function size:0x190 -Hu3DModelObjPosGet = .text:0x8001E5F0; // type:function size:0x90 -Hu3DModelObjMtxGet = .text:0x8001E680; // type:function size:0x318 -PGObjCall = .text:0x8001E998; // type:function size:0x80 -PGObjCalc = .text:0x8001EA18; // type:function size:0x7B0 -PGObjReplica = .text:0x8001F1C8; // type:function size:0x574 -Hu3DObjDuplicate = .text:0x8001F73C; // type:function size:0x158 -Hu3DModelObjDrawInit = .text:0x8001F894; // type:function size:0x90 -Hu3DModelObjDraw = .text:0x8001F924; // type:function size:0x90 -Hu3DInit = .text:0x8001F9B4; // type:function size:0x220 -Hu3DPreProc = .text:0x8001FBD4; // type:function size:0xD8 -Hu3DExec = .text:0x8001FCAC; // type:function size:0x688 -Hu3DAllKill = .text:0x80020334; // type:function size:0x158 -Hu3DBGColorSet = .text:0x8002048C; // type:function size:0x18 -Hu3DLayerHookSet = .text:0x800204A4; // type:function size:0x1C -Hu3DPauseSet = .text:0x800204C0; // type:function size:0xC -Hu3DNoSyncSet = .text:0x800204CC; // type:function size:0xC -Hu3DModelCreate = .text:0x800204D8; // type:function size:0x330 -Hu3DModelLink = .text:0x80020808; // type:function size:0x2E8 -Hu3DHookFuncCreate = .text:0x80020AF0; // type:function size:0x1C8 -Hu3DModelKill = .text:0x80020CB8; // type:function size:0x34C -Hu3DModelAllKill = .text:0x80021004; // type:function size:0xD0 -Hu3DModelPosSet = .text:0x800210D4; // type:function size:0x34 -Hu3DModelPosSetV = .text:0x80021108; // type:function size:0x40 -Hu3DModelRotSet = .text:0x80021148; // type:function size:0x34 -Hu3DModelRotSetV = .text:0x8002117C; // type:function size:0x40 -Hu3DModelScaleSet = .text:0x800211BC; // type:function size:0x34 -Hu3DModelScaleSetV = .text:0x800211F0; // type:function size:0x40 -Hu3DModelAttrSet = .text:0x80021230; // type:function size:0x54 -Hu3DModelAttrReset = .text:0x80021284; // type:function size:0x50 -Hu3DModelAttrGet = .text:0x800212D4; // type:function size:0x2C -Hu3DModelMotionAttrGet = .text:0x80021300; // type:function size:0x2C -Hu3DModelClusterAttrSet = .text:0x8002132C; // type:function size:0x44 -Hu3DModelClusterAttrReset = .text:0x80021370; // type:function size:0x44 -Hu3DModelCameraSet = .text:0x800213B4; // type:function size:0x2C -Hu3DModelLayerSet = .text:0x800213E0; // type:function size:0x6C -Hu3DModelObjPtrGet = .text:0x8002144C; // type:function size:0xD8 -Hu3DModelTPLvlSet = .text:0x80021524; // type:function size:0xF8 -Hu3DModelHiliteMapSet = .text:0x8002161C; // type:function size:0x98 -Hu3DModelShadowSet = .text:0x800216B4; // type:function size:0xB0 -Hu3DModelShadowReset = .text:0x80021764; // type:function size:0xA0 -Hu3DModelShadowDispOn = .text:0x80021804; // type:function size:0x34 -Hu3DModelShadowDispOff = .text:0x80021838; // type:function size:0x34 -Hu3DModelShadowMapSet = .text:0x8002186C; // type:function size:0x88 -Hu3DModelShadowMapObjSet = .text:0x800218F4; // type:function size:0xBC -Hu3DModelAmbSet = .text:0x800219B0; // type:function size:0x34 -Hu3DModelHookSet = .text:0x800219E4; // type:function size:0xEC -Hu3DModelHookReset = .text:0x80021AD0; // type:function size:0xB4 -Hu3DModelHookObjReset = .text:0x80021B84; // type:function size:0xF0 -Hu3DModelProjectionSet = .text:0x80021C74; // type:function size:0x44 -Hu3DModelProjectionReset = .text:0x80021CB8; // type:function size:0x44 -Hu3DModelHiliteTypeSet = .text:0x80021CFC; // type:function size:0xBC -Hu3DModelReflectTypeSet = .text:0x80021DB8; // type:function size:0x30 -Hu3DCameraCreate = .text:0x80021DE8; // type:function size:0x134 -Hu3DCameraPerspectiveSet = .text:0x80021F1C; // type:function size:0x80 -Hu3DCameraViewportSet = .text:0x80021F9C; // type:function size:0x88 -Hu3DCameraScissorSet = .text:0x80022024; // type:function size:0x90 -Hu3DCameraPosSet = .text:0x800220B4; // type:function size:0x98 -Hu3DCameraPosSetV = .text:0x8002214C; // type:function size:0xB8 -Hu3DCameraKill = .text:0x80022204; // type:function size:0x78 -Hu3DCameraAllKill = .text:0x8002227C; // type:function size:0xD0 -Hu3DCameraSet = .text:0x8002234C; // type:function size:0xDC -Hu3DModelCameraInfoSet = .text:0x80022428; // type:function size:0x3C0 -Hu3DModelCameraCreate = .text:0x800227E8; // type:function size:0x88 -Hu3DCameraMotionOn = .text:0x80022870; // type:function size:0x58 -Hu3DCameraMotionStart = .text:0x800228C8; // type:function size:0xD4 -Hu3DCameraMotionOff = .text:0x8002299C; // type:function size:0x34 -Hu3DLighInit = .text:0x800229D0; // type:function size:0x74 -Hu3DGLightCreate = .text:0x80022A44; // type:function size:0xA0 -Hu3DGLightCreateV = .text:0x80022AE4; // type:function size:0x104 -Hu3DLLightCreate = .text:0x80022BE8; // type:function size:0xA8 -Hu3DLLightCreateV = .text:0x80022C90; // type:function size:0x17C -Hu3DGLightSpotSet = .text:0x80022E0C; // type:function size:0x44 -Hu3DLLightSpotSet = .text:0x80022E50; // type:function size:0x6C -Hu3DGLightInfinitytSet = .text:0x80022EBC; // type:function size:0x48 -Hu3DLLightInfinitytSet = .text:0x80022F04; // type:function size:0x70 -Hu3DGLightPointSet = .text:0x80022F74; // type:function size:0x58 -Hu3DLLightPointSet = .text:0x80022FCC; // type:function size:0x80 -Hu3DGLightKill = .text:0x8002304C; // type:function size:0x20 -Hu3DLLightKill = .text:0x8002306C; // type:function size:0xBC -Hu3DLightAllKill = .text:0x80023128; // type:function size:0x68 -Hu3DGLightColorSet = .text:0x80023190; // type:function size:0x38 -Hu3DLLightColorSet = .text:0x800231C8; // type:function size:0x60 -Hu3DGLightPosSetV = .text:0x80023228; // type:function size:0x70 -Hu3DLLightPosSetV = .text:0x80023298; // type:function size:0x9C -Hu3DGLightPosSet = .text:0x80023334; // type:function size:0x90 -Hu3DLLightPosSet = .text:0x800233C4; // type:function size:0xBC -Hu3DGLightPosAimSetV = .text:0x80023480; // type:function size:0x80 -Hu3DLLightPosAimSetV = .text:0x80023500; // type:function size:0xAC -Hu3DGLightPosAimSet = .text:0x800235AC; // type:function size:0xC4 -Hu3DLLightPosAimSet = .text:0x80023670; // type:function size:0xF0 -Hu3DGLightStaticSet = .text:0x80023760; // type:function size:0x54 -Hu3DLLightStaticSet = .text:0x800237B4; // type:function size:0x7C -Hu3DModelLightInfoSet = .text:0x80023830; // type:function size:0x4D0 -Hu3DLightSet = .text:0x80023D00; // type:function size:0x130 -lightSet = .text:0x80023E30; // type:function size:0x254 scope:local -Hu3DReflectMapSet = .text:0x80024084; // type:function size:0x68 -Hu3DReflectNoSet = .text:0x800240EC; // type:function size:0x8 -Hu3DFogSet = .text:0x800240F4; // type:function size:0x60 -Hu3DFogClear = .text:0x80024154; // type:function size:0x74 -Hu3DShadowCreate = .text:0x800241C8; // type:function size:0x188 -Hu3DShadowPosSet = .text:0x80024350; // type:function size:0x64 -Hu3DShadowTPLvlSet = .text:0x800243B4; // type:function size:0x2C -Hu3DShadowSizeSet = .text:0x800243E0; // type:function size:0x78 -Hu3DShadowExec = .text:0x80024458; // type:function size:0x860 -Hu3DProjectionCreate = .text:0x80024CB8; // type:function size:0x130 -Hu3DProjectionKill = .text:0x80024DE8; // type:function size:0x60 -Hu3DProjectionPosSet = .text:0x80024E48; // type:function size:0x88 -Hu3DProjectionTPLvlSet = .text:0x80024ED0; // type:function size:0x38 -Hu3DMipMapSet = .text:0x80024F08; // type:function size:0x1E8 -Hu3DMotionInit = .text:0x800250F0; // type:function size:0x48 -Hu3DMotionCreate = .text:0x80025138; // type:function size:0xA4 -Hu3DMotionModelCreate = .text:0x800251DC; // type:function size:0xC4 -Hu3DMotionKill = .text:0x800252A0; // type:function size:0x114 -Hu3DMotionAllKill = .text:0x800253B4; // type:function size:0x11C -Hu3DMotionSet = .text:0x800254D0; // type:function size:0xBC -Hu3DMotionOverlaySet = .text:0x8002558C; // type:function size:0x54 -Hu3DMotionOverlayReset = .text:0x800255E0; // type:function size:0x20 -Hu3DMotionOverlayTimeGet = .text:0x80025600; // type:function size:0x1C -Hu3DMotionOverlayTimeSet = .text:0x8002561C; // type:function size:0x1C -Hu3DMotionOverlaySpeedSet = .text:0x80025638; // type:function size:0x1C -Hu3DMotionShiftSet = .text:0x80025654; // type:function size:0x1F4 -Hu3DMotionShapeSet = .text:0x80025848; // type:function size:0xBC -Hu3DMotionShapeIDGet = .text:0x80025904; // type:function size:0x1C -Hu3DMotionShapeSpeedSet = .text:0x80025920; // type:function size:0x2C -Hu3DMotionShapeTimeSet = .text:0x8002594C; // type:function size:0x1C -Hu3DMotionShapeMaxTimeGet = .text:0x80025968; // type:function size:0x44 -Hu3DMotionShapeStartEndSet = .text:0x800259AC; // type:function size:0x30 -Hu3DMotionClusterSet = .text:0x800259DC; // type:function size:0x114 -Hu3DMotionClusterNoSet = .text:0x80025AF0; // type:function size:0xD0 -Hu3DMotionShapeReset = .text:0x80025BC0; // type:function size:0x20 -Hu3DMotionClusterReset = .text:0x80025BE0; // type:function size:0xC8 -Hu3DMotionIDGet = .text:0x80025CA8; // type:function size:0x2C -Hu3DMotionShiftIDGet = .text:0x80025CD4; // type:function size:0x2C -Hu3DMotionTimeSet = .text:0x80025D00; // type:function size:0xF4 -Hu3DMotionTimeGet = .text:0x80025DF4; // type:function size:0x2C -Hu3DMotionShiftTimeGet = .text:0x80025E20; // type:function size:0x2C -Hu3DMotionMaxTimeGet = .text:0x80025E4C; // type:function size:0xA8 -Hu3DMotionShiftMaxTimeGet = .text:0x80025EF4; // type:function size:0xA8 -Hu3DMotionShiftStartEndSet = .text:0x80025F9C; // type:function size:0x30 -Hu3DMotionMotionMaxTimeGet = .text:0x80025FCC; // type:function size:0x8C -Hu3DMotionStartEndSet = .text:0x80026058; // type:function size:0x30 -Hu3DMotionEndCheck = .text:0x80026088; // type:function size:0x170 -Hu3DMotionSpeedSet = .text:0x800261F8; // type:function size:0x2C -Hu3DMotionShiftSpeedSet = .text:0x80026224; // type:function size:0x2C -Hu3DMotionNoMotSet = .text:0x80026250; // type:function size:0x114 -Hu3DMotionNoMotReset = .text:0x80026364; // type:function size:0x5C -Hu3DMotionForceSet = .text:0x800263C0; // type:function size:0x108 -Hu3DMotionNext = .text:0x800264C8; // type:function size:0x798 -Hu3DMotionExec = .text:0x80026C60; // type:function size:0x534 -Hu3DCameraMotionExec = .text:0x80027194; // type:function size:0xC0 -Hu3DSubMotionExec = .text:0x80027254; // type:function size:0x2A8 -GetObjTRXPtr = .text:0x800274FC; // type:function size:0x14C scope:weak -SetObjMatMotion = .text:0x80027648; // type:function size:0x208 -SetObjAttrMotion = .text:0x80027850; // type:function size:0x218 -SetObjCameraMotion = .text:0x80027A68; // type:function size:0x558 -SetObjLightMotion = .text:0x80027FC0; // type:function size:0x1D8 -GetCurve = .text:0x80028198; // type:function size:0xD8 -GetConstant = .text:0x80028270; // type:function size:0x70 -GetLinear = .text:0x800282E0; // type:function size:0x110 -GetBezier = .text:0x800283F0; // type:function size:0x200 scope:weak -GetBitMap = .text:0x800285F0; // type:function size:0x64 -Hu3DJointMotion = .text:0x80028654; // type:function size:0xCC -JointModel_Motion = .text:0x80028720; // type:function size:0x124 -Hu3DMotionCalc = .text:0x80028844; // type:function size:0x19C -SearchObjectIndex = .text:0x800289E0; // type:function size:0x90 scope:local -SearchAttributeIndex = .text:0x80028A70; // type:function size:0x9C scope:local -Hu3DAnimInit = .text:0x80028B0C; // type:function size:0x7C -Hu3DAnimCreate = .text:0x80028B88; // type:function size:0x1D0 -Hu3DAnimLink = .text:0x80028D58; // type:function size:0x1C4 -Hu3DAnimKill = .text:0x80028F1C; // type:function size:0x104 -Hu3DAnimModelKill = .text:0x80029020; // type:function size:0x13C -Hu3DAnimAllKill = .text:0x8002915C; // type:function size:0x134 -Hu3DAnimAttrSet = .text:0x80029290; // type:function size:0x34 -Hu3DAnimAttrReset = .text:0x800292C4; // type:function size:0x38 -Hu3DAnimSpeedSet = .text:0x800292FC; // type:function size:0x2C -Hu3DAnimBankSet = .text:0x80029328; // type:function size:0x48 -Hu3DAnmNoSet = .text:0x80029370; // type:function size:0x38 -Hu3DAnimSet = .text:0x800293A8; // type:function size:0x240 -Hu3DAnimExec = .text:0x800295E8; // type:function size:0x474 -Hu3DTexScrollCreate = .text:0x80029A5C; // type:function size:0x1AC -Hu3DTexScrollKill = .text:0x80029C08; // type:function size:0xE0 -Hu3DTexScrollAllKill = .text:0x80029CE8; // type:function size:0x10C -Hu3DTexScrollPosSet = .text:0x80029DF4; // type:function size:0x44 -Hu3DTexScrollPosMoveSet = .text:0x80029E38; // type:function size:0xA4 -Hu3DTexScrollRotSet = .text:0x80029EDC; // type:function size:0x3C -Hu3DTexScrollRotMoveSet = .text:0x80029F18; // type:function size:0x5C -Hu3DTexScrollPauseDisableSet = .text:0x80029F74; // type:function size:0x54 -Hu3DParticleCreate = .text:0x80029FC8; // type:function size:0x348 -Hu3DParticleScaleSet = .text:0x8002A310; // type:function size:0x6C -Hu3DParticleZRotSet = .text:0x8002A37C; // type:function size:0x6C -Hu3DParticleColSet = .text:0x8002A3E8; // type:function size:0x74 -Hu3DParticleTPLvlSet = .text:0x8002A45C; // type:function size:0x80 -Hu3DParticleBlendModeSet = .text:0x8002A4DC; // type:function size:0x38 -Hu3DParticleHookSet = .text:0x8002A514; // type:function size:0x38 -Hu3DParticleAttrSet = .text:0x8002A54C; // type:function size:0x40 -Hu3DParticleAttrReset = .text:0x8002A58C; // type:function size:0x44 -Hu3DParticleCntSet = .text:0x8002A5D0; // type:function size:0x3C -Hu3DParticleAnimModeSet = .text:0x8002A60C; // type:function size:0x60 -particleFunc = .text:0x8002A66C; // type:function size:0xAD4 scope:local -Hu3DParManInit = .text:0x8002B140; // type:function size:0x48 -Hu3DParManCreate = .text:0x8002B188; // type:function size:0x1D4 -Hu3DParManLink = .text:0x8002B35C; // type:function size:0x17C -Hu3DParManKill = .text:0x8002B4D8; // type:function size:0x190 -Hu3DParManAllKill = .text:0x8002B668; // type:function size:0x1C4 -Hu3DParManPtrGet = .text:0x8002B82C; // type:function size:0x20 -Hu3DParManPosSet = .text:0x8002B84C; // type:function size:0x3C -Hu3DParManVecSet = .text:0x8002B888; // type:function size:0x3C -Hu3DParManRotSet = .text:0x8002B8C4; // type:function size:0x7C -Hu3DParManAttrSet = .text:0x8002B940; // type:function size:0x40 -Hu3DParManAttrReset = .text:0x8002B980; // type:function size:0x40 -Hu3DParManModelIDGet = .text:0x8002B9C0; // type:function size:0x34 -Hu3DParManTimeLimitSet = .text:0x8002B9F4; // type:function size:0x38 -Hu3DParManVacumeSet = .text:0x8002BA2C; // type:function size:0x74 -Hu3DParManColorSet = .text:0x8002BAA0; // type:function size:0x68 -ParManFunc = .text:0x8002BB08; // type:function size:0xBC0 scope:local -ParManHook = .text:0x8002C6C8; // type:function size:0x4B4 scope:local -CamMotionEx2 = .text:0x8002CB7C; // type:function size:0xAC -CamMotionEx = .text:0x8002CC28; // type:function size:0xA14 -SetObjCamMotion = .text:0x8002D63C; // type:function size:0x244 scope:local -InterpolateBMLine = .text:0x8002D880; // type:function size:0x40C -Hu3D2Dto3D = .text:0x8002DC8C; // type:function size:0x1D4 -Hu3D3Dto2D = .text:0x8002DE60; // type:function size:0x1D0 -Hu3DMtxTransGet = .text:0x8002E030; // type:function size:0x1C -Hu3DMtxRotGet = .text:0x8002E04C; // type:function size:0x540 -Hu3DMtxScaleGet = .text:0x8002E58C; // type:function size:0x1C8 -HuPerfInit = .text:0x8002E754; // type:function size:0x94 -HuPerfCreate = .text:0x8002E7E8; // type:function size:0x130 -HuPerfZero = .text:0x8002E918; // type:function size:0x40 -HuPerfBegin = .text:0x8002E958; // type:function size:0x7C -HuPerfEnd = .text:0x8002E9D4; // type:function size:0xA0 -DSCallbackFunc = .text:0x8002EA74; // type:function size:0x16C -omMasterInit = .text:0x8002EBE0; // type:function size:0x90 -omWatchOverlayProc = .text:0x8002EC70; // type:function size:0x170 scope:local -omOvlCallEx = .text:0x8002EDE0; // type:function size:0xE8 -omOvlGotoEx = .text:0x8002EEC8; // type:function size:0x60 -omOvlReturnEx = .text:0x8002EF28; // type:function size:0xF4 -omOvlKill = .text:0x8002F01C; // type:function size:0xB8 -omOvlHisChg = .text:0x8002F0D4; // type:function size:0xA0 -omOvlHisGet = .text:0x8002F174; // type:function size:0x78 -omInitObjMan = .text:0x8002F1EC; // type:function size:0x220 -omDestroyObjMan = .text:0x8002F40C; // type:function size:0x50 -omAddObjEx = .text:0x8002F45C; // type:function size:0x1DC -omInsertObj = .text:0x8002F638; // type:function size:0xF8 -omAddMember = .text:0x8002F730; // type:function size:0x84 -omDelObjEx = .text:0x8002F7B4; // type:function size:0x190 -omDelMember = .text:0x8002F944; // type:function size:0x88 -omMakeGroupEx = .text:0x8002F9CC; // type:function size:0xFC -omGetGroupMemberListEx = .text:0x8002FAC8; // type:function size:0x2C -omSetStatBit = .text:0x8002FAF4; // type:function size:0x10 -omResetStatBit = .text:0x8002FB04; // type:function size:0x14 -omSetTra = .text:0x8002FB18; // type:function size:0x10 -omSetRot = .text:0x8002FB28; // type:function size:0x10 -omSetSca = .text:0x8002FB38; // type:function size:0x10 -omMain = .text:0x8002FB48; // type:function size:0x2F8 -omAllPause = .text:0x8002FE40; // type:function size:0xE0 -omPauseChk = .text:0x8002FF20; // type:function size:0x2C -omCurrentOvlGet = .text:0x8002FF4C; // type:function size:0x8 -OSPanic = .text:0x8002FF54; // type:function size:0x150 -HuFaultInitXfbDirectDraw = .text:0x800300A4; // type:function size:0x118 -HuFaultSetXfbAddress = .text:0x800301BC; // type:function size:0x34 -XFB_WriteBackCache = .text:0x800301F0; // type:function size:0x98 scope:local -XFB_CR = .text:0x80030288; // type:function size:0x50 scope:local -XFB_puts = .text:0x800302D8; // type:function size:0xF4 scope:local -XFB_putcS = .text:0x800303CC; // type:function size:0x150 scope:local -XFB_putcProgressive = .text:0x8003051C; // type:function size:0x1F0 scope:local -XFB_putcInterlace = .text:0x8003070C; // type:function size:0x1B4 scope:local -GWInit = .text:0x800308C0; // type:function size:0x158 -GWGameStatReset = .text:0x80030A18; // type:function size:0x31C -GWMessDelayGet = .text:0x80030D34; // type:function size:0x4C -GWMGRecordSet = .text:0x80030D80; // type:function size:0x54 -GWMGRecordGet = .text:0x80030DD4; // type:function size:0x18 -GWCharColorGet = .text:0x80030DEC; // type:function size:0x140 -GWBoardPlayCountSet = .text:0x80030F2C; // type:function size:0x24 -GWBoardPlayCountAdd = .text:0x80030F50; // type:function size:0x38 -GWBoardPlayCountGet = .text:0x80030F88; // type:function size:0x14 -GWBoardMaxStarsSet = .text:0x80030F9C; // type:function size:0x1C -GWBoardMaxStarsGet = .text:0x80030FB8; // type:function size:0x18 -GWBoardMaxCoinsSet = .text:0x80030FD0; // type:function size:0x1C -GWBoardMaxCoinsGet = .text:0x80030FEC; // type:function size:0x18 -GWBoardWinCountInc = .text:0x80031004; // type:function size:0x5C -GWBoardWinCountGet = .text:0x80031060; // type:function size:0x1C -GWBoardWinCountSet = .text:0x8003107C; // type:function size:0x20 -GWMGAvailGet = .text:0x8003109C; // type:function size:0x6C -GWMGAvailSet = .text:0x80031108; // type:function size:0x5C -GWMGCustomGet = .text:0x80031164; // type:function size:0x6C -GWMGCustomSet = .text:0x800311D0; // type:function size:0x5C -GWMGCustomReset = .text:0x8003122C; // type:function size:0x60 -GWCoinsGet = .text:0x8003128C; // type:function size:0x18 -GWCoinsSet = .text:0x800312A4; // type:function size:0xB0 -GWCoinsAdd = .text:0x80031354; // type:function size:0xD0 -GWStarsSet = .text:0x80031424; // type:function size:0x6C -GWStarsAdd = .text:0x80031490; // type:function size:0x94 -GWStarsGet = .text:0x80031524; // type:function size:0x18 -GWTotalStarsSet = .text:0x8003153C; // type:function size:0x34 -GWTotalStarsAdd = .text:0x80031570; // type:function size:0x54 -GWTotalStarsGet = .text:0x800315C4; // type:function size:0x10 -omOutView = .text:0x800315D4; // type:function size:0x238 -omOutViewMulti = .text:0x8003180C; // type:function size:0x2C4 -omSystemKeyCheckSetup = .text:0x80031AD0; // type:function size:0x74 -omSystemKeyCheck = .text:0x80031B44; // type:function size:0x230 -omSysPauseEnable = .text:0x80031D74; // type:function size:0x8 -omSysPauseCtrl = .text:0x80031D7C; // type:function size:0x50 -omDLLDBGOut = .text:0x80031DCC; // type:function size:0x2C -omDLLInit = .text:0x80031DF8; // type:function size:0x6C -omDLLStart = .text:0x80031E64; // type:function size:0x154 -omDLLNumEnd = .text:0x80031FB8; // type:function size:0xB4 -omDLLEnd = .text:0x8003206C; // type:function size:0x13C -omDLLLink = .text:0x800321A8; // type:function size:0x138 -omDLLUnlink = .text:0x800322E0; // type:function size:0xB4 -omDLLSearch = .text:0x80032394; // type:function size:0xC8 -omDLLInfoDump = .text:0x8003245C; // type:function size:0xD0 -omDLLHeaderDump = .text:0x8003252C; // type:function size:0xE0 -frand = .text:0x8003260C; // type:function size:0xAC -frandf = .text:0x800326B8; // type:function size:0xD8 -frandmod = .text:0x80032790; // type:function size:0xB8 -HuAudInit = .text:0x80032848; // type:function size:0x170 -HuAudStreamPlay = .text:0x800329B8; // type:function size:0x8 -HuAudStreamVolSet = .text:0x800329C0; // type:function size:0x3C -HuAudStreamPauseOn = .text:0x800329FC; // type:function size:0x24 -HuAudStreamPauseOff = .text:0x80032A20; // type:function size:0x24 -HuAudStreamFadeOut = .text:0x80032A44; // type:function size:0x4 -HuAudAllStop = .text:0x80032A48; // type:function size:0x28 -HuAudFadeOut = .text:0x80032A70; // type:function size:0x3C -HuAudFXPlay = .text:0x80032AAC; // type:function size:0x80 -HuAudFXPlayVol = .text:0x80032B2C; // type:function size:0x48 -HuAudFXPlayVolPan = .text:0x80032B74; // type:function size:0x68 -HuAudFXStop = .text:0x80032BDC; // type:function size:0x2C -HuAudFXAllStop = .text:0x80032C08; // type:function size:0x28 -HuAudFXFadeOut = .text:0x80032C30; // type:function size:0x30 -HuAudFXPanning = .text:0x80032C60; // type:function size:0x50 -HuAudFXListnerSet = .text:0x80032CB0; // type:function size:0xA4 -HuAudFXListnerSetEX = .text:0x80032D54; // type:function size:0x134 -HuAudFXListnerUpdate = .text:0x80032E88; // type:function size:0x3C -HuAudFXEmiterPlay = .text:0x80032EC4; // type:function size:0x6C -HuAudFXEmiterUpDate = .text:0x80032F30; // type:function size:0x64 -HuAudFXListnerKill = .text:0x80032F94; // type:function size:0x20 -HuAudFXPauseAll = .text:0x80032FB4; // type:function size:0x2C -HuAudFXStatusGet = .text:0x80032FE0; // type:function size:0x28 -HuAudFXPitchSet = .text:0x80033008; // type:function size:0x54 -HuAudFXVolSet = .text:0x8003305C; // type:function size:0x58 -HuAudSeqPlay = .text:0x800330B4; // type:function size:0x5C -HuAudSeqStop = .text:0x80033110; // type:function size:0x48 -HuAudSeqFadeOut = .text:0x80033158; // type:function size:0x3C -HuAudSeqAllFadeOut = .text:0x80033194; // type:function size:0x5C -HuAudSeqAllStop = .text:0x800331F0; // type:function size:0x28 -HuAudSeqPauseAll = .text:0x80033218; // type:function size:0x2C -HuAudSeqPause = .text:0x80033244; // type:function size:0x54 -HuAudSeqMidiCtrlGet = .text:0x80033298; // type:function size:0x60 -HuAudSStreamPlay = .text:0x800332F8; // type:function size:0x64 -HuAudSStreamStop = .text:0x8003335C; // type:function size:0x38 -HuAudSStreamFadeOut = .text:0x80033394; // type:function size:0x3C -HuAudSStreamAllFadeOut = .text:0x800333D0; // type:function size:0x28 -HuAudSStreamAllStop = .text:0x800333F8; // type:function size:0x24 -HuAudSStreamStatGet = .text:0x8003341C; // type:function size:0x28 -HuAudDllSndGrpSet = .text:0x80033444; // type:function size:0x104 -HuAudSndGrpSetSet = .text:0x80033548; // type:function size:0x1A4 -HuAudSndGrpSet = .text:0x800336EC; // type:function size:0x60 -HuAudSndCommonGrpSet = .text:0x8003374C; // type:function size:0x154 -HuAudAUXSet = .text:0x800338A0; // type:function size:0x58 -HuAudAUXVolSet = .text:0x800338F8; // type:function size:0xC -HuAudVoiceInit = .text:0x80033904; // type:function size:0x298 -HuAudPlayerVoicePlay = .text:0x80033B9C; // type:function size:0x50 -HuAudPlayerVoicePlayPos = .text:0x80033BEC; // type:function size:0x58 -HuAudPlayerVoicePlayEntry = .text:0x80033C44; // type:function size:0x50 -HuAudCharVoicePlay = .text:0x80033C94; // type:function size:0xAC -HuAudCharVoicePlayPos = .text:0x80033D40; // type:function size:0xD0 -HuAudCharVoicePlayEntry = .text:0x80033E10; // type:function size:0x90 -HuSePlay = .text:0x80033EA0; // type:function size:0x68 scope:local -InitEnvelope = .text:0x80033F08; // type:function size:0x1A4 -SetEnvelopMtx = .text:0x800340AC; // type:function size:0x23C scope:local -EnvelopeProc = .text:0x800342E8; // type:function size:0x80 -InitVtxParm = .text:0x80034368; // type:function size:0x50 -SetEnvelopMain = .text:0x800343B8; // type:function size:0x158 scope:local -SetEnvelop = .text:0x80034510; // type:function size:0x9F0 scope:local -SetMtx = .text:0x80034F00; // type:function size:0x334 scope:local -SetRevMtx = .text:0x80035234; // type:function size:0x11C scope:local -SearchSklenton = .text:0x80035350; // type:function size:0x78 scope:local -MGSeqInit = .text:0x800353C8; // type:function size:0xBC -MGSeqMain = .text:0x80035484; // type:function size:0x188 -CreateSeq = .text:0x8003560C; // type:function size:0x1A4 scope:local -MGSeqCreate = .text:0x800357B0; // type:function size:0x100 -MGSeqStatGet = .text:0x800358B0; // type:function size:0x88 -MGSeqPosSet = .text:0x80035938; // type:function size:0x4C -MGSeqParamSet = .text:0x80035984; // type:function size:0x4C -MGSeqKill = .text:0x800359D0; // type:function size:0x58 -MGSeqKillAll = .text:0x80035A28; // type:function size:0x3C -MGSeqDoneCheck = .text:0x80035A64; // type:function size:0xA4 -MGSeqStub = .text:0x80035B08; // type:function size:0x4 -MGSeqSprKill = .text:0x80035B0C; // type:function size:0x8C -MGSeqInitTimer = .text:0x80035B98; // type:function size:0x2F0 -MGSeqUpdateTimer = .text:0x80035E88; // type:function size:0x69C -MGSeqInitType2 = .text:0x80036524; // type:function size:0x3D8 -MGSeqUpdateType2 = .text:0x800368FC; // type:function size:0x2F8 -fn_80036BC8 = .text:0x80036BF4; // type:function size:0x188 -SeqMakeWord = .text:0x80036D7C; // type:function size:0x1D0 scope:local -SeqLoadFontChar = .text:0x80036F4C; // type:function size:0x26C scope:local -MGSeqInitMGBasic = .text:0x800371B8; // type:function size:0x194 -MGSeqUpdateMGBasic = .text:0x8003734C; // type:function size:0x9D0 -MGSeqInitMGCommon = .text:0x80037D1C; // type:function size:0x2A4 -MGSeqUpdateMGBattle = .text:0x80037FC0; // type:function size:0xDA4 -MGSeqUpdateMG1vs3 = .text:0x80038D64; // type:function size:0xDA4 -MGSeqUpdateMGStory = .text:0x80039B08; // type:function size:0xBB8 -MGSeqUpdateMG2vs2 = .text:0x8003A6C0; // type:function size:0xAB4 -MGSeqInitFlip = .text:0x8003B174; // type:function size:0x3C4 -MGSeqUpdateFlip = .text:0x8003B538; // type:function size:0x91C -MGSeqUpdateMGBowser = .text:0x8003BE54; // type:function size:0xC84 -MGSeqInitDraw = .text:0x8003CAD8; // type:function size:0xDC -MGSeqUpdateDraw = .text:0x8003CBB4; // type:function size:0x3DC -MGSeqInitWin = .text:0x8003CF90; // type:function size:0x6D0 -MGSeqUpdateWin = .text:0x8003D660; // type:function size:0x708 -MGSeqInitRecord = .text:0x8003DD68; // type:function size:0x764 -MGSeqUpdateRecord = .text:0x8003E4CC; // type:function size:0x304 -MGSeqPauseInit = .text:0x8003E7D0; // type:function size:0x6C -PauseProc = .text:0x8003E83C; // type:function size:0x94C scope:local -MGSeqPauseKill = .text:0x8003F188; // type:function size:0xC -MGSeqPauseEnableCtrl = .text:0x8003F194; // type:function size:0x40 -MGSeqPracticeInit = .text:0x8003F1D4; // type:function size:0xDC -PracticeProc = .text:0x8003F2B0; // type:function size:0x234 scope:local -SeqPlayStartFX = .text:0x8003F4E4; // type:function size:0xD4 scope:local -MGSeqPracticeExitCheck = .text:0x8003F5B8; // type:function size:0x128 -espInit = .text:0x8003F6E0; // type:function size:0xA0 -espEntry = .text:0x8003F780; // type:function size:0x1B0 -espKill = .text:0x8003F930; // type:function size:0x98 -espGrpIDGet = .text:0x8003F9C8; // type:function size:0x8 -espDispOn = .text:0x8003F9D0; // type:function size:0x44 -espDispOff = .text:0x8003FA14; // type:function size:0x44 -espAttrSet = .text:0x8003FA58; // type:function size:0x48 -espAttrReset = .text:0x8003FAA0; // type:function size:0x48 -espPosSet = .text:0x8003FAE8; // type:function size:0x50 -espScaleSet = .text:0x8003FB38; // type:function size:0x50 -espZRotSet = .text:0x8003FB88; // type:function size:0x48 -espTPLvlSet = .text:0x8003FBD0; // type:function size:0x48 -espColorSet = .text:0x8003FC18; // type:function size:0x58 -espSpeedSet = .text:0x8003FC70; // type:function size:0x48 -espBankSet = .text:0x8003FCB8; // type:function size:0x48 -espDrawNoSet = .text:0x8003FD00; // type:function size:0x48 -espPriSet = .text:0x8003FD48; // type:function size:0x48 -fn_8003FF68 = .text:0x8003FD90; // type:function size:0x268 -fn_800401D0 = .text:0x8003FFF8; // type:function size:0x12C -fn_800402FC = .text:0x80040124; // type:function size:0x78 -fn_80040374 = .text:0x8004019C; // type:function size:0x98 -fn_8004040C = .text:0x80040234; // type:function size:0xF4 -GetClusterCurve = .text:0x80040328; // type:function size:0xA8 -GetClusterWeightCurve = .text:0x800403D0; // type:function size:0xA8 -SetClusterMain = .text:0x80040478; // type:function size:0x3A0 scope:local -ClusterProc = .text:0x80040818; // type:function size:0x160 -ClusterMotionExec = .text:0x80040978; // type:function size:0x210 -SetShapeMain = .text:0x80040B88; // type:function size:0x36C scope:local -ShapeProc = .text:0x80040EF4; // type:function size:0xA4 -WipeInit = .text:0x80040F98; // type:function size:0xB4 -WipeExecAlways = .text:0x8004104C; // type:function size:0x288 -WipeCreate = .text:0x800412D4; // type:function size:0x12C -WipeColorSet = .text:0x80041400; // type:function size:0x58 -WipeStatGet = .text:0x80041458; // type:function size:0x10 -WipeDummyFade = .text:0x80041468; // type:function size:0x8 scope:local -WipeNormalFade = .text:0x80041470; // type:function size:0xFC scope:local -WipeColorFill = .text:0x8004156C; // type:function size:0x31C scope:local -WipeCrossFade = .text:0x80041888; // type:function size:0x184 scope:local -WipeFrameStill = .text:0x80041A0C; // type:function size:0x4C8 scope:local -HuWindowInit = .text:0x80041ED4; // type:function size:0x74 -HuWinInit = .text:0x80041F48; // type:function size:0x214 -HuWinCreate = .text:0x8004215C; // type:function size:0x544 -HuWinKill = .text:0x800426A0; // type:function size:0xA4 -HuWinAllKill = .text:0x80042744; // type:function size:0x1AC -MesDispFunc = .text:0x800428F0; // type:function size:0x7C4 scope:local -winBGMake = .text:0x800430B4; // type:function size:0x480 scope:local -HuWinProc = .text:0x80043534; // type:function size:0xF4 scope:local -HuWinDrawMes = .text:0x80043628; // type:function size:0xF60 scope:local -HuWinCR = .text:0x80044588; // type:function size:0x54 -_HuWinHomeClear = .text:0x800445DC; // type:function size:0x90 -HuWinHomeClear = .text:0x8004466C; // type:function size:0xA4 -HuWinKeyWaitEntry = .text:0x80044710; // type:function size:0x88 -HuWinKeyWait = .text:0x80044798; // type:function size:0x10C scope:local -HuWinSpcFontEntry = .text:0x800448A4; // type:function size:0x1A4 scope:local -HuWinSpcFontClear = .text:0x80044A48; // type:function size:0x80 scope:local -HuWinChoice = .text:0x80044AC8; // type:function size:0xA9C scope:local -HuWinActivePadGet = .text:0x80045564; // type:function size:0x68 -HuWinActiveKeyGetX = .text:0x800455CC; // type:function size:0xE8 -HuWinPosSet = .text:0x800456B4; // type:function size:0x6C -HuWinScaleSet = .text:0x80045720; // type:function size:0x6C -HuWinZRotSet = .text:0x8004578C; // type:function size:0x58 -HuWinCenterPosSet = .text:0x800457E4; // type:function size:0xAC -HuWinDrawNoSet = .text:0x80045890; // type:function size:0x4C -HuWinScissorSet = .text:0x800458DC; // type:function size:0x64 -HuWinPriSet = .text:0x80045940; // type:function size:0xB8 -HuWinAttrSet = .text:0x800459F8; // type:function size:0x34 -HuWinAttrReset = .text:0x80045A2C; // type:function size:0x34 -HuWinStatGet = .text:0x80045A60; // type:function size:0x2C -HuWinMesColSet = .text:0x80045A8C; // type:function size:0x3C -HuWinMesPalSet = .text:0x80045AC8; // type:function size:0x58 -HuWinBGTPLvlSet = .text:0x80045B20; // type:function size:0x50 -HuWinBGColSet = .text:0x80045B70; // type:function size:0x60 -HuWinMesSpeedSet = .text:0x80045BD0; // type:function size:0x2C -HuWinMesRead = .text:0x80045BFC; // type:function size:0xA4 -HuWinMesSet = .text:0x80045CA0; // type:function size:0x398 -HuWinInsertMesSet = .text:0x80046038; // type:function size:0xD8 -HuWinChoiceGet = .text:0x80046110; // type:function size:0x27C -HuWinChoiceNumGet = .text:0x8004638C; // type:function size:0x2C -HuWinChoiceDisable = .text:0x800463B8; // type:function size:0x38 -HuWinChoiceNowGet = .text:0x800463F0; // type:function size:0x40 -HuWinMesWait = .text:0x80046430; // type:function size:0x50 -HuWinAnimSet = .text:0x80046480; // type:function size:0x8C -HuWinSprSet = .text:0x8004650C; // type:function size:0xF0 -HuWinSprPosSet = .text:0x800465FC; // type:function size:0x88 -HuWinSprPriSet = .text:0x80046684; // type:function size:0x6C -HuWinSprIDGet = .text:0x800466F0; // type:function size:0x38 -HuWinSprKill = .text:0x80046728; // type:function size:0x68 -HuWinDispOff = .text:0x80046790; // type:function size:0x90 -HuWinDispOn = .text:0x80046820; // type:function size:0x90 -HuWinComKeyWait = .text:0x800468B0; // type:function size:0xC0 -HuWinComKeySet = .text:0x80046970; // type:function size:0x44 -_HuWinComKeySet = .text:0x800469B4; // type:function size:0x98 -HuWinComKeyGet = .text:0x80046A4C; // type:function size:0x1D4 -HuWinComKeyReset = .text:0x80046C20; // type:function size:0x10 -HuWinMesMaxSizeGet = .text:0x80046C30; // type:function size:0x17C -HuWinInsertMesSizeGet = .text:0x80046DAC; // type:function size:0x60 -HuWinMesSizeCancelCRSet = .text:0x80046E0C; // type:function size:0x8 -HuWinMesMaxSizeBetGet = .text:0x80046E14; // type:function size:0x120 -GetMesMaxSizeSub = .text:0x80046F34; // type:function size:0x2C0 scope:local -GetMesMaxSizeSub2 = .text:0x800471F4; // type:function size:0x1CC scope:local -HuWinKeyWaitNumGet = .text:0x800473C0; // type:function size:0x88 -HuWinPushKeySet = .text:0x80047448; // type:function size:0x2C -HuWinDisablePlayerSet = .text:0x80047474; // type:function size:0x34 -HuWinDisablePlayerReset = .text:0x800474A8; // type:function size:0x38 -HuWinExCreate = .text:0x800474E0; // type:function size:0x4C -HuWinExCreateStyled = .text:0x8004752C; // type:function size:0x228 -HuWinExAnimIn = .text:0x80047754; // type:function size:0x3B0 -HuWinExAnimOut = .text:0x80047B04; // type:function size:0x304 -HuWinExCleanup = .text:0x80047E08; // type:function size:0xA4 -HuWinExAnimPopIn = .text:0x80047EAC; // type:function size:0x264 -MessData_MesPtrGet = .text:0x80048110; // type:function size:0xE8 -HuCardInit = .text:0x800481F8; // type:function size:0x34 -HuCardCheck = .text:0x8004822C; // type:function size:0xC4 -HuCardSlotCheck = .text:0x800482F0; // type:function size:0x58 -HuCardMount = .text:0x80048348; // type:function size:0xEC -HuCardUnMount = .text:0x80048434; // type:function size:0x28 -HuCardFormat = .text:0x8004845C; // type:function size:0x50 -MountCallBack = .text:0x800484AC; // type:function size:0x1C scope:local -HuCardOpen = .text:0x800484C8; // type:function size:0x70 -HuCardRead = .text:0x80048538; // type:function size:0x68 -HuCardCreate = .text:0x800485A0; // type:function size:0x100 -HuCardClose = .text:0x800486A0; // type:function size:0x38 -HuCardWrite = .text:0x800486D8; // type:function size:0x50 -HuCardDelete = .text:0x80048728; // type:function size:0x40 -HuCardSectorSizeGet = .text:0x80048768; // type:function size:0x4C -HuCardFreeSpaceGet = .text:0x800487B4; // type:function size:0x48 -HuARInit = .text:0x800487FC; // type:function size:0x148 -HuARMalloc = .text:0x80048944; // type:function size:0x16C -HuARFree = .text:0x80048AB0; // type:function size:0x16C -HuAMemDump = .text:0x80048C1C; // type:function size:0xA8 -HuAR_DVDtoARAM = .text:0x80048CC4; // type:function size:0x160 -ArqCallBack = .text:0x80048E24; // type:function size:0x10 scope:local -HuAR_MRAMtoARAM = .text:0x80048E34; // type:function size:0x2C -HuAR_MRAMtoARAM2 = .text:0x80048E60; // type:function size:0x140 -HuAR_ARAMtoMRAM = .text:0x80048FA0; // type:function size:0x2C -HuAR_ARAMtoMRAMNum = .text:0x80048FCC; // type:function size:0x1F0 -ArqCallBackAM = .text:0x800491BC; // type:function size:0x44 scope:local -HuARDMACheck = .text:0x80049200; // type:function size:0x8 -HuARDirCheck = .text:0x80049208; // type:function size:0x58 -HuARDirFree = .text:0x80049260; // type:function size:0x68 -HuAR_ARAMtoMRAMFileRead = .text:0x800492C8; // type:function size:0x390 -ArqCallBackAMFileRead = .text:0x80049658; // type:function size:0x10 scope:local -CharManInit = .text:0x80049668; // type:function size:0x134 -CharAMemPtrGet = .text:0x8004979C; // type:function size:0x1C -CharARAMOpen = .text:0x800497B8; // type:function size:0x98 -CharARAMClose = .text:0x80049850; // type:function size:0x58 -CharKill = .text:0x800498A8; // type:function size:0x428 -CharKillAll = .text:0x80049CD0; // type:function size:0x3C -CharModelCreate = .text:0x80049D0C; // type:function size:0x180 -UpdateChar = .text:0x80049E8C; // type:function size:0x20C scope:local -UpdateCharAnim = .text:0x8004A098; // type:function size:0x173C scope:local -PlayCharVoice = .text:0x8004B7D4; // type:function size:0xB0 scope:local -InitEffect = .text:0x8004B884; // type:function size:0x254 scope:local -CreateEffectDust = .text:0x8004BAD8; // type:function size:0xB0 scope:local -CreateEffectSmoke = .text:0x8004BB88; // type:function size:0xB0 scope:local -CreateEffectDot = .text:0x8004BC38; // type:function size:0xB0 scope:local -CreateEffectStar = .text:0x8004BCE8; // type:function size:0xB0 scope:local -CreateEffectWarn = .text:0x8004BD98; // type:function size:0xB0 scope:local -CreateEffectBird = .text:0x8004BE48; // type:function size:0xB0 scope:local -CreateEffect = .text:0x8004BEF8; // type:function size:0x1CC scope:local -UpdateEffect = .text:0x8004C0C4; // type:function size:0x4A0 scope:local -RotateEffect = .text:0x8004C564; // type:function size:0x1E8 -PlayEffectSound = .text:0x8004C74C; // type:function size:0x344 -CharModelMotionCreate = .text:0x8004CA90; // type:function size:0x1D0 -CharModelMotionIndexSet = .text:0x8004CC60; // type:function size:0x88 -CharModelMotionKill = .text:0x8004CCE8; // type:function size:0x9C -CharModelMotionDataClose = .text:0x8004CD84; // type:function size:0x2B8 -CharModelDataClose = .text:0x8004D03C; // type:function size:0x430 -CharModelKill = .text:0x8004D46C; // type:function size:0x244 -CharModelMotionSet = .text:0x8004D6B0; // type:function size:0x7C -CharModelTexAnimSet = .text:0x8004D72C; // type:function size:0x17C -CharModelTexNameGet = .text:0x8004D8A8; // type:function size:0x7C -CharModelHookNameGet = .text:0x8004D924; // type:function size:0x7C -CharModelMotionTimeSet = .text:0x8004D9A0; // type:function size:0x4C -CharModelMotionTimeGet = .text:0x8004D9EC; // type:function size:0x44 -CharModelMotionMaxTimeGet = .text:0x8004DA30; // type:function size:0x44 -CharModelMotionEndCheck = .text:0x8004DA74; // type:function size:0x44 -CharModelMotionShiftIDGet = .text:0x8004DAB8; // type:function size:0x44 -CharModelMotionShiftSet = .text:0x8004DAFC; // type:function size:0x84 -CharModelMotionShiftTimeGet = .text:0x8004DB80; // type:function size:0x44 -CharModelMotionSpeedSet = .text:0x8004DBC4; // type:function size:0x4C -CharModelLayerSetAll = .text:0x8004DC10; // type:function size:0x80 -CharModelItemHookCreate = .text:0x8004DC90; // type:function size:0x1D4 -UpdateItemHook = .text:0x8004DE64; // type:function size:0x484 scope:local -CharModelEffectCreate = .text:0x8004E2E8; // type:function size:0x3FC -OrbitEffect = .text:0x8004E6E4; // type:function size:0x168 scope:local -CharModelCoinEffectCreate = .text:0x8004E84C; // type:function size:0x1A0 -fn_8004EC74 = .text:0x8004E9EC; // type:function size:0x130 -fn_8004EDA4 = .text:0x8004EB1C; // type:function size:0x2B4 -fn_8004F058 = .text:0x8004EDD0; // type:function size:0xE4 -fn_8004F13C = .text:0x8004EEB4; // type:function size:0x2B4 -CharModelLayerSetAll2 = .text:0x8004F168; // type:function size:0x80 -CharModelVoiceEnableSet = .text:0x8004F1E8; // type:function size:0xBC -fn_8004F52C = .text:0x8004F2A4; // type:function size:0x4C -CharModelEffectEnableSet = .text:0x8004F2F0; // type:function size:0xB0 -CharModelEffectNpcInit = .text:0x8004F3A0; // type:function size:0x2CC -CharModelEffectNpcInitSilent = .text:0x8004F66C; // type:function size:0x2CC -UpdateNpcEffect = .text:0x8004F938; // type:function size:0xF80 scope:local -CharModelStepTypeSet = .text:0x800508B8; // type:function size:0x30 -PlayStepFX = .text:0x800508E8; // type:function size:0xEC scope:local -MapWall = .text:0x800509D4; // type:function size:0x1B8 -MapWallCheck = .text:0x80050B8C; // type:function size:0x110 -MapPos = .text:0x80050C9C; // type:function size:0x2A8 -PolygonRangeCheck = .text:0x80050F44; // type:function size:0x38C scope:local -DefIfnnerMapCircle = .text:0x800512D0; // type:function size:0x470 scope:local -CalcPPLength = .text:0x80051740; // type:function size:0x5D4 scope:local -MapIflnnerCalc = .text:0x80051D14; // type:function size:0xF4 scope:local -MapCalcPoint = .text:0x80051E08; // type:function size:0x388 scope:local -AreaCheck = .text:0x80052190; // type:function size:0x148 scope:local -MapIflnnerTriangle = .text:0x800522D8; // type:function size:0x518 scope:local -MapIflnnerQuadrangle = .text:0x800527F0; // type:function size:0x994 scope:local -GetPolygonCircleMtx = .text:0x80053184; // type:function size:0xC28 scope:local -PrecalcPntToTriangle = .text:0x80053DAC; // type:function size:0x43C scope:local -Hitcheck_Triangle_with_Sphere = .text:0x800541E8; // type:function size:0x100 -Hitcheck_Quadrangle_with_Sphere = .text:0x800542E8; // type:function size:0x19C -DefSetHitFace = .text:0x80054484; // type:function size:0x4C scope:local -AppendAddXZ = .text:0x800544D0; // type:function size:0x184 -CharRotInv = .text:0x80054654; // type:function size:0x124 -THPSimpleInit = .text:0x80054778; // type:function size:0x124 -THPSimpleQuit = .text:0x8005489C; // type:function size:0x54 -THPSimpleOpen = .text:0x800548F0; // type:function size:0x408 -THPSimpleClose = .text:0x80054CF8; // type:function size:0xC0 -THPSimpleCalcNeedMemory = .text:0x80054DB8; // type:function size:0x184 -THPSimpleSetBuffer = .text:0x80054F3C; // type:function size:0x240 -__THPSimpleDVDCallback = .text:0x8005517C; // type:function size:0x2A4 scope:local -THPSimplePreLoad = .text:0x80055420; // type:function size:0x2A4 -THPSimpleAudioStart = .text:0x800556C4; // type:function size:0x14 -THPSimpleAudioStop = .text:0x800556D8; // type:function size:0x14 -THPSimpleLoadStop = .text:0x800556EC; // type:function size:0x1B8 -THPSimpleDecode = .text:0x800558A4; // type:function size:0x47C -VideoDecode = .text:0x80055D20; // type:function size:0xD8 scope:local -THPSimpleDrawCurrentFrame = .text:0x80055DF8; // type:function size:0x104 -MixAudio = .text:0x80055EFC; // type:function size:0x5F8 scope:local -THPSimpleGetVideoInfo = .text:0x800564F4; // type:function size:0x58 -THPSimpleGetTotalFrame = .text:0x8005654C; // type:function size:0x2C -THPAudioMixCallback = .text:0x80056578; // type:function size:0x188 scope:local -THPSimpleSetVolume = .text:0x80056700; // type:function size:0x17C -THPGXRestore = .text:0x8005687C; // type:function size:0x130 -THPGXYuv2RgbSetup = .text:0x800569AC; // type:function size:0x5A0 -THPGXYuv2RgbDraw = .text:0x80056F4C; // type:function size:0x288 -HuTHPSprCreateVol = .text:0x800571D4; // type:function size:0x108 -HuTHPSprCreate = .text:0x800572DC; // type:function size:0x110 -HuTHP3DCreateVol = .text:0x800573EC; // type:function size:0xF8 -HuTHP3DCreate = .text:0x800574E4; // type:function size:0x100 -HuTHPStop = .text:0x800575E4; // type:function size:0xC -HuTHPClose = .text:0x800575F0; // type:function size:0xC -HuTHPRestart = .text:0x800575FC; // type:function size:0xC -HuTHPEndCheck = .text:0x80057608; // type:function size:0x54 -HuTHPFrameGet = .text:0x8005765C; // type:function size:0x8 -HuTHPTotalFrameGet = .text:0x80057664; // type:function size:0x20 -HuTHPSetVolume = .text:0x80057684; // type:function size:0x30 -THPTestProc = .text:0x800576B4; // type:function size:0x27C scope:local -THPViewFunc = .text:0x80057930; // type:function size:0xA4 scope:local -THPViewSprFunc = .text:0x800579D4; // type:function size:0x17C scope:local -THPDecodeFunc = .text:0x80057B50; // type:function size:0x4C scope:local -omMgIndexGet = .text:0x80057B9C; // type:function size:0x5C -omGameSysInit = .text:0x80057BF8; // type:function size:0xF4 -omVibrate = .text:0x80057CEC; // type:function size:0x9C -_CheckFlag = .text:0x80057D88; // type:function size:0xA0 -_SetFlag = .text:0x80057E28; // type:function size:0xA4 -_ClearFlag = .text:0x80057ECC; // type:function size:0xA4 -_InitFlag = .text:0x80057F70; // type:function size:0x30 -SLFileOpen = .text:0x80057FA0; // type:function size:0x140 -SLFileCreate = .text:0x800580E0; // type:function size:0x280 -SLFileWrite = .text:0x80058360; // type:function size:0x10C -SLFileRead = .text:0x8005846C; // type:function size:0x84 -SLFileClose = .text:0x800584F0; // type:function size:0x4C -SLCurSlotNoSet = .text:0x8005853C; // type:function size:0x8 -SLCurBoxNoSet = .text:0x80058544; // type:function size:0xC -SLSaveFlagSet = .text:0x80058550; // type:function size:0x40 -SLSaveFlagGet = .text:0x80058590; // type:function size:0x8 -SLSaveDataMake = .text:0x80058598; // type:function size:0x154 -SLSaveDataInfoSet = .text:0x800586EC; // type:function size:0x218 -SLCommonSet = .text:0x80058904; // type:function size:0x254 -SLSaveBoard = .text:0x80058B58; // type:function size:0x8C -SLSaveBoardStory = .text:0x80058BE4; // type:function size:0x8C -SLSave = .text:0x80058C70; // type:function size:0x370 -SLCreateSaveWin = .text:0x80058FE0; // type:function size:0xDC scope:local -SLKillSaveWin = .text:0x800590BC; // type:function size:0x48 scope:local -SLLoad = .text:0x80059104; // type:function size:0x110 -SLLoadGameStat = .text:0x80059214; // type:function size:0x38 -SLLoadBoard = .text:0x8005924C; // type:function size:0x1A0 -SLLoadBoardStory = .text:0x800593EC; // type:function size:0x184 -SLSerialNoGet = .text:0x80059570; // type:function size:0x28 -SLSerialNoCheck = .text:0x80059598; // type:function size:0xA0 -SLCheckSumCheck = .text:0x80059638; // type:function size:0x60 -SLCheckSumGet = .text:0x80059698; // type:function size:0x54 -SLCheckSumSet = .text:0x800596EC; // type:function size:0x90 -SLStatSet = .text:0x8005977C; // type:function size:0x1D4 -SLCardMount = .text:0x80059950; // type:function size:0x12C -SLFormat = .text:0x80059A7C; // type:function size:0x594 -SLMessOut = .text:0x8005A010; // type:function size:0x3FC -HuSoftResetButtonCheck = .text:0x8005A40C; // type:function size:0x50 -HuDvdErrDispIntFunc = .text:0x8005A45C; // type:function size:0x28 -HuDvdErrDispInit = .text:0x8005A484; // type:function size:0x208 -ToeThreadFunc = .text:0x8005A68C; // type:function size:0xD8 scope:local -ToeDispCheck = .text:0x8005A764; // type:function size:0x128 scope:local -_HuDvdErrDispXFB = .text:0x8005A88C; // type:function size:0x348 scope:local -HuRestartSystem = .text:0x8005ABD4; // type:function size:0xDC -HuSoftResetCheck = .text:0x8005ACB0; // type:function size:0xFC scope:local -HuSoftResetCountCheck = .text:0x8005ADAC; // type:function size:0xCC scope:local -HuSoftResetPostProc = .text:0x8005AE78; // type:function size:0x78 scope:local -BoardObjectSetup = .text:0x8005AEF0; // type:function size:0x2E0 -InitBoardFunc = .text:0x8005B1D0; // type:function size:0x64 scope:local -ExecBoardFunc = .text:0x8005B234; // type:function size:0x9C scope:local -KillBoardFunc = .text:0x8005B2D0; // type:function size:0xCC scope:local -BoardKill = .text:0x8005B39C; // type:function size:0xAC -BoardIsKill = .text:0x8005B448; // type:function size:0x48 -BoardPauseDisableSet = .text:0x8005B490; // type:function size:0x74 -BoardPauseDisableGet = .text:0x8005B504; // type:function size:0x48 -BoardSaveInit = .text:0x8005B54C; // type:function size:0x524 -BoardStoryConfigSet = .text:0x8005BA70; // type:function size:0x160 -BoardPartyConfigSet = .text:0x8005BBD0; // type:function size:0x160 -DestroyMainFunc = .text:0x8005BD30; // type:function size:0xC scope:local -MainFunc = .text:0x8005BD3C; // type:function size:0x7D0 scope:local -BoardTurnNext = .text:0x8005C50C; // type:function size:0x8C -ExecTurnStart = .text:0x8005C598; // type:function size:0x28C scope:local -BoardNextOvlSet = .text:0x8005C824; // type:function size:0xC4 -BoardStartCheck = .text:0x8005C8E8; // type:function size:0x8C -CreateBoard = .text:0x8005C974; // type:function size:0x424 scope:local -DestroyBoard = .text:0x8005CD98; // type:function size:0x128 scope:local -BoardLightHookSet = .text:0x8005CEC0; // type:function size:0xC -BoardLightSetExec = .text:0x8005CECC; // type:function size:0x44 -BoardLightResetExec = .text:0x8005CF10; // type:function size:0x50 -BoardCameraBackup = .text:0x8005CF60; // type:function size:0x3C -BoardCameraRestore = .text:0x8005CF9C; // type:function size:0x48 -BoardCameraScissorSet = .text:0x8005CFE4; // type:function size:0x54 -BoardCameraViewSet = .text:0x8005D038; // type:function size:0x2AC -BoardCameraPosGet = .text:0x8005D2E4; // type:function size:0x48 -BoardCameraTargetGet = .text:0x8005D32C; // type:function size:0x48 -BoardCameraRotGet = .text:0x8005D374; // type:function size:0x48 -BoardCameraZoomGet = .text:0x8005D3BC; // type:function size:0x20 -BoardCameraDirGet = .text:0x8005D3DC; // type:function size:0xA8 -BoardCameraPointDirGet = .text:0x8005D484; // type:function size:0xBC -BoardCameraMaskSet = .text:0x8005D540; // type:function size:0x28 -BoardCameraMoveSet = .text:0x8005D568; // type:function size:0x50 -BoardCameraOffsetSet = .text:0x8005D5B8; // type:function size:0x30 -BoardCameraTargetPlayerSet = .text:0x8005D5E8; // type:function size:0xB4 -BoardCameraTargetModelSet = .text:0x8005D69C; // type:function size:0x40 -BoardCameraTargetSpaceSet = .text:0x8005D6DC; // type:function size:0x44 -BoardCameraPosCalcFuncSet = .text:0x8005D720; // type:function size:0x28 -BoardCameraQuakeSet = .text:0x8005D748; // type:function size:0x3C -BoardCameraQuakeReset = .text:0x8005D784; // type:function size:0x3C -BoardCameraTargetSet = .text:0x8005D7C0; // type:function size:0x28 -BoardCameraPosSet = .text:0x8005D7E8; // type:function size:0x28 -BoardCameraXRotZoomSet = .text:0x8005D810; // type:function size:0x24 -BoardCameraZoomSet = .text:0x8005D834; // type:function size:0x20 -BoardCameraRotSet = .text:0x8005D854; // type:function size:0x24 -BoardCameraNearFarSet = .text:0x8005D878; // type:function size:0x24 -BoardCameraNearFarGet = .text:0x8005D89C; // type:function size:0x3C -BoardCameraMotionStart = .text:0x8005D8D8; // type:function size:0x48 -BoardCameraMotionStartEx = .text:0x8005D920; // type:function size:0x230 -BoardCameraFovSet = .text:0x8005DB50; // type:function size:0x20 -BoardCameraCullCheck = .text:0x8005DB70; // type:function size:0x2BC -BoardCameraMotionIsDone = .text:0x8005DE2C; // type:function size:0x48 -BoardCameraMotionWait = .text:0x8005DE74; // type:function size:0x58 -BoardCameraInit = .text:0x8005DECC; // type:function size:0x24C -UpdateCamera = .text:0x8005E118; // type:function size:0x350 scope:local -CalcCameraTarget = .text:0x8005E468; // type:function size:0xE4 scope:local -CalcCameraPos = .text:0x8005E54C; // type:function size:0x764 scope:local -BoardMGDoneFlagSet = .text:0x8005ECB0; // type:function size:0x48 -BoardMGDoneFlagGet = .text:0x8005ECF8; // type:function size:0x48 -BoardMGExit = .text:0x8005ED40; // type:function size:0x170 -KillBoardMG = .text:0x8005EEB0; // type:function size:0x60 scope:local -ExecBoardMG = .text:0x8005EF10; // type:function size:0xC4 scope:local -BoardMGCreate = .text:0x8005EFD4; // type:function size:0x74 -BoardEventFlagSet = .text:0x8005F048; // type:function size:0x28 -BoardEventFlagReset = .text:0x8005F070; // type:function size:0x28 -BoardEventFlagGet = .text:0x8005F098; // type:function size:0x48 -BoardMTXCalcLookAt = .text:0x8005F0E0; // type:function size:0x10C -BoardArcSin = .text:0x8005F1EC; // type:function size:0x330 -BoardArcCos = .text:0x8005F51C; // type:function size:0x390 -BoardRandInit = .text:0x8005F8AC; // type:function size:0x24 -BoardRand = .text:0x8005F8D0; // type:function size:0x24 -BoardRandMod = .text:0x8005F8F4; // type:function size:0x50 -BoardRandFloat = .text:0x8005F944; // type:function size:0x58 -BoardVecDistXZCalc = .text:0x8005F99C; // type:function size:0x134 -BoardVecMaxDistXZCheck = .text:0x8005FAD0; // type:function size:0x15C -BoardDAngleCalcVec = .text:0x8005FC2C; // type:function size:0x7C -BoardDAngleCalc = .text:0x8005FCA8; // type:function size:0x34 -BoardDAngleCalcRange = .text:0x8005FCDC; // type:function size:0x1C0 -BoardVecMinDistCheck = .text:0x8005FE9C; // type:function size:0x6C -BoardFilterFadeOut = .text:0x8005FF08; // type:function size:0xD4 -BoardFilterFadeInit = .text:0x8005FFDC; // type:function size:0x174 -BoardFilterFadePauseCheck = .text:0x80060150; // type:function size:0x5C -BoardFilterFadeCheck = .text:0x800601AC; // type:function size:0x34 -UpdateFilter = .text:0x800601E0; // type:function size:0x178 scope:local -DrawFilter = .text:0x80060358; // type:function size:0x350 scope:local -BoardConfettiCreate = .text:0x800606A8; // type:function size:0x164 -BoardConfettiKill = .text:0x8006080C; // type:function size:0x24 -BoardConfettiStop = .text:0x80060830; // type:function size:0x88 -UpdateConfetti = .text:0x800608B8; // type:function size:0xB8 scope:local -SpawnConfetti = .text:0x80060970; // type:function size:0x564 scope:local -MoveConfetti = .text:0x80060ED4; // type:function size:0x14C scope:local -DrawConfetti = .text:0x80061020; // type:function size:0x254 scope:local -BoardLast5GfxInit = .text:0x80061274; // type:function size:0x2B4 -UpdateLast5Gfx = .text:0x80061528; // type:function size:0x2AC scope:local -BoardLast5GfxShowSet = .text:0x800617D4; // type:function size:0xAC -BoardTauntInit = .text:0x80061880; // type:function size:0x80 -BoardTauntKill = .text:0x80061900; // type:function size:0x54 -TauntUpdate = .text:0x80061954; // type:function size:0x3A4 scope:local -BoardDataDirReadAsync = .text:0x80061CF8; // type:function size:0x38 -BoardDataAsyncWait = .text:0x80061D30; // type:function size:0x48 -BoardItemPrevGet = .text:0x80061D78; // type:function size:0xC -BoardItemPrevSet = .text:0x80061D84; // type:function size:0xC -BoardPlayerGetCharMess = .text:0x80061D90; // type:function size:0x78 -BoardPlayerGetCharName = .text:0x80061E08; // type:function size:0x78 -BoardPlayerIsAllCom = .text:0x80061E80; // type:function size:0x80 -BoardPlayerInit = .text:0x80061F00; // type:function size:0x16C -BoardPlayerModelInit = .text:0x8006206C; // type:function size:0x588 -BoardPlayerModelKill = .text:0x800625F4; // type:function size:0xFC -BoardPlayerLayerSet = .text:0x800626F0; // type:function size:0x84 -BoardPlayerCameraSet = .text:0x80062774; // type:function size:0x80 -fn_80062A40 = .text:0x800627F4; // type:function size:0x80 -BoardPlayerExistCheck = .text:0x80062874; // type:function size:0xB4 -BoardPlayerItemAdd = .text:0x80062928; // type:function size:0xB0 -BoardPlayerItemRemove = .text:0x800629D8; // type:function size:0xB4 -BoardPlayerItemFind = .text:0x80062A8C; // type:function size:0x58 -BoardPlayerItemCount = .text:0x80062AE4; // type:function size:0x60 -BoardPlayerCornerPosSet = .text:0x80062B44; // type:function size:0x40 -BoardPlayerCornerPosGet = .text:0x80062B84; // type:function size:0xC4 -BoardPlayerAmbSet = .text:0x80062C48; // type:function size:0x90 -BoardPlayerMtxSet = .text:0x80062CD8; // type:function size:0x80 -BoardPlayerPosSetV = .text:0x80062D58; // type:function size:0x9C -BoardPlayerPosSet = .text:0x80062DF4; // type:function size:0xCC -BoardPlayerPosGet = .text:0x80062EC0; // type:function size:0x80 -BoardPlayerRotSetV = .text:0x80062F40; // type:function size:0x9C -BoardPlayerRotSet = .text:0x80062FDC; // type:function size:0xCC -BoardPlayerRotGet = .text:0x800630A8; // type:function size:0x80 -BoardPlayerRotYSet = .text:0x80063128; // type:function size:0xD4 -BoardPlayerRotYGet = .text:0x800631FC; // type:function size:0xA8 -BoardPlayerScaleSetV = .text:0x800632A4; // type:function size:0x80 -BoardPlayerScaleSet = .text:0x80063324; // type:function size:0x90 -BoardPlayerScaleGet = .text:0x800633B4; // type:function size:0x80 -BoardPlayerCurrMotionGet = .text:0x80063434; // type:function size:0x44 -BoardPlayerVoiceEnableSet = .text:0x80063478; // type:function size:0x88 -BoardPlayerMotionCreate = .text:0x80063500; // type:function size:0x80 -BoardPlayerMotionKill = .text:0x80063580; // type:function size:0x80 -BoardPlayerMotionEndCheck = .text:0x80063600; // type:function size:0x78 -BoardPlayerMotionEndWait = .text:0x80063678; // type:function size:0x88 -BoardPlayerMotionStart = .text:0x80063700; // type:function size:0xD0 -BoardPlayerMotionShiftSet = .text:0x800637D0; // type:function size:0xE0 -BoardPlayerMotionSpeedSet = .text:0x800638B0; // type:function size:0x80 -BoardPlayerMotionTimeSet = .text:0x80063930; // type:function size:0x80 -BoardPlayerMotionTimeGet = .text:0x800639B0; // type:function size:0x78 -BoardPlayerMotionMaxTimeGet = .text:0x80063A28; // type:function size:0x78 -BoardPlayerMotionStartEndSet = .text:0x80063AA0; // type:function size:0xA0 -BoardPlayerModelAttrSet = .text:0x80063B40; // type:function size:0x80 -BoardPlayerModelAttrReset = .text:0x80063BC0; // type:function size:0x80 -BoardPlayerCoinsSet = .text:0x80063C40; // type:function size:0x34 -BoardPlayerCoinsGet = .text:0x80063C74; // type:function size:0x2C -BoardPlayerCoinsAdd = .text:0x80063CA0; // type:function size:0x9C -BoardPlayerStarsAdd = .text:0x80063D3C; // type:function size:0x48 -BoardPlayerSizeSet = .text:0x80063D84; // type:function size:0x16C -BoardPlayerSizeGet = .text:0x80063EF0; // type:function size:0x40 -BoardPlayerSameTeamFind = .text:0x80063F30; // type:function size:0x7C -BoardPlayerTeamFind = .text:0x80063FAC; // type:function size:0x7C -BoardPlayerRankCalc = .text:0x80064028; // type:function size:0xC4 -BoardPlayerPreTurnHookSet = .text:0x800640EC; // type:function size:0x18 -BoardPlayerPostTurnHookSet = .text:0x80064104; // type:function size:0x18 -BoardPlayerTurnExec = .text:0x8006411C; // type:function size:0x15C -BoardPlayerTurnRollExec = .text:0x80064278; // type:function size:0x160 -BoardPlayerTurnMoveExec = .text:0x800643D8; // type:function size:0x420 -BoardPlayerPostTurnHookExec = .text:0x800647F8; // type:function size:0x80 -BoardPlayerSizeRestore = .text:0x80064878; // type:function size:0x18C -BoardPlayerZoomRestore = .text:0x80064A04; // type:function size:0x134 -BoardJunctionMaskSet = .text:0x80064B38; // type:function size:0x10 -BoardJunctionMaskReset = .text:0x80064B48; // type:function size:0x10 -BoardJunctionMaskZero = .text:0x80064B58; // type:function size:0xC -InitJunction = .text:0x80064B64; // type:function size:0x634 scope:local -UpdateJunctionGfx = .text:0x80065198; // type:function size:0x1A0 scope:local -StopJunctionPlayer = .text:0x80065338; // type:function size:0x70 scope:local -RestoreJunction = .text:0x800653A8; // type:function size:0x180 scope:local -GetDefaultDirection = .text:0x80065528; // type:function size:0x114 scope:local -DoDebugMove = .text:0x8006563C; // type:function size:0x8E8 scope:local -ExecJunction = .text:0x80065F24; // type:function size:0xBF8 scope:local -BoardPlayerMoveTo = .text:0x80066B1C; // type:function size:0xBC -BoardPlayerMoveBetween = .text:0x80066BD8; // type:function size:0x90 -BoardPlayerMoveToAsync = .text:0x80066C68; // type:function size:0x90 -BoardPlayerPosLerpStart = .text:0x80066CF8; // type:function size:0x430 -PlayerPosLerpFunc = .text:0x80067128; // type:function size:0x218 scope:local -BoardPlayerDiceJumpStart = .text:0x80067340; // type:function size:0x1D4 -BoardPlayerDiceJumpCheck = .text:0x80067514; // type:function size:0x54 -DiceJumpFunc = .text:0x80067568; // type:function size:0x3E4 scope:local -BoardPlayerIdleSet = .text:0x8006794C; // type:function size:0xF8 -BoardPlayerMotBlendSet = .text:0x80067A44; // type:function size:0x5A0 -ExecMotBlend = .text:0x80067FE4; // type:function size:0x51C scope:local -BoardPlayerMotBlendCheck = .text:0x80068500; // type:function size:0x2C -BoardRollCreate = .text:0x8006852C; // type:function size:0x138 -BoardRollUpdateSet = .text:0x80068664; // type:function size:0x38 -BoardRollDispSet = .text:0x8006869C; // type:function size:0x10C -UpdateRollSprite = .text:0x800687A8; // type:function size:0x194 scope:local -UpdateRoll = .text:0x8006893C; // type:function size:0x278 scope:local -BoardPlayerBtnDownWait = .text:0x80068BB4; // type:function size:0x6C -BoardPlayerAutoSizeSet = .text:0x80068C20; // type:function size:0x9C -BoardPlayerAutoSizeGet = .text:0x80068CBC; // type:function size:0x40 -BoardPlayerMoveAwayIsDone = .text:0x80068CFC; // type:function size:0x1C -BoardPlayerMoveAwayStart = .text:0x80068D18; // type:function size:0x224 -BoardPlayerMoveAwayStartCurr = .text:0x80068F3C; // type:function size:0x40 -MoveAwayObjFunc = .text:0x80068F7C; // type:function size:0x100 scope:local -BoardBowserSuitInit = .text:0x8006907C; // type:function size:0x1A4 -BoardBowserSuitKill = .text:0x80069220; // type:function size:0x128 -BoardBowserSuitModelGet = .text:0x80069348; // type:function size:0x8 -BoardBowserSuitPlayerModelGet = .text:0x80069350; // type:function size:0x8 -BoardBowserSuitMotionCreate = .text:0x80069358; // type:function size:0x74 -BoardBowserSuitMotionSetWait = .text:0x800693CC; // type:function size:0x54 -BoardBowserSuitMotionSetWalk = .text:0x80069420; // type:function size:0x4C -BoardBowserSuitMotionSetWin = .text:0x8006946C; // type:function size:0x44 -BoardBowserSuitMotionSetJump = .text:0x800694B0; // type:function size:0x44 -BoardBowserSuitPlayerModelKill = .text:0x800694F4; // type:function size:0x44 -UpdateBowserSuit = .text:0x80069538; // type:function size:0x1F0 scope:local -BoardPlayerSparkSet = .text:0x80069728; // type:function size:0x5C -DoSparkSpace = .text:0x80069784; // type:function size:0x1294 scope:local -RemoveSparkSpace = .text:0x8006AA18; // type:function size:0xA0 scope:local -SetPlayerSizeAuto = .text:0x8006AAB8; // type:function size:0x24C scope:local -BoardMegaDoubleDiceCheck = .text:0x8006AD04; // type:function size:0x8 -BoardPlayerResizeAnimExec = .text:0x8006AD0C; // type:function size:0x38C -MegaSquishFunc = .text:0x8006B098; // type:function size:0x950 scope:local -MegaPlayerPassFunc = .text:0x8006B9E8; // type:function size:0x980 scope:local -MegaExecJump = .text:0x8006C368; // type:function size:0xA48 scope:local -BoardPlayerCopyEyeMat = .text:0x8006CDB0; // type:function size:0x24C -BoardPlayerCopyMat = .text:0x8006CFFC; // type:function size:0xC0 -BoardModelInit = .text:0x8006D0BC; // type:function size:0xF0 -BoardModelKillAll = .text:0x8006D1AC; // type:function size:0xA0 -ModelMgrFunc = .text:0x8006D24C; // type:function size:0x70 scope:local -BoardModelDummyUpdate = .text:0x8006D2BC; // type:function size:0x4 -BoardModelVisibilityUpdate = .text:0x8006D2C0; // type:function size:0xCC -BoardModelHideSetAll = .text:0x8006D38C; // type:function size:0x90 -BoardModelAmbSetAll = .text:0x8006D41C; // type:function size:0x70 -BoardModelCameraSetAll = .text:0x8006D48C; // type:function size:0x7C -CreateInstance = .text:0x8006D508; // type:function size:0x250 scope:local -BoardModelCreate = .text:0x8006D758; // type:function size:0x40 -BoardModelCreateCharacter = .text:0x8006D798; // type:function size:0x44 -BoardModelCreateParam = .text:0x8006D7DC; // type:function size:0x168 -BoardModelKill = .text:0x8006D944; // type:function size:0x44 -BoardModelIDGet = .text:0x8006D988; // type:function size:0x48 -fn_8006DC1C = .text:0x8006D9D0; // type:function size:0x60 -BoardModelPassSet = .text:0x8006DA30; // type:function size:0x74 -BoardModelAmbSet = .text:0x8006DAA4; // type:function size:0x68 -BoardModelExistCheck = .text:0x8006DB0C; // type:function size:0x48 -BoardModelExistDupe = .text:0x8006DB54; // type:function size:0x48 -fn_8006DDE8 = .text:0x8006DB9C; // type:function size:0x70 -BoardModelMotionCreate = .text:0x8006DC0C; // type:function size:0x140 -BoardModelMotionKill = .text:0x8006DD4C; // type:function size:0x118 -BoardModelMotionStartEndSet = .text:0x8006DE64; // type:function size:0xE8 -BoardModelMotionUpdateSet = .text:0x8006DF4C; // type:function size:0x7C -BoardModelVoiceEnableSet = .text:0x8006DFC8; // type:function size:0xA4 -BoardModelMotionStart = .text:0x8006E06C; // type:function size:0x174 -BoardModelMotionShiftIDGet = .text:0x8006E1E0; // type:function size:0x50 -BoardModelMotionShiftSet = .text:0x8006E230; // type:function size:0x148 -BoardModelAttrSet = .text:0x8006E378; // type:function size:0x58 -BoardModelAttrReset = .text:0x8006E3D0; // type:function size:0x58 -BoardModelMotionTimeSet = .text:0x8006E428; // type:function size:0x84 -BoardModelMotionTimeGet = .text:0x8006E4AC; // type:function size:0x94 -BoardModelMotionMaxTimeGet = .text:0x8006E540; // type:function size:0x88 -BoardModelMotionSpeedGet = .text:0x8006E5C8; // type:function size:0x64 -BoardModelMotionSpeedSet = .text:0x8006E62C; // type:function size:0xA4 -BoardModelMotionEndCheck = .text:0x8006E6D0; // type:function size:0x80 -BoardModelMotionShapeSet = .text:0x8006E750; // type:function size:0x100 -BoardModelMotionShapeTimeGet = .text:0x8006E850; // type:function size:0x7C -BoardModelMotionShapeMaxTimeGet = .text:0x8006E8CC; // type:function size:0xBC -BoardModelMotionShapeSpeedSet = .text:0x8006E988; // type:function size:0x88 -BoardModelMotionShapeSpeedGet = .text:0x8006EA10; // type:function size:0x64 -BoardModelMotionShapeEndCheck = .text:0x8006EA74; // type:function size:0x14C -BoardModelMotionShapeStartEndSet = .text:0x8006EBC0; // type:function size:0x100 -BoardModelAlphaSet = .text:0x8006ECC0; // type:function size:0xB0 -BoardModelMtxSet = .text:0x8006ED70; // type:function size:0x8C -BoardModelMtxGet = .text:0x8006EDFC; // type:function size:0x8C -BoardModelRotYSet = .text:0x8006EE88; // type:function size:0x54 -BoardModelRotYGet = .text:0x8006EEDC; // type:function size:0x30 -BoardModelPosSetV = .text:0x8006EF0C; // type:function size:0x50 -BoardModelPosSet = .text:0x8006EF5C; // type:function size:0x78 -BoardModelRotSetV = .text:0x8006EFD4; // type:function size:0x50 -BoardModelRotSet = .text:0x8006F024; // type:function size:0x78 -BoardModelScaleSetV = .text:0x8006F09C; // type:function size:0x50 -BoardModelScaleSet = .text:0x8006F0EC; // type:function size:0x78 -BoardModelPosGet = .text:0x8006F164; // type:function size:0x74 -BoardModelRotGet = .text:0x8006F1D8; // type:function size:0x74 -BoardModelScaleGet = .text:0x8006F24C; // type:function size:0x74 -BoardModelVisibilitySet = .text:0x8006F2C0; // type:function size:0x60 -BoardModelVisibilityGet = .text:0x8006F320; // type:function size:0x4C -BoardModelCameraSet = .text:0x8006F36C; // type:function size:0x64 -BoardModelLayerSet = .text:0x8006F3D0; // type:function size:0x64 -BoardModelLayerGet = .text:0x8006F434; // type:function size:0x48 -BoardModelLayerSetAll = .text:0x8006F47C; // type:function size:0x74 -BoardModelHookSet = .text:0x8006F4F0; // type:function size:0xC4 -BoardModelHookReset = .text:0x8006F5B4; // type:function size:0x50 -BoardModelHookObjReset = .text:0x8006F604; // type:function size:0x58 -SearchBoardModel = .text:0x8006F65C; // type:function size:0x9C scope:local -KillBoardModel = .text:0x8006F6F8; // type:function size:0x178 scope:local -CreateBoardModel = .text:0x8006F870; // type:function size:0x194 scope:local -CreateBoardModelMotion = .text:0x8006FA04; // type:function size:0x12C scope:local -BoardWinInit = .text:0x8006FB30; // type:function size:0x24 -BoardWinUnusedArraySet = .text:0x8006FB54; // type:function size:0x34 -BoardWinKillAll = .text:0x8006FB88; // type:function size:0x24 -BoardWinDestroy = .text:0x8006FBAC; // type:function size:0x6C -ExecBoardWindow = .text:0x8006FC18; // type:function size:0x534 scope:local -BoardWinChoiceGet = .text:0x8007014C; // type:function size:0xC -BoardWinPause = .text:0x80070158; // type:function size:0xC -BoardWinCreateChoice = .text:0x80070164; // type:function size:0x1A0 -BoardWinCreate = .text:0x80070304; // type:function size:0x1A0 -BoardWinInsertMesSet = .text:0x800704A4; // type:function size:0x18 -BoardWinWait = .text:0x800704BC; // type:function size:0x50 -BoardWinKill = .text:0x8007050C; // type:function size:0x38 -BoardWinAttrSet = .text:0x80070544; // type:function size:0x48 -BoardWinAttrReset = .text:0x8007058C; // type:function size:0x48 -BoardWinChoiceDisable = .text:0x800705D4; // type:function size:0x1C -BoardWinKeyWait = .text:0x800705F0; // type:function size:0xC -BoardWinSpeedGet = .text:0x800705FC; // type:function size:0x64 -BoardWinSpeedSet = .text:0x80070660; // type:function size:0x50 -BoardWinChoiceNowGet = .text:0x800706B0; // type:function size:0x38 -BoardWinPriSet = .text:0x800706E8; // type:function size:0x44 -BoardWinChoiceNowGet2 = .text:0x8007072C; // type:function size:0x38 -BoardWinPortraitGet = .text:0x80070764; // type:function size:0x38 -BoardWinPortraitGetStar = .text:0x8007079C; // type:function size:0x38 -BoardWinPlayerSet = .text:0x800707D4; // type:function size:0x138 -BoardWinStartComKeySet = .text:0x8007090C; // type:function size:0x214 -BoardWinComKeyFuncSet = .text:0x80070B20; // type:function size:0x8 -BoardWinIDGet = .text:0x80070B28; // type:function size:0x8 -BoardMusStartBoard = .text:0x80070B30; // type:function size:0x68 -BoardMusStart = .text:0x80070B98; // type:function size:0xD0 -BoardAudSeqFadeOutFast = .text:0x80070C68; // type:function size:0x2C -BoardAudSeqFadeOut = .text:0x80070C94; // type:function size:0x60 -BoardMusLoudSet = .text:0x80070CF4; // type:function size:0x5C -BoardMusVolPanSet = .text:0x80070D50; // type:function size:0x90 -BoardAudSeqPause = .text:0x80070DE0; // type:function size:0x94 -BoardMusStatusGet = .text:0x80070E74; // type:function size:0x54 -BoardAudSeqClear = .text:0x80070EC8; // type:function size:0x50 -BoardAudSeqFadeOutAll = .text:0x80070F18; // type:function size:0x74 -BoardAudFXPlay = .text:0x80070F8C; // type:function size:0x78 -BoardAudFXStop = .text:0x80071004; // type:function size:0x38 -ExecComKeyLeft = .text:0x8007103C; // type:function size:0x38 scope:local -BoardComKeySetLeft = .text:0x80071074; // type:function size:0x28 -ExecComKeyRight = .text:0x8007109C; // type:function size:0x38 scope:local -BoardComKeySetRight = .text:0x800710D4; // type:function size:0x28 -ExecComKeyUp = .text:0x800710FC; // type:function size:0x38 scope:local -BoardComKeySetUp = .text:0x80071134; // type:function size:0x28 -ExecComKeyDown = .text:0x8007115C; // type:function size:0x38 scope:local -BoardComKeySetDown = .text:0x80071194; // type:function size:0x28 -ExecComKey = .text:0x800711BC; // type:function size:0xE8 scope:local -BoardComPreferItemGet = .text:0x800712A4; // type:function size:0x100 -BoardComPreferItemCheck = .text:0x800713A4; // type:function size:0x120 -BoardComItemWeightGet = .text:0x800714C4; // type:function size:0x74 -BoardComUseItemSlotGet = .text:0x80071538; // type:function size:0xD0 -BoardComUseItemSet = .text:0x80071608; // type:function size:0x6C -BoardComUseItemCheck = .text:0x80071674; // type:function size:0x68 -ChooseUseItem = .text:0x800716DC; // type:function size:0x16C scope:local -CheckMiniUse = .text:0x80071848; // type:function size:0x220 scope:local -CheckMegaUse = .text:0x80071A68; // type:function size:0x248 scope:local -CheckSparkUse = .text:0x80071CB0; // type:function size:0x158 scope:local -CheckBoardChangeUse = .text:0x80071E08; // type:function size:0x314 scope:local -CheckSwapUse = .text:0x8007211C; // type:function size:0x198 scope:local -CheckBooUse = .text:0x800722B4; // type:function size:0x7C scope:local -CheckLampUse = .text:0x80072330; // type:function size:0x74 scope:local -BoardComJunctionInputGet = .text:0x800723A4; // type:function size:0x304 -BoardComFarPlayerFind = .text:0x800726A8; // type:function size:0xA8 -BoardViewOverheadExec = .text:0x80072750; // type:function size:0x134 -BoardViewFocusGetPos = .text:0x80072884; // type:function size:0x3C -BoardViewFocusSet = .text:0x800728C0; // type:function size:0xF0 -BoardViewMoveStart = .text:0x800729B0; // type:function size:0x128 -BoardViewMoveCheck = .text:0x80072AD8; // type:function size:0x34 -BoardViewMoveEnd = .text:0x80072B0C; // type:function size:0xC -BoardViewWait = .text:0x80072B18; // type:function size:0x3C -BoardViewMapExec = .text:0x80072B54; // type:function size:0xC8 -ExecMapView = .text:0x80072C1C; // type:function size:0x398 scope:local -ExecStarView = .text:0x80072FB4; // type:function size:0x170 scope:local -ExecOverheadView = .text:0x80073124; // type:function size:0x158 scope:local -DestroyView = .text:0x8007327C; // type:function size:0x80 scope:local -SetTargetView = .text:0x800732FC; // type:function size:0x178 scope:local -DestroyFocus = .text:0x80073474; // type:function size:0x4C scope:local -CreateButtonWin = .text:0x800734C0; // type:function size:0x110 scope:local -DestroyButtonWin = .text:0x800735D0; // type:function size:0x38 scope:local -InitOverheadView = .text:0x80073608; // type:function size:0x374 scope:local -DestroyOverheadView = .text:0x8007397C; // type:function size:0x24 scope:local -UpdateOverheadView = .text:0x800739A0; // type:function size:0x400 scope:local -WaitOverheadView = .text:0x80073DA0; // type:function size:0x30 scope:local -BoardSpaceWalkEventFuncSet = .text:0x80073DD0; // type:function size:0x8 -BoardSpaceWalkMiniEventFuncSet = .text:0x80073DD8; // type:function size:0x8 -BoardSpaceLandEventFuncSet = .text:0x80073DE0; // type:function size:0x8 -BoardSpaceWalkEventExec = .text:0x80073DE8; // type:function size:0x48 -BoardSpaceWalkMiniEventExec = .text:0x80073E30; // type:function size:0x60 -BoardSpaceCountGet = .text:0x80073E90; // type:function size:0x10 -BoardSpaceGet = .text:0x80073EA0; // type:function size:0x44 -BoardSpaceAttrSet = .text:0x80073EE4; // type:function size:0x18 -BoardSpaceAttrReset = .text:0x80073EFC; // type:function size:0x18 -BoardSpaceFlagGet = .text:0x80073F14; // type:function size:0x48 -BoardSpaceTypeGet = .text:0x80073F5C; // type:function size:0x48 -BoardSpaceTypeSet = .text:0x80073FA4; // type:function size:0x48 -BoardSpacePosGet = .text:0x80073FEC; // type:function size:0x8C -BoardSpaceCornerPosGet = .text:0x80074078; // type:function size:0x2C8 -BoardSpaceRotGet = .text:0x80074340; // type:function size:0x8C -BoardSpaceFlagSearch = .text:0x800743CC; // type:function size:0xA0 -BoardSpaceFlagPosGet = .text:0x8007446C; // type:function size:0x134 -BoardSpaceLinkFlagSearch = .text:0x800745A0; // type:function size:0x134 -BoardSpaceLinkTypeListGet = .text:0x800746D4; // type:function size:0x148 -BoardSpaceLinkTargetListGet = .text:0x8007481C; // type:function size:0x104 -BoardSpaceLinkTypeSearch = .text:0x80074920; // type:function size:0x110 -BoardSpaceLinkTransformGet = .text:0x80074A30; // type:function size:0x1FC -BoardSpaceHostSet = .text:0x80074C2C; // type:function size:0x1BC -BoardSpaceStarSetIndex = .text:0x80074DE8; // type:function size:0x4AC -BoardSpaceStarGetNext = .text:0x80075294; // type:function size:0x344 -BoardSpaceStarGetRandom = .text:0x800755D8; // type:function size:0x9C -BoardSpaceStarMove = .text:0x80075674; // type:function size:0xF0 -BoardSpaceStarGet = .text:0x80075764; // type:function size:0x1C -BoardSpaceStarGetCurr = .text:0x80075780; // type:function size:0x3C -BoardSpaceStarCheck = .text:0x800757BC; // type:function size:0x110 -BoardSpaceLandExec = .text:0x800758CC; // type:function size:0x474 -BoardSpaceWalkExec = .text:0x80075D40; // type:function size:0x2A4 -BoardSpaceBlockExec = .text:0x80075FE4; // type:function size:0x180 -ExecPipeSpace = .text:0x80076164; // type:function size:0x268 scope:local -BoardSpaceTypeForce = .text:0x800763CC; // type:function size:0x5C -BoardSpaceHide = .text:0x80076428; // type:function size:0x48 -DrawSpaces = .text:0x80076470; // type:function size:0x9E8 scope:local -BoardSpaceRead = .text:0x80076E58; // type:function size:0x174 -BoardSpaceCameraSet = .text:0x80076FCC; // type:function size:0x2C -BoardSpaceBlockPosSet = .text:0x80076FF8; // type:function size:0xD0 -BoardSpaceInit = .text:0x800770C8; // type:function size:0x750 -BoardSpaceDestroy = .text:0x80077818; // type:function size:0x70 -BoardShopHostSet = .text:0x80077888; // type:function size:0x8 -BoardShopHostGet = .text:0x80077890; // type:function size:0x8 -BoardShopInit = .text:0x80077898; // type:function size:0xD4 -BoardShopKill = .text:0x8007796C; // type:function size:0xA0 -BoardShopExec = .text:0x80077A0C; // type:function size:0x9C -ExecShop = .text:0x80077AA8; // type:function size:0x800 scope:local -DestroyShop = .text:0x800782A8; // type:function size:0xD4 scope:local -PopupShop = .text:0x8007837C; // type:function size:0x1B4 scope:local -CloseShop = .text:0x80078530; // type:function size:0xBC scope:local -CreateShopWin = .text:0x800785EC; // type:function size:0x13C scope:local -UpdateShopWin = .text:0x80078728; // type:function size:0x314 scope:local -SetShopWinItem = .text:0x80078A3C; // type:function size:0x168 scope:local -PauseShopWin = .text:0x80078BA4; // type:function size:0x2C scope:local -StartItemGive = .text:0x80078BD0; // type:function size:0x18C scope:local -ExecItemGive = .text:0x80078D5C; // type:function size:0x168 scope:local -MoveItemGive = .text:0x80078EC4; // type:function size:0x34C scope:local -ShrinkItemGive = .text:0x80079210; // type:function size:0x144 scope:local -WaitItemGive = .text:0x80079354; // type:function size:0x6C scope:local -GetShopItems = .text:0x800793C0; // type:function size:0x280 scope:local -GetDefaultShopItems = .text:0x80079640; // type:function size:0xA0 scope:local -SortShopItems = .text:0x800796E0; // type:function size:0x14C scope:local -DecideComEnter = .text:0x8007982C; // type:function size:0x1C8 scope:local -DecideComBuy = .text:0x800799F4; // type:function size:0x60 scope:local -GetComItemChoice = .text:0x80079A54; // type:function size:0x158 scope:local -WaitItemChoice = .text:0x80079BAC; // type:function size:0x30 scope:local -CreateShopItemChoice = .text:0x80079BDC; // type:function size:0x238 scope:local -GetShopItemChoice = .text:0x80079E14; // type:function size:0xC scope:local -GetShopItemWinChoice = .text:0x80079E20; // type:function size:0x38 scope:local -MoveShopItemChoice = .text:0x80079E58; // type:function size:0x24C scope:local -UpdateShopItemChoice = .text:0x8007A0A4; // type:function size:0x104 scope:local -GetShopItemChoiceInput = .text:0x8007A1A8; // type:function size:0x30 scope:local -BoardShopTutorialExec = .text:0x8007A1D8; // type:function size:0x4DC -BoardLotteryHostSet = .text:0x8007A6B4; // type:function size:0x8 -BoardLotteryHostGet = .text:0x8007A6BC; // type:function size:0x8 -BoardLotteryExec = .text:0x8007A6C4; // type:function size:0x8C -BoardLotteryInit = .text:0x8007A750; // type:function size:0x16C -CreateModel = .text:0x8007A8BC; // type:function size:0x3B4 scope:local -KillModel = .text:0x8007AC70; // type:function size:0x1FC scope:local -BoardLotteryKill = .text:0x8007AE6C; // type:function size:0x64 -DestroyLottery = .text:0x8007AED0; // type:function size:0xB0 scope:local -ExecLottery = .text:0x8007AF80; // type:function size:0x798 scope:local -DoMiniJumpUp = .text:0x8007B718; // type:function size:0x20C scope:local -DoMiniJumpDown = .text:0x8007B924; // type:function size:0x1BC scope:local -PayEnterFee = .text:0x8007BAE0; // type:function size:0xF0 scope:local -ShowTicket = .text:0x8007BBD0; // type:function size:0x3C8 scope:local -SetupTicket = .text:0x8007BF98; // type:function size:0x140 scope:local -ExecBallGame = .text:0x8007C0D8; // type:function size:0x914 scope:local -SetBallPrize = .text:0x8007C9EC; // type:function size:0xC8 scope:local -ExecBallPrize = .text:0x8007CAB4; // type:function size:0x27C scope:local -ExecScratchTicket = .text:0x8007CD30; // type:function size:0x30C scope:local -ExecScratch = .text:0x8007D03C; // type:function size:0x3AC scope:local -KillScratch = .text:0x8007D3E8; // type:function size:0x6C scope:local -ExecScratchSpr = .text:0x8007D454; // type:function size:0x21C scope:local -HideScratchSpr = .text:0x8007D670; // type:function size:0x68 scope:local -InitScratchSpr = .text:0x8007D6D8; // type:function size:0x288 scope:local -ExecScratchPick = .text:0x8007D960; // type:function size:0x3DC scope:local -InitScratchPick = .text:0x8007DD3C; // type:function size:0x14C scope:local -InitTicketPrizes = .text:0x8007DE88; // type:function size:0xD0 scope:local -ExecTicketFocus = .text:0x8007DF58; // type:function size:0x160 scope:local -ScratchTicketCheckDone = .text:0x8007E0B8; // type:function size:0xA8 scope:local -TicketGetPixel = .text:0x8007E160; // type:function size:0x84 scope:local -TicketUpdate = .text:0x8007E1E4; // type:function size:0x6B0 scope:local -ExecCoinPrize = .text:0x8007E894; // type:function size:0x440 scope:local -ExecItemPrize = .text:0x8007ECD4; // type:function size:0x338 scope:local -KillCoin = .text:0x8007F00C; // type:function size:0x68 scope:local -ExecPrize = .text:0x8007F074; // type:function size:0x4C0 scope:local -ExecLose = .text:0x8007F534; // type:function size:0xA4 scope:local -CreateLotteryWin = .text:0x8007F5D8; // type:function size:0xFC scope:local -KillLotteryWin = .text:0x8007F6D4; // type:function size:0x38 scope:local -BoardLotteryTutorialExec = .text:0x8007F70C; // type:function size:0x2BC -BoardLandBlueExec = .text:0x8007F9C8; // type:function size:0x184 -BoardLandRedExec = .text:0x8007FB4C; // type:function size:0x19C -BoardCoinChgCreate = .text:0x8007FCE8; // type:function size:0x1E8 -BoardCoinChgExist = .text:0x8007FED0; // type:function size:0x6C -BoardCoinChgHide = .text:0x8007FF3C; // type:function size:0x60 -CreateCoinChg = .text:0x8007FF9C; // type:function size:0x23C scope:local -UpdateCoinChg = .text:0x800801D8; // type:function size:0x198 scope:local -CoinChgAppear = .text:0x80080370; // type:function size:0x1B8 scope:local -CoinChgSeparate = .text:0x80080528; // type:function size:0x29C scope:local -CoinChgShow = .text:0x800807C4; // type:function size:0x1A8 scope:local -CoinChgDisappear = .text:0x8008096C; // type:function size:0x260 scope:local -BoardWarpExec = .text:0x80080BCC; // type:function size:0xA4 -WarpProcess = .text:0x80080C70; // type:function size:0x250 scope:local -WarpKill = .text:0x80080EC0; // type:function size:0x5C scope:local -WarpInit = .text:0x80080F1C; // type:function size:0x118 scope:local -WarpLaunch = .text:0x80081034; // type:function size:0xBC scope:local -WarpStartImpact = .text:0x800810F0; // type:function size:0x1B0 scope:local -WarpFall = .text:0x800812A0; // type:function size:0xA4 scope:local -WarpImpact = .text:0x80081344; // type:function size:0x200 scope:local -BoardCharWheelInit = .text:0x80081544; // type:function size:0x11C -BoardCharWheelCheck = .text:0x80081660; // type:function size:0x34 -BoardCharWheelWait = .text:0x80081694; // type:function size:0x50 -BoardCharWheelResultGet = .text:0x800816E4; // type:function size:0x18 -BoardCharWheelSpeedSet = .text:0x800816FC; // type:function size:0x1C -ExecCharWheel = .text:0x80081718; // type:function size:0x118 scope:local -InitCharWheel = .text:0x80081830; // type:function size:0x754 scope:local -UpdateCharWheel = .text:0x80081F84; // type:function size:0x320 scope:local -StopCharWheel = .text:0x800822A4; // type:function size:0x164 scope:local -GrowCharWheel = .text:0x80082408; // type:function size:0x12C scope:local -ShrinkCharWheel = .text:0x80082534; // type:function size:0x10C scope:local -KillCharWheelSpr = .text:0x80082640; // type:function size:0x38 scope:local -SetCharWheelChars = .text:0x80082678; // type:function size:0xBC scope:local -GetInput = .text:0x80082734; // type:function size:0x224 scope:local -BoardCharWheelTargetSet = .text:0x80082958; // type:function size:0x10 -GetComDelay = .text:0x80082968; // type:function size:0x148 scope:local -GetComInput = .text:0x80082AB0; // type:function size:0x8C scope:local -BoardMushroomExec = .text:0x80082B3C; // type:function size:0xA4 -MushroomMain = .text:0x80082BE0; // type:function size:0x38C scope:local -KillMushroom = .text:0x80082F6C; // type:function size:0x58 scope:local -BoxMain = .text:0x80082FC4; // type:function size:0x118 scope:local -ShowBox = .text:0x800830DC; // type:function size:0x114 scope:local -ExitBox = .text:0x800831F0; // type:function size:0x160 scope:local -HideBox = .text:0x80083350; // type:function size:0x68 scope:local -CenterBox = .text:0x800833B8; // type:function size:0xD4 scope:local -InitBox = .text:0x8008348C; // type:function size:0x2EC scope:local -MarkKillBox = .text:0x80083778; // type:function size:0x64 scope:local -SetBoxHide = .text:0x800837DC; // type:function size:0x34 scope:local -SetBoxCenter = .text:0x80083810; // type:function size:0x54 scope:local -SetBoxShow = .text:0x80083864; // type:function size:0x34 scope:local -WaitBoxOpen = .text:0x80083898; // type:function size:0x5C scope:local -WaitBoxCenter = .text:0x800838F4; // type:function size:0x58 scope:local -CheckBox = .text:0x8008394C; // type:function size:0x60 scope:local -DoItemGive = .text:0x800839AC; // type:function size:0x240 scope:local -StartItemGive = .text:0x80083BEC; // type:function size:0xD4 scope:local -KillItemMdl = .text:0x80083CC0; // type:function size:0x38 scope:local -ShowItemMdl = .text:0x80083CF8; // type:function size:0x48 scope:local -WaitItemGive = .text:0x80083D40; // type:function size:0x48 scope:local -BoardStarHostSet = .text:0x80083D88; // type:function size:0xA8 -BoardStarHostMdlGet = .text:0x80083E30; // type:function size:0x8 -BoardStarExec = .text:0x80083E38; // type:function size:0xCC -ExecStar = .text:0x80083F04; // type:function size:0x8F4 scope:local -DestroyStar = .text:0x800847F8; // type:function size:0x84 scope:local -GiveStarMain = .text:0x8008487C; // type:function size:0x160 scope:local -UpdateStarAngle = .text:0x800849DC; // type:function size:0x144 scope:local -InitGiveStar = .text:0x80084B20; // type:function size:0x10C scope:local -MoveGiveStar = .text:0x80084C2C; // type:function size:0x180 scope:local -ShrinkGiveStar = .text:0x80084DAC; // type:function size:0x204 scope:local -StopGiveStar = .text:0x80084FB0; // type:function size:0x38 scope:local -InitGiveStarEffect = .text:0x80084FE8; // type:function size:0xB4 scope:local -KillGiveStarEffect = .text:0x8008509C; // type:function size:0x40 scope:local -BoardStarGive = .text:0x800850DC; // type:function size:0x31C -BoardStarShowNext = .text:0x800853F8; // type:function size:0x628 -ShowNextUpdate = .text:0x80085A20; // type:function size:0x130 scope:local -HideNextHost = .text:0x80085B50; // type:function size:0x24 scope:local -BoardRollExec = .text:0x80085B74; // type:function size:0x1EC -RollWinCreate = .text:0x80085D60; // type:function size:0x21C scope:local -BoardRollKill = .text:0x80085F7C; // type:function size:0x38 -BoardRollUPauseSet = .text:0x80085FB4; // type:function size:0x84 -BoardRollWinDispSet = .text:0x80086038; // type:function size:0x4C -RollMain = .text:0x80086084; // type:function size:0x314 scope:local -DiceCreate = .text:0x80086398; // type:function size:0x280 scope:local -DoInput = .text:0x80086618; // type:function size:0x1C8 scope:local -DiceWaitFull = .text:0x800867E0; // type:function size:0x60 scope:local -DiceSetHit = .text:0x80086840; // type:function size:0x130 scope:local -RollDestroy = .text:0x80086970; // type:function size:0x60 scope:local -DiceMain = .text:0x800869D0; // type:function size:0x7E4 scope:local -DicePause = .text:0x800871B4; // type:function size:0x40 scope:local -DicePauseAll = .text:0x800871F4; // type:function size:0x90 scope:local -BoardDiceEffectCreate = .text:0x80087284; // type:function size:0xE0 -DiceHideEffect = .text:0x80087364; // type:function size:0x84 scope:local -BoardDicePauseAll = .text:0x800873E8; // type:function size:0x94 -BoardDiceDoneCheck = .text:0x8008747C; // type:function size:0x8C -BoardDiceStop = .text:0x80087508; // type:function size:0x58 -BoardDiceVisibleSet = .text:0x80087560; // type:function size:0xC0 -BoardDiceValueSet = .text:0x80087620; // type:function size:0x200 -DiceDigitMain = .text:0x80087820; // type:function size:0xAC scope:local -DiceDigitKill = .text:0x800878CC; // type:function size:0x68 scope:local -DiceKill = .text:0x80087934; // type:function size:0xB4 scope:local -DiceDigitMove = .text:0x800879E8; // type:function size:0x390 scope:local -DiceDigitRotate = .text:0x80087D78; // type:function size:0x110 scope:local -SameRollExec = .text:0x80087E88; // type:function size:0x248 scope:local -GetBtnRoll = .text:0x800880D0; // type:function size:0x110 scope:local -GetComBtnRoll = .text:0x800881E0; // type:function size:0x88 scope:local -BoardRollTutorialSet = .text:0x80088268; // type:function size:0x4C -BoardItemModelGet = .text:0x800882B4; // type:function size:0x90 -BoardItemNameGet = .text:0x80088344; // type:function size:0x98 -BoardStatusStopCheck = .text:0x800883DC; // type:function size:0x48 -BoardStatusVisibleGet = .text:0x80088424; // type:function size:0x1C -BoardStatusShowSetAll = .text:0x80088440; // type:function size:0x48 -BoardStatusItemSet = .text:0x80088488; // type:function size:0xFC -BoardStatusShowSetForce = .text:0x80088584; // type:function size:0x24 -BoardStatusGraySet = .text:0x800885A8; // type:function size:0x134 -BoardStatusShowSet = .text:0x800886DC; // type:function size:0x138 -BoardStatusItemHideSet = .text:0x80088814; // type:function size:0x50 -BoardStatusTargetPosSet = .text:0x80088864; // type:function size:0x44 -BoardStatusPosGet = .text:0x800888A8; // type:function size:0x34 -BoardStatusPosSet = .text:0x800888DC; // type:function size:0x6C -BoardStatusHammerCreate = .text:0x80088948; // type:function size:0x158 -BoardStatusHammerShowSet = .text:0x80088AA0; // type:function size:0x94 -BoardStatusHammerKill = .text:0x80088B34; // type:function size:0x6C -BoardStatusKill = .text:0x80088BA0; // type:function size:0x90 -BoardStatusCreate = .text:0x80088C30; // type:function size:0x20C -KillAllBoardStatus = .text:0x80088E3C; // type:function size:0x98 scope:local -CreateBoardStatusSprite = .text:0x80088ED4; // type:function size:0x36C scope:local -BoardSpriteCreate = .text:0x80089240; // type:function size:0x8C -UpdateBoardStatus = .text:0x800892CC; // type:function size:0x210 scope:local -BoardStatusProc = .text:0x800894DC; // type:function size:0x40 scope:local -MoveBoardStatus = .text:0x8008951C; // type:function size:0x180 scope:local -BoardSpriteDigitUpdate = .text:0x8008969C; // type:function size:0x140 -UpdateStatusItem = .text:0x800897DC; // type:function size:0xB8 scope:local -BoardPickerCreate = .text:0x80089894; // type:function size:0x29C -BoardPickerBackFlagSet = .text:0x80089B30; // type:function size:0x74 -BoardPickerDoneCheck = .text:0x80089BA4; // type:function size:0x1C -BoardPickerPosGet = .text:0x80089BC0; // type:function size:0x48 -BoardPickerChoiceGet = .text:0x80089C08; // type:function size:0xC -UpdatePicker = .text:0x80089C14; // type:function size:0xFC scope:local -UpdatePickerInput = .text:0x80089D10; // type:function size:0x15C scope:local -MovePicker = .text:0x80089E6C; // type:function size:0x110 scope:local -UpdateComPickerButton = .text:0x80089F7C; // type:function size:0x30 scope:local -CheckPickerButton = .text:0x80089FAC; // type:function size:0x19C scope:local -BoardYourTurnExec = .text:0x8008A148; // type:function size:0x1E4 -UpdateYourTurn = .text:0x8008A32C; // type:function size:0xD4 scope:local -GrowYourTurn = .text:0x8008A400; // type:function size:0xD8 scope:local -WaitYourTurn = .text:0x8008A4D8; // type:function size:0xEC scope:local -ShrinkYourTurn = .text:0x8008A5C4; // type:function size:0xC8 scope:local -BoardItemUseExec = .text:0x8008A68C; // type:function size:0x80 -ItemUseTeamProc = .text:0x8008A70C; // type:function size:0x4A8 scope:local -ItemUseProc = .text:0x8008ABB4; // type:function size:0x370 scope:local -FinishItemUse = .text:0x8008AF24; // type:function size:0x174 scope:local -DestroyItemUse = .text:0x8008B098; // type:function size:0x78 scope:local -BoardMakeRandomItem = .text:0x8008B110; // type:function size:0x74 -TeamItemPosSet = .text:0x8008B184; // type:function size:0xE8 scope:local -ExecItemPick = .text:0x8008B26C; // type:function size:0x650 scope:local -UpdateItemPick = .text:0x8008B8BC; // type:function size:0x3AC scope:local -MakeItemPickSpace = .text:0x8008BC68; // type:function size:0x420 scope:local -SetItemUIStatus = .text:0x8008C088; // type:function size:0x248 scope:local -BoardItemGetDestPos = .text:0x8008C2D0; // type:function size:0xA8 -ItemGetPos = .text:0x8008C378; // type:function size:0x104 scope:local -BoardItemStatusKill = .text:0x8008C47C; // type:function size:0x400 -UpdateItemPickGfx = .text:0x8008C87C; // type:function size:0x388 scope:local -UpdateItemPickup = .text:0x8008CC04; // type:function size:0x674 scope:local -CheckItemWindow = .text:0x8008D278; // type:function size:0x50 scope:local -HideItemWindow = .text:0x8008D2C8; // type:function size:0x38 scope:local -CreateItemWindow = .text:0x8008D300; // type:function size:0x5A4 scope:local -CheckItemWindowSlide = .text:0x8008D8A4; // type:function size:0x58 scope:local -KillItemWindow = .text:0x8008D8FC; // type:function size:0x38 scope:local -SetItemWindowCurr = .text:0x8008D934; // type:function size:0xA4 scope:local -UpdateItemWindow = .text:0x8008D9D8; // type:function size:0x350 scope:local -CreatePickerWindow = .text:0x8008DD28; // type:function size:0x11C scope:local -KillPickerWindow = .text:0x8008DE44; // type:function size:0x44 scope:local -BoardBlockExec = .text:0x8008DE88; // type:function size:0x84 -BlockProc = .text:0x8008DF0C; // type:function size:0x358 scope:local -DestroyBlock = .text:0x8008E264; // type:function size:0x54 scope:local -CreateBlockObj = .text:0x8008E2B8; // type:function size:0x1F4 scope:local -ExecBlockObj = .text:0x8008E4AC; // type:function size:0x12C scope:local -DestroyBlockObj = .text:0x8008E5D8; // type:function size:0x38 scope:local -SpawnBlock = .text:0x8008E610; // type:function size:0x120 scope:local -HitBlock = .text:0x8008E730; // type:function size:0xCC scope:local -OpenBlock = .text:0x8008E7FC; // type:function size:0x140 scope:local -SetBlockOpen = .text:0x8008E93C; // type:function size:0x2C scope:local -SetBlockStop = .text:0x8008E968; // type:function size:0x2C scope:local -WaitBlockHit = .text:0x8008E994; // type:function size:0x48 scope:local -CreateCoinMdl = .text:0x8008E9DC; // type:function size:0x94 scope:local -KillCoinMdl = .text:0x8008EA70; // type:function size:0x9C scope:local -PopupCoin = .text:0x8008EB0C; // type:function size:0x10C scope:local -PopupCoinExec = .text:0x8008EC18; // type:function size:0x130 scope:local -BoardItemStart = .text:0x8008ED48; // type:function size:0x74 -BoardItemDoneCheck = .text:0x8008EDBC; // type:function size:0x1C -BoardItemPlayerRestore = .text:0x8008EDD8; // type:function size:0x6C -ItemProcess = .text:0x8008EE44; // type:function size:0x64 scope:local -RestoreProcess = .text:0x8008EEA8; // type:function size:0x64 scope:local -ItemDestroy = .text:0x8008EF0C; // type:function size:0xC scope:local -RestoreDestroy = .text:0x8008EF18; // type:function size:0xC scope:local -ItemSizeShowAnim = .text:0x8008EF24; // type:function size:0x180 scope:local -ItemRotProc = .text:0x8008F0A4; // type:function size:0x1BC scope:local -ItemShowProc = .text:0x8008F260; // type:function size:0x220 scope:local -ItemGetTarget = .text:0x8008F480; // type:function size:0x374 scope:local -ItemSizeSet = .text:0x8008F7F4; // type:function size:0x204 scope:local -ExecItemMini = .text:0x8008F9F8; // type:function size:0xA4 scope:local -ExecItemMega = .text:0x8008FA9C; // type:function size:0xA4 scope:local -ExecItemMiniSuper = .text:0x8008FB40; // type:function size:0xA4 scope:local -ExecItemMegaSuper = .text:0x8008FBE4; // type:function size:0xA4 scope:local -ExecItemHammer = .text:0x8008FC88; // type:function size:0x584 scope:local -ExecItemPipe = .text:0x8009020C; // type:function size:0xD34 scope:local -ExecItemSwap = .text:0x80090F40; // type:function size:0xEBC scope:local -ExecItemSpark = .text:0x80091DFC; // type:function size:0x4FC scope:local -ExecItemLight = .text:0x800922F8; // type:function size:0xC8 scope:local -ExecItemWhistle = .text:0x800923C0; // type:function size:0xE3C scope:local -ExecItemBowser = .text:0x800931FC; // type:function size:0x3D4 scope:local -ExecItemBooBall = .text:0x800935D0; // type:function size:0x1370 scope:local -LampParticleUpdate = .text:0x80094940; // type:function size:0x488 scope:local -GenieParticleUpdate = .text:0x80094DC8; // type:function size:0x388 scope:local -GenieCameraProc = .text:0x80095150; // type:function size:0xB0 scope:local -GenieCameraCalc = .text:0x80095200; // type:function size:0x7A4 scope:local -GenieSceneExec = .text:0x800959A4; // type:function size:0x9D8 scope:local -ExecItemGenie = .text:0x8009637C; // type:function size:0x628 scope:local -BoardItemBagItemSet = .text:0x800969A4; // type:function size:0x3C -ExecItemBagJump = .text:0x800969E0; // type:function size:0x13C scope:local -ExecItemBagShow = .text:0x80096B1C; // type:function size:0xDC scope:local -ExecItemBag = .text:0x80096BF8; // type:function size:0x584 scope:local -RestoreItemNull = .text:0x8009717C; // type:function size:0x1C scope:local -RestoreItemMini = .text:0x80097198; // type:function size:0x2C scope:local -RestoreItemMega = .text:0x800971C4; // type:function size:0x2C scope:local -RestoreItemMiniSuper = .text:0x800971F0; // type:function size:0x2C scope:local -RestoreItemMegaSuper = .text:0x8009721C; // type:function size:0x2C scope:local -RestoreItemBowser = .text:0x80097248; // type:function size:0x284 scope:local -BoardBowserExec = .text:0x800974CC; // type:function size:0x144 -ExecBowser = .text:0x80097610; // type:function size:0x28C scope:local -ExecBowserMain = .text:0x8009789C; // type:function size:0x208 scope:local -ExecMGReturn = .text:0x80097AA4; // type:function size:0x1DC scope:local -DestroyBowser = .text:0x80097C80; // type:function size:0x30 scope:local -SquishPlayers = .text:0x80097CB0; // type:function size:0x148 scope:local -ExecBowserSpecial = .text:0x80097DF8; // type:function size:0x1B4 scope:local -ExecBowserGame = .text:0x80097FAC; // type:function size:0x250 scope:local -DoMGReturnEffect = .text:0x800981FC; // type:function size:0x220 scope:local -ExecBowserShuffle = .text:0x8009841C; // type:function size:0x2B0 scope:local -ExecBowserRevo = .text:0x800986CC; // type:function size:0x160 scope:local -ExecBowserSuit = .text:0x8009882C; // type:function size:0xB8 scope:local -CheckSuitGive = .text:0x800988E4; // type:function size:0x1C scope:local -StartSuitGive = .text:0x80098900; // type:function size:0x148 scope:local -SuitGiveMain = .text:0x80098A48; // type:function size:0x210 scope:local -CreateBowserObj = .text:0x80098C58; // type:function size:0x228 scope:local -ExecBowserObj = .text:0x80098E80; // type:function size:0x230 scope:local -ExecBowserFall = .text:0x800990B0; // type:function size:0x270 scope:local -ExecBowserLaugh = .text:0x80099320; // type:function size:0x58 scope:local -ExecBowserFire = .text:0x80099378; // type:function size:0x44 scope:local -ExecBowserJump = .text:0x800993BC; // type:function size:0x150 scope:local -ExecBowserPowerUp = .text:0x8009950C; // type:function size:0x128 scope:local -SetBowserState = .text:0x80099634; // type:function size:0x34 scope:local -CheckBowserIdle = .text:0x80099668; // type:function size:0x5C scope:local -CreateMiniBowser = .text:0x800996C4; // type:function size:0xD4 scope:local -CheckMiniBowser = .text:0x80099798; // type:function size:0x1C scope:local -ExecMiniBowser = .text:0x800997B4; // type:function size:0x18C scope:local -CreateBowserEvent = .text:0x80099940; // type:function size:0x1E8 scope:local -CheckBowserEvent = .text:0x80099B28; // type:function size:0x38 scope:local -StopBowserEvent = .text:0x80099B60; // type:function size:0x24 scope:local -ExecBowserEvent = .text:0x80099B84; // type:function size:0xEC scope:local -ShowBowserEvent = .text:0x80099C70; // type:function size:0x1C8 scope:local -HideBowserEvent = .text:0x80099E38; // type:function size:0x108 scope:local -ConfigBowserEvent = .text:0x80099F40; // type:function size:0x160 scope:local -CreatePlayerMot = .text:0x8009A0A0; // type:function size:0x1AC scope:local -KillPlayerMot = .text:0x8009A24C; // type:function size:0xB8 scope:local -InitBowserFire = .text:0x8009A304; // type:function size:0x90 scope:local -BowserFireHook = .text:0x8009A394; // type:function size:0x160 scope:local -SpawnBowserFire = .text:0x8009A4F4; // type:function size:0xE4 scope:local -CheckBowserFire = .text:0x8009A5D8; // type:function size:0xCC scope:local -KillBowserFire = .text:0x8009A6A4; // type:function size:0x40 scope:local -ExecMiniBowserEvent = .text:0x8009A6E4; // type:function size:0x188 scope:local -MiniBowserTake = .text:0x8009A86C; // type:function size:0x2C4 scope:local -MiniBowserTakeAll = .text:0x8009AB30; // type:function size:0x2B8 scope:local -MiniBowserBalloonStop = .text:0x8009ADE8; // type:function size:0x24 scope:local -GetMiniBowserBalloonState = .text:0x8009AE0C; // type:function size:0xC scope:local -SetMiniBowserBalloonState = .text:0x8009AE18; // type:function size:0x10 scope:local -CreateMiniBowserBalloon = .text:0x8009AE28; // type:function size:0x14C scope:local -ExecMiniBowserBalloon = .text:0x8009AF74; // type:function size:0x120 scope:local -MiniBowserBalloonHover = .text:0x8009B094; // type:function size:0xB4 scope:local -MiniBowserBalloonFall = .text:0x8009B148; // type:function size:0x88 scope:local -MiniBowserBalloonRaise = .text:0x8009B1D0; // type:function size:0x80 scope:local -SetMiniBowserMotion = .text:0x8009B250; // type:function size:0xD8 scope:local -SetMiniBowserMotionPause = .text:0x8009B328; // type:function size:0x6C scope:local -WaitMiniBowserMotion = .text:0x8009B394; // type:function size:0x60 scope:local -BoardBattleExec = .text:0x8009B3F4; // type:function size:0x124 -DestroyBattle = .text:0x8009B518; // type:function size:0x2C scope:local -ExecBattle = .text:0x8009B544; // type:function size:0x708 scope:local -TakeCoins = .text:0x8009BC4C; // type:function size:0x1D4 scope:local -InitExplode = .text:0x8009BE20; // type:function size:0x1FC scope:local -CheckExplode = .text:0x8009C01C; // type:function size:0x24 scope:local -UpdateExplode = .text:0x8009C040; // type:function size:0x2D0 scope:local -CreateBattleMain = .text:0x8009C310; // type:function size:0x1E8 scope:local -UpdateBattleMain = .text:0x8009C4F8; // type:function size:0x1A0 scope:local -DescendBattleBomb = .text:0x8009C698; // type:function size:0x64 scope:local -EndBattle = .text:0x8009C6FC; // type:function size:0x88 scope:local -ShowBattleGame = .text:0x8009C784; // type:function size:0x124 scope:local -RaiseBattleGame = .text:0x8009C8A8; // type:function size:0x8C scope:local -UpdateBattleCoin = .text:0x8009C934; // type:function size:0x260 scope:local -ShowBattleCoin = .text:0x8009CB94; // type:function size:0x128 scope:local -InitBattleGameSpr = .text:0x8009CCBC; // type:function size:0x12C scope:local -HideBattleSpr = .text:0x8009CDE8; // type:function size:0x58 scope:local -VibratePad = .text:0x8009CE40; // type:function size:0x64 scope:local -StopBattleBomb = .text:0x8009CEA4; // type:function size:0x24 scope:local -GetBattleBombState = .text:0x8009CEC8; // type:function size:0x10 scope:local -SetBattleBombState = .text:0x8009CED8; // type:function size:0x34 scope:local -SetBattleCoinValue = .text:0x8009CF0C; // type:function size:0x15C scope:local -BoardFortuneExec = .text:0x8009D068; // type:function size:0x124 -FortuneExec = .text:0x8009D18C; // type:function size:0x74 scope:local -DestroyFortune = .text:0x8009D200; // type:function size:0xC scope:local -FortuneMain = .text:0x8009D20C; // type:function size:0x340 scope:local -FortunePostMG = .text:0x8009D54C; // type:function size:0xF8 scope:local -CreateFortunePlatform = .text:0x8009D644; // type:function size:0x160 scope:local -CameraCalcFortune = .text:0x8009D7A4; // type:function size:0x5C scope:local -ExecFortunePlatform = .text:0x8009D800; // type:function size:0x198 scope:local -ExecComFortuneWin = .text:0x8009D998; // type:function size:0x18C scope:local -ConfigComFortune = .text:0x8009DB24; // type:function size:0x20C scope:local -ComFortuneAddStar = .text:0x8009DD30; // type:function size:0x78 scope:local -ComFortuneAddCoin = .text:0x8009DDA8; // type:function size:0x78 scope:local -ComFortuneSwapCoin = .text:0x8009DE20; // type:function size:0x68 scope:local -ComFortuneSwapStar = .text:0x8009DE88; // type:function size:0x68 scope:local -BoardBooCreate = .text:0x8009DEF0; // type:function size:0x11C -BoardBooKill = .text:0x8009E00C; // type:function size:0x2C -BoardBooStealTypeSet = .text:0x8009E038; // type:function size:0x2A8 -ComSetupStealPlayer = .text:0x8009E2E0; // type:function size:0x1D4 scope:local -ComSetStealPlayerInput = .text:0x8009E4B4; // type:function size:0xE8 scope:local -BoardBooStealMain = .text:0x8009E59C; // type:function size:0x280 -ExecCoinSteal = .text:0x8009E81C; // type:function size:0xC0 scope:local -ExecStarSteal = .text:0x8009E8DC; // type:function size:0xA8 scope:local -ExecLightSteal = .text:0x8009E984; // type:function size:0x94 scope:local -SetBooMode = .text:0x8009EA18; // type:function size:0x10 scope:local -CreateBallMdl = .text:0x8009EA28; // type:function size:0xBC scope:local -CreateBallView = .text:0x8009EAE4; // type:function size:0x1D4 scope:local -SetBallView = .text:0x8009ECB8; // type:function size:0xAC scope:local -SetBallActive = .text:0x8009ED64; // type:function size:0x28 scope:local -CheckBallKill = .text:0x8009ED8C; // type:function size:0x4C scope:local -BallMain = .text:0x8009EDD8; // type:function size:0x300 scope:local -BallRenderHook = .text:0x8009F0D8; // type:function size:0x4A0 scope:local -ExecBoo = .text:0x8009F578; // type:function size:0x9C scope:local -UpdateBallCamera = .text:0x8009F614; // type:function size:0x1DC scope:local -CreateBallPlayer = .text:0x8009F7F0; // type:function size:0x358 scope:local -GetBallPlayerState = .text:0x8009FB48; // type:function size:0x24 scope:local -SetBallPlayerState = .text:0x8009FB6C; // type:function size:0x2C scope:local -ExecBallPlayer = .text:0x8009FB98; // type:function size:0x214 scope:local -BallPlayerZoomOut = .text:0x8009FDAC; // type:function size:0x15C scope:local -BallPlayerScare = .text:0x8009FF08; // type:function size:0x110 scope:local -BallPlayerTurn = .text:0x800A0018; // type:function size:0x68 scope:local -BallPlayerPunch = .text:0x800A0080; // type:function size:0x1E0 scope:local -BallPlayerUseLight = .text:0x800A0260; // type:function size:0x10C scope:local -BallPlayerCatch = .text:0x800A036C; // type:function size:0x190 scope:local -BallBooCreate = .text:0x800A04FC; // type:function size:0x328 scope:local -SetBallBooState = .text:0x800A0824; // type:function size:0x170 scope:local -GetBallBooState = .text:0x800A0994; // type:function size:0x24 scope:local -ExecBallBoo = .text:0x800A09B8; // type:function size:0x128 scope:local -BallBooSpawn = .text:0x800A0AE0; // type:function size:0x54 scope:local -BallBooChase = .text:0x800A0B34; // type:function size:0x104 scope:local -BallBooBattle = .text:0x800A0C38; // type:function size:0x218 scope:local -BallBooAttack = .text:0x800A0E50; // type:function size:0xF4 scope:local -BallBooFlash = .text:0x800A0F44; // type:function size:0x178 scope:local -TakeBallCoin = .text:0x800A10BC; // type:function size:0x1B0 scope:local -ExecTakeBallCoin = .text:0x800A126C; // type:function size:0xDC scope:local -TakeBallCoinPosSet = .text:0x800A1348; // type:function size:0x9C scope:local -CheckBallCoinDone = .text:0x800A13E4; // type:function size:0x68 scope:local -TakeBallStar = .text:0x800A144C; // type:function size:0x168 scope:local -ExecTakeBallStar = .text:0x800A15B4; // type:function size:0x184 scope:local -CheckTakeBallStarDone = .text:0x800A1738; // type:function size:0x1C scope:local -BoardBooStealValueGet = .text:0x800A1754; // type:function size:0x30 -BoardBooStealLightCheck = .text:0x800A1784; // type:function size:0x20 -UpdatePlayerCoins = .text:0x800A17A4; // type:function size:0x1B0 scope:local -BoardMGSetupExec = .text:0x800A1954; // type:function size:0x60 -DestroyMGSetup = .text:0x800A19B4; // type:function size:0x1C scope:local -ExecMGSetup = .text:0x800A19D0; // type:function size:0x6FC scope:local -DetermineMGList = .text:0x800A20CC; // type:function size:0x3B0 scope:local -SetupStatusLayout = .text:0x800A247C; // type:function size:0x3A8 scope:local -GetMGType = .text:0x800A2824; // type:function size:0x388 scope:local -GetMGTypeTeam = .text:0x800A2BAC; // type:function size:0x3A4 scope:local -CreateMGSetup = .text:0x800A2F50; // type:function size:0x194 scope:local -UpdateMGSetup = .text:0x800A30E4; // type:function size:0x198 scope:local -CenterStatus = .text:0x800A327C; // type:function size:0x174 scope:local -SeparateStatus = .text:0x800A33F0; // type:function size:0x200 scope:local -PopupVS = .text:0x800A35F0; // type:function size:0x20C scope:local -FallMGType = .text:0x800A37FC; // type:function size:0x1C8 scope:local -LuckyMGFall = .text:0x800A39C4; // type:function size:0x204 scope:local -HideLuckyValue = .text:0x800A3BC8; // type:function size:0xA8 scope:local -UpdateLuckyValue = .text:0x800A3C70; // type:function size:0x430 scope:local -UpdateMGList = .text:0x800A40A0; // type:function size:0x8FC scope:local -BoardMGSetupPlayClear = .text:0x800A499C; // type:function size:0x74 -BoardMGSetupPlaySearch = .text:0x800A4A10; // type:function size:0xC8 -BoardMGSetupPlayPush = .text:0x800A4AD8; // type:function size:0xD0 -BoardMGSetupTutorialExec = .text:0x800A4BA8; // type:function size:0x2E4 -BoardBooHouseHostSet = .text:0x800A4E8C; // type:function size:0x8 -BoardBooHouseHostGet = .text:0x800A4E94; // type:function size:0x8 -BoardBooHouseCreate = .text:0x800A4E9C; // type:function size:0xB4 -BoardBooHouseKill = .text:0x800A4F50; // type:function size:0x50 -BoardBooHouseExec = .text:0x800A4FA0; // type:function size:0x94 -ExecBooHouse = .text:0x800A5034; // type:function size:0x538 scope:local -DestroyBooHouse = .text:0x800A556C; // type:function size:0xF0 scope:local -PickComStealType = .text:0x800A565C; // type:function size:0xFC scope:local -OpenBooHouse = .text:0x800A5758; // type:function size:0x3A0 scope:local -CloseBooHouse = .text:0x800A5AF8; // type:function size:0x124 scope:local -CreateBooHouseModel = .text:0x800A5C1C; // type:function size:0xB0 scope:local -KillBooHouseModel = .text:0x800A5CCC; // type:function size:0xD4 scope:local -ExecNullSteal = .text:0x800A5DA0; // type:function size:0x68 scope:local -ExecStarSteal = .text:0x800A5E08; // type:function size:0x2AC scope:local -ExecCoinSteal = .text:0x800A60B4; // type:function size:0x2AC scope:local -ApplySteal = .text:0x800A6360; // type:function size:0x188 scope:local -ApplyCoinSteal = .text:0x800A64E8; // type:function size:0x16C scope:local -ApplyStarSteal = .text:0x800A6654; // type:function size:0x164 scope:local -ApplyBooLight = .text:0x800A67B8; // type:function size:0x70 scope:local -SetBooBallPos = .text:0x800A6828; // type:function size:0x60 scope:local -BoardBooComUseCheck = .text:0x800A6888; // type:function size:0x1A8 -BoardBooHouseTutorialExec = .text:0x800A6A30; // type:function size:0x3D4 -BoardStartExec = .text:0x800A6E04; // type:function size:0x64 -DestroyStart = .text:0x800A6E68; // type:function size:0x84 scope:local -ExecStart = .text:0x800A6EEC; // type:function size:0x400 scope:local -ShowLogo = .text:0x800A72EC; // type:function size:0x2FC scope:local -FocusStart = .text:0x800A75E8; // type:function size:0x17C scope:local -CreatePlayerStart = .text:0x800A7764; // type:function size:0x2D8 scope:local -ExecPlayerStart = .text:0x800A7A3C; // type:function size:0x188 scope:local -PlayerFall = .text:0x800A7BC4; // type:function size:0x1C8 scope:local -PlayerWaitSpeak = .text:0x800A7D8C; // type:function size:0xEC scope:local -PlayerDiceFall = .text:0x800A7E78; // type:function size:0x1A8 scope:local -PlayerDiceRoll = .text:0x800A8020; // type:function size:0x454 scope:local -PlayerDiceNumShow = .text:0x800A8474; // type:function size:0xD8 scope:local -PlayerDiceNumHide = .text:0x800A854C; // type:function size:0x250 scope:local -SetPlayerStartState = .text:0x800A879C; // type:function size:0xC8 scope:local -GetPlayerStartState = .text:0x800A8864; // type:function size:0x3C scope:local -ExecStartRoll = .text:0x800A88A0; // type:function size:0x6D4 scope:local -InitCamera = .text:0x800A8F74; // type:function size:0x318 scope:local -InitHost = .text:0x800A928C; // type:function size:0xA4 scope:local -CreateTapWin = .text:0x800A9330; // type:function size:0xDC scope:local -OrderPlayers = .text:0x800A940C; // type:function size:0x21C scope:local -BoardLast5Exec = .text:0x800A9628; // type:function size:0x84 -DestroyLast5 = .text:0x800A96AC; // type:function size:0x30 scope:local -ExecLast5 = .text:0x800A96DC; // type:function size:0x1D4 scope:local -CreateLast5 = .text:0x800A98B0; // type:function size:0x184 scope:local -KillLast5 = .text:0x800A9A34; // type:function size:0x48 scope:local -InitHost = .text:0x800A9A7C; // type:function size:0x10C scope:local -KillHost = .text:0x800A9B88; // type:function size:0xA4 scope:local -Last5Main = .text:0x800A9C2C; // type:function size:0xCC0 scope:local -CheckJump = .text:0x800AA8EC; // type:function size:0xA4 scope:local -CreateLotteryDrawWheel = .text:0x800AA990; // type:function size:0x1FC scope:local -CreateLotteryDraw = .text:0x800AAB8C; // type:function size:0xD4 scope:local -UpdateLotteryDraw = .text:0x800AAC60; // type:function size:0x170 scope:local -SetLotteryDrawState = .text:0x800AADD0; // type:function size:0x88 scope:local -GetLotteryDrawState = .text:0x800AAE58; // type:function size:0x20 scope:local -KillLotteryDrawWheel = .text:0x800AAE78; // type:function size:0x24 scope:local -UpdateLotteryDrawWheel = .text:0x800AAE9C; // type:function size:0x2D0 scope:local -SetLotteryDrawWheelState = .text:0x800AB16C; // type:function size:0x1D8 scope:local -ExecLotteryDraw = .text:0x800AB344; // type:function size:0x950 scope:local -KillLotteryTicket = .text:0x800ABC94; // type:function size:0x4C scope:local -InitLotteryTicket = .text:0x800ABCE0; // type:function size:0x488 scope:local -UpdateLotteryTicket = .text:0x800AC168; // type:function size:0x2A4 scope:local -SetLotteryTicketState = .text:0x800AC40C; // type:function size:0x1C0 scope:local -GetLotteryTicketPlayer = .text:0x800AC5CC; // type:function size:0x7C scope:local -CheckLotteryTicket = .text:0x800AC648; // type:function size:0x78 scope:local -UpdateLotteryTicketMatch = .text:0x800AC6C0; // type:function size:0xB0 scope:local -StartHostMove = .text:0x800AC770; // type:function size:0x1CC scope:local -ExecHostMove = .text:0x800AC93C; // type:function size:0x228 scope:local -CheckHostMove = .text:0x800ACB64; // type:function size:0x1C scope:local -CreateStopWin = .text:0x800ACB80; // type:function size:0xC0 scope:local -CreateLast5Roulette = .text:0x800ACC40; // type:function size:0x180 scope:local -UpdateLast5Roulette = .text:0x800ACDC0; // type:function size:0x2B0 scope:local -SetLast5RouletteFade = .text:0x800AD070; // type:function size:0x44 scope:local -SetLast5RouletteState = .text:0x800AD0B4; // type:function size:0x38 scope:local -GetLast5RouletteState = .text:0x800AD0EC; // type:function size:0x38 scope:local -GetLast5RouletteResult = .text:0x800AD124; // type:function size:0x44 scope:local -CreateTeamResult = .text:0x800AD168; // type:function size:0x2B4 scope:local -CreateTeamResultWork = .text:0x800AD41C; // type:function size:0x340 scope:local -SetTeamResultTarget = .text:0x800AD75C; // type:function size:0x58 scope:local -GetTeamResultTarget = .text:0x800AD7B4; // type:function size:0x58 scope:local -KillTeamResult = .text:0x800AD80C; // type:function size:0x38 scope:local -UpdateTeamResult = .text:0x800AD844; // type:function size:0x260 scope:local -BoardPauseStart = .text:0x800ADAA4; // type:function size:0x88 -PauseExit = .text:0x800ADB2C; // type:function size:0x3C0 scope:local -PauseProcess = .text:0x800ADEEC; // type:function size:0x108 scope:local -CreatePauseScreen = .text:0x800ADFF4; // type:function size:0xABC scope:local -DeletePauseScreen = .text:0x800AEAB0; // type:function size:0x168 scope:local -SetBoxVisible = .text:0x800AEC18; // type:function size:0x58 scope:local -PauseConfigObjFunc = .text:0x800AEC70; // type:function size:0x4F4 scope:local -UpdatePauseText = .text:0x800AF164; // type:function size:0x310 scope:local -InitPauseQuit = .text:0x800AF474; // type:function size:0x264 scope:local -PauseQuitProcess = .text:0x800AF6D8; // type:function size:0x110 scope:local -DeletePauseQuit = .text:0x800AF7E8; // type:function size:0x48 scope:local -UpdatePadConfig = .text:0x800AF830; // type:function size:0xD4 scope:local -CreatePadConfig = .text:0x800AF904; // type:function size:0x1CC scope:local -ScrollInPadConfig = .text:0x800AFAD0; // type:function size:0x178 scope:local -CursorMovePadConfig = .text:0x800AFC48; // type:function size:0x238 scope:local -ChangeDiffPadConfig = .text:0x800AFE80; // type:function size:0x3B0 scope:local -ScrollOutPadConfig = .text:0x800B0230; // type:function size:0x154 scope:local -UpdatePauseBox = .text:0x800B0384; // type:function size:0x390 scope:local -UpdatePauseBoxExt = .text:0x800B0714; // type:function size:0x3E4 scope:local -ExecPauseConfig = .text:0x800B0AF8; // type:function size:0x240 scope:local -CreatePauseControlWin = .text:0x800B0D38; // type:function size:0x210 scope:local -DeletePauseControlWin = .text:0x800B0F48; // type:function size:0x70 scope:local -WaitPauseInput = .text:0x800B0FB8; // type:function size:0x1B8 scope:local -ShowPauseConfig = .text:0x800B1170; // type:function size:0x12C scope:local -CreatePadConfigSprite = .text:0x800B129C; // type:function size:0x1A4 scope:local -ShowPadConfigSprite = .text:0x800B1440; // type:function size:0x10C scope:local -PauseCreateNumber = .text:0x800B154C; // type:function size:0xDC scope:local -BoardPauseActiveCheck = .text:0x800B1628; // type:function size:0x34 -BoardPauseReqCheck = .text:0x800B165C; // type:function size:0x12C -CheckPort = .text:0x800B1788; // type:function size:0x4C scope:local -RotateBox = .text:0x800B17D4; // type:function size:0xC0 scope:local -SearchPathNodeSpace = .text:0x800B1894; // type:function size:0x60 scope:local -InitPathNode = .text:0x800B18F4; // type:function size:0x180 scope:local -FindChildNode = .text:0x800B1A74; // type:function size:0xE4 scope:local -GetNumValidLinks = .text:0x800B1B58; // type:function size:0xB4 scope:local -AddValidLinks = .text:0x800B1C0C; // type:function size:0xD0 scope:local -CheckPathSpace = .text:0x800B1CDC; // type:function size:0x30 scope:local -FindValidLink = .text:0x800B1D0C; // type:function size:0xAC scope:local -CheckEndSpace = .text:0x800B1DB8; // type:function size:0xF0 scope:local -BoardComPathShortcutLenGet = .text:0x800B1EA8; // type:function size:0x74C -BoardComPathBestGet = .text:0x800B25F4; // type:function size:0x3E4 -BoardComPathLenGet = .text:0x800B29D8; // type:function size:0x65C -CheckPath = .text:0x800B3034; // type:function size:0x488 scope:local -BoardComPathBestGetFlag = .text:0x800B34BC; // type:function size:0x45C -CheckPathFlag = .text:0x800B3918; // type:function size:0x4E0 scope:local -TutorialProcFunc = .text:0x800B3DF8; // type:function size:0x34 scope:local -BoardTutorialInit = .text:0x800B3E2C; // type:function size:0x80 -BoardTutorialKill = .text:0x800B3EAC; // type:function size:0x4C -BoardTutorialHookSet = .text:0x800B3EF8; // type:function size:0x8 -BoardTutorialHookExec = .text:0x800B3F00; // type:function size:0x44 -BoardTutorialPlayerInit = .text:0x800B3F44; // type:function size:0x78 -BoardTutorialWorkSave = .text:0x800B3FBC; // type:function size:0x10C -BoardTutorialWorkRestore = .text:0x800B40C8; // type:function size:0xBC -BoardTutorialDirInputSet = .text:0x800B4184; // type:function size:0x10 -BoardTutorialBlockSetPos = .text:0x800B4194; // type:function size:0x40 -BoardTutorialItemSet = .text:0x800B41D4; // type:function size:0x8 -BoardTutorialHostSet = .text:0x800B41DC; // type:function size:0x8 -BoardTutorialHostHide = .text:0x800B41E4; // type:function size:0x30 -PPCMfmsr = .text:0x800B4214; // type:function size:0x8 scope:global -PPCMtmsr = .text:0x800B421C; // type:function size:0x8 scope:global -PPCMfhid0 = .text:0x800B4224; // type:function size:0x8 scope:global -PPCMthid0 = .text:0x800B422C; // type:function size:0x8 -PPCMfl2cr = .text:0x800B4234; // type:function size:0x8 scope:global -PPCMtl2cr = .text:0x800B423C; // type:function size:0x8 scope:global -PPCMtdec = .text:0x800B4244; // type:function size:0x8 scope:weak -PPCSync = .text:0x800B424C; // type:function size:0x8 -PPCHalt = .text:0x800B4254; // type:function size:0x14 scope:weak -PPCMfhid2 = .text:0x800B4268; // type:function size:0x8 scope:global -PPCMthid2 = .text:0x800B4270; // type:function size:0x8 scope:global -PPCMfwpar = .text:0x800B4278; // type:function size:0xC -PPCMtwpar = .text:0x800B4284; // type:function size:0x8 scope:global -PPCDisableSpeculation = .text:0x800B428C; // type:function size:0x28 scope:global -PPCSetFpNonIEEEMode = .text:0x800B42B4; // type:function size:0x8 scope:global -OSGetConsoleType = .text:0x800B42BC; // type:function size:0x28 scope:global -ClearArena = .text:0x800B42E4; // type:function size:0x128 scope:local -InquiryCallback = .text:0x800B440C; // type:function size:0x3C scope:local -OSInit = .text:0x800B4448; // type:function size:0x3B8 scope:global -OSExceptionInit = .text:0x800B4800; // type:function size:0x280 scope:local -__OSDBINTSTART = .text:0x800B4A80; // type:label scope:global -__OSDBIntegrator = .text:0x800B4A80; // type:function size:0x24 scope:local -__OSDBINTEND = .text:0x800B4AA4; // type:label scope:global -__OSDBJump = .text:0x800B4AA4; // type:function size:0x4 scope:local -__OSDBJUMPEND = .text:0x800B4AA8; // type:label scope:global -__OSSetExceptionHandler = .text:0x800B4AA8; // type:function size:0x1C scope:global -__OSGetExceptionHandler = .text:0x800B4AC4; // type:function size:0x14 scope:global -__OSEVStart = .text:0x800B4AD8; // type:label scope:global -OSExceptionVector = .text:0x800B4AD8; // type:function size:0x9C scope:local -__DBVECTOR = .text:0x800B4B30; // type:label scope:global data:4byte -__OSEVSetNumber = .text:0x800B4B40; // type:label scope:global data:4byte -__OSEVEnd = .text:0x800B4B70; // type:label scope:global -OSDefaultExceptionHandler = .text:0x800B4B74; // type:function size:0x58 scope:global -__OSPSInit = .text:0x800B4BCC; // type:function size:0x38 scope:global -__OSGetDIConfig = .text:0x800B4C04; // type:function size:0x14 -OSInitAlarm = .text:0x800B4C18; // type:function size:0x4C scope:global -OSCreateAlarm = .text:0x800B4C64; // type:function size:0xC scope:global -InsertAlarm = .text:0x800B4C70; // type:function size:0x250 scope:local -OSSetAlarm = .text:0x800B4EC0; // type:function size:0x68 scope:global -fn_800B4F28 = .text:0x800B4F28; // type:function size:0x11C -DecrementerExceptionCallback = .text:0x800B5044; // type:function size:0x230 scope:local -DecrementerExceptionHandler = .text:0x800B5274; // type:function size:0x50 scope:local -fn_800B52C4 = .text:0x800B52C4; // type:function size:0xAC -OSAllocFromHeap = .text:0x800B5370; // type:function size:0xFC -OSAllocFixed = .text:0x800B546C; // type:function size:0x284 -OSFreeToHeap = .text:0x800B56F0; // type:function size:0x7C -OSSetCurrentHeap = .text:0x800B576C; // type:function size:0x10 -OSInitAlloc = .text:0x800B577C; // type:function size:0x70 -OSCreateHeap = .text:0x800B57EC; // type:function size:0x6C -OSCheckHeap = .text:0x800B5858; // type:function size:0x360 -OSDumpHeap = .text:0x800B5BB8; // type:function size:0x104 -OSGetArenaHi = .text:0x800B5CBC; // type:function size:0x8 scope:global -OSGetArenaLo = .text:0x800B5CC4; // type:function size:0x8 scope:global -OSSetArenaHi = .text:0x800B5CCC; // type:function size:0x8 scope:global -OSSetArenaLo = .text:0x800B5CD4; // type:function size:0x8 scope:global -__OSInitAudioSystem = .text:0x800B5CDC; // type:function size:0x1BC scope:global -__OSStopAudioSystem = .text:0x800B5E98; // type:function size:0xD8 scope:global -DCEnable = .text:0x800B5F70; // type:function size:0x14 scope:global -DCInvalidateRange = .text:0x800B5F84; // type:function size:0x30 scope:global -DCFlushRange = .text:0x800B5FB4; // type:function size:0x34 scope:global -DCStoreRange = .text:0x800B5FE8; // type:function size:0x34 -DCFlushRangeNoSync = .text:0x800B601C; // type:function size:0x30 scope:global -DCStoreRangeNoSync = .text:0x800B604C; // type:function size:0x30 -DCZeroRange = .text:0x800B607C; // type:function size:0x30 -ICInvalidateRange = .text:0x800B60AC; // type:function size:0x38 scope:global -ICFlashInvalidate = .text:0x800B60E4; // type:function size:0x10 scope:global -ICEnable = .text:0x800B60F4; // type:function size:0x14 scope:global -fn_800B6108 = .text:0x800B6108; // type:function size:0xCC -LCEnable = .text:0x800B61D4; // type:function size:0x38 -LCDisable = .text:0x800B620C; // type:function size:0x28 scope:global -LCStoreBlocks = .text:0x800B6234; // type:function size:0x24 -LCStoreData = .text:0x800B6258; // type:function size:0xAC -LCQueueWait = .text:0x800B6304; // type:function size:0x18 -L2GlobalInvalidate = .text:0x800B631C; // type:function size:0x98 scope:global -DMAErrorHandler = .text:0x800B63B4; // type:function size:0x160 scope:global -__OSCacheInit = .text:0x800B6514; // type:function size:0xF4 scope:global -__OSLoadFPUContext = .text:0x800B6608; // type:function size:0x124 scope:local -__OSSaveFPUContext = .text:0x800B672C; // type:function size:0x128 scope:local -OSSetCurrentContext = .text:0x800B6854; // type:function size:0x5C scope:global -fn_800B68B0 = .text:0x800B68B0; // type:function size:0xC -fn_800B68BC = .text:0x800B68BC; // type:function size:0x80 -OSLoadContext = .text:0x800B693C; // type:function size:0xD8 scope:global -OSClearContext = .text:0x800B6A14; // type:function size:0x24 scope:global -fn_800B6A38 = .text:0x800B6A38; // type:function size:0xBC -OSDumpContext = .text:0x800B6AF4; // type:function size:0x2A8 scope:global -OSSwitchFPUContext = .text:0x800B6D9C; // type:function size:0x84 scope:local -__OSContextInit = .text:0x800B6E20; // type:function size:0x48 scope:global -OSReport = .text:0x800B6E68; // type:function size:0x80 scope:global -OSSetErrorHandler = .text:0x800B6EE8; // type:function size:0x1C scope:global -__OSUnhandledException = .text:0x800B6F04; // type:function size:0x200 scope:global -fn_800B7104 = .text:0x800B7104; // type:function size:0x58 -OSDisableInterrupts = .text:0x800B715C; // type:function size:0x14 scope:global -OSEnableInterrupts = .text:0x800B7170; // type:function size:0x14 scope:global -OSRestoreInterrupts = .text:0x800B7184; // type:function size:0x24 scope:global -__OSSetInterruptHandler = .text:0x800B71A8; // type:function size:0x1C scope:global -fn_800B71C4 = .text:0x800B71C4; // type:function size:0x14 -__OSInterruptInit = .text:0x800B71D8; // type:function size:0x74 scope:global -fn_800B724C = .text:0x800B724C; // type:function size:0x2D8 -__OSMaskInterrupts = .text:0x800B7524; // type:function size:0x88 scope:global -__OSUnmaskInterrupts = .text:0x800B75AC; // type:function size:0x88 scope:global -fn_800B7634 = .text:0x800B7634; // type:function size:0x344 -ExternalInterruptHandler = .text:0x800B7978; // type:function size:0x50 scope:local -OSNotifyLink = .text:0x800B79C8; // type:function size:0x4 -OSNotifyUnlink = .text:0x800B79CC; // type:function size:0x4 -fn_800B79D0 = .text:0x800B79D0; // type:function size:0x274 -OSLink = .text:0x800B7C44; // type:function size:0x250 -fn_800B7E94 = .text:0x800B7E94; // type:function size:0x20C -OSUnlink = .text:0x800B80A0; // type:function size:0x94 -__OSModuleInit = .text:0x800B8134; // type:function size:0x18 scope:global -OSInitMessageQueue = .text:0x800B814C; // type:function size:0x60 -OSGetPhysicalMemSize = .text:0x800B81AC; // type:function size:0xC -OSGetConsoleSimulatedMemSize = .text:0x800B81B8; // type:function size:0xC -fn_800B81C4 = .text:0x800B81C4; // type:function size:0x3C -MEMIntrruptHandler = .text:0x800B8200; // type:function size:0x6C scope:local -Config24MB = .text:0x800B826C; // type:function size:0x80 scope:local -Config48MB = .text:0x800B82EC; // type:function size:0x80 scope:local -RealMode = .text:0x800B836C; // type:function size:0x18 scope:local -__OSInitMemoryProtection = .text:0x800B8384; // type:function size:0x120 scope:global -fn_800B84A4 = .text:0x800B84A4; // type:function size:0x70 -fn_800B8514 = .text:0x800B8514; // type:function size:0x2C -fn_800B8540 = .text:0x800B8540; // type:function size:0x14 -fn_800B8554 = .text:0x800B8554; // type:function size:0xC -__OSReboot = .text:0x800B8560; // type:function size:0x1C0 scope:global -OSRegisterResetFunction = .text:0x800B8720; // type:function size:0x84 scope:global -Reset = .text:0x800B87A4; // type:function size:0x70 scope:local -__OSDoHotReset = .text:0x800B8814; // type:function size:0x48 -OSResetSystem = .text:0x800B885C; // type:function size:0x278 scope:global -OSGetResetCode = .text:0x800B8AD4; // type:function size:0x30 scope:global -__OSResetSWInterruptHandler = .text:0x800B8B04; // type:function size:0xF4 scope:global -OSGetResetButtonState = .text:0x800B8BF8; // type:function size:0x298 -fn_800B8E90 = .text:0x800B8E90; // type:function size:0x60 -fn_800B8EF0 = .text:0x800B8EF0; // type:function size:0x118 -__OSInitSram = .text:0x800B9008; // type:function size:0x134 scope:global -__OSLockSram = .text:0x800B913C; // type:function size:0x5C scope:global -__OSLockSramEx = .text:0x800B9198; // type:function size:0x5C scope:global -fn_800B91F4 = .text:0x800B91F4; // type:function size:0x308 -__OSUnlockSram = .text:0x800B94FC; // type:function size:0x24 scope:global -__OSUnlockSramEx = .text:0x800B9520; // type:function size:0x24 scope:global -__OSSyncSram = .text:0x800B9544; // type:function size:0x10 scope:global -OSGetSoundMode = .text:0x800B9554; // type:function size:0x80 -OSSetSoundMode = .text:0x800B95D4; // type:function size:0xA4 -OSGetProgressiveMode = .text:0x800B9678; // type:function size:0x70 -OSSetProgressiveMode = .text:0x800B96E8; // type:function size:0xA4 -OSGetLanguage = .text:0x800B978C; // type:function size:0x6C -OSGetWirelessID = .text:0x800B97F8; // type:function size:0x84 -OSSetWirelessID = .text:0x800B987C; // type:function size:0xAC -OSInitStopwatch = .text:0x800B9928; // type:function size:0x2C -OSStartStopwatch = .text:0x800B9954; // type:function size:0x3C -OSStopStopwatch = .text:0x800B9990; // type:function size:0xCC -OSCheckStopwatch = .text:0x800B9A5C; // type:function size:0x70 -OSResetStopwatch = .text:0x800B9ACC; // type:function size:0x28 -OSDumpStopwatch = .text:0x800B9AF4; // type:function size:0x1A4 -__OSSystemCallVectorStart = .text:0x800B9C98; // type:label scope:global -fn_800B9C98 = .text:0x800B9C98; // type:function size:0x20 -__OSSystemCallVectorEnd = .text:0x800B9CB4; // type:label scope:global -__OSInitSystemCall = .text:0x800B9CB8; // type:function size:0x64 scope:global -__OSThreadInit = .text:0x800B9D1C; // type:function size:0x128 scope:global -OSInitThreadQueue = .text:0x800B9E44; // type:function size:0x10 scope:global -OSGetCurrentThread = .text:0x800B9E54; // type:function size:0xC -OSDisableScheduler = .text:0x800B9E60; // type:function size:0x40 scope:global -OSEnableScheduler = .text:0x800B9EA0; // type:function size:0x40 scope:global -fn_800B9EE0 = .text:0x800B9EE0; // type:function size:0x68 -__OSGetEffectivePriority = .text:0x800B9F48; // type:function size:0x3C -fn_800B9F84 = .text:0x800B9F84; // type:function size:0x1C0 -SelectThread = .text:0x800BA144; // type:function size:0x200 scope:local -__OSReschedule = .text:0x800BA344; // type:function size:0x30 scope:global -OSYieldThread = .text:0x800BA374; // type:function size:0x3C -OSCreateThread = .text:0x800BA3B0; // type:function size:0x120 -OSExitThread = .text:0x800BA4D0; // type:function size:0xE4 -OSCancelThread = .text:0x800BA5B4; // type:function size:0x1BC scope:global -OSResumeThread = .text:0x800BA770; // type:function size:0x288 -OSSuspendThread = .text:0x800BA9F8; // type:function size:0x170 -OSSleepThread = .text:0x800BAB68; // type:function size:0xEC -OSWakeupThread = .text:0x800BAC54; // type:function size:0x104 -OSSetIdleFunction = .text:0x800BAD58; // type:function size:0x90 -OSGetTime = .text:0x800BADE8; // type:function size:0x18 scope:global -OSGetTick = .text:0x800BAE00; // type:function size:0x8 scope:global -__OSGetSystemTime = .text:0x800BAE08; // type:function size:0x64 scope:global -fn_800BAE6C = .text:0x800BAE6C; // type:function size:0x19C -OSTicksToCalendarTime = .text:0x800BB008; // type:function size:0x204 -__init_user = .text:0x800BB20C; // type:function size:0x20 scope:global -__init_cpp = .text:0x800BB22C; // type:function size:0x54 scope:local -_ExitProcess = .text:0x800BB280; // type:function size:0x20 scope:global -DBInit = .text:0x800BB2A0; // type:function size:0x28 scope:global -fn_800BB2C8 = .text:0x800BB2C8; // type:function size:0x48 -__DBExceptionDestination = .text:0x800BB310; // type:function size:0x10 scope:global -__DBIsExceptionMarked = .text:0x800BB320; // type:function size:0x1C scope:global -DBPrintf = .text:0x800BB33C; // type:function size:0x50 scope:global -PSMTXIdentity = .text:0x800BB38C; // type:function size:0x2C -PSMTXCopy = .text:0x800BB3B8; // type:function size:0x34 -PSMTXConcat = .text:0x800BB3EC; // type:function size:0xCC -PSMTXTranspose = .text:0x800BB4B8; // type:function size:0x50 -PSMTXInverse = .text:0x800BB508; // type:function size:0xF8 -PSMTXInvXpose = .text:0x800BB600; // type:function size:0xC8 -PSMTXRotRad = .text:0x800BB6C8; // type:function size:0x70 -PSMTXRotTrig = .text:0x800BB738; // type:function size:0xA8 -PSMTXRotAxisRad = .text:0x800BB7E0; // type:function size:0x104 -PSMTXTrans = .text:0x800BB8E4; // type:function size:0x34 -PSMTXScale = .text:0x800BB918; // type:function size:0x28 -PSMTXQuat = .text:0x800BB940; // type:function size:0xA4 -C_MTXLookAt = .text:0x800BB9E4; // type:function size:0x18C -C_MTXLightPerspective = .text:0x800BBB70; // type:function size:0xCC -PSMTXMultVec = .text:0x800BBC3C; // type:function size:0x54 -PSMTXMultVecArray = .text:0x800BBC90; // type:function size:0x8C -PSMTXMultVecSR = .text:0x800BBD1C; // type:function size:0x54 -C_MTXPerspective = .text:0x800BBD70; // type:function size:0xD0 -C_MTXOrtho = .text:0x800BBE40; // type:function size:0x98 -PSVECAdd = .text:0x800BBED8; // type:function size:0x24 -PSVECSubtract = .text:0x800BBEFC; // type:function size:0x24 -PSVECScale = .text:0x800BBF20; // type:function size:0x1C -PSVECNormalize = .text:0x800BBF3C; // type:function size:0x44 -PSVECSquareMag = .text:0x800BBF80; // type:function size:0x18 -PSVECMag = .text:0x800BBF98; // type:function size:0x3C -PSVECDotProduct = .text:0x800BBFD4; // type:function size:0x20 -PSVECCrossProduct = .text:0x800BBFF4; // type:function size:0x3C -C_VECHalfAngle = .text:0x800BC030; // type:function size:0xD8 -C_VECReflect = .text:0x800BC108; // type:function size:0xD4 -PSVECSquareDistance = .text:0x800BC1DC; // type:function size:0x28 -PSVECDistance = .text:0x800BC204; // type:function size:0x4C -C_QUATAdd = .text:0x800BC250; // type:function size:0x44 -PSQUATAdd = .text:0x800BC294; // type:function size:0x24 -PSQUATMultiply = .text:0x800BC2B8; // type:function size:0x5C -PSQUATNormalize = .text:0x800BC314; // type:function size:0x54 -PSQUATInverse = .text:0x800BC368; // type:function size:0x50 -C_QUATRotAxisRad = .text:0x800BC3B8; // type:function size:0x8C -C_QUATMtx = .text:0x800BC444; // type:function size:0x258 -C_QUATSlerp = .text:0x800BC69C; // type:function size:0x174 -PSMTXReorder = .text:0x800BC810; // type:function size:0x4C -PSMTXROMultVecArray = .text:0x800BC85C; // type:function size:0x118 -__DVDInitWA = .text:0x800BC974; // type:function size:0x40 scope:global -__DVDInterruptHandler = .text:0x800BC9B4; // type:function size:0x2F4 scope:global -fn_800BCCA8 = .text:0x800BCCA8; // type:function size:0x84 -AlarmHandlerForTimeout = .text:0x800BCD2C; // type:function size:0x70 scope:local -fn_800BCD9C = .text:0x800BCD9C; // type:function size:0x110 -fn_800BCEAC = .text:0x800BCEAC; // type:function size:0x80 -fn_800BCF2C = .text:0x800BCF2C; // type:function size:0x298 -fn_800BD1C4 = .text:0x800BD1C4; // type:function size:0x94 -DVDLowWaitCoverClose = .text:0x800BD258; // type:function size:0x2C scope:global -fn_800BD284 = .text:0x800BD284; // type:function size:0xA4 -DVDLowStopMotor = .text:0x800BD328; // type:function size:0x8C scope:global -fn_800BD3B4 = .text:0x800BD3B4; // type:function size:0x8C -fn_800BD440 = .text:0x800BD440; // type:function size:0x9C -fn_800BD4DC = .text:0x800BD4DC; // type:function size:0x98 -fn_800BD574 = .text:0x800BD574; // type:function size:0x8C -fn_800BD600 = .text:0x800BD600; // type:function size:0x9C -DVDLowReset = .text:0x800BD69C; // type:function size:0xBC scope:global -fn_800BD758 = .text:0x800BD758; // type:function size:0x14 -fn_800BD76C = .text:0x800BD76C; // type:function size:0x18 -__DVDLowSetWAType = .text:0x800BD784; // type:function size:0x44 scope:global -__DVDFSInit = .text:0x800BD7C8; // type:function size:0x38 scope:global -DVDConvertPathToEntrynum = .text:0x800BD800; // type:function size:0x2F4 -DVDFastOpen = .text:0x800BDAF4; // type:function size:0x74 -DVDOpen = .text:0x800BDB68; // type:function size:0xC8 -DVDClose = .text:0x800BDC30; // type:function size:0x24 -fn_800BDC54 = .text:0x800BDC54; // type:function size:0x160 -DVDGetCurrentDir = .text:0x800BDDB4; // type:function size:0xC4 -DVDReadAsyncPrio = .text:0x800BDE78; // type:function size:0xC0 -fn_800BDF38 = .text:0x800BDF38; // type:function size:0x30 -DVDReadPrio = .text:0x800BDF68; // type:function size:0x118 -fn_800BE080 = .text:0x800BE080; // type:function size:0x24 -DVDInit = .text:0x800BE0A4; // type:function size:0xFC scope:global -fn_800BE1A0 = .text:0x800BE1A0; // type:function size:0x54 -fn_800BE1F4 = .text:0x800BE1F4; // type:function size:0x80 -cbForStateError = .text:0x800BE274; // type:function size:0xA8 scope:local -fn_800BE31C = .text:0x800BE31C; // type:function size:0x9C -fn_800BE3B8 = .text:0x800BE3B8; // type:function size:0x28 -fn_800BE3E0 = .text:0x800BE3E0; // type:function size:0xB4 -fn_800BE494 = .text:0x800BE494; // type:function size:0x294 -fn_800BE728 = .text:0x800BE728; // type:function size:0x68 -fn_800BE790 = .text:0x800BE790; // type:function size:0x98 -fn_800BE828 = .text:0x800BE828; // type:function size:0x28 -fn_800BE850 = .text:0x800BE850; // type:function size:0x158 -fn_800BE9A8 = .text:0x800BE9A8; // type:function size:0xE4 -fn_800BEA8C = .text:0x800BEA8C; // type:function size:0x34 -fn_800BEAC0 = .text:0x800BEAC0; // type:function size:0x38 -fn_800BEAF8 = .text:0x800BEAF8; // type:function size:0x114 -fn_800BEC0C = .text:0x800BEC0C; // type:function size:0xA4 -fn_800BECB0 = .text:0x800BECB0; // type:function size:0xFC -AlarmHandler = .text:0x800BEDAC; // type:function size:0x44 scope:local -fn_800BEDF0 = .text:0x800BEDF0; // type:function size:0xCC -fn_800BEEBC = .text:0x800BEEBC; // type:function size:0x30 -fn_800BEEEC = .text:0x800BEEEC; // type:function size:0x70 -fn_800BEF5C = .text:0x800BEF5C; // type:function size:0x28 -cbForStateMotorStopped = .text:0x800BEF84; // type:function size:0xE4 scope:local -stateReady = .text:0x800BF068; // type:function size:0x248 scope:local -stateBusy = .text:0x800BF2B0; // type:function size:0x2C0 scope:local -fn_800BF570 = .text:0x800BF570; // type:function size:0x5D4 -fn_800BFB44 = .text:0x800BFB44; // type:function size:0xDC -fn_800BFC20 = .text:0x800BFC20; // type:function size:0xD0 -DVDReadDiskID = .text:0x800BFCF0; // type:function size:0xD4 scope:global -DVDInquiryAsync = .text:0x800BFDC4; // type:function size:0xD0 scope:global -DVDReset = .text:0x800BFE94; // type:function size:0x44 scope:global -DVDGetCommandBlockStatus = .text:0x800BFED8; // type:function size:0x4C -DVDGetDriveStatus = .text:0x800BFF24; // type:function size:0xAC scope:global -DVDSetAutoInvalidation = .text:0x800BFFD0; // type:function size:0x10 -DVDCancelAsync = .text:0x800BFFE0; // type:function size:0x270 -DVDCancel = .text:0x800C0250; // type:function size:0xAC -fn_800C02FC = .text:0x800C02FC; // type:function size:0x24 -DVDGetCurrentDiskID = .text:0x800C0320; // type:function size:0x8 -DVDCheckDisk = .text:0x800C0328; // type:function size:0xE4 -__DVDPrepareResetAsync = .text:0x800C040C; // type:function size:0x11C -__DVDClearWaitingQueue = .text:0x800C0528; // type:function size:0x38 scope:global -__DVDPushWaitingQueue = .text:0x800C0560; // type:function size:0x68 scope:global -__DVDPopWaitingQueue = .text:0x800C05C8; // type:function size:0xA0 scope:global -__DVDCheckWaitingQueue = .text:0x800C0668; // type:function size:0x58 scope:global -__DVDDequeueWaitingQueue = .text:0x800C06C0; // type:function size:0x60 -ErrorCode2Num = .text:0x800C0720; // type:function size:0x11C scope:local -__DVDStoreErrorCode = .text:0x800C083C; // type:function size:0x7C scope:global -cb = .text:0x800C08B8; // type:function size:0xD8 scope:local -__fstLoad = .text:0x800C0990; // type:function size:0x168 scope:global -fn_800C0AF8 = .text:0x800C0AF8; // type:function size:0x228 -VISetPreRetraceCallback = .text:0x800C0D20; // type:function size:0x44 -VISetPostRetraceCallback = .text:0x800C0D64; // type:function size:0x44 -fn_800C0DA8 = .text:0x800C0DA8; // type:function size:0x90 -__VIInit = .text:0x800C0E38; // type:function size:0x1F8 -VIInit = .text:0x800C1030; // type:function size:0x478 -VIWaitForRetrace = .text:0x800C14A8; // type:function size:0x54 -fn_800C14FC = .text:0x800C14FC; // type:function size:0x2D4 -fn_800C17D0 = .text:0x800C17D0; // type:function size:0x1A0 -VIConfigure = .text:0x800C1970; // type:function size:0x79C -VIFlush = .text:0x800C210C; // type:function size:0x11C -VISetNextFrameBuffer = .text:0x800C2228; // type:function size:0x6C -VISetBlack = .text:0x800C2294; // type:function size:0x7C -VIGetRetraceCount = .text:0x800C2310; // type:function size:0x8 -fn_800C2318 = .text:0x800C2318; // type:function size:0x68 -VIGetNextField = .text:0x800C2380; // type:function size:0xA8 -VIGetCurrentLine = .text:0x800C2428; // type:function size:0x98 -VIGetTvFormat = .text:0x800C24C0; // type:function size:0x7C scope:global -VIGetDTVStatus = .text:0x800C253C; // type:function size:0x3C -DEMOGetRenderModeObj = .text:0x800C2578; // type:function size:0x8 -DEMOInitCaption = .text:0x800C2580; // type:function size:0x228 -DEMOPuts = .text:0x800C27A8; // type:function size:0x310 -DEMOPrintf = .text:0x800C2AB8; // type:function size:0xC4 -DEMOWriteStats = .text:0x800C2B7C; // type:function size:0x394 -DEMOUpdateStats = .text:0x800C2F10; // type:function size:0x58 -DEMOPrintStats = .text:0x800C2F68; // type:function size:0x96C -fn_800C38D4 = .text:0x800C38D4; // type:function size:0x130 -PADClamp = .text:0x800C3A04; // type:function size:0x108 -fn_800C3B0C = .text:0x800C3B0C; // type:function size:0x1A4 -fn_800C3CB0 = .text:0x800C3CB0; // type:function size:0xC4 -fn_800C3D74 = .text:0x800C3D74; // type:function size:0xC0 -fn_800C3E34 = .text:0x800C3E34; // type:function size:0xD8 -fn_800C3F0C = .text:0x800C3F0C; // type:function size:0x32C -fn_800C4238 = .text:0x800C4238; // type:function size:0x134 -PADReset = .text:0x800C436C; // type:function size:0x100 -PADRecalibrate = .text:0x800C446C; // type:function size:0x104 -PADInit = .text:0x800C4570; // type:function size:0x210 -PADRead = .text:0x800C4780; // type:function size:0x3AC -PADControlMotor = .text:0x800C4B2C; // type:function size:0xA4 -PADSetSpec = .text:0x800C4BD0; // type:function size:0x60 -fn_800C4C30 = .text:0x800C4C30; // type:function size:0x174 -fn_800C4DA4 = .text:0x800C4DA4; // type:function size:0x174 -fn_800C4F18 = .text:0x800C4F18; // type:function size:0x3F8 -fn_800C5310 = .text:0x800C5310; // type:function size:0x194 -fn_800C54A4 = .text:0x800C54A4; // type:function size:0x60 -PADSetSamplingCallback = .text:0x800C5504; // type:function size:0x54 -__PADDisableRecalibration = .text:0x800C5558; // type:function size:0x7C scope:global -AIRegisterDMACallback = .text:0x800C55D4; // type:function size:0x44 -AIInitDMA = .text:0x800C5618; // type:function size:0x88 -AIStartDMA = .text:0x800C56A0; // type:function size:0x18 -AIStopDMA = .text:0x800C56B8; // type:function size:0x18 -AIGetDMAStartAddr = .text:0x800C56D0; // type:function size:0x1C -AISetStreamPlayState = .text:0x800C56EC; // type:function size:0xD8 -AIGetStreamPlayState = .text:0x800C57C4; // type:function size:0x10 -AISetDSPSampleRate = .text:0x800C57D4; // type:function size:0xE0 -AIGetDSPSampleRate = .text:0x800C58B4; // type:function size:0x14 -fn_800C58C8 = .text:0x800C58C8; // type:function size:0xD4 -AIGetStreamSampleRate = .text:0x800C599C; // type:function size:0x10 -AISetStreamVolLeft = .text:0x800C59AC; // type:function size:0x1C -AIGetStreamVolLeft = .text:0x800C59C8; // type:function size:0x10 -AISetStreamVolRight = .text:0x800C59D8; // type:function size:0x1C -AIGetStreamVolRight = .text:0x800C59F4; // type:function size:0x10 -AIInit = .text:0x800C5A04; // type:function size:0x164 -fn_800C5B68 = .text:0x800C5B68; // type:function size:0x7C -fn_800C5BE4 = .text:0x800C5BE4; // type:function size:0x90 -fn_800C5C74 = .text:0x800C5C74; // type:function size:0x58 -fn_800C5CCC = .text:0x800C5CCC; // type:function size:0x1E4 -fn_800C5EB0 = .text:0x800C5EB0; // type:function size:0x44 -fn_800C5EF4 = .text:0x800C5EF4; // type:function size:0x3C -fn_800C5F30 = .text:0x800C5F30; // type:function size:0xF0 -fn_800C6020 = .text:0x800C6020; // type:function size:0x68 -fn_800C6088 = .text:0x800C6088; // type:function size:0x74 -ARCheckInit = .text:0x800C60FC; // type:function size:0x8 -ARInit = .text:0x800C6104; // type:function size:0xBC -fn_800C61C0 = .text:0x800C61C0; // type:function size:0x4 -fn_800C61C4 = .text:0x800C61C4; // type:function size:0x8 -ARGetSize = .text:0x800C61CC; // type:function size:0x8 -fn_800C61D4 = .text:0x800C61D4; // type:function size:0x78 -fn_800C624C = .text:0x800C624C; // type:function size:0x914 -fn_800C6B60 = .text:0x800C6B60; // type:function size:0x100 -fn_800C6C60 = .text:0x800C6C60; // type:function size:0x4 -fn_800C6C64 = .text:0x800C6C64; // type:function size:0xCC -ARQInit = .text:0x800C6D30; // type:function size:0x68 -ARQPostRequest = .text:0x800C6D98; // type:function size:0x15C -fn_800C6EF4 = .text:0x800C6EF4; // type:function size:0x10 -fn_800C6F04 = .text:0x800C6F04; // type:function size:0x10 -fn_800C6F14 = .text:0x800C6F14; // type:function size:0x18 -fn_800C6F2C = .text:0x800C6F2C; // type:function size:0x14 -fn_800C6F40 = .text:0x800C6F40; // type:function size:0xB8 -fn_800C6FF8 = .text:0x800C6FF8; // type:function size:0x48 -fn_800C7040 = .text:0x800C7040; // type:function size:0x40 -fn_800C7080 = .text:0x800C7080; // type:function size:0x10 -fn_800C7090 = .text:0x800C7090; // type:function size:0x70 -fn_800C7100 = .text:0x800C7100; // type:function size:0x50 -fn_800C7150 = .text:0x800C7150; // type:function size:0x424 -fn_800C7574 = .text:0x800C7574; // type:function size:0x1A0 -fn_800C7714 = .text:0x800C7714; // type:function size:0x18C -fn_800C78A0 = .text:0x800C78A0; // type:function size:0xA0 -fn_800C7940 = .text:0x800C7940; // type:function size:0x94 -fn_800C79D4 = .text:0x800C79D4; // type:function size:0x7C -fn_800C7A50 = .text:0x800C7A50; // type:function size:0x24 -GXInit = .text:0x800C7A74; // type:function size:0x7CC scope:global -__GXInitGX = .text:0x800C8240; // type:function size:0x884 scope:global -fn_800C8AC4 = .text:0x800C8AC4; // type:function size:0x13C -GXInitFifoBase = .text:0x800C8C00; // type:function size:0x6C scope:global -fn_800C8C6C = .text:0x800C8C6C; // type:function size:0x70 -fn_800C8CDC = .text:0x800C8CDC; // type:function size:0xC -GXSetCPUFifo = .text:0x800C8CE8; // type:function size:0x110 scope:global -GXSetGPFifo = .text:0x800C8DF8; // type:function size:0x178 scope:global -fn_800C8F70 = .text:0x800C8F70; // type:function size:0x20 -fn_800C8F90 = .text:0x800C8F90; // type:function size:0xDC -__GXFifoInit = .text:0x800C906C; // type:function size:0x4C scope:global -fn_800C90B8 = .text:0x800C90B8; // type:function size:0x28 -fn_800C90E0 = .text:0x800C90E0; // type:function size:0x24 -fn_800C9104 = .text:0x800C9104; // type:function size:0x44 -fn_800C9148 = .text:0x800C9148; // type:function size:0x4C -fn_800C9194 = .text:0x800C9194; // type:function size:0x4C -fn_800C91E0 = .text:0x800C91E0; // type:function size:0xFC -GXGetCPUFifo = .text:0x800C92DC; // type:function size:0x8 -GXGetGPFifo = .text:0x800C92E4; // type:function size:0x8 -__GXXfVtxSpecs = .text:0x800C92EC; // type:function size:0x158 -GXSetVtxDesc = .text:0x800C9444; // type:function size:0x360 -__GXSetVCD = .text:0x800C97A4; // type:function size:0x54 -__GXCalculateVLim = .text:0x800C97F8; // type:function size:0x124 -GXClearVtxDesc = .text:0x800C991C; // type:function size:0x4C -GXSetVtxAttrFmt = .text:0x800C9968; // type:function size:0x35C -__GXSetVAT = .text:0x800C9CC4; // type:function size:0x9C -GXSetArray = .text:0x800C9D60; // type:function size:0x8C -GXInvalidateVtxCache = .text:0x800C9DEC; // type:function size:0x10 -GXSetTexCoordGen2 = .text:0x800C9DFC; // type:function size:0x2D0 -GXSetNumTexGens = .text:0x800CA0CC; // type:function size:0x48 -GXSetMisc = .text:0x800CA114; // type:function size:0x78 scope:global -GXFlush = .text:0x800CA18C; // type:function size:0x5C -GXResetWriteGatherPipe = .text:0x800CA1E8; // type:function size:0x34 -__GXAbortWaitPECopyDone = .text:0x800CA21C; // type:function size:0xCC -GXSetDrawSync = .text:0x800CA2E8; // type:function size:0xB8 -GXSetDrawDone = .text:0x800CA3A0; // type:function size:0x98 -GXWaitDrawDone = .text:0x800CA438; // type:function size:0x4C -GXDrawDone = .text:0x800CA484; // type:function size:0x80 -GXPixModeSync = .text:0x800CA504; // type:function size:0x24 -GXPokeAlphaMode = .text:0x800CA528; // type:function size:0x14 -GXPokeAlphaRead = .text:0x800CA53C; // type:function size:0x14 -GXPokeAlphaUpdate = .text:0x800CA550; // type:function size:0x1C -GXPokeBlendMode = .text:0x800CA56C; // type:function size:0x88 -GXPokeColorUpdate = .text:0x800CA5F4; // type:function size:0x1C -GXPokeDstAlpha = .text:0x800CA610; // type:function size:0x14 -GXPokeDither = .text:0x800CA624; // type:function size:0x1C -GXPokeZMode = .text:0x800CA640; // type:function size:0x28 -GXSetDrawSyncCallback = .text:0x800CA668; // type:function size:0x44 -GXTokenInterruptHandler = .text:0x800CA6AC; // type:function size:0x88 -GXFinishInterruptHandler = .text:0x800CA734; // type:function size:0x84 -__GXPEInit = .text:0x800CA7B8; // type:function size:0x80 scope:global -__GXSetDirtyState = .text:0x800CA838; // type:function size:0xA0 -GXBegin = .text:0x800CA8D8; // type:function size:0xF0 -__GXSendFlushPrim = .text:0x800CA9C8; // type:function size:0x88 -GXSetLineWidth = .text:0x800CAA50; // type:function size:0x58 -GXSetPointSize = .text:0x800CAAA8; // type:function size:0x54 -GXEnableTexOffsets = .text:0x800CAAFC; // type:function size:0x64 -GXSetCullMode = .text:0x800CAB60; // type:function size:0x50 -GXSetCoPlanar = .text:0x800CABB0; // type:function size:0x44 -__GXSetGenMode = .text:0x800CABF4; // type:function size:0x24 -GXAdjustForOverscan = .text:0x800CAC18; // type:function size:0x120 -GXSetDispCopySrc = .text:0x800CAD38; // type:function size:0xC0 -GXSetTexCopySrc = .text:0x800CADF8; // type:function size:0xC0 -GXSetDispCopyDst = .text:0x800CAEB8; // type:function size:0x44 -GXSetTexCopyDst = .text:0x800CAEFC; // type:function size:0x170 -GXSetDispCopyFrame2Field = .text:0x800CB06C; // type:function size:0x2C -GXSetCopyClamp = .text:0x800CB098; // type:function size:0x7C -GXGetYScaleFactor = .text:0x800CB114; // type:function size:0x238 -GXSetDispCopyYScale = .text:0x800CB34C; // type:function size:0xD4 -GXSetCopyClear = .text:0x800CB420; // type:function size:0x68 -GXSetCopyFilter = .text:0x800CB488; // type:function size:0x228 -GXSetDispCopyGamma = .text:0x800CB6B0; // type:function size:0x1C -GXCopyDisp = .text:0x800CB6CC; // type:function size:0x170 -GXCopyTex = .text:0x800CB83C; // type:function size:0x190 -GXClearBoundingBox = .text:0x800CB9CC; // type:function size:0x38 -GXInitLightAttn = .text:0x800CBA04; // type:function size:0x1C -GXInitLightAttnK = .text:0x800CBA20; // type:function size:0x10 -GXInitLightSpot = .text:0x800CBA30; // type:function size:0x180 -GXInitLightDistAttn = .text:0x800CBBB0; // type:function size:0xD0 -GXInitLightPos = .text:0x800CBC80; // type:function size:0x10 -GXInitLightDir = .text:0x800CBC90; // type:function size:0x1C -GXInitSpecularDir = .text:0x800CBCAC; // type:function size:0xD4 -GXInitLightColor = .text:0x800CBD80; // type:function size:0x28 -GXLoadLightObjImm = .text:0x800CBDA8; // type:function size:0x148 -GXSetChanAmbColor = .text:0x800CBEF0; // type:function size:0x168 -GXSetChanMatColor = .text:0x800CC058; // type:function size:0x168 -GXSetNumChans = .text:0x800CC1C0; // type:function size:0x4C -GXSetChanCtrl = .text:0x800CC20C; // type:function size:0x1E4 -GXGetTexBufferSize = .text:0x800CC3F0; // type:function size:0x15C -__GetImageTileCount = .text:0x800CC54C; // type:function size:0xC8 -GXInitTexObj = .text:0x800CC614; // type:function size:0x274 -GXInitTexObjCI = .text:0x800CC888; // type:function size:0x48 -GXInitTexObjLOD = .text:0x800CC8D0; // type:function size:0x194 -GXGetTexObjFmt = .text:0x800CCA64; // type:function size:0x8 -GXLoadTexObjPreLoaded = .text:0x800CCA6C; // type:function size:0x1A8 -GXLoadTexObj = .text:0x800CCC14; // type:function size:0x54 -GXInitTlutObj = .text:0x800CCC68; // type:function size:0x48 -GXLoadTlut = .text:0x800CCCB0; // type:function size:0x9C -GXInitTexCacheRegion = .text:0x800CCD4C; // type:function size:0x120 scope:global -GXInitTlutRegion = .text:0x800CCE6C; // type:function size:0x48 scope:global -GXInvalidateTexAll = .text:0x800CCEB4; // type:function size:0x48 -GXSetTexRegionCallback = .text:0x800CCEFC; // type:function size:0x14 -GXSetTlutRegionCallback = .text:0x800CCF10; // type:function size:0x14 -GXSetTexCoordScaleManually = .text:0x800CCF24; // type:function size:0x9C -fn_800CCFC0 = .text:0x800CCFC0; // type:function size:0xCC -__GXSetSUTexRegs = .text:0x800CD08C; // type:function size:0x17C -__GXSetTmemConfig = .text:0x800CD208; // type:function size:0x240 scope:global -GXSetTevIndirect = .text:0x800CD448; // type:function size:0x9C -GXSetIndTexMtx = .text:0x800CD4E4; // type:function size:0x160 -GXSetIndTexCoordScale = .text:0x800CD644; // type:function size:0x1D4 -GXSetIndTexOrder = .text:0x800CD818; // type:function size:0x138 -GXSetNumIndStages = .text:0x800CD950; // type:function size:0x2C -GXSetTevDirect = .text:0x800CD97C; // type:function size:0x48 -GXSetTevIndWarp = .text:0x800CD9C4; // type:function size:0x64 -GXSetTevIndTile = .text:0x800CDA28; // type:function size:0x1AC -__GXUpdateBPMask = .text:0x800CDBD4; // type:function size:0xCC -__GXFlushTextureState = .text:0x800CDCA0; // type:function size:0x24 scope:global -GXSetTevOp = .text:0x800CDCC4; // type:function size:0x1A4 -GXSetTevColorIn = .text:0x800CDE68; // type:function size:0x80 -GXSetTevAlphaIn = .text:0x800CDEE8; // type:function size:0x84 -GXSetTevColorOp = .text:0x800CDF6C; // type:function size:0xC0 -GXSetTevAlphaOp = .text:0x800CE02C; // type:function size:0xC0 -GXSetTevColor = .text:0x800CE0EC; // type:function size:0x74 -GXSetTevColorS10 = .text:0x800CE160; // type:function size:0x74 -GXSetTevKColor = .text:0x800CE1D4; // type:function size:0x74 -GXSetTevKColorSel = .text:0x800CE248; // type:function size:0x6C -GXSetTevKAlphaSel = .text:0x800CE2B4; // type:function size:0x6C -GXSetTevSwapMode = .text:0x800CE320; // type:function size:0x58 -GXSetTevSwapModeTable = .text:0x800CE378; // type:function size:0xA0 -GXSetAlphaCompare = .text:0x800CE418; // type:function size:0x50 -GXSetZTexture = .text:0x800CE468; // type:function size:0x84 -GXSetTevOrder = .text:0x800CE4EC; // type:function size:0x1DC -GXSetNumTevStages = .text:0x800CE6C8; // type:function size:0x34 -GXSetFog = .text:0x800CE6FC; // type:function size:0x1B0 -GXSetFogRangeAdj = .text:0x800CE8AC; // type:function size:0x100 -GXSetBlendMode = .text:0x800CE9AC; // type:function size:0x104 -GXSetColorUpdate = .text:0x800CEAB0; // type:function size:0x40 -GXSetAlphaUpdate = .text:0x800CEAF0; // type:function size:0x40 -GXSetZMode = .text:0x800CEB30; // type:function size:0x78 -GXSetZCompLoc = .text:0x800CEBA8; // type:function size:0x40 -GXSetPixelFmt = .text:0x800CEBE8; // type:function size:0x110 -GXSetDither = .text:0x800CECF8; // type:function size:0x40 -GXSetDstAlpha = .text:0x800CED38; // type:function size:0x54 -GXSetFieldMask = .text:0x800CED8C; // type:function size:0x38 -GXSetFieldMode = .text:0x800CEDC4; // type:function size:0x80 -__GXSetRange = .text:0x800CEE44; // type:function size:0x4 -GXBeginDisplayList = .text:0x800CEE48; // type:function size:0xC8 -GXEndDisplayList = .text:0x800CEF10; // type:function size:0xD4 -GXCallDisplayList = .text:0x800CEFE4; // type:function size:0x70 -GXProject = .text:0x800CF054; // type:function size:0x174 -GXSetProjection = .text:0x800CF1C8; // type:function size:0xD4 -GXGetProjectionv = .text:0x800CF29C; // type:function size:0x78 -fn_800CF314 = .text:0x800CF314; // type:function size:0x34 -fn_800CF348 = .text:0x800CF348; // type:function size:0x34 -fn_800CF37C = .text:0x800CF37C; // type:function size:0x24 -GXLoadPosMtxImm = .text:0x800CF3A0; // type:function size:0x3C -GXLoadNrmMtxImm = .text:0x800CF3DC; // type:function size:0x40 -GXSetCurrentMtx = .text:0x800CF41C; // type:function size:0x3C -GXLoadTexMtxImm = .text:0x800CF458; // type:function size:0x84 -GXSetViewportJitter = .text:0x800CF4DC; // type:function size:0x11C -GXSetViewport = .text:0x800CF5F8; // type:function size:0x24 -GXGetViewportv = .text:0x800CF61C; // type:function size:0x4C -GXSetScissor = .text:0x800CF668; // type:function size:0xB0 -GXSetScissorBoxOffset = .text:0x800CF718; // type:function size:0x44 -GXSetClipMode = .text:0x800CF75C; // type:function size:0x28 -__GXSetMatrixIndex = .text:0x800CF784; // type:function size:0x84 -GXSetGPMetric = .text:0x800CF808; // type:function size:0x898 -GXReadGPMetric = .text:0x800D00A0; // type:function size:0x1A8 -GXClearGPMetric = .text:0x800D0248; // type:function size:0x10 -GXReadGP0Metric = .text:0x800D0258; // type:function size:0x2C -GXReadGP1Metric = .text:0x800D0284; // type:function size:0x2C -GXReadMemMetric = .text:0x800D02B0; // type:function size:0x214 -GXClearMemMetric = .text:0x800D04C4; // type:function size:0xA8 -GXReadPixMetric = .text:0x800D056C; // type:function size:0x138 -GXClearPixMetric = .text:0x800D06A4; // type:function size:0x30 -GXSetVCacheMetric = .text:0x800D06D4; // type:function size:0x50 -GXReadVCacheMetric = .text:0x800D0724; // type:function size:0x94 -GXClearVCacheMetric = .text:0x800D07B8; // type:function size:0x1C -fn_800D07D4 = .text:0x800D07D4; // type:function size:0x4 -fn_800D07D8 = .text:0x800D07D8; // type:function size:0x34 -fn_800D080C = .text:0x800D080C; // type:function size:0xD8 -fn_800D08E4 = .text:0x800D08E4; // type:function size:0x118 -fn_800D09FC = .text:0x800D09FC; // type:function size:0xA8 -fn_800D0AA4 = .text:0x800D0AA4; // type:function size:0x84 -fn_800D0B28 = .text:0x800D0B28; // type:function size:0xC0 -fn_800D0BE8 = .text:0x800D0BE8; // type:function size:0xF0 -fn_800D0CD8 = .text:0x800D0CD8; // type:function size:0xAC -fn_800D0D84 = .text:0x800D0D84; // type:function size:0xA4 -fn_800D0E28 = .text:0x800D0E28; // type:function size:0x22C -fn_800D1054 = .text:0x800D1054; // type:function size:0x110 -__CARDStart = .text:0x800D1164; // type:function size:0x1B4 -__CARDReadSegment = .text:0x800D1318; // type:function size:0x134 -__CARDWritePage = .text:0x800D144C; // type:function size:0x11C -__CARDEraseSector = .text:0x800D1568; // type:function size:0xE0 -CARDInit = .text:0x800D1648; // type:function size:0x9C -__CARDSetDiskID = .text:0x800D16E4; // type:function size:0x38 -__CARDGetControlBlock = .text:0x800D171C; // type:function size:0xB8 -__CARDPutControlBlock = .text:0x800D17D4; // type:function size:0x64 -CARDFreeBlocks = .text:0x800D1838; // type:function size:0x150 -CARDGetSectorSize = .text:0x800D1988; // type:function size:0x84 -__CARDSync = .text:0x800D1A0C; // type:function size:0x98 -fn_800D1AA4 = .text:0x800D1AA4; // type:function size:0x50 -fn_800D1AF4 = .text:0x800D1AF4; // type:function size:0x16C -fn_800D1C60 = .text:0x800D1C60; // type:function size:0x144 -fn_800D1DA4 = .text:0x800D1DA4; // type:function size:0xC4 -__CARDUnlock = .text:0x800D1E68; // type:function size:0xB58 -fn_800D29C0 = .text:0x800D29C0; // type:function size:0x70 -fn_800D2A30 = .text:0x800D2A30; // type:function size:0x324 -fn_800D2D54 = .text:0x800D2D54; // type:function size:0xDC -__CARDRead = .text:0x800D2E30; // type:function size:0x64 -fn_800D2E94 = .text:0x800D2E94; // type:function size:0xDC -__CARDWrite = .text:0x800D2F70; // type:function size:0x64 -__CARDGetFatBlock = .text:0x800D2FD4; // type:function size:0x8 -fn_800D2FDC = .text:0x800D2FDC; // type:function size:0xD4 -fn_800D30B0 = .text:0x800D30B0; // type:function size:0xC8 -__CARDAllocBlock = .text:0x800D3178; // type:function size:0x118 -__CARDFreeBlock = .text:0x800D3290; // type:function size:0x9C -__CARDUpdateFatBlock = .text:0x800D332C; // type:function size:0xAC -__CARDGetDirBlock = .text:0x800D33D8; // type:function size:0x8 -fn_800D33E0 = .text:0x800D33E0; // type:function size:0xD0 -fn_800D34B0 = .text:0x800D34B0; // type:function size:0xC8 -__CARDUpdateDir = .text:0x800D3578; // type:function size:0xC4 -__CARDCheckSum = .text:0x800D363C; // type:function size:0x1B0 -fn_800D37EC = .text:0x800D37EC; // type:function size:0x284 -fn_800D3A70 = .text:0x800D3A70; // type:function size:0x240 -fn_800D3CB0 = .text:0x800D3CB0; // type:function size:0x284 -__CARDVerify = .text:0x800D3F34; // type:function size:0x8C -CARDCheckExAsync = .text:0x800D3FC0; // type:function size:0x590 -CARDCheck = .text:0x800D4550; // type:function size:0x54 -fn_800D45A4 = .text:0x800D45A4; // type:function size:0xCC -CARDProbeEx = .text:0x800D4670; // type:function size:0x17C -fn_800D47EC = .text:0x800D47EC; // type:function size:0x410 -__CARDMountCallback = .text:0x800D4BFC; // type:function size:0x138 -CARDMountAsync = .text:0x800D4D34; // type:function size:0x1A0 -CARDMount = .text:0x800D4ED4; // type:function size:0x48 -fn_800D4F1C = .text:0x800D4F1C; // type:function size:0x9C -CARDUnmount = .text:0x800D4FB8; // type:function size:0xAC -fn_800D5064 = .text:0x800D5064; // type:function size:0x144 -__CARDFormatRegionAsync = .text:0x800D51A8; // type:function size:0x658 -CARDFormat = .text:0x800D5800; // type:function size:0x54 -__CARDCompareFileName = .text:0x800D5854; // type:function size:0x68 -__CARDAccess = .text:0x800D58BC; // type:function size:0x98 -__CARDIsPublic = .text:0x800D5954; // type:function size:0x30 -__CARDGetFileNo = .text:0x800D5984; // type:function size:0x150 -CARDOpen = .text:0x800D5AD4; // type:function size:0x178 -CARDClose = .text:0x800D5C4C; // type:function size:0x54 -__CARDIsOpened = .text:0x800D5CA0; // type:function size:0x8 -fn_800D5CA8 = .text:0x800D5CA8; // type:function size:0x130 -CARDCreateAsync = .text:0x800D5DD8; // type:function size:0x220 -CARDCreate = .text:0x800D5FF8; // type:function size:0x48 -__CARDSeek = .text:0x800D6040; // type:function size:0x1B8 -fn_800D61F8 = .text:0x800D61F8; // type:function size:0x130 -CARDReadAsync = .text:0x800D6328; // type:function size:0x148 -CARDRead = .text:0x800D6470; // type:function size:0x48 -fn_800D64B8 = .text:0x800D64B8; // type:function size:0x170 -fn_800D6628 = .text:0x800D6628; // type:function size:0xB0 -CARDWriteAsync = .text:0x800D66D8; // type:function size:0x114 -CARDWrite = .text:0x800D67EC; // type:function size:0x48 -fn_800D6834 = .text:0x800D6834; // type:function size:0xA4 -CARDDeleteAsync = .text:0x800D68D8; // type:function size:0x110 -CARDDelete = .text:0x800D69E8; // type:function size:0x48 -fn_800D6A30 = .text:0x800D6A30; // type:function size:0x1F8 -CARDGetStatus = .text:0x800D6C28; // type:function size:0x12C -CARDSetStatusAsync = .text:0x800D6D54; // type:function size:0x174 -CARDSetStatus = .text:0x800D6EC8; // type:function size:0x48 -CARDGetSerialNo = .text:0x800D6F10; // type:function size:0xC4 -fn_800D6FD4 = .text:0x800D6FD4; // type:function size:0xF4 -EXIImm = .text:0x800D70C8; // type:function size:0x25C scope:global -fn_800D7324 = .text:0x800D7324; // type:function size:0xA0 -EXIDma = .text:0x800D73C4; // type:function size:0xEC scope:global -EXISync = .text:0x800D74B0; // type:function size:0x238 scope:global -fn_800D76E8 = .text:0x800D76E8; // type:function size:0x48 -fn_800D7730 = .text:0x800D7730; // type:function size:0x7C -__EXIProbe = .text:0x800D77AC; // type:function size:0x174 scope:local -fn_800D7920 = .text:0x800D7920; // type:function size:0x80 -fn_800D79A0 = .text:0x800D79A0; // type:function size:0xB4 -fn_800D7A54 = .text:0x800D7A54; // type:function size:0x10C -fn_800D7B60 = .text:0x800D7B60; // type:function size:0xBC -EXISelect = .text:0x800D7C1C; // type:function size:0x12C scope:global -EXIDeselect = .text:0x800D7D48; // type:function size:0x110 scope:global -EXIIntrruptHandler = .text:0x800D7E58; // type:function size:0xC8 scope:local -TCIntrruptHandler = .text:0x800D7F20; // type:function size:0x218 scope:local -EXTIntrruptHandler = .text:0x800D8138; // type:function size:0xD0 scope:local -EXIInit = .text:0x800D8208; // type:function size:0x114 scope:global -EXILock = .text:0x800D831C; // type:function size:0xF4 scope:global -EXIUnlock = .text:0x800D8410; // type:function size:0xDC scope:global -fn_800D84EC = .text:0x800D84EC; // type:function size:0x18 -fn_800D8504 = .text:0x800D8504; // type:function size:0x28 -fn_800D852C = .text:0x800D852C; // type:function size:0x37C -fn_800D88A8 = .text:0x800D88A8; // type:function size:0x70 -fn_800D8918 = .text:0x800D8918; // type:function size:0x200 -fn_800D8B18 = .text:0x800D8B18; // type:function size:0x20 -fn_800D8B38 = .text:0x800D8B38; // type:function size:0x3C -fn_800D8B74 = .text:0x800D8B74; // type:function size:0x2FC -SIInterruptHandler = .text:0x800D8E70; // type:function size:0x344 scope:local -fn_800D91B4 = .text:0x800D91B4; // type:function size:0x98 -fn_800D924C = .text:0x800D924C; // type:function size:0xCC -fn_800D9318 = .text:0x800D9318; // type:function size:0xF4 -SIInit = .text:0x800D940C; // type:function size:0xA4 scope:global -fn_800D94B0 = .text:0x800D94B0; // type:function size:0x20C -fn_800D96BC = .text:0x800D96BC; // type:function size:0x7C -fn_800D9738 = .text:0x800D9738; // type:function size:0x14 -fn_800D974C = .text:0x800D974C; // type:function size:0x10 -SISetXY = .text:0x800D975C; // type:function size:0x6C scope:global -fn_800D97C8 = .text:0x800D97C8; // type:function size:0x9C -fn_800D9864 = .text:0x800D9864; // type:function size:0x6C -fn_800D98D0 = .text:0x800D98D0; // type:function size:0xD4 -fn_800D99A4 = .text:0x800D99A4; // type:function size:0xC4 -fn_800D9A68 = .text:0x800D9A68; // type:function size:0x8C -SITransfer = .text:0x800D9AF4; // type:function size:0x16C scope:global -GetTypeCallback = .text:0x800D9C60; // type:function size:0x298 scope:local -SIGetType = .text:0x800D9EF8; // type:function size:0x1C4 scope:global -fn_800DA0BC = .text:0x800DA0BC; // type:function size:0x13C -SISetSamplingRate = .text:0x800DA1F8; // type:function size:0xE4 scope:global -SIRefreshSamplingRate = .text:0x800DA2DC; // type:function size:0x24 -THPVideoDecode = .text:0x800DA300; // type:function size:0x244 -fn_800DA544 = .text:0x800DA544; // type:function size:0x44 -fn_800DA588 = .text:0x800DA588; // type:function size:0x13C -fn_800DA6C4 = .text:0x800DA6C4; // type:function size:0x11C -fn_800DA7E0 = .text:0x800DA7E0; // type:function size:0x3BC -fn_800DAB9C = .text:0x800DAB9C; // type:function size:0x1E0 -fn_800DAD7C = .text:0x800DAD7C; // type:function size:0xF0 -fn_800DAE6C = .text:0x800DAE6C; // type:function size:0x68 -fn_800DAED4 = .text:0x800DAED4; // type:function size:0x1BC -fn_800DB090 = .text:0x800DB090; // type:function size:0x54 -fn_800DB0E4 = .text:0x800DB0E4; // type:function size:0x24C -fn_800DB330 = .text:0x800DB330; // type:function size:0x10C -fn_800DB43C = .text:0x800DB43C; // type:function size:0x1A88 -fn_800DCEC4 = .text:0x800DCEC4; // type:function size:0x1A8C -fn_800DE950 = .text:0x800DE950; // type:function size:0x1AAC -fn_800E03FC = .text:0x800E03FC; // type:function size:0x67C -fn_800E0A78 = .text:0x800E0A78; // type:function size:0x6A8 -fn_800E1120 = .text:0x800E1120; // type:function size:0x6A8 -THPInit = .text:0x800E17C8; // type:function size:0x78 -THPAudioDecode = .text:0x800E1840; // type:function size:0x464 -fn_800E1CA4 = .text:0x800E1CA4; // type:function size:0x90 -fn_800E1D34 = .text:0x800E1D34; // type:function size:0x3C -__va_arg = .text:0x800E1D70; // type:function size:0xC8 scope:global -__destroy_global_chain = .text:0x800E1E38; // type:function size:0x48 scope:global -__register_global_object = .text:0x800E1E80; // type:function size:0x18 scope:global -fn_800E1E98 = .text:0x800E1E98; // type:function size:0x4C -fn_800E1EE4 = .text:0x800E1EE4; // type:function size:0x48 -fn_800E1F2C = .text:0x800E1F2C; // type:function size:0xC -fn_800E1F38 = .text:0x800E1F38; // type:function size:0x22C -fn_800E2164 = .text:0x800E2164; // type:function size:0x28 -fn_800E218C = .text:0x800E218C; // type:function size:0x28 -fn_800E21B4 = .text:0x800E21B4; // type:function size:0x28 -fn_800E21DC = .text:0x800E21DC; // type:function size:0x20 -__cvt_fp2unsigned = .text:0x800E21FC; // type:function size:0x5C -__save_fpr = .text:0x800E2258; // type:function size:0x4C scope:global -_savefpr_14 = .text:0x800E2258; // type:label scope:global -_savefpr_15 = .text:0x800E225C; // type:label scope:global -_savefpr_16 = .text:0x800E2260; // type:label scope:global -_savefpr_17 = .text:0x800E2264; // type:label scope:global -_savefpr_18 = .text:0x800E2268; // type:label scope:global -_savefpr_19 = .text:0x800E226C; // type:label scope:global -_savefpr_20 = .text:0x800E2270; // type:label scope:global -_savefpr_21 = .text:0x800E2274; // type:label scope:global -_savefpr_22 = .text:0x800E2278; // type:label scope:global -_savefpr_23 = .text:0x800E227C; // type:label scope:global -_savefpr_24 = .text:0x800E2280; // type:label scope:global -_savefpr_25 = .text:0x800E2284; // type:label scope:global -_savefpr_26 = .text:0x800E2288; // type:label scope:global -_savefpr_27 = .text:0x800E228C; // type:label scope:global -_savefpr_28 = .text:0x800E2290; // type:label scope:global -_savefpr_29 = .text:0x800E2294; // type:label scope:global -_savefpr_30 = .text:0x800E2298; // type:label scope:global -_savefpr_31 = .text:0x800E229C; // type:label scope:global -__restore_fpr = .text:0x800E22A4; // type:function size:0x4C scope:global -_restfpr_14 = .text:0x800E22A4; // type:label scope:global -_restfpr_15 = .text:0x800E22A8; // type:label scope:global -_restfpr_16 = .text:0x800E22AC; // type:label scope:global -_restfpr_17 = .text:0x800E22B0; // type:label scope:global -_restfpr_18 = .text:0x800E22B4; // type:label scope:global -_restfpr_19 = .text:0x800E22B8; // type:label scope:global -_restfpr_20 = .text:0x800E22BC; // type:label scope:global -_restfpr_21 = .text:0x800E22C0; // type:label scope:global -_restfpr_22 = .text:0x800E22C4; // type:label scope:global -_restfpr_23 = .text:0x800E22C8; // type:label scope:global -_restfpr_24 = .text:0x800E22CC; // type:label scope:global -_restfpr_25 = .text:0x800E22D0; // type:label scope:global -_restfpr_26 = .text:0x800E22D4; // type:label scope:global -_restfpr_27 = .text:0x800E22D8; // type:label scope:global -_restfpr_28 = .text:0x800E22DC; // type:label scope:global -_restfpr_29 = .text:0x800E22E0; // type:label scope:global -_restfpr_30 = .text:0x800E22E4; // type:label scope:global -_restfpr_31 = .text:0x800E22E8; // type:label scope:global -__save_gpr = .text:0x800E22F0; // type:function size:0x4C scope:global -_savegpr_14 = .text:0x800E22F0; // type:label scope:global -_savegpr_15 = .text:0x800E22F4; // type:label scope:global -_savegpr_16 = .text:0x800E22F8; // type:label scope:global -_savegpr_17 = .text:0x800E22FC; // type:label scope:global -_savegpr_18 = .text:0x800E2300; // type:label scope:global -_savegpr_19 = .text:0x800E2304; // type:label scope:global -_savegpr_20 = .text:0x800E2308; // type:label scope:global -_savegpr_21 = .text:0x800E230C; // type:label scope:global -_savegpr_22 = .text:0x800E2310; // type:label scope:global -_savegpr_23 = .text:0x800E2314; // type:label scope:global -_savegpr_24 = .text:0x800E2318; // type:label scope:global -_savegpr_25 = .text:0x800E231C; // type:label scope:global -_savegpr_26 = .text:0x800E2320; // type:label scope:global -_savegpr_27 = .text:0x800E2324; // type:label scope:global -_savegpr_28 = .text:0x800E2328; // type:label scope:global -_savegpr_29 = .text:0x800E232C; // type:label scope:global -_savegpr_30 = .text:0x800E2330; // type:label scope:global -_savegpr_31 = .text:0x800E2334; // type:label scope:global -__restore_gpr = .text:0x800E233C; // type:function size:0x4C scope:global -_restgpr_14 = .text:0x800E233C; // type:label scope:global -_restgpr_15 = .text:0x800E2340; // type:label scope:global -_restgpr_16 = .text:0x800E2344; // type:label scope:global -_restgpr_17 = .text:0x800E2348; // type:label scope:global -_restgpr_18 = .text:0x800E234C; // type:label scope:global -_restgpr_19 = .text:0x800E2350; // type:label scope:global -_restgpr_20 = .text:0x800E2354; // type:label scope:global -_restgpr_21 = .text:0x800E2358; // type:label scope:global -_restgpr_22 = .text:0x800E235C; // type:label scope:global -_restgpr_23 = .text:0x800E2360; // type:label scope:global -_restgpr_24 = .text:0x800E2364; // type:label scope:global -_restgpr_25 = .text:0x800E2368; // type:label scope:global -_restgpr_26 = .text:0x800E236C; // type:label scope:global -_restgpr_27 = .text:0x800E2370; // type:label scope:global -_restgpr_28 = .text:0x800E2374; // type:label scope:global -_restgpr_29 = .text:0x800E2378; // type:label scope:global -_restgpr_30 = .text:0x800E237C; // type:label scope:global -_restgpr_31 = .text:0x800E2380; // type:label scope:global -__div2u = .text:0x800E2388; // type:function size:0xEC scope:global -__div2i = .text:0x800E2474; // type:function size:0x138 -__mod2u = .text:0x800E25AC; // type:function size:0xE4 scope:global -__mod2i = .text:0x800E2690; // type:function size:0x10C -__shl2i = .text:0x800E279C; // type:function size:0x24 -__shr2u = .text:0x800E27C0; // type:function size:0x24 -__shr2i = .text:0x800E27E4; // type:function size:0x28 -__cvt_dbl_usll = .text:0x800E280C; // type:function size:0xCC -GetR2__Fv = .text:0x800E28D8; // type:function size:0x8 scope:local -__fini_cpp_exceptions = .text:0x800E28E0; // type:function size:0x34 scope:global -__init_cpp_exceptions = .text:0x800E2914; // type:function size:0x40 scope:global -fn_800E2954 = .text:0x800E2954; // type:function size:0x104 -fn_800E2A58 = .text:0x800E2A58; // type:function size:0x144 -fn_800E2B9C = .text:0x800E2B9C; // type:function size:0x44 -fn_800E2BE0 = .text:0x800E2BE0; // type:function size:0x410 -fn_800E2FF0 = .text:0x800E2FF0; // type:function size:0x1B4 -fn_800E31A4 = .text:0x800E31A4; // type:function size:0x5C -fn_800E3200 = .text:0x800E3200; // type:function size:0x50C -fn_800E370C = .text:0x800E370C; // type:function size:0x248 -fn_800E3954 = .text:0x800E3954; // type:function size:0x1C0 -fn_800E3B14 = .text:0x800E3B14; // type:function size:0x204 -__unregister_fragment = .text:0x800E3D18; // type:function size:0x34 scope:global -__register_fragment = .text:0x800E3D4C; // type:function size:0x34 scope:global -fn_800E3D80 = .text:0x800E3D80; // type:function size:0xC -fn_800E3D8C = .text:0x800E3D8C; // type:function size:0xB8 -exit = .text:0x800E3E44; // type:function size:0xCC scope:global -fn_800E3F10 = .text:0x800E3F10; // type:function size:0x88 -fn_800E3F98 = .text:0x800E3F98; // type:function size:0x134 -fn_800E40CC = .text:0x800E40CC; // type:function size:0x1FC -fn_800E42C8 = .text:0x800E42C8; // type:function size:0xBC -fn_800E4384 = .text:0x800E4384; // type:function size:0x17C -fn_800E4500 = .text:0x800E4500; // type:function size:0x70 -__close_all = .text:0x800E4570; // type:function size:0x98 scope:global -fn_800E4608 = .text:0x800E4608; // type:function size:0x1A4 -fn_800E47AC = .text:0x800E47AC; // type:function size:0x23C -fn_800E49E8 = .text:0x800E49E8; // type:function size:0x340 -fn_800E4D28 = .text:0x800E4D28; // type:function size:0xEC -fn_800E4E14 = .text:0x800E4E14; // type:function size:0x28C -fn_800E50A0 = .text:0x800E50A0; // type:function size:0x110 -fn_800E51B0 = .text:0x800E51B0; // type:function size:0x70 -abs = .text:0x800E5220; // type:function size:0x10 -__flush_buffer = .text:0x800E5230; // type:function size:0xC4 scope:global -__prep_buffer = .text:0x800E52F4; // type:function size:0x34 scope:global -tolower = .text:0x800E5328; // type:function size:0x24 -isalpha = .text:0x800E534C; // type:function size:0x18 -__fwrite = .text:0x800E5364; // type:function size:0x30C scope:global -fwrite = .text:0x800E5670; // type:function size:0x20 scope:global -fflush = .text:0x800E5690; // type:function size:0x138 -fclose = .text:0x800E57C8; // type:function size:0xC0 -fseek = .text:0x800E5888; // type:function size:0x20 scope:global -_fseek = .text:0x800E58A8; // type:function size:0x23C -ftell = .text:0x800E5AE4; // type:function size:0x70 -wcstombs = .text:0x800E5B54; // type:function size:0xA0 scope:global -fn_800E5BF4 = .text:0x800E5BF4; // type:function size:0xA4 -memcmp = .text:0x800E5C98; // type:function size:0x4C -__memrchr = .text:0x800E5CE4; // type:function size:0x2C scope:global -memchr = .text:0x800E5D10; // type:function size:0x2C scope:global -memmove = .text:0x800E5D3C; // type:function size:0xCC -__copy_longs_rev_unaligned = .text:0x800E5E08; // type:function size:0xB0 -__copy_longs_unaligned = .text:0x800E5EB8; // type:function size:0xC4 -__copy_longs_rev_aligned = .text:0x800E5F7C; // type:function size:0xAC -__copy_longs_aligned = .text:0x800E6028; // type:function size:0xC0 -__stdio_atexit = .text:0x800E60E8; // type:function size:0x10 scope:global -sprintf = .text:0x800E60F8; // type:function size:0xE0 -vsprintf = .text:0x800E61D8; // type:function size:0x78 -vsnprintf = .text:0x800E6250; // type:function size:0x74 -vprintf = .text:0x800E62C4; // type:function size:0x7C scope:global -printf = .text:0x800E6340; // type:function size:0xCC -__StringWrite = .text:0x800E640C; // type:function size:0x6C -__FileWrite = .text:0x800E6478; // type:function size:0x58 scope:global -__pformatter = .text:0x800E64D0; // type:function size:0x774 scope:local -float2str = .text:0x800E6C44; // type:function size:0x6EC scope:local -fn_800E7330 = .text:0x800E7330; // type:function size:0x12C -double2hex = .text:0x800E745C; // type:function size:0x338 scope:local -longlong2str = .text:0x800E7794; // type:function size:0x2DC scope:local -long2str = .text:0x800E7A70; // type:function size:0x220 scope:local -parse_format = .text:0x800E7C90; // type:function size:0x504 scope:local -raise = .text:0x800E8194; // type:function size:0xB0 -strchr = .text:0x800E8244; // type:function size:0x30 scope:global -strncmp = .text:0x800E8274; // type:function size:0x40 -strcmp = .text:0x800E82B4; // type:function size:0x128 -strcat = .text:0x800E83DC; // type:function size:0x44 -strcpy = .text:0x800E8420; // type:function size:0xB8 -strlen = .text:0x800E84D8; // type:function size:0x1C scope:global -__close_console = .text:0x800E84F4; // type:function size:0x8 -__write_console = .text:0x800E84FC; // type:function size:0xC4 -fwide = .text:0x800E85C0; // type:function size:0x88 scope:global -__ieee754_acos = .text:0x800E8648; // type:function size:0x310 -__ieee754_asin = .text:0x800E8958; // type:function size:0x264 -__ieee754_atan2 = .text:0x800E8BBC; // type:function size:0x290 -__ieee754_fmod = .text:0x800E8E4C; // type:function size:0x33C -__ieee754_pow = .text:0x800E9188; // type:function size:0x88C -__ieee754_rem_pio2 = .text:0x800E9A14; // type:function size:0x3A0 -__kernel_cos = .text:0x800E9DB4; // type:function size:0xF4 -__kernel_rem_pio2 = .text:0x800E9EA8; // type:function size:0xE54 -__kernel_sin = .text:0x800EACFC; // type:function size:0xA0 -__kernel_tan = .text:0x800EAD9C; // type:function size:0x214 -atan = .text:0x800EAFB0; // type:function size:0x200 -copysign = .text:0x800EB1B0; // type:function size:0x28 -cos = .text:0x800EB1D8; // type:function size:0xD4 -floor = .text:0x800EB2AC; // type:function size:0x148 -frexp = .text:0x800EB3F4; // type:function size:0x8C -ldexp = .text:0x800EB480; // type:function size:0x1C4 -modf = .text:0x800EB644; // type:function size:0xFC -sin = .text:0x800EB740; // type:function size:0xD8 -tan = .text:0x800EB818; // type:function size:0x78 -acos = .text:0x800EB890; // type:function size:0x20 -asin = .text:0x800EB8B0; // type:function size:0x20 -atan2 = .text:0x800EB8D0; // type:function size:0x20 -fmod = .text:0x800EB8F0; // type:function size:0x20 -pow = .text:0x800EB910; // type:function size:0x20 -tanf = .text:0x800EB930; // type:function size:0x24 scope:weak -sinf = .text:0x800EB954; // type:function size:0x24 scope:weak -cosf = .text:0x800EB978; // type:function size:0x24 scope:weak -atan2f = .text:0x800EB99C; // type:function size:0x24 scope:weak -acosf = .text:0x800EB9C0; // type:function size:0x24 scope:weak -TRKNubMainLoop = .text:0x800EB9E4; // type:function size:0xF8 scope:global -TRKDestructEvent = .text:0x800EBADC; // type:function size:0x24 scope:global -fn_800EBB00 = .text:0x800EBB00; // type:function size:0x18 -fn_800EBB18 = .text:0x800EBB18; // type:function size:0xE0 -TRKGetNextEvent = .text:0x800EBBF8; // type:function size:0xB4 scope:global -TRKInitializeEventQueue = .text:0x800EBCAC; // type:function size:0x58 scope:global -TRKNubWelcome = .text:0x800EBD04; // type:function size:0x28 scope:global -TRKTerminateNub = .text:0x800EBD2C; // type:function size:0x24 scope:global -TRKInitializeNub = .text:0x800EBD50; // type:function size:0x134 scope:global -fn_800EBE84 = .text:0x800EBE84; // type:function size:0x1DC -fn_800EC060 = .text:0x800EC060; // type:function size:0xF0 -fn_800EC150 = .text:0x800EC150; // type:function size:0x98 -fn_800EC1E8 = .text:0x800EC1E8; // type:function size:0xE8 -fn_800EC2D0 = .text:0x800EC2D0; // type:function size:0xC8 -fn_800EC398 = .text:0x800EC398; // type:function size:0xB8 -fn_800EC450 = .text:0x800EC450; // type:function size:0x80 -fn_800EC4D0 = .text:0x800EC4D0; // type:function size:0xA8 -fn_800EC578 = .text:0x800EC578; // type:function size:0x68 -fn_800EC5E0 = .text:0x800EC5E0; // type:function size:0x88 -fn_800EC668 = .text:0x800EC668; // type:function size:0x64 -fn_800EC6CC = .text:0x800EC6CC; // type:function size:0x54 -fn_800EC720 = .text:0x800EC720; // type:function size:0x8C -fn_800EC7AC = .text:0x800EC7AC; // type:function size:0xA4 -fn_800EC850 = .text:0x800EC850; // type:function size:0x30 -fn_800EC880 = .text:0x800EC880; // type:function size:0x40 -fn_800EC8C0 = .text:0x800EC8C0; // type:function size:0x64 -TRKGetBuffer = .text:0x800EC924; // type:function size:0x2C scope:global -fn_800EC950 = .text:0x800EC950; // type:function size:0xC8 -TRKInitializeMessageBuffers = .text:0x800ECA18; // type:function size:0x74 scope:global -fn_800ECA8C = .text:0x800ECA8C; // type:function size:0x8 -TRKInitializeSerialHandler = .text:0x800ECA94; // type:function size:0x24 scope:global -fn_800ECAB8 = .text:0x800ECAB8; // type:function size:0x50 -TRKGetInput = .text:0x800ECB08; // type:function size:0x98 scope:global -fn_800ECBA0 = .text:0x800ECBA0; // type:function size:0x2B8 -usr_put_initialize = .text:0x800ECE58; // type:function size:0x4 scope:global -fn_800ECE5C = .text:0x800ECE5C; // type:function size:0x88 -TRKDispatchMessage = .text:0x800ECEE4; // type:function size:0x84 scope:global -TRKInitializeDispatcher = .text:0x800ECF68; // type:function size:0x18 scope:global -fn_800ECF80 = .text:0x800ECF80; // type:function size:0x1A4 -fn_800ED124 = .text:0x800ED124; // type:function size:0x100 -fn_800ED224 = .text:0x800ED224; // type:function size:0x530 -fn_800ED754 = .text:0x800ED754; // type:function size:0x154 -fn_800ED8A8 = .text:0x800ED8A8; // type:function size:0x2F8 -fn_800EDBA0 = .text:0x800EDBA0; // type:function size:0x3C8 -fn_800EDF68 = .text:0x800EDF68; // type:function size:0x3CC -fn_800EE334 = .text:0x800EE334; // type:function size:0x420 -fn_800EE754 = .text:0x800EE754; // type:function size:0x410 -fn_800EEB64 = .text:0x800EEB64; // type:function size:0x398 -fn_800EEEFC = .text:0x800EEEFC; // type:function size:0x230 -fn_800EF12C = .text:0x800EF12C; // type:function size:0x2D8 -fn_800EF404 = .text:0x800EF404; // type:function size:0xB8 -fn_800EF4BC = .text:0x800EF4BC; // type:function size:0xE4 -fn_800EF5A0 = .text:0x800EF5A0; // type:function size:0xBC -fn_800EF65C = .text:0x800EF65C; // type:function size:0xB0 -fn_800EF70C = .text:0x800EF70C; // type:function size:0xB8 -fn_800EF7C4 = .text:0x800EF7C4; // type:function size:0xC -fn_800EF7D0 = .text:0x800EF7D0; // type:function size:0x10 -fn_800EF7E0 = .text:0x800EF7E0; // type:function size:0x190 -fn_800EF970 = .text:0x800EF970; // type:function size:0x120 -fn_800EFA90 = .text:0x800EFA90; // type:function size:0x1A8 -fn_800EFC38 = .text:0x800EFC38; // type:function size:0x1A4 -fn_800EFDDC = .text:0x800EFDDC; // type:function size:0x2C4 -fn_800F00A0 = .text:0x800F00A0; // type:function size:0x8 -fn_800F00A8 = .text:0x800F00A8; // type:function size:0x8 -fn_800F00B0 = .text:0x800F00B0; // type:function size:0x8 -fn_800F00B8 = .text:0x800F00B8; // type:function size:0xD8 -fn_800F0190 = .text:0x800F0190; // type:function size:0x38 -fn_800F01C8 = .text:0x800F01C8; // type:function size:0xBC -fn_800F0284 = .text:0x800F0284; // type:function size:0x8 -fn_800F028C = .text:0x800F028C; // type:function size:0x8 -fn_800F0294 = .text:0x800F0294; // type:function size:0x3C -TRKInterruptHandler = .text:0x800F02D0; // type:function size:0x194 scope:global -TRKExceptionHandler = .text:0x800F0464; // type:function size:0x9C scope:global -TRKSwapAndGo = .text:0x800F0500; // type:function size:0xC4 scope:global -TRKInterruptHandlerEnableInterrupts = .text:0x800F05C4; // type:function size:0x54 scope:global -TRKTargetSetInputPendingPtr = .text:0x800F0618; // type:function size:0x10 scope:global -fn_800F0628 = .text:0x800F0628; // type:function size:0x21C -fn_800F0844 = .text:0x800F0844; // type:function size:0x18 -TRKTargetSetStopped = .text:0x800F085C; // type:function size:0x10 scope:global -TRKTargetStopped = .text:0x800F086C; // type:function size:0x10 scope:global -fn_800F087C = .text:0x800F087C; // type:function size:0x3C -TRKTargetSupportRequest = .text:0x800F08B8; // type:function size:0x208 scope:global -fn_800F0AC0 = .text:0x800F0AC0; // type:function size:0x10 -fn_800F0AD0 = .text:0x800F0AD0; // type:function size:0x7C -fn_800F0B4C = .text:0x800F0B4C; // type:function size:0x6C -fn_800F0BB8 = .text:0x800F0BB8; // type:function size:0xAC -fn_800F0C64 = .text:0x800F0C64; // type:function size:0x124 -TRKTargetInterrupt = .text:0x800F0D88; // type:function size:0x15C scope:global -TRKPostInterruptEvent = .text:0x800F0EE4; // type:function size:0xC0 scope:global -fn_800F0FA4 = .text:0x800F0FA4; // type:function size:0x60 -fn_800F1004 = .text:0x800F1004; // type:function size:0xA4 -fn_800F10A8 = .text:0x800F10A8; // type:function size:0x24 -fn_800F10CC = .text:0x800F10CC; // type:function size:0x438 -fn_800F1504 = .text:0x800F1504; // type:function size:0x170 -fn_800F1674 = .text:0x800F1674; // type:function size:0x13C -fn_800F17B0 = .text:0x800F17B0; // type:function size:0xF4 -fn_800F18A4 = .text:0x800F18A4; // type:function size:0x14C -fn_800F19F0 = .text:0x800F19F0; // type:function size:0x124 -fn_800F1B20 = .text:0x800F1B20; // type:function size:0x8 -fn_800F1B28 = .text:0x800F1B28; // type:function size:0x8 -fn_800F1B30 = .text:0x800F1B30; // type:function size:0x8 -fn_800F1B38 = .text:0x800F1B38; // type:function size:0x8 -InitMetroTRK = .text:0x800F1B40; // type:function size:0x94 scope:global -TRKInitializeTarget = .text:0x800F1BD4; // type:function size:0x4C scope:global -fn_800F1C20 = .text:0x800F1C20; // type:function size:0x40 -EnableMetroTRKInterrupts = .text:0x800F1C60; // type:function size:0x20 scope:global -TRKSaveExtended1Block = .text:0x800F1C80; // type:function size:0x1B8 scope:global -TRKRestoreExtended1Block = .text:0x800F1E38; // type:function size:0x1B8 scope:global -fn_800F1FF0 = .text:0x800F1FF0; // type:function size:0x8 -TRK_main = .text:0x800F1FF8; // type:function size:0x44 scope:global -TRKLoadContext = .text:0x800F203C; // type:function size:0x88 scope:global -TRKUARTInterruptHandler = .text:0x800F20C4; // type:function size:0x4 scope:global -TRK_board_display = .text:0x800F20C8; // type:function size:0x24 scope:global -UnreserveEXI2Port = .text:0x800F20EC; // type:function size:0x30 scope:global -ReserveEXI2Port = .text:0x800F211C; // type:function size:0x30 scope:global -fn_800F214C = .text:0x800F214C; // type:function size:0xF0 -fn_800F223C = .text:0x800F223C; // type:function size:0x28 -fn_800F2264 = .text:0x800F2264; // type:function size:0xE0 -fn_800F2344 = .text:0x800F2344; // type:function size:0x30 -TRKInitializeIntDrivenUART = .text:0x800F2374; // type:function size:0x3C scope:global -InitMetroTRKCommTable = .text:0x800F23B0; // type:function size:0x100 scope:global -TRKEXICallBack = .text:0x800F24B0; // type:function size:0x38 scope:global -TRKTargetContinue = .text:0x800F24E8; // type:function size:0x34 scope:global -fn_800F251C = .text:0x800F251C; // type:function size:0x10 -fn_800F252C = .text:0x800F252C; // type:function size:0xC -fn_800F2538 = .text:0x800F2538; // type:function size:0xBC -fn_800F25F4 = .text:0x800F25F4; // type:function size:0xBC -seqGetPrivateId = .text:0x800F26B0; // type:function size:0x68 -seqStartPlay = .text:0x800F2718; // type:function size:0xAC4 -StartPause = .text:0x800F31DC; // type:function size:0x64 -seqPause = .text:0x800F3240; // type:function size:0x27C -seqStop = .text:0x800F34BC; // type:function size:0x2B0 -seqKillInstancesByGroupID = .text:0x800F376C; // type:function size:0x90 -seqSpeed = .text:0x800F37FC; // type:function size:0xE4 -seqContinue = .text:0x800F38E0; // type:function size:0x108 -seqMute = .text:0x800F39E8; // type:function size:0xBC -seqVolume = .text:0x800F3AA4; // type:function size:0x1CC -seqCrossFade = .text:0x800F3C70; // type:function size:0xB58 -GenerateNextTrackEvent = .text:0x800F47C8; // type:function size:0x218 -HandleEvent = .text:0x800F49E0; // type:function size:0xA94 -InitTrackEvents = .text:0x800F5474; // type:function size:0x174 -HandleTrackEvents = .text:0x800F55E8; // type:function size:0x49C -seqHandle = .text:0x800F5A84; // type:function size:0x9F4 -seqInit = .text:0x800F6478; // type:function size:0x1A8 -synthSetBpm = .text:0x800F6620; // type:function size:0x44 -synthGetTicksPerSecond = .text:0x800F6664; // type:function size:0x34 -synthInitPortamento = .text:0x800F6698; // type:function size:0x78 -do_voice_portamento = .text:0x800F6710; // type:function size:0x2A0 -StartLayer = .text:0x800F69B0; // type:function size:0x3C0 -StartKeymap = .text:0x800F6D70; // type:function size:0x25C -synthStartSound = .text:0x800F6FCC; // type:function size:0x45C -LowPrecisionHandler = .text:0x800F7428; // type:function size:0x744 -ZeroOffsetHandler = .text:0x800F7B6C; // type:function size:0x6FC -synthAddJob = .text:0x800F8268; // type:function size:0x150 -synthStartSynthJobHandling = .text:0x800F83B8; // type:function size:0x64 -synthForceLowPrecisionUpdate = .text:0x800F841C; // type:function size:0x44 -synthKeyStateUpdate = .text:0x800F8460; // type:function size:0x28 -synthHandle = .text:0x800F8488; // type:function size:0x510 -synthFXGetMaxVoices = .text:0x800F8998; // type:function size:0x34 -synthFXStart = .text:0x800F89CC; // type:function size:0xC8 -synthFXSetCtrl = .text:0x800F8A94; // type:function size:0xE4 -synthFXSetCtrl14 = .text:0x800F8B78; // type:function size:0xE4 -synthFXCloneMidiSetup = .text:0x800F8C5C; // type:function size:0x84 -synthSendKeyOff = .text:0x800F8CE0; // type:function size:0x88 -synthVolume = .text:0x800F8D68; // type:function size:0x530 -synthIsFadeOutActive = .text:0x800F9298; // type:function size:0x54 -synthSetMusicVolumeType = .text:0x800F92EC; // type:function size:0x28 -synthHWMessageHandler = .text:0x800F9314; // type:function size:0xD0 -synthInit = .text:0x800F93E4; // type:function size:0x574 -synthExit = .text:0x800F9958; // type:function size:0x24 -sndSeqGetValid = .text:0x800F997C; // type:function size:0x30 -sndSeqPause = .text:0x800F99AC; // type:function size:0x38 -sndSeqStop = .text:0x800F99E4; // type:function size:0x38 -sndSeqSpeed = .text:0x800F9A1C; // type:function size:0x48 -sndSeqContinue = .text:0x800F9A64; // type:function size:0x38 -sndSeqMute = .text:0x800F9A9C; // type:function size:0x58 -sndSeqVolume = .text:0x800F9AF4; // type:function size:0x68 -sndSeqGetMidiCtrl = .text:0x800F9B5C; // type:function size:0x84 -seqGetMIDIPriority = .text:0x800F9BE0; // type:function size:0x1C -sndFXCtrl = .text:0x800F9BFC; // type:function size:0x60 -sndFXCtrl14 = .text:0x800F9C5C; // type:function size:0x60 -sndFXKeyOff = .text:0x800F9CBC; // type:function size:0x40 -sndFXStartParaInfo = .text:0x800F9CFC; // type:function size:0xE0 -sndFXCheck = .text:0x800F9DDC; // type:function size:0x40 -sndSendMessage = .text:0x800F9E1C; // type:function size:0x50 -sndVolume = .text:0x800F9E6C; // type:function size:0x60 -sndMasterVolume = .text:0x800F9ECC; // type:function size:0x94 -sndOutputMode = .text:0x800F9F60; // type:function size:0xEC -sndSetAuxProcessingCallbacks = .text:0x800FA04C; // type:function size:0x158 -synthActivateStudio = .text:0x800FA1A4; // type:function size:0xA8 -synthDeactivateStudio = .text:0x800FA24C; // type:function size:0xF0 -synthAddStudioInput = .text:0x800FA33C; // type:function size:0x20 -synthRemoveStudioInput = .text:0x800FA35C; // type:function size:0x20 -streamInit = .text:0x800FA37C; // type:function size:0xBC -SetHWMix = .text:0x800FA438; // type:function size:0x8C -streamHandle = .text:0x800FA4C4; // type:function size:0x8AC -streamCorrectLoops = .text:0x800FAD70; // type:function size:0x4 -streamKill = .text:0x800FAD74; // type:function size:0x84 -GetPrivateIndex = .text:0x800FADF8; // type:function size:0x160 -sndStreamARAMUpdate = .text:0x800FAF58; // type:function size:0x2C4 -CheckOutputMode = .text:0x800FB21C; // type:function size:0x34 -SetupVolumeAndPan = .text:0x800FB250; // type:function size:0x44 -streamOutputModeChanged = .text:0x800FB294; // type:function size:0x130 -sndStreamAllocEx = .text:0x800FB3C4; // type:function size:0x458 -sndStreamAllocLength = .text:0x800FB81C; // type:function size:0x44 -sndStreamADPCMParameter = .text:0x800FB860; // type:function size:0x6E8 -sndStreamMixParameterEx = .text:0x800FBF48; // type:function size:0x560 -sndStreamFrq = .text:0x800FC4A8; // type:function size:0x654 -sndStreamFree = .text:0x800FCAFC; // type:function size:0x6B8 -sndStreamActivate = .text:0x800FD1B4; // type:function size:0x634 -sndStreamDeactivate = .text:0x800FD7E8; // type:function size:0x700 -dataInsertKeymap = .text:0x800FDEE8; // type:function size:0x1F0 -dataRemoveKeymap = .text:0x800FE0D8; // type:function size:0x17C -dataInsertLayer = .text:0x800FE254; // type:function size:0x248 -dataRemoveLayer = .text:0x800FE49C; // type:function size:0x1C4 -dataInsertCurve = .text:0x800FE660; // type:function size:0x204 -dataRemoveCurve = .text:0x800FE864; // type:function size:0x17C -dataInsertSDir = .text:0x800FE9E0; // type:function size:0x188 -dataRemoveSDir = .text:0x800FEB68; // type:function size:0x2C8 -dataAddSampleReference = .text:0x800FEE30; // type:function size:0xD8 -dataRemoveSampleReference = .text:0x800FEF08; // type:function size:0x98 -dataInsertFX = .text:0x800FEFA0; // type:function size:0x11C -dataRemoveFX = .text:0x800FF0BC; // type:function size:0x15C -dataInsertMacro = .text:0x800FF218; // type:function size:0x304 -dataRemoveMacro = .text:0x800FF51C; // type:function size:0x284 -maccmp = .text:0x800FF7A0; // type:function size:0x10 -dataGetMacro = .text:0x800FF7B0; // type:function size:0x8C -smpcmp = .text:0x800FF83C; // type:function size:0x10 -dataGetSample = .text:0x800FF84C; // type:function size:0x128 -curvecmp = .text:0x800FF974; // type:function size:0x10 -dataGetCurve = .text:0x800FF984; // type:function size:0x5C -dataGetKeymap = .text:0x800FF9E0; // type:function size:0x5C -layercmp = .text:0x800FFA3C; // type:function size:0x10 -dataGetLayer = .text:0x800FFA4C; // type:function size:0x7C -fxcmp = .text:0x800FFAC8; // type:function size:0x10 -dataGetFX = .text:0x800FFAD8; // type:function size:0x9C -dataInit = .text:0x800FFB74; // type:function size:0xE4 -dataExit = .text:0x800FFC58; // type:function size:0x20 -mcmdWait = .text:0x800FFC78; // type:function size:0x2F0 -mcmdGosub = .text:0x800FFF68; // type:function size:0xD0 -mcmdLoop = .text:0x80100038; // type:function size:0x154 -mcmdPlayMacro = .text:0x8010018C; // type:function size:0x18C -mcmdAddKey = .text:0x80100318; // type:function size:0xD8 -mcmdStartSample = .text:0x801003F0; // type:function size:0x1FC -mcmdVibrato = .text:0x801005EC; // type:function size:0x17C -DoSetPitch = .text:0x80100768; // type:function size:0x1A0 -mcmdSetADSR = .text:0x80100908; // type:function size:0x258 -mcmdSetADSRFromCtrl = .text:0x80100B60; // type:function size:0x12C -mcmdSetPitchADSR = .text:0x80100C8C; // type:function size:0x27C -mcmdSetPanning = .text:0x80100F08; // type:function size:0x9C -mcmdSetSurroundPanning = .text:0x80100FA4; // type:function size:0x9C -mcmdScaleVolume = .text:0x80101040; // type:function size:0x134 -mcmdEnvelope = .text:0x80101174; // type:function size:0x130 -mcmdFadeIn = .text:0x801012A4; // type:function size:0x13C -mcmdRandomKey = .text:0x801013E0; // type:function size:0x19C -mcmdVolumeSelect = .text:0x8010157C; // type:function size:0x104 -mcmdPanningSelect = .text:0x80101680; // type:function size:0x104 -mcmdPitchWheelSelect = .text:0x80101784; // type:function size:0x104 -mcmdModWheelSelect = .text:0x80101888; // type:function size:0x104 -mcmdPedalSelect = .text:0x8010198C; // type:function size:0x104 -mcmdPortamentoSelect = .text:0x80101A90; // type:function size:0x104 -mcmdReverbSelect = .text:0x80101B94; // type:function size:0x104 -mcmdPreAuxASelect = .text:0x80101C98; // type:function size:0x104 -mcmdPreAuxBSelect = .text:0x80101D9C; // type:function size:0x104 -mcmdPostAuxBSelect = .text:0x80101EA0; // type:function size:0x104 -mcmdSurroundPanningSelect = .text:0x80101FA4; // type:function size:0x104 -mcmdDopplerSelect = .text:0x801020A8; // type:function size:0x104 -mcmdTremoloSelect = .text:0x801021AC; // type:function size:0x104 -mcmdAuxAFXSelect = .text:0x801022B0; // type:function size:0x17C -mcmdAuxBFXSelect = .text:0x8010242C; // type:function size:0x17C -mcmdPortamento = .text:0x801025A8; // type:function size:0x164 -varGet = .text:0x8010270C; // type:function size:0x68 -mcmdVarCalculation = .text:0x80102774; // type:function size:0x220 -mcmdIfVarCompare = .text:0x80102994; // type:function size:0x14C -macPostMessage = .text:0x80102AE0; // type:function size:0xBC -mcmdSendMessage = .text:0x80102B9C; // type:function size:0x244 -mcmdGetVID = .text:0x80102DE0; // type:function size:0x80 -mcmdSetKeyGroup = .text:0x80102E60; // type:function size:0xDC -macHandleActive = .text:0x80102F3C; // type:function size:0xF58 -macHandle = .text:0x80103E94; // type:function size:0x150 -macSampleEndNotify = .text:0x80103FE4; // type:function size:0xAC -macSetExternalKeyoff = .text:0x80104090; // type:function size:0xF0 -macSetPedalState = .text:0x80104180; // type:function size:0x108 -TimeQueueAdd = .text:0x80104288; // type:function size:0xA4 -macMakeActive = .text:0x8010432C; // type:function size:0x108 -macMakeInactive = .text:0x80104434; // type:function size:0xFC -macStart = .text:0x80104530; // type:function size:0x438 -macInit = .text:0x80104968; // type:function size:0x68 -vidInit = .text:0x801049D0; // type:function size:0xE0 -vidRemoveVoiceReferences = .text:0x80104AB0; // type:function size:0x350 -vidMakeRoot = .text:0x80104E00; // type:function size:0x14 -vidMakeNew = .text:0x80104E14; // type:function size:0x104 -vidGetInternalId = .text:0x80104F18; // type:function size:0x50 -voiceSetPriority = .text:0x80104F68; // type:function size:0x24C -voiceAllocate = .text:0x801051B4; // type:function size:0x460 -voiceFree = .text:0x80105614; // type:function size:0x1C4 -synthInitAllocationAids = .text:0x801057D8; // type:function size:0x2A0 -voiceBlock = .text:0x80105A78; // type:function size:0xFC -voiceUnblock = .text:0x80105B74; // type:function size:0x218 -voiceKill = .text:0x80105D8C; // type:function size:0x234 -voiceKillSound = .text:0x80105FC0; // type:function size:0xC4 -synthKillVoicesByMacroReferences = .text:0x80106084; // type:function size:0x15C -voiceIsLastStarted = .text:0x801061E0; // type:function size:0x74 -voiceSetLastStarted = .text:0x80106254; // type:function size:0x54 -voiceResetLastStarted = .text:0x801062A8; // type:function size:0x74 -voiceInitLastStarted = .text:0x8010631C; // type:function size:0x144 -sndPitchUpOne = .text:0x80106460; // type:function size:0x3C -sndGetPitch = .text:0x8010649C; // type:function size:0xE4 -adsrConvertTimeCents = .text:0x80106580; // type:function size:0x58 -salChangeADSRState = .text:0x801065D8; // type:function size:0x26C -adsrSetup = .text:0x80106844; // type:function size:0x28 -adsrStartRelease = .text:0x8010686C; // type:function size:0x150 -adsrRelease = .text:0x801069BC; // type:function size:0x168 -adsrHandle = .text:0x80106B24; // type:function size:0x198 -adsrHandleLowPrecision = .text:0x80106CBC; // type:function size:0x84 -vsInit = .text:0x80106D40; // type:function size:0xBC -vsSampleStartNotify = .text:0x80106DFC; // type:function size:0x248 -vsSampleEndNotify = .text:0x80107044; // type:function size:0xA8 -vsUpdateBuffer = .text:0x801070EC; // type:function size:0x1F8 -vsSampleUpdates = .text:0x801072E4; // type:function size:0x1E4 -dataInitStack = .text:0x801074C8; // type:function size:0xC -InsertData = .text:0x801074D4; // type:function size:0x27C -sndPushGroup = .text:0x80107750; // type:function size:0x32C -sndPopGroup = .text:0x80107A7C; // type:function size:0x33C -seqPlaySong = .text:0x80107DB8; // type:function size:0x14C -sndSeqPlayEx = .text:0x80107F04; // type:function size:0x11C -salInitDspCtrl = .text:0x80108020; // type:function size:0x3B4 -salInitHRTFBuffer = .text:0x801083D4; // type:function size:0x38 -salExitDspCtrl = .text:0x8010840C; // type:function size:0xE0 -salActivateStudio = .text:0x801084EC; // type:function size:0x150 -salDeactivateStudio = .text:0x8010863C; // type:function size:0x20 -salCheckVolErrorAndResetDelta = .text:0x8010865C; // type:function size:0xF4 -sal_setup_dspvol = .text:0x80108750; // type:function size:0x48 -sal_update_hostplayinfo = .text:0x80108798; // type:function size:0x74 -DoDepopFade = .text:0x8010880C; // type:function size:0xAC -HandleDepopVoice = .text:0x801088B8; // type:function size:0x2DC -SortVoices = .text:0x80108B94; // type:function size:0x258 -salBuildCommandList = .text:0x80108DEC; // type:function size:0x21B8 -salSynthSendMessage = .text:0x8010AFA4; // type:function size:0x44 -salActivateVoice = .text:0x8010AFE8; // type:function size:0xA0 -salDeactivateVoice = .text:0x8010B088; // type:function size:0x60 -salReconnectVoice = .text:0x8010B0E8; // type:function size:0xC8 -salAddStudioInput = .text:0x8010B1B0; // type:function size:0xA8 -salRemoveStudioInput = .text:0x8010B258; // type:function size:0x84 -salHandleAuxProcessing = .text:0x8010B2DC; // type:function size:0x158 -salCalcVolume = .text:0x8010B434; // type:function size:0x6F0 -CheckRoomStatus = .text:0x8010BB24; // type:function size:0x4B4 -CalcEmitter = .text:0x8010BFD8; // type:function size:0x51C -sndUpdateEmitter = .text:0x8010C4F4; // type:function size:0x130 -sndCheckEmitter = .text:0x8010C624; // type:function size:0x20 -AddEmitter = .text:0x8010C644; // type:function size:0x3F8 -sndAddEmitterParaEx = .text:0x8010CA3C; // type:function size:0x50 -sndRemoveEmitter = .text:0x8010CA8C; // type:function size:0xA8 -sndEmitterVoiceID = .text:0x8010CB34; // type:function size:0x5C -s3dKillEmitterByFXID = .text:0x8010CB90; // type:function size:0xFC -sndUpdateListener = .text:0x8010CC8C; // type:function size:0x204 -sndAddListenerEx = .text:0x8010CE90; // type:function size:0x230 -sndRemoveListener = .text:0x8010D0C0; // type:function size:0xD0 -AddStartingEmitter = .text:0x8010D190; // type:function size:0x14C -StartContinousEmitters = .text:0x8010D2DC; // type:function size:0x3B0 -s3dHandle = .text:0x8010D68C; // type:function size:0x82C -s3dInit = .text:0x8010DEB8; // type:function size:0x38 -s3dExit = .text:0x8010DEF0; // type:function size:0x4 -sndInit = .text:0x8010DEF4; // type:function size:0x118 -sndQuit = .text:0x8010E00C; // type:function size:0x34 -sndIsInstalled = .text:0x8010E040; // type:function size:0x8 -salApplyMatrix = .text:0x8010E048; // type:function size:0xAC -salNormalizeVector = .text:0x8010E0F4; // type:function size:0xB4 -salCrossProduct = .text:0x8010E1A8; // type:function size:0x64 -salInvertMatrix = .text:0x8010E20C; // type:function size:0x1FC -inpSetGlobalMIDIDirtyFlag = .text:0x8010E408; // type:function size:0x24 -inpSetMidiCtrl = .text:0x8010E42C; // type:function size:0x608 -inpSetMidiCtrl14 = .text:0x8010EA34; // type:function size:0x124 -inpResetMidiCtrl = .text:0x8010EB58; // type:function size:0xF0 -inpGetMidiCtrl = .text:0x8010EC48; // type:function size:0x2C4 -inpGetChannelDefaults = .text:0x8010EF0C; // type:function size:0x34 -inpResetChannelDefaults = .text:0x8010EF40; // type:function size:0x3C -inpAddCtrl = .text:0x8010EF7C; // type:function size:0x98 -inpFXCopyCtrl = .text:0x8010F014; // type:function size:0x114 -inpSetMidiLastNote = .text:0x8010F128; // type:function size:0x3C -inpGetMidiLastNote = .text:0x8010F164; // type:function size:0x3C -_GetInputValue = .text:0x8010F1A0; // type:function size:0x4A0 -inpGetVolume = .text:0x8010F640; // type:function size:0x48 -inpGetPanning = .text:0x8010F688; // type:function size:0x48 -inpGetSurPanning = .text:0x8010F6D0; // type:function size:0x48 -inpGetPitchBend = .text:0x8010F718; // type:function size:0x48 -inpGetDoppler = .text:0x8010F760; // type:function size:0x48 -inpGetModulation = .text:0x8010F7A8; // type:function size:0x48 -inpGetPedal = .text:0x8010F7F0; // type:function size:0x48 -inpGetPreAuxA = .text:0x8010F838; // type:function size:0x48 -inpGetReverb = .text:0x8010F880; // type:function size:0x48 -inpGetPreAuxB = .text:0x8010F8C8; // type:function size:0x48 -inpGetPostAuxB = .text:0x8010F910; // type:function size:0x48 -inpGetTremolo = .text:0x8010F958; // type:function size:0x48 -inpGetAuxA = .text:0x8010F9A0; // type:function size:0xB4 -inpGetAuxB = .text:0x8010FA54; // type:function size:0xB4 -inpInit = .text:0x8010FB08; // type:function size:0x284 -inpTranslateExCtrl = .text:0x8010FD8C; // type:function size:0x70 -inpGetExCtrl = .text:0x8010FDFC; // type:function size:0xFC -inpSetExCtrl = .text:0x8010FEF8; // type:function size:0x1E4 -sndRand = .text:0x801100DC; // type:function size:0x1C -sndSin = .text:0x801100F8; // type:function size:0x8C -sndBSearch = .text:0x80110184; // type:function size:0xA4 -sndConvertMs = .text:0x80110228; // type:function size:0x10 -sndConvertTicks = .text:0x80110238; // type:function size:0x48 -sndConvert2Ms = .text:0x80110280; // type:function size:0x8 -snd_handle_irq = .text:0x80110288; // type:function size:0x154 -hwInit = .text:0x801103DC; // type:function size:0xB8 -hwExit = .text:0x80110494; // type:function size:0x34 -hwSetTimeOffset = .text:0x801104C8; // type:function size:0x8 -hwGetTimeOffset = .text:0x801104D0; // type:function size:0x8 -hwIsActive = .text:0x801104D8; // type:function size:0x20 -hwSetMesgCallback = .text:0x801104F8; // type:function size:0x8 -hwSetPriority = .text:0x80110500; // type:function size:0x14 -hwInitSamplePlayback = .text:0x80110514; // type:function size:0x1B4 -hwBreak = .text:0x801106C8; // type:function size:0x50 -hwSetADSR = .text:0x80110718; // type:function size:0x1AC -hwSetVirtualSampleLoopBuffer = .text:0x801108C4; // type:function size:0x20 -hwGetVirtualSampleState = .text:0x801108E4; // type:function size:0x14 -hwGetSampleType = .text:0x801108F8; // type:function size:0x14 -hwGetSampleID = .text:0x8011090C; // type:function size:0x14 -hwSetStreamLoopPS = .text:0x80110920; // type:function size:0x14 -hwStart = .text:0x80110934; // type:function size:0x3C -hwKeyOff = .text:0x80110970; // type:function size:0x28 -hwSetPitch = .text:0x80110998; // type:function size:0x78 -hwSetSRCType = .text:0x80110A10; // type:function size:0x2C -hwSetPolyPhaseFilter = .text:0x80110A3C; // type:function size:0x2C -hwSetITDMode = .text:0x80110A68; // type:function size:0x5C -hwSetVolume = .text:0x80110AC4; // type:function size:0x2C0 -hwOff = .text:0x80110D84; // type:function size:0x2C -hwSetAUXProcessingCallbacks = .text:0x80110DB0; // type:function size:0x28 -hwActivateStudio = .text:0x80110DD8; // type:function size:0x20 -hwDeactivateStudio = .text:0x80110DF8; // type:function size:0x20 -hwAddInput = .text:0x80110E18; // type:function size:0x34 -hwRemoveInput = .text:0x80110E4C; // type:function size:0x34 -hwChangeStudio = .text:0x80110E80; // type:function size:0x2C -hwGetPos = .text:0x80110EAC; // type:function size:0xA4 -hwFlushStream = .text:0x80110F50; // type:function size:0x90 -hwInitStream = .text:0x80110FE0; // type:function size:0x20 -hwExitStream = .text:0x80111000; // type:function size:0x20 -hwGetStreamPlayBuffer = .text:0x80111020; // type:function size:0x24 -hwTransAddr = .text:0x80111044; // type:function size:0x4 -hwFrq2Pitch = .text:0x80111048; // type:function size:0x5C -hwInitSampleMem = .text:0x801110A4; // type:function size:0x24 -hwExitSampleMem = .text:0x801110C8; // type:function size:0x20 -hwSaveSample = .text:0x801110E8; // type:function size:0x94 -hwRemoveSample = .text:0x8011117C; // type:function size:0x84 -hwSyncSampleMem = .text:0x80111200; // type:function size:0x20 -hwFrameDone = .text:0x80111220; // type:function size:0x4 -sndSetHooks = .text:0x80111224; // type:function size:0x14 -hwDisableHRTF = .text:0x80111238; // type:function size:0xC -hwGetVirtualSampleID = .text:0x80111244; // type:function size:0x28 -hwVoiceInStartup = .text:0x8011126C; // type:function size:0x20 -aramQueueCallback = .text:0x8011128C; // type:function size:0xA0 -aramUploadData = .text:0x8011132C; // type:function size:0x1DC -aramSyncTransferQueue = .text:0x80111508; // type:function size:0x18 -aramInit = .text:0x80111520; // type:function size:0x2EC -aramExit = .text:0x8011180C; // type:function size:0x4 -aramGetZeroBuffer = .text:0x80111810; // type:function size:0x20 -aramStoreData = .text:0x80111830; // type:function size:0x3BC -aramRemoveData = .text:0x80111BEC; // type:function size:0x18 -InitStreamBuffers = .text:0x80111C04; // type:function size:0xC4 -aramAllocateStreamBuffer = .text:0x80111CC8; // type:function size:0x108 -aramGetStreamBufferAddress = .text:0x80111DD0; // type:function size:0x38 -aramFreeStreamBuffer = .text:0x80111E08; // type:function size:0xF8 -salCallback = .text:0x80111F00; // type:function size:0xA8 -dspInitCallback = .text:0x80111FA8; // type:function size:0x10 -dspResumeCallback = .text:0x80111FB8; // type:function size:0x64 -salInitAi = .text:0x8011201C; // type:function size:0xC8 -salStartAi = .text:0x801120E4; // type:function size:0x20 -salExitAi = .text:0x80112104; // type:function size:0x34 -salAiGetDest = .text:0x80112138; // type:function size:0x30 -salInitDsp = .text:0x80112168; // type:function size:0xBC -salExitDsp = .text:0x80112224; // type:function size:0x34 -salCtrlDsp = .text:0x80112258; // type:function size:0x74 -salGetStartDelay = .text:0x801122CC; // type:function size:0x4C -hwInitIrq = .text:0x80112318; // type:function size:0x2C -hwExitIrq = .text:0x80112344; // type:function size:0x4 -hwEnableIrq = .text:0x80112348; // type:function size:0x38 -hwDisableIrq = .text:0x80112380; // type:function size:0x38 -hwIRQEnterCritical = .text:0x801123B8; // type:function size:0x20 -hwIRQLeaveCritical = .text:0x801123D8; // type:function size:0x20 -salMalloc = .text:0x801123F8; // type:function size:0x28 -salFree = .text:0x80112420; // type:function size:0x2C -sndAuxCallbackReverbSTD = .text:0x8011244C; // type:function size:0x5C -sndAuxCallbackPrepareReverbSTD = .text:0x801124A8; // type:function size:0x3C -sndAuxCallbackShutdownReverbSTD = .text:0x801124E4; // type:function size:0x24 -ReverbSTDCreate = .text:0x80112508; // type:function size:0x428 -fn_80112930 = .text:0x80112930; // type:function size:0x3B4 -ReverbSTDCallback = .text:0x80112CE4; // type:function size:0x24 -ReverbSTDFree = .text:0x80112D08; // type:function size:0xBC -sndAuxCallbackReverbHI = .text:0x80112DC4; // type:function size:0x5C -sndAuxCallbackPrepareReverbHI = .text:0x80112E20; // type:function size:0x40 -sndAuxCallbackShutdownReverbHI = .text:0x80112E60; // type:function size:0x24 -ReverbHICreate = .text:0x80112E84; // type:function size:0x50C -DoCrossTalk = .text:0x80113390; // type:function size:0x190 -HandleReverb = .text:0x80113520; // type:function size:0x50C -ReverbHICallback = .text:0x80113A2C; // type:function size:0xE0 -ReverbHIFree = .text:0x80113B0C; // type:function size:0xBC -sndAuxCallbackDelay = .text:0x80113BC8; // type:function size:0x168 -sndAuxCallbackUpdateSettingsDelay = .text:0x80113D30; // type:function size:0x1D0 -sndAuxCallbackPrepareDelay = .text:0x80113F00; // type:function size:0x28 -sndAuxCallbackShutdownDelay = .text:0x80113F28; // type:function size:0x4C -do_src1 = .text:0x80113F74; // type:function size:0x198 -do_src2 = .text:0x8011410C; // type:function size:0x1EC -sndAuxCallbackChorus = .text:0x801142F8; // type:function size:0x2BC -sndAuxCallbackPrepareChorus = .text:0x801145B4; // type:function size:0x200 -sndAuxCallbackShutdownChorus = .text:0x801147B4; // type:function size:0x28 -DBClose = .text:0x801147DC; // type:function size:0x4 scope:global -DBOpen = .text:0x801147E0; // type:function size:0x4 scope:global -DBWrite = .text:0x801147E4; // type:function size:0x260 scope:global -DBRead = .text:0x80114A44; // type:function size:0x8C scope:global -DBQueryData = .text:0x80114AD0; // type:function size:0x9C scope:global -DBInitInterrupts = .text:0x80114B6C; // type:function size:0x54 scope:global -DBInitComm = .text:0x80114BC0; // type:function size:0x78 scope:global -fn_80114C38 = .text:0x80114C38; // type:function size:0x40 -fn_80114C78 = .text:0x80114C78; // type:function size:0x3C -fn_80114CB4 = .text:0x80114CB4; // type:function size:0xAC -fn_80114D60 = .text:0x80114D60; // type:function size:0xDC -fn_80114E3C = .text:0x80114E3C; // type:function size:0xDC -fn_80114F18 = .text:0x80114F18; // type:function size:0xAC -fn_80114FC4 = .text:0x80114FC4; // type:function size:0x298 -EXI2_Init = .text:0x8011525C; // type:function size:0x4 scope:global -EXI2_EnableInterrupts = .text:0x80115260; // type:function size:0x4 scope:global -EXI2_Poll = .text:0x80115264; // type:function size:0x8 scope:global -EXI2_ReadN = .text:0x8011526C; // type:function size:0x8 scope:global -EXI2_WriteN = .text:0x80115274; // type:function size:0x8 scope:global -EXI2_Reserve = .text:0x8011527C; // type:function size:0x4 scope:global -EXI2_Unreserve = .text:0x80115280; // type:function size:0x4 scope:global -AMC_IsStub = .text:0x80115284; // type:function size:0x8 scope:global -Hu_IsStub = .text:0x8011528C; // type:function size:0x8 scope:weak -HuSetVecF = .text:0x80115294; // type:function size:0x10 -HuSubVecF = .text:0x801152A4; // type:function size:0x34 -fn_801152D8 = .text:0x801152D8; // type:function size:0x6C -fn_80115344 = .text:0x80115344; // type:function size:0x27C -fn_801155C0 = .text:0x801155C0; // type:function size:0x15C -fn_8011571C = .text:0x8011571C; // type:function size:0xB4 -fn_801157D0 = .text:0x801157D0; // type:function size:0x31C -fn_80115AEC = .text:0x80115AEC; // type:function size:0x48 -fn_80115B34 = .text:0x80115B34; // type:function size:0x48 -fn_80115B7C = .text:0x80115B7C; // type:function size:0x68 -fn_80115BE4 = .text:0x80115BE4; // type:function size:0xD8 -fn_80115CBC = .text:0x80115CBC; // type:function size:0xFC -msmSysRegularProc = .text:0x80115DB8; // type:function size:0x4 -msmSysGetOutputMode = .text:0x80115DBC; // type:function size:0x14 -msmSysSetOutputMode = .text:0x80115DD0; // type:function size:0xD8 -msmSysSetAux = .text:0x80115EA8; // type:function size:0x114 -msmSysGetSampSize = .text:0x80115FBC; // type:function size:0x28 -msmSysDelGroupAll = .text:0x80115FE4; // type:function size:0x140 -msmSysDelGroupBase = .text:0x80116124; // type:function size:0x28C -msmSysLoadGroupBase = .text:0x801163B0; // type:function size:0x298 -msmSysLoadGroupSet = .text:0x80116648; // type:function size:0x3F0 -fn_80116A38 = .text:0x80116A38; // type:function size:0x3B4 -msmSysLoadGroup = .text:0x80116DEC; // type:function size:0x278 -msmSysCheckInit = .text:0x80117064; // type:function size:0x20 -msmSysInit = .text:0x80117084; // type:function size:0x474 -fn_801174F8 = .text:0x801174F8; // type:function size:0xC8 -fn_801175C0 = .text:0x801175C0; // type:function size:0x104 -fn_801176C4 = .text:0x801176C4; // type:function size:0x64 -fn_80117728 = .text:0x80117728; // type:function size:0x30 -fn_80117758 = .text:0x80117758; // type:function size:0x34 -fn_8011778C = .text:0x8011778C; // type:function size:0x2C -fn_801177B8 = .text:0x801177B8; // type:function size:0x60 -fn_80117818 = .text:0x80117818; // type:function size:0x154 -fn_8011796C = .text:0x8011796C; // type:function size:0x174 -fn_80117AE0 = .text:0x80117AE0; // type:function size:0x1BC -msmMusFdoutEnd = .text:0x80117C9C; // type:function size:0x4 -msmMusPeriodicProc = .text:0x80117CA0; // type:function size:0x1CC -msmMusGetMidiCtrl = .text:0x80117E6C; // type:function size:0x9C -msmMusGetNumPlay = .text:0x80117F08; // type:function size:0x38 -msmMusGetStatus = .text:0x80117F40; // type:function size:0x3C -msmMusSetMasterVolume = .text:0x80117F7C; // type:function size:0x30 -msmMusSetParam = .text:0x80117FAC; // type:function size:0x16C -msmMusPauseAll = .text:0x80118118; // type:function size:0x88 -msmMusPause = .text:0x801181A0; // type:function size:0x74 -msmMusStopAll = .text:0x80118214; // type:function size:0x134 -msmMusStop = .text:0x80118348; // type:function size:0xCC -msmMusPlay = .text:0x80118414; // type:function size:0x328 -msmMusInit = .text:0x8011873C; // type:function size:0x174 -fn_801188B0 = .text:0x801188B0; // type:function size:0x250 -fn_80118B00 = .text:0x80118B00; // type:function size:0x184 -msmSePeriodicProc = .text:0x80118C84; // type:function size:0x270 -msmSeGetIndexPtr = .text:0x80118EF4; // type:function size:0x30 -msmSeDelListener = .text:0x80118F24; // type:function size:0x4C -msmSeUpdataListener = .text:0x80118F70; // type:function size:0xD8 -msmSeSetListener = .text:0x80119048; // type:function size:0x13C -msmSeGetEntryID = .text:0x80119184; // type:function size:0x74 -msmSeGetNumPlay = .text:0x801191F8; // type:function size:0x38 -msmSeGetStatus = .text:0x80119230; // type:function size:0x60 -msmSeSetMasterVolume = .text:0x80119290; // type:function size:0x30 -msmSeSetParam = .text:0x801192C0; // type:function size:0x320 -msmSePauseAll = .text:0x801195E0; // type:function size:0x80 -msmSeStopAll = .text:0x80119660; // type:function size:0x168 -msmSeStop = .text:0x801197C8; // type:function size:0xFC -msmSePlay = .text:0x801198C4; // type:function size:0x480 -msmSeInit = .text:0x80119D44; // type:function size:0x130 -msmStreamGetStatus = .text:0x80119E74; // type:function size:0xC8 -msmStreamSetMasterVolume = .text:0x80119F3C; // type:function size:0x118 -msmStreamStopAll = .text:0x8011A054; // type:function size:0xE0 -msmStreamStop = .text:0x8011A134; // type:function size:0x204 -msmStreamPlay = .text:0x8011A338; // type:function size:0x88 -msmStreamPeriodicProc = .text:0x8011A3C0; // type:function size:0x8C -msmStreamSetOutputMode = .text:0x8011A44C; // type:function size:0x114 -msmStreamAmemFree = .text:0x8011A560; // type:function size:0x68 -msmStreamAmemAlloc = .text:0x8011A5C8; // type:function size:0x10C -msmStreamInit = .text:0x8011A6D4; // type:function size:0x2A8 -msmStreamPauseOff = .text:0x8011A97C; // type:function size:0x2B8 -msmStreamPauseOn = .text:0x8011AC34; // type:function size:0x1AC -fn_8011ADE0 = .text:0x8011ADE0; // type:function size:0x2E8 -fn_8011B0C8 = .text:0x8011B0C8; // type:function size:0x33C -fn_8011B404 = .text:0x8011B404; // type:function size:0x13C -fn_8011B540 = .text:0x8011B540; // type:function size:0xE0 -fn_8011B620 = .text:0x8011B620; // type:function size:0x448 -fn_8011BA68 = .text:0x8011BA68; // type:function size:0x2DC -fn_8011BD44 = .text:0x8011BD44; // type:function size:0xD0 -fn_8011BE14 = .text:0x8011BE14; // type:function size:0x320 -fn_8011C134 = .text:0x8011C134; // type:function size:0x4A8 -fn_8011C5DC = .text:0x8011C5DC; // type:function size:0x188 -fn_8011C764 = .text:0x8011C764; // type:function size:0x17C -fn_8011C8E0 = .text:0x8011C8E0; // type:function size:0x214 -fn_8011CAF4 = .text:0x8011CAF4; // type:function size:0x4 -fn_8011CAF8 = .text:0x8011CAF8; // type:function size:0x4 -fn_8011CAFC = .text:0x8011CAFC; // type:function size:0x4 -fn_8011CB00 = .text:0x8011CB00; // type:function size:0x4 -fn_8011CB04 = .text:0x8011CB04; // type:function size:0x4 -fn_8011CB08 = .text:0x8011CB08; // type:function size:0x4 -fn_8011CB0C = .text:0x8011CB0C; // type:function size:0x4 -fn_8011CB10 = .text:0x8011CB10; // type:function size:0x4 -fn_8011CB14 = .text:0x8011CB14; // type:function size:0x4 -fn_8011CB18 = .text:0x8011CB18; // type:function size:0x4 -fn_8011CB1C = .text:0x8011CB1C; // type:function size:0x4 -fn_8011CB20 = .text:0x8011CB20; // type:function size:0x4 -fn_8011CB24 = .text:0x8011CB24; // type:function size:0x4 -fn_8011CB28 = .text:0x8011CB28; // type:function size:0x4 -fn_8011CB2C = .text:0x8011CB2C; // type:function size:0x4 -fn_8011CB30 = .text:0x8011CB30; // type:function size:0x4 -fn_8011CB34 = .text:0x8011CB34; // type:function size:0x4 -fn_8011CB38 = .text:0x8011CB38; // type:function size:0x4 -fn_8011CB3C = .text:0x8011CB3C; // type:function size:0x4 -fn_8011CB40 = .text:0x8011CB40; // type:function size:0x4 -fn_8011CB44 = .text:0x8011CB44; // type:function size:0x4 -fn_8011CB48 = .text:0x8011CB48; // type:function size:0x4 -fn_8011CB4C = .text:0x8011CB4C; // type:function size:0x4 -fn_8011CB50 = .text:0x8011CB50; // type:function size:0x4 -fn_8011CB54 = .text:0x8011CB54; // type:function size:0x4 -fn_8011CB58 = .text:0x8011CB58; // type:function size:0x4 -fn_8011CB5C = .text:0x8011CB5C; // type:function size:0x4 -fn_8011CB60 = .text:0x8011CB60; // type:function size:0x4 -fn_8011CB64 = .text:0x8011CB64; // type:function size:0x4 -fn_8011CB68 = .text:0x8011CB68; // type:function size:0x4 -fn_8011CB6C = .text:0x8011CB6C; // type:function size:0x4 -fn_8011CB70 = .text:0x8011CB70; // type:function size:0x4 -fn_8011CB74 = .text:0x8011CB74; // type:function size:0x4 -fn_8011CB78 = .text:0x8011CB78; // type:function size:0x4 -fn_8011CB7C = .text:0x8011CB7C; // type:function size:0x4 -fn_8011CB80 = .text:0x8011CB80; // type:function size:0x4 -fn_8011CB84 = .text:0x8011CB84; // type:function size:0x4 -fn_8011CB88 = .text:0x8011CB88; // type:function size:0x4 -fn_8011CB8C = .text:0x8011CB8C; // type:function size:0x4 -fn_8011CB90 = .text:0x8011CB90; // type:function size:0x4 -fn_8011CB94 = .text:0x8011CB94; // type:function size:0x4 -fn_8011CB98 = .text:0x8011CB98; // type:function size:0x4 -fn_8011CB9C = .text:0x8011CB9C; // type:function size:0x4 -fn_8011CBA0 = .text:0x8011CBA0; // type:function size:0x4 -fn_8011CBA4 = .text:0x8011CBA4; // type:function size:0x4 -fn_8011CBA8 = .text:0x8011CBA8; // type:function size:0x4 -fn_8011CBAC = .text:0x8011CBAC; // type:function size:0x4 -fn_8011CBB0 = .text:0x8011CBB0; // type:function size:0x4 -fn_8011CBB4 = .text:0x8011CBB4; // type:function size:0x4 -fn_8011CBB8 = .text:0x8011CBB8; // type:function size:0x4 -fn_8011CBBC = .text:0x8011CBBC; // type:function size:0x4 -fn_8011CBC0 = .text:0x8011CBC0; // type:function size:0x4 -fn_8011CBC4 = .text:0x8011CBC4; // type:function size:0x4 -fn_8011CBC8 = .text:0x8011CBC8; // type:function size:0x4 -fn_8011CBCC = .text:0x8011CBCC; // type:function size:0x4 -fn_8011CBD0 = .text:0x8011CBD0; // type:function size:0x4 -fn_8011CBD4 = .text:0x8011CBD4; // type:function size:0x4 -fn_8011CBD8 = .text:0x8011CBD8; // type:function size:0x4 -fn_8011CBDC = .text:0x8011CBDC; // type:function size:0x4 -fn_8011CBE0 = .text:0x8011CBE0; // type:function size:0x4 -fn_8011CBE4 = .text:0x8011CBE4; // type:function size:0x4 -fn_8011CBE8 = .text:0x8011CBE8; // type:function size:0x4 -fn_8011CBEC = .text:0x8011CBEC; // type:function size:0x4 -fn_8011CBF0 = .text:0x8011CBF0; // type:function size:0x4 -fn_8011CBF4 = .text:0x8011CBF4; // type:function size:0x4 -fn_8011CBF8 = .text:0x8011CBF8; // type:function size:0x4 -fn_8011CBFC = .text:0x8011CBFC; // type:function size:0x4 -fn_8011CC00 = .text:0x8011CC00; // type:function size:0x4 -fn_8011CC04 = .text:0x8011CC04; // type:function size:0x4 -fn_8011CC08 = .text:0x8011CC08; // type:function size:0x4 -fn_8011CC0C = .text:0x8011CC0C; // type:function size:0x4 -fn_8011CC10 = .text:0x8011CC10; // type:function size:0x4 -fn_8011CC14 = .text:0x8011CC14; // type:function size:0x4 -fn_8011CC18 = .text:0x8011CC18; // type:function size:0x4 -fn_8011CC1C = .text:0x8011CC1C; // type:function size:0x4 -fn_8011CC20 = .text:0x8011CC20; // type:function size:0x4 -fn_8011CC24 = .text:0x8011CC24; // type:function size:0x4 -fn_8011CC28 = .text:0x8011CC28; // type:function size:0x4 -fn_8011CC2C = .text:0x8011CC2C; // type:function size:0x4 -fn_8011CC30 = .text:0x8011CC30; // type:function size:0x4 -fn_8011CC34 = .text:0x8011CC34; // type:function size:0x4 -fn_8011CC38 = .text:0x8011CC38; // type:function size:0x4 -fn_8011CC3C = .text:0x8011CC3C; // type:function size:0x4 -fn_8011CC40 = .text:0x8011CC40; // type:function size:0x4 -fn_8011CC44 = .text:0x8011CC44; // type:function size:0x4 -fn_8011CC48 = .text:0x8011CC48; // type:function size:0x4 -fn_8011CC4C = .text:0x8011CC4C; // type:function size:0x4 -fn_8011CC50 = .text:0x8011CC50; // type:function size:0x4 -fn_8011CC54 = .text:0x8011CC54; // type:function size:0x4 -fn_8011CC58 = .text:0x8011CC58; // type:function size:0x4 -fn_8011CC5C = .text:0x8011CC5C; // type:function size:0x4 -fn_8011CC60 = .text:0x8011CC60; // type:function size:0x4 -fn_8011CC64 = .text:0x8011CC64; // type:function size:0x4 -fn_8011CC68 = .text:0x8011CC68; // type:function size:0x4 -fn_8011CC6C = .text:0x8011CC6C; // type:function size:0x4 -fn_8011CC70 = .text:0x8011CC70; // type:function size:0x4 -fn_8011CC74 = .text:0x8011CC74; // type:function size:0x4 -fn_8011CC78 = .text:0x8011CC78; // type:function size:0x4 -fn_8011CC7C = .text:0x8011CC7C; // type:function size:0x4 -fn_8011CC80 = .text:0x8011CC80; // type:function size:0x4 -fn_8011CC84 = .text:0x8011CC84; // type:function size:0x4 -fn_8011CC88 = .text:0x8011CC88; // type:function size:0x4 -fn_8011CC8C = .text:0x8011CC8C; // type:function size:0x4 -fn_8011CC90 = .text:0x8011CC90; // type:function size:0x4 -fn_8011CC94 = .text:0x8011CC94; // type:function size:0x4 -fn_8011CC98 = .text:0x8011CC98; // type:function size:0x4 -fn_8011CC9C = .text:0x8011CC9C; // type:function size:0x4 -fn_8011CCA0 = .text:0x8011CCA0; // type:function size:0x4 -fn_8011CCA4 = .text:0x8011CCA4; // type:function size:0x4 -fn_8011CCA8 = .text:0x8011CCA8; // type:function size:0x4 -fn_8011CCAC = .text:0x8011CCAC; // type:function size:0x4 -fn_8011CCB0 = .text:0x8011CCB0; // type:function size:0x4 -fn_8011CCB4 = .text:0x8011CCB4; // type:function size:0x4 -fn_8011CCB8 = .text:0x8011CCB8; // type:function size:0x4 -fn_8011CCBC = .text:0x8011CCBC; // type:function size:0x4 -fn_8011CCC0 = .text:0x8011CCC0; // type:function size:0x4 -fn_8011CCC4 = .text:0x8011CCC4; // type:function size:0x4 -fn_8011CCC8 = .text:0x8011CCC8; // type:function size:0x4 -fn_8011CCCC = .text:0x8011CCCC; // type:function size:0x4 -fn_8011CCD0 = .text:0x8011CCD0; // type:function size:0x4 -fn_8011CCD4 = .text:0x8011CCD4; // type:function size:0x4 -fn_8011CCD8 = .text:0x8011CCD8; // type:function size:0x4 -fn_8011CCDC = .text:0x8011CCDC; // type:function size:0x4 -fn_8011CCE0 = .text:0x8011CCE0; // type:function size:0x4 -fn_8011CCE4 = .text:0x8011CCE4; // type:function size:0x4 -fn_8011CCE8 = .text:0x8011CCE8; // type:function size:0x4 -fn_8011CCEC = .text:0x8011CCEC; // type:function size:0x4 -fn_8011CCF0 = .text:0x8011CCF0; // type:function size:0x4 -fn_8011CCF4 = .text:0x8011CCF4; // type:function size:0x4 -fn_8011CCF8 = .text:0x8011CCF8; // type:function size:0x4 -fn_8011CCFC = .text:0x8011CCFC; // type:function size:0x4 -fn_8011CD00 = .text:0x8011CD00; // type:function size:0x4 -fn_8011CD04 = .text:0x8011CD04; // type:function size:0x4 -fn_8011CD08 = .text:0x8011CD08; // type:function size:0x4 -fn_8011CD0C = .text:0x8011CD0C; // type:function size:0x4 -fn_8011CD10 = .text:0x8011CD10; // type:function size:0x4 -fn_8011CD14 = .text:0x8011CD14; // type:function size:0x4 -fn_8011CD18 = .text:0x8011CD18; // type:function size:0x4 -fn_8011CD1C = .text:0x8011CD1C; // type:function size:0x4 -fn_8011CD20 = .text:0x8011CD20; // type:function size:0x4 -fn_8011CD24 = .text:0x8011CD24; // type:function size:0x4 -fn_8011CD28 = .text:0x8011CD28; // type:function size:0x4 -fn_8011CD2C = .text:0x8011CD2C; // type:function size:0x4 -fn_8011CD30 = .text:0x8011CD30; // type:function size:0x4 -fn_8011CD34 = .text:0x8011CD34; // type:function size:0x4 -fn_8011CD38 = .text:0x8011CD38; // type:function size:0x4 -fn_8011CD3C = .text:0x8011CD3C; // type:function size:0x4 -fn_8011CD40 = .text:0x8011CD40; // type:function size:0x4 -fn_8011CD44 = .text:0x8011CD44; // type:function size:0x4 -fn_8011CD48 = .text:0x8011CD48; // type:function size:0x4 -fn_8011CD4C = .text:0x8011CD4C; // type:function size:0x4 -fn_8011CD50 = .text:0x8011CD50; // type:function size:0x4 -fn_8011CD54 = .text:0x8011CD54; // type:function size:0x4 -fn_8011CD58 = .text:0x8011CD58; // type:function size:0x4 -fn_8011CD5C = .text:0x8011CD5C; // type:function size:0x4 -fn_8011CD60 = .text:0x8011CD60; // type:function size:0x4 -fn_8011CD64 = .text:0x8011CD64; // type:function size:0x4 -fn_8011CD68 = .text:0x8011CD68; // type:function size:0x4 -fn_8011CD6C = .text:0x8011CD6C; // type:function size:0x4 -fn_8011CD70 = .text:0x8011CD70; // type:function size:0x4 -fn_8011CD74 = .text:0x8011CD74; // type:function size:0x4 -fn_8011CD78 = .text:0x8011CD78; // type:function size:0x4 -fn_8011CD7C = .text:0x8011CD7C; // type:function size:0x4 -fn_8011CD80 = .text:0x8011CD80; // type:function size:0x4 -fn_8011CD84 = .text:0x8011CD84; // type:function size:0x4 -fn_8011CD88 = .text:0x8011CD88; // type:function size:0x4 -fn_8011CD8C = .text:0x8011CD8C; // type:function size:0x4 -fn_8011CD90 = .text:0x8011CD90; // type:function size:0x4 -fn_8011CD94 = .text:0x8011CD94; // type:function size:0x4 -fn_8011CD98 = .text:0x8011CD98; // type:function size:0x4 -fn_8011CD9C = .text:0x8011CD9C; // type:function size:0x4 -fn_8011CDA0 = .text:0x8011CDA0; // type:function size:0x4 -fn_8011CDA4 = .text:0x8011CDA4; // type:function size:0x4 -fn_8011CDA8 = .text:0x8011CDA8; // type:function size:0x4 -fn_8011CDAC = .text:0x8011CDAC; // type:function size:0x4 -fn_8011CDB0 = .text:0x8011CDB0; // type:function size:0x4 -fn_8011CDB4 = .text:0x8011CDB4; // type:function size:0x4 -fn_8011CDB8 = .text:0x8011CDB8; // type:function size:0x4 -fn_8011CDBC = .text:0x8011CDBC; // type:function size:0x4 -fn_8011CDC0 = .text:0x8011CDC0; // type:function size:0x4 -fn_8011CDC4 = .text:0x8011CDC4; // type:function size:0x4 -fn_8011CDC8 = .text:0x8011CDC8; // type:function size:0x4 -fn_8011CDCC = .text:0x8011CDCC; // type:function size:0x4 -fn_8011CDD0 = .text:0x8011CDD0; // type:function size:0x4 -fn_8011CDD4 = .text:0x8011CDD4; // type:function size:0x4 -fn_8011CDD8 = .text:0x8011CDD8; // type:function size:0x4 -fn_8011CDDC = .text:0x8011CDDC; // type:function size:0x4 -fn_8011CDE0 = .text:0x8011CDE0; // type:function size:0x4 -fn_8011CDE4 = .text:0x8011CDE4; // type:function size:0x4 -fn_8011CDE8 = .text:0x8011CDE8; // type:function size:0x4 -fn_8011CDEC = .text:0x8011CDEC; // type:function size:0x4 -fn_8011CDF0 = .text:0x8011CDF0; // type:function size:0x4 -fn_8011CDF4 = .text:0x8011CDF4; // type:function size:0x4 -fn_8011CDF8 = .text:0x8011CDF8; // type:function size:0x4 -fn_8011CDFC = .text:0x8011CDFC; // type:function size:0x4 -fn_8011CE00 = .text:0x8011CE00; // type:function size:0x4 -fn_8011CE04 = .text:0x8011CE04; // type:function size:0x4 -fn_8011CE08 = .text:0x8011CE08; // type:function size:0x4 -fn_8011CE0C = .text:0x8011CE0C; // type:function size:0x4 -fn_8011CE10 = .text:0x8011CE10; // type:function size:0x4 -fn_8011CE14 = .text:0x8011CE14; // type:function size:0x4 -fn_8011CE18 = .text:0x8011CE18; // type:function size:0x4 -fn_8011CE1C = .text:0x8011CE1C; // type:function size:0x4 -fn_8011CE20 = .text:0x8011CE20; // type:function size:0x4 -fn_8011CE24 = .text:0x8011CE24; // type:function size:0x4 -fn_8011CE28 = .text:0x8011CE28; // type:function size:0x4 -fn_8011CE2C = .text:0x8011CE2C; // type:function size:0x4 -fn_8011CE30 = .text:0x8011CE30; // type:function size:0x4 -fn_8011CE34 = .text:0x8011CE34; // type:function size:0x4 -fn_8011CE38 = .text:0x8011CE38; // type:function size:0x4 -fn_8011CE3C = .text:0x8011CE3C; // type:function size:0x4 -fn_8011CE40 = .text:0x8011CE40; // type:function size:0x4 -fn_8011CE44 = .text:0x8011CE44; // type:function size:0x4 -fn_8011CE48 = .text:0x8011CE48; // type:function size:0x4 -fn_8011CE4C = .text:0x8011CE4C; // type:function size:0x4 -fn_8011CE50 = .text:0x8011CE50; // type:function size:0x4 -fn_8011CE54 = .text:0x8011CE54; // type:function size:0x4 -fn_8011CE58 = .text:0x8011CE58; // type:function size:0x4 -fn_8011CE5C = .text:0x8011CE5C; // type:function size:0x4 -fn_8011CE60 = .text:0x8011CE60; // type:function size:0x4 -fn_8011CE64 = .text:0x8011CE64; // type:function size:0x4 -fn_8011CE68 = .text:0x8011CE68; // type:function size:0x4 -fn_8011CE6C = .text:0x8011CE6C; // type:function size:0x4 -fn_8011CE70 = .text:0x8011CE70; // type:function size:0x4 -fn_8011CE74 = .text:0x8011CE74; // type:function size:0x4 -fn_8011CE78 = .text:0x8011CE78; // type:function size:0x4 -fn_8011CE7C = .text:0x8011CE7C; // type:function size:0x4 -fn_8011CE80 = .text:0x8011CE80; // type:function size:0x4 -fn_8011CE84 = .text:0x8011CE84; // type:function size:0x4 -fn_8011CE88 = .text:0x8011CE88; // type:function size:0x4 -fn_8011CE8C = .text:0x8011CE8C; // type:function size:0x4 -fn_8011CE90 = .text:0x8011CE90; // type:function size:0x4 -fn_8011CE94 = .text:0x8011CE94; // type:function size:0x4 -fn_8011CE98 = .text:0x8011CE98; // type:function size:0x4 -fn_8011CE9C = .text:0x8011CE9C; // type:function size:0x4 -fn_8011CEA0 = .text:0x8011CEA0; // type:function size:0x4 -fn_8011CEA4 = .text:0x8011CEA4; // type:function size:0x4 -fn_8011CEA8 = .text:0x8011CEA8; // type:function size:0x4 -fn_8011CEAC = .text:0x8011CEAC; // type:function size:0x4 -fn_8011CEB0 = .text:0x8011CEB0; // type:function size:0x4 -fn_8011CEB4 = .text:0x8011CEB4; // type:function size:0x4 -fn_8011CEB8 = .text:0x8011CEB8; // type:function size:0x4 -fn_8011CEBC = .text:0x8011CEBC; // type:function size:0x4 -fn_8011CEC0 = .text:0x8011CEC0; // type:function size:0x4 -fn_8011CEC4 = .text:0x8011CEC4; // type:function size:0x4 -fn_8011CEC8 = .text:0x8011CEC8; // type:function size:0x4 -fn_8011CECC = .text:0x8011CECC; // type:function size:0x4 -fn_8011CED0 = .text:0x8011CED0; // type:function size:0x4 -fn_8011CED4 = .text:0x8011CED4; // type:function size:0x4 -fn_8011CED8 = .text:0x8011CED8; // type:function size:0x4 -fn_8011CEDC = .text:0x8011CEDC; // type:function size:0x4 -fn_8011CEE0 = .text:0x8011CEE0; // type:function size:0x4 -fn_8011CEE4 = .text:0x8011CEE4; // type:function size:0x4 -fn_8011CEE8 = .text:0x8011CEE8; // type:function size:0x4 -fn_8011CEEC = .text:0x8011CEEC; // type:function size:0x4 -fn_8011CEF0 = .text:0x8011CEF0; // type:function size:0x4 -fn_8011CEF4 = .text:0x8011CEF4; // type:function size:0x4 -fn_8011CEF8 = .text:0x8011CEF8; // type:function size:0x4 -fn_8011CEFC = .text:0x8011CEFC; // type:function size:0x4 -fn_8011CF00 = .text:0x8011CF00; // type:function size:0x4 -fn_8011CF04 = .text:0x8011CF04; // type:function size:0x4 -fn_8011CF08 = .text:0x8011CF08; // type:function size:0x4 -fn_8011CF0C = .text:0x8011CF0C; // type:function size:0x4 -fn_8011CF10 = .text:0x8011CF10; // type:function size:0x4 -fn_8011CF14 = .text:0x8011CF14; // type:function size:0x4 -fn_8011CF18 = .text:0x8011CF18; // type:function size:0x4 -fn_8011CF1C = .text:0x8011CF1C; // type:function size:0x4 -fn_8011CF20 = .text:0x8011CF20; // type:function size:0x4 -fn_8011CF24 = .text:0x8011CF24; // type:function size:0x4 -fn_8011CF28 = .text:0x8011CF28; // type:function size:0x4 -fn_8011CF2C = .text:0x8011CF2C; // type:function size:0x4 -fn_8011CF30 = .text:0x8011CF30; // type:function size:0x4 -fn_8011CF34 = .text:0x8011CF34; // type:function size:0x4 -fn_8011CF38 = .text:0x8011CF38; // type:function size:0x4 -fn_8011CF3C = .text:0x8011CF3C; // type:function size:0x4 -fn_8011CF40 = .text:0x8011CF40; // type:function size:0x4 -fn_8011CF44 = .text:0x8011CF44; // type:function size:0x4 -fn_8011CF48 = .text:0x8011CF48; // type:function size:0x4 -fn_8011CF4C = .text:0x8011CF4C; // type:function size:0x4 -fn_8011CF50 = .text:0x8011CF50; // type:function size:0x4 -fn_8011CF54 = .text:0x8011CF54; // type:function size:0x4 -fn_8011CF58 = .text:0x8011CF58; // type:function size:0x4 -fn_8011CF5C = .text:0x8011CF5C; // type:function size:0x4 -fn_8011CF60 = .text:0x8011CF60; // type:function size:0x4 -fn_8011CF64 = .text:0x8011CF64; // type:function size:0x4 -fn_8011CF68 = .text:0x8011CF68; // type:function size:0x4 -fn_8011CF6C = .text:0x8011CF6C; // type:function size:0x4 -fn_8011CF70 = .text:0x8011CF70; // type:function size:0x4 -fn_8011CF74 = .text:0x8011CF74; // type:function size:0x4 -fn_8011CF78 = .text:0x8011CF78; // type:function size:0x4 -fn_8011CF7C = .text:0x8011CF7C; // type:function size:0x4 -fn_8011CF80 = .text:0x8011CF80; // type:function size:0x4 -fn_8011CF84 = .text:0x8011CF84; // type:function size:0x4 -fn_8011CF88 = .text:0x8011CF88; // type:function size:0x4 -fn_8011CF8C = .text:0x8011CF8C; // type:function size:0x4 -fn_8011CF90 = .text:0x8011CF90; // type:function size:0x4 -fn_8011CF94 = .text:0x8011CF94; // type:function size:0x4 -fn_8011CF98 = .text:0x8011CF98; // type:function size:0x4 -fn_8011CF9C = .text:0x8011CF9C; // type:function size:0x4 -fn_8011CFA0 = .text:0x8011CFA0; // type:function size:0x4 -fn_8011CFA4 = .text:0x8011CFA4; // type:function size:0x4 -fn_8011CFA8 = .text:0x8011CFA8; // type:function size:0x4 -fn_8011CFAC = .text:0x8011CFAC; // type:function size:0x4 -fn_8011CFB0 = .text:0x8011CFB0; // type:function size:0x4 -fn_8011CFB4 = .text:0x8011CFB4; // type:function size:0x4 -fn_8011CFB8 = .text:0x8011CFB8; // type:function size:0x4 -fn_8011CFBC = .text:0x8011CFBC; // type:function size:0x4 -fn_8011CFC0 = .text:0x8011CFC0; // type:function size:0x4 -fn_8011CFC4 = .text:0x8011CFC4; // type:function size:0x4 -fn_8011CFC8 = .text:0x8011CFC8; // type:function size:0x4 -fn_8011CFCC = .text:0x8011CFCC; // type:function size:0x4 -fn_8011CFD0 = .text:0x8011CFD0; // type:function size:0x4 -fn_8011CFD4 = .text:0x8011CFD4; // type:function size:0x4 -fn_8011CFD8 = .text:0x8011CFD8; // type:function size:0x4 -fn_8011CFDC = .text:0x8011CFDC; // type:function size:0x4 -fn_8011CFE0 = .text:0x8011CFE0; // type:function size:0x4 -fn_8011CFE4 = .text:0x8011CFE4; // type:function size:0x4 -fn_8011CFE8 = .text:0x8011CFE8; // type:function size:0x4 -fn_8011CFEC = .text:0x8011CFEC; // type:function size:0x4 -fn_8011CFF0 = .text:0x8011CFF0; // type:function size:0x4 -fn_8011CFF4 = .text:0x8011CFF4; // type:function size:0x4 -fn_8011CFF8 = .text:0x8011CFF8; // type:function size:0x4 -fn_8011CFFC = .text:0x8011CFFC; // type:function size:0x4 -fn_8011D000 = .text:0x8011D000; // type:function size:0x4 -fn_8011D004 = .text:0x8011D004; // type:function size:0x4 -fn_8011D008 = .text:0x8011D008; // type:function size:0x4 -fn_8011D00C = .text:0x8011D00C; // type:function size:0x4 -fn_8011D010 = .text:0x8011D010; // type:function size:0x4 -fn_8011D014 = .text:0x8011D014; // type:function size:0x4 -fn_8011D018 = .text:0x8011D018; // type:function size:0x4 -fn_8011D01C = .text:0x8011D01C; // type:function size:0x4 -fn_8011D020 = .text:0x8011D020; // type:function size:0x4 -fn_8011D024 = .text:0x8011D024; // type:function size:0x4 -fn_8011D028 = .text:0x8011D028; // type:function size:0x4 -fn_8011D02C = .text:0x8011D02C; // type:function size:0x4 -fn_8011D030 = .text:0x8011D030; // type:function size:0x4 -fn_8011D034 = .text:0x8011D034; // type:function size:0x4 -fn_8011D038 = .text:0x8011D038; // type:function size:0x4 -fn_8011D03C = .text:0x8011D03C; // type:function size:0x4 -fn_8011D040 = .text:0x8011D040; // type:function size:0x4 -fn_8011D044 = .text:0x8011D044; // type:function size:0x4 -fn_8011D048 = .text:0x8011D048; // type:function size:0x4 -fn_8011D04C = .text:0x8011D04C; // type:function size:0x4 -fn_8011D050 = .text:0x8011D050; // type:function size:0x4 -fn_8011D054 = .text:0x8011D054; // type:function size:0x4 -fn_8011D058 = .text:0x8011D058; // type:function size:0x4 -fn_8011D05C = .text:0x8011D05C; // type:function size:0x4 -fn_8011D060 = .text:0x8011D060; // type:function size:0x4 -fn_8011D064 = .text:0x8011D064; // type:function size:0x4 -fn_8011D068 = .text:0x8011D068; // type:function size:0x4 -fn_8011D06C = .text:0x8011D06C; // type:function size:0x4 -fn_8011D070 = .text:0x8011D070; // type:function size:0x4 -fn_8011D074 = .text:0x8011D074; // type:function size:0x4 -fn_8011D078 = .text:0x8011D078; // type:function size:0x4 -fn_8011D07C = .text:0x8011D07C; // type:function size:0x4 -fn_8011D080 = .text:0x8011D080; // type:function size:0x4 -fn_8011D084 = .text:0x8011D084; // type:function size:0x4 -fn_8011D088 = .text:0x8011D088; // type:function size:0x4 -fn_8011D08C = .text:0x8011D08C; // type:function size:0x4 -fn_8011D090 = .text:0x8011D090; // type:function size:0x4 -fn_8011D094 = .text:0x8011D094; // type:function size:0x4 -fn_8011D098 = .text:0x8011D098; // type:function size:0x4 -fn_8011D09C = .text:0x8011D09C; // type:function size:0x4 -fn_8011D0A0 = .text:0x8011D0A0; // type:function size:0x4 -fn_8011D0A4 = .text:0x8011D0A4; // type:function size:0x4 -fn_8011D0A8 = .text:0x8011D0A8; // type:function size:0x4 -fn_8011D0AC = .text:0x8011D0AC; // type:function size:0x4 -fn_8011D0B0 = .text:0x8011D0B0; // type:function size:0x4 -fn_8011D0B4 = .text:0x8011D0B4; // type:function size:0x4 -fn_8011D0B8 = .text:0x8011D0B8; // type:function size:0x4 -fn_8011D0BC = .text:0x8011D0BC; // type:function size:0x4 -fn_8011D0C0 = .text:0x8011D0C0; // type:function size:0x4 -fn_8011D0C4 = .text:0x8011D0C4; // type:function size:0x4 -fn_8011D0C8 = .text:0x8011D0C8; // type:function size:0x4 -fn_8011D0CC = .text:0x8011D0CC; // type:function size:0x4 -fn_8011D0D0 = .text:0x8011D0D0; // type:function size:0x4 -fn_8011D0D4 = .text:0x8011D0D4; // type:function size:0x4 -fn_8011D0D8 = .text:0x8011D0D8; // type:function size:0x4 -fn_8011D0DC = .text:0x8011D0DC; // type:function size:0x4 -fn_8011D0E0 = .text:0x8011D0E0; // type:function size:0x4 -fn_8011D0E4 = .text:0x8011D0E4; // type:function size:0x4 -fn_8011D0E8 = .text:0x8011D0E8; // type:function size:0x4 -fn_8011D0EC = .text:0x8011D0EC; // type:function size:0x4 -fn_8011D0F0 = .text:0x8011D0F0; // type:function size:0x4 -fn_8011D0F4 = .text:0x8011D0F4; // type:function size:0x4 -fn_8011D0F8 = .text:0x8011D0F8; // type:function size:0x4 -fn_8011D0FC = .text:0x8011D0FC; // type:function size:0x4 -fn_8011D100 = .text:0x8011D100; // type:function size:0x4 -fn_8011D104 = .text:0x8011D104; // type:function size:0x4 -fn_8011D108 = .text:0x8011D108; // type:function size:0x4 -fn_8011D10C = .text:0x8011D10C; // type:function size:0x4 -fn_8011D110 = .text:0x8011D110; // type:function size:0x4 -fn_8011D114 = .text:0x8011D114; // type:function size:0x4 -fn_8011D118 = .text:0x8011D118; // type:function size:0x4 -fn_8011D11C = .text:0x8011D11C; // type:function size:0x4 -fn_8011D120 = .text:0x8011D120; // type:function size:0x4 -fn_8011D124 = .text:0x8011D124; // type:function size:0x4 -fn_8011D128 = .text:0x8011D128; // type:function size:0x4 -fn_8011D12C = .text:0x8011D12C; // type:function size:0x4 -fn_8011D130 = .text:0x8011D130; // type:function size:0x4 -fn_8011D134 = .text:0x8011D134; // type:function size:0x4 -fn_8011D138 = .text:0x8011D138; // type:function size:0x4 -fn_8011D13C = .text:0x8011D13C; // type:function size:0x4 -fn_8011D140 = .text:0x8011D140; // type:function size:0x4 -fn_8011D144 = .text:0x8011D144; // type:function size:0x4 -fn_8011D148 = .text:0x8011D148; // type:function size:0x4 -fn_8011D14C = .text:0x8011D14C; // type:function size:0x4 -fn_8011D150 = .text:0x8011D150; // type:function size:0x4 -fn_8011D154 = .text:0x8011D154; // type:function size:0x4 -fn_8011D158 = .text:0x8011D158; // type:function size:0x4 -fn_8011D15C = .text:0x8011D15C; // type:function size:0x4 -fn_8011D160 = .text:0x8011D160; // type:function size:0x4 -fn_8011D164 = .text:0x8011D164; // type:function size:0x4 -fn_8011D168 = .text:0x8011D168; // type:function size:0x4 -fn_8011D16C = .text:0x8011D16C; // type:function size:0x4 -fn_8011D170 = .text:0x8011D170; // type:function size:0x4 -fn_8011D174 = .text:0x8011D174; // type:function size:0x4 -fn_8011D178 = .text:0x8011D178; // type:function size:0x4 -fn_8011D17C = .text:0x8011D17C; // type:function size:0x4 -fn_8011D180 = .text:0x8011D180; // type:function size:0x4 -fn_8011D184 = .text:0x8011D184; // type:function size:0x4 -fn_8011D188 = .text:0x8011D188; // type:function size:0x4 -fn_8011D18C = .text:0x8011D18C; // type:function size:0x4 -fn_8011D190 = .text:0x8011D190; // type:function size:0x4 -fn_8011D194 = .text:0x8011D194; // type:function size:0x4 -fn_8011D198 = .text:0x8011D198; // type:function size:0x4 -fn_8011D19C = .text:0x8011D19C; // type:function size:0x4 -fn_8011D1A0 = .text:0x8011D1A0; // type:function size:0x4 -fn_8011D1A4 = .text:0x8011D1A4; // type:function size:0x4 -fn_8011D1A8 = .text:0x8011D1A8; // type:function size:0x4 -fn_8011D1AC = .text:0x8011D1AC; // type:function size:0x4 -fn_8011D1B0 = .text:0x8011D1B0; // type:function size:0x4 -fn_8011D1B4 = .text:0x8011D1B4; // type:function size:0x4 -fn_8011D1B8 = .text:0x8011D1B8; // type:function size:0x4 -fn_8011D1BC = .text:0x8011D1BC; // type:function size:0x4 -fn_8011D1C0 = .text:0x8011D1C0; // type:function size:0x4 -fn_8011D1C4 = .text:0x8011D1C4; // type:function size:0x4 -fn_8011D1C8 = .text:0x8011D1C8; // type:function size:0x4 -fn_8011D1CC = .text:0x8011D1CC; // type:function size:0x4 -fn_8011D1D0 = .text:0x8011D1D0; // type:function size:0x4 -fn_8011D1D4 = .text:0x8011D1D4; // type:function size:0x4 -fn_8011D1D8 = .text:0x8011D1D8; // type:function size:0x4 -fn_8011D1DC = .text:0x8011D1DC; // type:function size:0x4 -fn_8011D1E0 = .text:0x8011D1E0; // type:function size:0x4 -fn_8011D1E4 = .text:0x8011D1E4; // type:function size:0x4 -fn_8011D1E8 = .text:0x8011D1E8; // type:function size:0x4 -fn_8011D1EC = .text:0x8011D1EC; // type:function size:0x4 -fn_8011D1F0 = .text:0x8011D1F0; // type:function size:0x4 -fn_8011D1F4 = .text:0x8011D1F4; // type:function size:0x4 -fn_8011D1F8 = .text:0x8011D1F8; // type:function size:0x4 -fn_8011D1FC = .text:0x8011D1FC; // type:function size:0x4 -fn_8011D200 = .text:0x8011D200; // type:function size:0x4 -fn_8011D204 = .text:0x8011D204; // type:function size:0x4 -fn_8011D208 = .text:0x8011D208; // type:function size:0x4 -fn_8011D20C = .text:0x8011D20C; // type:function size:0x4 -fn_8011D210 = .text:0x8011D210; // type:function size:0x4 -fn_8011D214 = .text:0x8011D214; // type:function size:0x4 -fn_8011D218 = .text:0x8011D218; // type:function size:0x4 -fn_8011D21C = .text:0x8011D21C; // type:function size:0x4 -fn_8011D220 = .text:0x8011D220; // type:function size:0x4 -fn_8011D224 = .text:0x8011D224; // type:function size:0x4 -fn_8011D228 = .text:0x8011D228; // type:function size:0x4 -fn_8011D22C = .text:0x8011D22C; // type:function size:0x4 -fn_8011D230 = .text:0x8011D230; // type:function size:0x4 -fn_8011D234 = .text:0x8011D234; // type:function size:0x4 -fn_8011D238 = .text:0x8011D238; // type:function size:0x4 -fn_8011D23C = .text:0x8011D23C; // type:function size:0x4 -fn_8011D240 = .text:0x8011D240; // type:function size:0x4 -fn_8011D244 = .text:0x8011D244; // type:function size:0x4 -fn_8011D248 = .text:0x8011D248; // type:function size:0x4 -fn_8011D24C = .text:0x8011D24C; // type:function size:0x4 -fn_8011D250 = .text:0x8011D250; // type:function size:0x4 -fn_8011D254 = .text:0x8011D254; // type:function size:0x4 -fn_8011D258 = .text:0x8011D258; // type:function size:0x4 -fn_8011D25C = .text:0x8011D25C; // type:function size:0x4 -fn_8011D260 = .text:0x8011D260; // type:function size:0x4 -fn_8011D264 = .text:0x8011D264; // type:function size:0x4 -fn_8011D268 = .text:0x8011D268; // type:function size:0x4 -fn_8011D26C = .text:0x8011D26C; // type:function size:0x4 -fn_8011D270 = .text:0x8011D270; // type:function size:0x4 -fn_8011D274 = .text:0x8011D274; // type:function size:0x4 -fn_8011D278 = .text:0x8011D278; // type:function size:0x4 -fn_8011D27C = .text:0x8011D27C; // type:function size:0x4 -fn_8011D280 = .text:0x8011D280; // type:function size:0x4 -fn_8011D284 = .text:0x8011D284; // type:function size:0x4 -fn_8011D288 = .text:0x8011D288; // type:function size:0x4 -fn_8011D28C = .text:0x8011D28C; // type:function size:0x4 -fn_8011D290 = .text:0x8011D290; // type:function size:0x4 -fn_8011D294 = .text:0x8011D294; // type:function size:0x4 -fn_8011D298 = .text:0x8011D298; // type:function size:0x4 -fn_8011D29C = .text:0x8011D29C; // type:function size:0x4 -fn_8011D2A0 = .text:0x8011D2A0; // type:function size:0x4 -fn_8011D2A4 = .text:0x8011D2A4; // type:function size:0x4 -fn_8011D2A8 = .text:0x8011D2A8; // type:function size:0x4 -fn_8011D2AC = .text:0x8011D2AC; // type:function size:0x4 -fn_8011D2B0 = .text:0x8011D2B0; // type:function size:0x4 -fn_8011D2B4 = .text:0x8011D2B4; // type:function size:0x4 -fn_8011D2B8 = .text:0x8011D2B8; // type:function size:0x4 -fn_8011D2BC = .text:0x8011D2BC; // type:function size:0x4 -fn_8011D2C0 = .text:0x8011D2C0; // type:function size:0x4 -fn_8011D2C4 = .text:0x8011D2C4; // type:function size:0x4 -fn_8011D2C8 = .text:0x8011D2C8; // type:function size:0x4 -fn_8011D2CC = .text:0x8011D2CC; // type:function size:0x4 -fn_8011D2D0 = .text:0x8011D2D0; // type:function size:0x4 -fn_8011D2D4 = .text:0x8011D2D4; // type:function size:0x4 -fn_8011D2D8 = .text:0x8011D2D8; // type:function size:0x4 -fn_8011D2DC = .text:0x8011D2DC; // type:function size:0x4 -fn_8011D2E0 = .text:0x8011D2E0; // type:function size:0x4 -fn_8011D2E4 = .text:0x8011D2E4; // type:function size:0x4 -fn_8011D2E8 = .text:0x8011D2E8; // type:function size:0x4 -fn_8011D2EC = .text:0x8011D2EC; // type:function size:0x4 -fn_8011D2F0 = .text:0x8011D2F0; // type:function size:0x4 -fn_8011D2F4 = .text:0x8011D2F4; // type:function size:0x4 -fn_8011D2F8 = .text:0x8011D2F8; // type:function size:0x4 -fn_8011D2FC = .text:0x8011D2FC; // type:function size:0x4 -fn_8011D300 = .text:0x8011D300; // type:function size:0x4 -fn_8011D304 = .text:0x8011D304; // type:function size:0x4 -fn_8011D308 = .text:0x8011D308; // type:function size:0x4 -fn_8011D30C = .text:0x8011D30C; // type:function size:0x4 -fn_8011D310 = .text:0x8011D310; // type:function size:0x4 -fn_8011D314 = .text:0x8011D314; // type:function size:0x4 -fn_8011D318 = .text:0x8011D318; // type:function size:0x4 -fn_8011D31C = .text:0x8011D31C; // type:function size:0x4 -fn_8011D320 = .text:0x8011D320; // type:function size:0x4 -fn_8011D324 = .text:0x8011D324; // type:function size:0x4 -fn_8011D328 = .text:0x8011D328; // type:function size:0x4 -fn_8011D32C = .text:0x8011D32C; // type:function size:0x4 -fn_8011D330 = .text:0x8011D330; // type:function size:0x4 -fn_8011D334 = .text:0x8011D334; // type:function size:0x4 -fn_8011D338 = .text:0x8011D338; // type:function size:0x4 -fn_8011D33C = .text:0x8011D33C; // type:function size:0x4 -fn_8011D340 = .text:0x8011D340; // type:function size:0x4 -fn_8011D344 = .text:0x8011D344; // type:function size:0x4 -fn_8011D348 = .text:0x8011D348; // type:function size:0x4 -fn_8011D34C = .text:0x8011D34C; // type:function size:0x4 -fn_8011D350 = .text:0x8011D350; // type:function size:0x4 -fn_8011D354 = .text:0x8011D354; // type:function size:0x4 -fn_8011D358 = .text:0x8011D358; // type:function size:0x4 -fn_8011D35C = .text:0x8011D35C; // type:function size:0x4 -fn_8011D360 = .text:0x8011D360; // type:function size:0x4 -fn_8011D364 = .text:0x8011D364; // type:function size:0x4 -fn_8011D368 = .text:0x8011D368; // type:function size:0x4 -fn_8011D36C = .text:0x8011D36C; // type:function size:0x4 -fn_8011D370 = .text:0x8011D370; // type:function size:0x4 -fn_8011D374 = .text:0x8011D374; // type:function size:0x4 -fn_8011D378 = .text:0x8011D378; // type:function size:0x4 -fn_8011D37C = .text:0x8011D37C; // type:function size:0x4 -fn_8011D380 = .text:0x8011D380; // type:function size:0x4 -fn_8011D384 = .text:0x8011D384; // type:function size:0x4 -fn_8011D388 = .text:0x8011D388; // type:function size:0x4 -fn_8011D38C = .text:0x8011D38C; // type:function size:0x4 -fn_8011D390 = .text:0x8011D390; // type:function size:0x4 -fn_8011D394 = .text:0x8011D394; // type:function size:0x4 -fn_8011D398 = .text:0x8011D398; // type:function size:0x4 -fn_8011D39C = .text:0x8011D39C; // type:function size:0x4 -fn_8011D3A0 = .text:0x8011D3A0; // type:function size:0x4 -fn_8011D3A4 = .text:0x8011D3A4; // type:function size:0x4 -fn_8011D3A8 = .text:0x8011D3A8; // type:function size:0x4 -fn_8011D3AC = .text:0x8011D3AC; // type:function size:0x4 -fn_8011D3B0 = .text:0x8011D3B0; // type:function size:0x4 -fn_8011D3B4 = .text:0x8011D3B4; // type:function size:0x4 -fn_8011D3B8 = .text:0x8011D3B8; // type:function size:0x4 -fn_8011D3BC = .text:0x8011D3BC; // type:function size:0x4 -fn_8011D3C0 = .text:0x8011D3C0; // type:function size:0x4 -fn_8011D3C4 = .text:0x8011D3C4; // type:function size:0x4 -fn_8011D3C8 = .text:0x8011D3C8; // type:function size:0x4 -fn_8011D3CC = .text:0x8011D3CC; // type:function size:0x4 -fn_8011D3D0 = .text:0x8011D3D0; // type:function size:0x4 -fn_8011D3D4 = .text:0x8011D3D4; // type:function size:0x4 -fn_8011D3D8 = .text:0x8011D3D8; // type:function size:0x4 -fn_8011D3DC = .text:0x8011D3DC; // type:function size:0x4 -fn_8011D3E0 = .text:0x8011D3E0; // type:function size:0x4 -fn_8011D3E4 = .text:0x8011D3E4; // type:function size:0x4 -fn_8011D3E8 = .text:0x8011D3E8; // type:function size:0x4 -fn_8011D3EC = .text:0x8011D3EC; // type:function size:0x4 -fn_8011D3F0 = .text:0x8011D3F0; // type:function size:0x4 -fn_8011D3F4 = .text:0x8011D3F4; // type:function size:0x4 -fn_8011D3F8 = .text:0x8011D3F8; // type:function size:0x4 -fn_8011D3FC = .text:0x8011D3FC; // type:function size:0x4 -fn_8011D400 = .text:0x8011D400; // type:function size:0x4 -fn_8011D404 = .text:0x8011D404; // type:function size:0x4 -fn_8011D408 = .text:0x8011D408; // type:function size:0x4 -fn_8011D40C = .text:0x8011D40C; // type:function size:0x4 -fn_8011D410 = .text:0x8011D410; // type:function size:0x4 -fn_8011D414 = .text:0x8011D414; // type:function size:0x4 -fn_8011D418 = .text:0x8011D418; // type:function size:0x4 -fn_8011D41C = .text:0x8011D41C; // type:function size:0x4 -fn_8011D420 = .text:0x8011D420; // type:function size:0x4 -fn_8011D424 = .text:0x8011D424; // type:function size:0x4 -fn_8011D428 = .text:0x8011D428; // type:function size:0x4 -fn_8011D42C = .text:0x8011D42C; // type:function size:0x4 -fn_8011D430 = .text:0x8011D430; // type:function size:0x4 -fn_8011D434 = .text:0x8011D434; // type:function size:0x4 -fn_8011D438 = .text:0x8011D438; // type:function size:0x4 -fn_8011D43C = .text:0x8011D43C; // type:function size:0x4 -fn_8011D440 = .text:0x8011D440; // type:function size:0x4 -fn_8011D444 = .text:0x8011D444; // type:function size:0x4 -fn_8011D448 = .text:0x8011D448; // type:function size:0x4 -fn_8011D44C = .text:0x8011D44C; // type:function size:0x4 -fn_8011D450 = .text:0x8011D450; // type:function size:0x4 -fn_8011D454 = .text:0x8011D454; // type:function size:0x4 -fn_8011D458 = .text:0x8011D458; // type:function size:0x4 -fn_8011D45C = .text:0x8011D45C; // type:function size:0x4 -fn_8011D460 = .text:0x8011D460; // type:function size:0x4 -fn_8011D464 = .text:0x8011D464; // type:function size:0x4 -fn_8011D468 = .text:0x8011D468; // type:function size:0x4 -fn_8011D46C = .text:0x8011D46C; // type:function size:0x4 -fn_8011D470 = .text:0x8011D470; // type:function size:0x4 -fn_8011D474 = .text:0x8011D474; // type:function size:0x4 -fn_8011D478 = .text:0x8011D478; // type:function size:0x4 -fn_8011D47C = .text:0x8011D47C; // type:function size:0x4 -fn_8011D480 = .text:0x8011D480; // type:function size:0x4 -fn_8011D484 = .text:0x8011D484; // type:function size:0x4 -fn_8011D488 = .text:0x8011D488; // type:function size:0x4 -fn_8011D48C = .text:0x8011D48C; // type:function size:0x4 -fn_8011D490 = .text:0x8011D490; // type:function size:0x4 -fn_8011D494 = .text:0x8011D494; // type:function size:0x4 -fn_8011D498 = .text:0x8011D498; // type:function size:0x4 -fn_8011D49C = .text:0x8011D49C; // type:function size:0x4 -fn_8011D4A0 = .text:0x8011D4A0; // type:function size:0x4 -fn_8011D4A4 = .text:0x8011D4A4; // type:function size:0x4 -fn_8011D4A8 = .text:0x8011D4A8; // type:function size:0x4 -fn_8011D4AC = .text:0x8011D4AC; // type:function size:0x4 -fn_8011D4B0 = .text:0x8011D4B0; // type:function size:0x4 -fn_8011D4B4 = .text:0x8011D4B4; // type:function size:0x4 -fn_8011D4B8 = .text:0x8011D4B8; // type:function size:0x4 -fn_8011D4BC = .text:0x8011D4BC; // type:function size:0x4 -fn_8011D4C0 = .text:0x8011D4C0; // type:function size:0x4 -fn_8011D4C4 = .text:0x8011D4C4; // type:function size:0x4 -fn_8011D4C8 = .text:0x8011D4C8; // type:function size:0x4 -fn_8011D4CC = .text:0x8011D4CC; // type:function size:0x4 -fn_8011D4D0 = .text:0x8011D4D0; // type:function size:0x4 -fn_8011D4D4 = .text:0x8011D4D4; // type:function size:0x4 -fn_8011D4D8 = .text:0x8011D4D8; // type:function size:0x4 -fn_8011D4DC = .text:0x8011D4DC; // type:function size:0x4 -fn_8011D4E0 = .text:0x8011D4E0; // type:function size:0x4 -fn_8011D4E4 = .text:0x8011D4E4; // type:function size:0x4 -fn_8011D4E8 = .text:0x8011D4E8; // type:function size:0x4 -fn_8011D4EC = .text:0x8011D4EC; // type:function size:0x4 -fn_8011D4F0 = .text:0x8011D4F0; // type:function size:0x4 -fn_8011D4F4 = .text:0x8011D4F4; // type:function size:0x4 -fn_8011D4F8 = .text:0x8011D4F8; // type:function size:0x4 -fn_8011D4FC = .text:0x8011D4FC; // type:function size:0x4 -fn_8011D500 = .text:0x8011D500; // type:function size:0x4 -fn_8011D504 = .text:0x8011D504; // type:function size:0x4 -fn_8011D508 = .text:0x8011D508; // type:function size:0x4 -fn_8011D50C = .text:0x8011D50C; // type:function size:0x4 -fn_8011D510 = .text:0x8011D510; // type:function size:0x4 -fn_8011D514 = .text:0x8011D514; // type:function size:0x4 -fn_8011D518 = .text:0x8011D518; // type:function size:0x4 -fn_8011D51C = .text:0x8011D51C; // type:function size:0x4 -fn_8011D520 = .text:0x8011D520; // type:function size:0x4 -fn_8011D524 = .text:0x8011D524; // type:function size:0x4 -fn_8011D528 = .text:0x8011D528; // type:function size:0x4 -fn_8011D52C = .text:0x8011D52C; // type:function size:0x4 -fn_8011D530 = .text:0x8011D530; // type:function size:0x4 -fn_8011D534 = .text:0x8011D534; // type:function size:0x4 -fn_8011D538 = .text:0x8011D538; // type:function size:0x4 -fn_8011D53C = .text:0x8011D53C; // type:function size:0x4 -fn_8011D540 = .text:0x8011D540; // type:function size:0x4 -fn_8011D544 = .text:0x8011D544; // type:function size:0x4 -fn_8011D548 = .text:0x8011D548; // type:function size:0x4 -fn_8011D54C = .text:0x8011D54C; // type:function size:0x4 -fn_8011D550 = .text:0x8011D550; // type:function size:0x4 -fn_8011D554 = .text:0x8011D554; // type:function size:0x4 -fn_8011D558 = .text:0x8011D558; // type:function size:0x4 -fn_8011D55C = .text:0x8011D55C; // type:function size:0x4 -fn_8011D560 = .text:0x8011D560; // type:function size:0x4 -fn_8011D564 = .text:0x8011D564; // type:function size:0x4 -fn_8011D568 = .text:0x8011D568; // type:function size:0x4 -fn_8011D56C = .text:0x8011D56C; // type:function size:0x4 -fn_8011D570 = .text:0x8011D570; // type:function size:0x4 -fn_8011D574 = .text:0x8011D574; // type:function size:0x4 -fn_8011D578 = .text:0x8011D578; // type:function size:0x4 -fn_8011D57C = .text:0x8011D57C; // type:function size:0x4 -fn_8011D580 = .text:0x8011D580; // type:function size:0x4 -fn_8011D584 = .text:0x8011D584; // type:function size:0x4 -fn_8011D588 = .text:0x8011D588; // type:function size:0x4 -fn_8011D58C = .text:0x8011D58C; // type:function size:0x4 -fn_8011D590 = .text:0x8011D590; // type:function size:0x4 -fn_8011D594 = .text:0x8011D594; // type:function size:0x4 -fn_8011D598 = .text:0x8011D598; // type:function size:0x4 -fn_8011D59C = .text:0x8011D59C; // type:function size:0x4 -fn_8011D5A0 = .text:0x8011D5A0; // type:function size:0x4 -fn_8011D5A4 = .text:0x8011D5A4; // type:function size:0x4 -fn_8011D5A8 = .text:0x8011D5A8; // type:function size:0x4 -fn_8011D5AC = .text:0x8011D5AC; // type:function size:0x4 -fn_8011D5B0 = .text:0x8011D5B0; // type:function size:0x4 -fn_8011D5B4 = .text:0x8011D5B4; // type:function size:0x4 -fn_8011D5B8 = .text:0x8011D5B8; // type:function size:0x4 -fn_8011D5BC = .text:0x8011D5BC; // type:function size:0x4 -fn_8011D5C0 = .text:0x8011D5C0; // type:function size:0x4 -fn_8011D5C4 = .text:0x8011D5C4; // type:function size:0x4 -fn_8011D5C8 = .text:0x8011D5C8; // type:function size:0x4 -fn_8011D5CC = .text:0x8011D5CC; // type:function size:0x4 -fn_8011D5D0 = .text:0x8011D5D0; // type:function size:0x4 -fn_8011D5D4 = .text:0x8011D5D4; // type:function size:0x4 -fn_8011D5D8 = .text:0x8011D5D8; // type:function size:0x4 -fn_8011D5DC = .text:0x8011D5DC; // type:function size:0x4 -fn_8011D5E0 = .text:0x8011D5E0; // type:function size:0x4 -fn_8011D5E4 = .text:0x8011D5E4; // type:function size:0x4 -fn_8011D5E8 = .text:0x8011D5E8; // type:function size:0x4 -fn_8011D5EC = .text:0x8011D5EC; // type:function size:0x4 -fn_8011D5F0 = .text:0x8011D5F0; // type:function size:0x4 -fn_8011D5F4 = .text:0x8011D5F4; // type:function size:0x4 -fn_8011D5F8 = .text:0x8011D5F8; // type:function size:0x4 -fn_8011D5FC = .text:0x8011D5FC; // type:function size:0x4 -fn_8011D600 = .text:0x8011D600; // type:function size:0x4 -fn_8011D604 = .text:0x8011D604; // type:function size:0x4 -fn_8011D608 = .text:0x8011D608; // type:function size:0x4 -fn_8011D60C = .text:0x8011D60C; // type:function size:0x4 -fn_8011D610 = .text:0x8011D610; // type:function size:0x4 -fn_8011D614 = .text:0x8011D614; // type:function size:0x4 -fn_8011D618 = .text:0x8011D618; // type:function size:0x4 -fn_8011D61C = .text:0x8011D61C; // type:function size:0x4 -fn_8011D620 = .text:0x8011D620; // type:function size:0x4 -fn_8011D624 = .text:0x8011D624; // type:function size:0x4 -fn_8011D628 = .text:0x8011D628; // type:function size:0x4 -fn_8011D62C = .text:0x8011D62C; // type:function size:0x4 -fn_8011D630 = .text:0x8011D630; // type:function size:0x4 -fn_8011D634 = .text:0x8011D634; // type:function size:0x4 -fn_8011D638 = .text:0x8011D638; // type:function size:0x4 -fn_8011D63C = .text:0x8011D63C; // type:function size:0x4 -fn_8011D640 = .text:0x8011D640; // type:function size:0x4 -fn_8011D644 = .text:0x8011D644; // type:function size:0x4 -fn_8011D648 = .text:0x8011D648; // type:function size:0x4 -fn_8011D64C = .text:0x8011D64C; // type:function size:0x4 -fn_8011D650 = .text:0x8011D650; // type:function size:0x4 -fn_8011D654 = .text:0x8011D654; // type:function size:0x4 -fn_8011D658 = .text:0x8011D658; // type:function size:0x4 -fn_8011D65C = .text:0x8011D65C; // type:function size:0x4 -fn_8011D660 = .text:0x8011D660; // type:function size:0x4 -fn_8011D664 = .text:0x8011D664; // type:function size:0x4 -fn_8011D668 = .text:0x8011D668; // type:function size:0x4 -fn_8011D66C = .text:0x8011D66C; // type:function size:0x4 -fn_8011D670 = .text:0x8011D670; // type:function size:0x4 -fn_8011D674 = .text:0x8011D674; // type:function size:0x4 -fn_8011D678 = .text:0x8011D678; // type:function size:0x4 -fn_8011D67C = .text:0x8011D67C; // type:function size:0x4 -fn_8011D680 = .text:0x8011D680; // type:function size:0x4 -fn_8011D684 = .text:0x8011D684; // type:function size:0x4 -fn_8011D688 = .text:0x8011D688; // type:function size:0x4 -fn_8011D68C = .text:0x8011D68C; // type:function size:0x4 -fn_8011D690 = .text:0x8011D690; // type:function size:0x4 -fn_8011D694 = .text:0x8011D694; // type:function size:0x4 -fn_8011D698 = .text:0x8011D698; // type:function size:0x4 -fn_8011D69C = .text:0x8011D69C; // type:function size:0x4 -fn_8011D6A0 = .text:0x8011D6A0; // type:function size:0x4 -fn_8011D6A4 = .text:0x8011D6A4; // type:function size:0x4 -fn_8011D6A8 = .text:0x8011D6A8; // type:function size:0x4 -fn_8011D6AC = .text:0x8011D6AC; // type:function size:0x4 -fn_8011D6B0 = .text:0x8011D6B0; // type:function size:0x4 -fn_8011D6B4 = .text:0x8011D6B4; // type:function size:0x4 -fn_8011D6B8 = .text:0x8011D6B8; // type:function size:0x4 -fn_8011D6BC = .text:0x8011D6BC; // type:function size:0x4 -fn_8011D6C0 = .text:0x8011D6C0; // type:function size:0x4 -fn_8011D6C4 = .text:0x8011D6C4; // type:function size:0x4 -fn_8011D6C8 = .text:0x8011D6C8; // type:function size:0x4 -fn_8011D6CC = .text:0x8011D6CC; // type:function size:0x4 -fn_8011D6D0 = .text:0x8011D6D0; // type:function size:0x4 -fn_8011D6D4 = .text:0x8011D6D4; // type:function size:0x4 -fn_8011D6D8 = .text:0x8011D6D8; // type:function size:0x4 -fn_8011D6DC = .text:0x8011D6DC; // type:function size:0x4 -fn_8011D6E0 = .text:0x8011D6E0; // type:function size:0x4 -fn_8011D6E4 = .text:0x8011D6E4; // type:function size:0x4 -fn_8011D6E8 = .text:0x8011D6E8; // type:function size:0x4 -fn_8011D6EC = .text:0x8011D6EC; // type:function size:0x4 -fn_8011D6F0 = .text:0x8011D6F0; // type:function size:0x4 -fn_8011D6F4 = .text:0x8011D6F4; // type:function size:0x4 -fn_8011D6F8 = .text:0x8011D6F8; // type:function size:0x4 -fn_8011D6FC = .text:0x8011D6FC; // type:function size:0x4 -fn_8011D700 = .text:0x8011D700; // type:function size:0x4 -fn_8011D704 = .text:0x8011D704; // type:function size:0x4 -fn_8011D708 = .text:0x8011D708; // type:function size:0x4 -fn_8011D70C = .text:0x8011D70C; // type:function size:0x4 -fn_8011D710 = .text:0x8011D710; // type:function size:0x4 -fn_8011D714 = .text:0x8011D714; // type:function size:0x4 -fn_8011D718 = .text:0x8011D718; // type:function size:0x4 -fn_8011D71C = .text:0x8011D71C; // type:function size:0x4 -fn_8011D720 = .text:0x8011D720; // type:function size:0x4 -fn_8011D724 = .text:0x8011D724; // type:function size:0x4 -fn_8011D728 = .text:0x8011D728; // type:function size:0x4 -fn_8011D72C = .text:0x8011D72C; // type:function size:0x4 -fn_8011D730 = .text:0x8011D730; // type:function size:0x4 -fn_8011D734 = .text:0x8011D734; // type:function size:0x4 -fn_8011D738 = .text:0x8011D738; // type:function size:0x4 -fn_8011D73C = .text:0x8011D73C; // type:function size:0x4 -fn_8011D740 = .text:0x8011D740; // type:function size:0x4 -fn_8011D744 = .text:0x8011D744; // type:function size:0x4 -fn_8011D748 = .text:0x8011D748; // type:function size:0x4 -fn_8011D74C = .text:0x8011D74C; // type:function size:0x4 -fn_8011D750 = .text:0x8011D750; // type:function size:0x4 -fn_8011D754 = .text:0x8011D754; // type:function size:0x4 -fn_8011D758 = .text:0x8011D758; // type:function size:0x4 -fn_8011D75C = .text:0x8011D75C; // type:function size:0x4 -fn_8011D760 = .text:0x8011D760; // type:function size:0x4 -fn_8011D764 = .text:0x8011D764; // type:function size:0x4 -fn_8011D768 = .text:0x8011D768; // type:function size:0x4 -fn_8011D76C = .text:0x8011D76C; // type:function size:0x4 -fn_8011D770 = .text:0x8011D770; // type:function size:0x4 -fn_8011D774 = .text:0x8011D774; // type:function size:0x4 -fn_8011D778 = .text:0x8011D778; // type:function size:0x4 -fn_8011D77C = .text:0x8011D77C; // type:function size:0x4 -fn_8011D780 = .text:0x8011D780; // type:function size:0x4 -fn_8011D784 = .text:0x8011D784; // type:function size:0x4 -fn_8011D788 = .text:0x8011D788; // type:function size:0x4 -fn_8011D78C = .text:0x8011D78C; // type:function size:0x4 -fn_8011D790 = .text:0x8011D790; // type:function size:0x4 -fn_8011D794 = .text:0x8011D794; // type:function size:0x4 -fn_8011D798 = .text:0x8011D798; // type:function size:0x4 -fn_8011D79C = .text:0x8011D79C; // type:function size:0x4 -fn_8011D7A0 = .text:0x8011D7A0; // type:function size:0x4 -fn_8011D7A4 = .text:0x8011D7A4; // type:function size:0x4 -fn_8011D7A8 = .text:0x8011D7A8; // type:function size:0x4 -fn_8011D7AC = .text:0x8011D7AC; // type:function size:0x4 -fn_8011D7B0 = .text:0x8011D7B0; // type:function size:0x4 -fn_8011D7B4 = .text:0x8011D7B4; // type:function size:0x4 -fn_8011D7B8 = .text:0x8011D7B8; // type:function size:0x4 -fn_8011D7BC = .text:0x8011D7BC; // type:function size:0x4 -fn_8011D7C0 = .text:0x8011D7C0; // type:function size:0x4 -fn_8011D7C4 = .text:0x8011D7C4; // type:function size:0x4 -fn_8011D7C8 = .text:0x8011D7C8; // type:function size:0x4 -fn_8011D7CC = .text:0x8011D7CC; // type:function size:0x4 -fn_8011D7D0 = .text:0x8011D7D0; // type:function size:0x4 -fn_8011D7D4 = .text:0x8011D7D4; // type:function size:0x4 -fn_8011D7D8 = .text:0x8011D7D8; // type:function size:0x4 -fn_8011D7DC = .text:0x8011D7DC; // type:function size:0x4 -fn_8011D7E0 = .text:0x8011D7E0; // type:function size:0x4 -fn_8011D7E4 = .text:0x8011D7E4; // type:function size:0x4 -fn_8011D7E8 = .text:0x8011D7E8; // type:function size:0x4 -fn_8011D7EC = .text:0x8011D7EC; // type:function size:0x4 -fn_8011D7F0 = .text:0x8011D7F0; // type:function size:0x4 -fn_8011D7F4 = .text:0x8011D7F4; // type:function size:0x4 -fn_8011D7F8 = .text:0x8011D7F8; // type:function size:0x4 -fn_8011D7FC = .text:0x8011D7FC; // type:function size:0x4 -fn_8011D800 = .text:0x8011D800; // type:function size:0x4 -fn_8011D804 = .text:0x8011D804; // type:function size:0x4 -fn_8011D808 = .text:0x8011D808; // type:function size:0x4 -fn_8011D80C = .text:0x8011D80C; // type:function size:0x4 -fn_8011D810 = .text:0x8011D810; // type:function size:0x4 -fn_8011D814 = .text:0x8011D814; // type:function size:0x4 -fn_8011D818 = .text:0x8011D818; // type:function size:0x4 -fn_8011D81C = .text:0x8011D81C; // type:function size:0x4 -fn_8011D820 = .text:0x8011D820; // type:function size:0x4 -fn_8011D824 = .text:0x8011D824; // type:function size:0x4 -fn_8011D828 = .text:0x8011D828; // type:function size:0x4 -fn_8011D82C = .text:0x8011D82C; // type:function size:0x4 -fn_8011D830 = .text:0x8011D830; // type:function size:0x4 -fn_8011D834 = .text:0x8011D834; // type:function size:0x4 -fn_8011D838 = .text:0x8011D838; // type:function size:0x4 -fn_8011D83C = .text:0x8011D83C; // type:function size:0x4 -fn_8011D840 = .text:0x8011D840; // type:function size:0x4 -fn_8011D844 = .text:0x8011D844; // type:function size:0x4 -fn_8011D848 = .text:0x8011D848; // type:function size:0x4 -fn_8011D84C = .text:0x8011D84C; // type:function size:0x4 -fn_8011D850 = .text:0x8011D850; // type:function size:0x4 -fn_8011D854 = .text:0x8011D854; // type:function size:0x4 -fn_8011D858 = .text:0x8011D858; // type:function size:0x4 -fn_8011D85C = .text:0x8011D85C; // type:function size:0x4 -fn_8011D860 = .text:0x8011D860; // type:function size:0x4 -fn_8011D864 = .text:0x8011D864; // type:function size:0x4 -fn_8011D868 = .text:0x8011D868; // type:function size:0x4 -fn_8011D86C = .text:0x8011D86C; // type:function size:0x4 -fn_8011D870 = .text:0x8011D870; // type:function size:0x4 -fn_8011D874 = .text:0x8011D874; // type:function size:0x4 -fn_8011D878 = .text:0x8011D878; // type:function size:0x4 -fn_8011D87C = .text:0x8011D87C; // type:function size:0x4 -fn_8011D880 = .text:0x8011D880; // type:function size:0x4 -fn_8011D884 = .text:0x8011D884; // type:function size:0x4 -fn_8011D888 = .text:0x8011D888; // type:function size:0x4 -fn_8011D88C = .text:0x8011D88C; // type:function size:0x4 -fn_8011D890 = .text:0x8011D890; // type:function size:0x4 -fn_8011D894 = .text:0x8011D894; // type:function size:0x4 -fn_8011D898 = .text:0x8011D898; // type:function size:0x4 -fn_8011D89C = .text:0x8011D89C; // type:function size:0x4 -fn_8011D8A0 = .text:0x8011D8A0; // type:function size:0x4 -fn_8011D8A4 = .text:0x8011D8A4; // type:function size:0x4 -fn_8011D8A8 = .text:0x8011D8A8; // type:function size:0x4 -fn_8011D8AC = .text:0x8011D8AC; // type:function size:0x4 -fn_8011D8B0 = .text:0x8011D8B0; // type:function size:0x4 -fn_8011D8B4 = .text:0x8011D8B4; // type:function size:0x4 -fn_8011D8B8 = .text:0x8011D8B8; // type:function size:0x4 -fn_8011D8BC = .text:0x8011D8BC; // type:function size:0x4 -fn_8011D8C0 = .text:0x8011D8C0; // type:function size:0x4 -fn_8011D8C4 = .text:0x8011D8C4; // type:function size:0x4 -fn_8011D8C8 = .text:0x8011D8C8; // type:function size:0x4 -fn_8011D8CC = .text:0x8011D8CC; // type:function size:0x4 -fn_8011D8D0 = .text:0x8011D8D0; // type:function size:0x4 -fn_8011D8D4 = .text:0x8011D8D4; // type:function size:0x4 -fn_8011D8D8 = .text:0x8011D8D8; // type:function size:0x4 -fn_8011D8DC = .text:0x8011D8DC; // type:function size:0x4 -fn_8011D8E0 = .text:0x8011D8E0; // type:function size:0x4 -fn_8011D8E4 = .text:0x8011D8E4; // type:function size:0x4 -fn_8011D8E8 = .text:0x8011D8E8; // type:function size:0x4 -fn_8011D8EC = .text:0x8011D8EC; // type:function size:0x4 -fn_8011D8F0 = .text:0x8011D8F0; // type:function size:0x4 -fn_8011D8F4 = .text:0x8011D8F4; // type:function size:0x4 -fn_8011D8F8 = .text:0x8011D8F8; // type:function size:0x4 -fn_8011D8FC = .text:0x8011D8FC; // type:function size:0x4 -fn_8011D900 = .text:0x8011D900; // type:function size:0x4 -fn_8011D904 = .text:0x8011D904; // type:function size:0x4 -fn_8011D908 = .text:0x8011D908; // type:function size:0x4 -fn_8011D90C = .text:0x8011D90C; // type:function size:0x4 -fn_8011D910 = .text:0x8011D910; // type:function size:0x4 -fn_8011D914 = .text:0x8011D914; // type:function size:0x4 -fn_8011D918 = .text:0x8011D918; // type:function size:0x4 -fn_8011D91C = .text:0x8011D91C; // type:function size:0x4 -fn_8011D920 = .text:0x8011D920; // type:function size:0x4 -fn_8011D924 = .text:0x8011D924; // type:function size:0x4 -fn_8011D928 = .text:0x8011D928; // type:function size:0x4 -fn_8011D92C = .text:0x8011D92C; // type:function size:0x4 -fn_8011D930 = .text:0x8011D930; // type:function size:0x4 -fn_8011D934 = .text:0x8011D934; // type:function size:0x4 -fn_8011D938 = .text:0x8011D938; // type:function size:0x4 -fn_8011D93C = .text:0x8011D93C; // type:function size:0x4 -fn_8011D940 = .text:0x8011D940; // type:function size:0x4 -fn_8011D944 = .text:0x8011D944; // type:function size:0x4 -fn_8011D948 = .text:0x8011D948; // type:function size:0x4 -fn_8011D94C = .text:0x8011D94C; // type:function size:0x4 -fn_8011D950 = .text:0x8011D950; // type:function size:0x4 -fn_8011D954 = .text:0x8011D954; // type:function size:0x4 -fn_8011D958 = .text:0x8011D958; // type:function size:0x4 -fn_8011D95C = .text:0x8011D95C; // type:function size:0x4 -fn_8011D960 = .text:0x8011D960; // type:function size:0x4 -fn_8011D964 = .text:0x8011D964; // type:function size:0x4 -fn_8011D968 = .text:0x8011D968; // type:function size:0x4 -fn_8011D96C = .text:0x8011D96C; // type:function size:0x4 -fn_8011D970 = .text:0x8011D970; // type:function size:0x4 -fn_8011D974 = .text:0x8011D974; // type:function size:0x4 -fn_8011D978 = .text:0x8011D978; // type:function size:0x4 -fn_8011D97C = .text:0x8011D97C; // type:function size:0x4 -fn_8011D980 = .text:0x8011D980; // type:function size:0x4 -fn_8011D984 = .text:0x8011D984; // type:function size:0x4 -fn_8011D988 = .text:0x8011D988; // type:function size:0x4 -fn_8011D98C = .text:0x8011D98C; // type:function size:0x4 -fn_8011D990 = .text:0x8011D990; // type:function size:0x4 -fn_8011D994 = .text:0x8011D994; // type:function size:0x4 -fn_8011D998 = .text:0x8011D998; // type:function size:0x4 -fn_8011D99C = .text:0x8011D99C; // type:function size:0x4 -fn_8011D9A0 = .text:0x8011D9A0; // type:function size:0x4 -fn_8011D9A4 = .text:0x8011D9A4; // type:function size:0x4 -fn_8011D9A8 = .text:0x8011D9A8; // type:function size:0x4 -fn_8011D9AC = .text:0x8011D9AC; // type:function size:0x4 -fn_8011D9B0 = .text:0x8011D9B0; // type:function size:0x4 -fn_8011D9B4 = .text:0x8011D9B4; // type:function size:0x4 -fn_8011D9B8 = .text:0x8011D9B8; // type:function size:0x4 -fn_8011D9BC = .text:0x8011D9BC; // type:function size:0x4 -fn_8011D9C0 = .text:0x8011D9C0; // type:function size:0x4 -fn_8011D9C4 = .text:0x8011D9C4; // type:function size:0x4 -fn_8011D9C8 = .text:0x8011D9C8; // type:function size:0x4 -fn_8011D9CC = .text:0x8011D9CC; // type:function size:0x4 -fn_8011D9D0 = .text:0x8011D9D0; // type:function size:0x4 -fn_8011D9D4 = .text:0x8011D9D4; // type:function size:0x4 -fn_8011D9D8 = .text:0x8011D9D8; // type:function size:0x4 -fn_8011D9DC = .text:0x8011D9DC; // type:function size:0x4 -fn_8011D9E0 = .text:0x8011D9E0; // type:function size:0x4 -fn_8011D9E4 = .text:0x8011D9E4; // type:function size:0x4 -fn_8011D9E8 = .text:0x8011D9E8; // type:function size:0x4 -fn_8011D9EC = .text:0x8011D9EC; // type:function size:0x4 -fn_8011D9F0 = .text:0x8011D9F0; // type:function size:0x4 -fn_8011D9F4 = .text:0x8011D9F4; // type:function size:0x4 -fn_8011D9F8 = .text:0x8011D9F8; // type:function size:0x4 -fn_8011D9FC = .text:0x8011D9FC; // type:function size:0x4 -fn_8011DA00 = .text:0x8011DA00; // type:function size:0x4 -fn_8011DA04 = .text:0x8011DA04; // type:function size:0x4 -fn_8011DA08 = .text:0x8011DA08; // type:function size:0x4 -fn_8011DA0C = .text:0x8011DA0C; // type:function size:0x4 -fn_8011DA10 = .text:0x8011DA10; // type:function size:0x4 -fn_8011DA14 = .text:0x8011DA14; // type:function size:0x4 -fn_8011DA18 = .text:0x8011DA18; // type:function size:0x4 -fn_8011DA1C = .text:0x8011DA1C; // type:function size:0x4 -fn_8011DA20 = .text:0x8011DA20; // type:function size:0x4 -fn_8011DA24 = .text:0x8011DA24; // type:function size:0x4 -fn_8011DA28 = .text:0x8011DA28; // type:function size:0x4 -fn_8011DA2C = .text:0x8011DA2C; // type:function size:0x4 -fn_8011DA30 = .text:0x8011DA30; // type:function size:0x4 -fn_8011DA34 = .text:0x8011DA34; // type:function size:0x4 -fn_8011DA38 = .text:0x8011DA38; // type:function size:0x4 -fn_8011DA3C = .text:0x8011DA3C; // type:function size:0x4 -fn_8011DA40 = .text:0x8011DA40; // type:function size:0x4 -fn_8011DA44 = .text:0x8011DA44; // type:function size:0x4 -fn_8011DA48 = .text:0x8011DA48; // type:function size:0x4 -fn_8011DA4C = .text:0x8011DA4C; // type:function size:0x4 -fn_8011DA50 = .text:0x8011DA50; // type:function size:0x4 -fn_8011DA54 = .text:0x8011DA54; // type:function size:0x4 -fn_8011DA58 = .text:0x8011DA58; // type:function size:0x4 -fn_8011DA5C = .text:0x8011DA5C; // type:function size:0x4 -fn_8011DA60 = .text:0x8011DA60; // type:function size:0x4 -fn_8011DA64 = .text:0x8011DA64; // type:function size:0x4 -fn_8011DA68 = .text:0x8011DA68; // type:function size:0x4 -fn_8011DA6C = .text:0x8011DA6C; // type:function size:0x4 -fn_8011DA70 = .text:0x8011DA70; // type:function size:0x4 -fn_8011DA74 = .text:0x8011DA74; // type:function size:0x4 -fn_8011DA78 = .text:0x8011DA78; // type:function size:0x4 -fn_8011DA7C = .text:0x8011DA7C; // type:function size:0x4 -fn_8011DA80 = .text:0x8011DA80; // type:function size:0x4 -fn_8011DA84 = .text:0x8011DA84; // type:function size:0x4 -fn_8011DA88 = .text:0x8011DA88; // type:function size:0x4 -fn_8011DA8C = .text:0x8011DA8C; // type:function size:0x4 -fn_8011DA90 = .text:0x8011DA90; // type:function size:0x4 -fn_8011DA94 = .text:0x8011DA94; // type:function size:0x4 -fn_8011DA98 = .text:0x8011DA98; // type:function size:0x4 -fn_8011DA9C = .text:0x8011DA9C; // type:function size:0x4 -fn_8011DAA0 = .text:0x8011DAA0; // type:function size:0x4 -fn_8011DAA4 = .text:0x8011DAA4; // type:function size:0x4 -fn_8011DAA8 = .text:0x8011DAA8; // type:function size:0x4 -fn_8011DAAC = .text:0x8011DAAC; // type:function size:0x4 -fn_8011DAB0 = .text:0x8011DAB0; // type:function size:0x4 -fn_8011DAB4 = .text:0x8011DAB4; // type:function size:0x4 -fn_8011DAB8 = .text:0x8011DAB8; // type:function size:0x4 -fn_8011DABC = .text:0x8011DABC; // type:function size:0x4 -fn_8011DAC0 = .text:0x8011DAC0; // type:function size:0x4 -fn_8011DAC4 = .text:0x8011DAC4; // type:function size:0x4 -fn_8011DAC8 = .text:0x8011DAC8; // type:function size:0x4 -fn_8011DACC = .text:0x8011DACC; // type:function size:0x4 -fn_8011DAD0 = .text:0x8011DAD0; // type:function size:0x4 -fn_8011DAD4 = .text:0x8011DAD4; // type:function size:0x4 -fn_8011DAD8 = .text:0x8011DAD8; // type:function size:0x4 -fn_8011DADC = .text:0x8011DADC; // type:function size:0x4 -_ctors = .ctors:0x8011DAE0; // type:label scope:global data:4byte -__init_cpp_exceptions_reference = .ctors:0x8011DAE0; // type:object size:0x4 scope:global -_dtors = .dtors:0x8011DB00; // type:label scope:global data:4byte -__destroy_global_chain_reference = .dtors:0x8011DB00; // type:object size:0x4 scope:global -__fini_cpp_exceptions_reference = .dtors:0x8011DB04; // type:object size:0x4 scope:global -lbl_8011DB20 = .rodata:0x8011DB20; // type:object size:0x10 data:4byte -lbl_8011DB30 = .rodata:0x8011DB30; // type:object size:0x10 data:4byte -lbl_8011DB40 = .rodata:0x8011DB40; // type:object size:0x10 data:4byte -lbl_8011DB50 = .rodata:0x8011DB50; // type:object size:0x20 scope:local data:byte -lbl_8011DB70 = .rodata:0x8011DB70; // type:object size:0x10 data:4byte -lbl_8011DB80 = .rodata:0x8011DB80; // type:object size:0x24 data:4byte -lbl_8011DBA4 = .rodata:0x8011DBA4; // type:object size:0xC data:4byte -lbl_8011DBB0 = .rodata:0x8011DBB0; // type:object size:0x20 data:4byte -lbl_8011DBD0 = .rodata:0x8011DBD0; // type:object size:0x7C data:4byte -lbl_8011DC4C = .rodata:0x8011DC4C; // type:object size:0x24 data:4byte -lbl_8011DC70 = .rodata:0x8011DC70; // type:object size:0x10 data:4byte -lbl_8011DC80 = .rodata:0x8011DC80; // type:object size:0x38 data:4byte -lbl_8011DCB8 = .rodata:0x8011DCB8; // type:object size:0x38 data:4byte -lbl_8011DCF0 = .rodata:0x8011DCF0; // type:object size:0x20 data:4byte -lbl_8011DD10 = .rodata:0x8011DD10; // type:object size:0x10 data:4byte -lbl_8011DD20 = .rodata:0x8011DD20; // type:object size:0x90 data:4byte -lbl_8011DDB0 = .rodata:0x8011DDB0; // type:object size:0x20 data:4byte -lbl_8011DDD0 = .rodata:0x8011DDD0; // type:object size:0x20 data:4byte -pickSpr = .rodata:0x8011DDF0; // type:object size:0x20 scope:local -handMdl = .rodata:0x8011DE10; // type:object size:0x20 scope:local -ticketSpr = .rodata:0x8011DE30; // type:object size:0x10 scope:local -lbl_8011DE40 = .rodata:0x8011DE40; // type:object size:0x20 data:4byte -starMesTbl1 = .rodata:0x8011DE60; // type:object size:0x24 scope:local -starMesTbl2 = .rodata:0x8011DE84; // type:object size:0x48 scope:local -lbl_8011DED0 = .rodata:0x8011DED0; // type:object size:0x68 data:4byte -lbl_8011DF38 = .rodata:0x8011DF38; // type:object size:0x38 data:4byte -lbl_8011DF70 = .rodata:0x8011DF70; // type:object size:0x3C data:4byte -lbl_8011DFAC = .rodata:0x8011DFAC; // type:object size:0x14 data:2byte -lbl_8011DFC0 = .rodata:0x8011DFC0; // type:object size:0x20 data:4byte -lbl_8011DFE0 = .rodata:0x8011DFE0; // type:object size:0x20 data:4byte -lbl_8011E000 = .rodata:0x8011E000; // type:object size:0x20 data:4byte -lbl_8011E020 = .rodata:0x8011E020; // type:object size:0x20 data:4byte -lbl_8011E040 = .rodata:0x8011E040; // type:object size:0xC data:4byte -lbl_8011E04C = .rodata:0x8011E04C; // type:object size:0xC data:4byte -lbl_8011E058 = .rodata:0x8011E058; // type:object size:0xC data:4byte -lbl_8011E064 = .rodata:0x8011E064; // type:object size:0xC data:4byte -bowserMotTbl = .rodata:0x8011E070; // type:object size:0x18 scope:local -lbl_8011E088 = .rodata:0x8011E088; // type:object size:0x70 data:4byte -lbl_8011E0F8 = .rodata:0x8011E0F8; // type:object size:0xC data:byte -miniBowserMotTbl = .rodata:0x8011E104; // type:object size:0x1C scope:local -lbl_8011E120 = .rodata:0x8011E120; // type:object size:0x24 data:4byte -lbl_8011E144 = .rodata:0x8011E144; // type:object size:0x20 data:4byte -lbl_8011E164 = .rodata:0x8011E164; // type:object size:0x2C data:4byte -lbl_8011E190 = .rodata:0x8011E190; // type:object size:0x10 data:4byte -lbl_8011E1A0 = .rodata:0x8011E1A0; // type:object size:0x28 data:4byte -lbl_8011E1C8 = .rodata:0x8011E1C8; // type:object size:0x28 data:4byte -lbl_8011E1F0 = .rodata:0x8011E1F0; // type:object size:0x20 data:4byte -lbl_8011E210 = .rodata:0x8011E210; // type:object size:0x20 data:4byte -lbl_8011E230 = .rodata:0x8011E230; // type:object size:0x20 data:4byte -lbl_8011E250 = .rodata:0x8011E250; // type:object size:0x10 data:4byte -lbl_8011E260 = .rodata:0x8011E260; // type:object size:0x90 data:byte -lbl_8011E2F0 = .rodata:0x8011E2F0; // type:object size:0x10 -lbl_8011E300 = .rodata:0x8011E300; // type:object size:0x10 -lbl_8011E310 = .rodata:0x8011E310; // type:object size:0x18 data:double -lbl_8011E328 = .rodata:0x8011E328; // type:object size:0x54 -lbl_8011E37C = .rodata:0x8011E37C; // type:object size:0x14 -lbl_8011E390 = .rodata:0x8011E390; // type:object size:0x10 -lbl_8011E3A0 = .rodata:0x8011E3A0; // type:object size:0x20 -lbl_8011E3C0 = .rodata:0x8011E3C0; // type:object size:0x38 -lbl_8011E3F8 = .rodata:0x8011E3F8; // type:object size:0x40 -lbl_8011E438 = .rodata:0x8011E438; // type:object size:0x18 data:4byte -lbl_8011E450 = .rodata:0x8011E450; // type:object size:0xE0 -@stringBase0 = .rodata:0x8011E530; // type:object size:0x25 scope:local data:string_table -lbl_8011E558 = .rodata:0x8011E558; // type:object size:0x10 -lbl_8011E568 = .rodata:0x8011E568; // type:object size:0x30 data:double -lbl_8011E598 = .rodata:0x8011E598; // type:object size:0x108 -lbl_8011E6A0 = .rodata:0x8011E6A0; // type:object size:0x80 -lbl_8011E720 = .rodata:0x8011E720; // type:object size:0x10 -lbl_8011E730 = .rodata:0x8011E730; // type:object size:0x40 data:double -lbl_8011E770 = .rodata:0x8011E770; // type:object size:0x68 data:double -lbl_8011E7D8 = .rodata:0x8011E7D8; // type:object size:0x98 -@62 = .rodata:0x8011E870; // type:object size:0x1B scope:local data:string -lbl_8011E890 = .rodata:0x8011E890; // type:object size:0x20 -lbl_8011E8B0 = .rodata:0x8011E8B0; // type:object size:0x10 data:4byte -lbl_8011E8C0 = .rodata:0x8011E8C0; // type:object size:0x28 data:4byte -lbl_8011E8E8 = .rodata:0x8011E8E8; // type:object size:0x28 data:4byte -lbl_8011E910 = .rodata:0x8011E910; // type:object size:0x28 data:4byte -@154 = .rodata:0x8011E938; // type:object size:0x21 scope:local data:string -@155 = .rodata:0x8011E95C; // type:object size:0x24 scope:local data:string -lbl_8011E980 = .rodata:0x8011E980; // type:object size:0x40 -lbl_8011E9C0 = .rodata:0x8011E9C0; // type:object size:0x18 -lbl_8011E9D8 = .rodata:0x8011E9D8; // type:object size:0x88 -lbl_8011EA60 = .rodata:0x8011EA60; // type:object size:0x88 data:byte -lbl_8011EAE8 = .rodata:0x8011EAE8; // type:object size:0x100 -lbl_8011EC00 = .data:0x8011EC00; // type:object size:0x10 data:string -chanTbl = .data:0x8011EC10; // type:object size:0x10 scope:local -lbl_8011EC20 = .data:0x8011EC20; // type:object size:0x124 -jumptable_8011ED44 = .data:0x8011ED44; // type:object size:0x34 scope:local -lbl_8011ED78 = .data:0x8011ED78; // type:object size:0x11 data:string -lbl_8011ED89 = .data:0x8011ED89; // type:object size:0x11 data:string -lbl_8011ED9A = .data:0x8011ED9A; // type:object size:0x10 data:string -lbl_8011EDAA = .data:0x8011EDAA; // type:object size:0x10 data:string -lbl_8011EDBA = .data:0x8011EDBA; // type:object size:0x14 data:string -lbl_8011EDCE = .data:0x8011EDCE; // type:object size:0x11 data:string -lbl_8011EDDF = .data:0x8011EDDF; // type:object size:0x10 data:string -lbl_8011EDEF = .data:0x8011EDEF; // type:object size:0xF data:string -lbl_8011EDFE = .data:0x8011EDFE; // type:object size:0x10 data:string -lbl_8011EE0E = .data:0x8011EE0E; // type:object size:0x13 data:string -lbl_8011EE21 = .data:0x8011EE21; // type:object size:0xF data:string -lbl_8011EE30 = .data:0x8011EE30; // type:object size:0x13 data:string -lbl_8011EE43 = .data:0x8011EE43; // type:object size:0x13 data:string -lbl_8011EE56 = .data:0x8011EE56; // type:object size:0x12 data:string -lbl_8011EE68 = .data:0x8011EE68; // type:object size:0x10 data:string -lbl_8011EE78 = .data:0x8011EE78; // type:object size:0x14 data:string -lbl_8011EE8C = .data:0x8011EE8C; // type:object size:0x14 data:string -lbl_8011EEA0 = .data:0x8011EEA0; // type:object size:0x13 data:string -lbl_8011EEB3 = .data:0x8011EEB3; // type:object size:0x10 data:string -lbl_8011EEC3 = .data:0x8011EEC3; // type:object size:0x11 data:string -lbl_8011EED4 = .data:0x8011EED4; // type:object size:0xE data:string -lbl_8011EEE2 = .data:0x8011EEE2; // type:object size:0x12 data:string -lbl_8011EEF4 = .data:0x8011EEF4; // type:object size:0x11 data:string -lbl_8011EF05 = .data:0x8011EF05; // type:object size:0xF data:string -lbl_8011EF14 = .data:0x8011EF14; // type:object size:0x13 data:string -lbl_8011EF27 = .data:0x8011EF27; // type:object size:0x13 data:string -lbl_8011EF3A = .data:0x8011EF3A; // type:object size:0x12 data:string -lbl_8011EF4C = .data:0x8011EF4C; // type:object size:0xE data:string -lbl_8011EF5A = .data:0x8011EF5A; // type:object size:0xE data:string -lbl_8011EF68 = .data:0x8011EF68; // type:object size:0xE data:string -lbl_8011EF76 = .data:0x8011EF76; // type:object size:0xE data:string -lbl_8011EF84 = .data:0x8011EF84; // type:object size:0xE data:string -lbl_8011EF92 = .data:0x8011EF92; // type:object size:0xE data:string -lbl_8011EFA0 = .data:0x8011EFA0; // type:object size:0xE data:string -lbl_8011EFAE = .data:0x8011EFAE; // type:object size:0xE data:string -lbl_8011EFBC = .data:0x8011EFBC; // type:object size:0xE data:string -lbl_8011EFCA = .data:0x8011EFCA; // type:object size:0xE data:string -lbl_8011EFD8 = .data:0x8011EFD8; // type:object size:0xE data:string -lbl_8011EFE6 = .data:0x8011EFE6; // type:object size:0xE data:string -lbl_8011EFF4 = .data:0x8011EFF4; // type:object size:0xE data:string -lbl_8011F002 = .data:0x8011F002; // type:object size:0xE data:string -lbl_8011F010 = .data:0x8011F010; // type:object size:0xE data:string -lbl_8011F01E = .data:0x8011F01E; // type:object size:0xE data:string -lbl_8011F02C = .data:0x8011F02C; // type:object size:0xE data:string -lbl_8011F03A = .data:0x8011F03A; // type:object size:0xE data:string -lbl_8011F048 = .data:0x8011F048; // type:object size:0xE data:string -lbl_8011F056 = .data:0x8011F056; // type:object size:0xE data:string -lbl_8011F064 = .data:0x8011F064; // type:object size:0xE data:string -lbl_8011F072 = .data:0x8011F072; // type:object size:0xE data:string -lbl_8011F080 = .data:0x8011F080; // type:object size:0xE data:string -lbl_8011F08E = .data:0x8011F08E; // type:object size:0xE data:string -lbl_8011F09C = .data:0x8011F09C; // type:object size:0xE data:string -lbl_8011F0AA = .data:0x8011F0AA; // type:object size:0xE data:string -lbl_8011F0B8 = .data:0x8011F0B8; // type:object size:0xE data:string -lbl_8011F0C6 = .data:0x8011F0C6; // type:object size:0xE data:string -lbl_8011F0D4 = .data:0x8011F0D4; // type:object size:0xE data:string -lbl_8011F0E2 = .data:0x8011F0E2; // type:object size:0xE data:string -lbl_8011F0F0 = .data:0x8011F0F0; // type:object size:0xE data:string -lbl_8011F0FE = .data:0x8011F0FE; // type:object size:0xE data:string -lbl_8011F10C = .data:0x8011F10C; // type:object size:0xE data:string -lbl_8011F11A = .data:0x8011F11A; // type:object size:0xE data:string -lbl_8011F128 = .data:0x8011F128; // type:object size:0xE data:string -lbl_8011F136 = .data:0x8011F136; // type:object size:0xE data:string -lbl_8011F144 = .data:0x8011F144; // type:object size:0xE data:string -lbl_8011F152 = .data:0x8011F152; // type:object size:0xE data:string -lbl_8011F160 = .data:0x8011F160; // type:object size:0xE data:string -lbl_8011F16E = .data:0x8011F16E; // type:object size:0xE data:string -lbl_8011F17C = .data:0x8011F17C; // type:object size:0xE data:string -lbl_8011F18A = .data:0x8011F18A; // type:object size:0xE data:string -lbl_8011F198 = .data:0x8011F198; // type:object size:0xE data:string -lbl_8011F1A6 = .data:0x8011F1A6; // type:object size:0xE data:string -lbl_8011F1B4 = .data:0x8011F1B4; // type:object size:0xE data:string -lbl_8011F1C2 = .data:0x8011F1C2; // type:object size:0xE data:string -lbl_8011F1D0 = .data:0x8011F1D0; // type:object size:0xE data:string -lbl_8011F1DE = .data:0x8011F1DE; // type:object size:0xE data:string -lbl_8011F1EC = .data:0x8011F1EC; // type:object size:0xE data:string -lbl_8011F1FA = .data:0x8011F1FA; // type:object size:0xE data:string -lbl_8011F208 = .data:0x8011F208; // type:object size:0xE data:string -lbl_8011F216 = .data:0x8011F216; // type:object size:0xE data:string -lbl_8011F224 = .data:0x8011F224; // type:object size:0xE data:string -lbl_8011F232 = .data:0x8011F232; // type:object size:0xE data:string -lbl_8011F240 = .data:0x8011F240; // type:object size:0xE data:string -lbl_8011F24E = .data:0x8011F24E; // type:object size:0xE data:string -lbl_8011F25C = .data:0x8011F25C; // type:object size:0xE data:string -lbl_8011F26A = .data:0x8011F26A; // type:object size:0xE data:string -lbl_8011F278 = .data:0x8011F278; // type:object size:0xE data:string -lbl_8011F286 = .data:0x8011F286; // type:object size:0xE data:string -lbl_8011F294 = .data:0x8011F294; // type:object size:0xE data:string -lbl_8011F2A2 = .data:0x8011F2A2; // type:object size:0xE data:string -lbl_8011F2B0 = .data:0x8011F2B0; // type:object size:0xE data:string -lbl_8011F2BE = .data:0x8011F2BE; // type:object size:0xE data:string -lbl_8011F2CC = .data:0x8011F2CC; // type:object size:0xE data:string -lbl_8011F2DA = .data:0x8011F2DA; // type:object size:0xF data:string -lbl_8011F2E9 = .data:0x8011F2E9; // type:object size:0x13 data:string -lbl_8011F2FC = .data:0x8011F2FC; // type:object size:0x13 data:string -lbl_8011F30F = .data:0x8011F30F; // type:object size:0x12 data:string -lbl_8011F321 = .data:0x8011F321; // type:object size:0xE data:string -lbl_8011F32F = .data:0x8011F32F; // type:object size:0x11 data:string -lbl_8011F340 = .data:0x8011F340; // type:object size:0x10 data:string -lbl_8011F350 = .data:0x8011F350; // type:object size:0x11 data:string -lbl_8011F361 = .data:0x8011F361; // type:object size:0xE data:string -lbl_8011F36F = .data:0x8011F36F; // type:object size:0x10 data:string -lbl_8011F37F = .data:0x8011F37F; // type:object size:0x11 data:string -lbl_8011F390 = .data:0x8011F390; // type:object size:0x11 data:string -lbl_8011F3A1 = .data:0x8011F3A1; // type:object size:0x11 data:string -lbl_8011F3B2 = .data:0x8011F3B2; // type:object size:0x10 data:string -lbl_8011F3C2 = .data:0x8011F3C2; // type:object size:0xF data:string -lbl_8011F3D1 = .data:0x8011F3D1; // type:object size:0x13 data:string -lbl_8011F3E4 = .data:0x8011F3E4; // type:object size:0x13 data:string -lbl_8011F3F7 = .data:0x8011F3F7; // type:object size:0x12 data:string -lbl_8011F409 = .data:0x8011F409; // type:object size:0x11 data:string -lbl_8011F41A = .data:0x8011F41A; // type:object size:0x10 data:string -lbl_8011F42A = .data:0x8011F42A; // type:object size:0xD data:string -lbl_8011F437 = .data:0x8011F437; // type:object size:0x11 data:string -lbl_8011F448 = .data:0x8011F448; // type:object size:0xF data:string -lbl_8011F457 = .data:0x8011F457; // type:object size:0xF data:string -lbl_8011F466 = .data:0x8011F466; // type:object size:0xF data:string -lbl_8011F475 = .data:0x8011F475; // type:object size:0xD data:string -lbl_8011F482 = .data:0x8011F482; // type:object size:0xD data:string -lbl_8011F48F = .data:0x8011F48F; // type:object size:0xD data:string -lbl_8011F49C = .data:0x8011F49C; // type:object size:0xD data:string -lbl_8011F4A9 = .data:0x8011F4A9; // type:object size:0xD data:string -lbl_8011F4B6 = .data:0x8011F4B6; // type:object size:0xD data:string -lbl_8011F4C3 = .data:0x8011F4C3; // type:object size:0xD data:string -lbl_8011F4D0 = .data:0x8011F4D0; // type:object size:0xD data:string -lbl_8011F4DD = .data:0x8011F4DD; // type:object size:0xD data:string -lbl_8011F4EA = .data:0x8011F4EA; // type:object size:0x11 data:string -lbl_8011F4FB = .data:0x8011F4FB; // type:object size:0x15 data:string -lbl_8011F510 = .data:0x8011F510; // type:object size:0x15 data:string -lbl_8011F525 = .data:0x8011F525; // type:object size:0x14 data:string -lbl_8011F539 = .data:0x8011F539; // type:object size:0xF data:string -lbl_8011F548 = .data:0x8011F548; // type:object size:0x13 data:string -lbl_8011F55B = .data:0x8011F55B; // type:object size:0x13 data:string -lbl_8011F56E = .data:0x8011F56E; // type:object size:0x12 data:string -lbl_8011F580 = .data:0x8011F580; // type:object size:0xD data:string -lbl_8011F58D = .data:0x8011F58D; // type:object size:0xF data:string -lbl_8011F59C = .data:0x8011F59C; // type:object size:0x13 data:string -lbl_8011F5AF = .data:0x8011F5AF; // type:object size:0x13 data:string -lbl_8011F5C2 = .data:0x8011F5C2; // type:object size:0x12 data:string -lbl_8011F5D4 = .data:0x8011F5D4; // type:object size:0xE data:string -DataDirStat = .data:0x8011F5E4; // type:object size:0x468 scope:local data:4byte -lbl_8011FA4C = .data:0x8011FA4C; // type:object size:0x1D data:string -lbl_8011FA69 = .data:0x8011FA69; // type:object size:0x1F data:string -lbl_8011FA88 = .data:0x8011FA88; // type:object size:0x3C -lbl_8011FAC4 = .data:0x8011FAC4; // type:object size:0x1A data:string -lbl_8011FADE = .data:0x8011FADE; // type:object size:0x122 -lbl_8011FC00 = .data:0x8011FC00; // type:object size:0x20 -ank8x8_4b = .data:0x8011FC20; // type:object size:0x2000 align:32 -lbl_80121C20 = .data:0x80121C20; // type:object size:0x150 -HeapSizeTbl = .data:0x80121D70; // type:object size:0x78 scope:local -lbl_80121DE8 = .data:0x80121DE8; // type:object size:0x50 -lbl_80121E38 = .data:0x80121E38; // type:object size:0x128 -fcoltbl = .data:0x80121F60; // type:object size:0x40 scope:local align:32 -lbl_80121FA0 = .data:0x80121FA0; // type:object size:0x1F data:string -lbl_80121FBF = .data:0x80121FBF; // type:object size:0x31 -lbl_80121FF0 = .data:0x80121FF0; // type:object size:0x12 -bitSizeTbl = .data:0x80122002; // type:object size:0x16 scope:local -lbl_80122018 = .data:0x80122018; // type:object size:0xF8 -jumptable_80122110 = .data:0x80122110; // type:object size:0x2C scope:local -jumptable_80122140 = .data:0x80122140; // type:object size:0x28 scope:local -jumptable_80122168 = .data:0x80122168; // type:object size:0x2C scope:local -lbl_80122194 = .data:0x80122194; // type:object size:0x18 data:string -texMtxTbl = .data:0x801221B0; // type:object size:0xC data:byte -jumptable_801221BC = .data:0x801221BC; // type:object size:0x28 scope:local -lbl_801221E4 = .data:0x801221E4; // type:object size:0x18 data:string -jumptable_801221FC = .data:0x801221FC; // type:object size:0x28 scope:local -jumptable_80122224 = .data:0x80122224; // type:object size:0x28 scope:local -refMtx = .data:0x8012224C; // type:object size:0x30 scope:local -kColorSelTbl = .data:0x8012227C; // type:object size:0x30 scope:local -kColorTbl = .data:0x801222AC; // type:object size:0x10 scope:local -kColorSelTbl2 = .data:0x801222BC; // type:object size:0x10 scope:local -kColorSelATbl = .data:0x801222CC; // type:object size:0x10 scope:local -lbl_801222DC = .data:0x801222DC; // type:object size:0x14 -jumptable_801222F0 = .data:0x801222F0; // type:object size:0x30 scope:local -jumptable_80122320 = .data:0x80122320; // type:object size:0x28 scope:local -jumptable_80122348 = .data:0x80122348; // type:object size:0x28 scope:local -lbl_80122370 = .data:0x80122370; // type:object size:0x19 data:string -lbl_80122389 = .data:0x80122389; // type:object size:0xA data:string -lbl_80122393 = .data:0x80122393; // type:object size:0x2D -refMapData0 = .data:0x801223C0; // type:object size:0x1240 align:32 noreloc -refMapData1 = .data:0x80123600; // type:object size:0x1100 align:32 noreloc -refMapData2 = .data:0x80124700; // type:object size:0x2080 align:32 noreloc -refMapData3 = .data:0x80126780; // type:object size:0x2080 align:32 noreloc -refMapData4 = .data:0x80128800; // type:object size:0x2080 align:32 noreloc -toonMapData = .data:0x8012A880; // type:object size:0x880 align:32 noreloc -toonMapData2 = .data:0x8012B100; // type:object size:0x1080 align:32 noreloc -hiliteData = .data:0x8012C180; // type:object size:0x480 align:32 noreloc -hiliteData2 = .data:0x8012C600; // type:object size:0x480 align:32 noreloc -hiliteData3 = .data:0x8012CA80; // type:object size:0x480 align:32 noreloc -hiliteData4 = .data:0x8012CF00; // type:object size:0x480 align:32 noreloc -lbl_8012D380 = .data:0x8012D380; // type:object size:0x1B data:string -lbl_8012D39B = .data:0x8012D39B; // type:object size:0x16 data:string -lbl_8012D3B1 = .data:0x8012D3B1; // type:object size:0x21 data:string -lbl_8012D3D2 = .data:0x8012D3D2; // type:object size:0x26 -defCamera = .data:0x8012D3F8; // type:object size:0x58 data:4byte -lbl_8012D450 = .data:0x8012D450; // type:object size:0x28 -lbl_8012D478 = .data:0x8012D478; // type:object size:0x1C data:string -lbl_8012D494 = .data:0x8012D494; // type:object size:0x1C -jumptable_8012D4B0 = .data:0x8012D4B0; // type:object size:0x2C scope:local -jumptable_8012D4DC = .data:0x8012D4DC; // type:object size:0x68 scope:local -jumptable_8012D544 = .data:0x8012D544; // type:object size:0xF0 scope:local -jumptable_8012D634 = .data:0x8012D634; // type:object size:0x20 scope:local -lbl_8012D658 = .data:0x8012D658; // type:object size:0x15 data:string -lbl_8012D66D = .data:0x8012D66D; // type:object size:0x1F data:string -lbl_8012D68C = .data:0x8012D68C; // type:object size:0x18 -basePos = .data:0x8012D6A4; // type:object size:0x30 scope:local -baseST = .data:0x8012D6D4; // type:object size:0x20 scope:local -jitterTbl = .data:0x8012D6F4; // type:object size:0x24 scope:local -jumptable_8012D718 = .data:0x8012D718; // type:object size:0x1C scope:local -lbl_8012D738 = .data:0x8012D738; // type:object size:0xCA -lbl_8012D802 = .data:0x8012D802; // type:object size:0x1C data:string -lbl_8012D81E = .data:0x8012D81E; // type:object size:0x1C data:string -lbl_8012D83A = .data:0x8012D83A; // type:object size:0x1D data:string -lbl_8012D857 = .data:0x8012D857; // type:object size:0x18 data:string -lbl_8012D86F = .data:0x8012D86F; // type:object size:0xC data:string -lbl_8012D87B = .data:0x8012D87B; // type:object size:0x45 -lbl_8012D8C0 = .data:0x8012D8C0; // type:object size:0x45 -lbl_8012D905 = .data:0x8012D905; // type:object size:0x19 data:string -lbl_8012D91E = .data:0x8012D91E; // type:object size:0x17 data:string -lbl_8012D935 = .data:0x8012D935; // type:object size:0x1B3 -XFB_Colors = .data:0x8012DAE8; // type:object size:0xF scope:local data:byte -Ascii8x8_1bpp = .data:0x8012DAF7; // type:object size:0x800 scope:local align:1 -lbl_8012E2F7 = .data:0x8012E2F7; // type:object size:0x19 -lbl_8012E310 = .data:0x8012E310; // type:object size:0x21A -lbl_8012E52A = .data:0x8012E52A; // type:object size:0xB data:string -lbl_8012E535 = .data:0x8012E535; // type:object size:0x273 -lbl_8012E7A8 = .data:0x8012E7A8; // type:object size:0x12 data:string -lbl_8012E7BA = .data:0x8012E7BA; // type:object size:0xD6 -sndGrpTable = .data:0x8012E890; // type:object size:0x5B0 -lbl_8012EE40 = .data:0x8012EE40; // type:object size:0x94 -lbl_8012EED4 = .data:0x8012EED4; // type:object size:0x11 data:string -lbl_8012EEE5 = .data:0x8012EEE5; // type:object size:0x3A -lbl_8012EF1F = .data:0x8012EF1F; // type:object size:0x31 -seqInfoTbl = .data:0x8012EF50; // type:object size:0x1DC scope:local -seqType2SprTbl = .data:0x8012F12C; // type:object size:0x18 scope:local -mgSeqTypeTbl = .data:0x8012F144; // type:object size:0x12 scope:local -lbl_8012F156 = .data:0x8012F156; // type:object size:0x53 scope:local data:string -lbl_8012F1A2 = .data:0x8012F1A9; // type:object size:0x9 scope:local data:string -lbl_8012F1B2 = .data:0x8012F1B2; // type:object size:0x9 scope:local data:string -seqFontAlphaTbl = .data:0x8012F1BB; // type:object size:0x35 scope:local data:string -seqFontKanaTbl = .data:0x8012F1F0; // type:object size:0x52 scope:local -seqFontNumTbl = .data:0x8012F242; // type:object size:0xB scope:local data:string -letterBufTbl = .data:0x8012F250; // type:object size:0x14 scope:local -wordMgTbl = .data:0x8012F264; // type:object size:0x18 scope:local -letterOfs$1002 = .data:0x8012F27C; // type:object size:0x40 scope:local -letterOfs$1479 = .data:0x8012F2BC; // type:object size:0x1C scope:local -letterOfs$1853 = .data:0x8012F2D8; // type:object size:0x38 scope:local -lbl_8012F310 = .data:0x8012F310; // type:object size:0xC scope:local data:string -winCharNameTbl = .data:0x8012F31C; // type:object size:0x78 scope:local -lbl_8012F394 = .data:0x8012F394; // type:object size:0xC scope:local -winWordTbl = .data:0x8012F3A0; // type:object size:0x18 scope:local -winPosOfs = .data:0x8012F3B8; // type:object size:0x50 scope:local -practiceTbl = .data:0x8012F408; // type:object size:0xAC scope:local -yPosTbl$2458 = .data:0x8012F4B4; // type:object size:0xC scope:local -seqStartFXTbl = .data:0x8012F4C0; // type:object size:0xEC scope:local -lbl_8012F5B0 = .data:0x8012F5B0; // type:object size:0x15 data:string -lbl_8012F5C5 = .data:0x8012F5C5; // type:object size:0x10 data:string -lbl_8012F5D5 = .data:0x8012F5D5; // type:object size:0x13 data:string -lbl_8012F5E8 = .data:0x8012F5E8; // type:object size:0x10 data:string -lbl_8012F5F8 = .data:0x8012F5F8; // type:object size:0x10 data:string -lbl_8012F608 = .data:0x8012F608; // type:object size:0x10 data:string -lbl_8012F618 = .data:0x8012F618; // type:object size:0x10 data:string -lbl_8012F628 = .data:0x8012F628; // type:object size:0x10 data:string -lbl_8012F638 = .data:0x8012F638; // type:object size:0x10 data:string -lbl_8012F648 = .data:0x8012F648; // type:object size:0x10 data:string -lbl_8012F658 = .data:0x8012F658; // type:object size:0x10 data:string -lbl_8012F668 = .data:0x8012F668; // type:object size:0x10 data:string -lbl_8012F678 = .data:0x8012F678; // type:object size:0x10 data:string -lbl_8012F688 = .data:0x8012F688; // type:object size:0x10 data:string -lbl_8012F698 = .data:0x8012F698; // type:object size:0x10 data:string -lbl_8012F6A8 = .data:0x8012F6A8; // type:object size:0x10 data:string -lbl_8012F6B8 = .data:0x8012F6B8; // type:object size:0x10 data:string -lbl_8012F6C8 = .data:0x8012F6C8; // type:object size:0x10 data:string -lbl_8012F6D8 = .data:0x8012F6D8; // type:object size:0x10 data:string -lbl_8012F6E8 = .data:0x8012F6E8; // type:object size:0x10 data:string -lbl_8012F6F8 = .data:0x8012F6F8; // type:object size:0x10 data:string -lbl_8012F708 = .data:0x8012F708; // type:object size:0x10 data:string -lbl_8012F718 = .data:0x8012F718; // type:object size:0x10 data:string -lbl_8012F728 = .data:0x8012F728; // type:object size:0x10 data:string -lbl_8012F738 = .data:0x8012F738; // type:object size:0x10 data:string -lbl_8012F748 = .data:0x8012F748; // type:object size:0x10 data:string -lbl_8012F758 = .data:0x8012F758; // type:object size:0x10 data:string -lbl_8012F768 = .data:0x8012F768; // type:object size:0x10 data:string -lbl_8012F778 = .data:0x8012F778; // type:object size:0x10 data:string -lbl_8012F788 = .data:0x8012F788; // type:object size:0x10 data:string -lbl_8012F798 = .data:0x8012F798; // type:object size:0x10 data:string -lbl_8012F7A8 = .data:0x8012F7A8; // type:object size:0x10 data:string -lbl_8012F7B8 = .data:0x8012F7B8; // type:object size:0x10 data:string -lbl_8012F7C8 = .data:0x8012F7C8; // type:object size:0x10 data:string -lbl_8012F7D8 = .data:0x8012F7D8; // type:object size:0x10 data:string -lbl_8012F7E8 = .data:0x8012F7E8; // type:object size:0x10 data:string -lbl_8012F7F8 = .data:0x8012F7F8; // type:object size:0x10 data:string -lbl_8012F808 = .data:0x8012F808; // type:object size:0x10 data:string -lbl_8012F818 = .data:0x8012F818; // type:object size:0x10 data:string -lbl_8012F828 = .data:0x8012F828; // type:object size:0x10 data:string -lbl_8012F838 = .data:0x8012F838; // type:object size:0x10 data:string -lbl_8012F848 = .data:0x8012F848; // type:object size:0x10 data:string -lbl_8012F858 = .data:0x8012F858; // type:object size:0x10 data:string -lbl_8012F868 = .data:0x8012F868; // type:object size:0x10 data:string -lbl_8012F878 = .data:0x8012F878; // type:object size:0x10 data:string -lbl_8012F888 = .data:0x8012F888; // type:object size:0x10 data:string -lbl_8012F898 = .data:0x8012F898; // type:object size:0x10 data:string -lbl_8012F8A8 = .data:0x8012F8A8; // type:object size:0x10 data:string -lbl_8012F8B8 = .data:0x8012F8B8; // type:object size:0x10 data:string -lbl_8012F8C8 = .data:0x8012F8C8; // type:object size:0x10 data:string -lbl_8012F8D8 = .data:0x8012F8D8; // type:object size:0x10 data:string -lbl_8012F8E8 = .data:0x8012F8E8; // type:object size:0x10 data:string -lbl_8012F8F8 = .data:0x8012F8F8; // type:object size:0x10 data:string -lbl_8012F908 = .data:0x8012F908; // type:object size:0x10 data:string -lbl_8012F918 = .data:0x8012F918; // type:object size:0x10 data:string -lbl_8012F928 = .data:0x8012F928; // type:object size:0x10 data:string -lbl_8012F938 = .data:0x8012F938; // type:object size:0x10 data:string -lbl_8012F948 = .data:0x8012F948; // type:object size:0x10 data:string -lbl_8012F958 = .data:0x8012F958; // type:object size:0x10 data:string -lbl_8012F968 = .data:0x8012F968; // type:object size:0x10 data:string -lbl_8012F978 = .data:0x8012F978; // type:object size:0x10 data:string -lbl_8012F988 = .data:0x8012F988; // type:object size:0x10 data:string -lbl_8012F998 = .data:0x8012F998; // type:object size:0x10 data:string -lbl_8012F9A8 = .data:0x8012F9A8; // type:object size:0x10 data:string -lbl_8012F9B8 = .data:0x8012F9B8; // type:object size:0x10 data:string -lbl_8012F9C8 = .data:0x8012F9C8; // type:object size:0x10 data:string -lbl_8012F9D8 = .data:0x8012F9D8; // type:object size:0x10 data:string -lbl_8012F9E8 = .data:0x8012F9E8; // type:object size:0x10 data:string -lbl_8012F9F8 = .data:0x8012F9F8; // type:object size:0x10 data:string -lbl_8012FA08 = .data:0x8012FA08; // type:object size:0x10 data:string -lbl_8012FA18 = .data:0x8012FA18; // type:object size:0x10 data:string -lbl_8012FA28 = .data:0x8012FA28; // type:object size:0x10 data:string -lbl_8012FA38 = .data:0x8012FA38; // type:object size:0x12 data:string -lbl_8012FA4A = .data:0x8012FA4A; // type:object size:0x15 data:string -lbl_8012FA5F = .data:0x8012FA5F; // type:object size:0x13 data:string -lbl_8012FA72 = .data:0x8012FA72; // type:object size:0x10 data:string -lbl_8012FA82 = .data:0x8012FA82; // type:object size:0x12 data:string -lbl_8012FA94 = .data:0x8012FA94; // type:object size:0x13 data:string -lbl_8012FAA7 = .data:0x8012FAA7; // type:object size:0x13 data:string -lbl_8012FABA = .data:0x8012FABA; // type:object size:0x13 data:string -lbl_8012FACD = .data:0x8012FACD; // type:object size:0x12 data:string -lbl_8012FADF = .data:0x8012FADF; // type:object size:0xF data:string -lbl_8012FAEE = .data:0x8012FAEE; // type:object size:0xF data:string -lbl_8012FAFD = .data:0x8012FAFD; // type:object size:0x10 data:string -lbl_8012FB0D = .data:0x8012FB0D; // type:object size:0x12 data:string -lbl_8012FB1F = .data:0x8012FB1F; // type:object size:0xF data:string -lbl_8012FB2E = .data:0x8012FB2E; // type:object size:0x13 data:string -lbl_8012FB41 = .data:0x8012FB41; // type:object size:0x11 data:string -lbl_8012FB52 = .data:0x8012FB52; // type:object size:0x15 data:string -lbl_8012FB67 = .data:0x8012FB67; // type:object size:0xF data:string -lbl_8012FB76 = .data:0x8012FB76; // type:object size:0xF data:string -lbl_8012FB85 = .data:0x8012FB85; // type:object size:0xF data:string -lbl_8012FB94 = .data:0x8012FB94; // type:object size:0xF data:string -lbl_8012FBA3 = .data:0x8012FBA3; // type:object size:0xF data:string -lbl_8012FBB2 = .data:0x8012FBB2; // type:object size:0xF data:string -lbl_8012FBC1 = .data:0x8012FBC1; // type:object size:0xF data:string -lbl_8012FBD0 = .data:0x8012FBD0; // type:object size:0xF data:string -lbl_8012FBDF = .data:0x8012FBDF; // type:object size:0xF data:string -lbl_8012FBEE = .data:0x8012FBEE; // type:object size:0x12 -_ovltbl = .data:0x8012FC00; // type:object size:0x320 -lbl_8012FF20 = .data:0x8012FF20; // type:object size:0x20 -fadeInFunc = .data:0x8012FF40; // type:object size:0xC scope:local -fadeOutFunc = .data:0x8012FF4C; // type:object size:0xC scope:local -spcFontTbl = .data:0x8012FF60; // type:object size:0x170 scope:local -charWETbl = .data:0x801300D0; // type:object size:0x130 -charWJTbl = .data:0x80130200; // type:object size:0x140 -charColPal = .data:0x80130340; // type:object size:0x3C scope:local align:32 -frameFileTbl = .data:0x8013037C; // type:object size:0x10 scope:local -lbl_8013038C = .data:0x8013038C; // type:object size:0xE data:string -lbl_8013039A = .data:0x8013039A; // type:object size:0xF data:string -lbl_801303A9 = .data:0x801303A9; // type:object size:0x10 data:string -lbl_801303B9 = .data:0x801303B9; // type:object size:0x11 data:string -lbl_801303CA = .data:0x801303CA; // type:object size:0x10 data:string -lbl_801303DA = .data:0x801303DA; // type:object size:0x11 data:string -lbl_801303EB = .data:0x801303EB; // type:object size:0x10 data:string -lbl_801303FB = .data:0x801303FB; // type:object size:0x11 data:string -lbl_8013040C = .data:0x8013040C; // type:object size:0x10 data:string -lbl_8013041C = .data:0x8013041C; // type:object size:0x11 data:string -lbl_8013042D = .data:0x8013042D; // type:object size:0x10 data:string -lbl_8013043D = .data:0x8013043D; // type:object size:0x13 -mesDataTbl = .data:0x80130450; // type:object size:0x30 scope:local -winVoiceTbl = .data:0x80130480; // type:object size:0x54 scope:local -lbl_801304D4 = .data:0x801304D4; // type:object size:0x13 data:string -lbl_801304E7 = .data:0x801304E7; // type:object size:0x19 -winPortraitTbl = .data:0x80130500; // type:object size:0x50 scope:local -lbl_80130550 = .data:0x80130550; // type:object size:0x26 data:string -lbl_80130576 = .data:0x80130576; // type:object size:0x2A -lbl_801305A0 = .data:0x801305A0; // type:object size:0x19 data:string -lbl_801305B9 = .data:0x801305B9; // type:object size:0x14 data:string -lbl_801305CD = .data:0x801305CD; // type:object size:0x93 -lbl_80130660 = .data:0x80130660; // type:object size:0x30 -effectDataTbl = .data:0x80130690; // type:object size:0x60 scope:local -charDirTbl = .data:0x801306F0; // type:object size:0x60 scope:local -effectDustParam = .data:0x80130750; // type:object size:0x38 scope:local -effectDotParam = .data:0x80130788; // type:object size:0x38 scope:local -effectStarParam = .data:0x801307C0; // type:object size:0x38 scope:local -effectWarnParam = .data:0x801307F8; // type:object size:0x38 scope:local -effectSmokeParam = .data:0x80130830; // type:object size:0x38 scope:local -lbl_801309A0 = .data:0x80130868; // type:object size:0x20 scope:local -lbl_801309C0 = .data:0x80130888; // type:object size:0x20 scope:local -lbl_801309E0 = .data:0x801308A8; // type:object size:0x10 scope:local -jumptable_801308B8 = .data:0x801308B8; // type:object size:0x1E8 scope:local -voiceParam = .data:0x80130AA0; // type:object size:0x40 scope:local -lbl_80130AE0 = .data:0x80130AE0; // type:object size:0xE data:string -lbl_80130AEE = .data:0x80130AEE; // type:object size:0xE data:string -lbl_80130AFC = .data:0x80130AFC; // type:object size:0xE data:string -lbl_80130B0A = .data:0x80130B0A; // type:object size:0xD data:string -lbl_80130B17 = .data:0x80130B17; // type:object size:0xD data:string -lbl_80130B24 = .data:0x80130B24; // type:object size:0xB data:string -lbl_80130B2F = .data:0x80130B2F; // type:object size:0xF data:string -lbl_80130B3E = .data:0x80130B3E; // type:object size:0xF data:string -lbl_80130B4D = .data:0x80130B4D; // type:object size:0xF data:string -lbl_80130B5C = .data:0x80130B5C; // type:object size:0xF data:string -lbl_80130B6B = .data:0x80130B6B; // type:object size:0xF data:string -lbl_80130B7A = .data:0x80130B7A; // type:object size:0xF data:string -lbl_80130B89 = .data:0x80130B89; // type:object size:0x9 data:string -lbl_80130B92 = .data:0x80130B92; // type:object size:0xD data:string -lbl_80130B9F = .data:0x80130B9F; // type:object size:0x17 data:string -lbl_80130BB6 = .data:0x80130BB6; // type:object size:0x17 data:string -lbl_80130BCD = .data:0x80130BCD; // type:object size:0xE data:string -lbl_80130BDB = .data:0x80130BDB; // type:object size:0xE data:string -lbl_80130BE9 = .data:0x80130BE9; // type:object size:0xD data:string -lbl_80130BF6 = .data:0x80130BF6; // type:object size:0xE data:string -lbl_80130C04 = .data:0x80130C04; // type:object size:0xE data:string -lbl_80130C12 = .data:0x80130C12; // type:object size:0xF data:string -lbl_80130C21 = .data:0x80130C21; // type:object size:0xF data:string -lbl_80130C30 = .data:0x80130C30; // type:object size:0x18 data:string -lbl_80130C48 = .data:0x80130C48; // type:object size:0x18 data:string -lbl_80130C60 = .data:0x80130C60; // type:object size:0xE data:string -lbl_80130C6E = .data:0x80130C6E; // type:object size:0x18 data:string -lbl_80130C86 = .data:0x80130C86; // type:object size:0x1A -charTexNameTbl = .data:0x80130CA0; // type:object size:0x100 -lbl_80130DA0 = .data:0x80130DA0; // type:object size:0xD data:string -lbl_80130DAD = .data:0x80130DAD; // type:object size:0xD data:string -lbl_80130DBA = .data:0x80130DBA; // type:object size:0xE data:string -lbl_80130DC8 = .data:0x80130DC8; // type:object size:0xE data:string -lbl_80130DD6 = .data:0x80130DD6; // type:object size:0x12 -hookNameTbl = .data:0x80130DE8; // type:object size:0xA0 scope:local -modelParticleParam = .data:0x80130E88; // type:object size:0x38 scope:local -coinParticleParam = .data:0x80130EC0; // type:object size:0x38 -lbl_80130EF8 = .data:0x80130EF8; // type:object size:0x38 scope:local -lbl_80130F30 = .data:0x80130F30; // type:object size:0x38 scope:local -lbl_80130F68 = .data:0x80130F68; // type:object size:0x1C -lbl_80130F84 = .data:0x80130F84; // type:object size:0x38 -lbl_80130FBC = .data:0x80130FBC; // type:object size:0x38 -lbl_80130FF4 = .data:0x80130FF4; // type:object size:0xBC -VolumeTable = .data:0x801310B0; // type:object size:0x100 scope:local -lbl_801311B0 = .data:0x801311B0; // type:object size:0x4D -lbl_801311FD = .data:0x801311FD; // type:object size:0x1B -mgInfoTbl = .data:0x80131218; // type:object size:0xE00 data:2byte -commentTbl = .data:0x80132018; // type:object size:0x40 scope:local -lbl_80132058 = .data:0x80132058; // type:object size:0xC data:string -lbl_80132064 = .data:0x80132064; // type:object size:0xC data:string -lbl_80132070 = .data:0x80132070; // type:object size:0xC data:string -SaveFileNameTbl = .data:0x8013207C; // type:object size:0xC -jumptable_80132088 = .data:0x80132088; // type:object size:0x34 scope:local -SR_PreRstChk = .data:0x801320C0; // type:object size:0x10 scope:local -coveropen_en = .data:0x801320D0; // type:object size:0x1384 noreloc -fatalerror_en = .data:0x80133454; // type:object size:0x1384 noreloc -loading_en = .data:0x801347D8; // type:object size:0x1384 noreloc -nodisc_en = .data:0x80135B5C; // type:object size:0x1384 noreloc -retryerror_en = .data:0x80136EE0; // type:object size:0x1384 noreloc -wrongdisc_en = .data:0x80138264; // type:object size:0x1384 noreloc -coveropen_fr = .data:0x801395E8; // type:object size:0x1384 noreloc -fatalerror_fr = .data:0x8013A96C; // type:object size:0x1384 noreloc -loading_fr = .data:0x8013BCF0; // type:object size:0x1384 noreloc -nodisc_fr = .data:0x8013D074; // type:object size:0x1384 noreloc -retryerror_fr = .data:0x8013E3F8; // type:object size:0x1384 noreloc -wrongdisc_fr = .data:0x8013F77C; // type:object size:0x1384 noreloc -coveropen_ge = .data:0x80140B00; // type:object size:0x1384 noreloc -fatalerror_ge = .data:0x80141E84; // type:object size:0x1384 noreloc -loading_ge = .data:0x80143208; // type:object size:0x1384 noreloc -nodisc_ge = .data:0x8014458C; // type:object size:0x1384 noreloc -retryerror_ge = .data:0x80145910; // type:object size:0x1384 noreloc -wrongdisc_ge = .data:0x80146C94; // type:object size:0x1384 noreloc -coveropen_it = .data:0x80148018; // type:object size:0x1384 noreloc -fatalerror_it = .data:0x8014939C; // type:object size:0x1384 noreloc -loading_it = .data:0x8014A720; // type:object size:0x1384 noreloc -nodisc_it = .data:0x8014BAA4; // type:object size:0x1384 noreloc -retryerror_it = .data:0x8014CE28; // type:object size:0x1384 noreloc -wrongdisc_it = .data:0x8014E1AC; // type:object size:0x1384 noreloc -coveropen_sp = .data:0x8014F530; // type:object size:0x1384 noreloc -fatalerror_sp = .data:0x801508B4; // type:object size:0x1384 noreloc -loading_sp = .data:0x80151C38; // type:object size:0x1384 noreloc -nodisc_sp = .data:0x80152FBC; // type:object size:0x1384 noreloc -retryerror_sp = .data:0x80154340; // type:object size:0x1384 noreloc -wrongdisc_sp = .data:0x801556C4; // type:object size:0x1384 noreloc -jumptable_80156A48 = .data:0x80156A48; // type:object size:0x34 scope:local -bmpMes$493 = .data:0x80156A7C; // type:object size:0x78 scope:local -lbl_80156AF4 = .data:0x80156AF4; // type:object size:0x13 data:string -lbl_80156B07 = .data:0x80156B07; // type:object size:0x12 data:string -camViewTbl = .data:0x80156B20; // type:object size:0x24 scope:local -jumptable_80156B44 = .data:0x80156B44; // type:object size:0x24 scope:local -confettiLightTbl = .data:0x80156B68; // type:object size:0x48 scope:local -last5GfxSprTbl = .data:0x80156BB0; // type:object size:0xC scope:local -last5GfxPosTbl = .data:0x80156BBC; // type:object size:0x30 scope:local -tauntActiveFXTbl = .data:0x80156BEC; // type:object size:0x10 scope:local -tauntFXTbl = .data:0x80156BFC; // type:object size:0x20 scope:local -diceJumpObj = .data:0x80156C20; // type:object size:0x10 scope:local -motDoneF = .data:0x80156C30; // type:object size:0x10 scope:local -bowserSuitMot = .data:0x80156C40; // type:object size:0xA scope:local data:2byte -lbl_80156C4A = .data:0x80156C4A; // type:object size:0x17 data:string -lbl_80156C61 = .data:0x80156C61; // type:object size:0x17 data:string -lbl_80156C78 = .data:0x80156C78; // type:object size:0xE data:string -lbl_80156C86 = .data:0x80156C86; // type:object size:0xE data:string -lbl_80156C94 = .data:0x80156C94; // type:object size:0x18 data:string -lbl_80156CAC = .data:0x80156CAC; // type:object size:0x18 data:string -eyeMatTbl = .data:0x80156CC4; // type:object size:0x40 scope:local -lbl_80156D04 = .data:0x80156D04; // type:object size:0x20 -boardMotTbl = .data:0x80156D24; // type:object size:0x20 scope:local -boardMotRevTbl = .data:0x80156D44; // type:object size:0x20 scope:local -bowserSuitCharMdlTbl = .data:0x80156D64; // type:object size:0x20 scope:local -bowserSuitMotTbl = .data:0x80156D84; // type:object size:0x14 scope:local -sparkMotTbl = .data:0x80156D98; // type:object size:0x20 scope:local -boardSparkSfxTbl = .data:0x80156DB8; // type:object size:0x20 scope:local -boardSparkSfxTblAlt = .data:0x80156DD8; // type:object size:0x20 scope:local -megaSquishObj = .data:0x80156DF8; // type:object size:0x10 scope:local -megaSquishSfxTbl = .data:0x80156E08; // type:object size:0x20 scope:local -PortraitTbl = .data:0x80156E28; // type:object size:0x24 scope:local -StarPortraitTbl = .data:0x80156E4C; // type:object size:0x24 scope:local -boardMusTbl = .data:0x80156E70; // type:object size:0x18 scope:local -comItemPreferTbl = .data:0x80156E88; // type:object size:0x60 scope:local -comItemUseCheckFuncTbl = .data:0x80156EE8; // type:object size:0x38 scope:local -comJunctionDirTbl = .data:0x80156F20; // type:object size:0x30 scope:local -overhead2DPos = .data:0x80156F50; // type:object size:0x28 scope:local -mapViewMinZ = .data:0x80156F78; // type:object size:0x24 scope:local -mapViewMaxZ = .data:0x80156F9C; // type:object size:0x24 scope:local -mapViewMinX = .data:0x80156FC0; // type:object size:0x24 scope:local -mapViewMaxX = .data:0x80156FE4; // type:object size:0x24 scope:local -overheadCamZoom = .data:0x80157008; // type:object size:0x24 scope:local -overheadCamPosZ = .data:0x8015702C; // type:object size:0x24 scope:local -spaceImgIdx = .data:0x80157050; // type:object size:0xC scope:local -spaceHiliteImgIdx = .data:0x8015705C; // type:object size:0xC scope:local -jumptable_80157068 = .data:0x80157068; // type:object size:0x28 scope:local -hostMessTbl = .data:0x80157090; // type:object size:0x24 scope:local -itemPriceTbl = .data:0x801570B4; // type:object size:0x10 scope:local -shopMotTbl = .data:0x801570C4; // type:object size:0x6C scope:local -lbl_80157130 = .data:0x80157130; // type:object size:0xA data:string -itemPrioTbl = .data:0x8015713A; // type:object size:0x8C scope:local -rankItemGroupTbl = .data:0x801571C6; // type:object size:0x18 scope:local -cursorPosTbl = .data:0x801571E0; // type:object size:0x30 scope:local data:float -comInputDraw1 = .data:0x80157210; // type:object size:0xEE scope:local -comInputDraw2 = .data:0x801572FE; // type:object size:0xBA scope:local -comInputBall = .data:0x801573B8; // type:object size:0xCE scope:local -lbl_80157486 = .data:0x80157486; // type:object size:0xC scope:local data:string -lbl_80157492 = .data:0x80157492; // type:object size:0x13 -lbl_801574A5 = .data:0x801574A5; // type:object size:0x23 -jumptable_801574C8 = .data:0x801574C8; // type:object size:0x24 scope:local -ticketObj = .data:0x801574EC; // type:object size:0x30 scope:local -ticketPrize = .data:0x8015751C; // type:object size:0xC scope:local -handLastPos = .data:0x80157528; // type:object size:0xC scope:local data:4byte -loseSoundTbl = .data:0x80157534; // type:object size:0x20 scope:local -loseMotTbl = .data:0x80157554; // type:object size:0x24 scope:local -coinChgObj = .data:0x80157578; // type:object size:0x10 scope:local -coinDigitMdl = .data:0x80157588; // type:object size:0x28 scope:local -jumptable_801575B0 = .data:0x801575B0; // type:object size:0x1C scope:local -wheelSprTbl = .data:0x801575D0; // type:object size:0x28 scope:local -wheelSprPrio = .data:0x801575F8; // type:object size:0xE scope:local -wheelCharIconTbl = .data:0x80157608; // type:object size:0x20 scope:local -lbl_80157628 = .data:0x80157628; // type:object size:0x10 -boardStarSndTbl = .data:0x80157638; // type:object size:0x20 -hostMotTbl = .data:0x80157658; // type:object size:0x48 scope:local -starEffParam = .data:0x801576A0; // type:object size:0x50 scope:local noreloc -diceObj = .data:0x801576F0; // type:object size:0xC scope:local data:4byte -diceDigitObj = .data:0x801576FC; // type:object size:0xC scope:local data:4byte -diceSndStatus = .data:0x80157708; // type:object size:0xC scope:local -diceEffParam = .data:0x80157714; // type:object size:0x50 scope:local -diceDigitMdlTbl = .data:0x80157764; // type:object size:0x28 scope:local -uiStatus = .data:0x80157790; // type:object size:0x70 scope:local data:byte -statusSprTbl = .data:0x80157800; // type:object size:0x2C scope:local data:byte -statusSprPrioTbl = .data:0x8015782C; // type:object size:0x18 scope:local data:byte -statusHideOfsTbl = .data:0x80157844; // type:object size:0x10 scope:local data:byte -statusPosTbl = .data:0x80157854; // type:object size:0x20 scope:local data:float -statusColTbl = .data:0x80157874; // type:object size:0x10 scope:local -statusSprPosTbl = .data:0x80157884; // type:object size:0x88 scope:local -statusItemPosTbl = .data:0x8015790C; // type:object size:0x30 scope:local -itemMdlTbl = .data:0x8015793C; // type:object size:0x38 scope:local -teamItemStatusPosTbl = .data:0x80157974; // type:object size:0x18 scope:local -coinMdl = .data:0x80157990; // type:object size:0x14 scope:local -itemFuncTbl = .data:0x801579A8; // type:object size:0x38 scope:local -itemRestoreFuncTbl = .data:0x801579E0; // type:object size:0x38 scope:local -itemMdlTbl = .data:0x80157A18; // type:object size:0x38 scope:local -forceMoveSfxTbl = .data:0x80157A50; // type:object size:0x18 scope:local -callMotTbl = .data:0x80157A68; // type:object size:0x20 scope:local -lbl_80157A88 = .data:0x80157A88; // type:object size:0x13 data:string -lbl_80157A9B = .data:0x80157A9B; // type:object size:0x13 data:string -lbl_80157AAE = .data:0x80157AAE; // type:object size:0x13 data:string -lbl_80157AC1 = .data:0x80157AC1; // type:object size:0x13 data:string -lbl_80157AD4 = .data:0x80157AD4; // type:object size:0x13 data:string -lbl_80157AE7 = .data:0x80157AE7; // type:object size:0x13 data:string -lbl_80157AFA = .data:0x80157AFA; // type:object size:0x13 data:string -lbl_80157B0D = .data:0x80157B0D; // type:object size:0x13 data:string -callHookTbl = .data:0x80157B20; // type:object size:0x20 scope:local -callAttackMotTbl = .data:0x80157B40; // type:object size:0x18 scope:local -callAttackMotTbl2 = .data:0x80157B58; // type:object size:0x18 scope:local -suitMotTbl = .data:0x80157B70; // type:object size:0x40 scope:local -lbl_80157BB0 = .data:0x80157BB0; // type:object size:0x10 -booMotTbl = .data:0x80157BC0; // type:object size:0xC scope:local -shadowPos = .data:0x80157BCC; // type:object size:0xC scope:local -shadowTarget = .data:0x80157BD8; // type:object size:0xC scope:local -shadowUp = .data:0x80157BE4; // type:object size:0xC scope:local -armUpMotTbl = .data:0x80157BF0; // type:object size:0x20 scope:local -scareMotTbl = .data:0x80157C10; // type:object size:0x20 scope:local -impactMotTbl = .data:0x80157C30; // type:object size:0x20 scope:local -cameraDataTbl = .data:0x80157C50; // type:object size:0x134 scope:local -genieMotTbl = .data:0x80157D84; // type:object size:0x10 scope:local -scareFXTbl = .data:0x80157D98; // type:object size:0x20 scope:local -jumptable_80157DB8 = .data:0x80157DB8; // type:object size:0x1C scope:local -lbl_80157DD4 = .data:0x80157DD4; // type:object size:0x14 -battleCursorPosTbl = .data:0x80157DE8; // type:object size:0x18 scope:local -bombFXTbl = .data:0x80157E00; // type:object size:0x20 scope:local -battleSprPrioTbl = .data:0x80157E20; // type:object size:0x16 scope:local -jumptable_80157E38 = .data:0x80157E38; // type:object size:0x24 scope:local -battleChanceTbl = .data:0x80157E5C; // type:object size:0x3C scope:local -comPrizeMessTbl = .data:0x80157E98; // type:object size:0x18 scope:local -booPlayerMotTbl = .data:0x80157EB0; // type:object size:0xC0 scope:local -booSfxTbl = .data:0x80157F70; // type:object size:0x80 scope:local -hostMess = .data:0x80157FF0; // type:object size:0x18 scope:local -lbl_80158008 = .data:0x80158008; // type:object size:0xC data:string -ballBooMdl = .data:0x80158014; // type:object size:0x18 scope:local -jumptable_8015802C = .data:0x8015802C; // type:object size:0x20 scope:local -stealSuccessTbl = .data:0x8015804C; // type:object size:0x24 scope:local -stealTbl = .data:0x80158070; // type:object size:0x12 scope:local -mgSetupSprTbl = .data:0x80158088; // type:object size:0x34 scope:local -statusLayout4P = .data:0x801580BC; // type:object size:0x30 scope:local -statusLayout1Vs3 = .data:0x801580EC; // type:object size:0x30 scope:local -statusLayout2Vs2 = .data:0x8015811C; // type:object size:0x30 scope:local -luckyMessTbl = .data:0x8015814C; // type:object size:0x24 scope:local -jumptable_80158170 = .data:0x80158170; // type:object size:0x20 scope:local -cursorYTbl = .data:0x80158190; // type:object size:0x10 scope:local -hiliteYTbl = .data:0x801581A0; // type:object size:0x10 scope:local -hiliteColTbl = .data:0x801581B0; // type:object size:0xC scope:local -hostMesTbl = .data:0x801581C0; // type:object size:0x90 scope:local -houseMdlTbl = .data:0x80158250; // type:object size:0x30 scope:local -booMotTbl = .data:0x80158280; // type:object size:0xC scope:local -hostMotTbl = .data:0x8015828C; // type:object size:0x6C scope:local -playerStartObj = .data:0x801582F8; // type:object size:0x10 scope:local data:4byte -hitFX = .data:0x80158308; // type:object size:0x10 scope:local -startMesTbl = .data:0x80158318; // type:object size:0xB4 scope:local -logoSprTbl = .data:0x801583CC; // type:object size:0x24 scope:local -jumptable_801583F0 = .data:0x801583F0; // type:object size:0x1C scope:local -digitMdlTbl = .data:0x8015840C; // type:object size:0x24 scope:local -playerOrderMesTbl = .data:0x80158430; // type:object size:0xC scope:local -jumptable_8015843C = .data:0x8015843C; // type:object size:0x24 scope:local -hostMotTbl = .data:0x80158460; // type:object size:0x120 scope:local -messBaseTbl = .data:0x80158580; // type:object size:0x24 scope:local -playerOfsTbl = .data:0x801585A4; // type:object size:0x18 scope:local -plateObjNameTbl = .data:0x801585BC; // type:object size:0x10 scope:local -hiliteObjNameTbl = .data:0x801585CC; // type:object size:0x10 scope:local -faceObjNameTbl = .data:0x801585DC; // type:object size:0x10 scope:local -resultRankFX12Tbl = .data:0x801585EC; // type:object size:0x20 scope:local -resultRankFX3Tbl = .data:0x8015860C; // type:object size:0x20 scope:local -resultRankFX4Tbl = .data:0x8015862C; // type:object size:0x20 scope:local -impactFXTbl = .data:0x8015864C; // type:object size:0x20 scope:local -lotteryWheelMdlTbl = .data:0x8015866C; // type:object size:0x20 scope:local -teamSprPrioTbl = .data:0x8015868C; // type:object size:0x1E scope:local -teamSprTbl = .data:0x801586AC; // type:object size:0x34 scope:local -teamSprPosTbl = .data:0x801586E0; // type:object size:0x78 scope:local -teamCharSprTbl = .data:0x80158758; // type:object size:0x20 scope:local -boxModelID = .data:0x80158778; // type:object size:0x10 scope:local data:2byte -boxPosTbl = .data:0x80158788; // type:object size:0x40 scope:local data:float -padConfigPosTbl = .data:0x801587C8; // type:object size:0x20 scope:local -boardLogoTbl = .data:0x801587E8; // type:object size:0x24 scope:local -turnDigitPosTbl = .data:0x8015880C; // type:object size:0x10 scope:local -boxMdlTbl = .data:0x8015881C; // type:object size:0x20 scope:local -jumptable_8015883C = .data:0x8015883C; // type:object size:0x20 scope:local -jumptable_8015885C = .data:0x8015885C; // type:object size:0x20 scope:local -jumptable_8015887C = .data:0x8015887C; // type:object size:0x20 scope:local -lbl_801588A0 = .data:0x801588A0; // type:object size:0x24 data:string -lbl_801588C4 = .data:0x801588C4; // type:object size:0x24 data:string -@84 = .data:0x801588E8; // type:object size:0x1E scope:local data:string -__OSExceptionLocations = .data:0x801589D0; // type:object size:0x3C scope:local -lbl_80158AA8 = .data:0x80158AA8; // type:object size:0x398 -DSPInitCode = .data:0x80158E40; // type:object size:0x80 scope:local -@69 = .data:0x80158EC0; // type:object size:0x29 scope:local data:string -lbl_801590F0 = .data:0x801590F0; // type:object size:0x1B4 -@74 = .data:0x801592A4; // type:object size:0x23 scope:local data:string -@10 = .data:0x801592C8; // type:object size:0x16 scope:local data:string -@43 = .data:0x801595A4; // type:object size:0x40 scope:local -lbl_801595E8 = .data:0x801595E8; // type:object size:0x30 data:4byte -lbl_80159618 = .data:0x80159618; // type:object size:0x28 -lbl_80159640 = .data:0x80159640; // type:object size:0x28 -ResetFunctionInfo = .data:0x80159668; // type:object size:0x10 scope:local -lbl_80159678 = .data:0x80159678; // type:object size:0x78 -lbl_801596F0 = .data:0x801596F0; // type:object size:0x30 -lbl_80159720 = .data:0x80159720; // type:object size:0x30 -lbl_80159750 = .data:0x80159750; // type:object size:0x18 data:string -lbl_80159768 = .data:0x80159768; // type:object size:0xC8 data:string -lbl_80159830 = .data:0x80159830; // type:object size:0x38 -lbl_80159868 = .data:0x80159868; // type:object size:0x34 data:string -lbl_8015989C = .data:0x8015989C; // type:object size:0x34 -@13 = .data:0x801598D0; // type:object size:0x15 scope:local data:string -@293 = .data:0x8015991C; // type:object size:0x20 scope:local -jumptable_8015993C = .data:0x8015993C; // type:object size:0x40 scope:local -jumptable_8015997C = .data:0x8015997C; // type:object size:0x34 scope:local -jumptable_801599B0 = .data:0x801599B0; // type:object size:0x34 scope:local -lbl_801599E8 = .data:0x801599E8; // type:object size:0x48 data:4byte -@36 = .data:0x80159A30; // type:object size:0x1A scope:local data:string -lbl_80159AA0 = .data:0x80159AA0; // type:object size:0x164 -jumptable_80159C04 = .data:0x80159C04; // type:object size:0x58 scope:local -lbl_80159D80 = .data:0x80159D80; // type:object size:0xC00 -lbl_8015A980 = .data:0x8015A980; // type:object size:0xC data:string -lbl_8015A98C = .data:0x8015A98C; // type:object size:0x28 -jumptable_8015A9B4 = .data:0x8015A9B4; // type:object size:0x28 scope:local -jumptable_8015AA38 = .data:0x8015AA38; // type:object size:0x28 scope:local -jumptable_8015AA60 = .data:0x8015AA60; // type:object size:0x28 scope:local -jumptable_8015AA88 = .data:0x8015AA88; // type:object size:0x28 scope:local -jumptable_8015AAB0 = .data:0x8015AAB0; // type:object size:0x28 scope:local -lbl_8015AAD8 = .data:0x8015AAD8; // type:object size:0x10 -lbl_8015AAE8 = .data:0x8015AAE8; // type:object size:0x38 -lbl_8015AB20 = .data:0x8015AB20; // type:object size:0x140 -jumptable_8015AC60 = .data:0x8015AC60; // type:object size:0x68 scope:local -jumptable_8015ACC8 = .data:0x8015ACC8; // type:object size:0x44 scope:local -jumptable_8015AD0C = .data:0x8015AD0C; // type:object size:0x1C scope:local -jumptable_8015AD28 = .data:0x8015AD28; // type:object size:0x54 scope:local -GXNtsc480IntDf = .data:0x8015AD80; // type:object size:0x3C -GXNtsc480Prog = .data:0x8015ADBC; // type:object size:0x3C -GXMpal480IntDf = .data:0x8015ADF8; // type:object size:0x3C -GXPal528IntDf = .data:0x8015AE34; // type:object size:0x3C -GXEurgb60Hz480IntDf = .data:0x8015AE70; // type:object size:0x3C -jumptable_8015AEB0 = .data:0x8015AEB0; // type:object size:0x1C scope:local -jumptable_8015AED0 = .data:0x8015AED0; // type:object size:0xF4 scope:local -jumptable_8015AFC4 = .data:0x8015AFC4; // type:object size:0xF4 scope:local -jumptable_8015B0B8 = .data:0x8015B0B8; // type:object size:0x3C scope:local -lbl_8015B0F8 = .data:0x8015B0F8; // type:object size:0x28 -lbl_8015B120 = .data:0x8015B120; // type:object size:0x20 -jumptable_8015B140 = .data:0x8015B140; // type:object size:0x5C scope:local -jumptable_8015B19C = .data:0x8015B19C; // type:object size:0x90 scope:local -jumptable_8015B22C = .data:0x8015B22C; // type:object size:0x5C scope:local -lbl_8015B288 = .data:0x8015B288; // type:object size:0x18 -lbl_8015B2A0 = .data:0x8015B2A0; // type:object size:0x160 -lbl_8015B400 = .data:0x8015B400; // type:object size:0x20 -lbl_8015B420 = .data:0x8015B420; // type:object size:0x20 -Si = .data:0x8015B440; // type:object size:0x14 scope:local data:4byte -Type = .data:0x8015B454; // type:object size:0x10 scope:local -XYNTSC = .data:0x8015B510; // type:object size:0x30 scope:local -lbl_8015B5A8 = .data:0x8015B5A8; // type:object size:0x10 -jumptable_8015B5B8 = .data:0x8015B5B8; // type:object size:0x44 scope:local -jumptable_8015B5FC = .data:0x8015B5FC; // type:object size:0x44 scope:local -jumptable_8015B640 = .data:0x8015B640; // type:object size:0x44 scope:local -lbl_8015B684 = .data:0x8015B684; // type:object size:0xC -lbl_8015B690 = .data:0x8015B690; // type:object size:0x10 -__files = .data:0x8015B6A0; // type:object size:0x140 scope:global -jumptable_8015B7E0 = .data:0x8015B7E0; // type:object size:0x124 scope:local -lbl_8015B908 = .data:0x8015B908; // type:object size:0x100 -lbl_8015BA08 = .data:0x8015BA08; // type:object size:0x100 -@1249 = .data:0x8015BB08; // type:object size:0x84 scope:local -jumptable_8015BB8C = .data:0x8015BB8C; // type:object size:0x84 scope:local -jumptable_8015BC10 = .data:0x8015BC10; // type:object size:0xE0 scope:local -jumptable_8015BCF0 = .data:0x8015BCF0; // type:object size:0x44 scope:local -lbl_8015BD38 = .data:0x8015BD38; // type:object size:0x88 -jumptable_8015BDC0 = .data:0x8015BDC0; // type:object size:0x1C scope:local -jumptable_8015BDDC = .data:0x8015BDDC; // type:object size:0x1C scope:local -gTRKRestoreFlags = .data:0x8015BDF8; // type:object size:0x9 scope:global data:byte -gTRKExceptionStatus = .data:0x8015BE04; // type:object size:0x10 scope:local data:4byte -lbl_8015BE14 = .data:0x8015BE14; // type:object size:0x14 data:4byte -lbl_8015BE28 = .data:0x8015BE28; // type:object size:0x40 data:4byte -gDBCommTable = .data:0x8015BE68; // type:object size:0x1C scope:global data:4byte -jumptable_8015BE88 = .data:0x8015BE88; // type:object size:0x50 scope:local -lbl_8015BED8 = .data:0x8015BED8; // type:object size:0x1C -lbl_8015BEF4 = .data:0x8015BEF4; // type:object size:0x204 -lbl_8015C0F8 = .data:0x8015C0F8; // type:object size:0x20 -lbl_8015C118 = .data:0x8015C118; // type:object size:0x10 -lbl_8015C128 = .data:0x8015C128; // type:object size:0x20 -lbl_8015C148 = .data:0x8015C148; // type:object size:0x10 -jumptable_8015C158 = .data:0x8015C158; // type:object size:0x1C8 scope:local -lbl_8015C320 = .data:0x8015C320; // type:object size:0x200 -lbl_8015C520 = .data:0x8015C520; // type:object size:0x200 -lbl_8015C720 = .data:0x8015C720; // type:object size:0x184 -lbl_8015C8A4 = .data:0x8015C8A4; // type:object size:0x400 -lbl_8015CCA4 = .data:0x8015CCA4; // type:object size:0x204 -lbl_8015CEA8 = .data:0x8015CEA8; // type:object size:0x18 -lbl_8015CEC0 = .data:0x8015CEC0; // type:object size:0x228 -lbl_8015D0E8 = .data:0x8015D0E8; // type:object size:0x10 -lbl_8015D0F8 = .data:0x8015D0F8; // type:object size:0x10 -jumptable_8015D108 = .data:0x8015D108; // type:object size:0x24 scope:local -jumptable_8015D12C = .data:0x8015D12C; // type:object size:0x24 scope:local -jumptable_8015D150 = .data:0x8015D150; // type:object size:0x24 scope:local -lbl_8015D178 = .data:0x8015D178; // type:object size:0x808 -lbl_8015D980 = .data:0x8015D980; // type:object size:0x19E0 -lbl_8015F360 = .data:0x8015F360; // type:object size:0x10 -lbl_8015F370 = .data:0x8015F370; // type:object size:0x20 -lbl_8015F390 = .data:0x8015F390; // type:object size:0x800 -padStatErrOld = .bss:0x8015FBA0; // type:object size:0x10 scope:local -rumbleData = .bss:0x8015FBB0; // type:object size:0x20 scope:local -ReadDataStat = .bss:0x8015FBE0; // type:object size:0x2E00 scope:local align:32 data:4byte -textBuffer = .bss:0x801629E0; // type:object size:0x400 -rmodeobj = .bss:0x80162DE0; // type:object size:0x40 scope:local -HeapTbl = .bss:0x80162E20; // type:object size:0x14 scope:local -strline = .bss:0x80162E38; // type:object size:0x6800 scope:local -pfStrBuf = .bss:0x80169638; // type:object size:0x100 scope:local data:byte -processjmpbuf = .bss:0x80169738; // type:object size:0xF8 scope:local align:8 -HuSprData = .bss:0x80169830; // type:object size:0x9600 -HuSprGrpData = .bss:0x80172E30; // type:object size:0x5400 data:2byte -HuSprOrder = .bss:0x80178230; // type:object size:0x1800 -bmpNoCC = .bss:0x80179A30; // type:object size:0x20 scope:local -HuSprLayerDrawNo = .bss:0x80179A50; // type:object size:0x10 scope:local -Model = .bss:0x80179A60; // type:object size:0x80 -head = .bss:0x80179AE0; // type:object size:0xB0 -rgba = .bss:0x80179B90; // type:object size:0x190 -buf$648 = .bss:0x80179D20; // type:object size:0x300 scope:local data:byte -DrawObjData = .bss:0x8017A020; // type:object size:0x9000 scope:local -BmpPtrBak = .bss:0x80183020; // type:object size:0x20 scope:local data:4byte -MTXBuf = .bss:0x80183040; // type:object size:0x1200 scope:local -scaleBuf = .bss:0x80184240; // type:object size:0x480 scope:local data:4byte -texCol = .bss:0x801846C0; // type:object size:0x40 scope:local data:byte -hiliteMtx = .bss:0x80184700; // type:object size:0x30 scope:local -DrawObjNum = .bss:0x80184730; // type:object size:0x400 scope:local -NBTB = .bss:0x80184B30; // type:object size:0xC scope:local data:float -NBTT = .bss:0x80184B3C; // type:object size:0xC scope:local data:float -PGMaxPos = .bss:0x80184B48; // type:object size:0xC data:float -PGMinPos = .bss:0x80184B54; // type:object size:0xC data:float -Hu3DData = .bss:0x80184B60; // type:object size:0x24800 data:byte -Hu3DCamera = .bss:0x801A9360; // type:object size:0x580 data:float -layerNum = .bss:0x801A98E0; // type:object size:0x10 scope:local data:2byte -layerHook = .bss:0x801A98F0; // type:object size:0x20 scope:local -reflectAnim = .bss:0x801A9910; // type:object size:0x14 data:4byte -hiliteAnim = .bss:0x801A9924; // type:object size:0x10 data:4byte -Hu3DProjection = .bss:0x801A9934; // type:object size:0x260 data:byte -Hu3DShadowData = .bss:0x801A9B94; // type:object size:0x98 data:byte -FogData = .bss:0x801A9C2C; // type:object size:0x10 data:4byte -Hu3DCameraMtx = .bss:0x801A9C3C; // type:object size:0x30 -Hu3DCameraMtxXPose = .bss:0x801A9C6C; // type:object size:0x30 -Hu3DGlobalLight = .bss:0x801A9C9C; // type:object size:0x220 data:2byte -Hu3DLocalLight = .bss:0x801A9EBC; // type:object size:0x880 data:2byte -lbl_8018D39C = .bss:0x801AA73C; // type:object size:0x30 data:2byte -Hu3DMotion = .bss:0x801AA770; // type:object size:0x800 data:2byte -Hu3DTexAnimData = .bss:0x801AAF70; // type:object size:0x1400 data:2byte -Hu3DTexScrData = .bss:0x801AC370; // type:object size:0x6C0 data:2byte -parManProc = .bss:0x801ACA30; // type:object size:0x100 scope:local -perf = .bss:0x801ACB30; // type:object size:0x370 scope:local -Ssw = .bss:0x801ACEA0; // type:object size:0x38 scope:local -omovlhis = .bss:0x801ACED8; // type:object size:0xC0 scope:local -XFB_Geometry = .bss:0x801ACF98; // type:object size:0x18 scope:local -GWPlayerCfg = .bss:0x801ACFB0; // type:object size:0x28 -GWPlayer = .bss:0x801ACFD8; // type:object size:0xC0 data:byte -GWSystem = .bss:0x801AD098; // type:object size:0xDC data:byte -GWGameStat = .bss:0x801AD178; // type:object size:0x118 -GWGameStatDefault = .bss:0x801AD290; // type:object size:0x118 -CRot = .bss:0x801AD3A8; // type:object size:0xC data:float -Center = .bss:0x801AD3B4; // type:object size:0xC data:float -CRotM = .bss:0x801AD3C0; // type:object size:0xC0 -CenterM = .bss:0x801AD480; // type:object size:0xC0 -CZoomM = .bss:0x801AD540; // type:object size:0x40 -omDLLinfoTbl = .bss:0x801AD580; // type:object size:0x50 -sndFXBuf = .bss:0x801AD5D0; // type:object size:0x200 scope:local -charVoiceGroupStat = .bss:0x801AD7D0; // type:object size:0x20 -seqWorkData = .bss:0x801AD7F0; // type:object size:0x400 scope:local data:4byte -winnerNameW = .bss:0x801ADBF0; // type:object size:0x10 scope:local data:2byte -esprite = .bss:0x801ADC00; // type:object size:0x600 data:2byte -espanim = .bss:0x801AE200; // type:object size:0x1200 data:4byte -lbl_80192060 = .bss:0x801AF400; // type:object size:0x100 -lbl_80192160 = .bss:0x801AF500; // type:object size:0x100 -lbl_80192260 = .bss:0x801AF600; // type:object size:0x100 -wipeData = .bss:0x801AF700; // type:object size:0x4C data:4byte -winData = .bss:0x801AF760; // type:object size:0x3000 align:32 data:byte -winKey = .bss:0x801B2760; // type:object size:0x10 -winComKeyBuf = .bss:0x801B2770; // type:object size:0x1400 -mesWInsert = .bss:0x801B3B70; // type:object size:0x10 scope:local -ARInfo = .bss:0x801B3B80; // type:object size:0x400 data:byte -arqReq = .bss:0x801B3F80; // type:object size:0x20 scope:local -ARQueBuf = .bss:0x801B3FA0; // type:object size:0x280 scope:local -preLoadBuf = .bss:0x801B4220; // type:object size:0x40 scope:local -charInstance = .bss:0x801B4260; // type:object size:0x640 scope:local -effectMdl = .bss:0x801B48A0; // type:object size:0x10 scope:local data:2byte -particleData = .bss:0x801B48B0; // type:object size:0x20 scope:local -itemHookProcess = .bss:0x801B48D0; // type:object size:0x80 scope:local -lbl_801975B0 = .bss:0x801B4950; // type:object size:0x10 scope:local -lbl_801975C0 = .bss:0x801B4960; // type:object size:0x90 scope:local -MapObject = .bss:0x801B49F0; // type:object size:0x40 -MapMT = .bss:0x801B4A30; // type:object size:0x30 -MapMTR = .bss:0x801B4A60; // type:object size:0x30 -MTRAdd = .bss:0x801B4A90; // type:object size:0xC scope:local data:float -FieldVec = .bss:0x801B4A9C; // type:object size:0xC scope:local data:float -ColisionIdx = .bss:0x801B4AA8; // type:object size:0x78 -HitFaceVec = .bss:0x801B4B20; // type:object size:0x180 -OldXYZ = .bss:0x801B4CA0; // type:object size:0xC scope:local -HitFace = .bss:0x801B4CAC; // type:object size:0x180 -CharObject = .bss:0x801B4E2C; // type:object size:0x30 -SimpleControl = .bss:0x801B4E60; // type:object size:0x1A0 -SoundBuffer = .bss:0x801B5000; // type:object size:0x500 scope:local align:32 -WorkBuffer = .bss:0x801B5500; // type:object size:0x40 scope:local align:32 -THPFileName = .bss:0x801B5540; // type:object size:0x40 scope:local -mgGameStatBackup = .bss:0x801B5580; // type:object size:0x118 -mgIndexList = .bss:0x801B5698; // type:object size:0x100 -mgTicTacToeGrid = .bss:0x801B5798; // type:object size:0x12 -_Sys_Flag = .bss:0x801B57B0; // type:object size:0x10 scope:local -curFileInfo = .bss:0x801B57C0; // type:object size:0x20 -saveBuf = .bss:0x801B57E0; // type:object size:0x4000 -ToeMessageQueue = .bss:0x801B97E0; // type:object size:0x20 scope:local -padStat$377 = .bss:0x801B9800; // type:object size:0x30 scope:local -ToeMessageArray = .bss:0x801B9830; // type:object size:0x40 scope:local -ToeThread = .bss:0x801B9870; // type:object size:0x310 scope:local align:8 -ToeThreadStack = .bss:0x801B9B80; // type:object size:0x1000 scope:local -boardCamera = .bss:0x801BAB80; // type:object size:0xC4 data:byte -cameraBackup = .bss:0x801BAC44; // type:object size:0xC4 scope:local -preTurnHook = .bss:0x801BAD08; // type:object size:0x10 scope:local -postTurnHook = .bss:0x801BAD18; // type:object size:0x10 scope:local -playerMatCopy = .bss:0x801BAD28; // type:object size:0x10 scope:local -winInsertMesTbl = .bss:0x801BAD38; // type:object size:0x20 scope:local -choiceDisableTbl = .bss:0x801BAD58; // type:object size:0x40 scope:local -focusPos = .bss:0x801BAD98; // type:object size:0xC scope:local data:float -focusPosTarget = .bss:0x801BADA4; // type:object size:0xC scope:local data:4byte -spaceData = .bss:0x801BADB0; // type:object size:0x7000 scope:local data:4byte -boardSpaceStarTbl = .bss:0x801C1DB0; // type:object size:0x10 -spaceTex = .bss:0x801C1DC0; // type:object size:0x20 scope:local -spaceHiliteTex = .bss:0x801C1DE0; // type:object size:0x20 scope:local -activeItemTbl = .bss:0x801C1E00; // type:object size:0x14 scope:local data:4byte -choiceEnableTbl = .bss:0x801C1E14; // type:object size:0x18 scope:local -lbl_801C1E30 = .bss:0x801C1E30; // type:object size:0xC data:2byte -lbl_801C1E3C = .bss:0x801C1E3C; // type:object size:0xC -lbl_801C1E48 = .bss:0x801C1E48; // type:object size:0x18 data:2byte -warpPos = .bss:0x801C1E60; // type:object size:0xC scope:local -starCharPos = .bss:0x801C1E70; // type:object size:0xC scope:local data:4byte -tutorialRoll = .bss:0x801C1E80; // type:object size:0xC scope:local -itemMdlId = .bss:0x801C1E90; // type:object size:0x18 scope:local -pickerPos = .bss:0x801C1EA8; // type:object size:0x30 scope:local -itemPosTemp = .bss:0x801C1ED8; // type:object size:0x48 scope:local -coinF = .bss:0x801C1F20; // type:object size:0x28 scope:local -booBallPos = .bss:0x801C1F48; // type:object size:0xC scope:local data:4byte -booBallScale = .bss:0x801C1F54; // type:object size:0xC scope:local data:float -booCamPos = .bss:0x801C1F60; // type:object size:0xC scope:local data:float -booCamTarget = .bss:0x801C1F6C; // type:object size:0xC scope:local data:float -booCamUp = .bss:0x801C1F78; // type:object size:0xC scope:local data:float -playerPosTemp = .bss:0x801C1F88; // type:object size:0x30 scope:local -bowserEvent = .bss:0x801C1FB8; // type:object size:0x16 scope:local -battleMGList = .bss:0x801C1FD0; // type:object size:0x10 scope:local data:2byte -camPosFortune = .bss:0x801C1FE0; // type:object size:0xC scope:local data:4byte -camTargetFortune = .bss:0x801C1FEC; // type:object size:0xC scope:local data:float -activeMG = .bss:0x801C1FF8; // type:object size:0x20 scope:local data:2byte -mgListAll = .bss:0x801C2018; // type:object size:0x40 scope:local data:2byte -mgPlay4P = .bss:0x801C2058; // type:object size:0x10 scope:local -houseMdl = .bss:0x801C2068; // type:object size:0xC scope:local data:2byte -spacePos = .bss:0x801C2078; // type:object size:0xC scope:local data:float -camStartFocusPos = .bss:0x801C2084; // type:object size:0xC scope:local data:float -spacePos = .bss:0x801C2090; // type:object size:0xC scope:local data:float -focusPos = .bss:0x801C209C; // type:object size:0xC scope:local data:float -hostPos = .bss:0x801C20A8; // type:object size:0xC scope:local -hostMot = .bss:0x801C20B4; // type:object size:0x10 scope:local data:2byte -lotteryTicketObj = .bss:0x801C20C4; // type:object size:0x10 scope:local data:4byte -boxRot = .bss:0x801C20D8; // type:object size:0x20 scope:local -padBoxPos = .bss:0x801C20F8; // type:object size:0xC scope:local data:float -pathNodeData = .bss:0x801C2108; // type:object size:0x500 scope:local data:byte -candidateNodes = .bss:0x801C2608; // type:object size:0x40 scope:local -startPathSpaceSearch = .bss:0x801C2648; // type:object size:0x20 scope:local -startPathSpace = .bss:0x801C2668; // type:object size:0x20 scope:local -boardTutorialData = .bss:0x801C2688; // type:object size:0x10 data:4byte -DriveInfo = .bss:0x801C26A0; // type:object size:0x20 scope:local align:32 -DriveBlock = .bss:0x801C26C0; // type:object size:0x30 scope:local -__OSErrorTable = .bss:0x801C26F0; // type:object size:0x40 scope:global -lbl_801C2740 = .bss:0x801C2740; // type:object size:0x20 -Scb = .bss:0x801C2760; // type:object size:0x54 scope:local data:4byte -RunQueue = .bss:0x801C27B8; // type:object size:0x100 scope:local data:4byte -lbl_801C3079 = .bss:0x801C3079; // type:object size:0x6A -lbl_801C30E3 = .bss:0x801C30E3; // type:object size:0xBD -CommandList = .bss:0x801C31A0; // type:object size:0x3C scope:local data:4byte -AlarmForTimeout = .bss:0x801C3208; // type:object size:0x28 scope:local -tmpBuffer = .bss:0x801C3280; // type:object size:0x80 scope:local -DummyCommandBlock = .bss:0x801C3300; // type:object size:0x30 scope:local -WaitingQueue = .bss:0x801C3358; // type:object size:0x20 scope:local data:4byte -bb2Buf = .bss:0x801C3378; // type:object size:0x3F scope:local -block$16 = .bss:0x801C33B8; // type:object size:0x30 scope:local -lbl_801C33E8 = .bss:0x801C33E8; // type:object size:0x78 data:2byte -lbl_801C3460 = .bss:0x801C3460; // type:object size:0x78 -lbl_801C34D8 = .bss:0x801C34D8; // type:object size:0x58 data:2byte -lbl_801C3530 = .bss:0x801C3530; // type:object size:0x20 -lbl_801C3550 = .bss:0x801C3550; // type:object size:0x10 -lbl_801C3560 = .bss:0x801C3560; // type:object size:0x40 -gxData = .bss:0x801C35A0; // type:object size:0x4F8 scope:local -lbl_801C3B18 = .bss:0x801C3B18; // type:object size:0x520 data:4byte -lbl_801C4038 = .bss:0x801C4038; // type:object size:0x220 data:4byte -lbl_801C4258 = .bss:0x801C4258; // type:object size:0x20 -Ecb = .bss:0x801C4278; // type:object size:0xC0 scope:local data:4byte -Packet = .bss:0x801C4338; // type:object size:0x80 scope:local data:4byte -lbl_801C43B8 = .bss:0x801C43B8; // type:object size:0xA0 -TypeTime = .bss:0x801C4458; // type:object size:0x20 scope:local -lbl_801C4478 = .bss:0x801C4478; // type:object size:0x20 -lbl_801C4498 = .bss:0x801C4498; // type:object size:0x40 -lbl_801C44D8 = .bss:0x801C44D8; // type:object size:0x68 data:4byte -lbl_801C4540 = .bss:0x801C4540; // type:object size:0x118 -lbl_801C4658 = .bss:0x801C4658; // type:object size:0x18 data:4byte -fragmentinfo = .bss:0x801C4670; // type:object size:0xC scope:local data:4byte -__atexit_funcs = .bss:0x801C4680; // type:object size:0x100 scope:local -lbl_801C4780 = .bss:0x801C4780; // type:object size:0x38 data:4byte -lbl_801C47B8 = .bss:0x801C47B8; // type:object size:0x100 -lbl_801C48B8 = .bss:0x801C48B8; // type:object size:0x100 -lbl_801C49B8 = .bss:0x801C49B8; // type:object size:0x100 -lbl_801C4AB8 = .bss:0x801C4AB8; // type:object size:0x18 -lbl_801C4AD0 = .bss:0x801C4AD0; // type:object size:0x28 -gTRKBigEndian = .bss:0x801C4AF8; // type:object size:0x4 scope:global data:4byte -lbl_801C4B00 = .bss:0x801C4B00; // type:object size:0x19B0 -gTRKInputPendingPtr = .bss:0x801C64B0; // type:object size:0x4 scope:global data:4byte -lbl_801C64B4 = .bss:0x801C64B4; // type:object size:0x14 data:4byte -lbl_801C64C8 = .bss:0x801C64C8; // type:object size:0x8 data:4byte -lbl_801C64D0 = .bss:0x801C64D0; // type:object size:0x8 data:4byte -TRK_saved_exceptionID = .bss:0x801C64D8; // type:object size:0x2 scope:local data:2byte -gTRKState = .bss:0x801C64DC; // type:object size:0xA4 scope:global data:4byte -gTRKCPUState = .bss:0x801C6580; // type:object size:0x430 scope:global -gTRKSaveState = .bss:0x801C69B0; // type:object size:0x94 scope:global data:4byte -lbl_801C6A44 = .bss:0x801C6A44; // type:object size:0x14 -lbl_801C6A58 = .bss:0x801C6A58; // type:object size:0x8 data:4byte -TRK_mainError = .bss:0x801C6A60; // type:object size:0x4 scope:local data:4byte -lbl_801C6A68 = .bss:0x801C6A68; // type:object size:0x758 data:4byte -lbl_801C71C0 = .bss:0x801C71C0; // type:object size:0x7 -lbl_801C71C7 = .bss:0x801C71C7; // type:object size:0x547 -lbl_801C770E = .bss:0x801C770E; // type:object size:0x476 -lbl_801C7B84 = .bss:0x801C7B84; // type:object size:0x110C -lbl_801C8C90 = .bss:0x801C8C90; // type:object size:0x8 data:byte -lbl_801C8C98 = .bss:0x801C8C98; // type:object size:0x1400 data:4byte -lbl_801CA098 = .bss:0x801CA098; // type:object size:0x3F85 -lbl_801CE01D = .bss:0x801CE01D; // type:object size:0x300 -lbl_801CE31D = .bss:0x801CE31D; // type:object size:0x64 -lbl_801CE381 = .bss:0x801CE381; // type:object size:0xE3F -lbl_801CF1C0 = .bss:0x801CF1C0; // type:object size:0x6BC -lbl_801CF87C = .bss:0x801CF87C; // type:object size:0x480 -lbl_801CFCFC = .bss:0x801CFCFC; // type:object size:0x66DC -lbl_801D63D8 = .bss:0x801D63D8; // type:object size:0x100 data:2byte -lbl_801D64D8 = .bss:0x801D64D8; // type:object size:0x240 -lbl_801D6718 = .bss:0x801D6718; // type:object size:0x214 data:4byte -lbl_801D692C = .bss:0x801D692C; // type:object size:0x600 data:float -lbl_801D6F2C = .bss:0x801D6F2C; // type:object size:0x40 data:byte -lbl_801D6F6C = .bss:0x801D6F6C; // type:object size:0x180 -lbl_801D70EC = .bss:0x801D70EC; // type:object size:0x20 data:4byte -lbl_801D710C = .bss:0x801D710C; // type:object size:0x20 data:4byte -lbl_801D712C = .bss:0x801D712C; // type:object size:0x20 data:4byte -lbl_801D714C = .bss:0x801D714C; // type:object size:0x20 data:4byte -lbl_801D716C = .bss:0x801D716C; // type:object size:0x10 data:byte -lbl_801D717C = .bss:0x801D717C; // type:object size:0x40 data:4byte -lbl_801D71BC = .bss:0x801D71BC; // type:object size:0x480 -lbl_801D763C = .bss:0x801D763C; // type:object size:0x484 -lbl_801D7AC0 = .bss:0x801D7AC0; // type:object size:0x1900 data:4byte -lbl_801D93C0 = .bss:0x801D93C0; // type:object size:0x800 -lbl_801D9BC0 = .bss:0x801D9BC0; // type:object size:0xC00 -lbl_801DA7C0 = .bss:0x801DA7C0; // type:object size:0x184E -lbl_801DC00E = .bss:0x801DC00E; // type:object size:0x1 -lbl_801DC00F = .bss:0x801DC00F; // type:object size:0x6F4 -lbl_801DC703 = .bss:0x801DC703; // type:object size:0x1C84 -lbl_801DE387 = .bss:0x801DE387; // type:object size:0x439 -lbl_801DE7C0 = .bss:0x801DE7C0; // type:object size:0x600 data:4byte -lbl_801DEDC0 = .bss:0x801DEDC0; // type:object size:0x400 data:2byte -lbl_801DF1C0 = .bss:0x801DF1C0; // type:object size:0x800 data:2byte -lbl_801DF9C0 = .bss:0x801DF9C0; // type:object size:0x22B0 -lbl_801E1C70 = .bss:0x801E1C70; // type:object size:0x1D50 -lbl_801E39C0 = .bss:0x801E39C0; // type:object size:0x20 data:2byte -lbl_801E39E0 = .bss:0x801E39E0; // type:object size:0xC -lbl_801E39EC = .bss:0x801E39EC; // type:object size:0xC data:2byte -lbl_801E39F8 = .bss:0x801E39F8; // type:object size:0x20 data:4byte -lbl_801E3A18 = .bss:0x801E3A18; // type:object size:0xF00 data:4byte -lbl_801E4918 = .bss:0x801E4918; // type:object size:0x40 data:byte -lbl_801E4958 = .bss:0x801E4958; // type:object size:0x80 data:byte -lbl_801E49D8 = .bss:0x801E49D8; // type:object size:0x950 data:byte -lbl_801E5328 = .bss:0x801E5328; // type:object size:0x600 data:4byte -lbl_801E5928 = .bss:0x801E5928; // type:object size:0x5E0 data:4byte -lbl_801E5F08 = .bss:0x801E5F08; // type:object size:0x100 data:4byte -lbl_801E6008 = .bss:0x801E6008; // type:object size:0x50 -lbl_801E6058 = .bss:0x801E6058; // type:object size:0x400 data:4byte -lbl_801E6458 = .bss:0x801E6458; // type:object size:0x300 -lbl_801E6758 = .bss:0x801E6758; // type:object size:0x700 -lbl_801E6E58 = .bss:0x801E6E58; // type:object size:0x200 data:4byte -lbl_801E7058 = .bss:0x801E7058; // type:object size:0x8B -lbl_801E70E3 = .bss:0x801E70E3; // type:object size:0x16 -lbl_801E70F9 = .bss:0x801E70F9; // type:object size:0x740 -lbl_801E7839 = .bss:0x801E7839; // type:object size:0xAA -lbl_801E78E3 = .bss:0x801E78E3; // type:object size:0x3A75 -lbl_801EB358 = .bss:0x801EB358; // type:object size:0x80 -lbl_801EB3D8 = .bss:0x801EB3D8; // type:object size:0x2180 -lbl_801ED558 = .bss:0x801ED558; // type:object size:0x40 -lbl_801ED598 = .bss:0x801ED598; // type:object size:0x80 -lbl_801ED618 = .bss:0x801ED618; // type:object size:0x40 -lbl_801ED658 = .bss:0x801ED658; // type:object size:0x284 -lbl_801ED8DC = .bss:0x801ED8DC; // type:object size:0x284 -lbl_801EDB60 = .bss:0x801EDB60; // type:object size:0x400 data:4byte -lbl_801EDF60 = .bss:0x801EDF60; // type:object size:0x60 -lbl_801EDFC0 = .bss:0x801EDFC0; // type:object size:0x2000 -lbl_801EFFC0 = .bss:0x801EFFC0; // type:object size:0x500 data:4byte -lbl_801F04C0 = .bss:0x801F04C0; // type:object size:0x30 data:4byte -lbl_801F04F0 = .bss:0x801F04F0; // type:object size:0x10 data:4byte -lbl_801F0500 = .bss:0x801F0500; // type:object size:0x178 data:2byte -lbl_801F0678 = .bss:0x801F0678; // type:object size:0xE8 data:4byte -lbl_801F0760 = .bss:0x801F0760; // type:object size:0x60 data:4byte -lbl_801F07C0 = .sdata:0x801F07C0; // type:object size:0x5 data:string -lbl_801F07C5 = .sdata:0x801F07C5; // type:object size:0x7 -rnd_seed = .sdata:0x801F07CC; // type:object size:0x4 data:4byte -lbl_801F07D0 = .sdata:0x801F07D0; // type:object size:0x6 data:string -lbl_801F07D6 = .sdata:0x801F07D6; // type:object size:0x2 data:string -lbl_801F07D8 = .sdata:0x801F07D8; // type:object size:0x7 data:string -lbl_801F07DF = .sdata:0x801F07DF; // type:object size:0x2 data:string -FirstFrame = .sdata:0x801F07E8; // type:object size:0x4 scope:local data:4byte -lbl_801F07EC = .sdata:0x801F07EC; // type:object size:0x7 data:string -lbl_801F07F3 = .sdata:0x801F07F3; // type:object size:0x4 data:string -lbl_801F07F7 = .sdata:0x801F07F7; // type:object size:0x9 -lbl_801F0800 = .sdata:0x801F0800; // type:object size:0x2 data:string -lbl_801F0802 = .sdata:0x801F0802; // type:object size:0x8 data:string -oneceF = .sdata:0x801F0810; // type:object size:0x2 scope:local data:2byte -firstTev = .sdata:0x801F0812; // type:object size:0x4 scope:local -secondTev = .sdata:0x801F0816; // type:object size:0x4 scope:local -lbl_801F081A = .sdata:0x801F081A; // type:object size:0x7 scope:local data:string -lbl_801F0828 = .sdata:0x801F0828; // type:object size:0x4 data:string -lbl_801F082C = .sdata:0x801F082C; // type:object size:0x5 data:string -omSysPauseEnableFlag = .sdata:0x801F0838; // type:object size:0x1 data:byte -omprevovl = .sdata:0x801F083C; // type:object size:0x4 data:4byte -titleMes$442 = .sdata:0x801F0840; // type:object size:0x4 scope:local data:4byte -lbl_801F0844 = .sdata:0x801F0844; // type:object size:0xC -GwLanguage = .sdata:0x801F0850; // type:object size:0x2 data:2byte -GwLanguageSave = .sdata:0x801F0852; // type:object size:0x2 -lbl_801F0858 = .sdata:0x801F0858; // type:object size:0x1 -lbl_801F0859 = .sdata:0x801F0859; // type:object size:0x7 -mgSeqOvlPrev = .sdata:0x801F0860; // type:object size:0x4 data:4byte -wordStartE = .sdata:0x801F0864; // type:object size:0x7 scope:local data:string -seqPunctTbl = .sdata:0x801F086B; // type:object size:0x3 scope:local data:byte -wordStartJ = .sdata:0x801F086E; // type:object size:0x6 scope:local -wordFinishJ = .sdata:0x801F0874; // type:object size:0x8 scope:local -wordDrawJ = .sdata:0x801F087C; // type:object size:0x6 scope:local -wordFinishE = .sdata:0x801F0882; // type:object size:0x8 scope:local data:string -wordDrawE = .sdata:0x801F088A; // type:object size:0x6 scope:local data:string -lbl_801F0890 = .sdata:0x801F0890; // type:object size:0x4 scope:local -lbl_801F0894 = .sdata:0x801F0894; // type:object size:0x6 scope:local data:string -lbl_801F089A = .sdata:0x801F089A; // type:object size:0x6 scope:local -lbl_801F08A0 = .sdata:0x801F08A0; // type:object size:0x6 scope:local data:string -lbl_801F08A6 = .sdata:0x801F08A6; // type:object size:0x5 scope:local -lbl_801F08AB = .sdata:0x801F08AB; // type:object size:0x6 scope:local data:string -lbl_801F08B1 = .sdata:0x801F08B1; // type:object size:0x5 scope:local -lbl_801F08B6 = .sdata:0x801F08B6; // type:object size:0x6 scope:local data:string -lbl_801F08BC = .sdata:0x801F08BC; // type:object size:0x4 scope:local -lbl_801F08C0 = .sdata:0x801F08C0; // type:object size:0x6 scope:local data:string -lbl_801F08C6 = .sdata:0x801F08C6; // type:object size:0x6 scope:local -lbl_801F08CC = .sdata:0x801F08CC; // type:object size:0x5 scope:local data:string -lbl_801F08D1 = .sdata:0x801F08D1; // type:object size:0x7 scope:local -lbl_801F08D8 = .sdata:0x801F08D8; // type:object size:0x6 scope:local data:string -lbl_801F08DE = .sdata:0x801F08DE; // type:object size:0x7 scope:local -lbl_801F08E5 = .sdata:0x801F08E5; // type:object size:0x8 scope:local data:string -lbl_801F08ED = .sdata:0x801F08ED; // type:object size:0x5 scope:local -lbl_801F08F2 = .sdata:0x801F08F2; // type:object size:0x7 scope:local data:string -lbl_801F08F9 = .sdata:0x801F08F9; // type:object size:0x6 scope:local -lbl_801F08FF = .sdata:0x801F08FF; // type:object size:0x5 scope:local data:string -lbl_801F0904 = .sdata:0x801F0904; // type:object size:0x5 scope:local -lbl_801F0909 = .sdata:0x801F0909; // type:object size:0x8 scope:local data:string -lbl_801F0911 = .sdata:0x801F0911; // type:object size:0x4 scope:local -lbl_801F0915 = .sdata:0x801F0915; // type:object size:0x4 scope:local data:string -lbl_801F0919 = .sdata:0x801F0919; // type:object size:0x5 scope:local -lbl_801F091E = .sdata:0x801F091E; // type:object size:0x6 scope:local data:string -lbl_801F0924 = .sdata:0x801F0924; // type:object size:0x7 scope:local -lbl_801F092B = .sdata:0x801F092B; // type:object size:0x6 scope:local -lbl_801F0931 = .sdata:0x801F0931; // type:object size:0x7 scope:local data:string -lbl_801F0938 = .sdata:0x801F0938; // type:object size:0x3 scope:local -lbl_801F093B = .sdata:0x801F093B; // type:object size:0x5 scope:local data:string -lbl_801F0940 = .sdata:0x801F0940; // type:object size:0x6 scope:local -lbl_801F0946 = .sdata:0x801F0946; // type:object size:0x5 scope:local data:string -lbl_801F094B = .sdata:0x801F094B; // type:object size:0x7 scope:local -lbl_801F0952 = .sdata:0x801F0952; // type:object size:0x6 scope:local -lbl_801F0958 = .sdata:0x801F0958; // type:object size:0x8 scope:local -pauseStr = .sdata:0x801F0960; // type:object size:0x8 scope:local -lbl_801F0968 = .sdata:0x801F0968; // type:object size:0x8 scope:local -lbl_801F0970 = .sdata:0x801F0970; // type:object size:0x8 -lbl_801F0978 = .sdata:0x801F0978; // type:object size:0x8 -lbl_801F0980 = .sdata:0x801F0980; // type:object size:0x8 -colorN$226 = .sdata:0x801F0988; // type:object size:0x4 scope:local data:byte -colorN$271 = .sdata:0x801F098C; // type:object size:0x4 scope:local data:byte -winPrio = .sdata:0x801F0990; // type:object size:0x2 scope:local data:2byte -lbl_801F0998 = .sdata:0x801F0998; // type:object size:0x8 -lbl_801F09A0 = .sdata:0x801F09A0; // type:object size:0x8 -lbl_801F09A8 = .sdata:0x801F09A8; // type:object size:0x8 -lbl_801F09B0 = .sdata:0x801F09B0; // type:object size:0x8 -lbl_801F09B8 = .sdata:0x801F09B8; // type:object size:0x8 -lbl_801F09C0 = .sdata:0x801F09C0; // type:object size:0x1 -lbl_801F09C1 = .sdata:0x801F09C1; // type:object size:0x5 data:string -lbl_801F09C6 = .sdata:0x801F09C6; // type:object size:0x5 data:string -lbl_801F09CB = .sdata:0x801F09CB; // type:object size:0x8 data:string -lbl_801F09D3 = .sdata:0x801F09D3; // type:object size:0x6 data:string -lbl_801F09D9 = .sdata:0x801F09D9; // type:object size:0x7 -lbl_801F09E0 = .sdata:0x801F09E0; // type:object size:0x8 -SaveEnableF = .sdata:0x801F09E8; // type:object size:0x4 data:4byte -lbl_801F09EC = .sdata:0x801F09EC; // type:object size:0x2 data:string -lbl_801F09EE = .sdata:0x801F09EE; // type:object size:0x2 data:string -SlotNameTbl = .sdata:0x801F09F0; // type:object size:0x8 scope:local -saveMessWin = .sdata:0x801F09F8; // type:object size:0x4 data:4byte -SR_PushTime = .sdata:0x801F0A00; // type:object size:0x8 scope:local data:2byte -SR_ResetPad = .sdata:0x801F0A08; // type:object size:0x1 scope:local data:byte -Xfb = .sdata:0x801F0A0C; // type:object size:0x8 scope:local data:4byte -nextOvl = .sdata:0x801F0A18; // type:object size:0x4 scope:local data:4byte -colorN$1400 = .sdata:0x801F0A1C; // type:object size:0x4 scope:local data:byte -lbl_801F0A20 = .sdata:0x801F0A20; // type:object size:0x8 -suitMdl = .sdata:0x801F0A28; // type:object size:0x2 scope:local data:2byte -suitPlayerMdl = .sdata:0x801F0A2A; // type:object size:0x2 scope:local data:2byte -suitCurrMot = .sdata:0x801F0A2C; // type:object size:0x2 scope:local data:2byte -lbl_801F0A2E = .sdata:0x801F0A2E; // type:object size:0x5 data:string -lbl_801F0A33 = .sdata:0x801F0A33; // type:object size:0x5 data:string -lbl_801F0A38 = .sdata:0x801F0A38; // type:object size:0x6 data:string -lbl_801F0A3E = .sdata:0x801F0A3E; // type:object size:0x6 data:string -lbl_801F0A44 = .sdata:0x801F0A44; // type:object size:0x6 data:string -lbl_801F0A4A = .sdata:0x801F0A4A; // type:object size:0x6 data:string -lbl_801F0A50 = .sdata:0x801F0A50; // type:object size:0x6 data:string -lbl_801F0A56 = .sdata:0x801F0A56; // type:object size:0x6 data:string -lbl_801F0A5C = .sdata:0x801F0A5C; // type:object size:0x6 data:string -lbl_801F0A62 = .sdata:0x801F0A62; // type:object size:0x6 data:string -lbl_801F0A68 = .sdata:0x801F0A68; // type:object size:0x6 data:string -lbl_801F0A6E = .sdata:0x801F0A6E; // type:object size:0x6 data:string -lbl_801F0A74 = .sdata:0x801F0A74; // type:object size:0x6 data:string -lbl_801F0A7A = .sdata:0x801F0A7A; // type:object size:0xE -windowID = .sdata:0x801F0A88; // type:object size:0x2 scope:local data:2byte -boardFX = .sdata:0x801F0A90; // type:object size:0x4 scope:local data:4byte -itemUse = .sdata:0x801F0A98; // type:object size:0x1 scope:local data:byte -buttonWin = .sdata:0x801F0AA0; // type:object size:0x2 scope:local data:2byte -focusMdl = .sdata:0x801F0AA2; // type:object size:0x2 scope:local data:2byte -spaceDrawMdl = .sdata:0x801F0AA8; // type:object size:0x2 scope:local data:2byte -starPlatMdl = .sdata:0x801F0AAA; // type:object size:0x2 scope:local data:2byte -itemMdl = .sdata:0x801F0AB0; // type:object size:0x2 scope:local data:2byte -itemChoice = .sdata:0x801F0AB2; // type:object size:0x1 scope:local data:byte -shopMdlParam = .sdata:0x801F0AB4; // type:object size:0x8 scope:local -hostMdl = .sdata:0x801F0ABC; // type:object size:0x2 scope:local data:2byte -shopMot = .sdata:0x801F0ABE; // type:object size:0x6 scope:local data:2byte -itemCurChoice = .sdata:0x801F0AC4; // type:object size:0x1 scope:local data:byte -defaultItemTbl = .sdata:0x801F0AC5; // type:object size:0x5 scope:local -hostMdl = .sdata:0x801F0AD0; // type:object size:0x2 scope:local data:2byte -lotteryMot = .sdata:0x801F0AD2; // type:object size:0x8 scope:local data:2byte -lotterySpr = .sdata:0x801F0ADA; // type:object size:0x2 scope:local data:2byte -lotteryInstWin = .sdata:0x801F0ADC; // type:object size:0x2 scope:local data:2byte -gripMdl = .sdata:0x801F0ADE; // type:object size:0x4 scope:local data:2byte -turnMot = .sdata:0x801F0AE2; // type:object size:0x2 scope:local data:2byte -ballMdl = .sdata:0x801F0AE4; // type:object size:0x8 scope:local -loseMot = .sdata:0x801F0AEC; // type:object size:0x2 scope:local data:2byte -ticketSprGrp = .sdata:0x801F0AEE; // type:object size:0x2 data:2byte -warpSpringMdl = .sdata:0x801F0AF0; // type:object size:0x2 scope:local data:2byte -warpImpactMdl = .sdata:0x801F0AF2; // type:object size:0x2 scope:local data:2byte -warpImpactPlayer = .sdata:0x801F0AF4; // type:object size:0x4 scope:local -lbl_801F0AF8 = .sdata:0x801F0AF8; // type:object size:0x8 -wheelPos = .sdata:0x801F0B00; // type:object size:0x1 scope:local data:byte -wheelSprGrp = .sdata:0x801F0B02; // type:object size:0x2 scope:local data:2byte -wheelFXStat = .sdata:0x801F0B04; // type:object size:0x4 scope:local data:4byte -boxObj = .sdata:0x801F0B08; // type:object size:0x8 scope:local -itemMdl = .sdata:0x801F0B10; // type:object size:0x2 scope:local data:2byte -starParman = .sdata:0x801F0B18; // type:object size:0x2 scope:local data:2byte -hostMdl = .sdata:0x801F0B1A; // type:object size:0x2 scope:local data:2byte -diceMdl = .sdata:0x801F0B20; // type:object size:0x6 scope:local -diceEff = .sdata:0x801F0B26; // type:object size:0x6 scope:local -rollWin = .sdata:0x801F0B2C; // type:object size:0x2 scope:local data:2byte -lbl_801F0B2E = .sdata:0x801F0B2E; // type:object size:0x3 data:string -itemPickupMdlId = .sdata:0x801F0B38; // type:object size:0x2 scope:local data:2byte -yourTurnSprGrp = .sdata:0x801F0B3A; // type:object size:0x2 scope:local data:2byte -jumpMot = .sdata:0x801F0B40; // type:object size:0x2 scope:local data:2byte -starMdl = .sdata:0x801F0B42; // type:object size:0x2 scope:local data:2byte -itemMotTbl = .sdata:0x801F0B48; // type:object size:0x8 scope:local -lbl_801F0B50 = .sdata:0x801F0B50; // type:object size:0x8 -jumpMot = .sdata:0x801F0B58; // type:object size:0x2 scope:local data:2byte -scareMot = .sdata:0x801F0B5A; // type:object size:0x2 scope:local data:2byte -suitItemMdl = .sdata:0x801F0B5C; // type:object size:0x2 scope:local data:2byte -bowserMdl = .sdata:0x801F0B5E; // type:object size:0x2 scope:local data:2byte -lbl_801F0B60 = .sdata:0x801F0B60; // type:object size:0x3 data:string -lbl_801F0B63 = .sdata:0x801F0B63; // type:object size:0x8 data:string -lbl_801F0B70 = .sdata:0x801F0B70; // type:object size:0x8 -lbl_801F0B78 = .sdata:0x801F0B78; // type:object size:0x8 -ballMdlTbl = .sdata:0x801F0B80; // type:object size:0x8 scope:local -lbl_801F0B88 = .sdata:0x801F0B88; // type:object size:0x8 -luckyValue = .sdata:0x801F0B90; // type:object size:0x1 scope:local data:byte -cursorPos = .sdata:0x801F0B91; // type:object size:0x1 scope:local data:byte -houseShowMot = .sdata:0x801F0B98; // type:object size:0x2 scope:local data:2byte -houseHideMot = .sdata:0x801F0B9A; // type:object size:0x2 scope:local data:2byte -ballMdl = .sdata:0x801F0B9C; // type:object size:0x2 scope:local data:2byte -booMdl = .sdata:0x801F0B9E; // type:object size:0x2 scope:local data:2byte -smokeMdl = .sdata:0x801F0BA0; // type:object size:0x2 scope:local data:2byte -hostMdl = .sdata:0x801F0BA2; // type:object size:0x2 scope:local data:2byte -hostMot = .sdata:0x801F0BA4; // type:object size:0x6 scope:local data:2byte -lbl_801F0BAA = .sdata:0x801F0BAA; // type:object size:0x7 data:string -lbl_801F0BB1 = .sdata:0x801F0BB1; // type:object size:0x7 data:string -lbl_801F0BB8 = .sdata:0x801F0BB8; // type:object size:0x7 data:string -lbl_801F0BBF = .sdata:0x801F0BBF; // type:object size:0x7 data:string -lbl_801F0BC6 = .sdata:0x801F0BC6; // type:object size:0x7 data:string -lbl_801F0BCD = .sdata:0x801F0BCD; // type:object size:0x6 data:string -lbl_801F0BD3 = .sdata:0x801F0BD3; // type:object size:0x7 data:string -lbl_801F0BDA = .sdata:0x801F0BDA; // type:object size:0x6 data:string -lbl_801F0BE0 = .sdata:0x801F0BE0; // type:object size:0x3 data:string -logoSprGrp = .sdata:0x801F0BE8; // type:object size:0x2 scope:local data:2byte -logoSpr = .sdata:0x801F0BEA; // type:object size:0x2 scope:local data:2byte -camFocus = .sdata:0x801F0BEC; // type:object size:0x2 scope:local data:2byte -tapWin = .sdata:0x801F0BEE; // type:object size:0x2 scope:local data:2byte -streamStatus = .sdata:0x801F0BF0; // type:object size:0x4 scope:local data:4byte -tutorialRollTbl = .sdata:0x801F0BF4; // type:object size:0x4 scope:local -stopWin = .sdata:0x801F0BF8; // type:object size:0x2 scope:local data:2byte -wheelMdl = .sdata:0x801F0BFA; // type:object size:0x2 scope:local data:2byte -lbl_801D3854 = .sdata:0x801F0BFC; // type:object size:0x2 data:2byte -focusMdl = .sdata:0x801F0BFE; // type:object size:0x2 scope:local data:2byte -messBase = .sdata:0x801F0C00; // type:object size:0x4 scope:local data:4byte -lbl_801F0C04 = .sdata:0x801F0C04; // type:object size:0x6 data:string -lbl_801F0C0A = .sdata:0x801F0C0A; // type:object size:0x7 data:string -lbl_801F0C11 = .sdata:0x801F0C11; // type:object size:0x7 data:string -lbl_801F0C18 = .sdata:0x801F0C18; // type:object size:0x7 data:string -lbl_801F0C1F = .sdata:0x801F0C1F; // type:object size:0x5 data:string -lbl_801F0C24 = .sdata:0x801F0C24; // type:object size:0x6 data:string -lbl_801F0C2A = .sdata:0x801F0C2A; // type:object size:0x6 data:string -lbl_801F0C30 = .sdata:0x801F0C30; // type:object size:0x6 data:string -lbl_801F0C36 = .sdata:0x801F0C36; // type:object size:0x4 data:string -lbl_801F0C3A = .sdata:0x801F0C3A; // type:object size:0x5 data:string -lbl_801F0C3F = .sdata:0x801F0C3F; // type:object size:0x5 data:string -lbl_801F0C44 = .sdata:0x801F0C44; // type:object size:0xC -pausePad = .sdata:0x801F0C50; // type:object size:0x1 scope:local data:byte -pauseSprGrp = .sdata:0x801F0C52; // type:object size:0x2 scope:local data:2byte -padConfigSprGrp = .sdata:0x801F0C54; // type:object size:0x2 scope:local data:2byte -pauseCursorPos = .sdata:0x801F0C56; // type:object size:0x2 scope:local data:2byte -settingsControlWin = .sdata:0x801F0C58; // type:object size:0x2 scope:local data:2byte -controlWin = .sdata:0x801F0C5A; // type:object size:0x2 scope:local data:2byte -quitWin = .sdata:0x801F0C5C; // type:object size:0x2 scope:local data:2byte -settingsWin = .sdata:0x801F0C5E; // type:object size:0x2 scope:local data:2byte -__OSCurrHeap = .sdata:0x801F0C60; // type:object size:0x8 data:4byte -__OSArenaLo = .sdata:0x801F0C68; // type:object size:0x4 scope:local data:4byte -@32 = .sdata:0x801F0C70; // type:object size:0x2 scope:local data:string -lbl_801F0C78 = .sdata:0x801F0C78; // type:object size:0x8 data:2byte -lbl_801F0C80 = .sdata:0x801F0C80; // type:object size:0x8 -lbl_801F0C88 = .sdata:0x801F0C88; // type:object size:0x8 data:4byte -lbl_801F0C90 = .sdata:0x801F0C90; // type:object size:0x8 data:string -autoInvalidation = .sdata:0x801F0C98; // type:object size:0x4 scope:local data:4byte -@35 = .sdata:0x801F0CA0; // type:object size:0x2 scope:local data:string -@40 = .sdata:0x801F0CA4; // type:object size:0x4 scope:local data:string -@41 = .sdata:0x801F0CA8; // type:object size:0x3 scope:local data:string -lbl_801F0CB0 = .sdata:0x801F0CB0; // type:object size:0x8 data:string -lbl_801F0CB8 = .sdata:0x801F0CB8; // type:object size:0x8 data:byte -lbl_801F0CC0 = .sdata:0x801F0CC0; // type:object size:0x4 data:4byte -lbl_801F0CC4 = .sdata:0x801F0CC4; // type:object size:0x4 data:4byte -lbl_801F0CC8 = .sdata:0x801F0CC8; // type:object size:0x4 data:4byte -lbl_801F0CCC = .sdata:0x801F0CCC; // type:object size:0x4 data:4byte -lbl_801F0CD0 = .sdata:0x801F0CD0; // type:object size:0x4 data:4byte -lbl_801F0CD4 = .sdata:0x801F0CD4; // type:object size:0x4 -lbl_801F0CD8 = .sdata:0x801F0CD8; // type:object size:0x8 -gx = .sdata:0x801F0CE0; // type:object size:0x4 scope:global data:4byte -lbl_801F0CE8 = .sdata:0x801F0CE8; // type:object size:0x4 -lbl_801F0CEC = .sdata:0x801F0CEC; // type:object size:0x4 -lbl_801F0CF0 = .sdata:0x801F0CF0; // type:object size:0x8 -lbl_801F0CF8 = .sdata:0x801F0CF8; // type:object size:0x8 -lbl_801F0D00 = .sdata:0x801F0D00; // type:object size:0x8 -lbl_801F0D08 = .sdata:0x801F0D08; // type:object size:0x8 -lbl_801F0D10 = .sdata:0x801F0D10; // type:object size:0x8 -lbl_801F0D18 = .sdata:0x801F0D18; // type:object size:0x8 -lbl_801F0D20 = .sdata:0x801F0D20; // type:object size:0x8 -lbl_801F0D28 = .sdata:0x801F0D28; // type:object size:0x8 -lbl_801F0D30 = .sdata:0x801F0D30; // type:object size:0x8 -lbl_801F0D38 = .sdata:0x801F0D38; // type:object size:0x8 data:4byte -lbl_801F0D40 = .sdata:0x801F0D40; // type:object size:0x8 data:2byte -lbl_801F0D48 = .sdata:0x801F0D48; // type:object size:0x8 -lbl_801F0D50 = .sdata:0x801F0D50; // type:object size:0x4 data:4byte -lbl_801F0D54 = .sdata:0x801F0D54; // type:object size:0x4 data:4byte -fragmentID = .sdata:0x801F0D58; // type:object size:0x4 scope:local data:4byte -lbl_801F0D60 = .sdata:0x801F0D60; // type:object size:0x8 -lbl_801F0D68 = .sdata:0x801F0D68; // type:object size:0x8 -@wstringBase0 = .sdata:0x801F0D70; // type:object size:0x2 scope:local -lbl_801F0D78 = .sdata:0x801F0D78; // type:object size:0x4 data:float -lbl_801F0D7C = .sdata:0x801F0D7C; // type:object size:0x4 data:float -lbl_801F0D80 = .sdata:0x801F0D80; // type:object size:0x8 data:4byte -lbl_801F0D88 = .sdata:0x801F0D88; // type:object size:0x8 -lbl_801F0D90 = .sdata:0x801F0D90; // type:object size:0x8 -lbl_801F0D98 = .sdata:0x801F0D98; // type:object size:0x8 data:2byte -lbl_801F0DA0 = .sdata:0x801F0DA0; // type:object size:0x1 data:byte -SystemInitF = .sbss:0x801F0DC0; // type:object size:0x4 data:4byte -HuDvdErrWait = .sbss:0x801F0DC4; // type:object size:0x4 data:4byte -fi_req = .sbss:0x801F0DC8; // type:object size:0x4 scope:local -rf_req = .sbss:0x801F0DCC; // type:object size:0x4 scope:local -pe_req = .sbss:0x801F0DD0; // type:object size:0x4 scope:local -vi_req = .sbss:0x801F0DD4; // type:object size:0x4 scope:local -io_req = .sbss:0x801F0DD8; // type:object size:0x4 scope:local -dsp_req = .sbss:0x801F0DDC; // type:object size:0x4 scope:local -cpu_wr_req = .sbss:0x801F0DE0; // type:object size:0x4 scope:local -cpu_rd_req = .sbss:0x801F0DE4; // type:object size:0x4 scope:local -tc_req = .sbss:0x801F0DE8; // type:object size:0x4 scope:local -cp_req = .sbss:0x801F0DEC; // type:object size:0x4 scope:local -total_copy_clks = .sbss:0x801F0DF0; // type:object size:0x4 scope:local -clr_pixels_in = .sbss:0x801F0DF4; // type:object size:0x4 scope:local -bot_pixels_out = .sbss:0x801F0DF8; // type:object size:0x4 scope:local -bot_pixels_in = .sbss:0x801F0DFC; // type:object size:0x4 scope:local -top_pixels_out = .sbss:0x801F0E00; // type:object size:0x4 scope:local -top_pixels_in = .sbss:0x801F0E04; // type:object size:0x4 scope:local -vstall = .sbss:0x801F0E08; // type:object size:0x4 scope:local -vmiss = .sbss:0x801F0E0C; // type:object size:0x4 scope:local -vcheck = .sbss:0x801F0E10; // type:object size:0x4 scope:local -GlobalCounter = .sbss:0x801F0E14; // type:object size:0x4 data:4byte -VCounter = .sbss:0x801F0E18; // type:object size:0x4 data:4byte -RumbleBit = .sbss:0x801F0E1C; // type:object size:0x4 scope:local data:4byte -_PadErr = .sbss:0x801F0E20; // type:object size:0x4 scope:local -_PadDStkRepOld = .sbss:0x801F0E24; // type:object size:0x4 scope:local -_PadDStkRepCnt = .sbss:0x801F0E28; // type:object size:0x4 scope:local -_PadDStkRep = .sbss:0x801F0E2C; // type:object size:0x4 scope:local -_PadDStk = .sbss:0x801F0E30; // type:object size:0x4 scope:local -_PadTrigR = .sbss:0x801F0E34; // type:object size:0x4 scope:local -_PadTrigL = .sbss:0x801F0E38; // type:object size:0x4 scope:local -_PadSubStkY = .sbss:0x801F0E3C; // type:object size:0x4 scope:local -_PadSubStkX = .sbss:0x801F0E40; // type:object size:0x4 scope:local -_PadStkY = .sbss:0x801F0E44; // type:object size:0x4 scope:local -_PadStkX = .sbss:0x801F0E48; // type:object size:0x4 scope:local -_PadRepCnt = .sbss:0x801F0E4C; // type:object size:0x8 scope:local -_PadBtnDown = .sbss:0x801F0E54; // type:object size:0x8 -_PadBtn = .sbss:0x801F0E5C; // type:object size:0x8 -HuPadErr = .sbss:0x801F0E64; // type:object size:0x4 -HuPadDStkRep = .sbss:0x801F0E68; // type:object size:0x4 -HuPadDStk = .sbss:0x801F0E6C; // type:object size:0x4 -HuPadTrigR = .sbss:0x801F0E70; // type:object size:0x4 -HuPadTrigL = .sbss:0x801F0E74; // type:object size:0x4 -HuPadSubStkY = .sbss:0x801F0E78; // type:object size:0x4 -HuPadSubStkX = .sbss:0x801F0E7C; // type:object size:0x4 -HuPadStkY = .sbss:0x801F0E80; // type:object size:0x4 -HuPadStkX = .sbss:0x801F0E84; // type:object size:0x4 -HuPadBtnRep = .sbss:0x801F0E88; // type:object size:0x8 -HuPadBtnDown = .sbss:0x801F0E90; // type:object size:0x8 data:2byte -HuPadBtn = .sbss:0x801F0E98; // type:object size:0x8 -beforeDvdStatus = .sbss:0x801F0EA0; // type:object size:0x4 scope:local data:4byte -CallBackStatus = .sbss:0x801F0EA4; // type:object size:0x4 scope:local data:4byte -shortAccessSleep = .sbss:0x801F0EA8; // type:object size:0x4 scope:local data:4byte -DataDirMax = .sbss:0x801F0EAC; // type:object size:0x4 scope:local data:4byte -DirDataSize = .sbss:0x801F0EB0; // type:object size:0x8 data:4byte -DemoStatEnable = .sbss:0x801F0EB8; // type:object size:0x4 scope:local data:4byte -worstVcount = .sbss:0x801F0EBC; // type:object size:0x4 data:4byte -minimumVcountf = .sbss:0x801F0EC0; // type:object size:0x4 data:float -minimumVcount = .sbss:0x801F0EC4; // type:object size:0x4 data:4byte -DemoCurrentBuffer = .sbss:0x801F0EC8; // type:object size:0x4 data:4byte -DemoFrameBuffer2 = .sbss:0x801F0ECC; // type:object size:0x4 data:4byte -DemoFrameBuffer1 = .sbss:0x801F0ED0; // type:object size:0x4 data:4byte -DefaultFifoObj = .sbss:0x801F0ED4; // type:object size:0x4 scope:local data:4byte -DefaultFifo = .sbss:0x801F0ED8; // type:object size:0x4 scope:local data:4byte -currentHeapHandle = .sbss:0x801F0EDC; // type:object size:0x4 data:4byte -RenderMode = .sbss:0x801F0EE0; // type:object size:0x8 data:4byte -saftyFrameF = .sbss:0x801F0EE8; // type:object size:0x4 data:4byte -strlinecnt = .sbss:0x801F0EEC; // type:object size:0x2 data:2byte -empstrline = .sbss:0x801F0EEE; // type:object size:0x2 data:2byte -fontcolor = .sbss:0x801F0EF0; // type:object size:0x8 data:4byte -procfunc = .sbss:0x801F0EF8; // type:object size:0x4 data:4byte -processcnt = .sbss:0x801F0EFC; // type:object size:0x2 scope:local data:2byte -processcur = .sbss:0x801F0F00; // type:object size:0x4 scope:local data:4byte -processtop = .sbss:0x801F0F04; // type:object size:0x4 scope:local data:4byte -HuSprPauseF = .sbss:0x801F0F08; // type:object size:0x4 scope:local data:4byte -HuSprOrderNo = .sbss:0x801F0F0C; // type:object size:0x2 scope:local data:2byte -HuSprOrderNum = .sbss:0x801F0F0E; // type:object size:0x2 scope:local data:2byte -bmpCCIdx = .sbss:0x801F0F10; // type:object size:0x8 scope:local data:2byte -MaterialTop = .sbss:0x801F0F18; // type:object size:0x4 data:4byte -AttributeTop = .sbss:0x801F0F1C; // type:object size:0x4 data:4byte -ClusterTop = .sbss:0x801F0F20; // type:object size:0x4 data:4byte -vtxtop = .sbss:0x801F0F24; // type:object size:0x4 data:4byte -objtop = .sbss:0x801F0F28; // type:object size:0x4 data:4byte -NSymIndex = .sbss:0x801F0F2C; // type:object size:0x4 data:4byte -DicStringTable = .sbss:0x801F0F30; // type:object size:0x4 data:4byte -StringTable = .sbss:0x801F0F34; // type:object size:0x4 data:4byte -fileptr = .sbss:0x801F0F38; // type:object size:0x4 data:4byte -NormalDataTop = .sbss:0x801F0F3C; // type:object size:0x4 scope:local data:4byte -VertexDataTop = .sbss:0x801F0F40; // type:object size:0x4 scope:local data:4byte -MotionModel = .sbss:0x801F0F44; // type:object size:0x4 scope:local data:4byte -MotionOnly = .sbss:0x801F0F48; // type:object size:0x8 scope:local data:4byte -CancelTRXF = .sbss:0x801F0F50; // type:object size:0x4 scope:local data:4byte -TL32F = .sbss:0x801F0F54; // type:object size:0x4 scope:local data:4byte -PGName = .sbss:0x801F0F58; // type:object size:0x4 scope:local data:4byte -PGFinishF = .sbss:0x801F0F5C; // type:object size:0x4 scope:local data:4byte -polySize = .sbss:0x801F0F60; // type:object size:0x2 scope:local data:2byte -curModelID = .sbss:0x801F0F64; // type:object size:0x4 scope:local data:4byte -mallocNo = .sbss:0x801F0F68; // type:object size:0x4 scope:local data:4byte -totalSize = .sbss:0x801F0F6C; // type:object size:0x4 scope:local data:4byte -DLTotalNum = .sbss:0x801F0F70; // type:object size:0x4 scope:local data:4byte -faceNumBuf = .sbss:0x801F0F74; // type:object size:0x4 scope:local data:4byte -faceCnt = .sbss:0x801F0F78; // type:object size:0x2 scope:local data:2byte -quadCnt = .sbss:0x801F0F7A; // type:object size:0x2 scope:local data:2byte -triCnt = .sbss:0x801F0F7C; // type:object size:0x2 scope:local data:2byte -matChgCnt = .sbss:0x801F0F7E; // type:object size:0x2 scope:local data:2byte -DLFirstF = .sbss:0x801F0F80; // type:object size:0x4 scope:local data:4byte -modelObjNum = .sbss:0x801F0F84; // type:object size:0x2 data:2byte -modelMeshNum = .sbss:0x801F0F86; // type:object size:0x2 data:2byte -totalTexCacheCnted = .sbss:0x801F0F88; // type:object size:0x4 data:4byte -totalTexCacheCnt = .sbss:0x801F0F8C; // type:object size:0x4 data:4byte -totalTexCnted = .sbss:0x801F0F90; // type:object size:0x4 data:4byte -totalTexCnt = .sbss:0x801F0F94; // type:object size:0x4 data:4byte -totalMatCnted = .sbss:0x801F0F98; // type:object size:0x4 data:4byte -totalMatCnt = .sbss:0x801F0F9C; // type:object size:0x4 data:4byte -totalPolyCnted = .sbss:0x801F0FA0; // type:object size:0x4 data:4byte -totalPolyCnt = .sbss:0x801F0FA4; // type:object size:0x4 data:4byte -hookIdx = .sbss:0x801F0FA8; // type:object size:0x2 scope:local data:2byte -kColorIdx = .sbss:0x801F0FAC; // type:object size:0x4 scope:local data:4byte -kColor = .sbss:0x801F0FB0; // type:object size:0x4 scope:local data:byte -projectionMapNo = .sbss:0x801F0FB4; // type:object size:0x2 data:2byte -toonMapNo = .sbss:0x801F0FB6; // type:object size:0x2 scope:local data:2byte -shadowMapNo = .sbss:0x801F0FB8; // type:object size:0x2 scope:local data:2byte -attachMotionF = .sbss:0x801F0FBC; // type:object size:0x4 scope:local data:4byte -vtxModeBak = .sbss:0x801F0FC0; // type:object size:0x2 scope:local data:2byte -hiliteMapNo = .sbss:0x801F0FC2; // type:object size:0x2 scope:local data:2byte -reflectionMapNo = .sbss:0x801F0FC4; // type:object size:0x2 scope:local data:2byte -Hu3DObjInfoP = .sbss:0x801F0FC8; // type:object size:0x4 scope:local data:4byte -DrawObjIdx = .sbss:0x801F0FCC; // type:object size:0x2 scope:local data:2byte -lightBit = .sbss:0x801F0FCE; // type:object size:0x2 scope:local data:2byte -drawCnt = .sbss:0x801F0FD0; // type:object size:0x4 scope:local data:4byte -DrawData = .sbss:0x801F0FD4; // type:object size:0x4 scope:local data:4byte -DLBufStartP = .sbss:0x801F0FD8; // type:object size:0x4 scope:local data:4byte -DLBufP = .sbss:0x801F0FDC; // type:object size:0x4 scope:local data:4byte -shadingBak = .sbss:0x801F0FE0; // type:object size:0x4 scope:local data:4byte -polyTypeBak = .sbss:0x801F0FE4; // type:object size:0x1 scope:local data:byte -materialBak = .sbss:0x801F0FE8; // type:object size:0x4 scope:local data:4byte -MTXIdx = .sbss:0x801F0FEC; // type:object size:0x2 data:2byte -modelKillAllF = .sbss:0x801F0FF0; // type:object size:0x4 data:4byte -NoSyncF = .sbss:0x801F0FF4; // type:object size:0x2 scope:local data:2byte -Hu3DCameraExistF = .sbss:0x801F0FF6; // type:object size:0x2 data:2byte -Hu3DPauseF = .sbss:0x801F0FF8; // type:object size:0x2 data:2byte -Hu3DMallocNo = .sbss:0x801F0FFC; // type:object size:0x4 data:4byte -Hu3DCameraBit = .sbss:0x801F1000; // type:object size:0x2 data:2byte -Hu3DCameraNo = .sbss:0x801F1002; // type:object size:0x2 data:2byte -Hu3DProjectionNum = .sbss:0x801F1004; // type:object size:0x2 data:2byte -shadowModelDrawF = .sbss:0x801F1008; // type:object size:0x4 data:4byte -Hu3DShadowF = .sbss:0x801F100C; // type:object size:0x4 data:4byte -Hu3DShadowCamBit = .sbss:0x801F1010; // type:object size:0x2 data:2byte -toonAnim = .sbss:0x801F1014; // type:object size:0x4 data:4byte -reflectMapNo = .sbss:0x801F1018; // type:object size:0x2 data:2byte -BGColor = .sbss:0x801F101A; // type:object size:0x4 data:byte -bitMapPtr = .sbss:0x801F1020; // type:object size:0x4 scope:local data:4byte -metf = .sbss:0x801F1028; // type:object size:0x1 scope:local data:byte -tokenEndF = .sbss:0x801F102A; // type:object size:0x2 scope:local data:2byte -total_copy_clks = .sbss:0x801F102C; // type:object size:0x4 scope:local data:4byte -clr_pixels_in = .sbss:0x801F1030; // type:object size:0x4 scope:local -bot_pixels_out = .sbss:0x801F1034; // type:object size:0x4 scope:local -bot_pixels_in = .sbss:0x801F1038; // type:object size:0x4 scope:local -top_pixels_out = .sbss:0x801F103C; // type:object size:0x4 scope:local -top_pixels_in = .sbss:0x801F1040; // type:object size:0x4 scope:local -fi_req = .sbss:0x801F1044; // type:object size:0x4 scope:local -rf_req = .sbss:0x801F1048; // type:object size:0x4 scope:local -pe_req = .sbss:0x801F104C; // type:object size:0x4 scope:local -vi_req = .sbss:0x801F1050; // type:object size:0x4 scope:local -io_req = .sbss:0x801F1054; // type:object size:0x4 scope:local -dsp_req = .sbss:0x801F1058; // type:object size:0x4 scope:local -cpu_wr_req = .sbss:0x801F105C; // type:object size:0x4 scope:local -cpu_rd_req = .sbss:0x801F1060; // type:object size:0x4 scope:local -tc_req = .sbss:0x801F1064; // type:object size:0x4 scope:local -cp_req = .sbss:0x801F1068; // type:object size:0x4 scope:local -vstall = .sbss:0x801F106C; // type:object size:0x4 scope:local -vmiss = .sbss:0x801F1070; // type:object size:0x4 scope:local -vcheck = .sbss:0x801F1074; // type:object size:0x4 scope:local -met1 = .sbss:0x801F1078; // type:object size:0x4 scope:local -met0 = .sbss:0x801F107C; // type:object size:0x4 scope:local -omdispinfo = .sbss:0x801F1080; // type:object size:0x2 data:2byte -omSysExitReq = .sbss:0x801F1082; // type:object size:0x2 data:2byte -omUPauseFlag = .sbss:0x801F1084; // type:object size:0x1 data:byte -omnextovlstat = .sbss:0x801F1088; // type:object size:0x4 scope:local data:4byte -omovlstat = .sbss:0x801F108C; // type:object size:0x4 data:4byte -omnextovlevtno = .sbss:0x801F1090; // type:object size:0x4 scope:local data:4byte -omovlevtno = .sbss:0x801F1094; // type:object size:0x4 data:4byte -omovlhisidx = .sbss:0x801F1098; // type:object size:0x4 data:4byte -omcurdll = .sbss:0x801F109C; // type:object size:0x4 data:4byte -omcurovl = .sbss:0x801F10A0; // type:object size:0x4 data:4byte -omnextovl = .sbss:0x801F10A4; // type:object size:0x4 scope:local data:4byte -omwatchproc = .sbss:0x801F10A8; // type:object size:0x4 scope:local data:4byte -omDBGSysKeyObj = .sbss:0x801F10AC; // type:object size:0x4 data:4byte -y_start = .sbss:0x801F10B0; // type:object size:0x4 scope:local data:4byte -x_start = .sbss:0x801F10B4; // type:object size:0x4 scope:local data:4byte -Draw_Color = .sbss:0x801F10B8; // type:object size:0x3 scope:local data:byte -XFB_putc = .sbss:0x801F10BC; // type:object size:0x4 scope:local data:4byte -omDBGMenuButton = .sbss:0x801F10C0; // type:object size:0x2 -CZoom = .sbss:0x801F10C4; // type:object size:0x4 data:float -omDLLFileList = .sbss:0x801F10C8; // type:object size:0x8 scope:local data:4byte -frand_seed = .sbss:0x801F10D0; // type:object size:0x8 scope:local data:4byte -fadeStat = .sbss:0x801F10D8; // type:object size:0x1 data:byte -musicOffF = .sbss:0x801F10DC; // type:object size:0x4 data:4byte -Snd3DDistOffset = .sbss:0x801F10E0; // type:object size:0x4 data:float -Snd3DSpeedOffset = .sbss:0x801F10E4; // type:object size:0x4 data:float -Snd3DStartDisOffset = .sbss:0x801F10E8; // type:object size:0x4 data:float -Snd3DFrontSurDisOffset = .sbss:0x801F10EC; // type:object size:0x4 data:float -Snd3DBackSurDisOffset = .sbss:0x801F10F0; // type:object size:0x4 data:float -HuAuxBVol = .sbss:0x801F10F4; // type:object size:0x1 scope:local data:byte -HuAuxAVol = .sbss:0x801F10F5; // type:object size:0x1 scope:local data:byte -auxBNoBak = .sbss:0x801F10F8; // type:object size:0x4 scope:local data:4byte -auxANoBak = .sbss:0x801F10FC; // type:object size:0x4 scope:local data:4byte -sndGroupBak = .sbss:0x801F1100; // type:object size:0x2 scope:local data:2byte -Hu3DAudVol = .sbss:0x801F1102; // type:object size:0x2 scope:local data:2byte -Meshno = .sbss:0x801F1108; // type:object size:0x4 scope:local data:4byte -Meshcnt = .sbss:0x801F110C; // type:object size:0x4 scope:local data:4byte -normtop = .sbss:0x801F1110; // type:object size:0x4 scope:local data:4byte -normenv = .sbss:0x801F1114; // type:object size:0x4 scope:local data:4byte -vtxenv = .sbss:0x801F1118; // type:object size:0x4 scope:local data:4byte -CurHsf = .sbss:0x801F111C; // type:object size:0x4 scope:local data:4byte -objtop = .sbss:0x801F1120; // type:object size:0x4 scope:local data:4byte -nMesh = .sbss:0x801F1124; // type:object size:0x4 scope:local data:4byte -nObj = .sbss:0x801F1128; // type:object size:0x4 scope:local data:4byte -MtxTop = .sbss:0x801F112C; // type:object size:0x4 scope:local data:4byte -Vertextop = .sbss:0x801F1130; // type:object size:0x4 data:4byte -seqLanguage = .sbss:0x801F1138; // type:object size:0x4 scope:local data:4byte -pauseProcess = .sbss:0x801F113C; // type:object size:0x4 scope:local data:4byte -pauseActiveF = .sbss:0x801F1140; // type:object size:0x4 scope:local data:4byte -pauseExitF = .sbss:0x801F1144; // type:object size:0x4 scope:local data:4byte -pauseWaitF = .sbss:0x801F1148; // type:object size:0x4 scope:local data:4byte -seqRecordVal = .sbss:0x801F114C; // type:object size:0x4 scope:local data:4byte -seqPauseF = .sbss:0x801F1150; // type:object size:0x2 scope:local data:2byte -seqSpeed = .sbss:0x801F1152; // type:object size:0x2 scope:local data:2byte -lbl_801F1154 = .sbss:0x801F1154; // type:object size:0x1 data:byte -seqDoneF = .sbss:0x801F1155; // type:object size:0x1 scope:local data:byte -seqTimer = .sbss:0x801F1156; // type:object size:0x2 scope:local data:2byte -gid = .sbss:0x801F1158; // type:object size:0x2 scope:local data:2byte -lbl_801D3DA0 = .sbss:0x801F1160; // type:object size:0x8 -wipeFadeInF = .sbss:0x801F1168; // type:object size:0x8 data:4byte -fontAnim = .sbss:0x801F1170; // type:object size:0x4 data:4byte -LanguageNo = .sbss:0x801F1174; // type:object size:0x1 scope:local data:byte -comKeyIdx = .sbss:0x801F1176; // type:object size:0x2 scope:local data:2byte -comKeyIdxNow = .sbss:0x801F1178; // type:object size:0x2 scope:local data:2byte -mesCharCnt = .sbss:0x801F117A; // type:object size:0x2 scope:local data:2byte -cancelCRF = .sbss:0x801F117C; // type:object size:0x4 scope:local data:4byte -fontWidthP = .sbss:0x801F1180; // type:object size:0x4 scope:local data:4byte -winAMemP = .sbss:0x801F1184; // type:object size:0x4 scope:local data:4byte -winInsertF = .sbss:0x801F1188; // type:object size:0x1 scope:local data:byte -winTabSize = .sbss:0x801F1189; // type:object size:0x1 scope:local data:byte -winMaxHeight = .sbss:0x801F118A; // type:object size:0x2 scope:local data:2byte -winMaxWidth = .sbss:0x801F118C; // type:object size:0x2 scope:local data:2byte -messDataNo = .sbss:0x801F1190; // type:object size:0x4 scope:local data:4byte -messDataPtr = .sbss:0x801F1194; // type:object size:0x4 data:4byte -winProc = .sbss:0x801F1198; // type:object size:0x4 scope:local data:4byte -cardAnimB = .sbss:0x801F119C; // type:object size:0x4 scope:local data:4byte -cardAnimA = .sbss:0x801F11A0; // type:object size:0x4 scope:local data:4byte -cursorAnim = .sbss:0x801F11A4; // type:object size:0x4 scope:local data:4byte -iconAnim = .sbss:0x801F11A8; // type:object size:0x8 scope:local data:4byte -UnMountCnt = .sbss:0x801F11B0; // type:object size:0x1 data:byte -cardWork = .sbss:0x801F11B4; // type:object size:0x4 scope:local data:4byte -arqIdx = .sbss:0x801F11B8; // type:object size:0x2 scope:local data:2byte -arqCnt = .sbss:0x801F11BC; // type:object size:0x4 scope:local data:4byte -ARBase = .sbss:0x801F11C0; // type:object size:0x8 scope:local data:4byte -effectAMemP = .sbss:0x801F11C8; // type:object size:0x4 scope:local data:4byte -skipAnimUpdate = .sbss:0x801F11CC; // type:object size:0x4 scope:local data:4byte -CollisionCount = .sbss:0x801F11D0; // type:object size:0x4 data:4byte -topvtx = .sbss:0x801F11D4; // type:object size:0x4 scope:local data:4byte -AttrHsf = .sbss:0x801F11D8; // type:object size:0x4 scope:local data:4byte -HitFaceCount = .sbss:0x801F11DC; // type:object size:0x4 data:4byte -nChar = .sbss:0x801F11E0; // type:object size:0x4 -nMap = .sbss:0x801F11E4; // type:object size:0x4 data:4byte -AddZ = .sbss:0x801F11E8; // type:object size:0x4 data:float -AddX = .sbss:0x801F11EC; // type:object size:0x4 data:float -Initialized = .sbss:0x801F11F0; // type:object size:0x4 scope:local data:4byte -OldAIDCallback = .sbss:0x801F11F4; // type:object size:0x4 scope:local data:4byte -AudioSystem = .sbss:0x801F11F8; // type:object size:0x4 scope:local data:4byte -bufIdx = .sbss:0x801F11FC; // type:object size:0x4 scope:local data:4byte -CurAudioBuffer = .sbss:0x801F1200; // type:object size:0x4 scope:local data:4byte -LastAudioBuffer = .sbss:0x801F1204; // type:object size:0x4 scope:local data:4byte -SoundBufferIndex = .sbss:0x801F1208; // type:object size:0x4 scope:local data:4byte -THPProc = .sbss:0x801F1210; // type:object size:0x4 data:4byte -THPStart = .sbss:0x801F1214; // type:object size:0x2 scope:local data:2byte -THPFrame = .sbss:0x801F1218; // type:object size:0x4 scope:local data:4byte -THPStat = .sbss:0x801F121C; // type:object size:0x2 scope:local data:2byte -THPLoopF = .sbss:0x801F121E; // type:object size:0x2 scope:local data:2byte -decodeThread = .sbss:0x801F1220; // type:object size:0x4 scope:local data:4byte -decodeStackP = .sbss:0x801F1224; // type:object size:0x4 scope:local data:4byte -decodeRate = .sbss:0x801F1228; // type:object size:0x4 scope:local data:4byte -audioTrack = .sbss:0x801F122C; // type:object size:0x8 scope:local data:4byte -mgBoardHostEnableF = .sbss:0x801F1238; // type:object size:0x4 -mgInstExitEnableF = .sbss:0x801F123C; // type:object size:0x4 -mgPracticeEnableF = .sbss:0x801F1240; // type:object size:0x4 data:4byte -mgQuitExtraF = .sbss:0x801F1244; // type:object size:0x4 data:4byte -mgRecordExtra = .sbss:0x801F1248; // type:object size:0x4 -lbl_801D3E94 = .sbss:0x801F124C; // type:object size:0x2 -mgBattleStarMax = .sbss:0x801F124E; // type:object size:0x2 -mgBattleStar = .sbss:0x801F1250; // type:object size:0x8 -mgTypeCurr = .sbss:0x801F1258; // type:object size:0x2 -curSlotNo = .sbss:0x801F1260; // type:object size:0x2 data:2byte -curBoxNo = .sbss:0x801F1262; // type:object size:0x1 data:byte -saveExecF = .sbss:0x801F1264; // type:object size:0x4 -SLSerialNo = .sbss:0x801F1268; // type:object size:0x8 data:4byte -H_ResetReady = .sbss:0x801F1270; // type:object size:0x4 scope:local data:4byte -SR_RestartChk = .sbss:0x801F1274; // type:object size:0x4 scope:local data:4byte -SR_ExecReset = .sbss:0x801F1278; // type:object size:0x4 data:4byte -trychkBusyWait = .sbss:0x801F127C; // type:object size:0x4 scope:local data:4byte -XfbProg = .sbss:0x801F1280; // type:object size:0x4 scope:local data:4byte -XfbH = .sbss:0x801F1284; // type:object size:0x2 scope:local data:2byte -XfbW = .sbss:0x801F1286; // type:object size:0x2 scope:local data:2byte -boardMainProc = .sbss:0x801F1288; // type:object size:0x4 data:4byte -boardObjMan = .sbss:0x801F128C; // type:object size:0x4 data:4byte -cameraObj = .sbss:0x801F1290; // type:object size:0x4 scope:local data:4byte -tauntObj = .sbss:0x801F1294; // type:object size:0x4 scope:local data:4byte -cameraUseBackup = .sbss:0x801F1298; // type:object size:0x4 scope:local data:4byte -createFunc = .sbss:0x801F129C; // type:object size:0x4 scope:local data:4byte -destroyFunc = .sbss:0x801F12A0; // type:object size:0x4 scope:local data:4byte -boardLightSetHook = .sbss:0x801F12A4; // type:object size:0x4 data:4byte -boardLightResetHook = .sbss:0x801F12A8; // type:object size:0x4 data:4byte -boardTurnFunc = .sbss:0x801F12AC; // type:object size:0x4 data:4byte -boardStarGiveHook = .sbss:0x801F12B0; // type:object size:0x4 data:4byte -boardStarShowNextHook = .sbss:0x801F12B4; // type:object size:0x4 data:4byte -boardBowserHook = .sbss:0x801F12B8; // type:object size:0x4 data:4byte -boardTurnStartFunc = .sbss:0x801F12BC; // type:object size:0x4 data:4byte -filterObj = .sbss:0x801F12C0; // type:object size:0x4 scope:local data:4byte -confettiObj = .sbss:0x801F12C4; // type:object size:0x4 scope:local data:4byte -last5GfxObj = .sbss:0x801F12C8; // type:object size:0x4 scope:local data:4byte -boardRandSeed = .sbss:0x801F12CC; // type:object size:0x4 data:4byte -boardMainObj = .sbss:0x801F12D0; // type:object size:0x8 data:4byte -megaDoubleDiceF = .sbss:0x801F12D8; // type:object size:0x4 scope:local data:4byte -bowserSuitObj = .sbss:0x801F12DC; // type:object size:0x4 scope:local data:4byte -junctionMask = .sbss:0x801F12E0; // type:object size:0x4 scope:local data:4byte -junctionObj = .sbss:0x801F12E4; // type:object size:0x4 scope:local data:4byte -rollObj = .sbss:0x801F12E8; // type:object size:0x4 scope:local data:4byte -moveAwayObj = .sbss:0x801F12EC; // type:object size:0x4 scope:local data:4byte -junctionArrowRot = .sbss:0x801F12F0; // type:object size:0x8 scope:local -moveAwayPlayer = .sbss:0x801F12F8; // type:object size:0x4 scope:local data:byte -itemPrev = .sbss:0x801F12FC; // type:object size:0x1 scope:local data:byte -playerMot = .sbss:0x801F12FE; // type:object size:0x8 scope:local -boardPlayerMdl = .sbss:0x801F1306; // type:object size:0x8 -modelDataList = .sbss:0x801F1310; // type:object size:0x4 scope:local data:4byte -modelMgrObj = .sbss:0x801F1314; // type:object size:0x4 scope:local data:4byte -modelDataNum = .sbss:0x801F1318; // type:object size:0x2 scope:local data:2byte -winProc = .sbss:0x801F1320; // type:object size:0x4 scope:local data:4byte -comKeyFunc = .sbss:0x801F1324; // type:object size:0x4 scope:local data:4byte -lbl_801D3F70 = .sbss:0x801F1328; // type:object size:0x8 scope:local data:float -winAttr = .sbss:0x801F1330; // type:object size:0x4 scope:local data:4byte -winMess = .sbss:0x801F1334; // type:object size:0x4 scope:local data:4byte -defaultChoice = .sbss:0x801F1338; // type:object size:0x2 scope:local data:2byte -messSpeed = .sbss:0x801F133A; // type:object size:0x2 scope:local data:2byte -winPrio = .sbss:0x801F133C; // type:object size:0x2 scope:local data:2byte -winWait = .sbss:0x801F133E; // type:object size:0x1 scope:local data:byte -winPause = .sbss:0x801F133F; // type:object size:0x1 scope:local data:byte -disablePlayer = .sbss:0x801F1340; // type:object size:0x1 scope:local data:byte -winPosIdx = .sbss:0x801F1341; // type:object size:0x1 scope:local data:byte -winPortrait = .sbss:0x801F1342; // type:object size:0x1 scope:local data:byte -autoPickF = .sbss:0x801F1343; // type:object size:0x1 scope:local data:byte -winChoice = .sbss:0x801F1344; // type:object size:0x1 scope:local data:byte -boardSeq = .sbss:0x801F1348; // type:object size:0x8 scope:local -viewProc = .sbss:0x801F1350; // type:object size:0x4 scope:local data:4byte -pauseDisableF = .sbss:0x801F1354; // type:object size:0x1 scope:local data:byte -overheadObj = .sbss:0x801F1358; // type:object size:0x4 scope:local data:4byte -focusTimer = .sbss:0x801F135C; // type:object size:0x2 scope:local data:2byte -focusDestroyF = .sbss:0x801F135E; // type:object size:0x1 scope:local data:byte -viewMoveF = .sbss:0x801F135F; // type:object size:0x1 scope:local data:byte -viewPlayer = .sbss:0x801F1360; // type:object size:0x1 scope:local data:byte -viewControls = .sbss:0x801F1361; // type:object size:0x1 scope:local data:byte -spaceDrawF = .sbss:0x801F1368; // type:object size:0x2 scope:local data:2byte -spaceDrawCnt = .sbss:0x801F136C; // type:object size:0x4 scope:local data:4byte -walkEventFunc = .sbss:0x801F1370; // type:object size:0x4 scope:local data:4byte -walkMiniEventFunc = .sbss:0x801F1374; // type:object size:0x4 scope:local data:4byte -landEventFunc = .sbss:0x801F1378; // type:object size:0x4 scope:local data:4byte -lbl_801D3FC4 = .sbss:0x801F137C; // type:object size:0x8 data:2byte -spaceHiliteTexFmt = .sbss:0x801F1384; // type:object size:0x4 scope:local data:4byte -spaceTexFmt = .sbss:0x801F1388; // type:object size:0x4 scope:local data:4byte -spaceHiliteTexData = .sbss:0x801F138C; // type:object size:0x4 scope:local data:4byte -spaceTexData = .sbss:0x801F1390; // type:object size:0x4 scope:local data:4byte -spaceAttr = .sbss:0x801F1394; // type:object size:0x8 scope:local data:4byte -spaceCnt = .sbss:0x801F139C; // type:object size:0x4 scope:local data:2byte -shopProc = .sbss:0x801F13A0; // type:object size:0x4 scope:local data:4byte -shopWinObj = .sbss:0x801F13A4; // type:object size:0x4 scope:local data:4byte -itemGiveObj = .sbss:0x801F13A8; // type:object size:0x4 scope:local data:4byte -itemChoiceObj = .sbss:0x801F13AC; // type:object size:0x4 scope:local data:4byte -comF = .sbss:0x801F13B0; // type:object size:0x4 scope:local data:4byte -angleVal = .sbss:0x801F13B4; // type:object size:0x2 scope:local data:2byte -shopPlayer = .sbss:0x801F13B6; // type:object size:0x1 scope:local data:byte -shopMdlPtr = .sbss:0x801F13B8; // type:object size:0x4 scope:local data:4byte -shopMdlIdx = .sbss:0x801F13BC; // type:object size:0x4 scope:local -lotteryProc = .sbss:0x801F13C0; // type:object size:0x4 scope:local data:4byte -comInputDrawP = .sbss:0x801F13C4; // type:object size:0x4 scope:local data:4byte -lotteryTicketPickObj = .sbss:0x801F13C8; // type:object size:0x4 scope:local data:4byte -handUpdateF = .sbss:0x801F13CC; // type:object size:0x4 scope:local data:4byte -comInputPos = .sbss:0x801F13D0; // type:object size:0x1 scope:local data:byte -comLotteryWinType = .sbss:0x801F13D1; // type:object size:0x1 scope:local data:byte -comLotteryType = .sbss:0x801F13D2; // type:object size:0x1 scope:local data:byte -lbl_801D401B = .sbss:0x801F13D3; // type:object size:0x1 scope:local data:byte -currPrize = .sbss:0x801F13D4; // type:object size:0x1 scope:local data:byte -lotterySpace = .sbss:0x801F13D6; // type:object size:0x2 scope:local data:2byte -lotteryMessBase = .sbss:0x801F13D8; // type:object size:0x4 scope:local data:4byte -warpProcess = .sbss:0x801F13E0; // type:object size:0x4 scope:local data:4byte -warpYVel = .sbss:0x801F13E4; // type:object size:0x4 scope:local data:float -warpYFloor = .sbss:0x801F13E8; // type:object size:0x4 scope:local data:float -warpSpace = .sbss:0x801F13EC; // type:object size:0x2 scope:local data:2byte -warpImpactCnt = .sbss:0x801F13EE; // type:object size:0x1 scope:local data:byte -warpTarget = .sbss:0x801F13EF; // type:object size:0x1 scope:local data:byte -warpState = .sbss:0x801F13F0; // type:object size:0x1 scope:local data:byte -charWheelObj = .sbss:0x801F13F8; // type:object size:0x4 scope:local data:4byte -targetF = .sbss:0x801F13FC; // type:object size:0x2 scope:local data:2byte -angleOfs = .sbss:0x801F1400; // type:object size:0x4 scope:local data:float -targetVal = .sbss:0x801F1404; // type:object size:0x2 scope:local data:2byte -wheelSpeed = .sbss:0x801F1408; // type:object size:0x4 scope:local data:float -wheelTimer = .sbss:0x801F140C; // type:object size:0x2 scope:local data:2byte -comDelay = .sbss:0x801F140E; // type:object size:0x2 scope:local data:2byte -wheelChars = .sbss:0x801F1410; // type:object size:0x4 scope:local data:byte -mushroomProc = .sbss:0x801F1418; // type:object size:0x4 scope:local data:4byte -itemGiveObj = .sbss:0x801F141C; // type:object size:0x4 scope:local data:4byte -pickerChoice = .sbss:0x801F1420; // type:object size:0x1 scope:local data:byte -itemResult = .sbss:0x801F1421; // type:object size:0x1 scope:local data:byte -starProc = .sbss:0x801F1428; // type:object size:0x4 scope:local data:4byte -giveStarObj = .sbss:0x801F142C; // type:object size:0x4 scope:local data:4byte -starEffAnim = .sbss:0x801F1430; // type:object size:0x4 scope:local data:4byte -starDoneF = .sbss:0x801F1434; // type:object size:0x2 scope:local data:2byte -showNextObj = .sbss:0x801F1438; // type:object size:0x4 scope:local data:4byte -hostMot = .sbss:0x801F143C; // type:object size:0x4 scope:local data:2byte -rollProc = .sbss:0x801F1440; // type:object size:0x4 scope:local data:4byte -tutorialRollF = .sbss:0x801F1444; // type:object size:0x1 scope:local data:byte -sameRollCoinStr = .sbss:0x801F1445; // type:object size:0x8 scope:local -lbl_801D4098 = .sbss:0x801F1450; // type:object size:0x4 data:4byte -diceSize = .sbss:0x801F1454; // type:object size:0x1 scope:local data:byte -destMode = .sbss:0x801F1455; // type:object size:0x1 scope:local data:byte -maxRoll = .sbss:0x801F1456; // type:object size:0x1 scope:local data:byte -inputTimer = .sbss:0x801F1457; // type:object size:0x1 scope:local data:byte -numDice = .sbss:0x801F1458; // type:object size:0x1 scope:local data:byte -rollPlayer = .sbss:0x801F1459; // type:object size:0x1 scope:local data:byte -diceValue = .sbss:0x801F145A; // type:object size:0x3 scope:local data:byte -statusProc = .sbss:0x801F1460; // type:object size:0x4 scope:local data:4byte -itemWindowObj = .sbss:0x801F1464; // type:object size:0x4 scope:local data:4byte -pickerObj = .sbss:0x801F1468; // type:object size:0x4 scope:local data:4byte -yourTurnObj = .sbss:0x801F146C; // type:object size:0x4 scope:local data:4byte -itemUseProc = .sbss:0x801F1470; // type:object size:0x4 scope:local data:4byte -itemPickObj = .sbss:0x801F1474; // type:object size:0x4 scope:local data:4byte -itemPickupPos = .sbss:0x801F1478; // type:object size:0x4 scope:local data:float -itemRandTbl = .sbss:0x801F147C; // type:object size:0x6 scope:local -teamItemPlayer = .sbss:0x801F1482; // type:object size:0x1 scope:local data:byte -itemUsed = .sbss:0x801F1483; // type:object size:0x1 scope:local data:byte -itemPlayer = .sbss:0x801F1484; // type:object size:0x1 scope:local data:byte -yourTurnSpr = .sbss:0x801F1486; // type:object size:0x2 scope:local data:2byte -lbl_801D40D0 = .sbss:0x801F1488; // type:object size:0x4 data:2byte -pickerBackF = .sbss:0x801F148C; // type:object size:0x4 scope:local data:4byte -pickerChoiceDefault = .sbss:0x801F1490; // type:object size:0x1 scope:local data:byte -pickerChoice = .sbss:0x801F1491; // type:object size:0x1 scope:local data:byte -boardItemUser = .sbss:0x801F1492; // type:object size:0x1 data:byte -itemTeamF = .sbss:0x801F1493; // type:object size:0x1 scope:local data:byte -itemTeam = .sbss:0x801F1494; // type:object size:0x1 scope:local data:byte -blockProc = .sbss:0x801F1498; // type:object size:0x4 scope:local data:4byte -blockObj = .sbss:0x801F149C; // type:object size:0x4 scope:local data:4byte -rotY = .sbss:0x801F14A0; // type:object size:0x4 scope:local data:float -scaleAngle = .sbss:0x801F14A4; // type:object size:0x4 scope:local data:float -rotMax = .sbss:0x801F14A8; // type:object size:0x4 scope:local data:float -itemProc = .sbss:0x801F14B0; // type:object size:0x4 scope:local data:4byte -geniePlayerMot = .sbss:0x801F14B4; // type:object size:0x6 scope:local data:2byte -genieParticleAnim = .sbss:0x801F14BC; // type:object size:0x4 scope:local data:4byte -genieFov = .sbss:0x801F14C0; // type:object size:0x4 scope:local data:float -booCoinStr = .sbss:0x801F14C4; // type:object size:0x8 scope:local -booBallAlpha = .sbss:0x801F14CC; // type:object size:0x4 scope:local data:float -booBallMdl = .sbss:0x801F14D0; // type:object size:0x2 scope:local data:2byte -suitCommonMot = .sbss:0x801F14D4; // type:object size:0x8 scope:local data:4byte -suitMot = .sbss:0x801F14DC; // type:object size:0x8 scope:local data:4byte -suitMdl = .sbss:0x801F14E4; // type:object size:0x2 scope:local data:2byte -currItem = .sbss:0x801F14E6; // type:object size:0x1 scope:local data:byte -currItemRestore = .sbss:0x801F14E7; // type:object size:0x1 scope:local data:byte -itemBagItems = .sbss:0x801F14E8; // type:object size:0x6 scope:local -bowserProc = .sbss:0x801F14F0; // type:object size:0x4 scope:local data:4byte -bowserObj = .sbss:0x801F14F4; // type:object size:0x4 scope:local data:4byte -miniBowserObj = .sbss:0x801F14F8; // type:object size:0x4 scope:local data:4byte -bowserEventObj = .sbss:0x801F14FC; // type:object size:0x4 scope:local data:4byte -miniBowserBalloonObj = .sbss:0x801F1500; // type:object size:0x4 scope:local data:4byte -suitGiveObj = .sbss:0x801F1504; // type:object size:0x4 scope:local data:4byte -coinStealStr = .sbss:0x801F1508; // type:object size:0x8 scope:local -coinStealStrAll = .sbss:0x801F1510; // type:object size:0x8 scope:local -fireAnim = .sbss:0x801F1518; // type:object size:0x4 scope:local data:4byte -fireParMan = .sbss:0x801F151C; // type:object size:0x2 scope:local data:2byte -playerMot = .sbss:0x801F151E; // type:object size:0x8 scope:local data:2byte -eventSpace = .sbss:0x801F1526; // type:object size:0x2 scope:local data:2byte -eventType = .sbss:0x801F1528; // type:object size:0x1 scope:local data:byte -eventPlayer = .sbss:0x801F1529; // type:object size:0x1 scope:local data:byte -battleProc = .sbss:0x801F1530; // type:object size:0x4 scope:local data:4byte -battleObj = .sbss:0x801F1534; // type:object size:0x4 scope:local data:4byte -explodeObj = .sbss:0x801F1538; // type:object size:0x4 scope:local data:4byte -battleCoinPosF = .sbss:0x801F153C; // type:object size:0x4 scope:local data:float -battleCoinSpeed = .sbss:0x801F1540; // type:object size:0x4 scope:local data:float -totalCoinStr = .sbss:0x801F1544; // type:object size:0x8 scope:local -battleMGIdx = .sbss:0x801F154C; // type:object size:0x2 scope:local data:byte -battleCoinIdx = .sbss:0x801F154E; // type:object size:0x1 scope:local data:byte -currSpace = .sbss:0x801F1550; // type:object size:0x2 scope:local data:2byte -mgChoice = .sbss:0x801F1552; // type:object size:0x1 scope:local data:byte -coinTakeMax = .sbss:0x801F1553; // type:object size:0x1 scope:local data:byte -currPlayer = .sbss:0x801F1554; // type:object size:0x1 scope:local data:byte -fortuneProc = .sbss:0x801F1558; // type:object size:0x4 scope:local data:4byte -fortunePlatformObj = .sbss:0x801F155C; // type:object size:0x4 scope:local data:4byte -comStar = .sbss:0x801F1560; // type:object size:0x1 scope:local data:byte -comCoin = .sbss:0x801F1561; // type:object size:0x1 scope:local data:byte -comPrize = .sbss:0x801F1562; // type:object size:0x1 scope:local data:byte -comPlayer1 = .sbss:0x801F1563; // type:object size:0x1 scope:local data:byte -comPlayer2 = .sbss:0x801F1564; // type:object size:0x1 scope:local data:byte -currPlayer = .sbss:0x801F1565; // type:object size:0x1 scope:local data:byte -booEventObj = .sbss:0x801F1568; // type:object size:0x4 scope:local data:4byte -ballObj = .sbss:0x801F156C; // type:object size:0x4 scope:local data:4byte -ballCameraObj = .sbss:0x801F1570; // type:object size:0x4 scope:local data:4byte -ballBooObj = .sbss:0x801F1574; // type:object size:0x4 scope:local data:4byte -ballPlayerObj = .sbss:0x801F1578; // type:object size:0x4 scope:local data:4byte -ballTakeCoinObj = .sbss:0x801F157C; // type:object size:0x4 scope:local data:4byte -attackTimer = .sbss:0x801F1580; // type:object size:0x4 scope:local data:4byte -battleTimer = .sbss:0x801F1584; // type:object size:0x4 scope:local data:4byte -starChoiceEnable = .sbss:0x801F1588; // type:object size:0x3 scope:local -stealAvail = .sbss:0x801F158B; // type:object size:0x3 scope:local -punchCount = .sbss:0x801F158E; // type:object size:0x1 scope:local data:byte -stealSuccess = .sbss:0x801F158F; // type:object size:0x1 scope:local data:byte -stealValue = .sbss:0x801F1590; // type:object size:0x1 scope:local data:byte -booKillF = .sbss:0x801F1594; // type:object size:0x4 scope:local data:4byte -stealType = .sbss:0x801F1598; // type:object size:0x1 scope:local data:byte -stealTarget = .sbss:0x801F1599; // type:object size:0x1 scope:local data:byte -lbl_801D41E2 = .sbss:0x801F159A; // type:object size:0x1 data:byte -mgSetupProc = .sbss:0x801F15A0; // type:object size:0x4 scope:local data:4byte -mgSetupObj = .sbss:0x801F15A4; // type:object size:0x4 scope:local data:4byte -hiliteShowF = .sbss:0x801F15A8; // type:object size:0x1 scope:local data:byte -hiliteBlinkLen = .sbss:0x801F15A9; // type:object size:0x1 scope:local data:byte -hiliteTimer = .sbss:0x801F15AA; // type:object size:0x1 scope:local data:byte -mgPlayBattle = .sbss:0x801F15AC; // type:object size:0x4 scope:local -mgPlay2Vs2 = .sbss:0x801F15B0; // type:object size:0x6 scope:local -mgPlay1Vs3 = .sbss:0x801F15B6; // type:object size:0x6 scope:local -mgPlayBattleLen = .sbss:0x801F15BC; // type:object size:0x1 scope:local data:byte -mgPlay2Vs2Len = .sbss:0x801F15BD; // type:object size:0x1 scope:local data:byte -mgPlay1Vs3Len = .sbss:0x801F15BE; // type:object size:0x1 scope:local data:byte -mgPlay4PLen = .sbss:0x801F15BF; // type:object size:0x1 scope:local data:byte -mgNext = .sbss:0x801F15C0; // type:object size:0x2 scope:local data:2byte -hilitePos = .sbss:0x801F15C4; // type:object size:0x4 scope:local data:float -luckyF = .sbss:0x801F15C8; // type:object size:0x4 scope:local data:4byte -mgType = .sbss:0x801F15CC; // type:object size:0x1 scope:local data:byte -houseProc = .sbss:0x801F15D0; // type:object size:0x4 scope:local data:4byte -stealAmountStr = .sbss:0x801F15D4; // type:object size:0x8 scope:local -comCoinStealTarget = .sbss:0x801F15DC; // type:object size:0x4 scope:local data:4byte -comStarStealTarget = .sbss:0x801F15E0; // type:object size:0x1 scope:local data:byte -stealTarget = .sbss:0x801F15E1; // type:object size:0x1 scope:local data:byte -currPlayer = .sbss:0x801F15E2; // type:object size:0x1 scope:local data:byte -startProc = .sbss:0x801F15E8; // type:object size:0x4 scope:local data:4byte -playerOrderOld = .sbss:0x801F15EC; // type:object size:0x4 scope:local -playerOrderNew = .sbss:0x801F15F0; // type:object size:0x4 scope:local -startSpace = .sbss:0x801F15F4; // type:object size:0x2 scope:local data:2byte -hostMdl = .sbss:0x801F15F6; // type:object size:0x2 scope:local data:2byte -lotteryDrawWheelObj = .sbss:0x801F15F8; // type:object size:0x4 scope:local data:4byte -lotteryDrawObj = .sbss:0x801F15FC; // type:object size:0x4 scope:local data:4byte -hostMoveObj = .sbss:0x801F1600; // type:object size:0x4 scope:local data:4byte -teamResultObj = .sbss:0x801F1604; // type:object size:0x4 scope:local data:4byte -last5Proc = .sbss:0x801F1608; // type:object size:0x4 scope:local data:4byte -last5RouletteObj = .sbss:0x801F160C; // type:object size:0x4 scope:local data:4byte -hostMdl = .sbss:0x801F1610; // type:object size:0x2 scope:local data:2byte -last5Space = .sbss:0x801F1612; // type:object size:0x2 scope:local data:2byte -last5Player = .sbss:0x801F1614; // type:object size:0x1 scope:local data:byte -numTickets = .sbss:0x801F1615; // type:object size:0x1 scope:local data:byte -currTicket = .sbss:0x801F1616; // type:object size:0x1 scope:local data:byte -mainProcess = .sbss:0x801F1618; // type:object size:0x4 scope:local data:4byte -quitProcess = .sbss:0x801F161C; // type:object size:0x4 scope:local data:4byte -configObj = .sbss:0x801F1620; // type:object size:0x4 scope:local data:4byte -boxState = .sbss:0x801F1624; // type:object size:0x8 scope:local -cursorPos = .sbss:0x801F162C; // type:object size:0x1 scope:local data:byte -hostMdl = .sbss:0x801F162E; // type:object size:0x2 scope:local data:2byte -hostOldLayer = .sbss:0x801F1630; // type:object size:0x1 scope:local data:byte -mainScreenF = .sbss:0x801F1631; // type:object size:0x1 scope:local data:byte -pauseQuitF = .sbss:0x801F1632; // type:object size:0x1 scope:local data:byte -childNodeCnt = .sbss:0x801F1638; // type:object size:0x2 scope:local data:2byte -numCandidates = .sbss:0x801F163A; // type:object size:0x2 scope:local data:2byte -gameStatCopy = .sbss:0x801F1640; // type:object size:0x4 scope:local data:4byte -systemCopy = .sbss:0x801F1644; // type:object size:0x4 scope:local data:4byte -playerCopy = .sbss:0x801F1648; // type:object size:0x4 scope:local data:4byte -playerCfgCopy = .sbss:0x801F164C; // type:object size:0x4 scope:local data:4byte -tutorialProcess = .sbss:0x801F1650; // type:object size:0x4 scope:local data:4byte -boardTutorialF = .sbss:0x801F1654; // type:object size:0x1 data:byte -hostMdl = .sbss:0x801F1656; // type:object size:0x2 scope:local data:2byte -boardTutorialUseItem = .sbss:0x801F1658; // type:object size:0x1 data:byte -boardTutorialBlockF = .sbss:0x801F1659; // type:object size:0x1 data:byte -boardTutorialBlockItem = .sbss:0x801F165A; // type:object size:0x1 data:byte -boardTutorialBlockPos = .sbss:0x801F165C; // type:object size:0x4 data:4byte -boardTutorialDirInputTime = .sbss:0x801F1660; // type:object size:0x2 data:2byte -boardTutorialDirInputY = .sbss:0x801F1662; // type:object size:0x1 data:byte -boardTutorialDirInputX = .sbss:0x801F1663; // type:object size:0x1 data:byte -tutorialHook = .sbss:0x801F1664; // type:object size:0x4 scope:local data:4byte -BootInfo = .sbss:0x801F1668; // type:object size:0x4 scope:local data:4byte -BI2DebugFlag = .sbss:0x801F166C; // type:object size:0x4 scope:local data:4byte -BI2DebugFlagHolder = .sbss:0x801F1670; // type:object size:0x4 scope:local data:4byte -__OSIsGcam = .sbss:0x801F1674; // type:object size:0x4 scope:global data:4byte -AreWeInitialized = .sbss:0x801F1678; // type:object size:0x4 scope:local data:4byte -OSExceptionTable = .sbss:0x801F167C; // type:object size:0x4 scope:local data:4byte -__OSSavedRegionEnd = .sbss:0x801F1680; // type:object size:0x4 scope:global data:4byte -__OSSavedRegionStart = .sbss:0x801F1684; // type:object size:0x4 scope:global data:4byte -__OSInIPL = .sbss:0x801F1688; // type:object size:0x4 scope:global data:4byte -__OSStartTime = .sbss:0x801F1690; // type:object size:0x8 scope:global data:4byte -AlarmQueue = .sbss:0x801F1698; // type:object size:0x8 scope:local data:4byte -lbl_801F16A0 = .sbss:0x801F16A0; // type:object size:0x4 data:4byte -lbl_801F16A4 = .sbss:0x801F16A4; // type:object size:0x4 data:4byte -lbl_801F16A8 = .sbss:0x801F16A8; // type:object size:0x4 data:4byte -lbl_801F16AC = .sbss:0x801F16AC; // type:object size:0x4 data:4byte -__OSArenaHi = .sbss:0x801F16B0; // type:object size:0x4 scope:local data:4byte -InterruptHandlerTable = .sbss:0x801F16B8; // type:object size:0x4 scope:local data:4byte -__OSLastInterruptSrr0 = .sbss:0x801F16BC; // type:object size:0x4 scope:global data:4byte -__OSLastInterrupt = .sbss:0x801F16C0; // type:object size:0x2 scope:global data:2byte -__OSLastInterruptTime = .sbss:0x801F16C8; // type:object size:0x8 scope:global data:4byte -lbl_801F16D0 = .sbss:0x801F16D0; // type:object size:0x4 data:4byte -lbl_801F16D4 = .sbss:0x801F16D4; // type:object size:0x4 data:4byte -lbl_801F16D8 = .sbss:0x801F16D8; // type:object size:0x8 data:4byte -ResetFunctionQueue = .sbss:0x801F16E0; // type:object size:0x8 scope:local data:4byte -lbl_801F16E8 = .sbss:0x801F16E8; // type:object size:0x4 data:4byte -lbl_801F16EC = .sbss:0x801F16EC; // type:object size:0x4 data:4byte -lbl_801F16F0 = .sbss:0x801F16F0; // type:object size:0x8 data:4byte -lbl_801F16F8 = .sbss:0x801F16F8; // type:object size:0x4 data:4byte -lbl_801F16FC = .sbss:0x801F16FC; // type:object size:0x4 data:4byte -lbl_801F1700 = .sbss:0x801F1700; // type:object size:0x4 data:4byte -lbl_801F1704 = .sbss:0x801F1704; // type:object size:0x4 data:4byte -RunQueueBits = .sbss:0x801F1708; // type:object size:0x4 scope:local data:4byte -RunQueueHint = .sbss:0x801F170C; // type:object size:0x4 scope:local data:4byte -Reschedule = .sbss:0x801F1710; // type:object size:0x4 scope:local data:4byte -__DBInterface = .sbss:0x801F1718; // type:object size:0x4 scope:global data:4byte -DBVerbose = .sbss:0x801F171C; // type:object size:0x4 scope:global data:4byte -StopAtNextInt = .sbss:0x801F1720; // type:object size:0x4 scope:local data:4byte -lbl_801F1724 = .sbss:0x801F1724; // type:object size:0x4 data:4byte -Callback = .sbss:0x801F1728; // type:object size:0x4 scope:local data:4byte -lbl_801F172C = .sbss:0x801F172C; // type:object size:0x4 data:4byte -LastResetEnd = .sbss:0x801F1730; // type:object size:0x8 scope:local data:4byte -ResetOccurred = .sbss:0x801F1738; // type:object size:0x4 scope:local data:4byte -WaitingCoverClose = .sbss:0x801F173C; // type:object size:0x4 scope:local data:4byte -lbl_801F1740 = .sbss:0x801F1740; // type:object size:0x4 data:4byte -WorkAroundType = .sbss:0x801F1744; // type:object size:0x4 scope:local data:4byte -WorkAroundSeekLocation = .sbss:0x801F1748; // type:object size:0x4 scope:local data:4byte -lbl_801F1750 = .sbss:0x801F1750; // type:object size:0x4 data:4byte -lbl_801F1754 = .sbss:0x801F1754; // type:object size:0x4 data:4byte -lbl_801F1758 = .sbss:0x801F1758; // type:object size:0x4 data:4byte -lbl_801F175C = .sbss:0x801F175C; // type:object size:0x4 data:4byte -lbl_801F1760 = .sbss:0x801F1760; // type:object size:0x4 data:4byte -NextCommandNumber = .sbss:0x801F1764; // type:object size:0x4 scope:local data:4byte -BootInfo = .sbss:0x801F1768; // type:object size:0x4 scope:local data:4byte -FstStart = .sbss:0x801F176C; // type:object size:0x4 scope:local data:4byte -FstStringStart = .sbss:0x801F1770; // type:object size:0x4 scope:local data:4byte -MaxEntryNum = .sbss:0x801F1774; // type:object size:0x4 scope:local data:4byte -lbl_801F1778 = .sbss:0x801F1778; // type:object size:0x4 data:4byte -__DVDLongFileNameFlag = .sbss:0x801F177C; // type:object size:0x4 scope:global data:4byte -__DVDThreadQueue = .sbss:0x801F1780; // type:object size:0x8 scope:global -executing = .sbss:0x801F1788; // type:object size:0x4 scope:local data:4byte -currID = .sbss:0x801F178C; // type:object size:0x4 scope:local data:4byte -bootInfo = .sbss:0x801F1790; // type:object size:0x4 scope:local data:4byte -PauseFlag = .sbss:0x801F1794; // type:object size:0x4 scope:local data:4byte -PausingFlag = .sbss:0x801F1798; // type:object size:0x4 scope:local data:4byte -lbl_801F179C = .sbss:0x801F179C; // type:object size:0x4 data:4byte -FatalErrorFlag = .sbss:0x801F17A0; // type:object size:0x4 scope:local data:4byte -CurrCommand = .sbss:0x801F17A4; // type:object size:0x4 scope:local data:4byte -lbl_801F17A8 = .sbss:0x801F17A8; // type:object size:0x4 data:4byte -lbl_801F17AC = .sbss:0x801F17AC; // type:object size:0x4 data:4byte -ResumeFromHere = .sbss:0x801F17B0; // type:object size:0x4 scope:local data:4byte -CancelLastError = .sbss:0x801F17B4; // type:object size:0x4 scope:local data:4byte -lbl_801F17B8 = .sbss:0x801F17B8; // type:object size:0x4 data:4byte -lbl_801F17BC = .sbss:0x801F17BC; // type:object size:0x4 data:4byte -ResetRequired = .sbss:0x801F17C0; // type:object size:0x4 scope:local data:4byte -FirstTimeInBootrom = .sbss:0x801F17C4; // type:object size:0x4 scope:local data:4byte -DVDInitialized = .sbss:0x801F17C8; // type:object size:0x4 scope:local data:4byte -lbl_801F17CC = .sbss:0x801F17CC; // type:object size:0x4 data:4byte -lbl_801F17D0 = .sbss:0x801F17D0; // type:object size:0x4 data:4byte -bb2 = .sbss:0x801F17D4; // type:object size:0x4 scope:local data:4byte -idTmp = .sbss:0x801F17D8; // type:object size:0x4 scope:local data:4byte -lbl_801F17E0 = .sbss:0x801F17E0; // type:object size:0x4 data:4byte -lbl_801F17E4 = .sbss:0x801F17E4; // type:object size:0x4 data:4byte -lbl_801F17E8 = .sbss:0x801F17E8; // type:object size:0x8 -lbl_801F17F0 = .sbss:0x801F17F0; // type:object size:0x4 data:4byte -lbl_801F17F4 = .sbss:0x801F17F4; // type:object size:0x4 data:4byte -lbl_801F17F8 = .sbss:0x801F17F8; // type:object size:0x4 data:4byte -lbl_801F17FC = .sbss:0x801F17FC; // type:object size:0x2 data:2byte -lbl_801F17FE = .sbss:0x801F17FE; // type:object size:0x2 data:2byte -lbl_801F1800 = .sbss:0x801F1800; // type:object size:0x8 data:4byte -lbl_801F1808 = .sbss:0x801F1808; // type:object size:0x4 data:4byte -lbl_801F180C = .sbss:0x801F180C; // type:object size:0x4 data:4byte -lbl_801F1810 = .sbss:0x801F1810; // type:object size:0x8 data:4byte -lbl_801F1818 = .sbss:0x801F1818; // type:object size:0x4 data:4byte -lbl_801F181C = .sbss:0x801F181C; // type:object size:0x4 data:4byte -lbl_801F1820 = .sbss:0x801F1820; // type:object size:0x4 data:4byte -CurrTvMode = .sbss:0x801F1824; // type:object size:0x4 scope:local data:4byte -lbl_801F1828 = .sbss:0x801F1828; // type:object size:0x4 data:4byte -lbl_801F182C = .sbss:0x801F182C; // type:object size:0x4 data:4byte -lbl_801F1830 = .sbss:0x801F1830; // type:object size:0x8 data:4byte -lbl_801F1838 = .sbss:0x801F1838; // type:object size:0x8 data:4byte -lbl_801F1840 = .sbss:0x801F1840; // type:object size:0x4 data:4byte -lbl_801F1844 = .sbss:0x801F1844; // type:object size:0x4 data:4byte -lbl_801F1848 = .sbss:0x801F1848; // type:object size:0x4 data:4byte -lbl_801F184C = .sbss:0x801F184C; // type:object size:0x4 data:4byte -lbl_801F1850 = .sbss:0x801F1850; // type:object size:0x4 data:4byte -lbl_801F1854 = .sbss:0x801F1854; // type:object size:0x4 data:4byte -lbl_801F1858 = .sbss:0x801F1858; // type:object size:0x4 data:4byte -lbl_801F185C = .sbss:0x801F185C; // type:object size:0x4 data:4byte -lbl_801F1860 = .sbss:0x801F1860; // type:object size:0x4 data:4byte -lbl_801F1864 = .sbss:0x801F1864; // type:object size:0x4 data:4byte -lbl_801F1868 = .sbss:0x801F1868; // type:object size:0x4 data:4byte -lbl_801F186C = .sbss:0x801F186C; // type:object size:0x4 data:4byte -lbl_801F1870 = .sbss:0x801F1870; // type:object size:0x4 data:4byte -lbl_801F1874 = .sbss:0x801F1874; // type:object size:0x4 data:4byte -lbl_801F1878 = .sbss:0x801F1878; // type:object size:0x4 data:4byte -lbl_801F187C = .sbss:0x801F187C; // type:object size:0x4 data:4byte -lbl_801F1880 = .sbss:0x801F1880; // type:object size:0x4 data:4byte -lbl_801F1884 = .sbss:0x801F1884; // type:object size:0x4 data:4byte -lbl_801F1888 = .sbss:0x801F1888; // type:object size:0x4 data:4byte -lbl_801F188C = .sbss:0x801F188C; // type:object size:0x4 data:4byte -lbl_801F1890 = .sbss:0x801F1890; // type:object size:0x4 data:4byte -lbl_801F1894 = .sbss:0x801F1894; // type:object size:0x4 data:4byte -lbl_801F1898 = .sbss:0x801F1898; // type:object size:0x4 data:4byte -lbl_801F189C = .sbss:0x801F189C; // type:object size:0x4 data:4byte -lbl_801F18A0 = .sbss:0x801F18A0; // type:object size:0x4 data:4byte -lbl_801F18A4 = .sbss:0x801F18A4; // type:object size:0x4 data:4byte -lbl_801F18A8 = .sbss:0x801F18A8; // type:object size:0x4 data:4byte -lbl_801F18AC = .sbss:0x801F18AC; // type:object size:0x4 data:4byte -lbl_801F18B0 = .sbss:0x801F18B0; // type:object size:0x4 data:4byte -lbl_801F18B4 = .sbss:0x801F18B4; // type:object size:0x4 data:4byte -lbl_801F18B8 = .sbss:0x801F18B8; // type:object size:0x4 data:4byte -lbl_801F18BC = .sbss:0x801F18BC; // type:object size:0x4 data:4byte -lbl_801F18C0 = .sbss:0x801F18C0; // type:object size:0x4 data:4byte -__PADSpec = .sbss:0x801F18C4; // type:object size:0x4 scope:global data:4byte -lbl_801F18C8 = .sbss:0x801F18C8; // type:object size:0x4 data:4byte -lbl_801F18CC = .sbss:0x801F18CC; // type:object size:0x4 data:4byte -lbl_801F18D0 = .sbss:0x801F18D0; // type:object size:0x4 data:4byte -lbl_801F18D4 = .sbss:0x801F18D4; // type:object size:0x4 data:4byte -lbl_801F18D8 = .sbss:0x801F18D8; // type:object size:0x8 data:4byte -lbl_801F18E0 = .sbss:0x801F18E0; // type:object size:0x4 data:4byte -lbl_801F18E4 = .sbss:0x801F18E4; // type:object size:0x4 data:4byte -lbl_801F18E8 = .sbss:0x801F18E8; // type:object size:0x4 data:4byte -lbl_801F18EC = .sbss:0x801F18EC; // type:object size:0x4 data:4byte -lbl_801F18F0 = .sbss:0x801F18F0; // type:object size:0x4 data:4byte -lbl_801F18F4 = .sbss:0x801F18F4; // type:object size:0x4 data:4byte -lbl_801F18F8 = .sbss:0x801F18F8; // type:object size:0x4 data:4byte -lbl_801F18FC = .sbss:0x801F18FC; // type:object size:0x4 data:4byte -lbl_801F1900 = .sbss:0x801F1900; // type:object size:0x4 data:4byte -lbl_801F1904 = .sbss:0x801F1904; // type:object size:0x4 data:4byte -lbl_801F1908 = .sbss:0x801F1908; // type:object size:0x4 data:4byte -lbl_801F190C = .sbss:0x801F190C; // type:object size:0x4 data:4byte -lbl_801F1910 = .sbss:0x801F1910; // type:object size:0x4 data:4byte -lbl_801F1914 = .sbss:0x801F1914; // type:object size:0x4 data:4byte -lbl_801F1918 = .sbss:0x801F1918; // type:object size:0x4 data:4byte -lbl_801F191C = .sbss:0x801F191C; // type:object size:0x4 data:4byte -lbl_801F1920 = .sbss:0x801F1920; // type:object size:0x4 data:4byte -lbl_801F1924 = .sbss:0x801F1924; // type:object size:0x4 data:4byte -lbl_801F1928 = .sbss:0x801F1928; // type:object size:0x4 data:4byte -lbl_801F192C = .sbss:0x801F192C; // type:object size:0x4 data:4byte -lbl_801F1930 = .sbss:0x801F1930; // type:object size:0x4 data:4byte -lbl_801F1934 = .sbss:0x801F1934; // type:object size:0x4 data:4byte -lbl_801F1938 = .sbss:0x801F1938; // type:object size:0x4 data:4byte -lbl_801F193C = .sbss:0x801F193C; // type:object size:0x4 data:4byte -lbl_801F1940 = .sbss:0x801F1940; // type:object size:0x4 data:4byte -lbl_801F1944 = .sbss:0x801F1944; // type:object size:0x4 data:4byte -lbl_801F1948 = .sbss:0x801F1948; // type:object size:0x4 data:4byte -lbl_801F194C = .sbss:0x801F194C; // type:object size:0x4 data:4byte -lbl_801F1950 = .sbss:0x801F1950; // type:object size:0x8 data:4byte -lbl_801F1958 = .sbss:0x801F1958; // type:object size:0x4 data:4byte -lbl_801F195C = .sbss:0x801F195C; // type:object size:0x4 data:4byte -lbl_801F1960 = .sbss:0x801F1960; // type:object size:0x4 data:4byte -lbl_801F1964 = .sbss:0x801F1964; // type:object size:0x4 data:4byte -lbl_801F1968 = .sbss:0x801F1968; // type:object size:0x4 data:4byte -lbl_801F196C = .sbss:0x801F196C; // type:object size:0x4 data:4byte -__piReg = .sbss:0x801F1970; // type:object size:0x4 scope:global data:4byte -__cpReg = .sbss:0x801F1974; // type:object size:0x4 scope:global data:4byte -__peReg = .sbss:0x801F1978; // type:object size:0x4 scope:global data:4byte -__memReg = .sbss:0x801F197C; // type:object size:0x4 scope:global data:4byte -lbl_801F1980 = .sbss:0x801F1980; // type:object size:0x4 data:4byte -lbl_801F1984 = .sbss:0x801F1984; // type:object size:0x4 data:4byte -lbl_801F1988 = .sbss:0x801F1988; // type:object size:0x4 data:4byte -lbl_801F198C = .sbss:0x801F198C; // type:object size:0x1 data:byte -lbl_801F1990 = .sbss:0x801F1990; // type:object size:0x4 data:4byte -lbl_801F1994 = .sbss:0x801F1994; // type:object size:0x4 data:4byte -lbl_801F1998 = .sbss:0x801F1998; // type:object size:0x8 data:4byte -lbl_801F19A0 = .sbss:0x801F19A0; // type:object size:0x4 data:4byte -lbl_801F19A4 = .sbss:0x801F19A4; // type:object size:0x4 data:4byte -lbl_801F19A8 = .sbss:0x801F19A8; // type:object size:0x1 data:byte -lbl_801F19AC = .sbss:0x801F19AC; // type:object size:0xC -lbl_801F19B8 = .sbss:0x801F19B8; // type:object size:0x8 data:4byte -lbl_801F19C0 = .sbss:0x801F19C0; // type:object size:0x4 data:4byte -lbl_801F19C4 = .sbss:0x801F19C4; // type:object size:0x4 data:4byte -lbl_801F19C8 = .sbss:0x801F19C8; // type:object size:0x4 data:4byte -lbl_801F19CC = .sbss:0x801F19CC; // type:object size:0x4 data:4byte -lbl_801F19D0 = .sbss:0x801F19D0; // type:object size:0x4 -cmdTypeAndStatus$371 = .sbss:0x801F19D4; // type:object size:0x4 scope:local -lbl_801F19D8 = .sbss:0x801F19D8; // type:object size:0x8 data:4byte -SamplingRate = .sbss:0x801F19E0; // type:object size:0x4 scope:local data:4byte -lbl_801F1A00 = .sbss:0x801F1A00; // type:object size:0x20 data:4byte -lbl_801F1A20 = .sbss:0x801F1A20; // type:object size:0x20 data:4byte -lbl_801F1A40 = .sbss:0x801F1A40; // type:object size:0x20 data:4byte -lbl_801F1A60 = .sbss:0x801F1A60; // type:object size:0x20 data:4byte -lbl_801F1A80 = .sbss:0x801F1A80; // type:object size:0x20 data:4byte -lbl_801F1AA0 = .sbss:0x801F1AA0; // type:object size:0x4 data:4byte -lbl_801F1AA4 = .sbss:0x801F1AA4; // type:object size:0x4 data:4byte -lbl_801F1AA8 = .sbss:0x801F1AA8; // type:object size:0x4 data:4byte -lbl_801F1AAC = .sbss:0x801F1AAC; // type:object size:0x14 data:4byte -lbl_801F1AC0 = .sbss:0x801F1AC0; // type:object size:0x20 data:4byte -lbl_801F1AE0 = .sbss:0x801F1AE0; // type:object size:0x20 data:4byte -lbl_801F1B00 = .sbss:0x801F1B00; // type:object size:0x4 data:4byte -lbl_801F1B04 = .sbss:0x801F1B04; // type:object size:0x4 data:4byte -lbl_801F1B08 = .sbss:0x801F1B08; // type:object size:0x4 data:4byte -lbl_801F1B0C = .sbss:0x801F1B0C; // type:object size:0x4 data:4byte -lbl_801F1B10 = .sbss:0x801F1B10; // type:object size:0x4 data:4byte -lbl_801F1B14 = .sbss:0x801F1B14; // type:object size:0x4 data:4byte -__global_destructor_chain = .sbss:0x801F1B18; // type:object size:0x4 scope:global data:4byte -__aborting = .sbss:0x801F1B20; // type:object size:0x4 scope:global data:4byte -__atexit_curr_func = .sbss:0x801F1B24; // type:object size:0x4 scope:local data:4byte -__stdio_exit = .sbss:0x801F1B28; // type:object size:0x4 scope:global data:4byte -__console_exit = .sbss:0x801F1B2C; // type:object size:0x4 scope:global data:4byte -lbl_801F1B30 = .sbss:0x801F1B30; // type:object size:0x8 data:byte -lbl_801F1B38 = .sbss:0x801F1B38; // type:object size:0x8 data:4byte -lbl_801F1B40 = .sbss:0x801F1B40; // type:object size:0x8 data:4byte -lbl_801F1B48 = .sbss:0x801F1B48; // type:object size:0x4 data:4byte -lbl_801F1B4C = .sbss:0x801F1B4C; // type:object size:0x1 data:byte -lbl_801F1B50 = .sbss:0x801F1B50; // type:object size:0x4 data:4byte -lbl_801F1B54 = .sbss:0x801F1B54; // type:object size:0x4 data:4byte -lbl_801F1B58 = .sbss:0x801F1B58; // type:object size:0x4 data:4byte -lbl_801F1B5C = .sbss:0x801F1B5C; // type:object size:0x4 data:4byte -lbl_801F1B60 = .sbss:0x801F1B60; // type:object size:0x4 data:4byte -lbl_801F1B64 = .sbss:0x801F1B64; // type:object size:0x4 data:4byte -lbl_801F1B68 = .sbss:0x801F1B68; // type:object size:0x1 data:byte -lbl_801F1B69 = .sbss:0x801F1B69; // type:object size:0x1 data:byte -lbl_801F1B6C = .sbss:0x801F1B6C; // type:object size:0x8 data:byte -lbl_801F1B74 = .sbss:0x801F1B74; // type:object size:0x8 data:byte -lbl_801F1B7C = .sbss:0x801F1B7C; // type:object size:0x8 data:byte -lbl_801F1B84 = .sbss:0x801F1B84; // type:object size:0x8 data:byte -lbl_801F1B8C = .sbss:0x801F1B8C; // type:object size:0x4 data:4byte -lbl_801F1B90 = .sbss:0x801F1B90; // type:object size:0x4 data:4byte -lbl_801F1B94 = .sbss:0x801F1B94; // type:object size:0x4 data:4byte -lbl_801F1B98 = .sbss:0x801F1B98; // type:object size:0x4 data:4byte -lbl_801F1B9C = .sbss:0x801F1B9C; // type:object size:0x4 data:4byte -lbl_801F1BA0 = .sbss:0x801F1BA0; // type:object size:0x8 data:byte -lbl_801F1BA8 = .sbss:0x801F1BA8; // type:object size:0x4 data:4byte -lbl_801F1BAC = .sbss:0x801F1BAC; // type:object size:0x4 data:4byte -lbl_801F1BB0 = .sbss:0x801F1BB0; // type:object size:0x4 data:4byte -lbl_801F1BB4 = .sbss:0x801F1BB4; // type:object size:0x1 data:byte -lbl_801F1BB5 = .sbss:0x801F1BB5; // type:object size:0x1 data:byte -lbl_801F1BB8 = .sbss:0x801F1BB8; // type:object size:0x4 data:4byte -lbl_801F1BBC = .sbss:0x801F1BBC; // type:object size:0x4 data:4byte -lbl_801F1BC0 = .sbss:0x801F1BC0; // type:object size:0x8 -lbl_801F1BC8 = .sbss:0x801F1BC8; // type:object size:0x4 data:4byte -lbl_801F1BCC = .sbss:0x801F1BCC; // type:object size:0x8 -lbl_801F1BD4 = .sbss:0x801F1BD4; // type:object size:0x4 data:4byte -lbl_801F1BD8 = .sbss:0x801F1BD8; // type:object size:0x4 data:4byte -lbl_801F1BDC = .sbss:0x801F1BDC; // type:object size:0x4 data:4byte -lbl_801F1BE0 = .sbss:0x801F1BE0; // type:object size:0x8 -lbl_801F1BE8 = .sbss:0x801F1BE8; // type:object size:0x4 data:4byte -lbl_801F1BEC = .sbss:0x801F1BEC; // type:object size:0x4 data:4byte -lbl_801F1BF0 = .sbss:0x801F1BF0; // type:object size:0x2 data:2byte -lbl_801F1BF2 = .sbss:0x801F1BF2; // type:object size:0x2 data:2byte -lbl_801F1BF4 = .sbss:0x801F1BF4; // type:object size:0x2 data:2byte -lbl_801F1BF6 = .sbss:0x801F1BF6; // type:object size:0x2 data:2byte -lbl_801F1BF8 = .sbss:0x801F1BF8; // type:object size:0x2 data:2byte -lbl_801F1BFA = .sbss:0x801F1BFA; // type:object size:0x6 data:2byte -lbl_801F1C00 = .sbss:0x801F1C00; // type:object size:0x8 data:4byte -lbl_801F1C08 = .sbss:0x801F1C08; // type:object size:0x4 data:4byte -lbl_801F1C0C = .sbss:0x801F1C0C; // type:object size:0x4 data:4byte -lbl_801F1C10 = .sbss:0x801F1C10; // type:object size:0x4 data:4byte -lbl_801F1C14 = .sbss:0x801F1C14; // type:object size:0x4 data:4byte -lbl_801F1C18 = .sbss:0x801F1C18; // type:object size:0x8 data:byte -lbl_801F1C20 = .sbss:0x801F1C20; // type:object size:0x4 data:4byte -lbl_801F1C24 = .sbss:0x801F1C24; // type:object size:0x4 data:4byte -lbl_801F1C28 = .sbss:0x801F1C28; // type:object size:0x4 data:4byte -lbl_801F1C2C = .sbss:0x801F1C2C; // type:object size:0x2 data:2byte -lbl_801F1C2E = .sbss:0x801F1C2E; // type:object size:0x1 data:byte -lbl_801F1C2F = .sbss:0x801F1C2F; // type:object size:0x1 data:byte -lbl_801F1C30 = .sbss:0x801F1C30; // type:object size:0x1 data:byte -lbl_801F1C31 = .sbss:0x801F1C31; // type:object size:0x7 data:byte -lbl_801F1C38 = .sbss:0x801F1C38; // type:object size:0x8 data:2byte -lbl_801F1C40 = .sbss:0x801F1C40; // type:object size:0x4 data:4byte -lbl_801F1C44 = .sbss:0x801F1C44; // type:object size:0x4 data:4byte -lbl_801F1C48 = .sbss:0x801F1C48; // type:object size:0x4 data:4byte -lbl_801F1C4C = .sbss:0x801F1C4C; // type:object size:0x2 data:2byte -lbl_801F1C50 = .sbss:0x801F1C50; // type:object size:0x4 data:4byte -lbl_801F1C54 = .sbss:0x801F1C54; // type:object size:0x4 data:4byte -lbl_801F1C58 = .sbss:0x801F1C58; // type:object size:0x4 data:4byte -lbl_801F1C5C = .sbss:0x801F1C5C; // type:object size:0x2 data:2byte -lbl_801F1C60 = .sbss:0x801F1C60; // type:object size:0x4 data:4byte -lbl_801F1C64 = .sbss:0x801F1C64; // type:object size:0x4 data:4byte -lbl_801F1C68 = .sbss:0x801F1C68; // type:object size:0x4 data:4byte -lbl_801F1C6C = .sbss:0x801F1C6C; // type:object size:0x4 data:4byte -lbl_801F1C70 = .sbss:0x801F1C70; // type:object size:0x3 -lbl_801F1C73 = .sbss:0x801F1C73; // type:object size:0x1 -lbl_801F1C74 = .sbss:0x801F1C74; // type:object size:0x4 data:4byte -lbl_801F1C78 = .sbss:0x801F1C78; // type:object size:0x8 data:4byte -lbl_801F1C80 = .sbss:0x801F1C80; // type:object size:0x1 data:byte -lbl_801F1C81 = .sbss:0x801F1C81; // type:object size:0x1 data:byte -lbl_801F1C82 = .sbss:0x801F1C82; // type:object size:0x1 data:byte -lbl_801F1C83 = .sbss:0x801F1C83; // type:object size:0x1 data:byte -lbl_801F1C84 = .sbss:0x801F1C84; // type:object size:0x1 data:byte -lbl_801F1C85 = .sbss:0x801F1C85; // type:object size:0x1 data:byte -lbl_801F1C88 = .sbss:0x801F1C88; // type:object size:0x4 data:4byte -lbl_801F1C8C = .sbss:0x801F1C8C; // type:object size:0x4 data:4byte -lbl_801F1C90 = .sbss:0x801F1C90; // type:object size:0x4 data:4byte -lbl_801F1C94 = .sbss:0x801F1C94; // type:object size:0x4 data:4byte -lbl_801F1C98 = .sbss:0x801F1C98; // type:object size:0x4 data:4byte -lbl_801F1C9C = .sbss:0x801F1C9C; // type:object size:0x1 data:byte -lbl_801F1CA0 = .sbss:0x801F1CA0; // type:object size:0x1 data:byte -lbl_801F1CA4 = .sbss:0x801F1CA4; // type:object size:0x4 data:4byte -lbl_801F1CA8 = .sbss:0x801F1CA8; // type:object size:0x4 data:4byte -lbl_801F1CAC = .sbss:0x801F1CAC; // type:object size:0x1 data:byte -lbl_801F1CAD = .sbss:0x801F1CAD; // type:object size:0x1 data:byte -lbl_801F1CAE = .sbss:0x801F1CAE; // type:object size:0x1 data:byte -lbl_801F1CAF = .sbss:0x801F1CAF; // type:object size:0x1 data:byte -lbl_801F1CB0 = .sbss:0x801F1CB0; // type:object size:0x4 data:4byte -lbl_801F1CB4 = .sbss:0x801F1CB4; // type:object size:0x4 data:4byte -lbl_801F1CB8 = .sbss:0x801F1CB8; // type:object size:0x4 data:4byte -lbl_801F1CBC = .sbss:0x801F1CBC; // type:object size:0x4 data:4byte -lbl_801F1CC0 = .sbss:0x801F1CC0; // type:object size:0x4 data:4byte -lbl_801F1CC4 = .sbss:0x801F1CC4; // type:object size:0x4 data:4byte -lbl_801F1CC8 = .sbss:0x801F1CC8; // type:object size:0x4 data:4byte -lbl_801F1CCC = .sbss:0x801F1CCC; // type:object size:0x4 data:4byte -lbl_801F1CD0 = .sbss:0x801F1CD0; // type:object size:0x4 data:4byte -lbl_801F1CD4 = .sbss:0x801F1CD4; // type:object size:0x2 data:2byte -lbl_801F1CD8 = .sbss:0x801F1CD8; // type:object size:0x4 data:4byte -lbl_801F1CDC = .sbss:0x801F1CDC; // type:object size:0x4 data:4byte -lbl_801F1CE0 = .sbss:0x801F1CE0; // type:object size:0x4 data:4byte -lbl_801F1CE4 = .sbss:0x801F1CE4; // type:object size:0x4 data:4byte -lbl_801F1CE8 = .sbss:0x801F1CE8; // type:object size:0x4 data:4byte -lbl_801F1CEC = .sbss:0x801F1CEC; // type:object size:0x4 data:4byte -lbl_801F1CF0 = .sbss:0x801F1CF0; // type:object size:0x1 data:byte -lbl_801F1CF4 = .sbss:0x801F1CF4; // type:object size:0x4 data:4byte -lbl_801F1CF8 = .sbss:0x801F1CF8; // type:object size:0x4 data:4byte -lbl_801F1CFC = .sbss:0x801F1CFC; // type:object size:0x4 data:4byte -lbl_801F1D00 = .sbss:0x801F1D00; // type:object size:0x4 data:4byte -lbl_801F1D04 = .sbss:0x801F1D04; // type:object size:0x4 data:4byte -lbl_801F1D08 = .sbss:0x801F1D08; // type:object size:0x4 data:4byte -lbl_801F1D0C = .sbss:0x801F1D0C; // type:object size:0x1 data:byte -lbl_801F1D20 = .sdata2:0x801F1D20; // type:object size:0x8 data:double -lbl_801F1D28 = .sdata2:0x801F1D28; // type:object size:0x4 data:float -lbl_801F1D2C = .sdata2:0x801F1D2C; // type:object size:0x4 data:float -lbl_801F1D30 = .sdata2:0x801F1D30; // type:object size:0x8 data:double -lbl_801F1D38 = .sdata2:0x801F1D38; // type:object size:0x4 data:float -lbl_801F1D3C = .sdata2:0x801F1D3C; // type:object size:0x4 data:float -lbl_801F1D40 = .sdata2:0x801F1D40; // type:object size:0x4 data:float -lbl_801F1D44 = .sdata2:0x801F1D44; // type:object size:0x4 data:float -lbl_801F1D48 = .sdata2:0x801F1D48; // type:object size:0x4 data:float -lbl_801F1D4C = .sdata2:0x801F1D4C; // type:object size:0x4 data:float -lbl_801F1D50 = .sdata2:0x801F1D50; // type:object size:0x4 data:float -lbl_801F1D54 = .sdata2:0x801F1D54; // type:object size:0x4 data:float -lbl_801F1D58 = .sdata2:0x801F1D58; // type:object size:0x4 data:float -lbl_801F1D60 = .sdata2:0x801F1D60; // type:object size:0x8 data:double -lbl_801F1D68 = .sdata2:0x801F1D68; // type:object size:0x8 data:double -lbl_801F1D70 = .sdata2:0x801F1D70; // type:object size:0x4 data:float -lbl_801F1D74 = .sdata2:0x801F1D74; // type:object size:0x4 data:float -lbl_801F1D78 = .sdata2:0x801F1D78; // type:object size:0x4 data:float -lbl_801F1D7C = .sdata2:0x801F1D7C; // type:object size:0x4 data:float -lbl_801F1D80 = .sdata2:0x801F1D80; // type:object size:0x8 data:float -lbl_801F1D88 = .sdata2:0x801F1D88; // type:object size:0x4 data:float -lbl_801F1D8C = .sdata2:0x801F1D8C; // type:object size:0x4 data:float -lbl_801F1D90 = .sdata2:0x801F1D90; // type:object size:0x4 data:float -lbl_801F1D98 = .sdata2:0x801F1D98; // type:object size:0x8 data:double -lbl_801F1DA0 = .sdata2:0x801F1DA0; // type:object size:0x8 data:double -lbl_801F1DA8 = .sdata2:0x801F1DA8; // type:object size:0x8 data:float -lbl_801F1DB0 = .sdata2:0x801F1DB0; // type:object size:0x4 data:float -lbl_801F1DB4 = .sdata2:0x801F1DB4; // type:object size:0x4 data:float -lbl_801F1DB8 = .sdata2:0x801F1DB8; // type:object size:0x4 data:float -lbl_801F1DBC = .sdata2:0x801F1DBC; // type:object size:0x4 data:float -lbl_801F1DC0 = .sdata2:0x801F1DC0; // type:object size:0x4 data:float -lbl_801F1DC4 = .sdata2:0x801F1DC4; // type:object size:0x4 data:float -lbl_801F1DC8 = .sdata2:0x801F1DC8; // type:object size:0x4 data:float -lbl_801F1DD0 = .sdata2:0x801F1DD0; // type:object size:0x8 data:double -lbl_801F1DD8 = .sdata2:0x801F1DD8; // type:object size:0x8 data:double -lbl_801F1DE0 = .sdata2:0x801F1DE0; // type:object size:0x8 data:double -lbl_801F1DE8 = .sdata2:0x801F1DE8; // type:object size:0x4 data:float -lbl_801F1DEC = .sdata2:0x801F1DEC; // type:object size:0x4 data:float -lbl_801F1DF0 = .sdata2:0x801F1DF0; // type:object size:0x4 data:float -lbl_801F1DF4 = .sdata2:0x801F1DF4; // type:object size:0x4 data:float -lbl_801F1DF8 = .sdata2:0x801F1DF8; // type:object size:0x8 data:double -lbl_801F1E00 = .sdata2:0x801F1E00; // type:object size:0x8 data:double -lbl_801F1E08 = .sdata2:0x801F1E08; // type:object size:0x8 data:double -lbl_801F1E10 = .sdata2:0x801F1E10; // type:object size:0x8 data:double -lbl_801F1E18 = .sdata2:0x801F1E18; // type:object size:0x4 data:float -lbl_801F1E20 = .sdata2:0x801F1E20; // type:object size:0x8 data:double -lbl_801F1E28 = .sdata2:0x801F1E28; // type:object size:0x4 data:float -lbl_801F1E2C = .sdata2:0x801F1E2C; // type:object size:0x4 data:float -lbl_801F1E30 = .sdata2:0x801F1E30; // type:object size:0x4 data:float -lbl_801F1E34 = .sdata2:0x801F1E34; // type:object size:0x4 data:float -lbl_801F1E38 = .sdata2:0x801F1E38; // type:object size:0x8 data:double -lbl_801F1E40 = .sdata2:0x801F1E40; // type:object size:0x4 data:float -lbl_801F1E44 = .sdata2:0x801F1E44; // type:object size:0x4 data:float -lbl_801F1E48 = .sdata2:0x801F1E48; // type:object size:0x4 data:float -lbl_801F1E4C = .sdata2:0x801F1E4C; // type:object size:0x4 data:float -lbl_801F1E50 = .sdata2:0x801F1E50; // type:object size:0x8 data:double -lbl_801F1E58 = .sdata2:0x801F1E58; // type:object size:0x4 data:float -lbl_801F1E60 = .sdata2:0x801F1E60; // type:object size:0x8 data:double -lbl_801F1E68 = .sdata2:0x801F1E68; // type:object size:0x4 data:float -lbl_801F1E6C = .sdata2:0x801F1E6C; // type:object size:0x4 data:float -lbl_801F1E70 = .sdata2:0x801F1E70; // type:object size:0x4 data:float -lbl_801F1E74 = .sdata2:0x801F1E74; // type:object size:0x4 data:float -lbl_801F1E78 = .sdata2:0x801F1E78; // type:object size:0x4 data:float -lbl_801F1E80 = .sdata2:0x801F1E80; // type:object size:0x8 data:double -lbl_801F1E88 = .sdata2:0x801F1E88; // type:object size:0x8 data:double -lbl_801F1E90 = .sdata2:0x801F1E90; // type:object size:0x8 data:double -lbl_801F1E98 = .sdata2:0x801F1E98; // type:object size:0x8 data:double -lbl_801F1EA0 = .sdata2:0x801F1EA0; // type:object size:0x4 data:float -lbl_801F1EA4 = .sdata2:0x801F1EA4; // type:object size:0x4 data:float -lbl_801F1EA8 = .sdata2:0x801F1EA8; // type:object size:0x4 data:float -lbl_801F1EAC = .sdata2:0x801F1EAC; // type:object size:0x4 data:float -lbl_801F1EB0 = .sdata2:0x801F1EB0; // type:object size:0x4 data:float -lbl_801F1EB4 = .sdata2:0x801F1EB4; // type:object size:0x4 data:float -lbl_801F1EB8 = .sdata2:0x801F1EB8; // type:object size:0x4 data:float -lbl_801F1EBC = .sdata2:0x801F1EBC; // type:object size:0x4 data:float -lbl_801F1EC0 = .sdata2:0x801F1EC0; // type:object size:0x8 data:double -lbl_801F1EC8 = .sdata2:0x801F1EC8; // type:object size:0x8 data:float -lbl_801F1ED0 = .sdata2:0x801F1ED0; // type:object size:0x4 data:float -lbl_801F1ED4 = .sdata2:0x801F1ED4; // type:object size:0x4 data:float -lbl_801F1ED8 = .sdata2:0x801F1ED8; // type:object size:0x8 data:double -lbl_801F1EE0 = .sdata2:0x801F1EE0; // type:object size:0x8 data:double -lbl_801F1EE8 = .sdata2:0x801F1EE8; // type:object size:0x4 data:float -lbl_801F1EEC = .sdata2:0x801F1EEC; // type:object size:0x4 data:float -lbl_801F1EF0 = .sdata2:0x801F1EF0; // type:object size:0x4 data:float -lbl_801F1EF8 = .sdata2:0x801F1EF8; // type:object size:0x8 data:double -lbl_801F1F00 = .sdata2:0x801F1F00; // type:object size:0x8 data:double -lbl_801F1F08 = .sdata2:0x801F1F08; // type:object size:0x8 data:double -lbl_801F1F10 = .sdata2:0x801F1F10; // type:object size:0x4 data:float -lbl_801F1F14 = .sdata2:0x801F1F14; // type:object size:0x4 data:float -lbl_801F1F18 = .sdata2:0x801F1F18; // type:object size:0x8 data:float -lbl_801F1F20 = .sdata2:0x801F1F20; // type:object size:0x4 data:float -lbl_801F1F24 = .sdata2:0x801F1F24; // type:object size:0x4 data:float -lbl_801F1F28 = .sdata2:0x801F1F28; // type:object size:0x8 data:double -lbl_801F1F30 = .sdata2:0x801F1F30; // type:object size:0x4 data:float -lbl_801F1F34 = .sdata2:0x801F1F34; // type:object size:0x4 data:float -lbl_801F1F38 = .sdata2:0x801F1F38; // type:object size:0x4 data:float -lbl_801F1F3C = .sdata2:0x801F1F3C; // type:object size:0x4 data:float -lbl_801F1F40 = .sdata2:0x801F1F40; // type:object size:0x8 data:double -lbl_801F1F48 = .sdata2:0x801F1F48; // type:object size:0x4 data:float -lbl_801F1F50 = .sdata2:0x801F1F50; // type:object size:0x8 data:double -lbl_801F1F58 = .sdata2:0x801F1F58; // type:object size:0x8 data:double -lbl_801F1F60 = .sdata2:0x801F1F60; // type:object size:0x8 data:double -lbl_801F1F68 = .sdata2:0x801F1F68; // type:object size:0x4 data:float -lbl_801F1F70 = .sdata2:0x801F1F70; // type:object size:0x8 data:double -lbl_801F1F78 = .sdata2:0x801F1F78; // type:object size:0x8 data:double -lbl_801F1F80 = .sdata2:0x801F1F80; // type:object size:0x4 data:float -lbl_801F1F88 = .sdata2:0x801F1F88; // type:object size:0x8 data:double -lbl_801F1F90 = .sdata2:0x801F1F90; // type:object size:0x8 data:double -lbl_801F1F98 = .sdata2:0x801F1F98; // type:object size:0x8 data:double -lbl_801F1FA0 = .sdata2:0x801F1FA0; // type:object size:0x8 data:double -lbl_801F1FA8 = .sdata2:0x801F1FA8; // type:object size:0x4 data:float -lbl_801F1FAC = .sdata2:0x801F1FAC; // type:object size:0x4 data:float -lbl_801F1FB0 = .sdata2:0x801F1FB0; // type:object size:0x4 data:float -lbl_801F1FB4 = .sdata2:0x801F1FB4; // type:object size:0x4 data:float -lbl_801F1FB8 = .sdata2:0x801F1FB8; // type:object size:0x8 data:double -lbl_801F1FC0 = .sdata2:0x801F1FC0; // type:object size:0x4 data:float -lbl_801F1FC8 = .sdata2:0x801F1FC8; // type:object size:0x8 data:double -lbl_801F1FD0 = .sdata2:0x801F1FD0; // type:object size:0x8 data:double -lbl_801F1FD8 = .sdata2:0x801F1FD8; // type:object size:0x4 data:float -lbl_801F1FE0 = .sdata2:0x801F1FE0; // type:object size:0x8 data:double -lbl_801F1FE8 = .sdata2:0x801F1FE8; // type:object size:0x4 data:float -lbl_801F1FEC = .sdata2:0x801F1FEC; // type:object size:0x4 data:float -lbl_801F1FF0 = .sdata2:0x801F1FF0; // type:object size:0x4 data:float -lbl_801F1FF4 = .sdata2:0x801F1FF4; // type:object size:0x4 data:float -lbl_801F1FF8 = .sdata2:0x801F1FF8; // type:object size:0x8 data:double -lbl_801F2000 = .sdata2:0x801F2000; // type:object size:0x8 data:double -lbl_801F2008 = .sdata2:0x801F2008; // type:object size:0x4 data:float -lbl_801F200C = .sdata2:0x801F200C; // type:object size:0x4 data:float -lbl_801F2010 = .sdata2:0x801F2010; // type:object size:0x8 data:double -lbl_801F2018 = .sdata2:0x801F2018; // type:object size:0x4 data:float -lbl_801F201C = .sdata2:0x801F201C; // type:object size:0x4 data:float -lbl_801F2020 = .sdata2:0x801F2020; // type:object size:0x4 data:float -lbl_801F2024 = .sdata2:0x801F2024; // type:object size:0x4 data:float -lbl_801F2028 = .sdata2:0x801F2028; // type:object size:0x8 data:double -lbl_801F2030 = .sdata2:0x801F2030; // type:object size:0x8 data:double -lbl_801F2038 = .sdata2:0x801F2038; // type:object size:0x4 data:float -lbl_801F203C = .sdata2:0x801F203C; // type:object size:0x4 data:float -lbl_801F2040 = .sdata2:0x801F2040; // type:object size:0x4 data:float -lbl_801F2044 = .sdata2:0x801F2044; // type:object size:0x4 data:float -lbl_801F2048 = .sdata2:0x801F2048; // type:object size:0x4 data:float -lbl_801F204C = .sdata2:0x801F204C; // type:object size:0x4 data:float -lbl_801F2050 = .sdata2:0x801F2050; // type:object size:0x4 data:float -lbl_801F2054 = .sdata2:0x801F2054; // type:object size:0x4 data:float -lbl_801F2058 = .sdata2:0x801F2058; // type:object size:0x4 data:float -lbl_801F2060 = .sdata2:0x801F2060; // type:object size:0x8 data:double -lbl_801F2068 = .sdata2:0x801F2068; // type:object size:0x8 data:double -lbl_801F2070 = .sdata2:0x801F2070; // type:object size:0x4 data:float -lbl_801F2078 = .sdata2:0x801F2078; // type:object size:0x8 data:double -lbl_801F2080 = .sdata2:0x801F2080; // type:object size:0x8 data:double -lbl_801F2088 = .sdata2:0x801F2088; // type:object size:0x8 data:double -lbl_801F2090 = .sdata2:0x801F2090; // type:object size:0x4 data:float -lbl_801F2094 = .sdata2:0x801F2094; // type:object size:0x4 data:float -lbl_801F2098 = .sdata2:0x801F2098; // type:object size:0x4 data:float -lbl_801F20A0 = .sdata2:0x801F20A0; // type:object size:0x8 data:double -lbl_801F20A8 = .sdata2:0x801F20A8; // type:object size:0x4 scope:local data:float -lbl_801F20AC = .sdata2:0x801F20AC; // type:object size:0x4 scope:local data:float -lbl_801F20B0 = .sdata2:0x801F20B0; // type:object size:0x4 scope:local data:float -lbl_801F20B8 = .sdata2:0x801F20B8; // type:object size:0x8 scope:local data:double -lbl_801F20C0 = .sdata2:0x801F20C0; // type:object size:0x8 scope:local data:double -lbl_801F20C8 = .sdata2:0x801F20C8; // type:object size:0x8 scope:local data:double -lbl_801F20D0 = .sdata2:0x801F20D0; // type:object size:0x8 scope:local data:double -lbl_801F20D8 = .sdata2:0x801F20D8; // type:object size:0x8 scope:local data:double -lbl_801F20E0 = .sdata2:0x801F20E0; // type:object size:0x8 scope:local data:double -lbl_801F20E8 = .sdata2:0x801F20E8; // type:object size:0x4 scope:local data:float -lbl_801F20EC = .sdata2:0x801F20EC; // type:object size:0x4 scope:local data:float -lbl_801F20F0 = .sdata2:0x801F20F0; // type:object size:0x8 scope:local data:double -lbl_801F20F8 = .sdata2:0x801F20F8; // type:object size:0x4 scope:local data:float -lbl_801F20FC = .sdata2:0x801F20FC; // type:object size:0x4 scope:local data:float -lbl_801F2100 = .sdata2:0x801F2100; // type:object size:0x4 scope:local data:float -lbl_801F2104 = .sdata2:0x801F2104; // type:object size:0x4 scope:local data:float -lbl_801F2108 = .sdata2:0x801F2108; // type:object size:0x4 scope:local data:float -lbl_801F210C = .sdata2:0x801F210C; // type:object size:0x4 scope:local data:float -lbl_801F2110 = .sdata2:0x801F2110; // type:object size:0x4 scope:local data:float -lbl_801F2114 = .sdata2:0x801F2114; // type:object size:0x4 scope:local data:float -lbl_801F2118 = .sdata2:0x801F2118; // type:object size:0x4 scope:local data:float -lbl_801F211C = .sdata2:0x801F211C; // type:object size:0x4 scope:local data:float -lbl_801F2120 = .sdata2:0x801F2120; // type:object size:0x4 scope:local data:float -lbl_801F2124 = .sdata2:0x801F2124; // type:object size:0x4 scope:local data:float -lbl_801F2128 = .sdata2:0x801F2128; // type:object size:0x4 scope:local data:float -lbl_801F212C = .sdata2:0x801F212C; // type:object size:0x4 scope:local data:float -lbl_801F2130 = .sdata2:0x801F2130; // type:object size:0x4 scope:local data:float -lbl_801F2134 = .sdata2:0x801F2134; // type:object size:0x4 scope:local data:float -lbl_801F2138 = .sdata2:0x801F2138; // type:object size:0x4 scope:local data:float -lbl_801F213C = .sdata2:0x801F213C; // type:object size:0x4 scope:local data:float -lbl_801F2140 = .sdata2:0x801F2140; // type:object size:0x8 scope:local data:double -lbl_801F2148 = .sdata2:0x801F2148; // type:object size:0x4 scope:local data:float -lbl_801F214C = .sdata2:0x801F214C; // type:object size:0x4 scope:local data:float -lbl_801F2150 = .sdata2:0x801F2150; // type:object size:0x8 scope:local data:double -lbl_801F2158 = .sdata2:0x801F2158; // type:object size:0x8 scope:local data:double -lbl_801F2160 = .sdata2:0x801F2160; // type:object size:0x4 scope:local data:float -lbl_801F2164 = .sdata2:0x801F2164; // type:object size:0x4 scope:local data:float -lbl_801F2168 = .sdata2:0x801F2168; // type:object size:0x8 scope:local data:double -lbl_801F2170 = .sdata2:0x801F2170; // type:object size:0x4 scope:local data:float -lbl_801F2174 = .sdata2:0x801F2174; // type:object size:0x4 scope:local data:float -lbl_801F2178 = .sdata2:0x801F2178; // type:object size:0x4 scope:local data:float -lbl_801F217C = .sdata2:0x801F217C; // type:object size:0x4 scope:local data:float -lbl_801F2180 = .sdata2:0x801F2180; // type:object size:0x4 scope:local data:float -lbl_801F2188 = .sdata2:0x801F2188; // type:object size:0x8 scope:local data:double -lbl_801F2190 = .sdata2:0x801F2190; // type:object size:0x4 scope:local data:float -lbl_801F2198 = .sdata2:0x801F2198; // type:object size:0x8 scope:local data:double -lbl_801F21A0 = .sdata2:0x801F21A0; // type:object size:0x4 scope:local data:float -lbl_801F21A4 = .sdata2:0x801F21A4; // type:object size:0x4 scope:local data:float -lbl_801F21A8 = .sdata2:0x801F21A8; // type:object size:0x4 scope:local data:float -lbl_801F21AC = .sdata2:0x801F21AC; // type:object size:0x4 scope:local data:float -lbl_801F21B0 = .sdata2:0x801F21B0; // type:object size:0x8 scope:local data:double -lbl_801F21B8 = .sdata2:0x801F21B8; // type:object size:0x4 scope:local data:float -lbl_801F21C0 = .sdata2:0x801F21C0; // type:object size:0x8 scope:local data:double -lbl_801F21C8 = .sdata2:0x801F21C8; // type:object size:0x8 scope:local data:double -lbl_801F21D0 = .sdata2:0x801F21D0; // type:object size:0x8 scope:local data:double -lbl_801F21D8 = .sdata2:0x801F21D8; // type:object size:0x4 scope:local data:float -lbl_801F21E0 = .sdata2:0x801F21E0; // type:object size:0x8 scope:local data:double -lbl_801F21E8 = .sdata2:0x801F21E8; // type:object size:0x4 scope:local data:float -lbl_801F21EC = .sdata2:0x801F21EC; // type:object size:0x4 scope:local data:float -lbl_801F21F0 = .sdata2:0x801F21F0; // type:object size:0x4 scope:local data:float -lbl_801F21F4 = .sdata2:0x801F21F4; // type:object size:0x4 scope:local data:float -lbl_801F21F8 = .sdata2:0x801F21F8; // type:object size:0x4 scope:local data:float -lbl_801F21FC = .sdata2:0x801F21FC; // type:object size:0x4 scope:local data:float -lbl_801F2200 = .sdata2:0x801F2200; // type:object size:0x4 scope:local data:float -lbl_801F2208 = .sdata2:0x801F2208; // type:object size:0x8 scope:local data:double -lbl_801F2210 = .sdata2:0x801F2210; // type:object size:0x8 scope:local data:double -lbl_801F2218 = .sdata2:0x801F2218; // type:object size:0x8 scope:local data:double -lbl_801F2220 = .sdata2:0x801F2220; // type:object size:0x2 scope:local data:2byte -lbl_801F2222 = .sdata2:0x801F2222; // type:object size:0x2 scope:local data:2byte -lbl_801F2224 = .sdata2:0x801F2224; // type:object size:0x2 scope:local data:2byte -lbl_801F2228 = .sdata2:0x801F2228; // type:object size:0x4 scope:local data:float -lbl_801F222C = .sdata2:0x801F222C; // type:object size:0x4 scope:local data:float -lbl_801F2230 = .sdata2:0x801F2230; // type:object size:0x4 scope:local data:float -lbl_801F2234 = .sdata2:0x801F2234; // type:object size:0x4 scope:local data:float -lbl_801F2238 = .sdata2:0x801F2238; // type:object size:0x4 scope:local data:float -lbl_801F223C = .sdata2:0x801F223C; // type:object size:0x4 scope:local data:float -lbl_801F2240 = .sdata2:0x801F2240; // type:object size:0x4 scope:local data:float -lbl_801F2244 = .sdata2:0x801F2244; // type:object size:0x4 scope:local data:float -lbl_801F2248 = .sdata2:0x801F2248; // type:object size:0x4 scope:local data:float -lbl_801F224C = .sdata2:0x801F224C; // type:object size:0x4 scope:local data:float -lbl_801F2250 = .sdata2:0x801F2250; // type:object size:0x8 scope:local data:double -lbl_801F2258 = .sdata2:0x801F2258; // type:object size:0x8 scope:local data:double -lbl_801F2260 = .sdata2:0x801F2260; // type:object size:0x4 scope:local data:float -lbl_801F2264 = .sdata2:0x801F2264; // type:object size:0x4 scope:local data:float -lbl_801F2268 = .sdata2:0x801F2268; // type:object size:0x4 data:float -lbl_801F2270 = .sdata2:0x801F2270; // type:object size:0x8 data:double -lbl_801F2278 = .sdata2:0x801F2278; // type:object size:0x8 data:double -lbl_801F2280 = .sdata2:0x801F2280; // type:object size:0x4 data:float -lbl_801F2284 = .sdata2:0x801F2284; // type:object size:0x4 data:float -lbl_801F2288 = .sdata2:0x801F2288; // type:object size:0x8 data:double -lbl_801F2290 = .sdata2:0x801F2290; // type:object size:0x4 data:float -lbl_801F2294 = .sdata2:0x801F2294; // type:object size:0x4 data:float -lbl_801F2298 = .sdata2:0x801F2298; // type:object size:0x8 data:double -lbl_801F22A0 = .sdata2:0x801F22A0; // type:object size:0x4 data:float -lbl_801F22A8 = .sdata2:0x801F22A8; // type:object size:0x8 data:double -lbl_801F22B0 = .sdata2:0x801F22B0; // type:object size:0x4 data:float -lbl_801F22B4 = .sdata2:0x801F22B4; // type:object size:0x4 data:float -lbl_801F22B8 = .sdata2:0x801F22B8; // type:object size:0x4 data:float -lbl_801F22BC = .sdata2:0x801F22BC; // type:object size:0x4 data:float -lbl_801F22C0 = .sdata2:0x801F22C0; // type:object size:0x8 data:double -lbl_801F22C8 = .sdata2:0x801F22C8; // type:object size:0x4 data:float -lbl_801F22CC = .sdata2:0x801F22CC; // type:object size:0x4 data:float -lbl_801F22D0 = .sdata2:0x801F22D0; // type:object size:0x4 data:float -lbl_801F22D4 = .sdata2:0x801F22D4; // type:object size:0x4 data:float -lbl_801F22D8 = .sdata2:0x801F22D8; // type:object size:0x4 data:float -lbl_801F22E0 = .sdata2:0x801F22E0; // type:object size:0x8 data:double -lbl_801F22E8 = .sdata2:0x801F22E8; // type:object size:0x4 data:float -lbl_801F22EC = .sdata2:0x801F22EC; // type:object size:0x4 data:float -lbl_801F22F0 = .sdata2:0x801F22F0; // type:object size:0x4 data:float -lbl_801F22F4 = .sdata2:0x801F22F4; // type:object size:0x4 data:float -lbl_801F22F8 = .sdata2:0x801F22F8; // type:object size:0x4 data:float -lbl_801F22FC = .sdata2:0x801F22FC; // type:object size:0x4 data:float -lbl_801F2300 = .sdata2:0x801F2300; // type:object size:0x4 data:float -lbl_801F2308 = .sdata2:0x801F2308; // type:object size:0x8 data:double -lbl_801F2310 = .sdata2:0x801F2310; // type:object size:0x4 data:float -lbl_801F2318 = .sdata2:0x801F2318; // type:object size:0x8 data:double -lbl_801F2320 = .sdata2:0x801F2320; // type:object size:0x4 data:float -lbl_801F2324 = .sdata2:0x801F2324; // type:object size:0x4 data:float -lbl_801F2328 = .sdata2:0x801F2328; // type:object size:0x4 data:float -lbl_801F2330 = .sdata2:0x801F2330; // type:object size:0x8 data:double -lbl_801F2338 = .sdata2:0x801F2338; // type:object size:0x8 data:double -lbl_801F2340 = .sdata2:0x801F2340; // type:object size:0x8 data:double -lbl_801F2348 = .sdata2:0x801F2348; // type:object size:0x4 data:float -lbl_801F2350 = .sdata2:0x801F2350; // type:object size:0x8 data:double -lbl_801F2358 = .sdata2:0x801F2358; // type:object size:0x8 data:double -lbl_801F2360 = .sdata2:0x801F2360; // type:object size:0x8 data:double -lbl_801F2368 = .sdata2:0x801F2368; // type:object size:0x8 data:double -lbl_801F2370 = .sdata2:0x801F2370; // type:object size:0x8 data:double -lbl_801F2378 = .sdata2:0x801F2378; // type:object size:0x8 data:double -lbl_801F2380 = .sdata2:0x801F2380; // type:object size:0x8 data:double -lbl_801F2388 = .sdata2:0x801F2388; // type:object size:0x8 data:double -lbl_801F2390 = .sdata2:0x801F2390; // type:object size:0x8 data:double -lbl_801F2398 = .sdata2:0x801F2398; // type:object size:0x4 data:float -lbl_801F239C = .sdata2:0x801F239C; // type:object size:0x4 data:float -lbl_801F23A0 = .sdata2:0x801F23A0; // type:object size:0x4 data:float -lbl_801F23A4 = .sdata2:0x801F23A4; // type:object size:0x4 data:float -lbl_801F23A8 = .sdata2:0x801F23A8; // type:object size:0x8 data:double -lbl_801F23B0 = .sdata2:0x801F23B0; // type:object size:0x4 data:float -lbl_801F23B8 = .sdata2:0x801F23B8; // type:object size:0x8 data:double -lbl_801F23C0 = .sdata2:0x801F23C0; // type:object size:0x8 data:double -lbl_801F23C8 = .sdata2:0x801F23C8; // type:object size:0x4 data:float -lbl_801F23CC = .sdata2:0x801F23CC; // type:object size:0x4 data:float -lbl_801F23D0 = .sdata2:0x801F23D0; // type:object size:0x8 data:double -lbl_801F23D8 = .sdata2:0x801F23D8; // type:object size:0x4 data:float -lbl_801F23DC = .sdata2:0x801F23DC; // type:object size:0x4 data:float -lbl_801F23E0 = .sdata2:0x801F23E0; // type:object size:0x4 data:float -lbl_801F23E4 = .sdata2:0x801F23E4; // type:object size:0x4 data:float -lbl_801F23E8 = .sdata2:0x801F23E8; // type:object size:0x4 data:float -lbl_801F23EC = .sdata2:0x801F23EC; // type:object size:0x4 data:float -lbl_801F23F0 = .sdata2:0x801F23F0; // type:object size:0x8 data:double -lbl_801F23F8 = .sdata2:0x801F23F8; // type:object size:0x4 data:float -lbl_801F2400 = .sdata2:0x801F2400; // type:object size:0x8 data:double -lbl_801F2408 = .sdata2:0x801F2408; // type:object size:0x8 data:double -lbl_801F2410 = .sdata2:0x801F2410; // type:object size:0x4 data:float -lbl_801F2418 = .sdata2:0x801F2418; // type:object size:0x8 data:double -lbl_801F2420 = .sdata2:0x801F2420; // type:object size:0x4 data:float -lbl_801F2424 = .sdata2:0x801F2424; // type:object size:0x4 data:float -lbl_801F2428 = .sdata2:0x801F2428; // type:object size:0x8 data:double -lbl_801F2430 = .sdata2:0x801F2430; // type:object size:0x8 data:double -lbl_801F2438 = .sdata2:0x801F2438; // type:object size:0x4 data:float -lbl_801F243C = .sdata2:0x801F243C; // type:object size:0x4 data:float -lbl_801F2440 = .sdata2:0x801F2440; // type:object size:0x4 data:float -lbl_801F2448 = .sdata2:0x801F2448; // type:object size:0x8 data:double -lbl_801F2450 = .sdata2:0x801F2450; // type:object size:0x4 data:float -lbl_801F2454 = .sdata2:0x801F2454; // type:object size:0x4 data:float -lbl_801F2458 = .sdata2:0x801F2458; // type:object size:0x4 data:float -lbl_801F245C = .sdata2:0x801F245C; // type:object size:0x4 data:float -lbl_801F2460 = .sdata2:0x801F2460; // type:object size:0x8 data:double -lbl_801F2468 = .sdata2:0x801F2468; // type:object size:0x4 data:float -lbl_801F2470 = .sdata2:0x801F2470; // type:object size:0x8 data:double -lbl_801F2478 = .sdata2:0x801F2478; // type:object size:0x4 data:float -lbl_801F2480 = .sdata2:0x801F2480; // type:object size:0x8 data:double -lbl_801F2488 = .sdata2:0x801F2488; // type:object size:0x8 data:float -lbl_801F2490 = .sdata2:0x801F2490; // type:object size:0x4 data:float -lbl_801F2494 = .sdata2:0x801F2494; // type:object size:0x4 data:float -lbl_801F2498 = .sdata2:0x801F2498; // type:object size:0x4 data:float -lbl_801F249C = .sdata2:0x801F249C; // type:object size:0x4 data:float -lbl_801F24A0 = .sdata2:0x801F24A0; // type:object size:0x8 data:double -lbl_801F24A8 = .sdata2:0x801F24A8; // type:object size:0x8 data:double -lbl_801F24B0 = .sdata2:0x801F24B0; // type:object size:0x8 data:double -lbl_801F24B8 = .sdata2:0x801F24B8; // type:object size:0x4 data:float -lbl_801F24C0 = .sdata2:0x801F24C0; // type:object size:0x8 data:double -lbl_801F24C8 = .sdata2:0x801F24C8; // type:object size:0x2 data:2byte -lbl_801F24CA = .sdata2:0x801F24CA; // type:object size:0x2 data:2byte -lbl_801F24CC = .sdata2:0x801F24CC; // type:object size:0x2 data:2byte -lbl_801F24CE = .sdata2:0x801F24CE; // type:object size:0x2 data:2byte -lbl_801F24D0 = .sdata2:0x801F24D0; // type:object size:0x1 data:byte -lbl_801F24D1 = .sdata2:0x801F24D1; // type:object size:0x1 data:byte -lbl_801F24D2 = .sdata2:0x801F24D2; // type:object size:0x1 data:byte -lbl_801F24D3 = .sdata2:0x801F24D3; // type:object size:0x1 data:byte -lbl_801F24D4 = .sdata2:0x801F24D4; // type:object size:0x1 data:byte -lbl_801F24D5 = .sdata2:0x801F24D5; // type:object size:0x1 data:byte -lbl_801F24D6 = .sdata2:0x801F24D6; // type:object size:0x1 data:byte -lbl_801F24D7 = .sdata2:0x801F24D7; // type:object size:0x1 data:byte -lbl_801F24D8 = .sdata2:0x801F24D8; // type:object size:0x1 data:byte -lbl_801F24D9 = .sdata2:0x801F24D9; // type:object size:0x1 data:byte -lbl_801F24DA = .sdata2:0x801F24DA; // type:object size:0x1 data:byte -lbl_801F24DB = .sdata2:0x801F24DB; // type:object size:0x1 data:byte -lbl_801F24DC = .sdata2:0x801F24DC; // type:object size:0x4 data:float -lbl_801F24E0 = .sdata2:0x801F24E0; // type:object size:0x4 data:float -lbl_801F24E4 = .sdata2:0x801F24E4; // type:object size:0x1 data:byte -lbl_801F24E5 = .sdata2:0x801F24E5; // type:object size:0x1 data:byte -lbl_801F24E6 = .sdata2:0x801F24E6; // type:object size:0x1 data:byte -lbl_801F24E7 = .sdata2:0x801F24E7; // type:object size:0x1 data:byte -lbl_801F24E8 = .sdata2:0x801F24E8; // type:object size:0x4 data:float -lbl_801F24EC = .sdata2:0x801F24EC; // type:object size:0x4 data:float -lbl_801F24F0 = .sdata2:0x801F24F0; // type:object size:0x8 data:float -lbl_801F24F8 = .sdata2:0x801F24F8; // type:object size:0x4 data:float -lbl_801F24FC = .sdata2:0x801F24FC; // type:object size:0x4 data:float -lbl_801F2500 = .sdata2:0x801F2500; // type:object size:0x8 data:float -lbl_801F2508 = .sdata2:0x801F2508; // type:object size:0x4 data:float -lbl_801F250C = .sdata2:0x801F250C; // type:object size:0x4 data:float -lbl_801F2510 = .sdata2:0x801F2510; // type:object size:0x4 data:float -lbl_801F2514 = .sdata2:0x801F2514; // type:object size:0x4 data:float -lbl_801F2518 = .sdata2:0x801F2518; // type:object size:0x4 data:float -lbl_801F251C = .sdata2:0x801F251C; // type:object size:0x4 data:float -lbl_801F2520 = .sdata2:0x801F2520; // type:object size:0x8 data:double -lbl_801F2528 = .sdata2:0x801F2528; // type:object size:0x8 data:double -lbl_801F2530 = .sdata2:0x801F2530; // type:object size:0x4 data:float -lbl_801F2534 = .sdata2:0x801F2534; // type:object size:0x4 data:float -lbl_801F2538 = .sdata2:0x801F2538; // type:object size:0x8 data:double -lbl_801F2540 = .sdata2:0x801F2540; // type:object size:0x8 data:double -lbl_801F2548 = .sdata2:0x801F2548; // type:object size:0x4 data:float -lbl_801F254C = .sdata2:0x801F254C; // type:object size:0x4 data:float -lbl_801F2550 = .sdata2:0x801F2550; // type:object size:0x4 data:float -lbl_801F2554 = .sdata2:0x801F2554; // type:object size:0x4 data:float -lbl_801F2558 = .sdata2:0x801F2558; // type:object size:0x4 data:float -lbl_801F255C = .sdata2:0x801F255C; // type:object size:0x4 data:float -lbl_801F2560 = .sdata2:0x801F2560; // type:object size:0x8 data:double -lbl_801F2568 = .sdata2:0x801F2568; // type:object size:0x4 data:float -lbl_801F256C = .sdata2:0x801F256C; // type:object size:0x4 data:float -lbl_801F2570 = .sdata2:0x801F2570; // type:object size:0x8 data:double -lbl_801F2578 = .sdata2:0x801F2578; // type:object size:0x4 data:float -lbl_801F257C = .sdata2:0x801F257C; // type:object size:0x4 data:float -lbl_801F2580 = .sdata2:0x801F2580; // type:object size:0x4 data:float -lbl_801F2584 = .sdata2:0x801F2584; // type:object size:0x4 data:float -lbl_801F2588 = .sdata2:0x801F2588; // type:object size:0x4 data:float -lbl_801F258C = .sdata2:0x801F258C; // type:object size:0x4 data:float -lbl_801F2590 = .sdata2:0x801F2590; // type:object size:0x4 data:float -lbl_801F2594 = .sdata2:0x801F2594; // type:object size:0x4 data:float -lbl_801F2598 = .sdata2:0x801F2598; // type:object size:0x4 data:float -lbl_801F259C = .sdata2:0x801F259C; // type:object size:0x4 data:float -lbl_801F25A0 = .sdata2:0x801F25A0; // type:object size:0x4 data:float -lbl_801F25A4 = .sdata2:0x801F25A4; // type:object size:0x4 data:float -lbl_801F25A8 = .sdata2:0x801F25A8; // type:object size:0x4 data:float -lbl_801F25AC = .sdata2:0x801F25AC; // type:object size:0x4 data:float -lbl_801F25B0 = .sdata2:0x801F25B0; // type:object size:0x4 data:float -lbl_801F25B4 = .sdata2:0x801F25B4; // type:object size:0x4 data:float -lbl_801F25B8 = .sdata2:0x801F25B8; // type:object size:0x4 data:float -lbl_801F25BC = .sdata2:0x801F25BC; // type:object size:0x4 data:float -lbl_801F25C0 = .sdata2:0x801F25C0; // type:object size:0x4 data:float -lbl_801F25C4 = .sdata2:0x801F25C4; // type:object size:0x4 data:float -lbl_801F25C8 = .sdata2:0x801F25C8; // type:object size:0x4 data:float -lbl_801F25CC = .sdata2:0x801F25CC; // type:object size:0x4 data:float -lbl_801F25D0 = .sdata2:0x801F25D0; // type:object size:0x4 data:float -lbl_801F25D8 = .sdata2:0x801F25D8; // type:object size:0x8 data:double -lbl_801F25E0 = .sdata2:0x801F25E0; // type:object size:0x8 data:double -lbl_801F25E8 = .sdata2:0x801F25E8; // type:object size:0x4 data:float -lbl_801F25F0 = .sdata2:0x801F25F0; // type:object size:0x8 data:double -lbl_801F25F8 = .sdata2:0x801F25F8; // type:object size:0x4 data:float -lbl_801F2600 = .sdata2:0x801F2600; // type:object size:0x8 data:double -lbl_801F2608 = .sdata2:0x801F2608; // type:object size:0x4 data:float -lbl_801F260C = .sdata2:0x801F260C; // type:object size:0x4 data:float -lbl_801F2610 = .sdata2:0x801F2610; // type:object size:0x4 data:float -lbl_801F2614 = .sdata2:0x801F2614; // type:object size:0x4 data:float -lbl_801F2618 = .sdata2:0x801F2618; // type:object size:0x8 data:double -lbl_801F2620 = .sdata2:0x801F2620; // type:object size:0x8 data:double -lbl_801F2628 = .sdata2:0x801F2628; // type:object size:0x4 data:float -lbl_801F262C = .sdata2:0x801F262C; // type:object size:0x4 data:float -lbl_801F2630 = .sdata2:0x801F2630; // type:object size:0x4 data:float -lbl_801F2634 = .sdata2:0x801F2634; // type:object size:0x4 data:float -lbl_801F2638 = .sdata2:0x801F2638; // type:object size:0x4 data:float -lbl_801F263C = .sdata2:0x801F263C; // type:object size:0x4 data:float -lbl_801F2640 = .sdata2:0x801F2640; // type:object size:0x4 data:float -lbl_801F2644 = .sdata2:0x801F2644; // type:object size:0x4 data:float -lbl_801F2648 = .sdata2:0x801F2648; // type:object size:0x4 data:float -lbl_801F264C = .sdata2:0x801F264C; // type:object size:0x4 data:float -lbl_801F2650 = .sdata2:0x801F2650; // type:object size:0x4 data:float -lbl_801F2654 = .sdata2:0x801F2654; // type:object size:0x4 data:float -lbl_801F2658 = .sdata2:0x801F2658; // type:object size:0x4 data:float -lbl_801F265C = .sdata2:0x801F265C; // type:object size:0x4 data:float -lbl_801F2660 = .sdata2:0x801F2660; // type:object size:0x4 data:4byte -lbl_801F2664 = .sdata2:0x801F2664; // type:object size:0x4 data:4byte -lbl_801F2668 = .sdata2:0x801F2668; // type:object size:0x4 data:float -lbl_801F266C = .sdata2:0x801F266C; // type:object size:0x4 data:float -lbl_801F2670 = .sdata2:0x801F2670; // type:object size:0x4 data:float -lbl_801F2674 = .sdata2:0x801F2674; // type:object size:0x4 data:float -lbl_801F2678 = .sdata2:0x801F2678; // type:object size:0x4 data:float -lbl_801F267C = .sdata2:0x801F267C; // type:object size:0x4 data:float -lbl_801F2680 = .sdata2:0x801F2680; // type:object size:0x4 data:float -lbl_801F2684 = .sdata2:0x801F2684; // type:object size:0x4 data:float -lbl_801F2688 = .sdata2:0x801F2688; // type:object size:0x4 data:float -lbl_801F268C = .sdata2:0x801F268C; // type:object size:0x2 data:2byte -lbl_801F268E = .sdata2:0x801F268E; // type:object size:0x2 data:2byte -lbl_801F2690 = .sdata2:0x801F2690; // type:object size:0x2 data:2byte -lbl_801F2692 = .sdata2:0x801F2692; // type:object size:0x2 data:2byte -lbl_801F2694 = .sdata2:0x801F2694; // type:object size:0x1 data:byte -lbl_801F2695 = .sdata2:0x801F2695; // type:object size:0x1 data:byte -lbl_801F2696 = .sdata2:0x801F2696; // type:object size:0x1 data:byte -lbl_801F2697 = .sdata2:0x801F2697; // type:object size:0x1 data:byte -lbl_801F2698 = .sdata2:0x801F2698; // type:object size:0x1 data:byte -lbl_801F2699 = .sdata2:0x801F2699; // type:object size:0x1 data:byte -lbl_801F269A = .sdata2:0x801F269A; // type:object size:0x1 data:byte -lbl_801F269B = .sdata2:0x801F269B; // type:object size:0x1 data:byte -lbl_801F269C = .sdata2:0x801F269C; // type:object size:0x4 data:float -lbl_801F26A0 = .sdata2:0x801F26A0; // type:object size:0x4 data:float -lbl_801F26A4 = .sdata2:0x801F26A4; // type:object size:0x4 data:float -lbl_801F26A8 = .sdata2:0x801F26A8; // type:object size:0x4 data:float -lbl_801F26AC = .sdata2:0x801F26AC; // type:object size:0x4 data:float -lbl_801F26B0 = .sdata2:0x801F26B0; // type:object size:0x4 data:float -lbl_801F26B8 = .sdata2:0x801F26B8; // type:object size:0x8 data:double -lbl_801F26C0 = .sdata2:0x801F26C0; // type:object size:0x4 data:float -lbl_801F26C4 = .sdata2:0x801F26C4; // type:object size:0x4 data:float -lbl_801F26C8 = .sdata2:0x801F26C8; // type:object size:0x4 data:float -lbl_801F26CC = .sdata2:0x801F26CC; // type:object size:0x4 data:float -lbl_801F26D0 = .sdata2:0x801F26D0; // type:object size:0x8 data:float -winSpeedTbl = .sdata2:0x801F26D8; // type:object size:0x4 scope:local -lbl_801F26DC = .sdata2:0x801F26DC; // type:object size:0x4 data:float -lbl_801F26E0 = .sdata2:0x801F26E0; // type:object size:0x4 data:float -lbl_801F26E4 = .sdata2:0x801F26E4; // type:object size:0x4 data:float -lbl_801F26E8 = .sdata2:0x801F26E8; // type:object size:0x8 data:double -lbl_801F26F0 = .sdata2:0x801F26F0; // type:object size:0x8 data:double -lbl_801F26F8 = .sdata2:0x801F26F8; // type:object size:0x8 data:double -lbl_801F2700 = .sdata2:0x801F2700; // type:object size:0x4 data:float -lbl_801F2704 = .sdata2:0x801F2704; // type:object size:0x4 data:float -lbl_801F2708 = .sdata2:0x801F2708; // type:object size:0x8 data:float -lbl_801F2710 = .sdata2:0x801F2710; // type:object size:0x4 data:float -lbl_801F2714 = .sdata2:0x801F2714; // type:object size:0x4 data:float -lbl_801F2718 = .sdata2:0x801F2718; // type:object size:0x4 data:float -lbl_801F2720 = .sdata2:0x801F2720; // type:object size:0x8 data:double -lbl_801F2728 = .sdata2:0x801F2728; // type:object size:0x8 data:double -lbl_801F2730 = .sdata2:0x801F2730; // type:object size:0x4 data:float -lbl_801F2734 = .sdata2:0x801F2734; // type:object size:0x4 data:float -lbl_801F2738 = .sdata2:0x801F2738; // type:object size:0x4 data:float -lbl_801F273C = .sdata2:0x801F273C; // type:object size:0x4 data:float -lbl_801F2740 = .sdata2:0x801F2740; // type:object size:0x4 data:float -lbl_801F2744 = .sdata2:0x801F2744; // type:object size:0x4 data:float -lbl_801F2748 = .sdata2:0x801F2748; // type:object size:0x4 data:float -lbl_801F274C = .sdata2:0x801F274C; // type:object size:0x4 data:float -lbl_801F2750 = .sdata2:0x801F2750; // type:object size:0x4 data:float -lbl_801F2754 = .sdata2:0x801F2754; // type:object size:0x4 data:float -lbl_801F2758 = .sdata2:0x801F2758; // type:object size:0x4 data:float -lbl_801F275C = .sdata2:0x801F275C; // type:object size:0x4 data:float -lbl_801F2760 = .sdata2:0x801F2760; // type:object size:0x4 data:float -lbl_801F2764 = .sdata2:0x801F2764; // type:object size:0x4 data:float -lbl_801F2768 = .sdata2:0x801F2768; // type:object size:0x4 data:float -lbl_801F2770 = .sdata2:0x801F2770; // type:object size:0x8 data:double -lbl_801F2778 = .sdata2:0x801F2778; // type:object size:0x4 data:float -lbl_801F277C = .sdata2:0x801F277C; // type:object size:0x4 data:float -lbl_801F2780 = .sdata2:0x801F2780; // type:object size:0x1 data:byte -lbl_801F2781 = .sdata2:0x801F2781; // type:object size:0x1 data:byte -lbl_801F2782 = .sdata2:0x801F2782; // type:object size:0x1 data:byte -lbl_801F2783 = .sdata2:0x801F2783; // type:object size:0x1 data:byte -lbl_801F2784 = .sdata2:0x801F2784; // type:object size:0x1 data:byte -lbl_801F2785 = .sdata2:0x801F2785; // type:object size:0x1 data:byte -lbl_801F2786 = .sdata2:0x801F2786; // type:object size:0x1 data:byte -lbl_801F2787 = .sdata2:0x801F2787; // type:object size:0x1 data:byte -lbl_801F2788 = .sdata2:0x801F2788; // type:object size:0x4 data:float -lbl_801F278C = .sdata2:0x801F278C; // type:object size:0x4 data:float -lbl_801F2790 = .sdata2:0x801F2790; // type:object size:0x8 data:double -lbl_801F2798 = .sdata2:0x801F2798; // type:object size:0x8 data:double -lbl_801F27A0 = .sdata2:0x801F27A0; // type:object size:0x8 data:double -lbl_801F27A8 = .sdata2:0x801F27A8; // type:object size:0x4 data:float -lbl_801F27B0 = .sdata2:0x801F27B0; // type:object size:0x8 data:double -lbl_801F27B8 = .sdata2:0x801F27B8; // type:object size:0x4 data:float -lbl_801F27BC = .sdata2:0x801F27BC; // type:object size:0x4 data:float -lbl_801F27C0 = .sdata2:0x801F27C0; // type:object size:0x4 data:float -lbl_801F27C4 = .sdata2:0x801F27C4; // type:object size:0x4 data:float -lbl_801F27C8 = .sdata2:0x801F27C8; // type:object size:0x4 data:float -lbl_801F27CC = .sdata2:0x801F27CC; // type:object size:0x4 data:float -lbl_801F27D0 = .sdata2:0x801F27D0; // type:object size:0x4 data:float -lbl_801F27D4 = .sdata2:0x801F27D4; // type:object size:0x1 data:byte -lbl_801F27D5 = .sdata2:0x801F27D5; // type:object size:0x1 data:byte -lbl_801F27D6 = .sdata2:0x801F27D6; // type:object size:0x1 data:byte -lbl_801F27D7 = .sdata2:0x801F27D7; // type:object size:0x1 data:byte -lbl_801F27D8 = .sdata2:0x801F27D8; // type:object size:0x4 data:float -lbl_801F27DC = .sdata2:0x801F27DC; // type:object size:0x4 data:float -lbl_801F27E0 = .sdata2:0x801F27E0; // type:object size:0x4 data:float -lbl_801F27E4 = .sdata2:0x801F27E4; // type:object size:0x4 data:float -lbl_801F27E8 = .sdata2:0x801F27E8; // type:object size:0x4 data:float -lbl_801F27EC = .sdata2:0x801F27EC; // type:object size:0x4 data:float -lbl_801F27F0 = .sdata2:0x801F27F0; // type:object size:0x4 data:float -lbl_801F27F4 = .sdata2:0x801F27F4; // type:object size:0x4 data:float -lbl_801F27F8 = .sdata2:0x801F27F8; // type:object size:0x4 data:float -lbl_801F27FC = .sdata2:0x801F27FC; // type:object size:0x4 data:float -lbl_801F2800 = .sdata2:0x801F2800; // type:object size:0x4 data:4byte -lbl_801F2804 = .sdata2:0x801F2804; // type:object size:0x4 data:4byte -lbl_801F2808 = .sdata2:0x801F2808; // type:object size:0x4 data:float -lbl_801F2810 = .sdata2:0x801F2810; // type:object size:0x8 data:double -lbl_801F2818 = .sdata2:0x801F2818; // type:object size:0x8 data:double -lbl_801F2820 = .sdata2:0x801F2820; // type:object size:0x4 data:float -lbl_801F2824 = .sdata2:0x801F2824; // type:object size:0x4 data:float -lbl_801F2828 = .sdata2:0x801F2828; // type:object size:0x4 data:float -lbl_801F282C = .sdata2:0x801F282C; // type:object size:0x4 data:float -lbl_801F2830 = .sdata2:0x801F2830; // type:object size:0x4 data:float -lbl_801F2834 = .sdata2:0x801F2834; // type:object size:0x4 data:float -lbl_801F2838 = .sdata2:0x801F2838; // type:object size:0x4 data:float -lbl_801F283C = .sdata2:0x801F283C; // type:object size:0x4 data:float -lbl_801F2840 = .sdata2:0x801F2840; // type:object size:0x4 data:float -lbl_801F2844 = .sdata2:0x801F2844; // type:object size:0x4 data:float -lbl_801F2848 = .sdata2:0x801F2848; // type:object size:0x4 data:float -lbl_801F284C = .sdata2:0x801F284C; // type:object size:0x4 data:float -lbl_801F2850 = .sdata2:0x801F2850; // type:object size:0x4 data:float -lbl_801F2854 = .sdata2:0x801F2854; // type:object size:0x4 data:float -lbl_801F2858 = .sdata2:0x801F2858; // type:object size:0x4 data:float -lbl_801F285C = .sdata2:0x801F285C; // type:object size:0x4 data:float -lbl_801F2860 = .sdata2:0x801F2860; // type:object size:0x4 data:float -lbl_801F2868 = .sdata2:0x801F2868; // type:object size:0x8 data:double -lbl_801F2870 = .sdata2:0x801F2870; // type:object size:0x4 data:float -lbl_801F2874 = .sdata2:0x801F2874; // type:object size:0x4 data:float -lbl_801F2878 = .sdata2:0x801F2878; // type:object size:0x4 data:float -lbl_801F287C = .sdata2:0x801F287C; // type:object size:0x4 data:float -lbl_801F2880 = .sdata2:0x801F2880; // type:object size:0x4 data:float -lbl_801F2884 = .sdata2:0x801F2884; // type:object size:0x4 data:float -lbl_801F2888 = .sdata2:0x801F2888; // type:object size:0x4 data:float -lbl_801F288C = .sdata2:0x801F288C; // type:object size:0x4 data:float -lbl_801F2890 = .sdata2:0x801F2890; // type:object size:0x4 data:float -lbl_801F2894 = .sdata2:0x801F2894; // type:object size:0x4 data:float -lbl_801F2898 = .sdata2:0x801F2898; // type:object size:0x4 data:float -lbl_801F289C = .sdata2:0x801F289C; // type:object size:0x4 data:float -lbl_801F28A0 = .sdata2:0x801F28A0; // type:object size:0x4 data:float -lbl_801F28A8 = .sdata2:0x801F28A8; // type:object size:0x8 data:double -lbl_801F28B0 = .sdata2:0x801F28B0; // type:object size:0x4 data:float -lbl_801F28B4 = .sdata2:0x801F28B4; // type:object size:0x4 data:float -lbl_801F28B8 = .sdata2:0x801F28B8; // type:object size:0x4 data:float -lbl_801F28C0 = .sdata2:0x801F28C0; // type:object size:0x8 data:double -lbl_801F28C8 = .sdata2:0x801F28C8; // type:object size:0x4 data:float -lbl_801F28CC = .sdata2:0x801F28CC; // type:object size:0x4 data:float -lbl_801F28D0 = .sdata2:0x801F28D0; // type:object size:0x8 data:float -lbl_801F28D8 = .sdata2:0x801F28D8; // type:object size:0x4 data:float -lbl_801F28DC = .sdata2:0x801F28DC; // type:object size:0x4 data:4byte -lbl_801F28E0 = .sdata2:0x801F28E0; // type:object size:0x4 data:4byte -lbl_801F28E4 = .sdata2:0x801F28E4; // type:object size:0x4 data:float -lbl_801F28E8 = .sdata2:0x801F28E8; // type:object size:0x4 data:float -lbl_801F28F0 = .sdata2:0x801F28F0; // type:object size:0x8 data:double -lbl_801F28F8 = .sdata2:0x801F28F8; // type:object size:0x8 data:double -lbl_801F2900 = .sdata2:0x801F2900; // type:object size:0x4 data:float -lbl_801F2904 = .sdata2:0x801F2904; // type:object size:0x4 data:float -lbl_801F2908 = .sdata2:0x801F2908; // type:object size:0x4 data:float -lbl_801F290C = .sdata2:0x801F290C; // type:object size:0x4 data:float -lbl_801F2910 = .sdata2:0x801F2910; // type:object size:0x8 data:double -lbl_801F2918 = .sdata2:0x801F2918; // type:object size:0x4 data:float -lbl_801F291C = .sdata2:0x801F291C; // type:object size:0x4 data:float -lbl_801F2920 = .sdata2:0x801F2920; // type:object size:0x4 data:float -lbl_801F2924 = .sdata2:0x801F2924; // type:object size:0x4 data:float -lbl_801F2928 = .sdata2:0x801F2928; // type:object size:0x4 data:float -lbl_801F292C = .sdata2:0x801F292C; // type:object size:0x4 data:float -lbl_801F2930 = .sdata2:0x801F2930; // type:object size:0x4 data:float -lbl_801F2934 = .sdata2:0x801F2934; // type:object size:0x4 data:float -lbl_801F2938 = .sdata2:0x801F2938; // type:object size:0x4 data:float -lbl_801F293C = .sdata2:0x801F293C; // type:object size:0x4 data:float -lbl_801F2940 = .sdata2:0x801F2940; // type:object size:0x4 data:float -lbl_801F2944 = .sdata2:0x801F2944; // type:object size:0x4 data:float -lbl_801F2948 = .sdata2:0x801F2948; // type:object size:0x4 data:float -lbl_801F294C = .sdata2:0x801F294C; // type:object size:0x4 data:4byte -lbl_801F2950 = .sdata2:0x801F2950; // type:object size:0x4 data:4byte -lbl_801F2954 = .sdata2:0x801F2954; // type:object size:0x2 data:2byte -lbl_801F2956 = .sdata2:0x801F2956; // type:object size:0x2 data:2byte -lbl_801F2958 = .sdata2:0x801F2958; // type:object size:0x2 data:2byte -lbl_801F295A = .sdata2:0x801F295A; // type:object size:0x2 data:2byte -lbl_801F295C = .sdata2:0x801F295C; // type:object size:0x4 data:float -lbl_801F2960 = .sdata2:0x801F2960; // type:object size:0x4 data:float -lbl_801F2964 = .sdata2:0x801F2964; // type:object size:0x4 data:float -lbl_801F2968 = .sdata2:0x801F2968; // type:object size:0x4 data:float -lbl_801F296C = .sdata2:0x801F296C; // type:object size:0x4 data:float -lbl_801F2970 = .sdata2:0x801F2970; // type:object size:0x4 data:float -lbl_801F2974 = .sdata2:0x801F2974; // type:object size:0x4 data:float -lbl_801F2978 = .sdata2:0x801F2978; // type:object size:0x4 data:float -lbl_801F297C = .sdata2:0x801F297C; // type:object size:0x4 data:float -lbl_801F2980 = .sdata2:0x801F2980; // type:object size:0x4 data:float -lbl_801F2984 = .sdata2:0x801F2984; // type:object size:0x4 data:float -lbl_801F2988 = .sdata2:0x801F2988; // type:object size:0x4 data:float -lbl_801F298C = .sdata2:0x801F298C; // type:object size:0x4 data:float -lbl_801F2990 = .sdata2:0x801F2990; // type:object size:0x4 data:float -lbl_801F2994 = .sdata2:0x801F2994; // type:object size:0x4 data:float -lbl_801F2998 = .sdata2:0x801F2998; // type:object size:0x4 data:float -lbl_801F299C = .sdata2:0x801F299C; // type:object size:0x4 data:float -lbl_801F29A0 = .sdata2:0x801F29A0; // type:object size:0x4 data:float -lbl_801F29A4 = .sdata2:0x801F29A4; // type:object size:0x4 data:float -lbl_801F29A8 = .sdata2:0x801F29A8; // type:object size:0x4 data:float -lbl_801F29AC = .sdata2:0x801F29AC; // type:object size:0x4 data:float -lbl_801F29B0 = .sdata2:0x801F29B0; // type:object size:0x4 data:float -lbl_801F29B4 = .sdata2:0x801F29B4; // type:object size:0x4 data:float -lbl_801F29B8 = .sdata2:0x801F29B8; // type:object size:0x4 data:float -lbl_801F29BC = .sdata2:0x801F29BC; // type:object size:0x4 data:float -lbl_801F29C0 = .sdata2:0x801F29C0; // type:object size:0x4 data:float -lbl_801F29C4 = .sdata2:0x801F29C4; // type:object size:0x4 data:float -lbl_801F29C8 = .sdata2:0x801F29C8; // type:object size:0x4 data:float -lbl_801F29CC = .sdata2:0x801F29CC; // type:object size:0x4 data:float -lbl_801F29D0 = .sdata2:0x801F29D0; // type:object size:0x4 data:float -lbl_801F29D4 = .sdata2:0x801F29D4; // type:object size:0x4 data:float -lbl_801F29D8 = .sdata2:0x801F29D8; // type:object size:0x4 data:float -lbl_801F29DC = .sdata2:0x801F29DC; // type:object size:0x4 data:float -lbl_801F29E0 = .sdata2:0x801F29E0; // type:object size:0x4 data:float -lbl_801F29E4 = .sdata2:0x801F29E4; // type:object size:0x4 data:float -lbl_801F29E8 = .sdata2:0x801F29E8; // type:object size:0x4 data:float -lbl_801F29EC = .sdata2:0x801F29EC; // type:object size:0x4 data:float -lbl_801F29F0 = .sdata2:0x801F29F0; // type:object size:0x8 data:double -lbl_801F29F8 = .sdata2:0x801F29F8; // type:object size:0x8 data:double -lbl_801F2A00 = .sdata2:0x801F2A00; // type:object size:0x4 data:float -lbl_801F2A04 = .sdata2:0x801F2A04; // type:object size:0x4 data:float -lbl_801F2A08 = .sdata2:0x801F2A08; // type:object size:0x4 data:float -lbl_801F2A0C = .sdata2:0x801F2A0C; // type:object size:0x4 data:float -lbl_801F2A10 = .sdata2:0x801F2A10; // type:object size:0x4 data:float -lbl_801F2A14 = .sdata2:0x801F2A14; // type:object size:0x4 data:float -lbl_801F2A18 = .sdata2:0x801F2A18; // type:object size:0x4 data:float -lbl_801F2A1C = .sdata2:0x801F2A1C; // type:object size:0x4 data:float -lbl_801F2A20 = .sdata2:0x801F2A20; // type:object size:0x4 data:float -lbl_801F2A24 = .sdata2:0x801F2A24; // type:object size:0x4 data:float -lbl_801F2A28 = .sdata2:0x801F2A28; // type:object size:0x4 data:float -lbl_801F2A2C = .sdata2:0x801F2A2C; // type:object size:0x4 data:float -lbl_801F2A30 = .sdata2:0x801F2A30; // type:object size:0x8 data:double -lbl_801F2A38 = .sdata2:0x801F2A38; // type:object size:0x4 data:4byte -lbl_801F2A3C = .sdata2:0x801F2A3C; // type:object size:0x4 data:4byte -lbl_801F2A40 = .sdata2:0x801F2A40; // type:object size:0x1 data:byte -lbl_801F2A41 = .sdata2:0x801F2A41; // type:object size:0x1 data:byte -lbl_801F2A44 = .sdata2:0x801F2A44; // type:object size:0x4 data:float -lbl_801F2A48 = .sdata2:0x801F2A48; // type:object size:0x4 data:float -lbl_801F2A4C = .sdata2:0x801F2A4C; // type:object size:0x4 data:float -lbl_801F2A50 = .sdata2:0x801F2A50; // type:object size:0x4 data:float -lbl_801F2A54 = .sdata2:0x801F2A54; // type:object size:0x4 data:float -lbl_801F2A58 = .sdata2:0x801F2A58; // type:object size:0x4 data:float -lbl_801F2A5C = .sdata2:0x801F2A5C; // type:object size:0x4 data:float -lbl_801F2A60 = .sdata2:0x801F2A60; // type:object size:0x8 data:float -lbl_801F2A68 = .sdata2:0x801F2A68; // type:object size:0x4 data:float -lbl_801F2A6C = .sdata2:0x801F2A6C; // type:object size:0x4 data:float -lbl_801F2A70 = .sdata2:0x801F2A70; // type:object size:0x4 data:float -lbl_801F2A74 = .sdata2:0x801F2A74; // type:object size:0x4 data:float -coinSignMdl = .sdata2:0x801F2A78; // type:object size:0x8 scope:local -lbl_801F2A80 = .sdata2:0x801F2A80; // type:object size:0x4 data:float -lbl_801F2A84 = .sdata2:0x801F2A84; // type:object size:0x4 data:float -lbl_801F2A88 = .sdata2:0x801F2A88; // type:object size:0x4 data:float -lbl_801F2A90 = .sdata2:0x801F2A90; // type:object size:0x8 data:double -lbl_801F2A98 = .sdata2:0x801F2A98; // type:object size:0x8 data:double -lbl_801F2AA0 = .sdata2:0x801F2AA0; // type:object size:0x4 data:float -lbl_801F2AA4 = .sdata2:0x801F2AA4; // type:object size:0x4 data:float -lbl_801F2AA8 = .sdata2:0x801F2AA8; // type:object size:0x4 data:float -lbl_801F2AB0 = .sdata2:0x801F2AB0; // type:object size:0x8 data:double -lbl_801F2AB8 = .sdata2:0x801F2AB8; // type:object size:0x4 data:float -lbl_801F2ABC = .sdata2:0x801F2ABC; // type:object size:0x4 data:float -lbl_801F2AC0 = .sdata2:0x801F2AC0; // type:object size:0x4 data:float -lbl_801F2AC4 = .sdata2:0x801F2AC4; // type:object size:0x4 data:float -lbl_801F2AC8 = .sdata2:0x801F2AC8; // type:object size:0x4 data:float -lbl_801F2ACC = .sdata2:0x801F2ACC; // type:object size:0x4 data:float -lbl_801F2AD0 = .sdata2:0x801F2AD0; // type:object size:0x4 data:float -lbl_801F2AD4 = .sdata2:0x801F2AD4; // type:object size:0x4 data:float -lbl_801F2AD8 = .sdata2:0x801F2AD8; // type:object size:0x8 data:double -lbl_801F2AE0 = .sdata2:0x801F2AE0; // type:object size:0x8 data:double -lbl_801F2AE8 = .sdata2:0x801F2AE8; // type:object size:0x4 data:float -lbl_801F2AF0 = .sdata2:0x801F2AF0; // type:object size:0x8 data:double -lbl_801F2AF8 = .sdata2:0x801F2AF8; // type:object size:0x4 data:float -lbl_801F2AFC = .sdata2:0x801F2AFC; // type:object size:0x4 data:float -lbl_801F2B00 = .sdata2:0x801F2B00; // type:object size:0x4 data:float -lbl_801F2B04 = .sdata2:0x801F2B04; // type:object size:0x4 data:float -lbl_801F2B08 = .sdata2:0x801F2B08; // type:object size:0x4 data:float -lbl_801F2B0C = .sdata2:0x801F2B0C; // type:object size:0x4 data:float -lbl_801F2B10 = .sdata2:0x801F2B10; // type:object size:0x4 data:float -lbl_801F2B14 = .sdata2:0x801F2B14; // type:object size:0x4 data:float -lbl_801F2B18 = .sdata2:0x801F2B18; // type:object size:0x4 data:float -lbl_801F2B1C = .sdata2:0x801F2B1C; // type:object size:0x4 data:float -lbl_801F2B20 = .sdata2:0x801F2B20; // type:object size:0x4 data:float -lbl_801F2B24 = .sdata2:0x801F2B24; // type:object size:0x4 data:float -lbl_801F2B28 = .sdata2:0x801F2B28; // type:object size:0x4 data:float -lbl_801F2B30 = .sdata2:0x801F2B30; // type:object size:0x8 data:double -lbl_801F2B38 = .sdata2:0x801F2B38; // type:object size:0x8 data:double -lbl_801F2B40 = .sdata2:0x801F2B40; // type:object size:0x8 data:float -lbl_801F2B48 = .sdata2:0x801F2B48; // type:object size:0x4 data:float -lbl_801F2B4C = .sdata2:0x801F2B4C; // type:object size:0x4 data:float -lbl_801F2B50 = .sdata2:0x801F2B50; // type:object size:0x4 data:float -lbl_801F2B54 = .sdata2:0x801F2B54; // type:object size:0x4 data:float -lbl_801F2B58 = .sdata2:0x801F2B58; // type:object size:0x4 data:float -lbl_801F2B5C = .sdata2:0x801F2B5C; // type:object size:0x4 data:float -lbl_801F2B60 = .sdata2:0x801F2B60; // type:object size:0x4 data:float -lbl_801F2B64 = .sdata2:0x801F2B64; // type:object size:0x4 data:float -lbl_801F2B68 = .sdata2:0x801F2B68; // type:object size:0x4 data:float -lbl_801F2B6C = .sdata2:0x801F2B6C; // type:object size:0x4 data:float -lbl_801F2B70 = .sdata2:0x801F2B70; // type:object size:0x4 data:float -lbl_801F2B74 = .sdata2:0x801F2B74; // type:object size:0x4 data:float -lbl_801F2B78 = .sdata2:0x801F2B78; // type:object size:0x4 data:float -lbl_801F2B7C = .sdata2:0x801F2B7C; // type:object size:0x4 data:float -lbl_801F2B80 = .sdata2:0x801F2B80; // type:object size:0x4 data:float -lbl_801F2B84 = .sdata2:0x801F2B84; // type:object size:0x4 data:float -lbl_801F2B88 = .sdata2:0x801F2B88; // type:object size:0x8 data:double -lbl_801F2B90 = .sdata2:0x801F2B90; // type:object size:0x4 data:float -lbl_801F2B94 = .sdata2:0x801F2B94; // type:object size:0x4 data:float -lbl_801F2B98 = .sdata2:0x801F2B98; // type:object size:0x4 data:float -lbl_801F2B9C = .sdata2:0x801F2B9C; // type:object size:0x4 data:float -lbl_801F2BA0 = .sdata2:0x801F2BA0; // type:object size:0x4 data:float -lbl_801F2BA4 = .sdata2:0x801F2BA4; // type:object size:0x4 data:float -lbl_801F2BA8 = .sdata2:0x801F2BA8; // type:object size:0x4 data:float -lbl_801F2BAC = .sdata2:0x801F2BAC; // type:object size:0x4 data:float -lbl_801F2BB0 = .sdata2:0x801F2BB0; // type:object size:0x8 data:double -lbl_801F2BB8 = .sdata2:0x801F2BB8; // type:object size:0x8 data:double -lbl_801F2BC0 = .sdata2:0x801F2BC0; // type:object size:0x4 data:float -lbl_801F2BC8 = .sdata2:0x801F2BC8; // type:object size:0x8 data:double -lbl_801F2BD0 = .sdata2:0x801F2BD0; // type:object size:0x8 data:float -boxOfs = .sdata2:0x801F2BD8; // type:object size:0x8 scope:local -lbl_801F2BE0 = .sdata2:0x801F2BE0; // type:object size:0x4 data:float -lbl_801F2BE4 = .sdata2:0x801F2BE4; // type:object size:0x4 data:float -lbl_801F2BE8 = .sdata2:0x801F2BE8; // type:object size:0x4 data:float -lbl_801F2BEC = .sdata2:0x801F2BEC; // type:object size:0x4 data:float -lbl_801F2BF0 = .sdata2:0x801F2BF0; // type:object size:0x4 data:float -lbl_801F2BF4 = .sdata2:0x801F2BF4; // type:object size:0x4 data:float -lbl_801F2BF8 = .sdata2:0x801F2BF8; // type:object size:0x8 data:double -lbl_801F2C00 = .sdata2:0x801F2C00; // type:object size:0x8 data:double -lbl_801F2C08 = .sdata2:0x801F2C08; // type:object size:0x8 data:double -lbl_801F2C10 = .sdata2:0x801F2C10; // type:object size:0x4 data:float -lbl_801F2C14 = .sdata2:0x801F2C14; // type:object size:0x4 data:float -lbl_801F2C18 = .sdata2:0x801F2C18; // type:object size:0x4 data:float -lbl_801F2C1C = .sdata2:0x801F2C1C; // type:object size:0x4 data:4byte -lbl_801F2C20 = .sdata2:0x801F2C20; // type:object size:0x4 data:4byte -lbl_801F2C24 = .sdata2:0x801F2C24; // type:object size:0x4 data:float -lbl_801F2C28 = .sdata2:0x801F2C28; // type:object size:0x4 data:float -lbl_801F2C2C = .sdata2:0x801F2C2C; // type:object size:0x4 data:float -lbl_801F2C30 = .sdata2:0x801F2C30; // type:object size:0x4 data:float -lbl_801F2C34 = .sdata2:0x801F2C34; // type:object size:0x4 data:4byte -lbl_801F2C38 = .sdata2:0x801F2C38; // type:object size:0x4 data:4byte -lbl_801F2C3C = .sdata2:0x801F2C3C; // type:object size:0x4 data:float -lbl_801F2C40 = .sdata2:0x801F2C40; // type:object size:0x4 data:float -lbl_801F2C44 = .sdata2:0x801F2C44; // type:object size:0x4 data:float -lbl_801F2C48 = .sdata2:0x801F2C48; // type:object size:0x4 data:float -lbl_801F2C4C = .sdata2:0x801F2C4C; // type:object size:0x4 data:float -lbl_801F2C50 = .sdata2:0x801F2C50; // type:object size:0x8 data:double -lbl_801F2C58 = .sdata2:0x801F2C58; // type:object size:0x4 data:float -lbl_801F2C60 = .sdata2:0x801F2C60; // type:object size:0x8 data:double -lbl_801F2C68 = .sdata2:0x801F2C68; // type:object size:0x8 data:double -lbl_801F2C70 = .sdata2:0x801F2C70; // type:object size:0x8 data:double -lbl_801F2C78 = .sdata2:0x801F2C78; // type:object size:0x4 data:float -lbl_801F2C7C = .sdata2:0x801F2C7C; // type:object size:0x4 data:float -lbl_801F2C80 = .sdata2:0x801F2C80; // type:object size:0x4 data:float -lbl_801F2C84 = .sdata2:0x801F2C84; // type:object size:0x4 data:float -lbl_801F2C88 = .sdata2:0x801F2C88; // type:object size:0x4 data:float -lbl_801F2C8C = .sdata2:0x801F2C8C; // type:object size:0x4 data:float -lbl_801F2C90 = .sdata2:0x801F2C90; // type:object size:0x4 data:float -lbl_801F2C94 = .sdata2:0x801F2C94; // type:object size:0x4 data:float -lbl_801F2C98 = .sdata2:0x801F2C98; // type:object size:0x4 data:float -lbl_801F2C9C = .sdata2:0x801F2C9C; // type:object size:0x4 data:float -lbl_801F2CA0 = .sdata2:0x801F2CA0; // type:object size:0x4 data:float -lbl_801F2CA8 = .sdata2:0x801F2CA8; // type:object size:0x8 data:double -lbl_801F2CB0 = .sdata2:0x801F2CB0; // type:object size:0x4 data:float -lbl_801F2CB4 = .sdata2:0x801F2CB4; // type:object size:0x4 data:float -lbl_801F2CB8 = .sdata2:0x801F2CB8; // type:object size:0x4 data:float -lbl_801F2CBC = .sdata2:0x801F2CBC; // type:object size:0x4 data:float -lbl_801F2CC0 = .sdata2:0x801F2CC0; // type:object size:0x4 data:float -lbl_801F2CC4 = .sdata2:0x801F2CC4; // type:object size:0x4 data:float -lbl_801F2CC8 = .sdata2:0x801F2CC8; // type:object size:0x4 data:float -lbl_801F2CCC = .sdata2:0x801F2CCC; // type:object size:0x4 data:float -lbl_801F2CD0 = .sdata2:0x801F2CD0; // type:object size:0x4 data:float -lbl_801F2CD4 = .sdata2:0x801F2CD4; // type:object size:0x4 data:float -lbl_801F2CD8 = .sdata2:0x801F2CD8; // type:object size:0x4 data:float -lbl_801F2CDC = .sdata2:0x801F2CDC; // type:object size:0x4 data:float -lbl_801F2CE0 = .sdata2:0x801F2CE0; // type:object size:0x4 data:float -lbl_801F2CE4 = .sdata2:0x801F2CE4; // type:object size:0x4 data:float -lbl_801F2CE8 = .sdata2:0x801F2CE8; // type:object size:0x4 data:float -lbl_801F2CEC = .sdata2:0x801F2CEC; // type:object size:0x4 data:float -lbl_801F2CF0 = .sdata2:0x801F2CF0; // type:object size:0x4 data:float -lbl_801F2CF4 = .sdata2:0x801F2CF4; // type:object size:0x4 data:float -lbl_801F2CF8 = .sdata2:0x801F2CF8; // type:object size:0x8 data:float -lbl_801F2D00 = .sdata2:0x801F2D00; // type:object size:0x4 data:float -lbl_801F2D04 = .sdata2:0x801F2D04; // type:object size:0x4 data:float -lbl_801F2D08 = .sdata2:0x801F2D08; // type:object size:0x4 data:float -lbl_801F2D0C = .sdata2:0x801F2D0C; // type:object size:0x4 data:float -lbl_801F2D10 = .sdata2:0x801F2D10; // type:object size:0x4 data:float -lbl_801F2D14 = .sdata2:0x801F2D14; // type:object size:0x4 data:float -lbl_801F2D18 = .sdata2:0x801F2D18; // type:object size:0x4 data:float -lbl_801F2D1C = .sdata2:0x801F2D1C; // type:object size:0x4 data:float -lbl_801F2D20 = .sdata2:0x801F2D20; // type:object size:0x4 data:float -lbl_801F2D24 = .sdata2:0x801F2D24; // type:object size:0x4 data:float -lbl_801F2D28 = .sdata2:0x801F2D28; // type:object size:0x4 data:float -lbl_801F2D2C = .sdata2:0x801F2D2C; // type:object size:0x4 data:float -lbl_801F2D30 = .sdata2:0x801F2D30; // type:object size:0x4 data:float -lbl_801F2D34 = .sdata2:0x801F2D34; // type:object size:0x4 data:float -lbl_801F2D38 = .sdata2:0x801F2D38; // type:object size:0x8 data:double -lbl_801F2D40 = .sdata2:0x801F2D40; // type:object size:0x8 data:double -lbl_801F2D48 = .sdata2:0x801F2D48; // type:object size:0x4 data:float -lbl_801F2D50 = .sdata2:0x801F2D50; // type:object size:0x8 data:double -lbl_801F2D58 = .sdata2:0x801F2D58; // type:object size:0x8 data:double -lbl_801F2D60 = .sdata2:0x801F2D60; // type:object size:0x8 data:double -lbl_801F2D68 = .sdata2:0x801F2D68; // type:object size:0x4 data:float -lbl_801F2D70 = .sdata2:0x801F2D70; // type:object size:0x8 data:double -lbl_801F2D78 = .sdata2:0x801F2D78; // type:object size:0x4 data:float -lbl_801F2D7C = .sdata2:0x801F2D7C; // type:object size:0x4 data:float -lbl_801F2D80 = .sdata2:0x801F2D80; // type:object size:0x4 data:float -lbl_801F2D84 = .sdata2:0x801F2D84; // type:object size:0x4 data:float -lbl_801F2D88 = .sdata2:0x801F2D88; // type:object size:0x4 data:float -lbl_801F2D8C = .sdata2:0x801F2D8C; // type:object size:0x4 data:float -lbl_801F2D90 = .sdata2:0x801F2D90; // type:object size:0x4 data:float -lbl_801F2D94 = .sdata2:0x801F2D94; // type:object size:0x4 data:float -lbl_801F2D98 = .sdata2:0x801F2D98; // type:object size:0x4 data:float -lbl_801F2D9C = .sdata2:0x801F2D9C; // type:object size:0x4 data:float -lbl_801F2DA0 = .sdata2:0x801F2DA0; // type:object size:0x4 data:float -lbl_801F2DA4 = .sdata2:0x801F2DA4; // type:object size:0x4 data:float -lbl_801F2DA8 = .sdata2:0x801F2DA8; // type:object size:0x8 data:float -lbl_801F2DB0 = .sdata2:0x801F2DB0; // type:object size:0x4 data:float -lbl_801F2DB4 = .sdata2:0x801F2DB4; // type:object size:0x4 data:float -lbl_801F2DB8 = .sdata2:0x801F2DB8; // type:object size:0x4 data:float -lbl_801F2DBC = .sdata2:0x801F2DBC; // type:object size:0x4 data:float -lbl_801F2DC0 = .sdata2:0x801F2DC0; // type:object size:0x4 data:float -lbl_801F2DC4 = .sdata2:0x801F2DC4; // type:object size:0x4 data:float -lbl_801F2DC8 = .sdata2:0x801F2DC8; // type:object size:0x4 data:float -lbl_801F2DCC = .sdata2:0x801F2DCC; // type:object size:0x4 data:float -lbl_801F2DD0 = .sdata2:0x801F2DD0; // type:object size:0x4 data:float -lbl_801F2DD8 = .sdata2:0x801F2DD8; // type:object size:0x8 data:double -lbl_801F2DE0 = .sdata2:0x801F2DE0; // type:object size:0x8 data:double -lbl_801F2DE8 = .sdata2:0x801F2DE8; // type:object size:0x8 data:double -lbl_801F2DF0 = .sdata2:0x801F2DF0; // type:object size:0x4 data:float -lbl_801F2DF4 = .sdata2:0x801F2DF4; // type:object size:0x4 data:float -lbl_801F2DF8 = .sdata2:0x801F2DF8; // type:object size:0x4 data:float -lbl_801F2DFC = .sdata2:0x801F2DFC; // type:object size:0x4 data:float -lbl_801F2E00 = .sdata2:0x801F2E00; // type:object size:0x8 data:double -lbl_801F2E08 = .sdata2:0x801F2E08; // type:object size:0x8 data:double -lbl_801F2E10 = .sdata2:0x801F2E10; // type:object size:0x4 data:float -lbl_801F2E14 = .sdata2:0x801F2E14; // type:object size:0x4 data:float -lbl_801F2E18 = .sdata2:0x801F2E18; // type:object size:0x4 data:float -lbl_801F2E1C = .sdata2:0x801F2E1C; // type:object size:0x4 data:float -lbl_801F2E20 = .sdata2:0x801F2E20; // type:object size:0x4 data:float -lbl_801F2E24 = .sdata2:0x801F2E24; // type:object size:0x4 data:float -lbl_801F2E28 = .sdata2:0x801F2E28; // type:object size:0x4 data:float -lbl_801F2E30 = .sdata2:0x801F2E30; // type:object size:0x8 data:double -lbl_801F2E38 = .sdata2:0x801F2E38; // type:object size:0x4 data:float -lbl_801F2E3C = .sdata2:0x801F2E3C; // type:object size:0x4 data:float -lbl_801F2E40 = .sdata2:0x801F2E40; // type:object size:0x4 data:float -lbl_801F2E44 = .sdata2:0x801F2E44; // type:object size:0x4 data:float -lbl_801F2E48 = .sdata2:0x801F2E48; // type:object size:0x4 data:float -lbl_801F2E4C = .sdata2:0x801F2E4C; // type:object size:0x4 data:float -lbl_801F2E50 = .sdata2:0x801F2E50; // type:object size:0x4 data:float -lbl_801F2E54 = .sdata2:0x801F2E54; // type:object size:0x4 data:float -lbl_801F2E58 = .sdata2:0x801F2E58; // type:object size:0x4 data:float -lbl_801F2E5C = .sdata2:0x801F2E5C; // type:object size:0x4 data:float -lbl_801F2E60 = .sdata2:0x801F2E60; // type:object size:0x4 data:float -lbl_801F2E64 = .sdata2:0x801F2E64; // type:object size:0x4 data:float -lbl_801F2E68 = .sdata2:0x801F2E68; // type:object size:0x4 data:float -lbl_801F2E6C = .sdata2:0x801F2E6C; // type:object size:0x4 data:float -lbl_801F2E70 = .sdata2:0x801F2E70; // type:object size:0x4 data:float -lbl_801F2E74 = .sdata2:0x801F2E74; // type:object size:0x4 data:float -lbl_801F2E78 = .sdata2:0x801F2E78; // type:object size:0x4 data:float -lbl_801F2E7C = .sdata2:0x801F2E7C; // type:object size:0x4 data:float -lbl_801F2E80 = .sdata2:0x801F2E80; // type:object size:0x4 data:float -lbl_801F2E84 = .sdata2:0x801F2E84; // type:object size:0x4 data:float -lbl_801F2E88 = .sdata2:0x801F2E88; // type:object size:0x4 data:float -lbl_801F2E8C = .sdata2:0x801F2E8C; // type:object size:0x4 data:float -lbl_801F2E90 = .sdata2:0x801F2E90; // type:object size:0x4 data:float -lbl_801F2E94 = .sdata2:0x801F2E94; // type:object size:0x4 data:float -lbl_801F2E98 = .sdata2:0x801F2E98; // type:object size:0x4 data:float -lbl_801F2E9C = .sdata2:0x801F2E9C; // type:object size:0x4 data:float -lbl_801F2EA0 = .sdata2:0x801F2EA0; // type:object size:0x8 data:double -lbl_801F2EA8 = .sdata2:0x801F2EA8; // type:object size:0x8 data:double -lbl_801F2EB0 = .sdata2:0x801F2EB0; // type:object size:0x8 data:double -lbl_801F2EB8 = .sdata2:0x801F2EB8; // type:object size:0x4 data:float -lbl_801F2EBC = .sdata2:0x801F2EBC; // type:object size:0x4 data:float -lbl_801F2EC0 = .sdata2:0x801F2EC0; // type:object size:0x4 data:float -lbl_801F2EC4 = .sdata2:0x801F2EC4; // type:object size:0x4 data:float -lbl_801F2EC8 = .sdata2:0x801F2EC8; // type:object size:0x4 data:float -lbl_801F2ECC = .sdata2:0x801F2ECC; // type:object size:0x4 data:float -lbl_801F2ED0 = .sdata2:0x801F2ED0; // type:object size:0x4 data:float -lbl_801F2ED8 = .sdata2:0x801F2ED8; // type:object size:0x8 data:double -lbl_801F2EE0 = .sdata2:0x801F2EE0; // type:object size:0x8 data:double -lbl_801F2EE8 = .sdata2:0x801F2EE8; // type:object size:0x8 data:double -lbl_801F2EF0 = .sdata2:0x801F2EF0; // type:object size:0x4 data:float -lbl_801F2EF4 = .sdata2:0x801F2EF4; // type:object size:0x4 data:float -lbl_801F2EF8 = .sdata2:0x801F2EF8; // type:object size:0x4 data:float -lbl_801F2EFC = .sdata2:0x801F2EFC; // type:object size:0x4 data:float -lbl_801F2F00 = .sdata2:0x801F2F00; // type:object size:0x4 data:float -lbl_801F2F04 = .sdata2:0x801F2F04; // type:object size:0x4 data:float -lbl_801F2F08 = .sdata2:0x801F2F08; // type:object size:0x4 data:float -lbl_801F2F0C = .sdata2:0x801F2F0C; // type:object size:0x4 data:float -lbl_801F2F10 = .sdata2:0x801F2F10; // type:object size:0x4 data:float -lbl_801F2F14 = .sdata2:0x801F2F14; // type:object size:0x4 data:float -lbl_801F2F18 = .sdata2:0x801F2F18; // type:object size:0x8 data:double -lbl_801F2F20 = .sdata2:0x801F2F20; // type:object size:0x4 data:float -lbl_801F2F24 = .sdata2:0x801F2F24; // type:object size:0x4 data:float -lbl_801F2F28 = .sdata2:0x801F2F28; // type:object size:0x4 data:float -lbl_801F2F2C = .sdata2:0x801F2F2C; // type:object size:0x4 data:float -lbl_801F2F30 = .sdata2:0x801F2F30; // type:object size:0x4 data:float -lbl_801F2F34 = .sdata2:0x801F2F34; // type:object size:0x4 data:float -lbl_801F2F38 = .sdata2:0x801F2F38; // type:object size:0x4 data:float -lbl_801F2F3C = .sdata2:0x801F2F3C; // type:object size:0x4 data:float -lbl_801F2F40 = .sdata2:0x801F2F40; // type:object size:0x4 data:float -lbl_801F2F44 = .sdata2:0x801F2F44; // type:object size:0x4 data:float -lbl_801F2F48 = .sdata2:0x801F2F48; // type:object size:0x4 data:float -lbl_801F2F4C = .sdata2:0x801F2F4C; // type:object size:0x4 data:float -lbl_801F2F50 = .sdata2:0x801F2F50; // type:object size:0x4 data:float -lbl_801F2F54 = .sdata2:0x801F2F54; // type:object size:0x4 data:float -lbl_801F2F58 = .sdata2:0x801F2F58; // type:object size:0x4 data:float -lbl_801F2F5C = .sdata2:0x801F2F5C; // type:object size:0x4 data:float -lbl_801F2F60 = .sdata2:0x801F2F60; // type:object size:0x4 data:float -lbl_801F2F64 = .sdata2:0x801F2F64; // type:object size:0x4 data:float -lbl_801F2F68 = .sdata2:0x801F2F68; // type:object size:0x4 data:float -lbl_801F2F6C = .sdata2:0x801F2F6C; // type:object size:0x4 data:float -lbl_801F2F70 = .sdata2:0x801F2F70; // type:object size:0x4 data:float -lbl_801F2F74 = .sdata2:0x801F2F74; // type:object size:0x4 data:float -lbl_801F2F78 = .sdata2:0x801F2F78; // type:object size:0x4 data:float -lbl_801F2F7C = .sdata2:0x801F2F7C; // type:object size:0x4 data:float -lbl_801F2F80 = .sdata2:0x801F2F80; // type:object size:0x8 data:double -lbl_801F2F88 = .sdata2:0x801F2F88; // type:object size:0x8 data:double -lbl_801F2F90 = .sdata2:0x801F2F90; // type:object size:0x4 data:float -lbl_801F2F94 = .sdata2:0x801F2F94; // type:object size:0x4 data:float -lbl_801F2F98 = .sdata2:0x801F2F98; // type:object size:0x4 data:float -lbl_801F2F9C = .sdata2:0x801F2F9C; // type:object size:0x4 data:float -lbl_801F2FA0 = .sdata2:0x801F2FA0; // type:object size:0x4 data:float -lbl_801F2FA8 = .sdata2:0x801F2FA8; // type:object size:0x8 data:double -lbl_801F2FB0 = .sdata2:0x801F2FB0; // type:object size:0x4 data:float -lbl_801F2FB4 = .sdata2:0x801F2FB4; // type:object size:0x4 data:float -lbl_801F2FB8 = .sdata2:0x801F2FB8; // type:object size:0x4 data:float -lbl_801F2FBC = .sdata2:0x801F2FBC; // type:object size:0x4 data:float -lbl_801F2FC0 = .sdata2:0x801F2FC0; // type:object size:0x4 data:float -lbl_801F2FC4 = .sdata2:0x801F2FC4; // type:object size:0x4 data:float -lbl_801F2FC8 = .sdata2:0x801F2FC8; // type:object size:0x4 data:float -lbl_801F2FCC = .sdata2:0x801F2FCC; // type:object size:0x4 data:float -lbl_801F2FD0 = .sdata2:0x801F2FD0; // type:object size:0x4 data:float -lbl_801F2FD4 = .sdata2:0x801F2FD4; // type:object size:0x4 data:float -lbl_801F2FD8 = .sdata2:0x801F2FD8; // type:object size:0x4 data:float -lbl_801F2FE0 = .sdata2:0x801F2FE0; // type:object size:0x8 data:double -lbl_801F2FE8 = .sdata2:0x801F2FE8; // type:object size:0x4 data:float -lbl_801F2FEC = .sdata2:0x801F2FEC; // type:object size:0x4 data:float -lbl_801F2FF0 = .sdata2:0x801F2FF0; // type:object size:0x4 data:float -lbl_801F2FF4 = .sdata2:0x801F2FF4; // type:object size:0x4 data:float -lbl_801F2FF8 = .sdata2:0x801F2FF8; // type:object size:0x4 data:float -lbl_801F2FFC = .sdata2:0x801F2FFC; // type:object size:0x4 data:float -lbl_801F3000 = .sdata2:0x801F3000; // type:object size:0x4 data:float -lbl_801F3004 = .sdata2:0x801F3004; // type:object size:0x4 data:float -lbl_801F3008 = .sdata2:0x801F3008; // type:object size:0x4 data:float -lbl_801F300C = .sdata2:0x801F300C; // type:object size:0x4 data:float -lbl_801F3010 = .sdata2:0x801F3010; // type:object size:0x4 data:float -lbl_801F3014 = .sdata2:0x801F3014; // type:object size:0x4 data:float -lbl_801F3018 = .sdata2:0x801F3018; // type:object size:0x4 data:float -lbl_801F301C = .sdata2:0x801F301C; // type:object size:0x4 data:float -lbl_801F3020 = .sdata2:0x801F3020; // type:object size:0x4 data:float -lbl_801F3024 = .sdata2:0x801F3024; // type:object size:0x4 data:float -lbl_801F3028 = .sdata2:0x801F3028; // type:object size:0x4 data:float -lbl_801F302C = .sdata2:0x801F302C; // type:object size:0x4 data:float -lbl_801F3030 = .sdata2:0x801F3030; // type:object size:0x4 data:float -lbl_801F3038 = .sdata2:0x801F3038; // type:object size:0x8 data:double -lbl_801F3040 = .sdata2:0x801F3040; // type:object size:0x4 data:float -lbl_801F3048 = .sdata2:0x801F3048; // type:object size:0x8 data:double -lbl_801F3050 = .sdata2:0x801F3050; // type:object size:0x4 data:float -lbl_801F3054 = .sdata2:0x801F3054; // type:object size:0x4 data:float -lbl_801F3058 = .sdata2:0x801F3058; // type:object size:0x4 data:float -lbl_801F305C = .sdata2:0x801F305C; // type:object size:0x4 data:float -lbl_801F3060 = .sdata2:0x801F3060; // type:object size:0x4 data:float -lbl_801F3068 = .sdata2:0x801F3068; // type:object size:0x8 data:double -lbl_801F3070 = .sdata2:0x801F3070; // type:object size:0x4 data:float -lbl_801F3074 = .sdata2:0x801F3074; // type:object size:0x4 data:float -lbl_801F3078 = .sdata2:0x801F3078; // type:object size:0x4 data:float -lbl_801F307C = .sdata2:0x801F307C; // type:object size:0x4 data:float -lbl_801F3080 = .sdata2:0x801F3080; // type:object size:0x4 data:float -lbl_801F3084 = .sdata2:0x801F3084; // type:object size:0x4 data:float -lbl_801F3088 = .sdata2:0x801F3088; // type:object size:0x4 data:float -lbl_801F308C = .sdata2:0x801F308C; // type:object size:0x4 data:float -lbl_801F3090 = .sdata2:0x801F3090; // type:object size:0x4 data:float -lbl_801F3094 = .sdata2:0x801F3094; // type:object size:0x4 data:float -lbl_801F3098 = .sdata2:0x801F3098; // type:object size:0x4 data:float -lbl_801F309C = .sdata2:0x801F309C; // type:object size:0x4 data:float -lbl_801F30A0 = .sdata2:0x801F30A0; // type:object size:0x1 data:byte -lbl_801F30A1 = .sdata2:0x801F30A1; // type:object size:0x1 data:byte -lbl_801F30A2 = .sdata2:0x801F30A2; // type:object size:0x1 data:byte -lbl_801F30A3 = .sdata2:0x801F30A3; // type:object size:0x1 data:byte -lbl_801F30A4 = .sdata2:0x801F30A4; // type:object size:0x4 data:float -lbl_801F30A8 = .sdata2:0x801F30A8; // type:object size:0x4 data:float -lbl_801F30AC = .sdata2:0x801F30AC; // type:object size:0x4 data:float -lbl_801F30B0 = .sdata2:0x801F30B0; // type:object size:0x4 data:float -lbl_801F30B4 = .sdata2:0x801F30B4; // type:object size:0x4 data:float -lbl_801F30B8 = .sdata2:0x801F30B8; // type:object size:0x8 data:double -lbl_801F30C0 = .sdata2:0x801F30C0; // type:object size:0x8 data:double -lbl_801F30C8 = .sdata2:0x801F30C8; // type:object size:0x4 data:float -lbl_801F30CC = .sdata2:0x801F30CC; // type:object size:0x4 data:float -lbl_801F30D0 = .sdata2:0x801F30D0; // type:object size:0x4 data:float -lbl_801F30D4 = .sdata2:0x801F30D4; // type:object size:0x4 data:float -lbl_801F30D8 = .sdata2:0x801F30D8; // type:object size:0x4 data:float -lbl_801F30DC = .sdata2:0x801F30DC; // type:object size:0x4 data:float -lbl_801F30E0 = .sdata2:0x801F30E0; // type:object size:0x8 data:double -lbl_801F30E8 = .sdata2:0x801F30E8; // type:object size:0x4 data:float -lbl_801F30EC = .sdata2:0x801F30EC; // type:object size:0x4 data:float -lbl_801F30F0 = .sdata2:0x801F30F0; // type:object size:0x8 data:double -lbl_801F30F8 = .sdata2:0x801F30F8; // type:object size:0x8 data:float -lbl_801F3100 = .sdata2:0x801F3100; // type:object size:0x4 data:float -lbl_801F3104 = .sdata2:0x801F3104; // type:object size:0x4 data:float -lbl_801F3108 = .sdata2:0x801F3108; // type:object size:0x4 data:float -lbl_801F310C = .sdata2:0x801F310C; // type:object size:0x4 data:float -lbl_801F3110 = .sdata2:0x801F3110; // type:object size:0x4 data:float -lbl_801F3114 = .sdata2:0x801F3114; // type:object size:0x4 data:float -lbl_801F3118 = .sdata2:0x801F3118; // type:object size:0x4 data:float -lbl_801F311C = .sdata2:0x801F311C; // type:object size:0x4 data:float -lbl_801F3120 = .sdata2:0x801F3120; // type:object size:0x4 data:float -lbl_801F3124 = .sdata2:0x801F3124; // type:object size:0x4 data:float -lbl_801F3128 = .sdata2:0x801F3128; // type:object size:0x2 data:2byte -lbl_801F312A = .sdata2:0x801F312A; // type:object size:0x2 data:2byte -lbl_801F312C = .sdata2:0x801F312C; // type:object size:0x2 data:2byte -lbl_801F3130 = .sdata2:0x801F3130; // type:object size:0x4 data:float -lbl_801F3134 = .sdata2:0x801F3134; // type:object size:0x4 data:float -lbl_801F3138 = .sdata2:0x801F3138; // type:object size:0x4 data:float -lbl_801F313C = .sdata2:0x801F313C; // type:object size:0x4 data:float -lbl_801F3140 = .sdata2:0x801F3140; // type:object size:0x4 data:float -lbl_801F3144 = .sdata2:0x801F3144; // type:object size:0x4 data:float -lbl_801F3148 = .sdata2:0x801F3148; // type:object size:0x4 data:float -lbl_801F314C = .sdata2:0x801F314C; // type:object size:0x4 data:float -lbl_801F3150 = .sdata2:0x801F3150; // type:object size:0x8 data:double -lbl_801F3158 = .sdata2:0x801F3158; // type:object size:0x8 data:double -lbl_801F3160 = .sdata2:0x801F3160; // type:object size:0x8 data:double -lbl_801F3168 = .sdata2:0x801F3168; // type:object size:0x4 data:float -lbl_801F316C = .sdata2:0x801F316C; // type:object size:0x4 data:float -lbl_801F3170 = .sdata2:0x801F3170; // type:object size:0x4 data:float -lbl_801F3174 = .sdata2:0x801F3174; // type:object size:0x4 data:float -lbl_801F3178 = .sdata2:0x801F3178; // type:object size:0x4 data:float -lbl_801F317C = .sdata2:0x801F317C; // type:object size:0x4 data:float -lbl_801F3180 = .sdata2:0x801F3180; // type:object size:0x4 data:float -lbl_801F3184 = .sdata2:0x801F3184; // type:object size:0x4 data:float -lbl_801F3188 = .sdata2:0x801F3188; // type:object size:0x4 data:float -lbl_801F3190 = .sdata2:0x801F3190; // type:object size:0x8 data:double -lbl_801F3198 = .sdata2:0x801F3198; // type:object size:0x1 data:byte -lbl_801F3199 = .sdata2:0x801F3199; // type:object size:0x1 data:byte -lbl_801F319A = .sdata2:0x801F319A; // type:object size:0x1 data:byte -lbl_801F319C = .sdata2:0x801F319C; // type:object size:0x4 data:float -lbl_801F31A0 = .sdata2:0x801F31A0; // type:object size:0x8 data:double -lbl_801F31A8 = .sdata2:0x801F31A8; // type:object size:0x8 data:float -battleCoinTbl = .sdata2:0x801F31B0; // type:object size:0x5 scope:local -lbl_801F31B8 = .sdata2:0x801F31B8; // type:object size:0x4 data:float -lbl_801F31BC = .sdata2:0x801F31BC; // type:object size:0x4 data:float -lbl_801F31C0 = .sdata2:0x801F31C0; // type:object size:0x4 data:float -lbl_801F31C4 = .sdata2:0x801F31C4; // type:object size:0x4 data:float -lbl_801F31C8 = .sdata2:0x801F31C8; // type:object size:0x4 data:float -lbl_801F31CC = .sdata2:0x801F31CC; // type:object size:0x4 data:float -lbl_801F31D0 = .sdata2:0x801F31D0; // type:object size:0x4 data:float -lbl_801F31D4 = .sdata2:0x801F31D4; // type:object size:0x4 data:float -lbl_801F31D8 = .sdata2:0x801F31D8; // type:object size:0x4 data:float -lbl_801F31DC = .sdata2:0x801F31DC; // type:object size:0x4 data:float -lbl_801F31E0 = .sdata2:0x801F31E0; // type:object size:0x4 data:float -lbl_801F31E4 = .sdata2:0x801F31E4; // type:object size:0x4 data:float -lbl_801F31E8 = .sdata2:0x801F31E8; // type:object size:0x4 data:float -lbl_801F31EC = .sdata2:0x801F31EC; // type:object size:0x4 data:float -lbl_801F31F0 = .sdata2:0x801F31F0; // type:object size:0x4 data:float -lbl_801F31F4 = .sdata2:0x801F31F4; // type:object size:0x4 data:float -lbl_801F31F8 = .sdata2:0x801F31F8; // type:object size:0x4 data:float -lbl_801F31FC = .sdata2:0x801F31FC; // type:object size:0x4 data:float -lbl_801F3200 = .sdata2:0x801F3200; // type:object size:0x4 data:float -lbl_801F3204 = .sdata2:0x801F3204; // type:object size:0x4 data:float -lbl_801F3208 = .sdata2:0x801F3208; // type:object size:0x4 data:float -lbl_801F3210 = .sdata2:0x801F3210; // type:object size:0x8 data:double -lbl_801F3218 = .sdata2:0x801F3218; // type:object size:0x8 data:double -lbl_801F3220 = .sdata2:0x801F3220; // type:object size:0x4 data:float -lbl_801F3224 = .sdata2:0x801F3224; // type:object size:0x4 data:float -lbl_801F3228 = .sdata2:0x801F3228; // type:object size:0x4 data:float -lbl_801F322C = .sdata2:0x801F322C; // type:object size:0x4 data:float -lbl_801F3230 = .sdata2:0x801F3230; // type:object size:0x4 data:float -lbl_801F3234 = .sdata2:0x801F3234; // type:object size:0x4 data:float -lbl_801F3238 = .sdata2:0x801F3238; // type:object size:0x4 data:float -lbl_801F323C = .sdata2:0x801F323C; // type:object size:0x4 data:float -lbl_801F3240 = .sdata2:0x801F3240; // type:object size:0x8 data:double -lbl_801F3248 = .sdata2:0x801F3248; // type:object size:0x4 data:float -lbl_801F3250 = .sdata2:0x801F3250; // type:object size:0x8 data:double -lbl_801F3258 = .sdata2:0x801F3258; // type:object size:0x4 data:float -lbl_801F325C = .sdata2:0x801F325C; // type:object size:0x4 data:float -lbl_801F3260 = .sdata2:0x801F3260; // type:object size:0x1 data:byte -lbl_801F3261 = .sdata2:0x801F3261; // type:object size:0x1 data:byte -lbl_801F3262 = .sdata2:0x801F3262; // type:object size:0x1 data:byte -lbl_801F3263 = .sdata2:0x801F3263; // type:object size:0x1 data:byte -lbl_801F3264 = .sdata2:0x801F3264; // type:object size:0x1 data:byte -lbl_801F3268 = .sdata2:0x801F3268; // type:object size:0x4 data:float -lbl_801F326C = .sdata2:0x801F326C; // type:object size:0x4 data:float -lbl_801F3270 = .sdata2:0x801F3270; // type:object size:0x4 data:float -lbl_801F3274 = .sdata2:0x801F3274; // type:object size:0x4 data:float -lbl_801F3278 = .sdata2:0x801F3278; // type:object size:0x4 data:float -lbl_801F327C = .sdata2:0x801F327C; // type:object size:0x4 data:float -lbl_801F3280 = .sdata2:0x801F3280; // type:object size:0x4 data:float -lbl_801F3284 = .sdata2:0x801F3284; // type:object size:0x4 data:float -lbl_801F3288 = .sdata2:0x801F3288; // type:object size:0x4 data:float -lbl_801F328C = .sdata2:0x801F328C; // type:object size:0x4 data:float -lbl_801F3290 = .sdata2:0x801F3290; // type:object size:0x4 data:float -lbl_801F3294 = .sdata2:0x801F3294; // type:object size:0x4 data:float -lbl_801F3298 = .sdata2:0x801F3298; // type:object size:0x4 data:float -lbl_801F329C = .sdata2:0x801F329C; // type:object size:0x4 data:float -lbl_801F32A0 = .sdata2:0x801F32A0; // type:object size:0x8 data:double -lbl_801F32A8 = .sdata2:0x801F32A8; // type:object size:0x8 data:double -lbl_801F32B0 = .sdata2:0x801F32B0; // type:object size:0x4 data:float -lbl_801F32B8 = .sdata2:0x801F32B8; // type:object size:0x8 data:double -lbl_801F32C0 = .sdata2:0x801F32C0; // type:object size:0x8 data:double -lbl_801F32C8 = .sdata2:0x801F32C8; // type:object size:0x8 data:double -lbl_801F32D0 = .sdata2:0x801F32D0; // type:object size:0x8 data:double -lbl_801F32D8 = .sdata2:0x801F32D8; // type:object size:0x4 data:float -lbl_801F32E0 = .sdata2:0x801F32E0; // type:object size:0x8 data:double -lbl_801F32E8 = .sdata2:0x801F32E8; // type:object size:0x4 data:float -lbl_801F32EC = .sdata2:0x801F32EC; // type:object size:0x4 data:float -lbl_801F32F0 = .sdata2:0x801F32F0; // type:object size:0x4 data:float -lbl_801F32F8 = .sdata2:0x801F32F8; // type:object size:0x8 data:double -lbl_801F3300 = .sdata2:0x801F3300; // type:object size:0x8 data:double -lbl_801F3308 = .sdata2:0x801F3308; // type:object size:0x4 data:float -lbl_801F3310 = .sdata2:0x801F3310; // type:object size:0x8 data:double -lbl_801F3318 = .sdata2:0x801F3318; // type:object size:0x4 data:float -lbl_801F331C = .sdata2:0x801F331C; // type:object size:0x4 data:float -lbl_801F3320 = .sdata2:0x801F3320; // type:object size:0x4 data:float -lbl_801F3324 = .sdata2:0x801F3324; // type:object size:0x4 data:float -lbl_801F3328 = .sdata2:0x801F3328; // type:object size:0x8 data:double -lbl_801F3330 = .sdata2:0x801F3330; // type:object size:0x8 data:double -lbl_801F3338 = .sdata2:0x801F3338; // type:object size:0x4 data:float -lbl_801F333C = .sdata2:0x801F333C; // type:object size:0x4 data:float -lbl_801F3340 = .sdata2:0x801F3340; // type:object size:0x4 data:float -lbl_801F3348 = .sdata2:0x801F3348; // type:object size:0x8 data:double -lbl_801F3350 = .sdata2:0x801F3350; // type:object size:0x4 data:float -lbl_801F3354 = .sdata2:0x801F3354; // type:object size:0x4 data:float -lbl_801F3358 = .sdata2:0x801F3358; // type:object size:0x4 data:float -lbl_801F335C = .sdata2:0x801F335C; // type:object size:0x4 data:float -lbl_801F3360 = .sdata2:0x801F3360; // type:object size:0x8 data:double -lbl_801F3368 = .sdata2:0x801F3368; // type:object size:0x4 data:float -lbl_801F336C = .sdata2:0x801F336C; // type:object size:0x4 data:float -lbl_801F3370 = .sdata2:0x801F3370; // type:object size:0x4 data:float -lbl_801F3374 = .sdata2:0x801F3374; // type:object size:0x4 data:float -lbl_801F3378 = .sdata2:0x801F3378; // type:object size:0x4 data:float -lbl_801F337C = .sdata2:0x801F337C; // type:object size:0x4 data:float -lbl_801F3380 = .sdata2:0x801F3380; // type:object size:0x4 data:float -lbl_801F3384 = .sdata2:0x801F3384; // type:object size:0x4 data:float -lbl_801F3388 = .sdata2:0x801F3388; // type:object size:0x4 data:float -lbl_801F338C = .sdata2:0x801F338C; // type:object size:0x4 data:float -lbl_801F3390 = .sdata2:0x801F3390; // type:object size:0x4 data:float -lbl_801F3394 = .sdata2:0x801F3394; // type:object size:0x1 data:byte -lbl_801F3395 = .sdata2:0x801F3395; // type:object size:0x1 data:byte -lbl_801F3398 = .sdata2:0x801F3398; // type:object size:0x4 data:float -lbl_801F33A0 = .sdata2:0x801F33A0; // type:object size:0x8 data:double -lbl_801F33A8 = .sdata2:0x801F33A8; // type:object size:0x8 data:double -lbl_801F33B0 = .sdata2:0x801F33B0; // type:object size:0x8 data:double -lbl_801F33B8 = .sdata2:0x801F33B8; // type:object size:0x8 data:double -lbl_801F33C0 = .sdata2:0x801F33C0; // type:object size:0x4 data:float -lbl_801F33C4 = .sdata2:0x801F33C4; // type:object size:0x4 data:float -lbl_801F33C8 = .sdata2:0x801F33C8; // type:object size:0x8 data:double -lbl_801F33D0 = .sdata2:0x801F33D0; // type:object size:0x4 data:float -lbl_801F33D4 = .sdata2:0x801F33D4; // type:object size:0x4 data:float -lbl_801F33D8 = .sdata2:0x801F33D8; // type:object size:0x8 data:double -lbl_801F33E0 = .sdata2:0x801F33E0; // type:object size:0x4 data:float -lbl_801F33E4 = .sdata2:0x801F33E4; // type:object size:0x2 data:2byte -lbl_801F33E6 = .sdata2:0x801F33E6; // type:object size:0x2 data:2byte -lbl_801F33E8 = .sdata2:0x801F33E8; // type:object size:0x2 data:2byte -lbl_801F33EC = .sdata2:0x801F33EC; // type:object size:0x4 data:float -lbl_801F33F0 = .sdata2:0x801F33F0; // type:object size:0x4 data:float -lbl_801F33F4 = .sdata2:0x801F33F4; // type:object size:0x4 data:float -lbl_801F33F8 = .sdata2:0x801F33F8; // type:object size:0x2 data:2byte -lbl_801F33FA = .sdata2:0x801F33FA; // type:object size:0x2 data:2byte -lbl_801F33FC = .sdata2:0x801F33FC; // type:object size:0x2 data:2byte -lbl_801F3400 = .sdata2:0x801F3400; // type:object size:0x4 data:float -lbl_801F3404 = .sdata2:0x801F3404; // type:object size:0x4 data:float -lbl_801F3408 = .sdata2:0x801F3408; // type:object size:0x4 data:float -lbl_801F340C = .sdata2:0x801F340C; // type:object size:0x4 data:float -lbl_801F3410 = .sdata2:0x801F3410; // type:object size:0x4 data:float -lbl_801F3414 = .sdata2:0x801F3414; // type:object size:0x4 data:float -lbl_801F3418 = .sdata2:0x801F3418; // type:object size:0x4 data:float -lbl_801F3420 = .sdata2:0x801F3420; // type:object size:0x8 data:double -lbl_801F3428 = .sdata2:0x801F3428; // type:object size:0x4 data:float -lbl_801F342C = .sdata2:0x801F342C; // type:object size:0x4 data:float -lbl_801F3430 = .sdata2:0x801F3430; // type:object size:0x4 data:float -lbl_801F3434 = .sdata2:0x801F3434; // type:object size:0x4 data:float -lbl_801F3438 = .sdata2:0x801F3438; // type:object size:0x4 data:float -lbl_801F343C = .sdata2:0x801F343C; // type:object size:0x4 data:float -lbl_801F3440 = .sdata2:0x801F3440; // type:object size:0x4 data:float -lbl_801F3448 = .sdata2:0x801F3448; // type:object size:0x8 data:double -lbl_801F3450 = .sdata2:0x801F3450; // type:object size:0x8 data:double -lbl_801F3458 = .sdata2:0x801F3458; // type:object size:0x8 data:double -lbl_801F3460 = .sdata2:0x801F3460; // type:object size:0x4 data:float -lbl_801F3464 = .sdata2:0x801F3464; // type:object size:0x4 data:float -lbl_801F3468 = .sdata2:0x801F3468; // type:object size:0x4 data:float -lbl_801F346C = .sdata2:0x801F346C; // type:object size:0x4 data:float -lbl_801F3470 = .sdata2:0x801F3470; // type:object size:0x4 data:float -lbl_801F3474 = .sdata2:0x801F3474; // type:object size:0x4 data:float -lbl_801F3478 = .sdata2:0x801F3478; // type:object size:0x4 data:float -lbl_801F347C = .sdata2:0x801F347C; // type:object size:0x4 data:float -lbl_801F3480 = .sdata2:0x801F3480; // type:object size:0x4 data:float -lbl_801F3484 = .sdata2:0x801F3484; // type:object size:0x4 data:float -lbl_801F3488 = .sdata2:0x801F3488; // type:object size:0x4 data:float -lbl_801F348C = .sdata2:0x801F348C; // type:object size:0x4 data:float -lbl_801F3490 = .sdata2:0x801F3490; // type:object size:0x4 data:float -lbl_801F3494 = .sdata2:0x801F3494; // type:object size:0x4 data:float -lbl_801F3498 = .sdata2:0x801F3498; // type:object size:0x4 data:float -lbl_801F349C = .sdata2:0x801F349C; // type:object size:0x4 data:float -lbl_801F34A0 = .sdata2:0x801F34A0; // type:object size:0x4 data:float -lbl_801F34A4 = .sdata2:0x801F34A4; // type:object size:0x4 data:float -lbl_801F34A8 = .sdata2:0x801F34A8; // type:object size:0x4 data:float -lbl_801F34AC = .sdata2:0x801F34AC; // type:object size:0x4 data:float -lbl_801F34B0 = .sdata2:0x801F34B0; // type:object size:0x8 data:double -lbl_801F34B8 = .sdata2:0x801F34B8; // type:object size:0x8 data:double -lbl_801F34C0 = .sdata2:0x801F34C0; // type:object size:0x4 data:float -lbl_801F34C8 = .sdata2:0x801F34C8; // type:object size:0x8 data:double -lbl_801F34D0 = .sdata2:0x801F34D0; // type:object size:0x8 data:double -lbl_801F34D8 = .sdata2:0x801F34D8; // type:object size:0x4 data:float -lbl_801F34DC = .sdata2:0x801F34DC; // type:object size:0x4 data:float -lbl_801F34E0 = .sdata2:0x801F34E0; // type:object size:0x4 data:float -lbl_801F34E4 = .sdata2:0x801F34E4; // type:object size:0x4 data:float -lbl_801F34E8 = .sdata2:0x801F34E8; // type:object size:0x4 data:float -lbl_801F34EC = .sdata2:0x801F34EC; // type:object size:0x4 data:float -lbl_801F34F0 = .sdata2:0x801F34F0; // type:object size:0x4 data:float -lbl_801F34F4 = .sdata2:0x801F34F4; // type:object size:0x4 data:float -lbl_801F34F8 = .sdata2:0x801F34F8; // type:object size:0x4 data:float -lbl_801F34FC = .sdata2:0x801F34FC; // type:object size:0x4 data:float -lbl_801F3500 = .sdata2:0x801F3500; // type:object size:0x4 data:float -lbl_801F3504 = .sdata2:0x801F3504; // type:object size:0x4 data:float -lbl_801F3508 = .sdata2:0x801F3508; // type:object size:0x4 data:float -lbl_801F350C = .sdata2:0x801F350C; // type:object size:0x4 data:float -lbl_801F3510 = .sdata2:0x801F3510; // type:object size:0x4 data:float -lbl_801F3514 = .sdata2:0x801F3514; // type:object size:0x4 data:float -lbl_801F3518 = .sdata2:0x801F3518; // type:object size:0x4 data:float -lbl_801F351C = .sdata2:0x801F351C; // type:object size:0x4 data:float -lbl_801F3520 = .sdata2:0x801F3520; // type:object size:0x4 data:float -lbl_801F3528 = .sdata2:0x801F3528; // type:object size:0x8 data:double -lbl_801F3530 = .sdata2:0x801F3530; // type:object size:0x8 data:double -lbl_801F3538 = .sdata2:0x801F3538; // type:object size:0x8 data:double -lbl_801F3540 = .sdata2:0x801F3540; // type:object size:0x8 data:double -lbl_801F3548 = .sdata2:0x801F3548; // type:object size:0x4 data:float -lbl_801F354C = .sdata2:0x801F354C; // type:object size:0x4 data:float -lbl_801F3550 = .sdata2:0x801F3550; // type:object size:0x4 data:float -lbl_801F3554 = .sdata2:0x801F3554; // type:object size:0x4 data:float -lbl_801F3558 = .sdata2:0x801F3558; // type:object size:0x4 data:float -lbl_801F355C = .sdata2:0x801F355C; // type:object size:0x4 data:float -lbl_801F3560 = .sdata2:0x801F3560; // type:object size:0x4 data:float -lbl_801F3564 = .sdata2:0x801F3564; // type:object size:0x4 data:float -lbl_801F3568 = .sdata2:0x801F3568; // type:object size:0x4 data:float -lbl_801F356C = .sdata2:0x801F356C; // type:object size:0x4 data:float -lbl_801F3570 = .sdata2:0x801F3570; // type:object size:0x4 data:float -lbl_801F3574 = .sdata2:0x801F3574; // type:object size:0x4 data:float -lbl_801F3578 = .sdata2:0x801F3578; // type:object size:0x4 data:float -lbl_801F357C = .sdata2:0x801F357C; // type:object size:0x4 data:float -lbl_801F3580 = .sdata2:0x801F3580; // type:object size:0x4 data:float -lbl_801F3584 = .sdata2:0x801F3584; // type:object size:0x4 data:float -lbl_801F3588 = .sdata2:0x801F3588; // type:object size:0x4 data:float -lbl_801F358C = .sdata2:0x801F358C; // type:object size:0x4 data:float -lbl_801F3590 = .sdata2:0x801F3590; // type:object size:0x4 data:float -lbl_801F3594 = .sdata2:0x801F3594; // type:object size:0x4 data:float -lbl_801F3598 = .sdata2:0x801F3598; // type:object size:0x4 data:float -lbl_801F359C = .sdata2:0x801F359C; // type:object size:0x4 data:float -lbl_801F35A0 = .sdata2:0x801F35A0; // type:object size:0x8 data:double -lbl_801F35A8 = .sdata2:0x801F35A8; // type:object size:0x8 data:double -lbl_801F35B0 = .sdata2:0x801F35B0; // type:object size:0x4 data:float -lbl_801F35B4 = .sdata2:0x801F35B4; // type:object size:0x4 data:float -lbl_801F35B8 = .sdata2:0x801F35B8; // type:object size:0x8 data:double -lbl_801F35C0 = .sdata2:0x801F35C0; // type:object size:0x4 data:float -lbl_801F35C4 = .sdata2:0x801F35C4; // type:object size:0x4 data:float -lbl_801F35C8 = .sdata2:0x801F35C8; // type:object size:0x4 data:float -lbl_801F35CC = .sdata2:0x801F35CC; // type:object size:0x4 data:float -lbl_801F35D0 = .sdata2:0x801F35D0; // type:object size:0x4 data:float -lbl_801F35D4 = .sdata2:0x801F35D4; // type:object size:0x4 data:float -lbl_801F35D8 = .sdata2:0x801F35D8; // type:object size:0x4 data:float -lbl_801F35DC = .sdata2:0x801F35DC; // type:object size:0x4 data:float -lbl_801F35E0 = .sdata2:0x801F35E0; // type:object size:0x4 data:float -lbl_801F35E4 = .sdata2:0x801F35E4; // type:object size:0x4 data:float -lbl_801F35E8 = .sdata2:0x801F35E8; // type:object size:0x4 data:float -lbl_801F35EC = .sdata2:0x801F35EC; // type:object size:0x4 data:float -lbl_801F35F0 = .sdata2:0x801F35F0; // type:object size:0x4 data:float -lbl_801F35F4 = .sdata2:0x801F35F4; // type:object size:0x4 data:float -lbl_801F35F8 = .sdata2:0x801F35F8; // type:object size:0x4 data:float -lbl_801F35FC = .sdata2:0x801F35FC; // type:object size:0x4 data:float -lbl_801F3600 = .sdata2:0x801F3600; // type:object size:0x4 data:float -lbl_801F3604 = .sdata2:0x801F3604; // type:object size:0x4 data:float -lbl_801F3608 = .sdata2:0x801F3608; // type:object size:0x4 data:float -lbl_801F360C = .sdata2:0x801F360C; // type:object size:0x4 data:float -lbl_801F3610 = .sdata2:0x801F3610; // type:object size:0x4 data:float -lbl_801F3618 = .sdata2:0x801F3618; // type:object size:0x8 data:double -lbl_801F3620 = .sdata2:0x801F3620; // type:object size:0x8 data:double -lbl_801F3628 = .sdata2:0x801F3628; // type:object size:0x8 data:double -lbl_801F3630 = .sdata2:0x801F3630; // type:object size:0x8 data:double -lbl_801F3638 = .sdata2:0x801F3638; // type:object size:0x4 data:float -lbl_801F363C = .sdata2:0x801F363C; // type:object size:0x4 data:float -lbl_801F3640 = .sdata2:0x801F3640; // type:object size:0x4 data:float -lbl_801F3644 = .sdata2:0x801F3644; // type:object size:0x4 data:float -lbl_801F3648 = .sdata2:0x801F3648; // type:object size:0x4 data:float -lbl_801F364C = .sdata2:0x801F364C; // type:object size:0x4 data:float -lbl_801F3650 = .sdata2:0x801F3650; // type:object size:0x4 data:float -lbl_801F3654 = .sdata2:0x801F3654; // type:object size:0x4 data:float -lbl_801F3658 = .sdata2:0x801F3658; // type:object size:0x4 data:float -lbl_801F365C = .sdata2:0x801F365C; // type:object size:0x1 data:byte -lbl_801F365D = .sdata2:0x801F365D; // type:object size:0x1 data:byte -lbl_801F365E = .sdata2:0x801F365E; // type:object size:0x1 data:byte -lbl_801F365F = .sdata2:0x801F365F; // type:object size:0x1 data:byte -lbl_801F3660 = .sdata2:0x801F3660; // type:object size:0x8 data:float -lbl_801F3668 = .sdata2:0x801F3668; // type:object size:0x4 data:float -lbl_801F366C = .sdata2:0x801F366C; // type:object size:0x4 data:float -lbl_801F3670 = .sdata2:0x801F3670; // type:object size:0x4 data:float -lbl_801F3674 = .sdata2:0x801F3674; // type:object size:0x4 data:float -lbl_801F3678 = .sdata2:0x801F3678; // type:object size:0x4 data:float -lbl_801F367C = .sdata2:0x801F367C; // type:object size:0x4 data:float -lbl_801F3680 = .sdata2:0x801F3680; // type:object size:0x4 data:float -lbl_801F3684 = .sdata2:0x801F3684; // type:object size:0x4 data:float -lbl_801F3688 = .sdata2:0x801F3688; // type:object size:0x4 data:float -lbl_801F368C = .sdata2:0x801F368C; // type:object size:0x4 data:float -lbl_801F3690 = .sdata2:0x801F3690; // type:object size:0x4 data:float -lbl_801F3694 = .sdata2:0x801F3694; // type:object size:0x4 data:float -lbl_801F3698 = .sdata2:0x801F3698; // type:object size:0x4 data:float -lbl_801F369C = .sdata2:0x801F369C; // type:object size:0x4 data:float -lbl_801F36A0 = .sdata2:0x801F36A0; // type:object size:0x4 data:float -lbl_801F36A4 = .sdata2:0x801F36A4; // type:object size:0x4 data:float -lbl_801F36A8 = .sdata2:0x801F36A8; // type:object size:0x4 data:float -lbl_801F36AC = .sdata2:0x801F36AC; // type:object size:0x4 data:float -lbl_801F36B0 = .sdata2:0x801F36B0; // type:object size:0x4 data:float -lbl_801F36B4 = .sdata2:0x801F36B4; // type:object size:0x4 data:float -lbl_801F36B8 = .sdata2:0x801F36B8; // type:object size:0x4 data:float -lbl_801F36BC = .sdata2:0x801F36BC; // type:object size:0x4 data:float -lbl_801F36C0 = .sdata2:0x801F36C0; // type:object size:0x4 data:float -lbl_801F36C4 = .sdata2:0x801F36C4; // type:object size:0x4 data:float -lbl_801F36C8 = .sdata2:0x801F36C8; // type:object size:0x4 data:float -lbl_801F36CC = .sdata2:0x801F36CC; // type:object size:0x4 data:float -lbl_801F36D0 = .sdata2:0x801F36D0; // type:object size:0x4 data:float -lbl_801F36D4 = .sdata2:0x801F36D4; // type:object size:0x4 data:float -lbl_801F36D8 = .sdata2:0x801F36D8; // type:object size:0x4 data:float -lbl_801F36DC = .sdata2:0x801F36DC; // type:object size:0x4 data:float -lbl_801F36E0 = .sdata2:0x801F36E0; // type:object size:0x4 data:float -lbl_801F36E4 = .sdata2:0x801F36E4; // type:object size:0x4 data:float -lbl_801F36E8 = .sdata2:0x801F36E8; // type:object size:0x4 data:float -lbl_801F36EC = .sdata2:0x801F36EC; // type:object size:0x4 data:float -lbl_801F36F0 = .sdata2:0x801F36F0; // type:object size:0x4 data:float -lbl_801F36F4 = .sdata2:0x801F36F4; // type:object size:0x4 data:float -lbl_801F36F8 = .sdata2:0x801F36F8; // type:object size:0x4 data:float -lbl_801F36FC = .sdata2:0x801F36FC; // type:object size:0x4 data:float -lbl_801F3700 = .sdata2:0x801F3700; // type:object size:0x4 data:float -lbl_801F3704 = .sdata2:0x801F3704; // type:object size:0x4 data:float -lbl_801F3708 = .sdata2:0x801F3708; // type:object size:0x4 data:float -lbl_801F370C = .sdata2:0x801F370C; // type:object size:0x4 data:float -lbl_801F3710 = .sdata2:0x801F3710; // type:object size:0x8 data:double -lbl_801F3718 = .sdata2:0x801F3718; // type:object size:0x8 data:float -lbl_801F3720 = .sdata2:0x801F3720; // type:object size:0x4 data:float -lbl_801F3724 = .sdata2:0x801F3724; // type:object size:0x4 data:float -lbl_801F3728 = .sdata2:0x801F3728; // type:object size:0x4 data:float -lbl_801F372C = .sdata2:0x801F372C; // type:object size:0x4 data:float -lbl_801F3730 = .sdata2:0x801F3730; // type:object size:0x8 data:float -lbl_801F3738 = .sdata2:0x801F3738; // type:object size:0x4 data:float -lbl_801F373C = .sdata2:0x801F373C; // type:object size:0x4 data:float -lbl_801F3740 = .sdata2:0x801F3740; // type:object size:0x4 data:float -lbl_801F3744 = .sdata2:0x801F3744; // type:object size:0x4 data:float -lbl_801F3748 = .sdata2:0x801F3748; // type:object size:0x4 data:float -lbl_801F374C = .sdata2:0x801F374C; // type:object size:0x4 data:float -lbl_801F3750 = .sdata2:0x801F3750; // type:object size:0x4 data:float -lbl_801F3754 = .sdata2:0x801F3754; // type:object size:0x4 data:float -lbl_801F3758 = .sdata2:0x801F3758; // type:object size:0x4 data:float -lbl_801F375C = .sdata2:0x801F375C; // type:object size:0x4 data:float -lbl_801F3760 = .sdata2:0x801F3760; // type:object size:0x4 data:float -lbl_801F3764 = .sdata2:0x801F3764; // type:object size:0x4 data:float -lbl_801F3768 = .sdata2:0x801F3768; // type:object size:0x8 data:double -lbl_801F3770 = .sdata2:0x801F3770; // type:object size:0x8 data:double -lbl_801F3778 = .sdata2:0x801F3778; // type:object size:0x4 data:float -lbl_801F377C = .sdata2:0x801F377C; // type:object size:0x4 data:float -lbl_801F3780 = .sdata2:0x801F3780; // type:object size:0x4 data:float -lbl_801F3784 = .sdata2:0x801F3784; // type:object size:0x4 data:float -lbl_801F3788 = .sdata2:0x801F3788; // type:object size:0x4 data:float -lbl_801F378C = .sdata2:0x801F378C; // type:object size:0x4 data:float -lbl_801F3790 = .sdata2:0x801F3790; // type:object size:0x8 data:double -lbl_801F3798 = .sdata2:0x801F3798; // type:object size:0x8 data:double -lbl_801F37A0 = .sdata2:0x801F37A0; // type:object size:0x8 data:float -lbl_801F37A8 = .sdata2:0x801F37A8; // type:object size:0x4 data:float -lbl_801F37B0 = .sdata2:0x801F37B0; // type:object size:0x8 data:double -lbl_801F37B8 = .sdata2:0x801F37B8; // type:object size:0x4 data:4byte -lbl_801F37BC = .sdata2:0x801F37BC; // type:object size:0x4 data:4byte -lbl_801F37C0 = .sdata2:0x801F37C0; // type:object size:0x4 data:4byte -lbl_801F37C4 = .sdata2:0x801F37C4; // type:object size:0x4 data:float -lbl_801F37C8 = .sdata2:0x801F37C8; // type:object size:0x4 data:float -lbl_801F37CC = .sdata2:0x801F37CC; // type:object size:0x4 data:float -lbl_801F37D0 = .sdata2:0x801F37D0; // type:object size:0x8 data:double -lbl_801F37D8 = .sdata2:0x801F37D8; // type:object size:0x4 data:float -lbl_801F37E0 = .sdata2:0x801F37E0; // type:object size:0x8 data:double -lbl_801F37E8 = .sdata2:0x801F37E8; // type:object size:0x4 data:float -lbl_801F37EC = .sdata2:0x801F37EC; // type:object size:0x4 data:float -lbl_801F37F0 = .sdata2:0x801F37F0; // type:object size:0x4 data:float -lbl_801F37F4 = .sdata2:0x801F37F4; // type:object size:0x4 data:float -lbl_801F37F8 = .sdata2:0x801F37F8; // type:object size:0x4 data:float -lbl_801F37FC = .sdata2:0x801F37FC; // type:object size:0x4 data:float -lbl_801F3800 = .sdata2:0x801F3800; // type:object size:0x4 data:float -lbl_801F3804 = .sdata2:0x801F3804; // type:object size:0x4 data:float -lbl_801F3808 = .sdata2:0x801F3808; // type:object size:0x4 data:float -lbl_801F380C = .sdata2:0x801F380C; // type:object size:0x4 data:float -lbl_801F3810 = .sdata2:0x801F3810; // type:object size:0x4 data:float -lbl_801F3814 = .sdata2:0x801F3814; // type:object size:0x4 data:float -lbl_801F3818 = .sdata2:0x801F3818; // type:object size:0x4 data:float -lbl_801F3820 = .sdata2:0x801F3820; // type:object size:0x8 data:double -lbl_801F3828 = .sdata2:0x801F3828; // type:object size:0x8 data:double -lbl_801F3830 = .sdata2:0x801F3830; // type:object size:0x8 data:float -lbl_801F3838 = .sdata2:0x801F3838; // type:object size:0x4 data:float -lbl_801F3840 = .sdata2:0x801F3840; // type:object size:0x8 data:double -lbl_801F3848 = .sdata2:0x801F3848; // type:object size:0x4 data:float -lbl_801F384C = .sdata2:0x801F384C; // type:object size:0x4 data:float -lbl_801F3850 = .sdata2:0x801F3850; // type:object size:0x4 data:float -lbl_801F3854 = .sdata2:0x801F3854; // type:object size:0x4 data:float -lbl_801F3858 = .sdata2:0x801F3858; // type:object size:0x4 data:float -lbl_801F385C = .sdata2:0x801F385C; // type:object size:0x4 data:float -lbl_801F3860 = .sdata2:0x801F3860; // type:object size:0x4 data:float -lbl_801F3864 = .sdata2:0x801F3864; // type:object size:0x4 data:float -lbl_801F3868 = .sdata2:0x801F3868; // type:object size:0x4 data:float -lbl_801F3870 = .sdata2:0x801F3870; // type:object size:0x8 data:double -lbl_801F3878 = .sdata2:0x801F3878; // type:object size:0x4 data:float -lbl_801F387C = .sdata2:0x801F387C; // type:object size:0x4 data:float -lbl_801F3880 = .sdata2:0x801F3880; // type:object size:0x8 data:double -lbl_801F3888 = .sdata2:0x801F3888; // type:object size:0x4 data:float -lbl_801F3890 = .sdata2:0x801F3890; // type:object size:0x8 data:double -lbl_801F3898 = .sdata2:0x801F3898; // type:object size:0x4 data:float -lbl_801F38A0 = .sdata2:0x801F38A0; // type:object size:0x8 data:double -lbl_801F38A8 = .sdata2:0x801F38A8; // type:object size:0x4 data:float -lbl_801F38AC = .sdata2:0x801F38AC; // type:object size:0x4 data:float -lbl_801F38B0 = .sdata2:0x801F38B0; // type:object size:0x4 data:float -lbl_801F38B8 = .sdata2:0x801F38B8; // type:object size:0x8 data:double -lbl_801F38C0 = .sdata2:0x801F38C0; // type:object size:0x4 data:float -lbl_801F38C4 = .sdata2:0x801F38C4; // type:object size:0x4 data:float -lbl_801F38C8 = .sdata2:0x801F38C8; // type:object size:0x8 data:double -lbl_801F38D0 = .sdata2:0x801F38D0; // type:object size:0x4 data:float -lbl_801F38D4 = .sdata2:0x801F38D4; // type:object size:0x4 data:float -lbl_801F38D8 = .sdata2:0x801F38D8; // type:object size:0x4 data:float -lbl_801F38DC = .sdata2:0x801F38DC; // type:object size:0x4 data:float -lbl_801F38E0 = .sdata2:0x801F38E0; // type:object size:0x4 data:float -lbl_801F38E8 = .sdata2:0x801F38E8; // type:object size:0x8 data:double -lbl_801F38F0 = .sdata2:0x801F38F0; // type:object size:0x4 data:4byte -lbl_801F38F8 = .sdata2:0x801F38F8; // type:object size:0x8 data:double -lbl_801F3900 = .sdata2:0x801F3900; // type:object size:0x8 data:double -lbl_801F3908 = .sdata2:0x801F3908; // type:object size:0x8 data:double -lbl_801F3910 = .sdata2:0x801F3910; // type:object size:0x8 data:double -lbl_801F3918 = .sdata2:0x801F3918; // type:object size:0x8 data:double -lbl_801F3920 = .sdata2:0x801F3920; // type:object size:0x8 data:double -lbl_801F3928 = .sdata2:0x801F3928; // type:object size:0x8 data:double -lbl_801F3930 = .sdata2:0x801F3930; // type:object size:0x8 data:double -lbl_801F3938 = .sdata2:0x801F3938; // type:object size:0x8 data:double -lbl_801F3940 = .sdata2:0x801F3940; // type:object size:0x8 data:double -lbl_801F3948 = .sdata2:0x801F3948; // type:object size:0x8 data:double -lbl_801F3950 = .sdata2:0x801F3950; // type:object size:0x8 data:double -lbl_801F3958 = .sdata2:0x801F3958; // type:object size:0x8 data:double -lbl_801F3960 = .sdata2:0x801F3960; // type:object size:0x8 data:double -lbl_801F3968 = .sdata2:0x801F3968; // type:object size:0x8 data:double -lbl_801F3970 = .sdata2:0x801F3970; // type:object size:0x8 data:double -lbl_801F3978 = .sdata2:0x801F3978; // type:object size:0x8 data:double -lbl_801F3980 = .sdata2:0x801F3980; // type:object size:0x8 data:double -lbl_801F3988 = .sdata2:0x801F3988; // type:object size:0x8 data:double -lbl_801F3990 = .sdata2:0x801F3990; // type:object size:0x8 data:double -lbl_801F3998 = .sdata2:0x801F3998; // type:object size:0x8 data:double -lbl_801F39A0 = .sdata2:0x801F39A0; // type:object size:0x8 data:double -lbl_801F39A8 = .sdata2:0x801F39A8; // type:object size:0x8 data:double -lbl_801F39B0 = .sdata2:0x801F39B0; // type:object size:0x8 data:double -lbl_801F39B8 = .sdata2:0x801F39B8; // type:object size:0x8 data:double -lbl_801F39C0 = .sdata2:0x801F39C0; // type:object size:0x8 data:double -lbl_801F39C8 = .sdata2:0x801F39C8; // type:object size:0x8 data:double -lbl_801F39D0 = .sdata2:0x801F39D0; // type:object size:0x8 data:double -lbl_801F39D8 = .sdata2:0x801F39D8; // type:object size:0x8 data:double -lbl_801F39E0 = .sdata2:0x801F39E0; // type:object size:0x8 data:double -lbl_801F39E8 = .sdata2:0x801F39E8; // type:object size:0x8 data:double -lbl_801F39F0 = .sdata2:0x801F39F0; // type:object size:0x8 data:double -lbl_801F39F8 = .sdata2:0x801F39F8; // type:object size:0x8 data:double -lbl_801F3A00 = .sdata2:0x801F3A00; // type:object size:0x8 data:double -lbl_801F3A08 = .sdata2:0x801F3A08; // type:object size:0x8 data:double -lbl_801F3A10 = .sdata2:0x801F3A10; // type:object size:0x8 data:double -lbl_801F3A18 = .sdata2:0x801F3A18; // type:object size:0x8 data:double -lbl_801F3A20 = .sdata2:0x801F3A20; // type:object size:0x8 data:double -lbl_801F3A28 = .sdata2:0x801F3A28; // type:object size:0x8 data:double -lbl_801F3A30 = .sdata2:0x801F3A30; // type:object size:0x8 data:double -lbl_801F3A38 = .sdata2:0x801F3A38; // type:object size:0x8 data:double -lbl_801F3A40 = .sdata2:0x801F3A40; // type:object size:0x8 data:double -lbl_801F3A48 = .sdata2:0x801F3A48; // type:object size:0x8 data:double -lbl_801F3A50 = .sdata2:0x801F3A50; // type:object size:0x8 data:double -lbl_801F3A58 = .sdata2:0x801F3A58; // type:object size:0x8 data:double -lbl_801F3A60 = .sdata2:0x801F3A60; // type:object size:0x8 data:double -lbl_801F3A68 = .sdata2:0x801F3A68; // type:object size:0x8 data:double -lbl_801F3A70 = .sdata2:0x801F3A70; // type:object size:0x8 data:double -lbl_801F3A78 = .sdata2:0x801F3A78; // type:object size:0x8 data:double -lbl_801F3A80 = .sdata2:0x801F3A80; // type:object size:0x8 data:double -lbl_801F3A88 = .sdata2:0x801F3A88; // type:object size:0x8 data:double -lbl_801F3A90 = .sdata2:0x801F3A90; // type:object size:0x8 data:double -lbl_801F3A98 = .sdata2:0x801F3A98; // type:object size:0x8 data:double -lbl_801F3AA0 = .sdata2:0x801F3AA0; // type:object size:0x8 data:double -lbl_801F3AA8 = .sdata2:0x801F3AA8; // type:object size:0x8 data:double -lbl_801F3AB0 = .sdata2:0x801F3AB0; // type:object size:0x8 data:double -lbl_801F3AB8 = .sdata2:0x801F3AB8; // type:object size:0x8 data:double -lbl_801F3AC0 = .sdata2:0x801F3AC0; // type:object size:0x8 data:double -lbl_801F3AC8 = .sdata2:0x801F3AC8; // type:object size:0x8 data:double -lbl_801F3AD0 = .sdata2:0x801F3AD0; // type:object size:0x8 data:double -lbl_801F3AD8 = .sdata2:0x801F3AD8; // type:object size:0x8 data:double -lbl_801F3AE0 = .sdata2:0x801F3AE0; // type:object size:0x8 data:double -lbl_801F3AE8 = .sdata2:0x801F3AE8; // type:object size:0x8 data:double -lbl_801F3AF0 = .sdata2:0x801F3AF0; // type:object size:0x8 data:double -lbl_801F3AF8 = .sdata2:0x801F3AF8; // type:object size:0x8 data:double -lbl_801F3B00 = .sdata2:0x801F3B00; // type:object size:0x8 data:double -lbl_801F3B08 = .sdata2:0x801F3B08; // type:object size:0x8 data:double -lbl_801F3B10 = .sdata2:0x801F3B10; // type:object size:0x8 data:double -lbl_801F3B18 = .sdata2:0x801F3B18; // type:object size:0x8 data:double -lbl_801F3B20 = .sdata2:0x801F3B20; // type:object size:0x8 data:double -lbl_801F3B28 = .sdata2:0x801F3B28; // type:object size:0x8 data:double -lbl_801F3B30 = .sdata2:0x801F3B30; // type:object size:0x8 data:double -lbl_801F3B38 = .sdata2:0x801F3B38; // type:object size:0x8 data:double -lbl_801F3B40 = .sdata2:0x801F3B40; // type:object size:0x8 data:double -lbl_801F3B48 = .sdata2:0x801F3B48; // type:object size:0x8 data:double -lbl_801F3B50 = .sdata2:0x801F3B50; // type:object size:0x8 data:double -lbl_801F3B58 = .sdata2:0x801F3B58; // type:object size:0x8 data:double -lbl_801F3B60 = .sdata2:0x801F3B60; // type:object size:0x8 data:double -lbl_801F3B68 = .sdata2:0x801F3B68; // type:object size:0x8 data:double -lbl_801F3B70 = .sdata2:0x801F3B70; // type:object size:0x8 data:double -lbl_801F3B78 = .sdata2:0x801F3B78; // type:object size:0x8 data:double -lbl_801F3B80 = .sdata2:0x801F3B80; // type:object size:0x8 data:double -lbl_801F3B88 = .sdata2:0x801F3B88; // type:object size:0x8 data:double -lbl_801F3B90 = .sdata2:0x801F3B90; // type:object size:0x8 data:double -lbl_801F3B98 = .sdata2:0x801F3B98; // type:object size:0x8 data:double -lbl_801F3BA0 = .sdata2:0x801F3BA0; // type:object size:0x8 data:double -lbl_801F3BA8 = .sdata2:0x801F3BA8; // type:object size:0x8 data:double -lbl_801F3BB0 = .sdata2:0x801F3BB0; // type:object size:0x8 data:double -lbl_801F3BB8 = .sdata2:0x801F3BB8; // type:object size:0x8 data:double -lbl_801F3BC0 = .sdata2:0x801F3BC0; // type:object size:0x8 data:double -lbl_801F3BC8 = .sdata2:0x801F3BC8; // type:object size:0x8 data:double -lbl_801F3BD0 = .sdata2:0x801F3BD0; // type:object size:0x8 data:double -lbl_801F3BD8 = .sdata2:0x801F3BD8; // type:object size:0x8 data:double -lbl_801F3BE0 = .sdata2:0x801F3BE0; // type:object size:0x8 data:double -lbl_801F3BE8 = .sdata2:0x801F3BE8; // type:object size:0x8 data:double -lbl_801F3BF0 = .sdata2:0x801F3BF0; // type:object size:0x8 data:double -lbl_801F3BF8 = .sdata2:0x801F3BF8; // type:object size:0x8 data:double -lbl_801F3C00 = .sdata2:0x801F3C00; // type:object size:0x8 data:double -lbl_801F3C08 = .sdata2:0x801F3C08; // type:object size:0x8 data:double -lbl_801F3C10 = .sdata2:0x801F3C10; // type:object size:0x8 data:double -lbl_801F3C18 = .sdata2:0x801F3C18; // type:object size:0x8 data:double -lbl_801F3C20 = .sdata2:0x801F3C20; // type:object size:0x8 data:double -lbl_801F3C28 = .sdata2:0x801F3C28; // type:object size:0x8 data:double -lbl_801F3C30 = .sdata2:0x801F3C30; // type:object size:0x8 data:double -lbl_801F3C38 = .sdata2:0x801F3C38; // type:object size:0x8 data:double -lbl_801F3C40 = .sdata2:0x801F3C40; // type:object size:0x8 data:double -lbl_801F3C48 = .sdata2:0x801F3C48; // type:object size:0x8 data:double -lbl_801F3C50 = .sdata2:0x801F3C50; // type:object size:0x8 data:double -lbl_801F3C58 = .sdata2:0x801F3C58; // type:object size:0x8 data:double -lbl_801F3C60 = .sdata2:0x801F3C60; // type:object size:0x8 data:double -lbl_801F3C68 = .sdata2:0x801F3C68; // type:object size:0x8 data:double -lbl_801F3C70 = .sdata2:0x801F3C70; // type:object size:0x8 data:double -lbl_801F3C78 = .sdata2:0x801F3C78; // type:object size:0x8 data:double -lbl_801F3C80 = .sdata2:0x801F3C80; // type:object size:0x8 data:double -lbl_801F3C88 = .sdata2:0x801F3C88; // type:object size:0x8 data:double -lbl_801F3C90 = .sdata2:0x801F3C90; // type:object size:0x8 data:double -lbl_801F3C98 = .sdata2:0x801F3C98; // type:object size:0x8 data:double -lbl_801F3CA0 = .sdata2:0x801F3CA0; // type:object size:0x8 data:double -lbl_801F3CA8 = .sdata2:0x801F3CA8; // type:object size:0x8 data:double -lbl_801F3CB0 = .sdata2:0x801F3CB0; // type:object size:0x8 data:double -lbl_801F3CB8 = .sdata2:0x801F3CB8; // type:object size:0x8 data:double -lbl_801F3CC0 = .sdata2:0x801F3CC0; // type:object size:0x8 data:double -lbl_801F3CC8 = .sdata2:0x801F3CC8; // type:object size:0x8 data:double -lbl_801F3CD0 = .sdata2:0x801F3CD0; // type:object size:0x8 data:double -lbl_801F3CD8 = .sdata2:0x801F3CD8; // type:object size:0x8 data:double -lbl_801F3CE0 = .sdata2:0x801F3CE0; // type:object size:0x8 data:double -lbl_801F3CE8 = .sdata2:0x801F3CE8; // type:object size:0x8 data:double -lbl_801F3CF0 = .sdata2:0x801F3CF0; // type:object size:0x8 data:double -lbl_801F3CF8 = .sdata2:0x801F3CF8; // type:object size:0x8 data:double -lbl_801F3D00 = .sdata2:0x801F3D00; // type:object size:0x8 data:double -lbl_801F3D08 = .sdata2:0x801F3D08; // type:object size:0x8 data:double -lbl_801F3D10 = .sdata2:0x801F3D10; // type:object size:0x8 data:double -lbl_801F3D18 = .sdata2:0x801F3D18; // type:object size:0x8 data:double -lbl_801F3D20 = .sdata2:0x801F3D20; // type:object size:0x8 data:double -lbl_801F3D28 = .sdata2:0x801F3D28; // type:object size:0x8 data:double -lbl_801F3D30 = .sdata2:0x801F3D30; // type:object size:0x8 data:double -lbl_801F3D38 = .sdata2:0x801F3D38; // type:object size:0x8 data:double -lbl_801F3D40 = .sdata2:0x801F3D40; // type:object size:0x8 data:double -lbl_801F3D48 = .sdata2:0x801F3D48; // type:object size:0x8 data:double -lbl_801F3D50 = .sdata2:0x801F3D50; // type:object size:0x8 data:double -lbl_801F3D58 = .sdata2:0x801F3D58; // type:object size:0x8 data:double -lbl_801F3D60 = .sdata2:0x801F3D60; // type:object size:0x4 data:float -lbl_801F3D64 = .sdata2:0x801F3D64; // type:object size:0x4 data:float -lbl_801F3D68 = .sdata2:0x801F3D68; // type:object size:0x4 data:float -lbl_801F3D70 = .sdata2:0x801F3D70; // type:object size:0x8 data:double -lbl_801F3D78 = .sdata2:0x801F3D78; // type:object size:0x8 data:double -lbl_801F3D80 = .sdata2:0x801F3D80; // type:object size:0x4 data:float -lbl_801F3D84 = .sdata2:0x801F3D84; // type:object size:0x4 data:float -lbl_801F3D88 = .sdata2:0x801F3D88; // type:object size:0x4 data:float -lbl_801F3D8C = .sdata2:0x801F3D8C; // type:object size:0x4 data:float -lbl_801F3D90 = .sdata2:0x801F3D90; // type:object size:0x4 data:float -lbl_801F3D94 = .sdata2:0x801F3D94; // type:object size:0x4 data:float -lbl_801F3D98 = .sdata2:0x801F3D98; // type:object size:0x4 data:float -lbl_801F3D9C = .sdata2:0x801F3D9C; // type:object size:0x4 data:float -lbl_801F3DA0 = .sdata2:0x801F3DA0; // type:object size:0x4 data:float -lbl_801F3DA8 = .sdata2:0x801F3DA8; // type:object size:0x8 data:double -lbl_801F3DB0 = .sdata2:0x801F3DB0; // type:object size:0x8 data:double -lbl_801F3DB8 = .sdata2:0x801F3DB8; // type:object size:0x4 data:float -lbl_801F3DBC = .sdata2:0x801F3DBC; // type:object size:0x4 data:float -lbl_801F3DC0 = .sdata2:0x801F3DC0; // type:object size:0x4 data:float -lbl_801F3DC8 = .sdata2:0x801F3DC8; // type:object size:0x8 data:double -lbl_801F3DD0 = .sdata2:0x801F3DD0; // type:object size:0x8 data:float -lbl_801F3DD8 = .sdata2:0x801F3DD8; // type:object size:0x4 data:float -lbl_801F3DDC = .sdata2:0x801F3DDC; // type:object size:0x4 data:float -lbl_801F3DE0 = .sdata2:0x801F3DE0; // type:object size:0x4 data:float -lbl_801F3DE8 = .sdata2:0x801F3DE8; // type:object size:0x8 data:double -lbl_801F3DF0 = .sdata2:0x801F3DF0; // type:object size:0x8 data:double -lbl_801F3DF8 = .sdata2:0x801F3DF8; // type:object size:0x4 data:float -lbl_801F3DFC = .sdata2:0x801F3DFC; // type:object size:0x4 data:float -lbl_801F3E00 = .sdata2:0x801F3E00; // type:object size:0x4 data:float -lbl_801F3E08 = .sdata2:0x801F3E08; // type:object size:0x8 data:double -lbl_801F3E10 = .sdata2:0x801F3E10; // type:object size:0x4 data:float -lbl_801F3E18 = .sdata2:0x801F3E18; // type:object size:0x8 data:double -lbl_801F3E20 = .sdata2:0x801F3E20; // type:object size:0x4 data:float -lbl_801F3E24 = .sdata2:0x801F3E24; // type:object size:0x4 data:float -lbl_801F3E28 = .sdata2:0x801F3E28; // type:object size:0x8 data:double -lbl_801F3E30 = .sdata2:0x801F3E30; // type:object size:0x4 data:float -lbl_801F3E38 = .sdata2:0x801F3E38; // type:object size:0x8 data:double -lbl_801F3E40 = .sdata2:0x801F3E40; // type:object size:0x4 data:float -lbl_801F3E44 = .sdata2:0x801F3E44; // type:object size:0x4 data:float -lbl_801F3E48 = .sdata2:0x801F3E48; // type:object size:0x4 data:float -lbl_801F3E50 = .sdata2:0x801F3E50; // type:object size:0x8 data:double -lbl_801F3E58 = .sdata2:0x801F3E58; // type:object size:0x4 data:float -lbl_801F3E60 = .sdata2:0x801F3E60; // type:object size:0x8 data:double -lbl_801F3E68 = .sdata2:0x801F3E68; // type:object size:0x4 data:float -lbl_801F3E6C = .sdata2:0x801F3E6C; // type:object size:0x4 data:float -lbl_801F3E70 = .sdata2:0x801F3E70; // type:object size:0x8 data:float -lbl_801F3E78 = .sdata2:0x801F3E78; // type:object size:0x4 data:float -lbl_801F3E80 = .sdata2:0x801F3E80; // type:object size:0x8 data:double -lbl_801F3E88 = .sdata2:0x801F3E88; // type:object size:0x4 data:float -lbl_801F3E8C = .sdata2:0x801F3E8C; // type:object size:0x4 data:float -lbl_801F3E90 = .sdata2:0x801F3E90; // type:object size:0x8 data:double -lbl_801F3E98 = .sdata2:0x801F3E98; // type:object size:0x4 data:float -lbl_801F3E9C = .sdata2:0x801F3E9C; // type:object size:0x4 data:float -lbl_801F3EA0 = .sdata2:0x801F3EA0; // type:object size:0x8 data:double -lbl_801F3EA8 = .sdata2:0x801F3EA8; // type:object size:0x4 data:float -lbl_801F3EAC = .sdata2:0x801F3EAC; // type:object size:0x4 data:float -lbl_801F3EB0 = .sdata2:0x801F3EB0; // type:object size:0x4 data:float -lbl_801F3EB4 = .sdata2:0x801F3EB4; // type:object size:0x4 data:float -lbl_801F3EB8 = .sdata2:0x801F3EB8; // type:object size:0x4 data:float -lbl_801F3EBC = .sdata2:0x801F3EBC; // type:object size:0x4 data:float -lbl_801F3EC0 = .sdata2:0x801F3EC0; // type:object size:0x8 data:float -lbl_801F3EC8 = .sdata2:0x801F3EC8; // type:object size:0x4 data:float -lbl_801F3ED0 = .sdata2:0x801F3ED0; // type:object size:0x8 data:double -lbl_801F3ED8 = .sdata2:0x801F3ED8; // type:object size:0x8 data:double -lbl_801F3EE0 = .sdata2:0x801F3EE0; // type:object size:0x8 data:float -lbl_801F3EE8 = .sdata2:0x801F3EE8; // type:object size:0x4 data:float -lbl_801F3EEC = .sdata2:0x801F3EEC; // type:object size:0x4 data:float -lbl_801F3EF0 = .sdata2:0x801F3EF0; // type:object size:0x4 data:float -lbl_801F3EF8 = .sdata2:0x801F3EF8; // type:object size:0x8 data:double -lbl_801F3F00 = .sdata2:0x801F3F00; // type:object size:0x4 data:float -lbl_801F3F04 = .sdata2:0x801F3F04; // type:object size:0x4 data:float -lbl_801F3F08 = .sdata2:0x801F3F08; // type:object size:0x4 data:float -lbl_801F3F0C = .sdata2:0x801F3F0C; // type:object size:0x4 data:float -lbl_801F3F10 = .sdata2:0x801F3F10; // type:object size:0x4 data:float -lbl_801F3F14 = .sdata2:0x801F3F14; // type:object size:0x4 data:float -lbl_801F3F18 = .sdata2:0x801F3F18; // type:object size:0x8 data:double -lbl_801F3F20 = .sdata2:0x801F3F20; // type:object size:0x4 data:float -lbl_801F3F24 = .sdata2:0x801F3F24; // type:object size:0x4 data:float -lbl_801F3F28 = .sdata2:0x801F3F28; // type:object size:0x8 data:double -lbl_801F3F30 = .sdata2:0x801F3F30; // type:object size:0x4 data:float -lbl_801F3F34 = .sdata2:0x801F3F34; // type:object size:0x4 data:float -lbl_801F3F38 = .sdata2:0x801F3F38; // type:object size:0x8 data:double -lbl_801F3F40 = .sdata2:0x801F3F40; // type:object size:0x4 data:float -lbl_801F3F44 = .sdata2:0x801F3F44; // type:object size:0x4 data:float -lbl_801F3F48 = .sdata2:0x801F3F48; // type:object size:0x4 data:float -lbl_801F3F4C = .sdata2:0x801F3F4C; // type:object size:0x4 data:float -lbl_801F3F50 = .sdata2:0x801F3F50; // type:object size:0x4 data:float -lbl_801F3F54 = .sdata2:0x801F3F54; // type:object size:0x4 data:float -lbl_801F3F58 = .sdata2:0x801F3F58; // type:object size:0x8 data:double -lbl_801F3F60 = .sdata2:0x801F3F60; // type:object size:0x4 data:float -lbl_801F3F64 = .sdata2:0x801F3F64; // type:object size:0x4 data:float -lbl_801F3F68 = .sdata2:0x801F3F68; // type:object size:0x8 data:double -lbl_801F3F70 = .sdata2:0x801F3F70; // type:object size:0x8 data:double -lbl_801F3F78 = .sdata2:0x801F3F78; // type:object size:0x4 data:float -lbl_801F3F7C = .sdata2:0x801F3F7C; // type:object size:0x4 data:float -lbl_801F3F80 = .sdata2:0x801F3F80; // type:object size:0x4 data:float -lbl_801F3F88 = .sdata2:0x801F3F88; // type:object size:0x8 data:double -lbl_801F3F90 = .sdata2:0x801F3F90; // type:object size:0x4 data:4byte -lbl_801F3F94 = .sdata2:0x801F3F94; // type:object size:0x4 data:4byte -lbl_801F3F98 = .sdata2:0x801F3F98; // type:object size:0x4 data:float -lbl_801F3F9C = .sdata2:0x801F3F9C; // type:object size:0x4 data:float -lbl_801F3FA0 = .sdata2:0x801F3FA0; // type:object size:0x4 data:float -lbl_801F3FA4 = .sdata2:0x801F3FA4; // type:object size:0x4 data:float -lbl_801F3FA8 = .sdata2:0x801F3FA8; // type:object size:0x8 data:double -lbl_801F3FC0 = .sbss2:0x801F3FC0; // type:object size:0x1 data:byte -lbl_801F3FC1 = .sbss2:0x801F3FC1; // type:object size:0x1 data:byte -lbl_801F3FC2 = .sbss2:0x801F3FC2; // type:object size:0x1 data:byte -lbl_801F3FC3 = .sbss2:0x801F3FC3; // type:object size:0x1 data:byte -lbl_801F3FC4 = .sbss2:0x801F3FC4; // type:object size:0x1 data:byte -lbl_801F3FC5 = .sbss2:0x801F3FC5; // type:object size:0x1 data:byte -lbl_801F3FC6 = .sbss2:0x801F3FC6; // type:object size:0x1 data:byte -lbl_801F3FC7 = .sbss2:0x801F3FC7; // type:object size:0x1 data:byte diff --git a/config/GMPP01_02/build.sha1 b/config/GMPP01_02/build.sha1 deleted file mode 100644 index fcf1ec59..00000000 --- a/config/GMPP01_02/build.sha1 +++ /dev/null @@ -1,100 +0,0 @@ -65ef91650e9201047f50a3c39c7693a21fff2b29 build/GMPP01_02/main.dol -7101a759bcd45edee5bbc00a36d347c1f787c2a1 build/GMPP01_02/_minigameDll/_minigameDll.rel -b60fe8dd6faa20663224d64651b80c25b9b202ef build/GMPP01_02/bootDll/bootDll.rel -eef3ac50923ab2f20d588ef10ae15f3bc739f2b8 build/GMPP01_02/instDll/instDll.rel -f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 build/GMPP01_02/m302Dll/m302Dll.rel -f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 build/GMPP01_02/m303Dll/m303Dll.rel -f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 build/GMPP01_02/m330Dll/m330Dll.rel -f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 build/GMPP01_02/m333Dll/m333Dll.rel -cd3532af828e8217924296c4cadbd31ddd915a05 build/GMPP01_02/m402Dll/m402Dll.rel -b2e3cdd9167c579e02c6ecc5643b6aadcc5b6a99 build/GMPP01_02/m403Dll/m403Dll.rel -56c825a1e0bbe33e3a0e1e70396c21af9b575243 build/GMPP01_02/m404Dll/m404Dll.rel -cc76ded0a41aea632fd9b3c5e37fe6d847107d91 build/GMPP01_02/m405Dll/m405Dll.rel -5c2aee9c8f10dc763c9ff763874f3a4b58880f02 build/GMPP01_02/m406Dll/m406Dll.rel -7133701b7c28a66f9d24ab64081e472d458dad51 build/GMPP01_02/m407dll/m407dll.rel -6f2552516b8e151ccbed99ee6730ca2cb2e0fd49 build/GMPP01_02/m408Dll/m408Dll.rel -71a91946651b40cc217b08d293f23fbf01c7407a build/GMPP01_02/m409Dll/m409Dll.rel -e938c2f354224a6a5a7b015f9abae596298788ee build/GMPP01_02/m410Dll/m410Dll.rel -e29bae44753c7ce8e5213881b10d6b27c02c4f7a build/GMPP01_02/m411Dll/m411Dll.rel -23da1cff677f992bb76dcbf4a9f9061542b4be7f build/GMPP01_02/m412Dll/m412Dll.rel -6ed381e5b4d75eeab2c3ded39473a482f61ee32d build/GMPP01_02/m413Dll/m413Dll.rel -902f32cc75ac0030c7c531dbeefda055bc8d7f27 build/GMPP01_02/m414Dll/m414Dll.rel -7063ae505540bafebf802128d8d2f394b7f6f921 build/GMPP01_02/m415Dll/m415Dll.rel -2979d5f934b9099116fbd943a91d6a3bb56e6ec0 build/GMPP01_02/m416Dll/m416Dll.rel -b20482a2af7c839456fe7580dcbd92ca9984ec71 build/GMPP01_02/m417Dll/m417Dll.rel -762f56820668c74cdcde436a08419bdb59a35a89 build/GMPP01_02/m418Dll/m418Dll.rel -5fba3dfcfca6ef78eb46833f665019bca641063e build/GMPP01_02/m419Dll/m419Dll.rel -bb514277a33821093fd2acfae2cb86531b317d17 build/GMPP01_02/m420dll/m420dll.rel -216ba8bbc8905f33370ae651d478f6bd56c17b27 build/GMPP01_02/m421Dll/m421Dll.rel -6c152ddb5f518c9c6444030dfc30ab53ef931b40 build/GMPP01_02/m422Dll/m422Dll.rel -db80fcb993ce09d808de29d2488f2b1ab2afc8cd build/GMPP01_02/m423Dll/m423Dll.rel -827da0897edcc2706a3623722430d4e70512c653 build/GMPP01_02/m424Dll/m424Dll.rel -26eb36bfc9106af2462a0d7e013f5321dbaecdd1 build/GMPP01_02/m425Dll/m425Dll.rel -04b649fb6eb248e506cf15fdcfbed3e915a80682 build/GMPP01_02/m426Dll/m426Dll.rel -810a1c91f794897862ac9b6a4e076a70c6b0238a build/GMPP01_02/m427Dll/m427Dll.rel -888af662a228e349ea6a0c60e19de74f8fa47914 build/GMPP01_02/m428Dll/m428Dll.rel -88b2330f175d1346a71f67491dcf9eff62d2d2d1 build/GMPP01_02/m429Dll/m429Dll.rel -e611007dd71ab515de65e9a6879f0508193fd58a build/GMPP01_02/m430Dll/m430Dll.rel -6a2b097a6d57c36bff5aaeb8c9ea2f01df7407ad build/GMPP01_02/m431Dll/m431Dll.rel -17b6a0c65c7cb759fc460fe7b8eed3dd7dc7184d build/GMPP01_02/m432Dll/m432Dll.rel -ce90f494ced6f2611603c247bdc733a458b5a523 build/GMPP01_02/m433Dll/m433Dll.rel -100fe402942821dc8e5753f3cada5e2bf5ab6214 build/GMPP01_02/m434Dll/m434Dll.rel -4936db381fa068395cff28c0d635c5ec7cc7218f build/GMPP01_02/m435Dll/m435Dll.rel -ba1c3bdc5f250996a5c873791347ce4c20b38692 build/GMPP01_02/m436Dll/m436Dll.rel -7273786a2995182baf9a85148c5974097999fe8e build/GMPP01_02/m437Dll/m437Dll.rel -d7c4bdf1729695a7348f8a36de2911db7aa24abb build/GMPP01_02/m438Dll/m438Dll.rel -4d5a719b49edb55e0b0b52c0d81b31c14d197d20 build/GMPP01_02/m439Dll/m439Dll.rel -469b18886221ae8a5b90f3e85b01ce6a01befb0b build/GMPP01_02/m440Dll/m440Dll.rel -7d6e99b67d2dde25d3fc75ac314c2a69be34137e build/GMPP01_02/m441Dll/m441Dll.rel -63af3c4f33fd362f17aa1be9f764d0549f92598d build/GMPP01_02/m442Dll/m442Dll.rel -5118a0bab1877455eae9002c3cc561d3360fd792 build/GMPP01_02/m443Dll/m443Dll.rel -a344672428b1e3a1d4bc3ce935472af529a6dd18 build/GMPP01_02/m444dll/m444dll.rel -02f7c52aa6fd4b21a5700615aeaee9ef59e6b9f3 build/GMPP01_02/m445Dll/m445Dll.rel -2ab71adae47a3d9632dcf45cf18ca0b1fc33d157 build/GMPP01_02/m446dll/m446dll.rel -0640357fe4d0148dac4bc382c8231410e24fe951 build/GMPP01_02/m447dll/m447dll.rel -78bcdd8d1fdb810784fca4d5bbec92c63e2e6b54 build/GMPP01_02/m448Dll/m448Dll.rel -fcf6e4b0089e19ffddf01a119c8c515a4acc943a build/GMPP01_02/m449Dll/m449Dll.rel -ebcf95781e8078813ed041dd0a869ae2e413679b build/GMPP01_02/m450Dll/m450Dll.rel -aa16b743f7b64f22abfd8bb93646883cc73bd7e0 build/GMPP01_02/m451Dll/m451Dll.rel -f6fd7a6537e56c535d02ac4a48c9008605f93ea1 build/GMPP01_02/m453Dll/m453Dll.rel -cc3431f55b523d474a952f3a0e927fac6b5402ab build/GMPP01_02/m455Dll/m455Dll.rel -09797251306bbd0f6fd712d6f832128ca8c58690 build/GMPP01_02/m456Dll/m456Dll.rel -8a992a09077fd5e1f6ca3e717547792938a519c1 build/GMPP01_02/m457Dll/m457Dll.rel -5dea2127d51d621b30d78b22cfa32327797e6e0b build/GMPP01_02/m458Dll/m458Dll.rel -e96dafe5949909cb7cc839174aa38e8e6661a63b build/GMPP01_02/m459dll/m459dll.rel -ea1e0bda22675840d39c74117e2a11ffe45f8dd4 build/GMPP01_02/m460Dll/m460Dll.rel -8d515f3b92a786df53bb88291b5cfc4bc59a3c8d build/GMPP01_02/m461Dll/m461Dll.rel -f02ba47e4459d9b0de174c5619a4efe61942962d build/GMPP01_02/m462Dll/m462Dll.rel -352ad6d84ded6cf28b9ff2f9e5da8812ac9164db build/GMPP01_02/m463Dll/m463Dll.rel -4705ada9d259a81ab2815fee3516f6217d848dd9 build/GMPP01_02/mentDll/mentDll.rel -b966ce340e98dbda624ff80f96c78d51ff1ed687 build/GMPP01_02/messDll/messDll.rel -7a3fed787df2d1bc942efd56a160eaf59605b94f build/GMPP01_02/mgmodedll/mgmodedll.rel -1e5bf1777b1470fcead2174c25b291b8f0513284 build/GMPP01_02/modeltestDll/modeltestDll.rel -d958038528a774801a4f5a0aee9e7aaae4bd94ce build/GMPP01_02/modeseldll/modeseldll.rel -a3e1e06937703f98191f4080e092bf06c4f449b3 build/GMPP01_02/mpexDll/mpexDll.rel -86ff8288bb92472376d02cade1d3c9603b613c57 build/GMPP01_02/msetupDll/msetupDll.rel -24b3e03e35f5bd395ef80a14babae724b7414190 build/GMPP01_02/mstory2Dll/mstory2Dll.rel -ccac71c67e5171a02b4a086df4d2daad81455466 build/GMPP01_02/mstory3Dll/mstory3Dll.rel -a8eee3981f4965412490cb9eef76aaa798957db1 build/GMPP01_02/mstory4Dll/mstory4Dll.rel -4ef3463c5dc60771468c6ab033dda1391c39d689 build/GMPP01_02/mstoryDll/mstoryDll.rel -45619d95e61d9296f25d94d7c6756f397fb89bee build/GMPP01_02/nisDll/nisDll.rel -1304967e3aa58a46492d4c736a7c86cf8a3b2e11 build/GMPP01_02/option/option.rel -7845814c6be2546930cfd8e0b9dec263fc1a959f build/GMPP01_02/present/present.rel -d9bd10433d1e2a6c0c4d9f942b766d743f99deec build/GMPP01_02/resultDll/resultDll.rel -c13262cf14f00e1d70bd65d20bbf988479816ca7 build/GMPP01_02/safDll/safDll.rel -51f53e1398c86c5a22251a457e3af86339b4b11f build/GMPP01_02/selmenuDll/selmenuDll.rel -af869e37d004f687fab2ff6897d75d6c15e31a00 build/GMPP01_02/staffDll/staffDll.rel -21de7aff7d39f8e130b4ef7602b8de85e51cf3e5 build/GMPP01_02/subchrselDll/subchrselDll.rel -70ee81af67a4f55de2fef65823583d22312f09be build/GMPP01_02/w01Dll/w01Dll.rel -33b5663ece821df4dbc50870e00de0e22e099efd build/GMPP01_02/w02Dll/w02Dll.rel -97aa16f847cdf2d6fd014f06df14c55f5f02024d build/GMPP01_02/w03Dll/w03Dll.rel -135cf03d803b9d8d39721b2a96769909aa719ee6 build/GMPP01_02/w04Dll/w04Dll.rel -e6d07092b69cc3b0514d9c12e3f5949edeb25f5f build/GMPP01_02/w05Dll/w05Dll.rel -0d5445461f58fac4c043c75bed7237b7f4045188 build/GMPP01_02/w06Dll/w06Dll.rel -5678fedd4a0490aeb9703328e959fdedea7da117 build/GMPP01_02/w10Dll/w10Dll.rel -58ae9e311cc8bd0291921480f423e2ad4774e1a2 build/GMPP01_02/w20Dll/w20Dll.rel -8ea052be8c7585a1ab152682a0698b631c5b566f build/GMPP01_02/w21Dll/w21Dll.rel -8987f11fafd11f69161ca275967afe9c8b4e7b20 build/GMPP01_02/ztardll/ztardll.rel -d59c60b0149a85782fa98d1a4da6cc768a09b473 build/GMPP01_02/E3setupDLL/E3setupDLL.rel -eba8a17e8b263bc9cd601b1aea7e698a8785416a build/GMPP01_02/m300Dll/m300Dll.rel -c457a4a45ebae776331484ba94f5798041a77a57 build/GMPP01_02/m401Dll/m401Dll.rel diff --git a/config/GMPP01_02/config.yml b/config/GMPP01_02/config.yml deleted file mode 100644 index fa72e0a2..00000000 --- a/config/GMPP01_02/config.yml +++ /dev/null @@ -1,643 +0,0 @@ -object_base: orig/GMPP01_02 -object: sys/main.dol -hash: 65ef91650e9201047f50a3c39c7693a21fff2b29 -symbols: config/GMPP01_00/symbols.txt -splits: config/GMPP01_00/splits.txt -quick_analysis: true # Faster re-runs after initial analysis -mw_comment_version: 10 # GC 2.6 linker -force_active: [__register_global_object, lbl_801D40D0] - -detect_objects: true -detect_strings: true -fill_gaps: true -modules: -- object: files/dll/_minigameDll.rel - hash: 7101a759bcd45edee5bbc00a36d347c1f787c2a1 - symbols: config/GMPP01_00/rels/_minigameDll/symbols.txt - splits: config/GMPP01_00/rels/_minigameDll/splits.txt - links: [] -- object: files/dll/bootDll.rel - hash: b60fe8dd6faa20663224d64651b80c25b9b202ef - symbols: config/GMPP01_00/rels/bootDll/symbols.txt - splits: config/GMPP01_00/rels/bootDll/splits.txt - links: [] - extract: - - symbol: nintendoData - binary: nintendoData.bin - header: nintendoData.inc -- object: files/dll/instDll.rel - hash: eef3ac50923ab2f20d588ef10ae15f3bc739f2b8 - symbols: config/GMPP01_00/rels/instDll/symbols.txt - splits: config/GMPP01_00/rels/instDll/splits.txt - links: [] -- object: files/dll/m302Dll.rel - hash: f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 - symbols: config/GMPP01_00/rels/m302Dll/symbols.txt - splits: config/GMPP01_00/rels/m302Dll/splits.txt - links: [] -- object: files/dll/m303Dll.rel - hash: f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 - symbols: config/GMPP01_00/rels/m303Dll/symbols.txt - splits: config/GMPP01_00/rels/m303Dll/splits.txt - links: [] -- object: files/dll/m330Dll.rel - hash: f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 - symbols: config/GMPP01_00/rels/m330Dll/symbols.txt - splits: config/GMPP01_00/rels/m330Dll/splits.txt - links: [] -- object: files/dll/m333Dll.rel - hash: f1ad7b5a5198a14d34141b28c654bc1704c9dcd9 - symbols: config/GMPP01_00/rels/m333Dll/symbols.txt - splits: config/GMPP01_00/rels/m333Dll/splits.txt - links: [] -- object: files/dll/m402Dll.rel - hash: cd3532af828e8217924296c4cadbd31ddd915a05 - symbols: config/GMPP01_00/rels/m402Dll/symbols.txt - splits: config/GMPP01_00/rels/m402Dll/splits.txt - links: [] -- object: files/dll/m403Dll.rel - hash: b2e3cdd9167c579e02c6ecc5643b6aadcc5b6a99 - symbols: config/GMPP01_00/rels/m403Dll/symbols.txt - splits: config/GMPP01_00/rels/m403Dll/splits.txt - links: [] -- object: files/dll/m404Dll.rel - hash: 56c825a1e0bbe33e3a0e1e70396c21af9b575243 - symbols: config/GMPP01_00/rels/m404Dll/symbols.txt - splits: config/GMPP01_00/rels/m404Dll/splits.txt - links: [] -- object: files/dll/m405Dll.rel - hash: cc76ded0a41aea632fd9b3c5e37fe6d847107d91 - symbols: config/GMPP01_00/rels/m405Dll/symbols.txt - splits: config/GMPP01_00/rels/m405Dll/splits.txt - links: [] -- object: files/dll/m406Dll.rel - hash: 5c2aee9c8f10dc763c9ff763874f3a4b58880f02 - symbols: config/GMPP01_00/rels/m406Dll/symbols.txt - splits: config/GMPP01_00/rels/m406Dll/splits.txt - links: [] -- object: files/dll/m407dll.rel - hash: 7133701b7c28a66f9d24ab64081e472d458dad51 - symbols: config/GMPP01_00/rels/m407dll/symbols.txt - splits: config/GMPP01_00/rels/m407dll/splits.txt - links: [] -- object: files/dll/m408Dll.rel - hash: 6f2552516b8e151ccbed99ee6730ca2cb2e0fd49 - symbols: config/GMPP01_00/rels/m408Dll/symbols.txt - splits: config/GMPP01_00/rels/m408Dll/splits.txt - links: [] -- object: files/dll/m409Dll.rel - hash: 71a91946651b40cc217b08d293f23fbf01c7407a - symbols: config/GMPP01_00/rels/m409Dll/symbols.txt - splits: config/GMPP01_00/rels/m409Dll/splits.txt - links: [] -- object: files/dll/m410Dll.rel - hash: e938c2f354224a6a5a7b015f9abae596298788ee - symbols: config/GMPP01_00/rels/m410Dll/symbols.txt - splits: config/GMPP01_00/rels/m410Dll/splits.txt - links: [] -- object: files/dll/m411Dll.rel - hash: e29bae44753c7ce8e5213881b10d6b27c02c4f7a - symbols: config/GMPP01_00/rels/m411Dll/symbols.txt - splits: config/GMPP01_00/rels/m411Dll/splits.txt - links: [] -- object: files/dll/m412Dll.rel - hash: 23da1cff677f992bb76dcbf4a9f9061542b4be7f - symbols: config/GMPP01_00/rels/m412Dll/symbols.txt - splits: config/GMPP01_00/rels/m412Dll/splits.txt - links: [] -- object: files/dll/m413Dll.rel - hash: 6ed381e5b4d75eeab2c3ded39473a482f61ee32d - symbols: config/GMPP01_00/rels/m413Dll/symbols.txt - splits: config/GMPP01_00/rels/m413Dll/splits.txt - links: [] -- object: files/dll/m414Dll.rel - hash: 902f32cc75ac0030c7c531dbeefda055bc8d7f27 - symbols: config/GMPP01_00/rels/m414Dll/symbols.txt - splits: config/GMPP01_00/rels/m414Dll/splits.txt - links: [] -- object: files/dll/m415Dll.rel - hash: 7063ae505540bafebf802128d8d2f394b7f6f921 - symbols: config/GMPP01_00/rels/m415Dll/symbols.txt - splits: config/GMPP01_00/rels/m415Dll/splits.txt - links: [] -- object: files/dll/m416Dll.rel - hash: 2979d5f934b9099116fbd943a91d6a3bb56e6ec0 - symbols: config/GMPP01_00/rels/m416Dll/symbols.txt - splits: config/GMPP01_00/rels/m416Dll/splits.txt - links: [] -- object: files/dll/m417Dll.rel - hash: b20482a2af7c839456fe7580dcbd92ca9984ec71 - symbols: config/GMPP01_00/rels/m417Dll/symbols.txt - splits: config/GMPP01_00/rels/m417Dll/splits.txt - links: [] -- object: files/dll/m418Dll.rel - hash: 762f56820668c74cdcde436a08419bdb59a35a89 - symbols: config/GMPP01_00/rels/m418Dll/symbols.txt - splits: config/GMPP01_00/rels/m418Dll/splits.txt - links: [] -- object: files/dll/m419Dll.rel - hash: 5fba3dfcfca6ef78eb46833f665019bca641063e - symbols: config/GMPP01_00/rels/m419Dll/symbols.txt - splits: config/GMPP01_00/rels/m419Dll/splits.txt - links: [] -- object: files/dll/m420dll.rel - hash: bb514277a33821093fd2acfae2cb86531b317d17 - symbols: config/GMPP01_00/rels/m420dll/symbols.txt - splits: config/GMPP01_00/rels/m420dll/splits.txt - links: [] -- object: files/dll/m421Dll.rel - hash: 216ba8bbc8905f33370ae651d478f6bd56c17b27 - symbols: config/GMPP01_00/rels/m421Dll/symbols.txt - splits: config/GMPP01_00/rels/m421Dll/splits.txt - links: [] -- object: files/dll/m422Dll.rel - hash: 6c152ddb5f518c9c6444030dfc30ab53ef931b40 - symbols: config/GMPP01_00/rels/m422Dll/symbols.txt - splits: config/GMPP01_00/rels/m422Dll/splits.txt - links: [] -- object: files/dll/m423Dll.rel - hash: db80fcb993ce09d808de29d2488f2b1ab2afc8cd - symbols: config/GMPP01_00/rels/m423Dll/symbols.txt - splits: config/GMPP01_00/rels/m423Dll/splits.txt - links: [] -- object: files/dll/m424Dll.rel - hash: 827da0897edcc2706a3623722430d4e70512c653 - symbols: config/GMPP01_00/rels/m424Dll/symbols.txt - splits: config/GMPP01_00/rels/m424Dll/splits.txt - links: [] -- object: files/dll/m425Dll.rel - hash: 26eb36bfc9106af2462a0d7e013f5321dbaecdd1 - symbols: config/GMPP01_00/rels/m425Dll/symbols.txt - splits: config/GMPP01_00/rels/m425Dll/splits.txt - links: [] -- object: files/dll/m426Dll.rel - hash: 04b649fb6eb248e506cf15fdcfbed3e915a80682 - symbols: config/GMPP01_00/rels/m426Dll/symbols.txt - splits: config/GMPP01_00/rels/m426Dll/splits.txt - links: [] -- object: files/dll/m427Dll.rel - hash: 810a1c91f794897862ac9b6a4e076a70c6b0238a - symbols: config/GMPP01_00/rels/m427Dll/symbols.txt - splits: config/GMPP01_00/rels/m427Dll/splits.txt - links: [] -- object: files/dll/m428Dll.rel - hash: 888af662a228e349ea6a0c60e19de74f8fa47914 - symbols: config/GMPP01_00/rels/m428Dll/symbols.txt - splits: config/GMPP01_00/rels/m428Dll/splits.txt - links: [] -- object: files/dll/m429Dll.rel - hash: 88b2330f175d1346a71f67491dcf9eff62d2d2d1 - symbols: config/GMPP01_00/rels/m429Dll/symbols.txt - splits: config/GMPP01_00/rels/m429Dll/splits.txt - links: [] -- object: files/dll/m430Dll.rel - hash: e611007dd71ab515de65e9a6879f0508193fd58a - symbols: config/GMPP01_00/rels/m430Dll/symbols.txt - splits: config/GMPP01_00/rels/m430Dll/splits.txt - links: [] -- object: files/dll/m431Dll.rel - hash: 6a2b097a6d57c36bff5aaeb8c9ea2f01df7407ad - symbols: config/GMPP01_00/rels/m431Dll/symbols.txt - splits: config/GMPP01_00/rels/m431Dll/splits.txt - links: [] -- object: files/dll/m432Dll.rel - hash: 17b6a0c65c7cb759fc460fe7b8eed3dd7dc7184d - symbols: config/GMPP01_00/rels/m432Dll/symbols.txt - splits: config/GMPP01_00/rels/m432Dll/splits.txt - links: [] -- object: files/dll/m433Dll.rel - hash: ce90f494ced6f2611603c247bdc733a458b5a523 - symbols: config/GMPP01_00/rels/m433Dll/symbols.txt - splits: config/GMPP01_00/rels/m433Dll/splits.txt - links: [] -- object: files/dll/m434Dll.rel - hash: 100fe402942821dc8e5753f3cada5e2bf5ab6214 - symbols: config/GMPP01_00/rels/m434Dll/symbols.txt - splits: config/GMPP01_00/rels/m434Dll/splits.txt - links: [] -- object: files/dll/m435Dll.rel - hash: 4936db381fa068395cff28c0d635c5ec7cc7218f - symbols: config/GMPP01_00/rels/m435Dll/symbols.txt - splits: config/GMPP01_00/rels/m435Dll/splits.txt - links: [] -- object: files/dll/m436Dll.rel - hash: ba1c3bdc5f250996a5c873791347ce4c20b38692 - symbols: config/GMPP01_00/rels/m436Dll/symbols.txt - splits: config/GMPP01_00/rels/m436Dll/splits.txt - links: [] -- object: files/dll/m437Dll.rel - hash: 7273786a2995182baf9a85148c5974097999fe8e - symbols: config/GMPP01_00/rels/m437Dll/symbols.txt - splits: config/GMPP01_00/rels/m437Dll/splits.txt - links: [] -- object: files/dll/m438Dll.rel - hash: d7c4bdf1729695a7348f8a36de2911db7aa24abb - symbols: config/GMPP01_00/rels/m438Dll/symbols.txt - splits: config/GMPP01_00/rels/m438Dll/splits.txt - links: [] -- object: files/dll/m439Dll.rel - hash: 4d5a719b49edb55e0b0b52c0d81b31c14d197d20 - symbols: config/GMPP01_00/rels/m439Dll/symbols.txt - splits: config/GMPP01_00/rels/m439Dll/splits.txt - links: [] -- object: files/dll/m440Dll.rel - hash: 469b18886221ae8a5b90f3e85b01ce6a01befb0b - symbols: config/GMPP01_00/rels/m440Dll/symbols.txt - splits: config/GMPP01_00/rels/m440Dll/splits.txt - links: [] -- object: files/dll/m441Dll.rel - hash: 7d6e99b67d2dde25d3fc75ac314c2a69be34137e - symbols: config/GMPP01_00/rels/m441Dll/symbols.txt - splits: config/GMPP01_00/rels/m441Dll/splits.txt - links: [] -- object: files/dll/m442Dll.rel - hash: 63af3c4f33fd362f17aa1be9f764d0549f92598d - symbols: config/GMPP01_00/rels/m442Dll/symbols.txt - splits: config/GMPP01_00/rels/m442Dll/splits.txt - links: [] -- object: files/dll/m443Dll.rel - hash: 5118a0bab1877455eae9002c3cc561d3360fd792 - symbols: config/GMPP01_00/rels/m443Dll/symbols.txt - splits: config/GMPP01_00/rels/m443Dll/splits.txt - links: [] -- object: files/dll/m444dll.rel - hash: a344672428b1e3a1d4bc3ce935472af529a6dd18 - symbols: config/GMPP01_02/rels/m444dll/symbols.txt - splits: config/GMPP01_02/rels/m444dll/splits.txt - links: [] -- object: files/dll/m445Dll.rel - hash: 02f7c52aa6fd4b21a5700615aeaee9ef59e6b9f3 - symbols: config/GMPP01_00/rels/m445Dll/symbols.txt - splits: config/GMPP01_00/rels/m445Dll/splits.txt - links: [] -- object: files/dll/m446dll.rel - hash: 2ab71adae47a3d9632dcf45cf18ca0b1fc33d157 - symbols: config/GMPP01_00/rels/m446dll/symbols.txt - splits: config/GMPP01_00/rels/m446dll/splits.txt - links: [] -- object: files/dll/m447dll.rel - hash: 0640357fe4d0148dac4bc382c8231410e24fe951 - symbols: config/GMPP01_00/rels/m447dll/symbols.txt - splits: config/GMPP01_00/rels/m447dll/splits.txt - links: [] -- object: files/dll/m448Dll.rel - hash: 78bcdd8d1fdb810784fca4d5bbec92c63e2e6b54 - symbols: config/GMPP01_00/rels/m448Dll/symbols.txt - splits: config/GMPP01_00/rels/m448Dll/splits.txt - links: [] -- object: files/dll/m449Dll.rel - hash: fcf6e4b0089e19ffddf01a119c8c515a4acc943a - symbols: config/GMPP01_00/rels/m449Dll/symbols.txt - splits: config/GMPP01_00/rels/m449Dll/splits.txt - links: [] -- object: files/dll/m450Dll.rel - hash: ebcf95781e8078813ed041dd0a869ae2e413679b - symbols: config/GMPP01_00/rels/m450Dll/symbols.txt - splits: config/GMPP01_00/rels/m450Dll/splits.txt - links: [] -- object: files/dll/m451Dll.rel - hash: aa16b743f7b64f22abfd8bb93646883cc73bd7e0 - symbols: config/GMPP01_00/rels/m451Dll/symbols.txt - splits: config/GMPP01_00/rels/m451Dll/splits.txt - links: [] -- object: files/dll/m453Dll.rel - hash: f6fd7a6537e56c535d02ac4a48c9008605f93ea1 - symbols: config/GMPP01_00/rels/m453Dll/symbols.txt - splits: config/GMPP01_00/rels/m453Dll/splits.txt - links: [] -- object: files/dll/m455Dll.rel - hash: cc3431f55b523d474a952f3a0e927fac6b5402ab - symbols: config/GMPP01_00/rels/m455Dll/symbols.txt - splits: config/GMPP01_00/rels/m455Dll/splits.txt - links: [] -- object: files/dll/m456Dll.rel - hash: 09797251306bbd0f6fd712d6f832128ca8c58690 - symbols: config/GMPP01_00/rels/m456Dll/symbols.txt - splits: config/GMPP01_00/rels/m456Dll/splits.txt - links: [] -- object: files/dll/m457Dll.rel - hash: 8a992a09077fd5e1f6ca3e717547792938a519c1 - symbols: config/GMPP01_00/rels/m457Dll/symbols.txt - splits: config/GMPP01_00/rels/m457Dll/splits.txt - links: [] -- object: files/dll/m458Dll.rel - hash: 5dea2127d51d621b30d78b22cfa32327797e6e0b - symbols: config/GMPP01_00/rels/m458Dll/symbols.txt - splits: config/GMPP01_00/rels/m458Dll/splits.txt - links: [] -- object: files/dll/m459dll.rel - hash: e96dafe5949909cb7cc839174aa38e8e6661a63b - symbols: config/GMPP01_00/rels/m459dll/symbols.txt - splits: config/GMPP01_00/rels/m459dll/splits.txt - links: [] -- object: files/dll/m460Dll.rel - hash: ea1e0bda22675840d39c74117e2a11ffe45f8dd4 - symbols: config/GMPP01_00/rels/m460Dll/symbols.txt - splits: config/GMPP01_00/rels/m460Dll/splits.txt - links: [] -- object: files/dll/m461Dll.rel - hash: 8d515f3b92a786df53bb88291b5cfc4bc59a3c8d - symbols: config/GMPP01_00/rels/m461Dll/symbols.txt - splits: config/GMPP01_00/rels/m461Dll/splits.txt - links: [] -- object: files/dll/m462Dll.rel - hash: f02ba47e4459d9b0de174c5619a4efe61942962d - symbols: config/GMPP01_00/rels/m462Dll/symbols.txt - splits: config/GMPP01_00/rels/m462Dll/splits.txt - links: [] -- object: files/dll/m463Dll.rel - hash: 352ad6d84ded6cf28b9ff2f9e5da8812ac9164db - symbols: config/GMPP01_00/rels/m463Dll/symbols.txt - splits: config/GMPP01_00/rels/m463Dll/splits.txt - links: [] -- object: files/dll/mentDll.rel - hash: 4705ada9d259a81ab2815fee3516f6217d848dd9 - symbols: config/GMPP01_00/rels/mentDll/symbols.txt - splits: config/GMPP01_00/rels/mentDll/splits.txt - links: [] -- object: files/dll/messDll.rel - hash: b966ce340e98dbda624ff80f96c78d51ff1ed687 - symbols: config/GMPP01_00/rels/messDll/symbols.txt - splits: config/GMPP01_00/rels/messDll/splits.txt - links: [] -- object: files/dll/mgmodedll.rel - hash: 7a3fed787df2d1bc942efd56a160eaf59605b94f - symbols: config/GMPP01_00/rels/mgmodedll/symbols.txt - splits: config/GMPP01_00/rels/mgmodedll/splits.txt - links: [] -- object: files/dll/modeltestDll.rel - hash: 1e5bf1777b1470fcead2174c25b291b8f0513284 - symbols: config/GMPP01_00/rels/modeltestDll/symbols.txt - splits: config/GMPP01_00/rels/modeltestDll/splits.txt - links: [] -- object: files/dll/modeseldll.rel - hash: d958038528a774801a4f5a0aee9e7aaae4bd94ce - symbols: config/GMPP01_00/rels/modeseldll/symbols.txt - splits: config/GMPP01_00/rels/modeseldll/splits.txt - links: [] -- object: files/dll/mpexDll.rel - hash: a3e1e06937703f98191f4080e092bf06c4f449b3 - symbols: config/GMPP01_00/rels/mpexDll/symbols.txt - splits: config/GMPP01_00/rels/mpexDll/splits.txt - links: [] -- object: files/dll/msetupDll.rel - hash: 86ff8288bb92472376d02cade1d3c9603b613c57 - symbols: config/GMPP01_00/rels/msetupDll/symbols.txt - splits: config/GMPP01_00/rels/msetupDll/splits.txt - links: [] -- object: files/dll/mstory2Dll.rel - hash: 24b3e03e35f5bd395ef80a14babae724b7414190 - symbols: config/GMPP01_02/rels/mstory2Dll/symbols.txt - splits: config/GMPP01_02/rels/mstory2Dll/splits.txt - links: [] -- object: files/dll/mstory3Dll.rel - hash: ccac71c67e5171a02b4a086df4d2daad81455466 - symbols: config/GMPP01_02/rels/mstory3Dll/symbols.txt - splits: config/GMPP01_02/rels/mstory3Dll/splits.txt - links: [] -- object: files/dll/mstory4Dll.rel - hash: a8eee3981f4965412490cb9eef76aaa798957db1 - symbols: config/GMPP01_00/rels/mstory4Dll/symbols.txt - splits: config/GMPP01_00/rels/mstory4Dll/splits.txt - links: [] -- object: files/dll/mstoryDll.rel - hash: 4ef3463c5dc60771468c6ab033dda1391c39d689 - symbols: config/GMPP01_02/rels/mstoryDll/symbols.txt - splits: config/GMPP01_02/rels/mstoryDll/splits.txt - links: [] -- object: files/dll/nisDll.rel - hash: 45619d95e61d9296f25d94d7c6756f397fb89bee - symbols: config/GMPP01_00/rels/nisDll/symbols.txt - splits: config/GMPP01_00/rels/nisDll/splits.txt - links: [] -- object: files/dll/option.rel - hash: 1304967e3aa58a46492d4c736a7c86cf8a3b2e11 - symbols: config/GMPP01_00/rels/option/symbols.txt - splits: config/GMPP01_00/rels/option/splits.txt - links: [] -- object: files/dll/present.rel - hash: 7845814c6be2546930cfd8e0b9dec263fc1a959f - symbols: config/GMPP01_00/rels/present/symbols.txt - splits: config/GMPP01_00/rels/present/splits.txt - links: [] -- object: files/dll/resultDll.rel - hash: d9bd10433d1e2a6c0c4d9f942b766d743f99deec - symbols: config/GMPP01_00/rels/resultDll/symbols.txt - splits: config/GMPP01_00/rels/resultDll/splits.txt - links: [] -- object: files/dll/safDll.rel - hash: c13262cf14f00e1d70bd65d20bbf988479816ca7 - symbols: config/GMPP01_00/rels/safDll/symbols.txt - splits: config/GMPP01_00/rels/safDll/splits.txt - links: [] -- object: files/dll/selmenuDll.rel - hash: 51f53e1398c86c5a22251a457e3af86339b4b11f - symbols: config/GMPP01_00/rels/selmenuDll/symbols.txt - splits: config/GMPP01_00/rels/selmenuDll/splits.txt - links: [] -- object: files/dll/staffDll.rel - hash: af869e37d004f687fab2ff6897d75d6c15e31a00 - symbols: config/GMPP01_00/rels/staffDll/symbols.txt - splits: config/GMPP01_00/rels/staffDll/splits.txt - links: [] -- object: files/dll/subchrselDll.rel - hash: 21de7aff7d39f8e130b4ef7602b8de85e51cf3e5 - symbols: config/GMPP01_00/rels/subchrselDll/symbols.txt - splits: config/GMPP01_00/rels/subchrselDll/splits.txt - links: [] -- object: files/dll/w01Dll.rel - hash: 70ee81af67a4f55de2fef65823583d22312f09be - symbols: config/GMPP01_00/rels/w01Dll/symbols.txt - splits: config/GMPP01_00/rels/w01Dll/splits.txt - links: [] -- object: files/dll/w02Dll.rel - hash: 33b5663ece821df4dbc50870e00de0e22e099efd - symbols: config/GMPP01_00/rels/w02Dll/symbols.txt - splits: config/GMPP01_00/rels/w02Dll/splits.txt - links: [] -- object: files/dll/w03Dll.rel - hash: 97aa16f847cdf2d6fd014f06df14c55f5f02024d - symbols: config/GMPP01_00/rels/w03Dll/symbols.txt - splits: config/GMPP01_00/rels/w03Dll/splits.txt - links: [] -- object: files/dll/w04Dll.rel - hash: 135cf03d803b9d8d39721b2a96769909aa719ee6 - symbols: config/GMPP01_00/rels/w04Dll/symbols.txt - splits: config/GMPP01_00/rels/w04Dll/splits.txt - links: [] -- object: files/dll/w05Dll.rel - hash: e6d07092b69cc3b0514d9c12e3f5949edeb25f5f - symbols: config/GMPP01_00/rels/w05Dll/symbols.txt - splits: config/GMPP01_00/rels/w05Dll/splits.txt - links: [] -- object: files/dll/w06Dll.rel - hash: 0d5445461f58fac4c043c75bed7237b7f4045188 - symbols: config/GMPP01_00/rels/w06Dll/symbols.txt - splits: config/GMPP01_00/rels/w06Dll/splits.txt - links: [] -- object: files/dll/w10Dll.rel - hash: 5678fedd4a0490aeb9703328e959fdedea7da117 - symbols: config/GMPE01_00/rels/w10Dll/symbols.txt - splits: config/GMPE01_00/rels/w10Dll/splits.txt - links: [] -- object: files/dll/w20Dll.rel - hash: 58ae9e311cc8bd0291921480f423e2ad4774e1a2 - symbols: config/GMPP01_00/rels/w20Dll/symbols.txt - splits: config/GMPP01_00/rels/w20Dll/splits.txt - links: [] -- object: files/dll/w21Dll.rel - hash: 8ea052be8c7585a1ab152682a0698b631c5b566f - symbols: config/GMPE01_00/rels/w21Dll/symbols.txt - splits: config/GMPE01_00/rels/w21Dll/splits.txt - links: [] -- object: files/dll/ztardll.rel - hash: 8987f11fafd11f69161ca275967afe9c8b4e7b20 - symbols: config/GMPP01_00/rels/ztardll/symbols.txt - splits: config/GMPP01_00/rels/ztardll/splits.txt - links: [] -- object: files/dll/E3setupDLL.rel - hash: d59c60b0149a85782fa98d1a4da6cc768a09b473 - symbols: config/GMPP01_00/rels/E3setupDLL/symbols.txt - splits: config/GMPP01_00/rels/E3setupDLL/splits.txt - links: [_minigameDll] -- object: files/dll/m300Dll.rel - hash: eba8a17e8b263bc9cd601b1aea7e698a8785416a - symbols: config/GMPP01_00/rels/m300Dll/symbols.txt - splits: config/GMPP01_00/rels/m300Dll/splits.txt - links: [_minigameDll] -- object: files/dll/m401Dll.rel - hash: c457a4a45ebae776331484ba94f5798041a77a57 - symbols: config/GMPP01_00/rels/m401Dll/symbols.txt - splits: config/GMPP01_00/rels/m401Dll/splits.txt - links: [_minigameDll] - -extract: -- symbol: ank8x8_4b - binary: ank8x8_4b.bin - header: ank8x8_4b.inc -- symbol: refMapData0 - binary: refMapData0.anm - header: refMapData0.inc -- symbol: refMapData1 - binary: refMapData1.anm - header: refMapData1.inc -- symbol: refMapData2 - binary: refMapData2.anm - header: refMapData2.inc -- symbol: refMapData3 - binary: refMapData3.anm - header: refMapData3.inc -- symbol: refMapData4 - binary: refMapData4.anm - header: refMapData4.inc -- symbol: toonMapData - binary: toonMapData.anm - header: toonMapData.inc -- symbol: toonMapData2 - binary: toonMapData2.anm - header: toonMapData2.inc -- symbol: hiliteData - binary: hiliteData.anm - header: hiliteData.inc -- symbol: hiliteData2 - binary: hiliteData2.anm - header: hiliteData2.inc -- symbol: hiliteData3 - binary: hiliteData3.anm - header: hiliteData3.inc -- symbol: hiliteData4 - binary: hiliteData4.anm - header: hiliteData4.inc -- symbol: Ascii8x8_1bpp - binary: Ascii8x8_1bpp.bin - header: Ascii8x8_1bpp.inc -- symbol: coveropen_en - binary: coveropen_en.bin - header: coveropen_en.inc -- symbol: fatalerror_en - binary: fatalerror_en.bin - header: fatalerror_en.inc -- symbol: loading_en - binary: loading_en.bin - header: loading_en.inc -- symbol: nodisc_en - binary: nodisc_en.bin - header: nodisc_en.inc -- symbol: retryerror_en - binary: retryerror_en.bin - header: retryerror_en.inc -- symbol: wrongdisc_en - binary: wrongdisc_en.bin - header: wrongdisc_en.inc -- symbol: coveropen_fr - binary: coveropen_fr.bin - header: coveropen_fr.inc -- symbol: fatalerror_fr - binary: fatalerror_fr.bin - header: fatalerror_fr.inc -- symbol: loading_fr - binary: loading_fr.bin - header: loading_fr.inc -- symbol: nodisc_fr - binary: nodisc_fr.bin - header: nodisc_fr.inc -- symbol: retryerror_fr - binary: retryerror_fr.bin - header: retryerror_fr.inc -- symbol: wrongdisc_fr - binary: wrongdisc_fr.bin - header: wrongdisc_fr.inc -- symbol: coveropen_ge - binary: coveropen_ge.bin - header: coveropen_ge.inc -- symbol: fatalerror_ge - binary: fatalerror_ge.bin - header: fatalerror_ge.inc -- symbol: loading_ge - binary: loading_ge.bin - header: loading_ge.inc -- symbol: nodisc_ge - binary: nodisc_ge.bin - header: nodisc_ge.inc -- symbol: retryerror_ge - binary: retryerror_ge.bin - header: retryerror_ge.inc -- symbol: wrongdisc_ge - binary: wrongdisc_ge.bin - header: wrongdisc_ge.inc -- symbol: coveropen_it - binary: coveropen_it.bin - header: coveropen_it.inc -- symbol: fatalerror_it - binary: fatalerror_it.bin - header: fatalerror_it.inc -- symbol: loading_it - binary: loading_it.bin - header: loading_it.inc -- symbol: nodisc_it - binary: nodisc_it.bin - header: nodisc_it.inc -- symbol: retryerror_it - binary: retryerror_it.bin - header: retryerror_it.inc -- symbol: wrongdisc_it - binary: wrongdisc_it.bin - header: wrongdisc_it.inc -- symbol: coveropen_sp - binary: coveropen_sp.bin - header: coveropen_sp.inc -- symbol: fatalerror_sp - binary: fatalerror_sp.bin - header: fatalerror_sp.inc -- symbol: loading_sp - binary: loading_sp.bin - header: loading_sp.inc -- symbol: nodisc_sp - binary: nodisc_sp.bin - header: nodisc_sp.inc -- symbol: retryerror_sp - binary: retryerror_sp.bin - header: retryerror_sp.inc -- symbol: wrongdisc_sp - binary: wrongdisc_sp.bin - header: wrongdisc_sp.inc diff --git a/config/GMPP01_02/rels/m444dll/splits.txt b/config/GMPP01_02/rels/m444dll/splits.txt deleted file mode 100644 index 531cd645..00000000 --- a/config/GMPP01_02/rels/m444dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_02/rels/m444dll/symbols.txt b/config/GMPP01_02/rels/m444dll/symbols.txt deleted file mode 100644 index 45016f3f..00000000 --- a/config/GMPP01_02/rels/m444dll/symbols.txt +++ /dev/null @@ -1,321 +0,0 @@ -_prolog = .text:0x00000000; // type:function size:0x54 scope:global -_epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x3D0 -fn_1_470 = .text:0x00000470; // type:function size:0x3788 -fn_1_3BF8 = .text:0x00003BF8; // type:function size:0x1270 -fn_1_4E68 = .text:0x00004E68; // type:function size:0x7C4 -fn_1_562C = .text:0x0000562C; // type:function size:0x1C4 -fn_1_57F0 = .text:0x000057F0; // type:function size:0x6F4 -fn_1_5EE4 = .text:0x00005EE4; // type:function size:0x6F4 -fn_1_65D8 = .text:0x000065D8; // type:function size:0x824 -fn_1_6DFC = .text:0x00006DFC; // type:function size:0xBC -fn_1_6EB8 = .text:0x00006EB8; // type:function size:0xA0 -fn_1_6F58 = .text:0x00006F58; // type:function size:0x3B4 -fn_1_730C = .text:0x0000730C; // type:function size:0xC2C -fn_1_7F38 = .text:0x00007F38; // type:function size:0x2C4 -fn_1_81FC = .text:0x000081FC; // type:function size:0x90 -fn_1_828C = .text:0x0000828C; // type:function size:0xEC -fn_1_8378 = .text:0x00008378; // type:function size:0x128 -fn_1_84A0 = .text:0x000084A0; // type:function size:0x1F8 -fn_1_8698 = .text:0x00008698; // type:function size:0x7B4 -fn_1_8E4C = .text:0x00008E4C; // type:function size:0x648 -fn_1_9494 = .text:0x00009494; // type:function size:0x894 -fn_1_9D28 = .text:0x00009D28; // type:function size:0x3B4 -fn_1_A0DC = .text:0x0000A0DC; // type:function size:0xB70 -fn_1_AC4C = .text:0x0000AC4C; // type:function size:0x618 -fn_1_B264 = .text:0x0000B264; // type:function size:0x1108 -fn_1_C36C = .text:0x0000C36C; // type:function size:0x528 -fn_1_C894 = .text:0x0000C894; // type:function size:0x2F4 -fn_1_CB88 = .text:0x0000CB88; // type:function size:0x140 -fn_1_CCC8 = .text:0x0000CCC8; // type:function size:0x298 -fn_1_CF60 = .text:0x0000CF60; // type:function size:0x194 -fn_1_D0F4 = .text:0x0000D0F4; // type:function size:0x244 -fn_1_D338 = .text:0x0000D338; // type:function size:0x3A8 -fn_1_D6E0 = .text:0x0000D6E0; // type:function size:0x290 -fn_1_D970 = .text:0x0000D970; // type:function size:0x138 -fn_1_DAA8 = .text:0x0000DAA8; // type:function size:0x78 -fn_1_DB20 = .text:0x0000DB20; // type:function size:0x2C -fn_1_DB4C = .text:0x0000DB4C; // type:function size:0x42C -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x8 data:double -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x8 data:double -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 data:double -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x8 data:double -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0xC data:4byte -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x8 data:double -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 data:double -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x8 data:double -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x8 data:double -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x8 data:double -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x8 data:double -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x8 data:double -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x8 data:double -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x8 data:double -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x118 -lbl_1_data_118 = .data:0x00000118; // type:object size:0x28 -lbl_1_data_140 = .data:0x00000140; // type:object size:0x54 data:float -lbl_1_data_194 = .data:0x00000194; // type:object size:0x20 -lbl_1_data_1B4 = .data:0x000001B4; // type:object size:0x24 data:string -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0xA data:string -lbl_1_data_1E2 = .data:0x000001E2; // type:object size:0xA data:string -lbl_1_data_1EC = .data:0x000001EC; // type:object size:0xA data:string -lbl_1_data_1F6 = .data:0x000001F6; // type:object size:0xD data:string -lbl_1_data_203 = .data:0x00000203; // type:object size:0xD data:string -lbl_1_data_210 = .data:0x00000210; // type:object size:0xD data:string -lbl_1_data_21D = .data:0x0000021D; // type:object size:0xD data:string -lbl_1_data_22A = .data:0x0000022A; // type:object size:0xB data:string -lbl_1_data_235 = .data:0x00000235; // type:object size:0xB data:string -lbl_1_data_240 = .data:0x00000240; // type:object size:0x4 -lbl_1_data_244 = .data:0x00000244; // type:object size:0xA data:string -lbl_1_data_24E = .data:0x0000024E; // type:object size:0xA -lbl_1_data_258 = .data:0x00000258; // type:object size:0xC -lbl_1_data_264 = .data:0x00000264; // type:object size:0x3C -lbl_1_data_2A0 = .data:0x000002A0; // type:object size:0x28 -lbl_1_data_2C8 = .data:0x000002C8; // type:object size:0xA -lbl_1_data_2D2 = .data:0x000002D2; // type:object size:0xD data:string -lbl_1_data_2DF = .data:0x000002DF; // type:object size:0xD data:string -lbl_1_data_2EC = .data:0x000002EC; // type:object size:0xD data:string -lbl_1_data_2F9 = .data:0x000002F9; // type:object size:0xD data:string -lbl_1_data_306 = .data:0x00000306; // type:object size:0xD data:string -lbl_1_data_313 = .data:0x00000313; // type:object size:0xD data:string -lbl_1_data_320 = .data:0x00000320; // type:object size:0xD data:string -lbl_1_data_32D = .data:0x0000032D; // type:object size:0xD data:string -lbl_1_data_33A = .data:0x0000033A; // type:object size:0xD data:string -lbl_1_data_347 = .data:0x00000347; // type:object size:0xD data:string -lbl_1_data_354 = .data:0x00000354; // type:object size:0xD data:string -lbl_1_data_361 = .data:0x00000361; // type:object size:0xD data:string -lbl_1_data_36E = .data:0x0000036E; // type:object size:0xD data:string -lbl_1_data_37B = .data:0x0000037B; // type:object size:0xD data:string -jumptable_1_data_388 = .data:0x00000388; // type:object size:0x1C scope:local -lbl_1_data_3A4 = .data:0x000003A4; // type:object size:0x8 -lbl_1_data_3AC = .data:0x000003AC; // type:object size:0x30 -lbl_1_data_3DC = .data:0x000003DC; // type:object size:0x24 -lbl_1_data_400 = .data:0x00000400; // type:object size:0x54 -lbl_1_data_454 = .data:0x00000454; // type:object size:0xC -lbl_1_data_460 = .data:0x00000460; // type:object size:0x10 data:string -lbl_1_data_470 = .data:0x00000470; // type:object size:0x127C -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x140 data:2byte -lbl_1_bss_148 = .bss:0x00000148; // type:object size:0x140 data:2byte -lbl_1_bss_288 = .bss:0x00000288; // type:object size:0x8 data:float -lbl_1_bss_290 = .bss:0x00000290; // type:object size:0x18 data:4byte -lbl_1_bss_2A8 = .bss:0x000002A8; // type:object size:0x18 data:float -lbl_1_bss_2C0 = .bss:0x000002C0; // type:object size:0x10 data:2byte -lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x2 data:2byte -lbl_1_bss_2D2 = .bss:0x000002D2; // type:object size:0x2 data:2byte -lbl_1_bss_2D4 = .bss:0x000002D4; // type:object size:0x2 data:2byte -lbl_1_bss_2D6 = .bss:0x000002D6; // type:object size:0x2 data:2byte -lbl_1_bss_2D8 = .bss:0x000002D8; // type:object size:0x2 data:2byte -lbl_1_bss_2DA = .bss:0x000002DA; // type:object size:0x2 data:2byte -lbl_1_bss_2DC = .bss:0x000002DC; // type:object size:0x2 data:2byte -lbl_1_bss_2E0 = .bss:0x000002E0; // type:object size:0x4 data:float -lbl_1_bss_2E4 = .bss:0x000002E4; // type:object size:0xC data:float -lbl_1_bss_2F0 = .bss:0x000002F0; // type:object size:0xC data:4byte -lbl_1_bss_2FC = .bss:0x000002FC; // type:object size:0xC data:4byte -lbl_1_bss_308 = .bss:0x00000308; // type:object size:0x4 data:4byte -lbl_1_bss_30C = .bss:0x0000030C; // type:object size:0x4 data:4byte -lbl_1_bss_310 = .bss:0x00000310; // type:object size:0x1 data:byte -lbl_1_bss_312 = .bss:0x00000312; // type:object size:0x2 data:2byte -lbl_1_bss_314 = .bss:0x00000314; // type:object size:0xC data:float -lbl_1_bss_320 = .bss:0x00000320; // type:object size:0x8 data:2byte -lbl_1_bss_328 = .bss:0x00000328; // type:object size:0x24 data:float -lbl_1_bss_34C = .bss:0x0000034C; // type:object size:0x24 data:float -lbl_1_bss_370 = .bss:0x00000370; // type:object size:0x400 -lbl_1_bss_770 = .bss:0x00000770; // type:object size:0xC data:float -lbl_1_bss_77C = .bss:0x0000077C; // type:object size:0xC data:float -lbl_1_bss_788 = .bss:0x00000788; // type:object size:0xC -lbl_1_bss_794 = .bss:0x00000794; // type:object size:0x90 -lbl_1_bss_824 = .bss:0x00000824; // type:object size:0x3C -lbl_1_bss_860 = .bss:0x00000860; // type:object size:0x24 -lbl_1_bss_884 = .bss:0x00000884; // type:object size:0x1000 -lbl_1_bss_1884 = .bss:0x00001884; // type:object size:0x2 data:2byte -lbl_1_bss_1888 = .bss:0x00001888; // type:object size:0xC data:float -lbl_1_bss_1894 = .bss:0x00001894; // type:object size:0xC data:float -lbl_1_bss_18A0 = .bss:0x000018A0; // type:object size:0x14 -lbl_1_bss_18B4 = .bss:0x000018B4; // type:object size:0x3C -lbl_1_bss_18F0 = .bss:0x000018F0; // type:object size:0xC000 -lbl_1_bss_D8F0 = .bss:0x0000D8F0; // type:object size:0xC000 -lbl_1_bss_198F0 = .bss:0x000198F0; // type:object size:0x1A -lbl_1_bss_1990A = .bss:0x0001990A; // type:object size:0x2 data:2byte -lbl_1_bss_1990E = .bss:0x0001990E; // type:object size:0xB4 data:2byte -lbl_1_bss_199C2 = .bss:0x000199C2; // type:object size:0xB4 data:2byte diff --git a/config/GMPP01_02/rels/mstory2Dll/splits.txt b/config/GMPP01_02/rels/mstory2Dll/splits.txt deleted file mode 100644 index 4359ae61..00000000 --- a/config/GMPP01_02/rels/mstory2Dll/splits.txt +++ /dev/null @@ -1,54 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/mstory2Dll/main.c: - .text start:0x00000000 end:0x00007DB0 - .rodata start:0x00000000 end:0x00000118 - .data start:0x00000000 end:0x000003A0 - .bss start:0x00000000 end:0x00000078 - -REL/mstory2Dll/board_entrance.c: - .text start:0x00007DB0 end:0x0000B37C - .rodata start:0x00000118 end:0x000001A8 - .data start:0x000003A0 end:0x00000520 - .bss start:0x00000078 end:0x00000298 - -REL/mstory2Dll/board_clear.c: - .text start:0x0000B37C end:0x0000E570 - .rodata start:0x000001A8 end:0x00000248 - .data start:0x00000520 end:0x00000698 - .bss start:0x00000298 end:0x000004E0 - -REL/mstory2Dll/board_miss.c: - .text start:0x0000E570 end:0x000123C8 - .rodata start:0x00000248 end:0x00000310 - .data start:0x00000698 end:0x00000850 - .bss start:0x000004E0 end:0x00000790 - -REL/mstory2Dll/mg_clear.c: - .text start:0x000123C8 end:0x00016060 - .rodata start:0x00000310 end:0x000003D0 - .data start:0x00000850 end:0x00000DB8 - .bss start:0x00000790 end:0x00000968 - -REL/mstory2Dll/mg_miss.c: - .text start:0x00016060 end:0x000186D0 - .rodata start:0x000003D0 end:0x00000438 - .data start:0x00000DB8 end:0x00000EF8 - .bss start:0x00000968 end:0x00000B38 - -REL/mstory2Dll/ending.c: - .text start:0x000186D0 end:0x0001B5A4 - .rodata start:0x00000438 end:0x000004B8 - .data start:0x00000EF8 end:0x00001113 - .bss start:0x00000B38 end:0x00000D10 - -REL/mstory2Dll/save.c: - .text start:0x0001B5A4 end:0x0001B9B8 - .rodata start:0x000004B8 end:0x000004C8 - .bss start:0x00000D10 end:0x00000D18 diff --git a/config/GMPP01_02/rels/mstory2Dll/symbols.txt b/config/GMPP01_02/rels/mstory2Dll/symbols.txt deleted file mode 100644 index 7c85e645..00000000 --- a/config/GMPP01_02/rels/mstory2Dll/symbols.txt +++ /dev/null @@ -1,709 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x4C -fn_1_4C = .text:0x0000004C; // type:function size:0x58 -fn_1_A4 = .text:0x000000A4; // type:function size:0x2A0 -_prolog = .text:0x00000344; // type:function size:0x54 scope:global -_epilog = .text:0x00000398; // type:function size:0x4C scope:global -fn_1_3E4 = .text:0x000003E4; // type:function size:0x110 -fn_1_4F4 = .text:0x000004F4; // type:function size:0x1B8 -ObjectSetup = .text:0x000006AC; // type:function size:0x1B8 -fn_1_864 = .text:0x00000864; // type:function size:0x28 -fn_1_88C = .text:0x0000088C; // type:function size:0x20 -fn_1_8AC = .text:0x000008AC; // type:function size:0xD8 -fn_1_984 = .text:0x00000984; // type:function size:0xC8 -fn_1_A4C = .text:0x00000A4C; // type:function size:0xBC -fn_1_B08 = .text:0x00000B08; // type:function size:0xBC -fn_1_BC4 = .text:0x00000BC4; // type:function size:0x4 -fn_1_BC8 = .text:0x00000BC8; // type:function size:0x20 -fn_1_BE8 = .text:0x00000BE8; // type:function size:0x28 -fn_1_C10 = .text:0x00000C10; // type:function size:0x20 -fn_1_C30 = .text:0x00000C30; // type:function size:0x24 -fn_1_C54 = .text:0x00000C54; // type:function size:0x4 -fn_1_C58 = .text:0x00000C58; // type:function size:0xA48 -fn_1_16A0 = .text:0x000016A0; // type:function size:0x1BC -fn_1_185C = .text:0x0000185C; // type:function size:0x1D8 -fn_1_1A34 = .text:0x00001A34; // type:function size:0x60 -fn_1_1A94 = .text:0x00001A94; // type:function size:0x68 -fn_1_1AFC = .text:0x00001AFC; // type:function size:0xAC -fn_1_1BA8 = .text:0x00001BA8; // type:function size:0xBC -fn_1_1C64 = .text:0x00001C64; // type:function size:0xB4 -fn_1_1D18 = .text:0x00001D18; // type:function size:0x34 -fn_1_1D4C = .text:0x00001D4C; // type:function size:0x40 -fn_1_1D8C = .text:0x00001D8C; // type:function size:0x70 -fn_1_1DFC = .text:0x00001DFC; // type:function size:0x188 -fn_1_1F84 = .text:0x00001F84; // type:function size:0x2E0 -fn_1_2264 = .text:0x00002264; // type:function size:0x90 -fn_1_22F4 = .text:0x000022F4; // type:function size:0x48 -fn_1_233C = .text:0x0000233C; // type:function size:0x54 -fn_1_2390 = .text:0x00002390; // type:function size:0x3C0 -fn_1_2750 = .text:0x00002750; // type:function size:0x10 -fn_1_2760 = .text:0x00002760; // type:function size:0x10 -fn_1_2770 = .text:0x00002770; // type:function size:0xB8 -fn_1_2828 = .text:0x00002828; // type:function size:0x120 -fn_1_2948 = .text:0x00002948; // type:function size:0x3B8 -fn_1_2D00 = .text:0x00002D00; // type:function size:0x7F4 -fn_1_34F4 = .text:0x000034F4; // type:function size:0x88 -fn_1_357C = .text:0x0000357C; // type:function size:0x94 -fn_1_3610 = .text:0x00003610; // type:function size:0x58 -fn_1_3668 = .text:0x00003668; // type:function size:0xEC -fn_1_3754 = .text:0x00003754; // type:function size:0xC4 -fn_1_3818 = .text:0x00003818; // type:function size:0x3C -fn_1_3854 = .text:0x00003854; // type:function size:0x44 -fn_1_3898 = .text:0x00003898; // type:function size:0x26C -fn_1_3B04 = .text:0x00003B04; // type:function size:0x26C -fn_1_3D70 = .text:0x00003D70; // type:function size:0x27C -fn_1_3FEC = .text:0x00003FEC; // type:function size:0x2B4 -fn_1_42A0 = .text:0x000042A0; // type:function size:0x46C -fn_1_470C = .text:0x0000470C; // type:function size:0x454 -fn_1_4B60 = .text:0x00004B60; // type:function size:0x48C -fn_1_4FEC = .text:0x00004FEC; // type:function size:0x658 -fn_1_5644 = .text:0x00005644; // type:function size:0x4C4 -fn_1_5B08 = .text:0x00005B08; // type:function size:0x4FC -fn_1_6004 = .text:0x00006004; // type:function size:0x6C8 -fn_1_66CC = .text:0x000066CC; // type:function size:0x38 -fn_1_6704 = .text:0x00006704; // type:function size:0xD4 -fn_1_67D8 = .text:0x000067D8; // type:function size:0x198 -fn_1_6970 = .text:0x00006970; // type:function size:0x34 -fn_1_69A4 = .text:0x000069A4; // type:function size:0x40 -fn_1_69E4 = .text:0x000069E4; // type:function size:0xAC -fn_1_6A90 = .text:0x00006A90; // type:function size:0x2E8 -fn_1_6D78 = .text:0x00006D78; // type:function size:0x44 -fn_1_6DBC = .text:0x00006DBC; // type:function size:0x1F4 -fn_1_6FB0 = .text:0x00006FB0; // type:function size:0xB4 -fn_1_7064 = .text:0x00007064; // type:function size:0x178 -fn_1_71DC = .text:0x000071DC; // type:function size:0x68 -fn_1_7244 = .text:0x00007244; // type:function size:0x140 -fn_1_7384 = .text:0x00007384; // type:function size:0xA2C -fn_1_7DB0 = .text:0x00007DB0; // type:function size:0x1A4 -fn_1_7F54 = .text:0x00007F54; // type:function size:0x118 -fn_1_806C = .text:0x0000806C; // type:function size:0x8C -fn_1_80F8 = .text:0x000080F8; // type:function size:0x488 -fn_1_8580 = .text:0x00008580; // type:function size:0x5C -fn_1_85DC = .text:0x000085DC; // type:function size:0x1F8 -fn_1_87D4 = .text:0x000087D4; // type:function size:0x2E8 -fn_1_8ABC = .text:0x00008ABC; // type:function size:0x578 -fn_1_9034 = .text:0x00009034; // type:function size:0x164 -fn_1_9198 = .text:0x00009198; // type:function size:0x124 -fn_1_92BC = .text:0x000092BC; // type:function size:0x4AC -fn_1_9768 = .text:0x00009768; // type:function size:0xB4 -fn_1_981C = .text:0x0000981C; // type:function size:0x138 -fn_1_9954 = .text:0x00009954; // type:function size:0xBC -fn_1_9A10 = .text:0x00009A10; // type:function size:0x1C4 -fn_1_9BD4 = .text:0x00009BD4; // type:function size:0xE4 -fn_1_9CB8 = .text:0x00009CB8; // type:function size:0x214 -fn_1_9ECC = .text:0x00009ECC; // type:function size:0x110 -fn_1_9FDC = .text:0x00009FDC; // type:function size:0x2AC -fn_1_A288 = .text:0x0000A288; // type:function size:0x220 -fn_1_A4A8 = .text:0x0000A4A8; // type:function size:0xE4 -fn_1_A58C = .text:0x0000A58C; // type:function size:0x2BC -fn_1_A848 = .text:0x0000A848; // type:function size:0x2C8 -fn_1_AB10 = .text:0x0000AB10; // type:function size:0x2A0 -fn_1_ADB0 = .text:0x0000ADB0; // type:function size:0xAC -fn_1_AE5C = .text:0x0000AE5C; // type:function size:0x364 -fn_1_B1C0 = .text:0x0000B1C0; // type:function size:0x8C -fn_1_B24C = .text:0x0000B24C; // type:function size:0x130 -fn_1_B37C = .text:0x0000B37C; // type:function size:0x68 -fn_1_B3E4 = .text:0x0000B3E4; // type:function size:0x134 -fn_1_B518 = .text:0x0000B518; // type:function size:0x8C -fn_1_B5A4 = .text:0x0000B5A4; // type:function size:0x3E0 -fn_1_B984 = .text:0x0000B984; // type:function size:0x5C -fn_1_B9E0 = .text:0x0000B9E0; // type:function size:0xB0 -fn_1_BA90 = .text:0x0000BA90; // type:function size:0x360 -fn_1_BDF0 = .text:0x0000BDF0; // type:function size:0x158 -fn_1_BF48 = .text:0x0000BF48; // type:function size:0x328 -fn_1_C270 = .text:0x0000C270; // type:function size:0x250 -fn_1_C4C0 = .text:0x0000C4C0; // type:function size:0xB4 -fn_1_C574 = .text:0x0000C574; // type:function size:0x228 -fn_1_C79C = .text:0x0000C79C; // type:function size:0xBC -fn_1_C858 = .text:0x0000C858; // type:function size:0x2B4 -fn_1_CB0C = .text:0x0000CB0C; // type:function size:0x1C0 -fn_1_CCCC = .text:0x0000CCCC; // type:function size:0xAC -fn_1_CD78 = .text:0x0000CD78; // type:function size:0x2B8 -fn_1_D030 = .text:0x0000D030; // type:function size:0x1F4 -fn_1_D224 = .text:0x0000D224; // type:function size:0xAC -fn_1_D2D0 = .text:0x0000D2D0; // type:function size:0xC4 -fn_1_D394 = .text:0x0000D394; // type:function size:0xE4 -fn_1_D478 = .text:0x0000D478; // type:function size:0x2EC -fn_1_D764 = .text:0x0000D764; // type:function size:0x134 -fn_1_D898 = .text:0x0000D898; // type:function size:0x2C0 -fn_1_DB58 = .text:0x0000DB58; // type:function size:0xFC -fn_1_DC54 = .text:0x0000DC54; // type:function size:0x170 -fn_1_DDC4 = .text:0x0000DDC4; // type:function size:0x3F4 -fn_1_E1B8 = .text:0x0000E1B8; // type:function size:0x8C -fn_1_E244 = .text:0x0000E244; // type:function size:0xF0 -fn_1_E334 = .text:0x0000E334; // type:function size:0x23C -fn_1_E570 = .text:0x0000E570; // type:function size:0xC8 -fn_1_E638 = .text:0x0000E638; // type:function size:0x2B4 -fn_1_E8EC = .text:0x0000E8EC; // type:function size:0x140 -fn_1_EA2C = .text:0x0000EA2C; // type:function size:0x134 -fn_1_EB60 = .text:0x0000EB60; // type:function size:0x8C -fn_1_EBEC = .text:0x0000EBEC; // type:function size:0x3E0 -fn_1_EFCC = .text:0x0000EFCC; // type:function size:0x5C -fn_1_F028 = .text:0x0000F028; // type:function size:0x128 -fn_1_F150 = .text:0x0000F150; // type:function size:0xDC -fn_1_F22C = .text:0x0000F22C; // type:function size:0xD0 -fn_1_F2FC = .text:0x0000F2FC; // type:function size:0xD4 -fn_1_F3D0 = .text:0x0000F3D0; // type:function size:0x468 -fn_1_F838 = .text:0x0000F838; // type:function size:0x4 -fn_1_F83C = .text:0x0000F83C; // type:function size:0x78 -fn_1_F8B4 = .text:0x0000F8B4; // type:function size:0x548 -fn_1_FDFC = .text:0x0000FDFC; // type:function size:0xB4 -fn_1_FEB0 = .text:0x0000FEB0; // type:function size:0x228 -fn_1_100D8 = .text:0x000100D8; // type:function size:0xBC -fn_1_10194 = .text:0x00010194; // type:function size:0x2B4 -fn_1_10448 = .text:0x00010448; // type:function size:0x1BC -fn_1_10604 = .text:0x00010604; // type:function size:0xAC -fn_1_106B0 = .text:0x000106B0; // type:function size:0x29C -fn_1_1094C = .text:0x0001094C; // type:function size:0x2B4 -fn_1_10C00 = .text:0x00010C00; // type:function size:0x1F4 -fn_1_10DF4 = .text:0x00010DF4; // type:function size:0xAC -fn_1_10EA0 = .text:0x00010EA0; // type:function size:0xE4 -fn_1_10F84 = .text:0x00010F84; // type:function size:0xC4 -fn_1_11048 = .text:0x00011048; // type:function size:0xE4 -fn_1_1112C = .text:0x0001112C; // type:function size:0x2EC -fn_1_11418 = .text:0x00011418; // type:function size:0x134 -fn_1_1154C = .text:0x0001154C; // type:function size:0x2EC -fn_1_11838 = .text:0x00011838; // type:function size:0xFC -fn_1_11934 = .text:0x00011934; // type:function size:0x164 -fn_1_11A98 = .text:0x00011A98; // type:function size:0x118 -fn_1_11BB0 = .text:0x00011BB0; // type:function size:0x420 -fn_1_11FD0 = .text:0x00011FD0; // type:function size:0x8C -fn_1_1205C = .text:0x0001205C; // type:function size:0x130 -fn_1_1218C = .text:0x0001218C; // type:function size:0x23C -fn_1_123C8 = .text:0x000123C8; // type:function size:0x1A4 -fn_1_1256C = .text:0x0001256C; // type:function size:0x124 -fn_1_12690 = .text:0x00012690; // type:function size:0x8C -fn_1_1271C = .text:0x0001271C; // type:function size:0x3AC -fn_1_12AC8 = .text:0x00012AC8; // type:function size:0x48 -fn_1_12B10 = .text:0x00012B10; // type:function size:0x2C4 -fn_1_12DD4 = .text:0x00012DD4; // type:function size:0x37C -fn_1_13150 = .text:0x00013150; // type:function size:0x70 -fn_1_131C0 = .text:0x000131C0; // type:function size:0xA4 -fn_1_13264 = .text:0x00013264; // type:function size:0x5C4 -fn_1_13828 = .text:0x00013828; // type:function size:0xA4 -fn_1_138CC = .text:0x000138CC; // type:function size:0x14C -fn_1_13A18 = .text:0x00013A18; // type:function size:0x1A0 -fn_1_13BB8 = .text:0x00013BB8; // type:function size:0xB4 -fn_1_13C6C = .text:0x00013C6C; // type:function size:0x348 -fn_1_13FB4 = .text:0x00013FB4; // type:function size:0xEC -fn_1_140A0 = .text:0x000140A0; // type:function size:0xCC -fn_1_1416C = .text:0x0001416C; // type:function size:0x330 -fn_1_1449C = .text:0x0001449C; // type:function size:0x3CC -fn_1_14868 = .text:0x00014868; // type:function size:0x234 -fn_1_14A9C = .text:0x00014A9C; // type:function size:0xAC -fn_1_14B48 = .text:0x00014B48; // type:function size:0xF8 -fn_1_14C40 = .text:0x00014C40; // type:function size:0x32C -fn_1_14F6C = .text:0x00014F6C; // type:function size:0x1C8 -fn_1_15134 = .text:0x00015134; // type:function size:0xAC -fn_1_151E0 = .text:0x000151E0; // type:function size:0xE4 -fn_1_152C4 = .text:0x000152C4; // type:function size:0xE4 -fn_1_153A8 = .text:0x000153A8; // type:function size:0x2C0 -fn_1_15668 = .text:0x00015668; // type:function size:0xE4 -fn_1_1574C = .text:0x0001574C; // type:function size:0x1F8 -fn_1_15944 = .text:0x00015944; // type:function size:0xAC -fn_1_159F0 = .text:0x000159F0; // type:function size:0x2EC -fn_1_15CDC = .text:0x00015CDC; // type:function size:0x8C -fn_1_15D68 = .text:0x00015D68; // type:function size:0xF0 -fn_1_15E58 = .text:0x00015E58; // type:function size:0x118 -fn_1_15F70 = .text:0x00015F70; // type:function size:0xF0 -fn_1_16060 = .text:0x00016060; // type:function size:0x118 -fn_1_16178 = .text:0x00016178; // type:function size:0x8C -fn_1_16204 = .text:0x00016204; // type:function size:0x3AC -fn_1_165B0 = .text:0x000165B0; // type:function size:0x5C -fn_1_1661C = .text:0x0001660C; // type:function size:0x110 -fn_1_1670C = .text:0x0001671C; // type:function size:0x194 -fn_1_168B0 = .text:0x000168B0; // type:function size:0xD4 -fn_1_16984 = .text:0x00016984; // type:function size:0x50 -fn_1_169D4 = .text:0x000169D4; // type:function size:0x4 -fn_1_169D8 = .text:0x000169D8; // type:function size:0xF4 -fn_1_16ACC = .text:0x00016ACC; // type:function size:0x4F4 -fn_1_16FC0 = .text:0x00016FC0; // type:function size:0xB4 -fn_1_17074 = .text:0x00017074; // type:function size:0x208 -fn_1_1727C = .text:0x0001727C; // type:function size:0xBC -fn_1_17338 = .text:0x00017338; // type:function size:0x294 -fn_1_175CC = .text:0x000175CC; // type:function size:0x180 -fn_1_1774C = .text:0x0001774C; // type:function size:0xAC -fn_1_177F8 = .text:0x000177F8; // type:function size:0x278 -fn_1_17A70 = .text:0x00017A70; // type:function size:0x128 -fn_1_17B98 = .text:0x00017B98; // type:function size:0xAC -fn_1_17C44 = .text:0x00017C44; // type:function size:0x220 -fn_1_17E64 = .text:0x00017E64; // type:function size:0xE4 -fn_1_17F48 = .text:0x00017F48; // type:function size:0x190 -fn_1_180D8 = .text:0x000180D8; // type:function size:0xAC -fn_1_18184 = .text:0x00018184; // type:function size:0x284 -fn_1_18408 = .text:0x00018408; // type:function size:0x8C -fn_1_18494 = .text:0x00018494; // type:function size:0x23C -fn_1_186D0 = .text:0x000186D0; // type:function size:0x220 -fn_1_188F0 = .text:0x000188F0; // type:function size:0x144 -fn_1_18A34 = .text:0x00018A34; // type:function size:0x8C -fn_1_18AC0 = .text:0x00018AC0; // type:function size:0x3BC -fn_1_18E7C = .text:0x00018E7C; // type:function size:0x48 -fn_1_18EC4 = .text:0x00018EC4; // type:function size:0x274 -fn_1_19138 = .text:0x00019138; // type:function size:0x1FC -fn_1_19334 = .text:0x00019334; // type:function size:0x6B0 -fn_1_199A0 = .text:0x000199E4; // type:function size:0x248 -fn_1_19BE8 = .text:0x00019C2C; // type:function size:0x84 -fn_1_19C6C = .text:0x00019CB0; // type:function size:0x2A8 -fn_1_19F14 = .text:0x00019F58; // type:function size:0xB4 -fn_1_19FC8 = .text:0x0001A00C; // type:function size:0x198 -fn_1_1A160 = .text:0x0001A1A4; // type:function size:0x208 -fn_1_1A368 = .text:0x0001A3AC; // type:function size:0x1D0 -fn_1_1A538 = .text:0x0001A57C; // type:function size:0x40 -fn_1_1A578 = .text:0x0001A5BC; // type:function size:0x254 -fn_1_1A7CC = .text:0x0001A810; // type:function size:0x204 -fn_1_1A9D0 = .text:0x0001AA14; // type:function size:0xE4 -fn_1_1AAB4 = .text:0x0001AAF8; // type:function size:0x288 -fn_1_1AD3C = .text:0x0001AD80; // type:function size:0xE4 -fn_1_1AE20 = .text:0x0001AE64; // type:function size:0x1B4 -fn_1_1AFD4 = .text:0x0001B018; // type:function size:0x110 -fn_1_1B0E4 = .text:0x0001B128; // type:function size:0x234 -fn_1_1B318 = .text:0x0001B35C; // type:function size:0x8C -fn_1_1B3A4 = .text:0x0001B3E8; // type:function size:0x8C -fn_1_1B430 = .text:0x0001B474; // type:function size:0x130 -fn_1_1B560 = .text:0x0001B5A4; // type:function size:0xEC -fn_1_1B64C = .text:0x0001B690; // type:function size:0x23C -fn_1_1B870 = .text:0x0001B8CC; // type:function size:0x9C -fn_1_1B90C = .text:0x0001B968; // type:function size:0x50 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 scope:local data:double -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 scope:local data:double -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float -lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x4 scope:local data:float -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x4 scope:local data:float -lbl_1_rodata_494 = .rodata:0x00000494; // type:object size:0x4 scope:local data:float -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float -lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 data:4byte -lbl_1_data_70 = .data:0x00000070; // type:object size:0x29 scope:local data:string -lbl_1_data_99 = .data:0x00000099; // type:object size:0x26 scope:local data:string -lbl_1_data_BF = .data:0x000000BF; // type:object size:0x25 scope:local data:string -lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x29 scope:local data:string -lbl_1_data_10D = .data:0x0000010D; // type:object size:0x28 scope:local data:string -lbl_1_data_135 = .data:0x00000135; // type:object size:0xF scope:local -lbl_1_data_144 = .data:0x00000144; // type:object size:0x18 -lbl_1_data_15C = .data:0x0000015C; // type:object size:0x28 scope:local data:string -lbl_1_data_184 = .data:0x00000184; // type:object size:0x3 scope:local data:string -lbl_1_data_187 = .data:0x00000187; // type:object size:0x15 scope:local data:string -jumptable_1_data_19C = .data:0x0000019C; // type:object size:0x54 scope:local -jumptable_1_data_1F0 = .data:0x000001F0; // type:object size:0x54 scope:local -lbl_1_data_244 = .data:0x00000244; // type:object size:0x1A scope:local data:string -lbl_1_data_25E = .data:0x0000025E; // type:object size:0x1A scope:local data:string -lbl_1_data_278 = .data:0x00000278; // type:object size:0xE scope:local data:string -lbl_1_data_286 = .data:0x00000286; // type:object size:0x10 scope:local data:string -lbl_1_data_296 = .data:0x00000296; // type:object size:0x10 scope:local data:string -lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x10 scope:local data:string -lbl_1_data_2B6 = .data:0x000002B6; // type:object size:0x10 scope:local data:string -lbl_1_data_2C6 = .data:0x000002C6; // type:object size:0x10 scope:local data:string -lbl_1_data_2D6 = .data:0x000002D6; // type:object size:0x10 scope:local data:string -lbl_1_data_2E6 = .data:0x000002E6; // type:object size:0x10 scope:local data:string -lbl_1_data_2F6 = .data:0x000002F6; // type:object size:0x12 scope:local -lbl_1_data_308 = .data:0x00000308; // type:object size:0x20 -lbl_1_data_328 = .data:0x00000328; // type:object size:0x60 -lbl_1_data_388 = .data:0x00000388; // type:object size:0x11 scope:local data:string -lbl_1_data_399 = .data:0x00000399; // type:object size:0x2 scope:local data:string -lbl_1_data_3CC = .data:0x000003CC; // type:object size:0x10 -lbl_1_data_3DC = .data:0x000003DC; // type:object size:0x4 data:4byte -lbl_1_data_3E0 = .data:0x000003E0; // type:object size:0x8 data:4byte -lbl_1_data_3E8 = .data:0x000003E8; // type:object size:0x14 scope:local data:string -lbl_1_data_3FC = .data:0x000003FC; // type:object size:0x15 scope:local data:string -lbl_1_data_411 = .data:0x00000411; // type:object size:0x14 scope:local data:string -lbl_1_data_425 = .data:0x00000425; // type:object size:0x15 scope:local data:string -lbl_1_data_43A = .data:0x0000043A; // type:object size:0x14 scope:local data:string -lbl_1_data_44E = .data:0x0000044E; // type:object size:0x15 scope:local data:string -lbl_1_data_463 = .data:0x00000463; // type:object size:0x14 scope:local data:string -lbl_1_data_477 = .data:0x00000477; // type:object size:0x15 scope:local data:string -lbl_1_data_48C = .data:0x0000048C; // type:object size:0x14 scope:local data:string -lbl_1_data_4A0 = .data:0x000004A0; // type:object size:0x15 scope:local data:string -lbl_1_data_4B5 = .data:0x000004B5; // type:object size:0x14 scope:local data:string -lbl_1_data_4C9 = .data:0x000004C9; // type:object size:0xA scope:local data:string -lbl_1_data_4D3 = .data:0x000004D3; // type:object size:0x1C scope:local data:string -lbl_1_data_4EF = .data:0x000004EF; // type:object size:0x1D scope:local data:string -lbl_1_data_50C = .data:0x0000050C; // type:object size:0x14 scope:local -lbl_1_data_520 = .data:0x00000520; // type:object size:0x16 scope:local data:string -lbl_1_data_536 = .data:0x00000536; // type:object size:0x15 scope:local data:string -lbl_1_data_54B = .data:0x0000054B; // type:object size:0x16 scope:local data:string -lbl_1_data_561 = .data:0x00000561; // type:object size:0x15 scope:local data:string -lbl_1_data_576 = .data:0x00000576; // type:object size:0x16 scope:local data:string -lbl_1_data_58C = .data:0x0000058C; // type:object size:0x15 scope:local data:string -lbl_1_data_5A1 = .data:0x000005A1; // type:object size:0x16 scope:local data:string -lbl_1_data_5B7 = .data:0x000005B7; // type:object size:0x15 scope:local data:string -lbl_1_data_5CC = .data:0x000005CC; // type:object size:0x17 scope:local data:string -lbl_1_data_5E3 = .data:0x000005E3; // type:object size:0x16 scope:local data:string -lbl_1_data_5F9 = .data:0x000005F9; // type:object size:0xA scope:local data:string -lbl_1_data_603 = .data:0x00000603; // type:object size:0x1C scope:local data:string -lbl_1_data_61F = .data:0x0000061F; // type:object size:0x1D scope:local data:string -lbl_1_data_63C = .data:0x0000063C; // type:object size:0x10 scope:local data:string -lbl_1_data_64C = .data:0x0000064C; // type:object size:0x1C scope:local data:string -lbl_1_data_668 = .data:0x00000668; // type:object size:0x30 -lbl_1_data_698 = .data:0x00000698; // type:object size:0x3C -lbl_1_data_6D4 = .data:0x000006D4; // type:object size:0x16 scope:local data:string -lbl_1_data_6EA = .data:0x000006EA; // type:object size:0x15 scope:local data:string -lbl_1_data_6FF = .data:0x000006FF; // type:object size:0x16 scope:local data:string -lbl_1_data_715 = .data:0x00000715; // type:object size:0x15 scope:local data:string -lbl_1_data_72A = .data:0x0000072A; // type:object size:0x16 scope:local data:string -lbl_1_data_740 = .data:0x00000740; // type:object size:0x15 scope:local data:string -lbl_1_data_755 = .data:0x00000755; // type:object size:0x16 scope:local data:string -lbl_1_data_76B = .data:0x0000076B; // type:object size:0x15 scope:local data:string -lbl_1_data_780 = .data:0x00000780; // type:object size:0x17 scope:local data:string -lbl_1_data_797 = .data:0x00000797; // type:object size:0x16 scope:local data:string -lbl_1_data_7AD = .data:0x000007AD; // type:object size:0xA scope:local data:string -lbl_1_data_7B7 = .data:0x000007B7; // type:object size:0x1C scope:local data:string -lbl_1_data_7D3 = .data:0x000007D3; // type:object size:0x1D scope:local data:string -lbl_1_data_7F0 = .data:0x000007F0; // type:object size:0x10 scope:local data:string -lbl_1_data_800 = .data:0x00000800; // type:object size:0x1C scope:local -lbl_1_data_81C = .data:0x0000081C; // type:object size:0x34 -lbl_1_data_850 = .data:0x00000850; // type:object size:0x3C0 -lbl_1_data_C10 = .data:0x00000C10; // type:object size:0x10 -lbl_1_data_C20 = .data:0x00000C20; // type:object size:0x4 data:4byte -lbl_1_data_C24 = .data:0x00000C24; // type:object size:0x8 data:4byte -lbl_1_data_C2C = .data:0x00000C2C; // type:object size:0x14 scope:local data:string -lbl_1_data_C40 = .data:0x00000C40; // type:object size:0x15 scope:local data:string -lbl_1_data_C55 = .data:0x00000C55; // type:object size:0x14 scope:local data:string -lbl_1_data_C69 = .data:0x00000C69; // type:object size:0x15 scope:local data:string -lbl_1_data_C7E = .data:0x00000C7E; // type:object size:0x14 scope:local data:string -lbl_1_data_C92 = .data:0x00000C92; // type:object size:0x15 scope:local data:string -lbl_1_data_CA7 = .data:0x00000CA7; // type:object size:0x14 scope:local data:string -lbl_1_data_CBB = .data:0x00000CBB; // type:object size:0x15 scope:local data:string -lbl_1_data_CD0 = .data:0x00000CD0; // type:object size:0x14 scope:local data:string -lbl_1_data_CE4 = .data:0x00000CE4; // type:object size:0x15 scope:local data:string -lbl_1_data_CF9 = .data:0x00000CF9; // type:object size:0x14 scope:local data:string -lbl_1_data_D0D = .data:0x00000D0D; // type:object size:0xA scope:local data:string -lbl_1_data_D17 = .data:0x00000D17; // type:object size:0x1C scope:local data:string -lbl_1_data_D33 = .data:0x00000D33; // type:object size:0x1D scope:local data:string -lbl_1_data_D50 = .data:0x00000D50; // type:object size:0x1C scope:local data:string -lbl_1_data_D6C = .data:0x00000D6C; // type:object size:0x31 scope:local data:string -lbl_1_data_D9D = .data:0x00000D9D; // type:object size:0x10 scope:local data:string -lbl_1_data_DAD = .data:0x00000DAD; // type:object size:0xB scope:local -lbl_1_data_DB8 = .data:0x00000DB8; // type:object size:0x15 scope:local data:string -lbl_1_data_DCD = .data:0x00000DCD; // type:object size:0x14 scope:local data:string -lbl_1_data_DE1 = .data:0x00000DE1; // type:object size:0x15 scope:local data:string -lbl_1_data_DF6 = .data:0x00000DF6; // type:object size:0x14 scope:local data:string -lbl_1_data_E0A = .data:0x00000E0A; // type:object size:0x15 scope:local data:string -lbl_1_data_E1F = .data:0x00000E1F; // type:object size:0x14 scope:local data:string -lbl_1_data_E33 = .data:0x00000E33; // type:object size:0x15 scope:local data:string -lbl_1_data_E48 = .data:0x00000E48; // type:object size:0x14 scope:local data:string -lbl_1_data_E5C = .data:0x00000E5C; // type:object size:0x15 scope:local data:string -lbl_1_data_E71 = .data:0x00000E71; // type:object size:0x14 scope:local data:string -lbl_1_data_E85 = .data:0x00000E85; // type:object size:0xA scope:local data:string -lbl_1_data_E8F = .data:0x00000E8F; // type:object size:0x1C scope:local data:string -lbl_1_data_EAB = .data:0x00000EAB; // type:object size:0x1D scope:local data:string -lbl_1_data_EC8 = .data:0x00000EC8; // type:object size:0x10 scope:local data:string -lbl_1_data_ED8 = .data:0x00000ED8; // type:object size:0x20 scope:local -lbl_1_data_EF8 = .data:0x00000EF8; // type:object size:0x10 -lbl_1_data_F08 = .data:0x00000F08; // type:object size:0x4 data:4byte -lbl_1_data_F0C = .data:0x00000F0C; // type:object size:0x8 data:4byte -lbl_1_data_F14 = .data:0x00000F14; // type:object size:0x4 data:4byte -lbl_1_data_F18 = .data:0x00000F18; // type:object size:0x14 scope:local data:string -lbl_1_data_F2C = .data:0x00000F2C; // type:object size:0x15 scope:local data:string -lbl_1_data_F41 = .data:0x00000F41; // type:object size:0x14 scope:local data:string -lbl_1_data_F55 = .data:0x00000F55; // type:object size:0x15 scope:local data:string -lbl_1_data_F6A = .data:0x00000F6A; // type:object size:0x14 scope:local data:string -lbl_1_data_F7E = .data:0x00000F7E; // type:object size:0x15 scope:local data:string -lbl_1_data_F93 = .data:0x00000F93; // type:object size:0x14 scope:local data:string -lbl_1_data_FA7 = .data:0x00000FA7; // type:object size:0x15 scope:local data:string -lbl_1_data_FBC = .data:0x00000FBC; // type:object size:0x14 scope:local data:string -lbl_1_data_FD0 = .data:0x00000FD0; // type:object size:0x15 scope:local data:string -lbl_1_data_FE5 = .data:0x00000FE5; // type:object size:0x14 scope:local data:string -lbl_1_data_FF9 = .data:0x00000FF9; // type:object size:0xA scope:local data:string -lbl_1_data_1003 = .data:0x00001003; // type:object size:0x1C scope:local data:string -lbl_1_data_101F = .data:0x0000101F; // type:object size:0x1D scope:local data:string -lbl_1_data_103C = .data:0x0000103C; // type:object size:0x15 scope:local data:string -lbl_1_data_1051 = .data:0x00001051; // type:object size:0x15 scope:local data:string -lbl_1_data_1066 = .data:0x00001066; // type:object size:0x15 scope:local data:string -lbl_1_data_107B = .data:0x0000107B; // type:object size:0x15 scope:local data:string -lbl_1_data_1090 = .data:0x00001090; // type:object size:0x15 scope:local data:string -lbl_1_data_10A5 = .data:0x000010A5; // type:object size:0x15 scope:local data:string -lbl_1_data_10BA = .data:0x000010BA; // type:object size:0x15 scope:local data:string -lbl_1_data_10CF = .data:0x000010CF; // type:object size:0x15 scope:local data:string -lbl_1_data_10E4 = .data:0x000010E4; // type:object size:0x20 -lbl_1_data_1104 = .data:0x00001104; // type:object size:0xF scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x24 data:4byte -lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x54 data:float -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x10 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x40 data:4byte -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x4 data:4byte -lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x28 data:4byte -lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0x28 data:4byte -lbl_1_bss_11C = .bss:0x0000011C; // type:object size:0x28 data:4byte -lbl_1_bss_144 = .bss:0x00000144; // type:object size:0x28 data:4byte -lbl_1_bss_16C = .bss:0x0000016C; // type:object size:0x28 data:4byte -lbl_1_bss_194 = .bss:0x00000194; // type:object size:0x104 data:float -lbl_1_bss_298 = .bss:0x00000298; // type:object size:0x4 data:4byte -lbl_1_bss_29C = .bss:0x0000029C; // type:object size:0xA0 -lbl_1_bss_33C = .bss:0x0000033C; // type:object size:0x28 data:4byte -lbl_1_bss_364 = .bss:0x00000364; // type:object size:0x28 data:4byte -lbl_1_bss_38C = .bss:0x0000038C; // type:object size:0x28 data:4byte -lbl_1_bss_3B4 = .bss:0x000003B4; // type:object size:0x28 data:4byte -lbl_1_bss_3DC = .bss:0x000003DC; // type:object size:0x104 data:4byte -lbl_1_bss_4E0 = .bss:0x000004E0; // type:object size:0x4 data:4byte -lbl_1_bss_4E4 = .bss:0x000004E4; // type:object size:0x4 data:4byte -lbl_1_bss_4E8 = .bss:0x000004E8; // type:object size:0x60 data:4byte -lbl_1_bss_548 = .bss:0x00000548; // type:object size:0xA0 -lbl_1_bss_5E8 = .bss:0x000005E8; // type:object size:0x28 data:4byte -lbl_1_bss_610 = .bss:0x00000610; // type:object size:0x28 data:4byte -lbl_1_bss_638 = .bss:0x00000638; // type:object size:0x28 data:4byte -lbl_1_bss_660 = .bss:0x00000660; // type:object size:0x28 data:4byte -lbl_1_bss_688 = .bss:0x00000688; // type:object size:0x108 data:float -lbl_1_bss_790 = .bss:0x00000790; // type:object size:0x4 data:4byte -lbl_1_bss_794 = .bss:0x00000794; // type:object size:0x4 data:4byte -lbl_1_bss_798 = .bss:0x00000798; // type:object size:0x28 data:4byte -lbl_1_bss_7C0 = .bss:0x000007C0; // type:object size:0x28 data:4byte -lbl_1_bss_7E8 = .bss:0x000007E8; // type:object size:0x28 data:4byte -lbl_1_bss_810 = .bss:0x00000810; // type:object size:0x28 data:4byte -lbl_1_bss_838 = .bss:0x00000838; // type:object size:0x28 data:4byte -lbl_1_bss_860 = .bss:0x00000860; // type:object size:0x108 data:4byte -lbl_1_bss_968 = .bss:0x00000968; // type:object size:0x4 data:4byte -lbl_1_bss_96C = .bss:0x0000096C; // type:object size:0x28 data:4byte -lbl_1_bss_994 = .bss:0x00000994; // type:object size:0x28 data:4byte -lbl_1_bss_9BC = .bss:0x000009BC; // type:object size:0x28 data:4byte -lbl_1_bss_9E4 = .bss:0x000009E4; // type:object size:0x28 data:4byte -lbl_1_bss_A0C = .bss:0x00000A0C; // type:object size:0x28 data:4byte -lbl_1_bss_A34 = .bss:0x00000A34; // type:object size:0x104 data:4byte -lbl_1_bss_B38 = .bss:0x00000B38; // type:object size:0x4 data:4byte -lbl_1_bss_B3C = .bss:0x00000B3C; // type:object size:0x4 data:4byte -lbl_1_bss_B40 = .bss:0x00000B40; // type:object size:0x4 data:4byte -lbl_1_bss_B44 = .bss:0x00000B44; // type:object size:0x28 data:4byte -lbl_1_bss_B6C = .bss:0x00000B6C; // type:object size:0x28 data:4byte -lbl_1_bss_B94 = .bss:0x00000B94; // type:object size:0x28 data:4byte -lbl_1_bss_BBC = .bss:0x00000BBC; // type:object size:0x28 data:4byte -lbl_1_bss_BE4 = .bss:0x00000BE4; // type:object size:0x28 data:4byte -lbl_1_bss_C0C = .bss:0x00000C0C; // type:object size:0x104 data:float -lbl_1_bss_D10 = .bss:0x00000D10; // type:object size:0x4 data:4byte -lbl_1_bss_D14 = .bss:0x00000D14; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_02/rels/mstory3Dll/splits.txt b/config/GMPP01_02/rels/mstory3Dll/splits.txt deleted file mode 100644 index 5251d4d5..00000000 --- a/config/GMPP01_02/rels/mstory3Dll/splits.txt +++ /dev/null @@ -1,31 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/mstory3Dll/main.c: - .text start:0x00000000 end:0x00006E34 - .rodata start:0x00000000 end:0x00000110 - .data start:0x00000000 end:0x00000130 - .bss start:0x00000000 end:0x00000058 - -REL/mstory3Dll/result_seq.c: - .text start:0x00006E34 end:0x000157F0 - .rodata start:0x00000110 end:0x00000418 - .data start:0x00000130 end:0x000007E0 - .bss start:0x00000058 end:0x000018D0 - -REL/mstory3Dll/result.c: - .text start:0x000157F0 end:0x0001DEF0 - .rodata start:0x00000418 end:0x000005D0 - .data start:0x000007E0 end:0x00000A90 - .bss start:0x000018D0 end:0x00001CE8 - -REL/mstory3Dll/win_effect.c: - .text start:0x0001DEF0 end:0x0001F118 - .rodata start:0x000005D0 end:0x00000644 - .data start:0x00000A90 end:0x00000AAB - .bss start:0x00001CE8 end:0x00001D50 diff --git a/config/GMPP01_02/rels/mstory3Dll/symbols.txt b/config/GMPP01_02/rels/mstory3Dll/symbols.txt deleted file mode 100644 index 3113f967..00000000 --- a/config/GMPP01_02/rels/mstory3Dll/symbols.txt +++ /dev/null @@ -1,550 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x4C -fn_1_4C = .text:0x0000004C; // type:function size:0x58 -fn_1_A4 = .text:0x000000A4; // type:function size:0x2C8 -_prolog = .text:0x0000036C; // type:function size:0x54 scope:global -_epilog = .text:0x000003C0; // type:function size:0x4C scope:global -fn_1_40C = .text:0x0000040C; // type:function size:0xE4 -ObjectSetup = .text:0x000004F0; // type:function size:0xE4 -fn_1_5D4 = .text:0x000005D4; // type:function size:0x28 -fn_1_5FC = .text:0x000005FC; // type:function size:0x20 -fn_1_61C = .text:0x0000061C; // type:function size:0xD8 -fn_1_6F4 = .text:0x000006F4; // type:function size:0xC8 -fn_1_7BC = .text:0x000007BC; // type:function size:0xBC -fn_1_878 = .text:0x00000878; // type:function size:0xBC -fn_1_934 = .text:0x00000934; // type:function size:0x4 -fn_1_938 = .text:0x00000938; // type:function size:0x20 -fn_1_958 = .text:0x00000958; // type:function size:0x28 -fn_1_980 = .text:0x00000980; // type:function size:0x20 -fn_1_9A0 = .text:0x000009A0; // type:function size:0x24 -fn_1_9C4 = .text:0x000009C4; // type:function size:0x20 -fn_1_9E4 = .text:0x000009E4; // type:function size:0xA48 -fn_1_142C = .text:0x0000142C; // type:function size:0x1F8 -fn_1_1624 = .text:0x00001624; // type:function size:0x210 -fn_1_1834 = .text:0x00001834; // type:function size:0x1F0 -fn_1_1A24 = .text:0x00001A24; // type:function size:0x2C -fn_1_1A50 = .text:0x00001A50; // type:function size:0x60 -fn_1_1AB0 = .text:0x00001AB0; // type:function size:0x68 -fn_1_1B18 = .text:0x00001B18; // type:function size:0xAC -fn_1_1BC4 = .text:0x00001BC4; // type:function size:0xC4 -fn_1_1C88 = .text:0x00001C88; // type:function size:0xBC -fn_1_1D44 = .text:0x00001D44; // type:function size:0x34 -fn_1_1D78 = .text:0x00001D78; // type:function size:0x40 -fn_1_1DB8 = .text:0x00001DB8; // type:function size:0x70 -fn_1_1E28 = .text:0x00001E28; // type:function size:0x178 -fn_1_1FA0 = .text:0x00001FA0; // type:function size:0x2E0 -fn_1_2280 = .text:0x00002280; // type:function size:0x90 -fn_1_2310 = .text:0x00002310; // type:function size:0xC8 -fn_1_23D8 = .text:0x000023D8; // type:function size:0x48 -fn_1_2420 = .text:0x00002420; // type:function size:0x54 -fn_1_2474 = .text:0x00002474; // type:function size:0x3C0 -fn_1_2834 = .text:0x00002834; // type:function size:0x10 -fn_1_2844 = .text:0x00002844; // type:function size:0x10 -fn_1_2854 = .text:0x00002854; // type:function size:0xB8 -fn_1_290C = .text:0x0000290C; // type:function size:0x120 -fn_1_2A2C = .text:0x00002A2C; // type:function size:0x3A8 -fn_1_2DD4 = .text:0x00002DD4; // type:function size:0x7F4 -fn_1_35C8 = .text:0x000035C8; // type:function size:0x88 -fn_1_3650 = .text:0x00003650; // type:function size:0x94 -fn_1_36E4 = .text:0x000036E4; // type:function size:0x58 -fn_1_373C = .text:0x0000373C; // type:function size:0x8C -fn_1_37C8 = .text:0x000037C8; // type:function size:0xEC -fn_1_38B4 = .text:0x000038B4; // type:function size:0xC4 -fn_1_3978 = .text:0x00003978; // type:function size:0x3C -fn_1_39B4 = .text:0x000039B4; // type:function size:0x44 -fn_1_39F8 = .text:0x000039F8; // type:function size:0x26C -fn_1_3C64 = .text:0x00003C64; // type:function size:0x26C -fn_1_3ED0 = .text:0x00003ED0; // type:function size:0x27C -fn_1_414C = .text:0x0000414C; // type:function size:0x2B4 -fn_1_4400 = .text:0x00004400; // type:function size:0x46C -fn_1_486C = .text:0x0000486C; // type:function size:0x454 -fn_1_4CC0 = .text:0x00004CC0; // type:function size:0x48C -fn_1_514C = .text:0x0000514C; // type:function size:0x658 -fn_1_57A4 = .text:0x000057A4; // type:function size:0x4C4 -fn_1_5C68 = .text:0x00005C68; // type:function size:0x4FC -fn_1_6164 = .text:0x00006164; // type:function size:0x6C8 -fn_1_682C = .text:0x0000682C; // type:function size:0xC4 -fn_1_68F0 = .text:0x000068F0; // type:function size:0x188 -fn_1_6A78 = .text:0x00006A78; // type:function size:0x34 -fn_1_6AAC = .text:0x00006AAC; // type:function size:0x40 -fn_1_6AEC = .text:0x00006AEC; // type:function size:0xAC -fn_1_6B98 = .text:0x00006B98; // type:function size:0x1E8 -fn_1_6D80 = .text:0x00006D80; // type:function size:0xB4 -fn_1_6E34 = .text:0x00006E34; // type:function size:0x1D0 -fn_1_7004 = .text:0x00007004; // type:function size:0x394 -fn_1_7398 = .text:0x00007398; // type:function size:0x640 -fn_1_79D8 = .text:0x000079D8; // type:function size:0x4B0 -fn_1_7E88 = .text:0x00007E88; // type:function size:0x2C4 -fn_1_814C = .text:0x0000814C; // type:function size:0x118 -fn_1_8264 = .text:0x00008264; // type:function size:0x7C -fn_1_82E0 = .text:0x000082E0; // type:function size:0x8C -fn_1_836C = .text:0x0000836C; // type:function size:0xF0 -fn_1_845C = .text:0x0000845C; // type:function size:0x2FC -fn_1_8758 = .text:0x00008758; // type:function size:0x100 -fn_1_8858 = .text:0x00008858; // type:function size:0xF0 -fn_1_8948 = .text:0x00008948; // type:function size:0xF0 -fn_1_8A38 = .text:0x00008A38; // type:function size:0xF0 -fn_1_8B28 = .text:0x00008B28; // type:function size:0xF0 -fn_1_8C18 = .text:0x00008C18; // type:function size:0x7C -fn_1_8C94 = .text:0x00008C94; // type:function size:0x4AC -fn_1_9140 = .text:0x00009140; // type:function size:0x88 -fn_1_91C8 = .text:0x000091C8; // type:function size:0x58 -fn_1_9220 = .text:0x00009220; // type:function size:0x1B0 -fn_1_93D0 = .text:0x000093D0; // type:function size:0xB8 -fn_1_9488 = .text:0x00009488; // type:function size:0x228 -fn_1_96B0 = .text:0x000096B0; // type:function size:0xB8 -fn_1_9768 = .text:0x00009768; // type:function size:0x228 -fn_1_9990 = .text:0x00009990; // type:function size:0x78 -fn_1_9A08 = .text:0x00009A08; // type:function size:0x5C -fn_1_9A64 = .text:0x00009A64; // type:function size:0x8B0 -fn_1_A314 = .text:0x0000A314; // type:function size:0x1DC -fn_1_A4F0 = .text:0x0000A4F0; // type:function size:0x6BC -fn_1_ABAC = .text:0x0000ABAC; // type:function size:0xAC4 -fn_1_B670 = .text:0x0000B670; // type:function size:0x118 -fn_1_B788 = .text:0x0000B788; // type:function size:0x6D4 -fn_1_BE5C = .text:0x0000BE5C; // type:function size:0x104 -fn_1_BF60 = .text:0x0000BF60; // type:function size:0x100 -fn_1_C060 = .text:0x0000C060; // type:function size:0xE0C -fn_1_CE6C = .text:0x0000CE6C; // type:function size:0x620 -fn_1_D48C = .text:0x0000D48C; // type:function size:0xAC -fn_1_D538 = .text:0x0000D538; // type:function size:0x1E0 -fn_1_D718 = .text:0x0000D718; // type:function size:0xC0 -fn_1_D7D8 = .text:0x0000D7D8; // type:function size:0x390 -fn_1_DB68 = .text:0x0000DB68; // type:function size:0x5F8 -fn_1_E160 = .text:0x0000E160; // type:function size:0x1BD0 -fn_1_FD30 = .text:0x0000FD30; // type:function size:0x150 -fn_1_FE80 = .text:0x0000FE80; // type:function size:0xFC -fn_1_FF7C = .text:0x0000FF7C; // type:function size:0x3F0 -fn_1_1036C = .text:0x0001036C; // type:function size:0xA08 -fn_1_10D74 = .text:0x00010D74; // type:function size:0xA20 -fn_1_11794 = .text:0x00011794; // type:function size:0xA0 -fn_1_11834 = .text:0x00011834; // type:function size:0xBA4 -fn_1_123D8 = .text:0x000123D8; // type:function size:0x44 -fn_1_1241C = .text:0x0001241C; // type:function size:0x4 -fn_1_12420 = .text:0x00012420; // type:function size:0x678 -fn_1_12A98 = .text:0x00012A98; // type:function size:0x170 -fn_1_12C08 = .text:0x00012C08; // type:function size:0x1A4 -fn_1_12DAC = .text:0x00012DAC; // type:function size:0x2FC -fn_1_130A8 = .text:0x000130A8; // type:function size:0xD4 -fn_1_1317C = .text:0x0001317C; // type:function size:0x130 -fn_1_132AC = .text:0x000132AC; // type:function size:0x65C -fn_1_13908 = .text:0x00013908; // type:function size:0x130 -fn_1_13A38 = .text:0x00013A38; // type:function size:0x4 -fn_1_13A3C = .text:0x00013A3C; // type:function size:0x23C -fn_1_13C78 = .text:0x00013C78; // type:function size:0xC0 -fn_1_13D38 = .text:0x00013D38; // type:function size:0x60 -fn_1_13D98 = .text:0x00013D98; // type:function size:0x308 -fn_1_140A0 = .text:0x000140A0; // type:function size:0x38C -fn_1_1442C = .text:0x0001442C; // type:function size:0x140 -fn_1_1456C = .text:0x0001456C; // type:function size:0x118 -fn_1_14684 = .text:0x00014684; // type:function size:0x7C -fn_1_14700 = .text:0x00014700; // type:function size:0x48 -fn_1_14748 = .text:0x00014748; // type:function size:0x724 -fn_1_14E6C = .text:0x00014E6C; // type:function size:0x114 -fn_1_14F80 = .text:0x00014F80; // type:function size:0x54 -fn_1_14FD4 = .text:0x00014FD4; // type:function size:0x31C -fn_1_152F0 = .text:0x000152F0; // type:function size:0x160 -fn_1_15450 = .text:0x00015450; // type:function size:0x3A0 -fn_1_157F0 = .text:0x000157F0; // type:function size:0x1B4 -fn_1_159A4 = .text:0x000159A4; // type:function size:0x268 -fn_1_15C0C = .text:0x00015C0C; // type:function size:0xFC -fn_1_15D08 = .text:0x00015D08; // type:function size:0xC0 -fn_1_15DC8 = .text:0x00015DC8; // type:function size:0x3F0 -fn_1_161B8 = .text:0x000161B8; // type:function size:0x3BC -fn_1_16574 = .text:0x00016574; // type:function size:0x54 -fn_1_165C8 = .text:0x000165C8; // type:function size:0x35C -fn_1_16924 = .text:0x00016924; // type:function size:0x1B0 -fn_1_16AD4 = .text:0x00016AD4; // type:function size:0x400 -fn_1_16ED4 = .text:0x00016ED4; // type:function size:0x258 -fn_1_1712C = .text:0x0001712C; // type:function size:0x160 -fn_1_1728C = .text:0x0001728C; // type:function size:0x210 -fn_1_17484 = .text:0x0001749C; // type:function size:0xEC -fn_1_17570 = .text:0x00017588; // type:function size:0x850 -fn_1_17DC0 = .text:0x00017DD8; // type:function size:0x2C0 -fn_1_18080 = .text:0x00018098; // type:function size:0x9C -fn_1_1811C = .text:0x00018134; // type:function size:0x218 -fn_1_18334 = .text:0x0001834C; // type:function size:0x1B4 -fn_1_184E8 = .text:0x00018500; // type:function size:0x70 -fn_1_18558 = .text:0x00018570; // type:function size:0x110 -fn_1_18668 = .text:0x00018680; // type:function size:0x694 -fn_1_18CFC = .text:0x00018D14; // type:function size:0x29C -fn_1_18F98 = .text:0x00018FB0; // type:function size:0x1AC -fn_1_19144 = .text:0x0001915C; // type:function size:0xD0 -fn_1_19214 = .text:0x0001922C; // type:function size:0x28C -fn_1_194A0 = .text:0x000194B8; // type:function size:0xF0 -fn_1_19590 = .text:0x000195A8; // type:function size:0x224 -fn_1_197B4 = .text:0x000197CC; // type:function size:0x854 -fn_1_1A008 = .text:0x0001A020; // type:function size:0x1EF4 -fn_1_1BEFC = .text:0x0001BF14; // type:function size:0x3F8 -fn_1_1C2F4 = .text:0x0001C30C; // type:function size:0x16C -fn_1_1C460 = .text:0x0001C478; // type:function size:0xD4 -fn_1_1C534 = .text:0x0001C54C; // type:function size:0x3E0 -fn_1_1C914 = .text:0x0001C92C; // type:function size:0x184 -fn_1_1CA98 = .text:0x0001CAB0; // type:function size:0xE4 -fn_1_1CB7C = .text:0x0001CB94; // type:function size:0xE0 -fn_1_1CC5C = .text:0x0001CC74; // type:function size:0x104 -fn_1_1CD60 = .text:0x0001CD78; // type:function size:0x90 -fn_1_1CDF0 = .text:0x0001CE08; // type:function size:0x334 -fn_1_1D124 = .text:0x0001D13C; // type:function size:0x518 -fn_1_1D63C = .text:0x0001D654; // type:function size:0x140 -fn_1_1D77C = .text:0x0001D794; // type:function size:0x150 -fn_1_1D8CC = .text:0x0001D8E4; // type:function size:0x98 -fn_1_1D964 = .text:0x0001D97C; // type:function size:0x100 -fn_1_1DA64 = .text:0x0001DA7C; // type:function size:0x48 -fn_1_1DAAC = .text:0x0001DAC4; // type:function size:0x3A0 -fn_1_1DE4C = .text:0x0001DE64; // type:function size:0x8C -fn_1_1DED8 = .text:0x0001DEF0; // type:function size:0x21C -fn_1_1E0F4 = .text:0x0001E10C; // type:function size:0x14 -fn_1_1E108 = .text:0x0001E120; // type:function size:0x10 -fn_1_1E118 = .text:0x0001E130; // type:function size:0x14 -fn_1_1E12C = .text:0x0001E144; // type:function size:0x10 -fn_1_1E13C = .text:0x0001E154; // type:function size:0x41C -fn_1_1E558 = .text:0x0001E570; // type:function size:0x2C8 -fn_1_1E820 = .text:0x0001E838; // type:function size:0x8E0 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x20 scope:local data:4byte -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float -lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x8 scope:local data:4byte -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x24 scope:local data:4byte -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x10 scope:local data:4byte -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float -lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x78 scope:local -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x28 scope:local data:4byte -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 scope:local data:double -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 scope:local data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 scope:local data:double -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 scope:local data:float -lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 scope:local data:float -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 scope:local data:float -lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 scope:local data:float -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 scope:local data:float -lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x4 scope:local data:float -lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x4 scope:local data:float -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x3C scope:local data:4byte -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x18 scope:local data:4byte -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C4 = .rodata:0x000005C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 scope:local data:double -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x8 scope:local data:double -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 scope:local data:double -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 scope:local data:float -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x8 scope:local data:double -lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x8 scope:local data:double -lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 scope:local data:float -lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 scope:local data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x8 scope:local data:double -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 -lbl_1_data_70 = .data:0x00000070; // type:object size:0x25 scope:local data:string -lbl_1_data_95 = .data:0x00000095; // type:object size:0xD scope:local data:string -lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x8 -lbl_1_data_AC = .data:0x000000AC; // type:object size:0x28 scope:local data:string -lbl_1_data_D4 = .data:0x000000D4; // type:object size:0x10 scope:local data:string -lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x3 scope:local data:string -lbl_1_data_E7 = .data:0x000000E7; // type:object size:0x1A scope:local data:string -lbl_1_data_101 = .data:0x00000101; // type:object size:0x1A scope:local data:string -lbl_1_data_11B = .data:0x0000011B; // type:object size:0xE scope:local data:string -lbl_1_data_130 = .data:0x00000130; // type:object size:0x30 data:float -lbl_1_data_160 = .data:0x00000160; // type:object size:0x50 -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x50 -lbl_1_data_200 = .data:0x00000200; // type:object size:0x50 -lbl_1_data_250 = .data:0x00000250; // type:object size:0x16 scope:local data:string -lbl_1_data_266 = .data:0x00000266; // type:object size:0x15 scope:local data:string -lbl_1_data_27B = .data:0x0000027B; // type:object size:0x16 scope:local data:string -lbl_1_data_291 = .data:0x00000291; // type:object size:0x15 scope:local data:string -lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x16 scope:local data:string -lbl_1_data_2BC = .data:0x000002BC; // type:object size:0x15 scope:local data:string -lbl_1_data_2D1 = .data:0x000002D1; // type:object size:0x17 scope:local data:string -lbl_1_data_2E8 = .data:0x000002E8; // type:object size:0x16 scope:local data:string -lbl_1_data_2FE = .data:0x000002FE; // type:object size:0xF scope:local data:string -lbl_1_data_30D = .data:0x0000030D; // type:object size:0x1C scope:local data:string -lbl_1_data_329 = .data:0x00000329; // type:object size:0x1D scope:local data:string -lbl_1_data_346 = .data:0x00000346; // type:object size:0x1C scope:local data:string -lbl_1_data_364 = .data:0x00000364; // type:object size:0x8 data:4byte -lbl_1_data_36C = .data:0x0000036C; // type:object size:0xC -lbl_1_data_378 = .data:0x00000378; // type:object size:0xF scope:local data:string -lbl_1_data_387 = .data:0x00000387; // type:object size:0x10 scope:local data:string -jumptable_1_data_398 = .data:0x00000398; // type:object size:0x30 scope:local -lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0x46 scope:local data:string -lbl_1_data_40E = .data:0x0000040E; // type:object size:0x30 scope:local data:string -lbl_1_data_43E = .data:0x0000043E; // type:object size:0x14 scope:local data:string -lbl_1_data_452 = .data:0x00000452; // type:object size:0x14 scope:local data:string -lbl_1_data_466 = .data:0x00000466; // type:object size:0x14 scope:local data:string -lbl_1_data_47A = .data:0x0000047A; // type:object size:0x14 scope:local data:string -lbl_1_data_48E = .data:0x0000048E; // type:object size:0x14 scope:local data:string -lbl_1_data_4A2 = .data:0x000004A2; // type:object size:0x10 scope:local data:string -lbl_1_data_4B2 = .data:0x000004B2; // type:object size:0x10 scope:local data:string -lbl_1_data_4C2 = .data:0x000004C2; // type:object size:0x10 scope:local data:string -lbl_1_data_4D2 = .data:0x000004D2; // type:object size:0x10 scope:local data:string -lbl_1_data_4E2 = .data:0x000004E2; // type:object size:0x10 scope:local data:string -lbl_1_data_4F2 = .data:0x000004F2; // type:object size:0x12 scope:local -lbl_1_data_504 = .data:0x00000504; // type:object size:0x288 -lbl_1_data_78C = .data:0x0000078C; // type:object size:0x5 -lbl_1_data_7E0 = .data:0x000007E0; // type:object size:0x16 scope:local data:string -lbl_1_data_7F6 = .data:0x000007F6; // type:object size:0x15 scope:local data:string -lbl_1_data_80B = .data:0x0000080B; // type:object size:0x16 scope:local data:string -lbl_1_data_821 = .data:0x00000821; // type:object size:0x15 scope:local data:string -lbl_1_data_836 = .data:0x00000836; // type:object size:0x16 scope:local data:string -lbl_1_data_84C = .data:0x0000084C; // type:object size:0x15 scope:local data:string -lbl_1_data_861 = .data:0x00000861; // type:object size:0x17 scope:local data:string -lbl_1_data_878 = .data:0x00000878; // type:object size:0x16 scope:local data:string -lbl_1_data_88E = .data:0x0000088E; // type:object size:0xF scope:local data:string -lbl_1_data_89D = .data:0x0000089D; // type:object size:0x1C scope:local data:string -lbl_1_data_8B9 = .data:0x000008B9; // type:object size:0x1D scope:local data:string -lbl_1_data_8D6 = .data:0x000008D6; // type:object size:0x49 scope:local data:string -lbl_1_data_91F = .data:0x0000091F; // type:object size:0x48 scope:local data:string -lbl_1_data_967 = .data:0x00000967; // type:object size:0x48 scope:local data:string -lbl_1_data_9AF = .data:0x000009AF; // type:object size:0x52 scope:local data:string -lbl_1_data_A01 = .data:0x00000A01; // type:object size:0x30 scope:local data:string -lbl_1_data_A31 = .data:0x00000A31; // type:object size:0x2A scope:local data:string -lbl_1_data_A5B = .data:0x00000A5B; // type:object size:0x1A scope:local data:string -lbl_1_data_A75 = .data:0x00000A75; // type:object size:0x1B scope:local -lbl_1_data_A90 = .data:0x00000A90; // type:object size:0x13 scope:local data:string -lbl_1_data_AA3 = .data:0x00000AA3; // type:object size:0x8 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x44 data:float -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x10 data:float -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x10 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x40 data:4byte -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x4 data:float -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x4 data:float -lbl_1_bss_B4 = .bss:0x000000B4; // type:object size:0x4 data:4byte -lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte -lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x4 data:float -lbl_1_bss_C0 = .bss:0x000000C0; // type:object size:0x4 data:float -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x4 data:float -lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x1340 -lbl_1_bss_1408 = .bss:0x00001408; // type:object size:0x18 -lbl_1_bss_1420 = .bss:0x00001420; // type:object size:0x4 data:4byte -lbl_1_bss_1424 = .bss:0x00001424; // type:object size:0x4 data:float -lbl_1_bss_1428 = .bss:0x00001428; // type:object size:0x10 data:4byte -lbl_1_bss_1438 = .bss:0x00001438; // type:object size:0x10 -lbl_1_bss_1448 = .bss:0x00001448; // type:object size:0x10 data:4byte -lbl_1_bss_1458 = .bss:0x00001458; // type:object size:0x10 data:4byte -lbl_1_bss_1468 = .bss:0x00001468; // type:object size:0x28 data:4byte -lbl_1_bss_1490 = .bss:0x00001490; // type:object size:0xA0 data:4byte -lbl_1_bss_1530 = .bss:0x00001530; // type:object size:0x28 data:4byte -lbl_1_bss_1558 = .bss:0x00001558; // type:object size:0x28 data:4byte -lbl_1_bss_1580 = .bss:0x00001580; // type:object size:0x350 data:4byte -lbl_1_bss_18D0 = .bss:0x000018D0; // type:object size:0x4 data:4byte -lbl_1_bss_18D4 = .bss:0x000018D4; // type:object size:0x4 data:4byte -lbl_1_bss_18D8 = .bss:0x000018D8; // type:object size:0xC data:4byte -lbl_1_bss_18E4 = .bss:0x000018E4; // type:object size:0x8 data:4byte -lbl_1_bss_18EC = .bss:0x000018EC; // type:object size:0x8 data:4byte -lbl_1_bss_18F4 = .bss:0x000018F4; // type:object size:0xA0 -lbl_1_bss_1994 = .bss:0x00001994; // type:object size:0x28 data:4byte -lbl_1_bss_19BC = .bss:0x000019BC; // type:object size:0x28 data:4byte -lbl_1_bss_19E4 = .bss:0x000019E4; // type:object size:0x28 data:4byte -lbl_1_bss_1A0C = .bss:0x00001A0C; // type:object size:0x2DC data:float -lbl_1_bss_1CE8 = .bss:0x00001CE8; // type:object size:0x2 data:2byte -lbl_1_bss_1CEC = .bss:0x00001CEC; // type:object size:0x4 data:4byte -lbl_1_bss_1CF0 = .bss:0x00001CF0; // type:object size:0x4 data:4byte -lbl_1_bss_1CF4 = .bss:0x00001CF4; // type:object size:0x4 data:4byte -lbl_1_bss_1CF8 = .bss:0x00001CF8; // type:object size:0x58 data:2byte diff --git a/config/GMPP01_02/rels/mstoryDll/splits.txt b/config/GMPP01_02/rels/mstoryDll/splits.txt deleted file mode 100644 index 7378f74e..00000000 --- a/config/GMPP01_02/rels/mstoryDll/splits.txt +++ /dev/null @@ -1,43 +0,0 @@ -Sections: - .text type:code align:4 - .ctors type:rodata align:4 - .dtors type:rodata align:4 - .rodata type:rodata align:8 - .data type:data align:8 - .bss type:bss align:8 - -REL/mstoryDll/main.c: - .text start:0x00000000 end:0x00007090 - .rodata start:0x00000000 end:0x00000108 - .data start:0x00000000 end:0x00000190 - .bss start:0x00000000 end:0x000000A8 - -REL/mstoryDll/board_clear.c: - .text start:0x00007090 end:0x0000A830 - .rodata start:0x00000108 end:0x00000268 - .data start:0x00000190 end:0x00000388 - .bss start:0x000000A8 end:0x000002C8 - -REL/mstoryDll/board_miss.c: - .text start:0x0000A830 end:0x0000E710 - .rodata start:0x00000268 end:0x000003B8 - .data start:0x00000388 end:0x00000570 - .bss start:0x000002C8 end:0x00000558 - -REL/mstoryDll/mg_clear.c: - .text start:0x0000E710 end:0x00011624 - .rodata start:0x000003B8 end:0x000004E0 - .data start:0x00000570 end:0x00000AF8 - .bss start:0x00000558 end:0x00000710 - -REL/mstoryDll/mg_miss.c: - .text start:0x00011624 end:0x00013B48 - .rodata start:0x000004E0 end:0x000005A8 - .data start:0x00000AF8 end:0x00000C50 - .bss start:0x00000710 end:0x000008B8 - -REL/mstoryDll/save.c: - .text start:0x00013B48 end:0x000141B8 - .rodata start:0x000005A8 end:0x000005B8 - .data start:0x00000C50 end:0x00000C98 - .bss start:0x000008B8 end:0x000008C0 diff --git a/config/GMPP01_02/rels/mstoryDll/symbols.txt b/config/GMPP01_02/rels/mstoryDll/symbols.txt deleted file mode 100644 index d7aca560..00000000 --- a/config/GMPP01_02/rels/mstoryDll/symbols.txt +++ /dev/null @@ -1,500 +0,0 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x4C -fn_1_4C = .text:0x0000004C; // type:function size:0x58 -fn_1_A4 = .text:0x000000A4; // type:function size:0x344 -_prolog = .text:0x000003E8; // type:function size:0x54 scope:global -_epilog = .text:0x0000043C; // type:function size:0x4C scope:global -fn_1_488 = .text:0x00000488; // type:function size:0x1D0 -ObjectSetup = .text:0x00000658; // type:function size:0x1D0 -fn_1_828 = .text:0x00000828; // type:function size:0x28 -fn_1_850 = .text:0x00000850; // type:function size:0x20 -fn_1_870 = .text:0x00000870; // type:function size:0xD8 -fn_1_948 = .text:0x00000948; // type:function size:0xC8 -fn_1_A10 = .text:0x00000A10; // type:function size:0xBC -fn_1_ACC = .text:0x00000ACC; // type:function size:0xBC -fn_1_B88 = .text:0x00000B88; // type:function size:0x4 -fn_1_B8C = .text:0x00000B8C; // type:function size:0x20 -fn_1_BAC = .text:0x00000BAC; // type:function size:0x28 -fn_1_BD4 = .text:0x00000BD4; // type:function size:0x20 -fn_1_BF4 = .text:0x00000BF4; // type:function size:0x24 -fn_1_C18 = .text:0x00000C18; // type:function size:0x20 -fn_1_C38 = .text:0x00000C38; // type:function size:0xA48 -fn_1_1680 = .text:0x00001680; // type:function size:0x1B4 -fn_1_1834 = .text:0x00001834; // type:function size:0x1D0 -fn_1_1A04 = .text:0x00001A04; // type:function size:0x60 -fn_1_1A64 = .text:0x00001A64; // type:function size:0x68 -fn_1_1ACC = .text:0x00001ACC; // type:function size:0xAC -fn_1_1B78 = .text:0x00001B78; // type:function size:0xBC -fn_1_1C34 = .text:0x00001C34; // type:function size:0xB4 -fn_1_1CE8 = .text:0x00001CE8; // type:function size:0x34 -fn_1_1D1C = .text:0x00001D1C; // type:function size:0x40 -fn_1_1D5C = .text:0x00001D5C; // type:function size:0x70 -fn_1_1DCC = .text:0x00001DCC; // type:function size:0x178 -fn_1_1F44 = .text:0x00001F44; // type:function size:0x2E0 -fn_1_2224 = .text:0x00002224; // type:function size:0x90 -fn_1_22B4 = .text:0x000022B4; // type:function size:0x48 -fn_1_22FC = .text:0x000022FC; // type:function size:0x54 -fn_1_2350 = .text:0x00002350; // type:function size:0x3C0 -fn_1_2710 = .text:0x00002710; // type:function size:0x10 -fn_1_2720 = .text:0x00002720; // type:function size:0x10 -fn_1_2730 = .text:0x00002730; // type:function size:0xB8 -fn_1_27E8 = .text:0x000027E8; // type:function size:0x120 -fn_1_2908 = .text:0x00002908; // type:function size:0x3A8 -fn_1_2CB0 = .text:0x00002CB0; // type:function size:0x7F4 -fn_1_34A4 = .text:0x000034A4; // type:function size:0x88 -fn_1_352C = .text:0x0000352C; // type:function size:0x94 -fn_1_35C0 = .text:0x000035C0; // type:function size:0x58 -fn_1_3618 = .text:0x00003618; // type:function size:0xEC -fn_1_3704 = .text:0x00003704; // type:function size:0xC4 -fn_1_37C8 = .text:0x000037C8; // type:function size:0x3C -fn_1_3804 = .text:0x00003804; // type:function size:0x44 -fn_1_3848 = .text:0x00003848; // type:function size:0x274 -fn_1_3ABC = .text:0x00003ABC; // type:function size:0x26C -fn_1_3D28 = .text:0x00003D28; // type:function size:0x22C -fn_1_3F54 = .text:0x00003F54; // type:function size:0x27C -fn_1_41D0 = .text:0x000041D0; // type:function size:0x2B4 -fn_1_4484 = .text:0x00004484; // type:function size:0x46C -fn_1_48F0 = .text:0x000048F0; // type:function size:0x454 -fn_1_4D44 = .text:0x00004D44; // type:function size:0x48C -fn_1_51D0 = .text:0x000051D0; // type:function size:0x658 -fn_1_5828 = .text:0x00005828; // type:function size:0x4C4 -fn_1_5CEC = .text:0x00005CEC; // type:function size:0x4FC -fn_1_61E8 = .text:0x000061E8; // type:function size:0x6C8 -fn_1_68B0 = .text:0x000068B0; // type:function size:0xC4 -fn_1_6974 = .text:0x00006974; // type:function size:0x188 -fn_1_6AFC = .text:0x00006AFC; // type:function size:0x34 -fn_1_6B30 = .text:0x00006B30; // type:function size:0x40 -fn_1_6B70 = .text:0x00006B70; // type:function size:0xAC -fn_1_6C1C = .text:0x00006C1C; // type:function size:0x1E8 -fn_1_6E04 = .text:0x00006E04; // type:function size:0xB4 -fn_1_6EB8 = .text:0x00006EB8; // type:function size:0x170 -fn_1_7028 = .text:0x00007028; // type:function size:0x68 -fn_1_7090 = .text:0x00007090; // type:function size:0xA4 -fn_1_7134 = .text:0x00007134; // type:function size:0x1E8 -fn_1_731C = .text:0x0000731C; // type:function size:0x69C -fn_1_79B8 = .text:0x000079B8; // type:function size:0x128 -fn_1_7AE0 = .text:0x00007AE0; // type:function size:0x390 -fn_1_7E70 = .text:0x00007E70; // type:function size:0x5C -fn_1_7ECC = .text:0x00007ECC; // type:function size:0x1C4 -fn_1_8090 = .text:0x00008090; // type:function size:0x320 -fn_1_83B0 = .text:0x000083B0; // type:function size:0x58 -fn_1_8408 = .text:0x00008408; // type:function size:0x3D4 -fn_1_87DC = .text:0x000087DC; // type:function size:0x268 -fn_1_8A44 = .text:0x00008A44; // type:function size:0x9C -fn_1_8AE0 = .text:0x00008AE0; // type:function size:0x2E0 -fn_1_8DC0 = .text:0x00008DC0; // type:function size:0xAC -fn_1_8E6C = .text:0x00008E6C; // type:function size:0xFC -fn_1_8F68 = .text:0x00008F68; // type:function size:0x36C -fn_1_92D4 = .text:0x000092D4; // type:function size:0x134 -fn_1_9408 = .text:0x00009408; // type:function size:0x310 -fn_1_9718 = .text:0x00009718; // type:function size:0x18C -fn_1_98A4 = .text:0x000098A4; // type:function size:0x88 -fn_1_992C = .text:0x0000992C; // type:function size:0x3DC -fn_1_9D08 = .text:0x00009D08; // type:function size:0x300 -fn_1_A008 = .text:0x0000A008; // type:function size:0xE4 -fn_1_A0EC = .text:0x0000A0EC; // type:function size:0x38C -fn_1_A478 = .text:0x0000A478; // type:function size:0x8C -fn_1_A504 = .text:0x0000A504; // type:function size:0xF0 -fn_1_A5F4 = .text:0x0000A5F4; // type:function size:0x23C -fn_1_A830 = .text:0x0000A830; // type:function size:0xC8 -fn_1_A8F8 = .text:0x0000A8F8; // type:function size:0x2B4 -fn_1_ABAC = .text:0x0000ABAC; // type:function size:0x150 -fn_1_ACFC = .text:0x0000ACFC; // type:function size:0x134 -fn_1_AE30 = .text:0x0000AE30; // type:function size:0x8C -fn_1_AEBC = .text:0x0000AEBC; // type:function size:0x374 -fn_1_B230 = .text:0x0000B230; // type:function size:0x5C -fn_1_B28C = .text:0x0000B28C; // type:function size:0x214 -fn_1_B4A0 = .text:0x0000B4A0; // type:function size:0xE8 -fn_1_B588 = .text:0x0000B588; // type:function size:0xE8 -fn_1_B670 = .text:0x0000B670; // type:function size:0x11C -fn_1_B78C = .text:0x0000B78C; // type:function size:0x13C -fn_1_B8C8 = .text:0x0000B8C8; // type:function size:0x4 -fn_1_B8CC = .text:0x0000B8CC; // type:function size:0x104 -fn_1_B9D0 = .text:0x0000B9D0; // type:function size:0x208 -fn_1_BBD8 = .text:0x0000BBD8; // type:function size:0x788 -fn_1_C360 = .text:0x0000C360; // type:function size:0xB4 -fn_1_C414 = .text:0x0000C414; // type:function size:0x2F4 -fn_1_C708 = .text:0x0000C708; // type:function size:0xBC -fn_1_C7C4 = .text:0x0000C7C4; // type:function size:0x384 -fn_1_CB48 = .text:0x0000CB48; // type:function size:0x300 -fn_1_CE48 = .text:0x0000CE48; // type:function size:0xAC -fn_1_CEF4 = .text:0x0000CEF4; // type:function size:0xE4 -fn_1_CFD8 = .text:0x0000CFD8; // type:function size:0xC4 -fn_1_D09C = .text:0x0000D09C; // type:function size:0xE4 -fn_1_D180 = .text:0x0000D180; // type:function size:0x3FC -fn_1_D57C = .text:0x0000D57C; // type:function size:0x134 -fn_1_D6B0 = .text:0x0000D6B0; // type:function size:0x2F8 -fn_1_D9A8 = .text:0x0000D9A8; // type:function size:0xFC -fn_1_DAA4 = .text:0x0000DAA4; // type:function size:0x164 -fn_1_DC08 = .text:0x0000DC08; // type:function size:0x118 -fn_1_DD20 = .text:0x0000DD20; // type:function size:0xE4 -fn_1_DE04 = .text:0x0000DE04; // type:function size:0x424 -fn_1_E228 = .text:0x0000E228; // type:function size:0x8C -fn_1_E2B4 = .text:0x0000E2B4; // type:function size:0x130 -fn_1_E3E4 = .text:0x0000E3E4; // type:function size:0x23C -fn_1_E620 = .text:0x0000E620; // type:function size:0xF0 -fn_1_E710 = .text:0x0000E710; // type:function size:0x118 -fn_1_E828 = .text:0x0000E828; // type:function size:0x8C -fn_1_E8B4 = .text:0x0000E8B4; // type:function size:0x34C -fn_1_EC00 = .text:0x0000EC00; // type:function size:0x5C -fn_1_EC5C = .text:0x0000EC5C; // type:function size:0x384 -fn_1_EFE0 = .text:0x0000EFE0; // type:function size:0x70 -fn_1_F050 = .text:0x0000F050; // type:function size:0x14C -fn_1_F19C = .text:0x0000F19C; // type:function size:0x5E4 -fn_1_F780 = .text:0x0000F780; // type:function size:0xEC -fn_1_F86C = .text:0x0000F86C; // type:function size:0xA4 -fn_1_F910 = .text:0x0000F910; // type:function size:0x1D4 -fn_1_FAE4 = .text:0x0000FAE4; // type:function size:0x238 -fn_1_FD1C = .text:0x0000FD1C; // type:function size:0xB4 -fn_1_FDD0 = .text:0x0000FDD0; // type:function size:0x4C8 -fn_1_10298 = .text:0x00010298; // type:function size:0xEC -fn_1_10384 = .text:0x00010384; // type:function size:0xCC -fn_1_10450 = .text:0x00010450; // type:function size:0xFC -fn_1_1054C = .text:0x0001054C; // type:function size:0xAC -fn_1_105F8 = .text:0x000105F8; // type:function size:0x300 -fn_1_108F8 = .text:0x000108F8; // type:function size:0x374 -fn_1_10C6C = .text:0x00010C6C; // type:function size:0xE4 -fn_1_10D50 = .text:0x00010D50; // type:function size:0x1D4 -fn_1_10F24 = .text:0x00010F24; // type:function size:0xAC -fn_1_10FD0 = .text:0x00010FD0; // type:function size:0x2D0 -fn_1_112A0 = .text:0x000112A0; // type:function size:0x8C -fn_1_1132C = .text:0x0001132C; // type:function size:0xF0 -fn_1_1141C = .text:0x0001141C; // type:function size:0x118 -fn_1_11534 = .text:0x00011534; // type:function size:0xF0 -fn_1_11624 = .text:0x00011624; // type:function size:0x10C -fn_1_11730 = .text:0x00011730; // type:function size:0x35C -fn_1_11A8C = .text:0x00011A8C; // type:function size:0x5C -fn_1_11AE8 = .text:0x00011AE8; // type:function size:0x184 -fn_1_11C6C = .text:0x00011C6C; // type:function size:0x16C -fn_1_11DD8 = .text:0x00011DD8; // type:function size:0xEC -fn_1_11EC4 = .text:0x00011EC4; // type:function size:0x64 -fn_1_11F28 = .text:0x00011F28; // type:function size:0x4 -fn_1_11F2C = .text:0x00011F2C; // type:function size:0x144 -fn_1_12070 = .text:0x00012070; // type:function size:0x5C0 -fn_1_12630 = .text:0x00012630; // type:function size:0xB4 -fn_1_126E4 = .text:0x000126E4; // type:function size:0x234 -fn_1_12918 = .text:0x00012918; // type:function size:0xBC -fn_1_129D4 = .text:0x000129D4; // type:function size:0x2C0 -fn_1_12C94 = .text:0x00012C94; // type:function size:0xE4 -fn_1_12D78 = .text:0x00012D78; // type:function size:0x1A8 -fn_1_12F20 = .text:0x00012F20; // type:function size:0x88 -fn_1_12FA8 = .text:0x00012FA8; // type:function size:0x118 -fn_1_130C0 = .text:0x000130C0; // type:function size:0x22C -fn_1_132EC = .text:0x000132EC; // type:function size:0x284 -fn_1_13570 = .text:0x00013570; // type:function size:0x310 -fn_1_13880 = .text:0x00013880; // type:function size:0x8C -fn_1_1390C = .text:0x0001390C; // type:function size:0x23C -fn_1_13B48 = .text:0x00013B48; // type:function size:0xEC -fn_1_13C34 = .text:0x00013C34; // type:function size:0x210 -fn_1_13E2C = .text:0x00013E44; // type:function size:0x324 -fn_1_14150 = .text:0x00014168; // type:function size:0x50 -_ctors = .ctors:0x00000000; // type:label scope:global data:4byte -_dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0xC scope:local data:2byte -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x64 scope:local -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float -lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x1C scope:local data:4byte -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x8 scope:local data:double -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x64 scope:local -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float -lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float -lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0xC scope:local data:4byte -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float -lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float -lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float -lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x64 scope:local -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x1 scope:local data:byte -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float -lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float -lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 scope:local data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float -lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float -lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x14 scope:local data:4byte -lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x3C scope:local data:4byte -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x4 scope:local data:float -lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x4 scope:local data:float -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 scope:local data:float -lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 scope:local data:float -lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 scope:local data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 scope:local data:float -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 scope:local data:float -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 scope:local data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x60 -lbl_1_data_60 = .data:0x00000060; // type:object size:0x27 scope:local data:string -lbl_1_data_87 = .data:0x00000087; // type:object size:0x26 scope:local data:string -lbl_1_data_AD = .data:0x000000AD; // type:object size:0x2A scope:local data:string -lbl_1_data_D7 = .data:0x000000D7; // type:object size:0x29 data:string -lbl_1_data_100 = .data:0x00000100; // type:object size:0x10 -lbl_1_data_110 = .data:0x00000110; // type:object size:0x28 scope:local data:string -lbl_1_data_138 = .data:0x00000138; // type:object size:0x10 scope:local data:string -lbl_1_data_148 = .data:0x00000148; // type:object size:0x3 scope:local data:string -lbl_1_data_14B = .data:0x0000014B; // type:object size:0x1A scope:local data:string -lbl_1_data_165 = .data:0x00000165; // type:object size:0x1A scope:local data:string -lbl_1_data_17F = .data:0x0000017F; // type:object size:0x11 -lbl_1_data_190 = .data:0x00000190; // type:object size:0x50 -lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0x3C -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x16 scope:local data:string -lbl_1_data_232 = .data:0x00000232; // type:object size:0x15 scope:local data:string -lbl_1_data_247 = .data:0x00000247; // type:object size:0x16 scope:local data:string -lbl_1_data_25D = .data:0x0000025D; // type:object size:0x15 scope:local data:string -lbl_1_data_272 = .data:0x00000272; // type:object size:0x17 scope:local data:string -lbl_1_data_289 = .data:0x00000289; // type:object size:0x16 scope:local data:string -lbl_1_data_29F = .data:0x0000029F; // type:object size:0x16 scope:local data:string -lbl_1_data_2B5 = .data:0x000002B5; // type:object size:0x15 scope:local data:string -lbl_1_data_2CA = .data:0x000002CA; // type:object size:0xF scope:local data:string -lbl_1_data_2D9 = .data:0x000002D9; // type:object size:0x1C scope:local data:string -lbl_1_data_2F5 = .data:0x000002F5; // type:object size:0x1D scope:local data:string -lbl_1_data_312 = .data:0x00000312; // type:object size:0x17 scope:local data:string -lbl_1_data_329 = .data:0x00000329; // type:object size:0xF scope:local data:string -lbl_1_data_338 = .data:0x00000338; // type:object size:0x1C -lbl_1_data_354 = .data:0x00000354; // type:object size:0x34 -lbl_1_data_388 = .data:0x00000388; // type:object size:0x50 -lbl_1_data_3D8 = .data:0x000003D8; // type:object size:0x3C -lbl_1_data_414 = .data:0x00000414; // type:object size:0x16 scope:local data:string -lbl_1_data_42A = .data:0x0000042A; // type:object size:0x15 scope:local data:string -lbl_1_data_43F = .data:0x0000043F; // type:object size:0x16 scope:local data:string -lbl_1_data_455 = .data:0x00000455; // type:object size:0x15 scope:local data:string -lbl_1_data_46A = .data:0x0000046A; // type:object size:0x16 scope:local data:string -lbl_1_data_480 = .data:0x00000480; // type:object size:0x15 scope:local data:string -lbl_1_data_495 = .data:0x00000495; // type:object size:0x17 scope:local data:string -lbl_1_data_4AC = .data:0x000004AC; // type:object size:0x16 scope:local data:string -lbl_1_data_4C2 = .data:0x000004C2; // type:object size:0xA scope:local data:string -lbl_1_data_4CC = .data:0x000004CC; // type:object size:0x1C scope:local data:string -lbl_1_data_4E8 = .data:0x000004E8; // type:object size:0x1D scope:local data:string -lbl_1_data_505 = .data:0x00000505; // type:object size:0xF scope:local data:string -lbl_1_data_514 = .data:0x00000514; // type:object size:0x1B scope:local data:string -lbl_1_data_52F = .data:0x0000052F; // type:object size:0x8 scope:local data:string -lbl_1_data_537 = .data:0x00000537; // type:object size:0x9 -lbl_1_data_540 = .data:0x00000540; // type:object size:0x30 -lbl_1_data_570 = .data:0x00000570; // type:object size:0x3C0 -lbl_1_data_930 = .data:0x00000930; // type:object size:0x50 -lbl_1_data_980 = .data:0x00000980; // type:object size:0x15 scope:local data:string -lbl_1_data_995 = .data:0x00000995; // type:object size:0x14 scope:local data:string -lbl_1_data_9A9 = .data:0x000009A9; // type:object size:0x15 scope:local data:string -lbl_1_data_9BE = .data:0x000009BE; // type:object size:0x14 scope:local data:string -lbl_1_data_9D2 = .data:0x000009D2; // type:object size:0x15 scope:local data:string -lbl_1_data_9E7 = .data:0x000009E7; // type:object size:0x14 scope:local data:string -lbl_1_data_9FB = .data:0x000009FB; // type:object size:0x15 scope:local data:string -lbl_1_data_A10 = .data:0x00000A10; // type:object size:0x14 scope:local data:string -lbl_1_data_A24 = .data:0x00000A24; // type:object size:0xF scope:local data:string -lbl_1_data_A33 = .data:0x00000A33; // type:object size:0x1C scope:local data:string -lbl_1_data_A4F = .data:0x00000A4F; // type:object size:0x1D scope:local data:string -lbl_1_data_A6C = .data:0x00000A6C; // type:object size:0x1C scope:local data:string -lbl_1_data_A88 = .data:0x00000A88; // type:object size:0x32 scope:local data:string -lbl_1_data_ABA = .data:0x00000ABA; // type:object size:0xF scope:local data:string -lbl_1_data_AC9 = .data:0x00000AC9; // type:object size:0x11 scope:local data:string -lbl_1_data_ADA = .data:0x00000ADA; // type:object size:0xA scope:local data:string -lbl_1_data_AE4 = .data:0x00000AE4; // type:object size:0x9 scope:local data:string -lbl_1_data_AED = .data:0x00000AED; // type:object size:0xB -lbl_1_data_AF8 = .data:0x00000AF8; // type:object size:0x3C -lbl_1_data_B34 = .data:0x00000B34; // type:object size:0x15 scope:local data:string -lbl_1_data_B49 = .data:0x00000B49; // type:object size:0x14 scope:local data:string -lbl_1_data_B5D = .data:0x00000B5D; // type:object size:0x15 scope:local data:string -lbl_1_data_B72 = .data:0x00000B72; // type:object size:0x14 scope:local data:string -lbl_1_data_B86 = .data:0x00000B86; // type:object size:0x15 scope:local data:string -lbl_1_data_B9B = .data:0x00000B9B; // type:object size:0x14 scope:local data:string -lbl_1_data_BAF = .data:0x00000BAF; // type:object size:0x15 scope:local data:string -lbl_1_data_BC4 = .data:0x00000BC4; // type:object size:0x14 scope:local data:string -lbl_1_data_BD8 = .data:0x00000BD8; // type:object size:0xF scope:local data:string -lbl_1_data_BE7 = .data:0x00000BE7; // type:object size:0x1C scope:local data:string -lbl_1_data_C03 = .data:0x00000C03; // type:object size:0x1D scope:local data:string -lbl_1_data_C20 = .data:0x00000C20; // type:object size:0xF scope:local data:string -lbl_1_data_C2F = .data:0x00000C2F; // type:object size:0x21 -lbl_1_data_C50 = .data:0x00000C50; // type:object size:0x48 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x44 data:4byte -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x10 data:4byte -lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x10 data:4byte -lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x4 data:4byte -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x3C data:4byte -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x28 data:4byte -lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0xA0 -lbl_1_bss_174 = .bss:0x00000174; // type:object size:0x28 data:4byte -lbl_1_bss_19C = .bss:0x0000019C; // type:object size:0x28 data:4byte -lbl_1_bss_1C4 = .bss:0x000001C4; // type:object size:0x104 data:4byte -lbl_1_bss_2C8 = .bss:0x000002C8; // type:object size:0x4 data:4byte -lbl_1_bss_2CC = .bss:0x000002CC; // type:object size:0x4 data:4byte -lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x60 data:4byte -lbl_1_bss_330 = .bss:0x00000330; // type:object size:0x8 data:4byte -lbl_1_bss_338 = .bss:0x00000338; // type:object size:0xA0 -lbl_1_bss_3D8 = .bss:0x000003D8; // type:object size:0x28 data:4byte -lbl_1_bss_400 = .bss:0x00000400; // type:object size:0x28 data:4byte -lbl_1_bss_428 = .bss:0x00000428; // type:object size:0x28 data:4byte -lbl_1_bss_450 = .bss:0x00000450; // type:object size:0x108 data:float -lbl_1_bss_558 = .bss:0x00000558; // type:object size:0x4 data:4byte -lbl_1_bss_55C = .bss:0x0000055C; // type:object size:0x4 data:4byte -lbl_1_bss_560 = .bss:0x00000560; // type:object size:0x8 data:4byte -lbl_1_bss_568 = .bss:0x00000568; // type:object size:0x28 data:4byte -lbl_1_bss_590 = .bss:0x00000590; // type:object size:0x28 data:4byte -lbl_1_bss_5B8 = .bss:0x000005B8; // type:object size:0x28 data:4byte -lbl_1_bss_5E0 = .bss:0x000005E0; // type:object size:0x28 data:4byte -lbl_1_bss_608 = .bss:0x00000608; // type:object size:0x108 data:4byte -lbl_1_bss_710 = .bss:0x00000710; // type:object size:0x4 data:4byte -lbl_1_bss_714 = .bss:0x00000714; // type:object size:0x28 data:4byte -lbl_1_bss_73C = .bss:0x0000073C; // type:object size:0x28 data:4byte -lbl_1_bss_764 = .bss:0x00000764; // type:object size:0x28 data:4byte -lbl_1_bss_78C = .bss:0x0000078C; // type:object size:0x28 data:4byte -lbl_1_bss_7B4 = .bss:0x000007B4; // type:object size:0x104 data:4byte -lbl_1_bss_8B8 = .bss:0x000008B8; // type:object size:0x4 data:4byte -lbl_1_bss_8BC = .bss:0x000008BC; // type:object size:0x4 data:4byte diff --git a/config/GMPP01_02/rels/w04Dll/splits.txt b/config/GMPP01_02/rels/w04Dll/splits.txt deleted file mode 100644 index c1698acd..00000000 --- a/config/GMPP01_02/rels/w04Dll/splits.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sections: - .text type:code align:4 - .section2 type:data align:8 - .section3 type:data align:4 - .section4 type:data align:8 - .section5 type:data align:8 - .bss type:bss align:8 diff --git a/config/GMPP01_02/rels/w04Dll/symbols.txt b/config/GMPP01_02/rels/w04Dll/symbols.txt deleted file mode 100644 index cc5cf0ab..00000000 --- a/config/GMPP01_02/rels/w04Dll/symbols.txt +++ /dev/null @@ -1,399 +0,0 @@ -_prolog = .text:0x00000030; // type:function scope:global -_epilog = .text:0x00000094; // type:function scope:global -lbl_1_text_E0 = .text:0x000000E0; // type:label -lbl_1_text_5F4 = .text:0x000005F4; // type:label -lbl_1_text_750 = .text:0x00000750; // type:label -lbl_1_text_794 = .text:0x00000794; // type:label -lbl_1_text_798 = .text:0x00000798; // type:label -lbl_1_text_7FC = .text:0x000007FC; // type:label -lbl_1_text_958 = .text:0x00000958; // type:label -lbl_1_text_CF8 = .text:0x00000CF8; // type:label -lbl_1_text_103C = .text:0x0000103C; // type:label -lbl_1_text_1618 = .text:0x00001618; // type:label -lbl_1_text_1E60 = .text:0x00001E60; // type:label -lbl_1_text_2008 = .text:0x00002008; // type:label -lbl_1_text_2044 = .text:0x00002044; // type:label -lbl_1_text_20EC = .text:0x000020EC; // type:label -lbl_1_text_2FDC = .text:0x00002FDC; // type:label -lbl_1_text_30A4 = .text:0x000030A4; // type:label -lbl_1_text_38D8 = .text:0x000038D8; // type:label -lbl_1_text_45A8 = .text:0x000045A8; // type:label -lbl_1_text_4630 = .text:0x00004630; // type:label -lbl_1_text_4848 = .text:0x00004848; // type:label -lbl_1_text_55A0 = .text:0x000055A0; // type:label -lbl_1_text_59C4 = .text:0x000059C4; // type:label -lbl_1_text_5A2C = .text:0x00005A2C; // type:label -lbl_1_text_62B0 = .text:0x000062B0; // type:label -lbl_1_text_757C = .text:0x0000757C; // type:label -lbl_1_text_75D8 = .text:0x000075D8; // type:label -lbl_1_text_9BC0 = .text:0x00009BC0; // type:label -lbl_1_text_9E8C = .text:0x00009E8C; // type:label -lbl_1_text_A700 = .text:0x0000A700; // type:label -lbl_1_text_C36C = .text:0x0000C36C; // type:label -lbl_1_text_CF70 = .text:0x0000CF70; // type:label -lbl_1_text_D158 = .text:0x0000D158; // type:label -lbl_1_text_D214 = .text:0x0000D214; // type:label -lbl_1_text_D288 = .text:0x0000D288; // type:label -lbl_1_text_D538 = .text:0x0000D538; // type:label -lbl_1_text_D68C = .text:0x0000D68C; // type:label -lbl_1_text_D6F0 = .text:0x0000D6F0; // type:label -lbl_1_text_D754 = .text:0x0000D754; // type:label -lbl_1_text_DFE8 = .text:0x0000DFE8; // type:label -lbl_1_text_E128 = .text:0x0000E128; // type:label -lbl_1_text_E170 = .text:0x0000E170; // type:label -lbl_1_text_E358 = .text:0x0000E358; // type:label -lbl_1_text_E4A4 = .text:0x0000E4A4; // type:label -lbl_1_text_E690 = .text:0x0000E690; // type:label -lbl_1_section2_0 = .section2:0x00000000; // type:object size:0x4 -lbl_1_section3_0 = .section3:0x00000000; // type:object size:0x4 -lbl_1_section4_10 = .section4:0x00000010; // type:object size:0x4 -lbl_1_section4_14 = .section4:0x00000014; // type:object size:0x4 -lbl_1_section4_18 = .section4:0x00000018; // type:object size:0x4 -lbl_1_section4_1C = .section4:0x0000001C; // type:object size:0x4 -lbl_1_section4_20 = .section4:0x00000020; // type:object size:0x4 -lbl_1_section4_24 = .section4:0x00000024; // type:object size:0x4 -lbl_1_section4_28 = .section4:0x00000028; // type:object size:0x4 -lbl_1_section4_2C = .section4:0x0000002C; // type:object size:0x4 -lbl_1_section4_30 = .section4:0x00000030; // type:object size:0x8 -lbl_1_section4_38 = .section4:0x00000038; // type:object size:0x4 -lbl_1_section4_3C = .section4:0x0000003C; // type:object size:0x4 -lbl_1_section4_40 = .section4:0x00000040; // type:object size:0x4 -lbl_1_section4_44 = .section4:0x00000044; // type:object size:0x4 -lbl_1_section4_48 = .section4:0x00000048; // type:object size:0x4 -lbl_1_section4_4C = .section4:0x0000004C; // type:object size:0x4 -lbl_1_section4_50 = .section4:0x00000050; // type:object size:0x4 -lbl_1_section4_54 = .section4:0x00000054; // type:object size:0x4 -lbl_1_section4_58 = .section4:0x00000058; // type:object size:0x8 -lbl_1_section4_60 = .section4:0x00000060; // type:object size:0x8 -lbl_1_section4_68 = .section4:0x00000068; // type:object size:0x4 -lbl_1_section4_6C = .section4:0x0000006C; // type:object size:0x4 -lbl_1_section4_70 = .section4:0x00000070; // type:object size:0x4 -lbl_1_section4_74 = .section4:0x00000074; // type:object size:0x4 -lbl_1_section4_78 = .section4:0x00000078; // type:object size:0x4 -lbl_1_section4_7C = .section4:0x0000007C; // type:object size:0x4 -lbl_1_section4_80 = .section4:0x00000080; // type:object size:0x8 -lbl_1_section4_88 = .section4:0x00000088; // type:object size:0x8 -lbl_1_section4_90 = .section4:0x00000090; // type:object size:0x8 -lbl_1_section4_98 = .section4:0x00000098; // type:object size:0x4 -lbl_1_section4_9C = .section4:0x0000009C; // type:object size:0x4 -lbl_1_section4_A0 = .section4:0x000000A0; // type:object size:0x8 -lbl_1_section4_A8 = .section4:0x000000A8; // type:object size:0x8 -lbl_1_section4_B0 = .section4:0x000000B0; // type:object size:0x8 -lbl_1_section4_B8 = .section4:0x000000B8; // type:object size:0x4 -lbl_1_section4_BC = .section4:0x000000BC; // type:object size:0x4 -lbl_1_section4_C0 = .section4:0x000000C0; // type:object size:0x4 -lbl_1_section4_C4 = .section4:0x000000C4; // type:object size:0x4 -lbl_1_section4_C8 = .section4:0x000000C8; // type:object size:0x4 -lbl_1_section4_CC = .section4:0x000000CC; // type:object size:0x4 -lbl_1_section4_D0 = .section4:0x000000D0; // type:object size:0x4 -lbl_1_section4_D4 = .section4:0x000000D4; // type:object size:0x4 -lbl_1_section4_D8 = .section4:0x000000D8; // type:object size:0x8 -lbl_1_section4_E0 = .section4:0x000000E0; // type:object size:0x8 -lbl_1_section4_E8 = .section4:0x000000E8; // type:object size:0x8 -lbl_1_section4_F0 = .section4:0x000000F0; // type:object size:0x4 -lbl_1_section4_F4 = .section4:0x000000F4; // type:object size:0x4 -lbl_1_section4_F8 = .section4:0x000000F8; // type:object size:0x4 -lbl_1_section4_FC = .section4:0x000000FC; // type:object size:0x4 -lbl_1_section4_100 = .section4:0x00000100; // type:object size:0x4 -lbl_1_section4_104 = .section4:0x00000104; // type:object size:0x4 -lbl_1_section4_108 = .section4:0x00000108; // type:object size:0x4 -lbl_1_section4_10C = .section4:0x0000010C; // type:object size:0x4 -lbl_1_section4_110 = .section4:0x00000110; // type:object size:0x4 -lbl_1_section4_114 = .section4:0x00000114; // type:object size:0x4 -lbl_1_section4_118 = .section4:0x00000118; // type:object size:0x4 -lbl_1_section4_11C = .section4:0x0000011C; // type:object size:0x4 -lbl_1_section4_120 = .section4:0x00000120; // type:object size:0x8 -lbl_1_section4_128 = .section4:0x00000128; // type:object size:0x8 -lbl_1_section4_130 = .section4:0x00000130; // type:object size:0x4 -lbl_1_section4_134 = .section4:0x00000134; // type:object size:0x4 -lbl_1_section4_138 = .section4:0x00000138; // type:object size:0x4 -lbl_1_section4_13C = .section4:0x0000013C; // type:object size:0x4 -lbl_1_section4_140 = .section4:0x00000140; // type:object size:0x8 -lbl_1_section4_148 = .section4:0x00000148; // type:object size:0x8 -lbl_1_section4_150 = .section4:0x00000150; // type:object size:0x4 -lbl_1_section4_154 = .section4:0x00000154; // type:object size:0x4 -lbl_1_section4_158 = .section4:0x00000158; // type:object size:0x4 -lbl_1_section4_15C = .section4:0x0000015C; // type:object size:0x4 -lbl_1_section4_160 = .section4:0x00000160; // type:object size:0x4 -lbl_1_section4_164 = .section4:0x00000164; // type:object size:0x4 -lbl_1_section4_168 = .section4:0x00000168; // type:object size:0x4 -lbl_1_section4_16C = .section4:0x0000016C; // type:object size:0x4 -lbl_1_section4_170 = .section4:0x00000170; // type:object size:0x4 -lbl_1_section4_174 = .section4:0x00000174; // type:object size:0x4 -lbl_1_section4_178 = .section4:0x00000178; // type:object size:0x4 -lbl_1_section4_17C = .section4:0x0000017C; // type:object size:0x4 -lbl_1_section4_180 = .section4:0x00000180; // type:object size:0x4 -lbl_1_section4_184 = .section4:0x00000184; // type:object size:0x4 -lbl_1_section4_188 = .section4:0x00000188; // type:object size:0x4 -lbl_1_section4_18C = .section4:0x0000018C; // type:object size:0x4 -lbl_1_section4_190 = .section4:0x00000190; // type:object size:0x4 -lbl_1_section4_194 = .section4:0x00000194; // type:object size:0x4 -lbl_1_section4_198 = .section4:0x00000198; // type:object size:0x8 -lbl_1_section4_1A0 = .section4:0x000001A0; // type:object size:0x4 -lbl_1_section4_1A4 = .section4:0x000001A4; // type:object size:0x4 -lbl_1_section4_1A8 = .section4:0x000001A8; // type:object size:0x4 -lbl_1_section4_1AC = .section4:0x000001AC; // type:object size:0x4 -lbl_1_section4_1B0 = .section4:0x000001B0; // type:object size:0x4 -lbl_1_section4_1B4 = .section4:0x000001B4; // type:object size:0x4 -lbl_1_section4_1B8 = .section4:0x000001B8; // type:object size:0x4 -lbl_1_section4_1BC = .section4:0x000001BC; // type:object size:0x4 -lbl_1_section4_1C0 = .section4:0x000001C0; // type:object size:0x4 -lbl_1_section4_1C4 = .section4:0x000001C4; // type:object size:0x4 -lbl_1_section4_1C8 = .section4:0x000001C8; // type:object size:0x4 -lbl_1_section4_1CC = .section4:0x000001CC; // type:object size:0x4 -lbl_1_section4_1D0 = .section4:0x000001D0; // type:object size:0x4 -lbl_1_section4_1D4 = .section4:0x000001D4; // type:object size:0x4 -lbl_1_section4_1D8 = .section4:0x000001D8; // type:object size:0x4 -lbl_1_section4_1DC = .section4:0x000001DC; // type:object size:0x4 -lbl_1_section4_1E0 = .section4:0x000001E0; // type:object size:0x4 -lbl_1_section4_1E4 = .section4:0x000001E4; // type:object size:0x4 -lbl_1_section4_1E8 = .section4:0x000001E8; // type:object size:0x4 -lbl_1_section4_1EC = .section4:0x000001EC; // type:object size:0x4 -lbl_1_section4_1F0 = .section4:0x000001F0; // type:object size:0x8 -lbl_1_section4_1F8 = .section4:0x000001F8; // type:object size:0x8 -lbl_1_section4_200 = .section4:0x00000200; // type:object size:0x4 -lbl_1_section4_204 = .section4:0x00000204; // type:object size:0x4 data:string -lbl_1_section4_208 = .section4:0x00000208; // type:object size:0x8 -lbl_1_section4_210 = .section4:0x00000210; // type:object size:0x8 -lbl_1_section4_218 = .section4:0x00000218; // type:object size:0x8 -lbl_1_section4_220 = .section4:0x00000220; // type:object size:0x4 -lbl_1_section4_224 = .section4:0x00000224; // type:object size:0x4 -lbl_1_section4_228 = .section4:0x00000228; // type:object size:0x4 -lbl_1_section4_22C = .section4:0x0000022C; // type:object size:0xC -lbl_1_section4_238 = .section4:0x00000238; // type:object size:0x4 -lbl_1_section4_23C = .section4:0x0000023C; // type:object size:0x4 -lbl_1_section4_240 = .section4:0x00000240; // type:object size:0x8 -lbl_1_section4_248 = .section4:0x00000248; // type:object size:0x8 -lbl_1_section4_250 = .section4:0x00000250; // type:object size:0x4 -lbl_1_section4_254 = .section4:0x00000254; // type:object size:0x4 -lbl_1_section4_258 = .section4:0x00000258; // type:object size:0x4 -lbl_1_section4_25C = .section4:0x0000025C; // type:object size:0x4 -lbl_1_section4_260 = .section4:0x00000260; // type:object size:0x4 -lbl_1_section4_264 = .section4:0x00000264; // type:object size:0x4 -lbl_1_section4_268 = .section4:0x00000268; // type:object size:0x4 -lbl_1_section4_26C = .section4:0x0000026C; // type:object size:0x4 -lbl_1_section4_270 = .section4:0x00000270; // type:object size:0x4 -lbl_1_section4_274 = .section4:0x00000274; // type:object size:0x4 -lbl_1_section4_278 = .section4:0x00000278; // type:object size:0x4 -lbl_1_section4_27C = .section4:0x0000027C; // type:object size:0x4 -lbl_1_section4_280 = .section4:0x00000280; // type:object size:0x4 -lbl_1_section4_284 = .section4:0x00000284; // type:object size:0xC -lbl_1_section4_290 = .section4:0x00000290; // type:object size:0x4 -lbl_1_section4_294 = .section4:0x00000294; // type:object size:0x4 -lbl_1_section4_298 = .section4:0x00000298; // type:object size:0x4 -lbl_1_section4_29C = .section4:0x0000029C; // type:object size:0x4 -lbl_1_section4_2A0 = .section4:0x000002A0; // type:object size:0x4 -lbl_1_section4_2A4 = .section4:0x000002A4; // type:object size:0x4 -lbl_1_section4_2A8 = .section4:0x000002A8; // type:object size:0x4 -lbl_1_section4_2AC = .section4:0x000002AC; // type:object size:0x4 -lbl_1_section4_2B0 = .section4:0x000002B0; // type:object size:0x4 -lbl_1_section4_2B4 = .section4:0x000002B4; // type:object size:0x4 -lbl_1_section4_2B8 = .section4:0x000002B8; // type:object size:0x8 -lbl_1_section4_2C0 = .section4:0x000002C0; // type:object size:0x4 -lbl_1_section4_2C4 = .section4:0x000002C4; // type:object size:0x4 -lbl_1_section4_2C8 = .section4:0x000002C8; // type:object size:0x4 -lbl_1_section4_2CC = .section4:0x000002CC; // type:object size:0x4 -lbl_1_section4_2D0 = .section4:0x000002D0; // type:object size:0x4 -lbl_1_section4_2D4 = .section4:0x000002D4; // type:object size:0x4 -lbl_1_section4_2D8 = .section4:0x000002D8; // type:object size:0x4 -lbl_1_section4_2DC = .section4:0x000002DC; // type:object size:0x4 -lbl_1_section4_2E0 = .section4:0x000002E0; // type:object size:0x4 -lbl_1_section4_2E4 = .section4:0x000002E4; // type:object size:0x4 -lbl_1_section4_2E8 = .section4:0x000002E8; // type:object size:0x8 -lbl_1_section4_2F0 = .section4:0x000002F0; // type:object size:0x8 -lbl_1_section4_2F8 = .section4:0x000002F8; // type:object size:0x8 -lbl_1_section4_300 = .section4:0x00000300; // type:object size:0x4 -lbl_1_section4_304 = .section4:0x00000304; // type:object size:0x4 -lbl_1_section4_308 = .section4:0x00000308; // type:object size:0x8 -lbl_1_section4_310 = .section4:0x00000310; // type:object size:0x8 -lbl_1_section4_318 = .section4:0x00000318; // type:object size:0x8 -lbl_1_section4_320 = .section4:0x00000320; // type:object size:0x4 -lbl_1_section4_324 = .section4:0x00000324; // type:object size:0x4 -lbl_1_section4_328 = .section4:0x00000328; // type:object size:0x4 -lbl_1_section4_32C = .section4:0x0000032C; // type:object size:0x4 -lbl_1_section4_330 = .section4:0x00000330; // type:object size:0x4 -lbl_1_section4_334 = .section4:0x00000334; // type:object size:0x4 -lbl_1_section4_338 = .section4:0x00000338; // type:object size:0x4 -lbl_1_section4_33C = .section4:0x0000033C; // type:object size:0x4 -lbl_1_section4_340 = .section4:0x00000340; // type:object size:0x4 -lbl_1_section4_344 = .section4:0x00000344; // type:object size:0x4 -lbl_1_section4_348 = .section4:0x00000348; // type:object size:0x4 -lbl_1_section4_34C = .section4:0x0000034C; // type:object size:0x4 -lbl_1_section4_350 = .section4:0x00000350; // type:object size:0x8 -lbl_1_section4_358 = .section4:0x00000358; // type:object size:0x8 -lbl_1_section4_360 = .section4:0x00000360; // type:object size:0x4 -lbl_1_section4_364 = .section4:0x00000364; // type:object size:0x4 -lbl_1_section4_368 = .section4:0x00000368; // type:object size:0x4 -lbl_1_section4_36C = .section4:0x0000036C; // type:object size:0x4 -lbl_1_section4_370 = .section4:0x00000370; // type:object size:0x8 -lbl_1_section4_378 = .section4:0x00000378; // type:object size:0x8 -lbl_1_section4_380 = .section4:0x00000380; // type:object size:0x4 -lbl_1_section4_384 = .section4:0x00000384; // type:object size:0x4 -lbl_1_section4_388 = .section4:0x00000388; // type:object size:0x4 -lbl_1_section4_38C = .section4:0x0000038C; // type:object size:0x4 -lbl_1_section4_390 = .section4:0x00000390; // type:object size:0x4 -lbl_1_section4_394 = .section4:0x00000394; // type:object size:0x4 -lbl_1_section4_398 = .section4:0x00000398; // type:object size:0x8 -lbl_1_section4_3A0 = .section4:0x000003A0; // type:object size:0x4 -lbl_1_section4_3A4 = .section4:0x000003A4; // type:object size:0x4 -lbl_1_section4_3A8 = .section4:0x000003A8; // type:object size:0x4 -lbl_1_section4_3AC = .section4:0x000003AC; // type:object size:0x4 -lbl_1_section4_3B0 = .section4:0x000003B0; // type:object size:0x4 -lbl_1_section4_3B4 = .section4:0x000003B4; // type:object size:0x4 -lbl_1_section4_3B8 = .section4:0x000003B8; // type:object size:0x4 -lbl_1_section4_3BC = .section4:0x000003BC; // type:object size:0x4 -lbl_1_section4_3C0 = .section4:0x000003C0; // type:object size:0x4 -lbl_1_section4_3C4 = .section4:0x000003C4; // type:object size:0x4 -lbl_1_section4_3C8 = .section4:0x000003C8; // type:object size:0x4 -lbl_1_section4_3CC = .section4:0x000003CC; // type:object size:0x4 -lbl_1_section4_3D0 = .section4:0x000003D0; // type:object size:0x8 -lbl_1_section4_3D8 = .section4:0x000003D8; // type:object size:0x4 -lbl_1_section4_3DC = .section4:0x000003DC; // type:object size:0x4 -lbl_1_section4_3E0 = .section4:0x000003E0; // type:object size:0x4 -lbl_1_section4_3E4 = .section4:0x000003E4; // type:object size:0x4 -lbl_1_section4_3E8 = .section4:0x000003E8; // type:object size:0x4 -lbl_1_section4_3EC = .section4:0x000003EC; // type:object size:0x4 -lbl_1_section4_3F0 = .section4:0x000003F0; // type:object size:0x4 -lbl_1_section4_3F4 = .section4:0x000003F4; // type:object size:0x4 -lbl_1_section4_3F8 = .section4:0x000003F8; // type:object size:0x4 -lbl_1_section4_3FC = .section4:0x000003FC; // type:object size:0x4 -lbl_1_section4_400 = .section4:0x00000400; // type:object size:0x4 -lbl_1_section4_404 = .section4:0x00000404; // type:object size:0x4 -lbl_1_section4_408 = .section4:0x00000408; // type:object size:0x8 -lbl_1_section4_410 = .section4:0x00000410; // type:object size:0x8 -lbl_1_section4_418 = .section4:0x00000418; // type:object size:0x4 -lbl_1_section4_41C = .section4:0x0000041C; // type:object size:0x4 -lbl_1_section4_420 = .section4:0x00000420; // type:object size:0x4 -lbl_1_section4_424 = .section4:0x00000424; // type:object size:0x4 -lbl_1_section5_0 = .section5:0x00000000; // type:object size:0x280 -lbl_1_section5_280 = .section5:0x00000280; // type:object size:0x2 -lbl_1_section5_282 = .section5:0x00000282; // type:object size:0x2 -lbl_1_section5_284 = .section5:0x00000284; // type:object size:0x2 -lbl_1_section5_286 = .section5:0x00000286; // type:object size:0x2 -lbl_1_section5_288 = .section5:0x00000288; // type:object size:0x8 -lbl_1_section5_290 = .section5:0x00000290; // type:object size:0x8 -lbl_1_section5_298 = .section5:0x00000298; // type:object size:0x8 -lbl_1_section5_2A0 = .section5:0x000002A0; // type:object size:0xC -lbl_1_section5_2AC = .section5:0x000002AC; // type:object size:0x24 -lbl_1_section5_2D0 = .section5:0x000002D0; // type:object size:0x20 -lbl_1_section5_2F0 = .section5:0x000002F0; // type:object size:0x4 -lbl_1_section5_2F4 = .section5:0x000002F4; // type:object size:0x20 -lbl_1_section5_314 = .section5:0x00000314; // type:object size:0x20 -lbl_1_section5_334 = .section5:0x00000334; // type:object size:0x5 data:string -lbl_1_section5_339 = .section5:0x00000339; // type:object size:0x5 data:string -lbl_1_section5_33E = .section5:0x0000033E; // type:object size:0x5 data:string -lbl_1_section5_343 = .section5:0x00000343; // type:object size:0x5 data:string -lbl_1_section5_348 = .section5:0x00000348; // type:object size:0x10 -lbl_1_section5_358 = .section5:0x00000358; // type:object size:0x10 -lbl_1_section5_368 = .section5:0x00000368; // type:object size:0x8 data:string -lbl_1_section5_370 = .section5:0x00000370; // type:object size:0x12 data:string -lbl_1_section5_382 = .section5:0x00000382; // type:object size:0x11 data:string -lbl_1_section5_393 = .section5:0x00000393; // type:object size:0x15 -lbl_1_section5_3A8 = .section5:0x000003A8; // type:object size:0x8 data:string -lbl_1_section5_3B0 = .section5:0x000003B0; // type:object size:0x9 data:string -lbl_1_section5_3B9 = .section5:0x000003B9; // type:object size:0x6 data:string -lbl_1_section5_3BF = .section5:0x000003BF; // type:object size:0x5 data:string -lbl_1_section5_3C4 = .section5:0x000003C4; // type:object size:0x8 -lbl_1_section5_3CC = .section5:0x000003CC; // type:object size:0x14 -lbl_1_section5_3E0 = .section5:0x000003E0; // type:object size:0x14 -lbl_1_section5_3F4 = .section5:0x000003F4; // type:object size:0x20 -lbl_1_section5_414 = .section5:0x00000414; // type:object size:0x10 -lbl_1_section5_424 = .section5:0x00000424; // type:object size:0x30 -lbl_1_section5_454 = .section5:0x00000454; // type:object size:0xB data:string -lbl_1_section5_45F = .section5:0x0000045F; // type:object size:0x2 data:string -lbl_1_section5_461 = .section5:0x00000461; // type:object size:0xC data:string -lbl_1_section5_46D = .section5:0x0000046D; // type:object size:0x1B -lbl_1_section5_488 = .section5:0x00000488; // type:object size:0x3 data:string -lbl_1_section5_48B = .section5:0x0000048B; // type:object size:0x11 -lbl_1_section5_49C = .section5:0x0000049C; // type:object size:0x54 -lbl_1_section5_4F0 = .section5:0x000004F0; // type:object size:0x6 data:string -lbl_1_section5_4F6 = .section5:0x000004F6; // type:object size:0x6 data:string -lbl_1_section5_4FC = .section5:0x000004FC; // type:object size:0x6 data:string -lbl_1_section5_502 = .section5:0x00000502; // type:object size:0x8 data:string -lbl_1_section5_50A = .section5:0x0000050A; // type:object size:0x8 data:string -lbl_1_section5_512 = .section5:0x00000512; // type:object size:0xA -lbl_1_section5_51C = .section5:0x0000051C; // type:object size:0x18 -lbl_1_section5_534 = .section5:0x00000534; // type:object size:0xC -lbl_1_section5_540 = .section5:0x00000540; // type:object size:0x48 -lbl_1_section5_588 = .section5:0x00000588; // type:object size:0x4 -lbl_1_section5_58C = .section5:0x0000058C; // type:object size:0x5 data:string -lbl_1_section5_591 = .section5:0x00000591; // type:object size:0x5 data:string -lbl_1_section5_596 = .section5:0x00000596; // type:object size:0x5 data:string -lbl_1_section5_59B = .section5:0x0000059B; // type:object size:0x5 data:string -lbl_1_section5_5A0 = .section5:0x000005A0; // type:object size:0x5 data:string -lbl_1_section5_5A5 = .section5:0x000005A5; // type:object size:0x5 data:string -lbl_1_section5_5AA = .section5:0x000005AA; // type:object size:0x5 data:string -lbl_1_section5_5AF = .section5:0x000005AF; // type:object size:0x5 data:string -lbl_1_section5_5B4 = .section5:0x000005B4; // type:object size:0x8 -lbl_1_section5_5BC = .section5:0x000005BC; // type:object size:0x24 -lbl_1_section5_5E0 = .section5:0x000005E0; // type:object size:0x10 -lbl_1_section5_5F0 = .section5:0x000005F0; // type:object size:0x20 -lbl_1_section5_610 = .section5:0x00000610; // type:object size:0xE data:string -lbl_1_section5_61E = .section5:0x0000061E; // type:object size:0xE data:string -lbl_1_section5_62C = .section5:0x0000062C; // type:object size:0x10 -lbl_1_section5_63C = .section5:0x0000063C; // type:object size:0x3 data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x8 -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 -lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x24 -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 -lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0xC -lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 -lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x2 -lbl_1_bss_52 = .bss:0x00000052; // type:object size:0x18 -lbl_1_bss_6A = .bss:0x0000006A; // type:object size:0x2 -lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 -lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x4 -lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 -lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 -lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x4 -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x30 -lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x2 -lbl_1_bss_B2 = .bss:0x000000B2; // type:object size:0x8 -lbl_1_bss_BA = .bss:0x000000BA; // type:object size:0x8 -lbl_1_bss_C2 = .bss:0x000000C2; // type:object size:0x2 -lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x10 -lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0x10 -lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x10 -lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0x6 -lbl_1_bss_FA = .bss:0x000000FA; // type:object size:0x6 -lbl_1_bss_100 = .bss:0x00000100; // type:object size:0x4 -lbl_1_bss_104 = .bss:0x00000104; // type:object size:0x4 -lbl_1_bss_108 = .bss:0x00000108; // type:object size:0xC -lbl_1_bss_114 = .bss:0x00000114; // type:object size:0x20 -lbl_1_bss_134 = .bss:0x00000134; // type:object size:0x6 -lbl_1_bss_13A = .bss:0x0000013A; // type:object size:0x2 -lbl_1_bss_13C = .bss:0x0000013C; // type:object size:0xD4 -lbl_1_bss_210 = .bss:0x00000210; // type:object size:0x30 -lbl_1_bss_240 = .bss:0x00000240; // type:object size:0x30 -lbl_1_bss_270 = .bss:0x00000270; // type:object size:0x2 -lbl_1_bss_272 = .bss:0x00000272; // type:object size:0x2 -lbl_1_bss_274 = .bss:0x00000274; // type:object size:0x4 -lbl_1_bss_278 = .bss:0x00000278; // type:object size:0x4 -lbl_1_bss_27C = .bss:0x0000027C; // type:object size:0x2 -lbl_1_bss_27E = .bss:0x0000027E; // type:object size:0x2 -lbl_1_bss_280 = .bss:0x00000280; // type:object size:0x2 -lbl_1_bss_282 = .bss:0x00000282; // type:object size:0x6 -lbl_1_bss_288 = .bss:0x00000288; // type:object size:0x4 -lbl_1_bss_28C = .bss:0x0000028C; // type:object size:0x8 -lbl_1_bss_294 = .bss:0x00000294; // type:object size:0x4 -lbl_1_bss_298 = .bss:0x00000298; // type:object size:0x6 -lbl_1_bss_29E = .bss:0x0000029E; // type:object size:0x8 -lbl_1_bss_2A6 = .bss:0x000002A6; // type:object size:0x6 -lbl_1_bss_2AC = .bss:0x000002AC; // type:object size:0x4 -lbl_1_bss_2B0 = .bss:0x000002B0; // type:object size:0x4 -lbl_1_bss_2B4 = .bss:0x000002B4; // type:object size:0xE -lbl_1_bss_2C2 = .bss:0x000002C2; // type:object size:0xE -lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x28 -lbl_1_bss_2F8 = .bss:0x000002F8; // type:object size:0x2 -lbl_1_bss_2FA = .bss:0x000002FA; // type:object size:0x2 -lbl_1_bss_2FC = .bss:0x000002FC; // type:object size:0xC -lbl_1_bss_308 = .bss:0x00000308; // type:object size:0xC -lbl_1_bss_314 = .bss:0x00000314; // type:object size:0x4 -lbl_1_bss_318 = .bss:0x00000318; // type:object size:0x4 -lbl_1_bss_31C = .bss:0x0000031C; // type:object size:0x4 -lbl_1_bss_320 = .bss:0x00000320; // type:object size:0x4 -lbl_1_bss_324 = .bss:0x00000324; // type:object size:0x2 -lbl_1_bss_326 = .bss:0x00000326; // type:object size:0x2 diff --git a/configure b/configure deleted file mode 100644 index 965a9b7f..00000000 --- a/configure +++ /dev/null @@ -1 +0,0 @@ -python3 configure.py "$@" \ No newline at end of file diff --git a/configure.py b/configure.py index 3721f4c9..9386391b 100644 --- a/configure.py +++ b/configure.py @@ -12,14 +12,12 @@ # Append --help to see available options. ### -import argparse import sys -from pathlib import Path -from typing import Any, Dict, List +import argparse +from pathlib import Path from tools.project import ( Object, - ProgressCategory, ProjectConfig, calculate_progress, generate_build, @@ -30,31 +28,29 @@ from tools.project import ( DEFAULT_VERSION = 0 VERSIONS = [ "GMPE01_00", # USA 1.0 - "GMPE01_01", # USA 1.1 - "GMPP01_00", # PAL 1.0 - "GMPP01_02", # PAL 1.2 - "GMPJ01_00", # Japan 1.0 ] +if len(VERSIONS) > 1: + versions_str = ", ".join(VERSIONS[:-1]) + f" or {VERSIONS[-1]}" +else: + versions_str = VERSIONS[0] + parser = argparse.ArgumentParser() parser.add_argument( "mode", - choices=["configure", "progress"], default="configure", - help="script mode (default: configure)", + help="configure or progress (default: configure)", nargs="?", ) parser.add_argument( - "-v", "--version", - choices=VERSIONS, - type=str.upper, + dest="version", default=VERSIONS[DEFAULT_VERSION], - help="version to build", + help=f"version to build ({versions_str})", ) parser.add_argument( "--build-dir", - metavar="DIR", + dest="build_dir", type=Path, default=Path("build"), help="base build directory (default: build)", @@ -67,24 +63,31 @@ parser.add_argument( ) parser.add_argument( "--compilers", - metavar="DIR", + dest="compilers", type=Path, help="path to compilers (optional)", ) parser.add_argument( "--map", + dest="map", action="store_true", help="generate map file(s)", ) +parser.add_argument( + "--no-asm", + action="store_true", + help="don't incorporate .s files from asm directory", +) parser.add_argument( "--debug", + dest="debug", action="store_true", help="build with debug info (non-matching)", ) if not is_windows(): parser.add_argument( "--wrapper", - metavar="BINARY", + dest="wrapper", type=Path, help="path to wibo or wine (optional)", ) @@ -94,20 +97,15 @@ parser.add_argument( type=Path, help="path to decomp-toolkit binary or source (optional)", ) -parser.add_argument( - "--objdiff", - metavar="BINARY | DIR", - type=Path, - help="path to objdiff-cli binary or source (optional)", -) parser.add_argument( "--sjiswrap", - metavar="EXE", + dest="sjiswrap", type=Path, help="path to sjiswrap.exe (optional)", ) parser.add_argument( "--verbose", + dest="verbose", action="store_true", help="print verbose output", ) @@ -117,40 +115,33 @@ parser.add_argument( action="store_true", help="builds equivalent (but non-matching) or modded objects", ) -parser.add_argument( - "--no-progress", - dest="progress", - action="store_false", - help="disable progress calculation", -) args = parser.parse_args() config = ProjectConfig() -config.version = str(args.version) +config.version = args.version.upper() +if config.version not in VERSIONS: + sys.exit(f"Invalid version '{config.version}', expected {versions_str}") version_num = VERSIONS.index(config.version) # Apply arguments config.build_dir = args.build_dir config.dtk_path = args.dtk -config.objdiff_path = args.objdiff config.binutils_path = args.binutils config.compilers_path = args.compilers +config.debug = args.debug config.generate_map = args.map config.non_matching = args.non_matching config.sjiswrap_path = args.sjiswrap -config.progress = args.progress if not is_windows(): config.wrapper = args.wrapper -# Don't build asm unless we're --non-matching -if not config.non_matching: +if args.no_asm: config.asm_dir = None # Tool versions config.binutils_tag = "2.42-1" -config.compilers_tag = "20240706" -config.dtk_tag = "v1.1.4" -config.objdiff_tag = "v2.3.3" -config.sjiswrap_tag = "v1.2.0" +config.compilers_tag = "20231018" +config.dtk_tag = "v0.7.4" +config.sjiswrap_tag = "v1.1.1" config.wibo_tag = "0.6.11" # Project @@ -167,10 +158,6 @@ config.ldflags = [ "-fp hardware", "-nodefaults", ] -if args.debug: - config.ldflags.append("-g") -if args.map: - config.ldflags.append("-mapunused") # Base flags, common to most GC/Wii games. # Generally leave untouched, with overrides added below. @@ -199,11 +186,8 @@ cflags_base = [ "-DMUSY_TARGET=MUSY_TARGET_DOLPHIN", ] -if config.non_matching: - cflags_base.append("-DNON_MATCHING") - # Debug flags -if args.debug: +if config.debug: cflags_base.extend(["-sym on", "-DDEBUG=1"]) else: cflags_base.append("-DNDEBUG=1") @@ -212,25 +196,14 @@ else: cflags_runtime = [ *cflags_base, "-use_lmw_stmw on", - "-str reuse,readonly", + "-str reuse,pool,readonly", "-common off", "-inline auto,deferred", ] -# Dolphin library flags -cflags_dolphin = [ - *cflags_base, - "-fp_contract off", -] - -cflags_thp = [ - *cflags_base, -] - # Metrowerks library flags cflags_msl = [ *cflags_base, - "-char signed", "-use_lmw_stmw on", "-str reuse,pool,readonly", "-common off", @@ -241,18 +214,16 @@ cflags_msl = [ cflags_trk = [ *cflags_base, "-use_lmw_stmw on", - "-str reuse,readonly", + "-str reuse,pool,readonly", "-common off", "-sdata 0", "-sdata2 0", "-inline auto,deferred", - "-enum min", - "-sdatathreshold 0" ] cflags_odemuexi = [ *cflags_base, - "-inline deferred" + "-inline auto,deferred", ] cflags_amcstub = [ @@ -279,24 +250,6 @@ cflags_musyx = [ "-str reuse,pool,readonly", "-fp_contract off", "-DMUSY_TARGET=MUSY_TARGET_DOLPHIN", - "-sym on" -] - -cflags_musyx_debug = [ - "-proc gecko", - "-fp hard", - "-nodefaults", - "-nosyspath", - "-i include", - "-i extern/musyx/include", - "-i libc", - "-g", - "-sym on", - "-D_DEBUG=1", - "-fp hard", - "-enum int", - "-Cpp_exceptions off", - "-DMUSY_TARGET=MUSY_TARGET_DOLPHIN", ] # REL flags @@ -341,18 +294,8 @@ config.rel_empty_file = "REL/empty.c" def DolphinLib(lib_name, objects): return { "lib": lib_name, - "mw_version": "GC/1.2.5n", - "cflags": cflags_dolphin, - "host": False, - "objects": objects, - } - - -def DolphinLibUnpatched(lib_name, objects): - return { - "lib": lib_name, - "mw_version": "GC/1.2.5", - "cflags": cflags_dolphin, + "mw_version": "GC/2.6", + "cflags": cflags_base, "host": False, "objects": objects, } @@ -386,15 +329,8 @@ def Rel(lib_name, objects): } -Matching = True # Object matches and should be linked -NonMatching = False # Object does not match and should not be linked -Equivalent = config.non_matching # Object should be linked when configured with --non-matching - - -# Object is only matching for specific versions -def MatchingFor(*versions): - return config.version in versions - +Matching = True +NonMatching = False config.warn_missing_config = True config.warn_missing_source = False @@ -420,7 +356,7 @@ config.libs = [ Object(Matching, "game/sprman.c"), Object(Matching, "game/sprput.c"), Object(Matching, "game/hsfload.c"), - Object(Equivalent, "game/hsfdraw.c"), + Object(NonMatching, "game/hsfdraw.c"), Object(Matching, "game/hsfman.c"), Object(Matching, "game/hsfmotion.c"), Object(Matching, "game/hsfanim.c"), @@ -453,356 +389,353 @@ config.libs = [ Object(Matching, "game/objsub.c"), Object(Matching, "game/flag.c"), Object(Matching, "game/saveload.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/sreset.c"), + Object(Matching, "game/sreset.c"), Object(Matching, "game/board/main.c"), Object(Matching, "game/board/player.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/model.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/window.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/audio.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/com.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/view.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/space.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/shop.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/lottery.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/basic_space.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/warp.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/char_wheel.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/mushroom.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/star.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/roll.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/ui.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/block.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/item.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/bowser.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/battle.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/fortune.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/boo.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/mg_setup.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/boo_house.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/start.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/last5.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/pause.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/com_path.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/tutorial.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/kerent.c"), + Object(Matching, "game/board/model.c"), + Object(Matching, "game/board/window.c"), + Object(Matching, "game/board/audio.c"), + Object(Matching, "game/board/com.c"), + Object(Matching, "game/board/view.c"), + Object(Matching, "game/board/space.c"), + Object(Matching, "game/board/shop.c"), + Object(Matching, "game/board/lottery.c"), + Object(Matching, "game/board/basic_space.c"), + Object(Matching, "game/board/warp.c"), + Object(Matching, "game/board/char_wheel.c"), + Object(Matching, "game/board/mushroom.c"), + Object(Matching, "game/board/star.c"), + Object(Matching, "game/board/roll.c"), + Object(Matching, "game/board/ui.c"), + Object(Matching, "game/board/block.c"), + Object(Matching, "game/board/item.c"), + Object(Matching, "game/board/bowser.c"), + Object(Matching, "game/board/battle.c"), + Object(Matching, "game/board/fortune.c"), + Object(Matching, "game/board/boo.c"), + Object(Matching, "game/board/mg_setup.c"), + Object(Matching, "game/board/boo_house.c"), + Object(Matching, "game/board/start.c"), + Object(Matching, "game/board/last5.c"), + Object(Matching, "game/board/pause.c"), + Object(Matching, "game/board/com_path.c"), + Object(Matching, "game/board/tutorial.c"), + Object(Matching, "game/kerent.c"), ], }, DolphinLib( "base", [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/PPCArch.c"), + Object(NonMatching, "dolphin/PPCArch.c"), ], ), DolphinLib( "os", [ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "dolphin/os/OS.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSAlarm.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSAlloc.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSArena.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSAudioSystem.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSCache.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSContext.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSError.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSFont.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSInterrupt.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSLink.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSMessage.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSMemory.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSMutex.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSReboot.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSReset.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSResetSW.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSRtc.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSStopwatch.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSSync.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSThread.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/OSTime.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "dolphin/os/__start.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/os/__ppc_eabi_init.c"), + Object(NonMatching, "dolphin/os/OS.c"), + Object(NonMatching, "dolphin/os/OSAlarm.c"), + Object(NonMatching, "dolphin/os/OSAlloc.c"), + Object(NonMatching, "dolphin/os/OSArena.c"), + Object(NonMatching, "dolphin/os/OSAudioSystem.c"), + Object(NonMatching, "dolphin/os/OSCache.c"), + Object(NonMatching, "dolphin/os/OSContext.c"), + Object(NonMatching, "dolphin/os/OSError.c"), + Object(NonMatching, "dolphin/os/OSFont.c"), + Object(NonMatching, "dolphin/os/OSInterrupt.c"), + Object(NonMatching, "dolphin/os/OSLink.c"), + Object(NonMatching, "dolphin/os/OSMessage.c"), + Object(NonMatching, "dolphin/os/OSMemory.c"), + Object(NonMatching, "dolphin/os/OSMutex.c"), + Object(NonMatching, "dolphin/os/OSReboot.c"), + Object(NonMatching, "dolphin/os/OSReset.c"), + Object(NonMatching, "dolphin/os/OSResetSW.c"), + Object(NonMatching, "dolphin/os/OSRtc.c"), + Object(NonMatching, "dolphin/os/OSStopwatch.c"), + Object(NonMatching, "dolphin/os/OSSync.c"), + Object(NonMatching, "dolphin/os/OSThread.c"), + Object(NonMatching, "dolphin/os/OSTime.c"), + Object(NonMatching, "dolphin/os/__start.c"), + Object(NonMatching, "dolphin/os/__ppc_eabi_init.c"), ], ), DolphinLib( "db", [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/db.c"), + Object(NonMatching, "dolphin/db.c"), ], ), - DolphinLibUnpatched( + DolphinLib( "mtx", [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/mtx/mtx.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/mtx/mtxvec.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/mtx/mtx44.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/mtx/vec.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/mtx/quat.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/mtx/psmtx.c"), + Object(NonMatching, "dolphin/mtx/mtx.c"), + Object(NonMatching, "dolphin/mtx/mtxvec.c"), + Object(NonMatching, "dolphin/mtx/mtx44.c"), + Object(NonMatching, "dolphin/mtx/vec.c"), + Object(NonMatching, "dolphin/mtx/quat.c"), + Object(NonMatching, "dolphin/mtx/psmtx.c"), ], ), DolphinLib( "dvd", [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/dvd/dvdlow.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/dvd/dvdfs.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/dvd/dvd.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/dvd/dvdqueue.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/dvd/dvderror.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/dvd/fstload.c"), + Object(NonMatching, "dolphin/dvd/dvdlow.c"), + Object(NonMatching, "dolphin/dvd/dvdfs.c"), + Object(NonMatching, "dolphin/dvd/dvd.c"), + Object(NonMatching, "dolphin/dvd/dvdqueue.c"), + Object(NonMatching, "dolphin/dvd/dvderror.c"), + Object(NonMatching, "dolphin/dvd/fstload.c"), ], ), DolphinLib( "vi", [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/vi.c"), + Object(NonMatching, "dolphin/vi.c"), ], ), DolphinLib( "demo", [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/demo/DEMOInit.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/demo/DEMOFont.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/demo/DEMOPuts.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/demo/DEMOStats.c"), + Object(NonMatching, "dolphin/demo/DEMOInit.c"), + Object(NonMatching, "dolphin/demo/DEMOFont.c"), + Object(NonMatching, "dolphin/demo/DEMOPuts.c"), + Object(NonMatching, "dolphin/demo/DEMOStats.c"), ], ), DolphinLib( "pad", [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/pad/Padclamp.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/pad/Pad.c"), + Object(NonMatching, "dolphin/pad/Padclamp.c"), + Object(NonMatching, "dolphin/pad/Pad.c"), ], ), DolphinLib( "ai", [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/ai.c"), + Object(NonMatching, "dolphin/ai.c"), ], ), DolphinLib( "ar", [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/ar/ar.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/ar/arq.c"), + Object(NonMatching, "dolphin/ar/ar.c"), + Object(NonMatching, "dolphin/ar/arq.c"), ], ), DolphinLib( "dsp", [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/dsp/dsp.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/dsp/dsp_debug.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/dsp/dsp_task.c"), + Object(NonMatching, "dolphin/dsp/dsp.c"), + Object(NonMatching, "dolphin/dsp/dsp_debug.c"), + Object(NonMatching, "dolphin/dsp/dsp_task.c"), ], ), DolphinLib( "gx", [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/gx/GXInit.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/gx/GXFifo.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/gx/GXAttr.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/gx/GXMisc.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/gx/GXGeometry.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/gx/GXFrameBuf.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/gx/GXLight.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/gx/GXTexture.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/gx/GXBump.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/gx/GXTev.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/gx/GXPixel.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/gx/GXStubs.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/gx/GXDisplayList.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/gx/GXTransform.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/gx/GXPerf.c"), + Object(NonMatching, "dolphin/gx/GXInit.c"), + Object(NonMatching, "dolphin/gx/GXFifo.c"), + Object(NonMatching, "dolphin/gx/GXAttr.c"), + Object(NonMatching, "dolphin/gx/GXMisc.c"), + Object(NonMatching, "dolphin/gx/GXGeometry.c"), + Object(NonMatching, "dolphin/gx/GXFrameBuf.c"), + Object(NonMatching, "dolphin/gx/GXLight.c"), + Object(NonMatching, "dolphin/gx/GXTexture.c"), + Object(NonMatching, "dolphin/gx/GXBump.c"), + Object(NonMatching, "dolphin/gx/GXTev.c"), + Object(NonMatching, "dolphin/gx/GXPixel.c"), + Object(NonMatching, "dolphin/gx/GXStubs.c"), + Object(NonMatching, "dolphin/gx/GXDisplayList.c"), + Object(NonMatching, "dolphin/gx/GXTransform.c"), + Object(NonMatching, "dolphin/gx/GXPerf.c"), ], ), DolphinLib( "card", [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/card/CARDBios.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/card/CARDUnlock.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/card/CARDRdwr.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/card/CARDBlock.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/card/CARDDir.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/card/CARDCheck.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/card/CARDMount.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/card/CARDFormat.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/card/CARDOpen.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/card/CARDCreate.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/card/CARDRead.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/card/CARDWrite.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/card/CARDDelete.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/card/CARDStat.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/card/CARDNet.c"), + Object(NonMatching, "dolphin/card/CARDBios.c"), + Object(NonMatching, "dolphin/card/CARDUnlock.c"), + Object(NonMatching, "dolphin/card/CARDRdwr.c"), + Object(NonMatching, "dolphin/card/CARDBlock.c"), + Object(NonMatching, "dolphin/card/CARDDir.c"), + Object(NonMatching, "dolphin/card/CARDCheck.c"), + Object(NonMatching, "dolphin/card/CARDMount.c"), + Object(NonMatching, "dolphin/card/CARDFormat.c"), + Object(NonMatching, "dolphin/card/CARDOpen.c"), + Object(NonMatching, "dolphin/card/CARDCreate.c"), + Object(NonMatching, "dolphin/card/CARDRead.c"), + Object(NonMatching, "dolphin/card/CARDWrite.c"), + Object(NonMatching, "dolphin/card/CARDDelete.c"), + Object(NonMatching, "dolphin/card/CARDStat.c"), + Object(NonMatching, "dolphin/card/CARDNet.c"), ], ), DolphinLib( "exi", [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/exi/EXIBios.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/exi/EXIUart.c"), + Object(NonMatching, "dolphin/exi/EXIBios.c"), + Object(NonMatching, "dolphin/exi/EXIUart.c"), ], ), DolphinLib( "si", [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/si/SIBios.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/si/SISamplingRate.c"), + Object(NonMatching, "dolphin/si/SIBios.c"), + Object(NonMatching, "dolphin/si/SISamplingRate.c"), ], ), - { - "lib": "thp", - "mw_version": "GC/1.2.5", - "cflags": cflags_thp, - "host": False, - "objects": [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/thp/THPDec.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "dolphin/thp/THPAudio.c"), + DolphinLib( + "thp", + [ + Object(NonMatching, "dolphin/thp/THPDec.c"), + Object(NonMatching, "dolphin/thp/THPAudio.c"), ], - }, + ), { "lib": "Runtime.PPCEABI.H", "mw_version": config.linker_version, "cflags": cflags_runtime, "host": False, "objects": [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "Runtime.PPCEABI.H/__va_arg.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "Runtime.PPCEABI.H/global_destructor_chain.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "Runtime.PPCEABI.H/__mem.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "Runtime.PPCEABI.H/New.cp", extra_cflags=["-Cpp_exceptions on"]), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "Runtime.PPCEABI.H/NewMore.cp", extra_cflags=["-Cpp_exceptions on", "-RTTI on"]), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "Runtime.PPCEABI.H/NMWException.cpp", extra_cflags=["-Cpp_exceptions on"]), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "Runtime.PPCEABI.H/runtime.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "Runtime.PPCEABI.H/__init_cpp_exceptions.cpp"), - Object(NonMatching, "Runtime.PPCEABI.H/Gecko_ExceptionPPC.cpp", extra_cflags=["-Cpp_exceptions on", "-RTTI on"]), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "Runtime.PPCEABI.H/GCN_mem_alloc.c"), + Object(NonMatching, "Runtime.PPCEABI.H/__va_arg.c"), + Object(Matching, "Runtime.PPCEABI.H/global_destructor_chain.c"), + Object(NonMatching, "Runtime.PPCEABI.H/__mem.c"), + Object(NonMatching, "Runtime.PPCEABI.H/New.cp"), + Object(NonMatching, "Runtime.PPCEABI.H/NewMore.cp"), + Object(NonMatching, "Runtime.PPCEABI.H/NMWException.cp"), + Object(NonMatching, "Runtime.PPCEABI.H/runtime.c"), + Object(Matching, "Runtime.PPCEABI.H/__init_cpp_exceptions.cpp"), + Object(NonMatching, "Runtime.PPCEABI.H/Gecko_ExceptionPPC.cp"), + Object(NonMatching, "Runtime.PPCEABI.H/GCN_mem_alloc.c"), ], }, { "lib": "MSL_C.PPCEABI.bare.H", - "mw_version": "GC/1.3", + "mw_version": config.linker_version, "cflags": cflags_msl, "host": False, "objects": [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/abort_exit.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/alloc.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/errno.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/ansi_files.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/ansi_fp.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/arith.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/buffer_io.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/ctype.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/direct_io.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/file_io.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/FILE_POS.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/mbstring.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/mem.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/mem_funcs.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/misc_io.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/printf.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/float.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/signal.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/string.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/uart_console_io.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/wchar_io.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/e_acos.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/e_asin.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/e_atan2.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/e_fmod.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/e_pow.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/e_rem_pio2.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/k_cos.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/k_rem_pio2.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/k_sin.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/k_tan.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/s_atan.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/s_copysign.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/s_cos.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/s_floor.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/s_frexp.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/s_ldexp.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/s_modf.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/s_sin.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/s_tan.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/w_acos.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/w_asin.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/w_atan2.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/w_fmod.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/w_pow.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "MSL_C.PPCEABI.bare.H/math_ppc.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/abort_exit.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/alloc.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/errno.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/ansi_files.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/ansi_fp.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/arith.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/buffer_io.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/ctype.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/direct_io.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/file_io.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/FILE_POS.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/mbstring.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/mem.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/mem_funcs.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/misc_io.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/printf.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/float.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/signal.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/string.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/uart_console_io.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/wchar_io.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/e_acos.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/e_asin.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/e_atan2.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/e_fmod.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/e_pow.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/e_rem_pio2.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/k_cos.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/k_rem_pio2.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/k_sin.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/k_tan.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_atan.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_copysign.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_cos.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_floor.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_frexp.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_ldexp.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_modf.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_sin.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_tan.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/w_acos.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/w_asin.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/w_atan2.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/w_fmod.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/w_pow.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/math_ppc.c"), ], }, { "lib": "TRK_MINNOW_DOLPHIN", - "mw_version": "GC/1.3", + "mw_version": config.linker_version, "cflags": cflags_trk, "host": False, "objects": [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/mainloop.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/nubevent.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/nubinit.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/msg.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/msgbuf.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/serpoll.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/usr_put.c", mw_version="GC/1.3.2"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/dispatch.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/msghndlr.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/support.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/mutex_TRK.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/notify.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/flush_cache.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/mem_TRK.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/targimpl.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/targsupp.s"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/__exception.s"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/dolphin_trk.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/mpc_7xx_603e.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/main_TRK.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/dolphin_trk_glue.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/targcont.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/target_options.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/mslsupp.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/mainloop.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/nubevent.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/nubinit.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/msg.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/msgbuf.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/serpoll.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/usrput.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/dispatch.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/msghndlr.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/support.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/mutex_TRK.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/notify.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/flush_cache.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/mem_TRK.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/targimpl.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/targsupp.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/__exception.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/dolphin_trk.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/mpc_7xx_603e.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/main_TRK.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/dolphin_trk_glue.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/targcont.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/target_options.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/mslsupp.c"), ], }, MusyX( objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/seq.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/synth.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/seq_api.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/snd_synthapi.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/stream.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/synthdata.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/synthmacros.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/synthvoice.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/synth_ac.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/synth_dbtab.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/synth_adsr.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/synth_vsamples.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/s_data.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/hw_dspctrl.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/hw_volconv.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/snd3d.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/snd_init.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/snd_math.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/snd_midictrl.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/snd_service.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/hardware.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/dsp_import.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/hw_aramdma.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/hw_dolphin.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/hw_memory.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/CheapReverb/creverb_fx.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/CheapReverb/creverb.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/StdReverb/reverb_fx.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/StdReverb/reverb.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/Delay/delay_fx.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "musyx/runtime/Chorus/chorus_fx.c"), + Object(Matching, "musyx/runtime/seq.c"), + Object(Matching, "musyx/runtime/synth.c"), + Object(Matching, "musyx/runtime/seq_api.c"), + Object(Matching, "musyx/runtime/snd_synthapi.c"), + Object(NonMatching, "musyx/runtime/stream.c"), + Object(Matching, "musyx/runtime/synthdata.c"), + Object(NonMatching, "musyx/runtime/synthmacros.c"), + Object(Matching, "musyx/runtime/synthvoice.c"), + Object(Matching, "musyx/runtime/synth_ac.c"), + Object(Matching, "musyx/runtime/synth_dbtab.c"), + Object(Matching, "musyx/runtime/synth_adsr.c"), + Object(NonMatching, "musyx/runtime/synth_vsamples.c"), + Object(Matching, "musyx/runtime/s_data.c"), + Object(NonMatching, "musyx/runtime/hw_dspctrl.c"), + Object(Matching, "musyx/runtime/hw_volconv.c"), + Object(Matching, "musyx/runtime/snd3d.c"), + Object(Matching, "musyx/runtime/snd_init.c"), + Object(Matching, "musyx/runtime/snd_math.c"), + Object(NonMatching, "musyx/runtime/snd_midictrl.c"), + Object(Matching, "musyx/runtime/snd_service.c"), + Object(Matching, "musyx/runtime/hardware.c"), + Object(Matching, "musyx/runtime/dsp_import.c"), + Object(Matching, "musyx/runtime/hw_aramdma.c"), + Object(Matching, "musyx/runtime/hw_dolphin.c"), + Object(Matching, "musyx/runtime/hw_memory.c"), + Object(Matching, "musyx/runtime/CheapReverb/creverb_fx.c"), + Object(Matching, "musyx/runtime/CheapReverb/creverb.c"), + Object(Matching, "musyx/runtime/StdReverb/reverb_fx.c"), + Object(Matching, "musyx/runtime/StdReverb/reverb.c"), + Object(Matching, "musyx/runtime/Delay/delay_fx.c"), + Object(Matching, "musyx/runtime/Chorus/chorus_fx.c"), } ), { "lib": "OdemuExi2", - "mw_version": "GC/1.2.5" if version_num == 0 else "GC/1.2.5n", + "mw_version": config.linker_version, "cflags": cflags_odemuexi, "host": False, "objects": [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "OdemuExi2/DebuggerDriver.c"), + Object(NonMatching, "OdemuExi2/DebuggerDriver.c"), ], }, { @@ -811,7 +744,7 @@ config.libs = [ "cflags": cflags_amcstub, "host": False, "objects": [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "amcstubs/AmcExi2Stubs.c"), + Object(NonMatching, "amcstubs/AmcExi2Stubs.c"), ], }, { @@ -820,7 +753,7 @@ config.libs = [ "cflags": cflags_odenotstub, "host": False, "objects": [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "odenotstub/odenotstub.c"), + Object(NonMatching, "odenotstub/odenotstub.c"), ], }, { @@ -829,22 +762,22 @@ config.libs = [ "cflags": cflags_libhu, "host": False, "objects": [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "libhu/setvf.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "libhu/subvf.c"), + Object(NonMatching, "libhu/setvf.c"), + Object(NonMatching, "libhu/subvf.c"), ], }, { "lib": "msm", - "mw_version": "GC/1.2.5", + "mw_version": "GC/1.2.5n", "cflags": cflags_msm, "host": False, "objects": [ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "msm/msmsys.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "msm/msmmem.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "msm/msmfio.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "msm/msmmus.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "msm/msmse.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "msm/msmstream.c"), + Object(NonMatching, "msm/msmsys.c"), + Object(Matching, "msm/msmmem.c"), + Object(Matching, "msm/msmfio.c"), + Object(NonMatching, "msm/msmmus.c"), + Object(NonMatching, "msm/msmse.c"), + Object(NonMatching, "msm/msmstream.c"), ], }, { @@ -855,41 +788,45 @@ config.libs = [ "objects": [ Object(Matching, "REL/executor.c"), Object(Matching, "REL/empty.c"), # Must be marked as matching - Object(Matching, "REL/board_executor.c"), ], }, Rel( "_minigameDLL", objects={ + Object(Matching, "REL/executor.c"), Object(Matching, "REL/_minigameDLL/_minigameDLL.c"), }, ), Rel( "bootDll", objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/bootDll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/bootDll/language.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/bootDll/main.c"), + Object(Matching, "REL/bootDll/nintendo_data.c"), }, ), Rel( "E3setupDLL", objects={ Object(Matching, "REL/E3setupDLL/mgselect.c"), + Object(Matching, "REL/executor.c"), Object(Matching, "REL/E3setupDLL/main.c"), }, ), Rel( "instDll", objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/instDll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/instDll/font.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/instDll/main.c"), + Object(NonMatching, "REL/instDll/font.c"), }, ), Rel( "m401Dll", # Manta Rings objects={ + Object(Matching, "REL/executor.c"), Object(Matching, "REL/m401Dll/main.c"), - Object(Matching, "REL/m401Dll/main_ex.c"), + Object(NonMatching, "REL/m401Dll/main_ex.c"), }, ), Rel( @@ -901,195 +838,218 @@ config.libs = [ Rel( "m403Dll", # Booksquirm objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m403Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m403Dll/scene.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/m403Dll/main.c"), + Object(Matching, "REL/m403Dll/scene.c"), }, ), Rel( "m404Dll", # Trace Race objects={ + Object(Matching, "REL/executor.c"), Object(Matching, "REL/m404Dll/main.c"), }, ), Rel( "m405Dll", # Mario Medley objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m405Dll/main.c"), + Object(Matching, "REL/m405Dll/main.c"), }, ), Rel( "m406Dll", # Avalanche! objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m406Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m406Dll/map.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m406Dll/player.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/m406Dll/main.c"), + Object(Matching, "REL/m406Dll/map.c"), + Object(Matching, "REL/m406Dll/player.c"), }, ), Rel( "m407dll", # Domination objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m407dll/player.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m407dll/map.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m407dll/camera.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m407dll/whomp.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m407dll/whomp_score.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m407dll/effect.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m407dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m407dll/score.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/m407dll/player.c"), + Object(Matching, "REL/m407dll/map.c"), + Object(Matching, "REL/m407dll/camera.c"), + Object(Matching, "REL/m407dll/whomp.c"), + Object(Matching, "REL/m407dll/whomp_score.c"), + Object(Matching, "REL/m407dll/effect.c"), + Object(Matching, "REL/m407dll/main.c"), + Object(Matching, "REL/m407dll/score.c"), }, ), Rel( "m408Dll", # Paratrooper Plunge objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m408Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m408Dll/camera.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m408Dll/stage.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m408Dll/object.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/m408Dll/main.c"), + Object(Matching, "REL/m408Dll/camera.c"), + Object(Matching, "REL/m408Dll/stage.c"), + Object(Matching, "REL/m408Dll/object.c"), }, ), Rel( "m409Dll", # Toad's Quick Draw objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m409Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m409Dll/player.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m409Dll/cursor.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/m409Dll/main.c"), + Object(Matching, "REL/m409Dll/player.c"), + Object(Matching, "REL/m409Dll/cursor.c"), }, ), Rel( "m410Dll", # Three Throw objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m410Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m410Dll/stage.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m410Dll/game.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m410Dll/player.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/m410Dll/main.c"), + Object(Matching, "REL/m410Dll/stage.c"), + Object(Matching, "REL/m410Dll/game.c"), + Object(Matching, "REL/m410Dll/player.c"), }, ), Rel( "m411Dll", # Photo Finish objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m411Dll/main.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/m411Dll/main.c"), }, ), Rel( "m412Dll", # Mr. Blizzard's Brigade objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m412Dll/main.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m412Dll/main.c"), }, ), Rel( "m413Dll", # Bob-omb Breakers objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m413Dll/main.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m413Dll/main.c"), }, ), Rel( "m414Dll", # Long Claw of the Law objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m414Dll/main.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/m414Dll/main.c"), }, ), Rel( "m415Dll", # Stamp Out! objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m415Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m415Dll/map.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m415Dll/main.c"), + Object(NonMatching, "REL/m415Dll/map.c"), }, ), Rel( "m416Dll", # Candlelight Flight objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m416Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m416Dll/map.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/m416Dll/main.c"), + Object(Matching, "REL/m416Dll/map.c"), }, ), Rel( "m417Dll", # Makin' Waves objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m417Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m417Dll/water.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m417Dll/player.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m417Dll/sequence.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/m417Dll/main.c"), + Object(Matching, "REL/m417Dll/water.c"), + Object(Matching, "REL/m417Dll/player.c"), + Object(Matching, "REL/m417Dll/sequence.c"), }, ), Rel( "m418Dll", # Hide and Go BOOM! objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m418Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m418Dll/sequence.c"), + Object(NonMatching, "REL/m418Dll/main.c"), + Object(NonMatching, "REL/m418Dll/sequence.c"), }, ), Rel( "m419Dll", # Tree Stomp objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m419Dll/main.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m419Dll/main.c"), }, ), Rel( "m420dll", # Fish n' Drips objects={ - Object(Matching, "REL/m420dll/main.c"), - Object(Matching, "REL/m420dll/camera.c"), - Object(Matching, "REL/m420dll/player.c"), - Object(Matching, "REL/m420dll/map.c"), - Object(Matching, "REL/m420dll/rand.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m420dll/main.c"), + Object(NonMatching, "REL/m420dll/player.c"), + Object(NonMatching, "REL/m420dll/map.c"), + Object(NonMatching, "REL/m420dll/rand.c"), }, ), Rel( "m421Dll", # Hop or Pop objects={ - Object(Matching, "REL/m421Dll/main.c"), - Object(Matching, "REL/m421Dll/player.c"), - Object(Matching, "REL/m421Dll/map.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m421Dll/main.c"), + Object(NonMatching, "REL/m421Dll/player.c"), + Object(NonMatching, "REL/m421Dll/map.c"), }, ), Rel( "m422Dll", # Money Belts objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m422Dll/main.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m422Dll/main.c"), }, ), Rel( "m423Dll", # GOOOOOOOAL!! objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m423Dll/main.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m423Dll/main.c"), }, ), Rel( "m424Dll", # Blame it on the Crane objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m424Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m424Dll/map.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m424Dll/ball.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m424Dll/claw.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m424Dll/main.c"), + Object(NonMatching, "REL/m424Dll/map.c"), + Object(NonMatching, "REL/m424Dll/ball.c"), + Object(NonMatching, "REL/m424Dll/claw.c"), }, ), Rel( "m425Dll", # The Great Deflate objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m425Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m425Dll/thwomp.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m425Dll/main.c"), + Object(NonMatching, "REL/m425Dll/thwomp.c"), }, ), Rel( "m426Dll", # Revers-a-Bomb objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/m426Dll/main.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m426Dll/main.c"), }, ), Rel( "m427Dll", # Right Oar Left? objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m427Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m427Dll/map.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m427Dll/player.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m427Dll/main.c"), + Object(NonMatching, "REL/m427Dll/map.c"), + Object(NonMatching, "REL/m427Dll/player.c"), }, ), Rel( "m428Dll", # Cliffhangers objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m428Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m428Dll/map.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m428Dll/player.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m428Dll/main.c"), + Object(NonMatching, "REL/m428Dll/map.c"), + Object(NonMatching, "REL/m428Dll/player.c"), }, ), Rel( @@ -1101,14 +1061,16 @@ config.libs = [ Rel( "m430Dll", # Pair-a-sailing objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m430Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m430Dll/water.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m430Dll/player.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m430Dll/main.c"), + Object(NonMatching, "REL/m430Dll/water.c"), + Object(NonMatching, "REL/m430Dll/player.c"), }, ), Rel( "m431Dll", # Order Up objects={ + Object(Matching, "REL/executor.c"), Object(Matching, "REL/m431Dll/main.c"), Object(Matching, "REL/m431Dll/object.c"), }, @@ -1116,64 +1078,69 @@ config.libs = [ Rel( "m432Dll", # Dungeon Duos objects={ - Object(Matching, "REL/m432Dll/main.c"), + Object(NonMatching, "REL/m432Dll/main.c"), }, ), Rel( "m433Dll", # Beach Volley Folly objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m433Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m433Dll/map.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m433Dll/player.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m433Dll/main.c"), + Object(NonMatching, "REL/m433Dll/map.c"), + Object(NonMatching, "REL/m433Dll/player.c"), }, ), Rel( "m434Dll", # Cheep Cheep Sweep objects={ + Object(Matching, "REL/executor.c"), Object(Matching, "REL/m434Dll/main.c"), Object(Matching, "REL/m434Dll/map.c"), - Object(Matching, "REL/m434Dll/player.c"), + Object(NonMatching, "REL/m434Dll/player.c"), Object(Matching, "REL/m434Dll/fish.c"), }, ), Rel( "m435Dll", # Darts of Doom objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m435Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m435Dll/sequence.c"), + Object(NonMatching, "REL/m435Dll/main.c"), + Object(NonMatching, "REL/m435Dll/sequence.c"), }, ), Rel( "m436Dll", # Fruits of Doom objects={ - Object(Matching, "REL/m436Dll/main.c"), - Object(Matching, "REL/m436Dll/sequence.c"), + Object(NonMatching, "REL/m436Dll/main.c"), + Object(NonMatching, "REL/m436Dll/sequence.c"), }, ), Rel( "m437Dll", # Balloon of Doom objects={ - Object(Matching, "REL/m437Dll/main.c"), - Object(Matching, "REL/m437Dll/sequence.c"), + Object(NonMatching, "REL/m437Dll/main.c"), + Object(NonMatching, "REL/m437Dll/sequence.c"), }, ), Rel( "m438Dll", # Chain Chomp Fever objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m438Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m438Dll/map.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m438Dll/fire.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m438Dll/main.c"), + Object(NonMatching, "REL/m438Dll/map.c"), + Object(NonMatching, "REL/m438Dll/fire.c"), }, ), Rel( "m439Dll", # Paths of Peril objects={ + Object(Matching, "REL/executor.c"), Object(Matching, "REL/m439Dll/main.c"), }, ), Rel( "m440Dll", # Bowser's Bigger Blast objects={ + Object(Matching, "REL/executor.c"), Object(Matching, "REL/m440Dll/main.c"), Object(Matching, "REL/m440Dll/object.c"), }, @@ -1187,177 +1154,197 @@ config.libs = [ Rel( "m442Dll", # Barrel Baron objects={ + Object(Matching, "REL/executor.c"), Object(Matching, "REL/m442Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m442Dll/score.c"), + Object(Matching, "REL/m442Dll/score.c"), }, ), Rel( "m443Dll", # Mario Speedwagons objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m443Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m443Dll/map.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m443Dll/player.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m443Dll/main.c"), + Object(NonMatching, "REL/m443Dll/map.c"), + Object(NonMatching, "REL/m443Dll/player.c"), }, ), Rel( "m444dll", # Reversal of Fortune objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m444dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m444dll/pinball.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m444dll/datalist.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m444dll/shadow.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m444dll/main.c"), + Object(Matching, "REL/m444dll/pinball.c"), + Object(Matching, "REL/m444dll/datalist.c"), + Object(NonMatching, "REL/m444dll/shadow.c"), }, ), Rel( "m445Dll", # Bowser Bop objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m445Dll/main.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m445Dll/main.c"), }, ), Rel( "m446dll", # Mystic Match 'Em objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m446Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m446Dll/card.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m446Dll/deck.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m446Dll/table.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m446Dll/player.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m446Dll/camera.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m446Dll/cursor.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m446Dll/stage.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/m446Dll/main.c"), + Object(Matching, "REL/m446Dll/card.c"), + Object(Matching, "REL/m446Dll/deck.c"), + Object(Matching, "REL/m446Dll/table.c"), + Object(Matching, "REL/m446Dll/player.c"), + Object(Matching, "REL/m446Dll/camera.c"), + Object(Matching, "REL/m446Dll/cursor.c"), + Object(Matching, "REL/m446Dll/stage.c"), }, ), Rel( "m447dll", # Archaeologuess objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m447dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m447dll/stage.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m447dll/camera.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m447dll/player.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m447dll/player_col.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m447dll/block.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m447dll/main.c"), + Object(NonMatching, "REL/m447dll/stage.c"), + Object(NonMatching, "REL/m447dll/camera.c"), + Object(NonMatching, "REL/m447dll/player.c"), + Object(NonMatching, "REL/m447dll/player_col.c"), + Object(NonMatching, "REL/m447dll/block.c"), }, ), Rel( "m448Dll", # Goomba's Chip Flip objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m448Dll/main.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m448Dll/main.c"), }, ), Rel( "m449Dll", # Kareening Koopa objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m449Dll/main.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m449Dll/main.c"), }, ), Rel( "m450Dll", # The Final Battle! objects={ - Object(Matching, "REL/m450Dll/main.c"), + Object(NonMatching, "REL/m450Dll/main.c"), }, ), Rel( "m451Dll", # Jigsaw Jitters objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m451Dll/m451.c"), + Object(Matching, "REL/m451Dll/m451.c"), }, ), Rel( "m453Dll", # Challenge Booksquirm objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m453Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m453Dll/map.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m453Dll/score.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m453Dll/main.c"), + Object(NonMatching, "REL/m453Dll/map.c"), + Object(NonMatching, "REL/m453Dll/score.c"), }, ), Rel( "m455Dll", # Rumble Fishing objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m455Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m455Dll/stage.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m455Dll/main.c"), + Object(NonMatching, "REL/m455Dll/stage.c"), }, ), Rel( "m456Dll", # Take a Breather objects={ - Object(Matching, "REL/m456Dll/main.c"), - Object(Matching, "REL/m456Dll/stage.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m456Dll/main.c"), + Object(NonMatching, "REL/m456Dll/stage.c"), }, ), Rel( "m457Dll", # Bowser Wrestling objects={ - Object(Matching, "REL/m457Dll/main.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m457Dll/main.c"), }, ), Rel( "m458Dll", # Panels of Doom objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m458Dll/main.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m458Dll/main.c"), }, ), Rel( "m459dll", # Mushroom Medic objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m459dll/main.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m459dll/main.c"), }, ), Rel( "m460Dll", # Doors of Doom objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m460Dll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m460Dll/player.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m460Dll/map.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m460Dll/score.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m460Dll/main.c"), + Object(NonMatching, "REL/m460Dll/player.c"), + Object(NonMatching, "REL/m460Dll/map.c"), + Object(NonMatching, "REL/m460Dll/score.c"), }, ), Rel( "m461Dll", # Bob-omb X-ing objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/m461Dll/main.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m461Dll/main.c"), }, ), Rel( "m462Dll", # Goomba Stomp objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m462Dll/main.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m462Dll/main.c"), }, ), Rel( "m463Dll", # Panel Panic 9 Player objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m463Dll/main.c"), + Object(NonMatching, "REL/m463Dll/main.c"), }, ), Rel( "mentDll", objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/mentDll/common.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/mentDll/main.c"), + Object(NonMatching, "REL/mentDll/common.c"), + Object(NonMatching, "REL/mentDll/main.c"), }, ), Rel( "messDll", objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/messDll/main.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/messDll/main.c"), }, ), Rel( "mgmodedll", objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/mgmodedll/mgmode.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/mgmodedll/free_play.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/mgmodedll/record.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/mgmodedll/battle.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/mgmodedll/tictactoe.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/mgmodedll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/mgmodedll/datalist.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/mgmodedll/minigame.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/mgmodedll/mgmode.c"), + Object(NonMatching, "REL/mgmodedll/free_play.c"), + Object(NonMatching, "REL/mgmodedll/record.c"), + Object(NonMatching, "REL/mgmodedll/battle.c"), + Object(NonMatching, "REL/mgmodedll/tictactoe.c"), + Object(NonMatching, "REL/mgmodedll/main.c"), + Object(Matching, "REL/mgmodedll/datalist.c"), + Object(Matching, "REL/mgmodedll/minigame.c"), }, ), Rel( "modeltestDll", objects={ + Object(Matching, "REL/executor.c"), Object(Matching, "REL/modeltestDll/main.c"), Object(Matching, "REL/modeltestDll/modeltest00.c"), Object(Matching, "REL/modeltestDll/modeltest01.c"), @@ -1366,83 +1353,80 @@ config.libs = [ Rel( "modeseldll", objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/modeseldll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/modeseldll/modesel.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/modeseldll/filesel.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/modeseldll/datalist.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/modeseldll/main.c"), + Object(NonMatching, "REL/modeseldll/modesel.c"), + Object(Matching, "REL/modeseldll/filesel.c"), + Object(Matching, "REL/modeseldll/datalist.c"), }, ), Rel( "mpexDll", objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/mpexDll/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/mpexDll/mpex.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/mpexDll/charsel.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/mpexDll/mgname.c"), + Object(NonMatching, "REL/mpexDll/main.c"), + Object(NonMatching, "REL/mpexDll/mpex.c"), + Object(NonMatching, "REL/mpexDll/charsel.c"), + Object(NonMatching, "REL/mpexDll/mgname.c"), }, ), Rel( "mstory2Dll", objects={ - Object(Matching, "REL/mstory2Dll/main.c"), - Object(Matching, "REL/mstory2Dll/board_entrance.c"), - Object(Matching, "REL/mstory2Dll/board_clear.c"), - Object(Matching, "REL/mstory2Dll/board_miss.c"), - Object(Matching, "REL/mstory2Dll/mg_clear.c"), - Object(Matching, "REL/mstory2Dll/mg_miss.c"), - Object(Matching, "REL/mstory2Dll/ending.c"), - Object(Matching, "REL/mstory2Dll/save.c"), + Object(NonMatching, "REL/mstory2Dll/main.c"), + Object(NonMatching, "REL/mstory2Dll/board_entrance.c"), + Object(NonMatching, "REL/mstory2Dll/board_clear.c"), + Object(NonMatching, "REL/mstory2Dll/board_miss.c"), + Object(NonMatching, "REL/mstory2Dll/mg_clear.c"), + Object(NonMatching, "REL/mstory2Dll/mg_miss.c"), + Object(NonMatching, "REL/mstory2Dll/ending.c"), + Object(NonMatching, "REL/mstory2Dll/save.c"), }, ), Rel( "mstory3Dll", objects={ - Object(Matching, "REL/mstory3Dll/main.c"), - Object(Matching, "REL/mstory3Dll/result_seq.c"), - Object(Matching, "REL/mstory3Dll/result.c"), - Object(Matching, "REL/mstory3Dll/win_effect.c"), + Object(NonMatching, "REL/mstory3Dll/main.c"), + Object(NonMatching, "REL/mstory3Dll/result_seq.c"), + Object(NonMatching, "REL/mstory3Dll/result.c"), + Object(NonMatching, "REL/mstory3Dll/win_effect.c"), }, ), Rel( "mstory4Dll", objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/mstory4Dll/main.c"), + Object(Matching, "REL/mstory4Dll/main.c"), }, ), Rel( "mstoryDll", objects={ - Object(Matching, "REL/mstoryDll/main.c"), - Object(Matching, "REL/mstoryDll/board_clear.c"), - Object(Matching, "REL/mstoryDll/board_miss.c"), - Object(Matching, "REL/mstoryDll/mg_clear.c"), - Object(Matching, "REL/mstoryDll/mg_miss.c"), - Object(Matching, "REL/mstoryDll/save.c"), - }, - ), - Rel( - "nisDll", - objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/nisDll/main.c") + Object(NonMatching, "REL/mstoryDll/main.c"), + Object(NonMatching, "REL/mstoryDll/board_clear.c"), + Object(NonMatching, "REL/mstoryDll/board_miss.c"), + Object(NonMatching, "REL/mstoryDll/mg_clear.c"), + Object(NonMatching, "REL/mstoryDll/mg_miss.c"), + Object(NonMatching, "REL/mstoryDll/save.c"), }, ), Rel( "option", objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/option/scene.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/option/camera.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/option/room.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/option/guide.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/option/state.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/option/rumble.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/option/sound.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/option/record.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/option/window.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/option/scene.c"), + Object(Matching, "REL/option/camera.c"), + Object(Matching, "REL/option/room.c"), + Object(Matching, "REL/option/guide.c"), + Object(Matching, "REL/option/state.c"), + Object(Matching, "REL/option/rumble.c"), + Object(Matching, "REL/option/sound.c"), + Object(Matching, "REL/option/record.c"), + Object(Matching, "REL/option/window.c"), }, ), Rel( "present", objects={ + Object(Matching, "REL/executor.c"), Object(Matching, "REL/present/init.c"), Object(Matching, "REL/present/camera.c"), Object(Matching, "REL/present/present.c"), @@ -1453,6 +1437,7 @@ config.libs = [ Rel( "resultDll", objects={ + Object(Matching, "REL/executor.c"), Object(Matching, "REL/resultDll/main.c"), Object(Matching, "REL/resultDll/battle.c"), Object(Matching, "REL/resultDll/datalist.c"), @@ -1461,30 +1446,34 @@ config.libs = [ Rel( "safDll", objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/safDll/main.c"), + Object(Matching, "REL/safDll/main.c"), }, ), Rel( "selmenuDll", objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/selmenuDll/main.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/selmenuDll/main.c"), }, ), Rel( "staffDll", objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/staffDll/main.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/staffDll/main.c"), }, ), Rel( "subchrselDll", objects={ - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/subchrselDll/main.c"), + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/subchrselDll/main.c"), }, ), Rel( "w01Dll", # Toad's Midway Madness objects={ + Object(Matching, "REL/board_executor.c"), Object(Matching, "REL/w01Dll/main.c"), Object(Matching, "REL/w01Dll/mg_coin.c"), Object(Matching, "REL/w01Dll/mg_item.c"), @@ -1493,6 +1482,7 @@ config.libs = [ Rel( "w02Dll", # Goomba's Greedy Gala objects={ + Object(Matching, "REL/board_executor.c"), Object(Matching, "REL/w02Dll/main.c"), Object(Matching, "REL/w02Dll/gendice.c"), Object(Matching, "REL/w02Dll/gamble.c"), @@ -1505,6 +1495,7 @@ config.libs = [ Rel( "w03Dll", # Shy Guy's Jungle Jam objects={ + Object(Matching, "REL/board_executor.c"), Object(Matching, "REL/w03Dll/main.c"), Object(Matching, "REL/w03Dll/statue.c"), Object(Matching, "REL/w03Dll/condor.c"), @@ -1517,6 +1508,7 @@ config.libs = [ Rel( "w04Dll", # Boo's Haunted Bash objects={ + Object(Matching, "REL/board_executor.c"), Object(Matching, "REL/w04Dll/main.c"), Object(Matching, "REL/w04Dll/bridge.c"), Object(Matching, "REL/w04Dll/boo_event.c"), @@ -1528,6 +1520,7 @@ config.libs = [ Rel( "w05Dll", # Koopa's Seaside Soiree objects={ + Object(Matching, "REL/board_executor.c"), Object(Matching, "REL/w05Dll/main.c"), Object(Matching, "REL/w05Dll/hotel.c"), Object(Matching, "REL/w05Dll/monkey.c"), @@ -1539,6 +1532,7 @@ config.libs = [ Rel( "w06Dll", # Bowser's Gnarly Party objects={ + Object(Matching, "REL/board_executor.c"), Object(Matching, "REL/w06Dll/main.c"), Object(Matching, "REL/w06Dll/mg_item.c"), Object(Matching, "REL/w06Dll/mg_coin.c"), @@ -1547,9 +1541,22 @@ config.libs = [ Object(Matching, "REL/w06Dll/bowser.c"), }, ), + Rel( + "w07Dll", # Custom Board + objects={ + Object(Matching, "REL/board_executor.c"), + # Object(Matching, "REL/w07Dll/main.c"), + # Object(Matching, "REL/w06Dll/mg_item.c"), + # Object(Matching, "REL/w06Dll/mg_coin.c"), + # Object(Matching, "REL/w06Dll/fire.c"), + # Object(Matching, "REL/w06Dll/bridge.c"), + # Object(Matching, "REL/w06Dll/bowser.c"), + }, + ), Rel( "w10Dll", # Tutorial board objects={ + Object(Matching, "REL/board_executor.c"), Object(Matching, "REL/w10Dll/main.c"), Object(Matching, "REL/w10Dll/host.c"), Object(Matching, "REL/w10Dll/scene.c"), @@ -1559,34 +1566,34 @@ config.libs = [ Rel( "w20Dll", # Mega Board Mayhem objects={ + Object(Matching, "REL/board_executor.c"), Object(Matching, "REL/w20Dll/main.c"), }, ), Rel( "w21Dll", # Mini Board Mad Dash objects={ + Object(Matching, "REL/board_executor.c"), Object(Matching, "REL/w21Dll/main.c"), }, ), Rel( "ztardll", objects={ - Object(Matching, "REL/ztardll/main.c"), - Object(Matching, "REL/ztardll/font.c"), - Object(Matching, "REL/ztardll/select.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/ztardll/main.c"), + Object(NonMatching, "REL/ztardll/font.c"), + Object(NonMatching, "REL/ztardll/select.c"), }, ), ] -# Optional extra categories for progress tracking -config.progress_categories = [] -config.progress_each_module = args.verbose - if args.mode == "configure": # Write build.ninja and objdiff.json generate_build(config) elif args.mode == "progress": # Print progress and write progress.json + config.progress_each_module = args.verbose calculate_progress(config) else: sys.exit("Unknown mode: " + args.mode) diff --git a/dolphin_rels_to_mod.py b/dolphin_rels_to_mod.py new file mode 100644 index 00000000..6c7d592f --- /dev/null +++ b/dolphin_rels_to_mod.py @@ -0,0 +1,74 @@ +import os +import shutil +import sys + +""" +Usage: extract an mp4 iso to mod_root/orig/ +Build the dtk project, then run this script which you can then run your mod changes by running +mod_root/mod/sys/main.dol in dolphin +""" + +def copy_build_files_to_mod(src_dir, dest_dir): + #copy dol + build_dol = "build/GMPE01_00/main.dol" + mod_dol_dir = "mod_root/mod/sys/main.dol" + shutil.copy(build_dol, mod_dol_dir) + print(f"Copied {build_dol} to {mod_dol_dir}") + + #copy rels + rel_files_found = False + for root, dirs, files in os.walk(src_dir): + for file in files: + if file.endswith('.rel'): + rel_files_found = True + source_path = os.path.join(root, file) + destination_path = os.path.join(dest_dir, file) + + # Create destination directory if it doesn't exist + os.makedirs(os.path.dirname(destination_path), exist_ok=True) + + # Copy .rel file to root/dll/ + shutil.copy(source_path, destination_path) + + print(f"{file} found and copied to {destination_path}") + + if not rel_files_found: + print("No .rel files found.") + +def copy_mod_orig_to_mod(mod_orig, mod_dir): + # Ensure the mod directory exists + os.makedirs(mod_dir, exist_ok=True) + + # Iterate through all items in the source directory + for item in os.listdir(mod_orig): + s = os.path.join(mod_orig, item) + d = os.path.join(mod_dir, item) + # If the item is a directory, copy it to the destination + if os.path.isdir(s): + shutil.copytree(s, d, dirs_exist_ok=True) + print(f"Copied directory {s} to {d}") + +def main(): + src_directory = "build/GMPE01_00" + rels_destination_directory = "mod_root/mod/files/dll" + mod_dest = "mod_root/" + mod_orig = "mod_root/orig/" + mod_dir = "mod_root/mod/" + + if not os.path.isdir(mod_dest): + raise FileNotFoundError(f"The directory {mod_dest} does not exist. Manually create a mod_root/ directory at the root of the project.") + if not os.path.isdir(mod_orig): + raise FileNotFoundError(f"The directory {mod_orig} does not exist. Extract the entire iso to mod_root/orig/") + + if '--clean' in sys.argv: + print("--clean option detected. Copying directories from mod_root/orig/ to mod_root/mod/.") + copy_mod_orig_to_mod(mod_orig, mod_dir) + elif not os.path.isdir(mod_dir): + os.makedirs(mod_dir) + print(f"{mod_dir} created.") + copy_mod_orig_to_mod(mod_orig, mod_dir) + + copy_build_files_to_mod(src_directory, rels_destination_directory) + +if __name__ == "__main__": + main() diff --git a/extern/musyx b/extern/musyx index a170f2ef..ddfad60c 160000 --- a/extern/musyx +++ b/extern/musyx @@ -1 +1 @@ -Subproject commit a170f2ef4a3f51edb89bc792dff79d55b2c42a89 +Subproject commit ddfad60c3e4fede55479c744a1c70081e0d6cd12 diff --git a/include/OdemuExi2/odemuexi/DebuggerDriver.h b/include/OdemuExi2/odemuexi/DebuggerDriver.h deleted file mode 100644 index 71a27ed3..00000000 --- a/include/OdemuExi2/odemuexi/DebuggerDriver.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef ODEMUEXI_DEBUGGER_DRIVER_H -#define ODEMUEXI_DEBUGGER_DRIVER_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -int Hu_IsStub(); - -void DBInitComm(volatile u8** param_1, __OSInterruptHandler param_2); -void DBInitInterrupts(void); -u32 DBQueryData(void); -int DBRead(void* data, u32 size); -int DBWrite(const void* data, u32 size); -void DBOpen(void); -void DBClose(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/include/PowerPC_EABI_Support/MetroTRK/trk.h b/include/PowerPC_EABI_Support/MetroTRK/trk.h deleted file mode 100644 index f7fa1c09..00000000 --- a/include/PowerPC_EABI_Support/MetroTRK/trk.h +++ /dev/null @@ -1,384 +0,0 @@ -#ifndef __METROTRK_TRK_H__ -#define __METROTRK_TRK_H__ - -#include "dolphin/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -//////////// TRK ENUMS ///////////// -// Hardware types. -typedef enum { - HARDWARE_AMC_DDH = 0, - HARDWARE_GDEV = 1, - HARDWARE_BBA = 2 -} HardwareType; - -// DS Error returns. -enum { - DS_NoError = 0x0, - DS_StepError = 0x1, - DS_ParameterError = 0x2, - - DS_EventQueueFull = 0x100, - - DS_NoMessageBufferAvailable = 0x300, - DS_MessageBufferOverflow = 0x301, - DS_MessageBufferReadError = 0x302, - - DS_DispatchError = 0x500, - - DS_InvalidMemory = 0x700, - DS_InvalidRegister = 0x701, - DS_CWDSException = 0x702, - DS_UnsupportedError = 0x703, - DS_InvalidProcessID = 0x704, - DS_InvalidThreadID = 0x705, - DS_OSError = 0x706, - - DS_Error800 = 0x800 -}; - -typedef int DSError; - -// Where to read/write. -typedef enum { - DS_Stdin = 0, - DS_Stdout = 1, - DS_Stderr = 2 -} DSFileHandle; - -// IO returns. -typedef enum { - DS_IONoError = 0, - DS_IOError = 1, - DS_IOEOF = 2 -} DSIOResult; - -// Message command IDs -typedef enum { - DSMSG_Ping = 0x0, - DSMSG_Connect = 0x1, - DSMSG_Disconnect = 0x2, - DSMSG_Reset = 0x3, - DSMSG_Versions = 0x4, - DSMSG_SupportMask = 0x5, - DSMSG_Override = 0x7, - - DSMSG_ReadMemory = 0x10, - DSMSG_WriteMemory = 0x11, - DSMSG_ReadRegisters = 0x12, - DSMSG_WriteRegisters = 0x13, - DSMSG_SetOption = 0x17, - DSMSG_Continue = 0x18, - DSMSG_Step = 0x19, - DSMSG_Stop = 0x1A, - - DSMSG_ReplyACK = 0x80, - - DSMSG_NotifyStopped = 0x90, - DSMSG_NotifyException = 0x91, - - DSMSG_WriteFile = 0xD0, - DSMSG_ReadFile = 0xD1, - DSMSG_OpenFile = 0xD2, - DSMSG_CloseFile = 0xD3, - DSMSG_PositionFile = 0xD4, - - DSMSG_ReplyNAK = 0xFF -} MessageCommandID; - -// Register commands. -typedef enum { - DSREG_Default = 0, - DSREG_FP = 1, - DSREG_Extended1 = 2, - DSREG_Extended2 = 3 -} DSMessageRegisterOptions; - -// Step commands. -typedef enum { - DSSTEP_IntoCount = 0x0, - DSSTEP_IntoRange = 0x1, - DSSTEP_OverCount = 0x10, - DSSTEP_OverRange = 0x11 -} DSMessageStepOptions; - -typedef enum { - DSREPLY_NoError = 0x0, - DSREPLY_Error = 0x1, - DSREPLY_PacketSizeError = 0x2, - DSREPLY_CWDSError = 0x3, - DSREPLY_EscapeError = 0x4, - DSREPLY_BadFCS = 0x5, - DSREPLY_Overflow = 0x6, - DSREPLY_SequenceMissing = 0x7, - - DSREPLY_UnsupportedCommandError = 0x10, - DSREPLY_ParameterError = 0x11, - DSREPLY_UnsupportedOptionError = 0x12, - DSREPLY_InvalidMemoryRange = 0x13, - DSREPLY_InvalidRegisterRange = 0x14, - DSREPLY_CWDSException = 0x15, - DSREPLY_NotStopped = 0x16, - DSREPLY_BreakpointsFull = 0x17, - DSREPLY_BreakpointConflict = 0x18, - - DSREPLY_OSError = 0x20, - DSREPLY_InvalidProcessID = 0x21, - DSREPLY_InvalidThreadID = 0x22, - DSREPLY_DebugSecurityError = 0x23 -} DSReplyError; - -typedef enum { - DSRECV_Wait = 0, - DSRECV_Found = 1, - DSRECV_InFrame = 2, - DSRECV_FrameOverflow = 3 -} ReceiverState; - -typedef enum { - DSMSGMEMORY_Segmented = 0x01, /* non-flat addr space */ - DSMSGMEMORY_Extended = 0x02, /* > 32-bit data addr */ - DSMSGMEMORY_Protected = 0x04, /* non-user memory */ - DSMSGMEMORY_Userview = 0x08, /* breakpoints are invisible */ - DSMSGMEMORY_Space_program = 0x00, - DSMSGMEMORY_Space_data = 0x40, - DSMSGMEMORY_Space_io = 0x80 -}; - -typedef enum { - NUBEVENT_Null = 0, - NUBEVENT_Shutdown = 1, - NUBEVENT_Request = 2, - NUBEVENT_Breakpoint = 3, - NUBEVENT_Exception = 4, - NUBEVENT_Support = 5 -} NubEventType; - -typedef enum { - VALIDMEM_Readable = 0, - VALIDMEM_Writeable = 1 -} ValidMemoryOptions; - -typedef enum { - MEMACCESS_UserMemory = 0, - MEMACCESS_DebuggerMemory = 1 -} MemoryAccessOptions; - -typedef int UARTError; - -typedef enum { - UART_NoError = 0, - UART_UnknownBaudRate = 1, - UART_ConfigurationError = 2, - UART_BufferOverflow = 3, // specified buffer was too small - UART_NoData = 4 // no data available from polling -} UARTErrorOptions; - -typedef enum { - kBaudHWSet = -1, // use HW settings such as DIP switches - kBaud300 = 300, // valid baud rates - kBaud600 = 600, - kBaud1200 = 1200, - kBaud1800 = 1800, - kBaud2000 = 2000, - kBaud2400 = 2400, - kBaud3600 = 3600, - kBaud4800 = 4800, - kBaud7200 = 7200, - kBaud9600 = 9600, - kBaud19200 = 19200, - kBaud38400 = 38400, - kBaud57600 = 57600, - kBaud115200 = 115200, - kBaud230400 = 230400 -} UARTBaudRate; - -//////////////////////////////////// - -typedef int MessageBufferID; - -#define TRKMSGBUF_SIZE (0x800 + 0x80) - -typedef struct TRKBuffer { - /* 0x00 */ u32 mutex; - /* 0x04 */ BOOL isInUse; - /* 0x08 */ u32 length; - /* 0x0C */ u32 position; - /* 0x10 */ u8 data[TRKMSGBUF_SIZE]; -} TRKBuffer; - -typedef struct TRKFramingState { - MessageBufferID msgBufID; // _00 - TRKBuffer* buffer; // _04 - ReceiverState receiveState; // _08 - BOOL isEscape; // _0C - u8 fcsType; // _10 -} TRKFramingState; - -typedef struct TRKState_PPC { - u32 GPR[32]; // 0x0 - u32 LR; // 0x80 - u32 CTR; // 0x84 - u32 XER; // 0x88 - u32 MSR; // 0x8c - u32 DAR; // 0x90 - u32 DSISR; // 0x94 - BOOL stopped; // 0x98 - BOOL inputActivated; // 0x9c - u8* inputPendingPtr; // 0xA0 -} TRKState_PPC; - -typedef struct CommandReply { - u32 _00; // _00 - union { - u8 b; - MessageCommandID m; - } commandID; // _04, use MessageCommandID enum - union { - u8 b; - DSReplyError r; - } replyError; // _08, use DSReplyError enum - should be enum type? check - // size. - u32 _0C; // _0C - u8 _10[0x30]; // _10, unknown -} CommandReply; - -typedef struct ProcessorRestoreFlags_PPC { - u8 TBR; - u8 DEC; - u8 linker_padding[0x9 - 0x2]; -} ProcessorRestoreFlags_PPC; - -void TRKSaveExtended1Block(); - -void SetUseSerialIO(u8); -u8 GetUseSerialIO(void); - -#define SPR_XER 1 -#define SPR_LR 8 -#define SPR_CTR 9 -#define SPR_DSISR 18 -#define SPR_DAR 19 -#define SPR_DEC 22 -#define SPR_SDR1 25 -#define SPR_SRR0 26 -#define SPR_SRR1 27 -#define SPR_SPRG0 272 -#define SPR_SPRG1 273 -#define SPR_SPRG2 274 -#define SPR_SPRG3 275 -#define SPR_EAR 282 -#define SPR_TBL 284 -#define SPR_TBU 285 -#define SPR_PVR 287 -#define SPR_IBAT0U 528 -#define SPR_IBAT0L 529 -#define SPR_IBAT1U 530 -#define SPR_IBAT1L 531 -#define SPR_IBAT2U 532 -#define SPR_IBAT2L 533 -#define SPR_IBAT3U 534 -#define SPR_IBAT3L 535 -#define SPR_IBAT4U 560 -#define SPR_IBAT4L 561 -#define SPR_IBAT5U 562 -#define SPR_IBAT5L 563 -#define SPR_IBAT6U 564 -#define SPR_IBAT6L 565 -#define SPR_IBAT7U 566 -#define SPR_IBAT7L 567 -#define SPR_DBAT0U 536 -#define SPR_DBAT0L 537 -#define SPR_DBAT1U 538 -#define SPR_DBAT1L 539 -#define SPR_DBAT2U 540 -#define SPR_DBAT2L 541 -#define SPR_DBAT3U 542 -#define SPR_DBAT3L 543 -#define SPR_DBAT4U 568 -#define SPR_DBAT4L 569 -#define SPR_DBAT5U 570 -#define SPR_DBAT5L 571 -#define SPR_DBAT6U 572 -#define SPR_DBAT6L 573 -#define SPR_DBAT7U 574 -#define SPR_DBAT7L 575 -#define SPR_GQR0 912 -#define SPR_GQR1 913 -#define SPR_GQR2 914 -#define SPR_GQR3 915 -#define SPR_GQR4 916 -#define SPR_GQR5 917 -#define SPR_GQR6 918 -#define SPR_GQR7 919 -#define SPR_HID2 920 -#define SPR_WPAR 921 -#define SPR_DMA_U 922 -#define SPR_DMA_L 923 -#define SPR_UMMCR0 936 -#define SPR_UPMC1 937 -#define SPR_UPMC2 938 -#define SPR_USIA 939 -#define SPR_UMMCR1 940 -#define SPR_UPMC3 941 -#define SPR_UPMC4 942 -#define SPR_USDA 943 -#define SPR_MMCR0 952 -#define SPR_PMC1 953 -#define SPR_PMC2 954 -#define SPR_SIA 955 -#define SPR_MMCR1 956 -#define SPR_PMC3 957 -#define SPR_PMC4 958 -#define SPR_SDA 959 -#define SPR_HID0 1008 -#define SPR_HID1 1009 -#define SPR_IABR 1010 -#define SPR_HID4 1011 -#define SPR_DABR 1013 -#define SPR_L2CR 1017 -#define SPR_ICTC 1019 -#define SPR_THRM1 1020 -#define SPR_THRM2 1021 -#define SPR_FPECR 1022 - -// PPC exceptions -// 0x000 is reserved -#define PPC_SystemReset 0x100 -#define PPC_MachineCheck 0x200 -#define PPC_DataStorage 0x300 -#define PPC_InstructionStorage 0x400 -#define PPC_ExternalInterrupt 0x500 -#define PPC_Alignment 0x600 -#define PPC_Program 0x700 -#define PPC_FloatingPointUnavaiable 0x800 -#define PPC_Decrementer 0x900 -// 0xA00-0xB00 are reserved -#define PPC_SystemCall 0xC00 -#define PPC_Trace 0xD00 -#define PPC_FloatingPointAssist 0xE00 // unimplemented in 750CL -#define PPC_PerformanceMonitor 0xF00 // Dolphin/Broadway specific -// 0x1000-0x1200 are unimplemented in 750CL -#define PPC_InstructionAddressBreakpoint 0x1300 // Dolphin/Broadway specific -// 0x1400-0x2F00 are reserved, but TRK uses some -#define PPC_SystemManagementInterrupt 0x1400 -// 0x1500-0x1600 are unimplemented in 750CL -#define PPC_ThermalManagementInterrupt 0x1700 -#define PPC_1800Exception 0x1800 -#define PPC_1900Exception 0x1900 -#define PPC_1A00Exception 0x1A00 -#define PPC_1B00Exception 0x1B00 -#define PPC_1C00Exception 0x1C00 // Data breakpoint? -#define PPC_1D00Exception 0x1D00 // Instruction breakpoint? -#define PPC_1E00Exception 0x1E00 // Peripheral breakpoint? -#define PPC_1F00Exception 0x1F00 // Non maskable development port? -#define PPC_2000Exception 0x2000 - -#ifdef __cplusplus -} -#endif - -#endif /* __METROTRK_TRK_H__ */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/FILE_POS.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/FILE_POS.h deleted file mode 100644 index 046471d5..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/FILE_POS.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef _MSL_COMMON_FILE_POS_H -#define _MSL_COMMON_FILE_POS_H - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h" - -#ifdef __cplusplus -extern "C" { -#endif - -int fseek(FILE* file, unsigned long offset, int mode); -int _fseek(FILE* file, fpos_t offset, int mode); -long ftell(FILE* file); - -#ifdef __cplusplus -} -#endif - -#endif /* _MSL_COMMON_FILE_POS_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/abort_exit.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/abort_exit.h deleted file mode 100644 index 7c62fe70..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/abort_exit.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef _MSL_COMMON_ABORT_EXIT_H -#define _MSL_COMMON_ABORT_EXIT_H - -#ifdef __cplusplus -extern "C" { -#endif - -void exit(int status); -void abort(void); - -extern void (*__stdio_exit)(void); - -#ifdef __cplusplus -}; -#endif - -#endif /* _MSL_COMMON_ABORT_EXIT_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/alloc.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/alloc.h deleted file mode 100644 index 6b08d6f9..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/alloc.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _MSL_COMMON_ALLOC_H -#define _MSL_COMMON_ALLOC_H - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h" - -#ifdef __cplusplus -extern "C" { -#endif - -void free(void* ptr); - -#ifdef __cplusplus -} -#endif - -#endif /* _MSL_COMMON_ALLOC_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h deleted file mode 100644 index 2e0e8010..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h +++ /dev/null @@ -1,129 +0,0 @@ -#ifndef _MSL_COMMON_ANSI_FILES_H -#define _MSL_COMMON_ANSI_FILES_H - -#include "stddef.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define SEEK_SET 0 -#define SEEK_CUR 1 -#define SEEK_END 2 - -typedef unsigned long __file_handle; -typedef unsigned long fpos_t; -#ifndef __cplusplus -typedef unsigned short wchar_t; -#endif - -#define set_error(file) \ - do { \ - (file)->file_state.error = 1; \ - (file)->buffer_length = 0; \ - } while (0) - -enum __file_kinds { - __closed_file, - __disk_file, - __console_file, - __string_file, - __unavailable_file -}; - -enum __file_orientation { - /* 0x0 */ UNORIENTED, - /* 0x1 */ CHAR_ORIENTED, - /* 0x2 */ WIDE_ORIENTED -}; - -typedef struct _file_modes { - unsigned int open_mode : 2; - unsigned int io_mode : 3; - unsigned int buffer_mode : 2; - unsigned int file_kind : 3; - unsigned int file_orientation : 2; - unsigned int binary_io : 1; -} file_modes; - -enum __io_modes { - __read = 1, - __write = 2, - __read_write = 3, - __append = 4 -}; - -enum __io_states { - __neutral, - __writing, - __reading, - __rereading -}; - -enum __io_results { - __no_io_error, - __io_error, - __io_EOF -}; - -typedef struct _file_states { - unsigned int io_state : 3; - unsigned int free_buffer : 1; - unsigned char eof; - unsigned char error; -} file_states; - -typedef void (*__idle_proc)(void); -typedef int (*__pos_proc)(__file_handle file, fpos_t* position, int mode, - __idle_proc idle_proc); -typedef int (*__io_proc)(__file_handle file, unsigned char* buff, size_t* count, - __idle_proc idle_proc); -typedef int (*__close_proc)(__file_handle file); - -typedef struct _FILE { - __file_handle handle; - file_modes file_mode; - file_states file_state; - - unsigned char is_dynamically_allocated; - char char_buffer; - char char_buffer_overflow; - char ungetc_buffer[2]; - wchar_t ungetc_wide_buffer[2]; - - unsigned long position; - unsigned char* buffer; - unsigned long buffer_size; - unsigned char* buffer_ptr; - unsigned long buffer_length; - unsigned long buffer_alignment; - unsigned long save_buffer_length; - unsigned long buffer_position; - - __pos_proc position_fn; - __io_proc read_fn; - __io_proc write_fn; - __close_proc close_fn; - __idle_proc idle_fn; - struct _FILE* next_file_struct; -} FILE; - -#define _IONBF 0 -#define _IOLBF 1 -#define _IOFBF 2 - -extern FILE __files[]; -extern int __close_console(__file_handle file); -extern int __write_console(__file_handle file, unsigned char* buf, - size_t* count, __idle_proc idle_fn); -extern int __read_console(__file_handle file, unsigned char* buf, size_t* count, - __idle_proc idle_fn); - -unsigned int __flush_all(void); -void __close_all(void); - -#ifdef __cplusplus -}; -#endif - -#endif /* _MSL_COMMON_ANSI_FILES_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_fp.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_fp.h deleted file mode 100644 index a7a5cc67..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_fp.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _MSL_COMMON_ANSI_FP_H -#define _MSL_COMMON_ANSI_FP_H - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/float.h" - -#define SIGDIGLEN 36 - -typedef struct decimal { - char sign; - char unk1; - short exp; - struct { - unsigned char length; - unsigned char text[36]; - unsigned char unk41; - } sig; -} decimal; - -typedef struct decform { - char style; - char unk1; - short digits; -} decform; - -void __num2dec(const decform* form, double x, decimal* d); - -#endif diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/arith.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/arith.h deleted file mode 100644 index 317dfa0d..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/arith.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef _MSL_COMMON_ARITH_H -#define _MSL_COMMON_ARITH_H - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct { - int quot; /* quotient */ - int rem; /* remainder */ -} div_t; - -div_t div(int numerator, int denominator); - -#ifdef __cplusplus -} -#endif - -#endif /* _MSL_COMMON_ARITH_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/buffer_io.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/buffer_io.h deleted file mode 100644 index 85ad160a..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/buffer_io.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef _MSL_COMMON_BUFFER_IO_H -#define _MSL_COMMON_BUFFER_IO_H - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h" - -enum { __align_buffer, __dont_align_buffer }; - -void __prep_buffer(FILE* file); -int __flush_buffer(FILE* file, size_t* bytes_flushed); - -#endif /* _MSL_COMMON_BUFFER_IO_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/char_io.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/char_io.h deleted file mode 100644 index e3733cf7..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/char_io.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef _MSL_COMMON_CHAR_IO_H -#define _MSL_COMMON_CHAR_IO_H - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h" - -#ifdef __cplusplus -extern "C" { -#endif - -int fputs(const char* str, FILE* stream); -int __put_char(int c, FILE* stream); - -#ifdef __cplusplus -} -#endif - -#endif /* _MSL_COMMON_CHAR_IO_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/critical_regions.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/critical_regions.h deleted file mode 100644 index e4456725..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/critical_regions.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef _MSL_COMMON_CRITICAL_REGIONS_H -#define _MSL_COMMON_CRITICAL_REGIONS_H - -#ifdef __cplusplus -extern "C" { -#endif - -enum critical_regions { - atexit_funcs_access, - malloc_pool_access, - stdin_access, - stdout_access, - stderr_access, - files_access, - console_status_access, - signal_funcs_access, - thread_access, - num_critical_regions -}; - -void __init_critical_regions(void); -void __kill_critical_regions(void); -void __begin_critical_region(int region); -void __end_critical_region(int region); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ctype.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ctype.h deleted file mode 100644 index d6a1b29d..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ctype.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef _MSL_COMMON_CTYPE_H -#define _MSL_COMMON_CTYPE_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define EOF -1L - -extern unsigned char __ctype_map[]; -extern unsigned char __lower_map[]; -extern unsigned char __upper_map[]; - -#define __control_char 0x01 -#define __motion_char 0x02 -#define __space_char 0x04 -#define __punctuation 0x08 -#define __digit 0x10 -#define __hex_digit 0x20 -#define __lower_case 0x40 -#define __upper_case 0x80 - -#define __letter (__lower_case | __upper_case) -#define __alphanumeric (__letter | __digit) -#define __graphic (__alphanumeric | __punctuation) -#define __printable (__graphic | __space_char) -#define __whitespace (__motion_char | __space_char) -#define __control (__motion_char | __control_char) -#define __zero_fill(c) ((int)(unsigned char)(c)) - -int tolower(int c); -int toupper(int c); - -inline int _isalpha(int c) -{ - return (int)(__ctype_map[(unsigned char)c] & __letter); -} -inline int isdigit(int c) -{ - return (int)(__ctype_map[(unsigned char)c] & __digit); -} -inline int isspace(int c) -{ - return (int)(__ctype_map[(unsigned char)c] & __whitespace); -} -inline int isupper(int c) -{ - return (int)(__ctype_map[(unsigned char)c] & __upper_case); -} -inline int isxdigit(int c) -{ - return (int)(__ctype_map[(unsigned char)c] & __hex_digit); -} - -inline int _tolower(int c) -{ - return (c == -1 ? -1 : (int)__lower_map[(unsigned char)c]); -} - -#ifdef __cplusplus -}; - -namespace std { -inline int tolower(int c) -{ - return (c == -1 ? -1 : (int)__lower_map[(unsigned char)c]); -} -inline int toupper(int c) -{ - return (c == -1 ? -1 : (int)__upper_map[(unsigned char)c]); -} -}; // namespace std - -#endif - -#endif /* _MSL_COMMON_CTYPE_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/direct_io.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/direct_io.h deleted file mode 100644 index 7e838551..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/direct_io.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef _MSL_COMMON_DIRECT_IO_H -#define _MSL_COMMON_DIRECT_IO_H - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h" - -#ifdef __cplusplus -extern "C" { -#endif - -size_t __fwrite(const void* buffer, size_t size, size_t count, FILE* stream); -size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream); - -#ifdef __cplusplus -} -#endif - -#endif /* _MSL_COMMON_DIRECT_IO_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/errno.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/errno.h deleted file mode 100644 index 269d896d..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/errno.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef MSL_COMMON_SRC_ERRNO_H -#define MSL_COMMON_SRC_ERRNO_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define ENOERR 0 -#define EDOM 33 -#define ERANGE 34 -#define EFPOS 40 -#define ESIGPARM 36 - -extern int errno; - -#ifdef __cplusplus -} -#endif - -#endif /* MSL_COMMON_SRC_ERRNO_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/extras.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/extras.h deleted file mode 100644 index 4d8e8b62..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/extras.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef _MSL_COMMON_EXTRAS_H -#define _MSL_COMMON_EXTRAS_H - -#ifdef __cplusplus -extern "C" { -#endif - -int strnicmp(const char* str1, const char* str2, int n); -int stricmp(const char* str1, const char* str2); - -#ifdef __cplusplus -} -#endif - -#endif /* _MSL_COMMON_EXTRAS_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/file_io.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/file_io.h deleted file mode 100644 index a06e7cef..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/file_io.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef _MSL_COMMON_FILE_IO_H -#define _MSL_COMMON_FILE_IO_H - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h" - -#ifdef __cplusplus -extern "C" { -#endif - -int __msl_strnicmp(const char* str1, const char* str2, int n); -int fflush(FILE* file); -int fclose(FILE* file); - -#ifdef __cplusplus -} -#endif - -#endif /* _MSL_COMMON_FILE_IO_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/float.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/float.h deleted file mode 100644 index 14d34342..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/float.h +++ /dev/null @@ -1,92 +0,0 @@ -#ifndef _MSL_COMMON_FLOAT_H -#define _MSL_COMMON_FLOAT_H - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#define FP_SNAN 0 -#define FP_QNAN 1 -#define FP_INFINITE 2 -#define FP_ZERO 3 -#define FP_NORMAL 4 -#define FP_SUBNORMAL 5 - -#define FP_NAN FP_QNAN - -#define fpclassify(x) \ - ((sizeof(x) == sizeof(float)) ? __fpclassifyf(x) : __fpclassifyd(x)) -#define signbit(x) \ - ((sizeof(x) == sizeof(float)) ? __signbitf(x) : __signbitd(x)) -#define isfinite(x) ((fpclassify(x) > 2)) -#define isnan(x) ((fpclassify(x) == FP_NAN)) -#define isinf(x) ((fpclassify(x) == FP_INFINITE)) - -#define __signbitf(x) ((int)(__HI(x) & 0x80000000)) - -// TODO: OK? -#define __signbitd(x) ((int)(__HI(x) & 0x80000000)) - -extern unsigned long __float_nan[]; -extern unsigned long __float_huge[]; -extern unsigned long __float_max[]; -extern unsigned long __float_epsilon[]; - -inline int __fpclassifyf(float __value) -{ - unsigned long integer = *(unsigned long*)&__value; - - switch (integer & 0x7f800000) { - case 0x7f800000: - if ((integer & 0x7fffff) != 0) { - return FP_QNAN; - } - return FP_INFINITE; - - case 0: - if ((integer & 0x7fffff) != 0) { - return FP_SUBNORMAL; - } - return FP_ZERO; - } - - return FP_NORMAL; -} - -inline int __fpclassifyd(double __value) -{ - switch (__HI(__value) & 0x7ff00000) { - case 0x7ff00000: { - if ((__HI(__value) & 0x000fffff) || (__LO(__value) & 0xffffffff)) - return FP_QNAN; - else - return FP_INFINITE; - break; - } - case 0: { - if ((__HI(__value) & 0x000fffff) || (__LO(__value) & 0xffffffff)) - return FP_SUBNORMAL; - else - return FP_ZERO; - break; - } - } - return FP_NORMAL; -} - -#define FLT_MANT_DIG 24 -#define FLT_DIG 6 -#define FLT_MIN_EXP (-125) -#define FLT_MIN_10_EXP (-37) -#define FLT_MAX_EXP 128 -#define FLT_MAX_10_EXP 38 - -#define FLT_MAX 3.40282346638528860e+38f -#define FLT_EPSILON 1.1920928955078125e-07f - -#define DBL_MANT_DIG 53 -#define DBL_DIG 15 -#define DBL_MIN_EXP (-1021) -#define DBL_MIN_10_EXP (-308) -#define DBL_MAX_EXP 1024 -#define DBL_MAX_10_EXP 308 - -#endif /* _MSL_COMMON_FLOAT_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/limits.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/limits.h deleted file mode 100644 index 2b8b756f..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/limits.h +++ /dev/null @@ -1,93 +0,0 @@ -#ifndef _STD_LIMITS_H -#define _STD_LIMITS_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define CHAR_BIT 8 - -#define SCHAR_MIN (-0x7F - 1) -#define SCHAR_MAX 0x7F -#define UCHAR_MAX 0xFF - -#define CHAR_MIN 0 -#define CHAR_MAX SCHAR_MAX - -#define SHRT_MIN (-0x7FFF - 1) -#define SHRT_MAX 0x7FFF -#define USHRT_MAX 0xFFFF - -#define INT_MIN (-0x7FFFFFFF - 1) -#define INT_MAX 0x7FFFFFFF -#define UINT_MAX 0xFFFFFFFF - -#define LONG_MIN (-0x7FFFFFFFL - 1) -#define LONG_MAX 0x7FFFFFFFL -#define ULONG_MAX 0xFFFFFFFFUL - -#define LLONG_MIN (-0x7FFFFFFFFFFFFFFFLL - 1) -#define LLONG_MAX 0x7FFFFFFFFFFFFFFFLL -#define ULLONG_MAX 0xFFFFFFFFFFFFFFFFULL - -#ifdef __cplusplus -} - -namespace std { -template class numeric_limits { -public: - inline static T min(); - inline static T max(); -}; - -template <> class numeric_limits { -public: - inline static char min() { return -0x80; } - inline static char max() { return 0x7F; } -}; - -template <> class numeric_limits { -public: - inline static short min() { return -0x8000; } - inline static short max() { return 0x7FFF; } -}; - -template <> class numeric_limits { -public: - inline static int min() { return -0x80000000; } - inline static int max() { return 0x7FFFFFFF; } -}; - -template <> class numeric_limits { -public: - inline static long min() { return -0x80000000; } - inline static long max() { return 0x7FFFFFFF; } -}; - -template <> class numeric_limits { -public: - inline static unsigned char min() { return 0x0; } - inline static unsigned char max() { return 0xFF; } -}; - -template <> class numeric_limits { -public: - inline static unsigned short min() { return 0x0; } - inline static unsigned short max() { return 0xFFFF; } -}; - -template <> class numeric_limits { -public: - inline static unsigned int min() { return 0x0; } - inline static unsigned int max() { return 0xFFFFFFFF; } -}; - -template <> class numeric_limits { -public: - inline static unsigned long min() { return 0x0; } - inline static unsigned long max() { return 0xFFFFFFFF; } -}; - -} // namespace std -#endif -#endif diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/math.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/math.h deleted file mode 100644 index e99949cc..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/math.h +++ /dev/null @@ -1,106 +0,0 @@ -#ifndef MSL_MATH_H_ -#define MSL_MATH_H_ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/float.h" - -#define NAN (*(float*)__float_nan) -#define HUGE_VALF (*(float*)__float_huge) - -#define M_PI 3.14159265358979323846f -#define M_SQRT3 1.73205f - -#define DEG_TO_RAD(degrees) (degrees * (M_PI / 180.0f)) -#define RAD_TO_DEG(radians) \ - (radians \ - * (180.0f / M_PI + 0.000005f)) // the 0.000005f is probably a fakematch - -#ifdef __cplusplus -extern "C" { -#endif - -int abs(int); -double acos(double); -float acosf(float); -double asin(double); -double atan(double); -double atan2(double, double); -double ceil(double); -double copysign(double, double); -double cos(double); -float cosf(float); -double exp(double); - -extern double __fabs(double); -extern float __fabsf(float); -inline double fabs(double f) { return __fabs(f); } - -double __frsqrte(double); -float __fres(float); - -double floor(double); -double fmod(double, double); - -double frexp(double, int*); -double ldexp(double, int); -double modf(double, double*); -double pow(double, double); -double sin(double); -float sinf(float); -double tan(double); -float tanf(float); - -extern inline double sqrt(double x) -{ - if (x > 0.0) { - double guess = __frsqrte(x); /* returns an approximation to */ - guess - = .5 * guess * (3.0 - guess * guess * x); /* now have 8 sig bits */ - guess - = .5 * guess * (3.0 - guess * guess * x); /* now have 16 sig bits */ - guess - = .5 * guess * (3.0 - guess * guess * x); /* now have 32 sig bits */ - guess = .5 * guess - * (3.0 - guess * guess * x); /* now have > 53 sig bits */ - return x * guess; - } else if (x == 0) - return 0; - else if (x) - return NAN; - - return HUGE_VALF; -} - -#ifdef __cplusplus -}; - -namespace std { -inline float fabsf(float f) { return fabs(f); } -inline float abs(float f) { return fabsf(f); } -inline float fmodf(float x, float y) { return fmod(x, y); } -inline float atan2f(float y, float x) { return (float)atan2(y, x); } -inline float sinf(float x) { return sin(x); } -inline float cosf(float x) { return cos(x); } -inline float tanf(float x) { return tan(x); } - -extern inline float sqrtf(float x) -{ - const double _half = .5; - const double _three = 3.0; - volatile float y; - if (x > 0.0f) { - double guess = __frsqrte((double)x); // returns an approximation to - guess = _half * guess - * (_three - guess * guess * x); // now have 12 sig bits - guess = _half * guess - * (_three - guess * guess * x); // now have 24 sig bits - guess = _half * guess - * (_three - guess * guess * x); // now have 32 sig bits - y = (float)(x * guess); - return y; - } - return x; -} -}; // namespace std -#endif - -#endif diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/math_ppc.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/math_ppc.h deleted file mode 100644 index 325c4527..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/math_ppc.h +++ /dev/null @@ -1,5 +0,0 @@ -double acos(double x); -double tan(double); -double sin(double); -double cos(double); -double atan2(double); diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/mbstring.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/mbstring.h deleted file mode 100644 index 2aa9f4ea..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/mbstring.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _MSL_COMMON_MBSTRING_H -#define _MSL_COMMON_MBSTRING_H - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/wchar_io.h" - -#ifdef __cplusplus -extern "C" { -#endif - -size_t wcstombs(char* dst, const wchar_t* src, size_t n); - -#ifdef __cplusplus -} -#endif - -#endif /* _MSL_COMMON_MBSTRING_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/mem_funcs.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/mem_funcs.h deleted file mode 100644 index 0e245466..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/mem_funcs.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef _MSL_COMMON_MEM_FUNCS_H -#define _MSL_COMMON_MEM_FUNCS_H - -#include "stddef.h" - -#ifdef __cplusplus -extern "C" { -#endif - -void __copy_longs_rev_unaligned(void* dst, const void* src, size_t n); -void __copy_longs_unaligned(void* dst, const void* src, size_t n); -void __copy_longs_rev_aligned(void* dst, const void* src, size_t n); -void __copy_longs_aligned(void* dst, const void* src, size_t n); - -#ifdef __cplusplus -} -#endif - -#endif /* _MSL_COMMON_MEM_FUNCS_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/misc_io.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/misc_io.h deleted file mode 100644 index 715f282a..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/misc_io.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef _MSL_COMMON_MISC_IO_H -#define _MSL_COMMON_MISC_IO_H - -#ifdef __cplusplus -extern "C" { -#endif - -void __stdio_atexit(void); - -#ifdef __cplusplus -} -#endif - -#endif /* _MSL_COMMON_MISC_IO_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/printf.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/printf.h deleted file mode 100644 index e716867f..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/printf.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef _MSL_COMMON_PRINTF_H -#define _MSL_COMMON_PRINTF_H - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h" -#include "stdarg.h" - -#ifdef __cplusplus -extern "C" { -#endif - -int fprintf(FILE* stream, const char* format, ...); -int printf(const char* format, ...); -int sprintf(char* s, const char* format, ...); -int snprintf(char* s, size_t n, const char* format, ...); -int vsnprintf(char* s, size_t n, const char* format, va_list arg); -int vprintf(const char* format, va_list arg); - -#ifdef __cplusplus -} -#endif - -#endif /* _MSL_COMMON_PRINTF_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/scanf.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/scanf.h deleted file mode 100644 index c6451e34..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/scanf.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef _MSL_COMMON_SCANF_H -#define _MSL_COMMON_SCANF_H - -#include "stddef.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h" - -#ifdef __cplusplus -extern "C" { -#endif - -enum __ReadProcActions { __GetAChar, __UngetAChar, __TestForError }; - -enum __WReadProcActions { __GetAwChar, __UngetAwChar, __TestForwcsError }; - -typedef struct { - char* CharStr; - size_t MaxCharCount; - size_t CharsWritten; -} __OutStrCtrl; - -typedef struct { - char* NextChar; - int NullCharDetected; -} __InStrCtrl; - -typedef struct { - wchar_t* wCharStr; - size_t MaxCharCount; - size_t CharsWritten; -} __wOutStrCtrl; - -typedef struct { - wchar_t* wNextChar; - int wNullCharDetected; -} __wInStrCtrl; - -int __StringRead(void* str, int ch, int behavior); - -#ifdef __cplusplus -} -#endif - -#endif /* _MSL_COMMON_SCANF_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/signal.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/signal.h deleted file mode 100644 index 58fc22ab..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/signal.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _MSL_COMMON_SIGNAL_H -#define _MSL_COMMON_SIGNAL_H - -#ifdef __cplusplus -extern "C" { -#endif - -typedef void (*__signal_func_ptr)(int); - -int raise(int sig); - -#ifdef __cplusplus -} -#endif - -#endif /* _MSL_COMMON_SIGNAL_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/stdio.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/stdio.h deleted file mode 100644 index 01097a0c..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/stdio.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef MSL_STDIO_H_ -#define MSL_STDIO_H_ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/char_io.h" // IWYU pragma: export -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/file_io.h" // IWYU pragma: export -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/printf.h" // IWYU pragma: export -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/extras.h" // IWYU pragma: export - -#define stdin (&__files[0]) -#define stdout (&__files[1]) -#define stderr (&__files[2]) - -#endif diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/stdlib.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/stdlib.h deleted file mode 100644 index 9df0be5b..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/stdlib.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef MSL_STDLIB_H_ -#define MSL_STDLIB_H_ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/abort_exit.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/arith.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/mbstring.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/strtoul.h" - -#endif diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/strtoul.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/strtoul.h deleted file mode 100644 index 843ee863..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/strtoul.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef _MSL_COMMON_STRTOUL_H -#define _MSL_COMMON_STRTOUL_H - -#ifdef __cplusplus -extern "C" { -#endif - -long strtol(const char* str, char** end, int base); -unsigned long strtoul(const char* str, char** end, int base); -unsigned long __strtoul(int base, int max_width, - int (*ReadProc)(void*, int, int), void* ReadProcArg, - int* chars_scanned, int* negative, int* overflow); - -#ifdef __cplusplus -} -#endif - -#endif /* _MSL_COMMON_STRTOUL_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/wchar_io.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/wchar_io.h deleted file mode 100644 index 90153f95..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/wchar_io.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef _MSL_COMMON_WCHAR_IO_H -#define _MSL_COMMON_WCHAR_IO_H - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h" - -#ifndef __cplusplus -typedef unsigned short wchar_t; -#endif - -int fwide(FILE* file, int mode); - -#endif /* _MSL_COMMON_WCHAR_IO_H */ diff --git a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h b/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h deleted file mode 100644 index 1eef34b4..00000000 --- a/include/PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h +++ /dev/null @@ -1,234 +0,0 @@ -#ifndef _FDLIBM_H -#define _FDLIBM_H - -/* @(#)fdlibm.h 1.5 04/04/22 */ -/** - * ==================================================== - * Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved. - * - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -#ifdef __cplusplus -extern "C" { -#endif // ifdef __cplusplus - -/* Sometimes it's necessary to define __LITTLE_ENDIAN explicitly - but these catch some common cases. */ - -#if defined(i386) || defined(i486) || defined(intel) || defined(x86) \ - || defined(i86pc) || defined(__alpha) || defined(__osf__) -#define __LITTLE_ENDIAN -#endif - -#ifdef __LITTLE_ENDIAN -#define __HI(x) *(1 + (int*)&x) -#define __LO(x) *(int*)&x -#define __HIp(x) *(1 + (int*)x) -#define __LOp(x) *(int*)x -#else -#define __HI(x) *(int*)&x -#define __LO(x) *(1 + (int*)&x) -#define __HIp(x) *(int*)x -#define __LOp(x) *(1 + (int*)x) -#endif - -// NOTE: should be enabled according to w_atan2.c -#define _IEEE_LIBM - -// TODO: should __STDC__ actually be defined? -// #ifdef __STDC__ -#define __P(p) p -// #else -// #define __P(p) () -// #endif - -/** - * ANSI/POSIX - */ - -extern int signgam; - -#define MAXFLOAT ((f32)3.40282346638528860e+38) - -enum fdversion { fdlibm_ieee = -1, fdlibm_svid, fdlibm_xopen, fdlibm_posix }; - -#define _LIB_VERSION_TYPE enum fdversion -#define _LIB_VERSION _fdlib_version - -/* if global variable _LIB_VERSION is not desirable, one may - * change the following to be a constant by: - * #define _LIB_VERSION_TYPE const enum version - * In that case, after one initializes the value _LIB_VERSION (see - * s_lib_version.c) during compile time, it cannot be modified - * in the middle of a program - */ -extern _LIB_VERSION_TYPE _LIB_VERSION; - -#define _IEEE_ fdlibm_ieee -#define _SVID_ fdlibm_svid -#define _XOPEN_ fdlibm_xopen -#define _POSIX_ fdlibm_posix - -struct exception { - int type; - char* name; - double arg1; - double arg2; - double retval; -}; - -#define HUGE MAXFLOAT - -/** - * set X_TLOSS = pi*2**52, which is possibly defined in - * (one may replace the following line by "#include ") - */ - -#define X_TLOSS 1.41484755040568800000e+16 - -#define DOMAIN 1 -#define SING 2 -#define OVERFLOW 3 -#define UNDERFLOW 4 -#define TLOSS 5 -#define PLOSS 6 - -/** - * ANSI/POSIX - */ -extern double acos __P((double)); -extern double asin __P((double)); -extern double atan __P((double)); -extern double atan2 __P((double, double)); -extern double cos __P((double)); -extern double sin __P((double)); -extern double tan __P((double)); - -extern double cosh __P((double)); -extern double sinh __P((double)); -extern double tanh __P((double)); - -extern double exp __P((double)); -extern double frexp __P((double, int*)); -extern double ldexp __P((double, int)); -extern double scalbn __P((double, int)); -extern double log __P((double)); -extern double log10 __P((double)); -extern double modf __P((double, double*)); - -extern double pow __P((double, double)); -extern double sqrt __P((double)); - -extern double ceil __P((double)); -extern double fabs __P((double)); -// NOTE: I have no idea how they got it to mangle like this -static inline double fabs__Fd(double v) { return __fabs(v); } -extern double floor __P((double)); -extern double fmod __P((double, double)); - -extern double erf __P((double)); -extern double erfc __P((double)); -extern double gamma __P((double)); -extern double hypot __P((double, double)); -extern int isnan __P((double)); -extern int finite __P((double)); -extern double j0 __P((double)); -extern double j1 __P((double)); -extern double jn __P((int, double)); -extern double lgamma __P((double)); -extern double y0 __P((double)); -extern double y1 __P((double)); -extern double yn __P((int, double)); - -extern double acosh __P((double)); -extern double asinh __P((double)); -extern double atanh __P((double)); -extern double cbrt __P((double)); -extern double logb __P((double)); -extern double nextafter __P((double, double)); -extern double remainder __P((double, double)); -#ifdef _SCALB_INT -extern double scalb __P((double, int)); -#else -extern double scalb __P((double, double)); -#endif - -extern int matherr __P((struct exception*)); - -/** - * IEEE Test Vector - */ -extern double significand __P((double)); - -/** - * Functions callable from C, intended to support IEEE arithmetic. - */ -extern double copysign __P((double, double)); -extern int ilogb __P((double)); -extern double rint __P((double)); -extern double scalbn __P((double, int)); - -/** - * BSD math library entry points - */ -extern double expm1 __P((double)); -extern double log1p __P((double)); - -/** - * Reentrant version of gamma & lgamma; passes signgam back by reference - * as the second argument; user must allocate space for signgam. - */ -#ifdef _REENTRANT -extern double gamma_r __P((double, int*)); -extern double lgamma_r __P((double, int*)); -#endif /* _REENTRANT */ - -/* ieee style elementary functions */ -extern double __ieee754_sqrt __P((double)); -extern double __ieee754_acos __P((double)); -extern double __ieee754_acosh __P((double)); -extern double __ieee754_log __P((double)); -extern double __ieee754_atanh __P((double)); -extern double __ieee754_asin __P((double)); -extern double __ieee754_atan2 __P((double, double)); -extern double __ieee754_exp __P((double)); -extern double __ieee754_cosh __P((double)); -extern double __ieee754_fmod __P((double, double)); -extern double __ieee754_pow __P((double, double)); -extern double __ieee754_lgamma_r __P((double, int*)); -extern double __ieee754_gamma_r __P((double, int*)); -extern double __ieee754_lgamma __P((double)); -extern double __ieee754_gamma __P((double)); -extern double __ieee754_log10 __P((double)); -extern double __ieee754_sinh __P((double)); -extern double __ieee754_hypot __P((double, double)); -extern double __ieee754_j0 __P((double)); -extern double __ieee754_j1 __P((double)); -extern double __ieee754_y0 __P((double)); -extern double __ieee754_y1 __P((double)); -extern double __ieee754_jn __P((int, double)); -extern double __ieee754_yn __P((int, double)); -extern double __ieee754_remainder __P((double, double)); -extern int __ieee754_rem_pio2 __P((double, double*)); -#ifdef _SCALB_INT -extern double __ieee754_scalb __P((double, int)); -#else -extern double __ieee754_scalb __P((double, double)); -#endif - -/* fdlibm kernel function */ -extern double __kernel_standard __P((double, double, int)); -extern double __kernel_sin __P((double, double, int)); -extern double __kernel_cos __P((double, double)); -extern double __kernel_tan __P((double, double, int)); -extern int __kernel_rem_pio2 __P((double*, double*, int, int, int, const int*)); - -#ifdef __cplusplus -}; -#endif // ifdef __cplusplus - -#endif diff --git a/include/PowerPC_EABI_Support/Runtime/Gecko_ExceptionPPC.h b/include/PowerPC_EABI_Support/Runtime/Gecko_ExceptionPPC.h deleted file mode 100755 index a864ea0d..00000000 --- a/include/PowerPC_EABI_Support/Runtime/Gecko_ExceptionPPC.h +++ /dev/null @@ -1,231 +0,0 @@ -#ifndef _RUNTIME_GECKO_EXCEPTIONPPC_H -#define _RUNTIME_GECKO_EXCEPTIONPPC_H - -#include - -typedef u8 exaction_type; - -#define EXACTION_ENDBIT 0x80 -#define EXACTION_MASK 0x7F - -// EXAction structs - -#define EXACTION_ENDOFLIST 0 -#define EXACTION_BRANCH 1 - -typedef struct ex_branch { - exaction_type action; - u8 unused; - u16 target; -} ex_branch; - -#define EXACTION_DESTROYLOCAL 2 - -typedef struct ex_destroylocal { - exaction_type action; - u8 unused; - s16 local; - void* dtor; -} ex_destroylocal; - -#define EXACTION_DESTROYLOCALCOND 3 - -typedef struct ex_destroylocalcond { - exaction_type action; - u8 dlc_field; - s16 cond; - s16 local; - void* dtor; -} ex_destroylocalcond; - -#define ex_destroylocalcond_MakeField(regcond) (((regcond) << 7)) -#define ex_destroylocalcond_GetRegCond(field) ((field) >> 7) - -#define EXACTION_DESTROYLOCALPOINTER 4 - -typedef struct ex_destroylocalpointer { - exaction_type action; - u8 dlp_field; - s16 pointer; - void* dtor; -} ex_destroylocalpointer; - -#define ex_destroylocalpointer_MakeField(regpointer) (((regpointer) << 7)) -#define ex_destroylocalpointer_GetRegPointer(field) ((field) >> 7) - -#define EXACTION_DESTROYLOCALARRAY 5 - -typedef struct ex_destroylocalarray { - exaction_type action; - u8 unused; - s16 localarray; - u16 elements; - u16 element_size; - void* dtor; -} ex_destroylocalarray; - -#define EXACTION_DESTROYBASE 6 -#define EXACTION_DESTROYMEMBER 7 - -typedef struct ex_destroymember { - exaction_type action; - u8 dm_field; - s16 objectptr; - s32 offset; - void* dtor; -} ex_destroymember; - -#define ex_destroymember_MakeField(regpointer) (((regpointer) << 7)) -#define ex_destroymember_GetRegPointer(field) ((field) >> 7) - -#define EXACTION_DESTROYMEMBERCOND 8 - -typedef struct ex_destroymembercond { - exaction_type action; - u8 dmc_field; - s16 cond; - s16 objectptr; - s32 offset; - void* dtor; -} ex_destroymembercond; - -#define ex_destroymembercond_MakeField(regcond, regpointer) (((regcond) << 7) | (((regpointer)&0x1) << 6)) -#define ex_destroymembercond_GetRegCond(field) ((field) >> 7) -#define ex_destroymembercond_GetRegPointer(field) (((field) >> 6) & 0x1) - -#define EXACTION_DESTROYMEMBERARRAY 9 - -typedef struct ex_destroymemberarray { - exaction_type action; - u8 dma_field; - s16 objectptr; - s32 offset; - s32 elements; - s32 element_size; - void* dtor; -} ex_destroymemberarray; - -#define ex_destroymemberarray_MakeField(regpointer) (((regpointer) << 7)) -#define ex_destroymemberarray_GetRegPointer(field) ((field) >> 7) - -#define EXACTION_DELETEPOINTER 10 - -typedef struct ex_deletepointer { - exaction_type action; - u8 dp_field; - s16 objectptr; - void* deletefunc; -} ex_deletepointer; - -#define ex_deletepointer_MakeField(regpointer) (((regpointer) << 7)) -#define ex_deletepointer_GetRegPointer(field) ((field) >> 7) - -#define EXACTION_DELETEPOINTERCOND 11 - -typedef struct ex_deletepointercond { - exaction_type action; - u8 dpc_field; - s16 cond; - s16 objectptr; - void* deletefunc; -} ex_deletepointercond; - -#define ex_deletepointercond_MakeField(regcond, regpointer) (((regcond) << 7) | (((regpointer)&0x1) << 6)) -#define ex_deletepointercond_GetRegCond(field) ((field) >> 7) -#define ex_deletepointercond_GetRegPointer(field) (((field) >> 6) & 0x1) - -#define EXACTION_CATCHBLOCK 12 - -typedef struct ex_catchblock { - exaction_type action; - u8 unused; - char* catch_type; - u16 catch_pcoffset; - s16 cinfo_ref; -} ex_catchblock; - -#define EXACTION_ACTIVECATCHBLOCK 13 - -typedef struct ex_activecatchblock { - exaction_type action; - u8 unused; - s16 cinfo_ref; -} ex_activecatchblock; - -#define EXACTION_TERMINATE 14 - -typedef struct ex_terminate { - exaction_type action; - u8 unused; -} ex_terminate; - -#define EXACTION_SPECIFICATION 15 - -typedef struct ex_specification { - exaction_type action; - u8 unused; - u16 specs; - s32 pcoffset; - s32 cinfo_ref; - char* spec[]; -} ex_specification; - -#define EXACTION_CATCHBLOCK_32 16 - -typedef struct ex_catchblock_32 { - exaction_type action; - u8 unused; - char* catch_type; - s32 catch_pcoffset; - s32 cinfo_ref; -} ex_catchblock_32; - -// Other structs - -typedef struct ExceptionRangeSmall { - u16 start; - u16 end; - u16 action; -} ExceptionRangeSmall; - -typedef struct ExceptionTableSmall { - u16 et_field; - ExceptionRangeSmall ranges[0]; -} ExceptionTableSmall; - -typedef struct ExceptionRangeLarge { - u32 start; - u16 size; - u16 action; -} ExceptionRangeLarge; - -typedef struct ExceptionTableLarge { - u16 et_field; - u16 et_field2; - ExceptionRangeLarge ranges[]; -} ExceptionTableLarge; - -#define ET_MakeField(savedGPRs, savedFPRs, savedCR, hasframeptr, isLarge) \ - (((savedGPRs) << 11) | ((savedFPRs & 0x1f) << 6) | ((savedCR & 0x1) << 5) | ((hasframeptr & 0x1) << 4) | ((isLarge & 1) << 3)) - -#define ET_GetSavedGPRs(field) ((field) >> 11) -#define ET_GetSavedFPRs(field) (((field) >> 6) & 0x1f) -#define ET_GetSavedCR(field) (((field) >> 5) & 0x1) -#define ET_GetHasFramePtr(field) (((field) >> 4) & 0x1) -#define ET_IsLargeTable(field) (((field) >> 3) & 0x1) -#define ET_ClearLargeBit(field) ((field) & ~(1 << 3)) -#define ET_SetLargeBit(field) ((field) | (1 << 3)) - -#define ET_HasElfVector(field) (((field) >> 1) & 0x1) - -typedef struct ExceptionTableIndex { - u32 functionoffset; - u32 eti_field; - u32 exceptionoffset; -} ExceptionTableIndex; - -#define ETI_MakeField(direct, fsize) ((((s32)(direct)) << 31) | ((fsize)&0x7fffffff)) -#define ETI_GetDirectStore(field) ((field) >> 31) -#define ETI_GetFunctionSize(field) ((field)&0x7fffffff) - -#endif diff --git a/include/PowerPC_EABI_Support/Runtime/MWCPlusLib.h b/include/PowerPC_EABI_Support/Runtime/MWCPlusLib.h deleted file mode 100644 index 8d78b551..00000000 --- a/include/PowerPC_EABI_Support/Runtime/MWCPlusLib.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef _RUNTIME_MWCPLUSLIB_H -#define _RUNTIME_MWCPLUSLIB_H - -#include "stddef.h" - -#define CTORARG_TYPE int -#define CTORARG_PARTIAL (0) -#define CTORARG_COMPLETE (1) - -#define CTORCALL_COMPLETE(ctor, objptr) \ - (((void (*)(void*, CTORARG_TYPE))ctor)(objptr, CTORARG_COMPLETE)) - -#define DTORARG_TYPE int - -#define DTORCALL_COMPLETE(dtor, objptr) \ - (((void (*)(void*, DTORARG_TYPE))dtor)(objptr, -1)) -#define DTORCALL_PARTIAL(dtor, objptr) \ - (((void (*)(void*, DTORARG_TYPE))dtor)(objptr, 0)) - -typedef void* ConstructorDestructor; - -#ifdef __cplusplus -extern "C" { -#endif - -extern void* __copy(char* to, char* from, size_t size); - -extern void __construct_array(void* ptr, ConstructorDestructor ctor, - ConstructorDestructor dtor, size_t size, - size_t n); -extern void __destroy_arr(void* block, ConstructorDestructor* dtor, size_t size, - size_t n); -extern void* __construct_new_array(void* block, ConstructorDestructor ctor, - ConstructorDestructor dtor_arg, size_t size, - size_t n); -extern void __destroy_new_array(void* block, ConstructorDestructor dtor); -extern void __destroy_new_array2(); -extern void __destroy_new_array3(); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/include/PowerPC_EABI_Support/Runtime/NMWException.h b/include/PowerPC_EABI_Support/Runtime/NMWException.h deleted file mode 100644 index aba83f4d..00000000 --- a/include/PowerPC_EABI_Support/Runtime/NMWException.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef _NMWEXCEPTION -#define _NMWEXCEPTION - -#include "types.h" -#include "PowerPC_EABI_Support/Runtime/exception.h" -#include "PowerPC_EABI_Support/Runtime/__ppc_eabi_linker.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef s16 vbase_ctor_arg_type; -typedef char local_cond_type; - -typedef struct CatchInfo { - void* location; - void* typeinfo; - void* dtor; - void* sublocation; - s32 pointercopy; - void* stacktop; -} CatchInfo; - -typedef struct DestructorChain { - struct DestructorChain* next; - void* destructor; - void* object; -} DestructorChain; - -extern void* __register_global_object(void* object, void* destructor, void* registration); -extern void __destroy_global_chain(void); - -extern void __end__catch(CatchInfo* catchinfo); -extern void __throw(char* throwtype, void* location, void* dtor); -extern char __throw_catch_compare(const char* throwtype, const char* catchtype, s32* offset_result); -extern void __unexpected(CatchInfo* catchinfo); - -extern int __register_fragment(struct __eti_init_info* info, char* TOC); -extern void __unregister_fragment(int fragmentID); - -#ifdef __cplusplus -} -#endif - -#endif // _NMWEXCEPTION diff --git a/include/PowerPC_EABI_Support/Runtime/New.h b/include/PowerPC_EABI_Support/Runtime/New.h deleted file mode 100644 index 1ae725b4..00000000 --- a/include/PowerPC_EABI_Support/Runtime/New.h +++ /dev/null @@ -1 +0,0 @@ -void operator delete(void* arg0); diff --git a/include/PowerPC_EABI_Support/Runtime/__mem.h b/include/PowerPC_EABI_Support/Runtime/__mem.h deleted file mode 100644 index 0a885b8f..00000000 --- a/include/PowerPC_EABI_Support/Runtime/__mem.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef _RUNTIME_MEM_H -#define _RUNTIME_MEM_H - -#include "stddef.h" - -#ifdef __cplusplus -extern "C" { -#endif - -__declspec(section ".init") void* memcpy(void* dest, const void* src, size_t n); -__declspec(section ".init") void* memset(void* dest, int val, size_t count); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/include/PowerPC_EABI_Support/Runtime/__ppc_eabi_linker.h b/include/PowerPC_EABI_Support/Runtime/__ppc_eabi_linker.h deleted file mode 100644 index a2fa3d63..00000000 --- a/include/PowerPC_EABI_Support/Runtime/__ppc_eabi_linker.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef __PPC_EABI_LINKER -#define __PPC_EABI_LINKER - -__declspec(section ".init") extern char _stack_addr[]; -__declspec(section ".init") extern char _stack_end[]; -__declspec(section ".init") extern char _heap_addr[]; -__declspec(section ".init") extern char _heap_end[]; -__declspec(section ".init") extern const char _fextabindex_rom[]; -__declspec(section ".init") extern char _fextabindex[]; -__declspec(section ".init") extern char _eextabindex[]; - -__declspec(section ".init") extern char _SDA_BASE_[]; - -__declspec(section ".init") extern char _SDA2_BASE_[]; - -typedef struct __rom_copy_info { - char* rom; - char* addr; - unsigned int size; -} __rom_copy_info; - -__declspec(section ".init") extern __rom_copy_info _rom_copy_info[]; - -typedef struct __bss_init_info { - char* addr; - unsigned int size; -} __bss_init_info; - -__declspec(section ".init") extern __bss_init_info _bss_init_info[]; - -typedef struct __eti_init_info { - void* eti_start; - void* eti_end; - void* code_start; - unsigned long code_size; -} __eti_init_info; - -__declspec(section ".init") extern __eti_init_info _eti_init_info[]; -__declspec(section ".init") extern const char _f_init_rom[]; -__declspec(section ".init") extern char _f_init[]; -__declspec(section ".init") extern char _e_init[]; -__declspec(section ".init") extern const char _f_text_rom[]; -__declspec(section ".init") extern char _f_text[]; -__declspec(section ".init") extern char _e_text[]; -__declspec(section ".init") extern const char _f_rodata_rom[]; -__declspec(section ".init") extern char _f_rodata[]; -__declspec(section ".init") extern char _e_rodata[]; -__declspec(section ".init") extern const char _fextab_rom[]; -__declspec(section ".init") extern char _fextab[]; -__declspec(section ".init") extern char _eextab[]; -__declspec(section ".init") extern const char _f_data_rom[]; -__declspec(section ".init") extern char _f_data[]; -__declspec(section ".init") extern char _e_data[]; -__declspec(section ".init") extern char _f_bss[]; -__declspec(section ".init") extern char _e_bss[]; -__declspec(section ".init") extern const char _f_sdata_rom[]; -__declspec(section ".init") extern char _f_sdata[]; -__declspec(section ".init") extern char _e_sdata[]; -__declspec(section ".init") extern char _f_sbss[]; -__declspec(section ".init") extern char _e_sbss[]; -__declspec(section ".init") extern const char _f_sdata2_rom[]; -__declspec(section ".init") extern char _f_sdata2[]; -__declspec(section ".init") extern char _e_sdata2[]; -__declspec(section ".init") extern char _f_sbss2[]; -__declspec(section ".init") extern char _e_sbss2[]; -__declspec(section ".init") extern const char _f_PPC_EMB_sdata0_rom[]; -__declspec(section ".init") extern char _f_PPC_EMB_sdata0[]; -__declspec(section ".init") extern char _e_PPC_EMB_sdata0[]; -__declspec(section ".init") extern char _f_PPC_EMB_sbss0[]; -__declspec(section ".init") extern char _e_PPC_EMB_sbss0[]; - -#endif // __PPC_EABI_LINKER diff --git a/include/PowerPC_EABI_Support/Runtime/exception.h b/include/PowerPC_EABI_Support/Runtime/exception.h deleted file mode 100755 index 2530b3de..00000000 --- a/include/PowerPC_EABI_Support/Runtime/exception.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _EXCEPTION -#define _EXCEPTION - -namespace std { -class exception { -public: - exception() { } - virtual ~exception() { } - virtual const char* what() const { return "exception"; } -}; - -class bad_exception : public exception { -public: - bad_exception() { } - virtual ~bad_exception() { } - virtual const char* what() const { return "bad_exception"; } -}; - -typedef void (*unexpected_handler)(); -unexpected_handler set_unexpected(unexpected_handler handler); -void unexpected(); - -typedef void (*terminate_handler)(); -terminate_handler set_terminate(terminate_handler handler); -void terminate(); - -} // namespace std - -using std::bad_exception; -using std::exception; -using std::set_terminate; -using std::set_unexpected; -using std::terminate; -using std::terminate_handler; -using std::unexpected; -using std::unexpected_handler; - -#endif diff --git a/include/REL/instDll.h b/include/REL/instDll.h deleted file mode 100644 index adf1fe5c..00000000 --- a/include/REL/instDll.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef INSTDLL_H -#define INSTDLL_H - -#include "game/minigame_seq.h" - -s32 FontCreate(SeqWork *work, char *mess, s16 jp_flag); - -#endif diff --git a/include/REL/m407dll.h b/include/REL/m407dll.h deleted file mode 100644 index e007469c..00000000 --- a/include/REL/m407dll.h +++ /dev/null @@ -1,55 +0,0 @@ -#ifndef M407DLL_H -#define M407DLL_H - -#include "game/object.h" - -typedef void (*VoidFuncs)(void); -typedef void (*ObjFuncs)(omObjData *); - -void fn_1_F4(Process *arg0); -void fn_1_194(void); -void fn_1_1E4(void); -void fn_1_238(void); -void fn_1_28C(void); -void fn_1_2E0(void); -void fn_1_334(void); -void fn_1_388(u8, s32); -void fn_1_3C4(u8); -void fn_1_404(void); -s32 fn_1_508(u8); -s32 fn_1_53C(u8); -void fn_1_568(s16, s16, s16); - -void fn_1_14F0(Process *arg0, s32 arg1); -void fn_1_15D8(void); - -void fn_1_1B1C(Process *arg0); -void fn_1_1CA8(void); -void fn_1_1CAC(float, float, float); -void fn_1_1CD4(float *arg0, float *arg1, float *arg2); -s32 fn_1_1D88(void); -void fn_1_1DB0(Vec *arg0, Vec *arg1, float *arg2, s32 arg3, s32 arg4); - -void fn_1_2354(Process *arg0); -void fn_1_2564(void); -void fn_1_25C0(void); -s32 fn_1_2880(void); -#ifndef __MWERKS__ -s16 fn_1_28B8(u8 arg0); -s16 fn_1_28D4(void); -#endif - -void fn_1_3AC8(Process *arg0); -void fn_1_3B68(void); - -void fn_1_41CC(Process *arg0); -void fn_1_44F4(void); - -void fn_1_4980(Process *arg0); -void fn_1_4C6C(omObjData *obj); - -void fn_1_5C5C(Process *arg0, s16 arg1); -void fn_1_5ECC(void); -void fn_1_5F40(s32 arg0); - -#endif diff --git a/include/REL/m409Dll.h b/include/REL/m409Dll.h index 1f7519b4..d79dee5c 100644 --- a/include/REL/m409Dll.h +++ b/include/REL/m409Dll.h @@ -1,20 +1,16 @@ -#ifndef M409DLL_H -#define M409DLL_H - #include "dolphin.h" +#include "game/object.h" #include "game/animdata.h" #include "game/hsfanim.h" -#include "game/object.h" - extern s32 rand8(void); // types -typedef void (*m409Func6)(ModelData *, struct _unkStruct6 *, Mtx); -typedef void (*m409PlayerFunc8)(struct _unkStruct8 *); +typedef void (*m409Func6)(ModelData*, struct _unkStruct6*, Mtx); +typedef void (*m409PlayerFunc8)(struct _unkStruct8*); typedef struct _unkStruct { - float zoom; + f32 zoom; Vec center; Vec rot; } unkStruct; @@ -28,14 +24,14 @@ typedef struct _unkStruct3 { s8 unk0; s8 unk1; s16 unk2; - struct _unkStruct4 *unk4; + struct _unkStruct4* unk4; s16 unk8; s16 unkA; s16 unkC; s16 unkE; s16 unk10; s16 unk12; - float unk14; + f32 unk14; } unkStruct3; typedef struct _unkStruct4 { @@ -50,26 +46,26 @@ typedef struct _unkStruct4 { s16 unkA; s16 unkC; s16 unkE; - float unk10; + f32 unk10; s16 unk14; s16 unk16; - float unk18; - float unk1C; - struct _unkStruct4 *unk20; + f32 unk18; + f32 unk1C; + struct _unkStruct4* unk20; } unkStruct4; // sizeof 0x24 typedef struct _unkStruct5 { Vec unk0; Vec unkC; - float unk18; - float unk1C; - float unk20; - float unk24; + f32 unk18; + f32 unk1C; + f32 unk20; + f32 unk24; s16 unk28; s16 unk2A; s16 unk2C; s16 unk2E; - float unk30; + f32 unk30; Vec unk34; Vec unk40; s16 unk4C; @@ -82,20 +78,20 @@ typedef struct _unkStruct6 { u32 unk4; u8 unk8; m409Func6 unkC; - AnimData *unk10; + AnimData* unk10; s16 unk14; - unkStruct5 *unk18; - Vec *unk1C; - HsfVector2f *unk20; - GXColor *unk24; - void *unk28; + unkStruct5* unk18; + Vec* unk1C; + HsfVector2f* unk20; + GXColor* unk24; + void* unk28; Vec unk2C; Vec unk38; Vec unk44; Vec unk50; - HsfVector2f *unk5C; - float unk60; - float unk64; + HsfVector2f* unk5C; + f32 unk60; + f32 unk64; } unkStruct6; // sizeof 0x68 typedef struct _unkStruct7 { @@ -148,22 +144,22 @@ typedef struct _unkStruct8Sub { u8 unk32; u32 unk34; s16 unk38; - void *unk3C; - void *unk40; - void *unk44; - Vec *unk48; + void* unk3C; + void* unk40; + void* unk44; + Vec* unk48; GXColor unk4C; GXColor unk50; - struct _unkStruct12 *unk54; + struct _unkStruct12* unk54; Vec unk58; Vec unk64; union { s16 unk70[0x10]; struct { s16 unk70s; - float unk74; - float unk78; - float unk7C; + f32 unk74; + f32 unk78; + f32 unk7C; }; }; } unkStruct8Sub; // sizeof 0x90 @@ -178,9 +174,9 @@ typedef struct _unkStruct8 { Vec unk18; Vec unk24; m409PlayerFunc8 unk30; - s16 *unk34; + s16* unk34; char unk38[0x4]; - unkStruct8Sub *unk3C; + unkStruct8Sub* unk3C; char unk40[0x8]; Vec unk48; Vec unk54; @@ -188,7 +184,7 @@ typedef struct _unkStruct8 { } unkStruct8; // sizeof 0xA0 typedef struct _unkStruct9Sub { - AnimData *unk0; + AnimData* unk0; s16 unk4; s16 unk6; u32 unk8; @@ -198,10 +194,10 @@ typedef struct _unkStruct9Sub { u8 unk4C; s16 unk4E; s16 unk50; - float unk54; - float unk58; - float unk5C; - float unk60; + f32 unk54; + f32 unk58; + f32 unk5C; + f32 unk60; } unkStruct9Sub; // sizeof 0x64 typedef struct _unkStruct9 { @@ -211,8 +207,8 @@ typedef struct _unkStruct9 { s16 unk6; s16 unk8; s16 unkA; - unkStruct9Sub *unkC; - unkStruct8 *unk10; + unkStruct9Sub* unkC; + unkStruct8* unk10; } unkStruct9; // sizeof 0x14 typedef struct _unkStruct10 { @@ -222,7 +218,7 @@ typedef struct _unkStruct10 { u8 unk3; u8 unk4; char unk5[0x3]; - float unk8; + f32 unk8; Vec unkC; Vec unk18; Vec unk24; @@ -230,7 +226,7 @@ typedef struct _unkStruct10 { Vec unk3C; s8 unk48; char unk49[0x3]; - float unk4C; + f32 unk4C; } unkStruct10; // sizeof 0x50 typedef struct unkStruct11 { @@ -244,128 +240,176 @@ typedef struct _unkStruct12 { s8 unk0; s8 unk1; s16 unk2; - HsfVector2f *unk4; + HsfVector2f* unk4; u8 unk8; s16 unkA; - float unkC; - float unk10; + f32 unkC; + f32 unk10; } unkStruct12; // bss +// player.c +extern omObjData* lbl_1_bss_3A0[4]; +extern omObjData* lbl_1_bss_39C; +extern s32 lbl_1_bss_38C[4]; +extern unkStruct10 lbl_1_bss_10C[8]; +extern s16 lbl_1_bss_108; +extern s16 lbl_1_bss_106; +extern s16 lbl_1_bss_104; extern unkStruct9 lbl_1_bss_F0; +// main.c +extern Process* lbl_1_bss_E8; +extern s16 lbl_1_bss_E4; +extern omObjData* lbl_1_bss_E0; +extern omObjData* lbl_1_bss_DC; +extern Vec lbl_1_bss_D0; +extern unkStruct4 lbl_1_bss_40[4]; +extern s32 lbl_1_bss_3C; +extern unkStruct3 lbl_1_bss_24; +extern s8 lbl_1_bss_21; +extern u8 lbl_1_bss_20; +extern f32 lbl_1_bss_1C; +extern f32 lbl_1_bss_18; +extern s16 lbl_1_bss_16; +extern s8 lbl_1_bss_14; +extern f32 lbl_1_bss_10; +extern f32 lbl_1_bss_C; +extern s8 lbl_1_bss_A; +extern s16 lbl_1_bss_8; +extern s8 lbl_1_bss_6; +extern s16 lbl_1_bss_4; +extern s16 lbl_1_bss_2; +extern s8 lbl_1_bss_0; + +// data +// main.c +extern Vec lbl_1_data_0; +extern Vec lbl_1_data_C; +extern unkStruct2 lbl_1_data_18; +extern Vec lbl_1_data_28; +extern Vec lbl_1_data_34; +extern Vec lbl_1_data_40; +extern unkStruct lbl_1_data_4C[4]; +extern u32 lbl_1_data_BC; +extern s32 lbl_1_data_C0; +// player.c +extern u32 lbl_1_data_138; // unk +extern s32 lbl_1_data_13C[7]; +extern GXColor lbl_1_data_158[8]; +extern HsfVector2f lbl_1_data_178[4]; +extern GXColor lbl_1_data_198[8]; +extern u32 lbl_1_data_1EC; // prototypes -void ObjectSetup(void); -void fn_1_434(omObjData *object); -void fn_1_4DC(omObjData *object); -s8 fn_1_524(void); -s8 fn_1_B80(void); -void fn_1_DDC(omObjData *object); -void fn_1_F70(omObjData *object); -s8 fn_1_10E8(omObjData *object); -s8 fn_1_1B74(omObjData *object); -void fn_1_2098(omObjData *object); -void fn_1_23EC(s16); -void fn_1_2414(u16, u16); -u16 fn_1_2454(u16); -void fn_1_2484(omObjData *object); -void fn_1_2DCC(omObjData *object); -void fn_1_3840(void); -void fn_1_3988(unkStruct4 *, s16, s16); -s32 fn_1_3AD8(s32, float, float, float, float, float, float); -void fn_1_40A4(Mtx, Mtx); -float fn_1_4120(float, float, float, float); -void fn_1_417C(void); -void fn_1_44F0(s16, float, float, float, s8, s16); -void fn_1_4FFC(s16, float, float, float, s16); -void fn_1_5408(ModelData *, unkStruct6 *, Mtx); -void fn_1_55E0(ModelData *, unkStruct6 *, Mtx); -void fn_1_57DC(ModelData *, unkStruct6 *, Mtx); -unkStruct5 *fn_1_58E0(s16, Vec *, Vec *, float, GXColor *); -s16 fn_1_5A18(AnimData *, s16, float, s16, s16); -void fn_1_5F5C(s16); -void fn_1_5FBC(s16, m409Func6); -void fn_1_5FF4(s16, u8); -void fn_1_602C(ModelData *, Mtx); -void fn_1_6608(HsfVector2f *, s16, s16, float, float); -void fn_1_66D4(HsfVector2f *, HsfVector2f *, s16, float, float); -void fn_1_6778(Vec *, Vec *, Vec *, s16); +extern void ModuleProlog(void); +extern void fn_1_434(omObjData* object); +extern void fn_1_4DC(omObjData* object); +extern s8 fn_1_524(void); +extern s8 fn_1_B80(void); +extern void fn_1_DDC(omObjData* object); +extern void fn_1_F70(omObjData* object); +extern s8 fn_1_10E8(omObjData* object); +extern s8 fn_1_1B74(omObjData* object); +extern void fn_1_2098(omObjData* object); +extern void fn_1_23EC(s16); +extern void fn_1_2414(u16, u16); +extern u16 fn_1_2454(u16); +extern void fn_1_2484(omObjData* object); +extern void fn_1_2DCC(omObjData* object); +extern void fn_1_3840(void); +extern void fn_1_3988(unkStruct4*, s16, s16); +extern s32 fn_1_3AD8(s32, f32, f32, f32, f32, f32, f32); +extern void fn_1_40A4(Mtx, Mtx); +extern f32 fn_1_4120(f32, f32, f32, f32); +extern void fn_1_417C(void); +extern void fn_1_44F0(s16, f32, f32, f32, s8, s16); +extern void fn_1_4FFC(s16, f32, f32, f32, s16); +extern void fn_1_5408(ModelData*, unkStruct6*, Mtx); +extern void fn_1_55E0(ModelData*, unkStruct6*, Mtx); +extern void fn_1_57DC(ModelData*, unkStruct6*, Mtx); +extern unkStruct5* fn_1_58E0(s16, Vec*, Vec*, f32, GXColor*); +extern s16 fn_1_5A18(AnimData*, s16, f32, s16, s16); +extern void fn_1_5F5C(s16); +extern void fn_1_5FBC(s16, m409Func6); +extern void fn_1_5FF4(s16, u8); +extern void fn_1_602C(ModelData*, Mtx); +extern void fn_1_6608(HsfVector2f*, s16, s16, f32, f32); +extern void fn_1_66D4(HsfVector2f*, HsfVector2f*, s16, f32, f32); +extern void fn_1_6778(Vec*, Vec*, Vec*, s16); // player.c -void fn_1_67E0(Process *); -void fn_1_6900(void); -void fn_1_6928(omObjData *); -void fn_1_7344(omObjData *); -void fn_1_7FE8(omObjData *); -void fn_1_8838(unkStruct8 *); -s8 fn_1_8D08(u8); -void fn_1_8D6C(unkStruct8 *); -void fn_1_91C0(omObjData *); -void fn_1_962C(omObjData *); -s32 fn_1_A584(unkStruct10 *); -s8 fn_1_A9C0(Vec *, float *); -s32 fn_1_ABB4(void); -void fn_1_AC08(s32 *, s32); -float fn_1_AD40(float, float, float); -float fn_1_AE94(float, float, float, float); -void fn_1_AF0C(float *, float *, float *, float *, float); -float fn_1_B028(float, float, float, float); -void fn_1_B0A0(float *, float *, float *, float *, float); -float fn_1_B378(Vec *); -float fn_1_B6A4(Vec *, Vec *, Vec *); -float fn_1_B9E0(Vec *, Vec *, Vec *, Vec *, Vec *); -float fn_1_BF38(s16); +extern void fn_1_67E0(Process*); +extern void fn_1_6900(void); +extern void fn_1_6928(omObjData*); +extern void fn_1_7344(omObjData*); +extern void fn_1_7FE8(omObjData*); +extern void fn_1_8838(unkStruct8*); +extern s8 fn_1_8D08(u8); +extern void fn_1_8D6C(unkStruct8*); +extern void fn_1_91C0(omObjData*); +extern void fn_1_962C(omObjData*); +extern s32 fn_1_A584(unkStruct10*); +extern s8 fn_1_A9C0(Vec*, f32*); +extern s32 fn_1_ABB4(void); +extern void fn_1_AC08(s32*, s32); +extern f32 fn_1_AD40(f32, f32, f32); +extern f32 fn_1_AE94(f32, f32, f32, f32); +extern void fn_1_AF0C(f32*, f32*, f32*, f32*, f32); +extern f32 fn_1_B028(f32, f32, f32, f32); +extern void fn_1_B0A0(f32*, f32*, f32*, f32*, f32); +extern f32 fn_1_B378(Vec*); +extern f32 fn_1_B6A4(Vec*, Vec*, Vec*); +extern f32 fn_1_B9E0(Vec*, Vec*, Vec*, Vec*, Vec*); +extern f32 fn_1_BF38(s16); // cursor.c -void fn_1_BF88(s16, s16); -void fn_1_C0C0(void); -void fn_1_C164(unkStruct8 *); -void fn_1_CB98(ModelData *model, Mtx matrix); -unkStruct8 *fn_1_CCB0(s16 idx); -unkStruct8Sub *fn_1_CCCC(s16, s16); -void fn_1_CCF8(unkStruct11 **, s16, float, float); -void fn_1_CE7C(Vec **, s16, Vec *); -void fn_1_CF1C(GXColor **, s16, GXColor *); -void fn_1_CFC4(Vec **, s16, Vec *); -void fn_1_D050(HsfVector2f **, s16, HsfVector2f *); -void fn_1_D0E8(unkStruct8Sub *); -void fn_1_D430(unkStruct8 *); -s16 fn_1_DA48(u8, u8); -void fn_1_DDB8(s16); -void fn_1_DEF4(s16, s16, u8); -s16 fn_1_DF20(u32, s16, s16); -void fn_1_E228(s16); -s32 fn_1_E2A8(s16, u8, u32, s16, s16); -s32 fn_1_E7C8(s16, u8, u32); -void fn_1_E818(s16, float, float, float); -void fn_1_E85C(s16, s16, float, float, float); -void fn_1_E8CC(s16, float, float, float); -void fn_1_E940(s16, float, float, float); -void fn_1_E99C(s16, s16, float, float, float); -void fn_1_E940(s16, float, float, float); -void fn_1_EA24(s16, float, float, float); -void fn_1_EAB0(s16, float, float, float); -void fn_1_EAF4(s16, s16, float, float, float); -void fn_1_EB64(s16, float, float, float); -void fn_1_EBD8(s16, float, float, float); -void fn_1_EC1C(s16, s16, float, float, float); -void fn_1_EC8C(s16, float, float, float); -void fn_1_ED00(s16, s32); -void fn_1_ED44(s16, s16, s32); -void fn_1_EDB4(s16, s32); -void fn_1_EE24(s16, u32); -void fn_1_EE68(s16, s16, u32); -void fn_1_EED8(s16, u32); -s32 fn_1_EF48(s16, s32); -s32 fn_1_EFA4(s16, s16, s32); -void fn_1_F024(s16, s16, u8, u8, u8, u8); -void fn_1_F098(s16, u8, u8, u8, u8); -void fn_1_F110(s16, s16, u8); -void fn_1_F17C(s16, s16, u8, u8); -void fn_1_F1F4(s16, u8); -void fn_1_F28C(s16, s16, float); -void fn_1_F2F8(s16, s16, u8, float); -void fn_1_F370(s16, float); -void fn_1_F408(s16, s16, u8); -void fn_1_F478(s16, s16, u8, u8); -void fn_1_F4F0(s16, u8); - -#endif +extern void fn_1_BF88(s16, s16); +extern void fn_1_C0C0(void); +extern void fn_1_C164(unkStruct8*); +extern void fn_1_CB98(ModelData* model, Mtx matrix); +extern unkStruct8* fn_1_CCB0(s16 idx); +extern unkStruct8Sub* fn_1_CCCC(s16, s16); +extern void fn_1_CCF8(unkStruct11**, s16, f32, f32); +extern void fn_1_CE7C(Vec**, s16, Vec*); +extern void fn_1_CF1C(GXColor**, s16, GXColor*); +extern void fn_1_CFC4(Vec**, s16, Vec*); +extern void fn_1_D050(HsfVector2f**, s16, HsfVector2f*); +extern void fn_1_D0E8(unkStruct8Sub*); +extern void fn_1_D430(unkStruct8*); +extern s16 fn_1_DA48(u8, u8); +extern void fn_1_DDB8(s16); +extern void fn_1_DEF4(s16, s16, u8); +extern s16 fn_1_DF20(u32, s16, s16); +extern void fn_1_E228(s16); +extern s32 fn_1_E2A8(s16, u8, u32, s16, s16); +extern s32 fn_1_E7C8(s16, u8, u32); +extern void fn_1_E818(s16, f32, f32, f32); +extern void fn_1_E85C(s16, s16, f32, f32, f32); +extern void fn_1_E8CC(s16, f32, f32, f32); +extern void fn_1_E940(s16, f32, f32, f32); +extern void fn_1_E99C(s16, s16, f32, f32, f32); +extern void fn_1_E940(s16, f32, f32, f32); +extern void fn_1_EA24(s16, f32, f32, f32); +extern void fn_1_EAB0(s16, f32, f32, f32); +extern void fn_1_EAF4(s16, s16, f32, f32, f32); +extern void fn_1_EB64(s16, f32, f32, f32); +extern void fn_1_EBD8(s16, f32, f32, f32); +extern void fn_1_EC1C(s16, s16, f32, f32, f32); +extern void fn_1_EC8C(s16, f32, f32, f32); +extern void fn_1_ED00(s16, s32); +extern void fn_1_ED44(s16, s16, s32); +extern void fn_1_EDB4(s16, s32); +extern void fn_1_EE24(s16, u32); +extern void fn_1_EE68(s16, s16, u32); +extern void fn_1_EED8(s16, u32); +extern s32 fn_1_EF48(s16, s32); +extern s32 fn_1_EFA4(s16, s16, s32); +extern void fn_1_F024(s16, s16, u8, u8, u8, u8); +extern void fn_1_F098(s16, u8, u8, u8, u8); +extern void fn_1_F110(s16, s16, u8); +extern void fn_1_F17C(s16, s16, u8, u8); +extern void fn_1_F1F4(s16, u8); +extern void fn_1_F28C(s16, s16, f32); +extern void fn_1_F2F8(s16, s16, u8, f32); +extern void fn_1_F370(s16, f32); +extern void fn_1_F408(s16, s16, u8); +extern void fn_1_F478(s16, s16, u8, u8); +extern void fn_1_F4F0(s16, u8); \ No newline at end of file diff --git a/include/REL/m412Dll.h b/include/REL/m412Dll.h deleted file mode 100644 index c91edb68..00000000 --- a/include/REL/m412Dll.h +++ /dev/null @@ -1,121 +0,0 @@ -#ifndef M412DLL_H -#define M412DLL_H - -#include "dolphin.h" - -#include "game/hsfman.h" -#include "game/object.h" - - -// types -typedef struct _unkStruct { - s16 unk0; - s16 unk2; - s16 unk4; - s16 unk6; - s16 unk8; - s16 unkA; - s16 unkC; - Vec unk10; - HsfVector2f unk1C; - Vec unk24; - float unk30; -} unkStruct; - -typedef struct _unkStruct2 { - s16 unk0; - s16 unk2; - s16 unk4; - s16 unk6; - s16 unk8; - s16 unkA; - s16 unkC[5]; - s16 unk16[5]; - s16 unk20; - s32 unk24; - s32 unk28; - Vec unk2C; - Vec unk38; -} unkStruct2; // sizeof 0x44 - -typedef struct _unkStruct3 { - s16 unk0; - s16 unk2; - s16 unk4; - s16 unk6; - s16 unk8; - s16 unkA; - s16 unkC[6]; - s16 unk18[6]; - s32 unk24; - s32 unk28; - s32 unk2C; - s32 unk30; - char unk34[0x4]; - s32 unk38; - s32 unk3C; - Vec unk40; - HsfVector2f unk4C; - Vec unk54; - Vec unk60; - float unk6C; - char unk70[0xC]; - Vec unk7C; - s8 unk88; - s8 unk89; - s8 unk8A; - s8 unk8B; - u16 unk8C; - u16 unk8E; - HsfVector2f unk90; - float unk98; - s32 unk9C; - s32 unkA0; - s32 unkA4; -} unkStruct3; // sizeof 0xA8 - -typedef struct _unkStruct4 { - s32 unk0; - s32 unk4; - s32 unk8; - Vec unkC; -} unkStruct4; - -// prototypes -void ObjectSetup(void); -void *fn_1_6EC(float, float, float, s32); -void fn_1_73C(void); -void fn_1_7BC(void); -void fn_1_894(omObjData *object); -void fn_1_898(omObjData *object); -void fn_1_8BC(void); -float fn_1_1D08(float); -void fn_1_1D88(void); -void fn_1_1DBC(void); -void fn_1_2014(void); -void fn_1_2064(void); -s32 fn_1_2708(void); -float fn_1_27C4(s32, float, float); -void fn_1_2A1C(void); -void fn_1_3950(void); -s8 fn_1_4BE4(s32, s32); -void fn_1_4C9C(Vec *, float, float); -s8 fn_1_4E58(s32, s32); -u8 fn_1_525C(s32, s32); -u16 fn_1_531C(s32); -u16 fn_1_5388(s32); -s32 fn_1_53F4(unkStruct3 *, float, float, float); -s32 fn_1_561C(unkStruct3 *, s32 *); -void fn_1_5838(unkStruct3 *); -float fn_1_6594(float, float, float); -float fn_1_6698(float, float, unkStruct3 *); -void fn_1_6814(unkStruct3 *); -void fn_1_7C60(void); -void fn_1_A01C(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_A618(ModelData *model, ParticleData *particle, Mtx matrix); -//... -void fn_1_AA88(ModelData *model, ParticleData *particle, Mtx matrix); // * -void fn_1_B160(void); // * -void fn_1_B1C0(void); // * - -#endif diff --git a/include/REL/m415Dll.h b/include/REL/m415Dll.h deleted file mode 100644 index 0be73a76..00000000 --- a/include/REL/m415Dll.h +++ /dev/null @@ -1,278 +0,0 @@ -#include "dolphin.h" - -#include "game/hsfman.h" -#include "game/object.h" - -extern u8 texMtxTbl[]; - -#define FABS(x) ((x < 0.0f) ? -(x) : (x)) - -// types -typedef struct _unkType2 { - char unk[0x10]; -} unkType2; - -typedef struct _unkType { - unkType2 unk[0x10]; -} unkType; - -typedef struct _unkType3 { - Vec unk[4]; -} unkType3; - -typedef struct _unkStruct { - s16 unk0[3]; - s16 unk6; - s16 unk8; -} unkStruct; // sizeof 0xC - -typedef struct _unkStruct2 { - char unk[0xE]; - s8 unkE; -} unkStruct2; - -typedef struct _unkStruct3 { - u8 unk0; - u8 unk1; - u8 unk2; - u8 unk3; - u8 unk4; - u8 unk5; - u8 unk6; - u8 unk7; - char unk8[0x2]; - u8 unkA; - u8 unkB; - u8 unkC; - u8 unkD; - u8 unkE; - u8 unkF; - s16 unk10; - s16 unk12; - s16 unk14; - s16 unk16; - s16 unk18; - s16 unk1A; - float unk1C; - float unk20; - float unk24; - float unk28; - Vec unk2C; - Vec unk38; - Vec unk44; - Vec unk50; - u8 unk5C; - u8 unk5D; - union { - s32 *unk60; - struct { - s16 unk60s; - s16 unk62s; - }; - }; - s16 unk64; - s16 unk66; - s16 unk68; - Vec unk6C; -} unkStruct3; - -typedef struct _unkStruct4 { - u8 unk0; - Vec unk4; - Vec unk10; - Vec unk1C; - Vec unk28; - Vec unk34; - Vec unk40; - Vec unk4C; - Vec unk58; - Vec unk64[3]; - Vec unk88[3]; - Vec unkAC[3]; - Vec unkD0[3]; - float unkF4[3]; - float unk100[3]; - float unk10C[3]; - float unk118[3]; - float unk124[3]; - float unk130; - float unk134; - float unk138; - float unk13C; - float unk140; - float unk144; - float unk148; -} unkStruct4; - -typedef struct _unkSubStruct4 { - s8 unk0; - s8 unk1; - char unk2[0x2]; - HsfVector2f unk4[4]; - u8 unk24; - char unk25[0x3]; - float unk28; - float unk2C; -} unkSubStruct4; - -// taken from m438 -typedef struct _unkSubStruct { - Vec unk0; - Vec unkC; - Vec unk18; - char unk24[0xC]; - u8 unk30; - u8 unk31; - u8 unk32; - u8 unk33; - u32 unk34; - s16 unk38; - void *unk3C; - Vec *unk40; - GXColor *unk44; - Vec *unk48; - GXColor unk4C; - GXColor unk50; - unkSubStruct4 *unk54; - u8 unk58; - char unk59[0x3]; - Vec unk5C; - Vec unk68; - s16 unk74[2]; - s16 *unk78; - s16 *unk7C; - char unk80[0x14]; -} unkSubStruct; /* size = 0x94 */ - -typedef void (*unkSubStruct2Func)(struct _unkSubStruct2 *); - -typedef struct _unkSubStruct2 { - s16 unk0; - s16 unk2; - u8 unk4; - u32 unk8; - Vec unkC; - Vec unk18; - Vec unk24; - void (*unk30)(struct _unkSubStruct2 *); - s16 *unk34; - s16 unk38; - char unk3A[2]; - unkSubStruct *unk3C; - char unk40[0x8]; - s16 unk48; - char *unk4C; - Vec *unk50; - GXColor *unk54; - Vec *unk58; - unkSubStruct4 *unk5C; - u8 unk60; - char unk61[0x3]; - Vec unk64; - Vec unk70; - union { - s16 unk7C[0x20]; - struct { - s16 unk7Cs; - s16 unk7Es; - float unk80; - float unk84; - float unk88; - float unk8C; - float unk90; - char unk94[0x28]; - }; - }; -} unkSubStruct2; /* size = 0xBC */ - -typedef struct _unkSubStruct3 { - AnimData *unk0; - s16 unk4; - s16 unk6; - u32 unk8; - Vec unkC; - Mtx unk18; - GXColor unk48; - u8 unk4C; - u8 unk4D; - s16 unk4E; - s16 unk50; - char unk52[0x2]; - float unk54; - float unk58; - float unk5C; - float unk60; -} unkSubStruct3; /* size = 0x64 */ - -typedef struct _unkStruct5 { - Mtx unk0; - s16 unk30; - s16 unk32; - s16 unk34; - s16 unk36; - s16 unk38; - s16 unk3A; - unkSubStruct3 *unk3C; - unkSubStruct2 *unk40; -} unkStruct5; /* size = */ - -typedef struct _unkStruct6 { - Vec unk0; - Vec unkC; - Vec unk18; - Vec unk24; -} unkStruct6; - -// bss -extern unkStruct5 lbl_1_bss_36C; - -// prototypes -// main.c -void fn_1_43C(omObjData *object); -void fn_1_4B0(omObjData *object); -void fn_1_7D8(omObjData *object); -void fn_1_14C0(omObjData *object); -void fn_1_15D0(omObjData *object); -void fn_1_1960(omObjData *object); -void fn_1_2B18(omObjData *object); -void fn_1_2C14(omObjData *object); -void fn_1_2E88(float, Vec *, Vec *, float); -void fn_1_3208(omObjData *object); -void fn_1_3640(omObjData *object); -void fn_1_3764(omObjData *object); -void fn_1_3B44(omObjData *object); -void fn_1_4660(omObjData *object); -void fn_1_5B20(unkSubStruct2 *); -void fn_1_6304(omObjData *object); -void fn_1_6368(void); -void *fn_1_63A8(s32); -void fn_1_64DC(void); -AnimBmpData *fn_1_668C(s16); -s16 fn_1_66AC(void); -s32 fn_1_679C(void); -float fn_1_67F0(float, float, float); -void fn_1_6A78(Mtx, Vec *); -void fn_1_7268(float *, float *, float *, s32); -float fn_1_7520(float, float *, float *, float *, s32); -void fn_1_7674(float *, Vec *, Vec *, s32); -void fn_1_7A54(float, Vec *, float *, Vec *, Vec *, s32); -// map.c -void fn_1_95C0(ModelData *, Mtx); -AnimData **fn_1_9734(s16); -void fn_1_9DC8(unkSubStruct2 *); -s16 fn_1_A2D0(u8, u8); -void fn_1_A800(s16); -s16 fn_1_A94C(u32, s16, s16); -void fn_1_ACF4(s16, s16, s16, s16, s16, s16); -void fn_1_AF48(s16); -u8 fn_1_AFC8(s16, u8, s32, s16, s16); -s32 fn_1_B0B8(s16, u8, s16); -void fn_1_B864(s16, float, float, float); -void fn_1_BB4C(s16, float, float, float); -void fn_1_BC9C(s16, float, float, float); -void fn_1_BD08(s16, s16, float, float, float); -void fn_1_C264(s16, u8); -void fn_1_C2D0(s16, s16, u8); -void fn_1_C410(s16, s16, u8, u8); -void fn_1_C58C(s16, s16, u8, float); -void fn_1_C81C(s16, u8); diff --git a/include/REL/m418Dll.h b/include/REL/m418Dll.h deleted file mode 100644 index 3ef089ba..00000000 --- a/include/REL/m418Dll.h +++ /dev/null @@ -1,58 +0,0 @@ -#ifndef M418DLL_H -#define M418DLL_H - -#include "dolphin.h" - -#include "ext_math.h" -#include "game/hsfmotion.h" -#include "game/object.h" - -typedef void (*M418DllFunc)(void); -typedef s32 (*M418DllRetFunc)(void); -typedef void (*M418DllInFunc)(s32); -typedef s32 (*M418DllInRetFunc)(s32); - -typedef struct M418DllUnkStruct { - M418DllFunc unk0; - Vec center; - Vec unk10; // sequence center - Vec rot; - Vec unk28; // sequence rot - float zoom; - float unk38; // sequence zoom - float unk3C[3]; - float unk48; -} M418DllUnkStruct; // sizeof 0x4C - -typedef struct M418DllUnkStruct8 { - M418DllInFunc unk0; - M418DllInRetFunc unk4; - s32 unk8; -} M418DllUnkStruct8; // sizeof 0x24 - -typedef struct M418DllUnkStruct7 { - s32 unk0; - M418DllUnkStruct8 *unk4; - s32 unk8; - s32 unkC; - M418DllFunc unk10; - M418DllRetFunc unk14; -} M418DllUnkStruct7; // sizeof 0x18 - -float fn_1_A920(float, float, float); -float fn_1_A940(float, float, float, float); -float fn_1_AA30(float, float, float, float); -void fn_1_ABC4(omObjData *, s32, s32, s32, s32); -void fn_1_AD14(omObjData *, s32, s32, s32, s32); -void fn_1_AEDC(M418DllUnkStruct7 *, M418DllUnkStruct8 *); -s32 fn_1_AF38(M418DllUnkStruct7 *); -s32 fn_1_B034(M418DllUnkStruct7 *, s32); -s32 fn_1_B0C8(M418DllUnkStruct7 *, s32); -void fn_1_B104(M418DllUnkStruct *, Vec, Vec); -void fn_1_B41C(M418DllUnkStruct *); -void fn_1_B458(M418DllUnkStruct *); -void fn_1_BEAC(M418DllUnkStruct *, M418DllUnkStruct *, float, float, float); -void fn_1_CBF8(M418DllUnkStruct *, M418DllUnkStruct *, float, float, float); -void fn_1_DC10(M418DllUnkStruct *, M418DllUnkStruct *, float, float, float); - -#endif diff --git a/include/REL/m420dll.h b/include/REL/m420dll.h deleted file mode 100644 index 9d3dce97..00000000 --- a/include/REL/m420dll.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef M420DLL_H -#define M420DLL_H - -#include "game/object.h" - -typedef struct M420DllUnkStruct { - /* 0x00 */ Vec unk_00; - /* 0x0C */ Vec unk_0C; - /* 0x18 */ float unk_18; -} M420DllUnkStruct; /* size = 0x1C */ // same as in m447dll/camera.c - -typedef struct M420DllPlayerStruct { - /* 0x00 */ struct { - s8 unk_00_field0 : 1; - s8 unk_00_field1 : 1; - s8 unk_00_field2 : 1; - }; - /* 0x04 */ s32 unk_04; - /* 0x08 */ u8 unk_08; - /* 0x0A */ s16 unk_0A; - /* 0x0C */ u8 unk_0C; - /* 0x10 */ Vec unk_10; - /* 0x1C */ Vec unk_1C; - /* 0x28 */ Vec unk_28; - /* 0x34 */ Vec unk_34; - /* 0x40 */ Process *unk_40; - /* 0x44 */ char unk44[4]; - /* 0x48 */ s32 unk_48; - /* 0x4C */ s32 unk_4C; - /* 0x50 */ s16 unk_50; - /* 0x52 */ char unk52[6]; - /* 0x58 */ s32 unk_58; - /* 0x5C */ s32 unk_5C[0xA]; - /* 0x84 */ s32 unk_84[0xA]; - /* 0xAC */ s16 unk_AC; - /* 0xAE */ s16 unk_AE[0xB]; - /* 0xC4 */ s16 unk_C4[0xA]; - /* 0xD8 */ s16 unk_D8; - /* 0xDC */ float unk_DC; - /* 0xE0 */ float unk_E0; - /* 0xE4 */ s32 unk_E4; - /* 0xE8 */ struct M420DllPlayerStruct *unk_E8; -} M420DllPlayerStruct; /* size = 0xEC */ - -void fn_1_1184(void); - -s32 fn_1_4964(void); -void fn_1_596C(void); -s32 fn_1_59F4(s32); -s32 fn_1_5AA8(s32 arg0, float arg1); -s32 fn_1_60F0(void); -void fn_1_6268(void); -void fn_1_636C(void); -void fn_1_63EC(void); -void fn_1_6554(void); -s16 fn_1_6660(void); -void fn_1_669C(s32 arg0); -void fn_1_6728(void); -s32 fn_1_67E8(s32); -s32 fn_1_6810(void); -void fn_1_8934(void); -s32 fn_1_8944(void); -M420DllPlayerStruct *fn_1_1B8C(s32, s32); -void fn_1_1E14(M420DllPlayerStruct *); - -extern Process *lbl_1_bss_4; - -#endif diff --git a/include/REL/m421Dll.h b/include/REL/m421Dll.h deleted file mode 100644 index 9f2ff4a9..00000000 --- a/include/REL/m421Dll.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef M421DLL_H -#define M421DLL_H - -#include "game/object.h" - -typedef struct UnkM421DllStruct { - float unk_00; - float unk_04; - float unk_08; - float unk_0C; -} UnkM421DllStruct; - -typedef struct M421DllCameraStruct { - s32 unk_00; - s32 unk_04; - s32 unk_08; - u32 unk_0C; - float unk_10; - float unk_14; - float unk_18; - Vec unk_1C; - Vec unk_28; - float unk_34; - s32 unk_38; - s32 unk_3C; - float unk_40; - UnkM421DllStruct unk_44; - float unk_54; - float unk_58; - float unk_5C; - float unk_60; - float unk_64; - float unk_68; - char unk6C[0x18]; - float unk_84; - char unk88[0x4]; - float unk_8C; - float unk_90; - u32 unk_94; - char unk98[0xC]; -} M421DllCameraStruct; /* size = 0xA4 */ // same as M443DllCameraStruct and M460 - -M421DllCameraStruct *fn_1_3C14(s32 arg0); -u32 fn_1_3E34(void); -u32 fn_1_3E4C(void); -u32 fn_1_3E64(void); -s32 fn_1_3E7C(s32 arg0); -s32 fn_1_3EF8(s32 arg0); -void fn_1_3F28(s32 arg0, s32 arg1, s32 arg2); -void fn_1_3F68(s32 arg0); -void fn_1_3F98(s32 arg0); -void fn_1_3FC8(s32 arg0); -s32 fn_1_3FF8(void); -float fn_1_4478(float arg8, float arg9, float argA); - -void fn_1_4648(Process *process); -void fn_1_48B0(void); -void fn_1_B15C(Process *process); -void fn_1_B1BC(void); -void fn_1_B39C(void); - -#endif diff --git a/include/REL/m424Dll.h b/include/REL/m424Dll.h deleted file mode 100644 index ac79d774..00000000 --- a/include/REL/m424Dll.h +++ /dev/null @@ -1,50 +0,0 @@ -#include "dolphin.h" - -#include "game/object.h" - -typedef struct _M424DllMainStruct { - Vec rot; - Vec center; - float zoom; -} M424DllMainStruct; // sizeof 1C - -typedef struct _M424DllBallStruct2 { - omObjData *unk0; - u8 unk4; - u8 unk5; - u8 unk6; - u16 unk8; - u16 unkA; - Mtx unkC; - Vec unk3C; - Vec unk48; - Vec unk54; - Vec unk60; - Vec unk6C; - Vec unk78; - Vec unk84; - u8 unk90; - u8 unk91; -} M424DllBallStruct2; // sizeof 0x94 - -extern M424DllBallStruct2 lbl_1_bss_60[9]; -extern u8 lbl_1_bss_58; -extern s16 lbl_1_bss_24[4]; - -float fn_1_1358(float, float); -float fn_1_1470(float, float, float); -omObjData *fn_1_1AB8(Process *); -void fn_1_1B8C(void); -float fn_1_213C(void); -void fn_1_252C(float, s32); -void fn_1_2670(s32, s32); -void fn_1_2720(Process *); -void fn_1_2880(void); -Vec *fn_1_8A00(u8); -s32 fn_1_8A2C(void); -omObjData *fn_1_93F0(Process *); -void fn_1_94A4(void); -s32 fn_1_B804(void); -s32 fn_1_B888(void); -s32 fn_1_B8AC(void); -s32 fn_1_B924(void); diff --git a/include/REL/m425Dll.h b/include/REL/m425Dll.h deleted file mode 100644 index 413e47c3..00000000 --- a/include/REL/m425Dll.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef M425DLL_H -#define M425DLL_H - -#include "game/object.h" - -omObjData *fn_1_6A0C(Process *process, s32 arg1); -void fn_1_6C08(void); -void fn_1_6CD0(s32 arg0, Vec *arg1); -s32 fn_1_109EC(s32 arg0, s32 arg1, Vec *arg2, Vec *arg3, Vec *arg4, s32 arg5); -float fn_1_10CF4(s32 arg0); -void fn_1_10DB4(s32 arg0); -void fn_1_10E3C(s32 arg0); -float fn_1_10EF8(s32 arg0, s32 arg1, float arg8, float arg9); - -#endif diff --git a/include/REL/m427Dll.h b/include/REL/m427Dll.h deleted file mode 100644 index 7c84b7a1..00000000 --- a/include/REL/m427Dll.h +++ /dev/null @@ -1,35 +0,0 @@ -#include "dolphin.h" -#include "game/object.h" - -typedef struct M427DllStruct { - s32 unk0; - s32 unk4; -} M427DllStruct; - -s32 fn_1_1788(void); -void fn_1_1798(s32 arg0, float arg8); -s32 fn_1_1884(void); -s32 fn_1_32EC(void); - -void fn_1_32F4(Process *arg0); -void fn_1_3B20(s8 arg0, s16 arg1); -void fn_1_3A88(void); -void fn_1_91E0(s16 arg0, float arg8, float arg9, float argA, float argB); -float fn_1_AE78(s16 arg0, float arg8, float arg9); -void fn_1_E98C(Process *); -void fn_1_EC54(void); -s32 fn_1_10FE8(s32 arg0, s32 *arg1); -void fn_1_110E8(s32, s32 *); -void fn_1_111C0(s32, s32 *); -void fn_1_11298(float); -s32 fn_1_113F0(s32); -float fn_1_168FC(float, float, float); - -s32 fn_1_15F10(Vec arg0, Vec arg1, s32 arg2, s32 arg3, s32 arg4); -s32 fn_1_15FD0(Vec arg0, float arg8, s32 arg1, s32 arg2, s32 arg3); - -extern s32 lbl_1_bss_580; -extern Vec *lbl_1_bss_558; -extern Vec *lbl_1_bss_554; -extern Vec *lbl_1_bss_550; -extern M427DllStruct lbl_1_bss_0[8]; diff --git a/include/REL/m428Dll.h b/include/REL/m428Dll.h deleted file mode 100644 index 567c3f99..00000000 --- a/include/REL/m428Dll.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef M428DLL_H -#define M428DLL_H - -#include "game/object.h" - -s32 fn_1_26E0(void); -void fn_1_4170(s16 arg0, s32 arg1); - -void fn_1_4324(s32 arg0, Vec *arg1, Vec *arg2, Vec *arg3); -void fn_1_43C8(Process *arg0); -void fn_1_4630(void); -u8 fn_1_9990(Vec *arg0); -void fn_1_9A30(u8 arg0, float arg8, Vec *arg1, Vec *arg2, float arg9); -void fn_1_9ADC(u8 arg0); -void fn_1_9DE8(u8 arg0, float arg8, s8 arg1); -void fn_1_9EA8(u8 arg0); - -omObjData *fn_1_9F5C(Process *process); -void fn_1_A0B0(void); -s32 fn_1_F354(void); -s32 fn_1_F3BC(s32 arg0); -void fn_1_F414(s32 arg0); -void fn_1_F454(s32 arg0, s32 arg1); -void fn_1_F46C(s32 arg0, s32 arg1); -void fn_1_F4B4(s32 arg0, s32 arg1, float arg8); -s32 fn_1_F4E8(s32 arg0); -void fn_1_116C4(s32 arg0, s32 arg1); -void fn_1_11754(s32 arg0, float arg8); -void fn_1_11798(s32 arg0); - -extern s16 lbl_1_bss_50[4]; -extern s32 lbl_1_bss_18; - -#endif diff --git a/include/REL/m430Dll.h b/include/REL/m430Dll.h deleted file mode 100644 index e1a47014..00000000 --- a/include/REL/m430Dll.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef M430DLL_H -#define M430DLL_H - -#include "game/object.h" - -s32 fn_1_4030(void); -u32 fn_1_4058(void); -u32 fn_1_4070(void); -u32 fn_1_4088(void); -void fn_1_40D0(s32 arg0); -void fn_1_4100(s32 arg0); -float fn_1_4130(void); -float fn_1_48B0(float arg8, float arg9, float argA); - -void fn_1_4A80(Process *process); -void fn_1_4C48(void); -float fn_1_7FBC(s32 arg0); -void fn_1_7FFC(s32 arg0, float arg8); -void fn_1_AEE0(s32 arg0, Vec *arg1, float arg8, float arg9); -void fn_1_B570(s32 arg0, Vec *arg1, float arg8, float arg9, Vec *arg2); -void fn_1_BB98(u32 arg0); - -void fn_1_BBC4(Process *process); -void fn_1_C00C(void); - -#endif diff --git a/include/REL/m431Dll.h b/include/REL/m431Dll.h index c4286562..78bcb746 100644 --- a/include/REL/m431Dll.h +++ b/include/REL/m431Dll.h @@ -3,116 +3,113 @@ #include "game/object.h" -#define rand16() ((rand8() << 8) | (rand8())) +#define rand16() ((rand8() << 8)|(rand8())) + typedef struct bss_12C_inner { - Vec unk0; - float unkC; - s8 unk10; + Vec unk0; + float unkC; + s8 unk10; } Bss12CInner; typedef struct bss_12c_struct { - s16 unk0[2]; - s16 unk4; - s16 unk6; - s16 unk8; - Vec unkC; - float unk18; - Bss12CInner unk1C[10]; - float unkE4[10][2]; - s16 unk134[2]; - s16 unk138[2]; + s16 unk0[2]; + s16 unk4; + s16 unk6; + s16 unk8; + Vec unkC; + float unk18; + Bss12CInner unk1C[10]; + float unkE4[10][2]; + s16 unk134[2]; + s16 unk138[2]; } Bss12CStruct; typedef struct bss_61C_work { - u32 unk0; - s16 unk4; - s16 unk6; - s16 unk8; - s16 unkA; - s16 unkC; - float unk10; - struct bss_61C_work *unk14; - Vec unk18; - Vec unk24; - float unk30; - omObjFunc unk34; - s16 unk38; - s16 unk3A; -#if VERSION_PAL - s16 unk3C_pal; - s16 unk3E_pal; -#endif - u32 unk3C; - s16 unk40; - s16 unk42; - Vec unk44; - s16 unk50; - s8 unk52; - u32 unk54; - s16 unk58; - s16 unk5A; - s16 unk5C; - s16 unk5E[8]; - s16 unk6E; - s16 unk70; - s16 unk72; - u32 unk74; - s16 unk78; - s16 unk7A; - s16 unk7C; - s16 unk7E; - s16 unk80; - s16 unk82; - s16 unk84; - s16 unk86; - float unk88; - Vec unk8C; - float unk98; - Vec unk9C; - float unkA8; - s32 unkAC; - s16 unkB0; - s16 unkB2; - s8 unkB4; - s8 unkB5; + u32 unk0; + s16 unk4; + s16 unk6; + s16 unk8; + s16 unkA; + s16 unkC; + float unk10; + struct bss_61C_work *unk14; + Vec unk18; + Vec unk24; + float unk30; + omObjFunc unk34; + s16 unk38; + s16 unk3A; + u32 unk3C; + s16 unk40; + s16 unk42; + Vec unk44; + s16 unk50; + s8 unk52; + u32 unk54; + s16 unk58; + s16 unk5A; + s16 unk5C; + s16 unk5E[8]; + s16 unk6E; + s16 unk70; + s16 unk72; + u32 unk74; + s16 unk78; + s16 unk7A; + s16 unk7C; + s16 unk7E; + s16 unk80; + s16 unk82; + s16 unk84; + s16 unk86; + float unk88; + Vec unk8C; + float unk98; + Vec unk9C; + float unkA8; + s32 unkAC; + s16 unkB0; + s16 unkB2; + s8 unkB4; + s8 unkB5; } Bss61CWork; typedef void (*unkHook72B4Data18)(struct unk_72B4_data_18 *); typedef void (*unkHook72B4)(ModelData *, struct work_72B4 *, Mtx); typedef struct unk_72B4_data_18 { - Vec unk0; - Vec unkC; - char unk18[16]; - s16 unk28; - s16 unk2A; - s16 unk2C; - unkHook72B4Data18 unk30; - s16 unk34; - float unk38; - Vec unk3C; - Vec unk48; - s16 unk54; - s8 unk56; + Vec unk0; + Vec unkC; + char unk18[16]; + s16 unk28; + s16 unk2A; + s16 unk2C; + unkHook72B4Data18 unk30; + s16 unk34; + float unk38; + Vec unk3C; + Vec unk48; + s16 unk54; + s8 unk56; } Unk72B4Data18; typedef struct work_72B4 { - s16 unk0; - u32 unk4; - u8 unk8; - unkHook72B4 unkC; - AnimData *unk10; - s16 unk14; - Unk72B4Data18 *unk18; - Vec *unk1C; - HsfVector2f *unk20; - GXColor *unk24; - void *unk28; - Vec unk2C[4]; - HsfVector2f *unk5C; - float unk60; - float unk64; + s16 unk0; + u32 unk4; + u8 unk8; + unkHook72B4 unkC; + AnimData *unk10; + s16 unk14; + Unk72B4Data18 *unk18; + Vec *unk1C; + HsfVector2f *unk20; + GXColor *unk24; + void *unk28; + Vec unk2C[4]; + HsfVector2f *unk5C; + float unk60; + float unk64; } Work72B4; extern s32 lbl_1_bss_4; diff --git a/include/REL/m432data.h b/include/REL/m432data.h deleted file mode 100644 index a9b72135..00000000 --- a/include/REL/m432data.h +++ /dev/null @@ -1,1236 +0,0 @@ -#ifndef M432DATA_H -#define M432DATA_H - -#include "datadir_enum.h" -#include "dolphin.h" -#include "game/hsfanim.h" -#include "version.h" - -typedef struct UnkM432DllBss0SubStruct { - char *unk_00; - char *unk_04; - s32 unk_08; - u32 unk_0C[2]; - u32 unk_14; - float unk_18; - float unk_1C; - Vec unk_20; - Vec unk_2C; - float unk_38; - float unk_3C; - s16 unk_40; - s32 unk_44; -} UnkM432DllBss0SubStruct; /* size = 0x48 */ - -typedef struct UnkM432DllData1794Struct { - float unk_00; - float unk_04; - float unk_08; - float unk_0C; - float unk_10; - float unk_14; - s32 unk_18; - s32 unk_1C; -} UnkM432DllData1794Struct; /* size = 0x20 */ - -s32 lbl_1_data_A0[2] = { 1, 2 }; -float lbl_1_data_A8[8] = { 0.0f, 0.0f, 318.0f, 480.0f, 322.0f, 0.0f, 318.0f, 480.0f }; -Vec lbl_1_data_C8 = { 0.0f, 1.0f, 0.0f }; -Vec lbl_1_data_D4 = { 0.0f, 3000.0f, 1000.0f }; -Vec lbl_1_data_E0 = { 0.0f, -3.0f, -1.0f }; -GXColor lbl_1_data_EC = { 0xFF, 0xFF, 0xFF, 0xFF }; -Vec lbl_1_data_F0 = { 0.0f, 5000.0f, 100.0f }; -Vec lbl_1_data_FC = { 0.0f, 0.0f, 0.0f }; - -s32 lbl_1_data_108[8][0xB] = { - { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x73), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x74), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x6A), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x5B), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x1D), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x38), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x6C), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x72), - }, - { - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x02), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x03), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x73), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x74), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x6A), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x5B), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x1D), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x38), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x6C), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x72), - }, - { - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x00), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x02), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x03), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x73), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x74), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x6A), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x5B), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x1D), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x38), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x6C), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x72), - }, - { - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x02), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x03), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x73), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x74), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x6A), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x5B), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x1D), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x38), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x6C), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x72), - }, - { - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x02), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x03), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x73), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x74), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x6A), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x5B), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x1D), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x38), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x6C), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x72), - }, - { - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x02), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x03), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x73), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x74), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x6A), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x5B), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x1D), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x38), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x6C), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x72), - }, - { - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x02), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x03), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x73), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x74), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x6A), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x5B), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x1D), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x38), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x6C), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x72), - }, - { - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x02), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x03), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x73), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x74), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x6A), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x5B), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x1D), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x38), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x6C), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x72), - }, -}; - -s32 lbl_1_data_268[8] = { 0, 1, 2, 3, 4, -1, -1, -1 }; - -s32 lbl_1_data_288[9] = { - DATA_MAKE_NUM(DATADIR_M432, 0x1F), - DATA_MAKE_NUM(DATADIR_M432, 0x20), - DATA_MAKE_NUM(DATADIR_M432, 0x21), - DATA_MAKE_NUM(DATADIR_M432, 0x22), - DATA_MAKE_NUM(DATADIR_M432, 0x23), - DATA_MAKE_NUM(DATADIR_M432, 0x24), - DATA_MAKE_NUM(DATADIR_M432, 0x25), - DATA_MAKE_NUM(DATADIR_M432, 0x26), - DATA_MAKE_NUM(DATADIR_M432, 0x27), -}; - -s32 lbl_1_data_2AC[9] = { 0, 8, -0x10, 4, 0, -4, -1, 0, 0 }; -s32 lbl_1_data_2D0[9] = { 0, 8, -0x10, 8, 0, -4, -1, 0, 0 }; -s32 lbl_1_data_2F4[9] = { 0, 8, -0x10, 7, 0, -4, -1, 0, 0 }; -s32 lbl_1_data_318[0xF] = { 1, 0, -0x10, 5, -0x18, -5, 2, 0, -5, 6, 0x18, -5, -1, 0, 0 }; -Vec lbl_1_data_354[2] = { { -1200.0f, 0.0f, 0.0f }, { -400.0f, 0.0f, 0.0f } }; -Vec lbl_1_data_36C[2] = { { 400.0f, 0.0f, 0.0f }, { 1200.0f, 0.0f, 0.0f } }; - -char *lbl_1_data_3DC[8] = { - "m432_00-o0", - "m432_00-o1", - "m432_00-o2", - "m432_00-o3", - "m432_00-o4", - "m432_00-o5", - "m432_00-o6", - "m432_00-o7", -}; - -char *lbl_1_data_440[6] = { - "m432_00-p0", - "m432_00-p1", - "m432_00-p2", - "m432_00-p3", - "m432_00-p4", - "m432_00-q0", -}; - -char *lbl_1_data_4C8[0xA] = { - "m432_00-r0", - "m432_00-r1", - "m432_00-r2", - "m432_00-r5", - "m432_00-r4", - "m432_00-r3", - "m432_00-r6", - "m432_00-r7", - "m432_00-r8", - "m432_00-s0", -}; - -u8 lbl_1_data_4F0[0x14] = { - 0, - 0, - 0, - 1, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0, - 0, - 0, - 3, -}; - -u8 lbl_1_data_504[0x24] = { - 0, - 0, - 0, - 4, - 0, - 0, - 0, - 5, - 0, - 0, - 0, - 8, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0, - 0, - 0, - 6, - 0, - 0, - 0, - 7, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, -}; - -s32 lbl_1_data_528[2] = { DATA_MAKE_NUM(DATADIR_M432, 0x05), DATA_MAKE_NUM(DATADIR_M432, 0x06) }; - -UnkM432DllBss0SubStruct lbl_1_data_5EC[0x1F] = { - { - "m432_00-i0", - NULL, - -1, - { 0, 0 }, - 0, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-b0", - "m432_00-a0", - 4, - { DATA_MAKE_NUM(DATADIR_M432, 0x0C), DATA_MAKE_NUM(DATADIR_M432, 0x0D) }, - 1, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-a1", - NULL, - 5, - { DATA_MAKE_NUM(DATADIR_M432, 0x0A), DATA_MAKE_NUM(DATADIR_M432, 0x0B) }, - 0x100, - 90.0f, - 150.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-b2", - "m432_00-a2", - 6, - { DATA_MAKE_NUM(DATADIR_M432, 0x0C), DATA_MAKE_NUM(DATADIR_M432, 0x0D) }, - 1, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-a3", - NULL, - 7, - { DATA_MAKE_NUM(DATADIR_M432, 0x0A), DATA_MAKE_NUM(DATADIR_M432, 0x0B) }, - 0x100, - 90.0f, - 150.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-c0", - NULL, - 0x10, - { DATA_MAKE_NUM(DATADIR_M432, 0x0E), DATA_MAKE_NUM(DATADIR_M432, 0x0F) }, - 0x400, - 90.0f, - 150.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-c1", - NULL, - 0x11, - { DATA_MAKE_NUM(DATADIR_M432, 0x0E), DATA_MAKE_NUM(DATADIR_M432, 0x0F) }, - 0x400, - -90.0f, - 150.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-d0", - NULL, - 0x14, - { DATA_MAKE_NUM(DATADIR_M432, 0x10), DATA_MAKE_NUM(DATADIR_M432, 0x11) }, - 0, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-c2", - NULL, - 0x12, - { DATA_MAKE_NUM(DATADIR_M432, 0x0E), DATA_MAKE_NUM(DATADIR_M432, 0x0F) }, - 0x200, - 90.0f, - 150.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-c3", - NULL, - 0x13, - { DATA_MAKE_NUM(DATADIR_M432, 0x0E), DATA_MAKE_NUM(DATADIR_M432, 0x0F) }, - 0x200, - -90.0f, - 150.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-d1", - NULL, - 0x15, - { DATA_MAKE_NUM(DATADIR_M432, 0x12), DATA_MAKE_NUM(DATADIR_M432, 0x13) }, - 0, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-p0", - "m432_00-q0", - -1, - { 0, 0 }, - 2, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-p1", - "m432_00-q0", - -1, - { 0, 0 }, - 2, - 0.0f, - 1.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-p2", - "m432_00-q0", - -1, - { 0, 0 }, - 2, - 0.0f, - 2.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-p3", - "m432_00-q0", - -1, - { 0, 0 }, - 2, - 0.0f, - 3.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-p4", - "m432_00-q0", - -1, - { 0, 0 }, - 2, - 0.0f, - 4.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-q0", - NULL, - -1, - { 0, 0 }, - 8, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r0", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r1", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 1.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r2", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 2.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r5", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 3.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r4", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 4.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r3", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 5.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r6", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 6.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r7", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 7.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r8", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 8.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-s0", - NULL, - -1, - { 0, 0 }, - 0x10, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-e0", - NULL, - 8, - { DATA_MAKE_NUM(DATADIR_M432, 0x14), DATA_MAKE_NUM(DATADIR_M432, 0x15) }, - 0x800, - 180.0f, - 120.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-j0", - NULL, - 9, - { DATA_MAKE_NUM(DATADIR_M432, 0x18), DATA_MAKE_NUM(DATADIR_M432, 0x19) }, - 0, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-h0", - NULL, - 0x16, - { DATA_MAKE_NUM(DATADIR_M432, 0x16), DATA_MAKE_NUM(DATADIR_M432, 0x17) }, - 0, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-t0", - NULL, - 0x17, - { DATA_MAKE_NUM(DATADIR_M432, 0x1C), DATA_MAKE_NUM(DATADIR_M432, 0x1D) }, - 0, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, -}; - -UnkM432DllBss0SubStruct lbl_1_data_EDC[0x1F] = { - { - "m432_00-i1", - NULL, - -1, - { 0, 0 }, - 0, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-a0", - NULL, - 0xA, - { DATA_MAKE_NUM(DATADIR_M432, 0x0A), DATA_MAKE_NUM(DATADIR_M432, 0x0B) }, - 0x100, - -90.0f, - 150.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-b1", - "m432_00-a1", - 0xB, - { DATA_MAKE_NUM(DATADIR_M432, 0x0C), DATA_MAKE_NUM(DATADIR_M432, 0x0D) }, - 1, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-a2", - NULL, - 0xC, - { DATA_MAKE_NUM(DATADIR_M432, 0x0A), DATA_MAKE_NUM(DATADIR_M432, 0x0B) }, - 0x100, - -90.0f, - 150.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-b3", - "m432_00-a3", - 0xD, - { DATA_MAKE_NUM(DATADIR_M432, 0x0C), DATA_MAKE_NUM(DATADIR_M432, 0x0D) }, - 1, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-c0", - NULL, - 0x10, - { 0, 0 }, - 0x400, - 90.0f, - 150.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-c1", - NULL, - 0x11, - { 0, 0 }, - 0x400, - -90.0f, - 150.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-d0", - NULL, - 0x14, - { 0, 0 }, - 0, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-c2", - NULL, - 0x12, - { 0, 0 }, - 0x200, - 90.0f, - 150.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-c3", - NULL, - 0x13, - { 0, 0 }, - 0x200, - -90.0f, - 150.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-d1", - NULL, - 0x15, - { 0, 0 }, - 0, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-p0", - "m432_00-q0", - -1, - { 0, 0 }, - 2, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-p1", - "m432_00-q0", - -1, - { 0, 0 }, - 2, - 0.0f, - 1.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-p2", - "m432_00-q0", - -1, - { 0, 0 }, - 2, - 0.0f, - 2.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-p3", - "m432_00-q0", - -1, - { 0, 0 }, - 2, - 0.0f, - 3.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-p4", - "m432_00-q0", - -1, - { 0, 0 }, - 2, - 0.0f, - 4.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-q0", - NULL, - -1, - { 0, 0 }, - 8, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r0", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r1", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 1.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r2", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 2.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r5", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 3.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r4", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 4.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r3", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 5.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r6", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 6.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r7", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 7.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-r8", - "m432_00-s0", - -1, - { 0, 0 }, - 4, - 0.0f, - 8.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-s0", - NULL, - -1, - { 0, 0 }, - 0x10, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-e1", - NULL, - 0xE, - { DATA_MAKE_NUM(DATADIR_M432, 0x14), DATA_MAKE_NUM(DATADIR_M432, 0x15) }, - 0x800, - 180.0f, - 120.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-k0", - NULL, - 0xF, - { DATA_MAKE_NUM(DATADIR_M432, 0x1A), DATA_MAKE_NUM(DATADIR_M432, 0x1B) }, - 0, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-h0", - NULL, - 0x16, - { 0, 0 }, - 0, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, - { - "m432_00-t0", - NULL, - 0x17, - { 0, 0 }, - 0, - 0.0f, - 0.0f, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - 0.0f, - 0.0f, - 0, - 0, - }, -}; - -UnkM432DllData1794Struct lbl_1_data_1794 = { 105.0f * REFRESH_RATE, 0.7f, 10.0f, 0.4f, 1.0f, 0, 2, 6 }; -UnkM432DllData1794Struct lbl_1_data_17B4 = { 95.0f * REFRESH_RATE, 0.8f, 8.0f, 0.6f, 1.0f, 0, 4, 5 }; -UnkM432DllData1794Struct lbl_1_data_17D4 = { 85.0f * REFRESH_RATE, 0.9f, 6.0f, 0.8f, 1.0f, 0, 6, 4 }; -UnkM432DllData1794Struct lbl_1_data_17F4 = { 75.0f * REFRESH_RATE, 1.0f, 4.0f, 1.0f, 1.0f, 0, 8, 3 }; -HsfanimStruct00 lbl_1_data_1814 = { - 0x1E, - { 0, 0 }, - 1.0f, - 50.0f, - 360.0f, - { 0.0f, 0.1f, 0.0f }, - 1.0f, - 1.0f, - 30.0f, - 1.1f, - 4, - { - { 0xF0, 0xD0, 0xB0, 0xFF }, - { 0xE0, 0xC0, 0xA0, 0xFF }, - { 0xD0, 0xB0, 0x90, 0xFF }, - { 0xC0, 0xA0, 0x80, 0xFF }, - }, - { - { 0xF0, 0xD0, 0xB0, 0 }, - { 0xE0, 0xC0, 0xA0, 0 }, - { 0xD0, 0xB0, 0x90, 0 }, - { 0xC0, 0xA0, 0x80, 0 }, - }, -}; - -#endif diff --git a/include/REL/m433Dll.h b/include/REL/m433Dll.h deleted file mode 100644 index fc0407db..00000000 --- a/include/REL/m433Dll.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef M430DLL_H -#define M430DLL_H - -#include "game/object.h" - -typedef struct M433DllWork { - u32 unk_00; - s32 unk_04; - s32 unk_08; - s32 unk_0C; - s32 unk_10; - s32 unk_14; - s32 unk_18; - u32 unk_1C; - u32 unk_20; - s32 unk_24; - u32 unk_28; - s32 unk_2C[2]; - u32 unk_34; - s32 unk_38; - s32 unk_3C; -} M433DllWork; /* size = 0x40 */ - -void fn_1_584(omObjData *object); -void fn_1_618(omObjData *object); -u32 fn_1_216C(void); -u32 fn_1_2184(void); -void fn_1_219C(s32 arg0, s32 arg1, s32 arg2); -void fn_1_21E4(s32 arg0); -void fn_1_2214(s32 arg0); -s32 fn_1_2244(void); -float fn_1_26C4(float arg8, float arg9, float argA); - -void fn_1_2894(Process *process); -void fn_1_2984(void); -omObjFunc fn_1_29A4(Process *process, omObjData *object); -void fn_1_58D8(s32); - -void fn_1_5904(Process *process); -void fn_1_5B74(void); -s32 fn_1_10FA4(s32 arg0); - -#endif diff --git a/include/REL/m435Dll.h b/include/REL/m435Dll.h deleted file mode 100755 index 102610b2..00000000 --- a/include/REL/m435Dll.h +++ /dev/null @@ -1,86 +0,0 @@ -#include "game/object.h" - -#include "dolphin.h" - -// For future reference: m435 has many functions and structs in common with m436 and m437. - -typedef struct { - /* 0x00 */ void (*unk00)(void); - /* 0x04 */ s32 (*unk04)(void); - /* 0x08 */ s32 unk08; -} StructData3A0; // Size 0xC - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ StructData3A0* unk0C; - /* 0x10 */ void (*unk10)(void); - /* 0x14 */ s32 (*unk14)(void); -} StructBss84; // Size 0x18 - -typedef struct { - /* 0x00 */ char unk00[4]; - /* 0x04 */ void (*unk04)(void); - /* 0x08 */ void (*unk08)(void); - /* 0x0C */ float unk0C; - /* 0x10 */ float unk10; - /* 0x14 */ float unk14; - /* 0x18 */ float unk18; - /* 0x1C */ float unk1C; - /* 0x20 */ float unk20; - /* 0x24 */ float unk24; - /* 0x28 */ float unk28; - /* 0x2C */ float unk2C; - /* 0x30 */ float unk30; - /* 0x34 */ float unk34; - /* 0x38 */ float unk38; - /* 0x3C */ float unk3C; - /* 0x40 */ float unk40; - /* 0x44 */ float unk44; - /* 0x48 */ s32 unk48[7]; - /* 0x64 */ float unk64[7]; -} StructBssE08; // Size 0x80 - -typedef struct { - /* 0x000 */ omObjData* unk00; - /* 0x004 */ s32 unk04; - /* 0x008 */ s32 unk08; - /* 0x00C */ char unk0C[4]; - /* 0x010 */ char unk10[1024]; // Actual char array (unsure about length) - /* 0x410 */ s32 unk410; - /* 0x414 */ s32 unk414[20]; - /* 0x464 */ s32 unk464; - /* 0x468 */ s32 unk468; - /* 0x46C */ s32 unk46C; - /* 0x470 */ float unk470; - /* 0x474 */ float unk474; - /* 0x478 */ float unk478; - /* 0x47C */ float unk47C; -} StructFn19894; // Size 0x480 - -float fn_1_1526C(float arg0, float arg1, float arg2, float arg3); -float fn_1_15294(float arg0, float arg1, float arg2); -float fn_1_152D4(float arg0, float arg1, float arg2, float arg3); -float fn_1_1539C(float arg0, float arg1, float arg2, float arg3); -void fn_1_154C4(StructBss84* arg0, StructData3A0* arg1); -s32 fn_1_15520(StructBss84* arg0); -void fn_1_1561C(StructBss84* arg0, s32 arg1); -s32 fn_1_15670(StructBss84* arg0, s32 arg1); -s32 fn_1_156AC(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_157BC(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_15934(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_15E50(StructBssE08* arg0); -void fn_1_161B0(StructBssE08* arg0, float arg1); -void fn_1_169F4(StructBssE08* arg0, StructBssE08* arg1, float arg2, float arg3, float arg4); -void fn_1_17804(StructBssE08* arg0, StructBssE08* arg1, float arg2, float arg3, float arg4); -void fn_1_188E0(StructBssE08* arg0, StructBssE08* arg1, float arg2, float arg3, float arg4); -void fn_1_19530(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6); -void fn_1_195F4(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6); -void fn_1_19658(omObjData* arg0, s32 arg1, float arg2, s32 arg3); -void fn_1_19894(StructFn19894* arg0, s32 arg1); -void fn_1_198F8(StructFn19894* arg0, s32 arg1); -void fn_1_19960(StructFn19894* arg0, s32 arg1); -void fn_1_19968(StructFn19894* arg0, s32 arg1); -void fn_1_19974(StructFn19894* arg0, s32 arg1); -void fn_1_1A33C(Process* arg0, StructFn19894* arg1, s32 arg2, char* arg3, s32 arg4, s32 arg5); diff --git a/include/REL/m436Dll.h b/include/REL/m436Dll.h deleted file mode 100755 index 6f2d6aa4..00000000 --- a/include/REL/m436Dll.h +++ /dev/null @@ -1,65 +0,0 @@ -#ifndef M436DLL_H -#define M436DLL_H - -#include "game/object.h" - -#include "dolphin.h" - -// For future reference: m436 has many functions and structs in common with m437. - -typedef struct { - /* 0x00 */ void (*unk00)(void); - /* 0x04 */ s32 (*unk04)(void); - /* 0x08 */ s32 unk08; -} StructData1E8; // Size 0xC - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ StructData1E8* unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ void (*unk10)(void); - /* 0x14 */ s32 (*unk14)(void); -} StructBssC0; // Size 0x18 - -typedef struct { - /* 0x00 */ void (*unk00)(void); - /* 0x04 */ float unk04; - /* 0x08 */ float unk08; - /* 0x0C */ float unk0C; - /* 0x10 */ float unk10; - /* 0x14 */ float unk14; - /* 0x18 */ float unk18; - /* 0x1C */ float unk1C; - /* 0x20 */ float unk20; - /* 0x24 */ float unk24; - /* 0x28 */ float unk28; - /* 0x2C */ float unk2C; - /* 0x30 */ float unk30; - /* 0x34 */ float unk34; - /* 0x38 */ float unk38; - /* 0x3C */ float unk3C; - /* 0x40 */ s32 unk40[7]; - /* 0x5C */ float unk5C[7]; -} StructBss32C; // Size 0x78 - -float fn_1_110FC(float arg0, float arg1, float arg2); -float fn_1_1113C(float arg0, float arg1, float arg2, float arg3); -float fn_1_11164(float arg0, float arg1, float arg2, float arg3); -float fn_1_1122C(float arg0, float arg1, float arg2, float arg3); -float fn_1_112F4(float arg0, float arg1, float arg2, float arg3); -void fn_1_113CC(omObjData* arg0, s32 arg1, omObjData* arg2, s32 arg3); -s32 fn_1_11708(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_11818(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_11990(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_11B18(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_11D18(StructBssC0* arg0, StructData1E8* arg1); -s32 fn_1_11D74(StructBssC0* arg0); -s32 fn_1_11E70(StructBssC0* arg0, s32 arg1); -s32 fn_1_11F04(StructBssC0* arg0, s32 arg1); -void fn_1_12294(StructBss32C* arg0); -void fn_1_125F4(StructBss32C* arg0, float arg1); -void fn_1_13C48(StructBss32C* arg0, StructBss32C* arg1, float arg2, float arg3, float arg4); -void fn_1_14D24(StructBss32C* arg0, StructBss32C* arg1, float arg2, float arg3, float arg4); - -#endif diff --git a/include/REL/m437Dll.h b/include/REL/m437Dll.h deleted file mode 100755 index 7dd1f328..00000000 --- a/include/REL/m437Dll.h +++ /dev/null @@ -1,78 +0,0 @@ -#ifndef M437DLL_H -#define M437DLL_H - -#include "game/object.h" - -#include "dolphin.h" - -typedef struct { - /* 0x00 */ void (*unk00)(void); - /* 0x04 */ s32 (*unk04)(void); - /* 0x08 */ s32 unk08; -} StructData204; // Size 0xC - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ StructData204* unk04; - /* 0x08 */ void (*unk08)(void); - /* 0x0C */ s32 (*unk0C)(void); - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; -} StructBss50; // Size 0x18 - -typedef struct { - /* 0x00 */ void (*unk00)(void); - /* 0x04 */ void (*unk04)(void); - /* 0x08 */ float unk08; - /* 0x0C */ float unk0C; - /* 0x10 */ float unk10; - /* 0x14 */ float unk14; - /* 0x18 */ float unk18; - /* 0x1C */ float unk1C; - /* 0x20 */ float unk20; - /* 0x24 */ float unk24; - /* 0x28 */ float unk28; - /* 0x2C */ float unk2C; - /* 0x30 */ float unk30; - /* 0x34 */ float unk34; - /* 0x38 */ float unk38; - /* 0x3C */ float unk3C; - /* 0x40 */ s32 unk40; - /* 0x44 */ s32 unk44[7]; - /* 0x60 */ float unk60[7]; -} StructBss160; // Size 0x7C - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ char unk04[128]; - /* 0x84 */ s32 unk84; - /* 0x88 */ s32 unk88; - /* 0x8C */ s32 unk8C; - /* 0x90 */ s32 unk90; - /* 0x94 */ s32 unk94[20]; - /* 0xE4 */ omObjData* unkE4; -} StructFn15CD0; // Size 0xE8 - -float fn_1_11348(float arg0, float arg1, float arg2, float arg3); -float fn_1_11370(float arg0, float arg1, float arg2); -float fn_1_113B0(float arg0, float arg1, float arg2, float arg3); -float fn_1_11478(float arg0, float arg1, float arg2, float arg3); -float fn_1_11540(float arg0, float arg1, float arg2, float arg3); -void fn_1_11668(StructBss50* arg0, StructData204* arg1); -s32 fn_1_116C4(StructBss50* arg0); -s32 fn_1_117C0(StructBss50* arg0, s32 arg1); -s32 fn_1_11854(StructBss50* arg0, s32 arg1); -s32 fn_1_11890(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_119A0(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_11B18(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -s32 fn_1_11CE0(omObjData* arg0, Vec arg1, float arg2, float arg3, float arg4, float arg5, s32 arg6); -void fn_1_12ABC(StructBss160* arg0); -void fn_1_12E14(StructBss160* arg0, float arg1); -void fn_1_13658(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3, float arg4); -void fn_1_15544(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3, float arg4); -void fn_1_15CD0(StructFn15CD0* arg0, s32 arg1); -void fn_1_15DC8(StructFn15CD0* arg0); -void fn_1_164B0(Process* arg0, StructFn15CD0* arg1, s32 arg2, const char* arg3); -void fn_1_1660C(Process* arg0, StructFn15CD0* arg1, s32 arg2, s32 arg3); - -#endif diff --git a/include/REL/m438Dll.h b/include/REL/m438Dll.h index 828dd494..798483ee 100644 --- a/include/REL/m438Dll.h +++ b/include/REL/m438Dll.h @@ -1,158 +1,8 @@ #ifndef M438DLL_H #define M438DLL_H -#include "game/animdata.h" -#include "game/hsfformat.h" #include "game/object.h" -typedef struct M438MainWork4 { - u8 unk_00; - char unk01[0x3]; - s32 unk_04; - float unk_08; - float unk_0C; - Vec unk_10; - Vec unk_1C; - Vec unk_28; - Vec unk_34; - char unk40[0xC]; -} M438MainWork4; /* size = 0x4C */ - -typedef struct M438UnkSubStruct { - s8 unk_00; - s8 unk_01; - char unk02[0x2]; - float unk_04; - float unk_08; - float unk_0C; - float unk_10; - float unk_14; - float unk_18; - float unk_1C; - float unk_20; - u8 unk_24; - float unk_28; - float unk_2C; -} M438UnkSubStruct; - -typedef struct M438UnkStruct { - Vec unk_00; - Vec unk_0C; - Vec unk_18; - Vec unk_24; - u8 unk_30; - u8 unk_31; - u8 unk_32; - u8 unk_33; - u8 unk_34; - u32 unk_38; - s16 unk_3C; - void *unk_40; - Vec *unk_44; - GXColor *unk_48; - Vec *unk_4C; - GXColor unk_50; - GXColor unk_54; - M438UnkSubStruct *unk_58; - u8 unk_5C; - char unk5D[0x3]; - Vec unk_60; - Vec unk_6C; - s16 unk_78[0x10]; -} M438UnkStruct; /* size = 0x98 */ - -typedef struct M438FireStruct { - Vec unk0; - Vec unkC; - Vec unk18; - Vec unk24; -} M438FireStruct; // sizeof 0x30 - -typedef struct M438FireStruct2 { - GXColor unk0; - GXColor unk4; - GXColor unk8; - GXColor unkC; -} M438FireStruct2; // sizeof 0x10 - -typedef struct M438FireStruct3 { - HsfVector2f unk0; - HsfVector2f unk8; - HsfVector2f unk10; - HsfVector2f unk18; -} M438FireStruct3; // sizeof 0x20 - -typedef struct M438UnkStruct2 { - s16 unk_00; - s16 unk_02; - u8 unk_04; - u32 unk_08; - Vec unk_0C; - Vec unk_18; - Vec unk_24; - void (*unk_30)(struct M438UnkStruct2 *); - s16 *unk_34; - char unk_38[0x4]; - M438UnkStruct *unk_3C; - char unk40[0x8]; - s16 unk_48; - void *unk_4C; - Vec *unk_50; - GXColor *unk_54; - Vec *unk_58; - M438UnkSubStruct *unk_5C; - u8 unk_60; - char unk61[0x3]; - Vec unk_64; - Vec unk_70; - union { - s16 unk_7Ca[0x20]; - struct { - s16 unk_7C; - s16 unk_7E; - float unk_80; - float unk_84; - float unk_88; - float unk_8C; - float unk_90; - char unk94[0x28]; - }; - }; -} M438UnkStruct2; /* size = 0xBC */ - -typedef struct M438UnkStruct3 { - AnimData *unk_00; - s16 unk_04; - s16 unk_06; - u32 unk_08; - Vec unk_0C; - Mtx unk_18; - GXColor unk_48; - u8 unk_4C; - u8 unk_4D; - s16 unk_4E; - s16 unk_50; - char unk52[0x2]; - float unk_54; - float unk_58; - float unk_5C; - float unk_60; -} M438UnkStruct3; /* size = 0x64 */ - -typedef struct M438StructBssDE4 { - Mtx unk_00; - s16 unk_30; - s16 unk_32; - s16 unk_34; - s16 unk_36; - s16 unk_38; - s16 unk_3A; - M438UnkStruct3 *unk_3C; - M438UnkStruct2 *unk_40; -} M438StructBssDE4; /* size = */ - -extern M438StructBssDE4 lbl_1_bss_DE4; - void fn_1_B4D8(Process *arg0); void fn_1_B548(); s32 fn_1_DA64(float arg8); @@ -161,11 +11,11 @@ float fn_1_E488(float arg8, float arg9, float argA); float fn_1_E5A4(float arg8, float arg9); void fn_1_E658(s16 arg0, s16 arg1); -s16 fn_1_10258(u8 arg0, u8 arg1); +s16 fn_1_10258(s32 arg0, s32 arg1); void fn_1_107BC(s16 arg0); -void fn_1_108E4(s16 arg0, s16 arg1, u8 arg2); +void fn_1_108E4(s16 arg0, s32 arg1, s32 arg2); s16 fn_1_10910(u32 arg0, s16 arg1, s16 arg2); -u8 fn_1_11018(s16 arg0, u8 arg1, u32 arg2); +s8 fn_1_11018(s16 arg0, u8 arg1, u32 arg2); void fn_1_11658(void); void fn_1_11890(s16 arg0, float arg8, float arg9, float argA); void fn_1_118FC(s16 arg0, s16 arg1, float arg8, float arg9, float argA); @@ -176,11 +26,11 @@ void fn_1_11F68(s16 arg0, s16 arg1, float arg8, float arg9, float argA); void fn_1_1204C(s16 arg0, s32 arg1); void fn_1_12090(s16 arg0, s16 arg1, s32 arg2); void fn_1_12100(s16 arg0, s32 arg1); -void fn_1_12174(s16 arg0, u32 arg1); -void fn_1_12378(s16 arg0, s16 arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5); -void fn_1_124CC(s16 arg0, u8 arg1); -void fn_1_12538(s16 arg0, s16 arg1, u8 arg2); -void fn_1_1274C(s16 arg0, s16 arg1, u8 arg2, u8 arg3); +void fn_1_12174(s16 arg0, s32 arg1); +void fn_1_12378(s16 arg0, s16 arg1, s8 arg2, s8 arg3, s8 arg4, u8 arg5); +void fn_1_124CC(s16 arg0, s8 arg1); +void fn_1_12538(s16 arg0, s16 arg1, s8 arg2); +void fn_1_1274C(s16 arg0, s16 arg1, u8 arg2, s8 arg3); void fn_1_128C8(s16 arg0, s16 arg1, u8 arg2, float arg8); #endif diff --git a/include/REL/m440Dll.h b/include/REL/m440Dll.h index d7d2c5b8..1a64053e 100644 --- a/include/REL/m440Dll.h +++ b/include/REL/m440Dll.h @@ -1,21 +1,16 @@ -#ifndef M440DLL_H -#define M440DLL_H - #include "dolphin/types.h" #include "game/hsfman.h" -#include "version.h" - #include "game/object.h" extern s32 rand8(void); ////// TYPES ////// -typedef void (*m440Func5)(ModelData *, struct _unkStruct5 *, Mtx); -typedef void (*m440Func6)(struct _unkStruct6 *); -typedef void (*m440Func14)(struct _unkStruct14 *); +typedef void (*m440Func5)(ModelData*, struct _unkStruct5*, Mtx); +typedef void (*m440Func6)(struct _unkStruct6*); +typedef void (*m440Func14)(struct _unkStruct14*); typedef struct _unkStruct { - float zoom; + f32 zoom; Vec center; Vec rot; } unkStruct; @@ -30,37 +25,37 @@ typedef struct _unkStruct2 { char unk10[0xC]; s16 unk1C; char unk20[0x4]; - float unk24; + f32 unk24; char unk28[0x4]; s16 unk2C; s16 unk2E; - float unk30; + f32 unk30; } unkStruct2; typedef struct _unkStruct3 { char unk0[0x34]; - float unk34; + f32 unk34; char unk38[0x8]; - float unk40; + f32 unk40; } unkStruct3; typedef struct _unkStruct4 { Vec unk0; char unkC[0xC]; - float unk18; - float unk1C; + f32 unk18; + f32 unk1C; char unk20[0x4]; - float unk24; - float unk28; - float unk2C; - float unk30; + f32 unk24; + f32 unk28; + f32 unk2C; + f32 unk30; s16 unk34; s16 unk36; char unk38[0x4]; s32 unk3C; s16 unk40; s16 unk42; - float unk44; + f32 unk44; Vec unk48; Vec unk54; s16 unk60; @@ -73,20 +68,20 @@ typedef struct _unkStruct5 { u32 unk4; u8 unk8; m440Func5 unkC; - AnimData *unk10; + AnimData* unk10; s16 unk14; - unkStruct4 *unk18; - Vec *unk1C; - HsfVector2f *unk20; - GXColor *unk24; - void *unk28; + unkStruct4* unk18; + Vec* unk1C; + HsfVector2f* unk20; + GXColor* unk24; + void* unk28; Vec unk2C; Vec unk38; Vec unk44; Vec unk50; - HsfVector2f *unk5C; - float unk60; - float unk64; + HsfVector2f* unk5C; + f32 unk60; + f32 unk64; } unkStruct5; typedef struct _unkStruct6 { @@ -95,16 +90,16 @@ typedef struct _unkStruct6 { s16 unk4; s16 unk6; u32 unk8; - Vec *unkC; - Vec *unk10; - Vec *unk14; - Vec *unk18; - HsfVector2f *unk1C; + Vec* unkC; + Vec* unk10; + Vec* unk14; + Vec* unk18; + HsfVector2f* unk1C; s32 unk20; - struct _unkStruct8 *unk24; - HsfMaterial *unk28; - HsfAttribute *unk2C; - void *unk30; + struct _unkStruct8* unk24; + HsfMaterial* unk28; + HsfAttribute* unk2C; + void* unk30; u32 unk34; m440Func6 unk38; s16 unk3C; @@ -129,7 +124,7 @@ typedef struct _unkStruct8 { s16 unk1E; unkStruct11 unk20[3]; char unk38[0x30]; - float unk68[5]; + f32 unk68[5]; Vec unk7C; Vec unk88; Vec unk94; @@ -144,7 +139,7 @@ typedef struct _unkStruct10 { s16 unk2; unkStruct11 unk4[3]; u32 unk1C; - unkStruct11 *unk20; + unkStruct11* unk20; char unk24[0xC]; } unkStruct10; // sizeof 0x30 @@ -154,41 +149,41 @@ typedef struct _unkStruct12 { u8 unkB[3]; u8 unkE[3]; char unk12[0x2]; - float unk14; + f32 unk14; char unk18[0x4]; - float unk1C; + f32 unk1C; char unk20[0x10]; u32 unk30; u32 unk34; - s32 *unk38; + s32* unk38; } unkStruct12; typedef struct _unkStruct13 { char unk0[0xA]; u8 unkA; char unkB[0x15]; - float unk20; + f32 unk20; char unk24[0x40]; u32 unk64; u32 unk68; char unk6C[0x14]; - struct _unkStruct15 *unk80; + struct _unkStruct15* unk80; } unkStruct13; // sizeof 0x84 typedef struct _unkStruct14 { s16 unk0; s16 unk2; char unk4[0x8]; - void *unkC; + void* unkC; char unk10[0x4]; - void *unk14; - unkStruct4 *unk18; - void *unk1C; + void* unk14; + unkStruct4* unk18; + void* unk1C; char unk20[0x4]; - GXColor *unk24; - unkStruct12 *unk28; - unkStruct13 *unk2C; - void *unk30; + GXColor* unk24; + unkStruct12* unk28; + unkStruct13* unk2C; + void* unk30; u32 unk34; m440Func14 unk38; s16 unk3C; @@ -202,9 +197,9 @@ typedef struct _unkStruct15 { s16 unkC; s16 unkE; char unk10[0x4]; - void *unk14; + void* unk14; char unk18[0x4]; - void *unk1C; + void* unk1C; } unkStruct15; // object.c @@ -226,136 +221,176 @@ typedef struct _unkObjStruct { Vec unk3C; u8 unk48; s16 unk4A; - float unk4C; + f32 unk4C; s16 unk50; s16 unk52; s16 unk54; s16 unk56; s16 unk58; s16 unk5A; - float unk5C; + f32 unk5C; s16 unk60; s16 unk62; char unk64[0x4]; - float unk68; - float unk6C; - float unk70; + f32 unk68; + f32 unk6C; + f32 unk70; } unkObjStruct; -#if VERSION_NTSC -#define REFRESH_RATE_F 60.0f -#else -#define REFRESH_RATE_F 49.998f -#endif ////// BSS ////// -extern omObjData *lbl_1_bss_C0[4]; +// object.c +extern omObjData* lbl_1_bss_C0[4]; +extern s16 lbl_1_bss_B8[4]; +extern Vec lbl_1_bss_88[4]; +extern f32 lbl_1_bss_84; +extern Vec lbl_1_bss_78; +extern s16 lbl_1_bss_74; +extern u8 lbl_1_bss_72; +extern s16 lbl_1_bss_70; +// main.c +extern omObjData* lbl_1_bss_6C; +extern omObjData* lbl_1_bss_68; +extern unkStruct6* lbl_1_bss_64; +extern s16 lbl_1_bss_60; +extern Mtx lbl_1_bss_30; +extern s16 lbl_1_bss_2C; +extern void* lbl_1_bss_28; +extern u32 lbl_1_bss_24; +extern s16 lbl_1_bss_10[10]; +extern s16 lbl_1_bss_E; +extern u8 lbl_1_bss_C; +extern u8 lbl_1_bss_B; +extern u8 lbl_1_bss_A; +extern s16 lbl_1_bss_8; +extern s16 lbl_1_bss_6; +extern s16 lbl_1_bss_4; +extern s8 lbl_1_bss_2; +extern s8 lbl_1_bss_1; +extern s8 lbl_1_bss_0; ////// DATA ////// // main.c -extern float lbl_1_data_0[5]; +extern f32 lbl_1_data_0[5]; extern s16 lbl_1_data_14[6]; +extern Vec lbl_1_data_20; +extern Vec lbl_1_data_2C; +extern Vec lbl_1_data_38; +extern unkStruct7 lbl_1_data_44; +extern Vec lbl_1_data_54; +extern Vec lbl_1_data_60; +extern Vec lbl_1_data_6C; +extern unkStruct lbl_1_data_78[3]; +extern s16 lbl_1_data_E4[2]; +extern s16 lbl_1_data_E8[2]; +extern s16 lbl_1_data_EC[2]; +extern s16 lbl_1_data_F0[2]; +extern s32 lbl_1_data_F4[4]; +extern s16 lbl_1_data_104[2]; +extern s16 lbl_1_data_108[2]; // object.c extern s16 lbl_1_data_1D8; +extern s16 lbl_1_data_1DA; +extern u32 lbl_1_data_1DC[8][2]; +extern f32 lbl_1_data_21C[4]; +extern f32 lbl_1_data_250; ////// FUNCTIONS ////// // main.c -void ObjectSetup(void); -void fn_1_3C4(omObjData *object); -void fn_1_434(omObjData *object); -s32 fn_1_4A4(void); -s32 fn_1_6C8(void); -void fn_1_8F0(omObjData *object); -void fn_1_AE0(omObjData *object); -u8 fn_1_E14(omObjData *object); -u8 fn_1_1138(omObjData *object); -void fn_1_16D8(void); -void fn_1_1708(void); -void fn_1_1768(void); -s16 fn_1_17CC(void); -s16 fn_1_17F4(void); -void fn_1_181C(void); -u8 fn_1_1890(void); -void fn_1_18E0(void); -u8 fn_1_1954(void); -void fn_1_19B0(void); -void fn_1_1CAC(void); -void fn_1_2240(ModelData *data, unkStruct5 *, Mtx); -u16 fn_1_23E4(u16); -void fn_1_2428(u16, u16); -void fn_1_2470(omObjData *object); -void fn_1_2A74(omObjData *object); -void fn_1_2AB4(omObjData *object); -void fn_1_2B04(omObjData *object); -void fn_1_2CA8(omObjData *object); -void fn_1_2D28(omObjData *object); -void fn_1_33D4(omObjData *object); -void fn_1_3DD8(omObjData *object); -void fn_1_4558(omObjData *object); -void fn_1_45BC(omObjData *object); -void fn_1_4660(omObjData *object); -void fn_1_46E0(omObjData *object); -void fn_1_4A20(omObjData *object); -void fn_1_4B44(omObjData *object); -void fn_1_4E00(s16, float); -s16 fn_1_4E2C(void); -s16 fn_1_4E54(s16); -u16 fn_1_4EA8(u16); -void fn_1_4EEC(u16, u16); -void fn_1_4F34(unkStruct6 *); -void fn_1_5010(unkStruct6 *, Vec *, float); -void fn_1_57B4(unkStruct6 *); -void fn_1_5C2C(s16, HsfObject *, unkStruct6 *, u16); -void fn_1_6554(unkStruct6 *, HsfObject *); -void fn_1_6B58(unkStruct6 *, HsfObject *); -void fn_1_71FC(unkStruct6 *, Vec *, s16, Vec); -void fn_1_7934(unkStruct6 *, unkStruct8 *, Vec *); -void fn_1_7D60(unkStruct15 *, unkStruct13 *, s16); -void fn_1_806C(ModelData *, Mtx); -void fn_1_8470(unkStruct12 *, unkStruct13 *); -void fn_1_8AC4(Mtx); -void fn_1_8D1C(void); -void fn_1_91A4(Vec *, Vec *, Vec *, float[5]); -float fn_1_927C(float, float, float); -void fn_1_9344(Mtx, Mtx); -float fn_1_93C0(float, float, float); -float fn_1_93D0(float, float, float, float); -unkStruct4 *fn_1_942C(s16, Vec *, Vec *, float, GXColor *); -s16 fn_1_956C(AnimData *, s16, float, s16, s16); -void fn_1_9AB0(s16); -unkStruct5 *fn_1_9B10(s16); -unkStruct4 *fn_1_9B3C(s16, s16); -void fn_1_9B94(s16, m440Func5); -void fn_1_9BCC(s16, u8); -void fn_1_9C04(ModelData *, Mtx); -void fn_1_A1B8(HsfVector2f *, s16, s16, float, float); -void fn_1_A284(HsfVector2f *, HsfVector2f *, s16, float, float); -void fn_1_A328(Vec *, Vec *, Vec *, s16); -void fn_1_A390(ModelData *, Mtx); -void fn_1_AA94(void); +extern void ObjectSetup(void); +extern void fn_1_3C4(omObjData* object); +extern void fn_1_434(omObjData* object); +extern s32 fn_1_4A4(void); +extern s32 fn_1_6C8(void); +extern void fn_1_8F0(omObjData* object); +extern void fn_1_AE0(omObjData* object); +extern u8 fn_1_E14(omObjData* object); +extern u8 fn_1_1138(omObjData* object); +extern void fn_1_16D8(void); +extern void fn_1_1708(void); +extern void fn_1_1768(void); +extern s16 fn_1_17CC(void); +extern s16 fn_1_17F4(void); +extern void fn_1_181C(void); +extern u8 fn_1_1890(void); +extern void fn_1_18E0(void); +extern u8 fn_1_1954(void); +extern void fn_1_19B0(void); +extern void fn_1_1CAC(void); +extern void fn_1_2240(ModelData* data, unkStruct5*, Mtx); +extern u16 fn_1_23E4(u16); +extern void fn_1_2428(u16, u16); +extern void fn_1_2470(omObjData* object); +extern void fn_1_2A74(omObjData* object); +extern void fn_1_2AB4(omObjData* object); +extern void fn_1_2B04(omObjData* object); +extern void fn_1_2CA8(omObjData* object); +extern void fn_1_2D28(omObjData* object); +extern void fn_1_33D4(omObjData* object); +extern void fn_1_3DD8(omObjData* object); +extern void fn_1_4558(omObjData* object); +extern void fn_1_45BC(omObjData* object); +extern void fn_1_4660(omObjData* object); +extern void fn_1_46E0(omObjData* object); +extern void fn_1_4A20(omObjData* object); +extern void fn_1_4B44(omObjData* object); +extern void fn_1_4E00(s16, f32); +extern s16 fn_1_4E2C(void); +extern s16 fn_1_4E54(s16); +extern u16 fn_1_4EA8(u16); +extern void fn_1_4EEC(u16, u16); +extern void fn_1_4F34(unkStruct6*); +extern void fn_1_5010(unkStruct6*, Vec*, f32); +extern void fn_1_57B4(unkStruct6*); +extern void fn_1_5C2C(s16, HsfObject*, unkStruct6*, u16); +extern void fn_1_6554(unkStruct6*, HsfObject*); +extern void fn_1_6B58(unkStruct6*, HsfObject*); +extern void fn_1_71FC(unkStruct6*, Vec*, s16, Vec); +extern void fn_1_7934(unkStruct6*, unkStruct8*, Vec*); +extern void fn_1_7D60(unkStruct15*, unkStruct13*, s16); +extern void fn_1_806C(ModelData*, Mtx); +extern void fn_1_8470(unkStruct12*, unkStruct13*); +extern void fn_1_8AC4(Mtx); +extern void fn_1_8D1C(void); +extern void fn_1_91A4(Vec*, Vec*, Vec*, f32[5]); +extern f32 fn_1_927C(f32, f32, f32); +extern void fn_1_9344(Mtx, Mtx); +extern f32 fn_1_93C0(f32, f32, f32); +extern f32 fn_1_93D0(f32, f32, f32, f32); +extern unkStruct4* fn_1_942C(s16, Vec*, Vec*, f32, GXColor*); +extern s16 fn_1_956C(AnimData*, s16, f32, s16, s16); +extern void fn_1_9AB0(s16); +extern unkStruct5* fn_1_9B10(s16); +extern unkStruct4* fn_1_9B3C(s16, s16); +extern void fn_1_9B94(s16, m440Func5); +extern void fn_1_9BCC(s16, u8); +extern void fn_1_9C04(ModelData*, Mtx); +extern void fn_1_A1B8(HsfVector2f*, s16, s16, f32, f32); +extern void fn_1_A284(HsfVector2f*, HsfVector2f*, s16, f32, f32); +extern void fn_1_A328(Vec*, Vec*, Vec*, s16); +void fn_1_A390(ModelData*, Mtx); +extern void fn_1_AA94(void); // object.c -void fn_1_AE08(Process *); -void fn_1_AEE4(omObjData *); -void fn_1_B17C(omObjData *); -void fn_1_B180(omObjData *); -void fn_1_B3A4(omObjData *); -void fn_1_B884(omObjData *, unkObjStruct *); -void fn_1_C1D4(omObjData *, unkObjStruct *); -void fn_1_C944(omObjData *, unkObjStruct *); -s16 fn_1_CFAC(unkObjStruct *, u8); -void fn_1_D24C(unkObjStruct *, float, float); -void fn_1_D34C(omObjData *, unkObjStruct *); -void fn_1_D7F8(omObjData *, unkObjStruct *); -void fn_1_E034(omObjData *, unkObjStruct *); -u8 fn_1_E8AC(omObjData *, unkObjStruct *); -s32 fn_1_ED88(omObjData *, s16, u32); -void fn_1_EE78(void); -void fn_1_EF50(void); -s16 fn_1_F0FC(void); -void fn_1_F168(void); -void fn_1_F228(void); -u16 fn_1_F4C0(unkObjStruct *, u16); -void fn_1_F4D4(unkObjStruct *, u16, u16); -s32 fn_1_F4FC(s32); - -#endif +extern void fn_1_AE08(Process*); +extern void fn_1_AEE4(omObjData*); +extern void fn_1_B17C(omObjData*); +extern void fn_1_B180(omObjData*); +extern void fn_1_B3A4(omObjData*); +extern void fn_1_B884(omObjData*, unkObjStruct*); +extern void fn_1_C1D4(omObjData*, unkObjStruct*); +extern void fn_1_C944(omObjData*, unkObjStruct*); +extern s16 fn_1_CFAC(unkObjStruct*, u8); +extern void fn_1_D24C(unkObjStruct*, f32, f32); +extern void fn_1_D34C(omObjData*, unkObjStruct*); +extern void fn_1_D7F8(omObjData*, unkObjStruct*); +extern void fn_1_E034(omObjData*, unkObjStruct*); +extern u8 fn_1_E8AC(omObjData*, unkObjStruct*); +extern s32 fn_1_ED88(omObjData*, s16, u32); +extern void fn_1_EE78(void); +extern void fn_1_EF50(void); +extern s16 fn_1_F0FC(void); +extern void fn_1_F168(void); +extern void fn_1_F228(void); +extern u16 fn_1_F4C0(unkObjStruct*, u16); +extern void fn_1_F4D4(unkObjStruct*, u16, u16); +extern s32 fn_1_F4FC(s32); diff --git a/include/REL/m443Dll.h b/include/REL/m443Dll.h deleted file mode 100644 index ba09dc8a..00000000 --- a/include/REL/m443Dll.h +++ /dev/null @@ -1,55 +0,0 @@ -#ifndef M443DLL_H -#define M443DLL_H - -#include "game/object.h" - -typedef struct M443DllCameraStruct { - s32 unk_00; - s32 unk_04; - s32 unk_08; - u32 unk_0C; - float unk_10; - float unk_14; - float unk_18; - Vec unk_1C; - Vec unk_28; - float unk_34; - s32 unk_38; - s32 unk_3C; - float unk_40; - float unk_44; - float unk_48; - float unk_4C; - float unk_50; - Vec unk_54; - char unk_60[0xC]; - float unk_6C; - float unk_70; - char unk74[0x4]; - float unk_78; - float unk_7C; - float unk_80; - char unk84[0x1C]; - u32 unk_A0; -} M443DllCameraStruct; /* size = 0xA4 */ - -void fn_1_3FE8(u32 arg0); -u32 fn_1_3FFC(void); -M443DllCameraStruct *fn_1_40AC(s32 arg0); -M443DllCameraStruct *fn_1_4148(u32 arg0); -M443DllCameraStruct *fn_1_41B0(u32 arg0); -void fn_1_421C(s32 arg0, s32 arg1); -u32 fn_1_42CC(void); -u32 fn_1_42E4(void); -u32 fn_1_42FC(void); -void fn_1_4314(s32 arg0, float arg8); -s32 fn_1_4368(s32 arg0); -void fn_1_43AC(s32 arg0); -void fn_1_43DC(s32 arg0); -float fn_1_488C(float arg8, float arg9, float argA); -void fn_1_4A5C(Process *arg0); -void fn_1_4AB0(void); -void fn_1_5444(Process *arg0); -void fn_1_565C(void); - -#endif diff --git a/include/REL/m444dll.h b/include/REL/m444dll.h index ba2894c5..b0165d19 100644 --- a/include/REL/m444dll.h +++ b/include/REL/m444dll.h @@ -41,7 +41,6 @@ void fn_1_C214(void); void fn_1_D1E0(s16 model); void fn_1_D558(DataListModel *model_list); -void fn_1_D588(DataListModel *model_list); void fn_1_D818(DataListSprite *sprite_list); void fn_1_D950(void); void fn_1_D9C8(void); @@ -71,4 +70,4 @@ extern float lbl_1_bss_288[2]; extern DataListModel lbl_1_data_470[]; -#endif +#endif \ No newline at end of file diff --git a/include/REL/m446Dll.h b/include/REL/m446Dll.h index bdbdadb2..ed3e8df3 100644 --- a/include/REL/m446Dll.h +++ b/include/REL/m446Dll.h @@ -1,11 +1,7 @@ -#ifndef M446DLL_H -#define M446DLL_H - #include "dolphin/types.h" -#include "game/object.h" #include "game/process.h" - +#include "game/object.h" ////// TYPES ////// typedef struct _unkStruct { @@ -18,26 +14,26 @@ typedef struct _unkStruct { s32 unk14; s32 unk18; s32 unk1C; - struct _unkStruct6 *unk20; - struct _unkStruct9 *unk24; - struct _unkStruct5 *unk28; - struct _unkStruct8 *unk2C[2]; - struct _unkStruct4 *unk34; - struct _unkStruct4 *unk38[23]; + struct _unkStruct6* unk20; + struct _unkStruct9* unk24; + struct _unkStruct5* unk28; + struct _unkStruct8* unk2C[2]; + struct _unkStruct4* unk34; + struct _unkStruct4* unk38[23]; s32 unk94; - Process *unk98; + Process* unk98; } unkStruct; typedef struct _unkStruct2 { - void **unk0; + void** unk0; s32 unk4; s32 unk8; } unkStruct2; typedef struct _unkStruct3 { - void *unk0; - struct _unkStruct3 *unk4; - struct _unkStruct3 *unk8; + void* unk0; + struct _unkStruct3* unk4; + struct _unkStruct3* unk8; } unkStruct3; typedef struct _unkStruct4 { @@ -53,9 +49,9 @@ typedef struct _unkStruct4 { Vec unk34; Vec unk40; Vec unk4C; - float unk58; - float unk5C; - float unk60; + f32 unk58; + f32 unk5C; + f32 unk60; s32 unk64; s32 unk68; s32 unk6C; @@ -63,24 +59,24 @@ typedef struct _unkStruct4 { s32 unk74; s32 unk78; s32 unk7C; - float unk80; - float unk84; - float unk88; - float unk8C; - float unk90; - float unk94; + f32 unk80; + f32 unk84; + f32 unk88; + f32 unk8C; + f32 unk90; + f32 unk94; } unkStruct4; typedef struct _unkStruct5 { - unkStruct2 *unk0; + unkStruct2* unk0; Vec unk4; } unkStruct5; typedef struct _unkStruct6 { - struct _unkStruct7 *unk0; + struct _unkStruct7* unk0; s16 unk4; s16 unk6; - unkStruct4 *unk8[21]; + unkStruct4* unk8[21]; s32 unk5C; s32 unk60; s32 unk64; @@ -101,16 +97,16 @@ typedef struct _unkStruct7 { Vec unk20; Vec unk2C; Vec unk38; - float unk44; + f32 unk44; u8 unk48; - float unk4C; - float unk50; + f32 unk4C; + f32 unk50; } unkStruct7; typedef struct _unkStruct8 { s32 unk0; - unkStruct6 *unk4; - unkStruct7 *unk8; + unkStruct6* unk4; + unkStruct7* unk8; s32 unkC; s32 unk10; s32 unk14; @@ -119,13 +115,13 @@ typedef struct _unkStruct8 { s32 unk20; s32 unk24; s32 unk28; - unkStruct4 *unk2C[3]; + unkStruct4* unk2C[3]; s32 unk38; s16 unk3C[2]; s16 unk40[4]; Vec unk48; Vec unk54; - float unk60; + f32 unk60; u8 unk64; u8 unk65; u8 unk66; @@ -142,10 +138,10 @@ typedef struct _unkStruct8 { Vec unk9C; Vec unkA8; s32 unkB4; - float unkB8; - float unkBC; - float unkC0; - float unkC4; + f32 unkB8; + f32 unkBC; + f32 unkC0; + f32 unkC4; s32 unkC8; } unkStruct8; @@ -153,8 +149,8 @@ typedef struct _unkStruct9 { s16 unk0[5]; s16 unkA[2]; s16 unkE; - float unk10; - float unk14; + f32 unk10; + f32 unk14; s32 unk18; s32 unk1C; s32 unk20; @@ -170,141 +166,201 @@ typedef struct _unkStruct10 { } unkStruct10; typedef void (*m446Func)(s32); -typedef void (*m446Func1)(unkStruct *); -typedef void (*m446Func4)(unkStruct4 *); -typedef void (*m446Func8)(unkStruct8 *); +typedef void (*m446Func1)(unkStruct*); +typedef void (*m446Func4)(unkStruct4*); +typedef void (*m446Func8)(unkStruct8*); + +////// BSS ////// +// stage.c +extern unkStruct3* lbl_1_bss_A0; +// cursor.c +extern unkStruct3* lbl_1_bss_98; +// camera.c +extern Vec lbl_1_bss_8C; +extern Vec lbl_1_bss_80; +extern f32 lbl_1_bss_7C; +extern Vec lbl_1_bss_70; +extern Vec lbl_1_bss_64; +extern f32 lbl_1_bss_60; +extern Vec lbl_1_bss_54; +extern Vec lbl_1_bss_48; +extern f32 lbl_1_bss_44; +extern f32 lbl_1_bss_40; +extern f32 lbl_1_bss_3C; +extern s32 lbl_1_bss_38; +// player.c +extern unkStruct3* lbl_1_bss_30; +// table.c +extern unkStruct3* lbl_1_bss_28; +// deck.c +extern u32 lbl_1_bss_20; +// card.c +extern unkStruct3* lbl_1_bss_18; +// main.c +extern s32 lbl_1_bss_14; +extern s32 lbl_1_bss_10; +extern Process* lbl_1_bss_C; +extern omObjData* lbl_1_bss_8; +extern s32 lbl_1_bss_4; +extern unkStruct* lbl_1_bss_0; + +////// DATA ////// +// main.c +extern Vec lbl_1_data_0; +extern Vec lbl_1_data_C; +extern f32 lbl_1_data_18; +extern Vec lbl_1_data_1C; +extern Vec lbl_1_data_28; +extern f32 lbl_1_data_34; +extern Vec lbl_1_data_38[2]; +extern Vec lbl_1_data_50[2]; +extern f32 lbl_1_data_68[2]; +extern s32 lbl_1_data_70[2][2]; +extern m446Func1 lbl_1_data_A0[5]; +// card.c +extern m446Func4 lbl_1_data_150[3]; +// player.c +extern s32 lbl_1_data_228[9]; +extern s32 lbl_1_data_24C[9][4]; +extern m446Func8 lbl_1_data_2DC[5]; +// camera.c +extern Vec lbl_1_data_370; +// cursor.c +extern s32 lbl_1_data_3C8[9]; +// stage.c +extern unkStruct10 lbl_1_data_460[3]; +extern Vec lbl_1_data_424[5]; +extern Vec lbl_1_data_4B4[3]; ////// PROTOTYPES ////// // main.c -void ObjectSetup(void); -void fn_1_13C(omObjData *); -unkStruct *m446FlowCreate(void); -void fn_1_3FC(unkStruct *); -void fn_1_4B4(unkStruct *); -void fn_1_53C(unkStruct *); -void fn_1_958(unkStruct *); -void fn_1_B78(unkStruct *); -void fn_1_C0C(unkStruct *); -void fn_1_CA0(unkStruct *); -s32 fn_1_17FC(unkStruct *); -void fn_1_183C(unkStruct *); -void fn_1_1874(unkStruct *); -void fn_1_18B0(unkStruct *); -void fn_1_19D4(void); +extern void ObjectSetup(void); +extern void fn_1_13C(omObjData*); +extern unkStruct* m446FlowCreate(void); +extern void fn_1_3FC(unkStruct*); +extern void fn_1_4B4(unkStruct*); +extern void fn_1_53C(unkStruct*); +extern void fn_1_958(unkStruct*); +extern void fn_1_B78(unkStruct*); +extern void fn_1_C0C(unkStruct*); +extern void fn_1_CA0(unkStruct*); +extern s32 fn_1_17FC(unkStruct*); +extern void fn_1_183C(unkStruct*); +extern void fn_1_1874(unkStruct*); +extern void fn_1_18B0(unkStruct*); +extern void fn_1_19D4(void); // card.c -unkStruct2 *fn_1_1C64(s32); -void fn_1_1CF8(unkStruct2 *); -s32 fn_1_1D30(unkStruct2 *, void *); -s32 fn_1_1D6C(unkStruct2 *, unkStruct4 **); -s32 fn_1_1DA8(unkStruct2 *, void **); -BOOL fn_1_1DDC(unkStruct2 *); -s32 fn_1_1DEC(unkStruct2 *); -unkStruct3 *fn_1_1DF4(void *); -void fn_1_1E5C(unkStruct3 *); -void fn_1_1E84(unkStruct3 **); -void fn_1_1EC8(unkStruct3 *, unkStruct3 *); -void fn_1_1F04(unkStruct3 *); -void fn_1_1F38(u8 *, u8 *, s32); -void fn_1_1F84(u8 *, s8, s32); -void fn_1_1FC0(u8 *, s32); -s32 fn_1_1FFC(s8 *, s8 *, s32); -s32 fn_1_2064(void); -void fn_1_207C(void); -void fn_1_20D4(void); -unkStruct4 *m446CardCreate(s32); -void fn_1_2688(unkStruct4 *); -void fn_1_272C(unkStruct4 *); -void fn_1_2794(unkStruct4 *); -void fn_1_27FC(unkStruct4 *, Vec *, s32); -void fn_1_2890(unkStruct4 *, Vec *, s32, s32); -void fn_1_2928(unkStruct4 *, Vec *, s32); -void fn_1_29B4(unkStruct4 *, float, s32); -void fn_1_2A1C(unkStruct4 *); -void fn_1_2A58(unkStruct4 *); -void fn_1_2A94(unkStruct4 *); -void fn_1_2AA8(unkStruct4 *); -void fn_1_2D94(unkStruct4 *); -void fn_1_2DA8(unkStruct4 *); -void fn_1_2EC0(unkStruct4 *, s32); -void fn_1_2F64(unkStruct4 *); +extern unkStruct2* fn_1_1C64(s32); +extern void fn_1_1CF8(unkStruct2*); +extern s32 fn_1_1D30(unkStruct2*, void*); +extern s32 fn_1_1D6C(unkStruct2*, unkStruct4**); +extern s32 fn_1_1DA8(unkStruct2*, void**); +extern BOOL fn_1_1DDC(unkStruct2*); +extern s32 fn_1_1DEC(unkStruct2*); +extern unkStruct3* fn_1_1DF4(void*); +extern void fn_1_1E5C(unkStruct3*); +extern void fn_1_1E84(unkStruct3**); +extern void fn_1_1EC8(unkStruct3*, unkStruct3*); +extern void fn_1_1F04(unkStruct3*); +extern void fn_1_1F38(u8*, u8*, s32); +extern void fn_1_1F84(u8*, s8, s32); +extern void fn_1_1FC0(u8*, s32); +extern s32 fn_1_1FFC(s8*, s8*, s32); +extern s32 fn_1_2064(void); +extern void fn_1_207C(void); +extern void fn_1_20D4(void); +extern unkStruct4* m446CardCreate(s32); +extern void fn_1_2688(unkStruct4*); +extern void fn_1_272C(unkStruct4*); +extern void fn_1_2794(unkStruct4*); +extern void fn_1_27FC(unkStruct4*, Vec*, s32); +extern void fn_1_2890(unkStruct4*, Vec*, s32, s32); +extern void fn_1_2928(unkStruct4*, Vec*, s32); +extern void fn_1_29B4(unkStruct4*, f32, s32); +extern void fn_1_2A1C(unkStruct4*); +extern void fn_1_2A58(unkStruct4*); +extern void fn_1_2A94(unkStruct4*); +extern void fn_1_2AA8(unkStruct4*); +extern void fn_1_2D94(unkStruct4*); +extern void fn_1_2DA8(unkStruct4*); +extern void fn_1_2EC0(unkStruct4*, s32); +extern void fn_1_2F64(unkStruct4*); // deck.c -unkStruct5 *fn_1_3064(void); -void fn_1_3180(unkStruct2 **); -void fn_1_31D8(unkStruct2 **, unkStruct4 **, s32 *, s32); -void fn_1_34A0(unkStruct5 *, unkStruct4 **, s32, s32); -s32 m446DeckPushCard(unkStruct5 *, unkStruct4 *, s32); -s32 m446DeckPopCard(unkStruct2 **, unkStruct4 **); -void fn_1_38B0(unkStruct2 **); -s32 fn_1_38F0(void); +extern unkStruct5* fn_1_3064(void); +extern void fn_1_3180(unkStruct2**); +extern void fn_1_31D8(unkStruct2**, unkStruct4**, s32*, s32); +extern void fn_1_34A0(unkStruct5*, unkStruct4**, s32, s32); +extern s32 m446DeckPushCard(unkStruct5*, unkStruct4*, s32); +extern s32 m446DeckPopCard(unkStruct2**, unkStruct4**); +extern void fn_1_38B0(unkStruct2**); +extern s32 fn_1_38F0(void); // table.c -s32 fn_1_3924(void); -void fn_1_393C(void); -void fn_1_3994(void); -unkStruct6 *fn_1_39D0(void); -void fn_1_3B4C(unkStruct6 *); -s32 fn_1_3BF0(unkStruct6 *, unkStruct4 *, s32); -s32 fn_1_3EB4(unkStruct6 *, unkStruct4 *, s32); -s32 fn_1_3FD0(unkStruct6 *, s32, unkStruct4 **); -void fn_1_4000(unkStruct6 *, s32); -s32 fn_1_4088(unkStruct6 *, u8, u8, s32, unkStruct4 **, s32); -void fn_1_46AC(unkStruct6 *); -void fn_1_46D0(unkStruct6 *); -s32 fn_1_4720(unkStruct6 *, s32); -void fn_1_4798(unkStruct6 *); +extern s32 fn_1_3924(void); +extern void fn_1_393C(void); +extern void fn_1_3994(void); +extern unkStruct6* fn_1_39D0(void); +extern void fn_1_3B4C(unkStruct6*); +extern s32 fn_1_3BF0(unkStruct6*, unkStruct4*, s32); +extern s32 fn_1_3EB4(unkStruct6*, unkStruct4*, s32); +extern s32 fn_1_3FD0(unkStruct6*, s32, unkStruct4**); +extern void fn_1_4000(unkStruct6*, s32); +extern s32 fn_1_4088(unkStruct6*, u8, u8, s32, unkStruct4**, s32); +extern void fn_1_46AC(unkStruct6*); +extern void fn_1_46D0(unkStruct6*); +extern s32 fn_1_4720(unkStruct6*, s32); +extern void fn_1_4798(unkStruct6*); // player.c -s32 fn_1_480C(void); -void fn_1_4824(void); -void fn_1_487C(void); -unkStruct8 *m446PlayerCreate(s32, unkStruct6 *); -void fn_1_509C(unkStruct8 *); -s32 m446PlayerAppendCard(unkStruct8 *, unkStruct4 *, s32); -s32 m446PlayerRemoveCard(unkStruct8 *, unkStruct4 *, s32); -s32 fn_1_5648(unkStruct8 *, s32, unkStruct4 **); -s32 fn_1_5678(unkStruct8 *, unkStruct4 **, s32); -void fn_1_5B34(unkStruct8 *); -void fn_1_5B48(unkStruct8 *); -void fn_1_5C10(unkStruct8 *); -void fn_1_5C24(unkStruct8 *); -void fn_1_5CEC(unkStruct8 *); -void fn_1_5D00(unkStruct8 *); -void fn_1_5E54(unkStruct8 *, s32); -void fn_1_6074(unkStruct8 *); -void fn_1_6264(unkStruct8 *, Vec *, s32); -void fn_1_62F0(unkStruct8 *, Vec *, s32); -void fn_1_637C(unkStruct8 *, s32); -void fn_1_64BC(unkStruct8 *, s32, s32); -void fn_1_6578(unkStruct8 *); -void fn_1_6620(unkStruct8 *); +extern s32 fn_1_480C(void); +extern void fn_1_4824(void); +extern void fn_1_487C(void); +extern unkStruct8* m446PlayerCreate(s32, unkStruct6*); +extern void fn_1_509C(unkStruct8*); +extern s32 m446PlayerAppendCard(unkStruct8*, unkStruct4*, s32); +extern s32 m446PlayerRemoveCard(unkStruct8*, unkStruct4*, s32); +extern s32 fn_1_5648(unkStruct8*, s32, unkStruct4**); +extern s32 fn_1_5678(unkStruct8*, unkStruct4**, s32); +extern void fn_1_5B34(unkStruct8*); +extern void fn_1_5B48(unkStruct8*); +extern void fn_1_5C10(unkStruct8*); +extern void fn_1_5C24(unkStruct8*); +extern void fn_1_5CEC(unkStruct8*); +extern void fn_1_5D00(unkStruct8*); +extern void fn_1_5E54(unkStruct8*, s32); +extern void fn_1_6074(unkStruct8*); +extern void fn_1_6264(unkStruct8*, Vec*, s32); +extern void fn_1_62F0(unkStruct8*, Vec*, s32); +extern void fn_1_637C(unkStruct8*, s32); +extern void fn_1_64BC(unkStruct8*, s32, s32); +extern void fn_1_6578(unkStruct8*); +extern void fn_1_6620(unkStruct8*); // camera.c -s32 fn_1_6778(void); -void fn_1_68D8(void); -void fn_1_68DC(void); -void fn_1_6EA0(Vec *); -void fn_1_6EC4(Vec *); -void fn_1_6EE8(float); -void fn_1_6EF8(Vec *, Vec *, float *, s32); -s32 fn_1_708C(void); -void fn_1_709C(void); +extern s32 fn_1_6778(void); +extern void fn_1_68D8(void); +extern void fn_1_68DC(void); +extern void fn_1_6EA0(Vec*); +extern void fn_1_6EC4(Vec*); +extern void fn_1_6EE8(f32); +extern void fn_1_6EF8(Vec*, Vec*, f32*, s32); +extern s32 fn_1_708C(void); +extern void fn_1_709C(void); // cursor.c -s32 fn_1_72E0(void); -void fn_1_72F8(void); -void fn_1_7350(void); -unkStruct7 *m446CursorCreate(s32); -void fn_1_76E8(unkStruct7 *); -void fn_1_77C8(unkStruct7 *, u8); -void fn_1_7884(unkStruct7 *); -void fn_1_7908(unkStruct7 *, Vec *, s32); -void fn_1_799C(unkStruct7 *); -void fn_1_7A38(unkStruct7 *); -void fn_1_7AB4(unkStruct7 *); +extern s32 fn_1_72E0(void); +extern void fn_1_72F8(void); +extern void fn_1_7350(void); +extern unkStruct7* m446CursorCreate(s32); +extern void fn_1_76E8(unkStruct7*); +extern void fn_1_77C8(unkStruct7*, u8); +extern void fn_1_7884(unkStruct7*); +extern void fn_1_7908(unkStruct7*, Vec*, s32); +extern void fn_1_799C(unkStruct7*); +extern void fn_1_7A38(unkStruct7*); +extern void fn_1_7AB4(unkStruct7*); // stage.c -s32 fn_1_7BF0(void); -void fn_1_7C08(void); -void fn_1_7C60(void); -unkStruct9 *m446StageCreate(void); -void fn_1_83F0(unkStruct9 *); -void fn_1_84AC(unkStruct9 *); -void fn_1_852C(unkStruct9 *); -void fn_1_860C(unkStruct9 *); - -#endif +extern s32 fn_1_7BF0(void); +extern void fn_1_7C08(void); +extern void fn_1_7C60(void); +extern unkStruct9* m446StageCreate(void); +extern void fn_1_83F0(unkStruct9*); +extern void fn_1_84AC(unkStruct9*); +extern void fn_1_852C(unkStruct9*); +extern void fn_1_860C(unkStruct9*); diff --git a/include/REL/m447dll.h b/include/REL/m447dll.h deleted file mode 100755 index ad069429..00000000 --- a/include/REL/m447dll.h +++ /dev/null @@ -1,158 +0,0 @@ -#ifndef M447DLL_H -#define M447DLL_H - -#include "game/animdata.h" -#include "game/process.h" - -typedef struct { - /* 0x00 */ Process* unk00; - /* 0x04 */ Process* unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ s32 unk20; - /* 0x24 */ s32 unk24; - /* 0x28 */ s32 unk28; - /* 0x2C */ s32 unk2C; - /* 0x30 */ s16 unk30; - /* 0x32 */ s16 unk32; - /* 0x34 */ s16 unk34[25]; - /* 0x66 */ char unk66[0xA]; - /* 0x70 */ s32 unk70; -} UnkM447Struct_00; // Size 0x74 - -typedef struct { - /* 0x00 */ s16 unk00[22]; - /* 0x2C */ s16 unk2C[6]; - /* 0x38 */ s32 unk38; - /* 0x3C */ s32 unk3C; - /* 0x40 */ s32 unk40; - /* 0x44 */ s32 unk44; - /* 0x48 */ float unk48; - /* 0x4C */ float unk4C; - /* 0x50 */ AnimData* unk50; - /* 0x54 */ s32 unk54[5]; - /* 0x68 */ s32 unk68[5]; - /* 0x7C */ Process* unk7C; -} UnkM447Struct_06; // Size 0x80 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ Vec unk10; - /* 0x1C */ Vec unk1C; - /* 0x28 */ Vec unk28; - /* 0x34 */ float unk34; - /* 0x38 */ float unk38; - /* 0x3C */ float unk3C; - /* 0x40 */ float unk40; - /* 0x44 */ float unk44; - /* 0x48 */ float unk48; - /* 0x4C */ float unk4C; - /* 0x50 */ float unk50; - /* 0x54 */ float unk54; - /* 0x58 */ s16 unk58[23]; - /* 0x86 */ char unk86[2]; - /* 0x88 */ float unk88; - /* 0x8C */ float unk8C; - /* 0x90 */ float unk90; - /* 0x94 */ float unk94; - /* 0x98 */ float unk98; - /* 0x9C */ float unk9C; - /* 0xA0 */ AnimData* unkA0; - /* 0xA4 */ Process* unkA4; - /* 0xA8 */ Vec unkA8; - /* 0xB4 */ float unkB4; - /* 0xB8 */ float unkB8; - /* 0xBC */ float unkBC; - /* 0xC0 */ float unkC0; - /* 0xC4 */ float unkC4; - /* 0xC8 */ float unkC8; -} UnkM447Struct_01; // Size 0xCC - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ char unk02[2]; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ u8 unk18; - /* 0x19 */ u8 unk19; - /* 0x1A */ u8 unk1A; - /* 0x1B */ u8 unk1B; - /* 0x1C */ s32 unk1C; - /* 0x20 */ s16 unk20; - /* 0x22 */ char unk22[2]; - /* 0x24 */ s32 unk24; - /* 0x28 */ Vec unk28; - /* 0x34 */ float unk34; - /* 0x38 */ float unk38; - /* 0x3C */ float unk3C; - /* 0x40 */ float unk40; - /* 0x44 */ float unk44; - /* 0x48 */ float unk48; - /* 0x4C */ float unk4C; - /* 0x50 */ float unk50; - /* 0x54 */ char unk54[0xC]; - /* 0x60 */ s32 unk60; - /* 0x64 */ s32 unk64; - /* 0x68 */ s16 unk68; - /* 0x6A */ s16 unk6A[9]; - /* 0x7C */ s16 unk7C[2]; - /* 0x80 */ char unk80[0x24]; - /* 0xA4 */ s32 unkA4; - /* 0xA8 */ UnkM447Struct_01* unkA8; - /* 0xAC */ Process* unkAC; - /* 0xB0 */ Process* unkB0; - /* 0xB4 */ Process* unkB4; -} UnkM447Struct_04; // Size 0xB8 - -UnkM447Struct_06* fn_1_1D90(void); -void fn_1_1E70(UnkM447Struct_06* arg0); -void fn_1_1EB0(UnkM447Struct_06* arg0, s32 arg1); -BOOL fn_1_1EC0(UnkM447Struct_06* arg0); -void fn_1_1ED4(s32 arg0, Vec* arg1); -void fn_1_1F00(UnkM447Struct_06* arg0, s32 arg1); -s32 fn_1_1F9C(UnkM447Struct_06* arg0); -void fn_1_1FEC(UnkM447Struct_06* arg0, s32 arg1); - -s32 fn_1_3130(void); -void fn_1_32E0(void); -void fn_1_330C(const Vec* arg0, s32 arg1); -void fn_1_33C8(const Vec* arg0, s32 arg1); -void fn_1_3484(float arg0, s32 arg1); -void fn_1_351C(Vec* arg0); -void fn_1_3540(Vec* arg0); - -void fn_1_3F84(void); -UnkM447Struct_04* fn_1_3FC4(s32 arg0); -void fn_1_43CC(UnkM447Struct_04* arg0, s32 arg1); -void fn_1_7A6C(UnkM447Struct_04* arg0); -void fn_1_7AA4(UnkM447Struct_04* arg0, s32 arg1, s32 arg2); - -void fn_1_7B54(Vec* arg0, Vec* arg1, s32 arg2, float arg3); -s32 fn_1_80BC(float* arg0, float* arg1, float* arg2); -s32 fn_1_879C(float* arg0, float* arg1, s32 arg2, s32 arg3); - -UnkM447Struct_01* fn_1_8DF8(void); -void fn_1_8FF4(UnkM447Struct_01* arg0, s32 arg1); -void fn_1_9004(UnkM447Struct_01* arg0, s32 arg1, s32 arg2); -void fn_1_90FC(s32 arg0); -void fn_1_A230(s32 arg0); -s32 fn_1_A240(void); - -extern UnkM447Struct_06* lbl_1_bss_10; -extern UnkM447Struct_00* lbl_1_bss_8; -extern Process* lbl_1_bss_4; -extern UnkM447Struct_04* lbl_1_bss_98[2]; -extern const float lbl_1_rodata_648[20]; -extern UnkM447Struct_01* lbl_1_bss_A4[5]; - -#endif diff --git a/include/REL/m453Dll.h b/include/REL/m453Dll.h deleted file mode 100644 index 661b2e99..00000000 --- a/include/REL/m453Dll.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef M453DLL_H -#define M453DLL_H - -#include "game/object.h" - -s32 fn_1_639C(void); -void fn_1_64E8(Process *arg0); -void fn_1_6748(void); -void fn_1_7C0C(float arg8); -void fn_1_7C2C(s32 arg0); -void fn_1_7C3C(void); -float fn_1_7F54(float arg8, float arg9); -float fn_1_80B0(Vec *arg0, float arg8); -s32 fn_1_8240(void); -s32 fn_1_82AC(Vec *arg0); -s32 fn_1_844C(Vec *arg0); -void fn_1_864C(s32 arg0); -s32 fn_1_867C(Vec *arg0, Vec *arg1); -void fn_1_8F48(Process *arg0, s16 arg1); -void fn_1_924C(s32 arg0); - -#endif diff --git a/include/REL/m455Dll.h b/include/REL/m455Dll.h deleted file mode 100644 index af47ff3c..00000000 --- a/include/REL/m455Dll.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef M455DLL_H -#define M455DLL_H - -#include "game/object.h" - -void fn_1_32C4(Process *objman); -void fn_1_340C(void); -s32 fn_1_6698(Vec *arg0, float arg1, float arg2, s32 arg3); -float fn_1_687C(void); -s32 fn_1_6CB0(Vec *arg0, float arg1); - -#endif diff --git a/include/REL/m456Dll.h b/include/REL/m456Dll.h deleted file mode 100644 index 3b566223..00000000 --- a/include/REL/m456Dll.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef M456DLL_H -#define M456DLL_H - -#include "game/object.h" - -void fn_1_2DF4(Process *objman); -void fn_1_2F3C(void); -s32 fn_1_61C8(Vec *arg0, float arg1, float arg2, s32 arg3); -float fn_1_63AC(void); -s32 fn_1_67E0(Vec *arg0, float arg1); -s32 fn_1_74F8(Vec *pos, float scale); -void fn_1_7F78(void); - -#endif diff --git a/include/REL/m460Dll.h b/include/REL/m460Dll.h deleted file mode 100644 index 40ca863d..00000000 --- a/include/REL/m460Dll.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef M460DLL_H -#define M460DLL_H - -#include "game/object.h" - -typedef struct UnkM460DllStruct { - float unk_00; - float unk_04; - float unk_08; - float unk_0C; -} UnkM460DllStruct; - -typedef struct M460DllCameraStruct { - s32 unk_00; - s32 unk_04; - s32 unk_08; - u32 unk_0C; - float unk_10; - float unk_14; - float unk_18; - Vec unk_1C; - Vec unk_28; - float unk_34; - s32 unk_38; - s32 unk_3C; - float unk_40; - UnkM460DllStruct unk_44; - char unk54[0x30]; - float unk_84; - char unk88[0x4]; - float unk_8C; - float unk_90; - s32 unk_94; - char unk98[0xC]; -} M460DllCameraStruct; /* size = 0xA4 */ // same as M443DllCameraStruct - -void fn_1_3E68(u32 arg0); -M460DllCameraStruct *fn_1_3E90(s32 arg0); -M460DllCameraStruct *fn_1_3F2C(s32 arg0); -u32 fn_1_414C(void); -u32 fn_1_4164(void); -s32 fn_1_419C(void); -void fn_1_41B4(s32 arg0, s32 arg1, s32 arg2); -void fn_1_41F4(s32 arg0); -void fn_1_4224(s32 arg0); -void fn_1_42BC(u32 arg0); -s32 fn_1_42F0(void); -void fn_1_4308(void); -s32 fn_1_4324(void); -void fn_1_433C(void); -s32 fn_1_4358(void); -u32 fn_1_4370(void); -float fn_1_47D0(float arg8, float arg9, float argA); - -void fn_1_49A0(Process *process); -void fn_1_4BE4(void); -void fn_1_67B4(Process *process); -void fn_1_6814(void); -void fn_1_8BA0(float arg8); -void fn_1_8CAC(Process *process, s16 arg1); -void fn_1_8F38(void); -void fn_1_8FAC(s32 arg0); - -#endif diff --git a/include/REL/mentDll.h b/include/REL/mentDll.h deleted file mode 100644 index fe6e9e49..00000000 --- a/include/REL/mentDll.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef MENTDLL_H -#define MENTDLL_H - -#include "game/object.h" -extern s32 lbl_1_data_0[][4]; - -// the prev and current struct member might be vice versa -typedef struct MentDllUnkBss64Struct { - /* 0x00 */ void (*func)(void); - /* 0x04 */ void (*func2)(float arg9); - /* 0x08 */ Vec center; - /* 0x14 */ Vec prevCenter; - /* 0x20 */ Vec rot; - /* 0x2C */ Vec prevRot; - /* 0x38 */ float zoom; - /* 0x3C */ float prevZoom; - /* 0x40 */ s32 unk_40; -} MentDllUnkBss64Struct; /* size = 0x44 */ -extern MentDllUnkBss64Struct lbl_1_bss_64; - -float fn_1_20C(float arg8, float arg9, float argA, float argB); -float fn_1_234(float arg8, float arg9, float argA); -float fn_1_254(float arg8, float arg9, float argA, float argB); -float fn_1_32C(float arg8, float arg9, float argA, float argB); -float fn_1_3F4(float arg8, float arg9, float argA, float argB); -void fn_1_4B0(s32 arg0); -void fn_1_4D8(void); -void fn_1_50C(void); -void fn_1_5E8(s32 arg0); -void fn_1_6D0(void); -s32 fn_1_1434(s32 arg0, s32 arg1, s32 arg2); -void fn_1_16AC(s32 arg0); -void fn_1_1968(s32 arg0, s32 arg1, s32 arg2, s32 arg3); -s32 fn_1_1A5C(s32 arg0, s32 arg1, s32 arg2); -s32 fn_1_1DD8(s32 arg0, s32 arg1, s32 arg2); -s32 fn_1_2154(s32 arg0); -void fn_1_2318(s32 arg0); -void fn_1_2808(void (*arg0)(void)); -void fn_1_2844(Process *arg0, void (*arg1)(void)); -void fn_1_29A0(MentDllUnkBss64Struct *arg0); -void fn_1_4138(MentDllUnkBss64Struct *arg0, MentDllUnkBss64Struct *arg1, float arg8, float arg9, float argA); -void fn_1_5150(MentDllUnkBss64Struct *arg0, MentDllUnkBss64Struct *arg1, float arg8, float arg9, float argA); -void fn_1_5818(omObjData *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_59A0(omObjData *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_5C08(omObjData *arg0); -void fn_1_5CDC(omObjData *arg0, s32 arg1, s32 arg2); -void fn_1_5D38(omObjData *arg0, s32 arg1, Vec arg2, float arg8, float arg9, float argA, s32 arg3, s32 arg4); -void fn_1_6534(s32, s32, float, float); -void fn_1_658C(Process *arg0); - -#endif diff --git a/include/REL/mgmodedll.h b/include/REL/mgmodedll.h index fdfe352e..31959a41 100644 --- a/include/REL/mgmodedll.h +++ b/include/REL/mgmodedll.h @@ -7,87 +7,65 @@ #include "game/object.h" #include "game/objsub.h" -#include "game/pad.h" #include "game/sprite.h" #include "game/window.h" +#include "game/pad.h" typedef struct datalist_model { - s32 datanum; - u32 attr; - s16 type; - s16 link; - s16 mot_link; - Vec pos; - Vec rot; - Vec scale; -} DataListModel; // Size 0x34 + s32 datanum; + u32 attr; + s16 type; + s16 link; + s16 mot_link; + Vec pos; + Vec rot; + Vec scale; +} DataListModel; typedef struct datalist_sprite { - u32 datanum; - s16 attr; - s16 prio; - float x; - float y; - GXColor color; -} DataListSprite; // Size 0x14 + u32 datanum; + s16 attr; + s16 prio; + float x; + float y; + GXColor color; +} DataListSprite; typedef struct struct_bss8_24 { - omObjData *unk0; - void (*unk4)(omObjData *, ...); - u8 unk8[0x50]; - s32 unk58; - s32 unk5C; - s32 unk60; - s32 unk64; - s32 unk68; - s32 unk6C; - s32 unk70[4]; - s32 unk80[4]; -} StructBss8_24; // Size 0x90 + u8 unk0[0x5C]; + s32 unk5C; + s32 unk60; + s32 unk64; + s32 unk68; + s32 unk6C; + u8 unk70[0x20]; +} StructBss8_24; typedef struct struct_bss8 { - s32 unk0; - s32 unk4; - s32 unk8; - s32 unkC; - s32 unk10; - s32 unk14; - s32 unk18; - s32 unk1C; - s32 unk20; - StructBss8_24 unk24[4]; -} StructBss8; // Size 0x264 + s32 unk0; + s32 unk4; + s32 unk8; + s32 unkC; + s32 unk10; + s32 unk14; + s32 unk18; + s32 unk1C; + s32 unk20; + StructBss8_24 unk24[4]; +} StructBss8; extern s16 lbl_1_bss_2C80[13]; extern s16 lbl_1_bss_2C66[13]; extern s16 lbl_1_bss_2C2C[29]; -extern s16 lbl_1_bss_2C24[4]; -extern s16 lbl_1_bss_2C1C[4]; -extern s16 lbl_1_bss_2C14[4]; -extern s16 lbl_1_bss_2BC4[4][10]; - -extern s16 lbl_1_bss_264C[10][70]; -extern s16 lbl_1_bss_2638[10]; extern s16 lbl_1_bss_20C0[10][70]; extern s16 lbl_1_bss_20AC[10]; -extern s16 lbl_1_bss_20AA; - -extern Process *objman; - -extern s16 lbl_1_bss_2E4; - -extern s16 lbl_1_bss_2A6; -extern s16 lbl_1_bss_2A4; - extern StructBss8 lbl_1_bss_8; -extern s16 mgModeEvtNo; extern s16 lbl_1_data_A2[]; extern DataListModel lbl_1_data_490[]; extern DataListSprite lbl_1_data_768[]; s32 fn_1_6D28(void); -s32 fn_1_C0C8(s32 arg0); void fn_1_D8D0(void); s32 fn_1_E72C(void); s32 fn_1_13418(void); @@ -97,19 +75,17 @@ void fn_1_18DF8(Process *arg0, StructBss8 *arg1); void fn_1_19018(void); s32 fn_1_194C8(s32 arg0); +void fn_1_25584(s16 arg0); s32 fn_1_2530C(s32 arg0, s32 arg1, s32 arg2); -void fn_1_25584(s32 arg0); -void fn_1_25838(s32 arg0, s32 arg1, s32 arg2, s32 arg3); -s32 fn_1_2592C(s32 arg0, s32 arg1, s32 arg2); -s32 fn_1_25CA8(s32 arg0); -void fn_1_25E74(s32 arg0); +void fn_1_25838(s16 arg0, u32 arg1, s32 arg2, s32 arg3); +s32 fn_1_2592C(u32 arg0, s32 arg1, s32 arg2); +s32 fn_1_25CA8(u32 arg0); +void fn_1_25E74(s16 arg0); void fn_1_267E8(DataListModel *model_list); void fn_1_26A78(DataListSprite *sprite_list); void fn_1_26C28(void); -void fn_1_27080(void); -s16 fn_1_271B4(s16 mgNo, s16 x, s16 y); -void fn_1_27418(void); + void fn_1_279FC(s32 coinSkipF); -#endif +#endif \ No newline at end of file diff --git a/include/REL/modeltestDll.h b/include/REL/modeltestDll.h index d4afecc4..d0b4ccc3 100644 --- a/include/REL/modeltestDll.h +++ b/include/REL/modeltestDll.h @@ -2,45 +2,46 @@ #define REL_MODELTEST_H #include "game/hsfdraw.h" -#include "game/object.h" #include "game/objsub.h" - -#include "ext_math.h" +#include "game/object.h" // -------------------------------------------------------------------------- // #define US_PER_60TH_SEC (1000000.0f / 60.0f) #define US_TO_60TH_SEC(us) ((us) / US_PER_60TH_SEC) -#define FB_SIZE(width, height) width *height * 2 +#define FB_SIZE(width, height) width * height * 2 +#define ABS(x) ((x) < 0 ? -(x) : (x)) // -------------------------------------------------------------------------- // -typedef struct { +typedef struct +{ s16 unk0[7]; } HuUnkF9C2; -typedef struct { - Vec pos; // 0000 - Vec rot; // 000C - Vec scale; // 0018 +typedef struct +{ + Point3d pos; // 0000 + Point3d rot; // 000C + Point3d scale; // 0018 s32 unk24; s32 unk28; s32 unk2C; - HsfObject *obj; // 0030 + HsfObject * obj; // 0030 } HuObjUnk; -extern Vec CRot; -extern Vec Center; -extern float CZoom; +extern Point3d CRot; +extern Point3d Center; +extern f32 CZoom; void fn_1_29C(); -void fn_1_28F8(Vec *arg0, Vec *arg1); -void fn_1_37DC(omObjData *); -void fn_1_439C(omObjData *); +void fn_1_28F8(Point3d * arg0, Point3d * arg1); +void fn_1_37DC(omObjData*); +void fn_1_439C(omObjData*); void fn_1_46F0(); -typedef void(omObjFunc2)(struct om_obj_data *); +typedef void (omObjFunc2)(struct om_obj_data *); omObjFunc2 fn_1_F9C; #endif -// -------------------------------------------------------------------------- // +// -------------------------------------------------------------------------- // \ No newline at end of file diff --git a/include/REL/modeseldll.h b/include/REL/modeseldll.h index 4100ea20..db80185b 100644 --- a/include/REL/modeseldll.h +++ b/include/REL/modeseldll.h @@ -27,8 +27,6 @@ typedef struct datalist_sprite { GXColor color; } DataListSprite; -// void fn_1_1EC0(s16 view); - s32 fn_1_2490(void); s32 fn_1_37DC(void); @@ -44,4 +42,4 @@ extern s16 lbl_1_data_100; extern DataListModel lbl_1_data_428[]; extern DataListSprite lbl_1_data_93C[]; -#endif +#endif \ No newline at end of file diff --git a/include/REL/mpexDll.h b/include/REL/mpexDll.h deleted file mode 100644 index 58c6910d..00000000 --- a/include/REL/mpexDll.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef MPEXDLL_H -#define MPEXDLL_H - -#include "game/object.h" - -typedef void (*MpexDllUnkFunc)(void); - -typedef struct MpexDllUnkStruct { - /* 0x00 */ MpexDllUnkFunc unk_00; - /* 0x04 */ void *unk_04; // func, unknown args - /* 0x08 */ Vec unk_08; - /* 0x14 */ Vec unk_14; - /* 0x20 */ Vec unk_20; - /* 0x2C */ Vec unk_2C; - /* 0x38 */ float unk_38; - /* 0x3C */ float unk_3C; - /* 0x40 */ s32 unk_40; -} MpexDllUnkStruct; /* size = 0x44 */ - -void fn_1_374(void); -void fn_1_298(void); -void fn_1_910(MpexDllUnkFunc arg0); -void fn_1_25C4(omObjData *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_28E0(omObjData *arg0, s32 arg1, Vec arg2, float arg8, float arg9, float argA, s32 arg3, s32 arg4); -Process *fn_1_3044(Process *arg0); - -void fn_1_1264C(Process *arg0); -s32 fn_1_140B0(s32 arg0, s32 arg1); -void fn_1_148BC(s32 arg0); -void fn_1_148E4(s32 arg0); -void fn_1_1A5A4(s32 arg0); -float fn_1_1B714(float arg8, float arg9, float argA, float argB); -void fn_1_1B810(void); -void fn_1_1B834(void); -void fn_1_1B9F4(void); -void fn_1_1BA78(u32 arg0, s32 arg1, s32 arg2); -void fn_1_1BB4C(u32 arg0, s32 arg1); -s32 fn_1_1BBA4(s32 arg0); -void fn_1_1BD00(u32 arg0, s32 arg1); -void fn_1_1BF1C(u32 arg0); -void fn_1_1C120(void); - -void fn_1_1B7D0(s32 arg0); - -s32 fn_1_1D02C(s32 arg0); - -extern u8 lbl_1_bss_6AC; -extern s32 lbl_1_bss_63C[0x1C]; -extern MpexDllUnkStruct lbl_1_bss_64; - -#endif diff --git a/include/REL/mstory2Dll.h b/include/REL/mstory2Dll.h deleted file mode 100644 index 7998a490..00000000 --- a/include/REL/mstory2Dll.h +++ /dev/null @@ -1,114 +0,0 @@ -#ifndef MSTORY2DLL_H -#define MSTORY2DLL_H - -#include "game/object.h" -#include "game/process.h" - -#include "dolphin/types.h" - -typedef struct { - /* 0x00 */ void (*unk00)(void); - /* 0x04 */ void (*unk04)(void); - /* 0x08 */ Vec unk08; - /* 0x14 */ float unk14; - /* 0x18 */ float unk18; - /* 0x1C */ float unk1C; - /* 0x20 */ Vec unk20; - /* 0x2C */ float unk2C; - /* 0x30 */ float unk30; - /* 0x34 */ float unk34; - /* 0x38 */ float unk38; - /* 0x3C */ float unk3C; - /* 0x40 */ s32 unk40; -} StructBss24; // Size 0x44 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ char unk1C[0x18]; -} StructFn357C; // Size 0x34 - -typedef struct { - /* 0x00 */ omObjData* unk00; - /* 0x04 */ void (*unk04)(omObjData*, ...); - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ char unk10[0x18]; -} StructBss16C; // Size 0x28 - -// main.c -float fn_1_864(float arg0, float arg1, float arg2, float arg3); -float fn_1_88C(float arg0, float arg1, float arg2); -float fn_1_8AC(float arg0, float arg1, float arg2, float arg3); -float fn_1_984(float arg0, float arg1, float arg2, float arg3); -float fn_1_A4C(float arg0, float arg1, float arg2, float arg3); -float fn_1_B08(float arg0, float arg1, float arg2, float arg3); -void fn_1_BC8(void); -void fn_1_BE8(s32 arg0); -void fn_1_C30(void); -s32 fn_1_185C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_1A94(s32 arg0); -void fn_1_1AFC(s32 arg0, s32 arg1); -BOOL fn_1_1BA8(s32 arg0, s32 arg1); -BOOL fn_1_1C64(s32 arg0); -void fn_1_1D18(s32 arg0, s32 arg1); -void fn_1_1D4C(s32 arg0, s32 arg1, s32 arg2); -void fn_1_1DFC(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_2264(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_2750(void (*arg0)(void)); -void fn_1_2828(Process* arg0, void (*arg1)(void)); -void fn_1_2948(omObjData* arg0, s32 arg1, Vec arg2, float arg3, float arg4, float arg5); -void fn_1_2D00(omObjData* arg0, s32 arg1, Vec arg2, float arg3, float arg4, float arg5); -void fn_1_357C(StructFn357C* arg0, s32 arg1); -void fn_1_42A0(StructBss24* arg0, StructBss24* arg1, float arg2, float arg3, float arg4); -s32 fn_1_3668(s32 arg0); -void fn_1_3754(void); -void fn_1_3854(StructBss24* arg0); -void fn_1_3B04(StructBss24* arg0, float arg1); -void fn_1_4FEC(StructBss24* arg0, StructBss24* arg1, float arg2, float arg3, float arg4); -void fn_1_6004(StructBss24* arg0, StructBss24* arg1, float arg2, float arg3, float arg4); -int fn_1_66CC(int modelId); - -void fn_1_6704(omObjData* arg0); -void fn_1_67D8(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_6A90(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_6D78(s32 arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_6DBC(s32 arg0, s32 arg1, s32 arg2, s32 arg3); -s32 fn_1_7064(s32 arg0, s32 arg1); -void fn_1_71DC(s32 arg0); -void fn_1_7244(s16 modelId, char *objName, u32 constAttr, float ofs); -void fn_1_7384(int modelId, int charNo, float ofs, s32 maxTime, BOOL flag); - -// board_clear.c -void fn_1_7F54(Process* arg0, s32 arg1); - -// board_clear.c -void fn_1_B3E4(Process* arg0, s32 arg1); - -// board_miss.c -void fn_1_EA2C(Process* arg0, s32 arg1); - -// mg_clear.c -void fn_1_1256C(Process* arg0, s32 arg1); - -// mg_miss.c -void fn_1_16060(Process* arg0, s32 arg1); - -// ending.c -void fn_1_188F0(Process* arg0, s32 arg1); - -// ending.c -void fn_1_1B90C(Process* arg0); - -extern s32 lbl_1_bss_88[16]; -extern s32 lbl_1_bss_78[4]; -extern s32 lbl_1_bss_68[]; -extern StructBss24 lbl_1_bss_24; -extern s32 lbl_1_data_0[][4]; - -#endif diff --git a/include/REL/mstory3Dll.h b/include/REL/mstory3Dll.h deleted file mode 100755 index 8ca3ed77..00000000 --- a/include/REL/mstory3Dll.h +++ /dev/null @@ -1,99 +0,0 @@ -#ifndef MSTORY3DLL_H -#define MSTORY3DLL_H - -#include "game/object.h" -#include "game/process.h" - -#include "dolphin.h" - -// For future reference: seems to be identical to StructFn352C in mstoryDll. -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ s32 unk20; - /* 0x24 */ s32 unk24; - /* 0x28 */ s32 unk28; - /* 0x2C */ s32 unk2C; - /* 0x30 */ char unk30[4]; -} StructFn352C; // Size 0x34 - -// For future reference: seems to be identical to StructBss4 in mstoryDll. -typedef struct { - /* 0x00 */ void (*unk00)(void); - /* 0x04 */ void (*unk04)(void); - /* 0x08 */ Vec unk08; - /* 0x14 */ float unk14; - /* 0x18 */ float unk18; - /* 0x1C */ float unk1C; - /* 0x20 */ Vec unk20; - /* 0x2C */ float unk2C; - /* 0x30 */ float unk30; - /* 0x34 */ float unk34; - /* 0x38 */ float unk38; - /* 0x3C */ float unk3C; - /* 0x40 */ s32 unk40; -} StructBss4; // Size 0x44 - -typedef struct { - /* 0x00 */ omObjData* unk00; - /* 0x04 */ void (*unk04)(omObjData*, ...); - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ char unk20[8]; -} StructBss1530; // Size 0x28 - -// main.c -float fn_1_5D4(float arg8, float arg9, float argA, float argB); -float fn_1_5FC(float arg8, float arg9, float argA); -float fn_1_61C(float arg0, float arg1, float arg2, float arg3); -float fn_1_6F4(float arg0, float arg1, float arg2, float arg3); -float fn_1_7BC(float arg0, float arg1, float arg2, float arg3); -float fn_1_878(float arg0, float arg1, float arg2, float arg3); -void fn_1_938(void); -void fn_1_958(s32 arg0); -void fn_1_9A0(void); -void fn_1_9C4(void); -s32 fn_1_1624(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -s32 fn_1_1834(u32 arg0, s32 arg1); -void fn_1_1A24(s32 arg0); -void fn_1_1AB0(s32 arg0); -void fn_1_1B18(s32 arg0, s32 arg1); -void fn_1_1D44(s32 arg0, s32 arg1); -void fn_1_1E28(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_2280(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_2310(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_2420(s32 arg0, s32 arg1); -void fn_1_2834(void (*arg0)(void)); -void fn_1_290C(Process* arg0, void (*arg1)(void)); -void fn_1_2DD4(omObjData* arg0, s32 arg1, Vec arg2, float arg3, float arg4, float arg5); -void fn_1_35C8(s16 arg0); -void fn_1_3650(StructFn352C* arg0, s32 arg1); -s32 fn_1_36E4(void); -s32 fn_1_373C(void); -s32 fn_1_37C8(s32 arg0); -void fn_1_38B4(void); -void fn_1_39B4(StructBss4* arg0); -void fn_1_4400(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3, float arg4); -void fn_1_4CC0(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3); -void fn_1_514C(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3, float arg4); - -// result_seq.c -void fn_1_6E34(Process* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); - -// result.c -void fn_1_157F0(Process* arg0, s32 arg1, s32 arg2, s32 arg3); - -extern StructBss4 lbl_1_bss_4; -extern s32 lbl_1_data_0[][4]; - -#endif diff --git a/include/REL/mstoryDll.h b/include/REL/mstoryDll.h deleted file mode 100755 index b948d6ff..00000000 --- a/include/REL/mstoryDll.h +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef MSTORYDLL_H -#define MSTORYDLL_H - -#include "game/object.h" -#include "game/process.h" - -#include "dolphin/types.h" - -typedef struct { - /* 0x00 */ void (*unk00)(void); - /* 0x04 */ void (*unk04)(void); - /* 0x08 */ Vec unk08; - /* 0x14 */ float unk14; - /* 0x18 */ float unk18; - /* 0x1C */ float unk1C; - /* 0x20 */ Vec unk20; - /* 0x2C */ float unk2C; - /* 0x30 */ float unk30; - /* 0x34 */ float unk34; - /* 0x38 */ float unk38; - /* 0x3C */ float unk3C; - /* 0x40 */ s32 unk40; -} StructBss4; // Size 0x44 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ char unk1C[0x18]; -} StructFn352C; // Size 0x34 - -typedef struct { - /* 0x00 */ omObjData* unk00; - /* 0x04 */ void (*unk04)(omObjData*, ...); - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ char unk10[0x18]; -} StructBss19C; // Size 0x28 - -// main.c -float fn_1_828(float arg0, float arg1, float arg2, float arg3); -float fn_1_870(float arg0, float arg1, float arg2, float arg3); -float fn_1_948(float arg0, float arg1, float arg2, float arg3); -float fn_1_ACC(float arg0, float arg1, float arg2, float arg3); -void fn_1_B8C(void); -void fn_1_BAC(s32 arg0); -void fn_1_BF4(void); -s32 fn_1_1834(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_1A64(s32 arg0); -void fn_1_1ACC(s32 arg0, s32 arg1); -BOOL fn_1_1B78(s32 arg0, s32 arg1); -BOOL fn_1_1C34(s32 arg0); -void fn_1_1CE8(s32 arg0, s32 arg1); -void fn_1_1D1C(s32 arg0, s32 arg1, s32 arg2); -void fn_1_1DCC(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_2224(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_2710(void (*arg0)(void)); -void fn_1_27E8(Process* arg0, void (*arg1)(void)); -void fn_1_2908(omObjData* arg0, s32 arg1, Vec arg2, float arg3, float arg4, float arg5); -void fn_1_2CB0(omObjData* arg0, s32 arg1, Vec arg2, float arg3, float arg4, float arg5); -void fn_1_352C(StructFn352C* arg0, s32 arg1); -s32 fn_1_3618(s32 arg0); -void fn_1_3704(void); -void fn_1_3804(StructBss4* arg0); -void fn_1_3ABC(StructBss4* arg0, float arg1); -void fn_1_51D0(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3, float arg4); -void fn_1_61E8(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3, float arg4); -void fn_1_6C1C(s32 arg0, s32 arg1, s32 arg2, s32 arg3); -s32 fn_1_6EB8(s32 arg0, s32 arg1); -void fn_1_7028(s32 arg0); - -// board_clear.c -void fn_1_79B8(Process* arg0, s32 arg1, s32 arg2); - -// board_miss.c -void fn_1_ACFC(Process* arg0, s32 arg1, s32 arg2); - -// mg_clear.c -void fn_1_E710(Process* arg0, s32 arg1, s32 arg2); - -// mg_miss.c -void fn_1_11624(Process* arg0, s32 arg1, s32 arg2); - -// save.c -void fn_1_14150(Process* arg0); - -extern s32 lbl_1_bss_68; -extern s32 lbl_1_bss_58[]; -extern StructBss4 lbl_1_bss_4; -extern s32 lbl_1_data_0[][4]; - -#endif diff --git a/include/REL/option.h b/include/REL/option.h index a4004a17..3052b323 100755 --- a/include/REL/option.h +++ b/include/REL/option.h @@ -9,7 +9,7 @@ typedef struct { /* 0x00 */ Process *process; /* 0x04 */ s16 window; /* 0x08 */ s32 id; - /* 0x0C */ BOOL visible; + /* 0x0C */ s32 visible; /* 0x10 */ BOOL messWaitSignal; /* 0x14 */ BOOL choiceSignal; /* 0x18 */ u32 messToBeSet; diff --git a/include/REL/present.h b/include/REL/present.h index 8b7eb6d6..12706b86 100644 --- a/include/REL/present.h +++ b/include/REL/present.h @@ -2,59 +2,165 @@ #define PRESENT_H #include "game/object.h" +// #include "REL/option.h" // this causes problems because of the extern bsses -typedef struct PresentWindow { +typedef struct UnkWindowDataStruct { /* 0x00 */ Process *process; /* 0x04 */ s16 window; - /* 0x08 */ s32 id; - /* 0x0C */ BOOL visible; - /* 0x10 */ s32 messWaitSignal; - /* 0x14 */ s32 choiceSignal; - /* 0x18 */ u32 messToBeSet; + /* 0x06 */ char unk06[2]; + /* 0x08 */ s32 unk08; + /* 0x0C */ s32 unk0C; + /* 0x10 */ s32 unk10; + /* 0x14 */ s32 unk14; + /* 0x18 */ u32 unk18; /* 0x1C */ s32 choice; - /* 0x20 */ s32 state; -} PresentWindow; /* size 0x24 */ // this already exists in option.h + /* 0x20 */ s32 unk_20; +} UnkWindowDataStruct; // this already exists in option.h -#define PRESENT_GUIDE_MODE_NONE 0 -#define PRESENT_GUIDE_MODE_ENTER 1 -#define PRESENT_GUIDE_MODE_LEAVE 2 +typedef struct UnkPresentStruct { + /* 0x00 */ UnkWindowDataStruct *unk_00; + /* 0x04 */ s32 unk_04; +} UnkPresentStruct; -#define PRESENT_MODE_NONE 0 -#define PRESENT_MODE_SELECT_ROOM 1 -#define PRESENT_MODE_SELECT_PRESENT 2 -#define PRESENT_MODE_GET 3 +typedef struct UnkPresentStruct2 { + /* 0x00 */ s32 unk_00; + /* 0x04 */ s32 unk_04; + /* 0x08 */ s32 unk_08; + /* 0x0C */ s32 unk_0C; + /* 0x10 */ omObjData *unk_10[134]; + /* 0x228 */ UnkWindowDataStruct *unk_228; + /* 0x22C */ UnkWindowDataStruct *unk_22C; + /* 0x230 */ s16 sprite; + /* 0x234 */ s32 unk_234; + /* 0x238 */ s32 unk_238; + /* 0x23C */ float unk_23C; + /* 0x240 */ float unk_240; + /* 0x244 */ float unk_244; + /* 0x248 */ float unk_248; + /* 0x24C */ float unk_24C; + /* 0x250 */ float unk_250; + /* 0x254 */ float unk_254; + /* 0x258 */ float unk_258; + /* 0x25C */ float unk_25C; + /* 0x260 */ float unk_260; + /* 0x264 */ float unk_264; + /* 0x268 */ float unk_268; + /* 0x26C */ float unk_26C; + /* 0x270 */ s32 unk_270[60]; +} UnkPresentStruct2; -extern omObjData *present; -extern omObjData *presentCamera; -extern Process *presentObjMan; +typedef struct UnkPresentStruct3 { + /* 0x00 */ Vec unk_00; + /* 0x0C */ Vec unk_0C; + /* 0x18 */ GXColor unk_18; +} UnkPresentStruct3; -void PresentFadeSprite(s16 sprite, BOOL inF, s32 duration); -void FadeSpriteWithMultiplier(s16 model, BOOL inF, float tpMultiplier, s32 duration); -BOOL PresentPadCheck(u16 btn); -BOOL PresentPadDStkRepCheck(u16 dir); -BOOL PresentPadDStkCheck(u16 dir); -omObjData *PresentCameraCreate(); -void PresentCameraKill(omObjData *object); -void PresentCameraTargetSet(omObjData *object, float x, float y, float z, s32 duration); -void PresentCameraFocusSet(omObjData *object, float x, float y, float z, s32 duration); -s32 PresentCameraDoneCheck(omObjData *object); -omObjData *PresentCreate(void); -void PresentKill(omObjData *object); -void PresentExecModeSet(omObjData *object, s32 execMode); -s32 PresentExecModeGet(omObjData *object); -void PresentSelectedIDSet(omObjData *object, s32 id); -void PresentStateKill(omObjData *object); -omObjData *PresentStateCreate(void); -PresentWindow *PresentWinCreate(s32 id); -void PresentWinKill(PresentWindow *work); -void PresentWinAnimIn(PresentWindow *work); -void PresentWinAnimOut(PresentWindow *work); -void PresentWinMesSet(PresentWindow *work, u32 mess); -void PresentWinInsertMesSet(PresentWindow *work, u32 mess, s16 index); -void PresentWinMesWait(PresentWindow *work); -omObjData *PresentGuideCreate(void); -void PresentGuideKill(omObjData *object); -void PresentGuideExecModeSet(omObjData *object, s32 execMode); -s32 PresentGuideExecModeGet(omObjData *object); +typedef struct UnkPresentStruct4 { + /* 0x00 */ Vec unk_00; + /* 0x0C */ Vec unk_0C; + /* 0x18 */ Vec unk_18; +} UnkPresentStruct4; + +typedef struct UnkPresentStruct5 { + /* 0x00 */ s32 unk_00; + /* 0x04 */ s16 unk_04; + /* 0x08 */ float x; + /* 0x0C */ float y; + /* 0x10 */ float z; + /* 0x14 */ float unk_14; + /* 0x18 */ s32 unk18[2]; + /* 0x20 */ float unk_20; + /* 0x24 */ float unk_24; + /* 0x28 */ float unk_28; + /* 0x2C */ float unk_2C; + /* 0x30 */ float unk_30; + /* 0x34 */ float unk_34; + /* 0x38 */ float unk_38; + /* 0x3C */ s32 unk3C[3]; + /* 0x48 */ float unk_48; + /* 0x4C */ float unk_4C; + /* 0x50 */ s32 unk_50; + /* 0x54 */ s32 unk_54; +} UnkPresentStruct5; + +typedef struct UnkPresentStruct6 { + /* 0x00 */ s16 unk_00; + /* 0x04 */ float unk_04; + /* 0x08 */ float unk_08; +} UnkPresentStruct6; // looks like a struct in option/scene.c + +typedef struct UnkPresentStruct6Weird { + /* 0x00 */ s16 unk_00; + /* 0x04 */ float unk_04; + /* 0x08 */ float unk_08; + /* 0x0C */ float unk_0C; +} UnkPresentStruct6Weird; // looks like a struct in option/scene.c + +typedef struct UnkPresentCameraStruct { + /* 0x00 */ Vec pos; + /* 0x0C */ Vec target; + /* 0x18 */ Vec up; + /* 0x24 */ float unk_24; + /* 0x28 */ float unk_28; + /* 0x2C */ Vec unk_2C; + /* 0x38 */ Vec unk_38; + /* 0x44 */ float unk44; + /* 0x48 */ float unk48; + /* 0x4C */ float unk4C; + /* 0x50 */ float unk_50; + /* 0x54 */ float unk_54; + /* 0x58 */ Vec unk_58; + /* 0x64 */ Vec unk_64; + /* 0x70 */ float unk70; + /* 0x74 */ float unk74; + /* 0x78 */ float unk78; + /* 0x7C */ float unk_7C; + /* 0x80 */ float unk_80; + /* 0x84 */ float unk_84; + /* 0x88 */ float unk_88; + /* 0x8C */ float unk_8C; + /* 0x90 */ float unk_90; + /* 0x94 */ float unk_94; + /* 0x98 */ float unk_98; +} UnkPresentCameraStruct; + +typedef struct UnkPresentNestedInnerStruct { + /* 0x00 */ s32 unk_00; + /* 0x04 */ s32 unk_04; + /* 0x08 */ s32 unk08; + /* 0x0C */ s32 unk_0C; +} UnkPresentNestedInnerStruct; + +typedef struct UnkPresentNestedOuterStruct { + /* 0x00 */ s32 unk00; + /* 0x04 */ UnkPresentNestedInnerStruct unk_04[11]; +} UnkPresentNestedOuterStruct; + +typedef struct UnkPresentStruct7 { + /* 0x00 */ s32 unk_00; + /* 0x04 */ float unk_04; +} UnkPresentStruct7; + +extern omObjData *lbl_1_bss_10; +extern omObjData *lbl_1_bss_8; +extern Process *lbl_1_bss_4; + +void fn_1_144(s16 arg0, s32 arg1, s32 arg2); +void fn_1_334(s16 arg0, s32 arg1, float arg8, s32 arg2); +omObjData *fn_1_6B4(); +void fn_1_920(omObjData *object, float arg8, float arg9, float argA, s32 arg1); +void fn_1_9A4(omObjData *object, float arg8, float arg9, float argA, s32 arg1); +void fn_1_BF8(omObjData *object); +omObjData *fn_1_1458(void); +void fn_1_180C(omObjData *object, s32 arg1); +s32 fn_1_1850(omObjData *object); +omObjData *fn_1_39A8(void); +UnkWindowDataStruct *fn_1_3EA4(s32 arg0); +void fn_1_4080(UnkWindowDataStruct *windowData); +void fn_1_4098(UnkWindowDataStruct *windowData); +void fn_1_40B0(UnkWindowDataStruct *windowData, u32 mess); +omObjData *fn_1_42F4(void); +void fn_1_45C0(omObjData *arg0, s32 arg1); +s32 fn_1_4604(omObjData *object); #endif diff --git a/include/REL/resultdll.h b/include/REL/resultdll.h index 240731b4..afaf5df3 100644 --- a/include/REL/resultdll.h +++ b/include/REL/resultdll.h @@ -7,7 +7,7 @@ #include "game/sprite.h" -typedef struct StageModel_s { +typedef struct datalist_model { s32 datanum; u32 attr; s16 type; @@ -16,33 +16,33 @@ typedef struct StageModel_s { Vec pos; Vec rot; Vec scale; -} StageModel; +} DataListModel; -typedef struct StageSprite_s { +typedef struct datalist_sprite { u32 datanum; s16 attr; s16 prio; float x; float y; GXColor color; -} StageSprite; +} DataListSprite; -void ResultBoardDataRead(void); -void ResultCoinAdd(void); -void ResultCoinNumGet(s16 *coinNum); +void fn_1_3FD8(void); +void fn_1_40DC(void); +void fn_1_423C(s16 *data); -void ResultBattleMain(void); +void fn_1_6490(void); -void StageModelCreate(StageModel *model_list); -void StageSpriteCreate(StageSprite *sprite_list); -void StageSpriteKill(void); +void fn_1_8FF8(DataListModel *model_list); +void fn_1_927C(DataListSprite *sprite_list); +void fn_1_93B4(void); -extern s16 stageMdlId[32]; -extern s16 stageMotId[32]; -extern s16 stageSprId[33]; +extern s16 lbl_1_bss_1A9C[32]; +extern s16 lbl_1_bss_1A5C[32]; +extern s16 lbl_1_bss_1A1A[33]; extern s16 lbl_1_bss_1A18; -extern s32 resultReadEndF; -extern s32 resultFastF; -extern s16 resultBonusPlayer; +extern s32 lbl_1_bss_178; +extern s32 lbl_1_bss_174; +extern s16 lbl_1_bss_172; #endif \ No newline at end of file diff --git a/include/REL/w01Dll.h b/include/REL/w01Dll.h index c8c44f3b..f3e1e5d6 100755 --- a/include/REL/w01Dll.h +++ b/include/REL/w01Dll.h @@ -4,56 +4,24 @@ #include "dolphin/types.h" enum { - MAPOBJ_COASTER, - MAPOBJ_COASTER_RAIL, - MAPOBJ_HOST1, - MAPOBJ_HOST2, - MAPOBJ_HOST3, - MAPOBJ_HOST4, - MAPOBJ_SPACEAMIDA, - MAPOBJ_SPACEAMIDA_MAP1, - MAPOBJ_SPACEAMIDA_MAP2, - MAPOBJ_SPACEAMIDA_MAP3, - MAPOBJ_SPACEAMIDA_ROCKET1, - MAPOBJ_SPACEAMIDA_ROCKET2, - MAPOBJ_SPACEAMIDA_ROCKET3, - MAPOBJ_SPACEAMIDA_LIGHTEFF, - MAPOBJ_SPACEAMIDA_LAMP1, - MAPOBJ_SPACEAMIDA_LAMP2, - MAPOBJ_ROUNDITEM, - MAPOBJ_ROUNDITEM_UMA, - MAPOBJ_ROUNDITEM_BORDER, - MAPOBJ_ROUNDITEM_ITEM, - MAPOBJ_ROUNDITEM_ITEM_LIGHT, - MAPOBJ_ROUNDITEM_ITEM_UP, - MAPOBJ_ROUNDITEM_ITEM_DENSYOKU, - MAPOBJ_CUPR_DISH, - MAPOBJ_CUPR1, - MAPOBJ_CUPR2, - MAPOBJ_CUPR3, - MAPOBJ_CUPR_ARROW, - MAPOBJ_CUPL_DISH, - MAPOBJ_CUPL1, - MAPOBJ_CUPL2, - MAPOBJ_CUPL3, - MAPOBJ_CUPL_ARROW, MAPOBJ_MAX = 33 }; typedef struct { /* 0x00 */ struct { - u8 hostSide : 1; + u8 unk00_field0 : 1; }; - /* 0x01 */ s8 cupDir[2]; -} W01BoardWork; + /* 0x01 */ s8 unk01[2]; +} UnkBoardDataStruct; // Size unknown -extern void SpaceAmidaExec(void); +extern void fn_1_9D00(s32 arg0); +extern void fn_1_9DD8(void); -extern void RoundItemInit(s16 *itemTbl); -extern void RoundItemKill(void); -extern void RoundItemEventStart(void); +extern void fn_1_D740(s16 *arg0); +extern void fn_1_DD84(void); +extern void fn_1_DE94(void); -extern s16 mapObjMdlId[MAPOBJ_MAX]; -extern W01BoardWork *boardWork; +extern s16 lbl_1_bss_6C4[MAPOBJ_MAX]; +extern UnkBoardDataStruct *lbl_1_bss_0; #endif diff --git a/include/REL/w02Dll.h b/include/REL/w02Dll.h index 1a59411f..b62d4a44 100644 --- a/include/REL/w02Dll.h +++ b/include/REL/w02Dll.h @@ -1,48 +1,50 @@ #ifndef W02DLL #define W02DLL -#include "dolphin.h" -#include "game/board/main.h" -#include "game/board/map_object.h" -#include "game/board/model.h" -#include "game/board/player.h" -#include "game/board/space.h" -#include "game/board/window.h" -#include "game/gamework_data.h" -#include "game/process.h" #include "math.h" +#include "dolphin.h" +#include "game/process.h" +#include "game/gamework_data.h" +#include "game/board/model.h" +#include "game/board/space.h" +#include "game/board/main.h" +#include "game/board/player.h" +#include "game/board/window.h" +#include "game/board/map_object.h" + /* STRUCTS*/ typedef struct m02_dice { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 *unk08; - /* 0x0C */ Vec unk0C; - /* 0x18 */ s16 unk18; - /* 0x1A */ s16 unk1A; - /* 0x1C */ u16 unk1C[3]; - /* 0x22 */ s16 unk22; - /* 0x24 */ float unk24; - /* 0x28 */ s16 unk28; - /* 0x2A */ u8 unk2A[0x2]; - /* 0x2C */ Process *unk2C; - /* 0x30 */ s16 unk30[3]; - /* 0x36 */ s16 unk36[3]; - /* 0x3C */ omObjData *unk3C[3]; - /* 0x48 */ s16 unk48[3]; - /* 0x4E */ u8 unk4E[0x2]; - /* 0x50 */ omObjData *unk50[3]; - /* 0x5C */ u8 unk5C[0x08]; - /* 0x64 */ Vec unk64[2]; - /* 0x7C */ Vec unk7C; - /* 0x88 */ s32 unk88[3]; - /* 0x94 */ s16 unk94; - /* 0x96 */ s16 unk96; - /* 0x98 */ float unk98; - /* 0x9C */ s16 unk9C; + /* 0x00 */ s16 unk00; + /* 0x02 */ s16 unk02; + /* 0x04 */ s32 unk04; + /* 0x08 */ s32 *unk08; + /* 0x0C */ Vec unk0C; + /* 0x18 */ s16 unk18; + /* 0x1A */ s16 unk1A; + /* 0x1C */ u16 unk1C[3]; + /* 0x22 */ s16 unk22; + /* 0x24 */ f32 unk24; + /* 0x28 */ s16 unk28; + /* 0x2A */ u8 unk2A[0x2]; + /* 0x2C */ Process *unk2C; + /* 0x30 */ s16 unk30[3]; + /* 0x36 */ s16 unk36[3]; + /* 0x3C */ omObjData *unk3C[3]; + /* 0x48 */ s16 unk48[3]; + /* 0x4E */ u8 unk4E[0x2]; + /* 0x50 */ omObjData *unk50[3]; + /* 0x5C */ u8 unk5C[0x08]; + /* 0x64 */ Vec unk64[2]; + /* 0x7C */ Vec unk7C; + /* 0x88 */ s32 unk88[3]; + /* 0x94 */ s16 unk94; + /* 0x96 */ s16 unk96; + /* 0x98 */ f32 unk98; + /* 0x9C */ s16 unk9C; } m02GenDice; + extern s16 lbl_1_bss_2E; extern s16 lbl_1_bss_2C; extern Vec lbl_1_bss_20; @@ -56,12 +58,12 @@ extern void fn_1_72C(); extern s32 fn_1_774(); extern s32 fn_1_800(); extern void fn_1_92C(); -extern s32 fn_1_1128(); +extern s32 fn_1_1128(); extern void fn_1_121C(u32); -void fn_1_1254(m02GenDice *arg0); -void fn_1_1518(m02GenDice *arg0); -s32 fn_1_17F4(m02GenDice *arg0); +void fn_1_1254(m02GenDice* arg0); +void fn_1_1518(m02GenDice* arg0); +s32 fn_1_17F4(m02GenDice* arg0); // roulette.c extern void fn_1_D3AC(); @@ -73,15 +75,15 @@ extern void fn_1_3BF4(); extern void fn_1_39F4(); extern void fn_1_5CF8(); extern void fn_1_5D28(); -extern void fn_1_5F90(); +extern void fn_1_5F90(); extern void fn_1_79BC(s16 *arg0); extern void fn_1_8244(u16 arg0); extern s32 fn_1_9250(); extern void fn_1_93C8(u32 arg0); extern void fn_1_BC1C(); -extern s32 fn_1_BE88(); -extern s32 fn_1_C108(s32); -extern void fn_1_CD04(s32); +extern s32 fn_1_BE88(); +extern s32 fn_1_C108(s32); +extern void fn_1_CD04(s32); void fn_1_E41C(void); -#endif // W02DLL +#endif //W02DLL \ No newline at end of file diff --git a/include/REL/w03Dll.h b/include/REL/w03Dll.h index a7163c63..36e741d7 100644 --- a/include/REL/w03Dll.h +++ b/include/REL/w03Dll.h @@ -1,6 +1,3 @@ -#ifndef REL_W03_H -#define REL_W03_H - #include "game/gamework_data.h" #include "dolphin.h" #include "REL/executor.h" @@ -8,6 +5,8 @@ #include "game/window.h" #include "game/object.h" +#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) + enum { MAPOBJ_MAX = 12 }; @@ -28,5 +27,3 @@ typedef struct w03State { extern w03State* lbl_1_bss_0; extern s16 lbl_1_bss_C[MAPOBJ_MAX]; - -#endif diff --git a/include/REL/w05Dll.h b/include/REL/w05Dll.h index 2b5599fb..a326cb65 100644 --- a/include/REL/w05Dll.h +++ b/include/REL/w05Dll.h @@ -1,6 +1,3 @@ -#ifndef REL_W05_H -#define REL_W05_H - #include "dolphin/types.h" #include "game/board/main.h" @@ -51,7 +48,7 @@ void fn_1_D84(void); void fn_1_E04(void); void fn_1_E40(void); s32 fn_1_1114(void); -s32 fn_1_1208(s16, float, float); +s32 fn_1_1208(s16, f32, f32); void fn_1_13D4(void); void fn_1_14D0(void); @@ -70,64 +67,64 @@ void fn_1_3E8C(void); void fn_1_3F74(void); void fn_1_3FD8(void); void fn_1_4034(s32); -void fn_1_4EB4(s32, s32, Vec *); +void fn_1_4EB4(s32, s32, Vec*); void fn_1_5648(void); -void fn_1_5794(s32, s32, Vec *); +void fn_1_5794(s32, s32, Vec*); void fn_1_6670(void); -omObjData *fn_1_66C0(u32, Vec *); -void fn_1_6914(omObjData *); -void fn_1_62AC(s32, Vec *); +omObjData* fn_1_66C0(u32, Vec*); +void fn_1_6914(omObjData*); +void fn_1_62AC(s32, Vec*); void fn_1_64BC(void); void fn_1_65E8(void); void fn_1_6670(void); -omObjData *fn_1_66C0(u32, Vec *); -void fn_1_6914(omObjData *); +omObjData* fn_1_66C0(u32, Vec*); +void fn_1_6914(omObjData*); void fn_1_6B28(void); void fn_1_6B7C(void); -void fn_1_7284(omObjData *); +void fn_1_7284(omObjData*); void fn_1_72E4(void); void fn_1_7314(void); void fn_1_73C0(void); void fn_1_74D0(s16[3]); void fn_1_77B0(void); -void fn_1_78A0(omObjData *); -void fn_1_7928(omObjData *); +void fn_1_78A0(omObjData*); +void fn_1_7928(omObjData*); void fn_1_799C(void); -void fn_1_7E4C(omObjData *); -void fn_1_7E94(dataCopy *); -void fn_1_7F04(omObjData *); -void fn_1_80D8(omObjData *); -void fn_1_8410(omObjData *); -void fn_1_850C(omObjData *); -void fn_1_8668(omObjData *); -void fn_1_8798(dataCopy *, s32 *, s32 *, s32 *); -void *fn_1_8884(void); +void fn_1_7E4C(omObjData*); +void fn_1_7E94(dataCopy*); +void fn_1_7F04(omObjData*); +void fn_1_80D8(omObjData*); +void fn_1_8410(omObjData*); +void fn_1_850C(omObjData*); +void fn_1_8668(omObjData*); +void fn_1_8798(dataCopy*, s32*, s32*, s32*); +void* fn_1_8884(void); void fn_1_88B8(void); void fn_1_896C(void); void fn_1_91DC(void); -void fn_1_9268(ModelData *, ParticleData *, float[3][4]); +void fn_1_9268(ModelData*, ParticleData*, f32[3][4]); void fn_1_9680(void); void fn_1_96B4(void); void fn_1_9760(void); void fn_1_97AC(void); -void fn_1_9A68(omObjData *); +void fn_1_9A68(omObjData*); void fn_1_9AC0(void); void fn_1_9AF0(void); void fn_1_9B74(void); -void fn_1_9C24(omObjData *); -void fn_1_9C98(dataCopy2 *); -void fn_1_9D0C(omObjData *); -void fn_1_9F24(omObjData *); -void fn_1_A224(omObjData *); -void fn_1_A4F8(omObjData *); -void fn_1_A5B0(omObjData *); -void fn_1_A990(omObjData *); +void fn_1_9C24(omObjData*); +void fn_1_9C98(dataCopy2*); +void fn_1_9D0C(omObjData*); +void fn_1_9F24(omObjData*); +void fn_1_A224(omObjData*); +void fn_1_A4F8(omObjData*); +void fn_1_A5B0(omObjData*); +void fn_1_A990(omObjData*); void fn_1_AB24(void); -void fn_1_B214(omObjData *); -void fn_1_B2B0(omObjData *, u16 *, s16 *); -void fn_1_B3C4(omObjData *); +void fn_1_B214(omObjData*); +void fn_1_B2B0(omObjData*, u16*, s16*); +void fn_1_B3C4(omObjData*); // data extern BoardMapObject lbl_1_data_0[7]; @@ -164,7 +161,7 @@ extern char *lbl_1_data_330[3]; extern s32 lbl_1_data_350[14]; extern s32 lbl_1_data_350[14]; extern s16 lbl_1_data_388[92]; -extern float lbl_1_data_440[3]; +extern f32 lbl_1_data_440[3]; extern char *lbl_1_data_464[3]; extern s32 lbl_1_data_470[3]; @@ -179,9 +176,9 @@ extern s16 lbl_1_bss_100; extern s16 lbl_1_bss_FE; extern s16 lbl_1_bss_D6[20]; extern s16 lbl_1_bss_D4; -extern omObjData *lbl_1_bss_D0; -extern omObjData *lbl_1_bss_CC; -extern omObjData *lbl_1_bss_C8; +extern omObjData* lbl_1_bss_D0; +extern omObjData* lbl_1_bss_CC; +extern omObjData* lbl_1_bss_C8; extern s16 lbl_1_bss_C6; extern s16 lbl_1_bss_C4; extern s16 lbl_1_bss_C2; @@ -196,13 +193,13 @@ extern s16 lbl_1_bss_A4[3]; extern s16 lbl_1_bss_A2; extern s16 lbl_1_bss_9E[2]; extern s16 lbl_1_bss_9C; -extern Process *lbl_1_bss_98; -extern omObjData *lbl_1_bss_94; -extern omObjData *lbl_1_bss_90; -extern omObjData *lbl_1_bss_8C; +extern Process* lbl_1_bss_98; +extern omObjData* lbl_1_bss_94; +extern omObjData* lbl_1_bss_90; +extern omObjData* lbl_1_bss_8C; extern s32 lbl_1_bss_88; extern s32 lbl_1_bss_7C[3]; -extern AnimData *lbl_1_bss_78; +extern AnimData* lbl_1_bss_78; extern s16 lbl_1_bss_72[2]; extern s16 lbl_1_bss_6C[3]; @@ -221,9 +218,7 @@ extern s16 lbl_1_bss_30[4]; extern s16 lbl_1_bss_28; extern s16 lbl_1_bss_14[7]; -extern s32 *lbl_1_bss_10; +extern s32* lbl_1_bss_10; extern s16 lbl_1_bss_8[4]; -extern Process *lbl_1_bss_4; -extern bitcopy *lbl_1_bss_0; - -#endif +extern Process* lbl_1_bss_4; +extern bitcopy* lbl_1_bss_0; diff --git a/include/REL/w10Dll.h b/include/REL/w10Dll.h index a1446748..f5144a93 100644 --- a/include/REL/w10Dll.h +++ b/include/REL/w10Dll.h @@ -1,6 +1,3 @@ -#ifndef REL_W10_H -#define REL_W10_H - #include "game/gamework_data.h" #include "dolphin.h" #include "REL/executor.h" @@ -9,7 +6,7 @@ enum { MAPOBJ_MELON = 0, - MAPOBJ_MAX + MAPOBJ_MAX, }; typedef struct w10_board_work { @@ -89,6 +86,4 @@ extern s16 tutorialExitWin; extern s16 boardStarHostMdl; extern s16 boardShopHostMdl; extern s16 boardLotteryHostMdl; -extern s16 boardBooHouseHostMdl; - -#endif +extern s16 boardBooHouseHostMdl; \ No newline at end of file diff --git a/include/REL/ztardll.h b/include/REL/ztardll.h deleted file mode 100644 index 0d7327ec..00000000 --- a/include/REL/ztardll.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef ZTARDLL_H -#define ZTARDLL_H - -#include "game/minigame_seq.h" - -#include "dolphin/types.h" - -s32 fn_1_7754(SeqWork *arg0, char *mess); -void fn_1_7C00(void); -void fn_1_7D6C(Process *arg0); -s32 fn_1_97D0(s32 arg0, s32 arg1); -void fn_1_11020(void); -void fn_1_111E0(void); -void fn_1_11264(s32 arg0, s32 arg1, s32 arg2); -void fn_1_11338(u32 arg0, s32 arg1); -s32 fn_1_11390(s32 arg0); -void fn_1_114EC(u32 arg0, s32 arg1); -void fn_1_11708(u32 arg0); -void fn_1_1190C(void); - -#endif diff --git a/include/Runtime.PPCEABI.H/__va_arg.h b/include/Runtime.PPCEABI.H/__va_arg.h deleted file mode 100644 index 22975640..00000000 --- a/include/Runtime.PPCEABI.H/__va_arg.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef __VA_ARG_H -#define __VA_ARG_H - -#include "dolphin/types.h" - -typedef struct __va_list_struct { - char gpr; - char fpr; - char reserved[2]; - char* input_arg_area; - char* reg_save_area; -} _va_list_struct; - -typedef _va_list_struct __va_list[1]; - -#ifdef __cplusplus -extern "C" void* __va_arg(_va_list_struct*, int); -#else -void* __va_arg(_va_list_struct*, int); -#endif - -#ifndef __MWERKS__ -#define __builtin_va_info(...) -#define _var_arg_typeof(...) -#endif - -// from defined-string in mwcceppc.exe: -// __builtin_va_info: initialize the __va_list_struct -// _var_arg_typeof: convert type to integer for __va_arg -#define __va_start(list, fmt) __builtin_va_info(&list) -#define __va_arg(list, type) (*((type*)__va_arg(list, _var_arg_typeof(type)))) -#define va_start __va_start -#define va_arg __va_arg -#define va_end __va_end -#define va_list __va_list -#define __va_end(list) ((void)0) - -#define __va_copy(a, b) (*(a) = *(b)) - -#endif /* __VA_ARG_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h deleted file mode 100644 index 0861cde2..00000000 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef METROTRK_PORTABLE_DISPATCH_H -#define METROTRK_PORTABLE_DISPATCH_H - -#include "dolphin/types.h" -#include "PowerPC_EABI_Support/MetroTRK/trk.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define TRK_DISPATCH_CMD_CONNECT 1 /* Connect to the console */ -#define TRK_DISPATCH_CMD_DISCONNECT 2 /* Disconnect from the console */ -#define TRK_DISPATCH_CMD_RESET 3 /* Reset the debugger */ -#define TRK_DISPATCH_CMD_GETVERSION 4 /* Get debugger version */ -#define TRK_DISPATCH_CMD_GETSUPPORTMASK 5 /* Get Support Mask */ -#define TRK_DISPATCH_CMD_OVERRIDE 7 /* Override? */ -#define TRK_DISPATCH_CMD_READMEM 16 /* Reading from memory */ -#define TRK_DISPATCH_CMD_WRITEMEM 17 /* Writing to memory */ -#define TRK_DISPATCH_CMD_READREGS 18 /* Read a register value */ -#define TRK_DISPATCH_CMD_WRITEREGS 19 /* Set a register */ -#define TRK_DISPATCH_CMD_SETOPTION 23 /* Set an option? */ -#define TRK_DISPATCH_CMD_CONTINUE 24 /* Continue debugging */ -#define TRK_DISPATCH_CMD_STEP 25 /* Step through an instruction */ -#define TRK_DISPATCH_CMD_STOP 26 /* Stop the debugger */ - -typedef struct TRKBuffer TRKBuffer; - -DSError TRKInitializeDispatcher(); -BOOL TRKDispatchMessage(TRKBuffer* buffer); - -#ifdef __cplusplus -} -#endif - -#endif /* METROTRK_PORTABLE_DISPATCH_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.h deleted file mode 100644 index 9ff3a2da..00000000 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef METROTRK_PORTABLE_MAIN_TRK_H -#define METROTRK_PORTABLE_MAIN_TRK_H - -#include "PowerPC_EABI_Support/MetroTRK/trk.h" - -#ifdef __cplusplus -extern "C" { -#endif - -DSError TRK_main(void); - -#ifdef __cplusplus -} -#endif - -#endif /* METROTRK_PORTABLE_MAIN_TRK_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.h deleted file mode 100644 index 606a4437..00000000 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef METROTRK_PORTABLE_MAINLOOP_H -#define METROTRK_PORTABLE_MAINLOOP_H - -#ifdef __cplusplus -extern "C" { -#endif - -void TRKNubMainLoop(void); - -#ifdef __cplusplus -} -#endif - -#endif /* METROTRK_PORTABLE_MAINLOOP_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.h deleted file mode 100644 index aeef9c7d..00000000 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef METROTRK_PORTABLE_MEM_TRK_H -#define METROTRK_PORTABLE_MEM_TRK_H - -#include "stddef.h" - -#ifdef __cplusplus -extern "C" { -#endif - -void* TRK_memset(void* dst, int val, size_t n); -void* TRK_memcpy(void* dst, const void* src, size_t n); - -#ifdef __cplusplus -} -#endif - -#endif /* METROTRK_PORTABLE_MEM_TRK_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.h deleted file mode 100644 index 2dc2dff8..00000000 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef METROTRK_PORTABLE_MSG_H -#define METROTRK_PORTABLE_MSG_H - -#include "PowerPC_EABI_Support/MetroTRK/trk.h" -#include "dolphin/types.h" - -typedef struct _TRK_Msg { - u8 _00[8]; - u32 m_msgLength; - u32 _0C; - u8 m_msg[4]; // TODO: unknown array length -} TRK_Msg; - -#ifdef __cplusplus -extern "C" { -#endif - -DSError TRKMessageSend(TRK_Msg* msg); - -#ifdef __cplusplus -} -#endif - -#endif /* METROTRK_PORTABLE_MSG_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h deleted file mode 100644 index f16fe261..00000000 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef METROTRK_PORTABLE_MSGBUF_H -#define METROTRK_PORTABLE_MSGBUF_H - -#include "PowerPC_EABI_Support/MetroTRK/trk.h" -#include "stddef.h" - -#ifdef __cplusplus -extern "C" { -#endif - -DSError TRKInitializeMessageBuffers(void); - -DSError TRKSetBufferPosition(TRKBuffer* msg, u32 pos); -void* TRKGetBuffer(int); -void TRKResetBuffer(TRKBuffer* msg, u8 keepData); -void* TRKGetBuffer(int idx); -void TRKReleaseBuffer(int idx); -DSError TRKGetFreeBuffer(int* msgID, TRKBuffer** outMsg); - -DSError TRKAppendBuffer(TRKBuffer* msg, const void* data, size_t length); -DSError TRKAppendBuffer1_ui8(TRKBuffer* buffer, const u8 data); -inline DSError TRKAppendBuffer1_ui8(TRKBuffer* buffer, const u8 data) -{ - if (buffer->position >= TRKMSGBUF_SIZE) { - return DS_MessageBufferOverflow; - } - - buffer->data[buffer->position++] = data; - buffer->length++; - return DS_NoError; -} -DSError TRKAppendBuffer1_ui16(TRKBuffer* buffer, const u16 data); -DSError TRKAppendBuffer1_ui32(TRKBuffer* buffer, const u32 data); -DSError TRKAppendBuffer1_ui64(TRKBuffer* buffer, const u64 data); -DSError TRKAppendBuffer_ui8(TRKBuffer* buffer, const u8* data, int count); -DSError TRKAppendBuffer_ui32(TRKBuffer* buffer, const u32* data, int count); - -DSError TRKReadBuffer1_ui8(TRKBuffer* buffer, u8* data); -DSError TRKReadBuffer1_ui16(TRKBuffer* buffer, u16* data); -DSError TRKReadBuffer1_ui32(TRKBuffer* buffer, u32* data); -DSError TRKReadBuffer1_ui64(TRKBuffer* buffer, u64* data); -DSError TRKReadBuffer_ui8(TRKBuffer* buffer, u8* data, int count); -DSError TRKReadBuffer_ui32(TRKBuffer* buffer, u32* data, int count); -DSError TRKReadBuffer(TRKBuffer* msg, void* data, size_t length); - -#ifdef __cplusplus -} -#endif - -#endif /* METROTRK_PORTABLE_MSGBUF_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.h deleted file mode 100644 index aa8abff5..00000000 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef METROTRK_PORTABLE_MSGHNDLR_H -#define METROTRK_PORTABLE_MSGHNDLR_H - -#include "PowerPC_EABI_Support/MetroTRK/trk.h" - -void SetTRKConnected(BOOL); -BOOL GetTRKConnected(void); -DSError TRKDoUnsupported(TRKBuffer*); -DSError TRKDoSetOption(TRKBuffer*); -DSError TRKDoStop(TRKBuffer*); -DSError TRKDoStep(TRKBuffer*); -DSError TRKDoContinue(TRKBuffer*); -DSError TRKDoWriteRegisters(TRKBuffer*); -DSError TRKDoReadRegisters(TRKBuffer*); -DSError TRKDoFlushCache(TRKBuffer*); -DSError TRKDoWriteMemory(TRKBuffer*); -DSError TRKDoReadMemory(TRKBuffer*); -DSError TRKDoSupportMask(TRKBuffer*); -DSError TRKDoVersions(TRKBuffer*); -DSError TRKDoSupportMask(TRKBuffer*); -DSError TRKDoCPUType(TRKBuffer*); -DSError TRKDoOverride(TRKBuffer*); -DSError TRKDoReset(TRKBuffer*); -DSError TRKDoDisconnect(TRKBuffer*); -DSError TRKDoConnect(TRKBuffer*); -DSError TRKStandardACK(TRKBuffer* buffer, MessageCommandID commandID, - DSReplyError replyError); - -void OutputData(void* data, int length); - -#endif /* METROTRK_PORTABLE_MSGHNDLR_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h deleted file mode 100644 index 7297cf18..00000000 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef METROTRK_PORTABLE_MUTEX_TRK_H -#define METROTRK_PORTABLE_MUTEX_TRK_H - -#include "PowerPC_EABI_Support/MetroTRK/trk.h" - -DSError TRKInitializeMutex(void*); -DSError TRKAcquireMutex(void*); -DSError TRKReleaseMutex(void*); - -#endif /* METROTRK_PORTABLE_MUTEX_TRK_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.h deleted file mode 100644 index 459830f9..00000000 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef METROTRK_PORTABLE_NOTIFY_H -#define METROTRK_PORTABLE_NOTIFY_H - -#include "PowerPC_EABI_Support/MetroTRK/trk.h" - -#ifdef __cplusplus -extern "C" { -#endif - -DSError TRKDoNotifyStopped(MessageCommandID cmd); - -#ifdef __cplusplus -} -#endif - -#endif /* METROTRK_PORTABLE_NOTIFY_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.h deleted file mode 100644 index da5a012b..00000000 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef METROTRK_PORTABLE_NUBEVENT_H -#define METROTRK_PORTABLE_NUBEVENT_H - -#include "PowerPC_EABI_Support/MetroTRK/trk.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef u32 NubEventID; - -typedef struct TRKEvent { - NubEventType eventType; - NubEventID eventID; - MessageBufferID msgBufID; -} TRKEvent; - -typedef struct TRKEventQueue { - int _00; - int count; - int next; - TRKEvent events[2]; - NubEventID eventID; -} TRKEventQueue; -extern TRKEventQueue gTRKEventQueue; - -BOOL TRKGetNextEvent(TRKEvent* event); -void TRKDestructEvent(TRKEvent*); -void TRKConstructEvent(TRKEvent*, NubEventType); -DSError TRKPostEvent(TRKEvent*); -DSError TRKInitializeEventQueue(); - -#ifdef __cplusplus -} -#endif - -#endif /* METROTRK_PORTABLE_NUBEVENT_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.h deleted file mode 100644 index 9f1d4174..00000000 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef METROTRK_PORTABLE_NUBINIT_H -#define METROTRK_PORTABLE_NUBINIT_H - -#include "PowerPC_EABI_Support/MetroTRK/trk.h" - -#ifdef __cplusplus -extern "C" { -#endif - -void TRKNubWelcome(void); -void TRKNubMainLoop(void); -DSError TRKTerminateNub(void); -DSError TRKInitializeNub(void); - -extern BOOL gTRKBigEndian; - -#ifdef __cplusplus -} -#endif - -#endif /* METROTRK_PORTABLE_NUBINIT_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.h deleted file mode 100644 index 40636776..00000000 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef METROTRK_PORTABLE_SERPOLL_H -#define METROTRK_PORTABLE_SERPOLL_H - -#include "PowerPC_EABI_Support/MetroTRK/trk.h" - -#ifdef __cplusplus -extern "C" { -#endif - -DSError TRKInitializeSerialHandler(void); -DSError TRKTerminateSerialHandler(void); - -void TRKGetInput(void); -MessageBufferID TRKTestForPacket(); -void TRKProcessInput(int bufferIdx); - -extern void* gTRKInputPendingPtr; - -#ifdef __cplusplus -} -#endif - -#endif /* METROTRK_PORTABLE_SERPOLL_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.h deleted file mode 100644 index f2b2913d..00000000 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef METROTRK_PORTABLE_SUPPORT_H -#define METROTRK_PORTABLE_SUPPORT_H - -#include "PowerPC_EABI_Support/MetroTRK/trk.h" -#include "stddef.h" - -#ifdef __cplusplus -extern "C" { -#endif - -DSError TRKSuppAccessFile(u32 file_handle, u8* data, size_t* count, - DSIOResult* io_result, BOOL need_reply, BOOL read); - -DSError TRKRequestSend(TRKBuffer* msgBuf, int* bufferId, u32 p1, u32 p2, - int p3); - -DSError HandleOpenFileSupportRequest(const char* path, u8 replyError, - u32* param_3, u8* ioResult); - -DSError HandleCloseFileSupportRequest(int replyError, u8* ioResult); - -DSError HandlePositionFileSupportRequest(u32 replyErr, u32* param_2, - u8 param_3, u8* ioResult); - -#ifdef __cplusplus -} -#endif - -#endif /* METROTRK_PORTABLE_SUPPORT_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.h b/include/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.h deleted file mode 100644 index fa3a575a..00000000 --- a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef OS_DOLPHIN_DOLPHIN_TRK_H -#define OS_DOLPHIN_DOLPHIN_TRK_H - -#include "dolphin/types.h" -#include "PowerPC_EABI_Support/MetroTRK/trk.h" - -#ifdef __cplusplus -extern "C" { -#endif - -DSError TRKInitializeTarget(); - -void EnableMetroTRKInterrupts(); -u32 TRKTargetTranslate(u32 param_0); -void TRK__read_aram(register int c, register u32 p2, void* p3); -void TRK__write_aram(register int c, register u32 p2, void* p3); - -void __TRK_copy_vectors(void); - -#ifdef __cplusplus -} -#endif - -#endif /* OS_DOLPHIN_DOLPHIN_TRK_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h b/include/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h deleted file mode 100644 index 550454cc..00000000 --- a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef OS_DOLPHIN_DOLPHIN_TRK_GLUE_H -#define OS_DOLPHIN_DOLPHIN_TRK_GLUE_H - -#include "dolphin/os.h" -#include "PowerPC_EABI_Support/MetroTRK/trk.h" -#include "stddef.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef void (*DBCommFunc)(void); -typedef u32 (*DBPollFunc)(void); -typedef void (*DBCommInitFunc)(volatile u8**, __OSInterruptHandler); -typedef int (*DBCommReadFunc)(void*, size_t); -typedef int (*DBCommWriteFunc)(const void*, size_t); - -typedef struct DBCommTable { - DBCommInitFunc initialize_func; - DBCommFunc init_interrupts_func; - DBPollFunc peek_func; - DBCommReadFunc read_func; - DBCommWriteFunc write_func; - DBCommFunc open_func; - DBCommFunc close_func; -} DBCommTable; - -DSError TRKInitializeIntDrivenUART(u32 param_0, u32 param_1, u32 param_2, - volatile u8** param_3); - -void UnreserveEXI2Port(void); -void ReserveEXI2Port(void); -int TRKPollUART(void); -UARTError TRKReadUARTN(void* bytes, u32 length); -UARTError TRKWriteUARTN(const void* bytes, u32 length); -void TRKLoadContext(OSContext* ctx, u32 r4); -int InitMetroTRKCommTable(int hwId); -void EnableEXI2Interrupts(void); -void TRK_board_display(char* str); - -#ifdef __cplusplus -} -#endif - -#endif /* OS_DOLPHIN_DOLPHIN_TRK_GLUE_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.h b/include/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.h deleted file mode 100644 index 1d1c4417..00000000 --- a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef OS_DOLPHIN_TARGCONT_H -#define OS_DOLPHIN_TARGCONT_H - -#include "PowerPC_EABI_Support/MetroTRK/trk.h" - -#ifdef __cplusplus -extern "C" { -#endif - -DSError TRKTargetContinue(void); - -#ifdef __cplusplus -} -#endif - -#endif /* OS_DOLPHIN_TARGCONT_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.h b/include/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.h deleted file mode 100644 index d01cc0b1..00000000 --- a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef OS_DOLPHIN_USR_PUT_H -#define OS_DOLPHIN_USR_PUT_H - -#ifdef __cplusplus -extern "C" { -#endif - -void usr_put_initialize(void); - -#ifdef __cplusplus -} -#endif - -#endif /* OS_DOLPHIN_USR_PUT_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.h b/include/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.h deleted file mode 100644 index a512aacf..00000000 --- a/include/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef PPC_GENERIC_FLUSH_CACHE_H -#define PPC_GENERIC_FLUSH_CACHE_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -void TRK_flush_cache(void* param_1, int param_2); - -#ifdef __cplusplus -} -#endif - -#endif /* PPC_GENERIC_FLUSH_CACHE_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/ppc/Generic/mpc_7xx_603e.h b/include/TRK_MINNOW_DOLPHIN/ppc/Generic/mpc_7xx_603e.h deleted file mode 100644 index e29725fb..00000000 --- a/include/TRK_MINNOW_DOLPHIN/ppc/Generic/mpc_7xx_603e.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef PPC_GENERIC_MPC_7XX_603E_H -#define PPC_GENERIC_MPC_7XX_603E_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -u8 TRKTargetCPUMinorType(void); - -#ifdef __cplusplus -} -#endif - -#endif /* PPC_GENERIC_MPC_7XX_603E_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h b/include/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h deleted file mode 100644 index e7ce7015..00000000 --- a/include/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h +++ /dev/null @@ -1,190 +0,0 @@ -#ifndef PPC_GENERIC_TARGIMPL_H -#define PPC_GENERIC_TARGIMPL_H - -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.h" -#include "stddef.h" - -#ifdef __cplusplus -extern "C" { -#endif - -void TRKTargetSetInputPendingPtr(void* ptr); - -void TRKSwapAndGo(); -void TRKTargetSetStopped(unsigned int); -DSError TRKTargetInterrupt(TRKEvent*); -DSError TRKTargetSupportRequest(); -void TRKDestructEvent(TRKEvent*); -DSError TRKTargetFlushCache(u8, void* start, void* end); -BOOL TRKTargetStopped(void); -DSError TRKTargetAddStopInfo(TRKBuffer* b); -DSError TRKTargetAddExceptionInfo(TRKBuffer* b); -DSError TRKTargetAccessARAM(u32 p1, u32 p2, u32* p3, BOOL read); -DSError TRKTargetAccessMemory(void* data, u32 start, size_t* length, - MemoryAccessOptions accessOptions, BOOL read); -DSError TRKTargetAccessDefault(u32 firstRegister, u32 lastRegister, - TRKBuffer* b, size_t* registersLengthPtr, - BOOL read); -DSError TRKTargetAccessFP(u32 firstRegister, u32 lastRegister, TRKBuffer* b, - size_t* registersLengthPtr, BOOL read); -DSError TRKTargetAccessExtended1(u32 firstRegister, u32 lastRegister, - TRKBuffer* b, size_t* registersLengthPtr, - BOOL read); -DSError TRKTargetAccessExtended2(u32 firstRegister, u32 lastRegister, - TRKBuffer* b, size_t* registerStorageSize, - BOOL read); -u32 TRKTargetGetPC(); -DSError TRKTargetSingleStep(u32 count, BOOL stepOver); -DSError TRKTargetStepOutOfRange(u32 rangeStart, u32 rangeEnd, BOOL stepOver); -u32 TRKTargetStop(); -void TRKInterruptHandler(); -void TRKPostInterruptEvent(void); - -typedef struct DSVersions { - u8 kernelMajor; - u8 kernelMinor; - u8 protocolMajor; - u8 protocolMinor; -} DSVersions; - -DSError TRKTargetVersions(DSVersions* versions); -DSError TRKTargetSupportMask(u8 mask[32]); - -typedef struct DSCPUType { - u8 cpuMajor; - u8 cpuMinor; - u8 bigEndian; - u8 defaultTypeSize; - u8 fpTypeSize; - u8 extended1TypeSize; - u8 extended2TypeSize; -} DSCPUType; -DSError TRKTargetCPUType(DSCPUType* cpuType); - -typedef struct Default_PPC { - u32 GPR[32]; - u32 PC; - u32 LR; - u32 CR; - u32 CTR; - u32 XER; -} Default_PPC; - -typedef struct Float_PPC { - u64 FPR[32]; - u64 FPSCR; - u64 FPECR; -} Float_PPC; - -typedef struct Extended1_PPC_6xx_7xx { - u32 SR[16]; - u32 TBL; - u32 TBU; - u32 HID0; - u32 HID1; - u32 MSR; - u32 PVR; - u32 IBAT0U; - u32 IBAT0L; - u32 IBAT1U; - u32 IBAT1L; - u32 IBAT2U; - u32 IBAT2L; - u32 IBAT3U; - u32 IBAT3L; - u32 DBAT0U; - u32 DBAT0L; - u32 DBAT1U; - u32 DBAT1L; - u32 DBAT2U; - u32 DBAT2L; - u32 DBAT3U; - u32 DBAT3L; - u32 DMISS; - u32 DCMP; - u32 HASH1; - u32 HASH2; - u32 IMISS; - u32 ICMP; - u32 RPA; - u32 SDR1; - u32 DAR; - u32 DSISR; - u32 SPRG0; - u32 SPRG1; - u32 SPRG2; - u32 SPRG3; - u32 DEC; - u32 IABR; - u32 EAR; - u32 DABR; - u32 PMC1; - u32 PMC2; - u32 PMC3; - u32 PMC4; - u32 SIA; - u32 MMCR0; - u32 MMCR1; - u32 THRM1; - u32 THRM2; - u32 THRM3; - u32 ICTC; - u32 L2CR; - u32 UMMCR2; - u32 UBAMR; - u32 UMMCR0; - u32 UPMC1; - u32 UPMC2; - u32 USIA; - u32 UMMCR1; - u32 UPMC3; - u32 UPMC4; - u32 USDA; - u32 MMCR2; - u32 BAMR; - u32 SDA; - u32 MSSCR0; - u32 MSSCR1; - u32 PIR; - u32 exceptionID; - u32 GQR[8]; - u32 HID_G; - u32 WPAR; - u32 DMA_U; - u32 DMA_L; -} Extended1_PPC_6xx_7xx; - -typedef struct Extended2_PPC_6xx_7xx { - u32 PSR[32][2]; -} Extended2_PPC_6xx_7xx; - -typedef struct ProcessorState_PPC_6xx_7xx { - Default_PPC Default; - Float_PPC Float; - Extended1_PPC_6xx_7xx Extended1; - Extended2_PPC_6xx_7xx Extended2; - u32 transport_handler_saved_ra; -} ProcessorState_PPC_6xx_7xx; - -typedef ProcessorState_PPC_6xx_7xx ProcessorState_PPC; -extern ProcessorState_PPC gTRKCPUState; - -typedef struct TRKState { - u32 gpr[32]; // _00 - u32 lr; // _80 - u32 ctr; // _84 - u32 xer; // _88 - u32 msr; // _8C - u32 dar; // _90 - u32 dsisr; // _94 - BOOL isStopped; // _98 - BOOL inputActivated; // _9C - void* inputPendingPtr; // _A0 -} TRKState; -extern TRKState gTRKState; - -#ifdef __cplusplus -} -#endif - -#endif /* PPC_GENERIC_TARGIMPL_H */ diff --git a/include/__ppc_eabi_linker.h b/include/__ppc_eabi_linker.h deleted file mode 100644 index 2fddd9c9..00000000 --- a/include/__ppc_eabi_linker.h +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef __PPC_EABI_LINKER -#define __PPC_EABI_LINKER - -#ifdef __MWERKS__ -#define DECL_SECTION(name) __declspec(section name) -#else -#define DECL_SECTION(name) -#endif - -DECL_SECTION(".init") extern char _stack_addr[]; -DECL_SECTION(".init") extern char _stack_end[]; -DECL_SECTION(".init") extern char _heap_addr[]; -DECL_SECTION(".init") extern char _heap_end[]; -DECL_SECTION(".init") extern const char _fextabindex_rom[]; -DECL_SECTION(".init") extern char _fextabindex[]; -DECL_SECTION(".init") extern char _eextabindex[]; - -DECL_SECTION(".init") extern char _SDA_BASE_[]; - -DECL_SECTION(".init") extern char _SDA2_BASE_[]; - -typedef struct __rom_copy_info { - char* rom; - char* addr; - unsigned int size; -} __rom_copy_info; - -DECL_SECTION(".init") extern __rom_copy_info _rom_copy_info[]; - -typedef struct __bss_init_info { - char* addr; - unsigned int size; -} __bss_init_info; - -DECL_SECTION(".init") extern __bss_init_info _bss_init_info[]; - -typedef struct __eti_init_info { - void* eti_start; - void* eti_end; - void* code_start; - unsigned long code_size; -} __eti_init_info; - -DECL_SECTION(".init") extern __eti_init_info _eti_init_info[]; -DECL_SECTION(".init") extern const char _f_init_rom[]; -DECL_SECTION(".init") extern char _f_init[]; -DECL_SECTION(".init") extern char _e_init[]; -DECL_SECTION(".init") extern const char _f_text_rom[]; -DECL_SECTION(".init") extern char _f_text[]; -DECL_SECTION(".init") extern char _e_text[]; -DECL_SECTION(".init") extern const char _f_rodata_rom[]; -DECL_SECTION(".init") extern char _f_rodata[]; -DECL_SECTION(".init") extern char _e_rodata[]; -DECL_SECTION(".init") extern const char _fextab_rom[]; -DECL_SECTION(".init") extern char _fextab[]; -DECL_SECTION(".init") extern char _eextab[]; -DECL_SECTION(".init") extern const char _f_data_rom[]; -DECL_SECTION(".init") extern char _f_data[]; -DECL_SECTION(".init") extern char _e_data[]; -DECL_SECTION(".init") extern char _f_bss[]; -DECL_SECTION(".init") extern char _e_bss[]; -DECL_SECTION(".init") extern const char _f_sdata_rom[]; -DECL_SECTION(".init") extern char _f_sdata[]; -DECL_SECTION(".init") extern char _e_sdata[]; -DECL_SECTION(".init") extern char _f_sbss[]; -DECL_SECTION(".init") extern char _e_sbss[]; -DECL_SECTION(".init") extern const char _f_sdata2_rom[]; -DECL_SECTION(".init") extern char _f_sdata2[]; -DECL_SECTION(".init") extern char _e_sdata2[]; -DECL_SECTION(".init") extern char _f_sbss2[]; -DECL_SECTION(".init") extern char _e_sbss2[]; -DECL_SECTION(".init") extern const char _f_PPC_EMB_sdata0_rom[]; -DECL_SECTION(".init") extern char _f_PPC_EMB_sdata0[]; -DECL_SECTION(".init") extern char _e_PPC_EMB_sdata0[]; -DECL_SECTION(".init") extern char _f_PPC_EMB_sbss0[]; -DECL_SECTION(".init") extern char _e_PPC_EMB_sbss0[]; - - -#endif // __PPC_EABI_LINKER diff --git a/include/amcstubs/AmcExi2Stubs.h b/include/amcstubs/AmcExi2Stubs.h deleted file mode 100644 index 48298c34..00000000 --- a/include/amcstubs/AmcExi2Stubs.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef AMCEXI2STUBS_H -#define AMCEXI2STUBS_H - -#include "dolphin/os.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef __OSInterruptHandler AmcEXICallback; - -typedef enum { AMC_EXI_NO_ERROR = 0, AMC_EXI_UNSELECTED } AmcExiError; - -void EXI2_Init(volatile u8**, AmcEXICallback); -void EXI2_EnableInterrupts(void); -u32 EXI2_Poll(void); -int EXI2_ReadN(void*, u32); -int EXI2_WriteN(const void*, u32); -void EXI2_Reserve(void); -void EXI2_Unreserve(void); -BOOL AMC_IsStub(void); - -#ifdef __cplusplus -}; -#endif - -#endif diff --git a/include/asm_types.h b/include/asm_types.h deleted file mode 100644 index 02d75dc5..00000000 --- a/include/asm_types.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef _ASM_TYPES -#define _ASM_TYPES - -// Special Purpose Registers (SPRs) -#define XER 1 -#define LR 8 -#define CTR 9 -#define DSISR 18 -#define DAR 19 -#define DEC 22 -#define SDR1 25 -#define SRR0 26 -#define SRR1 27 -#define SPRG0 272 -#define SPRG1 273 -#define SPRG2 274 -#define SPRG3 275 -#define EAR 282 -#define PVR 287 -#define IBAT0U 528 -#define IBAT0L 529 -#define IBAT1U 530 -#define IBAT1L 531 -#define IBAT2U 532 -#define IBAT2L 533 -#define IBAT3U 534 -#define IBAT3L 535 -#define DBAT0U 536 -#define DBAT0L 537 -#define DBAT1U 538 -#define DBAT1L 539 -#define DBAT2U 540 -#define DBAT2L 541 -#define DBAT3U 542 -#define DBAT3L 543 -#define GQR0 912 -#define GQR1 913 -#define GQR2 914 -#define GQR3 915 -#define GQR4 916 -#define GQR5 917 -#define GQR6 918 -#define GQR7 919 -#define HID2 920 -#define WPAR 921 -#define DMA_U 922 -#define DMA_L 923 -#define UMMCR0 936 -#define UPMC1 937 -#define UPMC2 938 -#define USIA 939 -#define UMMCR1 940 -#define UPMC3 941 -#define UPMC4 942 -#define USDA 943 -#define MMCR0 952 -#define PMC1 953 -#define PMC2 954 -#define SIA 955 -#define MMCR1 956 -#define PMC3 957 -#define PMC4 958 -#define SDA 959 -#define HID0 1008 -#define HID1 1009 -#define IABR 1010 -#define DABR 1013 -#define L2CR 1017 -#define ICTC 1019 -#define THRM1 1020 -#define THRM2 1021 -#define THRM3 1022 - -// Condition Registers (CRs) -#define cr0 0 -#define cr1 1 -#define cr2 2 -#define cr3 3 -#define cr4 4 -#define cr5 5 -#define cr6 6 -#define cr7 7 - -#endif // _ASM_TYPES diff --git a/include/ctype.h b/include/ctype.h index 46064191..559e7278 100644 --- a/include/ctype.h +++ b/include/ctype.h @@ -1,7 +1,6 @@ #ifndef _CTYPE_H #define _CTYPE_H -#include "dolphin/types.h" extern unsigned char __ctype_map[256]; extern unsigned char __lower_map[256]; @@ -23,25 +22,19 @@ extern unsigned char __upper_map[256]; #define __whitespace (__motion_char | __space_char) #define __control (__motion_char | __control_char) -#ifdef __MWERKS__ -#define DECL_WEAK __declspec(weak) -#else -#define DECL_WEAK __attribute__((weak)) -#endif - #ifdef __cplusplus extern "C" { #endif - DECL_WEAK int isalpha(int __c); - DECL_WEAK int isdigit(int __c); - DECL_WEAK int isspace(int __c); - DECL_WEAK int isupper(int __c); - DECL_WEAK int isxdigit(int __c); + __declspec(weak) int isalpha(int __c); + __declspec(weak) int isdigit(int __c); + __declspec(weak) int isspace(int __c); + __declspec(weak) int isupper(int __c); + __declspec(weak) int isxdigit(int __c); - DECL_WEAK int tolower(int __c); - DECL_WEAK int toupper(int __c); + __declspec(weak) int tolower(int __c); + __declspec(weak) int toupper(int __c); // added underscore to avoid naming conflicts inline int _isalpha(int c) { return (int)(__ctype_map[(u8)c] & __letter); } @@ -55,4 +48,4 @@ extern "C" #ifdef __cplusplus } #endif -#endif +#endif \ No newline at end of file diff --git a/include/data_num/title.h b/include/data_num/title.h index 13f41c0c..2d0ce603 100644 --- a/include/data_num/title.h +++ b/include/data_num/title.h @@ -2,9 +2,6 @@ #define DATANUM_TITLE_H #include "datadir_enum.h" -#include "version.h" - -#if VERSION_NTSC enum { TITLE_NINTENDO_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 0), @@ -20,43 +17,7 @@ enum { TITLE_COPYRIGHT_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 10), TITLE_CHAR_HSF = DATA_MAKE_NUM(DATADIR_TITLE, 11), TITLE_CUBE_HSF = DATA_MAKE_NUM(DATADIR_TITLE, 12), - TITLE_SKY_HSF = DATA_MAKE_NUM(DATADIR_TITLE, 13) + TITLE_SKY_HSF = DATA_MAKE_NUM(DATADIR_TITLE, 13), }; -#else - -enum { - TITLE_HUDSON_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 0), - TITLE_PROGRESSIVE_CHOOSE_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 1), - TITLE_PROGRESSIVE_ON_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 2), - TITLE_PROGRESSIVE_OFF_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 3), - TITLE_PROGRESSIVE_CURSOR_ON_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 4), - TITLE_PROGRESSIVE_CURSOR_OFF_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 5), - TITLE_BG_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 6), - TITLE_LOGO_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 7), - TITLE_COPYRIGHT_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 8), - TITLE_CHAR_HSF = DATA_MAKE_NUM(DATADIR_TITLE, 9), - TITLE_CUBE_HSF = DATA_MAKE_NUM(DATADIR_TITLE, 10), - TITLE_SKY_HSF = DATA_MAKE_NUM(DATADIR_TITLE, 11), - TITLE_LANGUAGEBG_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 12), - TITLE_FLAG_HSF = DATA_MAKE_NUM(DATADIR_TITLE, 13), - TITLE_FLAG_EN_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 14), - TITLE_FLAG_GE_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 15), - TITLE_FLAG_FR_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 16), - TITLE_FLAG_IT_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 17), - TITLE_FLAG_ES_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 18), - TITLE_PRESS_START_EN_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 19), - TITLE_PRESS_START_GE_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 20), - TITLE_PRESS_START_FR_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 21), - TITLE_PRESS_START_IT_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 22), - TITLE_PRESS_START_ES_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 23), - TITLE_LANGUAGE_EN_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 24), - TITLE_LANGUAGE_GE_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 25), - TITLE_LANGUAGE_FR_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 26), - TITLE_LANGUAGE_IT_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 27), - TITLE_LANGUAGE_ES_ANM = DATA_MAKE_NUM(DATADIR_TITLE, 28) -}; - -#endif - -#endif +#endif \ No newline at end of file diff --git a/include/data_num/win.h b/include/data_num/win.h index 07e510fb..3a38070f 100644 --- a/include/data_num/win.h +++ b/include/data_num/win.h @@ -36,7 +36,7 @@ enum { WIN_CARD_BOX2_ICON_ANM = DATA_MAKE_NUM(DATADIR_WIN, 29), WIN_CARD_BOX3_ICON_ANM = DATA_MAKE_NUM(DATADIR_WIN, 30), WIN_CARD_BANNER_ANM = DATA_MAKE_NUM(DATADIR_WIN, 31), - WIN_SAVE_BG_ANM = DATA_MAKE_NUM(DATADIR_WIN, 32) + WIN_SAVE_BG_ANM = DATA_MAKE_NUM(DATADIR_WIN, 32), }; -#endif +#endif \ No newline at end of file diff --git a/include/datadir_table.h b/include/datadir_table.h index 408931fb..0cdc79ad 100644 --- a/include/datadir_table.h +++ b/include/datadir_table.h @@ -137,4 +137,5 @@ DATADIR_DEFINE(YOSHI, "data/yoshi.bin") DATADIR_DEFINE(YOSHIMDL0, "data/yoshimdl0.bin") DATADIR_DEFINE(YOSHIMDL1, "data/yoshimdl1.bin") DATADIR_DEFINE(YOSHIMOT, "data/yoshimot.bin") -DATADIR_DEFINE(ZTAR, "data/ztar.bin") \ No newline at end of file +DATADIR_DEFINE(ZTAR, "data/ztar.bin") +DATADIR_DEFINE(W07, "data/w07.bin") \ No newline at end of file diff --git a/include/dol2asm.h b/include/dol2asm.h deleted file mode 100644 index 3b28a774..00000000 --- a/include/dol2asm.h +++ /dev/null @@ -1,90 +0,0 @@ -#ifndef DOL2ASM -#define DOL2ASM - -// this helps remove useless error from the linter when using vscode. -#ifdef __MWERKS__ - -#ifdef __cplusplus -#define SECTION_INIT extern "C" __declspec(section ".init") -#define SECTION_RODATA __declspec(section ".rodata") -#define SECTION_DATA __declspec(section ".data") -#define SECTION_SDATA __declspec(section ".sdata") -#define SECTION_SDATA2 __declspec(section ".sdata2") -#define SECTION_BSS __declspec(section ".data") -#define SECTION_SBSS __declspec(section ".sdata") -#define SECTION_SBSS2 __declspec(section ".sdata2") -#define SECTION_CTORS extern "C" __declspec(section ".ctors") -#define SECTION_DTORS extern "C" __declspec(section ".dtors") -#define SECTION_EXTAB extern "C" __declspec(section "extab_") -#define SECTION_EXTABINDEX extern "C" __declspec(section "extabindex_") -#define SECTION_DEAD extern "C" __declspec(section ".dead") -#define SECTION_CTORS10 __declspec(section ".ctors$10") -#define SECTION_CTORS15 __declspec(section ".ctors$15") -#define SECTION_DTORS10 __declspec(section ".dtors$10") -#define SECTION_DTORS15 __declspec(section ".dtors$15") -#define COMPILER_STRIP_GATE(NAME, VALUE) SECTION_DEAD void* const cg_##NAME = (void*)(VALUE) -#define REGISTER_CTORS(ADDR, FUNCTION) SECTION_CTORS void* const _ctors_##ADDR = (void*)(FUNCTION); -#else -#define SECTION_INIT __declspec(section ".init") -#define SECTION_RODATA __declspec(section ".rodata") -#define SECTION_DATA __declspec(section ".data") -#define SECTION_SDATA __declspec(section ".sdata") -#define SECTION_SDATA2 __declspec(section ".sdata2") -#define SECTION_BSS __declspec(section ".data") -#define SECTION_SBSS __declspec(section ".sdata") -#define SECTION_SBSS2 __declspec(section ".sdata2") -#define SECTION_CTORS __declspec(section ".ctors") -#define SECTION_DTORS __declspec(section ".dtors") -#define SECTION_EXTAB __declspec(section "extab_") -#define SECTION_EXTABINDEX __declspec(section "extabindex_") -#define SECTION_DEAD __declspec(section ".dead") -#define SECTION_CTORS10 __declspec(section ".ctors$10") -#define SECTION_CTORS15 __declspec(section ".ctors$15") -#define SECTION_DTORS10 __declspec(section ".dtors$10") -#define SECTION_DTORS15 __declspec(section ".dtors$15") -#define COMPILER_STRIP_GATE(NAME, VALUE) SECTION_DEAD void* const cg_##NAME = (void*)(VALUE) -#define REGISTER_CTORS(ADDR, FUNCTION) SECTION_CTORS void* const _ctors_##ADDR = (void*)(FUNCTION); -#endif - -#else -#define SECTION_INIT -#define SECTION_RODATA -#define SECTION_DATA -#define SECTION_SDATA -#define SECTION_SDATA2 -#define SECTION_BSS -#define SECTION_SBSS -#define SECTION_SBSS2 -#define SECTION_CTORS -#define SECTION_DTORS -#define SECTION_EXTAB -#define SECTION_EXTABINDEX -#define SECTION_DEAD -#define SECTION_CTORS10 -#define SECTION_CTORS15 -#define SECTION_DTORS10 -#define SECTION_DTORS15 -#define COMPILER_STRIP_GATE(...) -#define REGISTER_CTORS(...) - -// vscode doesn't like asm and nofralloc very much -#define asm -#define nofralloc -#endif - -// floating-point constants -// TODO: move to different header -#define _HUGE_ENUF 1e+300 -#define INFINITY ((float)(_HUGE_ENUF * _HUGE_ENUF)) -#define HUGE_VAL ((double)INFINITY) -#define HUGE_VALL ((long double)INFINITY) - -#define DOUBLE_INF HUGE_VAL - -#pragma section ".dead" -#pragma section ".ctors$10" -#pragma section ".ctors$15" -#pragma section ".dtors$10" -#pragma section ".dtors$15" - -#endif /* DOL2ASM */ diff --git a/include/dolphin/CARDPriv.h b/include/dolphin/CARDPriv.h index 8e531702..ca28f6e1 100644 --- a/include/dolphin/CARDPriv.h +++ b/include/dolphin/CARDPriv.h @@ -21,149 +21,103 @@ extern "C" { #define CARD_MAX_MOUNT_STEP (CARD_NUM_SYSTEM_BLOCK + 2) typedef struct CARDDir { - u8 gameName[4]; - u8 company[2]; - u8 _padding0; - u8 bannerFormat; - u8 fileName[CARD_FILENAME_MAX]; - u32 time; // seconds since 01/01/2000 midnight + u8 gameName[4]; + u8 company[2]; + u8 _padding0; + u8 bannerFormat; + u8 fileName[CARD_FILENAME_MAX]; + u32 time; // seconds since 01/01/2000 midnight - u32 iconAddr; // 0xffffffff if not used - u16 iconFormat; - u16 iconSpeed; + u32 iconAddr; // 0xffffffff if not used + u16 iconFormat; + u16 iconSpeed; - u8 permission; - u8 copyTimes; - u16 startBlock; - u16 length; - u8 _padding1[2]; + u8 permission; + u8 copyTimes; + u16 startBlock; + u16 length; + u8 _padding1[2]; - u32 commentAddr; // 0xffffffff if not used + u32 commentAddr; // 0xffffffff if not used } CARDDir; typedef struct CARDDirCheck { - u8 padding0[64 - 2 * 4]; - u16 padding1; - s16 checkCode; - u16 checkSum; - u16 checkSumInv; + u8 padding0[64 - 2 * 4]; + u16 padding1; + s16 checkCode; + u16 checkSum; + u16 checkSumInv; } CARDDirCheck; typedef struct CARDControl { - BOOL attached; - s32 result; - u16 size; - u16 pageSize; - s32 sectorSize; - u16 cBlock; - u16 vendorID; - s32 latency; - u8 id[12]; - int mountStep; - int formatStep; - u32 scramble; - DSPTaskInfo task; - void *workArea; - CARDDir *currentDir; - u16 *currentFat; - OSThreadQueue threadQueue; - u8 cmd[9]; - s32 cmdlen; - vu32 mode; - int retry; - int repeat; - u32 addr; - void *buffer; - s32 xferred; - u16 freeNo; - u16 startBlock; - CARDFileInfo *fileInfo; - CARDCallback extCallback; - CARDCallback txCallback; - CARDCallback exiCallback; - CARDCallback apiCallback; - CARDCallback xferCallback; - CARDCallback eraseCallback; - CARDCallback unlockCallback; - OSAlarm alarm; - u32 cid; - const DVDDiskID *diskID; + BOOL attached; + s32 result; + u16 size; + u16 pageSize; + s32 sectorSize; + u16 cBlock; + u16 vendorID; + s32 latency; + u8 id[12]; + int mountStep; + int formatStep; + u32 scramble; + DSPTaskInfo task; + void* workArea; + CARDDir* currentDir; + u16* currentFat; + OSThreadQueue threadQueue; + u8 cmd[9]; + s32 cmdlen; + vu32 mode; + int retry; + int repeat; + u32 addr; + void* buffer; + s32 xferred; + u16 freeNo; + u16 startBlock; + CARDFileInfo* fileInfo; + CARDCallback extCallback; + CARDCallback txCallback; + CARDCallback exiCallback; + CARDCallback apiCallback; + CARDCallback xferCallback; + CARDCallback eraseCallback; + CARDCallback unlockCallback; + OSAlarm alarm; + u32 cid; + const DVDDiskID* diskID; } CARDControl; typedef struct CARDID { - u8 serial[32]; // flashID[12] + timebase[8] + counterBias[4] + language[4] + XXX[4] - u16 deviceID; - u16 size; - u16 encode; // character set -- 0: S-JIS, 1: ANSI + u8 serial[32]; // flashID[12] + timebase[8] + counterBias[4] + language[4] + XXX[4] + u16 deviceID; + u16 size; + u16 encode; // character set -- 0: S-JIS, 1: ANSI - u8 padding[512 - 32 - 5 * 2]; + u8 padding[512 - 32 - 5 * 2]; - u16 checkSum; - u16 checkSumInv; + u16 checkSum; + u16 checkSumInv; } CARDID; void __CARDDefaultApiCallback(s32 chan, s32 result); -s32 __CARDEraseSector(s32 chan, u32 addr, CARDCallback callback); -s32 __CARDPutControlBlock(struct CARDControl *card, s32 result); -void __CARDSyncCallback(s32 chan, s32 result); -u16 *__CARDGetFatBlock(CARDControl *card); -/* CARDBios */ -void __CARDExtHandler(s32 chan, OSContext *context); -void __CARDExiHandler(s32 chan, OSContext *context); -void __CARDTxHandler(s32 chan, OSContext *context); -void __CARDUnlockedHandler(s32 chan, OSContext *context); -s32 __CARDEnableInterrupt(s32 chan, BOOL enable); -s32 __CARDReadStatus(s32 chan, u8 *status); -s32 __CARDReadVendorID(s32 chan, u16 *vendorId); -s32 __CARDClearStatus(s32 chan); -s32 __CARDStart(s32 chan, CARDCallback txCallback, CARDCallback exiCallback); -s32 __CARDReadSegment(s32 chan, CARDCallback callback); -s32 __CARDWritePage(s32 chan, CARDCallback callback); -u16 __CARDGetFontEncode(void); -void __CARDSetDiskID(const DVDDiskID *id); -s32 __CARDGetControlBlock(s32 chan, struct CARDControl **pcard); -s32 __CARDSync(s32 chan); +#define CARDIsValidBlockNo(card, iBlock) \ + (CARD_NUM_SYSTEM_BLOCK <= (iBlock) && (iBlock) < (card)->cBlock) +#define __CARDGetDirCheck(dir) ((CARDDirCheck*)&(dir)[CARD_MAX_FILE]) -/* CARDBlock */ -s32 __CARDAllocBlock(s32 chan, u32 cBlock, CARDCallback callback); -s32 __CARDFreeBlock(s32 chan, u16 nBlock, CARDCallback callback); -s32 __CARDUpdateFatBlock(s32 chan, u16 *fat, CARDCallback callback); - -/* CARDCheck */ -void __CARDCheckSum(void *ptr, int length, u16 *checksum, u16 *checksumInv); -s32 __CARDVerify(CARDControl *card); - -/* CARDDir */ -CARDDir *__CARDGetDirBlock(CARDControl *card); -s32 __CARDUpdateDir(s32 chan, CARDCallback callback); - -/* CARDFormat */ -s32 __CARDFormatRegionAsync(s32 chan, u16 encode, CARDCallback callback); - -/* CARDMount */ -void __CARDMountCallback(s32 chan, s32 result); - -/* CARDOpen */ -BOOL __CARDCompareFileName(CARDDir *ent, const char *fileName); -s32 __CARDAccess(CARDControl *card, CARDDir *ent); -BOOL __CARDIsPublic(CARDDir *ent); -s32 __CARDIsReadable(CARDControl *card, CARDDir *ent); -s32 __CARDGetFileNo(CARDControl *card, const char *fileName, s32 *pfileNo); -BOOL __CARDIsOpened(CARDControl *card, s32 fileNo); - -/* CARDRdwr */ -s32 __CARDRead(s32 chan, u32 addr, s32 length, void *dst, CARDCallback callback); -s32 __CARDWrite(s32 chan, u32 addr, s32 length, void *dst, CARDCallback callback); - -/* CARDRead */ -s32 __CARDSeek(CARDFileInfo *fileInfo, s32 length, s32 offset, CARDControl **pcard); - -/* CARDUnlock */ -s32 __CARDUnlock(s32 chan, u8 flashID[12]); - -#define CARDIsValidBlockNo(card, iBlock) (CARD_NUM_SYSTEM_BLOCK <= (iBlock) && (iBlock) < (card)->cBlock) -#define __CARDGetDirCheck(dir) ((CARDDirCheck *)&(dir)[CARD_MAX_FILE]) +CARDDir* __CARDGetDirBlock(CARDControl* card); +u16* __CARDGetFatBlock(CARDControl* card); +s32 __CARDUpdateFatBlock(s32 chan, u16* fat, CARDCallback callback); +void __CARDCheckSum(void* ptr, int length, u16* checkSum, u16* checkSumInv); +u16 __CARDGetFontEncode(); +void __CARDExiHandler(s32 chan, OSContext* context); +void __CARDExtHandler(s32 chan, OSContext* context); +void __CARDUnlockedHandler(s32 chan, OSContext* context); +s32 __CARDAccess(CARDControl* card, CARDDir* ent); +BOOL __CARDIsWritable(CARDDir* ent); #define TRUNC(n, a) (((u32)(n)) & ~((a)-1)) #define OFFSET(n, a) (((u32)(n)) & ((a)-1)) diff --git a/include/dolphin/OSRtcPriv.h b/include/dolphin/OSRtcPriv.h index fe1df144..949c71e7 100644 --- a/include/dolphin/OSRtcPriv.h +++ b/include/dolphin/OSRtcPriv.h @@ -4,33 +4,30 @@ #include typedef struct OSSram { - u16 checkSum; - u16 checkSumInv; - u32 ead0; - u32 ead1; - u32 counterBias; - s8 displayOffsetH; - u8 ntd; - u8 language; - u8 flags; + u16 checkSum; + u16 checkSumInv; + u32 ead0; + u32 ead1; + u32 counterBias; + s8 displayOffsetH; + u8 ntd; + u8 language; + u8 flags; } OSSram; typedef struct OSSramEx { - u8 flashID[2][12]; - u32 wirelessKeyboardID; - u16 wirelessPadID[4]; - u8 dvdErrorCode; - u8 _padding0; - u8 flashIDCheckSum[2]; - u16 gbs; - u8 _padding1[2]; + u8 flashID[2][12]; + u32 wirelessKeyboardID; + u16 wirelessPadID[4]; + u8 dvdErrorCode; + u8 _padding0; + u8 flashIDCheckSum[2]; + u16 gbs; + u8 _padding1[2]; } OSSramEx; -void __OSInitSram(); -OSSram *__OSLockSram(); -BOOL __OSSyncSram(); -BOOL __OSUnlockSram(BOOL commit); -OSSramEx *__OSLockSramEx(); +OSSram* __OSLockSram(); +OSSramEx* __OSLockSramEx(); void OSSetWirelessID(s32 chan, u16 id); u16 OSGetWirelessID(s32 chan); diff --git a/include/dolphin/ai.h b/include/dolphin/ai.h index bba3a596..e998e831 100644 --- a/include/dolphin/ai.h +++ b/include/dolphin/ai.h @@ -9,12 +9,6 @@ extern "C" { typedef void (*AISCallback)(u32 count); typedef void (*AIDCallback)(); -#define AI_STREAM_START 1 -#define AI_STREAM_STOP 0 - -#define AI_SAMPLERATE_32KHZ 0 -#define AI_SAMPLERATE_48KHZ 1 - AIDCallback AIRegisterDMACallback(AIDCallback callback); void AIInitDMA(u32 start_addr, u32 length); BOOL AIGetDMAEnableFlag(); diff --git a/include/dolphin/demo.h b/include/dolphin/demo.h deleted file mode 100644 index b712723a..00000000 --- a/include/dolphin/demo.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef _DOLPHIN_DEMO -#define _DOLPHIN_DEMO - -#include -#include - -struct STRUCT_MENU_ITEM { - /* 0x00 */ char * name; - /* 0x04 */ unsigned long flags; - /* 0x08 */ void (* function)(struct STRUCT_MENU *, unsigned long, unsigned long *); - /* 0x0C */ struct STRUCT_MENU * link; -}; - -struct STRUCT_MENU { - /* 0x00 */ char * title; - /* 0x04 */ struct STRUCT_DEMOWIN * handle; - /* 0x08 */ struct STRUCT_MENU_ITEM * items; - /* 0x0C */ long max_display_items; - /* 0x10 */ unsigned long flags; - /* 0x14 */ void (* cb_open)(struct STRUCT_MENU *, unsigned long); - /* 0x18 */ void (* cb_move)(struct STRUCT_MENU *, unsigned long); - /* 0x1C */ void (* cb_select)(struct STRUCT_MENU *, unsigned long); - /* 0x20 */ void (* cb_cancel)(struct STRUCT_MENU *, unsigned long); - /* 0x24 */ long num_display_items; - /* 0x28 */ long num_items; - /* 0x2C */ unsigned long max_str_len; - /* 0x30 */ long curr_pos; - /* 0x34 */ long display_pos; -}; - -typedef struct { - /* 0x00 */ struct PADStatus pads[4]; - /* 0x30 */ unsigned long button[4]; - /* 0x40 */ unsigned long old_button[4]; - /* 0x50 */ unsigned long changed_button[4]; - /* 0x60 */ unsigned long repeat_button[4]; - /* 0x70 */ unsigned long repeat_ctr[4]; -} DEMOWinPadInfo; - -struct STRUCT_LISTBOX_ITEM { - /* 0x00 */ char * name; // offset 0x0, size 0x4 - /* 0x04 */ unsigned long flags; // offset 0x4, size 0x4 -}; - -struct STRUCT_LISTBOX { - /* 0x00 */ char * title; // offset 0x0, size 0x4 - /* 0x04 */ struct STRUCT_DEMOWIN * handle; // offset 0x4, size 0x4 - /* 0x08 */ struct STRUCT_LISTBOX_ITEM * items; // offset 0x8, size 0x4 - /* 0x0C */ long max_display_items; // offset 0xC, size 0x4 - /* 0x10 */ unsigned long flags; // offset 0x10, size 0x4 - /* 0x14 */ long num_display_items; // offset 0x14, size 0x4 - /* 0x18 */ long num_items; // offset 0x18, size 0x4 - /* 0x1C */ unsigned long max_str_len; // offset 0x1C, size 0x4 - /* 0x20 */ long curr_pos; // offset 0x20, size 0x4 - /* 0x24 */ long display_pos; // offset 0x24, size 0x4 - /* 0x28 */ int cursor_state; // offset 0x28, size 0x4 -}; - -extern unsigned long DEMOFontBitmap[768]; - -#include -#include -#include -#include -#include - -// unsorted externs -extern void DEMOPrintf(s16 x, s16 y, s16 priority, char *str, ...); - -extern struct _GXRenderModeObj *DEMOGetRenderModeObj(); - -#endif diff --git a/include/dolphin/demo/DEMOInit.h b/include/dolphin/demo/DEMOInit.h deleted file mode 100644 index 00bcd849..00000000 --- a/include/dolphin/demo/DEMOInit.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef _DOLPHIN_DEMOINIT -#define _DOLPHIN_DEMOINIT - -#include - -extern void *DemoFrameBuffer1; -extern void *DemoFrameBuffer2; -extern void *DemoCurrentBuffer; - -void DEMOInit(struct _GXRenderModeObj *mode); -void DEMOBeforeRender(); -void DEMODoneRender(); -void DEMOSwapBuffers(); -void DEMOSetTevColorIn(enum _GXTevStageID stage, enum _GXTevColorArg a, enum _GXTevColorArg b, enum _GXTevColorArg c, enum _GXTevColorArg d); -void DEMOSetTevOp(enum _GXTevStageID id, enum _GXTevMode mode); -struct _GXRenderModeObj *DEMOGetRenderModeObj(); -u32 DEMOGetCurrentBuffer(void); -void DEMOEnableBypassWorkaround(unsigned long timeoutFrames); -void DEMOReInit(struct _GXRenderModeObj *mode); - -#endif diff --git a/include/dolphin/demo/DEMOPad.h b/include/dolphin/demo/DEMOPad.h deleted file mode 100644 index 34bcc6b6..00000000 --- a/include/dolphin/demo/DEMOPad.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef _DOLPHIN_DEMOPAD -#define _DOLPHIN_DEMOPAD - -#include - -typedef struct { - /* 0x00 */ struct PADStatus pst; - /* 0x0C */ u16 buttonDown; - /* 0x0E */ u16 buttonUp; - /* 0x10 */ u16 dirs; - /* 0x12 */ u16 dirsNew; - /* 0x14 */ u16 dirsReleased; - /* 0x16 */ s16 stickDeltaX; - /* 0x18 */ s16 stickDeltaY; - /* 0x1A */ s16 substickDeltaX; - /* 0x1C */ s16 substickDeltaY; -} DEMODMPad; - -extern DEMODMPad DemoPad[4]; - -extern u32 DemoNumValidPads; - -void DEMOPadRead(); -void DEMOPadInit(); - -#endif diff --git a/include/dolphin/demo/DEMOPuts.h b/include/dolphin/demo/DEMOPuts.h deleted file mode 100644 index 219ca544..00000000 --- a/include/dolphin/demo/DEMOPuts.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _DOLPHIN_DEMOPUTS -#define _DOLPHIN_DEMOPUTS - -#include - -typedef enum { - DMTF_POINTSAMPLE, - DMTF_BILERP -} DMTexFlt; - -typedef enum { DM_FT_OPQ, DM_FT_RVS, DM_FT_XLU } DMFontType; - -void DEMOSetFontType(DMFontType attr); -void DEMOLoadFont(enum _GXTexMapID texMap, enum _GXTexMtx texMtx, DMTexFlt texFlt); -void DEMOSetupScrnSpc(long width, long height, float depth); -void DEMOInitCaption(long font_type, long width, long height); -void DEMOPuts(s16 x, s16 y, s16 z, char *string); -void DEMOPrintf(s16 x, s16 y, s16 z, char *fmt, ...); -struct OSFontHeader *DEMOInitROMFont(); -void DEMOSetROMFontSize(s16 size, s16 space); -int DEMORFPuts(s16 x, s16 y, s16 z, char *string); -int DEMORFPutsEx(s16 x, s16 y, s16 z, char *string, s16 maxWidth, int length); -int DEMORFPrintf(s16 x, s16 y, s16 z, char *fmt, ...); -char *DEMODumpROMFont(char *string); -int DEMOGetRFTextWidth(char *string); - -#endif diff --git a/include/dolphin/demo/DEMOStats.h b/include/dolphin/demo/DEMOStats.h deleted file mode 100644 index 92a61bf6..00000000 --- a/include/dolphin/demo/DEMOStats.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _DOLPHIN_DEMOSTATS -#define _DOLPHIN_DEMOSTATS - -typedef enum DEMO_STAT_TYPE { - DEMO_STAT_GP0 = 0, - DEMO_STAT_GP1 = 1, - DEMO_STAT_MEM = 2, - DEMO_STAT_PIX = 3, - DEMO_STAT_VC = 4, - DEMO_STAT_FR = 5, - DEMO_STAT_TBW = 6, - DEMO_STAT_TBP = 7, - DEMO_STAT_MYC = 8, - DEMO_STAT_MYR = 9 -} DEMO_STAT_TYPE; - -typedef struct DemoStatData { - char text[50]; - DEMO_STAT_TYPE stat_type; - unsigned long stat; - unsigned long count; -} DemoStatData; - -typedef enum { - DEMO_STAT_TL = 0, - DEMO_STAT_BL = 1, - DEMO_STAT_TLD = 2, - DEMO_STAT_BLD = 3, - DEMO_STAT_IO = 4 -} DEMO_STAT_DISP; - -extern unsigned char DemoStatEnable; - -void DEMOSetStats(DemoStatData * stat, unsigned long nstats, DEMO_STAT_DISP disp); -void DEMOUpdateStats(unsigned char inc); -void DEMOPrintStats(void); - -#endif diff --git a/include/dolphin/demo/DEMOWin.h b/include/dolphin/demo/DEMOWin.h deleted file mode 100644 index 2c24b50d..00000000 --- a/include/dolphin/demo/DEMOWin.h +++ /dev/null @@ -1,77 +0,0 @@ -#ifndef _DOLPHIN_DEMOWIN -#define _DOLPHIN_DEMOWIN - -#include -#include - -enum DEMOWinItem { - DEMOWIN_ITEM_CAP, - DEMOWIN_ITEM_BKGND, - DEMOWIN_ITEM_BORDER, - DEMOWIN_ITEM_DEFAULT -}; - -// flags -#define DEMOWIN_FLAGS_INIT (1 << 0) -#define DEMOWIN_FLAGS_OPENED (1 << 1) - -struct STRUCT_DEMOWIN { - /* 0x00 */ long x1; - /* 0x04 */ long y1; - /* 0x08 */ long x2; - /* 0x0C */ long y2; - /* 0x10 */ unsigned long priority; - /* 0x14 */ unsigned long flags; - /* 0x18 */ unsigned short x_cal; - /* 0x1A */ unsigned short y_cal; - /* 0x1C */ unsigned short pixel_width; - /* 0x1E */ unsigned short pixel_height; - /* 0x20 */ unsigned short char_width; - /* 0x22 */ unsigned short char_height; - /* 0x24 */ unsigned short num_scroll_lines; - /* 0x26 */ unsigned short total_lines; - /* 0x28 */ unsigned short curr_output_line; - /* 0x2A */ unsigned short curr_output_col; - /* 0x2C */ unsigned short curr_view_line; - /* 0x2E */ signed short cursor_line; - /* 0x30 */ char * caption; - /* 0x34 */ unsigned char * buffer; - /* 0x38 */ GXColor bkgnd; - /* 0x3C */ GXColor cap; - /* 0x40 */ GXColor border; - /* 0x44 */ void (* refresh)(struct STRUCT_DEMOWIN *); - /* 0x48 */ struct STRUCT_DEMOWIN * next; - /* 0x4C */ struct STRUCT_DEMOWIN * prev; - /* 0x50 */ void * parent; -}; - -// functions -void DEMOWinInit(); -struct STRUCT_DEMOWIN * DEMOWinCreateWindow(s32 x1, s32 y1, s32 x2, s32 y2, char * caption, u16 scroll, void * func); -void DEMOWinDestroyWindow(struct STRUCT_DEMOWIN * handle); -void DEMOWinOpenWindow(struct STRUCT_DEMOWIN * handle); -void DEMOWinCloseWindow(struct STRUCT_DEMOWIN * handle); -void DEMOWinSetWindowColor(struct STRUCT_DEMOWIN * handle, enum DEMOWinItem item, u8 r, u8 g, u8 b, u8 a); -void DEMOWinLogPrintf(struct STRUCT_DEMOWIN * handle, char * fmt, ...); -void DEMOWinPrintfXY(struct STRUCT_DEMOWIN * handle, u16 col, u16 row, char * fmt, ...); -void DEMOWinScrollWindow(struct STRUCT_DEMOWIN * handle, u32 dir); -void DEMOWinBringToFront(struct STRUCT_DEMOWIN * handle); -void DEMOWinSendToBack(struct STRUCT_DEMOWIN * handle); -void DEMOWinClearRow(struct STRUCT_DEMOWIN * handle, u16 row); -void DEMOWinClearWindow(struct STRUCT_DEMOWIN * handle); -void DEMOWinClearBuffer(struct STRUCT_DEMOWIN * handle); -void DEMOWinRefresh(); -struct STRUCT_MENU * DEMOWinCreateMenuWindow(struct STRUCT_MENU * menu, u16 x, u16 y); -void DEMOWinDestroyMenuWindow(struct STRUCT_MENU * menu); -u32 DEMOWinMenuChild(struct STRUCT_MENU * menu, int child_flag); -void DEMOWinPadInit(DEMOWinPadInfo *p); -void DEMOWinPadRead(DEMOWinPadInfo *p); -void DEMOWinSetRepeat(unsigned long threshold, unsigned long rate); -void DEMOWinResetRepeat(); -struct STRUCT_LISTBOX * DEMOWinCreateListWindow(struct STRUCT_LISTBOX * list, unsigned short x, unsigned short y); -void DEMOWinDestroyListWindow(struct STRUCT_LISTBOX * list); -void DEMOWinListSetCursor(struct STRUCT_LISTBOX * list, int x); -long DEMOWinListScrollList(struct STRUCT_LISTBOX * list, unsigned long dir); -long DEMOWinListMoveCursor(struct STRUCT_LISTBOX * list, unsigned long dir); - -#endif diff --git a/include/dolphin/demoPriv.h b/include/dolphin/demoPriv.h deleted file mode 100644 index bce6d3bc..00000000 --- a/include/dolphin/demoPriv.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef _DOLPHIN_DEMOPRIV -#define _DOLPHIN_DEMOPRIV - -#include - -extern struct STRUCT_DEMOWIN * __first_node; -extern struct STRUCT_DEMOWIN * __last_node; -extern struct STRUCT_DEMOWIN * __curr_node; -extern struct _GXRenderModeObj * __rmp; - -#endif diff --git a/include/dolphin/dsp.h b/include/dolphin/dsp.h index 18df2eb6..368138c9 100644 --- a/include/dolphin/dsp.h +++ b/include/dolphin/dsp.h @@ -59,7 +59,6 @@ DSPTaskInfo* DSPAddTask(DSPTaskInfo* task); void __DSP_exec_task(DSPTaskInfo* curr, DSPTaskInfo* next); void __DSP_boot_task(DSPTaskInfo* task); -void __DSP_insert_task(DSPTaskInfo* task); void __DSP_remove_task(DSPTaskInfo* task); void __DSP_add_task(DSPTaskInfo* task); void __DSP_debug_printf(const char* fmt, ...); diff --git a/include/dolphin/dvd.h b/include/dolphin/dvd.h index d8149fa2..cc6e1fa9 100644 --- a/include/dolphin/dvd.h +++ b/include/dolphin/dvd.h @@ -89,7 +89,6 @@ void DVDInit(); BOOL DVDClose(DVDFileInfo* f); BOOL DVDSetAutoFatalMessaging(BOOL); void DVDReset(); -int DVDSetAutoInvalidation(int autoInval); s32 DVDCancel(DVDCommandBlock* block); BOOL DVDOpen(char* fileName, DVDFileInfo* fileInfo); BOOL DVDFastOpen(s32 entrynum, DVDFileInfo* fileInfo); diff --git a/include/dolphin/exi.h b/include/dolphin/exi.h deleted file mode 100644 index 5187b6a8..00000000 --- a/include/dolphin/exi.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _DOLPHIN_EXI -#define _DOLPHIN_EXI - -#include - -typedef void (*EXICallback)(s32 chan, OSContext *context); - -EXICallback EXISetExiCallback(s32 channel, EXICallback callback); - -void EXIInit(void); -BOOL EXILock(s32 channel, u32 device, EXICallback callback); -BOOL EXIUnlock(s32 channel); -BOOL EXISelect(s32 channel, u32 device, u32 frequency); -BOOL EXIDeselect(s32 channel); -BOOL EXIImm(s32 channel, void *buffer, s32 length, u32 type, EXICallback callback); -BOOL EXIImmEx(s32 channel, void *buffer, s32 length, u32 type); -BOOL EXIDma(s32 channel, void *buffer, s32 length, u32 type, EXICallback callback); -BOOL EXISync(s32 channel); -BOOL EXIProbe(s32 channel); -s32 EXIProbeEx(s32 channel); -BOOL EXIAttach(s32 channel, EXICallback callback); -BOOL EXIDetach(s32 channel); -u32 EXIGetState(s32 channel); -s32 EXIGetID(s32 channel, u32 device, u32 *id); -void EXIProbeReset(void); - -#endif diff --git a/include/dolphin/gx/GXBump.h b/include/dolphin/gx/GXBump.h index cc2cb976..74aeffed 100644 --- a/include/dolphin/gx/GXBump.h +++ b/include/dolphin/gx/GXBump.h @@ -19,9 +19,8 @@ void GXSetTevIndirect(GXTevStageID tev_stage, GXIndTexStageID ind_stage, GXIndTe GXIndTexBiasSel bias_sel, GXIndTexMtxID matrix_sel, GXIndTexWrap wrap_s, GXIndTexWrap wrap_t, GXBool add_prev, GXBool ind_lod, GXIndTexAlphaSel alpha_sel); -//Must be implicit to match m455dll -//void GXSetTevIndWarp(GXTevStageID tev_stage, GXIndTexStageID ind_stage, GXBool signed_offsets, -// GXBool replace_mode, GXIndTexMtxID matrix_sel); +void GXSetTevIndWarp(GXTevStageID tev_stage, GXIndTexStageID ind_stage, GXBool signed_offsets, + GXBool replace_mode, GXIndTexMtxID matrix_sel); void GXSetTevIndTile (GXTevStageID tev_stage, GXIndTexStageID ind_stage, u16 tilesize_s, u16 tilesize_t, diff --git a/include/dolphin/gx/GXEnum.h b/include/dolphin/gx/GXEnum.h index cf924f01..d6fed014 100644 --- a/include/dolphin/gx/GXEnum.h +++ b/include/dolphin/gx/GXEnum.h @@ -23,7 +23,7 @@ typedef u8 GXBool; typedef enum _GXProjectionType { GX_PERSPECTIVE, - GX_ORTHOGRAPHIC + GX_ORTHOGRAPHIC, } GXProjectionType; typedef enum _GXCompare { @@ -34,7 +34,7 @@ typedef enum _GXCompare { GX_GREATER, GX_NEQUAL, GX_GEQUAL, - GX_ALWAYS + GX_ALWAYS, } GXCompare; typedef enum _GXAlphaOp { @@ -42,20 +42,20 @@ typedef enum _GXAlphaOp { GX_AOP_OR, GX_AOP_XOR, GX_AOP_XNOR, - GX_MAX_ALPHAOP + GX_MAX_ALPHAOP, } GXAlphaOp; typedef enum _GXZFmt16 { GX_ZC_LINEAR, GX_ZC_NEAR, GX_ZC_MID, - GX_ZC_FAR + GX_ZC_FAR, } GXZFmt16; typedef enum _GXGamma { GX_GM_1_0, GX_GM_1_7, - GX_GM_2_2 + GX_GM_2_2, } GXGamma; typedef enum _GXPixelFmt { @@ -66,7 +66,7 @@ typedef enum _GXPixelFmt { GX_PF_Y8, GX_PF_U8, GX_PF_V8, - GX_PF_YUV420 + GX_PF_YUV420, } GXPixelFmt; typedef enum _GXPrimitive { @@ -76,7 +76,7 @@ typedef enum _GXPrimitive { GX_TRIANGLEFAN = 0xA0, GX_LINES = 0xA8, GX_LINESTRIP = 0xB0, - GX_POINTS = 0xB8 + GX_POINTS = 0xB8, } GXPrimitive; typedef enum _GXVtxFmt { @@ -88,7 +88,7 @@ typedef enum _GXVtxFmt { GX_VTXFMT5, GX_VTXFMT6, GX_VTXFMT7, - GX_MAX_VTXFMT + GX_MAX_VTXFMT, } GXVtxFmt; typedef enum _GXAttr { @@ -119,7 +119,7 @@ typedef enum _GXAttr { GX_LIGHT_ARRAY, GX_VA_NBT, GX_VA_MAX_ATTR, - GX_VA_NULL = 0xFF + GX_VA_NULL = 0xFF, } GXAttr; #define GX_MAX_VTXDESCLIST_SZ (GX_VA_MAX_ATTR + 1) @@ -128,7 +128,7 @@ typedef enum _GXAttrType { GX_NONE, GX_DIRECT, GX_INDEX8, - GX_INDEX16 + GX_INDEX16, } GXAttrType; #define _GX_TF_CTF 0x20 @@ -164,20 +164,20 @@ typedef enum _GXTexFmt { GX_CTF_Z8L = 0xA | _GX_TF_ZTF | _GX_TF_CTF, GX_CTF_Z16L = 0xC | _GX_TF_ZTF | _GX_TF_CTF, - GX_TF_A8 = GX_CTF_A8 + GX_TF_A8 = GX_CTF_A8, } GXTexFmt; typedef enum _GXCITexFmt { GX_TF_C4 = 0x8, GX_TF_C8 = 0x9, - GX_TF_C14X2 = 0xa + GX_TF_C14X2 = 0xa, } GXCITexFmt; typedef enum _GXTexWrapMode { GX_CLAMP, GX_REPEAT, GX_MIRROR, - GX_MAX_TEXWRAPMODE + GX_MAX_TEXWRAPMODE, } GXTexWrapMode; typedef enum _GXTexFilter { @@ -186,14 +186,14 @@ typedef enum _GXTexFilter { GX_NEAR_MIP_NEAR, GX_LIN_MIP_NEAR, GX_NEAR_MIP_LIN, - GX_LIN_MIP_LIN + GX_LIN_MIP_LIN, } GXTexFilter; typedef enum _GXAnisotropy { GX_ANISO_1, GX_ANISO_2, GX_ANISO_4, - GX_MAX_ANISOTROPY + GX_MAX_ANISOTROPY, } GXAnisotropy; typedef enum _GXTexMapID { @@ -207,7 +207,7 @@ typedef enum _GXTexMapID { GX_TEXMAP7, GX_MAX_TEXMAP, GX_TEXMAP_NULL = 0xFF, - GX_TEX_DISABLE = 0x100 + GX_TEX_DISABLE = 0x100, } GXTexMapID; typedef enum _GXTexCoordID { @@ -220,7 +220,7 @@ typedef enum _GXTexCoordID { GX_TEXCOORD6, GX_TEXCOORD7, GX_MAX_TEXCOORD, - GX_TEXCOORD_NULL = 0xFF + GX_TEXCOORD_NULL = 0xFF, } GXTexCoordID; typedef enum _GXTevStageID { @@ -240,7 +240,7 @@ typedef enum _GXTevStageID { GX_TEVSTAGE13, GX_TEVSTAGE14, GX_TEVSTAGE15, - GX_MAX_TEVSTAGE + GX_MAX_TEVSTAGE, } GXTevStageID; typedef enum _GXTevMode { @@ -248,12 +248,12 @@ typedef enum _GXTevMode { GX_DECAL, GX_BLEND, GX_REPLACE, - GX_PASSCLR + GX_PASSCLR, } GXTevMode; typedef enum _GXTexMtxType { GX_MTX3x4, - GX_MTX2x4 + GX_MTX2x4, } GXTexMtxType; typedef enum _GXTexGenType { @@ -267,7 +267,7 @@ typedef enum _GXTexGenType { GX_TG_BUMP5, GX_TG_BUMP6, GX_TG_BUMP7, - GX_TG_SRTG + GX_TG_SRTG, } GXTexGenType; typedef enum _GXPosNrmMtx { @@ -280,7 +280,7 @@ typedef enum _GXPosNrmMtx { GX_PNMTX6 = 18, GX_PNMTX7 = 21, GX_PNMTX8 = 24, - GX_PNMTX9 = 27 + GX_PNMTX9 = 27, } GXPosNrmMtx; typedef enum _GXTexMtx { @@ -294,7 +294,7 @@ typedef enum _GXTexMtx { GX_TEXMTX7 = 51, GX_TEXMTX8 = 54, GX_TEXMTX9 = 57, - GX_IDENTITY = 60 + GX_IDENTITY = 60, } GXTexMtx; typedef enum _GXChannelID { @@ -307,7 +307,7 @@ typedef enum _GXChannelID { GX_COLOR_ZERO, GX_ALPHA_BUMP, GX_ALPHA_BUMPN, - GX_COLOR_NULL = 0xFF + GX_COLOR_NULL = 0xFF, } GXChannelID; typedef enum _GXTexGenSrc { @@ -332,7 +332,7 @@ typedef enum _GXTexGenSrc { GX_TG_TEXCOORD6, GX_TG_COLOR0, GX_TG_COLOR1, - GX_MAX_TEXGENSRC + GX_MAX_TEXGENSRC, } GXTexGenSrc; typedef enum _GXBlendMode { @@ -340,7 +340,7 @@ typedef enum _GXBlendMode { GX_BM_BLEND, GX_BM_LOGIC, GX_BM_SUBTRACT, - GX_MAX_BLENDMODE + GX_MAX_BLENDMODE, } GXBlendMode; typedef enum _GXBlendFactor { @@ -353,7 +353,7 @@ typedef enum _GXBlendFactor { GX_BL_DSTALPHA, GX_BL_INVDSTALPHA, GX_BL_DSTCLR = GX_BL_SRCCLR, - GX_BL_INVDSTCLR = GX_BL_INVSRCCLR + GX_BL_INVDSTCLR = GX_BL_INVSRCCLR, } GXBlendFactor; typedef enum _GXLogicOp { @@ -372,7 +372,7 @@ typedef enum _GXLogicOp { GX_LO_INVCOPY, GX_LO_INVOR, GX_LO_NAND, - GX_LO_SET + GX_LO_SET, } GXLogicOp; typedef enum _GXCompCnt { @@ -384,7 +384,7 @@ typedef enum _GXCompCnt { GX_CLR_RGB = 0, GX_CLR_RGBA = 1, GX_TEX_S = 0, - GX_TEX_ST = 1 + GX_TEX_ST = 1, } GXCompCnt; typedef enum _GXCompType { @@ -398,7 +398,7 @@ typedef enum _GXCompType { GX_RGBX8 = 2, GX_RGBA4 = 3, GX_RGBA6 = 4, - GX_RGBA8 = 5 + GX_RGBA8 = 5, } GXCompType; typedef enum _GXPTTexMtx { @@ -422,7 +422,7 @@ typedef enum _GXPTTexMtx { GX_PTTEXMTX17 = 115, GX_PTTEXMTX18 = 118, GX_PTTEXMTX19 = 121, - GX_PTIDENTITY = 125 + GX_PTIDENTITY = 125, } GXPTTexMtx; typedef enum _GXTevRegID { @@ -430,24 +430,24 @@ typedef enum _GXTevRegID { GX_TEVREG0, GX_TEVREG1, GX_TEVREG2, - GX_MAX_TEVREG + GX_MAX_TEVREG, } GXTevRegID; typedef enum _GXDiffuseFn { GX_DF_NONE, GX_DF_SIGN, - GX_DF_CLAMP + GX_DF_CLAMP, } GXDiffuseFn; typedef enum _GXColorSrc { GX_SRC_REG, - GX_SRC_VTX + GX_SRC_VTX, } GXColorSrc; typedef enum _GXAttnFn { GX_AF_SPEC, GX_AF_SPOT, - GX_AF_NONE + GX_AF_NONE, } GXAttnFn; typedef enum _GXLightID { @@ -460,7 +460,7 @@ typedef enum _GXLightID { GX_LIGHT6 = 0x040, GX_LIGHT7 = 0x080, GX_MAX_LIGHT = 0x100, - GX_LIGHT_NULL = 0 + GX_LIGHT_NULL = 0, } GXLightID; typedef enum _GXTexOffset { @@ -470,7 +470,7 @@ typedef enum _GXTexOffset { GX_TO_FOURTH, GX_TO_HALF, GX_TO_ONE, - GX_MAX_TEXOFFSET + GX_MAX_TEXOFFSET, } GXTexOffset; typedef enum _GXSpotFn { @@ -480,21 +480,21 @@ typedef enum _GXSpotFn { GX_SP_COS2, GX_SP_SHARP, GX_SP_RING1, - GX_SP_RING2 + GX_SP_RING2, } GXSpotFn; typedef enum _GXDistAttnFn { GX_DA_OFF, GX_DA_GENTLE, GX_DA_MEDIUM, - GX_DA_STEEP + GX_DA_STEEP, } GXDistAttnFn; typedef enum _GXCullMode { GX_CULL_NONE, GX_CULL_FRONT, GX_CULL_BACK, - GX_CULL_ALL + GX_CULL_ALL, } GXCullMode; typedef enum _GXTevSwapSel { @@ -502,14 +502,14 @@ typedef enum _GXTevSwapSel { GX_TEV_SWAP1, GX_TEV_SWAP2, GX_TEV_SWAP3, - GX_MAX_TEVSWAP + GX_MAX_TEVSWAP, } GXTevSwapSel; typedef enum _GXTevColorChan { GX_CH_RED = 0, GX_CH_GREEN, GX_CH_BLUE, - GX_CH_ALPHA + GX_CH_ALPHA, } GXTevColorChan; typedef enum _GXFogType { @@ -528,7 +528,7 @@ typedef enum _GXFogType { GX_FOG_EXP = GX_FOG_PERSP_EXP, GX_FOG_EXP2 = GX_FOG_PERSP_EXP2, GX_FOG_REVEXP = GX_FOG_PERSP_REVEXP, - GX_FOG_REVEXP2 = GX_FOG_PERSP_REVEXP2 + GX_FOG_REVEXP2 = GX_FOG_PERSP_REVEXP2, } GXFogType; typedef enum _GXTevColorArg { @@ -547,7 +547,7 @@ typedef enum _GXTevColorArg { GX_CC_ONE, GX_CC_HALF, GX_CC_KONST, - GX_CC_ZERO + GX_CC_ZERO, } GXTevColorArg; typedef enum _GXTevAlphaArg { @@ -558,7 +558,7 @@ typedef enum _GXTevAlphaArg { GX_CA_TEXA, GX_CA_RASA, GX_CA_KONST, - GX_CA_ZERO + GX_CA_ZERO, } GXTevAlphaArg; typedef enum _GXTevOp { @@ -573,14 +573,14 @@ typedef enum _GXTevOp { GX_TEV_COMP_RGB8_GT = 14, GX_TEV_COMP_RGB8_EQ = 15, GX_TEV_COMP_A8_GT = GX_TEV_COMP_RGB8_GT, - GX_TEV_COMP_A8_EQ = GX_TEV_COMP_RGB8_EQ + GX_TEV_COMP_A8_EQ = GX_TEV_COMP_RGB8_EQ, } GXTevOp; typedef enum _GXTevBias { GX_TB_ZERO, GX_TB_ADDHALF, GX_TB_SUBHALF, - GX_MAX_TEVBIAS + GX_MAX_TEVBIAS, } GXTevBias; typedef enum _GXTevScale { @@ -588,7 +588,7 @@ typedef enum _GXTevScale { GX_CS_SCALE_2, GX_CS_SCALE_4, GX_CS_DIVIDE_2, - GX_MAX_TEVSCALE + GX_MAX_TEVSCALE, } GXTevScale; typedef enum _GXTevKColorSel { @@ -623,7 +623,7 @@ typedef enum _GXTevKColorSel { GX_TEV_KCSEL_K0_A = 0x1C, GX_TEV_KCSEL_K1_A = 0x1D, GX_TEV_KCSEL_K2_A = 0x1E, - GX_TEV_KCSEL_K3_A = 0x1F + GX_TEV_KCSEL_K3_A = 0x1F, } GXTevKColorSel; typedef enum _GXTevKAlphaSel { @@ -654,7 +654,7 @@ typedef enum _GXTevKAlphaSel { GX_TEV_KASEL_K0_A = 0x1C, GX_TEV_KASEL_K1_A = 0x1D, GX_TEV_KASEL_K2_A = 0x1E, - GX_TEV_KASEL_K3_A = 0x1F + GX_TEV_KASEL_K3_A = 0x1F, } GXTevKAlphaSel; typedef enum _GXTevKColorID { @@ -662,14 +662,14 @@ typedef enum _GXTevKColorID { GX_KCOLOR1, GX_KCOLOR2, GX_KCOLOR3, - GX_MAX_KCOLOR + GX_MAX_KCOLOR, } GXTevKColorID; typedef enum _GXZTexOp { GX_ZT_DISABLE, GX_ZT_ADD, GX_ZT_REPLACE, - GX_MAX_ZTEXO + GX_MAX_ZTEXOP, } GXZTexOp; typedef enum _GXIndTexFormat { @@ -677,7 +677,7 @@ typedef enum _GXIndTexFormat { GX_ITF_5, GX_ITF_4, GX_ITF_3, - GX_MAX_ITFORMAT + GX_MAX_ITFORMAT, } GXIndTexFormat; typedef enum _GXIndTexBiasSel { @@ -689,7 +689,7 @@ typedef enum _GXIndTexBiasSel { GX_ITB_SU, GX_ITB_TU, GX_ITB_STU, - GX_MAX_ITBIAS + GX_MAX_ITBIAS, } GXIndTexBiasSel; typedef enum _GXIndTexAlphaSel { @@ -697,7 +697,7 @@ typedef enum _GXIndTexAlphaSel { GX_ITBA_S, GX_ITBA_T, GX_ITBA_U, - GX_MAX_ITBALPHA + GX_MAX_ITBALPHA, } GXIndTexAlphaSel; typedef enum _GXIndTexMtxID { @@ -710,7 +710,7 @@ typedef enum _GXIndTexMtxID { GX_ITM_S2, GX_ITM_T0 = 9, GX_ITM_T1, - GX_ITM_T2 + GX_ITM_T2, } GXIndTexMtxID; typedef enum _GXIndTexWrap { @@ -721,7 +721,7 @@ typedef enum _GXIndTexWrap { GX_ITW_32, GX_ITW_16, GX_ITW_0, - GX_MAX_ITWRAP + GX_MAX_ITWRAP, } GXIndTexWrap; typedef enum _GXIndTexStageID { @@ -729,7 +729,7 @@ typedef enum _GXIndTexStageID { GX_INDTEXSTAGE1, GX_INDTEXSTAGE2, GX_INDTEXSTAGE3, - GX_MAX_INDTEXSTAGE + GX_MAX_INDTEXSTAGE, } GXIndTexStageID; typedef enum _GXIndTexScale { @@ -742,12 +742,12 @@ typedef enum _GXIndTexScale { GX_ITS_64, GX_ITS_128, GX_ITS_256, - GX_MAX_ITSCALE + GX_MAX_ITSCALE, } GXIndTexScale; typedef enum _GXClipMode { GX_CLIP_ENABLE = 0, - GX_CLIP_DISABLE = 1 + GX_CLIP_DISABLE = 1, } GXClipMode; typedef enum _GXTlut { @@ -770,21 +770,21 @@ typedef enum _GXTlut { GX_BIGTLUT0 = 16, GX_BIGTLUT1 = 17, GX_BIGTLUT2 = 18, - GX_BIGTLUT3 = 19 + GX_BIGTLUT3 = 19, } GXTlut; typedef enum _GXTlutFmt { GX_TL_IA8, GX_TL_RGB565, GX_TL_RGB5A3, - GX_MAX_TLUTFMT + GX_MAX_TLUTFMT, } GXTlutFmt; typedef enum _GXMiscToken { GX_MT_NULL = 0, GX_MT_XF_FLUSH = 1, GX_MT_DL_SAVE_CONTEXT = 2, - GX_MT_ABORT_WAIT_COPYOUT = 3 + GX_MT_ABORT_WAIT_COPYOUT = 3, } GXMiscToken; typedef enum _GXTexCacheSize { @@ -834,6 +834,7 @@ typedef enum _GXPerf0 { GX_PERF0_CLOCKS, GX_PERF0_NONE + } GXPerf0; typedef enum _GXPerf1 { @@ -863,6 +864,7 @@ typedef enum _GXPerf1 { GX_PERF1_CLOCKS, GX_PERF1_NONE + } GXPerf1; typedef enum _GXVCachePerf { @@ -879,26 +881,27 @@ typedef enum _GXVCachePerf { GX_VC_TEX6, GX_VC_TEX7, GX_VC_ALL = 0xf + } GXVCachePerf; typedef enum _GXFBClamp { GX_CLAMP_NONE = 0, GX_CLAMP_TOP = 1, - GX_CLAMP_BOTTOM = 2 + GX_CLAMP_BOTTOM = 2, } GXFBClamp; typedef enum _GXCopyMode { GX_COPY_PROGRESSIVE = 0, GX_COPY_INTLC_EVEN = 2, - GX_COPY_INTLC_ODD = 3 + GX_COPY_INTLC_ODD = 3, } GXCopyMode; typedef enum _GXAlphaReadMode { GX_READ_00 = 0, GX_READ_FF = 1, - GX_READ_NONE = 2 + GX_READ_NONE = 2, -} GXAlphaReadMode; +} _GXAlphaReadMode; #ifdef __cplusplus } diff --git a/include/dolphin/gx/GXExtra.h b/include/dolphin/gx/GXExtra.h index 9ba48170..afd29caa 100644 --- a/include/dolphin/gx/GXExtra.h +++ b/include/dolphin/gx/GXExtra.h @@ -19,7 +19,7 @@ typedef struct { typedef enum { GX_TF_R8_PC = 0x60, - GX_TF_RGBA8_PC = 0x61 + GX_TF_RGBA8_PC = 0x61, } GXPCTexFmt; void GXDestroyTexObj(GXTexObj* obj); diff --git a/include/dolphin/gx/GXFrameBuffer.h b/include/dolphin/gx/GXFrameBuffer.h index f5785f8c..ebd81e78 100644 --- a/include/dolphin/gx/GXFrameBuffer.h +++ b/include/dolphin/gx/GXFrameBuffer.h @@ -47,7 +47,6 @@ void GXCopyDisp(void* dest, GXBool clear); void GXSetDispCopyGamma(GXGamma gamma); void GXSetDispCopySrc(u16 left, u16 top, u16 wd, u16 ht); void GXSetDispCopyDst(u16 wd, u16 ht); -f32 GXGetYScaleFactor(u16 efbHeight, u16 xfbHeight); u32 GXSetDispCopyYScale(f32 vscale); void GXSetCopyFilter(GXBool aa, u8 sample_pattern[12][2], GXBool vf, u8 vfilter[7]); void GXSetPixelFmt(GXPixelFmt pix_fmt, GXZFmt16 z_fmt); diff --git a/include/dolphin/gx/GXPriv.h b/include/dolphin/gx/GXPriv.h index 1cd42e37..ea3d2318 100644 --- a/include/dolphin/gx/GXPriv.h +++ b/include/dolphin/gx/GXPriv.h @@ -1,32 +1,7 @@ #ifndef _DOLPHIN_GXPRIV #define _DOLPHIN_GXPRIV -#include "dolphin/gx.h" - -#ifdef DEBUG -#define ASSERTLINE(line, cond) \ - ((cond) || (OSPanic(__FILE__, line, "Failed assertion " #cond), 0)) - -#define ASSERTMSGLINE(line, cond, msg) \ - ((cond) || (OSPanic(__FILE__, line, msg), 0)) - -// This is dumb but we dont have a Metrowerks way to do variadic macros in the macro to make this done in a not scrubby way. -#define ASSERTMSG1LINE(line, cond, msg, arg1) \ - ((cond) || (OSPanic(__FILE__, line, msg, arg1), 0)) - -#define ASSERTMSG2LINE(line, cond, msg, arg1, arg2) \ - ((cond) || (OSPanic(__FILE__, line, msg, arg1, arg2), 0)) - -#define ASSERTMSGLINEV(line, cond, ...) \ - ((cond) || (OSPanic(__FILE__, line, __VA_ARGS__), 0)) - -#else -#define ASSERTLINE(line, cond) (void)0 -#define ASSERTMSGLINE(line, cond, msg) (void)0 -#define ASSERTMSG1LINE(line, cond, msg, arg1) (void)0 -#define ASSERTMSG2LINE(line, cond, msg, arg1, arg2) (void)0 -#define ASSERTMSGLINEV(line, cond, ...) (void)0 -#endif +#include "dolphin/gx/GXVert.h" typedef struct GXLightObjInt { u32 padding[3]; @@ -51,137 +26,92 @@ typedef struct GXLightObjInt { #define GX_FIFO_ADDR 0xCC008000 #define GX_WRITE_U8(v) (GXWGFifo.u8 = v) -#define GX_WRITE_U16(us) (GXWGFifo.u16 = (u16)(us)) #define GX_WRITE_U32(v) (GXWGFifo.u32 = v) -#define GX_WRITE_F32(f) (GXWGFifo.f32 = (f32)(f)) -#if DEBUG -#define VERIF_XF_REG(addr, value) \ -do { \ - s32 regAddr = (addr); \ - if (regAddr >= 0 && regAddr < 0x50) { \ - __gxVerif->xfRegs[regAddr] = (value); \ - __gxVerif->xfRegsDirty[regAddr] = 1; \ - } \ -} while (0) -#define VERIF_XF_REG_alt(addr, value) \ -do { \ - s32 xfAddr = (addr); \ - if (xfAddr >= 0 && xfAddr < 0x50) { \ - __gxVerif->xfRegs[xfAddr] = (value); \ - __gxVerif->xfRegsDirty[xfAddr] = 1; \ - } \ -} while (0) -#define VERIF_RAS_REG(value) (__gxVerif->rasRegs[((value) & 0xFF000000) >> 24] = value) -#define VERIF_MTXLIGHT(addr, data) \ -do { \ - s32 xfAddr; \ - if (addr < 0x400U) { \ - __gxVerif->xfMtx[addr] = data; \ - __gxVerif->xfMtxDirty[addr] = 1; \ - } else if (addr < 0x500U) { \ - xfAddr = addr - 0x400; \ - __gxVerif->xfNrm[xfAddr] = data; \ - __gxVerif->xfNrmDirty[xfAddr] = 1; \ - } else if (addr < 0x600U) { \ - xfAddr = addr - 0x500; \ - __gxVerif->xfDMtx[xfAddr] = data; \ - __gxVerif->xfDMtxDirty[xfAddr] = 1; \ - } else if (addr < 0x680U) { \ - xfAddr = addr - 0x600; \ - __gxVerif->xfLight[xfAddr] = data; \ - __gxVerif->xfLightDirty[xfAddr] = 1; \ - } else { \ - xfAddr = addr - 0x1000; \ - if ((xfAddr >= 0) && (xfAddr < 0x50)) { \ - __gxVerif->xfRegs[xfAddr] = data; \ - __gxVerif->xfRegsDirty[xfAddr] = 1; \ - } \ - } \ -} while (0) -#else -#define VERIF_XF_REG(addr, value) ((void)0) -#define VERIF_XF_REG_alt(addr, value) ((void)0) -#define VERIF_RAS_REG(value) ((void)0) -#endif +typedef struct __GXData_struct { + u16 vNumNot; + u16 bpSentNot; + u16 vNum; + u16 vLim; + u32 cpEnable; + u32 cpStatus; + u32 cpClr; + u32 vcdLo; + u32 vcdHi; + u32 vatA[8]; + u32 vatB[8]; + u32 vatC[8]; + u32 lpSize; + u32 matIdxA; + u32 matIdxB; + u32 indexBase[4]; + u32 indexStride[4]; + u32 ambColor[2]; + u32 matColor[2]; + u32 suTs0[8]; + u32 suTs1[8]; + u32 suScis0; + u32 suScis1; + u32 tref[8]; + u32 iref; + u32 bpMask; + u32 IndTexScale0; + u32 IndTexScale1; + u32 tevc[16]; + u32 teva[16]; + u32 tevKsel[8]; + u32 cmode0; + u32 cmode1; + u32 zmode; + u32 peCtrl; + u32 cpDispSrc; + u32 cpDispSize; + u32 cpDispStride; + u32 cpDisp; + u32 cpTexSrc; + u32 cpTexSize; + u32 cpTexStride; + u32 cpTex; + GXBool cpTexZ; + u32 genMode; + GXTexRegion TexRegions[8]; + GXTexRegion TexRegionsCI[4]; + u32 nextTexRgn; + u32 nextTexRgnCI; + GXTlutRegion TlutRegions[20]; + GXTexRegion* (*texRegionCallback)(GXTexObj*, GXTexMapID); + GXTlutRegion* (*tlutRegionCallback)(u32); + GXAttrType nrmType; + GXBool hasNrms; + GXBool hasBiNrms; + u32 projType; + f32 projMtx[6]; + f32 vpLeft; + f32 vpTop; + f32 vpWd; + f32 vpHt; + f32 vpNearz; + f32 vpFarz; + u8 fgRange; + f32 fgSideX; + u32 tImage0[8]; + u32 tMode0[8]; + u32 texmapId[16]; + u32 tcsManEnab; + u32 tevTcEnab; + GXPerf0 perf0; + GXPerf1 perf1; + u32 perfSel; + GXBool inDispList; + GXBool dlSaveContext; + u8 dirtyVAT; + u32 dirtyState; +} GXData; -#define GX_WRITE_XF_REG(addr, value) \ -do { \ - GX_WRITE_U8(0x10); \ - GX_WRITE_U32(0x1000 + (addr)); \ - GX_WRITE_U32(value); \ - VERIF_XF_REG(addr, value); \ -} while (0) +extern GXData* gx; +// #define gx __GXData -#if DEBUG -#define GX_WRITE_XF_REG_2(addr, value) \ -do { \ - u32 xfData = (value); &xfData; \ - GX_WRITE_U32(value); \ - VERIF_XF_REG_alt(addr, xfData); \ -} while (0) -#define GX_WRITE_XF_REG_F(addr, value) \ -do { \ - f32 xfData = (value); \ - GX_WRITE_F32(value); \ - VERIF_XF_REG_alt(addr, *(u32 *)&xfData); \ -} while (0) -#else -#define GX_WRITE_XF_REG_2(addr, value) \ -do { \ - GX_WRITE_U32(value); \ -} while (0) -#define GX_WRITE_XF_REG_F(addr, value) \ -do { \ - GX_WRITE_F32(value); \ -} while (0) -#endif - -#define GX_WRITE_RAS_REG(value) \ -do { \ - GX_WRITE_U8(0x61); \ - GX_WRITE_U32(value); \ - VERIF_RAS_REG(value); \ -} while (0) - -#define GX_WRITE_SOME_REG2(a, b, c, addr) \ -do { \ - long regAddr; \ - GX_WRITE_U8(a); \ - GX_WRITE_U8(b); \ - GX_WRITE_U32(c); \ - regAddr = addr; \ - if (regAddr >= 0 && regAddr < 4) { \ - gx->indexBase[regAddr] = c; \ - } \ -} while (0) -#define GX_WRITE_SOME_REG3(a, b, c, addr) \ -do { \ - long regAddr; \ - GX_WRITE_U8(a); \ - GX_WRITE_U8(b); \ - GX_WRITE_U32(c); \ - regAddr = addr; \ - if (regAddr >= 0 && regAddr < 4) { \ - gx->indexStride[regAddr] = c; \ - } \ -} while (0) -#define GX_WRITE_SOME_REG4(a, b, c, addr) \ -do { \ - long regAddr; \ - GX_WRITE_U8(a); \ - GX_WRITE_U8(b); \ - GX_WRITE_U32(c); \ - regAddr = addr; \ -} while (0) - -#define GET_REG_FIELD(reg, size, shift) ((int)((reg) >> (shift)) & ((1 << (size)) - 1)) - -#define SET_REG_FIELD(line, reg, size, shift, val) \ -do { \ - ASSERTMSGLINE(line, ((u32)(val) & ~((1 << (size)) - 1)) == 0, "GX Internal: Register field out of range"); \ - (reg) = ((u32)(reg) & ~(((1 << (size)) - 1) << (shift))) | ((u32)(val) << (shift)); \ -} while (0) +void __GXInitGX(); #define GX_REG_ASSERT(c) ASSERTMSG(c, "GX Internal: Register field out of range") @@ -428,223 +358,4 @@ do { \ #define GX_VAT_REG_B_UNK_SHIFT 31 #define GX_VAT_REG_B_UNK_MASK 0x80000000 -#define GX_GET_MEM_REG(offset) (*(volatile u16*)((volatile u16*)(__memReg) + (offset))) -#define GX_GET_CP_REG(offset) (*(volatile u16*)((volatile u16*)(__cpReg) + (offset))) -#define GX_GET_PE_REG(offset) (*(volatile u16*)((volatile u16*)(__peReg) + (offset))) -#define GX_GET_PI_REG(offset) (*(volatile u32*)((volatile u32*)(__piReg) + (offset))) - -#define GX_SET_MEM_REG(offset, val) (*(volatile u16*)((volatile u16*)(__memReg) + (offset)) = val) -#define GX_SET_CP_REG(offset, val) (*(volatile u16*)((volatile u16*)(__cpReg) + (offset)) = val) -#define GX_SET_PE_REG(offset, val) (*(volatile u16*)((volatile u16*)(__peReg) + (offset)) = val) -#define GX_SET_PI_REG(offset, val) (*(volatile u32*)((volatile u32*)(__piReg) + (offset)) = val) - -#define CHECK_GXBEGIN(line, name) ASSERTMSGLINE(line, !__GXinBegin, "'" name "' is not allowed between GXBegin/GXEnd") - -/* GXAttr.c */ - -void __GXSetVCD(void); -void __GXSetVAT(void); - -/* GXBump.c */ - -void __GXUpdateBPMask(void); -void __GXFlushTextureState(void); - -/* GXFifo.c */ - -// GXFifoObj private data -struct __GXFifoObj { - u8 *base; - u8 *top; - u32 size; - u32 hiWatermark; - u32 loWatermark; - void *rdPtr; - void *wrPtr; - s32 count; - u8 bind_cpu; - u8 bind_gp; -}; - -void __GXSaveCPUFifoAux(struct __GXFifoObj *realFifo); -void __GXFifoInit(void); -void __GXInsaneWatermark(void); -void __GXCleanGPFifo(void); - -/* GXGeometry.c */ - -void __GXSetDirtyState(void); -void __GXSendFlushPrim(void); -void __GXSetGenMode(void); - -/* GXInit.c */ -void __GXInitGX(); -void __GXInitRevisionBits(void); - -typedef struct __GXData_struct { - u16 vNumNot; - u16 bpSentNot; - u16 vNum; - u16 vLim; - u32 cpEnable; - u32 cpStatus; - u32 cpClr; - u32 vcdLo; - u32 vcdHi; - u32 vatA[8]; - u32 vatB[8]; - u32 vatC[8]; - u32 lpSize; - u32 matIdxA; - u32 matIdxB; - u32 indexBase[4]; - u32 indexStride[4]; - u32 ambColor[2]; - u32 matColor[2]; - u32 suTs0[8]; - u32 suTs1[8]; - u32 suScis0; - u32 suScis1; - u32 tref[8]; - u32 iref; - u32 bpMask; - u32 IndTexScale0; - u32 IndTexScale1; - u32 tevc[16]; - u32 teva[16]; - u32 tevKsel[8]; - u32 cmode0; - u32 cmode1; - u32 zmode; - u32 peCtrl; - u32 cpDispSrc; - u32 cpDispSize; - u32 cpDispStride; - u32 cpDisp; - u32 cpTexSrc; - u32 cpTexSize; - u32 cpTexStride; - u32 cpTex; - GXBool cpTexZ; - u32 genMode; - GXTexRegion TexRegions[8]; - GXTexRegion TexRegionsCI[4]; - u32 nextTexRgn; - u32 nextTexRgnCI; - GXTlutRegion TlutRegions[20]; - GXTexRegion* (*texRegionCallback)(GXTexObj*, GXTexMapID); - GXTlutRegion* (*tlutRegionCallback)(u32); - GXAttrType nrmType; - GXBool hasNrms; - GXBool hasBiNrms; - u32 projType; - f32 projMtx[6]; - f32 vpLeft; - f32 vpTop; - f32 vpWd; - f32 vpHt; - f32 vpNearz; - f32 vpFarz; - u8 fgRange; - f32 fgSideX; - u32 tImage0[8]; - u32 tMode0[8]; - u32 texmapId[16]; - u32 tcsManEnab; - u32 tevTcEnab; - GXPerf0 perf0; - GXPerf1 perf1; - u32 perfSel; - GXBool inDispList; - GXBool dlSaveContext; - u8 dirtyVAT; - u32 dirtyState; -} GXData; - -extern GXData* gx; -extern u16 *__memReg; -extern u16 *__peReg; -extern u16 *__cpReg; -extern u32 *__piReg; -// #define gx __GXData - -/* GXMisc.c */ - -void __GXBypass(u32 reg); -u16 __GXReadPEReg(u32 reg); -void __GXPEInit(void); -void __GXAbort(); - -/* GXPerf.c */ -void __GXSetBWDials(u16 cpDial, u16 tcDial, u16 peDial, u16 cpuRdDial, u16 cpuWrDial); - -static inline u32 __GXReadCPCounterU32(u32 regAddrL, u32 regAddrH) { - u32 ctrH0; - u32 ctrH1; - u32 ctrL; - - ctrH0 = GX_GET_CP_REG(regAddrH); - - do { - ctrH1 = ctrH0; - ctrL = GX_GET_CP_REG(regAddrL); - ctrH0 = GX_GET_CP_REG(regAddrH); - } while (ctrH0 != ctrH1); - - return (ctrH0 << 0x10) | ctrL; -} - -static inline u32 __GXReadMEMCounterU32(u32 regAddrL, u32 regAddrH) { - u32 ctrH0; - u32 ctrH1; - u32 ctrL; - - ctrH0 = GX_GET_MEM_REG(regAddrH); - - do { - ctrH1 = ctrH0; - ctrL = GX_GET_MEM_REG(regAddrL); - ctrH0 = GX_GET_MEM_REG(regAddrH); - } while (ctrH0 != ctrH1); - - return (ctrH0 << 0x10) | ctrL; -} - -static inline u32 __GXReadPECounterU32(u32 regAddrL, u32 regAddrH) { - u32 ctrH0; - u32 ctrH1; - u32 ctrL; - - ctrH0 = GX_GET_PE_REG(regAddrH); - - do { - ctrH1 = ctrH0; - ctrL = GX_GET_PE_REG(regAddrL); - ctrH0 = GX_GET_PE_REG(regAddrH); - } while (ctrH0 != ctrH1); - - return (ctrH0 << 0x10) | ctrL; -} - -/* GXSave.c */ - -void __GXShadowDispList(void *list, u32 nbytes); -void __GXShadowIndexState(u32 idx_reg, u32 reg_data); -void __GXPrintShadowState(void); - -/* GXStubs.c */ - -void __GXSetRange(float nearz, float fgSideX); - -/* GXTexture.c */ - -void __GetImageTileCount(GXTexFmt fmt, u16 wd, u16 ht, u32 *rowTiles, u32 *colTiles, u32 *cmpTiles); -void __GXSetSUTexRegs(void); -void __GXGetSUTexSize(GXTexCoordID coord, u16 *width, u16 *height); -void __GXSetTmemConfig(u32 config); - -/* GXTransform.c */ - -void __GXSetMatrixIndex(GXAttr matIdxAttr); - #endif // _DOLPHIN_GXPRIV diff --git a/include/dolphin/gx/GXStruct.h b/include/dolphin/gx/GXStruct.h index 49f038bc..4df23062 100644 --- a/include/dolphin/gx/GXStruct.h +++ b/include/dolphin/gx/GXStruct.h @@ -72,26 +72,6 @@ typedef struct _GXTlutRegion { u32 dummy[4]; } GXTlutRegion; -typedef struct _GXFogAdjTable -{ - u16 r[10]; -} GXFogAdjTable; - -typedef enum _GXTlutSize -{ - GX_TLUT_16 = 1, - GX_TLUT_32 = 2, - GX_TLUT_64 = 4, - GX_TLUT_128 = 8, - GX_TLUT_256 = 16, - GX_TLUT_512 = 32, - GX_TLUT_1K = 64, - GX_TLUT_2K = 128, - GX_TLUT_4K = 256, - GX_TLUT_8K = 512, - GX_TLUT_16K = 1024 -} GXTlutSize; - typedef struct _GXVtxAttrFmtList { // total size: 0x10 GXAttr attr; // offset 0x0, size 0x4 diff --git a/include/dolphin/gx/GXTexture.h b/include/dolphin/gx/GXTexture.h index 0b569528..a30b7430 100644 --- a/include/dolphin/gx/GXTexture.h +++ b/include/dolphin/gx/GXTexture.h @@ -8,35 +8,29 @@ extern "C" { #endif -typedef GXTexRegion *(*GXTexRegionCallback)(GXTexObj *t_obj, GXTexMapID id); -typedef GXTlutRegion *(*GXTlutRegionCallback)(u32 idx); +typedef GXTexRegion* (*GXTexRegionCallback)(const GXTexObj* obj, GXTexMapID id); -u32 GXGetTexBufferSize(u16 width, u16 height, u32 format, u8 mipmap, u8 max_lod); -void GXInitTexObj(GXTexObj *obj, void *image_ptr, u16 width, u16 height, GXTexFmt format, GXTexWrapMode wrap_s, GXTexWrapMode wrap_t, u8 mipmap); -void GXInitTexObjCI(GXTexObj *obj, void *image_ptr, u16 width, u16 height, GXCITexFmt format, GXTexWrapMode wrap_s, GXTexWrapMode wrap_t, u8 mipmap, u32 tlut_name); -void GXInitTexObjLOD(GXTexObj *obj, GXTexFilter min_filt, GXTexFilter mag_filt, - f32 min_lod, f32 max_lod, f32 lod_bias, GXBool bias_clamp, - GXBool do_edge_lod, GXAnisotropy max_aniso); -void GXInitTexObjData(GXTexObj *obj, void *image_ptr); -void GXInitTexObjWrapMode(GXTexObj *obj, GXTexWrapMode s, GXTexWrapMode t); -void GXInitTexObjTlut(GXTexObj *obj, u32 tlut_name); -void GXInitTexObjUserData(GXTexObj *obj, void *user_data); -void *GXGetTexObjUserData(const GXTexObj *obj); -void GXLoadTexObjPreLoaded(GXTexObj *obj, GXTexRegion *region, GXTexMapID id); -void GXLoadTexObj(GXTexObj *obj, GXTexMapID id); -void GXInitTlutObj(GXTlutObj *tlut_obj, void *lut, GXTlutFmt fmt, u16 n_entries); -void GXLoadTlut(GXTlutObj *tlut_obj, u32 tlut_name); -void GXInitTexCacheRegion(GXTexRegion *region, u8 is_32b_mipmap, u32 tmem_even, GXTexCacheSize size_even, u32 tmem_odd, GXTexCacheSize size_odd); -void GXInitTexPreLoadRegion(GXTexRegion *region, u32 tmem_even, u32 size_even, u32 tmem_odd, u32 size_odd); -void GXInitTlutRegion(GXTlutRegion *region, u32 tmem_addr, GXTlutSize tlut_size); -void GXInvalidateTexRegion(GXTexRegion *region); -void GXInvalidateTexAll(void); -GXTexRegionCallback GXSetTexRegionCallback(GXTexRegionCallback f); -GXTlutRegionCallback GXSetTlutRegionCallback(GXTlutRegionCallback f); -void GXPreLoadEntireTexture(GXTexObj *tex_obj, GXTexRegion *region); -void GXSetTexCoordScaleManually(GXTexCoordID coord, u8 enable, u16 ss, u16 ts); -void GXSetTexCoordCylWrap(GXTexCoordID coord, u8 s_enable, u8 t_enable); -void GXSetTexCoordBias(GXTexCoordID coord, u8 s_enable, u8 t_enable); +void GXInitTexObj(GXTexObj* obj, const void* data, u16 width, u16 height, u32 format, + GXTexWrapMode wrapS, GXTexWrapMode wrapT, GXBool mipmap); +void GXInitTexObjCI(GXTexObj* obj, const void* data, u16 width, u16 height, GXCITexFmt format, + GXTexWrapMode wrapS, GXTexWrapMode wrapT, GXBool mipmap, u32 tlut); +void GXInitTexObjData(GXTexObj* obj, const void* data); +void GXInitTexObjLOD(GXTexObj* obj, GXTexFilter min_filt, GXTexFilter mag_filt, f32 min_lod, + f32 max_lod, f32 lod_bias, GXBool bias_clamp, GXBool do_edge_lod, + GXAnisotropy max_aniso); +void GXLoadTexObj(GXTexObj* obj, GXTexMapID id); +u32 GXGetTexBufferSize(u16 width, u16 height, u32 format, GXBool mipmap, u8 max_lod); +void GXInvalidateTexAll(); +void GXInitTexObjWrapMode(GXTexObj* obj, GXTexWrapMode s, GXTexWrapMode t); +void GXInitTlutObj(GXTlutObj* obj, void* data, GXTlutFmt format, u16 entries); +void GXLoadTlut(const GXTlutObj* obj, GXTlut idx); +void GXSetTexCoordScaleManually(GXTexCoordID coord, GXBool enable, u16 ss, u16 ts); +void GXInitTexCacheRegion(GXTexRegion* region, GXBool is_32b_mipmap, u32 tmem_even, + GXTexCacheSize size_even, u32 tmem_odd, GXTexCacheSize size_odd); +GXTexRegionCallback GXSetTexRegionCallback(GXTexRegionCallback callback); +void GXInvalidateTexRegion(const GXTexRegion* region); + +void GXSetTexCoordScaleManually(GXTexCoordID coord, GXBool enable, u16 ss, u16 ts); #ifdef __cplusplus } #endif diff --git a/include/dolphin/gx/GXTransform.h b/include/dolphin/gx/GXTransform.h index 70aa877c..bc3bf107 100644 --- a/include/dolphin/gx/GXTransform.h +++ b/include/dolphin/gx/GXTransform.h @@ -20,8 +20,6 @@ void GXLoadPosMtxImm(f32 mtx[3][4], u32 id); void GXLoadNrmMtxImm(f32 mtx[3][4], u32 id); void GXLoadTexMtxImm(f32 mtx[][4], u32 id, GXTexMtxType type); #endif -void GXProject(f32 x, f32 y, f32 z, const f32 mtx[3][4], const f32 *pm, const f32 *vp, f32 *sx, f32 *sy, f32 *sz); -void GXGetViewportv(f32 *vp); void GXSetViewport(f32 left, f32 top, f32 wd, f32 ht, f32 nearz, f32 farz); void GXSetCurrentMtx(u32 id); void GXSetViewportJitter(f32 left, f32 top, f32 wd, f32 ht, f32 nearz, f32 farz, u32 field); diff --git a/include/dolphin/gx/GXVerify.h b/include/dolphin/gx/GXVerify.h index f43dee45..a4e40cfb 100644 --- a/include/dolphin/gx/GXVerify.h +++ b/include/dolphin/gx/GXVerify.h @@ -7,7 +7,7 @@ typedef enum { GX_WARN_NONE, GX_WARN_SEVERE, GX_WARN_MEDIUM, - GX_WARN_ALL + GX_WARN_ALL, } GXWarningLevel; #ifdef _DEBUG diff --git a/include/dolphin/gx/GXVert.h b/include/dolphin/gx/GXVert.h index d57943b3..34745aaa 100644 --- a/include/dolphin/gx/GXVert.h +++ b/include/dolphin/gx/GXVert.h @@ -114,12 +114,6 @@ static inline void GXPosition3f32(const f32 x, const f32 y, const f32 z) { GXWGFifo.f32 = z; } -static inline void GXNormal3s16(const s16 x, const s16 y, const s16 z) { - GXWGFifo.s16 = x; - GXWGFifo.s16 = y; - GXWGFifo.s16 = z; -} - static inline void GXNormal3f32(const f32 x, const f32 y, const f32 z) { GXWGFifo.f32 = x; GXWGFifo.f32 = y; diff --git a/include/dolphin/math.h b/include/dolphin/math.h deleted file mode 100644 index 483d8081..00000000 --- a/include/dolphin/math.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef _DOLPHIN_MATH -#define _DOLPHIN_MATH - -// this file is necessary to match mtx/quat.c - -#define M_PI 3.141592653589793 - -#ifndef _MATH_INLINE -#define _MATH_INLINE static inline -#endif - -extern int __float_nan[]; -extern int __float_huge[]; -extern int __double_huge[]; - -#define INFINITY (*(float *)__float_huge) -#define NAN (*(float *)__float_nan) -#define HUGE_VAL (*(double *)__double_huge) - -#ifdef __MWERKS__ -extern inline double sqrt(double x) -{ - if (x > 0.0) { - double guess = __frsqrte(x); /* returns an approximation to */ - guess = .5 * guess * (3.0 - guess * guess * x); /* now have 8 sig bits */ - guess = .5 * guess * (3.0 - guess * guess * x); /* now have 16 sig bits */ - guess = .5 * guess * (3.0 - guess * guess * x); /* now have 32 sig bits */ - guess = .5 * guess * (3.0 - guess * guess * x); /* now have > 53 sig bits */ - return x * guess; - } - else if (x == 0) - return 0; - else if (x) - return NAN; - - return INFINITY; -} - -extern inline float sqrtf(float x) -{ - const double _half = .5; - const double _three = 3.0; - volatile float y; - if (x > 0.0f) { - double guess = __frsqrte((double)x); // returns an approximation to - guess = _half * guess * (_three - guess * guess * x); // now have 12 sig bits - guess = _half * guess * (_three - guess * guess * x); // now have 24 sig bits - guess = _half * guess * (_three - guess * guess * x); // now have 32 sig bits - y = (float)(x * guess); - return y; - } - return x; -} -#else -double sqrt(double x); -float sqrtf(float x); -#endif - -double atan(double x); -double copysign(double x, double y); -double cos(double x); -double floor(double x); -double frexp(double x, int *exp); -double ldexp(double x, int exp); -double modf(double x, double *intpart); -double sin(double x); -double tan(double x); -double acos(double x); -double asin(double x); -double atan2(double y, double x); -double fmod(double x, double y); -double log(double x); -double pow(double x, double y); -float tanf(float x); - -#ifdef __MWERKS__ -extern inline double fabs(double x) -{ - return __fabs(x); -} -#else -double fabs(double x); -#endif - -#endif diff --git a/include/dolphin/mtx.h b/include/dolphin/mtx.h index 49dc1b7e..fd975968 100644 --- a/include/dolphin/mtx.h +++ b/include/dolphin/mtx.h @@ -31,7 +31,7 @@ typedef struct { } MtxStack, *MtxStackPtr; -#define MTXDegToRad(a) ((a)*0.017453292f) +#define MTXDegToRad(a) ((a)*0.01745329252f) #define MTXRadToDeg(a) ((a)*57.29577951f) #define MTXRowCol(m, r, c) ((m)[(r)][(c)]) @@ -118,7 +118,7 @@ void PSMTXScaleApply(const Mtx src, Mtx dst, f32 xS, f32 yS, f32 zS); void PSMTXRotRad(Mtx m, char axis, f32 rad); void PSMTXRotTrig(Mtx m, char axis, f32 sinA, f32 cosA); -void PSMTXRotAxisRad(register Mtx m, const Vec* axis, register f32 rad); +void PSMTXRotAxisRad(Mtx m, const Vec* axis, f32 rad); #endif #ifdef MTX_USE_PS diff --git a/include/dolphin/os.h b/include/dolphin/os.h index d255bb04..d231c662 100644 --- a/include/dolphin/os.h +++ b/include/dolphin/os.h @@ -19,30 +19,30 @@ extern "C" { #ifdef __MWERKS__ #define AT_ADDRESS(xyz) : (xyz) #else -#define AT_ADDRESS(xyz) +#define AT_ADDRESS #endif typedef s64 OSTime; typedef u32 OSTick; -u32 __OSBusClock AT_ADDRESS(OS_BASE_CACHED | 0x00F8); // sync with OSLoMem.h +u32 __OSBusClock AT_ADDRESS(OS_BASE_CACHED | 0x00F8); // sync with OSLoMem.h u32 __OSCoreClock AT_ADDRESS(OS_BASE_CACHED | 0x00FC); // sync with OSLoMem.h -#define OS_BUS_CLOCK (u32) __OSBusClock +#define OS_BUS_CLOCK (u32)__OSBusClock #define OS_CORE_CLOCK __OSCoreClock #define OS_TIMER_CLOCK (OS_BUS_CLOCK / 4) #ifndef _DEBUG -#define OSPhysicalToCached(paddr) ((void *)((u32)(paddr) + OS_BASE_CACHED)) -#define OSPhysicalToUncached(paddr) ((void *)((u32)(paddr) + OS_BASE_UNCACHED)) -#define OSCachedToPhysical(caddr) ((u32)((u8 *)(caddr)-OS_BASE_CACHED)) -#define OSUncachedToPhysical(ucaddr) ((u32)((u8 *)(ucaddr)-OS_BASE_UNCACHED)) -#define OSCachedToUncached(caddr) ((void *)((u8 *)(caddr) + (OS_BASE_UNCACHED - OS_BASE_CACHED))) -#define OSUncachedToCached(ucaddr) ((void *)((u8 *)(ucaddr) - (OS_BASE_UNCACHED - OS_BASE_CACHED))) +#define OSPhysicalToCached(paddr) ((void*)((u32)(paddr) + OS_BASE_CACHED)) +#define OSPhysicalToUncached(paddr) ((void*)((u32)(paddr) + OS_BASE_UNCACHED)) +#define OSCachedToPhysical(caddr) ((u32)((u8*)(caddr)-OS_BASE_CACHED)) +#define OSUncachedToPhysical(ucaddr) ((u32)((u8*)(ucaddr)-OS_BASE_UNCACHED)) +#define OSCachedToUncached(caddr) ((void*)((u8*)(caddr) + (OS_BASE_UNCACHED - OS_BASE_CACHED))) +#define OSUncachedToCached(ucaddr) ((void*)((u8*)(ucaddr) - (OS_BASE_UNCACHED - OS_BASE_CACHED))) #else -u32 OSPhysicalToCached(void *paddr); -u32 OSPhysicalToUncached(void *paddr); -u32 OSCachedToPhysical(void *caddr); -u32 OSUncachedToPhysical(void *ucaddr); -u32 OSCachedToUncached(void *caddr); -u32 OSUncachedToCached(void *ucaddr); +u32 OSPhysicalToCached(void* paddr); +u32 OSPhysicalToUncached(void* paddr); +u32 OSCachedToPhysical(void* caddr); +u32 OSUncachedToPhysical(void* ucaddr); +u32 OSCachedToUncached(void* caddr); +u32 OSUncachedToCached(void* ucaddr); #endif #define OSTicksToCycles(ticks) (((ticks) * ((OS_CORE_CLOCK * 2) / OS_TIMER_CLOCK)) / 2) @@ -50,21 +50,23 @@ u32 OSUncachedToCached(void *ucaddr); #define OSTicksToMilliseconds(ticks) ((ticks) / (OS_TIMER_CLOCK / 1000)) #define OSTicksToMicroseconds(ticks) (((ticks)*8) / (OS_TIMER_CLOCK / 125000)) #define OSTicksToNanoseconds(ticks) (((ticks)*8000) / (OS_TIMER_CLOCK / 125000)) -#define OSSecondsToTicks(sec) ((sec)*OS_TIMER_CLOCK) +#define OSSecondsToTicks(sec) ((sec)*OS_TIMER_CLOCK) #define OSMillisecondsToTicks(msec) ((msec) * (OS_TIMER_CLOCK / 1000)) #define OSMicrosecondsToTicks(usec) (((usec) * (OS_TIMER_CLOCK / 125000)) / 8) #define OSNanosecondsToTicks(nsec) (((nsec) * (OS_TIMER_CLOCK / 125000)) / 8000) #define OSDiffTick(tick1, tick0) ((s32)(tick1) - (s32)(tick0)) -#define OSRoundUp32B(x) (((u32)(x) + 0x1F) & ~(0x1F)) -#define OSRoundDown32B(x) (((u32)(x)) & ~(0x1F)) +#define OSRoundUp32B(v) (((u32)(v + 31) & ~31)) +#define OSRoundDown32B(x) (((u32)(x)) & ~31) -#define OSRoundUp(x, align) (((x) + (align)-1) & (-(align))) -#define OSRoundUpPtr(x, align) ((void*)((((u32)(x)) + (align)-1) & (~((align)-1)))) +void* OSGetArenaHi(void); +void* OSGetArenaLo(void); +void OSSetArenaHi(void* newHi); +void OSSetArenaLo(void* newLo); -#define OSRoundDown(x, align) ((x) & (-(align))) -#define OSRoundDownPtr(x, align) ((void*)(((u32)(x)) & (~((align)-1)))) +void* OSAllocFromArenaLo(u32 size, u32 align); +void* OSAllocFromArenaHi(u32 size, u32 align); void OSInit(); @@ -72,38 +74,38 @@ OSTime OSGetTime(); OSTick OSGetTick(); typedef struct OSCalendarTime { - int sec; // seconds after the minute [0, 61] - int min; // minutes after the hour [0, 59] - int hour; // hours since midnight [0, 23] - int mday; // day of the month [1, 31] - int mon; // month since January [0, 11] - int year; // years in AD [1, ...] - int wday; // days since Sunday [0, 6] - int yday; // days since January 1 [0, 365] + int sec; // seconds after the minute [0, 61] + int min; // minutes after the hour [0, 59] + int hour; // hours since midnight [0, 23] + int mday; // day of the month [1, 31] + int mon; // month since January [0, 11] + int year; // years in AD [1, ...] + int wday; // days since Sunday [0, 6] + int yday; // days since January 1 [0, 365] - int msec; // milliseconds after the second [0,999] - int usec; // microseconds after the millisecond [0,999] + int msec; // milliseconds after the second [0,999] + int usec; // microseconds after the millisecond [0,999] } OSCalendarTime; -OSTime OSCalendarTimeToTicks(OSCalendarTime *td); -void OSTicksToCalendarTime(OSTime ticks, OSCalendarTime *td); +OSTime OSCalendarTimeToTicks(OSCalendarTime* td); +void OSTicksToCalendarTime(OSTime ticks, OSCalendarTime* td); typedef struct OSStopwatch { - char *name; - OSTime total; - u32 hits; - OSTime min; - OSTime max; - OSTime last; - BOOL running; + char* name; + OSTime total; + u32 hits; + OSTime min; + OSTime max; + OSTime last; + BOOL running; } OSStopwatch; -void OSInitStopwatch(OSStopwatch *sw, char *name); -void OSStartStopwatch(OSStopwatch *sw); -void OSStopStopwatch(OSStopwatch *sw); -OSTime OSCheckStopwatch(OSStopwatch *sw); -void OSResetStopwatch(OSStopwatch *sw); -void OSDumpStopwatch(OSStopwatch *sw); +void OSInitStopwatch(OSStopwatch* sw, char* name); +void OSStartStopwatch(OSStopwatch* sw); +void OSStopStopwatch(OSStopwatch* sw); +OSTime OSCheckStopwatch(OSStopwatch* sw); +void OSResetStopwatch(OSStopwatch* sw); +void OSDumpStopwatch(OSStopwatch* sw); #define OS_CONSOLE_MASK 0xf0000000 #define OS_CONSOLE_RETAIL 0x00000000 @@ -157,7 +159,7 @@ void OSSetLanguage(u8 language); u32 OSGetEuRgb60Mode(void); void OSSetEuRgb60Mode(u32 on); -void OSRegisterVersion(const char *id); +void OSRegisterVersion(const char* id); BOOL OSDisableInterrupts(void); BOOL OSEnableInterrupts(void); @@ -172,7 +174,8 @@ BOOL OSRestoreInterrupts(BOOL level); #endif #ifndef ASSERTMSG -#if defined(__STDC_VERSION__) && (199901L <= __STDC_VERSION__) || defined(__MWERKS__) || defined(__SN__) +#if defined(__STDC_VERSION__) && (199901L <= __STDC_VERSION__) || defined(__MWERKS__) || \ + defined(__SN__) #define ASSERTMSG(exp, ...) (void)((exp) || (OSPanic(__FILE__, __LINE__, __VA_ARGS__), 0)) #else #define ASSERTMSG(exp, msg) (void)((exp) || (OSPanic(__FILE__, __LINE__, (msg)), 0)) @@ -180,20 +183,23 @@ BOOL OSRestoreInterrupts(BOOL level); #endif #ifndef ASSERTMSG1 -#define ASSERTMSG1(exp, msg, param1) (void)((exp) || (OSPanic(__FILE__, __LINE__, (msg), (param1)), 0)) +#define ASSERTMSG1(exp, msg, param1) \ + (void)((exp) || (OSPanic(__FILE__, __LINE__, (msg), (param1)), 0)) #endif #ifndef ASSERTMSG2 -#define ASSERTMSG2(exp, msg, param1, param2) (void)((exp) || (OSPanic(__FILE__, __LINE__, (msg), (param1), (param2)), 0)) +#define ASSERTMSG2(exp, msg, param1, param2) \ + (void)((exp) || (OSPanic(__FILE__, __LINE__, (msg), (param1), (param2)), 0)) #endif #ifndef ASSERTMSG3 -#define ASSERTMSG3(exp, msg, param1, param2, param3) (void)((exp) || (OSPanic(__FILE__, __LINE__, (msg), (param1), (param2), (param3)), 0)) +#define ASSERTMSG3(exp, msg, param1, param2, param3) \ + (void)((exp) || (OSPanic(__FILE__, __LINE__, (msg), (param1), (param2), (param3)), 0)) #endif #ifndef ASSERTMSG4 -#define ASSERTMSG4(exp, msg, param1, param2, param3, param4) \ - (void)((exp) || (OSPanic(__FILE__, __LINE__, (msg), (param1), (param2), (param3), (param4)), 0)) +#define ASSERTMSG4(exp, msg, param1, param2, param3, param4) \ + (void)((exp) || (OSPanic(__FILE__, __LINE__, (msg), (param1), (param2), (param3), (param4)), 0)) #endif #else // _DEBUG @@ -203,7 +209,8 @@ BOOL OSRestoreInterrupts(BOOL level); #endif #ifndef ASSERTMSG -#if defined(__STDC_VERSION__) && (199901L <= __STDC_VERSION__) || defined(__MWERKS__) || defined(__SN__) +#if defined(__STDC_VERSION__) && (199901L <= __STDC_VERSION__) || defined(__MWERKS__) || \ + defined(__SN__) #define ASSERTMSG(exp, ...) ((void)0) #else #define ASSERTMSG(exp, msg) ((void)0) @@ -225,9 +232,9 @@ BOOL OSRestoreInterrupts(BOOL level); #endif // _DEBUG -void OSReport(const char *msg, ...); -void OSPanic(const char *file, int line, const char *msg, ...); -void OSFatal(GXColor fg, GXColor bg, const char *msg); +void OSReport(const char* msg, ...); +void OSPanic(const char* file, int line, const char* msg, ...); +void OSFatal(GXColor fg, GXColor bg, const char* msg); u32 OSGetPhysicalMemSize(void); u32 OSGetConsoleSimulatedMemSize(void); @@ -246,7 +253,6 @@ u32 OSGetConsoleSimulatedMemSize(void); #include #include #include -#include #include #include #include diff --git a/include/dolphin/os/OSAlarm.h b/include/dolphin/os/OSAlarm.h index 497b4a44..a0c9d380 100644 --- a/include/dolphin/os/OSAlarm.h +++ b/include/dolphin/os/OSAlarm.h @@ -1,7 +1,6 @@ #ifndef _DOLPHIN_OSALARM #define _DOLPHIN_OSALARM -#include #include #include diff --git a/include/dolphin/os/OSAlloc.h b/include/dolphin/os/OSAlloc.h index 686dae2b..bbd90491 100644 --- a/include/dolphin/os/OSAlloc.h +++ b/include/dolphin/os/OSAlloc.h @@ -7,18 +7,19 @@ extern "C" { #endif typedef int OSHeapHandle; -typedef void (*OSAllocVisitor)(void *obj, u32 size); -void *OSInitAlloc(void *arenaStart, void *arenaEnd, int maxHeaps); -OSHeapHandle OSCreateHeap(void *start, void *end); +typedef void (*OSAllocVisitor)(void* obj, u32 size); +void* OSInitAlloc(void* arenaStart, void* arenaEnd, int maxHeaps); +OSHeapHandle OSCreateHeap(void* start, void* end); void OSDestroyHeap(OSHeapHandle heap); -void OSAddToHeap(OSHeapHandle heap, void *start, void *end); +void OSAddToHeap(OSHeapHandle heap, void* start, void* end); OSHeapHandle OSSetCurrentHeap(OSHeapHandle heap); -void *OSAllocFromHeap(OSHeapHandle heap, u32 size); -void *OSAllocFixed(void **rstart, void **rend); -void OSFreeToHeap(OSHeapHandle heap, void *ptr); +void* OSAllocFromHeap(OSHeapHandle heap, u32 size); +void* OSAllocFixed(void** rstart, void** rend); +void OSFreeToHeap(OSHeapHandle heap, void* ptr); long OSCheckHeap(OSHeapHandle heap); void OSDumpHeap(OSHeapHandle heap); -u32 OSReferentSize(void *ptr); +void *OSAllocFixed(void **rstart, void **rend); +u32 OSReferentSize(void* ptr); void OSVisitAllocated(OSAllocVisitor visitor); extern volatile OSHeapHandle __OSCurrHeap; #define OSAlloc(size) OSAllocFromHeap(__OSCurrHeap, (size)) diff --git a/include/dolphin/os/OSBootInfo.h b/include/dolphin/os/OSBootInfo.h index 2ed59d35..a78d135f 100644 --- a/include/dolphin/os/OSBootInfo.h +++ b/include/dolphin/os/OSBootInfo.h @@ -4,7 +4,7 @@ #include "dolphin/DVDPriv.h" #include "dolphin/types.h" -typedef struct OSBootInfo_s { +typedef struct OSBootInfo { DVDDiskID DVDDiskID; u32 magic; u32 version; @@ -45,6 +45,6 @@ typedef struct BI2Debug { #define OS_DVD_MAGIC_NINTENDO 0xC2339F3D #define OS_THREAD_STACK_MAGIC 0xDEADBABE -#define OS_BOOTROM_ADDR ((void*)0x81300000) +#define OS_BOOTROM_ADDR 0x81300000 #endif // _DOLPHIN_OSBOOTINFO diff --git a/include/dolphin/os/OSContext.h b/include/dolphin/os/OSContext.h index b363a214..bbd0aaa1 100644 --- a/include/dolphin/os/OSContext.h +++ b/include/dolphin/os/OSContext.h @@ -158,16 +158,10 @@ typedef struct OSContext { } OSContext; -u32 OSGetStackPointer(void); -void OSDumpContext(OSContext *context); u32 OSSaveContext(OSContext* context); -void OSLoadContext(OSContext* context); void OSClearContext(OSContext* context); OSContext* OSGetCurrentContext(); void OSSetCurrentContext(OSContext* context); -void OSSaveFPUContext(OSContext *fpuContext); -void OSInitContext(OSContext *context, u32 pc, u32 newsp); - #ifdef __cplusplus } diff --git a/include/dolphin/os/OSFont.h b/include/dolphin/os/OSFont.h index 54cfec1b..99238bad 100644 --- a/include/dolphin/os/OSFont.h +++ b/include/dolphin/os/OSFont.h @@ -9,44 +9,17 @@ extern "C" { #define OS_FONT_ENCODE_ANSI 0u #define OS_FONT_ENCODE_SJIS 1u -#define OS_FONT_SIZE_ANSI (288 + 131072) // 9 sheets -#define OS_FONT_SIZE_SJIS (3840 + 1179648) // 1 sheet -#define OS_FONT_ROM_SIZE_ANSI 0x03000 -#define OS_FONT_ROM_SIZE_SJIS 0x4D000 +#define OS_FONT_ENCODE_UTF8 3u // UTF-8 [RFC 3629] +#define OS_FONT_ENCODE_UTF16 4u // UTF-16BE [RFC 2781] +#define OS_FONT_ENCODE_UTF32 5u // UTF-32 +#define OS_FONT_ENCODE_MAX 5u +#define OS_FONT_ENCODE_VOID 0xffffu -typedef struct OSFontHeader -{ - /*0x00*/ u16 fontType; - u16 firstChar; - u16 lastChar; - u16 invalChar; - /*0x08*/ u16 ascent; - u16 descent; - u16 width; - u16 leading; - /*0x10*/ u16 cellWidth; - u16 cellHeight; - /*0x14*/ u32 sheetSize; - /*0x18*/ u16 sheetFormat; - u16 sheetColumn; - u16 sheetRow; - u16 sheetWidth; - /*0x20*/ u16 sheetHeight; - u16 widthTable; - u32 sheetImage; - u32 sheetFullSize; - u8 c0; - u8 c1; - u8 c2; - u8 c3; -} OSFontHeader; +#define OS_FONT_PROPORTIONAL FALSE +#define OS_FONT_FIXED TRUE u16 OSGetFontEncode(void); -BOOL OSInitFont(OSFontHeader *fontData); -u32 OSLoadFont(OSFontHeader *fontData, void *temp); -char *OSGetFontTexture(char *string, void **image, s32 *x, s32 *y, s32 *width); -char *OSGetFontWidth(char *string, s32 *width); -char *OSGetFontTexel(char *string, void *image, s32 pos, s32 stride, s32 *width); +u16 OSSetFontEncode(u16 encode); #ifdef __cplusplus } diff --git a/include/dolphin/os/OSIC.h b/include/dolphin/os/OSIC.h deleted file mode 100644 index 017d5a58..00000000 --- a/include/dolphin/os/OSIC.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef _DOLPHIN_OSIC -#define _DOLPHIN_OSIC - -#ifdef __cplusplus -extern "C" { -#endif - -void ICFlashInvalidate(void); -void ICEnable(void); -void ICDisable(void); -void ICFreeze(void); -void ICUnfreeze(void); -void ICBlockInvalidate(void *addr); -void ICSync(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/include/dolphin/os/OSModule.h b/include/dolphin/os/OSModule.h index e8cbe25b..7baf2a9f 100644 --- a/include/dolphin/os/OSModule.h +++ b/include/dolphin/os/OSModule.h @@ -105,8 +105,8 @@ BOOL OSUnlink(OSModuleInfo* oldModule); OSModuleInfo* OSSearchModule(void* ptr, u32* section, u32* offset); // debugger notification -void OSNotifyLink(void); -void OSNotifyUnlink(void); +void OSNotifyLink(OSModuleInfo* module); +void OSNotifyUnlink(OSModuleInfo* module); #ifdef __cplusplus } diff --git a/include/dolphin/os/OSPriv.h b/include/dolphin/os/OSPriv.h index 6d24df24..8b914f25 100644 --- a/include/dolphin/os/OSPriv.h +++ b/include/dolphin/os/OSPriv.h @@ -7,45 +7,10 @@ extern "C" { #endif -#define OFFSET(addr, align) (((u32)(addr) & ((align)-1))) - -// OSAudioSystem.c -void __OSInitAudioSystem(void); -void __OSStopAudioSystem(void); - -// OSCache.c -void __OSCacheInit(void); - -// OSContext.c -void __OSContextInit(void); - -// OSMutex.c -void __OSUnlockAllMutex(struct OSThread *thread); - -// OSInterrupt.c -extern void __RAS_OSDisableInterrupts_begin(void); -extern void __RAS_OSDisableInterrupts_end(void); -void __OSInterruptInit(void); -void __OSModuleInit(void); - -void __OSInitSystemCall(void); - -// OSThread.c -void __OSThreadInit(void); -void __OSReschedule(void); - -typedef void (*OSExceptionHandler)(__OSException, OSContext*); -OSExceptionHandler __OSSetExceptionHandler(__OSException exception, OSExceptionHandler handler); __OSExceptionHandler __OSGetExceptionHandler(__OSException exception); OSTime __OSGetSystemTime(); OSTime __OSTimeToSystemTime(OSTime); -// OSReset.c -void __OSDoHotReset(s32); - -// OSReboot -void __OSReboot(u32 resetCode, u32 bootDol); - #ifdef __cplusplus } #endif diff --git a/include/dolphin/os/OSReset.h b/include/dolphin/os/OSReset.h index ae0e77e3..d420a6f8 100644 --- a/include/dolphin/os/OSReset.h +++ b/include/dolphin/os/OSReset.h @@ -39,7 +39,6 @@ struct OSResetFunctionInfo { OSResetFunctionInfo* prev; }; -void OSRegisterResetFunction(OSResetFunctionInfo *info); u32 OSGetResetCode(void); #ifdef __cplusplus diff --git a/include/dolphin/thp/THPPlayer.h b/include/dolphin/thp/THPPlayer.h index eb6fff62..8cd1e6ca 100644 --- a/include/dolphin/thp/THPPlayer.h +++ b/include/dolphin/thp/THPPlayer.h @@ -2,12 +2,11 @@ #define _THP_THPPLAYER_H #include "types.h" -#include -#include "dolphin/os.h" -#include "dolphin/gx.h" -#include "dolphin/thp/THPBuffer.h" -#include "dolphin/thp/THPFile.h" -#include "dolphin/thp/THPInfo.h" +#include "Dolphin/os.h" +#include "Dolphin/gx.h" +#include "THP/THPBuffer.h" +#include "THP/THPFile.h" +#include "THP/THPInfo.h" #ifdef __cplusplus extern "C" { diff --git a/include/dolphin/vitypes.h b/include/dolphin/vitypes.h index be262ea3..db958702 100644 --- a/include/dolphin/vitypes.h +++ b/include/dolphin/vitypes.h @@ -50,12 +50,12 @@ typedef enum { // GCA VI_TVMODE_GCA_INT = VI_TVMODE(VI_GCA, VI_INTERLACE), VI_TVMODE_GCA_DS = VI_TVMODE(VI_GCA, VI_NON_INTERLACE), - VI_TVMODE_GCA_PROG = VI_TVMODE(VI_GCA, VI_PROGRESSIVE) + VI_TVMODE_GCA_PROG = VI_TVMODE(VI_GCA, VI_PROGRESSIVE), } VITVMode; typedef enum { VI_XFBMODE_SF = 0, - VI_XFBMODE_DF = 1 + VI_XFBMODE_DF = 1, } VIXFBMode; typedef void (*VIPositionCallback)(s16 x, s16 y); diff --git a/include/ext_math.h b/include/ext_math.h index e979909d..4651c2c4 100644 --- a/include/ext_math.h +++ b/include/ext_math.h @@ -19,7 +19,6 @@ typedef struct vec2f { #define VECDistanceZY(a, b) sqrtf((((a)->z-(b)->z)*((a)->z-(b)->z))+(((a)->y-(b)->y)*((a)->y-(b)->y))) #define VECSumXZ(a, b) sqrtf((((a)->x+(b)->x)*((a)->x+(b)->x))+(((a)->z+(b)->z)*((a)->z+(b)->z))) -#define VECMagXYZ(a) sqrtf(((a)->x*(a)->x)+((a)->y*(a)->y)+((a)->z*(a)->z)) #define VECMagXZ(a) sqrtf(((a)->x*(a)->x)+((a)->z*(a)->z)) #define VECMagXY(a) sqrtf(((a)->x*(a)->x)+((a)->y*(a)->y)) @@ -29,11 +28,6 @@ typedef struct vec2f { #define sind(x) sin(M_PI*(x)/180.0) #define cosd(x) cos(M_PI*(x)/180.0) -#define asind(x) (180.0*(asinf((x)) / M_PI)) #define atan2d(y, x) (180.0*(atan2((y), (x)) / M_PI)) -#ifndef __MWERKS__ -void HuSetVecF(Vec* arg0, f32 arg8, f32 arg9, f32 argA) -#endif - #endif diff --git a/include/game/animdata.h b/include/game/animdata.h index 63876d94..88b42cc4 100644 --- a/include/game/animdata.h +++ b/include/game/animdata.h @@ -71,13 +71,13 @@ typedef struct anim_bmp_data { } AnimBmpData; typedef struct anim_data { -/* 0x00 */ s16 bankNum; -/* 0x02 */ s16 patNum; -/* 0x04 */ s16 bmpNum; -/* 0x06 */ s16 useNum; -/* 0x08 */ AnimBankData *bank; -/* 0x0C */ AnimPatData *pat; -/* 0x10 */ AnimBmpData *bmp; -} AnimData; //sizeof 0x14 + s16 bankNum; + s16 patNum; + s16 bmpNum; + s16 useNum; + AnimBankData *bank; + AnimPatData *pat; + AnimBmpData *bmp; +} AnimData; -#endif +#endif \ No newline at end of file diff --git a/include/game/audio.h b/include/game/audio.h index 3846ea73..ef1ca3a9 100644 --- a/include/game/audio.h +++ b/include/game/audio.h @@ -3,68 +3,67 @@ #include "dolphin.h" -typedef struct sndGrpTbl_s { - s16 ovl; - s16 grpSet; - s32 auxANo; - s32 auxBNo; - s8 auxAVol; - s8 auxBVol; -} SNDGRPTBL; - +typedef struct hu_snd_grp_data { + /* 0x00 */ s16 ovl; + /* 0x02 */ s16 grpset; + /* 0x04 */ s32 auxANo; + /* 0x08 */ s32 auxBNo; + /* 0x0C */ s8 auxAVol; + /* 0x0D */ s8 auxBVol; +} HuSndGrpData; void HuAudInit(void); -s32 HuAudStreamPlay(char *name, BOOL flag); +s32 HuAudStreamPlay(char *name, s32 arg1); void HuAudStreamVolSet(s16 vol); void HuAudStreamPauseOn(void); void HuAudStreamPauseOff(void); -void HuAudStreamFadeOut(s32 streamNo); +void HuAudStreamFadeOut(s32 arg0); void HuAudAllStop(void); -void HuAudFadeOut(s32 speed); -int HuAudFXPlay(int seId); -int HuAudFXPlayVol(int seId, s16 vol); -int HuAudFXPlayVolPan(int seId, s16 vol, s16 pan); -void HuAudFXStop(int seNo); +void HuAudFadeOut(s32 arg0); +s32 HuAudFXPlay(s32 arg0); +s32 HuAudFXPlayVol(s32 arg0, s16 arg1); +s32 HuAudFXPlayVolPan(s32 arg0, s16 arg1, s16 arg2); +void HuAudFXStop(s32 arg0); void HuAudFXAllStop(void); -void HuAudFXFadeOut(int seNo, s32 speed); -void HuAudFXPanning(int seNo, s16 pan); -void HuAudFXListnerSet(Vec *pos, Vec *heading, float sndDist, float sndSpeed); -void HuAudFXListnerSetEX(Vec *pos, Vec *heading, float sndDist, float sndSpeed, float startDis, float frontSurDis, float backSurDis); -void HuAudFXListnerUpdate(Vec *pos, Vec *heading); -int HuAudFXEmiterPlay(int seId, Vec *pos); -void HuAudFXEmiterUpDate(int seNo, Vec *pos); +void HuAudFXFadeOut(s32 arg0, s32 arg1); +void HuAudFXPanning(s32 arg0, s16 arg1); +void HuAudFXListnerSet(Vec* arg0, Vec* arg1, float arg2, float arg3); +void HuAudFXListnerSetEX(Vec* arg0, Vec* arg1, float sndDist, float sndSpeed, float arg4, float arg5, float arg6); +void HuAudFXListnerUpdate(Vec *arg0, Vec *arg1); +s32 HuAudFXEmiterPlay(s32 arg0, Vec *arg1); +void HuAudFXEmiterUpDate(s32 arg0, Vec *arg1); void HuAudFXListnerKill(void); -void HuAudFXPauseAll(s32 pause); -s32 HuAudFXStatusGet(int seNo); -s32 HuAudFXPitchSet(int seNo, s16 pitch); -s32 HuAudFXVolSet(int seNo, s16 vol); -s32 HuAudSeqPlay(s16 musId); -void HuAudSeqStop(s32 musNo); -void HuAudSeqFadeOut(s32 musNo, s32 speed); -void HuAudSeqAllFadeOut(s32 speed); +void HuAudFXPauseAll(s32 arg0); +s32 HuAudFXStatusGet(s32 arg0); +s32 HuAudFXPitchSet(s32 arg0, s16 arg1); +s32 HuAudFXVolSet(s32 arg0, s16 arg1); +s32 HuAudSeqPlay(s16 arg0); +void HuAudSeqStop(s32 arg0); +void HuAudSeqFadeOut(s32 arg0, s32 arg1); +void HuAudSeqAllFadeOut(s32 arg0); void HuAudSeqAllStop(void); -void HuAudSeqPauseAll(s32 pause); -void HuAudSeqPause(s32 musNo, s32 pause, s32 speed); -s32 HuAudSeqMidiCtrlGet(s32 musNo, s8 channel, s8 ctrl); -s32 HuAudSStreamPlay(s16 streamId); -void HuAudSStreamStop(s32 seNo); -void HuAudSStreamFadeOut(s32 seNo, s32 speed); -void HuAudSStreamAllFadeOut(s32 speed); +void HuAudSeqPauseAll(s32 arg0); +void HuAudSeqPause(s32 arg0, s32 arg1, s32 arg2); +s32 HuAudSeqMidiCtrlGet(s32 arg0, s8 arg1, s8 arg2); +s32 HuAudSStreamPlay(s16 arg0); +void HuAudSStreamStop(s32 arg0); +void HuAudSStreamFadeOut(s32 arg0, s32 arg1); +void HuAudSStreamAllFadeOut(s32 arg0); void HuAudSStreamAllStop(void); -s32 HuAudSStreamStatGet(s32 seNo); +s32 HuAudSStreamStatGet(s32 arg0); void HuAudDllSndGrpSet(u16 ovl); -void HuAudSndGrpSetSet(s16 dataSize); -void HuAudSndGrpSet(s16 grpId); -void HuAudSndCommonGrpSet(s16 grpId, s32 groupCheck); -void HuAudAUXSet(s32 auxA, s32 auxB); -void HuAudAUXVolSet(s8 auxA, s8 auxB); +void HuAudSndGrpSetSet(s16 arg0); +void HuAudSndGrpSet(s16 arg0); +void HuAudSndCommonGrpSet(s16 arg0, s32 arg1); +void HuAudAUXSet(s32 arg0, s32 arg1); +void HuAudAUXVolSet(s8 arg0, s8 arg1); void HuAudVoiceInit(s16 ovl); -s32 HuAudPlayerVoicePlay(s16 player, s16 seId); -s32 HuAudPlayerVoicePlayPos(s16 player, s16 seId, Vec *pos); -void HuAudPlayerVoicePlayEntry(s16 player, s16 seId); -s32 HuAudCharVoicePlay(s16 charNo, s16 seId); -s32 HuAudCharVoicePlayPos(s16 charNo, s16 seId, Vec *pos); -void HuAudCharVoicePlayEntry(s16 charNo, s16 seId); +s32 HuAudPlayerVoicePlay(s16 arg0, s16 arg1); +s32 HuAudPlayerVoicePlayPos(s16 arg0, s16 arg1, Vec *arg2); +void HuAudPlayerVoicePlayEntry(s16 arg0, s16 arg1); +s32 HuAudCharVoicePlay(s16 arg0, s16 arg1); +s32 HuAudCharVoicePlayPos(s16 arg0, s16 arg1, Vec *arg2); +void HuAudCharVoicePlayEntry(s16 arg0, s16 arg1); extern float Snd3DBackSurDisOffset; extern float Snd3DFrontSurDisOffset; @@ -74,6 +73,6 @@ extern float Snd3DDistOffset; extern s32 musicOffF; extern u8 fadeStat; -extern SNDGRPTBL sndGrpTable[]; +extern HuSndGrpData HuSndGrpTbl[]; #endif diff --git a/include/game/board/audio.h b/include/game/board/audio.h index 714e97fa..a3b617b9 100755 --- a/include/game/board/audio.h +++ b/include/game/board/audio.h @@ -4,13 +4,13 @@ #include "dolphin/types.h" void BoardMusStartBoard(void); -void BoardMusStart(s32 boardNo, s32 musId, s8 vol, u16 speed); -void BoardAudSeqFadeOutFast(s32 boardNo); -void BoardAudSeqFadeOut(s32 boardNo, u16 speed); -void BoardMusLoudSet(s32 boardNo, s32 isQuieter); -void BoardMusVolPanSet(s32 boardNo, s8 vol, u16 fadeSpeed); -void BoardAudSeqPause(s32 boardNo, s32 pause, u16 speed); -s32 BoardMusStatusGet(s32 boardNo); +void BoardMusStart(s32 arg0, s32 arg1, s8 arg2, u16 arg3); +void BoardAudSeqFadeOutFast(s32 arg0); +void BoardAudSeqFadeOut(s32 arg0, u16 arg1); +void BoardMusLoudSet(s32 arg0, s32 arg1); +void BoardMusVolPanSet(s32 arg0, s8 arg1, u16 arg2); +void BoardAudSeqPause(s32 arg0, s32 arg1, u16 arg2); +s32 BoardMusStatusGet(s32 arg0); void BoardAudSeqClear(void); void BoardAudSeqFadeOutAll(void); void BoardAudFXPlay(void); diff --git a/include/game/board/main.h b/include/game/board/main.h index 2b4d84cc..6a6870fd 100644 --- a/include/game/board/main.h +++ b/include/game/board/main.h @@ -15,6 +15,7 @@ #define BOARD_ID_TUTORIAL 6 //TUTORIAL_BOARD #define BOARD_ID_EXTRA1 7 //MEGA_BOARD_MAYHEM #define BOARD_ID_EXTRA2 8 //MINI_BOARD_MAD_DASH +#define BOARD_ID_CUSTOM 9 //Custom Test Board #define BOARD_FABS(value) ((value < 0) ? -(value) : (value)) diff --git a/include/game/board/window.h b/include/game/board/window.h index dd0b87df..eb015c5f 100644 --- a/include/game/board/window.h +++ b/include/game/board/window.h @@ -31,6 +31,5 @@ s32 BoardWinPortraitGetStar(void); void BoardWinPlayerSet(s32 player); void BoardWinStartComKeySet(void); void BoardWinComKeyFuncSet(BoardWinComKeyFunc func); -s16 BoardWinIDGet(void); #endif \ No newline at end of file diff --git a/include/game/chrman.h b/include/game/chrman.h index d826fb68..c20b79cc 100755 --- a/include/game/chrman.h +++ b/include/game/chrman.h @@ -44,8 +44,6 @@ s32 CharModelEffectNpcInit(s16 arg0, s16 arg1, s16 arg2, s16 arg3); s32 CharModelEffectNpcInitSilent(s16 arg0, s16 arg1, s16 arg2); void CharModelStepTypeSet(s16 character, s32 arg1); -#define CHARNO_MAX 8 -#define CHAR_NPC_MAX 7 -#define CHAR_EFFECT_AND_PARTICLE_MAX 8 +#define GW_CHARACTER_MAX 8 #endif diff --git a/include/game/data.h b/include/game/data.h index 9c01b09b..288e5577 100644 --- a/include/game/data.h +++ b/include/game/data.h @@ -17,7 +17,7 @@ #include "dolphin/types.h" -struct data_read_stat { +typedef struct data_read_stat { s32 dir_id; void *dir; void *file; @@ -27,7 +27,7 @@ struct data_read_stat { s32 num; u32 status; DVDFileInfo file_info; -}; +} DataReadStat; void HuDataInit(void); s32 HuDataReadChk(s32 data_num); @@ -56,4 +56,4 @@ void HuDecodeData(void *src, void *dst, u32 size, s32 decode_type); extern u32 DirDataSize; -#endif +#endif \ No newline at end of file diff --git a/include/game/disp.h b/include/game/disp.h deleted file mode 100644 index 11fd19e3..00000000 --- a/include/game/disp.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef _GAME_DISP_H -#define _GAME_DISP_H - -#define HU_DISP_WIDTH 576 -#define HU_DISP_WIDTHF ((float)HU_DISP_WIDTH) -#define HU_DISP_HEIGHT 480 -#define HU_DISP_HEIGHTF ((float)HU_DISP_HEIGHT) -#define HU_DISP_ASPECT (HU_DISP_WIDTHF/HU_DISP_HEIGHTF) - -#define HU_DISP_CENTERXI (HU_DISP_WIDTH/2) -#define HU_DISP_CENTERX (HU_DISP_WIDTHF/2) -#define HU_DISP_CENTERYI (HU_DISP_HEIGHT/2) -#define HU_DISP_CENTERY (HU_DISP_HEIGHTF/2) - -#define HU_FB_WIDTH 640 -#define HU_FB_HEIGHT 480 - -#endif \ No newline at end of file diff --git a/include/game/gamework.h b/include/game/gamework.h index 722ba147..fe972f43 100644 --- a/include/game/gamework.h +++ b/include/game/gamework.h @@ -7,26 +7,26 @@ void GWInit(void); void GWGameStatReset(void); -// s32 GWMessSpeedGet(void); +s32 GWMessSpeedGet(void); s32 GWMessDelayGet(void); -void GWMGRecordSet(s32 index, u32 value); -u32 GWMGRecordGet(s32 index); +void GWMGRecordSet(s32 index, s32 value); +s32 GWMGRecordGet(s32 index); void GWCharColorGet(s32 character, GXColor *color); void GWBoardPlayCountSet(s32 board, u8 value); void GWBoardPlayCountAdd(s32 board, u8 value); u8 GWBoardPlayCountGet(s32 board); -void GWBoardMaxStarsSet(s32 board, s16 value); -s32 GWBoardMaxStarsGet(s32 board); +void GWBoardMaxStarsSet(s32 board, s32 value); +u16 GWBoardMaxStarsGet(s32 board); void GWBoardMaxCoinsSet(s32 board, s32 value); -s32 GWBoardMaxCoinsGet(s32 board); +u16 GWBoardMaxCoinsGet(s32 board); s32 GWBoardWinCountInc(s32 character, s32 board); s32 GWBoardWinCountGet(s32 character, s32 board); void GWBoardWinCountSet(s32 character, s32 board, s32 value); s32 GWMGAvailGet(s32 id); -void GWMGAvailSet(s32 id); +s32 GWMGAvailSet(s32 id); s32 GWMGCustomGet(s32 id); -void GWMGCustomSet(s32 id); -void GWMGCustomReset(s32 id); +s32 GWMGCustomSet(s32 id); +s32 GWMGCustomReset(s32 id); s16 GWCoinsGet(s32 player); void GWCoinsSet(s32 player, s16 value); void GWCoinsAdd(s32 player, s16 amount); @@ -37,4 +37,4 @@ void GWTotalStarsSet(s16 value); void GWTotalStarsAdd(s16 amount); u16 GWTotalStarsGet(void); -#endif +#endif \ No newline at end of file diff --git a/include/game/gamework_data.h b/include/game/gamework_data.h index f26f62dc..26dcc030 100644 --- a/include/game/gamework_data.h +++ b/include/game/gamework_data.h @@ -3,7 +3,6 @@ #include "dolphin.h" #include "game/flag.h" -#include "version.h" //HACK: to prevent prototype errors extern void HuPadRumbleAllStop(void); @@ -35,13 +34,12 @@ typedef struct system_state { /* 0x06 */ u8 star_flag; /* 0x07 */ u8 star_total; /* 0x08 */ struct { - u8 star_pos : 3; - u8 board : 5; + u16 star_pos : 3; + u16 board : 10; //double board count }; /* 0x09 */ s8 last5_effect; /* 0x0A */ s8 player_curr; -/* 0x0B */ u8 storyCharBit; -/* 0x0C */ s8 storyChar; +/* 0x0B */ s8 unk0B[3]; /* 0x0E */ s16 block_pos; /* 0x10 */ u8 ATTRIBUTE_ALIGN(4) board_data[32]; /* 0x30 */ u8 mess_delay; @@ -111,11 +109,11 @@ typedef struct player_state { } PlayerState; //size of 0x30 typedef struct pause_backup_config { - u8 explain_mg : 1; - u8 show_com_mg : 1; - u8 mg_list : 2; - u8 mess_speed : 2; - u8 save_mode : 2; + u8 explain_mg : 1; + u8 show_com_mg : 1; + u8 mg_list : 2; + u8 mess_speed : 2; + u8 save_mode : 2; } PauseBackupConfig; typedef struct game_stat { @@ -137,27 +135,19 @@ typedef struct game_stat { u8 story_continue : 1; u8 party_continue : 1; u8 open_w06 : 1; - u8 veryHardUnlock : 1; - u8 customPackEnable : 1; - u8 musicAllF : 1; + u8 field10E_bit4 : 1; + u8 field10E_bit5 : 1; + u8 field10E_bit6 : 1; }; /* 0x10F */ PauseBackupConfig story_pause; /* 0x110 */ PauseBackupConfig party_pause; } GameStat; -extern s16 GwLanguage; -extern s16 GwLanguageSave; - extern PlayerConfig GWPlayerCfg[4]; extern PlayerState GWPlayer[4]; extern SystemState GWSystem; extern GameStat GWGameStat; -static inline s32 GWPlayerCfgGroupGet(s32 player) -{ - return GWPlayerCfg[player].group; -} - static inline s32 GWTeamGet(void) { return GWSystem.team; @@ -165,12 +155,12 @@ static inline s32 GWTeamGet(void) static inline s32 GWMGTypeGet(void) { - return GWSystem.mg_type; + return GWSystem.mg_type; } static inline void GWMGTypeSet(s32 type) { - GWSystem.mg_type = type; + GWSystem.mg_type = type; } static inline s32 GWPartyGet(void) @@ -178,11 +168,6 @@ static inline s32 GWPartyGet(void) return GWSystem.party; } -static inline void GWLanguageSet(s16 language) -{ - GWGameStat.language = language; -} - static inline s32 GWLanguageGet(void) { return GWGameStat.language; @@ -196,9 +181,9 @@ static inline s32 GWRumbleGet(void) static inline void GWRumbleSet(s32 value) { GWGameStat.rumble = value; - if(value == 0) { - HuPadRumbleAllStop(); - } + if(value == 0) { + HuPadRumbleAllStop(); + } } static inline s32 GWBonusStarGet(void) @@ -250,41 +235,20 @@ static inline s32 GWMessSpeedGet(void) static inline void GWMessSpeedSet(s32 value) { - #if VERSION_NTSC - GWSystem.mess_speed = value; - switch(value) { - case 0: - GWSystem.mess_delay = 16; - break; - - case 2: - GWSystem.mess_delay = 48; - break; - - default: - GWSystem.mess_delay = 32; - break; - } - #else - GWSystem.mess_speed = value; - switch(value) { - case 0: - GWSystem.mess_delay = 32; - break; - - case 2: - GWSystem.mess_delay = 64; - break; - - case 1: - GWSystem.mess_delay = 48; - break; - - default: - GWSystem.mess_delay = 120; - break; - } - #endif + GWSystem.mess_speed = value; + switch(value) { + case 0: + GWSystem.mess_delay = 16; + break; + + case 2: + GWSystem.mess_delay = 48; + break; + + default: + GWSystem.mess_delay = 32; + break; + } } static inline void GWSaveModeSet(s32 value) @@ -295,41 +259,26 @@ static inline void GWSaveModeSet(s32 value) static inline s32 GWSaveModeGet(void) { if (GWSystem.save_mode == 3) { - GWSaveModeSet(1); + GWSaveModeSet(1); } return GWSystem.save_mode; } +static inline s32 GWTurnGet(void) +{ + return GWSystem.turn; +} + static inline s32 GWBoardGet(void) { return GWSystem.board; } -static inline s32 GWPlayerCurrGet(void) -{ - return GWSystem.player_curr; -} - -static inline s32 GWStoryCharGet(void) -{ - return GWSystem.storyChar; -} - -static inline void GWStoryCharSet(s32 storyChar) -{ - GWSystem.storyChar = storyChar; -} - static inline s32 GWPlayerTeamGet(s32 player) { return GWPlayer[player].team; } -static inline s32 GWPlayerHandicapGet(s32 player) -{ - return GWPlayer[player].handicap; -} - static inline s32 GWLuckyValueGet(void) { return GWSystem.lucky_value; @@ -342,32 +291,32 @@ static inline void GWLuckyValueSet(s32 value) static inline s16 GWPlayerCoinBattleGet(s32 player) { - return GWPlayer[player].coins_battle; + return GWPlayer[player].coins_battle; } static inline s16 GWPlayerCoinCollectGet(s32 player) { - return GWPlayer[player].coin_collect; + return GWPlayer[player].coin_collect; } static inline void GWPlayerCoinCollectSet(s32 player, s16 value) { - GWPlayer[player].coin_collect = value; + GWPlayer[player].coin_collect = value; } static inline s16 GWPlayerCoinWinGet(s32 player) { - return GWPlayer[player].coin_win; + return GWPlayer[player].coin_win; } static inline void GWPlayerCoinWinSet(s32 player, s16 value) { - if (_CheckFlag(FLAG_ID_MAKE(1, 12)) == 0) { - GWPlayer[player].coin_win = value; - } + if (_CheckFlag(FLAG_ID_MAKE(1, 12)) == 0) { + GWPlayer[player].coin_win = value; + } } #define GWPlayerCoinWinAdd(player, value) GWPlayerCoinWinSet((player), GWPlayerCoinWinGet((player))+(value)) -#define GWPlayerCoinCollectAdd(player, value) GWPlayerCoinCollectSet((player), (s32)GWPlayerCoinCollectGet((player))+(value)) +#define GWPlayerCoinCollectAdd(player, value) GWPlayerCoinCollectSet((player), GWPlayerCoinCollectGet((player))+(value)) #endif diff --git a/include/game/hsfanim.h b/include/game/hsfanim.h index 9cf16673..304bd51d 100644 --- a/include/game/hsfanim.h +++ b/include/game/hsfanim.h @@ -11,7 +11,10 @@ typedef struct particle_data ParticleData; typedef void (*ParticleHook)(ModelData *model, ParticleData *particle, Mtx matrix); typedef struct { - /* 0x00 */ s16 unk00; + /* 0x00 */ union { + u16 unk00; + s16 unk00_s16; + }; /* 0x02 */ s16 unk02; /* 0x04 */ s16 unk04; /* 0x06 */ s16 unk06; @@ -26,7 +29,7 @@ typedef struct { /* 0x40 */ GXColor unk40; } HsfanimStruct01; // Size 0x44 -struct particle_data { +typedef struct particle_data { /* 0x00 */ s16 unk_00; /* 0x02 */ s16 unk_02; /* 0x04 */ Vec unk_04; @@ -50,7 +53,7 @@ struct particle_data { /* 0x4C */ Vec *unk_4C; /* 0x50 */ void *unk_50; /* 0x54 */ ParticleHook unk_54; -}; // Size 0x58 +} ParticleData; // Size 0x58 typedef struct { /* 0x00 */ s16 unk00; @@ -66,7 +69,7 @@ typedef struct { /* 0x2C */ s16 unk2C; /* 0x2E */ GXColor unk2E[4]; /* 0x3E */ GXColor unk3E[4]; -} HsfanimStruct00; // Size (min:0x4E, max:0x50) +} HsfanimStruct00; // Size unknown typedef struct { /* 0x00 */ u16 unk00; @@ -120,7 +123,6 @@ void Hu3DParticleBlendModeSet(s16 arg0, u8 arg1); void Hu3DParticleHookSet(s16 arg0, ParticleHook arg1); void Hu3DParticleAttrSet(s16 arg0, u8 arg1); void Hu3DParticleAttrReset(s16 arg0, u8 arg1); -void Hu3DParticleCntSet(s16 arg0, s16 arg1); void Hu3DParticleAnimModeSet(s16 arg0, s16 arg1); void Hu3DParManInit(void); s16 Hu3DParManCreate(AnimData *arg0, s16 arg1, HsfanimStruct00 *arg2); diff --git a/include/game/hsfdraw.h b/include/game/hsfdraw.h index d3b46df6..12d6e179 100755 --- a/include/game/hsfdraw.h +++ b/include/game/hsfdraw.h @@ -6,7 +6,7 @@ typedef struct model_data ModelData; -typedef struct hsfdraw_struct_01 { +typedef struct { /* 0x00 */ u16 unk00; /* 0x02 */ s16 unk02; /* 0x04 */ s16 unk04; @@ -44,19 +44,10 @@ typedef struct hsf_const_data { AnimData *hiliteMap; } HsfConstData; -typedef struct hsf_draw_object { - /* 0x00 */ ModelData *model; - /* 0x04 */ HsfObject *object; - /* 0x08 */ float z; - /* 0x0C */ Mtx matrix; - /* 0x3C */ Vec scale; -} HsfDrawObject; - void Hu3DDrawPreInit(void); void Hu3DDraw(ModelData *arg0, Mtx arg1, Vec *arg2); s32 ObjCullCheck(HsfData *arg0, HsfObject *arg1, Mtx arg2); -void FaceDraw(HsfDrawObject *arg0, HsfFace *arg1); void Hu3DDrawPost(void); void MakeDisplayList(s16 arg0, u32 arg1); HsfConstData *ObjConstantMake(HsfObject *arg0, u32 arg1); diff --git a/include/game/hsfformat.h b/include/game/hsfformat.h index 36c083a9..04f3d458 100644 --- a/include/game/hsfformat.h +++ b/include/game/hsfformat.h @@ -99,7 +99,7 @@ typedef struct hsf_palette { typedef struct hsf_attribute { char *name; - struct hsfdraw_struct_01 *unk04; + void *unk04; u8 unk8[4]; float unk0C; u8 unk10[4]; diff --git a/include/game/hsfman.h b/include/game/hsfman.h index 2be96d31..0d20b256 100644 --- a/include/game/hsfman.h +++ b/include/game/hsfman.h @@ -1,90 +1,18 @@ #ifndef _GAME_HSFMAN_H #define _GAME_HSFMAN_H -#include "game/data.h" #include "game/hsfanim.h" #include "game/hsfformat.h" #include "game/memory.h" - -#define HU3D_MODEL_MAX 512 -#define HU3D_MOTION_MAX 256 -#define HU3D_TEXANIM_MAX 256 -#define HU3D_TEXSCROLL_MAX 16 - -#define HU3D_MOTATTR_NONE 0 -#define HU3D_MOTATTR 0x40000000 - -#define HU3D_MOTATTR_LOOP 0x40000001 -#define HU3D_MOTATTR_PAUSE 0x40000002 -#define HU3D_MOTATTR_REV 0x40000004 -#define HU3D_MOTATTR_SHIFT_LOOP 0x40000008 -#define HU3D_MOTATTR_SHIFT_PAUSE 0x40000010 -#define HU3D_MOTATTR_SHIFT_REV 0x40000020 -#define HU3D_MOTATTR_SHAPE_LOOP 0x40000040 -#define HU3D_MOTATTR_SHAPE_PAUSE 0x40000080 -#define HU3D_MOTATTR_SHAPE_REV 0x40000100 -#define HU3D_MOTATTR_OVL_LOOP 0x40000200 -#define HU3D_MOTATTR_OVL_PAUSE 0x40000400 -#define HU3D_MOTATTR_OVL_REV 0x40000800 - -#define HU3D_CLUSTER_ATTR ((s32)0xC0000000) -#define HU3D_CLUSTER_ATTR_LOOP ((s32)0xC0000001) -#define HU3D_CLUSTER_ATTR_PAUSE ((s32)0xC0000002) -#define HU3D_CLUSTER_ATTR_REV ((s32)0xC0000004) - -#define HU3D_ATTR_NONE 0 - -#define HU3D_ATTR_DISPOFF 0x1 -#define HU3D_ATTR_ZWRITE_OFF 0x2 -#define HU3D_ATTR_SHADOW 0x4 -#define HU3D_ATTR_MOTION_OFF 0x8 -#define HU3D_ATTR_HOOKFUNC 0x10 -#define HU3D_ATTR_PARTICLE_KILL 0x20 -#define HU3D_ATTR_TEX_NEAR 0x40 -#define HU3D_ATTR_ENVELOPE_OFF 0x80 -#define HU3D_ATTR_MOT_SLOW 0x100 -#define HU3D_ATTR_TOON_MAP 0x200 -#define HU3D_ATTR_CLUSTER_ON 0x400 -#define HU3D_ATTR_MOT_EXEC 0x800 -#define HU3D_ATTR_LLIGHT 0x1000 -#define HU3D_ATTR_CAMERA_MOTON 0x2000 -#define HU3D_ATTR_NOCULL 0x4000 -#define HU3D_ATTR_HOOK 0x8000 -#define HU3D_ATTR_CAMERA 0x10000 -#define HU3D_ATTR_HILITE 0x20000 -#define HU3D_ATTR_TPLVL_SET 0x40000 -#define HU3D_ATTR_CURVE_MOTOFF 0x80000 -#define HU3D_ATTR_LINK 0x100000 -#define HU3D_ATTR_NOPAUSE 0x200000 -#define HU3D_ATTR_ZCMP_OFF 0x400000 -#define HU3D_ATTR_CULL_FRONT 0x800000 - -#define HU3D_CAM0 (1 << 0) -#define HU3D_CAM1 (1 << 1) -#define HU3D_CAM2 (1 << 2) -#define HU3D_CAM3 (1 << 3) -#define HU3D_CAM4 (1 << 4) -#define HU3D_CAM5 (1 << 5) -#define HU3D_CAM6 (1 << 6) -#define HU3D_CAM7 (1 << 7) -#define HU3D_CAM8 (1 << 8) -#define HU3D_CAM9 (1 << 9) -#define HU3D_CAM10 (1 << 10) -#define HU3D_CAM11 (1 << 11) -#define HU3D_CAM12 (1 << 12) -#define HU3D_CAM13 (1 << 13) -#define HU3D_CAM14 (1 << 14) -#define HU3D_CAM15 (1 << 15) -#define HU3D_CAM_MAX 16 +#include "game/data.h" #define Hu3DModelCreateFile(data_id) (Hu3DModelCreate(HuDataSelHeapReadNum((data_id), MEMORY_DEFAULT_NUM, HEAP_DATA))) -typedef struct model_data ModelData; typedef struct particle_data ParticleData; typedef void (*ModelHookFunc)(struct model_data *, Mtx); -struct model_data { +typedef struct model_data { u8 unk_00; u8 unk_01; u8 unk_02; @@ -108,25 +36,25 @@ struct model_data { u32 unk_4C; u32 attr; u32 motion_attr; - Vec unk_58; - float unk_64; - float unk_68; - float unk_6C; - float unk_70; - float unk_74; - float unk_78; - float unk_7C; - float unk_80; - float unk_84; - float unk_88; - float unk_8C; - float unk_90; - float unk_94; - float unk_98; - float unk_9C; - float unk_A0; - float unk_A4[4]; - float unk_B4[4]; + Point3d unk_58; + f32 unk_64; + f32 unk_68; + f32 unk_6C; + f32 unk_70; + f32 unk_74; + f32 unk_78; + f32 unk_7C; + f32 unk_80; + f32 unk_84; + f32 unk_88; + f32 unk_8C; + f32 unk_90; + f32 unk_94; + f32 unk_98; + f32 unk_9C; + f32 unk_A0; + f32 unk_A4[4]; + f32 unk_B4[4]; union { HsfData *hsfData; ModelHookFunc hook; @@ -137,13 +65,13 @@ struct model_data { Vec scale; Mtx unk_F0; void *unk_120; -}; // sizeof 0x124 +} ModelData; // sizeof 0x124 typedef struct camera_data { - float fov; - float near; - float far; - float aspect; - float aspect_dupe; + f32 fov; + f32 near; + f32 far; + f32 aspect; + f32 aspect_dupe; Vec pos; Vec up; Vec target; @@ -151,20 +79,20 @@ typedef struct camera_data { s16 scissor_y; s16 scissor_w; s16 scissor_h; - float viewport_x; - float viewport_y; - float viewport_w; - float viewport_h; - float near_z; - float far_z; + f32 viewport_x; + f32 viewport_y; + f32 viewport_w; + f32 viewport_h; + f32 near_z; + f32 far_z; } CameraData; // sizeof 0x58 typedef struct ThreeDProjectionStruct { u8 unk_00; char unk_01[0x3]; void *unk_04; Vec unk_08; - Vec unk_14; - Vec unk_20; + Point3d unk_14; + Point3d unk_20; Vec unk_2C; Mtx unk_38; Mtx unk_68; @@ -173,7 +101,7 @@ typedef struct shadow_data { u8 unk_00; u8 unk_01; u16 unk_02; - void *unk_04; + void* unk_04; Vec unk_08; Vec unk_14; Vec unk_20; @@ -184,8 +112,8 @@ typedef struct shadow_data { typedef struct light_data { s16 unk_00; s16 unk_02; - float unk_04; - float unk_08; + f32 unk_04; + f32 unk_08; char unk_0C[0x10]; Vec unk_1C; Vec unk_28; @@ -193,8 +121,8 @@ typedef struct light_data { GXColor color; } LightData; -extern void GXWaitDrawDone(); /* extern */ -extern void GXInitSpecularDir(GXLightObj *, float, float, float); +extern void GXWaitDrawDone(); /* extern */ +extern void GXInitSpecularDir(GXLightObj*, f32, f32, f32); void Hu3DInit(void); void Hu3DPreProc(void); @@ -209,11 +137,11 @@ s16 Hu3DModelLink(s16); s16 Hu3DHookFuncCreate(ModelHookFunc); void Hu3DModelKill(s16); void Hu3DModelAllKill(void); -void Hu3DModelPosSet(s16, float, float, float); +void Hu3DModelPosSet(s16, f32, f32, f32); void Hu3DModelPosSetV(s16, Vec *); -void Hu3DModelRotSet(s16, float, float, float); +void Hu3DModelRotSet(s16, f32, f32, f32); void Hu3DModelRotSetV(s16, Vec *); -void Hu3DModelScaleSet(s16, float, float, float); +void Hu3DModelScaleSet(s16, f32, f32, f32); void Hu3DModelScaleSetV(s16, Vec *); void Hu3DModelAttrSet(s16, u32); void Hu3DModelAttrReset(s16, u32); @@ -223,16 +151,16 @@ void Hu3DModelClusterAttrSet(s16, s16, s32); void Hu3DModelClusterAttrReset(s16, s16, s32); void Hu3DModelCameraSet(s16, u16); void Hu3DModelLayerSet(s16, s16); -HsfObject *Hu3DModelObjPtrGet(s16, char *); -void Hu3DModelTPLvlSet(s16, float); -void Hu3DModelHiliteMapSet(s16, AnimData *); +HsfObject* Hu3DModelObjPtrGet(s16, char *); +void Hu3DModelTPLvlSet(s16, f32); +void Hu3DModelHiliteMapSet(s16, AnimData*); void Hu3DModelShadowSet(s16); void Hu3DModelShadowReset(s16); void Hu3DModelShadowDispOn(s16); void Hu3DModelShadowDispOff(s16); void Hu3DModelShadowMapSet(s16); void Hu3DModelShadowMapObjSet(s16, char *); -void Hu3DModelAmbSet(s16, float, float, float); +void Hu3DModelAmbSet(s16, f32, f32, f32); void Hu3DModelHookSet(s16, char *, s16); void Hu3DModelHookReset(s16); void Hu3DModelHookObjReset(s16, char *); @@ -241,10 +169,10 @@ void Hu3DModelProjectionReset(s16, s16); void Hu3DModelHiliteTypeSet(s16, s16); void Hu3DModelReflectTypeSet(s16, s16); void Hu3DCameraCreate(s32); -void Hu3DCameraPerspectiveSet(s32, float, float, float, float); -void Hu3DCameraViewportSet(s32, float, float, float, float, float, float); +void Hu3DCameraPerspectiveSet(s32, f32, f32, f32, f32); +void Hu3DCameraViewportSet(s32, f32, f32, f32, f32, f32, f32); void Hu3DCameraScissorSet(s32, u32, u32, u32, u32); -void Hu3DCameraPosSet(s32, float, float, float, float, float, float, float, float, float); +void Hu3DCameraPosSet(s32, f32, f32, f32, f32, f32, f32, f32, f32, f32); void Hu3DCameraPosSetV(s32 cam, Vec *pos, Vec *up, Vec *target); void Hu3DCameraKill(s32); void Hu3DCameraAllKill(void); @@ -255,47 +183,47 @@ void Hu3DCameraMotionOn(s16, s8); void Hu3DCameraMotionStart(s16, u16); void Hu3DCameraMotionOff(s16); void Hu3DLighInit(void); -s16 Hu3DGLightCreate(float, float, float, float, float, float, u8, u8, u8); -s16 Hu3DGLightCreateV(Vec *, Vec *, GXColor *); -s16 Hu3DLLightCreate(s16, float, float, float, float, float, float, u8, u8, u8); -s16 Hu3DLLightCreateV(s16, Vec *, Vec *, GXColor *); -void Hu3DGLightSpotSet(s16, float, u16); -void Hu3DLLightSpotSet(s16, s16, float, u16); +s16 Hu3DGLightCreate(f32, f32, f32, f32, f32, f32, u8, u8, u8); +s16 Hu3DGLightCreateV(Vec*, Vec*, GXColor*); +s16 Hu3DLLightCreate(s16, f32, f32, f32, f32, f32, f32, u8, u8, u8); +s16 Hu3DLLightCreateV(s16, Vec*, Vec*, GXColor*); +void Hu3DGLightSpotSet(s16, f32, u16); +void Hu3DLLightSpotSet(s16, s16, f32, u16); void Hu3DGLightInfinitytSet(s16); void Hu3DLLightInfinitytSet(s16, s16); -void Hu3DGLightPointSet(s16, float, float, u16); -void Hu3DLLightPointSet(s16, s16, float, float, u16); +void Hu3DGLightPointSet(s16, f32, f32, u16); +void Hu3DLLightPointSet(s16, s16, f32, f32, u16); void Hu3DGLightKill(s16); void Hu3DLLightKill(s16, s16); void Hu3DLightAllKill(void); void Hu3DGLightColorSet(s16, u8, u8, u8, u8); void Hu3DLLightColorSet(s16, s16, u8, u8, u8, u8); -void Hu3DGLightPosSetV(s16, Vec *, Vec *); -void Hu3DLLightPosSetV(s16, s16, Vec *, Vec *); -void Hu3DGLightPosSet(s16, float, float, float, float, float, float); -void Hu3DLLightPosSet(s16, s16, float, float, float, float, float, float); -void Hu3DGLightPosAimSetV(s16, Vec *, Vec *); -void Hu3DLLightPosAimSetV(s16, s16, Vec *, Vec *); -void Hu3DGLightPosAimSet(s16, float, float, float, float, float, float); -void Hu3DLLightPosAimSet(s16, s16, float, float, float, float, float, float); +void Hu3DGLightPosSetV(s16, Vec*, Point3d*); +void Hu3DLLightPosSetV(s16, s16, Vec*, Point3d*); +void Hu3DGLightPosSet(s16, f32, f32, f32, f32, f32, f32); +void Hu3DLLightPosSet(s16, s16, f32, f32, f32, f32, f32, f32); +void Hu3DGLightPosAimSetV(s16, Point3d*, Point3d*); +void Hu3DLLightPosAimSetV(s16, s16, Point3d*, Point3d*); +void Hu3DGLightPosAimSet(s16, f32, f32, f32, f32, f32, f32); +void Hu3DLLightPosAimSet(s16, s16, f32, f32, f32, f32, f32, f32); void Hu3DGLightStaticSet(s16, s32); void Hu3DLLightStaticSet(s16, s16, s32); s32 Hu3DModelLightInfoSet(s16, s16); -s16 Hu3DLightSet(ModelData *, Mtx *, Mtx *, float); -void lightSet(LightData *arg0, s16 arg1, Mtx *arg2, Mtx *arg3, float arg8); +s16 Hu3DLightSet(ModelData*, Mtx*, Mtx*, f32); +void lightSet(LightData* arg0, s16 arg1, Mtx *arg2, Mtx *arg3, f32 arg8); void Hu3DReflectNoSet(s16 arg0); -void Hu3DFogSet(float, float, u8, u8, u8); +void Hu3DFogSet(f32, f32, u8, u8, u8); void Hu3DFogClear(void); -void Hu3DShadowCreate(float, float, float); -void Hu3DShadowPosSet(Vec *, Vec *, Vec *); -void Hu3DShadowTPLvlSet(float); +void Hu3DShadowCreate(f32, f32, f32); +void Hu3DShadowPosSet(Vec*, Vec*, Vec*); +void Hu3DShadowTPLvlSet(f32); void Hu3DShadowSizeSet(u16); void Hu3DShadowExec(void); -s16 Hu3DProjectionCreate(void *, float, float, float); +s16 Hu3DProjectionCreate(void*, f32, f32, f32); void Hu3DProjectionKill(s16); -void Hu3DProjectionPosSet(s16, Vec *, Vec *, Vec *); -void Hu3DProjectionTPLvlSet(s16, float); -void Hu3DMipMapSet(char *, s16, s32, float); +void Hu3DProjectionPosSet(s16, Vec*, Vec*, Vec*); +void Hu3DProjectionTPLvlSet(s16, f32); +void Hu3DMipMapSet(char*, s16, s32, f32); extern ModelData Hu3DData[0x200]; extern CameraData Hu3DCamera[0x10]; diff --git a/include/game/hsfmotion.h b/include/game/hsfmotion.h index f820bd7f..7ec10d4c 100644 --- a/include/game/hsfmotion.h +++ b/include/game/hsfmotion.h @@ -4,8 +4,6 @@ #include "dolphin.h" #include "game/hsfformat.h" -#define Hu3DMotionCreateFile(data_id) (Hu3DMotionCreate(HuDataSelHeapReadNum((data_id), MEMORY_DEFAULT_NUM, HEAP_DATA))) - #define Hu3DJointMotionFile(model, data_id) (Hu3DJointMotion((model), HuDataSelHeapReadNum((data_id), MEMORY_DEFAULT_NUM, HEAP_DATA))) diff --git a/include/game/minigame_seq.h b/include/game/minigame_seq.h index 6f20a101..d54895c9 100644 --- a/include/game/minigame_seq.h +++ b/include/game/minigame_seq.h @@ -37,8 +37,6 @@ #define MGSeqWinCreate(player_1, player_2, player_3, player_4) MGSeqCreate(MG_SEQ_TYPE_WIN, MG_SEQ_WIN_TYPE_WIN, (player_1), (player_2), (player_3), (player_4)) #define MGSeqLoseCreate(player_1, player_2, player_3, player_4) MGSeqCreate(MG_SEQ_TYPE_WIN, MG_SEQ_WIN_TYPE_LOSE, (player_1), (player_2), (player_3), (player_4)) #define MGSeqChampionCreate(player_1, player_2, player_3, player_4) MGSeqCreate(MG_SEQ_TYPE_ALTWIN, MG_SEQ_WIN_TYPE_CHAMPION, (player_1), (player_2), (player_3), (player_4)) -#define MGSeqAltWinCreate(player_1, player_2, player_3, player_4) MGSeqCreate(MG_SEQ_TYPE_ALTWIN, MG_SEQ_WIN_TYPE_WIN, (player_1), (player_2), (player_3), (player_4)) - #define MGSeqRecordCreate(value) MGSeqCreate(MG_SEQ_TYPE_RECORD, (value)) @@ -48,7 +46,7 @@ typedef struct seq_work SeqWork; typedef s32 (*SeqUpdateFunc)(SeqWork *work); typedef s32 (*SeqInitFunc)(SeqWork *work, va_list params); -struct seq_work { +typedef struct seq_work { SeqUpdateFunc update; char *data; float x; @@ -73,7 +71,7 @@ struct seq_work { u8 stat; u8 unk_7C; u8 unk_7D; -}; +} SeqWork; void MGSeqInit(void); void MGSeqMain(void); @@ -91,32 +89,6 @@ void MGSeqPauseEnableCtrl(s32 flag); void MGSeqPracticeInit(void); void MGSeqPracticeExitCheck(omObjData *object); -s32 MGSeqInitTimer(SeqWork *work, va_list params); -s32 MGSeqUpdateTimer(SeqWork *work); - -s32 MGSeqInitType2(SeqWork *work, va_list params); -s32 MGSeqUpdateType2(SeqWork *work); - -s32 MGSeqUpdateMGBattle(SeqWork *work); - -s32 MGSeqInitMGBasic(SeqWork *work, va_list params); -s32 MGSeqUpdateMGBasic(SeqWork *work); -s32 MGSeqInitMGCommon(SeqWork *work, va_list params); -s32 MGSeqUpdateMG1vs3(SeqWork *work); -s32 MGSeqUpdateMGStory(SeqWork *work); -s32 MGSeqUpdateMG2vs2(SeqWork *work); -s32 MGSeqUpdateMGBowser(SeqWork *work); - -s32 MGSeqInitWin(SeqWork *work, va_list params); -s32 MGSeqUpdateWin(SeqWork *work); -s32 MGSeqInitDraw(SeqWork *work, va_list params); -s32 MGSeqUpdateDraw(SeqWork *work); -s32 MGSeqInitRecord(SeqWork *work, va_list params); -s32 MGSeqUpdateRecord(SeqWork *work); - -s32 MGSeqInitFlip(SeqWork *work, va_list params); -s32 MGSeqUpdateFlip(SeqWork *work); - extern OverlayID mgSeqOvlPrev; #endif diff --git a/include/game/msm.h b/include/game/msm.h index e5106677..1885d41e 100644 --- a/include/game/msm.h +++ b/include/game/msm.h @@ -1,205 +1,87 @@ -#ifndef MSM_H -#define MSM_H +#ifndef _GAME_MSM_H +#define _GAME_MSM_H #include "dolphin.h" -#include "musyx/musyx.h" -#include "game/msm_data.h" -#define MSM_SEPARAM_NONE 0 -#define MSM_SEPARAM_VOL (1 << 0) -#define MSM_SEPARAM_PAN (1 << 1) -#define MSM_SEPARAM_PITCH (1 << 2) -#define MSM_SEPARAM_SPAN (1 << 3) -#define MSM_SEPARAM_AUXVOLA (1 << 4) -#define MSM_SEPARAM_AUXVOLB (1 << 5) -#define MSM_SEPARAM_POS (1 << 6) -#define MSM_SEPARAM_PAD (1 << 7) +typedef struct { + s32 unk00; + s32 unk04; + char unk08[4]; + char *unk0C; + char *unk10; + s32 unk14; + s32 unk18; + s32 unk1C; + void *unk20; + s32 unk24; +} UnkMsmStruct_00; // Size 0x28 -#define MSM_LISTENER_NONE 0 -#define MSM_LISTENER_STARTDIS (1 << 0) -#define MSM_LISTENER_FRONTSURDIS (1 << 1) -#define MSM_LISTENER_BACKSURDIS (1 << 2) +typedef struct { + /* 0x00 */ s32 unk00; + /* 0x04 */ s8 unk04; + /* 0x05 */ s8 unk05; + /* 0x06 */ s16 unk06; + /* 0x08 */ char unk08[1]; + /* 0x09 */ s8 unk09; + /* 0x0A */ s8 unk0A; + /* 0x0B */ char unk0B[5]; + /* 0x10 */ Vec unk10; +} UnkMsmStruct_01; // Size 0x1C -#define MSM_MUSPARAM_NONE 0 -#define MSM_MUSPARAM_CHAN (1 << 0) -#define MSM_MUSPARAM_VOL (1 << 1) -#define MSM_MUSPARAM_PAUSE (1 << 2) -#define MSM_MUSPARAM_FADESPEED (1 << 3) -#define MSM_MUSPARAM_SPEED (1 << 4) +typedef struct { + /* 0x00 */ s32 unk00; + /* 0x04 */ float startDis; + /* 0x08 */ float frontSurDis; + /* 0x0C */ float backSurDis; +} UnkMsmStruct_02; // Size (min: 0x10, max: 0x1C) -#define MSM_STREAMPARAM_NONE 0 -#define MSM_STREAMPARAM_VOL (1 << 0) -#define MSM_STREAMPARAM_PAN (1 << 1) -#define MSM_STREAMPARAM_SPAN (1 << 2) -#define MSM_STREAMPARAM_AUXA (1 << 4) -#define MSM_STREAMPARAM_AUXB (1 << 5) -#define MSM_STREAMPARAM_FADESPEED (1 << 8) -#define MSM_STREAMPARAM_CHAN (1 << 9) -#define MSM_STREAMPARAM_PAUSE (1 << 10) +typedef struct { + /* 0x00 */ s32 unk00; + /* 0x04 */ s8 unk04; + /* 0x05 */ s8 unk05; + /* 0x06 */ u16 unk06; +} UnkMsmStruct_03; // Size unknown (min: 8, max: 0x10) -#define MSM_ERR_OPENFAIL -1 -#define MSM_ERR_READFAIL -2 -#define MSM_ERR_OUTOFMEM -10 -#define MSM_ERR_OUTOFAMEM -20 -#define MSM_ERR_INITFAIL -30 -#define MSM_ERR_INVALID_AUXPARAM -31 -#define MSM_ERR_GRP_FAILPUSH -32 -#define MSM_ERR_PLAYFAIL -33 -#define MSM_LISTENER_NO_UPDATA -34 -#define MSM_ERR_STREAMALLOC_FAIL -35 -#define MSM_ERR_INSTALLED -36 -#define MSM_ERR_64 -100 -#define MSM_ERR_STACK_OVERFLOW -101 -#define MSM_ERR_GRP_NOTLOADED -103 -#define MSM_ERR_CHANLIMIT -110 -#define MSM_ERR_INVALIDSE -111 -#define MSM_ERR_INVALIDID -120 -#define MSM_ERR_INVALIDFILE -121 -#define MSM_ERR_REMOVEDID -122 -#define MSM_ERR_MUSGRP_NOTLOADED -123 -#define MSM_ERR_OUTOFMUS -130 -#define MSM_ERR_RANGE_STREAM -140 +typedef struct { + /* 0x00 */ s32 unk00; + /* 0x04 */ char unk04[1]; + /* 0x05 */ s8 unk05; + /* 0x06 */ u16 unk06; + /* 0x08 */ char unk08[1]; +} UnkMsmStruct_04; // Size unknown (min: 9, max: 0x18) -#define MSM_VOL_MAX 127 -#define MSM_PAN_LEFT 32 -#define MSM_PAN_CENTER 64 -#define MSM_PAN_RIGHT 96 - -#define MSM_SE_DONE 0 -#define MSM_SE_PLAY 1 -#define MSM_SE_PAUSEIN 2 -#define MSM_SE_PAUSEOUT 3 - -#define MSM_MUS_DONE 0 -#define MSM_MUS_STOP 1 -#define MSM_MUS_PLAY 2 -#define MSM_MUS_PAUSE 3 - -#define MSM_STREAM_DONE 0 -#define MSM_STREAM_STOP 1 -#define MSM_STREAM_PLAY 2 -#define MSM_STREAM_PAUSEIN 3 -#define MSM_STREAM_PAUSEOUT 4 -#define MSM_STREAM_DVDERROR 5 - -#define MSM_MUS_MAX 4 - -#define MSM_STREAM_NONE -1 - -#define MSM_AUXA_DEFAULT 0 -#define MSM_AUXB_DEFAULT 1 -#define MSM_AUX_NONE -1 - -#define MSM_ENTRY_SENO_MAX 32 - -typedef BOOL (*MSM_OPEN)(s32 entrynum, DVDFileInfo *fileInfo); -typedef BOOL (*MSM_READ)(DVDFileInfo *fileInfo, void *addr, s32 length, s32 offset, s32 prio); -typedef BOOL (*MSM_CLOSE)(DVDFileInfo *fileInfo); - - -typedef struct msmAram_s { - BOOL skipARInit; - union { - struct { - u32 aramEnd; - }; - struct { - u32 numEntries; - u32 *stackIndex; - }; - }; -} MSM_ARAM; - -typedef struct msmInit_s { - char *msmPath; - char *pdtPath; - MSM_OPEN open; - MSM_READ read; - MSM_CLOSE close; - void *heap; - u32 heapSize; -} MSM_INIT; - -typedef struct msmSeParam_s { - s32 flag; - s8 vol; - s8 pan; - s16 pitch; - u8 span; - s8 auxAVol; - s8 auxBVol; - s32 pad; - Vec pos; -} MSM_SEPARAM; - - -typedef struct msmSeListener_s { - s32 flag; - float startDis; - float frontSurDis; - float backSurDis; -} MSM_SELISTENER; - -typedef struct msmMusParam_s { - s32 flag; - s8 chan; - s8 vol; - u16 fadeSpeed; - u16 speed; -} MSM_MUSPARAM; - -typedef struct msmStreamParam_s { - s32 flag; - s8 vol; - s8 pan; - s8 span; - s8 auxA; - s8 auxB; - s8 chan; - u16 fadeSpeed; -} MSM_STREAMPARAM; - -s32 msmSysInit(MSM_INIT *init, MSM_ARAM *aram); -BOOL msmSysSetOutputMode(SND_OUTPUTMODE mode); +void msmSysRegularProc(void); +void msmSysSetOutputMode(s32 arg0); +void msmSysSetAux(s32 arg0, s32 arg1); +s32 msmSysGetSampSize(s32 arg0); s32 msmSysDelGroupAll(void); -s32 msmSysGetSampSize(BOOL baseGrp); -s32 msmSysDelGroupBase(s32 grpNum); -s32 msmSysSetAux(s32 auxA, s32 auxB); - -s32 msmSeSetParam(int seNo, MSM_SEPARAM *param); -int msmSePlay(int seId, MSM_SEPARAM *param); -s32 msmSeStop(int seNo, s32 speed); -void msmSePauseAll(BOOL pause, s32 speed); -s32 msmSePause(int seNo, BOOL pause, s32 speed); -void msmSeStopAll(BOOL checkGrp, s32 speed); -s32 msmSeSetListener(Vec *pos, Vec *heading, float sndDist, float sndSpeed, MSM_SELISTENER *listener); -s32 msmSeUpdataListener(Vec *pos, Vec *heading); +s32 msmSysDelGroupBase(s32 arg0); +void msmSysLoadGroupBase(s32 arg0, void *arg1); +s32 msmSysLoadGroupSet(s32 arg0, void *arg1); +s32 msmSysInit(char **arg0, UnkMsmStruct_00 *arg1); +s32 msmMusGetMidiCtrl(s32 arg0, s32 arg1, s32 arg2); +s32 msmMusGetNumPlay(s32 arg0); +s32 msmMusGetStatus(s32 arg0); +void msmMusPauseAll(s32 arg0, s32 arg1); +void msmMusPause(s32 arg0, s32 arg1, s32 arg2); +void msmMusSetParam(s16 arg0, UnkMsmStruct_04 *arg1); +void msmMusStopAll(s32 arg0, s32 arg1); +void msmMusStop(s32 arg0, s32 arg1); +s32 msmMusPlay(s32 arg0, UnkMsmStruct_03 *arg1); void msmSeDelListener(void); -s32 msmSeGetStatus(int seNo); -s32 msmSeGetNumPlay(BOOL baseGrp); -s32 msmSeGetEntryID(s32 seId, int *seNo); -void msmSeSetMasterVolume(s32 vol); -MSM_SE* msmSeGetIndexPtr(s32 seId); - -int msmMusPlay(int musId, MSM_MUSPARAM *musParam); -s32 msmMusStop(int musNo, s32 speed); -void msmMusPauseAll(BOOL pause, s32 speed); -s32 msmMusPause(int musNo, BOOL pause, s32 speed); -s32 msmMusGetMidiCtrl(int musNo, s32 channel, s32 ctrl); -void msmMusStopAll(BOOL checkGrp, s32 speed); -s32 msmMusGetStatus(int musNo); -s32 msmMusGetNumPlay(BOOL baseGrp); -s32 msmMusSetParam(s32 musNo, MSM_MUSPARAM *param); -void msmMusSetMasterVolume(s32 vol); - -int msmStreamPlay(int streamId, MSM_STREAMPARAM *streamParam); -s32 msmStreamStop(int streamNo, s32 speed); -s32 msmStreamPauseAll(BOOL pause, s32 speed); -s32 msmStreamPause(int streamNo, BOOL pause, s32 speed); - -void msmStreamStopAll(s32 speed); -s32 msmStreamGetStatus(int streamNo); -void msmStreamSetMasterVolume(s32 arg0); -void msmStreamSetOutputMode(s32 outputMode); +void msmSeUpdataListener(Vec *arg0, Vec *arg1); +void msmSeSetListener(Vec* arg0, Vec* arg1, float arg2, float arg3, UnkMsmStruct_02 *arg4); +s32 msmSeGetEntryID(s32 arg0, void *arg1); +s32 msmSeGetNumPlay(s32 arg0); +s32 msmSeGetStatus(s32 arg0); +s32 msmSeSetParam(s32 arg0, UnkMsmStruct_01 *arg1); +void msmSePauseAll(s32 arg0, s32 arg1); +void msmSeStopAll(s32 arg0, s32 arg1); +void msmSeStop(s32 arg0, s32 arg1); +s32 msmSePlay(s32 arg0, UnkMsmStruct_01 *arg1); +s32 msmStreamGetStatus(s32 arg0); +void msmStreamPauseAll(s32 arg0); +void msmStreamStop(s32 arg0, s32 arg1); +s32 msmStreamPlay(s16 arg0, s32 *arg1); #endif diff --git a/include/game/msm_data.h b/include/game/msm_data.h deleted file mode 100644 index 0c282ffb..00000000 --- a/include/game/msm_data.h +++ /dev/null @@ -1,185 +0,0 @@ -#ifndef _MSM_DATA_H -#define _MSM_DATA_H - -#include "dolphin.h" -#include "musyx/musyx.h" - -#define MSM_STREAM_FLAG_STEREO 0x1 -#define MSM_STREAM_FLAG_LOOP 0x2 - -#define MSM_FILE_VERSION 2 -#define MSM_PDT_FILE_VERSION 1 - -typedef struct MSMHeader_s { - s32 magic; - s32 version; - s32 endOfs; - s32 endSize; - s32 infoOfs; - u32 infoSize; - s32 auxParamOfs; - u32 auxParamSize; - s32 grpInfoOfs; - s32 grpInfoSize; - s32 musOfs; - s32 musSize; - s32 seOfs; - s32 seSize; - s32 grpDataOfs; - s32 grpDataSize; - s32 sampOfs; - s32 sampSize; - s32 dummyMusOfs; - s32 dummyMusSize; - s32 grpSetOfs; - s32 grpSetSize; - s32 pad[2]; -} MSM_HEADER; // sizeof 0x60 - -typedef struct MSMInfo_s { - s8 voices; - s8 music; - s8 sfx; - s8 grpMax; - s16 musMax; - s16 seMax; - s8 musChanMax; - s8 stackDepthA; - s8 stackDepthB; - s8 surroundF; - s8 unkC[2]; - s8 auxParamA; - s8 auxParamB; - s32 minMem; - s32 aramSize; - s32 grpBufSizeA; - s32 grpBufSizeB; - s32 dummyMusSize; - s32 unk24; - s8 baseGrpNum; - s8 baseGrp[23]; -} MSM_INFO; - -typedef struct { - u32 tempDisableFX; - f32 coloration; - f32 mix; - f32 time; - f32 damping; - f32 preDelay; - f32 crosstalk; -} MSM_AUXPARAM_REVERBHI; - -typedef struct { - u32 tempDisableFX; - f32 coloration; - f32 mix; - f32 time; - f32 damping; - f32 preDelay; - f32 crosstalk; -} MSM_AUXPARAM_REVERBSTD; - -typedef struct { - u32 baseDelay; - u32 variation; - u32 period; -} MSM_AUXPARAM_CHORUS; - -typedef struct { - u32 delay[3]; - u32 feedback[3]; - u32 output[3]; -} MSM_AUXPARAM_DELAY; - -typedef struct MSMAuxParam_s { - s8 type; - u8 pad[3]; - union { - MSM_AUXPARAM_REVERBHI revHi; - MSM_AUXPARAM_REVERBSTD revStd; - MSM_AUXPARAM_CHORUS chorus; - MSM_AUXPARAM_DELAY delay; - }; -} MSM_AUXPARAM; - -typedef struct MSMSe_s { - SND_GROUPID gid; - SND_FXID fxId; - s8 vol; - s8 pan; - s16 pitchBend; - u8 span; - u8 reverb; - u8 chorus; - s8 emitterF; - s8 emiComp; - u8 pad[3]; -} MSM_SE; - -typedef struct MSMMus_s { - SND_GROUPID sgid; - SND_SONGID sid; - s32 songOfs; - s32 songSize; - s8 songGrp; - s8 vol; - u8 pad[2]; -} MSM_MUS; // Size 0x10 - -typedef struct MSMGrpHead_s { - s32 poolOfs; - s32 projOfs; - s32 sdirOfs; - s32 sngOfs; -} MSM_GRP_HEAD; - -typedef struct MSMGrpInfo_s { - SND_GROUPID gid; - s8 stackNo; - s8 subGrpId; - s32 dataOfs; - s32 dataSize; - s32 sampOfs; - s32 sampSize; - u8 pad[12]; -} MSM_GRP_INFO; - -typedef struct MSMGrpSet_s { - s8 numGrpSet; - s8 grpSetW; - s8 data[1]; -} MSM_GRP_SET; - -typedef struct MSMStreamHeader_s { - s16 version; - s16 streamMax; - s32 chanMax; - s32 sampleFrq; - s32 maxBufs; - u32 streamPackListOfs; - u32 adpcmParamOfs; - u32 streamPackOfs; - u32 sampleOfs; -} MSM_STREAM_HEADER; - -typedef struct MSMStream_s { - s32 sampleOfs; - s16 adpcmParamIdx; - u16 pad; -} MSM_STREAM; - -typedef struct MSMStreamPack_s { - s8 flag; - s8 vol; - s8 pan; - s8 span; - s8 auxA; - s8 auxB; - u16 frq; - u32 loopOfsEnd; - u32 loopOfsStart; - MSM_STREAM stream[2]; -} MSM_STREAM_PACK; // Size unknown - -#endif diff --git a/include/game/object.h b/include/game/object.h index 69f4cb6b..95061c52 100644 --- a/include/game/object.h +++ b/include/game/object.h @@ -117,7 +117,7 @@ extern s32 omcurdll; extern s32 omovlhisidx; extern s32 omovlevtno; extern s32 omnextovlevtno; -extern u32 omovlstat; +extern s32 omovlstat; extern char omUPauseFlag; extern s16 omSysExitReq; extern s16 omdispinfo; @@ -134,4 +134,4 @@ extern Vec CenterM[16]; extern float CZoomM[16]; extern s16 omDBGMenuButton; -#endif +#endif \ No newline at end of file diff --git a/include/game/objsub.h b/include/game/objsub.h index d42531e5..2cc262d0 100644 --- a/include/game/objsub.h +++ b/include/game/objsub.h @@ -26,7 +26,7 @@ extern s16 mgTypeCurr; extern s16 mgBattleStar[4]; extern s16 mgBattleStarMax; extern u8 lbl_801D3E94; -extern u32 mgRecordExtra; +extern s32 mgRecordExtra; extern s32 mgQuitExtraF; extern s32 mgPracticeEnableF; extern s32 mgInstExitEnableF; diff --git a/include/game/window.h b/include/game/window.h index a2ff8eb1..85be8616 100644 --- a/include/game/window.h +++ b/include/game/window.h @@ -109,7 +109,9 @@ s16 HuWinChoiceGet(s16 window, s16 start_choice); s16 HuWinChoiceNumGet(s16 window); void HuWinChoiceDisable(s16 window, s16 choice); s16 HuWinChoiceNowGet(s16 window); +#ifndef HUWIN_USE_OLD_DEFS void HuWinMesWait(s16 window); +#endif s16 HuWinAnimSet(s16 window, AnimData *anim, s16 bank, float x, float y); s16 HuWinSprSet(s16 window, s16 sprite, float x, float y); void HuWinSprPosSet(s16 window, s16 index, float x, float y); diff --git a/include/game/wipe.h b/include/game/wipe.h index baafbe25..7d45a8cb 100644 --- a/include/game/wipe.h +++ b/include/game/wipe.h @@ -3,7 +3,6 @@ #include "dolphin.h" -#define WIPE_TYPE_PREV -1 #define WIPE_TYPE_NORMAL 0 #define WIPE_TYPE_CROSS 1 #define WIPE_TYPE_DUMMY 2 @@ -40,4 +39,4 @@ u8 WipeStatGet(void); extern WipeState wipeData; extern BOOL wipeFadeInF; -#endif +#endif \ No newline at end of file diff --git a/include/math.h b/include/math.h index 5ac49892..419d4d50 100644 --- a/include/math.h +++ b/include/math.h @@ -7,52 +7,20 @@ #define _MATH_INLINE static inline #endif -extern int __float_nan[]; -extern int __float_huge[]; -extern int __double_huge[]; - -#define INFINITY (*(float *)__float_huge) -#define NAN (*(float *)__float_nan) -#define HUGE_VAL (*(double *)__double_huge) - -#ifdef __MWERKS__ -extern inline double sqrt(double x) -{ - if (x > 0.0) { - double guess = __frsqrte(x); /* returns an approximation to */ - guess = .5 * guess * (3.0 - guess * guess * x); /* now have 8 sig bits */ - guess = .5 * guess * (3.0 - guess * guess * x); /* now have 16 sig bits */ - guess = .5 * guess * (3.0 - guess * guess * x); /* now have 32 sig bits */ - guess = .5 * guess * (3.0 - guess * guess * x); /* now have > 53 sig bits */ - return x * guess; - } - else if (x == 0) - return 0; - else if (x) - return NAN; - - return INFINITY; -} - extern inline float sqrtf(float x) { - static const double _half = .5; - static const double _three = 3.0; - volatile float y; - if (x > 0.0f) { - double guess = __frsqrte((double)x); // returns an approximation to - guess = _half * guess * (_three - guess * guess * x); // now have 12 sig bits - guess = _half * guess * (_three - guess * guess * x); // now have 24 sig bits - guess = _half * guess * (_three - guess * guess * x); // now have 32 sig bits - y = (float)(x * guess); - return y; - } - return x; + volatile float y; + if(x > 0.0f) + { + double guess = __frsqrte((double)x); // returns an approximation to + guess = 0.5*guess*(3.0 - guess*guess*x); // now have 12 sig bits + guess = 0.5*guess*(3.0 - guess*guess*x); // now have 24 sig bits + guess = 0.5*guess*(3.0 - guess*guess*x); // now have 32 sig bits + y=(float)(x*guess); + return y; + } + return x; } -#else -double sqrt(double x); -float sqrtf(float x); -#endif double atan(double x); double copysign(double x, double y); @@ -70,58 +38,28 @@ double fmod(double x, double y); double log(double x); double pow(double x, double y); float tanf(float x); +float sinf(float x); +float cosf(float x); +float atan2f(float y, float x); +float acosf(float x); -#ifdef __MWERKS__ extern inline double fabs(double x) { - return __fabs(x); -} -#else -double fabs(double x); -#endif - -_MATH_INLINE float fabsf(float x) -{ - return (float)fabs((double)x); -} -_MATH_INLINE float sinf(float x) -{ - return (float)sin((double)x); -} -_MATH_INLINE float cosf(float x) -{ - return (float)cos((double)x); -} -_MATH_INLINE float atan2f(float y, float x) -{ - return (float)atan2((double)y, (double)x); -} -_MATH_INLINE float atanf(float x) -{ - return (float)atan((double)x); -} -_MATH_INLINE float asinf(float x) -{ - return (float)asin((double)x); -} -_MATH_INLINE float acosf(float x) -{ - return (float)acos((double)x); + return __fabs(x); } -_MATH_INLINE float fmodf(float x, float m) -{ - return (float)fmod((double)x, (double)m); -} +_MATH_INLINE float fabsf(float x) { return (float)fabs((double)x); } +_MATH_INLINE float sinf(float x) { return (float)sin((double)x); } +_MATH_INLINE float cosf(float x) { return (float)cos((double)x); } +_MATH_INLINE float atan2f(float y, float x) { return (float)atan2((double)y, (double)x); } +_MATH_INLINE float atanf(float x) { return (float)atan((double)x); } +_MATH_INLINE float asinf(float x) { return (float)asin((double)x); } +_MATH_INLINE float acosf(float x) { return (float)acos((double)x); } -_MATH_INLINE float floorf(float x) -{ - return floor(x); -} +_MATH_INLINE float fmodf(float x, float m) { return (float)fmod((double)x, (double)m); } -_MATH_INLINE float powf(float __x, float __y) -{ - return pow(__x, __y); -} +_MATH_INLINE float floorf(float x) { return floor(x); } + +_MATH_INLINE float powf(float __x, float __y) { return pow(__x, __y); } #endif diff --git a/include/msm/msmfio.h b/include/msm/msmfio.h deleted file mode 100644 index 2335134f..00000000 --- a/include/msm/msmfio.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef MSMFIO_H -#define MSMFIO_H - -#include "dolphin.h" -#include "dolphin/types.h" -#include "game/msm.h" - -struct msmFio { - MSM_OPEN open; - MSM_READ read; - MSM_CLOSE close; -}; - -BOOL msmFioClose(DVDFileInfo *fileInfo); -BOOL msmFioRead(DVDFileInfo *fileInfo, void *addr, s32 length, s32 offset); -BOOL msmFioOpen(s32 entrynum, DVDFileInfo *fileInfo); -void msmFioInit(MSM_OPEN open, MSM_READ read, MSM_CLOSE close); - -#endif diff --git a/include/msm/msmmem.h b/include/msm/msmmem.h index 30d73f75..7deab41a 100644 --- a/include/msm/msmmem.h +++ b/include/msm/msmmem.h @@ -1,10 +1,5 @@ -#ifndef MSMMEM_H -#define MSMMEM_H - #include "dolphin/types.h" -void msmMemFree(void *ptr); -void *msmMemAlloc(u32 sze); -void msmMemInit(void *ptr, u32 size); - -#endif +void msmMemFree(void*); +void* msmMemAlloc(s32); +void msmMemInit(void*, u32); \ No newline at end of file diff --git a/include/msm/msmmus.h b/include/msm/msmmus.h deleted file mode 100644 index 586af22c..00000000 --- a/include/msm/msmmus.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef MSMMUS_H -#define MSMMUS_H - -#include "game/msm.h" -#include "msm/msmsys.h" - -void msmMusFdoutEnd(void); -void msmMusPeriodicProc(void); -s32 msmMusGetMidiCtrl(int musNo, s32 channel, s32 ctrl); -s32 msmMusGetNumPlay(BOOL baseGrp); -s32 msmMusGetStatus(int musNo); -void msmMusSetMasterVolume(s32 arg0); -s32 msmMusSetParam(s32 arg0, MSM_MUSPARAM* arg1); -void msmMusPauseAll(BOOL pause, s32 speed); -s32 msmMusPause(int musNo, BOOL pause, s32 speed); -void msmMusStopAll(BOOL checkGrp, s32 speed); -s32 msmMusStop(int musNo, s32 speed); -int msmMusPlay(int musId, MSM_MUSPARAM* musParam); -s32 msmMusInit(MSM_SYS* arg0, DVDFileInfo* arg1); - -#endif diff --git a/include/msm/msmse.h b/include/msm/msmse.h deleted file mode 100644 index b765a771..00000000 --- a/include/msm/msmse.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef MSMSE_H -#define MSMSE_H - -#include "game/msm.h" -#include "msm/msmsys.h" - -void msmSePeriodicProc(void); -MSM_SE* msmSeGetIndexPtr(s32 arg0); -void msmSeDelListener(void); -s32 msmSeUpdataListener(Vec* pos, Vec* heading); -s32 msmSeSetListener(Vec* pos, Vec* heading, float sndDist, float sndSpeed, MSM_SELISTENER* listener); -s32 msmSeGetEntryID(s32 seId, int* seNo); -s32 msmSeGetNumPlay(BOOL baseGrp); -s32 msmSeGetStatus(int seNo); -void msmSeSetMasterVolume(s32 arg0); -s32 msmSeSetParam(int seNo, MSM_SEPARAM* param); -void msmSePauseAll(BOOL pause, s32 speed); -void msmSeStopAll(BOOL checkGrp, s32 speed); -s32 msmSeStop(int seNo, s32 speed); -int msmSePlay(int seId, MSM_SEPARAM* param); -s32 msmSeInit(MSM_SYS* arg0, DVDFileInfo* arg1); - -#endif diff --git a/include/msm/msmstream.h b/include/msm/msmstream.h deleted file mode 100644 index b86fcaad..00000000 --- a/include/msm/msmstream.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef MSMSTREAM_H -#define MSMSTREAM_H - -#include "game/msm.h" - -s32 msmStreamGetStatus(int streamNo); -void msmStreamSetMasterVolume(s32 arg0); -void msmStreamStopAll(s32 speed); -s32 msmStreamStop(int streamNo, s32 speed); -int msmStreamPlay(int streamId, MSM_STREAMPARAM* streamParam); -void msmStreamPeriodicProc(void); -void msmStreamSetOutputMode(s32 arg0); -void msmStreamAmemFree(void); -s32 msmStreamAmemAlloc(void); -s32 msmStreamInit(char* arg0); - - -#endif diff --git a/include/msm/msmsys.h b/include/msm/msmsys.h deleted file mode 100755 index 6a55a4c6..00000000 --- a/include/msm/msmsys.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef MSMSYS_H -#define MSMSYS_H - -#include "game/msm.h" // TODO remove, only for decomp - -#include "dolphin.h" - -#define MSM_AUX_REVERBHI 0 -#define MSM_AUX_REVERBSTD 1 -#define MSM_AUX_CHORUS 2 -#define MSM_AUX_DELAY 3 - -#define MSM_AUXNO_NULL -2 -#define MSM_AUXNO_UNSET -1 - -typedef union { - SND_AUX_REVERBHI revHi; - SND_AUX_REVERBSTD revStd; - SND_AUX_CHORUS chorus; - SND_AUX_DELAY delay; -} MSM_AUX; // Size 0x1E0 - -typedef struct MSMGrpWork_s { - s8 grpId; - s8 baseGrpF; - u32 num; - void *buf; -} MSM_GRP_STACK; - -typedef struct MSMSys_s { - s32 msmEntryNum; - s8 outputMode; - s8 unk5; - s8 unk6; - s8 arInitF; - s32 aramP; - MSM_HEADER *header; - MSM_INFO *info; - MSM_AUXPARAM *auxParam; - s8 auxParamNo[2]; - MSM_AUX aux[2]; // 0: userA, 1: userB - s8 grpMax; - s32 grpNum; - u32 sampSize; - u32 sampSizeBase; - MSM_GRP_INFO *grpInfo; - MSM_GRP_SET *grpSet; - s8 baseGrpNum; - MSM_GRP_HEAD *grpData[15]; - s8 grpStackAMax; - u8 grpStackADepth; - s8 grpStackAOfs; - void *grpBufA; - MSM_GRP_STACK grpStackA[4]; - s8 grpStackBMax; - u8 grpStackBDepth; - s8 grpStackBOfs; - void *grpBufB; - MSM_GRP_STACK grpStackB[10]; - s32 irqDepth; - BOOL irqState; - AIDCallback oldAIDCallback; - s32 timer; -} MSM_SYS; - -s32 msmSysSearchGroupStack(s32 arg0, s32 arg1); -s32 msmSysGroupInit(DVDFileInfo *arg0); -void msmSysIrqDisable(void); -void msmSysIrqEnable(void); -BOOL msmSysCheckBaseGroup(s32 arg0); -void *msmSysGetGroupDataPtr(s32 arg0); -BOOL msmSysCheckLoadGroupID(s32 arg0); -void msmSysRegularProc(void); -s32 msmSysGetOutputMode(void); -BOOL msmSysSetOutputMode(SND_OUTPUTMODE mode); -s32 msmSysGetSampSize(BOOL baseGrp); -s32 msmSysDelGroupAll(void); -s32 msmSysDelGroupBase(s32 grpNum); -s32 msmSysLoadGroupBase(s32 arg0, void *arg1); -s32 msmSysLoadGroupSet(s32 arg0, void *arg1); -void msmSysCheckInit(void); -s32 msmSysInit(MSM_INIT *init, MSM_ARAM *aram); - -#endif diff --git a/include/ovl_table.h b/include/ovl_table.h index fe695ea9..148e2295 100644 --- a/include/ovl_table.h +++ b/include/ovl_table.h @@ -1,5 +1,3 @@ -#include "version.h" - OVL_DEFINE(OVL__MINI, "dll/_minigameDLL.rel") OVL_DEFINE(OVL_BOOT, "dll/bootdll.rel") OVL_DEFINE(OVL_E3SETUP, "dll/e3setupDLL.rel") @@ -71,17 +69,10 @@ OVL_DEFINE(OVL_M461, "dll/m461dll.rel") OVL_DEFINE(OVL_M462, "dll/m462dll.rel") OVL_DEFINE(OVL_M463, "dll/m463dll.rel") OVL_DEFINE(OVL_MENT, "dll/mentdll.rel") -#if VERSION_JP -OVL_DEFINE(OVL_MGMODE, "dll/mgmodedll.rel") -OVL_DEFINE(OVL_MODELTEST, "dll/modeltestdll.rel") -OVL_DEFINE(OVL_MODESEL, "dll/modeseldll.rel") -OVL_DEFINE(OVL_MOVIE, "dll/moviedll.rel") -#else OVL_DEFINE(OVL_MESS, "dll/messdll.rel") OVL_DEFINE(OVL_MGMODE, "dll/mgmodedll.rel") OVL_DEFINE(OVL_MODELTEST, "dll/modeltestdll.rel") OVL_DEFINE(OVL_MODESEL, "dll/modeseldll.rel") -#endif OVL_DEFINE(OVL_MPEX, "dll/mpexdll.rel") OVL_DEFINE(OVL_MSETUP, "dll/msetupdll.rel") OVL_DEFINE(OVL_MSTORY2, "dll/mstory2dll.rel") @@ -106,3 +97,4 @@ OVL_DEFINE(OVL_W10, "dll/w10dll.rel") OVL_DEFINE(OVL_W20, "dll/w20dll.rel") OVL_DEFINE(OVL_W21, "dll/w21dll.rel") OVL_DEFINE(OVL_ZTAR, "dll/ztardll.rel") +OVL_DEFINE(OVL_W07, "dll/w07Dll.rel") \ No newline at end of file diff --git a/include/rel_sqrt_consts.h b/include/rel_sqrt_consts.h new file mode 100644 index 00000000..23ae61cd --- /dev/null +++ b/include/rel_sqrt_consts.h @@ -0,0 +1,8 @@ +#ifndef _REL_SQRT_CONSTS +#define _REL_SQRT_CONSTS + +const double __fakeHalf = 0.5; +const double __fakeThree = 3.0; + + +#endif diff --git a/include/stdarg.h b/include/stdarg.h index e2cceee7..1ca0f853 100644 --- a/include/stdarg.h +++ b/include/stdarg.h @@ -1,39 +1,19 @@ -#ifndef _MSL_COMMON_STDARG_H -#define _MSL_COMMON_STDARG_H +#ifndef STDARG_H +#define STDARG_H -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __MWERKS__ typedef struct { - char gpr; - char fpr; - char reserved[2]; - char* input_arg_area; - char* reg_save_area; + char gpr; + char fpr; + char reserved[2]; + char* input_arg_area; + char* reg_save_area; } __va_list[1]; typedef __va_list va_list; -#ifndef __MWERKS__ -extern void __builtin_va_info(va_list*); -#endif - void* __va_arg(va_list v_list, unsigned char type); -#define va_start(ap, fmt) ((void)fmt, __builtin_va_info(&ap)) -#define va_arg(ap, t) (*((t*)__va_arg(ap, _var_arg_typeof(t)))) -#define va_end(ap) (void)0 +#define va_start(ap, fmt) ((void) fmt, __builtin_va_info(&ap)) +#define va_arg(ap, t) (*((t*) __va_arg(ap, _var_arg_typeof(t)))) +#define va_end(ap) (void) 0 -#else -typedef __builtin_va_list va_list; -#define va_start(v, l) __builtin_va_start(v, l) -#define va_end(v) __builtin_va_end(v) -#define va_arg(v, l) __builtin_va_arg(v, l) -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* _MSL_COMMON_STDARG_H */ +#endif \ No newline at end of file diff --git a/include/stddef.h b/include/stddef.h index 71816c2b..5a133946 100644 --- a/include/stddef.h +++ b/include/stddef.h @@ -10,13 +10,8 @@ extern "C" { /* These break 1.2.5 */ //typedef __typeof__(sizeof(0)) size_t; //typedef __typeof__((char*)0 - (char*)0) ptrdiff_t; -#ifdef __INTELLISENSE__ -typedef unsigned int size_t; -typedef int ptrdiff_t; -#else typedef unsigned long size_t; typedef long ptrdiff_t; -#endif #ifndef NULL #define NULL 0L #endif @@ -25,4 +20,4 @@ typedef long ptrdiff_t; } #endif -#endif +#endif \ No newline at end of file diff --git a/include/stdlib.h b/include/stdlib.h index aaf69e6d..c6e1d71d 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -1,10 +1,6 @@ #ifndef _STDLIB_H #define _STDLIB_H -#ifdef __MWERKS__ #define abs(x) __abs(x) -#else -int abs(int x); -#endif #endif diff --git a/include/string.h b/include/string.h index 863a4f97..583a906d 100644 --- a/include/string.h +++ b/include/string.h @@ -10,9 +10,9 @@ char* strrchr(const char* str, int c); char* strchr(const char* str, int c); int strncmp(const char* str1, const char* str2, size_t n); int strcmp(const char* str1, const char* str2); -char* strcat(char* dst, const char* src, size_t n); +char* strcat(char* dst, const char* src); char* strncpy(char* dst, const char* src, size_t n); char* strcpy(char* dst, const char* src); size_t strlen(const char* str); -#endif +#endif \ No newline at end of file diff --git a/include/types.h b/include/types.h index 349256d9..462b4f66 100644 --- a/include/types.h +++ b/include/types.h @@ -1,8 +1,6 @@ #ifndef _TYPES_H_ #define _TYPES_H_ -#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) - #include "dolphin/types.h" #endif diff --git a/include/version.h b/include/version.h deleted file mode 100644 index 209a7d53..00000000 --- a/include/version.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef _VERSION_H -#define _VERSION_H - -#define VERSION_NO_ENG0 0 -#define VERSION_NO_ENG1 1 -#define VERSION_NO_PAL0 2 -#define VERSION_NO_PAL2 3 -#define VERSION_NO_JP 4 - -#define VERSION_ENG (VERSION == VERSION_NO_ENG0 || VERSION == VERSION_NO_ENG1) -#define VERSION_PAL (VERSION == VERSION_NO_PAL0 || VERSION == VERSION_NO_PAL2) -#define VERSION_JP (VERSION == VERSION_NO_JP) -#define VERSION_NTSC (!VERSION_PAL) - -#define VERSION_REV0 (VERSION == VERSION_NO_ENG0 || VERSION == VERSION_NO_PAL0 || VERSION == VERSION_NO_JP) -#define VERSION_REV1 (!VERSION_REV0) - -#if VERSION_PAL -#define REFRESH_RATE 50 -#else -#define REFRESH_RATE 60 -#endif - -#endif diff --git a/orig/GMPE01_01/.gitkeep b/orig/GMPE01_01/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/src/MSL_C.PPCEABI.bare.H/FILE_POS.c b/src/MSL_C.PPCEABI.bare.H/FILE_POS.c deleted file mode 100755 index f0b5e933..00000000 --- a/src/MSL_C.PPCEABI.bare.H/FILE_POS.c +++ /dev/null @@ -1,97 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/errno.h" - -inline fpos_t _ftell(FILE* file) { - int charsInUndoBuffer = 0; - fpos_t position; - unsigned char tmp_kind = file->file_mode.file_kind; - - if (!(tmp_kind == __disk_file || tmp_kind == __console_file) || file->file_state.error) { - errno = EFPOS; - return -1; - } - - if (file->file_state.io_state == __neutral) - return (file->position); - - position = file->buffer_position + (file->buffer_ptr - file->buffer); - - if (file->file_state.io_state >= __rereading) { - charsInUndoBuffer = file->file_state.io_state - __rereading + 1; - position -= charsInUndoBuffer; - } - - return (position); -} - -long ftell(FILE* file) { - long retval; - - retval = (long)_ftell(file); - - return retval; -} - -int _fseek(FILE* file, fpos_t offset, int file_mode) { - fpos_t position; - __pos_proc pos_proc; - unsigned char tmp_kind = file->file_mode.file_kind; - - if (!(tmp_kind == __disk_file) || file->file_state.error) { - errno = EFPOS; - return (-1); - } - - if (file->file_state.io_state == __writing) { - if (__flush_buffer(file, NULL) != __no_io_error) { - set_error(file); - errno = EFPOS; - return (-1); - } - } - - if (file_mode == SEEK_CUR) { - file_mode = SEEK_SET; - if ((position = _ftell(file)) < 0) - position = 0; - offset += position; - } - - if ((file_mode != SEEK_END) && (file->file_mode.io_mode != __read_write) && - ((file->file_state.io_state == __reading) || (file->file_state.io_state == __rereading))) - { - if (offset >= file->position || offset < file->buffer_position) { - file->file_state.io_state = __neutral; - } else { - file->buffer_ptr = file->buffer + (offset - file->buffer_position); - file->buffer_length = file->position - offset; - file->file_state.io_state = __reading; - } - } else { - file->file_state.io_state = __neutral; - } - - if (file->file_state.io_state == __neutral) { - if ((pos_proc = file->position_fn) != NULL && pos_proc(file->handle, &offset, file_mode, file->idle_fn)) { - set_error(file); - errno = EFPOS; - return -1; - } - - file->file_state.eof = 0; - file->position = offset; - file->buffer_length = 0; - } - - return 0; -} - -int fseek(FILE * file, long offset, int file_mode) -{ - fpos_t real_offset = (fpos_t)offset; - int retval; - - retval = _fseek(file, real_offset, file_mode); - - return(retval); -} diff --git a/src/MSL_C.PPCEABI.bare.H/abort_exit.c b/src/MSL_C.PPCEABI.bare.H/abort_exit.c deleted file mode 100644 index 4432d145..00000000 --- a/src/MSL_C.PPCEABI.bare.H/abort_exit.c +++ /dev/null @@ -1,67 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/abort_exit.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/critical_regions.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/signal.h" -#include "stddef.h" - -void _ExitProcess(); - -extern void (*_dtors[])(void); - -int __aborting = 0; - -static void (*atexit_funcs[64])(void); -static int atexit_curr_func = 0; - -static void (*__atexit_funcs[64])(void); -static int __atexit_curr_func = 0; - -void (*__stdio_exit)(void) = 0; -void (*__console_exit)(void) = 0; - -void abort(void) -{ - void (**var_r31)(void); - - raise(1); - __aborting = 1; - var_r31 = &__atexit_funcs[0]; - while (__atexit_curr_func > 0) { - var_r31[--__atexit_curr_func](); - } - if (__console_exit != 0) { - __console_exit(); - __console_exit = 0; - } - _ExitProcess(); -} - -void exit(int status) -{ - int i; - void (**dtor)(void); - - if (!__aborting) { - __destroy_global_chain(); - - dtor = _dtors; - while (*dtor != NULL) { - (*dtor)(); - dtor++; - } - - if (__stdio_exit != NULL) { - __stdio_exit(); - __stdio_exit = NULL; - } - } - - while (__atexit_curr_func > 0) - __atexit_funcs[--__atexit_curr_func](); - - if (__console_exit != NULL) { - __console_exit(); - __console_exit = NULL; - } - - _ExitProcess(); -} diff --git a/src/MSL_C.PPCEABI.bare.H/alloc.c b/src/MSL_C.PPCEABI.bare.H/alloc.c deleted file mode 100755 index ba041356..00000000 --- a/src/MSL_C.PPCEABI.bare.H/alloc.c +++ /dev/null @@ -1,410 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/alloc.h" - -typedef struct Block { - struct Block* prev; - struct Block* next; - unsigned long max_size; - unsigned long size; -} Block; - -typedef struct SubBlock { - unsigned long size; - Block* block; - struct SubBlock* prev; - struct SubBlock* next; -} SubBlock; - -struct FixSubBlock; - -typedef struct FixBlock { - struct FixBlock* prev_; - struct FixBlock* next_; - unsigned long client_size_; - struct FixSubBlock* start_; - unsigned long n_allocated_; -} FixBlock; - -typedef struct FixSubBlock { - FixBlock* block_; - struct FixSubBlock* next_; -} FixSubBlock; - -typedef struct FixStart { - FixBlock* tail_; - FixBlock* head_; -} FixStart; - -typedef struct __mem_pool_obj { - Block* start_; - FixStart fix_start[6]; -} __mem_pool_obj; - -typedef struct __mem_pool { - void* reserved[14]; -} __mem_pool; - -typedef signed long tag_word; - -typedef struct block_header { - tag_word tag; - struct block_header * prev; - struct block_header * next; -} block_header; - -typedef struct list_header { - block_header * rover; - block_header header; -} list_header; - -typedef struct heap_header { - struct heap_header* prev; - struct heap_header* next; -} heap_header; - -struct mem_pool_obj; -typedef void * (*sys_alloc_ptr)(unsigned long, struct mem_pool_obj*); -typedef void (*sys_free_ptr)(void *, struct mem_pool_obj*); - -typedef struct pool_options{ - sys_alloc_ptr sys_alloc_func; - sys_free_ptr sys_free_func; - unsigned long min_heap_size; - int always_search_first; -} pool_options; - -typedef struct mem_pool_obj { - list_header free_list; - pool_options options; - heap_header* heap_list; - void* userData; - -} mem_pool_obj; - -mem_pool_obj __malloc_pool; -static int initialized = 0; - -static SubBlock* SubBlock_merge_prev(SubBlock*, SubBlock**); -static void SubBlock_merge_next(SubBlock* , SubBlock** ); - -static const unsigned long fix_pool_sizes[] = {4, 12, 20, 36, 52, 68}; - -#define SubBlock_size(ths) ((ths)->size & 0xFFFFFFF8) -#define SubBlock_block(ths) ((Block*)((unsigned long)((ths)->block) & ~0x1)) -#define Block_size(ths) ((ths)->size & 0xFFFFFFF8) -#define Block_start(ths) (*(SubBlock**)((char*)(ths) + Block_size((ths)) - sizeof(unsigned long))) - -#define SubBlock_set_free(ths) \ - unsigned long this_size = SubBlock_size((ths)); \ - (ths)->size &= ~0x2; \ - *(unsigned long*)((char*)(ths) + this_size) &= ~0x4; \ - *(unsigned long*)((char*)(ths) + this_size - sizeof(unsigned long)) = this_size - - -#define SubBlock_is_free(ths) !((ths)->size & 2) -#define SubBlock_set_size(ths, sz) \ - (ths)->size &= ~0xFFFFFFF8; \ - (ths)->size |= (sz) & 0xFFFFFFF8; \ - if (SubBlock_is_free((ths))) \ - *(unsigned long*)((char*)(ths) + (sz) - sizeof(unsigned long)) = (sz) - -#define SubBlock_from_pointer(ptr) ((SubBlock*)((char*)(ptr) - 8)) -#define FixSubBlock_from_pointer(ptr) ((FixSubBlock*)((char*)(ptr) - 4)) - -#define FixBlock_client_size(ths) ((ths)->client_size_) -#define FixSubBlock_size(ths) (FixBlock_client_size((ths)->block_)) - -#define classify(ptr) (*(unsigned long*)((char*)(ptr) - sizeof(unsigned long)) & 1) -#define __msize_inline(ptr) (!classify(ptr) ? FixSubBlock_size(FixSubBlock_from_pointer(ptr)) : SubBlock_size(SubBlock_from_pointer(ptr)) - 8) - -#define Block_empty(ths) \ - (_sb = (SubBlock*)((char*)(ths) + 16)), \ - SubBlock_is_free(_sb) && SubBlock_size(_sb) == Block_size((ths)) - 24 - -//unused -void Block_subBlock(){ -} - -void Block_link(Block* ths, SubBlock* sb) { - SubBlock** st; - SubBlock_set_free(sb); - st = &Block_start(ths); - - if (*st != 0) - { - sb->prev = (*st)->prev; - sb->prev->next = sb; - sb->next = *st; - (*st)->prev = sb; - *st = sb; - *st = SubBlock_merge_prev(*st, st); - SubBlock_merge_next(*st, st); - } - else - { - *st = sb; - sb->prev = sb; - sb->next = sb; - } - if (ths->max_size < SubBlock_size(*st)) - ths->max_size = SubBlock_size(*st); -} - -static SubBlock* SubBlock_merge_prev(SubBlock *ths, SubBlock **start) { - unsigned long prevsz; - SubBlock* p; - - if (!(ths->size & 0x04)) - { - prevsz = *(unsigned long*)((char*)ths - sizeof(unsigned long)); - if (prevsz & 0x2) - return ths; - p = (SubBlock*)((char*)ths - prevsz); - SubBlock_set_size(p, prevsz + SubBlock_size(ths)); - - if (*start == ths) - *start = (*start)->next; - ths->next->prev = ths->prev; - ths->next->prev->next = ths->next; - return p; - } - return ths; -} - - -static void SubBlock_merge_next(SubBlock *pBlock, SubBlock **pStart) { - SubBlock* next_sub_block; - unsigned long this_cur_size; - - next_sub_block = (SubBlock*)((char*)pBlock + (pBlock->size & 0xFFFFFFF8)); - - if (!(next_sub_block->size & 2)) { - this_cur_size = (pBlock->size & 0xFFFFFFF8) + (next_sub_block->size & 0xFFFFFFF8); - - pBlock->size &= ~0xFFFFFFF8; - pBlock->size |= this_cur_size & 0xFFFFFFF8; - - if (!(pBlock->size & 2)) { - *(unsigned long*)((char*)(pBlock) + (this_cur_size) - 4) = (this_cur_size); - } - - if (!(pBlock->size & 2)) { - *(unsigned long *)((char*)pBlock + this_cur_size) &= ~4; - } - else { - *(unsigned long *)((char*)pBlock + this_cur_size) |= 4; - } - - if (*pStart == next_sub_block) { - *pStart = (*pStart)->next; - } - - if (*pStart == next_sub_block) { - *pStart = 0; - } - - next_sub_block->next->prev = next_sub_block->prev; - next_sub_block->prev->next = next_sub_block->next; - } -} - -static Block* __unlink(__mem_pool_obj* pool_obj, Block* bp) { - Block* result = bp->next; - if (result == bp) { - result = 0; - } - - if (pool_obj->start_ == bp) { - pool_obj->start_ = result; - } - - if (result != 0) { - result->prev = bp->prev; - result->prev->next = result; - } - - bp->next = 0; - bp->prev = 0; - return result; -} - -//unused -void allocate_from_var_pools(){ -} - -//unused -void soft_allocate_from_var_pools(){ -} - -static void deallocate_from_var_pools(__mem_pool_obj* pool_obj, void *ptr) { - SubBlock* sb = SubBlock_from_pointer(ptr); - SubBlock* _sb; - - Block* bp = SubBlock_block(sb); - Block_link(bp, sb); - - if (Block_empty(bp)) { - __unlink(pool_obj, bp); - __sys_free(bp); - } -} - -//unused -void FixBlock_construct(){ -} - -void __init_pool_obj(__mem_pool* pool_obj) { - memset(pool_obj, 0, sizeof(__mem_pool_obj)); -} - - -static __mem_pool* get_malloc_pool(void) { - static __mem_pool protopool; - static unsigned char init = 0; - if (!init) { - __init_pool_obj(&protopool); - init = 1; - } - - return &protopool; -} - -//unused -void allocate_from_fixed_pools(){ -} - -void deallocate_from_fixed_pools(__mem_pool_obj* pool_obj, void* ptr, unsigned long size) { - unsigned long i = 0; - FixSubBlock* p; - FixBlock* b; - FixStart* fs; - - while (size > fix_pool_sizes[i]) { - ++i; - } - - fs = &pool_obj->fix_start[i]; - p = FixSubBlock_from_pointer(ptr); - b = p->block_; - - if (b->start_ == 0 && fs->head_ != b) { - if (fs->tail_ == b) { - fs->head_ = fs->head_->prev_; - fs->tail_ = fs->tail_->prev_; - } - else { - b->prev_->next_ = b->next_; - b->next_->prev_ = b->prev_; - b->next_ = fs->head_; - b->prev_ = b->next_->prev_; - b->prev_->next_ = b; - b->next_->prev_ = b; - fs->head_ = b; - } - } - - p->next_ = b->start_; - b->start_ = p; - - if (--b->n_allocated_ == 0) { - if (fs->head_ == b) { - fs->head_ = b->next_; - } - - if (fs->tail_ == b) { - fs->tail_ = b->prev_; - } - - b->prev_->next_ = b->next_; - b->next_->prev_ = b->prev_; - - if (fs->head_ == b) { - fs->head_ = 0; - } - - if (fs->tail_ == b) { - fs->tail_ = 0; - } - - deallocate_from_var_pools(pool_obj, b); - } -} - -//unused -void __pool_allocate_resize(){ -} - -//unused -void __msize(){ -} - -//unused -void __pool_alloc(){ -} - -//unused -void __allocate_size(){ -} - -//unused -void __allocate(){ -} - -//unused -void __allocate_resize(){ -} - -//unused -void __allocate_expand(){ -} - -void __pool_free(__mem_pool *pool, void *ptr) { - __mem_pool_obj* pool_obj; - unsigned long size; - - if (ptr == 0) { - return; - } - - pool_obj = (__mem_pool_obj*)pool; - size = __msize_inline(ptr); - - if (size <= 68) { - deallocate_from_fixed_pools(pool_obj, ptr, size); - } - else { - deallocate_from_var_pools(pool_obj, ptr); - } -} - -//unused -void __pool_realloc(){ -} - -//unused -void __pool_alloc_clear(){ -} - -//unused -void malloc(){ -} - -void free(void *ptr) { - __pool_free(get_malloc_pool(), ptr); -} - - -//unused -void realloc(){ -} - -//unused -void calloc(){ -} - -//unused -void __pool_free_all(){ -} - -//unused -void __malloc_free_all(){ -} diff --git a/src/MSL_C.PPCEABI.bare.H/ansi_files.c b/src/MSL_C.PPCEABI.bare.H/ansi_files.c deleted file mode 100644 index 76ffbe61..00000000 --- a/src/MSL_C.PPCEABI.bare.H/ansi_files.c +++ /dev/null @@ -1,111 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/file_io.h" - -static unsigned char stdin_buff[0x100]; -static unsigned char stdout_buff[0x100]; -static unsigned char stderr_buff[0x100]; - -FILE __files[4] = { - {0, - {0, 1, 1, 2, 0}, - {0, 0, 0, 0}, - 0, - 0, - 0, - {0, 0}, - {0, 0}, - 0, - stdin_buff, - sizeof(stdin_buff), - stdin_buff, - 0, - 0, - 0, - 0, - NULL, - &__read_console, - &__write_console, - &__close_console, - 0, - &__files[1]}, - {1, - {0, 2, 1, 2, 0}, - {0, 0, 0, 0}, - 0, - 0, - 0, - {0, 0}, - {0, 0}, - 0, - stdout_buff, - sizeof(stdout_buff), - stdout_buff, - 0, - 0, - 0, - 0, - NULL, - &__read_console, - &__write_console, - &__close_console, - 0, - &__files[2]}, - {2, - {0, 2, 0, 2, 0}, - {0, 0, 0, 0}, - 0, - 0, - 0, - {0, 0}, - {0, 0}, - 0, - stderr_buff, - sizeof(stderr_buff), - stderr_buff, - 0, - 0, - 0, - 0, - NULL, - &__read_console, - &__write_console, - &__close_console, - 0, - &__files[3]}, -}; - -void __close_all() { - FILE* p = &__files[0]; - FILE* plast; - - while (p != NULL) { - if (p->file_mode.file_kind != __closed_file) { - fclose(p); - } - - plast = p; - p = p->next_file_struct; - if (plast->is_dynamically_allocated) - free(plast); - else { - plast->file_mode.file_kind = __string_file; - if ((p != NULL) && p->is_dynamically_allocated) - plast->next_file_struct = NULL; - } - } -} - -unsigned int __flush_all() { - unsigned int retval = 0; - FILE* __stream; - - __stream = &__files[0]; - while (__stream) { - if ((__stream->file_mode.file_kind) && (fflush(__stream))) { - retval = -1; - } - __stream = __stream->next_file_struct; - }; - - return retval; -} diff --git a/src/MSL_C.PPCEABI.bare.H/ansi_fp.c b/src/MSL_C.PPCEABI.bare.H/ansi_fp.c deleted file mode 100755 index e8d7f0c7..00000000 --- a/src/MSL_C.PPCEABI.bare.H/ansi_fp.c +++ /dev/null @@ -1,393 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_fp.h" - -static int __count_trailing_zerol(unsigned int arg0) { - int var_r4; - int var_r5; - int var_r6; - int var_r7; - unsigned int var_r8; - - var_r5 = 0x20; - var_r8 = 0xFFFF; - var_r6 = 0x10; - var_r4 = 0; - var_r7 = 0x10; - while (var_r5 != 0) { - if (!(arg0 & var_r8)) { - var_r4 += var_r7; - arg0 >>= var_r7; - var_r5 -= var_r7; - } else if (var_r8 == 1) { - break; - } - if (var_r6 > 1) { - var_r6 /= 2; - } - if (var_r8 > 1) { - var_r8 >>= var_r6; - var_r7 -= var_r6; - } - } - return var_r4; -} - -static inline int __count_trailing_zero(double n){ - if (__LO(n) != 0U) { - return __count_trailing_zerol(__LO(n)); - } else { - return 32 + __count_trailing_zerol(__HI(n) | 0x100000); - } -} - -static void __ull2dec(decimal* result, unsigned long long val) { - result->sign = 0; - - if (val == 0) { - result->exp = 0; - result->sig.length = 1; - result->sig.text[0] = 0; - return; - } - - result->sig.length = 0; - - for(; val != 0; val /= 10) { - result->sig.text[result->sig.length++] = val % 10; - } - - { - unsigned char* i = result->sig.text; - unsigned char* j = result->sig.text + result->sig.length; - - for (; i < --j; ++i) { - unsigned char t = *i; - *i = *j; - *j = t; - } - } - - result->exp = result->sig.length - 1; -} - -static inline void __dorounddecup(decimal* d, int digits){ - unsigned char* b = d->sig.text; - unsigned char* i = b + digits - 1; - - while(1){ - if (*i < 9) { - *i += 1; - break; - } - if (i == b) { - *i = 1; - d->exp++; - break; - } - *i-- = 0; - } -} - -static void __timesdec(decimal* result, const decimal* x, const decimal* y) { - unsigned int accumulator = 0; - unsigned char mantissa[SIGDIGLEN * 2]; - int i = x->sig.length + y->sig.length - 1; - unsigned char* pDigit; - unsigned char* ip = mantissa + i + 1; - unsigned char* ep = ip; - - result->sign = 0; - - for(; i > 0; i--) { - int k = y->sig.length - 1; - int j = i - k - 1; - int l; - int t; - const unsigned char* jp; - const unsigned char* kp; - - if (j < 0) { - j = 0; - k = i - 1; - } - - jp = x->sig.text + j; - kp = y->sig.text + k; - l = k + 1; - t = x->sig.length - j; - - if (l > t) l = t; - - for (; l > 0; l--, jp++, kp--) { - accumulator += *jp * *kp; - } - - *--ip = accumulator % 10; - accumulator /= 10; - } - - result->exp = (short)(x->exp + y->exp); - - if (accumulator) { - *--ip = accumulator; - result->exp++; - } - - for (i = 0; i < SIGDIGLEN && ip < ep; i++, ip++) { - result->sig.text[i] = *ip; - } - result->sig.length = i; - - if (ip < ep && *ip >= 5){ - if (*ip == 5){ - unsigned char* jp = ip + 1; - for (; jp < ep; jp++) { - if (*jp != 0) goto round; - } - if ((ip[-1] & 1) == 0) return; - } - round: - __dorounddecup(result, result->sig.length); - } -} - -static void __str2dec(decimal* d, const signed char* s, short exp) { - int i; - - d->exp = exp; - d->sign = 0; - - for (i = 0; i < SIGDIGLEN && *s; ) { - d->sig.text[i++] = *s++ - '0'; - } - d->sig.length = i; - - if (*s != 0 && *s >= 5) { - const signed char* p = s + 1; - - for (; *p != 0; p++) { - if (*p != '0') goto round; - } - - if ((d->sig.text[i - 1] & 1) == 0) return; - round: - __dorounddecup(d, d->sig.length); - } -} - -// TODO: ideally, these strings should be used as literals in the function below. -// However, the first one (179769313486231580793729011405303420, corresponding to -// 2^1024) is not used in the function and messes up alignment. - -const signed char lbl_8011E630[] = - "179769313486231580793729011405303420\000" \ - "542101086242752217003726400434970855712890625\000" \ - "11102230246251565404236316680908203125\000" \ - "23283064365386962890625\000" \ - "152587890625\000" \ - "390625\000" \ - "78125\000" \ - "15625\000" \ - "3125\000" \ - "625\000" \ - "125\000" \ - "25\000" \ - "5\000" \ - "1\000" \ - "2\000" \ - "4\000" \ - "8\000" \ - "16\000" \ - "32\000" \ - "64\000" \ - "128\000" \ - "256"; - -static void __two_exp(decimal* result, short exp) { - decimal sp8C; - decimal sp60; - decimal sp34; - decimal sp8; - - switch (exp) { - case -64: - __str2dec(result, lbl_8011E630 + 0x25, -20); - break; - case -53: - __str2dec(result, lbl_8011E630 + 0x53, -16); - break; - case -32: - __str2dec(result, lbl_8011E630 + 0x7A, -10); - break; - case -16: - __str2dec(result, lbl_8011E630 + 0x92, -5); - break; - case -8: - __str2dec(result, lbl_8011E630 + 0x9F, -3); - break; - case -7: - __str2dec(result, lbl_8011E630 + 0xA6, -3); - break; - case -6: - __str2dec(result, lbl_8011E630 + 0xAC, -2); - break; - case -5: - __str2dec(result, lbl_8011E630 + 0xB2, -2); - break; - case -4: - __str2dec(result, lbl_8011E630 + 0xB7, -2); - break; - case -3: - __str2dec(result, lbl_8011E630 + 0xBB, -1); - break; - case -2: - __str2dec(result, lbl_8011E630 + 0xBF, -1); - break; - case -1: - __str2dec(result, lbl_8011E630 + 0xC2, -1); - break; - case 0: - __str2dec(result, lbl_8011E630 + 0xC4, 0); - break; - case 1: - __str2dec(result, lbl_8011E630 + 0xC6, 0); - break; - case 2: - __str2dec(result, lbl_8011E630 + 0xC8, 0); - break; - case 3: - __str2dec(result, lbl_8011E630 + 0xCA, 0); - break; - case 4: - __str2dec(result, lbl_8011E630 + 0xCC, 1); - break; - case 5: - __str2dec(result, lbl_8011E630 + 0xCF, 1); - break; - case 6: - __str2dec(result, lbl_8011E630 + 0xD2, 1); - break; - case 7: - __str2dec(result, lbl_8011E630 + 0xD5, 2); - break; - case 8: - __str2dec(result, lbl_8011E630 + 0xD9, 2); - break; - default: - __two_exp(&sp8C, exp / 2); - __timesdec(result, &sp8C, &sp8C); - if (exp & 1) { - sp60 = *result; - if (exp > 0) { - __str2dec(&sp34, lbl_8011E630 + 0xC6, 0); - __timesdec(result, &sp60, &sp34); - } else { - __str2dec(&sp8, lbl_8011E630 + 0xC2, -1); - __timesdec(result, &sp60, &sp8); - } - } - break; - } -} - -static void __num2dec_internal(decimal* d, double x) { - signed char sign = (signbit(x) != 0); - - if (x == 0) { - d->sign = sign; - d->exp = 0; - d->sig.length = 1; - d->sig.text[0] = 0; - return; - } - - if (!isfinite(x)) { - d->sign = sign; - d->exp = 0; - d->sig.length = 1; - d->sig.text[0] = (fpclassify(x) == 1) ? 'N' : 'I'; - return; - } - - if (sign != 0) { - x = -x; - } - - { - int exp; - double frac = frexp(x, &exp); - short num_bits_extract = DBL_MANT_DIG - __count_trailing_zero(frac); - decimal int_d, pow2_d; - double sp30; - - __two_exp(&pow2_d, exp - num_bits_extract); - modf(ldexp(frac, num_bits_extract), &sp30); - __ull2dec(&int_d, sp30); - __timesdec(d, &int_d, &pow2_d); - d->sign = sign; - } -} - -static inline int __must_round(const decimal* d, int digits){ - unsigned char const* i = d->sig.text + digits; - - if (*i > 5) { - return 1; - } - - if (*i < 5) { - return -1; - } - - { - unsigned char const* e = d->sig.text + d->sig.length; - - for(i++; i < e; i++){ - if (*i != 0) { - return 1; - } - } - } - - if (d->sig.text[digits - 1] & 1) { - return 1; - } - - return -1; -} - -static inline void __rounddec(decimal* d, int digits){ - if (digits > 0 && digits < d->sig.length) { - int unkBool = __must_round(d,digits); - d->sig.length = digits; - - if (unkBool >= 0) { - __dorounddecup(d, digits); - } - } -} - -void __num2dec(const decform* form, double x, decimal* d) { - short digits = form->digits; - int i; - __num2dec_internal(d, x); - - if (d->sig.text[0] > 9) { - return; - } - - if (digits > SIGDIGLEN) { - digits = SIGDIGLEN; - } - - __rounddec(d, digits); - - while(d->sig.length < digits){ - d->sig.text[d->sig.length++] = 0; - } - - d->exp -= d->sig.length - 1; - - for(i = 0; i < d->sig.length; i++) { - d->sig.text[i] += '0'; - } -} diff --git a/src/MSL_C.PPCEABI.bare.H/arith.c b/src/MSL_C.PPCEABI.bare.H/arith.c deleted file mode 100755 index 974c95c2..00000000 --- a/src/MSL_C.PPCEABI.bare.H/arith.c +++ /dev/null @@ -1,13 +0,0 @@ -int abs(int n) { - if (n < 0) - return (-n); - else - return (n); -} - -long labs(long n) { - if (n < 0) - return (-n); - else - return (n); -} diff --git a/src/MSL_C.PPCEABI.bare.H/buffer_io.c b/src/MSL_C.PPCEABI.bare.H/buffer_io.c deleted file mode 100644 index 5657680d..00000000 --- a/src/MSL_C.PPCEABI.bare.H/buffer_io.c +++ /dev/null @@ -1,41 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h" - -void __prep_buffer(FILE* file) -{ - file->buffer_ptr = file->buffer; - file->buffer_length = file->buffer_size; - file->buffer_length -= file->position & file->buffer_alignment; - file->buffer_position = file->position; -} - -void __convert_from_newlines(unsigned char* p, size_t* n) { } - -int __flush_buffer(FILE* file, size_t* bytes_flushed) -{ - size_t buffer_len; - int ioresult; - - buffer_len = file->buffer_ptr - file->buffer; - - if (buffer_len) { - file->buffer_length = buffer_len; - - if (!file->file_mode.binary_io) - __convert_from_newlines(file->buffer, &file->buffer_length); - - ioresult = (*file->write_fn)(file->handle, file->buffer, - &file->buffer_length, file->idle_fn); - - if (bytes_flushed) - *bytes_flushed = file->buffer_length; - - if (ioresult) - return ioresult; - - file->position += file->buffer_length; - } - - __prep_buffer(file); - - return __no_io_error; -} diff --git a/src/MSL_C.PPCEABI.bare.H/ctype.c b/src/MSL_C.PPCEABI.bare.H/ctype.c deleted file mode 100644 index 0a0ce04b..00000000 --- a/src/MSL_C.PPCEABI.bare.H/ctype.c +++ /dev/null @@ -1,78 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ctype.h" - -#define ctrl __control_char -#define motn __motion_char -#define spac __space_char -#define punc __punctuation -#define digi __digit -#define hexd __hex_digit -#define lowc __lower_case -#define uppc __upper_case -#define dhex (hexd | digi) -#define uhex (hexd | uppc) -#define lhex (hexd | lowc) - -unsigned char __ctype_map[256] = { - // clang-format off - ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, motn, motn, motn, motn, motn, ctrl, ctrl, - ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, ctrl, - spac, punc, punc, punc, punc, punc, punc, punc, punc, punc, punc, punc, punc, punc, punc, punc, - dhex, dhex, dhex, dhex, dhex, dhex, dhex, dhex, dhex, dhex, punc, punc, punc, punc, punc, punc, - punc, uhex, uhex, uhex, uhex, uhex, uhex, uppc, uppc, uppc, uppc, uppc, uppc, uppc, uppc, uppc, - uppc, uppc, uppc, uppc, uppc, uppc, uppc, uppc, uppc, uppc, uppc, punc, punc, punc, punc, punc, - punc, lhex, lhex, lhex, lhex, lhex, lhex, lowc, lowc, lowc, lowc, lowc, lowc, lowc, lowc, lowc, - lowc, lowc, lowc, lowc, lowc, lowc, lowc, lowc, lowc, lowc, lowc, punc, punc, punc, punc, ctrl, - // clang-format on -}; - -unsigned char __lower_map[256] = { - // clang-format off - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, - ' ', '!', '"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/', - '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', - '@', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', - 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '[', '\\', ']', '^', '_', - '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', - 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', 0x7F, - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, - 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, - 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, - 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, - 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, - 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, - // clang-format on -}; - -unsigned char __upper_map[256] = { - // clang-format off - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, - ' ', '!', '"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/', - '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', - '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', - 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^', '_', - '`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', - 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '{', '|', '}', '~', 0x7F, - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, - 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, - 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, - 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, - 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, - 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, - // clang-format on -}; - -int isalpha(int __c) -{ - return __ctype_map[(unsigned char)__c] & __letter; -} - -int tolower(int __c) -{ - return __c == -1 ? -1 : __lower_map[(unsigned char)__c]; -} diff --git a/src/MSL_C.PPCEABI.bare.H/direct_io.c b/src/MSL_C.PPCEABI.bare.H/direct_io.c deleted file mode 100644 index 4cfa5184..00000000 --- a/src/MSL_C.PPCEABI.bare.H/direct_io.c +++ /dev/null @@ -1,114 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/direct_io.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h" - -size_t fwrite(const void* ptr, size_t memb_size, size_t num_memb, FILE* file) { - size_t retval; - retval = __fwrite(ptr, memb_size, num_memb, file); - return (retval); -} - -size_t __fwrite(const void* ptr, size_t memb_size, size_t num_memb, FILE* file) { - unsigned char* write_ptr; - size_t num_bytes, bytes_to_go, bytes_written; - int ioresult, always_buffer; - -#ifndef __NO_WIDE_CHAR - if (fwide(file, 0) == 0) - fwide(file, -1); -#endif - - bytes_to_go = memb_size * num_memb; - - if (!bytes_to_go || file->file_state.error || file->file_mode.file_kind == __closed_file) - return 0; - - if (file->file_mode.file_kind == __console_file) - __stdio_atexit(); - - always_buffer = - !file->file_mode.binary_io || file->file_mode.buffer_mode == _IOFBF || file->file_mode.buffer_mode == _IOLBF; - - if (file->file_state.io_state == __neutral) { - if (file->file_mode.io_mode & __write) { - if (file->file_mode.io_mode & __append) { - if (fseek(file, 0, SEEK_END)) - return 0; - } - file->file_state.io_state = __writing; - - __prep_buffer(file); - } - } - - if (file->file_state.io_state != __writing) { - set_error(file); - return 0; - } - - write_ptr = (unsigned char*)ptr; - bytes_written = 0; - - if (bytes_to_go && (file->buffer_ptr != file->buffer || always_buffer)) { - file->buffer_length = file->buffer_size - (file->buffer_ptr - file->buffer); - - do { - unsigned char* newline = NULL; - - num_bytes = file->buffer_length; - - if (num_bytes > bytes_to_go) - num_bytes = bytes_to_go; - if (file->file_mode.buffer_mode == _IOLBF && num_bytes) - if ((newline = (unsigned char*)__memrchr(write_ptr, '\n', num_bytes)) != NULL) - num_bytes = newline + 1 - write_ptr; - - if (num_bytes) { - memcpy(file->buffer_ptr, write_ptr, num_bytes); - - write_ptr += num_bytes; - bytes_written += num_bytes; - bytes_to_go -= num_bytes; - - file->buffer_ptr += num_bytes; - file->buffer_length -= num_bytes; - } - if (!file->buffer_length || newline != NULL || - (file->file_mode.buffer_mode == _IONBF)) - { - ioresult = __flush_buffer(file, NULL); - - if (ioresult) { - set_error(file); - bytes_to_go = 0; - break; - } - } - } while (bytes_to_go && always_buffer); - } - - if (bytes_to_go && !always_buffer) { - unsigned char* save_buffer = file->buffer; - size_t save_size = file->buffer_size; - - file->buffer = write_ptr; - file->buffer_size = bytes_to_go; - file->buffer_ptr = write_ptr + bytes_to_go; - - if (__flush_buffer(file, &num_bytes) != __no_io_error) - set_error(file); - - bytes_written += num_bytes; - - file->buffer = save_buffer; - file->buffer_size = save_size; - - __prep_buffer(file); - - file->buffer_length = 0; - } - - if (file->file_mode.buffer_mode != _IOFBF) - file->buffer_length = 0; - - return ((bytes_written + memb_size - 1) / memb_size); -} diff --git a/src/MSL_C.PPCEABI.bare.H/e_acos.c b/src/MSL_C.PPCEABI.bare.H/e_acos.c deleted file mode 100644 index 01bba5e0..00000000 --- a/src/MSL_C.PPCEABI.bare.H/e_acos.c +++ /dev/null @@ -1,69 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/math.h" - -#ifdef __STDC__ -static const double -#else -static double -#endif -one= 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ -pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */ -pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ -pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ -pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ -pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ -pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ -pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ -pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ -pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ -qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ -qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ -qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ -qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ - -#ifdef __STDC__ - double __ieee754_acos(double x) -#else - double __ieee754_acos(x) - double x; -#endif -{ - double z,p,q,r,w,s,c,df; - int hx,ix; - hx = __HI(x); - ix = hx&0x7fffffff; - if(ix>=0x3ff00000) { /* |x| >= 1 */ - if(((ix-0x3ff00000)|__LO(x))==0) { /* |x|==1 */ - if(hx>0) return 0.0; /* acos(1) = 0 */ - else return pi+2.0*pio2_lo; /* acos(-1)= pi */ - } - return NAN; /* acos(|x|>1) is NaN */ - } - if(ix<0x3fe00000) { /* |x| < 0.5 */ - if(ix<=0x3c600000) return pio2_hi+pio2_lo;/*if|x|<2**-57*/ - z = x*x; - p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5))))); - q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4))); - r = p/q; - return pio2_hi - (x - (pio2_lo-x*r)); - } else if (hx<0) { /* x < -0.5 */ - z = (one+x)*0.5; - p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5))))); - q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4))); - s = sqrt(z); - r = p/q; - w = r*s-pio2_lo; - return pi - 2.0*(s+w); - } else { /* x > 0.5 */ - z = (one-x)*0.5; - s = sqrt(z); - df = s; - __LO(df) = 0; - c = (z-df*df)/(s+df); - p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5))))); - q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4))); - r = p/q; - w = r*s+c; - return 2.0*(df+w); - } -} diff --git a/src/MSL_C.PPCEABI.bare.H/e_asin.c b/src/MSL_C.PPCEABI.bare.H/e_asin.c deleted file mode 100644 index 743d78d5..00000000 --- a/src/MSL_C.PPCEABI.bare.H/e_asin.c +++ /dev/null @@ -1,71 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/math.h" - -#ifdef __STDC__ -static const double -#else -static double -#endif -one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ -huge = 1.000e+300, -pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ -pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ -pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */ - /* coefficient for R(x^2) */ -pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ -pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ -pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ -pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ -pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ -pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ -qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ -qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ -qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ -qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ - -#ifdef __STDC__ - double __ieee754_asin(double x) -#else - double __ieee754_asin(x) - double x; -#endif -{ - double t,w,p,q,c,r,s; - int hx,ix; - hx = __HI(x); - ix = hx&0x7fffffff; - if(ix>= 0x3ff00000) { /* |x|>= 1 */ - if(((ix-0x3ff00000)|__LO(x))==0) - /* asin(1)=+-pi/2 with inexact */ - return x*pio2_hi+x*pio2_lo; - return NAN; /* asin(|x|>1) is NaN */ - } else if (ix<0x3fe00000) { /* |x|<0.5 */ - if(ix<0x3e400000) { /* if |x| < 2**-27 */ - if(huge+x>one) return x;/* return x with inexact if x!=0*/ - } else - t = x*x; - p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5))))); - q = one+t*(qS1+t*(qS2+t*(qS3+t*qS4))); - w = p/q; - return x+x*w; - } - /* 1> |x|>= 0.5 */ - w = one-fabs(x); - t = w*0.5; - p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5))))); - q = one+t*(qS1+t*(qS2+t*(qS3+t*qS4))); - s = sqrt(t); - if(ix>=0x3FEF3333) { /* if |x| > 0.975 */ - w = p/q; - t = pio2_hi-(2.0*(s+s*w)-pio2_lo); - } else { - w = s; - __LO(w) = 0; - c = (t-w*w)/(s+w); - r = p/q; - p = 2.0*s*r-(pio2_lo-2.0*c); - q = pio4_hi-2.0*w; - t = pio4_hi-(p-q); - } - if(hx>0) return t; else return -t; -} diff --git a/src/MSL_C.PPCEABI.bare.H/e_atan2.c b/src/MSL_C.PPCEABI.bare.H/e_atan2.c deleted file mode 100644 index 43b99afd..00000000 --- a/src/MSL_C.PPCEABI.bare.H/e_atan2.c +++ /dev/null @@ -1,145 +0,0 @@ - -/* @(#)e_atan2.c 1.3 95/01/18 */ -/** - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - * - */ - -/* __ieee754_atan2(y,x) - * Method : - * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x). - * 2. Reduce x to positive by (if x and y are unexceptional): - * ARG (x+iy) = arctan(y/x) ... if x > 0, - * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0, - * - * Special cases: - * - * ATAN2((anything), NaN ) is NaN; - * ATAN2(NAN , (anything) ) is NaN; - * ATAN2(+-0, +(anything but NaN)) is +-0 ; - * ATAN2(+-0, -(anything but NaN)) is +-pi ; - * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2; - * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ; - * ATAN2(+-(anything but INF and NaN), -INF) is +-pi; - * ATAN2(+-INF,+INF ) is +-pi/4 ; - * ATAN2(+-INF,-INF ) is +-3pi/4; - * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2; - * - * Constants: - * The hexadecimal values are the intended ones for the following - * constants. The decimal values may be used, provided that the - * compiler will convert from decimal to binary accurately enough - * to produce the hexadecimal values shown. - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#ifdef __STDC__ -static const double -#else -static double -#endif - tiny - = 1.0e-300, - zero = 0.0, pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */ - pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */ - pi = 3.1415926535897931160E+00, /* 0x400921FB, 0x54442D18 */ - pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ - -#ifdef __STDC__ -double __ieee754_atan2(double y, double x) -#else -double __ieee754_atan2(y, x) -double y, x; -#endif -{ - double z; - int k, m, hx, hy, ix, iy; - unsigned lx, ly; - - hx = __HI(x); - ix = hx & 0x7fffffff; - lx = __LO(x); - hy = __HI(y); - iy = hy & 0x7fffffff; - ly = __LO(y); - if (((ix | ((lx | -lx) >> 31)) > 0x7ff00000) - || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000)) /* x or y is NaN */ - return x + y; - if ((hx - 0x3ff00000 | lx) == 0) - return atan(y); /* x=1.0 */ - m = ((hy >> 31) & 1) | ((hx >> 30) & 2); /* 2*sign(x)+sign(y) */ - - /* when y = 0 */ - if ((iy | ly) == 0) { - switch (m) { - case 0: - case 1: - return y; /* atan(+-0,+anything)=+-0 */ - case 2: - return pi + tiny; /* atan(+0,-anything) = pi */ - case 3: - return -pi - tiny; /* atan(-0,-anything) =-pi */ - } - } - /* when x = 0 */ - if ((ix | lx) == 0) - return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; - - /* when x is INF */ - if (ix == 0x7ff00000) { - if (iy == 0x7ff00000) { - switch (m) { - case 0: - return pi_o_4 + tiny; /* atan(+INF,+INF) */ - case 1: - return -pi_o_4 - tiny; /* atan(-INF,+INF) */ - case 2: - return 3.0 * pi_o_4 + tiny; /*atan(+INF,-INF)*/ - case 3: - return -3.0 * pi_o_4 - tiny; /*atan(-INF,-INF)*/ - } - } else { - switch (m) { - case 0: - return zero; /* atan(+...,+INF) */ - case 1: - return -zero; /* atan(-...,+INF) */ - case 2: - return pi + tiny; /* atan(+...,-INF) */ - case 3: - return -pi - tiny; /* atan(-...,-INF) */ - } - } - } - /* when y is INF */ - if (iy == 0x7ff00000) - return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; - - /* compute y/x */ - k = (iy - ix) >> 20; - if (k > 60) - z = pi_o_2 + 0.5 * pi_lo; /* |y/x| > 2**60 */ - else if (hx < 0 && k < -60) - z = 0.0; /* |y|/x < -2**60 */ - else - z = atan(fabs__Fd(y / x)); /* safe to do y/x */ - switch (m) { - case 0: - return z; /* atan(+,+) */ - case 1: - __HI(z) ^= 0x80000000; - return z; /* atan(-,+) */ - case 2: - return pi - (z - pi_lo); /* atan(+,-) */ - default: /* case 3 */ - return (z - pi_lo) - pi; /* atan(-,-) */ - } -} diff --git a/src/MSL_C.PPCEABI.bare.H/e_fmod.c b/src/MSL_C.PPCEABI.bare.H/e_fmod.c deleted file mode 100644 index 311d2f08..00000000 --- a/src/MSL_C.PPCEABI.bare.H/e_fmod.c +++ /dev/null @@ -1,140 +0,0 @@ - -/* @(#)e_fmod.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* - * __ieee754_fmod(x,y) - * Return x mod y in exact arithmetic - * Method: shift and subtract - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#ifdef __STDC__ -static const double one = 1.0, Zero[] = {0.0, -0.0,}; -#else -static double one = 1.0, Zero[] = {0.0, -0.0,}; -#endif - -#ifdef __STDC__ - double __ieee754_fmod(double x, double y) -#else - double __ieee754_fmod(x,y) - double x,y ; -#endif -{ - int n,hx,hy,hz,ix,iy,sx,i; - unsigned lx,ly,lz; - - hx = __HI(x); /* high word of x */ - lx = __LO(x); /* low word of x */ - hy = __HI(y); /* high word of y */ - ly = __LO(y); /* low word of y */ - sx = hx&0x80000000; /* sign of x */ - hx ^=sx; /* |x| */ - hy &= 0x7fffffff; /* |y| */ - - /* purge off exception values */ - if((hy|ly)==0||(hx>=0x7ff00000)|| /* y=0,or x not finite */ - ((hy|((ly|-ly)>>31))>0x7ff00000)) /* or y is NaN */ - return (x*y)/(x*y); - if(hx<=hy) { - if((hx>31]; /* |x|=|y| return x*0*/ - } - - /* determine ix = ilogb(x) */ - if(hx<0x00100000) { /* subnormal x */ - if(hx==0) { - for (ix = -1043, i=lx; i>0; i<<=1) ix -=1; - } else { - for (ix = -1022,i=(hx<<11); i>0; i<<=1) ix -=1; - } - } else ix = (hx>>20)-1023; - - /* determine iy = ilogb(y) */ - if(hy<0x00100000) { /* subnormal y */ - if(hy==0) { - for (iy = -1043, i=ly; i>0; i<<=1) iy -=1; - } else { - for (iy = -1022,i=(hy<<11); i>0; i<<=1) iy -=1; - } - } else iy = (hy>>20)-1023; - - /* set up {hx,lx}, {hy,ly} and align y to x */ - if(ix >= -1022) - hx = 0x00100000|(0x000fffff&hx); - else { /* subnormal x, shift x to normal */ - n = -1022-ix; - if(n<=31) { - hx = (hx<>(32-n)); - lx <<= n; - } else { - hx = lx<<(n-32); - lx = 0; - } - } - if(iy >= -1022) - hy = 0x00100000|(0x000fffff&hy); - else { /* subnormal y, shift y to normal */ - n = -1022-iy; - if(n<=31) { - hy = (hy<>(32-n)); - ly <<= n; - } else { - hy = ly<<(n-32); - ly = 0; - } - } - - /* fix point fmod */ - n = ix - iy; - while(n--) { - hz=hx-hy;lz=lx-ly; if(lx>31); lx = lx+lx;} - else { - if((hz|lz)==0) /* return sign(x)*0 */ - return Zero[(unsigned)sx>>31]; - hx = hz+hz+(lz>>31); lx = lz+lz; - } - } - hz=hx-hy;lz=lx-ly; if(lx=0) {hx=hz;lx=lz;} - - /* convert back to floating value and restore the sign */ - if((hx|lx)==0) /* return sign(x)*0 */ - return Zero[(unsigned)sx>>31]; - while(hx<0x00100000) { /* normalize x */ - hx = hx+hx+(lx>>31); lx = lx+lx; - iy -= 1; - } - if(iy>= -1022) { /* normalize output */ - hx = ((hx-0x00100000)|((iy+1023)<<20)); - __HI(x) = hx|sx; - __LO(x) = lx; - } else { /* subnormal output */ - n = -1022 - iy; - if(n<=20) { - lx = (lx>>n)|((unsigned)hx<<(32-n)); - hx >>= n; - } else if (n<=31) { - lx = (hx<<(32-n))|(lx>>n); hx = sx; - } else { - lx = hx>>(n-32); hx = sx; - } - __HI(x) = hx|sx; - __LO(x) = lx; - x *= one; /* create necessary signal */ - } - return x; /* exact output */ -} diff --git a/src/MSL_C.PPCEABI.bare.H/e_pow.c b/src/MSL_C.PPCEABI.bare.H/e_pow.c deleted file mode 100644 index 55b9b1c1..00000000 --- a/src/MSL_C.PPCEABI.bare.H/e_pow.c +++ /dev/null @@ -1,308 +0,0 @@ -/* @(#)e_pow.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* __ieee754_pow(x,y) return x**y - * - * n - * Method: Let x = 2 * (1+f) - * 1. Compute and return log2(x) in two pieces: - * log2(x) = w1 + w2, - * where w1 has 53-24 = 29 bit trailing zeros. - * 2. Perform y*log2(x) = n+y' by simulating muti-precision - * arithmetic, where |y'|<=0.5. - * 3. Return x**y = 2**n*exp(y'*log2) - * - * Special cases: - * 1. (anything) ** 0 is 1 - * 2. (anything) ** 1 is itself - * 3. (anything) ** NAN is NAN - * 4. NAN ** (anything except 0) is NAN - * 5. +-(|x| > 1) ** +INF is +INF - * 6. +-(|x| > 1) ** -INF is +0 - * 7. +-(|x| < 1) ** +INF is +0 - * 8. +-(|x| < 1) ** -INF is +INF - * 9. +-1 ** +-INF is NAN - * 10. +0 ** (+anything except 0, NAN) is +0 - * 11. -0 ** (+anything except 0, NAN, odd integer) is +0 - * 12. +0 ** (-anything except 0, NAN) is +INF - * 13. -0 ** (-anything except 0, NAN, odd integer) is +INF - * 14. -0 ** (odd integer) = -( +0 ** (odd integer) ) - * 15. +INF ** (+anything except 0,NAN) is +INF - * 16. +INF ** (-anything except 0,NAN) is +0 - * 17. -INF ** (anything) = -0 ** (-anything) - * 18. (-anything) ** (integer) is (-1)**(integer)*(+anything**integer) - * 19. (-anything except 0 and inf) ** (non-integer) is NAN - * - * Accuracy: - * pow(x,y) returns x**y nearly rounded. In particular - * pow(integer,integer) - * always returns the correct integer provided it is - * representable. - * - * Constants : - * The hexadecimal values are the intended ones for the following - * constants. The decimal values may be used, provided that the - * compiler will convert from decimal to binary accurately enough - * to produce the hexadecimal values shown. - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/errno.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/math.h" - -#ifdef __STDC__ -static const double -#else -static double -#endif -bp[] = {1.0, 1.5,}, -dp_h[] = { 0.0, 5.84962487220764160156e-01,}, /* 0x3FE2B803, 0x40000000 */ -dp_l[] = { 0.0, 1.35003920212974897128e-08,}, /* 0x3E4CFDEB, 0x43CFD006 */ -zero = 0.0, -one = 1.0, -two = 2.0, -two53 = 9007199254740992.0, /* 0x43400000, 0x00000000 */ -huge = 1.0e300, -tiny = 1.0e-300, - /* poly coefs for (3/2)*(log(x)-2s-2/3*s**3 */ -L1 = 5.99999999999994648725e-01, /* 0x3FE33333, 0x33333303 */ -L2 = 4.28571428578550184252e-01, /* 0x3FDB6DB6, 0xDB6FABFF */ -L3 = 3.33333329818377432918e-01, /* 0x3FD55555, 0x518F264D */ -L4 = 2.72728123808534006489e-01, /* 0x3FD17460, 0xA91D4101 */ -L5 = 2.30660745775561754067e-01, /* 0x3FCD864A, 0x93C9DB65 */ -L6 = 2.06975017800338417784e-01, /* 0x3FCA7E28, 0x4A454EEF */ -P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ -P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ -P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ -P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ -P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */ -lg2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */ -lg2_h = 6.93147182464599609375e-01, /* 0x3FE62E43, 0x00000000 */ -lg2_l = -1.90465429995776804525e-09, /* 0xBE205C61, 0x0CA86C39 */ -ovt = 8.0085662595372944372e-0017, /* -(1024-log2(ovfl+.5ulp)) */ -cp = 9.61796693925975554329e-01, /* 0x3FEEC709, 0xDC3A03FD =2/(3ln2) */ -cp_h = 9.61796700954437255859e-01, /* 0x3FEEC709, 0xE0000000 =(float)cp */ -cp_l = -7.02846165095275826516e-09, /* 0xBE3E2FE0, 0x145B01F5 =tail of cp_h*/ -ivln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE =1/ln2 */ -ivln2_h = 1.44269502162933349609e+00, /* 0x3FF71547, 0x60000000 =24b 1/ln2*/ -ivln2_l = 1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/ - -#ifdef __STDC__ - double __ieee754_pow(double x, double y) -#else - double __ieee754_pow(x,y) - double x, y; -#endif -{ - double z,ax,z_h,z_l,p_h,p_l; - double y1,t1,t2,r,s,t,u,v,w; - int i,j,k,yisint,n; - int hx,hy,ix,iy; - unsigned lx,ly; - - hx = __HI(x); lx = __LO(x); - hy = __HI(y); ly = __LO(y); - ix = hx&0x7fffffff; iy = hy&0x7fffffff; - - /* y==zero: x**0 = 1 */ - if((iy|ly)==0) return one; - - /* +-NaN return x+y */ - if(ix > 0x7ff00000 || ((ix==0x7ff00000)&&(lx!=0)) || - iy > 0x7ff00000 || ((iy==0x7ff00000)&&(ly!=0))) - return x+y; - - /* determine if y is an odd int when x < 0 - * yisint = 0 ... y is not an integer - * yisint = 1 ... y is an odd int - * yisint = 2 ... y is an even int - */ - yisint = 0; - if(hx<0) { - if(iy>=0x43400000) yisint = 2; /* even integer y */ - else if(iy>=0x3ff00000) { - k = (iy>>20)-0x3ff; /* exponent */ - if(k>20) { - j = ly>>(52-k); - if((j<<(52-k))==ly) yisint = 2-(j&1); - } else if(ly==0) { - j = iy>>(20-k); - if((j<<(20-k))==iy) yisint = 2-(j&1); - } - } - } - - /* special value of y */ - if(ly==0) { - if (iy==0x7ff00000) { /* y is +-inf */ - if(((ix-0x3ff00000)|lx)==0) - return y - y; /* inf**+-1 is NaN */ - else if (ix >= 0x3ff00000)/* (|x|>1)**+-inf = inf,0 */ - return (hy>=0)? y: zero; - else /* (|x|<1)**-,+inf = inf,0 */ - return (hy<0)?-y: zero; - } - if(iy==0x3ff00000) { /* y is +-1 */ - if(hy<0) return one/x; else return x; - } - if(hy==0x40000000) return x*x; /* y is 2 */ - if(hy==0x3fe00000) { /* y is 0.5 */ - if(hx>=0) /* x >= +0 */ - return sqrt(x); - } - } - - ax = fabs(x); - /* special value of x */ - if(lx==0) { - if(ix==0x7ff00000||ix==0||ix==0x3ff00000){ - z = ax; /*x is +-0,+-inf,+-1*/ - if(hy<0) z = one/z; /* z = (1/|x|) */ - if(hx<0) { - if(((ix-0x3ff00000)|yisint)==0) { - z = (z-z)/(z-z); /* (-1)**non-int is NaN */ - } else if(yisint==1) - z = -z; /* (x<0)**odd = -(|x|**odd) */ - } - return z; - } - } - - /* (x<0)**(non-int) is NaN */ - if((((hx>>31)+1)|yisint)==0) { - errno = 0x21; - return NAN; - } - - /* |y| is huge */ - if(iy>0x41e00000) { /* if |y| > 2**31 */ - if(iy>0x43f00000){ /* if |y| > 2**64, must o/uflow */ - if(ix<=0x3fefffff) return (hy<0)? huge*huge:tiny*tiny; - if(ix>=0x3ff00000) return (hy>0)? huge*huge:tiny*tiny; - } - /* over/underflow if x is not close to one */ - if(ix<0x3fefffff) return (hy<0)? huge*huge:tiny*tiny; - if(ix>0x3ff00000) return (hy>0)? huge*huge:tiny*tiny; - /* now |1-x| is tiny <= 2**-20, suffice to compute - log(x) by x-x^2/2+x^3/3-x^4/4 */ - t = x-1; /* t has 20 trailing zeros */ - w = (t*t)*(0.5-t*(0.3333333333333333333333-t*0.25)); - u = ivln2_h*t; /* ivln2_h has 21 sig. bits */ - v = t*ivln2_l-w*ivln2; - t1 = u+v; - __LO(t1) = 0; - t2 = v-(t1-u); - } else { - double s2,s_h,s_l,t_h,t_l; - n = 0; - /* take care subnormal number */ - if(ix<0x00100000) - {ax *= two53; n -= 53; ix = __HI(ax); } - n += ((ix)>>20)-0x3ff; - j = ix&0x000fffff; - /* determine interval */ - ix = j|0x3ff00000; /* normalize ix */ - if(j<=0x3988E) k=0; /* |x|>1)|0x20000000)+0x00080000+(k<<18); - t_l = ax - (t_h-bp[k]); - s_l = v*((u-s_h*t_h)-s_h*t_l); - /* compute log(ax) */ - s2 = s*s; - r = s2*s2*(L1+s2*(L2+s2*(L3+s2*(L4+s2*(L5+s2*L6))))); - r += s_l*(s_h+s); - s2 = s_h*s_h; - t_h = 3.0+s2+r; - __LO(t_h) = 0; - t_l = r-((t_h-3.0)-s2); - /* u+v = s*(1+...) */ - u = s_h*t_h; - v = s_l*t_h+t_l*s; - /* 2/(3log2)*(s+...) */ - p_h = u+v; - __LO(p_h) = 0; - p_l = v-(p_h-u); - z_h = cp_h*p_h; /* cp_h+cp_l = 2/(3*log2) */ - z_l = cp_l*p_h+p_l*cp+dp_l[k]; - /* log2(ax) = (s+..)*2/(3*log2) = n + dp_h + z_h + z_l */ - t = (double)n; - t1 = (((z_h+z_l)+dp_h[k])+t); - __LO(t1) = 0; - t2 = z_l-(((t1-t)-dp_h[k])-z_h); - } - - s = one; /* s (sign of result -ve**odd) = -1 else = 1 */ - if((((hx>>31)+1)|(yisint-1))==0) s = -one;/* (-ve)**(odd int) */ - - /* split up y into y1+y2 and compute (y1+y2)*(t1+t2) */ - y1 = y; - __LO(y1) = 0; - p_l = (y-y1)*t1+y*t2; - p_h = y1*t1; - z = p_l+p_h; - j = __HI(z); - i = __LO(z); - if (j>=0x40900000) { /* z >= 1024 */ - if(((j-0x40900000)|i)!=0) /* if z > 1024 */ - return s*huge*huge; /* overflow */ - else { - if(p_l+ovt>z-p_h) return s*huge*huge; /* overflow */ - } - } else if((j&0x7fffffff)>=0x4090cc00 ) { /* z <= -1075 */ - if(((j-0xc090cc00)|i)!=0) /* z < -1075 */ - return s*tiny*tiny; /* underflow */ - else { - if(p_l<=z-p_h) return s*tiny*tiny; /* underflow */ - } - } - /* - * compute 2**(p_h+p_l) - */ - i = j&0x7fffffff; - k = (i>>20)-0x3ff; - n = 0; - if(i>0x3fe00000) { /* if |z| > 0.5, set n = [z+0.5] */ - n = j+(0x00100000>>(k+1)); - k = ((n&0x7fffffff)>>20)-0x3ff; /* new k for n */ - t = zero; - __HI(t) = (n&~(0x000fffff>>k)); - n = ((n&0x000fffff)|0x00100000)>>(20-k); - if(j<0) n = -n; - p_h -= t; - } - t = p_l+p_h; - __LO(t) = 0; - u = t*lg2_h; - v = (p_l-(t-p_h))*lg2+t*lg2_l; - z = u+v; - w = v-(z-u); - t = z*z; - t1 = z - t*(P1+t*(P2+t*(P3+t*(P4+t*P5)))); - r = (z*t1)/(t1-two)-(w+z*w); - z = one-(r-z); - j = __HI(z); - j += (n<<20); - if((j>>20)<=0) z = ldexp(z,n); /* subnormal output */ - else __HI(z) += (n<<20); - return s*z; -} diff --git a/src/MSL_C.PPCEABI.bare.H/e_rem_pio2.c b/src/MSL_C.PPCEABI.bare.H/e_rem_pio2.c deleted file mode 100755 index ee1a50fa..00000000 --- a/src/MSL_C.PPCEABI.bare.H/e_rem_pio2.c +++ /dev/null @@ -1,175 +0,0 @@ -/* @(#)e_rem_pio2.c 1.4 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - * - */ - -/* __ieee754_rem_pio2(x,y) - * - * return the remainder of x rem pi/2 in y[0]+y[1] - * use __kernel_rem_pio2() - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/math.h" - -/* - * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi - */ -#ifdef __STDC__ -static const int two_over_pi[] = { -#else -static int two_over_pi[] = { -#endif -0xA2F983, 0x6E4E44, 0x1529FC, 0x2757D1, 0xF534DD, 0xC0DB62, -0x95993C, 0x439041, 0xFE5163, 0xABDEBB, 0xC561B7, 0x246E3A, -0x424DD2, 0xE00649, 0x2EEA09, 0xD1921C, 0xFE1DEB, 0x1CB129, -0xA73EE8, 0x8235F5, 0x2EBB44, 0x84E99C, 0x7026B4, 0x5F7E41, -0x3991D6, 0x398353, 0x39F49C, 0x845F8B, 0xBDF928, 0x3B1FF8, -0x97FFDE, 0x05980F, 0xEF2F11, 0x8B5A0A, 0x6D1F6D, 0x367ECF, -0x27CB09, 0xB74F46, 0x3F669E, 0x5FEA2D, 0x7527BA, 0xC7EBE5, -0xF17B3D, 0x0739F7, 0x8A5292, 0xEA6BFB, 0x5FB11F, 0x8D5D08, -0x560330, 0x46FC7B, 0x6BABF0, 0xCFBC20, 0x9AF436, 0x1DA9E3, -0x91615E, 0xE61B08, 0x659985, 0x5F14A0, 0x68408D, 0xFFD880, -0x4D7327, 0x310606, 0x1556CA, 0x73A8C9, 0x60E27B, 0xC08C6B, -}; - -#ifdef __STDC__ -static const int npio2_hw[] = { -#else -static int npio2_hw[] = { -#endif -0x3FF921FB, 0x400921FB, 0x4012D97C, 0x401921FB, 0x401F6A7A, 0x4022D97C, -0x4025FDBB, 0x402921FB, 0x402C463A, 0x402F6A7A, 0x4031475C, 0x4032D97C, -0x40346B9C, 0x4035FDBB, 0x40378FDB, 0x403921FB, 0x403AB41B, 0x403C463A, -0x403DD85A, 0x403F6A7A, 0x40407E4C, 0x4041475C, 0x4042106C, 0x4042D97C, -0x4043A28C, 0x40446B9C, 0x404534AC, 0x4045FDBB, 0x4046C6CB, 0x40478FDB, -0x404858EB, 0x404921FB, -}; - -/* - * invpio2: 53 bits of 2/pi - * pio2_1: first 33 bit of pi/2 - * pio2_1t: pi/2 - pio2_1 - * pio2_2: second 33 bit of pi/2 - * pio2_2t: pi/2 - (pio2_1+pio2_2) - * pio2_3: third 33 bit of pi/2 - * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3) - */ - -#ifdef __STDC__ -static const double -#else -static double -#endif -zero = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */ -half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ -two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ -invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ -pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ -pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */ -pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */ -pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */ -pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */ -pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */ - -#ifdef __STDC__ - int __ieee754_rem_pio2(double x, double *y) -#else - int __ieee754_rem_pio2(x,y) - double x,y[]; -#endif -{ - double z,w,t,r,fn; - double tx[3]; - int e0,i,j,nx,n,ix,hx; - - hx = __HI(x); /* high word of x */ - ix = hx&0x7fffffff; - if(ix<=0x3fe921fb) /* |x| ~<= pi/4 , no need for reduction */ - {y[0] = x; y[1] = 0; return 0;} - if(ix<0x4002d97c) { /* |x| < 3pi/4, special case with n=+-1 */ - if(hx>0) { - z = x - pio2_1; - if(ix!=0x3ff921fb) { /* 33+53 bit pi is good enough */ - y[0] = z - pio2_1t; - y[1] = (z-y[0])-pio2_1t; - } else { /* near pi/2, use 33+33+53 bit pi */ - z -= pio2_2; - y[0] = z - pio2_2t; - y[1] = (z-y[0])-pio2_2t; - } - return 1; - } else { /* negative x */ - z = x + pio2_1; - if(ix!=0x3ff921fb) { /* 33+53 bit pi is good enough */ - y[0] = z + pio2_1t; - y[1] = (z-y[0])+pio2_1t; - } else { /* near pi/2, use 33+33+53 bit pi */ - z += pio2_2; - y[0] = z + pio2_2t; - y[1] = (z-y[0])+pio2_2t; - } - return -1; - } - } - if(ix<=0x413921fb) { /* |x| ~<= 2^19*(pi/2), medium size */ - t = fabs(x); - n = (int) (t*invpio2+half); - fn = (double)n; - r = t-fn*pio2_1; - w = fn*pio2_1t; /* 1st round good to 85 bit */ - if(n<32&&ix!=npio2_hw[n-1]) { - y[0] = r-w; /* quick check no cancellation */ - } else { - j = ix>>20; - y[0] = r-w; - i = j-(((__HI(y[0]))>>20)&0x7ff); - if(i>16) { /* 2nd iteration needed, good to 118 */ - t = r; - w = fn*pio2_2; - r = t-w; - w = fn*pio2_2t-((t-r)-w); - y[0] = r-w; - i = j-(((__HI(y[0]))>>20)&0x7ff); - if(i>49) { /* 3rd iteration need, 151 bits acc */ - t = r; /* will cover all possible cases */ - w = fn*pio2_3; - r = t-w; - w = fn*pio2_3t-((t-r)-w); - y[0] = r-w; - } - } - } - y[1] = (r-y[0])-w; - if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;} - else return n; - } - /* - * all other (large) arguments - */ - if(ix>=0x7ff00000) { /* x is inf or NaN */ - y[0]=y[1]=x-x; return 0; - } - /* set z = scalbn(|x|,ilogb(x)-23) */ - __LO(z) = __LO(x); - e0 = (ix>>20)-1046; /* e0 = ilogb(z)-23; */ - __HI(z) = ix - (e0<<20); - for(i=0;i<2;i++) { - tx[i] = (double)((int)(z)); - z = (z-tx[i])*two24; - } - tx[2] = z; - nx = 3; - while(tx[nx-1]==zero) nx--; /* skip zero term */ - n = __kernel_rem_pio2(tx,y,e0,nx,2,two_over_pi); - if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;} - return n; -} diff --git a/src/MSL_C.PPCEABI.bare.H/errno.c b/src/MSL_C.PPCEABI.bare.H/errno.c deleted file mode 100644 index fb0a2b41..00000000 --- a/src/MSL_C.PPCEABI.bare.H/errno.c +++ /dev/null @@ -1,3 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/errno.h" - -int errno; diff --git a/src/MSL_C.PPCEABI.bare.H/file_io.c b/src/MSL_C.PPCEABI.bare.H/file_io.c deleted file mode 100755 index 6ca5b36a..00000000 --- a/src/MSL_C.PPCEABI.bare.H/file_io.c +++ /dev/null @@ -1,58 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/file_io.h" - -int fclose(FILE* file) { - int flush_result, close_result; - - if (file == NULL) { - return -1; - } - if (file->file_mode.file_kind == __closed_file) { - return 0; - } - flush_result = fflush(file); - close_result = file->close_fn(file->handle); - file->file_mode.file_kind = __closed_file; - file->handle = NULL; - if (file->file_state.free_buffer) { - free(file->buffer); - } - return (flush_result || close_result) ? -1 : 0; -} - -int fflush(FILE* file) { - unsigned long pos; - - if (file == NULL) { - return __flush_all(); - } - if (file->file_state.error != 0 || file->file_mode.file_kind == __closed_file) { - return -1; - } - if (file->file_mode.io_mode == __read) { - return 0; - } - if (file->file_state.io_state >= __rereading) { - file->file_state.io_state = __reading; - } - if (file->file_state.io_state == __reading) { - file->buffer_length = 0; - } - if (file->file_state.io_state != __writing) { - file->file_state.io_state = __neutral; - return 0; - } - if (file->file_mode.file_kind != __disk_file) { - pos = 0; - } else { - pos = ftell(file); - } - if (__flush_buffer(file, 0) != __no_io_error) { - file->file_state.error = 1; - file->buffer_length = 0; - return -1; - } - file->file_state.io_state = __neutral; - file->position = pos; - file->buffer_length = 0; - return 0; -} diff --git a/src/MSL_C.PPCEABI.bare.H/float.c b/src/MSL_C.PPCEABI.bare.H/float.c deleted file mode 100644 index f07b2812..00000000 --- a/src/MSL_C.PPCEABI.bare.H/float.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/float.h" - -unsigned long __float_nan[] = { 0x7FFFFFFF }; - -unsigned long __float_huge[] = { 0x7F800000 }; diff --git a/src/MSL_C.PPCEABI.bare.H/k_cos.c b/src/MSL_C.PPCEABI.bare.H/k_cos.c deleted file mode 100755 index 2f69d256..00000000 --- a/src/MSL_C.PPCEABI.bare.H/k_cos.c +++ /dev/null @@ -1,91 +0,0 @@ -/* @(#)k_cos.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* - * __kernel_cos( x, y ) - * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164 - * Input x is assumed to be bounded by ~pi/4 in magnitude. - * Input y is the tail of x. - * - * Algorithm - * 1. Since cos(-x) = cos(x), we need only to consider positive x. - * 2. if x < 2^-27 (hx<0x3e400000 0), return 1 with inexact if x!=0. - * 3. cos(x) is approximated by a polynomial of degree 14 on - * [0,pi/4] - * 4 14 - * cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x - * where the remez error is - * - * | 2 4 6 8 10 12 14 | -58 - * |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2 - * | | - * - * 4 6 8 10 12 14 - * 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then - * cos(x) = 1 - x*x/2 + r - * since cos(x+y) ~ cos(x) - sin(x)*y - * ~ cos(x) - x*y, - * a correction term is necessary in cos(x) and hence - * cos(x+y) = 1 - (x*x/2 - (r - x*y)) - * For better accuracy when x > 0.3, let qx = |x|/4 with - * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125. - * Then - * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)). - * Note that 1-qx and (x*x/2-qx) is EXACT here, and the - * magnitude of the latter is at least a quarter of x*x/2, - * thus, reducing the rounding error in the subtraction. - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#ifdef __STDC__ -static const double -#else -static double -#endif -one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ -C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */ -C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */ -C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */ -C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */ -C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */ -C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */ - -#ifdef __STDC__ - double __kernel_cos(double x, double y) -#else - double __kernel_cos(x, y) - double x,y; -#endif -{ - double a,hz,z,r,qx; - int ix; - ix = __HI(x)&0x7fffffff; /* ix = |x|'s high word*/ - if(ix<0x3e400000) { /* if x < 2**27 */ - if(((int)x)==0) return one; /* generate inexact */ - } - z = x*x; - r = z*(C1+z*(C2+z*(C3+z*(C4+z*(C5+z*C6))))); - if(ix < 0x3FD33333) /* if |x| < 0.3 */ - return one - (0.5*z - (z*r - x*y)); - else { - if(ix > 0x3fe90000) { /* x > 0.78125 */ - qx = 0.28125; - } else { - __HI(qx) = ix-0x00200000; /* x/4 */ - __LO(qx) = 0; - } - hz = 0.5*z-qx; - a = one-qx; - return a - (hz - (z*r-x*y)); - } -} diff --git a/src/MSL_C.PPCEABI.bare.H/k_rem_pio2.c b/src/MSL_C.PPCEABI.bare.H/k_rem_pio2.c deleted file mode 100755 index b14d7d2a..00000000 --- a/src/MSL_C.PPCEABI.bare.H/k_rem_pio2.c +++ /dev/null @@ -1,316 +0,0 @@ - -/* @(#)k_rem_pio2.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* - * __kernel_rem_pio2(x,y,e0,nx,prec,ipio2) - * double x[],y[]; int e0,nx,prec; int ipio2[]; - * - * __kernel_rem_pio2 return the last three digits of N with - * y = x - N*pi/2 - * so that |y| < pi/2. - * - * The method is to compute the integer (mod 8) and fraction parts of - * (2/pi)*x without doing the full multiplication. In general we - * skip the part of the product that are known to be a huge integer ( - * more accurately, = 0 mod 8 ). Thus the number of operations are - * independent of the exponent of the input. - * - * (2/pi) is represented by an array of 24-bit integers in ipio2[]. - * - * Input parameters: - * x[] The input value (must be positive) is broken into nx - * pieces of 24-bit integers in double precision format. - * x[i] will be the i-th 24 bit of x. The scaled exponent - * of x[0] is given in input parameter e0 (i.e., x[0]*2^e0 - * match x's up to 24 bits. - * - * Example of breaking a double positive z into x[0]+x[1]+x[2]: - * e0 = ilogb(z)-23 - * z = ldexp(z,-e0) - * for i = 0,1,2 - * x[i] = floor(z) - * z = (z-x[i])*2**24 - * - * - * y[] ouput result in an array of double precision numbers. - * The dimension of y[] is: - * 24-bit precision 1 - * 53-bit precision 2 - * 64-bit precision 2 - * 113-bit precision 3 - * The actual value is the sum of them. Thus for 113-bit - * precison, one may have to do something like: - * - * long double t,w,r_head, r_tail; - * t = (long double)y[2] + (long double)y[1]; - * w = (long double)y[0]; - * r_head = t+w; - * r_tail = w - (r_head - t); - * - * e0 The exponent of x[0] - * - * nx dimension of x[] - * - * prec an integer indicating the precision: - * 0 24 bits (single) - * 1 53 bits (double) - * 2 64 bits (extended) - * 3 113 bits (quad) - * - * ipio2[] - * integer array, contains the (24*i)-th to (24*i+23)-th - * bit of 2/pi after binary point. The corresponding - * floating value is - * - * ipio2[i] * 2^(-24(i+1)). - * - * External function: - * double ldexp(), floor(); - * - * - * Here is the description of some local variables: - * - * jk jk+1 is the initial number of terms of ipio2[] needed - * in the computation. The recommended value is 2,3,4, - * 6 for single, double, extended,and quad. - * - * jz local integer variable indicating the number of - * terms of ipio2[] used. - * - * jx nx - 1 - * - * jv index for pointing to the suitable ipio2[] for the - * computation. In general, we want - * ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8 - * is an integer. Thus - * e0-3-24*jv >= 0 or (e0-3)/24 >= jv - * Hence jv = max(0,(e0-3)/24). - * - * jp jp+1 is the number of terms in PIo2[] needed, jp = jk. - * - * q[] double array with integral value, representing the - * 24-bits chunk of the product of x and 2/pi. - * - * q0 the corresponding exponent of q[0]. Note that the - * exponent for q[i] would be q0-24*i. - * - * PIo2[] double precision array, obtained by cutting pi/2 - * into 24 bits chunks. - * - * f[] ipio2[] in floating point - * - * iq[] integer array by breaking up q[] in 24-bits chunk. - * - * fq[] final product of x*(2/pi) in fq[0],..,fq[jk] - * - * ih integer. If >0 it indicates q[] is >= 0.5, hence - * it also indicates the *sign* of the result. - * - */ - - -/* - * Constants: - * The hexadecimal values are the intended ones for the following - * constants. The decimal values may be used, provided that the - * compiler will convert from decimal to binary accurately enough - * to produce the hexadecimal values shown. - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#ifdef __STDC__ -static const int init_jk[] = {2,3,4,6}; /* initial value for jk */ -#else -static int init_jk[] = {2,3,4,6}; -#endif - -#ifdef __STDC__ -static const double PIo2[] = { -#else -static double PIo2[] = { -#endif - 1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */ - 7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */ - 5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */ - 3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */ - 1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */ - 1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */ - 2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */ - 2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */ -}; - -#ifdef __STDC__ -static const double -#else -static double -#endif -zero = 0.0, -one = 1.0, -two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ -twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */ - -#ifdef __STDC__ - int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, const int *ipio2) -#else - int __kernel_rem_pio2(x,y,e0,nx,prec,ipio2) - double x[], y[]; int e0,nx,prec; int ipio2[]; -#endif -{ - int jz,jx,jv,jp,jk,carry,n,iq[20],i,j,k,m,q0,ih; - double z,fw,f[20],fq[20],q[20]; - - /* initialize jk*/ - jk = init_jk[prec]; - jp = jk; - - /* determine jx,jv,q0, note that 3>q0 */ - jx = nx-1; - jv = (e0-3)/24; if(jv<0) jv=0; - q0 = e0-24*(jv+1); - - /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */ - j = jv-jx; m = jx+jk; - for(i=0;i<=m;i++,j++) f[i] = (j<0)? zero : (double) ipio2[j]; - - /* compute q[0],q[1],...q[jk] */ - for (i=0;i<=jk;i++) { - for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw; - } - - jz = jk; -recompute: - /* distill q[] into iq[] reversingly */ - for(i=0,j=jz,z=q[jz];j>0;i++,j--) { - fw = (double)((int)(twon24* z)); - iq[i] = (int)(z-two24*fw); - z = q[j-1]+fw; - } - - /* compute n */ - z = ldexp(z,q0); /* actual value of z */ - z -= 8.0*floor(z*0.125); /* trim off integer >= 8 */ - n = (int) z; - z -= (double)n; - ih = 0; - if(q0>0) { /* need iq[jz-1] to determine n */ - i = (iq[jz-1]>>(24-q0)); n += i; - iq[jz-1] -= i<<(24-q0); - ih = iq[jz-1]>>(23-q0); - } - else if(q0==0) ih = iq[jz-1]>>23; - else if(z>=0.5) ih=2; - - if(ih>0) { /* q > 0.5 */ - n += 1; carry = 0; - for(i=0;i0) { /* rare case: chance is 1 in 12 */ - switch(q0) { - case 1: - iq[jz-1] &= 0x7fffff; break; - case 2: - iq[jz-1] &= 0x3fffff; break; - } - } - if(ih==2) { - z = one - z; - if(carry!=0) z -= ldexp(one,q0); - } - } - - /* check if recomputation is needed */ - if(z==zero) { - j = 0; - for (i=jz-1;i>=jk;i--) j |= iq[i]; - if(j==0) { /* need recomputation */ - for(k=1;iq[jk-k]==0;k++); /* k = no. of terms needed */ - - for(i=jz+1;i<=jz+k;i++) { /* add q[jz+1] to q[jz+k] */ - f[jx+i] = (double) ipio2[jv+i]; - for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; - q[i] = fw; - } - jz += k; - goto recompute; - } - } - - /* chop off zero terms */ - if(z==0.0) { - jz -= 1; q0 -= 24; - while(iq[jz]==0) { jz--; q0-=24;} - } else { /* break z into 24-bit if necessary */ - z = ldexp(z,-q0); - if(z>=two24) { - fw = (double)((int)(twon24*z)); - iq[jz] = (int)(z-two24*fw); - jz += 1; q0 += 24; - iq[jz] = (int) fw; - } else iq[jz] = (int) z ; - } - - /* convert integer "bit" chunk to floating-point value */ - fw = ldexp(one,q0); - for(i=jz;i>=0;i--) { - q[i] = fw*(double)iq[i]; fw*=twon24; - } - - /* compute PIo2[0,...,jp]*q[jz,...,0] */ - for(i=jz;i>=0;i--) { - for(fw=0.0,k=0;k<=jp&&k<=jz-i;k++) fw += PIo2[k]*q[i+k]; - fq[jz-i] = fw; - } - - /* compress fq[] into y[] */ - switch(prec) { - case 0: - fw = 0.0; - for (i=jz;i>=0;i--) fw += fq[i]; - y[0] = (ih==0)? fw: -fw; - break; - case 1: - case 2: - fw = 0.0; - for (i=jz;i>=0;i--) fw += fq[i]; - y[0] = (ih==0)? fw: -fw; - fw = fq[0]-fw; - for (i=1;i<=jz;i++) fw += fq[i]; - y[1] = (ih==0)? fw: -fw; - break; - case 3: /* painful */ - for (i=jz;i>0;i--) { - fw = fq[i-1]+fq[i]; - fq[i] += fq[i-1]-fw; - fq[i-1] = fw; - } - for (i=jz;i>1;i--) { - fw = fq[i-1]+fq[i]; - fq[i] += fq[i-1]-fw; - fq[i-1] = fw; - } - for (fw=0.0,i=jz;i>=2;i--) fw += fq[i]; - if(ih==0) { - y[0] = fq[0]; y[1] = fq[1]; y[2] = fw; - } else { - y[0] = -fq[0]; y[1] = -fq[1]; y[2] = -fw; - } - } - return n&7; -} diff --git a/src/MSL_C.PPCEABI.bare.H/k_sin.c b/src/MSL_C.PPCEABI.bare.H/k_sin.c deleted file mode 100755 index b136909a..00000000 --- a/src/MSL_C.PPCEABI.bare.H/k_sin.c +++ /dev/null @@ -1,73 +0,0 @@ -/* @(#)k_sin.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* __kernel_sin( x, y, iy) - * kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854 - * Input x is assumed to be bounded by ~pi/4 in magnitude. - * Input y is the tail of x. - * Input iy indicates whether y is 0. (if iy=0, y assume to be 0). - * - * Algorithm - * 1. Since sin(-x) = -sin(x), we need only to consider positive x. - * 2. if x < 2^-27 (hx<0x3e400000 0), return x with inexact if x!=0. - * 3. sin(x) is approximated by a polynomial of degree 13 on - * [0,pi/4] - * 3 13 - * sin(x) ~ x + S1*x + ... + S6*x - * where - * - * |sin(x) 2 4 6 8 10 12 | -58 - * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2 - * | x | - * - * 4. sin(x+y) = sin(x) + sin'(x')*y - * ~ sin(x) + (1-x*x/2)*y - * For better accuracy, let - * 3 2 2 2 2 - * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6)))) - * then 3 2 - * sin(x) = x + (S1*x + (x *(r-y/2)+y)) - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#ifdef __STDC__ -static const double -#else -static double -#endif -half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ -S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */ -S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */ -S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */ -S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */ -S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */ -S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */ - -#ifdef __STDC__ - double __kernel_sin(double x, double y, int iy) -#else - double __kernel_sin(x, y, iy) - double x,y; int iy; /* iy=0 if y is zero */ -#endif -{ - double z,r,v; - int ix; - ix = __HI(x)&0x7fffffff; /* high word of x */ - if(ix<0x3e400000) /* |x| < 2**-27 */ - {if((int)x==0) return x;} /* generate inexact */ - z = x*x; - v = z*x; - r = S2+z*(S3+z*(S4+z*(S5+z*S6))); - if(iy==0) return x+v*(S1+z*r); - else return x-((z*(half*y-v*r)-y)-v*S1); -} diff --git a/src/MSL_C.PPCEABI.bare.H/k_tan.c b/src/MSL_C.PPCEABI.bare.H/k_tan.c deleted file mode 100755 index d7dec7f5..00000000 --- a/src/MSL_C.PPCEABI.bare.H/k_tan.c +++ /dev/null @@ -1,134 +0,0 @@ -/* - * ==================================================== - * Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. - * - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* INDENT OFF */ -/* __kernel_tan( x, y, k ) - * kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854 - * Input x is assumed to be bounded by ~pi/4 in magnitude. - * Input y is the tail of x. - * Input k indicates whether tan (if k = 1) or -1/tan (if k = -1) is returned. - * - * Algorithm - * 1. Since tan(-x) = -tan(x), we need only to consider positive x. - * 2. if x < 2^-28 (hx<0x3e300000 0), return x with inexact if x!=0. - * 3. tan(x) is approximated by a odd polynomial of degree 27 on - * [0,0.67434] - * 3 27 - * tan(x) ~ x + T1*x + ... + T13*x - * where - * - * |tan(x) 2 4 26 | -59.2 - * |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2 - * | x | - * - * Note: tan(x+y) = tan(x) + tan'(x)*y - * ~ tan(x) + (1+x*x)*y - * Therefore, for better accuracy in computing tan(x+y), let - * 3 2 2 2 2 - * r = x *(T2+x *(T3+x *(...+x *(T12+x *T13)))) - * then - * 3 2 - * tan(x+y) = x + (T1*x + (x *(r+y)+y)) - * - * 4. For x in [0.67434,pi/4], let y = pi/4 - x, then - * tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y)) - * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y))) - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/math.h" - -static const double xxx[] = { - 3.33333333333334091986e-01, /* 3FD55555, 55555563 */ - 1.33333333333201242699e-01, /* 3FC11111, 1110FE7A */ - 5.39682539762260521377e-02, /* 3FABA1BA, 1BB341FE */ - 2.18694882948595424599e-02, /* 3F9664F4, 8406D637 */ - 8.86323982359930005737e-03, /* 3F8226E3, E96E8493 */ - 3.59207910759131235356e-03, /* 3F6D6D22, C9560328 */ - 1.45620945432529025516e-03, /* 3F57DBC8, FEE08315 */ - 5.88041240820264096874e-04, /* 3F4344D8, F2F26501 */ - 2.46463134818469906812e-04, /* 3F3026F7, 1A8D1068 */ - 7.81794442939557092300e-05, /* 3F147E88, A03792A6 */ - 7.14072491382608190305e-05, /* 3F12B80F, 32F0A7E9 */ - -1.85586374855275456654e-05, /* BEF375CB, DB605373 */ - 2.59073051863633712884e-05, /* 3EFB2A70, 74BF7AD4 */ -}; -#define pio4 7.85398163397448278999e-01 -#define pio4lo 3.06161699786838301793e-17 -#define T xxx -/* INDENT ON */ - -double -__kernel_tan(double x, double y, int iy) { - double z, r, v, w, s; - int ix, hx; - - hx = __HI(x); /* high word of x */ - ix = hx & 0x7fffffff; /* high word of |x| */ - if (ix < 0x3e300000) { /* x < 2**-28 */ - if ((int) x == 0) { /* generate inexact */ - if (((ix | __LO(x)) | (iy + 1)) == 0) - return 1 / fabs(x); - else { - if (iy == 1) - return x; - else - return -1 / x; - } - } - } - if (ix >= 0x3FE59428) { /* |x| >= 0.6744 */ - if (hx < 0) { - x = -x; - y = -y; - } - z = pio4 - x; - w = pio4lo - y; - x = z + w; - y = 0.0; - } - z = x * x; - w = z * z; - /* - * Break x^5*(T[1]+x^2*T[2]+...) into - * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) + - * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12])) - */ - r = T[1] + w * (T[3] + w * (T[5] + w * (T[7] + w * (T[9] + - w * T[11])))); - v = z * (T[2] + w * (T[4] + w * (T[6] + w * (T[8] + w * (T[10] + - w * T[12]))))); - s = z * x; - r = y + z * (s * (r + v) + y); - r += T[0] * s; - w = x + r; - if (ix >= 0x3FE59428) { - v = (double) iy; - return (double) (1 - ((hx >> 30) & 2)) * - (v - 2.0 * (x - (w * w / (w + v) - r))); - } - if (iy == 1) - return w; - else { - /* - * if allow error up to 2 ulp, simply return - * -1.0 / (x+r) here - */ - /* compute -1.0 / (x+r) accurately */ - double a, t; - z = w; - __LO(z) = 0; - v = r - (z - x); /* z+v = r+x */ - t = a = -1.0 / w; /* a = -1.0/w */ - __LO(t) = 0; - s = 1.0 + t * z; - return t + a * (s + t * v); - } -} diff --git a/src/MSL_C.PPCEABI.bare.H/math_ppc.c b/src/MSL_C.PPCEABI.bare.H/math_ppc.c deleted file mode 100644 index ab157318..00000000 --- a/src/MSL_C.PPCEABI.bare.H/math_ppc.c +++ /dev/null @@ -1,20 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/math_ppc.h" -float acosf(float arg0) { - return (float) acos(arg0); -} - -float atan2f(float arg0) { - return (float) atan2(arg0); -} - -float cosf(float arg0) { - return (float) cos(arg0); -} - -float sinf(float arg0) { - return (float) sin(arg0); -} - -float tanf(float arg0) { - return (float) tan(arg0); -} diff --git a/src/MSL_C.PPCEABI.bare.H/mbstring.c b/src/MSL_C.PPCEABI.bare.H/mbstring.c deleted file mode 100644 index 0364afa3..00000000 --- a/src/MSL_C.PPCEABI.bare.H/mbstring.c +++ /dev/null @@ -1,64 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h" - -static int unicode_to_UTF8(char* s, wchar_t wchar) { - int number_of_bytes; - char* target_ptr; - char first_byte_mark[4] = {0x00, 0x00, 0xc0, 0xe0}; - - if (!s) { - return 0; - } - - if (wchar < 0x0080) - number_of_bytes = 1; - else if (wchar < 0x0800) - number_of_bytes = 2; - else - number_of_bytes = 3; - - target_ptr = s + number_of_bytes; - - switch (number_of_bytes) { - case 3: - *--target_ptr = (wchar & 0x003f) | 0x80; - wchar >>= 6; - case 2: - *--target_ptr = (wchar & 0x003f) | 0x80; - wchar >>= 6; - case 1: - *--target_ptr = wchar | first_byte_mark[number_of_bytes]; - } - - return (number_of_bytes); -} - -static inline int wctomb(char* s, wchar_t wchar) { - return (unicode_to_UTF8(s, wchar)); -} - -size_t wcstombs(char* s, const wchar_t* pwcs, size_t n) { - int chars_written = 0; - int result; - char temp[3]; - wchar_t* source; - - if (!s || !pwcs) - return (0); - - source = (wchar_t*)pwcs; - while (chars_written <= n) { - if (!*source) { - *(s + chars_written) = '\0'; - break; - } else { - result = wctomb(temp, *source++); - if ((chars_written + result) <= n) { - strcat(s + chars_written, temp, result); - chars_written += result; - } else - break; - } - } - - return (chars_written); -} diff --git a/src/MSL_C.PPCEABI.bare.H/mem.c b/src/MSL_C.PPCEABI.bare.H/mem.c deleted file mode 100644 index fc160cd5..00000000 --- a/src/MSL_C.PPCEABI.bare.H/mem.c +++ /dev/null @@ -1,92 +0,0 @@ -#include "string.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/mem_funcs.h" - -void* memmove(void* dst, const void* src, size_t n) -{ - unsigned char* csrc; - unsigned char* cdst; - - int reverse = (unsigned int)src < (unsigned int)dst; - - if (n >= 32) { - if (((unsigned int)dst ^ (unsigned int)src) & 3) { - if (!reverse) { - __copy_longs_unaligned(dst, src, n); - } else { - __copy_longs_rev_unaligned(dst, src, n); - } - } else { - if (!reverse) { - __copy_longs_aligned(dst, src, n); - } else { - __copy_longs_rev_aligned(dst, src, n); - } - } - - return dst; - } else { - if (!reverse) { - csrc = ((unsigned char*)src) - 1; - cdst = ((unsigned char*)dst) - 1; - n++; - - while (--n > 0) { - *++cdst = *++csrc; - } - } else { - csrc = (unsigned char*)src + n; - cdst = (unsigned char*)dst + n; - n++; - - while (--n > 0) { - *--cdst = *--csrc; - } - } - } - - return dst; -} - -void* memchr(const void* ptr, int ch, size_t count) -{ - const unsigned char* p; - - unsigned long v = (ch & 0xff); - - for (p = (unsigned char*)ptr - 1, count++; --count;) - if ((*++p & 0xff) == v) - return (void*)p; - - return NULL; -} - -unsigned char* __memrchr(unsigned char* s, int c, size_t n){ // credit to CelestialAmber - int n_count; - size_t char_check; - - char_check = (unsigned char)c; - s = &s[n]; - n_count = n + 1; - - while(--n_count){ - if(*--s == char_check){ - return s; - } - } - - return 0; -} - -int memcmp(const void* lhs, const void* rhs, size_t count) -{ - const unsigned char* p1; - const unsigned char* p2; - - for (p1 = (const unsigned char*)lhs - 1, p2 = (const unsigned char*)rhs - 1, - count++; - --count;) - if (*++p1 != *++p2) - return ((*p1 < *p2) ? -1 : +1); - - return 0; -} diff --git a/src/MSL_C.PPCEABI.bare.H/mem_funcs.c b/src/MSL_C.PPCEABI.bare.H/mem_funcs.c deleted file mode 100644 index a22984c4..00000000 --- a/src/MSL_C.PPCEABI.bare.H/mem_funcs.c +++ /dev/null @@ -1,221 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/mem_funcs.h" - -#define cps ((unsigned char*)src) -#define cpd ((unsigned char*)dst) -#define lps ((unsigned long*)src) -#define lpd ((unsigned long*)dst) -#define deref_auto_inc(p) *++(p) - -void __copy_longs_aligned(void* dst, const void* src, size_t n) -{ - unsigned long i; - - i = (-(unsigned long)dst) & 3; - - cps = ((unsigned char*)src) - 1; - cpd = ((unsigned char*)dst) - 1; - - if (i) { - n -= i; - - do - deref_auto_inc(cpd) = deref_auto_inc(cps); - while (--i); - } - - lps = ((unsigned long*)(cps + 1)) - 1; - lpd = ((unsigned long*)(cpd + 1)) - 1; - - i = n >> 5; - - if (i) - do { - deref_auto_inc(lpd) = deref_auto_inc(lps); - deref_auto_inc(lpd) = deref_auto_inc(lps); - deref_auto_inc(lpd) = deref_auto_inc(lps); - deref_auto_inc(lpd) = deref_auto_inc(lps); - deref_auto_inc(lpd) = deref_auto_inc(lps); - deref_auto_inc(lpd) = deref_auto_inc(lps); - deref_auto_inc(lpd) = deref_auto_inc(lps); - deref_auto_inc(lpd) = deref_auto_inc(lps); - } while (--i); - - i = (n & 31) >> 2; - - if (i) - do - deref_auto_inc(lpd) = deref_auto_inc(lps); - while (--i); - - cps = ((unsigned char*)(lps + 1)) - 1; - cpd = ((unsigned char*)(lpd + 1)) - 1; - - n &= 3; - - if (n) - do - deref_auto_inc(cpd) = deref_auto_inc(cps); - while (--n); - - return; -} - -void __copy_longs_rev_aligned(void* dst, const void* src, size_t n) -{ - unsigned long i; - - cps = ((unsigned char*)src) + n; - cpd = ((unsigned char*)dst) + n; - - i = ((unsigned long)cpd) & 3; - - if (i) { - n -= i; - - do - *--cpd = *--cps; - while (--i); - } - - i = n >> 5; - - if (i) - do { - *--lpd = *--lps; - *--lpd = *--lps; - *--lpd = *--lps; - *--lpd = *--lps; - *--lpd = *--lps; - *--lpd = *--lps; - *--lpd = *--lps; - *--lpd = *--lps; - } while (--i); - - i = (n & 31) >> 2; - - if (i) - do - *--lpd = *--lps; - while (--i); - - n &= 3; - - if (n) - do - *--cpd = *--cps; - while (--n); - - return; -} - -void __copy_longs_unaligned(void* dst, const void* src, size_t n) -{ - unsigned long i, v1, v2; - unsigned int src_offset, left_shift, right_shift; - - i = (-(unsigned long)dst) & 3; - - cps = ((unsigned char*)src) - 1; - cpd = ((unsigned char*)dst) - 1; - - if (i) { - n -= i; - - do - deref_auto_inc(cpd) = deref_auto_inc(cps); - while (--i); - } - - src_offset = ((unsigned int)(cps + 1)) & 3; - - left_shift = src_offset << 3; - right_shift = 32 - left_shift; - - cps -= src_offset; - - lps = ((unsigned long*)(cps + 1)) - 1; - lpd = ((unsigned long*)(cpd + 1)) - 1; - - i = n >> 3; - - v1 = deref_auto_inc(lps); - - do { - v2 = deref_auto_inc(lps); - deref_auto_inc(lpd) = (v1 << left_shift) | (v2 >> right_shift); - v1 = deref_auto_inc(lps); - deref_auto_inc(lpd) = (v2 << left_shift) | (v1 >> right_shift); - } while (--i); - - if (n & 4) { - v2 = deref_auto_inc(lps); - deref_auto_inc(lpd) = (v1 << left_shift) | (v2 >> right_shift); - } - - cps = ((unsigned char*)(lps + 1)) - 1; - cpd = ((unsigned char*)(lpd + 1)) - 1; - - n &= 3; - - if (n) { - cps -= 4 - src_offset; - do - deref_auto_inc(cpd) = deref_auto_inc(cps); - while (--n); - } - - return; -} - -void __copy_longs_rev_unaligned(void* dst, const void* src, size_t n) -{ - unsigned long i, v1, v2; - unsigned int src_offset, left_shift, right_shift; - - cps = ((unsigned char*)src) + n; - cpd = ((unsigned char*)dst) + n; - - i = ((unsigned long)cpd) & 3; - - if (i) { - n -= i; - - do - *--cpd = *--cps; - while (--i); - } - - src_offset = ((unsigned int)cps) & 3; - - left_shift = src_offset << 3; - right_shift = 32 - left_shift; - - cps += 4 - src_offset; - - i = n >> 3; - - v1 = *--lps; - - do { - v2 = *--lps; - *--lpd = (v2 << left_shift) | (v1 >> right_shift); - v1 = *--lps; - *--lpd = (v1 << left_shift) | (v2 >> right_shift); - } while (--i); - - if (n & 4) { - v2 = *--lps; - *--lpd = (v2 << left_shift) | (v1 >> right_shift); - } - - n &= 3; - - if (n) { - cps += src_offset; - do - *--cpd = *--cps; - while (--n); - } - - return; -} diff --git a/src/MSL_C.PPCEABI.bare.H/misc_io.c b/src/MSL_C.PPCEABI.bare.H/misc_io.c deleted file mode 100644 index 06827814..00000000 --- a/src/MSL_C.PPCEABI.bare.H/misc_io.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/abort_exit.h" - -void __stdio_atexit(void) { - __stdio_exit = __close_all; -} diff --git a/src/MSL_C.PPCEABI.bare.H/printf.c b/src/MSL_C.PPCEABI.bare.H/printf.c deleted file mode 100644 index 5879d452..00000000 --- a/src/MSL_C.PPCEABI.bare.H/printf.c +++ /dev/null @@ -1,1257 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/printf.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_fp.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/direct_io.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ctype.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/scanf.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/stdio.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/stdlib.h" -#include "string.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/wchar_io.h" -#include "stdarg.h" - -extern void __num2dec(const decform*, double, decimal*); - -#define TARGET_FLOAT_BITS 64 -#define TARGET_FLOAT_BYTES (TARGET_FLOAT_BITS / 8) -#define TARGET_FLOAT_MAX_EXP LDBL_MAX_EXP -#define TARGET_FLOAT_MANT_DIG LDBL_MANT_DIG -#define TARGET_FLOAT_IMPLICIT_J_BIT 1 -#define TARGET_FLOAT_MANT_BITS \ - (TARGET_FLOAT_MANT_DIG - TARGET_FLOAT_IMPLICIT_J_BIT) -#define TARGET_FLOAT_EXP_BITS (TARGET_FLOAT_BITS - TARGET_FLOAT_MANT_BITS - 1) - -enum justification_options { - left_justification, - right_justification, - zero_fill -}; - -enum sign_options { only_minus, sign_always, space_holder }; - -enum argument_options { - normal_argument, - char_argument, - short_argument, - long_argument, - long_long_argument, - long_double_argument, - wchar_argument -}; - -typedef struct { - unsigned char justification_options; - unsigned char sign_options; - unsigned char precision_specified; - unsigned char alternate_form; - unsigned char argument_options; - unsigned char conversion_char; - int field_width; - int precision; -} print_format; - -static const char* parse_format(const char *format_string, va_list *arg, print_format *format) { - print_format f; - const char* s = format_string; - int c; - int flag_found; - f.justification_options = right_justification; - f.sign_options = only_minus; - f.precision_specified = 0; - f.alternate_form = 0; - f.argument_options = normal_argument; - f.field_width = 0; - f.precision = 0; - - if ((c = *++s) == '%') { - f.conversion_char = c; - *format = f; - return ((const char*)s + 1); - } - - for (;;) { - flag_found = 1; - - switch (c) { - case '-': - f.justification_options = left_justification; - break; - case '+': - f.sign_options = sign_always; - break; - case ' ': - if (f.sign_options != sign_always) { - f.sign_options = space_holder; - } - break; - case '#': - f.alternate_form = 1; - break; - case '0': - if (f.justification_options != left_justification) { - f.justification_options = zero_fill; - } - break; - default: - flag_found = 0; - break; - } - - if (flag_found) { - c = *++s; - } - else { - break; - } - } - - if (c == '*') { - if ((f.field_width = va_arg(*arg, int)) < 0) { - f.justification_options = left_justification; - f.field_width = -f.field_width; - } - - c = *++s; - } - else { - while (isdigit(c)) { - f.field_width = (f.field_width * 10) + (c - '0'); - c = *++s; - } - } - - if (f.field_width > 509) { - f.conversion_char = 0xFF; - *format = f; - return ((const char*)s + 1); - } - - if (c == '.') { - f.precision_specified = 1; - - if ((c = *++s) == '*') { - if ((f.precision = va_arg(*arg, int)) < 0) { - f.precision_specified = 0; - } - - c = *++s; - } - else { - while (isdigit(c)) { - f.precision = (f.precision * 10) + (c - '0'); - c = *++s; - } - } - } - - flag_found = 1; - - switch (c) { - case 'h': - f.argument_options = short_argument; - - if (s[1] == 'h') { - f.argument_options = char_argument; - c = *++s; - } - - break; - - case 'l': - f.argument_options = long_argument; - - if (s[1] == 'l') { - f.argument_options = long_long_argument; - c = *++s; - } - - break; - - case 'L': - f.argument_options = long_double_argument; - break; - default: - flag_found = 0; - break; - } - - if (flag_found) { - c = *++s; - } - - f.conversion_char = c; - - switch (c) { - case 'd': - case 'i': - case 'u': - case 'o': - case 'x': - case 'X': - if (f.argument_options == long_double_argument) { - f.conversion_char = 0xFF; - break; - } - - if (!f.precision_specified) { - f.precision = 1; - } - else if (f.justification_options == zero_fill) { - f.justification_options = right_justification; - } - break; - - case 'f': - case 'F': - if (f.argument_options == short_argument || f.argument_options == long_long_argument) { - f.conversion_char = 0xFF; - break; - } - - if (!f.precision_specified) { - f.precision = 6; - } - break; - - case 'a': - case 'A': - if (!f.precision_specified) { - f.precision = 0xD; - } - - if (f.argument_options == short_argument || f.argument_options == long_long_argument || f.argument_options == char_argument) { - f.conversion_char = 0xFF; - } - - break; - - case 'g': - case 'G': - if (!f.precision) { - f.precision = 1; - } - - case 'e': - case 'E': - if (f.argument_options == short_argument || f.argument_options == long_long_argument || f.argument_options == char_argument) { - f.conversion_char = 0xFF; - break; - } - - if (!f.precision_specified) { - f.precision = 6; - } - break; - - case 'p': - f.conversion_char = 'x'; - f.alternate_form = 1; - f.argument_options = long_argument; - f.precision = 8; - break; - - case 'c': - if (f.argument_options == long_argument) { - f.argument_options = wchar_argument; - } - else { - if (f.precision_specified || f.argument_options != normal_argument) { - f.conversion_char = 0xFF; - } - } - - break; - - case 's': - if (f.argument_options == long_argument) { - f.argument_options = wchar_argument; - } - else { - if (f.argument_options != normal_argument) { - f.conversion_char = 0xFF; - } - } - - break; - - case 'n': - if (f.argument_options == long_double_argument) { - f.conversion_char = 0xFF; - } - - break; - - default: - f.conversion_char = 0xFF; - break; - } - - *format = f; - return ((const char*)s + 1); -} - -static char* long2str(long num, char* buff, print_format format) -{ - unsigned long unsigned_num, base; - char* p; - int n, digits; - int minus = 0; - unsigned_num = num; - minus = 0; - - p = buff; - *--p = 0; - digits = 0; - - if (!num && !format.precision - && !(format.alternate_form && format.conversion_char == 'o')) { - return p; - } - - switch (format.conversion_char) { - case 'd': - case 'i': - base = 10; - - if (num < 0) { - unsigned_num = -unsigned_num; - minus = 1; - } - break; - - case 'o': - base = 8; - format.sign_options = only_minus; - break; - - case 'u': - base = 10; - format.sign_options = only_minus; - break; - - case 'x': - case 'X': - base = 16; - format.sign_options = only_minus; - break; - } - - do { - n = unsigned_num % base; - unsigned_num /= base; - - if (n < 10) { - n += '0'; - } else { - n -= 10; - - if (format.conversion_char == 'x') { - n += 'a'; - } else { - n += 'A'; - } - } - - *--p = n; - ++digits; - } while (unsigned_num != 0); - - if (base == 8 && format.alternate_form && *p != '0') { - *--p = '0'; - ++digits; - } - - if (format.justification_options == zero_fill) { - format.precision = format.field_width; - - if (minus || format.sign_options != only_minus) - --format.precision; - - if (base == 16 && format.alternate_form) - format.precision -= 2; - } - - if (buff - p + format.precision > 509) - return (0); - - while (digits < format.precision) { - *--p = '0'; - ++digits; - } - - if (base == 16 && format.alternate_form) { - *--p = format.conversion_char; - *--p = '0'; - } - - if (minus) { - *--p = '-'; - } else if (format.sign_options == sign_always) { - *--p = '+'; - } else if (format.sign_options == space_holder) { - *--p = ' '; - } - - return p; -} - -static char* longlong2str(long long num, char* pBuf, print_format fmt) -{ - unsigned long long unsigned_num, base; - char* p; - int n, digits; - int minus = 0; - unsigned_num = num; - minus = 0; - p = pBuf; - *--p = 0; - digits = 0; - - if (!num && !fmt.precision - && !(fmt.alternate_form && fmt.conversion_char == 'o')) { - return p; - } - - switch (fmt.conversion_char) { - case 'd': - case 'i': - base = 10; - - if (num < 0) { - unsigned_num = -unsigned_num; - minus = 1; - } - break; - case 'o': - base = 8; - fmt.sign_options = only_minus; - break; - case 'u': - base = 10; - fmt.sign_options = only_minus; - break; - case 'x': - case 'X': - base = 16; - fmt.sign_options = only_minus; - break; - } - - do { - n = unsigned_num % base; - unsigned_num /= base; - - if (n < 10) { - n += '0'; - } else { - n -= 10; - if (fmt.conversion_char == 'x') { - n += 'a'; - } else { - n += 'A'; - } - } - - *--p = n; - ++digits; - } while (unsigned_num != 0); - - if (base == 8 && fmt.alternate_form && *p != '0') { - *--p = '0'; - ++digits; - } - - if (fmt.justification_options == zero_fill) { - fmt.precision = fmt.field_width; - - if (minus || fmt.sign_options != only_minus) { - --fmt.precision; - } - - if (base == 16 && fmt.alternate_form) { - fmt.precision -= 2; - } - } - - if (pBuf - p + fmt.precision > 509) { - return 0; - } - - while (digits < fmt.precision) { - *--p = '0'; - ++digits; - } - - if (base == 16 && fmt.alternate_form) { - *--p = fmt.conversion_char; - *--p = '0'; - } - - if (minus) { - *--p = '-'; - } else if (fmt.sign_options == sign_always) { - *--p = '+'; - } else if (fmt.sign_options == space_holder) { - *--p = ' '; - } - - return p; -} - -static char * double2hex(long double num, char * buff, print_format format) { - char *p; - unsigned char *q; - unsigned char temp_r7; - char working_byte; - long double ld; - long exp; - print_format exp_format; - int hex_precision; - decform form; - decimal dec; - - p = buff; - ld = num; - - if (format.precision > 509) { - return 0; - } - - form.style = (char) 0; - form.digits = 0x20; - __num2dec(&form, num, &dec); - - if (*dec.sig.text == 'I') { - if (*(short*) &ld & 0x8000) { - p = buff - 5; - if (format.conversion_char == 'A') strcpy(p, "-INF"); - else strcpy(p, "-inf"); - } - else { - p = buff - 4; - if (format.conversion_char == 'A') strcpy(p, "INF"); - else strcpy(p, "inf"); - } - - return p; - } - if (*dec.sig.text == 'N') { - if (*(unsigned char*) &num & 0x80) { - p = buff - 5; - if (format.conversion_char == 'A') strcpy(p, "-NAN"); - else strcpy(p, "-nan"); - } - else { - p = buff - 4; - if (format.conversion_char == 'A') strcpy(p, "NAN"); - else strcpy(p, "nan"); - } - - return p; - } - - exp_format.justification_options = right_justification; - exp_format.sign_options = sign_always; - exp_format.precision_specified = 0; - exp_format.alternate_form = 0; - exp_format.argument_options = normal_argument; - exp_format.field_width = 0; - exp_format.precision = 1; - exp_format.conversion_char = 'd'; - - exp = (short) ((*(short*) &ld & 0x7FFF) >> 4) - 0x3FF; - p = long2str(exp, buff, exp_format); - if (format.conversion_char == 'a') - *--p = 'p'; - else - *--p = 'P'; - q = (unsigned char*) # - - for (hex_precision = format.precision; hex_precision >= 1; hex_precision--) { - temp_r7 = *(q + (hex_precision / 2 + 1)); - if (hex_precision % 2) { - working_byte = temp_r7 & 0xF; - } else { - working_byte = (temp_r7 >> 4); - } - - if (working_byte < 10) { - working_byte += '0'; - } - else - if (format.conversion_char == 'a') { - working_byte += 'a' - 10; - } - else { - working_byte += 'A' - 10; - } - - *--p = working_byte; - } - - if (TARGET_FLOAT_IMPLICIT_J_BIT){ - if (format.precision || format.alternate_form) { - *--p = '.'; - } - *--p = '1'; - } - - if (format.conversion_char == 'a') { - *--p = 'x'; - } - else { - *--p = 'X'; - } - - *--p = '0'; - - if (*((short*) &ld) & 0x8000) { - *--p = '-'; - } - else if (format.sign_options == sign_always) { - *--p = '+'; - } - else if (format.sign_options == space_holder) { - *--p = ' '; - } - - return p; -} - -static void round_decimal(decimal* dec, int new_length) -{ - char c; - char* p; - int carry; - - if (new_length < 0) { - return_zero: - dec->exp = 0; - dec->sig.length = 1; - *dec->sig.text = '0'; - return; - } - - if (new_length >= dec->sig.length) { - return; - } - - p = (char*)dec->sig.text + new_length + 1; - c = *--p - '0'; - - if (c == 5) { - char* q = &((char*)dec->sig.text)[dec->sig.length]; - - while (--q > p && *q == '0') - ; - carry = (q == p) ? p[-1] & 1 : 1; - } else { - carry = (c > 5); - } - - while (new_length != 0) { - c = *--p - '0' + carry; - - if ((carry = (c > 9)) != 0 || c == 0) { - --new_length; - } else { - *p = c + '0'; - break; - } - } - - if (carry != 0) { - dec->exp += 1; - dec->sig.length = 1; - *dec->sig.text = '1'; - return; - } else if (new_length == 0) { - goto return_zero; - } - - dec->sig.length = new_length; -} - -static char* float2str(long double num, char *buff, print_format format) { - decimal dec; - decform form; - char* p; - char* q; - int n, digits, sign; - int int_digits, frac_digits; - - if (format.precision > 509) { - return 0; - } - - form.style = 0; - form.digits = 0x20; - __num2dec(&form, num, &dec); - p = (char*)dec.sig.text + dec.sig.length; - - while (dec.sig.length > 1 && *--p == '0') { - --dec.sig.length; - ++dec.exp; - } - - switch (*dec.sig.text) { - case '0': - dec.exp = 0; - break; - case 'I': - if (num < 0) { - p = buff - 5; - - if (isupper(format.conversion_char)) { - strcpy(p, "-INF"); - } - else { - strcpy(p, "-inf"); - } - } - else { - p = buff - 4; - if (isupper(format.conversion_char)) { - strcpy(p, "INF"); - } - else { - strcpy(p, "inf"); - } - } - - return p; - - case 'N': - if (dec.sign) { - p = buff - 5; - - if (isupper(format.conversion_char)) { - strcpy(p, "-NAN"); - } - else { - strcpy(p, "-nan"); - } - } - else { - p = buff - 4; - if (isupper(format.conversion_char)) { - strcpy(p, "NAN"); - } - else { - strcpy(p, "nan"); - } - } - - return p; - } - - dec.exp += dec.sig.length - 1; - p = buff; - *--p = 0; - - switch (format.conversion_char) - { - case 'g': - case 'G': - - if (dec.sig.length > format.precision) { - round_decimal(&dec, format.precision); - } - - if (dec.exp < -4 || dec.exp >= format.precision) - { - if (format.alternate_form) { - --format.precision; - } - else { - format.precision = dec.sig.length - 1; - } - - if (format.conversion_char == 'g') { - format.conversion_char = 'e'; - } - else { - format.conversion_char = 'E'; - } - - goto e_format; - } - - if (format.alternate_form) { - format.precision -= dec.exp + 1; - } - else { - if ((format.precision = dec.sig.length - (dec.exp + 1)) < 0) { - format.precision = 0; - } - } - - goto f_format; - - case 'e': - case 'E': - e_format: - - if (dec.sig.length > format.precision + 1) { - round_decimal(&dec, format.precision + 1); - } - - n = dec.exp; - sign = '+'; - - if (n < 0) { - n = -n; - sign = '-'; - } - - for (digits = 0; n || digits < 2; ++digits) { - *--p = n % 10 + '0'; - n /= 10; - } - - *--p = sign; - *--p = format.conversion_char; - - if (buff - p + format.precision > 509) { - return 0; - } - - if (dec.sig.length < format.precision + 1) { - for (n = format.precision + 1 - dec.sig.length + 1; --n;) { - *--p = '0'; - } - } - - for (n = dec.sig.length, q = (char*)dec.sig.text + dec.sig.length; --n;) { - *--p = *--q; - } - - if (format.precision || format.alternate_form) { - *--p = '.'; - } - - *--p = *dec.sig.text; - - if (dec.sign) - *--p = '-'; - else if (format.sign_options == sign_always) - *--p = '+'; - else if (format.sign_options == space_holder) - *--p = ' '; - - break; - - case 'f': - case 'F': - f_format: - - if ((frac_digits = -dec.exp + dec.sig.length - 1) < 0) - frac_digits = 0; - - if (frac_digits > format.precision) { - round_decimal(&dec, dec.sig.length - (frac_digits - format.precision)); - - if ((frac_digits = -dec.exp + dec.sig.length - 1) < 0) - frac_digits = 0; - } - - if ((int_digits = dec.exp + 1) < 0) - int_digits = 0; - - if (int_digits + frac_digits > 509) - return 0; - - q = (char *) dec.sig.text + dec.sig.length; - - for (digits = 0; digits < (format.precision - frac_digits); ++digits) - *--p = '0'; - - for (digits = 0; digits < frac_digits && digits < dec.sig.length; ++digits) - *--p = *--q; - - for (; digits < frac_digits; ++digits) - *--p = '0'; - - if (format.precision || format.alternate_form) - *--p = '.'; - - if (int_digits) { - for (digits = 0; digits < int_digits - dec.sig.length; ++digits) { - *--p = '0'; - } - - for (; digits < int_digits; ++digits) { - *--p = *--q; - } - } - else { - *--p = '0'; - } - - if (dec.sign) { - *--p = '-'; - } - else if (format.sign_options == sign_always) { - *--p = '+'; - } - else if (format.sign_options == space_holder) { - *--p = ' '; - } - - break; - } - - return p; -} - -static int __pformatter(void *(*WriteProc)(void *, const char *, size_t), void *WriteProcArg, const char * format_str, va_list arg) { - int num_chars, chars_written, field_width; - const char* format_ptr; - const char* curr_format; - print_format format; - long long_num; - long long long_long_num; - long double long_double_num; - char buff[512]; - char* buff_ptr; - char* string_end; - char fill_char = ' '; - - format_ptr = format_str; - chars_written = 0; - - while (*format_ptr) { - if (!(curr_format = strchr(format_ptr, '%'))) { - num_chars = strlen(format_ptr); - chars_written += num_chars; - - if (num_chars && !(*WriteProc)(WriteProcArg, format_ptr, num_chars)) { - return -1; - } - - break; - } - - num_chars = curr_format - format_ptr; - chars_written += num_chars; - - if (num_chars && !(*WriteProc)(WriteProcArg, format_ptr, num_chars)) { - return -1; - } - - format_ptr = curr_format; - format_ptr = parse_format(format_ptr, (va_list*)arg, &format); - - switch (format.conversion_char) { - case 'd': - case 'i': - if (format.argument_options == long_argument) { - long_num = va_arg(arg, long); - } - else if (format.argument_options == long_long_argument) { - long_long_num = va_arg(arg, long long); - } - else { - long_num = va_arg(arg, int); - } - - if (format.argument_options == short_argument) { - long_num = (short)long_num; - } - - if (format.argument_options == char_argument) { - long_num = (signed char)long_num; - } - - if (format.argument_options == long_long_argument) { - if (!(buff_ptr = longlong2str(long_long_num, buff + 512, format))) { - goto conversion_error; - } - } - else { - if (!(buff_ptr = long2str(long_num, buff + 512, format))) { - goto conversion_error; - } - } - - num_chars = buff + 512 - 1 - buff_ptr; - break; - - case 'o': - case 'u': - case 'x': - case 'X': - if (format.argument_options == long_argument) { - long_num = va_arg(arg, unsigned long); - } - else if (format.argument_options == long_long_argument) { - long_long_num = va_arg(arg, long long); - } - else { - long_num = va_arg(arg, unsigned int); - } - - if (format.argument_options == short_argument) { - long_num = (unsigned short)long_num; - } - - if (format.argument_options == char_argument) { - long_num = (unsigned char)long_num; - } - - if (format.argument_options == long_long_argument) { - if (!(buff_ptr = longlong2str(long_long_num, buff + 512, format))) { - goto conversion_error; - } - } - else { - if (!(buff_ptr = long2str(long_num, buff + 512, format))) { - goto conversion_error; - } - } - - num_chars = buff + 512 - 1 - buff_ptr; - break; - - case 'f': - case 'F': - case 'e': - case 'E': - case 'g': - case 'G': - if (format.argument_options == long_double_argument) { - long_double_num = va_arg(arg, long double); - } - else { - long_double_num = va_arg(arg, double); - } - - if (!(buff_ptr = float2str(long_double_num, buff + 512, format))) { - goto conversion_error; - } - - num_chars = buff + 512 - 1 - buff_ptr; - break; - - case 'a': - case 'A': - if (format.argument_options == long_double_argument) { - long_double_num = va_arg(arg, long double); - } - else { - long_double_num = va_arg(arg, double); - } - - if (!(buff_ptr = double2hex(long_double_num, buff + 512, format))) { - goto conversion_error; - } - - num_chars = buff + 512 - 1 - buff_ptr; - break; - - case 's': - if (format.argument_options == wchar_argument) { - wchar_t* wcs_ptr = va_arg(arg, wchar_t*); - - if(wcs_ptr == NULL){ - wcs_ptr = L""; - } - - if ((num_chars = wcstombs(buff, wcs_ptr, sizeof(buff))) < 0) { - goto conversion_error; - } - - buff_ptr = &buff[0]; - } - else { - buff_ptr = va_arg(arg, char *); - } - - if (buff_ptr == NULL) { - buff_ptr = ""; - } - - if (format.alternate_form) { - num_chars = (unsigned char)*buff_ptr++; - - if (format.precision_specified && num_chars > format.precision) { - num_chars = format.precision; - } - } - else if (format.precision_specified) { - num_chars = format.precision; - - if ((string_end = (char*)memchr((unsigned char*)buff_ptr, 0, num_chars)) != 0) { - num_chars = string_end - buff_ptr; - } - } - else { - num_chars = strlen(buff_ptr); - } - - break; - - case 'n': - buff_ptr = va_arg(arg, char *); - - switch (format.argument_options) { - case normal_argument: - *(int*)buff_ptr = chars_written; - break; - case short_argument: - *(short*)buff_ptr = chars_written; - break; - case long_argument: - *(long*)buff_ptr = chars_written; - break; - case long_long_argument: - *(long long*)buff_ptr = chars_written; - break; - } - - continue; - - case 'c': - buff_ptr = buff; - *buff_ptr = va_arg(arg, int); - num_chars = 1; - break; - - case '%': - buff_ptr = buff; - *buff_ptr = '%'; - num_chars = 1; - break; - - case 0xFF: - default: - conversion_error: - num_chars = strlen(curr_format); - chars_written += num_chars; - - if (num_chars && !(*WriteProc)(WriteProcArg, curr_format, num_chars)) { - return -1; - } - - return chars_written; - break; - } - - field_width = num_chars; - - if (format.justification_options != left_justification) { - fill_char = (format.justification_options == zero_fill) ? '0' : ' '; - - if (((*buff_ptr == '+') || (*buff_ptr == '-') || (*buff_ptr == ' ')) && (fill_char == '0')) { - if ((*WriteProc)(WriteProcArg, buff_ptr, 1) == 0) { - return -1; - } - - ++buff_ptr; - num_chars--; - } - - while (field_width < format.field_width) { - if ((*WriteProc)(WriteProcArg, &fill_char, 1) == 0) { - return -1; - } - - ++field_width; - } - } - - if (num_chars && !(*WriteProc)(WriteProcArg, buff_ptr, num_chars)) { - return -1; - } - - if (format.justification_options == left_justification) { - while (field_width < format.field_width) { - char blank = ' '; - - if ((*WriteProc)(WriteProcArg, &blank, 1) == 0) { - return -1; - } - - ++field_width; - } - } - - chars_written += field_width; - } - - return chars_written; -} - -void* __FileWrite(void* pFile, const char* pBuffer, size_t char_num) -{ - return (fwrite(pBuffer, 1, char_num, (FILE*)pFile) == char_num ? pFile : 0); -} - -void* __StringWrite(void* pCtrl, const char* pBuffer, size_t char_num) -{ - size_t chars; - __OutStrCtrl* ctrl = (__OutStrCtrl*)pCtrl; - - chars = ((ctrl->CharsWritten + char_num) <= ctrl->MaxCharCount) - ? char_num - : ctrl->MaxCharCount - ctrl->CharsWritten; - memcpy(ctrl->CharStr + ctrl->CharsWritten, pBuffer, chars); - ctrl->CharsWritten += chars; - return (void*) 1; -} - -int printf(const char* format, ...) -{ - int res; - - if (fwide(stdout, -1) >= 0) { - return -1; - } - - { - va_list args; - va_start(args, format); - res = __pformatter(&__FileWrite, (void*)stdout, format, args); - } - - return res; -} - -int vprintf(const char* format, va_list arg) -{ - int ret; - - if (fwide(stdout, -1) >= 0) { - return -1; - } - - ret = __pformatter(&__FileWrite, (void*)stdout, format, arg); - return ret; -} - -int vsnprintf(char* s, size_t n, const char* format, va_list arg) -{ - int end; - __OutStrCtrl osc; - osc.CharStr = s; - osc.MaxCharCount = n; - osc.CharsWritten = 0; - - end = __pformatter(&__StringWrite, &osc, format, arg); - - if (s) { - s[(end < n) ? end : n - 1] = '\0'; - } - - return end; -} - -int vsprintf(char *s, const char *format, va_list arg) { - return vsnprintf(s, 0xFFFFFFFF, format, arg); -} - -int sprintf(char* s, const char* format, ...) -{ - va_list args; - va_start(args, format); - return vsnprintf(s, 0xFFFFFFFF, format, args); -} diff --git a/src/MSL_C.PPCEABI.bare.H/rand.c b/src/MSL_C.PPCEABI.bare.H/rand.c deleted file mode 100644 index 4d57c3e5..00000000 --- a/src/MSL_C.PPCEABI.bare.H/rand.c +++ /dev/null @@ -1,13 +0,0 @@ -#include "dolphin.h" - -// rand.c from Runtime library - -u32 next = 1; - -u32 rand(void) -{ - next = 0x41C64E6D * next + 12345; - return (next >> 16) & 0x7FFF; -} - -void srand(u32 seed) { next = seed; } diff --git a/src/MSL_C.PPCEABI.bare.H/s_atan.c b/src/MSL_C.PPCEABI.bare.H/s_atan.c deleted file mode 100644 index 6d72b440..00000000 --- a/src/MSL_C.PPCEABI.bare.H/s_atan.c +++ /dev/null @@ -1,148 +0,0 @@ - -/* @(#)s_atan.c 1.3 95/01/18 */ -/** - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - * - */ - -/* atan(x) - * Method - * 1. Reduce x to positive by atan(x) = -atan(-x). - * 2. According to the integer k=4t+0.25 chopped, t=x, the argument - * is further reduced to one of the following intervals and the - * arctangent of t is evaluated by the corresponding formula: - * - * [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...) - * [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) ) - * [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) ) - * [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) ) - * [39/16,INF] atan(x) = atan(INF) + atan( -1/t ) - * - * Constants: - * The hexadecimal values are the intended ones for the following - * constants. The decimal values may be used, provided that the - * compiler will convert from decimal to binary accurately enough - * to produce the hexadecimal values shown. - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#ifdef __STDC__ -static const double atanhi[] = { -#else -static double atanhi[] = { -#endif - 4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */ - 7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */ - 9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */ - 1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */ -}; - -#ifdef __STDC__ -static const double atanlo[] = { -#else -static double atanlo[] = { -#endif - 2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */ - 3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */ - 1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */ - 6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */ -}; - -#ifdef __STDC__ -static const double aT[] = { -#else -static double aT[] = { -#endif - 3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */ - -1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */ - 1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */ - -1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */ - 9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */ - -7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */ - 6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */ - -5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */ - 4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */ - -3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */ - 1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */ -}; - -#ifdef __STDC__ -static const double -#else -static double -#endif - one - = 1.0, - huge = 1.0e300; - -#ifdef __STDC__ -double atan(double x) -#else -double atan(x) -double x; -#endif -{ - double w, s1, s2, z; - int ix, hx, id; - - hx = __HI(x); - ix = hx & 0x7fffffff; - if (ix >= 0x44100000) { /* if |x| >= 2^66 */ - if (ix > 0x7ff00000 || (ix == 0x7ff00000 && (__LO(x) != 0))) - return x + x; /* NaN */ - if (hx > 0) - return atanhi[3] + atanlo[3]; - else - return -atanhi[3] - atanlo[3]; - } - if (ix < 0x3fdc0000) { /* |x| < 0.4375 */ - if (ix < 0x3e200000) { /* |x| < 2^-29 */ - if (huge + x > one) - return x; /* raise inexact */ - } - id = -1; - } else { - x = fabs__Fd(x); - if (ix < 0x3ff30000) { /* |x| < 1.1875 */ - if (ix < 0x3fe60000) { /* 7/16 <=|x|<11/16 */ - id = 0; - x = (2.0 * x - one) / (2.0 + x); - } else { /* 11/16<=|x|< 19/16 */ - id = 1; - x = (x - one) / (x + one); - } - } else { - if (ix < 0x40038000) { /* |x| < 2.4375 */ - id = 2; - x = (x - 1.5) / (one + 1.5 * x); - } else { /* 2.4375 <= |x| < 2^66 */ - id = 3; - x = -1.0 / x; - } - } - } - /* end of argument reduction */ - z = x * x; - w = z * z; - /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ - s1 = z - * (aT[0] - + w - * (aT[2] - + w * (aT[4] + w * (aT[6] + w * (aT[8] + w * aT[10]))))); - s2 = w * (aT[1] + w * (aT[3] + w * (aT[5] + w * (aT[7] + w * aT[9])))); - if (id < 0) - return x - x * (s1 + s2); - else { - z = atanhi[id] - ((x * (s1 + s2) - atanlo[id]) - x); - return (hx < 0) ? -z : z; - } -} diff --git a/src/MSL_C.PPCEABI.bare.H/s_copysign.c b/src/MSL_C.PPCEABI.bare.H/s_copysign.c deleted file mode 100644 index d3313078..00000000 --- a/src/MSL_C.PPCEABI.bare.H/s_copysign.c +++ /dev/null @@ -1,30 +0,0 @@ -/* @(#)s_copysign.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* - * copysign(double x, double y) - * copysign(x,y) returns a value with the magnitude of x and - * with the sign bit of y. - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#ifdef __STDC__ - double copysign(double x, double y) -#else - double copysign(x,y) - double x,y; -#endif -{ - __HI(x) = (__HI(x)&0x7fffffff)|(__HI(y)&0x80000000); - return x; -} diff --git a/src/MSL_C.PPCEABI.bare.H/s_cos.c b/src/MSL_C.PPCEABI.bare.H/s_cos.c deleted file mode 100644 index 0ceb1875..00000000 --- a/src/MSL_C.PPCEABI.bare.H/s_cos.c +++ /dev/null @@ -1,78 +0,0 @@ - -/* @(#)s_cos.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* cos(x) - * Return cosine function of x. - * - * kernel function: - * __kernel_sin ... sine function on [-pi/4,pi/4] - * __kernel_cos ... cosine function on [-pi/4,pi/4] - * __ieee754_rem_pio2 ... argument reduction routine - * - * Method. - * Let S,C and T denote the sin, cos and tan respectively on - * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 - * in [-pi/4 , +pi/4], and let n = k mod 4. - * We have - * - * n sin(x) cos(x) tan(x) - * ---------------------------------------------------------- - * 0 S C T - * 1 C -S -1/T - * 2 -S -C T - * 3 -C S -1/T - * ---------------------------------------------------------- - * - * Special cases: - * Let trig be any of sin, cos, or tan. - * trig(+-INF) is NaN, with signals; - * trig(NaN) is that NaN; - * - * Accuracy: - * TRIG(x) returns trig(x) nearly rounded - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#ifdef __STDC__ - double cos(double x) -#else - double cos(x) - double x; -#endif -{ - double y[2],z=0.0; - int n, ix; - - /* High word of x. */ - ix = __HI(x); - - /* |x| ~< pi/4 */ - ix &= 0x7fffffff; - if(ix <= 0x3fe921fb) return __kernel_cos(x,z); - - /* cos(Inf or NaN) is NaN */ - else if (ix>=0x7ff00000) return x-x; - - /* argument reduction needed */ - else { - n = __ieee754_rem_pio2(x,y); - switch(n&3) { - case 0: return __kernel_cos(y[0],y[1]); - case 1: return -__kernel_sin(y[0],y[1],1); - case 2: return -__kernel_cos(y[0],y[1]); - default: - return __kernel_sin(y[0],y[1],1); - } - } -} diff --git a/src/MSL_C.PPCEABI.bare.H/s_floor.c b/src/MSL_C.PPCEABI.bare.H/s_floor.c deleted file mode 100755 index 70001539..00000000 --- a/src/MSL_C.PPCEABI.bare.H/s_floor.c +++ /dev/null @@ -1,78 +0,0 @@ -/* @(#)s_floor.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* - * floor(x) - * Return x rounded toward -inf to integral value - * Method: - * Bit twiddling. - * Exception: - * Inexact flag raised if x not equal to floor(x). - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#ifdef __STDC__ -static const double huge = 1.0e300; -#else -static double huge = 1.0e300; -#endif - -#ifdef __STDC__ - double floor(double x) -#else - double floor(x) - double x; -#endif -{ - int i0,i1,j0; - unsigned i,j; - i0 = __HI(x); - i1 = __LO(x); - j0 = ((i0>>20)&0x7ff)-0x3ff; - if(j0<20) { - if(j0<0) { /* raise inexact if x != 0 */ - if(huge+x>0.0) {/* return 0*sign(x) if |x|<1 */ - if(i0>=0) {i0=i1=0;} - else if(((i0&0x7fffffff)|i1)!=0) - { i0=0xbff00000;i1=0;} - } - } else { - i = (0x000fffff)>>j0; - if(((i0&i)|i1)==0) return x; /* x is integral */ - if(huge+x>0.0) { /* raise inexact flag */ - if(i0<0) i0 += (0x00100000)>>j0; - i0 &= (~i); i1=0; - } - } - } else if (j0>51) { - if(j0==0x400) return x+x; /* inf or NaN */ - else return x; /* x is integral */ - } else { - i = ((unsigned)(0xffffffff))>>(j0-20); - if((i1&i)==0) return x; /* x is integral */ - if(huge+x>0.0) { /* raise inexact flag */ - if(i0<0) { - if(j0==20) i0+=1; - else { - j = i1+(1<<(52-j0)); - if(j= 0x7ff00000 || ((ix | lx) == 0)) - return x; /* 0,inf,nan */ - if (ix < 0x00100000) { /* subnormal */ - x *= two54; - hx = __HI(x); - ix = hx & 0x7fffffff; - *eptr = -54; - } - *eptr += (ix >> 20) - 1022; - hx = (hx & 0x800fffff) | 0x3fe00000; - __HI(x) = hx; - return x; -} diff --git a/src/MSL_C.PPCEABI.bare.H/s_ldexp.c b/src/MSL_C.PPCEABI.bare.H/s_ldexp.c deleted file mode 100644 index ec9ec717..00000000 --- a/src/MSL_C.PPCEABI.bare.H/s_ldexp.c +++ /dev/null @@ -1,64 +0,0 @@ -/* @(#)s_scalbn.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* - * scalbn (double x, int n) - * scalbn(x,n) returns x* 2**n computed by exponent - * manipulation rather than by actually performing an - * exponentiation or a multiplication. - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/float.h" -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#ifdef __STDC__ -static const double -#else -static double -#endif -two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ -twom54 = 5.55111512312578270212e-17, /* 0x3C900000, 0x00000000 */ -huge = 1.0e+300, -tiny = 1.0e-300; - -#ifdef __STDC__ - double ldexp (double x, int n) -#else - double ldexp (x,n) - double x; int n; -#endif -{ - int k,hx,lx; - if(!isfinite(x)||x==0.0) return x; - hx = __HI(x); - lx = __LO(x); - k = (hx&0x7ff00000)>>20; /* extract exponent */ - if (k==0) { /* 0 or subnormal x */ - if ((lx|(hx&0x7fffffff))==0) return x; /* +-0 */ - x *= two54; - hx = __HI(x); - k = ((hx&0x7ff00000)>>20) - 54; - if (n< -50000) return tiny*x; /*underflow*/ - } - if (k==0x7ff) return x+x; /* NaN or Inf */ - k = k+n; - if (k > 0x7fe) return huge*copysign(huge,x); /* overflow */ - if (k > 0) /* normal result */ - {__HI(x) = (hx&0x800fffff)|(k<<20); return x;} - if (k <= -54) - if (n > 50000) /* in case integer overflow in n+k */ - return huge*copysign(huge,x); /*overflow*/ - else return tiny*copysign(tiny,x); /*underflow*/ - k += 54; /* subnormal result */ - __HI(x) = (hx&0x800fffff)|(k<<20); - return x*twom54; -} diff --git a/src/MSL_C.PPCEABI.bare.H/s_modf.c b/src/MSL_C.PPCEABI.bare.H/s_modf.c deleted file mode 100644 index 8c957d21..00000000 --- a/src/MSL_C.PPCEABI.bare.H/s_modf.c +++ /dev/null @@ -1,80 +0,0 @@ - -/* @(#)s_modf.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* - * modf(double x, double *iptr) - * return fraction part of x, and return x's integral part in *iptr. - * Method: - * Bit twiddling. - * - * Exception: - * No exception. - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#ifdef __STDC__ -static const double one = 1.0; -#else -static double one = 1.0; -#endif - -#ifdef __STDC__ - double modf(double x, double *iptr) -#else - double modf(x, iptr) - double x,*iptr; -#endif -{ - int i0,i1,j0; - unsigned i; - i0 = __HI(x); /* high x */ - i1 = __LO(x); /* low x */ - j0 = ((i0>>20)&0x7ff)-0x3ff; /* exponent of x */ - if(j0<20) { /* integer part in high x */ - if(j0<0) { /* |x|<1 */ - __HIp(iptr) = i0&0x80000000; - __LOp(iptr) = 0; /* *iptr = +-0 */ - return x; - } else { - i = (0x000fffff)>>j0; - if(((i0&i)|i1)==0) { /* x is integral */ - *iptr = x; - __HI(x) &= 0x80000000; - __LO(x) = 0; /* return +-0 */ - return x; - } else { - __HIp(iptr) = i0&(~i); - __LOp(iptr) = 0; - return x - *iptr; - } - } - } else if (j0>51) { /* no fraction part */ - *iptr = x*one; - __HI(x) &= 0x80000000; - __LO(x) = 0; /* return +-0 */ - return x; - } else { /* fraction part in low x */ - i = ((unsigned)(0xffffffff))>>(j0-20); - if((i1&i)==0) { /* x is integral */ - *iptr = x; - __HI(x) &= 0x80000000; - __LO(x) = 0; /* return +-0 */ - return x; - } else { - __HIp(iptr) = i0; - __LOp(iptr) = i1&(~i); - return x - *iptr; - } - } -} diff --git a/src/MSL_C.PPCEABI.bare.H/s_sin.c b/src/MSL_C.PPCEABI.bare.H/s_sin.c deleted file mode 100644 index 5f09b616..00000000 --- a/src/MSL_C.PPCEABI.bare.H/s_sin.c +++ /dev/null @@ -1,78 +0,0 @@ - -/* @(#)s_sin.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* sin(x) - * Return sine function of x. - * - * kernel function: - * __kernel_sin ... sine function on [-pi/4,pi/4] - * __kernel_cos ... cose function on [-pi/4,pi/4] - * __ieee754_rem_pio2 ... argument reduction routine - * - * Method. - * Let S,C and T denote the sin, cos and tan respectively on - * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 - * in [-pi/4 , +pi/4], and let n = k mod 4. - * We have - * - * n sin(x) cos(x) tan(x) - * ---------------------------------------------------------- - * 0 S C T - * 1 C -S -1/T - * 2 -S -C T - * 3 -C S -1/T - * ---------------------------------------------------------- - * - * Special cases: - * Let trig be any of sin, cos, or tan. - * trig(+-INF) is NaN, with signals; - * trig(NaN) is that NaN; - * - * Accuracy: - * TRIG(x) returns trig(x) nearly rounded - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#ifdef __STDC__ - double sin(double x) -#else - double sin(x) - double x; -#endif -{ - double y[2],z=0.0; - int n, ix; - - /* High word of x. */ - ix = __HI(x); - - /* |x| ~< pi/4 */ - ix &= 0x7fffffff; - if(ix <= 0x3fe921fb) return __kernel_sin(x,z,0); - - /* sin(Inf or NaN) is NaN */ - else if (ix>=0x7ff00000) return x-x; - - /* argument reduction needed */ - else { - n = __ieee754_rem_pio2(x,y); - switch(n&3) { - case 0: return __kernel_sin(y[0],y[1],1); - case 1: return __kernel_cos(y[0],y[1]); - case 2: return -__kernel_sin(y[0],y[1],1); - default: - return -__kernel_cos(y[0],y[1]); - } - } -} diff --git a/src/MSL_C.PPCEABI.bare.H/s_tan.c b/src/MSL_C.PPCEABI.bare.H/s_tan.c deleted file mode 100644 index 8a0b9292..00000000 --- a/src/MSL_C.PPCEABI.bare.H/s_tan.c +++ /dev/null @@ -1,72 +0,0 @@ - -/* @(#)s_tan.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* tan(x) - * Return tangent function of x. - * - * kernel function: - * __kernel_tan ... tangent function on [-pi/4,pi/4] - * __ieee754_rem_pio2 ... argument reduction routine - * - * Method. - * Let S,C and T denote the sin, cos and tan respectively on - * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 - * in [-pi/4 , +pi/4], and let n = k mod 4. - * We have - * - * n sin(x) cos(x) tan(x) - * ---------------------------------------------------------- - * 0 S C T - * 1 C -S -1/T - * 2 -S -C T - * 3 -C S -1/T - * ---------------------------------------------------------- - * - * Special cases: - * Let trig be any of sin, cos, or tan. - * trig(+-INF) is NaN, with signals; - * trig(NaN) is that NaN; - * - * Accuracy: - * TRIG(x) returns trig(x) nearly rounded - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#ifdef __STDC__ - double tan(double x) -#else - double tan(x) - double x; -#endif -{ - double y[2],z=0.0; - int n, ix; - - /* High word of x. */ - ix = __HI(x); - - /* |x| ~< pi/4 */ - ix &= 0x7fffffff; - if(ix <= 0x3fe921fb) return __kernel_tan(x,z,1); - - /* tan(Inf or NaN) is NaN */ - else if (ix>=0x7ff00000) return x-x; /* NaN */ - - /* argument reduction needed */ - else { - n = __ieee754_rem_pio2(x,y); - return __kernel_tan(y[0],y[1],1-((n&1)<<1)); /* 1 -- n even - -1 -- n odd */ - } -} diff --git a/src/MSL_C.PPCEABI.bare.H/scanf.c b/src/MSL_C.PPCEABI.bare.H/scanf.c deleted file mode 100644 index a8f273ec..00000000 --- a/src/MSL_C.PPCEABI.bare.H/scanf.c +++ /dev/null @@ -1,34 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/scanf.h" - -int __StringRead(void* pPtr, int ch, int act) -{ - char ret; - __InStrCtrl* Iscp = (__InStrCtrl*)pPtr; - - switch (act) { - case __GetAChar: - ret = *(Iscp->NextChar); - - if (ret == '\0') { - Iscp->NullCharDetected = 1; - return -1; - } else { - Iscp->NextChar++; - return ret; - } - - case __UngetAChar: - if (Iscp->NullCharDetected == 0) { - Iscp->NextChar--; - } else { - Iscp->NullCharDetected = 0; - } - - return ch; - - case __TestForError: - return Iscp->NullCharDetected; - } - - return 0; -} diff --git a/src/MSL_C.PPCEABI.bare.H/signal.c b/src/MSL_C.PPCEABI.bare.H/signal.c deleted file mode 100755 index 3967650d..00000000 --- a/src/MSL_C.PPCEABI.bare.H/signal.c +++ /dev/null @@ -1,24 +0,0 @@ -#include -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/signal.h" - -__signal_func_ptr signal_funcs[6]; - -int raise(int sig) { - __signal_func_ptr temp_r31; - - if (sig < 1 || sig > 6) { - return -1; - } - temp_r31 = signal_funcs[sig - 1]; - if ((unsigned long) temp_r31 != 1) { - signal_funcs[sig - 1] = NULL; - } - if ((unsigned long) temp_r31 == 1 || (temp_r31 == NULL && sig == 1)) { - return 0; - } - if (temp_r31 == NULL) { - exit(0); - } - temp_r31(sig); - return 0; -} diff --git a/src/MSL_C.PPCEABI.bare.H/string.c b/src/MSL_C.PPCEABI.bare.H/string.c deleted file mode 100644 index 895f6662..00000000 --- a/src/MSL_C.PPCEABI.bare.H/string.c +++ /dev/null @@ -1,274 +0,0 @@ -#include "string.h" -#include "stddef.h" - -#define K1 0x80808080 -#define K2 0xFEFEFEFF - -size_t strlen(const char* str) -{ - size_t len = -1; - unsigned char* p = (unsigned char*)str - 1; - - do { - len++; - } while (*++p); - - return len; -} - -char* strcpy(char* dst, const char* src) -{ - register unsigned char *destb, *fromb; - register unsigned long w, t, align; - - fromb = (unsigned char*)src; - destb = (unsigned char*)dst; - - if ((align = ((int)fromb & 3)) != ((int)destb & 3)) { - goto bytecopy; - } - - if (align) { - if ((*destb = *fromb) == 0) { - return dst; - } - - for (align = 3 - align; align; align--) { - if ((*(++destb) = *(++fromb)) == 0) { - return dst; - } - } - ++destb; - ++fromb; - } - - w = *((int*)(fromb)); - - t = w + K2; - - t &= K1; - if (t) { - goto bytecopy; - } - --((int*)(destb)); - - do { - *(++((int*)(destb))) = w; - w = *(++((int*)(fromb))); - - t = w + K2; - t &= K1; - if (t) { - goto adjust; - } - } while (1); - -adjust: - ++((int*)(destb)); - -bytecopy: - if ((*destb = *fromb) == 0) { - return dst; - } - - do { - if ((*(++destb) = *(++fromb)) == 0) { - return dst; - } - } while (1); - - return dst; -} - -char* strncpy(char* dst, const char* src, size_t n) -{ - const unsigned char* p = (const unsigned char*)src - 1; - unsigned char* q = (unsigned char*)dst - 1; - - n++; - while (--n) { - if (!(*++q = *++p)) { - while (--n) { - *++q = 0; - } - break; - } - } - - return dst; -} - -// TODO: same implementation as strncpy? -char* strcat(char* dst, const char* src, size_t n) -{ - const unsigned char* p = (const unsigned char*)src - 1; - unsigned char* q = (unsigned char*)dst - 1; - - n++; - while (--n) { - if (!(*++q = *++p)) { - while (--n) { - *++q = 0; - } - break; - } - } - - return dst; -} - -int strcmp(const char* str1, const char* str2) -{ - register unsigned char* left = (unsigned char*)str1; - register unsigned char* right = (unsigned char*)str2; - unsigned long align, l1, r1, x; - - l1 = *left; - r1 = *right; - if (l1 - r1) { - return l1 - r1; - } - - if ((align = ((int)left & 3)) != ((int)right & 3)) { - goto bytecopy; - } - - if (align) { - if (l1 == 0) { - return 0; - } - for (align = 3 - align; align; align--) { - l1 = *(++left); - r1 = *(++right); - if (l1 - r1) { - return l1 - r1; - } - if (l1 == 0) { - return 0; - } - } - left++; - right++; - } - - l1 = *(int*)left; - r1 = *(int*)right; - x = l1 + K2; - if (x & K1) { - goto adjust; - } - - while (l1 == r1) { - l1 = *(++((int*)(left))); - r1 = *(++((int*)(right))); - x = l1 + K2; - if (x & K1) { - goto adjust; - } - } - - if (l1 > r1) { - return 1; - } - return -1; - -adjust: - l1 = *left; - r1 = *right; - if (l1 - r1) { - return l1 - r1; - } - -bytecopy: - if (l1 == 0) { - return 0; - } - - do { - l1 = *(++left); - r1 = *(++right); - if (l1 - r1) { - return l1 - r1; - } - if (l1 == 0) { - return 0; - } - } while (1); -} - -int strncmp(const char* str1, const char* str2, size_t n) -{ - const unsigned char* p1 = (unsigned char*)str1 - 1; - const unsigned char* p2 = (unsigned char*)str2 - 1; - unsigned long c1, c2; - - n++; - - while (--n) - if ((c1 = *++p1) != (c2 = *++p2)) - return (c1 - c2); - else if (!c1) - break; - return 0; -} - -char* strchr(const char* str, int c) -{ - const unsigned char* p = (unsigned char*)str - 1; - unsigned long chr = (c & 0xFF); - - unsigned long ch; - while (ch = *++p) { - if (ch == chr) { - return (char*)p; - } - } - - return chr ? NULL : (char*)p; -} - -char* strrchr(const char* str, int c) -{ - const unsigned char* p = (unsigned char*)str - 1; - const unsigned char* q = NULL; - unsigned long chr = (c & 0xFF); - - unsigned long ch; - while (ch = *++p) { - if (ch == chr) { - q = p; - } - } - - if (q != NULL) { - return (char*)q; - } - - return chr ? NULL : (char*)p; -} - -char* strstr(const char* str, const char* pat) -{ - const unsigned char* s1 = (const unsigned char*)str - 1; - const unsigned char* p1 = (const unsigned char*)pat - 1; - unsigned long firstc, c1, c2; - - if ((pat == 0) || (!(firstc = *++p1))) { - return (char*)str; - } - - while (c1 = *++s1) { - if (c1 == firstc) { - const unsigned char* s2 = s1 - 1; - const unsigned char* p2 = p1 - 1; - - while ((c1 = *++s2) == (c2 = *++p2) && c1) - ; - - if (!c2) - return (char*)s1; - } - } - - return NULL; -} diff --git a/src/MSL_C.PPCEABI.bare.H/uart_console_io.c b/src/MSL_C.PPCEABI.bare.H/uart_console_io.c deleted file mode 100755 index e26388da..00000000 --- a/src/MSL_C.PPCEABI.bare.H/uart_console_io.c +++ /dev/null @@ -1,32 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/ansi_files.h" - -static inline int __init_uart_console(void) { - int err = 0; - static int initialized = 0; - - if (initialized == 0) { - err = InitializeUART(57600); - if (err == 0) - initialized = 1; - } - - return (err); -} - -int __write_console(__file_handle handle, unsigned char* buffer, size_t* count, __idle_proc idle_proc) { - if (__init_uart_console() != 0) { - return 1; - } - - if (WriteUARTN(buffer, *count) != 0) { - *count = 0; - return 1; - } - - __TRK_write_console(handle, buffer, count, idle_proc); - return 0; -} - -int __close_console() { - return 0; -} diff --git a/src/MSL_C.PPCEABI.bare.H/w_acos.c b/src/MSL_C.PPCEABI.bare.H/w_acos.c deleted file mode 100644 index dfc4c031..00000000 --- a/src/MSL_C.PPCEABI.bare.H/w_acos.c +++ /dev/null @@ -1,38 +0,0 @@ - -/* @(#)w_acos.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* - * wrap_acos(x) - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#ifdef __STDC__ - double acos(double x) /* wrapper acos */ -#else - double acos(x) /* wrapper acos */ - double x; -#endif -{ -#ifdef _IEEE_LIBM - return __ieee754_acos(x); -#else - double z; - z = __ieee754_acos(x); - if(_LIB_VERSION == _IEEE_ || isnan(x)) return z; - if(fabs(x)>1.0) { - return __kernel_standard(x,x,1); /* acos(|x|>1) */ - } else - return z; -#endif -} diff --git a/src/MSL_C.PPCEABI.bare.H/w_asin.c b/src/MSL_C.PPCEABI.bare.H/w_asin.c deleted file mode 100644 index d21c6ce6..00000000 --- a/src/MSL_C.PPCEABI.bare.H/w_asin.c +++ /dev/null @@ -1,38 +0,0 @@ -/* @(#)w_asin.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - * - */ - -/* - * wrapper asin(x) - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#ifdef __STDC__ - double asin(double x) /* wrapper asin */ -#else - double asin(x) /* wrapper asin */ - double x; -#endif -{ -#ifdef _IEEE_LIBM - return __ieee754_asin(x); -#else - double z; - z = __ieee754_asin(x); - if(_LIB_VERSION == _IEEE_ || isnan(x)) return z; - if(fabs(x)>1.0) { - return __kernel_standard(x,x,2); /* asin(|x|>1) */ - } else - return z; -#endif -} diff --git a/src/MSL_C.PPCEABI.bare.H/w_atan2.c b/src/MSL_C.PPCEABI.bare.H/w_atan2.c deleted file mode 100644 index 42f1b297..00000000 --- a/src/MSL_C.PPCEABI.bare.H/w_atan2.c +++ /dev/null @@ -1,39 +0,0 @@ -/* @(#)w_atan2.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - * - */ - -/* - * wrapper atan2(y,x) - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#ifdef __STDC__ -double atan2(double y, double x) /* wrapper atan2 */ -#else -double atan2(y, x) /* wrapper atan2 */ -double y, x; -#endif -{ -#ifdef _IEEE_LIBM - return __ieee754_atan2(y, x); -#else - double z; - z = __ieee754_atan2(y, x); - if (_LIB_VERSION == _IEEE_ || isnan(x) || isnan(y)) - return z; - if (x == 0.0 && y == 0.0) { - return __kernel_standard(y, x, 3); /* atan2(+-0,+-0) */ - } else - return z; -#endif -} diff --git a/src/MSL_C.PPCEABI.bare.H/w_fmod.c b/src/MSL_C.PPCEABI.bare.H/w_fmod.c deleted file mode 100644 index 57c5cc16..00000000 --- a/src/MSL_C.PPCEABI.bare.H/w_fmod.c +++ /dev/null @@ -1,37 +0,0 @@ -/* @(#)w_fmod.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* - * wrapper fmod(x,y) - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - -#ifdef __STDC__ - double fmod(double x, double y) /* wrapper fmod */ -#else - double fmod(x,y) /* wrapper fmod */ - double x,y; -#endif -{ -#ifdef _IEEE_LIBM - return __ieee754_fmod(x,y); -#else - double z; - z = __ieee754_fmod(x,y); - if(_LIB_VERSION == _IEEE_ ||isnan(y)||isnan(x)) return z; - if(y==0.0) { - return __kernel_standard(x,y,27); /* fmod(x,0) */ - } else - return z; -#endif -} diff --git a/src/MSL_C.PPCEABI.bare.H/w_pow.c b/src/MSL_C.PPCEABI.bare.H/w_pow.c deleted file mode 100644 index 99c8e3b9..00000000 --- a/src/MSL_C.PPCEABI.bare.H/w_pow.c +++ /dev/null @@ -1,60 +0,0 @@ - - -/* @(#)w_pow.c 1.3 95/01/18 */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* - * wrapper pow(x,y) return x**y - */ - -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common_Embedded/Math/fdlibm.h" - - -#ifdef __STDC__ - double pow(double x, double y) /* wrapper pow */ -#else - double pow(x,y) /* wrapper pow */ - double x,y; -#endif -{ -#ifdef _IEEE_LIBM - return __ieee754_pow(x,y); -#else - double z; - z=__ieee754_pow(x,y); - if(_LIB_VERSION == _IEEE_|| isnan(y)) return z; - if(isnan(x)) { - if(y==0.0) - return __kernel_standard(x,y,42); /* pow(NaN,0.0) */ - else - return z; - } - if(x==0.0){ - if(y==0.0) - return __kernel_standard(x,y,20); /* pow(0.0,0.0) */ - if(finite(y)&&y<0.0) - return __kernel_standard(x,y,23); /* pow(0.0,negative) */ - return z; - } - if(!finite(z)) { - if(finite(x)&&finite(y)) { - if(isnan(z)) - return __kernel_standard(x,y,24); /* pow neg**non-int */ - else - return __kernel_standard(x,y,21); /* pow overflow */ - } - } - if(z==0.0&&finite(x)&&finite(y)) - return __kernel_standard(x,y,22); /* pow underflow */ - return z; -#endif -} diff --git a/src/MSL_C.PPCEABI.bare.H/wchar_io.c b/src/MSL_C.PPCEABI.bare.H/wchar_io.c deleted file mode 100644 index 77f4b5fa..00000000 --- a/src/MSL_C.PPCEABI.bare.H/wchar_io.c +++ /dev/null @@ -1,22 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/wchar_io.h" - -int fwide(FILE* file, int mode) -{ - if (!file || file->file_mode.file_kind == __closed_file) { - return 0; - } - - switch (file->file_mode.file_orientation) { - case UNORIENTED: - if (mode > 0) { - file->file_mode.file_orientation = WIDE_ORIENTED; - } else if (mode < 0) { - file->file_mode.file_orientation = CHAR_ORIENTED; - } - return mode; - case WIDE_ORIENTED: - return 1; - case CHAR_ORIENTED: - return -1; - } -} diff --git a/src/OdemuExi2/DebuggerDriver.c b/src/OdemuExi2/DebuggerDriver.c deleted file mode 100644 index b791b28b..00000000 --- a/src/OdemuExi2/DebuggerDriver.c +++ /dev/null @@ -1,653 +0,0 @@ -#include -#include -#include - -typedef void (*MTRCallbackType)(int); - -static MTRCallbackType MTRCallback; - -static void (*DBGCallback)(u32, OSContext *); - -static u32 SendMailData; - -static s32 RecvDataLeng; - -static u8 *pEXIInputFlag; - -static u8 EXIInputFlag; - -static u8 SendCount = 0x80; - -#define IS_TRUE(x) ((x) != FALSE) -#define IS_FALSE(x) !IS_TRUE(x) -#define ROUND_UP(x, align) (((x) + (align)-1) & (-(align))) - -#if VERSION == VERSION_NO_ENG0 - -static void DBGEXIInit(); -static u32 DBGEXISelect(u32 v); -static void CheckMailBox(void); -static void MWCallback(u32 a, OSContext *b); -static void DBGHandler(s16 a, OSContext *b); - -void DBClose(void) { } - -void DBOpen(void) { } - -BOOL DBWrite(void *src, u32 size) -{ - u32 v; - u32 busyFlag; - BOOL interrupts = OSDisableInterrupts(); - - do { - _DBGReadStatus(&busyFlag); - } while (busyFlag & 2); - - SendCount++; - v = ((SendCount & 1) ? 0x1000 : 0); - - while (!DBGWrite(v | 0x1c000, src, ROUND_UP(size, 4))) - ; - - do { - _DBGReadStatus(&busyFlag); - } while (busyFlag & 2); - - v = SendCount; - while (!DBGWriteMailbox((0x1f000000) | v << 0x10 | size)) - ; - - do { - while (!_DBGReadStatus(&busyFlag)) - ; - } while (busyFlag & 2); - - OSRestoreInterrupts(interrupts); - - return 0; -} - -BOOL DBRead(u32 *buffer, s32 count) -{ - u32 interrupts = OSDisableInterrupts(); - u32 v = SendMailData & 0x10000 ? 0x1000 : 0; - - DBGRead(v + 0x1e000, buffer, ROUND_UP(count, 4)); - - RecvDataLeng = 0; - EXIInputFlag = 0; - - OSRestoreInterrupts(interrupts); - - return 0; -} - -u32 DBQueryData(void) -{ - BOOL interrupts; - EXIInputFlag = 0; - if (!RecvDataLeng) { - interrupts = OSDisableInterrupts(); - CheckMailBox(); -#if VERSION > 0 - OSRestoreInterrupts(interrupts); - } -#else - } - OSRestoreInterrupts(interrupts); -#endif - return RecvDataLeng; -} - -inline static void CheckMailBox(void) -{ - u32 v; - DBGReadStatus(&v); - if (v & 1) { - DBGReadMailbox(&v); - v &= 0x1fffffff; - - if ((v & 0x1f000000) == 0x1f000000) { - SendMailData = v; - RecvDataLeng = v & 0x7fff; - EXIInputFlag = 1; - } - } -} - -void DBInitInterrupts(void) -{ - __OSMaskInterrupts(0x18000); - __OSMaskInterrupts(0x40); - DBGCallback = &MWCallback; - __OSSetInterruptHandler(0x19, DBGHandler); - __OSUnmaskInterrupts(0x40); -} - -void DBInitComm(u8 **a, MTRCallbackType b) -{ - BOOL interrupts = OSDisableInterrupts(); - { - pEXIInputFlag = (u8 *)EXIInputFlag; - pEXIInputFlag = &EXIInputFlag; - - *a = pEXIInputFlag; - - MTRCallback = b; - - DBGEXIInit(); - } - OSRestoreInterrupts(interrupts); -} - -inline static BOOL _DBGReadStatus(u32 *p1) -{ - BOOL total = FALSE; - u32 v; - - DBGEXISelect(4); - - v = 1 << 30; - total |= IS_FALSE(DBGEXIImm(&v, 2, 1)); - total |= IS_FALSE(DBGEXISync()); - - total |= IS_FALSE(DBGEXIImm(p1, 4, 0)); - total |= IS_FALSE(DBGEXISync()); - - total |= IS_FALSE(DBGEXIDeselect()); - - return IS_FALSE(total); -} - -static void DBGHandler(s16 a, OSContext *b) -{ - *__PIRegs = 0x1000; - if (DBGCallback) { - DBGCallback(a, b); - } -} - -static void MWCallback(u32 a, OSContext *b) -{ - EXIInputFlag = TRUE; - if (MTRCallback) { - MTRCallback(0); - } -} - -#pragma push -#pragma dont_inline on -static BOOL DBGReadStatus(u32 *p1) -{ - return _DBGReadStatus(p1); -} -#pragma pop - -static BOOL DBGWrite(u32 count, void *buffer, s32 param3) -{ - BOOL total = FALSE; - u32 *buf_p = (u32 *)buffer; - u32 v1; - u32 v; - - DBGEXISelect(4); - - v1 = (count & 0x1fffc) << 8 | 0xa0000000; - total |= IS_FALSE(DBGEXIImm(&v1, sizeof(v1), 1)); - total |= IS_FALSE(DBGEXISync()); - - while (param3 != 0) { - v = *buf_p++; - - total |= IS_FALSE(DBGEXIImm(&v, sizeof(v), 1)); - total |= IS_FALSE(DBGEXISync()); - - param3 -= 4; - if (param3 < 0) { - param3 = 0; - } - } - - total |= IS_FALSE(DBGEXIDeselect()); - return IS_FALSE(total); -} - -static BOOL DBGRead(u32 count, u32 *buffer, s32 param3) -{ - BOOL total = FALSE; - u32 *buf_p = (u32 *)buffer; - u32 v1; - u32 v; - - DBGEXISelect(4); - - v1 = (count & 0x1fffc) << 8 | 0x20000000; - total |= IS_FALSE(DBGEXIImm(&v1, sizeof(v1), 1)); - total |= IS_FALSE(DBGEXISync()); - - while (param3) { - total |= IS_FALSE(DBGEXIImm(&v, sizeof(v), 0)); - total |= IS_FALSE(DBGEXISync()); - - *buf_p++ = v; - - param3 -= 4; - if (param3 < 0) { - param3 = 0; - } - } - - total |= IS_FALSE(DBGEXIDeselect()); - return IS_FALSE(total); -} - -#define TO_BOOL(x) (((u32)__cntlzw((x)) >> 5)) -#pragma push -#pragma dont_inline on -static BOOL DBGReadMailbox(u32* p1) -{ - u32 v; - u32 total = 0; - u32 stack0, stack1, stack2; - - DBGEXISelect(4); - - v = 0x60000000; - total |= !(DBGEXIImm(&v, 2, 1) != 0); - DBGEXISync(); - - total |= !(DBGEXIImm(p1, 4, 0) != 0); - DBGEXISync(); - - DBGEXIDeselect(); - total = TO_BOOL(total); - return total; -} -#pragma pop - -inline static BOOL DBGWriteMailbox(u32 p1) -{ - u32 cmd = 0xc0000000; - u32 v; - u32 base = p1; - BOOL total = FALSE; - - DBGEXISelect(4); - v = (base & 0x1fffffff) | (cmd); - total |= IS_FALSE(DBGEXIImm(&v, sizeof(v), 1)); - total |= IS_FALSE(DBGEXISync()); - total |= IS_FALSE(DBGEXIDeselect()); - - return IS_FALSE(total); -} - -static BOOL DBGEXIImm(void *buffer, s32 bytecounter, u32 write) -{ - u8 *tempPointer; - u32 writeOutValue; - int i; - - if (write) { - tempPointer = buffer; - writeOutValue = 0; - for (i = 0; i < bytecounter; i++) { - u8 *temp = ((u8 *)buffer) + i; - writeOutValue |= *temp << ((3 - i) << 3); - } - __EXIRegs[14] = writeOutValue; - } - - __EXIRegs[13] = 1 | write << 2 | (bytecounter - 1) << 4; - DBGEXISync(); - - if (!write) { - writeOutValue = __EXIRegs[14]; - tempPointer = buffer; - for (i = 0; i < bytecounter; i++) { - *tempPointer++ = writeOutValue >> ((3 - i) << 3); - } - } - - return TRUE; -} - -inline static BOOL DBGEXISync() -{ - while (__EXIRegs[13] & 1) - ; - - return TRUE; -} - -inline BOOL DBGEXIDeselect(void) -{ - __EXIRegs[10] &= 0x405; - return TRUE; -} - -inline static u32 DBGEXISelect(u32 v) -{ - u32 regs = __EXIRegs[10]; - regs &= 0x405; - regs |= 0x80 | (v << 4); - __EXIRegs[10] = regs; - return TRUE; -} - -inline static void DBGEXIInit() -{ - __OSMaskInterrupts(0x18000); - __EXIRegs[10] = 0; -} - -#else - -inline void DBGEXIInit() -{ - __OSMaskInterrupts(0x18000); - __EXIRegs[10] = 0; -} - -inline static u32 DBGEXISelect(u32 v) -{ - u32 regs = __EXIRegs[10]; - regs &= 0x405; - regs |= 0x80 | (v << 4); - __EXIRegs[10] = regs; - return TRUE; -} - -inline BOOL DBGEXIDeselect(void) -{ - __EXIRegs[10] &= 0x405; - return TRUE; -} - -inline static BOOL DBGEXISync() -{ - while (__EXIRegs[13] & 1) - ; - - return TRUE; -} - -static BOOL DBGEXIImm(void *buffer, s32 bytecounter, u32 write) -{ - u8 *tempPointer; - u32 writeOutValue; - int i; - - if (write) { - tempPointer = buffer; - writeOutValue = 0; - for (i = 0; i < bytecounter; i++) { - u8 *temp = ((u8 *)buffer) + i; - writeOutValue |= *temp << ((3 - i) << 3); - } - __EXIRegs[14] = writeOutValue; - } - - __EXIRegs[13] = 1 | write << 2 | (bytecounter - 1) << 4; - DBGEXISync(); - - if (!write) { - writeOutValue = __EXIRegs[14]; - tempPointer = buffer; - for (i = 0; i < bytecounter; i++) { - *tempPointer++ = writeOutValue >> ((3 - i) << 3); - } - } - - return TRUE; -} - -inline static BOOL DBGWriteMailbox(u32 p1) -{ - u32 cmd = 0xc0000000; - u32 v; - u32 base = p1; - BOOL total = FALSE; - - DBGEXISelect(4); - v = (base & 0x1fffffff) | (cmd); - total |= IS_FALSE(DBGEXIImm(&v, sizeof(v), 1)); - total |= IS_FALSE(DBGEXISync()); - total |= IS_FALSE(DBGEXIDeselect()); - - return IS_FALSE(total); -} - -#pragma dont_inline on -static BOOL DBGReadMailbox(u32 *p1) -{ - BOOL total = FALSE; - u32 v; - - DBGEXISelect(4); - - v = 0x60000000; - total |= IS_FALSE(DBGEXIImm(&v, 2, 1)); - total |= IS_FALSE(DBGEXISync()); - - total |= IS_FALSE(DBGEXIImm(p1, 4, 0)); - total |= IS_FALSE(DBGEXISync()); - - total |= IS_FALSE(DBGEXIDeselect()); - - return IS_FALSE(total); -} -#pragma dont_inline reset - -static BOOL DBGRead(u32 count, u32 *buffer, s32 param3) -{ - BOOL total = FALSE; - u32 *buf_p = (u32 *)buffer; - u32 v1; - u32 v; - - DBGEXISelect(4); - - v1 = (count & 0x1fffc) << 8 | 0x20000000; - total |= IS_FALSE(DBGEXIImm(&v1, sizeof(v1), 1)); - total |= IS_FALSE(DBGEXISync()); - - while (param3) { - total |= IS_FALSE(DBGEXIImm(&v, sizeof(v), 0)); - total |= IS_FALSE(DBGEXISync()); - - *buf_p++ = v; - - param3 -= 4; - if (param3 < 0) { - param3 = 0; - } - } - - total |= IS_FALSE(DBGEXIDeselect()); - return IS_FALSE(total); -} - -static BOOL DBGWrite(u32 count, void *buffer, s32 param3) -{ - BOOL total = FALSE; - u32 *buf_p = (u32 *)buffer; - u32 v1; - u32 v; - - DBGEXISelect(4); - - v1 = (count & 0x1fffc) << 8 | 0xa0000000; - total |= IS_FALSE(DBGEXIImm(&v1, sizeof(v1), 1)); - total |= IS_FALSE(DBGEXISync()); - - while (param3 != 0) { - v = *buf_p++; - - total |= IS_FALSE(DBGEXIImm(&v, sizeof(v), 1)); - total |= IS_FALSE(DBGEXISync()); - - param3 -= 4; - if (param3 < 0) { - param3 = 0; - } - } - - total |= IS_FALSE(DBGEXIDeselect()); - return IS_FALSE(total); -} - -inline static BOOL _DBGReadStatus(u32 *p1) -{ - BOOL total = FALSE; - u32 v; - - DBGEXISelect(4); - - v = 1 << 30; - total |= IS_FALSE(DBGEXIImm(&v, 2, 1)); - total |= IS_FALSE(DBGEXISync()); - - total |= IS_FALSE(DBGEXIImm(p1, 4, 0)); - total |= IS_FALSE(DBGEXISync()); - - total |= IS_FALSE(DBGEXIDeselect()); - - return IS_FALSE(total); -} - -#pragma dont_inline on -static BOOL DBGReadStatus(u32 *p1) -{ - return _DBGReadStatus(p1); -} -#pragma dont_inline reset - -static void MWCallback(u32 a, OSContext *b) -{ - EXIInputFlag = TRUE; - if (MTRCallback) { - MTRCallback(0); - } -} - -static void DBGHandler(s16 a, OSContext *b) -{ - *__PIRegs = 0x1000; - if (DBGCallback) { - DBGCallback(a, b); - } -} - -void DBInitComm(u8 **a, MTRCallbackType b) -{ - BOOL interrupts = OSDisableInterrupts(); - { - pEXIInputFlag = (u8 *)EXIInputFlag; - pEXIInputFlag = &EXIInputFlag; - - *a = pEXIInputFlag; - - MTRCallback = b; - - DBGEXIInit(); - } - OSRestoreInterrupts(interrupts); -} - -void DBInitInterrupts(void) -{ - __OSMaskInterrupts(0x18000); - __OSMaskInterrupts(0x40); - DBGCallback = &MWCallback; - __OSSetInterruptHandler(0x19, DBGHandler); - __OSUnmaskInterrupts(0x40); -} - -inline static void CheckMailBox(void) -{ - u32 v; - DBGReadStatus(&v); - if (v & 1) { - DBGReadMailbox(&v); - v &= 0x1fffffff; - - if ((v & 0x1f000000) == 0x1f000000) { - SendMailData = v; - RecvDataLeng = v & 0x7fff; - EXIInputFlag = 1; - } - } -} - -u32 DBQueryData(void) -{ - BOOL interrupts; - EXIInputFlag = 0; - if (!RecvDataLeng) { - interrupts = OSDisableInterrupts(); - CheckMailBox(); -#if VERSION > 0 - OSRestoreInterrupts(interrupts); - } -#else - } - OSRestoreInterrupts(interrupts); -#endif - return RecvDataLeng; -} - -BOOL DBRead(u32 *buffer, s32 count) -{ - u32 interrupts = OSDisableInterrupts(); - u32 v = SendMailData & 0x10000 ? 0x1000 : 0; - - DBGRead(v + 0x1e000, buffer, ROUND_UP(count, 4)); - - RecvDataLeng = 0; - EXIInputFlag = 0; - - OSRestoreInterrupts(interrupts); - - return 0; -} - -BOOL DBWrite(void *src, u32 size) -{ - u32 v; - u32 busyFlag; - BOOL interrupts = OSDisableInterrupts(); - - do { - _DBGReadStatus(&busyFlag); - } while (busyFlag & 2); - - SendCount++; - v = ((SendCount & 1) ? 0x1000 : 0); - - while (!DBGWrite(v | 0x1c000, src, ROUND_UP(size, 4))) - ; - - do { - _DBGReadStatus(&busyFlag); - } while (busyFlag & 2); - - v = SendCount; - while (!DBGWriteMailbox((0x1f000000) | v << 0x10 | size)) - ; - - do { - while (!_DBGReadStatus(&busyFlag)) - ; - } while (busyFlag & 2); - - OSRestoreInterrupts(interrupts); - - return 0; -} - -void DBOpen(void) { } - -void DBClose(void) { } - -#endif diff --git a/src/REL/E3setupDLL/main.c b/src/REL/E3setupDLL/main.c index a080e2de..8794d41c 100644 --- a/src/REL/E3setupDLL/main.c +++ b/src/REL/E3setupDLL/main.c @@ -453,10 +453,10 @@ static s16 lbl_2_data_31E[] = { }; static u32 playerCntMessTbl[] = { - MAKE_MESSID(0x22, 0x02), - MAKE_MESSID(0x22, 0x03), - MAKE_MESSID(0x22, 0x04), - MAKE_MESSID(0x22, 0x01) + 0x00220002, + 0x00220003, + 0x00220004, + 0x00220001 }; static void UpdatePlayerCnt(omObjData *object) @@ -602,16 +602,16 @@ static void InitPlayerCnt(omObjData *object) HuSprAttrSet(group, index, HUSPR_ATTR_DISPOFF); HuSprAttrSet(index2, index, HUSPR_ATTR_DISPOFF); } - HuWinMesMaxSizeGet(1, sizeMax, MAKE_MESSID(0x22, 0x00)); + HuWinMesMaxSizeGet(1, sizeMax, 0x220000); index2 = HuWinCreate(-10000, 26, sizeMax[0], sizeMax[1], 0); work->winHeader = index2; HuWinMesColSet(index2, 4); HuWinBGTPLvlSet(index2, 0); HuWinMesSpeedSet(index2, 0); - HuWinMesSet(index2, MAKE_MESSID(0x22, 0x00)); + HuWinMesSet(index2, 0x220000); work->playerCntOld = work->playerCnt = configE3.playerCnt; mess = playerCntMessTbl[work->playerCnt]; - HuWinMesMaxSizeGet(4, sizeMax, MAKE_MESSID(0x22, 0x01), MAKE_MESSID(0x22, 0x02), MAKE_MESSID(0x22, 0x03), MAKE_MESSID(0x22, 0x04)); + HuWinMesMaxSizeGet(4, sizeMax, 0x220001, 0x220002, 0x220003, 0x220004); index2 = HuWinCreate(-10000, 58, sizeMax[0], sizeMax[1], 0); work->winPlayer = index2; work->winSize = *(Vec2f *)(sizeMax); //FIXME: Remove Cast @@ -1143,8 +1143,8 @@ typedef struct e3_rumble_cfg_work { } E3RumbleCfgWork; static u32 rumbleMess[] = { - MAKE_MESSID(0x22, 0x08), - MAKE_MESSID(0x22, 0x07) + 0x220008, + 0x220007 }; static void UpdateRumbleCfg(omObjData *object) @@ -1283,16 +1283,16 @@ static void InitRumbleCfg(omObjData *object) HuSprAttrSet(group, index, HUSPR_ATTR_DISPOFF); HuSprAttrSet(index2, index, HUSPR_ATTR_DISPOFF); } - HuWinMesMaxSizeGet(1, sizeMax, MAKE_MESSID(0x22, 0x06)); + HuWinMesMaxSizeGet(1, sizeMax, 0x220006); index2 = HuWinCreate(-10000, 267, sizeMax[0], sizeMax[1], 0); work->winHeader = index2; HuWinMesColSet(index2, 4); HuWinBGTPLvlSet(index2, 0); HuWinMesSpeedSet(index2, 0); - HuWinMesSet(index2, MAKE_MESSID(0x22, 0x06)); + HuWinMesSet(index2, 0x220006); work->rumbleValOld = work->rumbleVal = configE3.rumble; mess = rumbleMess[work->rumbleVal]; - HuWinMesMaxSizeGet(2, sizeMax, MAKE_MESSID(0x22, 0x07), MAKE_MESSID(0x22, 0x08)); + HuWinMesMaxSizeGet(2, sizeMax, 0x220007, 0x220008); index2 = HuWinCreate(-10000, 299, sizeMax[0], sizeMax[1], 0); work->winValue = index2; work->winSize = *(Vec2f *)(sizeMax); //FIXME: Remove Cast @@ -1366,12 +1366,12 @@ static void UpdateModeSel(omObjData *object) object->work[2] = 2; work->boardOld = -1; HuWinMesColSet(work->winMode, 4); - HuWinMesMaxSizeGet(1, winSize, MAKE_MESSID(0x22, 0x0F)); + HuWinMesMaxSizeGet(1, winSize, 0x22000F); HuWinCenterPosSet(work->winMode, (work->winSizeMode.x-winSize[0])/-2.0f, (work->winSizeMode.y-winSize[1])/-2.0f); - HuWinMesSet(work->winMode, MAKE_MESSID(0x22, 0x0F)); - HuWinMesMaxSizeGet(1, winSize, MAKE_MESSID(0x22, 0x10)); + HuWinMesSet(work->winMode, 0x22000F); + HuWinMesMaxSizeGet(1, winSize, 0x220010); HuWinCenterPosSet(work->winBoard, (work->winSizeBoard.x-winSize[0])/-2.0f, (work->winSizeBoard.y-winSize[1])/-2.0f); - HuWinMesSet(work->winBoard, MAKE_MESSID(0x22, 0x10)); + HuWinMesSet(work->winBoard, 0x220010); } } else if(btnDown & PAD_BUTTON_B) { HuAudFXPlay(3); @@ -1405,12 +1405,12 @@ static void UpdateModeSel(omObjData *object) work->modeOld = -1; object->work[2] = 1; HuWinMesColSet(work->winMode, 4); - HuWinMesMaxSizeGet(1, winSize, MAKE_MESSID(0x22, 0x09)); + HuWinMesMaxSizeGet(1, winSize, 0x220009); HuWinCenterPosSet(work->winMode, (work->winSizeMode.x-winSize[0])/-2.0f, (work->winSizeMode.y-winSize[1])/-2.0f); - HuWinMesSet(work->winMode, MAKE_MESSID(0x22, 0x09)); - HuWinMesMaxSizeGet(1, winSize, MAKE_MESSID(0x22, 0x0A)); + HuWinMesSet(work->winMode, 0x220009); + HuWinMesMaxSizeGet(1, winSize, 0x22000A); HuWinCenterPosSet(work->winBoard, (work->winSizeBoard.x-winSize[0])/-2.0f, (work->winSizeBoard.y-winSize[1])/-2.0f); - HuWinMesSet(work->winBoard, MAKE_MESSID(0x22, 0x0A)); + HuWinMesSet(work->winBoard, 0x22000A); } else if(btnDown & PAD_BUTTON_LEFT) { HuAudFXPlay(0); work->board--; @@ -1504,23 +1504,23 @@ static void InitModeSel(omObjData *object) index++; HuSprAttrSet(group, 0, HUSPR_ATTR_DISPOFF); HuSprAttrSet(group, 1, HUSPR_ATTR_DISPOFF); - HuWinMesMaxSizeGet(2, &work->winSizeMode.x, MAKE_MESSID(0x22, 0x09), MAKE_MESSID(0x22, 0x0F)); + HuWinMesMaxSizeGet(2, &work->winSizeMode.x, 0x220009, 0x22000F); index2 = HuWinCreate(-10000, 350, work->winSizeMode.x, work->winSizeMode.y, 0); work->winMode = index2; HuWinMesColSet(index2, 4); HuWinBGTPLvlSet(index2, 0); HuWinMesSpeedSet(index2, 0); - HuWinMesMaxSizeGet(1, size, MAKE_MESSID(0x22, 0x09)); + HuWinMesMaxSizeGet(1, size, 0x220009); HuWinCenterPosSet(index2, (work->winSizeMode.x-size[0])/-2.0f, (work->winSizeMode.y-size[1])/-2.0f); - HuWinMesSet(index2, MAKE_MESSID(0x22, 0x09)); - HuWinMesMaxSizeGet(2, &work->winSizeBoard.x, MAKE_MESSID(0x22, 0x0A), MAKE_MESSID(0x22, 0x10)); + HuWinMesSet(index2, 0x220009); + HuWinMesMaxSizeGet(2, &work->winSizeBoard.x, 0x22000A, 0x220010); index2 = HuWinCreate(-10000, 390, work->winSizeBoard.x, work->winSizeBoard.y, 0); work->winBoard = index2; HuWinBGTPLvlSet(index2, 0); HuWinMesSpeedSet(index2, 0); - HuWinMesMaxSizeGet(1, size, MAKE_MESSID(0x22, 0x0A)); + HuWinMesMaxSizeGet(1, size, 0x22000A); HuWinCenterPosSet(index2, (work->winSizeBoard.x-size[0])/-2.0f, (work->winSizeBoard.y-size[1])/-2.0f); - HuWinMesSet(index2, MAKE_MESSID(0x22, 0x0A)); + HuWinMesSet(index2, 0x22000A); object->work[0] = 0; object->work[1] = 0; object->work[2] = 0; diff --git a/src/REL/E3setupDLL/mgselect.c b/src/REL/E3setupDLL/mgselect.c index 3c8bb026..ba636a75 100644 --- a/src/REL/E3setupDLL/mgselect.c +++ b/src/REL/E3setupDLL/mgselect.c @@ -6,6 +6,7 @@ #include "game/sprite.h" #include "game/window.h" #include "game/wipe.h" +#include "rel_sqrt_consts.h" #include "REL/E3SetupDLL.h" @@ -93,19 +94,19 @@ static s16 mgOvlTbl[] = { static s16 mgIdTbl[] = { 403, 404, 407, 410, 412, 415, 418, 419, 425, 426, 431, 436, 438, 0 }; static s32 mgNameTbl[] = { - MAKE_MESSID(0x17, 0x03), - MAKE_MESSID(0x17, 0x04), - MAKE_MESSID(0x17, 0x07), - MAKE_MESSID(0x17, 0x0A), - MAKE_MESSID(0x17, 0x0C), - MAKE_MESSID(0x17, 0x0F), - MAKE_MESSID(0x17, 0x12), - MAKE_MESSID(0x17, 0x13), - MAKE_MESSID(0x17, 0x19), - MAKE_MESSID(0x17, 0x1A), - MAKE_MESSID(0x17, 0x1F), - MAKE_MESSID(0x17, 0x24), - MAKE_MESSID(0x17, 0x26), + 0x00170003, + 0x00170004, + 0x00170007, + 0x0017000A, + 0x0017000C, + 0x0017000F, + 0x00170012, + 0x00170013, + 0x00170019, + 0x0017001A, + 0x0017001F, + 0x00170024, + 0x00170026, }; char lbl_2_data_A8[] = "\013TEST MINIGAME NAME01\n test"; @@ -142,6 +143,8 @@ static float cursorYOfsTbl[] = { -100.0f, -50.0f, 0.0f, 50.0f, 100.0f }; static s32 mgPicTbl[] = { 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52 }; +static char startText[] = "\013\016\r PRESS START"; + static void StartMGSelect(omObjData *object) { HuAudSeqPlay(0x2B); @@ -329,12 +332,12 @@ static void CreateMGSelect(omObjData *object) temp_r30 = HuSprGrpCreate(3); temp_r31->unk_1C = temp_r30; HuSprGrpPosSet(temp_r30, 174.0f, 271.0f); - temp_r25 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_E3SETUP, 0x21), MEMORY_DEFAULT_NUM)); + temp_r25 = HuSprAnimRead(HuDataReadNum(0x21, MEMORY_DEFAULT_NUM)); temp_r31->unk_00[index2] = temp_r25; temp_r29 = HuSprCreate(temp_r25, 0x7540, 0); HuSprGrpMemberSet(temp_r30, index2, temp_r29); index2++; - temp_r25 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_E3SETUP, 0x27), MEMORY_DEFAULT_NUM)); + temp_r25 = HuSprAnimRead(HuDataReadNum(0x27, MEMORY_DEFAULT_NUM)); temp_r31->unk_00[index2] = temp_r25; temp_r29 = HuSprCreate(temp_r25, 0x64, 0); HuSprGrpMemberSet(temp_r30, index2, temp_r29); @@ -343,9 +346,9 @@ static void CreateMGSelect(omObjData *object) temp_r31->unk_42 = 0; HuSprPosSet(temp_r30, index2, 0.0f, cursorYOfsTbl[temp_r31->unk_42]); index2++; - temp_r25 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_E3SETUP, 0x35), MEMORY_DEFAULT_NUM)); + temp_r25 = HuSprAnimRead(HuDataReadNum(0x35, MEMORY_DEFAULT_NUM)); temp_r31->unk_00[index2++] = temp_r25; - temp_r23 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_E3SETUP, 0x36), MEMORY_DEFAULT_NUM)); + temp_r23 = HuSprAnimRead(HuDataReadNum(0x36, MEMORY_DEFAULT_NUM)); temp_r31->unk_00[index2++] = temp_r23; temp_r30 = HuSprGrpCreate(2); temp_r31->unk_1E = temp_r30; @@ -413,8 +416,8 @@ static void UpdateMGPic(omObjData *object) if (object->work[1] != object->work[0]) { temp_r29 = temp_r30->unk_40; - HuSprAttrSet(temp_r29, object->work[1], HUSPR_ATTR_DISPOFF); - HuSprAttrReset(temp_r29, object->work[0], HUSPR_ATTR_DISPOFF); + HuSprAttrSet(temp_r29, object->work[1], 4); + HuSprAttrReset(temp_r29, object->work[0], 4); object->work[1] = object->work[0]; } } @@ -446,14 +449,14 @@ static void CreateMGPic(omObjData *object) HuSprAttrSet(temp_r3, var_r30, 4); } index2 = var_r30; - temp_r3_2 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_E3SETUP, 0x22), MEMORY_DEFAULT_NUM)); + temp_r3_2 = HuSprAnimRead(HuDataReadNum(0x22, MEMORY_DEFAULT_NUM)); temp_r28->unk_00[index2] = temp_r3_2; group = HuSprCreate(temp_r3_2, 0x7540, 0); HuSprGrpMemberSet(temp_r3, index2, group); HuSprTPLvlSet(temp_r3, index2, 0.7f); index2++; object->work[1] = object->work[0]; - HuSprAttrReset(temp_r3, object->work[1], HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r3, object->work[1], 4); object->func = UpdateMGPic; } @@ -475,7 +478,7 @@ static void CreateMGInterface(omObjData *object) group = HuSprGrpCreate(1); unkStruct->group = group; HuSprGrpPosSet(group, 288.0f, 64.0f); - temp_r3_2 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_E3SETUP, 0x24), MEMORY_DEFAULT_NUM)); + temp_r3_2 = HuSprAnimRead(HuDataReadNum(0x24, MEMORY_DEFAULT_NUM)); unkStruct->unk_00[index2] = temp_r3_2; index = HuSprCreate(temp_r3_2, 0x2710, 0); HuSprGrpMemberSet(group, 0, index); @@ -483,17 +486,17 @@ static void CreateMGInterface(omObjData *object) group = HuSprGrpCreate(1); unkStruct->group2 = group; HuSprGrpPosSet(group, 444.0f, 384.0f); - temp_r3_2 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_E3SETUP, 0x23), MEMORY_DEFAULT_NUM)); + temp_r3_2 = HuSprAnimRead(HuDataReadNum(0x23, MEMORY_DEFAULT_NUM)); unkStruct->unk_00[index2] = temp_r3_2; index = HuSprCreate(temp_r3_2, 0x271A, 0); HuSprGrpMemberSet(group, 0, index); index2++; - HuWinMesMaxSizeGet(1, sp8, "\013\016\r PRESS START"); + HuWinMesMaxSizeGet(1, sp8, &startText); index = HuWinCreate(340.0f, 362.0f, sp8[0], sp8[1], 0); unkStruct->unk_2C = index; HuWinMesColSet(index, 0); HuWinBGTPLvlSet(index, 0.0f); HuWinMesSpeedSet(index, 0); - HuWinMesSet(index, MAKE_MESSID_PTR("\013\016\r PRESS START")); + HuWinMesSet(index, MAKE_MESSID_PTR(startText)); object->func = UpdateMGInterface; } diff --git a/src/REL/_minigameDLL/_minigameDLL.c b/src/REL/_minigameDLL/_minigameDLL.c index 1b4730ee..d252a50b 100644 --- a/src/REL/_minigameDLL/_minigameDLL.c +++ b/src/REL/_minigameDLL/_minigameDLL.c @@ -1,6 +1,6 @@ #include "REL/executor.h" #include "dolphin/os.h" -#include "math.h" +#include "rel_sqrt_consts.h" void ObjectSetup(void) { OSReport("minigame dll setup\n"); diff --git a/src/REL/board_executor.c b/src/REL/board_executor.c index 3d838c77..04e59a3a 100644 --- a/src/REL/board_executor.c +++ b/src/REL/board_executor.c @@ -1,5 +1,5 @@ #include "REL/board_executor.h" -#include "math.h" +#include "rel_sqrt_consts.h" static void ObjectSetup(void) { BoardObjectSetup(BoardCreate, BoardDestroy); diff --git a/src/REL/bootDll/language.c b/src/REL/bootDll/language.c deleted file mode 100644 index fdc674f1..00000000 --- a/src/REL/bootDll/language.c +++ /dev/null @@ -1,280 +0,0 @@ -#include "version.h" -#if VERSION_PAL -#include "dolphin.h" -#include "game/card.h" -#include "game/saveload.h" -#include "game/sprite.h" -#include "game/hsfman.h" -#include "game/hsfanim.h" -#include "game/window.h" -#include "game/gamework_data.h" -#include "game/object.h" -#include "game/wipe.h" -#include "game/pad.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/minigame_seq.h" - -#include "math.h" -#include "ext_math.h" - -#include "data_num/title.h" - -s32 flagFileTbl[] = { - TITLE_FLAG_EN_ANM, - TITLE_FLAG_ES_ANM, - TITLE_FLAG_IT_ANM, - TITLE_FLAG_FR_ANM, - TITLE_FLAG_GE_ANM -}; - -extern int SystemInitF; - -extern Process *objman; -extern Vec debugCamRot[2]; -extern Vec debugCamPos[2]; -extern float debugCamZoom[2]; - -void DebugCamOutView(omObjData *obj); -void DebugCamUpdate(omObjData *obj); - -BOOL LanguageMenuExec(void) -{ - s16 language = GWLanguageGet()-1; - s16 i; - s16 gid; - s16 time; - s16 choiceChange; - AnimData *anim; - s16 sprid; - s16 choice; - omObjData *outView; - omObjData *updateCamera; - s16 modelId[5]; - s16 winId[5]; - - float winSize[2]; - float dist; - float posX; - float posZ; - - for(i=0; i<4; i++) { - GWPlayerCfg[i].character = i; - } - gid = HuSprGrpCreate(1); - anim = HuSprAnimReadFile(TITLE_LANGUAGEBG_ANM); - sprid = HuSprCreate(anim, 0, 0); - HuSprGrpMemberSet(gid, 0, sprid); - HuSprDrawNoSet(gid, 0, 127); - HuSprPosSet(gid, 0, 288, 240); - HuSprTPLvlSet(gid, 0, 0.6f); - Hu3DFogSet(350, 2000, 128, 128, 128); - debugCamRot[0].x = -20; - debugCamRot[0].y = 0; - debugCamRot[0].z = 0; - debugCamPos[0].x = 0; - debugCamPos[0].y = 20; - debugCamPos[0].z = -7; - debugCamZoom[0] = 600; - - Hu3DCameraPerspectiveSet(HU3D_CAM0, 60, 20, 5000, 1.2f); - outView = omAddObjEx(objman, 32730, 0, 0, -1, DebugCamOutView); - updateCamera = omAddObjEx(objman, 0, 32, 32, -1, DebugCamUpdate); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet()) { - HuPrcVSleep(); - } - if(!SystemInitF) { - void *group_samp; - HuWindowInit(); - group_samp = HuMemDirectMalloc(HEAP_DATA, msmSysGetSampSize(0)); - msmSysLoadGroup(0, group_samp, 0); - HuMemDirectFree(group_samp); - } - for(i=0; i<5; i++) { - modelId[i] = Hu3DModelCreateFile(TITLE_FLAG_HSF); - anim = HuSprAnimReadFile(flagFileTbl[i]); - Hu3DAnimCreate(anim, modelId[i], "flag"); - Hu3DModelPosSet(modelId[i], sind(i*72)*200, 70, cosd(i*72)*200); - Hu3DModelRotSet(modelId[i], -20, 0, 0); - } - for(time=1; time<=30; time++) { - dist = 1.0-(time/30.0); - for(i=0; i<5; i++) { - Hu3DModelPosSet(modelId[i], sind((dist*180.0f)+(i*72)+(language*72))*(200+(300*dist)), 70, cosd((dist*180.0f)+(i*72)+(language*72))*(200+(300*dist))); - } - HuPrcVSleep(); - } - HuWinInit(1); - HuWinMesMaxSizeGet(5, winSize, 0x380000, 0x380005, 0x38000A, 0x38000F, 0x380014); - winId[0] = HuWinExCreateStyled(-10000, 50, winSize[0], winSize[1], -1, 0); - HuWinAttrSet(winId[0], 0x800); - HuWinMesSet(winId[0], 0x380000+(language*5)); - HuWinBGTPLvlSet(winId[0], 0); - HuWinMesSpeedSet(winId[0], 0); - HuWinDispOn(winId[0]); - HuWinMesMaxSizeGet(5, winSize, 0x380001, 0x380006, 0x38000B, 0x380010, 0x380015); - winId[1] = HuWinExCreateStyled(-10000, 100, winSize[0], winSize[1], -1, 0); - HuWinAttrSet(winId[1], 0x800); - HuWinMesSet(winId[1], 0x380001+(language*5)); - HuWinBGTPLvlSet(winId[1], 0); - HuWinMesSpeedSet(winId[1], 0); - HuWinDispOn(winId[1]); - HuWinMesMaxSizeGet(5, winSize, 0x380002, 0x380007, 0x38000C, 0x380011, 0x380016); - winId[2] = HuWinExCreateStyled(-10000, 340, winSize[0], winSize[1], -1, 0); - HuWinAttrSet(winId[2], 0x800); - HuWinMesSet(winId[2], 0x380002+(language*5)); - HuWinBGTPLvlSet(winId[2], 0); - HuWinMesSpeedSet(winId[2], 0); - HuWinDispOn(winId[2]); - HuWinMesMaxSizeGet(5, winSize, 0x380004, 0x380009, 0x38000E, 0x380013, 0x380018); - winId[4] = HuWinExCreateStyled(-10000, (448-winSize[1])-10, winSize[0], winSize[1], -1, 0); - HuWinAttrSet(winId[4], 0x800); - choiceChange = FALSE; - while(1) { - if(HuPadDStkRep[0] & PAD_BUTTON_LEFT) { - HuAudFXPlay(0); - for(time=0; time<=10; time++) { - for(i=0; i<5; i++) { - posX = sind((72.0*language)+(i*72)-(72.0*(time/10.0)))*200; - posZ = cosd((72.0*language)+(i*72)-(72.0*(time/10.0)))*200; - Hu3DModelPosSet(modelId[i], posX, 70, posZ); - } - HuPrcVSleep(); - } - language--; - if(language < 0) { - language = 4; - } - choiceChange = TRUE; - } else if(HuPadDStkRep[0] & PAD_BUTTON_RIGHT) { - HuAudFXPlay(0); - for(time=0; time<=10; time++) { - for(i=0; i<5; i++) { - posX = sind((72.0*language)+(i*72)+(72.0*(time/10.0)))*200; - posZ = cosd((72.0*language)+(i*72)+(72.0*(time/10.0)))*200; - Hu3DModelPosSet(modelId[i], posX, 70, posZ); - } - HuPrcVSleep(); - } - language++; - if(language >= 5) { - language = 0; - } - choiceChange = TRUE; - } - if(choiceChange) { - HuWinMesSet(winId[0], 0x380000+(language*5)); - HuWinMesSet(winId[1], 0x380001+(language*5)); - HuWinMesSet(winId[2], 0x380002+(language*5)); - choiceChange = FALSE; - } - if(HuPadBtnDown[0] & PAD_BUTTON_A) { - HuAudFXPlay(1); - HuWinHomeClear(winId[4]); - HuWinExAnimIn(winId[4]); - HuWinMesSet(winId[4], 0x380004+(language*5)); - HuWinMesWait(winId[4]); - choice = HuWinChoiceGet(winId[4], 0); - if(choice == 0) { - GwLanguage = GwLanguageSave = language+1; - GWLanguageSet(GwLanguage); - break; - } - HuWinExAnimOut(winId[4]); - } - if(GwLanguage != -1 && (HuPadBtnDown[0] & PAD_BUTTON_B)) { - HuAudFXPlay(3); - break; - } - HuPrcVSleep(); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet()) { - HuPrcVSleep(); - } - HuSprGrpKill(gid); - for(i=0; i<5; i++) { - Hu3DModelKill(modelId[i]); - } - omDelObjEx(objman, outView); - omDelObjEx(objman, updateCamera); - if(SystemInitF == 0) { - CharManInit(); - MGSeqInit(); - } - HuWinAllKill(); - Hu3DFogClear(); - return TRUE; -} - -s32 LanguageBootGet(void) -{ - s16 result = -1; - s16 i; - s16 j; - for(i=0; i<2; i++) { - if(HuCardSlotCheck(i) < 0) { - continue; - } - if(HuCardMount(i) < 0) { - continue; - } - for(j=0; j<3; j++) { - CARDFileInfo fileInfo; - if(HuCardOpen(i, SaveFileNameTbl[j], &fileInfo) < 0) { - continue; - } - if(HuCardRead(&fileInfo, &saveBuf, SAVE_BUF_SIZE, 0) < 0) { - continue; - } - if(!SLCheckSumCheck()) { - continue; - } - memcpy(&GWGameStat, &saveBuf.data.stat, sizeof(GameStat)); - if(GWGameStat.language < 1) { - continue; - } - if(GWGameStat.language > 5) { - continue; - } - result = GWGameStat.language; - OSReport("Language %d\n", GWGameStat.language); - HuCardClose(&fileInfo); - HuCardUnMount(i); - return result; - } - HuCardUnMount(i); - } - if(result == -1) { - OSReport("OS Language %d\n", OSGetLanguage()); - switch(OSGetLanguage()) { - case OS_LANG_ENGLISH: - result = 1; - break; - - case OS_LANG_GERMAN: - result = 2; - break; - - case OS_LANG_FRENCH: - result = 3; - break; - - case OS_LANG_SPANISH: - result = 5; - break; - - case OS_LANG_ITALIAN: - result = 4; - break; - - default: - result = -1; - break; - } - } - return result; -} - -#endif \ No newline at end of file diff --git a/src/REL/bootDll/main.c b/src/REL/bootDll/main.c index ee8b1b04..9e9ccda2 100644 --- a/src/REL/bootDll/main.c +++ b/src/REL/bootDll/main.c @@ -1,21 +1,21 @@ -#include "ext_math.h" -#include "game/audio.h" +#include "game/gamework_data.h" +#include "game/process.h" #include "game/chrman.h" #include "game/data.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/minigame_seq.h" -#include "game/memory.h" -#include "game/msm.h" -#include "game/object.h" -#include "game/pad.h" -#include "game/process.h" #include "game/sprite.h" -#include "game/thpmain.h" -#include "game/window.h" +#include "game/object.h" +#include "game/audio.h" +#include "game/memory.h" +#include "game/hsfman.h" #include "game/wipe.h" +#include "game/pad.h" +#include "game/window.h" +#include "game/thpmain.h" +#include "game/msm.h" #include "math.h" +#include "ext_math.h" +#include "rel_sqrt_consts.h" #include "data_num/title.h" @@ -25,763 +25,527 @@ extern int SystemInitF; -static omObjData *debugOutView; -Process *objman; -Vec debugCamRot[2]; -Vec debugCamPos[2]; -float debugCamZoom[2]; +static Process *objman[2]; +Vec lbl_1_bss_3C[2]; +Vec lbl_1_bss_24[2]; +float lbl_1_bss_1C[2]; Vec lbl_1_bss_10; -static s16 demoWinId; +static s16 demoWin; -static s16 titleMdlId[3]; -static s16 bootGrpId; +static s16 titleModel[3]; +static s16 titleGroup; s16 lbl_1_bss_4; -#if VERSION_PAL -static BOOL initLanguageF; -#endif -s32 debugCamOnF; +s32 lbl_1_bss_0; -void BootExec(void); +static void BootProc(void); static void UpdateDemoMess(void); -#if VERSION_NTSC -void BootProgExec(void); -#endif -void BootTitleCreate(void); -BOOL BootTitleExec(void); +static void ProgressiveProc(void); +static void TitleInit(void); +static BOOL TitleProc(void); -void *NintendoDataDecode(void); +void *logoReadNintendo(void); void ObjectSetup(void) { - omOvlHisData *history; - OSReport("******* Boot ObjectSetup *********\n"); - objman = omInitObjMan(50, 8192); - debugCamRot[0].x = -67; - debugCamRot[0].y = 40; - debugCamRot[0].z = 0; - debugCamPos[0].x = 260; - debugCamPos[0].y = -103; - debugCamPos[0].z = -18; - debugCamZoom[0] = 2885; - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 30, 20, 15000, 1.2); - Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); - HuPrcCreate(BootExec, 100, 12288, 0); - Hu3DBGColorSet(0, 0, 0); - history = omOvlHisGet(0); - omOvlHisChg(0, history->overlay, 1, history->stat); - #if VERSION_PAL - if(SystemInitF == FALSE) { - initLanguageF = FALSE; - } else { - initLanguageF = TRUE; - } - #endif + omOvlHisData *history; + OSReport("******* Boot ObjectSetup *********\n"); + objman[0] = omInitObjMan(50, 8192); + lbl_1_bss_3C[0].x = -67; + lbl_1_bss_3C[0].y = 40; + lbl_1_bss_3C[0].z = 0; + lbl_1_bss_24[0].x = 260; + lbl_1_bss_24[0].y = -103; + lbl_1_bss_24[0].z = -18; + lbl_1_bss_1C[0] = 2885; + Hu3DCameraCreate(1); + Hu3DCameraPerspectiveSet(1, 30, 20, 15000, 1.2); + Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); + HuPrcCreate(BootProc, 100, 12288, 0); + Hu3DBGColorSet(0, 0, 0); + history = omOvlHisGet(0); + omOvlHisChg(0, history->overlay, 1, history->stat); } -#if VERSION_PAL -s32 LanguageBootGet(void); -BOOL LanguageMenuExec(void); -#endif - -void BootExec(void) +static void BootProc(void) { - AnimData *data; - s16 group; - s16 sprite_nintendo; - s16 sprite_hudson; - s16 i; - OSTick tick_prev; - Process *curr = HuPrcCurrentGet(); - #if VERSION_NTSC - if (omovlevtno == 0) { - BootProgExec(); - } - #else - if(SystemInitF == FALSE) { - GwLanguage = LanguageBootGet(); - if(GwLanguage == -1) { - if(LanguageMenuExec()) { - SystemInitF = TRUE; - } - } else { - GWLanguageSet(GwLanguage); - } - } - #endif - group = HuSprGrpCreate(2); - data = HuSprAnimRead(NintendoDataDecode()); - sprite_nintendo = HuSprCreate(data, 0, 0); - HuSprGrpMemberSet(group, 0, sprite_nintendo); - HuSprPosSet(group, 0, 288, 240); - HuSprAttrSet(group, 0, HUSPR_ATTR_DISPOFF); - if (omovlevtno != 0) { - HuAudSndGrpSetSet(0); - data = HuSprAnimReadFile(TITLE_HUDSON_ANM); - sprite_hudson = HuSprCreate(data, 0, 0); - HuSprGrpMemberSet(group, 1, sprite_hudson); - HuSprPosSet(group, 1, 288, 240); - HuSprAttrSet(group, 1, HUSPR_ATTR_DISPOFF); - HuWinInit(1); - BootTitleCreate(); - SystemInitF = 1; - } - else { - s16 group_thp; - BOOL skip_wait; - float win_size[2]; - s16 sprite_thp; - for (i = 0; i < 4; i++) { - GWPlayerCfg[i].pad_idx = i; - } - #if VERSION_PAL - if(SystemInitF) { - data = HuSprAnimReadFile(TITLE_HUDSON_ANM); - sprite_hudson = HuSprCreate(data, 0, 0); - HuSprGrpMemberSet(group, 1, sprite_hudson); - HuSprPosSet(group, 1, 288, 240); - HuSprAttrSet(group, 1, HUSPR_ATTR_DISPOFF); - HuAudSndGrpSetSet(0); - BootTitleCreate(); - HuWinInit(1); - } - #endif - repeat: - HuSprAttrReset(group, 0, HUSPR_ATTR_DISPOFF); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet()) { - HuPrcVSleep(); - } - WipeColorSet(255, 255, 255); - if (!SystemInitF) { - tick_prev = OSGetTick(); - CharManInit(); - HuWindowInit(); - MGSeqInit(); - HuWinInit(1); - BootTitleCreate(); - data = HuSprAnimReadFile(TITLE_HUDSON_ANM); - sprite_hudson = HuSprCreate(data, 0, 0); - HuSprGrpMemberSet(group, 1, sprite_hudson); - HuSprPosSet(group, 1, 288, 240); - HuSprAttrSet(group, 1, HUSPR_ATTR_DISPOFF); - while (OSTicksToMilliseconds(OSGetTick() - tick_prev) < 3000) { - HuPrcVSleep(); - } - } - else { - for (i = 0; i < 180; i++) { - #if VERSION_NTSC - if (HuPadBtnDown[0] & (PAD_BUTTON_START | PAD_BUTTON_A)) { - break; - } - #else - if (initLanguageF && (HuPadBtnDown[0] & (PAD_BUTTON_START | PAD_BUTTON_A))) { - break; - } - #endif - HuPrcVSleep(); - } - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet()) { - HuPrcVSleep(); - } - HuSprAttrSet(group, 0, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(group, 1, HUSPR_ATTR_DISPOFF); - HuPrcSleep(60); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet()) { - HuPrcVSleep(); - } - if (!SystemInitF) { - void *group_samp; - tick_prev = OSGetTick(); - group_samp = HuMemDirectMalloc(HEAP_DATA, msmSysGetSampSize(0)); - msmSysLoadGroup(0, group_samp, 0); - HuMemDirectFree(group_samp); - while (OSTicksToMilliseconds(OSGetTick() - tick_prev) < 3000) { - HuPrcVSleep(); - } - } - else { - for (i = 0; i < 180; i++) { - #if VERSION_NTSC - if (HuPadBtnDown[0] & (PAD_BUTTON_START | PAD_BUTTON_A)) { - break; - } - #else - if (initLanguageF && (HuPadBtnDown[0] & (PAD_BUTTON_START | PAD_BUTTON_A))) { - break; - } - #endif - HuPrcVSleep(); - } - } - #if VERSION_PAL - initLanguageF = TRUE; - #endif - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet()) { - HuPrcVSleep(); - } - tick_prev = OSGetTick(); - if (!SystemInitF) { - HuAudSndGrpSetSet(0); - SystemInitF = 1; - } - while (OSTicksToMilliseconds(OSGetTick() - tick_prev) < 1000) { - HuPrcVSleep(); - } - HuSprAttrSet(group, 0, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(group, 1, HUSPR_ATTR_DISPOFF); - group_thp = HuSprGrpCreate(1); - sprite_thp = HuTHPSprCreateVol("movie/opmov_a00.thp", 0, 100, 122); - HuSprGrpMemberSet(group_thp, 0, sprite_thp); - HuSprPosSet(group_thp, 0, 288, 240); - HuWinMesMaxSizeBetGet(win_size, MAKE_MESSID(54, 0), MAKE_MESSID(54, 4)); - demoWinId = HuWinCreate(-10000, 448 - win_size[1], win_size[0], win_size[1], 0); - HuWinMesSpeedSet(demoWinId, 0); - HuWinBGTPLvlSet(demoWinId, 0); - HuWinPriSet(demoWinId, 10); - HuWinAttrSet(demoWinId, 0x800); - HuPrcSleep(5); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); - while (WipeStatGet()) { - HuPrcVSleep(); - } - skip_wait = FALSE; - while (!HuTHPEndCheck()) { - UpdateDemoMess(); - if (HuPadBtnDown[0] & (PAD_BUTTON_START | PAD_BUTTON_A)) { - skip_wait = TRUE; - break; - } - HuPrcVSleep(); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet()) { - HuPrcVSleep(); - } - HuWinKill(demoWinId); - HuTHPClose(); - HuPrcVSleep(); - HuSprGrpKill(group_thp); - if (!skip_wait) { - HuPrcSleep(60); - } - skip_wait = FALSE; - } - if (!BootTitleExec()) { - HuPrcSleep(60); - goto repeat; - } - WipeColorSet(255, 255, 255); - HuAudSStreamAllFadeOut(500); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet()) { - HuPrcVSleep(); - } - HuPrcVSleep(); - if (omSysExitReq) { - omOvlReturnEx(1, 1); - } - else { - omOvlCallEx(OVL_MODESEL, 1, 0, 0); - } - for (i = 0; i < 4; i++) { - GWPlayerCfg[i].character = -1; - } - HuPrcEnd(); - do { - HuPrcVSleep(); - } while (1); + AnimData *data; + s16 group; + s16 sprite_nintendo; + s16 sprite_hudson; + s16 i; + OSTick tick_prev; + Process *curr = HuPrcCurrentGet(); + if(omovlevtno == 0) { + ProgressiveProc(); + } + group = HuSprGrpCreate(2); + data = HuSprAnimRead(logoReadNintendo()); + sprite_nintendo = HuSprCreate(data, 0, 0); + HuSprGrpMemberSet(group, 0, sprite_nintendo); + HuSprPosSet(group, 0, 288, 240); + HuSprAttrSet(group, 0, HUSPR_ATTR_DISPOFF); + if(omovlevtno != 0) { + HuAudSndGrpSetSet(0); + data = HuSprAnimReadFile(TITLE_HUDSON_ANM); + sprite_hudson = HuSprCreate(data, 0, 0); + HuSprGrpMemberSet(group, 1, sprite_hudson); + HuSprPosSet(group, 1, 288, 240); + HuSprAttrSet(group, 1, HUSPR_ATTR_DISPOFF); + HuWinInit(1); + TitleInit(); + SystemInitF = 1; + } else { + s16 group_thp; + BOOL skip_wait; + float win_size[2]; + s16 sprite_thp; + for(i=0; i<4; i++) { + GWPlayerCfg[i].pad_idx = i; + } + repeat: + HuSprAttrReset(group, 0, HUSPR_ATTR_DISPOFF); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); + while(WipeStatGet()) { + HuPrcVSleep(); + } + WipeColorSet(255, 255, 255); + if(!SystemInitF) { + tick_prev = OSGetTick(); + CharManInit(); + HuWindowInit(); + MGSeqInit(); + HuWinInit(1); + TitleInit(); + data = HuSprAnimReadFile(TITLE_HUDSON_ANM); + sprite_hudson = HuSprCreate(data, 0, 0); + HuSprGrpMemberSet(group, 1, sprite_hudson); + HuSprPosSet(group, 1, 288, 240); + HuSprAttrSet(group, 1, HUSPR_ATTR_DISPOFF); + while(OSTicksToMilliseconds(OSGetTick()-tick_prev) < 3000) { + HuPrcVSleep(); + } + } else { + for(i=0; i<180; i++) { + if(HuPadBtnDown[0] & (PAD_BUTTON_START|PAD_BUTTON_A)) { + break; + } + HuPrcVSleep(); + } + } + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + while(WipeStatGet()) { + HuPrcVSleep(); + } + HuSprAttrSet(group, 0, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(group, 1, HUSPR_ATTR_DISPOFF); + HuPrcSleep(60); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); + while(WipeStatGet()) { + HuPrcVSleep(); + } + if(!SystemInitF) { + void *group_samp; + tick_prev = OSGetTick(); + group_samp = HuMemDirectMalloc(HEAP_DATA, msmSysGetSampSize(0)); + msmSysLoadGroup(0, group_samp, 0); + HuMemDirectFree(group_samp); + while(OSTicksToMilliseconds(OSGetTick()-tick_prev) < 3000) { + HuPrcVSleep(); + } + } else { + for(i=0; i<180; i++) { + if(HuPadBtnDown[0] & (PAD_BUTTON_START|PAD_BUTTON_A)) { + break; + } + HuPrcVSleep(); + } + } + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + while(WipeStatGet()) { + HuPrcVSleep(); + } + tick_prev = OSGetTick(); + if(!SystemInitF) { + HuAudSndGrpSetSet(0); + SystemInitF = 1; + } + while(OSTicksToMilliseconds(OSGetTick()-tick_prev) < 1000) { + HuPrcVSleep(); + } + HuSprAttrSet(group, 0, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(group, 1, HUSPR_ATTR_DISPOFF); + group_thp = HuSprGrpCreate(1); + sprite_thp = HuTHPSprCreateVol("movie/opmov_a00.thp", 0, 100, 122); + HuSprGrpMemberSet(group_thp, 0, sprite_thp); + HuSprPosSet(group_thp, 0, 288, 240); + HuWinMesMaxSizeBetGet(win_size, MAKE_MESSID(54, 0), MAKE_MESSID(54, 4)); + demoWin = HuWinCreate(-10000, 448-win_size[1], win_size[0], win_size[1], 0); + HuWinMesSpeedSet(demoWin, 0); + HuWinBGTPLvlSet(demoWin, 0); + HuWinPriSet(demoWin, 10); + HuWinAttrSet(demoWin, 0x800); + HuPrcSleep(5); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); + while(WipeStatGet()) { + HuPrcVSleep(); + } + skip_wait = FALSE; + while(!HuTHPEndCheck()) { + UpdateDemoMess(); + if(HuPadBtnDown[0] & (PAD_BUTTON_START|PAD_BUTTON_A)) { + skip_wait = TRUE; + break; + } + HuPrcVSleep(); + } + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + while(WipeStatGet()) { + HuPrcVSleep(); + } + HuWinKill(demoWin); + HuTHPClose(); + HuPrcVSleep(); + HuSprGrpKill(group_thp); + if(!skip_wait) { + HuPrcSleep(60); + } + skip_wait = FALSE; + } + if(!TitleProc()) { + HuPrcSleep(60); + goto repeat; + } + WipeColorSet(255, 255, 255); + HuAudSStreamAllFadeOut(500); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + while(WipeStatGet()) { + HuPrcVSleep(); + } + HuPrcVSleep(); + if(omSysExitReq) { + omOvlReturnEx(1, 1); + } else { + omOvlCallEx(OVL_MODESEL, 1, 0, 0); + } + for(i=0; i<4; i++) { + GWPlayerCfg[i].character = -1; + } + HuPrcEnd(); + do { + HuPrcVSleep(); + } while(1); } -static s16 demoMessTimeTbl[] = { - 1686, - 1785, - 1850, - 1936, - 1993, - 2097, - 2135, - 2245, - 2258, - 2320, - -1, - -1, +static s16 demoTimingTbl[] = { + 1686, 1785, + 1850, 1936, + 1993, 2097, + 2135, 2245, + 2258, 2320, + -1, -1, }; static void UpdateDemoMess(void) { - int frame = HuTHPFrameGet(); - int i; - for (i = 0; demoMessTimeTbl[i * 2] != -1; i++) { - if (frame == demoMessTimeTbl[i * 2]) { - HuWinMesSet(demoWinId, MAKE_MESSID(54, i)); - } - if (frame == demoMessTimeTbl[(i * 2) + 1]) { - HuWinHomeClear(demoWinId); - } - } + int frame = HuTHPFrameGet(); + int i; + for(i=0; demoTimingTbl[i*2] != -1; i++) { + if(frame == demoTimingTbl[i*2]) { + HuWinMesSet(demoWin, MAKE_MESSID(54, i)); + } + if(frame == demoTimingTbl[(i*2)+1]) { + HuWinHomeClear(demoWin); + } + } } -#if VERSION_NTSC +static u16 progressivePosTbl[] = { + 236, 313, + 353, 313 +}; -static u16 progPosTbl[] = { 236, 313, 353, 313 }; - -void BootProgExec(void) +static void ProgressiveProc(void) { - s16 i; - s16 option; - s16 group; - s16 sprite; - AnimData *data; - option = 0; - if (OSGetResetCode() != OS_RESET_RESTART) { - return; - } - if (VIGetDTVStatus() != VI_NON_INTERLACE) { - OSSetProgressiveMode(OS_PROGRESSIVE_MODE_OFF); - return; - } - if (OSGetProgressiveMode() == OS_PROGRESSIVE_MODE_OFF && !(HU_PAD_BTN_ALL & PAD_BUTTON_B)) { - return; - } - if (OSGetProgressiveMode() == OS_PROGRESSIVE_MODE_ON) { - VIConfigure(&GXNtsc480IntDf); - VIFlush(); - } - group = HuSprGrpCreate(3); - data = HuSprAnimReadFile(TITLE_PROGRESSIVE_CHOOSE_ANM); - sprite = HuSprCreate(data, 0, 0); - HuSprGrpMemberSet(group, 0, sprite); - HuSprPosSet(group, 0, 288, 240); - data = HuSprAnimReadFile(TITLE_PROGRESSIVE_CURSOR_ON_ANM); - sprite = HuSprCreate(data, 0, 0); - HuSprGrpMemberSet(group, 1, sprite); - HuSprPosSet(group, 1, progPosTbl[option * 2], progPosTbl[(option * 2) + 1]); - data = HuSprAnimReadFile(TITLE_PROGRESSIVE_CURSOR_OFF_ANM); - sprite = HuSprCreate(data, 0, 0); - HuSprGrpMemberSet(group, 2, sprite); - HuSprPosSet(group, 2, progPosTbl[option * 2], progPosTbl[(option * 2) + 1]); - HuSprAttrSet(group, 2, HUSPR_ATTR_DISPOFF); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet()) { - HuPrcVSleep(); - } - for (i = 0; i < 600; i++) { - if (HU_PAD_DSTK_ALL & (PAD_BUTTON_LEFT | PAD_BUTTON_RIGHT)) { - option ^= 1; - HuSprPosSet(group, 1, progPosTbl[option * 2], progPosTbl[(option * 2) + 1]); - i = 0; - } - if (HU_PAD_BTNDOWN_ALL & PAD_BUTTON_A) { - HuSprAttrSet(group, 1, HUSPR_ATTR_DISPOFF); - HuSprPosSet(group, 2, progPosTbl[option * 2], progPosTbl[(option * 2) + 1]); - HuSprAttrReset(group, 2, HUSPR_ATTR_DISPOFF); - break; - } - HuPrcVSleep(); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet()) { - HuPrcVSleep(); - } - if (!option) { - OSSetProgressiveMode(OS_PROGRESSIVE_MODE_ON); - VIConfigure(&GXNtsc480Prog); - VIFlush(); - HuPrcSleep(100); - } - else { - OSSetProgressiveMode(OS_PROGRESSIVE_MODE_OFF); - } - HuSprGrpKill(group); - group = HuSprGrpCreate(1); - if (!option) { - data = HuSprAnimReadFile(TITLE_PROGRESSIVE_ON_ANM); - } - else { - data = HuSprAnimReadFile(TITLE_PROGRESSIVE_OFF_ANM); - } - sprite = HuSprCreate(data, 0, 0); - HuSprGrpMemberSet(group, 0, sprite); - HuSprPosSet(group, 0, 288, 240); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet()) { - HuPrcVSleep(); - } - HuPrcSleep(60); - for (i = 0; i < 180; i++) { - if (HU_PAD_BTNDOWN_ALL & PAD_BUTTON_A) { - break; - } - HuPrcVSleep(); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet()) { - HuPrcVSleep(); - } - HuSprGrpKill(group); - HuPrcSleep(30); + s16 i; + s16 option; + s16 group; + s16 sprite; + AnimData *data; + option = 0; + if(OSGetResetCode() != OS_RESET_RESTART) { + return; + } + if(VIGetDTVStatus() != VI_NON_INTERLACE) { + OSSetProgressiveMode(OS_PROGRESSIVE_MODE_OFF); + return; + } + if(OSGetProgressiveMode() == OS_PROGRESSIVE_MODE_OFF && !(HU_PAD_BTN_ALL & PAD_BUTTON_B)) { + return; + } + if(OSGetProgressiveMode() == OS_PROGRESSIVE_MODE_ON) { + VIConfigure(&GXNtsc480IntDf); + VIFlush(); + } + group = HuSprGrpCreate(3); + data = HuSprAnimReadFile(TITLE_PROGRESSIVE_CHOOSE_ANM); + sprite = HuSprCreate(data, 0, 0); + HuSprGrpMemberSet(group, 0, sprite); + HuSprPosSet(group, 0, 288, 240); + data = HuSprAnimReadFile(TITLE_PROGRESSIVE_CURSOR_ON_ANM); + sprite = HuSprCreate(data, 0, 0); + HuSprGrpMemberSet(group, 1, sprite); + HuSprPosSet(group, 1, progressivePosTbl[option*2], progressivePosTbl[(option*2)+1]); + data = HuSprAnimReadFile(TITLE_PROGRESSIVE_CURSOR_OFF_ANM); + sprite = HuSprCreate(data, 0, 0); + HuSprGrpMemberSet(group, 2, sprite); + HuSprPosSet(group, 2, progressivePosTbl[option*2], progressivePosTbl[(option*2)+1]); + HuSprAttrSet(group, 2, HUSPR_ATTR_DISPOFF); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); + while(WipeStatGet()) { + HuPrcVSleep(); + } + for(i=0; i<600; i++) { + if(HU_PAD_DSTK_ALL & (PAD_BUTTON_LEFT | PAD_BUTTON_RIGHT)) { + option ^= 1; + HuSprPosSet(group, 1, progressivePosTbl[option*2], progressivePosTbl[(option*2)+1]); + i=0; + } + if(HU_PAD_BTNDOWN_ALL & PAD_BUTTON_A) { + HuSprAttrSet(group, 1, HUSPR_ATTR_DISPOFF); + HuSprPosSet(group, 2, progressivePosTbl[option*2], progressivePosTbl[(option*2)+1]); + HuSprAttrReset(group, 2, HUSPR_ATTR_DISPOFF); + break; + } + HuPrcVSleep(); + } + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); + while(WipeStatGet()) { + HuPrcVSleep(); + } + if(!option) { + OSSetProgressiveMode(OS_PROGRESSIVE_MODE_ON); + VIConfigure(&GXNtsc480Prog); + VIFlush(); + HuPrcSleep(100); + } else { + OSSetProgressiveMode(OS_PROGRESSIVE_MODE_OFF); + } + HuSprGrpKill(group); + group = HuSprGrpCreate(1); + if(!option) { + data = HuSprAnimReadFile(TITLE_PROGRESSIVE_ON_ANM); + } else { + data = HuSprAnimReadFile(TITLE_PROGRESSIVE_OFF_ANM); + } + sprite = HuSprCreate(data, 0, 0); + HuSprGrpMemberSet(group, 0, sprite); + HuSprPosSet(group, 0, 288, 240); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); + while(WipeStatGet()) { + HuPrcVSleep(); + } + HuPrcSleep(60); + for(i=0; i<180; i++) { + if(HU_PAD_BTNDOWN_ALL & PAD_BUTTON_A) { + break; + } + HuPrcVSleep(); + } + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + while(WipeStatGet()) { + HuPrcVSleep(); + } + HuSprGrpKill(group); + HuPrcSleep(30); } -#endif +u16 lbl_1_data_58[] = { + 1, 2 +}; -static u16 debugCamTbl[] = { 1, 2 }; - -void DebugCamOutView(omObjData *obj) +void fn_1_1178(void) { - s16 i; - for (i = 0; i < 1; i++) { - Vec pos, target, up; - float x, y, z; - - x = debugCamRot[i].x; - y = debugCamRot[i].y; - z = debugCamRot[i].z; - - pos.x = (((sind(y) * cosd(x)) * debugCamZoom[i]) + debugCamPos[i].x); - pos.y = (-sind(x) * debugCamZoom[i]) + debugCamPos[i].y; - pos.z = ((cosd(y) * cosd(x)) * debugCamZoom[i]) + debugCamPos[i].z; - target.x = debugCamPos[i].x; - target.y = debugCamPos[i].y; - target.z = debugCamPos[i].z; - up.x = sind(y) * sind(x); - up.y = cosd(x); - up.z = cosd(y) * sind(x); - Hu3DCameraPosSet(debugCamTbl[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z); - } + s16 i; + for(i=0; i<1; i++) { + Vec pos, target, up; + float x, y, z; + + x = lbl_1_bss_3C[i].x; + y = lbl_1_bss_3C[i].y; + z = lbl_1_bss_3C[i].z; + + pos.x = (((sind(y)*cosd(x))*lbl_1_bss_1C[i])+lbl_1_bss_24[i].x); + pos.y = (-sind(x)*lbl_1_bss_1C[i])+lbl_1_bss_24[i].y; + pos.z = ((cosd(y)*cosd(x))*lbl_1_bss_1C[i])+lbl_1_bss_24[i].z; + target.x = lbl_1_bss_24[i].x; + target.y = lbl_1_bss_24[i].y; + target.z = lbl_1_bss_24[i].z; + up.x = sind(y)*sind(x); + up.y = cosd(x); + up.z = cosd(y)*sind(x); + Hu3DCameraPosSet(lbl_1_data_58[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z); + } } -void DebugCamUpdate(omObjData *obj) -{ +void fn_1_152C(void) { Vec pos; Vec offset; Vec dir; Vec y_offset; - + f32 z_rot; s8 stick_pos; - - #if VERSION_NTSC + if ((HuPadBtnDown[0] & 0x800)) { - debugCamOnF = (debugCamOnF) ? 0 : 1; + lbl_1_bss_0 = (lbl_1_bss_0) ? 0 : 1; } - #endif - if (debugCamOnF != 0) { - debugCamRot[0].y += 0.1f * HuPadStkX[0]; - debugCamRot[0].x += 0.1f * HuPadStkY[0]; - debugCamZoom[0] += HuPadTrigL[0] / 2; - debugCamZoom[0] -= HuPadTrigR[0] / 2; - if (debugCamZoom[0] < 100.0f) { - debugCamZoom[0] = 100.0f; + if (lbl_1_bss_0 != 0) { + lbl_1_bss_3C[0].y += 0.1f * HuPadStkX[0]; + lbl_1_bss_3C[0].x += 0.1f * HuPadStkY[0]; + lbl_1_bss_1C[0] += HuPadTrigL[0] / 2; + lbl_1_bss_1C[0] -= HuPadTrigR[0] / 2; + if (lbl_1_bss_1C[0] < 100.0f) { + lbl_1_bss_1C[0] = 100.0f; } - pos.x = debugCamPos[0].x + (debugCamZoom[0] * (sind(debugCamRot[0].y) * cosd(debugCamRot[0].x))); - pos.y = (debugCamPos[0].y + (debugCamZoom[0] * -sind(debugCamRot[0].x))); - pos.z = (debugCamPos[0].z + (debugCamZoom[0] * (cosd(debugCamRot[0].y) * cosd(debugCamRot[0].x)))); - offset.x = debugCamPos[0].x - pos.x; - offset.y = debugCamPos[0].y - pos.y; - offset.z = debugCamPos[0].z - pos.z; - dir.x = (sind(debugCamRot[0].y) * sind(debugCamRot[0].x)); - dir.y = cosd(debugCamRot[0].x); - dir.z = (cosd(debugCamRot[0].y) * sind(debugCamRot[0].x)); - z_rot = debugCamRot[0].z; + pos.x = lbl_1_bss_24[0].x + (lbl_1_bss_1C[0] * (sind(lbl_1_bss_3C[0].y) * cosd(lbl_1_bss_3C[0].x))); + pos.y = (lbl_1_bss_24[0].y + (lbl_1_bss_1C[0] * -sind(lbl_1_bss_3C[0].x))); + pos.z = (lbl_1_bss_24[0].z + (lbl_1_bss_1C[0] * (cosd(lbl_1_bss_3C[0].y) * cosd(lbl_1_bss_3C[0].x)))); + offset.x = lbl_1_bss_24[0].x - pos.x; + offset.y = lbl_1_bss_24[0].y - pos.y; + offset.z = lbl_1_bss_24[0].z - pos.z; + dir.x = (sind(lbl_1_bss_3C[0].y) * sind(lbl_1_bss_3C[0].x)); + dir.y = cosd(lbl_1_bss_3C[0].x); + dir.z = (cosd(lbl_1_bss_3C[0].y) * sind(lbl_1_bss_3C[0].x)); + z_rot = lbl_1_bss_3C[0].z; y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cosd(z_rot)) - + dir.y * (offset.x * offset.y * (1.0f - cosd(z_rot)) - offset.z * sind(z_rot)) - + dir.z * (offset.x * offset.z * (1.0f - cosd(z_rot)) + offset.y * sind(z_rot)); + + dir.y * (offset.x * offset.y * (1.0f - cosd(z_rot)) - offset.z * sind(z_rot)) + + dir.z * (offset.x * offset.z * (1.0f - cosd(z_rot)) + offset.y * sind(z_rot)); y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cosd(z_rot)) - + dir.x * (offset.x * offset.y * (1.0f - cosd(z_rot)) + offset.z * sind(z_rot)) - + dir.z * (offset.y * offset.z * (1.0f - cosd(z_rot)) - offset.x * sind(z_rot)); - + + dir.x * (offset.x * offset.y * (1.0f - cosd(z_rot)) + offset.z * sind(z_rot)) + + dir.z * (offset.y * offset.z * (1.0f - cosd(z_rot)) - offset.x * sind(z_rot)); + y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cosd(z_rot)) - + (dir.x * (offset.x * offset.z * (1.0 - cosd(z_rot)) - offset.y * sind(z_rot)) - + dir.y * (offset.y * offset.z * (1.0 - cosd(z_rot)) + offset.x * sind(z_rot))); + + (dir.x * (offset.x * offset.z * (1.0 - cosd(z_rot)) - offset.y * sind(z_rot)) + + dir.y * (offset.y * offset.z * (1.0 - cosd(z_rot)) + offset.x * sind(z_rot))); - VECCrossProduct(&dir, &offset, &offset); - VECNormalize(&offset, &offset); + PSVECCrossProduct(&dir, &offset, &offset); + PSVECNormalize(&offset, &offset); stick_pos = (HuPadSubStkX[0] & 0xF8); if (stick_pos != 0) { - debugCamPos[0].x += 0.05f * (offset.x * stick_pos); - debugCamPos[0].y += 0.05f * (offset.y * stick_pos); - debugCamPos[0].z += 0.05f * (offset.z * stick_pos); + lbl_1_bss_24[0].x += 0.05f * (offset.x * stick_pos); + lbl_1_bss_24[0].y += 0.05f * (offset.y * stick_pos); + lbl_1_bss_24[0].z += 0.05f * (offset.z * stick_pos); } - VECNormalize(&y_offset, &offset); + PSVECNormalize(&y_offset, &offset); stick_pos = -(HuPadSubStkY[0] & 0xF8); if (stick_pos != 0) { - debugCamPos[0].x += 0.05f * (offset.x * stick_pos); - debugCamPos[0].y += 0.05f * (offset.y * stick_pos); - debugCamPos[0].z += 0.05f * (offset.z * stick_pos); + lbl_1_bss_24[0].x += 0.05f * (offset.x * stick_pos); + lbl_1_bss_24[0].y += 0.05f * (offset.y * stick_pos); + lbl_1_bss_24[0].z += 0.05f * (offset.z * stick_pos); } } } -void BootTitleCreate(void) +static void TitleInit(void) { - s16 model; - s16 sprite; - AnimData *sprite_data; - s16 i; - titleMdlId[0] = model = Hu3DModelCreateFile(TITLE_CHAR_HSF); - Hu3DModelAttrSet(model, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(model, HU3D_MOTATTR_LOOP); - titleMdlId[1] = model = Hu3DModelCreateFile(TITLE_CUBE_HSF); - Hu3DModelAttrSet(model, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(model, HU3D_MOTATTR_LOOP); - titleMdlId[2] = model = Hu3DModelCreateFile(TITLE_SKY_HSF); - Hu3DModelAttrSet(model, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(model, HU3D_MOTATTR_LOOP); - Hu3DModelCameraInfoSet(model, 1); - Hu3DModelLightInfoSet(model, 1); - #if VERSION_NTSC - bootGrpId = HuSprGrpCreate(4); - #else - bootGrpId = HuSprGrpCreate(13); - #endif - sprite_data = HuSprAnimReadFile(TITLE_BG_ANM); - sprite = HuSprCreate(sprite_data, 0, 0); - HuSprGrpMemberSet(bootGrpId, 0, sprite); - HuSprAttrSet(bootGrpId, 0, HUSPR_ATTR_DISPOFF); - HuSprDrawNoSet(bootGrpId, 0, 127); - HuSprPosSet(bootGrpId, 0, 288, 240); - sprite_data = HuSprAnimReadFile(TITLE_COPYRIGHT_ANM); - sprite = HuSprCreate(sprite_data, 1, 0); - HuSprGrpMemberSet(bootGrpId, 1, sprite); - HuSprAttrSet(bootGrpId, 1, HUSPR_ATTR_DISPOFF); - HuSprPosSet(bootGrpId, 1, 288, 420); - #if VERSION_NTSC - sprite_data = HuSprAnimReadFile(TITLE_PRESS_START_ANM); - sprite = HuSprCreate(sprite_data, 2, 0); - HuSprGrpMemberSet(bootGrpId, 2, sprite); - HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF | HUSPR_ATTR_LINEAR); - HuSprPosSet(bootGrpId, 2, 288, 380); - sprite_data = HuSprAnimReadFile(TITLE_LOGO_ANM); - sprite = HuSprCreate(sprite_data, 0, 0); - HuSprGrpMemberSet(bootGrpId, 3, sprite); - HuSprAttrSet(bootGrpId, 3, HUSPR_ATTR_DISPOFF | HUSPR_ATTR_LINEAR); - HuSprPosSet(bootGrpId, 3, 288, 200); - #else - sprite_data = HuSprAnimReadFile(TITLE_LOGO_ANM); - sprite = HuSprCreate(sprite_data, 0, 0); - HuSprGrpMemberSet(bootGrpId, 2, sprite); - HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF | HUSPR_ATTR_LINEAR); - HuSprPosSet(bootGrpId, 2, 288, 200); - for(i=0; i<5; i++) { - sprite_data = HuSprAnimReadFile(TITLE_PRESS_START_EN_ANM+i); - sprite = HuSprCreate(sprite_data, 3+i, 0); - HuSprGrpMemberSet(bootGrpId, 3+i, sprite); - HuSprAttrSet(bootGrpId, 3+i, HUSPR_ATTR_DISPOFF | HUSPR_ATTR_LINEAR); - HuSprPosSet(bootGrpId, 3+i, 288, 340); - } - for(i=0; i<5; i++) { - sprite_data = HuSprAnimReadFile(TITLE_LANGUAGE_EN_ANM+i); - sprite = HuSprCreate(sprite_data, 8+i, 0); - HuSprGrpMemberSet(bootGrpId, 8+i, sprite); - HuSprAttrSet(bootGrpId, 8+i, HUSPR_ATTR_DISPOFF | HUSPR_ATTR_LINEAR); - HuSprPosSet(bootGrpId, 8+i, 288, 380); - } - #endif + s16 model; + s16 sprite; + AnimData *sprite_data; + titleModel[0] = model = Hu3DModelCreateFile(TITLE_CHAR_HSF); + Hu3DModelAttrSet(model, 1); + Hu3DModelAttrSet(model, 0x40000001); + titleModel[1] = model = Hu3DModelCreateFile(TITLE_CUBE_HSF); + Hu3DModelAttrSet(model, 1); + Hu3DModelAttrSet(model, 0x40000001); + titleModel[2] = model = Hu3DModelCreateFile(TITLE_SKY_HSF); + Hu3DModelAttrSet(model, 1); + Hu3DModelAttrSet(model, 0x40000001); + Hu3DModelCameraInfoSet(model, 1); + Hu3DModelLightInfoSet(model, 1); + titleGroup = HuSprGrpCreate(4); + sprite_data = HuSprAnimReadFile(TITLE_BG_ANM); + sprite = HuSprCreate(sprite_data, 0, 0); + HuSprGrpMemberSet(titleGroup, 0, sprite); + HuSprAttrSet(titleGroup, 0, HUSPR_ATTR_DISPOFF); + HuSprDrawNoSet(titleGroup, 0, 127); + HuSprPosSet(titleGroup, 0, 288, 240); + sprite_data = HuSprAnimReadFile(TITLE_COPYRIGHT_ANM); + sprite = HuSprCreate(sprite_data, 1, 0); + HuSprGrpMemberSet(titleGroup, 1, sprite); + HuSprAttrSet(titleGroup, 1, HUSPR_ATTR_DISPOFF); + HuSprPosSet(titleGroup, 1, 288, 420); + sprite_data = HuSprAnimReadFile(TITLE_PRESS_START_ANM); + sprite = HuSprCreate(sprite_data, 2, 0); + HuSprGrpMemberSet(titleGroup, 2, sprite); + HuSprAttrSet(titleGroup, 2, HUSPR_ATTR_DISPOFF|HUSPR_ATTR_LINEAR); + HuSprPosSet(titleGroup, 2, 288, 380); + sprite_data = HuSprAnimReadFile(TITLE_LOGO_ANM); + sprite = HuSprCreate(sprite_data, 0, 0); + HuSprGrpMemberSet(titleGroup, 3, sprite); + HuSprAttrSet(titleGroup, 3, HUSPR_ATTR_DISPOFF|HUSPR_ATTR_LINEAR); + HuSprPosSet(titleGroup, 3, 288, 200); } -BOOL BootTitleExec(void) +static BOOL TitleProc(void) { - float scale; - float scale_time; - int seNo[32]; - s16 pressStartMemberNo; - s16 languageMemberNo; - s16 i; - s16 choice; - float temp; - repeat: - Hu3DModelAttrReset(titleMdlId[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(titleMdlId[1], HU3D_ATTR_DISPOFF); - HuSprAttrReset(bootGrpId, 0, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(bootGrpId, 1, HUSPR_ATTR_DISPOFF); - OSReport(">>>>>>>>MSM_SE_SEL_01 %d\n", msmSeGetEntryID(2092, seNo)); - OSReport(">>>>>>>>SE Num %d\n", msmSeGetNumPlay(0)); - HuAudSStreamPlay(20); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet()) { - HuPrcVSleep(); - } - #if VERSION_NTSC - HuSprAttrReset(bootGrpId, 3, HUSPR_ATTR_DISPOFF); - for (i = 1; i <= 50; i++) { - scale = (cosd(i * 1.8) * 10.0) + 1.0; - HuSprScaleSet(bootGrpId, 3, scale, scale); - HuSprTPLvlSet(bootGrpId, 3, i / 50.0); - HuPrcVSleep(); - } - HuSprAttrReset(bootGrpId, 2, HUSPR_ATTR_DISPOFF); - #else - HuSprAttrReset(bootGrpId, 2, HUSPR_ATTR_DISPOFF); - for (i = 1; i <= 50; i++) { - scale = (cosd(i * 1.8) * 10.0) + 1.0; - HuSprScaleSet(bootGrpId, 2, scale, scale); - HuSprTPLvlSet(bootGrpId, 2, i / 50.0); - HuPrcVSleep(); - } - if(GwLanguage == -1) { - pressStartMemberNo = 3; - languageMemberNo = 8; - } else { - pressStartMemberNo = GwLanguage+3-1; - languageMemberNo = GwLanguage+8-1; - } - HuSprAttrReset(bootGrpId, pressStartMemberNo, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(bootGrpId, languageMemberNo, HUSPR_ATTR_DISPOFF); - for(i=1; i<=20; i++) { - scale = sind(i*4.5); - HuSprScaleSet(bootGrpId, pressStartMemberNo, scale, scale); - HuSprScaleSet(bootGrpId, languageMemberNo, scale*0.7, scale*0.7); - HuPrcVSleep(); - } - choice = 0; - scale_time = 0; - #endif - - #if VERSION_NTSC - for (i = scale_time = 0; i < 1800; i++) { - #else - for (i = temp = 0; i < 1800; i++) { - #endif - #if VERSION_PAL - if((choice == 0 && (HuPadDStkRep[0] & PAD_BUTTON_DOWN)) || (choice != 0 && (HuPadDStkRep[0] & PAD_BUTTON_UP))) { - HuAudFXPlay(0); - for(i=1; i<=10; i++) { - scale = ((1-(i/10.0))*(((cosd(scale_time)*0.1)+0.9)-0.7))+0.7; - if(choice == 0) { - HuSprScaleSet(bootGrpId, pressStartMemberNo, scale, scale); - } else { - HuSprScaleSet(bootGrpId, languageMemberNo, scale, scale); - } - scale = ((1-(i/10.0))*(((cosd(scale_time/3.0)*0.05)+0.65)-1.0))+1.0; - if(choice == 0) { - HuSprScaleSet(bootGrpId, languageMemberNo, scale, scale); - } else { - HuSprScaleSet(bootGrpId, pressStartMemberNo, scale, scale); - } - HuPrcVSleep(); - } - choice ^= 1; - scale_time = 0; - } - if (HuPadBtnDown[0] & (PAD_BUTTON_START|PAD_BUTTON_A)) { - if(choice == 0) { - s32 ret = HuAudFXPlay(2092); - if (ret < 0) { - OSReport(">>>>>Error %d\n", ret); - } - HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF); - return 1; - } else { - HuAudFXPlay(1); - HuAudSStreamAllFadeOut(500); - WipeColorSet(255, 255, 255); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet()) { - HuPrcVSleep(); - } - Hu3DModelAttrSet(titleMdlId[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(titleMdlId[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(titleMdlId[2], HU3D_ATTR_DISPOFF); - HuSprAttrSet(bootGrpId, 0, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(bootGrpId, 1, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF); - for(i=0; i<5; i++) { - HuSprAttrSet(bootGrpId, i+3, HUSPR_ATTR_DISPOFF); - } - for(i=0; i<5; i++) { - HuSprAttrSet(bootGrpId, i+8, HUSPR_ATTR_DISPOFF); - } - LanguageMenuExec(); - Hu3DModelCameraInfoSet(titleMdlId[2], 1); - Hu3DModelLightInfoSet(titleMdlId[2], 1); - HuWinInit(1); - goto repeat; - } - } - scale = (cosd(scale_time) * 0.1) + 0.9; - if(choice == 0) { - HuSprScaleSet(bootGrpId, pressStartMemberNo, scale, scale); - } else { - HuSprScaleSet(bootGrpId, languageMemberNo, scale, scale); - } - scale = (cosd(scale_time/3.0) * 0.05) + 0.65; - if(choice == 0) { - HuSprScaleSet(bootGrpId, languageMemberNo, scale, scale); - } else { - HuSprScaleSet(bootGrpId, pressStartMemberNo, scale, scale); - } - scale_time += 5; - HuPrcVSleep(); - #else - if (i <= 10) { - HuSprTPLvlSet(bootGrpId, 2, i / 10.0); - } - if (HuPadBtnDown[0] & PAD_BUTTON_START) { - s32 ret = HuAudFXPlay(2092); - if (ret < 0) { - OSReport(">>>>>Error %d\n", ret); - } - HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF); - return 1; - } - scale = (sind(i * scale_time) * 0.1) + 0.9; - scale_time += 0.05; - if (scale_time > 5) { - scale_time = 5; - } - HuSprScaleSet(bootGrpId, 2, scale, scale); - HuPrcVSleep(); - #endif - - } - WipeColorSet(255, 255, 255); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet()) { - HuPrcVSleep(); - } - Hu3DModelAttrSet(titleMdlId[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(titleMdlId[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(titleMdlId[2], HU3D_ATTR_DISPOFF); - #if VERSION_NTSC - HuSprAttrSet(bootGrpId, 0, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(bootGrpId, 1, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(bootGrpId, 3, HUSPR_ATTR_DISPOFF); - #else - HuSprAttrSet(bootGrpId, 0, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(bootGrpId, 1, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF); - for(i=0; i<5; i++) { - HuSprAttrSet(bootGrpId, i+3, HUSPR_ATTR_DISPOFF); - } - for(i=0; i<5; i++) { - HuSprAttrSet(bootGrpId, i+8, HUSPR_ATTR_DISPOFF); - } - #endif - return 0; -} - -#include "nintendoData.inc" - -void *NintendoDataDecode(void) -{ - u32 *src = (u32 *)nintendoData; - u32 size = *src++; - void *dst = HuMemDirectMalloc(HEAP_DATA, size); - int decode_type = *src++; - if(dst) { - HuDecodeData(src, dst, size, decode_type); - } - return dst; + float scale; + float scale_time; + s32 y_offset[32]; + s16 i; + Hu3DModelAttrReset(titleModel[0], 1); + Hu3DModelAttrReset(titleModel[1], 1); + HuSprAttrReset(titleGroup, 0, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(titleGroup, 1, HUSPR_ATTR_DISPOFF); + OSReport(">>>>>>>>MSM_SE_SEL_01 %d\n", msmSeGetEntryID(2092, y_offset)); + OSReport(">>>>>>>>SE Num %d\n", msmSeGetNumPlay(0)); + HuAudSStreamPlay(20); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); + while(WipeStatGet()) { + HuPrcVSleep(); + } + HuSprAttrReset(titleGroup, 3, HUSPR_ATTR_DISPOFF); + for(i=1; i<=50; i++) { + scale = (cosd(i*1.8)*10.0)+1.0; + HuSprScaleSet(titleGroup, 3, scale, scale); + HuSprTPLvlSet(titleGroup, 3, i/50.0); + HuPrcVSleep(); + } + HuSprAttrReset(titleGroup, 2, HUSPR_ATTR_DISPOFF); + for(i=scale_time=0; i<1800; i++) { + if(i <= 10) { + HuSprTPLvlSet(titleGroup, 2, i/10.0); + } + if(HuPadBtnDown[0] & PAD_BUTTON_START) { + s32 ret = HuAudFXPlay(2092); + if(ret < 0) { + OSReport(">>>>>Error %d\n", ret); + } + HuSprAttrSet(titleGroup, 2, HUSPR_ATTR_DISPOFF); + return 1; + } + scale = (sind(i*scale_time)*0.1)+0.9; + scale_time += 0.05; + if(scale_time > 5) { + scale_time = 5; + } + HuSprScaleSet(titleGroup, 2, scale, scale); + HuPrcVSleep(); + } + WipeColorSet(255, 255, 255); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + while(WipeStatGet()) { + HuPrcVSleep(); + } + Hu3DModelAttrSet(titleModel[0], 1); + Hu3DModelAttrSet(titleModel[1], 1); + Hu3DModelAttrSet(titleModel[2], 1); + HuSprAttrSet(titleGroup, 0, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(titleGroup, 1, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(titleGroup, 2, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(titleGroup, 3, HUSPR_ATTR_DISPOFF); + return 0; } diff --git a/src/REL/bootDll/nintendo_data.c b/src/REL/bootDll/nintendo_data.c new file mode 100644 index 00000000..5cb14723 --- /dev/null +++ b/src/REL/bootDll/nintendo_data.c @@ -0,0 +1,15 @@ +#include "game/data.h" + +#include "logoNintendoData.inc" + +void *logoReadNintendo(void) +{ + u32 *src = (u32 *)logoNintendoData; + u32 size = *src++; + void *dst = HuMemDirectMalloc(HEAP_DATA, size); + int decode_type = *src++; + if(dst) { + HuDecodeData(src, dst, size, decode_type); + } + return dst; +} \ No newline at end of file diff --git a/src/REL/instDll/font.c b/src/REL/instDll/font.c deleted file mode 100644 index f4712b09..00000000 --- a/src/REL/instDll/font.c +++ /dev/null @@ -1,319 +0,0 @@ -#include "game/sprite.h" - -#include "REL/instDll.h" - -#define FONT_CHAR_MAX 100 - -static s32 FontCharFile[0xC6] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x26), - DATA_MAKE_NUM(DATADIR_INST, 0x27), - DATA_MAKE_NUM(DATADIR_INST, 0x28), - DATA_MAKE_NUM(DATADIR_INST, 0x29), - DATA_MAKE_NUM(DATADIR_INST, 0x2A), - DATA_MAKE_NUM(DATADIR_INST, 0x2B), - DATA_MAKE_NUM(DATADIR_INST, 0x2C), - DATA_MAKE_NUM(DATADIR_INST, 0x2D), - DATA_MAKE_NUM(DATADIR_INST, 0x2E), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x2F), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x34), - DATA_MAKE_NUM(DATADIR_INST, 0x35), - DATA_MAKE_NUM(DATADIR_INST, 0x36), - DATA_MAKE_NUM(DATADIR_INST, 0x37), - DATA_MAKE_NUM(DATADIR_INST, 0x38), - DATA_MAKE_NUM(DATADIR_INST, 0x39), - DATA_MAKE_NUM(DATADIR_INST, 0x3A), - DATA_MAKE_NUM(DATADIR_INST, 0x3B), - DATA_MAKE_NUM(DATADIR_INST, 0x3C), - DATA_MAKE_NUM(DATADIR_INST, 0x3D), - DATA_MAKE_NUM(DATADIR_INST, 0x3E), - DATA_MAKE_NUM(DATADIR_INST, 0x3F), - DATA_MAKE_NUM(DATADIR_INST, 0x40), - DATA_MAKE_NUM(DATADIR_INST, 0x41), - DATA_MAKE_NUM(DATADIR_INST, 0x42), - DATA_MAKE_NUM(DATADIR_INST, 0x43), - DATA_MAKE_NUM(DATADIR_INST, 0x44), - DATA_MAKE_NUM(DATADIR_INST, 0x45), - DATA_MAKE_NUM(DATADIR_INST, 0x46), - DATA_MAKE_NUM(DATADIR_INST, 0x47), - DATA_MAKE_NUM(DATADIR_INST, 0x48), - DATA_MAKE_NUM(DATADIR_INST, 0x49), - DATA_MAKE_NUM(DATADIR_INST, 0x4A), - DATA_MAKE_NUM(DATADIR_INST, 0x4B), - DATA_MAKE_NUM(DATADIR_INST, 0x4C), - DATA_MAKE_NUM(DATADIR_INST, 0x4D), - DATA_MAKE_NUM(DATADIR_INST, 0x42), - DATA_MAKE_NUM(DATADIR_INST, 0x32), - DATA_MAKE_NUM(DATADIR_INST, 0x42), - DATA_MAKE_NUM(DATADIR_INST, 0x42), - DATA_MAKE_NUM(DATADIR_INST, 0x42), - DATA_MAKE_NUM(DATADIR_INST, 0x42), - DATA_MAKE_NUM(DATADIR_INST, 0x4E), - DATA_MAKE_NUM(DATADIR_INST, 0x4F), - DATA_MAKE_NUM(DATADIR_INST, 0x50), - DATA_MAKE_NUM(DATADIR_INST, 0x51), - DATA_MAKE_NUM(DATADIR_INST, 0x52), - DATA_MAKE_NUM(DATADIR_INST, 0x53), - DATA_MAKE_NUM(DATADIR_INST, 0x54), - DATA_MAKE_NUM(DATADIR_INST, 0x55), - DATA_MAKE_NUM(DATADIR_INST, 0x56), - DATA_MAKE_NUM(DATADIR_INST, 0x57), - DATA_MAKE_NUM(DATADIR_INST, 0x58), - DATA_MAKE_NUM(DATADIR_INST, 0x59), - DATA_MAKE_NUM(DATADIR_INST, 0x5A), - DATA_MAKE_NUM(DATADIR_INST, 0x5B), - DATA_MAKE_NUM(DATADIR_INST, 0x5C), - DATA_MAKE_NUM(DATADIR_INST, 0x5D), - DATA_MAKE_NUM(DATADIR_INST, 0x5E), - DATA_MAKE_NUM(DATADIR_INST, 0x5F), - DATA_MAKE_NUM(DATADIR_INST, 0x60), - DATA_MAKE_NUM(DATADIR_INST, 0x61), - DATA_MAKE_NUM(DATADIR_INST, 0x62), - DATA_MAKE_NUM(DATADIR_INST, 0x63), - DATA_MAKE_NUM(DATADIR_INST, 0x64), - DATA_MAKE_NUM(DATADIR_INST, 0x65), - DATA_MAKE_NUM(DATADIR_INST, 0x66), - DATA_MAKE_NUM(DATADIR_INST, 0x67), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x2F), - DATA_MAKE_NUM(DATADIR_INST, 0x33), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x30), - DATA_MAKE_NUM(DATADIR_INST, 0x31), - DATA_MAKE_NUM(DATADIR_INST, 0x25), - DATA_MAKE_NUM(DATADIR_INST, 0x25), -}; - -s32 FontCreate(SeqWork *work, char *mess, s16 jp_flag) -{ - char *str; - s16 len; - s16 *posY; - s16 charNum; - s32 *fileTbl; - s16 i; - s16 grpNo; - s32 file; - s16 *posX; - AnimData **animP; - s16 gid; - s16 sprid; - - fileTbl = FontCharFile; - for (grpNo = 0; grpNo < 0x10; grpNo++) { - if (work->spr_grp[grpNo] == -1) { - break; - } - } - if (grpNo == 0x10) { - return -1; - } - animP = HuMemDirectMalloc(HEAP_SYSTEM, (FONT_CHAR_MAX * sizeof(AnimData*))); - posX = HuMemDirectMalloc(HEAP_SYSTEM, FONT_CHAR_MAX * sizeof(*posX)); - posY = HuMemDirectMalloc(HEAP_SYSTEM, FONT_CHAR_MAX * sizeof(*posY)); - - for (str = mess, len = 0, charNum = 0; str[0] != 0; str++) { - if (str[0] == 0x20 || str[0] == 0x10) { - len += 0xE; - } - else if (str[0] < 0x30) { - } - else if (str[0] == 0x80) { - } - else if (str[0] == 0x81) { - } - else { - if (str[1] == 0x80) { - if ((str[0] >= 0x96) && (str[0] <= 0xA4)) { - file = fileTbl[str[0] + 0x6A]; - } - else if ((str[0] >= 0xAA) && (str[0] <= 0xAE)) { - file = fileTbl[str[0] + 0x65]; - } - else if ((str[0] >= 0xD6) && (str[0] <= 0xE4)) { - file = fileTbl[str[0] + 0x43]; - } - else if ((str[0] >= 0xEA) && (str[0] <= 0xEE)) { - file = fileTbl[str[0] + 0x3E]; - } - } - else if (str[1] == 0x81) { - if ((str[0] >= 0xAA) && (str[0] <= 0xAE)) { - file = fileTbl[str[0] + 0x6A]; - } - else if ((str[0] >= 0xEA) && (str[0] <= 0xEE)) { - file = fileTbl[str[0] + 0x43]; - } - } - else { - file = fileTbl[str[0]]; - } - animP[charNum] = HuSprAnimReadFile(file); - posX[charNum] = len; - if ((str[0] >= 0x61) && (str[0] <= 0x7A)) { - posY[charNum] = 2; - len += 0x12; - } - else if ((str[0] == 0xC2) || (str[0] == 0xC3)) { - posY[charNum] = 0; - len += 0x12; - } - else if (str[0] == 0x5C || str[0] == 0x85) { - posY[charNum] = 0; - len += 8; - } - else if ((str[0] >= 0x87) && (str[0] <= 0x8F)) { - posY[charNum] = 4; - len += 0x18; - } - else if ((str[0] >= 0xC7) && (str[0] <= 0xCF)) { - posY[charNum] = 4; - len += 0x18; - } - else if ((str[0] == 0x3D) || (str[0] == 0x84)) { - posY[charNum] = 0; - len += 0x14; - } - else { - posY[charNum] = 0; - len += 0x1C; - } - charNum++; - } - } - gid = HuSprGrpCreate(charNum); - work->spr_grp[grpNo] = gid; - work->alt_word_len = len; - len = (len / 2) - 0xE; - for (i = 0; i < charNum; i++) { - sprid = HuSprCreate(animP[i], 0, 0); - HuSprGrpMemberSet(gid, i, sprid); - HuSprPosSet(gid, i, posX[i] - len, posY[i]); - } - work->word_len = charNum; - HuMemDirectFree(animP); - HuMemDirectFree(posX); - HuMemDirectFree(posY); - return grpNo; -} diff --git a/src/REL/instDll/main.c b/src/REL/instDll/main.c index 5d7b064c..8c212fd2 100644 --- a/src/REL/instDll/main.c +++ b/src/REL/instDll/main.c @@ -1,1183 +1,1178 @@ -#include "game/frand.h" -#include "game/gamework_data.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" #include "game/object.h" #include "game/objsub.h" #include "game/pad.h" +#include "game/gamework_data.h" +#include "game/hsfman.h" +#include "game/hsfdraw.h" #include "game/printfunc.h" +#include "game/frand.h" #include "game/hsfmotion.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/data.h" +#include "game/wipe.h" #include "game/flag.h" #include "game/minigame_seq.h" -#include "game/sprite.h" +#include "game/data.h" +#include "game/audio.h" #include "game/window.h" -#include "game/wipe.h" +#include "game/sprite.h" +#include "game/chrman.h" -#include "ext_math.h" #include "math.h" +#include "ext_math.h" -#include "REL/instDll.h" +#include "rel_sqrt_consts.h" -static s16 instMode = 1; +static s16 lbl_1_data_0 = 1; static omObjData *lbl_1_bss_60; -static omObjData *outViewObj; -Process *objman; -Vec cameraRot[2]; -Vec cameraPos[2]; -float cameraZoom[2]; -static s32 instBoxMdlId; -static AnimData *instPicAnim; -static u16 instMgNo; -static u16 instHostNo; -static u16 instMesOfs; -static float instFov; -static u8 LanguageNo; -static u16 instPage; -static u16 instBusyF; -static s32 debugCamOnF; +static omObjData *lbl_1_bss_5C; +static Process *lbl_1_bss_58; +static Vec lbl_1_bss_40[2]; +static Vec lbl_1_bss_28[2]; +static float lbl_1_bss_20[2]; +static s32 lbl_1_bss_1C; +static AnimData *lbl_1_bss_18; +static u16 lbl_1_bss_14; +static u16 lbl_1_bss_12; +static u16 lbl_1_bss_10; +static float lbl_1_bss_C; +static u8 lbl_1_bss_8; +static u16 lbl_1_bss_6; +static u16 lbl_1_bss_4; +static s32 lbl_1_bss_0; -static void InstMain(void); -static void InstPlayerMain(void); -static void InstHostMain(void); -static void InstWinMain(void); -static void InstNameMain(void); -static void CameraOutView(omObjData *object); -static void CameraDebug(omObjData *object); +static void fn_1_994(void); +static void fn_1_17E4(void); +static void fn_1_220C(void); +static void fn_1_2804(void); +static void fn_1_2FA0(void); +static void fn_1_4174(omObjData *object); +static void fn_1_4528(omObjData *object); void ObjectSetup(void) { - s32 i; - omOvlHisData *his; - s32 lightId; - OSReport("******* INST ObjectSetup *********\n"); - objman = omInitObjMan(50, 8192); - omGameSysInit(objman); - LanguageNo = GWLanguageGet(); - instMgNo = GWSystem.mg_next; - instMesOfs = 0; - instBusyF = 0; - _ClearFlag(0x1000C); - for (i = 0; sndGrpTable[i].ovl != OVL_INVALID; i++) { - if (sndGrpTable[i].ovl == mgInfoTbl[instMgNo].ovl) { - break; - } - } - if (sndGrpTable[i].ovl != OVL_INVALID) { - HuAudSndGrpSetSet(sndGrpTable[i].grpSet); - } - if (mgInfoTbl[instMgNo].ovl == OVL_M411) { - if (GWMGTypeGet() == -1) { - GWMGTypeSet(frandmod(3)); - } - } - else { - GWMGTypeSet(-1); - } - HuDataDirClose(mgInfoTbl[instMgNo].data_dir); - his = omOvlHisGet(0); - omOvlHisChg(0, OVL_RESULT, his->event, his->stat); - if (omovlevtno == 0 && mgInfoTbl[instMgNo].ovl == OVL_M430) { - s32 team_cnt[2]; - s32 team_players[2][2]; - team_cnt[0] = team_cnt[1] = 0; - for (i = 0; i < 4; i++) { - team_players[GWPlayerCfg[i].group][team_cnt[GWPlayerCfg[i].group]++] = i; - } - if (frandBool()) { - GWPlayerCfg[team_players[0][0]].group = 0; - GWPlayerCfg[team_players[0][1]].group = 1; - } - else { - GWPlayerCfg[team_players[0][0]].group = 1; - GWPlayerCfg[team_players[0][1]].group = 0; - } - if (frandBool()) { - GWPlayerCfg[team_players[1][0]].group = 2; - GWPlayerCfg[team_players[1][1]].group = 3; - } - else { - GWPlayerCfg[team_players[1][0]].group = 3; - GWPlayerCfg[team_players[1][1]].group = 2; - } - } - if (mgInfoTbl[instMgNo].type == 3 || mgInfoTbl[instMgNo].type == 5 || mgInfoTbl[instMgNo].type == 6 - || mgInfoTbl[instMgNo].type == 8 || !_CheckFlag(FLAG_ID_MAKE(0, 11))) { - HuDataDirClose(DATADIR_INST); - omSysPauseEnable(1); - omOvlCallEx(mgInfoTbl[instMgNo].ovl, 1, 0, 0); - return; - } - cameraRot[0].x = -67.0f; - cameraRot[0].y = 40.0f; - cameraRot[0].z = 0.0f; - cameraPos[0].x = 260.0f; - cameraPos[0].y = -103.0f; - cameraPos[0].z = -18.0f; - cameraZoom[0] = 2885.0f; - instFov = 20.0f; - instHostNo = GWSystem.board; - if (mgBoardHostEnableF) { - instHostNo = 1; - } - cameraRot[1].x = cameraRot[1].y = cameraRot[1].z = 0.0f; - cameraPos[1].x = cameraPos[1].y = cameraPos[1].z = 0.0f; - cameraZoom[1] = 1000.0f; - omSysPauseEnable(0); - Hu3DCameraCreate(3); - Hu3DCameraPerspectiveSet(1, 30.0f, 20.0f, 15000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); - Hu3DCameraPerspectiveSet(2, 30.0f, 20.0f, 15000.0f, 1.2f); - Hu3DCameraViewportSet(2, 0, 0, 640, 480, 0, 1); - lightId = Hu3DGLightCreate(0, 100, 1000, 0, -0.5, -1, 255, 255, 255); - Hu3DGLightInfinitytSet(lightId); - HuPrcChildCreate(InstMain, 100, 12288, 0, objman); - HuPrcChildCreate(InstPlayerMain, 100, 12288, 0, objman); - HuPrcChildCreate(InstHostMain, 100, 12288, 0, objman); - HuPrcChildCreate(InstWinMain, 100, 12288, 0, objman); - HuPrcChildCreate(InstNameMain, 100, 12288, 0, objman); - outViewObj = omAddObjEx(objman, 32730, 0, 0, -1, CameraOutView); - omAddObjEx(objman, 0, 32, 32, -1, CameraDebug); - HuAudSeqPlay(59); - Hu3DBGColorSet(0, 0, 0); - HuWinInit(1); + s32 i; + omOvlHisData *his; + s32 light; + OSReport("******* INST ObjectSetup *********\n"); + lbl_1_bss_58 = omInitObjMan(50, 8192); + omGameSysInit(lbl_1_bss_58); + lbl_1_bss_8 = GWLanguageGet(); + lbl_1_bss_14 = GWSystem.mg_next; + lbl_1_bss_10 = 0; + lbl_1_bss_4 = 0; + _ClearFlag(0x1000C); + for(i=0; HuSndGrpTbl[i].ovl != OVL_INVALID; i++) { + if(HuSndGrpTbl[i].ovl == mgInfoTbl[lbl_1_bss_14].ovl) { + break; + } + } + if(HuSndGrpTbl[i].ovl != OVL_INVALID) { + HuAudSndGrpSetSet(HuSndGrpTbl[i].grpset); + } + if(mgInfoTbl[lbl_1_bss_14].ovl == OVL_M411) { + if(GWMGTypeGet() == -1) { + GWMGTypeSet(frandmod(3)); + } + } else { + GWMGTypeSet(-1); + } + HuDataDirClose(mgInfoTbl[lbl_1_bss_14].data_dir); + his = omOvlHisGet(0); + omOvlHisChg(0, OVL_RESULT, his->event, his->stat); + if(omovlevtno == 0 && mgInfoTbl[lbl_1_bss_14].ovl == OVL_M430) { + s32 team_cnt[2]; + s32 team_players[2][2]; + team_cnt[0] = team_cnt[1] = 0; + for(i=0; i<4; i++) { + team_players[GWPlayerCfg[i].group][team_cnt[GWPlayerCfg[i].group]++] = i; + } + if(frandBool()) { + GWPlayerCfg[team_players[0][0]].group = 0; + GWPlayerCfg[team_players[0][1]].group = 1; + } else { + GWPlayerCfg[team_players[0][0]].group = 1; + GWPlayerCfg[team_players[0][1]].group = 0; + } + if(frandBool()) { + GWPlayerCfg[team_players[1][0]].group = 2; + GWPlayerCfg[team_players[1][1]].group = 3; + } else { + GWPlayerCfg[team_players[1][0]].group = 3; + GWPlayerCfg[team_players[1][1]].group = 2; + } + } + if(mgInfoTbl[lbl_1_bss_14].type == 3 + || mgInfoTbl[lbl_1_bss_14].type == 5 + || mgInfoTbl[lbl_1_bss_14].type == 6 + || mgInfoTbl[lbl_1_bss_14].type == 8 + || !_CheckFlag(FLAG_ID_MAKE(0, 11))) { + HuDataDirClose(DATADIR_INST); + omSysPauseEnable(1); + omOvlCallEx(mgInfoTbl[lbl_1_bss_14].ovl, 1, 0, 0); + return; + } + lbl_1_bss_40[0].x = -67.0f; + lbl_1_bss_40[0].y = 40.0f; + lbl_1_bss_40[0].z = 0.0f; + lbl_1_bss_28[0].x = 260.0f; + lbl_1_bss_28[0].y = -103.0f; + lbl_1_bss_28[0].z = -18.0f; + lbl_1_bss_20[0] = 2885.0f; + lbl_1_bss_C = 20.0f; + lbl_1_bss_12 = GWSystem.board; + if(mgBoardHostEnableF) { + lbl_1_bss_12 = 1; + } + lbl_1_bss_40[1].x = lbl_1_bss_40[1].y = lbl_1_bss_40[1].z = 0.0f; + lbl_1_bss_28[1].x = lbl_1_bss_28[1].y = lbl_1_bss_28[1].z = 0.0f; + lbl_1_bss_20[1] = 1000.0f; + omSysPauseEnable(0); + Hu3DCameraCreate(3); + Hu3DCameraPerspectiveSet(1, 30.0f, 20.0f, 15000.0f, 1.2f); + Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); + Hu3DCameraPerspectiveSet(2, 30.0f, 20.0f, 15000.0f, 1.2f); + Hu3DCameraViewportSet(2, 0, 0, 640, 480, 0, 1); + light = Hu3DGLightCreate(0, 100, 1000, 0, -0.5, -1, 255, 255, 255); + Hu3DGLightInfinitytSet(light); + HuPrcChildCreate(fn_1_994, 100, 12288, 0, lbl_1_bss_58); + HuPrcChildCreate(fn_1_17E4, 100, 12288, 0, lbl_1_bss_58); + HuPrcChildCreate(fn_1_220C, 100, 12288, 0, lbl_1_bss_58); + HuPrcChildCreate(fn_1_2804, 100, 12288, 0, lbl_1_bss_58); + HuPrcChildCreate(fn_1_2FA0, 100, 12288, 0, lbl_1_bss_58); + lbl_1_bss_5C = omAddObjEx(lbl_1_bss_58, 32730, 0, 0, -1, fn_1_4174); + omAddObjEx(lbl_1_bss_58, 0, 32, 32, -1, fn_1_4528); + HuAudSeqPlay(59); + Hu3DBGColorSet(0, 0, 0); + HuWinInit(1); } -static s8 instGrpTbl[] = { 3, 2, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 2, 3, 3, 2, 1, 0, 0, -1, -1, -1, 0, -1, -1, -1, 3, 2, 1, 0 }; - -static s8 instPlayerNumTbl[] = { 4, 4, 4, 4, 4, 1, 1, 4 }; - -static s32 instBoxFile[] = { - DATA_MAKE_NUM(DATADIR_INST, 0), - DATA_MAKE_NUM(DATADIR_INST, 1), - DATA_MAKE_NUM(DATADIR_INST, 2), - DATA_MAKE_NUM(DATADIR_INST, 3), - DATA_MAKE_NUM(DATADIR_INST, 4), - DATA_MAKE_NUM(DATADIR_INST, 0), - DATA_MAKE_NUM(DATADIR_INST, 5), - DATA_MAKE_NUM(DATADIR_INST, 0), +static s8 lbl_1_data_26[] = { + 3, 2, 1, 0, + 1, 1, 1, 0, + 1, 1, 0, 0, + 0, 1, 2, 3, + 3, 2, 1, 0, + 0, -1, -1, -1, + 0, -1, -1, -1, + 3, 2, 1, 0 }; -static s32 instBackFile[] = { - DATA_MAKE_NUM(DATADIR_INST, 9), - DATA_MAKE_NUM(DATADIR_INST, 10), - DATA_MAKE_NUM(DATADIR_INST, 11), - DATA_MAKE_NUM(DATADIR_INST, 12), - DATA_MAKE_NUM(DATADIR_INST, 13), - DATA_MAKE_NUM(DATADIR_INST, 14), - DATA_MAKE_NUM(DATADIR_INST, 14), - DATA_MAKE_NUM(DATADIR_INST, 9), +static s8 lbl_1_data_46[] = { + 4, + 4, + 4, + 4, + 4, + 1, + 1, + 4 }; -static void InstPicDraw(ModelData *model, Mtx mtx); -static void ShadowDraw(ModelData *model, Mtx mtx); - -static void InstMain(void) -{ - Vec pos; - Vec target; - Vec up; - - Vec rot; - Process *proc; - - s16 i; - s16 model; - s16 comNum; - s16 j; - s16 btnDown; - s32 statId; - s32 endF; - s16 grpId; - s32 picFile; - omOvlHisData *his; - s16 sprId; - AnimData *anim; - float z; - float time; - float fovSpeed; - float rotX; - - proc = HuPrcCurrentGet(); - statId = -1; - grpId = HuSprGrpCreate(1); - anim = HuSprAnimRead(HuDataReadNum(instBackFile[mgInfoTbl[instMgNo].type], MEMORY_DEFAULT_NUM)); - sprId = HuSprCreate(anim, 0, 0); - HuSprGrpMemberSet(grpId, 0, sprId); - HuSprGrpDrawNoSet(grpId, 127); - HuSprPosSet(grpId, 0, 288, 240); - if (GWMGTypeGet() == -1) { - picFile = mgInfoTbl[instMgNo].inst_pic[0]; - } - else { - picFile = mgInfoTbl[instMgNo].inst_pic[GWMGTypeGet()]; - } - instPicAnim = HuSprAnimRead(HuDataReadNumHeapShortForce(picFile, MEMORY_DEFAULT_NUM, HEAP_DATA)); - Hu3DShadowCreate(20, 500, 8000); - Hu3DShadowTPLvlSet(0); - Hu3DShadowSizeSet(192); - target.x = target.y = target.z = 0; - pos.x = pos.z = 100.0f; - pos.y = 7000.0f; - up.x = up.y = 0.0f; - up.z = 1.0f; - Hu3DShadowPosSet(&pos, &up, &target); - model = Hu3DModelCreateFile(instBoxFile[mgInfoTbl[instMgNo].type]); - instBoxMdlId = model; - Hu3DModelPosSet(model, 0, 2000, 0); - Hu3DModelAttrSet(model, HU3D_MOTATTR_PAUSE); - Hu3DModelCameraSet(model, 1); - Hu3DModelShadowSet(model); - i = Hu3DHookFuncCreate(ShadowDraw); - Hu3DModelPosSet(i, 0, -200, 0); - Hu3DModelCameraSet(i, 1); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); - while (WipeStatGet()) { - HuPrcVSleep(); - } - z = -500.0f; - for (i = 0; i <= 50; i++) { - Hu3DModelPosSet(model, 0.0f, 2500.0 * cosd(i * 1.8f) - 200.0, z); - Hu3DModelRotSet(model, 0, 0, 45.0f * (1.0f - (i / 50.0f))); - z += 50.0 / 7.0; - Hu3DShadowTPLvlSet(0.5 * (i / 50.0f)); - HuPrcVSleep(); - } - HuAudFXPlay(1211); - Hu3DModelAttrReset(model, HU3D_MOTATTR_PAUSE); - for (i = 1; i <= 20; i++) { - Hu3DModelPosSet(model, 0.0f, (200.0 * (sind(i * 2.25f) * (1.0 / sind(45)))) - 200.0, z); - rotX = (20 - i) * cosd(i * 13.5f); - Hu3DModelRotSet(model, rotX, 0.0f, 0.0f); - z += 50.0 / 7.0; - HuPrcVSleep(); - } - Hu3DModelPosSet(model, 0.0f, 0.0f, 0.0f); - Hu3DModelAttrSet(model, HU3D_MOTATTR_PAUSE); - HuPrcSleep(10); - HuAudFXPlay(1212); - Hu3DModelAttrReset(model, HU3D_MOTATTR_PAUSE); - i = Hu3DHookFuncCreate(InstPicDraw); - - Hu3DModelCameraSet(i, 1); - Hu3DModelPosSet(i, 0, 415, 0); - instMode = 0; - while (Hu3DMotionTimeGet(model) < 80.0f) { - if (Hu3DMotionTimeGet(model) > 30.0f) { - instMode = 2; - } - HuPrcVSleep(); - } - Hu3DModelAttrSet(model, HU3D_MOTATTR_PAUSE); - HuDataDirClose(DATADIR_INST); - statId = HuDataDirReadAsync(mgInfoTbl[instMgNo].data_dir); - while (instMode != 1) { - HuPrcVSleep(); - } - endF = 0; - for (i = comNum = 0; i < 4; i++) { - if (GWPlayerCfg[i].iscom) { - comNum++; - } - } - i = 0; - while (1) { - if (!endF) { - for (btnDown = j = 0; j < 4; j++) { - if (!GWPlayerCfg[j].iscom) { - btnDown |= HuPadBtnDown[GWPlayerCfg[j].pad_idx]; - } - } - if ((btnDown == PAD_BUTTON_START) || omSysExitReq || (comNum == 4 && i > 60)) { - HuAudFXPlay(2); - endF = 1; - } - if (btnDown == PAD_TRIGGER_Z) { - HuAudFXPlay(1); - endF = 1; - his = omOvlHisGet(0); - omOvlHisChg(0, OVL_INST, 1, his->stat); - _SetFlag(0x1000C); - } - if (mgInstExitEnableF && (btnDown & PAD_BUTTON_B)) { - HuAudFXPlay(3); - if (statId != -1) { - while (!HuDataGetAsyncStat(statId)) { - HuPrcVSleep(); - } - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - HuAudSeqAllFadeOut(500); - while (WipeStatGet()) { - HuPrcVSleep(); - } - HuDataDirClose(mgInfoTbl[instMgNo].data_dir); - if (mgInfoTbl[instMgNo].ovl == OVL_M430) { - for (comNum = 0; comNum < 4; comNum++) { - GWPlayerCfg[comNum].group = GWPlayerCfg[comNum].group / 2; - } - } - omOvlReturnEx(1, 1); - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } - } - } - if (!instBusyF || !endF) { - HuPrcVSleep(); - i++; - continue; - } - else { - break; - } - } - if (statId != -1) { - while (!HuDataGetAsyncStat(statId)) { - HuPrcVSleep(); - } - } - rot = cameraRot[0]; - pos = cameraPos[0]; - z = cameraZoom[0]; - WipeColorSet(255, 255, 255); - instMode = 3; - HuPrcSleep(20); - instMode = 4; - HuPrcSleep(10); - - Hu3DModelAttrReset(model, HU3D_MOTATTR_PAUSE); - HuPrcSleep(10); - fovSpeed = 0; - for (i = 0; i <= 60; i++) { - time = i / 60.0f; - cameraRot[0].x = rot.x + ((-65.0f - rot.x) * time); - cameraRot[0].y = rot.y + ((8.0f - rot.y) * time); - cameraRot[0].z = rot.z + (-rot.z) * time; - cameraPos[0].x = pos.x + ((17.0f - pos.x) * time); - cameraPos[0].y = pos.y + ((5.0f - pos.y) * time); - cameraPos[0].z = pos.z + ((-188.0f - pos.z) * time); - cameraZoom[0] = z + ((1173.0f - z) * time); - if (i == 30) { - HuAudFXPlay(1210); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - HuAudSeqAllFadeOut(1000); - } - if (i == 40) { - Hu3DModelAttrSet(model, HU3D_MOTATTR_PAUSE); - } - if (i > 20) { - instFov += fovSpeed; - fovSpeed += 0.04; - } - HuPrcVSleep(); - } - while (WipeStatGet()) { - instFov += fovSpeed; - fovSpeed += 0.04; - HuPrcVSleep(); - } - instMode = 6; - HuPrcVSleep(); - omSysPauseEnable(1); - if (omSysExitReq) { - HuDataDirClose(mgInfoTbl[instMgNo].data_dir); - omOvlReturnEx(1, 1); - } - else { - omOvlCallEx(mgInfoTbl[instMgNo].ovl, 1, 0, 0); - } - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } -} - -static char *playerPosNameTbl[] = { "p_pos_a", "p_pos_b", "p_pos_c", "p_pos_d" }; - -static u8 playerDelayTbl[] = { 8, 0, 12, 4 }; - -static void InstPlayerMain(void) -{ - float tpLvl; - s16 i; - s16 j; - s16 time; - s16 playerNum; - s16 order; - s16 type; - s16 grpType; - s16 group; - ModelData *modelP; - s16 playerMdlId[4]; - s16 charNo[4]; - s16 shadowMdl[4]; - s16 playerOrder[4]; - s16 motId[4][3]; - Vec playerPos[4]; - - type = mgInfoTbl[instMgNo].type; - playerNum = instPlayerNumTbl[type]; - for (i = 0; i < playerNum; i++) { - playerOrder[i] = -1; - } - if (mgInfoTbl[instMgNo].ovl != OVL_M430) { - grpType = type; - } - else { - grpType = 0; - } - for (i = 0; i < playerNum; i++) { - group = instGrpTbl[(grpType * 4) + i]; - for (j = 0; j < 4; j++) { - if (group == GWPlayerCfg[j].group) { - for (order = 0; order < i; order++) { - if (j == playerOrder[order]) { - break; - } - } - if (order == i) { - playerOrder[i] = j; - break; - } - } - } - } - for (i = 0; i < playerNum; i++) { - if (playerOrder[i] == -1) { - for (j = 0; j < playerNum; j++) { - playerOrder[j] = j; - } - break; - } - } - for (i = 0; i < playerNum; i++) { - charNo[i] = GWPlayerCfg[playerOrder[i]].character; - playerMdlId[i] = CharModelCreate(charNo[i], 2); - Hu3DModelPosSet(playerMdlId[i], 5000.0f, 0.0f, 0.0f); - Hu3DModelRotSet(playerMdlId[i], 0.0f, 180.0f, 0.0f); - Hu3DModelCameraSet(playerMdlId[i], 1); - motId[i][0] = CharModelMotionCreate(charNo[i], DATA_MAKE_NUM(DATADIR_MARIOMOT, 0)); - motId[i][1] = CharModelMotionCreate(charNo[i], DATA_MAKE_NUM(DATADIR_MARIOMOT, 5)); - motId[i][2] = CharModelMotionCreate(charNo[i], DATA_MAKE_NUM(DATADIR_MARIOMOT, 6)); - CharModelVoiceEnableSet(charNo[i], motId[i][1], 0); - CharModelMotionSet(charNo[i], motId[i][1]); - CharModelDataClose(-1); - shadowMdl[i] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_INST, 7)); - Hu3DModelTPLvlSet(shadowMdl[i], 0.0f); - Hu3DModelScaleSet(shadowMdl[i], 0.0f, 0.0f, 0.0f); - } - while (instMode != 2) { - HuPrcVSleep(); - } - for (i = 0; i < playerNum; i++) { - Hu3DModelObjPosGet(instBoxMdlId, playerPosNameTbl[i], &playerPos[i]); - Hu3DModelPosSet(shadowMdl[i], playerPos[i].x, 10 + playerPos[i].y, playerPos[i].z); - } - HuPrcSleep(10); - for (i = 0; i <= 50; i++) { - for (j = 0; j < playerNum; j++) { - time = i - playerDelayTbl[j]; - if (time < 0) { - continue; - } - if (time == 15) { - CharModelMotionSet(charNo[j], motId[j][2]); - } - if (time == 30) { - CharModelMotionShiftSet(charNo[j], motId[j][0], 0, 10, HU3D_MOTATTR_LOOP); - } - if (time <= 20) { - Hu3DModelPosSet(playerMdlId[j], playerPos[j].x, playerPos[j].y + 1000.0 * cosd(time * 4.5f), playerPos[j].z); - time -= 10; - if (time >= 0) { - tpLvl = 0.1 * time; - Hu3DModelTPLvlSet(shadowMdl[j], 0.5 * tpLvl); - Hu3DModelScaleSet(shadowMdl[j], tpLvl, tpLvl, tpLvl); - } - } - } - HuPrcVSleep(); - } - modelP = &Hu3DData[playerMdlId[0]]; - while (instMode != 4) { - HuPrcVSleep(); - } - for (i = 0; i <= 45; i++) { - for (j = 0; j < playerNum; j++) { - time = i - playerDelayTbl[j]; - if (time < 0) { - continue; - } - if (time == 0) { - Hu3DModelAttrReset(playerMdlId[j], HU3D_MOTATTR_LOOP); - CharModelVoiceEnableSet(charNo[i], motId[i][1], 1); - CharModelMotionSet(charNo[j], motId[j][1]); - } - if (time <= 30) { - Hu3DModelPosSet(playerMdlId[j], playerPos[j].x, playerPos[j].y + (300.0 * sind(time * 9.0f)), playerPos[j].z - (time * 20)); - if (time <= 10) { - tpLvl = 1 - (0.1 * time); - Hu3DModelTPLvlSet(shadowMdl[j], 0.5 * tpLvl); - Hu3DModelScaleSet(shadowMdl[j], tpLvl, tpLvl, tpLvl); - } - } - } - HuPrcVSleep(); - } - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } -} - -static s32 hostFileTbl[] = { - DATA_MAKE_NUM(DATADIR_INST, 19), - DATA_MAKE_NUM(DATADIR_INST, 20), - DATA_MAKE_NUM(DATADIR_INST, 21), - DATA_MAKE_NUM(DATADIR_INST, 22), - DATA_MAKE_NUM(DATADIR_INST, 23), - DATA_MAKE_NUM(DATADIR_INST, 24), - DATA_MAKE_NUM(DATADIR_INST, 25), - DATA_MAKE_NUM(DATADIR_INST, 26), - DATA_MAKE_NUM(DATADIR_INST, 27), - DATA_MAKE_NUM(DATADIR_INST, 28), - DATA_MAKE_NUM(DATADIR_INST, 29), - DATA_MAKE_NUM(DATADIR_INST, 30), - DATA_MAKE_NUM(DATADIR_INST, 31), - DATA_MAKE_NUM(DATADIR_INST, 32), - DATA_MAKE_NUM(DATADIR_INST, 33), - DATA_MAKE_NUM(DATADIR_INST, 34), - DATA_MAKE_NUM(DATADIR_INST, 35), - DATA_MAKE_NUM(DATADIR_INST, 36), +static s32 lbl_1_data_50[] = { + DATA_MAKE_NUM(DATADIR_INST, 0), + DATA_MAKE_NUM(DATADIR_INST, 1), + DATA_MAKE_NUM(DATADIR_INST, 2), + DATA_MAKE_NUM(DATADIR_INST, 3), + DATA_MAKE_NUM(DATADIR_INST, 4), + DATA_MAKE_NUM(DATADIR_INST, 0), + DATA_MAKE_NUM(DATADIR_INST, 5), + DATA_MAKE_NUM(DATADIR_INST, 0), }; -static u16 hostSeTbl[] = { 55, 57, 68, 67, 64, 65, 75, 76, 70, 71, 62, 62 }; +static s32 lbl_1_data_70[] = { + DATA_MAKE_NUM(DATADIR_INST, 9), + DATA_MAKE_NUM(DATADIR_INST, 10), + DATA_MAKE_NUM(DATADIR_INST, 11), + DATA_MAKE_NUM(DATADIR_INST, 12), + DATA_MAKE_NUM(DATADIR_INST, 13), + DATA_MAKE_NUM(DATADIR_INST, 14), + DATA_MAKE_NUM(DATADIR_INST, 14), + DATA_MAKE_NUM(DATADIR_INST, 9), +}; -static void InstHostMain(void) +static void fn_1_50B0(ModelData *model, Mtx mtx); +static void fn_1_5B64(ModelData *model, Mtx mtx); + +static void fn_1_994(void) { - float ofsX; - s16 i; - s16 modelId; - s16 motId[2]; - ModelData *modelP; - modelId = Hu3DModelCreateFile(hostFileTbl[instHostNo * 3]); - motId[0] = Hu3DJointMotionFile(modelId, hostFileTbl[(instHostNo * 3) + 1]); - motId[1] = Hu3DJointMotionFile(modelId, hostFileTbl[(instHostNo * 3) + 2]); - Hu3DMotionSet(modelId, motId[1]); - if (instHostNo == 3) { - ofsX = 50; - } - else { - ofsX = 0; - } - Hu3DModelPosSet(modelId, -353.0f + ofsX, -150, 356); - Hu3DModelRotSet(modelId, 0, 90, 0); - Hu3DModelCameraSet(modelId, 2); - while (instMode != 2) { - HuPrcVSleep(); - } - HuPrcSleep(30); - Hu3DMotionTimeSet(modelId, 40); - HuAudFXPlay(hostSeTbl[instHostNo * 2]); - for (i = 0; i <= 20; i++) { - Hu3DModelPosSet(modelId, -153.0f - (100.0f - (100.0f * (i / 20.0f))), (100.0 * sind(i * 9.0f)) + -150.0 + ofsX, 356.0f); - HuPrcVSleep(); - } - for (i = 0; i <= 10; i++) { - Hu3DModelPosSet(modelId, -153.0f, (15.0 * sind(i * 18.0f)) + -150.f + ofsX, 356.0f); - Hu3DModelRotSet(modelId, 0.0f, 90 - ((i / 10.0f) * 70), 0); - HuPrcVSleep(); - } - Hu3DMotionShiftSet(modelId, motId[0], 0, 10, HU3D_MOTATTR_LOOP); - modelP = &Hu3DData[modelId]; - while (1) { - fontcolor = FONT_COLOR_RED; - if (instMode == 3) { - break; - } - HuPrcVSleep(); - } - Hu3DMotionSet(modelId, motId[1]); - HuPrcSleep(20); - HuAudFXPlay(hostSeTbl[(instHostNo * 2) + 1]); - for (i = 0; i <= 30; i++) { - Hu3DModelPosSet(modelId, (i * 5) - 153, (50.0 * sind(i * 9.0f)) + -150.0 + ofsX, (i * 20) + 356); - HuPrcVSleep(); - } - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } + + Vec pos; + Vec target; + Vec up; + + Vec spC; + Process *process; + + s16 i; + s16 model; + s16 num_coms; + s16 j; + s16 btns; + s32 status; + s32 done; + s16 group; + s32 pic; + omOvlHisData *his; + s16 sprite; + AnimData *anim; + float pos_z; + float time; + float fov_vel; + float rot_x; + + + process = HuPrcCurrentGet(); + status = -1; + group = HuSprGrpCreate(1); + anim = HuSprAnimRead(HuDataReadNum(lbl_1_data_70[mgInfoTbl[lbl_1_bss_14].type], MEMORY_DEFAULT_NUM)); + sprite = HuSprCreate(anim, 0, 0); + HuSprGrpMemberSet(group, 0, sprite); + HuSprGrpDrawNoSet(group, 127); + HuSprPosSet(group, 0, 288, 240); + if(GWMGTypeGet() == -1) { + pic = mgInfoTbl[lbl_1_bss_14].inst_pic[0]; + } else { + pic = mgInfoTbl[lbl_1_bss_14].inst_pic[GWMGTypeGet()]; + } + lbl_1_bss_18 = HuSprAnimRead(HuDataReadNumHeapShortForce(pic, MEMORY_DEFAULT_NUM, HEAP_DATA)); + Hu3DShadowCreate(20, 500, 8000); + Hu3DShadowTPLvlSet(0); + Hu3DShadowSizeSet(192); + target.x = target.y = target.z = 0; + pos.x = pos.z = 100.0f; + pos.y = 7000.0f; + up.x = up.y = 0.0f; + up.z = 1.0f; + Hu3DShadowPosSet(&pos, &up, &target); + model = Hu3DModelCreateFile(lbl_1_data_50[mgInfoTbl[lbl_1_bss_14].type]); + lbl_1_bss_1C = model; + Hu3DModelPosSet(model, 0, 2000, 0); + Hu3DModelAttrSet(model, 0x40000002); + Hu3DModelCameraSet(model, 1); + Hu3DModelShadowSet(model); + i = Hu3DHookFuncCreate(fn_1_5B64); + Hu3DModelPosSet(i, 0, -200, 0); + Hu3DModelCameraSet(i, 1); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); + while(WipeStatGet()) { + HuPrcVSleep(); + } + pos_z = -500.0f; + for(i=0; i<=50; i++) { + Hu3DModelPosSet(model, 0.0f, 2500.0*cosd(i*1.8f)-200.0, pos_z); + Hu3DModelRotSet(model, 0, 0, 45.0f*(1.0f-(i/50.0f))); + pos_z += 50.0/7.0; + Hu3DShadowTPLvlSet(0.5*(i/50.0f)); + HuPrcVSleep(); + } + HuAudFXPlay(1211); + Hu3DModelAttrReset(model, 0x40000002); + for(i=1; i<=20; i++) { + Hu3DModelPosSet(model, 0.0f, (200.0*(sind(i*2.25f)*(1.0/sind(45))))-200.0, pos_z); + rot_x = (20-i)*cosd(i*13.5f); + Hu3DModelRotSet(model, rot_x, 0.0f, 0.0f); + pos_z += 50.0/7.0; + HuPrcVSleep(); + } + Hu3DModelPosSet(model, 0.0f, 0.0f, 0.0f); + Hu3DModelAttrSet(model, 0x40000002); + HuPrcSleep(10); + HuAudFXPlay(1212); + Hu3DModelAttrReset(model, 0x40000002); + i = Hu3DHookFuncCreate(fn_1_50B0); + + Hu3DModelCameraSet(i, 1); + Hu3DModelPosSet(i, 0, 415, 0); + lbl_1_data_0 = 0; + while(Hu3DMotionTimeGet(model) < 80.0f) { + if(Hu3DMotionTimeGet(model) > 30.0f) { + lbl_1_data_0 = 2; + } + HuPrcVSleep(); + } + Hu3DModelAttrSet(model, 0x40000002); + HuDataDirClose(DATADIR_INST); + status = HuDataDirReadAsync(mgInfoTbl[lbl_1_bss_14].data_dir); + while(lbl_1_data_0 != 1) { + HuPrcVSleep(); + } + done = 0; + for(i=num_coms=0; i<4; i++) { + if(GWPlayerCfg[i].iscom) { + num_coms++; + } + } + i=0; + while(1) { + if(!done) { + for(btns=j=0; j<4; j++) { + if(!GWPlayerCfg[j].iscom) { + btns |= HuPadBtnDown[GWPlayerCfg[j].pad_idx]; + } + } + if((btns == PAD_BUTTON_START) || omSysExitReq || (num_coms == 4 && i > 60)) { + HuAudFXPlay(2); + done = 1; + } + if(btns == PAD_TRIGGER_Z) { + HuAudFXPlay(1); + done = 1; + his = omOvlHisGet(0); + omOvlHisChg(0, OVL_INST, 1, his->stat); + _SetFlag(0x1000C); + } + if(mgInstExitEnableF && (btns & PAD_BUTTON_B)) { + HuAudFXPlay(3); + if(status != -1) { + while(!HuDataGetAsyncStat(status)) { + HuPrcVSleep(); + } + } + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + HuAudSeqAllFadeOut(500); + while(WipeStatGet()) { + HuPrcVSleep(); + } + HuDataDirClose(mgInfoTbl[lbl_1_bss_14].data_dir); + if(mgInfoTbl[lbl_1_bss_14].ovl == OVL_M430) { + for(num_coms=0; num_coms<4; num_coms++) { + GWPlayerCfg[num_coms].group = GWPlayerCfg[num_coms].group/2; + } + } + omOvlReturnEx(1, 1); + HuPrcEnd(); + while(1) { + HuPrcVSleep(); + } + } + } + if(!lbl_1_bss_4 || !done) { + HuPrcVSleep(); + i++; + continue; + } else { + break; + } + } + if(status != -1) { + while(!HuDataGetAsyncStat(status)) { + HuPrcVSleep(); + } + } + spC = lbl_1_bss_40[0]; + pos = lbl_1_bss_28[0]; + pos_z = lbl_1_bss_20[0]; + WipeColorSet(255, 255, 255); + lbl_1_data_0 = 3; + HuPrcSleep(20); + lbl_1_data_0 = 4; + HuPrcSleep(10); + + Hu3DModelAttrReset(model, 0x40000002); + HuPrcSleep(10); + fov_vel = 0; + for(i=0; i<=60; i++) { + time = i/60.0f; + lbl_1_bss_40[0].x = spC.x+((-65.0f-spC.x)*time); + lbl_1_bss_40[0].y = spC.y+((8.0f-spC.y)*time); + lbl_1_bss_40[0].z = spC.z+(-spC.z)*time; + lbl_1_bss_28[0].x = pos.x+((17.0f-pos.x)*time); + lbl_1_bss_28[0].y = pos.y+((5.0f-pos.y)*time); + lbl_1_bss_28[0].z = pos.z+((-188.0f-pos.z)*time); + lbl_1_bss_20[0] = pos_z+((1173.0f-pos_z)*time); + if(i == 30) { + HuAudFXPlay(1210); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + HuAudSeqAllFadeOut(1000); + } + if(i == 40) { + Hu3DModelAttrSet(model, 0x40000002); + } + if(i > 20) { + lbl_1_bss_C += fov_vel; + fov_vel += 0.04; + } + HuPrcVSleep(); + } + while(WipeStatGet()) { + lbl_1_bss_C += fov_vel; + fov_vel += 0.04; + HuPrcVSleep(); + } + lbl_1_data_0 = 6; + HuPrcVSleep(); + omSysPauseEnable(1); + if(omSysExitReq) { + HuDataDirClose(mgInfoTbl[lbl_1_bss_14].data_dir); + omOvlReturnEx(1, 1); + } else { + omOvlCallEx(mgInfoTbl[lbl_1_bss_14].ovl, 1, 0, 0); + } + HuPrcEnd(); + while(1) { + HuPrcVSleep(); + } } -static void InstWinMain(void) +static char *lbl_1_data_B0[] = { + "p_pos_a", + "p_pos_b", + "p_pos_c", + "p_pos_d" +}; + +static u8 lbl_1_data_C0[] = { + 8, + 0, + 12, + 4 +}; + +static void fn_1_17E4(void) { - float posX; - s16 i; - s16 winId; - s16 win2Id; - s16 j; - s16 insert_idx; - s16 trigR; - s16 groupCnt[4]; - s16 charTbl[4][4]; - - winId = HuWinExCreateStyled(640, 320, 412, 120, -1, 1); - while (instMode != 0) { - HuPrcVSleep(); - } - HuWinDispOn(winId); - HuWinMesSet(winId, mgInfoTbl[instMgNo].inst_mess[0]); - HuWinMesPalSet(winId, 7, 0, 0, 192); - HuWinMesSpeedSet(winId, 0); - win2Id = HuWinExCreateStyled(640, 320, 412, 120, -1, 1); - HuWinDispOn(win2Id); - HuWinMesSpeedSet(win2Id, 0); - HuWinPosSet(win2Id, 142.0f, 640.0f); - instPage = 0; - for (i = 0; i < 4; i++) { - groupCnt[i] = 0; - } - - for (i = 0; i < 4; i++) { - charTbl[GWPlayerCfg[i].group][groupCnt[GWPlayerCfg[i].group]] = GWPlayerCfg[i].character; - groupCnt[GWPlayerCfg[i].group]++; - } - for (i = insert_idx = 0; i < 4; i++) { - for (j = 0; j < groupCnt[i]; j++) { - HuWinInsertMesSet(winId, charTbl[i][j], (s16)insert_idx); - insert_idx++; - } - } - while (instMode != 2) { - HuPrcVSleep(); - } - HuPrcSleep(40); - for (i = 0; i <= 20; i++) { - posX = 500.0 * cosd(i * 4.5f) + 142.0; - HuWinPosSet(winId, posX, 320); - HuPrcVSleep(); - } - instMode = 1; - while (instMode != 3) { - for (i = trigR = 0; i < 4; i++) { - if (!GWPlayerCfg[i].iscom) { - trigR |= HuPadTrigR[GWPlayerCfg[i].pad_idx] & 0xC0; - } - } - if (trigR) { - HuAudFXPlay(1213); - instBusyF = 0; - HuWinMesSet(win2Id, mgInfoTbl[instMgNo].inst_mess[instPage]); - HuWinMesPalSet(win2Id, 7, 0, 0, 192); - instPage++; - if (mgInfoTbl[instMgNo].inst_mess[instPage] == 0) { - instPage++; - } - if (instPage >= 4) { - instPage = 0; - } - HuWinMesSet(winId, mgInfoTbl[instMgNo].inst_mess[instPage]); - HuWinMesPalSet(winId, 7, 0, 0, 192); - HuWinPosSet(win2Id, 142.0f, 320.0f); - for (i = 0; i <= 10; i++) { - #if VERSION_NTSC - HuWinPosSet(win2Id, 30.0 * sind(i * 9.0f) + 142.0, 160.0 * (1.0 - cosd(i * 9.0f)) + 320.0); - #else - HuWinPosSet(win2Id, 30.0 * sind(i * 9.0f) + 142.0, 180.0 * (1.0 - cosd(i * 9.0f)) + 320.0); - #endif - HuPrcVSleep(); - } - HuPrcSleep(5); - } - instBusyF = 1; - HuPrcVSleep(); - } - for (i = 0; i <= 20; i++) { - posX = 500.0 * (1.0 - cosd(i * 4.5f)) + 142.0; - HuWinPosSet(winId, posX, 320); - HuPrcVSleep(); - } - HuWinAllKill(); - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } + float tplvl; + s16 i; + s16 j; + s16 time; + s16 player_cnt; + s16 order; + s16 type; + s16 group_type; + s16 group; + ModelData *model; + s16 player_mdl[4]; + s16 char_tbl[4]; + s16 platform_mdl[4]; + s16 player_order[4]; + s16 mot_tbl[4][3]; + Vec player_pos[4]; + + type = mgInfoTbl[lbl_1_bss_14].type; + player_cnt = lbl_1_data_46[type]; + for(i=0; i= 0) { + tplvl = 0.1*time; + Hu3DModelTPLvlSet(platform_mdl[j], 0.5*tplvl); + Hu3DModelScaleSet(platform_mdl[j], tplvl, tplvl, tplvl); + } + } + } + HuPrcVSleep(); + } + model = &Hu3DData[player_mdl[0]]; + while(lbl_1_data_0 != 4) { + HuPrcVSleep(); + } + for(i=0; i<=45; i++) { + for(j=0; j= 4) { + lbl_1_bss_6 = 0; + } + HuWinMesSet(window, mgInfoTbl[lbl_1_bss_14].inst_mess[lbl_1_bss_6]); + HuWinMesPalSet(window, 7, 0, 0, 192); + HuWinPosSet(window_other, 142.0f, 320.0f); + for(i=0; i<=10; i++) { + HuWinPosSet(window_other, 30.0*sind(i*9.0f)+142.0, 160.0*(1.0-cosd(i*9.0f))+320.0); + HuPrcVSleep(); + } + HuPrcSleep(5); + } + lbl_1_bss_4 = 1; + HuPrcVSleep(); + } + for(i=0; i<=20; i++) { + pos_x = 500.0*(1.0-cosd(i*4.5f))+142.0; + HuWinPosSet(window, pos_x, 320); + HuPrcVSleep(); + } + HuWinAllKill(); + HuPrcEnd(); + while(1) { + HuPrcVSleep(); + } +} - mes++; - } - #if VERSION_NTSC - if (mesSpaceNum == 1) { - nameW = spC[0]; - nameAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 18)); - nameX = ((576.0f - nameW) - 24.0f) - 16.0f + 227; - nameY = 78; - nameScaleY = 0.5f; - } - else { - nameW = (spC[0] > spC[1]) ? spC[0] : spC[1]; - nameAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 15)); - - nameX = ((576.0f - nameW) - 24.0f) - 16.0f + 172.0f; - nameY = 84; - nameScaleY = 1.0f; - } - #else - if (mesSpaceNum == 1) { - nameW = spC[0]; - nameAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 18)); - nameX = ((576.0f - nameW) - 24.0f) - 16.0f + 235; - nameY = 78; - nameScaleY = 0.5f; - } - else { - nameW = (spC[0] > spC[1]) ? spC[0] : spC[1]; - nameAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 15)); - - nameX = ((576.0f - nameW) - 24.0f) - 16.0f + 235; - nameY = 84; - nameScaleY = 1.0f; - } - #endif - nameGrpId = HuSprGrpCreate(1); - nameSprId = HuSprCreate(nameAnim, 0, 0); - HuSprGrpMemberSet(nameGrpId, 0, nameSprId); - HuSprPriSet(nameGrpId, 0, 100); - HuSprGrpPosSet(nameGrpId, 10000, 70); - HuSprScaleSet(nameGrpId, 0, 1.0f, nameScaleY); - for (i = 0; i < mesSpaceNum; i++) { - HuSprGrpPosSet(work.spr_grp[i], 1000, 70); - } - nameAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 16)); - startGrpId = HuSprGrpCreate(1); - startSprId = HuSprCreate(nameAnim, 0, 0); - HuSprGrpMemberSet(startGrpId, 0, startSprId); - HuSprGrpPosSet(startGrpId, 1000, 186); - HuSprPriSet(startGrpId, 0, 1000); - sp10[0] = HuWinCreate(1000, 186, 456, 42, 0); - HuWinMesSet(sp10[0], MAKE_MESSID(0x24, instMesOfs)); - HuWinBGTPLvlSet(sp10[0], 0.0f); - nameAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 17)); - practiceGrpId = HuSprGrpCreate(1); - practiceSprId = HuSprCreate(nameAnim, 0, 0); - HuSprGrpMemberSet(practiceGrpId, 0, practiceSprId); - HuSprGrpPosSet(practiceGrpId, 1000, 242); - HuSprPriSet(practiceGrpId, 0, 1000); - sp10[1] = HuWinCreate(1000, 242, 456, 42, 0); - HuWinMesSet(sp10[1], instMesOfs + MAKE_MESSID(0x24, 0x01)); - HuWinBGTPLvlSet(sp10[1], 0.0f); - nameAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 18)); - sp10[2] = HuWinCreate(1000, 292, 456, 42, 0); - HuWinMesSet(sp10[2], instMesOfs + MAKE_MESSID(0x24, 0x02)); - HuWinBGTPLvlSet(sp10[2], 0.0f); - HuWinMesSpeedSet(sp10[2], 0); - i = HuWinAnimSet(sp10[2], nameAnim, 0, WIN_ANIM_OFS, 18); - HuWinSprPriSet(sp10[2], i, 1000); - rulesWinId = HuWinCreate(1000, 292, 456, 42, 0); - HuWinBGTPLvlSet(rulesWinId, 0.0f); - HuWinMesSpeedSet(rulesWinId, 0); - HuWinMesSet(rulesWinId, instMesOfs + MAKE_MESSID(0x24, 0x02)); - i = HuWinAnimSet(rulesWinId, nameAnim, 0, WIN_ANIM_OFS, 18); - HuWinPriSet(rulesWinId, 10); - HuWinSprPriSet(rulesWinId, i, 11); - while (instMode != 0) { - HuPrcVSleep(); - } - for (i = 0; i < 36; i++) { - t = i; - if (t <= 20.0f) { - #if VERSION_NTSC - posX = 300.0 * cosd(4.5f * t) + nameX; - HuSprGrpPosSet(nameGrpId, posX, nameY); - posX = 300.0 * cosd(4.5f * t) + (576.0f - (nameW / 2) - 24.0f); - for (j = 0; j < mesSpaceNum; j++) { - HuSprGrpPosSet(work.spr_grp[j], posX, (j * 28) + 70); - } - #else - posX = 500.0 * cosd(4.5f * t) + nameX; - HuSprGrpPosSet(nameGrpId, posX, nameY); - posX = 500.0 * cosd(4.5f * t) + (576.0f - (nameW / 2) - 24.0f); - for (j = 0; j < mesSpaceNum; j++) { - HuSprGrpPosSet(work.spr_grp[j], posX, (j * 28) + 70); - } - #endif - } - t = i - 3; - if (t > 0.0f) { - if (t <= 20.0f) { - posX = 300.0 * cosd(4.5f * t) + instNamePosTbl[2]; - HuSprGrpPosSet(startGrpId, posX, 186.0f); - posX = 300.0 * cosd(4.5f * t) + (instNamePosTbl[2] - 88.0f); - #if VERSION_NTSC - HuWinPosSet(sp10[0], 16.0f + posX, 168.0f); - #else - HuWinPosSet(sp10[0], 8.0f + posX, 168.0f); - #endif - } - } - t = i - 6; - if (t > 0.0f) { - if (t <= 20.0f) { - posX = 300.0 * cosd(4.5f * t) + instNamePosTbl[4]; - HuSprGrpPosSet(practiceGrpId, posX, 242.0f); - posX = 300.0 * cosd(4.5f * t) + (instNamePosTbl[4] - 100.0f); - #if VERSION_NTSC - HuWinPosSet(sp10[1], 16.0f + posX, 224.0f); - #else - HuWinPosSet(sp10[1], 8.0f + posX, 224.0f); - #endif - } - } - t = i - 9; - if (t > 0.0f) { - if (t <= 20.0f) { - posX = 300.0 * cosd(4.5f * t) + (instNamePosTbl[6] - (WIN_ANIM_OFS+16)); - HuWinPosSet(sp10[2], 16.0f + posX, 274.0f); - } - } - HuPrcVSleep(); - } - while (instMode != 3) { - if (prevPage != instPage) { - posX = 16.0f + (instNamePosTbl[6] - (WIN_ANIM_OFS+16)); - HuWinMesSet(rulesWinId, MAKE_MESSID(0x24, 0x02) + instMesOfs + prevPage); - prevPage = instPage; - if (instPage == 1) { - if (mgInfoTbl[instMgNo].inst_mess[2]) { - HuWinMesSet(sp10[2], MAKE_MESSID(0x24, 0x02) + instMesOfs + instPage); - } - else { - HuWinMesSet(sp10[2], MAKE_MESSID(0x24, 0x06) + instMesOfs); - } - } - else { - HuWinMesSet(sp10[2], MAKE_MESSID(0x24, 0x02) + instMesOfs + instPage); - } - for (i = 0; i <= 10; i++) { - #if VERSION_NTSC - HuWinPosSet(rulesWinId, 30.0 * sind(i * 9.0f) + posX, 200.0 * (1.0 - cosd(i * 9.0f)) + 274.0); - #else - HuWinPosSet(rulesWinId, 30.0 * sind(i * 9.0f) + posX, 220.0 * (1.0 - cosd(i * 9.0f)) + 274.0); - #endif - HuPrcVSleep(); - } - } - HuPrcVSleep(); - } - for (i = 0; i < 20; i++) { - t = 1.0 - cosd(i * 4.5f); - posX = nameX + (500.0f * t); - HuSprGrpPosSet(nameGrpId, posX, nameY); - posX = ((576.0f - (work.alt_word_len / 2)) - 24.0f) + (500.0f * t); - for (j = 0; j < mesSpaceNum; j++) { - HuSprGrpPosSet(work.spr_grp[j], posX, (j * 28) + 70); - } - posX = instNamePosTbl[2] + (300.0f * t); - HuSprGrpPosSet(startGrpId, posX, 186.0f); - posX = (instNamePosTbl[2] - 88.0f) + (300.0f * t); - HuWinPosSet(sp10[0], 16.0f + posX, 168); - posX = instNamePosTbl[4] + (300.0f * t); - HuSprGrpPosSet(practiceGrpId, posX, 242.0f); - posX = (instNamePosTbl[4] - 100.0f) + (300.0f * t); - HuWinPosSet(sp10[1], 16.0f + posX, 224); - #if VERSION_NTSC - posX = (instNamePosTbl[6] - 184.0f) + (400.0f * t); - #else - posX = (instNamePosTbl[6] - 235.0f) + (400.0f * t); - #endif - HuWinPosSet(sp10[2], 16.0f + posX, 274); - HuPrcVSleep(); - } - MGSeqSprKill(&work); - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } +static float lbl_1_data_124[] = { + 420, + 70, + 488, + 186, + 476, + 242, + 400, + 292 +}; + +s32 fn_1_5EA4(SeqWork *work, char *mess, s16 jp_flag); + +static void fn_1_2FA0(void) +{ + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + float temp_f27; + s16 temp_r31; + s16 temp_r30; + char *temp_r29; + AnimData *temp_r28; + s16 temp_r27; + s16 temp_r26; + s16 temp_r25; + s16 temp_r24; + s16 temp_r23; + s16 temp_r22; + u16 temp_r21; + char *temp_r20; + s16 temp_r17; + s16 spA; + s16 sp8; + + s16 spC[2]; + s16 sp10[4]; + SeqWork work; + temp_r21 = 0; + for(temp_r31=0; temp_r31<16; temp_r31++) { + work.sprite[temp_r31] = work.spr_grp[temp_r31] = -1; + } + temp_r20 = MessData_MesPtrGet(messDataPtr, mgInfoTbl[lbl_1_bss_14].name_mess); + temp_r29 = temp_r20; + temp_r31 = 0; + temp_r26 = 0; + while(1) { + if(*temp_r29 == 0 || *temp_r29 == 10) { + if(*temp_r29 == 0) { + temp_r31 = 1; + } + *temp_r29 = 0; + fn_1_5EA4(&work, temp_r20, (lbl_1_bss_8 == 0) ? 1 : 0); + HuSprGrpPosSet(work.spr_grp[temp_r26], 288.0f, 240.0f); + spC[temp_r26] = work.alt_word_len; + temp_r26++; + if(temp_r31) { + break; + } + temp_r20 = temp_r29+1; + } + + temp_r29++; + } + if(temp_r26 == 1) { + temp_r22 = spC[0]; + temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 18)); + temp_f29 = ((576.0f-temp_r22)-24.0f)-16.0f+227.0f; + temp_f28 = 78; + temp_f27 = 0.5f; + } else { + temp_r22 = (spC[0] > spC[1]) ? spC[0] : spC[1]; + temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 15)); + temp_f29 = ((576.0f-temp_r22)-24.0f)-16.0f+172.0f; + temp_f28 = 84; + temp_f27 = 1.0f; + } + temp_r25 = HuSprGrpCreate(1); + temp_r17 = HuSprCreate(temp_r28, 0, 0); + HuSprGrpMemberSet(temp_r25, 0, temp_r17); + HuSprPriSet(temp_r25, 0, 100); + HuSprGrpPosSet(temp_r25, 10000, 70); + HuSprScaleSet(temp_r25, 0, 1.0f, temp_f27); + for(temp_r31=0; temp_r31 0.0f) { + if(temp_f30 <= 20.0f) { + temp_f31 = 300.0*cosd(4.5f*temp_f30)+lbl_1_data_124[2]; + HuSprGrpPosSet(temp_r24, temp_f31, 186.0f); + temp_f31 = 300.0*cosd(4.5f*temp_f30)+(lbl_1_data_124[2]-88.0f); + HuWinPosSet(sp10[0], 16.0f+temp_f31, 168.0f); + } + } + temp_f30 = temp_r31-6; + if(temp_f30 > 0.0f) { + if(temp_f30 <= 20.0f) { + temp_f31 = 300.0*cosd(4.5f*temp_f30)+lbl_1_data_124[4]; + HuSprGrpPosSet(temp_r23, temp_f31, 242.0f); + temp_f31 = 300.0*cosd(4.5f*temp_f30)+(lbl_1_data_124[4]-100.0f); + HuWinPosSet(sp10[1], 16.0f+temp_f31, 224.0f); + } + } + temp_f30 = temp_r31-9; + if(temp_f30 > 0.0f) { + if(temp_f30 <= 20.0f) { + temp_f31 = 300.0*cosd(4.5f*temp_f30)+(lbl_1_data_124[6]-217.0f); + HuWinPosSet(sp10[2], 16.0f+temp_f31, 274.0f); + } + } + HuPrcVSleep(); + } + while(lbl_1_data_0 != 3) { + if(temp_r21 != lbl_1_bss_6) { + temp_f31 = 16.0f+(lbl_1_data_124[6]-217.0f); + HuWinMesSet(temp_r27, 0x240002+lbl_1_bss_10+temp_r21); + temp_r21 = lbl_1_bss_6; + if(lbl_1_bss_6 == 1) { + if(mgInfoTbl[lbl_1_bss_14].inst_mess[2]) { + HuWinMesSet(sp10[2], 0x240002+lbl_1_bss_10+lbl_1_bss_6); + } else { + HuWinMesSet(sp10[2], 0x240006+lbl_1_bss_10); + } + } else { + HuWinMesSet(sp10[2], 0x240002+lbl_1_bss_10+lbl_1_bss_6); + } + for(temp_r31=0; temp_r31<=10; temp_r31++) { + HuWinPosSet(temp_r27, 30.0*sind(temp_r31*9.0f)+temp_f31, 200.0*(1.0-cosd(temp_r31*9.0f))+274.0); + HuPrcVSleep(); + } + } + HuPrcVSleep(); + } + for(temp_r31=0; temp_r31<20; temp_r31++) { + temp_f30 = 1.0-cosd(temp_r31*4.5f); + temp_f31 = temp_f29+(500.0f*temp_f30); + HuSprGrpPosSet(temp_r25, temp_f31, temp_f28); + temp_f31 = ((576.0f-(work.alt_word_len/2))-24.0f)+(500.0f*temp_f30); + for(temp_r30=0; temp_r30unk_00 |= 0x8000; - Hu3DCameraCreate(1); - camera = &Hu3DCamera[0]; - Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); - lbl_2_bss_114 = omAddObjEx(lbl_2_bss_1C, 1000, 3, 0, -1, fn_2_BD90); - lbl_2_bss_114->work[0] = 0; - lbl_2_bss_110 = omAddObjEx(lbl_2_bss_1C, 10, 0, 0, -1, fn_2_70C); - omMakeGroupEx(lbl_2_bss_1C, 0, 4); - lbl_2_bss_118 = omGetGroupMemberListEx(lbl_2_bss_1C, 0); - omMakeGroupEx(lbl_2_bss_1C, 1, 28); - for (i = 0; i < 4; i++) { - object = omAddObjEx(lbl_2_bss_1C, 1200, 4, 10, 0, fn_2_3B24); - object->work[0] = i; - } - lbl_2_bss_12C = 60; - lbl_2_bss_128 = 50; - lbl_2_bss_124 = 25000; - Hu3DShadowCreate(30, 20, 5000); - Hu3DShadowTPLvlSet(0.35f); - lbl_2_data_30.y = lbl_2_bss_60.y + 1500.0f; - lbl_2_data_30.z = lbl_2_bss_60.z + 500.0f; - lbl_2_data_48.y = lbl_2_bss_60.y; - lbl_2_data_48.z = lbl_2_bss_60.z + 500.0f; - Hu3DShadowPosSet(&lbl_2_data_30, &lbl_2_data_3C, &lbl_2_data_48); - lbl_2_bss_10C = omAddObjEx(lbl_2_bss_1C, 500, 12, 3, -1, fn_2_2FA4); - lbl_2_bss_108 = omAddObjEx(lbl_2_bss_1C, 1100, 1, 1, -1, fn_2_7CB4); - lbl_2_bss_100[0] = omAddObjEx(lbl_2_bss_1C, 1110, 1, 1, -1, fn_2_8E74); - lbl_2_bss_100[1] = omAddObjEx(lbl_2_bss_1C, 1110, 1, 1, -1, fn_2_8E74); - lbl_2_bss_FC = omAddObjEx(lbl_2_bss_1C, 1120, 1, 2, -1, fn_2_95E4); - lbl_2_bss_C8 = omAddObjEx(lbl_2_bss_1C, 100, 0, 0, -1, fn_2_D088); - lbl_2_bss_E0 = omAddObjEx(lbl_2_bss_1C, 1500, 0, 0, -1, fn_2_C1C); - fn_2_DBCC(90); - lbl_2_bss_F8 = omAddObjEx(lbl_2_bss_1C, 500, 9, 0, -1, fn_2_C6DC); - fn_2_9D00(lbl_2_bss_1C); - fn_2_1041C(); - fn_2_1079C(); - lbl_2_bss_F4 = fn_2_14640(lbl_2_bss_1C); - lbl_2_bss_50 = 0; - lbl_2_bss_54 = camera->pos; - Hu3DReflectNoSet(0); - lbl_2_bss_120 = 0; - lbl_2_bss_BE = 0; - lbl_2_bss_BA = 0; - Hu3DFogSet(3000, 10000, 10, 60, 160); - Hu3DBGColorSet(10, 60, 160); - lbl_2_bss_88 = 3000; - lbl_2_bss_84 = 142000; - lbl_2_bss_11C = HuAudFXPlay(1290); + s32 i; + omObjData *object; + CameraData *camera; + LightData *light; + OSReport("**** M401ObjectSetup ****\n"); + HuMemHeapDump(HuMemHeapPtrGet(HEAP_SYSTEM), -1); + HuMemHeapDump(HuMemHeapPtrGet(HEAP_DATA), -1); + HuMemHeapDump(HuMemHeapPtrGet(HEAP_DVD), -1); + lbl_2_bss_1C = omInitObjMan(60, 8192); + omGameSysInit(lbl_2_bss_1C); + lbl_2_bss_A8 = Hu3DGLightCreateV(&lbl_2_data_14, &lbl_2_data_20, &lbl_2_data_2C); + Hu3DGLightInfinitytSet(lbl_2_bss_A8); + light = &Hu3DGlobalLight[lbl_2_bss_A8]; + light->unk_00 |= 0x8000; + Hu3DCameraCreate(1); + camera = &Hu3DCamera[0]; + Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); + lbl_2_bss_114 = omAddObjEx(lbl_2_bss_1C, 1000, 3, 0, -1, fn_2_BD90); + lbl_2_bss_114->work[0] = 0; + lbl_2_bss_110 = omAddObjEx(lbl_2_bss_1C, 10, 0, 0, -1, fn_2_70C); + omMakeGroupEx(lbl_2_bss_1C, 0, 4); + lbl_2_bss_118 = omGetGroupMemberListEx(lbl_2_bss_1C, 0); + omMakeGroupEx(lbl_2_bss_1C, 1, 28); + for(i=0; i<4; i++) { + object = omAddObjEx(lbl_2_bss_1C, 1200, 4, 10, 0, fn_2_3B24); + object->work[0] = i; + } + lbl_2_bss_12C = 60; + lbl_2_bss_128 = 50; + lbl_2_bss_124 = 25000; + Hu3DShadowCreate(30, 20, 5000); + Hu3DShadowTPLvlSet(0.35f); + lbl_2_data_30.y = lbl_2_bss_60.y + 1500.0f; + lbl_2_data_30.z = lbl_2_bss_60.z + 500.0f; + lbl_2_data_48.y = lbl_2_bss_60.y; + lbl_2_data_48.z = lbl_2_bss_60.z + 500.0f; + Hu3DShadowPosSet(&lbl_2_data_30, &lbl_2_data_3C, &lbl_2_data_48); + lbl_2_bss_10C = omAddObjEx(lbl_2_bss_1C, 500, 12, 3, -1, fn_2_2FA4); + lbl_2_bss_108 = omAddObjEx(lbl_2_bss_1C, 1100, 1, 1, -1, fn_2_7CB4); + lbl_2_bss_100[0] = omAddObjEx(lbl_2_bss_1C, 1110, 1, 1, -1, fn_2_8E74); + lbl_2_bss_100[1] = omAddObjEx(lbl_2_bss_1C, 1110, 1, 1, -1, fn_2_8E74); + lbl_2_bss_FC = omAddObjEx(lbl_2_bss_1C, 1120, 1, 2, -1, fn_2_95E4); + lbl_2_bss_C8 = omAddObjEx(lbl_2_bss_1C, 100, 0, 0, -1, fn_2_D088); + lbl_2_bss_E0 = omAddObjEx(lbl_2_bss_1C, 1500, 0, 0, -1, fn_2_C1C); + fn_2_DBCC(90); + lbl_2_bss_F8 = omAddObjEx(lbl_2_bss_1C, 500, 9, 0, -1, fn_2_C6DC); + fn_2_9D00(lbl_2_bss_1C); + fn_2_1041C(); + fn_2_1079C(); + lbl_2_bss_F4 = fn_2_14640(lbl_2_bss_1C); + lbl_2_bss_50 = 0; + lbl_2_bss_54 = camera->pos; + Hu3DReflectNoSet(0); + lbl_2_bss_120 = 0; + lbl_2_bss_BE = 0; + lbl_2_bss_BA = 0; + Hu3DFogSet(3000, 10000, 10, 60, 160); + Hu3DBGColorSet(10, 60, 160); + lbl_2_bss_88 = 3000; + lbl_2_bss_84 = 142000; + lbl_2_bss_11C = HuAudFXPlay(1290); } void fn_2_70C(omObjData *object) { - s32 temp_r31; - M401WorkPlayer *temp_r30; - s16 temp_r29; - switch (lbl_2_bss_120) { - case 0: - break; - - case 1: - if (lbl_2_bss_BE == 1) { - lbl_2_bss_120 = 2; - lbl_2_bss_C0 = MGSeqFinishCreate(); - HuAudSeqFadeOut(lbl_2_bss_A4, 100); - } - break; - - case 2: - if (lbl_2_bss_114 == NULL) { - lbl_2_bss_114 = omAddObjEx(HuPrcCurrentGet(), 1000, 0, 0, -1, fn_2_C130); - lbl_2_bss_114->work[0] = 0; - temp_r29 = 0; - lbl_2_bss_BA = 0; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r30 = lbl_2_bss_118[temp_r31]->data; - lbl_2_bss_118[temp_r31]->func = fn_2_48A0; - temp_r30->unk0 = 5; - temp_r30->unk68 = 0; - if (temp_r30->unk72 > temp_r29) { - temp_r29 = temp_r30->unk72; - } - lbl_2_bss_B2[temp_r31] = -1; - lbl_2_bss_AA[temp_r31] = -1; - } - if (temp_r29 > 0) { - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r30 = lbl_2_bss_118[temp_r31]->data; - if (temp_r30->unk72 == temp_r29) { - lbl_2_bss_AA[lbl_2_bss_BA] = GWPlayerCfg[temp_r31].character; - lbl_2_bss_B2[lbl_2_bss_BA++] = temp_r31; - temp_r30->unk68 = 1; - } - } - } - OSReport("winnercnt:%d\n", lbl_2_bss_BA); - } - break; - } - if (omSysExitReq) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuAudSeqFadeOut(lbl_2_bss_A4, 100); - HuAudFXStop(lbl_2_bss_11C); - object->func = fn_2_A10; - } + s32 temp_r31; + M401WorkPlayer *temp_r30; + s16 temp_r29; + switch(lbl_2_bss_120) { + case 0: + break; + + case 1: + if(lbl_2_bss_BE == 1) { + lbl_2_bss_120 = 2; + lbl_2_bss_C0 = MGSeqFinishCreate(); + HuAudSeqFadeOut(lbl_2_bss_A4, 100); + } + break; + + case 2: + if(lbl_2_bss_114 == NULL) { + lbl_2_bss_114 = omAddObjEx(HuPrcCurrentGet(), 1000, 0, 0, -1, fn_2_C130); + lbl_2_bss_114->work[0] = 0; + temp_r29 = 0; + lbl_2_bss_BA = 0; + for(temp_r31=0; temp_r31<4; temp_r31++) { + temp_r30 = lbl_2_bss_118[temp_r31]->data; + lbl_2_bss_118[temp_r31]->func = fn_2_48A0; + temp_r30->unk0 = 5; + temp_r30->unk68 = 0; + if(temp_r30->unk72 > temp_r29) { + temp_r29 = temp_r30->unk72; + } + lbl_2_bss_B2[temp_r31] = -1; + lbl_2_bss_AA[temp_r31] = -1; + } + if(temp_r29 > 0) { + for(temp_r31=0; temp_r31<4; temp_r31++) { + temp_r30 = lbl_2_bss_118[temp_r31]->data; + if(temp_r30->unk72 == temp_r29) { + lbl_2_bss_AA[lbl_2_bss_BA] = GWPlayerCfg[temp_r31].character; + lbl_2_bss_B2[lbl_2_bss_BA++] = temp_r31; + temp_r30->unk68 = 1; + } + } + } + OSReport("winnercnt:%d\n", lbl_2_bss_BA); + } + break; + } + if(omSysExitReq) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + HuAudSeqFadeOut(lbl_2_bss_A4, 100); + HuAudFXStop(lbl_2_bss_11C); + object->func = fn_2_A10; + } } void fn_2_A10(omObjData *object) { - s32 i; - if (!WipeStatGet()) { - fn_2_10710(); - for (i = 0; i < 4; i++) { - CharModelKill(lbl_2_data_4[GWPlayerCfg[i].character]); - } - HuAudFXListnerKill(); - omOvlReturnEx(1, 1); - } + s32 i; + if(!WipeStatGet()) { + fn_2_10710(); + for(i=0; i<4; i++) { + CharModelKill(lbl_2_data_4[GWPlayerCfg[i].character]); + } + HuAudFXListnerKill(); + omOvlReturnEx(1, 1); + } } void fn_2_A98(void) { - Hu3DFogSet(3000, 10000, 10, 60, 160); - Hu3DBGColorSet(10, 60, 160); + Hu3DFogSet(3000, 10000, 10, 60, 160); + Hu3DBGColorSet(10, 60, 160); } typedef struct m401_work_2d { - s16 unk0[4]; - s16 unk8[4][3]; - u8 unk20[0x30]; - s16 unk50[4][3]; - s16 unk68[4][3]; - s16 unk80[4]; - s16 unk88[4]; - float unk90[4]; - float unkA0[4]; - float unkB0[4]; - float unkC0[4]; - float unkD0[4]; - float unkE0[4]; - float unkF0[4]; - float unk100[4]; - float unk110[4]; - float unk120[4]; - s16 unk130[4]; - s16 unk138[4]; - s16 unk140[4]; + s16 unk0[4]; + s16 unk8[4][3]; + u8 unk20[0x30]; + s16 unk50[4][3]; + s16 unk68[4][3]; + s16 unk80[4]; + s16 unk88[4]; + float unk90[4]; + float unkA0[4]; + float unkB0[4]; + float unkC0[4]; + float unkD0[4]; + float unkE0[4]; + float unkF0[4]; + float unk100[4]; + float unk110[4]; + float unk120[4]; + s16 unk130[4]; + s16 unk138[4]; + s16 unk140[4]; } M401Work2D; void fn_2_AEC(s16 arg0) { - M401Work2D *temp_r31; - s32 i; - s32 j; - temp_r31 = lbl_2_bss_E0->data; - if (arg0) { - for (i = 0; i < 4; i++) { - espDispOn(temp_r31->unk0[i]); - espDispOn(temp_r31->unk80[i]); - espDispOn(temp_r31->unk88[i]); - for (j = 0; j < 2; j++) { - espDispOn(temp_r31->unk8[i][j]); - } - } - } - else { - for (i = 0; i < 4; i++) { - espDispOff(temp_r31->unk0[i]); - espDispOff(temp_r31->unk80[i]); - espDispOff(temp_r31->unk88[i]); - for (j = 0; j < 2; j++) { - espDispOff(temp_r31->unk8[i][j]); - } - } - } + M401Work2D *temp_r31; + s32 i; + s32 j; + temp_r31 = lbl_2_bss_E0->data; + if(arg0) { + for(i=0; i<4; i++) { + espDispOn(temp_r31->unk0[i]); + espDispOn(temp_r31->unk80[i]); + espDispOn(temp_r31->unk88[i]); + for(j=0; j<2; j++) { + espDispOn(temp_r31->unk8[i][j]); + } + } + } else { + for(i=0; i<4; i++) { + espDispOff(temp_r31->unk0[i]); + espDispOff(temp_r31->unk80[i]); + espDispOff(temp_r31->unk88[i]); + for(j=0; j<2; j++) { + espDispOff(temp_r31->unk8[i][j]); + } + } + } } s32 lbl_2_data_80[] = { - DATA_MAKE_NUM(DATADIR_MGCONST, 0x00), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x01), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x02), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x03), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x04), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x05), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x06), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x07), + 0x610000, + 0x610001, + 0x610002, + 0x610003, + 0x610004, + 0x610005, + 0x610006, + 0x610007 }; -#define PLAYER_POS_X(index, left, width) ((((index)&1) * width) + left) -#define PLAYER_POS_Y(index, top, height) ((((index) > 1) * height) + top) +#define PLAYER_POS_X(index, left, width) ((((index)&1)*width)+left) +#define PLAYER_POS_Y(index, top, height) ((((index)>1)*height)+top) void fn_2_C1C(omObjData *object) { - M401Work2D *temp_r31; - s32 i; - s32 j; - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M401Work2D), MEMORY_DEFAULT_NUM); - temp_r31 = object->data; - for (i = 0; i < 4; i++) { - temp_r31->unk0[i] = espEntry(lbl_2_data_80[GWPlayerCfg[i].character], 2, 0); - espDispOff(temp_r31->unk0[i]); - espDrawNoSet(temp_r31->unk0[i], 0); - espPosSet(temp_r31->unk0[i], PLAYER_POS_X(i, 37, 438), PLAYER_POS_Y(i, 59, 358)); - temp_r31->unk80[i] = espEntry(DATA_MAKE_NUM(DATADIR_M401, 0x2F), 3, 0); - espDispOff(temp_r31->unk80[i]); - espDrawNoSet(temp_r31->unk80[i], 0); - espPosSet(temp_r31->unk80[i], PLAYER_POS_X(i, 73, 438), PLAYER_POS_Y(i, 61, 358)); - temp_r31->unk88[i] = espEntry(DATA_MAKE_NUM(DATADIR_M401, 0x30), 4, 0); - espDispOff(temp_r31->unk88[i]); - espDrawNoSet(temp_r31->unk88[i], 0); - espPosSet(temp_r31->unk88[i], PLAYER_POS_X(i, 73, 438), PLAYER_POS_Y(i, 61, 358)); - espColorSet(temp_r31->unk88[i], 0, 0, 0); - espTPLvlSet(temp_r31->unk88[i], 0.5f); - for (j = 0; j < 2; j++) { - temp_r31->unk8[i][j] = espEntry(DATA_MAKE_NUM(DATADIR_M401, 0x2E), 1, 0); - espDispOff(temp_r31->unk8[i][j]); - espDrawNoSet(temp_r31->unk8[i][j], 0); - espPosSet(temp_r31->unk8[i][j], PLAYER_POS_X(i, 69 + (j * 20), 438), PLAYER_POS_Y(i, 63, 358)); - espAttrSet(temp_r31->unk8[i][j], HUSPR_ATTR_NOANIM); - } - for (j = 0; j < 3; j++) { - temp_r31->unk50[i][j] = espEntry(DATA_MAKE_NUM(DATADIR_M401, 0x2D), 0, 0); - espDispOff(temp_r31->unk50[i][j]); - espDrawNoSet(temp_r31->unk50[i][j], 0); - espAttrSet(temp_r31->unk50[i][j], HUSPR_ATTR_NOANIM); - temp_r31->unk68[i][j] = espEntry(DATA_MAKE_NUM(DATADIR_M401, 0x2D), 0, 0); - espDispOff(temp_r31->unk68[i][j]); - espDrawNoSet(temp_r31->unk68[i][j], 0); - espAttrSet(temp_r31->unk68[i][j], HUSPR_ATTR_NOANIM); - } - espBankSet(temp_r31->unk50[i][0], 10); - espBankSet(temp_r31->unk68[i][0], 11); - temp_r31->unk90[i] = 1.0f; - temp_r31->unkA0[i] = 1.0f; - temp_r31->unk130[i] = 0; - temp_r31->unk138[i] = 0; - } - object->func = fn_2_11D0; + M401Work2D *temp_r31; + s32 i; + s32 j; + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M401Work2D), MEMORY_DEFAULT_NUM); + temp_r31 = object->data; + for(i=0; i<4; i++) { + temp_r31->unk0[i] = espEntry(lbl_2_data_80[GWPlayerCfg[i].character], 2, 0); + espDispOff(temp_r31->unk0[i]); + espDrawNoSet(temp_r31->unk0[i], 0); + espPosSet(temp_r31->unk0[i], PLAYER_POS_X(i, 37, 438), PLAYER_POS_Y(i, 59, 358)); + temp_r31->unk80[i] = espEntry(0x20002F, 3, 0); + espDispOff(temp_r31->unk80[i]); + espDrawNoSet(temp_r31->unk80[i], 0); + espPosSet(temp_r31->unk80[i], PLAYER_POS_X(i, 73, 438), PLAYER_POS_Y(i, 61, 358)); + temp_r31->unk88[i] = espEntry(0x200030, 4, 0); + espDispOff(temp_r31->unk88[i]); + espDrawNoSet(temp_r31->unk88[i], 0); + espPosSet(temp_r31->unk88[i], PLAYER_POS_X(i, 73, 438), PLAYER_POS_Y(i, 61, 358)); + espColorSet(temp_r31->unk88[i], 0, 0, 0); + espTPLvlSet(temp_r31->unk88[i], 0.5f); + for(j=0; j<2; j++) { + temp_r31->unk8[i][j] = espEntry(0x20002E, 1, 0); + espDispOff(temp_r31->unk8[i][j]); + espDrawNoSet(temp_r31->unk8[i][j], 0); + espPosSet(temp_r31->unk8[i][j], PLAYER_POS_X(i, 69+(j*20), 438), PLAYER_POS_Y(i, 63, 358)); + espAttrSet(temp_r31->unk8[i][j], HUSPR_ATTR_NOANIM); + } + for(j=0; j<3; j++) { + temp_r31->unk50[i][j] = espEntry(0x20002D, 0, 0); + espDispOff(temp_r31->unk50[i][j]); + espDrawNoSet(temp_r31->unk50[i][j], 0); + espAttrSet(temp_r31->unk50[i][j], HUSPR_ATTR_NOANIM); + temp_r31->unk68[i][j] = espEntry(0x20002D, 0, 0); + espDispOff(temp_r31->unk68[i][j]); + espDrawNoSet(temp_r31->unk68[i][j], 0); + espAttrSet(temp_r31->unk68[i][j], HUSPR_ATTR_NOANIM); + } + espBankSet(temp_r31->unk50[i][0], 10); + espBankSet(temp_r31->unk68[i][0], 11); + temp_r31->unk90[i] = 1.0f; + temp_r31->unkA0[i] = 1.0f; + temp_r31->unk130[i] = 0; + temp_r31->unk138[i] = 0; + } + object->func = fn_2_11D0; } void fn_2_15C4(s16 arg0); void fn_2_11D0(omObjData *object) { - M401Work2D *temp_r31; - s32 i; - s32 j; - omObjData *temp_r28; - Vec sp18; - Vec spC; - M401WorkPlayer *sp8; - temp_r31 = object->data; - for (i = 0; i < 4; i++) { - sp8 = lbl_2_bss_118[i]->data; - if (temp_r31->unk130[i]) { - temp_r28 = lbl_2_bss_118[i]; - sp18.x = temp_r28->trans.x; - sp18.y = temp_r28->trans.y; - sp18.z = temp_r28->trans.z; - fn_2_10240(&sp18, &spC); - for (j = 0; j < 3; j++) { - espPosSet(temp_r31->unk50[i][j], (-20.0f + spC.x + temp_r31->unkF0[i]) + (j * 16), 20.0f + spC.y + temp_r31->unk100[i]); - espTPLvlSet(temp_r31->unk50[i][j], temp_r31->unk90[i]); - } - temp_r31->unkC0[i] -= 0.5f; - temp_r31->unk100[i] -= 1.0f; - if (temp_r31->unk130[i] < 15) { - temp_r31->unk90[i] -= 1.0f / 15.0f; - } - if (--temp_r31->unk130[i] == 0) { - espDispOff(temp_r31->unk50[i][0]); - espDispOff(temp_r31->unk50[i][1]); - } - } - if (temp_r31->unk138[i]) { - temp_r28 = lbl_2_bss_118[i]; - sp18.x = temp_r28->trans.x; - sp18.y = temp_r28->trans.y; - sp18.z = temp_r28->trans.z; - fn_2_10240(&sp18, &spC); - for (j = 0; j < 2; j++) { - espPosSet(temp_r31->unk68[i][j], (-20.0f + spC.x + temp_r31->unk110[i]) + (j * 16), -20.0f + spC.y + temp_r31->unk120[i]); - espTPLvlSet(temp_r31->unk68[i][j], temp_r31->unkA0[i]); - } - temp_r31->unkE0[i] += 0.5f; - temp_r31->unk120[i] += 1.0f; - if (temp_r31->unk138[i] < 15) { - temp_r31->unkA0[i] -= 1.0f / 15.0f; - } - if (--temp_r31->unk138[i] == 0) { - espDispOff(temp_r31->unk68[i][0]); - espDispOff(temp_r31->unk68[i][1]); - } - } - fn_2_15C4(i); - } + M401Work2D *temp_r31; + s32 i; + s32 j; + omObjData *temp_r28; + Vec sp18; + Vec spC; + M401WorkPlayer *sp8; + temp_r31 = object->data; + for(i=0; i<4; i++) { + sp8 = lbl_2_bss_118[i]->data; + if(temp_r31->unk130[i]) { + temp_r28 = lbl_2_bss_118[i]; + sp18.x = temp_r28->trans.x; + sp18.y = temp_r28->trans.y; + sp18.z = temp_r28->trans.z; + fn_2_10240(&sp18, &spC); + for(j=0; j<3; j++) { + espPosSet(temp_r31->unk50[i][j], (-20.0f+spC.x+temp_r31->unkF0[i])+(j*16), 20.0f+spC.y+temp_r31->unk100[i]); + espTPLvlSet(temp_r31->unk50[i][j], temp_r31->unk90[i]); + } + temp_r31->unkC0[i] -= 0.5f; + temp_r31->unk100[i] -= 1.0f; + if(temp_r31->unk130[i] < 15) { + temp_r31->unk90[i] -= 1.0f/15.0f; + } + if(--temp_r31->unk130[i] == 0) { + espDispOff(temp_r31->unk50[i][0]); + espDispOff(temp_r31->unk50[i][1]); + } + } + if(temp_r31->unk138[i]) { + temp_r28 = lbl_2_bss_118[i]; + sp18.x = temp_r28->trans.x; + sp18.y = temp_r28->trans.y; + sp18.z = temp_r28->trans.z; + fn_2_10240(&sp18, &spC); + for(j=0; j<2; j++) { + espPosSet(temp_r31->unk68[i][j], (-20.0f+spC.x+temp_r31->unk110[i])+(j*16), -20.0f+spC.y+temp_r31->unk120[i]); + espTPLvlSet(temp_r31->unk68[i][j], temp_r31->unkA0[i]); + } + temp_r31->unkE0[i] += 0.5f; + temp_r31->unk120[i] += 1.0f; + if(temp_r31->unk138[i] < 15) { + temp_r31->unkA0[i] -= 1.0f/15.0f; + } + if(--temp_r31->unk138[i] == 0) { + espDispOff(temp_r31->unk68[i][0]); + espDispOff(temp_r31->unk68[i][1]); + } + } + fn_2_15C4(i); + } } void fn_2_15C4(s16 arg0) { - M401Work2D *temp_r31; - s32 temp_r30; - M401WorkPlayer *temp_r29; - temp_r31 = lbl_2_bss_E0->data; - temp_r29 = lbl_2_bss_118[arg0]->data; - temp_r30 = temp_r29->unk72; - espBankSet(temp_r31->unk8[arg0][0], temp_r30 / 10); - espBankSet(temp_r31->unk8[arg0][1], temp_r30 % 10); + M401Work2D *temp_r31; + s32 temp_r30; + M401WorkPlayer *temp_r29; + temp_r31 = lbl_2_bss_E0->data; + temp_r29 = lbl_2_bss_118[arg0]->data; + temp_r30 = temp_r29->unk72; + espBankSet(temp_r31->unk8[arg0][0], temp_r30/10); + espBankSet(temp_r31->unk8[arg0][1], temp_r30%10); } void fn_2_169C(s16 arg0) { - M401Work2D *temp_r31; - s32 i; - M401WorkPlayer *temp_r28; - temp_r31 = lbl_2_bss_E0->data; - temp_r28 = lbl_2_bss_118[arg0]->data; - for (i = 0; i < 2; i++) { - espDispOn(temp_r31->unk50[arg0][i]); - } - temp_r31->unk90[arg0] = 1; - temp_r31->unkC0[arg0] = PLAYER_POS_Y(arg0, 52, 398); - temp_r31->unkB0[arg0] = PLAYER_POS_X(arg0, 41, 442); - temp_r31->unk100[arg0] = 0; - temp_r31->unkF0[arg0] = 0; - espBankSet(temp_r31->unk50[arg0][1], temp_r28->unk74); - temp_r31->unk130[arg0] = 45; + M401Work2D *temp_r31; + s32 i; + M401WorkPlayer *temp_r28; + temp_r31 = lbl_2_bss_E0->data; + temp_r28 = lbl_2_bss_118[arg0]->data; + for(i=0; i<2; i++ ){ + espDispOn(temp_r31->unk50[arg0][i]); + } + temp_r31->unk90[arg0] = 1; + temp_r31->unkC0[arg0] = PLAYER_POS_Y(arg0, 52, 398); + temp_r31->unkB0[arg0] = PLAYER_POS_X(arg0, 41, 442); + temp_r31->unk100[arg0] = 0; + temp_r31->unkF0[arg0] = 0; + espBankSet(temp_r31->unk50[arg0][1], temp_r28->unk74); + temp_r31->unk130[arg0] = 45; } void fn_2_1858(s16 arg0, s16 arg1) { - M401Work2D *temp_r31; - M401WorkPlayer *temp_r29; - s32 i; - temp_r31 = lbl_2_bss_E0->data; - temp_r29 = lbl_2_bss_118[arg0]->data; - for (i = 0; i < 2; i++) { - espDispOn(temp_r31->unk68[arg0][i]); - } - temp_r31->unkA0[arg0] = 1; - temp_r31->unkE0[arg0] = PLAYER_POS_Y(arg0, 20, 398); - temp_r31->unkD0[arg0] = PLAYER_POS_X(arg0, 41, 442); - temp_r31->unk120[arg0] = 0; - temp_r31->unk110[arg0] = 0; - espBankSet(temp_r31->unk68[arg0][1], arg1); - temp_r31->unk138[arg0] = 45; - temp_r31->unk140[arg0] = arg1; - temp_r29->unk72 -= arg1; - if (temp_r29->unk72 < 0) { - temp_r29->unk72 = 0; - } + M401Work2D *temp_r31; + M401WorkPlayer *temp_r29; + s32 i; + temp_r31 = lbl_2_bss_E0->data; + temp_r29 = lbl_2_bss_118[arg0]->data; + for(i=0; i<2; i++ ){ + espDispOn(temp_r31->unk68[arg0][i]); + } + temp_r31->unkA0[arg0] = 1; + temp_r31->unkE0[arg0] = PLAYER_POS_Y(arg0, 20, 398); + temp_r31->unkD0[arg0] = PLAYER_POS_X(arg0, 41, 442); + temp_r31->unk120[arg0] = 0; + temp_r31->unk110[arg0] = 0; + espBankSet(temp_r31->unk68[arg0][1], arg1); + temp_r31->unk138[arg0] = 45; + temp_r31->unk140[arg0] = arg1; + temp_r29->unk72 -= arg1; + if(temp_r29->unk72 < 0) { + temp_r29->unk72 = 0; + } } -float lbl_2_data_A0[] = { -500, -8500, -17500, -26500, -99000 }; +float lbl_2_data_A0[] = { + -500, + -8500, + -17500, + -26500, + -99000 +}; -float lbl_2_data_B4[] = { -9100, -18100, -27100, -36100, -45100, -100000 }; +float lbl_2_data_B4[] = { + -9100, + -18100, + -27100, + -36100, + -45100, + -100000 +}; void fn_2_1A38(omObjData *object); void fn_2_1B80(omObjData *object); @@ -485,19 +514,36 @@ void fn_2_2DCC(omObjData *object); void fn_2_2E20(omObjData *object); void fn_2_2ED0(omObjData *object); -omObjFunc lbl_2_data_CC[][2] = { fn_2_1A38, fn_2_2CBC, fn_2_1B80, fn_2_2D64, fn_2_1CF0, fn_2_2DCC, fn_2_1DE8, fn_2_2E20, fn_2_20B0, fn_2_2ED0 }; +omObjFunc lbl_2_data_CC[][2] = { + fn_2_1A38, + fn_2_2CBC, + fn_2_1B80, + fn_2_2D64, + fn_2_1CF0, + fn_2_2DCC, + fn_2_1DE8, + fn_2_2E20, + fn_2_20B0, + fn_2_2ED0 +}; -char *lbl_2_data_124[] = { "kaitei01", "kaitei02", "kaitei03", "kaitei04", "kaitei05" }; +char *lbl_2_data_124[] = { + "kaitei01", + "kaitei02", + "kaitei03", + "kaitei04", + "kaitei05" +}; s32 lbl_2_data_138[] = { - DATA_MAKE_NUM(DATADIR_MARIO, 0x02), - DATA_MAKE_NUM(DATADIR_MARIO, 0x02), - DATA_MAKE_NUM(DATADIR_MARIO, 0x02), - DATA_MAKE_NUM(DATADIR_MARIO, 0x02), - DATA_MAKE_NUM(DATADIR_MARIO, 0x02), - DATA_MAKE_NUM(DATADIR_MARIO, 0x02), - DATA_MAKE_NUM(DATADIR_MARIO, 0x02), - DATA_MAKE_NUM(DATADIR_MARIO, 0x02), + 0x5C0002, + 0x5C0002, + 0x5C0002, + 0x5C0002, + 0x5C0002, + 0x5C0002, + 0x5C0002, + 0x5C0002, }; omObjData *fn_2_FC40(s16 arg0, Vec *arg1, Vec *arg2, Vec *arg3); @@ -505,617 +551,604 @@ void fn_2_E6BC(omObjData *object, float arg2, float arg3, float arg4, float arg5 void fn_2_1A38(omObjData *object) { - Vec sp20; - Vec sp14; - Vec sp8; - HsfObject *temp_r31 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[0]); - omObjData *temp_r30; - temp_r31->type = 2; - sp20.x = -2500; - sp20.y = 150; - sp20.z = -6800; - sp14.x = 50; - sp14.y = 50; - sp14.z = 50; - sp8.x = 1500; - sp8.y = 150; - sp8.z = -4800; - temp_r30 = fn_2_FC40(18, &sp20, &sp14, &sp8); - fn_2_E6BC((omObjData *)temp_r30->work[0], 5, 1.5, 0.2, 0.8, 3); + Vec sp20; + Vec sp14; + Vec sp8; + HsfObject *temp_r31 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[0]); + omObjData *temp_r30; + temp_r31->type = 2; + sp20.x = -2500; + sp20.y = 150; + sp20.z = -6800; + sp14.x = 50; + sp14.y = 50; + sp14.z = 50; + sp8.x = 1500; + sp8.y = 150; + sp8.z = -4800; + temp_r30 = fn_2_FC40(18, &sp20, &sp14, &sp8); + fn_2_E6BC((omObjData *)temp_r30->work[0], 5, 1.5, 0.2, 0.8, 3); } void fn_2_1B80(omObjData *object) { - Vec sp14; - Vec sp8; - omObjData *temp_r31; - HsfObject *temp_r30 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[1]); - temp_r30->type = 2; - sp14.x = -1000; - sp14.y = 0; - sp14.z = -9100; - sp8.x = 150; - sp8.y = 100; - sp8.z = 100; - temp_r31 = fn_2_FC40(14, &sp14, &sp8, &sp14); - omSetRot(temp_r31, 3, 0, 0); - omSetSca(temp_r31, 0, 0, 50); - fn_2_E6BC((omObjData *)temp_r31->work[0], 4.5, 2.5, 0.08, 0.9, 1); + Vec sp14; + Vec sp8; + omObjData *temp_r31; + HsfObject *temp_r30 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[1]); + temp_r30->type = 2; + sp14.x = -1000; + sp14.y = 0; + sp14.z = -9100; + sp8.x = 150; + sp8.y = 100; + sp8.z = 100; + temp_r31 = fn_2_FC40(14, &sp14, &sp8, &sp14); + omSetRot(temp_r31, 3, 0, 0); + omSetSca(temp_r31, 0, 0, 50); + fn_2_E6BC((omObjData *)temp_r31->work[0], 4.5, 2.5, 0.08, 0.9, 1); } void fn_2_1CF0(omObjData *object) { - Vec sp20; - Vec sp14; - Vec sp8; - HsfObject *temp_r31 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[2]); - temp_r31->type = 2; - sp20.x = 500; - sp20.y = 0; - sp20.z = -24300; - sp14.x = 200; - sp14.y = 100; - sp14.z = 100; - sp8.x = 1000; - sp8.y = 0; - sp8.z = -16300; - fn_2_FC40(40, &sp20, &sp14, &sp8); + Vec sp20; + Vec sp14; + Vec sp8; + HsfObject *temp_r31 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[2]); + temp_r31->type = 2; + sp20.x = 500; + sp20.y = 0; + sp20.z = -24300; + sp14.x = 200; + sp14.y = 100; + sp14.z = 100; + sp8.x = 1000; + sp8.y = 0; + sp8.z = -16300; + fn_2_FC40(40, &sp20, &sp14, &sp8); } void fn_2_91AC(omObjData *object, Vec *pos); void fn_2_1DE8(omObjData *object) { - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - omObjData *temp_r31; - HsfObject *temp_r30 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[3]); - temp_r30->type = 2; - sp2C.x = 0; - sp2C.y = -150.0f + ((1.0f / 255.0f) * (300.0f * frandu8())); - sp2C.z = -23000; - fn_2_91AC(lbl_2_bss_100[0], &sp2C); - sp2C.x = 0; - sp2C.y = -150.0f + ((1.0f / 255.0f) * (300.0f * frandu8())); - sp2C.z = -25000; - fn_2_91AC(lbl_2_bss_100[1], &sp2C); - sp2C.x = 5500; - sp2C.y = 0; - sp2C.z = -29800; - sp20.x = 100; - sp20.y = 100; - sp20.z = 100; - sp14.x = -1500; - sp14.y = 0; - sp14.z = -24900; - temp_r31 = fn_2_FC40(20, &sp2C, &sp20, &sp14); - fn_2_E6BC((omObjData *)temp_r31->work[0], 6, 1.5f, 0.2f, 0.8f, 3.5f); - sp8.x = -650; - sp8.y = -360; - sp8.z = -26300; - lbl_2_bss_D0 = fn_2_10A88(&sp8, 3); - lbl_2_bss_90[0] = HuAudFXEmiterPlay(1291, &sp8); + Vec sp2C; + Vec sp20; + Vec sp14; + Vec sp8; + omObjData *temp_r31; + HsfObject *temp_r30 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[3]); + temp_r30->type = 2; + sp2C.x = 0; + sp2C.y = -150.0f+((1.0f/255.0f)*(300.0f*frandu8())); + sp2C.z = -23000; + fn_2_91AC(lbl_2_bss_100[0], &sp2C); + sp2C.x = 0; + sp2C.y = -150.0f+((1.0f/255.0f)*(300.0f*frandu8())); + sp2C.z = -25000; + fn_2_91AC(lbl_2_bss_100[1], &sp2C); + sp2C.x = 5500; + sp2C.y = 0; + sp2C.z = -29800; + sp20.x = 100; + sp20.y = 100; + sp20.z = 100; + sp14.x = -1500; + sp14.y = 0; + sp14.z = -24900; + temp_r31 = fn_2_FC40(20, &sp2C, &sp20, &sp14); + fn_2_E6BC((omObjData *)temp_r31->work[0], 6, 1.5f, 0.2f, 0.8f, 3.5f); + sp8.x = -650; + sp8.y = -360; + sp8.z = -26300; + lbl_2_bss_D0 = fn_2_10A88(&sp8, 3); + lbl_2_bss_90[0] = HuAudFXEmiterPlay(1291, &sp8); } void fn_2_20B0(omObjData *object) { - Vec sp8; - HsfObject *temp_r30 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[4]); - temp_r30->type = 2; - Hu3DModelAttrReset(object->model[7], HU3D_ATTR_DISPOFF); - sp8.x = 0; - sp8.y = -370; - sp8.z = -43000; - lbl_2_bss_8 = fn_2_10A88(&sp8, 3); - lbl_2_bss_90[1] = HuAudFXEmiterPlay(1291, &sp8); - sp8.x = 380; - sp8.y = -440; - sp8.z = -32000; - lbl_2_bss_CC = fn_2_10A88(&sp8, 3); - lbl_2_bss_90[2] = HuAudFXEmiterPlay(1291, &sp8); - Hu3DModelAttrReset(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[2], HU3D_CLUSTER_ATTR_LOOP); + Vec sp8; + HsfObject *temp_r30 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[4]); + temp_r30->type = 2; + Hu3DModelAttrReset(object->model[7], 1); + sp8.x = 0; + sp8.y = -370; + sp8.z = -43000; + lbl_2_bss_8 = fn_2_10A88(&sp8, 3); + lbl_2_bss_90[1] = HuAudFXEmiterPlay(1291, &sp8); + sp8.x = 380; + sp8.y = -440; + sp8.z = -32000; + lbl_2_bss_CC = fn_2_10A88(&sp8, 3); + lbl_2_bss_90[2] = HuAudFXEmiterPlay(1291, &sp8); + Hu3DModelAttrReset(object->model[2], 1); + Hu3DModelAttrSet(object->model[2], 0xC0000001); } void fn_2_21F8(omObjData *object) { - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - s32 temp_r30; - HsfObject *temp_r29 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[0]); - s32 temp_r28; - temp_r29->type = 2; - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(object->model[1], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(object->model[3], HU3D_ATTR_DISPOFF); - lbl_2_bss_44.x = 0; - lbl_2_bss_44.y = 100; - lbl_2_bss_44.z = 0; - lbl_2_bss_38.x = 0; - lbl_2_bss_38.y = 1000; - lbl_2_bss_38.z = -1500; - lbl_2_bss_2C.x = 0; - lbl_2_bss_2C.y = 1; - lbl_2_bss_2C.z = 0; - Hu3DCameraPosSetV(1, &lbl_2_bss_44, &lbl_2_bss_2C, &lbl_2_bss_38); - Hu3DCameraPerspectiveSet(1, lbl_2_bss_12C, lbl_2_bss_128, lbl_2_bss_124, 1.2f); - lbl_2_bss_54 = lbl_2_bss_44; - fn_2_D088(NULL); - sp20 = lbl_2_bss_44; - VECSubtract(&lbl_2_bss_38, &lbl_2_bss_44, &sp2C); - VECNormalize(&sp2C, &sp2C); - HuAudFXListnerSetEX(&sp20, &sp2C, lbl_2_bss_88, lbl_2_bss_84, 300, 300, 300); - sp14.x = 300; - sp14.y = -450; - sp14.z = -3100; - lbl_2_bss_D8 = fn_2_10A88(&sp14, 3); - lbl_2_bss_90[0] = HuAudFXEmiterPlay(1291, &sp14); - sp14.x = -300; - sp14.y = -340; - sp14.z = -4720; - lbl_2_bss_D4 = fn_2_10A88(&sp14, 3); - lbl_2_bss_90[1] = HuAudFXEmiterPlay(1291, &sp14); - Hu3DModelAttrReset(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[2], HU3D_CLUSTER_ATTR_LOOP); - temp_r28 = 4; - for (temp_r30 = 0; temp_r30 < temp_r28; temp_r30++) { - sp8.x = -340.0f + ((1.0f / 255.0f) * (680.0f * frandu8())); - sp8.y = -250.0f + ((1.0f / 255.0f) * (500.0f * frandu8())); - sp8.z = ((-1550.0f - (temp_r30 * 260)) - 40.0f) + ((1.0f / 255.0f) * (80.0f * frandu8())); - fn_2_10A88(&sp8, 0); - } + Vec sp2C; + Vec sp20; + Vec sp14; + Vec sp8; + s32 temp_r30; + HsfObject *temp_r29 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[0]); + s32 temp_r28; + temp_r29->type = 2; + Hu3DModelAttrReset(object->model[0], 1); + Hu3DModelAttrReset(object->model[1], 1); + Hu3DModelAttrSet(object->model[0], 0x40000001); + Hu3DModelAttrSet(object->model[1], 0x40000001); + Hu3DModelAttrReset(object->model[3], 1); + lbl_2_bss_44.x = 0; + lbl_2_bss_44.y = 100; + lbl_2_bss_44.z = 0; + lbl_2_bss_38.x = 0; + lbl_2_bss_38.y = 1000; + lbl_2_bss_38.z = -1500; + lbl_2_bss_2C.x = 0; + lbl_2_bss_2C.y = 1; + lbl_2_bss_2C.z = 0; + Hu3DCameraPosSetV(1, &lbl_2_bss_44, &lbl_2_bss_2C, &lbl_2_bss_38); + Hu3DCameraPerspectiveSet(1, lbl_2_bss_12C, lbl_2_bss_128, lbl_2_bss_124, 1.2f); + lbl_2_bss_54 = lbl_2_bss_44; + fn_2_D088(NULL); + sp20 = lbl_2_bss_44; + VECSubtract(&lbl_2_bss_38, &lbl_2_bss_44, &sp2C); + VECNormalize(&sp2C, &sp2C); + HuAudFXListnerSetEX(&sp20, &sp2C, lbl_2_bss_88, lbl_2_bss_84, 300, 300, 300); + sp14.x = 300; + sp14.y = -450; + sp14.z = -3100; + lbl_2_bss_D8 = fn_2_10A88(&sp14, 3); + lbl_2_bss_90[0] = HuAudFXEmiterPlay(1291, &sp14); + sp14.x = -300; + sp14.y = -340; + sp14.z = -4720; + lbl_2_bss_D4 = fn_2_10A88(&sp14, 3); + lbl_2_bss_90[1] = HuAudFXEmiterPlay(1291, &sp14); + Hu3DModelAttrReset(object->model[2], 1); + Hu3DModelAttrSet(object->model[2], 0xC0000001); + temp_r28 = 4; + for(temp_r30=0; temp_r30model[4], HU3D_ATTR_DISPOFF); - Hu3DModelClusterAttrSet(object->model[4], 0, 0xC0000001); - Hu3DModelAttrReset(object->model[8], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[8], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(object->model[4], HU3D_MOTATTR_LOOP); - Hu3DModelShadowMapSet(object->model[4]); - Hu3DModelAttrReset(object->model[5], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(object->model[4], 0, 0, 0); - Hu3DModelAmbSet(object->model[4], 1, 1, 1); - Hu3DModelPosSet(object->model[5], 0, 0, 0); - Hu3DModelPosSet(object->model[6], 0, 0, 0); - temp_r30 = lbl_2_bss_10C->data; - if (lbl_2_bss_BA) { - temp_r30->unk14[0].x = 210; - temp_r30->unk14[0].y = 1018; - temp_r30->unk14[0].z = 0; - temp_r30->unk14[1].x = -160; - temp_r30->unk14[1].y = 1020; - temp_r30->unk14[1].z = -50; - for (temp_r29 = 0; temp_r29 < 2; temp_r29++) { - Hu3DModelPosSet(object->model[temp_r29 + 9], temp_r30->unk14[temp_r29].x, temp_r30->unk14[temp_r29].y, temp_r30->unk14[temp_r29].z); - Hu3DModelAttrReset(object->model[temp_r29 + 9], HU3D_ATTR_DISPOFF); - } - Hu3DMotionSet(object->model[10], object->motion[0]); - Hu3DMotionSet(object->model[9], object->motion[2]); - } - else { - temp_r30->unk14[0].x = 210; - temp_r30->unk14[0].y = 1018; - temp_r30->unk14[0].z = 0; - temp_r30->unk14[1].x = -160; - temp_r30->unk14[1].y = 1020; - temp_r30->unk14[1].z = -50; - for (temp_r29 = 0; temp_r29 < 2; temp_r29++) { - Hu3DModelPosSet(object->model[temp_r29 + 9], temp_r30->unk14[temp_r29].x, temp_r30->unk14[temp_r29].y, temp_r30->unk14[temp_r29].z); - Hu3DModelAttrReset(object->model[temp_r29 + 9], HU3D_ATTR_DISPOFF); - } - Hu3DMotionSet(object->model[10], object->motion[1]); - Hu3DMotionSet(object->model[9], object->motion[2]); - } - Hu3DModelAttrSet(object->model[9], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(object->model[10], HU3D_MOTATTR_LOOP); - Hu3DModelRotSet(object->model[9], 0, 90, 0); - Hu3DModelPosSet(object->model[11], 210, 1018, 0); - Hu3DModelRotSet(object->model[11], 0, 90, 0); - Hu3DModelAttrReset(object->model[11], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[11], HU3D_MOTATTR_LOOP); - sp2C.x = 0; - sp2C.y = 1300; - sp2C.z = 1300; - sp20.x = 0; - sp20.y = 920; - sp20.z = -100; - sp14.x = 0; - sp14.y = 1; - sp14.z = 0; - Hu3DCameraPosSetV(1, &sp2C, &sp14, &sp20); - lbl_2_bss_12C = 45; - Hu3DShadowData.unk_08.x = lbl_2_bss_12C; - MTXLightPerspective(Hu3DShadowData.unk_68, lbl_2_bss_12C, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); - Hu3DCameraPerspectiveSet(1, lbl_2_bss_12C, lbl_2_bss_128, lbl_2_bss_124, 1.2f); - VECSubtract(&sp20, &sp2C, &sp8); - VECNormalize(&sp8, &sp8); - HuAudFXListnerUpdate(&sp2C, &sp8); + Vec sp2C; + Vec sp20; + Vec sp14; + Vec sp8; + Work2FA4 *temp_r30; + s32 temp_r29; + Hu3DModelAttrReset(object->model[4], 1); + Hu3DModelClusterAttrSet(object->model[4], 0, 0xC0000001); + Hu3DModelAttrReset(object->model[8], 1); + Hu3DModelAttrSet(object->model[8], 0x40000001); + Hu3DModelAttrSet(object->model[4], 0x40000001); + Hu3DModelShadowMapSet(object->model[4]); + Hu3DModelAttrReset(object->model[5], 1); + Hu3DModelPosSet(object->model[4], 0, 0, 0); + Hu3DModelAmbSet(object->model[4], 1, 1, 1); + Hu3DModelPosSet(object->model[5], 0, 0, 0); + Hu3DModelPosSet(object->model[6], 0, 0, 0); + temp_r30 = lbl_2_bss_10C->data; + if(lbl_2_bss_BA) { + temp_r30->unk14[0].x = 210; + temp_r30->unk14[0].y = 1018; + temp_r30->unk14[0].z = 0; + temp_r30->unk14[1].x = -160; + temp_r30->unk14[1].y = 1020; + temp_r30->unk14[1].z = -50; + for(temp_r29=0; temp_r29<2; temp_r29++) { + Hu3DModelPosSet(object->model[temp_r29+9], temp_r30->unk14[temp_r29].x, temp_r30->unk14[temp_r29].y, temp_r30->unk14[temp_r29].z); + Hu3DModelAttrReset(object->model[temp_r29+9], 1); + } + Hu3DMotionSet(object->model[10], object->motion[0]); + Hu3DMotionSet(object->model[9], object->motion[2]); + } else { + temp_r30->unk14[0].x = 210; + temp_r30->unk14[0].y = 1018; + temp_r30->unk14[0].z = 0; + temp_r30->unk14[1].x = -160; + temp_r30->unk14[1].y = 1020; + temp_r30->unk14[1].z = -50; + for(temp_r29=0; temp_r29<2; temp_r29++) { + Hu3DModelPosSet(object->model[temp_r29+9], temp_r30->unk14[temp_r29].x, temp_r30->unk14[temp_r29].y, temp_r30->unk14[temp_r29].z); + Hu3DModelAttrReset(object->model[temp_r29+9], 1); + } + Hu3DMotionSet(object->model[10], object->motion[1]); + Hu3DMotionSet(object->model[9], object->motion[2]); + } + Hu3DModelAttrSet(object->model[9], 0x40000001); + Hu3DModelAttrSet(object->model[10], 0x40000001); + Hu3DModelRotSet(object->model[9], 0, 90, 0); + Hu3DModelPosSet(object->model[11], 210, 1018, 0); + Hu3DModelRotSet(object->model[11], 0, 90, 0); + Hu3DModelAttrReset(object->model[11], 1); + Hu3DModelAttrSet(object->model[11], 0x40000001); + sp2C.x = 0; + sp2C.y = 1300; + sp2C.z = 1300; + sp20.x = 0; + sp20.y = 920; + sp20.z = -100; + sp14.x = 0; + sp14.y = 1; + sp14.z = 0; + Hu3DCameraPosSetV(1, &sp2C, &sp14, &sp20); + lbl_2_bss_12C = 45; + Hu3DShadowData.unk_08.x = lbl_2_bss_12C; + MTXLightPerspective(Hu3DShadowData.unk_68, lbl_2_bss_12C, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); + Hu3DCameraPerspectiveSet(1, lbl_2_bss_12C, lbl_2_bss_128, lbl_2_bss_124, 1.2f); + VECSubtract(&sp20, &sp2C, &sp8); + VECNormalize(&sp8, &sp8); + HuAudFXListnerUpdate(&sp2C, &sp8); } void fn_2_2CBC(omObjData *object) { - HsfObject *temp_r30 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[0]); - temp_r30->type = -1; - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); - lbl_2_bss_D8->work[0] = 1; - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - HuAudFXStop(lbl_2_bss_90[0]); - HuAudFXStop(lbl_2_bss_90[1]); + HsfObject *temp_r30 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[0]); + temp_r30->type = -1; + Hu3DModelAttrSet(object->model[3], 1); + lbl_2_bss_D8->work[0] = 1; + Hu3DModelAttrSet(object->model[2], 1); + HuAudFXStop(lbl_2_bss_90[0]); + HuAudFXStop(lbl_2_bss_90[1]); } void fn_2_2D64(omObjData *object) { - HsfObject *temp_r31 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[1]); - temp_r31->type = -1; - lbl_2_bss_D4->work[0] = 1; + HsfObject *temp_r31 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[1]); + temp_r31->type = -1; + lbl_2_bss_D4->work[0] = 1; } void fn_2_2DCC(omObjData *object) { - HsfObject *temp_r31 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[2]); - temp_r31->type = -1; + HsfObject *temp_r31 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[2]); + temp_r31->type = -1; } void fn_2_2E20(omObjData *object) { - HsfObject *temp_r30 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[3]); - temp_r30->type = -1; - Hu3DModelAttrSet(lbl_2_bss_100[0]->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_2_bss_100[1]->model[0], HU3D_ATTR_DISPOFF); - lbl_2_bss_D0->work[0] = 1; - HuAudFXStop(lbl_2_bss_90[0]); + HsfObject *temp_r30 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[3]); + temp_r30->type = -1; + Hu3DModelAttrSet(lbl_2_bss_100[0]->model[0], 1); + Hu3DModelAttrSet(lbl_2_bss_100[1]->model[0], 1); + lbl_2_bss_D0->work[0] = 1; + HuAudFXStop(lbl_2_bss_90[0]); } void fn_2_2ED0(omObjData *object) { - HsfObject *temp_r30 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[4]); - temp_r30->type = -1; - Hu3DModelAttrSet(object->model[7], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - lbl_2_bss_8->work[0] = 1; - lbl_2_bss_CC->work[0] = 1; - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - HuAudFXStop(lbl_2_bss_90[1]); - HuAudFXStop(lbl_2_bss_90[2]); + HsfObject *temp_r30 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[4]); + temp_r30->type = -1; + Hu3DModelAttrSet(object->model[7], 1); + Hu3DModelAttrSet(object->model[0], 1); + lbl_2_bss_8->work[0] = 1; + lbl_2_bss_CC->work[0] = 1; + Hu3DModelAttrSet(object->model[2], 1); + HuAudFXStop(lbl_2_bss_90[1]); + HuAudFXStop(lbl_2_bss_90[2]); } -void fn_2_2F9C(omObjData *object) { } +void fn_2_2F9C(omObjData *object) +{ + +} -void fn_2_2FA0(omObjData *object) { } +void fn_2_2FA0(omObjData *object) +{ + +} void fn_2_33B4(omObjData *object); void fn_2_2FA4(omObjData *object) { - Work2FA4 *temp_r30; - s32 temp_r29; - HsfObject *temp_r28; - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work2FA4), MEMORY_DEFAULT_NUM); - temp_r30 = object->data; - fn_2_D088(NULL); - temp_r30->unk0 = 0; - temp_r30->unk8.x = 0; - temp_r30->unk8.y = 0; - temp_r30->unk8.z = 0; - temp_r30->unk2C = 0; - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x00)); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x01)); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x07)); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[2], HU3D_MOTATTR_LOOP); - object->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x1F)); - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); - object->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x20)); - Hu3DModelAttrSet(object->model[4], HU3D_ATTR_DISPOFF); - object->model[11] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x2C)); - Hu3DModelAttrSet(object->model[11], HU3D_ATTR_DISPOFF); - object->model[7] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x03)); - Hu3DModelAttrSet(object->model[7], HU3D_ATTR_DISPOFF); - object->model[8] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x23)); - Hu3DModelAttrSet(object->model[8], HU3D_ATTR_DISPOFF); - object->model[9] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x28)); - Hu3DModelAttrSet(object->model[9], HU3D_ATTR_DISPOFF); - object->model[10] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x28)); - Hu3DModelAttrSet(object->model[10], HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(object->model[10]); - object->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x21)); - Hu3DModelAttrSet(object->model[5], HU3D_ATTR_DISPOFF); - object->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x22)); - Hu3DModelAttrSet(object->model[6], HU3D_ATTR_DISPOFF); - object->motion[0] = Hu3DJointMotionFile(object->model[10], DATA_MAKE_NUM(DATADIR_M401, 0x29)); - object->motion[1] = Hu3DJointMotionFile(object->model[10], DATA_MAKE_NUM(DATADIR_M401, 0x2A)); - object->motion[2] = Hu3DJointMotionFile(object->model[9], DATA_MAKE_NUM(DATADIR_M401, 0x2B)); - Hu3DModelPosSet(object->model[1], 0, 0, -1500); - Hu3DModelShadowMapSet(object->model[0]); - for (temp_r29 = 0; temp_r29 < 5; temp_r29++) { - temp_r28 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[temp_r29]); - temp_r28->type = -1; - } - fn_2_21F8(object); - object->func = fn_2_33B4; + Work2FA4 *temp_r30; + s32 temp_r29; + HsfObject *temp_r28; + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work2FA4), MEMORY_DEFAULT_NUM); + temp_r30 = object->data; + fn_2_D088(NULL); + temp_r30->unk0 = 0; + temp_r30->unk8.x = 0; + temp_r30->unk8.y = 0; + temp_r30->unk8.z = 0; + temp_r30->unk2C = 0; + object->model[0] = Hu3DModelCreateFile(0x200000); + Hu3DModelAttrSet(object->model[0], 1); + object->model[1] = Hu3DModelCreateFile(0x200001); + Hu3DModelAttrSet(object->model[1], 1); + object->model[2] = Hu3DModelCreateFile(0x200007); + Hu3DModelAttrSet(object->model[2], 1); + Hu3DModelAttrSet(object->model[2], 0x40000001); + object->model[3] = Hu3DModelCreateFile(0x20001F); + Hu3DModelAttrSet(object->model[3], 1); + object->model[4] = Hu3DModelCreateFile(0x200020); + Hu3DModelAttrSet(object->model[4], 1); + object->model[11] = Hu3DModelCreateFile(0x20002C); + Hu3DModelAttrSet(object->model[11], 1); + object->model[7] = Hu3DModelCreateFile(0x200003); + Hu3DModelAttrSet(object->model[7], 1); + object->model[8] = Hu3DModelCreateFile(0x200023); + Hu3DModelAttrSet(object->model[8], 1); + object->model[9] = Hu3DModelCreateFile(0x200028); + Hu3DModelAttrSet(object->model[9], 1); + object->model[10] = Hu3DModelCreateFile(0x200028); + Hu3DModelAttrSet(object->model[10], 1); + Hu3DModelShadowSet(object->model[10]); + object->model[5] = Hu3DModelCreateFile(0x200021); + Hu3DModelAttrSet(object->model[5], 1); + object->model[6] = Hu3DModelCreateFile(0x200022); + Hu3DModelAttrSet(object->model[6], 1); + object->motion[0] = Hu3DJointMotionFile(object->model[10], 0x200029); + object->motion[1] = Hu3DJointMotionFile(object->model[10], 0x20002A); + object->motion[2] = Hu3DJointMotionFile(object->model[9], 0x20002B); + Hu3DModelPosSet(object->model[1], 0, 0, -1500); + Hu3DModelShadowMapSet(object->model[0]); + for(temp_r29=0; temp_r29<5; temp_r29++) { + temp_r28 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[temp_r29]); + temp_r28->type = -1; + } + fn_2_21F8(object); + object->func = fn_2_33B4; } void fn_2_33B4(omObjData *object) { - Hu3DModelPosSet(object->model[3], 110, 5.0 * sind(lbl_2_bss_10), -1500); - lbl_2_bss_10 += 2.0f; - if (lbl_2_bss_10 >= 360.0f) { - lbl_2_bss_10 -= 360.0f; - } + Hu3DModelPosSet(object->model[3], 110, 5.0*sind(lbl_2_bss_10), -1500); + lbl_2_bss_10 += 2.0f; + if(lbl_2_bss_10 >= 360.0f) { + lbl_2_bss_10 -= 360.0f; + } } void fn_2_9E28(float arg1, float arg2); void fn_2_34B8(omObjData *object) { - Vec sp8; - Work2FA4 *temp_r31; - s32 temp_r30; - s32 temp_r28; - temp_r31 = object->data; - if (lbl_2_bss_60.z < -5000.0f && temp_r31->unk0 == 0) { - temp_r31->unk0 = 1; - fn_2_9E28(-15500, -20000); - } - if (lbl_2_bss_6C.z <= lbl_2_data_A0[lbl_2_bss_C]) { - lbl_2_bss_C++; - lbl_2_data_CC[lbl_2_bss_C][0](object); - } - if (lbl_2_bss_6C.z <= lbl_2_data_B4[lbl_2_bss_E]) { - lbl_2_data_CC[lbl_2_bss_E][1](object); - lbl_2_bss_E++; - } - if (lbl_2_bss_6C.z <= -40000.0f) { - lbl_2_bss_BE = 1; - } - if (temp_r31->unk2C) { - temp_r31->unk2C--; - } - else { - temp_r31->unk2C = 274; - if (lbl_2_bss_60.z > -31260.0f) { - temp_r28 = 4; - for (temp_r30 = 0; temp_r30 < temp_r28; temp_r30++) { - sp8.x = -340.0f + ((1.0f / 255.0f) * (680.0f * frandu8())); - sp8.y = -250.0f + ((1.0f / 255.0f) * (500.0f * frandu8())); - sp8.z = ((-4000.0f - (temp_r30 * 240)) - 40.0f) + ((1.0f / 255.0f) * (80.0f * frandu8())); - fn_2_10A88(&sp8, 0); - } - } - } + Vec sp8; + Work2FA4 *temp_r31; + s32 temp_r30; + s32 temp_r28; + temp_r31 = object->data; + if(lbl_2_bss_60.z < -5000.0f && temp_r31->unk0 == 0) { + temp_r31->unk0 = 1; + fn_2_9E28(-15500, -20000); + } + if(lbl_2_bss_6C.z <= lbl_2_data_A0[lbl_2_bss_C]) { + lbl_2_bss_C++; + lbl_2_data_CC[lbl_2_bss_C][0](object); + } + if(lbl_2_bss_6C.z <= lbl_2_data_B4[lbl_2_bss_E]) { + lbl_2_data_CC[lbl_2_bss_E][1](object); + lbl_2_bss_E++; + } + if(lbl_2_bss_6C.z <= -40000.0f) { + lbl_2_bss_BE = 1; + } + if(temp_r31->unk2C) { + temp_r31->unk2C--; + } else { + temp_r31->unk2C = 274; + if(lbl_2_bss_60.z > -31260.0f) { + temp_r28 = 4; + for(temp_r30=0; temp_r30data; - temp_r31->unk4 = 5.0 * sind(temp_r31->unk8.x); - temp_r31->unk8.y += temp_r31->unk8.z; - Hu3DModelPosSet(object->model[4], temp_r31->unk8.y, temp_r31->unk4, 0); - Hu3DModelPosSet(object->model[5], temp_r31->unk8.y, 0, 0); - Hu3DModelScaleSet(object->model[5], 1.0f - (0.09f * (temp_r31->unk4 / 5.0f)), 1.0f, 1.0f - (0.09f * (temp_r31->unk4 / 5.0f))); - for (temp_r29 = 0; temp_r29 < 2; temp_r29++) { - temp_f31 = temp_r31->unk14[temp_r29].y + (5.0 * sind(temp_r31->unk8.x)); - temp_r31->unk14[temp_r29].x += temp_r31->unk8.z; - Hu3DModelPosSet(object->model[temp_r29 + 9], temp_r31->unk14[temp_r29].x, temp_f31, temp_r31->unk14[temp_r29].z); - } - Hu3DModelPosSet(object->model[11], temp_r31->unk14[0].x, temp_f31, temp_r31->unk14[0].z); - temp_r31->unk8.z *= 1.04f; - if (temp_r31->unk8.z > 12.0f) { - temp_r31->unk8.z = 12.0f; - } - temp_r31->unk8.x += 2.0f; - if (temp_r31->unk8.x >= 360.0f) { - temp_r31->unk8.x -= 360.0f; - } - lbl_2_data_30.x = temp_r31->unk8.y; - lbl_2_data_48.x = temp_r31->unk8.y; - Hu3DShadowPosSet(&lbl_2_data_30, &lbl_2_data_3C, &lbl_2_data_48); + Work2FA4 *temp_r31; + s32 temp_r29; + float temp_f31; + temp_r31 = object->data; + temp_r31->unk4 = 5.0*sind(temp_r31->unk8.x); + temp_r31->unk8.y += temp_r31->unk8.z; + Hu3DModelPosSet(object->model[4], temp_r31->unk8.y, temp_r31->unk4, 0); + Hu3DModelPosSet(object->model[5], temp_r31->unk8.y, 0, 0); + Hu3DModelScaleSet(object->model[5], 1.0f-(0.09f*(temp_r31->unk4/5.0f)), 1.0f, 1.0f-(0.09f*(temp_r31->unk4/5.0f))); + for(temp_r29=0; temp_r29<2; temp_r29++) { + temp_f31 = temp_r31->unk14[temp_r29].y+(5.0*sind(temp_r31->unk8.x)); + temp_r31->unk14[temp_r29].x += temp_r31->unk8.z; + Hu3DModelPosSet(object->model[temp_r29+9], temp_r31->unk14[temp_r29].x, temp_f31, temp_r31->unk14[temp_r29].z); + } + Hu3DModelPosSet(object->model[11], temp_r31->unk14[0].x, temp_f31, temp_r31->unk14[0].z); + temp_r31->unk8.z *= 1.04f; + if(temp_r31->unk8.z > 12.0f) { + temp_r31->unk8.z = 12.0f; + } + temp_r31->unk8.x += 2.0f; + if(temp_r31->unk8.x >= 360.0f) { + temp_r31->unk8.x -= 360.0f; + } + lbl_2_data_30.x = temp_r31->unk8.y; + lbl_2_data_48.x = temp_r31->unk8.y; + Hu3DShadowPosSet(&lbl_2_data_30, &lbl_2_data_3C, &lbl_2_data_48); } void fn_2_3F28(omObjData *object); s32 lbl_2_data_158[][10] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x2A), - DATA_MAKE_NUM(DATADIR_M401, 0x31), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x2B), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x05), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), - DATA_MAKE_NUM(DATADIR_M401, 0x39), - DATA_MAKE_NUM(DATADIR_M401, 0x41), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x22), - DATA_MAKE_NUM(DATADIR_M401, 0x49), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x2A), - DATA_MAKE_NUM(DATADIR_M401, 0x32), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x2B), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x05), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x17), - DATA_MAKE_NUM(DATADIR_M401, 0x3A), - DATA_MAKE_NUM(DATADIR_M401, 0x42), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x22), - DATA_MAKE_NUM(DATADIR_M401, 0x4A), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x2A), - DATA_MAKE_NUM(DATADIR_M401, 0x33), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x00), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x2B), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x05), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x17), - DATA_MAKE_NUM(DATADIR_M401, 0x3B), - DATA_MAKE_NUM(DATADIR_M401, 0x43), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x22), - DATA_MAKE_NUM(DATADIR_M401, 0x4B), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x2A), - DATA_MAKE_NUM(DATADIR_M401, 0x34), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x2B), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x05), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x17), - DATA_MAKE_NUM(DATADIR_M401, 0x3C), - DATA_MAKE_NUM(DATADIR_M401, 0x44), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x22), - DATA_MAKE_NUM(DATADIR_M401, 0x4C), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x2A), - DATA_MAKE_NUM(DATADIR_M401, 0x35), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x2B), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x05), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x17), - DATA_MAKE_NUM(DATADIR_M401, 0x3D), - DATA_MAKE_NUM(DATADIR_M401, 0x45), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x22), - DATA_MAKE_NUM(DATADIR_M401, 0x4D), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x2A), - DATA_MAKE_NUM(DATADIR_M401, 0x36), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x2B), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x05), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x17), - DATA_MAKE_NUM(DATADIR_M401, 0x3E), - DATA_MAKE_NUM(DATADIR_M401, 0x46), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x22), - DATA_MAKE_NUM(DATADIR_M401, 0x4E), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x2A), - DATA_MAKE_NUM(DATADIR_M401, 0x37), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x2B), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x05), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x17), - DATA_MAKE_NUM(DATADIR_M401, 0x3F), - DATA_MAKE_NUM(DATADIR_M401, 0x47), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x22), - DATA_MAKE_NUM(DATADIR_M401, 0x4F), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x2A), - DATA_MAKE_NUM(DATADIR_M401, 0x38), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x2B), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x05), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x17), - DATA_MAKE_NUM(DATADIR_M401, 0x40), - DATA_MAKE_NUM(DATADIR_M401, 0x48), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x22), - DATA_MAKE_NUM(DATADIR_M401, 0x50), + 0x005F002A, + 0x00200031, + 0x005F0000, + 0x005F002B, + 0x005F0005, + 0x005F0017, + 0x00200039, + 0x00200041, + 0x005F0022, + 0x00200049, + 0x001A002A, + 0x00200032, + 0x001A0000, + 0x001A002B, + 0x001A0005, + 0x001A0017, + 0x0020003A, + 0x00200042, + 0x001A0022, + 0x0020004A, + 0x006D002A, + 0x00200033, + 0x006D0000, + 0x006D002B, + 0x006D0005, + 0x006D0017, + 0x0020003B, + 0x00200043, + 0x006D0022, + 0x0020004B, + 0x008A002A, + 0x00200034, + 0x008A0000, + 0x008A002B, + 0x008A0005, + 0x008A0017, + 0x0020003C, + 0x00200044, + 0x008A0022, + 0x0020004C, + 0x0085002A, + 0x00200035, + 0x00850000, + 0x0085002B, + 0x00850005, + 0x00850017, + 0x0020003D, + 0x00200045, + 0x00850022, + 0x0020004D, + 0x0011002A, + 0x00200036, + 0x00110000, + 0x0011002B, + 0x00110005, + 0x00110017, + 0x0020003E, + 0x00200046, + 0x00110022, + 0x0020004E, + 0x000D002A, + 0x00200037, + 0x000D0000, + 0x000D002B, + 0x000D0005, + 0x000D0017, + 0x0020003F, + 0x00200047, + 0x000D0022, + 0x0020004F, + 0x0081002A, + 0x00200038, + 0x00810000, + 0x0081002B, + 0x00810005, + 0x00810017, + 0x00200040, + 0x00200048, + 0x00810022, + 0x00200050, }; Vec lbl_2_data_298[] = { - -150, - 1250, - -1400, - -50, - 1250, - -1400, - 50, - 1250, - -1400, - 150, - 1250, - -1400, + -150, 1250, -1400, + -50, 1250, -1400, + 50, 1250, -1400, + 150, 1250, -1400, }; Vec lbl_2_data_2C8[] = { - -300, - 0, - -1500, - -100, - 0, - -1500, - 100, - 0, - -1500, - 300, - 0, - -1500, + -300, 0, -1500, + -100, 0, -1500, + 100, 0, -1500, + 300, 0, -1500, }; void fn_2_3F28(omObjData *object); void fn_2_3B24(omObjData *object) { - M401WorkPlayer *temp_r31; - s32 temp_r29; - s32 temp_r28; - s32 temp_r27; - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M401WorkPlayer), MEMORY_DEFAULT_NUM); - temp_r31 = object->data; - temp_r29 = object->work[0]; - temp_r31->unk4 = temp_r29; - temp_r31->unk8 = GWPlayerCfg[temp_r29].pad_idx; - temp_r27 = GWPlayerCfg[temp_r29].character; - temp_r31->unk86 = lbl_2_data_4[temp_r27]; - object->model[0] = CharModelCreate(temp_r31->unk86, 4); - if (temp_r29 == 0) { - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x25)); - object->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x27)); - } - else { - object->model[2] = Hu3DModelLink(lbl_2_bss_118[0]->model[2]); - object->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x27)); - } - Hu3DModelAttrSet(object->model[3], HU3D_MOTATTR_PAUSE); - Hu3DModelClusterAttrSet(object->model[3], 0, 0xC0000002); - Hu3DModelLayerSet(object->model[3], 7); - for (temp_r28 = 0; temp_r28 < 10; temp_r28++) { - object->motion[temp_r28] = CharModelMotionCreate(lbl_2_data_4[temp_r27], lbl_2_data_158[temp_r27][temp_r28]); - } - CharModelMotionSet(temp_r31->unk86, object->motion[2]); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[2], HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(object->model[2], 2); - Hu3DModelAmbSet(object->model[0], 1, 1, 1); - Hu3DModelShadowSet(object->model[0]); - CharModelVoiceEnableSet(lbl_2_data_4[temp_r27], object->motion[4], 0); - temp_r31->unkC = lbl_2_data_2C8[temp_r29]; - temp_r31->unk58.z = 0; - omSetTra(object, lbl_2_data_298[temp_r29].x, lbl_2_data_298[temp_r29].y, lbl_2_data_298[temp_r29].z); - temp_r31->unk0 = 0; - temp_r31->unk6E = 70; - temp_r31->unk24.x = lbl_2_data_2C8[temp_r29].x; - temp_r31->unk24.y = lbl_2_data_2C8[temp_r29].y; - temp_r31->unk24.z = 800 + lbl_2_data_2C8[temp_r29].z; - temp_r31->unk6A = 0; - temp_r31->unk72 = 0; - temp_r31->unk74 = 0; - temp_r31->unk78 = 0; - temp_r31->unk7A = 0; - temp_r31->unk7C = 0; - temp_r31->unk76 = 0; - temp_r31->unk88 = 0; - temp_r31->unk84 = 0; - temp_r31->unk8C = 0; - temp_r31->unk8E = 0; - temp_r31->unk94.x = temp_r31->unk94.y = temp_r31->unk94.z = 0; - temp_r31->unk90 = 0; - temp_r31->unkA0 = temp_r31->unkA1 = 0; - CharModelMotionDataClose(temp_r31->unk86); - object->func = fn_2_3F28; + M401WorkPlayer *temp_r31; + s32 temp_r29; + s32 temp_r28; + s32 temp_r27; + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M401WorkPlayer), MEMORY_DEFAULT_NUM); + temp_r31 = object->data; + temp_r29 = object->work[0]; + temp_r31->unk4 = temp_r29; + temp_r31->unk8 = GWPlayerCfg[temp_r29].pad_idx; + temp_r27 = GWPlayerCfg[temp_r29].character; + temp_r31->unk86 = lbl_2_data_4[temp_r27]; + object->model[0] = CharModelCreate(temp_r31->unk86, 4); + if(temp_r29 == 0) { + object->model[2] = Hu3DModelCreateFile(0x200025); + object->model[3] = Hu3DModelCreateFile(0x200027); + } else { + object->model[2] = Hu3DModelLink(lbl_2_bss_118[0]->model[2]); + object->model[3] = Hu3DModelCreateFile(0x200027); + } + Hu3DModelAttrSet(object->model[3], 0x40000002); + Hu3DModelClusterAttrSet(object->model[3], 0, 0xC0000002); + Hu3DModelLayerSet(object->model[3], 7); + for(temp_r28=0; temp_r28<10; temp_r28++) { + object->motion[temp_r28] = CharModelMotionCreate(lbl_2_data_4[temp_r27], lbl_2_data_158[temp_r27][temp_r28]); + } + CharModelMotionSet(temp_r31->unk86, object->motion[2]); + Hu3DModelAttrSet(object->model[0], 0x40000001); + Hu3DModelAttrSet(object->model[2], 1); + Hu3DModelAttrSet(object->model[2], 0x40000001); + Hu3DModelLayerSet(object->model[2], 2); + Hu3DModelAmbSet(object->model[0], 1, 1, 1); + Hu3DModelShadowSet(object->model[0]); + CharModelVoiceEnableSet(lbl_2_data_4[temp_r27], object->motion[4], 0); + temp_r31->unkC = lbl_2_data_2C8[temp_r29]; + temp_r31->unk58.z = 0; + omSetTra(object, lbl_2_data_298[temp_r29].x, lbl_2_data_298[temp_r29].y, lbl_2_data_298[temp_r29].z); + temp_r31->unk0 = 0; + temp_r31->unk6E = 70; + temp_r31->unk24.x = lbl_2_data_2C8[temp_r29].x; + temp_r31->unk24.y = lbl_2_data_2C8[temp_r29].y; + temp_r31->unk24.z = 800+lbl_2_data_2C8[temp_r29].z; + temp_r31->unk6A = 0; + temp_r31->unk72 = 0; + temp_r31->unk74 = 0; + temp_r31->unk78 = 0; + temp_r31->unk7A = 0; + temp_r31->unk7C = 0; + temp_r31->unk76 = 0; + temp_r31->unk88 = 0; + temp_r31->unk84 = 0; + temp_r31->unk8C = 0; + temp_r31->unk8E = 0; + temp_r31->unk94.x = temp_r31->unk94.y = temp_r31->unk94.z = 0; + temp_r31->unk90 = 0; + temp_r31->unkA0 = temp_r31->unkA1 = 0; + CharModelMotionDataClose(temp_r31->unk86); + object->func = fn_2_3F28; } void fn_2_6B44(omObjData *object); @@ -1123,403 +1156,395 @@ void fn_2_D3E8(omObjData *object); void fn_2_3F28(omObjData *object) { - Vec sp28; - Vec sp1C; - Vec sp10; - M401WorkPlayer *temp_r31; - CameraData *temp_r29; - omObjData *temp_r28; - UnkWork10A88 *temp_r27; - float temp_f27; - temp_r31 = object->data; - switch (temp_r31->unk0) { - case 0: - if (--temp_r31->unk6E == 0) { - temp_r31->unk0 = 1; - CharModelMotionShiftSet(temp_r31->unk86, object->motion[4], 0, 20, HU3D_MOTATTR_NONE); - temp_r31->unk58.x = 16; - temp_r31->unk58.y = 0; - } - break; - - case 1: - if (object->trans.y < 1100) { - temp_r31->unk0 = 2; - temp_f27 = VECMagPoint(object->trans.x - temp_r31->unk24.x, object->trans.y - temp_r31->unk24.y, object->trans.z - temp_r31->unk24.z); - temp_r31->unk58.z = temp_f27; - temp_r31->unk58.y = 0; - temp_r31->unk6E = 110; - temp_r28 = fn_2_10A88(&lbl_2_data_298[temp_r31->unk4], 2); - temp_r31->unk50 = temp_r28; - temp_r27 = temp_r28->data; - temp_r27->unkC = object; - fn_2_6B44(object); - temp_r28 = fn_2_10A88(&lbl_2_data_298[temp_r31->unk4], 4); - temp_r27 = temp_r28->data; - temp_r27->unkC = object; - temp_r31->unk4C = temp_r28; - temp_r28 = fn_2_10A88(&lbl_2_data_298[temp_r31->unk4], 5); - temp_r27 = temp_r28->data; - temp_r27->unkC = object; - temp_r31->unk48 = temp_r28; - CharModelMotionShiftSet(temp_r31->unk86, object->motion[1], 0, 80, HU3D_MOTATTR_LOOP); - temp_r31->unk30.x = object->trans.x; - temp_r31->unk30.y = object->trans.y; - temp_r31->unk30.z = object->trans.z; - Hu3DModelAttrReset(object->model[3], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[3], HU3D_MOTATTR_PAUSE); - Hu3DModelClusterAttrReset(object->model[3], 0, 0xC0000002); - Hu3DModelPosSet(object->model[3], object->trans.x, 100, 100 + object->trans.z); - Hu3DMotionTimeSet(object->model[3], 0); - if (temp_r31->unk4 == 0) { - HuAudFXPlay(1281); - } - omVibrate(temp_r31->unk4, 12, 4, 2); - } - else { - object->trans.y += temp_r31->unk58.x - (0.07f * temp_r31->unk58.y * temp_r31->unk58.y); - object->trans.z += 2.0f; - temp_r31->unk58.y += 1.0f; - } - break; - - case 2: - temp_r29 = &Hu3DCamera[0]; - sp1C = temp_r31->unk24; - sp10 = temp_r31->unk30; - VECSubtract(&sp1C, &sp10, &sp28); - VECNormalize(&sp28, &sp28); - object->trans.x = temp_r31->unk30.x + (temp_r31->unk58.z * (sp28.x * sind(temp_r31->unk58.y))); - object->trans.y = temp_r31->unk30.y + (temp_r31->unk58.z * (sp28.y * sind(temp_r31->unk58.y))); - object->trans.z = temp_r31->unk30.z + (temp_r31->unk58.z * (sp28.z * sind(temp_r31->unk58.y))); - temp_r31->unk58.y += 9.0f / 11.0f; - omSetRot(object, atan2d(sp28.y, sp28.z) + 90.0, 0, 0); - temp_f27 = VECMagPoint(object->trans.x - sp1C.x, object->trans.y - sp1C.y, object->trans.z - sp1C.z); - if (--temp_r31->unk6E == 60 && temp_r31->unk4 == 0 && lbl_2_bss_4 == NULL) { - temp_r29 = &Hu3DCamera[0]; - lbl_2_bss_4 = omAddObjEx(HuPrcCurrentGet(), 1400, 0, 0, -1, fn_2_D3E8); - lbl_2_bss_4->trans.x = temp_r29->pos.x; - lbl_2_bss_4->trans.y = temp_r29->pos.y; - lbl_2_bss_4->trans.z = temp_r29->pos.z; - lbl_2_bss_4->rot.x = temp_r29->target.x; - lbl_2_bss_4->rot.y = temp_r29->target.y; - lbl_2_bss_4->rot.z = temp_r29->target.z; - lbl_2_bss_4->scale.x = 0; - } - if (temp_r31->unk6E == 0) { - temp_r31->unk0 = 3; - temp_r31->unk4C->work[0] = 1; - temp_r31->unk48->work[0] = 1; - } - fn_2_6B44(object); - break; - - case 3: - sp1C.x = lbl_2_bss_108->trans.x; - sp1C.y = lbl_2_data_298[temp_r31->unk4].y; - sp1C.z = lbl_2_bss_108->trans.z; - sp10.x = object->trans.x; - sp10.y = object->trans.y; - sp10.z = object->trans.z; - VECSubtract(&sp1C, &sp10, &sp28); - VECNormalize(&sp28, &sp28); - object->rot.x *= 0.95f; - if (object->rot.x < 1.0f) { - object->rot.x = 0.0f; - } - omSetRot(object, object->rot.x, atan2d(sp28.x, sp28.z), 0); - fn_2_6B44(object); - break; - } + Vec sp28; + Vec sp1C; + Vec sp10; + M401WorkPlayer *temp_r31; + CameraData *temp_r29; + omObjData *temp_r28; + UnkWork10A88 *temp_r27; + float temp_f27; + temp_r31 = object->data; + switch(temp_r31->unk0) { + case 0: + if(--temp_r31->unk6E == 0) { + temp_r31->unk0 = 1; + CharModelMotionShiftSet(temp_r31->unk86, object->motion[4], 0, 20, 0); + temp_r31->unk58.x = 16; + temp_r31->unk58.y = 0; + } + break; + + case 1: + if(object->trans.y < 1100) { + temp_r31->unk0 = 2; + temp_f27 = VECMagPoint(object->trans.x-temp_r31->unk24.x, object->trans.y-temp_r31->unk24.y, object->trans.z-temp_r31->unk24.z); + temp_r31->unk58.z = temp_f27; + temp_r31->unk58.y = 0; + temp_r31->unk6E = 110; + temp_r28 = fn_2_10A88(&lbl_2_data_298[temp_r31->unk4], 2); + temp_r31->unk50 = temp_r28; + temp_r27 = temp_r28->data; + temp_r27->unkC = object; + fn_2_6B44(object); + temp_r28 = fn_2_10A88(&lbl_2_data_298[temp_r31->unk4], 4); + temp_r27 = temp_r28->data; + temp_r27->unkC = object; + temp_r31->unk4C = temp_r28; + temp_r28 = fn_2_10A88(&lbl_2_data_298[temp_r31->unk4], 5); + temp_r27 = temp_r28->data; + temp_r27->unkC = object; + temp_r31->unk48 = temp_r28; + CharModelMotionShiftSet(temp_r31->unk86, object->motion[1], 0, 80, 0x40000001); + temp_r31->unk30.x = object->trans.x; + temp_r31->unk30.y = object->trans.y; + temp_r31->unk30.z = object->trans.z; + Hu3DModelAttrReset(object->model[3], 1); + Hu3DModelAttrReset(object->model[3], 0x40000002); + Hu3DModelClusterAttrReset(object->model[3], 0, 0xC0000002); + Hu3DModelPosSet(object->model[3], object->trans.x, 100, 100+object->trans.z); + Hu3DMotionTimeSet(object->model[3], 0); + if(temp_r31->unk4 == 0) { + HuAudFXPlay(1281); + } + omVibrate(temp_r31->unk4, 12, 4, 2); + } else { + object->trans.y += temp_r31->unk58.x-(0.07f*temp_r31->unk58.y*temp_r31->unk58.y); + object->trans.z += 2.0f; + temp_r31->unk58.y += 1.0f; + } + break; + + case 2: + temp_r29 = &Hu3DCamera[0]; + sp1C = temp_r31->unk24; + sp10 = temp_r31->unk30; + VECSubtract(&sp1C, &sp10, &sp28); + VECNormalize(&sp28, &sp28); + object->trans.x = temp_r31->unk30.x+(temp_r31->unk58.z*(sp28.x*sind(temp_r31->unk58.y))); + object->trans.y = temp_r31->unk30.y+(temp_r31->unk58.z*(sp28.y*sind(temp_r31->unk58.y))); + object->trans.z = temp_r31->unk30.z+(temp_r31->unk58.z*(sp28.z*sind(temp_r31->unk58.y))); + temp_r31->unk58.y += 9.0f/11.0f; + omSetRot(object, atan2d(sp28.y, sp28.z)+90.0, 0, 0); + temp_f27 = VECMagPoint(object->trans.x-sp1C.x, object->trans.y-sp1C.y, object->trans.z-sp1C.z); + if(--temp_r31->unk6E == 60 && temp_r31->unk4 == 0 && lbl_2_bss_4 == NULL) { + temp_r29 = &Hu3DCamera[0]; + lbl_2_bss_4 = omAddObjEx(HuPrcCurrentGet(), 1400, 0, 0, -1, fn_2_D3E8); + lbl_2_bss_4->trans.x = temp_r29->pos.x; + lbl_2_bss_4->trans.y = temp_r29->pos.y; + lbl_2_bss_4->trans.z = temp_r29->pos.z; + lbl_2_bss_4->rot.x = temp_r29->target.x; + lbl_2_bss_4->rot.y = temp_r29->target.y; + lbl_2_bss_4->rot.z = temp_r29->target.z; + lbl_2_bss_4->scale.x = 0; + } + if(temp_r31->unk6E == 0) { + temp_r31->unk0 = 3; + temp_r31->unk4C->work[0] = 1; + temp_r31->unk48->work[0] = 1; + } + fn_2_6B44(object); + break; + + case 3: + sp1C.x = lbl_2_bss_108->trans.x; + sp1C.y = lbl_2_data_298[temp_r31->unk4].y; + sp1C.z = lbl_2_bss_108->trans.z; + sp10.x = object->trans.x; + sp10.y = object->trans.y; + sp10.z = object->trans.z; + VECSubtract(&sp1C, &sp10, &sp28); + VECNormalize(&sp28, &sp28); + object->rot.x *= 0.95f; + if(object->rot.x < 1.0f) { + object->rot.x = 0.0f; + } + omSetRot(object, object->rot.x, atan2d(sp28.x, sp28.z), 0); + fn_2_6B44(object); + break; + } } void fn_2_6B44(omObjData *object); void fn_2_48A0(omObjData *object) { - M401WorkPlayer *temp_r31; - Work2FA4 *temp_r29; - float temp_f29; - Vec sp4C; - Vec sp40; - s32 sp30[] = { -10, -50, -80, -130 }; - Vec sp24; - Vec sp18; - Vec spC; - temp_r31 = object->data; - temp_r29 = lbl_2_bss_10C->data; - if (temp_r31->unk4 == 0) { - lbl_2_bss_1A--; - } - switch (temp_r31->unk0) { - case 5: - if (temp_r31->unk6A == 1) { - CharModelMotionShiftSet(temp_r31->unk86, object->motion[1], 0, 8, HU3D_MOTATTR_LOOP); - temp_r31->unk6A = 0; - } - omSetRot(object, 0, 180, 0); - object->trans.z -= 5.0f; - fn_2_6B44(object); - break; - - case 6: - object->trans.y += temp_r31->unk58.x; - if (object->trans.y >= 910.0f) { - if (temp_r31->unk6C == 0) { - temp_r31->unk6C = 1; - Hu3DModelAttrReset(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[2], HU3D_MOTATTR_LOOP); - Hu3DModelPosSet(object->model[2], object->trans.x, 950, 30 + object->trans.z); - Hu3DModelScaleSet(object->model[2], 1, 1, 1); - Hu3DMotionTimeSet(object->model[2], 0); - sp4C.x = object->trans.x; - sp4C.y = 950; - sp4C.z = 30 + object->trans.z; - fn_2_10A88(&sp4C, 7); - HuAudFXEmiterPlay(1289, &sp4C); - } - temp_r31->unk58.x *= 0.7f; - if (temp_r31->unk58.x <= 0.5f) { - temp_r31->unk0 = 7; - temp_r31->unk58.x = -0.5f; - CharModelMotionShiftSet(temp_r31->unk86, object->motion[0], 0, 30, HU3D_MOTATTR_LOOP); - temp_r31->unk80 = 0; - temp_r31->unk6C = 0; - } - } - - break; - - case 7: - object->trans.y += temp_r31->unk58.x; - if (object->trans.y <= 890) { - object->trans.y = 890; - if (lbl_2_bss_BA) { - if (temp_r31->unk68) { - temp_r31->unk0 = 16; - } - else { - temp_r31->unk0 = 9; - } - } - else { - temp_r31->unk0 = 8; - temp_r29->unk8.z = 0.5f; - temp_r31->unk6E = 0; - HuAudSStreamPlay(4); - lbl_2_bss_C0 = MGSeqDrawCreate(); - lbl_2_bss_1A = 210; - } - } - temp_r31->unk58.x *= 1.17f; - object->trans.y -= 0.35f * sind(temp_r31->unk80); - temp_r31->unk80 += 3.0f; - if (temp_r31->unk80 >= 360.0f) { - temp_r31->unk80 -= 360.0f; - } - break; - - case 8: - object->trans.y -= 0.35f * sind(temp_r31->unk80); - temp_r31->unk80 += 3.0f; - if (temp_r31->unk80 >= 360.0f) { - temp_r31->unk80 -= 360.0f; - } - if (temp_r31->unk6E == 13) { - Hu3DModelAttrReset(lbl_2_bss_10C->model[6], HU3D_ATTR_DISPOFF); - Hu3DMotionTimeSet(lbl_2_bss_10C->model[6], 0); - } - else if (temp_r31->unk6E == 50) { - Hu3DMotionOverlaySet(object->model[0], object->motion[8]); - Hu3DMotionOverlayTimeSet(object->model[0], 31.0f); - Hu3DData[object->model[0]].unk_78 = 1; - } - if (temp_r31->unk6E >= 70) { - if (object->rot.y < 90.0f) { - object->rot.y += 2.25f; - } - else { - object->rot.y = 90.0f; - } - } - temp_r31->unk6E++; - if (temp_r29->unk8.y >= 1500.0f) { - temp_r29->unk8.z = 0; - if (temp_r31->unk4 == 0) { - temp_r31->unk0 = 14; - } - } - break; - - case 16: - if (!temp_r31->unk6C) { - temp_r31->unk6C = 1; - HuAudPlayerVoicePlay(temp_r31->unk4, 292); - Hu3DMotionOverlaySet(object->model[0], object->motion[9]); - if (temp_r31->unk4 == lbl_2_bss_B2[0]) { - HuAudSStreamPlay(1); - lbl_2_bss_C0 = MGSeqWinCreate(lbl_2_bss_AA[0], lbl_2_bss_AA[1], lbl_2_bss_AA[2], lbl_2_bss_AA[3]); - lbl_2_bss_1A = 210; - temp_r31->unk6E = 160; - temp_r31->unk0 = 13; - } - } - temp_r31->unk58.x *= 1.17f; - object->trans.y -= 0.35f * sind(temp_r31->unk80); - temp_r31->unk80 += 3.0f; - if (temp_r31->unk80 >= 360.0f) { - temp_r31->unk80 -= 360.0f; - } - if (73.0f <= Hu3DMotionOverlayTimeGet(object->model[0])) { - Hu3DMotionOverlayTimeSet(object->model[0], 35.0f); - } - break; - - case 10: - object->trans.y += temp_r31->unk58.x; - if (object->trans.y >= 910.0f) { - if (temp_r31->unk6C == 0) { - temp_r31->unk6C = 1; - omVibrate(temp_r31->unk4, 12, 4, 2); - Hu3DModelAttrReset(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[2], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(object->model[2], HU3D_MOTATTR_LOOP); - Hu3DModelPosSet(object->model[2], object->trans.x, 950, 30 + object->trans.z); - Hu3DModelScaleSet(object->model[2], 1, 1, 1); - Hu3DMotionTimeSet(object->model[2], 0); - Hu3DModelAttrReset(object->model[3], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(object->model[3], HU3D_ATTR_DISPOFF); - Hu3DModelClusterAttrReset(object->model[3], 0, 0xC0000002); - Hu3DModelPosSet(object->model[3], object->trans.x, 0, 30 + object->trans.z); - Hu3DMotionTimeSet(object->model[3], 0); - sp4C.x = object->trans.x; - sp4C.y = 950; - sp4C.z = 30 + object->trans.z; - fn_2_10A88(&sp4C, 7); - HuAudFXEmiterPlay(1289, &sp4C); - } - temp_r31->unk0 = 11; - temp_r31->unk24.x = sp30[temp_r31->unk4]; - temp_r31->unk24.y = 1030; - temp_r31->unk24.z = 40; - sp4C.x = object->trans.x; - sp4C.y = object->trans.y; - sp4C.z = object->trans.z; - VECSubtract(&temp_r31->unk24, &sp4C, &sp40); - VECNormalize(&sp40, &sp40); - temp_f29 = VECDistanceXZ(&temp_r31->unk24, &object->trans); - temp_r31->unk30.x = (sp40.x * temp_f29) / 60.0f; - temp_r31->unk30.z = (sp40.z * temp_f29) / 60.0f; - temp_r31->unk30.y = 18.75f; - temp_r31->unk58.y = 0; - } - break; - - case 11: - temp_f29 = temp_r31->unk30.y - (0.020833334f * temp_r31->unk58.y * temp_r31->unk58.y); - object->trans.x += temp_r31->unk30.x; - object->trans.z += temp_r31->unk30.z; - object->trans.y += temp_f29; - temp_r31->unk58.y += 1.0f; - if (object->trans.y <= 1030.0f && temp_f29 < 0) { - temp_r31->unk0 = 12; - object->trans.y = 1030 + temp_r29->unk4; - CharModelMotionShiftSet(temp_r31->unk86, object->motion[2], 0, 15, HU3D_MOTATTR_LOOP); - temp_r31->unk58.x = 0; - } - break; - - case 12: - object->trans.y = 1030 + temp_r29->unk4; - sp24.x = (sind(temp_r31->unk58.x), 0.0); - sp24.y = -100 * sind(temp_r31->unk58.x) + 1300; - sp24.z = -500 * sind(temp_r31->unk58.x) + 1300; - sp18.x = (sind(temp_r31->unk58.x), 0.0); - sp18.y = 330 * sind(temp_r31->unk58.x) + 920; - sp18.z = (sind(temp_r31->unk58.x), 0.0) + -100.0; - spC.x = 0; - spC.y = 1; - spC.z = 0; - Hu3DCameraPosSetV(1, &sp24, &spC, &sp18); - temp_r31->unk58.x += 3.0f; - if (temp_r31->unk58.x > 90.0f) { - temp_r31->unk0 = 13; - CharModelMotionShiftSet(temp_r31->unk86, object->motion[5], 0, 20, HU3D_MOTATTR_NONE); - HuAudSStreamPlay(1); - lbl_2_bss_C0 = MGSeqWinCreate(lbl_2_bss_AA[0], -1, -1, -1); - lbl_2_bss_1A = 210; - } - temp_r31->unk6E = 160; - break; - - case 13: - if (lbl_2_bss_BA == 1) { - object->trans.y = 1030 + temp_r29->unk4; - } - else { - temp_r31->unk58.x *= 1.17f; - object->trans.y -= 0.35f * sind(temp_r31->unk80); - temp_r31->unk80 += 3.0f; - if (temp_r31->unk80 >= 360.0f) { - temp_r31->unk80 -= 360.0f; - } - if (73.0f <= Hu3DMotionOverlayTimeGet(object->model[0])) { - Hu3DMotionOverlayTimeSet(object->model[0], 35.0f); - } - } - if (--temp_r31->unk6E == 0) { - temp_r31->unk0 = 14; - } - - break; - - case 14: - if (temp_r31->unk68) { - if (lbl_2_bss_BA == 1) { - object->trans.y = 1030 + temp_r29->unk4; - } - else { - temp_r31->unk58.x *= 1.17f; - object->trans.y -= 0.35f * sind(temp_r31->unk80); - temp_r31->unk80 += 3.0f; - if (temp_r31->unk80 >= 360.0f) { - temp_r31->unk80 -= 360.0f; - } - if (73.0f <= Hu3DMotionOverlayTimeGet(object->model[0])) { - Hu3DMotionOverlayTimeSet(object->model[0], 35.0f); - } - } - } - if (lbl_2_bss_1A <= 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuAudSeqFadeOut(lbl_2_bss_A4, 100); - HuAudFXStop(lbl_2_bss_11C); - temp_r31->unk0 = 15; - } - break; - - case 15: - if (temp_r31->unk68) { - if (lbl_2_bss_BA == 1) { - object->trans.y = 1030 + temp_r29->unk4; - } - else { - temp_r31->unk58.x *= 1.17f; - object->trans.y -= 0.35f * sind(temp_r31->unk80); - temp_r31->unk80 += 3.0f; - if (temp_r31->unk80 >= 360.0f) { - temp_r31->unk80 -= 360.0f; - } - if (73.0f <= Hu3DMotionOverlayTimeGet(object->model[0])) { - Hu3DMotionOverlayTimeSet(object->model[0], 35.0f); - } - } - } - if (!WipeStatGet()) { - lbl_2_bss_110->func = fn_2_A10; - } - break; - } + M401WorkPlayer *temp_r31; + Work2FA4 *temp_r29; + float temp_f29; + Vec sp4C; + Vec sp40; + s32 sp30[] = { -10, -50, -80, -130 }; + Vec sp24; + Vec sp18; + Vec spC; + temp_r31 = object->data; + temp_r29 = lbl_2_bss_10C->data; + if(temp_r31->unk4 == 0) { + lbl_2_bss_1A--; + } + switch(temp_r31->unk0) { + case 5: + if(temp_r31->unk6A == 1) { + CharModelMotionShiftSet(temp_r31->unk86, object->motion[1], 0, 8, 0x40000001); + temp_r31->unk6A = 0; + } + omSetRot(object, 0, 180, 0); + object->trans.z -= 5.0f; + fn_2_6B44(object); + break; + + case 6: + object->trans.y += temp_r31->unk58.x; + if(object->trans.y >= 910.0f) { + if(temp_r31->unk6C == 0) { + temp_r31->unk6C = 1; + Hu3DModelAttrReset(object->model[2], 1); + Hu3DModelAttrSet(object->model[2], 0x40000001); + Hu3DModelPosSet(object->model[2], object->trans.x, 950, 30+object->trans.z); + Hu3DModelScaleSet(object->model[2], 1, 1, 1); + Hu3DMotionTimeSet(object->model[2], 0); + sp4C.x = object->trans.x; + sp4C.y = 950; + sp4C.z = 30+object->trans.z; + fn_2_10A88(&sp4C, 7); + HuAudFXEmiterPlay(1289, &sp4C); + } + temp_r31->unk58.x *= 0.7f; + if(temp_r31->unk58.x <= 0.5f) { + temp_r31->unk0 = 7; + temp_r31->unk58.x = -0.5f; + CharModelMotionShiftSet(temp_r31->unk86, object->motion[0], 0, 30, 0x40000001); + temp_r31->unk80 = 0; + temp_r31->unk6C = 0; + } + } + + break; + + case 7: + object->trans.y += temp_r31->unk58.x; + if(object->trans.y <= 890) { + object->trans.y = 890; + if(lbl_2_bss_BA) { + if(temp_r31->unk68) { + temp_r31->unk0 = 16; + } else { + temp_r31->unk0 = 9; + } + } else { + temp_r31->unk0 = 8; + temp_r29->unk8.z = 0.5f; + temp_r31->unk6E = 0; + HuAudSStreamPlay(4); + lbl_2_bss_C0 = MGSeqDrawCreate(); + lbl_2_bss_1A = 210; + } + } + temp_r31->unk58.x *= 1.17f; + object->trans.y -= 0.35f*sind(temp_r31->unk80); + temp_r31->unk80 += 3.0f; + if(temp_r31->unk80 >= 360.0f) { + temp_r31->unk80 -= 360.0f; + } + break; + + case 8: + object->trans.y -= 0.35f*sind(temp_r31->unk80); + temp_r31->unk80 += 3.0f; + if(temp_r31->unk80 >= 360.0f) { + temp_r31->unk80 -= 360.0f; + } + if(temp_r31->unk6E == 13) { + Hu3DModelAttrReset(lbl_2_bss_10C->model[6], 1); + Hu3DMotionTimeSet(lbl_2_bss_10C->model[6], 0); + } else if(temp_r31->unk6E == 50) { + Hu3DMotionOverlaySet(object->model[0], object->motion[8]); + Hu3DMotionOverlayTimeSet(object->model[0], 31.0f); + Hu3DData[object->model[0]].unk_78 = 1; + } + if(temp_r31->unk6E >= 70) { + if(object->rot.y < 90.0f) { + object->rot.y += 2.25f; + } else { + object->rot.y = 90.0f; + } + } + temp_r31->unk6E++; + if(temp_r29->unk8.y >= 1500.0f) { + temp_r29->unk8.z = 0; + if(temp_r31->unk4 == 0) { + temp_r31->unk0 = 14; + } + } + break; + + case 16: + if(!temp_r31->unk6C) { + temp_r31->unk6C = 1; + HuAudPlayerVoicePlay(temp_r31->unk4, 292); + Hu3DMotionOverlaySet(object->model[0], object->motion[9]); + if(temp_r31->unk4 == lbl_2_bss_B2[0]) { + HuAudSStreamPlay(1); + lbl_2_bss_C0 = MGSeqWinCreate(lbl_2_bss_AA[0], lbl_2_bss_AA[1], lbl_2_bss_AA[2], lbl_2_bss_AA[3]); + lbl_2_bss_1A = 210; + temp_r31->unk6E = 160; + temp_r31->unk0 = 13; + } + } + temp_r31->unk58.x *= 1.17f; + object->trans.y -= 0.35f*sind(temp_r31->unk80); + temp_r31->unk80 += 3.0f; + if(temp_r31->unk80 >= 360.0f) { + temp_r31->unk80 -= 360.0f; + } + if(73.0f <= Hu3DMotionOverlayTimeGet(object->model[0])) { + Hu3DMotionOverlayTimeSet(object->model[0], 35.0f); + } + break; + + case 10: + object->trans.y += temp_r31->unk58.x; + if(object->trans.y >= 910.0f) { + if(temp_r31->unk6C == 0) { + temp_r31->unk6C = 1; + omVibrate(temp_r31->unk4, 12, 4, 2); + Hu3DModelAttrReset(object->model[2], 1); + Hu3DModelAttrReset(object->model[2], 0x40000002); + Hu3DModelAttrSet(object->model[2], 0x40000001); + Hu3DModelPosSet(object->model[2], object->trans.x, 950, 30+object->trans.z); + Hu3DModelScaleSet(object->model[2], 1, 1, 1); + Hu3DMotionTimeSet(object->model[2], 0); + Hu3DModelAttrReset(object->model[3], 0x40000002); + Hu3DModelAttrReset(object->model[3], 1); + Hu3DModelClusterAttrReset(object->model[3], 0, 0xC0000002); + Hu3DModelPosSet(object->model[3], object->trans.x, 0, 30+object->trans.z); + Hu3DMotionTimeSet(object->model[3], 0); + sp4C.x = object->trans.x; + sp4C.y = 950; + sp4C.z = 30+object->trans.z; + fn_2_10A88(&sp4C, 7); + HuAudFXEmiterPlay(1289, &sp4C); + } + temp_r31->unk0 = 11; + temp_r31->unk24.x = sp30[temp_r31->unk4]; + temp_r31->unk24.y = 1030; + temp_r31->unk24.z = 40; + sp4C.x = object->trans.x; + sp4C.y = object->trans.y; + sp4C.z = object->trans.z; + VECSubtract(&temp_r31->unk24, &sp4C, &sp40); + VECNormalize(&sp40, &sp40); + temp_f29 = VECDistanceXZ(&temp_r31->unk24, &object->trans); + temp_r31->unk30.x = (sp40.x*temp_f29)/60.0f; + temp_r31->unk30.z = (sp40.z*temp_f29)/60.0f; + temp_r31->unk30.y = 18.75f; + temp_r31->unk58.y = 0; + } + break; + + case 11: + temp_f29 = temp_r31->unk30.y-(0.020833334f*temp_r31->unk58.y*temp_r31->unk58.y); + object->trans.x += temp_r31->unk30.x; + object->trans.z += temp_r31->unk30.z; + object->trans.y += temp_f29; + temp_r31->unk58.y += 1.0f; + if(object->trans.y <= 1030.0f && temp_f29 < 0) { + temp_r31->unk0 = 12; + object->trans.y = 1030+temp_r29->unk4; + CharModelMotionShiftSet(temp_r31->unk86, object->motion[2], 0, 15, 0x40000001); + temp_r31->unk58.x = 0; + } + break; + + case 12: + object->trans.y = 1030+temp_r29->unk4; + sp24.x = (sind(temp_r31->unk58.x), 0.0); + sp24.y = -100*sind(temp_r31->unk58.x)+1300; + sp24.z = -500*sind(temp_r31->unk58.x)+1300; + sp18.x = (sind(temp_r31->unk58.x), 0.0); + sp18.y = 330*sind(temp_r31->unk58.x)+920; + sp18.z = (sind(temp_r31->unk58.x), 0.0) + -100.0; + spC.x = 0; + spC.y = 1; + spC.z = 0; + Hu3DCameraPosSetV(1, &sp24, &spC, &sp18); + temp_r31->unk58.x += 3.0f; + if(temp_r31->unk58.x > 90.0f) { + temp_r31->unk0 = 13; + CharModelMotionShiftSet(temp_r31->unk86, object->motion[5], 0, 20, 0); + HuAudSStreamPlay(1); + lbl_2_bss_C0 = MGSeqWinCreate(lbl_2_bss_AA[0], -1, -1, -1); + lbl_2_bss_1A = 210; + } + temp_r31->unk6E = 160; + break; + + case 13: + if(lbl_2_bss_BA == 1) { + object->trans.y = 1030+temp_r29->unk4; + } else { + temp_r31->unk58.x *= 1.17f; + object->trans.y -= 0.35f*sind(temp_r31->unk80); + temp_r31->unk80 += 3.0f; + if(temp_r31->unk80 >= 360.0f) { + temp_r31->unk80 -= 360.0f; + } + if(73.0f <= Hu3DMotionOverlayTimeGet(object->model[0])) { + Hu3DMotionOverlayTimeSet(object->model[0], 35.0f); + } + } + if(--temp_r31->unk6E == 0) { + temp_r31->unk0 = 14; + } + + break; + + case 14: + if(temp_r31->unk68) { + if(lbl_2_bss_BA == 1) { + object->trans.y = 1030+temp_r29->unk4; + } else { + temp_r31->unk58.x *= 1.17f; + object->trans.y -= 0.35f*sind(temp_r31->unk80); + temp_r31->unk80 += 3.0f; + if(temp_r31->unk80 >= 360.0f) { + temp_r31->unk80 -= 360.0f; + } + if(73.0f <= Hu3DMotionOverlayTimeGet(object->model[0])) { + Hu3DMotionOverlayTimeSet(object->model[0], 35.0f); + } + } + } + if(lbl_2_bss_1A <= 0) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + HuAudSeqFadeOut(lbl_2_bss_A4, 100); + HuAudFXStop(lbl_2_bss_11C); + temp_r31->unk0 = 15; + } + break; + + case 15: + if(temp_r31->unk68) { + if(lbl_2_bss_BA == 1) { + object->trans.y = 1030+temp_r29->unk4; + } else { + temp_r31->unk58.x *= 1.17f; + object->trans.y -= 0.35f*sind(temp_r31->unk80); + temp_r31->unk80 += 3.0f; + if(temp_r31->unk80 >= 360.0f) { + temp_r31->unk80 -= 360.0f; + } + if(73.0f <= Hu3DMotionOverlayTimeGet(object->model[0])) { + Hu3DMotionOverlayTimeSet(object->model[0], 35.0f); + } + } + } + if(!WipeStatGet()) { + lbl_2_bss_110->func = fn_2_A10; + } + break; + } } void fn_2_65FC(omObjData *object); @@ -1530,1326 +1555,1278 @@ void fn_2_6C94(omObjData *object, s8 *x, s8 *y, u16 *btn); void fn_2_5CC0(omObjData *object) { - M401WorkPlayer *temp_r31; - float temp_f29; - Vec sp20; - Vec sp14; - s32 sp10; - u16 spA; - s8 sp9; - s8 sp8; - temp_f29 = 0; - temp_r31 = object->data; - sp9 = sp8 = spA = 0; - if (temp_r31->unk78 == 0) { - if (GWPlayerCfg[temp_r31->unk4].iscom) { - fn_2_6C94(object, &sp9, &sp8, &spA); - } - else { - sp9 = HuPadStkX[temp_r31->unk8]; - sp8 = HuPadStkY[temp_r31->unk8]; - spA = HuPadBtnDown[temp_r31->unk8]; - } - if (sp9 != 0 || sp8 != 0) { - temp_r31->unk58.z = sqrtf((sp9 * sp9) + (sp8 * sp8)) / 9.0f; - } - temp_r31->unk64 = atan2d(sp9, sp8); - if (spA & PAD_BUTTON_A) { - temp_r31->unk88 += 1.51f * lbl_2_data_0; - if (temp_r31->unk88 < 1.51f * lbl_2_data_0) { - temp_r31->unk88 = 1.51f * lbl_2_data_0; - } - } - if (temp_r31->unk88 >= 0.0f) { - temp_f29 = 0; - } - else { - temp_f29 = fabs(temp_r31->unk88 / (1.51f * lbl_2_data_0)); - } - if (temp_r31->unk84) { - if (--temp_r31->unk84 == 0) { - CharModelMotionShiftSet(temp_r31->unk86, object->motion[1], 0, 8, HU3D_MOTATTR_LOOP); - temp_r31->unk6A = 0; - } - } - } - else { - temp_r31->unk84 = 0; - if (--temp_r31->unk7A == 0) { - sp10 = GWPlayerCfg[temp_r31->unk4].character; - CharModelMotionShiftSet(temp_r31->unk86, object->motion[1], 0, 8, HU3D_MOTATTR_LOOP); - temp_r31->unk78 = 0; - temp_r31->unk6A = 0; - } - if (temp_r31->unk7A & 0x1) { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - } - } - if (temp_f29 != 0) { - if (++temp_r31->unk8C > 15) { - temp_r31->unk8C = 15; - } - temp_r31->unk8E = 0; - } - else { - if (++temp_r31->unk8E > 5) { - temp_r31->unk8E = 5; - temp_r31->unk8C = 0; - } - } - if (temp_r31->unk78 == 0 && temp_r31->unk84 == 0) { - if (temp_r31->unk58.z > 0 || temp_r31->unk8C >= 5) { - if (temp_r31->unk6A == 0) { - temp_r31->unk6A = 1; - CharModelMotionShiftSet(temp_r31->unk86, object->motion[3], 0, 8, HU3D_MOTATTR_LOOP); - } - } - else { - if (temp_r31->unk6A == 1) { - CharModelMotionShiftSet(temp_r31->unk86, object->motion[1], 0, 8, HU3D_MOTATTR_LOOP); - temp_r31->unk6A = 0; - } - } - } - CharModelMotionSpeedSet(temp_r31->unk86, 1.0f + temp_f29); - fn_2_65FC(object); - if (temp_r31->unk58.z > 0.1f) { - temp_r31->unk58.z *= 0.9f; - } - else { - temp_r31->unk58.z = 0.0f; - } - temp_r31->unk88 -= 0.15f * lbl_2_data_0; - if (temp_r31->unk88 > -lbl_2_data_0) { - temp_r31->unk88 = -lbl_2_data_0; - } - sp20.x = object->trans.x; - sp20.y = object->trans.y; - sp20.z = object->trans.z; - omSetTra(object, temp_r31->unkC.x, temp_r31->unkC.y, lbl_2_bss_60.z + temp_r31->unkC.z); - sp14.x = object->trans.x; - sp14.y = object->trans.y; - sp14.z = object->trans.z; - if (sp8 != 0) { - object->rot.x -= 0.05f * sp8; - } - else { - object->rot.x *= 0.8f; - if (object->rot.x < 0.01f) { - object->rot.x = 0; - } - } - if (sp9 != 0) { - object->rot.z -= 0.05f * sp9; - } - else { - object->rot.z *= 0.8f; - if (object->rot.z < 0.01f) { - object->rot.z = 0; - } - } - if (object->rot.x < -30.0f) { - object->rot.x = -30.0f; - } - if (object->rot.x > 30.0f) { - object->rot.x = 30.0f; - } - if (object->rot.z < -30.0f) { - object->rot.z = -30.0f; - } - if (object->rot.z > 30.0f) { - object->rot.z = 30.0f; - } - object->rot.y = 180; - fn_2_6AF4(object); - fn_2_A940(object); - temp_r31->unk70 = 0; + M401WorkPlayer *temp_r31; + float temp_f29; + Vec sp20; + Vec sp14; + s32 sp10; + u16 spA; + s8 sp9; + s8 sp8; + temp_f29 = 0; + temp_r31 = object->data; + sp9 = sp8 = spA = 0; + if(temp_r31->unk78 == 0) { + if(GWPlayerCfg[temp_r31->unk4].iscom) { + fn_2_6C94(object, &sp9, &sp8, &spA); + } else { + sp9 = HuPadStkX[temp_r31->unk8]; + sp8 = HuPadStkY[temp_r31->unk8]; + spA = HuPadBtnDown[temp_r31->unk8]; + } + if(sp9 != 0 || sp8 != 0) { + temp_r31->unk58.z = sqrtf((sp9*sp9)+(sp8*sp8))/9.0f; + } + temp_r31->unk64 = atan2d(sp9, sp8); + if(spA & PAD_BUTTON_A) { + temp_r31->unk88 += 1.51f*lbl_2_data_0; + if(temp_r31->unk88 < 1.51f*lbl_2_data_0) { + temp_r31->unk88 = 1.51f*lbl_2_data_0; + } + } + if(temp_r31->unk88 >= 0.0f){ + temp_f29 = 0; + } else { + temp_f29 = fabs(temp_r31->unk88/(1.51f*lbl_2_data_0)); + } + if(temp_r31->unk84) { + if(--temp_r31->unk84 == 0) { + CharModelMotionShiftSet(temp_r31->unk86, object->motion[1], 0, 8, 0x40000001); + temp_r31->unk6A = 0; + } + } + } else { + temp_r31->unk84 = 0; + if(--temp_r31->unk7A == 0) { + sp10 = GWPlayerCfg[temp_r31->unk4].character; + CharModelMotionShiftSet(temp_r31->unk86, object->motion[1], 0, 8, 0x40000001); + temp_r31->unk78 = 0; + temp_r31->unk6A = 0; + } + if(temp_r31->unk7A & 0x1) { + Hu3DModelAttrSet(object->model[0], 1); + } else { + Hu3DModelAttrReset(object->model[0], 1); + } + } + if(temp_f29 != 0) { + if(++temp_r31->unk8C > 15) { + temp_r31->unk8C = 15; + } + temp_r31->unk8E = 0; + } else { + if(++temp_r31->unk8E > 5) { + temp_r31->unk8E = 5; + temp_r31->unk8C = 0; + } + } + if(temp_r31->unk78 == 0 && temp_r31->unk84 == 0) { + if(temp_r31->unk58.z > 0 || temp_r31->unk8C >= 5) { + if(temp_r31->unk6A == 0) { + temp_r31->unk6A = 1; + CharModelMotionShiftSet(temp_r31->unk86, object->motion[3], 0, 8, 0x40000001); + } + } else { + if(temp_r31->unk6A == 1) { + CharModelMotionShiftSet(temp_r31->unk86, object->motion[1], 0, 8, 0x40000001); + temp_r31->unk6A = 0; + } + } + } + CharModelMotionSpeedSet(temp_r31->unk86, 1.0f+temp_f29); + fn_2_65FC(object); + if(temp_r31->unk58.z > 0.1f) { + temp_r31->unk58.z *= 0.9f; + } else { + temp_r31->unk58.z = 0.0f; + } + temp_r31->unk88 -= 0.15f*lbl_2_data_0; + if(temp_r31->unk88 > -lbl_2_data_0) { + temp_r31->unk88 = -lbl_2_data_0; + } + sp20.x = object->trans.x; + sp20.y = object->trans.y; + sp20.z = object->trans.z; + omSetTra(object, temp_r31->unkC.x, temp_r31->unkC.y, lbl_2_bss_60.z+temp_r31->unkC.z); + sp14.x = object->trans.x; + sp14.y = object->trans.y; + sp14.z = object->trans.z; + if(sp8 != 0) { + object->rot.x -= 0.05f*sp8; + } else { + object->rot.x *= 0.8f; + if(object->rot.x < 0.01f) { + object->rot.x = 0; + } + } + if(sp9 != 0) { + object->rot.z -= 0.05f*sp9; + } else { + object->rot.z *= 0.8f; + if(object->rot.z < 0.01f) { + object->rot.z = 0; + } + } + if(object->rot.x < -30.0f) { + object->rot.x = -30.0f; + } + if(object->rot.x > 30.0f) { + object->rot.x = 30.0f; + } + if(object->rot.z < -30.0f) { + object->rot.z = -30.0f; + } + if(object->rot.z > 30.0f) { + object->rot.z = 30.0f; + } + object->rot.y = 180; + fn_2_6AF4(object); + fn_2_A940(object); + temp_r31->unk70 = 0; } void fn_2_65FC(omObjData *object) { - M401WorkPlayer *temp_r31; - M401WorkPlayer *temp_r30; - s32 temp_r29; - omObjData *temp_r28; - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f26; - float temp_f24; - - Vec sp24; - Vec sp18; - Vec spC; - temp_r30 = object->data; - temp_f26 = temp_r30->unk58.z; - sp24.x = sind(temp_r30->unk64); - sp24.y = cosd(temp_r30->unk64); - sp24.z = temp_r30->unk88 + lbl_2_data_0; - VECNormalize(&sp24, &sp18); - sp24.x *= temp_f26; - sp24.y *= temp_f26; - sp24.z -= lbl_2_data_0; - temp_f31 = temp_r30->unkC.x + sp24.x; - temp_f30 = temp_r30->unkC.y + sp24.y; - temp_f29 = temp_r30->unkC.z + sp24.z; - if (temp_f31 < -400) { - temp_f31 = -400; - } - if (temp_f31 > 400) { - temp_f31 = 400; - } - if (temp_f30 < -300) { - temp_f30 = -300; - } - if (temp_f30 > 300) { - temp_f30 = 300; - } - if (temp_f29 < 400) { - temp_f29 = 400; - } - if (temp_f29 > 800) { - temp_f29 = 800; - } - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - if (lbl_2_bss_118[temp_r29] != object) { - temp_r28 = lbl_2_bss_118[temp_r29]; - temp_r31 = temp_r28->data; - temp_f24 = VECMagPoint(temp_f31 - temp_r31->unkC.x, temp_f30 - temp_r31->unkC.y, temp_f29 - temp_r31->unkC.z); - if (temp_f24 < 127.0f) { - spC.x = temp_f31 - temp_r31->unkC.x; - spC.y = temp_f30 - temp_r31->unkC.y; - spC.z = temp_f29 - temp_r31->unkC.z; - VECNormalize(&spC, &spC); - temp_f31 = temp_r31->unkC.x + 127.0f * spC.x; - temp_f30 = temp_r31->unkC.y + 127.0f * spC.y; - temp_f29 = temp_r31->unkC.z + 127.0f * spC.z; - } - } - } - if (temp_f31 < -400) { - temp_f31 = -400; - } - if (temp_f31 > 400) { - temp_f31 = 400; - } - if (temp_f30 < -300) { - temp_f30 = -300; - } - if (temp_f30 > 300) { - temp_f30 = 300; - } - if (temp_f29 < 400) { - temp_f29 = 400; - } - if (temp_f29 > 800) { - temp_f29 = 800; - } - temp_r30->unkC.x = temp_f31; - temp_r30->unkC.y = temp_f30; - temp_r30->unkC.z = temp_f29; + M401WorkPlayer *temp_r31; + M401WorkPlayer *temp_r30; + s32 temp_r29; + omObjData *temp_r28; + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f26; + float temp_f24; + + Vec sp24; + Vec sp18; + Vec spC; + temp_r30 = object->data; + temp_f26 = temp_r30->unk58.z; + sp24.x = sind(temp_r30->unk64); + sp24.y = cosd(temp_r30->unk64); + sp24.z = temp_r30->unk88+lbl_2_data_0; + VECNormalize(&sp24, &sp18); + sp24.x *= temp_f26; + sp24.y *= temp_f26; + sp24.z -= lbl_2_data_0; + temp_f31 = temp_r30->unkC.x+sp24.x; + temp_f30 = temp_r30->unkC.y+sp24.y; + temp_f29 = temp_r30->unkC.z+sp24.z; + if(temp_f31 < -400) { + temp_f31 = -400; + } + if(temp_f31 > 400) { + temp_f31 = 400; + } + if(temp_f30 < -300) { + temp_f30 = -300; + } + if(temp_f30 > 300) { + temp_f30 = 300; + } + if(temp_f29 < 400) { + temp_f29 = 400; + } + if(temp_f29 > 800) { + temp_f29 = 800; + } + for(temp_r29=0; temp_r29<4; temp_r29++) { + if(lbl_2_bss_118[temp_r29] != object) { + temp_r28 = lbl_2_bss_118[temp_r29]; + temp_r31 = temp_r28->data; + temp_f24 = VECMagPoint(temp_f31-temp_r31->unkC.x, temp_f30-temp_r31->unkC.y, temp_f29-temp_r31->unkC.z); + if(temp_f24 < 127.0f) { + spC.x = temp_f31-temp_r31->unkC.x; + spC.y = temp_f30-temp_r31->unkC.y; + spC.z = temp_f29-temp_r31->unkC.z; + VECNormalize(&spC, &spC); + temp_f31 = temp_r31->unkC.x+127.0f*spC.x; + temp_f30 = temp_r31->unkC.y+127.0f*spC.y; + temp_f29 = temp_r31->unkC.z+127.0f*spC.z; + } + } + } + if(temp_f31 < -400) { + temp_f31 = -400; + } + if(temp_f31 > 400) { + temp_f31 = 400; + } + if(temp_f30 < -300) { + temp_f30 = -300; + } + if(temp_f30 > 300) { + temp_f30 = 300; + } + if(temp_f29 < 400) { + temp_f29 = 400; + } + if(temp_f29 > 800) { + temp_f29 = 800; + } + temp_r30->unkC.x = temp_f31; + temp_r30->unkC.y = temp_f30; + temp_r30->unkC.z = temp_f29; } void fn_2_6AF4(omObjData *object) { - M401WorkPlayer *temp_r31 = object->data; - temp_r31->unk18.x = temp_r31->unkC.x + lbl_2_bss_60.x; - temp_r31->unk18.y = object->trans.y; - temp_r31->unk18.z = 80 + object->trans.z; + M401WorkPlayer *temp_r31 = object->data; + temp_r31->unk18.x = temp_r31->unkC.x+lbl_2_bss_60.x; + temp_r31->unk18.y = object->trans.y; + temp_r31->unk18.z = 80+object->trans.z; } void fn_2_6B44(omObjData *object) { - M401WorkPlayer *temp_r30; - float temp_f31; - float temp_f30; - float temp_f29; - temp_r30 = object->data; - temp_f31 = 80.0 * sind(object->rot.y + 180.0f); - temp_f29 = 80.0 * -cosd(object->rot.y); - temp_f30 = 80.0 * sind(object->rot.x); - temp_r30->unk18.x = object->trans.x + temp_f31; - temp_r30->unk18.y = object->trans.y + temp_f30; - temp_r30->unk18.z = object->trans.z + temp_f29; + M401WorkPlayer *temp_r30; + float temp_f31; + float temp_f30; + float temp_f29; + temp_r30 = object->data; + temp_f31 = 80.0*sind(object->rot.y+180.0f); + temp_f29 = 80.0*-cosd(object->rot.y); + temp_f30 = 80.0*sind(object->rot.x); + temp_r30->unk18.x = object->trans.x+temp_f31; + temp_r30->unk18.y = object->trans.y+temp_f30; + temp_r30->unk18.z = object->trans.z+temp_f29; } omObjData *fn_2_792C(omObjData *object); void fn_2_6C94(omObjData *object, s8 *x, s8 *y, u16 *btn) { - M401WorkPlayer *temp_r31; - s32 temp_r30; - omObjData *temp_r28; - s32 temp_r27; - u16 temp_r26 = 0; - float temp_f31; - float temp_f30; - float temp_f29; - s16 sp50[][8] = { - 0, - 2, - 0, - 2, - 0, - 2, - 0, - 2, - 0, - 2, - 0, - 2, - 0, - 0, - 0, - 2, - 0, - 0, - 0, - 2, - 0, - 0, - 0, - 2, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - }; - Vec sp44; - Vec sp38; - Vec sp2C; - Vec sp20; - s16 sp18[] = { 50, 125, 200, 245 }; - s16 sp10[] = { 75, 150, 200, 250 }; - s16 sp8[] = { 9, 6, 4, 2 }; - temp_r31 = object->data; - *x = *y = 0; - *btn = 0; - if (temp_r31->unk7C == 0) { - temp_r31->unk7E = sp50[GWPlayerCfg[temp_r31->unk4].diff][frand() & 0x7]; - temp_r31->unk7C = (frand() % 60) + 30; - temp_r31->unk92 = 0; - if (frandu8() < sp18[GWPlayerCfg[temp_r31->unk4].diff]) { - temp_r31->unk92 |= 1; - } - if (frandu8() < sp10[GWPlayerCfg[temp_r31->unk4].diff]) { - temp_r31->unk92 |= 2; - } - } - else { - temp_r31->unk7C--; - } - temp_r26 = temp_r31->unk92; - sp44.x = sp44.y = sp44.z = 0; - switch (temp_r31->unk7E) { - case 0: - temp_r28 = fn_2_792C(object); - if (temp_r28) { - sp44.x = temp_r28->trans.x - object->trans.x; - sp44.y = temp_r28->trans.y - object->trans.y; - sp44.z = temp_r28->trans.z - object->trans.z; - } - break; - - case 2: - break; - } - if (temp_r26 & 0x1) { - sp38.x = object->trans.x; - sp38.y = object->trans.y; - sp38.z = object->trans.z; - for (temp_r27 = 0; temp_r27 < 4; temp_r27++) { - if (lbl_2_bss_118[temp_r27] != object) { - sp20.x = lbl_2_bss_118[temp_r27]->trans.x; - sp20.y = lbl_2_bss_118[temp_r27]->trans.y; - sp20.z = lbl_2_bss_118[temp_r27]->trans.z; - VECSubtract(&sp38, &sp20, &sp2C); - temp_f31 = VECMag(&sp2C) - 110.0f; - if (temp_f31 < 110.0f) { - temp_f31 -= 60.0f; - if (temp_f31 < 0.01f) { - temp_f31 = 0.01; - } - VECScale(&sp2C, &sp2C, 1.0f / temp_f31); - VECAdd(&sp44, &sp2C, &sp44); - } - } - } - } - if (temp_r26 & 0x2) { - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - if (lbl_2_bss_E4[temp_r30]->func != NULL) { - sp20.x = lbl_2_bss_E4[temp_r30]->trans.x; - sp20.y = lbl_2_bss_E4[temp_r30]->trans.y; - sp20.z = lbl_2_bss_E4[temp_r30]->trans.z; - VECSubtract(&sp38, &sp20, &sp2C); - temp_f31 = VECMag(&sp2C) - 110.0f; - if (temp_f31 < 110.0f) { - temp_f31 -= 60.0f; - if (temp_f31 < 0.01f) { - temp_f31 = 0.01; - } - VECScale(&sp2C, &sp2C, 1.0f / temp_f31); - VECAdd(&sp44, &sp2C, &sp44); - } - } - } - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - if (lbl_2_bss_100[temp_r30]->func != NULL) { - sp20.x = lbl_2_bss_100[temp_r30]->trans.x; - sp20.y = lbl_2_bss_100[temp_r30]->trans.y; - sp20.z = lbl_2_bss_100[temp_r30]->trans.z; - VECSubtract(&sp38, &sp20, &sp2C); - temp_f31 = VECMag(&sp2C) - 110.0f; - if (temp_f31 < 110.0f) { - temp_f31 -= 60.0f; - if (temp_f31 < 0.01f) { - temp_f31 = 0.01; - } - VECScale(&sp2C, &sp2C, 1.0f / temp_f31); - VECAdd(&sp44, &sp2C, &sp44); - } - } - } - sp20.x = lbl_2_bss_FC->trans.x; - sp20.y = lbl_2_bss_FC->trans.y; - sp20.z = lbl_2_bss_FC->trans.z; - VECSubtract(&sp38, &sp20, &sp2C); - sp2C.x = 0; - temp_f31 = VECMag(&sp2C) - 220.0f; - if (temp_f31 < 220.0f) { - temp_f31 -= 160.0f; - if (temp_f31 < 0.01f) { - temp_f31 = 0.01; - } - VECScale(&sp2C, &sp2C, 1.0f / temp_f31); - VECAdd(&sp44, &sp2C, &sp44); - } - } - - if (sp44.z < 0.0f) { - if (temp_r31->unk90 == 0) { - *btn |= 0x100; - temp_r31->unk90 = (frand() % sp8[GWPlayerCfg[temp_r31->unk4].diff]) + 3; - } - else { - temp_r31->unk90--; - } - } - sp44.z = 0; - temp_f30 = VECMag(&sp44); - temp_f30 *= 0.2f; - temp_f29 = atan2d(sp44.y, sp44.x); - if (temp_f30 > 72.0f) { - temp_f30 = 72.0f; - } - if (temp_f30 < 10.0f) { - temp_f30 = 0.0f; - } - *x = temp_f30 * cosd(temp_f29); - *y = temp_f30 * sind(temp_f29); + M401WorkPlayer *temp_r31; + s32 temp_r30; + omObjData *temp_r28; + s32 temp_r27; + u16 temp_r26 = 0; + float temp_f31; + float temp_f30; + float temp_f29; + s16 sp50[][8] = { + 0, 2, 0, 2, 0, 2, 0, 2, + 0, 2, 0, 2, 0, 0, 0, 2, + 0, 0, 0, 2, 0, 0, 0, 2, + 0, 0, 0, 0, 0, 0, 0, 0, + }; + Vec sp44; + Vec sp38; + Vec sp2C; + Vec sp20; + s16 sp18[] = { + 50, 125, 200, 245 + }; + s16 sp10[] = { + 75, 150, 200, 250 + }; + s16 sp8[] = { + 9, 6, 4, 2 + }; + temp_r31 = object->data; + *x = *y = 0; + *btn = 0; + if(temp_r31->unk7C == 0) { + temp_r31->unk7E = sp50[GWPlayerCfg[temp_r31->unk4].diff][frand() & 0x7]; + temp_r31->unk7C = (frand()%60)+30; + temp_r31->unk92 = 0; + if(frandu8() < sp18[GWPlayerCfg[temp_r31->unk4].diff]) { + temp_r31->unk92 |= 1; + } + if(frandu8() < sp10[GWPlayerCfg[temp_r31->unk4].diff]) { + temp_r31->unk92 |= 2; + } + } else { + temp_r31->unk7C--; + } + temp_r26 = temp_r31->unk92; + sp44.x = sp44.y = sp44.z = 0; + switch(temp_r31->unk7E) { + case 0: + temp_r28 = fn_2_792C(object); + if(temp_r28) { + sp44.x = temp_r28->trans.x-object->trans.x; + sp44.y = temp_r28->trans.y-object->trans.y; + sp44.z = temp_r28->trans.z-object->trans.z; + } + break; + + case 2: + break; + } + if(temp_r26 & 0x1) { + sp38.x = object->trans.x; + sp38.y = object->trans.y; + sp38.z = object->trans.z; + for(temp_r27=0; temp_r27<4; temp_r27++) { + if(lbl_2_bss_118[temp_r27] != object) { + sp20.x = lbl_2_bss_118[temp_r27]->trans.x; + sp20.y = lbl_2_bss_118[temp_r27]->trans.y; + sp20.z = lbl_2_bss_118[temp_r27]->trans.z; + VECSubtract(&sp38, &sp20, &sp2C); + temp_f31 = VECMag(&sp2C)-110.0f; + if(temp_f31 < 110.0f) { + temp_f31 -= 60.0f; + if(temp_f31 < 0.01f) { + temp_f31 = 0.01; + } + VECScale(&sp2C, &sp2C, 1.0f/temp_f31); + VECAdd(&sp44, &sp2C, &sp44); + } + } + } + } + if(temp_r26 & 0x2) { + for(temp_r30=0; temp_r30<4; temp_r30++) { + if(lbl_2_bss_E4[temp_r30]->func != NULL) { + sp20.x = lbl_2_bss_E4[temp_r30]->trans.x; + sp20.y = lbl_2_bss_E4[temp_r30]->trans.y; + sp20.z = lbl_2_bss_E4[temp_r30]->trans.z; + VECSubtract(&sp38, &sp20, &sp2C); + temp_f31 = VECMag(&sp2C)-110.0f; + if(temp_f31 < 110.0f) { + temp_f31 -= 60.0f; + if(temp_f31 < 0.01f) { + temp_f31 = 0.01; + } + VECScale(&sp2C, &sp2C, 1.0f/temp_f31); + VECAdd(&sp44, &sp2C, &sp44); + } + } + } + for(temp_r30=0; temp_r30<2; temp_r30++) { + if(lbl_2_bss_100[temp_r30]->func != NULL) { + sp20.x = lbl_2_bss_100[temp_r30]->trans.x; + sp20.y = lbl_2_bss_100[temp_r30]->trans.y; + sp20.z = lbl_2_bss_100[temp_r30]->trans.z; + VECSubtract(&sp38, &sp20, &sp2C); + temp_f31 = VECMag(&sp2C)-110.0f; + if(temp_f31 < 110.0f) { + temp_f31 -= 60.0f; + if(temp_f31 < 0.01f) { + temp_f31 = 0.01; + } + VECScale(&sp2C, &sp2C, 1.0f/temp_f31); + VECAdd(&sp44, &sp2C, &sp44); + } + } + } + sp20.x = lbl_2_bss_FC->trans.x; + sp20.y = lbl_2_bss_FC->trans.y; + sp20.z = lbl_2_bss_FC->trans.z; + VECSubtract(&sp38, &sp20, &sp2C); + sp2C.x = 0; + temp_f31 = VECMag(&sp2C)-220.0f; + if(temp_f31 < 220.0f) { + temp_f31 -= 160.0f; + if(temp_f31 < 0.01f) { + temp_f31 = 0.01; + } + VECScale(&sp2C, &sp2C, 1.0f/temp_f31); + VECAdd(&sp44, &sp2C, &sp44); + } + } + + if(sp44.z < 0.0f) { + if(temp_r31->unk90 == 0) { + *btn |= 0x100; + temp_r31->unk90 = (frand()%sp8[GWPlayerCfg[temp_r31->unk4].diff])+3; + } else { + temp_r31->unk90--; + } + } + sp44.z = 0; + temp_f30 = VECMag(&sp44); + temp_f30 *= 0.2f; + temp_f29 = atan2d(sp44.y, sp44.x); + if(temp_f30 > 72.0f) { + temp_f30 = 72.0f; + } + if(temp_f30 < 10.0f) { + temp_f30 = 0.0f; + } + *x = temp_f30*cosd(temp_f29); + *y = temp_f30*sind(temp_f29); } s32 fn_2_AC2C(Vec *pos, float dist, omObjData **newobj); s32 fn_2_7640(omObjData *object, omObjData **newobj) { - Vec spC; - spC.x = object->trans.x; - spC.y = object->trans.y; - spC.z = object->trans.z - 100.0f; - return fn_2_AC2C(&spC, 270.0f, newobj); + Vec spC; + spC.x = object->trans.x; + spC.y = object->trans.y; + spC.z = object->trans.z-100.0f; + return fn_2_AC2C(&spC, 270.0f, newobj); } void fn_2_76AC(omObjData *object, s32 arg1) { - M401WorkPlayer *temp_r31; - if (arg1) { - temp_r31 = object->data; - temp_r31->unk7E = 1; - temp_r31->unk7C = 5; - switch (arg1) { - case 1: - temp_r31->unk80 = 180.0 + atan2d(temp_r31->unk54->trans.x - object->trans.x, temp_r31->unk54->trans.y - object->trans.y); - break; - - case 2: - if (temp_r31->unkC.y > temp_r31->unk54->trans.y) { - temp_r31->unk80 = 80.0f + ((1.0f / 255.0f) * (20.0f * frandu8())); - } - else { - temp_r31->unk80 = 260.0f + ((1.0f / 255.0f) * (20.0f * frandu8())); - } - break; - - case 3: - if (temp_r31->unkC.y > temp_r31->unk54->trans.y) { - temp_r31->unk80 = 80.0f + ((1.0f / 255.0f) * (20.0f * frandu8())); - } - else { - temp_r31->unk80 = 260.0f + ((1.0f / 255.0f) * (20.0f * frandu8())); - } - break; - } - } + M401WorkPlayer *temp_r31; + if(arg1) { + temp_r31 = object->data; + temp_r31->unk7E = 1; + temp_r31->unk7C = 5; + switch(arg1) { + case 1: + temp_r31->unk80 = 180.0+atan2d(temp_r31->unk54->trans.x-object->trans.x, temp_r31->unk54->trans.y-object->trans.y); + break; + + case 2: + if(temp_r31->unkC.y > temp_r31->unk54->trans.y) { + temp_r31->unk80 = 80.0f+((1.0f/255.0f)*(20.0f*frandu8())); + } else { + temp_r31->unk80 = 260.0f+((1.0f/255.0f)*(20.0f*frandu8())); + } + break; + + case 3: + if(temp_r31->unkC.y > temp_r31->unk54->trans.y) { + temp_r31->unk80 = 80.0f+((1.0f/255.0f)*(20.0f*frandu8())); + } else { + temp_r31->unk80 = 260.0f+((1.0f/255.0f)*(20.0f*frandu8())); + } + break; + } + } } omObjData *fn_2_792C(omObjData *object) { - omObjData **temp_r31; - s32 temp_r30; - omObjData *temp_r28; - float temp_f31, temp_f30, temp_f29; - float temp_f27, temp_f26; - temp_r31 = omGetGroupMemberListEx(HuPrcCurrentGet(), 1); - temp_f26 = 100000; - temp_r28 = NULL; - for (temp_r30 = 0; temp_r30 < 28; temp_r30++) { - if (temp_r31[temp_r30] == NULL || temp_r31[temp_r30]->trans.z - lbl_2_bss_60.z > 850.0f - || temp_r31[temp_r30]->trans.z - lbl_2_bss_60.z < -2500.0f) { - continue; - } - temp_f30 = temp_r31[temp_r30]->trans.x - object->trans.x; - temp_f29 = temp_r31[temp_r30]->trans.y - object->trans.y; - temp_f31 = temp_r31[temp_r30]->trans.z - object->trans.z; - temp_f31 *= 0.15f; - temp_f27 = VECMagPoint(temp_f30, temp_f29, temp_f31); - if (temp_f27 < temp_f26 && temp_f27 < 2000.0f) { - temp_f26 = temp_f27; - temp_r28 = temp_r31[temp_r30]; - } - } - return temp_r28; + omObjData **temp_r31; + s32 temp_r30; + omObjData *temp_r28; + float temp_f31, temp_f30, temp_f29; + float temp_f27, temp_f26; + temp_r31 = omGetGroupMemberListEx(HuPrcCurrentGet(), 1); + temp_f26 = 100000; + temp_r28 = NULL; + for(temp_r30=0; temp_r30<28; temp_r30++) { + if(temp_r31[temp_r30] == NULL || temp_r31[temp_r30]->trans.z-lbl_2_bss_60.z > 850.0f || temp_r31[temp_r30]->trans.z-lbl_2_bss_60.z < -2500.0f) { + continue; + } + temp_f30 = temp_r31[temp_r30]->trans.x-object->trans.x; + temp_f29 = temp_r31[temp_r30]->trans.y-object->trans.y; + temp_f31 = temp_r31[temp_r30]->trans.z-object->trans.z; + temp_f31 *= 0.15f; + temp_f27 = VECMagPoint(temp_f30, temp_f29, temp_f31); + if(temp_f27 < temp_f26 && temp_f27 < 2000.0f) { + temp_f26 = temp_f27; + temp_r28 = temp_r31[temp_r30]; + } + } + return temp_r28; } void fn_2_A914(s32 player); void fn_2_7C3C(omObjData *object) { - M401WorkPlayer *temp_r31 = object->data; - temp_r31->unk78 = 1; - temp_r31->unk7A = 120; - CharModelMotionShiftSet(temp_r31->unk86, object->motion[7], 0, 10, HU3D_MOTATTR_NONE); - fn_2_A914(temp_r31->unk4); + M401WorkPlayer *temp_r31 = object->data; + temp_r31->unk78 = 1; + temp_r31->unk7A = 120; + CharModelMotionShiftSet(temp_r31->unk86, object->motion[7], 0, 10, 0); + fn_2_A914(temp_r31->unk4); } typedef struct work_7CB4 { - s16 unk0; - Vec unk4; - Vec unk10; - s16 unk1C; - s16 unk1E; - s16 unk20; - s16 unk22; - s16 unk24; - float unk28; - s16 unk2C; - s16 unk2E; - float unk30; + s16 unk0; + Vec unk4; + Vec unk10; + s16 unk1C; + s16 unk1E; + s16 unk20; + s16 unk22; + s16 unk24; + float unk28; + s16 unk2C; + s16 unk2E; + float unk30; } Work7CB4; void fn_2_7E6C(omObjData *object); void fn_2_7CB4(omObjData *object) { - Work7CB4 *temp_r31; - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work7CB4), MEMORY_DEFAULT_NUM); - temp_r31 = object->data; - temp_r31->unk10.x = 0; - temp_r31->unk10.y = 200; - temp_r31->unk10.z = 0; - temp_r31->unk1E = 0; - temp_r31->unk22 = 100; - temp_r31->unk4.x = 0; - temp_r31->unk4.y = 200; - temp_r31->unk24 = 0; - temp_r31->unk28 = 0; - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x0B)); - Hu3DModelClusterAttrSet(object->model[0], 0, 0xC0000001); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAmbSet(object->model[0], 0.6f, 0.6f, 0.6f); - Hu3DModelShadowSet(object->model[0]); - temp_r31->unk0 = 0; - temp_r31->unk22 = 180; - omSetTra(object, 0, 200, 200); - omSetRot(object, 0, 180, 0); - object->func = fn_2_7E6C; + Work7CB4 *temp_r31; + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work7CB4), MEMORY_DEFAULT_NUM); + temp_r31 = object->data; + temp_r31->unk10.x = 0; + temp_r31->unk10.y = 200; + temp_r31->unk10.z = 0; + temp_r31->unk1E = 0; + temp_r31->unk22 = 100; + temp_r31->unk4.x = 0; + temp_r31->unk4.y = 200; + temp_r31->unk24 = 0; + temp_r31->unk28 = 0; + object->model[0] = Hu3DModelCreateFile(0x20000B); + Hu3DModelClusterAttrSet(object->model[0], 0, 0xC0000001); + Hu3DModelAttrSet(object->model[0], 0x1); + Hu3DModelAmbSet(object->model[0], 0.6f, 0.6f, 0.6f); + Hu3DModelShadowSet(object->model[0]); + temp_r31->unk0 = 0; + temp_r31->unk22 = 180; + omSetTra(object, 0, 200, 200); + omSetRot(object, 0, 180, 0); + object->func = fn_2_7E6C; } void fn_2_7E6C(omObjData *object) { - Work7CB4 *temp_r31; - temp_r31 = object->data; - switch (temp_r31->unk0) { - case 0: - if (--temp_r31->unk22 == 0) { - temp_r31->unk0 = 1; - } - break; - - case 1: - object->trans.z += -11.333333f; - break; - } + Work7CB4 *temp_r31; + temp_r31 = object->data; + switch(temp_r31->unk0) { + case 0: + if(--temp_r31->unk22 == 0) { + temp_r31->unk0 = 1; + } + break; + + case 1: + object->trans.z += -11.333333f; + break; + } } -s32 gap_04_00000328_data = DATA_MAKE_NUM(DATADIR_M401, 0x0C); -s32 lbl_2_data_32C[] = { 4, 6 }; -Vec lbl_2_data_334[][10] = { { - { 1400, -600, -21500 }, - { -100, 100, -22000 }, - { -1000, -200, -23000 }, - { -2000, -200, -23500 }, - { -2200, -200, -23500 }, - { -2300, -200, -23500 }, - }, - { - { -1000, 500, -29500 }, - { -300, 300, -31500 }, - { 300, -150, -32500 }, - { -200, 250, -34000 }, - { -300, 300, -35000 }, - { -600, 300, -36000 }, - { 1000, -180, -40000 }, - { 1000, -180, -40000 }, - } - +s32 gap_04_00000328_data = 0x20000C; +s32 lbl_2_data_32C[] = { + 4, 6 +}; +Vec lbl_2_data_334[][10] = { + { + { 1400, -600, -21500 }, + { -100, 100, -22000 }, + { -1000, -200, -23000 }, + { -2000, -200, -23500 }, + { -2200, -200, -23500 }, + { -2300, -200, -23500 }, + }, + { + { -1000, 500, -29500 }, + { -300, 300, -31500 }, + { 300, -150, -32500 }, + { -200, 250, -34000 }, + { -300, 300, -35000 }, + { -600, 300, -36000 }, + { 1000, -180, -40000 }, + { 1000, -180, -40000 }, + } + }; void fn_2_7EDC(s32 arg0, s32 arg1, float arg2, Vec *arg3) { - Vec *temp_r31; - Vec *temp_r30; - Vec *temp_r29; - Vec *temp_r28; - float temp_f31 = arg2 * arg2; - if (arg1 == 0) { - temp_r31 = &lbl_2_data_334[arg0][arg1]; - temp_r30 = &lbl_2_data_334[arg0][arg1 + 1]; - temp_r29 = &lbl_2_data_334[arg0][arg1 + 2]; - temp_r28 = &lbl_2_data_334[arg0][arg1 + 3]; - arg3->x = (0.5f - * ((2.0f * temp_r31->x) - + ((temp_f31 * (temp_r29->x + (temp_r31->x - (2.0f * temp_r30->x)))) - + (arg2 * (((-3.0f * temp_r31->x) + (4.0f * temp_r30->x)) - temp_r29->x))))); - arg3->y = (0.5f - * ((2.0f * temp_r31->y) - + ((temp_f31 * (temp_r29->y + (temp_r31->y - (2.0f * temp_r30->y)))) - + (arg2 * (((-3.0f * temp_r31->y) + (4.0f * temp_r30->y)) - temp_r29->y))))); - arg3->z = (0.5f - * ((2.0f * temp_r31->z) - + ((temp_f31 * (temp_r29->z + (temp_r31->z - (2.0f * temp_r30->z)))) - + (arg2 * (((-3.0f * temp_r31->z) + (4.0f * temp_r30->z)) - temp_r29->z))))); - } - else { - temp_r31 = &lbl_2_data_334[arg0][arg1 - 1]; - temp_r30 = &lbl_2_data_334[arg0][arg1]; - temp_r29 = &lbl_2_data_334[arg0][arg1 + 1]; - temp_r28 = &lbl_2_data_334[arg0][arg1 + 2]; - arg3->x = (0.5f - * ((2.0f * temp_r30->x) - + ((arg2 * (-temp_r31->x + temp_r29->x)) - + ((arg2 * (temp_f31 * (temp_r28->x + ((-temp_r31->x + (3.0f * temp_r30->x)) - (3.0f * temp_r29->x))))) - + (temp_f31 * (((4.0f * temp_r29->x) + ((2.0f * temp_r31->x) - (5.0f * temp_r30->x))) - temp_r28->x)))))); - arg3->y = (0.5f - * ((2.0f * temp_r30->y) - + ((arg2 * (-temp_r31->y + temp_r29->y)) - + ((arg2 * (temp_f31 * (temp_r28->y + ((-temp_r31->y + (3.0f * temp_r30->y)) - (3.0f * temp_r29->y))))) - + (temp_f31 * (((4.0f * temp_r29->y) + ((2.0f * temp_r31->y) - (5.0f * temp_r30->y))) - temp_r28->y)))))); - arg3->z = (0.5f - * ((2.0f * temp_r30->z) - + ((arg2 * (-temp_r31->z + temp_r29->z)) - + ((arg2 * (temp_f31 * (temp_r28->z + ((-temp_r31->z + (3.0f * temp_r30->z)) - (3.0f * temp_r29->z))))) - + (temp_f31 * (((4.0f * temp_r29->z) + ((2.0f * temp_r31->z) - (5.0f * temp_r30->z))) - temp_r28->z)))))); - } + Vec *temp_r31; + Vec *temp_r30; + Vec *temp_r29; + Vec *temp_r28; + float temp_f31 = arg2*arg2; + if(arg1 == 0) { + temp_r31 = &lbl_2_data_334[arg0][arg1]; + temp_r30 = &lbl_2_data_334[arg0][arg1+1]; + temp_r29 = &lbl_2_data_334[arg0][arg1+2]; + temp_r28 = &lbl_2_data_334[arg0][arg1+3]; + arg3->x = (0.5f * ((2.0f * temp_r31->x) + ((temp_f31 * (temp_r29->x + (temp_r31->x - (2.0f * temp_r30->x)))) + (arg2 * (((-3.0f * temp_r31->x) + (4.0f * temp_r30->x)) - temp_r29->x))))); + arg3->y = (0.5f * ((2.0f * temp_r31->y) + ((temp_f31 * (temp_r29->y + (temp_r31->y - (2.0f * temp_r30->y)))) + (arg2 * (((-3.0f * temp_r31->y) + (4.0f * temp_r30->y)) - temp_r29->y))))); + arg3->z = (0.5f * ((2.0f * temp_r31->z) + ((temp_f31 * (temp_r29->z + (temp_r31->z - (2.0f * temp_r30->z)))) + (arg2 * (((-3.0f * temp_r31->z) + (4.0f * temp_r30->z)) - temp_r29->z))))); + } else { + temp_r31 = &lbl_2_data_334[arg0][arg1-1]; + temp_r30 = &lbl_2_data_334[arg0][arg1]; + temp_r29 = &lbl_2_data_334[arg0][arg1+1]; + temp_r28 = &lbl_2_data_334[arg0][arg1+2]; + arg3->x = (0.5f * ((2.0f * temp_r30->x) + ((arg2 * (-temp_r31->x + temp_r29->x)) + ((arg2 * (temp_f31 * (temp_r28->x + ((-temp_r31->x + (3.0f * temp_r30->x)) - (3.0f * temp_r29->x))))) + (temp_f31 * (((4.0f * temp_r29->x) + ((2.0f * temp_r31->x) - (5.0f * temp_r30->x))) - temp_r28->x)))))); + arg3->y = (0.5f * ((2.0f * temp_r30->y) + ((arg2 * (-temp_r31->y + temp_r29->y)) + ((arg2 * (temp_f31 * (temp_r28->y + ((-temp_r31->y + (3.0f * temp_r30->y)) - (3.0f * temp_r29->y))))) + (temp_f31 * (((4.0f * temp_r29->y) + ((2.0f * temp_r31->y) - (5.0f * temp_r30->y))) - temp_r28->y)))))); + arg3->z = (0.5f * ((2.0f * temp_r30->z) + ((arg2 * (-temp_r31->z + temp_r29->z)) + ((arg2 * (temp_f31 * (temp_r28->z + ((-temp_r31->z + (3.0f * temp_r30->z)) - (3.0f * temp_r29->z))))) + (temp_f31 * (((4.0f * temp_r29->z) + ((2.0f * temp_r31->z) - (5.0f * temp_r30->z))) - temp_r28->z)))))); + } } s32 fn_2_8450(omObjData *object) { - Work7CB4 *temp_r31; - Vec *temp_r29; - Vec *temp_r28; - float temp_f29; - Vec sp18; - Vec spC; - temp_r31 = object->data; - while (1) { - if (temp_r31->unk2E == lbl_2_data_32C[temp_r31->unk2C]) { - return 1; - } - temp_r28 = &lbl_2_data_334[temp_r31->unk2C][temp_r31->unk2E + 1]; - temp_r29 = &lbl_2_data_334[temp_r31->unk2C][temp_r31->unk2E]; - sp18.x = temp_r28->x - temp_r29->x; - sp18.y = temp_r28->y - temp_r29->y; - sp18.z = temp_r28->z - temp_r29->z; - temp_f29 = VECMagPoint(sp18.x, sp18.y, sp18.z); - if (temp_r31->unk30 > temp_f29) { - temp_r31->unk30 -= temp_f29; - temp_r31->unk2E++; - continue; - } - break; - } - fn_2_7EDC(temp_r31->unk2C, temp_r31->unk2E, temp_r31->unk30 / temp_f29, &spC); - sp18.x = spC.x - object->trans.x; - sp18.y = spC.y - object->trans.y; - sp18.z = spC.z - object->trans.z; - VECNormalize(&sp18, &sp18); - object->trans.x = spC.x; - object->trans.y = spC.y; - object->trans.z = spC.z; - object->rot.y = atan2d(sp18.x, sp18.z); - object->rot.x = -90.0f * sp18.y; - return 0; + Work7CB4 *temp_r31; + Vec *temp_r29; + Vec *temp_r28; + float temp_f29; + Vec sp18; + Vec spC; + temp_r31 = object->data; + while(1) { + if(temp_r31->unk2E == lbl_2_data_32C[temp_r31->unk2C]) { + return 1; + } + temp_r28 = &lbl_2_data_334[temp_r31->unk2C][temp_r31->unk2E+1]; + temp_r29 = &lbl_2_data_334[temp_r31->unk2C][temp_r31->unk2E]; + sp18.x = temp_r28->x - temp_r29->x; + sp18.y = temp_r28->y - temp_r29->y; + sp18.z = temp_r28->z - temp_r29->z; + temp_f29 = VECMagPoint(sp18.x, sp18.y, sp18.z); + if(temp_r31->unk30 > temp_f29) { + temp_r31->unk30 -= temp_f29; + temp_r31->unk2E++; + continue; + } + break; + } + fn_2_7EDC(temp_r31->unk2C, temp_r31->unk2E, temp_r31->unk30/temp_f29, &spC); + sp18.x = spC.x-object->trans.x; + sp18.y = spC.y-object->trans.y; + sp18.z = spC.z-object->trans.z; + VECNormalize(&sp18, &sp18); + object->trans.x = spC.x; + object->trans.y = spC.y; + object->trans.z = spC.z; + object->rot.y = atan2d(sp18.x, sp18.z); + object->rot.x = -90.0f*sp18.y; + return 0; } s32 fn_2_873C(omObjData *object) { - Work7CB4 *temp_r30; - Vec sp8; - temp_r30 = object->data; - if (object->trans.x > -400.0f && object->trans.x < 400.0f && object->trans.z - lbl_2_bss_60.z < 300.0f && object->trans.y > -300.0f - && object->trans.y < 300.0f) { - if (temp_r30->unk1E == 0) { - if (temp_r30->unk20 != 0) { - temp_r30->unk20--; - sp8.x = object->trans.x; - sp8.y = object->trans.y; - sp8.z = object->trans.z - lbl_2_bss_60.z; - fn_2_10A88(&sp8, 1); - return 1; - } - } - else { - temp_r30->unk1E--; - } - } - return 0; + Work7CB4 *temp_r30; + Vec sp8; + temp_r30 = object->data; + if(object->trans.x > -400.0f + && object->trans.x < 400.0f + && object->trans.z-lbl_2_bss_60.z < 300.0f + && object->trans.y > -300.0f + && object->trans.y < 300.0f) { + if(temp_r30->unk1E == 0) { + if(temp_r30->unk20 != 0) { + temp_r30->unk20--; + sp8.x = object->trans.x; + sp8.y = object->trans.y; + sp8.z = object->trans.z-lbl_2_bss_60.z; + fn_2_10A88(&sp8, 1); + return 1; + } + + } else { + temp_r30->unk1E--; + } + } + return 0; } void fn_2_8968(omObjData *object); void fn_2_8868(omObjData *object) { - Work7CB4 *temp_r31; - temp_r31 = object->data; - if (lbl_2_bss_60.z < -20800.0f) { - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - temp_r31->unk2C = 0; - temp_r31->unk2E = 0; - temp_r31->unk30 = 0; - temp_r31->unk1E = ((frand() % 10) + 13) * 0.43478262f; - temp_r31->unk20 = 2; - fn_2_8450(object); - object->func = fn_2_8968; - } + Work7CB4 *temp_r31; + temp_r31 = object->data; + if(lbl_2_bss_60.z < -20800.0f) { + Hu3DModelAttrReset(object->model[0], 1); + temp_r31->unk2C = 0; + temp_r31->unk2E = 0; + temp_r31->unk30 = 0; + temp_r31->unk1E = ((frand()%10)+13)*0.43478262f; + temp_r31->unk20 = 2; + fn_2_8450(object); + object->func = fn_2_8968; + } } void fn_2_8B58(omObjData *object); void fn_2_8968(omObjData *object) { - Work7CB4 *temp_r29; - temp_r29 = object->data; - temp_r29->unk30 += 25.875; - if (fn_2_873C(object)) { - temp_r29->unk1E = ((frand() % 15) + 22) * 0.43478262f; - } - if (fn_2_8450(object)) { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - object->func = fn_2_8B58; - } + Work7CB4 *temp_r29; + temp_r29 = object->data; + temp_r29->unk30 += 25.875; + if(fn_2_873C(object)) { + temp_r29->unk1E = ((frand()%15)+22)*0.43478262f; + } + if(fn_2_8450(object)) { + Hu3DModelAttrSet(object->model[0], 1); + object->func = fn_2_8B58; + } } void fn_2_8C58(omObjData *object); void fn_2_8B58(omObjData *object) { - Work7CB4 *temp_r31; - temp_r31 = object->data; - if (lbl_2_bss_60.z < -30500.0f) { - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - temp_r31->unk2C = 1; - temp_r31->unk2E = 0; - temp_r31->unk30 = 0; - temp_r31->unk1E = ((frand() % 60) + 50) * 0.43478262f; - temp_r31->unk20 = 3; - fn_2_8450(object); - object->func = fn_2_8C58; - } + Work7CB4 *temp_r31; + temp_r31 = object->data; + if(lbl_2_bss_60.z < -30500.0f) { + Hu3DModelAttrReset(object->model[0], 1); + temp_r31->unk2C = 1; + temp_r31->unk2E = 0; + temp_r31->unk30 = 0; + temp_r31->unk1E = ((frand()%60)+50)*0.43478262f; + temp_r31->unk20 = 3; + fn_2_8450(object); + object->func = fn_2_8C58; + } } -s32 lbl_2_data_424[] = { 50, 95 }; +s32 lbl_2_data_424[] = { + 50, 95 +}; void fn_2_8C58(omObjData *object) { - Work7CB4 *temp_r29; - temp_r29 = object->data; - temp_r29->unk30 += 25.875; - if (fn_2_873C(object)) { - temp_r29->unk1E = ((frand() % 15) + lbl_2_data_424[lbl_2_bss_14++]) * 0.43478262f; - } - if (fn_2_8450(object)) { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - object->func = NULL; - } + Work7CB4 *temp_r29; + temp_r29 = object->data; + temp_r29->unk30 += 25.875; + if(fn_2_873C(object)) { + temp_r29->unk1E = ((frand()%15)+lbl_2_data_424[lbl_2_bss_14++])*0.43478262f; + } + if(fn_2_8450(object)) { + Hu3DModelAttrSet(object->model[0], 1); + object->func = NULL; + } } typedef struct work_8E74 { - Vec unk0; - Vec unkC; - Vec unk18; - Vec unk24; - float unk30; - Vec unk34; + Vec unk0; + Vec unkC; + Vec unk18; + Vec unk24; + float unk30; + Vec unk34; } Work8E74; void fn_2_9298(omObjData *object); void fn_2_8E74(omObjData *object) { - Work8E74 *temp_r31; - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work8E74), MEMORY_DEFAULT_NUM); - temp_r31 = object->data; - temp_r31->unk24.x = 6; - temp_r31->unk24.z = 90; - temp_r31->unk24.y = 100; - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x0D)); - object->motion[0] = Hu3DJointMotionFile(object->model[0], DATA_MAKE_NUM(DATADIR_M401, 0x10)); - Hu3DMotionSet(object->model[0], object->motion[0]); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - omSetTra(object, -1000, 0, -23000); - omSetRot(object, 0, 90, 0); - temp_r31->unkC.x = 1000.0f - object->trans.x; - temp_r31->unkC.y = temp_r31->unk24.y - object->trans.y; - temp_r31->unkC.z = 0; - temp_r31->unk34.x = 1000; - temp_r31->unk34.y = 30; - temp_r31->unk34.z = 360.0f + ((1.0f / 255.0f) * frandu8()); - temp_r31->unk30 = VECMagPoint(temp_r31->unkC.x, temp_r31->unkC.y, temp_r31->unkC.z); - VECNormalize(&temp_r31->unkC, &temp_r31->unk0); - Hu3DModelShadowSet(object->model[0]); - object->work[3] = 2; - object->func = fn_2_9298; + Work8E74 *temp_r31; + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work8E74), MEMORY_DEFAULT_NUM); + temp_r31 = object->data; + temp_r31->unk24.x = 6; + temp_r31->unk24.z = 90; + temp_r31->unk24.y = 100; + object->model[0] = Hu3DModelCreateFile(0x20000D); + object->motion[0] = Hu3DJointMotionFile(object->model[0], 0x200010); + Hu3DMotionSet(object->model[0], object->motion[0]); + Hu3DModelAttrSet(object->model[0], 0x40000001); + Hu3DModelAttrSet(object->model[0], 1); + omSetTra(object, -1000, 0, -23000); + omSetRot(object, 0, 90, 0); + temp_r31->unkC.x = 1000.0f-object->trans.x; + temp_r31->unkC.y = temp_r31->unk24.y-object->trans.y; + temp_r31->unkC.z = 0; + temp_r31->unk34.x = 1000; + temp_r31->unk34.y = 30; + temp_r31->unk34.z = 360.0f+((1.0f/255.0f)*frandu8()); + temp_r31->unk30 = VECMagPoint(temp_r31->unkC.x, temp_r31->unkC.y, temp_r31->unkC.z); + VECNormalize(&temp_r31->unkC, &temp_r31->unk0); + Hu3DModelShadowSet(object->model[0]); + object->work[3] = 2; + object->func = fn_2_9298; } void fn_2_91AC(omObjData *object, Vec *pos) { - Work8E74 *temp_r30; - temp_r30 = object->data; - temp_r30->unk18 = *pos; - temp_r30->unk34.z = (1.0f / 255.0f) * (360.0f * frandu8()); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - omSetTra(object, pos->x, pos->y, pos->z); - object->work[2] = HuAudFXEmiterPlay(1284, &pos); - object->func = fn_2_9298; + Work8E74 *temp_r30; + temp_r30 = object->data; + temp_r30->unk18 = *pos; + temp_r30->unk34.z = (1.0f/255.0f)*(360.0f*frandu8()); + Hu3DModelAttrReset(object->model[0], 1); + omSetTra(object, pos->x, pos->y, pos->z); + object->work[2] = HuAudFXEmiterPlay(1284, &pos); + object->func = fn_2_9298; } void fn_2_9298(omObjData *object) { - Work8E74 *temp_r31; - float temp_f29; - Vec spC; - temp_r31 = object->data; - object->trans.x = temp_r31->unk18.x + 1000.0f * sind(temp_r31->unk34.z); - temp_f29 = (temp_r31->unk34.y / temp_r31->unk34.x) * sqrtf((temp_r31->unk34.x * temp_r31->unk34.x) - (object->trans.x * object->trans.x)); - if (temp_r31->unk34.z >= 90.0f && temp_r31->unk34.z <= 270.0f) { - temp_f29 = -temp_f29; - } - object->trans.z = temp_r31->unk18.z + temp_f29; - temp_r31->unk34.z += 0.6f + (0.6f * fabs(cosd(temp_r31->unk34.z))); - if (temp_r31->unk34.z >= 360.0f) { - temp_r31->unk34.z -= 360.0f; - } - omSetRot(object, 0, 90.0f + temp_r31->unk34.z, 0); - spC.x = object->trans.x; - spC.y = object->trans.y; - spC.z = object->trans.z; - HuAudFXEmiterUpDate(object->work[2], &spC); - if (object->trans.z > lbl_2_bss_6C.z - 220.0f) { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - HuAudFXStop(object->work[2]); - object->func = NULL; - } + Work8E74 *temp_r31; + float temp_f29; + Vec spC; + temp_r31 = object->data; + object->trans.x = temp_r31->unk18.x+1000.0f*sind(temp_r31->unk34.z); + temp_f29 = (temp_r31->unk34.y/temp_r31->unk34.x)*sqrtf((temp_r31->unk34.x*temp_r31->unk34.x)-(object->trans.x*object->trans.x)); + if(temp_r31->unk34.z >= 90.0f && temp_r31->unk34.z <= 270.0f) { + temp_f29 = -temp_f29; + } + object->trans.z = temp_r31->unk18.z+temp_f29; + temp_r31->unk34.z += 0.6f+(0.6f*fabs(cosd(temp_r31->unk34.z))); + if(temp_r31->unk34.z >= 360.0f) { + temp_r31->unk34.z -= 360.0f; + } + omSetRot(object, 0, 90.0f+temp_r31->unk34.z , 0); + spC.x = object->trans.x; + spC.y = object->trans.y; + spC.z = object->trans.z; + HuAudFXEmiterUpDate(object->work[2], &spC); + if(object->trans.z > lbl_2_bss_6C.z-220.0f) { + Hu3DModelAttrSet(object->model[0], 1); + HuAudFXStop(object->work[2]); + object->func = NULL; + } } void fn_2_979C(omObjData *object); void fn_2_95E4(omObjData *object) { - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x18)); - object->motion[0] = Hu3DJointMotionFile(object->model[0], DATA_MAKE_NUM(DATADIR_M401, 0x19)); - object->motion[1] = Hu3DJointMotionFile(object->model[0], DATA_MAKE_NUM(DATADIR_M401, 0x1A)); - omSetTra(object, 3000, 0, -37000); - omSetRot(object, 0, 270, 0); - Hu3DMotionSet(object->model[0], object->motion[0]); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - object->work[3] = 3; - Hu3DModelShadowSet(object->model[0]); - object->func = fn_2_979C; + object->model[0] = Hu3DModelCreateFile(0x200018); + object->motion[0] = Hu3DJointMotionFile(object->model[0], 0x200019); + object->motion[1] = Hu3DJointMotionFile(object->model[0], 0x20001A); + omSetTra(object, 3000, 0, -37000); + omSetRot(object, 0, 270, 0); + Hu3DMotionSet(object->model[0], object->motion[0]); + Hu3DModelAttrSet(object->model[0], 0x1); + Hu3DModelAttrSet(object->model[0], 0x40000001); + object->work[3] = 3; + Hu3DModelShadowSet(object->model[0]); + object->func = fn_2_979C; } void fn_2_9734(s32 flag) { - if (flag) { - Hu3DModelAttrReset(lbl_2_bss_FC->model[0], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(lbl_2_bss_FC->model[0], HU3D_ATTR_DISPOFF); - } + if(flag) { + Hu3DModelAttrReset(lbl_2_bss_FC->model[0], 1); + } else { + Hu3DModelAttrSet(lbl_2_bss_FC->model[0], 1); + } } void fn_2_988C(omObjData *object); void fn_2_979C(omObjData *object) { - if (lbl_2_bss_60.z < -19000.0f) { - fn_2_9734(1); - omSetTra(object, -2500, -800, -21000); - omSetRot(object, 0, 125, 0); - Hu3DMotionSet(object->model[0], object->motion[0]); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - object->func = fn_2_988C; - } + if(lbl_2_bss_60.z < -19000.0f) { + fn_2_9734(1); + omSetTra(object, -2500, -800, -21000); + omSetRot(object, 0, 125, 0); + Hu3DMotionSet(object->model[0], object->motion[0]); + Hu3DModelAttrSet(object->model[0], 0x40000001); + object->func = fn_2_988C; + } } void fn_2_99A4(omObjData *object); void fn_2_988C(omObjData *object) { - object->trans.x += 2.3f * (26.0 * sind(object->rot.y)); - object->trans.z += 2.3f * (26.0 * cosd(object->rot.y)); - if (object->trans.x > 6000.0f) { - fn_2_9734(0); - object->func = fn_2_99A4; - } + object->trans.x += 2.3f*(26.0*sind(object->rot.y)); + object->trans.z += 2.3f*(26.0*cosd(object->rot.y)); + if(object->trans.x > 6000.0f) { + fn_2_9734(0); + object->func = fn_2_99A4; + } } void fn_2_9B90(omObjData *object); void fn_2_99A4(omObjData *object) { - float temp_f31; - if (lbl_2_bss_60.z <= -36200.0f + ((1.0f / 255.0f) * (200.0f * frandu8()))) { - temp_f31 = -250.0f + ((1.0f / 255.0f) * (500.0f * frandu8())); - fn_2_9734(1); - omSetTra(object, 3000, temp_f31, -37000); - omSetRot(object, 0, 270, 0); - Hu3DMotionSet(object->model[0], object->motion[0]); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - object->func = fn_2_9B90; - lbl_2_bss_78.x = object->trans.x; - lbl_2_bss_78.y = object->trans.y; - lbl_2_bss_78.z = object->trans.z; - lbl_2_bss_8C = HuAudFXEmiterPlay(1286, &lbl_2_bss_78); - } + float temp_f31; + if(lbl_2_bss_60.z <= -36200.0f+((1.0f/255.0f)*(200.0f*frandu8()))) { + temp_f31 = -250.0f+((1.0f/255.0f)*(500.0f*frandu8())); + fn_2_9734(1); + omSetTra(object, 3000, temp_f31, -37000); + omSetRot(object, 0, 270, 0); + Hu3DMotionSet(object->model[0], object->motion[0]); + Hu3DModelAttrSet(object->model[0], 0x40000001); + object->func = fn_2_9B90; + lbl_2_bss_78.x = object->trans.x; + lbl_2_bss_78.y = object->trans.y; + lbl_2_bss_78.z = object->trans.z; + lbl_2_bss_8C = HuAudFXEmiterPlay(1286, &lbl_2_bss_78); + } } void fn_2_9B90(omObjData *object) { - object->trans.x += 2.3f * (17.0 * sind(object->rot.y)); - object->trans.z += 2.3f * (17.0 * cosd(object->rot.y)); - lbl_2_bss_78.x = object->trans.x; - lbl_2_bss_78.y = object->trans.y; - lbl_2_bss_78.z = object->trans.z; - HuAudFXEmiterUpDate(lbl_2_bss_8C, &lbl_2_bss_78); - if (object->trans.x <= -3000.0f) { - fn_2_9734(0); - object->func = NULL; - HuAudFXStop(lbl_2_bss_8C); - } + object->trans.x += 2.3f*(17.0*sind(object->rot.y)); + object->trans.z += 2.3f*(17.0*cosd(object->rot.y)); + lbl_2_bss_78.x = object->trans.x; + lbl_2_bss_78.y = object->trans.y; + lbl_2_bss_78.z = object->trans.z; + HuAudFXEmiterUpDate(lbl_2_bss_8C, &lbl_2_bss_78); + if(object->trans.x <= -3000.0f) { + fn_2_9734(0); + object->func = NULL; + HuAudFXStop(lbl_2_bss_8C); + } } typedef struct work_a318 { - Vec unk0; - s16 unkC; + Vec unk0; + s16 unkC; } WorkA318; -s32 lbl_2_data_42C[] = { DATA_MAKE_NUM(DATADIR_M401, 0x1C), DATA_MAKE_NUM(DATADIR_M401, 0x1D) }; +s32 lbl_2_data_42C[] = { + 0x20001C, + 0x20001D +}; void fn_2_9D00(Process *objman) { - omObjData *temp_r31; - s32 temp_r30; - s32 temp_r29; - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - temp_r31 = omAddObjEx(objman, 1130, 1, 2, -1, NULL); - lbl_2_bss_E4[temp_r29] = temp_r31; - temp_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x1B)); - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - temp_r31->motion[temp_r30] = Hu3DJointMotionFile(temp_r31->model[0], lbl_2_data_42C[temp_r30]); - } - Hu3DModelAttrSet(temp_r31->model[0], HU3D_ATTR_DISPOFF); - temp_r31->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkA318), MEMORY_DEFAULT_NUM); - Hu3DModelShadowSet(temp_r31->model[0]); - temp_r31->work[3] = 1; - } + omObjData *temp_r31; + s32 temp_r30; + s32 temp_r29; + for(temp_r29=0; temp_r29<4; temp_r29++) { + temp_r31 = omAddObjEx(objman, 1130, 1, 2, -1, NULL); + lbl_2_bss_E4[temp_r29] = temp_r31; + temp_r31->model[0] = Hu3DModelCreateFile(0x20001B); + for(temp_r30=0; temp_r30<2; temp_r30++) { + temp_r31->motion[temp_r30] = Hu3DJointMotionFile(temp_r31->model[0], lbl_2_data_42C[temp_r30]); + } + Hu3DModelAttrSet(temp_r31->model[0], 1); + temp_r31->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkA318), MEMORY_DEFAULT_NUM); + Hu3DModelShadowSet(temp_r31->model[0]); + temp_r31->work[3] = 1; + } } void fn_2_A318(omObjData *object); + void fn_2_9E28(float arg1, float arg2) { - s32 temp_r31; - WorkA318 *temp_r30; - float temp_f31; - float temp_f30; - float temp_f29; - temp_f30 = (arg2 - arg1) / 4; - temp_f31 = arg1; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r30 = lbl_2_bss_E4[temp_r31]->data; - Hu3DModelAttrReset(lbl_2_bss_E4[temp_r31]->model[0], HU3D_ATTR_DISPOFF); - temp_f29 = -400.0f + ((1.0f / 255.0f) * (800.0f * frandu8())); - temp_r30->unk0.x = -250.0f + ((1.0f / 255.0f) * (500.0f * frandu8())); - omSetTra(lbl_2_bss_E4[temp_r31], temp_f29, temp_r30->unk0.x + lbl_2_bss_60.y, temp_f31); - Hu3DMotionSet(lbl_2_bss_E4[temp_r31]->model[0], lbl_2_bss_E4[temp_r31]->motion[0]); - Hu3DModelAttrSet(lbl_2_bss_E4[temp_r31]->model[0], HU3D_MOTATTR_LOOP); - temp_f31 += temp_f30; - temp_r30->unkC = (frand() % 30) + 30; - temp_r30->unk0.z = 0; - lbl_2_bss_E4[temp_r31]->func = fn_2_A318; - } + s32 temp_r31; + WorkA318 *temp_r30; + float temp_f31; + float temp_f30; + float temp_f29; + temp_f30 = (arg2-arg1)/4; + temp_f31 = arg1; + for(temp_r31=0; temp_r31<4; temp_r31++) { + temp_r30 = lbl_2_bss_E4[temp_r31]->data; + Hu3DModelAttrReset(lbl_2_bss_E4[temp_r31]->model[0], 1); + temp_f29 = -400.0f+((1.0f/255.0f)*(800.0f*frandu8())); + temp_r30->unk0.x = -250.0f+((1.0f/255.0f)*(500.0f*frandu8())); + omSetTra(lbl_2_bss_E4[temp_r31], temp_f29, temp_r30->unk0.x+lbl_2_bss_60.y, temp_f31); + Hu3DMotionSet(lbl_2_bss_E4[temp_r31]->model[0], lbl_2_bss_E4[temp_r31]->motion[0]); + Hu3DModelAttrSet(lbl_2_bss_E4[temp_r31]->model[0], 0x40000001); + temp_f31 += temp_f30; + temp_r30->unkC = (frand()%30)+30; + temp_r30->unk0.z = 0; + lbl_2_bss_E4[temp_r31]->func = fn_2_A318; + } } omObjData *fn_2_A0B0(omObjData *object) { - omObjData *temp_r31; - s32 temp_r30; - omObjData *temp_r29; - M401WorkPlayer *spC; - - float temp_f27; - float temp_f26; - temp_f26 = 999999; - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - float temp_f31; - float temp_f30; - float temp_f29; - temp_r31 = lbl_2_bss_118[temp_r30]; - spC = temp_r31->data; - temp_f31 = temp_r31->trans.x - object->trans.x; - temp_f30 = temp_r31->trans.y - object->trans.y; - temp_f29 = 0.4f * (temp_r31->trans.z - object->trans.z); - temp_f27 = VECMagPoint(temp_f31, temp_f30, temp_f29); - if (temp_f27 < temp_f26) { - temp_r29 = lbl_2_bss_118[temp_r30]; - temp_f26 = temp_f27; - } - } - return temp_r29; + omObjData *temp_r31; + s32 temp_r30; + omObjData *temp_r29; + M401WorkPlayer *spC; + + float temp_f27; + float temp_f26; + temp_f26 = 999999; + for(temp_r30=0; temp_r30<4; temp_r30++) { + float temp_f31; + float temp_f30; + float temp_f29; + temp_r31 = lbl_2_bss_118[temp_r30]; + spC = temp_r31->data; + temp_f31 = temp_r31->trans.x - object->trans.x; + temp_f30 = temp_r31->trans.y - object->trans.y; + temp_f29 = 0.4f*(temp_r31->trans.z - object->trans.z); + temp_f27 = VECMagPoint(temp_f31, temp_f30, temp_f29); + if(temp_f27 < temp_f26) { + temp_r29 = lbl_2_bss_118[temp_r30]; + temp_f26 = temp_f27; + } + } + return temp_r29; } void fn_2_A318(omObjData *object) { - WorkA318 *temp_r30; - omObjData *temp_r28; - M401WorkPlayer *sp10; - temp_r30 = object->data; - if (0.0f == temp_r30->unk0.z) { - if (temp_r30->unkC == 0) { - temp_r28 = fn_2_A0B0(object); - sp10 = temp_r28->data; - temp_r30->unk0.y = atan2d(temp_r28->trans.y - object->trans.y, temp_r28->trans.x - object->trans.x); - temp_r30->unk0.z = 8.0f + ((1.0f / 255.0f) * ((9.0f * frandu8()))); - Hu3DMotionSet(object->model[0], object->motion[1]); - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); - lbl_2_bss_78.x = object->trans.x; - lbl_2_bss_78.y = object->trans.y; - lbl_2_bss_78.z = object->trans.z; - HuAudFXEmiterPlay(1282, &lbl_2_bss_78); - } - else { - temp_r30->unkC--; - temp_r30->unk0.x -= 2.5f; - } - } - else { - temp_r30->unk0.x = temp_r30->unk0.x + (temp_r30->unk0.z * sind(temp_r30->unk0.y)); - object->trans.x += temp_r30->unk0.z * cosd(temp_r30->unk0.y); - temp_r30->unk0.z *= 0.94f; - if (temp_r30->unk0.z < 0.1f) { - temp_r30->unk0.z = 0; - temp_r30->unkC = (frand() % 30) + 25; - Hu3DMotionSet(object->model[0], object->motion[0]); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - } - } - if (temp_r30->unk0.x < -300.0f) { - temp_r30->unk0.x = -300.0f; - } - if (temp_r30->unk0.x > 300.0f) { - temp_r30->unk0.x = 300.0f; - } - if (object->trans.x < -400.0f) { - object->trans.x = -400.0f; - } - if (object->trans.x > 400.0f) { - object->trans.x = 400.0f; - } - omSetTra(object, object->trans.x, temp_r30->unk0.x + lbl_2_bss_60.y, object->trans.z); - if (object->trans.z > lbl_2_bss_6C.z - 160.0f) { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - object->func = NULL; - } + WorkA318 *temp_r30; + omObjData *temp_r28; + M401WorkPlayer *sp10; + temp_r30 = object->data; + if(0.0f == temp_r30->unk0.z) { + if(temp_r30->unkC == 0) { + temp_r28 = fn_2_A0B0(object); + sp10 = temp_r28->data; + temp_r30->unk0.y = atan2d(temp_r28->trans.y - object->trans.y, temp_r28->trans.x - object->trans.x); + temp_r30->unk0.z = 8.0f+((1.0f/255.0f)*((9.0f*frandu8()))); + Hu3DMotionSet(object->model[0], object->motion[1]); + Hu3DModelAttrReset(object->model[0], 0x40000001); + lbl_2_bss_78.x = object->trans.x; + lbl_2_bss_78.y = object->trans.y; + lbl_2_bss_78.z = object->trans.z; + HuAudFXEmiterPlay(1282, &lbl_2_bss_78); + } else { + temp_r30->unkC--; + temp_r30->unk0.x -= 2.5f; + } + } else { + temp_r30->unk0.x = temp_r30->unk0.x+(temp_r30->unk0.z*sind(temp_r30->unk0.y)); + object->trans.x += temp_r30->unk0.z*cosd(temp_r30->unk0.y); + temp_r30->unk0.z *= 0.94f; + if(temp_r30->unk0.z < 0.1f) { + temp_r30->unk0.z = 0; + temp_r30->unkC = (frand()%30)+25; + Hu3DMotionSet(object->model[0], object->motion[0]); + Hu3DModelAttrSet(object->model[0], 0x40000001); + } + } + if(temp_r30->unk0.x < -300.0f) { + temp_r30->unk0.x = -300.0f; + } + if(temp_r30->unk0.x > 300.0f) { + temp_r30->unk0.x = 300.0f; + } + if(object->trans.x < -400.0f) { + object->trans.x = -400.0f; + } + if(object->trans.x > 400.0f) { + object->trans.x = 400.0f; + } + omSetTra(object, object->trans.x, temp_r30->unk0.x+lbl_2_bss_60.y, object->trans.z); + if(object->trans.z > lbl_2_bss_6C.z-160.0f) { + Hu3DModelAttrSet(object->model[0], 1); + object->func = NULL; + } } void fn_2_A8A4(omObjData *object, float x, float y, float z) { - omSetTra(object, lbl_2_bss_60.x + x, lbl_2_bss_60.y + y, lbl_2_bss_60.z + z); + omSetTra(object, lbl_2_bss_60.x+x, lbl_2_bss_60.y+y, lbl_2_bss_60.z+z); } -s32 lbl_2_data_434[] = { 0x12D, 0x16D, 0x1AD, 0x1ED, 0x22D, 0x26D, 0x2AD, 0x2ED }; +s32 lbl_2_data_434[] = { + 0x12D, + 0x16D, + 0x1AD, + 0x1ED, + 0x22D, + 0x26D, + 0x2AD, + 0x2ED +}; void fn_2_A914(s32 player) { - HuAudPlayerVoicePlay(player, 301); + HuAudPlayerVoicePlay(player, 301); } void fn_2_A940(omObjData *object) { - Vec spC; - omObjData *sp8; - M401WorkPlayer *temp_r28; - s32 temp_r23; - temp_r28 = object->data; - if (temp_r28->unk78 != 0) { - return; - } - spC.x = object->trans.x; - spC.y = object->trans.y; - spC.z = object->trans.z; - if ((temp_r23 = fn_2_AC2C(&spC, 90, &sp8)) != 0) { - if (temp_r23 == 1) { - omVibrate(temp_r28->unk4, 12, 4, 2); - } - else if (temp_r23 == 3) { - omVibrate(temp_r28->unk4, 12, 4, 2); - } - else { - omVibrate(temp_r28->unk4, 12, 12, 0); - } - fn_2_7C3C(object); - fn_2_1858(temp_r28->unk4, sp8->work[3]); - } + Vec spC; + omObjData *sp8; + M401WorkPlayer *temp_r28; + s32 temp_r23; + temp_r28 = object->data; + if(temp_r28->unk78 != 0) { + return; + } + spC.x = object->trans.x; + spC.y = object->trans.y; + spC.z = object->trans.z; + if((temp_r23 = fn_2_AC2C(&spC, 90, &sp8)) != 0) { + if(temp_r23 == 1) { + omVibrate(temp_r28->unk4, 12, 4, 2); + } else if(temp_r23 == 3) { + omVibrate(temp_r28->unk4, 12, 4, 2); + } else { + omVibrate(temp_r28->unk4, 12, 12, 0); + } + fn_2_7C3C(object); + fn_2_1858(temp_r28->unk4, sp8->work[3]); + } + } s32 fn_2_AC2C(Vec *pos, float dist, omObjData **newobj) { - omObjData *temp_r30; - s32 temp_r29; - float temp_f20; - float temp_f19; - float temp_f18; - WorkA318 *sp70; - float sp6C; - - *newobj = NULL; - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - temp_r30 = lbl_2_bss_E4[temp_r29]; - if (temp_r30->func != NULL) { - sp70 = temp_r30->data; - temp_f20 = VECMagPoint(pos->x - temp_r30->trans.x, pos->y - temp_r30->trans.y, pos->z - temp_r30->trans.z); - if (temp_f20 < sqrtf(1024.0f + (dist * dist))) { - *newobj = temp_r30; - return 1; - } - } - } - temp_r30 = lbl_2_bss_FC; - temp_f20 = VECDistanceZY(pos, &temp_r30->trans); - if (temp_f20 < sqrtf(6400.0f + (dist * dist)) && temp_r30->trans.x < pos->x - (dist / 2.0f) - && 1500.0f + temp_r30->trans.x > pos->x + (dist / 2.0f)) { - *newobj = temp_r30; - return 2; - } - for (temp_r29 = 0; temp_r29 < 2; temp_r29++) { - if (lbl_2_bss_100[temp_r29]->func != NULL) { - temp_f19 = lbl_2_bss_100[temp_r29]->trans.x + (70.0 * sind(lbl_2_bss_100[temp_r29]->rot.y)); - temp_f18 = lbl_2_bss_100[temp_r29]->trans.z + (70.0 * cosd(lbl_2_bss_100[temp_r29]->rot.y)); - sp6C = lbl_2_bss_100[temp_r29]->trans.y - 10.0f; - temp_f20 = VECMagPoint(pos->x - temp_f19, pos->y - sp6C, pos->z - temp_f18); - if (temp_f20 < sqrtf(4900.0f + (dist * dist))) { - *newobj = lbl_2_bss_100[temp_r29]; - return 3; - } - temp_f19 = lbl_2_bss_100[temp_r29]->trans.x; - temp_f18 = lbl_2_bss_100[temp_r29]->trans.z; - sp6C = lbl_2_bss_100[temp_r29]->trans.y - 10.0f; - temp_f20 = VECMagPoint(pos->x - temp_f19, pos->y - sp6C, pos->z - temp_f18); - if (temp_f20 < sqrtf(4900.0f + (dist * dist))) { - *newobj = lbl_2_bss_100[temp_r29]; - return 3; - } - temp_f19 = lbl_2_bss_100[temp_r29]->trans.x + (70.0 * sind(lbl_2_bss_100[temp_r29]->rot.y + 180.0f)); - temp_f18 = lbl_2_bss_100[temp_r29]->trans.z + (70.0 * cosd(lbl_2_bss_100[temp_r29]->rot.y + 180.0f)); - sp6C = lbl_2_bss_100[temp_r29]->trans.y - 10.0f; - temp_f20 = VECMagPoint(pos->x - temp_f19, pos->y - sp6C, pos->z - temp_f18); - if (temp_f20 < sqrtf(4410.0f + (dist * dist))) { - *newobj = lbl_2_bss_100[temp_r29]; - return 3; - } - } - } - return 0; + omObjData *temp_r30; + s32 temp_r29; + float temp_f20; + float temp_f19; + float temp_f18; + WorkA318 *sp70; + float sp6C; + + *newobj = NULL; + for(temp_r29=0; temp_r29<4; temp_r29++) { + temp_r30 = lbl_2_bss_E4[temp_r29]; + if(temp_r30->func != NULL) { + sp70 = temp_r30->data; + temp_f20 = VECMagPoint(pos->x-temp_r30->trans.x, pos->y-temp_r30->trans.y, pos->z-temp_r30->trans.z); + if(temp_f20 < sqrtf(1024.0f+(dist*dist))) { + *newobj = temp_r30; + return 1; + } + } + } + temp_r30 = lbl_2_bss_FC; + temp_f20 = VECDistanceZY(pos, &temp_r30->trans); + if(temp_f20 < sqrtf(6400.0f+(dist*dist)) + && temp_r30->trans.x < pos->x-(dist/2.0f) + && 1500.0f+temp_r30->trans.x > pos->x+(dist/2.0f)) { + *newobj = temp_r30; + return 2; + } + for(temp_r29=0; temp_r29<2; temp_r29++) { + if(lbl_2_bss_100[temp_r29]->func != NULL) { + temp_f19 = lbl_2_bss_100[temp_r29]->trans.x+(70.0*sind(lbl_2_bss_100[temp_r29]->rot.y)); + temp_f18 = lbl_2_bss_100[temp_r29]->trans.z+(70.0*cosd(lbl_2_bss_100[temp_r29]->rot.y)); + sp6C = lbl_2_bss_100[temp_r29]->trans.y-10.0f; + temp_f20 = VECMagPoint(pos->x-temp_f19, pos->y-sp6C, pos->z-temp_f18); + if(temp_f20 < sqrtf(4900.0f+(dist*dist))) { + *newobj = lbl_2_bss_100[temp_r29]; + return 3; + } + temp_f19 = lbl_2_bss_100[temp_r29]->trans.x; + temp_f18 = lbl_2_bss_100[temp_r29]->trans.z; + sp6C = lbl_2_bss_100[temp_r29]->trans.y-10.0f; + temp_f20 = VECMagPoint(pos->x-temp_f19, pos->y-sp6C, pos->z-temp_f18); + if(temp_f20 < sqrtf(4900.0f+(dist*dist))) { + *newobj = lbl_2_bss_100[temp_r29]; + return 3; + } + temp_f19 = lbl_2_bss_100[temp_r29]->trans.x+(70.0*sind(lbl_2_bss_100[temp_r29]->rot.y+180.0f)); + temp_f18 = lbl_2_bss_100[temp_r29]->trans.z+(70.0*cosd(lbl_2_bss_100[temp_r29]->rot.y+180.0f)); + sp6C = lbl_2_bss_100[temp_r29]->trans.y-10.0f; + temp_f20 = VECMagPoint(pos->x-temp_f19, pos->y-sp6C, pos->z-temp_f18); + if(temp_f20 < sqrtf(4410.0f+(dist*dist))) { + *newobj = lbl_2_bss_100[temp_r29]; + return 3; + } + } + } + return 0; } void fn_2_D8CC(omObjData *object); void fn_2_BD90(omObjData *object) { - s32 temp_r27; - M401WorkPlayer *temp_r26; - switch (object->work[0]) { - case 0: - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - ; - object->work[0] = 1; - break; - - case 1: - if (!WipeStatGet()) { - object->work[0] = 2; - object->work[1] = 180; - } - break; - - case 2: - if (object->work[1] == 0) { - lbl_2_bss_C0 = MGSeqStartCreate(); - object->work[0] = 3; - lbl_2_bss_A4 = HuAudSeqPlay(68); - } - else { - object->work[1]--; - } - break; - - case 3: - if (!MGSeqStatGet(lbl_2_bss_C0)) { - fn_2_AEC(1); - lbl_2_bss_120 = 1; - fn_2_1A38(lbl_2_bss_10C); - - lbl_2_bss_10C->func = fn_2_34B8; - for (temp_r27 = 0; temp_r27 < 4; temp_r27++) { - temp_r26 = lbl_2_bss_118[temp_r27]->data; - temp_r26->unk58.z = 0; - temp_r26->unkC.z = 800; - lbl_2_bss_118[temp_r27]->func = fn_2_5CC0; - object->trans.x = object->trans.y = object->trans.z = 0; - } - lbl_2_bss_108->func = fn_2_8868; - omDelObjEx(HuPrcCurrentGet(), object); - lbl_2_bss_114 = NULL; - lbl_2_bss_4->func = fn_2_D8CC; - } - - break; - } + s32 temp_r27; + M401WorkPlayer *temp_r26; + switch(object->work[0]) { + case 0: + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60);; + object->work[0] = 1; + break; + + case 1: + if(!WipeStatGet()) { + object->work[0] = 2; + object->work[1] = 180; + } + break; + + case 2: + if(object->work[1] == 0) { + lbl_2_bss_C0 = MGSeqStartCreate(); + object->work[0] = 3; + lbl_2_bss_A4 = HuAudSeqPlay(68); + } else { + object->work[1]--; + } + break; + + case 3: + if(!MGSeqStatGet(lbl_2_bss_C0)) { + fn_2_AEC(1); + lbl_2_bss_120 = 1; + fn_2_1A38(lbl_2_bss_10C); + + lbl_2_bss_10C->func = fn_2_34B8; + for(temp_r27=0; temp_r27<4; temp_r27++) { + temp_r26 = lbl_2_bss_118[temp_r27]->data; + temp_r26->unk58.z = 0; + temp_r26->unkC.z = 800; + lbl_2_bss_118[temp_r27]->func = fn_2_5CC0; + object->trans.x = object->trans.y = object->trans.z = 0; + } + lbl_2_bss_108->func = fn_2_8868; + omDelObjEx(HuPrcCurrentGet(), object); + lbl_2_bss_114 = NULL; + lbl_2_bss_4->func = fn_2_D8CC; + } + + break; + } } void fn_2_C130(omObjData *object) { - M401WorkPlayer *temp_r31; - s32 temp_r30; - LightData *temp_r28; - Vec sp14; - Vec sp8; - switch (object->work[0]) { - case 0: - if (!MGSeqStatGet(lbl_2_bss_C0)) { - object->work[0] = 1; - #if VERSION_NTSC - HuAudFXStop(lbl_2_bss_11C); - #else - HuAudFXFadeOut(lbl_2_bss_11C, 500); - #endif - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - WipeColorSet(255, 255, 255); - } - break; - - case 1: - if (WipeStatGet()) { - return; - } - Hu3DFogClear(); - temp_r28 = &Hu3DGlobalLight[0]; - temp_r28->color.r = 255; - temp_r28->color.g = 255; - temp_r28->color.b = 255; - sp14.x = 0; - sp14.y = 2500; - sp14.z = 1000; - sp8.x = 0; - sp8.y = 1030; - sp8.z = 0; - Hu3DGLightPosAimSetV(lbl_2_bss_A8, &sp14, &sp8); - lbl_2_data_30.x = 0; - lbl_2_data_30.y = 2500; - lbl_2_data_30.z = 1000; - lbl_2_data_48.x = 0; - lbl_2_data_48.y = 1030; - lbl_2_data_48.z = 0; - Hu3DShadowPosSet(&lbl_2_data_30, &lbl_2_data_3C, &lbl_2_data_48); - HuAudAUXVolSet(-1, -1); - fn_2_2ED0(lbl_2_bss_10C); - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - temp_r31 = lbl_2_bss_118[temp_r30]->data; - temp_r31->unk50->work[0] = 1; - temp_r31->unk6C = 0; - CharModelMotionSet(((M401WorkPlayer *)(lbl_2_bss_118[temp_r30]->data))->unk86, lbl_2_bss_118[temp_r30]->motion[4]); - Hu3DModelAttrReset(lbl_2_bss_118[temp_r30]->model[0], HU3D_MOTATTR_LOOP); - lbl_2_bss_118[temp_r30]->func = fn_2_48A0; - Hu3DModelAmbSet(lbl_2_bss_118[temp_r30]->model[0], 0.7f, 0.7f, 0.7f); - omSetTra(lbl_2_bss_118[temp_r30], -225.0f + (temp_r30 * 150), 740, 400); - omSetRot(lbl_2_bss_118[temp_r30], 0, 0, 0); - if (temp_r31->unk68) { - if (lbl_2_bss_BA == 1) { - temp_r31->unk0 = 10; - temp_r31->unk58.x = 13; - } - else { - temp_r31->unk58.x = 10; - temp_r31->unk0 = 6; - } - OSReport("GetCoin:%d\n", temp_r30); - GWPlayerCoinWinSet(temp_r30, 10); - } - else { - temp_r31->unk58.x = 10; - temp_r31->unk0 = 6; - } - } - fn_2_26E0(lbl_2_bss_10C); - object->work[0] = 2; - lbl_2_bss_F4->work[0] = 1; - fn_2_141B0(); - lbl_2_bss_10C->func = fn_2_3838; - lbl_2_bss_11C = HuAudFXPlay(1280); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - omDelObjEx(HuPrcCurrentGet(), lbl_2_bss_C8); - break; - - case 2: - WipeStatGet() == 0; - break; - } + M401WorkPlayer *temp_r31; + s32 temp_r30; + LightData *temp_r28; + Vec sp14; + Vec sp8; + switch(object->work[0]) { + case 0: + if(!MGSeqStatGet(lbl_2_bss_C0)) { + object->work[0] = 1; + HuAudFXStop(lbl_2_bss_11C); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + WipeColorSet(255, 255, 255); + } + break; + + case 1: + if(WipeStatGet()) { + return; + } + Hu3DFogClear(); + temp_r28 = &Hu3DGlobalLight[0]; + temp_r28->color.r = 255; + temp_r28->color.g = 255; + temp_r28->color.b = 255; + sp14.x = 0; + sp14.y = 2500; + sp14.z = 1000; + sp8.x = 0; + sp8.y = 1030; + sp8.z = 0; + Hu3DGLightPosAimSetV(lbl_2_bss_A8, &sp14, &sp8); + lbl_2_data_30.x = 0; + lbl_2_data_30.y = 2500; + lbl_2_data_30.z = 1000; + lbl_2_data_48.x = 0; + lbl_2_data_48.y = 1030; + lbl_2_data_48.z = 0; + Hu3DShadowPosSet(&lbl_2_data_30, &lbl_2_data_3C, &lbl_2_data_48); + HuAudAUXVolSet(-1, -1); + fn_2_2ED0(lbl_2_bss_10C); + for(temp_r30=0; temp_r30<4; temp_r30++) { + temp_r31 = lbl_2_bss_118[temp_r30]->data; + temp_r31->unk50->work[0] = 1; + temp_r31->unk6C = 0; + CharModelMotionSet(((M401WorkPlayer *)(lbl_2_bss_118[temp_r30]->data))->unk86, lbl_2_bss_118[temp_r30]->motion[4]); + Hu3DModelAttrReset(lbl_2_bss_118[temp_r30]->model[0], 0x40000001); + lbl_2_bss_118[temp_r30]->func = fn_2_48A0; + Hu3DModelAmbSet(lbl_2_bss_118[temp_r30]->model[0], 0.7f, 0.7f, 0.7f); + omSetTra(lbl_2_bss_118[temp_r30], -225.0f+(temp_r30*150), 740, 400); + omSetRot(lbl_2_bss_118[temp_r30], 0, 0, 0); + if(temp_r31->unk68) { + if(lbl_2_bss_BA == 1) { + temp_r31->unk0 = 10; + temp_r31->unk58.x = 13; + } else { + temp_r31->unk58.x = 10; + temp_r31->unk0 = 6; + } + OSReport("GetCoin:%d\n", temp_r30); + GWPlayerCoinWinSet(temp_r30, 10); + } else { + temp_r31->unk58.x = 10; + temp_r31->unk0 = 6; + } + } + fn_2_26E0(lbl_2_bss_10C); + object->work[0] = 2; + lbl_2_bss_F4->work[0] = 1; + fn_2_141B0(); + lbl_2_bss_10C->func = fn_2_3838; + lbl_2_bss_11C = HuAudFXPlay(1280); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); + omDelObjEx(HuPrcCurrentGet(), lbl_2_bss_C8); + break; + + case 2: + WipeStatGet() == 0; + break; + } } typedef struct work_c840 { - Vec unk0[9]; - float unk6C[9]; + Vec unk0[9]; + float unk6C[9]; } WorkC840; void fn_2_C840(s16 arg0); @@ -2858,676 +2835,665 @@ void fn_2_CAB0(omObjData *object); void fn_2_C6DC(omObjData *object) { - s32 temp_r30; - float temp_f31; - WorkC840 *sp8; - sp8 = object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkC840), MEMORY_DEFAULT_NUM); - for (temp_r30 = 0; temp_r30 < 9; temp_r30++) { - if (temp_r30 == 0) { - object->model[temp_r30] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x02)); - } - else { - object->model[temp_r30] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x02)); - } - Hu3DModelLayerSet(object->model[temp_r30], 1); - fn_2_C840(temp_r30); - temp_f31 = (1.0f / 255.0f) * (Hu3DMotionMaxTimeGet(object->model[temp_r30]) * frandu8()); - Hu3DMotionTimeSet(object->model[temp_r30], temp_f31); - } - omSetStatBit(object, 0x100); - object->func = fn_2_CAB0; + s32 temp_r30; + float temp_f31; + WorkC840 *sp8; + sp8 = object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkC840), MEMORY_DEFAULT_NUM); + for(temp_r30=0; temp_r30<9; temp_r30++) { + if(temp_r30 == 0) { + object->model[temp_r30] = Hu3DModelCreateFile(0x200002); + } else { + object->model[temp_r30] = Hu3DModelCreateFile(0x200002); + } + Hu3DModelLayerSet(object->model[temp_r30], 1); + fn_2_C840(temp_r30); + temp_f31 = (1.0f/255.0f)*(Hu3DMotionMaxTimeGet(object->model[temp_r30])*frandu8()); + Hu3DMotionTimeSet(object->model[temp_r30], temp_f31); + } + omSetStatBit(object, 0x100); + object->func = fn_2_CAB0; } void fn_2_C840(s16 arg0) { - WorkC840 *temp_r31; - float temp_f31, temp_f30; - temp_r31 = lbl_2_bss_F8->data; - temp_f30 = (1.0f / 255.0f) * (360.0f * frandu8()); - temp_f31 = (1.0f / 255.0f) * (200.0f * frandu8()); - temp_r31->unk0[arg0].x = temp_f31 * cosd(temp_f30); - temp_r31->unk0[arg0].z = temp_f31 * sind(temp_f30); - temp_r31->unk0[arg0].y = 1000; - temp_r31->unk6C[arg0] = 1.0f; - temp_f31 *= 0.25f; - Hu3DModelRotSet(lbl_2_bss_F8->model[arg0], temp_f31 * sind(temp_f30), 0, temp_f31 * cosd(temp_f30)); - Hu3DMotionTimeSet(lbl_2_bss_F8->model[arg0], 0); + WorkC840 *temp_r31; + float temp_f31, temp_f30; + temp_r31 = lbl_2_bss_F8->data; + temp_f30 = (1.0f/255.0f)*(360.0f*frandu8()); + temp_f31 = (1.0f/255.0f)*(200.0f*frandu8()); + temp_r31->unk0[arg0].x = temp_f31*cosd(temp_f30); + temp_r31->unk0[arg0].z = temp_f31*sind(temp_f30); + temp_r31->unk0[arg0].y = 1000; + temp_r31->unk6C[arg0] = 1.0f; + temp_f31 *= 0.25f; + Hu3DModelRotSet(lbl_2_bss_F8->model[arg0], temp_f31*sind(temp_f30), 0, temp_f31*cosd(temp_f30)); + Hu3DMotionTimeSet(lbl_2_bss_F8->model[arg0], 0); } void fn_2_CAB0(omObjData *object) { - s32 temp_r31; - WorkC840 *temp_r29; - u8 temp_r28; - float temp_f29; - temp_r29 = object->data; - for (temp_r31 = 0; temp_r31 < 9; temp_r31++) { - Hu3DModelPosSet( - object->model[temp_r31], temp_r29->unk0[temp_r31].x, temp_r29->unk0[temp_r31].y, lbl_2_bss_38.z + temp_r29->unk0[temp_r31].z - 500); - Hu3DModelTPLvlSet(object->model[temp_r31], temp_r29->unk6C[temp_r31]); - temp_f29 = Hu3DMotionTimeGet(object->model[temp_r31]) / Hu3DMotionMaxTimeGet(object->model[temp_r31]); - temp_r29->unk6C[temp_r31] = 1.0f - temp_f29; - if (Hu3DMotionTimeGet(object->model[temp_r31]) >= Hu3DMotionMaxTimeGet(object->model[temp_r31])) { - fn_2_C840(temp_r31); - } - } - if (lbl_2_bss_60.z <= -26800.0f && lbl_2_bss_60.z >= -27400.0f) { - temp_r28 = 255.0f - (223.0f * (-(lbl_2_bss_60.z + 26800.0f) / 600.0f)); - if (temp_r28 < 32) { - temp_r28 = 32; - } - } - else if (lbl_2_bss_60.z <= -27700.0f && lbl_2_bss_60.z >= -28300.0f) { - temp_r28 = 32.0f + (223.0f * (-(lbl_2_bss_60.z + 27700.0f) / 600.0f)); - } - else if (lbl_2_bss_60.z < -27400.0f && lbl_2_bss_60.z > -28300.0f) { - temp_r28 = 32; - } - else { - temp_r28 = 255; - } - Hu3DGLightColorSet(lbl_2_bss_A8, temp_r28, temp_r28, temp_r28, 255); - if (lbl_2_bss_60.z < -26600.0f && lbl_2_bss_60.z > -27500.0f) { - for (temp_r31 = 0; temp_r31 < 9; temp_r31++) { - Hu3DModelAttrSet(object->model[temp_r31], HU3D_ATTR_DISPOFF); - } - } - else { - for (temp_r31 = 0; temp_r31 < 9; temp_r31++) { - Hu3DModelAttrReset(object->model[temp_r31], HU3D_ATTR_DISPOFF); - } - } + s32 temp_r31; + WorkC840 *temp_r29; + u8 temp_r28; + float temp_f29; + temp_r29 = object->data; + for(temp_r31=0; temp_r31<9; temp_r31++) { + Hu3DModelPosSet(object->model[temp_r31], temp_r29->unk0[temp_r31].x, temp_r29->unk0[temp_r31].y, lbl_2_bss_38.z+temp_r29->unk0[temp_r31].z-500); + Hu3DModelTPLvlSet(object->model[temp_r31], temp_r29->unk6C[temp_r31]); + temp_f29 = Hu3DMotionTimeGet(object->model[temp_r31])/Hu3DMotionMaxTimeGet(object->model[temp_r31]); + temp_r29->unk6C[temp_r31] = 1.0f-temp_f29; + if(Hu3DMotionTimeGet(object->model[temp_r31]) >= Hu3DMotionMaxTimeGet(object->model[temp_r31])) { + fn_2_C840(temp_r31); + } + } + if(lbl_2_bss_60.z <= -26800.0f && lbl_2_bss_60.z >= -27400.0f) { + temp_r28 = 255.0f-(223.0f*(-(lbl_2_bss_60.z+26800.0f) / 600.0f)); + if(temp_r28 < 32) { + temp_r28 = 32; + } + } else if(lbl_2_bss_60.z <= -27700.0f && lbl_2_bss_60.z >= -28300.0f) { + temp_r28 = 32.0f+(223.0f*(-(lbl_2_bss_60.z+27700.0f) / 600.0f)); + } else if(lbl_2_bss_60.z < -27400.0f && lbl_2_bss_60.z > -28300.0f) { + temp_r28 = 32; + } else { + temp_r28 = 255; + } + Hu3DGLightColorSet(lbl_2_bss_A8, temp_r28, temp_r28, temp_r28, 255); + if(lbl_2_bss_60.z < -26600.0f && lbl_2_bss_60.z > -27500.0f) { + for(temp_r31=0; temp_r31<9; temp_r31++) { + Hu3DModelAttrSet(object->model[temp_r31], 1); + } + } else { + for(temp_r31=0; temp_r31<9; temp_r31++) { + Hu3DModelAttrReset(object->model[temp_r31], 1); + } + } } void fn_2_D088(omObjData *object) { - CameraData *temp_r31 = &Hu3DCamera[0]; - Vec sp8; - - lbl_2_bss_6C = temp_r31->pos; - lbl_2_bss_60 = temp_r31->target; - VECSubtract(&lbl_2_bss_6C, &lbl_2_bss_54, &sp8); - lbl_2_bss_50 = VECMag(&sp8); - lbl_2_bss_54 = lbl_2_bss_6C; - - fn_2_A98(); + CameraData *temp_r31 = &Hu3DCamera[0]; + Vec sp8; + + lbl_2_bss_6C = temp_r31->pos; + lbl_2_bss_60 = temp_r31->target; + VECSubtract(&lbl_2_bss_6C, &lbl_2_bss_54, &sp8); + lbl_2_bss_50 = VECMag(&sp8); + lbl_2_bss_54 = lbl_2_bss_6C; + + fn_2_A98(); } void fn_2_D180(float arg0) { - Vec sp14; - Vec sp8; - lbl_2_bss_44.x = 0; - lbl_2_bss_44.y = 0; - lbl_2_bss_44.z = arg0; - lbl_2_bss_38.x = 0; - lbl_2_bss_38.y = 0; - lbl_2_bss_38.z = -1500 + arg0; - lbl_2_bss_2C.x = 0; - lbl_2_bss_2C.y = 1; - lbl_2_bss_2C.z = 0; - Hu3DCameraPosSetV(1, &lbl_2_bss_44, &lbl_2_bss_2C, &lbl_2_bss_38); - Hu3DModelPosSet(lbl_2_bss_10C->model[1], 0, 0, -1500 + arg0); - lbl_2_data_30.y = 3500 + lbl_2_bss_38.y; - lbl_2_data_30.z = 1500 + lbl_2_bss_38.z; - lbl_2_data_48.y = lbl_2_bss_38.y - 200; - lbl_2_data_48.z = 500 + lbl_2_bss_38.z; - Hu3DShadowPosSet(&lbl_2_data_30, &lbl_2_data_3C, &lbl_2_data_48); - sp14 = lbl_2_bss_44; - VECSubtract(&lbl_2_bss_38, &sp14, &sp8); - VECNormalize(&sp8, &sp8); - HuAudFXListnerUpdate(&sp14, &sp8); + Vec sp14; + Vec sp8; + lbl_2_bss_44.x = 0; + lbl_2_bss_44.y = 0; + lbl_2_bss_44.z = arg0; + lbl_2_bss_38.x = 0; + lbl_2_bss_38.y = 0; + lbl_2_bss_38.z = -1500+arg0; + lbl_2_bss_2C.x = 0; + lbl_2_bss_2C.y = 1; + lbl_2_bss_2C.z = 0; + Hu3DCameraPosSetV(1, &lbl_2_bss_44, &lbl_2_bss_2C, &lbl_2_bss_38); + Hu3DModelPosSet(lbl_2_bss_10C->model[1], 0, 0, -1500+arg0); + lbl_2_data_30.y = 3500+lbl_2_bss_38.y; + lbl_2_data_30.z = 1500+lbl_2_bss_38.z; + lbl_2_data_48.y = lbl_2_bss_38.y-200; + lbl_2_data_48.z = 500+lbl_2_bss_38.z; + Hu3DShadowPosSet(&lbl_2_data_30, &lbl_2_data_3C, &lbl_2_data_48); + sp14 = lbl_2_bss_44; + VECSubtract(&lbl_2_bss_38, &sp14, &sp8); + VECNormalize(&sp8, &sp8); + HuAudFXListnerUpdate(&sp14, &sp8); } void fn_2_D3E8(omObjData *object) { - Vec sp14; - Vec sp8; - float temp_f31 = 1.5f * object->scale.x; - lbl_2_bss_44.x = object->trans.x + (-object->trans.x * sind(temp_f31)); - lbl_2_bss_44.y = object->trans.y + (-object->trans.y * sind(temp_f31)); - lbl_2_bss_44.z = object->trans.z + (-object->trans.z * sind(temp_f31)); - lbl_2_bss_38.x = object->rot.x + (-object->rot.x * sind(temp_f31)); - lbl_2_bss_38.y = object->rot.y + (-object->rot.y * sind(temp_f31)); - lbl_2_bss_38.z = object->rot.z + ((-1500.0f - object->rot.z) * sind(temp_f31)); - lbl_2_bss_2C.x = 0; - lbl_2_bss_2C.y = 1; - lbl_2_bss_2C.z = 0; - object->scale.x += 1.0f; - if (object->scale.x > 60.0f) { - lbl_2_bss_44.x = 0; - lbl_2_bss_44.y = 0; - lbl_2_bss_44.z = 0; - lbl_2_bss_38.x = 0; - lbl_2_bss_38.y = 0; - lbl_2_bss_38.z = -1500; - } - Hu3DCameraPosSetV(1, &lbl_2_bss_44, &lbl_2_bss_2C, &lbl_2_bss_38); - lbl_2_bss_54 = lbl_2_bss_44; - lbl_2_data_30.y = 3500 + lbl_2_bss_38.y; - lbl_2_data_30.z = 1500 + lbl_2_bss_38.z; - lbl_2_data_48.y = lbl_2_bss_38.y - 200; - lbl_2_data_48.z = 500 + lbl_2_bss_38.z; - Hu3DShadowPosSet(&lbl_2_data_30, &lbl_2_data_3C, &lbl_2_data_48); - sp14 = lbl_2_bss_44; - VECSubtract(&lbl_2_bss_38, &lbl_2_bss_44, &sp8); - VECNormalize(&sp8, &sp8); - HuAudFXListnerUpdate(&sp14, &sp8); - if (object->scale.x > 60.0f) { - lbl_2_bss_128 = 100; - Hu3DCameraPerspectiveSet(1, lbl_2_bss_12C, lbl_2_bss_128, lbl_2_bss_124, 1.2f); - object->scale.x = 0; - object->func = NULL; - } + Vec sp14; + Vec sp8; + float temp_f31 = 1.5f*object->scale.x; + lbl_2_bss_44.x = object->trans.x+(-object->trans.x*sind(temp_f31)); + lbl_2_bss_44.y = object->trans.y+(-object->trans.y*sind(temp_f31)); + lbl_2_bss_44.z = object->trans.z+(-object->trans.z*sind(temp_f31)); + lbl_2_bss_38.x = object->rot.x+(-object->rot.x*sind(temp_f31)); + lbl_2_bss_38.y = object->rot.y+(-object->rot.y*sind(temp_f31)); + lbl_2_bss_38.z = object->rot.z+((-1500.0f-object->rot.z)*sind(temp_f31)); + lbl_2_bss_2C.x = 0; + lbl_2_bss_2C.y = 1; + lbl_2_bss_2C.z = 0; + object->scale.x += 1.0f; + if(object->scale.x > 60.0f) { + lbl_2_bss_44.x = 0; + lbl_2_bss_44.y = 0; + lbl_2_bss_44.z = 0; + lbl_2_bss_38.x = 0; + lbl_2_bss_38.y = 0; + lbl_2_bss_38.z = -1500; + } + Hu3DCameraPosSetV(1, &lbl_2_bss_44, &lbl_2_bss_2C, &lbl_2_bss_38); + lbl_2_bss_54 = lbl_2_bss_44; + lbl_2_data_30.y = 3500+lbl_2_bss_38.y; + lbl_2_data_30.z = 1500+lbl_2_bss_38.z; + lbl_2_data_48.y = lbl_2_bss_38.y-200; + lbl_2_data_48.z = 500+lbl_2_bss_38.z; + Hu3DShadowPosSet(&lbl_2_data_30, &lbl_2_data_3C, &lbl_2_data_48); + sp14 = lbl_2_bss_44; + VECSubtract(&lbl_2_bss_38, &lbl_2_bss_44, &sp8); + VECNormalize(&sp8, &sp8); + HuAudFXListnerUpdate(&sp14, &sp8); + if(object->scale.x > 60.0f) { + lbl_2_bss_128 = 100; + Hu3DCameraPerspectiveSet(1, lbl_2_bss_12C, lbl_2_bss_128, lbl_2_bss_124, 1.2f); + object->scale.x = 0; + object->func = NULL; + } } void fn_2_D8CC(omObjData *object) { - if (lbl_2_bss_BE != 0) { - return; - } - lbl_2_data_0 *= 1.05f; - if (lbl_2_data_0 < -14.375f) { - lbl_2_data_0 = -14.375f; - } - object->scale.x += lbl_2_data_0; - fn_2_D180(object->scale.x); + if(lbl_2_bss_BE != 0) { + return; + } + lbl_2_data_0 *= 1.05f; + if(lbl_2_data_0 < -14.375f) { + lbl_2_data_0 = -14.375f; + } + object->scale.x += lbl_2_data_0; + fn_2_D180(object->scale.x); } -s32 lbl_2_data_460[] = { DATA_MAKE_NUM(DATADIR_M401, 0x04), DATA_MAKE_NUM(DATADIR_M401, 0x05), DATA_MAKE_NUM(DATADIR_M401, 0x06) }; +s32 lbl_2_data_460[] = { + 0x200004, + 0x200005, + 0x200006 +}; typedef struct work_e6e8 { - s16 unk0; - Vec unk4; - float unk10; - float unk14; - float unk18; - float unk1C; - float unk20; - float unk24; - float unk28; - float unk2C; - s8 *unk30; - Vec *unk34; - Vec *unk38; - Vec *unk3C; - Vec *unk40; - Vec *unk44; - Vec *unk48; - Vec *unk4C; - s16 *unk50; - s16 *unk54; - float *unk58; - float *unk5C; - float *unk60; - float *unk64; - float *unk68; + s16 unk0; + Vec unk4; + float unk10; + float unk14; + float unk18; + float unk1C; + float unk20; + float unk24; + float unk28; + float unk2C; + s8 *unk30; + Vec *unk34; + Vec *unk38; + Vec *unk3C; + Vec *unk40; + Vec *unk44; + Vec *unk48; + Vec *unk4C; + s16 *unk50; + s16 *unk54; + float *unk58; + float *unk5C; + float *unk60; + float *unk64; + float *unk68; } WorkE6E8; void fn_2_DBCC(s16 arg0) { - omObjData *temp_r31; - s32 temp_r30; - s8 *temp_r28; - float temp_f31; - temp_r31 = lbl_2_bss_C4 = omAddObjEx(lbl_2_bss_1C, 1145, arg0, 0, -1, NULL); - omSetStatBit(temp_r31, 0x100); - temp_r31->data = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(s8), MEMORY_DEFAULT_NUM); - temp_r28 = temp_r31->data; - temp_r31->work[0] = arg0; - for (temp_r30 = 0; temp_r30 < arg0; temp_r30++) { - if (temp_r30 < 3) { - temp_r31->model[temp_r30] = Hu3DModelCreateFile(lbl_2_data_460[temp_r30]); - } - else { - temp_r31->model[temp_r30] = Hu3DModelLink(temp_r31->model[temp_r30 % 3]); - } - temp_f31 = 0.5f + ((1.0f / 255.0f) * (0.5f * frandu8())); - Hu3DModelScaleSet(temp_r31->model[temp_r30], temp_f31, temp_f31, temp_f31); - Hu3DModelAttrSet(temp_r31->model[temp_r30], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(temp_r31->model[temp_r30], HU3D_MOTATTR_LOOP); - Hu3DMotionTimeSet(temp_r31->model[temp_r30], (1.0f / 255.0f) * (Hu3DMotionMaxTimeGet(temp_r31->model[temp_r30]) * frandu8())); - temp_r28[temp_r30] = 0; - } + omObjData *temp_r31; + s32 temp_r30; + s8 *temp_r28; + float temp_f31; + temp_r31 = lbl_2_bss_C4 = omAddObjEx(lbl_2_bss_1C, 1145, arg0, 0, -1, NULL); + omSetStatBit(temp_r31, 0x100); + temp_r31->data = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(s8), MEMORY_DEFAULT_NUM); + temp_r28 = temp_r31->data; + temp_r31->work[0] = arg0; + for(temp_r30=0; temp_r30model[temp_r30] = Hu3DModelCreateFile(lbl_2_data_460[temp_r30]); + } else { + temp_r31->model[temp_r30] = Hu3DModelLink(temp_r31->model[temp_r30%3]); + } + temp_f31 = 0.5f+((1.0f/255.0f)*(0.5f*frandu8())); + Hu3DModelScaleSet(temp_r31->model[temp_r30], temp_f31, temp_f31, temp_f31); + Hu3DModelAttrSet(temp_r31->model[temp_r30], 1); + Hu3DModelAttrSet(temp_r31->model[temp_r30], 0x40000001); + Hu3DMotionTimeSet(temp_r31->model[temp_r30], (1.0f/255.0f)*(Hu3DMotionMaxTimeGet(temp_r31->model[temp_r30])*frandu8())); + temp_r28[temp_r30] = 0; + } } void fn_2_DE1C(WorkE6E8 *arg0) { - HuMemDirectFree(arg0->unk34); - HuMemDirectFree(arg0->unk38); - HuMemDirectFree(arg0->unk40); - HuMemDirectFree(arg0->unk44); - HuMemDirectFree(arg0->unk48); - HuMemDirectFree(arg0->unk4C); - HuMemDirectFree(arg0->unk3C); - HuMemDirectFree(arg0->unk50); - HuMemDirectFree(arg0->unk54); - HuMemDirectFree(arg0->unk58); - HuMemDirectFree(arg0->unk5C); - HuMemDirectFree(arg0->unk60); - HuMemDirectFree(arg0->unk64); - HuMemDirectFree(arg0->unk68); - HuMemDirectFree(arg0->unk30); + HuMemDirectFree(arg0->unk34); + HuMemDirectFree(arg0->unk38); + HuMemDirectFree(arg0->unk40); + HuMemDirectFree(arg0->unk44); + HuMemDirectFree(arg0->unk48); + HuMemDirectFree(arg0->unk4C); + HuMemDirectFree(arg0->unk3C); + HuMemDirectFree(arg0->unk50); + HuMemDirectFree(arg0->unk54); + HuMemDirectFree(arg0->unk58); + HuMemDirectFree(arg0->unk5C); + HuMemDirectFree(arg0->unk60); + HuMemDirectFree(arg0->unk64); + HuMemDirectFree(arg0->unk68); + HuMemDirectFree(arg0->unk30); } omObjData *fn_2_DEBC(s16 arg0) { - WorkE6E8 *temp_r31; - s32 temp_r29; - omObjData *temp_r28; - s32 temp_r27; - s8 *temp_r26; - if (arg0 <= 0) { - return NULL; - } - temp_r28 = omAddObjEx(lbl_2_bss_1C, 1145, arg0, 0, -1, NULL); - omSetStatBit(temp_r28, 0x100); - temp_r28->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkE6E8), MEMORY_DEFAULT_NUM); - temp_r31 = temp_r28->data; - temp_r31->unk34 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(Vec), MEMORY_DEFAULT_NUM); - temp_r31->unk38 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(Vec), MEMORY_DEFAULT_NUM); - temp_r31->unk40 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(Vec), MEMORY_DEFAULT_NUM); - temp_r31->unk44 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(Vec), MEMORY_DEFAULT_NUM); - temp_r31->unk48 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(Vec), MEMORY_DEFAULT_NUM); - temp_r31->unk4C = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(Vec), MEMORY_DEFAULT_NUM); - temp_r31->unk3C = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(Vec), MEMORY_DEFAULT_NUM); - temp_r31->unk50 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(s16), MEMORY_DEFAULT_NUM); - temp_r31->unk54 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(s16), MEMORY_DEFAULT_NUM); - temp_r31->unk58 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(float), MEMORY_DEFAULT_NUM); - temp_r31->unk5C = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(float), MEMORY_DEFAULT_NUM); - temp_r31->unk60 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(float), MEMORY_DEFAULT_NUM); - temp_r31->unk64 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(float), MEMORY_DEFAULT_NUM); - temp_r31->unk68 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(float), MEMORY_DEFAULT_NUM); - temp_r31->unk30 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(s8), MEMORY_DEFAULT_NUM); - for (temp_r27 = 0; temp_r27 < arg0; temp_r27++) { - temp_r26 = lbl_2_bss_C4->data; - for (temp_r29 = 0; temp_r29 < lbl_2_bss_C4->work[0]; temp_r29++) { - if (temp_r26[temp_r29] == 0) { - temp_r26[temp_r29] = 1; - temp_r28->model[temp_r27] = lbl_2_bss_C4->model[temp_r29]; - temp_r31->unk54[temp_r27] = temp_r29 % 3; - temp_r31->unk30[temp_r27] = temp_r29; - break; - } - } - if (temp_r29 == lbl_2_bss_C4->work[0]) { - arg0 -= (s32)arg0 - temp_r27; - break; - } - } - if (arg0 == 0) { - fn_2_DE1C(temp_r31); - omDelObjEx(HuPrcCurrentGet(), temp_r28); - temp_r28 = NULL; - } - else { - temp_r31->unk0 = arg0; - temp_r31->unk10 = 0; - } - return temp_r28; + WorkE6E8 *temp_r31; + s32 temp_r29; + omObjData *temp_r28; + s32 temp_r27; + s8 *temp_r26; + if(arg0 <= 0) { + return NULL; + } + temp_r28 = omAddObjEx(lbl_2_bss_1C, 1145, arg0, 0, -1, NULL); + omSetStatBit(temp_r28, 0x100); + temp_r28->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkE6E8), MEMORY_DEFAULT_NUM); + temp_r31 = temp_r28->data; + temp_r31->unk34 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(Vec), MEMORY_DEFAULT_NUM); + temp_r31->unk38 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(Vec), MEMORY_DEFAULT_NUM); + temp_r31->unk40 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(Vec), MEMORY_DEFAULT_NUM); + temp_r31->unk44 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(Vec), MEMORY_DEFAULT_NUM); + temp_r31->unk48 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(Vec), MEMORY_DEFAULT_NUM); + temp_r31->unk4C = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(Vec), MEMORY_DEFAULT_NUM); + temp_r31->unk3C = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(Vec), MEMORY_DEFAULT_NUM); + temp_r31->unk50 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(s16), MEMORY_DEFAULT_NUM); + temp_r31->unk54 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(s16), MEMORY_DEFAULT_NUM); + temp_r31->unk58 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(float), MEMORY_DEFAULT_NUM); + temp_r31->unk5C = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(float), MEMORY_DEFAULT_NUM); + temp_r31->unk60 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(float), MEMORY_DEFAULT_NUM); + temp_r31->unk64 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(float), MEMORY_DEFAULT_NUM); + temp_r31->unk68 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(float), MEMORY_DEFAULT_NUM); + temp_r31->unk30 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(s8), MEMORY_DEFAULT_NUM); + for(temp_r27=0; temp_r27data; + for(temp_r29=0; temp_r29work[0]; temp_r29++) { + if(temp_r26[temp_r29] == 0) { + temp_r26[temp_r29] = 1; + temp_r28->model[temp_r27] = lbl_2_bss_C4->model[temp_r29]; + temp_r31->unk54[temp_r27] = temp_r29%3; + temp_r31->unk30[temp_r27] = temp_r29; + break; + } + } + if(temp_r29 == lbl_2_bss_C4->work[0]) { + arg0 -= (s32)arg0-temp_r27; + break; + } + } + if(arg0 == 0) { + fn_2_DE1C(temp_r31); + omDelObjEx(HuPrcCurrentGet(), temp_r28); + temp_r28 = NULL; + } else { + temp_r31->unk0 = arg0; + temp_r31->unk10 = 0; + } + return temp_r28; } void fn_2_E24C(omObjData *object) { - WorkE6E8 *temp_r31; - s32 temp_r30; - s8 *temp_r28; - temp_r31 = object->data; - temp_r28 = lbl_2_bss_C4->data; - for (temp_r30 = 0; temp_r30 < temp_r31->unk0; temp_r30++) { - temp_r28[temp_r31->unk30[temp_r30]] = 0; - Hu3DModelAttrSet(object->model[temp_r30], HU3D_ATTR_DISPOFF); - } - fn_2_DE1C(temp_r31); - omDelObjEx(HuPrcCurrentGet(), object); + WorkE6E8 *temp_r31; + s32 temp_r30; + s8 *temp_r28; + temp_r31 = object->data; + temp_r28 = lbl_2_bss_C4->data; + for(temp_r30=0; temp_r30unk0; temp_r30++) { + temp_r28[temp_r31->unk30[temp_r30]] = 0; + Hu3DModelAttrSet(object->model[temp_r30], 1); + } + fn_2_DE1C(temp_r31); + omDelObjEx(HuPrcCurrentGet(), object); } void fn_2_E6E8(omObjData *object); void fn_2_E364(omObjData *object, s16 arg1) { - s32 temp_r31; - WorkE6E8 *temp_r29 = object->data; - if (arg1 == 1) { - for (temp_r31 = 0; temp_r31 < temp_r29->unk0; temp_r31++) { - Hu3DModelAttrReset(object->model[temp_r31], HU3D_ATTR_DISPOFF); - } - object->func = fn_2_E6E8; - } - else { - for (temp_r31 = 0; temp_r31 < temp_r29->unk0; temp_r31++) { - Hu3DModelAttrSet(object->model[temp_r31], HU3D_ATTR_DISPOFF); - } - object->func = NULL; - } + s32 temp_r31; + WorkE6E8 *temp_r29 = object->data; + if(arg1 == 1) { + for(temp_r31=0; temp_r31unk0; temp_r31++) { + Hu3DModelAttrReset(object->model[temp_r31], 1); + } + object->func = fn_2_E6E8; + } else { + for(temp_r31=0; temp_r31unk0; temp_r31++) { + Hu3DModelAttrSet(object->model[temp_r31], 1); + } + object->func = NULL; + } } void fn_2_E420(omObjData *object, Vec *arg1, Vec *arg2) { - WorkE6E8 *temp_r31 = object->data; - s32 temp_r30; - for (temp_r30 = 0; temp_r30 < temp_r31->unk0; temp_r30++) { - temp_r31->unk34[temp_r30].x = (arg1->x - arg2->x) + ((1.0f / 255.0f) * (2.0f * arg2->x * frandu8())); - temp_r31->unk34[temp_r30].y = (arg1->y - arg2->y) + ((1.0f / 255.0f) * (2.0f * arg2->y * frandu8())); - temp_r31->unk34[temp_r30].z = (arg1->z - arg2->z) + ((1.0f / 255.0f) * (2.0f * arg2->z * frandu8())); - VECNormalize(&temp_r31->unk34[temp_r30], &temp_r31->unk38[temp_r30]); - temp_r31->unk5C[temp_r30] = temp_r31->unk64[temp_r30] = temp_r31->unk60[temp_r30] = temp_r31->unk68[temp_r30] = 0; - temp_r31->unk58[temp_r30] = 0.1f; - Hu3DModelPosSet(object->model[temp_r30], temp_r31->unk34[temp_r30].x, temp_r31->unk34[temp_r30].y, temp_r31->unk34[temp_r30].z); - } + WorkE6E8 *temp_r31 = object->data; + s32 temp_r30; + for(temp_r30=0; temp_r30unk0; temp_r30++) { + temp_r31->unk34[temp_r30].x = (arg1->x - arg2->x)+((1.0f/255.0f)*(2.0f*arg2->x*frandu8())); + temp_r31->unk34[temp_r30].y = (arg1->y - arg2->y)+((1.0f/255.0f)*(2.0f*arg2->y*frandu8())); + temp_r31->unk34[temp_r30].z = (arg1->z - arg2->z)+((1.0f/255.0f)*(2.0f*arg2->z*frandu8())); + VECNormalize(&temp_r31->unk34[temp_r30], &temp_r31->unk38[temp_r30]); + temp_r31->unk5C[temp_r30] = temp_r31->unk64[temp_r30] = temp_r31->unk60[temp_r30] = temp_r31->unk68[temp_r30] = 0; + temp_r31->unk58[temp_r30] = 0.1f; + Hu3DModelPosSet(object->model[temp_r30], temp_r31->unk34[temp_r30].x, temp_r31->unk34[temp_r30].y, temp_r31->unk34[temp_r30].z); + + } } void fn_2_E66C(omObjData *object, Vec *pos) { - WorkE6E8 *temp_r31 = object->data; - temp_r31->unk4 = *pos; + WorkE6E8 *temp_r31 = object->data; + temp_r31->unk4 = *pos; } void fn_2_E69C(omObjData *object, float arg2, float arg3) { - WorkE6E8 *temp_r31 = object->data; - temp_r31->unk14 = arg2; - temp_r31->unk18 = arg3; + WorkE6E8 *temp_r31 = object->data; + temp_r31->unk14 = arg2; + temp_r31->unk18 = arg3; } void fn_2_E6BC(omObjData *object, float arg2, float arg3, float arg4, float arg5, float arg6) { - WorkE6E8 *temp_r31 = object->data; - temp_r31->unk1C = arg2; - temp_r31->unk20 = arg3; - temp_r31->unk24 = arg4; - temp_r31->unk28 = arg5; - temp_r31->unk2C = arg6; + WorkE6E8 *temp_r31 = object->data; + temp_r31->unk1C = arg2; + temp_r31->unk20 = arg3; + temp_r31->unk24 = arg4; + temp_r31->unk28 = arg5; + temp_r31->unk2C = arg6; } void fn_2_E6E8(omObjData *object) { - WorkE6E8 *temp_r31 = object->data; - s32 temp_r30; - s32 temp_r29; - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - float temp_f27; - Mtx sp158, sp128, spF8, spC8, sp98, sp68; - Vec sp5C, sp50, sp44, sp38, sp2C, sp20, sp14, sp8; - for (temp_r30 = 0; temp_r30 < temp_r31->unk0; temp_r30++) { - temp_r31->unk3C[temp_r30].x = 0; - temp_r31->unk3C[temp_r30].y = 0; - temp_r31->unk3C[temp_r30].z = 0; - temp_r31->unk40[temp_r30].x = 0; - temp_r31->unk40[temp_r30].y = 0; - temp_r31->unk40[temp_r30].z = 0; - temp_r31->unk44[temp_r30].x = 0; - temp_r31->unk44[temp_r30].y = 0; - temp_r31->unk44[temp_r30].z = 0; - temp_r31->unk48[temp_r30].x = 0; - temp_r31->unk48[temp_r30].y = 0; - temp_r31->unk48[temp_r30].z = 0; - temp_r31->unk4C[temp_r30].x = 0; - temp_r31->unk4C[temp_r30].y = 0; - temp_r31->unk4C[temp_r30].z = 0; - temp_r31->unk50[temp_r30] = 0; - } - for (temp_r30 = 0; temp_r30 < temp_r31->unk0; temp_r30++) { - for (temp_r29 = temp_r30 + 1; temp_r29 < temp_r31->unk0; temp_r29++) { - VECSubtract(&temp_r31->unk34[temp_r30], &temp_r31->unk34[temp_r29], &sp5C); - temp_f28 = VECMag(&sp5C); - if (temp_f28 < temp_r31->unk14) { - VECScale(&sp5C, &sp50, 1.0f / (temp_f28 * temp_f28)); - VECAdd(&temp_r31->unk3C[temp_r30], &sp50, &temp_r31->unk3C[temp_r30]); - VECSubtract(&temp_r31->unk3C[temp_r29], &sp50, &temp_r31->unk3C[temp_r29]); - if (temp_r31->unk54[temp_r30] == temp_r31->unk54[temp_r29]) { - VECScale(&temp_r31->unk38[temp_r29], &sp50, 1.0f / temp_f28); - VECAdd(&temp_r31->unk40[temp_r30], &sp50, &temp_r31->unk40[temp_r30]); - VECScale(&temp_r31->unk38[temp_r30], &sp50, 1.0f / temp_f28); - VECAdd(&temp_r31->unk40[temp_r29], &sp50, &temp_r31->unk40[temp_r29]); - VECAdd(&temp_r31->unk44[temp_r30], &temp_r31->unk34[temp_r29], &temp_r31->unk44[temp_r30]); - VECAdd(&temp_r31->unk44[temp_r29], &temp_r31->unk34[temp_r30], &temp_r31->unk44[temp_r29]); - } - temp_r31->unk50[temp_r30]++; - temp_r31->unk50[temp_r29]++; - } - } - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - sp44.x = lbl_2_bss_118[temp_r29]->trans.x; - sp44.y = lbl_2_bss_118[temp_r29]->trans.y; - sp44.z = lbl_2_bss_118[temp_r29]->trans.z; - VECSubtract(&temp_r31->unk34[temp_r30], &sp44, &sp38); - if (!(VECDotProduct(&sp38, &temp_r31->unk38[temp_r30]) > 0)) { - temp_f30 = VECMag(&sp38) - 200; - if (temp_f30 < temp_r31->unk14) { - temp_f30 -= 100; - if (temp_f30 < 0.01f) { - temp_f30 = 0.01f; - } - VECScale(&sp38, &sp38, 1.0f / temp_f30); - VECAdd(&temp_r31->unk4C[temp_r30], &sp38, &temp_r31->unk4C[temp_r30]); - } - } - } - if (temp_r31->unk50[temp_r30] != 0) { - VECScale(&temp_r31->unk44[temp_r30], &temp_r31->unk44[temp_r30], 1.0f / temp_r31->unk50[temp_r30]); - VECSubtract(&temp_r31->unk44[temp_r30], &temp_r31->unk34[temp_r30], &sp2C); - temp_f29 = VECMag(&sp2C); - if (temp_f29 > 0.0f) { - VECScale(&sp2C, &temp_r31->unk44[temp_r30], 1.0f / temp_f29); - } - else { - temp_r31->unk44[temp_r30].x = 0; - temp_r31->unk44[temp_r30].y = 0; - temp_r31->unk44[temp_r30].z = 0; - } - VECScale(&temp_r31->unk40[temp_r30], &temp_r31->unk40[temp_r30], 1.0f / temp_r31->unk50[temp_r30]); - temp_f29 = VECMag(&temp_r31->unk40[temp_r30]); - if (temp_f29 > 0) { - VECScale(&temp_r31->unk40[temp_r30], &temp_r31->unk40[temp_r30], 1.0f / temp_f29); - VECSubtract(&temp_r31->unk40[temp_r30], &temp_r31->unk38[temp_r30], &sp2C); - VECScale(&sp2C, &temp_r31->unk40[temp_r30], 1.0f / temp_f29); - } - } - VECSubtract(&temp_r31->unk4, &temp_r31->unk34[temp_r30], &temp_r31->unk48[temp_r30]); - VECNormalize(&temp_r31->unk48[temp_r30], &temp_r31->unk48[temp_r30]); - } - for (temp_r30 = 0; temp_r30 < temp_r31->unk0; temp_r30++) { - sp20.x = 0; - sp20.y = 0; - sp20.z = 0; - VECScale(&temp_r31->unk3C[temp_r30], &sp8, temp_r31->unk1C); - VECAdd(&sp8, &sp20, &sp20); - VECScale(&temp_r31->unk4C[temp_r30], &sp8, temp_r31->unk20); - VECAdd(&sp8, &sp20, &sp20); - VECScale(&temp_r31->unk40[temp_r30], &sp8, temp_r31->unk24); - VECAdd(&sp8, &sp20, &sp20); - VECScale(&temp_r31->unk44[temp_r30], &sp8, temp_r31->unk28); - VECAdd(&sp8, &sp20, &sp20); - VECScale(&temp_r31->unk48[temp_r30], &sp8, temp_r31->unk2C); - VECAdd(&sp8, &sp20, &sp20); - temp_f27 = VECMag(&sp20); - if (temp_f27 > 1.0f) { - VECScale(&sp20, &sp20, 1.0f / temp_f27); - } - if (sp20.y > 0.01f) { - temp_r31->unk60[temp_r30] += 0.02f; - if (temp_r31->unk60[temp_r30] > 0.8f) { - temp_r31->unk60[temp_r30] = 0.8f; - } - } - else { - if (sp20.y < -0.01f) { - temp_r31->unk60[temp_r30] -= 0.02f; - if (temp_r31->unk60[temp_r30] < -0.8f) { - temp_r31->unk60[temp_r30] = -0.8f; - } - } - else { - temp_r31->unk60[temp_r30] *= 0.98f; - } - } - temp_r31->unk58[temp_r30] -= 0.002 * temp_r31->unk60[temp_r30]; - temp_r31->unk58[temp_r30] = temp_r31->unk18 + (0.99f * (temp_r31->unk58[temp_r30] - temp_r31->unk18)); - if (temp_r31->unk58[temp_r30] < 0.4f * temp_r31->unk18) { - temp_r31->unk58[temp_r30] = 0.4f * temp_r31->unk18; - } - if (temp_r31->unk58[temp_r30] > 5.0f * temp_r31->unk18) { - temp_r31->unk58[temp_r30] = 5.0f * temp_r31->unk18; - } - sp14 = sp20; - sp14.y = 0; - sp8 = temp_r31->unk38[temp_r30]; - if (VECMag(&sp14) > 0) { - VECNormalize(&sp14, &sp14); - } - temp_f31 = VECDotProduct(&sp14, &sp8); - if (temp_f31 > 0.7f) { - temp_f31 -= 0.7f; - temp_r31->unk58[temp_r30] += 0.005f * temp_f31; - } - VECCrossProduct(&sp14, &sp8, &sp14); - temp_f31 = 0.07f * ((1.0f - temp_f31) / 2); - if (sp14.y > 0.05f) { - temp_r31->unk68[temp_r30] = 0.05f * (temp_f31 + (19.0f * temp_r31->unk68[temp_r30])); - } - else if (sp14.y < -0.05f) { - temp_r31->unk68[temp_r30] = 0.05f * ((19.0f * temp_r31->unk68[temp_r30]) - temp_f31); - } - else { - temp_r31->unk68[temp_r30] *= 0.98f; - } - temp_r31->unk5C[temp_r30] += temp_r31->unk68[temp_r30]; - temp_r31->unk64[temp_r30] = 20.0f * -temp_r31->unk68[temp_r30]; - MTXTrans(sp158, temp_r31->unk34[temp_r30].x, temp_r31->unk34[temp_r30].y, temp_r31->unk34[temp_r30].z); - MTXRotDeg(sp128, 'x', (temp_r31->unk60[temp_r30] / M_PI) * 180.0); - MTXRotDeg(spF8, 'y', (temp_r31->unk5C[temp_r30] / M_PI) * 180.0); - MTXRotDeg(spC8, 'z', (temp_r31->unk64[temp_r30] / M_PI) * 180.0); - MTXConcat(sp128, spF8, sp98); - MTXConcat(spC8, sp98, sp68); - MTXConcat(sp68, sp158, sp98); - temp_r31->unk38[temp_r30].x = MTXRowCol(sp98, 2, 0); - temp_r31->unk38[temp_r30].y = MTXRowCol(sp98, 2, 1); - temp_r31->unk38[temp_r30].z = MTXRowCol(sp98, 2, 2); - temp_r31->unk34[temp_r30].x += 100.0f * (temp_r31->unk38[temp_r30].x * temp_r31->unk58[temp_r30]); - temp_r31->unk34[temp_r30].y += 100.0f * (temp_r31->unk38[temp_r30].y * temp_r31->unk58[temp_r30]); - temp_r31->unk34[temp_r30].z += 100.0f * (temp_r31->unk38[temp_r30].z * temp_r31->unk58[temp_r30]); - if (temp_r31->unk34[temp_r30].y < -350.0f) { - temp_r31->unk34[temp_r30].y = -350.0f; - } - Hu3DModelPosSet(object->model[temp_r30], temp_r31->unk34[temp_r30].x, temp_r31->unk34[temp_r30].y, temp_r31->unk34[temp_r30].z); - Hu3DModelRotSet(object->model[temp_r30], (-temp_r31->unk60[temp_r30] / M_PI) * 180.0, (-temp_r31->unk5C[temp_r30] / M_PI) * 180.0, 0); - } + WorkE6E8 *temp_r31 = object->data; + s32 temp_r30; + s32 temp_r29; + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + float temp_f27; + Mtx sp158, sp128, spF8, spC8, sp98, sp68; + Vec sp5C, sp50, sp44, sp38, sp2C, sp20, sp14, sp8; + for(temp_r30=0; temp_r30unk0; temp_r30++) { + temp_r31->unk3C[temp_r30].x = 0; + temp_r31->unk3C[temp_r30].y = 0; + temp_r31->unk3C[temp_r30].z = 0; + temp_r31->unk40[temp_r30].x = 0; + temp_r31->unk40[temp_r30].y = 0; + temp_r31->unk40[temp_r30].z = 0; + temp_r31->unk44[temp_r30].x = 0; + temp_r31->unk44[temp_r30].y = 0; + temp_r31->unk44[temp_r30].z = 0; + temp_r31->unk48[temp_r30].x = 0; + temp_r31->unk48[temp_r30].y = 0; + temp_r31->unk48[temp_r30].z = 0; + temp_r31->unk4C[temp_r30].x = 0; + temp_r31->unk4C[temp_r30].y = 0; + temp_r31->unk4C[temp_r30].z = 0; + temp_r31->unk50[temp_r30] = 0; + } + for(temp_r30=0; temp_r30unk0; temp_r30++) { + for(temp_r29=temp_r30+1; temp_r29unk0; temp_r29++) { + VECSubtract(&temp_r31->unk34[temp_r30], &temp_r31->unk34[temp_r29], &sp5C); + temp_f28 = VECMag(&sp5C); + if(temp_f28 < temp_r31->unk14) { + VECScale(&sp5C, &sp50, 1.0f/(temp_f28*temp_f28)); + VECAdd(&temp_r31->unk3C[temp_r30], &sp50, &temp_r31->unk3C[temp_r30]); + VECSubtract(&temp_r31->unk3C[temp_r29], &sp50, &temp_r31->unk3C[temp_r29]); + if(temp_r31->unk54[temp_r30] == temp_r31->unk54[temp_r29]){ + VECScale(&temp_r31->unk38[temp_r29], &sp50, 1.0f/temp_f28); + VECAdd(&temp_r31->unk40[temp_r30], &sp50, &temp_r31->unk40[temp_r30]); + VECScale(&temp_r31->unk38[temp_r30], &sp50, 1.0f/temp_f28); + VECAdd(&temp_r31->unk40[temp_r29], &sp50, &temp_r31->unk40[temp_r29]); + VECAdd(&temp_r31->unk44[temp_r30], &temp_r31->unk34[temp_r29], &temp_r31->unk44[temp_r30]); + VECAdd(&temp_r31->unk44[temp_r29], &temp_r31->unk34[temp_r30], &temp_r31->unk44[temp_r29]); + } + temp_r31->unk50[temp_r30]++; + temp_r31->unk50[temp_r29]++; + } + + } + for(temp_r29=0; temp_r29<4; temp_r29++) { + sp44.x = lbl_2_bss_118[temp_r29]->trans.x; + sp44.y = lbl_2_bss_118[temp_r29]->trans.y; + sp44.z = lbl_2_bss_118[temp_r29]->trans.z; + VECSubtract(&temp_r31->unk34[temp_r30], &sp44, &sp38); + if(!(VECDotProduct(&sp38, &temp_r31->unk38[temp_r30]) > 0)) { + temp_f30 = VECMag(&sp38)-200; + if(temp_f30 < temp_r31->unk14) { + temp_f30 -= 100; + if(temp_f30 < 0.01f) { + temp_f30 = 0.01f; + } + VECScale(&sp38, &sp38, 1.0f/temp_f30); + VECAdd(&temp_r31->unk4C[temp_r30], &sp38, &temp_r31->unk4C[temp_r30]); + } + } + } + if(temp_r31->unk50[temp_r30] != 0) { + VECScale(&temp_r31->unk44[temp_r30], &temp_r31->unk44[temp_r30], 1.0f/temp_r31->unk50[temp_r30]); + VECSubtract(&temp_r31->unk44[temp_r30], &temp_r31->unk34[temp_r30], &sp2C); + temp_f29 = VECMag(&sp2C); + if(temp_f29 > 0.0f){ + VECScale(&sp2C, &temp_r31->unk44[temp_r30], 1.0f/temp_f29); + } else { + temp_r31->unk44[temp_r30].x = 0; + temp_r31->unk44[temp_r30].y = 0; + temp_r31->unk44[temp_r30].z = 0; + } + VECScale(&temp_r31->unk40[temp_r30], &temp_r31->unk40[temp_r30], 1.0f/temp_r31->unk50[temp_r30]); + temp_f29 = VECMag(&temp_r31->unk40[temp_r30]); + if(temp_f29 > 0) { + VECScale(&temp_r31->unk40[temp_r30], &temp_r31->unk40[temp_r30], 1.0f/temp_f29); + VECSubtract(&temp_r31->unk40[temp_r30], &temp_r31->unk38[temp_r30], &sp2C); + VECScale(&sp2C, &temp_r31->unk40[temp_r30], 1.0f/temp_f29); + } + } + VECSubtract(&temp_r31->unk4, &temp_r31->unk34[temp_r30], &temp_r31->unk48[temp_r30]); + VECNormalize(&temp_r31->unk48[temp_r30], &temp_r31->unk48[temp_r30]); + } + for(temp_r30=0; temp_r30unk0; temp_r30++) { + sp20.x = 0; + sp20.y = 0; + sp20.z = 0; + VECScale(&temp_r31->unk3C[temp_r30], &sp8, temp_r31->unk1C); + VECAdd(&sp8, &sp20, &sp20); + VECScale(&temp_r31->unk4C[temp_r30], &sp8, temp_r31->unk20); + VECAdd(&sp8, &sp20, &sp20); + VECScale(&temp_r31->unk40[temp_r30], &sp8, temp_r31->unk24); + VECAdd(&sp8, &sp20, &sp20); + VECScale(&temp_r31->unk44[temp_r30], &sp8, temp_r31->unk28); + VECAdd(&sp8, &sp20, &sp20); + VECScale(&temp_r31->unk48[temp_r30], &sp8, temp_r31->unk2C); + VECAdd(&sp8, &sp20, &sp20); + temp_f27 = VECMag(&sp20); + if(temp_f27 > 1.0f) { + VECScale(&sp20, &sp20, 1.0f/temp_f27); + } + if(sp20.y > 0.01f) { + temp_r31->unk60[temp_r30] += 0.02f; + if(temp_r31->unk60[temp_r30] > 0.8f) { + temp_r31->unk60[temp_r30] = 0.8f; + } + } else { + if(sp20.y < -0.01f) { + temp_r31->unk60[temp_r30] -= 0.02f; + if(temp_r31->unk60[temp_r30] < -0.8f) { + temp_r31->unk60[temp_r30] = -0.8f; + } + } else { + temp_r31->unk60[temp_r30] *= 0.98f; + } + } + temp_r31->unk58[temp_r30] -= 0.002*temp_r31->unk60[temp_r30]; + temp_r31->unk58[temp_r30] = temp_r31->unk18+(0.99f*(temp_r31->unk58[temp_r30]-temp_r31->unk18)); + if(temp_r31->unk58[temp_r30] < 0.4f*temp_r31->unk18) { + temp_r31->unk58[temp_r30] = 0.4f*temp_r31->unk18; + } + if(temp_r31->unk58[temp_r30] > 5.0f*temp_r31->unk18) { + temp_r31->unk58[temp_r30] = 5.0f*temp_r31->unk18; + } + sp14 = sp20; + sp14.y = 0; + sp8 = temp_r31->unk38[temp_r30]; + if(VECMag(&sp14) > 0) { + VECNormalize(&sp14, &sp14); + } + temp_f31 = VECDotProduct(&sp14, &sp8); + if(temp_f31 > 0.7f) { + temp_f31 -= 0.7f; + temp_r31->unk58[temp_r30] += 0.005f*temp_f31; + } + VECCrossProduct(&sp14, &sp8, &sp14); + temp_f31 = 0.07f*((1.0f-temp_f31)/2); + if(sp14.y > 0.05f) { + temp_r31->unk68[temp_r30] = 0.05f*(temp_f31+(19.0f*temp_r31->unk68[temp_r30])); + } else if(sp14.y < -0.05f) { + temp_r31->unk68[temp_r30] = 0.05f*((19.0f*temp_r31->unk68[temp_r30])-temp_f31); + } else { + temp_r31->unk68[temp_r30] *= 0.98f; + } + temp_r31->unk5C[temp_r30] += temp_r31->unk68[temp_r30]; + temp_r31->unk64[temp_r30] = 20.0f*-temp_r31->unk68[temp_r30]; + MTXTrans(sp158, temp_r31->unk34[temp_r30].x, temp_r31->unk34[temp_r30].y, temp_r31->unk34[temp_r30].z); + MTXRotDeg(sp128, 'x', (temp_r31->unk60[temp_r30]/M_PI)*180.0); + MTXRotDeg(spF8, 'y', (temp_r31->unk5C[temp_r30]/M_PI)*180.0); + MTXRotDeg(spC8, 'z', (temp_r31->unk64[temp_r30]/M_PI)*180.0); + MTXConcat(sp128, spF8, sp98); + MTXConcat(spC8, sp98, sp68); + MTXConcat(sp68, sp158, sp98); + temp_r31->unk38[temp_r30].x = MTXRowCol(sp98, 2, 0); + temp_r31->unk38[temp_r30].y = MTXRowCol(sp98, 2, 1); + temp_r31->unk38[temp_r30].z = MTXRowCol(sp98, 2, 2); + temp_r31->unk34[temp_r30].x += 100.0f*(temp_r31->unk38[temp_r30].x*temp_r31->unk58[temp_r30]); + temp_r31->unk34[temp_r30].y += 100.0f*(temp_r31->unk38[temp_r30].y*temp_r31->unk58[temp_r30]); + temp_r31->unk34[temp_r30].z += 100.0f*(temp_r31->unk38[temp_r30].z*temp_r31->unk58[temp_r30]); + if(temp_r31->unk34[temp_r30].y < -350.0f) { + temp_r31->unk34[temp_r30].y = -350.0f; + } + Hu3DModelPosSet(object->model[temp_r30], temp_r31->unk34[temp_r30].x, temp_r31->unk34[temp_r30].y, temp_r31->unk34[temp_r30].z); + Hu3DModelRotSet(object->model[temp_r30], (-temp_r31->unk60[temp_r30]/M_PI)*180.0, (-temp_r31->unk5C[temp_r30]/M_PI)*180.0, 0); + } } void fn_2_F778() { - CameraData *temp_r31; - s32 temp_r30; - float sp8[7]; - temp_r31 = lbl_2_bss_DC->data; - sp8[0] = temp_r31->pos.x; - sp8[1] = temp_r31->pos.y; - sp8[2] = temp_r31->pos.z; - sp8[3] = temp_r31->up.x; - sp8[4] = temp_r31->up.y; - sp8[5] = temp_r31->up.z; - sp8[6] = temp_r31->target.x; - fontcolor = FONT_COLOR_WHITE; - for (temp_r30 = 0; temp_r30 < 7; temp_r30++) { - if (temp_r30 == lbl_2_bss_18) { - print8(24.0 + (1.5 * ((temp_r30 * 8) * 7)), 384, 1.5f, "____"); - } - print8(24.0 + (1.5 * ((temp_r30 * 8) * 7)), 400, 1.5f, "%.2f", sp8[temp_r30]); - } - if (HuPadBtnRep[0] & PAD_BUTTON_LEFT) { - if (--lbl_2_bss_18 < 0) { - lbl_2_bss_18 = 6; - } - } - if (HuPadBtnRep[0] & PAD_BUTTON_RIGHT) { - if (++lbl_2_bss_18 > 6) { - lbl_2_bss_18 = 0; - } - } - if (HuPadBtnRep[0] & PAD_BUTTON_UP) { - if (HuPadBtn[0] & PAD_TRIGGER_R) { - sp8[lbl_2_bss_18] += 1.0f; - } - else if (HuPadBtn[0] & PAD_TRIGGER_L) { - sp8[lbl_2_bss_18] += 0.1f; - } - else { - sp8[lbl_2_bss_18] += 0.01f; - } - if (sp8[lbl_2_bss_18] > 999.99f) { - sp8[lbl_2_bss_18] = 999.99f; - } - } - if (HuPadBtnRep[0] & PAD_BUTTON_DOWN) { - if (HuPadBtn[0] & PAD_TRIGGER_R) { - sp8[lbl_2_bss_18] -= 1.0f; - } - else if (HuPadBtn[0] & PAD_TRIGGER_L) { - sp8[lbl_2_bss_18] -= 0.1f; - } - else { - sp8[lbl_2_bss_18] -= 0.01f; - } - if (sp8[lbl_2_bss_18] < 0) { - sp8[lbl_2_bss_18] = 0; - } - } - temp_r31->pos.x = sp8[0]; - temp_r31->pos.y = sp8[1]; - temp_r31->pos.z = sp8[2]; - temp_r31->up.x = sp8[3]; - temp_r31->up.y = sp8[4]; - temp_r31->up.z = sp8[5]; - temp_r31->target.x = sp8[6]; + CameraData *temp_r31; + s32 temp_r30; + float sp8[7]; + temp_r31 = lbl_2_bss_DC->data; + sp8[0] = temp_r31->pos.x; + sp8[1] = temp_r31->pos.y; + sp8[2] = temp_r31->pos.z; + sp8[3] = temp_r31->up.x; + sp8[4] = temp_r31->up.y; + sp8[5] = temp_r31->up.z; + sp8[6] = temp_r31->target.x; + fontcolor = FONT_COLOR_WHITE; + for(temp_r30=0; temp_r30<7; temp_r30++) { + if(temp_r30 == lbl_2_bss_18) { + print8(24.0+(1.5*((temp_r30*8)*7)), 384, 1.5f, "____"); + } + print8(24.0+(1.5*((temp_r30*8)*7)), 400, 1.5f, "%.2f", sp8[temp_r30]); + } + if(HuPadBtnRep[0] & PAD_BUTTON_LEFT) { + if(--lbl_2_bss_18 < 0) { + lbl_2_bss_18 = 6; + } + } + if(HuPadBtnRep[0] & PAD_BUTTON_RIGHT) { + if(++lbl_2_bss_18 > 6) { + lbl_2_bss_18 = 0; + } + } + if(HuPadBtnRep[0] & PAD_BUTTON_UP) { + if(HuPadBtn[0] & PAD_TRIGGER_R) { + sp8[lbl_2_bss_18] += 1.0f; + } else if(HuPadBtn[0] & PAD_TRIGGER_L) { + sp8[lbl_2_bss_18] += 0.1f; + } else { + sp8[lbl_2_bss_18] += 0.01f; + } + if(sp8[lbl_2_bss_18] > 999.99f) { + sp8[lbl_2_bss_18] = 999.99f; + } + } + if(HuPadBtnRep[0] & PAD_BUTTON_DOWN) { + if(HuPadBtn[0] & PAD_TRIGGER_R) { + sp8[lbl_2_bss_18] -= 1.0f; + } else if(HuPadBtn[0] & PAD_TRIGGER_L) { + sp8[lbl_2_bss_18] -= 0.1f; + } else { + sp8[lbl_2_bss_18] -= 0.01f; + } + if(sp8[lbl_2_bss_18] < 0) { + sp8[lbl_2_bss_18] = 0; + } + } + temp_r31->pos.x = sp8[0]; + temp_r31->pos.y = sp8[1]; + temp_r31->pos.z = sp8[2]; + temp_r31->up.x = sp8[3]; + temp_r31->up.y = sp8[4]; + temp_r31->up.z = sp8[5]; + temp_r31->target.x = sp8[6]; } void fn_2_FF98(omObjData *object); omObjData *fn_2_FC40(s16 arg0, Vec *arg1, Vec *arg2, Vec *arg3) { - omObjData *temp_r30; - omObjData *temp_r22; - temp_r22 = omAddObjEx(HuPrcCurrentGet(), 1140, 0, 0, -1, fn_2_FF98); - temp_r30 = fn_2_DEBC(arg0); - temp_r22->work[0] = (u32)temp_r30; - fn_2_E420(temp_r30, arg1, arg2); - fn_2_E66C(temp_r30, arg3); - fn_2_E69C(temp_r30, 90.0f, 0.045999996f); - fn_2_E6BC(temp_r30, 5.0f, 1.5f, 0.08f, 0.8f, 0.8f); - fn_2_E364(temp_r30, 1); - return temp_r22; + omObjData *temp_r30; + omObjData *temp_r22; + temp_r22 = omAddObjEx(HuPrcCurrentGet(), 1140, 0, 0, -1, fn_2_FF98); + temp_r30 = fn_2_DEBC(arg0); + temp_r22->work[0] = (u32)temp_r30; + fn_2_E420(temp_r30, arg1, arg2); + fn_2_E66C(temp_r30, arg3); + fn_2_E69C(temp_r30, 90.0f, 0.045999996f); + fn_2_E6BC(temp_r30, 5.0f, 1.5f, 0.08f, 0.8f, 0.8f); + fn_2_E364(temp_r30, 1); + return temp_r22; } void fn_2_FF98(omObjData *object) { - WorkE6E8 *temp_r29; - omObjData *temp_r28; - s32 temp_r25; - s32 temp_r24; - temp_r24 = 0; - temp_r28 = (omObjData *)(object->work[0]); - temp_r29 = temp_r28->data; - temp_r29->unk4.x += object->scale.x * sind(object->trans.x); - temp_r29->unk4.y += object->scale.y * sind(object->trans.x); - temp_r29->unk4.z += object->scale.z * sind(object->trans.x); - object->trans.x += object->rot.x; - if (object->trans.x >= 360.0f) { - object->trans.x -= 360.0f; - } - if (object->trans.x < 0.0f) { - object->trans.x += 360.0f; - } - for (temp_r25 = 0; temp_r25 < temp_r29->unk0; temp_r25++) { - if (temp_r29->unk34[temp_r25].z >= lbl_2_bss_6C.z) { - temp_r24++; - } - } - if (temp_r24 == temp_r29->unk0) { - fn_2_E24C(temp_r28); - omDelObjEx(HuPrcCurrentGet(), object); - } + WorkE6E8 *temp_r29; + omObjData *temp_r28; + s32 temp_r25; + s32 temp_r24; + temp_r24 = 0; + temp_r28 = (omObjData *)(object->work[0]); + temp_r29 = temp_r28->data; + temp_r29->unk4.x += object->scale.x*sind(object->trans.x); + temp_r29->unk4.y += object->scale.y*sind(object->trans.x); + temp_r29->unk4.z += object->scale.z*sind(object->trans.x); + object->trans.x += object->rot.x; + if(object->trans.x >= 360.0f) { + object->trans.x -= 360.0f; + } + if(object->trans.x < 0.0f) { + object->trans.x += 360.0f; + } + for(temp_r25=0; temp_r25unk0; temp_r25++) { + if(temp_r29->unk34[temp_r25].z >= lbl_2_bss_6C.z) { + temp_r24++; + } + } + if(temp_r24 == temp_r29->unk0) { + fn_2_E24C(temp_r28); + omDelObjEx(HuPrcCurrentGet(), object); + } + } diff --git a/src/REL/m401Dll/main_ex.c b/src/REL/m401Dll/main_ex.c index 34dc3dab..10e2bf6c 100644 --- a/src/REL/m401Dll/main_ex.c +++ b/src/REL/m401Dll/main_ex.c @@ -1,19 +1,19 @@ -#include "game/audio.h" -#include "game/frand.h" -#include "game/hsfanim.h" #include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/object.h" -#include "game/objsub.h" #include "game/sprite.h" +#include "game/object.h" +#include "game/hsfanim.h" +#include "game/hsfmotion.h" +#include "game/audio.h" +#include "game/objsub.h" +#include "game/frand.h" #include "ext_math.h" #include "REL/m401Dll.h" struct Bss13EData { - s16 unk0; - s16 unk2[3]; + s16 unk0; + s16 unk2[3]; }; AnimData *lbl_2_bss_250; @@ -33,115 +33,116 @@ float lbl_2_bss_128; float lbl_2_bss_124; s16 lbl_2_bss_120; + void fn_2_10240(Vec *arg0, Vec *arg1) { - CameraData *camera; - Mtx lookat; - Mtx44 proj; - float coord[4]; - arg0->y = -arg0->y; - camera = &Hu3DCamera[0]; - MTXLookAt(lookat, &camera->pos, &camera->up, &camera->target); - MTXMultVec(lookat, arg0, arg0); - MTXPerspective(proj, camera->fov, camera->aspect, camera->near, camera->far); - coord[0] = (arg0->x * proj[0][0]) + (arg0->y * proj[0][1]) + (arg0->z * proj[0][2]) + proj[0][3]; - coord[1] = (arg0->x * proj[1][0]) + (arg0->y * proj[1][1]) + (arg0->z * proj[1][2]) + proj[1][3]; - coord[2] = (arg0->x * proj[2][0]) + (arg0->y * proj[2][1]) + (arg0->z * proj[2][2]) + proj[2][3]; - coord[3] = (arg0->x * proj[3][0]) + (arg0->y * proj[3][1]) + (arg0->z * proj[3][2]) + proj[3][3]; - arg1->x = ((coord[0] / coord[3]) * 320.0f) + 320.0f; - arg1->y = ((coord[1] / coord[3]) * 240.0f) + 240.0f; - arg1->z = coord[2] / coord[3]; + CameraData *camera; + Mtx lookat; + Mtx44 proj; + float coord[4]; + arg0->y = -arg0->y; + camera = &Hu3DCamera[0]; + MTXLookAt(lookat, &camera->pos, &camera->up, &camera->target); + MTXMultVec(lookat, arg0, arg0); + MTXPerspective(proj, camera->fov, camera->aspect, camera->near, camera->far); + coord[0] = (arg0->x*proj[0][0])+(arg0->y*proj[0][1])+(arg0->z*proj[0][2])+proj[0][3]; + coord[1] = (arg0->x*proj[1][0])+(arg0->y*proj[1][1])+(arg0->z*proj[1][2])+proj[1][3]; + coord[2] = (arg0->x*proj[2][0])+(arg0->y*proj[2][1])+(arg0->z*proj[2][2])+proj[2][3]; + coord[3] = (arg0->x*proj[3][0])+(arg0->y*proj[3][1])+(arg0->z*proj[3][2])+proj[3][3]; + arg1->x = ((coord[0]/coord[3])*320.0f)+320.0f; + arg1->y = ((coord[1]/coord[3])*240.0f)+240.0f; + arg1->z = coord[2]/coord[3]; } void fn_2_1041C(void) { - s32 i; - lbl_2_bss_250 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M401, 0x11)); - lbl_2_bss_24C = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M401, 0x12)); - lbl_2_bss_248 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M401, 0x13)); - lbl_2_bss_240 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M401, 0x14)); - lbl_2_bss_23C = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M401, 0x15)); - lbl_2_bss_238 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M401, 0x16)); - HuSprAnimLock(lbl_2_bss_250); - HuSprAnimLock(lbl_2_bss_24C); - HuSprAnimLock(lbl_2_bss_248); - HuSprAnimLock(lbl_2_bss_240); - HuSprAnimLock(lbl_2_bss_23C); - HuSprAnimLock(lbl_2_bss_238); - lbl_2_bss_244 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M401, 0x26)); - HuSprAnimLock(lbl_2_bss_244); - lbl_2_bss_220[0][0] = lbl_2_bss_250; - lbl_2_bss_220[0][1] = lbl_2_bss_24C; - lbl_2_bss_220[0][2] = lbl_2_bss_248; - lbl_2_bss_220[1][0] = lbl_2_bss_240; - lbl_2_bss_220[1][1] = lbl_2_bss_23C; - lbl_2_bss_220[1][2] = lbl_2_bss_238; - for (i = 0; i < 4; i++) { - lbl_2_bss_136[i] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M401, 0x17)); - Hu3DModelAttrSet(lbl_2_bss_136[i], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_2_bss_136[i], HU3D_MOTATTR_LOOP); - Hu3DModelScaleSet(lbl_2_bss_136[i], 1.5f, 1.5f, 1.0f); - Hu3DModelLayerSet(lbl_2_bss_136[i], 2); - } + s32 i; + lbl_2_bss_250 = HuSprAnimReadFile(0x200011); + lbl_2_bss_24C = HuSprAnimReadFile(0x200012); + lbl_2_bss_248 = HuSprAnimReadFile(0x200013); + lbl_2_bss_240 = HuSprAnimReadFile(0x200014); + lbl_2_bss_23C = HuSprAnimReadFile(0x200015); + lbl_2_bss_238 = HuSprAnimReadFile(0x200016); + HuSprAnimLock(lbl_2_bss_250); + HuSprAnimLock(lbl_2_bss_24C); + HuSprAnimLock(lbl_2_bss_248); + HuSprAnimLock(lbl_2_bss_240); + HuSprAnimLock(lbl_2_bss_23C); + HuSprAnimLock(lbl_2_bss_238); + lbl_2_bss_244 = HuSprAnimReadFile(0x200026); + HuSprAnimLock(lbl_2_bss_244); + lbl_2_bss_220[0][0] = lbl_2_bss_250; + lbl_2_bss_220[0][1] = lbl_2_bss_24C; + lbl_2_bss_220[0][2] = lbl_2_bss_248; + lbl_2_bss_220[1][0] = lbl_2_bss_240; + lbl_2_bss_220[1][1] = lbl_2_bss_23C; + lbl_2_bss_220[1][2] = lbl_2_bss_238; + for(i=0; i<4; i++) { + lbl_2_bss_136[i] = Hu3DModelCreateFile(0x200017); + Hu3DModelAttrSet(lbl_2_bss_136[i], 1); + Hu3DModelAttrSet(lbl_2_bss_136[i], 0x40000001); + Hu3DModelScaleSet(lbl_2_bss_136[i], 1.5f, 1.5f, 1.0f); + Hu3DModelLayerSet(lbl_2_bss_136[i], 2); + } } void fn_2_10710(void) { - HuSprAnimKill(lbl_2_bss_250); - HuSprAnimKill(lbl_2_bss_24C); - HuSprAnimKill(lbl_2_bss_248); - HuSprAnimKill(lbl_2_bss_240); - HuSprAnimKill(lbl_2_bss_23C); - HuSprAnimKill(lbl_2_bss_238); - HuSprAnimKill(lbl_2_bss_244); + HuSprAnimKill(lbl_2_bss_250); + HuSprAnimKill(lbl_2_bss_24C); + HuSprAnimKill(lbl_2_bss_248); + HuSprAnimKill(lbl_2_bss_240); + HuSprAnimKill(lbl_2_bss_23C); + HuSprAnimKill(lbl_2_bss_238); + HuSprAnimKill(lbl_2_bss_244); } void fn_2_1079C(void) { - s32 i; - for (i = 0; i < 28; i++) { - lbl_2_bss_13E[i].unk0 = 0; - lbl_2_bss_13E[i].unk2[0] = Hu3DParticleCreate(lbl_2_bss_250, 80); - lbl_2_bss_13E[i].unk2[1] = Hu3DParticleCreate(lbl_2_bss_24C, 80); - lbl_2_bss_13E[i].unk2[2] = Hu3DParticleCreate(lbl_2_bss_248, 80); - Hu3DModelAttrSet(lbl_2_bss_13E[i].unk2[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_2_bss_13E[i].unk2[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_2_bss_13E[i].unk2[2], HU3D_ATTR_DISPOFF); - } - lbl_2_bss_134 = 0; + s32 i; + for(i=0; i<28; i++) { + lbl_2_bss_13E[i].unk0 = 0; + lbl_2_bss_13E[i].unk2[0] = Hu3DParticleCreate(lbl_2_bss_250, 80); + lbl_2_bss_13E[i].unk2[1] = Hu3DParticleCreate(lbl_2_bss_24C, 80); + lbl_2_bss_13E[i].unk2[2] = Hu3DParticleCreate(lbl_2_bss_248, 80); + Hu3DModelAttrSet(lbl_2_bss_13E[i].unk2[0], 1); + Hu3DModelAttrSet(lbl_2_bss_13E[i].unk2[1], 1); + Hu3DModelAttrSet(lbl_2_bss_13E[i].unk2[2], 1); + } + lbl_2_bss_134 = 0; } s16 fn_2_108C8(void) { - s32 i; - s32 j; - for (i = 0; i < 28; i++) { - if (!lbl_2_bss_13E[i].unk0) { - for (j = 0; j < 3; j++) { - Hu3DModelAttrReset(lbl_2_bss_13E[i].unk2[j], HU3D_ATTR_DISPOFF); - } - lbl_2_bss_13E[i].unk0 = 1; - return i; - } - } - return -1; + s32 i; + s32 j; + for(i=0; i<28; i++) { + if(!lbl_2_bss_13E[i].unk0) { + for(j=0; j<3; j++) { + Hu3DModelAttrReset(lbl_2_bss_13E[i].unk2[j], 1); + } + lbl_2_bss_13E[i].unk0 = 1; + return i; + } + } + return -1; } void fn_2_10980(s16 arg0) { - s32 i; - lbl_2_bss_13E[arg0].unk0 = 0; - for (i = 0; i < 3; i++) { - Hu3DModelAttrSet(lbl_2_bss_13E[arg0].unk2[i], HU3D_ATTR_DISPOFF); - } + s32 i; + lbl_2_bss_13E[arg0].unk0 = 0; + for(i=0; i<3; i++) { + Hu3DModelAttrSet(lbl_2_bss_13E[arg0].unk2[i], 1); + } } s16 fn_2_10A08(void) { - s16 temp_r31 = lbl_2_bss_136[lbl_2_bss_134]; - lbl_2_bss_134 = (lbl_2_bss_134 + 1) & 0x3; - Hu3DModelTPLvlSet(temp_r31, 1.0f); - return temp_r31; + s16 temp_r31 = lbl_2_bss_136[lbl_2_bss_134]; + lbl_2_bss_134 = (lbl_2_bss_134+1)&0x3; + Hu3DModelTPLvlSet(temp_r31, 1.0f); + return temp_r31; } void fn_2_113AC(omObjData *object); @@ -162,151 +163,152 @@ void fn_2_13B7C(ModelData *model, ParticleData *particle, Mtx matrix); omObjData *fn_2_10A88(Vec *arg0, s16 arg1) { - omObjData *temp_r31; - s32 temp_r30; - ParticleData *temp_r28; - UnkWork10A88 *temp_r27; - s16 temp_r24 = fn_2_108C8(); - if (temp_r24 < 0) { - return NULL; - } - { - s16 temp_r22 = -1; - if (arg1 == 0) { - temp_r22 = 1; - } - temp_r31 = omAddObjEx(HuPrcCurrentGet(), 0x514, 3, 0, temp_r22, NULL); - } + omObjData *temp_r31; + s32 temp_r30; + ParticleData *temp_r28; + UnkWork10A88 *temp_r27; + s16 temp_r24 = fn_2_108C8(); + if(temp_r24 < 0) { + return NULL; + } + { + s16 temp_r22 = -1; + if(arg1 == 0) { + temp_r22 = 1; + } + temp_r31 = omAddObjEx(HuPrcCurrentGet(), 0x514, 3, 0, temp_r22, NULL); + } + + + temp_r31->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkWork10A88), MEMORY_DEFAULT_NUM); + temp_r27 = temp_r31->data; + temp_r27->unk0 = *arg0; + for(temp_r30=0; temp_r30<3; temp_r30++) { + temp_r31->model[temp_r30] = lbl_2_bss_13E[temp_r24].unk2[temp_r30]; + temp_r28 = Hu3DData[temp_r31->model[temp_r30]].unk_120; + Hu3DParticleCntSet(temp_r31->model[temp_r30], 0); + Hu3DParticleAnimModeSet(temp_r31->model[temp_r30], 0); + Hu3DModelLayerSet(temp_r31->model[temp_r30], 1); + if(arg1 == 1) { + temp_r31->unk10 = fn_2_10A08(); + Hu3DModelAttrReset(temp_r31->unk10, 1); + temp_r28->unk_44 = lbl_2_bss_220[1][temp_r30]; + temp_r27->unk1C = 1.0f; + temp_r31->work[3] = 45; + Hu3DModelTPLvlSet(temp_r31->unk10, temp_r27->unk1C); + } else { + temp_r28->unk_44 = lbl_2_bss_220[0][temp_r30]; + } + } + temp_r27->unk10 = 3; + temp_r27->unk12 = temp_r24; + //I am not table to force arg1 to get reloaded without deleting code or serious temporary register allocation issues + (void)arg1; + switch((temp_r27->unk18 = arg1)) { + case 1: + Hu3DModelPosSet(temp_r31->unk10, arg0->x, arg0->y, lbl_2_bss_60.z+arg0->z); - temp_r31->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkWork10A88), MEMORY_DEFAULT_NUM); - temp_r27 = temp_r31->data; - temp_r27->unk0 = *arg0; - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - temp_r31->model[temp_r30] = lbl_2_bss_13E[temp_r24].unk2[temp_r30]; - temp_r28 = Hu3DData[temp_r31->model[temp_r30]].unk_120; - Hu3DParticleCntSet(temp_r31->model[temp_r30], 0); - Hu3DParticleAnimModeSet(temp_r31->model[temp_r30], 0); - Hu3DModelLayerSet(temp_r31->model[temp_r30], 1); - if (arg1 == 1) { - temp_r31->unk10 = fn_2_10A08(); - Hu3DModelAttrReset(temp_r31->unk10, HU3D_ATTR_DISPOFF); - temp_r28->unk_44 = lbl_2_bss_220[1][temp_r30]; - temp_r27->unk1C = 1.0f; - temp_r31->work[3] = 45; - Hu3DModelTPLvlSet(temp_r31->unk10, temp_r27->unk1C); - } - else { - temp_r28->unk_44 = lbl_2_bss_220[0][temp_r30]; - } - } - temp_r27->unk10 = 3; - temp_r27->unk12 = temp_r24; - temp_r27->unk18 = arg1; - switch (arg1) { - case 1: - Hu3DModelPosSet(temp_r31->unk10, arg0->x, arg0->y, lbl_2_bss_60.z + arg0->z); - - case 0: - temp_r31->trans.x = arg0->x; - temp_r31->trans.y = arg0->y; - temp_r31->trans.z = lbl_2_bss_60.z + arg0->z; - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - Hu3DParticleHookSet(temp_r31->model[temp_r30], fn_2_11FB4); - Hu3DParticleColSet(temp_r31->model[temp_r30], 255, 255, 255); - Hu3DModelPosSet(temp_r31->model[temp_r30], temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z); - temp_r28 = Hu3DData[temp_r31->model[temp_r30]].unk_120; - Hu3DParticleBlendModeSet(temp_r31->model[temp_r30], 0); - temp_r28->unk_00 = (temp_r30 * 4.5f) / 3.0f; - temp_r28->unk_02 = 0; - temp_r28->unk_1C = temp_r31; - } - temp_r27->unk14 = 0; - temp_r31->func = fn_2_113AC; - break; - - case 2: - fn_2_A8A4(temp_r31, arg0->x, arg0->y, arg0->z); - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - Hu3DParticleHookSet(temp_r31->model[temp_r30], fn_2_126C8); - Hu3DParticleColSet(temp_r31->model[temp_r30], 255, 255, 255); - Hu3DModelPosSet(temp_r31->model[temp_r30], temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z); - Hu3DParticleBlendModeSet(temp_r31->model[temp_r30], 0); - temp_r28 = Hu3DData[temp_r31->model[temp_r30]].unk_120; - temp_r28->unk_00 = (temp_r30 * 2) + (frand() & 0x7); - temp_r28->unk_1C = temp_r31; - } - temp_r31->func = fn_2_11A68; - break; - - case 3: - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - Hu3DParticleHookSet(temp_r31->model[temp_r30], fn_2_126F4); - Hu3DParticleColSet(temp_r31->model[temp_r30], 255, 255, 255); - Hu3DModelPosSet(temp_r31->model[temp_r30], arg0->x, arg0->y, arg0->z); - Hu3DParticleBlendModeSet(temp_r31->model[temp_r30], 0); - temp_r28 = Hu3DData[temp_r31->model[temp_r30]].unk_120; - temp_r28->unk_00 = (temp_r30 * 2) + (frand() & 0x7); - temp_r28->unk_1C = temp_r31; - } - temp_r31->func = fn_2_11B78; - break; - - case 4: - fn_2_A8A4(temp_r31, arg0->x, arg0->y, arg0->z); - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - Hu3DParticleHookSet(temp_r31->model[temp_r30], fn_2_12B30); - Hu3DParticleColSet(temp_r31->model[temp_r30], 255, 255, 255); - Hu3DModelPosSet(temp_r31->model[temp_r30], temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z); - Hu3DParticleBlendModeSet(temp_r31->model[temp_r30], 0); - temp_r28 = Hu3DData[temp_r31->model[temp_r30]].unk_120; - temp_r28->unk_00 = (temp_r30 * 2) + (frand() & 0x7); - temp_r28->unk_1C = temp_r31; - } - temp_r31->func = fn_2_11C30; - break; - - case 5: - fn_2_A8A4(temp_r31, arg0->x, arg0->y, arg0->z); - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - Hu3DParticleHookSet(temp_r31->model[temp_r30], fn_2_1301C); - Hu3DParticleColSet(temp_r31->model[temp_r30], 255, 255, 255); - Hu3DModelPosSet(temp_r31->model[temp_r30], temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z); - Hu3DParticleBlendModeSet(temp_r31->model[temp_r30], 1); - temp_r28 = Hu3DData[temp_r31->model[temp_r30]].unk_120; - temp_r28->unk_00 = (temp_r30 * 2) + (frand() & 0x7); - temp_r28->unk_1C = temp_r31; - } - temp_r31->func = fn_2_11D40; - break; - - case 6: - omSetTra(temp_r31, arg0->x, arg0->y, arg0->z); - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - Hu3DParticleHookSet(temp_r31->model[temp_r30], fn_2_1350C); - Hu3DParticleColSet(temp_r31->model[temp_r30], 255, 255, 255); - Hu3DModelPosSet(temp_r31->model[temp_r30], temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z); - temp_r28 = Hu3DData[temp_r31->model[temp_r30]].unk_120; - Hu3DParticleBlendModeSet(temp_r31->model[temp_r30], 1); - } - temp_r31->func = fn_2_11E44; - break; - - case 7: - omSetTra(temp_r31, arg0->x, arg0->y, arg0->z); - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - Hu3DParticleHookSet(temp_r31->model[temp_r30], fn_2_13B7C); - Hu3DParticleColSet(temp_r31->model[temp_r30], 255, 255, 255); - Hu3DModelPosSet(temp_r31->model[temp_r30], temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z); - temp_r28 = Hu3DData[temp_r31->model[temp_r30]].unk_120; - Hu3DParticleBlendModeSet(temp_r31->model[temp_r30], 1); - } - temp_r31->func = fn_2_11EFC; - break; - - default: - break; - } - return temp_r31; + case 0: + temp_r31->trans.x = arg0->x; + temp_r31->trans.y = arg0->y; + temp_r31->trans.z = lbl_2_bss_60.z+arg0->z; + for(temp_r30=0; temp_r30<3; temp_r30++) { + Hu3DParticleHookSet(temp_r31->model[temp_r30], fn_2_11FB4); + Hu3DParticleColSet(temp_r31->model[temp_r30], 255, 255, 255); + Hu3DModelPosSet(temp_r31->model[temp_r30], temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z); + temp_r28 = Hu3DData[temp_r31->model[temp_r30]].unk_120; + Hu3DParticleBlendModeSet(temp_r31->model[temp_r30], 0); + temp_r28->unk_00 = (temp_r30*4.5f)/3.0f; + temp_r28->unk_02 = 0; + temp_r28->unk_1C = temp_r31; + } + temp_r27->unk14 = 0; + temp_r31->func = fn_2_113AC; + break; + + case 2: + fn_2_A8A4(temp_r31, arg0->x, arg0->y, arg0->z); + for(temp_r30=0; temp_r30<3; temp_r30++) { + Hu3DParticleHookSet(temp_r31->model[temp_r30], fn_2_126C8); + Hu3DParticleColSet(temp_r31->model[temp_r30], 255, 255, 255); + Hu3DModelPosSet(temp_r31->model[temp_r30], temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z); + Hu3DParticleBlendModeSet(temp_r31->model[temp_r30], 0); + temp_r28 = Hu3DData[temp_r31->model[temp_r30]].unk_120; + temp_r28->unk_00 = (temp_r30*2)+(frand() & 0x7); + temp_r28->unk_1C = temp_r31; + } + temp_r31->func = fn_2_11A68; + break; + + case 3: + for(temp_r30=0; temp_r30<3; temp_r30++) { + Hu3DParticleHookSet(temp_r31->model[temp_r30], fn_2_126F4); + Hu3DParticleColSet(temp_r31->model[temp_r30], 255, 255, 255); + Hu3DModelPosSet(temp_r31->model[temp_r30], arg0->x, arg0->y, arg0->z); + Hu3DParticleBlendModeSet(temp_r31->model[temp_r30], 0); + temp_r28 = Hu3DData[temp_r31->model[temp_r30]].unk_120; + temp_r28->unk_00 = (temp_r30*2)+(frand() & 0x7); + temp_r28->unk_1C = temp_r31; + } + temp_r31->func = fn_2_11B78; + break; + + case 4: + fn_2_A8A4(temp_r31, arg0->x, arg0->y, arg0->z); + for(temp_r30=0; temp_r30<3; temp_r30++) { + Hu3DParticleHookSet(temp_r31->model[temp_r30], fn_2_12B30); + Hu3DParticleColSet(temp_r31->model[temp_r30], 255, 255, 255); + Hu3DModelPosSet(temp_r31->model[temp_r30], temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z); + Hu3DParticleBlendModeSet(temp_r31->model[temp_r30], 0); + temp_r28 = Hu3DData[temp_r31->model[temp_r30]].unk_120; + temp_r28->unk_00 = (temp_r30*2)+(frand() & 0x7); + temp_r28->unk_1C = temp_r31; + } + temp_r31->func = fn_2_11C30; + break; + + case 5: + fn_2_A8A4(temp_r31, arg0->x, arg0->y, arg0->z); + for(temp_r30=0; temp_r30<3; temp_r30++) { + Hu3DParticleHookSet(temp_r31->model[temp_r30], fn_2_1301C); + Hu3DParticleColSet(temp_r31->model[temp_r30], 255, 255, 255); + Hu3DModelPosSet(temp_r31->model[temp_r30], temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z); + Hu3DParticleBlendModeSet(temp_r31->model[temp_r30], 1); + temp_r28 = Hu3DData[temp_r31->model[temp_r30]].unk_120; + temp_r28->unk_00 = (temp_r30*2)+(frand() & 0x7); + temp_r28->unk_1C = temp_r31; + } + temp_r31->func = fn_2_11D40; + break; + + case 6: + omSetTra(temp_r31, arg0->x, arg0->y, arg0->z); + for(temp_r30=0; temp_r30<3; temp_r30++) { + Hu3DParticleHookSet(temp_r31->model[temp_r30], fn_2_1350C); + Hu3DParticleColSet(temp_r31->model[temp_r30], 255, 255, 255); + Hu3DModelPosSet(temp_r31->model[temp_r30], temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z); + temp_r28 = Hu3DData[temp_r31->model[temp_r30]].unk_120; + Hu3DParticleBlendModeSet(temp_r31->model[temp_r30], 1); + } + temp_r31->func = fn_2_11E44; + break; + + case 7: + omSetTra(temp_r31, arg0->x, arg0->y, arg0->z); + for(temp_r30=0; temp_r30<3; temp_r30++) { + Hu3DParticleHookSet(temp_r31->model[temp_r30], fn_2_13B7C); + Hu3DParticleColSet(temp_r31->model[temp_r30], 255, 255, 255); + Hu3DModelPosSet(temp_r31->model[temp_r30], temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z); + temp_r28 = Hu3DData[temp_r31->model[temp_r30]].unk_120; + Hu3DParticleBlendModeSet(temp_r31->model[temp_r30], 1); + } + temp_r31->func = fn_2_11EFC; + break; + + default: + break; + } + return temp_r31; } void fn_2_118B0(omObjData *object); @@ -314,657 +316,653 @@ void fn_2_123F8(ModelData *model, ParticleData *particle, Mtx matrix); void fn_2_113AC(omObjData *object) { - UnkWork10A88 *temp_r30; - s32 temp_r29; - M401WorkPlayer *temp_r28; - omObjData *temp_r27; - ParticleData *temp_r25; - s16 temp_r24; - temp_r30 = object->data; - temp_r30->unk0.z += (lbl_2_bss_50 * 0.5f); - object->trans.x = temp_r30->unk0.x; - object->trans.y = temp_r30->unk0.y; - object->trans.z = lbl_2_bss_60.z + temp_r30->unk0.z; - if (object->unk10 != 0) { - Hu3DModelPosSet(object->unk10, object->trans.x, object->trans.y, object->trans.z); - } - for (temp_r29 = 1; temp_r29 < 3; temp_r29++) { - Hu3DModelRotSet(object->model[temp_r29], object->rot.x, object->rot.y, object->rot.z); - Hu3DModelPosSet(object->model[temp_r29], object->trans.x, object->trans.y, object->trans.z); - } - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - float dist; - temp_r27 = lbl_2_bss_118[temp_r29]; - temp_r28 = temp_r27->data; - if (temp_r28->unk78 != 0) { - continue; - } - dist = VECDistanceXYZ(&object->trans, &temp_r27->trans); - if (dist < 108.00001f) { - Hu3DMotionShiftSet(lbl_2_bss_118[temp_r29]->model[0], lbl_2_bss_118[temp_r29]->motion[6], 0, 10, HU3D_MOTATTR_NONE); - HuAudFXPlay(1288); - if (temp_r30->unk18 == 0) { - HuAudFXPlay(9); - temp_r28->unk72++; - omVibrate(temp_r28->unk4, 12, 6, 6); - } - else { - HuAudFXPlay(1292); - temp_r28->unk74 = 3; - temp_r28->unk72 += 3; - fn_2_169C(temp_r28->unk4); - omVibrate(temp_r28->unk4, 12, 4, 2); - } - temp_r28->unk84 = 50; - for (temp_r29 = 0; temp_r29 < 3; temp_r29++) { - temp_r25 = Hu3DData[object->model[temp_r29]].unk_120; - temp_r25->unk_02 = 0; - Hu3DParticleHookSet(object->model[temp_r29], fn_2_123F8); - } - object->func = fn_2_118B0; - break; - } - } - if (temp_r30->unk0.z > 850.0f) { - temp_r30->unk14 = 1; - } - if (object->unk10) { - if (object->work[3] != 0) { - object->work[3]--; - } - else { - temp_r30->unk1C -= 0.033333335f; - if (temp_r30->unk1C < 0) { - temp_r30->unk1C = 0; - } - Hu3DModelTPLvlSet(object->unk10, temp_r30->unk1C); - } - } - if (temp_r30->unk10 == 0) { - if (object->unk10) { - Hu3DModelAttrSet(object->unk10, HU3D_ATTR_DISPOFF); - } - fn_2_10980(temp_r30->unk12); - omDelObjEx(HuPrcCurrentGet(), object); - } + UnkWork10A88 *temp_r30; + s32 temp_r29; + M401WorkPlayer *temp_r28; + omObjData *temp_r27; + ParticleData *temp_r25; + s16 temp_r24; + temp_r30 = object->data; + temp_r30->unk0.z += (lbl_2_bss_50*0.5f); + object->trans.x = temp_r30->unk0.x; + object->trans.y = temp_r30->unk0.y; + object->trans.z = lbl_2_bss_60.z+temp_r30->unk0.z; + if(object->unk10 != 0) { + Hu3DModelPosSet(object->unk10, object->trans.x, object->trans.y, object->trans.z); + } + for(temp_r29=1; temp_r29<3; temp_r29++) { + Hu3DModelRotSet(object->model[temp_r29], object->rot.x, object->rot.y, object->rot.z); + Hu3DModelPosSet(object->model[temp_r29], object->trans.x, object->trans.y, object->trans.z); + } + for(temp_r29=0; temp_r29<4; temp_r29++) { + float dist; + temp_r27 = lbl_2_bss_118[temp_r29]; + temp_r28 = temp_r27->data; + if(temp_r28->unk78 != 0) { + continue; + } + dist = VECDistanceXYZ(&object->trans, &temp_r27->trans); + if(dist < 108.00001f) { + Hu3DMotionShiftSet(lbl_2_bss_118[temp_r29]->model[0], lbl_2_bss_118[temp_r29]->motion[6], 0, 10, 0); + HuAudFXPlay(1288); + if(temp_r30->unk18 == 0) { + HuAudFXPlay(9); + temp_r28->unk72++; + omVibrate(temp_r28->unk4, 12, 6, 6); + } else { + HuAudFXPlay(1292); + temp_r28->unk74 = 3; + temp_r28->unk72 += 3; + fn_2_169C(temp_r28->unk4); + omVibrate(temp_r28->unk4, 12, 4, 2); + } + temp_r28->unk84 = 50; + for(temp_r29=0; temp_r29<3; temp_r29++) { + temp_r25 = Hu3DData[object->model[temp_r29]].unk_120; + temp_r25->unk_02 = 0; + Hu3DParticleHookSet(object->model[temp_r29], fn_2_123F8); + } + object->func = fn_2_118B0; + break; + } + } + if(temp_r30->unk0.z > 850.0f) { + temp_r30->unk14 = 1; + } + if(object->unk10) { + if(object->work[3] != 0) { + object->work[3]--; + } else { + temp_r30->unk1C -= 0.033333335f; + if(temp_r30->unk1C < 0) { + temp_r30->unk1C = 0; + } + Hu3DModelTPLvlSet(object->unk10, temp_r30->unk1C); + } + } + if(temp_r30->unk10 == 0) { + if(object->unk10) { + Hu3DModelAttrSet(object->unk10, 1); + } + fn_2_10980(temp_r30->unk12); + omDelObjEx(HuPrcCurrentGet(), object); + } + } void fn_2_118B0(omObjData *object) { - UnkWork10A88 *temp_r30; - s32 temp_r29; - - temp_r30 = object->data; - temp_r30->unk0.z += (lbl_2_bss_50 * 0.5f); - object->trans.x = temp_r30->unk0.x; - object->trans.y = temp_r30->unk0.y; - object->trans.z = lbl_2_bss_60.z + temp_r30->unk0.z; - for (temp_r29 = 1; temp_r29 < 3; temp_r29++) { - Hu3DModelPosSet(object->model[temp_r29], object->trans.x, object->trans.y, object->trans.z); - } - if (object->unk10 != 0) { - Hu3DModelPosSet(object->unk10, object->trans.x, object->trans.y, object->trans.z); - temp_r30->unk1C -= 0.033333335f; - if (temp_r30->unk1C < 0) { - temp_r30->unk1C = 0; - } - Hu3DModelTPLvlSet(object->unk10, temp_r30->unk1C); - } - - if (temp_r30->unk10 == 0) { - if (object->unk10) { - Hu3DModelAttrSet(object->unk10, HU3D_ATTR_DISPOFF); - } - fn_2_10980(temp_r30->unk12); - omDelObjEx(HuPrcCurrentGet(), object); - } + UnkWork10A88 *temp_r30; + s32 temp_r29; + + temp_r30 = object->data; + temp_r30->unk0.z += (lbl_2_bss_50*0.5f); + object->trans.x = temp_r30->unk0.x; + object->trans.y = temp_r30->unk0.y; + object->trans.z = lbl_2_bss_60.z+temp_r30->unk0.z; + for(temp_r29=1; temp_r29<3; temp_r29++) { + Hu3DModelPosSet(object->model[temp_r29], object->trans.x, object->trans.y, object->trans.z); + } + if(object->unk10 != 0) { + Hu3DModelPosSet(object->unk10, object->trans.x, object->trans.y, object->trans.z); + temp_r30->unk1C -= 0.033333335f; + if(temp_r30->unk1C < 0) { + temp_r30->unk1C = 0; + } + Hu3DModelTPLvlSet(object->unk10, temp_r30->unk1C); + } + + + if(temp_r30->unk10 == 0) { + if(object->unk10) { + Hu3DModelAttrSet(object->unk10, 1); + } + fn_2_10980(temp_r30->unk12); + omDelObjEx(HuPrcCurrentGet(), object); + } } void fn_2_11A68(omObjData *object) { - s32 temp_r30; - UnkWork10A88 *temp_r29; - UnkWork10A88 *sp8; - temp_r29 = object->data; - sp8 = temp_r29->unkC->data; - omSetTra(object, 0, 0, 0); - for (temp_r30 = 1; temp_r30 < 3; temp_r30++) { - Hu3DModelPosSet(object->model[temp_r30], object->trans.x, object->trans.y, object->trans.z); - } - if (object->work[0] == 1) { - fn_2_10980(temp_r29->unk12); - omDelObjEx(HuPrcCurrentGet(), object); - } + s32 temp_r30; + UnkWork10A88 *temp_r29; + UnkWork10A88 *sp8; + temp_r29 = object->data; + sp8 = temp_r29->unkC->data; + omSetTra(object, 0, 0, 0); + for(temp_r30=1; temp_r30<3; temp_r30++) { + Hu3DModelPosSet(object->model[temp_r30], object->trans.x, object->trans.y, object->trans.z); + } + if(object->work[0] == 1) { + fn_2_10980(temp_r29->unk12); + omDelObjEx(HuPrcCurrentGet(), object); + } } + void fn_2_11B78(omObjData *object) { - UnkWork10A88 *temp_r29; - temp_r29 = object->data; - if (object->work[0] == 1) { - fn_2_10980(temp_r29->unk12); - omDelObjEx(HuPrcCurrentGet(), object); - } + UnkWork10A88 *temp_r29; + temp_r29 = object->data; + if(object->work[0] == 1) { + fn_2_10980(temp_r29->unk12); + omDelObjEx(HuPrcCurrentGet(), object); + } } void fn_2_11C30(omObjData *object) { - s32 temp_r30; - UnkWork10A88 *temp_r29; - UnkWork10A88 *sp8; - temp_r29 = object->data; - sp8 = temp_r29->unkC->data; - omSetTra(object, 0, 0, 0); - for (temp_r30 = 1; temp_r30 < 3; temp_r30++) { - Hu3DModelPosSet(object->model[temp_r30], object->trans.x, object->trans.y, object->trans.z); - } - if (object->work[1] == 1) { - fn_2_10980(temp_r29->unk12); - omDelObjEx(HuPrcCurrentGet(), object); - } + s32 temp_r30; + UnkWork10A88 *temp_r29; + UnkWork10A88 *sp8; + temp_r29 = object->data; + sp8 = temp_r29->unkC->data; + omSetTra(object, 0, 0, 0); + for(temp_r30=1; temp_r30<3; temp_r30++) { + Hu3DModelPosSet(object->model[temp_r30], object->trans.x, object->trans.y, object->trans.z); + } + if(object->work[1] == 1) { + fn_2_10980(temp_r29->unk12); + omDelObjEx(HuPrcCurrentGet(), object); + } } void fn_2_11D40(omObjData *object) { - s32 temp_r30; - UnkWork10A88 *temp_r29; - UnkWork10A88 *sp8; - temp_r29 = object->data; - sp8 = temp_r29->unkC->data; - omSetTra(object, temp_r29->unkC->trans.x, temp_r29->unkC->trans.y, temp_r29->unkC->trans.z); - for (temp_r30 = 1; temp_r30 < 3; temp_r30++) { - Hu3DModelPosSet(object->model[temp_r30], object->trans.x, object->trans.y, object->trans.z); - } - if (object->work[1] == 1) { - fn_2_10980(temp_r29->unk12); - omDelObjEx(HuPrcCurrentGet(), object); - } + s32 temp_r30; + UnkWork10A88 *temp_r29; + UnkWork10A88 *sp8; + temp_r29 = object->data; + sp8 = temp_r29->unkC->data; + omSetTra(object, temp_r29->unkC->trans.x, temp_r29->unkC->trans.y, temp_r29->unkC->trans.z); + for(temp_r30=1; temp_r30<3; temp_r30++) { + Hu3DModelPosSet(object->model[temp_r30], object->trans.x, object->trans.y, object->trans.z); + } + if(object->work[1] == 1) { + fn_2_10980(temp_r29->unk12); + omDelObjEx(HuPrcCurrentGet(), object); + } } void fn_2_11E44(omObjData *object) { - UnkWork10A88 *temp_r29; - temp_r29 = object->data; - if (object->work[0] == 1) { - fn_2_10980(temp_r29->unk12); - omDelObjEx(HuPrcCurrentGet(), object); - } + UnkWork10A88 *temp_r29; + temp_r29 = object->data; + if(object->work[0] == 1) { + fn_2_10980(temp_r29->unk12); + omDelObjEx(HuPrcCurrentGet(), object); + } } void fn_2_11EFC(omObjData *object) { - UnkWork10A88 *temp_r29; - temp_r29 = object->data; - if (object->work[0] == 1) { - fn_2_10980(temp_r29->unk12); - omDelObjEx(HuPrcCurrentGet(), object); - } + UnkWork10A88 *temp_r29; + temp_r29 = object->data; + if(object->work[0] == 1) { + fn_2_10980(temp_r29->unk12); + omDelObjEx(HuPrcCurrentGet(), object); + } } void fn_2_11FB4(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - float temp_f30; - float temp_f29; - HsfanimStruct01 *temp_r31; - s32 temp_r29; - UnkWork10A88 *temp_r28; - s32 temp_r27; - temp_r28 = ((omObjData *)(particle->unk_1C))->data; - if (particle->unk_34 == 0) { - temp_r31 = particle->unk_48; - temp_f29 = 360.0f / (particle->unk_30 / 2); - temp_f31 = particle->unk_00; - for (temp_r29 = 0; temp_r29 < particle->unk_30 / 2; temp_r29++, temp_r31++) { - temp_f30 = (0.1f * (rand8() % 50)) + 50; - temp_r31->unk2C = (0.1f * (rand8() % 41)) + 8.0f; - temp_r31->unk08.x = temp_f31; - temp_r31->unk08.y = temp_f30; - temp_r31->unk08.z = 0; - temp_r31->unk14.x = (10.0f / 255.0f) * ((u8)frand()); - temp_r31->unk40.a = 180; - temp_f31 += temp_f29; - temp_r31->unk34.z = 0; - } - for (temp_r29 = 0; temp_r29 < particle->unk_30 / 2; temp_r29++, temp_r31++) { - temp_r31->unk2C = 0; - temp_r31->unk40.a = 0; - } - } - temp_r31 = particle->unk_48; - temp_r27 = 0; - for (temp_r29 = 0; temp_r29 < particle->unk_30 / 2; temp_r29++, temp_r31++) { - if (temp_r31->unk40.a != 0) { - temp_r27++; - temp_f30 = (6.0 * sind(temp_r31->unk08.z)) + temp_r31->unk08.y; - temp_r31->unk34.x = temp_f30 * cosd(temp_r31->unk08.x); - temp_r31->unk34.y = temp_f30 * sind(temp_r31->unk08.x); - temp_r31->unk08.z += temp_r31->unk14.x; - if (temp_r31->unk08.z >= 360.0f) { - temp_r31->unk08.z -= 360.0f; - } - temp_f31 = temp_r31->unk40.a; - if (temp_r28->unk14) { - temp_f31 -= 3.0f; - if (temp_f31 < 0.0f) { - temp_f31 = 0.0f; - } - } - temp_r31->unk40.a = temp_f31; - } - } - if (!temp_r27) { - temp_r28->unk10--; - } + float temp_f31; + float temp_f30; + float temp_f29; + HsfanimStruct01 *temp_r31; + s32 temp_r29; + UnkWork10A88 *temp_r28; + s32 temp_r27; + temp_r28 = ((omObjData *)(particle->unk_1C))->data; + if(particle->unk_34 == 0) { + temp_r31 = particle->unk_48; + temp_f29 = 360.0f/(particle->unk_30/2); + temp_f31 = particle->unk_00; + for(temp_r29=0; temp_r29unk_30/2; temp_r29++, temp_r31++) { + temp_f30 = (0.1f*(rand8() % 50))+50; + temp_r31->unk2C = (0.1f*(rand8() % 41))+8.0f; + temp_r31->unk08.x = temp_f31; + temp_r31->unk08.y = temp_f30; + temp_r31->unk08.z = 0; + temp_r31->unk14.x = (10.0f/255.0f)*((u8)frand()); + temp_r31->unk40.a = 180; + temp_f31 += temp_f29; + temp_r31->unk34.z = 0; + } + for(temp_r29=0; temp_r29unk_30/2; temp_r29++, temp_r31++) { + temp_r31->unk2C = 0; + temp_r31->unk40.a = 0; + } + } + temp_r31 = particle->unk_48; + temp_r27 = 0; + for(temp_r29=0; temp_r29unk_30/2; temp_r29++, temp_r31++) { + if(temp_r31->unk40.a != 0) { + temp_r27++; + temp_f30 = (6.0*sind(temp_r31->unk08.z))+temp_r31->unk08.y; + temp_r31->unk34.x = temp_f30*cosd(temp_r31->unk08.x); + temp_r31->unk34.y = temp_f30*sind(temp_r31->unk08.x); + temp_r31->unk08.z += temp_r31->unk14.x; + if(temp_r31->unk08.z >= 360.0f) { + temp_r31->unk08.z -= 360.0f; + } + temp_f31 = temp_r31->unk40.a; + if(temp_r28->unk14) { + temp_f31 -= 3.0f; + if(temp_f31 < 0.0f) { + temp_f31 = 0.0f; + } + } + temp_r31->unk40.a = temp_f31; + } + } + if(!temp_r27) { + temp_r28->unk10--; + } } void fn_2_123F8(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - HsfanimStruct01 *temp_r31; - s32 temp_r29; - s32 temp_r28; - UnkWork10A88 *temp_r27; - if (!particle->unk_02) { - particle->unk_02 = 1; - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30 / 2; temp_r29++, temp_r31++) { - temp_r31->unk08.x = temp_r31->unk34.x; - temp_r31->unk14.x = 0; - temp_r31->unk14.y = 5.0f + ((35.0f / 255.0f) * ((u8)frand())); - temp_r31->unk14.z = 8.0f + ((8.0f / 255.0f) * ((u8)frand())); - temp_r31->unk24 = 3.0f + ((5.0f / 255.0f) * ((u8)frand())); - } - } - temp_r31 = particle->unk_48; - temp_r28 = 0; - for (temp_r29 = 0; temp_r29 < particle->unk_30 / 2; temp_r29++, temp_r31++) { - if (temp_r31->unk40.a != 0) { - temp_r28++; - temp_r31->unk34.x = temp_r31->unk08.x + (temp_r31->unk14.z * sind(temp_r31->unk14.x)); - temp_r31->unk14.x += temp_r31->unk14.y; - if (temp_r31->unk14.x >= 360.0f) { - temp_r31->unk14.x -= 360.0f; - } - temp_r31->unk34.y += temp_r31->unk24; - temp_f31 = temp_r31->unk40.a; - temp_f31 -= 3.0f; - if (temp_f31 < 0.0f) { - temp_f31 = 0.0f; - } - temp_r31->unk40.a = temp_f31; - } - } - if (temp_r28 == 0) { - UnkWork10A88 *temp_r27 = ((omObjData *)(particle->unk_1C))->data; - temp_r27->unk10--; - } + float temp_f31; + HsfanimStruct01 *temp_r31; + s32 temp_r29; + s32 temp_r28; + UnkWork10A88 *temp_r27; + if(!particle->unk_02) { + particle->unk_02 = 1; + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30/2; temp_r29++, temp_r31++) { + temp_r31->unk08.x = temp_r31->unk34.x; + temp_r31->unk14.x = 0; + temp_r31->unk14.y = 5.0f+((35.0f/255.0f)*((u8)frand())); + temp_r31->unk14.z = 8.0f+((8.0f/255.0f)*((u8)frand())); + temp_r31->unk24 = 3.0f+((5.0f/255.0f)*((u8)frand())); + } + } + temp_r31 = particle->unk_48; + temp_r28 = 0; + for(temp_r29=0; temp_r29unk_30/2; temp_r29++, temp_r31++) { + if(temp_r31->unk40.a != 0) { + temp_r28++; + temp_r31->unk34.x = temp_r31->unk08.x+(temp_r31->unk14.z*sind(temp_r31->unk14.x)); + temp_r31->unk14.x += temp_r31->unk14.y; + if(temp_r31->unk14.x >= 360.0f) { + temp_r31->unk14.x -= 360.0f; + } + temp_r31->unk34.y += temp_r31->unk24; + temp_f31 = temp_r31->unk40.a; + temp_f31 -= 3.0f; + if(temp_f31 < 0.0f) { + temp_f31 = 0.0f; + } + temp_r31->unk40.a = temp_f31; + } + } + if(temp_r28 == 0) { + UnkWork10A88 *temp_r27 = ((omObjData *)(particle->unk_1C))->data; + temp_r27->unk10--; + } } -// Here exclusively to match fn_2_126C8 +//Here exclusively to match fn_2_126C8 static inline void DummyInline(s32 arg0) { - s32 temp1, temp2, temp3, temp4, temp5; - if (arg0 != 0) { - temp1 = 1; - temp2 = temp1 * 2; - temp3 = temp2 * 3; - temp4 = temp3 * 4; - temp5 = temp4 * 5; - temp5 = temp5 / 2; - } + s32 temp1, temp2, temp3, temp4, temp5; + if(arg0 != 0) { + temp1 = 1; + temp2 = temp1*2; + temp3 = temp2*3; + temp4 = temp3*4; + temp5 = temp4*5; + temp5 = temp5/2; + } } void fn_2_126C8(ModelData *model, ParticleData *particle, Mtx matrix) { - DummyInline(0); + DummyInline(0); } void fn_2_126F4(ModelData *model, ParticleData *particle, Mtx matrix) { - HsfanimStruct01 *temp_r31; - s32 temp_r29; - s32 temp_r28; - if (particle->unk_34 == 0) { - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - temp_r31->unk40.a = 0; - temp_r31->unk2C = 0; - } - particle->unk_00 = 0; - } - if (particle->unk_00 == 0) { - for (temp_r29 = 0; temp_r29 < 2; temp_r29++) { - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - if (temp_r31->unk40.a == 0) { - break; - } - } - if (temp_r28 == particle->unk_30) { - continue; - } - temp_r31->unk08.x = -50.0f + (0.3921569f * ((u8)frand())); - temp_r31->unk08.y = 0.058823533f * ((u8)frand()); - temp_r31->unk14.x = (90.0f / 255.0f) * ((u8)frand()); - temp_r31->unk14.y = 5.0f + (0.098039225f * ((u8)frand())); - temp_r31->unk14.z = (float)(frand() % 10) + 8.0f; - temp_r31->unk34.z = -5.0f + ((11.0f / 255.0f) * ((u8)frand())); - temp_r31->unk34.y = (float)(frand() % 31) + -5.0f; - temp_r31->unk2C = temp_r31->unk08.y + 35.0f; - temp_r31->unk40.a = 210; - temp_r31->unk08.y = (0.2 * temp_r31->unk08.y) + 5.0; - particle->unk_00 = (frand() % 10) + 10; - } - } - else { - particle->unk_00--; - } - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - if (temp_r31->unk40.a == 0) { - continue; - } - temp_r31->unk34.x = (temp_r31->unk14.z * sind(temp_r31->unk14.x)) + temp_r31->unk08.x; - temp_r31->unk14.x += temp_r31->unk14.y; - if (temp_r31->unk14.x >= 360.0f) { - temp_r31->unk14.x -= 360.0f; - } - temp_r31->unk34.y += temp_r31->unk08.y; - temp_r31->unk40.a--; - } + HsfanimStruct01 *temp_r31; + s32 temp_r29; + s32 temp_r28; + if(particle->unk_34 == 0) { + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + temp_r31->unk40.a = 0; + temp_r31->unk2C = 0; + } + particle->unk_00 = 0; + } + if(particle->unk_00 == 0) { + for(temp_r29=0; temp_r29<2; temp_r29++) { + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + if(temp_r31->unk40.a == 0) { + break; + } + } + if(temp_r28 == particle->unk_30) { + continue; + } + temp_r31->unk08.x = -50.0f+(0.3921569f*((u8)frand())); + temp_r31->unk08.y = 0.058823533f*((u8)frand()); + temp_r31->unk14.x = (90.0f/255.0f)*((u8)frand()); + temp_r31->unk14.y = 5.0f+(0.098039225f*((u8)frand())); + temp_r31->unk14.z = (float)(frand() % 10) + 8.0f; + temp_r31->unk34.z = -5.0f+((11.0f/255.0f)*((u8)frand())); + temp_r31->unk34.y = (float)(frand() % 31) + -5.0f; + temp_r31->unk2C = temp_r31->unk08.y+35.0f; + temp_r31->unk40.a = 210; + temp_r31->unk08.y = (0.2*temp_r31->unk08.y)+5.0; + particle->unk_00 = (frand()%10)+10; + } + } else { + particle->unk_00--; + } + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(temp_r31->unk40.a == 0) { + continue; + } + temp_r31->unk34.x = (temp_r31->unk14.z*sind(temp_r31->unk14.x))+temp_r31->unk08.x; + temp_r31->unk14.x += temp_r31->unk14.y; + if(temp_r31->unk14.x >= 360.0f) { + temp_r31->unk14.x -= 360.0f; + } + temp_r31->unk34.y += temp_r31->unk08.y; + temp_r31->unk40.a--; + } } void fn_2_12B30(ModelData *model, ParticleData *particle, Mtx matrix) { - HsfanimStruct01 *temp_r31; - s32 temp_r29; - M401WorkPlayer *temp_r28; - omObjData *temp_r27; - s32 temp_r26; - s32 temp_r25; - UnkWork10A88 *temp_r24; - temp_r27 = particle->unk_1C; - temp_r24 = ((omObjData *)(particle->unk_1C))->data; - temp_r28 = temp_r24->unkC->data; - if (particle->unk_34 == 0) { - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - temp_r31->unk40.a = 0; - temp_r31->unk2C = 0; - temp_r31->unk20 = 0; - } - particle->unk_00 = 0; - } - if (particle->unk_00 == 0 && temp_r27->work[0] == 0) { - for (temp_r29 = 0; temp_r29 < 10; temp_r29++) { - temp_r31 = particle->unk_48; - for (temp_r26 = 0; temp_r26 < particle->unk_30; temp_r26++, temp_r31++) { - if (temp_r31->unk20 == 0) { - break; - } - } - if (temp_r26 == particle->unk_30) { - continue; - } - temp_r31->unk08.x = (((40.0f / 255.0f) * ((u8)frand())) + (temp_r28->unk18.x - 20.0f)); - temp_r31->unk08.y = (frand() % 5) + 3; - temp_r31->unk14.x = ((90.0f / 255.0f) * ((u8)frand())); - temp_r31->unk14.y = 5.0f + ((45.0f / 255.0f) * ((u8)frand())); - temp_r31->unk14.z = 2.0f + (0.011764707f * ((u8)frand())); - temp_r31->unk40.a = 180; - temp_r31->unk34.z = ((0.121568635f * ((u8)frand())) + (temp_r28->unk18.z + 70.0f)); - temp_r31->unk34.y = ((0.20000002f * ((u8)frand())) + (temp_r28->unk18.y - 25.0f)); - particle->unk_00 = (frand() % 6) + 5; - temp_r31->unk20 = 1; - temp_r31->unk2C = 11; - } - } - else { - particle->unk_00--; - } - temp_r31 = particle->unk_48; - temp_r25 = 0; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - if (temp_r31->unk40.a != 0) { - float temp_f31; - temp_r31->unk34.x = (temp_r31->unk14.z * sind(temp_r31->unk14.x)) + temp_r31->unk08.x; - temp_r31->unk14.x += temp_r31->unk14.y; - if (temp_r31->unk14.x >= 360.0f) { - temp_r31->unk14.x -= 360.0f; - } - temp_r31->unk34.y += 3.0f; - temp_f31 = temp_r31->unk40.a; - temp_f31 -= temp_r31->unk08.y; - if (temp_f31 < 0.0f) { - temp_f31 = 0.0f; - temp_r31->unk20 = 0; - } - - temp_r31->unk40.a = temp_f31; - temp_r25++; - } - } - if (temp_r25 == 0 && temp_r27->work[0] == 1) { - temp_r27->work[1] = 1; - } + HsfanimStruct01 *temp_r31; + s32 temp_r29; + M401WorkPlayer *temp_r28; + omObjData *temp_r27; + s32 temp_r26; + s32 temp_r25; + UnkWork10A88 *temp_r24; + temp_r27 = particle->unk_1C; + temp_r24 = ((omObjData *)(particle->unk_1C))->data; + temp_r28 = temp_r24->unkC->data; + if(particle->unk_34 == 0) { + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + temp_r31->unk40.a = 0; + temp_r31->unk2C = 0; + temp_r31->unk20 = 0; + } + particle->unk_00 = 0; + } + if(particle->unk_00 == 0 && temp_r27->work[0] == 0) { + for(temp_r29=0; temp_r29<10; temp_r29++) { + temp_r31 = particle->unk_48; + for(temp_r26=0; temp_r26unk_30; temp_r26++, temp_r31++) { + if(temp_r31->unk20 == 0) { + break; + } + } + if(temp_r26 == particle->unk_30) { + continue; + } + temp_r31->unk08.x = (((40.0f/255.0f)*((u8)frand()))+(temp_r28->unk18.x-20.0f)); + temp_r31->unk08.y = (frand() % 5)+3; + temp_r31->unk14.x = ((90.0f/255.0f)*((u8)frand())); + temp_r31->unk14.y = 5.0f+((45.0f/255.0f)*((u8)frand())); + temp_r31->unk14.z = 2.0f+(0.011764707f*((u8)frand())); + temp_r31->unk40.a = 180; + temp_r31->unk34.z = ((0.121568635f*((u8)frand()))+(temp_r28->unk18.z+70.0f)); + temp_r31->unk34.y = ((0.20000002f*((u8)frand()))+(temp_r28->unk18.y-25.0f)); + particle->unk_00 = (frand()%6)+5; + temp_r31->unk20 = 1; + temp_r31->unk2C = 11; + } + } else { + particle->unk_00--; + } + temp_r31 = particle->unk_48; + temp_r25 = 0; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(temp_r31->unk40.a != 0) { + float temp_f31; + temp_r31->unk34.x = (temp_r31->unk14.z*sind(temp_r31->unk14.x))+temp_r31->unk08.x; + temp_r31->unk14.x += temp_r31->unk14.y; + if(temp_r31->unk14.x >= 360.0f) { + temp_r31->unk14.x -= 360.0f; + } + temp_r31->unk34.y += 3.0f; + temp_f31 = temp_r31->unk40.a; + temp_f31 -= temp_r31->unk08.y; + if(temp_f31 < 0.0f) { + temp_f31 = 0.0f; + temp_r31->unk20 = 0; + } + + temp_r31->unk40.a = temp_f31; + temp_r25++; + } + } + if(temp_r25 == 0 && temp_r27->work[0] == 1) { + temp_r27->work[1] = 1; + } } void fn_2_1301C(ModelData *model, ParticleData *particle, Mtx matrix) { - HsfanimStruct01 *temp_r31; - s32 temp_r29; - M401WorkPlayer *temp_r28; - omObjData *temp_r27; - s32 temp_r26; - s32 temp_r25; - UnkWork10A88 *temp_r24; - temp_r27 = particle->unk_1C; - temp_r24 = (temp_r27)->data; - temp_r28 = temp_r24->unkC->data; - if (particle->unk_34 == 0) { - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - temp_r31->unk40.a = 0; - temp_r31->unk2C = 0; - temp_r31->unk20 = 0; - } - particle->unk_00 = 0; - } - if (particle->unk_00 == 0 && temp_r27->work[0] == 0) { - for (temp_r29 = 0; temp_r29 < 10; temp_r29++) { - temp_r31 = particle->unk_48; - for (temp_r26 = 0; temp_r26 < particle->unk_30; temp_r26++, temp_r31++) { - if (temp_r31->unk20 == 0) { - break; - } - } - if (temp_r26 == particle->unk_30) { - continue; - } - temp_r31->unk08.x = (((80.0f / 255.0f) * ((u8)frand())) + (-40.0f)); - temp_r31->unk08.y = (frand() % 10) + 7; - temp_r31->unk14.x = ((90.0f / 255.0f) * ((u8)frand())); - temp_r31->unk14.y = 5.0f + ((45.0f / 255.0f) * ((u8)frand())); - temp_r31->unk14.z = 2.0f + (frand() % 3); - temp_r31->unk40.a = 180; - temp_r31->unk34.z = ((0.121568635f * ((u8)frand())) + (85.0f)); - temp_r31->unk34.y = ((0.2392157f * ((u8)frand())) + (-30.0f)); - particle->unk_00 = (frand() % 3) + 3; - temp_r31->unk20 = 1; - temp_r31->unk2C = 11; - } - } - else { - particle->unk_00--; - } - temp_r31 = particle->unk_48; - temp_r25 = 0; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - if (temp_r31->unk40.a != 0) { - float temp_f31; - temp_r31->unk34.x = (temp_r31->unk14.z * sind(temp_r31->unk14.x)) + temp_r31->unk08.x; - temp_r31->unk14.x += temp_r31->unk14.y; - if (temp_r31->unk14.x >= 360.0f) { - temp_r31->unk14.x -= 360.0f; - } - temp_r31->unk34.y += 3.0f; - temp_r31->unk34.z -= 1.0f; - temp_f31 = temp_r31->unk40.a; - temp_f31 -= temp_r31->unk08.y; - if (temp_f31 < 0.0f) { - temp_f31 = 0.0f; - temp_r31->unk20 = 0; - } - - temp_r31->unk40.a = temp_f31; - temp_r25++; - } - } - if (temp_r25 == 0 && temp_r27->work[0] == 1) { - temp_r27->work[1] = 1; - } + HsfanimStruct01 *temp_r31; + s32 temp_r29; + M401WorkPlayer *temp_r28; + omObjData *temp_r27; + s32 temp_r26; + s32 temp_r25; + UnkWork10A88 *temp_r24; + temp_r27 = particle->unk_1C; + temp_r24 = (temp_r27)->data; + temp_r28 = temp_r24->unkC->data; + if(particle->unk_34 == 0) { + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + temp_r31->unk40.a = 0; + temp_r31->unk2C = 0; + temp_r31->unk20 = 0; + } + particle->unk_00 = 0; + } + if(particle->unk_00 == 0 && temp_r27->work[0] == 0) { + for(temp_r29=0; temp_r29<10; temp_r29++) { + temp_r31 = particle->unk_48; + for(temp_r26=0; temp_r26unk_30; temp_r26++, temp_r31++) { + if(temp_r31->unk20 == 0) { + break; + } + } + if(temp_r26 == particle->unk_30) { + continue; + } + temp_r31->unk08.x = (((80.0f/255.0f)*((u8)frand()))+(-40.0f)); + temp_r31->unk08.y = (frand() % 10)+7; + temp_r31->unk14.x = ((90.0f/255.0f)*((u8)frand())); + temp_r31->unk14.y = 5.0f+((45.0f/255.0f)*((u8)frand())); + temp_r31->unk14.z = 2.0f+(frand() % 3); + temp_r31->unk40.a = 180; + temp_r31->unk34.z = ((0.121568635f*((u8)frand()))+(85.0f)); + temp_r31->unk34.y = ((0.2392157f*((u8)frand()))+(-30.0f)); + particle->unk_00 = (frand()%3)+3; + temp_r31->unk20 = 1; + temp_r31->unk2C = 11; + } + } else { + particle->unk_00--; + } + temp_r31 = particle->unk_48; + temp_r25 = 0; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(temp_r31->unk40.a != 0) { + float temp_f31; + temp_r31->unk34.x = (temp_r31->unk14.z*sind(temp_r31->unk14.x))+temp_r31->unk08.x; + temp_r31->unk14.x += temp_r31->unk14.y; + if(temp_r31->unk14.x >= 360.0f) { + temp_r31->unk14.x -= 360.0f; + } + temp_r31->unk34.y += 3.0f; + temp_r31->unk34.z -= 1.0f; + temp_f31 = temp_r31->unk40.a; + temp_f31 -= temp_r31->unk08.y; + if(temp_f31 < 0.0f) { + temp_f31 = 0.0f; + temp_r31->unk20 = 0; + } + + temp_r31->unk40.a = temp_f31; + temp_r25++; + } + } + if(temp_r25 == 0 && temp_r27->work[0] == 1) { + temp_r27->work[1] = 1; + } } void fn_2_1350C(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - HsfanimStruct01 *temp_r31; - s32 temp_r29; - s32 temp_r28; - if (particle->unk_34 == 0) { - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - temp_r31->unk2C = 0; - } - particle->unk_1C = (void *)1; - particle->unk_02 = 0; - particle->unk_00 = 0; - } - if (particle->unk_00 == 0) { - for (temp_r29 = 0; temp_r29 < 16; temp_r29++) { - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - if (temp_r31->unk2C == 0) { - break; - } - } - if (temp_r28 == particle->unk_30) { - continue; - } - temp_f30 = (360.0f / 255.0f) * ((u8)frand()); - temp_r31->unk20 = 45 * sind(temp_f30); - temp_r31->unk28 = 45 * cosd(temp_f30); - temp_r31->unk24 = 0; - temp_f28 = 0.098039225f * ((u8)frand()) + 50.0f; - temp_f29 = (2.0f / 255.0f) * ((u8)frand()) + 2.5f; - temp_r31->unk08.x = temp_f29 * sind(temp_f30) * cosd(temp_f28); - temp_r31->unk08.y = 0.8f * (temp_f29 * sind(temp_f28)); - temp_r31->unk08.z = temp_f29 * cosd(temp_f30) * cosd(temp_f28); - temp_r31->unk14.x = 1; - temp_r31->unk14.y = 255; - temp_r31->unk2C = (4.0f / 255.0f) * ((u8)frand()) + 3.0f; - temp_r31->unk40.r = (155.0f / 255.0f) * ((u8)frand()) + 100.0f; - temp_r31->unk40.g = 0.21568629f * ((u8)frand()) + 200.0f; - temp_r31->unk40.b = 255; - temp_r31->unk40.a = temp_r31->unk14.y; - } - particle->unk_00 = 0.058823533f * ((u8)frand()) + 30.0f; - } - else { - particle->unk_00--; - } - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - if (temp_r31->unk2C != 0) { - temp_f31 = temp_r31->unk14.x; - temp_r31->unk34.x = (temp_r31->unk08.x * temp_f31) + temp_r31->unk20; - temp_r31->unk34.z = (temp_r31->unk08.z * temp_f31) + temp_r31->unk28; - temp_r31->unk34.y = ((temp_r31->unk08.y * temp_f31) + temp_r31->unk24) - (0.2 * temp_f31 * temp_f31); - temp_r31->unk14.y -= 3.5f; - temp_r31->unk40.a = temp_r31->unk14.y; - if (temp_r31->unk2C < 0 || temp_r31->unk14.y < 10.0f || temp_r31->unk34.y <= 0.0f) { - temp_r31->unk2C = 0; - particle->unk_02++; - } - - temp_r31->unk14.x += 0.7f; - } - } + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + HsfanimStruct01 *temp_r31; + s32 temp_r29; + s32 temp_r28; + if(particle->unk_34 == 0) { + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + temp_r31->unk2C = 0; + } + particle->unk_1C = (void *)1; + particle->unk_02 = 0; + particle->unk_00 = 0; + } + if(particle->unk_00 == 0) { + for(temp_r29=0; temp_r29<16; temp_r29++) { + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + if(temp_r31->unk2C == 0) { + break; + } + } + if(temp_r28 == particle->unk_30) { + continue; + } + temp_f30 = (360.0f/255.0f)*((u8)frand()); + temp_r31->unk20 = 45*sind(temp_f30); + temp_r31->unk28 = 45*cosd(temp_f30); + temp_r31->unk24 = 0; + temp_f28 = 0.098039225f*((u8)frand())+50.0f; + temp_f29 = (2.0f/255.0f)*((u8)frand())+2.5f; + temp_r31->unk08.x = temp_f29*sind(temp_f30)*cosd(temp_f28); + temp_r31->unk08.y = 0.8f*(temp_f29*sind(temp_f28)); + temp_r31->unk08.z = temp_f29*cosd(temp_f30)*cosd(temp_f28); + temp_r31->unk14.x = 1; + temp_r31->unk14.y = 255; + temp_r31->unk2C = (4.0f/255.0f)*((u8)frand())+3.0f; + temp_r31->unk40.r = (155.0f/255.0f)*((u8)frand())+100.0f; + temp_r31->unk40.g = 0.21568629f*((u8)frand())+200.0f; + temp_r31->unk40.b = 255; + temp_r31->unk40.a = temp_r31->unk14.y; + } + particle->unk_00 = 0.058823533f*((u8)frand())+30.0f; + } else { + particle->unk_00--; + } + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(temp_r31->unk2C != 0) { + temp_f31 = temp_r31->unk14.x; + temp_r31->unk34.x = (temp_r31->unk08.x*temp_f31)+temp_r31->unk20; + temp_r31->unk34.z = (temp_r31->unk08.z*temp_f31)+temp_r31->unk28; + temp_r31->unk34.y = ((temp_r31->unk08.y*temp_f31)+temp_r31->unk24)-(0.2*temp_f31*temp_f31); + temp_r31->unk14.y -= 3.5f; + temp_r31->unk40.a = temp_r31->unk14.y; + if(temp_r31->unk2C < 0 || temp_r31->unk14.y < 10.0f || temp_r31->unk34.y <= 0.0f) { + temp_r31->unk2C = 0; + particle->unk_02++; + } + + temp_r31->unk14.x += 0.7f; + } + } } void fn_2_13B7C(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - HsfanimStruct01 *temp_r31; - s32 temp_r29; - s32 temp_r28; - if (particle->unk_34 == 0) { - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - temp_r31->unk2C = 0; - } - particle->unk_1C = (void *)1; - particle->unk_02 = 0; - particle->unk_00 = 0; - } - if (particle->unk_1C) { - for (temp_r29 = 0; temp_r29 < 20; temp_r29++) { - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - if (temp_r31->unk2C == 0) { - break; - } - } - if (temp_r28 != particle->unk_30) { - temp_f30 = (360.0f / 255.0f) * ((u8)frand()); - temp_r31->unk20 = 40 * sind(temp_f30); - temp_r31->unk28 = 40 * cosd(temp_f30); - temp_r31->unk24 = 0; - temp_f28 = (20.0f / 255.0f) * ((u8)frand()) + 70.0f; - temp_f29 = (4.0f / 255.0f) * ((u8)frand()) + 5.0f; - temp_r31->unk08.x = temp_f29 * sind(temp_f30) * cosd(temp_f28); - temp_r31->unk08.y = temp_f29 * sind(temp_f28); - temp_r31->unk08.z = temp_f29 * cosd(temp_f30) * cosd(temp_f28); - temp_r31->unk14.x = 1; - temp_r31->unk14.y = 255; - temp_r31->unk2C = (4.0f / 255.0f) * ((u8)frand()) + 5.0f; - temp_r31->unk40.r = (155.0f / 255.0f) * ((u8)frand()) + 100.0f; - temp_r31->unk40.g = 0.21568629f * ((u8)frand()) + 200.0f; - temp_r31->unk40.b = 255; - temp_r31->unk40.a = temp_r31->unk14.y; - } - else { - particle->unk_1C = NULL; - break; - } - } - } - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - if (temp_r31->unk2C != 0) { - temp_f31 = temp_r31->unk14.x; - temp_r31->unk34.x = (temp_r31->unk08.x * temp_f31) + temp_r31->unk20; - temp_r31->unk34.z = (temp_r31->unk08.z * temp_f31) + temp_r31->unk28; - temp_r31->unk34.y = ((temp_r31->unk08.y * temp_f31) + temp_r31->unk24) - (0.2 * temp_f31 * temp_f31); - temp_r31->unk14.y -= 3.5f; - temp_r31->unk40.a = temp_r31->unk14.y; - if (temp_r31->unk2C < 0 || temp_r31->unk14.y < 10.0f || temp_r31->unk34.y <= 0.0f) { - temp_r31->unk2C = 0; - particle->unk_02++; - } - temp_r31->unk14.x += 1.0f; - } - } - if (particle->unk_02 >= particle->unk_30 && particle->unk_1C == NULL) { - particle->unk_00 = 1; - } + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + HsfanimStruct01 *temp_r31; + s32 temp_r29; + s32 temp_r28; + if(particle->unk_34 == 0) { + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + temp_r31->unk2C = 0; + } + particle->unk_1C = (void *)1; + particle->unk_02 = 0; + particle->unk_00 = 0; + } + if(particle->unk_1C) { + for(temp_r29=0; temp_r29<20; temp_r29++) { + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + if(temp_r31->unk2C == 0) { + break; + } + } + if(temp_r28 != particle->unk_30) { + temp_f30 = (360.0f/255.0f)*((u8)frand()); + temp_r31->unk20 = 40*sind(temp_f30); + temp_r31->unk28 = 40*cosd(temp_f30); + temp_r31->unk24 = 0; + temp_f28 = (20.0f/255.0f)*((u8)frand())+70.0f; + temp_f29 = (4.0f/255.0f)*((u8)frand())+5.0f; + temp_r31->unk08.x = temp_f29*sind(temp_f30)*cosd(temp_f28); + temp_r31->unk08.y = temp_f29*sind(temp_f28); + temp_r31->unk08.z = temp_f29*cosd(temp_f30)*cosd(temp_f28); + temp_r31->unk14.x = 1; + temp_r31->unk14.y = 255; + temp_r31->unk2C = (4.0f/255.0f)*((u8)frand())+5.0f; + temp_r31->unk40.r = (155.0f/255.0f)*((u8)frand())+100.0f; + temp_r31->unk40.g = 0.21568629f*((u8)frand())+200.0f; + temp_r31->unk40.b = 255; + temp_r31->unk40.a = temp_r31->unk14.y; + } else { + particle->unk_1C = NULL; + break; + } + } + } + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(temp_r31->unk2C != 0) { + temp_f31 = temp_r31->unk14.x; + temp_r31->unk34.x = (temp_r31->unk08.x*temp_f31)+temp_r31->unk20; + temp_r31->unk34.z = (temp_r31->unk08.z*temp_f31)+temp_r31->unk28; + temp_r31->unk34.y = ((temp_r31->unk08.y*temp_f31)+temp_r31->unk24)-(0.2*temp_f31*temp_f31); + temp_r31->unk14.y -= 3.5f; + temp_r31->unk40.a = temp_r31->unk14.y; + if(temp_r31->unk2C < 0 || temp_r31->unk14.y < 10.0f || temp_r31->unk34.y <= 0.0f) { + temp_r31->unk2C = 0; + particle->unk_02++; + } + temp_r31->unk14.x += 1.0f; + } + } + if(particle->unk_02 >= particle->unk_30 && particle->unk_1C == NULL) { + particle->unk_00 = 1; + } } void fn_2_142D0(omObjData *object); @@ -972,70 +970,72 @@ void fn_2_142D4(ModelData *model, ParticleData *particle, Mtx matrix); omObjData *fn_2_141B0(void) { - omObjData *object = omAddObjEx(HuPrcCurrentGet(), 1300, 5, 0, -1, fn_2_142D0); - ParticleData *particle; - omSetStatBit(object, 0x100); - object->model[0] = Hu3DParticleCreate(lbl_2_bss_244, 200); - Hu3DParticleHookSet(object->model[0], fn_2_142D4); - Hu3DParticleColSet(object->model[0], 255, 255, 255); - Hu3DModelPosSet(object->model[0], 0, 0, 0); - Hu3DParticleAnimModeSet(object->model[0], 0); - Hu3DModelLayerSet(object->model[0], 1); - Hu3DParticleBlendModeSet(object->model[0], 1); - particle = Hu3DData[object->model[0]].unk_120; - return object; + omObjData *object = omAddObjEx(HuPrcCurrentGet(), 1300, 5, 0, -1, fn_2_142D0); + ParticleData *particle; + omSetStatBit(object, 0x100); + object->model[0] = Hu3DParticleCreate(lbl_2_bss_244, 200); + Hu3DParticleHookSet(object->model[0], fn_2_142D4); + Hu3DParticleColSet(object->model[0], 255, 255, 255); + Hu3DModelPosSet(object->model[0], 0, 0, 0); + Hu3DParticleAnimModeSet(object->model[0], 0); + Hu3DModelLayerSet(object->model[0], 1); + Hu3DParticleBlendModeSet(object->model[0], 1); + particle = Hu3DData[object->model[0]].unk_120; + return object; } -void fn_2_142D0(omObjData *object) { } +void fn_2_142D0(omObjData *object) +{ + +} void fn_2_142D4(ModelData *model, ParticleData *particle, Mtx matrix) { - HsfanimStruct01 *temp_r31; - s32 temp_r29; - s32 temp_r28; - if (particle->unk_34 == 0) { - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - temp_r31->unk2C = 0; - temp_r31->unk34.y = 950; - } - } - if (particle->unk_00 == 0) { - for (temp_r29 = 0; temp_r29 < 30; temp_r29++) { - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - if (temp_r31->unk2C == 0) { - break; - } - } - if (temp_r28 == particle->unk_30) { - continue; - } - temp_r31->unk2C = 1; - temp_r31->unk40.a = 150; - temp_r31->unk34.x = ((11.764707f * ((u8)frand())) + (-1500.0f)); - temp_r31->unk34.z = ((6.666667f * ((u8)frand())) + (-2000.0f)); - temp_r31->unk08.x = 0; - temp_r31->unk08.y = (((5.0f / 255.0f) * ((u8)frand())) + (5.0f)); - temp_r31->unk08.z = ((0.011764707f * ((u8)frand())) + (18.0f)); - } - particle->unk_00 = (frand() % 5) + 4; - } - else { - particle->unk_00--; - } - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - if (temp_r31->unk2C != 0) { - temp_r31->unk34.x += 1.1f; - temp_r31->unk34.z += 1.1f; - temp_r31->unk2C = (temp_r31->unk08.z * sind(temp_r31->unk08.x)) + 1.0; - temp_r31->unk08.x += temp_r31->unk08.y; - if (temp_r31->unk08.x >= 180.0f) { - temp_r31->unk2C = 0.0f; - } - } - } + HsfanimStruct01 *temp_r31; + s32 temp_r29; + s32 temp_r28; + if(particle->unk_34 == 0) { + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + temp_r31->unk2C = 0; + temp_r31->unk34.y = 950; + } + } + if(particle->unk_00 == 0) { + for(temp_r29=0; temp_r29<30; temp_r29++) { + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + if(temp_r31->unk2C == 0) { + break; + } + } + if(temp_r28 == particle->unk_30) { + continue; + } + temp_r31->unk2C = 1; + temp_r31->unk40.a = 150; + temp_r31->unk34.x = ((11.764707f*((u8)frand()))+(-1500.0f)); + temp_r31->unk34.z = ((6.666667f*((u8)frand()))+(-2000.0f)); + temp_r31->unk08.x = 0; + temp_r31->unk08.y = (((5.0f/255.0f)*((u8)frand()))+(5.0f)); + temp_r31->unk08.z = ((0.011764707f*((u8)frand()))+(18.0f)); + } + particle->unk_00 = (frand() % 5)+4; + } else { + particle->unk_00--; + } + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(temp_r31->unk2C != 0) { + temp_r31->unk34.x += 1.1f; + temp_r31->unk34.z += 1.1f; + temp_r31->unk2C = (temp_r31->unk08.z*sind(temp_r31->unk08.x))+1.0; + temp_r31->unk08.x += temp_r31->unk08.y; + if(temp_r31->unk08.x >= 180.0f) { + temp_r31->unk2C = 0.0f; + } + } + } } void fn_2_14738(omObjData *object); @@ -1043,93 +1043,93 @@ void fn_2_147B4(ModelData *model, ParticleData *particle, Mtx matrix); omObjData *fn_2_14640(Process *objman) { - omObjData *object; - object = omAddObjEx(objman, 1300, 1, 0, -1, fn_2_14738); - object->model[0] = Hu3DParticleCreate(lbl_2_bss_250, 450); - Hu3DParticleHookSet(object->model[0], fn_2_147B4); - Hu3DParticleColSet(object->model[0], 255, 255, 255); - Hu3DModelPosSet(object->model[0], 0, -6000, -21000); - Hu3DParticleAnimModeSet(object->model[0], 0); - Hu3DModelLayerSet(object->model[0], 1); - Hu3DParticleBlendModeSet(object->model[0], 1); - return object; + omObjData *object; + object = omAddObjEx(objman, 1300, 1, 0, -1, fn_2_14738); + object->model[0] = Hu3DParticleCreate(lbl_2_bss_250, 450); + Hu3DParticleHookSet(object->model[0], fn_2_147B4); + Hu3DParticleColSet(object->model[0], 255, 255, 255); + Hu3DModelPosSet(object->model[0], 0, -6000, -21000); + Hu3DParticleAnimModeSet(object->model[0], 0); + Hu3DModelLayerSet(object->model[0], 1); + Hu3DParticleBlendModeSet(object->model[0], 1); + return object; } void fn_2_14738(omObjData *object) { - omSetTra(object, lbl_2_bss_6C.x, lbl_2_bss_6C.y, lbl_2_bss_6C.z); - if (object->work[0] == 1) { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - omDelObjEx(HuPrcCurrentGet(), object); - } + omSetTra(object, lbl_2_bss_6C.x, lbl_2_bss_6C.y, lbl_2_bss_6C.z); + if(object->work[0] == 1) { + Hu3DModelAttrSet(object->model[0], 1); + omDelObjEx(HuPrcCurrentGet(), object); + } } void fn_2_147B4(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - float temp_f30; - HsfanimStruct01 *temp_r31; - s32 temp_r29; - s32 temp_r28; - if (particle->unk_34 == 0) { - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - temp_r31->unk40.a = 180; - temp_r31->unk08.x = ((3.9215689f * ((u8)frand())) + (-500.0f)); - temp_r31->unk08.y = ((3.529412f * ((u8)frand())) + (-500.0f)); - temp_r31->unk08.z = (-300.0f) - ((3.9215689f * ((u8)frand()))); - temp_r31->unk14.x = (360.0f / 255.0f) * ((u8)frand()); - temp_r31->unk14.y = (4.0f / 255.0f) * ((u8)frand()); - temp_r31->unk2C = 2; - } - particle->unk_00 = 0; - } - if (particle->unk_00 == 0) { - for (temp_r29 = 0; temp_r29 < 2; temp_r29++) { - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - if (temp_r31->unk40.a == 0) { - break; - } - } - if (temp_r28 == particle->unk_30) { - continue; - } - temp_r31->unk40.a = 180; - temp_r31->unk08.x = -50.0f + (0.3921569f * ((u8)frand())); - temp_r31->unk08.y = 0.058823533f * ((u8)frand()); - temp_r31->unk14.x = (90.0f / 255.0f) * ((u8)frand()); - temp_r31->unk14.y = 5.0f + (0.098039225f * ((u8)frand())); - temp_r31->unk14.z = (float)(frand() % 10) + 8.0f; - temp_r31->unk34.z = -5.0f + ((11.0f / 255.0f) * ((u8)frand())); - temp_r31->unk34.y = (float)(frand() % 31) + -5.0f; - temp_r31->unk2C = temp_r31->unk08.y + 35.0f; - temp_r31->unk40.a = 210; - temp_r31->unk08.y = (0.2 * temp_r31->unk08.y) + 5.0; - particle->unk_00 = (frand() % 10) + 10; - } - } - else { - particle->unk_00--; - } - temp_r31 = particle->unk_48; - temp_f30 = lbl_2_bss_50 * 0.3f; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - if (temp_r31->unk40.a == 0) { - continue; - } - temp_r31->unk34.x = temp_r31->unk08.x; - temp_r31->unk34.y = temp_r31->unk08.y; - temp_r31->unk34.z = temp_r31->unk08.z; - temp_r31->unk08.x -= 0.5 * sind(temp_r31->unk14.x); - temp_r31->unk08.z -= -temp_f30; - temp_r31->unk14.x += temp_r31->unk14.y; - if (temp_r31->unk14.x >= 360.0f) { - temp_r31->unk14.x -= 360.0f; - } - if (temp_r31->unk08.z >= 0.0f) { - temp_f31 = 800.0f + ((300.0f / 255.0f) * ((u8)frand())); - temp_r31->unk08.z -= temp_f31; - } - } -} + float temp_f31; + float temp_f30; + HsfanimStruct01 *temp_r31; + s32 temp_r29; + s32 temp_r28; + if(particle->unk_34 == 0) { + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + temp_r31->unk40.a = 180; + temp_r31->unk08.x = ((3.9215689f*((u8)frand()))+(-500.0f)); + temp_r31->unk08.y = ((3.529412f*((u8)frand()))+(-500.0f)); + temp_r31->unk08.z = (-300.0f)-((3.9215689f*((u8)frand()))); + temp_r31->unk14.x = (360.0f/255.0f)*((u8)frand()); + temp_r31->unk14.y = (4.0f/255.0f)*((u8)frand()); + temp_r31->unk2C = 2; + } + particle->unk_00 = 0; + } + if(particle->unk_00 == 0) { + for(temp_r29=0; temp_r29<2; temp_r29++) { + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + if(temp_r31->unk40.a == 0) { + break; + } + } + if(temp_r28 == particle->unk_30) { + continue; + } + temp_r31->unk40.a = 180; + temp_r31->unk08.x = -50.0f+(0.3921569f*((u8)frand())); + temp_r31->unk08.y = 0.058823533f*((u8)frand()); + temp_r31->unk14.x = (90.0f/255.0f)*((u8)frand()); + temp_r31->unk14.y = 5.0f+(0.098039225f*((u8)frand())); + temp_r31->unk14.z = (float)(frand() % 10) + 8.0f; + temp_r31->unk34.z = -5.0f+((11.0f/255.0f)*((u8)frand())); + temp_r31->unk34.y = (float)(frand() % 31) + -5.0f; + temp_r31->unk2C = temp_r31->unk08.y+35.0f; + temp_r31->unk40.a = 210; + temp_r31->unk08.y = (0.2*temp_r31->unk08.y)+5.0; + particle->unk_00 = (frand()%10)+10; + } + + } else { + particle->unk_00--; + } + temp_r31 = particle->unk_48; + temp_f30 = lbl_2_bss_50*0.3f; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(temp_r31->unk40.a == 0) { + continue; + } + temp_r31->unk34.x = temp_r31->unk08.x; + temp_r31->unk34.y = temp_r31->unk08.y; + temp_r31->unk34.z = temp_r31->unk08.z; + temp_r31->unk08.x -= 0.5*sind(temp_r31->unk14.x); + temp_r31->unk08.z -= -temp_f30; + temp_r31->unk14.x += temp_r31->unk14.y; + if(temp_r31->unk14.x >= 360.0f) { + temp_r31->unk14.x -= 360.0f; + } + if(temp_r31->unk08.z >= 0.0f) { + temp_f31 = 800.0f+((300.0f/255.0f)*((u8)frand())); + temp_r31->unk08.z -= temp_f31; + } + } +} \ No newline at end of file diff --git a/src/REL/m402Dll/main.c b/src/REL/m402Dll/main.c index e4044763..cdc19ce8 100755 --- a/src/REL/m402Dll/main.c +++ b/src/REL/m402Dll/main.c @@ -22,7 +22,7 @@ #include "dolphin.h" #include "ext_math.h" -#include "version.h" +#include "rel_sqrt_consts.h" #undef ABS #define ABS(x) ((0 > (x)) ? -(x) : (x)) @@ -203,7 +203,9 @@ static float lbl_1_bss_8; static float lbl_1_bss_4; static u8 lbl_1_bss_0[4]; -static s16 lbl_1_data_0[] = { 0, 1, 2, 3, 4, 5, 6, 7 }; +static s16 lbl_1_data_0[] = { + 0, 1, 2, 3, 4, 5, 6, 7 +}; static Vec lbl_1_data_10 = { 0.0f, 2500.0f, 2200.0f }; static Vec lbl_1_data_1C = { 0.0f, 1.0f, 0.0f }; @@ -218,64 +220,185 @@ static u8 lbl_1_data_5C_unused[] = { 0xFF, 0xFF, 0xFF, 0xFF }; static Vec lbl_1_data_60 = { 0.0f, 4000.0f, 1000.0f }; static Vec lbl_1_data_6C = { 0.0f, 0.0f, 0.0f }; -static s32 lbl_1_data_78[8][11] = { { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), DATA_MAKE_NUM(DATADIR_MARIOMOT, 2), DATA_MAKE_NUM(DATADIR_MARIOMOT, 28), - DATA_MAKE_NUM(DATADIR_M402, 16), DATA_MAKE_NUM(DATADIR_MARIOMOT, 62), DATA_MAKE_NUM(DATADIR_MARIOMOT, 3), - DATA_MAKE_NUM(DATADIR_M402, 8), DATA_MAKE_NUM(DATADIR_M402, 0), DATA_MAKE_NUM(DATADIR_M402, 24), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 117), DATA_MAKE_NUM(DATADIR_MARIOMOT, 76) }, - { DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 2), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 28), DATA_MAKE_NUM(DATADIR_M402, 17), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 62), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 3), DATA_MAKE_NUM(DATADIR_M402, 9), DATA_MAKE_NUM(DATADIR_M402, 1), - DATA_MAKE_NUM(DATADIR_M402, 25), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 117), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 76) }, - { DATA_MAKE_NUM(DATADIR_PEACHMOT, 0), DATA_MAKE_NUM(DATADIR_PEACHMOT, 2), DATA_MAKE_NUM(DATADIR_PEACHMOT, 28), DATA_MAKE_NUM(DATADIR_M402, 18), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 62), DATA_MAKE_NUM(DATADIR_PEACHMOT, 3), DATA_MAKE_NUM(DATADIR_M402, 10), DATA_MAKE_NUM(DATADIR_M402, 2), - DATA_MAKE_NUM(DATADIR_M402, 26), DATA_MAKE_NUM(DATADIR_PEACHMOT, 117), DATA_MAKE_NUM(DATADIR_PEACHMOT, 76) }, - { DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0), DATA_MAKE_NUM(DATADIR_YOSHIMOT, 2), DATA_MAKE_NUM(DATADIR_YOSHIMOT, 28), DATA_MAKE_NUM(DATADIR_M402, 19), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 62), DATA_MAKE_NUM(DATADIR_YOSHIMOT, 3), DATA_MAKE_NUM(DATADIR_M402, 11), DATA_MAKE_NUM(DATADIR_M402, 3), - DATA_MAKE_NUM(DATADIR_M402, 27), DATA_MAKE_NUM(DATADIR_YOSHIMOT, 117), DATA_MAKE_NUM(DATADIR_YOSHIMOT, 76) }, - { DATA_MAKE_NUM(DATADIR_WARIOMOT, 0), DATA_MAKE_NUM(DATADIR_WARIOMOT, 2), DATA_MAKE_NUM(DATADIR_WARIOMOT, 28), DATA_MAKE_NUM(DATADIR_M402, 20), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 62), DATA_MAKE_NUM(DATADIR_WARIOMOT, 3), DATA_MAKE_NUM(DATADIR_M402, 12), DATA_MAKE_NUM(DATADIR_M402, 4), - DATA_MAKE_NUM(DATADIR_M402, 28), DATA_MAKE_NUM(DATADIR_WARIOMOT, 117), DATA_MAKE_NUM(DATADIR_WARIOMOT, 76) }, - { DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 2), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 28), DATA_MAKE_NUM(DATADIR_M402, 21), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 62), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 3), DATA_MAKE_NUM(DATADIR_M402, 13), DATA_MAKE_NUM(DATADIR_M402, 5), - DATA_MAKE_NUM(DATADIR_M402, 29), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 117), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 76) }, - { DATA_MAKE_NUM(DATADIR_DAISYMOT, 0), DATA_MAKE_NUM(DATADIR_DAISYMOT, 2), DATA_MAKE_NUM(DATADIR_DAISYMOT, 28), DATA_MAKE_NUM(DATADIR_M402, 22), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 62), DATA_MAKE_NUM(DATADIR_DAISYMOT, 3), DATA_MAKE_NUM(DATADIR_M402, 14), DATA_MAKE_NUM(DATADIR_M402, 6), - DATA_MAKE_NUM(DATADIR_M402, 30), DATA_MAKE_NUM(DATADIR_DAISYMOT, 117), DATA_MAKE_NUM(DATADIR_DAISYMOT, 76) }, - { DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 2), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 28), - DATA_MAKE_NUM(DATADIR_M402, 23), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 62), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 3), DATA_MAKE_NUM(DATADIR_M402, 15), - DATA_MAKE_NUM(DATADIR_M402, 7), DATA_MAKE_NUM(DATADIR_M402, 31), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 117), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 76) } }; +static s32 lbl_1_data_78[8][11] = { + { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 2), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 28), + DATA_MAKE_NUM(DATADIR_M402, 16), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 62), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 3), + DATA_MAKE_NUM(DATADIR_M402, 8), + DATA_MAKE_NUM(DATADIR_M402, 0), + DATA_MAKE_NUM(DATADIR_M402, 24), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 117), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 76) + }, + { + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 2), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 28), + DATA_MAKE_NUM(DATADIR_M402, 17), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 62), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 3), + DATA_MAKE_NUM(DATADIR_M402, 9), + DATA_MAKE_NUM(DATADIR_M402, 1), + DATA_MAKE_NUM(DATADIR_M402, 25), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 117), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 76) + }, + { + DATA_MAKE_NUM(DATADIR_PEACHMOT, 0), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 2), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 28), + DATA_MAKE_NUM(DATADIR_M402, 18), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 62), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 3), + DATA_MAKE_NUM(DATADIR_M402, 10), + DATA_MAKE_NUM(DATADIR_M402, 2), + DATA_MAKE_NUM(DATADIR_M402, 26), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 117), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 76) + }, + { + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 2), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 28), + DATA_MAKE_NUM(DATADIR_M402, 19), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 62), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 3), + DATA_MAKE_NUM(DATADIR_M402, 11), + DATA_MAKE_NUM(DATADIR_M402, 3), + DATA_MAKE_NUM(DATADIR_M402, 27), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 117), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 76) + }, + { + DATA_MAKE_NUM(DATADIR_WARIOMOT, 0), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 2), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 28), + DATA_MAKE_NUM(DATADIR_M402, 20), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 62), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 3), + DATA_MAKE_NUM(DATADIR_M402, 12), + DATA_MAKE_NUM(DATADIR_M402, 4), + DATA_MAKE_NUM(DATADIR_M402, 28), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 117), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 76) + }, + { + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 2), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 28), + DATA_MAKE_NUM(DATADIR_M402, 21), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 62), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 3), + DATA_MAKE_NUM(DATADIR_M402, 13), + DATA_MAKE_NUM(DATADIR_M402, 5), + DATA_MAKE_NUM(DATADIR_M402, 29), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 117), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 76) + }, + { + DATA_MAKE_NUM(DATADIR_DAISYMOT, 0), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 2), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 28), + DATA_MAKE_NUM(DATADIR_M402, 22), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 62), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 3), + DATA_MAKE_NUM(DATADIR_M402, 14), + DATA_MAKE_NUM(DATADIR_M402, 6), + DATA_MAKE_NUM(DATADIR_M402, 30), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 117), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 76) + }, + { + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 2), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 28), + DATA_MAKE_NUM(DATADIR_M402, 23), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 62), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 3), + DATA_MAKE_NUM(DATADIR_M402, 15), + DATA_MAKE_NUM(DATADIR_M402, 7), + DATA_MAKE_NUM(DATADIR_M402, 31), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 117), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 76) + } +}; -static s32 lbl_1_data_1D8[] - = { DATA_MAKE_NUM(DATADIR_M402, 38), DATA_MAKE_NUM(DATADIR_M402, 40), DATA_MAKE_NUM(DATADIR_M402, 37), DATA_MAKE_NUM(DATADIR_M402, 39) }; +static s32 lbl_1_data_1D8[] = { + DATA_MAKE_NUM(DATADIR_M402, 38), + DATA_MAKE_NUM(DATADIR_M402, 40), + DATA_MAKE_NUM(DATADIR_M402, 37), + DATA_MAKE_NUM(DATADIR_M402, 39) +}; -static s32 lbl_1_data_1E8[] = { DATA_MAKE_NUM(DATADIR_M402, 41), DATA_MAKE_NUM(DATADIR_M402, 42), DATA_MAKE_NUM(DATADIR_M402, 43) }; +static s32 lbl_1_data_1E8[] = { + DATA_MAKE_NUM(DATADIR_M402, 41), + DATA_MAKE_NUM(DATADIR_M402, 42), + DATA_MAKE_NUM(DATADIR_M402, 43) +}; static s32 lbl_1_data_1F4 = DATA_MAKE_NUM(DATADIR_M402, 44); -static s32 lbl_1_data_1F8[] = { DATA_MAKE_NUM(DATADIR_M402, 45), DATA_MAKE_NUM(DATADIR_M402, 46) }; +static s32 lbl_1_data_1F8[] = { + DATA_MAKE_NUM(DATADIR_M402, 45), + DATA_MAKE_NUM(DATADIR_M402, 46) +}; -static Vec lbl_1_data_200[] = { { 450.0f, 290.0f, 0.0f }, { -450.0f, 290.0f, 0.0f } }; +static Vec lbl_1_data_200[] = { + { 450.0f, 290.0f, 0.0f }, + { -450.0f, 290.0f, 0.0f } +}; -static s32 lbl_1_data_218[] = { DATA_MAKE_NUM(DATADIR_M402, 48), DATA_MAKE_NUM(DATADIR_M402, 50), DATA_MAKE_NUM(DATADIR_M402, 47), - DATA_MAKE_NUM(DATADIR_M402, 49), DATA_MAKE_NUM(DATADIR_M402, 51), DATA_MAKE_NUM(DATADIR_M402, 52), DATA_MAKE_NUM(DATADIR_M402, 53) }; +static s32 lbl_1_data_218[] = { + DATA_MAKE_NUM(DATADIR_M402, 48), + DATA_MAKE_NUM(DATADIR_M402, 50), + DATA_MAKE_NUM(DATADIR_M402, 47), + DATA_MAKE_NUM(DATADIR_M402, 49), + DATA_MAKE_NUM(DATADIR_M402, 51), + DATA_MAKE_NUM(DATADIR_M402, 52), + DATA_MAKE_NUM(DATADIR_M402, 53) +}; -static UnkData234Struct lbl_1_data_234[] = { { 0.0f, 0.0f, 0.0f, 0.0f, -1 }, { 2.0f, 2.0f, 0.1f, 0.125f, 0x514 }, { 2.0f, 2.0f, 0.2f, 0.25f, -1 }, - { 3.0f, 4.0f, 0.3f, 0.35f, 0x515 }, { 3.0f, 4.0f, 0.4f, 0.45f, -1 }, { 3.0f, 6.0f, 0.45f, 0.5125f, 0x516 }, { 3.0f, 6.0f, 0.5f, 0.575f, -1 }, - { 3.0f, 6.0f, 0.55f, 0.6375f, -1 }, { 3.0f, 6.0f, 0.6f, 0.7f, -1 }, { 4.0f, 8.0f, 0.65f, 0.75f, 0x517 }, { 4.0f, 8.0f, 0.7f, 0.8f, -1 }, - { 4.0f, 8.0f, 0.75f, 0.85f, -1 }, { 4.0f, 8.0f, 0.8f, 0.9f, -1 }, { 4.0f, 10.0f, 0.83f, 0.9166f, 0x518 }, { 4.0f, 10.0f, 0.86f, 0.9333f, -1 }, - { 4.0f, 10.0f, 0.9f, 0.95f, -1 }, { 4.0f, 10.0f, 0.93f, 0.9666f, -1 }, { 4.0f, 10.0f, 0.96f, 0.9833f, -1 }, { 4.0f, 10.0f, 1.0f, 1.0f, -1 }, - { 1.0f, 10.0f, 1.0f, 1.0f, -1 } }; +static UnkData234Struct lbl_1_data_234[] = { + { 0.0f, 0.0f, 0.0f, 0.0f, -1 }, + { 2.0f, 2.0f, 0.1f, 0.125f, 0x514 }, + { 2.0f, 2.0f, 0.2f, 0.25f, -1 }, + { 3.0f, 4.0f, 0.3f, 0.35f, 0x515 }, + { 3.0f, 4.0f, 0.4f, 0.45f, -1 }, + { 3.0f, 6.0f, 0.45f, 0.5125f, 0x516 }, + { 3.0f, 6.0f, 0.5f, 0.575f, -1 }, + { 3.0f, 6.0f, 0.55f, 0.6375f, -1 }, + { 3.0f, 6.0f, 0.6f, 0.7f, -1 }, + { 4.0f, 8.0f, 0.65f, 0.75f, 0x517 }, + { 4.0f, 8.0f, 0.7f, 0.8f, -1 }, + { 4.0f, 8.0f, 0.75f, 0.85f, -1 }, + { 4.0f, 8.0f, 0.8f, 0.9f, -1 }, + { 4.0f, 10.0f, 0.83f, 0.9166f, 0x518 }, + { 4.0f, 10.0f, 0.86f, 0.9333f, -1 }, + { 4.0f, 10.0f, 0.9f, 0.95f, -1 }, + { 4.0f, 10.0f, 0.93f, 0.9666f, -1 }, + { 4.0f, 10.0f, 0.96f, 0.9833f, -1 }, + { 4.0f, 10.0f, 1.0f, 1.0f, -1 }, + { 1.0f, 10.0f, 1.0f, 1.0f, -1 } +}; -static s32 lbl_1_data_3C4[] = { 0x00000514, 0x00000515, 0x00000516, 0x00000517, 0x00000518 }; +static s32 lbl_1_data_3C4[] = { + 0x00000514, + 0x00000515, + 0x00000516, + 0x00000517, + 0x00000518 +}; -static void fn_1_0(void) -{ +static void fn_1_0(void) { lbl_1_bss_204.unk04 = NULL; lbl_1_bss_204.unk08 = NULL; } -static void fn_1_24(u16 arg0, s16 arg1) -{ +static void fn_1_24(u16 arg0, s16 arg1) { UnkBss204Struct *temp_r31; UnkBss204Struct *temp_r30; UnkBss204Struct *temp_r29; @@ -293,8 +416,7 @@ static void fn_1_24(u16 arg0, s16 arg1) temp_r31->unk08 = temp_r29; } -static s16 fn_1_AC(s16 arg0) -{ +static s16 fn_1_AC(s16 arg0) { UnkBss204Struct *var_r31; UnkBss204Struct *temp_r29; UnkBss204Struct *temp_r30; @@ -318,14 +440,12 @@ static s16 fn_1_AC(s16 arg0) return -1; } -static void fn_1_150(void) -{ +static void fn_1_150(void) { lbl_1_bss_1EC.unk10 = NULL; lbl_1_bss_1EC.unk14 = NULL; } -static void fn_1_174(s16 arg0, HsfanimStruct00 *arg1, s32 arg2, s32 arg3, s32 arg4, Vec *arg5, u8 arg6) -{ +static void fn_1_174(s16 arg0, HsfanimStruct00 *arg1, s32 arg2, s32 arg3, s32 arg4, Vec *arg5, u8 arg6) { UnkBss1ECStruct *temp_r27; UnkBss1ECStruct *var_r31; UnkBss1ECStruct *temp_r28; @@ -355,8 +475,7 @@ static void fn_1_174(s16 arg0, HsfanimStruct00 *arg1, s32 arg2, s32 arg3, s32 ar var_r31->unk14 = temp_r27; } -static void fn_1_2D8(void) -{ +static void fn_1_2D8(void) { UnkBss1ECStruct *var_r31; UnkBss1ECStruct *temp_r28; UnkBss1ECStruct *temp_r29; @@ -391,8 +510,7 @@ static void fn_1_2D8(void) } } -static void fn_1_414(void) -{ +static void fn_1_414(void) { s32 i; for (i = 0; i < 32; i++) { @@ -401,8 +519,7 @@ static void fn_1_414(void) } } -static s16 fn_1_46C(s32 arg0) -{ +static s16 fn_1_46C(s32 arg0) { s32 i; for (i = 0; i < 32; i++) { @@ -420,40 +537,37 @@ static s16 fn_1_46C(s32 arg0) return Hu3DModelCreateFile(arg0); } -static void fn_1_580(s32 *arg0, s32 arg1, s32 arg2) -{ +static void fn_1_580(s32 *arg0, s32 arg1, s32 arg2) { s32 var_r30; espBankSet(arg0[arg1 + 1], 10); espBankSet(arg0[arg1 + 4], 11); - if (600 * REFRESH_RATE <= arg2) { - arg2 = 600 * REFRESH_RATE - 1; + if (36000 <= arg2) { + arg2 = 35999; } - var_r30 = arg2 / (60 * REFRESH_RATE); - arg2 -= var_r30 * (60 * REFRESH_RATE); + var_r30 = arg2 / 3600; + arg2 -= var_r30 * 3600; if (var_r30 > 9) { var_r30 = 9; } espBankSet(arg0[arg1], var_r30); - var_r30 = arg2 / REFRESH_RATE; - arg2 -= var_r30 * REFRESH_RATE; + var_r30 = arg2 / 60; + arg2 -= var_r30 * 60; espBankSet(arg0[arg1 + 2], var_r30 / 10); espBankSet(arg0[arg1 + 3], var_r30 % 10); - var_r30 = 101.5f * arg2 / REFRESH_RATE; + var_r30 = 101.5f * arg2 / 60.0f; espBankSet(arg0[arg1 + 5], var_r30 / 10); espBankSet(arg0[arg1 + 6], var_r30 % 10); } -static void fn_1_798(s32 arg0) -{ +static void fn_1_798(s32 arg0) { lbl_1_bss_19C = 0.0f; lbl_1_bss_1AC = lbl_1_bss_1B0; GWMGRecordSet(arg0, lbl_1_bss_1AC); fn_1_580(lbl_1_bss_15C, 7, lbl_1_bss_1B0); } -static void fn_1_9EC(void) -{ +static void fn_1_9EC(void) { s32 i; for (i = 0; i < 16; i++) { @@ -461,8 +575,7 @@ static void fn_1_9EC(void) } } -static void fn_1_A40(void) -{ +static void fn_1_A40(void) { float temp_f31; s32 i; @@ -475,8 +588,7 @@ static void fn_1_A40(void) } } -static void fn_1_B4C(float arg0, s32 arg1) -{ +static void fn_1_B4C(float arg0, s32 arg1) { float temp_f30; float temp_f31; s32 i; @@ -513,8 +625,7 @@ static void fn_1_B4C(float arg0, s32 arg1) } } -static void fn_1_11F4(float arg0, Vec *arg1, Vec *arg2, Vec *arg3) -{ +static void fn_1_11F4(float arg0, Vec *arg1, Vec *arg2, Vec *arg3) { float temp_f31; if (1.0f < arg0) { @@ -526,15 +637,13 @@ static void fn_1_11F4(float arg0, Vec *arg1, Vec *arg2, Vec *arg3) arg3->z = arg1->z + temp_f31 * (arg2->z - arg1->z); } -static void fn_1_1350(Vec *arg0, Vec *arg1, Vec *arg2) -{ +static void fn_1_1350(Vec *arg0, Vec *arg1, Vec *arg2) { Hu3DCameraPosSetV(1, arg0, arg1, arg2); lbl_1_bss_1DC = *arg0; lbl_1_bss_1C4 = *arg2; } -static s32 fn_1_13DC(float arg0, Vec *arg1) -{ +static s32 fn_1_13DC(float arg0, Vec *arg1) { Vec sp18; Vec spC; @@ -543,15 +652,13 @@ static s32 fn_1_13DC(float arg0, Vec *arg1) Hu3DCameraPosSetV(1, &sp18, arg1, &spC); if (1.0f <= arg0) { return 1; - } - else { + } else { lbl_1_bss_1A0 = 1; return 0; } } -static void fn_1_1710(float arg0, Vec *arg1) -{ +static void fn_1_1710(float arg0, Vec *arg1) { Vec sp18; Vec spC; @@ -561,8 +668,7 @@ static void fn_1_1710(float arg0, Vec *arg1) lbl_1_bss_1A0 = 1; } -static void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2) -{ +static void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2) { Mtx sp1C; Vec sp10; float temp_f30; @@ -579,7 +685,7 @@ static void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2) } temp_r31 = &Hu3DCamera[i]; C_MTXLookAt(sp1C, &temp_r31->pos, &temp_r31->up, &temp_r31->target); - MTXMultVec(sp1C, arg0, &sp10); + PSMTXMultVec(sp1C, arg0, &sp10); temp_f30 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)) * temp_r31->aspect; temp_f29 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)); temp_f28 = 0.9f * temp_r31->viewport_x; @@ -589,8 +695,7 @@ static void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2) arg2->z = 0.0f; } -static void fn_1_1D18(s16 arg0, char *arg1, Vec *arg2) -{ +static void fn_1_1D18(s16 arg0, char *arg1, Vec *arg2) { Mtx sp10; Hu3DModelObjMtxGet(arg0, arg1, sp10); @@ -599,24 +704,22 @@ static void fn_1_1D18(s16 arg0, char *arg1, Vec *arg2) arg2->z = sp10[2][3]; } -static void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3) -{ +static void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3) { Mtx spC; ModelData *var_r30; var_r30 = &Hu3DData[arg0]; Hu3DModelObjMtxGet(arg0, arg1, spC); - MTXConcat(var_r30->unk_F0, spC, spC); + PSMTXConcat(var_r30->unk_F0, spC, spC); if (NULL != arg3) { - MTXCopy(spC, arg3); + PSMTXCopy(spC, arg3); } arg2->x = spC[0][3]; arg2->y = spC[1][3]; arg2->z = spC[2][3]; } -static float fn_1_1E20(float arg0, float arg1, float arg2) -{ +static float fn_1_1E20(float arg0, float arg1, float arg2) { float var_f31; float var_f30; @@ -634,13 +737,11 @@ static float fn_1_1E20(float arg0, float arg1, float arg2) return var_f30; } -static void fn_1_1F24(s32 arg0) -{ +static void fn_1_1F24(s32 arg0) { lbl_1_bss_1A4 = HuAudSeqPlay(arg0); } -static void fn_1_1F58(s32 arg0) -{ +static void fn_1_1F58(s32 arg0) { if (lbl_1_bss_1A4 >= 0) { if (arg0 < 0) { arg0 = 1000; @@ -650,8 +751,7 @@ static void fn_1_1F58(s32 arg0) lbl_1_bss_1A4 = -1; } -static void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) -{ +static void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) { Vec sp18; float var_f28; s32 var_r30; @@ -660,7 +760,7 @@ static void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) sp18.y = 0.0f; sp18.z = 0.0f; sp18.x = arg2 / 4.0f; - sp18.z = -(float)arg3 / 4.0f; + sp18.z = -(float) arg3 / 4.0f; var_r30 = 0; var_f28 = VECMagXZ(&sp18); if (0.5f <= var_f28) { @@ -674,42 +774,37 @@ static void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) *arg1 = fn_1_1E20(*arg1, atan2d(sp18.x, sp18.z), 0.4f); if (8.0f <= var_f28) { var_r30 = 2; - } - else { + } else { var_r30 = 1; } } - VECAdd((Vec *)&arg0, &sp18, (Vec *)&arg0); + PSVECAdd((Vec*) &arg0, &sp18, (Vec*) &arg0); } #include "src/REL/executor.c" -static void fn_1_2454(void) -{ +static void fn_1_2454(void) { HuSysVWaitSet(1); if (HuPadBtnDown[0] & 0x400) { lbl_1_bss_1B0 = -1; } print8(24, 32, 1.5f, "%f COUNT:%d MES:%d WIN:%d", lbl_1_bss_38, lbl_1_bss_1B4, lbl_1_bss_1AA, lbl_1_bss_26); print8(24, 48, 1.5f, "%f %f %f", lbl_1_bss_4, lbl_1_bss_C, lbl_1_bss_8); - print8(24, 64, 1.5f, "%x %x", HuMemHeapSizeGet(HEAP_SYSTEM) - HuMemUsedMallocSizeGet(HEAP_SYSTEM), - HuMemHeapSizeGet(HEAP_DATA) - HuMemUsedMallocSizeGet(HEAP_DATA)); + print8(24, 64, 1.5f, "%x %x", HuMemHeapSizeGet(HEAP_SYSTEM) - HuMemUsedMallocSizeGet(HEAP_SYSTEM), HuMemHeapSizeGet(HEAP_DATA) - HuMemUsedMallocSizeGet(HEAP_DATA)); lbl_1_bss_8 -= HuPadSubStkX[0] / 59.0f; lbl_1_bss_C -= (HuPadSubStkY[0] / 59.0f) * 4.0f; lbl_1_bss_4 -= (HuPadTrigL[0] / 150.0f) * 4.0f; lbl_1_bss_4 += (HuPadTrigR[0] / 150.0f) * 4.0f; } -static void fn_1_2744(s16 arg0, GXColor *arg1) -{ +static void fn_1_2744(s16 arg0, GXColor *arg1) { s16 var_r30; var_r30 = Hu3DLLightCreateV(arg0, &lbl_1_data_34, &lbl_1_data_40, arg1); Hu3DLLightStaticSet(arg0, var_r30, 1); } -static u16 fn_1_27A8(UnkFn27A8Struct *arg0) -{ +static u16 fn_1_27A8(UnkFn27A8Struct *arg0) { u16 var_r30; var_r30 = 0; @@ -728,15 +823,13 @@ static u16 fn_1_27A8(UnkFn27A8Struct *arg0) arg0->unk40 = 0; var_r30 = 0x100; } - } - else { + } else { arg0->unk40 = 0; } return var_r30; } -static void fn_1_2880(UnkFn27A8Struct *arg0, omObjData *arg1) -{ +static void fn_1_2880(UnkFn27A8Struct *arg0, omObjData *arg1) { arg0->unk4C = 2016; arg0->unk60 = 0; arg0->unk2C = 0.0f; @@ -747,13 +840,12 @@ static void fn_1_2880(UnkFn27A8Struct *arg0, omObjData *arg1) arg0->unk08 = 0.0f; arg0->unk0C = 0.0f; arg0->unk10 = arg0->unk0C; - Hu3DModelAttrReset(arg1->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(arg1->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(arg1->model[0], 0x40000002); + Hu3DModelAttrSet(arg1->model[0], 0x40000001); Hu3DMotionSet(arg1->model[0], arg1->motion[0]); } -static void fn_1_2970(UnkFn27A8Struct *arg0, omObjData *arg1, u8 arg2) -{ +static void fn_1_2970(UnkFn27A8Struct *arg0, omObjData *arg1, u8 arg2) { Vec sp18; Vec spC; float temp_f31; @@ -775,35 +867,33 @@ static void fn_1_2970(UnkFn27A8Struct *arg0, omObjData *arg1, u8 arg2) } } -static void fn_1_2B30(UnkFn27A8Struct *arg0, omObjData *arg1, omObjData *arg2) -{ +static void fn_1_2B30(UnkFn27A8Struct *arg0, omObjData *arg1, omObjData *arg2) { arg0->unk50 = 0; - arg0->unk20 = (770.0f - arg0->unk1C) / (REFRESH_RATE * 0.3f); + arg0->unk20 = (770.0f - arg0->unk1C) / 18.0f; arg0->unk0C = Hu3DMotionTimeGet(arg2->model[0]); Hu3DMotionTimeSet(lbl_1_bss_54[arg0->unk54]->model[0], 0.0f); Hu3DMotionSpeedSet(arg1->model[0], 1.0f); - Hu3DModelAttrReset(arg1->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DMotionShiftSet(arg1->model[0], arg1->motion[7], 0.0f, 8.0f, HU3D_MOTATTR_NONE); + Hu3DModelAttrReset(arg1->model[0], 0x40000003); + Hu3DMotionShiftSet(arg1->model[0], arg1->motion[7], 0.0f, 8.0f, 0); fn_1_2970(arg0, arg2, 1); HuAudCharVoicePlay(arg0->unk58, 0x123); } -static u8 fn_1_2DBC(UnkFn27A8Struct *arg0, omObjData *arg1) -{ +static u8 fn_1_2DBC(UnkFn27A8Struct *arg0, omObjData *arg1) { Vec sp20; float var_f30; float var_f29; arg0->unk50++; - var_f30 = 90.0f * (arg0->unk50 / (VERSION_NTSC ? 18.0f : 15.000001f)); + var_f30 = 90.0f * (arg0->unk50 / 18.0f); var_f29 = arg0->unk0C * (1.0 - sind(var_f30)); Hu3DMotionTimeSet(arg1->model[0], var_f29); fn_1_1D18(arg1->model[0], "motionC-stretch", &sp20); arg0->unk28 = sp20.y - arg0->unk14 + 388.0f; arg0->unk1C += arg0->unk20; - if ((REFRESH_RATE * 0.3f) < arg0->unk50) { + if (18.0f < arg0->unk50) { arg0->unk20 = (670.0f - arg0->unk1C) / 20.0f; - Hu3DModelAttrReset(arg1->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(arg1->model[0], 0x40000003); Hu3DMotionSet(arg1->model[0], arg1->motion[2]); Hu3DMotionTimeSet(arg1->model[0], 20.0f); omVibrate(arg0->unk54, 12, 4, 2); @@ -814,8 +904,7 @@ static u8 fn_1_2DBC(UnkFn27A8Struct *arg0, omObjData *arg1) return 0; } -static void fn_1_313C(UnkFn27A8Struct *arg0, omObjData *arg1) -{ +static void fn_1_313C(UnkFn27A8Struct *arg0, omObjData *arg1) { Vec sp8; arg0->unk1C += arg0->unk20; @@ -826,8 +915,7 @@ static void fn_1_313C(UnkFn27A8Struct *arg0, omObjData *arg1) arg0->unk28 = sp8.y - arg0->unk14 + 388.0f; } -static void fn_1_3204(omObjData *arg0) -{ +static void fn_1_3204(omObjData *arg0) { Vec sp48; Vec sp3C; Vec sp24; @@ -863,8 +951,7 @@ static void fn_1_3204(omObjData *arg0) if (temp_r31->unk60 < 19) { if (GWPlayerCfg[temp_r31->unk54].iscom) { var_r26 = fn_1_27A8(temp_r31); - } - else { + } else { var_r26 = HuPadBtnDown[temp_r31->unk5C]; } if (temp_r31->unk60 == 0) { @@ -878,10 +965,9 @@ static void fn_1_3204(omObjData *arg0) temp_r31->unk20 = 0.0f; temp_r31->unk24 = temp_r31->unk1C; HuAudFXPlay(0x50E); - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[5], 0.0f, 2.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[5], 0.0f, 2.0f, 0x40000001); } - } - else { + } else { temp_r31->unk30 += 1.0f; } switch (temp_r31->unk4C) { @@ -906,7 +992,7 @@ static void fn_1_3204(omObjData *arg0) temp_r31->unk60++; if (temp_r31->unk60 == 3) { Hu3DMotionSpeedSet(arg0->model[0], 0.83f); - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[6], 0.0f, 4.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[6], 0.0f, 4.0f, 0x40000001); } if (temp_r31->unk60 == 9) { Hu3DMotionSpeedSet(arg0->model[0], 1.0f); @@ -920,18 +1006,16 @@ static void fn_1_3204(omObjData *arg0) temp_r31->unk08 = 0.0f; if (lbl_1_bss_26 < 0) { lbl_1_bss_26 = temp_r31->unk54; - } - else if (frandmod(100) > 50) { + } else if (frandmod(100) > 50) { lbl_1_bss_26 = temp_r31->unk54; } } } } - if (1.0f * REFRESH_RATE <= temp_r31->unk30) { + if (60.0f <= temp_r31->unk30) { temp_r31->unk4C = 2017; fn_1_2B30(temp_r31, arg0, temp_r29); - } - else { + } else { if (temp_r31->unk1C > temp_r31->unk24) { temp_r31->unk1C += temp_r31->unk20; if (temp_r31->unk1C <= temp_r31->unk24) { @@ -950,7 +1034,7 @@ static void fn_1_3204(omObjData *arg0) case 2017: if (fn_1_2DBC(temp_r31, temp_r29) != 0) { temp_r31->unk4C = 2018; - temp_r31->unk50 = 2 * REFRESH_RATE; + temp_r31->unk50 = 120; } break; case 2018: @@ -958,7 +1042,7 @@ static void fn_1_3204(omObjData *arg0) temp_r31->unk50 -= 1.0f; if (temp_r31->unk50 == 32) { Hu3DMotionSet(arg0->model[0], arg0->motion[9]); - Hu3DMotionShiftSet(temp_r29->model[0], temp_r29->motion[1], 0.0f, 20.0f, HU3D_MOTATTR_PAUSE); + Hu3DMotionShiftSet(temp_r29->model[0], temp_r29->motion[1], 0.0f, 20.0f, 0x40000002); } if (0.0f > temp_r31->unk50) { fn_1_2880(temp_r31, arg0); @@ -976,8 +1060,7 @@ static void fn_1_3204(omObjData *arg0) } } -static void fn_1_4190(float arg0) -{ +static void fn_1_4190(float arg0) { Vec sp8; s32 i; @@ -990,8 +1073,7 @@ static void fn_1_4190(float arg0) } } -static void fn_1_4284(float arg0) -{ +static void fn_1_4284(float arg0) { Vec sp8; s32 i; @@ -1006,8 +1088,7 @@ static void fn_1_4284(float arg0) } } -static void fn_1_43D8(omObjData *arg0) -{ +static void fn_1_43D8(omObjData *arg0) { Vec spE8; float temp_f31; float temp_f23; @@ -1021,7 +1102,7 @@ static void fn_1_43D8(omObjData *arg0) case 2000: if (lbl_1_bss_58->work[0] == 1001) { temp_r31->unk4C++; - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[1], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[1], 0.0f, 10.0f, 0); } break; case 2001: @@ -1030,11 +1111,11 @@ static void fn_1_43D8(omObjData *arg0) temp_r31->unk4C++; temp_r31->unk08 = 0.0f; temp_r31->unk04 = 2000.0f; - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[2], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[2], 0.0f, 10.0f, 0); Hu3DMotionSet(temp_r30->model[0], temp_r30->motion[0]); - Hu3DModelAttrSet(temp_r30->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(temp_r30->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(temp_r30->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(temp_r30->model[0], 0x40000002); + Hu3DModelAttrReset(temp_r30->model[0], 0x40000001); + Hu3DModelAttrReset(temp_r30->model[0], 1); } break; case 2002: @@ -1049,7 +1130,7 @@ static void fn_1_43D8(omObjData *arg0) if (temp_r31->unk54 == 0) { HuAudFXPlay(0x50D); } - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[3], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[3], 0.0f, 10.0f, 0); } break; case 2003: @@ -1059,7 +1140,7 @@ static void fn_1_43D8(omObjData *arg0) temp_r31->unk4C++; temp_r31->unk50 = 0; temp_r31->unk04 = 536.0f; - Hu3DModelAttrReset(temp_r30->model[0], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(temp_r30->model[0], 0x40000002); spE8.x = temp_r31->unk00 * sind(180.0f + temp_r31->unk18); spE8.y = temp_r31->unk04; spE8.z = temp_r31->unk00 * cosd(180.0f + temp_r31->unk18); @@ -1071,7 +1152,7 @@ static void fn_1_43D8(omObjData *arg0) temp_r31->unk50++; if (70.0f < temp_r31->unk50) { temp_r31->unk4C++; - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[4], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[4], 0.0f, 10.0f, 0); } break; case 2005: @@ -1090,8 +1171,8 @@ static void fn_1_43D8(omObjData *arg0) temp_r31->unk4C++; temp_r31->unk50 = 0; temp_r31->unk0C = 0.0f; - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[5], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSet(temp_r30->model[0], temp_r30->motion[1], 0.0f, 10.0f, HU3D_MOTATTR_PAUSE); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[5], 0.0f, 10.0f, 0x40000001); + Hu3DMotionShiftSet(temp_r30->model[0], temp_r30->motion[1], 0.0f, 10.0f, 0x40000002); } break; case 2006: @@ -1106,7 +1187,7 @@ static void fn_1_43D8(omObjData *arg0) if (670.0f > temp_r31->unk1C) { temp_f31 = (670.0f - temp_r31->unk1C) / 450.0f; Hu3DMotionTimeSet(lbl_1_bss_54[temp_r31->unk54]->model[0], 10.0f * temp_f31); - temp_r28 = (s32)(10.0f * temp_f31) >> 1; + temp_r28 = (s32) (10.0f * temp_f31) >> 1; if (temp_r28 < 5 && temp_r31->unk44 != lbl_1_data_3C4[temp_r28]) { temp_r31->unk44 = lbl_1_data_3C4[temp_r28]; HuAudFXPlay(temp_r31->unk44); @@ -1116,8 +1197,7 @@ static void fn_1_43D8(omObjData *arg0) temp_r31->unk4C++; temp_r31->unk1C = 470.0f; fn_1_2B30(temp_r31, arg0, temp_r30); - } - else { + } else { temp_r31->unk0C += 0.7f; Hu3DMotionTimeSet(temp_r30->model[0], temp_r31->unk0C); } @@ -1125,7 +1205,7 @@ static void fn_1_43D8(omObjData *arg0) case 2008: if (fn_1_2DBC(temp_r31, temp_r30) != 0) { temp_r31->unk4C++; - temp_r31->unk50 = 2 * REFRESH_RATE; + temp_r31->unk50 = 120; } break; case 2009: @@ -1133,7 +1213,7 @@ static void fn_1_43D8(omObjData *arg0) temp_r31->unk50 -= 1.0f; if (temp_r31->unk50 == 32) { Hu3DMotionSet(arg0->model[0], arg0->motion[9]); - Hu3DMotionShiftSet(temp_r30->model[0], temp_r30->motion[1], 0.0f, 20.0f, HU3D_MOTATTR_PAUSE); + Hu3DMotionShiftSet(temp_r30->model[0], temp_r30->motion[1], 0.0f, 20.0f, 0x40000002); } if (0.0f > temp_r31->unk50) { lbl_1_bss_58->work[0]++; @@ -1146,14 +1226,13 @@ static void fn_1_43D8(omObjData *arg0) if (temp_r31->unk54 == lbl_1_bss_26) { temp_r31->unk4C = 2012; temp_r31->unk20 = 10.5f; - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[8], 0.0f, 20.0f, HU3D_MOTATTR_NONE); - Hu3DModelAttrReset(temp_r30->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DMotionShiftSet(temp_r30->model[0], temp_r30->motion[2], 20.0f, 20.0f, HU3D_MOTATTR_NONE); + Hu3DModelAttrReset(arg0->model[0], 0x40000003); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[8], 0.0f, 20.0f, 0); + Hu3DModelAttrReset(temp_r30->model[0], 0x40000003); + Hu3DMotionShiftSet(temp_r30->model[0], temp_r30->motion[2], 20.0f, 20.0f, 0); HuAudFXPlay(0x513); fn_1_4190(temp_r31->unk18); - } - else { + } else { temp_r31->unk4C = 2014; fn_1_2B30(temp_r31, arg0, temp_r30); } @@ -1171,7 +1250,7 @@ static void fn_1_43D8(omObjData *arg0) if (0.0f > temp_r31->unk20) { temp_r31->unk4C++; temp_r31->unk50 = 0; - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[9], 0.0f, 20.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[9], 0.0f, 20.0f, 0); } if (4.5f <= temp_r31->unk20) { fn_1_4284(temp_r31->unk18); @@ -1183,8 +1262,7 @@ static void fn_1_43D8(omObjData *arg0) temp_f31 = sind(temp_f23) * sind(temp_f23); if (180.0f > temp_r31->unk18) { temp_r31->unk24 = temp_r31->unk18 + -temp_r31->unk18 * temp_f31; - } - else { + } else { temp_r31->unk24 = temp_r31->unk18 + (360.0f - temp_r31->unk18) * temp_f31; } omSetRot(arg0, 0.0f, temp_r31->unk24, 0.0f); @@ -1195,7 +1273,7 @@ static void fn_1_43D8(omObjData *arg0) case 2014: if (fn_1_2DBC(temp_r31, temp_r30) != 0) { temp_r31->unk4C++; - temp_r31->unk50 = 2 * REFRESH_RATE; + temp_r31->unk50 = 120; } break; case 2015: @@ -1203,7 +1281,7 @@ static void fn_1_43D8(omObjData *arg0) temp_r31->unk50 -= 1.0f; if (temp_r31->unk50 == 32) { Hu3DMotionSet(arg0->model[0], arg0->motion[9]); - Hu3DMotionShiftSet(temp_r30->model[0], temp_r30->motion[1], 0.0f, 20.0f, HU3D_MOTATTR_PAUSE); + Hu3DMotionShiftSet(temp_r30->model[0], temp_r30->motion[1], 0.0f, 20.0f, 0x40000002); } if (0.0f > temp_r31->unk50) { temp_r31->unk4C = 2011; @@ -1225,8 +1303,7 @@ static void fn_1_43D8(omObjData *arg0) } } -static void fn_1_63C8(omObjData *arg0) -{ +static void fn_1_63C8(omObjData *arg0) { UnkFn27A8Struct *temp_r31; s16 temp_r28; s16 var_r27; @@ -1259,8 +1336,8 @@ static void fn_1_63C8(omObjData *arg0) temp_r28 = arg0->model[0]; var_r27 = Hu3DLLightCreateV(temp_r28, &lbl_1_data_34, &lbl_1_data_40, &lbl_1_data_4C); Hu3DLLightStaticSet(temp_r28, var_r27, 1); - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(arg0->model[0], 1); + Hu3DModelAttrSet(arg0->model[0], 0x40000001); Hu3DModelLayerSet(arg0->model[0], 3); Hu3DMotionSet(arg0->model[0], arg0->motion[0]); temp_r31->unk18 = 135.0f + 90.0f * temp_r31->unk54; @@ -1268,7 +1345,7 @@ static void fn_1_63C8(omObjData *arg0) omSetTra(arg0, temp_r31->unk1C * sind(180.0f + temp_r31->unk18), temp_r31->unk28, temp_r31->unk1C * cosd(180.0f + temp_r31->unk18)); omSetRot(arg0, 0.0f, temp_r31->unk18, 0.0f); Hu3DModelShadowSet(arg0->model[0]); - Hu3DModelAttrReset(arg0->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->model[0], 1); if (GWPlayerCfg[temp_r31->unk54].iscom) { switch (GWPlayerCfg[temp_r31->unk54].diff) { case 0: @@ -1295,10 +1372,10 @@ static void fn_1_63C8(omObjData *arg0) arg0->func = fn_1_43D8; } -static void fn_1_6858(omObjData *arg0) { } +static void fn_1_6858(omObjData *arg0) { +} -static void fn_1_685C(omObjData *arg0) -{ +static void fn_1_685C(omObjData *arg0) { float temp_f31; float temp_f29; float temp_f30; @@ -1310,21 +1387,20 @@ static void fn_1_685C(omObjData *arg0) for (i = 0; i < 3; i++) { arg0->motion[i] = Hu3DJointMotionFile(arg0->model[0], lbl_1_data_1E8[i]); } - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(arg0->model[0], 1); + Hu3DModelAttrSet(arg0->model[0], 0x40000002); Hu3DModelLayerSet(arg0->model[0], 4); Hu3DMotionSet(arg0->model[0], arg0->motion[0]); - temp_f31 = ((UnkFn27A8Struct *)lbl_1_bss_4C[temp_r29]->data)->unk18; - temp_f29 = ((UnkFn27A8Struct *)lbl_1_bss_4C[temp_r29]->data)->unk04; - temp_f30 = ((UnkFn27A8Struct *)lbl_1_bss_4C[temp_r29]->data)->unk00; + temp_f31 = ((UnkFn27A8Struct*) lbl_1_bss_4C[temp_r29]->data)->unk18; + temp_f29 = ((UnkFn27A8Struct*) lbl_1_bss_4C[temp_r29]->data)->unk04; + temp_f30 = ((UnkFn27A8Struct*) lbl_1_bss_4C[temp_r29]->data)->unk00; omSetTra(arg0, temp_f30 * sind(180.0f + temp_f31), temp_f29, temp_f30 * cosd(180.0f + temp_f31)); omSetRot(arg0, 0.0f, temp_f31, 0.0f); Hu3DModelShadowSet(arg0->model[0]); arg0->func = fn_1_6858; } -static void fn_1_6AB4(omObjData *arg0) -{ +static void fn_1_6AB4(omObjData *arg0) { Vec *temp_r29; UnkFn6AB4Struct *temp_r31; float temp_f31; @@ -1339,7 +1415,7 @@ static void fn_1_6AB4(omObjData *arg0) temp_r31->unk0C = 360.0f * frandf(); temp_r31->unk10 = 10.0f; HuAudFXPlay(0x512); - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[0], 0.0f, 20.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[0], 0.0f, 20.0f, 0); } break; case 3001: @@ -1359,7 +1435,7 @@ static void fn_1_6AB4(omObjData *arg0) temp_r31->unk18 = 3000; temp_r31->unk14 = 20.0f; temp_r31->unk04 = temp_r29->y; - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[1], 0.0f, 20.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[1], 0.0f, 20.0f, 0); } break; } @@ -1367,8 +1443,7 @@ static void fn_1_6AB4(omObjData *arg0) omSetRot(arg0, 0.0f, temp_r31->unk0C, 0.0f); } -static void fn_1_6E64(omObjData *arg0) -{ +static void fn_1_6E64(omObjData *arg0) { Vec *temp_r29; UnkFn6AB4Struct *temp_r30; s32 i; @@ -1379,7 +1454,7 @@ static void fn_1_6E64(omObjData *arg0) for (i = 0; i < 2; i++) { arg0->motion[i] = Hu3DJointMotionFile(arg0->model[0], lbl_1_data_1F8[i]); } - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->model[0], 1); Hu3DModelLayerSet(arg0->model[0], 5); Hu3DMotionSet(arg0->model[0], arg0->motion[1]); temp_r30->unk18 = 3000; @@ -1391,21 +1466,19 @@ static void fn_1_6E64(omObjData *arg0) omSetTra(arg0, temp_r30->unk00, temp_r30->unk04, temp_r30->unk08); omSetRot(arg0, 0.0f, temp_r30->unk0C, 0.0f); Hu3DModelShadowSet(arg0->model[0]); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(arg0->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->model[0], 0x40000002); + Hu3DModelAttrReset(arg0->model[0], 1); arg0->func = fn_1_6AB4; } -static void fn_1_7020(omObjData *arg0) -{ - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); +static void fn_1_7020(omObjData *arg0) { + Hu3DModelAttrSet(arg0->model[0], 1); fn_1_24(arg0->work[0], arg0->model[0]); omDelObjEx(lbl_1_bss_1E8, arg0); lbl_1_bss_24--; } -static void fn_1_70E4(omObjData *arg0) -{ +static void fn_1_70E4(omObjData *arg0) { Mtx sp18; Vec spC; float var_f27; @@ -1425,10 +1498,10 @@ static void fn_1_70E4(omObjData *arg0) spC.y = 0.0f; spC.z = var_f27; temp_r31->unk24.z *= 0.92f; - MTXIdentity(sp18); + PSMTXIdentity(sp18); mtxRot(sp18, temp_r31->unk24.x, temp_r31->unk24.y, 0.0f); - MTXMultVec(sp18, &spC, &spC); - VECAdd(&spC, &temp_r31->unk00, &temp_r31->unk00); + PSMTXMultVec(sp18, &spC, &spC); + PSVECAdd(&spC, &temp_r31->unk00, &temp_r31->unk00); omSetTra(arg0, temp_r31->unk00.x, temp_r31->unk00.y, temp_r31->unk00.z); Hu3DModelTPLvlSet(arg0->model[0], temp_r31->unk30); temp_r31->unk30 -= 0.02f; @@ -1498,8 +1571,7 @@ static void fn_1_70E4(omObjData *arg0) } } -static void fn_1_7950(omObjData *arg0) -{ +static void fn_1_7950(omObjData *arg0) { UnkFn70E4Struct *temp_r30; s16 var_r25; @@ -1509,24 +1581,22 @@ static void fn_1_7950(omObjData *arg0) var_r25 = fn_1_AC(arg0->work[0]); if (var_r25 < 0) { arg0->model[0] = Hu3DModelLink(lbl_1_bss_16[arg0->work[0]]); - } - else { + } else { arg0->model[0] = var_r25; } Hu3DMotionTimeSet(arg0->model[0], 0.0f); - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->model[0], 1); Hu3DModelLayerSet(arg0->model[0], 2); omSetTra(arg0, temp_r30->unk00.x, temp_r30->unk00.y, temp_r30->unk00.z); omSetRot(arg0, temp_r30->unk0C, temp_r30->unk10, temp_r30->unk14); omSetSca(arg0, temp_r30->unk18, temp_r30->unk1C, temp_r30->unk20); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(arg0->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->model[0], 0x40000003); + Hu3DModelAttrReset(arg0->model[0], 1); arg0->func = fn_1_70E4; } } -static void fn_1_7AEC(s32 arg0, Vec *arg1, Vec *arg2) -{ +static void fn_1_7AEC(s32 arg0, Vec *arg1, Vec *arg2) { omObjData *temp_r3; UnkFn70E4Struct *temp_r31; @@ -1573,48 +1643,46 @@ static void fn_1_7AEC(s32 arg0, Vec *arg1, Vec *arg2) } } -static void fn_1_7D48(omObjData *arg0) { } +static void fn_1_7D48(omObjData *arg0) { +} -static void fn_1_7D4C(omObjData *arg0) -{ +static void fn_1_7D4C(omObjData *arg0) { arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M402, 35)); - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(arg0->model[0], 1); + Hu3DModelAttrSet(arg0->model[0], 0x40000002); Hu3DModelLayerSet(arg0->model[0], 0); omSetTra(arg0, 0.0f, 0.0f, 0.0f); omSetRot(arg0, 0.0f, 270.0f + 90.0f * arg0->work[0], 0.0f); Hu3DModelShadowMapSet(arg0->model[0]); - Hu3DModelAttrReset(arg0->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->model[0], 1); arg0->func = fn_1_7D48; } -static void fn_1_7E80(omObjData *arg0) { } +static void fn_1_7E80(omObjData *arg0) { +} -static void fn_1_7E84(omObjData *arg0) -{ +static void fn_1_7E84(omObjData *arg0) { float temp_f31; arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M402, 36)); - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(arg0->model[0], 1); + Hu3DModelAttrSet(arg0->model[0], 0x40000001); + Hu3DModelAttrReset(arg0->model[0], 0x40000002); Hu3DModelLayerSet(arg0->model[0], 1); temp_f31 = 135.0f + 90.0f * arg0->work[0]; omSetTra(arg0, 155.5 * sind(temp_f31), 0.0f, 155.5 * cosd(temp_f31)); omSetRot(arg0, 0.0f, 0.0f, 0.0f); - Hu3DModelAttrReset(arg0->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->model[0], 1); arg0->func = fn_1_7E80; } -static inline void fn_1_8048InlineFunc(Vec *arg0, float arg1, float arg2, float arg3) -{ +static inline void fn_1_8048InlineFunc(Vec *arg0, float arg1, float arg2, float arg3) { arg0->x = arg1; arg0->y = arg2; arg0->z = arg3; } -static void fn_1_8048(void) -{ +static void fn_1_8048(void) { Vec sp14; Vec sp8; @@ -1632,8 +1700,7 @@ static void fn_1_8048(void) Hu3DGLightPosSetV(lbl_1_bss_14, &sp14, &sp8); } -static void fn_1_8218(omObjData *arg0) -{ +static void fn_1_8218(omObjData *arg0) { Vec sp38; float temp_f26; omObjData *temp_r30; @@ -1658,24 +1725,23 @@ static void fn_1_8218(omObjData *arg0) case 1005: if (lbl_1_bss_1AA < 0) { lbl_1_bss_1AA = MGSeqCreate(3, 0); - } - else { + } else { if (lbl_1_bss_1A4 < 0 && (MGSeqStatGet(lbl_1_bss_1AA) & 0x10)) { lbl_1_bss_1A4 = HuAudSeqPlay(0x46); } if (MGSeqStatGet(lbl_1_bss_1AA) == 0) { arg0->work[0]++; - lbl_1_bss_1B0 = 30 * REFRESH_RATE; - lbl_1_bss_1A8 = MGSeqCreate(1, lbl_1_bss_1B0 / REFRESH_RATE, -1, -1); + lbl_1_bss_1B0 = 1800; + lbl_1_bss_1A8 = MGSeqCreate(1, lbl_1_bss_1B0 / 60, -1, -1); lbl_1_bss_1AA = -1; } } break; case 1006: - MGSeqParamSet(lbl_1_bss_1A8, 1, (lbl_1_bss_1B0 + REFRESH_RATE - 1) / REFRESH_RATE); + MGSeqParamSet(lbl_1_bss_1A8, 1, (lbl_1_bss_1B0 + 59) / 60); lbl_1_bss_1B0--; if (lbl_1_bss_1B0 < 0 || lbl_1_bss_26 >= 0) { - lbl_1_bss_1B0 = 30 * REFRESH_RATE; + lbl_1_bss_1B0 = 1800; lbl_1_bss_2C = 0.0f; arg0->work[0] = 1007; } @@ -1695,11 +1761,10 @@ static void fn_1_8218(omObjData *arg0) lbl_1_bss_1A8 = -1; lbl_1_bss_1AA = MGSeqCreate(3, 1); fn_1_1F58(100); - } - else { + } else { lbl_1_bss_2C += 1.0f; - if (1.5f * REFRESH_RATE >= lbl_1_bss_2C) { - fn_1_13DC(lbl_1_bss_2C / (1.5f * REFRESH_RATE), &lbl_1_data_1C); + if (90.0f >= lbl_1_bss_2C) { + fn_1_13DC(lbl_1_bss_2C / 90.0f, &lbl_1_data_1C); } if (MGSeqStatGet(lbl_1_bss_1AA) == 0) { arg0->work[0]++; @@ -1713,20 +1778,18 @@ static void fn_1_8218(omObjData *arg0) if (lbl_1_bss_26 < 0) { lbl_1_bss_1AA = MGSeqCreate(3, 2); HuAudSStreamPlay(4); - } - else { + } else { lbl_1_bss_1AA = MGSeqCreate(5, 3, GWPlayerCfg[lbl_1_bss_26].character, -1, -1, -1); temp_r30 = lbl_1_bss_4C[lbl_1_bss_26]; - Hu3DMotionShiftSet(temp_r30->model[0], temp_r30->motion[10], 0.0f, 20.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(temp_r30->model[0], temp_r30->motion[10], 0.0f, 20.0f, 0); HuAudSStreamPlay(1); } - } - else { + } else { lbl_1_bss_2C += 1.0f; if (lbl_1_bss_26 >= 0 && 110.0f == lbl_1_bss_2C) { - Hu3DModelAttrSet(arg0->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(arg0->model[2], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(arg0->model[2], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->model[1], 1); + Hu3DModelAttrReset(arg0->model[2], 0x40000002); + Hu3DModelAttrReset(arg0->model[2], 1); Hu3DMotionTimeSet(arg0->model[2], 0.0f); Hu3DMotionSpeedSet(arg0->model[2], 3.0f); } @@ -1744,9 +1807,9 @@ static void fn_1_8218(omObjData *arg0) } lbl_1_bss_30 -= 1.0f; if (0.0f == lbl_1_bss_30) { - Hu3DModelAttrSet(arg0->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(arg0->model[2], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(arg0->model[2], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->model[1], 1); + Hu3DModelAttrReset(arg0->model[2], 0x40000002); + Hu3DModelAttrReset(arg0->model[2], 1); Hu3DMotionTimeSet(arg0->model[2], 0.0f); Hu3DMotionSpeedSet(arg0->model[2], 3.0f); } @@ -1754,14 +1817,13 @@ static void fn_1_8218(omObjData *arg0) lbl_1_bss_30 = -1.0f; fn_1_8048(); if (Hu3DMotionEndCheck(arg0->model[2])) { - Hu3DModelAttrReset(arg0->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[2], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->model[1], 1); + Hu3DModelAttrSet(arg0->model[2], 1); } } } -static void fn_1_9058(omObjData *arg0) -{ +static void fn_1_9058(omObjData *arg0) { s16 temp_r29; s16 temp_r28; s32 i; @@ -1771,8 +1833,8 @@ static void fn_1_9058(omObjData *arg0) arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M402, 33)); arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M402, 34)); for (i = 0; i < 3; i++) { - Hu3DModelAttrSet(arg0->model[i], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[i], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(arg0->model[i], 1); + Hu3DModelAttrSet(arg0->model[i], 0x40000002); Hu3DModelLayerSet(arg0->model[i], 0); Hu3DModelPosSet(arg0->model[i], 0.0f, 0.0f, 0.0f); } @@ -1782,16 +1844,15 @@ static void fn_1_9058(omObjData *arg0) temp_r29 = arg0->model[0]; temp_r28 = Hu3DLLightCreateV(temp_r29, &lbl_1_data_34, &lbl_1_data_40, &lbl_1_data_4C); Hu3DLLightStaticSet(temp_r29, temp_r28, 1); - Hu3DModelAttrReset(arg0->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(arg0->model[1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->model[0], 1); + Hu3DModelAttrReset(arg0->model[1], 1); Hu3DModelShadowMapSet(arg0->model[0]); HuAudFXPlay(0x519); WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); arg0->func = fn_1_8218; } -void ObjectSetup(void) -{ +void ObjectSetup(void) { Vec sp20; omObjData *temp_r30; s32 i; @@ -1822,7 +1883,7 @@ void ObjectSetup(void) fn_1_8048(); Hu3DShadowCreate(30.0f, 20.0f, 20000.0f); Hu3DShadowTPLvlSet(0.5f); - VECNormalize(&lbl_1_data_60, &sp20); + PSVECNormalize(&lbl_1_data_60, &sp20); Hu3DShadowPosSet(&lbl_1_data_60, &sp20, &lbl_1_data_6C); omMakeGroupEx(lbl_1_bss_1E8, 0, 4); lbl_1_bss_54 = omGetGroupMemberListEx(lbl_1_bss_1E8, 0); @@ -1862,14 +1923,13 @@ void ObjectSetup(void) lbl_1_bss_40 = omGetGroupMemberListEx(lbl_1_bss_1E8, 5); for (i = 0; i < 7; i++) { lbl_1_bss_16[i] = Hu3DModelCreateFile(lbl_1_data_218[i]); - Hu3DModelAttrSet(lbl_1_bss_16[i], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_16[i], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(lbl_1_bss_16[i], 1); + Hu3DModelAttrSet(lbl_1_bss_16[i], 0x40000002); } lbl_1_bss_58 = omAddObjEx(lbl_1_bss_1E8, 106, 3, 1, -1, fn_1_9058); } -static void fn_1_9AF4(omObjData *arg0) -{ +static void fn_1_9AF4(omObjData *arg0) { s32 i; if (WipeStatGet() == 0) { diff --git a/src/REL/m403Dll/main.c b/src/REL/m403Dll/main.c index 1a6faa0c..3550b015 100755 --- a/src/REL/m403Dll/main.c +++ b/src/REL/m403Dll/main.c @@ -1,5 +1,5 @@ -#include "REL/executor.h" #include "REL/m403Dll.h" +#include "REL/executor.h" #include "game/audio.h" #include "game/chrman.h" #include "game/data.h" @@ -17,10 +17,7 @@ #include "game/wipe.h" #include "ext_math.h" - -#ifndef __MWERKS__ -#include "game/esprite.h" -#endif +#include "rel_sqrt_consts.h" typedef struct { /* 0x000 */ u8 unk00; @@ -168,8 +165,7 @@ static Vec lbl_1_data_20_unused = { 0.0f, 4000.0f, -2000.0f }; static Vec lbl_1_data_2C_unused = { 0.0f, 1.0f, 0.0f }; static u8 lbl_1_data_38_unused[0xC] = { 0 }; -void ObjectSetup(void) -{ +void ObjectSetup(void) { LightData *var_r28; Process *temp_r31; omObjData *var_r29; @@ -217,19 +213,17 @@ void ObjectSetup(void) WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); HuAudSndGrpSet(0x1C); lbl_1_bss_2 = 0; - if (GWMGRecordGet(9) == 0) { + if (GWMGRecordGet(9) == 0U) { GWMGRecordSet(9, 5); } } -static void fn_1_424(omObjData *arg0) -{ +static void fn_1_424(omObjData *arg0) { lbl_1_bss_30 = 0; arg0->func = fn_1_444; } -static void fn_1_444(omObjData *arg0) -{ +static void fn_1_444(omObjData *arg0) { Vec sp2C; Vec sp20; Vec sp14; @@ -302,12 +296,18 @@ static void fn_1_444(omObjData *arg0) static s32 lbl_1_data_68 = -1; -s32 lbl_1_data_6C[] = { DATA_MAKE_NUM(DATADIR_MGCONST, 0), DATA_MAKE_NUM(DATADIR_MGCONST, 1), DATA_MAKE_NUM(DATADIR_MGCONST, 2), - DATA_MAKE_NUM(DATADIR_MGCONST, 3), DATA_MAKE_NUM(DATADIR_MGCONST, 4), DATA_MAKE_NUM(DATADIR_MGCONST, 5), DATA_MAKE_NUM(DATADIR_MGCONST, 6), - DATA_MAKE_NUM(DATADIR_MGCONST, 7) }; +s32 lbl_1_data_6C[] = { + DATA_MAKE_NUM(DATADIR_MGCONST, 0), + DATA_MAKE_NUM(DATADIR_MGCONST, 1), + DATA_MAKE_NUM(DATADIR_MGCONST, 2), + DATA_MAKE_NUM(DATADIR_MGCONST, 3), + DATA_MAKE_NUM(DATADIR_MGCONST, 4), + DATA_MAKE_NUM(DATADIR_MGCONST, 5), + DATA_MAKE_NUM(DATADIR_MGCONST, 6), + DATA_MAKE_NUM(DATADIR_MGCONST, 7) +}; -static void fn_1_82C(omObjData *arg0) -{ +static void fn_1_82C(omObjData *arg0) { Vec sp1C; Vec sp10; float var_f31; @@ -323,8 +323,7 @@ static void fn_1_82C(omObjData *arg0) lbl_1_bss_2A = 1800; lbl_1_bss_2C = MGSeqStartCreate(); MGSeqPosSet(lbl_1_bss_2C, 320.0f, 240.0f); - } - else if (MGSeqStatGet(lbl_1_bss_2C) == 0) { + } else if (MGSeqStatGet(lbl_1_bss_2C) == 0) { lbl_1_bss_2C = -1; lbl_1_bss_30++; lbl_1_bss_28 = 0; @@ -358,11 +357,10 @@ static void fn_1_82C(omObjData *arg0) case 6: var_r29 = 0; if (lbl_1_bss_2 != 0) { - if (((Unkm403Struct_01 *)lbl_1_bss_34[lbl_1_bss_4]->data)->unk07 == 0 && fn_1_8264() == 0) { + if (((Unkm403Struct_01*) lbl_1_bss_34[lbl_1_bss_4]->data)->unk07 == 0 && fn_1_8264() == 0) { var_r29++; } - } - else if (lbl_1_data_0 <= 1 && fn_1_8264() == 0) { + } else if (lbl_1_data_0 <= 1 && fn_1_8264() == 0) { var_r29++; } if (lbl_1_bss_2 != 0) { @@ -386,7 +384,7 @@ static void fn_1_82C(omObjData *arg0) if (lbl_1_bss_2 == 0) { if (lbl_1_data_0 != 0) { for (i = 0; i < 4; i++) { - if (((Unkm403Struct_01 *)lbl_1_bss_34[i]->data)->unk07 != 0) { + if (((Unkm403Struct_01*) lbl_1_bss_34[i]->data)->unk07 != 0) { break; } } @@ -403,7 +401,7 @@ static void fn_1_82C(omObjData *arg0) lbl_1_bss_28 = 90; break; } - if ((s32)GWMGRecordGet(9) < lbl_1_bss_0 - 1) { + if (GWMGRecordGet(9) < lbl_1_bss_0 - 1) { GWMGRecordSet(9, lbl_1_bss_0 - 1); lbl_1_bss_30 = 8; break; @@ -434,13 +432,12 @@ static void fn_1_82C(omObjData *arg0) if (lbl_1_data_0 == 0) { lbl_1_bss_2C = MGSeqDrawCreate(); HuAudSStreamPlay(4); - } - else { + } else { for (i = 0; i < 4; i++) { sp8[i] = -1; } for (i = 0, var_r27 = 0; i < 4; i++) { - if (((Unkm403Struct_01 *)lbl_1_bss_34[i]->data)->unk07 != 0) { + if (((Unkm403Struct_01*) lbl_1_bss_34[i]->data)->unk07 != 0) { GWPlayerCoinWinAdd(i, 10); sp8[var_r27++] = GWPlayerCfg[i].character; } @@ -466,8 +463,7 @@ static void fn_1_82C(omObjData *arg0) } } -static void fn_1_1214(omObjData *arg0) -{ +static void fn_1_1214(omObjData *arg0) { if (WipeStatGet() == 0) { fn_1_676C(); CharModelKill(-1); @@ -478,8 +474,7 @@ static void fn_1_1214(omObjData *arg0) } } -static void fn_1_1274(omObjData *arg0) -{ +static void fn_1_1274(omObjData *arg0) { Hu3DLightAllKill(); lbl_1_bss_18[0] = Hu3DGLightCreateV(&lbl_1_data_4, &lbl_1_data_10, &lbl_1_data_1C); Hu3DGLightStaticSet(lbl_1_bss_18[0], 1); @@ -494,8 +489,7 @@ static void fn_1_1274(omObjData *arg0) arg0->func = fn_1_1460; } -static void fn_1_1460(omObjData *arg0) -{ +static void fn_1_1460(omObjData *arg0) { s8 sp11[] = { 1, 0, 2, 1, 0, 3, 2, 1, 0 }; s8 sp8[] = { 1, 1, 2, 2, 2, 3, 3, 3, 3 }; s32 var_r30; @@ -544,8 +538,7 @@ static void fn_1_1460(omObjData *arg0) } } -static void fn_1_16D8(omObjData *arg0) -{ +static void fn_1_16D8(omObjData *arg0) { Unkm403Struct_00 *temp_r3; temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(*temp_r3), MEMORY_DEFAULT_NUM); @@ -562,8 +555,7 @@ static void fn_1_16D8(omObjData *arg0) arg0->func = fn_1_17DC; } -static void fn_1_17DC(omObjData *arg0) -{ +static void fn_1_17DC(omObjData *arg0) { Unkm403Struct_00 *temp_r31; float temp_f31; @@ -580,8 +572,7 @@ static void fn_1_17DC(omObjData *arg0) temp_r31->unk10.y = temp_r31->unk28.y + temp_f31 * (temp_r31->unk40.y - temp_r31->unk28.y); temp_r31->unk10.z = temp_r31->unk28.z + temp_f31 * (temp_r31->unk40.z - temp_r31->unk28.z); temp_r31->unk130 = temp_r31->unk134 + temp_f31 * (temp_r31->unk138 - temp_r31->unk134); - } - else { + } else { fn_1_57E0(2.0f * temp_f31, &temp_r31->unk04, temp_r31->unkF4, &temp_r31->unk64, temp_r31->unk88, 3); fn_1_57E0(2.0f * temp_f31, &temp_r31->unk10, temp_r31->unk100, &temp_r31->unkAC, temp_r31->unkD0, 3); temp_r31->unk130 = fn_1_52AC(2.0f * temp_f31, temp_r31->unk124, temp_r31->unk10C, temp_r31->unk118, 3); @@ -596,8 +587,7 @@ static void fn_1_17DC(omObjData *arg0) CZoom = temp_r31->unk130; } -static void fn_1_1A50(float arg0, Vec *arg1, Vec *arg2, float arg3) -{ +static void fn_1_1A50(float arg0, Vec *arg1, Vec *arg2, float arg3) { Unkm403Struct_00 *temp_r31; temp_r31 = lbl_1_bss_48->data; @@ -616,8 +606,7 @@ static void fn_1_1A50(float arg0, Vec *arg1, Vec *arg2, float arg3) temp_r31->unk138 = arg3; } -static void fn_1_1AF0(float arg0, Vec *arg1, Vec *arg2, float arg3, Vec *arg4, Vec *arg5, float arg6) -{ +static void fn_1_1AF0(float arg0, Vec *arg1, Vec *arg2, float arg3, Vec *arg4, Vec *arg5, float arg6) { Unkm403Struct_00 *temp_r31; temp_r31 = lbl_1_bss_48->data; @@ -657,26 +646,37 @@ static void fn_1_1AF0(float arg0, Vec *arg1, Vec *arg2, float arg3, Vec *arg4, V fn_1_4FF4(temp_r31->unk124, temp_r31->unk10C, temp_r31->unk118, 3); } -static void fn_1_1DA8(float arg0) -{ +static void fn_1_1DA8(float arg0) { Unkm403Struct_00 *temp_r31; temp_r31 = lbl_1_bss_48->data; temp_r31->unk140 = arg0; } -static s32 lbl_1_data_C4[] = { 0, 2, 3, 8, 10, 9, 23, 24 }; +static s32 lbl_1_data_C4[] = { + 0, 2, 3, 8, 10, 9, 23, 24 +}; -static Vec lbl_1_data_E4[] = { { -300.0f, 2200.0f, 0.0f }, { -100.0f, 2200.0f, 0.0f }, { 100.0f, 2200.0f, 0.0f }, { 300.0f, 2200.0f, 0.0f } }; +static Vec lbl_1_data_E4[] = { + { -300.0f, 2200.0f, 0.0f }, + { -100.0f, 2200.0f, 0.0f }, + { 100.0f, 2200.0f, 0.0f }, + { 300.0f, 2200.0f, 0.0f } +}; -static float lbl_1_data_114[] = { 40.0f, 40.0f, 40.0f, 40.0f, 40.0f, 100.0f, 40.0f, 80.0f }; +static float lbl_1_data_114[] = { + 40.0f, 40.0f, 40.0f, 40.0f, + 40.0f, 100.0f, 40.0f, 80.0f +}; -static float lbl_1_data_134[] = { 160.0f, 160.0f, 180.0f, 160.0f, 160.0f, 180.0f, 180.0f, 200.0f }; +static float lbl_1_data_134[] = { + 160.0f, 160.0f, 180.0f, 160.0f, + 160.0f, 180.0f, 180.0f, 200.0f +}; static u32 lbl_1_data_154 = 0x41C64E6D; -static void fn_1_1DD0(omObjData *arg0) -{ +static void fn_1_1DD0(omObjData *arg0) { Unkm403Struct_01 *temp_r3; s32 temp_r27; s32 i; @@ -715,7 +715,7 @@ static void fn_1_1DD0(omObjData *arg0) } temp_r28 = CharModelCreate(temp_r3->unk01, 4); arg0->model[0] = temp_r28; - Hu3DModelAttrSet(temp_r28, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(temp_r28, 0x40000001); Hu3DModelShadowSet(temp_r28); for (i = 0; i < 8; i++) { arg0->motion[i] = CharModelMotionCreate(temp_r3->unk01, lbl_1_data_C4[i]); @@ -730,8 +730,7 @@ static void fn_1_1DD0(omObjData *arg0) arg0->func = fn_1_2158; } -static void fn_1_2158(omObjData *arg0) -{ +static void fn_1_2158(omObjData *arg0) { Unkm403Struct_01 *temp_r31; s32 sp8; @@ -748,9 +747,9 @@ static void fn_1_2158(omObjData *arg0) } /* fallthrough */ case 1: - temp_r31->unk18 = 3; - temp_r31->unk48 = 0.0f; - temp_r31->unk0C = 0; + temp_r31->unk18 = 3; + temp_r31->unk48 = 0.0f; + temp_r31->unk0C = 0; break; case 5: arg0->func = fn_1_22A4; @@ -764,8 +763,7 @@ static void fn_1_2158(omObjData *arg0) fn_1_2FDC(arg0); } -static void fn_1_22A4(omObjData *arg0) -{ +static void fn_1_22A4(omObjData *arg0) { Unkm403Struct_01 *temp_r31; s32 temp_r29; s32 temp_r28; @@ -776,15 +774,13 @@ static void fn_1_22A4(omObjData *arg0) if (lbl_1_bss_30 == 6 && !(temp_r31->unk07 & 2)) { if (temp_r31->unk05 != 0) { fn_1_2598(arg0); - } - else { + } else { temp_r31->unk10 = HuPadStkX[temp_r31->unk04]; temp_r31->unk12 = HuPadStkY[temp_r31->unk04]; temp_r31->unk14 = HuPadBtnDown[temp_r31->unk04]; temp_r31->unk16 = HuPadBtn[temp_r31->unk04]; } - } - else { + } else { temp_r31->unk10 = temp_r31->unk12 = 0; temp_r31->unk14 = temp_r31->unk16 = 0; } @@ -811,7 +807,7 @@ static void fn_1_22A4(omObjData *arg0) HuAudFXPlay(0x523); temp_r31->unk07 = 0; Hu3DModelShadowReset(temp_r29); - Hu3DModelAttrSet(temp_r29, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(temp_r29, 1); lbl_1_data_0--; temp_r28 = fn_1_400C(DATA_MAKE_NUM(DATADIR_M403, 19), 100, fn_1_40A8); Hu3DModelPosSet(temp_r28, temp_r31->unk2C.x, temp_r31->unk2C.y, temp_r31->unk2C.z); @@ -820,8 +816,7 @@ static void fn_1_22A4(omObjData *arg0) } if (fn_1_8264() != 0) { temp_r31->unkA0 = 0; - } - else if (!(temp_r31->unk07 & 2) && temp_r31->unkA0 == 0) { + } else if (!(temp_r31->unk07 & 2) && temp_r31->unkA0 == 0) { omVibrate(temp_r31->unk00, 12, 6, 6); temp_r31->unkA0 = 1; } @@ -829,8 +824,7 @@ static void fn_1_22A4(omObjData *arg0) } } -static void fn_1_2598(omObjData *arg0) -{ +static void fn_1_2598(omObjData *arg0) { Vec sp38[6]; Vec sp14; Vec sp8; @@ -873,7 +867,7 @@ static void fn_1_2598(omObjData *arg0) break; case 1: temp_r31->unk5C = 2; - temp_r31->unk5E = (s32)(60.0f * (1.2f - 0.2f * temp_r28) * (fn_1_4528() / 65536.0f)); + temp_r31->unk5E = (s32) (60.0f * (1.2f - 0.2f * temp_r28) * (fn_1_4528() / 65536.0f)); temp_r31->unk60 = 500.0f * ((fn_1_4528() - 0x8000) / 32768.0f); temp_r31->unk64 = 200.0f * ((fn_1_4528() - 0x8000) / 32768.0f); var_r27 = temp_r31->unk10; @@ -886,12 +880,10 @@ static void fn_1_2598(omObjData *arg0) var_f31 = fn_1_59F4(&sp8); if (var_f31 < 20.0f) { temp_r31->unk5C = 3; - } - else { + } else { if (var_f31 >= 100.0f) { var_f28 = 0.8f; - } - else { + } else { var_f28 = 0.4f; } var_f30 = fn_1_457C(temp_r31->unk3C, atan2d(sp8.x, sp8.z), var_f28); @@ -903,20 +895,16 @@ static void fn_1_2598(omObjData *arg0) if (temp_r31->unk5E == 0) { temp_r31->unk5E = -1; } - } - else if (temp_r31->unk5E >= 0) { + } else if (temp_r31->unk5E >= 0) { if (temp_r31->unk5E == 0) { if (var_f31 < 150.0f && temp_r31->unk0E != 0) { temp_r31->unk5C = 3; - } - else if ((s32)((temp_r28 + 2) * (fn_1_4528() / 65536.0f)) != 0 && var_r22 == 0) { + } else if ((s32) ((temp_r28 + 2) * (fn_1_4528() / 65536.0f)) != 0 && var_r22 == 0) { temp_r31->unk5C = 4; - } - else { + } else { temp_r31->unk5C = 1; } - } - else { + } else { temp_r31->unk5E--; } } @@ -928,19 +916,16 @@ static void fn_1_2598(omObjData *arg0) sp8.z = temp_r31->unk64 - temp_r31->unk2C.z; if (fn_1_59F4(&sp8) >= 30.000002f && temp_r31->unk0E == 0) { temp_r31->unk5C = 2; - } - else if (fn_1_8264() == 0) { + } else if (fn_1_8264() == 0) { temp_r31->unk5C = 0; - } - else { + } else { if (temp_r31->unk5E > 0) { temp_r31->unk5E--; } if (temp_r31->unk5E == 0) { - if ((s32)((temp_r28 + 2) * (fn_1_4528() / 65536.0f)) != 0 && var_r22 == 0) { + if ((s32) ((temp_r28 + 2) * (fn_1_4528() / 65536.0f)) != 0 && var_r22 == 0) { temp_r31->unk5C = 4; - } - else { + } else { temp_r31->unk5C = 1; } } @@ -949,8 +934,8 @@ static void fn_1_2598(omObjData *arg0) case 4: temp_r24 = fn_1_82D0(&sp38[0]); for (i = 0; i < temp_r24; i++) { - VECSubtract(&sp38[i], &temp_r31->unk2C, &sp8); - sp20[i] = VECMag(&sp8); + PSVECSubtract(&sp38[i], &temp_r31->unk2C, &sp8); + sp20[i] = PSVECMag(&sp8); } for (i = 0; i < temp_r24 - 1; i++) { for (var_r29 = i + 1; var_r29 < temp_r24; var_r29++) { @@ -987,8 +972,7 @@ static void fn_1_2598(omObjData *arg0) temp_r31->unk16 = var_r20; } -static void fn_1_2FDC(omObjData *arg0) -{ +static void fn_1_2FDC(omObjData *arg0) { float var_f29; Unkm403Struct_01 *temp_r31; s32 temp_r25; @@ -1016,8 +1000,7 @@ static void fn_1_2FDC(omObjData *arg0) if (temp_r31->unk1C >= 6.0f) { var_r28 = 2; var_r27 = 1; - } - else { + } else { var_r28 = 1; var_r27 = 1; } @@ -1029,8 +1012,7 @@ static void fn_1_2FDC(omObjData *arg0) temp_r31->unk24 -= 0.5f * temp_r31->unk28; } temp_r31->unk1C *= 1.0 + 0.25 * cosd(90.0f * (temp_r31->unk24 / (0.5f * temp_r31->unk28))); - } - else { + } else { temp_r31->unk24 = 0.0f; temp_r31->unk1C = 0.0f; var_r28 = 0; @@ -1042,8 +1024,7 @@ static void fn_1_2FDC(omObjData *arg0) var_r27 = 0; if (Hu3DData[temp_r25].unk_0C == -1 && CharModelMotionEndCheck(temp_r31->unk01)) { temp_r31->unk48 += -2.4333334f; - } - else { + } else { temp_r31->unk48 = 0.0f; } if (temp_r31->unk0C != 0) { @@ -1052,8 +1033,7 @@ static void fn_1_2FDC(omObjData *arg0) temp_r31->unk0D = 0; var_r28 = 5; var_r27 = 0; - } - else { + } else { temp_r31->unk48 *= -0.1f; temp_r31->unk0C = 0; var_r28 = 4; @@ -1082,10 +1062,9 @@ static void fn_1_2FDC(omObjData *arg0) } if (temp_r31->unk07 & 4) { if (temp_r31->unk0A & 2) { - Hu3DModelAttrSet(temp_r25, HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrReset(temp_r25, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(temp_r25, 1); + } else { + Hu3DModelAttrReset(temp_r25, 1); } if (--temp_r31->unk0A == 0) { temp_r31->unk07 &= ~4; @@ -1108,8 +1087,7 @@ static void fn_1_2FDC(omObjData *arg0) omSetRot(arg0, temp_r31->unk38, temp_r31->unk3C, temp_r31->unk40); } -static void fn_1_3800(void) -{ +static void fn_1_3800(void) { s32 var_r29; s32 i; Unkm403Struct_01 *temp_r30; @@ -1126,14 +1104,13 @@ static void fn_1_3800(void) } } -static s32 fn_1_3894(void) -{ +static s32 fn_1_3894(void) { Vec sp14[4]; Vec sp8; float var_f31; float var_f30; s32 var_r26; - omObjData *temp_r25; + omObjData* temp_r25; Unkm403Struct_01 *temp_r28; Unkm403Struct_01 *temp_r27; Unkm403Struct_01 *temp_r31; @@ -1150,14 +1127,14 @@ static s32 fn_1_3894(void) for (j = i + 1; j < 4; j++) { temp_r27 = lbl_1_bss_34[j]->data; if (temp_r27->unk07 != 0) { - VECSubtract(&temp_r28->unk2C, &temp_r27->unk2C, &sp8); - var_f31 = VECMag(&sp8); + PSVECSubtract(&temp_r28->unk2C, &temp_r27->unk2C, &sp8); + var_f31 = PSVECMag(&sp8); if (var_f31 < 80.0f) { - VECNormalize(&sp8, &sp8); + PSVECNormalize(&sp8, &sp8); var_f30 = 0.0001f + 0.5f * (80.0f - var_f31); - VECScale(&sp8, &sp8, var_f30); - VECAdd(&sp14[i], &sp8, &sp14[i]); - VECSubtract(&sp14[j], &sp8, &sp14[j]); + PSVECScale(&sp8, &sp8, var_f30); + PSVECAdd(&sp14[i], &sp8, &sp14[i]); + PSVECSubtract(&sp14[j], &sp8, &sp14[j]); temp_r28->unk0E++; temp_r27->unk0E++; var_r26++; @@ -1170,7 +1147,7 @@ static s32 fn_1_3894(void) temp_r25 = lbl_1_bss_34[i]; temp_r31 = temp_r25->data; if (temp_r31->unk07 != 0) { - VECAdd(&temp_r31->unk2C, &sp14[i], &temp_r31->unk2C); + PSVECAdd(&temp_r31->unk2C, &sp14[i], &temp_r31->unk2C); if (temp_r31->unk2C.x > 660.0f) { temp_r31->unk2C.x = 660.0f; } @@ -1189,8 +1166,7 @@ static s32 fn_1_3894(void) return var_r26; } -static void fn_1_3B80(omObjData *arg0) -{ +static void fn_1_3B80(omObjData *arg0) { s32 sp8[4]; s32 var_r30; s32 i; @@ -1202,24 +1178,22 @@ static void fn_1_3B80(omObjData *arg0) for (i = 0; i < 4; i++) { fn_1_3E4C(lbl_1_bss_34[i]); } - } - else { + } else { for (i = 0, var_r30 = 0; i < 4; i++) { - ((Unkm403Struct_01 *)lbl_1_bss_34[i]->data)->unk9C = 0; - if (((Unkm403Struct_01 *)lbl_1_bss_34[i]->data)->unk07 != 0) { + ((Unkm403Struct_01*) lbl_1_bss_34[i]->data)->unk9C = 0; + if (((Unkm403Struct_01*) lbl_1_bss_34[i]->data)->unk07 != 0) { sp8[var_r30++] = i; } } if (var_r30 != 0) { - i = sp8[(s32)(var_r30 * (fn_1_4528() / 65536.0f))]; - ((Unkm403Struct_01 *)lbl_1_bss_34[i]->data)->unk9C = 1; + i = sp8[(s32) (var_r30 * (fn_1_4528() / 65536.0f))]; + ((Unkm403Struct_01*) lbl_1_bss_34[i]->data)->unk9C = 1; } } fn_1_3800(); } -static void fn_1_3D6C(Vec *arg0, Vec *arg1) -{ +static void fn_1_3D6C(Vec *arg0, Vec *arg1) { Vec sp18[6]; Vec spC; float var_f31; @@ -1230,8 +1204,8 @@ static void fn_1_3D6C(Vec *arg0, Vec *arg1) temp_r30 = fn_1_8470(sp18); var_f31 = 2000.0f; for (i = 0; i < temp_r30; i++) { - VECSubtract(&sp18[i], arg0, &spC); - var_f30 = VECMag(&spC); + PSVECSubtract(&sp18[i], arg0, &spC); + var_f30 = PSVECMag(&spC); if (var_f30 >= var_f31) { continue; } @@ -1240,8 +1214,7 @@ static void fn_1_3D6C(Vec *arg0, Vec *arg1) } } -static void fn_1_3E4C(omObjData *arg0) -{ +static void fn_1_3E4C(omObjData *arg0) { Vec sp8; float var_f30; float var_f31; @@ -1259,16 +1232,14 @@ static void fn_1_3E4C(omObjData *arg0) if (fn_1_86A0(&temp_r31->unk2C, &sp8) != 0) { temp_r31->unk2C.x = sp8.x; temp_r31->unk2C.z = sp8.z; - } - else { + } else { if (fn_1_7F78(temp_r31->unk2C.x, temp_r31->unk2C.z) - 10.0f < 100.0f) { temp_r31->unk07 |= 2; } var_f31 = var_f30 / lbl_1_data_134[temp_r31->unk01]; } } - } - else { + } else { var_f31 = var_f30 / lbl_1_data_134[temp_r31->unk01]; } if (arg0->scale.y < var_f31) { @@ -1278,8 +1249,7 @@ static void fn_1_3E4C(omObjData *arg0) } } -static s16 fn_1_400C(s32 arg0, s16 arg1, ParticleHook arg2) -{ +static s16 fn_1_400C(s32 arg0, s16 arg1, ParticleHook arg2) { AnimData *var_r29; ParticleData *temp_r31; s32 temp_r30; @@ -1293,8 +1263,7 @@ static s16 fn_1_400C(s32 arg0, s16 arg1, ParticleHook arg2) return temp_r30; } -static void fn_1_40A8(ModelData *model, ParticleData *particle, Mtx matrix) -{ +static void fn_1_40A8(ModelData *model, ParticleData *particle, Mtx matrix) { float temp_f31; float temp_f30; float temp_f29; @@ -1342,69 +1311,60 @@ static void fn_1_40A8(ModelData *model, ParticleData *particle, Mtx matrix) DCFlushRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); } -static s32 fn_1_4528(void) -{ +static s32 fn_1_4528(void) { lbl_1_data_154 *= 0x41C64E6D; lbl_1_data_154 += 0x3039; return lbl_1_data_154 >> 16; } -static float fn_1_457C(float arg0, float arg1, float arg2) -{ +static float fn_1_457C(float arg0, float arg1, float arg2) { float var_f31; if (arg0 > 180.0f) { arg0 -= 360.0f; - } - else if (arg0 <= -180.0f) { + } else if (arg0 <= -180.0f) { arg0 += 360.0f; } if (arg1 > 180.0f) { arg1 -= 360.0f; - } - else if (arg1 <= -180.0f) { + } else if (arg1 <= -180.0f) { arg1 += 360.0f; } var_f31 = arg0 - arg1; if (var_f31 > 180.0f) { var_f31 -= 360.0f; - } - else if (var_f31 <= -180.0f) { + } else if (var_f31 <= -180.0f) { var_f31 += 360.0f; } arg0 = arg1 + var_f31 * arg2; if (arg0 > 180.0f) { arg0 -= 360.0f; - } - else if (arg0 <= -180.0f) { + } else if (arg0 <= -180.0f) { arg0 += 360.0f; } return arg0; } -static void fn_1_46E4(Mtx arg0, float arg1, float arg2, float arg3) -{ +static void fn_1_46E4(Mtx arg0, float arg1, float arg2, float arg3) { Mtx sp38; Mtx sp8; if (arg3 != 0.0f) { - MTXRotRad(arg0, 'Z', MTXDegToRad(arg3)); - } - else { - MTXIdentity(arg0); + PSMTXRotRad(arg0, 'Z', MTXDegToRad(arg3)); + } else { + PSMTXIdentity(arg0); } if (arg1 != 0.0f) { - MTXRotRad(sp38, 'X', MTXDegToRad(arg1)); - MTXConcat(sp38, arg0, arg0); + PSMTXRotRad(sp38, 'X', MTXDegToRad(arg1)); + PSMTXConcat(sp38, arg0, arg0); } if (arg2 != 0.0f) { - MTXRotRad(sp8, 'Y', MTXDegToRad(arg2)); - MTXConcat(sp8, arg0, arg0); + PSMTXRotRad(sp8, 'Y', MTXDegToRad(arg2)); + PSMTXConcat(sp8, arg0, arg0); } } -static void fn_1_4804(float *arg0, float *arg1) -{ +static void fn_1_4804(float *arg0, float *arg1) { float temp_f29; float var_f28; double var_f30; @@ -1414,8 +1374,7 @@ static void fn_1_4804(float *arg0, float *arg1) temp_f29 = -arg0[2]; if (1.0 - temp_f29 * temp_f29 < 0.0) { var_f30 = -(1.0 - temp_f29 * temp_f29); - } - else { + } else { var_f30 = 1.0 - temp_f29 * temp_f29; } var_f28 = sqrtf(var_f30); @@ -1427,8 +1386,7 @@ static void fn_1_4804(float *arg0, float *arg1) arg1[1] = atan2d(var_f28, temp_f29); } -static float fn_1_4B10(float arg0, float arg1, float arg2, float arg3) -{ +static float fn_1_4B10(float arg0, float arg1, float arg2, float arg3) { float temp_f31; float var_f30; @@ -1437,8 +1395,7 @@ static float fn_1_4B10(float arg0, float arg1, float arg2, float arg3) return var_f30; } -static void fn_1_4B88(float *arg0, float *arg1, float *arg2, float *arg3, float arg4) -{ +static void fn_1_4B88(float *arg0, float *arg1, float *arg2, float *arg3, float arg4) { s32 i; for (i = 0; i < 3; i++) { @@ -1446,14 +1403,12 @@ static void fn_1_4B88(float *arg0, float *arg1, float *arg2, float *arg3, float } } -static float fn_1_4CA4(float arg0, float arg1, float arg2, float arg3) -{ +static float fn_1_4CA4(float arg0, float arg1, float arg2, float arg3) { float var_f31 = 2.0 * ((arg0 - 1.0) * arg1 + (1.0 - 2.0 * arg0) * arg2 + arg0 * arg3); return var_f31; } -static void fn_1_4D1C(float *arg0, float *arg1, float *arg2, float *arg3, float arg4) -{ +static void fn_1_4D1C(float *arg0, float *arg1, float *arg2, float *arg3, float arg4) { float spC[3]; float var_f29; s32 i; @@ -1467,16 +1422,14 @@ static void fn_1_4D1C(float *arg0, float *arg1, float *arg2, float *arg3, float for (i = 0; i < 3; i++) { *(arg3++) = var_f29 * spC[i]; } - } - else { + } else { *(arg3++) = 0.0f; *(arg3++) = 0.0f; *(arg3++) = 1.0f; } } -static void fn_1_4FF4(float *arg0, float *arg1, float *arg2, s32 arg3) -{ +static void fn_1_4FF4(float *arg0, float *arg1, float *arg2, s32 arg3) { float sp48[16]; float sp8[16]; double temp_f31; @@ -1488,8 +1441,7 @@ static void fn_1_4FF4(float *arg0, float *arg1, float *arg2, s32 arg3) sp48[i] = arg0[i + 1] - arg0[i]; if (sp48[i] == 0.0f) { sp8[i + 1] = 0.0f; - } - else { + } else { sp8[i + 1] = (arg1[i + 1] - arg1[i]) / sp48[i]; } } @@ -1504,15 +1456,13 @@ static void fn_1_4FF4(float *arg0, float *arg1, float *arg2, s32 arg3) for (i = arg3 - 2; i > 0; i--) { if (sp8[i] == 0.0f) { arg2[i] = 0.0f; - } - else { + } else { arg2[i] = (arg2[i] - sp48[i] * arg2[i + 1]) / sp8[i]; } } } -static float fn_1_52AC(float arg0, float *arg1, float *arg2, float *arg3, s32 arg4) -{ +static float fn_1_52AC(float arg0, float *arg1, float *arg2, float *arg3, s32 arg4) { float temp_f31; float temp_f30; float var_f29; @@ -1522,18 +1472,14 @@ static float fn_1_52AC(float arg0, float *arg1, float *arg2, float *arg3, s32 ar arg0 -= temp_r31; temp_f31 = arg1[temp_r31 + 1] - arg1[temp_r31]; temp_f30 = temp_f31 * arg0; - var_f29 = arg2[temp_r31] - + temp_f30 - * (temp_f30 * (3.0f * arg3[temp_r31] + temp_f30 * (arg3[temp_r31 + 1] - arg3[temp_r31]) / temp_f31) - + ((arg2[temp_r31 + 1] - arg2[temp_r31]) / temp_f31 - temp_f31 * (2.0f * arg3[temp_r31] + arg3[temp_r31 + 1]))); + var_f29 = arg2[temp_r31] + temp_f30 * (temp_f30 * (3.0f * arg3[temp_r31] + temp_f30 * (arg3[temp_r31 + 1] - arg3[temp_r31]) / temp_f31) + ((arg2[temp_r31 + 1] - arg2[temp_r31]) / temp_f31 - temp_f31 * (2.0f * arg3[temp_r31] + arg3[temp_r31 + 1]))); if (temp_f31 == 0.0f) { var_f29 = arg2[temp_r31]; } return var_f29; } -static void fn_1_5400(float *arg0, Vec *arg1, float arg2[][3], s32 arg3) -{ +static void fn_1_5400(float *arg0, Vec *arg1, float arg2[][3], s32 arg3) { Vec sp8; float temp_f31; float spD4[16]; @@ -1543,12 +1489,12 @@ static void fn_1_5400(float *arg0, Vec *arg1, float arg2[][3], s32 arg3) arg0[0] = 0.0f; for (i = 1; i < arg3; i++) { - VECSubtract(&arg1[i], &arg1[i - 1], &sp8); - arg0[i] = arg0[i - 1] + VECMag(&sp8); + PSVECSubtract(&arg1[i], &arg1[i - 1], &sp8); + arg0[i] = arg0[i - 1] + PSVECMag(&sp8); } for (j = 0; j < 3; j++) { for (i = 0; i < arg3; i++) { - spD4[i] = ((float *)&arg1[i])[j]; + spD4[i] = ((float*) &arg1[i])[j]; } fn_1_4FF4(arg0, spD4, sp94, arg3); for (i = 0; i < arg3; i++) { @@ -1557,8 +1503,7 @@ static void fn_1_5400(float *arg0, Vec *arg1, float arg2[][3], s32 arg3) } } -static void fn_1_57E0(float arg0, Vec *arg1, float *arg2, Vec *arg3, float arg4[][3], s32 arg5) -{ +static void fn_1_57E0(float arg0, Vec *arg1, float *arg2, Vec *arg3, float arg4[][3], s32 arg5) { float sp48[16]; float sp8[16]; s32 i; @@ -1566,15 +1511,14 @@ static void fn_1_57E0(float arg0, Vec *arg1, float *arg2, Vec *arg3, float arg4[ for (i = 0; i < 3; i++) { for (j = 0; j < arg5; j++) { - sp48[j] = ((float *)&arg3[j])[i]; + sp48[j] = ((float*) &arg3[j])[i]; sp8[j] = arg4[j][i]; } - ((float *)arg1)[i] = fn_1_52AC(arg0, arg2, sp48, sp8, arg5); + ((float*) arg1)[i] = fn_1_52AC(arg0, arg2, sp48, sp8, arg5); } } -static float fn_1_59F4(Vec *arg0) -{ +static float fn_1_59F4(Vec *arg0) { float var_f30; float var_f29; @@ -1585,36 +1529,31 @@ static float fn_1_59F4(Vec *arg0) arg0->x *= var_f29; arg0->y *= var_f29; arg0->z *= var_f29; - } - else { + } else { arg0->x = arg0->y = arg0->z = 0.0f; } return var_f30; } -static void fn_1_5B8C(Vec arg0, Vec arg1, Vec *arg2, float arg3) -{ +static void fn_1_5B8C(Vec arg0, Vec arg1, Vec *arg2, float arg3) { if (arg3 <= 0.0f) { arg2->x = arg0.x; arg2->y = arg0.y; arg2->z = arg0.z; arg3 = 0.0f; - } - else if (arg3 >= 1.0f) { + } else if (arg3 >= 1.0f) { arg2->x = arg0.x + arg1.x; arg2->y = arg0.y + arg1.y; arg2->z = arg0.z + arg1.z; arg3 = 1.0f; - } - else { + } else { arg2->x = arg0.x + arg3 * arg1.x; arg2->y = arg0.y + arg3 * arg1.y; arg2->z = arg0.z + arg3 * arg1.z; } } -static float fn_1_5C64(Vec arg0, Vec arg1, Vec arg2) -{ +static float fn_1_5C64(Vec arg0, Vec arg1, Vec arg2) { float var_f31; float temp_f30; @@ -1626,8 +1565,7 @@ static float fn_1_5C64(Vec arg0, Vec arg1, Vec arg2) return var_f31; } -static float fn_1_5D20(Vec *arg0, Vec *arg1, Vec *arg2) -{ +static float fn_1_5D20(Vec *arg0, Vec *arg1, Vec *arg2) { Vec sp44; float var_f31; @@ -1639,8 +1577,7 @@ static float fn_1_5D20(Vec *arg0, Vec *arg1, Vec *arg2) return (arg0->x - sp44.x) * (arg0->x - sp44.x) + (arg0->y - sp44.y) * (arg0->y - sp44.y) + (arg0->z - sp44.z) * (arg0->z - sp44.z); } -static float fn_1_605C(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, Vec *arg4) -{ +static float fn_1_605C(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, Vec *arg4) { float var_f27; if (arg2->x * arg2->x + arg2->y * arg2->y + arg2->z * arg2->z == 0.0f) { diff --git a/src/REL/m403Dll/scene.c b/src/REL/m403Dll/scene.c index b71d445f..dfe0a620 100755 --- a/src/REL/m403Dll/scene.c +++ b/src/REL/m403Dll/scene.c @@ -1,8 +1,8 @@ #include "REL/m403Dll.h" #include "game/audio.h" #include "game/frand.h" -#include "game/hsfdraw.h" #include "game/hsfman.h" +#include "game/hsfdraw.h" #include "game/hsfmotion.h" #include "game/memory.h" #include "game/object.h" @@ -53,92 +53,298 @@ static s32 lbl_1_bss_74; static s32 lbl_1_bss_70; static s32 lbl_1_bss_58[6]; -static Vec lbl_1_data_158[] = { { 92.39f, 0.0f, 38.27f }, { 100.0f, 0.0f, 0.0f }, { 92.39f, 0.0f, -38.27f }, { 70.71f, 0.0f, -70.71f }, - { 38.27f, 0.0f, -92.39f }, { 0.0f, 0.0f, -100.0f }, { -38.27f, 0.0f, -92.39f }, { -70.71f, 0.0f, -70.71f }, { -92.39f, 0.0f, -38.27f }, - { -100.0f, 0.0f, 0.0f }, { -92.39f, 0.0f, 38.27f }, { -70.71f, 0.0f, 70.71f }, { -38.27f, 0.0f, 92.39f }, { 0.0f, 0.0f, 100.0f }, - { 38.27f, 0.0f, 92.39f }, { 70.71f, 0.0f, 70.71f } }; +static Vec lbl_1_data_158[] = { + { 92.39f, 0.0f, 38.27f }, + { 100.0f, 0.0f, 0.0f }, + { 92.39f, 0.0f, -38.27f }, + { 70.71f, 0.0f, -70.71f }, + { 38.27f, 0.0f, -92.39f }, + { 0.0f, 0.0f, -100.0f }, + { -38.27f, 0.0f, -92.39f }, + { -70.71f, 0.0f, -70.71f }, + { -92.39f, 0.0f, -38.27f }, + { -100.0f, 0.0f, 0.0f }, + { -92.39f, 0.0f, 38.27f }, + { -70.71f, 0.0f, 70.71f }, + { -38.27f, 0.0f, 92.39f }, + { 0.0f, 0.0f, 100.0f }, + { 38.27f, 0.0f, 92.39f }, + { 70.71f, 0.0f, 70.71f } +}; -static Vec lbl_1_data_218[] = { { 55.43f, 0.0f, 22.96f }, { 60.0f, 0.0f, 0.0f }, { 55.43f, 0.0f, -22.96f }, { 42.43f, 0.0f, -42.43f }, - { 22.96f, 0.0f, -55.43f }, { 0.0f, 0.0f, -60.0f }, { -22.96f, 0.0f, -55.43f }, { -42.43f, 0.0f, -42.43f }, { -55.43f, 0.0f, -22.96f }, - { -60.0f, 0.0f, 0.0f }, { -55.43f, 0.0f, 22.96f }, { -42.43f, 0.0f, 42.43f }, { -22.96f, 0.0f, 55.43f }, { 0.0f, 0.0f, 60.0f }, - { 22.96f, 0.0f, 55.43f }, { 42.43f, 0.0f, 42.43f } }; +static Vec lbl_1_data_218[] = { + { 55.43f, 0.0f, 22.96f }, + { 60.0f, 0.0f, 0.0f }, + { 55.43f, 0.0f, -22.96f }, + { 42.43f, 0.0f, -42.43f }, + { 22.96f, 0.0f, -55.43f }, + { 0.0f, 0.0f, -60.0f }, + { -22.96f, 0.0f, -55.43f }, + { -42.43f, 0.0f, -42.43f }, + { -55.43f, 0.0f, -22.96f }, + { -60.0f, 0.0f, 0.0f }, + { -55.43f, 0.0f, 22.96f }, + { -42.43f, 0.0f, 42.43f }, + { -22.96f, 0.0f, 55.43f }, + { 0.0f, 0.0f, 60.0f }, + { 22.96f, 0.0f, 55.43f }, + { 42.43f, 0.0f, 42.43f } +}; -static Vec lbl_1_data_2D8[] - = { { 38.79f, 0.0f, -53.4f }, { 0.0f, 0.0f, -120.0f }, { -38.79f, 0.0f, -53.4f }, { -114.13f, 0.0f, -37.08f }, { -62.77f, 0.0f, 20.4f }, - { -70.53f, 0.0f, 97.08f }, { 0.0f, 0.0f, 66.0f }, { 70.53f, 0.0f, 97.08f }, { 62.77f, 0.0f, 20.4f }, { 114.13f, 0.0f, -37.08f } }; +static Vec lbl_1_data_2D8[] = { + { 38.79f, 0.0f, -53.4f }, + { 0.0f, 0.0f, -120.0f }, + { -38.79f, 0.0f, -53.4f }, + { -114.13f, 0.0f, -37.08f }, + { -62.77f, 0.0f, 20.4f }, + { -70.53f, 0.0f, 97.08f }, + { 0.0f, 0.0f, 66.0f }, + { 70.53f, 0.0f, 97.08f }, + { 62.77f, 0.0f, 20.4f }, + { 114.13f, 0.0f, -37.08f } +}; -static Vec lbl_1_data_350[] - = { { 21.34f, 0.0f, -29.37f }, { 0.0f, 0.0f, -66.0f }, { -21.34f, 0.0f, -29.37f }, { -62.77f, 0.0f, -20.4f }, { -34.52f, 0.0f, 11.22f }, - { -38.79f, 0.0f, 53.4f }, { 0.0f, 0.0f, 36.3f }, { 38.79f, 0.0f, 53.4f }, { 34.52f, 0.0f, 11.22f }, { 62.77f, 0.0f, -20.4f } }; +static Vec lbl_1_data_350[] = { + { 21.34f, 0.0f, -29.37f }, + { 0.0f, 0.0f, -66.0f }, + { -21.34f, 0.0f, -29.37f }, + { -62.77f, 0.0f, -20.4f }, + { -34.52f, 0.0f, 11.22f }, + { -38.79f, 0.0f, 53.4f }, + { 0.0f, 0.0f, 36.3f }, + { 38.79f, 0.0f, 53.4f }, + { 34.52f, 0.0f, 11.22f }, + { 62.77f, 0.0f, -20.4f } +}; -static Vec lbl_1_data_3C8[] = { { 110.87f, 0.0f, 45.92f }, { 120.0f, 0.0f, 0.0f }, { 110.87f, 0.0f, -45.92f }, { 84.85f, 0.0f, -84.85f }, - { 45.92f, 0.0f, -110.87f }, { 0.0f, 0.0f, -120.0f }, { -45.92f, 0.0f, -110.87f }, { -84.85f, 0.0f, -84.85f }, { -110.87f, 0.0f, -45.92f }, - { -120.0f, 0.0f, 0.0f }, { -110.87f, 0.0f, 45.92f }, { -84.85f, 0.0f, 84.85f }, { -45.92f, 0.0f, 110.87f }, { 0.0f, 0.0f, 120.0f }, - { 45.92f, 0.0f, 110.87f }, { 84.85f, 0.0f, 84.85f } }; +static Vec lbl_1_data_3C8[] = { + { 110.87f, 0.0f, 45.92f }, + { 120.0f, 0.0f, 0.0f }, + { 110.87f, 0.0f, -45.92f }, + { 84.85f, 0.0f, -84.85f }, + { 45.92f, 0.0f, -110.87f }, + { 0.0f, 0.0f, -120.0f }, + { -45.92f, 0.0f, -110.87f }, + { -84.85f, 0.0f, -84.85f }, + { -110.87f, 0.0f, -45.92f }, + { -120.0f, 0.0f, 0.0f }, + { -110.87f, 0.0f, 45.92f }, + { -84.85f, 0.0f, 84.85f }, + { -45.92f, 0.0f, 110.87f }, + { 0.0f, 0.0f, 120.0f }, + { 45.92f, 0.0f, 110.87f }, + { 84.85f, 0.0f, 84.85f } +}; -static Vec lbl_1_data_488[] = { { 73.17f, 0.0f, 30.31f }, { 79.2f, 0.0f, 0.0f }, { 73.17f, 0.0f, -30.31f }, { 56.0f, 0.0f, -56.0f }, - { 30.31f, 0.0f, -73.17f }, { 0.0f, 0.0f, -79.2f }, { -30.31f, 0.0f, -73.17f }, { -56.0f, 0.0f, -56.0f }, { -73.17f, 0.0f, -30.31f }, - { -79.2f, 0.0f, 0.0f }, { -73.17f, 0.0f, 30.31f }, { -56.0f, 0.0f, 56.0f }, { -30.31f, 0.0f, 73.17f }, { 0.0f, 0.0f, 79.2f }, - { 30.31f, 0.0f, 73.17f }, { 56.0f, 0.0f, 56.0f } }; +static Vec lbl_1_data_488[] = { + { 73.17f, 0.0f, 30.31f }, + { 79.2f, 0.0f, 0.0f }, + { 73.17f, 0.0f, -30.31f }, + { 56.0f, 0.0f, -56.0f }, + { 30.31f, 0.0f, -73.17f }, + { 0.0f, 0.0f, -79.2f }, + { -30.31f, 0.0f, -73.17f }, + { -56.0f, 0.0f, -56.0f }, + { -73.17f, 0.0f, -30.31f }, + { -79.2f, 0.0f, 0.0f }, + { -73.17f, 0.0f, 30.31f }, + { -56.0f, 0.0f, 56.0f }, + { -30.31f, 0.0f, 73.17f }, + { 0.0f, 0.0f, 79.2f }, + { 30.31f, 0.0f, 73.17f }, + { 56.0f, 0.0f, 56.0f } +}; -static Vec lbl_1_data_548[] - = { { 48.49f, 0.0f, -66.74f }, { 0.0f, 0.0f, -150.0f }, { -48.49f, 0.0f, -66.74f }, { -142.66f, 0.0f, -46.35f }, { -78.46f, 0.0f, 25.49f }, - { -88.17f, 0.0f, 121.35f }, { 0.0f, 0.0f, 82.5f }, { 88.17f, 0.0f, 121.35f }, { 78.46f, 0.0f, 25.49f }, { 142.66f, 0.0f, -46.35f } }; +static Vec lbl_1_data_548[] = { + { 48.49f, 0.0f, -66.74f }, + { 0.0f, 0.0f, -150.0f }, + { -48.49f, 0.0f, -66.74f }, + { -142.66f, 0.0f, -46.35f }, + { -78.46f, 0.0f, 25.49f }, + { -88.17f, 0.0f, 121.35f }, + { 0.0f, 0.0f, 82.5f }, + { 88.17f, 0.0f, 121.35f }, + { 78.46f, 0.0f, 25.49f }, + { 142.66f, 0.0f, -46.35f } +}; -static Vec lbl_1_data_5C0[] - = { { 29.09f, 0.0f, -40.05f }, { 0.0f, 0.0f, -90.0f }, { -29.09f, 0.0f, -40.05f }, { -85.59f, 0.0f, -27.81f }, { -47.08f, 0.0f, 15.3f }, - { -52.9f, 0.0f, 72.81f }, { 0.0f, 0.0f, 49.5f }, { 52.9f, 0.0f, 72.81f }, { 47.08f, 0.0f, 15.3f }, { 85.59f, 0.0f, -27.81f } }; +static Vec lbl_1_data_5C0[] = { + { 29.09f, 0.0f, -40.05f }, + { 0.0f, 0.0f, -90.0f }, + { -29.09f, 0.0f, -40.05f }, + { -85.59f, 0.0f, -27.81f }, + { -47.08f, 0.0f, 15.3f }, + { -52.9f, 0.0f, 72.81f }, + { 0.0f, 0.0f, 49.5f }, + { 52.9f, 0.0f, 72.81f }, + { 47.08f, 0.0f, 15.3f }, + { 85.59f, 0.0f, -27.81f } +}; -static Vec lbl_1_data_638[] = { { 129.1f, 0.0f, 54.6f }, { 140.0f, 0.0f, 0.0f }, { 129.3f, 0.0f, -53.6f }, { 99.0f, 0.0f, -99.0f }, - { 53.6f, 0.0f, -129.3f }, { 0.0f, 0.0f, -140.0f }, { -53.6f, 0.0f, -129.3f }, { -99.0f, 0.0f, -99.0f }, { -129.4f, 0.0f, -53.5f }, - { -140.0f, 0.0f, 0.0f }, { -136.0f, 0.0f, 20.4f }, { -102.1f, 0.0f, -7.6f }, { -70.0f, 0.0f, -14.0f }, { -37.8f, 0.0f, -7.6f }, - { -10.6f, 0.0f, 10.6f }, { 7.6f, 0.0f, 37.8f }, { 14.0f, 0.0f, 70.0f }, { 7.6f, 0.0f, 102.2f }, { -20.4f, 0.0f, 136.0f }, { 0.1f, 0.0f, 140.1f }, - { 53.9f, 0.0f, 129.5f }, { 99.5f, 0.0f, 99.0f } }; +static Vec lbl_1_data_638[] = { + { 129.1f, 0.0f, 54.6f }, + { 140.0f, 0.0f, 0.0f }, + { 129.3f, 0.0f, -53.6f }, + { 99.0f, 0.0f, -99.0f }, + { 53.6f, 0.0f, -129.3f }, + { 0.0f, 0.0f, -140.0f }, + { -53.6f, 0.0f, -129.3f }, + { -99.0f, 0.0f, -99.0f }, + { -129.4f, 0.0f, -53.5f }, + { -140.0f, 0.0f, 0.0f }, + { -136.0f, 0.0f, 20.4f }, + { -102.1f, 0.0f, -7.6f }, + { -70.0f, 0.0f, -14.0f }, + { -37.8f, 0.0f, -7.6f }, + { -10.6f, 0.0f, 10.6f }, + { 7.6f, 0.0f, 37.8f }, + { 14.0f, 0.0f, 70.0f }, + { 7.6f, 0.0f, 102.2f }, + { -20.4f, 0.0f, 136.0f }, + { 0.1f, 0.0f, 140.1f }, + { 53.9f, 0.0f, 129.5f }, + { 99.5f, 0.0f, 99.0f } +}; -static Vec lbl_1_data_740[] = { { 95.9f, 0.0f, 42.9f }, { 106.6f, 0.0f, 0.4f }, { 98.4f, 0.0f, -37.2f }, { 81.7f, 0.0f, -65.9f }, - { 55.4f, 0.0f, -89.6f }, { 11.5f, 0.0f, -101.7f }, { -24.5f, 0.0f, -99.9f }, { -60.9f, 0.0f, -88.6f }, { -98.7f, 0.0f, -64.4f }, - { -110.4f, 0.0f, -41.5f }, { -110.4f, 0.0f, -30.8f }, { -90.4f, 0.0f, -42.3f }, { -53.8f, 0.0f, -48.5f }, { -14.6f, 0.0f, -40.5f }, - { 17.1f, 0.0f, -16.3f }, { 35.8f, 0.0f, 28.2f }, { 35.8f, 0.0f, 65.6f }, { 24.7f, 0.0f, 101.6f }, { 19.6f, 0.0f, 114.6f }, - { 34.9f, 0.0f, 114.5f }, { 62.9f, 0.0f, 99.0f }, { 83.0f, 0.0f, 73.2f } }; +static Vec lbl_1_data_740[] = { + { 95.9f, 0.0f, 42.9f }, + { 106.6f, 0.0f, 0.4f }, + { 98.4f, 0.0f, -37.2f }, + { 81.7f, 0.0f, -65.9f }, + { 55.4f, 0.0f, -89.6f }, + { 11.5f, 0.0f, -101.7f }, + { -24.5f, 0.0f, -99.9f }, + { -60.9f, 0.0f, -88.6f }, + { -98.7f, 0.0f, -64.4f }, + { -110.4f, 0.0f, -41.5f }, + { -110.4f, 0.0f, -30.8f }, + { -90.4f, 0.0f, -42.3f }, + { -53.8f, 0.0f, -48.5f }, + { -14.6f, 0.0f, -40.5f }, + { 17.1f, 0.0f, -16.3f }, + { 35.8f, 0.0f, 28.2f }, + { 35.8f, 0.0f, 65.6f }, + { 24.7f, 0.0f, 101.6f }, + { 19.6f, 0.0f, 114.6f }, + { 34.9f, 0.0f, 114.5f }, + { 62.9f, 0.0f, 99.0f }, + { 83.0f, 0.0f, 73.2f } +}; -static Vec lbl_1_data_848[] = { { 110.9f, 0.0f, 45.9f }, { 120.0f, 0.0f, 0.0f }, { 110.9f, 0.0f, -45.8f }, { 84.8f, 0.0f, -84.9f }, - { 45.9f, 0.0f, -110.9f }, { 0.0f, 0.0f, -120.0f }, { -45.9f, 0.0f, -110.9f }, { -84.9f, 0.0f, -84.8f }, { -110.9f, 0.0f, -45.9f }, - { -120.0f, 0.0f, 0.0f }, { -116.5f, 0.0f, 17.5f }, { -87.6f, 0.0f, -6.6f }, { -60.0f, 0.0f, -12.0f }, { -32.4f, 0.0f, -6.5f }, - { -9.1f, 0.0f, 9.1f }, { 6.5f, 0.0f, 32.5f }, { 12.0f, 0.0f, 60.0f }, { 6.5f, 0.0f, 87.6f }, { -17.5f, 0.0f, 116.5f }, { 0.0f, 0.0f, 120.0f }, - { 45.9f, 0.0f, 110.9f }, { 84.8f, 0.0f, 84.9f } }; +static Vec lbl_1_data_848[] = { + { 110.9f, 0.0f, 45.9f }, + { 120.0f, 0.0f, 0.0f }, + { 110.9f, 0.0f, -45.8f }, + { 84.8f, 0.0f, -84.9f }, + { 45.9f, 0.0f, -110.9f }, + { 0.0f, 0.0f, -120.0f }, + { -45.9f, 0.0f, -110.9f }, + { -84.9f, 0.0f, -84.8f }, + { -110.9f, 0.0f, -45.9f }, + { -120.0f, 0.0f, 0.0f }, + { -116.5f, 0.0f, 17.5f }, + { -87.6f, 0.0f, -6.6f }, + { -60.0f, 0.0f, -12.0f }, + { -32.4f, 0.0f, -6.5f }, + { -9.1f, 0.0f, 9.1f }, + { 6.5f, 0.0f, 32.5f }, + { 12.0f, 0.0f, 60.0f }, + { 6.5f, 0.0f, 87.6f }, + { -17.5f, 0.0f, 116.5f }, + { 0.0f, 0.0f, 120.0f }, + { 45.9f, 0.0f, 110.9f }, + { 84.8f, 0.0f, 84.9f } +}; -static Vec lbl_1_data_950[] = { { 80.0f, 0.0f, 31.0f }, { 83.9f, 0.0f, -0.1f }, { 77.2f, 0.0f, -31.7f }, { 60.4f, 0.0f, -56.8f }, - { 35.6f, 0.0f, -77.4f }, { -0.5f, 0.0f, -84.1f }, { -31.5f, 0.0f, -82.9f }, { -58.9f, 0.0f, -71.4f }, { -86.3f, 0.0f, -49.4f }, - { -91.5f, 0.0f, -36.4f }, { -91.5f, 0.0f, -27.3f }, { -82.1f, 0.0f, -29.8f }, { -54.7f, 0.0f, -36.2f }, { -21.9f, 0.0f, -30.9f }, - { 13.3f, 0.0f, -10.2f }, { 28.3f, 0.0f, 18.3f }, { 33.4f, 0.0f, 58.4f }, { 28.0f, 0.0f, 81.6f }, { 20.7f, 0.0f, 93.3f }, { 30.4f, 0.0f, 93.3f }, - { 55.4f, 0.0f, 82.2f }, { 70.4f, 0.0f, 59.3f } }; +static Vec lbl_1_data_950[] = { + { 80.0f, 0.0f, 31.0f }, + { 83.9f, 0.0f, -0.1f }, + { 77.2f, 0.0f, -31.7f }, + { 60.4f, 0.0f, -56.8f }, + { 35.6f, 0.0f, -77.4f }, + { -0.5f, 0.0f, -84.1f }, + { -31.5f, 0.0f, -82.9f }, + { -58.9f, 0.0f, -71.4f }, + { -86.3f, 0.0f, -49.4f }, + { -91.5f, 0.0f, -36.4f }, + { -91.5f, 0.0f, -27.3f }, + { -82.1f, 0.0f, -29.8f }, + { -54.7f, 0.0f, -36.2f }, + { -21.9f, 0.0f, -30.9f }, + { 13.3f, 0.0f, -10.2f }, + { 28.3f, 0.0f, 18.3f }, + { 33.4f, 0.0f, 58.4f }, + { 28.0f, 0.0f, 81.6f }, + { 20.7f, 0.0f, 93.3f }, + { 30.4f, 0.0f, 93.3f }, + { 55.4f, 0.0f, 82.2f }, + { 70.4f, 0.0f, 59.3f } +}; -static s32 lbl_1_data_A58[] - = { DATA_MAKE_NUM(DATADIR_M403, 4), DATA_MAKE_NUM(DATADIR_M403, 5), DATA_MAKE_NUM(DATADIR_M403, 6), DATA_MAKE_NUM(DATADIR_M403, 9), - DATA_MAKE_NUM(DATADIR_M403, 12), DATA_MAKE_NUM(DATADIR_M403, 15), DATA_MAKE_NUM(DATADIR_M403, 7), DATA_MAKE_NUM(DATADIR_M403, 8), - DATA_MAKE_NUM(DATADIR_M403, 10), DATA_MAKE_NUM(DATADIR_M403, 11), DATA_MAKE_NUM(DATADIR_M403, 13), DATA_MAKE_NUM(DATADIR_M403, 14) }; +static s32 lbl_1_data_A58[] = { + DATA_MAKE_NUM(DATADIR_M403, 4), + DATA_MAKE_NUM(DATADIR_M403, 5), + DATA_MAKE_NUM(DATADIR_M403, 6), + DATA_MAKE_NUM(DATADIR_M403, 9), + DATA_MAKE_NUM(DATADIR_M403, 12), + DATA_MAKE_NUM(DATADIR_M403, 15), + DATA_MAKE_NUM(DATADIR_M403, 7), + DATA_MAKE_NUM(DATADIR_M403, 8), + DATA_MAKE_NUM(DATADIR_M403, 10), + DATA_MAKE_NUM(DATADIR_M403, 11), + DATA_MAKE_NUM(DATADIR_M403, 13), + DATA_MAKE_NUM(DATADIR_M403, 14) +}; -static Vec lbl_1_data_A88[] = { { -400.0f, 0.0f, 300.0f }, { 0.0f, 0.0f, 300.0f }, { 400.0f, 0.0f, 300.0f }, { -400.0f, 0.0f, 700.0f }, - { 0.0f, 0.0f, 700.0f }, { 400.0f, 0.0f, 700.0f } }; +static Vec lbl_1_data_A88[] = { + { -400.0f, 0.0f, 300.0f }, + { 0.0f, 0.0f, 300.0f }, + { 400.0f, 0.0f, 300.0f }, + { -400.0f, 0.0f, 700.0f }, + { 0.0f, 0.0f, 700.0f }, + { 400.0f, 0.0f, 700.0f } +}; static s32 lbl_1_data_AD0[] = { 6, 8, 10 }; static s32 lbl_1_data_ADC[] = { 7, 9, 11 }; static s32 lbl_1_data_AE8[] = { 1, 2, 3, 4, 5 }; -static Vec *lbl_1_data_AFC[] = { lbl_1_data_3C8, lbl_1_data_158, lbl_1_data_548, lbl_1_data_2D8, lbl_1_data_638, lbl_1_data_848 }; +static Vec *lbl_1_data_AFC[] = { + lbl_1_data_3C8, + lbl_1_data_158, + lbl_1_data_548, + lbl_1_data_2D8, + lbl_1_data_638, + lbl_1_data_848 +}; -static s32 lbl_1_data_B14[] = { 16, 16, 10, 10, 22, 22 }; +static s32 lbl_1_data_B14[] = { + 16, 16, 10, 10, 22, 22 +}; -static Vec lbl_1_data_B2C[] = { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, -20.0f }, { 0.0f, 0.0f, -20.0f }, { 40.0f, 0.0f, -20.0f }, - { 40.0f, 0.0f, -20.0f } }; +static Vec lbl_1_data_B2C[] = { + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, -20.0f }, + { 0.0f, 0.0f, -20.0f }, + { 40.0f, 0.0f, -20.0f }, + { 40.0f, 0.0f, -20.0f } +}; -static Vec *lbl_1_data_B74[][2] = { { lbl_1_data_3C8, lbl_1_data_488 }, { lbl_1_data_158, lbl_1_data_218 }, { lbl_1_data_548, lbl_1_data_5C0 }, - { lbl_1_data_2D8, lbl_1_data_350 }, { lbl_1_data_638, lbl_1_data_740 }, { lbl_1_data_848, lbl_1_data_950 } }; +static Vec *lbl_1_data_B74[][2] = { + { lbl_1_data_3C8, lbl_1_data_488 }, + { lbl_1_data_158, lbl_1_data_218 }, + { lbl_1_data_548, lbl_1_data_5C0 }, + { lbl_1_data_2D8, lbl_1_data_350 }, + { lbl_1_data_638, lbl_1_data_740 }, + { lbl_1_data_848, lbl_1_data_950 } +}; -static s32 lbl_1_data_BA4[] = { 16, 16, 10, 10, 22, 22 }; +static s32 lbl_1_data_BA4[] = { + 16, 16, 10, 10, 22, 22 +}; -void fn_1_650C(Process *arg0) -{ +void fn_1_650C(Process *arg0) { Vec sp20; Vec sp14; Vec sp8; @@ -173,23 +379,21 @@ void fn_1_650C(Process *arg0) memset(lbl_1_bss_58, 0, sizeof(lbl_1_bss_58)); } -void fn_1_676C(void) -{ +void fn_1_676C(void) { fn_1_799C(); } -static void fn_1_678C(omObjData *arg0) -{ +static void fn_1_678C(omObjData *arg0) { arg0->stat |= 0x100; arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M403, 16)); arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M403, 17)); arg0->func = fn_1_6810; } -static void fn_1_6810(omObjData *arg0) { } +static void fn_1_6810(omObjData *arg0) { +} -static void fn_1_6814(omObjData *arg0) -{ +static void fn_1_6814(omObjData *arg0) { arg0->stat |= 0x100; arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M403, 0)); arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M403, 3)); @@ -204,8 +408,7 @@ static void fn_1_6814(omObjData *arg0) arg0->func = fn_1_6980; } -static void fn_1_6980(omObjData *arg0) -{ +static void fn_1_6980(omObjData *arg0) { ModelData *var_r30; UnkBss9CData *var_r29; @@ -215,18 +418,15 @@ static void fn_1_6980(omObjData *arg0) arg0->work[0]++; var_r30 = &Hu3DData[arg0->model[1]]; var_r30->rot.x = -120.0f * arg0->work[0] / 60.0f; - } - else { + } else { lbl_1_bss_78 ^= 1; lbl_1_bss_7C = 0; } - } - else if (arg0->work[0] != 0) { + } else if (arg0->work[0] != 0) { arg0->work[0]--; var_r30 = &Hu3DData[arg0->model[1]]; var_r30->rot.x = -120.0f * arg0->work[0] / 60.0f; - } - else { + } else { lbl_1_bss_78 ^= 1; lbl_1_bss_7C = 0; } @@ -252,8 +452,7 @@ static void fn_1_6980(omObjData *arg0) } } -static void fn_1_6C98(omObjData *arg0) -{ +static void fn_1_6C98(omObjData *arg0) { UnkBss9CData *var_r29; s32 i; @@ -265,10 +464,10 @@ static void fn_1_6C98(omObjData *arg0) } for (i = 0; i < 12U; i++) { var_r29->unk24[i] = Hu3DModelCreateFile(lbl_1_data_A58[i]); - Hu3DModelAttrSet(var_r29->unk24[i], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r29->unk24[i], 1); } arg0->model[0] = var_r29->unk24[0]; - Hu3DModelAttrReset(arg0->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->model[0], 1); var_r29->unk00_field0 = 0; var_r29->unk04 = 4 - lbl_1_bss_98; fn_1_6FE8(arg0); @@ -301,25 +500,23 @@ static void fn_1_6C98(omObjData *arg0) arg0->func = fn_1_73E8; } -static void fn_1_6ED8(omObjData *arg0) -{ +static void fn_1_6ED8(omObjData *arg0) { Mtx sp38; Mtx sp8; s32 i; - MTXTrans(sp38, arg0->trans.x, arg0->trans.y, arg0->trans.z); + PSMTXTrans(sp38, arg0->trans.x, arg0->trans.y, arg0->trans.z); mtxRot(sp8, arg0->rot.x, arg0->rot.y, arg0->rot.z); - MTXConcat(sp38, sp8, sp38); + PSMTXConcat(sp38, sp8, sp38); for (i = 0; i < 6; i++) { - MTXTrans(sp8, lbl_1_data_A88[i].x, lbl_1_data_A88[i].y, lbl_1_data_A88[i].z); - MTXConcat(sp38, sp8, sp8); + PSMTXTrans(sp8, lbl_1_data_A88[i].x, lbl_1_data_A88[i].y, lbl_1_data_A88[i].z); + PSMTXConcat(sp38, sp8, sp8); Hu3DModelPosSet(arg0->model[i + 1], sp8[0][3], sp8[1][3], sp8[2][3]); Hu3DModelRotSet(arg0->model[i + 1], arg0->rot.x, arg0->rot.y, arg0->rot.z); } } -static void fn_1_6FE8(omObjData *arg0) -{ +static void fn_1_6FE8(omObjData *arg0) { UnkBss9CData *temp_r30; s32 temp_r29; s32 temp_r28; @@ -378,17 +575,16 @@ static void fn_1_6FE8(omObjData *arg0) memcpy(lbl_1_bss_58, &temp_r30->unk0C, sizeof(temp_r30->unk0C)); for (i = 0; i < 6; i++) { if (arg0->model[i + 1] >= 0) { - Hu3DModelAttrSet(arg0->model[i + 1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->model[i + 1], 1); } } for (i = 0; i < 6; i++) { arg0->model[i + 1] = temp_r30->unk24[temp_r30->unk0C[i]]; - Hu3DModelAttrReset(arg0->model[i + 1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->model[i + 1], 1); } } -static void fn_1_73E8(omObjData *arg0) -{ +static void fn_1_73E8(omObjData *arg0) { UnkBss9CData *temp_r30; ModelData *var_r27; s32 i; @@ -409,12 +605,10 @@ static void fn_1_73E8(omObjData *arg0) arg0->trans.z = -500.0f + 7.5f * lbl_1_bss_B0->work[0] / 60.0f; break; } - } - else { + } else { return; } - } - else { + } else { switch (temp_r30->unk04) { case 0: if (lbl_1_bss_84 != 0) { @@ -441,8 +635,7 @@ static void fn_1_73E8(omObjData *arg0) Hu3DModelShadowReset(arg0->model[i]); Hu3DModelShadowMapSet(arg0->model[i]); } - } - else { + } else { temp_r30->unk08 += lbl_1_bss_80; if (temp_r30->unk08 > 90.0f) { temp_r30->unk00_field0 = 1; @@ -476,9 +669,8 @@ static void fn_1_73E8(omObjData *arg0) fn_1_6ED8(arg0); } -static void fn_1_799C(void) -{ - omObjData *temp_r30; +static void fn_1_799C(void) { + omObjData* temp_r30; UnkBss9CData *temp_r29; s32 i; s32 j; @@ -501,8 +693,7 @@ static void fn_1_799C(void) } } -static void fn_1_7A98(s16 arg0) -{ +static void fn_1_7A98(s16 arg0) { s16 i; HsfData *temp_r31; HsfObject *var_r28; @@ -520,8 +711,7 @@ static void fn_1_7A98(s16 arg0) } } -static s32 fn_1_7B20(float arg0, float arg1) -{ +static s32 fn_1_7B20(float arg0, float arg1) { s32 var_r31; s32 var_r30; @@ -529,44 +719,37 @@ static s32 fn_1_7B20(float arg0, float arg1) var_r30 = (arg1 + 400.0f) / 400.0f; if (var_r31 < 0) { var_r31 = 0; - } - else if (var_r31 > 2) { + } else if (var_r31 > 2) { var_r31 = 2; } if (var_r30 < 0) { var_r30 = 0; - } - else if (var_r30 > 1) { + } else if (var_r30 > 1) { var_r30 = 1; } return var_r31 + var_r30 * 3; } -static void fn_1_7BD4(s32 arg0, Vec *arg1) -{ +static void fn_1_7BD4(s32 arg0, Vec *arg1) { arg1->x = lbl_1_data_A88[arg0].x; arg1->y = lbl_1_data_A88[arg0].y; arg1->z = lbl_1_data_A88[arg0].z; } -static s32 fn_1_7C20(UnkBss9CData *arg0, s32 arg1) -{ +static s32 fn_1_7C20(UnkBss9CData *arg0, s32 arg1) { return arg0->unk0C[arg1]; } -void fn_1_7C30(float arg0) -{ +void fn_1_7C30(float arg0) { lbl_1_bss_8C = 1; lbl_1_bss_80 = arg0; } -void fn_1_7C50(s32 arg0) -{ +void fn_1_7C50(s32 arg0) { lbl_1_bss_74 = arg0; } -void fn_1_7C60(void) -{ +void fn_1_7C60(void) { float var_f30; lbl_1_bss_7C = 1; @@ -575,8 +758,7 @@ void fn_1_7C60(void) HuAudFXPlay(0x524); } -static s32 fn_1_7D04(float arg0, float arg1, Vec *arg2) -{ +static s32 fn_1_7D04(float arg0, float arg1, Vec *arg2) { Mtx sp4C; Mtx sp1C; Vec sp10; @@ -598,16 +780,16 @@ static s32 fn_1_7D04(float arg0, float arg1, Vec *arg2) temp_r28 -= 6; fn_1_7BD4(temp_r21, &sp10); sp10 = lbl_1_data_A88[temp_r21]; - MTXTrans(sp4C, temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z); + PSMTXTrans(sp4C, temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z); mtxRot(sp1C, temp_r31->rot.x, temp_r31->rot.y, temp_r31->rot.z); - MTXConcat(sp4C, sp1C, sp4C); - MTXTrans(sp1C, sp10.x, sp10.y, sp10.z); - MTXConcat(sp4C, sp1C, sp4C); + PSMTXConcat(sp4C, sp1C, sp4C); + PSMTXTrans(sp1C, sp10.x, sp10.y, sp10.z); + PSMTXConcat(sp4C, sp1C, sp4C); var_r30 = lbl_1_data_AFC[temp_r28]; temp_r23 = lbl_1_data_B14[temp_r28]; for (i = 0; i < temp_r23; i++) { - MTXTrans(sp1C, var_r30->x, var_r30->y, var_r30->z); - MTXConcat(sp4C, sp1C, sp1C); + PSMTXTrans(sp1C, var_r30->x, var_r30->y, var_r30->z); + PSMTXConcat(sp4C, sp1C, sp1C); arg2->x = sp1C[0][3]; arg2->y = sp1C[1][3]; arg2->z = sp1C[2][3]; @@ -617,8 +799,7 @@ static s32 fn_1_7D04(float arg0, float arg1, Vec *arg2) return temp_r23; } -float fn_1_7F78(float arg0, float arg1) -{ +float fn_1_7F78(float arg0, float arg1) { float temp_f30; float var_f31; omObjData *temp_r31; @@ -627,8 +808,7 @@ float fn_1_7F78(float arg0, float arg1) temp_f30 = -(arg1 - temp_r31->trans.z); if (cosd(temp_r31->rot.x) <= 0.0) { var_f31 = 9999.0f; - } - else { + } else { var_f31 = temp_f30 * sind(temp_r31->rot.x) / cosd(temp_r31->rot.x); if (var_f31 > 9999.0f) { var_f31 = 9999.0f; @@ -637,23 +817,19 @@ float fn_1_7F78(float arg0, float arg1) return var_f31; } -float fn_1_80D4(Vec *arg0, float arg1) -{ +float fn_1_80D4(Vec *arg0, float arg1) { return fn_1_7F78(0.0f, arg0->z - arg1); } -static s32 fn_1_8254(void) -{ +static s32 fn_1_8254(void) { return lbl_1_bss_7C; } -s32 fn_1_8264(void) -{ +s32 fn_1_8264(void) { return lbl_1_bss_88; } -static s32 fn_1_8274(UnkBss9CData *arg0, s32 *arg1) -{ +static s32 fn_1_8274(UnkBss9CData *arg0, s32 *arg1) { s32 var_r30; s32 i; @@ -666,8 +842,7 @@ static s32 fn_1_8274(UnkBss9CData *arg0, s32 *arg1) return var_r30; } -s32 fn_1_82D0(Vec *arg0) -{ +s32 fn_1_82D0(Vec *arg0) { omObjData *temp_r31; UnkBss9CData *temp_r28; s32 sp8[6]; @@ -689,11 +864,10 @@ s32 fn_1_82D0(Vec *arg0) return var_r26; } -s32 fn_1_8470(Vec *arg0) -{ +s32 fn_1_8470(Vec *arg0) { Mtx sp50; Mtx sp20; - omObjData *temp_r30; + omObjData* temp_r30; UnkBss9CData *temp_r27; s32 sp8[6]; s32 temp_r26; @@ -703,17 +877,17 @@ s32 fn_1_8470(Vec *arg0) temp_r30 = lbl_1_bss_9C[lbl_1_bss_94]; temp_r27 = temp_r30->data; var_r25 = fn_1_8274(temp_r27, sp8); - MTXTrans(sp50, temp_r30->trans.x, temp_r30->trans.y, temp_r30->trans.z); + PSMTXTrans(sp50, temp_r30->trans.x, temp_r30->trans.y, temp_r30->trans.z); mtxRot(sp20, temp_r30->rot.x, temp_r30->rot.y, temp_r30->rot.z); - MTXConcat(sp50, sp20, sp50); + PSMTXConcat(sp50, sp20, sp50); for (i = 0; i < var_r25; i++) { fn_1_7BD4(sp8[i], arg0); temp_r26 = fn_1_7C20(temp_r27, sp8[i]) - 6; arg0->x += lbl_1_data_B2C[temp_r26].x; arg0->y += lbl_1_data_B2C[temp_r26].y; arg0->z += lbl_1_data_B2C[temp_r26].z; - MTXTrans(sp20, arg0->x, arg0->y, arg0->z); - MTXConcat(sp50, sp20, sp20); + PSMTXTrans(sp20, arg0->x, arg0->y, arg0->z); + PSMTXConcat(sp50, sp20, sp20); arg0->x = sp20[0][3]; arg0->y = sp20[1][3]; arg0->z = sp20[2][3]; @@ -722,16 +896,14 @@ s32 fn_1_8470(Vec *arg0) return var_r25; } -void fn_1_8670(s32 arg0) -{ +void fn_1_8670(s32 arg0) { if (arg0 > lbl_1_bss_74) { arg0 = lbl_1_bss_74; } lbl_1_bss_70 = arg0; } -s32 fn_1_86A0(Vec *arg0, Vec *arg1) -{ +s32 fn_1_86A0(Vec *arg0, Vec *arg1) { Vec sp48; Vec sp3C; Vec sp30; @@ -760,7 +932,7 @@ s32 fn_1_86A0(Vec *arg0, Vec *arg1) if (temp_r28->rot.x > 0.0f || temp_r28->rot.x <= -90.0f) { return 0; } - VECSubtract(arg0, &temp_r28->trans, &sp3C); + PSVECSubtract(arg0, &temp_r28->trans, &sp3C); sp3C.z /= cosd(temp_r28->rot.x); temp_r17 = fn_1_7B20(arg0->x, arg0->z); temp_r24 = fn_1_7C20(temp_r18, temp_r17); @@ -769,66 +941,61 @@ s32 fn_1_86A0(Vec *arg0, Vec *arg1) } temp_r24 -= 6; sp48 = lbl_1_data_A88[temp_r17]; - VECSubtract(&sp3C, &sp48, &sp3C); + PSVECSubtract(&sp3C, &sp48, &sp3C); temp_r30 = lbl_1_data_B74[temp_r24][0]; temp_r29 = lbl_1_data_B74[temp_r24][1]; temp_r21 = lbl_1_data_BA4[temp_r24]; for (i = 0; i < temp_r21; i++) { temp_r27 = (i + 1) % temp_r21; - VECSubtract(&temp_r30[temp_r27], &temp_r30[i], &sp24); - VECSubtract(&sp3C, &temp_r30[temp_r27], &sp18); - VECCrossProduct(&sp24, &sp18, &spC); + PSVECSubtract(&temp_r30[temp_r27], &temp_r30[i], &sp24); + PSVECSubtract(&sp3C, &temp_r30[temp_r27], &sp18); + PSVECCrossProduct(&sp24, &sp18, &spC); if (spC.y < 0.0f) { continue; } - VECSubtract(&temp_r29[temp_r27], &temp_r30[temp_r27], &sp24); - VECSubtract(&sp3C, &temp_r29[temp_r27], &sp18); - VECCrossProduct(&sp24, &sp18, &spC); + PSVECSubtract(&temp_r29[temp_r27], &temp_r30[temp_r27], &sp24); + PSVECSubtract(&sp3C, &temp_r29[temp_r27], &sp18); + PSVECCrossProduct(&sp24, &sp18, &spC); if (spC.y < 0.0f) { continue; } - VECSubtract(&temp_r29[i], &temp_r29[temp_r27], &sp24); - VECSubtract(&sp3C, &temp_r29[i], &sp18); - VECCrossProduct(&sp24, &sp18, &spC); + PSVECSubtract(&temp_r29[i], &temp_r29[temp_r27], &sp24); + PSVECSubtract(&sp3C, &temp_r29[i], &sp18); + PSVECCrossProduct(&sp24, &sp18, &spC); if (spC.y < 0.0f) { continue; } - VECSubtract(&temp_r30[i], &temp_r29[i], &sp24); - VECSubtract(&sp3C, &temp_r30[i], &sp18); - VECCrossProduct(&sp24, &sp18, &spC); + PSVECSubtract(&temp_r30[i], &temp_r29[i], &sp24); + PSVECSubtract(&sp3C, &temp_r30[i], &sp18); + PSVECCrossProduct(&sp24, &sp18, &spC); if (spC.y < 0.0f) { continue; } - VECSubtract(&temp_r30[temp_r27], &temp_r30[i], &sp24); - temp_f30 = (sp3C.x * sp24.x - sp24.x * temp_r30[i].x + sp3C.y * sp24.y - sp24.y * temp_r30[i].y + sp3C.z * sp24.z - sp24.z * temp_r30[i].z) - / (sp24.x * sp24.x + sp24.y * sp24.y + sp24.z * sp24.z); + PSVECSubtract(&temp_r30[temp_r27], &temp_r30[i], &sp24); + temp_f30 = (sp3C.x * sp24.x - sp24.x * temp_r30[i].x + sp3C.y * sp24.y - sp24.y * temp_r30[i].y + sp3C.z * sp24.z - sp24.z * temp_r30[i].z) / (sp24.x * sp24.x + sp24.y * sp24.y + sp24.z * sp24.z); sp30.x = temp_r30[i].x + temp_f30 * sp24.x; sp30.y = temp_r30[i].y + temp_f30 * sp24.y; sp30.z = temp_r30[i].z + temp_f30 * sp24.z; - VECSubtract(&sp30, &sp3C, &spC); - temp_f28 = VECMag(&spC); - VECSubtract(&temp_r29[temp_r27], &temp_r29[i], &sp18); - temp_f29 = (sp3C.x * sp18.x - sp18.x * temp_r29[i].x + sp3C.y * sp18.y - sp18.y * temp_r29[i].y + sp3C.z * sp18.z - sp18.z * temp_r29[i].z) - / (sp18.x * sp18.x + sp18.y * sp18.y + sp18.z * sp18.z); + PSVECSubtract(&sp30, &sp3C, &spC); + temp_f28 = PSVECMag(&spC); + PSVECSubtract(&temp_r29[temp_r27], &temp_r29[i], &sp18); + temp_f29 = (sp3C.x * sp18.x - sp18.x * temp_r29[i].x + sp3C.y * sp18.y - sp18.y * temp_r29[i].y + sp3C.z * sp18.z - sp18.z * temp_r29[i].z) / (sp18.x * sp18.x + sp18.y * sp18.y + sp18.z * sp18.z); sp30.x = temp_r29[i].x + temp_f29 * sp18.x; sp30.y = temp_r29[i].y + temp_f29 * sp18.y; sp30.z = temp_r29[i].z + temp_f29 * sp18.z; - VECSubtract(&sp30, &sp3C, &spC); - temp_f27 = VECMag(&spC); + PSVECSubtract(&sp30, &sp3C, &spC); + temp_f27 = PSVECMag(&spC); if (temp_f28 == 0.0f) { var_f31 = temp_f30; - } - else if (temp_f27 == 0.0f) { + } else if (temp_f27 == 0.0f) { var_f31 = temp_f29; - } - else { + } else { temp_f26 = 1.0f - temp_f28 / (temp_f28 + temp_f27); var_f31 = temp_f30 * temp_f26 + temp_f29 * (1.0f - temp_f26); } if (var_f31 < 0.0f) { var_f31 = 0.0f; - } - else if (var_f31 > 1.0f) { + } else if (var_f31 > 1.0f) { var_f31 = 1.0f; } sp3C.x = temp_r29[i].x + var_f31 * sp18.x; diff --git a/src/REL/m404Dll/main.c b/src/REL/m404Dll/main.c index ba9e9ca0..1a79708d 100644 --- a/src/REL/m404Dll/main.c +++ b/src/REL/m404Dll/main.c @@ -10,14 +10,8 @@ #include "game/pad.h" #include "game/sprite.h" #include "game/wipe.h" - +#include "rel_sqrt_consts.h" #include "string.h" -#include "version.h" - -#ifndef __MWERKS__ -#include "game/audio.h" -#include "game/esprite.h" -#endif typedef struct UnkM404Struct { s16 unk_00; @@ -256,7 +250,7 @@ void ObjectSetup(void) lbl_1_bss_10.x = lbl_1_data_77C.x - lbl_1_data_770.x; lbl_1_bss_10.y = lbl_1_data_77C.y - lbl_1_data_770.y; lbl_1_bss_10.z = lbl_1_data_77C.z - lbl_1_data_770.z; - VECNormalize(&lbl_1_bss_10, &lbl_1_bss_10); + PSVECNormalize(&lbl_1_bss_10, &lbl_1_bss_10); var_r29 = Hu3DGLightCreateV(&lbl_1_data_770, &lbl_1_bss_10, &lbl_1_data_788); Hu3DGLightInfinitytSet(var_r29); Hu3DGLightStaticSet(var_r29, 1); @@ -287,7 +281,7 @@ s32 fn_1_38C(void) void fn_1_39C(omObjData *object) { fn_1_37C(0); - lbl_1_bss_24 = REFRESH_RATE; + lbl_1_bss_24 = 60; WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); object->func = fn_1_400; } @@ -295,86 +289,85 @@ void fn_1_39C(omObjData *object) void fn_1_400(omObjData *object) { switch (fn_1_38C()) { - case 0: - if (--lbl_1_bss_24) { - break; - } - fn_1_37C(1); - lbl_1_bss_24 = 3 * REFRESH_RATE; + case 0: + if (--lbl_1_bss_24) { break; - case 1: - if (--lbl_1_bss_24) { - break; - } - fn_1_37C(2); - lbl_1_bss_C = MGSeqCreate(3, 0); + } + fn_1_37C(1); + lbl_1_bss_24 = 180; + break; + case 1: + if (--lbl_1_bss_24) { break; - case 2: - if (!MGSeqStatGet(lbl_1_bss_C)) { - fn_1_37C(3); - } - if (lbl_1_data_7C8 >= 0) { - break; - } - if (!(MGSeqStatGet(lbl_1_bss_C) & 16)) { - break; - } - lbl_1_data_7C8 = HuAudSeqPlay(69); + } + fn_1_37C(2); + lbl_1_bss_C = MGSeqCreate(3, 0); + break; + case 2: + if (!MGSeqStatGet(lbl_1_bss_C)) { + fn_1_37C(3); + } + if (lbl_1_data_7C8 >= 0) { break; - case 3: - if (!fn_1_E48()) { - break; - } - fn_1_37C(4); - lbl_1_bss_C = MGSeqCreate(3, 1); - HuAudSeqFadeOut(lbl_1_data_7C8, 100); + } + if (!(MGSeqStatGet(lbl_1_bss_C) & 16)) { break; - case 4: - if (!MGSeqStatGet(lbl_1_bss_C)) { - fn_1_37C(5); - WipeColorSet(255, 255, 255); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, REFRESH_RATE / 2); - lbl_1_bss_24 = REFRESH_RATE; - } - case 5: - if (--lbl_1_bss_24) { - break; - } - fn_1_37C(6); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, REFRESH_RATE); + } + lbl_1_data_7C8 = HuAudSeqPlay(69); + break; + case 3: + if (!fn_1_E48()) { break; - case 6: - if (WipeStatGet()) { - break; - } - fn_1_37C(7); - lbl_1_bss_24 = 3 * REFRESH_RATE; + } + fn_1_37C(4); + lbl_1_bss_C = MGSeqCreate(3, 1); + HuAudSeqFadeOut(lbl_1_data_7C8, 100); + break; + case 4: + if (!MGSeqStatGet(lbl_1_bss_C)) { + fn_1_37C(5); + WipeColorSet(255, 255, 255); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + lbl_1_bss_24 = 60; + } + case 5: + if (--lbl_1_bss_24) { break; - case 7: - if (--lbl_1_bss_24) { - break; - } - fn_1_37C(9); - fn_1_1160(); - if (lbl_1_bss_38[0] >= 0) { - HuAudSStreamPlay(1); - } - else { - HuAudSStreamPlay(4); - } - lbl_1_bss_24 = 3.5 * REFRESH_RATE; + } + fn_1_37C(6); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + break; + case 6: + if (WipeStatGet()) { break; - case 8: + } + fn_1_37C(7); + lbl_1_bss_24 = 180; + break; + case 7: + if (--lbl_1_bss_24) { break; - case 9: - if (--lbl_1_bss_24) { - break; - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_784; - break; - default: + } + fn_1_37C(9); + fn_1_1160(); + if (lbl_1_bss_38[0] >= 0) { + HuAudSStreamPlay(1); + } else { + HuAudSStreamPlay(4); + } + lbl_1_bss_24 = 210; + break; + case 8: + break; + case 9: + if (--lbl_1_bss_24) { break; + } + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + object->func = fn_1_784; + break; + default: + break; } if (omSysExitReq && !WipeStatGet()) { WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); @@ -400,37 +393,14 @@ float lbl_1_data_81C[][2] = { { 0.0f, 0.0f }, { 0.0f, 0.0f }, { -46.0f, -2.0f }, float lbl_1_data_84C[][2] = { { 472.0f, 128.0f }, { 472.0f, 208.0f }, { 472.0f, 288.0f }, { 472.0f, 368.0f } }; -s32 lbl_1_data_86C[] = { - DATA_MAKE_NUM(DATADIR_MGCONST, 0x00), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x01), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x02), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x03), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x04), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x05), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x06), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x07), -}; +s32 lbl_1_data_86C[] = { 0x00610000, 0x00610001, 0x00610002, 0x00610003, 0x00610004, 0x00610005, 0x00610006, 0x00610007 }; s32 lbl_1_data_88C = 0xFFFFFFFF; -u32 lbl_1_data_890[][2] = { - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), 0x00000000 }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02), 0x00000000 }, - { DATA_MAKE_NUM(DATADIR_M404, 0x22), 0x00000001 }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), 0x00000000 }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18), 0x00000000 }, -}; +u32 lbl_1_data_890[][2] + = { { 0x005F0000, 0x00000000 }, { 0x005F0002, 0x00000000 }, { 0x00230022, 0x00000001 }, { 0x005F0017, 0x00000000 }, { 0x005F0018, 0x00000000 } }; -s32 lbl_1_data_8B8[] = { - DATA_MAKE_NUM(DATADIR_M404, 0x01), - DATA_MAKE_NUM(DATADIR_M404, 0x02), - DATA_MAKE_NUM(DATADIR_M404, 0x03), - DATA_MAKE_NUM(DATADIR_M404, 0x04), - DATA_MAKE_NUM(DATADIR_M404, 0x05), - DATA_MAKE_NUM(DATADIR_M404, 0x06), - DATA_MAKE_NUM(DATADIR_M404, 0x07), - DATA_MAKE_NUM(DATADIR_M404, 0x08), -}; +s32 lbl_1_data_8B8[] = { 0x00230001, 0x00230002, 0x00230003, 0x00230004, 0x00230005, 0x00230006, 0x00230007, 0x00230008 }; float lbl_1_data_8D8[] = { 35.0f, 30.000002f, 25.0f, 20.0f }; @@ -438,11 +408,7 @@ float (*lbl_1_data_8E8[])[2] = { lbl_1_data_0, lbl_1_data_248, lbl_1_data_4A8 }; u16 lbl_1_data_8F4[] = { 73, 76, 82, 0 }; -s32 lbl_1_data_8FC[][2] = { - { DATA_MAKE_NUM(DATADIR_M404, 0x13), DATA_MAKE_NUM(DATADIR_M404, 0x14) }, - { DATA_MAKE_NUM(DATADIR_M404, 0x15), DATA_MAKE_NUM(DATADIR_M404, 0x16) }, - { DATA_MAKE_NUM(DATADIR_M404, 0x17), DATA_MAKE_NUM(DATADIR_M404, 0x18) }, -}; +s32 lbl_1_data_8FC[][2] = { { 0x00230013, 0x00230014 }, { 0x00230015, 0x00230016 }, { 0x00230017, 0x00230018 } }; void fn_1_7E0(omObjData *object) { @@ -460,30 +426,30 @@ void fn_1_7E0(omObjData *object) for (var_r29 = 0; var_r29 < 4; var_r31++, var_r29++) { for (var_r27 = var_r26[var_r29]->data, var_r30 = 0; var_r30 < 6; var_r30++) { switch (lbl_1_data_810[var_r30]) { - case 0: - var_r31->unk_02[var_r30] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x14), 1, 0); - espPriSet(var_r31->unk_02[var_r30], 256); - break; - case 1: - var_r31->unk_02[var_r30] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x15), 0, 0); - espPriSet(var_r31->unk_02[var_r30], 257); - espColorSet(var_r31->unk_02[var_r30], 0, 0, 0); - espTPLvlSet(var_r31->unk_02[var_r30], 0.5f); - break; - case 2: - var_r31->unk_02[var_r30] = espEntry(lbl_1_data_86C[var_r27->unk_02[5]]); - espPriSet(var_r31->unk_02[var_r30], 255); - break; - case 3: - var_r31->unk_02[var_r30] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x33), 1, 0); - espPriSet(var_r31->unk_02[var_r30], 255); - break; - default: - break; + case 0: + var_r31->unk_02[var_r30] = espEntry(0x610014, 1, 0); + espPriSet(var_r31->unk_02[var_r30], 256); + break; + case 1: + var_r31->unk_02[var_r30] = espEntry(0x610015, 0, 0); + espPriSet(var_r31->unk_02[var_r30], 257); + espColorSet(var_r31->unk_02[var_r30], 0, 0, 0); + espTPLvlSet(var_r31->unk_02[var_r30], 0.5f); + break; + case 2: + var_r31->unk_02[var_r30] = espEntry(lbl_1_data_86C[var_r27->unk_02[5]]); + espPriSet(var_r31->unk_02[var_r30], 255); + break; + case 3: + var_r31->unk_02[var_r30] = espEntry(0x610033, 1, 0); + espPriSet(var_r31->unk_02[var_r30], 255); + break; + default: + break; } espDispOff(var_r31->unk_02[var_r30]); espDrawNoSet(var_r31->unk_02[var_r30], 0); - espAttrSet(var_r31->unk_02[var_r30], HUSPR_ATTR_NOANIM); + espAttrSet(var_r31->unk_02[var_r30], 1); espPosSet(var_r31->unk_02[var_r30], lbl_1_data_84C[var_r29][0] + lbl_1_data_81C[var_r30][0], lbl_1_data_84C[var_r29][1] + lbl_1_data_81C[var_r30][1]); } @@ -503,30 +469,30 @@ void fn_1_A9C(omObjData *object) var_r30 = object->data; switch (fn_1_38C()) { - case 6: - for (var_r31 = 0; var_r31 < 4; var_r31++) { - for (var_r29 = 0; var_r29 < 6; var_r29++) { - espDispOn(var_r30[var_r31].unk_02[var_r29]); - } + case 6: + for (var_r31 = 0; var_r31 < 4; var_r31++) { + for (var_r29 = 0; var_r29 < 6; var_r29++) { + espDispOn(var_r30[var_r31].unk_02[var_r29]); } - break; - case 7: - var_r27 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - for (var_r29 = 0, var_r31 = 0; var_r31 < 4; var_r31++) { - var_r28 = var_r27[var_r31]->data; - var_r30[var_r31].unk_00 = var_r28->unk_58; - if (var_r28->unk_00_field1) { - var_r29++; - } + } + break; + case 7: + var_r27 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + for (var_r29 = 0, var_r31 = 0; var_r31 < 4; var_r31++) { + var_r28 = var_r27[var_r31]->data; + var_r30[var_r31].unk_00 = var_r28->unk_58; + if (var_r28->unk_00_field1) { + var_r29++; } - if ((var_r29 >= 4) && (lbl_1_bss_0 == 0)) { - HuAudFXPlay(1325); - lbl_1_bss_0 = 1; - } - if ((lbl_1_bss_0 == 0) && (lbl_1_data_88C < 0)) { - lbl_1_data_88C = HuAudFXPlay(1324); - } - break; + } + if ((var_r29 >= 4) && (lbl_1_bss_0 == 0)) { + HuAudFXPlay(1325); + lbl_1_bss_0 = 1; + } + if ((lbl_1_bss_0 == 0) && (lbl_1_data_88C < 0)) { + lbl_1_data_88C = HuAudFXPlay(1324); + } + break; } for (var_r31 = 0; var_r31 < 4; var_r31++) { espBankSet(var_r30[var_r31].unk_02[3], var_r30[var_r31].unk_00 / 100); @@ -703,26 +669,25 @@ void fn_1_1344(omObjData *object) memset(var_r31, 0, 484); var_r31->unk_02 = lbl_1_bss_20++; var_r31->unk_04 = GWPlayerCfg[var_r31->unk_02].pad_idx; - + var_r31->unk_0C = var_r24 = GWPlayerCfg[var_r31->unk_02].character; var_r31->unk_0E = GWPlayerCfg[var_r31->unk_02].diff; var_r31->unk_10 = GWPlayerCfg[var_r31->unk_02].group; object->model[0] = CharModelCreate(var_r24, 2); Hu3DModelShadowSet(object->model[0]); - object->model[1] = Hu3DModelCreateFile(lbl_1_data_8B8[var_r24]); + object->model[1] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_8B8[var_r24], MEMORY_DEFAULT_NUM, HEAP_DATA)); Hu3DModelHookSet(object->model[0], "test11_tex_we-itemhook-r", object->model[1]); var_r31->unk_2C = 0; for (var_r29 = 0; var_r29 < (u32)5; var_r29++) { if (!lbl_1_data_890[var_r29][1]) { object->motion[var_r29] = CharModelMotionCreate(var_r31->unk_0C, lbl_1_data_890[var_r29][0]); - } - else { + } else { object->motion[var_r29] = CharModelMotionCreate(var_r31->unk_0C, var_r31->unk_0C + lbl_1_data_890[var_r29][0]); } } Hu3DMotionSet(object->model[0], object->motion[0]); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_OVL_LOOP | HU3D_MOTATTR_OVL_PAUSE); + Hu3DModelAttrSet(object->model[0], 0x40000601); CharModelVoiceEnableSet(var_r24, object->motion[1], 0); object->trans.x = -90.0f; object->trans.y = 0.0f; @@ -737,16 +702,16 @@ void fn_1_1344(omObjData *object) var_r31->unk_44 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r31->unk_48, MEMORY_DEFAULT_NUM); DCInvalidateRange(var_r31->unk_44, var_r31->unk_48); var_r31->unk_48 = fn_1_6248(var_r31->unk_44, var_r31->unk_48); - var_r31->unk_3C = HuSprAnimReadFile(lbl_1_data_8FC[lbl_1_bss_1C][0]); + var_r31->unk_3C = HuSprAnimRead(HuDataSelHeapReadNum(lbl_1_data_8FC[lbl_1_bss_1C][0], MEMORY_DEFAULT_NUM, HEAP_DATA)); DCFlushRangeNoSync(var_r31->unk_3C->bmp->data, (var_r31->unk_3C->bmp->pixSize * (var_r31->unk_3C->bmp->sizeX * var_r31->unk_3C->bmp->sizeY)) / 8); var_r31->unk_54 = 0; var_r31->unk_56 = fn_1_ED4(object); - var_r31->unk_40 = HuSprAnimReadFile(lbl_1_data_8FC[lbl_1_bss_1C][1]); - var_r31->unk_50 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M404, 0x19)); + var_r31->unk_40 = HuSprAnimRead(HuDataSelHeapReadNum(lbl_1_data_8FC[lbl_1_bss_1C][1], MEMORY_DEFAULT_NUM, HEAP_DATA)); + var_r31->unk_50 = HuSprAnimRead(HuDataSelHeapReadNum(0x230019, MEMORY_DEFAULT_NUM, HEAP_DATA)); DCFlushRangeNoSync(var_r31->unk_50->bmp->data, (var_r31->unk_50->bmp->pixSize * (var_r31->unk_50->bmp->sizeX * var_r31->unk_50->bmp->sizeY)) / 8); Hu3DMotionOverlaySet(object->model[0], object->motion[2]); object->trans.y = 1500.0f; - var_r31->unk_38 = var_r31->unk_02 * REFRESH_RATE / 2; + var_r31->unk_38 = var_r31->unk_02 * 60 / 2; CharModelDataClose(var_r31->unk_0C); if (GWPlayerCfg[var_r31->unk_02].iscom == 1) { var_r28 = lbl_1_data_8E8[lbl_1_bss_1C]; @@ -779,6 +744,7 @@ void fn_1_1AFC(omObjData *object) { UnkM404Struct3 *var_r31; + var_r31 = object->data; if (fn_1_38C() >= 1) { if (var_r31->unk_00_field2) { @@ -788,7 +754,7 @@ void fn_1_1AFC(omObjData *object) } } if (object->trans.y > 0.0f) { - var_r31->unk_24 = var_r31->unk_24 - (VERSION_NTSC ? 1.0000001f : 1.2f); + var_r31->unk_24 = var_r31->unk_24 - 1.0000001f; object->trans.y += var_r31->unk_24; if (object->trans.y < 0.0f) { object->trans.y = 0.0f; @@ -805,7 +771,7 @@ void fn_1_1AFC(omObjData *object) } if (var_r31->unk_38 == 0) { var_r31->unk_00_field2 = 1; - var_r31->unk_38 = REFRESH_RATE / 2; + var_r31->unk_38 = 30; return; } var_r31->unk_38--; @@ -907,7 +873,7 @@ float fn_1_2EBC(float arg0[], float arg8) float fn_1_3A38(float arg0[], float arg8, float arg9) { - volatile float sp40; + volatile float sp40; volatile float sp3C; float var_f24; float var_f18; @@ -956,13 +922,12 @@ void fn_1_3F30(omObjData *object) var_r31 = object->data; if (var_r31->unk_5E < (var_r31->unk_6C - 1)) { - if ((180.0f / REFRESH_RATE + var_r31->unk_64) >= var_r31->unk_68) { - var_r31->unk_64 = 180.0f / REFRESH_RATE - (var_r31->unk_68 - var_r31->unk_64); + if ((3.0f + var_r31->unk_64) >= var_r31->unk_68) { + var_r31->unk_64 = 3.0f - (var_r31->unk_68 - var_r31->unk_64); var_r31->unk_5E += 3; var_r31->unk_68 = fn_1_2EBC(var_r31->unk_70[var_r31->unk_5E], 1.0f); - } - else { - var_r31->unk_64 += 180.0f / REFRESH_RATE; + } else { + var_r31->unk_64 += 3.0f; } var_r31->unk_60 = fn_1_3A38(var_r31->unk_70[var_r31->unk_5E], var_r31->unk_60, var_r31->unk_64); var_r30 = var_r31->unk_70[var_r31->unk_5E]; @@ -971,20 +936,19 @@ void fn_1_3F30(omObjData *object) var_r31->unk_14 = fn_1_3E2C(var_r31->unk_14, atan2d(var_f24 - object->trans.x, -(var_f23 - object->trans.z)), 0.1f); var_r31->unk_06 = (u8)(20.0 * sind(var_r31->unk_14)); var_r31->unk_07 = (u8)(20.0 * cosd(var_r31->unk_14)); - } - else { + } else { var_r31->unk_06 = 20; var_r31->unk_07 = 0; } } -void fn_1_445C(int seId, s16 vol) +void fn_1_445C(s32 arg0, s16 arg1) { - MSM_SEPARAM param; + UnkMsmStruct_01 sp8; - param.flag = MSM_SEPARAM_VOL; - param.vol = vol; - msmSeSetParam(seId, ¶m); + sp8.unk00 = 1; + sp8.unk04 = arg1; + msmSeSetParam(arg0, &sp8); } void fn_1_44A0(omObjData *object) @@ -997,6 +961,7 @@ void fn_1_44A0(omObjData *object) s32 var_r28; s16 var_r27; + var_r31 = object->data; var_r28 = -1; if (fn_1_38C() == 6) { @@ -1004,115 +969,108 @@ void fn_1_44A0(omObjData *object) } if (fn_1_38C() == 3 && !var_r31->unk_00_field0) { switch (var_r31->unk_12) { - case 0: - if (GWPlayerCfg[var_r31->unk_02].iscom == 0) { - var_r31->unk_06 = HuPadStkX[var_r31->unk_04]; - var_r31->unk_07 = HuPadStkY[var_r31->unk_04]; - var_r31->unk_08 = HuPadBtn[var_r31->unk_04]; - var_r31->unk_0A = HuPadBtnDown[var_r31->unk_04]; + case 0: + if (GWPlayerCfg[var_r31->unk_02].iscom == 0) { + var_r31->unk_06 = HuPadStkX[var_r31->unk_04]; + var_r31->unk_07 = HuPadStkY[var_r31->unk_04]; + var_r31->unk_08 = HuPadBtn[var_r31->unk_04]; + var_r31->unk_0A = HuPadBtnDown[var_r31->unk_04]; + } else { + var_r31->unk_08 = var_r31->unk_0A = 0; + var_r31->unk_06 = var_r31->unk_07 = 0; + fn_1_3F30(object); + } + if (((var_r31->unk_06 * var_r31->unk_06) + (var_r31->unk_07 * var_r31->unk_07)) > 16.0f) { + var_f31 = atan2d(var_r31->unk_06, -var_r31->unk_07); + var_r31->unk_20 = 3.0f * sind(var_f31); + var_r31->unk_28 = 3.0f * cosd(var_f31); + var_r28 = 1; + if (var_r31->unk_20 > 0.0f) { + CharModelMotionSpeedSet(var_r31->unk_0C, 0.5f); + } else { + CharModelMotionSpeedSet(var_r31->unk_0C, -0.5f); } - else { - var_r31->unk_08 = var_r31->unk_0A = 0; - var_r31->unk_06 = var_r31->unk_07 = 0; - fn_1_3F30(object); - } - if (((var_r31->unk_06 * var_r31->unk_06) + (var_r31->unk_07 * var_r31->unk_07)) > 16.0f) { - var_f31 = atan2d(var_r31->unk_06, -var_r31->unk_07); - var_r31->unk_20 = (VERSION_NTSC ? 3.0 : 3.5999999046325684) * sind(var_f31); - var_r31->unk_28 = (VERSION_NTSC ? 3.0 : 3.5999999046325684) * cosd(var_f31); - var_r28 = 1; - if (var_r31->unk_20 > 0.0f) { - CharModelMotionSpeedSet(var_r31->unk_0C, 0.5f); - } - else { - CharModelMotionSpeedSet(var_r31->unk_0C, -0.5f); - } - Hu3DMotionOverlaySpeedSet(object->model[0], Hu3DData[object->model[0]].unk_68); - if (var_r31->unk_2C == 0) { - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_OVL_PAUSE); - Hu3DMotionOverlayTimeSet(object->model[0], 0.0f); - } - } - else { - var_r31->unk_20 = var_r31->unk_28 = 0.0f; - var_r28 = 0; - CharModelMotionSpeedSet(var_r31->unk_0C, 1.0f); + Hu3DMotionOverlaySpeedSet(object->model[0], Hu3DData[object->model[0]].unk_68); + if (var_r31->unk_2C == 0) { + Hu3DModelAttrReset(object->model[0], 0x40000400); Hu3DMotionOverlayTimeSet(object->model[0], 0.0f); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_OVL_PAUSE); } - sp8.x = object->trans.x; - sp8.z = object->trans.z; - object->trans.x += var_r31->unk_20; - object->trans.z += var_r31->unk_28; - if (object->trans.x < -90.0f) { - object->trans.x = -90.0f; + } else { + var_r31->unk_20 = var_r31->unk_28 = 0.0f; + var_r28 = 0; + CharModelMotionSpeedSet(var_r31->unk_0C, 1.0f); + Hu3DMotionOverlayTimeSet(object->model[0], 0.0f); + Hu3DModelAttrSet(object->model[0], 0x40000400); + } + sp8.x = object->trans.x; + sp8.z = object->trans.z; + object->trans.x += var_r31->unk_20; + object->trans.z += var_r31->unk_28; + if (object->trans.x < -90.0f) { + object->trans.x = -90.0f; + } + if (object->trans.x < (Center.x - 500.0f)) { + object->trans.x = Center.x - 500.0f; + } else if (object->trans.x > (550.0f + Center.x)) { + object->trans.x = 550.0f + Center.x; + } + if ((object->trans.x != sp8.x) || (object->trans.z != sp8.z)) { + if (var_r31->unk_74 < 0) { + var_r31->unk_74 = HuAudFXPlay(0x52B); } - if (object->trans.x < (Center.x - 500.0f)) { - object->trans.x = Center.x - 500.0f; - } - else if (object->trans.x > (550.0f + Center.x)) { - object->trans.x = 550.0f + Center.x; - } - if ((object->trans.x != sp8.x) || (object->trans.z != sp8.z)) { - if (var_r31->unk_74 < 0) { - var_r31->unk_74 = HuAudFXPlay(0x52B); - } - } - else if (var_r31->unk_74 >= 0) { + } else if (var_r31->unk_74 >= 0) { + HuAudFXStop(var_r31->unk_74); + var_r31->unk_74 = -1; + } + var_r29 = &Hu3DData[object->model[2]]; + if (object->trans.z < (var_r29->pos.z - 100.0f)) { + object->trans.z = var_r29->pos.z - 100.0f; + } else if (object->trans.z > ((100.0f + var_r29->pos.z) - 1.0f)) { + object->trans.z = (100.0f + var_r29->pos.z) - 1.0f; + } + if ((90.0f + object->trans.x) > 3000.0f) { + object->trans.x = 2910.0f; + var_r31->unk_12++; + var_r31->unk_2C = -1; + var_r28 = 1; + CharModelMotionSpeedSet(var_r31->unk_0C, 1.0f); + Hu3DMotionOverlayReset(object->model[0]); + Hu3DModelAttrSet(object->model[1], 1); + if (var_r31->unk_74 >= 0) { HuAudFXStop(var_r31->unk_74); var_r31->unk_74 = -1; } - var_r29 = &Hu3DData[object->model[2]]; - if (object->trans.z < (var_r29->pos.z - 100.0f)) { - object->trans.z = var_r29->pos.z - 100.0f; + } + fn_1_5278(object); + if (var_r31->unk_74 >= 0) { + var_r27 = 64.0f + ((64.0f * (object->trans.x - Center.x)) / 500.0f); + if (var_r27 < 0) { + var_r27 = 0; + } else if (var_r27 > 127) { + var_r27 = 127; } - else if (object->trans.z > ((100.0f + var_r29->pos.z) - 1.0f)) { - object->trans.z = (100.0f + var_r29->pos.z) - 1.0f; - } - if ((90.0f + object->trans.x) > 3000.0f) { - object->trans.x = 2910.0f; - var_r31->unk_12++; - var_r31->unk_2C = -1; - var_r28 = 1; - CharModelMotionSpeedSet(var_r31->unk_0C, 1.0f); - Hu3DMotionOverlayReset(object->model[0]); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - if (var_r31->unk_74 >= 0) { - HuAudFXStop(var_r31->unk_74); - var_r31->unk_74 = -1; - } - } - fn_1_5278(object); - if (var_r31->unk_74 >= 0) { - var_r27 = 64.0f + ((64.0f * (object->trans.x - Center.x)) / 500.0f); - if (var_r27 < 0) { - var_r27 = 0; - } - else if (var_r27 > 127) { - var_r27 = 127; - } - HuAudFXPanning(var_r31->unk_74, var_r27); - } - break; - case 1: - var_r28 = 1; - object->trans.x += VERSION_NTSC ? 4.0000005f : 4.8f; - if (object->trans.x >= 3200.0f) { - var_r31->unk_12++; - var_r31->unk_38 = 0x3C; - } - break; - case 2: - var_r28 = 0; - object->rot.y += 0.1f * -object->rot.y; - if (--var_r31->unk_38 == 0) { - var_r31->unk_00_field0 = 1; - } - break; + HuAudFXPanning(var_r31->unk_74, var_r27); + } + break; + case 1: + var_r28 = 1; + object->trans.x += 4.0000005f; + if (object->trans.x >= 3200.0f) { + var_r31->unk_12++; + var_r31->unk_38 = 0x3C; + } + break; + case 2: + var_r28 = 0; + object->rot.y += 0.1f * -object->rot.y; + if (--var_r31->unk_38 == 0) { + var_r31->unk_00_field0 = 1; + } + break; } if (var_r28 >= 0 && var_r28 != var_r31->unk_2C) { var_r31->unk_2C = var_r28; - CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_2C], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_2C], 0.0f, 5.0f, 0x40000001); } } } @@ -1126,7 +1084,7 @@ void fn_1_4C7C(omObjData *object) object->trans.z = -450.0f + (300.0f * var_r30->unk_02); object->rot.y = 0.0f; var_r30->unk_2C = -1; - CharModelMotionShiftSet(var_r30->unk_0C, *object->motion, 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(var_r30->unk_0C, *object->motion, 0.0f, 5.0f, 0x40000001); var_r30->unk_5A = 0; var_r30->unk_5C = fn_1_F70(object, 1.0f); var_r30->unk_5A = 0; @@ -1157,11 +1115,10 @@ void fn_1_4F4C(omObjData *object) } if (var_r29 < 4) { var_r30->unk_2C = 3; - } - else { + } else { var_r30->unk_2C = 4; } - CharModelMotionShiftSet(var_r30->unk_0C, object->motion[var_r30->unk_2C], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(var_r30->unk_0C, object->motion[var_r30->unk_2C], 0.0f, 5.0f, 0); } } @@ -1213,13 +1170,9 @@ void fn_1_5598(Process *arg0) void fn_1_55F0(void) { } -s32 lbl_1_data_930[] = { DATA_MAKE_NUM(DATADIR_M404, 0x0B), DATA_MAKE_NUM(DATADIR_M404, 0x0C), DATA_MAKE_NUM(DATADIR_M404, 0x0D), - DATA_MAKE_NUM(DATADIR_M404, 0x0E), DATA_MAKE_NUM(DATADIR_M404, 0x0F), DATA_MAKE_NUM(DATADIR_M404, 0x10), DATA_MAKE_NUM(DATADIR_M404, 0x11), - DATA_MAKE_NUM(DATADIR_M404, 0x12) }; +s32 lbl_1_data_930[] = { 0x0023000B, 0x0023000C, 0x0023000D, 0x0023000E, 0x0023000F, 0x00230010, 0x00230011, 0x00230012 }; -s32 lbl_1_data_950[] = { DATA_MAKE_NUM(DATADIR_M404, 0x1A), DATA_MAKE_NUM(DATADIR_M404, 0x1B), DATA_MAKE_NUM(DATADIR_M404, 0x1C), - DATA_MAKE_NUM(DATADIR_M404, 0x1D), DATA_MAKE_NUM(DATADIR_M404, 0x1E), DATA_MAKE_NUM(DATADIR_M404, 0x1F), DATA_MAKE_NUM(DATADIR_M404, 0x20), - DATA_MAKE_NUM(DATADIR_M404, 0x21) }; +s32 lbl_1_data_950[] = { 0x0023001A, 0x0023001B, 0x0023001C, 0x0023001D, 0x0023001E, 0x0023001F, 0x00230020, 0x00230021 }; char *lbl_1_data_98C[] = { "kari00", "kari01", "kari02", "kari03" }; @@ -1234,16 +1187,18 @@ void fn_1_55F4(omObjData *object) { s32 var_r30; - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M404, 0x09)); - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M404, 0x0A)); - Hu3DModelAttrSet(object->model[1], HU3D_MOTATTR_LOOP); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M404, 0x00)); + object->model[0] = Hu3DModelCreate(HuDataSelHeapReadNum(0x230009, MEMORY_DEFAULT_NUM, HEAP_DATA)); + object->model[1] = Hu3DModelCreate(HuDataSelHeapReadNum(0x23000A, MEMORY_DEFAULT_NUM, HEAP_DATA)); + Hu3DModelAttrSet(object->model[1], 0x40000001); + object->model[2] = Hu3DModelCreate(HuDataSelHeapReadNum(0x230000, MEMORY_DEFAULT_NUM, HEAP_DATA)); Hu3DModelShadowMapSet(object->model[2]); for (var_r30 = 0; var_r30 < 4; var_r30++) { - object->model[var_r30 + 3] = Hu3DModelCreateFile(lbl_1_data_930[GWPlayerCfg[var_r30].character]); + object->model[var_r30 + 3] + = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_930[GWPlayerCfg[var_r30].character], MEMORY_DEFAULT_NUM, HEAP_DATA)); Hu3DModelPosSet(object->model[var_r30 + 3], 0.0f, 0.0f, lbl_1_data_99C[var_r30]); - Hu3DAnimCreate(HuSprAnimReadFile(lbl_1_data_950[GWPlayerCfg[var_r30].character]), object->model[2], lbl_1_data_98C[var_r30]); + Hu3DAnimCreate(HuSprAnimRead(HuDataSelHeapReadNum(lbl_1_data_950[GWPlayerCfg[var_r30].character], MEMORY_DEFAULT_NUM, HEAP_DATA)), + object->model[2], lbl_1_data_98C[var_r30]); } object->func = fn_1_57A0; } @@ -1340,39 +1295,38 @@ void fn_1_5E74(AnimData *arg0, u16 arg1, u16 arg2, u16 arg3) u8 temp_r0; switch (arg0->bmp->pixSize) { - case 4: - var_r30 = lbl_1_data_9DC[0]; // 8 - var_r29 = lbl_1_data_9DC[1]; // 8 - break; - case 8: - var_r30 = lbl_1_data_9DC[2]; // 8 - var_r29 = lbl_1_data_9DC[3]; // 4 - break; - case 16: - var_r30 = lbl_1_data_9DC[4]; // 4 - var_r29 = lbl_1_data_9DC[5]; // 4 - break; + case 4: + var_r30 = lbl_1_data_9DC[0]; // 8 + var_r29 = lbl_1_data_9DC[1]; // 8 + break; + case 8: + var_r30 = lbl_1_data_9DC[2]; // 8 + var_r29 = lbl_1_data_9DC[3]; // 4 + break; + case 16: + var_r30 = lbl_1_data_9DC[4]; // 4 + var_r29 = lbl_1_data_9DC[5]; // 4 + break; } - var_r31 = (void *)(((arg1 / var_r30) * 32) + (((arg1 % 8) * arg0->bmp->pixSize) / 8) - + (((arg0->bmp->sizeX / var_r30) * ((arg2 / var_r29) << 5)) + ((u32)arg0->bmp->data) + ((arg0->bmp->pixSize * ((arg2 % var_r29) * 8)) / 8))); + var_r31 = (void *)(((arg1/var_r30)*32)+(((arg1%8)*arg0->bmp->pixSize)/8)+(((arg0->bmp->sizeX / var_r30) * ((arg2 / var_r29) << 5))+((u32)arg0->bmp->data)+((arg0->bmp->pixSize * ((arg2 % var_r29) * 8)) / 8))); switch (arg0->bmp->pixSize) { - case 4: - if ((arg1 & 1) == 0) { - *var_r31 &= 0xF; - *var_r31 |= arg3 << 4; - break; - } - *var_r31 &= 0xF0; - *var_r31 |= arg3; - break; - case 8: - *var_r31 |= arg3; - break; - case 16: - *((u16 *)var_r31) = arg3; + case 4: + if ((arg1 & 1) == 0) { + *var_r31 &= 0xF; + *var_r31 |= arg3 << 4; break; + } + *var_r31 &= 0xF0; + *var_r31 |= arg3; + break; + case 8: + *var_r31 |= arg3; + break; + case 16: + *((u16 *)var_r31) = arg3; + break; } } @@ -1386,44 +1340,42 @@ u16 fn_1_607C(AnimData *arg0, u16 arg1, u16 arg2) u32 temp_r6; u8 temp_r0; u8 temp_r0_3; - + switch (arg0->bmp->pixSize) { - case 4: - var_r31 = lbl_1_data_9F4[0]; - var_r30 = lbl_1_data_9F4[1]; - break; - case 8: - var_r31 = lbl_1_data_9F4[2]; - var_r30 = lbl_1_data_9F4[3]; - break; - case 16: - var_r31 = lbl_1_data_9F4[4]; - var_r30 = lbl_1_data_9F4[5]; - break; + case 4: + var_r31 = lbl_1_data_9F4[0]; + var_r30 = lbl_1_data_9F4[1]; + break; + case 8: + var_r31 = lbl_1_data_9F4[2]; + var_r30 = lbl_1_data_9F4[3]; + break; + case 16: + var_r31 = lbl_1_data_9F4[4]; + var_r30 = lbl_1_data_9F4[5]; + break; } - var_r29 = (void *)(((arg1 / var_r31) * 32) + (((arg1 % 8) * arg0->bmp->pixSize) / 8) - + (((arg0->bmp->sizeX / var_r31) * ((arg2 / var_r30) << 5)) + ((u32)arg0->bmp->data) + ((arg0->bmp->pixSize * ((arg2 % var_r30) * 8)) / 8))); - - (void)var_r31; - (void)var_r31; - (void)var_r31; - (void)var_r30; - (void)var_r30; - (void)var_r30; - + var_r29 = (void *)(((arg1/var_r31)*32)+(((arg1%8)*arg0->bmp->pixSize)/8)+(((arg0->bmp->sizeX / var_r31) * ((arg2 / var_r30) << 5))+((u32)arg0->bmp->data)+((arg0->bmp->pixSize * ((arg2 % var_r30) * 8)) / 8))); + + (void)var_r31; + (void)var_r31; + (void)var_r31; + (void)var_r30; + (void)var_r30; + (void)var_r30; + switch (arg0->bmp->pixSize) { - case 4: - if ((arg1 & 1) == 0) { - var_r28 = *var_r29 >> 4; - } - else { - var_r28 = *var_r29 & 0xF; - } - return var_r28; - case 8: - return *var_r29; - case 16: - return *((u16 *)var_r29); + case 4: + if ((arg1 & 1) == 0) { + var_r28 = *var_r29 >> 4; + } else { + var_r28 = *var_r29 & 0xF; + } + return var_r28; + case 8: + return *var_r29; + case 16: + return *((u16 *)var_r29); } } @@ -1471,28 +1423,28 @@ void fn_1_66DC(omObjData *object) var_r31 = Hu3DCamera; switch (fn_1_38C()) { - case 1: - fn_1_648C(0, 1, 1.0 - cosd(90.0f * lbl_1_bss_4)); - if (lbl_1_bss_4 < 1.0f) { - lbl_1_bss_4 += VERSION_NTSC ? 0.007999999f : 0.0095999995f; - if (lbl_1_bss_4 > 1.0f) { - lbl_1_bss_4 = 1.0f; - } + case 1: + fn_1_648C(0, 1, 1.0 - cosd(90.0f * lbl_1_bss_4)); + if (lbl_1_bss_4 < 1.0f) { + lbl_1_bss_4 += 0.007999999f; + if (lbl_1_bss_4 > 1.0f) { + lbl_1_bss_4 = 1.0f; } - break; - case 3: - Center.x += VERSION_NTSC ? 2.0000002f : 2.4f; - Hu3DShadowData.unk_14.x = 1000.0f + var_r31->pos.x; - Hu3DShadowData.unk_20.x = Hu3DShadowData.unk_14.x - 1500.0f; - break; - case 6: - fn_1_648C(1, 1, 0.0f); - break; - case 7: - if (Center.x < 3000.0f) { - Center.x += VERSION_NTSC ? 25.0f : 30.0f; - } - default: - break; + } + break; + case 3: + Center.x += 2.0000002f; + Hu3DShadowData.unk_14.x = 1000.0f + var_r31->pos.x; + Hu3DShadowData.unk_20.x = Hu3DShadowData.unk_14.x - 1500.0f; + break; + case 6: + fn_1_648C(1, 1, 0.0f); + break; + case 7: + if (Center.x < 3000.0f) { + Center.x += 25.0f; + } + default: + break; } } diff --git a/src/REL/m405Dll/main.c b/src/REL/m405Dll/main.c index 0eade3f2..1950ce88 100755 --- a/src/REL/m405Dll/main.c +++ b/src/REL/m405Dll/main.c @@ -2,10 +2,10 @@ #include "game/chrman.h" #include "game/data.h" #include "game/esprite.h" -#include "game/flag.h" -#include "game/frand.h" #include "game/gamework.h" #include "game/gamework_data.h" +#include "game/flag.h" +#include "game/frand.h" #include "game/hsfanim.h" #include "game/hsfdraw.h" #include "game/hsfman.h" @@ -22,6 +22,7 @@ #include "dolphin.h" #include "ext_math.h" +#include "rel_sqrt_consts.h" #undef ABS #define ABS(x) ((0 > (x)) ? -(x) : (x)) @@ -248,26 +249,46 @@ Vec lbl_1_bss_0[2]; s16 lbl_1_data_0[] = { 0, 1, 2, 3, 4, 5, 6, 7 }; -UnkBss10Struct lbl_1_data_10[] = { { NULL, 0, 640, 480, GX_FALSE }, { NULL, 0, 640, 480, GX_FALSE }, { NULL, 0, 320, 240, GX_TRUE } }; +UnkBss10Struct lbl_1_data_10[] = { + { NULL, 0, 640, 480, GX_FALSE }, + { NULL, 0, 640, 480, GX_FALSE }, + { NULL, 0, 320, 240, GX_TRUE } +}; -Vec lbl_1_data_40[] = { { -450.0f, 0.0f, 0.0f }, { -450.0f, 0.0f, 0.0f }, { -150.0f, 0.0f, 0.0f }, { -150.0f, 0.0f, 0.0f }, { 150.0f, 0.0f, 0.0f }, - { 150.0f, 0.0f, 0.0f }, { 450.0f, 0.0f, 0.0f }, { 450.0f, 0.0f, 0.0f } }; +Vec lbl_1_data_40[] = { + { -450.0f, 0.0f, 0.0f }, + { -450.0f, 0.0f, 0.0f }, + { -150.0f, 0.0f, 0.0f }, + { -150.0f, 0.0f, 0.0f }, + { 150.0f, 0.0f, 0.0f }, + { 150.0f, 0.0f, 0.0f }, + { 450.0f, 0.0f, 0.0f }, + { 450.0f, 0.0f, 0.0f } +}; -float lbl_1_data_A0[] - = { -600.0f, 300.0f, -600.0f, 300.0f, -300.0f, 300.0f, -300.0f, 300.0f, 0.0f, 300.0f, 0.0f, 300.0f, 300.0f, 300.0f, 300.0f, 300.0f }; +float lbl_1_data_A0[] = { + -600.0f, 300.0f, + -600.0f, 300.0f, + -300.0f, 300.0f, + -300.0f, 300.0f, + 0.0f, 300.0f, + 0.0f, 300.0f, + 300.0f, 300.0f, + 300.0f, 300.0f +}; -u8 lbl_1_data_E0_unused[] = { 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0x08, 0x08, 0xFF }; +u8 lbl_1_data_E0_unused[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0x08, 0x08, 0xFF +}; GXColor lbl_1_data_E8 = { 0xD8, 0xE2, 0xE5, 0x10 }; -void fn_1_0(void) -{ +void fn_1_0(void) { lbl_1_bss_790.unk04 = NULL; lbl_1_bss_790.unk08 = NULL; } -void fn_1_24(u16 arg0, s16 arg1) -{ +void fn_1_24(u16 arg0, s16 arg1) { UnkBss790Struct *temp_r31; UnkBss790Struct *temp_r30; UnkBss790Struct *temp_r29; @@ -285,8 +306,7 @@ void fn_1_24(u16 arg0, s16 arg1) temp_r31->unk08 = temp_r29; } -s16 fn_1_AC(s16 arg0) -{ +s16 fn_1_AC(s16 arg0) { UnkBss790Struct *var_r31; UnkBss790Struct *temp_r29; UnkBss790Struct *temp_r30; @@ -310,14 +330,12 @@ s16 fn_1_AC(s16 arg0) return -1; } -void fn_1_150(void) -{ +void fn_1_150(void) { lbl_1_bss_778.unk10 = NULL; lbl_1_bss_778.unk14 = NULL; } -void fn_1_174(s16 arg0, HsfanimStruct00 *arg1, s32 arg2, s32 arg3, s32 arg4, Vec *arg5, u8 arg6) -{ +void fn_1_174(s16 arg0, HsfanimStruct00 *arg1, s32 arg2, s32 arg3, s32 arg4, Vec *arg5, u8 arg6) { UnkBss778Struct *temp_r27; UnkBss778Struct *var_r31; UnkBss778Struct *temp_r28; @@ -347,8 +365,7 @@ void fn_1_174(s16 arg0, HsfanimStruct00 *arg1, s32 arg2, s32 arg3, s32 arg4, Vec var_r31->unk14 = temp_r27; } -void fn_1_2D8(void) -{ +void fn_1_2D8(void) { UnkBss778Struct *var_r31; UnkBss778Struct *temp_r28; UnkBss778Struct *temp_r29; @@ -383,8 +400,7 @@ void fn_1_2D8(void) } } -void fn_1_414(void) -{ +void fn_1_414(void) { s32 i; for (i = 0; i < 32; i++) { @@ -393,8 +409,7 @@ void fn_1_414(void) } } -s16 fn_1_46C(s32 arg0) -{ +s16 fn_1_46C(s32 arg0) { s32 i; for (i = 0; i < 32; i++) { @@ -412,40 +427,37 @@ s16 fn_1_46C(s32 arg0) return Hu3DModelCreateFile(arg0); } -void fn_1_580(s32 *arg0, s32 arg1, s32 arg2) -{ +void fn_1_580(s32 *arg0, s32 arg1, s32 arg2) { s32 var_r30; espBankSet(arg0[arg1 + 1], 10); espBankSet(arg0[arg1 + 4], 11); - if (600 * REFRESH_RATE <= arg2) { - arg2 = 600 * REFRESH_RATE - 1; + if (36000 <= arg2) { + arg2 = 35999; } - var_r30 = arg2 / (60 * REFRESH_RATE); - arg2 -= var_r30 * (60 * REFRESH_RATE); + var_r30 = arg2 / 3600; + arg2 -= var_r30 * 3600; if (var_r30 > 9) { var_r30 = 9; } espBankSet(arg0[arg1], var_r30); - var_r30 = arg2 / REFRESH_RATE; - arg2 -= var_r30 * REFRESH_RATE; + var_r30 = arg2 / 60; + arg2 -= var_r30 * 60; espBankSet(arg0[arg1 + 2], var_r30 / 10); espBankSet(arg0[arg1 + 3], var_r30 % 10); - var_r30 = 101.5f * arg2 / REFRESH_RATE; + var_r30 = 101.5f * arg2 / 60.0f; espBankSet(arg0[arg1 + 5], var_r30 / 10); espBankSet(arg0[arg1 + 6], var_r30 % 10); } -void fn_1_798(s32 arg0) -{ +void fn_1_798(s32 arg0) { lbl_1_bss_728 = 0.0f; lbl_1_bss_738 = lbl_1_bss_73C; GWMGRecordSet(arg0, lbl_1_bss_738); fn_1_580(lbl_1_bss_6E8, 7, lbl_1_bss_73C); } -void fn_1_9EC(void) -{ +void fn_1_9EC(void) { s32 i; for (i = 0; i < 16; i++) { @@ -453,8 +465,7 @@ void fn_1_9EC(void) } } -void fn_1_A40(void) -{ +void fn_1_A40(void) { float temp_f31; s32 i; @@ -467,8 +478,7 @@ void fn_1_A40(void) } } -void fn_1_B4C(float arg0, s32 arg1) -{ +void fn_1_B4C(float arg0, s32 arg1) { float temp_f30; float temp_f31; s32 i; @@ -505,8 +515,7 @@ void fn_1_B4C(float arg0, s32 arg1) } } -void fn_1_11F4(float arg0, Vec *arg1, Vec *arg2, Vec *arg3) -{ +void fn_1_11F4(float arg0, Vec *arg1, Vec *arg2, Vec *arg3) { float temp_f31; if (1.0f < arg0) { @@ -518,15 +527,13 @@ void fn_1_11F4(float arg0, Vec *arg1, Vec *arg2, Vec *arg3) arg3->z = arg1->z + temp_f31 * (arg2->z - arg1->z); } -void fn_1_1350(Vec *arg0, Vec *arg1, Vec *arg2) -{ +void fn_1_1350(Vec *arg0, Vec *arg1, Vec *arg2) { Hu3DCameraPosSetV(1, arg0, arg1, arg2); lbl_1_bss_768 = *arg0; lbl_1_bss_750 = *arg2; } -s32 fn_1_13DC(float arg0, Vec *arg1) -{ +s32 fn_1_13DC(float arg0, Vec *arg1) { Vec sp18; Vec spC; @@ -535,15 +542,13 @@ s32 fn_1_13DC(float arg0, Vec *arg1) Hu3DCameraPosSetV(1, &sp18, arg1, &spC); if (1.0f <= arg0) { return 1; - } - else { + } else { lbl_1_bss_72C = 1; return 0; } } -void fn_1_1710(float arg0, Vec *arg1) -{ +void fn_1_1710(float arg0, Vec *arg1) { Vec sp18; Vec spC; @@ -553,8 +558,7 @@ void fn_1_1710(float arg0, Vec *arg1) lbl_1_bss_72C = 1; } -void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2) -{ +void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2) { Mtx sp1C; Vec sp10; float temp_f30; @@ -571,7 +575,7 @@ void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2) } temp_r31 = &Hu3DCamera[i]; C_MTXLookAt(sp1C, &temp_r31->pos, &temp_r31->up, &temp_r31->target); - MTXMultVec(sp1C, arg0, &sp10); + PSMTXMultVec(sp1C, arg0, &sp10); temp_f30 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)) * temp_r31->aspect; temp_f29 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)); temp_f28 = 0.9f * temp_r31->viewport_x; @@ -581,8 +585,7 @@ void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2) arg2->z = 0.0f; } -void fn_1_1D18(s16 arg0, char *arg1, Vec *arg2) -{ +void fn_1_1D18(s16 arg0, char *arg1, Vec *arg2) { Mtx sp10; Hu3DModelObjMtxGet(arg0, arg1, sp10); @@ -591,24 +594,22 @@ void fn_1_1D18(s16 arg0, char *arg1, Vec *arg2) arg2->z = sp10[2][3]; } -void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3) -{ +void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3) { Mtx spC; ModelData *var_r30; var_r30 = &Hu3DData[arg0]; Hu3DModelObjMtxGet(arg0, arg1, spC); - MTXConcat(var_r30->unk_F0, spC, spC); + PSMTXConcat(var_r30->unk_F0, spC, spC); if (NULL != arg3) { - MTXCopy(spC, arg3); + PSMTXCopy(spC, arg3); } arg2->x = spC[0][3]; arg2->y = spC[1][3]; arg2->z = spC[2][3]; } -float fn_1_1E20(float arg0, float arg1, float arg2) -{ +float fn_1_1E20(float arg0, float arg1, float arg2) { float var_f31; float var_f30; @@ -626,13 +627,11 @@ float fn_1_1E20(float arg0, float arg1, float arg2) return var_f30; } -void fn_1_1F24(s32 arg0) -{ +void fn_1_1F24(s32 arg0) { lbl_1_bss_730 = HuAudSeqPlay(arg0); } -void fn_1_1F58(s32 arg0) -{ +void fn_1_1F58(s32 arg0) { if (lbl_1_bss_730 >= 0) { if (arg0 < 0) { arg0 = 1000; @@ -642,8 +641,7 @@ void fn_1_1F58(s32 arg0) lbl_1_bss_730 = -1; } -void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) -{ +void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) { Vec sp18; float var_f28; s32 var_r30; @@ -652,7 +650,7 @@ void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) sp18.y = 0.0f; sp18.z = 0.0f; sp18.x = arg2 / 4.0f; - sp18.z = -(float)arg3 / 4.0f; + sp18.z = -(float) arg3 / 4.0f; var_r30 = 0; var_f28 = VECMagXZ(&sp18); if (0.5f <= var_f28) { @@ -666,16 +664,14 @@ void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) *arg1 = fn_1_1E20(*arg1, atan2d(sp18.x, sp18.z), 0.4f); if (8.0f <= var_f28) { var_r30 = 2; - } - else { + } else { var_r30 = 1; } } - VECAdd((Vec *)&arg0, &sp18, (Vec *)&arg0); + PSVECAdd((Vec*) &arg0, &sp18, (Vec*) &arg0); } -s32 fn_1_23B4(Vec *arg0) -{ +s32 fn_1_23B4(Vec *arg0) { float var_f31; float var_f30; s32 var_r31; @@ -688,8 +684,7 @@ s32 fn_1_23B4(Vec *arg0) return var_r31 + var_r30 * 30; } -void fn_1_2480(UnkFn2480Struct *arg0, float arg1, float arg2) -{ +void fn_1_2480(UnkFn2480Struct *arg0, float arg1, float arg2) { Vec *var_r31; s32 i; @@ -703,11 +698,10 @@ void fn_1_2480(UnkFn2480Struct *arg0, float arg1, float arg2) } } -void fn_1_2508(UnkFn2480Struct *arg0) -{ +void fn_1_2508(UnkFn2480Struct *arg0) { Vec spC; Vec *temp_r29; - float *var_r30; + float* var_r30; u16 *var_r28; u32 i; @@ -721,7 +715,7 @@ void fn_1_2508(UnkFn2480Struct *arg0) var_r30 = arg0->unk30; for (i = 0; i < arg0->unk28; i++, var_r28++, var_r30++) { temp_r29 = &lbl_1_bss_5AC.unk00[*var_r28]; - VECSubtract(temp_r29, &arg0->unk0C, &spC); + PSVECSubtract(temp_r29, &arg0->unk0C, &spC); *var_r30 = VECMagXZ(&spC); if (arg0->unk2D == 0 && arg0->unk0C.z > temp_r29->z) { *var_r30 *= -1.0f; @@ -732,8 +726,7 @@ void fn_1_2508(UnkFn2480Struct *arg0) } } -void fn_1_2714(u8 arg0, s32 arg1) -{ +void fn_1_2714(u8 arg0, s32 arg1) { GXColor sp14 = { 0x1E, 0x66, 0xA2, 0xFF }; UnkBss10Struct *temp_r31; @@ -746,8 +739,7 @@ void fn_1_2714(u8 arg0, s32 arg1) DCFlushRange(temp_r31->unk00, temp_r31->unk04); } -void fn_1_280C(omObjData *arg0) -{ +void fn_1_280C(omObjData *arg0) { Vec sp2C; Vec sp20; Vec sp14; @@ -757,14 +749,14 @@ void fn_1_280C(omObjData *arg0) Vec *var_r25; Vec *temp_r28; Vec *var_r30; - u16(*var_r31)[4]; + u16 (*var_r31)[4]; s32 i; var_r27 = lbl_1_bss_5AC.unk00; var_r26 = lbl_1_bss_5AC.unk04; var_r25 = lbl_1_bss_5AC.unk14; for (i = 0; i < 900; i++) { - VECAdd(var_r27, var_r26, var_r25); + PSVECAdd(var_r27, var_r26, var_r25); var_r27++; var_r26++; var_r25++; @@ -774,23 +766,23 @@ void fn_1_280C(omObjData *arg0) var_r30 = lbl_1_bss_5AC.unk18; memset(lbl_1_bss_5AC.unk18, 0, 900 * sizeof(*lbl_1_bss_5AC.unk18)); for (i = 0; i < 841; i++) { - VECSubtract(&temp_r28[(*var_r31)[1]], &temp_r28[(*var_r31)[0]], &sp2C); - VECSubtract(&temp_r28[(*var_r31)[3]], &temp_r28[(*var_r31)[0]], &sp20); - VECSubtract(&temp_r28[(*var_r31)[2]], &temp_r28[(*var_r31)[0]], &sp14); - VECCrossProduct(&sp2C, &sp20, &sp8); - VECNormalize(&sp8, &sp8); - VECAdd(&sp8, &var_r30[(*var_r31)[0]], &var_r30[(*var_r31)[0]]); - VECAdd(&sp8, &var_r30[(*var_r31)[1]], &var_r30[(*var_r31)[1]]); - VECAdd(&sp8, &var_r30[(*var_r31)[3]], &var_r30[(*var_r31)[3]]); - VECCrossProduct(&sp20, &sp14, &sp8); - VECNormalize(&sp8, &sp8); - VECAdd(&sp8, &var_r30[(*var_r31)[0]], &var_r30[(*var_r31)[0]]); - VECAdd(&sp8, &var_r30[(*var_r31)[3]], &var_r30[(*var_r31)[3]]); - VECAdd(&sp8, &var_r30[(*var_r31)[2]], &var_r30[(*var_r31)[2]]); + PSVECSubtract(&temp_r28[(*var_r31)[1]], &temp_r28[(*var_r31)[0]], &sp2C); + PSVECSubtract(&temp_r28[(*var_r31)[3]], &temp_r28[(*var_r31)[0]], &sp20); + PSVECSubtract(&temp_r28[(*var_r31)[2]], &temp_r28[(*var_r31)[0]], &sp14); + PSVECCrossProduct(&sp2C, &sp20, &sp8); + PSVECNormalize(&sp8, &sp8); + PSVECAdd(&sp8, &var_r30[(*var_r31)[0]], &var_r30[(*var_r31)[0]]); + PSVECAdd(&sp8, &var_r30[(*var_r31)[1]], &var_r30[(*var_r31)[1]]); + PSVECAdd(&sp8, &var_r30[(*var_r31)[3]], &var_r30[(*var_r31)[3]]); + PSVECCrossProduct(&sp20, &sp14, &sp8); + PSVECNormalize(&sp8, &sp8); + PSVECAdd(&sp8, &var_r30[(*var_r31)[0]], &var_r30[(*var_r31)[0]]); + PSVECAdd(&sp8, &var_r30[(*var_r31)[3]], &var_r30[(*var_r31)[3]]); + PSVECAdd(&sp8, &var_r30[(*var_r31)[2]], &var_r30[(*var_r31)[2]]); var_r31++; } for (i = 0; i < 900; i++, var_r30++) { - VECNormalize(var_r30, var_r30); + PSVECNormalize(var_r30, var_r30); } DCStoreRangeNoSync(lbl_1_bss_5AC.unk14, 900 * sizeof(*lbl_1_bss_5AC.unk14)); DCStoreRangeNoSync(lbl_1_bss_5AC.unk18, 900 * sizeof(*lbl_1_bss_5AC.unk18)); @@ -798,13 +790,12 @@ void fn_1_280C(omObjData *arg0) DCStoreRangeNoSync(lbl_1_bss_5AC.unk20, 900 * sizeof(*lbl_1_bss_5AC.unk20)); } -void fn_1_2AAC(omObjData *arg0) -{ +void fn_1_2AAC(omObjData *arg0) { Vec sp28; Vec *var_r25; UnkBss10Struct *temp_r26; UnkFn2480Struct *var_r31; - u16(*var_r28)[4]; + u16 (*var_r28)[4]; s32 temp_r27; s32 i; s32 j; @@ -847,8 +838,7 @@ void fn_1_2AAC(omObjData *arg0) (*var_r28)[1] = temp_r27 + 30; (*var_r28)[2] = temp_r27 + 1; (*var_r28)[3] = temp_r27 + 31; - } - else { + } else { temp_r27 = j + i * 30; (*var_r28)[1] = temp_r27; (*var_r28)[3] = temp_r27 + 30; @@ -916,8 +906,7 @@ void fn_1_2AAC(omObjData *arg0) } } -void fn_1_37A4(ModelData *arg0, Mtx arg1) -{ +void fn_1_37A4(ModelData *arg0, Mtx arg1) { Mtx spEC; Mtx spBC; Mtx sp8C; @@ -928,7 +917,7 @@ void fn_1_37A4(ModelData *arg0, Mtx arg1) UnkBss10Struct *temp_r31; GXLoadPosMtxImm(arg1, GX_PNMTX0); - MTXInvXpose(arg1, spEC); + PSMTXInvXpose(arg1, spEC); GXLoadNrmMtxImm(spEC, GX_PNMTX0); temp_r31 = &lbl_1_data_10[2]; GXInitTexObj(&spC, temp_r31->unk00, temp_r31->unk08, temp_r31->unk0A, GX_TF_RGB565, GX_CLAMP, GX_CLAMP, GX_FALSE); @@ -941,31 +930,31 @@ void fn_1_37A4(ModelData *arg0, Mtx arg1) GXLoadTexObj(&spC, GX_TEXMAP3); GXSetNumTexGens(4); C_MTXLightPerspective(sp2C, 30.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); - MTXInverse(Hu3DCameraMtx, spEC); - MTXConcat(spEC, arg1, spEC); - MTXConcat(sp2C, Hu3DCameraMtx, spBC); - MTXConcat(spBC, spEC, spBC); + PSMTXInverse(Hu3DCameraMtx, spEC); + PSMTXConcat(spEC, arg1, spEC); + PSMTXConcat(sp2C, Hu3DCameraMtx, spBC); + PSMTXConcat(spBC, spEC, spBC); GXLoadTexMtxImm(spBC, GX_TEXMTX0, GX_MTX3x4); C_MTXLightPerspective(sp2C, 30.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); - MTXInverse(Hu3DCameraMtx, spEC); - MTXConcat(spEC, arg1, spEC); - MTXConcat(sp2C, Hu3DCameraMtx, spBC); - MTXConcat(spBC, spEC, spBC); + PSMTXInverse(Hu3DCameraMtx, spEC); + PSMTXConcat(spEC, arg1, spEC); + PSMTXConcat(sp2C, Hu3DCameraMtx, spBC); + PSMTXConcat(spBC, spEC, spBC); GXLoadTexMtxImm(spBC, GX_TEXMTX1, GX_MTX3x4); - MTXRotRad(spEC, 'X', MTXDegToRad(-90)); + PSMTXRotRad(spEC, 'X', MTXDegToRad(-90)); var_f31 = 0.0004f; - MTXScale(sp8C, 0.00083333335f, var_f31, 0.0004f); - MTXConcat(sp8C, spEC, sp5C); - MTXTrans(spBC, 0.5f, 0.5f, 0.5f); - MTXConcat(spBC, sp5C, sp5C); + PSMTXScale(sp8C, 0.00083333335f, var_f31, 0.0004f); + PSMTXConcat(sp8C, spEC, sp5C); + PSMTXTrans(spBC, 0.5f, 0.5f, 0.5f); + PSMTXConcat(spBC, sp5C, sp5C); sp5C[0][1] = -0.01f; GXLoadTexMtxImm(sp5C, GX_TEXMTX2, GX_MTX2x4); - MTXRotRad(spEC, 'X', MTXDegToRad(-90)); + PSMTXRotRad(spEC, 'X', MTXDegToRad(-90)); var_f31 = 0.0004f; - MTXScale(sp8C, var_f31, var_f31, var_f31); - MTXConcat(sp8C, spEC, sp5C); - MTXTrans(spBC, 0.5f, 0.5f, 0.0f); - MTXConcat(spBC, sp5C, sp5C); + PSMTXScale(sp8C, var_f31, var_f31, var_f31); + PSMTXConcat(sp8C, spEC, sp5C); + PSMTXTrans(spBC, 0.5f, 0.5f, 0.0f); + PSMTXConcat(spBC, sp5C, sp5C); GXLoadTexMtxImm(sp5C, GX_TEXMTX3, GX_MTX2x4); GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0, GX_FALSE, GX_PTIDENTITY); GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX1, GX_FALSE, GX_PTIDENTITY); @@ -974,13 +963,13 @@ void fn_1_37A4(ModelData *arg0, Mtx arg1) GXSetNumIndStages(2); GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD2, GX_TEXMAP2); GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); - MTXScale(spBC, -0.2f, -0.2f, 0.2f); - GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spBC, -2); + PSMTXScale(spBC, -0.2f, -0.2f, 0.2f); + GXSetIndTexMtx(GX_ITM_0, (float (*)[3]) spBC, -2); GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, GX_TRUE, GX_FALSE, GX_ITM_0); GXSetIndTexOrder(GX_INDTEXSTAGE1, GX_TEXCOORD3, GX_TEXMAP3); GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1); - MTXScale(spBC, 0.5f, 0.5f, 0.5f); - GXSetIndTexMtx(GX_ITM_1, (float(*)[3])spBC, 0); + PSMTXScale(spBC, 0.5f, 0.5f, 0.5f); + GXSetIndTexMtx(GX_ITM_1, (float (*)[3]) spBC, 0); GXSetTevIndWarp(GX_TEVSTAGE1, GX_INDTEXSTAGE1, GX_TRUE, GX_FALSE, GX_ITM_1); GXSetNumTevStages(2); lbl_1_data_E8.a = lbl_1_bss_A8; @@ -1010,18 +999,15 @@ void fn_1_37A4(ModelData *arg0, Mtx arg1) GXSetTevDirect(GX_TEVSTAGE1); } -void fn_1_3F1C(ModelData *arg0, Mtx arg1) -{ +void fn_1_3F1C(ModelData *arg0, Mtx arg1) { fn_1_280C(NULL); } -void fn_1_3F40(ModelData *arg0, Mtx arg1) -{ +void fn_1_3F40(ModelData *arg0, Mtx arg1) { fn_1_2714(2, GX_FALSE); } -void fn_1_4024(ModelData *arg0, Mtx arg1) -{ +void fn_1_4024(ModelData *arg0, Mtx arg1) { Mtx sp98; Mtx sp68; Mtx sp38; @@ -1031,10 +1017,10 @@ void fn_1_4024(ModelData *arg0, Mtx arg1) fn_1_2714(1, GX_FALSE); GXLoadPosMtxImm(arg1, GX_PNMTX0); C_MTXLightPerspective(sp98, 30.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); - MTXInverse(Hu3DCameraMtx, sp68); - MTXConcat(sp68, arg1, sp68); - MTXConcat(sp98, Hu3DCameraMtx, sp38); - MTXConcat(sp38, sp68, sp68); + PSMTXInverse(Hu3DCameraMtx, sp68); + PSMTXConcat(sp68, arg1, sp68); + PSMTXConcat(sp98, Hu3DCameraMtx, sp38); + PSMTXConcat(sp38, sp68, sp68); GXLoadTexMtxImm(sp68, GX_TEXMTX0, GX_MTX3x4); GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0, GX_FALSE, GX_PTIDENTITY); GXSetNumChans(1); @@ -1079,8 +1065,7 @@ void fn_1_4024(ModelData *arg0, Mtx arg1) GXEnd(); } -void fn_1_4700(ModelData *arg0, Mtx arg1) -{ +void fn_1_4700(ModelData *arg0, Mtx arg1) { Mtx sp60; Mtx44 sp20; float temp_f31; @@ -1096,7 +1081,7 @@ void fn_1_4700(ModelData *arg0, Mtx arg1) C_MTXOrtho(sp20, 0.0f, 480.0f, 0.0f, 640.0f, 0.0f, 100.0f); GXSetProjection(sp20, GX_ORTHOGRAPHIC); - MTXIdentity(sp60); + PSMTXIdentity(sp60); GXLoadPosMtxImm(sp60, GX_PNMTX0); GXSetNumChans(1); GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); @@ -1164,8 +1149,7 @@ void fn_1_4700(ModelData *arg0, Mtx arg1) fn_1_2714(0, GX_TRUE); } -void fn_1_4F28(omObjData *arg0) -{ +void fn_1_4F28(omObjData *arg0) { Vec spC; float temp_f27; float var_f29; @@ -1216,8 +1200,7 @@ void fn_1_4F28(omObjData *arg0) } } -void fn_1_5404(omObjData *arg0) -{ +void fn_1_5404(omObjData *arg0) { lbl_1_bss_A8 = 0; omSetTra(arg0, 0.0f, 0.0f, 0.0f); fn_1_2AAC(arg0); @@ -1234,8 +1217,7 @@ void fn_1_5404(omObjData *arg0) arg0->func = fn_1_4F28; } -void fn_1_5530(Vec *arg0, s32 arg1) -{ +void fn_1_5530(Vec *arg0, s32 arg1) { UnkBssACStruct *temp_r31; temp_r31 = &lbl_1_bss_AC[arg1]; @@ -1243,8 +1225,7 @@ void fn_1_5530(Vec *arg0, s32 arg1) temp_r31->unk0C = 1.0f; } -void fn_1_557C(Vec *arg0, float arg1, s32 arg2, s32 arg3) -{ +void fn_1_557C(Vec *arg0, float arg1, s32 arg2, s32 arg3) { UnkFn2480Struct *temp_r31; temp_r31 = &lbl_1_bss_5AC.unk10[arg2 + (arg3 ^ 1)]; @@ -1266,8 +1247,7 @@ void fn_1_557C(Vec *arg0, float arg1, s32 arg2, s32 arg3) } } -float fn_1_5664(Vec *arg0) -{ +float fn_1_5664(Vec *arg0) { return lbl_1_bss_5AC.unk04[fn_1_23B4(arg0)].y; } @@ -1286,58 +1266,191 @@ GXColor lbl_1_data_16C = { 0xFF, 0xFF, 0xFF, 0xFF }; Vec lbl_1_data_170 = { 0.0f, 8000.0f, 1000.0f }; Vec lbl_1_data_17C = { 0.0f, 0.0f, 0.0f }; -s32 lbl_1_data_188[8][8] = { { DATA_MAKE_NUM(DATADIR_MARIOMOT, 42), DATA_MAKE_NUM(DATADIR_M405, 0), DATA_MAKE_NUM(DATADIR_M405, 8), - DATA_MAKE_NUM(DATADIR_M405, 16), DATA_MAKE_NUM(DATADIR_MARIOMOT, 43), DATA_MAKE_NUM(DATADIR_M405, 24), - DATA_MAKE_NUM(DATADIR_M405, 32), DATA_MAKE_NUM(DATADIR_M405, 40) }, - { DATA_MAKE_NUM(DATADIR_LUIGIMOT, 42), DATA_MAKE_NUM(DATADIR_M405, 1), DATA_MAKE_NUM(DATADIR_M405, 9), DATA_MAKE_NUM(DATADIR_M405, 17), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 43), DATA_MAKE_NUM(DATADIR_M405, 25), DATA_MAKE_NUM(DATADIR_M405, 33), DATA_MAKE_NUM(DATADIR_M405, 41) }, - { DATA_MAKE_NUM(DATADIR_PEACHMOT, 42), DATA_MAKE_NUM(DATADIR_M405, 2), DATA_MAKE_NUM(DATADIR_M405, 10), DATA_MAKE_NUM(DATADIR_M405, 18), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 43), DATA_MAKE_NUM(DATADIR_M405, 26), DATA_MAKE_NUM(DATADIR_M405, 34), DATA_MAKE_NUM(DATADIR_M405, 42) }, - { DATA_MAKE_NUM(DATADIR_YOSHIMOT, 42), DATA_MAKE_NUM(DATADIR_M405, 3), DATA_MAKE_NUM(DATADIR_M405, 11), DATA_MAKE_NUM(DATADIR_M405, 19), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 43), DATA_MAKE_NUM(DATADIR_M405, 27), DATA_MAKE_NUM(DATADIR_M405, 35), DATA_MAKE_NUM(DATADIR_M405, 43) }, - { DATA_MAKE_NUM(DATADIR_WARIOMOT, 42), DATA_MAKE_NUM(DATADIR_M405, 4), DATA_MAKE_NUM(DATADIR_M405, 12), DATA_MAKE_NUM(DATADIR_M405, 20), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 43), DATA_MAKE_NUM(DATADIR_M405, 28), DATA_MAKE_NUM(DATADIR_M405, 36), DATA_MAKE_NUM(DATADIR_M405, 44) }, - { DATA_MAKE_NUM(DATADIR_DONKEYMOT, 42), DATA_MAKE_NUM(DATADIR_M405, 5), DATA_MAKE_NUM(DATADIR_M405, 13), DATA_MAKE_NUM(DATADIR_M405, 21), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 43), DATA_MAKE_NUM(DATADIR_M405, 29), DATA_MAKE_NUM(DATADIR_M405, 37), DATA_MAKE_NUM(DATADIR_M405, 45) }, - { DATA_MAKE_NUM(DATADIR_DAISYMOT, 42), DATA_MAKE_NUM(DATADIR_M405, 6), DATA_MAKE_NUM(DATADIR_M405, 14), DATA_MAKE_NUM(DATADIR_M405, 22), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 43), DATA_MAKE_NUM(DATADIR_M405, 30), DATA_MAKE_NUM(DATADIR_M405, 38), DATA_MAKE_NUM(DATADIR_M405, 46) }, - { DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 42), DATA_MAKE_NUM(DATADIR_M405, 7), DATA_MAKE_NUM(DATADIR_M405, 15), DATA_MAKE_NUM(DATADIR_M405, 23), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 43), DATA_MAKE_NUM(DATADIR_M405, 31), DATA_MAKE_NUM(DATADIR_M405, 39), DATA_MAKE_NUM(DATADIR_M405, 47) } }; +s32 lbl_1_data_188[8][8] = { + { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 42), + DATA_MAKE_NUM(DATADIR_M405, 0), + DATA_MAKE_NUM(DATADIR_M405, 8), + DATA_MAKE_NUM(DATADIR_M405, 16), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 43), + DATA_MAKE_NUM(DATADIR_M405, 24), + DATA_MAKE_NUM(DATADIR_M405, 32), + DATA_MAKE_NUM(DATADIR_M405, 40) + }, + { + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 42), + DATA_MAKE_NUM(DATADIR_M405, 1), + DATA_MAKE_NUM(DATADIR_M405, 9), + DATA_MAKE_NUM(DATADIR_M405, 17), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 43), + DATA_MAKE_NUM(DATADIR_M405, 25), + DATA_MAKE_NUM(DATADIR_M405, 33), + DATA_MAKE_NUM(DATADIR_M405, 41) + }, + { + DATA_MAKE_NUM(DATADIR_PEACHMOT, 42), + DATA_MAKE_NUM(DATADIR_M405, 2), + DATA_MAKE_NUM(DATADIR_M405, 10), + DATA_MAKE_NUM(DATADIR_M405, 18), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 43), + DATA_MAKE_NUM(DATADIR_M405, 26), + DATA_MAKE_NUM(DATADIR_M405, 34), + DATA_MAKE_NUM(DATADIR_M405, 42) + }, + { + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 42), + DATA_MAKE_NUM(DATADIR_M405, 3), + DATA_MAKE_NUM(DATADIR_M405, 11), + DATA_MAKE_NUM(DATADIR_M405, 19), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 43), + DATA_MAKE_NUM(DATADIR_M405, 27), + DATA_MAKE_NUM(DATADIR_M405, 35), + DATA_MAKE_NUM(DATADIR_M405, 43) + }, + { + DATA_MAKE_NUM(DATADIR_WARIOMOT, 42), + DATA_MAKE_NUM(DATADIR_M405, 4), + DATA_MAKE_NUM(DATADIR_M405, 12), + DATA_MAKE_NUM(DATADIR_M405, 20), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 43), + DATA_MAKE_NUM(DATADIR_M405, 28), + DATA_MAKE_NUM(DATADIR_M405, 36), + DATA_MAKE_NUM(DATADIR_M405, 44) + }, + { + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 42), + DATA_MAKE_NUM(DATADIR_M405, 5), + DATA_MAKE_NUM(DATADIR_M405, 13), + DATA_MAKE_NUM(DATADIR_M405, 21), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 43), + DATA_MAKE_NUM(DATADIR_M405, 29), + DATA_MAKE_NUM(DATADIR_M405, 37), + DATA_MAKE_NUM(DATADIR_M405, 45) + }, + { + DATA_MAKE_NUM(DATADIR_DAISYMOT, 42), + DATA_MAKE_NUM(DATADIR_M405, 6), + DATA_MAKE_NUM(DATADIR_M405, 14), + DATA_MAKE_NUM(DATADIR_M405, 22), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 43), + DATA_MAKE_NUM(DATADIR_M405, 30), + DATA_MAKE_NUM(DATADIR_M405, 38), + DATA_MAKE_NUM(DATADIR_M405, 46) + }, + { + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 42), + DATA_MAKE_NUM(DATADIR_M405, 7), + DATA_MAKE_NUM(DATADIR_M405, 15), + DATA_MAKE_NUM(DATADIR_M405, 23), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 43), + DATA_MAKE_NUM(DATADIR_M405, 31), + DATA_MAKE_NUM(DATADIR_M405, 39), + DATA_MAKE_NUM(DATADIR_M405, 47) + } +}; -s32 lbl_1_data_288[] = { DATA_MAKE_NUM(DATADIR_M405, 55), DATA_MAKE_NUM(DATADIR_M405, 56) }; +s32 lbl_1_data_288[] = { + DATA_MAKE_NUM(DATADIR_M405, 55), + DATA_MAKE_NUM(DATADIR_M405, 56) +}; -s32 lbl_1_data_290[] = { DATA_MAKE_NUM(DATADIR_MGCONST, 0), DATA_MAKE_NUM(DATADIR_MGCONST, 1), DATA_MAKE_NUM(DATADIR_MGCONST, 2), - DATA_MAKE_NUM(DATADIR_MGCONST, 3), DATA_MAKE_NUM(DATADIR_MGCONST, 4), DATA_MAKE_NUM(DATADIR_MGCONST, 5), DATA_MAKE_NUM(DATADIR_MGCONST, 6), - DATA_MAKE_NUM(DATADIR_MGCONST, 7) }; +s32 lbl_1_data_290[] = { + DATA_MAKE_NUM(DATADIR_MGCONST, 0), + DATA_MAKE_NUM(DATADIR_MGCONST, 1), + DATA_MAKE_NUM(DATADIR_MGCONST, 2), + DATA_MAKE_NUM(DATADIR_MGCONST, 3), + DATA_MAKE_NUM(DATADIR_MGCONST, 4), + DATA_MAKE_NUM(DATADIR_MGCONST, 5), + DATA_MAKE_NUM(DATADIR_MGCONST, 6), + DATA_MAKE_NUM(DATADIR_MGCONST, 7) +}; s32 lbl_1_data_2B0[] = { -224, -128, 128, 224 }; -s32 lbl_1_data_2C0[] = { 0, 0, 0, 0, -20, -18, 19, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; +s32 lbl_1_data_2C0[] = { + 0, 0, + 0, 0, + -20, -18, + 19, -18, + 0, 0, + 0, 0, + 0, 0, + 0, 0, + 0, 0, + 0, 0 +}; s32 lbl_1_data_310[] = { -24, 17, 24, 17, 0, 17 }; s32 lbl_1_data_328[] = { 1, 0, 3, 2, 4 }; -u8 lbl_1_data_33C[][3] = { { 1, 0, 1 }, { 2, 3, 0 }, { 1, 0, 0 } }; +u8 lbl_1_data_33C[][3] = { + { 1, 0, 1 }, + { 2, 3, 0 }, + { 1, 0, 0 } +}; -u16 lbl_1_data_346[] = { 0x0100, 0x0200, 0x0040, 0x0020, 0x0000 }; +u16 lbl_1_data_346[] = { + 0x0100, 0x0200, 0x0040, 0x0020, 0x0000 +}; UnkBssA4InnerStruct lbl_1_data_350 = { 3570.0f, 2 }; UnkBssA4InnerStruct lbl_1_data_358 = { 3330.0f, 2 }; UnkBssA4InnerStruct lbl_1_data_360 = { 3180.0f, 2 }; UnkBssA4InnerStruct lbl_1_data_368 = { 3060.0f, 6 }; -HsfanimStruct00 lbl_1_data_370 = { 0x0014, { 0x00, 0x00 }, // padding? - 1.0f, 30.0f, 0.0f, { 0.0f, 0.05f, 0.0f }, 1.0f, 0.999f, 30.0f, 1.03f, 0x0004, - { { 0xFF, 0xFF, 0xFF, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF } }, - { { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 } } }; +HsfanimStruct00 lbl_1_data_370 = { + 0x0014, + { 0x00, 0x00 }, // padding? + 1.0f, + 30.0f, + 0.0f, + { 0.0f, 0.05f, 0.0f }, + 1.0f, + 0.999f, + 30.0f, + 1.03f, + 0x0004, + { + { 0xFF, 0xFF, 0xFF, 0xFF }, + { 0xFF, 0xFF, 0xFF, 0xFF }, + { 0xFF, 0xFF, 0xFF, 0xFF }, + { 0xFF, 0xFF, 0xFF, 0xFF } + }, + { + { 0xFF, 0xFF, 0xFF, 0x00 }, + { 0xFF, 0xFF, 0xFF, 0x00 }, + { 0xFF, 0xFF, 0xFF, 0x00 }, + { 0xFF, 0xFF, 0xFF, 0x00 } + } +}; -HsfanimStruct00 lbl_1_data_3C0 = { 0x0014, { 0x00, 0x00 }, // padding? - 1.0f, 10.0f, 360.0f, { 0.0f, 0.1f, 0.0f }, 1.0f, 1.0f, 50.0f, 1.05f, 0x0001, - { { 0xFF, 0xFF, 0xFF, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF } }, - { { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 } } }; +HsfanimStruct00 lbl_1_data_3C0 = { + 0x0014, + { 0x00, 0x00 }, // padding? + 1.0f, + 10.0f, + 360.0f, + { 0.0f, 0.1f, 0.0f }, + 1.0f, + 1.0f, + 50.0f, + 1.05f, + 0x0001, + { + { 0xFF, 0xFF, 0xFF, 0xFF }, + { 0xFF, 0xFF, 0xFF, 0xFF }, + { 0xFF, 0xFF, 0xFF, 0xFF }, + { 0xFF, 0xFF, 0xFF, 0xFF } + }, + { + { 0xFF, 0xFF, 0xFF, 0x00 }, + { 0xFF, 0xFF, 0xFF, 0x00 }, + { 0xFF, 0xFF, 0xFF, 0x00 }, + { 0xFF, 0xFF, 0xFF, 0x00 } + } +}; -void fn_1_57FC(void) -{ +void fn_1_57FC(void) { UnkBssA4Data *temp_r31; s32 i; @@ -1348,8 +1461,7 @@ void fn_1_57FC(void) } } -void fn_1_58A0(omObjData *arg0) -{ +void fn_1_58A0(omObjData *arg0) { Vec sp8; s16 var_r30; @@ -1359,8 +1471,8 @@ void fn_1_58A0(omObjData *arg0) arg0->work[0]++; lbl_1_bss_6C = 0.0f; Hu3DMotionSet(arg0->model[0], arg0->motion[1]); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(arg0->model[1], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(arg0->model[0], 0x40000003); + Hu3DModelAttrReset(arg0->model[1], 0x40000003); } break; case 1: @@ -1378,8 +1490,8 @@ void fn_1_58A0(omObjData *arg0) if (Hu3DMotionEndCheck(arg0->model[0]) != 0) { arg0->work[0]++; Hu3DMotionSet(arg0->model[0], arg0->motion[0]); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(arg0->model[0], 0x40000002); + Hu3DModelAttrSet(arg0->model[0], 0x40000001); } break; case 2: @@ -1387,8 +1499,7 @@ void fn_1_58A0(omObjData *arg0) } } -void fn_1_5B28(omObjData *arg0) -{ +void fn_1_5B28(omObjData *arg0) { s32 i; arg0->work[0] = 0; @@ -1400,29 +1511,27 @@ void fn_1_5B28(omObjData *arg0) arg0->motion[i] = Hu3DJointMotionFile(arg0->model[0], lbl_1_data_288[i]); } for (i = 0; i < 2; i++) { - Hu3DModelAttrSet(arg0->model[i], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[i], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(arg0->model[i], 1); + Hu3DModelAttrSet(arg0->model[i], 0x40000003); Hu3DModelLayerSet(arg0->model[i], 5); Hu3DModelShadowSet(arg0->model[i]); } Hu3DMotionSet(arg0->model[0], *arg0->motion); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(arg0->model[0], 0x40000002); Hu3DModelHookSet(arg0->model[0], "g001m1_021-itemhook_r", arg0->model[1]); Hu3DMotionTimeSet(arg0->model[1], 1.0f); for (i = 0; i < 2; i++) { - Hu3DModelAttrReset(arg0->model[i], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->model[i], 1); } arg0->func = fn_1_58A0; } -void fn_1_5D3C(UnkBssA4Data *arg0, Vec *arg1) -{ +void fn_1_5D3C(UnkBssA4Data *arg0, Vec *arg1) { fn_1_5530(arg1, arg0->unk98 + arg0->unk108 * 20); arg0->unk98 = (arg0->unk98 + 1) % 20; } -void fn_1_5DCC(UnkBssA4Data *arg0) -{ +void fn_1_5DCC(UnkBssA4Data *arg0) { Vec sp8; float var_f31; UnkFn2480Struct *temp_r31; @@ -1442,8 +1551,7 @@ void fn_1_5DCC(UnkBssA4Data *arg0) fn_1_557C(&sp8, var_f31, (3 - arg0->unk108) * 2, arg0->unk94 & 1); } -void fn_1_6040(UnkBssA4Data *arg0, omObjData *arg1) -{ +void fn_1_6040(UnkBssA4Data *arg0, omObjData *arg1) { Vec sp44[5]; s32 var_r27; s32 var_r26; @@ -1467,8 +1575,7 @@ void fn_1_6040(UnkBssA4Data *arg0, omObjData *arg1) Hu3DParManPosSet(arg0->unkF0[i], arg0->unkA0[i].x, arg0->unkA0[i].y, arg0->unkA0[i].z); if (--arg0->unkDC[i] <= 0) { Hu3DParManAttrSet(arg0->unkF0[i], 1); - } - else { + } else { Hu3DParManAttrReset(arg0->unkF0[i], 1); } } @@ -1485,8 +1592,7 @@ void fn_1_6040(UnkBssA4Data *arg0, omObjData *arg1) } } -void fn_1_65BC(UnkBssA4Data *arg0) -{ +void fn_1_65BC(UnkBssA4Data *arg0) { u8 *temp_r30; s32 i; @@ -1502,22 +1608,19 @@ void fn_1_65BC(UnkBssA4Data *arg0) espDispOn(arg0->unk0C[temp_r30[2] + 4]); } -void fn_1_6828(UnkBssA4Data *arg0) -{ +void fn_1_6828(UnkBssA4Data *arg0) { s32 temp_r30; temp_r30 = (113.0f - arg0->unk68) / 10.0f - 1.0f; if (temp_r30 > 9) { espDispOff(arg0->unk0C[3]); - } - else { + } else { espDispOn(arg0->unk0C[3]); espBankSet(arg0->unk0C[3], temp_r30); } } -u16 fn_1_68CC(UnkBssA4Data *arg0) -{ +u16 fn_1_68CC(UnkBssA4Data *arg0) { u16 var_r29; u8 *temp_r30; @@ -1540,17 +1643,14 @@ u16 fn_1_68CC(UnkBssA4Data *arg0) } if (arg0->unk44 >= 2 && 70.0f < arg0->unk68) { arg0->unk3C = 8.0f; - } - else if (0.0f != arg0->unk40) { + } else if (0.0f != arg0->unk40) { arg0->unk3C = arg0->unk40; - } - else if (arg0->unk48 > 0) { + } else if (arg0->unk48 > 0) { if ((arg0->unk48 & 1) == 1) { arg0->unk38 += 40.0f * (arg0->unk44 + 1); arg0->unk3C = 8.0f; arg0->unk48--; - } - else if (frandmod(10) == 0) { + } else if (frandmod(10) == 0) { arg0->unk3C = 8.0f; arg0->unk48--; } @@ -1562,15 +1662,13 @@ u16 fn_1_68CC(UnkBssA4Data *arg0) if (30.0f < arg0->unk68) { arg0->unk40 = 0.0f; } - } - else if (10.0f > arg0->unk68) { + } else if (10.0f > arg0->unk68) { arg0->unk40 = 20.0f; } return var_r29; } -void fn_1_6BFC(omObjData *arg0) -{ +void fn_1_6BFC(omObjData *arg0) { float var_f31; float var_f30; UnkBssA4Data *temp_r31; @@ -1584,8 +1682,8 @@ void fn_1_6BFC(omObjData *arg0) if (lbl_1_bss_98->work[0] == 1006) { temp_r31->unk100 = 2005; temp_r31->unk104 = 0; - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_PAUSE); - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[temp_r31->unk104], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(arg0->model[0], 0x40000002); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[temp_r31->unk104], 0.0f, 8.0f, 0x40000001); Hu3DMotionSpeedSet(arg0->model[0], 1.0f); for (i = 0; i < 5; i++) { Hu3DParManAttrSet(temp_r31->unkF0[i], 1); @@ -1601,8 +1699,7 @@ void fn_1_6BFC(omObjData *arg0) } if (GWPlayerCfg[temp_r31->unk108].iscom) { temp_r31->unk78 = fn_1_68CC(temp_r31); - } - else { + } else { temp_r31->unk78 |= HuPadBtnDown[temp_r31->unk110]; } var_r27 = temp_r31->unk104; @@ -1611,8 +1708,7 @@ void fn_1_6BFC(omObjData *arg0) temp_r28 = lbl_1_data_33C[temp_r31->unk94]; if (temp_r28[2] == 1) { var_r24 = lbl_1_data_346[temp_r28[0]] | lbl_1_data_346[temp_r28[1]]; - } - else { + } else { var_r24 = lbl_1_data_346[temp_r28[temp_r31->unk90 & 1]]; } temp_r31->unk6C += 1.0f; @@ -1622,8 +1718,7 @@ void fn_1_6BFC(omObjData *arg0) if (5.0f < temp_r31->unk74) { temp_r31->unk74 -= 1.0f; } - } - else { + } else { temp_r31->unk74 = 7.0f; } temp_r31->unk6C = 0.0f; @@ -1648,8 +1743,7 @@ void fn_1_6BFC(omObjData *arg0) } if (temp_r31->unk94 == 1) { var_f30 = 1.0f; - } - else { + } else { var_f30 = -1.0f; } temp_r31->unk5C += var_f31 * var_f30; @@ -1675,8 +1769,7 @@ void fn_1_6BFC(omObjData *arg0) temp_r31->unk8C = 0; } } - } - else { + } else { temp_r31->unk78 = 0; } if (1.0f > ABS(temp_r31->unk5C - temp_r31->unk4C.z)) { @@ -1684,8 +1777,7 @@ void fn_1_6BFC(omObjData *arg0) if (30.0f == temp_r31->unk7C) { var_r27 = 0; } - } - else { + } else { temp_r31->unk7C = 0; var_r27 = temp_r31->unk94 + 2; var_f31 = 0.1f * (temp_r31->unk5C - temp_r31->unk4C.z); @@ -1697,13 +1789,11 @@ void fn_1_6BFC(omObjData *arg0) temp_r31->unk4C.z = 1150.0f * (0.0f > temp_r31->unk4C.z ? -1 : 1); if (lbl_1_bss_7C < 0) { lbl_1_bss_7C = temp_r31->unk108; - } - else if (frandmod(100) > 50) { + } else if (frandmod(100) > 50) { lbl_1_bss_7C = temp_r31->unk108; } } - } - else { + } else { if (1150.0f < ABS(temp_r31->unk4C.z)) { temp_r31->unk100 = 2004; temp_r31->unkFC = 10.0f; @@ -1711,8 +1801,8 @@ void fn_1_6BFC(omObjData *arg0) temp_r31->unk5C = temp_r31->unk4C.z; var_r27 = temp_r31->unk94 + 5; temp_r31->unk104 = var_r27; - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[temp_r31->unk104], 0.0f, 8.0f, HU3D_MOTATTR_NONE); + Hu3DModelAttrReset(arg0->model[0], 0x40000003); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[temp_r31->unk104], 0.0f, 8.0f, 0); temp_r31->unk94++; if (temp_r31->unk94 > lbl_1_bss_78) { lbl_1_bss_78 = temp_r31->unk94; @@ -1742,8 +1832,8 @@ void fn_1_6BFC(omObjData *arg0) } if (var_r27 != temp_r31->unk104) { temp_r31->unk104 = var_r27; - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_PAUSE); - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[temp_r31->unk104], 0.0f, 30.0f, HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(arg0->model[0], 0x40000002); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[temp_r31->unk104], 0.0f, 30.0f, 0x40000001); } if (temp_r31->unk104 >= 2 && temp_r31->unk104 <= 4) { temp_r31->unk60 = 0.5f * temp_r31->unk64; @@ -1753,8 +1843,7 @@ void fn_1_6BFC(omObjData *arg0) if (2.0f < temp_r31->unk60) { temp_r31->unk60 = 2.0f; } - } - else { + } else { temp_r31->unk60 = 1.0f; temp_r31->unk64 = 0.0f; } @@ -1765,8 +1854,7 @@ void fn_1_6BFC(omObjData *arg0) omSetRot(arg0, 0.0f, temp_r31->unk58, 0.0f); } -void fn_1_798C(omObjData *arg0) -{ +void fn_1_798C(omObjData *arg0) { UnkBssA4Data *temp_r31; s32 i; @@ -1775,20 +1863,19 @@ void fn_1_798C(omObjData *arg0) case 2000: if (lbl_1_bss_98->work[0] >= 1003) { temp_r31->unk100++; - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(arg0->model[0], 0x40000003); } break; case 2001: if (lbl_1_bss_98->work[0] >= 1005) { temp_r31->unk100++; - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(arg0->model[0], 0x40000003); for (i = 0; i <= 3; i++) { espDispOn(temp_r31->unk0C[i]); } fn_1_65BC(temp_r31); - } - else if (30.0f == Hu3DMotionTimeGet(arg0->model[0])) { - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_PAUSE); + } else if (30.0f == Hu3DMotionTimeGet(arg0->model[0])) { + Hu3DModelAttrSet(arg0->model[0], 0x40000002); } break; case 2002: @@ -1797,8 +1884,8 @@ void fn_1_798C(omObjData *arg0) temp_r31->unk4C.z = 900.0f; temp_r31->unk5C = temp_r31->unk4C.z; temp_r31->unk104 = 2; - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(arg0->model[0], 0x40000001); + Hu3DModelAttrReset(arg0->model[0], 0x40000002); Hu3DMotionSet(arg0->model[0], arg0->motion[temp_r31->unk104]); Hu3DMotionCalc(arg0->model[0]); arg0->func = fn_1_6BFC; @@ -1811,17 +1898,16 @@ void fn_1_798C(omObjData *arg0) if (lbl_1_bss_7C == temp_r31->unk108) { temp_r31->unk58 = fn_1_1E20(temp_r31->unk58, 0.0f, 0.1f); } - if (lbl_1_bss_98->work[0] >= 1008 && temp_r31->unk104 == 0 && lbl_1_bss_7C == temp_r31->unk108 - && 1.0f == Hu3DMotionTimeGet(arg0->model[0])) { + if (lbl_1_bss_98->work[0] >= 1008 && temp_r31->unk104 == 0 && lbl_1_bss_7C == temp_r31->unk108 && 1.0f == Hu3DMotionTimeGet(arg0->model[0])) { temp_r31->unk104 = 7; Hu3DMotionOverlaySet(arg0->model[0], arg0->motion[temp_r31->unk104]); Hu3DMotionOverlayTimeSet(arg0->model[0], 0.0f); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_OVL_PAUSE); + Hu3DModelAttrReset(arg0->model[0], 0x40000400); HuAudCharVoicePlay(temp_r31->unk10C, 0x124); } if (temp_r31->unk104 == 7 && 73.0f <= Hu3DMotionOverlayTimeGet(arg0->model[0])) { Hu3DMotionOverlayTimeSet(arg0->model[0], 35.0f); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_OVL_PAUSE); + Hu3DModelAttrReset(arg0->model[0], 0x40000400); } temp_r31->unk4C.y = -62.0f + 4.0f * fn_1_5664(&temp_r31->unk4C); break; @@ -1836,8 +1922,7 @@ void fn_1_798C(omObjData *arg0) omSetRot(arg0, 0.0f, temp_r31->unk58, 0.0f); } -void fn_1_81B4(omObjData *arg0) -{ +void fn_1_81B4(omObjData *arg0) { float var_f31; UnkBssA4Data *temp_r31; s32 i; @@ -1872,9 +1957,9 @@ void fn_1_81B4(omObjData *arg0) arg0->motion[i] = CharModelMotionCreate(lbl_1_data_0[temp_r31->unk10C], lbl_1_data_188[temp_r31->unk10C][i]); CharModelMotionSet(lbl_1_data_0[temp_r31->unk10C], arg0->motion[i]); } - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(arg0->model[0], 1); + Hu3DModelAttrReset(arg0->model[0], 0x40000001); + Hu3DModelAttrSet(arg0->model[0], 0x40000002); Hu3DModelLayerSet(arg0->model[0], 3); Hu3DMotionSet(arg0->model[0], arg0->motion[1]); Hu3DMotionTimeSet(arg0->model[0], 1.0f); @@ -1886,7 +1971,7 @@ void fn_1_81B4(omObjData *arg0) omSetTra(arg0, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z); omSetRot(arg0, 0.0f, temp_r31->unk58, 0.0f); for (i = 0; i < 1; i++) { - Hu3DModelAttrReset(arg0->model[i], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->model[i], 1); } temp_r31->unk04 = 288.0f + lbl_1_data_2B0[temp_r31->unk108]; temp_r31->unk08 = 80; @@ -1905,7 +1990,7 @@ void fn_1_81B4(omObjData *arg0) for (i = 0; i < 10; i++) { espDrawNoSet(temp_r31->unk0C[i], 0); espDispOff(temp_r31->unk0C[i]); - espAttrSet(temp_r31->unk0C[i], HUSPR_ATTR_NOANIM); + espAttrSet(temp_r31->unk0C[i], 1); espBankSet(temp_r31->unk0C[i], 0); espPriSet(temp_r31->unk0C[i], 128 - i); espPosSet(temp_r31->unk0C[i], temp_r31->unk04 + lbl_1_data_2C0[i * 2], temp_r31->unk08 + lbl_1_data_2C0[i * 2 + 1]); @@ -1955,8 +2040,7 @@ void fn_1_81B4(omObjData *arg0) arg0->func = fn_1_798C; } -void fn_1_8AF0(void) -{ +void fn_1_8AF0(void) { Vec sp20; Vec sp14; Vec sp8; @@ -2004,8 +2088,7 @@ void fn_1_8AF0(void) sp14.x += 0.02f * (-1500.0f - sp14.x); sp14.y += 0.02f * (700.0f - sp14.y); sp14.z += 0.04f * (sp8.z - sp14.z); - } - else { + } else { var_f31 = 0.05f * (288.0f - (var_f29 + var_f30) / 2); if (0.0f < var_f31) { sp14.z -= var_f31; @@ -2050,8 +2133,7 @@ void fn_1_8AF0(void) sp14.x -= 0.2f * var_f31; sp8.x += 0.01f * var_f31; } - } - else { + } else { sp14.y += 2.0f * var_f31; sp14.x -= 0.5f * var_f31; sp8.x += 0.01f * var_f31; @@ -2061,15 +2143,13 @@ void fn_1_8AF0(void) fn_1_1350(&sp14, &lbl_1_data_100, &sp8); } -static inline void fn_1_9288_InlineFunc(Vec *arg0, float arg1, float arg2, float arg3) -{ +static inline void fn_1_9288_InlineFunc(Vec *arg0, float arg1, float arg2, float arg3) { arg0->x = arg1; arg0->y = arg2; arg0->z = arg3; } -void fn_1_9288(omObjData *arg0) -{ +void fn_1_9288(omObjData *arg0) { Vec sp18; Vec spC; float var_f27; @@ -2104,8 +2184,7 @@ void fn_1_9288(omObjData *arg0) if (90.0f >= lbl_1_bss_80) { var_r30 = 1; var_f27 = lbl_1_bss_80; - } - else { + } else { var_r30 = 0; var_f27 = lbl_1_bss_80 - 90.0f; } @@ -2152,8 +2231,7 @@ void fn_1_9288(omObjData *arg0) lbl_1_bss_73C++; if (lbl_1_bss_734 >= 0) { MGSeqParamSet(lbl_1_bss_734, 1, (18059 - lbl_1_bss_73C) / 60); - } - else if (lbl_1_bss_73C > 16200) { + } else if (lbl_1_bss_73C > 16200) { lbl_1_bss_734 = MGSeqTimerCreate((18059 - lbl_1_bss_73C) / 60); MGSeqPosSet(lbl_1_bss_734, 288.0f, 400.0f); } @@ -2180,8 +2258,7 @@ void fn_1_9288(omObjData *arg0) if (lbl_1_bss_78 == 2) { fn_1_1350(&lbl_1_data_13C, &lbl_1_data_100, &lbl_1_data_148); } - } - else { + } else { fn_1_8AF0(); } lbl_1_bss_74 = lbl_1_bss_78; @@ -2197,8 +2274,7 @@ void fn_1_9288(omObjData *arg0) if (lbl_1_bss_7C >= 0) { lbl_1_bss_60 = HuAudFXPlay(0x538); } - } - else { + } else { lbl_1_bss_80 += 1.0f; if (lbl_1_bss_7C >= 0) { fn_1_11F4(lbl_1_bss_80 / 60.0f, &lbl_1_bss_48[0], &lbl_1_bss_30[0], &sp18); @@ -2212,7 +2288,10 @@ void fn_1_9288(omObjData *arg0) } if (lbl_1_bss_7C >= 0 && !GWPlayerCfg[lbl_1_bss_7C].iscom && lbl_1_bss_738 > lbl_1_bss_73C) { arg0->work[0] = 1007; - fn_1_798(0); + lbl_1_bss_728 = 0.0f; + lbl_1_bss_738 = lbl_1_bss_73C; + GWMGRecordSet(0, lbl_1_bss_738); + fn_1_580(lbl_1_bss_6E8, 7, lbl_1_bss_73C); } lbl_1_bss_736 = -1; lbl_1_bss_80 = 0.0f; @@ -2235,13 +2314,11 @@ void fn_1_9288(omObjData *arg0) if (lbl_1_bss_7C < 0) { lbl_1_bss_736 = MGSeqDrawCreate(); HuAudSStreamPlay(4); - } - else { + } else { lbl_1_bss_736 = MGSeqWinCreate(GWPlayerCfg[lbl_1_bss_7C].character, -1, -1, -1); HuAudSStreamPlay(1); } - } - else { + } else { lbl_1_bss_80 += 1.0f; 0 <= lbl_1_bss_7C; if (210.0f < lbl_1_bss_80 && MGSeqStatGet(lbl_1_bss_736) == 0) { @@ -2259,8 +2336,7 @@ void fn_1_9288(omObjData *arg0) fn_1_A40(); } -void fn_1_AD10(omObjData *arg0) -{ +void fn_1_AD10(omObjData *arg0) { s32 i; arg0->work[0] = 1000; @@ -2269,43 +2345,42 @@ void fn_1_AD10(omObjData *arg0) lbl_1_bss_70 = 900.0f; omSetTra(arg0, 0.0f, 0.0f, 0.0f); arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M405, 48)); - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(arg0->model[0], 0x4001); + Hu3DModelAttrSet(arg0->model[0], 0x40000002); Hu3DModelLayerSet(arg0->model[0], 5); arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M405, 49)); - Hu3DModelAttrSet(arg0->model[1], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(arg0->model[1], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(arg0->model[1], 0x4001); + Hu3DModelAttrSet(arg0->model[1], 0x40000002); Hu3DModelLayerSet(arg0->model[1], 6); Hu3DModelPosSet(arg0->model[1], 0.0f, 0.0f, 0.0f); arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M405, 50)); - Hu3DModelAttrSet(arg0->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[2], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(arg0->model[2], 1); + Hu3DModelAttrSet(arg0->model[2], 0x40000002); Hu3DModelLayerSet(arg0->model[2], 1); Hu3DModelPosSet(arg0->model[2], 0.0f, 0.0f, 0.0f); Hu3DModelShadowMapSet(arg0->model[2]); arg0->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M405, 51)); - Hu3DModelAttrSet(arg0->model[3], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[3], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(arg0->model[3], 1); + Hu3DModelAttrSet(arg0->model[3], 0x40000002); Hu3DModelLayerSet(arg0->model[3], 1); Hu3DModelPosSet(arg0->model[3], 0.0f, -4.0f, 0.0f); Hu3DModelTPLvlSet(arg0->model[3], 0.4f); arg0->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M405, 52)); - Hu3DModelAttrSet(arg0->model[4], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(arg0->model[4], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(arg0->model[4], 0x4001); + Hu3DModelAttrSet(arg0->model[4], 0x40000002); Hu3DModelLayerSet(arg0->model[4], 6); Hu3DModelPosSet(arg0->model[4], 0.0f, 0.0f, 0.0f); fn_1_B4C(80.0f, DATA_MAKE_NUM(DATADIR_M405, 72)); fn_1_9EC(); for (i = 0; i < 5; i++) { - Hu3DModelAttrReset(arg0->model[i], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->model[i], 1); } lbl_1_bss_68 = HuAudFXPlay(0x537); WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); arg0->func = fn_1_9288; } -void ObjectSetup(void) -{ +void ObjectSetup(void) { Vec sp8; s32 temp_r29; s32 i; @@ -2335,7 +2410,7 @@ void ObjectSetup(void) Hu3DGLightInfinitytSet(temp_r29); Hu3DShadowCreate(30.0f, 20.0f, 20000.0f); Hu3DShadowTPLvlSet(0.8f); - VECNormalize(&lbl_1_data_170, &sp8); + PSVECNormalize(&lbl_1_data_170, &sp8); Hu3DShadowPosSet(&lbl_1_data_170, &sp8, &lbl_1_data_17C); lbl_1_bss_90 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M405, 57)); HuSprAnimLock(lbl_1_bss_90); @@ -2358,8 +2433,7 @@ void ObjectSetup(void) lbl_1_bss_98 = omAddObjEx(lbl_1_bss_774, 104, 5, 0, -1, fn_1_AD10); } -void fn_1_B5C8(omObjData *arg0) -{ +void fn_1_B5C8(omObjData *arg0) { s32 i; if (lbl_1_bss_68 >= 0) { diff --git a/src/REL/m406Dll/main.c b/src/REL/m406Dll/main.c index 8642d951..dcd78522 100644 --- a/src/REL/m406Dll/main.c +++ b/src/REL/m406Dll/main.c @@ -5,6 +5,7 @@ #include "game/hsfdraw.h" #include "game/minigame_seq.h" #include "game/wipe.h" +#include "rel_sqrt_consts.h" #include "REL/m406Dll.h" @@ -123,8 +124,8 @@ void ObjectSetup(void) sp14.x = Center.x + (CZoom * (sind(CRot.y) * cosd(CRot.x))); sp14.y = Center.y + (CZoom * -sind(CRot.x)); sp14.z = Center.z + (CZoom * (cosd(CRot.y) * cosd(CRot.x))); - VECSubtract(&Center, &sp14, &sp8); - VECNormalize(&sp8, &sp8); + PSVECSubtract(&Center, &sp14, &sp8); + PSVECNormalize(&sp8, &sp8); HuAudFXListnerSetEX(&sp14, &sp8, 100000.0f, 4166.6665f, 0.0f, 300.0f, 300.0f); Hu3DLightAllKill(); Hu3DLighInit(); @@ -135,7 +136,7 @@ void ObjectSetup(void) lbl_1_bss_10 = -1; lbl_1_bss_C = -1; lbl_1_bss_8 = 0; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + WipeCreate(1, 0, 60); lbl_1_bss_8 = 0; } @@ -184,8 +185,7 @@ void fn_1_40C(omObjData *object) if (var_r31 & 16 && lbl_1_bss_C == -1) { lbl_1_bss_C = HuAudSeqPlay(74); } - } - else { + } else { var_r31 = 0; } if (lbl_1_bss_24 == -1 || !var_r31) { @@ -209,9 +209,8 @@ void fn_1_40C(omObjData *object) Hu3DBGColorSet(0x40, 0x40, 0xFF); lbl_1_bss_1C = 5; lbl_1_bss_18 = 0; - } - else { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + } else { + WipeCreate(2, 0, 30); WipeColorSet(0xFF, 0xFF, 0xFF); lbl_1_bss_8 = 1; lbl_1_bss_1C = 9; @@ -236,7 +235,7 @@ void fn_1_40C(omObjData *object) var_f31 = 1.0f; } fn_1_183C(var_f31); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + WipeCreate(2, 0, 30); WipeColorSet(0xFF, 0xFF, 0xFF); lbl_1_bss_8 = 1; lbl_1_bss_1C = 7; @@ -251,7 +250,7 @@ void fn_1_40C(omObjData *object) fn_1_183C(var_f31); if (!WipeStatGet() && (lbl_1_bss_24 == -1 || !MGSeqStatGet(lbl_1_bss_24))) { lbl_1_bss_24 = -1; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); + WipeCreate(1, 0, 30); WipeColorSet(0xFF, 0xFF, 0xFF); lbl_1_bss_8 = 0; CRot.x = lbl_1_data_0.unk_54; @@ -275,7 +274,7 @@ void fn_1_40C(omObjData *object) case 9: if (!WipeStatGet() && (lbl_1_bss_24 == -1 || !MGSeqStatGet(lbl_1_bss_24))) { lbl_1_bss_24 = -1; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); + WipeCreate(1, 0, 30); WipeColorSet(0xFF, 0xFF, 0xFF); lbl_1_bss_8 = 0; CRot.x = lbl_1_data_0.unk_54; @@ -288,8 +287,8 @@ void fn_1_40C(omObjData *object) sp14.x = Center.x + (CZoom * (sind(CRot.y) * cosd(CRot.x))); sp14.y = Center.y + (CZoom * -sind(CRot.x)); sp14.z = Center.z + (CZoom * (cosd(CRot.y) * cosd(CRot.x))); - VECSubtract(&Center, &sp14, &sp8); - VECNormalize(&sp8, &sp8); + PSVECSubtract(&Center, &sp14, &sp8); + PSVECNormalize(&sp8, &sp8); HuAudFXListnerUpdate(&sp14, &sp8); fn_1_6B5C(); fn_1_3064(1); @@ -312,8 +311,7 @@ void fn_1_40C(omObjData *object) GWPlayerCoinWinAdd(lbl_1_bss_10, 10); lbl_1_bss_1C = 13; lbl_1_bss_18 = 0; - } - else { + } else { lbl_1_bss_24 = MGSeqCreate(3, 2); HuAudSStreamPlay(4); lbl_1_bss_1C = 13; @@ -323,7 +321,7 @@ void fn_1_40C(omObjData *object) case 13: if (++lbl_1_bss_18 >= 210.0f) { lbl_1_bss_24 = -1; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + WipeCreate(2, 0, 60); lbl_1_bss_8 = 1; lbl_1_bss_1C = 14; lbl_1_bss_18 = 0; @@ -371,7 +369,7 @@ void fn_1_1168(omObjData *object) } if (var_r30) { if (!lbl_1_bss_8) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + WipeCreate(2, 0, 60); } lbl_1_bss_8 = 1; HuAudStreamFadeOut(30); @@ -412,8 +410,7 @@ void fn_1_12BC(void) lbl_1_bss_1C = 12; lbl_1_bss_18 = 0; } - } - else if (lbl_1_bss_1C == 11) { + } else if (lbl_1_bss_1C == 11) { lbl_1_bss_1C = 12; lbl_1_bss_18 = 0; } @@ -465,8 +462,8 @@ void fn_1_15D0(float arg8) sp14.x = Center.x + (CZoom * (sind(CRot.y) * cosd(CRot.x))); sp14.y = Center.y + (CZoom * -sind(CRot.x)); sp14.z = Center.z + (CZoom * (cosd(CRot.y) * cosd(CRot.x))); - VECSubtract(&Center, &sp14, &sp8); - VECNormalize(&sp8, &sp8); + PSVECSubtract(&Center, &sp14, &sp8); + PSVECNormalize(&sp8, &sp8); HuAudFXListnerUpdate(&sp14, &sp8); } @@ -485,8 +482,8 @@ void fn_1_183C(float arg8) sp14.x = Center.x + (CZoom * (sind(CRot.y) * cosd(CRot.x))); sp14.y = Center.y + (CZoom * -sind(CRot.x)); sp14.z = Center.z + (CZoom * (cosd(CRot.y) * cosd(CRot.x))); - VECSubtract(&Center, &sp14, &sp8); - VECNormalize(&sp8, &sp8); + PSVECSubtract(&Center, &sp14, &sp8); + PSVECNormalize(&sp8, &sp8); HuAudFXListnerUpdate(&sp14, &sp8); } @@ -501,21 +498,18 @@ float fn_1_1BA8(float arg8, float arg9) if (arg8 >= 360.0f) { arg8 -= 360.0f; - } - else if (arg8 < 0.0f) { + } else if (arg8 < 0.0f) { arg8 += 360.0f; } if (arg9 >= 360.0f) { arg9 -= 360.0f; - } - else if (arg9 < 0.0f) { + } else if (arg9 < 0.0f) { arg9 += 360.0f; } var_f31 = arg8 - arg9; if (var_f31 <= -180.0f) { var_f31 += 360.0f; - } - else if (var_f31 >= 180.0f) { + } else if (var_f31 >= 180.0f) { var_f31 -= 360.0f; } return var_f31; @@ -528,14 +522,12 @@ float fn_1_1CC0(float arg8, float arg9, float argA) if (arg8 >= 360.0) { arg8 -= 360.0; - } - else if (arg8 < 0.0) { + } else if (arg8 < 0.0) { arg8 += 360.0; } if (arg9 >= 360.0) { arg9 -= 360.0; - } - else if (arg9 < 0.0) { + } else if (arg9 < 0.0) { arg9 += 360.0; } var_f30 = 360.0 + (arg8 - arg9); @@ -545,22 +537,18 @@ float fn_1_1CC0(float arg8, float arg9, float argA) if (var_f30 < 180.0) { if (var_f30 <= argA) { var_f31 = var_f30; - } - else { + } else { var_f31 = argA; } - } - else if (360.0 - var_f30 <= argA) { + } else if (360.0 - var_f30 <= argA) { var_f31 = -(360.0 - var_f30); - } - else { + } else { var_f31 = -argA; } var_f31 += arg9; if (var_f31 >= 360.0) { var_f31 -= 360.0; - } - else if (var_f31 < 0.0) { + } else if (var_f31 < 0.0) { var_f31 += 360.0; } return var_f31; diff --git a/src/REL/m406Dll/map.c b/src/REL/m406Dll/map.c index e995e73a..6f0fdb1e 100644 --- a/src/REL/m406Dll/map.c +++ b/src/REL/m406Dll/map.c @@ -478,7 +478,7 @@ omObjData *fn_1_2308(Process *arg0) for (var_r31 = 0; var_r31 < 7; var_r31++) { var_r30 = lbl_1_bss_CC->model[var_r31] = Hu3DModelCreateFile(lbl_1_data_7A8[var_r31]); Hu3DModelShadowMapSet(var_r30); - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r30, 1); if (var_r31 < 6) { fn_1_CDD8(var_r30, 1.25f, 1.05f, 1.0f, 1.0f); } @@ -491,19 +491,19 @@ omObjData *fn_1_2308(Process *arg0) lbl_1_bss_CC->model[var_r31 + 7] = var_r30; } if (var_r30 != -1) { - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r30, 1); Hu3DModelLayerSet(var_r30, 5); } } var_r30 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M406, 54)); lbl_1_bss_CC->model[14] = var_r30; Hu3DModelPosSet(var_r30, 0.0f, 10.0f, 0.0f); - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r30, 1); Hu3DModelLayerSet(var_r30, 5); lbl_1_bss_C8 = omAddObjEx(arg0, 0x7D, 6, 0, 2, NULL); for (var_r31 = 0; var_r31 < 6; var_r31++) { lbl_1_bss_C8->model[var_r31] = Hu3DModelCreateFile(lbl_1_data_7E0[var_r31]); - Hu3DModelAttrSet(lbl_1_bss_C8->model[var_r31], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(lbl_1_bss_C8->model[var_r31], 1); } lbl_1_bss_C4 = omAddObjEx(arg0, 0x7D, 3, 0, 3, NULL); lbl_1_bss_C4->trans.x = lbl_1_data_780->x; @@ -588,20 +588,20 @@ void fn_1_2C24(omObjData *object) var_f31 = -(5000.0f + (10000.0f * var_r30)); if (fabs(Center.z - var_f31) > 10000.0 || !lbl_1_bss_BC) { if (object->model[var_r30] != -1) { - Hu3DModelAttrSet(object->model[var_r30], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[var_r30], 1); } var_r29 = var_r30 + 7; if (object->model[var_r29] != -1) { - Hu3DModelAttrSet(object->model[var_r29], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[var_r29], 1); } } else { if (object->model[var_r30] != -1) { - Hu3DModelAttrReset(object->model[var_r30], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(object->model[var_r30], 1); } var_r29 = var_r30 + 7; if (object->model[var_r29] != -1) { - Hu3DModelAttrReset(object->model[var_r29], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(object->model[var_r29], 1); } } } @@ -609,41 +609,41 @@ void fn_1_2C24(omObjData *object) if (object->model[var_r29] != -1) { var_f31 = 25000.0f; if (fabs(Center.z - var_f31) < 15000.0) { - Hu3DModelAttrSet(object->model[var_r29], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[var_r29], 1); } else { - Hu3DModelAttrReset(object->model[var_r29], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(object->model[var_r29], 1); } } var_r29 = 6; if (object->model[var_r29] != -1) { - Hu3DModelAttrSet(object->model[var_r29], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[var_r29], 1); } for (var_r30 = 0; var_r30 < 3; var_r30++) { if (fabs(Center.z - lbl_1_data_780[var_r30].z) > 10000.0) { - Hu3DModelAttrSet(lbl_1_bss_C4->model[var_r30], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(lbl_1_bss_C4->model[var_r30], 1); } else { - Hu3DModelAttrReset(lbl_1_bss_C4->model[var_r30], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(lbl_1_bss_C4->model[var_r30], 1); } } return; } for (var_r30 = 0; var_r30 < 6; var_r30++) { if (object->model[var_r30] != -1) { - Hu3DModelAttrSet(object->model[var_r30], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[var_r30], 1); } var_r29 = var_r30 + 7; if (object->model[var_r29] != -1) { - Hu3DModelAttrSet(object->model[var_r29], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[var_r29], 1); } } var_r29 = 6; if (object->model[var_r29] != -1) { - Hu3DModelAttrReset(object->model[var_r29], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(object->model[var_r29], 1); } for (var_r30 = 0; var_r30 < 3; var_r30++) { - Hu3DModelAttrSet(lbl_1_bss_C4->model[var_r30], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(lbl_1_bss_C4->model[var_r30], 1); } } @@ -1083,7 +1083,7 @@ void fn_1_45BC(ModelData *arg0, Mtx arg1) } if (!var_r31->unk_28) { GXLoadPosMtxImm(arg1, 0); - MTXInvXpose(arg1, sp10); + PSMTXInvXpose(arg1, sp10); GXLoadNrmMtxImm(sp10, 0); var_r26 = fn_1_D06C(arg0, Hu3DCameraMtx, Hu3DCameraMtxXPose, 2.0f); GXSetNumTevStages(1); @@ -1340,7 +1340,7 @@ void fn_1_4964(ModelData *arg0) } } else { - Hu3DModelAttrSet(var_r31->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_00, 1); var_r31->unk_08 = -1; var_r31->unk_0C--; } @@ -1351,10 +1351,10 @@ void fn_1_4964(ModelData *arg0) fn_1_D488(sp38, &lbl_1_data_F0[var_r24], &lbl_1_data_F0[var_r24 + 1], &spB8); fn_1_D488(sp38, &lbl_1_data_438[var_r24], &lbl_1_data_438[var_r24 + 1], &spAC); fn_1_D488(var_r31->unk_10, &spB8, &spAC, &var_r31->unk_3C); - Hu3DModelAttrReset(var_r31->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r31->unk_00, 1); } else { - Hu3DModelAttrSet(var_r31->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_00, 1); var_r31->unk_08 = -1; continue; } @@ -1408,17 +1408,17 @@ void fn_1_6174(ModelData *arg0) var_r31 = arg0->unk_120; memset(var_r31->unk_88, 0, var_r31->unk_80 * sizeof(Vec)); for (var_r29 = 0, var_r30 = var_r31->unk_9C; var_r29 < var_r31->unk_98; var_r29++, var_r30++) { - VECSubtract(&var_r31->unk_84[(*var_r30)[1]], &var_r31->unk_84[(*var_r30)[0]], &sp14); - VECSubtract(&var_r31->unk_84[(*var_r30)[2]], &var_r31->unk_84[(*var_r30)[1]], &sp8); - VECCrossProduct(&sp14, &sp8, &sp20); + PSVECSubtract(&var_r31->unk_84[(*var_r30)[1]], &var_r31->unk_84[(*var_r30)[0]], &sp14); + PSVECSubtract(&var_r31->unk_84[(*var_r30)[2]], &var_r31->unk_84[(*var_r30)[1]], &sp8); + PSVECCrossProduct(&sp14, &sp8, &sp20); - VECAdd(&var_r31->unk_88[(*var_r30)[0]], &sp20, &var_r31->unk_88[(*var_r30)[0]]); - VECAdd(&var_r31->unk_88[(*var_r30)[1]], &sp20, &var_r31->unk_88[(*var_r30)[1]]); - VECAdd(&var_r31->unk_88[(*var_r30)[2]], &sp20, &var_r31->unk_88[(*var_r30)[2]]); - VECAdd(&var_r31->unk_88[(*var_r30)[3]], &sp20, &var_r31->unk_88[(*var_r30)[3]]); + PSVECAdd(&var_r31->unk_88[(*var_r30)[0]], &sp20, &var_r31->unk_88[(*var_r30)[0]]); + PSVECAdd(&var_r31->unk_88[(*var_r30)[1]], &sp20, &var_r31->unk_88[(*var_r30)[1]]); + PSVECAdd(&var_r31->unk_88[(*var_r30)[2]], &sp20, &var_r31->unk_88[(*var_r30)[2]]); + PSVECAdd(&var_r31->unk_88[(*var_r30)[3]], &sp20, &var_r31->unk_88[(*var_r30)[3]]); } for (var_r29 = 0, var_r28 = var_r31->unk_88; var_r29 < var_r31->unk_80; var_r29++) { - VECNormalize(var_r28, var_r28); + PSVECNormalize(var_r28, var_r28); } } @@ -1458,9 +1458,9 @@ void fn_1_64F8(UnkM406Struct2 *arg0) for (var_r30 = 0, var_r31 = arg0; var_r30 < lbl_1_bss_B4; var_r30++, var_r31++) { if (var_r30 < lbl_1_bss_B4 - 1) { var_r28 = &arg0[var_r30 + 1]; - VECSubtract(&var_r28->unk_14, &var_r31->unk_14, &var_r31->unk_08); - var_r31->unk_00 = VECMag(&var_r31->unk_08); - VECNormalize(&var_r31->unk_08, &var_r31->unk_08); + PSVECSubtract(&var_r28->unk_14, &var_r31->unk_14, &var_r31->unk_08); + var_r31->unk_00 = PSVECMag(&var_r31->unk_08); + PSVECNormalize(&var_r31->unk_08, &var_r31->unk_08); } else { var_r31->unk_00 = 100000.0f; @@ -1506,7 +1506,7 @@ void fn_1_67CC(ModelData *arg0) var_r31 = var_r29->unk_30; for (var_r30 = 0; var_r30 < 12; var_r30++, var_r31++) { if (var_r31->unk_04 != 3 || var_r31->unk_0C > 0) { - Hu3DModelAttrSet(var_r31->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_00, 1); var_r31->unk_0C--; } else { @@ -1517,9 +1517,9 @@ void fn_1_67CC(ModelData *arg0) var_r31->unk_30.y -= 0.49f; Hu3DModelPosSet(var_r31->unk_00, var_r31->unk_3C.x, var_r31->unk_3C.y, var_r31->unk_3C.z); Hu3DModelRotSet(var_r31->unk_00, var_r31->unk_20, var_r31->unk_24, 0.0f); - Hu3DModelAttrReset(var_r31->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r31->unk_00, 1); if (++var_r31->unk_08 >= 600.0f) { - Hu3DModelAttrSet(var_r31->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_00, 1); var_r31->unk_04 = 0; var_r31->unk_08 = 0; } @@ -1568,10 +1568,10 @@ s32 fn_1_6A44(Vec arg0) } var_r29 = &Hu3DData[lbl_1_data_7A4]; var_r31 = var_r29->unk_120; - VECAdd(&var_r31->unk_34, &var_r31->unk_40, &sp8); - VECScale(&sp8, &sp8, 0.5f); - VECSubtract(&var_r31->unk_34, &sp8, &sp20); - VECSubtract(&var_r31->unk_40, &sp8, &sp14); + PSVECAdd(&var_r31->unk_34, &var_r31->unk_40, &sp8); + PSVECScale(&sp8, &sp8, 0.5f); + PSVECSubtract(&var_r31->unk_34, &sp8, &sp20); + PSVECSubtract(&var_r31->unk_40, &sp8, &sp14); var_f31 = fn_1_D5CC(&sp20, &sp14, arg0.x - sp8.x, arg0.z - sp8.z); if (var_f31 <= 0.0f) { return 0; @@ -1646,10 +1646,10 @@ void fn_1_6FFC(void) var_r30 = lbl_1_bss_B0; if (var_r30->unk_04 <= 0) { - Hu3DModelAttrSet(var_r30->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r30->unk_00, 1); return; } - Hu3DModelAttrReset(var_r30->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r30->unk_00, 1); var_r27 = &Hu3DData[var_r30->unk_00]; var_r29 = var_r27->unk_120; var_r31 = var_r29->unk_3C; @@ -1680,7 +1680,7 @@ void fn_1_717C(void) UnkM406Struct10 *var_r31; var_r31 = lbl_1_bss_B0; - Hu3DModelAttrSet(var_r31->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_00, 1); HuSprAnimKill(var_r31->unk_08); } @@ -1805,10 +1805,10 @@ void fn_1_77F0(void) var_r30 = lbl_1_bss_AC; if (var_r30->unk_04 <= 0) { - Hu3DModelAttrSet(var_r30->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r30->unk_00, 1); return; } - Hu3DModelAttrReset(var_r30->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r30->unk_00, 1); var_r27 = &Hu3DData[var_r30->unk_00]; var_r29 = var_r27->unk_120; var_r31 = var_r29->unk_3C; @@ -1846,7 +1846,7 @@ void fn_1_79B0(void) UnkM406Struct10 *var_r31; var_r31 = lbl_1_bss_AC; - Hu3DModelAttrSet(var_r31->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_00, 1); HuSprAnimKill(var_r31->unk_08); } @@ -1939,10 +1939,10 @@ void fn_1_7C4C(void) var_r30 = lbl_1_bss_A8; if (var_r30->unk_04 <= 0) { - Hu3DModelAttrSet(var_r30->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r30->unk_00, 1); return; } - Hu3DModelAttrReset(var_r30->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r30->unk_00, 1); var_r27 = &Hu3DData[var_r30->unk_00]; var_r29 = var_r27->unk_120; var_r31 = var_r29->unk_3C; @@ -2031,10 +2031,10 @@ void fn_1_7F80(void) var_r30 = lbl_1_bss_A4; if (var_r30->unk_04 <= 0) { - Hu3DModelAttrSet(var_r30->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r30->unk_00, 1); return; } - Hu3DModelAttrReset(var_r30->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r30->unk_00, 1); var_r27 = &Hu3DData[var_r30->unk_00]; var_r29 = var_r27->unk_120; var_r31 = var_r29->unk_3C; @@ -2149,7 +2149,7 @@ void fn_1_82C8(Mtx arg0, s32 arg1, float arg8) sp80.z = arg0[2][3]; sp74.x = sp74.z = 0.0f; sp74.y = atan2d(arg0[0][0], arg0[2][0]); - MTXCopy(arg0, sp8C); + PSMTXCopy(arg0, sp8C); sp8C[0][3] = sp8C[1][3] = sp8C[2][3] = sp8C[3][3] = 0.0f; sp68.x = -25.0f; sp68.z = -50.0f; @@ -2227,7 +2227,7 @@ void fn_1_8F98(void) var_r31->unk_10 = 0.0f; var_r31->unk_14 = 6.0f; var_r31->unk_18 = 1.0f; - MTXIdentity(var_r31->unk_1C); + PSMTXIdentity(var_r31->unk_1C); if (var_r30 == 0) { var_r31->unk_04 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M406, 59)); } @@ -2235,7 +2235,7 @@ void fn_1_8F98(void) var_r31->unk_04 = Hu3DModelLink(lbl_1_bss_A0->unk_04); } Hu3DModelLayerSet(var_r31->unk_04, 3); - Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_04, 1); } for (var_r30 = 0, var_r31 = &lbl_1_bss_A0[64]; var_r30 < 64; var_r30++, var_r31++) { @@ -2246,7 +2246,7 @@ void fn_1_8F98(void) var_r31->unk_10 = 0.0f; var_r31->unk_14 = 6.0f; var_r31->unk_18 = 1.0f; - MTXIdentity(var_r31->unk_1C); + PSMTXIdentity(var_r31->unk_1C); if (var_r30 == 0) { var_r31->unk_04 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M406, 60)); } @@ -2254,7 +2254,7 @@ void fn_1_8F98(void) var_r31->unk_04 = Hu3DModelLink(lbl_1_bss_A0[64].unk_04); } Hu3DModelLayerSet(var_r31->unk_04, 3); - Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_04, 1); } } @@ -2278,14 +2278,14 @@ void fn_1_91E0(void) var_f31 = var_r31->unk_18 * cosd((90.0f * var_f30)); var_f31 = var_f31; var_r30 = &Hu3DData[var_r31->unk_04]; - MTXScale(sp8, var_f31, var_f31, var_f31); - MTXConcat(var_r31->unk_1C, sp8, var_r30->unk_F0); + PSMTXScale(sp8, var_f31, var_f31, var_f31); + PSMTXConcat(var_r31->unk_1C, sp8, var_r30->unk_F0); var_r30->unk_F0[0][3] = var_r31->unk_1C[0][3]; var_r30->unk_F0[1][3] = var_r31->unk_1C[1][3]; var_r30->unk_F0[2][3] = var_r31->unk_1C[2][3]; Hu3DModelTPLvlSet(var_r31->unk_04, 1.0f - var_f30); if ((var_r31->unk_0C += var_r31->unk_10) >= var_r31->unk_14) { - Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_04, 1); var_r31->unk_00 = 0; var_r31->unk_0C = 0.0f; } @@ -2299,14 +2299,14 @@ void fn_1_91E0(void) var_f31 = var_r31->unk_18 * cosd((90.0f * var_f30)); var_f31 = var_f31; var_r30 = &Hu3DData[var_r31->unk_04]; - MTXScale(sp8, var_f31, var_f31, var_f31); - MTXConcat(var_r31->unk_1C, sp8, var_r30->unk_F0); + PSMTXScale(sp8, var_f31, var_f31, var_f31); + PSMTXConcat(var_r31->unk_1C, sp8, var_r30->unk_F0); var_r30->unk_F0[0][3] = var_r31->unk_1C[0][3]; var_r30->unk_F0[1][3] = var_r31->unk_1C[1][3]; var_r30->unk_F0[2][3] = var_r31->unk_1C[2][3]; Hu3DModelTPLvlSet(var_r31->unk_04, 1.0f - var_f30); if ((var_r31->unk_0C += var_r31->unk_10) >= var_r31->unk_14) { - Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_04, 1); var_r31->unk_00 = 0; var_r31->unk_0C = 0.0f; } @@ -2340,7 +2340,7 @@ s32 fn_1_94C0(Mtx arg0, s32 arg1, s32 arg2) sp64.z = arg0[2][3]; sp58.x = sp58.z = 0.0f; sp58.y = atan2d(arg0[0][0], arg0[2][0]); - MTXCopy(arg0, spA0); + PSMTXCopy(arg0, spA0); spA0[0][3] = spA0[1][3] = spA0[2][3] = spA0[3][3] = 0.0f; if (!arg2) { sp4C.x = 25.0f; @@ -2419,19 +2419,19 @@ s32 fn_1_94C0(Mtx arg0, s32 arg1, s32 arg2) var_r31->unk_10 = 1.0f; var_r31->unk_14 = 6.0f; var_r31->unk_18 = var_f31; - MTXCopy(arg0, var_r31->unk_1C); + PSMTXCopy(arg0, var_r31->unk_1C); Hu3DMotionTimeSet(var_r31->unk_04, 0.0f); Hu3DMotionSpeedSet(var_r31->unk_04, 0.0f); var_r27 = &Hu3DData[var_r31->unk_04]; - MTXScale(sp70, var_f31, var_f31, var_f31); - MTXConcat(arg0, sp70, var_r27->unk_F0); + PSMTXScale(sp70, var_f31, var_f31, var_f31); + PSMTXConcat(arg0, sp70, var_r27->unk_F0); var_r27->unk_F0[0][3] = arg0[0][3]; var_r27->unk_F0[1][3] = arg0[1][3]; var_r27->unk_F0[2][3] = arg0[2][3]; Hu3DModelPosSet(var_r31->unk_04, 0.0f, 0.0f, 0.0f); Hu3DModelRotSet(var_r31->unk_04, 0.0f, 0.0f, 0.0f); Hu3DModelScaleSet(var_r31->unk_04, 1.0f, 1.0f, 1.0f); - Hu3DModelAttrReset(var_r31->unk_04, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r31->unk_04, 1); (void)var_r31; return var_r28; } @@ -2446,10 +2446,10 @@ void fn_1_9F78(void) var_r30 = lbl_1_bss_9C = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM406Struct8), MEMORY_DEFAULT_NUM); memset(var_r30, 0, sizeof(UnkM406Struct8)); - var_r30->unk_00 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M406, 0x40), MEMORY_DEFAULT_NUM)); - var_r30->unk_04 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M406, 0x41), MEMORY_DEFAULT_NUM)); - var_r30->unk_08 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M406, 0x42), MEMORY_DEFAULT_NUM)); - var_r30->unk_0C = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M406, 0x43), MEMORY_DEFAULT_NUM)); + var_r30->unk_00 = HuSprAnimRead(HuDataReadNum(0x250040, MEMORY_DEFAULT_NUM)); + var_r30->unk_04 = HuSprAnimRead(HuDataReadNum(0x250041, MEMORY_DEFAULT_NUM)); + var_r30->unk_08 = HuSprAnimRead(HuDataReadNum(0x250042, MEMORY_DEFAULT_NUM)); + var_r30->unk_0C = HuSprAnimRead(HuDataReadNum(0x250043, MEMORY_DEFAULT_NUM)); var_r30->unk_24 = 0.0f; var_r30->unk_28 = 0.0f; var_r27 = fn_1_B474(var_r30->unk_00, 1); @@ -2614,7 +2614,7 @@ void fn_1_ADB4(ModelData *arg0, float (*arg1)[4]) var_r31 = &Hu3DCamera[0]; var_r30 = lbl_1_bss_9C; if (var_r30->unk_28 <= 0.0f) { - Hu3DModelAttrSet(var_r30->unk_20, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r30->unk_20, 1); return; } GXSetScissor(var_r31->scissor_x, var_r31->scissor_y, var_r31->scissor_w, var_r31->scissor_h); @@ -2630,7 +2630,7 @@ void fn_1_ADB4(ModelData *arg0, float (*arg1)[4]) GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0); GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - MTXIdentity(sp50); + PSMTXIdentity(sp50); GXLoadPosMtxImm(sp50, 0); GXSetZMode(GX_FALSE, GX_ALWAYS, GX_TRUE); GXSetNumChans(1); @@ -2653,16 +2653,16 @@ void fn_1_B104(float arg8) var_r31 = lbl_1_bss_9C; var_r31->unk_24 = arg8; if (var_r31->unk_24 <= 0.0f) { - Hu3DModelAttrSet(var_r31->unk_10, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->unk_14, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->unk_18, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->unk_1C, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_10, 1); + Hu3DModelAttrSet(var_r31->unk_14, 1); + Hu3DModelAttrSet(var_r31->unk_18, 1); + Hu3DModelAttrSet(var_r31->unk_1C, 1); return; } - Hu3DModelAttrReset(var_r31->unk_10, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r31->unk_14, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r31->unk_18, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r31->unk_1C, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r31->unk_10, 1); + Hu3DModelAttrReset(var_r31->unk_14, 1); + Hu3DModelAttrReset(var_r31->unk_18, 1); + Hu3DModelAttrReset(var_r31->unk_1C, 1); } void fn_1_B1E0(float arg8) @@ -2672,10 +2672,10 @@ void fn_1_B1E0(float arg8) var_r31 = lbl_1_bss_9C; var_r31->unk_28 = arg8; if (var_r31->unk_28 <= 0.0f) { - Hu3DModelAttrSet(var_r31->unk_20, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_20, 1); return; } - Hu3DModelAttrReset(var_r31->unk_20, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r31->unk_20, 1); } void fn_1_B25C(void) @@ -2954,7 +2954,7 @@ void fn_1_BC18(ModelData *arg0, float (*arg1)[4]) GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); GXSetArray(GX_VA_TEX0, var_r31->unk_44, 8); if (HmfInverseMtxF3X3(arg1, sp128) == 0) { - MTXIdentity(sp128); + PSMTXIdentity(sp128); } PSMTXReorder(sp128, sp8); if (var_r31->unk_4C) { @@ -2979,27 +2979,27 @@ void fn_1_BC18(ModelData *arg0, float (*arg1)[4]) else if (!var_r29->unk_2C) { var_r27 = &sp98[0]; var_r24 = &sp38[0]; - VECScale(var_r24++, var_r27, var_r29->unk_28); - VECAdd(var_r27++, &var_r29->unk_30, var_r30++); - VECScale(var_r24++, var_r27, var_r29->unk_28); - VECAdd(var_r27++, &var_r29->unk_30, var_r30++); - VECScale(var_r24++, var_r27, var_r29->unk_28); - VECAdd(var_r27++, &var_r29->unk_30, var_r30++); - VECScale(var_r24++, var_r27, var_r29->unk_28); - VECAdd(var_r27++, &var_r29->unk_30, var_r30++); + PSVECScale(var_r24++, var_r27, var_r29->unk_28); + PSVECAdd(var_r27++, &var_r29->unk_30, var_r30++); + PSVECScale(var_r24++, var_r27, var_r29->unk_28); + PSVECAdd(var_r27++, &var_r29->unk_30, var_r30++); + PSVECScale(var_r24++, var_r27, var_r29->unk_28); + PSVECAdd(var_r27++, &var_r29->unk_30, var_r30++); + PSVECScale(var_r24++, var_r27, var_r29->unk_28); + PSVECAdd(var_r27++, &var_r29->unk_30, var_r30++); } else { - VECScale(lbl_1_data_8E0, &sp98[0], var_r29->unk_28); - VECScale(&lbl_1_data_8E0[1], &sp98[1], var_r29->unk_28); - VECScale(&lbl_1_data_8E0[2], &sp98[2], var_r29->unk_28); - VECScale(&lbl_1_data_8E0[3], &sp98[3], var_r29->unk_28); - MTXRotRad(spC8, 90, var_r29->unk_2C); - MTXConcat(sp128, spC8, spF8); - MTXMultVecArray(spF8, &sp98[0], &sp68[0], 4); - VECAdd(&sp68[0], &var_r29->unk_30, var_r30++); - VECAdd(&sp68[1], &var_r29->unk_30, var_r30++); - VECAdd(&sp68[2], &var_r29->unk_30, var_r30++); - VECAdd(&sp68[3], &var_r29->unk_30, var_r30++); + PSVECScale(lbl_1_data_8E0, &sp98[0], var_r29->unk_28); + PSVECScale(&lbl_1_data_8E0[1], &sp98[1], var_r29->unk_28); + PSVECScale(&lbl_1_data_8E0[2], &sp98[2], var_r29->unk_28); + PSVECScale(&lbl_1_data_8E0[3], &sp98[3], var_r29->unk_28); + PSMTXRotRad(spC8, 90, var_r29->unk_2C); + PSMTXConcat(sp128, spC8, spF8); + PSMTXMultVecArray(spF8, &sp98[0], &sp68[0], 4); + PSVECAdd(&sp68[0], &var_r29->unk_30, var_r30++); + PSVECAdd(&sp68[1], &var_r29->unk_30, var_r30++); + PSVECAdd(&sp68[2], &var_r29->unk_30, var_r30++); + PSVECAdd(&sp68[3], &var_r29->unk_30, var_r30++); } } var_r29 = var_r31->unk_3C; @@ -3167,7 +3167,7 @@ void fn_1_C86C(ModelData *arg0, Mtx arg1) GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); GXSetArray(GX_VA_CLR0, &var_r31->unk_3C->unk_3C, 0x44); if (HmfInverseMtxF3X3(arg1, sp9C) == 0) { - MTXIdentity(sp9C); + PSMTXIdentity(sp9C); } PSMTXReorder(sp9C, spC); if (var_r31->unk_4C) { @@ -3192,14 +3192,14 @@ void fn_1_C86C(ModelData *arg0, Mtx arg1) else { var_r28 = (Vec *)&sp6C; var_r27 = (Vec *)&sp3C; - VECScale(var_r27++, var_r28, var_r29->unk_28); - VECAdd(var_r28++, &var_r29->unk_30, var_r30++); - VECScale(var_r27++, var_r28, var_r29->unk_28); - VECAdd(var_r28++, &var_r29->unk_30, var_r30++); - VECScale(var_r27++, var_r28, var_r29->unk_28); - VECAdd(var_r28++, &var_r29->unk_30, var_r30++); - VECScale(var_r27++, var_r28, var_r29->unk_28); - VECAdd(var_r28++, &var_r29->unk_30, var_r30++); + PSVECScale(var_r27++, var_r28, var_r29->unk_28); + PSVECAdd(var_r28++, &var_r29->unk_30, var_r30++); + PSVECScale(var_r27++, var_r28, var_r29->unk_28); + PSVECAdd(var_r28++, &var_r29->unk_30, var_r30++); + PSVECScale(var_r27++, var_r28, var_r29->unk_28); + PSVECAdd(var_r28++, &var_r29->unk_30, var_r30++); + PSVECScale(var_r27++, var_r28, var_r29->unk_28); + PSVECAdd(var_r28++, &var_r29->unk_30, var_r30++); } } DCFlushRangeNoSync(var_r31->unk_40, var_r31->unk_26 * 0xC * 4); @@ -3352,7 +3352,7 @@ void fn_1_D13C(LightData *arg0, s16 arg1, Mtx arg2, Mtx arg3, float arg8) GXInitLightAttn(&sp30, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f); GXInitLightSpot(&sp30, 20.0f, GX_SP_COS); GXInitLightAttnK(&sp30, 1.0f, 0.0f, 0.0f); - VECScale(&arg0->unk_28, &arg0->unk_1C, -1000000.0f); + PSVECScale(&arg0->unk_28, &arg0->unk_1C, -1000000.0f); break; case 2: GXInitLightAttn(&sp30, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); @@ -3362,8 +3362,8 @@ void fn_1_D13C(LightData *arg0, s16 arg1, Mtx arg2, Mtx arg3, float arg8) break; } if (arg0->unk_00 & 0x8000) { - MTXMultVec(arg2, &arg0->unk_28, &sp24); - MTXMultVec(arg3, &arg0->unk_1C, &sp18); + PSMTXMultVec(arg2, &arg0->unk_28, &sp24); + PSMTXMultVec(arg3, &arg0->unk_1C, &sp18); GXInitLightPos(&sp30, sp18.x, sp18.y, sp18.z); } else { diff --git a/src/REL/m406Dll/player.c b/src/REL/m406Dll/player.c index 9685aac0..ca3e6e13 100644 --- a/src/REL/m406Dll/player.c +++ b/src/REL/m406Dll/player.c @@ -251,16 +251,16 @@ char *lbl_1_data_1068[4] = { }; s32 lbl_1_data_1078[10] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x37), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x55), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x39), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x54), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x41), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x56), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x50), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x16), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x53), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x23), + 0x5F0037, + 0x5F0055, + 0x5F0039, + 0x5F0054, + 0x5F0041, + 0x5F0056, + 0x5F0050, + 0x5F0016, + 0x5F0053, + 0x5F0023, }; s32 lbl_1_data_10A0[8][4] = { @@ -380,15 +380,15 @@ void fn_1_D90C(omObjData *object) CharModelLayerSetAll(Hu3DData[object->model[0]].layer + 1); object->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M406, 32)); Hu3DModelHookSet(object->model[0], "test11_tex_we-itemhook-body", object->model[5]); - Hu3DModelAttrSet(object->model[5], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[5], 1); fn_1_13A88(object->model[0], "test11_tex_we-itemhook-body", sp8); var_r31->unk_68 = sp8[0][3]; var_r31->unk_6C = sp8[1][3]; var_r31->unk_70 = sp8[2][3]; object->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M406, 33)); - Hu3DModelAttrSet(object->model[6], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[6], 1); object->model[7] = Hu3DModelCreateFile(lbl_1_data_1120[var_r31->unk_0C]); - Hu3DModelAttrSet(object->model[7], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[7], 1); for (var_r29 = 0; var_r29 < 10U; var_r29++) { object->motion[var_r29] = CharModelMotionCreate(var_r31->unk_0C, lbl_1_data_1078[var_r29]); } @@ -396,7 +396,7 @@ void fn_1_D90C(omObjData *object) var_r31->unk_58 = 0; var_r31->unk_14.y = 0.0f; var_r31->unk_14.z = 45.0f; - fn_1_DD7C(object, 0, 1.0f, HU3D_MOTATTR_LOOP); + fn_1_DD7C(object, 0, 1.0f, 0x40000001); object->trans.x = lbl_1_data_FF0[var_r31->unk_02]; object->trans.z = -500.0f; object->trans.y = fn_1_143F4(&object->trans, &var_r31->unk_44); @@ -538,11 +538,11 @@ void fn_1_E214(omObjData *object) if (fn_1_122C() >= 2) { if (var_r31->unk_00_field0 != 0) { - fn_1_DD7C(object, 9, 1.0f, HU3D_MOTATTR_NONE); + fn_1_DD7C(object, 9, 1.0f, 0); if ((var_r26->attr & 1) == 0) { Hu3D3Dto2D(&object->trans, 1, &sp28); if (sp28.x < 0.0 || sp28.x >= 576.0f || sp28.y < 0.0 || sp28.y >= 480.0f) { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[0], 1); } } return; @@ -595,17 +595,17 @@ void fn_1_E214(omObjData *object) if (var_r31->unk_58 == 5) { HuAudFXPlay(0x540); fn_1_117BC(var_r31->unk_14.x, 10.0f, &var_r31->unk_44, &sp1C); - VECAdd(&var_r31->unk_2C, &sp1C, &var_r31->unk_2C); + PSVECAdd(&var_r31->unk_2C, &sp1C, &var_r31->unk_2C); } } if (var_r31->unk_00_field2 == 0) { if (var_r31->unk_44.unk_08 == 1) { var_r31->unk_00_field2 = 1; var_r31->unk_60 = 0x14; - VECScale(&var_r31->unk_2C, &var_r31->unk_2C, 1.5f); - if (VECMag(&var_r31->unk_2C) > 50.0f) { - VECNormalize(&var_r31->unk_2C, &var_r31->unk_2C); - VECScale(&var_r31->unk_2C, &var_r31->unk_2C, 50.0f); + PSVECScale(&var_r31->unk_2C, &var_r31->unk_2C, 1.5f); + if (PSVECMag(&var_r31->unk_2C) > 50.0f) { + PSVECNormalize(&var_r31->unk_2C, &var_r31->unk_2C); + PSVECScale(&var_r31->unk_2C, &var_r31->unk_2C, 50.0f); } HuAudFXPlay(0x53E); HuAudFXVolSet(var_r31->unk_7C[0], 0); @@ -653,7 +653,7 @@ void fn_1_E214(omObjData *object) } break; case 2: - Hu3DModelAttrReset(object->model[5], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(object->model[5], 1); if (var_r31->unk_5A < 20) { var_r31->unk_54 = var_r31->unk_5A / 20.0f; } @@ -665,12 +665,12 @@ void fn_1_E214(omObjData *object) var_f30 = 1.0f; } Hu3DModelScaleSet(object->model[5], var_f30, var_f30, var_f30); - var_r31->unk_50 += VECMag(&var_r31->unk_2C) / 3.125f; - MTXTrans(sp94, -var_r31->unk_68, -var_r31->unk_6C, -var_r31->unk_70); - MTXRotRad(sp64, 0x78, 0.017453292f * var_r31->unk_50); - MTXConcat(sp64, sp94, sp34); - MTXTrans(sp94, var_r31->unk_68, var_r31->unk_6C, var_r31->unk_70); - MTXConcat(sp94, sp34, var_r26->unk_F0); + var_r31->unk_50 += PSVECMag(&var_r31->unk_2C) / 3.125f; + PSMTXTrans(sp94, -var_r31->unk_68, -var_r31->unk_6C, -var_r31->unk_70); + PSMTXRotRad(sp64, 0x78, 0.017453292f * var_r31->unk_50); + PSMTXConcat(sp64, sp94, sp34); + PSMTXTrans(sp94, var_r31->unk_68, var_r31->unk_6C, var_r31->unk_70); + PSMTXConcat(sp94, sp34, var_r26->unk_F0); var_r27 = 6; var_f31 = 2.0f; var_r25 = 0; @@ -690,25 +690,25 @@ void fn_1_E214(omObjData *object) var_r31->unk_2C.x = var_r31->unk_2C.y = var_r31->unk_2C.z = 0.0f; } var_r31->unk_50 = fn_1_13AF4(var_r31->unk_50, 0.0f, 0.5f); - MTXTrans(sp94, -var_r31->unk_68, -var_r31->unk_6C, -var_r31->unk_70); - MTXRotRad(sp64, 0x78, 0.017453292f * var_r31->unk_50); - MTXConcat(sp64, sp94, sp34); - MTXTrans(sp94, var_r31->unk_68, var_r31->unk_6C, var_r31->unk_70); - MTXConcat(sp94, sp34, var_r26->unk_F0); + PSMTXTrans(sp94, -var_r31->unk_68, -var_r31->unk_6C, -var_r31->unk_70); + PSMTXRotRad(sp64, 0x78, 0.017453292f * var_r31->unk_50); + PSMTXConcat(sp64, sp94, sp34); + PSMTXTrans(sp94, var_r31->unk_68, var_r31->unk_6C, var_r31->unk_70); + PSMTXConcat(sp94, sp34, var_r26->unk_F0); if (var_r31->unk_5E != 0) { - MTXTrans(sp94, 100.0f * (0.2f * (((var_r31->unk_5E & 1) * 2) - 1)), 0.0f, 0.0f); - MTXConcat(sp94, var_r26->unk_F0, var_r26->unk_F0); + PSMTXTrans(sp94, 100.0f * (0.2f * (((var_r31->unk_5E & 1) * 2) - 1)), 0.0f, 0.0f); + PSMTXConcat(sp94, var_r26->unk_F0, var_r26->unk_F0); if (--var_r31->unk_5E == 0) { if (++var_r31->unk_5C >= 4) { var_r31->unk_00_field3 = 0; var_r31->unk_12 = 0; var_r31->unk_5C = 0; - Hu3DModelAttrSet(object->model[5], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[5], 1); Hu3DData[object->model[6]].unk_64 = 0.0f; Hu3DModelPosSet(object->model[6], object->trans.x + var_r31->unk_68, object->trans.y + var_r31->unk_6C, object->trans.z + var_r31->unk_70); - Hu3DModelAttrReset(object->model[6], HU3D_ATTR_DISPOFF); - MTXIdentity(var_r26->unk_F0); + Hu3DModelAttrReset(object->model[6], 1); + PSMTXIdentity(var_r26->unk_F0); fn_1_117BC(var_r31->unk_14.x, 25.0f, &var_r31->unk_44, &var_r31->unk_2C); } } @@ -719,7 +719,7 @@ void fn_1_E214(omObjData *object) break; } if (Hu3DMotionEndCheck(object->model[6])) { - Hu3DModelAttrSet(object->model[6], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[6], 1); } fn_1_DD7C(object, var_r27, var_f31, var_r25); fn_1_F194(object); @@ -733,7 +733,7 @@ void fn_1_E214(omObjData *object) if (fn_1_6A44(sp28) == 1) { var_r31->unk_00_field0 = 1; var_r26 = &Hu3DData[object->model[0]]; - MTXIdentity(var_r26->unk_F0); + PSMTXIdentity(var_r26->unk_F0); omVibrate(var_r31->unk_02, 0xC, 4, 2); HuAudCharVoicePlayPos(var_r31->unk_0C, 0x123, &object->trans); for (var_r24 = 0; var_r24 < 2; var_r24++) { @@ -775,26 +775,26 @@ void fn_1_F194(omObjData *object) sp44.y = -0.27222222f; sp44.z = 0.0f; var_f28 = 0.27222222f * var_r31->unk_44.unk_00[3].y; - VECScale(&var_r31->unk_44.unk_00[3], &sp38, var_f28); - VECAdd(&sp44, &sp38, &sp2C); - VECAdd(&var_r31->unk_2C, &sp2C, &var_r31->unk_2C); + PSVECScale(&var_r31->unk_44.unk_00[3], &sp38, var_f28); + PSVECAdd(&sp44, &sp38, &sp2C); + PSVECAdd(&var_r31->unk_2C, &sp2C, &var_r31->unk_2C); sp20.x = sp20.y = sp20.z = 0.0f; sp14.x = sp14.y = sp14.z = 0.0f; - var_f29 = VECMag(&var_r31->unk_2C); + var_f29 = PSVECMag(&var_r31->unk_2C); if (var_f29 > 0.0f && fn_1_122C() == 4) { - VECNormalize(&var_r31->unk_2C, &sp8); + PSVECNormalize(&var_r31->unk_2C, &sp8); sp20.x = -sp8.x; sp20.y = -sp8.y; sp20.z = -sp8.z; if (var_r31->unk_62 < 120.0f) { - VECScale(&sp20, &sp20, var_f28 * var_f27); + PSVECScale(&sp20, &sp20, var_f28 * var_f27); } else { - VECScale(&sp20, &sp20, (0.15f * (var_r31->unk_62 / 240.0f)) + (var_f28 * var_f27)); + PSVECScale(&sp20, &sp20, (0.15f * (var_r31->unk_62 / 240.0f)) + (var_f28 * var_f27)); } if (!var_r31->unk_00_field3) { fn_1_117BC(var_r31->unk_14.x, 1.0f, &var_r31->unk_44, &sp44); - var_f30 = VECDotProduct(&sp44, &sp8); + var_f30 = PSVECDotProduct(&sp44, &sp8); var_f31 = 0.02f * var_f29; sp14.x = (-sp8.x * var_f31) - (var_f30 * (-sp44.x * var_f31)); sp14.y = (-sp8.y * var_f31) - (var_f30 * (-sp44.y * var_f31)); @@ -802,26 +802,26 @@ void fn_1_F194(omObjData *object) if ((var_f30 < 0.9f) && (var_f29 >= 20.0f)) { mtxRot(sp80, var_r30->rot.x, var_r30->rot.y, var_r30->rot.z); mtxTransCat(sp80, var_r30->pos.x, var_r30->pos.y, var_r30->pos.z); - VECCrossProduct(&sp44, &sp8, &sp44); + PSVECCrossProduct(&sp44, &sp8, &sp44); if (sp44.y >= 0.0f) { - MTXTrans(sp50, -10.0f, 0.0f, 0.0f); - MTXConcat(sp50, sp80, sp80); + PSMTXTrans(sp50, -10.0f, 0.0f, 0.0f); + PSMTXConcat(sp50, sp80, sp80); fn_1_94C0(sp80, 10, 0); } else { - MTXTrans(sp50, 10.0f, 0.0f, 0.0f); - MTXConcat(sp50, sp80, sp80); + PSMTXTrans(sp50, 10.0f, 0.0f, 0.0f); + PSMTXConcat(sp50, sp80, sp80); fn_1_94C0(sp80, 10, 1); } } } } - VECAdd(&sp20, &sp14, &sp2C); - if (VECMag(&sp2C) > var_f29) { + PSVECAdd(&sp20, &sp14, &sp2C); + if (PSVECMag(&sp2C) > var_f29) { var_r31->unk_2C.x = var_r31->unk_2C.y = var_r31->unk_2C.z = 0.0f; return; } - VECAdd(&var_r31->unk_2C, &sp2C, &var_r31->unk_2C); + PSVECAdd(&var_r31->unk_2C, &sp2C, &var_r31->unk_2C); return; } var_r31->unk_2C.y += -0.27222222f; @@ -859,27 +859,27 @@ void fn_1_F694(omObjData *object) sp2C.z += var_f30 * var_r31->unk_44.unk_00[3].z; if (!var_r31->unk_00_field3) { fn_1_117BC(var_r31->unk_14.x, 1.0f, &var_r31->unk_44, &sp20); - VECNormalize(&sp2C, &sp14); - var_f29 = VECDotProduct(&sp20, &sp14); + PSVECNormalize(&sp2C, &sp14); + var_f29 = PSVECDotProduct(&sp20, &sp14); var_f31 = var_f29 * var_f29; var_f31 *= var_f31; - if (var_f31 < 0.999f && VECMag(&var_r31->unk_2C) >= 10.0f) { + if (var_f31 < 0.999f && PSVECMag(&var_r31->unk_2C) >= 10.0f) { mtxRot(sp68, var_r30->rot.x, var_r30->rot.y, var_r30->rot.z); mtxTransCat(sp68, var_r30->pos.x, var_r30->pos.y, var_r30->pos.z); - VECCrossProduct(&sp20, &sp14, &sp8); + PSVECCrossProduct(&sp20, &sp14, &sp8); if (sp8.y >= 0.0f) { - MTXTrans(sp38, -10.0f, 0.0f, 0.0f); - MTXConcat(sp38, sp68, sp68); + PSMTXTrans(sp38, -10.0f, 0.0f, 0.0f); + PSMTXConcat(sp38, sp68, sp68); fn_1_94C0(sp68, 10, 0); } else { - MTXTrans(sp38, 10.0f, 0.0f, 0.0f); - MTXConcat(sp38, sp68, sp68); + PSMTXTrans(sp38, 10.0f, 0.0f, 0.0f); + PSMTXConcat(sp38, sp68, sp68); fn_1_94C0(sp68, 10, 1); } } - var_f28 = VECMag(&sp2C); - VECScale(&sp20, &sp20, var_f28); + var_f28 = PSVECMag(&sp2C); + PSVECScale(&sp20, &sp20, var_f28); var_r31->unk_2C.x = sp2C.x + (0.9f * (sp20.x - sp2C.x)); var_r31->unk_2C.y = sp2C.y + (0.9f * (sp20.y - sp2C.y)); var_r31->unk_2C.z = sp2C.z + (0.9f * (sp20.z - sp2C.z)); @@ -888,9 +888,9 @@ void fn_1_F694(omObjData *object) var_r31->unk_2C.x = sp2C.x; var_r31->unk_2C.y = sp2C.y; var_r31->unk_2C.z = sp2C.z; - VECScale(&var_r31->unk_2C, &var_r31->unk_2C, var_r31->unk_54); + PSVECScale(&var_r31->unk_2C, &var_r31->unk_2C, var_r31->unk_54); } - VECScale(&var_r31->unk_2C, &var_r31->unk_2C, 0.98f); + PSVECScale(&var_r31->unk_2C, &var_r31->unk_2C, 0.98f); } } @@ -950,7 +950,7 @@ void fn_1_FA50(ModelData *model, Mtx mtx) else { var_r30->func = fn_1_11058; } - Hu3DModelAttrSet(*var_r30->model, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(*var_r30->model, 1); for (var_r26 = 0; var_r26 < 2; var_r26++) { if (var_r31->unk_7C[var_r26] >= 0) { HuAudFXStop(var_r31->unk_7C[var_r26]); @@ -980,14 +980,14 @@ void fn_1_FA50(ModelData *model, Mtx mtx) var_r30 = var_r28[var_r29]; var_r31 = var_r28[var_r29]->data; if (!var_r31->unk_00_field0) { - var_r31->unk_14.y = VECMag(&var_r31->unk_2C); + var_r31->unk_14.y = PSVECMag(&var_r31->unk_2C); if (!var_r31->unk_00_field3 && !var_r31->unk_00_field2 && (var_r31->unk_14.y > var_r31->unk_14.z)) { var_r31->unk_14.y = var_r31->unk_14.z; - VECNormalize(&var_r31->unk_2C, &var_r31->unk_2C); - VECScale(&var_r31->unk_2C, &var_r31->unk_2C, var_r31->unk_14.y); + PSVECNormalize(&var_r31->unk_2C, &var_r31->unk_2C); + PSVECScale(&var_r31->unk_2C, &var_r31->unk_2C, var_r31->unk_14.y); } var_f31 = var_r31->unk_14.y; - VECNormalize(&var_r31->unk_2C, &sp14); + PSVECNormalize(&var_r31->unk_2C, &sp14); while (var_f31 > 0.0f) { if (var_f31 < 50.0f) { @@ -1007,8 +1007,8 @@ void fn_1_FA50(ModelData *model, Mtx mtx) var_r30->trans.x = sp8.x; var_r30->trans.z = sp8.z; if (var_r31->unk_00_field2 == 0) { - VECNormalize(&var_r31->unk_2C, &sp14); - var_f26 = VECDotProduct(&sp14, &sp20); + PSVECNormalize(&var_r31->unk_2C, &sp14); + var_f26 = PSVECDotProduct(&sp14, &sp20); if (var_f26 < -0.2f && var_r31->unk_14.y >= 10.0f) { omVibrate(var_r31->unk_02, 12, 6, 6); } @@ -1079,8 +1079,8 @@ void fn_1_FA50(ModelData *model, Mtx mtx) sp20.x = sp2C[var_r27 - 1]->trans.x - lbl_1_bss_E0[1].x; sp20.y = sp2C[var_r27 - 1]->trans.y - lbl_1_bss_E0[1].y; sp20.z = sp2C[var_r27 - 1]->trans.z - lbl_1_bss_E0[1].z; - var_f29 = VECMag(&sp20); - VECNormalize(&sp20, &sp20); + var_f29 = PSVECMag(&sp20); + PSVECNormalize(&sp20, &sp20); if (var_f29 < 100.0f) { lbl_1_bss_E0[1].x = sp2C[var_r27 - 1]->trans.x; lbl_1_bss_E0[1].y = sp2C[var_r27 - 1]->trans.y; @@ -1146,7 +1146,7 @@ void fn_1_1065C(omObjData *object) var_r31->unk_2C.z = -20.0f; Hu3DModelShadowReset(object->model[0]); fn_1_6BB4(&object->trans); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(object->model[0], 1); object->func = fn_1_10744; } @@ -1165,7 +1165,7 @@ void fn_1_10744(omObjData *object) var_r29 = &Hu3DData[object->model[0]]; switch (var_r31->unk_12) { case 0: - fn_1_DD7C(object, 0, 1.0f, HU3D_MOTATTR_NONE); + fn_1_DD7C(object, 0, 1.0f, 0); if (--var_r31->unk_64 == 0) { fn_1_1284(); var_r31->unk_12++; @@ -1203,7 +1203,7 @@ void fn_1_10744(omObjData *object) object->motion[var_r24] = CharModelMotionCreate(var_r31->unk_0C, lbl_1_data_1078[var_r24]); } var_r31->unk_38 = -1; - fn_1_DD7C(object, 0, 1.0f, HU3D_MOTATTR_NONE); + fn_1_DD7C(object, 0, 1.0f, 0); Hu3DModelShadowSet(object->model[0]); return; } @@ -1214,7 +1214,7 @@ void fn_1_10744(omObjData *object) object->trans.y = 0.0f; var_r31->unk_12++; var_r31->unk_2C.y = 0.0f; - fn_1_DD7C(object, 2, 1.0f, HU3D_MOTATTR_NONE); + fn_1_DD7C(object, 2, 1.0f, 0); omVibrate(var_r31->unk_02, 0xC, 6, 6); var_r31->unk_7C[0] = HuAudFXPlay(0x53B); } @@ -1228,14 +1228,14 @@ void fn_1_10744(omObjData *object) if ((var_r31->unk_64 < 0x50) && (var_r31->unk_64 > 0x1E)) { mtxRot(sp48, var_r29->rot.x, var_r29->rot.y, var_r29->rot.z); mtxTransCat(sp48, var_r29->pos.x, var_r29->pos.y, var_r29->pos.z); - MTXTrans(sp18, 10.0f, 0.0f, 0.0f); - MTXConcat(sp18, sp48, sp48); + PSMTXTrans(sp18, 10.0f, 0.0f, 0.0f); + PSMTXConcat(sp18, sp48, sp48); fn_1_94C0(sp48, 10, 0); } var_r31->unk_2C.x = var_r31->unk_54 * (100.0 * (0.10000000149011612 * sind(180.0f + var_r31->unk_14.x))); var_r31->unk_2C.z = var_r31->unk_54 * (100.0 * (0.10000000149011612 * cosd(180.0f + var_r31->unk_14.x))); if (var_r31->unk_64 == 48.0f) { - fn_1_DD7C(object, 8, 1.0f, HU3D_MOTATTR_NONE); + fn_1_DD7C(object, 8, 1.0f, 0); } if (--var_r31->unk_64 == 0) { var_r31->unk_12 = -1; @@ -1271,13 +1271,13 @@ void fn_1_11058(omObjData *object) var_r30->unk_64 = 90.0f + (frand() & 0x1F); } for (var_r28 = 0; var_r28 < 8; var_r28++) { - Hu3DModelAttrSet(object->model[var_r28], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[var_r28], 1); Hu3DModelPosSet(object->model[var_r28], 0.0f, 0.0f, 0.0f); Hu3DModelRotSet(object->model[var_r28], 0.0f, 0.0f, 0.0f); Hu3DModelScaleSet(object->model[var_r28], 1.0f, 1.0f, 1.0f); } Hu3DModelHookReset(object->model[0]); - fn_1_DD7C(object, 0, 1.0f, HU3D_MOTATTR_NONE); + fn_1_DD7C(object, 0, 1.0f, 0); var_r30->unk_00 = 0; var_r30->unk_12 = 0; var_r30->unk_00_field3 = 1; @@ -1313,8 +1313,8 @@ void fn_1_114A0(omObjData *object) case 1: if (var_r31->unk_64 != 0) { if (--var_r31->unk_64 == 0) { - Hu3DModelAttrReset(object->model[5], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[7], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(object->model[5], 1); + Hu3DModelAttrReset(object->model[7], 1); } else { return; @@ -1345,15 +1345,15 @@ void fn_1_114A0(omObjData *object) } mtxRot(sp9C, object->rot.x, object->rot.y, object->trans.z); mtxScaleCat(sp9C, object->scale.x, object->scale.y, object->scale.z); - MTXTrans(sp9C, object->trans.x, object->trans.y, object->trans.z); - MTXRotRad(sp6C, 0x78, 0.017453292f * var_r31->unk_50); - MTXConcat(sp9C, sp6C, sp9C); - MTXCopy(sp9C, spC); + PSMTXTrans(sp9C, object->trans.x, object->trans.y, object->trans.z); + PSMTXRotRad(sp6C, 0x78, 0.017453292f * var_r31->unk_50); + PSMTXConcat(sp9C, sp6C, sp9C); + PSMTXCopy(sp9C, spC); mtxScaleCat(spC, 2.0f, 2.0f, 2.0f); - MTXCopy(spC, Hu3DData[object->model[5]].unk_F0); - MTXTrans(sp3C, 0.0f, 110.0f, 0.0f); - MTXConcat(sp9C, sp3C, spC); - MTXCopy(spC, Hu3DData[object->model[7]].unk_F0); + PSMTXCopy(spC, Hu3DData[object->model[5]].unk_F0); + PSMTXTrans(sp3C, 0.0f, 110.0f, 0.0f); + PSMTXConcat(sp9C, sp3C, spC); + PSMTXCopy(spC, Hu3DData[object->model[7]].unk_F0); } void fn_1_117BC(float arg8, float arg9, UnkM406PlayerStruct2 *arg0, Vec *arg1) @@ -1373,7 +1373,7 @@ void fn_1_117BC(float arg8, float arg9, UnkM406PlayerStruct2 *arg0, Vec *arg1) sp10.z = var_r31->y * cosd((180.0f + arg8)); var_f30 = 1.0f - (var_r31->y * var_r31->y); sp10.y = -sqrtf(var_f30); - VECScale(&sp10, arg1, arg9); + PSVECScale(&sp10, arg1, arg9); } s32 fn_1_119E4(Vec *arg0, UnkM406PlayerStruct *arg1) { @@ -1566,9 +1566,9 @@ void fn_1_12270(omObjData *object) sp1C.z = -61000.0f; block_12270: - VECSubtract(&sp1C, &object->trans, &sp10); - if (VECMag(&sp10) > 0.0f) { - VECNormalize(&sp10, &sp10); + PSVECSubtract(&sp1C, &object->trans, &sp10); + if (PSVECMag(&sp10) > 0.0f) { + PSVECNormalize(&sp10, &sp10); var_r31->unk_06 = 72.0 * ((sp10.x * cosd(CRot.y)) - sp10.z * sind(CRot.y)); var_r31->unk_07 = 72.0 * -((sp10.x * sind(CRot.y)) + sp10.z * cosd(CRot.y)); } @@ -1623,14 +1623,14 @@ s32 fn_1_127B8(void) var_r25 = var_r29[var_r30]; var_r22 = var_r25->data; if (!var_r22->unk_00_field0) { - VECSubtract(&var_r26->trans, &var_r25->trans, &sp8); - var_f31 = VECMag(&sp8); + PSVECSubtract(&var_r26->trans, &var_r25->trans, &sp8); + var_f31 = PSVECMag(&sp8); if (var_f31 < 100.0f) { - VECNormalize(&sp8, &sp8); + PSVECNormalize(&sp8, &sp8); var_f30 = 0.01f + (0.5f * (100.0f - var_f31)); - VECScale(&sp8, &sp8, var_f30); - VECAdd(&sp14[var_r31], &sp8, &sp14[var_r31]); - VECSubtract(&sp14[var_r30], &sp8, &sp14[var_r30]); + PSVECScale(&sp8, &sp8, var_f30); + PSVECAdd(&sp14[var_r31], &sp8, &sp14[var_r31]); + PSVECSubtract(&sp14[var_r30], &sp8, &sp14[var_r30]); var_r27++; } } @@ -1641,7 +1641,7 @@ s32 fn_1_127B8(void) var_r28 = var_r29[var_r31]; var_r24 = var_r28->data; if (!var_r24->unk_00_field0) { - VECAdd(&var_r28->trans, &sp14[var_r31], &var_r28->trans); + PSVECAdd(&var_r28->trans, &sp14[var_r31], &var_r28->trans); } } return var_r27; @@ -1660,8 +1660,8 @@ s32 fn_1_129E4(omObjData *object) var_r30 = omGetGroupMemberListEx(HuPrcCurrentGet(), 3); for (var_r31 = 0; var_r31 < var_r30[0]->mdlcnt; var_r31++) { var_r29 = &Hu3DData[(*var_r30)->model[var_r31]]; - VECSubtract(&var_r29->pos, &object->trans, &spC); - var_f31 = VECMag(&spC); + PSVECSubtract(&var_r29->pos, &object->trans, &spC); + var_f31 = PSVECMag(&spC); if (var_f31 < 100.0f) { return 1; } @@ -1753,7 +1753,7 @@ void fn_1_12BC4(omObjData *object) var_r30->target.z = Center.z; C_MTXLookAt(spA8, &var_r30->pos, &var_r30->up, &var_r30->target); for (var_r31 = 0; var_r31 < lbl_1_bss_1C4; var_r31++) { - MTXMultVec(spA8, &lbl_1_bss_104[var_r31], &sp198[var_r31]); + PSMTXMultVec(spA8, &lbl_1_bss_104[var_r31], &sp198[var_r31]); spD8[var_r31].x = sp198[var_r31].x / (sp198[var_r31].z * (sind((var_r30->fov / 2)) / cosd((var_r30->fov / 2)))); spD8[var_r31].y = sp198[var_r31].y / (sp198[var_r31].z * (sind((var_r30->fov / 2)) / cosd((var_r30->fov / 2)))); } @@ -1792,8 +1792,8 @@ void fn_1_12BC4(omObjData *object) sp84.x = Center.x + (CZoom * (sind(CRot.y) * cosd(CRot.x))); sp84.y = Center.y + (CZoom * -sind(CRot.x)); sp84.z = Center.z + (CZoom * (cosd(CRot.y) * cosd(CRot.x))); - VECSubtract(&Center, &sp84, &sp78); - VECNormalize(&sp78, &sp78); + PSVECSubtract(&Center, &sp84, &sp78); + PSVECNormalize(&sp78, &sp78); HuAudFXListnerUpdate(&sp84, &sp78); } } @@ -1811,13 +1811,13 @@ s32 fn_1_136AC(HsfObject *arg0, Mtx arg1, char *arg2, Mtx arg3) HsfTransform *var_r31 = &arg0->data.curr; mtxRot(sp144, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z); - MTXScale(sp174, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z); - MTXConcat(sp144, sp174, sp174); + PSMTXScale(sp174, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z); + PSMTXConcat(sp144, sp174, sp174); mtxTransCat(sp174, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z); - MTXConcat(arg1, sp174, sp174); + PSMTXConcat(arg1, sp174, sp174); strcpy(sp4A4, MakeObjectName(arg2)); if (strcmp(sp4A4, arg0->name) == 0) { - MTXCopy(sp174, arg3); + PSMTXCopy(sp174, arg3); return 1; } for (var_r23 = 0; var_r23 < arg0->data.childrenCount; var_r23++) { @@ -1838,7 +1838,7 @@ void fn_1_13A88(s16 arg0, char *arg1, Mtx arg2) var_r31 = &Hu3DData[arg0]; var_r30 = var_r31->hsfData; - MTXIdentity(sp14); + PSMTXIdentity(sp14); fn_1_136AC(var_r30->root, sp14, arg1, arg2); } @@ -1916,7 +1916,7 @@ s32 fn_1_13C10(Vec *arg0, Vec *arg1) sp24.x = -var_r31->nbt.x; sp24.y = 0.0f; sp24.z = -var_r31->nbt.z; - VECNormalize(&sp24, &sp24); + PSVECNormalize(&sp24, &sp24); var_f31 = (var_f28 + (((-var_r31->nbt.x * arg0->x) - (var_r31->nbt.y * arg0->y)) - (var_r31->nbt.z * arg0->z))) / ((var_r31->nbt.x * sp24.x) + (var_r31->nbt.z * sp24.z)); if (var_f31 <= 0.0) { @@ -1925,18 +1925,18 @@ s32 fn_1_13C10(Vec *arg0, Vec *arg1) spC.x = arg0->x + (sp24.x * var_f31); spC.y = arg0->y; spC.z = arg0->z + (sp24.z * var_f31); - VECSubtract(sp48[1], sp48[0], &sp3C); - VECSubtract(&spC, sp48[1], &sp30); - VECCrossProduct(&sp3C, &sp30, &sp24); - if (!(VECDotProduct(&var_r31->nbt, &sp24) < 0.0f)) { - VECSubtract(sp48[2], sp48[1], &sp3C); - VECSubtract(&spC, sp48[2], &sp30); - VECCrossProduct(&sp3C, &sp30, &sp24); - if (!(VECDotProduct(&var_r31->nbt, &sp24) < 0.0f)) { - VECSubtract(sp48[0], sp48[2], &sp3C); - VECSubtract(&spC, sp48[0], &sp30); - VECCrossProduct(&sp3C, &sp30, &sp24); - if (!(VECDotProduct(&var_r31->nbt, &sp24) < 0.0f) && (var_f31 < var_f29)) { + PSVECSubtract(sp48[1], sp48[0], &sp3C); + PSVECSubtract(&spC, sp48[1], &sp30); + PSVECCrossProduct(&sp3C, &sp30, &sp24); + if (!(PSVECDotProduct(&var_r31->nbt, &sp24) < 0.0f)) { + PSVECSubtract(sp48[2], sp48[1], &sp3C); + PSVECSubtract(&spC, sp48[2], &sp30); + PSVECCrossProduct(&sp3C, &sp30, &sp24); + if (!(PSVECDotProduct(&var_r31->nbt, &sp24) < 0.0f)) { + PSVECSubtract(sp48[0], sp48[2], &sp3C); + PSVECSubtract(&spC, sp48[0], &sp30); + PSVECCrossProduct(&sp3C, &sp30, &sp24); + if (!(PSVECDotProduct(&var_r31->nbt, &sp24) < 0.0f) && (var_f31 < var_f29)) { var_f29 = var_f31; sp18 = spC; var_r28 = var_r31; @@ -1948,15 +1948,15 @@ s32 fn_1_13C10(Vec *arg0, Vec *arg1) if (var_r22 > 2) { var_r22 = 0; } - VECSubtract(sp48[var_r22], sp48[var_r29], &sp3C); + PSVECSubtract(sp48[var_r22], sp48[var_r29], &sp3C); if (sp3C.y != 0.0f) { var_f30 = (arg0->y - sp48[var_r29]->y) / sp3C.y; if ((var_f30 >= 0.0f) && (var_f30 < 1.0f)) { spC.x = sp48[var_r29]->x + (var_f30 * sp3C.x); spC.z = sp48[var_r29]->z + (var_f30 * sp3C.z); - VECSubtract(&spC, arg0, &sp3C); + PSVECSubtract(&spC, arg0, &sp3C); sp3C.y = 0.0f; - var_f31 = VECMag(&sp3C); + var_f31 = PSVECMag(&sp3C); if (var_f31 < var_f29) { var_f29 = var_f31; sp18 = spC; @@ -1972,9 +1972,9 @@ s32 fn_1_13C10(Vec *arg0, Vec *arg1) if ((sp30.y >= arg0->y) && (sp30.y < (150.0f + arg0->y))) { sp30.x = sp48[var_r29]->x + (var_f30 * sp3C.x); sp30.z = sp48[var_r29]->z + (var_f30 * sp3C.z); - VECSubtract(&sp30, arg0, &sp3C); + PSVECSubtract(&sp30, arg0, &sp3C); sp3C.y = 0.0f; - var_f31 = VECMag(&sp3C); + var_f31 = PSVECMag(&sp3C); if (var_f31 < var_f29) { var_f29 = var_f31; sp18 = sp30; @@ -1984,9 +1984,9 @@ s32 fn_1_13C10(Vec *arg0, Vec *arg1) } } if ((sp48[var_r29]->y >= arg0->y) && (sp48[var_r29]->y < (150.0f + arg0->y))) { - VECSubtract(arg0, sp48[var_r29], &sp3C); + PSVECSubtract(arg0, sp48[var_r29], &sp3C); sp3C.y = 0.0f; - var_f31 = VECMag(&sp3C); + var_f31 = PSVECMag(&sp3C); if (var_f31 < var_f29) { var_f29 = var_f31; sp18.x = sp48[var_r29]->x; @@ -1998,9 +1998,9 @@ s32 fn_1_13C10(Vec *arg0, Vec *arg1) } } if (var_f29 < 100.0f) { - VECSubtract(arg0, &sp18, &sp3C); + PSVECSubtract(arg0, &sp18, &sp3C); sp3C.y = 0.0f; - VECNormalize(&sp3C, &sp3C); + PSVECNormalize(&sp3C, &sp3C); arg0->x = sp18.x + (100.001f * sp3C.x); arg0->z = sp18.z + (100.001f * sp3C.z); arg1->x = var_r28->nbt.x; @@ -2052,21 +2052,21 @@ float fn_1_143F4(Vec *arg0, UnkM406PlayerStruct2 *arg1) sp34[0] = &((Vec *)var_r28->data)[var_r31->indices[0][0]]; sp34[1] = &((Vec *)var_r28->data)[var_r31->indices[1][0]]; sp34[2] = &((Vec *)var_r28->data)[var_r31->indices[2][0]]; - VECSubtract(sp34[1], sp34[0], &sp28); - VECSubtract(arg0, sp34[1], &sp1C); - VECCrossProduct(&sp28, &sp1C, &sp10); + PSVECSubtract(sp34[1], sp34[0], &sp28); + PSVECSubtract(arg0, sp34[1], &sp1C); + PSVECCrossProduct(&sp28, &sp1C, &sp10); if (sp10.y < 0.0f) { continue; } - VECSubtract(sp34[2], sp34[1], &sp28); - VECSubtract(arg0, sp34[2], &sp1C); - VECCrossProduct(&sp28, &sp1C, &sp10); + PSVECSubtract(sp34[2], sp34[1], &sp28); + PSVECSubtract(arg0, sp34[2], &sp1C); + PSVECCrossProduct(&sp28, &sp1C, &sp10); if (sp10.y < 0.0f) { continue; } - VECSubtract(sp34[0], sp34[2], &sp28); - VECSubtract(arg0, sp34[0], &sp1C); - VECCrossProduct(&sp28, &sp1C, &sp10); + PSVECSubtract(sp34[0], sp34[2], &sp28); + PSVECSubtract(arg0, sp34[0], &sp1C); + PSVECCrossProduct(&sp28, &sp1C, &sp10); if (sp10.y < 0.0f) { continue; } diff --git a/src/REL/m407dll/camera.c b/src/REL/m407dll/camera.c index 4db0b078..20d3d4db 100644 --- a/src/REL/m407dll/camera.c +++ b/src/REL/m407dll/camera.c @@ -1,37 +1,35 @@ -#include "ext_math.h" -#include "game/hsfdraw.h" -#include "game/object.h" #include "game/process.h" - +#include "game/object.h" +#include "game/hsfdraw.h" +#include "math.h" typedef struct unkDominationData2 { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ Vec unk_08; - /* 0x14 */ Vec unk_14; - /* 0x20 */ f32 unk_20; - /* 0x24 */ Vec unk_24; - /* 0x30 */ Vec unk_30; - /* 0x3C */ f32 unk_3C; - /* 0x40 */ s32 unk_40; - /* 0x44 */ f32 unk_44; - /* 0x48 */ f32 unk_48; -} unkDominationData2; // sizeof 0x4C +/* 0x00 */ s32 unk_00; +/* 0x04 */ s32 unk_04; +/* 0x08 */ Point3d unk_08; +/* 0x14 */ Point3d unk_14; +/* 0x20 */ f32 unk_20; +/* 0x24 */ Point3d unk_24; +/* 0x30 */ Point3d unk_30; +/* 0x3C */ f32 unk_3C; +/* 0x40 */ s32 unk_40; +/* 0x44 */ f32 unk_44; +/* 0x48 */ f32 unk_48; +} unkDominationData2; //sizeof 0x4C -// function signatures +//function signatures void fn_1_1CAC(f32, f32, f32); void fn_1_1D08(f32, f32, f32); void fn_1_1D64(f32); -void fn_1_2024(omObjData *); +void fn_1_2024(omObjData*); -// bss -Process *lbl_1_bss_34; -omObjData *lbl_1_bss_30; - -void fn_1_1B1C(Process *arg0) -{ - unkDominationData2 *unkData; +//bss +Process* lbl_1_bss_34; +omObjData* lbl_1_bss_30; +void fn_1_1B1C(Process* arg0) { + unkDominationData2* unkData; + lbl_1_bss_34 = arg0; Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); Hu3DCameraPerspectiveSet(1, 45.0f, 10.0f, 40000.0f, 1.2f); @@ -44,55 +42,49 @@ void fn_1_1B1C(Process *arg0) fn_1_1D64(0.0f); } -void fn_1_1CA8(void) { } +void fn_1_1CA8(void) { -void fn_1_1CAC(f32 arg8, f32 arg9, f32 argA) -{ +} + +void fn_1_1CAC(f32 arg8, f32 arg9, f32 argA) { Center.x = arg8; Center.y = arg9; Center.z = argA; } -void fn_1_1CD4(f32 *arg0, f32 *arg1, f32 *arg2) -{ +void fn_1_1CD4(f32* arg0, f32* arg1, f32* arg2) { *arg0 = Center.x; *arg1 = Center.y; *arg2 = Center.z; } -void fn_1_1D08(f32 arg8, f32 arg9, f32 argA) -{ +void fn_1_1D08(f32 arg8, f32 arg9, f32 argA) { CRot.x = arg8; CRot.y = arg9; CRot.z = argA; } -void fn_1_1D30(f32 *arg0, f32 *arg1, f32 *arg2) -{ +void fn_1_1D30(f32* arg0, f32* arg1, f32* arg2) { *arg0 = CRot.x; *arg1 = CRot.y; *arg2 = CRot.z; } -void fn_1_1D64(f32 arg8) -{ +void fn_1_1D64(f32 arg8) { CZoom = arg8; } -void fn_1_1D74(f32 *arg0) -{ +void fn_1_1D74(f32* arg0) { *arg0 = CZoom; } -s32 fn_1_1D88(void) -{ - unkDominationData2 *unkData = lbl_1_bss_30->data; +s32 fn_1_1D88(void) { + unkDominationData2* unkData = lbl_1_bss_30->data; return unkData->unk_04; } -void fn_1_1DB0(Vec *arg0, Vec *arg1, f32 *arg2, s32 arg3, s32 arg4) -{ - unkDominationData2 *temp_r31; +void fn_1_1DB0(Point3d* arg0, Point3d* arg1, f32* arg2, s32 arg3, s32 arg4) { + unkDominationData2* temp_r31; temp_r31 = lbl_1_bss_30->data; temp_r31->unk_00 = arg4; @@ -108,48 +100,46 @@ void fn_1_1DB0(Vec *arg0, Vec *arg1, f32 *arg2, s32 arg3, s32 arg4) temp_r31->unk_04 = 1; } -f32 fn_1_1F1C(f32 arg8, f32 arg9) -{ +f32 fn_1_1F1C(f32 arg8, f32 arg9) { if (((arg8 > 0.0f) && (arg9 > 0.0f)) || ((arg8 < 0.0f) && (arg9 < 0.0f))) { return abs(arg8 - arg9); } - + return abs(arg8) + abs(arg9); } -void fn_1_2024(omObjData *arg0) -{ +void fn_1_2024(omObjData* arg0) { Vec sp14; Vec sp8; f32 var_f31; f32 cZoomTemp; - unkDominationData2 *temp_r31; + unkDominationData2* temp_r31; temp_r31 = arg0->data; if (temp_r31->unk_04 != 0) { switch (temp_r31->unk_00) { - case 0: - var_f31 = temp_r31->unk_44; - break; - case 1: - var_f31 = temp_r31->unk_44; - if (temp_r31->unk_48 > 0.5) { - temp_r31->unk_00 = 2; - } - break; - case 2: - var_f31 = sind(90.0f * temp_r31->unk_44); - break; - case 3: - var_f31 = sind(90.0f * temp_r31->unk_44); - if (temp_r31->unk_48 > 0.5) { - temp_r31->unk_00 = 4; - } - break; - case 4: - var_f31 = sind(90.0f * temp_r31->unk_44); - var_f31 *= var_f31; - break; + case 0: + var_f31 = temp_r31->unk_44; + break; + case 1: + var_f31 = temp_r31->unk_44; + if (temp_r31->unk_48 > 0.5) { + temp_r31->unk_00 = 2; + } + break; + case 2: + var_f31 = sin((M_PI * (90.0f * temp_r31->unk_44)) / 180.0); + break; + case 3: + var_f31 = sin((M_PI * (90.0f * temp_r31->unk_44)) / 180.0); + if (temp_r31->unk_48 > 0.5) { + temp_r31->unk_00 = 4; + } + break; + case 4: + var_f31 = sin((M_PI * (90.0f * temp_r31->unk_44)) / 180.0); + var_f31 *= var_f31; + break; } sp14.x = temp_r31->unk_24.x + (var_f31 * (temp_r31->unk_08.x - temp_r31->unk_24.x)); sp14.y = temp_r31->unk_24.y + (var_f31 * (temp_r31->unk_08.y - temp_r31->unk_24.y)); diff --git a/src/REL/m407dll/effect.c b/src/REL/m407dll/effect.c index 4e5287ba..cb22c723 100644 --- a/src/REL/m407dll/effect.c +++ b/src/REL/m407dll/effect.c @@ -1,45 +1,47 @@ -#include "game/hsfdraw.h" -#include "game/hsfmotion.h" -#include "game/object.h" +#include "src/REL/m407dll/m407dll.h" #include "game/process.h" -#include "math.h" - -#include "REL/m407dll.h" +#include "game/object.h" +#include "game/hsfmotion.h" +#include "game/hsfdraw.h" typedef struct unkDominationData4 { - /* 0x00 */ u32 unk_00; - /* 0x04 */ u32 unk_04; - /* 0x08 */ s32 unk_08; - /* 0x0C */ s32 unk_0C; - /* 0x10 */ f32 unk_10; - /* 0x14 */ f32 unk_14; - /* 0x18 */ f32 unk_18; - /* 0x1C */ s32 unk_1C; -} unkDominationData4; // size of 0x20 +/* 0x00 */ u32 unk_00; +/* 0x04 */ u32 unk_04; +/* 0x08 */ s32 unk_08; +/* 0x0C */ s32 unk_0C; +/* 0x10 */ f32 unk_10; +/* 0x14 */ f32 unk_14; +/* 0x18 */ f32 unk_18; +/* 0x1C */ s32 unk_1C; +} unkDominationData4; //size of 0x20 -// function signatures -void fn_1_4858(omObjData *arg0); -void fn_1_485C(omObjData *arg0); -void fn_1_46EC(omObjData *arg0); -void fn_1_465C(omObjData *arg0, s32 arg1); -void fn_1_4808(omObjData *arg0); +//function signatures +void fn_1_4858(omObjData* arg0); +void fn_1_485C(omObjData* arg0); +void fn_1_46EC(omObjData* arg0); +void fn_1_465C(omObjData* arg0, s32 arg1); +void fn_1_4808(omObjData* arg0); -// bss -Process *lbl_1_bss_3970; -omObjData *lbl_1_bss_37E0[100]; +//bss +Process* lbl_1_bss_3970; +omObjData* lbl_1_bss_37E0[100]; -// data -s32 lbl_1_data_288[] = { DATA_MAKE_NUM(DATADIR_M407, 0x15), DATA_MAKE_NUM(DATADIR_M407, 0x16), DATA_MAKE_NUM(DATADIR_M407, 0x17), - DATA_MAKE_NUM(DATADIR_M407, 0x18), DATA_MAKE_NUM(DATADIR_M407, 0x19) }; +//data +s32 lbl_1_data_288[] = { + 0x00260015, + 0x00260016, + 0x00260017, + 0x00260018, + 0x00260019 +}; ObjFuncs lbl_1_data_29C[] = { fn_1_4858, fn_1_485C, }; -void fn_1_41CC(Process *arg0) -{ - Process *sp8; +void fn_1_41CC(Process* arg0) { + Process* sp8; u32 i; u32 temp_r30; @@ -57,15 +59,15 @@ void fn_1_41CC(Process *arg0) for (i = 0; i < 4; i++) { lbl_1_bss_37E0[temp_r30 + i] = omAddObjEx(lbl_1_bss_3970, 0x800, 1, 0, 5, fn_1_46EC); lbl_1_bss_37E0[temp_r30 + i]->work[0] = temp_r30 + i; - lbl_1_bss_37E0[temp_r30 + i]->work[1] = 1; + lbl_1_bss_37E0[temp_r30 + i]->work[1] = 1; } - + temp_r30 += i; for (i = 0; i < 30; i++) { lbl_1_bss_37E0[temp_r30 + i] = omAddObjEx(lbl_1_bss_3970, 0x800, 1, 0, 5, fn_1_46EC); lbl_1_bss_37E0[temp_r30 + i]->work[0] = temp_r30 + i; - lbl_1_bss_37E0[temp_r30 + i]->work[1] = 2; + lbl_1_bss_37E0[temp_r30 + i]->work[1] = 2; } temp_r30 += i; @@ -73,20 +75,19 @@ void fn_1_41CC(Process *arg0) for (i = 0; i < 4; i++) { lbl_1_bss_37E0[temp_r30 + i] = omAddObjEx(lbl_1_bss_3970, 0x800, 1, 0, 5, fn_1_46EC); lbl_1_bss_37E0[temp_r30 + i]->work[0] = temp_r30 + i; - lbl_1_bss_37E0[temp_r30 + i]->work[1] = 3; + lbl_1_bss_37E0[temp_r30 + i]->work[1] = 3; } - + temp_r30 += i; for (i = 0; i < 22; i++) { lbl_1_bss_37E0[temp_r30 + i] = omAddObjEx(lbl_1_bss_3970, 0x800, 1, 0, 5, fn_1_46EC); lbl_1_bss_37E0[temp_r30 + i]->work[0] = temp_r30 + i; - lbl_1_bss_37E0[temp_r30 + i]->work[1] = 4; + lbl_1_bss_37E0[temp_r30 + i]->work[1] = 4; } } -void fn_1_44F4(void) -{ +void fn_1_44F4(void) { u32 i; for (i = 0; i < ARRAY_COUNT(lbl_1_bss_37E0); i++) { @@ -94,10 +95,9 @@ void fn_1_44F4(void) } } -void fn_1_4544(s32 arg0, s32 arg1, f32 arg2, f32 arg3, f32 arg4) -{ - omObjData *temp_r29; - unkDominationData4 *temp_r31; +void fn_1_4544(s32 arg0, s32 arg1, f32 arg2, f32 arg3, f32 arg4) { + omObjData* temp_r29; + unkDominationData4* temp_r31; u32 i; if ((arg4 < (Center.z - 2000.0f)) || (arg4 > (2000.0f + Center.z))) { @@ -118,27 +118,24 @@ void fn_1_4544(s32 arg0, s32 arg1, f32 arg2, f32 arg3, f32 arg4) } } -void fn_1_465C(omObjData *arg0, s32 arg1) -{ - unkDominationData4 *temp_r31; +void fn_1_465C(omObjData* arg0, s32 arg1) { + unkDominationData4* temp_r31; temp_r31 = arg0->data; temp_r31->unk_0C = arg1; temp_r31->unk_1C = 0; } -void fn_1_4680(omObjData *arg0) -{ - unkDominationData4 *temp_r31; +void fn_1_4680(omObjData* arg0) { + unkDominationData4* temp_r31; temp_r31 = arg0->data; lbl_1_data_29C[temp_r31->unk_0C](arg0); omSetTra(arg0, temp_r31->unk_10, temp_r31->unk_14, temp_r31->unk_18); } -void fn_1_46EC(omObjData *arg0) -{ - unkDominationData4 *temp_r30; +void fn_1_46EC(omObjData* arg0) { + unkDominationData4* temp_r30; arg0->func = fn_1_4680; arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData4), MEMORY_DEFAULT_NUM); @@ -146,21 +143,20 @@ void fn_1_46EC(omObjData *arg0) temp_r30->unk_00 = arg0->work[0]; temp_r30->unk_08 = arg0->work[1]; temp_r30->unk_1C = 0; - arg0->model[0] = Hu3DModelCreateFile(lbl_1_data_288[temp_r30->unk_08]); - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); + arg0->model[0] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_288[temp_r30->unk_08], MEMORY_DEFAULT_NUM, HEAP_DATA)); + Hu3DModelAttrSet(arg0->model[0], 0x4000); + Hu3DModelAttrSet(arg0->model[0], 0x40000002); + Hu3DModelAttrSet(arg0->model[0], 1); temp_r30->unk_10 = 0.0f; temp_r30->unk_14 = 0.0f; temp_r30->unk_18 = 0.0f; fn_1_465C(arg0, 0); } -void fn_1_4808(omObjData *arg0) -{ - unkDominationData4 *sp8; +void fn_1_4808(omObjData* arg0) { + unkDominationData4* sp8; sp8 = arg0->data; - + Hu3DModelKill(arg0->model[0]); if (arg0->data) { @@ -168,31 +164,31 @@ void fn_1_4808(omObjData *arg0) } } -void fn_1_4858(omObjData *arg0) { } +void fn_1_4858(omObjData* arg0) { -void fn_1_485C(omObjData *arg0) -{ - unkDominationData4 *temp_r30; +} + +void fn_1_485C(omObjData* arg0) { + unkDominationData4* temp_r30; temp_r30 = arg0->data; if (temp_r30->unk_04 != 0) { temp_r30->unk_04--; } - + if (temp_r30->unk_1C == 0) { Hu3DMotionTimeSet(*arg0->model, 0.0f); - Hu3DModelAttrReset(*arg0->model, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(*arg0->model, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(*arg0->model, HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(*arg0->model, 1); + Hu3DModelAttrReset(*arg0->model, 0x40000002); + Hu3DModelAttrSet(*arg0->model, 0x40000001); + temp_r30->unk_1C++; + } else if (temp_r30->unk_1C == 1) { + Hu3DModelAttrReset(arg0->model[0], 0x40000001); temp_r30->unk_1C++; } - else if (temp_r30->unk_1C == 1) { - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP); - temp_r30->unk_1C++; - } - + if (Hu3DMotionEndCheck(*arg0->model) != 0) { - Hu3DModelAttrSet(*arg0->model, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(*arg0->model, 1); fn_1_465C(arg0, 0); } } diff --git a/src/REL/m407dll/m407dll.h b/src/REL/m407dll/m407dll.h new file mode 100644 index 00000000..788ede40 --- /dev/null +++ b/src/REL/m407dll/m407dll.h @@ -0,0 +1,5 @@ +#include "game/object.h" + +#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) + +typedef void (*ObjFuncs)(omObjData*); diff --git a/src/REL/m407dll/main.c b/src/REL/m407dll/main.c index 83406eca..a3b4c1d7 100644 --- a/src/REL/m407dll/main.c +++ b/src/REL/m407dll/main.c @@ -1,12 +1,13 @@ #include "game/object.h" #include "game/gamework_data.h" -#include "game/gamework.h" #include "game/minigame_seq.h" #include "game/wipe.h" #include "game/audio.h" #include "game/hsfman.h" -#include "REL/m407dll.h" +#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) + +typedef void (*ObjFuncs)(void); typedef struct unkDominationData5 { /* 0x00 */ u32 unk_00; @@ -26,6 +27,12 @@ typedef struct unkDominationData5 { } unkDominationData5; //sizeof 0x48 //function signatures +void fn_1_388(u8, s32); +void fn_1_3C4(u8); +s32 fn_1_4C0(s32); +s32 fn_1_508(u8); +s32 fn_1_53C(u8); +void fn_1_568(s16, s16, s16); void fn_1_4B7C(void); void fn_1_4C3C(s32); void fn_1_4C6C(omObjData*); @@ -49,7 +56,7 @@ omObjData* lbl_1_bss_397C; s16 lbl_1_bss_3978; //data -VoidFuncs lbl_1_data_2A8[] = { +ObjFuncs lbl_1_data_2A8[] = { fn_1_4D0C, fn_1_4D54, fn_1_4E8C, diff --git a/src/REL/m407dll/map.c b/src/REL/m407dll/map.c index 4675aa80..91d7f946 100644 --- a/src/REL/m407dll/map.c +++ b/src/REL/m407dll/map.c @@ -1,47 +1,51 @@ +#include "game/process.h" +#include "game/object.h" #include "game/gamework_data.h" #include "game/hsfman.h" -#include "game/object.h" -#include "game/process.h" -#include "REL/m407dll.h" +#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) -// function signatures -void fn_1_162C(omObjData *); -void fn_1_1A8C(omObjData *); +//function signatures +void fn_1_162C(omObjData*); +void fn_1_1A8C(omObjData*); -// bss -Process *lbl_1_bss_2C; -omObjData *lbl_1_bss_28; +//bss +Process* lbl_1_bss_2C; +omObjData* lbl_1_bss_28; s16 lbl_1_bss_24; s32 lbl_1_bss_20; -// data +//data s32 lbl_1_data_198[] = { - DATA_MAKE_NUM(DATADIR_M407, 0x00), - DATA_MAKE_NUM(DATADIR_M407, 0x02), - DATA_MAKE_NUM(DATADIR_M407, 0x03), - DATA_MAKE_NUM(DATADIR_M407, 0x01), - DATA_MAKE_NUM(DATADIR_M407, 0x05), - DATA_MAKE_NUM(DATADIR_M407, 0x06), - DATA_MAKE_NUM(DATADIR_M407, 0x07), - DATA_MAKE_NUM(DATADIR_M407, 0x08), - DATA_MAKE_NUM(DATADIR_M407, 0x09), - DATA_MAKE_NUM(DATADIR_M407, 0x0A), - DATA_MAKE_NUM(DATADIR_M407, 0x0B), - DATA_MAKE_NUM(DATADIR_M407, 0x0C), - DATA_MAKE_NUM(DATADIR_M407, 0x04), + 0x00260000, + 0x00260002, + 0x00260003, + 0x00260001, + 0x00260005, + 0x00260006, + 0x00260007, + 0x00260008, + 0x00260009, + 0x0026000A, + 0x0026000B, + 0x0026000C, + 0x00260004, }; -Vec lbl_1_data_1CC[] = { { 600.0f, 3.0f, -300.0f }, { 200.0f, 3.0f, -300.0f }, { -200.0f, 3.0f, -300.0f }, { -600.0f, 3.0f, -300.0f } }; +Vec lbl_1_data_1CC[] = { + {600.0f, 3.0f, -300.0f}, + {200.0f, 3.0f, -300.0f}, + {-200.0f, 3.0f, -300.0f}, + {-600.0f, 3.0f, -300.0f} +}; -Vec lbl_1_data_1FC = { 2000.0f, 3000.0f, 2000.0f }; -Vec lbl_1_data_208 = { -0.5f, -0.5f, -0.5f }; -GXColor lbl_1_data_214 = { 255, 255, 255, 255 }; -Vec lbl_1_data_218 = { 0.0f, 1.0f, 0.0f }; +Point3d lbl_1_data_1FC = {2000.0f, 3000.0f, 2000.0f}; +Point3d lbl_1_data_208 = {-0.5f, -0.5f, -0.5f}; +GXColor lbl_1_data_214 = {255, 255, 255, 255}; +Point3d lbl_1_data_218 = {0.0f, 1.0f, 0.0f}; -void fn_1_14F0(Process *arg0, s32 arg1) -{ - LightData *sp10; +void fn_1_14F0(Process* arg0, s32 arg1) { + LightData* sp10; lbl_1_bss_2C = arg0; lbl_1_bss_20 = arg1; @@ -53,8 +57,7 @@ void fn_1_14F0(Process *arg0, s32 arg1) sp10 = &Hu3DGlobalLight[lbl_1_bss_24]; } -void fn_1_15D8(void) -{ +void fn_1_15D8(void) { s32 i; for (i = 0; i < 13; i++) { @@ -62,8 +65,7 @@ void fn_1_15D8(void) } } -void fn_1_162C(omObjData *arg0) -{ +void fn_1_162C(omObjData* arg0) { s32 var_r30; s32 var_r30_2; s32 var_r30_3; @@ -71,57 +73,55 @@ void fn_1_162C(omObjData *arg0) s32 i; arg0->func = fn_1_1A8C; - arg0->model[0] = Hu3DModelCreateFile(lbl_1_data_198[2]); + arg0->model[0] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[2], MEMORY_DEFAULT_NUM, HEAP_DATA)); Hu3DModelShadowMapSet(arg0->model[0]); Hu3DModelAmbSet(arg0->model[0], 1.0f, 1.0f, 1.0f); - arg0->model[1] = Hu3DModelCreateFile(lbl_1_data_198[3]); + arg0->model[1] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[3], MEMORY_DEFAULT_NUM, HEAP_DATA)); Hu3DModelAmbSet(arg0->model[1], 1.0f, 1.0f, 1.0f); - Hu3DModelAttrSet(arg0->model[1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->model[1], 1); for (i = 0; i < ARRAY_COUNT(GWPlayerCfg); i++) { - arg0->model[i + 2] = Hu3DModelCreateFile(lbl_1_data_198[GWPlayerCfg[i].character + 4]); + arg0->model[i+2] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[GWPlayerCfg[i].character + 4], MEMORY_DEFAULT_NUM, HEAP_DATA)); Hu3DModelAmbSet(arg0->model[i + 2], 1.0f, 1.0f, 1.0f); Hu3DModelShadowMapSet(arg0->model[i + 2]); } for (i = 0; i < 5; i++) { if (i == 0) { - arg0->model[i + 6] = Hu3DModelCreateFile(lbl_1_data_198[0]); - } - else { + arg0->model[i + 6] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[0], MEMORY_DEFAULT_NUM, HEAP_DATA)); + } else { arg0->model[i + 6] = Hu3DModelLink(arg0->model[6]); } Hu3DModelAmbSet(arg0->model[i + 6], 1.0f, 1.0f, 1.0f); Hu3DModelShadowMapSet(arg0->model[i + 6]); } - arg0->model[11] = Hu3DModelCreateFile(lbl_1_data_198[12]); - arg0->model[12] = Hu3DModelCreateFile(lbl_1_data_198[1]); + arg0->model[11] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[12], MEMORY_DEFAULT_NUM, HEAP_DATA)); + arg0->model[12] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[1], MEMORY_DEFAULT_NUM, HEAP_DATA)); for (i = 0; i < 4; i++) { Hu3DModelPosSetV(arg0->model[i + 2], &lbl_1_data_1CC[i]); } for (i = 0; i < 5; i++) { - Hu3DModelPosSet(arg0->model[i + 6], 0.0f, 0.0f, -2000.0f + (8000.0f * (f32)i)); + Hu3DModelPosSet(arg0->model[i + 6], 0.0f, 0.0f, -2000.0f + (8000.0f * (f32) i)); } - + Hu3DModelPosSet(arg0->model[11], 0.0f, 0.0f, -3900.0f); Hu3DModelPosSet(arg0->model[12], 0.0f, 0.0f, 0.0f); - Hu3DModelAttrSet(arg0->model[12], HU3D_MOTATTR_LOOP); - + Hu3DModelAttrSet(arg0->model[12], 0x40000001); + if (lbl_1_bss_20 > 0) { - Hu3DModelPosSet(arg0->model[1], 0.0f, 0.0f, 200.0f * (f32)lbl_1_bss_20); - Hu3DModelAttrReset(arg0->model[1], HU3D_ATTR_DISPOFF); + Hu3DModelPosSet(arg0->model[1], 0.0f, 0.0f, 200.0f * (f32) lbl_1_bss_20); + Hu3DModelAttrReset(arg0->model[1], 1); } } -void fn_1_1A8C(omObjData *arg0) -{ - Vec sp8; +void fn_1_1A8C(omObjData* arg0) { + Point3d sp8; sp8.x = lbl_1_data_1FC.x; sp8.y = lbl_1_data_1FC.y; sp8.z = lbl_1_data_1FC.z + Center.z; Hu3DGLightPosSetV(lbl_1_bss_24, &sp8, &lbl_1_data_208); Hu3DShadowPosSet(&sp8, &lbl_1_data_218, &Center); -} +} \ No newline at end of file diff --git a/src/REL/m407dll/player.c b/src/REL/m407dll/player.c index 0557ca80..69fe3858 100644 --- a/src/REL/m407dll/player.c +++ b/src/REL/m407dll/player.c @@ -1,26 +1,27 @@ -#include "game/audio.h" -#include "game/chrman.h" -#include "game/frand.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" #include "game/process.h" +#include "game/object.h" +#include "game/gamework_data.h" +#include "game/pad.h" +#include "game/objsub.h" +#include "game/chrman.h" +#include "game/hsfman.h" +#include "game/frand.h" #include "math.h" -#include "REL/m407dll.h" +#include "rel_sqrt_consts.h" + +#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) +typedef void (*ObjFuncs)(omObjData*); typedef struct unkDominationData { u8 unk_00; u8 unk_01; u8 unk_02; - // padding unk_03 + //padding unk_03 s32 unk_04; s32 unk_08; u8 unk_0C; - // padding unk_0D + //padding unk_0D f32 unk_10; f32 unk_14; f32 unk_18; @@ -34,150 +35,90 @@ typedef struct unkDominationData { s32 unk_38; } unkDominationData; -// function signatures -void fn_1_628(omObjData *, s32); -void fn_1_64C(omObjData *); -void fn_1_99C(omObjData *); -void fn_1_A1C(omObjData *arg0); +//function signatures +void fn_1_628(omObjData*, s32); +void fn_1_64C(omObjData*); +void fn_1_99C(omObjData*); +void fn_1_A1C(omObjData* arg0); void fn_1_26CC(u8); void fn_1_4544(s32, s32, f32, f32, f32); s16 fn_1_28B8(u8); s16 fn_1_28E4(u8); -void fn_1_A88(omObjData *arg0); -void fn_1_A8C(omObjData *arg0); -void fn_1_C58(omObjData *arg0); -void fn_1_CF4(omObjData *arg0); -void fn_1_DB4(omObjData *arg0); -void fn_1_F8C(omObjData *arg0); -void fn_1_1074(omObjData *arg0); -void fn_1_11CC(omObjData *arg0); -void fn_1_13E4(omObjData *arg0); -void fn_1_1460(omObjData *arg0); +void fn_1_A88(omObjData* arg0); +void fn_1_A8C(omObjData* arg0); +void fn_1_C58(omObjData* arg0); +void fn_1_CF4(omObjData* arg0); +void fn_1_DB4(omObjData* arg0); +void fn_1_F8C(omObjData* arg0); +void fn_1_1074(omObjData* arg0); +void fn_1_11CC(omObjData* arg0); +void fn_1_13E4(omObjData* arg0); +void fn_1_1460(omObjData* arg0); -// bss -Process *lbl_1_bss_18; -omObjData *lbl_1_bss_8[4]; -Process *lbl_1_bss_0[2]; +//bss +Process* lbl_1_bss_18; +omObjData* lbl_1_bss_8[4]; +Process* lbl_1_bss_0[2]; -// data +//data u32 lbl_1_data_0[8][8] = { - { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x24), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x29), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x05), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x06), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x4A), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x4B), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18), - }, - { - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x24), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x29), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x05), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x06), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x4A), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x4B), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x18), - }, - { - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x00), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x24), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x29), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x05), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x06), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x4A), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x4B), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x18), - }, - { - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x24), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x29), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x05), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x06), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x4A), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x4B), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x18), - }, - { - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x24), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x29), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x05), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x06), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x4A), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x4B), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x18), - }, - { - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x24), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x29), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x05), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x06), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x4A), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x4B), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x18), - }, - { - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x24), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x29), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x05), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x06), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x4A), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x4B), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x18), - }, - { - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x24), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x29), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x05), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x06), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x4A), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x4B), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x18), - }, + {0x005F0000, 0x005F0024, 0x005F0029, 0x005F0005, 0x005F0006, 0x005F004A, 0x005F004B, 0x005F0018}, + {0x001A0000, 0x001A0024, 0x001A0029, 0x001A0005, 0x001A0006, 0x001A004A, 0x001A004B, 0x001A0018}, + {0x006D0000, 0x006D0024, 0x006D0029, 0x006D0005, 0x006D0006, 0x006D004A, 0x006D004B, 0x006D0018}, + {0x008A0000, 0x008A0024, 0x008A0029, 0x008A0005, 0x008A0006, 0x008A004A, 0x008A004B, 0x008A0018}, + {0x00850000, 0x00850024, 0x00850029, 0x00850005, 0x00850006, 0x0085004A, 0x0085004B, 0x00850018}, + {0x00110000, 0x00110024, 0x00110029, 0x00110005, 0x00110006, 0x0011004A, 0x0011004B, 0x00110018}, + {0x000D0000, 0x000D0024, 0x000D0029, 0x000D0005, 0x000D0006, 0x000D004A, 0x000D004B, 0x000D0018}, + {0x00810000, 0x00810024, 0x00810029, 0x00810005, 0x00810006, 0x0081004A, 0x0081004B, 0x00810018} }; -s32 lbl_1_data_100[] = { - DATA_MAKE_NUM(DATADIR_M407, 0x0D), - DATA_MAKE_NUM(DATADIR_M407, 0x0E), - DATA_MAKE_NUM(DATADIR_M407, 0x0F), - DATA_MAKE_NUM(DATADIR_M407, 0x10), - DATA_MAKE_NUM(DATADIR_M407, 0x11), - DATA_MAKE_NUM(DATADIR_M407, 0x12), - DATA_MAKE_NUM(DATADIR_M407, 0x13), - DATA_MAKE_NUM(DATADIR_M407, 0x14), -}; +s32 lbl_1_data_100[] = {0x0026000D, 0x0026000E, 0x0026000F, 0x00260010, 0x00260011, 0x00260012, 0x00260013, 0x00260014}; char lbl_1_data_120[] = "test11_tex_we-itemhook-r"; -char *lbl_1_data_13C[] - = { lbl_1_data_120, lbl_1_data_120, lbl_1_data_120, lbl_1_data_120, lbl_1_data_120, lbl_1_data_120, lbl_1_data_120, lbl_1_data_120 }; +char* lbl_1_data_13C[] = { + lbl_1_data_120, + lbl_1_data_120, + lbl_1_data_120, + lbl_1_data_120, + lbl_1_data_120, + lbl_1_data_120, + lbl_1_data_120, + lbl_1_data_120 +}; -ObjFuncs lbl_1_data_15C[] = { fn_1_A88, fn_1_A8C, fn_1_C58, fn_1_CF4, fn_1_DB4, fn_1_F8C, fn_1_1074, fn_1_11CC, fn_1_13E4, fn_1_1460 }; +ObjFuncs lbl_1_data_15C[] = { + fn_1_A88, + fn_1_A8C, + fn_1_C58, + fn_1_CF4, + fn_1_DB4, + fn_1_F8C, + fn_1_1074, + fn_1_11CC, + fn_1_13E4, + fn_1_1460 +}; -u8 lbl_1_data_184[4][2] = { { 0x3C, 0x0F }, { 0x50, 0x0F }, { 0x64, 0x14 }, { 0x78, 0x14 } }; +u8 lbl_1_data_184[4][2] = { + {0x3C, 0x0F}, + {0x50, 0x0F}, + {0x64, 0x14}, + {0x78, 0x14} +}; -inline void SetDominationDataStuff(omObjData *arg0, s32 val0, s32 val1) -{ - unkDominationData *temp_r29 = arg0->data; +inline void SetDominationDataStuff(omObjData* arg0, s32 val0, s32 val1) { + unkDominationData* temp_r29 = arg0->data; temp_r29->unk_1C = val0; temp_r29->unk_20 = val1; } -void ObjectSetup(void) -{ +void ObjectSetup(void) { lbl_1_bss_0[0] = omInitObjMan(0x2F8, 0x2000); omGameSysInit(lbl_1_bss_0[0]); fn_1_4980(lbl_1_bss_0[0]); } -void fn_1_F4(Process *arg0) -{ +void fn_1_F4(Process* arg0) { u32 i; lbl_1_bss_18 = arg0; @@ -187,8 +128,7 @@ void fn_1_F4(Process *arg0) } } -void fn_1_194(void) -{ +void fn_1_194(void) { s32 i; for (i = 0; i < 4; i++) { @@ -196,8 +136,7 @@ void fn_1_194(void) } } -void fn_1_1E4(void) -{ +void fn_1_1E4(void) { s32 i; for (i = 0; i < 4; i++) { @@ -205,8 +144,7 @@ void fn_1_1E4(void) } } -void fn_1_238(void) -{ +void fn_1_238(void) { s32 i; for (i = 0; i < 4; i++) { @@ -214,8 +152,7 @@ void fn_1_238(void) } } -void fn_1_28C(void) -{ +void fn_1_28C(void) { s32 i; for (i = 0; i < 4; i++) { @@ -223,8 +160,7 @@ void fn_1_28C(void) } } -void fn_1_2E0(void) -{ +void fn_1_2E0(void) { s32 i; for (i = 0; i < 4; i++) { @@ -232,8 +168,7 @@ void fn_1_2E0(void) } } -void fn_1_334(void) -{ +void fn_1_334(void) { s32 i; for (i = 0; i < 4; i++) { @@ -241,22 +176,19 @@ void fn_1_334(void) } } -void fn_1_388(u8 arg0, s32 arg1) -{ - omObjData *obj = lbl_1_bss_8[arg0]; - unkDominationData *unkData = obj->data; +void fn_1_388(u8 arg0, s32 arg1) { + omObjData* obj = lbl_1_bss_8[arg0]; + unkDominationData* unkData = obj->data; unkData->unk_38 = arg1; } -void fn_1_3C4(u8 arg0) -{ +void fn_1_3C4(u8 arg0) { fn_1_628(lbl_1_bss_8[arg0], 8); } -void fn_1_404(void) -{ - omObjData *temp_r31; - unkDominationData *unkData; +void fn_1_404(void) { + omObjData* temp_r31; + unkDominationData* unkData; s32 temp_r0; u8 i; @@ -264,74 +196,68 @@ void fn_1_404(void) temp_r31 = lbl_1_bss_8[i]; unkData = temp_r31->data; switch (unkData->unk_38) { - case 0: - fn_1_628(temp_r31, 9); - break; - case 1: - fn_1_628(temp_r31, 6); - break; - case 2: - fn_1_628(temp_r31, 9); - break; + case 0: + fn_1_628(temp_r31, 9); + break; + case 1: + fn_1_628(temp_r31, 6); + break; + case 2: + fn_1_628(temp_r31, 9); + break; } } } -s32 fn_1_4C0(u8 arg0) -{ - unkDominationData *unkData; - +s32 fn_1_4C0(u8 arg0) { + unkDominationData* unkData; + if (arg0 >= 4) { return -1; } - + unkData = lbl_1_bss_8[arg0]->data; return unkData->unk_01; } -s32 fn_1_508(u8 arg0) -{ - unkDominationData *unkData = lbl_1_bss_8[arg0]->data; +s32 fn_1_508(u8 arg0) { + unkDominationData* unkData = lbl_1_bss_8[arg0]->data; return unkData->unk_04; } -s32 fn_1_53C(u8 arg0) -{ - return ((unkDominationData *)(lbl_1_bss_8[arg0]->data))->unk_1C == 0; +s32 fn_1_53C(u8 arg0) { + return ((unkDominationData*)(lbl_1_bss_8[arg0]->data))->unk_1C == 0; } -void fn_1_568(s16 arg0, s16 arg1, s16 arg2) -{ - unkDominationData *unkData; +void fn_1_568(s16 arg0, s16 arg1, s16 arg2) { + unkDominationData* unkData; unkData = lbl_1_bss_8[arg0]->data; switch (arg1) { - case 0: - omVibrate(unkData->unk_00, arg2, 6, 6); - break; - case 1: - omVibrate(unkData->unk_00, arg2, 4, 2); - break; - case 2: - omVibrate(unkData->unk_00, arg2, 0xC, 0); - break; + case 0: + omVibrate(unkData->unk_00, arg2, 6, 6); + break; + case 1: + omVibrate(unkData->unk_00, arg2, 4, 2); + break; + case 2: + omVibrate(unkData->unk_00, arg2, 0xC, 0); + break; } } -void fn_1_628(omObjData *arg0, s32 arg1) -{ - unkDominationData *temp_r31; +void fn_1_628(omObjData* arg0, s32 arg1) { + unkDominationData* temp_r31; temp_r31 = arg0->data; temp_r31->unk_1C = arg1; temp_r31->unk_20 = 0; } -void fn_1_64C(omObjData *arg0) -{ +void fn_1_64C(omObjData* arg0) { u32 temp_r29; - unkDominationData *temp_r27; - unkDominationData *temp_r31; + unkDominationData* temp_r27; + unkDominationData* temp_r31; u32 i; arg0->func = fn_1_A1C; @@ -350,19 +276,19 @@ void fn_1_64C(omObjData *arg0) temp_r31->unk_30 = (600.0f / (lbl_1_data_184[temp_r31->unk_02][0] - frandmod31(lbl_1_data_184[temp_r31->unk_02][1]))); temp_r31->unk_2C = temp_r31->unk_30; arg0->model[0] = CharModelCreate(temp_r31->unk_01, 8); - arg0->model[1] = Hu3DModelCreateFile(lbl_1_data_100[temp_r31->unk_01]); + arg0->model[1] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_100[temp_r31->unk_01], MEMORY_DEFAULT_NUM, HEAP_DATA)); Hu3DModelAmbSet(arg0->model[0], 1.0f, 1.0f, 1.0f); Hu3DModelAmbSet(arg0->model[1], 1.0f, 1.0f, 1.0f); - + for (i = 0; i < 8; i++) { arg0->motion[i] = CharModelMotionCreate(temp_r31->unk_01, lbl_1_data_0[temp_r31->unk_01][i]); } - + Hu3DModelShadowSet(arg0->model[0]); Hu3DModelShadowSet(arg0->model[1]); CharModelMotionDataClose(temp_r31->unk_01); CharModelMotionSet(temp_r31->unk_01, arg0->motion[1]); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(arg0->model[0], 0x40000001); Hu3DModelHookSet(arg0->model[0], lbl_1_data_13C[temp_r31->unk_01], arg0->model[1]); temp_r31->unk_10 = (600.0f - (400.0f * temp_r29)); temp_r31->unk_14 = 0.0f; @@ -370,82 +296,78 @@ void fn_1_64C(omObjData *arg0) SetDominationDataStuff(arg0, 0, 0); } -void fn_1_99C(omObjData *arg0) -{ +void fn_1_99C(omObjData* arg0) { s32 i; for (i = 0; i < 8; i++) { Hu3DMotionKill(arg0->motion[i]); } - for (i = 0; i < 2; i++) { + for (i = 0; i < 2; i++){ Hu3DModelKill(arg0->model[i]); } - + HuMemDirectFree(arg0->data); } -void fn_1_A1C(omObjData *arg0) -{ - unkDominationData *temp_r31; +void fn_1_A1C(omObjData* arg0) { + unkDominationData* temp_r31; temp_r31 = arg0->data; lbl_1_data_15C[temp_r31->unk_1C](arg0); omSetTra(arg0, temp_r31->unk_10, temp_r31->unk_14, temp_r31->unk_18); } -void fn_1_A88(omObjData *arg0) { } +void fn_1_A88(omObjData* arg0) { -void fn_1_A8C(omObjData *arg0) -{ +} + +void fn_1_A8C(omObjData* arg0) { s32 var_r29; - unkDominationData *temp_r31; + unkDominationData* temp_r31; var_r29 = 0; temp_r31 = arg0->data; temp_r31->unk_28 += 1.0f; - + if (temp_r31->unk_04 == 0) { var_r29 = (HuPadBtnDown[temp_r31->unk_0C] & 0x100) ? 1 : 0; - } - else if ((u32)temp_r31->unk_28 >= (u32)temp_r31->unk_2C) { + } else if ((u32) temp_r31->unk_28 >= (u32) temp_r31->unk_2C) { var_r29 = 1; temp_r31->unk_2C += temp_r31->unk_30; } - + if (var_r29 != 0) { - CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[2], 0.0f, 0.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[2], 0.0f, 0.0f, 0); fn_1_4544(4, 0x10, 600.0f - (400.0f * temp_r31->unk_00), -20.0f, -450.0f); fn_1_26CC(temp_r31->unk_00); temp_r31->unk_34 = 1; return; } - + if ((temp_r31->unk_34 != 0) && (Hu3DMotionEndCheck(arg0->model[0]) != 0)) { - CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[1], 0.0f, 0.0f, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[1], 0.0f, 0.0f, 0x40000001); temp_r31->unk_34 = 0; } } -void fn_1_C58(omObjData *arg0) -{ - unkDominationData *temp_r30; +void fn_1_C58(omObjData* arg0) { + unkDominationData* temp_r30; temp_r30 = arg0->data; if (Hu3DMotionEndCheck(arg0->model[0]) != 0) { - CharModelMotionShiftSet(temp_r30->unk_01, arg0->motion[1], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(temp_r30->unk_01, arg0->motion[1], 0.0f, 10.0f, 0x40000001); temp_r30->unk_34 = 0; SetDominationDataStuff(arg0, 0, 0); } } -void fn_1_CF4(omObjData *arg0) -{ - unkDominationData *temp_r31; +void fn_1_CF4(omObjData* arg0) { + unkDominationData* temp_r31; temp_r31 = arg0->data; if (temp_r31->unk_20 == 0) { - CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[1], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[1], 0.0f, 10.0f, 0x40000001); CharModelItemHookCreate(temp_r31->unk_01, lbl_1_data_13C[temp_r31->unk_01]); } if (temp_r31->unk_20++ >= 30) { @@ -453,99 +375,95 @@ void fn_1_CF4(omObjData *arg0) } } -void fn_1_DB4(omObjData *arg0) -{ +void fn_1_DB4(omObjData* arg0) { f32 temp_f31; f32 temp_f30; - unkDominationData *temp_r31; + unkDominationData* temp_r31; temp_r31 = arg0->data; - + if (temp_r31->unk_20 == 0) { CharModelVoiceEnableSet(temp_r31->unk_01, arg0->motion[3], 0); - CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[3], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[3], 0.0f, 10.0f, 0); temp_r31->unk_24 = 0.0f; temp_r31->unk_20++; } - - temp_f31 = 32.0f * sin(M_PI / 3) - 9.8f * temp_r31->unk_24; - temp_f30 = 22.0f * cos(M_PI / 3); + + temp_f31 = (32.0f * sin(1.0471975511965976)) - (9.8f * temp_r31->unk_24); + temp_f30 = 22.0f * cos(1.0471975511965976); temp_r31->unk_18 = temp_r31->unk_18 + temp_f30; temp_r31->unk_14 = temp_r31->unk_14 + temp_f31; temp_r31->unk_24 += 0.3f; - + if (!(temp_f31 < 0.0f) || !(temp_r31->unk_14 <= 30.0f)) { return; } - + temp_r31->unk_14 = 30.0f; - CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[4], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[4], 0.0f, 10.0f, 0); SetDominationDataStuff(arg0, 0, 0); } -// can also be placed into fn_1_F8C as static const -const s32 lbl_1_rodata_70[] = { 0x00000122, 0x00000162, 0x000001A2, 0x000001E2, 0x00000222, 0x00000262, 0x000002A2, 0x000002E2 }; +//can also be placed into fn_1_F8C as static const +const s32 lbl_1_rodata_70[] = {0x00000122, 0x00000162, 0x000001A2, 0x000001E2, 0x00000222, 0x00000262, 0x000002A2, 0x000002E2}; -void fn_1_F8C(omObjData *arg0) -{ - unkDominationData *temp_r31; +void fn_1_F8C(omObjData* arg0) { + unkDominationData* temp_r31; temp_r31 = arg0->data; - + if (temp_r31->unk_20 == 0) { - CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[5], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[5], 0.0f, 10.0f, 0); HuAudFXPlay(lbl_1_rodata_70[temp_r31->unk_01]); } - + if (temp_r31->unk_20++ >= 120) { - CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[0], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[0], 0.0f, 10.0f, 0x40000001); SetDominationDataStuff(arg0, 0, 0); } } -void fn_1_1074(omObjData *arg0) -{ - unkDominationData *temp_r31; +void fn_1_1074(omObjData* arg0) { + unkDominationData* temp_r31; temp_r31 = arg0->data; if (temp_r31->unk_20 == 0) { CharModelVoiceEnableSet(temp_r31->unk_01, arg0->motion[3], 0); - CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[3], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[3], 0.0f, 10.0f, 0); temp_r31->unk_24 = 0.0f; temp_r31->unk_20 = 1; } - - temp_r31->unk_14 += 80.0 * sin(M_PI / 2) - 9.8 * temp_r31->unk_24; + + temp_r31->unk_14 = (temp_r31->unk_14 + ((80.0 * sin(1.5707963267948966)) - (9.8 * temp_r31->unk_24))); temp_r31->unk_24 += 0.3f; - + if (!(temp_r31->unk_14 < 1000.0f)) { - CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[4], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[4], 0.0f, 10.0f, 0); SetDominationDataStuff(arg0, 7, 0); } } -void fn_1_11CC(omObjData *arg0) -{ - unkDominationData *temp_r31; +void fn_1_11CC(omObjData* arg0) { + unkDominationData* temp_r31; s16 temp; temp_r31 = arg0->data; if (temp_r31->unk_20 == 0) { CharModelVoiceEnableSet(temp_r31->unk_01, arg0->motion[3], 0); - CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[3], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[3], 0.0f, 10.0f, 0); temp_r31->unk_14 = 1000.0f; temp_r31->unk_18 = 200.0f * (fn_1_28B8(temp_r31->unk_00) + 2); temp_r31->unk_24 = 0.0f; temp_r31->unk_20 = 1; } - + temp_r31->unk_14 = (temp_r31->unk_14 - (2.0f + (9.8f * temp_r31->unk_24))); temp_r31->unk_24 += 0.3f; - + if (!(temp_r31->unk_14 > 300.0f)) { temp_r31->unk_14 = 300.0f; CharModelVoiceEnableSet(temp_r31->unk_01, arg0->motion[4], 0); - CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[4], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[4], 0.0f, 10.0f, 0); temp = fn_1_28E4(temp_r31->unk_00); Hu3DModelHookSet(temp, "itemhook_c", arg0->model[0]); temp_r31->unk_10 = 0.0f; @@ -555,21 +473,19 @@ void fn_1_11CC(omObjData *arg0) } } -void fn_1_13E4(omObjData *arg0) -{ - unkDominationData *temp_r30; +void fn_1_13E4(omObjData* arg0) { + unkDominationData* temp_r30; temp_r30 = arg0->data; - CharModelMotionShiftSet(temp_r30->unk_01, arg0->motion[6], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(temp_r30->unk_01, arg0->motion[6], 0.0f, 10.0f, 0); SetDominationDataStuff(arg0, 0, 0); } -void fn_1_1460(omObjData *arg0) -{ - unkDominationData *temp_r30; +void fn_1_1460(omObjData* arg0) { + unkDominationData* temp_r30; temp_r30 = arg0->data; CharModelVoiceEnableSet(temp_r30->unk_01, arg0->motion[7], 0); - CharModelMotionShiftSet(temp_r30->unk_01, arg0->motion[7], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(temp_r30->unk_01, arg0->motion[7], 0.0f, 10.0f, 0); SetDominationDataStuff(arg0, 0, 0); } diff --git a/src/REL/m407dll/score.c b/src/REL/m407dll/score.c index 4895ebd8..ec8d69a0 100644 --- a/src/REL/m407dll/score.c +++ b/src/REL/m407dll/score.c @@ -1,38 +1,42 @@ -#include "game/esprite.h" -#include "game/object.h" #include "game/process.h" -#include "game/sprite.h" +#include "game/object.h" +#include "game/esprite.h" -#include "REL/m407dll.h" +#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) + +typedef void (*ObjFuncs)(void); typedef struct unkDominationData6 { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ s16 unk_08; - /* 0x0A */ s16 unk_0A; - /* 0x0C */ s16 unk_0C[8]; // what size is this?? - /* 0x1C */ s32 unk_1C; - /* 0x20 */ f32 unk_20; -} unkDominationData6; // sizeof 0x24 +/* 0x00 */ s32 unk_00; +/* 0x04 */ s32 unk_04; +/* 0x08 */ s16 unk_08; +/* 0x0A */ s16 unk_0A; +/* 0x0C */ s16 unk_0C[8]; //what size is this?? +/* 0x1C */ s32 unk_1C; +/* 0x20 */ f32 unk_20; +} unkDominationData6; //sizeof 0x24 -// func signatures +//func signatures void fn_1_61A0(void); void fn_1_6218(void); void fn_1_62A0(void); -void fn_1_5FE4(omObjData *arg0); +void fn_1_5FE4(omObjData* arg0); void fn_1_5FB4(s32 arg0); s16 fn_1_28D4(void); -// bss -Process *lbl_1_bss_398C; -omObjData *lbl_1_bss_3988; +//bss +Process* lbl_1_bss_398C; +omObjData* lbl_1_bss_3988; -// data -VoidFuncs lbl_1_data_360[] = { fn_1_61A0, fn_1_6218, fn_1_62A0 }; +//data +ObjFuncs lbl_1_data_360[] = { + fn_1_61A0, + fn_1_6218, + fn_1_62A0 +}; -void fn_1_5C5C(Process *arg0, s16 arg1) -{ - unkDominationData6 *temp_r31; +void fn_1_5C5C(Process* arg0, s16 arg1) { + unkDominationData6* temp_r31; u32 i; lbl_1_bss_398C = arg0; @@ -41,21 +45,21 @@ void fn_1_5C5C(Process *arg0, s16 arg1) temp_r31 = lbl_1_bss_3988->data; temp_r31->unk_08 = arg1; temp_r31->unk_0A = 0; - temp_r31->unk_0C[6] = espEntry(DATA_MAKE_NUM(DATADIR_M407, 0x25), 2, 0); + temp_r31->unk_0C[6] = espEntry(0x260025, 2, 0); espTPLvlSet(temp_r31->unk_0C[6], 0.5f); espPosSet(temp_r31->unk_0C[6], 508.0f, 64.0f); - temp_r31->unk_0C[7] = espEntry(DATA_MAKE_NUM(DATADIR_M407, 0x22), 1, 0); + temp_r31->unk_0C[7] = espEntry(0x260022, 1, 0); espPosSet(temp_r31->unk_0C[7], 480.0f, 56.0f); for (i = 0; i < 3; i++) { - temp_r31->unk_0C[i] = espEntry(DATA_MAKE_NUM(DATADIR_M407, 0x1F), 0, 0); + temp_r31->unk_0C[i] = espEntry(0x26001F, 0, 0); espPosSet(temp_r31->unk_0C[i], i * 16 + 0x1F4, 56.0f); espDispOff(temp_r31->unk_0C[i]); } for (i = 0; i < 3; i++) { - temp_r31->unk_0C[i + 3] = espEntry(DATA_MAKE_NUM(DATADIR_M407, 0x20), 1, 0); - espPosSet(temp_r31->unk_0C[i + 3], i * 16 + 0x1F4, 74.0f); + temp_r31->unk_0C[i+3] = espEntry(0x260020, 1, 0); + espPosSet(temp_r31->unk_0C[i+3], i * 16 + 0x1F4, 74.0f); } for (i = 0; i < 8; i++) { @@ -65,49 +69,44 @@ void fn_1_5C5C(Process *arg0, s16 arg1) fn_1_5FB4(0); } -void fn_1_5ECC(void) -{ +void fn_1_5ECC(void) { s32 i; - unkDominationData6 *temp_r30; + unkDominationData6* temp_r30; temp_r30 = lbl_1_bss_3988->data; for (i = 0; i < 7; i++) { espKill(temp_r30->unk_0C[i]); } - + HuMemDirectFree(lbl_1_bss_3988->data); } -void fn_1_5F40(s32 arg0) -{ +void fn_1_5F40(s32 arg0) { switch (arg0) { - case 0: - fn_1_5FB4(1); - break; - case 1: - fn_1_5FB4(2); - break; + case 0: + fn_1_5FB4(1); + break; + case 1: + fn_1_5FB4(2); + break; } } -void fn_1_5F90(void) -{ +void fn_1_5F90(void) { fn_1_5FB4(0); } -void fn_1_5FB4(s32 arg0) -{ - unkDominationData6 *temp_r31; +void fn_1_5FB4(s32 arg0) { + unkDominationData6* temp_r31; temp_r31 = lbl_1_bss_3988->data; temp_r31->unk_00 = arg0; temp_r31->unk_04 = 0; } -void fn_1_5FE4(omObjData *arg0) -{ +void fn_1_5FE4(omObjData* arg0) { s16 temp_r31; - unkDominationData6 *temp_r30; + unkDominationData6* temp_r30; temp_r30 = lbl_1_bss_3988->data; lbl_1_data_360[temp_r30->unk_00](); @@ -115,20 +114,19 @@ void fn_1_5FE4(omObjData *arg0) espBankSet(temp_r30->unk_0C[0], temp_r31 / 100); temp_r31 = (temp_r31 - ((temp_r31 / 100) * 100)); espBankSet(temp_r30->unk_0C[1], (temp_r31 / 10)); - temp_r31 = (temp_r31 - ((temp_r31 / 10) * 10)); + temp_r31 = (temp_r31 - ((temp_r31 / 10) * 10)); espBankSet(temp_r30->unk_0C[2], temp_r31); temp_r31 = temp_r30->unk_0A; espBankSet(temp_r30->unk_0C[3], (temp_r31 / 100)); temp_r31 = (temp_r31 - ((temp_r31 / 100) * 100)); - espBankSet(temp_r30->unk_0C[4], (temp_r31 / 10)); + espBankSet(temp_r30->unk_0C[4], (temp_r31 / 10)); temp_r31 = (temp_r31 - ((temp_r31 / 10) * 10)); espBankSet(temp_r30->unk_0C[5], temp_r31); } -void fn_1_61A0(void) -{ +void fn_1_61A0(void) { s32 i; - unkDominationData6 *temp_r31; + unkDominationData6* temp_r31; temp_r31 = lbl_1_bss_3988->data; @@ -140,10 +138,9 @@ void fn_1_61A0(void) } } -void fn_1_6218(void) -{ +void fn_1_6218(void) { s16 i; - unkDominationData6 *temp_r31; + unkDominationData6* temp_r31; temp_r31 = lbl_1_bss_3988->data; @@ -157,10 +154,9 @@ void fn_1_6218(void) temp_r31->unk_0A = fn_1_28D4(); } -void fn_1_62A0(void) -{ +void fn_1_62A0(void) { s32 i; - unkDominationData6 *temp_r31; + unkDominationData6* temp_r31; temp_r31 = lbl_1_bss_3988->data; @@ -178,8 +174,7 @@ void fn_1_62A0(void) temp_r31->unk_20 = 1.2f; temp_r31->unk_1C = 1; } - } - else { + } else { if ((temp_r31->unk_20 -= 0.04f) <= 1.0f) { temp_r31->unk_20 = 1.0f; temp_r31->unk_1C = 0; diff --git a/src/REL/m407dll/whomp.c b/src/REL/m407dll/whomp.c index 43275f60..f10df704 100644 --- a/src/REL/m407dll/whomp.c +++ b/src/REL/m407dll/whomp.c @@ -1,43 +1,45 @@ -#include "game/audio.h" -#include "game/gamework_data.h" +#include "game/process.h" +#include "game/object.h" #include "game/hsfman.h" #include "game/hsfmotion.h" -#include "game/object.h" -#include "game/process.h" +#include "game/audio.h" +#include "game/gamework_data.h" -#include "REL/m407dll.h" +#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) -#define MAX_WHOMPS_PLAYER 160 -#define MAX_WHOMPS_ALL_PLAYERS MAX_WHOMPS_PLAYER *ARRAY_COUNT(GWPlayer) -#define MAX_WHOMPS (MAX_WHOMPS_PLAYER + 1) * ARRAY_COUNT(GWPlayer) +#define MAX_WHOMPS_PLAYER 160 +#define MAX_WHOMPS_ALL_PLAYERS MAX_WHOMPS_PLAYER * ARRAY_COUNT(GWPlayer) +#define MAX_WHOMPS (MAX_WHOMPS_PLAYER + 1) * ARRAY_COUNT(GWPlayer) + +typedef void (*ObjFuncs)(omObjData*); typedef struct unkDominationData7 { - /* 0x00 */ u32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ Vec unk_08; - /* 0x14 */ Vec unk_14; - /* 0x20 */ char unk_20[4]; - /* 0x24 */ s32 unk_24; - /* 0x28 */ s32 unk_28; - /* 0x2C */ s32 unk_2C; -} unkDominationData7; // sizeof 0x30 +/* 0x00 */ u32 unk_00; +/* 0x04 */ s32 unk_04; +/* 0x08 */ Vec unk_08; +/* 0x14 */ Vec unk_14; +/* 0x20 */ char unk_20[4]; +/* 0x24 */ s32 unk_24; +/* 0x28 */ s32 unk_28; +/* 0x2C */ s32 unk_2C; +} unkDominationData7; //sizeof 0x30 -// function signatures -void fn_1_3360(omObjData *); -void fn_1_3364(omObjData *); -void fn_1_34A4(omObjData *); -void fn_1_37B0(omObjData *); -void fn_1_36D0(omObjData *); -void fn_1_2B7C(omObjData *); -void fn_1_290C(omObjData *, s32); -void fn_1_31F8(omObjData *); +//function signatures +void fn_1_3360(omObjData*); +void fn_1_3364(omObjData*); +void fn_1_34A4(omObjData*); +void fn_1_37B0(omObjData*); +void fn_1_36D0(omObjData*); +void fn_1_2B7C(omObjData*); +void fn_1_290C(omObjData*, s32); +void fn_1_31F8(omObjData*); void fn_1_4544(s32, s32, f32, f32, f32); void fn_1_3BB8(s16, f32, f32); void fn_1_568(s16, s16, s16); -// bss -Process *lbl_1_bss_37C0; -omObjData *lbl_1_bss_2DB0[MAX_WHOMPS]; +//bss +Process* lbl_1_bss_37C0; +omObjData* lbl_1_bss_2DB0[MAX_WHOMPS]; s16 lbl_1_bss_1E98[MAX_WHOMPS][3]; s16 lbl_1_bss_68[MAX_WHOMPS][6]; s16 lbl_1_bss_66; @@ -45,23 +47,23 @@ s16 lbl_1_bss_64; s16 lbl_1_bss_3A[21]; s16 lbl_1_bss_38; -// data +//data s32 lbl_1_data_228[] = { - DATA_MAKE_NUM(DATADIR_M407, 0x1C), - DATA_MAKE_NUM(DATADIR_M407, 0x1D), - DATA_MAKE_NUM(DATADIR_M407, 0x1E), - DATA_MAKE_NUM(DATADIR_M407, 0x1B), + 0x0026001C, + 0x0026001D, + 0x0026001E, + 0x0026001B }; s32 lbl_1_data_238[] = { - DATA_MAKE_NUM(DATADIR_M407, 0x2E), - DATA_MAKE_NUM(DATADIR_M407, 0x2F), - DATA_MAKE_NUM(DATADIR_M407, 0x2D), - DATA_MAKE_NUM(DATADIR_M407, 0x2A), - DATA_MAKE_NUM(DATADIR_M407, 0x2C), - DATA_MAKE_NUM(DATADIR_M407, 0x27), - DATA_MAKE_NUM(DATADIR_M407, 0x28), - DATA_MAKE_NUM(DATADIR_M407, 0x29), + 0x0026002E, + 0x0026002F, + 0x0026002D, + 0x0026002A, + 0x0026002C, + 0x00260027, + 0x00260028, + 0x00260029 }; ObjFuncs lbl_1_data_258[] = { @@ -72,9 +74,8 @@ ObjFuncs lbl_1_data_258[] = { fn_1_36D0, }; -void fn_1_2354(Process *arg0) -{ - Process *sp8; +void fn_1_2354(Process* arg0) { + Process* sp8; u32 i; u32 j; @@ -83,7 +84,7 @@ void fn_1_2354(Process *arg0) for (j = 0, i = 0; i < MAX_WHOMPS_ALL_PLAYERS; i++) { lbl_1_bss_2DB0[i] = omAddObjEx(lbl_1_bss_37C0, 0x200, 3, 6, 2, fn_1_2B7C); lbl_1_bss_2DB0[i]->work[0] = i; - lbl_1_bss_2DB0[i]->work[1] = 0; + lbl_1_bss_2DB0[i]->work[1] = 0; } j = j + i; @@ -91,7 +92,7 @@ void fn_1_2354(Process *arg0) for (i = 0; i < 4; i++) { lbl_1_bss_2DB0[j + i] = omAddObjEx(lbl_1_bss_37C0, 0x200, 3, 6, 2, fn_1_2B7C); lbl_1_bss_2DB0[j + i]->work[0] = j + i; - lbl_1_bss_2DB0[j + i]->work[1] = 1; + lbl_1_bss_2DB0[j + i]->work[1] = 1; } for (i = 0; i < 4; i++) { @@ -101,8 +102,7 @@ void fn_1_2354(Process *arg0) lbl_1_bss_64 = 0; } -void fn_1_24F0(void) -{ +void fn_1_24F0(void) { u32 i; for (i = 0; i < MAX_WHOMPS; i++) { @@ -111,8 +111,7 @@ void fn_1_24F0(void) } } -void fn_1_2564(void) -{ +void fn_1_2564(void) { u32 i; HuAudFXPlay(0x542); @@ -121,32 +120,30 @@ void fn_1_2564(void) } } -void fn_1_25C0(void) -{ +void fn_1_25C0(void) { u32 i, j; lbl_1_bss_38 = 0; - + for (i = 0; i < 4; i++) { if (lbl_1_bss_38 < lbl_1_bss_3A[i]) { lbl_1_bss_38 = lbl_1_bss_3A[i]; - } + } } - + lbl_1_bss_66 = 0; - + for (i = 0; i < 4; i++) { if (lbl_1_bss_3A[i] > 0) { fn_1_290C(lbl_1_bss_2DB0[i], 3); lbl_1_bss_66 += 1; - } + } } } -void fn_1_26CC(u8 arg0) -{ +void fn_1_26CC(u8 arg0) { u32 i; - omObjData *temp; + omObjData* temp; i = lbl_1_bss_3A[arg0]; if (i < MAX_WHOMPS_PLAYER) { @@ -156,10 +153,9 @@ void fn_1_26CC(u8 arg0) } } -void fn_1_2770(u8 arg0, s16 arg2) -{ - omObjData *temp_r30; - unkDominationData7 *temp_r31; +void fn_1_2770(u8 arg0, s16 arg2) { + omObjData* temp_r30; + unkDominationData7* temp_r31; temp_r30 = lbl_1_bss_2DB0[arg0 + MAX_WHOMPS_ALL_PLAYERS]; temp_r31 = temp_r30->data; @@ -169,41 +165,35 @@ void fn_1_2770(u8 arg0, s16 arg2) fn_1_290C(temp_r30, 2); } -s32 fn_1_2880(void) -{ +s32 fn_1_2880(void) { return (lbl_1_bss_66 == 0) ? 1 : 0; } -s16 fn_1_28B8(u8 arg0) -{ +s16 fn_1_28B8(u8 arg0) { return lbl_1_bss_3A[arg0]; } -s16 fn_1_28D4(void) -{ +s16 fn_1_28D4(void) { return lbl_1_bss_64; } -s16 fn_1_28E4(u8 arg0) -{ +s16 fn_1_28E4(u8 arg0) { return lbl_1_bss_2DB0[arg0 + MAX_WHOMPS_ALL_PLAYERS]->model[0]; } -void fn_1_290C(omObjData *arg0, s32 arg1) -{ - unkDominationData7 *temp_r31; +void fn_1_290C(omObjData* arg0, s32 arg1) { + unkDominationData7* temp_r31; temp_r31 = arg0->data; temp_r31->unk_24 = arg1; temp_r31->unk_2C = 0; } -void fn_1_2930(omObjData *arg0) -{ - unkDominationData7 *temp_r28; - omObjData *temp_r29; +void fn_1_2930(omObjData* arg0) { + unkDominationData7* temp_r28; + omObjData* temp_r29; u32 i; - unkDominationData7 *temp_r31; + unkDominationData7* temp_r31; temp_r31 = arg0->data; lbl_1_data_258[temp_r31->unk_24](arg0); @@ -218,33 +208,30 @@ void fn_1_2930(omObjData *arg0) if (temp_r31->unk_08.y < 0.0f) { Hu3DModelShadowDispOff(arg0->model[0]); - } - else { + } else { Hu3DModelShadowDispOn(arg0->model[0]); } temp_r31->unk_04 = 1; } - + if ((temp_r31->unk_08.y < 0.0f) || (temp_r31->unk_08.z < (Center.z - 2000.0f))) { - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->model[0], 1); + } else { + Hu3DModelAttrReset(arg0->model[0], 1); } - else { - Hu3DModelAttrReset(arg0->model[0], HU3D_ATTR_DISPOFF); - } - + omSetTra(arg0, temp_r31->unk_08.x, temp_r31->unk_08.y, temp_r31->unk_08.z); omSetRot(arg0, temp_r31->unk_14.x, temp_r31->unk_14.y, temp_r31->unk_14.z); - + if (temp_r31->unk_28 == 1) { Hu3DModelPosSet(arg0->model[2], temp_r31->unk_08.x, 1.0f + temp_r31->unk_08.y, temp_r31->unk_08.z); } } -void fn_1_2B7C(omObjData *arg0) -{ +void fn_1_2B7C(omObjData* arg0) { u32 i; - unkDominationData7 *temp_r30; + unkDominationData7* temp_r30; arg0->func = fn_1_2930; arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData7), MEMORY_DEFAULT_NUM); @@ -255,74 +242,72 @@ void fn_1_2B7C(omObjData *arg0) } for (i = 0; i < 6; i++) { - arg0->motion[i] = -1; + arg0->motion[i] = -1; } - - temp_r30->unk_00 = (u32)arg0->work[0]; - temp_r30->unk_28 = (u32)arg0->work[1]; + + temp_r30->unk_00 = (u32) arg0->work[0]; + temp_r30->unk_28 = (u32) arg0->work[1]; temp_r30->unk_04 = 0; temp_r30->unk_2C = 0; switch (temp_r30->unk_28) { - case 0: - temp_r30->unk_14.x = 0.0f; - temp_r30->unk_14.y = 180.0f; - temp_r30->unk_14.z = 0.0f; - if (temp_r30->unk_00 < 80) { - arg0->model[0] = Hu3DModelCreateFile(lbl_1_data_228[1]); - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_NOCULL); - Hu3DModelAmbSet(arg0->model[0], 1.0f, 1.0f, 1.0f); - if (temp_r30->unk_00 == 0) { - arg0->motion[5] = Hu3DJointMotionFile(arg0->model[0], lbl_1_data_238[5]); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[0], lbl_1_data_238[7]); - arg0->motion[4] = Hu3DJointMotionFile(arg0->model[0], lbl_1_data_238[6]); - } - else { - arg0->motion[5] = lbl_1_bss_68[0][5]; - arg0->motion[3] = lbl_1_bss_68[0][3]; - arg0->motion[4] = lbl_1_bss_68[0][4]; - } - Hu3DModelShadowSet(arg0->model[0]); - for (i = 0; i < 3; i++) { - lbl_1_bss_1E98[temp_r30->unk_00][i] = arg0->model[i]; - } - - for (i = 0; i < 6; i++) { - lbl_1_bss_68[temp_r30->unk_00][i] = arg0->motion[i]; - } - Hu3DMotionSet(arg0->model[0], arg0->motion[5]); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_LOOP); - temp_r30->unk_04 = 1; - } - else { - temp_r30->unk_04 = 0; - } - break; - case 1: - temp_r30->unk_14.x = 0.0f; - temp_r30->unk_14.y = 0.0f; - temp_r30->unk_14.z = 0.0f; - arg0->model[0] = Hu3DModelCreateFile(lbl_1_data_228[0]); - arg0->model[1] = Hu3DModelCreateFile(lbl_1_data_228[2]); - arg0->model[2] = Hu3DModelCreateFile(lbl_1_data_228[3]); - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(arg0->model[1], HU3D_ATTR_NOCULL); + case 0: + temp_r30->unk_14.x = 0.0f; + temp_r30->unk_14.y = 180.0f; + temp_r30->unk_14.z = 0.0f; + if (temp_r30->unk_00 < 80) { + arg0->model[0] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_228[1], MEMORY_DEFAULT_NUM, HEAP_DATA)); + Hu3DModelAttrSet(arg0->model[0], 0x4000); Hu3DModelAmbSet(arg0->model[0], 1.0f, 1.0f, 1.0f); - Hu3DModelAmbSet(arg0->model[1], 1.0f, 1.0f, 1.0f); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[0], lbl_1_data_238[2]); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[0], lbl_1_data_238[4]); - arg0->motion[5] = Hu3DJointMotionFile(arg0->model[0], lbl_1_data_238[3]); - arg0->motion[0] = Hu3DJointMotionFile(arg0->model[1], lbl_1_data_238[0]); - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[1], lbl_1_data_238[1]); - Hu3DModelHookSet(arg0->model[0], "itemhook_r", arg0->model[1]); + if (temp_r30->unk_00 == 0) { + arg0->motion[5] = Hu3DJointMotion(arg0->model[0], HuDataSelHeapReadNum(lbl_1_data_238[5], MEMORY_DEFAULT_NUM, HEAP_DATA)); + arg0->motion[3] = Hu3DJointMotion(arg0->model[0], HuDataSelHeapReadNum(lbl_1_data_238[7], MEMORY_DEFAULT_NUM, HEAP_DATA)); + arg0->motion[4] = Hu3DJointMotion(arg0->model[0], HuDataSelHeapReadNum(lbl_1_data_238[6], MEMORY_DEFAULT_NUM, HEAP_DATA)); + } else { + arg0->motion[5] = lbl_1_bss_68[0][5]; + arg0->motion[3] = lbl_1_bss_68[0][3]; + arg0->motion[4] = lbl_1_bss_68[0][4]; + } Hu3DModelShadowSet(arg0->model[0]); - Hu3DModelShadowSet(arg0->model[1]); - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[2], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(arg0->model[2], HU3D_MOTATTR_LOOP); + for (i = 0; i < 3; i++) { + lbl_1_bss_1E98[temp_r30->unk_00][i] = arg0->model[i]; + } + + for (i = 0; i < 6; i++) { + lbl_1_bss_68[temp_r30->unk_00][i] = arg0->motion[i]; + } + Hu3DMotionSet(arg0->model[0], arg0->motion[5]); + Hu3DModelAttrSet(arg0->model[0], 0x40000001); temp_r30->unk_04 = 1; - break; + } else { + temp_r30->unk_04 = 0; + } + break; + case 1: + temp_r30->unk_14.x = 0.0f; + temp_r30->unk_14.y = 0.0f; + temp_r30->unk_14.z = 0.0f; + arg0->model[0] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_228[0], MEMORY_DEFAULT_NUM, HEAP_DATA)); + arg0->model[1] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_228[2], MEMORY_DEFAULT_NUM, HEAP_DATA)); + arg0->model[2] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_228[3], MEMORY_DEFAULT_NUM, HEAP_DATA)); + Hu3DModelAttrSet(arg0->model[0], 0x4000); + Hu3DModelAttrSet(arg0->model[1], 0x4000); + Hu3DModelAmbSet(arg0->model[0], 1.0f, 1.0f, 1.0f); + Hu3DModelAmbSet(arg0->model[1], 1.0f, 1.0f, 1.0f); + arg0->motion[2] = Hu3DJointMotion(arg0->model[0], HuDataSelHeapReadNum(lbl_1_data_238[2], MEMORY_DEFAULT_NUM, HEAP_DATA)); + arg0->motion[3] = Hu3DJointMotion(arg0->model[0], HuDataSelHeapReadNum(lbl_1_data_238[4], MEMORY_DEFAULT_NUM, HEAP_DATA)); + arg0->motion[5] = Hu3DJointMotion(arg0->model[0], HuDataSelHeapReadNum(lbl_1_data_238[3], MEMORY_DEFAULT_NUM, HEAP_DATA)); + arg0->motion[0] = Hu3DJointMotion(arg0->model[1], HuDataSelHeapReadNum(lbl_1_data_238[0], MEMORY_DEFAULT_NUM, HEAP_DATA)); + arg0->motion[1] = Hu3DJointMotion(arg0->model[1], HuDataSelHeapReadNum(lbl_1_data_238[1], MEMORY_DEFAULT_NUM, HEAP_DATA)); + Hu3DModelHookSet(arg0->model[0], "itemhook_r", arg0->model[1]); + Hu3DModelShadowSet(arg0->model[0]); + Hu3DModelShadowSet(arg0->model[1]); + Hu3DModelAttrSet(arg0->model[0], 1); + Hu3DModelAttrSet(arg0->model[1], 1); + Hu3DModelAttrSet(arg0->model[2], 1); + Hu3DModelAttrSet(arg0->model[2], 0x40000002); + Hu3DModelAttrSet(arg0->model[2], 0x40000001); + temp_r30->unk_04 = 1; + break; } temp_r30->unk_08.x = (600.0f - (400.0f * (temp_r30->unk_00 & 3))); temp_r30->unk_08.y = 0.0f; @@ -330,156 +315,152 @@ void fn_1_2B7C(omObjData *arg0) fn_1_290C(arg0, 0); } -void fn_1_31F8(omObjData *arg0) -{ +void fn_1_31F8(omObjData* arg0) { s32 i; - unkDominationData7 *temp_r29; + unkDominationData7* temp_r29; temp_r29 = arg0->data; - switch (temp_r29->unk_28) { /* irregular */ - case 0: - if (temp_r29->unk_00 == 0) { - for (i = 0; i < 6; i++) { - if (arg0->motion[i] != -1) { - Hu3DMotionKill(arg0->motion[i]); - } - } - } - if (temp_r29->unk_04 != 0) { - for (i = 0; i < 3; i++) { - if (arg0->model[i] != -1) { - Hu3DModelKill(arg0->model[i]); - } - } - } - break; - case 1: + switch (temp_r29->unk_28) { /* irregular */ + case 0: + if (temp_r29->unk_00 == 0) { for (i = 0; i < 6; i++) { if (arg0->motion[i] != -1) { Hu3DMotionKill(arg0->motion[i]); } } + } + if (temp_r29->unk_04 != 0) { for (i = 0; i < 3; i++) { if (arg0->model[i] != -1) { Hu3DModelKill(arg0->model[i]); - } + } } - break; + } + break; + case 1: + for (i = 0; i < 6; i++) { + if (arg0->motion[i] != -1) { + Hu3DMotionKill(arg0->motion[i]); + } + } + for (i = 0; i < 3; i++) { + if (arg0->model[i] != -1) { + Hu3DModelKill(arg0->model[i]); + } + } + break; } if (arg0->data) { HuMemDirectFree(arg0->data); } } -void fn_1_3360(omObjData *) { } +void fn_1_3360(omObjData*) { -void fn_1_3364(omObjData *arg0) -{ - unkDominationData7 *temp_r31; +} + +void fn_1_3364(omObjData* arg0) { + unkDominationData7* temp_r31; temp_r31 = arg0->data; if (temp_r31->unk_2C == 0) { Hu3DMotionSet(arg0->model[0], arg0->motion[4]); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(arg0->model[0], 0x40000001); switch (temp_r31->unk_28) { - case 0: - fn_1_4544(0, 0, temp_r31->unk_08.x, 0.0f, temp_r31->unk_08.z); - break; - case 1: - fn_1_4544(1, 0, temp_r31->unk_08.x, 0.0f, temp_r31->unk_08.z); - break; + case 0: + fn_1_4544(0, 0, temp_r31->unk_08.x, 0.0f, temp_r31->unk_08.z); + break; + case 1: + fn_1_4544(1, 0, temp_r31->unk_08.x, 0.0f, temp_r31->unk_08.z); + break; } } - + if (temp_r31->unk_2C == 0x2A) { Hu3DModelShadowDispOff(arg0->model[0]); } - + if (Hu3DMotionEndCheck(*arg0->model) == 0) { temp_r31->unk_2C++; return; } - + temp_r31->unk_08.y = -300.0f; - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->model[0], 1); fn_1_290C(arg0, 0); } -void fn_1_34A4(omObjData *arg0) -{ - unkDominationData7 *temp_r30; +void fn_1_34A4(omObjData* arg0) { + unkDominationData7* temp_r30; temp_r30 = arg0->data; if (temp_r30->unk_2C == 0) { if (temp_r30->unk_28 == 1) { - Hu3DModelAttrReset(arg0->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(arg0->model[1], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrReset(arg0->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->model[0], 1); + Hu3DModelAttrReset(arg0->model[1], 1); + } else { + Hu3DModelAttrReset(arg0->model[0], 1); } Hu3DMotionSet(arg0->model[0], arg0->motion[3]); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP); - switch (temp_r30->unk_28) { /* irregular */ - case 0: - fn_1_4544(0, 0, temp_r30->unk_08.x, 0.0f, temp_r30->unk_08.z); - HuAudFXPlay(0x543); - break; - case 1: - HuAudFXPlay(0x544); - fn_1_4544(1, 0, temp_r30->unk_08.x, 0.0f, temp_r30->unk_08.z); - break; + Hu3DModelAttrReset(arg0->model[0], 0x40000001); + switch (temp_r30->unk_28) { /* irregular */ + case 0: + fn_1_4544(0, 0, temp_r30->unk_08.x, 0.0f, temp_r30->unk_08.z); + HuAudFXPlay(0x543); + break; + case 1: + HuAudFXPlay(0x544); + fn_1_4544(1, 0, temp_r30->unk_08.x, 0.0f, temp_r30->unk_08.z); + break; } temp_r30->unk_08.y = 0.0f; } - + if (temp_r30->unk_2C == 0xA) { Hu3DModelShadowDispOn(arg0->model[0]); } - + if ((temp_r30->unk_2C == 0xA) && (temp_r30->unk_28 == 1)) { Hu3DMotionSet(arg0->model[1], arg0->motion[1]); - Hu3DModelAttrReset(arg0->model[1], HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(arg0->model[1], 0x40000001); } - + temp_r30->unk_2C++; - + if (Hu3DMotionEndCheck(arg0->model[0]) != 0) { - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[5], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[5], 0.0f, 10.0f, 0x40000001); switch (temp_r30->unk_28) { - case 0: - fn_1_290C(arg0, 0); - return; - case 1: - fn_1_290C(arg0, 4); - break; + case 0: + fn_1_290C(arg0, 0); + return; + case 1: + fn_1_290C(arg0, 4); + break; } } } -void fn_1_36D0(omObjData *arg0) -{ - unkDominationData7 *sp8; +void fn_1_36D0(omObjData* arg0) { + unkDominationData7* sp8; sp8 = arg0->data; - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[2], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[2], 0.0f, 10.0f, 0x40000001); Hu3DMotionSet(arg0->model[1], arg0->motion[0]); - Hu3DModelAttrSet(arg0->model[1], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(arg0->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(arg0->model[2], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(arg0->model[2], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(arg0->model[1], 0x40000001); + Hu3DModelAttrReset(arg0->model[2], 1); + Hu3DModelAttrReset(arg0->model[2], 0x40000002); + Hu3DModelAttrSet(arg0->model[2], 0x40000001); fn_1_290C(arg0, 0); } -void fn_1_37B0(omObjData *arg0) -{ - unkDominationData7 *temp_r31; +void fn_1_37B0(omObjData* arg0) { + unkDominationData7* temp_r31; temp_r31 = arg0->data; if (temp_r31->unk_2C == 0) { temp_r31->unk_14.x = 0.0f; temp_r31->unk_08.y = 0.0f; - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(arg0->model[0], 0x40000002); temp_r31->unk_2C++; } temp_r31->unk_14.x -= 4.0f; @@ -498,7 +479,7 @@ void fn_1_37B0(omObjData *arg0) } temp_r31->unk_14.x = (temp_r31->unk_2C == 1) ? -90.0f : -68.0f; - + if (temp_r31->unk_2C == 1) { fn_1_4544(3, 0, temp_r31->unk_08.x, 0.0f, 200.0f + temp_r31->unk_08.z); HuAudFXPlay(0x544); @@ -506,8 +487,7 @@ void fn_1_37B0(omObjData *arg0) fn_1_3BB8((temp_r31->unk_00 >> 2) + 1, temp_r31->unk_08.x, temp_r31->unk_08.z); } lbl_1_bss_66 -= 1; - } - else { + } else { fn_1_4544(2, 0, temp_r31->unk_08.x, 0.0f, 200.0f + temp_r31->unk_08.z); HuAudFXPlay(0x543); } diff --git a/src/REL/m407dll/whomp_score.c b/src/REL/m407dll/whomp_score.c index 1d985246..5d024e6f 100644 --- a/src/REL/m407dll/whomp_score.c +++ b/src/REL/m407dll/whomp_score.c @@ -1,42 +1,39 @@ -#include "game/esprite.h" -#include "game/gamework_data.h" -#include "game/object.h" +#include "src/REL/m407dll/m407dll.h" #include "game/process.h" -#include "game/sprite.h" - -#include "REL/m407dll.h" +#include "game/object.h" +#include "game/gamework_data.h" +#include "game/esprite.h" typedef struct unkDominationData3 { - /* 0x00 */ u32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ Vec unk_08; - /* 0x14 */ s32 unk_14; - /* 0x18 */ s16 unk_18[4]; - /* 0x20 */ f32 unk_20; -} unkDominationData3; // sizeof 0x24 +/* 0x00 */ u32 unk_00; +/* 0x04 */ s32 unk_04; +/* 0x08 */ Vec unk_08; +/* 0x14 */ s32 unk_14; +/* 0x18 */ s16 unk_18[4]; +/* 0x20 */ f32 unk_20; +} unkDominationData3; //sizeof 0x24 -// function signatures +//function signatures void Hu3D3Dto2D(Vec *arg0, s16 arg1, Vec *arg2); -void fn_1_3D28(omObjData *arg0, s32 arg1); -void fn_1_3E34(omObjData *); -void fn_1_3F7C(omObjData *arg0); -void fn_1_3FF0(omObjData *); -void fn_1_3FF4(omObjData *arg0); -void fn_1_40F4(omObjData *arg0); +void fn_1_3D28(omObjData* arg0, s32 arg1); +void fn_1_3E34(omObjData*); +void fn_1_3F7C(omObjData* arg0); +void fn_1_3FF0(omObjData*); +void fn_1_3FF4(omObjData* arg0); +void fn_1_40F4(omObjData* arg0); -// bss -Process *lbl_1_bss_37D8; -omObjData *lbl_1_bss_37C8[4]; +//bss +Process* lbl_1_bss_37D8; +omObjData* lbl_1_bss_37C8[4]; -// data +//data ObjFuncs lbl_1_data_278[] = { fn_1_3FF0, fn_1_3FF4, fn_1_40F4, }; -void fn_1_3AC8(Process *arg0) -{ +void fn_1_3AC8(Process* arg0) { u32 i; lbl_1_bss_37D8 = arg0; @@ -47,8 +44,7 @@ void fn_1_3AC8(Process *arg0) } } -void fn_1_3B68(void) -{ +void fn_1_3B68(void) { u32 i; for (i = 0; i < ARRAY_COUNT(lbl_1_bss_37C8); i++) { @@ -56,11 +52,10 @@ void fn_1_3B68(void) } } -void fn_1_3BB8(s16 arg0, f32 arg8, f32 arg9) -{ - omObjData *obj; +void fn_1_3BB8(s16 arg0, f32 arg8, f32 arg9) { + omObjData* obj; Vec sp14; - unkDominationData3 *temp_r31; + unkDominationData3* temp_r31; u32 i; s16 temp; @@ -71,7 +66,7 @@ void fn_1_3BB8(s16 arg0, f32 arg8, f32 arg9) temp = arg0; espBankSet(temp_r31->unk_18[1], (temp / 100)); temp = (temp - ((temp / 100) * 100)); - espBankSet(temp_r31->unk_18[2], (temp / 10)); + espBankSet(temp_r31->unk_18[2],(temp / 10)); temp = (temp - ((temp / 10) * 10)); espBankSet(temp_r31->unk_18[3], temp); sp14.x = arg8; @@ -84,19 +79,17 @@ void fn_1_3BB8(s16 arg0, f32 arg8, f32 arg9) } } -void fn_1_3D28(omObjData *arg0, s32 arg1) -{ - unkDominationData3 *temp_r31; +void fn_1_3D28(omObjData* arg0, s32 arg1) { + unkDominationData3* temp_r31; temp_r31 = arg0->data; temp_r31->unk_04 = arg1; temp_r31->unk_14 = 0; } -void fn_1_3D4C(omObjData *arg0) -{ +void fn_1_3D4C(omObjData* arg0) { s32 temp_r5; - unkDominationData3 *temp_r31; + unkDominationData3* temp_r31; temp_r31 = arg0->data; lbl_1_data_278[temp_r31->unk_04](arg0); @@ -107,9 +100,8 @@ void fn_1_3D4C(omObjData *arg0) espPosSet(temp_r31->unk_18[3], 18.0f + temp_r31->unk_08.x, temp_r31->unk_08.y - 8.0f); } -void fn_1_3E34(omObjData *arg0) -{ - unkDominationData3 *temp_r31; +void fn_1_3E34(omObjData* arg0) { + unkDominationData3* temp_r31; arg0->func = fn_1_3D4C; arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData3), MEMORY_DEFAULT_NUM); @@ -117,25 +109,24 @@ void fn_1_3E34(omObjData *arg0) temp_r31->unk_00 = arg0->work[0]; temp_r31->unk_14 = 0; temp_r31->unk_04 = 0; - temp_r31->unk_18[0] = espEntry(DATA_MAKE_NUM(DATADIR_M407, 0x26), 1, 0); - temp_r31->unk_18[1] = espEntry(DATA_MAKE_NUM(DATADIR_M407, 0x20), 0, 0); - temp_r31->unk_18[2] = espEntry(DATA_MAKE_NUM(DATADIR_M407, 0x20), 0, 0); - temp_r31->unk_18[3] = espEntry(DATA_MAKE_NUM(DATADIR_M407, 0x20), 0, 0); + temp_r31->unk_18[0] = espEntry(0x260026, 1, 0); + temp_r31->unk_18[1] = espEntry(0x260020, 0, 0); + temp_r31->unk_18[2] = espEntry(0x260020, 0, 0); + temp_r31->unk_18[3] = espEntry(0x260020, 0, 0); espDispOff(temp_r31->unk_18[0]); espDispOff(temp_r31->unk_18[1]); espDispOff(temp_r31->unk_18[2]); espDispOff(temp_r31->unk_18[3]); espScaleSet(temp_r31->unk_18[0], 1.8f, 1.8f); - temp_r31->unk_08.x = (f32)0.0f; - temp_r31->unk_08.y = (f32)0.0f; + temp_r31->unk_08.x = (f32) 0.0f; + temp_r31->unk_08.y = (f32) 0.0f; fn_1_3D28(arg0, 0); } -void fn_1_3F7C(omObjData *arg0) -{ +void fn_1_3F7C(omObjData* arg0) { s32 i; - unkDominationData3 *temp_r29; - + unkDominationData3* temp_r29; + temp_r29 = arg0->data; for (i = 0; i < ARRAY_COUNT(temp_r29->unk_18); i++) { @@ -147,11 +138,12 @@ void fn_1_3F7C(omObjData *arg0) } } -void fn_1_3FF0(omObjData *arg0) { } +void fn_1_3FF0(omObjData* arg0) { -void fn_1_3FF4(omObjData *arg0) -{ - unkDominationData3 *temp_r31; +} + +void fn_1_3FF4(omObjData* arg0) { + unkDominationData3* temp_r31; temp_r31 = arg0->data; if (temp_r31->unk_14 == 0) { @@ -174,9 +166,8 @@ void fn_1_3FF4(omObjData *arg0) } } -void fn_1_40F4(omObjData *arg0) -{ - unkDominationData3 *temp_r31; +void fn_1_40F4(omObjData* arg0) { + unkDominationData3* temp_r31; temp_r31 = arg0->data; @@ -195,3 +186,4 @@ void fn_1_40F4(omObjData *arg0) espDispOff(temp_r31->unk_18[3]); fn_1_3D28(arg0, 0); } + diff --git a/src/REL/m408Dll/camera.c b/src/REL/m408Dll/camera.c index 370848c4..0638ba4d 100644 --- a/src/REL/m408Dll/camera.c +++ b/src/REL/m408Dll/camera.c @@ -1,14 +1,14 @@ -#include "game/chrman.h" -#include "game/minigame_seq.h" #include "game/object.h" #include "game/objsub.h" -#include "game/pad.h" #include "game/wipe.h" +#include "game/chrman.h" +#include "game/minigame_seq.h" +#include "game/pad.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" #include "game/hsfman.h" #include "game/hsfmotion.h" +#include "game/hsfanim.h" +#include "game/hsfdraw.h" #include "game/sprite.h" #include "game/audio.h" @@ -16,8 +16,8 @@ #include "REL/m408Dll.h" -#include "ext_math.h" #include "math.h" +#include "ext_math.h" omObjData *lbl_1_bss_110; u32 lbl_1_bss_10C; @@ -35,13 +35,13 @@ void fn_1_9770(omObjData *object); void fn_1_8958(Process *objman) { - omObjData *object; - lbl_1_bss_10C = 0; - object = omAddObjEx(objman, 20, 9, 0, -1, fn_1_8A20); - object->work[0] = 0; - lbl_1_bss_110 = omAddObjEx(objman, 21, 2, 0, -1, fn_1_9770); - lbl_1_bss_110->work[0] = 0; - lbl_1_bss_84 = lbl_1_bss_80 = -1; + omObjData *object; + lbl_1_bss_10C = 0; + object = omAddObjEx(objman, 20, 9, 0, -1, fn_1_8A20); + object->work[0] = 0; + lbl_1_bss_110 = omAddObjEx(objman, 21, 2, 0, -1, fn_1_9770); + lbl_1_bss_110->work[0] = 0; + lbl_1_bss_84 = lbl_1_bss_80 = -1; } void fn_1_8FAC(omObjData *object); @@ -53,175 +53,172 @@ void fn_1_BDE0(void); void fn_1_8A20(omObjData *object) { - s16 temp_r31; - s32 temp_r29; - for (temp_r29 = 0; temp_r29 < 20; temp_r29++) { - lbl_1_bss_A4[temp_r29] = NULL; - } - lbl_1_bss_A0 = 0; - for (temp_r29 = 0; temp_r29 < 3; temp_r29++) { - lbl_1_bss_94[temp_r29] = NULL; - lbl_1_bss_88[temp_r29] = 0; - } - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M408, 0x00)); - omSetSca(object, 0.1f, 0.1f, 0.1f); - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M408, 0x01)); - Hu3DModelScaleSet(object->model[1], 0.1f, 0.1f, 0.1f); - Hu3DModelPosSet(object->model[1], 0, 11990, 0); - Hu3DModelShadowMapSet(object->model[1]); - temp_r31 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M408, 0x0B)), 1); - object->model[2] = temp_r31; - Hu3DModelLayerSet(temp_r31, 6); - Hu3DParticleColSet(temp_r31, 255, 255, 255); - Hu3DParticleHookSet(temp_r31, fn_1_A894); - Hu3DModelPosSet(temp_r31, 0, 0, 0); - ((ParticleData *)Hu3DData[temp_r31].unk_120)->unk_00 = 0; - ((ParticleData *)Hu3DData[temp_r31].unk_120)->unk_02 = 0; - temp_r31 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M408, 0x0D)), 1); - object->model[3] = temp_r31; - Hu3DParticleBlendModeSet(temp_r31, 1); - Hu3DModelLayerSet(temp_r31, 6); - Hu3DParticleColSet(temp_r31, 255, 255, 255); - Hu3DParticleHookSet(temp_r31, fn_1_A894); - Hu3DModelPosSet(temp_r31, 0, 0, 0); - ((ParticleData *)Hu3DData[temp_r31].unk_120)->unk_00 = 0; - ((ParticleData *)Hu3DData[temp_r31].unk_120)->unk_02 = 1; - temp_r31 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M408, 0x11)), 1); - object->model[5] = temp_r31; - Hu3DModelLayerSet(temp_r31, 7); - Hu3DParticleColSet(temp_r31, 255, 255, 255); - Hu3DParticleHookSet(temp_r31, fn_1_A894); - Hu3DModelPosSet(temp_r31, 0, 0, 0); - ((ParticleData *)Hu3DData[temp_r31].unk_120)->unk_00 = 0; - ((ParticleData *)Hu3DData[temp_r31].unk_120)->unk_02 = 2; - temp_r31 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M408, 0x10)), 8); - object->model[6] = temp_r31; - Hu3DParticleBlendModeSet(temp_r31, 1); - Hu3DModelLayerSet(temp_r31, 6); - Hu3DModelPosSet(temp_r31, 0, 0, 0); - fn_1_B700(temp_r31, 0); - temp_r31 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M408, 0x0F)), 6); - object->model[6] = temp_r31; - Hu3DParticleBlendModeSet(temp_r31, 1); - Hu3DModelLayerSet(temp_r31, 6); - Hu3DModelPosSet(temp_r31, 0, 0, 0); - fn_1_B700(temp_r31, 1); - temp_r31 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M408, 0x0D)), 5); - object->model[6] = temp_r31; - Hu3DParticleBlendModeSet(temp_r31, 1); - Hu3DModelLayerSet(temp_r31, 6); - Hu3DModelPosSet(temp_r31, 0, 0, 0); - fn_1_B700(temp_r31, 2); - fn_1_BB94(); - lbl_1_bss_10C = 1; - object->func = fn_1_8FAC; - object->work[1] = 0; + s16 temp_r31; + s32 temp_r29; + for(temp_r29=0; temp_r29<20; temp_r29++) { + lbl_1_bss_A4[temp_r29] = NULL; + } + lbl_1_bss_A0 = 0; + for(temp_r29=0; temp_r29<3; temp_r29++) { + lbl_1_bss_94[temp_r29] = NULL; + lbl_1_bss_88[temp_r29] = 0; + } + object->model[0] = Hu3DModelCreateFile(0x270000); + omSetSca(object, 0.1f, 0.1f, 0.1f); + object->model[1] = Hu3DModelCreateFile(0x270001); + Hu3DModelScaleSet(object->model[1], 0.1f, 0.1f, 0.1f); + Hu3DModelPosSet(object->model[1], 0, 11990, 0); + Hu3DModelShadowMapSet(object->model[1]); + temp_r31 = Hu3DParticleCreate(HuSprAnimReadFile(0x27000B), 1); + object->model[2] = temp_r31; + Hu3DModelLayerSet(temp_r31, 6); + Hu3DParticleColSet(temp_r31, 255, 255, 255); + Hu3DParticleHookSet(temp_r31, fn_1_A894); + Hu3DModelPosSet(temp_r31, 0, 0, 0); + ((ParticleData *)Hu3DData[temp_r31].unk_120)->unk_00 = 0; + ((ParticleData *)Hu3DData[temp_r31].unk_120)->unk_02 = 0; + temp_r31 = Hu3DParticleCreate(HuSprAnimReadFile(0x27000D), 1); + object->model[3] = temp_r31; + Hu3DParticleBlendModeSet(temp_r31, 1); + Hu3DModelLayerSet(temp_r31, 6); + Hu3DParticleColSet(temp_r31, 255, 255, 255); + Hu3DParticleHookSet(temp_r31, fn_1_A894); + Hu3DModelPosSet(temp_r31, 0, 0, 0); + ((ParticleData *)Hu3DData[temp_r31].unk_120)->unk_00 = 0; + ((ParticleData *)Hu3DData[temp_r31].unk_120)->unk_02 = 1; + temp_r31 = Hu3DParticleCreate(HuSprAnimReadFile(0x270011), 1); + object->model[5] = temp_r31; + Hu3DModelLayerSet(temp_r31, 7); + Hu3DParticleColSet(temp_r31, 255, 255, 255); + Hu3DParticleHookSet(temp_r31, fn_1_A894); + Hu3DModelPosSet(temp_r31, 0, 0, 0); + ((ParticleData *)Hu3DData[temp_r31].unk_120)->unk_00 = 0; + ((ParticleData *)Hu3DData[temp_r31].unk_120)->unk_02 = 2; + temp_r31 = Hu3DParticleCreate(HuSprAnimReadFile(0x270010), 8); + object->model[6] = temp_r31; + Hu3DParticleBlendModeSet(temp_r31, 1); + Hu3DModelLayerSet(temp_r31, 6); + Hu3DModelPosSet(temp_r31, 0, 0, 0); + fn_1_B700(temp_r31, 0); + temp_r31 = Hu3DParticleCreate(HuSprAnimReadFile(0x27000F), 6); + object->model[6] = temp_r31; + Hu3DParticleBlendModeSet(temp_r31, 1); + Hu3DModelLayerSet(temp_r31, 6); + Hu3DModelPosSet(temp_r31, 0, 0, 0); + fn_1_B700(temp_r31, 1); + temp_r31 = Hu3DParticleCreate(HuSprAnimReadFile(0x27000D), 5); + object->model[6] = temp_r31; + Hu3DParticleBlendModeSet(temp_r31, 1); + Hu3DModelLayerSet(temp_r31, 6); + Hu3DModelPosSet(temp_r31, 0, 0, 0); + fn_1_B700(temp_r31, 2); + fn_1_BB94(); + lbl_1_bss_10C = 1; + object->func = fn_1_8FAC; + object->work[1] = 0; } void fn_1_9514(omObjData *object); void fn_1_8FAC(omObjData *object) { - object->work[1]++; - switch (lbl_1_bss_10C) { - case 1: - if (lbl_1_bss_110->work[0] == 4) { - lbl_1_bss_10C = 2; - fn_1_817C(&lbl_1_bss_100, &lbl_1_bss_F4); - object->work[1] = 0; - } - break; - - case 2: - fn_1_817C(&lbl_1_bss_100, &lbl_1_bss_F4); - if (lbl_1_bss_80 < 0) { - lbl_1_bss_80 = HuAudFXPlay(1361); - } - lbl_1_bss_10C = 3; - object->work[1] = 0; - break; - - case 3: - lbl_1_bss_F4.y += -6.666667f; - lbl_1_bss_F4.z += -0.5833334f; - lbl_1_bss_100.y += 20.0f / 60.0f; - fn_1_817C(&lbl_1_bss_100, &lbl_1_bss_F4); - if (lbl_1_bss_F4.y > 12010) { - break; - } - if (lbl_1_bss_84 < 0) { - lbl_1_bss_84 = HuAudFXPlay(1357); - } - if (lbl_1_bss_80 >= 0) { - HuAudFXStop(lbl_1_bss_80); - lbl_1_bss_80 = -1; - } - lbl_1_bss_10C = 4; - object->work[1] = 0; - object->work[2] = 0; - break; - - case 4: - if (object->work[1] < 24.0f) { - lbl_1_bss_100.y += 4.0f / 12.0f; - fn_1_817C(&lbl_1_bss_100, &lbl_1_bss_F4); - } - else { - if (object->work[2] == 0) { - if (!lbl_1_bss_40) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - lbl_1_bss_44 = 1; - } - object->work[2]++; - } - CZoom -= 2.5000002f; - if (object->work[1] < 90.0f) { - break; - } - lbl_1_bss_10C = 5; - object->work[1] = 0; - } - break; - - default: - lbl_1_bss_10C = 5; - break; - } - omSetTra(object, Center.x + (sind(CRot.y) * cosd(CRot.x) * CZoom), Center.y + (-sind(CRot.x) * CZoom), - Center.z + (cosd(CRot.y) * cosd(CRot.x) * CZoom)); - fn_1_BDE0(); - if (lbl_1_bss_10C == 5) { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - lbl_1_bss_10C = 5; - object->func = fn_1_9514; - } + object->work[1]++; + switch(lbl_1_bss_10C) { + case 1: + if(lbl_1_bss_110->work[0] == 4) { + lbl_1_bss_10C = 2; + fn_1_817C(&lbl_1_bss_100, &lbl_1_bss_F4); + object->work[1] = 0; + } + break; + + case 2: + fn_1_817C(&lbl_1_bss_100, &lbl_1_bss_F4); + if(lbl_1_bss_80 < 0) { + lbl_1_bss_80 = HuAudFXPlay(1361); + } + lbl_1_bss_10C = 3; + object->work[1] = 0; + break; + + case 3: + lbl_1_bss_F4.y += -6.666667f; + lbl_1_bss_F4.z += -0.5833334f; + lbl_1_bss_100.y += 20.0f/60.0f; + fn_1_817C(&lbl_1_bss_100, &lbl_1_bss_F4); + if(lbl_1_bss_F4.y > 12010) { + break; + } + if(lbl_1_bss_84 < 0) { + lbl_1_bss_84 = HuAudFXPlay(1357); + } + if(lbl_1_bss_80 >= 0) { + HuAudFXStop(lbl_1_bss_80); + lbl_1_bss_80 = -1; + } + lbl_1_bss_10C = 4; + object->work[1] = 0; + object->work[2] = 0; + break; + + case 4: + if(object->work[1] < 24.0f) { + lbl_1_bss_100.y += 4.0f/12.0f; + fn_1_817C(&lbl_1_bss_100, &lbl_1_bss_F4); + } else { + if(object->work[2] == 0) { + if(!lbl_1_bss_40) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); + lbl_1_bss_44 = 1; + } + object->work[2]++; + } + CZoom -= 2.5000002f; + if(object->work[1] < 90.0f) { + break; + } + lbl_1_bss_10C = 5; + object->work[1] = 0; + } + break; + + default: + lbl_1_bss_10C = 5; + break; + } + omSetTra(object, Center.x+(sind(CRot.y)*cosd(CRot.x)*CZoom), Center.y+(-sind(CRot.x)*CZoom), Center.z+(cosd(CRot.y)*cosd(CRot.x)*CZoom)); + fn_1_BDE0(); + if(lbl_1_bss_10C == 5) { + Hu3DModelAttrSet(object->model[0], 1); + Hu3DModelAttrSet(object->model[1], 1); + lbl_1_bss_10C = 5; + object->func = fn_1_9514; + } } void fn_1_9514(omObjData *object) { - if (!WipeStatGet() && object->work[2] != 0) { - if (!lbl_1_bss_40) { - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - lbl_1_bss_44 = 0; - } - object->work[2] = 0; - } - if (fn_1_6878() >= 4) { - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - } - omSetTra(object, Center.x + (sind(CRot.y) * cosd(CRot.x) * CZoom), Center.y + (-sind(CRot.x) * CZoom) - 1000, - Center.z + (cosd(CRot.y) * cosd(CRot.x) * CZoom)); + if(!WipeStatGet() && object->work[2] != 0) { + if(!lbl_1_bss_40) { + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); + lbl_1_bss_44 = 0; + } + object->work[2] = 0; + } + if(fn_1_6878() >= 4) { + Hu3DModelAttrReset(object->model[0], 1); + } + omSetTra(object, Center.x+(sind(CRot.y)*cosd(CRot.x)*CZoom), Center.y+(-sind(CRot.x)*CZoom)-1000, Center.z+(cosd(CRot.y)*cosd(CRot.x)*CZoom)); } typedef struct work_99C8 { - Vec unk0; - Vec unkC; - Vec unk18; - Vec unk24; - Vec unk30; - Vec unk3C; - s32 unk48[2]; + Vec unk0; + Vec unkC; + Vec unk18; + Vec unk24; + Vec unk30; + Vec unk3C; + s32 unk48[2]; } Work99C8; void fn_1_99C8(omObjData *object); @@ -229,35 +226,35 @@ void fn_1_A37C(ModelData *model, ParticleData *particle, Mtx matrix); void fn_1_9770(omObjData *object) { - Work99C8 *temp_r31; - s32 temp_r29; - - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work99C8), MEMORY_DEFAULT_NUM); - temp_r31 = object->data; - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M408, 0x0A)); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DMotionSpeedSet(object->model[0], 3.0f); - Hu3DModelShadowSet(object->model[0]); - object->func = fn_1_99C8; - object->work[0] = 0; - object->work[1] = 0; - temp_r31->unk3C.x = temp_r31->unk3C.y = temp_r31->unk3C.z = 0; - temp_r31->unk0.x = temp_r31->unk0.y = temp_r31->unk0.z = 0; - temp_r31->unk0.z = 1000; - omSetTra(object, 0, 12080, -2 * temp_r31->unk0.z); - omSetSca(object, 0.5f, 0.5f, 0.5f); - temp_r29 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M408, 0x24)), 1024); - object->model[1] = temp_r29; - Hu3DModelLayerSet(temp_r29, 6); - Hu3DParticleColSet(temp_r29, 255, 255, 255); - Hu3DParticleHookSet(temp_r29, fn_1_A37C); - Hu3DModelPosSet(temp_r29, 0, 0, 0); - ((ParticleData *)Hu3DData[temp_r29].unk_120)->unk_00 = 0; - temp_r31->unk30.y = -35; - temp_r31->unk30.z = 350; - temp_r31->unk18.y = 800 + object->trans.y; - temp_r31->unk48[0] = temp_r31->unk48[1] = -1; - HuDataDirClose(DATA_MAKE_NUM(DATADIR_M408, 10)); + Work99C8 *temp_r31; + s32 temp_r29; + + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work99C8), MEMORY_DEFAULT_NUM); + temp_r31 = object->data; + object->model[0] = Hu3DModelCreateFile(0x27000A); + Hu3DModelAttrSet(object->model[0], 0x40000001); + Hu3DMotionSpeedSet(object->model[0], 3.0f); + Hu3DModelShadowSet(object->model[0]); + object->func = fn_1_99C8; + object->work[0] = 0; + object->work[1] = 0; + temp_r31->unk3C.x = temp_r31->unk3C.y = temp_r31->unk3C.z = 0; + temp_r31->unk0.x = temp_r31->unk0.y = temp_r31->unk0.z = 0; + temp_r31->unk0.z = 1000; + omSetTra(object, 0, 12080, -2*temp_r31->unk0.z); + omSetSca(object, 0.5f, 0.5f, 0.5f); + temp_r29 = Hu3DParticleCreate(HuSprAnimReadFile(0x270024), 1024); + object->model[1] = temp_r29; + Hu3DModelLayerSet(temp_r29, 6); + Hu3DParticleColSet(temp_r29, 255, 255, 255); + Hu3DParticleHookSet(temp_r29, fn_1_A37C); + Hu3DModelPosSet(temp_r29, 0, 0, 0); + ((ParticleData *)Hu3DData[temp_r29].unk_120)->unk_00 = 0; + temp_r31->unk30.y = -35; + temp_r31->unk30.z = 350; + temp_r31->unk18.y = 800+object->trans.y; + temp_r31->unk48[0] = temp_r31->unk48[1] = -1; + HuDataDirClose(0x27000A); } void fn_1_A334(omObjData *object); @@ -265,551 +262,567 @@ void fn_1_A4E8(s32 arg0, Vec *arg1, u32 arg2); void fn_1_99C8(omObjData *object) { - float temp_f31; - float temp_f30; - - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - - Work99C8 *temp_r31; - temp_r31 = object->data; - object->trans.x += temp_r31->unk0.x * (1.0f / 60.0f); - object->trans.y += temp_r31->unk0.y * (1.0f / 60.0f); - object->trans.z += temp_r31->unk0.z * (1.0f / 60.0f); - object->work[1]++; - switch (object->work[0]) { - case 0: - if (object->work[1] < 120.0f) { - temp_f30 = (1.0f / 60.0f) * (1.5f * (120.0f - object->work[1])); - if (temp_f30 > 1.0f) { - temp_f30 = 1.0f; - } - temp_f31 = temp_r31->unk18.z; - temp_r31->unk30.z -= (175.0f / 60.0f) * temp_f30; - temp_r31->unk30.y += 1.1666667f * temp_f30; - temp_r31->unk18.x = object->trans.x + (temp_r31->unk30.z * sind(temp_r31->unk30.y)); - temp_r31->unk18.z = object->trans.z + (temp_r31->unk30.z * cosd(temp_r31->unk30.y)); - temp_r31->unk18.y -= 8.333334f * temp_f30; - temp_r31->unk24.x = 0; - temp_r31->unk24.y = 0; - temp_r31->unk24.z = 0.96f * temp_r31->unk0.z; - } - else { - temp_r31->unk18.z += temp_r31->unk24.z * (1.0f / 60.0f); - } - temp_r31->unkC.x = object->trans.x; - temp_r31->unkC.y = object->trans.y; - temp_r31->unkC.z = object->trans.z; - sp2C.x = object->trans.x; - sp2C.y = object->trans.y; - sp2C.z = object->trans.z; - if (temp_r31->unk48[0] < 0) { - temp_r31->unk48[0] = HuAudFXEmiterPlay(1362, &sp2C); - } - if (temp_r31->unk48[1] < 0) { - temp_r31->unk48[1] = HuAudFXEmiterPlay(1356, &sp2C); - } - if (object->work[1] < 180.0f) { - break; - } - object->work[0] = 1; - object->work[1] = 0; - break; - - case 1: - temp_r31->unk24.z *= 0.6f; - temp_r31->unk18.z += (temp_r31->unk24.z * (1.0f / 60.0f)); - temp_r31->unk18.x += (temp_r31->unk24.z * (1.0f / 60.0f)); - temp_r31->unkC.x = object->trans.x; - temp_r31->unkC.y = object->trans.y; - temp_r31->unkC.z = object->trans.z; - if (object->work[1] < 60.0f) { - break; - } - object->work[0] = 2; - object->work[1] = 0; - break; - - case 2: - temp_r31->unk3C.x += 1.5000001f; - temp_r31->unk0.z = 1000.0 * cosd(temp_r31->unk3C.x); - temp_r31->unk0.y = 1000.0 * sind(temp_r31->unk3C.x); - temp_r31->unkC.x = object->trans.x; - temp_r31->unkC.y = object->trans.y; - temp_r31->unkC.z = object->trans.z; - if (object->work[1] < 120.0f) { - break; - } - object->work[0] = 3; - object->work[1] = 0; - temp_r31->unk3C.x = 180; - break; - - case 3: - temp_r31->unk3C.z += 3.0000002f; - temp_f31 = (1.0f / 60.0f) * object->work[1]; - temp_f31 = 1.0f - (temp_f31 * temp_f31); - temp_r31->unkC.x += temp_f31 * (object->trans.x - temp_r31->unkC.x); - temp_r31->unkC.y += temp_f31 * (object->trans.y - temp_r31->unkC.y); - temp_r31->unkC.z += temp_f31 * (object->trans.z - temp_r31->unkC.z); - if (object->work[1] < 60.0f) { - break; - } - lbl_1_bss_F4.x = temp_r31->unkC.x; - lbl_1_bss_F4.y = temp_r31->unkC.y; - lbl_1_bss_F4.z = temp_r31->unkC.z; - lbl_1_bss_100.x = temp_r31->unk18.x; - lbl_1_bss_100.y = temp_r31->unk18.y; - lbl_1_bss_100.z = temp_r31->unk18.z; - object->work[0] = 4; - object->work[1] = 0; - break; - - case 4: - temp_r31->unk3C.z += 3.0000002f; - if (object->work[1] > 42.0f) { - if (temp_r31->unk48[0] >= 0) { - HuAudFXStop(temp_r31->unk48[0]); - temp_r31->unk48[0] = -1; - } - if (temp_r31->unk48[1] >= 0) { - HuAudFXStop(temp_r31->unk48[1]); - temp_r31->unk48[1] = -1; - } - } - if (object->work[1] < 240.0f) { - break; - } - object->work[0] = 5; - object->work[1] = 0; - break; - - default: - object->work[0] = 5; - object->func = fn_1_A334; - break; - } - omSetRot(object, -temp_r31->unk3C.x, temp_r31->unk3C.y, temp_r31->unk3C.z); - if (object->trans.y < 12150.0f) { - sp20.x = object->trans.x; - sp20.y = object->trans.y; - sp20.z = object->trans.z + 10; - fn_1_A4E8(object->model[1], &sp20, 4); - sp20.x = sp8.x = object->trans.x; - sp20.z = object->trans.z; - sp8.z = object->trans.z - 10; - sp20.y = object->trans.y + 250.0f; - sp8.y = object->trans.y; - sp14.x = 0; - sp14.y = 0; - sp14.z = 1; - Hu3DShadowPosSet(&sp20, &sp14, &sp8); - } - if (temp_r31->unk48[0] >= 0) { - sp2C.x = object->trans.x - 30; - sp2C.y = object->trans.y; - sp2C.z = object->trans.z + 25; - HuAudFXEmiterUpDate(temp_r31->unk48[0], &sp2C); - } - if (temp_r31->unk48[1] < 0) { - sp2C.x = object->trans.x + 30; - sp2C.y = object->trans.y; - sp2C.z = object->trans.z + 25; - HuAudFXEmiterUpDate(temp_r31->unk48[1], &sp2C); - } - if (object->work[0] < 4) { - fn_1_84C4(temp_r31->unk18.x, temp_r31->unk18.y, temp_r31->unk18.z, temp_r31->unkC.x, temp_r31->unkC.y, temp_r31->unkC.z); - } - if (fn_1_C43C() == 5) { - object->func = fn_1_A334; - } + float temp_f31; + float temp_f30; + + Vec sp2C; + Vec sp20; + Vec sp14; + Vec sp8; + + Work99C8 *temp_r31; + temp_r31 = object->data; + object->trans.x += temp_r31->unk0.x*(1.0f/60.0f); + object->trans.y += temp_r31->unk0.y*(1.0f/60.0f); + object->trans.z += temp_r31->unk0.z*(1.0f/60.0f); + object->work[1]++; + switch(object->work[0]) { + case 0: + if(object->work[1] < 120.0f) { + temp_f30 = (1.0f/60.0f)*(1.5f*(120.0f-object->work[1])); + if(temp_f30 > 1.0f) { + temp_f30 = 1.0f; + } + temp_f31 = temp_r31->unk18.z; + temp_r31->unk30.z -= (175.0f/60.0f)*temp_f30; + temp_r31->unk30.y += 1.1666667f*temp_f30; + temp_r31->unk18.x = object->trans.x+(temp_r31->unk30.z*sind(temp_r31->unk30.y)); + temp_r31->unk18.z = object->trans.z+(temp_r31->unk30.z*cosd(temp_r31->unk30.y)); + temp_r31->unk18.y -= 8.333334f*temp_f30; + temp_r31->unk24.x = 0; + temp_r31->unk24.y = 0; + temp_r31->unk24.z = 0.96f*temp_r31->unk0.z; + } else { + temp_r31->unk18.z += temp_r31->unk24.z*(1.0f/60.0f); + } + temp_r31->unkC.x = object->trans.x; + temp_r31->unkC.y = object->trans.y; + temp_r31->unkC.z = object->trans.z; + sp2C.x = object->trans.x; + sp2C.y = object->trans.y; + sp2C.z = object->trans.z; + if(temp_r31->unk48[0] < 0) { + temp_r31->unk48[0] = HuAudFXEmiterPlay(1362, &sp2C); + } + if(temp_r31->unk48[1] < 0) { + temp_r31->unk48[1] = HuAudFXEmiterPlay(1356, &sp2C); + } + if(object->work[1] < 180.0f) { + break; + } + object->work[0] = 1; + object->work[1] = 0; + break; + + case 1: + temp_r31->unk24.z *= 0.6f; + temp_r31->unk18.z += (temp_r31->unk24.z*(1.0f/60.0f)); + temp_r31->unk18.x += (temp_r31->unk24.z*(1.0f/60.0f)); + temp_r31->unkC.x = object->trans.x; + temp_r31->unkC.y = object->trans.y; + temp_r31->unkC.z = object->trans.z; + if(object->work[1] < 60.0f) { + break; + } + object->work[0] = 2; + object->work[1] = 0; + break; + + case 2: + temp_r31->unk3C.x += 1.5000001f; + temp_r31->unk0.z = 1000.0*cosd(temp_r31->unk3C.x); + temp_r31->unk0.y = 1000.0*sind(temp_r31->unk3C.x); + temp_r31->unkC.x = object->trans.x; + temp_r31->unkC.y = object->trans.y; + temp_r31->unkC.z = object->trans.z; + if(object->work[1] < 120.0f) { + break; + } + object->work[0] = 3; + object->work[1] = 0; + temp_r31->unk3C.x = 180; + break; + + case 3: + temp_r31->unk3C.z += 3.0000002f; + temp_f31 = (1.0f/60.0f)*object->work[1]; + temp_f31 = 1.0f-(temp_f31*temp_f31); + temp_r31->unkC.x += temp_f31*(object->trans.x-temp_r31->unkC.x); + temp_r31->unkC.y += temp_f31*(object->trans.y-temp_r31->unkC.y); + temp_r31->unkC.z += temp_f31*(object->trans.z-temp_r31->unkC.z); + if(object->work[1] < 60.0f) { + break; + } + lbl_1_bss_F4.x = temp_r31->unkC.x; + lbl_1_bss_F4.y = temp_r31->unkC.y; + lbl_1_bss_F4.z = temp_r31->unkC.z; + lbl_1_bss_100.x = temp_r31->unk18.x; + lbl_1_bss_100.y = temp_r31->unk18.y; + lbl_1_bss_100.z = temp_r31->unk18.z; + object->work[0] = 4; + object->work[1] = 0; + break; + + case 4: + temp_r31->unk3C.z += 3.0000002f; + if(object->work[1] > 42.0f) { + if(temp_r31->unk48[0] >= 0) { + HuAudFXStop(temp_r31->unk48[0]); + temp_r31->unk48[0] = -1; + } + if(temp_r31->unk48[1] >= 0) { + HuAudFXStop(temp_r31->unk48[1]); + temp_r31->unk48[1] = -1; + } + } + if(object->work[1] < 240.0f) { + break; + } + object->work[0] = 5; + object->work[1] = 0; + break; + + default: + object->work[0] = 5; + object->func = fn_1_A334; + break; + } + omSetRot(object, -temp_r31->unk3C.x, temp_r31->unk3C.y, temp_r31->unk3C.z); + if(object->trans.y < 12150.0f) { + sp20.x = object->trans.x; + sp20.y = object->trans.y; + sp20.z = object->trans.z+10; + fn_1_A4E8(object->model[1], &sp20, 4); + sp20.x = sp8.x = object->trans.x; + sp20.z = object->trans.z; + sp8.z = object->trans.z-10; + sp20.y = object->trans.y+250.0f; + sp8.y = object->trans.y; + sp14.x = 0; + sp14.y = 0; + sp14.z = 1; + Hu3DShadowPosSet(&sp20, &sp14, &sp8); + } + if(temp_r31->unk48[0] >= 0) { + sp2C.x = object->trans.x-30; + sp2C.y = object->trans.y; + sp2C.z = object->trans.z+25; + HuAudFXEmiterUpDate(temp_r31->unk48[0], &sp2C); + } + if(temp_r31->unk48[1] < 0) { + sp2C.x = object->trans.x+30; + sp2C.y = object->trans.y; + sp2C.z = object->trans.z+25; + HuAudFXEmiterUpDate(temp_r31->unk48[1], &sp2C); + } + if(object->work[0] < 4) { + fn_1_84C4(temp_r31->unk18.x, temp_r31->unk18.y, temp_r31->unk18.z, temp_r31->unkC.x, temp_r31->unkC.y, temp_r31->unkC.z); + } + if(fn_1_C43C() == 5) { + object->func = fn_1_A334; + } } void fn_1_A334(omObjData *object) { - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[1], 1); + Hu3DModelAttrSet(object->model[0], 1); } + void fn_1_A37C(ModelData *model, ParticleData *particle, Mtx matrix) { - HsfanimStruct01 *temp_r31; - s32 temp_r29; - if (particle->unk_00 == 0) { - particle->unk_00++; - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - temp_r31->unk00 = 0; - temp_r31->unk2C = 0; - temp_r31->unk40.a = 0; - } - } - else { - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - if (temp_r31->unk00) { - temp_r31->unk34.x += temp_r31->unk08.x; - temp_r31->unk34.y += temp_r31->unk08.y; - temp_r31->unk34.z += temp_r31->unk08.z; - temp_r31->unk2C += temp_r31->unk14.x; - temp_r31->unk14.y -= temp_r31->unk14.z; - temp_r31->unk40.a = temp_r31->unk14.y; - if (--temp_r31->unk00 == 0) { - temp_r31->unk00 = 0; - temp_r31->unk2C = 0; - temp_r31->unk40.a = 0; - } - } - } - DCStoreRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); - } + HsfanimStruct01 *temp_r31; + s32 temp_r29; + if(particle->unk_00 == 0) { + particle->unk_00++; + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + temp_r31->unk00 = 0; + temp_r31->unk2C = 0; + temp_r31->unk40.a = 0; + } + } else { + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(temp_r31->unk00_s16) { + temp_r31->unk34.x += temp_r31->unk08.x; + temp_r31->unk34.y += temp_r31->unk08.y; + temp_r31->unk34.z += temp_r31->unk08.z; + temp_r31->unk2C += temp_r31->unk14.x; + temp_r31->unk14.y -= temp_r31->unk14.z; + temp_r31->unk40.a = temp_r31->unk14.y; + if(--temp_r31->unk00_s16 == 0) { + temp_r31->unk00_s16 = 0; + temp_r31->unk2C = 0; + temp_r31->unk40.a =0; + } + } + } + DCStoreRange(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); + } } void fn_1_A4E8(s32 arg0, Vec *arg1, u32 arg2) { - float temp_f31; - HsfanimStruct01 *temp_r31; - ParticleData *temp_r30; - s32 temp_r29; - temp_r30 = Hu3DData[arg0].unk_120; - if (temp_r30->unk_00) { - temp_r31 = temp_r30->unk_48; - for (temp_r29 = 0; temp_r29 < temp_r30->unk_30; temp_r29++, temp_r31++) { - if (temp_r31->unk00 != 0) { - continue; - } - temp_r31->unk00 = 60.0f * (((1.5f / 1000.0f) * frandmod(1000)) + 1.0f); - temp_r31->unk34.x = arg1->x; - temp_r31->unk34.y = 12000; - temp_r31->unk34.z = arg1->z; - temp_r31->unk08.x = (1.0f / 60.0f) * ((0.6f * frandmod(1000)) - 300.0f); - temp_r31->unk08.y = (1.0f / 60.0f) * ((0.04f * frandmod(1000)) + 10.0f); - temp_r31->unk08.z = 0; - temp_r31->unk14.x = 0.3f + ((3.0f / 1000.0f) * frandmod(1000)); - temp_r31->unk2C = 10; - temp_r31->unk40.a = frandmod(127) + 64; - temp_r31->unk14.y = temp_r31->unk40.a; - temp_r31->unk14.z = temp_r31->unk14.y * (1.0f / temp_r31->unk00); - temp_f31 = frandmod(1000) * (1.0f / 1000.0f); - temp_r31->unk40.r = (temp_f31 * 55) + 200; - temp_r31->unk40.g = (temp_f31 * 50) + 205; - temp_r31->unk40.b = (temp_f31 * 5) + 250; - if (--arg2 == 0) { - break; - } - } - } + float temp_f31; + HsfanimStruct01 *temp_r31; + ParticleData *temp_r30; + s32 temp_r29; + temp_r30 = Hu3DData[arg0].unk_120; + if(temp_r30->unk_00) { + temp_r31 = temp_r30->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(temp_r31->unk00_s16 != 0) { + continue; + } + temp_r31->unk00_s16 = 60.0f*(((1.5f/1000.0f)*frandmod(1000))+1.0f); + temp_r31->unk34.x = arg1->x; + temp_r31->unk34.y = 12000; + temp_r31->unk34.z = arg1->z; + temp_r31->unk08.x = (1.0f/60.0f)*((0.6f*frandmod(1000))-300.0f); + temp_r31->unk08.y = (1.0f/60.0f)*((0.04f*frandmod(1000))+10.0f); + temp_r31->unk08.z = 0; + temp_r31->unk14.x = 0.3f+((3.0f/1000.0f)*frandmod(1000)); + temp_r31->unk2C = 10; + temp_r31->unk40.a = frandmod(127)+64; + temp_r31->unk14.y = temp_r31->unk40.a; + temp_r31->unk14.z = temp_r31->unk14.y*(1.0f/temp_r31->unk00_s16); + temp_f31 = frandmod(1000)*(1.0f/1000.0f); + temp_r31->unk40.r = (temp_f31*55)+200; + temp_r31->unk40.g = (temp_f31*50)+205; + temp_r31->unk40.b = (temp_f31*5)+250; + if(--arg2 == 0) { + break; + } + } + } } void fn_1_A894(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - float temp_f30; - HsfanimStruct01 *temp_r31; - s32 temp_r29; - float sp14[][6] = { - { 600, 1, 0.95, 0.8, 1, 0 }, - { 600, 1, 0.6, 0.9, 0.3, 0 }, - { 13, 1, 1, 1, 0.5, 0 }, - }; - Vec sp8; - if (particle->unk_00 == 0) { - particle->unk_00++; - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - temp_r31->unk00 = 1; - temp_r31->unk2C = sp14[particle->unk_02][0]; - temp_r31->unk40.r = 255 * sp14[particle->unk_02][1]; - temp_r31->unk40.g = 255 * sp14[particle->unk_02][2]; - temp_r31->unk40.b = 255 * sp14[particle->unk_02][3]; - temp_r31->unk40.a = 255 * sp14[particle->unk_02][4]; - temp_f31 = -70; - temp_f30 = -10; - temp_r31->unk08.x = sind(temp_f30) * cosd(temp_f31); - temp_r31->unk08.y = -sind(temp_f31); - temp_r31->unk08.z = cosd(temp_f30) * cosd(temp_f31); - } - } - else { - particle->unk_00++; - if (particle->unk_00 < 339.0f) { - return; - } - if (particle->unk_00 >= 600.0f) { - particle->unk_00 = 601; - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - temp_r31->unk00 = 0; - temp_r31->unk2C = 0; - temp_r31->unk40.a = 0; - } - } - else { - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - if (temp_r31->unk00 == 0) { - continue; - } - sp8.x = sind(CRot.y) * cosd(CRot.x); - sp8.y = -sind(CRot.x); - sp8.z = cosd(CRot.y) * cosd(CRot.x); - if (particle->unk_02 < 2) { - temp_f31 = 4500; - temp_r31->unk34.x = (Center.x + (temp_r31->unk08.x * temp_f31)) + (sp8.x * CZoom); - temp_r31->unk34.y = (Center.y + (temp_r31->unk08.y * temp_f31)) + (sp8.y * CZoom); - temp_r31->unk34.z = (Center.z + (temp_r31->unk08.z * temp_f31)) + (sp8.z * CZoom); - if (particle->unk_02 != 0) { - temp_f31 = -((sp8.x * temp_r31->unk08.x) + (sp8.y * temp_r31->unk08.y) + (sp8.z * temp_r31->unk08.z)); - if (temp_f31 > 0.77f) { - temp_f30 = (1.0f / 0.23f) * (temp_f31 - 0.77f); - temp_r31->unk2C = 1400 * temp_f30; - temp_r31->unk40.a = (32.0f * temp_f30) + 16.0f; - } - else { - temp_r31->unk2C = 0; - } - } - } - else { - temp_f31 = CZoom - 10; - temp_r31->unk34.x = (sp8.x * temp_f31) + Center.x; - temp_r31->unk34.y = (sp8.y * temp_f31) + Center.y; - temp_r31->unk34.z = (sp8.z * temp_f31) + Center.z; - temp_f31 = -((sp8.x * temp_r31->unk08.x) + (sp8.y * temp_r31->unk08.y) + (sp8.z * temp_r31->unk08.z)); - if (temp_f31 > 0.9f) { - temp_f30 = 10.0f * (temp_f31 - 0.9f); - temp_r31->unk40.a = temp_f30 * 210.0f; - } - else { - temp_r31->unk40.a = 0; - } - } - } - DCStoreRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); - } - } + float temp_f31; + float temp_f30; + HsfanimStruct01 *temp_r31; + s32 temp_r29; + float sp14[][6] = { + { + 600, 1, 0.95, 0.8, 1, 0 + }, + { + 600, 1, 0.6, 0.9, 0.3, 0 + }, + { + 13, 1, 1, 1, 0.5, 0 + }, + }; + Vec sp8; + if(particle->unk_00 == 0) { + particle->unk_00++; + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + temp_r31->unk00 = 1; + temp_r31->unk2C = sp14[particle->unk_02][0]; + temp_r31->unk40.r = 255*sp14[particle->unk_02][1]; + temp_r31->unk40.g = 255*sp14[particle->unk_02][2]; + temp_r31->unk40.b = 255*sp14[particle->unk_02][3]; + temp_r31->unk40.a = 255*sp14[particle->unk_02][4]; + temp_f31 = -70; + temp_f30 = -10; + temp_r31->unk08.x = sind(temp_f30)*cosd(temp_f31); + temp_r31->unk08.y = -sind(temp_f31); + temp_r31->unk08.z = cosd(temp_f30)*cosd(temp_f31); + } + } else { + particle->unk_00++; + if(particle->unk_00 < 339.0f) { + return; + } + if(particle->unk_00 >= 600.0f) { + particle->unk_00 = 601; + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + temp_r31->unk00 = 0; + temp_r31->unk2C = 0; + temp_r31->unk40.a = 0; + } + } else { + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(temp_r31->unk00_s16 == 0) { + continue; + } + sp8.x = sind(CRot.y)*cosd(CRot.x); + sp8.y = -sind(CRot.x); + sp8.z = cosd(CRot.y)*cosd(CRot.x); + if(particle->unk_02 < 2) { + temp_f31 = 4500; + temp_r31->unk34.x = (Center.x+(temp_r31->unk08.x*temp_f31))+(sp8.x*CZoom); + temp_r31->unk34.y = (Center.y+(temp_r31->unk08.y*temp_f31))+(sp8.y*CZoom); + temp_r31->unk34.z = (Center.z+(temp_r31->unk08.z*temp_f31))+(sp8.z*CZoom); + if(particle->unk_02 != 0) { + temp_f31 = -((sp8.x*temp_r31->unk08.x)+(sp8.y*temp_r31->unk08.y)+(sp8.z*temp_r31->unk08.z)); + if(temp_f31 > 0.77f) { + temp_f30 = (1.0f/0.23f)*(temp_f31-0.77f); + temp_r31->unk2C = 1400*temp_f30; + temp_r31->unk40.a = (32.0f*temp_f30)+16.0f; + } else { + temp_r31->unk2C = 0; + } + } + } else { + temp_f31 = CZoom-10; + temp_r31->unk34.x = (sp8.x*temp_f31)+Center.x; + temp_r31->unk34.y = (sp8.y*temp_f31)+Center.y; + temp_r31->unk34.z = (sp8.z*temp_f31)+Center.z; + temp_f31 = -((sp8.x*temp_r31->unk08.x)+(sp8.y*temp_r31->unk08.y)+(sp8.z*temp_r31->unk08.z)); + if(temp_f31 > 0.9f) { + temp_f30 = 10.0f*(temp_f31-0.9f); + temp_r31->unk40.a = temp_f30*210.0f; + } else { + temp_r31->unk40.a = 0; + } + } + } + DCStoreRange(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); + } + } } void fn_1_AFF4(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - float temp_f30; - HsfanimStruct01 *temp_r30; - s32 temp_r29; - Vec sp20; - Vec sp14; - Vec sp8; - if (particle->unk_00 == 0) { - particle->unk_00++; - temp_f31 = -70; - temp_f30 = -10; - particle->unk_04.x = sind(temp_f30) * cosd(temp_f31); - particle->unk_04.y = -sind(temp_f31); - particle->unk_04.z = cosd(temp_f30) * cosd(temp_f31); - temp_f31 = 0; - temp_r30 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r30++) { - temp_r30->unk00 = 1; - temp_f31 += 1.0f / particle->unk_30; - temp_r30->unk2C = 40.0f + ((1.0f - temp_f31) * (100.0f + frandmod(1000))); - temp_r30->unk40.r = frandmod(127) + 128; - temp_r30->unk40.g = frandmod(127) + 128; - temp_r30->unk40.b = frandmod(127) + 128; - temp_r30->unk40.a = frandmod(16) + 16; - } - } - else { - particle->unk_00++; - if (particle->unk_00 < 339.0f) { - return; - } - if (particle->unk_00 >= 600.0f) { - particle->unk_00 = 601; - temp_r30 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r30++) { - temp_r30->unk00 = 0; - temp_r30->unk2C = 0; - temp_r30->unk40.a = 0; - } - } - else { - sp20.x = sind(CRot.y) * cosd(CRot.x); - sp20.y = -sind(CRot.x); - sp20.z = cosd(CRot.y) * cosd(CRot.x); - temp_f31 = -((-particle->unk_04.x * -sp20.x) + (-particle->unk_04.y * -sp20.y) + (-particle->unk_04.z * -sp20.z)); - sp14.x = -sp20.x + (-2.0f * particle->unk_04.x * temp_f31); - sp14.y = -sp20.y + (-2.0f * particle->unk_04.y * temp_f31); - sp14.z = -sp20.z + (-2.0f * particle->unk_04.z * temp_f31); - temp_f31 = 4500; - sp8.x = (Center.x + (particle->unk_04.x * temp_f31)) + (sp20.x * CZoom); - sp8.y = (Center.y + (particle->unk_04.y * temp_f31)) + (sp20.y * CZoom); - sp8.z = (Center.z + (particle->unk_04.z * temp_f31)) + (sp20.z * CZoom); - temp_r30 = particle->unk_48; - temp_f30 = 0; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r30++) { - if (temp_r30->unk00 == 0) { - continue; - } - temp_f30 += 1.0f / particle->unk_30; - temp_f31 = 10.0f * (430.0f * (1.0f - ((1.0f - temp_f30) * (1.0f - temp_f30)))); - temp_r30->unk34.x = sp8.x + (sp14.x * temp_f31); - temp_r30->unk34.y = sp8.y + (sp14.y * temp_f31); - temp_r30->unk34.z = sp8.z + (sp14.z * temp_f31); - } - DCStoreRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); - } - } + float temp_f31; + float temp_f30; + HsfanimStruct01 *temp_r30; + s32 temp_r29; + Vec sp20; + Vec sp14; + Vec sp8; + if(particle->unk_00 == 0) { + particle->unk_00++; + temp_f31 = -70; + temp_f30 = -10; + particle->unk_04.x = sind(temp_f30)*cosd(temp_f31); + particle->unk_04.y = -sind(temp_f31); + particle->unk_04.z = cosd(temp_f30)*cosd(temp_f31); + temp_f31 = 0; + temp_r30 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r30++) { + temp_r30->unk00 = 1; + temp_f31 += 1.0f/particle->unk_30; + temp_r30->unk2C = 40.0f+((1.0f-temp_f31)*(100.0f+frandmod(1000))); + temp_r30->unk40.r = frandmod(127)+128; + temp_r30->unk40.g = frandmod(127)+128; + temp_r30->unk40.b = frandmod(127)+128; + temp_r30->unk40.a = frandmod(16)+16; + } + } else { + particle->unk_00++; + if(particle->unk_00 < 339.0f) { + return; + } + if(particle->unk_00 >= 600.0f) { + particle->unk_00 = 601; + temp_r30 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r30++) { + temp_r30->unk00 = 0; + temp_r30->unk2C = 0; + temp_r30->unk40.a = 0; + } + } else { + sp20.x = sind(CRot.y)*cosd(CRot.x); + sp20.y = -sind(CRot.x); + sp20.z = cosd(CRot.y)*cosd(CRot.x); + temp_f31 = -((-particle->unk_04.x*-sp20.x)+(-particle->unk_04.y*-sp20.y)+(-particle->unk_04.z*-sp20.z)); + sp14.x = -sp20.x+(-2.0f*particle->unk_04.x*temp_f31); + sp14.y = -sp20.y+(-2.0f*particle->unk_04.y*temp_f31); + sp14.z = -sp20.z+(-2.0f*particle->unk_04.z*temp_f31); + temp_f31 = 4500; + sp8.x = (Center.x+(particle->unk_04.x*temp_f31))+(sp20.x*CZoom); + sp8.y = (Center.y+(particle->unk_04.y*temp_f31))+(sp20.y*CZoom); + sp8.z = (Center.z+(particle->unk_04.z*temp_f31))+(sp20.z*CZoom); + temp_r30 = particle->unk_48; + temp_f30 = 0; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r30++) { + if(temp_r30->unk00_s16 == 0) { + continue; + } + temp_f30 += 1.0f/particle->unk_30; + temp_f31 = 10.0f*(430.0f*(1.0f-((1.0f-temp_f30)*(1.0f-temp_f30)))); + temp_r30->unk34.x = sp8.x+(sp14.x*temp_f31); + temp_r30->unk34.y = sp8.y+(sp14.y*temp_f31); + temp_r30->unk34.z = sp8.z+(sp14.z*temp_f31); + } + DCStoreRange(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); + } + } } void fn_1_B700(s16 arg0, u32 arg1) { - float temp_f31; - float temp_f30; - HsfanimStruct01 *temp_r31; - ParticleData *temp_r30; - s32 temp_r29; - s32 temp_r27; - float sp1C[] = { 0.4f, 0.21f, 0.16f, 1.0f }; - float spC[] = { 0.15f, 0.6f, 1.3f, 1.0f }; - s16 sp2C[] = { 1, 0, 2, 0, 0, 1, 2, 0, 0, 1, 2, 1, 0, 0, 1, 2, 0, 1, 2, -1 }; - arg1 &= 0x3; - temp_r30 = Hu3DData[arg0].unk_120; - temp_r30->unk_00 = 1; - temp_f31 = -70; - temp_f30 = -10; - temp_r30->unk_04.x = sind(temp_f30) * cosd(temp_f31); - temp_r30->unk_04.y = -sind(temp_f31); - temp_r30->unk_04.z = cosd(temp_f30) * cosd(temp_f31); - temp_r31 = temp_r30->unk_48; - for (temp_r27 = 0; temp_r27 < temp_r30->unk_30; temp_r27++, temp_r31++) { - temp_r31->unk00 = 1; - temp_r31->unk02 = arg1; - for (temp_r29 = 0; sp2C[temp_r29] >= 0; temp_r29++) { - if (arg1 != sp2C[temp_r29]) { - continue; - } - if (lbl_1_bss_A4[temp_r29] == NULL) { - break; - } - } - if (sp2C[temp_r29] < 0) { - temp_r31->unk2C = 0; - temp_r31->unk40.a = 0; - continue; - } - lbl_1_bss_A4[temp_r29] = temp_r31; - lbl_1_bss_A0++; - temp_r31->unk2C = 800.0f * (spC[arg1] * (1.0f + ((0.7f / 1000.0f) * frandmod(1000)))); - temp_r31->unk40.r = frandmod(160) + 32; - temp_r31->unk40.g = frandmod(160) + 32; - temp_r31->unk40.b = frandmod(160) + 32; - temp_r31->unk40.a = (255.0f * sp1C[arg1]) - frandmod(16); - } - lbl_1_bss_94[arg1] = temp_r30->unk_48; - lbl_1_bss_88[arg1] = temp_r30->unk_30; + float temp_f31; + float temp_f30; + HsfanimStruct01 *temp_r31; + ParticleData *temp_r30; + s32 temp_r29; + s32 temp_r27; + float sp1C[] = { + 0.4f, 0.21f, 0.16f, 1.0f + }; + float spC[] = { + 0.15f, 0.6f, 1.3f, 1.0f + }; + s16 sp2C[] = { + 1, 0, + 2, 0, + 0, 1, + 2, 0, + 0, 1, + 2, 1, + 0, 0, + 1, 2, + 0, 1, + 2, -1 + }; + arg1 &= 0x3; + temp_r30 = Hu3DData[arg0].unk_120; + temp_r30->unk_00 = 1; + temp_f31 = -70; + temp_f30 = -10; + temp_r30->unk_04.x = sind(temp_f30)*cosd(temp_f31); + temp_r30->unk_04.y = -sind(temp_f31); + temp_r30->unk_04.z = cosd(temp_f30)*cosd(temp_f31); + temp_r31 = temp_r30->unk_48; + for(temp_r27=0; temp_r27unk_30; temp_r27++, temp_r31++) { + temp_r31->unk00 = 1; + temp_r31->unk02 = arg1; + for(temp_r29=0; sp2C[temp_r29] >= 0; temp_r29++) { + if(arg1 != sp2C[temp_r29]) { + continue; + } + if(lbl_1_bss_A4[temp_r29] == NULL) { + break; + } + } + if(sp2C[temp_r29] < 0) { + temp_r31->unk2C = 0; + temp_r31->unk40.a = 0; + continue; + } + lbl_1_bss_A4[temp_r29] = temp_r31; + lbl_1_bss_A0++; + temp_r31->unk2C = 800.0f*(spC[arg1]*(1.0f+((0.7f/1000.0f)*frandmod(1000)))); + temp_r31->unk40.r = frandmod(160)+32; + temp_r31->unk40.g = frandmod(160)+32; + temp_r31->unk40.b = frandmod(160)+32; + temp_r31->unk40.a = (255.0f*sp1C[arg1])-frandmod(16); + } + lbl_1_bss_94[arg1] = temp_r30->unk_48; + lbl_1_bss_88[arg1] = temp_r30->unk_30; } void fn_1_BB94(void) { - float temp_f31; - float temp_f30; - HsfanimStruct01 *temp_r31; - s32 temp_r30; - float sp18[] = { 0.02f, 0.08f, 0.07f, 0.5f }; - float sp8[] = { 0.0009f, 0.00020000001f, 0.00001f, 0.0005f }; - temp_f31 = 0.1f; - for (temp_r30 = 0; temp_r30 < lbl_1_bss_A0; temp_r30++) { - temp_r31 = lbl_1_bss_A4[temp_r30]; - temp_f30 = 0.5f * (sp18[temp_r31->unk02] * (1.0f + (frandmod(1000) * sp8[temp_r31->unk02]))); - temp_f31 += temp_f30; - temp_r31->unk14.x = temp_f31; - temp_f31 += temp_f30; - } - temp_f31 = 1.0f / temp_f31; - for (temp_r30 = 0; temp_r30 < lbl_1_bss_A0; temp_r30++) { - temp_r31 = lbl_1_bss_A4[temp_r30]; - temp_r31->unk14.x *= temp_f31; - temp_r31->unk2C *= (0.8f - (0.4f * temp_r31->unk14.x)); - temp_r31->unk14.x = 10.0f * (400.0f * temp_r31->unk14.x); - } - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - DCStoreRangeNoSync(lbl_1_bss_94[temp_r30], lbl_1_bss_88[temp_r30] * sizeof(HsfanimStruct01)); - } - PPCSync(); + float temp_f31; + float temp_f30; + HsfanimStruct01 *temp_r31; + s32 temp_r30; + float sp18[] = { + 0.02f, 0.08f, 0.07f, 0.5f + }; + float sp8[] = { + 0.0009f, 0.00020000001f, 0.00001f, 0.0005f + }; + temp_f31 = 0.1f; + for(temp_r30=0; temp_r30unk02]*(1.0f+(frandmod(1000)*sp8[temp_r31->unk02]))); + temp_f31 += temp_f30; + temp_r31->unk14.x = temp_f31; + temp_f31 += temp_f30; + } + temp_f31 = 1.0f/temp_f31; + for(temp_r30=0; temp_r30unk14.x *= temp_f31; + temp_r31->unk2C *= (0.8f-(0.4f*temp_r31->unk14.x)); + temp_r31->unk14.x = 10.0f*(400.0f*temp_r31->unk14.x); + } + for(temp_r30=0; temp_r30<3; temp_r30++) { + DCStoreRangeNoSync(lbl_1_bss_94[temp_r30], lbl_1_bss_88[temp_r30]*sizeof(HsfanimStruct01)); + } + PPCSync(); } void fn_1_BDE0(void) { - float temp_f31; - float temp_f30; - HsfanimStruct01 *temp_r31; - s32 temp_r30; - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - temp_r31 = lbl_1_bss_A4[0]; - temp_r31->unk00++; - if (temp_r31->unk00 < 339.0f) { - return; - } - if (temp_r31->unk00 >= 600.0f) { - temp_r31->unk00 = 601; - for (temp_r30 = 0; temp_r30 < lbl_1_bss_A0; temp_r30++) { - temp_r31 = lbl_1_bss_A4[temp_r30]; - temp_r31->unk00 = 0; - temp_r31->unk2C = 0; - temp_r31->unk40.a = 0; - } - return; - } - sp2C.x = sind(CRot.y) * cosd(CRot.x); - sp2C.y = -sind(CRot.x); - sp2C.z = cosd(CRot.y) * cosd(CRot.x); - temp_f31 = -70; - temp_f30 = -10; - sp20.x = sind(temp_f30) * cosd(temp_f31); - sp20.y = -sind(temp_f31); - sp20.z = cosd(temp_f30) * cosd(temp_f31); - temp_f31 = 4500; - sp8.x = (Center.x + (sp20.x * temp_f31)) + (sp2C.x * CZoom); - sp8.y = (Center.y + (sp20.y * temp_f31)) + (sp2C.y * CZoom); - sp8.z = (Center.z + (sp20.z * temp_f31)) + (sp2C.z * CZoom); - temp_f31 = -((-sp20.x * -sp2C.x) + (-sp20.y * -sp2C.y) + (-sp20.z * -sp2C.z)); - sp14.x = -sp2C.x + (-2.0f * sp20.x * temp_f31); - sp14.y = -sp2C.y + (-2.0f * sp20.y * temp_f31); - sp14.z = -sp2C.z + (-2.0f * sp20.z * temp_f31); - if (temp_f31 > 0.5f) { - temp_f30 = 3.0f - (2.0f * temp_f31); - } - else { - temp_f30 = 1.0f; - } - for (temp_r30 = 0; temp_r30 < lbl_1_bss_A0; temp_r30++) { - temp_r31 = lbl_1_bss_A4[temp_r30]; - temp_r31->unk34.x = sp8.x + (temp_f30 * (sp14.x * temp_r31->unk14.x)); - temp_r31->unk34.y = sp8.y + (temp_f30 * (sp14.y * temp_r31->unk14.x)); - temp_r31->unk34.z = sp8.z + (temp_f30 * (sp14.z * temp_r31->unk14.x)); - } - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - DCStoreRangeNoSync(lbl_1_bss_94[temp_r30], lbl_1_bss_88[temp_r30] * sizeof(HsfanimStruct01)); - } - PPCSync(); + float temp_f31; + float temp_f30; + HsfanimStruct01 *temp_r31; + s32 temp_r30; + Vec sp2C; + Vec sp20; + Vec sp14; + Vec sp8; + temp_r31 = lbl_1_bss_A4[0]; + temp_r31->unk00_s16++; + if(temp_r31->unk00_s16 < 339.0f) { + return; + } + if(temp_r31->unk00_s16 >= 600.0f) { + temp_r31->unk00_s16 = 601; + for(temp_r30=0; temp_r30unk00_s16 = 0; + temp_r31->unk2C = 0; + temp_r31->unk40.a = 0; + } + return; + } + sp2C.x = sind(CRot.y)*cosd(CRot.x); + sp2C.y = -sind(CRot.x); + sp2C.z = cosd(CRot.y)*cosd(CRot.x); + temp_f31 = -70; + temp_f30 = -10; + sp20.x = sind(temp_f30)*cosd(temp_f31); + sp20.y = -sind(temp_f31); + sp20.z = cosd(temp_f30)*cosd(temp_f31); + temp_f31 = 4500; + sp8.x = (Center.x+(sp20.x*temp_f31))+(sp2C.x*CZoom); + sp8.y = (Center.y+(sp20.y*temp_f31))+(sp2C.y*CZoom); + sp8.z = (Center.z+(sp20.z*temp_f31))+(sp2C.z*CZoom); + temp_f31 = -((-sp20.x*-sp2C.x)+(-sp20.y*-sp2C.y)+(-sp20.z*-sp2C.z)); + sp14.x = -sp2C.x+(-2.0f*sp20.x*temp_f31); + sp14.y = -sp2C.y+(-2.0f*sp20.y*temp_f31); + sp14.z = -sp2C.z+(-2.0f*sp20.z*temp_f31); + if(temp_f31 > 0.5f) { + temp_f30 = 3.0f-(2.0f*temp_f31); + } else { + temp_f30 = 1.0f; + } + for(temp_r30=0; temp_r30unk34.x = sp8.x+(temp_f30*(sp14.x*temp_r31->unk14.x)); + temp_r31->unk34.y = sp8.y+(temp_f30*(sp14.y*temp_r31->unk14.x)); + temp_r31->unk34.z = sp8.z+(temp_f30*(sp14.z*temp_r31->unk14.x)); + } + for(temp_r30=0; temp_r30<3; temp_r30++) { + DCStoreRangeNoSync(lbl_1_bss_94[temp_r30], lbl_1_bss_88[temp_r30]*sizeof(HsfanimStruct01)); + } + PPCSync(); } void fn_1_C3C0(Vec *arg0, Vec *arg1) { - arg0->x = lbl_1_bss_110->trans.x; - arg0->y = lbl_1_bss_110->trans.y; - arg0->z = lbl_1_bss_110->trans.z; - arg1->x = lbl_1_bss_110->rot.x; - arg1->y = lbl_1_bss_110->rot.y; - arg1->z = lbl_1_bss_110->rot.z; + arg0->x = lbl_1_bss_110->trans.x; + arg0->y = lbl_1_bss_110->trans.y; + arg0->z = lbl_1_bss_110->trans.z; + arg1->x = lbl_1_bss_110->rot.x; + arg1->y = lbl_1_bss_110->rot.y; + arg1->z = lbl_1_bss_110->rot.z; } u32 fn_1_C43C(void) { - return lbl_1_bss_10C; -} + return lbl_1_bss_10C; +} \ No newline at end of file diff --git a/src/REL/m408Dll/main.c b/src/REL/m408Dll/main.c index fa04e61a..63e82391 100644 --- a/src/REL/m408Dll/main.c +++ b/src/REL/m408Dll/main.c @@ -1,14 +1,14 @@ -#include "game/chrman.h" -#include "game/minigame_seq.h" #include "game/object.h" #include "game/objsub.h" -#include "game/pad.h" #include "game/wipe.h" +#include "game/chrman.h" +#include "game/minigame_seq.h" +#include "game/pad.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" #include "game/hsfman.h" #include "game/hsfmotion.h" +#include "game/hsfanim.h" +#include "game/hsfdraw.h" #include "game/sprite.h" #include "game/audio.h" @@ -16,28 +16,29 @@ #include "REL/m408Dll.h" -#include "ext_math.h" #include "math.h" +#include "ext_math.h" -#ifndef __MWERKS__ -#include "game/esprite.h" -#endif +#include "rel_sqrt_consts.h" s32 lbl_1_data_0[] = { - DATA_MAKE_NUM(DATADIR_MGCONST, 0x00), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x01), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x02), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x03), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x04), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x05), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x06), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x07), + 0x610000, + 0x610001, + 0x610002, + 0x610003, + 0x610004, + 0x610005, + 0x610006, + 0x610007 }; Vec lbl_1_data_20 = { 150, 1250, 150 }; Vec lbl_1_data_2C = { -0.1, -0.8, 0.1 }; GXColor lbl_1_data_38 = { 255, 255, 255, 255 }; -Vec lbl_1_data_3C[] = { { 0, -2000, 0 }, { 0, 1, 0 } }; +Vec lbl_1_data_3C[] = { + { 0, -2000, 0 }, + { 0, 1, 0} +}; GXColor lbl_1_data_54 = { 255, 255, 255, 255 }; Vec lbl_1_data_58 = { 50, 15000, 50 }; Vec lbl_1_data_64 = { 0, 1, 0 }; @@ -80,53 +81,53 @@ void fn_1_25D4(Process *objman); void ObjectSetup(void) { - s32 temp_r31; - Process *temp_r30; - s16 temp_r29; - LightData *temp_r28; - Vec sp14 = { 0, 0, 0 }; - Vec sp8 = { 0, 0, -1 }; - HuAudSndGrpSet(33); - HuAudFXListnerSetEX(&sp14, &sp8, 6000, 3656.6667f, 0, 300, 300); - lbl_1_bss_1C = lbl_1_bss_18 = lbl_1_bss_14 = lbl_1_bss_10 = -1; - lbl_1_bss_C = 0; - lbl_1_bss_44 = 1; - lbl_1_bss_40 = 0; - temp_r29 = Hu3DGLightCreateV(&lbl_1_data_20, &lbl_1_data_2C, &lbl_1_data_38); - Hu3DGLightInfinitytSet(temp_r29); - temp_r28 = &Hu3DGlobalLight[temp_r29]; - temp_r28->unk_00 |= 0x8000; - Hu3DShadowCreate(30, 100, 25000); - Hu3DShadowTPLvlSet(0.3f); - Hu3DShadowPosSet(&lbl_1_data_58, &lbl_1_data_64, &lbl_1_data_70); - temp_r30 = omInitObjMan(50, 8192); - omGameSysInit(temp_r30); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - CRotM[temp_r31].x = 324.3f; - CRotM[temp_r31].y = 0; - CRotM[temp_r31].z = 0; - CenterM[temp_r31].x = 0; - CenterM[temp_r31].y = 130; - CenterM[temp_r31].z = 224; - CZoomM[temp_r31] = 220; - } - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, -1, 5, 25000, (4.0f / 3.0f)); - Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); - lbl_1_bss_70 = omAddObjEx(temp_r30, 32730, 0, 0, -1, omOutView); - lbl_1_bss_62 = 0; - lbl_1_bss_60 = 0; - lbl_1_bss_48 = 0; - lbl_1_bss_78 = omAddObjEx(temp_r30, 10, 0, 0, -1, fn_1_51C); - lbl_1_bss_3C = 0; - for (temp_r31 = 0; temp_r31 < 5; temp_r31++) { - lbl_1_bss_28[temp_r31] = -1; - } - lbl_1_bss_74 = omAddObjEx(temp_r30, 50, 0, 0, -1, fn_1_9F0); - fn_1_25D4(temp_r30); - fn_1_C44C(temp_r30); - fn_1_118D0(temp_r30); - fn_1_8958(temp_r30); + s32 temp_r31; + Process *temp_r30; + s16 temp_r29; + LightData *temp_r28; + Vec sp14 = { 0, 0, 0 }; + Vec sp8 = { 0, 0, -1 }; + HuAudSndGrpSet(33); + HuAudFXListnerSetEX(&sp14, &sp8, 6000, 3656.6667f, 0, 300, 300); + lbl_1_bss_1C = lbl_1_bss_18 = lbl_1_bss_14 = lbl_1_bss_10 = -1; + lbl_1_bss_C = 0; + lbl_1_bss_44 = 1; + lbl_1_bss_40 = 0; + temp_r29 = Hu3DGLightCreateV(&lbl_1_data_20, &lbl_1_data_2C, &lbl_1_data_38); + Hu3DGLightInfinitytSet(temp_r29); + temp_r28 = &Hu3DGlobalLight[temp_r29]; + temp_r28->unk_00 |= 0x8000; + Hu3DShadowCreate(30, 100, 25000); + Hu3DShadowTPLvlSet(0.3f); + Hu3DShadowPosSet(&lbl_1_data_58, &lbl_1_data_64, &lbl_1_data_70); + temp_r30 = omInitObjMan(50, 8192); + omGameSysInit(temp_r30); + for(temp_r31=0; temp_r31<4; temp_r31++) { + CRotM[temp_r31].x = 324.3f; + CRotM[temp_r31].y = 0; + CRotM[temp_r31].z = 0; + CenterM[temp_r31].x = 0; + CenterM[temp_r31].y = 130; + CenterM[temp_r31].z = 224; + CZoomM[temp_r31] = 220; + } + Hu3DCameraCreate(1); + Hu3DCameraPerspectiveSet(1, -1, 5, 25000, (4.0f/3.0f)); + Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); + lbl_1_bss_70 = omAddObjEx(temp_r30, 32730, 0, 0, -1, omOutView); + lbl_1_bss_62 = 0; + lbl_1_bss_60 = 0; + lbl_1_bss_48 = 0; + lbl_1_bss_78 = omAddObjEx(temp_r30, 10, 0, 0, -1, fn_1_51C); + lbl_1_bss_3C = 0; + for(temp_r31=0; temp_r31<5; temp_r31++) { + lbl_1_bss_28[temp_r31] = -1; + } + lbl_1_bss_74 = omAddObjEx(temp_r30, 50, 0, 0, -1, fn_1_9F0); + fn_1_25D4(temp_r30); + fn_1_C44C(temp_r30); + fn_1_118D0(temp_r30); + fn_1_8958(temp_r30); } void fn_1_56C(omObjData *object); @@ -134,94 +135,95 @@ void fn_1_9A4(omObjData *object); void fn_1_51C(omObjData *object) { - lbl_1_bss_66 = 30; - lbl_1_bss_64 = 60; - lbl_1_bss_4C = 4; - lbl_1_bss_62 = 0; - object->func = fn_1_56C; + lbl_1_bss_66 = 30; + lbl_1_bss_64 = 60; + lbl_1_bss_4C = 4; + lbl_1_bss_62 = 0; + object->func = fn_1_56C; } + void fn_1_56C(omObjData *object) { - s32 temp_r30 = 0; - Vec sp14; - Vec sp8; - switch (lbl_1_bss_62) { - case 0: - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - lbl_1_bss_44 = 0; - Hu3DCameraPerspectiveSet(1, 50, 5, 25000, (4.0f / 3.0f)); - lbl_1_bss_62 = 1; - break; - - case 1: - if (fn_1_C43C() == 5) { - lbl_1_bss_62 = 2; - } - break; - - case 2: - if (fn_1_6878() == 5) { - object->work[0] = 0; - lbl_1_bss_62 = 3; - } - break; - - case 3: - if (lbl_1_bss_4C == 0 || WipeStatGet() == 0) { - if (++object->work[0] >= 210.0f) { - lbl_1_bss_62 = 4; - } - } - break; - - case 4: - lbl_1_bss_62 = 5; - break; - - case 5: - if (fn_1_C43C() == 5) { - temp_r30 = 1; - lbl_1_bss_62 = 5; - } - break; - } - sp8.x = -(sind(CRot.y) * cosd(CRot.x)); - sp8.y = -(-sind(CRot.x)); - sp8.z = -(cosd(CRot.y) * cosd(CRot.x)); - sp14.x = Center.x - (sp8.x * CZoom); - sp14.y = Center.y - (sp8.y * CZoom); - sp14.z = Center.z - (sp8.z * CZoom); - HuAudFXListnerUpdate(&sp14, &sp8); - if ((omSysExitReq && !WipeStatGet()) && !lbl_1_bss_44 || temp_r30) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - lbl_1_bss_44 = 1; - lbl_1_bss_40 = 1; - if (lbl_1_bss_10 >= 0) { - HuAudFXFadeOut(lbl_1_bss_10, 30); - } - object->func = fn_1_9A4; - } + s32 temp_r30 = 0; + Vec sp14; + Vec sp8; + switch(lbl_1_bss_62) { + case 0: + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + lbl_1_bss_44 = 0; + Hu3DCameraPerspectiveSet(1, 50, 5, 25000, (4.0f/3.0f)); + lbl_1_bss_62 = 1; + break; + + case 1: + if(fn_1_C43C() == 5) { + lbl_1_bss_62 = 2; + } + break; + + case 2: + if(fn_1_6878() == 5) { + object->work[0] = 0; + lbl_1_bss_62 = 3; + } + break; + + case 3: + if(lbl_1_bss_4C == 0 || WipeStatGet() == 0) { + if(++object->work[0] >= 210.0f) { + lbl_1_bss_62 = 4; + } + } + break; + + case 4: + lbl_1_bss_62 = 5; + break; + + case 5: + if(fn_1_C43C() == 5) { + temp_r30 = 1; + lbl_1_bss_62 = 5; + } + break; + } + sp8.x = -(sind(CRot.y)*cosd(CRot.x)); + sp8.y = -(-sind(CRot.x)); + sp8.z = -(cosd(CRot.y)*cosd(CRot.x)); + sp14.x = Center.x-(sp8.x*CZoom); + sp14.y = Center.y-(sp8.y*CZoom); + sp14.z = Center.z-(sp8.z*CZoom); + HuAudFXListnerUpdate(&sp14, &sp8); + if((omSysExitReq && !WipeStatGet()) && !lbl_1_bss_44 || temp_r30) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + lbl_1_bss_44 = 1; + lbl_1_bss_40 = 1; + if(lbl_1_bss_10 >= 0) { + HuAudFXFadeOut(lbl_1_bss_10, 30); + } + object->func = fn_1_9A4; + } } void fn_1_9A4(omObjData *object) { - if (!WipeStatGet()) { - CharModelKill(-1); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - } + if(!WipeStatGet()) { + CharModelKill(-1); + MGSeqKillAll(); + HuAudFadeOut(1); + omOvlReturnEx(1, 1); + } } void fn_1_A40(omObjData *object); void fn_1_9F0(omObjData *object) { - lbl_1_bss_54 = 12000; - lbl_1_bss_50 = 0; - lbl_1_bss_60 = 0; - object->func = fn_1_A40; + lbl_1_bss_54 = 12000; + lbl_1_bss_50 = 0; + lbl_1_bss_60 = 0; + object->func = fn_1_A40; } void fn_1_CD8(omObjData *object); @@ -230,41 +232,41 @@ u32 fn_1_6868(void); void fn_1_A40(omObjData *object) { - if (fn_1_6868() != 2) { - return; - } - switch (lbl_1_bss_60) { - case 0: - Hu3DCameraPerspectiveSet(1, 35, 5, 25000, (4.0f / 3.0f)); - CRot.x = -80.5f; - CRot.y = CRot.z = 0; - Center.x = 0; - Center.y = lbl_1_bss_54; - Center.z = 0; - CZoom = 260; - lbl_1_bss_60 = 1; - break; + if(fn_1_6868() != 2) { + return; + } + switch(lbl_1_bss_60) { + case 0: + Hu3DCameraPerspectiveSet(1, 35, 5, 25000, (4.0f/3.0f)); + CRot.x = -80.5f; + CRot.y = CRot.z = 0; + Center.x = 0; + Center.y = lbl_1_bss_54; + Center.z = 0; + CZoom = 260; + lbl_1_bss_60 = 1; + break; + + case 1: + lbl_1_bss_24 = MGSeqStartCreate(); + MGSeqPosSet(lbl_1_bss_24, 320, 240); + lbl_1_bss_60 = 2; - case 1: - lbl_1_bss_24 = MGSeqStartCreate(); - MGSeqPosSet(lbl_1_bss_24, 320, 240); - lbl_1_bss_60 = 2; - - case 2: - Center.y = lbl_1_bss_54; - lbl_1_bss_50 = -400.0f; - ; - lbl_1_bss_54 += lbl_1_bss_50 * (1.0f / 60.0f); - if (lbl_1_bss_1C < 0 && (MGSeqStatGet(lbl_1_bss_24) & 0x10)) { - lbl_1_bss_1C = HuAudSeqPlay(74); - } - if (MGSeqStatGet(lbl_1_bss_24) == 0) { - lbl_1_bss_60 = 3; - object->func = fn_1_CD8; - } - - break; - } + + case 2: + Center.y = lbl_1_bss_54; + lbl_1_bss_50 = -400.0f;; + lbl_1_bss_54 += lbl_1_bss_50*(1.0f/60.0f); + if(lbl_1_bss_1C < 0 && (MGSeqStatGet(lbl_1_bss_24) & 0x10)) { + lbl_1_bss_1C = HuAudSeqPlay(74); + } + if(MGSeqStatGet(lbl_1_bss_24) == 0) { + lbl_1_bss_60 = 3; + object->func = fn_1_CD8; + } + + break; + } } void fn_1_8020(void); @@ -275,285 +277,286 @@ void fn_1_12A0(omObjData *object); void fn_1_CD8(omObjData *object) { - Center.y = lbl_1_bss_54; - lbl_1_bss_50 = -400.0f; - lbl_1_bss_54 += lbl_1_bss_50 * (1.0f / 60.0f); - fn_1_8020(); - if (lbl_1_bss_4C == 0) { - lbl_1_bss_48 = 1; - lbl_1_bss_20 = MGSeqFinishCreate(); - MGSeqPosSet(lbl_1_bss_20, 320, 240); - HuAudSeqFadeOut(lbl_1_bss_1C, 100); - object->func = fn_1_12A0; - } - else { - if (lbl_1_bss_54 <= (-lbl_1_bss_50 * 0.5f)) { - lbl_1_bss_20 = MGSeqFinishCreate(); - MGSeqPosSet(lbl_1_bss_20, 320, 240); - HuAudSeqFadeOut(lbl_1_bss_1C, 100); - lbl_1_bss_50 = -120.00001f; - lbl_1_bss_54 = -lbl_1_bss_50 * 2.0f; - lbl_1_bss_60 = 4; - object->func = fn_1_EF8; - } - } + Center.y = lbl_1_bss_54; + lbl_1_bss_50 = -400.0f; + lbl_1_bss_54 += lbl_1_bss_50*(1.0f/60.0f); + fn_1_8020(); + if(lbl_1_bss_4C == 0) { + lbl_1_bss_48 = 1; + lbl_1_bss_20 = MGSeqFinishCreate(); + MGSeqPosSet(lbl_1_bss_20, 320, 240); + HuAudSeqFadeOut(lbl_1_bss_1C, 100); + object->func = fn_1_12A0; + } else { + if(lbl_1_bss_54 <= (-lbl_1_bss_50*0.5f)) { + lbl_1_bss_20 = MGSeqFinishCreate(); + MGSeqPosSet(lbl_1_bss_20, 320, 240); + HuAudSeqFadeOut(lbl_1_bss_1C, 100); + lbl_1_bss_50 = -120.00001f; + lbl_1_bss_54 = -lbl_1_bss_50*2.0f; + lbl_1_bss_60 = 4; + object->func = fn_1_EF8; + + } + } } void fn_1_18C0(omObjData *object); void fn_1_EF8(omObjData *object) { - Vec sp30; - Vec sp24; - Vec sp18; - Vec spC; - float temp_f29; - if (lbl_1_bss_10 < 0) { - lbl_1_bss_10 = HuAudFXPlay(1360); - } - sp30.x = 0; - sp30.y = 50; - sp30.z = 230; - temp_f29 = atan2d(lbl_1_bss_54 - sp30.y, sp30.z); - if (temp_f29 < 0.0f) { - temp_f29 += 360.0f; - } - Center.x = 0; - Center.y = lbl_1_bss_54; - Center.z = 0; - CRot.x = temp_f29; - CZoom = sqrtf((sp30.z * sp30.z) + ((lbl_1_bss_54 - sp30.y) * (lbl_1_bss_54 - sp30.y))); - spC.x = 0; - spC.z = 0; - sp24.x = 200; - sp24.z = 200; - sp24.y = 800; - spC.y = 20; - sp18.x = sp18.y = 0; - sp18.z = 1; - Hu3DShadowPosSet(&sp24, &sp18, &spC); - Hu3DShadowTPLvlSet(0.5f); - lbl_1_bss_54 += lbl_1_bss_50 * (1.0f / 60.0f); - if (lbl_1_bss_54 <= 0.0f) { - lbl_1_bss_54 = 0; - lbl_1_bss_60 = 5; - object->func = fn_1_18C0; - } + Vec sp30; + Vec sp24; + Vec sp18; + Vec spC; + float temp_f29; + if(lbl_1_bss_10 < 0) { + lbl_1_bss_10 = HuAudFXPlay(1360); + } + sp30.x = 0; + sp30.y = 50; + sp30.z = 230; + temp_f29 = atan2d(lbl_1_bss_54-sp30.y, sp30.z); + if(temp_f29 < 0.0f) { + temp_f29 += 360.0f; + } + Center.x = 0; + Center.y = lbl_1_bss_54; + Center.z = 0; + CRot.x = temp_f29; + CZoom = sqrtf((sp30.z*sp30.z)+((lbl_1_bss_54-sp30.y)*(lbl_1_bss_54-sp30.y))); + spC.x = 0; + spC.z = 0; + sp24.x = 200; + sp24.z = 200; + sp24.y = 800; + spC.y = 20; + sp18.x = sp18.y = 0; + sp18.z = 1; + Hu3DShadowPosSet(&sp24, &sp18, &spC); + Hu3DShadowTPLvlSet(0.5f); + lbl_1_bss_54 += lbl_1_bss_50*(1.0f/60.0f); + if(lbl_1_bss_54 <= 0.0f) { + lbl_1_bss_54 = 0; + lbl_1_bss_60 = 5; + object->func = fn_1_18C0; + } } void fn_1_148C(omObjData *object); void fn_1_12A0(omObjData *object) { - if (lbl_1_bss_54 > (-lbl_1_bss_50 * 0.8f)) { - Center.y = lbl_1_bss_54; - lbl_1_bss_50 = -400; - lbl_1_bss_54 += lbl_1_bss_50 * (1.0f / 60.0f); - } - if (MGSeqStatGet(lbl_1_bss_20)) { - return; - } - switch (fn_1_CE68()) { - case 0: - OSReport("Map 0\n"); - case 1: - OSReport("Map 1\n"); - if (lbl_1_bss_40 == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - lbl_1_bss_44 = 1; - } - object->func = fn_1_148C; - break; - - case 2: - OSReport("Map 2\n"); - case 3: - OSReport("Map 3\n"); - break; - - case 4: - OSReport("Map 4\n"); - if (lbl_1_bss_40 == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - lbl_1_bss_44 = 1; - } - object->func = fn_1_148C; - break; - } + if(lbl_1_bss_54 > (-lbl_1_bss_50*0.8f)) { + Center.y = lbl_1_bss_54; + lbl_1_bss_50 = -400; + lbl_1_bss_54 += lbl_1_bss_50*(1.0f/60.0f); + } + if(MGSeqStatGet(lbl_1_bss_20)) { + return; + } + switch(fn_1_CE68()) { + case 0: + OSReport("Map 0\n"); + case 1: + OSReport("Map 1\n"); + if(lbl_1_bss_40 == 0) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + lbl_1_bss_44 = 1; + } + object->func = fn_1_148C; + break; + + case 2: + OSReport("Map 2\n"); + case 3: + OSReport("Map 3\n"); + break; + + case 4: + OSReport("Map 4\n"); + if(lbl_1_bss_40 == 0) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + lbl_1_bss_44 = 1; + } + object->func = fn_1_148C; + break; + } } void fn_1_148C(omObjData *object) { - Vec sp30; - Vec sp24; - Vec sp18; - Vec spC; - float temp_f29; - if (!WipeStatGet()) { - lbl_1_bss_54 = 0; - sp30.x = 0; - sp30.y = 50; - sp30.z = 230; - temp_f29 = atan2d(lbl_1_bss_54 - sp30.y, sp30.z); - if (temp_f29 < 0.0f) { - temp_f29 += 360.0f; - } - Center.x = 0; - Center.y = lbl_1_bss_54; - Center.z = 0; - CRot.x = temp_f29; - CZoom = sqrtf((sp30.z * sp30.z) + ((lbl_1_bss_54 - sp30.y) * (lbl_1_bss_54 - sp30.y))); - spC.x = 0; - spC.z = 0; - sp24.x = 200; - sp24.z = 200; - sp24.y = 800; - spC.y = 20; - sp18.x = sp18.y = 0; - sp18.z = 1; - Hu3DShadowPosSet(&sp24, &sp18, &spC); - Hu3DShadowTPLvlSet(0.5f); - fn_1_CEEC(); - if (lbl_1_bss_10 < 0) { - lbl_1_bss_10 = HuAudFXPlay(1360); - } - if (lbl_1_bss_40 == 0) { - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - lbl_1_bss_44 = 0; - } - lbl_1_bss_60 = 5; - object->func = fn_1_18C0; - } - else { - if (lbl_1_bss_54 > (-lbl_1_bss_50 * 0.8f)) { - Center.y = lbl_1_bss_54; - lbl_1_bss_50 = -400; - lbl_1_bss_54 += lbl_1_bss_50 * (1.0f / 60.0f); - } - } + Vec sp30; + Vec sp24; + Vec sp18; + Vec spC; + float temp_f29; + if(!WipeStatGet()) { + lbl_1_bss_54 = 0; + sp30.x = 0; + sp30.y = 50; + sp30.z = 230; + temp_f29 = atan2d(lbl_1_bss_54-sp30.y, sp30.z); + if(temp_f29 < 0.0f) { + temp_f29 += 360.0f; + } + Center.x = 0; + Center.y = lbl_1_bss_54; + Center.z = 0; + CRot.x = temp_f29; + CZoom = sqrtf((sp30.z*sp30.z)+((lbl_1_bss_54-sp30.y)*(lbl_1_bss_54-sp30.y))); + spC.x = 0; + spC.z = 0; + sp24.x = 200; + sp24.z = 200; + sp24.y = 800; + spC.y = 20; + sp18.x = sp18.y = 0; + sp18.z = 1; + Hu3DShadowPosSet(&sp24, &sp18, &spC); + Hu3DShadowTPLvlSet(0.5f); + fn_1_CEEC(); + if(lbl_1_bss_10 < 0) { + lbl_1_bss_10 = HuAudFXPlay(1360); + } + if(lbl_1_bss_40 == 0) { + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); + lbl_1_bss_44 = 0; + } + lbl_1_bss_60 = 5; + object->func = fn_1_18C0; + } else { + if(lbl_1_bss_54 > (-lbl_1_bss_50*0.8f)) { + Center.y = lbl_1_bss_54; + lbl_1_bss_50 = -400; + lbl_1_bss_54 += lbl_1_bss_50*(1.0f/60.0f); + } + } } void fn_1_18C0(omObjData *object) { - if (!WipeStatGet() && lbl_1_bss_14 < 0) { - if (lbl_1_bss_C) { - lbl_1_bss_14 = HuAudSStreamPlay(1); - } - else { - lbl_1_bss_14 = HuAudSStreamPlay(4); - } - } + if(!WipeStatGet() && lbl_1_bss_14 < 0) { + if(lbl_1_bss_C) { + lbl_1_bss_14 = HuAudSStreamPlay(1); + } else { + lbl_1_bss_14 = HuAudSStreamPlay(4); + } + } } -float lbl_1_data_A0[] = { 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 }; +float lbl_1_data_A0[] = { + 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7 +}; + void fn_1_1940(Work2FAC *arg0, Vec *arg1) { - Mtx sp18; - Vec spC; - spC.x = sind(arg0->unk58.x + 90.0f); - spC.y = 0; - spC.z = cosd(arg0->unk58.x + 90.0f); - MTXRotAxisDeg(sp18, &spC, arg0->unk58.y); - spC.x = spC.z = 0; - spC.y = -lbl_1_data_A0[arg0->unk2]; - MTXMultVec(sp18, &spC, arg1); + Mtx sp18; + Vec spC; + spC.x = sind(arg0->unk58.x+90.0f); + spC.y = 0; + spC.z = cosd(arg0->unk58.x+90.0f); + MTXRotAxisDeg(sp18, &spC, arg0->unk58.y); + spC.x = spC.z = 0; + spC.y = -lbl_1_data_A0[arg0->unk2]; + MTXMultVec(sp18, &spC, arg1); } void fn_1_1A60(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3) { - Mtx spC; - mtxRot(spC, arg1->x, arg1->y, arg1->z); - MTXMultVec(spC, arg2, arg3); - arg3->x += arg0->x; - arg3->y += arg0->y; - arg3->z += arg0->z; + Mtx spC; + mtxRot(spC, arg1->x, arg1->y, arg1->z); + MTXMultVec(spC, arg2, arg3); + arg3->x += arg0->x; + arg3->y += arg0->y; + arg3->z += arg0->z; } void fn_1_1AF8(Work2FAC *arg0, s32 arg1, Vec *arg2) { - float temp_f31; - float temp_f30; - temp_f30 = temp_f31 = 0; - arg2->x = (temp_f31 * sind(temp_f30)) + arg0->unk1C.x; - arg2->y = 15.0f + arg0->unk1C.y + temp_f31; - arg2->z = (temp_f31 * cosd(temp_f30)) + arg0->unk1C.z; + float temp_f31; + float temp_f30; + temp_f30 = temp_f31 = 0; + arg2->x = (temp_f31*sind(temp_f30))+arg0->unk1C.x; + arg2->y = 15.0f+arg0->unk1C.y+temp_f31; + arg2->z = (temp_f31*cosd(temp_f30))+arg0->unk1C.z; } void fn_1_1BE8(omObjData *arg0, float arg1) { - Vec sp8; - Work2FAC *temp_r31 = arg0->data; - float temp_f31 = 1.0f - arg1; - float temp_f29; - if (!temp_r31->unk8) { - return; - } - fn_1_1AF8(temp_r31, 1, &sp8); - if (fn_1_6878() >= 4) { - sp8.z += -5.0f; - } - temp_r31->unk94.x = (temp_r31->unk94.x * temp_f31) + (sp8.x * arg1); - temp_r31->unk94.y = (temp_r31->unk94.y * temp_f31) + (sp8.y * arg1); - temp_r31->unk94.z = (temp_r31->unk94.z * temp_f31) + (sp8.z * arg1); - temp_f29 = (0.1f * ((temp_r31->unk8 * 0.5f) + 0.5f)) * arg1; - temp_r31->unkA0.x = temp_r31->unkC * (temp_f29 + (temp_r31->unkA0.x * temp_f31)); - temp_r31->unkA0.y = temp_r31->unkC * (temp_f29 + (temp_r31->unkA0.y * temp_f31)); - temp_r31->unkA0.z = temp_r31->unkC * (temp_f29 + (temp_r31->unkA0.z * temp_f31)); - Hu3DModelPosSetV(arg0->model[1], &temp_r31->unk94); - Hu3DModelScaleSetV(arg0->model[1], &temp_r31->unkA0); + Vec sp8; + Work2FAC *temp_r31 = arg0->data; + float temp_f31 = 1.0f-arg1; + float temp_f29; + if(!temp_r31->unk8) { + return; + } + fn_1_1AF8(temp_r31, 1, &sp8); + if(fn_1_6878() >= 4) { + sp8.z += -5.0f; + } + temp_r31->unk94.x = (temp_r31->unk94.x*temp_f31)+(sp8.x*arg1); + temp_r31->unk94.y = (temp_r31->unk94.y*temp_f31)+(sp8.y*arg1); + temp_r31->unk94.z = (temp_r31->unk94.z*temp_f31)+(sp8.z*arg1); + temp_f29 = (0.1f*((temp_r31->unk8*0.5f)+0.5f))*arg1; + temp_r31->unkA0.x = temp_r31->unkC*(temp_f29+(temp_r31->unkA0.x*temp_f31)); + temp_r31->unkA0.y = temp_r31->unkC*(temp_f29+(temp_r31->unkA0.y*temp_f31)); + temp_r31->unkA0.z = temp_r31->unkC*(temp_f29+(temp_r31->unkA0.z*temp_f31)); + Hu3DModelPosSetV(arg0->model[1], &temp_r31->unk94); + Hu3DModelScaleSetV(arg0->model[1], &temp_r31->unkA0); } void fn_1_1E54(omObjData *object) { - Work2FAC *work = object->data; - if (work->unk8) { - work->unk94.y += 0.5f; - Hu3DModelPosSetV(object->model[1], &work->unk94); - } + Work2FAC *work = object->data; + if(work->unk8) { + work->unk94.y += 0.5f; + Hu3DModelPosSetV(object->model[1], &work->unk94); + } } s32 fn_1_1EBC(omObjData *object) { - float temp_f31; - float temp_f22; - float temp_f21; - Vec sp3C; - Vec sp30; - Vec sp24; - - Work2FAC *temp_r31 = object->data; - temp_f31 = (temp_r31->unk1C.x * temp_r31->unk1C.x) + ((10.0f / 7.0f) * ((10.0f / 7.0f) * temp_r31->unk1C.z * temp_r31->unk1C.z)); - if (temp_f31 > 6400) { - temp_f22 = 80.0f / sqrtf(temp_f31); - sp3C.x = temp_r31->unk1C.x * temp_f22; - sp3C.z = temp_r31->unk1C.z * temp_f22; - temp_r31->unk34.x = sp3C.x - temp_r31->unk1C.x; - temp_r31->unk34.z = sp3C.z - temp_r31->unk1C.z; - temp_f21 = 80.0f * sqrtf(0.51f); - sp30.x = temp_f21 - sp3C.x; - sp30.z = -sp3C.z; - sp24.x = -temp_f21 - sp3C.x; - sp24.z = -sp3C.z; - temp_f31 = 1.0f / VECMagXZ(&sp30); - sp30.x *= temp_f31; - sp30.z *= temp_f31; - temp_f31 = 1.0f / VECMagXZ(&sp24); - sp24.x *= temp_f31; - sp24.z *= temp_f31; - sp30.x += sp24.x; - sp30.z += sp24.z; - temp_f31 = 1.0f / VECMagXZ(&sp30); - sp30.x *= temp_f31; - sp30.z *= temp_f31; - temp_f22 = -((sp30.x * temp_r31->unk28.x) + (sp30.z * temp_r31->unk28.z)); - temp_r31->unk28.x += (sp30.x * 20.0f) + (sp30.x * 2.0f * temp_f22); - temp_r31->unk28.z += (sp30.z * 20.0f) + (sp30.z * 2.0f * temp_f22); - return 1; - } - else { - return 0; - } + float temp_f31; + float temp_f22; + float temp_f21; + Vec sp3C; + Vec sp30; + Vec sp24; + + Work2FAC *temp_r31 = object->data; + temp_f31 = (temp_r31->unk1C.x*temp_r31->unk1C.x)+((10.0f/7.0f)*((10.0f/7.0f)*temp_r31->unk1C.z*temp_r31->unk1C.z)); + if(temp_f31 > 6400) { + temp_f22 = 80.0f/sqrtf(temp_f31); + sp3C.x = temp_r31->unk1C.x*temp_f22; + sp3C.z = temp_r31->unk1C.z*temp_f22; + temp_r31->unk34.x = sp3C.x-temp_r31->unk1C.x; + temp_r31->unk34.z = sp3C.z-temp_r31->unk1C.z; + temp_f21 = 80.0f*sqrtf(0.51f); + sp30.x = temp_f21-sp3C.x; + sp30.z = -sp3C.z; + sp24.x = -temp_f21-sp3C.x; + sp24.z = -sp3C.z; + temp_f31 = 1.0f/VECMagXZ(&sp30); + sp30.x *= temp_f31; + sp30.z *= temp_f31; + temp_f31 = 1.0f/VECMagXZ(&sp24); + sp24.x *= temp_f31; + sp24.z *= temp_f31; + sp30.x += sp24.x; + sp30.z += sp24.z; + temp_f31 = 1.0f/VECMagXZ(&sp30); + sp30.x *= temp_f31; + sp30.z *= temp_f31; + temp_f22 = -((sp30.x*temp_r31->unk28.x)+(sp30.z*temp_r31->unk28.z)); + temp_r31->unk28.x += (sp30.x*20.0f)+(sp30.x*2.0f*temp_f22); + temp_r31->unk28.z += (sp30.z*20.0f)+(sp30.z*2.0f*temp_f22); + return 1; + } else { + return 0; + } } void fn_1_26E4(omObjData *object); @@ -561,112 +564,122 @@ void fn_1_61FC(omObjData *object); void fn_1_25D4(Process *objman) { - s32 i; - omMakeGroupEx(objman, 0, 4); - lbl_1_bss_6C = omGetGroupMemberListEx(objman, 0); - lbl_1_bss_58 = 0; - for (i = 0; i < 4; i++) { - omObjData *object = omAddObjEx(objman, 40, 5, 7, 0, fn_1_26E4); - if (!GWPlayerCfg[i].iscom) { - lbl_1_bss_58++; - } - object->work[0] = i; - } - lbl_1_bss_8 = omAddObjEx(objman, 10, 0, 0, -1, fn_1_61FC); + s32 i; + omMakeGroupEx(objman, 0, 4); + lbl_1_bss_6C = omGetGroupMemberListEx(objman, 0); + lbl_1_bss_58 = 0; + for(i=0; i<4; i++) { + omObjData *object = omAddObjEx(objman, 40, 5, 7, 0, fn_1_26E4); + if(!GWPlayerCfg[i].iscom) { + lbl_1_bss_58++; + } + object->work[0] = i; + } + lbl_1_bss_8 = omAddObjEx(objman, 10, 0, 0, -1, fn_1_61FC); + } s32 lbl_1_data_C8[] = { - DATA_MAKE_NUM(DATADIR_M408, 0x02), - DATA_MAKE_NUM(DATADIR_M408, 0x03), - DATA_MAKE_NUM(DATADIR_M408, 0x04), - DATA_MAKE_NUM(DATADIR_M408, 0x05), - DATA_MAKE_NUM(DATADIR_M408, 0x06), - DATA_MAKE_NUM(DATADIR_M408, 0x07), - DATA_MAKE_NUM(DATADIR_M408, 0x08), - DATA_MAKE_NUM(DATADIR_M408, 0x09), + 0x270002, + 0x270003, + 0x270004, + 0x270005, + 0x270006, + 0x270007, + 0x270008, + 0x270009, }; u32 lbl_1_data_E8[] = { - 0, - 23, - 24, - DATA_MAKE_NUM(DATADIR_M408, 0x2C), - DATA_MAKE_NUM(DATADIR_M408, 0x3C), - DATA_MAKE_NUM(DATADIR_M408, 0x34), - 22, + 0, + 23, + 24, + 0x27002C, + 0x27003C, + 0x270034, + 22 }; -float lbl_1_data_104[][2] = { -40, -30, 40, -30, -40, 30, 40, 30 }; +float lbl_1_data_104[][2] = { + -40, -30, + 40, -30, + -40, 30, + 40, 30 +}; -float lbl_1_data_124[][2] = { 0, -56, 0, 56, -80, 0, 80, 0 }; +float lbl_1_data_124[][2] = { + 0, -56, + 0, 56, + -80, 0, + 80, 0 +}; void fn_1_2FAC(omObjData *object); void fn_1_5AB4(ModelData *model, ParticleData *particle, Mtx matrix); void fn_1_26E4(omObjData *object) { - Work2FAC *temp_r31; - s32 temp_r28; - s32 temp_r27; - - float sp20[4] = { 0.25, 0.5, 0.75, 1.0 }; - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work2FAC), MEMORY_DEFAULT_NUM); - temp_r31 = object->data; - memset(temp_r31, 0, sizeof(Work2FAC)); - temp_r31->unk0 = object->work[0]; - temp_r31->unk2 = GWPlayerCfg[temp_r31->unk0].character; - temp_r31->unk2 &= 0x7; - temp_r31->unk4 = 0; - temp_r31->unk90 = sp20[GWPlayerCfg[object->work[0]].diff & 0x3]; - temp_r31->unk1C.x = lbl_1_data_104[temp_r31->unk0][0]; - temp_r31->unk1C.y = lbl_1_bss_54; - temp_r31->unk1C.z = lbl_1_data_104[temp_r31->unk0][1]; - temp_r31->unk28.x = temp_r31->unk28.y = temp_r31->unk28.z = 0; - temp_r31->unk34.x = temp_r31->unk34.y = temp_r31->unk34.z = 0; - temp_r31->unk58.y = 0; - temp_r31->unk58.x = 0; - temp_r31->unk4C.x = temp_r31->unk4C.y = temp_r31->unk4C.z = 0; - temp_r31->unk58.z = 9.0f; - temp_r31->unk40.x = temp_r31->unk40.y = temp_r31->unk40.z = 0; - temp_r31->unk8 = 4; - temp_r31->unkC = 0; - fn_1_1940(temp_r31, &temp_r31->unk68); - omSetTra(object, temp_r31->unk1C.x + temp_r31->unk68.x, temp_r31->unk1C.y + temp_r31->unk68.y, temp_r31->unk1C.z + temp_r31->unk68.z); - omSetSca(object, 0.075f, 0.075f, 0.075f); - object->model[0] = CharModelCreate(temp_r31->unk2, 4); - for (temp_r28 = 0; temp_r28 < 7; temp_r28++) { - if (lbl_1_data_E8[temp_r28] < 0x10000) { - object->motion[temp_r28] = CharModelMotionCreate(temp_r31->unk2, lbl_1_data_E8[temp_r28]); - } - else { - object->motion[temp_r28] = Hu3DJointMotionFile(object->model[0], temp_r31->unk2 + lbl_1_data_E8[temp_r28]); - } - } - CharModelVoiceEnableSet(temp_r31->unk2, object->motion[1], 0); - CharModelMotionShiftSet(temp_r31->unk2, object->motion[0], 0, 0.2, HU3D_MOTATTR_LOOP); - CharModelLayerSetAll(2); - CharModelMotionDataClose(temp_r31->unk2); - object->model[1] = Hu3DModelCreateFile(lbl_1_data_C8[temp_r31->unk2]); - Hu3DModelLayerSet(object->model[1], 6); - Hu3DModelScaleSet(object->model[1], 0.1f * temp_r31->unk8, 0.1f * temp_r31->unk8, 0.1f * temp_r31->unk8); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - temp_r31->unk94.x = temp_r31->unk94.y = temp_r31->unk94.z = 0; - temp_r31->unkA0.x = temp_r31->unkA0.y = temp_r31->unkA0.z = 0; - fn_1_1BE8(object, 1.0f); - temp_r27 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M408, 0x24)), 256); - object->model[2] = temp_r27; - Hu3DModelLayerSet(temp_r27, 6); - Hu3DParticleColSet(temp_r27, 255, 255, 255); - Hu3DParticleHookSet(temp_r27, fn_1_5AB4); - Hu3DModelPosSet(temp_r27, 0, 0, 0); - ((ParticleData *)Hu3DData[temp_r27].unk_120)->unk_00 = 0; - temp_r31->unk74 = temp_r31->unk78 = 0; - temp_r31->unk7C[0] = temp_r31->unk7C[1] = 0; - temp_r31->unk8C = -1; - temp_r31->unk8E = 0; - temp_r31->unk84[0] = temp_r31->unk84[1] = 0; - object->work[1] = 0; - object->func = fn_1_2FAC; + Work2FAC *temp_r31; + s32 temp_r28; + s32 temp_r27; + + float sp20[4] = { 0.25, 0.5, 0.75, 1.0 }; + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work2FAC), MEMORY_DEFAULT_NUM); + temp_r31 = object->data; + memset(temp_r31, 0, sizeof(Work2FAC)); + temp_r31->unk0 = object->work[0]; + temp_r31->unk2 = GWPlayerCfg[temp_r31->unk0].character; + temp_r31->unk2 &= 0x7; + temp_r31->unk4 = 0; + temp_r31->unk90 = sp20[GWPlayerCfg[object->work[0]].diff & 0x3]; + temp_r31->unk1C.x = lbl_1_data_104[temp_r31->unk0][0]; + temp_r31->unk1C.y = lbl_1_bss_54; + temp_r31->unk1C.z = lbl_1_data_104[temp_r31->unk0][1]; + temp_r31->unk28.x = temp_r31->unk28.y = temp_r31->unk28.z = 0; + temp_r31->unk34.x = temp_r31->unk34.y = temp_r31->unk34.z = 0; + temp_r31->unk58.y = 0; + temp_r31->unk58.x = 0; + temp_r31->unk4C.x = temp_r31->unk4C.y = temp_r31->unk4C.z = 0; + temp_r31->unk58.z = 9.0f; + temp_r31->unk40.x = temp_r31->unk40.y = temp_r31->unk40.z = 0; + temp_r31->unk8 = 4; + temp_r31->unkC = 0; + fn_1_1940(temp_r31, &temp_r31->unk68); + omSetTra(object, temp_r31->unk1C.x+temp_r31->unk68.x, temp_r31->unk1C.y+temp_r31->unk68.y, temp_r31->unk1C.z+temp_r31->unk68.z); + omSetSca(object, 0.075f, 0.075f, 0.075f); + object->model[0] = CharModelCreate(temp_r31->unk2, 4); + for(temp_r28=0; temp_r28<7; temp_r28++) { + if(lbl_1_data_E8[temp_r28] < 0x10000) { + object->motion[temp_r28] = CharModelMotionCreate(temp_r31->unk2, lbl_1_data_E8[temp_r28]); + } else { + object->motion[temp_r28] = Hu3DJointMotionFile(object->model[0], temp_r31->unk2+lbl_1_data_E8[temp_r28]); + } + } + CharModelVoiceEnableSet(temp_r31->unk2, object->motion[1], 0); + CharModelMotionShiftSet(temp_r31->unk2, object->motion[0], 0, 0.2, 0x40000001); + CharModelLayerSetAll(2); + CharModelMotionDataClose(temp_r31->unk2); + object->model[1] = Hu3DModelCreateFile(lbl_1_data_C8[temp_r31->unk2]); + Hu3DModelLayerSet(object->model[1], 6); + Hu3DModelScaleSet(object->model[1], 0.1f*temp_r31->unk8, 0.1f*temp_r31->unk8, 0.1f*temp_r31->unk8); + Hu3DModelAttrSet(object->model[1], 1); + temp_r31->unk94.x = temp_r31->unk94.y = temp_r31->unk94.z = 0; + temp_r31->unkA0.x = temp_r31->unkA0.y = temp_r31->unkA0.z = 0; + fn_1_1BE8(object, 1.0f); + temp_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x270024), 256); + object->model[2] = temp_r27; + Hu3DModelLayerSet(temp_r27, 6); + Hu3DParticleColSet(temp_r27, 255, 255, 255); + Hu3DParticleHookSet(temp_r27, fn_1_5AB4); + Hu3DModelPosSet(temp_r27, 0, 0, 0); + ((ParticleData *)Hu3DData[temp_r27].unk_120)->unk_00 = 0; + temp_r31->unk74 = temp_r31->unk78 = 0; + temp_r31->unk7C[0] = temp_r31->unk7C[1] = 0; + temp_r31->unk8C = -1; + temp_r31->unk8E = 0; + temp_r31->unk84[0] = temp_r31->unk84[1] = 0; + object->work[1] = 0; + object->func = fn_1_2FAC; } void fn_1_5DCC(s32 arg0, Vec *arg1, u32 arg2); @@ -674,172 +687,181 @@ void fn_1_3E80(omObjData *object); void fn_1_2FAC(omObjData *object) { - Work2FAC *temp_r31 = object->data; - Vec sp78[] = { { 8, -25, -18 }, { 2, -25, -10 }, { 2, -25, -24 }, { -3, -25, -15 } }; - Vec sp3C; - Vec sp30; - Vec sp24; - float sp14[] = { 45, 135, 225, 315 }; - float temp_f27; - switch (object->work[1]) { - case 0: - fn_1_C3C0(&sp3C, &sp30); - fn_1_1A60(&sp3C, &sp30, &sp78[temp_r31->unk0], &sp24); - omSetRot(object, 0, 90, 0); - omSetTra(object, sp24.x, sp24.y, sp24.z); - if (fn_1_C43C() != 1) { - object->work[1]++; - temp_r31->unk58.y = 60; - temp_r31->unk58.x = sp14[temp_r31->unk0]; - temp_r31->unk28.x = temp_r31->unk28.y = temp_r31->unk28.z = 0; - object->trans.x -= 10.0 * (2.0 * sind(temp_r31->unk58.x)); - object->trans.z -= 10.0 * (2.0 * cosd(temp_r31->unk58.x)); - CharModelMotionShiftSet(temp_r31->unk2, object->motion[4], 0, 0.2, HU3D_MOTATTR_LOOP); - temp_r31->unk1C.x = temp_r31->unk94.x = object->trans.x; - temp_r31->unk1C.y = temp_r31->unk94.y = object->trans.y; - temp_r31->unk1C.z = temp_r31->unk94.z = object->trans.z; - } - break; - - case 1: - temp_r31->unk28.y += -98.0f; - if (temp_r31->unk28.y < -400.0f) { - temp_r31->unk28.y = -400.0f; - } - temp_f27 = object->trans.y; - object->trans.y += temp_r31->unk28.y * (1.0f / 60.0f); - temp_r31->unk58.x += 1.5000001f; - if (temp_r31->unk58.x >= 360.0f) { - temp_r31->unk58.x -= 360.0f; - } - object->trans.x += (3.141590118408203f * (10.0 * sind(temp_r31->unk58.x - 90.0f))) * (1.0f / 60.0f); - object->trans.z += (3.141590118408203f * (10.0 * cosd(temp_r31->unk58.x - 90.0f))) * (1.0f / 60.0f); - if (temp_f27 > 12000 && object->trans.y <= 12000) { - sp3C.x = object->trans.x; - sp3C.y = object->trans.y; - sp3C.z = object->trans.z; - fn_1_5DCC(object->model[2], &sp3C, 100); - } - temp_r31->unk4C.x = temp_r31->unk58.y; - temp_r31->unk4C.y = temp_r31->unk58.x; - temp_r31->unk4C.z = 0; - temp_r31->unk1C.x = object->trans.x; - temp_r31->unk1C.y = object->trans.y; - temp_r31->unk1C.z = object->trans.z; - omSetRot(object, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z); - Hu3DModelAttrReset(object->model[1], HU3D_ATTR_DISPOFF); - temp_r31->unkC += 0.2f * (1.0f - temp_r31->unkC); - if (object->trans.y < 11940) { - object->work[1]++; - } - break; - } - fn_1_1BE8(object, 1.0f); - if (fn_1_6878() == 1) { - omSetSca(object, 0.15f, 0.15f, 0.15f); - object->trans.x = temp_r31->unk1C.x = temp_r31->unk94.x = lbl_1_data_104[temp_r31->unk0][0]; - object->trans.y = temp_r31->unk1C.y = temp_r31->unk94.y = lbl_1_bss_54; - object->trans.z = temp_r31->unk1C.z = temp_r31->unk94.z = lbl_1_data_104[temp_r31->unk0][1]; - object->rot.y = temp_r31->unk58.x = atan2d(object->trans.x, object->trans.z) + 180.0; - Hu3DModelAttrReset(object->model[1], HU3D_ATTR_DISPOFF); - ((ParticleData *)Hu3DData[object->model[2]].unk_120)->unk_00 = 0; - object->func = fn_1_3E80; - } + Work2FAC *temp_r31 = object->data; + Vec sp78[] = { + { 8, -25, -18 }, + { 2, -25, -10 }, + { 2, -25, -24 }, + { -3, -25, -15} + }; + Vec sp3C; + Vec sp30; + Vec sp24; + float sp14[] = { + 45, + 135, + 225, + 315 + }; + float temp_f27; + switch(object->work[1]) { + case 0: + fn_1_C3C0(&sp3C, &sp30); + fn_1_1A60(&sp3C, &sp30, &sp78[temp_r31->unk0], &sp24); + omSetRot(object, 0, 90, 0); + omSetTra(object, sp24.x, sp24.y, sp24.z); + if(fn_1_C43C() != 1) { + object->work[1]++; + temp_r31->unk58.y = 60; + temp_r31->unk58.x = sp14[temp_r31->unk0]; + temp_r31->unk28.x = temp_r31->unk28.y = temp_r31->unk28.z = 0; + object->trans.x -= 10.0*(2.0*sind(temp_r31->unk58.x)); + object->trans.z -= 10.0*(2.0*cosd(temp_r31->unk58.x)); + CharModelMotionShiftSet(temp_r31->unk2, object->motion[4], 0, 0.2, 0x40000001); + temp_r31->unk1C.x = temp_r31->unk94.x = object->trans.x; + temp_r31->unk1C.y = temp_r31->unk94.y = object->trans.y; + temp_r31->unk1C.z = temp_r31->unk94.z = object->trans.z; + } + break; + + case 1: + temp_r31->unk28.y += -98.0f; + if(temp_r31->unk28.y < -400.0f) { + temp_r31->unk28.y = -400.0f; + } + temp_f27 = object->trans.y; + object->trans.y += temp_r31->unk28.y*(1.0f/60.0f); + temp_r31->unk58.x += 1.5000001f; + if(temp_r31->unk58.x >= 360.0f) { + temp_r31->unk58.x -= 360.0f; + } + object->trans.x += (3.141590118408203f*(10.0*sind(temp_r31->unk58.x-90.0f)))*(1.0f/60.0f); + object->trans.z += (3.141590118408203f*(10.0*cosd(temp_r31->unk58.x-90.0f)))*(1.0f/60.0f); + if(temp_f27 > 12000 && object->trans.y <= 12000){ + sp3C.x = object->trans.x; + sp3C.y = object->trans.y; + sp3C.z = object->trans.z; + fn_1_5DCC(object->model[2], &sp3C, 100); + } + temp_r31->unk4C.x = temp_r31->unk58.y; + temp_r31->unk4C.y = temp_r31->unk58.x; + temp_r31->unk4C.z = 0; + temp_r31->unk1C.x = object->trans.x; + temp_r31->unk1C.y = object->trans.y; + temp_r31->unk1C.z = object->trans.z; + omSetRot(object, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z); + Hu3DModelAttrReset(object->model[1], 0x1); + temp_r31->unkC += 0.2f*(1.0f-temp_r31->unkC); + if(object->trans.y < 11940) { + object->work[1]++; + } + break; + } + fn_1_1BE8(object, 1.0f); + if(fn_1_6878() == 1) { + omSetSca(object, 0.15f, 0.15f, 0.15f); + object->trans.x = temp_r31->unk1C.x = temp_r31->unk94.x = lbl_1_data_104[temp_r31->unk0][0]; + object->trans.y = temp_r31->unk1C.y = temp_r31->unk94.y = lbl_1_bss_54; + object->trans.z = temp_r31->unk1C.z = temp_r31->unk94.z = lbl_1_data_104[temp_r31->unk0][1]; + object->rot.y = temp_r31->unk58.x = atan2d(object->trans.x, object->trans.z)+180.0; + Hu3DModelAttrReset(object->model[1], 1); + ((ParticleData *)Hu3DData[object->model[2]].unk_120)->unk_00 = 0; + object->func = fn_1_3E80; + } } void fn_1_38D0(omObjData *arg0, s8 *arg1, s8 *arg2) { - float temp_f31; - float temp_f30; - float temp_f29; - Work2FAC *temp_r31; - Work2FAC *temp_r30; - s8 temp_r29; - s32 temp_r28; - s32 temp_r25; - Vec sp18; - Vec spC; - s8 sp8[4]; + float temp_f31; + float temp_f30; + float temp_f29; + Work2FAC *temp_r31; + Work2FAC *temp_r30; + s8 temp_r29; + s32 temp_r28; + s32 temp_r25; + Vec sp18; + Vec spC; + s8 sp8[4]; - temp_r31 = arg0->data; - *arg1 = temp_r31->unk7C[0]; - *arg2 = temp_r31->unk7C[1]; - sp18.x = temp_r31->unk1C.x; - sp18.y = temp_r31->unk1C.y; - sp18.z = temp_r31->unk1C.z; - temp_r25 = fn_1_162CC(&sp18, &spC); - temp_r29 = 0; - sp8[0] = -1; - for (temp_r28 = 0; temp_r28 < 4; temp_r28++) { - if (temp_r28 != temp_r31->unk0) { - temp_r30 = fn_1_68A8(temp_r28); - if ((temp_r30->unk4 & 0x12) == 0) { - sp8[temp_r29++] = temp_r28; - } - } - } - switch (temp_r31->unk8E) { - case 0: - if (temp_r29 > 0 || temp_r25) { - if (temp_r29 > 0) { - temp_r31->unk8C = sp8[frandmod(temp_r29)]; - } - temp_r31->unk74 = frandmod(180) + 120.0f; - temp_r31->unk78 = 0; - temp_r31->unk8E = 1; - } - else { - temp_r31->unk78 = 0; - temp_r31->unk8E = 2; - } - break; + temp_r31 = arg0->data; + *arg1 = temp_r31->unk7C[0]; + *arg2 = temp_r31->unk7C[1]; + sp18.x = temp_r31->unk1C.x; + sp18.y = temp_r31->unk1C.y; + sp18.z = temp_r31->unk1C.z; + temp_r25 = fn_1_162CC(&sp18, &spC); + temp_r29 = 0; + sp8[0] = -1; + for(temp_r28=0; temp_r28<4; temp_r28++) { + if(temp_r28 != temp_r31->unk0) { + temp_r30 = fn_1_68A8(temp_r28); + if((temp_r30->unk4 & 0x12) == 0) { + sp8[temp_r29++] = temp_r28; + } + } + } + switch(temp_r31->unk8E) { + case 0: + if(temp_r29 > 0 || temp_r25) { + if(temp_r29 > 0) { + temp_r31->unk8C = sp8[frandmod(temp_r29)]; + } + temp_r31->unk74 = frandmod(180)+120.0f; + temp_r31->unk78 = 0; + temp_r31->unk8E = 1; + } else { + temp_r31->unk78 = 0; + temp_r31->unk8E = 2; + } + break; + + case 1: + if((temp_r31->unk78 & 0x3) == 0) { + if(temp_r25) { + temp_f31 = atan2d(spC.x-temp_r31->unk1C.x, spC.z-temp_r31->unk1C.z); + } else { + temp_r30 = fn_1_68A8(temp_r31->unk8C); + temp_f31 = atan2d(temp_r30->unk1C.x-temp_r31->unk1C.x, temp_r30->unk1C.z-temp_r31->unk1C.z); + } + temp_r31->unk84[1] = fn_1_883C(temp_r31->unk84[0], temp_f31, (0.3f*temp_r31->unk90)+0.15f); + } + temp_r31->unk78++; + temp_r31->unk84[0] = fn_1_883C(temp_r31->unk84[0], temp_r31->unk84[1], 0.2f); + temp_r31->unk7C[0] = sind(temp_r31->unk84[0])*80.0; + temp_r31->unk7C[1] = -cosd(temp_r31->unk84[0])*80.0; + *arg1 = temp_r31->unk7C[0]; + *arg2 = temp_r31->unk7C[1]; + temp_r31->unk74--; + if(temp_r25 == 0 && (temp_r30->unk4 & 0x12)) { + temp_r31->unk74 = 0; + } + if(temp_r31->unk74 == 0) { + temp_r31->unk8E = 0; + } + break; + + case 2: + if((temp_r31->unk78 & 0xF) == 0) { + temp_f30 = (0.04f*frandmod(1000))-20.0f; + temp_f29 = (0.04f*frandmod(1000))-20.0f; + temp_r31->unk84[1] = temp_f31 = atan2d(temp_f30-temp_r31->unk1C.x, temp_f29-temp_r31->unk1C.z); + } + temp_r31->unk78++; + temp_r31->unk84[0] = fn_1_883C(temp_r31->unk84[0], temp_r31->unk84[1], 0.2f); + temp_r31->unk7C[0] = sind(temp_r31->unk84[0])*80.0; + temp_r31->unk7C[1] = -cosd(temp_r31->unk84[0])*80.0; + *arg1 = temp_r31->unk7C[0]; + *arg2 = temp_r31->unk7C[1]; + if(temp_r29 > 0 || temp_r25) { + temp_r31->unk8E = 0; + } + break; + } - case 1: - if ((temp_r31->unk78 & 0x3) == 0) { - if (temp_r25) { - temp_f31 = atan2d(spC.x - temp_r31->unk1C.x, spC.z - temp_r31->unk1C.z); - } - else { - temp_r30 = fn_1_68A8(temp_r31->unk8C); - temp_f31 = atan2d(temp_r30->unk1C.x - temp_r31->unk1C.x, temp_r30->unk1C.z - temp_r31->unk1C.z); - } - temp_r31->unk84[1] = fn_1_883C(temp_r31->unk84[0], temp_f31, (0.3f * temp_r31->unk90) + 0.15f); - } - temp_r31->unk78++; - temp_r31->unk84[0] = fn_1_883C(temp_r31->unk84[0], temp_r31->unk84[1], 0.2f); - temp_r31->unk7C[0] = sind(temp_r31->unk84[0]) * 80.0; - temp_r31->unk7C[1] = -cosd(temp_r31->unk84[0]) * 80.0; - *arg1 = temp_r31->unk7C[0]; - *arg2 = temp_r31->unk7C[1]; - temp_r31->unk74--; - if (temp_r25 == 0 && (temp_r30->unk4 & 0x12)) { - temp_r31->unk74 = 0; - } - if (temp_r31->unk74 == 0) { - temp_r31->unk8E = 0; - } - break; - - case 2: - if ((temp_r31->unk78 & 0xF) == 0) { - temp_f30 = (0.04f * frandmod(1000)) - 20.0f; - temp_f29 = (0.04f * frandmod(1000)) - 20.0f; - temp_r31->unk84[1] = temp_f31 = atan2d(temp_f30 - temp_r31->unk1C.x, temp_f29 - temp_r31->unk1C.z); - } - temp_r31->unk78++; - temp_r31->unk84[0] = fn_1_883C(temp_r31->unk84[0], temp_r31->unk84[1], 0.2f); - temp_r31->unk7C[0] = sind(temp_r31->unk84[0]) * 80.0; - temp_r31->unk7C[1] = -cosd(temp_r31->unk84[0]) * 80.0; - *arg1 = temp_r31->unk7C[0]; - *arg2 = temp_r31->unk7C[1]; - if (temp_r29 > 0 || temp_r25) { - temp_r31->unk8E = 0; - } - break; - } } -#define CHECK_IDLE(pos) (((pos) < 0) ? -(pos) : ((pos) > 15)) +#define CHECK_IDLE(pos) (((pos) < 0) ? -(pos) : ((pos)>15)) void fn_1_4A58(omObjData *object); void fn_1_5098(omObjData *object); @@ -847,799 +869,815 @@ void fn_1_5684(omObjData *object); void fn_1_3E80(omObjData *object) { - Work2FAC *temp_r31; - s32 temp_r27; + Work2FAC *temp_r31; + s32 temp_r27; - float temp_f29; - float temp_f28; - float temp_f22; - float temp_f21; - float temp_f20; - s8 sp9; - s8 sp8; - - temp_r31 = object->data; - temp_r27 = GWPlayerCfg[temp_r31->unk0].pad_idx; - sp9 = sp8 = 0; - if (lbl_1_bss_60 == 3) { - if (!GWPlayerCfg[temp_r31->unk0].iscom) { - sp9 = HuPadStkX[temp_r27]; - sp8 = HuPadStkY[temp_r27]; - } - else { - fn_1_38D0(object, &sp9, &sp8); - } - } - temp_r31->unk1C.y = lbl_1_bss_54; - temp_f21 = temp_f20 = 0; - temp_f28 = temp_r31->unk58.x; - temp_f22 = -20; - if (CHECK_IDLE(sp9) || CHECK_IDLE(sp8)) { - temp_f28 = atan2d(sp9, -sp8); - if (temp_f28 < 0) { - temp_f28 += 360; - } - temp_f21 = 70 * sind(temp_f28); - temp_f20 = 70 * cosd(temp_f28); - temp_f22 = 30; - } - fn_1_1EBC(object); - temp_r31->unk28.x = ((28.0f / 30.0f) * temp_r31->unk28.x) + ((2.0f / 30.0f) * temp_f21); - temp_r31->unk28.z = ((28.0f / 30.0f) * temp_r31->unk28.z) + ((2.0f / 30.0f) * temp_f20); - temp_f29 = VECMagXZ(&temp_r31->unk28); - if (temp_f29 > 200.0f) { - temp_f29 = 200.0f / temp_f29; - temp_r31->unk28.x *= temp_f29; - temp_r31->unk28.z *= temp_f29; - } - temp_r31->unk34.x += (temp_r31->unk28.x * (1.0f / 60.0f)); - temp_r31->unk34.y = 0; - temp_r31->unk34.z += (temp_r31->unk28.z * (1.0f / 60.0f)); - temp_r31->unk58.x = temp_f28; - temp_r31->unk58.y = (0.9f * temp_r31->unk58.y) + (0.1f * temp_f22); - temp_r31->unk4C.x = temp_r31->unk58.y; - temp_r31->unk4C.y = fn_1_883C(temp_r31->unk4C.y, temp_r31->unk58.x, 0.2f); - temp_r31->unk4C.z = 0; - omSetRot(object, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z); - fn_1_1940(temp_r31, &temp_r31->unk68); - omSetTra(object, temp_r31->unk1C.x + temp_r31->unk68.x, temp_r31->unk1C.y + temp_r31->unk68.y, temp_r31->unk1C.z + temp_r31->unk68.z); - temp_r31->unkC += (1.0f - temp_r31->unkC) * 0.2f; - fn_1_1BE8(object, 0.3f); - if (temp_r31->unk4 & 0x1) { - temp_r31->unk8--; - temp_r31->unk10 = 0; - temp_r31->unk4 |= 2; - temp_f29 = VECMagXZ(&temp_r31->unk40); - if (temp_f29 > 0.0f) { - temp_f29 = 150.0f / temp_f29; - } - temp_r31->unk28.x = temp_r31->unk40.x * temp_f29; - temp_r31->unk28.z = temp_r31->unk40.z * temp_f29; - temp_r31->unk34.x = temp_r31->unk28.x * (1.0f / 60.0f); - temp_r31->unk34.z = temp_r31->unk28.z * (1.0f / 60.0f); - CharModelMotionShiftSet(temp_r31->unk2, object->motion[5], 0, 0.2f, HU3D_MOTATTR_NONE); - HuAudFXPlay(1358); - omVibrate(object->work[0], 12, 4, 2); - if (temp_r31->unk8) { - HuAudCharVoicePlay(temp_r31->unk2, 296); - object->func = fn_1_4A58; - } - else { - temp_r31->unk4 |= 0x30; - lbl_1_bss_4C--; - HuAudCharVoicePlay(temp_r31->unk2, 291); - object->func = fn_1_5684; - } - } - if (fn_1_6878() == 4 && (temp_r31->unk4 & 0x20) == 0) { - CharModelMotionShiftSet(temp_r31->unk2, object->motion[3], 0, 0.2f, HU3D_MOTATTR_NONE); - Hu3DModelShadowSet(object->model[0]); - object->work[1] = 0; - object->func = fn_1_5098; - } + float temp_f29; + float temp_f28; + float temp_f22; + float temp_f21; + float temp_f20; + s8 sp9; + s8 sp8; + + temp_r31 = object->data; + temp_r27 = GWPlayerCfg[temp_r31->unk0].pad_idx; + sp9 = sp8 = 0; + if(lbl_1_bss_60 == 3) { + if(!GWPlayerCfg[temp_r31->unk0].iscom) { + sp9 = HuPadStkX[temp_r27]; + sp8 = HuPadStkY[temp_r27]; + } else { + fn_1_38D0(object, &sp9, &sp8); + } + } + temp_r31->unk1C.y = lbl_1_bss_54; + temp_f21 = temp_f20 = 0; + temp_f28 = temp_r31->unk58.x; + temp_f22 = -20; + if(CHECK_IDLE(sp9) || CHECK_IDLE(sp8)) { + temp_f28 = atan2d(sp9, -sp8); + if(temp_f28 < 0) { + temp_f28 += 360; + } + temp_f21 = 70*sind(temp_f28); + temp_f20 = 70*cosd(temp_f28); + temp_f22 = 30; + } + fn_1_1EBC(object); + temp_r31->unk28.x = ((28.0f/30.0f)*temp_r31->unk28.x)+((2.0f/30.0f)*temp_f21); + temp_r31->unk28.z = ((28.0f/30.0f)*temp_r31->unk28.z)+((2.0f/30.0f)*temp_f20); + temp_f29 = VECMagXZ(&temp_r31->unk28); + if(temp_f29 > 200.0f) { + temp_f29 = 200.0f/temp_f29; + temp_r31->unk28.x *= temp_f29; + temp_r31->unk28.z *= temp_f29; + } + temp_r31->unk34.x += (temp_r31->unk28.x*(1.0f/60.0f)); + temp_r31->unk34.y = 0; + temp_r31->unk34.z += (temp_r31->unk28.z*(1.0f/60.0f)); + temp_r31->unk58.x = temp_f28; + temp_r31->unk58.y = (0.9f*temp_r31->unk58.y)+(0.1f*temp_f22); + temp_r31->unk4C.x = temp_r31->unk58.y; + temp_r31->unk4C.y = fn_1_883C(temp_r31->unk4C.y, temp_r31->unk58.x, 0.2f); + temp_r31->unk4C.z = 0; + omSetRot(object, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z); + fn_1_1940(temp_r31, &temp_r31->unk68); + omSetTra(object, temp_r31->unk1C.x+temp_r31->unk68.x, temp_r31->unk1C.y+temp_r31->unk68.y, temp_r31->unk1C.z+temp_r31->unk68.z); + temp_r31->unkC += (1.0f-temp_r31->unkC)*0.2f; + fn_1_1BE8(object, 0.3f); + if(temp_r31->unk4 & 0x1) { + temp_r31->unk8--; + temp_r31->unk10 = 0; + temp_r31->unk4 |= 2; + temp_f29 = VECMagXZ(&temp_r31->unk40); + if(temp_f29 > 0.0f) { + temp_f29 = 150.0f/temp_f29; + } + temp_r31->unk28.x = temp_r31->unk40.x*temp_f29; + temp_r31->unk28.z = temp_r31->unk40.z*temp_f29; + temp_r31->unk34.x = temp_r31->unk28.x*(1.0f/60.0f); + temp_r31->unk34.z = temp_r31->unk28.z*(1.0f/60.0f); + CharModelMotionShiftSet(temp_r31->unk2, object->motion[5], 0, 0.2f, 0); + HuAudFXPlay(1358); + omVibrate(object->work[0], 12, 4, 2); + if(temp_r31->unk8) { + HuAudCharVoicePlay(temp_r31->unk2, 296); + object->func = fn_1_4A58; + } else { + temp_r31->unk4 |= 0x30; + lbl_1_bss_4C--; + HuAudCharVoicePlay(temp_r31->unk2, 291); + object->func = fn_1_5684; + } + } + if(fn_1_6878() == 4 && (temp_r31->unk4 & 0x20) == 0) { + CharModelMotionShiftSet(temp_r31->unk2, object->motion[3], 0, 0.2f, 0); + Hu3DModelShadowSet(object->model[0]); + object->work[1] = 0; + object->func = fn_1_5098; + } } #undef CHECK_IDLE void fn_1_4A58(omObjData *object) { - Work2FAC *temp_r31; - s32 temp_r28; - s32 temp_r26; - s32 sp8; - temp_r31 = object->data; - sp8 = temp_r31->unk0; - temp_r31->unk4 |= 2; - temp_r31->unk1C.y = lbl_1_bss_54; - fn_1_1EBC(object); - temp_r31->unk28.x = (29.0f / 30.0f) * temp_r31->unk28.x; - temp_r31->unk28.z = (29.0f / 30.0f) * temp_r31->unk28.z; - temp_r31->unk34.x += temp_r31->unk28.x * (1.0f / 60.0f); - temp_r31->unk34.y = 0; - temp_r31->unk34.z += temp_r31->unk28.z * (1.0f / 60.0f); - - temp_r31->unk58.x += 9.0f; - if (temp_r31->unk58.x >= 360.0f) { - temp_r31->unk58.x -= 360.0f; - } - temp_r31->unk58.y = 0.9f * temp_r31->unk58.y; - temp_r31->unk4C.x = temp_r31->unk58.y; - temp_r31->unk4C.y = temp_r31->unk58.x; - temp_r31->unk4C.z = 0; - omSetRot(object, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z); - fn_1_1940(temp_r31, &temp_r31->unk68); - omSetTra(object, temp_r31->unk1C.x + temp_r31->unk68.x, temp_r31->unk1C.y + temp_r31->unk68.y, temp_r31->unk1C.z + temp_r31->unk68.z); - fn_1_1BE8(object, 0.8f); - temp_r26 = temp_r31->unk10 & 0x1; - temp_r31->unk10++; - if (fn_1_6878() == 4) { - temp_r26 = 0; - CharModelMotionShiftSet(temp_r31->unk2, object->motion[3], 0, 0.2f, HU3D_MOTATTR_NONE); - Hu3DModelShadowSet(object->model[0]); - object->work[1] = 0; - object->func = fn_1_5098; - } - else if (temp_r31->unk10 > 60) { - temp_r26 = 0; - temp_r31->unk4 &= ~0x3; - CharModelMotionShiftSet(temp_r31->unk2, object->motion[4], 0, 0.2f, HU3D_MOTATTR_LOOP); - object->func = fn_1_3E80; - } - if (temp_r26) { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - for (temp_r28 = 0; temp_r28 < temp_r31->unk8; temp_r28++) { - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - } - } - else { - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - for (temp_r28 = 0; temp_r28 < temp_r31->unk8; temp_r28++) { - Hu3DModelAttrReset(object->model[1], HU3D_ATTR_DISPOFF); - } - } + Work2FAC *temp_r31; + s32 temp_r28; + s32 temp_r26; + s32 sp8; + temp_r31 = object->data; + sp8 = temp_r31->unk0; + temp_r31->unk4 |= 2; + temp_r31->unk1C.y = lbl_1_bss_54; + fn_1_1EBC(object); + temp_r31->unk28.x = (29.0f/30.0f)*temp_r31->unk28.x; + temp_r31->unk28.z = (29.0f/30.0f)*temp_r31->unk28.z; + temp_r31->unk34.x += temp_r31->unk28.x*(1.0f/60.0f); + temp_r31->unk34.y = 0; + temp_r31->unk34.z += temp_r31->unk28.z*(1.0f/60.0f); + + temp_r31->unk58.x += 9.0f; + if(temp_r31->unk58.x >= 360.0f) { + temp_r31->unk58.x -= 360.0f; + } + temp_r31->unk58.y = 0.9f*temp_r31->unk58.y; + temp_r31->unk4C.x = temp_r31->unk58.y; + temp_r31->unk4C.y = temp_r31->unk58.x; + temp_r31->unk4C.z = 0; + omSetRot(object, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z); + fn_1_1940(temp_r31, &temp_r31->unk68); + omSetTra(object, temp_r31->unk1C.x+temp_r31->unk68.x, temp_r31->unk1C.y+temp_r31->unk68.y, temp_r31->unk1C.z+temp_r31->unk68.z); + fn_1_1BE8(object, 0.8f); + temp_r26 = temp_r31->unk10 & 0x1; + temp_r31->unk10++; + if(fn_1_6878() == 4) { + temp_r26 = 0; + CharModelMotionShiftSet(temp_r31->unk2, object->motion[3], 0, 0.2f, 0); + Hu3DModelShadowSet(object->model[0]); + object->work[1] = 0; + object->func = fn_1_5098; + } else if(temp_r31->unk10 > 60) { + temp_r26 = 0; + temp_r31->unk4 &= ~0x3; + CharModelMotionShiftSet(temp_r31->unk2, object->motion[4], 0, 0.2f, 0x40000001); + object->func = fn_1_3E80; + } + if(temp_r26) { + Hu3DModelAttrSet(object->model[0], 1); + for(temp_r28=0; temp_r28unk8; temp_r28++) { + Hu3DModelAttrSet(object->model[1], 1); + } + } else { + Hu3DModelAttrReset(object->model[0], 1); + for(temp_r28=0; temp_r28unk8; temp_r28++) { + Hu3DModelAttrReset(object->model[1], 1); + } + } } -Vec lbl_1_data_144[] = { { -50, 0, 0 }, { -16, 0, 0 }, { 16, 0, 0 }, { 50, 0, 0 } }; +Vec lbl_1_data_144[] = { + { -50, 0, 0 }, + { -16, 0, 0 }, + { 16, 0, 0 }, + { 50, 0, 0 } +}; -Vec lbl_1_data_174[] = { { 0, 1500, 2500 }, { 1500, 0, 1 }, { 0, 0, 0 } }; +Vec lbl_1_data_174[] = { + { 0, 1500, 2500 }, + { 1500, 0, 1 }, + { 0, 0, 0 } +}; void fn_1_54E4(omObjData *object); void fn_1_5098(omObjData *object) { - Work2FAC *temp_r29; - s32 temp_r27; - - temp_r29 = object->data; - object->trans.x = lbl_1_data_144[object->work[0]].x; - object->trans.z = lbl_1_data_144[object->work[0]].z; - if (object->work[1] == 0) { - if (lbl_1_bss_3C < temp_r29->unk8) { - lbl_1_bss_3C = temp_r29->unk8; - } - } - else if (object->work[1] == 10 && lbl_1_bss_3C == temp_r29->unk8) { - for (temp_r27 = 0; lbl_1_bss_28[temp_r27] >= 0; temp_r27++) - ; - lbl_1_bss_28[temp_r27] = temp_r29->unk2; - } - object->work[1]++; - temp_r29->unk1C.y = lbl_1_bss_54; - temp_r29->unk58.y = 0; - temp_r29->unk58.x = 0; - object->rot.x = object->rot.y = object->rot.z = 0; - object->trans.y = temp_r29->unk1C.y; - temp_r29->unk1C.x = object->trans.x; - temp_r29->unk1C.z = object->trans.z; - temp_r29->unk1C.y += lbl_1_data_A0[temp_r29->unk2]; - if (object->trans.y < 0) { - object->trans.y = 0; - } - fn_1_1BE8(object, 1.0f); - if (fn_1_6878() == 5) { - object->func = fn_1_54E4; - if (temp_r29->unk14) { - lbl_1_bss_C = 1; - } - } + Work2FAC *temp_r29; + s32 temp_r27; + + temp_r29 = object->data; + object->trans.x = lbl_1_data_144[object->work[0]].x; + object->trans.z = lbl_1_data_144[object->work[0]].z; + if(object->work[1] == 0) { + if(lbl_1_bss_3C < temp_r29->unk8) { + lbl_1_bss_3C = temp_r29->unk8; + } + } else if(object->work[1] == 10 && lbl_1_bss_3C == temp_r29->unk8) { + for(temp_r27=0; lbl_1_bss_28[temp_r27]>=0; temp_r27++); + lbl_1_bss_28[temp_r27] = temp_r29->unk2; + } + object->work[1]++; + temp_r29->unk1C.y = lbl_1_bss_54; + temp_r29->unk58.y = 0; + temp_r29->unk58.x = 0; + object->rot.x = object->rot.y = object->rot.z = 0; + object->trans.y = temp_r29->unk1C.y; + temp_r29->unk1C.x = object->trans.x; + temp_r29->unk1C.z = object->trans.z; + temp_r29->unk1C.y += lbl_1_data_A0[temp_r29->unk2]; + if(object->trans.y < 0) { + object->trans.y = 0; + } + fn_1_1BE8(object, 1.0f); + if(fn_1_6878() == 5) { + object->func = fn_1_54E4; + if(temp_r29->unk14) { + lbl_1_bss_C = 1; + } + } } void fn_1_54E4(omObjData *object) { - Work2FAC *temp_r30 = object->data; - fn_1_1E54(object); - if (!(temp_r30->unk4 & 0x8)) { - temp_r30->unk4 |= 0x8; - if (temp_r30->unk14 != 0) { - CharModelMotionShiftSet(temp_r30->unk2, object->motion[1], 0, 0.2f, HU3D_MOTATTR_NONE); - HuAudCharVoicePlay(temp_r30->unk2, 290); - GWPlayerCoinCollectAdd(object->work[0], temp_r30->unk14); - } - else { - CharModelMotionShiftSet(temp_r30->unk2, object->motion[2], 0, 0.2f, HU3D_MOTATTR_NONE); - } - object->work[1] = 0; - } - else if (object->work[1] == 0 && Hu3DMotionEndCheck(object->model[0])) { - lbl_1_bss_4C--; - object->work[1]++; - } + Work2FAC *temp_r30 = object->data; + fn_1_1E54(object); + if(!(temp_r30->unk4 & 0x8)) { + temp_r30->unk4 |= 0x8; + if(temp_r30->unk14 != 0) { + CharModelMotionShiftSet(temp_r30->unk2, object->motion[1], 0, 0.2f, 0); + HuAudCharVoicePlay(temp_r30->unk2, 290); + GWPlayerCoinCollectAdd(object->work[0], temp_r30->unk14); + } else { + CharModelMotionShiftSet(temp_r30->unk2, object->motion[2], 0, 0.2f, 0); + } + object->work[1] = 0; + } else if(object->work[1] == 0 && Hu3DMotionEndCheck(object->model[0])) { + lbl_1_bss_4C--; + object->work[1]++; + } } void fn_1_5AA0(omObjData *object); void fn_1_5684(omObjData *object) { - Work2FAC *temp_r31; - s32 temp_r29; - temp_r31 = object->data; - if (fabs(object->trans.x) < 160.0 || fabs(object->trans.z) < 160.0) { - temp_r31->unk1C.x += temp_r31->unk28.x * (1.0f / 60.0f); - temp_r31->unk1C.z += temp_r31->unk28.z * (1.0f / 60.0f); - temp_r31->unk58.x += 9.0f; - if (temp_r31->unk58.x >= 360.0f) { - temp_r31->unk58.x -= 360.0f; - } - temp_r31->unk58.y = 0.9f * temp_r31->unk58.y; - temp_r31->unk4C.x = 90.0f + temp_r31->unk58.y; - temp_r31->unk4C.y = temp_r31->unk58.x; - temp_r31->unk4C.z = 0; - omSetRot(object, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z); - fn_1_1940(temp_r31, &temp_r31->unk68); - omSetTra(object, temp_r31->unk1C.x + temp_r31->unk68.x, temp_r31->unk1C.y + temp_r31->unk68.y, temp_r31->unk1C.z + temp_r31->unk68.z); - } - if (fn_1_6878() >= 4) { - GWPlayerCoinCollectAdd(object->work[0], temp_r31->unk14); - if (lbl_1_bss_48) { - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - CharModelMotionSet(temp_r31->unk2, object->motion[6]); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - object->trans.x = lbl_1_data_144[object->work[0]].x; - object->trans.y = 0; - object->trans.z = lbl_1_data_144[object->work[0]].z; - object->rot.x = object->rot.y = object->rot.z = 0; - } - else { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - } - - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - } - object->func = fn_1_5AA0; - } + Work2FAC *temp_r31; + s32 temp_r29; + temp_r31 = object->data; + if(fabs(object->trans.x) < 160.0 || fabs(object->trans.z) < 160.0) { + temp_r31->unk1C.x += temp_r31->unk28.x*(1.0f/60.0f); + temp_r31->unk1C.z += temp_r31->unk28.z*(1.0f/60.0f); + temp_r31->unk58.x += 9.0f; + if(temp_r31->unk58.x >= 360.0f) { + temp_r31->unk58.x -= 360.0f; + } + temp_r31->unk58.y = 0.9f*temp_r31->unk58.y; + temp_r31->unk4C.x = 90.0f+temp_r31->unk58.y; + temp_r31->unk4C.y = temp_r31->unk58.x; + temp_r31->unk4C.z = 0; + omSetRot(object, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z); + fn_1_1940(temp_r31, &temp_r31->unk68); + omSetTra(object, temp_r31->unk1C.x+temp_r31->unk68.x, temp_r31->unk1C.y+temp_r31->unk68.y, temp_r31->unk1C.z+temp_r31->unk68.z); + } + if(fn_1_6878() >= 4) { + GWPlayerCoinCollectAdd(object->work[0], temp_r31->unk14); + if(lbl_1_bss_48) { + Hu3DModelAttrReset(object->model[0], 1); + CharModelMotionSet(temp_r31->unk2, object->motion[6]); + Hu3DModelAttrSet(object->model[0], 0x40000001); + object->trans.x = lbl_1_data_144[object->work[0]].x; + object->trans.y = 0; + object->trans.z = lbl_1_data_144[object->work[0]].z; + object->rot.x = object->rot.y = object->rot.z = 0; + } else { + Hu3DModelAttrSet(object->model[0], 1); + } + + for(temp_r29=0; temp_r29<4; temp_r29++) { + Hu3DModelAttrSet(object->model[1], 1); + } + object->func = fn_1_5AA0; + } } void fn_1_5AA0(omObjData *object) { - Work2FAC *sp8 = object->data; + Work2FAC *sp8 = object->data; } void fn_1_5AB4(ModelData *model, ParticleData *particle, Mtx matrix) { - HsfanimStruct01 *temp_r31; - s32 temp_r29; - float temp_f31; - if (particle->unk_00 == 0) { - particle->unk_00++; - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - temp_r31->unk00 = 0; - temp_r31->unk2C = 0; - temp_r31->unk40.a = 0; - } - return; - } - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - if (temp_r31->unk00 == 0 || temp_r31->unk00 != 1) { - continue; - } - temp_r31->unk02++; - temp_f31 = temp_r31->unk02 - 10.2f; - if (temp_f31 < 0.0f) { - temp_r31->unk34.x += (temp_r31->unk08.x - temp_r31->unk34.x) * 0.2f; - temp_r31->unk34.y += (temp_r31->unk08.y - temp_r31->unk34.y) * 0.15f; - temp_r31->unk34.z += (temp_r31->unk08.z - temp_r31->unk34.z) * 0.2f; - temp_r31->unk2C += (temp_r31->unk14.x - temp_r31->unk2C) * 0.2f; - temp_r31->unk14.y += (temp_r31->unk14.z - temp_r31->unk14.y) * 0.2f; - temp_r31->unk40.a = temp_r31->unk14.y; - } - else { - temp_r31->unk34.x += (temp_r31->unk20 * 1.5f) * (1.0f / 60.0f); - temp_r31->unk34.y += (temp_r31->unk24 * 1.5f) * (1.0f / 60.0f); - temp_r31->unk34.z += (temp_r31->unk28 * 1.5f) * (1.0f / 60.0f); - temp_r31->unk2C += (temp_r31->unk14.x * 0.01f); - temp_r31->unk40.a = 0.92f * temp_r31->unk40.a; - } - } - DCStoreRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); + HsfanimStruct01 *temp_r31; + s32 temp_r29; + float temp_f31; + if(particle->unk_00 == 0) { + particle->unk_00++; + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + temp_r31->unk00 = 0; + temp_r31->unk2C = 0; + temp_r31->unk40.a = 0; + } + return; + } + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(temp_r31->unk00_s16 == 0 || temp_r31->unk00_s16 != 1) { + continue; + } + temp_r31->unk02++; + temp_f31 = temp_r31->unk02-10.2f; + if(temp_f31 < 0.0f) { + temp_r31->unk34.x += (temp_r31->unk08.x-temp_r31->unk34.x)*0.2f; + temp_r31->unk34.y += (temp_r31->unk08.y-temp_r31->unk34.y)*0.15f; + temp_r31->unk34.z += (temp_r31->unk08.z-temp_r31->unk34.z)*0.2f; + temp_r31->unk2C += (temp_r31->unk14.x-temp_r31->unk2C)*0.2f; + temp_r31->unk14.y += (temp_r31->unk14.z-temp_r31->unk14.y)*0.2f; + temp_r31->unk40.a = temp_r31->unk14.y; + } else { + temp_r31->unk34.x += (temp_r31->unk20*1.5f)*(1.0f/60.0f); + temp_r31->unk34.y += (temp_r31->unk24*1.5f)*(1.0f/60.0f); + temp_r31->unk34.z += (temp_r31->unk28*1.5f)*(1.0f/60.0f); + temp_r31->unk2C += (temp_r31->unk14.x*0.01f); + temp_r31->unk40.a = 0.92f*temp_r31->unk40.a; + } + } + DCStoreRange(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); } void fn_1_5DCC(s32 arg0, Vec *arg1, u32 arg2) { - float temp_f31; - float temp_f30; - - HsfanimStruct01 *temp_r31; - ParticleData *temp_r29; - s32 temp_r28; - temp_r29 = Hu3DData[arg0].unk_120; - if (temp_r29->unk_00 != 0) { - temp_r31 = temp_r29->unk_48; - for (temp_r28 = 0; temp_r28 < temp_r29->unk_30; temp_r28++, temp_r31++) { - if (temp_r31->unk00) { - continue; - } - temp_r31->unk00 = 1; - temp_r31->unk02 = 0; - temp_r31->unk34.x = arg1->x; - temp_r31->unk34.y = 11990; - temp_r31->unk34.z = arg1->z; - temp_f31 = frandmod(1000) * (1.0f / 1000.0f); - temp_f30 = frandmod(1000) * (360.0f / 1000.0f); - temp_r31->unk20 = 10 * (0.8f * (temp_f31 * sind(temp_f30))); - temp_r31->unk24 = 10.0f * (5.0f * (1.0f - (temp_f31 * temp_f31))); - temp_r31->unk28 = 10 * (0.8f * (temp_f31 * cosd(temp_f30))); - temp_r31->unk08.x = temp_r31->unk20 + arg1->x; - temp_r31->unk08.y = temp_r31->unk24 + temp_r31->unk34.y; - temp_r31->unk08.z = temp_r31->unk28 + arg1->z; - temp_r31->unk14.x = (6.0f + (0.012f * frandmod(1000))); - temp_r31->unk2C = 2.0f; - temp_r31->unk14.y = temp_r31->unk40.a = 10; - temp_r31->unk14.z = frandmod(100) + 64; - temp_f31 = 0.00040000002f * frandmod(1000); - temp_f31 += 0.6f * cosd(temp_f30); - temp_r31->unk40.r = (55 * temp_f31) + 200; - temp_r31->unk40.g = (50 * temp_f31) + 205; - temp_r31->unk40.b = (5 * temp_f31) + 250; - if (--arg2 == 0) { - break; - } - } - } + float temp_f31; + float temp_f30; + + HsfanimStruct01 *temp_r31; + ParticleData *temp_r29; + s32 temp_r28; + temp_r29 = Hu3DData[arg0].unk_120; + if(temp_r29->unk_00 != 0) { + temp_r31 = temp_r29->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + if(temp_r31->unk00_s16) { + continue; + } + temp_r31->unk00 = 1; + temp_r31->unk02 = 0; + temp_r31->unk34.x = arg1->x; + temp_r31->unk34.y = 11990; + temp_r31->unk34.z = arg1->z; + temp_f31 = frandmod(1000)*(1.0f/1000.0f); + temp_f30 = frandmod(1000)*(360.0f/1000.0f); + temp_r31->unk20 = 10*(0.8f*(temp_f31*sind(temp_f30))); + temp_r31->unk24 = 10.0f*(5.0f*(1.0f-(temp_f31*temp_f31))); + temp_r31->unk28 = 10*(0.8f*(temp_f31*cosd(temp_f30))); + temp_r31->unk08.x = temp_r31->unk20+arg1->x; + temp_r31->unk08.y = temp_r31->unk24+temp_r31->unk34.y; + temp_r31->unk08.z = temp_r31->unk28+arg1->z; + temp_r31->unk14.x = (6.0f+(0.012f*frandmod(1000))); + temp_r31->unk2C = 2.0f; + temp_r31->unk14.y = temp_r31->unk40.a = 10; + temp_r31->unk14.z = frandmod(100)+64; + temp_f31 = 0.00040000002f*frandmod(1000); + temp_f31 += 0.6f*cosd(temp_f30); + temp_r31->unk40.r = (55*temp_f31)+200; + temp_r31->unk40.g = (50*temp_f31)+205; + temp_r31->unk40.b = (5*temp_f31)+250; + if(--arg2 == 0) { + break; + } + } + } } typedef struct work_61FC { - s32 unk0; - s32 unk4; - u32 unk8; - float unkC[2]; - s32 unk14; - s32 unk18; - s32 unk1C[7]; - float unk38[7]; - s16 unk54[7]; + s32 unk0; + s32 unk4; + u32 unk8; + float unkC[2]; + s32 unk14; + s32 unk18; + s32 unk1C[7]; + float unk38[7]; + s16 unk54[7]; } Work61FC; void fn_1_6540(omObjData *object); void fn_1_61FC(omObjData *object) { - Work61FC *temp_r31; - s32 temp_r30; - s32 temp_r28; - s32 temp_r26; - - Work61FC *temp_r27; - - float sp8[][2] = { 96, 64, 486, 64, 96, 416, 486, 416 }; - float sp28[][2] = { 0, 0, 0, 0, -54, -1, 2, 1, -20, 0, 42, 2, 22, 2 }; - - object->stat |= 0x100; - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, 4 * sizeof(Work61FC), MEMORY_DEFAULT_NUM); - temp_r27 = object->data; - memset(temp_r27, 0, 4 * sizeof(Work61FC)); - temp_r31 = temp_r27; - for (temp_r28 = 0; temp_r28 < 4; temp_r28++, temp_r31++) { - for (temp_r30 = 0; temp_r30 < 7; temp_r30++) { - temp_r31->unk54[temp_r30] = -1; - temp_r31->unk38[temp_r30] = 1; - } - temp_r31->unkC[0] = sp8[temp_r28][0]; - temp_r31->unkC[1] = sp8[temp_r28][1]; - temp_r26 = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x29), 4, 0); - temp_r31->unk54[0] = temp_r26; - espColorSet(temp_r26, 0, 0, 0); - espTPLvlSet(temp_r26, 0.5); - temp_r31->unk54[1] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x28), 3, 0); - temp_r31->unk54[2] = espEntry(lbl_1_data_0[GWPlayerCfg[temp_r28].character], 2, 0); - temp_r31->unk54[3] = espEntry(DATA_MAKE_NUM(DATADIR_M408, 0x2B), 2, 0); - temp_r31->unk54[4] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x08), 2, 0); - temp_r31->unk54[6] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x33), 2, 0); - temp_r31->unk54[5] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x33), 2, 0); - for (temp_r30 = 0; temp_r30 < 7; temp_r30++) { - if (temp_r31->unk54[temp_r30] >= 0) { - espPosSet(temp_r31->unk54[temp_r30], temp_r31->unkC[0] + sp28[temp_r30][0], temp_r31->unkC[1] + sp28[temp_r30][1]); - espDispOff(temp_r31->unk54[temp_r30]); - } - } - temp_r31->unk0 = 0; - } - HuDataDirClose(DATADIR_MGCONST); - object->func = fn_1_6540; - (void)temp_r27; - (void)temp_r27; + Work61FC *temp_r31; + s32 temp_r30; + s32 temp_r28; + s32 temp_r26; + + Work61FC *temp_r27; + + float sp8[][2] = { + 96, 64, + 486, 64, + 96, 416, + 486, 416 + }; + float sp28[][2] = { + 0, 0, + 0, 0, + -54, -1, + 2, 1, + -20, 0, + 42, 2, + 22, 2 + }; + + object->stat |= 0x100; + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, 4*sizeof(Work61FC), MEMORY_DEFAULT_NUM); + temp_r27 = object->data; + memset(temp_r27, 0, 4*sizeof(Work61FC)); + temp_r31 = temp_r27; + for(temp_r28=0; temp_r28<4; temp_r28++, temp_r31++) { + for(temp_r30=0; temp_r30<7; temp_r30++) { + temp_r31->unk54[temp_r30] = -1; + temp_r31->unk38[temp_r30] = 1; + } + temp_r31->unkC[0] = sp8[temp_r28][0]; + temp_r31->unkC[1] = sp8[temp_r28][1]; + temp_r26 = espEntry(0x610029, 4, 0); + temp_r31->unk54[0] = temp_r26; + espColorSet(temp_r26, 0, 0, 0); + espTPLvlSet(temp_r26, 0.5); + temp_r31->unk54[1] = espEntry(0x610028, 3, 0); + temp_r31->unk54[2] = espEntry(lbl_1_data_0[GWPlayerCfg[temp_r28].character], 2, 0); + temp_r31->unk54[3] = espEntry(0x27002B, 2, 0); + temp_r31->unk54[4] = espEntry(0x610008, 2, 0); + temp_r31->unk54[6] = espEntry(0x610033, 2, 0); + temp_r31->unk54[5] = espEntry(0x610033, 2, 0); + for(temp_r30=0; temp_r30<7; temp_r30++) { + if(temp_r31->unk54[temp_r30] >= 0) { + espPosSet(temp_r31->unk54[temp_r30], temp_r31->unkC[0]+sp28[temp_r30][0], temp_r31->unkC[1]+sp28[temp_r30][1]); + espDispOff(temp_r31->unk54[temp_r30]); + } + } + temp_r31->unk0 = 0; + } + HuDataDirClose(DATADIR_MGCONST); + object->func = fn_1_6540; + (void)temp_r27; + (void)temp_r27; } void fn_1_6540(omObjData *object) { - float temp_f31; - Work61FC *temp_r31; - s32 temp_r30; - s32 temp_r29; - Work61FC *temp_r28 = object->data; - temp_r31 = temp_r28; - for (temp_r29 = 0; temp_r29 < 4; temp_r29++, temp_r31++) { - switch (temp_r31->unk14) { - case 0: - if (fn_1_6878() == 3) { - temp_r31->unk14 = 1; - } - break; - - case 1: - temp_r31->unk18 = 0; - temp_r31->unk1C[5] = temp_r31->unk8 % 10; - temp_r31->unk1C[6] = (temp_r31->unk8 / 10) % 10; - for (temp_r30 = 0; temp_r30 < 7; temp_r30++) { - if (temp_r31->unk54[temp_r30] >= 0) { - espDispOn(temp_r31->unk54[temp_r30]); - } - } - if (temp_r31->unk0) { - temp_r31->unk38[5] = temp_r31->unk38[6] = 0.5f; - temp_r31->unk14++; - } - else { - temp_r31->unk0 = 1; - temp_r31->unk38[5] = temp_r31->unk38[6] = 1.0f; - temp_r31->unk14 += 3; - break; - } - - case 2: - temp_f31 = temp_r31->unk38[5]; - temp_f31 += 0.10000001f; - if (temp_f31 >= 1.5f) { - temp_r31->unk14++; - } - temp_r31->unk38[5] = temp_r31->unk38[6] = temp_f31; - break; - - case 3: - temp_f31 = temp_r31->unk38[5]; - temp_f31 -= 0.10000001f; - if (temp_f31 <= 1.0f) { - temp_f31 = 1.0f; - temp_r31->unk14++; - } - temp_r31->unk38[5] = temp_r31->unk38[6] = temp_f31; - break; - - default: - break; - } - temp_r31->unk18++; - for (temp_r30 = 0; temp_r30 < 7; temp_r30++) { - espBankSet(temp_r31->unk54[temp_r30], temp_r31->unk1C[temp_r30]); - espScaleSet(temp_r31->unk54[temp_r30], temp_r31->unk38[temp_r30], temp_r31->unk38[temp_r30]); - } - } + float temp_f31; + Work61FC *temp_r31; + s32 temp_r30; + s32 temp_r29; + Work61FC *temp_r28 = object->data; + temp_r31 = temp_r28; + for(temp_r29=0; temp_r29<4; temp_r29++, temp_r31++) { + switch(temp_r31->unk14) { + case 0: + if(fn_1_6878() == 3) { + temp_r31->unk14 = 1; + } + break; + + case 1: + temp_r31->unk18 = 0; + temp_r31->unk1C[5] = temp_r31->unk8%10; + temp_r31->unk1C[6] = (temp_r31->unk8/10)%10; + for(temp_r30=0; temp_r30<7; temp_r30++) { + if(temp_r31->unk54[temp_r30] >= 0) { + espDispOn(temp_r31->unk54[temp_r30]); + } + } + if(temp_r31->unk0) { + temp_r31->unk38[5] = temp_r31->unk38[6] = 0.5f; + temp_r31->unk14++; + } else { + temp_r31->unk0 = 1; + temp_r31->unk38[5] = temp_r31->unk38[6] = 1.0f; + temp_r31->unk14 += 3; + break; + } + + case 2: + temp_f31 = temp_r31->unk38[5]; + temp_f31 += 0.10000001f; + if(temp_f31 >= 1.5f) { + temp_r31->unk14++; + } + temp_r31->unk38[5] = temp_r31->unk38[6] = temp_f31; + break; + + case 3: + temp_f31 = temp_r31->unk38[5]; + temp_f31 -= 0.10000001f; + if(temp_f31 <= 1.0f) { + temp_f31 = 1.0f; + temp_r31->unk14++; + } + temp_r31->unk38[5] = temp_r31->unk38[6] = temp_f31; + break; + + default: + break; + } + temp_r31->unk18++; + for(temp_r30=0; temp_r30<7; temp_r30++) { + espBankSet(temp_r31->unk54[temp_r30], temp_r31->unk1C[temp_r30]); + espScaleSet(temp_r31->unk54[temp_r30], temp_r31->unk38[temp_r30], temp_r31->unk38[temp_r30]); + } + } } void fn_1_67C4(u16 arg0, u16 arg1) { - Work61FC *temp_r31; - temp_r31 = lbl_1_bss_8->data; - if (fn_1_6878() == 3) { - temp_r31[arg0].unk4 += arg1; - temp_r31[arg0].unk8 += arg1; - temp_r31[arg0].unk14 = 1; - } + Work61FC *temp_r31; + temp_r31 = lbl_1_bss_8->data; + if(fn_1_6878() == 3) { + temp_r31[arg0].unk4 += arg1; + temp_r31[arg0].unk8 += arg1; + temp_r31[arg0].unk14 = 1; + } } u32 fn_1_6868(void) { - return lbl_1_bss_62; + return lbl_1_bss_62; } + u32 fn_1_6878(void) { - return lbl_1_bss_60; + return lbl_1_bss_60; } float fn_1_6888(void) { - return lbl_1_bss_54; + return lbl_1_bss_54; } -void fn_1_6898(void) { } +void fn_1_6898(void) +{ + +} s32 fn_1_689C(void) { - return 0; + return 0; } -void fn_1_68A4(void) { } +void fn_1_68A4(void) +{ + +} Work2FAC *fn_1_68A8(s32 arg0) { - return lbl_1_bss_6C[arg0]->data; + return lbl_1_bss_6C[arg0]->data; } float fn_1_68C4(float arg8, float arg9, float argA, float argB, float argC, float argD, float argE, float argF, float arg2, float arg3) { - float temp_f30; - float sp14; - float temp_f29; - float temp_f28; - - float temp_f27; - float temp_f26; - - float sp10; - - sp14 = (argC + arg3) * (argC + arg3); - temp_f27 = (arg2 * arg2) + (((argB * argB) + ((argF * argF) + ((argA * argA) - (2.0f * argA * argF)))) - (2.0f * argB * arg2)); - temp_f26 = 2.0f - * ((argE * arg2) + ((((arg9 * argB) + ((argD * argF) + (((arg8 * argA) - (arg8 * argF)) - (argD * argA)))) - (arg9 * arg2)) - (argE * argB))); - sp10 = ((argE * argE) + (((arg9 * arg9) + ((argD * argD) + ((arg8 * arg8) - (2.0f * arg8 * argD)))) - (2.0f * arg9 * argE))) - sp14; - if (0.0f == temp_f27) { - return -1; - } - temp_f30 = (temp_f26 * temp_f26) - (4.0f * temp_f27 * sp10); - if (temp_f30 <= 0.0) { - return -1; - } - temp_f30 = sqrtf(temp_f30); - temp_f29 = (-temp_f26 + temp_f30) / (2.0f * temp_f27); + float temp_f30; + float sp14; + float temp_f29; + float temp_f28; + + + float temp_f27; + float temp_f26; + + float sp10; + + sp14 = (argC + arg3) * (argC + arg3); + temp_f27 = (arg2 * arg2) + (((argB * argB) + ((argF * argF) + ((argA * argA) - (2.0f * argA * argF)))) - (2.0f * argB * arg2)); + temp_f26 = 2.0f * ((argE * arg2) + ((((arg9 * argB) + ((argD * argF) + (((arg8 * argA) - (arg8 * argF)) - (argD * argA)))) - (arg9 * arg2)) - (argE * argB))); + sp10 = ((argE * argE) + (((arg9 * arg9) + ((argD * argD) + ((arg8 * arg8) - (2.0f * arg8 * argD)))) - (2.0f * arg9 * argE))) - sp14; + if(0.0f == temp_f27) { + return -1; + } + temp_f30 = (temp_f26 * temp_f26) - (4.0f * temp_f27 * sp10); + if(temp_f30 <= 0.0) { + return -1; + } + temp_f30 = sqrtf(temp_f30); + temp_f29 = (-temp_f26 + temp_f30) / (2.0f * temp_f27); temp_f28 = (-temp_f26 - temp_f30) / (2.0f * temp_f27); - if (temp_f29 >= 0.0f && temp_f28 >= 0.0f) { - if (temp_f29 < temp_f28) { - if (temp_f29 < 1.0f) { - return temp_f29; - } - } - if (temp_f28 < 1.0f) { - return temp_f28; - } - } - return -1; + if(temp_f29 >= 0.0f && temp_f28 >= 0.0f) { + if(temp_f29 < temp_f28) { + if(temp_f29 < 1.0f) { + return temp_f29; + } + } + if(temp_f28 < 1.0f) { + return temp_f28; + } + } + return -1; } void fn_1_6C28(float *arg0, float arg1, float arg2, float arg3, float arg4, float arg5, float arg6) { - float temp_f24; - float temp_f29; - float temp_f28; - float temp_f31; - float temp_f30; - - float temp_f25; - - temp_f29 = arg3; - temp_f28 = arg4; - temp_f24 = sqrtf((temp_f29 * temp_f29) + (temp_f28 * temp_f28)); - if (temp_f24 != 0.0) { - temp_f25 = 1.0f / temp_f24; - temp_f29 *= temp_f25; - temp_f28 *= temp_f25; - } - temp_f31 = arg5 - arg1; - temp_f30 = arg6 - arg2; - temp_f25 = 1.0f / sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - temp_f31 *= temp_f25; - temp_f30 *= temp_f25; - temp_f25 = (temp_f29 * temp_f31) + (temp_f28 * temp_f30); - arg0[0] = temp_f25 * (temp_f31 * temp_f24); - arg0[1] = temp_f25 * (temp_f30 * temp_f24); + float temp_f24; + float temp_f29; + float temp_f28; + float temp_f31; + float temp_f30; + + float temp_f25; + + temp_f29 = arg3; + temp_f28 = arg4; + temp_f24 = sqrtf((temp_f29*temp_f29)+(temp_f28*temp_f28)); + if(temp_f24 != 0.0) { + temp_f25 = 1.0f/temp_f24; + temp_f29 *= temp_f25; + temp_f28 *= temp_f25; + } + temp_f31 = arg5-arg1; + temp_f30 = arg6-arg2; + temp_f25 = 1.0f/sqrtf((temp_f31*temp_f31)+(temp_f30*temp_f30)); + temp_f31 *= temp_f25; + temp_f30 *= temp_f25; + temp_f25 = (temp_f29*temp_f31)+(temp_f28*temp_f30); + arg0[0] = temp_f25*(temp_f31*temp_f24); + arg0[1] = temp_f25*(temp_f30*temp_f24); } -void fn_1_6F4C(float arg8, float arg9, float argA, float argB, float argC, float argD, float argE, float argF, float *arg0, float *arg1, float *arg2, - float *arg3) +void fn_1_6F4C(float arg8, float arg9, float argA, float argB, float argC, float argD, float argE, float argF, float *arg0, float *arg1, float *arg2, float *arg3) { - float sp70[2]; - float sp68[2]; - float sp64; - float sp60; - sp64 = arg8 + (0.5f * (argC - arg8)); - sp60 = arg9 + (0.5f * (argD - arg9)); - fn_1_6C28(sp70, arg8, arg9, argA, argB, sp64, sp60); - fn_1_6C28(sp68, argC, argD, argE, argF, sp64, sp60); - *arg0 = sp68[0] - sp70[0]; - *arg1 = sp68[1] - sp70[1]; - *arg2 = sp70[0] - sp68[0]; - *arg3 = sp70[1] - sp68[1]; + float sp70[2]; + float sp68[2]; + float sp64; + float sp60; + sp64 = arg8+(0.5f*(argC-arg8)); + sp60 = arg9+(0.5f*(argD-arg9)); + fn_1_6C28(sp70, arg8, arg9, argA, argB, sp64, sp60); + fn_1_6C28(sp68, argC, argD, argE, argF, sp64, sp60); + *arg0 = sp68[0]-sp70[0]; + *arg1 = sp68[1]-sp70[1]; + *arg2 = sp70[0]-sp68[0]; + *arg3 = sp70[1]-sp68[1]; } void fn_1_75B8(float *arg0, float *arg1, float arg2, float arg3, float arg4, float arg5, float arg6, float arg7) { - float temp_f26 = arg2 + (0.5f * (arg6 - arg2)); - float temp_f25 = arg3 + (0.5f * (arg7 - arg3)); - float temp_f31 = arg2 - temp_f26; - float temp_f30 = arg3 - temp_f25; - float temp_f28; - if (temp_f31 == 0.0f || temp_f30 == 0.0f) { - *arg0 = *arg1 = 0.0f; - return; - } - temp_f28 = 1.0f / sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - temp_f31 *= temp_f28; - temp_f30 *= temp_f28; - *arg0 = (2.0f * temp_f31) * ((-arg4 * temp_f31) - (arg5 * temp_f30)); - *arg1 = (2.0f * temp_f30) * ((-arg4 * temp_f31) - (arg5 * temp_f30)); + float temp_f26 = arg2+(0.5f*(arg6-arg2)); + float temp_f25 = arg3+(0.5f*(arg7-arg3)); + float temp_f31 = arg2-temp_f26; + float temp_f30 = arg3-temp_f25; + float temp_f28; + if(temp_f31 == 0.0f || temp_f30 == 0.0f) { + *arg0 = *arg1 = 0.0f; + return; + } + temp_f28 = 1.0f/sqrtf((temp_f31*temp_f31)+(temp_f30*temp_f30)); + temp_f31 *= temp_f28; + temp_f30 *= temp_f28; + *arg0 = (2.0f*temp_f31)*((-arg4*temp_f31)-(arg5*temp_f30)); + *arg1 = (2.0f*temp_f30)*((-arg4*temp_f31)-(arg5*temp_f30)); } void fn_1_7818(omObjData *arg0, omObjData *arg1) { - Work2FAC *temp_r31 = arg0->data; - Work2FAC *temp_r30 = arg1->data; - - float sp14; - float sp10; - float spC; - float sp8; - fn_1_6F4C(temp_r31->unk1C.x, temp_r31->unk1C.z, temp_r31->unk34.x, temp_r31->unk34.z, temp_r30->unk1C.x, temp_r30->unk1C.z, temp_r30->unk34.x, - temp_r30->unk34.z, &sp14, &sp10, &spC, &sp8); - temp_r31->unk34.x += sp14; - temp_r31->unk34.z += sp10; - temp_r30->unk34.x += spC; - temp_r30->unk34.z += sp8; + Work2FAC *temp_r31 = arg0->data; + Work2FAC *temp_r30 = arg1->data; + + float sp14; + float sp10; + float spC; + float sp8; + fn_1_6F4C(temp_r31->unk1C.x, temp_r31->unk1C.z, temp_r31->unk34.x, temp_r31->unk34.z, + temp_r30->unk1C.x, temp_r30->unk1C.z, temp_r30->unk34.x, temp_r30->unk34.z, + &sp14, &sp10, &spC, &sp8); + temp_r31->unk34.x += sp14; + temp_r31->unk34.z += sp10; + temp_r30->unk34.x += spC; + temp_r30->unk34.z += sp8; } s32 fn_1_78D8(void) { - float temp_f29; - float temp_f18; - - Work2FAC *temp_r31; - s32 temp_r30; - Work2FAC *temp_r29; - Work2FAC *temp_r28; - s32 temp_r27; - s32 temp_r26; - omObjData *temp_r25; - omObjData *temp_r24; - omObjData *temp_r23; - - omObjData *sp30[2]; - temp_r26 = -1; - temp_f18 = 0; - temp_f29 = 9999; - for (temp_r27 = 0; temp_r27 < 3; temp_r27++) { - temp_r25 = lbl_1_bss_6C[temp_r27]; - temp_r29 = temp_r25->data; - if (temp_r29->unk4 & 0x10) { - continue; - } - for (temp_r30 = temp_r27 + 1; temp_r30 < 4; temp_r30++) { - temp_r24 = lbl_1_bss_6C[temp_r30]; - temp_r28 = temp_r24->data; - if (temp_r28->unk4 & 0x10) { - continue; - } - temp_f18 - = fn_1_68C4(temp_r29->unk1C.x, temp_r29->unk1C.z, temp_r29->unk34.x * lbl_1_bss_4, temp_r29->unk34.z * lbl_1_bss_4, temp_r29->unk58.z, - temp_r28->unk1C.x, temp_r28->unk1C.z, temp_r28->unk34.x * lbl_1_bss_4, temp_r28->unk34.z * lbl_1_bss_4, temp_r28->unk58.z); - if (temp_f18 >= 0.0 && temp_f18 <= temp_f29) { - temp_f29 = temp_f18; - temp_r26 = 1; - sp30[0] = temp_r25; - sp30[1] = temp_r24; - } - } - } - if (temp_r26 < 0) { - return 0; - } - if (temp_f29 > 0.0f) { - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - temp_r31 = lbl_1_bss_6C[temp_r30]->data; - temp_r31->unk64 = 0; - } - } - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - temp_r23 = lbl_1_bss_6C[temp_r30]; - temp_r31 = temp_r23->data; - if (!(temp_r31->unk4 & 0x10)) { - temp_r31->unk1C.x += lbl_1_bss_4 * (temp_r31->unk34.x * temp_f29); - temp_r31->unk1C.z += lbl_1_bss_4 * (temp_r31->unk34.z * temp_f29); - } - } - if (temp_r26 != 1) { - (void)temp_r26; - } - else { - fn_1_7818(sp30[0], sp30[1]); - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - temp_r31 = sp30[temp_r30]->data; - if (temp_r31->unk4 & 0x10) { - continue; - } - temp_r31->unk64++; - if (temp_r31->unk18 == 0) { - lbl_1_bss_0 = 1; - } - temp_r31->unk18 = 18; - if (temp_r31->unk64 > 2.0f) { - temp_r31->unk34.x = temp_r31->unk34.z = 0; - } - } - } - lbl_1_bss_4 *= (1.0f - temp_f29); - return 1; + float temp_f29; + float temp_f18; + + Work2FAC *temp_r31; + s32 temp_r30; + Work2FAC *temp_r29; + Work2FAC *temp_r28; + s32 temp_r27; + s32 temp_r26; + omObjData *temp_r25; + omObjData *temp_r24; + omObjData *temp_r23; + + omObjData *sp30[2]; + temp_r26 = -1; + temp_f18 = 0; + temp_f29 = 9999; + for(temp_r27=0; temp_r27<3; temp_r27++) { + temp_r25 = lbl_1_bss_6C[temp_r27]; + temp_r29 = temp_r25->data; + if(temp_r29->unk4 & 0x10) { + continue; + } + for(temp_r30=temp_r27+1; temp_r30<4; temp_r30++) { + temp_r24 = lbl_1_bss_6C[temp_r30]; + temp_r28 = temp_r24->data; + if(temp_r28->unk4 & 0x10) { + continue; + } + temp_f18 = fn_1_68C4(temp_r29->unk1C.x, temp_r29->unk1C.z, temp_r29->unk34.x*lbl_1_bss_4, temp_r29->unk34.z*lbl_1_bss_4, + temp_r29->unk58.z, temp_r28->unk1C.x, temp_r28->unk1C.z, temp_r28->unk34.x*lbl_1_bss_4, temp_r28->unk34.z*lbl_1_bss_4, + temp_r28->unk58.z); + if(temp_f18 >= 0.0 && temp_f18 <= temp_f29) { + temp_f29 = temp_f18; + temp_r26 = 1; + sp30[0] = temp_r25; + sp30[1] = temp_r24; + } + } + } + if(temp_r26 < 0) { + return 0; + } + if(temp_f29 > 0.0f) { + for(temp_r30=0; temp_r30<4; temp_r30++) { + temp_r31 = lbl_1_bss_6C[temp_r30]->data; + temp_r31->unk64 = 0; + } + } + for(temp_r30=0; temp_r30<4; temp_r30++) { + temp_r23 = lbl_1_bss_6C[temp_r30]; + temp_r31 = temp_r23->data; + if(!(temp_r31->unk4 & 0x10)) { + temp_r31->unk1C.x += lbl_1_bss_4*(temp_r31->unk34.x*temp_f29); + temp_r31->unk1C.z += lbl_1_bss_4*(temp_r31->unk34.z*temp_f29); + } + } + if(temp_r26 != 1) { + (void)temp_r26; + } else { + fn_1_7818(sp30[0], sp30[1]); + for(temp_r30=0; temp_r30<2; temp_r30++) { + temp_r31 = sp30[temp_r30]->data; + if(temp_r31->unk4 & 0x10) { + continue; + } + temp_r31->unk64++; + if(temp_r31->unk18 == 0) { + lbl_1_bss_0 = 1; + } + temp_r31->unk18 = 18; + if(temp_r31->unk64 > 2.0f) { + temp_r31->unk34.x = temp_r31->unk34.z = 0; + } + } + } + lbl_1_bss_4 *= (1.0f-temp_f29); + return 1; } void fn_1_8020(void) { - Work2FAC *temp_r31; - s32 temp_r30; - omObjData *temp_r29; - lbl_1_bss_4 = 1.0f; - lbl_1_bss_0 = 0; - while (fn_1_78D8()) - ; - if (lbl_1_bss_0) { - HuAudFXPlay(1359); - } - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - temp_r29 = lbl_1_bss_6C[temp_r30]; - temp_r31 = temp_r29->data; - if (temp_r31->unk18 != 0) { - temp_r31->unk18--; - } - if (temp_r31->unk4 & 0x10) { - continue; - } - temp_r31->unk1C.x += temp_r31->unk34.x * lbl_1_bss_4; - temp_r31->unk1C.z += temp_r31->unk34.z * lbl_1_bss_4; - temp_r31->unk28.x = temp_r31->unk34.x * 60.0f; - temp_r31->unk28.z = temp_r31->unk34.z * 60.0f; - temp_r31->unk34.x = temp_r31->unk34.z = 0; - } + Work2FAC *temp_r31; + s32 temp_r30; + omObjData *temp_r29; + lbl_1_bss_4 = 1.0f; + lbl_1_bss_0 = 0; + while(fn_1_78D8()); + if(lbl_1_bss_0) { + HuAudFXPlay(1359); + } + for(temp_r30=0; temp_r30<4; temp_r30++) { + temp_r29 = lbl_1_bss_6C[temp_r30]; + temp_r31 = temp_r29->data; + if(temp_r31->unk18 != 0) { + temp_r31->unk18--; + } + if(temp_r31->unk4 & 0x10) { + continue; + } + temp_r31->unk1C.x += temp_r31->unk34.x*lbl_1_bss_4; + temp_r31->unk1C.z += temp_r31->unk34.z*lbl_1_bss_4; + temp_r31->unk28.x = temp_r31->unk34.x*60.0f; + temp_r31->unk28.z = temp_r31->unk34.z*60.0f; + temp_r31->unk34.x = temp_r31->unk34.z = 0; + } } void fn_1_817C(Vec *arg0, Vec *arg1) { - Vec sp10; - sp10.x = arg1->x - arg0->x; - sp10.y = arg1->y - arg0->y; - sp10.z = arg1->z - arg0->z; - Center.x = arg1->x; - Center.y = arg1->y; - Center.z = arg1->z; - CRot.x = atan2d(sp10.y, VECMagXZ(&sp10)); - CRot.y = atan2d(-sp10.x, -sp10.z); - CRot.z = 0; - CZoom = sqrtf(VECMag2Point(&sp10)); + Vec sp10; + sp10.x = arg1->x-arg0->x; + sp10.y = arg1->y-arg0->y; + sp10.z = arg1->z-arg0->z; + Center.x = arg1->x; + Center.y = arg1->y; + Center.z = arg1->z; + CRot.x = atan2d(sp10.y, VECMagXZ(&sp10)); + CRot.y = atan2d(-sp10.x, -sp10.z); + CRot.z = 0; + CZoom = sqrtf(VECMag2Point(&sp10)); } void fn_1_84C4(float arg0, float arg1, float arg2, float arg3, float arg4, float arg5) { - Vec sp40; - Vec sp34; - sp40.x = arg0; - sp40.y = arg1; - sp40.z = arg2; - sp34.x = arg3; - sp34.y = arg4; - sp34.z = arg5; - fn_1_817C(&sp40, &sp34); + Vec sp40; + Vec sp34; + sp40.x = arg0; + sp40.y = arg1; + sp40.z = arg2; + sp34.x = arg3; + sp34.y = arg4; + sp34.z = arg5; + fn_1_817C(&sp40, &sp34); } float fn_1_883C(float arg0, float arg1, float arg2) { - float temp_f31; - temp_f31 = fmodf(arg1 - arg0, 360); - if (temp_f31 < 0.0f) { - temp_f31 += 360.0f; - } - if (temp_f31 > 180.0f) { - temp_f31 -= 360.0f; - } - temp_f31 = fmodf((arg2 * temp_f31) + arg0, 360); - if (temp_f31 < 0.0f) { - temp_f31 += 360.0f; - } - return temp_f31; + float temp_f31; + temp_f31 = fmodf(arg1-arg0, 360); + if(temp_f31 < 0.0f) { + temp_f31 += 360.0f; + } + if(temp_f31 > 180.0f) { + temp_f31 -= 360.0f; + } + temp_f31 = fmodf((arg2*temp_f31)+arg0, 360); + if(temp_f31 < 0.0f) { + temp_f31 += 360.0f; + } + return temp_f31; } diff --git a/src/REL/m408Dll/object.c b/src/REL/m408Dll/object.c index a7db6c04..b2ccec82 100644 --- a/src/REL/m408Dll/object.c +++ b/src/REL/m408Dll/object.c @@ -1,14 +1,14 @@ #include "game/object.h" +#include "game/objsub.h" +#include "game/wipe.h" #include "game/chrman.h" #include "game/minigame_seq.h" -#include "game/objsub.h" #include "game/pad.h" -#include "game/wipe.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" #include "game/hsfman.h" #include "game/hsfmotion.h" +#include "game/hsfanim.h" +#include "game/hsfdraw.h" #include "game/sprite.h" #include "game/audio.h" @@ -16,33 +16,33 @@ #include "REL/m408Dll.h" -#include "ext_math.h" #include "math.h" +#include "ext_math.h" typedef struct struct_data_20C { - s32 unk0; - float unk4; - float unk8; + s32 unk0; + float unk4; + float unk8; } StructData20C; typedef struct struct_bss_da4 { - s32 unk0; - s32 unk4; - s32 unk8; - Vec unkC; - Vec unk18; - Vec unk24; - float unk30; - Vec unk34; - float unk40[2]; - float unk48; - float unk4C; - s32 unk50; - s32 unk54; - s32 unk58; - s32 unk5C; - s32 unk60; - float unk64; + s32 unk0; + s32 unk4; + s32 unk8; + Vec unkC; + Vec unk18; + Vec unk24; + float unk30; + Vec unk34; + float unk40[2]; + float unk48; + float unk4C; + s32 unk50; + s32 unk54; + s32 unk58; + s32 unk5C; + s32 unk60; + float unk64; } StructBssDA4; void fn_1_12C6C(StructBssDA4 *arg0); @@ -56,109 +56,136 @@ void fn_1_14DB4(StructBssDA4 *arg0); void fn_1_151A4(StructBssDA4 *arg0); s32 lbl_1_data_1A0[9] = { - DATA_MAKE_NUM(DATADIR_M408, 0x12), - DATA_MAKE_NUM(DATADIR_M408, 0x12), - DATA_MAKE_NUM(DATADIR_M408, 0x12), - DATA_MAKE_NUM(DATADIR_M408, 0x12), - DATA_MAKE_NUM(DATADIR_M408, 0x12), - DATA_MAKE_NUM(DATADIR_M408, 0x14), - DATA_MAKE_NUM(DATADIR_M408, 0x14), - DATA_MAKE_NUM(DATADIR_M408, 0x16), - DATA_MAKE_NUM(DATADIR_M408, 0x17), + 0x00270012, + 0x00270012, + 0x00270012, + 0x00270012, + 0x00270012, + 0x00270014, + 0x00270014, + 0x00270016, + 0x00270017 }; s32 lbl_1_data_1C4[9] = { - DATA_MAKE_NUM(DATADIR_M408, 0x13), - DATA_MAKE_NUM(DATADIR_M408, 0x13), - DATA_MAKE_NUM(DATADIR_M408, 0x13), - DATA_MAKE_NUM(DATADIR_M408, 0x13), - DATA_MAKE_NUM(DATADIR_M408, 0x13), - DATA_MAKE_NUM(DATADIR_M408, 0x15), - DATA_MAKE_NUM(DATADIR_M408, 0x15), - 0, - 0, + 0x00270013, + 0x00270013, + 0x00270013, + 0x00270013, + 0x00270013, + 0x00270015, + 0x00270015, + 0, + 0 }; typedef void (*BssDA4Func)(StructBssDA4 *arg0); -BssDA4Func lbl_1_data_1E8[9] = { fn_1_12C6C, fn_1_1305C, fn_1_134D8, fn_1_13820, fn_1_13D88, fn_1_1406C, fn_1_144D0, fn_1_14DB4, fn_1_151A4 }; - -StructData20C lbl_1_data_20C[] = { - { 0, 10600, 100 }, - { 0, 10600, 290 }, - { 7, 10500, 0 }, - { 7, 10400, 72 }, - { 7, 10300, 144 }, - { 7, 10200, 216 }, - { 7, 10100, 288 }, - { 5, 9600, 0 }, - { 7, 9000, 0 }, - { 7, 9000, 72 }, - { 7, 9000, 144 }, - { 7, 9000, 216 }, - { 7, 9000, 288 }, - { 1, 8600, 150 }, - { 7, 8500, 216 }, - { 7, 8400, 288 }, - { 7, 8300, 0 }, - { 7, 8200, 72 }, - { 7, 8100, 144 }, - { 6, 7700, 0 }, - { 6, 7700, 180 }, - { 7, 7500, 165 }, - { 7, 7500, 285 }, - { 7, 7500, 45 }, - { 8, 7000, 225 }, - { 8, 7000, 345 }, - { 8, 7000, 105 }, - { 7, 6500, 165 }, - { 7, 6500, 285 }, - { 7, 6500, 45 }, - { 4, 5500, 0 }, - { 4, 5500, 120 }, - { 4, 5500, 240 }, - { 7, 4700, 0 }, - { 7, 4700, 72 }, - { 7, 4700, 144 }, - { 7, 4700, 216 }, - { 7, 4700, 288 }, - { 5, 4500, 120 }, - { 7, 4250, 165 }, - { 7, 4250, 285 }, - { 7, 4250, 45 }, - { 5, 4000, 120 }, - { 7, 3750, 225 }, - { 7, 3750, 345 }, - { 7, 3750, 105 }, - { 5, 3500, 240 }, - { 7, 3250, 165 }, - { 7, 3250, 285 }, - { 7, 3250, 45 }, - { 7, 2100, 36 }, - { 7, 2100, 108 }, - { 7, 2100, 180 }, - { 7, 2100, 252 }, - { 7, 2100, 324 }, - { 3, 1500, 0 }, - { 3, 1500, 120 }, - { 3, 1500, 240 }, - { 8, 1300, 165 }, - { 8, 1300, 285 }, - { 8, 1300, 45 }, - { -1, 10000, 0 }, +BssDA4Func lbl_1_data_1E8[9] = { + fn_1_12C6C, + fn_1_1305C, + fn_1_134D8, + fn_1_13820, + fn_1_13D88, + fn_1_1406C, + fn_1_144D0, + fn_1_14DB4, + fn_1_151A4 }; -GXColor lbl_1_data_4F4[4] = { { 255, 255, 255, 255 }, { 255, 255, 0, 255 }, { 0, 255, 255, 255 }, { 255, 200, 200, 255 } }; +StructData20C lbl_1_data_20C[] = { + { 0, 10600, 100 }, + { 0, 10600, 290 }, + { 7, 10500, 0 }, + { 7, 10400, 72 }, + { 7, 10300, 144 }, + { 7, 10200, 216 }, + { 7, 10100, 288 }, + { 5, 9600, 0 }, + { 7, 9000, 0 }, + { 7, 9000, 72 }, + { 7, 9000, 144 }, + { 7, 9000, 216 }, + { 7, 9000, 288 }, + { 1, 8600, 150 }, + { 7, 8500, 216 }, + { 7, 8400, 288 }, + { 7, 8300, 0 }, + { 7, 8200, 72 }, + { 7, 8100, 144 }, + { 6, 7700, 0 }, + { 6, 7700, 180 }, + { 7, 7500, 165 }, + { 7, 7500, 285 }, + { 7, 7500, 45 }, + { 8, 7000, 225 }, + { 8, 7000, 345 }, + { 8, 7000, 105 }, + { 7, 6500, 165 }, + { 7, 6500, 285 }, + { 7, 6500, 45 }, + { 4, 5500, 0 }, + { 4, 5500, 120 }, + { 4, 5500, 240 }, + { 7, 4700, 0 }, + { 7, 4700, 72 }, + { 7, 4700, 144 }, + { 7, 4700, 216 }, + { 7, 4700, 288 }, + { 5, 4500, 120 }, + { 7, 4250, 165 }, + { 7, 4250, 285 }, + { 7, 4250, 45 }, + { 5, 4000, 120 }, + { 7, 3750, 225 }, + { 7, 3750, 345 }, + { 7, 3750, 105 }, + { 5, 3500, 240 }, + { 7, 3250, 165 }, + { 7, 3250, 285 }, + { 7, 3250, 45 }, + { 7, 2100, 36 }, + { 7, 2100, 108 }, + { 7, 2100, 180 }, + { 7, 2100, 252 }, + { 7, 2100, 324 }, + { 3, 1500, 0 }, + { 3, 1500, 120 }, + { 3, 1500, 240 }, + { 8, 1300, 165 }, + { 8, 1300, 285 }, + { 8, 1300, 45 }, + { -1, 10000, 0 }, +}; -u8 lbl_1_data_504[] = { 5, 3, 1, 0 }; +GXColor lbl_1_data_4F4[4] = { + { 255, 255, 255, 255 }, + { 255, 255, 0, 255 }, + { 0, 255, 255, 255 }, + { 255, 200, 200, 255 } +}; -float lbl_1_data_508[3] = { 72, 120, 0 }; +u8 lbl_1_data_504[] = { + 5, 3, 1, 0 +}; -float lbl_1_data_514[3] = { 0, 60, 0 }; +float lbl_1_data_508[3] = { + 72, 120, 0 +}; -float lbl_1_data_520[3] = { 30, 60, 90 }; +float lbl_1_data_514[3] = { + 0, 60, 0 +}; -Vec lbl_1_data_52C[3] = { { 1500, 2500, 1500 }, { 0, 1, 0 }, { 0, 0, 0 } }; +float lbl_1_data_520[3] = { + 30, 60, 90 +}; + +Vec lbl_1_data_52C[3] = { + { 1500, 2500, 1500 }, + { 0, 1, 0 }, + { 0, 0, 0 } +}; omObjData *lbl_1_bss_75A8; omObjData *lbl_1_bss_75A4; @@ -174,9 +201,9 @@ void fn_1_15BCC(omObjData *object); void fn_1_118D0(Process *objman) { - lbl_1_bss_168 = 0; - lbl_1_bss_75A8 = omAddObjEx(objman, 40, 256, 1, -1, fn_1_11960); - lbl_1_bss_75A4 = omAddObjEx(objman, 41, 4, 0, -1, fn_1_15BCC); + lbl_1_bss_168 = 0; + lbl_1_bss_75A8 = omAddObjEx(objman, 40, 256, 1, -1, fn_1_11960); + lbl_1_bss_75A4 = omAddObjEx(objman, 41, 4, 0, -1, fn_1_15BCC); } void fn_1_11E3C(StructBssDA4 *arg0, s32 arg1); @@ -188,198 +215,195 @@ void fn_1_15658(ModelData *model, ParticleData *particle, Mtx matrix); void fn_1_11960(omObjData *object) { - StructBssDA4 *temp_r31; - s32 temp_r29; - s16 temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - s16 temp_r24; - s16 temp_r23; - s16 temp_r22; - temp_r31 = &lbl_1_bss_DA4[0]; - lbl_1_bss_DA0 = 0; - lbl_1_bss_D9C = 0; - while (lbl_1_data_20C[lbl_1_bss_DA0].unk0 != -1) { - if (lbl_1_data_20C[lbl_1_bss_DA0].unk0 == 7) { - lbl_1_bss_D9C++; - } - lbl_1_bss_DA0++; - } - object->stat |= 0x100; - temp_r27 = temp_r26 = temp_r25 = temp_r24 = -1; - for (temp_r29 = 0; temp_r29 < lbl_1_bss_DA0; temp_r29++, temp_r31++) { - fn_1_11E3C(temp_r31, temp_r29); - switch (temp_r31->unk0) { - case 0: - case 1: - case 2: - case 3: - case 4: - if (temp_r27 < 0) { - temp_r27 = Hu3DModelCreateFile(lbl_1_data_1A0[temp_r31->unk0]); - temp_r23 = Hu3DJointMotionFile(temp_r27, lbl_1_data_1C4[temp_r31->unk0]); - Hu3DModelAttrSet(temp_r27, HU3D_MOTATTR_LOOP); - Hu3DMotionSet(temp_r27, temp_r23); - temp_r28 = temp_r27; - } - else { - temp_r28 = Hu3DModelLink(temp_r27); - } - break; - - case 5: - case 6: - if (temp_r26 < 0) { - temp_r26 = Hu3DModelCreateFile(lbl_1_data_1A0[temp_r31->unk0]); - temp_r22 = Hu3DJointMotionFile(temp_r26, lbl_1_data_1C4[temp_r31->unk0]); - Hu3DModelAttrSet(temp_r26, HU3D_MOTATTR_LOOP); - Hu3DMotionSet(temp_r26, temp_r22); - temp_r28 = temp_r26; - } - else { - temp_r28 = Hu3DModelLink(temp_r26); - } - break; - - case 7: - if (temp_r25 < 0) { - temp_r25 = Hu3DModelCreateFile(lbl_1_data_1A0[temp_r31->unk0]); - temp_r28 = temp_r25; - } - else { - temp_r28 = Hu3DModelLink(temp_r25); - } - break; - - case 8: - if (temp_r24 < 0) { - temp_r24 = Hu3DModelCreateFile(lbl_1_data_1A0[temp_r31->unk0]); - temp_r28 = temp_r24; - } - else { - temp_r28 = Hu3DModelLink(temp_r24); - } - break; - - default: - break; - } - object->model[temp_r29] = temp_r28; - Hu3DModelPosSetV(object->model[temp_r29], &temp_r31->unkC); - Hu3DModelRotSetV(object->model[temp_r29], &temp_r31->unk34); - Hu3DModelScaleSet(object->model[temp_r29], 0.15f, 0.15f, 0.15f); - Hu3DModelCameraSet(object->model[temp_r29], 1); - Hu3DModelAttrSet(object->model[temp_r29], HU3D_ATTR_DISPOFF); - if (temp_r31->unk0 < 7) { - Hu3DModelAttrSet(object->model[temp_r29], HU3D_MOTATTR_LOOP); - } - } - for (temp_r29 = lbl_1_bss_DA0; temp_r29 < lbl_1_bss_DA0 + lbl_1_bss_D9C; temp_r29++) { - temp_r28 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M408, 0x18)), 32); - object->model[temp_r29] = temp_r28; - Hu3DModelAttrSet(temp_r28, HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(temp_r28, 6); - Hu3DParticleColSet(temp_r28, 255, 255, 255); - Hu3DParticleHookSet(temp_r28, fn_1_15658); - Hu3DModelPosSet(temp_r28, 0, 0, 0); - fn_1_155E0(temp_r28, 0); - } - object->func = fn_1_12354; + StructBssDA4 *temp_r31; + s32 temp_r29; + s16 temp_r28; + s16 temp_r27; + s16 temp_r26; + s16 temp_r25; + s16 temp_r24; + s16 temp_r23; + s16 temp_r22; + temp_r31 = &lbl_1_bss_DA4[0]; + lbl_1_bss_DA0 = 0; + lbl_1_bss_D9C = 0; + while(lbl_1_data_20C[lbl_1_bss_DA0].unk0 != -1) { + if(lbl_1_data_20C[lbl_1_bss_DA0].unk0 == 7) { + lbl_1_bss_D9C++; + } + lbl_1_bss_DA0++; + } + object->stat |= 0x100; + temp_r27 = temp_r26 = temp_r25 = temp_r24 = -1; + for(temp_r29=0; temp_r29unk0) { + case 0: + case 1: + case 2: + case 3: + case 4: + if(temp_r27 < 0) { + temp_r27 = Hu3DModelCreateFile(lbl_1_data_1A0[temp_r31->unk0]); + temp_r23 = Hu3DJointMotionFile(temp_r27, lbl_1_data_1C4[temp_r31->unk0]); + Hu3DModelAttrSet(temp_r27, 0x40000001); + Hu3DMotionSet(temp_r27, temp_r23); + temp_r28 = temp_r27; + } else { + temp_r28 = Hu3DModelLink(temp_r27); + } + break; + + case 5: + case 6: + if(temp_r26 < 0) { + temp_r26 = Hu3DModelCreateFile(lbl_1_data_1A0[temp_r31->unk0]); + temp_r22 = Hu3DJointMotionFile(temp_r26, lbl_1_data_1C4[temp_r31->unk0]); + Hu3DModelAttrSet(temp_r26, 0x40000001); + Hu3DMotionSet(temp_r26, temp_r22); + temp_r28 = temp_r26; + } else { + temp_r28 = Hu3DModelLink(temp_r26); + } + break; + + case 7: + if(temp_r25 < 0) { + temp_r25 = Hu3DModelCreateFile(lbl_1_data_1A0[temp_r31->unk0]); + temp_r28 = temp_r25; + } else { + temp_r28 = Hu3DModelLink(temp_r25); + } + break; + + case 8: + if(temp_r24 < 0) { + temp_r24 = Hu3DModelCreateFile(lbl_1_data_1A0[temp_r31->unk0]); + temp_r28 = temp_r24; + } else { + temp_r28 = Hu3DModelLink(temp_r24); + } + break; + + default: + break; + } + object->model[temp_r29] = temp_r28; + Hu3DModelPosSetV(object->model[temp_r29], &temp_r31->unkC); + Hu3DModelRotSetV(object->model[temp_r29], &temp_r31->unk34); + Hu3DModelScaleSet(object->model[temp_r29], 0.15f, 0.15f, 0.15f); + Hu3DModelCameraSet(object->model[temp_r29], 1); + Hu3DModelAttrSet(object->model[temp_r29], 1); + if(temp_r31->unk0 < 7) { + Hu3DModelAttrSet(object->model[temp_r29], 0x40000001); + } + } + for(temp_r29=lbl_1_bss_DA0; temp_r29model[temp_r29] = temp_r28; + Hu3DModelAttrSet(temp_r28, 1); + Hu3DModelLayerSet(temp_r28, 6); + Hu3DParticleColSet(temp_r28, 255, 255, 255); + Hu3DParticleHookSet(temp_r28, fn_1_15658); + Hu3DModelPosSet(temp_r28, 0, 0, 0); + fn_1_155E0(temp_r28, 0); + } + object->func = fn_1_12354; } void fn_1_11E3C(StructBssDA4 *arg0, s32 arg1) { - float temp_f31; - float temp_f30; - s32 temp_r29; - temp_r29 = 0; - temp_f30 = 40; - temp_f31 = 20; - arg0->unk0 = lbl_1_data_20C[arg1].unk0; - arg0->unk4 = arg1; - arg0->unk8 = -1; - arg0->unk18.x = arg0->unkC.x = 0; - arg0->unk18.y = arg0->unkC.y = lbl_1_data_20C[arg1].unk4; - arg0->unk18.z = arg0->unkC.z = 0; - arg0->unk24.x = arg0->unk24.y = arg0->unk24.z = 0; - arg0->unk48 = 180; - arg0->unk34.x = arg0->unk34.z = arg0->unk34.y = 0; - arg0->unk40[0] = arg0->unk40[1] = 0; - arg0->unk30 = 0; - arg0->unk4C = 1; - arg0->unk50 = 1; - arg0->unk54 = 0; - arg0->unk5C = 1; - arg0->unk58 = 0; - arg0->unk60 = 0; - arg0->unk64 = 0; - switch (arg0->unk0) { - case 0: - arg0->unk64 = temp_f31 + (rand8() % (int)temp_f30); - arg0->unk30 = lbl_1_data_20C[arg1].unk8; - arg0->unk34.y = 180 + (-arg0->unk30 + 90); + float temp_f31; + float temp_f30; + s32 temp_r29; + temp_r29 = 0; + temp_f30 = 40; + temp_f31 = 20; + arg0->unk0 = lbl_1_data_20C[arg1].unk0; + arg0->unk4 = arg1; + arg0->unk8 = -1; + arg0->unk18.x = arg0->unkC.x = 0; + arg0->unk18.y = arg0->unkC.y = lbl_1_data_20C[arg1].unk4; + arg0->unk18.z = arg0->unkC.z = 0; + arg0->unk24.x = arg0->unk24.y = arg0->unk24.z = 0; + arg0->unk48 = 180; + arg0->unk34.x = arg0->unk34.z = arg0->unk34.y = 0; + arg0->unk40[0] = arg0->unk40[1] = 0; + arg0->unk30 = 0; + arg0->unk4C = 1; + arg0->unk50 = 1; + arg0->unk54 = 0; + arg0->unk5C = 1; + arg0->unk58 = 0; + arg0->unk60 = 0; + arg0->unk64 = 0; + switch(arg0->unk0) { + case 0: + arg0->unk64 = temp_f31+(rand8()%(int)temp_f30); + arg0->unk30 = lbl_1_data_20C[arg1].unk8; + arg0->unk34.y = 180+(-arg0->unk30+90); + + break; + + case 1: + arg0->unk34.y = arg0->unk40[0] = 180+(-arg0->unk30+90); + arg0->unk30 = rand8()%360; + break; + + case 2: + arg0->unk30 = lbl_1_data_20C[arg1].unk8; + arg0->unk34.y = 90+(180+(-arg0->unk30+90)); + break; + + case 3: + arg0->unk30 = lbl_1_data_20C[arg1].unk8; + arg0->unk34.y = (180+(-arg0->unk30+90))-90; + break; + + case 4: + arg0->unk30 = lbl_1_data_20C[arg1].unk8; + arg0->unk34.y = 180+(-arg0->unk30+90); + break; + + case 5: + arg0->unk30 = rand8()%360; + arg0->unk34.y = 180+(-arg0->unk30+90); + arg0->unk48 = 0; + break; + + case 6: + arg0->unk30 = lbl_1_data_20C[arg1].unk8; + arg0->unk34.y = -arg0->unk30+90; + break; + - break; - - case 1: - arg0->unk34.y = arg0->unk40[0] = 180 + (-arg0->unk30 + 90); - arg0->unk30 = rand8() % 360; - break; - - case 2: - arg0->unk30 = lbl_1_data_20C[arg1].unk8; - arg0->unk34.y = 90 + (180 + (-arg0->unk30 + 90)); - break; - - case 3: - arg0->unk30 = lbl_1_data_20C[arg1].unk8; - arg0->unk34.y = (180 + (-arg0->unk30 + 90)) - 90; - break; - - case 4: - arg0->unk30 = lbl_1_data_20C[arg1].unk8; - arg0->unk34.y = 180 + (-arg0->unk30 + 90); - break; - - case 5: - arg0->unk30 = rand8() % 360; - arg0->unk34.y = 180 + (-arg0->unk30 + 90); - arg0->unk48 = 0; - break; - - case 6: - arg0->unk30 = lbl_1_data_20C[arg1].unk8; - arg0->unk34.y = -arg0->unk30 + 90; - break; - - case 7: - case 8: - arg0->unk30 = lbl_1_data_20C[arg1].unk8; - arg0->unk8 = lbl_1_bss_DA0 + temp_r29; - temp_r29++; - break; - } - if (arg0->unk34.y > 360) { - arg0->unk34.y -= 360; - } - else { - if (arg0->unk34.y < 0) { - arg0->unk34.y += 360; - } - } + + case 7: + case 8: + arg0->unk30 = lbl_1_data_20C[arg1].unk8; + arg0->unk8 = lbl_1_bss_DA0+temp_r29; + temp_r29++; + break; + } + if(arg0->unk34.y > 360) { + arg0->unk34.y -= 360; + } else { + if(arg0->unk34.y < 0) { + arg0->unk34.y += 360; + } + } } void fn_1_12354(omObjData *object) { - s32 temp_r31; - u32 temp_r30; - temp_r30 = fn_1_6878(); - if (temp_r30 == 2) { - for (temp_r31 = 0; temp_r31 < lbl_1_bss_DA0; temp_r31++) - ; - object->func = fn_1_123C8; - } + s32 temp_r31; + u32 temp_r30; + temp_r30 = fn_1_6878(); + if(temp_r30 == 2) { + for(temp_r31=0; temp_r31func =fn_1_123C8; + } + } void fn_1_12670(omObjData *object); @@ -388,973 +412,952 @@ void fn_1_127A0(StructBssDA4 *object); void fn_1_123C8(omObjData *object) { - StructBssDA4 *temp_r31; - s32 temp_r29; - u32 temp_r28; - temp_r31 = &lbl_1_bss_DA4[0]; - lbl_1_bss_168 = 0; - for (temp_r29 = 0; temp_r29 < lbl_1_bss_DA0; temp_r29++, temp_r31++) { - if (temp_r31->unk50 == 1) { - lbl_1_data_1E8[temp_r31->unk0](temp_r31); - if (temp_r31->unk5C == 0) { - fn_1_127A0(temp_r31); - } - Hu3DModelPosSetV(object->model[temp_r29], &temp_r31->unkC); - Hu3DModelRotSetV(object->model[temp_r29], &temp_r31->unk34); - Hu3DModelScaleSet(object->model[temp_r29], 0.15f * temp_r31->unk4C, 0.15f * temp_r31->unk4C, 0.15f * temp_r31->unk4C); - if (temp_r31->unkC.y > fn_1_6888() - 1000 && temp_r31->unkC.y < fn_1_6888() + 200) { - Hu3DModelAttrReset(object->model[temp_r29], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(object->model[temp_r29], HU3D_ATTR_DISPOFF); - } - if (temp_r31->unk0 == 7 || temp_r31->unk0 == 8) { - if (temp_r31->unkC.y > fn_1_6888() - 150 && temp_r31->unkC.y < fn_1_6888() + 10) { - lbl_1_bss_16C[lbl_1_bss_168++] = temp_r31->unkC; - } - } - } - else { - Hu3DModelAttrSet(object->model[temp_r29], HU3D_ATTR_DISPOFF); - } - } - temp_r28 = fn_1_6878(); - if (temp_r28 == 5) { - for (temp_r29 = 0; temp_r29 < lbl_1_bss_DA0; temp_r29++, temp_r31++) { - Hu3DModelAttrSet(object->model[temp_r29], HU3D_ATTR_DISPOFF); - } - object->func = fn_1_12670; - } + StructBssDA4 *temp_r31; + s32 temp_r29; + u32 temp_r28; + temp_r31 = &lbl_1_bss_DA4[0]; + lbl_1_bss_168 = 0; + for(temp_r29=0; temp_r29unk50 == 1) { + lbl_1_data_1E8[temp_r31->unk0](temp_r31); + if(temp_r31->unk5C == 0) { + fn_1_127A0(temp_r31); + } + Hu3DModelPosSetV(object->model[temp_r29], &temp_r31->unkC); + Hu3DModelRotSetV(object->model[temp_r29], &temp_r31->unk34); + Hu3DModelScaleSet(object->model[temp_r29], 0.15f*temp_r31->unk4C, 0.15f*temp_r31->unk4C, 0.15f*temp_r31->unk4C); + if(temp_r31->unkC.y > fn_1_6888()-1000 && temp_r31->unkC.y < fn_1_6888()+200) { + Hu3DModelAttrReset(object->model[temp_r29], 1); + } else { + Hu3DModelAttrSet(object->model[temp_r29], 1); + } + if(temp_r31->unk0 == 7 || temp_r31->unk0 == 8) { + if(temp_r31->unkC.y > fn_1_6888()-150 && temp_r31->unkC.y < fn_1_6888()+10) { + lbl_1_bss_16C[lbl_1_bss_168++] = temp_r31->unkC; + + } + } + } else { + Hu3DModelAttrSet(object->model[temp_r29], 1); + } + } + temp_r28 = fn_1_6878(); + if(temp_r28 == 5) { + for(temp_r29=0; temp_r29model[temp_r29], 1); + } + object->func = fn_1_12670; + } + } -void fn_1_12670(omObjData *object) { } +void fn_1_12670(omObjData *object) +{ + +} void fn_1_15618(s16 arg0, float arg1, float arg2, float arg3); void fn_1_15B50(s16 arg0); float fn_1_12674(StructBssDA4 *arg0) { - Vec sp8; - float temp_f31; - float temp_f30; - float temp_f29; - Work2FAC *temp_r31; - s32 temp_r30; - temp_f30 = -1; - temp_f29 = 10000; - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - temp_r31 = fn_1_68A8(temp_r30); - if (temp_r31->unk4 & 0x10) { - continue; - } - sp8.x = temp_r31->unk1C.x - arg0->unk24.x; - sp8.y = 0; - sp8.z = temp_r31->unk1C.z - arg0->unk24.z; - temp_f31 = VECMag(&sp8); - if (temp_f31 < temp_f29) { - temp_f30 = atan2d(sp8.x, sp8.z); - temp_f29 = temp_f31; - } - } - return temp_f30; + Vec sp8; + float temp_f31; + float temp_f30; + float temp_f29; + Work2FAC *temp_r31; + s32 temp_r30; + temp_f30 = -1; + temp_f29 = 10000; + for(temp_r30=0; temp_r30<4; temp_r30++) { + temp_r31 = fn_1_68A8(temp_r30); + if(temp_r31->unk4 & 0x10) { + continue; + } + sp8.x = temp_r31->unk1C.x-arg0->unk24.x; + sp8.y = 0; + sp8.z = temp_r31->unk1C.z-arg0->unk24.z; + temp_f31 = VECMag(&sp8); + if(temp_f31 < temp_f29) { + temp_f30 = atan2d(sp8.x, sp8.z); + temp_f29 = temp_f31; + } + } + return temp_f30; } void fn_1_127A0(StructBssDA4 *arg0) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f26; - float temp_f23; - Work2FAC *temp_r31; - s32 temp_r29; - temp_f23 = 14; - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - temp_r31 = fn_1_68A8(temp_r29); - if (temp_r31->unk4 & 0x12) { - continue; - } - switch (arg0->unk0) { - case 0: - case 1: - case 2: - case 3: - case 4: - case 7: - case 8: - temp_f31 = temp_r31->unk1C.x - arg0->unk24.x; - temp_f29 = temp_r31->unk1C.y - arg0->unk24.y; - temp_f30 = temp_r31->unk1C.z - arg0->unk24.z; - temp_f26 = VECMagPoint(temp_f31, temp_f29, temp_f30); - break; - - case 5: - case 6: - temp_f31 = temp_r31->unk1C.x - arg0->unk24.x; - temp_f30 = temp_r31->unk1C.z - arg0->unk24.z; - temp_f26 = VECMagPoint(temp_f31, 0, temp_f30); - break; - } - if (temp_f26 < temp_f23 && 0.0f != temp_f26) { - if (arg0->unk0 != 7 && arg0->unk0 != 8) { - temp_r31->unk4 |= 0x1; - temp_r31->unk40.x = temp_f31; - temp_r31->unk40.z = temp_f30; - lbl_1_bss_D6C[temp_r29].x = (0.5f * temp_f31) + arg0->unk24.x; - lbl_1_bss_D6C[temp_r29].z = (0.5f * temp_f30) + arg0->unk24.z; - lbl_1_bss_D6C[temp_r29].y = temp_r31->unk1C.y; - lbl_1_bss_75A4->work[0] = temp_r29; - } - else { - arg0->unk58 = 1; - if (arg0->unk0 == 8) { - temp_r31->unk14 += 5; - fn_1_67C4(temp_r29, 5); - } - else { - temp_r31->unk14 += 1; - fn_1_67C4(temp_r29, 1); - } - } - } - } + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f26; + float temp_f23; + Work2FAC *temp_r31; + s32 temp_r29; + temp_f23 = 14; + for(temp_r29=0; temp_r29<4; temp_r29++) { + temp_r31 = fn_1_68A8(temp_r29); + if(temp_r31->unk4 & 0x12) { + continue; + } + switch(arg0->unk0) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 7: + case 8: + temp_f31 = temp_r31->unk1C.x-arg0->unk24.x; + temp_f29 = temp_r31->unk1C.y-arg0->unk24.y; + temp_f30 = temp_r31->unk1C.z-arg0->unk24.z; + temp_f26 = VECMagPoint(temp_f31, temp_f29, temp_f30); + break; + + case 5: + case 6: + temp_f31 = temp_r31->unk1C.x-arg0->unk24.x; + temp_f30 = temp_r31->unk1C.z-arg0->unk24.z; + temp_f26 = VECMagPoint(temp_f31, 0, temp_f30); + break; + } + if(temp_f26 < temp_f23 && 0.0f != temp_f26) { + if(arg0->unk0 != 7 && arg0->unk0 != 8) { + temp_r31->unk4 |= 0x1; + temp_r31->unk40.x = temp_f31; + temp_r31->unk40.z = temp_f30; + lbl_1_bss_D6C[temp_r29].x = (0.5f*temp_f31)+arg0->unk24.x; + lbl_1_bss_D6C[temp_r29].z = (0.5f*temp_f30)+arg0->unk24.z; + lbl_1_bss_D6C[temp_r29].y = temp_r31->unk1C.y; + lbl_1_bss_75A4->work[0] = temp_r29; + } else { + arg0->unk58 = 1; + if(arg0->unk0 == 8) { + temp_r31->unk14 += 5; + fn_1_67C4(temp_r29, 5); + } else { + temp_r31->unk14 += 1; + fn_1_67C4(temp_r29, 1); + } + } + } + } } void fn_1_12C6C(StructBssDA4 *arg0) { - Work2FAC *temp_r30; - float temp_f31; - float temp_f30; - float temp_f26; - float temp_f25; - temp_f26 = cosd(arg0->unk30); - temp_f25 = sind(arg0->unk30); - arg0->unkC.x = temp_f26 * arg0->unk64; - arg0->unkC.z = temp_f25 * arg0->unk64; - temp_f30 = fn_1_6888(); - switch (arg0->unk54) { - case 0: - if (arg0->unkC.y > temp_f30) { - arg0->unk60 = 0; - arg0->unk54 = 1; - } - arg0->unk34.x = fn_1_883C(arg0->unk34.x, -30, 0.1f); - arg0->unk5C = 1; - break; - - case 1: - arg0->unk5C = 0; - arg0->unkC.y = temp_f30; - arg0->unk24.x = arg0->unkC.x; - arg0->unk24.y = arg0->unkC.y + 5.0f; - arg0->unk24.z = arg0->unkC.z; - temp_f31 = fn_1_12674(arg0); - if (temp_f31 >= 0) { - arg0->unk34.y = fn_1_883C(arg0->unk34.y, temp_f31, 0.1f); - } - arg0->unk34.x = fn_1_883C(arg0->unk34.x, 0, 0.1f); - if (arg0->unk60 < 90.0f) { - arg0->unk60++; - } - else { - arg0->unk54 = 3; - } - break; - - case 3: - arg0->unk34.x = fn_1_883C(arg0->unk34.x, -30, 0.1f); - arg0->unk5C = 1; - if (arg0->unkC.y - 15.0f > Center.y + CZoom) { - arg0->unk54 = 4; - arg0->unk50 = 0; - Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], HU3D_ATTR_DISPOFF); - } - break; - - case 4: - break; - } + Work2FAC *temp_r30; + float temp_f31; + float temp_f30; + float temp_f26; + float temp_f25; + temp_f26 = cosd(arg0->unk30); + temp_f25 = sind(arg0->unk30); + arg0->unkC.x = temp_f26*arg0->unk64; + arg0->unkC.z = temp_f25*arg0->unk64; + temp_f30 = fn_1_6888(); + switch(arg0->unk54) { + case 0: + if(arg0->unkC.y > temp_f30) { + arg0->unk60 = 0; + arg0->unk54 = 1; + } + arg0->unk34.x = fn_1_883C(arg0->unk34.x, -30, 0.1f); + arg0->unk5C = 1; + break; + + case 1: + arg0->unk5C = 0; + arg0->unkC.y = temp_f30; + arg0->unk24.x = arg0->unkC.x; + arg0->unk24.y = arg0->unkC.y+5.0f; + arg0->unk24.z = arg0->unkC.z; + temp_f31 = fn_1_12674(arg0); + if(temp_f31 >= 0) { + arg0->unk34.y = fn_1_883C(arg0->unk34.y, temp_f31, 0.1f); + } + arg0->unk34.x = fn_1_883C(arg0->unk34.x, 0, 0.1f); + if(arg0->unk60 < 90.0f) { + arg0->unk60++; + } else { + arg0->unk54 = 3; + } + break; + + case 3: + arg0->unk34.x = fn_1_883C(arg0->unk34.x, -30, 0.1f); + arg0->unk5C = 1; + if(arg0->unkC.y-15.0f > Center.y+CZoom) { + arg0->unk54 = 4; + arg0->unk50 = 0; + Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], 1); + } + break; + + case 4: + break; + } } void fn_1_1305C(StructBssDA4 *arg0) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - float temp_f27; - float temp_f26; - arg0->unk48 += 1.5f; - if (arg0->unk48 > 360.0f) { - arg0->unk48 -= 360.0f; - } - temp_f29 = cosd(arg0->unk30); - temp_f28 = sind(arg0->unk30); - arg0->unk18.x = temp_f29 * arg0->unk64; - arg0->unk18.z = temp_f28 * arg0->unk64; - temp_f31 = sind(arg0->unk48); - arg0->unkC.x = temp_f29 * (60 * temp_f31); - arg0->unkC.z = temp_f28 * (60 * temp_f31); - temp_f30 = -arg0->unk30 - 90; - if (temp_f31 < 0) { - temp_f30 += 180; - } - arg0->unk34.y = fn_1_883C(arg0->unk34.y, temp_f30, 0.05f); - temp_f30 = fabs(temp_f31); - arg0->unk34.x = -30 * temp_f30; - temp_f26 = fn_1_6888(); - switch (arg0->unk54) { - case 0: - if (arg0->unkC.y > temp_f26) { - arg0->unk60 = 0; - arg0->unk54 = 1; - } - arg0->unk5C = 1; - if (temp_f31 >= sind(75.0f)) { - temp_f27 = (arg0->unk48 - 75) / 30; - arg0->unk40[1] = 180 + arg0->unk40[0]; - } - else if (temp_f31 <= sind(255.0f)) { - temp_f27 = (arg0->unk48 - 255) / 30; - arg0->unk40[1] = 180 + arg0->unk40[0]; - } - else { - temp_f27 = 0; - if (arg0->unk40[1] > 360.0f) { - arg0->unk40[1] -= 360.0f; - } - arg0->unk40[0] = arg0->unk40[1]; - } - break; - - case 1: - arg0->unk5C = 0; - arg0->unkC.y = temp_f26; - arg0->unk24.x = arg0->unkC.x; - arg0->unk24.y = arg0->unkC.y + 5; - arg0->unk24.z = arg0->unkC.z; - if (arg0->unk60 < 120.0f) { - arg0->unk60++; - } - else { - arg0->unk54 = 3; - } - break; - - case 3: - arg0->unk5C = 1; - if (arg0->unkC.y - 15.0f > Center.y + CZoom) { - arg0->unk54 = 4; - arg0->unk50 = 0; - Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], HU3D_ATTR_DISPOFF); - } - break; - - case 4: - break; - } + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + float temp_f27; + float temp_f26; + arg0->unk48 += 1.5f; + if(arg0->unk48 > 360.0f) { + arg0->unk48 -= 360.0f; + } + temp_f29 = cosd(arg0->unk30); + temp_f28 = sind(arg0->unk30); + arg0->unk18.x = temp_f29*arg0->unk64; + arg0->unk18.z = temp_f28*arg0->unk64; + temp_f31 = sind(arg0->unk48); + arg0->unkC.x = temp_f29*(60*temp_f31); + arg0->unkC.z = temp_f28*(60*temp_f31); + temp_f30 = -arg0->unk30-90; + if(temp_f31 < 0) { + temp_f30 += 180; + } + arg0->unk34.y = fn_1_883C(arg0->unk34.y, temp_f30, 0.05f); + temp_f30 = fabs(temp_f31); + arg0->unk34.x = -30*temp_f30; + temp_f26 = fn_1_6888(); + switch(arg0->unk54) { + case 0: + if(arg0->unkC.y > temp_f26) { + arg0->unk60 = 0; + arg0->unk54 = 1; + } + arg0->unk5C = 1; + if(temp_f31 >= sind(75.0f)) { + temp_f27 = (arg0->unk48-75)/30; + arg0->unk40[1] = 180+arg0->unk40[0]; + } else if(temp_f31 <= sind(255.0f)) { + temp_f27 = (arg0->unk48-255)/30; + arg0->unk40[1] = 180+arg0->unk40[0]; + } else { + temp_f27 = 0; + if(arg0->unk40[1] > 360.0f) { + arg0->unk40[1] -= 360.0f; + } + arg0->unk40[0] = arg0->unk40[1]; + } + break; + + case 1: + arg0->unk5C = 0; + arg0->unkC.y = temp_f26; + arg0->unk24.x = arg0->unkC.x; + arg0->unk24.y = arg0->unkC.y+5; + arg0->unk24.z = arg0->unkC.z; + if(arg0->unk60 < 120.0f) { + arg0->unk60++; + } else { + arg0->unk54 = 3; + } + break; + + case 3: + arg0->unk5C = 1; + if(arg0->unkC.y-15.0f > Center.y+CZoom) { + arg0->unk54 = 4; + arg0->unk50 = 0; + Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], 1); + } + break; + + case 4: + break; + } } void fn_1_134D8(StructBssDA4 *arg0) { - float temp_f31; - float temp_f30; - float temp_f29; - arg0->unk30 += 1.8f; - if (arg0->unk30 > 360.0f) { - arg0->unk30 -= 360.0f; - } - temp_f30 = cosd(arg0->unk30); - temp_f29 = sind(arg0->unk30); - arg0->unk64 = 64; - arg0->unkC.x = temp_f30 * arg0->unk64; - arg0->unkC.z = temp_f29 * arg0->unk64 * 0.7f; - temp_f31 = fn_1_6888(); - switch (arg0->unk54) { - case 0: - if (arg0->unkC.y > temp_f31) { - arg0->unk60 = 0; - arg0->unk54 = 1; - } - arg0->unk5C = 1; - arg0->unk34.y = -arg0->unk30; - if (arg0->unk34.y > 360.0f) { - arg0->unk34.y -= 360.0f; - } - else if (arg0->unk34.y < 0.0f) { - arg0->unk34.y += 360.0f; - } - break; - - case 1: - arg0->unk5C = 0; - arg0->unkC.y = temp_f31; - arg0->unk24.x = arg0->unkC.x; - arg0->unk24.y = arg0->unkC.y + 5; - arg0->unk24.z = arg0->unkC.z; - arg0->unk34.y -= 10.0f; - if (arg0->unk34.y > 360.0f) { - arg0->unk34.y -= 360.0f; - } - if (arg0->unk60 < 120.0f) { - arg0->unk60++; - } - else { - arg0->unk54 = 3; - } - break; - - case 3: - arg0->unk5C = 1; - if (arg0->unkC.y - 15.0f > Center.y + CZoom) { - arg0->unk54 = 4; - arg0->unk50 = 0; - Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], HU3D_ATTR_DISPOFF); - } - break; - - case 4: - break; - } + float temp_f31; + float temp_f30; + float temp_f29; + arg0->unk30 += 1.8f; + if(arg0->unk30 > 360.0f) { + arg0->unk30 -= 360.0f; + } + temp_f30 = cosd(arg0->unk30); + temp_f29 = sind(arg0->unk30); + arg0->unk64 = 64; + arg0->unkC.x = temp_f30*arg0->unk64; + arg0->unkC.z = temp_f29*arg0->unk64*0.7f; + temp_f31 = fn_1_6888(); + switch(arg0->unk54) { + case 0: + if(arg0->unkC.y > temp_f31) { + arg0->unk60 = 0; + arg0->unk54 = 1; + } + arg0->unk5C = 1; + arg0->unk34.y = -arg0->unk30; + if(arg0->unk34.y > 360.0f) { + arg0->unk34.y -= 360.0f; + } else if(arg0->unk34.y < 0.0f) { + arg0->unk34.y += 360.0f; + } + break; + + case 1: + arg0->unk5C = 0; + arg0->unkC.y = temp_f31; + arg0->unk24.x = arg0->unkC.x; + arg0->unk24.y = arg0->unkC.y+5; + arg0->unk24.z = arg0->unkC.z; + arg0->unk34.y -= 10.0f; + if(arg0->unk34.y > 360.0f) { + arg0->unk34.y -= 360.0f; + } + if(arg0->unk60 < 120.0f) { + arg0->unk60++; + } else { + arg0->unk54 = 3; + } + break; + + case 3: + arg0->unk5C = 1; + if(arg0->unkC.y-15.0f > Center.y+CZoom) { + arg0->unk54 = 4; + arg0->unk50 = 0; + Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], 1); + } + break; + + case 4: + break; + } } void fn_1_13820(StructBssDA4 *arg0) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - float temp_f27; - float temp_f26; - float temp_f25; - float temp_f24; - float temp_f23; - float temp_f22; - float temp_f21; - float temp_f20; - float temp_f19; - float sp8; - arg0->unk30 += 2.0f; - if (arg0->unk30 > 360.0f) { - arg0->unk30 -= 360.0f; - } - temp_f26 = cosd(arg0->unk30); - temp_f25 = sind(arg0->unk30); - arg0->unk40[1] = 270.0f; - temp_f29 = arg0->unk18.y; - switch (arg0->unk54) { - case 0: - temp_f31 = 10; - temp_f28 = temp_f26 * temp_f31; - temp_f27 = temp_f25 * temp_f31; - temp_f29 = arg0->unk18.y; - arg0->unk40[0] = 0; - arg0->unk34.x = fn_1_883C(arg0->unk34.x, -30, 0.1); - arg0->unk34.y = 180.0f + (90.0f + -arg0->unk30); - temp_f30 = fn_1_6888(); - if (temp_f30 < 5.0f + temp_f29) { - arg0->unk48 = 0; - arg0->unk54 = 1; - arg0->unk40[0] = 8; - } - arg0->unk5C = 1; - break; - - case 1: - arg0->unk48 += 2.0f; - if (arg0->unk48 > 180.0f) { - arg0->unk54 = 3; - } - arg0->unk40[0] = 0; - arg0->unk34.x = fn_1_883C(arg0->unk34.x, 40, 0.1); - arg0->unk34.y = fn_1_883C(arg0->unk34.y, -arg0->unk30, 0.1); - temp_f23 = cosd(arg0->unk48 * 0.5f); - temp_f31 = (-100 * temp_f23) + 110; - temp_f30 = fn_1_6888(); - temp_f28 = temp_f26 * temp_f31; - temp_f27 = temp_f25 * temp_f31; - temp_f29 = temp_f30; - arg0->unk24.x = temp_f28; - arg0->unk24.y = temp_f30; - arg0->unk24.z = temp_f27; - arg0->unk5C = 0; - break; - - case 3: - arg0->unk5C = 1; - arg0->unk54 = 4; - arg0->unk50 = 0; - Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], HU3D_ATTR_DISPOFF); - break; - - case 4: - break; - } - if (arg0->unk34.y > 360) { - arg0->unk34.y -= 360; - } - else if (arg0->unk34.y < 0) { - arg0->unk34.y += 360; - } - sp8 = 0; - temp_f22 = -cosd(arg0->unk34.x) * 5; - temp_f24 = -sind(arg0->unk34.x) * 5; - temp_f21 = temp_f24 * sind(arg0->unk34.y); - temp_f20 = temp_f22; - temp_f19 = temp_f24 * cosd(arg0->unk34.y); - arg0->unkC.x = temp_f21 + temp_f28; - arg0->unkC.y = temp_f20 + temp_f29; - arg0->unkC.z = temp_f19 + temp_f27; + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + float temp_f27; + float temp_f26; + float temp_f25; + float temp_f24; + float temp_f23; + float temp_f22; + float temp_f21; + float temp_f20; + float temp_f19; + float sp8; + arg0->unk30 += 2.0f; + if(arg0->unk30 > 360.0f) { + arg0->unk30 -= 360.0f; + } + temp_f26 = cosd(arg0->unk30); + temp_f25 = sind(arg0->unk30); + arg0->unk40[1] = 270.0f; + temp_f29 = arg0->unk18.y; + switch(arg0->unk54) { + case 0: + temp_f31 = 10; + temp_f28 = temp_f26*temp_f31; + temp_f27 = temp_f25*temp_f31; + temp_f29 = arg0->unk18.y; + arg0->unk40[0] = 0; + arg0->unk34.x = fn_1_883C(arg0->unk34.x, -30, 0.1); + arg0->unk34.y = 180.0f+(90.0f+ -arg0->unk30); + temp_f30 = fn_1_6888(); + if(temp_f30 < 5.0f+temp_f29) { + arg0->unk48 = 0; + arg0->unk54 = 1; + arg0->unk40[0] = 8; + } + arg0->unk5C = 1; + break; + + case 1: + arg0->unk48 += 2.0f; + if(arg0->unk48 > 180.0f) { + arg0->unk54 = 3; + } + arg0->unk40[0] = 0; + arg0->unk34.x = fn_1_883C(arg0->unk34.x, 40, 0.1); + arg0->unk34.y = fn_1_883C(arg0->unk34.y, -arg0->unk30, 0.1); + temp_f23 = cosd(arg0->unk48*0.5f); + temp_f31 = (-100*temp_f23)+110; + temp_f30 = fn_1_6888(); + temp_f28 = temp_f26*temp_f31; + temp_f27 = temp_f25*temp_f31; + temp_f29 = temp_f30; + arg0->unk24.x = temp_f28; + arg0->unk24.y = temp_f30; + arg0->unk24.z = temp_f27; + arg0->unk5C = 0; + break; + + case 3: + arg0->unk5C = 1; + arg0->unk54 = 4; + arg0->unk50 = 0; + Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], 1); + break; + + case 4: + break; + } + if(arg0->unk34.y > 360) { + arg0->unk34.y -= 360; + } else if(arg0->unk34.y < 0) { + arg0->unk34.y += 360; + } + sp8 = 0; + temp_f22 = -cosd(arg0->unk34.x)*5; + temp_f24 = -sind(arg0->unk34.x)*5; + temp_f21 = temp_f24*sind(arg0->unk34.y); + temp_f20 = temp_f22; + temp_f19 = temp_f24*cosd(arg0->unk34.y); + arg0->unkC.x = temp_f21+temp_f28; + arg0->unkC.y = temp_f20+temp_f29; + arg0->unkC.z = temp_f19+temp_f27; } void fn_1_13D88(StructBssDA4 *arg0) { - float temp_f31; - float temp_f30; - float temp_f29; - arg0->unk30 += 3.0f; - if (arg0->unk30 > 360.0f) { - arg0->unk30 -= 360.0f; - } - temp_f31 = cosd(arg0->unk30); - temp_f30 = sind(arg0->unk30); - temp_f29 = fn_1_6888(); - arg0->unk34.y = (90 + (-arg0->unk30)) + 180 + 90; - arg0->unkC.x = 1.5f * (10.0f * temp_f31) + arg0->unk18.x; - arg0->unkC.z = 1.5f * (10.0f * temp_f30) + arg0->unk18.z; - arg0->unk24.x = arg0->unkC.x; - arg0->unk24.y = arg0->unkC.y + 5; - arg0->unk24.z = arg0->unkC.z; - if (arg0->unkC.y > 5.0f + temp_f29) { - arg0->unk5C = 1; - } - else { - arg0->unk5C = 0; - } - if (arg0->unk5C == 1 && arg0->unkC.y - 15.0f > Center.y + CZoom) { - arg0->unk50 = 0; - Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], HU3D_ATTR_DISPOFF); - } - if (arg0->unk34.y > 360.0f) { - arg0->unk34.y -= 360.0f; - } - else if (arg0->unk34.y < 0.0f) { - arg0->unk34.y += 360.0f; - } - arg0->unk34.x = fn_1_883C(arg0->unk34.x, -35, 0.1f); + float temp_f31; + float temp_f30; + float temp_f29; + arg0->unk30 += 3.0f; + if(arg0->unk30 > 360.0f) { + arg0->unk30 -= 360.0f; + } + temp_f31 = cosd(arg0->unk30); + temp_f30 = sind(arg0->unk30); + temp_f29 = fn_1_6888(); + arg0->unk34.y = (90+(-arg0->unk30))+180+90; + arg0->unkC.x = 1.5f*(10.0f*temp_f31)+arg0->unk18.x; + arg0->unkC.z = 1.5f*(10.0f*temp_f30)+arg0->unk18.z; + arg0->unk24.x = arg0->unkC.x; + arg0->unk24.y = arg0->unkC.y+5; + arg0->unk24.z = arg0->unkC.z; + if(arg0->unkC.y > 5.0f+temp_f29) { + arg0->unk5C = 1; + } else { + arg0->unk5C = 0; + } + if(arg0->unk5C == 1 && arg0->unkC.y-15.0f > Center.y+CZoom) { + arg0->unk50 = 0; + Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], 1); + } + if(arg0->unk34.y > 360.0f) { + arg0->unk34.y -= 360.0f; + } else if(arg0->unk34.y < 0.0f) { + arg0->unk34.y += 360.0f; + } + arg0->unk34.x = fn_1_883C(arg0->unk34.x, -35, 0.1f); } void fn_1_1406C(StructBssDA4 *arg0) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - float temp_f27; - float temp_f26; - float temp_f25; - float temp_f24; - float temp_f23; - float temp_f22; - float temp_f21; - temp_f30 = 1; - temp_f26 = fn_1_6888(); - switch (arg0->unk54) { - case 0: - temp_f29 = cosd(arg0->unk30); - temp_f28 = sind(arg0->unk30); - arg0->unkC.x = temp_f29 * (80.0f - (10.0f * temp_f30)); - arg0->unkC.z = temp_f28 * (80.0f - (10.0f * temp_f30)) * 0.7f; - temp_f24 = temp_f26; - if (arg0->unkC.y > temp_f24) { - arg0->unk54 = 1; - arg0->unk18.x = arg0->unkC.x; - arg0->unk18.z = arg0->unkC.z; - } - arg0->unk5C = 1; - arg0->unk48 = 0; - break; - - case 1: - arg0->unk48 += 1.5f; - if (arg0->unk48 > 180.0f) { - arg0->unk54 = 3; - Hu3DMotionSpeedSet(lbl_1_bss_75A8->model[arg0->unk4], 1); - } - - temp_f31 = 180 + arg0->unk30; - if (temp_f31 > 360.0f) { - temp_f31 -= 360.0f; - } - temp_f29 = cosd(temp_f31); - temp_f28 = sind(temp_f31); - temp_f25 = cosd(arg0->unk48 * 0.5f); - temp_f27 = 180.0f; - temp_f30 = temp_f27 + (temp_f25 * (-temp_f27)); - temp_f23 = arg0->unk18.x + (temp_f29 * temp_f30); - temp_f21 = arg0->unk18.z + (temp_f28 * temp_f30); - temp_f22 = temp_f26; - arg0->unkC.x = temp_f23; - arg0->unkC.y = temp_f22; - arg0->unkC.z = temp_f21; - arg0->unk24.x = arg0->unkC.x; - arg0->unk24.y = arg0->unkC.y + 5; - arg0->unk24.z = arg0->unkC.z; - if (arg0->unk34.x < 30.0f) { - arg0->unk34.x += 4.0f; - } - else { - arg0->unk34.x = 30.0f; - } - Hu3DMotionSpeedSet(lbl_1_bss_75A8->model[arg0->unk4], 2); - arg0->unk5C = 0; - break; - - case 3: - Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], HU3D_ATTR_DISPOFF); - arg0->unk5C = 1; - arg0->unk50 = 0; - arg0->unk54++; - break; - - case 4: - break; - } + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + float temp_f27; + float temp_f26; + float temp_f25; + float temp_f24; + float temp_f23; + float temp_f22; + float temp_f21; + temp_f30 = 1; + temp_f26 = fn_1_6888(); + switch(arg0->unk54) { + case 0: + temp_f29 = cosd(arg0->unk30); + temp_f28 = sind(arg0->unk30); + arg0->unkC.x = temp_f29*(80.0f-(10.0f*temp_f30)); + arg0->unkC.z = temp_f28*(80.0f-(10.0f*temp_f30))*0.7f; + temp_f24 = temp_f26; + if(arg0->unkC.y > temp_f24) { + arg0->unk54 = 1; + arg0->unk18.x = arg0->unkC.x; + arg0->unk18.z = arg0->unkC.z; + } + arg0->unk5C = 1; + arg0->unk48 = 0; + break; + + case 1: + arg0->unk48 += 1.5f; + if(arg0->unk48 > 180.0f) { + arg0->unk54 = 3; + Hu3DMotionSpeedSet(lbl_1_bss_75A8->model[arg0->unk4], 1); + } + + temp_f31 = 180+arg0->unk30; + if(temp_f31 > 360.0f) { + temp_f31 -= 360.0f; + } + temp_f29 = cosd(temp_f31); + temp_f28 = sind(temp_f31); + temp_f25 = cosd(arg0->unk48*0.5f); + temp_f27 = 180.0f; + temp_f30 = temp_f27+(temp_f25*(-temp_f27)); + temp_f23 = arg0->unk18.x+(temp_f29*temp_f30); + temp_f21 = arg0->unk18.z+(temp_f28*temp_f30); + temp_f22 = temp_f26; + arg0->unkC.x = temp_f23; + arg0->unkC.y = temp_f22; + arg0->unkC.z = temp_f21; + arg0->unk24.x = arg0->unkC.x; + arg0->unk24.y = arg0->unkC.y+5; + arg0->unk24.z = arg0->unkC.z; + if(arg0->unk34.x < 30.0f) { + arg0->unk34.x += 4.0f; + } else { + arg0->unk34.x = 30.0f; + } + Hu3DMotionSpeedSet(lbl_1_bss_75A8->model[arg0->unk4], 2); + arg0->unk5C = 0; + break; + + case 3: + Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], 1); + arg0->unk5C = 1; + arg0->unk50 = 0; + arg0->unk54++; + break; + + case 4: + break; + } } void fn_1_144D0(StructBssDA4 *arg0) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - float temp_f27; - float temp_f26; - float temp_f25; - float temp_f24; - float temp_f23; - float temp_f22; - float temp_f21; - float temp_f20; - float temp_f19; - float temp_f18; - float spC; - float sp8; - - arg0->unk30 += 2.0f; - if (arg0->unk30 > 360.0f) { - arg0->unk30 -= 360.0f; - } - switch (arg0->unk54) { - case 0: - arg0->unk5C = 1; - temp_f31 = cosd(arg0->unk30); - temp_f30 = sind(arg0->unk30); - arg0->unkC.x = 15.0f * temp_f31; - arg0->unkC.z = 15.0f * temp_f30; - arg0->unk34.y = -arg0->unk30 + 90.0f; - temp_f24 = fn_1_6888(); - temp_f21 = -680.00006f + temp_f24; - if (arg0->unkC.y > temp_f21) { - arg0->unk54 = 1; - arg0->unk60 = 0; - } - break; - - case 1: - if (arg0->unk60 < 102.0f) { - arg0->unk60++; - temp_f27 = arg0->unk60 / 102.0f; - temp_f29 = 15 + (35 * temp_f27); - temp_f22 = 90 * temp_f27; - temp_f31 = cosd(arg0->unk30); - temp_f30 = sind(arg0->unk30); - arg0->unkC.x = temp_f31 * temp_f29; - arg0->unkC.z = temp_f30 * temp_f29; - arg0->unk34.y = (-arg0->unk30 + 90.0f) - temp_f22; - } - else { - arg0->unk54 = 2; - arg0->unk60 = 0; - Hu3DMotionSpeedSet(lbl_1_bss_75A8->model[arg0->unk4], 2); - } - break; - - case 2: - temp_f31 = cosd(arg0->unk30); - temp_f30 = sind(arg0->unk30); - temp_f24 = fn_1_6888(); - temp_f26 = 50 * temp_f31; - temp_f28 = temp_f24; - temp_f25 = 50 * temp_f30; - arg0->unkC.x = temp_f26; - arg0->unkC.y = temp_f28; - arg0->unkC.z = temp_f25; - if (arg0->unk34.x < 30.0f) { - arg0->unk34.x += 4.0f; - } - else { - arg0->unk34.x = 30.0f; - } - arg0->unk34.y = (-arg0->unk30 + 90.0f) - 90.0f; - if (arg0->unk60 < 180.0f) { - arg0->unk60++; - } - else { - arg0->unk54 = 3; - arg0->unk60 = 0; - arg0->unk18.y = temp_f28; - Hu3DMotionSpeedSet(lbl_1_bss_75A8->model[arg0->unk4], 1); - } - arg0->unk24.x = temp_f26; - arg0->unk24.y = 5.0f + temp_f28; - arg0->unk24.z = temp_f25; - arg0->unk5C = 0; - break; - - case 3: - if (arg0->unk60 < 150.0f) { - arg0->unk60++; - } - else { - arg0->unk54 = 4; - Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], HU3D_ATTR_DISPOFF); - } - temp_f27 = 0; - temp_f29 = 50 + (40 * temp_f27); - temp_f31 = cosd(arg0->unk30); - temp_f30 = sind(arg0->unk30); - temp_f26 = temp_f31 * temp_f29; - temp_f28 = arg0->unk18.y; - temp_f25 = temp_f30 * temp_f29; - spC = 0; - temp_f20 = -cosd(arg0->unk34.x) * 5; - temp_f23 = -sind(arg0->unk34.x) * 5; - temp_f19 = temp_f23 * sind(arg0->unk34.y); - temp_f18 = temp_f20; - sp8 = temp_f23 * cosd(arg0->unk34.y); - arg0->unkC.x = temp_f19 + temp_f26; - arg0->unkC.y = temp_f18 + temp_f28; - arg0->unkC.z = sp8 + temp_f25; - if (arg0->unk34.y > 360.0f) { - arg0->unk34.y -= 360.0f; - } - arg0->unk34.y = (-arg0->unk30 + 90.0f) - 90.0f; - arg0->unk5C = 1; - break; - - case 4: - if (arg0->unk5C == 1 && arg0->unkC.y - 15.0f > Center.y + CZoom) { - arg0->unk50 = 0; - Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], HU3D_ATTR_DISPOFF); - } - break; - } - if (arg0->unk34.y > 360.0f) { - arg0->unk34.y -= 360.0f; - } - else if (arg0->unk34.y < 0.0f) { - arg0->unk34.y += 360.0f; - } + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + float temp_f27; + float temp_f26; + float temp_f25; + float temp_f24; + float temp_f23; + float temp_f22; + float temp_f21; + float temp_f20; + float temp_f19; + float temp_f18; + float spC; + float sp8; + + arg0->unk30 += 2.0f; + if(arg0->unk30 > 360.0f) { + arg0->unk30 -= 360.0f; + } + switch(arg0->unk54) { + case 0: + arg0->unk5C = 1; + temp_f31 = cosd(arg0->unk30); + temp_f30 = sind(arg0->unk30); + arg0->unkC.x = 15.0f*temp_f31; + arg0->unkC.z = 15.0f*temp_f30; + arg0->unk34.y = -arg0->unk30+90.0f; + temp_f24 = fn_1_6888(); + temp_f21 = -680.00006f+temp_f24; + if(arg0->unkC.y > temp_f21) { + arg0->unk54 = 1; + arg0->unk60 = 0; + } + break; + + case 1: + if(arg0->unk60 < 102.0f) { + arg0->unk60++; + temp_f27 = arg0->unk60/102.0f; + temp_f29 = 15+(35*temp_f27); + temp_f22 = 90*temp_f27; + temp_f31 = cosd(arg0->unk30); + temp_f30 = sind(arg0->unk30); + arg0->unkC.x = temp_f31*temp_f29; + arg0->unkC.z = temp_f30*temp_f29; + arg0->unk34.y = (-arg0->unk30+90.0f)-temp_f22; + } else { + arg0->unk54 = 2; + arg0->unk60 = 0; + Hu3DMotionSpeedSet(lbl_1_bss_75A8->model[arg0->unk4], 2); + } + break; + + case 2: + temp_f31 = cosd(arg0->unk30); + temp_f30 = sind(arg0->unk30); + temp_f24 = fn_1_6888(); + temp_f26 = 50*temp_f31; + temp_f28 = temp_f24; + temp_f25 = 50*temp_f30; + arg0->unkC.x = temp_f26; + arg0->unkC.y = temp_f28; + arg0->unkC.z = temp_f25; + if(arg0->unk34.x < 30.0f) { + arg0->unk34.x += 4.0f; + } else { + arg0->unk34.x = 30.0f; + } + arg0->unk34.y = (-arg0->unk30+90.0f)-90.0f; + if(arg0->unk60 < 180.0f) { + arg0->unk60++; + } else { + arg0->unk54 = 3; + arg0->unk60 = 0; + arg0->unk18.y = temp_f28; + Hu3DMotionSpeedSet(lbl_1_bss_75A8->model[arg0->unk4], 1); + } + arg0->unk24.x = temp_f26; + arg0->unk24.y = 5.0f+temp_f28; + arg0->unk24.z = temp_f25; + arg0->unk5C = 0; + break; + + case 3: + if(arg0->unk60 < 150.0f) { + arg0->unk60++; + } else { + arg0->unk54 = 4; + Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], 1); + } + temp_f27 = 0; + temp_f29 = 50+(40*temp_f27); + temp_f31 = cosd(arg0->unk30); + temp_f30 = sind(arg0->unk30); + temp_f26 = temp_f31*temp_f29; + temp_f28 = arg0->unk18.y; + temp_f25 = temp_f30*temp_f29; + spC = 0; + temp_f20 = -cosd(arg0->unk34.x)*5; + temp_f23 = -sind(arg0->unk34.x)*5; + temp_f19 = temp_f23*sind(arg0->unk34.y); + temp_f18 = temp_f20; + sp8 = temp_f23*cosd(arg0->unk34.y); + arg0->unkC.x = temp_f19+temp_f26; + arg0->unkC.y = temp_f18+temp_f28; + arg0->unkC.z = sp8+temp_f25; + if(arg0->unk34.y > 360.0f) { + arg0->unk34.y -= 360.0f; + } + arg0->unk34.y = (-arg0->unk30+90.0f)-90.0f; + arg0->unk5C = 1; + break; + + case 4: + if(arg0->unk5C == 1 && arg0->unkC.y-15.0f > Center.y+CZoom) { + arg0->unk50 = 0; + Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], 1); + } + break; + } + if(arg0->unk34.y > 360.0f) { + arg0->unk34.y -= 360.0f; + } else if(arg0->unk34.y < 0.0f) { + arg0->unk34.y += 360.0f; + } } void fn_1_14DB4(StructBssDA4 *arg0) { - s32 temp_r30; - float temp_f31; - float temp_f30; - float temp_f29; - temp_f30 = cosd(arg0->unk30); - temp_f29 = sind(arg0->unk30); - arg0->unkC.x = 32.0f * temp_f30; - arg0->unkC.z = 32.0f * temp_f29; - temp_f31 = fn_1_6888(); - switch (arg0->unk54) { - case 0: - if (arg0->unkC.y > temp_f31) { - arg0->unk54 = 1; - arg0->unk60 = 0; - } - arg0->unk34.x += 4.0f; - arg0->unk5C = 1; - break; - - case 1: - arg0->unk5C = 0; - if (arg0->unk58) { - arg0->unk5C = 1; - arg0->unk54 = 4; - arg0->unk60 = 0; - temp_r30 = lbl_1_bss_75A8->model[arg0->unk8]; - Hu3DModelAttrReset(temp_r30, HU3D_ATTR_DISPOFF); - fn_1_15B50(temp_r30); - fn_1_155E0(temp_r30, 1); - fn_1_15618(temp_r30, arg0->unkC.x, arg0->unkC.y, arg0->unkC.z); - HuAudFXPlay(7); - } - else { - if (arg0->unk60 < 72.0f) { - arg0->unk60++; - arg0->unkC.y = temp_f31; - } - else { - arg0->unk54 = 3; - } - arg0->unk34.x += 8.0f; - arg0->unk34.y += 8.0f; - } - break; - - case 3: - arg0->unk34.x += 4.0f; - arg0->unk5C = 1; - break; - - case 4: - if (arg0->unk60 < 30.0f) { - arg0->unk34.x = 90; - arg0->unk34.y += 32.0f; - if (arg0->unk60 > 5) { - fn_1_155E0(lbl_1_bss_75A8->model[arg0->unk8], 0); - } - arg0->unk4C *= 0.8f; - arg0->unk60++; - } - else { - arg0->unk50 = 0; - Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], HU3D_ATTR_DISPOFF); - } - break; - } - if (arg0->unk34.x > 360.0f) { - arg0->unk34.x -= 360.0f; - } - if (arg0->unk34.y > 360.0f) { - arg0->unk34.y -= 360.0f; - } - arg0->unk24.x = arg0->unkC.x; - arg0->unk24.y = arg0->unkC.y; - arg0->unk24.z = arg0->unkC.z; + s32 temp_r30; + float temp_f31; + float temp_f30; + float temp_f29; + temp_f30 = cosd(arg0->unk30); + temp_f29 = sind(arg0->unk30); + arg0->unkC.x = 32.0f*temp_f30; + arg0->unkC.z = 32.0f*temp_f29; + temp_f31 = fn_1_6888(); + switch(arg0->unk54) { + case 0: + if(arg0->unkC.y > temp_f31) { + arg0->unk54 = 1; + arg0->unk60 = 0; + } + arg0->unk34.x += 4.0f; + arg0->unk5C = 1; + break; + + case 1: + arg0->unk5C = 0; + if(arg0->unk58) { + arg0->unk5C = 1; + arg0->unk54 = 4; + arg0->unk60 = 0; + temp_r30 = lbl_1_bss_75A8->model[arg0->unk8]; + Hu3DModelAttrReset(temp_r30, 1); + fn_1_15B50(temp_r30); + fn_1_155E0(temp_r30, 1); + fn_1_15618(temp_r30, arg0->unkC.x, arg0->unkC.y, arg0->unkC.z); + HuAudFXPlay(7); + } else { + if(arg0->unk60 < 72.0f) { + arg0->unk60++; + arg0->unkC.y = temp_f31; + } else { + arg0->unk54 = 3; + } + arg0->unk34.x += 8.0f; + arg0->unk34.y += 8.0f; + } + break; + + case 3: + arg0->unk34.x += 4.0f; + arg0->unk5C = 1; + break; + + case 4: + if(arg0->unk60 < 30.0f) { + arg0->unk34.x = 90; + arg0->unk34.y += 32.0f; + if(arg0->unk60 > 5) { + fn_1_155E0(lbl_1_bss_75A8->model[arg0->unk8], 0); + } + arg0->unk4C *= 0.8f; + arg0->unk60++; + } else { + arg0->unk50 = 0; + Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], 1); + } + break; + } + if(arg0->unk34.x > 360.0f) { + arg0->unk34.x -= 360.0f; + } + if(arg0->unk34.y > 360.0f) { + arg0->unk34.y -= 360.0f; + } + arg0->unk24.x = arg0->unkC.x; + arg0->unk24.y = arg0->unkC.y; + arg0->unk24.z = arg0->unkC.z; } void fn_1_151A4(StructBssDA4 *arg0) { - s32 temp_r30; - float temp_f31; - float temp_f30; - float temp_f29; - - arg0->unk48 += 6.0000005f; - if (arg0->unk48 >= 360.0f) { - arg0->unk48 -= 360.0f; - } - arg0->unk34.z = 30 * sind(arg0->unk48); - temp_f30 = cosd(arg0->unk30); - temp_f29 = sind(arg0->unk30); - arg0->unkC.x = 32.0f * temp_f30; - arg0->unkC.z = 32.0f * temp_f29; - temp_f31 = fn_1_6888(); - switch (arg0->unk54) { - case 0: - if (arg0->unkC.y > temp_f31) { - arg0->unk54 = 1; - arg0->unk60 = 0; - } - arg0->unk34.x = -45; - arg0->unk34.y = 0; - arg0->unk5C = 1; - break; - - case 1: - arg0->unk5C = 0; - if (arg0->unk58) { - arg0->unk5C = 1; - arg0->unk54 = 4; - arg0->unk60 = 0; - temp_r30 = lbl_1_bss_75A8->model[arg0->unk8]; - Hu3DModelAttrReset(temp_r30, HU3D_ATTR_DISPOFF); - fn_1_15B50(temp_r30); - fn_1_155E0(temp_r30, 1); - fn_1_15618(temp_r30, arg0->unkC.x, arg0->unkC.y, arg0->unkC.z); - HuAudFXPlay(19); - } - else { - if (arg0->unk60 < 72.0f) { - arg0->unk60++; - arg0->unkC.y = temp_f31; - } - else { - arg0->unk54 = 3; - } - } - break; - - case 3: - arg0->unk5C = 1; - break; - - case 4: - if (arg0->unk60 < 30.0f) { - arg0->unk34.x = 90; - arg0->unk34.y += 32.0f; - if (arg0->unk60 > 5) { - fn_1_155E0(lbl_1_bss_75A8->model[arg0->unk8], 0); - } - arg0->unk4C *= 0.8f; - arg0->unk60++; - } - else { - arg0->unk50 = 0; - Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], HU3D_ATTR_DISPOFF); - } - break; - } - if (arg0->unk34.x > 360.0f) { - arg0->unk34.x -= 360.0f; - } - if (arg0->unk34.y > 360.0f) { - arg0->unk34.y -= 360.0f; - } - arg0->unk24.x = arg0->unkC.x; - arg0->unk24.y = arg0->unkC.y; - arg0->unk24.z = arg0->unkC.z; + s32 temp_r30; + float temp_f31; + float temp_f30; + float temp_f29; + + arg0->unk48 += 6.0000005f; + if(arg0->unk48 >= 360.0f) { + arg0->unk48 -= 360.0f; + } + arg0->unk34.z = 30*sind(arg0->unk48); + temp_f30 = cosd(arg0->unk30); + temp_f29 = sind(arg0->unk30); + arg0->unkC.x = 32.0f*temp_f30; + arg0->unkC.z = 32.0f*temp_f29; + temp_f31 = fn_1_6888(); + switch(arg0->unk54) { + case 0: + if(arg0->unkC.y > temp_f31) { + arg0->unk54 = 1; + arg0->unk60 = 0; + } + arg0->unk34.x = -45; + arg0->unk34.y = 0; + arg0->unk5C = 1; + break; + + case 1: + arg0->unk5C = 0; + if(arg0->unk58) { + arg0->unk5C = 1; + arg0->unk54 = 4; + arg0->unk60 = 0; + temp_r30 = lbl_1_bss_75A8->model[arg0->unk8]; + Hu3DModelAttrReset(temp_r30, 1); + fn_1_15B50(temp_r30); + fn_1_155E0(temp_r30, 1); + fn_1_15618(temp_r30, arg0->unkC.x, arg0->unkC.y, arg0->unkC.z); + HuAudFXPlay(19); + } else { + if(arg0->unk60 < 72.0f) { + arg0->unk60++; + arg0->unkC.y = temp_f31; + } else { + arg0->unk54 = 3; + } + + } + break; + + case 3: + arg0->unk5C = 1; + break; + + case 4: + if(arg0->unk60 < 30.0f) { + arg0->unk34.x = 90; + arg0->unk34.y += 32.0f; + if(arg0->unk60 > 5) { + fn_1_155E0(lbl_1_bss_75A8->model[arg0->unk8], 0); + } + arg0->unk4C *= 0.8f; + arg0->unk60++; + } else { + arg0->unk50 = 0; + Hu3DModelAttrSet(lbl_1_bss_75A8->model[arg0->unk4], 1); + } + break; + } + if(arg0->unk34.x > 360.0f) { + arg0->unk34.x -= 360.0f; + } + if(arg0->unk34.y > 360.0f) { + arg0->unk34.y -= 360.0f; + } + arg0->unk24.x = arg0->unkC.x; + arg0->unk24.y = arg0->unkC.y; + arg0->unk24.z = arg0->unkC.z; } void fn_1_155E0(s16 arg0, s16 arg1) { - ModelData *temp_r31; - ParticleData *temp_r30; - temp_r31 = &Hu3DData[arg0]; - temp_r30 = temp_r31->unk_120; - temp_r30->unk_00 = arg1; + ModelData *temp_r31; + ParticleData *temp_r30; + temp_r31 = &Hu3DData[arg0]; + temp_r30 = temp_r31->unk_120; + temp_r30->unk_00 = arg1; } void fn_1_15618(s16 arg0, float arg1, float arg2, float arg3) { - ParticleData *temp_r31; - ModelData *temp_r30; - temp_r30 = &Hu3DData[arg0]; - temp_r31 = temp_r30->unk_120; - temp_r31->unk_04.x = arg1; - temp_r31->unk_04.y = arg2; - temp_r31->unk_04.z = arg3; + ParticleData *temp_r31; + ModelData *temp_r30; + temp_r30 = &Hu3DData[arg0]; + temp_r31 = temp_r30->unk_120; + temp_r31->unk_04.x = arg1; + temp_r31->unk_04.y = arg2; + temp_r31->unk_04.z = arg3; } void fn_1_15658(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - float temp_f30; - HsfanimStruct01 *temp_r31; - u32 temp_r29; - s32 temp_r28; - s16 temp_r27; - GXColor *temp_r26; - if (particle->unk_34 == 0) { - temp_f31 = 90; - particle->unk_02 = 0; - particle->unk_10.y = 3; - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - temp_r31->unk2C = 0; - temp_r31->unk40.a = 0; - } - } - if (particle->unk_00) { - particle->unk_02--; - if (particle->unk_02 <= 0.0f) { - particle->unk_02 = 2; - temp_r27 = 4; - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - if (temp_r31->unk2C != 0) { - continue; - } - temp_r31->unk34.x = particle->unk_04.x; - temp_r31->unk34.y = particle->unk_04.y; - temp_r31->unk34.z = particle->unk_04.z; - temp_f30 = frandmod(360); - temp_r29 = frandmod(12); - temp_r29 += 4.0f; - temp_r31->unk34.x = temp_r31->unk34.x + (temp_r29 * sind(temp_f30)); - temp_r31->unk34.z = temp_r31->unk34.z + (temp_r29 * cosd(temp_f30)); - temp_r31->unk20 = 0; - temp_r31->unk24 = particle->unk_10.y; - temp_r29 = 1; - if (temp_r29 == 1) { - temp_r31->unk14.x = 0.97643f; - } - else { - temp_r31->unk14.x = 0.96666664f; - } - temp_r31->unk00 = 60; - temp_r31->unk2C = 8; - temp_r29 = frand() & 0x1; - temp_r26 = &lbl_1_data_4F4[temp_r29]; - temp_r31->unk40.r = temp_r26->r; - temp_r31->unk40.g = temp_r26->g; - temp_r31->unk40.b = temp_r26->b; - temp_r31->unk40.a = 0; - temp_r31->unk02 = temp_r29; - temp_r27--; - if (temp_r27 == 0) { - break; - } - } - } - } - temp_r27 = 0; - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - if (temp_r31->unk2C == 0) { - continue; - } - temp_r27++; - temp_r31->unk34.y -= 4.0f; - temp_f31 = 1.0 + cosd(temp_r31->unk20); - temp_f31 *= 0.5f; - temp_r31->unk40.a = temp_f31 * 255; - temp_r31->unk20 += temp_r31->unk24; - temp_r31->unk30 = temp_r31->unk20; - temp_r31->unk2C *= temp_r31->unk14.x; - temp_r31->unk02 ^= 0x3; - if (temp_r31->unk02 & 0x1) { - temp_r31->unk40.b = 0; - temp_r31->unk40.g = 200; - } - else { - temp_r31->unk40.b = 200; - temp_r31->unk40.g = 200; - } - if (temp_r31->unk02 & 0x2) { - temp_r29 = temp_r31->unk40.a + 64; - if (temp_r29 > 255) { - temp_r29 -= 128; - } - temp_r31->unk40.a = temp_r29; - } - temp_r31->unk00--; - if (temp_r31->unk00 <= 0) { - temp_r31->unk2C = 0; - } - } - DCStoreRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); - if (particle->unk_00 == 0 && temp_r27 == 0) { - model->attr |= 0x1; - } + float temp_f31; + float temp_f30; + HsfanimStruct01 *temp_r31; + u32 temp_r29; + s32 temp_r28; + s16 temp_r27; + GXColor *temp_r26; + if(particle->unk_34 == 0) { + temp_f31 = 90; + particle->unk_02 = 0; + particle->unk_10.y = 3; + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + temp_r31->unk2C = 0; + temp_r31->unk40.a = 0; + } + } + if(particle->unk_00) { + particle->unk_02--; + if(particle->unk_02 <= 0.0f) { + particle->unk_02 = 2; + temp_r27 = 4; + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + if(temp_r31->unk2C != 0) { + continue; + } + temp_r31->unk34.x = particle->unk_04.x; + temp_r31->unk34.y = particle->unk_04.y; + temp_r31->unk34.z = particle->unk_04.z; + temp_f30 = frandmod(360); + temp_r29 = frandmod(12); + temp_r29 += 4.0f; + temp_r31->unk34.x = temp_r31->unk34.x+(temp_r29*sind(temp_f30)); + temp_r31->unk34.z = temp_r31->unk34.z+(temp_r29*cosd(temp_f30)); + temp_r31->unk20 = 0; + temp_r31->unk24 = particle->unk_10.y; + temp_r29 = 1; + if(temp_r29 == 1) { + temp_r31->unk14.x = 0.97643f; + } else { + temp_r31->unk14.x = 0.96666664f; + } + temp_r31->unk00 = 60; + temp_r31->unk2C = 8; + temp_r29 = frand()&0x1; + temp_r26 = &lbl_1_data_4F4[temp_r29]; + temp_r31->unk40.r = temp_r26->r; + temp_r31->unk40.g = temp_r26->g; + temp_r31->unk40.b = temp_r26->b; + temp_r31->unk40.a = 0; + temp_r31->unk02 = temp_r29; + temp_r27--; + if(temp_r27 == 0) { + break; + } + } + } + } + temp_r27 = 0; + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + if(temp_r31->unk2C == 0) { + continue; + } + temp_r27++; + temp_r31->unk34.y -= 4.0f; + temp_f31 = 1.0+cosd(temp_r31->unk20); + temp_f31 *= 0.5f; + temp_r31->unk40.a = temp_f31*255; + temp_r31->unk20 += temp_r31->unk24; + temp_r31->unk30 = temp_r31->unk20; + temp_r31->unk2C *= temp_r31->unk14.x; + temp_r31->unk02 ^= 0x3; + if(temp_r31->unk02 & 0x1) { + temp_r31->unk40.b = 0; + temp_r31->unk40.g = 200; + } else { + temp_r31->unk40.b = 200; + temp_r31->unk40.g = 200; + } + if(temp_r31->unk02 & 0x2) { + temp_r29 = temp_r31->unk40.a+64; + if(temp_r29 > 255) { + temp_r29 -= 128; + } + temp_r31->unk40.a = temp_r29; + } + temp_r31->unk00_s16--; + if(temp_r31->unk00_s16 <= 0) { + temp_r31->unk2C = 0; + } + } + DCStoreRange(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); + if(particle->unk_00 == 0 && temp_r27 == 0) { + model->attr |= 0x1; + } } void fn_1_15B50(s16 arg0) { - ParticleData *temp_r31; - HsfanimStruct01 *temp_r30; - s32 temp_r29; - ModelData *temp_r28 = &Hu3DData[arg0]; - temp_r31 = temp_r28->unk_120; - temp_r31->unk_34 = 0; - temp_r30 = temp_r31->unk_48; - for (temp_r29 = 0; temp_r29 < temp_r31->unk_30; temp_r29++, temp_r30++) { - temp_r30->unk2C = 0; - } + ParticleData *temp_r31; + HsfanimStruct01 *temp_r30; + s32 temp_r29; + ModelData *temp_r28 = &Hu3DData[arg0]; + temp_r31 = temp_r28->unk_120; + temp_r31->unk_34 = 0; + temp_r30 = temp_r31->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r30++) { + temp_r30->unk2C = 0; + } } void fn_1_15CA4(omObjData *object); @@ -1362,173 +1365,172 @@ void fn_1_15D64(ModelData *model, ParticleData *particle, Mtx matrix); void fn_1_15BCC(omObjData *object) { - s16 temp_r30; - s32 temp_r29; - omSetStatBit(object, 0x100); - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - temp_r30 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M408, 0x19)), 9); - object->model[temp_r29] = temp_r30; - Hu3DModelAttrSet(temp_r30, HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(temp_r30, 7); - Hu3DParticleColSet(temp_r30, 255, 255, 255); - Hu3DParticleHookSet(temp_r30, fn_1_15D64); - } - object->work[0] = -1; - object->func = fn_1_15CA4; + s16 temp_r30; + s32 temp_r29; + omSetStatBit(object, 0x100); + for(temp_r29=0; temp_r29<4; temp_r29++) { + temp_r30 = Hu3DParticleCreate(HuSprAnimReadFile(0x270019), 9); + object->model[temp_r29] = temp_r30; + Hu3DModelAttrSet(temp_r30, 1); + Hu3DModelLayerSet(temp_r30, 7); + Hu3DParticleColSet(temp_r30, 255, 255, 255); + Hu3DParticleHookSet(temp_r30, fn_1_15D64); + } + object->work[0] = -1; + object->func = fn_1_15CA4; } void fn_1_15CA4(omObjData *object) { - s32 temp_r31; - s16 temp_r29; - ModelData *temp_r28; - ParticleData *temp_r27; - temp_r31 = object->work[0]; - if (temp_r31 <= -1) { - return; - } - object->work[0] = -1; - temp_r29 = object->model[temp_r31]; - temp_r28 = &Hu3DData[temp_r29]; - temp_r27 = temp_r28->unk_120; - Hu3DModelAttrReset(temp_r29, HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(temp_r29, lbl_1_bss_D6C[temp_r31].x, lbl_1_bss_D6C[temp_r31].y, lbl_1_bss_D6C[temp_r31].z); - temp_r27->unk_34 = 0; + s32 temp_r31; + s16 temp_r29; + ModelData *temp_r28; + ParticleData *temp_r27; + temp_r31 = object->work[0]; + if(temp_r31 <= -1) { + return; + } + object->work[0] = -1; + temp_r29 = object->model[temp_r31]; + temp_r28 = &Hu3DData[temp_r29]; + temp_r27 = temp_r28->unk_120; + Hu3DModelAttrReset(temp_r29, 1); + Hu3DModelPosSet(temp_r29, lbl_1_bss_D6C[temp_r31].x, lbl_1_bss_D6C[temp_r31].y, lbl_1_bss_D6C[temp_r31].z); + temp_r27->unk_34 = 0; + } void fn_1_15D64(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - HsfanimStruct01 *temp_r31; - s32 temp_r29; - u32 temp_r28; - s16 temp_r27; - s16 temp_r26; - if (particle->unk_34 == 0) { - temp_f31 = 72; - particle->unk_00 = 1; - particle->unk_02 = 0; - particle->unk_10.y = 22.5f; - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - temp_r31->unk2C = 0; - temp_r31->unk40.a = 0; - } - } - if (particle->unk_00) { - particle->unk_00 = 0; - particle->unk_02--; - if (particle->unk_02 <= 0.0f) { - particle->unk_02 = 30; - temp_r31 = particle->unk_48; - temp_r26 = -1; - temp_r27 = 0; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - if (temp_r31->unk2C != 0) { - continue; - } - if (temp_r27 <= 0) { - temp_r26++; - if (temp_r26 >= 3) { - break; - } - temp_f30 = lbl_1_data_514[temp_r26]; - temp_f28 = lbl_1_data_508[temp_r26]; - temp_f29 = lbl_1_data_520[temp_r26]; - temp_r27 = lbl_1_data_504[temp_r26]; - } - temp_r27--; - temp_r31->unk34.x = temp_r31->unk34.y = temp_r31->unk34.z = 0; - if (90.0f == temp_f29) { - temp_r31->unk08.z = 5; - temp_r31->unk08.x = temp_r31->unk08.y = 0; - } - else { - temp_f31 = 5 * cosd(temp_f29); - temp_r31->unk08.z = 5.0 * sind(temp_f29); - temp_r31->unk08.x = temp_f31 * sind(temp_f30); - temp_r31->unk08.y = temp_f31 * cosd(temp_f30); - } - temp_r31->unk20 = 0; - temp_r31->unk24 = particle->unk_10.y; - temp_r28 = 1; - temp_r31->unk00 = 8; - temp_r31->unk2C = 10; - temp_r31->unk14.x = 1.125f; - temp_r28 = frand() & 0x1; - temp_r31->unk02 = temp_r28; - temp_r31->unk40.r = 255; - temp_r31->unk40.g = 255; - temp_r31->unk40.b = 255; - temp_r31->unk40.a = 0; - if (temp_r28) { - temp_r31->unk40.b = 0; - temp_r31->unk40.g = 0; - } - temp_f30 += temp_f28; - } - } - } - temp_r27 = 0; - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - if (temp_r31->unk2C == 0) { - continue; - } - temp_r27++; - VECAdd(&temp_r31->unk08, &temp_r31->unk34, &temp_r31->unk34); - temp_f31 = 1.0 + cosd(temp_r31->unk20); - temp_f31 *= 0.45f; - temp_r31->unk40.a = temp_f31 * 255; - temp_r31->unk20 += temp_r31->unk24; - temp_r31->unk2C -= temp_r31->unk14.x; - temp_r31->unk02 ^= 0x3; - if (temp_r31->unk02 & 0x1) { - temp_r31->unk40.b = 0; - temp_r31->unk40.g = 100; - } - else { - temp_r31->unk40.b = 0; - temp_r31->unk40.g = 200; - } - if (temp_r31->unk02 & 0x2) { - temp_r28 = temp_r31->unk40.a + 64; - if (temp_r28 > 255) { - temp_r28 -= 128; - } - temp_r31->unk40.a = temp_r28; - } - temp_r31->unk00--; - if (temp_r31->unk00 <= 0) { - temp_r31->unk2C = 0; - } - } - DCStoreRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); - if (particle->unk_00 == 0 && temp_r27 == 0) { - model->attr |= 0x1; - } + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + HsfanimStruct01 *temp_r31; + s32 temp_r29; + u32 temp_r28; + s16 temp_r27; + s16 temp_r26; + if(particle->unk_34 == 0) { + temp_f31 = 72; + particle->unk_00 = 1; + particle->unk_02 = 0; + particle->unk_10.y = 22.5f; + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + temp_r31->unk2C = 0; + temp_r31->unk40.a = 0; + } + } + if(particle->unk_00) { + particle->unk_00 = 0; + particle->unk_02--; + if(particle->unk_02 <= 0.0f) { + particle->unk_02 =30; + temp_r31 = particle->unk_48; + temp_r26 = -1; + temp_r27 = 0; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(temp_r31->unk2C != 0) { + continue; + } + if(temp_r27 <= 0) { + temp_r26++; + if(temp_r26 >= 3) { + break; + } + temp_f30 = lbl_1_data_514[temp_r26]; + temp_f28 = lbl_1_data_508[temp_r26]; + temp_f29 = lbl_1_data_520[temp_r26]; + temp_r27 = lbl_1_data_504[temp_r26]; + } + temp_r27--; + temp_r31->unk34.x = temp_r31->unk34.y = temp_r31->unk34.z = 0; + if(90.0f == temp_f29) { + temp_r31->unk08.z = 5; + temp_r31->unk08.x = temp_r31->unk08.y = 0; + } else { + temp_f31 = 5*cosd(temp_f29); + temp_r31->unk08.z = 5.0*sind(temp_f29); + temp_r31->unk08.x = temp_f31*sind(temp_f30); + temp_r31->unk08.y = temp_f31*cosd(temp_f30); + } + temp_r31->unk20 = 0; + temp_r31->unk24 = particle->unk_10.y; + temp_r28 = 1; + temp_r31->unk00 = 8; + temp_r31->unk2C = 10; + temp_r31->unk14.x = 1.125f; + temp_r28 = frand()&0x1; + temp_r31->unk02 = temp_r28; + temp_r31->unk40.r = 255; + temp_r31->unk40.g = 255; + temp_r31->unk40.b = 255; + temp_r31->unk40.a = 0; + if(temp_r28) { + temp_r31->unk40.b = 0; + temp_r31->unk40.g = 0; + } + temp_f30 += temp_f28; + } + } + } + temp_r27 = 0; + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(temp_r31->unk2C == 0) { + continue; + } + temp_r27++; + VECAdd(&temp_r31->unk08, &temp_r31->unk34, &temp_r31->unk34); + temp_f31 = 1.0+cosd(temp_r31->unk20); + temp_f31 *= 0.45f; + temp_r31->unk40.a = temp_f31*255; + temp_r31->unk20 += temp_r31->unk24; + temp_r31->unk2C -= temp_r31->unk14.x; + temp_r31->unk02 ^= 0x3; + if(temp_r31->unk02 & 0x1) { + temp_r31->unk40.b = 0; + temp_r31->unk40.g = 100; + } else { + temp_r31->unk40.b = 0; + temp_r31->unk40.g = 200; + } + if(temp_r31->unk02 & 0x2) { + temp_r28 = temp_r31->unk40.a+64; + if(temp_r28 > 255) { + temp_r28 -= 128; + } + temp_r31->unk40.a = temp_r28; + } + temp_r31->unk00_s16--; + if(temp_r31->unk00_s16 <= 0) { + temp_r31->unk2C = 0; + } + } + DCStoreRange(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); + if(particle->unk_00 == 0 && temp_r27 == 0) { + model->attr |= 0x1; + } } s32 fn_1_162CC(Vec *arg0, Vec *arg1) { - Vec spC; - s32 temp_r31; - float temp_f31; - float temp_f30; - temp_f30 = 1000; - if (!lbl_1_bss_168) { - return 0; - } - for (temp_r31 = 0; temp_r31 < lbl_1_bss_168; temp_r31++) { - VECSubtract(&lbl_1_bss_16C[temp_r31], arg0, &spC); - temp_f31 = VECMag(&spC); - if (temp_f31 < temp_f30) { - temp_f30 = temp_f31; - *arg1 = lbl_1_bss_16C[temp_r31]; - } - } - return 1; -} + Vec spC; + s32 temp_r31; + float temp_f31; + float temp_f30; + temp_f30 = 1000; + if(!lbl_1_bss_168) { + return 0; + } + for(temp_r31=0; temp_r31data = spC = HuMemDirectMallocNum(HEAP_SYSTEM, 436 * sizeof(u16), MEMORY_DEFAULT_NUM); - lbl_1_bss_14C[0] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M408, 0x24), MEMORY_DEFAULT_NUM)); - lbl_1_bss_14C[1] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M408, 0x25), MEMORY_DEFAULT_NUM)); - lbl_1_bss_14C[2] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M408, 0x26), MEMORY_DEFAULT_NUM)); - lbl_1_bss_14C[4] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M408, 0x28), MEMORY_DEFAULT_NUM)); - lbl_1_bss_14C[3] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M408, 0x29), MEMORY_DEFAULT_NUM)); - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M408, 0x1A)); - omSetSca(object, 0.1f, 0.1f, 0.1f); - temp_r31 = object->model[0]; - Hu3DModelLayerSet(temp_r31, 1); - Hu3DModelAttrSet(temp_r31, HU3D_ATTR_DISPOFF); - object->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M408, 0x1E)); - temp_r31 = object->model[4]; - Hu3DModelLayerSet(temp_r31, 1); - Hu3DModelScaleSet(temp_r31, 0.1f, 0.1f, 0.1f); - Hu3DModelAttrSet(temp_r31, HU3D_ATTR_DISPOFF); - object->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M408, 0x20)); - temp_r31 = object->model[5]; - Hu3DModelLayerSet(temp_r31, 1); - Hu3DModelScaleSet(temp_r31, 0.1f, 0.1f, 0.1f); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M408, 0x1B)); - temp_r31 = object->model[2]; - Hu3DModelLayerSet(temp_r31, 1); - Hu3DModelPosSet(temp_r31, -20, -10, -150); - Hu3DModelScaleSet(temp_r31, 0.14500001f, 0.14500001f, 0.14500001f); - Hu3DModelAttrSet(temp_r31, HU3D_ATTR_DISPOFF); - object->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M408, 0x1D)); - temp_r31 = object->model[3]; - Hu3DModelPosSet(temp_r31, 0, -50, -500); - Hu3DModelScaleSet(temp_r31, 0.15f, 0.15f, 0.15f); - Hu3DModelLayerSet(temp_r31, 0); - Hu3DModelAttrSet(temp_r31, HU3D_ATTR_DISPOFF); - sp8 = fn_1_F4B0(temp_r31, temp_r31); - object->model[9] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M408, 0x1C)); - temp_r31 = object->model[9]; - lbl_1_bss_148 = temp_r31; - Hu3DModelScaleSet(temp_r31, 0.11000001f, 0.1f, 0.11000001f); - Hu3DModelPosSet(temp_r31, 0, 10000, 0); - Hu3DModelLayerSet(temp_r31, 1); - Hu3DModelAttrSet(temp_r31, HU3D_ATTR_DISPOFF); - object->model[11] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M408, 0x1F)); - temp_r31 = object->model[11]; - Hu3DModelPosSet(temp_r31, 0, 10000, 0); - Hu3DModelLayerSet(temp_r31, 1); - Hu3DModelScaleSet(temp_r31, 0.105f, 0.1f, 0.105f); - Hu3DModelAttrSet(temp_r31, HU3D_ATTR_DISPOFF); - object->model[12] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M408, 0x23)); - temp_r31 = object->model[12]; - Hu3DModelLayerSet(temp_r31, 3); - Hu3DModelPosSet(temp_r31, 0, 5000, 0); - Hu3DModelScaleSet(temp_r31, 0.1f, 0.1f, 0.1f); - Hu3DModelAttrSet(temp_r31, HU3D_ATTR_DISPOFF); - Hu3DMotionSpeedSet(temp_r31, 0); - object->model[19] = temp_r31 = fn_1_D978(lbl_1_bss_14C[0], 80, fn_1_E310); - Hu3DModelLayerSet(temp_r31, 1); - Hu3DModelPosSet(temp_r31, 0, 5100, 0); - Hu3DParticleBlendModeSet(temp_r31, 1); - temp_r29 = ((ParticleData *)Hu3DData[temp_r31].unk_120)->unk_1C; - temp_r29[2] = 140; - object->model[14] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M408, 0x21)); - object->model[15] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M408, 0x22)); - object->model[16] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M408, 0x21)); - object->model[17] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M408, 0x22)); - for (temp_r28 = 0; temp_r28 < 4; temp_r28++) { - temp_r31 = object->model[temp_r28 + 14]; - Hu3DModelLayerSet(temp_r31, 3); - Hu3DModelRotSet(temp_r31, 0, frandmod(360), 0); - Hu3DModelScaleSet(temp_r31, 0.1f, 0.1f, 0.1f); - Hu3DModelAttrSet(temp_r31, HU3D_ATTR_DISPOFF); - Hu3DMotionSpeedSet(temp_r31, 0); - } - object->model[6] = temp_r31 = fn_1_D978(lbl_1_bss_14C[4], 1, fn_1_EEF8); - Hu3DModelPosSet(temp_r31, 0, 5000, 0); - Hu3DModelLayerSet(temp_r31, 3); - Hu3DModelAttrReset(temp_r31, HU3D_ATTR_DISPOFF); - Hu3DParticleBlendModeSet(temp_r31, 1); - temp_r29 = ((ParticleData *)Hu3DData[temp_r31].unk_120)->unk_1C; - temp_r29[1] = 800; - object->func = fn_1_CD14; + s32 temp_r31; + float *temp_r29; + s32 temp_r28; + + u16 *spC; + WorkF4B0 *sp8; + object->data = spC = HuMemDirectMallocNum(HEAP_SYSTEM, 436*sizeof(u16), MEMORY_DEFAULT_NUM); + lbl_1_bss_14C[0] = HuSprAnimRead(HuDataReadNum(0x270024, MEMORY_DEFAULT_NUM)); + lbl_1_bss_14C[1] = HuSprAnimRead(HuDataReadNum(0x270025, MEMORY_DEFAULT_NUM)); + lbl_1_bss_14C[2] = HuSprAnimRead(HuDataReadNum(0x270026, MEMORY_DEFAULT_NUM)); + lbl_1_bss_14C[4] = HuSprAnimRead(HuDataReadNum(0x270028, MEMORY_DEFAULT_NUM)); + lbl_1_bss_14C[3] = HuSprAnimRead(HuDataReadNum(0x270029, MEMORY_DEFAULT_NUM)); + object->model[0] = Hu3DModelCreateFile(0x27001A); + omSetSca(object, 0.1f, 0.1f, 0.1f); + temp_r31 = object->model[0]; + Hu3DModelLayerSet(temp_r31, 1); + Hu3DModelAttrSet(temp_r31, 1); + object->model[4] = Hu3DModelCreateFile(0x27001E); + temp_r31 = object->model[4]; + Hu3DModelLayerSet(temp_r31, 1); + Hu3DModelScaleSet(temp_r31, 0.1f, 0.1f, 0.1f); + Hu3DModelAttrSet(temp_r31, 1); + object->model[5] = Hu3DModelCreateFile(0x270020); + temp_r31 = object->model[5]; + Hu3DModelLayerSet(temp_r31, 1); + Hu3DModelScaleSet(temp_r31, 0.1f, 0.1f, 0.1f); + object->model[2] = Hu3DModelCreateFile(0x27001B); + temp_r31 = object->model[2]; + Hu3DModelLayerSet(temp_r31, 1); + Hu3DModelPosSet(temp_r31, -20, -10, -150); + Hu3DModelScaleSet(temp_r31, 0.14500001f, 0.14500001f, 0.14500001f); + Hu3DModelAttrSet(temp_r31, 1); + object->model[3] = Hu3DModelCreateFile(0x27001D); + temp_r31 = object->model[3]; + Hu3DModelPosSet(temp_r31, 0, -50, -500); + Hu3DModelScaleSet(temp_r31, 0.15f, 0.15f, 0.15f); + Hu3DModelLayerSet(temp_r31, 0); + Hu3DModelAttrSet(temp_r31, 1); + sp8 = fn_1_F4B0(temp_r31, temp_r31); + object->model[9] = Hu3DModelCreateFile(0x27001C); + temp_r31 = object->model[9]; + lbl_1_bss_148 = temp_r31; + Hu3DModelScaleSet(temp_r31, 0.11000001f, 0.1f, 0.11000001f); + Hu3DModelPosSet(temp_r31, 0, 10000, 0); + Hu3DModelLayerSet(temp_r31, 1); + Hu3DModelAttrSet(temp_r31, 1); + object->model[11] = Hu3DModelCreateFile(0x27001F); + temp_r31 = object->model[11]; + Hu3DModelPosSet(temp_r31, 0, 10000, 0); + Hu3DModelLayerSet(temp_r31, 1); + Hu3DModelScaleSet(temp_r31, 0.105f, 0.1f, 0.105f); + Hu3DModelAttrSet(temp_r31, 1); + object->model[12] = Hu3DModelCreateFile(0x270023); + temp_r31 = object->model[12]; + Hu3DModelLayerSet(temp_r31, 3); + Hu3DModelPosSet(temp_r31, 0, 5000, 0); + Hu3DModelScaleSet(temp_r31, 0.1f, 0.1f, 0.1f); + Hu3DModelAttrSet(temp_r31, 1); + Hu3DMotionSpeedSet(temp_r31, 0); + object->model[19] = temp_r31 = fn_1_D978(lbl_1_bss_14C[0], 80, fn_1_E310); + Hu3DModelLayerSet(temp_r31, 1); + Hu3DModelPosSet(temp_r31, 0, 5100, 0); + Hu3DParticleBlendModeSet(temp_r31, 1); + temp_r29 = ((ParticleData *)Hu3DData[temp_r31].unk_120)->unk_1C; + temp_r29[2] = 140; + object->model[14] = Hu3DModelCreateFile(0x270021); + object->model[15] = Hu3DModelCreateFile(0x270022); + object->model[16] = Hu3DModelCreateFile(0x270021); + object->model[17] = Hu3DModelCreateFile(0x270022); + for(temp_r28=0; temp_r28<4; temp_r28++) { + temp_r31 = object->model[temp_r28+14]; + Hu3DModelLayerSet(temp_r31, 3); + Hu3DModelRotSet(temp_r31, 0, frandmod(360), 0); + Hu3DModelScaleSet(temp_r31, 0.1f, 0.1f, 0.1f); + Hu3DModelAttrSet(temp_r31, 1); + Hu3DMotionSpeedSet(temp_r31, 0); + } + object->model[6] = temp_r31 = fn_1_D978(lbl_1_bss_14C[4], 1, fn_1_EEF8); + Hu3DModelPosSet(temp_r31, 0, 5000, 0); + Hu3DModelLayerSet(temp_r31, 3); + Hu3DModelAttrReset(temp_r31, 1); + Hu3DParticleBlendModeSet(temp_r31, 1); + temp_r29 = ((ParticleData *)Hu3DData[temp_r31].unk_120)->unk_1C; + temp_r29[1] = 800; + object->func = fn_1_CD14; } void fn_1_D004(omObjData *object); void fn_1_CD14(omObjData *object) { - u16 *temp_r30; - u32 temp_r29; - temp_r29 = fn_1_6878(); - temp_r30 = object->data; - switch (temp_r29) { - case 1: - temp_r30[0] = 2; - temp_r30[1] = 0; - lbl_1_bss_140 = 1; - break; - - case 2: - case 3: - fn_1_D004(object); - temp_r30[1]++; - break; - - case 4: - Hu3DModelScaleSet(object->model[2], 0.16000001f, 0.16000001f, 0.16000001f); - Hu3DModelShadowMapSet(object->model[0]); - Hu3DModelShadowSet(object->model[4]); - break; - - default: - break; - } - if (temp_r29 > 3) { - if (lbl_1_bss_134 >= 0) { - HuAudFXStop(lbl_1_bss_134); - lbl_1_bss_134 = -1; - } - if (lbl_1_bss_130 >= 0) { - HuAudFXStop(lbl_1_bss_130); - lbl_1_bss_130 = -1; - } - } + u16 *temp_r30; + u32 temp_r29; + temp_r29 = fn_1_6878(); + temp_r30 = object->data; + switch(temp_r29) { + case 1: + temp_r30[0] = 2; + temp_r30[1] = 0; + lbl_1_bss_140 = 1; + break; + + case 2: + case 3: + fn_1_D004(object); + temp_r30[1]++; + break; + + case 4: + Hu3DModelScaleSet(object->model[2], 0.16000001f, 0.16000001f, 0.16000001f); + Hu3DModelShadowMapSet(object->model[0]); + Hu3DModelShadowSet(object->model[4]); + break; + + default: + break; + } + if(temp_r29 > 3) { + if(lbl_1_bss_134 >= 0) { + HuAudFXStop(lbl_1_bss_134); + lbl_1_bss_134 = -1; + } + if(lbl_1_bss_130 >= 0) { + HuAudFXStop(lbl_1_bss_130); + lbl_1_bss_130 = -1; + } + } } s32 fn_1_CE68(void) { - switch (lbl_1_bss_140) { - case 0: - return 0; - - case 1: - if (lbl_1_bss_144) { - return 2; - } - else { - return 1; - } - break; - - case 2: - if (lbl_1_bss_144) { - return 3; - } - else { - return 4; - } - break; - } + switch(lbl_1_bss_140) { + case 0: + return 0; + + case 1: + if(lbl_1_bss_144) { + return 2; + } else { + return 1; + } + break; + + case 2: + if(lbl_1_bss_144) { + return 3; + } else { + return 4; + } + break; + } } void fn_1_CEEC(void) { - omObjData *temp_r31; - s32 temp_r30; - temp_r31 = lbl_1_bss_13C; - if (lbl_1_bss_140 >= 2) { - return; - } - lbl_1_bss_140 = 2; - Hu3DModelAttrSet(temp_r31->model[5], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(temp_r31->model[9], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(temp_r31->model[11], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(temp_r31->model[12], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(temp_r31->model[19], HU3D_ATTR_DISPOFF); - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - Hu3DModelAttrSet(temp_r31->model[temp_r30 + 14], HU3D_ATTR_DISPOFF); - } - Hu3DModelAttrReset(temp_r31->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(temp_r31->model[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(temp_r31->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(temp_r31->model[3], HU3D_ATTR_DISPOFF); + omObjData *temp_r31; + s32 temp_r30; + temp_r31 = lbl_1_bss_13C; + if(lbl_1_bss_140 >= 2) { + return; + } + lbl_1_bss_140 = 2; + Hu3DModelAttrSet(temp_r31->model[5], 1); + Hu3DModelAttrSet(temp_r31->model[9], 1); + Hu3DModelAttrSet(temp_r31->model[11], 1); + Hu3DModelAttrSet(temp_r31->model[12], 1); + Hu3DModelAttrSet(temp_r31->model[19], 1); + for(temp_r30=0; temp_r30<4; temp_r30++) { + Hu3DModelAttrSet(temp_r31->model[temp_r30+14], 1); + } + Hu3DModelAttrReset(temp_r31->model[0], 1); + Hu3DModelAttrReset(temp_r31->model[4], 1); + Hu3DModelAttrReset(temp_r31->model[2], 1); + Hu3DModelAttrReset(temp_r31->model[3], 1); } void fn_1_D6F0(omObjData *object); void fn_1_D004(omObjData *object) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - u16 *temp_r30; - float *temp_r28; - s32 temp_r27; - s32 temp_r26; - CameraData *sp8; - temp_r30 = object->data; - sp8 = &Hu3DCamera[0]; - temp_f30 = fn_1_6888(); - temp_f28 = 7000; - switch (temp_r30[0]) { - case 2: - Hu3DModelAttrReset(object->model[9], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[11], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[12], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[19], HU3D_ATTR_DISPOFF); - for (temp_r26 = 0; temp_r26 < 4; temp_r26++) { - Hu3DModelAttrReset(object->model[temp_r26 + 14], HU3D_ATTR_DISPOFF); - } - Hu3DModelAttrReset(object->model[6], HU3D_ATTR_DISPOFF); - if (lbl_1_bss_134 < 0) { - lbl_1_bss_134 = HuAudFXPlay(1363); - } - temp_r30[2] = 0; - temp_r30[0]++; - - case 3: - temp_f31 = temp_r30[1] * 0.25f; - Hu3DModelRotSet(object->model[9], 0, 0.7f * -temp_f31, 0); - Hu3DModelRotSet(object->model[11], 0, 1.3f * temp_f31, 0); - Hu3DModelRotSet(object->model[12], 0, 3.7f * temp_f31, 0); - temp_f29 = 1.0f - ((temp_f30 - 5000) / 15000); - Hu3DMotionTimeSet(object->model[12], 95.0f * temp_f29); - temp_r27 = object->model[6]; - temp_r28 = ((ParticleData *)Hu3DData[temp_r27].unk_120)->unk_1C; - temp_r28[2] = 1.0f - ((temp_f30 - 5000) / (temp_f28 - 5000)); - if (temp_f30 <= 5400 && temp_r30[2] == 0) { - temp_r30[2] = 30; - if (!lbl_1_bss_40) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, temp_r30[2]); - lbl_1_bss_44 = 1; - } - lbl_1_bss_144 = 1; - temp_r30[0]++; - } - if (temp_f30 <= 4800) { - temp_r28[1] = 1200; - temp_r30[0]++; - } - fn_1_D6F0(object); - break; - - case 4: - if (temp_r30[2]-- == 0) { - if (!lbl_1_bss_40) { - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - lbl_1_bss_44 = 0; - } - if (lbl_1_bss_138 < 0) { - lbl_1_bss_138 = HuAudFXPlay(1357); - } - fn_1_CEEC(); - if (lbl_1_bss_134 >= 0) { - HuAudFXStop(lbl_1_bss_134); - lbl_1_bss_134 = -1; - } - if (lbl_1_bss_130 < 0) { - lbl_1_bss_130 = HuAudFXPlay(1361); - } - temp_r30[0]++; - } - - break; - - case 5: - if (!WipeStatGet()) { - lbl_1_bss_144 = 0; - } - temp_r27 = object->model[6]; - if (temp_r27 != 0) { - Hu3DModelPosSet(temp_r27, 0, 200 + temp_f30, 0); - temp_r28 = ((ParticleData *)Hu3DData[temp_r27].unk_120)->unk_1C; - temp_r28[2] -= 0.025f; - if (temp_r28[2] <= 0) { - Hu3DModelAttrReset(temp_r27, HU3D_ATTR_PARTICLE_KILL); - Hu3DModelKill(temp_r27); - object->model[6] = 0; - } - } - temp_f31 = temp_r30[1] % 360; - temp_f31 = 0.1f * (1.4f + ((0.2f * temp_f30) / 5000)); - Hu3DModelScaleSet(object->model[2], temp_f31, temp_f31, temp_f31); - break; - } + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + u16 *temp_r30; + float *temp_r28; + s32 temp_r27; + s32 temp_r26; + CameraData *sp8; + temp_r30 = object->data; + sp8 = &Hu3DCamera[0]; + temp_f30 = fn_1_6888(); + temp_f28 = 7000; + switch(temp_r30[0]) { + case 2: + Hu3DModelAttrReset(object->model[9], 1); + Hu3DModelAttrReset(object->model[11], 1); + Hu3DModelAttrReset(object->model[12], 1); + Hu3DModelAttrReset(object->model[19], 1); + for(temp_r26=0; temp_r26<4; temp_r26++) { + Hu3DModelAttrReset(object->model[temp_r26+14], 1); + } + Hu3DModelAttrReset(object->model[6], 1); + if(lbl_1_bss_134 < 0) { + lbl_1_bss_134 = HuAudFXPlay(1363); + } + temp_r30[2] = 0; + temp_r30[0]++; + + case 3: + temp_f31 = temp_r30[1]*0.25f; + Hu3DModelRotSet(object->model[9], 0, 0.7f*-temp_f31, 0); + Hu3DModelRotSet(object->model[11], 0, 1.3f*temp_f31, 0); + Hu3DModelRotSet(object->model[12], 0, 3.7f*temp_f31, 0); + temp_f29 = 1.0f-((temp_f30-5000)/15000); + Hu3DMotionTimeSet(object->model[12], 95.0f*temp_f29); + temp_r27 = object->model[6]; + temp_r28 = ((ParticleData *)Hu3DData[temp_r27].unk_120)->unk_1C; + temp_r28[2] = 1.0f-((temp_f30-5000)/(temp_f28-5000)); + if(temp_f30 <= 5400 && temp_r30[2] == 0) { + temp_r30[2] = 30; + if(!lbl_1_bss_40) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, temp_r30[2]); + lbl_1_bss_44 = 1; + } + lbl_1_bss_144 = 1; + temp_r30[0]++; + } + if(temp_f30 <= 4800) { + temp_r28[1] = 1200; + temp_r30[0]++; + } + fn_1_D6F0(object); + break; + + case 4: + if(temp_r30[2]-- == 0) { + if(!lbl_1_bss_40) { + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); + lbl_1_bss_44 = 0; + } + if(lbl_1_bss_138 < 0) { + lbl_1_bss_138 = HuAudFXPlay(1357); + } + fn_1_CEEC(); + if(lbl_1_bss_134 >= 0) { + HuAudFXStop(lbl_1_bss_134); + lbl_1_bss_134 = -1; + } + if(lbl_1_bss_130 < 0) { + lbl_1_bss_130 = HuAudFXPlay(1361); + } + temp_r30[0]++; + } + + break; + + case 5: + if(!WipeStatGet()) { + lbl_1_bss_144 = 0; + } + temp_r27 = object->model[6]; + if(temp_r27 != 0) { + Hu3DModelPosSet(temp_r27, 0, 200+temp_f30, 0); + temp_r28 = ((ParticleData *)Hu3DData[temp_r27].unk_120)->unk_1C; + temp_r28[2] -= 0.025f; + if(temp_r28[2] <= 0) { + Hu3DModelAttrReset(temp_r27, 0x20); + Hu3DModelKill(temp_r27); + object->model[6] = 0; + } + } + temp_f31 = temp_r30[1]%360; + temp_f31 = 0.1f*(1.4f+((0.2f*temp_f30)/5000)); + Hu3DModelScaleSet(object->model[2], temp_f31, temp_f31, temp_f31); + break; + } } void fn_1_D6F0(omObjData *object) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - s32 temp_r31; - s32 temp_r30; - s32 temp_r29; - temp_f28 = fn_1_6888() - 1500; - temp_f29 = 500.0f * (int)(temp_f28 / 500.0f); - temp_r30 = (int)(temp_f28 / 500.0f) % 4; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r29 = object->model[temp_r30 + 14]; - Hu3DModelPosSet(temp_r29, 0, temp_f29, 0); - temp_f31 = temp_f29 - temp_f28; - temp_f30 = 0; - if (temp_f31 > -250.0f && temp_f31 < 1525.0f) { - temp_f30 = 45; - if (temp_f31 < 0.0f) { - temp_f31 -= -250.0f; - temp_f30 *= fabs(temp_f31 / 250.0f); - } - else { - if (temp_f31 > 1425) { - temp_f31 -= 1425; - temp_f30 *= 1.0 - fabs(temp_f31 / 100.0f); - } - } - } - Hu3DMotionTimeSet(temp_r29, temp_f30); - temp_f29 += 500.0f; - temp_r30 = (temp_r30 + 1) % 4; - } + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + s32 temp_r31; + s32 temp_r30; + s32 temp_r29; + temp_f28 = fn_1_6888()-1500; + temp_f29 = 500.0f*(int)(temp_f28/500.0f); + temp_r30 = (int)(temp_f28/500.0f)%4; + for(temp_r31=0; temp_r31<4; temp_r31++) { + temp_r29 = object->model[temp_r30+14]; + Hu3DModelPosSet(temp_r29, 0, temp_f29, 0); + temp_f31 = temp_f29-temp_f28; + temp_f30 = 0; + if(temp_f31 > -250.0f && temp_f31 < 1525.0f) { + temp_f30 = 45; + if(temp_f31 < 0.0f) { + temp_f31 -= -250.0f; + temp_f30 *= fabs(temp_f31/250.0f); + } else { + if(temp_f31 > 1425) { + temp_f31 -= 1425; + temp_f30 *= 1.0-fabs(temp_f31/100.0f); + } + } + } + Hu3DMotionTimeSet(temp_r29, temp_f30); + temp_f29 += 500.0f; + temp_r30 = (temp_r30+1)%4; + } } s16 fn_1_D978(AnimData *arg0, s16 arg1, ParticleHook arg2) { - s32 temp_r31; - HsfanimStruct01 *temp_r30; - ParticleData *temp_r29; - s32 temp_r28; - HsfanimStruct01 *temp_r27; - temp_r28 = Hu3DParticleCreate(arg0, arg1); - Hu3DParticleHookSet(temp_r28, arg2); - Hu3DModelAttrSet(temp_r28, HU3D_ATTR_DISPOFF); - temp_r29 = Hu3DData[temp_r28].unk_120; - temp_r27 = temp_r29->unk_48; - for (temp_r31 = 0; temp_r31 < temp_r29->unk_30; temp_r31++, temp_r27++) { - temp_r27->unk2C = 0; - } - temp_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(HsfanimStruct01), MEMORY_DEFAULT_NUM); - temp_r29->unk_1C = temp_r30; - temp_r30->unk00 = temp_r28; - temp_r30->unk02 = 0; - for (temp_r31 = 0; temp_r31 < 32; temp_r31++) { - // Ugly expression to match store without new type - *((s16 *)(((u8 *)temp_r30) + (temp_r31 * 2) + 4)) = 0; - } - return temp_r28; + s32 temp_r31; + HsfanimStruct01 *temp_r30; + ParticleData *temp_r29; + s32 temp_r28; + HsfanimStruct01 *temp_r27; + temp_r28 = Hu3DParticleCreate(arg0, arg1); + Hu3DParticleHookSet(temp_r28, arg2); + Hu3DModelAttrSet(temp_r28, 1); + temp_r29 = Hu3DData[temp_r28].unk_120; + temp_r27 = temp_r29->unk_48; + for(temp_r31=0; temp_r31unk_30; temp_r31++, temp_r27++) { + temp_r27->unk2C = 0; + } + temp_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(HsfanimStruct01), MEMORY_DEFAULT_NUM); + temp_r29->unk_1C = temp_r30; + temp_r30->unk00_s16 = temp_r28; + temp_r30->unk02 = 0; + for(temp_r31=0; temp_r31<32; temp_r31++) { + //Ugly expression to match store without new type + *((s16 *)(((u8 *)temp_r30)+(temp_r31*2)+4)) = 0; + } + return temp_r28; } void fn_1_DA6C(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - float temp_f30; - - HsfanimStruct01 *temp_r31; - ParticleData *temp_r29; - s32 temp_r28; - s32 temp_r27; - s16 temp_r26; - temp_r29 = particle->unk_1C; - switch (temp_r29->unk_02) { - case 0: - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - temp_r31->unk00 = 0; - } - particle->unk_00 = 0; - temp_r29->unk_02++; - temp_r29->unk_04.y = 3; - temp_r29->unk_04.z = 25; - break; - - case 1: - for (temp_r28 = 0; temp_r28 < 100; temp_r28++) { - temp_r31 = particle->unk_48; - for (temp_r27 = 0; temp_r27 < particle->unk_30; temp_r27++, temp_r31++) { - if (!temp_r31->unk00) { - break; - } - } - if (temp_r27 == particle->unk_30) { - temp_r29->unk_02++; - break; - } - temp_r31->unk34.x = temp_r31->unk34.y = temp_r31->unk34.z = 0; - temp_r26 = fn_1_11670() % 360; - temp_r31->unk08.x = sind(temp_r26); - temp_r31->unk08.y = -6.0 + (2.0 * temp_r29->unk_10.x); - temp_r31->unk08.z = cosd(temp_r26); - temp_r31->unk14.x = ((fn_1_11670() & 0x7) + temp_r29->unk_04.z) - 4.0f; - temp_r31->unk14.x *= 0.1f; - temp_f31 = temp_r29->unk_04.y + (0.01 * (float)(fn_1_11670() % 400)); - temp_f31 *= 0.1f; - temp_r31->unk34.x = temp_f31 * temp_r31->unk08.x; - temp_r31->unk34.y = 0; - temp_r31->unk34.z = temp_f31 * temp_r31->unk08.z; - temp_r31->unk2C = (0.01 * (frand() % 2000)) + 30.0; - temp_r31->unk2C *= 0.1f; - temp_r31->unk40.a = 255; - temp_r31->unk00 = 30; - } - break; - } - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - if (temp_r31->unk00 == 0) { - continue; - } - temp_f30 = temp_r31->unk14.x; - temp_r31->unk34.x += temp_r31->unk08.x * temp_f30; - temp_r31->unk34.y += temp_r31->unk08.y; - temp_r31->unk34.z += temp_r31->unk08.z * temp_f30; - temp_r31->unk2C *= 1.025f; - temp_r31->unk40.a *= 0.95f; - temp_r31->unk40.a--; - temp_r31->unk14.x *= 0.8f; - temp_r31->unk08.y *= 0.85f; - temp_r31->unk08.y += 0.1f; - if (temp_r31->unk40.a < 2) { - temp_r31->unk40.a = 0; - temp_r31->unk00 = 0; - particle->unk_00++; - } - } - DCFlushRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); - if (particle->unk_00 >= particle->unk_30 && temp_r29->unk_02 == 2) { - temp_r29->unk_02 = 0; - Hu3DModelAttrReset(temp_r29->unk_00, HU3D_ATTR_PARTICLE_KILL); - Hu3DModelKill(temp_r29->unk_00); - } + float temp_f31; + float temp_f30; + + HsfanimStruct01 *temp_r31; + ParticleData *temp_r29; + s32 temp_r28; + s32 temp_r27; + s16 temp_r26; + temp_r29 = particle->unk_1C; + switch(temp_r29->unk_02) { + case 0: + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + temp_r31->unk00 = 0; + } + particle->unk_00 = 0; + temp_r29->unk_02++; + temp_r29->unk_04.y = 3; + temp_r29->unk_04.z = 25; + break; + + case 1: + for(temp_r28=0; temp_r28<100; temp_r28++) { + temp_r31 = particle->unk_48; + for(temp_r27=0; temp_r27unk_30; temp_r27++, temp_r31++) { + if(!temp_r31->unk00_s16) { + break; + } + } + if(temp_r27 == particle->unk_30) { + temp_r29->unk_02++; + break; + } + temp_r31->unk34.x = temp_r31->unk34.y = temp_r31->unk34.z = 0; + temp_r26 = fn_1_11670()%360; + temp_r31->unk08.x = sind(temp_r26); + temp_r31->unk08.y = -6.0+(2.0*temp_r29->unk_10.x); + temp_r31->unk08.z = cosd(temp_r26); + temp_r31->unk14.x = ((fn_1_11670() & 0x7)+temp_r29->unk_04.z)-4.0f; + temp_r31->unk14.x *= 0.1f; + temp_f31 = temp_r29->unk_04.y+(0.01*(float)(fn_1_11670()%400)); + temp_f31 *= 0.1f; + temp_r31->unk34.x = temp_f31*temp_r31->unk08.x; + temp_r31->unk34.y = 0; + temp_r31->unk34.z = temp_f31*temp_r31->unk08.z; + temp_r31->unk2C = (0.01*(frand()%2000))+30.0; + temp_r31->unk2C *= 0.1f; + temp_r31->unk40.a = 255; + temp_r31->unk00_s16 = 30; + } + break; + } + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + if(temp_r31->unk00_s16 == 0) { + continue; + } + temp_f30 = temp_r31->unk14.x; + temp_r31->unk34.x += temp_r31->unk08.x*temp_f30; + temp_r31->unk34.y += temp_r31->unk08.y; + temp_r31->unk34.z += temp_r31->unk08.z*temp_f30; + temp_r31->unk2C *= 1.025f; + temp_r31->unk40.a *= 0.95f; + temp_r31->unk40.a--; + temp_r31->unk14.x *= 0.8f; + temp_r31->unk08.y *= 0.85f; + temp_r31->unk08.y += 0.1f; + if(temp_r31->unk40.a < 2) { + temp_r31->unk40.a = 0; + temp_r31->unk00_s16 = 0; + particle->unk_00++; + } + } + DCFlushRange(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); + if(particle->unk_00 >= particle->unk_30 && temp_r29->unk_02 == 2) { + temp_r29->unk_02 = 0; + Hu3DModelAttrReset(temp_r29->unk_00, 0x20); + Hu3DModelKill(temp_r29->unk_00); + } } void fn_1_DFD0(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - HsfanimStruct01 *temp_r31; - ParticleData *temp_r30; - s32 temp_r28; - s16 temp_r27; - s32 temp_r26; - temp_r30 = particle->unk_1C; - switch (temp_r30->unk_02) { - case 0: - temp_r31 = particle->unk_48; - temp_r30->unk_04.x = 10; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - temp_r31->unk34.x = temp_r31->unk34.y = temp_r31->unk34.z = 0; - temp_r27 = fn_1_11670() % 360; - temp_r31->unk08.x = sind(temp_r27); - temp_r31->unk08.y = 0; - temp_r31->unk08.z = cosd(temp_r27); - temp_f31 = temp_r30->unk_04.x + (temp_r30->unk_04.x * ((1.0 / 65536.0) * (float)fn_1_11670())); - temp_r31->unk34.x = temp_f31 * temp_r31->unk08.x; - temp_r31->unk34.y = -(100.0 * ((1.0 / 65536.0) * (float)fn_1_11670())); - temp_r31->unk34.z = temp_f31 * temp_r31->unk08.z; - temp_r31->unk2C = (0.01 * (frand() % 2000)) + 40.0; - temp_r26 = frand() & 0x2F; - temp_r31->unk40.r = temp_r26 + 208; - temp_r31->unk40.g = temp_r26 + 208; - temp_r31->unk40.a = (frand() & 0x5F) + 32; - } - temp_r30->unk_02++; - particle->unk_00 = 60; - break; - - case 1: - if (--particle->unk_00 == 0) { - Hu3DModelAttrReset(temp_r30->unk_00, HU3D_ATTR_PARTICLE_KILL); - Hu3DModelKill(temp_r30->unk_00); - return; - } - break; - } - DCFlushRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); + float temp_f31; + HsfanimStruct01 *temp_r31; + ParticleData *temp_r30; + s32 temp_r28; + s16 temp_r27; + s32 temp_r26; + temp_r30 = particle->unk_1C; + switch(temp_r30->unk_02) { + case 0: + temp_r31 = particle->unk_48; + temp_r30->unk_04.x = 10; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + temp_r31->unk34.x = temp_r31->unk34.y = temp_r31->unk34.z = 0; + temp_r27 = fn_1_11670()%360; + temp_r31->unk08.x = sind(temp_r27); + temp_r31->unk08.y = 0; + temp_r31->unk08.z = cosd(temp_r27); + temp_f31 = temp_r30->unk_04.x+(temp_r30->unk_04.x*((1.0/65536.0)*(float)fn_1_11670())); + temp_r31->unk34.x = temp_f31*temp_r31->unk08.x; + temp_r31->unk34.y = -(100.0*((1.0/65536.0)*(float)fn_1_11670())); + temp_r31->unk34.z = temp_f31*temp_r31->unk08.z; + temp_r31->unk2C = (0.01*(frand()%2000))+40.0; + temp_r26 = frand()&0x2F; + temp_r31->unk40.r = temp_r26+208; + temp_r31->unk40.g = temp_r26+208; + temp_r31->unk40.a = (frand()&0x5F)+32; + } + temp_r30->unk_02++; + particle->unk_00 = 60; + break; + + case 1: + if(--particle->unk_00 == 0) { + Hu3DModelAttrReset(temp_r30->unk_00, 0x20); + Hu3DModelKill(temp_r30->unk_00); + return; + } + break; + } + DCFlushRange(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); } void fn_1_E310(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - float temp_f30; - - HsfanimStruct01 *temp_r31; - ParticleData *temp_r29; - s32 temp_r28; - s32 temp_r27; - s16 temp_r26; - temp_r29 = particle->unk_1C; - switch (temp_r29->unk_02) { - case 0: - temp_r31 = particle->unk_48; - temp_f30 = 360.0f / particle->unk_30; - - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - temp_r31->unk00 = (s32)(360.0 * ((1.0 / 65536.0) * (float)fn_1_11670())); - temp_r31->unk34.x = temp_r31->unk34.y = temp_r31->unk34.z = 0; - temp_r26 = (temp_f30 * temp_r28) + (int)((temp_f30 * 0.5f) * ((1.0 / 32768.0) * (float)(fn_1_11670() - 32768))); - temp_r31->unk20 = temp_r26; - temp_r31->unk30 = (M_PI * (temp_r26 + 90.0f)) / 180.0; - temp_r31->unk08.x = sind(temp_r26); - temp_r31->unk08.y = 0; - temp_r31->unk08.z = cosd(temp_r26); - temp_f31 = temp_r29->unk_04.y + ((0.25f * temp_r29->unk_04.y) * ((1.0 / 65536.0) * (float)fn_1_11670())); - temp_r31->unk14.x = temp_f31 * temp_r31->unk08.x; - temp_r31->unk14.y = 120.0 * ((1.0 / 32768.0) * (float)(fn_1_11670() - 32768)); - temp_r31->unk14.z = temp_f31 * temp_r31->unk08.z; - temp_r31->unk24 = temp_r31->unk2C = (0.01 * (frand() % 2000)) + 160; - if (particle->unk_2C == 1) { - temp_r27 = frand() & 0x2F; - temp_r31->unk40.r = temp_r27 + 32; - temp_r31->unk40.g = temp_r27 + 32; - temp_r31->unk40.b = 64 + temp_r27 + ((int)(((46 - temp_r27) * ((1.0 / 65536.0) * (float)fn_1_11670())))); - temp_r31->unk40.a = (frand() & 0x2F) + 32; - } - else { - temp_r27 = frand() & 0x2F; - temp_r31->unk40.r = temp_r27 + 208; - temp_r31->unk40.g = temp_r27 + 208; - temp_r31->unk40.a = (frand() & 0x4F) + 176; - } - } - temp_r29->unk_02++; - - case 1: - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - temp_r31->unk00 += 4; - if (temp_r31->unk00 >= 360) { - temp_r31->unk00 -= 360; - } - temp_r31->unk34.x = temp_r31->unk14.x; - temp_r31->unk34.y = temp_r31->unk14.y; - temp_r31->unk34.z = temp_r31->unk14.z; - temp_r31->unk30 = M_PI * (90 + (temp_r31->unk20 + temp_r29->unk_04.z)) / 180; - temp_r31->unk2C = temp_r31->unk24 * ((0.1f * sind(temp_r31->unk00)) + 1.0); - } - break; - } - DCFlushRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); + float temp_f31; + float temp_f30; + + HsfanimStruct01 *temp_r31; + ParticleData *temp_r29; + s32 temp_r28; + s32 temp_r27; + s16 temp_r26; + temp_r29 = particle->unk_1C; + switch(temp_r29->unk_02) { + case 0: + temp_r31 = particle->unk_48; + temp_f30 = 360.0f/particle->unk_30; + + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + temp_r31->unk00_s16 = (s32)(360.0*((1.0/65536.0)*(float)fn_1_11670())); + temp_r31->unk34.x = temp_r31->unk34.y = temp_r31->unk34.z = 0; + temp_r26 = (temp_f30*temp_r28)+(int)((temp_f30*0.5f)*((1.0/32768.0)*(float)(fn_1_11670()-32768))); + temp_r31->unk20 = temp_r26; + temp_r31->unk30 = (M_PI*(temp_r26+90.0f))/180.0; + temp_r31->unk08.x = sind(temp_r26); + temp_r31->unk08.y = 0; + temp_r31->unk08.z = cosd(temp_r26); + temp_f31 = temp_r29->unk_04.y+((0.25f*temp_r29->unk_04.y)*((1.0/65536.0)*(float)fn_1_11670())); + temp_r31->unk14.x = temp_f31*temp_r31->unk08.x; + temp_r31->unk14.y = 120.0*((1.0/32768.0)*(float)(fn_1_11670()-32768)); + temp_r31->unk14.z = temp_f31*temp_r31->unk08.z; + temp_r31->unk24 = temp_r31->unk2C = (0.01*(frand()%2000))+160; + if(particle->unk_2C == 1) { + temp_r27 = frand()&0x2F; + temp_r31->unk40.r = temp_r27+32; + temp_r31->unk40.g = temp_r27+32; + temp_r31->unk40.b = 64+temp_r27+((int)(((46-temp_r27)*((1.0/65536.0)*(float)fn_1_11670())))); + temp_r31->unk40.a = (frand()&0x2F)+32; + } else { + temp_r27 = frand()&0x2F; + temp_r31->unk40.r = temp_r27+208; + temp_r31->unk40.g = temp_r27+208; + temp_r31->unk40.a = (frand()&0x4F)+176; + } + } + temp_r29->unk_02++; + + case 1: + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + temp_r31->unk00_s16 += 4; + if(temp_r31->unk00_s16 >= 360) { + temp_r31->unk00_s16 -= 360; + } + temp_r31->unk34.x = temp_r31->unk14.x; + temp_r31->unk34.y = temp_r31->unk14.y; + temp_r31->unk34.z = temp_r31->unk14.z; + temp_r31->unk30 = M_PI*(90+(temp_r31->unk20+temp_r29->unk_04.z))/180; + temp_r31->unk2C = temp_r31->unk24*((0.1f*sind(temp_r31->unk00_s16))+1.0); + } + break; + } + DCFlushRange(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); } void fn_1_E9B4(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f30; - float temp_f31; - HsfanimStruct01 *temp_r31; - ParticleData *temp_r30; - s32 temp_r28; - s16 temp_r27; - s32 temp_r26; - temp_r30 = particle->unk_1C; - switch (temp_r30->unk_02) { - case 0: - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - temp_r31->unk00 = fn_1_11670() % 360; - temp_r31->unk34.x = temp_r31->unk34.y = temp_r31->unk34.z = 0; - temp_r27 = fn_1_11670() % 360; - temp_r31->unk20 = temp_r27; - temp_r31->unk08.x = sind(temp_r27); - temp_r31->unk08.y = 0; - temp_r31->unk08.z = cosd(temp_r27); - temp_f31 = temp_r30->unk_04.x + (0.01 * ((30.0f * temp_r30->unk_04.x) * ((1.0 / 65536.0) * (float)fn_1_11670()))); - temp_f30 = (0.15f + (0.3f * ((1.0 / 65536.0) * (float)fn_1_11670()))); - temp_r31->unk14.x = temp_f31 * temp_r31->unk08.x; - temp_r31->unk14.y = 50 * ((1.0 / 32768.0) * (float)(fn_1_11670() - 32768)); - temp_r31->unk14.z = temp_f31 * temp_r31->unk08.z * temp_f30; - temp_r31->unk24 = temp_r31->unk2C - = temp_r30->unk_04.x + (0.01 * ((50.0f * temp_r30->unk_04.x) * ((1.0 / 65536.0) * (float)fn_1_11670()))); - temp_r26 = frand() & 0x7F; - temp_r31->unk40.r = temp_r26 + 64; - temp_r31->unk40.g = temp_r26 + 64; - temp_f31 -= temp_r30->unk_04.x; - temp_r31->unk40.a - = 32 + (int)((48.0f * temp_f31) / (0.2f * temp_r30->unk_04.x)) + (int)(32 * ((1.0 / 65536.0) * (float)fn_1_11670())); - } - temp_r30->unk_02++; - - case 1: - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - temp_r31->unk00 += 2; - if (temp_r31->unk00 >= 360) { - temp_r31->unk00 -= 360; - } - temp_r31->unk34.x = temp_r31->unk14.x; - temp_r31->unk34.y = temp_r31->unk14.y; - temp_r31->unk34.z = temp_r31->unk14.z; - temp_r31->unk2C = temp_r31->unk24 * ((0.1f * sind(temp_r31->unk00)) + 1.0); - } - break; - } - DCFlushRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); + float temp_f30; + float temp_f31; + HsfanimStruct01 *temp_r31; + ParticleData *temp_r30; + s32 temp_r28; + s16 temp_r27; + s32 temp_r26; + temp_r30 = particle->unk_1C; + switch(temp_r30->unk_02) { + case 0: + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + temp_r31->unk00_s16 = fn_1_11670()%360; + temp_r31->unk34.x = temp_r31->unk34.y = temp_r31->unk34.z = 0; + temp_r27 = fn_1_11670()%360; + temp_r31->unk20 = temp_r27; + temp_r31->unk08.x = sind(temp_r27); + temp_r31->unk08.y = 0; + temp_r31->unk08.z = cosd(temp_r27); + temp_f31 = temp_r30->unk_04.x+(0.01*((30.0f*temp_r30->unk_04.x)*((1.0/65536.0)*(float)fn_1_11670()))); + temp_f30 = (0.15f+(0.3f*((1.0/65536.0)*(float)fn_1_11670()))); + temp_r31->unk14.x = temp_f31*temp_r31->unk08.x; + temp_r31->unk14.y = 50*((1.0/32768.0)*(float)(fn_1_11670()-32768)); + temp_r31->unk14.z = temp_f31*temp_r31->unk08.z*temp_f30; + temp_r31->unk24 = temp_r31->unk2C = temp_r30->unk_04.x+(0.01*((50.0f*temp_r30->unk_04.x)*((1.0/65536.0)*(float)fn_1_11670()))); + temp_r26 = frand()&0x7F; + temp_r31->unk40.r = temp_r26+64; + temp_r31->unk40.g = temp_r26+64; + temp_f31 -= temp_r30->unk_04.x; + temp_r31->unk40.a = 32+(int)((48.0f*temp_f31)/(0.2f*temp_r30->unk_04.x))+(int)(32*((1.0/65536.0)*(float)fn_1_11670())); + } + temp_r30->unk_02++; + + case 1: + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + temp_r31->unk00_s16 += 2; + if(temp_r31->unk00_s16 >= 360) { + temp_r31->unk00_s16 -= 360; + } + temp_r31->unk34.x = temp_r31->unk14.x; + temp_r31->unk34.y = temp_r31->unk14.y; + temp_r31->unk34.z = temp_r31->unk14.z; + temp_r31->unk2C = temp_r31->unk24*((0.1f*sind(temp_r31->unk00_s16))+1.0); + } + break; + } + DCFlushRange(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); } void fn_1_EEF8(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - HsfanimStruct01 *temp_r31; - ParticleData *temp_r29; - s32 temp_r28; - u8 temp_r27; - temp_r29 = particle->unk_1C; - switch (temp_r29->unk_02) { - case 0: - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - temp_r31->unk34.x = temp_r31->unk34.y = temp_r31->unk34.z = 0; - temp_r31->unk40.r = temp_r31->unk40.g = temp_r31->unk40.b = temp_r31->unk40.a = 255; - temp_r31->unk2C = temp_r29->unk_04.x; - } - temp_r29->unk_02++; - break; - - case 1: - if (temp_r29->unk_04.y < 0.0f) { - break; - } - temp_f31 = 0.1f + temp_r29->unk_04.y; - temp_f31 = 1.2f * (temp_f31 * temp_f31); - if (temp_f31 > 1.0f) { - temp_f31 = 1.0f; - } - temp_r27 = 255 * temp_f31; - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - temp_r31->unk40.a = temp_r27; - } - break; - } - DCFlushRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); + float temp_f31; + HsfanimStruct01 *temp_r31; + ParticleData *temp_r29; + s32 temp_r28; + u8 temp_r27; + temp_r29 = particle->unk_1C; + switch(temp_r29->unk_02) { + case 0: + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + temp_r31->unk34.x = temp_r31->unk34.y = temp_r31->unk34.z = 0; + temp_r31->unk40.r = temp_r31->unk40.g = temp_r31->unk40.b = temp_r31->unk40.a = 255; + temp_r31->unk2C = temp_r29->unk_04.x; + } + temp_r29->unk_02++; + break; + + case 1: + if(temp_r29->unk_04.y < 0.0f) { + break; + } + temp_f31 = 0.1f+temp_r29->unk_04.y; + temp_f31 = 1.2f*(temp_f31*temp_f31); + if(temp_f31 > 1.0f) { + temp_f31 = 1.0f; + } + temp_r27 = 255*temp_f31; + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + temp_r31->unk40.a = temp_r27; + } + break; + } + DCFlushRange(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); } void fn_1_F06C(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - HsfanimStruct01 *temp_r31; - ParticleData *temp_r29; - s32 temp_r28; - s16 temp_r27; - temp_r27 = 0; - temp_r29 = particle->unk_1C; - switch (temp_r29->unk_02) { - case 0: - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - temp_r31->unk00 = temp_r31->unk02 = 0; - } - temp_r29->unk_02++; - break; - - case 1: - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r28++, temp_r31++) { - if (temp_r31->unk00) { - temp_r31->unk00--; - continue; - } - if (temp_r31->unk02 == 0) { - temp_f31 = 360.0f * ((1.0 / 65536.0) * (float)fn_1_11670()); - temp_r31->unk34.x = 10.0 * (50.0 + (250.0 * ((1.0 / 65536.0) * (float)fn_1_11670()))) * sind(temp_f31); - temp_r31->unk34.y = 0; - temp_r31->unk34.z = 10.0 * (50.0 + (250.0 * ((1.0 / 65536.0) * (float)fn_1_11670()))) * cosd(temp_f31); - temp_r31->unk30 = (M_PI * (temp_f31 - 90.0f)) / 180; - temp_r31->unk40.r = temp_r31->unk40.g = temp_r31->unk40.b = temp_r31->unk40.a = 192; - temp_r31->unk40.b = 160; - temp_r31->unk2C = 0; - temp_r31->unk00 = (s32)(90.0 * ((1.0 / 65536.0) * (float)fn_1_11670())); - temp_r31->unk02 = 60; - } - temp_r31->unk40.a = 248 * sind(temp_r31->unk02 * 3); - temp_r31->unk2C = temp_r29->unk_04.x * (60 - temp_r31->unk02); - temp_r31->unk02--; - } - if (particle->unk_30 == temp_r27) { - Hu3DModelAttrReset(temp_r29->unk_00, HU3D_ATTR_PARTICLE_KILL); - Hu3DModelKill(temp_r29->unk_00); - return; - } - break; - } - DCFlushRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); + float temp_f31; + HsfanimStruct01 *temp_r31; + ParticleData *temp_r29; + s32 temp_r28; + s16 temp_r27; + temp_r27 = 0; + temp_r29 = particle->unk_1C; + switch(temp_r29->unk_02) { + case 0: + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + temp_r31->unk00_s16 = temp_r31->unk02 = 0; + } + temp_r29->unk_02++; + break; + + case 1: + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r28++, temp_r31++) { + if(temp_r31->unk00_s16) { + temp_r31->unk00_s16--; + continue; + } + if(temp_r31->unk02 == 0) { + temp_f31 = 360.0f*((1.0/65536.0)*(float)fn_1_11670()); + temp_r31->unk34.x = 10.0*(50.0+(250.0*((1.0/65536.0)*(float)fn_1_11670())))*sind(temp_f31); + temp_r31->unk34.y = 0; + temp_r31->unk34.z = 10.0*(50.0+(250.0*((1.0/65536.0)*(float)fn_1_11670())))*cosd(temp_f31); + temp_r31->unk30 = (M_PI*(temp_f31-90.0f))/180; + temp_r31->unk40.r = temp_r31->unk40.g = temp_r31->unk40.b = temp_r31->unk40.a = 192; + temp_r31->unk40.b = 160; + temp_r31->unk2C = 0; + temp_r31->unk00_s16 = (s32)(90.0*((1.0/65536.0)*(float)fn_1_11670())); + temp_r31->unk02 = 60; + } + temp_r31->unk40.a = 248*sind(temp_r31->unk02*3); + temp_r31->unk2C = temp_r29->unk_04.x*(60-temp_r31->unk02); + temp_r31->unk02--; + } + if(particle->unk_30 == temp_r27) { + Hu3DModelAttrReset(temp_r29->unk_00, 0x20); + Hu3DModelKill(temp_r29->unk_00); + return; + } + break; + } + DCFlushRange(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); } WorkF4B0 *fn_1_F4B0(s16 arg0, s16 arg1) { - WorkF4B0 *temp_r31; - s32 temp_r30; - ModelData *temp_r29; - temp_r29 = &Hu3DData[arg0]; - temp_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkF4B0), MEMORY_DEFAULT_NUM); - temp_r29->unk_120 = temp_r31; - temp_r31->unk0 = arg0; - temp_r31->unk2 = arg1; - temp_r31->unk4 = NULL; - temp_r31->unk8 = NULL; - for (temp_r30 = 0; temp_r30 < 32; temp_r30++) { - temp_r31->unk10[temp_r30] = 0; - } - return temp_r31; + WorkF4B0 *temp_r31; + s32 temp_r30; + ModelData *temp_r29; + temp_r29 = &Hu3DData[arg0]; + temp_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkF4B0), MEMORY_DEFAULT_NUM); + temp_r29->unk_120 = temp_r31; + temp_r31->unk0 = arg0; + temp_r31->unk2 = arg1; + temp_r31->unk4 = NULL; + temp_r31->unk8 = NULL; + for(temp_r30=0; temp_r30<32; temp_r30++) { + temp_r31->unk10[temp_r30] = 0; + } + return temp_r31; } void fn_1_F564(s16 arg0) { - float temp_f31; - WorkF4B0 *temp_r31; - s32 temp_r30; - HsfObject *temp_r29; - s32 temp_r28; - ModelData *temp_r27; - temp_r27 = &Hu3DData[arg0]; - temp_r29 = temp_r27->hsfData->root; - temp_r31 = temp_r27->unk_120; - if (temp_r31->unk8 == NULL) { - temp_r31->unk8 = HuMemDirectMallocNum(HEAP_SYSTEM, temp_r29->data.st->count * sizeof(HsfVector2f), MEMORY_DEFAULT_NUM); - temp_r31->unkC = HuMemDirectMallocNum(HEAP_SYSTEM, temp_r29->data.st->count, MEMORY_DEFAULT_NUM); - for (temp_r30 = 0; temp_r30 < temp_r29->data.st->count; temp_r30++) { - temp_r31->unk8[temp_r30].x = ((HsfVector2f *)(temp_r29->data.st->data))[temp_r30].x; - temp_r31->unk8[temp_r30].y = ((HsfVector2f *)(temp_r29->data.st->data))[temp_r30].y; - } - } - temp_r31->unk10_f[0] += 2.0f; - for (temp_r30 = 0; temp_r30 < temp_r29->data.st->count; temp_r30++) { - temp_r31->unkC[temp_r30] = 0; - } - for (temp_r30 = 0; temp_r30 < temp_r29->data.st->count; temp_r30++) { - if (temp_r31->unkC[temp_r30]) { - continue; - } - temp_r31->unkC[temp_r30]++; - temp_f31 = temp_r31->unk10_f[0] + (60.0f * temp_r30); - ((HsfVector2f *)(temp_r29->data.st->data))[temp_r30].x = temp_r31->unk8[temp_r30].x + (0.005f * sind(temp_f31)); - ((HsfVector2f *)(temp_r29->data.st->data))[temp_r30].y = temp_r31->unk8[temp_r30].y + (0.005f * cosd(temp_f31)); - for (temp_r28 = temp_r30; temp_r28 < temp_r29->data.st->count; temp_r28++) { - if (temp_r31->unkC[temp_r28]) { - continue; - } - if (temp_r31->unk8[temp_r30].x != temp_r31->unk8[temp_r28].x || temp_r31->unk8[temp_r30].y != temp_r31->unk8[temp_r28].y) { - continue; - } - temp_r31->unkC[temp_r28]++; - ((HsfVector2f *)(temp_r29->data.st->data))[temp_r28].x = ((HsfVector2f *)(temp_r29->data.st->data))[temp_r30].x; - ((HsfVector2f *)(temp_r29->data.st->data))[temp_r28].y = ((HsfVector2f *)(temp_r29->data.st->data))[temp_r30].y; - } - } + float temp_f31; + WorkF4B0 *temp_r31; + s32 temp_r30; + HsfObject *temp_r29; + s32 temp_r28; + ModelData *temp_r27; + temp_r27 = &Hu3DData[arg0]; + temp_r29 = temp_r27->hsfData->root; + temp_r31 = temp_r27->unk_120; + if(temp_r31->unk8 == NULL) { + temp_r31->unk8 = HuMemDirectMallocNum(HEAP_SYSTEM, temp_r29->data.st->count*sizeof(HsfVector2f), MEMORY_DEFAULT_NUM); + temp_r31->unkC = HuMemDirectMallocNum(HEAP_SYSTEM, temp_r29->data.st->count, MEMORY_DEFAULT_NUM); + for(temp_r30=0; temp_r30data.st->count; temp_r30++) { + temp_r31->unk8[temp_r30].x = ((HsfVector2f *)(temp_r29->data.st->data))[temp_r30].x; + temp_r31->unk8[temp_r30].y = ((HsfVector2f *)(temp_r29->data.st->data))[temp_r30].y; + } + } + temp_r31->unk10_f[0] += 2.0f; + for(temp_r30=0; temp_r30data.st->count; temp_r30++) { + temp_r31->unkC[temp_r30] = 0; + } + for(temp_r30=0; temp_r30data.st->count; temp_r30++) { + if(temp_r31->unkC[temp_r30]) { + continue; + } + temp_r31->unkC[temp_r30]++; + temp_f31 = temp_r31->unk10_f[0]+(60.0f*temp_r30); + ((HsfVector2f *)(temp_r29->data.st->data))[temp_r30].x = temp_r31->unk8[temp_r30].x+(0.005f*sind(temp_f31)); + ((HsfVector2f *)(temp_r29->data.st->data))[temp_r30].y = temp_r31->unk8[temp_r30].y+(0.005f*cosd(temp_f31)); + for(temp_r28=temp_r30; temp_r28data.st->count; temp_r28++) { + if(temp_r31->unkC[temp_r28]) { + continue; + } + if(temp_r31->unk8[temp_r30].x != temp_r31->unk8[temp_r28].x || temp_r31->unk8[temp_r30].y != temp_r31->unk8[temp_r28].y) { + continue; + } + temp_r31->unkC[temp_r28]++; + ((HsfVector2f *)(temp_r29->data.st->data))[temp_r28].x = ((HsfVector2f *)(temp_r29->data.st->data))[temp_r30].x; + ((HsfVector2f *)(temp_r29->data.st->data))[temp_r28].y = ((HsfVector2f *)(temp_r29->data.st->data))[temp_r30].y; + } + } } typedef struct unk_fn_10484 { - ModelData *unk0; - HsfObject *unk4; - s32 unk8; - Mtx unkC; - float unk3C[2]; - + ModelData *unk0; + HsfObject *unk4; + s32 unk8; + Mtx unkC; + float unk3C[2]; + } UnkFn10484; void fn_1_10484(UnkFn10484 *arg0, HsfFace *arg1, HsfDrawData *arg2, GXColor *arg3); void fn_1_F8A0(ModelData *arg0, Mtx arg1) { - WorkF4B0 *temp_r31; - GXColor *temp_r30; - s16 temp_r29; - s32 temp_r28; - HsfBuffer *temp_r27; - HsfFace *temp_r26; - - UnkFn10484 spA0; - Mtx sp70; - Mtx sp40; - Mtx sp10; - s16 spC = 0; - temp_r31 = arg0->unk_120; - spA0.unk0 = &Hu3DData[temp_r31->unk2]; - spA0.unk4 = spA0.unk0->hsfData->root; - MTXCopy(arg1, spA0.unkC); - lbl_1_bss_128[0] = spA0.unk4->constData; - lbl_1_bss_120[0] = lbl_1_bss_128[0]->dlBuf; - lbl_1_bss_11C = lbl_1_bss_128[0]->drawData; - GXLoadPosMtxImm(spA0.unkC, GX_PNMTX0); - MTXInverse(spA0.unkC, sp70); - MTXTranspose(sp70, sp40); - GXLoadNrmMtxImm(sp40, GX_PNMTX0); - if (Hu3DShadowF && (lbl_1_bss_128[0]->flags & 0x8)) { - MTXConcat(sp10, spA0.unkC, sp40); - MTXConcat(Hu3DShadowData.unk_68, Hu3DShadowData.unk_38, sp70); - MTXConcat(sp70, sp40, sp40); - GXLoadTexMtxImm(sp40, GX_TEXMTX9, GX_MTX3x4); - } - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); - if (temp_r31->unk4 == NULL) { - temp_r31->unk4 = HuMemDirectMallocNum(HEAP_SYSTEM, spA0.unk4->data.color->count * sizeof(GXColor), MEMORY_DEFAULT_NUM); - for (temp_r29 = 0; temp_r29 < spA0.unk4->data.color->count; temp_r29++) { - temp_r30 = &temp_r31->unk4[temp_r29]; - temp_r30->r = temp_r31->unk10[0]; - temp_r30->g = temp_r31->unk10[1]; - temp_r30->b = temp_r31->unk10[2]; - if (((GXColor *)(spA0.unk4->data.color->data))[temp_r29].a == 255) { - temp_r30->a = temp_r31->unk10[3]; - } - else { - temp_r30->a = ((GXColor *)(spA0.unk4->data.color->data))[temp_r29].a; - } - } - } - temp_r27 = spA0.unk4->data.face; - temp_r26 = temp_r27->data; - temp_r28 = 0; - for (temp_r29 = 0; temp_r29 < temp_r27->count;) { - fn_1_10484(&spA0, temp_r26, &lbl_1_bss_11C[temp_r28], temp_r31->unk4); - temp_r28++; - temp_r29 += lbl_1_bss_11C[temp_r28 - 1].polyCnt; - temp_r26 += lbl_1_bss_11C[temp_r28 - 1].polyCnt; - } + WorkF4B0 *temp_r31; + GXColor *temp_r30; + s16 temp_r29; + s32 temp_r28; + HsfBuffer *temp_r27; + HsfFace *temp_r26; + + UnkFn10484 spA0; + Mtx sp70; + Mtx sp40; + Mtx sp10; + s16 spC = 0; + temp_r31 = arg0->unk_120; + spA0.unk0 = &Hu3DData[temp_r31->unk2]; + spA0.unk4 = spA0.unk0->hsfData->root; + MTXCopy(arg1, spA0.unkC); + lbl_1_bss_128[0] = spA0.unk4->constData; + lbl_1_bss_120[0] = lbl_1_bss_128[0]->dlBuf; + lbl_1_bss_11C = lbl_1_bss_128[0]->drawData; + GXLoadPosMtxImm(spA0.unkC, GX_PNMTX0); + MTXInverse(spA0.unkC, sp70); + MTXTranspose(sp70, sp40); + GXLoadNrmMtxImm(sp40, GX_PNMTX0); + if(Hu3DShadowF && (lbl_1_bss_128[0]->flags & 0x8)) { + MTXConcat(sp10, spA0.unkC, sp40); + MTXConcat(Hu3DShadowData.unk_68, Hu3DShadowData.unk_38, sp70); + MTXConcat(sp70, sp40, sp40); + GXLoadTexMtxImm(sp40, GX_TEXMTX9, GX_MTX3x4); + } + GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); + if(temp_r31->unk4 == NULL) { + temp_r31->unk4 = HuMemDirectMallocNum(HEAP_SYSTEM, spA0.unk4->data.color->count*sizeof(GXColor), MEMORY_DEFAULT_NUM); + for(temp_r29=0; temp_r29data.color->count; temp_r29++) { + temp_r30 = &temp_r31->unk4[temp_r29]; + temp_r30->r = temp_r31->unk10[0]; + temp_r30->g = temp_r31->unk10[1]; + temp_r30->b = temp_r31->unk10[2]; + if(((GXColor *)(spA0.unk4->data.color->data))[temp_r29].a == 255) { + temp_r30->a = temp_r31->unk10[3]; + } else { + temp_r30->a = ((GXColor *)(spA0.unk4->data.color->data))[temp_r29].a; + } + } + } + temp_r27 = spA0.unk4->data.face; + temp_r26 = temp_r27->data; + temp_r28 = 0; + for(temp_r29=0; temp_r29count;) { + fn_1_10484(&spA0, temp_r26, &lbl_1_bss_11C[temp_r28], temp_r31->unk4); + temp_r28++; + temp_r29 += lbl_1_bss_11C[temp_r28-1].polyCnt; + temp_r26 += lbl_1_bss_11C[temp_r28-1].polyCnt; + } } void fn_1_FB98(ModelData *arg0, Mtx arg1) { - WorkF4B0 *temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - GXColor *temp_r27; - s32 temp_r26; - HsfBuffer *temp_r25; - HsfFace *temp_r24; - s32 temp_r23; - void *temp_r22; - - UnkFn10484 sp120; - Mtx spF0; - Mtx spC0; - Mtx sp90; - float sp50[2][8]; - float sp10[2][8]; - s16 spC = 0; - temp_r31 = arg0->unk_120; - sp120.unk0 = &Hu3DData[temp_r31->unk2]; - sp120.unk4 = sp120.unk0->hsfData->root; - MTXCopy(arg1, sp120.unkC); - lbl_1_bss_128[0] = sp120.unk4->constData; - lbl_1_bss_120[0] = lbl_1_bss_128[0]->dlBuf; - lbl_1_bss_11C = lbl_1_bss_128[0]->drawData; - GXLoadPosMtxImm(sp120.unkC, GX_PNMTX0); - MTXInverse(sp120.unkC, spF0); - MTXTranspose(spF0, spC0); - GXLoadNrmMtxImm(spC0, GX_PNMTX0); - if (Hu3DShadowF && (lbl_1_bss_128[0]->flags & 0x8)) { - MTXConcat(sp90, sp120.unkC, spC0); - MTXConcat(Hu3DShadowData.unk_68, Hu3DShadowData.unk_38, spF0); - MTXConcat(spF0, spC0, spC0); - GXLoadTexMtxImm(spC0, GX_TEXMTX9, GX_MTX3x4); - } - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); - if (temp_r31->unk4 == NULL) { - temp_r31->unk4 = HuMemDirectMallocNum(HEAP_SYSTEM, sp120.unk4->data.color->count * sizeof(GXColor), MEMORY_DEFAULT_NUM); - for (temp_r30 = 0; temp_r30 < sp120.unk4->data.color->count; temp_r30++) { - temp_r27 = &temp_r31->unk4[temp_r30]; - temp_r27->r = temp_r31->unk10[0]; - temp_r27->g = temp_r31->unk10[1]; - temp_r27->b = temp_r31->unk10[2]; - temp_r27->a = temp_r31->unk10[3]; - } - } - if (temp_r31->unk8 == NULL) { - temp_r31->unk8 = HuMemDirectMallocNum(HEAP_SYSTEM, sp120.unk4->data.st->count * sizeof(HsfVector2f), MEMORY_DEFAULT_NUM); - temp_r31->unkC = HuMemDirectMallocNum(HEAP_SYSTEM, sp120.unk4->data.st->count, MEMORY_DEFAULT_NUM); - for (temp_r30 = 0; temp_r30 < sp120.unk4->data.st->count; temp_r30++) { - temp_r31->unk8[temp_r30].x = ((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r30].x; - temp_r31->unk8[temp_r30].y = ((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r30].y; - } - } - temp_r31->unk10_f[15] += 0.5f; - for (temp_r30 = 0; temp_r30 < 8; temp_r30++) { - float temp_f31 = temp_r31->unk10_f[15] + (40.0f * temp_r30); - sp50[0][temp_r30] = sind(temp_f31); - sp10[0][temp_r30] = cosd(temp_f31); - } - for (temp_r30 = 0; temp_r30 < sp120.unk4->data.st->count; temp_r30++) { - temp_r31->unkC[temp_r30] = 0; - } - for (temp_r30 = 0, temp_r29 = 0; temp_r30 < sp120.unk4->data.st->count; temp_r30++, temp_r29++) { - if (temp_r31->unkC[temp_r30]) { - continue; - } - temp_r31->unkC[temp_r30]++; - if (temp_r31->unk10[4]) { - temp_r31->unk8[temp_r30].x = (1.5f * ((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r30].x) + (0.04f * sp50[0][temp_r29 & 0x7]); - temp_r31->unk8[temp_r30].y = (2.0f * ((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r30].y) + (0.04f * sp10[0][temp_r29 & 0x7]); - } - else { - temp_r31->unk8[temp_r30].x = (1.25f * ((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r30].x) + (0.04f * sp50[0][temp_r29 & 0x7]); - temp_r31->unk8[temp_r30].y = (1.75f * ((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r30].y) + (0.04f * sp10[0][temp_r29 & 0x7]); - } - temp_r23 = temp_r31->unk10[3] + ((0.8f * temp_r31->unk10[3]) * sind((3.0f * temp_r31->unk10_f[15]) + (120.0f * temp_r29))); - temp_r31->unk4[temp_r30].a = temp_r23; - for (temp_r28 = temp_r30; temp_r28 < sp120.unk4->data.st->count; temp_r28++) { - temp_r29++; - if (temp_r31->unkC[temp_r28]) { - continue; - } - if (((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r30].x != ((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r28].x - || ((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r30].y != ((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r28].y) { - continue; - } - temp_r31->unkC[temp_r28]++; - temp_r31->unk8[temp_r28].x = temp_r31->unk8[temp_r30].x; - temp_r31->unk8[temp_r28].y = temp_r31->unk8[temp_r30].y; - temp_r31->unk4[temp_r28].a = temp_r23; - temp_r29--; - } - } - temp_r22 = sp120.unk4->data.st->data; - sp120.unk4->data.st->data = temp_r31->unk8; - temp_r25 = sp120.unk4->data.face; - temp_r24 = temp_r25->data; - temp_r26 = 0; - for (temp_r30 = 0; temp_r30 < temp_r25->count;) { - fn_1_10484(&sp120, temp_r24, &lbl_1_bss_11C[temp_r26], temp_r31->unk4); - temp_r26++; - temp_r30 += lbl_1_bss_11C[temp_r26 - 1].polyCnt; - temp_r24 += lbl_1_bss_11C[temp_r26 - 1].polyCnt; - } - sp120.unk4->data.st->data = temp_r22; + WorkF4B0 *temp_r31; + s16 temp_r30; + s16 temp_r29; + s16 temp_r28; + GXColor *temp_r27; + s32 temp_r26; + HsfBuffer *temp_r25; + HsfFace *temp_r24; + s32 temp_r23; + void *temp_r22; + + UnkFn10484 sp120; + Mtx spF0; + Mtx spC0; + Mtx sp90; + float sp50[2][8]; + float sp10[2][8]; + s16 spC = 0; + temp_r31 = arg0->unk_120; + sp120.unk0 = &Hu3DData[temp_r31->unk2]; + sp120.unk4 = sp120.unk0->hsfData->root; + MTXCopy(arg1, sp120.unkC); + lbl_1_bss_128[0] = sp120.unk4->constData; + lbl_1_bss_120[0] = lbl_1_bss_128[0]->dlBuf; + lbl_1_bss_11C = lbl_1_bss_128[0]->drawData; + GXLoadPosMtxImm(sp120.unkC, GX_PNMTX0); + MTXInverse(sp120.unkC, spF0); + MTXTranspose(spF0, spC0); + GXLoadNrmMtxImm(spC0, GX_PNMTX0); + if(Hu3DShadowF && (lbl_1_bss_128[0]->flags & 0x8)) { + MTXConcat(sp90, sp120.unkC, spC0); + MTXConcat(Hu3DShadowData.unk_68, Hu3DShadowData.unk_38, spF0); + MTXConcat(spF0, spC0, spC0); + GXLoadTexMtxImm(spC0, GX_TEXMTX9, GX_MTX3x4); + } + GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); + if(temp_r31->unk4 == NULL) { + temp_r31->unk4 = HuMemDirectMallocNum(HEAP_SYSTEM, sp120.unk4->data.color->count*sizeof(GXColor), MEMORY_DEFAULT_NUM); + for(temp_r30=0; temp_r30data.color->count; temp_r30++) { + temp_r27 = &temp_r31->unk4[temp_r30]; + temp_r27->r = temp_r31->unk10[0]; + temp_r27->g = temp_r31->unk10[1]; + temp_r27->b = temp_r31->unk10[2]; + temp_r27->a = temp_r31->unk10[3]; + } + } + if(temp_r31->unk8 == NULL) { + temp_r31->unk8 = HuMemDirectMallocNum(HEAP_SYSTEM, sp120.unk4->data.st->count*sizeof(HsfVector2f), MEMORY_DEFAULT_NUM); + temp_r31->unkC = HuMemDirectMallocNum(HEAP_SYSTEM, sp120.unk4->data.st->count, MEMORY_DEFAULT_NUM); + for(temp_r30=0; temp_r30data.st->count; temp_r30++) { + temp_r31->unk8[temp_r30].x = ((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r30].x; + temp_r31->unk8[temp_r30].y = ((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r30].y; + } + } + temp_r31->unk10_f[15] += 0.5f; + for(temp_r30=0; temp_r30<8; temp_r30++) { + float temp_f31 = temp_r31->unk10_f[15]+(40.0f*temp_r30); + sp50[0][temp_r30] = sind(temp_f31); + sp10[0][temp_r30] = cosd(temp_f31); + } + for(temp_r30=0; temp_r30data.st->count; temp_r30++) { + temp_r31->unkC[temp_r30] = 0; + } + for(temp_r30=0, temp_r29=0; temp_r30data.st->count; temp_r30++, temp_r29++) { + if(temp_r31->unkC[temp_r30]) { + continue; + } + temp_r31->unkC[temp_r30]++; + if(temp_r31->unk10[4]) { + temp_r31->unk8[temp_r30].x = (1.5f*((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r30].x)+(0.04f*sp50[0][temp_r29 & 0x7]); + temp_r31->unk8[temp_r30].y = (2.0f*((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r30].y)+(0.04f*sp10[0][temp_r29 & 0x7]); + } else { + temp_r31->unk8[temp_r30].x = (1.25f*((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r30].x)+(0.04f*sp50[0][temp_r29 & 0x7]); + temp_r31->unk8[temp_r30].y = (1.75f*((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r30].y)+(0.04f*sp10[0][temp_r29 & 0x7]); + } + temp_r23 = temp_r31->unk10[3]+((0.8f*temp_r31->unk10[3])*sind((3.0f*temp_r31->unk10_f[15])+(120.0f*temp_r29))); + temp_r31->unk4[temp_r30].a = temp_r23; + for(temp_r28=temp_r30; temp_r28data.st->count; temp_r28++) { + temp_r29++; + if(temp_r31->unkC[temp_r28]) { + continue; + } + if(((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r30].x != ((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r28].x + || ((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r30].y != ((HsfVector2f *)(sp120.unk4->data.st->data))[temp_r28].y) { + continue; + } + temp_r31->unkC[temp_r28]++; + temp_r31->unk8[temp_r28].x = temp_r31->unk8[temp_r30].x; + temp_r31->unk8[temp_r28].y = temp_r31->unk8[temp_r30].y; + temp_r31->unk4[temp_r28].a = temp_r23; + temp_r29--; + } + } + temp_r22 = sp120.unk4->data.st->data; + sp120.unk4->data.st->data = temp_r31->unk8; + temp_r25 = sp120.unk4->data.face; + temp_r24 = temp_r25->data; + temp_r26 = 0; + for(temp_r30=0; temp_r30count;) { + fn_1_10484(&sp120, temp_r24, &lbl_1_bss_11C[temp_r26], temp_r31->unk4); + temp_r26++; + temp_r30 += lbl_1_bss_11C[temp_r26-1].polyCnt; + temp_r24 += lbl_1_bss_11C[temp_r26-1].polyCnt; + } + sp120.unk4->data.st->data = temp_r22; } void fn_1_10830(ModelData *arg0, HsfBitmap *arg1, HsfAttribute *arg2, s16 arg3); -void fn_1_10B60(UnkFn10484 *arg0, HsfMaterial *arg1); +void fn_1_10B60(UnkFn10484 *arg0, HsfMaterial*arg1); void fn_1_10484(UnkFn10484 *arg0, HsfFace *arg1, HsfDrawData *arg2, GXColor *arg3) { - HsfMaterial *temp_r31; - HsfObject *temp_r30; - HsfAttribute *temp_r29; - s16 temp_r27; - s16 temp_r25; - HsfdrawStruct01 *temp_r24; - ModelData *temp_r23; - Hu3DTexAnimDataStruct *temp_r22; - void *temp_r20; - GXColor sp14; - temp_r30 = arg0->unk4; - temp_r23 = arg0->unk0; - temp_r31 = &temp_r30->data.material[arg1->mat & 0xFFF]; - sp14.r = temp_r31->litColor[0]; - sp14.g = temp_r31->litColor[1]; - sp14.b = temp_r31->litColor[2]; - sp14.a = 255; - GXSetChanAmbColor(GX_COLOR0A0, sp14); - sp14.r = temp_r31->color[0]; - sp14.g = temp_r31->color[1]; - sp14.b = temp_r31->color[2]; - sp14.a = 255; - GXSetChanMatColor(GX_COLOR0A0, sp14); - if ((temp_r31->invAlpha != 0 || temp_r31->pass == 1) && !(temp_r23->attr & 0x2)) { - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); - } - else { - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - } - if (temp_r31->numAttrs == 0) { - return; - } - temp_r25 = (temp_r30->data.color) ? 5 : 1; - if (arg2->flags & 0x2) { - temp_r25 |= 0x2; - } - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, temp_r30->data.vertex->data, sizeof(HsfVector3f)); - if (temp_r25 & 0x2) { - GXSetVtxDesc(GX_VA_NBT, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NBT, GX_NRM_NBT, GX_S16, 8); - } - else { - GXSetVtxDesc(GX_VA_NRM, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0); - GXSetArray(GX_VA_NRM, temp_r30->data.normal->data, sizeof(HsfVector3f)); - } - GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetArray(GX_VA_TEX0, temp_r30->data.st->data, sizeof(HsfVector2f)); - if (temp_r25 & 0x4) { - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, arg3, sizeof(GXColor)); - } - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZCompLoc(GX_FALSE); - for (temp_r27 = 0; temp_r27 < temp_r31->numAttrs; temp_r27++) { - temp_r29 = &temp_r30->data.attribute[temp_r31->attrs[temp_r27]]; - if (temp_r29->unk04) { - temp_r24 = temp_r29->unk04; - temp_r22 = &Hu3DTexAnimData[temp_r24->unk02]; - if ((temp_r24->unk00 & 0x1) && !(temp_r22->unk00 & 0x4)) { - if (Hu3DAnimSet(arg0->unk0, temp_r29, (s16)temp_r27)) { - continue; - } - } - } - fn_1_10830(arg0->unk0, temp_r29->bitmap, temp_r29, (s16)temp_r27); - } - fn_1_10B60(arg0, temp_r31); - temp_r20 = (void *)(arg2->dlOfs + ((u32)lbl_1_bss_120[0])); - GXCallDisplayList(temp_r20, arg2->dlSize); + HsfMaterial *temp_r31; + HsfObject *temp_r30; + HsfAttribute *temp_r29; + s16 temp_r27; + s16 temp_r25; + HsfdrawStruct01 *temp_r24; + ModelData *temp_r23; + Hu3DTexAnimDataStruct *temp_r22; + void *temp_r20; + GXColor sp14; + temp_r30 = arg0->unk4; + temp_r23 = arg0->unk0; + temp_r31 = &temp_r30->data.material[arg1->mat & 0xFFF]; + sp14.r = temp_r31->litColor[0]; + sp14.g = temp_r31->litColor[1]; + sp14.b = temp_r31->litColor[2]; + sp14.a = 255; + GXSetChanAmbColor(GX_COLOR0A0, sp14); + sp14.r = temp_r31->color[0]; + sp14.g = temp_r31->color[1]; + sp14.b = temp_r31->color[2]; + sp14.a = 255; + GXSetChanMatColor(GX_COLOR0A0, sp14); + if((temp_r31->invAlpha != 0 || temp_r31->pass == 1) && !(temp_r23->attr & 0x2)) { + GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); + } else { + GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); + } + if(temp_r31->numAttrs == 0) { + return; + } + temp_r25 = (temp_r30->data.color) ? 5 : 1; + if(arg2->flags & 0x2) { + temp_r25 |= 0x2; + } + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX16); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + GXSetArray(GX_VA_POS, temp_r30->data.vertex->data, sizeof(HsfVector3f)); + if(temp_r25 & 0x2) { + GXSetVtxDesc(GX_VA_NBT, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NBT, GX_NRM_NBT, GX_S16, 8); + } else { + GXSetVtxDesc(GX_VA_NRM, GX_INDEX16); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0); + GXSetArray(GX_VA_NRM, temp_r30->data.normal->data, sizeof(HsfVector3f)); + } + GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); + GXSetArray(GX_VA_TEX0, temp_r30->data.st->data, sizeof(HsfVector2f)); + if(temp_r25 & 0x4) { + GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); + GXSetArray(GX_VA_CLR0, arg3, sizeof(GXColor)); + } + GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); + GXSetZCompLoc(GX_FALSE); + for(temp_r27=0; temp_r27numAttrs; temp_r27++) { + temp_r29 = &temp_r30->data.attribute[temp_r31->attrs[temp_r27]]; + if(temp_r29->unk04) { + temp_r24 = temp_r29->unk04; + temp_r22 = &Hu3DTexAnimData[temp_r24->unk02]; + if((temp_r24->unk00 & 0x1) && !(temp_r22->unk00 & 0x4)) { + if(Hu3DAnimSet(arg0->unk0, temp_r29, (s16)temp_r27)) { + continue; + } + } + } + fn_1_10830(arg0->unk0, temp_r29->bitmap, temp_r29, (s16)temp_r27); + } + fn_1_10B60(arg0, temp_r31); + temp_r20 = (void *)(arg2->dlOfs+((u32)lbl_1_bss_120[0])); + GXCallDisplayList(temp_r20, arg2->dlSize); } void fn_1_10830(ModelData *arg0, HsfBitmap *arg1, HsfAttribute *arg2, s16 arg3) { - GXTexObj sp1C; - GXTlutObj sp10; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - s16 temp_r26; - temp_r29 = arg1->sizeX; - temp_r28 = arg1->sizeY; - temp_r27 = (arg2->wrap_s == 1) ? 1 : 0; - temp_r26 = (arg2->wrap_t == 1) ? 1 : 0; - switch (arg1->dataFmt) { - case 6: - GXInitTexObj(&sp1C, arg1->data, temp_r29, temp_r28, GX_TF_RGBA8, temp_r27, temp_r26, GX_FALSE); - break; - - case 4: - GXInitTexObj(&sp1C, arg1->data, temp_r29, temp_r28, GX_TF_RGB565, temp_r27, temp_r26, GX_FALSE); - break; - - case 5: - GXInitTexObj(&sp1C, arg1->data, temp_r29, temp_r28, GX_TF_RGB5A3, temp_r27, temp_r26, GX_FALSE); - break; - - case 9: - if (arg1->pixSize < 8) { - GXInitTlutObj(&sp10, arg1->palData, GX_TL_RGB565, arg1->palSize); - GXLoadTlut(&sp10, arg3); - GXInitTexObjCI(&sp1C, arg1->data, temp_r29, temp_r28, GX_TF_C4, temp_r27, temp_r26, GX_FALSE, arg3); - } - else { - GXInitTlutObj(&sp10, arg1->palData, GX_TL_RGB565, arg1->palSize); - GXLoadTlut(&sp10, arg3); - GXInitTexObjCI(&sp1C, arg1->data, temp_r29, temp_r28, GX_TF_C8, temp_r27, temp_r26, GX_FALSE, arg3); - } - break; - - case 10: - if (arg1->pixSize < 8) { - GXInitTlutObj(&sp10, arg1->palData, GX_TL_RGB5A3, arg1->palSize); - GXLoadTlut(&sp10, arg3); - GXInitTexObjCI(&sp1C, arg1->data, temp_r29, temp_r28, GX_TF_C4, temp_r27, temp_r26, GX_FALSE, arg3); - } - else { - GXInitTlutObj(&sp10, arg1->palData, GX_TL_RGB5A3, arg1->palSize); - GXLoadTlut(&sp10, arg3); - GXInitTexObjCI(&sp1C, arg1->data, temp_r29, temp_r28, GX_TF_C8, temp_r27, temp_r26, GX_FALSE, arg3); - } - break; - } - if (arg0->attr & 0x40) { - GXInitTexObjLOD(&sp1C, GX_NEAR, GX_NEAR, 0, 0, 0, GX_FALSE, GX_FALSE, GX_ANISO_1); - } - else { - GXInitTexObjLOD(&sp1C, GX_LINEAR, GX_LINEAR, 0, 0, 0, GX_FALSE, GX_FALSE, GX_ANISO_1); - } - GXLoadTexObj(&sp1C, arg3); + GXTexObj sp1C; + GXTlutObj sp10; + s16 temp_r29; + s16 temp_r28; + s16 temp_r27; + s16 temp_r26; + temp_r29 = arg1->sizeX; + temp_r28 = arg1->sizeY; + temp_r27 = (arg2->wrap_s == 1) ? 1 : 0; + temp_r26 = (arg2->wrap_t == 1) ? 1 : 0; + switch(arg1->dataFmt) { + case 6: + GXInitTexObj(&sp1C, arg1->data, temp_r29, temp_r28, GX_TF_RGBA8, temp_r27, temp_r26, GX_FALSE); + break; + + case 4: + GXInitTexObj(&sp1C, arg1->data, temp_r29, temp_r28, GX_TF_RGB565, temp_r27, temp_r26, GX_FALSE); + break; + + case 5: + GXInitTexObj(&sp1C, arg1->data, temp_r29, temp_r28, GX_TF_RGB5A3, temp_r27, temp_r26, GX_FALSE); + break; + + case 9: + if(arg1->pixSize < 8) { + GXInitTlutObj(&sp10, arg1->palData, GX_TL_RGB565, arg1->palSize); + GXLoadTlut(&sp10, arg3); + GXInitTexObjCI(&sp1C, arg1->data, temp_r29, temp_r28, GX_TF_C4, temp_r27, temp_r26, GX_FALSE, arg3); + } else { + GXInitTlutObj(&sp10, arg1->palData, GX_TL_RGB565, arg1->palSize); + GXLoadTlut(&sp10, arg3); + GXInitTexObjCI(&sp1C, arg1->data, temp_r29, temp_r28, GX_TF_C8, temp_r27, temp_r26, GX_FALSE, arg3); + } + break; + + case 10: + if(arg1->pixSize < 8) { + GXInitTlutObj(&sp10, arg1->palData, GX_TL_RGB5A3, arg1->palSize); + GXLoadTlut(&sp10, arg3); + GXInitTexObjCI(&sp1C, arg1->data, temp_r29, temp_r28, GX_TF_C4, temp_r27, temp_r26, GX_FALSE, arg3); + } else { + GXInitTlutObj(&sp10, arg1->palData, GX_TL_RGB5A3, arg1->palSize); + GXLoadTlut(&sp10, arg3); + GXInitTexObjCI(&sp1C, arg1->data, temp_r29, temp_r28, GX_TF_C8, temp_r27, temp_r26, GX_FALSE, arg3); + } + break; + } + if(arg0->attr & 0x40) { + GXInitTexObjLOD(&sp1C, GX_NEAR, GX_NEAR, 0, 0, 0, GX_FALSE, GX_FALSE, GX_ANISO_1); + } else { + GXInitTexObjLOD(&sp1C, GX_LINEAR, GX_LINEAR, 0, 0, 0, GX_FALSE, GX_FALSE, GX_ANISO_1); + } + GXLoadTexObj(&sp1C, arg3); } -#define SET_TEVCOLOR_ALPHA(reg, color_var, value) \ - { \ - color_var.a = (value); \ - GXSetTevColor(reg, color_var); \ - } +#define SET_TEVCOLOR_ALPHA(reg, color_var, value) \ +{ \ + color_var.a = (value); \ + GXSetTevColor(reg, color_var); \ +} extern u32 texMtxTbl[]; void fn_1_10B60(UnkFn10484 *arg0, HsfMaterial *arg1) { - GXColor sp28; - GXColor sp24; - GXColor sp20; - u16 temp_r31; - HsfAttribute *temp_r29; - u16 temp_r28; - HsfObject *temp_r27; - HsfdrawStruct01 *temp_r26; - u16 temp_r25; - u16 temp_r24; - s32 temp_r23; - s32 temp_r22; - u16 temp_r20; - temp_r27 = arg0->unk4; - if (arg1->vtxMode == 2 || arg1->vtxMode == 3) { - temp_r24 = 1; - } - else { - temp_r24 = 0; - if (arg1->vtxMode == 0 && !temp_r27->data.color) { - temp_r23 = 0; - } - else { - temp_r23 = 1; - } - } - - if (arg1->numAttrs == 1) { - temp_r28 = temp_r31 = 1; - temp_r29 = &temp_r27->data.attribute[arg1->attrs[0]]; - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); - if (temp_r29->unk04) { - temp_r26 = temp_r29->unk04; - if (temp_r26->unk00 & 0x2) { - GXLoadTexMtxImm(Hu3DTexScrData[temp_r26->unk04].unk3C, GX_TEXMTX0, GX_MTX2x4); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_TEXMTX0); - } - } - if (temp_r29->unk8[2] == 0) { - GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR); - GXSetTevOrder(temp_r31, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(temp_r31, GX_CC_CPREV, GX_CC_TEXC, GX_CC_TEXA, GX_CC_ZERO); - GXSetTevColorOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); - GXSetTevAlphaOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - temp_r31++; - } - else { - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_TEXA); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - } - SET_TEVCOLOR_ALPHA(GX_TEVREG0, sp28, 255 * (1.0f - arg1->invAlpha)); - if (temp_r24) { - GXSetTevOrder(temp_r31, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR1A1); - GXSetTevColorIn(temp_r31, GX_CC_CPREV, GX_CC_ONE, GX_CC_RASC, GX_CC_ZERO); - GXSetTevColorOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_APREV, GX_CA_A0, GX_CA_ZERO); - GXSetTevAlphaOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - temp_r31++; - } - else if (0.0f != arg1->invAlpha) { - GXSetTevOrder(temp_r31, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); - GXSetTevColorIn(temp_r31, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_CPREV); - GXSetTevColorOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_APREV, GX_CA_RASA, GX_CA_ZERO); - GXSetTevAlphaOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - temp_r31++; - } - GXSetNumTexGens(temp_r28); - GXSetNumTevStages(temp_r31); - } - else { - temp_r22 = 0; - temp_r28 = 1; - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); - for (temp_r25 = temp_r31 = 0; temp_r25 < arg1->numAttrs; temp_r31++, temp_r25++) { - temp_r29 = &temp_r27->data.attribute[arg1->attrs[temp_r25]]; - if (0.0f != temp_r29->unk14) { - GXSetTexCoordGen(GX_TEXCOORD1, GX_TG_BUMP0, GX_TG_TEXCOORD0, GX_IDENTITY); - SET_TEVCOLOR_ALPHA(GX_TEVREG1, sp24, 10 * temp_r29->unk14); - GXSetTevOrder(temp_r31, GX_TEXCOORD0, temp_r25, GX_COLOR0A0); - GXSetTevColorIn(temp_r31, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A1, GX_CC_RASC); - GXSetTevColorOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_FALSE, GX_TEVPREV); - temp_r31++; - GXSetTevOrder(temp_r31, GX_TEXCOORD1, temp_r25, GX_COLOR0A0); - GXSetTevColorIn(temp_r31, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A1, GX_CC_CPREV); - GXSetTevColorOp(temp_r31, GX_TEV_SUB, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_FALSE, GX_TEVPREV); - temp_r28++; - temp_r22 = 1; - } - else { - if (temp_r29->unk04) { - temp_r26 = temp_r29->unk04; - if (temp_r26->unk00 & 0x2) { - GXLoadTexMtxImm(Hu3DTexScrData[temp_r26->unk04].unk3C, texMtxTbl[temp_r28], GX_MTX2x4); - GXSetTexCoordGen(temp_r28, GX_TG_MTX2x4, GX_TG_TEX0, texMtxTbl[temp_r28]); - temp_r20 = (u16)temp_r28; - temp_r28++; - } - } - else { - temp_r20 = 0; - } - GXSetTevOrder(temp_r31, temp_r20, temp_r25, GX_COLOR0A0); - if (temp_r25 == 0) { - GXSetTevColorIn(temp_r31, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); - GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_TEXA); - } - else if (temp_r22 != 0) { - GXSetTevColorIn(temp_r31, GX_CC_ZERO, GX_CC_CPREV, GX_CC_TEXC, GX_CC_ZERO); - GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_TEXA); - temp_r22 = 0; - } - else if (temp_r29->unk8[2] == 0) { - GXSetTevColorIn(temp_r31, GX_CC_CPREV, GX_CC_TEXC, GX_CC_TEXA, GX_CC_ZERO); - GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_APREV); - } - else { - SET_TEVCOLOR_ALPHA(GX_TEVREG2, sp20, 255 * temp_r29->unk0C); - GXSetTevColorIn(temp_r31, GX_CC_CPREV, GX_CC_TEXC, GX_CC_A2, GX_CC_ZERO); - GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_TEXA, GX_CA_APREV, GX_CA_ZERO); - } - GXSetTevColorOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - } - } - SET_TEVCOLOR_ALPHA(GX_TEVREG0, sp28, 255 * (1.0f - arg1->invAlpha)); - if (temp_r24) { - GXSetTevOrder(temp_r31, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR1A1); - GXSetTevColorIn(temp_r31, GX_CC_CPREV, GX_CC_ONE, GX_CC_RASC, GX_CC_ZERO); - GXSetTevColorOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_APREV, GX_CA_A0, GX_CA_ZERO); - GXSetTevAlphaOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - temp_r31++; - } - else { - GXSetTevOrder(temp_r31, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); - GXSetTevColorIn(temp_r31, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_CPREV); - GXSetTevColorOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_APREV, GX_CA_A0, GX_CA_ZERO); - GXSetTevAlphaOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - temp_r31++; - } - GXSetNumTexGens(temp_r28); - GXSetNumTevStages(temp_r31); - } - lbl_1_bss_118 = Hu3DLightSet(arg0->unk0, &Hu3DCameraMtx, &Hu3DCameraMtxXPose, (temp_r24) ? arg1->hilite_scale : 0); - if (temp_r24) { - GXSetNumChans(2); - if (temp_r27->data.color) { - GXSetChanCtrl(GX_COLOR0A0, GX_TRUE, GX_SRC_REG, GX_SRC_VTX, lbl_1_bss_118, GX_DF_CLAMP, GX_AF_NONE); - GXSetChanCtrl(GX_COLOR1A1, GX_TRUE, GX_SRC_REG, GX_SRC_VTX, lbl_1_bss_118, GX_DF_NONE, GX_AF_SPEC); - } - else { - GXSetChanCtrl(GX_COLOR0A0, GX_TRUE, GX_SRC_REG, GX_SRC_REG, lbl_1_bss_118, GX_DF_CLAMP, GX_AF_NONE); - GXSetChanCtrl(GX_COLOR1A1, GX_TRUE, GX_SRC_REG, GX_SRC_REG, lbl_1_bss_118, GX_DF_NONE, GX_AF_SPEC); - } - } - else { - GXSetNumChans(1); - if (temp_r27->data.color) { - GXSetChanCtrl(GX_COLOR0A0, temp_r23, GX_SRC_REG, GX_SRC_VTX, lbl_1_bss_118, GX_DF_CLAMP, GX_AF_SPOT); - } - else { - GXSetChanCtrl(GX_COLOR0A0, temp_r23, GX_SRC_REG, GX_SRC_REG, lbl_1_bss_118, GX_DF_CLAMP, GX_AF_SPOT); - } - } + GXColor sp28; + GXColor sp24; + GXColor sp20; + u16 temp_r31; + HsfAttribute *temp_r29; + u16 temp_r28; + HsfObject *temp_r27; + HsfdrawStruct01 *temp_r26; + u16 temp_r25; + u16 temp_r24; + s32 temp_r23; + s32 temp_r22; + u16 temp_r20; + temp_r27 = arg0->unk4; + if(arg1->vtxMode == 2 || arg1->vtxMode == 3) { + temp_r24 = 1; + } else { + temp_r24 = 0; + if(arg1->vtxMode == 0 && !temp_r27->data.color) { + temp_r23 = 0; + } else { + temp_r23 = 1; + } + } + + if(arg1->numAttrs == 1) { + temp_r28 = temp_r31 = 1; + temp_r29 = &temp_r27->data.attribute[arg1->attrs[0]]; + GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); + if(temp_r29->unk04) { + temp_r26 = temp_r29->unk04; + if(temp_r26->unk00 & 0x2) { + GXLoadTexMtxImm(Hu3DTexScrData[temp_r26->unk04].unk3C, GX_TEXMTX0, GX_MTX2x4); + GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_TEXMTX0); + } + } + if(temp_r29->unk8[2] == 0) { + GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR); + GXSetTevOrder(temp_r31, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); + GXSetTevColorIn(temp_r31, GX_CC_CPREV, GX_CC_TEXC, GX_CC_TEXA, GX_CC_ZERO); + GXSetTevColorOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); + GXSetTevAlphaOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + temp_r31++; + } else { + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_TEXA); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + } + SET_TEVCOLOR_ALPHA(GX_TEVREG0, sp28, 255*(1.0f-arg1->invAlpha)); + if(temp_r24) { + GXSetTevOrder(temp_r31, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR1A1); + GXSetTevColorIn(temp_r31, GX_CC_CPREV, GX_CC_ONE, GX_CC_RASC, GX_CC_ZERO); + GXSetTevColorOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_APREV, GX_CA_A0, GX_CA_ZERO); + GXSetTevAlphaOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + temp_r31++; + } else if(0.0f != arg1->invAlpha) { + GXSetTevOrder(temp_r31, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); + GXSetTevColorIn(temp_r31, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_CPREV); + GXSetTevColorOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_APREV, GX_CA_RASA, GX_CA_ZERO); + GXSetTevAlphaOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + temp_r31++; + } + GXSetNumTexGens(temp_r28); + GXSetNumTevStages(temp_r31); + } else { + temp_r22 = 0; + temp_r28 = 1; + GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); + for(temp_r25=temp_r31=0; temp_r25numAttrs; temp_r31++, temp_r25++) { + temp_r29 = &temp_r27->data.attribute[arg1->attrs[temp_r25]]; + if(0.0f != temp_r29->unk14) { + GXSetTexCoordGen(GX_TEXCOORD1, GX_TG_BUMP0, GX_TG_TEXCOORD0, GX_IDENTITY); + SET_TEVCOLOR_ALPHA(GX_TEVREG1, sp24, 10*temp_r29->unk14); + GXSetTevOrder(temp_r31, GX_TEXCOORD0, temp_r25, GX_COLOR0A0); + GXSetTevColorIn(temp_r31, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A1, GX_CC_RASC); + GXSetTevColorOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); + GXSetTevAlphaOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_FALSE, GX_TEVPREV); + temp_r31++; + GXSetTevOrder(temp_r31, GX_TEXCOORD1, temp_r25, GX_COLOR0A0); + GXSetTevColorIn(temp_r31, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A1, GX_CC_CPREV); + GXSetTevColorOp(temp_r31, GX_TEV_SUB, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); + GXSetTevAlphaOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_FALSE, GX_TEVPREV); + temp_r28++; + temp_r22 = 1; + } else { + if(temp_r29->unk04) { + temp_r26 = temp_r29->unk04; + if(temp_r26->unk00 & 0x2) { + GXLoadTexMtxImm(Hu3DTexScrData[temp_r26->unk04].unk3C, texMtxTbl[temp_r28], GX_MTX2x4); + GXSetTexCoordGen(temp_r28, GX_TG_MTX2x4, GX_TG_TEX0, texMtxTbl[temp_r28]); + temp_r20 = (u16)temp_r28; + temp_r28++; + } + } else { + temp_r20 = 0; + } + GXSetTevOrder(temp_r31, temp_r20, temp_r25, GX_COLOR0A0); + if(temp_r25 == 0) { + GXSetTevColorIn(temp_r31, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); + GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_TEXA); + } else if(temp_r22 != 0) { + GXSetTevColorIn(temp_r31, GX_CC_ZERO, GX_CC_CPREV, GX_CC_TEXC, GX_CC_ZERO); + GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_TEXA); + temp_r22 = 0; + } else if(temp_r29->unk8[2] == 0) { + GXSetTevColorIn(temp_r31, GX_CC_CPREV, GX_CC_TEXC, GX_CC_TEXA, GX_CC_ZERO); + GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_APREV); + } else { + SET_TEVCOLOR_ALPHA(GX_TEVREG2, sp20, 255*temp_r29->unk0C); + GXSetTevColorIn(temp_r31, GX_CC_CPREV, GX_CC_TEXC, GX_CC_A2, GX_CC_ZERO); + GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_TEXA, GX_CA_APREV, GX_CA_ZERO); + } + GXSetTevColorOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + } + } + SET_TEVCOLOR_ALPHA(GX_TEVREG0, sp28, 255*(1.0f-arg1->invAlpha)); + if(temp_r24) { + GXSetTevOrder(temp_r31, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR1A1); + GXSetTevColorIn(temp_r31, GX_CC_CPREV, GX_CC_ONE, GX_CC_RASC, GX_CC_ZERO); + GXSetTevColorOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_APREV, GX_CA_A0, GX_CA_ZERO); + GXSetTevAlphaOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + temp_r31++; + } else { + GXSetTevOrder(temp_r31, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); + GXSetTevColorIn(temp_r31, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_CPREV); + GXSetTevColorOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(temp_r31, GX_CA_ZERO, GX_CA_APREV, GX_CA_A0, GX_CA_ZERO); + GXSetTevAlphaOp(temp_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + temp_r31++; + } + GXSetNumTexGens(temp_r28); + GXSetNumTevStages(temp_r31); + } + lbl_1_bss_118 = Hu3DLightSet(arg0->unk0, &Hu3DCameraMtx, &Hu3DCameraMtxXPose, (temp_r24) ? arg1->hilite_scale : 0); + if(temp_r24) { + GXSetNumChans(2); + if(temp_r27->data.color) { + GXSetChanCtrl(GX_COLOR0A0, GX_TRUE, GX_SRC_REG, GX_SRC_VTX, lbl_1_bss_118, GX_DF_CLAMP, GX_AF_NONE); + GXSetChanCtrl(GX_COLOR1A1, GX_TRUE, GX_SRC_REG, GX_SRC_VTX, lbl_1_bss_118, GX_DF_NONE, GX_AF_SPEC); + } else { + GXSetChanCtrl(GX_COLOR0A0, GX_TRUE, GX_SRC_REG, GX_SRC_REG, lbl_1_bss_118, GX_DF_CLAMP, GX_AF_NONE); + GXSetChanCtrl(GX_COLOR1A1, GX_TRUE, GX_SRC_REG, GX_SRC_REG, lbl_1_bss_118, GX_DF_NONE, GX_AF_SPEC); + } + } else { + GXSetNumChans(1); + if(temp_r27->data.color) { + GXSetChanCtrl(GX_COLOR0A0, temp_r23, GX_SRC_REG, GX_SRC_VTX, lbl_1_bss_118, GX_DF_CLAMP, GX_AF_SPOT); + } else { + GXSetChanCtrl(GX_COLOR0A0, temp_r23, GX_SRC_REG, GX_SRC_REG, lbl_1_bss_118, GX_DF_CLAMP, GX_AF_SPOT); + } + } } #undef SET_TEVCOLOR_ALPHA s32 fn_1_11670(void) { - lbl_1_data_19C *= 0x41C64E6D; - lbl_1_data_19C += 0x3039; - return lbl_1_data_19C >> 16; + lbl_1_data_19C *= 0x41C64E6D; + lbl_1_data_19C += 0x3039; + return lbl_1_data_19C >> 16; } float fn_1_116C4(float arg0, float arg1) { - float temp_f31; - float temp_f30; - temp_f30 = 360; - temp_f31 = atan2d(arg0, arg1); - if (temp_f31 < -180) { - temp_f31 += temp_f30; - } - else if (temp_f31 >= 180.0) { - temp_f31 -= temp_f30; - } - return temp_f31; + float temp_f31; + float temp_f30; + temp_f30 = 360; + temp_f31 = atan2d(arg0, arg1); + if(temp_f31 < -180) { + temp_f31 += temp_f30; + } else if(temp_f31 >= 180.0) { + temp_f31 -= temp_f30; + } + return temp_f31; } float fn_1_11780(Vec *arg0, Vec *arg1) { - return VECDistanceXYZ(arg0, arg1); -} + return VECDistanceXYZ(arg0, arg1); +} \ No newline at end of file diff --git a/src/REL/m409Dll/cursor.c b/src/REL/m409Dll/cursor.c index 76fbe60a..b7a816d0 100644 --- a/src/REL/m409Dll/cursor.c +++ b/src/REL/m409Dll/cursor.c @@ -4,42 +4,40 @@ #include "game/hsfdraw.h" #include "game/sprite.h" -void fn_1_BF88(s16 arg0, s16 arg1) -{ +void fn_1_BF88(s16 arg0, s16 arg1) { s32 var_r31; s32 var_r31_2; - unkStruct8 *var_r29; - unkStruct9Sub *var_r30; + unkStruct8* var_r29; + unkStruct9Sub* var_r30; lbl_1_bss_F0.unk4 = Hu3DHookFuncCreate(fn_1_CB98); Hu3DModelLayerSet(lbl_1_bss_F0.unk4, 6); lbl_1_bss_F0.unk0 = arg0; - var_r29 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(unkStruct8), MEMORY_DEFAULT_NUM); + var_r29 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(unkStruct8), 0x10000000); lbl_1_bss_F0.unk10 = var_r29; lbl_1_bss_F0.unk2 = arg1; - var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(unkStruct9Sub), MEMORY_DEFAULT_NUM); + var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(unkStruct9Sub), 0x10000000); lbl_1_bss_F0.unkC = var_r30; - + for (var_r31 = 0; var_r31 < arg0; var_r31++, var_r29++) { var_r29->unk8 = 0; } - + for (var_r31 = 0; var_r31 < arg1; var_r31++, var_r30++) { var_r30->unk6 = 0; var_r30->unk8 = 0; } - + lbl_1_bss_F0.unk6 = lbl_1_bss_F0.unk8 = lbl_1_bss_F0.unkA = 0; } -void fn_1_C0C0(void) -{ +void fn_1_C0C0(void) { s32 var_r31; for (var_r31 = 1; var_r31 < lbl_1_bss_F0.unk0; var_r31++) { fn_1_DDB8(var_r31); } - + for (var_r31 = 1; var_r31 < lbl_1_bss_F0.unk2; var_r31++) { fn_1_E228(var_r31); } @@ -50,8 +48,7 @@ void fn_1_C0C0(void) extern u8 texMtxTbl[]; -void fn_1_C164(unkStruct8 *arg0) -{ +void fn_1_C164(unkStruct8* arg0) { ModelData spEC; Mtx spBC; Mtx sp8C; @@ -62,27 +59,27 @@ void fn_1_C164(unkStruct8 *arg0) GXColorSrc var_r25; s32 var_r26; s16 temp_r23; - unkStruct9Sub *temp_r28; + unkStruct9Sub* temp_r28; s16 var_r27; s16 var_r30; s32 var_r24; s32 var_r22; s32 var_r21; s32 var_r20; - unkStruct8Sub *var_r31; + unkStruct8Sub* var_r31; mtxRot(sp2C, arg0->unk18.x, arg0->unk18.y, arg0->unk18.z); - MTXScale(sp5C, arg0->unk24.x, arg0->unk24.y, arg0->unk24.z); - MTXConcat(sp2C, sp5C, sp5C); + PSMTXScale(sp5C, arg0->unk24.x, arg0->unk24.y, arg0->unk24.z); + PSMTXConcat(sp2C, sp5C, sp5C); mtxTransCat(sp5C, arg0->unkC.x, arg0->unkC.y, arg0->unkC.z); - MTXConcat(Hu3DCameraMtx, sp5C, sp8C); + PSMTXConcat(Hu3DCameraMtx, sp5C, sp8C); var_r30 = 0; var_r27 = 0; sp8 = 0; - + for (var_r26 = GX_TEXMAP0; var_r26 < arg0->unk4; var_r26++) { temp_r28 = &lbl_1_bss_F0.unkC[arg0->unk34[var_r26]]; - MTXRotRad(temp_r28->unk18, 0x5A, 0.0f); + PSMTXRotRad(temp_r28->unk18, 0x5A, 0.0f); mtxTransCat(temp_r28->unk18, temp_r28->unkC.x, temp_r28->unkC.y, temp_r28->unkC.z); switch (temp_r28->unk4) { case 0: @@ -94,13 +91,11 @@ void fn_1_C164(unkStruct8 *arg0) if ((temp_r28->unk0->bmp->dataFmt == 7) || (temp_r28->unk0->bmp->dataFmt == 8)) { GXSetTevColor(GX_TEVREG2, temp_r28->unk48); GXSetTevColorIn(var_r30, GX_CC_ZERO, GX_CC_C2, GX_CC_RASC, GX_CC_ZERO); - } - else { + } else { GXSetTevColorIn(var_r30, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); } GXSetTevAlphaIn(var_r30, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); - } - else { + } else { sp28.a = temp_r28->unk48.a; GXSetTevColor(GX_TEVREG2, sp28); GXSetTevColorIn(var_r30, GX_CC_CPREV, GX_CC_TEXC, GX_CC_A2, GX_CC_ZERO); @@ -155,40 +150,39 @@ void fn_1_C164(unkStruct8 *arg0) GXSetNumTevStages((s32)var_r30); GXSetNumTexGens((s32)var_r27); var_r31 = arg0->unk3C; - + for (var_r24 = 0; var_r24 < arg0->unk2; var_r24++, var_r31++) { if ((var_r31->unk34 != 0) && ((var_r31->unk34 & 4) == 0)) { switch (var_r31->unk30) { case 0: mtxRot(sp2C, var_r31->unkC.x, var_r31->unkC.y, var_r31->unkC.z); - MTXIdentity(sp5C); + PSMTXIdentity(sp5C); HmfInverseMtxF3X3(Hu3DCameraMtx, sp5C); - MTXConcat(sp5C, sp2C, sp2C); - MTXScale(sp5C, var_r31->unk18.x, var_r31->unk18.y, var_r31->unk18.z); - MTXConcat(sp2C, sp5C, sp5C); + PSMTXConcat(sp5C, sp2C, sp2C); + PSMTXScale(sp5C, var_r31->unk18.x, var_r31->unk18.y, var_r31->unk18.z); + PSMTXConcat(sp2C, sp5C, sp5C); mtxTransCat(sp5C, var_r31->unk0.x, var_r31->unk0.y, var_r31->unk0.z); - MTXConcat(Hu3DCameraMtx, sp5C, spBC); + PSMTXConcat(Hu3DCameraMtx, sp5C, spBC); break; case 1: - MTXCopy(sp8C, sp2C); + PSMTXCopy(sp8C, sp2C); mtxRotCat(sp2C, var_r31->unkC.x, var_r31->unkC.y, var_r31->unkC.z); - MTXScale(sp5C, var_r31->unk18.x, var_r31->unk18.y, var_r31->unk18.z); - MTXConcat(sp2C, sp5C, sp5C); + PSMTXScale(sp5C, var_r31->unk18.x, var_r31->unk18.y, var_r31->unk18.z); + PSMTXConcat(sp2C, sp5C, sp5C); mtxTransCat(sp5C, var_r31->unk0.x, var_r31->unk0.y, var_r31->unk0.z); - MTXCopy(sp5C, spBC); + PSMTXCopy(sp5C, spBC); break; } GXLoadPosMtxImm(spBC, 0); - MTXInverse(spBC, sp5C); - MTXTranspose(sp5C, sp2C); + PSMTXInverse(spBC, sp5C); + PSMTXTranspose(sp5C, sp2C); GXLoadNrmMtxImm(sp2C, 0); GXSetChanAmbColor(GX_COLOR0A0, var_r31->unk4C); GXSetChanMatColor(GX_COLOR0A0, var_r31->unk50); GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); if ((var_r31->unk34 & 0x10) != 0) { GXSetZMode(GX_FALSE, GX_LEQUAL, GX_TRUE); - } - else { + } else { GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); } spEC.attr = 0; @@ -196,8 +190,7 @@ void fn_1_C164(unkStruct8 *arg0) GXSetNumChans(1); if ((var_r31->unk34 & 8) != 0) { var_r25 = GX_SRC_VTX; - } - else { + } else { var_r25 = GX_SRC_REG; } switch (var_r31->unk31) { @@ -213,37 +206,36 @@ void fn_1_C164(unkStruct8 *arg0) } GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, var_r31->unk40, 12); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0); + GXSetArray(GX_VA_POS, var_r31->unk40, 0xC); GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0); GXSetArray(GX_VA_CLR0, var_r31->unk44, 4); for (var_r26 = 0; var_r26 < var_r31->unk32; var_r26++) { GXSetVtxDesc(var_r26 + GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, var_r26 + GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, var_r26 + GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0); GXSetArray(var_r26 + GX_VA_TEX0, var_r31->unk54[var_r26].unk4, 8); } GXSetVtxDesc(GX_VA_NRM, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0); - GXSetArray(GX_VA_NRM, var_r31->unk48, 12); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_TEX_S, GX_RGBA6, 0); + GXSetArray(GX_VA_NRM, var_r31->unk48, 0xC); GXCallDisplayList(var_r31->unk3C, var_r31->unk38); } } } -void fn_1_CB98(ModelData *model, Mtx matrix) -{ +void fn_1_CB98(ModelData* model, Mtx matrix) { Mtx sp38; Mtx sp8; s32 var_r30; - unkStruct8 *var_r31; + unkStruct8* var_r31; var_r31 = lbl_1_bss_F0.unk10; GXLoadPosMtxImm(matrix, 0); - MTXInverse(matrix, sp38); - MTXTranspose(sp38, sp8); + PSMTXInverse(matrix, sp38); + PSMTXTranspose(sp38, sp8); GXLoadNrmMtxImm(sp8, 0); - + for (var_r30 = 0; var_r30 < lbl_1_bss_F0.unk0; var_r30++, var_r31++) { if ((var_r31->unk8 == 0) || ((var_r31->unk8 & 2) == 0) || ((var_r31->unk8 & 4) != 0)) { continue; @@ -252,33 +244,28 @@ void fn_1_CB98(ModelData *model, Mtx matrix) if (var_r31->unk30) { var_r31->unk30(var_r31); } - if (var_r31->unk8 == 0) - continue; + if (var_r31->unk8 == 0) continue; fn_1_D430(var_r31); - if (var_r31->unk8 == 0) - continue; + if (var_r31->unk8 == 0) continue; } fn_1_C164(var_r31); } } -unkStruct8 *fn_1_CCB0(s16 idx) -{ +unkStruct8* fn_1_CCB0(s16 idx) { return &lbl_1_bss_F0.unk10[idx]; } -unkStruct8Sub *fn_1_CCCC(s16 arg0, s16 arg1) -{ +unkStruct8Sub* fn_1_CCCC(s16 arg0, s16 arg1) { return &lbl_1_bss_F0.unk10[arg0].unk3C[arg1]; } -void fn_1_CCF8(unkStruct11 **arg0, s16 arg1, f32 arg8, f32 arg9) -{ +void fn_1_CCF8(unkStruct11** arg0, s16 arg1, f32 arg8, f32 arg9) { s32 var_r30; - unkStruct11 *var_r31; - - var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(unkStruct11), MEMORY_DEFAULT_NUM); - + unkStruct11* var_r31; + + var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(unkStruct11), 0x10000000); + for (var_r30 = 0; var_r30 < arg1; var_r31++, var_r30++) { var_r31->unk0.x = (-0.5f * arg8); var_r31->unk0.y = (0.5f * arg9); @@ -295,14 +282,13 @@ void fn_1_CCF8(unkStruct11 **arg0, s16 arg1, f32 arg8, f32 arg9) } } -void fn_1_CE7C(Vec **arg0, s16 arg1, Vec *arg2) -{ +void fn_1_CE7C(Vec** arg0, s16 arg1, Vec* arg2) { s32 var_r29; s32 var_r28; - Vec *var_r31; - - var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(Vec[4]), MEMORY_DEFAULT_NUM); + Vec* var_r31; + var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(Vec[4]), 0x10000000); + for (var_r29 = 0; var_r29 < arg1; var_r29++) { for (var_r28 = 0; var_r28 < 4; var_r31++, arg2++, var_r28++) { var_r31->x = arg2->x; @@ -312,14 +298,13 @@ void fn_1_CE7C(Vec **arg0, s16 arg1, Vec *arg2) } } -void fn_1_CF1C(GXColor **arg0, s16 arg1, GXColor *arg2) -{ +void fn_1_CF1C(GXColor** arg0, s16 arg1, GXColor* arg2) { s32 var_r29; s32 var_r28; - GXColor *var_r31; - - var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(GXColor[4]), MEMORY_DEFAULT_NUM); + GXColor* var_r31; + var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(GXColor[4]), 0x10000000U); + for (var_r29 = 0; var_r29 < arg1; var_r29++) { for (var_r28 = 0; var_r28 < 4; var_r31++, arg2++, var_r28++) { var_r31->r = arg2->r; @@ -330,13 +315,12 @@ void fn_1_CF1C(GXColor **arg0, s16 arg1, GXColor *arg2) } } -void fn_1_CFC4(Vec **arg0, s16 arg1, Vec *arg2) -{ +void fn_1_CFC4(Vec** arg0, s16 arg1, Vec* arg2) { s32 var_r29; - Vec *var_r31; - - var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(Vec), MEMORY_DEFAULT_NUM); + Vec* var_r31; + var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(Vec), 0x10000000U); + for (var_r29 = 0; var_r29 < arg1; var_r31++, arg2++, var_r29++) { var_r31->x = arg2->x; var_r31->y = arg2->y; @@ -344,13 +328,12 @@ void fn_1_CFC4(Vec **arg0, s16 arg1, Vec *arg2) } } -void fn_1_D050(HsfVector2f **arg0, s16 arg1, HsfVector2f *arg2) -{ +void fn_1_D050(HsfVector2f** arg0, s16 arg1, HsfVector2f* arg2) { s32 var_r28; s32 var_r29; - HsfVector2f *var_r31; + HsfVector2f* var_r31; - var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(HsfVector2f[4]), MEMORY_DEFAULT_NUM); + var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(HsfVector2f[4]), 0x10000000U); for (var_r28 = 0; var_r28 < arg1; var_r28++) { for (var_r29 = 0; var_r29 < 4; var_r31++, arg2++, var_r29++) { @@ -360,43 +343,52 @@ void fn_1_D050(HsfVector2f **arg0, s16 arg1, HsfVector2f *arg2) } } -void fn_1_D0E8(unkStruct8Sub *arg0) -{ - Vec sp18[4] = { { -50.0f, 50.0f, 0.0f }, { 50.0f, 50.0f, 0.0f }, { 50.0f, -50.0f, 0.0f }, { -50.0f, -50.0f, 0.0f } }; - GXColor sp8[4] = { { 0xFF, 0xFF, 0xFF, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF } }; +void fn_1_D0E8(unkStruct8Sub* arg0) { + Vec sp18[4] = { + { -50.0f, 50.0f, 0.0f }, + { 50.0f, 50.0f, 0.0f }, + { 50.0f, -50.0f, 0.0f }, + { -50.0f, -50.0f, 0.0f } + }; + GXColor sp8[4] = { + { 0xFF, 0xFF, 0xFF, 0xFF }, + { 0xFF, 0xFF, 0xFF, 0xFF }, + { 0xFF, 0xFF, 0xFF, 0xFF }, + { 0xFF, 0xFF, 0xFF, 0xFF } + }; s32 var_r26; s32 var_r25; - void *temp_r3_3; - + void* temp_r3_3; + if (arg0->unk40 != NULL) { HuMemDirectFree(arg0->unk40); } - fn_1_CE7C((Vec **)&arg0->unk40, 1, &sp18[0]); + fn_1_CE7C((Vec**)&arg0->unk40, 1, &sp18[0]); if (arg0->unk44 != NULL) { HuMemDirectFree(arg0->unk44); } - fn_1_CF1C((GXColor **)&arg0->unk44, 1, &sp8[0]); + fn_1_CF1C((GXColor**)&arg0->unk44, 1, &sp8[0]); if (arg0->unk48 != NULL) { HuMemDirectFree(arg0->unk48); } - arg0->unk48 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Vec), MEMORY_DEFAULT_NUM); + arg0->unk48 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Vec), 0x10000000); arg0->unk48->x = 0.0f; arg0->unk48->y = 0.0f; arg0->unk48->z = 1.0f; if (arg0->unk3C != NULL) { HuMemDirectFree(arg0->unk3C); } - temp_r3_3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x1000, MEMORY_DEFAULT_NUM); + temp_r3_3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x1000, 0x10000000); arg0->unk3C = temp_r3_3; DCFlushRange(arg0->unk3C, 0x1000); GXBeginDisplayList(temp_r3_3, 0x1000); GXBegin(GX_QUADS, GX_VTXFMT0, 4); - + for (var_r26 = 0; var_r26 < 4; var_r26++) { GXPosition1x16(var_r26); GXColor1x16(0); GXNormal1x16(var_r26); - + for (var_r25 = 0; var_r25 < arg0->unk32; var_r25++) { GXTexCoord1x16(var_r26); } @@ -404,25 +396,23 @@ void fn_1_D0E8(unkStruct8Sub *arg0) arg0->unk38 = GXEndDisplayList(); } -void fn_1_D430(unkStruct8 *arg0) -{ +void fn_1_D430(unkStruct8* arg0) { s32 var_r25; s32 var_r26; s32 var_r27; - unkStruct8Sub *var_r28; - unkStruct12 *var_r31; - unkStruct9Sub *temp_r30; + unkStruct8Sub* var_r28; + unkStruct12* var_r31; + unkStruct9Sub* temp_r30; var_r27 = 0; var_r28 = arg0->unk3C; - + for (var_r25 = 0; var_r25 < arg0->unk2; var_r25++, var_r28++) { if ((var_r28->unk34 & 4) != 0) { var_r27++; - } - else { + } else { var_r31 = var_r28->unk54; - + for (var_r26 = 0; var_r26 < var_r28->unk32; var_r26++, var_r31++) { temp_r30 = &lbl_1_bss_F0.unkC[arg0->unk34[var_r26]]; var_r31->unk8 &= ~4; @@ -446,37 +436,30 @@ void fn_1_D430(unkStruct8 *arg0) if ((var_r31->unk8 & 0x10) != 0) { var_r31->unk8 |= 8; var_r31->unk0--; - } - else if ((var_r31->unk8 & 0x40) != 0) { + } else if ((var_r31->unk8 & 0x40) != 0) { var_r31->unk8 = (var_r31->unk8 & 0xF0) | 2; var_r31->unk0 -= 2; - } - else if ((var_r31->unk8 & 0x20) != 0) { + } else if ((var_r31->unk8 & 0x20) != 0) { var_r31->unk0 = 0; } var_r31->unk8 |= 4; - } - else if (var_r31->unk0 < 0) { + } else if (var_r31->unk0 < 0) { if ((var_r31->unk8 & 0x10) != 0) { var_r31->unk8 |= 8; var_r31->unk0 = 0; - } - else if ((var_r31->unk8 & 0x20) != 0) { + } else if ((var_r31->unk8 & 0x20) != 0) { if ((var_r31->unk8 & 0x40) != 0) { var_r31->unk8 = ((var_r31->unk8 & 0xF0) | 1); var_r31->unk0 = 1U; - } - else { + } else { var_r31->unk0 = (temp_r30->unk4C - 1); } - } - else if ((var_r31->unk8 & 0x40) != 0) { + } else if ((var_r31->unk8 & 0x40) != 0) { var_r31->unk8 |= 8; var_r31->unk0 = 0; } var_r31->unk8 |= 4; - } - else { + } else { var_r31->unk8 &= ~8; } if (var_r31->unk0 != var_r31->unk1) { @@ -500,13 +483,11 @@ void fn_1_D430(unkStruct8 *arg0) if ((var_r31->unk8 & 0x40) == 0) { if (var_r31->unk0 <= 0) { var_r31->unk0 = temp_r30->unk4C; - } - else { + } else { var_r31->unk0 = 0U; } } - } - else if ((var_r28->unk34 & 0x80000000) != 0) { + } else if ((var_r28->unk34 & 0x80000000) != 0) { fn_1_DDB8(arg0->unk0); } var_r27++; @@ -525,44 +506,42 @@ void fn_1_D430(unkStruct8 *arg0) } } -s16 fn_1_DA48(u8 arg0, u8 arg1) -{ +s16 fn_1_DA48(u8 arg0, u8 arg1) { s32 var_r29; s32 var_r28; - unkStruct8 *var_r30; - unkStruct8Sub *var_r31; + unkStruct8* var_r30; + unkStruct8Sub* var_r31; var_r30 = &lbl_1_bss_F0.unk10[1]; - + for (var_r29 = 1; var_r29 < lbl_1_bss_F0.unk0; var_r29++, var_r30++) { - if (var_r30->unk8 == 0) - break; + if (var_r30->unk8 == 0) break; + } - - if (var_r29 == lbl_1_bss_F0.unk0) - return 0; - + + if (var_r29 == lbl_1_bss_F0.unk0) return 0; + var_r30->unk0 = var_r29; var_r30->unk8 = 1; var_r30->unk30 = NULL; var_r30->unk2 = arg0; var_r30->unk4 = arg1; - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(unkStruct8Sub), MEMORY_DEFAULT_NUM); + var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(unkStruct8Sub), 0x10000000); var_r30->unk3C = var_r31; - var_r30->unk34 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(s16), MEMORY_DEFAULT_NUM); + var_r30->unk34 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(s16), 0x10000000); var_r30->unkC.x = var_r30->unkC.y = var_r30->unkC.z = 0.0f; var_r30->unk18.x = var_r30->unk18.y = var_r30->unk18.z = 0.0f; var_r30->unk24.x = var_r30->unk24.y = var_r30->unk24.z = 1.0f; var_r30->unk54.x = var_r30->unk54.y = var_r30->unk54.z = 0.0f; var_r30->unk48.x = var_r30->unk48.y = var_r30->unk48.z = 0.0f; - + for (var_r29 = 0; var_r29 < 0x20; var_r29++) { var_r30->unk60[var_r29] = 0; } for (var_r29 = 0; var_r29 < arg1; var_r29++) { var_r30->unk34[var_r29] = 0; } - + for (var_r29 = 0; var_r29 < arg0; var_r29++, var_r31++) { var_r31->unk34 = 1; var_r31->unk32 = arg1; @@ -572,8 +551,8 @@ s16 fn_1_DA48(u8 arg0, u8 arg1) var_r31->unk4C.a = 0xFF; var_r31->unk50.r = var_r31->unk50.g = var_r31->unk50.b = 0xFF; var_r31->unk50.a = 0xFF; - var_r31->unk54 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(unkStruct12), MEMORY_DEFAULT_NUM); - + var_r31->unk54 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(unkStruct12), 0x10000000); + for (var_r28 = 0; var_r28 < arg1; var_r28++) { var_r31->unk54[var_r28].unk0 = var_r31->unk54[var_r28].unk1 = 0; var_r31->unk54[var_r28].unk4 = NULL; @@ -585,7 +564,7 @@ s16 fn_1_DA48(u8 arg0, u8 arg1) var_r31->unk18.x = var_r31->unk18.y = var_r31->unk18.z = 1.0f; var_r31->unk64.x = var_r31->unk64.y = var_r31->unk64.z = 0.0f; var_r31->unk58.x = var_r31->unk58.y = var_r31->unk58.z = 0.0f; - + for (var_r28 = 0; var_r28 < 0x10; var_r28++) { var_r31->unk70[var_r28] = 0; } @@ -596,18 +575,17 @@ s16 fn_1_DA48(u8 arg0, u8 arg1) return var_r30->unk0; } -void fn_1_DDB8(s16 arg0) -{ - unkStruct12 *var_r28; +void fn_1_DDB8(s16 arg0) { + unkStruct12* var_r28; s32 var_r29; - unkStruct8 *temp_r30; - unkStruct8Sub *var_r31; + unkStruct8* temp_r30; + unkStruct8Sub* var_r31; if (arg0 != 0) { temp_r30 = &lbl_1_bss_F0.unk10[arg0]; if (temp_r30->unk8 != 0) { var_r31 = temp_r30->unk3C; - + for (var_r29 = 0; var_r29 < temp_r30->unk2; var_r29++, var_r31++) { if (var_r31->unk40 != NULL) { HuMemDirectFree(var_r31->unk40); @@ -625,7 +603,7 @@ void fn_1_DDB8(s16 arg0) HuMemDirectFree(var_r28->unk4); HuMemDirectFree(var_r31->unk54); } - + for (var_r29 = 0; var_r29 < temp_r30->unk4; var_r29++) { fn_1_E228(temp_r30->unk34[var_r29]); } @@ -637,46 +615,41 @@ void fn_1_DDB8(s16 arg0) } } -void fn_1_DEF4(s16 arg0, s16 arg1, u8 arg2) -{ +void fn_1_DEF4(s16 arg0, s16 arg1, u8 arg2) { lbl_1_bss_F0.unk6 = arg0; lbl_1_bss_F0.unk8 = arg1; lbl_1_bss_F0.unkA = arg2; } -s16 fn_1_DF20(u32 arg0, s16 arg1, s16 arg2) -{ - AnimData *temp_r30; +s16 fn_1_DF20(u32 arg0, s16 arg1, s16 arg2) { + AnimData* temp_r30; f32 var_f31; f32 var_f30; s32 var_r29; - unkStruct9Sub *var_r31; + unkStruct9Sub* var_r31; var_r31 = &lbl_1_bss_F0.unkC[1]; - + for (var_r29 = 1; var_r29 < lbl_1_bss_F0.unk2; var_r29++, var_r31++) { - if ((var_r31->unk6 != 0) && (var_r31->unk8 == arg0)) - break; + if ((var_r31->unk6 != 0) && (var_r31->unk8 == arg0)) break; } if (var_r29 < lbl_1_bss_F0.unk2) { var_r31->unk6++; return var_r29; } var_r31 = &lbl_1_bss_F0.unkC[1]; - + for (var_r29 = 1; var_r29 < lbl_1_bss_F0.unk2; var_r29++, var_r31++) { - if (var_r31->unk6 == 0) - break; + if (var_r31->unk6 == 0) break; } var_r31->unk8 = arg0; var_r31->unk6 = 1; - temp_r30 = HuSprAnimRead(HuDataReadNum(arg0, MEMORY_DEFAULT_NUM)); + temp_r30 = HuSprAnimRead(HuDataReadNum(arg0, 0x10000000)); if ((arg1 == 0) || (arg2 == 0)) { arg1 = temp_r30->bmp->sizeX; arg2 = temp_r30->bmp->sizeY; var_f31 = var_f30 = 1.0f; - } - else { + } else { var_f31 = arg1 / (f32)temp_r30->bmp->sizeX; var_f30 = arg2 / (f32)temp_r30->bmp->sizeY; } @@ -691,15 +664,14 @@ s16 fn_1_DF20(u32 arg0, s16 arg1, s16 arg2) var_r31->unk4C = (temp_r30->bmp->sizeY / arg2); var_r31->unk48.r = var_r31->unk48.g = var_r31->unk48.b = 0xFF; var_r31->unk48.a = 0xFF; - MTXIdentity(var_r31->unk18); + PSMTXIdentity(var_r31->unk18); var_r31->unkC.x = var_r31->unkC.y = var_r31->unkC.z = 0.0f; return var_r29; } -void fn_1_E228(s16 arg0) -{ - unkStruct9Sub *temp_r31; - +void fn_1_E228(s16 arg0) { + unkStruct9Sub* temp_r31; + temp_r31 = &lbl_1_bss_F0.unkC[arg0]; if (temp_r31->unk8 != 0) { if (temp_r31->unk6 != 0) { @@ -712,18 +684,17 @@ void fn_1_E228(s16 arg0) } } -s32 fn_1_E2A8(s16 arg0, u8 arg1, u32 arg2, s16 arg3, s16 arg4) -{ +s32 fn_1_E2A8(s16 arg0, u8 arg1, u32 arg2, s16 arg3, s16 arg4) { f32 temp_f31; f32 temp_f30; s32 var_r26; s32 var_r25; s32 var_r24; - unkStruct12 *temp_r31; - unkStruct8 *temp_r27; - unkStruct8Sub *var_r28; - unkStruct9Sub *temp_r30; - unkStruct11 *var_r29; + unkStruct12* temp_r31; + unkStruct8* temp_r27; + unkStruct8Sub* var_r28; + unkStruct9Sub* temp_r30; + unkStruct11* var_r29; if (arg0 == 0) { return 0; @@ -737,7 +708,7 @@ s32 fn_1_E2A8(s16 arg0, u8 arg1, u32 arg2, s16 arg3, s16 arg4) temp_r27->unk34[arg1] = var_r24; temp_r30 = &lbl_1_bss_F0.unkC[var_r24]; var_r28 = temp_r27->unk3C; - + for (var_r26 = 0; var_r26 < temp_r27->unk2; var_r26++, var_r28++) { if (arg1 == 0) { if (var_r28->unk40) { @@ -745,8 +716,8 @@ s32 fn_1_E2A8(s16 arg0, u8 arg1, u32 arg2, s16 arg3, s16 arg4) } temp_f30 = temp_r30->unk50; temp_f31 = temp_r30->unk4E; - var_r29 = var_r28->unk40 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x30, MEMORY_DEFAULT_NUM); - + var_r29 = var_r28->unk40 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x30, 0x10000000); + for (var_r25 = 0; var_r25 < 1; var_r29++, var_r25++) { var_r29->unk0.x = (-0.5f * temp_f31); var_r29->unk0.y = (0.5f * temp_f30); @@ -768,7 +739,7 @@ s32 fn_1_E2A8(s16 arg0, u8 arg1, u32 arg2, s16 arg3, s16 arg4) temp_r31->unkC = 1.0f; temp_r31->unk10 = 0.0f; if (temp_r31->unk4 == NULL) { - temp_r31->unk4 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x20, MEMORY_DEFAULT_NUM); + temp_r31->unk4 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x20, 0x10000000U); } temp_r31->unk4[0].x = temp_r31->unk0 * temp_r30->unk54; temp_r31->unk4[0].y = temp_r31->unk0 * temp_r30->unk58; @@ -786,17 +757,15 @@ s32 fn_1_E2A8(s16 arg0, u8 arg1, u32 arg2, s16 arg3, s16 arg4) return 1; } -s32 fn_1_E7C8(s16 arg0, u8 arg1, u32 arg2) -{ +s32 fn_1_E7C8(s16 arg0, u8 arg1, u32 arg2) { s32 var_r31; - + var_r31 = fn_1_E2A8(arg0, arg1, arg2, 0, 0); return var_r31; } -void fn_1_E818(s16 arg0, f32 arg8, f32 arg9, f32 argA) -{ - unkStruct8 *temp_r31; +void fn_1_E818(s16 arg0, f32 arg8, f32 arg9, f32 argA) { + unkStruct8* temp_r31; if (arg0 != 0) { temp_r31 = &lbl_1_bss_F0.unk10[arg0]; @@ -806,10 +775,9 @@ void fn_1_E818(s16 arg0, f32 arg8, f32 arg9, f32 argA) } } -void fn_1_E85C(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) -{ - unkStruct8 *temp_r30; - unkStruct8Sub *temp_r31; +void fn_1_E85C(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) { + unkStruct8* temp_r30; + unkStruct8Sub* temp_r31; if (arg0 != 0) { temp_r30 = &lbl_1_bss_F0.unk10[arg0]; @@ -822,16 +790,15 @@ void fn_1_E85C(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) } } -void fn_1_E8CC(s16 arg0, f32 arg8, f32 arg9, f32 argA) -{ +void fn_1_E8CC(s16 arg0, f32 arg8, f32 arg9, f32 argA) { s32 var_r29; - unkStruct8 *temp_r30; - unkStruct8Sub *var_r31; + unkStruct8* temp_r30; + unkStruct8Sub* var_r31; if (arg0 != 0) { temp_r30 = &lbl_1_bss_F0.unk10[arg0]; var_r31 = temp_r30->unk3C; - + for (var_r29 = 0; var_r29 < temp_r30->unk2; var_r29++, var_r31++) { var_r31->unk0.x = arg8; var_r31->unk0.y = arg9; @@ -840,9 +807,8 @@ void fn_1_E8CC(s16 arg0, f32 arg8, f32 arg9, f32 argA) } } -void fn_1_E940(s16 arg0, f32 arg8, f32 arg9, f32 argA) -{ - unkStruct8 *temp_r31; +void fn_1_E940(s16 arg0, f32 arg8, f32 arg9, f32 argA) { + unkStruct8* temp_r31; if (arg0 != 0) { temp_r31 = &lbl_1_bss_F0.unk10[arg0]; @@ -852,10 +818,9 @@ void fn_1_E940(s16 arg0, f32 arg8, f32 arg9, f32 argA) } } -void fn_1_E99C(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) -{ - unkStruct8 *temp_r30; - unkStruct8Sub *temp_r31; +void fn_1_E99C(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) { + unkStruct8* temp_r30; + unkStruct8Sub* temp_r31; if (arg0 != 0) { temp_r30 = &lbl_1_bss_F0.unk10[arg0]; @@ -868,16 +833,15 @@ void fn_1_E99C(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) } } -void fn_1_EA24(s16 arg0, f32 arg8, f32 arg9, f32 argA) -{ +void fn_1_EA24(s16 arg0, f32 arg8, f32 arg9, f32 argA) { s32 var_r29; - unkStruct8 *temp_r30; - unkStruct8Sub *var_r31; + unkStruct8* temp_r30; + unkStruct8Sub* var_r31; if (arg0 != 0) { temp_r30 = &lbl_1_bss_F0.unk10[arg0]; var_r31 = temp_r30->unk3C; - + for (var_r29 = 0; var_r29 < temp_r30->unk2; var_r29++, var_r31++) { var_r31->unk0.x += arg8; var_r31->unk0.y += arg9; @@ -886,9 +850,8 @@ void fn_1_EA24(s16 arg0, f32 arg8, f32 arg9, f32 argA) } } -void fn_1_EAB0(s16 arg0, f32 arg8, f32 arg9, f32 argA) -{ - unkStruct8 *temp_r31; +void fn_1_EAB0(s16 arg0, f32 arg8, f32 arg9, f32 argA) { + unkStruct8* temp_r31; if (arg0 != 0) { temp_r31 = &lbl_1_bss_F0.unk10[arg0]; @@ -898,10 +861,9 @@ void fn_1_EAB0(s16 arg0, f32 arg8, f32 arg9, f32 argA) } } -void fn_1_EAF4(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) -{ - unkStruct8 *temp_r30; - unkStruct8Sub *temp_r31; +void fn_1_EAF4(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) { + unkStruct8* temp_r30; + unkStruct8Sub* temp_r31; if (arg0 != 0) { temp_r30 = &lbl_1_bss_F0.unk10[arg0]; @@ -914,16 +876,15 @@ void fn_1_EAF4(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) } } -void fn_1_EB64(s16 arg0, f32 arg8, f32 arg9, f32 argA) -{ +void fn_1_EB64(s16 arg0, f32 arg8, f32 arg9, f32 argA) { s32 var_r29; - unkStruct8 *temp_r30; - unkStruct8Sub *var_r31; + unkStruct8* temp_r30; + unkStruct8Sub* var_r31; if (arg0 != 0) { temp_r30 = &lbl_1_bss_F0.unk10[arg0]; var_r31 = temp_r30->unk3C; - + for (var_r29 = 0; var_r29 < temp_r30->unk2; var_r29++, var_r31++) { var_r31->unkC.x = arg8; var_r31->unkC.y = arg9; @@ -932,9 +893,8 @@ void fn_1_EB64(s16 arg0, f32 arg8, f32 arg9, f32 argA) } } -void fn_1_EBD8(s16 arg0, f32 arg8, f32 arg9, f32 argA) -{ - unkStruct8 *temp_r31; +void fn_1_EBD8(s16 arg0, f32 arg8, f32 arg9, f32 argA) { + unkStruct8* temp_r31; if (arg0 != 0) { temp_r31 = &lbl_1_bss_F0.unk10[arg0]; @@ -944,10 +904,9 @@ void fn_1_EBD8(s16 arg0, f32 arg8, f32 arg9, f32 argA) } } -void fn_1_EC1C(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) -{ - unkStruct8 *temp_r30; - unkStruct8Sub *temp_r31; +void fn_1_EC1C(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) { + unkStruct8* temp_r30; + unkStruct8Sub* temp_r31; if (arg0 != 0) { temp_r30 = &lbl_1_bss_F0.unk10[arg0]; @@ -960,16 +919,15 @@ void fn_1_EC1C(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) } } -void fn_1_EC8C(s16 arg0, f32 arg8, f32 arg9, f32 argA) -{ +void fn_1_EC8C(s16 arg0, f32 arg8, f32 arg9, f32 argA) { s32 var_r29; - unkStruct8 *temp_r30; - unkStruct8Sub *var_r31; + unkStruct8* temp_r30; + unkStruct8Sub* var_r31; if (arg0 != 0) { temp_r30 = &lbl_1_bss_F0.unk10[arg0]; var_r31 = temp_r30->unk3C; - + for (var_r29 = 0; var_r29 < temp_r30->unk2; var_r29++, var_r31++) { var_r31->unk18.x = arg8; var_r31->unk18.y = arg9; @@ -978,9 +936,8 @@ void fn_1_EC8C(s16 arg0, f32 arg8, f32 arg9, f32 argA) } } -void fn_1_ED00(s16 arg0, s32 arg1) -{ - unkStruct8 *temp_r31; +void fn_1_ED00(s16 arg0, s32 arg1) { + unkStruct8* temp_r31; if (arg0 != 0) { temp_r31 = &lbl_1_bss_F0.unk10[arg0]; @@ -988,10 +945,9 @@ void fn_1_ED00(s16 arg0, s32 arg1) } } -void fn_1_ED44(s16 arg0, s16 arg1, s32 arg2) -{ - unkStruct8 *temp_r31; - unkStruct8Sub *temp_r30; +void fn_1_ED44(s16 arg0, s16 arg1, s32 arg2) { + unkStruct8* temp_r31; + unkStruct8Sub* temp_r30; if (arg0 != 0) { temp_r31 = &lbl_1_bss_F0.unk10[arg0]; @@ -1002,25 +958,23 @@ void fn_1_ED44(s16 arg0, s16 arg1, s32 arg2) } } -void fn_1_EDB4(s16 arg0, s32 arg1) -{ +void fn_1_EDB4(s16 arg0, s32 arg1) { s32 var_r30; - unkStruct8 *temp_r31; - unkStruct8Sub *temp_r29; + unkStruct8* temp_r31; + unkStruct8Sub* temp_r29; if (arg0 != 0) { temp_r31 = &lbl_1_bss_F0.unk10[arg0]; temp_r29 = temp_r31->unk3C; - + for (var_r30 = 0; var_r30 < temp_r31->unk2; var_r30++) { temp_r29->unk34 |= arg1; } } } -void fn_1_EE24(s16 arg0, u32 arg1) -{ - unkStruct8 *temp_r31; +void fn_1_EE24(s16 arg0, u32 arg1) { + unkStruct8* temp_r31; if (arg0 != 0) { temp_r31 = &lbl_1_bss_F0.unk10[arg0]; @@ -1028,10 +982,9 @@ void fn_1_EE24(s16 arg0, u32 arg1) } } -void fn_1_EE68(s16 arg0, s16 arg1, u32 arg2) -{ - unkStruct8 *temp_r31; - unkStruct8Sub *temp_r30; +void fn_1_EE68(s16 arg0, s16 arg1, u32 arg2) { + unkStruct8* temp_r31; + unkStruct8Sub* temp_r30; if (arg0 != 0) { temp_r31 = &lbl_1_bss_F0.unk10[arg0]; @@ -1042,25 +995,23 @@ void fn_1_EE68(s16 arg0, s16 arg1, u32 arg2) } } -void fn_1_EED8(s16 arg0, u32 arg1) -{ +void fn_1_EED8(s16 arg0, u32 arg1) { s32 var_r30; - unkStruct8 *temp_r31; - unkStruct8Sub *temp_r29; + unkStruct8* temp_r31; + unkStruct8Sub* temp_r29; if (arg0 != 0) { temp_r31 = &lbl_1_bss_F0.unk10[arg0]; temp_r29 = temp_r31->unk3C; - + for (var_r30 = 0; var_r30 < temp_r31->unk2; var_r30++) { temp_r29->unk34 &= ~arg1; } } } -s32 fn_1_EF48(s16 arg0, s32 arg1) -{ - unkStruct8 *var_r31; +s32 fn_1_EF48(s16 arg0, s32 arg1) { + unkStruct8* var_r31; if (arg0 == 0) { return 0; @@ -1073,31 +1024,26 @@ s32 fn_1_EF48(s16 arg0, s32 arg1) return 0; } -s32 fn_1_EFA4(s16 arg0, s16 arg1, s32 arg2) -{ - unkStruct8Sub *var_r30; - unkStruct8 *temp_r31; - - if (arg0 == 0) - return; +s32 fn_1_EFA4(s16 arg0, s16 arg1, s32 arg2) { + unkStruct8Sub* var_r30; + unkStruct8* temp_r31; + if (arg0 == 0) return; + temp_r31 = &lbl_1_bss_F0.unk10[arg0]; - if (temp_r31->unk2 <= arg1) - return; - + if (temp_r31->unk2 <= arg1) return; + var_r30 = &temp_r31->unk3C[arg1]; if ((var_r30->unk34 & arg2) != 0) { return 1; - } - else { + } else { return 0; } } -void fn_1_F024(s16 arg0, s16 arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5) -{ - unkStruct8 *temp_r30; - unkStruct8Sub *temp_r31; +void fn_1_F024(s16 arg0, s16 arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5) { + unkStruct8* temp_r30; + unkStruct8Sub* temp_r31; if (arg0 != 0) { temp_r30 = &lbl_1_bss_F0.unk10[arg0]; @@ -1111,16 +1057,15 @@ void fn_1_F024(s16 arg0, s16 arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5) } } -void fn_1_F098(s16 arg0, u8 arg1, u8 arg2, u8 arg3, u8 arg4) -{ +void fn_1_F098(s16 arg0, u8 arg1, u8 arg2, u8 arg3, u8 arg4) { s32 var_r29; - unkStruct8 *temp_r30; - unkStruct8Sub *var_r31; + unkStruct8* temp_r30; + unkStruct8Sub* var_r31; if (arg0 != 0) { temp_r30 = &lbl_1_bss_F0.unk10[arg0]; var_r31 = temp_r30->unk3C; - + for (var_r29 = 0; var_r29 < temp_r30->unk2; var_r29++, var_r31++) { var_r31->unk50.r = arg1; var_r31->unk50.g = arg2; @@ -1130,10 +1075,9 @@ void fn_1_F098(s16 arg0, u8 arg1, u8 arg2, u8 arg3, u8 arg4) } } -void fn_1_F110(s16 arg0, s16 arg1, u8 arg2) -{ - unkStruct8 *temp_r31; - unkStruct8Sub *var_r30; +void fn_1_F110(s16 arg0, s16 arg1, u8 arg2) { + unkStruct8* temp_r31; + unkStruct8Sub* var_r30; if (arg0 != 0) { temp_r31 = &lbl_1_bss_F0.unk10[arg0]; @@ -1144,10 +1088,9 @@ void fn_1_F110(s16 arg0, s16 arg1, u8 arg2) } } -void fn_1_F17C(s16 arg0, s16 arg1, u8 arg2, u8 arg3) -{ - unkStruct8 *temp_r31; - unkStruct8Sub *var_r30; +void fn_1_F17C(s16 arg0, s16 arg1, u8 arg2, u8 arg3) { + unkStruct8* temp_r31; + unkStruct8Sub* var_r30; if (arg0 != 0) { temp_r31 = &lbl_1_bss_F0.unk10[arg0]; @@ -1158,18 +1101,17 @@ void fn_1_F17C(s16 arg0, s16 arg1, u8 arg2, u8 arg3) } } -void fn_1_F1F4(s16 arg0, u8 arg1) -{ +void fn_1_F1F4(s16 arg0, u8 arg1) { s32 var_r28; s32 var_r30; - unkStruct8 *temp_r29; - unkStruct8Sub *var_r31; + unkStruct8* temp_r29; + unkStruct8Sub* var_r31; if (arg0 != 0) { temp_r29 = &lbl_1_bss_F0.unk10[arg0]; - var_r31 = (unkStruct8Sub *)(&temp_r29->unk3C); //! BAD WHY + var_r31 = (unkStruct8Sub *)(&temp_r29->unk3C); (void)temp_r29; - + for (var_r28 = 0; var_r28 < temp_r29->unk2; var_r28++, var_r31++) { for (var_r30 = 0; var_r30 < var_r31->unk32; var_r30++) { var_r31->unk54[var_r30].unk8 = arg1; @@ -1178,10 +1120,9 @@ void fn_1_F1F4(s16 arg0, u8 arg1) } } -void fn_1_F28C(s16 arg0, s16 arg1, f32 arg8) -{ - unkStruct8 *temp_r31; - unkStruct8Sub *var_r30; +void fn_1_F28C(s16 arg0, s16 arg1, f32 arg8) { + unkStruct8* temp_r31; + unkStruct8Sub* var_r30; if (arg0 != 0) { temp_r31 = &lbl_1_bss_F0.unk10[arg0]; @@ -1192,10 +1133,9 @@ void fn_1_F28C(s16 arg0, s16 arg1, f32 arg8) } } -void fn_1_F2F8(s16 arg0, s16 arg1, u8 arg2, f32 arg8) -{ - unkStruct8 *temp_r31; - unkStruct8Sub *var_r30; +void fn_1_F2F8(s16 arg0, s16 arg1, u8 arg2, f32 arg8) { + unkStruct8* temp_r31; + unkStruct8Sub* var_r30; if (arg0 != 0) { temp_r31 = &lbl_1_bss_F0.unk10[arg0]; @@ -1206,17 +1146,16 @@ void fn_1_F2F8(s16 arg0, s16 arg1, u8 arg2, f32 arg8) } } -void fn_1_F370(s16 arg0, f32 arg8) -{ - unkStruct8 *temp_r31; +void fn_1_F370(s16 arg0, f32 arg8) { + unkStruct8* temp_r31; s32 var_r29; s32 var_r30; - unkStruct8Sub *volatile sp8; + unkStruct8Sub* volatile sp8; if (arg0 != 0) { temp_r31 = &lbl_1_bss_F0.unk10[arg0]; sp8 = &temp_r31->unk3C[0]; - + for (var_r29 = 0; var_r29 < temp_r31->unk2; var_r29++) { for (var_r30 = 0; var_r30 < sp8->unk32; var_r30++) { sp8->unk54[var_r30].unkC = arg8; @@ -1225,10 +1164,9 @@ void fn_1_F370(s16 arg0, f32 arg8) } } -void fn_1_F408(s16 arg0, s16 arg1, u8 arg2) -{ - unkStruct8 *temp_r31; - unkStruct8Sub *var_r30; +void fn_1_F408(s16 arg0, s16 arg1, u8 arg2) { + unkStruct8* temp_r31; + unkStruct8Sub* var_r30; if (arg0 != 0) { temp_r31 = &lbl_1_bss_F0.unk10[arg0]; @@ -1239,10 +1177,9 @@ void fn_1_F408(s16 arg0, s16 arg1, u8 arg2) } } -void fn_1_F478(s16 arg0, s16 arg1, u8 arg2, u8 arg3) -{ - unkStruct8 *temp_r31; - unkStruct8Sub *var_r30; +void fn_1_F478(s16 arg0, s16 arg1, u8 arg2, u8 arg3) { + unkStruct8* temp_r31; + unkStruct8Sub* var_r30; if (arg0 != 0) { temp_r31 = &lbl_1_bss_F0.unk10[arg0]; @@ -1253,11 +1190,10 @@ void fn_1_F478(s16 arg0, s16 arg1, u8 arg2, u8 arg3) } } -void fn_1_F4F0(s16 arg0, u8 arg1) -{ - unkStruct8Sub *volatile sp8; +void fn_1_F4F0(s16 arg0, u8 arg1) { + unkStruct8Sub* volatile sp8; s32 var_r29; - unkStruct8 *temp_r31; + unkStruct8* temp_r31; s32 var_r30; if (arg0 != 0) { @@ -1269,4 +1205,4 @@ void fn_1_F4F0(s16 arg0, u8 arg1) } } } -} +} \ No newline at end of file diff --git a/src/REL/m409Dll/main.c b/src/REL/m409Dll/main.c index 70955a13..4ecd2f94 100644 --- a/src/REL/m409Dll/main.c +++ b/src/REL/m409Dll/main.c @@ -1,22 +1,23 @@ #include "REL/m409Dll.h" -#include "ext_math.h" -#include "game/audio.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "game/wipe.h" +#include "rel_sqrt_consts.h" #include "math.h" +#include "ext_math.h" +#include "game/hsfman.h" +#include "game/objsub.h" +#include "game/audio.h" +#include "game/wipe.h" +#include "game/minigame_seq.h" +#include "game/sprite.h" +#include "game/pad.h" +#include "game/hsfmotion.h" +#include "game/gamework_data.h" // bss -Process *lbl_1_bss_E8; +Process* lbl_1_bss_E8; s16 lbl_1_bss_E4; -omObjData *lbl_1_bss_E0; -omObjData *lbl_1_bss_DC; +omObjData* lbl_1_bss_E0; +omObjData* lbl_1_bss_DC; Vec lbl_1_bss_D0; unkStruct4 lbl_1_bss_40[4]; s32 lbl_1_bss_3C; @@ -39,23 +40,29 @@ s8 lbl_1_bss_0; // data Vec lbl_1_data_0 = { 800.0f, 1300.0f, 1000.0f }; Vec lbl_1_data_C = { 0.0f, 0.0f, 0.0f }; -unkStruct2 lbl_1_data_18 = { { 0xFF, 0xFF, 0xFF, 0xFF }, { 10.0f, 45.0f, 0.0f } }; +unkStruct2 lbl_1_data_18 = { + { 0xFF, 0xFF, 0xFF, 0xFF }, + { 10.0f, 45.0f, 0.0f } +}; Vec lbl_1_data_28 = { 1300.0f, 2500.0f, 1300.0f }; Vec lbl_1_data_34 = { 0.0f, 1.0f, 0.0f }; Vec lbl_1_data_40 = { 0.0f, 0.0f, -1200.0f }; -unkStruct lbl_1_data_4C[4] - = { { 469.8f, { 225.0f, 184.0f, -1358.0f }, { 10.62f, -109.0f, 0.0f } }, { 1800.0f, { 0.0f, 300.0f, -1316.0f }, { -20.38f, 0.0f, 0.0f } }, - { 2209.82f, { 0.0f, 478.0f, -1316.0f }, { 4.62f, 0.0f, 0.0f } }, { 2059.82f, { 0.0f, 528.0f, -1316.0f }, { 10.62f, 0.0f, 0.0f } } }; +unkStruct lbl_1_data_4C[4] = { + { 469.8f, { 225.0f, 184.0f, -1358.0f }, { 10.62f, -109.0f, 0.0f } }, + { 1800.0f, { 0.0f, 300.0f, -1316.0f }, { -20.38f, 0.0f, 0.0f } }, + { 2209.82f, { 0.0f, 478.0f, -1316.0f }, { 4.62f, 0.0f, 0.0f } }, + { 2059.82f, { 0.0f, 528.0f, -1316.0f }, { 10.62f, 0.0f, 0.0f } } +}; u32 lbl_1_data_BC = 0xFFFFFFFF; s32 lbl_1_data_C0 = -1; -void ObjectSetup(void) -{ + +void ObjectSetup(void) { Vec sp2C; Vec sp20; Vec sp14; Vec sp8; - LightData *temp_r31; + LightData* temp_r31; Hu3DLightAllKill(); lbl_1_bss_E4 = Hu3DGLightCreateV(&lbl_1_data_0, &lbl_1_data_C, &lbl_1_data_18.unk0); @@ -96,34 +103,31 @@ void ObjectSetup(void) fn_1_67E0(lbl_1_bss_E8); } -void fn_1_434(omObjData *object) -{ +void fn_1_434(omObjData* object) { if ((omSysExitReq != 0) || (lbl_1_bss_0 != 0)) { HuAudFXListnerKill(); fn_1_5F5C(lbl_1_bss_E0->model[0]); fn_1_5F5C(lbl_1_bss_E0->model[1]); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x3C); + WipeCreate(2, 0, 0x3C); MGSeqKillAll(); object->func = fn_1_4DC; } } -void fn_1_4DC(omObjData *object) -{ +void fn_1_4DC(omObjData* object) { if ((WipeStatGet() == 0) && (MGSeqDoneCheck() != 0)) { fn_1_6900(); omOvlReturnEx(1, 1); } } -s8 fn_1_524(void) -{ +s8 fn_1_524(void) { Vec sp8; f32 temp_f29; f32 var_f30; f32 temp_f31; s8 var_r30; - unkStruct *var_r31; + unkStruct* var_r31; var_r31 = lbl_1_data_4C; var_r30 = 0; @@ -132,7 +136,7 @@ s8 fn_1_524(void) var_r30 = 1; } var_f30 = lbl_1_bss_2 / 300.0f; - temp_f31 = sind(90.0f * var_f30) * sind(90.0f * var_f30); + temp_f31 = (sin((M_PI * (90.0f * var_f30)) / 180.0) * sin((M_PI * (90.0f * var_f30)) / 180.0)); CZoom = fn_1_4120(var_r31[0].zoom, var_r31[1].zoom, var_r31[2].zoom, temp_f31); Center.x = fn_1_4120(var_r31[0].center.x, var_r31[1].center.x, var_r31[2].center.x, temp_f31); Center.y = fn_1_4120(var_r31[0].center.y, var_r31[1].center.y, var_r31[2].center.y, temp_f31); @@ -141,7 +145,7 @@ s8 fn_1_524(void) CRot.y = fn_1_4120(var_r31[0].rot.y, var_r31[1].rot.y, var_r31[2].rot.y, temp_f31); CRot.z = fn_1_4120(var_r31[0].rot.z, var_r31[1].rot.z, var_r31[2].rot.z, temp_f31); if (var_f30 > 0.65f) { - Hu3DModelAttrSet(lbl_1_bss_DC->model[1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(lbl_1_bss_DC->model[1], 1U); } temp_f29 = var_r31[0].rot.x + (-var_r31[0].rot.x * temp_f31); Hu3DModelRotSet(lbl_1_bss_DC->model[2], 0.2f * temp_f29, 0.85f * CRot.y, 0.0f); @@ -157,19 +161,18 @@ s8 fn_1_524(void) Hu3DTexScrollPosMoveSet(lbl_1_bss_24.unkC, -0.0001f - (0.005f * temp_f31), 0.0f, 0.0f); Hu3DTexScrollPosMoveSet(lbl_1_bss_24.unkE, -0.0002f - (0.005f * temp_f31), 0.0f, 0.0f); Hu3DTexScrollPosMoveSet(lbl_1_bss_24.unk10, -0.0003f - (0.005f * temp_f31), 0.0f, 0.0f); - sp8.x = -(sind(CRot.y) * cosd(CRot.x)); - sp8.y = sind(CRot.x); + sp8.x = -(sin((M_PI * CRot.y) / 180.0) * cosd(CRot.x)); + sp8.y = sin((M_PI * CRot.x) / 180.0); sp8.z = -(cosd(CRot.y) * cosd(CRot.x)); HuAudFXListnerUpdate(&Hu3DCamera->pos, &sp8); return var_r30; } -s8 fn_1_B80(void) -{ +s8 fn_1_B80(void) { f32 temp_f30; f32 temp_f31; s8 var_r30; - unkStruct *var_r31; + unkStruct* var_r31; var_r31 = &lbl_1_data_4C[2]; var_r30 = 0; @@ -178,7 +181,7 @@ s8 fn_1_B80(void) var_r30 = 1; } temp_f30 = lbl_1_bss_4 / 60.0f; - temp_f31 = sind(90.0f * temp_f30) * sind(90.0f * temp_f30); + temp_f31 = (sin((M_PI * (90.0f * temp_f30)) / 180.0) * sin((M_PI * (90.0f * temp_f30)) / 180.0)); CZoom = var_r31[0].zoom + (temp_f31 * (var_r31[1].zoom - var_r31[0].zoom)); Center.x = var_r31[0].center.x + (temp_f31 * (var_r31[1].center.x - var_r31[0].center.x)); Center.y = var_r31[0].center.y + (temp_f31 * (var_r31[1].center.y - var_r31[0].center.y)); @@ -189,19 +192,18 @@ s8 fn_1_B80(void) return var_r30; } -void fn_1_DDC(omObjData *object) -{ - s16 *var_r29; - AnimData *var_r30; - - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, 6, MEMORY_DEFAULT_NUM); - var_r29 = (s16 *)object->data; +void fn_1_DDC(omObjData* object) { + s16* var_r29; + AnimData* var_r30; + + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, 6, 0x10000000); + var_r29 = (s16*)object->data; var_r29[0] = 1; - var_r30 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M409, 0x0D), MEMORY_DEFAULT_NUM)); + var_r30 = HuSprAnimRead(HuDataReadNum(0x28000D, 0x10000000)); object->model[0] = fn_1_5A18(var_r30, 0x800, 10.0f, 0x40, 0x40); fn_1_5FBC(object->model[0], fn_1_5408); Hu3DModelLayerSet(object->model[0], 5); - var_r30 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M409, 0x0E), MEMORY_DEFAULT_NUM)); + var_r30 = HuSprAnimRead(HuDataReadNum(0x28000E, 0x10000000)); object->model[1] = fn_1_5A18(var_r30, 0x400, 2.0f, 0, 0); fn_1_5FBC(object->model[1], fn_1_55E0); fn_1_5FF4(object->model[1], 1); @@ -210,23 +212,22 @@ void fn_1_DDC(omObjData *object) object->func = fn_1_F70; } -void fn_1_F70(omObjData *object) -{ - s16 *sp8; +void fn_1_F70(omObjData* object) { + s16* sp8; s16 temp_r3; s16 temp_r3_2; s32 var_r31; - sp8 = (s16 *)object->data; + sp8 = (s16*)object->data; switch (fn_1_2454(7)) { case 1: if (lbl_1_bss_6 == 0) { lbl_1_bss_6 = 1; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 0x3C); + WipeCreate(1, 0, 0x3C); } if (WipeStatGet() == 0) { fn_1_2414(7, 2); - + for (var_r31 = 0; var_r31 < 4; var_r31++) { omVibrate(var_r31, 0xC8, 6, 6); } @@ -258,10 +259,9 @@ void fn_1_F70(omObjData *object) } } -s8 fn_1_10E8(omObjData *object) -{ +s8 fn_1_10E8(omObjData* object) { Vec sp8; - ModelData *temp_r31; + ModelData* temp_r31; f32 var_f26; f32 var_f27; f32 temp_f29; @@ -269,21 +269,21 @@ s8 fn_1_10E8(omObjData *object) f32 temp_f30; f32 var_f31; s8 var_r29; - unkStruct3 *temp_r30; + unkStruct3* temp_r30; temp_r31 = &Hu3DData[lbl_1_bss_DC->model[4]]; - temp_r30 = (unkStruct3 *)object->data; + temp_r30 = (unkStruct3*)object->data; if (lbl_1_bss_A != 0) { var_r29 = fn_1_524(); } - switch (lbl_1_bss_8) { /* irregular */ + switch (lbl_1_bss_8) { /* irregular */ case -1: if ((HuPadBtnDown[0] & 0x100) != 0) { lbl_1_bss_8 = 0; } break; case 0: - Hu3DModelAttrReset(lbl_1_bss_DC->model[1], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(lbl_1_bss_DC->model[1], 0x40000002); if (lbl_1_bss_C == 0.0f) { fn_1_3840(); sp8.x = 1520.0f; @@ -296,24 +296,23 @@ s8 fn_1_10E8(omObjData *object) if (lbl_1_bss_C >= 1.0f) { lbl_1_bss_C = 1.0f; lbl_1_bss_8 = 0x63; - } - else if (lbl_1_bss_C > 0.2f) { + } else if (lbl_1_bss_C > 0.2f) { lbl_1_bss_A = 1; } - var_f31 = sind(90.0f * lbl_1_bss_C); + var_f31 = sin((M_PI * (90.0f * lbl_1_bss_C)) / 180.0); var_f27 = 1520.0f; var_f26 = -1030.0f; temp_f30 = var_f27 + (var_f31 * (var_f26 - var_f27)); Hu3DModelPosSet(lbl_1_bss_DC->model[4], temp_f30, 0.0f, -1200.0f); Hu3DModelPosSet(lbl_1_bss_DC->model[1], temp_f30, 0.0f, -1200.0f); - if (lbl_1_data_BC != ~0) { + if ((lbl_1_data_BC + 0x10000) != 0xFFFF) { sp8.x = temp_f30; sp8.y = 0.0f; sp8.z = -1200.0f; HuAudFXEmiterUpDate(lbl_1_data_BC, &sp8); } var_f31 = 1.2f * lbl_1_bss_C; - if ((var_f31 >= 1.0f) && lbl_1_data_BC != ~0) { + if ((var_f31 >= 1.0f) && ((lbl_1_data_BC + 0x10000) != 0xFFFF)) { HuAudFXEmiterPlay(0x555, &sp8); sp8.x += 200.0f; HuAudFXEmiterPlay(0x55E, &sp8); @@ -322,15 +321,13 @@ s8 fn_1_10E8(omObjData *object) } if (var_f31 >= 1.0f) { var_f31 = 0.0f; - } - else { - var_f31 = sind(90.0f + 90.0f * var_f31); + } else { + var_f31 = sin((M_PI * (90.0f + (90.0f * var_f31))) / 180.0); } Hu3DMotionSpeedSet(lbl_1_bss_DC->model[4], 2.0f * var_f31); if (lbl_1_bss_C > 0.5f) { var_f31 = 2.0f * (9.0f * (1.0f - lbl_1_bss_C)); - } - else { + } else { var_f31 = 9.0f; } fn_1_44F0(lbl_1_bss_E0->model[0], 0.0f, 0.0f, 0.0f, 0, var_f31); @@ -380,15 +377,14 @@ s8 fn_1_10E8(omObjData *object) return 0; } -s8 fn_1_1B74(omObjData *object) -{ +s8 fn_1_1B74(omObjData* object) { f32 temp_f30; f32 temp_f31; s16 temp_r27; s32 temp_r28; - unkStruct4 *temp_r30; + unkStruct4* temp_r30; - temp_r30 = (unkStruct4 *)object->data; + temp_r30 = (unkStruct4*)object->data; switch (lbl_1_bss_8) { case 0: temp_r30->unk2 = MGSeqCreate(3, 1); @@ -413,8 +409,7 @@ s8 fn_1_1B74(omObjData *object) GWPlayerCoinWinAdd(temp_r30->unk4, 10); temp_r30->unk2 = MGSeqCreate(5, 3, GWPlayerCfg[temp_r30->unk4].character, -1, -1, -1); HuAudSStreamPlay(1); - } - else { + } else { temp_r30->unk2 = MGSeqCreate(3, 2); HuAudSStreamPlay(4); } @@ -438,9 +433,8 @@ s8 fn_1_1B74(omObjData *object) return 0; } -void fn_1_2098(omObjData *object) -{ - ModelData *temp_r31; +void fn_1_2098(omObjData* object) { + ModelData* temp_r31; f32 var_f28; f32 var_f29; f32 var_f31; @@ -452,10 +446,10 @@ void fn_1_2098(omObjData *object) lbl_1_bss_18 += 0.008f; if (lbl_1_bss_18 >= 1.0f) { fn_1_2414(0x60, 0x40); - Hu3DModelAttrSet(lbl_1_bss_DC->model[4], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(lbl_1_bss_DC->model[4], 1U); lbl_1_bss_18 = 1.0f; } - var_f31 = sind(90.0f * lbl_1_bss_18); + var_f31 = sin((M_PI * (90.0f * lbl_1_bss_18)) / 180.0); var_f29 = -1030.0f; var_f28 = -1880.0f; var_f30 = var_f29 + (var_f31 * (var_f28 - var_f29)); @@ -469,51 +463,46 @@ void fn_1_2098(omObjData *object) } } -void fn_1_23EC(s16 arg0) -{ - unkStruct4 *var_r31; +void fn_1_23EC(s16 arg0) { + unkStruct4* var_r31; - var_r31 = (unkStruct4 *)lbl_1_bss_E0->data; + var_r31 = (unkStruct4*)lbl_1_bss_E0->data; var_r31->unk4 = arg0; } -void fn_1_2414(u16 arg0, u16 arg1) -{ - unkStruct4 *var_r31; +void fn_1_2414(u16 arg0, u16 arg1) { + unkStruct4* var_r31; - var_r31 = (unkStruct4 *)lbl_1_bss_E0->data; + var_r31 = (unkStruct4*)lbl_1_bss_E0->data; var_r31->unk0 &= ~arg0; var_r31->unk0 |= arg1; } -u16 fn_1_2454(u16 arg0) -{ - unkStruct4 *var_r31; +u16 fn_1_2454(u16 arg0) { + unkStruct4* var_r31; - var_r31 = (unkStruct4 *)lbl_1_bss_E0->data; + var_r31 = (unkStruct4*)lbl_1_bss_E0->data; return var_r31->unk0 & arg0; } -static inline void unkInline(unkStruct4 *var_r31, s16 var_r29, s16 *var_r28, s16 arg3) -{ - var_r31[var_r29].unk2 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M409, 0x02)); - var_r31[var_r29].unk4 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M409, 0x03)); - Hu3DModelAttrSet(var_r31[var_r29].unk2, HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(var_r31[var_r29].unk4, HU3D_MOTATTR_PAUSE); +static inline void unkInline(unkStruct4* var_r31, s16 var_r29, s16* var_r28, s16 arg3) { + var_r31[var_r29].unk2 = Hu3DModelCreateFile(0x280002); + var_r31[var_r29].unk4 = Hu3DModelCreateFile(0x280003); + Hu3DModelAttrSet(var_r31[var_r29].unk2, 0x40000001); + Hu3DModelAttrSet(var_r31[var_r29].unk4, 0x40000002); if (arg3) { - Hu3DModelAttrSet(var_r31[var_r29].unk2, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31[var_r29].unk4, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31[var_r29].unk2, 0x00000001); + Hu3DModelAttrSet(var_r31[var_r29].unk4, 0x00000001); } var_r31[var_r29].unk6 = Hu3DModelCreateFile(0x2001C); - var_r31[var_r29].unk8 = Hu3DJointMotionFile(var_r31[var_r29].unk6, DATA_MAKE_NUM(DATADIR_M409, 11)); - var_r31[var_r29].unkA = Hu3DJointMotionFile(var_r31[var_r29].unk6, DATA_MAKE_NUM(DATADIR_M409, 12)); - Hu3DModelAttrSet(var_r31[var_r29].unk6, HU3D_MOTATTR_LOOP); + var_r31[var_r29].unk8 = Hu3DJointMotion(var_r31[var_r29].unk6, HuDataSelHeapReadNum(0x28000B, 0x10000000, HEAP_DATA)); + var_r31[var_r29].unkA = Hu3DJointMotion(var_r31[var_r29].unk6, HuDataSelHeapReadNum(0x28000C, 0x10000000, HEAP_DATA)); + Hu3DModelAttrSet(var_r31[var_r29].unk6, 0x40000001); Hu3DMotionSet(var_r31[var_r29].unk6, var_r31[var_r29].unk8); var_r31[var_r29].unkC = var_r29 + 3; if (arg3) { *var_r28 += (((rand8() << 8) | rand8()) % 4) + 2; - } - else { + } else { *var_r28 = 2; } fn_1_3988(&var_r31[var_r29], *var_r28, var_r29); @@ -521,20 +510,19 @@ static inline void unkInline(unkStruct4 *var_r31, s16 var_r29, s16 *var_r28, s16 Hu3DModelPosSet(var_r31[var_r29].unk4, var_r31[var_r29].unk18, 0.0f, -1200.0f); } -void fn_1_2484(omObjData *object) -{ +void fn_1_2484(omObjData* object) { s16 var_r28; // ! - uninitialized s16 var_r29; - unkStruct4 *var_r31; + unkStruct4* var_r31; var_r31 = &lbl_1_bss_40[0]; object->stat |= 0x100; - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M409, 0x00)); - object->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M409, 0x08)); + object->model[0] = Hu3DModelCreateFile(0x280000); + object->model[5] = Hu3DModelCreateFile(0x280008); Hu3DModelLayerSet(object->model[0], 2); Hu3DModelLayerSet(object->model[5], 2); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M409, 0x05)); - object->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M409, 0x06)); + object->model[2] = Hu3DModelCreateFile(0x280005); + object->model[3] = Hu3DModelCreateFile(0x280006); Hu3DModelScaleSet(object->model[2], 1.1f, 1.0f, 1.0f); Hu3DModelScaleSet(object->model[3], 1.1f, 1.0f, 1.0f); Hu3DModelRotSet(object->model[2], 0.2f * lbl_1_data_4C->rot.x, 0.85f * lbl_1_data_4C->rot.y, 0.0f); @@ -545,35 +533,35 @@ void fn_1_2484(omObjData *object) Hu3DTexScrollPosMoveSet(lbl_1_bss_24.unkE, -0.0002f, 0.0f, 0.0f); lbl_1_bss_24.unk10 = Hu3DTexScrollCreate(object->model[3], "cr_kumo3"); Hu3DTexScrollPosMoveSet(lbl_1_bss_24.unk10, -0.0003f, 0.0f, 0.0f); - var_r29 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M409, 0x0A)); + var_r29 = Hu3DModelCreateFile(0x28000A); Hu3DModelLayerSet(var_r29, 0); - object->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M409, 0x07)); - Hu3DModelAttrSet(object->model[6], HU3D_ATTR_ZWRITE_OFF); + object->model[6] = Hu3DModelCreateFile(0x280007); + Hu3DModelAttrSet(object->model[6], 2); Hu3DModelScaleSet(object->model[6], 1.1f, 1.0f, 1.0f); Hu3DModelRotSet(object->model[6], 0.2f * lbl_1_data_4C->rot.x, 0.85f * lbl_1_data_4C->rot.y, 0.0f); Hu3DModelLayerSet(object->model[6], 1); lbl_1_bss_24.unk12 = Hu3DTexScrollCreate(object->model[6], "bg"); lbl_1_bss_24.unk14 = 0.0f; - object->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M409, 0x01)); - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M409, 0x04)); - Hu3DModelAttrSet(object->model[4], HU3D_MOTATTR_LOOP); + object->model[4] = Hu3DModelCreateFile(0x280001); + object->model[1] = Hu3DModelCreateFile(0x280004); + Hu3DModelAttrSet(object->model[4], 0x40000001); Hu3DModelPosSet(object->model[4], 1660.0f, 0.0f, -1200.0f); Hu3DModelPosSet(object->model[1], 1660.0f, 0.0f, -1200.0f); Hu3DModelLayerSet(object->model[1], 6); - Hu3DModelAttrSet(object->model[1], HU3D_MOTATTR_PAUSE); - + Hu3DModelAttrSet(object->model[1], 0x40000002); + unkInline(var_r31, 0, &var_r28, 0); for (var_r29 = 1; var_r29 < 4; var_r29++) { unkInline(var_r31, var_r29, &var_r28, 1); } - + lbl_1_bss_24.unk0 = 0; lbl_1_bss_24.unk1 = 0; lbl_1_bss_24.unk8 = 0; lbl_1_bss_24.unkA = 0xB4; Hu3DModelShadowMapSet(object->model[0]); Hu3DModelShadowSet(object->model[4]); - + for (var_r29 = 0; var_r29 < 4; var_r29++) { Hu3DModelShadowSet(var_r31[var_r29].unk2); Hu3DModelShadowSet(var_r31[var_r29].unk4); @@ -582,13 +570,12 @@ void fn_1_2484(omObjData *object) object->func = fn_1_2DCC; } -void fn_1_2DCC(omObjData *object) -{ +void fn_1_2DCC(omObjData* object) { u16 spE; u16 spC; u16 spA; u16 sp8; - ModelData *temp_r30; + ModelData* temp_r30; f32 temp_f29; f32 var_f31; f32 var_f30; @@ -599,7 +586,7 @@ void fn_1_2DCC(omObjData *object) s16 var_r29; s32 temp_r16; s16 var_r18; - unkStruct4 *var_r31; + unkStruct4* var_r31; if ((lbl_1_bss_24.unk0 == 0) || (fn_1_2454(0x18) == 0x18)) { if (lbl_1_bss_24.unk1 != 0) { @@ -608,41 +595,40 @@ void fn_1_2DCC(omObjData *object) case 1: if (++lbl_1_bss_24.unk8 == (lbl_1_bss_24.unkA - 5)) { Hu3DMotionSet(var_r31->unk6, var_r31->unkA); - Hu3DModelAttrReset(var_r31->unk6, HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(var_r31->unk6, 0x40000001); lbl_1_bss_3C++; break; } if (lbl_1_bss_24.unk8 > lbl_1_bss_24.unkA) { lbl_1_bss_24.unk8 = 0; lbl_1_bss_24.unkA = 0xF; - Hu3DModelAttrReset(var_r31->unk4, HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(var_r31->unk4, 0x40000002); lbl_1_bss_24.unk1 = 2; HuAudFXPlay(0x55B); HuAudFXPlay(0x55D); } - break; - case 2: - temp_f29 = Hu3DMotionMaxTimeGet(var_r31->unk4); - if (Hu3DMotionTimeGet(var_r31->unk4) >= temp_f29) { - Hu3DMotionSet(var_r31->unk6, var_r31->unk8); - Hu3DModelAttrSet(var_r31->unk6, HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(var_r31->unk4, HU3D_MOTATTR_PAUSE); - fn_1_2414(24, 8); - lbl_1_bss_24.unk1 = 0; - } - break; + break; + case 2: + temp_f29 = Hu3DMotionMaxTimeGet(var_r31->unk4); + if (Hu3DMotionTimeGet(var_r31->unk4) >= temp_f29) { + Hu3DMotionSet(var_r31->unk6, var_r31->unk8); + Hu3DModelAttrSet(var_r31->unk6, 0x40000001); + Hu3DModelAttrSet(var_r31->unk4, 0x40000002); + fn_1_2414(24, 8); + lbl_1_bss_24.unk1 = 0; + } + break; } - } - else { + } else { var_r31 = lbl_1_bss_24.unk4; switch (fn_1_2454(0x18)) { case 16: Hu3DMotionSet(var_r31->unk6, var_r31->unkA); Hu3DMotionTimeSet(var_r31->unk6, Hu3DMotionMaxTimeGet(var_r31->unk6)); Hu3DMotionSpeedSet(var_r31->unk6, -1.0f); - Hu3DModelAttrReset(var_r31->unk6, HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(var_r31->unk6, 0x40000001); Hu3DMotionSpeedSet(var_r31->unk4, -1.0f); - Hu3DModelAttrReset(var_r31->unk4, HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(var_r31->unk4, 0x40000002); fn_1_2414(24, 0x18); HuAudFXPlay(0x55C); HuAudFXPlay(0x55D); @@ -651,40 +637,37 @@ void fn_1_2DCC(omObjData *object) if (Hu3DMotionTimeGet(var_r31->unk4) <= 0.0f) { Hu3DMotionSet(var_r31->unk6, var_r31->unk8); Hu3DMotionSpeedSet(var_r31->unk6, 1.0f); - Hu3DModelAttrSet(var_r31->unk6, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r31->unk6, 0x40000001); Hu3DMotionSpeedSet(var_r31->unk4, 1.0f); - Hu3DModelAttrSet(var_r31->unk4, HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(var_r31->unk4, 0x40000002); fn_1_2414(24, 0); } break; } } - } - else { + } else { if (fn_1_2454(7) == 2) { var_f30 = 0.004f; - } - else { + } else { var_f30 = 0.008f; } var_r29 = 0; var_r23 = 0; var_r31 = lbl_1_bss_40; - - for (; var_r29 < 4; var_r29++, var_r31++) { + + for (;var_r29 < 4; var_r29++, var_r31++) { if ((s8)var_r31->unk0b == 0) { var_r23++; - } - else { + } else { if (var_r31->unkE-- <= 0) { temp_r30 = &Hu3DData[var_r31->unk2]; if ((var_r31->unkC < 2) && (lbl_1_bss_3C < 0xBU)) { - Hu3DModelAttrReset(var_r31->unk2, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r31->unk4, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r31->unk6, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r31->unk2, 1U); + Hu3DModelAttrReset(var_r31->unk4, 1U); + Hu3DModelAttrReset(var_r31->unk6, 1U); } var_r31->unk10 += var_f30; - var_f31 = sind(90.0f * var_r31->unk10); + var_f31 = sin((M_PI * (90.0f * var_r31->unk10)) / 180.0); if (var_r31->unk10 >= 1.0f) { var_f31 = 1.0f; var_r31->unk10 = var_f31; @@ -694,15 +677,14 @@ void fn_1_2DCC(omObjData *object) } var_r27 = var_r31->unkC - 1; if (var_r27 == -3) { - Hu3DModelAttrSet(var_r31->unk2, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->unk4, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->unk6, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk2, 1); + Hu3DModelAttrSet(var_r31->unk4, 1); + Hu3DModelAttrSet(var_r31->unk6, 1); var_r31->unkC = 2; var_r27 = 1; } fn_1_3988(var_r31, 0, var_r27); - } - else { + } else { temp_r30->pos.x = var_r31->unk18 + (var_f31 * (var_r31->unk1C - var_r31->unk18)); } if (var_f31 > 0.1f) { @@ -717,10 +699,8 @@ void fn_1_2DCC(omObjData *object) if (++lbl_1_bss_1C > (40.0f * var_f31)) { lbl_1_bss_1C = 0.0f; var_f31 = 1.0f - var_f31; - fn_1_4FFC(lbl_1_bss_E0->model[1], 130.0f + temp_r30->pos.x, 20.0f + temp_r30->pos.y, 95.0f + temp_r30->pos.z, - (u8)(2.0f * var_f31)); - fn_1_4FFC( - lbl_1_bss_E0->model[1], 630.0f + temp_r30->pos.x, 20.0f + temp_r30->pos.y, 95.0f + temp_r30->pos.z, (u8)var_f31); + fn_1_4FFC(lbl_1_bss_E0->model[1], 130.0f + temp_r30->pos.x, 20.0f + temp_r30->pos.y, 95.0f + temp_r30->pos.z, (u8)(2.0f * var_f31)); + fn_1_4FFC(lbl_1_bss_E0->model[1], 630.0f + temp_r30->pos.x, 20.0f + temp_r30->pos.y, 95.0f + temp_r30->pos.z, (u8)var_f31); } if (var_r31->unk10 < (0.7f + var_f30)) { HuAudFXEmiterPlay(0x55E, &temp_r30->pos); @@ -728,7 +708,7 @@ void fn_1_2DCC(omObjData *object) } Hu3DModelPosSet(var_r31->unk6, 70.0f + temp_r30->pos.x, 290.0f, -1200.0f); Hu3DData[var_r31->unk4].pos.x = temp_r30->pos.x; - var_f31 = 0.8f * sind(180.0f * var_r31->unk10); + var_f31 = (0.800000011920929 * sin((M_PI * (180.0f * var_r31->unk10)) / 180.0)); Hu3DMotionSpeedSet(var_r31->unk2, var_f31); } } @@ -736,13 +716,13 @@ void fn_1_2DCC(omObjData *object) if (var_r23 == 4) { var_r22 = 0x63; lbl_1_bss_24.unk0 = 0; - + for (var_r29 = 0, var_r31 = &lbl_1_bss_40[0]; var_r29 < 4; var_r29++, var_r31++) { if (var_r31->unkC < var_r22) { var_r22 = var_r31->unkC; var_r27 = var_r29; } - + for (var_r28 = 0, var_r31->unk20 = NULL; var_r28 < 4; var_r28++) { if ((var_r31->unkC + 1) == lbl_1_bss_40[var_r28].unkC) { var_r31->unk20 = &lbl_1_bss_40[var_r28]; @@ -754,7 +734,7 @@ void fn_1_2DCC(omObjData *object) loop: if (var_r31->unk20) { - var_r31->unk20->unkE = 2 + (((rand8() << 8) | rand8()) % 4) + var_r31->unkE; + var_r31->unk20->unkE = 2 + (((rand8() << 8) | rand8()) % 4) + var_r31->unkE ; var_r31 = var_r31->unk20; goto loop; } @@ -763,18 +743,17 @@ void fn_1_2DCC(omObjData *object) } } -void fn_1_3840(void) -{ +void fn_1_3840(void) { s16 var_r31; if ((lbl_1_bss_24.unk0 == 0) && (fn_1_2454(7) != 4)) { lbl_1_bss_24.unk0 = 1; - + for (var_r31 = 0; var_r31 < 4; var_r31++) { lbl_1_bss_40[var_r31].unk0b = 1; } if (++lbl_1_bss_20 == 2) { - + for (var_r31 = 0; var_r31 < 4; var_r31++) { lbl_1_bss_40[var_r31].unkE += 3; } @@ -784,8 +763,7 @@ void fn_1_3840(void) } } -void fn_1_3988(unkStruct4 *arg0, s16 arg1, s16 arg2) -{ +void fn_1_3988(unkStruct4* arg0, s16 arg1, s16 arg2) { arg0->unk0b = 0; arg0->unkE = arg1; arg0->unk10 = 0.0f; @@ -793,17 +771,16 @@ void fn_1_3988(unkStruct4 *arg0, s16 arg1, s16 arg2) arg0->unk1C = ((850.0f * arg2) - 370.0f); arg0->unkC = arg2; if ((arg0->unkC >= 2) && (fn_1_2454(7) != 2)) { - Hu3DModelAttrSet(arg0->unk2, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->unk4, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->unk6, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->unk2, 1U); + Hu3DModelAttrSet(arg0->unk4, 1U); + Hu3DModelAttrSet(arg0->unk6, 1U); } } -s32 fn_1_3AD8(s32 arg0, f32 arg8, f32 arg9, f32 argA, f32 argB, f32 argC, f32 argD) -{ +s32 fn_1_3AD8(s32 arg0, f32 arg8, f32 arg9, f32 argA, f32 argB, f32 argC, f32 argD) { f32 sp1C; f32 temp; - ModelData *temp_r31; + ModelData* temp_r31; f32 temp_f31; f32 temp_f30; f32 temp_f29; @@ -811,12 +788,11 @@ s32 fn_1_3AD8(s32 arg0, f32 arg8, f32 arg9, f32 argA, f32 argB, f32 argC, f32 ar f32 temp_f27; f32 temp_f26; s16 var_r29; - unkStruct4 *var_r30; - + unkStruct4* var_r30; + var_r30 = lbl_1_bss_24.unk4; - if (!var_r30) - return; - + if (!var_r30) return; + for (var_r29 = 0; var_r29 < 2; var_r29++) { temp_r31 = &Hu3DData[var_r30->unk6]; temp_f31 = temp_r31->pos.x; @@ -825,21 +801,17 @@ s32 fn_1_3AD8(s32 arg0, f32 arg8, f32 arg9, f32 argA, f32 argB, f32 argC, f32 ar temp_f28 = arg8 + argB; temp_f27 = arg9 + argC; temp_f26 = argA + argD; - temp = sqrtf((temp_f28 - temp_f31) * (temp_f28 - temp_f31) + (temp_f27 - temp_f30) * (temp_f27 - temp_f30) - + (temp_f26 - temp_f29) * (temp_f26 - temp_f29)); + temp = sqrtf((temp_f28 - temp_f31) * (temp_f28 - temp_f31) + (temp_f27 - temp_f30) * (temp_f27 - temp_f30) + (temp_f26 - temp_f29) * (temp_f26 - temp_f29)); if (temp < 50.0f) { return 1; } - sp1C = -((argA * argD) + (((arg9 * argC) + (((-temp_f31 * argB) + (arg8 * argB)) - (temp_f30 * argC))) - (temp_f29 * argD))) - / ((argD * argD) + ((argB * argB) + (argC * argC))); - if (sp1C >= 1.0f) - continue; - + sp1C = -((argA * argD) + (((arg9 * argC) + (((-temp_f31 * argB) + (arg8 * argB)) - (temp_f30 * argC))) - (temp_f29 * argD))) / ((argD * argD) + ((argB * argB) + (argC * argC))); + if (sp1C >= 1.0f) continue; + temp_f28 = arg8 + (argB * sp1C); temp_f27 = arg9 + (argC * sp1C); temp_f26 = argA + (argD * sp1C); - temp = sqrtf((temp_f28 - temp_f31) * (temp_f28 - temp_f31) + (temp_f27 - temp_f30) * (temp_f27 - temp_f30) - + (temp_f26 - temp_f29) * (temp_f26 - temp_f29)); + temp = sqrtf((temp_f28 - temp_f31) * (temp_f28 - temp_f31) + (temp_f27 - temp_f30) * (temp_f27 - temp_f30) + (temp_f26 - temp_f29) * (temp_f26 - temp_f29)); if (temp < 50.0f) { return 1; } @@ -849,8 +821,7 @@ s32 fn_1_3AD8(s32 arg0, f32 arg8, f32 arg9, f32 argA, f32 argB, f32 argC, f32 ar return 0; } -void fn_1_40A4(Mtx arg0, Mtx arg1) -{ +void fn_1_40A4(Mtx arg0, Mtx arg1) { arg1[0][0] = arg0[0][0]; arg1[1][0] = arg0[0][1]; arg1[2][0] = arg0[0][2]; @@ -865,16 +836,14 @@ void fn_1_40A4(Mtx arg0, Mtx arg1) arg1[2][3] = 0.0f; } -f32 fn_1_4120(f32 arg0, f32 arg1, f32 arg2, f32 arg3) -{ +f32 fn_1_4120(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { f32 temp_f31; temp_f31 = 1.0f - arg3; return (arg2 * (arg3 * arg3)) + ((arg0 * (temp_f31 * temp_f31)) + (arg1 * (2.0f * temp_f31 * arg3))); } -void fn_1_417C(void) -{ +void fn_1_417C(void) { if ((HuPadBtnDown[0] & 0x40) != 0) { lbl_1_bss_21 ^= 1; @@ -895,8 +864,7 @@ void fn_1_417C(void) Center.x += HuPadSubStkX[0]; if ((HuPadBtn[0] & 0x20) != 0) { Center.y += HuPadSubStkY[0]; - } - else { + } else { Center.z += HuPadSubStkY[0]; } if ((HuPadBtn[0] & 0x400) != 0) { @@ -913,27 +881,26 @@ void fn_1_417C(void) } } -void fn_1_44F0(s16 arg0, f32 arg8, f32 arg9, f32 argA, s8 arg1, s16 arg2) -{ +void fn_1_44F0(s16 arg0, f32 arg8, f32 arg9, f32 argA, s8 arg1, s16 arg2) { Vec sp20; Vec sp14; - unkStruct4 *sp10; + unkStruct4* sp10; GXColor spA; - ModelData *temp_r30; + ModelData* temp_r30; f32 temp_f31; s16 var_r29; - unkStruct5 *var_r31; + unkStruct5* var_r31; temp_r30 = &Hu3DData[lbl_1_bss_DC->model[4]]; - sp10 = (unkStruct4 *)temp_r30->unk_120; + sp10 = (unkStruct4*)temp_r30->unk_120; if (arg1 == 0) { arg8 = 150.0f + temp_r30->pos.x; arg9 = 360.0f + temp_r30->pos.y; argA = temp_r30->pos.z; } - + for (var_r29 = 0; var_r29 < arg2; var_r29++) { - switch (arg1) { /* irregular */ + switch (arg1) { /* irregular */ case 0: sp20.x = arg8 + ((((rand8() << 8) | rand8()) % 41) - 20); sp20.z = argA + ((((rand8() << 8) | rand8()) % 41) - 20); @@ -944,11 +911,10 @@ void fn_1_44F0(s16 arg0, f32 arg8, f32 arg9, f32 argA, s8 arg1, s16 arg2) spA.r = spA.g = spA.b = (((rand8() << 8) | rand8()) % 33) + 32; spA.a = 0xFF; var_r31 = fn_1_58E0(arg0, &sp20, &sp14, 0.0f, &spA); - if (!var_r31) - return; - + if (!var_r31) return; + temp_f31 = (((rand8() << 8) | rand8()) % 361); - var_r31->unk0.x = 2.0 + (3.0 * sind(temp_f31)); + var_r31->unk0.x = (2.0 + (3.0 * sin((M_PI * temp_f31) / 180.0))); var_r31->unk0.y = (0.1f * ((((rand8() << 8) | rand8()) % 31) + 40)); var_r31->unk0.z = (3.5 * cosd(temp_f31)); var_r31->unk28 = 0; @@ -970,9 +936,8 @@ void fn_1_44F0(s16 arg0, f32 arg8, f32 arg9, f32 argA, s8 arg1, s16 arg2) spA.b = 0x8C; spA.a = 0x80; var_r31 = fn_1_58E0(arg0, &sp20, &sp14, 0.0f, &spA); - if (!var_r31) - return; - + if (!var_r31) return; + var_r31->unk28 = 0; var_r31->unk2A = ((((rand8() << 8) | rand8()) % 3) + 2); var_r31->unk0.x = (0.1f * ((((rand8() << 8) | rand8()) % 11) + 30)); @@ -986,16 +951,15 @@ void fn_1_44F0(s16 arg0, f32 arg8, f32 arg9, f32 argA, s8 arg1, s16 arg2) } } -void fn_1_4FFC(s16 arg0, f32 arg1, f32 arg2, f32 arg3, s16 arg4) -{ +void fn_1_4FFC(s16 arg0, f32 arg1, f32 arg2, f32 arg3, s16 arg4) { Vec sp2C; Vec sp20; GXColor sp1A; s16 sp18; f32 temp_f31; s16 var_r30; - unkStruct5 *temp_r31; - + unkStruct5* temp_r31; + for (var_r30 = 0; var_r30 < arg4; var_r30++) { sp2C.x = arg1 + ((((rand8() << 8) | rand8()) % 21) - 10); sp2C.y = arg2; @@ -1005,14 +969,13 @@ void fn_1_4FFC(s16 arg0, f32 arg1, f32 arg2, f32 arg3, s16 arg4) sp20.z = 1.0f; sp1A.r = sp1A.g = sp1A.b = sp1A.a = 0xFF; temp_r31 = fn_1_58E0(arg0, &sp2C, &sp20, 0.0f, &sp1A); - if (!temp_r31) - break; - + if (!temp_r31) break; + temp_r31->unk4C = -1; temp_f31 = ((((rand8() << 8) | rand8()) % 81) - 40); temp_r31->unk0.x = (13.0 * cosd(temp_f31)); temp_r31->unk0.y = 0.1f * ((((rand8() << 8) | rand8()) % 21) + 20); - temp_r31->unk0.z = (9.0 * sind(temp_f31)); + temp_r31->unk0.z = (9.0 * sin((M_PI * temp_f31) / 180.0)); temp_r31->unkC.x = (0.05f * temp_r31->unk0.x); temp_r31->unkC.z = (0.05f * temp_r31->unk0.z); temp_r31->unk18 = 500.0f; @@ -1020,17 +983,16 @@ void fn_1_4FFC(s16 arg0, f32 arg1, f32 arg2, f32 arg3, s16 arg4) } } -void fn_1_5408(ModelData *arg0, struct _unkStruct6 *arg1, Mtx arg2) -{ +void fn_1_5408(ModelData* arg0, struct _unkStruct6* arg1, Mtx arg2) { s16 var_r29; - GXColor *var_r30; - unkStruct5 *var_r31; + GXColor* var_r30; + unkStruct5* var_r31; var_r29 = 0; var_r31 = arg1->unk18; var_r30 = arg1->unk24; - - for (; var_r29 < arg1->unk0; var_r29++, var_r31++, var_r30++) { + + for (;var_r29 < arg1->unk0; var_r29++, var_r31++, var_r30++) { if (var_r31->unk4E != 0) { switch (var_r31->unk2C) { case 0: @@ -1066,20 +1028,19 @@ void fn_1_5408(ModelData *arg0, struct _unkStruct6 *arg1, Mtx arg2) } } -void fn_1_55E0(ModelData *arg0, struct _unkStruct6 *arg1, Mtx arg2) -{ - GXColor *var_r30; +void fn_1_55E0(ModelData* arg0, struct _unkStruct6* arg1, Mtx arg2) { + GXColor* var_r30; f32 var_f31; f32 var_f30; s16 var_r29; s32 var_r28; - unkStruct5 *var_r31; + unkStruct5* var_r31; var_r29 = 0; var_r31 = arg1->unk18; var_r30 = arg1->unk24; - - for (; var_r29 < arg1->unk0; var_r29++, var_r31++, var_r30++) { + + for (;var_r29 < arg1->unk0; var_r29++, var_r31++, var_r30++) { if (var_r31->unk4E != 0) { var_r31->unk0.x -= var_r31->unkC.x; var_r31->unk0.y -= 0.2f; @@ -1089,14 +1050,12 @@ void fn_1_55E0(ModelData *arg0, struct _unkStruct6 *arg1, Mtx arg2) } if (var_r31->unkC.z < 0.0f) { var_f31 = -var_r31->unkC.z; - } - else { + } else { var_f31 = var_r31->unkC.z; } if (var_r31->unk0.z < 0.0f) { var_f30 = -var_r31->unk0.z; - } - else { + } else { var_f30 = var_r31->unk0.z; } if (var_f30 < var_f31) { @@ -1111,8 +1070,7 @@ void fn_1_55E0(ModelData *arg0, struct _unkStruct6 *arg1, Mtx arg2) } if (var_r31->unk18 > 255.0f) { var_r28 = 0xFF; - } - else { + } else { var_r28 = (u8)var_r31->unk18; } var_r30->a = var_r28; @@ -1123,13 +1081,12 @@ void fn_1_55E0(ModelData *arg0, struct _unkStruct6 *arg1, Mtx arg2) } } -void fn_1_57DC(ModelData *arg0, struct _unkStruct6 *arg1, Mtx arg2) -{ +void fn_1_57DC(ModelData* arg0, struct _unkStruct6* arg1, Mtx arg2) { Vec sp18; Vec spC; GXColor sp8; - ModelData *temp_r30; - unkStruct5 *temp_r31; + ModelData* temp_r30; + unkStruct5* temp_r31; temp_r30 = &Hu3DData[lbl_1_bss_DC->model[4]]; temp_r31 = arg1->unk18; @@ -1143,19 +1100,18 @@ void fn_1_57DC(ModelData *arg0, struct _unkStruct6 *arg1, Mtx arg2) temp_r31->unk40.z = temp_r30->pos.z; } -unkStruct5 *fn_1_58E0(s16 arg0, Vec *arg1, Vec *arg2, f32 arg3, GXColor *arg4) -{ +unkStruct5* fn_1_58E0(s16 arg0, Vec* arg1, Vec* arg2, f32 arg3, GXColor* arg4) { s16 var_r29; - unkStruct5 *var_r31; - unkStruct6 *temp_r30; - ModelData *var_r28; + unkStruct5* var_r31; + unkStruct6* temp_r30; + ModelData* var_r28; var_r28 = &Hu3DData[arg0]; - temp_r30 = (unkStruct6 *)var_r28->unk_120; - + temp_r30 = (unkStruct6*)var_r28->unk_120; + var_r29 = 0; var_r31 = temp_r30->unk18; - for (; var_r29 < temp_r30->unk0; var_r29++, var_r31++) { + for (;var_r29 < temp_r30->unk0; var_r29++, var_r31++) { if (var_r31->unk4E == 0) { break; } @@ -1176,22 +1132,21 @@ unkStruct5 *fn_1_58E0(s16 arg0, Vec *arg1, Vec *arg2, f32 arg3, GXColor *arg4) return var_r31; } -s16 fn_1_5A18(AnimData *arg0, s16 arg1, f32 arg8, s16 arg2, s16 arg3) -{ - ModelData *temp_r28; +s16 fn_1_5A18(AnimData* arg0, s16 arg1, f32 arg8, s16 arg2, s16 arg3) { + ModelData* temp_r28; f32 temp_f0; s16 var_r21; s16 var_r22; s16 var_r30; s16 var_r20; - unkStruct6 *var_r31; - void *var_r19; - void *var_r18; - unkStruct5 *var_r24; - Vec *var_r25; - GXColor *var_r27; - HsfVector2f *var_r29; - + unkStruct6* var_r31; + void* var_r19; + void* var_r18; + unkStruct5* var_r24; + Vec* var_r25; + GXColor* var_r27; + HsfVector2f* var_r29; + var_r21 = Hu3DHookFuncCreate(fn_1_602C); temp_r28 = &Hu3DData[var_r21]; var_r31 = HuMemDirectMallocNum(HEAP_DATA, sizeof(unkStruct6), temp_r28->unk_48); @@ -1203,26 +1158,26 @@ s16 fn_1_5A18(AnimData *arg0, s16 arg1, f32 arg8, s16 arg2, s16 arg3) var_r31->unkC = NULL; var_r24 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(unkStruct5), temp_r28->unk_48); var_r31->unk18 = var_r24; - + for (var_r30 = 0; var_r30 < arg1; var_r30++, var_r24++) { var_r24->unk4C = -1; var_r24->unk4E = 0; } var_r25 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(Vec) * 4, temp_r28->unk_48); var_r31->unk1C = var_r25; - + for (var_r30 = 0; var_r30 < (arg1 * 4); var_r30++, var_r25++) { var_r25->x = var_r25->y = var_r25->z = 0.0f; } var_r27 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(GXColor), temp_r28->unk_48); var_r31->unk24 = var_r27; - + for (var_r30 = 0; var_r30 < arg1; var_r30++, var_r27++) { var_r27->r = var_r27->g = var_r27->b = var_r27->a = 0xFF; } var_r29 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(HsfVector2f) * 4, temp_r28->unk_48); var_r31->unk20 = var_r29; - + for (var_r30 = 0; var_r30 < arg1; var_r30++) { var_r29->x = 0.0f; var_r29->y = 0.0f; @@ -1243,8 +1198,7 @@ s16 fn_1_5A18(AnimData *arg0, s16 arg1, f32 arg8, s16 arg2, s16 arg3) var_r31->unk14 = (var_r22 * var_r20); var_r31->unk60 = (1.0f / var_r22); var_r31->unk64 = (1.0f / var_r20); - } - else { + } else { var_r22 = 1; var_r31->unk14 = 1; var_r31->unk60 = 1.0f; @@ -1259,7 +1213,7 @@ s16 fn_1_5A18(AnimData *arg0, s16 arg1, f32 arg8, s16 arg2, s16 arg3) DCFlushRange(var_r19, 0x20000); GXBeginDisplayList(var_r19, 0x20000); GXBegin(GX_QUADS, GX_VTXFMT0, (arg1 * 4)); - + for (var_r30 = 0; var_r30 < arg1; var_r30++) { GXPosition1x16(var_r30 * 4); GXColor1x16(var_r30); @@ -1282,39 +1236,35 @@ s16 fn_1_5A18(AnimData *arg0, s16 arg1, f32 arg8, s16 arg2, s16 arg3) return var_r21; } -void fn_1_5F5C(s16 arg0) -{ - ModelData *var_r31; - unkStruct6 *var_r30; +void fn_1_5F5C(s16 arg0) { + ModelData* var_r31; + unkStruct6* var_r30; var_r31 = &Hu3DData[arg0]; - var_r30 = (unkStruct6 *)var_r31->unk_120; + var_r30 = (unkStruct6*)var_r31->unk_120; HuSprAnimKill(var_r30->unk10); Hu3DModelKill(arg0); } -void fn_1_5FBC(s16 arg0, m409Func6 arg1) -{ - ModelData *var_r31; - unkStruct6 *var_r30; +void fn_1_5FBC(s16 arg0, m409Func6 arg1) { + ModelData* var_r31; + unkStruct6* var_r30; var_r31 = &Hu3DData[arg0]; - var_r30 = (unkStruct6 *)var_r31->unk_120; + var_r30 = (unkStruct6*)var_r31->unk_120; var_r30->unkC = arg1; } -void fn_1_5FF4(s16 arg0, u8 arg1) -{ - ModelData *var_r31; - unkStruct6 *var_r30; +void fn_1_5FF4(s16 arg0, u8 arg1) { + ModelData* var_r31; + unkStruct6* var_r30; var_r31 = &Hu3DData[arg0]; - var_r30 = (unkStruct6 *)var_r31->unk_120; + var_r30 = (unkStruct6*)var_r31->unk_120; var_r30->unk8 = arg1; } -void fn_1_602C(ModelData *arg0, f32 (*arg1)[4]) -{ +void fn_1_602C(ModelData* arg0, f32 (*arg1)[4]) { Mtx sp128; ROMtx spF8; Mtx spC8; @@ -1328,15 +1278,15 @@ void fn_1_602C(ModelData *arg0, f32 (*arg1)[4]) Vec sp20; Vec sp14; Vec sp8; - Vec *var_r31; + Vec* var_r31; s16 var_r24; - HsfVector2f *var_r26; + HsfVector2f* var_r26; s16 var_r25; - unkStruct6 *temp_r30; - unkStruct5 *var_r29; + unkStruct6* temp_r30; + unkStruct5* var_r29; m409Func6 var_r23; - temp_r30 = (unkStruct6 *)arg0->unk_120; + temp_r30 = (unkStruct6*)arg0->unk_120; GXLoadPosMtxImm(arg1, 0); GXSetNumTevStages(1); GXSetNumTexGens(1); @@ -1345,8 +1295,7 @@ void fn_1_602C(ModelData *arg0, f32 (*arg1)[4]) var_r24 = temp_r30->unk10->bmp->dataFmt & 0xF; if ((var_r24 == 7) || (var_r24 == 8)) { GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ONE, GX_CC_RASC, GX_CC_ZERO); - } - else { + } else { GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); } GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); @@ -1356,33 +1305,32 @@ void fn_1_602C(ModelData *arg0, f32 (*arg1)[4]) GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); if ((arg0->attr & 2) != 0) { GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - } - else { + } else { GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); } HuSprTexLoad(temp_r30->unk10, 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); GXSetZCompLoc(0); switch (temp_r30->unk8) { - case 0: - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - break; - case 1: - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); - break; - case 2: - GXSetBlendMode(GX_BM_BLEND, GX_BL_ZERO, GX_BL_INVDSTCLR, GX_LO_NOOP); - break; + case 0: + GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); + break; + case 1: + GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); + break; + case 2: + GXSetBlendMode(GX_BM_BLEND, GX_BL_ZERO, GX_BL_INVDSTCLR, GX_LO_NOOP); + break; } GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, temp_r30->unk1C, 12); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0); + GXSetArray(GX_VA_POS, temp_r30->unk1C, 0xC); GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0); GXSetArray(GX_VA_CLR0, temp_r30->unk24, 4); GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0); GXSetArray(GX_VA_TEX0, temp_r30->unk20, 8); fn_1_40A4(arg1, sp128); PSMTXReorder(sp128, spF8); @@ -1394,8 +1342,8 @@ void fn_1_602C(ModelData *arg0, f32 (*arg1)[4]) var_r31 = temp_r30->unk1C; var_r26 = temp_r30->unk20; PSMTXROMultVecArray(spF8, &temp_r30->unk2C, &sp68[0], 4); - - for (var_r25 = 0; var_r25 < temp_r30->unk0; var_r25++, var_r29++, var_r26 += 4) { + + for (var_r25 = 0; var_r25 < temp_r30->unk0; var_r25++, var_r29++, var_r26+=4) { if (var_r29->unk4E == 0) { var_r31->x = var_r31->y = var_r31->z = 0.0f; var_r31++; @@ -1405,24 +1353,22 @@ void fn_1_602C(ModelData *arg0, f32 (*arg1)[4]) var_r31++; var_r31->x = var_r31->y = var_r31->z = 0.0f; var_r31++; - } - else { + } else { if (var_r29->unk30 == 0.0f) { fn_1_6778(&sp68[0], &sp38, &var_r29->unk34, 4); - VECAdd(&sp38, &var_r29->unk40, var_r31++); - VECAdd(&sp44, &var_r29->unk40, var_r31++); - VECAdd(&sp50, &var_r29->unk40, var_r31++); - VECAdd(&sp5C, &var_r29->unk40, var_r31++); - } - else { + PSVECAdd(&sp38, &var_r29->unk40, var_r31++); + PSVECAdd(&sp44, &var_r29->unk40, var_r31++); + PSVECAdd(&sp50, &var_r29->unk40, var_r31++); + PSVECAdd(&sp5C, &var_r29->unk40, var_r31++); + } else { fn_1_6778(&temp_r30->unk2C, &sp38, &var_r29->unk34, 4); - MTXRotRad(spC8, 0x5A, 0.017453292f * var_r29->unk30); - MTXConcat(sp128, spC8, sp98); - MTXMultVecArray(sp98, &sp38, &sp8, 4); - VECAdd(&sp8, &var_r29->unk40, var_r31++); - VECAdd(&sp14, &var_r29->unk40, var_r31++); - VECAdd(&sp20, &var_r29->unk40, var_r31++); - VECAdd(&sp2C, &var_r29->unk40, var_r31++); + PSMTXRotRad(spC8, 0x5A, 0.017453292f * var_r29->unk30); + PSMTXConcat(sp128, spC8, sp98); + PSMTXMultVecArray(sp98, &sp38, &sp8, 4); + PSVECAdd(&sp8, &var_r29->unk40, var_r31++); + PSVECAdd(&sp14, &var_r29->unk40, var_r31++); + PSVECAdd(&sp20, &var_r29->unk40, var_r31++); + PSVECAdd(&sp2C, &var_r29->unk40, var_r31++); } if (var_r29->unk4C != -1) { fn_1_66D4(var_r26, temp_r30->unk5C, var_r29->unk4C, temp_r30->unk60, temp_r30->unk64); @@ -1435,12 +1381,11 @@ void fn_1_602C(ModelData *arg0, f32 (*arg1)[4]) GXCallDisplayList(temp_r30->unk28, temp_r30->unk4); } -void fn_1_6608(HsfVector2f *arg0, s16 arg1, s16 arg2, f32 arg3, f32 arg4) -{ +void fn_1_6608(HsfVector2f* arg0, s16 arg1, s16 arg2, f32 arg3, f32 arg4) { s16 var_r31; s16 var_r30; s16 var_r29; - + for (var_r31 = 0; var_r31 < arg1; var_r31++, arg0++) { var_r30 = (var_r31 % arg2); var_r29 = (var_r31 / arg2); @@ -1449,8 +1394,7 @@ void fn_1_6608(HsfVector2f *arg0, s16 arg1, s16 arg2, f32 arg3, f32 arg4) } } -void fn_1_66D4(HsfVector2f *arg0, HsfVector2f *arg1, s16 arg2, f32 arg3, f32 arg4) -{ +void fn_1_66D4(HsfVector2f* arg0, HsfVector2f* arg1, s16 arg2, f32 arg3, f32 arg4) { arg0[0].x = arg1[arg2].x; arg0[0].y = arg1[arg2].y; arg0[1].x = (arg3 + arg1[arg2].x); @@ -1461,13 +1405,12 @@ void fn_1_66D4(HsfVector2f *arg0, HsfVector2f *arg1, s16 arg2, f32 arg3, f32 arg arg0[3].y = (arg4 + arg1[arg2].y); } -void fn_1_6778(Vec *arg0, Vec *arg1, Vec *arg2, s16 arg3) -{ +void fn_1_6778(Vec* arg0, Vec* arg1, Vec* arg2, s16 arg3) { s16 var_r31; - + for (var_r31 = 0; var_r31 < arg3; var_r31++, arg0++, arg1++) { arg1->x = arg0->x * arg2->x; arg1->y = arg0->y * arg2->y; arg1->z = arg0->z * arg2->z; } -} +} \ No newline at end of file diff --git a/src/REL/m409Dll/player.c b/src/REL/m409Dll/player.c index 9157deeb..9e0a7b69 100644 --- a/src/REL/m409Dll/player.c +++ b/src/REL/m409Dll/player.c @@ -1,21 +1,17 @@ #include "REL/m409Dll.h" +#include "math.h" +#include "ext_math.h" #include "ext_math.h" #include "game/audio.h" #include "game/chrman.h" #include "game/gamework_data.h" -#include "game/hsfmotion.h" #include "game/pad.h" -#include "game/sprite.h" -#include "ext_math.h" - -#ifndef __MWERKS__ -#include "game/esprite.h" -#endif +#include "game/hsfmotion.h" // bss -omObjData *lbl_1_bss_3A0[4]; -omObjData *lbl_1_bss_39C; +omObjData* lbl_1_bss_3A0[4]; +omObjData* lbl_1_bss_39C; s32 lbl_1_bss_38C[4]; unkStruct10 lbl_1_bss_10C[8]; s16 lbl_1_bss_108; @@ -25,57 +21,81 @@ unkStruct9 lbl_1_bss_F0; // data u32 lbl_1_data_138 = 0xFFFF0000; -s32 lbl_1_data_13C[7] = { 0x30, 0x2D, 0x3A, 0x2E, DATA_MAKE_NUM(DATADIR_M409, 0x32), 0x17, 0x18 }; -GXColor lbl_1_data_158[8] = { { 0xFF, 0x00, 0x00, 0xFF }, { 0x00, 0x00, 0xFF, 0xFF }, { 0xFF, 0x80, 0x80, 0xFF }, { 0x00, 0xFF, 0x00, 0xFF }, - { 0x80, 0x00, 0xC0, 0xFF }, { 0x90, 0x30, 0x00, 0xFF }, { 0xFF, 0xFF, 0x00, 0xFF }, { 0x00, 0x00, 0x00, 0xFF } }; -HsfVector2f lbl_1_data_178[4] = { - { 72.0f, 80.0f }, - { 504.0f, 80.0f }, - { 72.0f, 400.0f }, - { 504.0f, 400.0f }, +s32 lbl_1_data_13C[7] = { 0x30, 0x2D, 0x3A, 0x2E, 0x280032, 0x17, 0x18 }; +GXColor lbl_1_data_158[8] = { + { 0xFF, 0x00, 0x00, 0xFF }, + { 0x00, 0x00, 0xFF, 0xFF }, + { 0xFF, 0x80, 0x80, 0xFF }, + { 0x00, 0xFF, 0x00, 0xFF }, + { 0x80, 0x00, 0xC0, 0xFF }, + { 0x90, 0x30, 0x00, 0xFF }, + { 0xFF, 0xFF, 0x00, 0xFF }, + { 0x00, 0x00, 0x00, 0xFF } +}; +HsfVector2f lbl_1_data_178[4] = { + { 72.0f, 80.0f }, { 504.0f, 80.0f }, + { 72.0f, 400.0f }, { 504.0f, 400.0f }, +}; +GXColor lbl_1_data_198[8] = { + { 0xD0, 0x00, 0x00, 0xFF }, + { 0x00, 0x00, 0xFF, 0xFF }, + { 0x00, 0xA0, 0x00, 0xFF }, + { 0xFF, 0xFF, 0x00, 0xFF }, + { 0xA0, 0x00, 0xFF, 0xFF }, + { 0xFF, 0x80, 0x40, 0xFF }, + { 0xFF, 0xA0, 0xF0, 0xFF }, + { 0x00, 0xFF, 0x40, 0xFF } }; -GXColor lbl_1_data_198[8] = { { 0xD0, 0x00, 0x00, 0xFF }, { 0x00, 0x00, 0xFF, 0xFF }, { 0x00, 0xA0, 0x00, 0xFF }, { 0xFF, 0xFF, 0x00, 0xFF }, - { 0xA0, 0x00, 0xFF, 0xFF }, { 0xFF, 0x80, 0x40, 0xFF }, { 0xFF, 0xA0, 0xF0, 0xFF }, { 0x00, 0xFF, 0x40, 0xFF } }; -void fn_1_67E0(Process *arg0) -{ +void fn_1_67E0(Process* arg0) { s32 var_r31; s32 temp_r28; - omObjData *var_r30; + omObjData* var_r30; omMakeGroupEx(arg0, 0, 4); omGetGroupMemberListEx(arg0, 0); - + for (var_r31 = 0; var_r31 < 4; var_r31++) { lbl_1_bss_3A0[var_r31] = var_r30 = omAddObjEx(arg0, 0x30, 3, 7, 0, fn_1_6928); var_r30->work[0] = var_r31; } lbl_1_bss_39C = var_r30 = omAddObjEx(arg0, 0x40, 8, 0xA, 4, fn_1_91C0); fn_1_BF88(0x40, 0x40); - fn_1_DF20(DATA_MAKE_NUM(DATADIR_M409, 0x2C), 0x40, 0x40); + fn_1_DF20(0x28002C, 0x40, 0x40); temp_r28 = (u8)frand(); - + for (var_r31 = 0; var_r31 < (temp_r28 + 1); var_r31++) { fn_1_ABB4(); } } -void fn_1_6900(void) -{ +void fn_1_6900(void) { CharModelKill(-1); fn_1_C0C0(); } -void fn_1_6928(omObjData *arg0) -{ - Vec sp8[4] = { { -185.0f, 35.0f, 100.0f }, { -62.5f, 35.0f, 100.0f }, { 62.5f, 35.0f, 100.0f }, { 185.0f, 35.0f, 100.0f } }; - s8 sp38[8][32] = { "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r", - "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r" }; - unkStruct7 *var_r31; +void fn_1_6928(omObjData* arg0) { + Vec sp8[4] = { + { -185.0f, 35.0f, 100.0f }, + { -62.5f, 35.0f, 100.0f }, + { 62.5f, 35.0f, 100.0f }, + { 185.0f, 35.0f, 100.0f } + }; + s8 sp38[8][32] = { + "test11_tex_we-itemhook-r", + "test11_tex_we-itemhook-r", + "test11_tex_we-itemhook-r", + "test11_tex_we-itemhook-r", + "test11_tex_we-itemhook-r", + "test11_tex_we-itemhook-r", + "test11_tex_we-itemhook-r", + "test11_tex_we-itemhook-r" + }; + unkStruct7* var_r31; s32 var_r30; s32 var_r28; - - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkStruct7), MEMORY_DEFAULT_NUM); + + var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkStruct7), 0x10000000); arg0->data = var_r31; var_r31->unk0 = arg0->work[0]; var_r31->unk1 = GWPlayerCfg[var_r31->unk0].character; @@ -98,13 +118,12 @@ void fn_1_6928(omObjData *arg0) var_r31->unk3C.x = var_r31->unk3C.z = 0.0f; var_r30 = CharModelCreate(var_r31->unk1, 4); arg0->model[0] = var_r30; - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - + Hu3DModelAttrSet(var_r30, 0x40000001); + for (var_r28 = 0; var_r28 < 7; var_r28++) { if ((lbl_1_data_13C[var_r28] & 0xFFFF0000) != 0) { arg0->motion[var_r28] = CharModelMotionCreate(var_r31->unk1, var_r31->unk1 + lbl_1_data_13C[var_r28]); - } - else { + } else { arg0->motion[var_r28] = CharModelMotionCreate(var_r31->unk1, lbl_1_data_13C[var_r28]); } } @@ -114,14 +133,13 @@ void fn_1_6928(omObjData *arg0) Hu3DModelPosSet(var_r30, var_r31->unk24.x, var_r31->unk24.y, var_r31->unk24.z); Hu3DModelRotSet(var_r30, 0.0f, 30.0f, 0.0f); CharModelStepTypeSet(var_r31->unk1, 0); - arg0->model[1] = var_r30 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M409, 0x12)); - Hu3DModelHookSet(arg0->model[0], (char *)sp38[var_r31->unk1], arg0->model[1]); + arg0->model[1] = var_r30 = Hu3DModelCreate(HuDataSelHeapReadNum(0x280012, 0x10000000, HEAP_DATA)); + Hu3DModelHookSet(arg0->model[0], (char*)sp38[var_r31->unk1], arg0->model[1]); var_r30 = fn_1_DA48(2, 1); var_r31->unk57 = var_r30; lbl_1_bss_F0.unk10[var_r30].unk30 = fn_1_8838; - fn_1_E2A8(var_r30, 0, DATA_MAKE_NUM(DATADIR_M409, 0x2B), 0x40, 0x40); - fn_1_F098( - var_r30, lbl_1_data_158[var_r31->unk1].r, lbl_1_data_158[var_r31->unk1].g, lbl_1_data_158[var_r31->unk1].b, lbl_1_data_158[var_r31->unk1].a); + fn_1_E2A8(var_r30, 0, 0x28002B, 0x40, 0x40); + fn_1_F098(var_r30, lbl_1_data_158[var_r31->unk1].r, lbl_1_data_158[var_r31->unk1].g, lbl_1_data_158[var_r31->unk1].b, lbl_1_data_158[var_r31->unk1].a); fn_1_F024(var_r30, 1, lbl_1_data_158[var_r31->unk1].r, lbl_1_data_158[var_r31->unk1].g, lbl_1_data_158[var_r31->unk1].b, 0x98); fn_1_E85C(var_r30, 0, var_r31->unk24.x, 100.0f + var_r31->unk24.y, -1200.0f); fn_1_ED44(var_r30, 0, 0x10); @@ -131,7 +149,7 @@ void fn_1_6928(omObjData *arg0) fn_1_F408(var_r30, 1, 1); var_r30 = fn_1_DA48(1, 1); fn_1_DEF4(var_r30, 0, 0); - fn_1_E7C8(lbl_1_bss_F0.unk6, 0, DATA_MAKE_NUM(DATADIR_M409, 0x2D)); + fn_1_E7C8(lbl_1_bss_F0.unk6, 0, 0x28002D); var_r31->unk58 = var_r30; lbl_1_bss_F0.unk10[var_r30].unk30 = &fn_1_8D6C; fn_1_ED44(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, 4); @@ -140,36 +158,35 @@ void fn_1_6928(omObjData *arg0) fn_1_EC1C(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, 0.5f, 0.5f, 1.0f); var_r31->unk59 = 0; var_r31->unk60 = 0; - var_r30 = espEntry(DATA_MAKE_NUM(DATADIR_M409, 0x31), 1, 0); + var_r30 = espEntry(0x280031, 1, 0); var_r31->unk55 = var_r30; espColorSet(var_r30, 0, 0, 0); espTPLvlSet(var_r30, 0.5); espPosSet(var_r30, lbl_1_data_178[var_r31->unk0].x, lbl_1_data_178[var_r31->unk0].y); - espAttrSet(var_r30, HUSPR_ATTR_DISPOFF); - var_r30 = espEntry(DATA_MAKE_NUM(DATADIR_M409, 0x30), 1, 0); + espAttrSet(var_r30, 4); + var_r30 = espEntry(0x280030, 1, 0); var_r31->unk54 = var_r30; espPosSet(var_r30, lbl_1_data_178[var_r31->unk0].x, lbl_1_data_178[var_r31->unk0].y); - espAttrSet(var_r30, HUSPR_ATTR_DISPOFF); - var_r30 = espEntry(var_r31->unk1 + DATA_MAKE_NUM(DATADIR_MGCONST, 0x00), 1, 0); + espAttrSet(var_r30, 4); + var_r30 = espEntry(var_r31->unk1 + 0x610000, 1, 0); var_r31->unk56 = var_r30; espPosSet(var_r30, lbl_1_data_178[var_r31->unk0].x - 27.0f, lbl_1_data_178[var_r31->unk0].y - 20.0f); - espAttrSet(var_r30, HUSPR_ATTR_DISPOFF); - + espAttrSet(var_r30, 4); + for (var_r28 = 0; var_r28 < 3; var_r28++) { - var_r30 = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x0A), 0, 0); + var_r30 = espEntry(0x61000A, 0, 0); var_r31->unk5A[var_r28][0] = var_r30; - espAttrSet(var_r30, HUSPR_ATTR_DISPOFF); + espAttrSet(var_r30, 4); espPosSet(var_r30, lbl_1_data_178[var_r31->unk0].x - 32.0f + (var_r28 * 0x1E), 16.0f + lbl_1_data_178[var_r31->unk0].y); - var_r30 = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x0B), 0, 0); + var_r30 = espEntry(0x61000B, 0, 0); var_r31->unk5A[var_r28][1] = var_r30; - espAttrSet(var_r30, HUSPR_ATTR_DISPOFF); + espAttrSet(var_r30, 4); espPosSet(var_r30, lbl_1_data_178[var_r31->unk0].x - 32.0f + (var_r28 * 0x1E), 16.0f + lbl_1_data_178[var_r31->unk0].y); } arg0->func = fn_1_7344; } -void fn_1_7344(omObjData *arg0) -{ +void fn_1_7344(omObjData* arg0) { s16 sp8; f32 temp_f28; f32 temp_f29; @@ -189,18 +206,17 @@ void fn_1_7344(omObjData *arg0) s16 var_r28; s32 var_r24; s32 temp_r23; - unkStruct8Sub *temp_r30; - unkStruct7 *temp_r31; + unkStruct8Sub* temp_r30; + unkStruct7* temp_r31; var_f31 = 0.0f; - temp_r31 = (unkStruct7 *)arg0->data; + temp_r31 = (unkStruct7*)arg0->data; temp_r19 = arg0->model[0]; temp_r31->unk48 = temp_r31->unk24; var_r28 = temp_r31->unk1C; if (temp_r31->unk5 != 0) { fn_1_7FE8(arg0); - } - else { + } else { temp_r31->unkA = HuPadStkX[temp_r31->unk4]; temp_r31->unkC = HuPadStkY[temp_r31->unk4]; temp_r31->unkE = HuPadBtnDown[temp_r31->unk4]; @@ -215,15 +231,14 @@ void fn_1_7344(omObjData *arg0) temp_r30 = fn_1_CCCC(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8); if (fn_1_2454(7) != 3) { fn_1_ED00(temp_r31->unk57, 4); - } - else { - espAttrReset(temp_r31->unk54, HUSPR_ATTR_DISPOFF); - espAttrReset(temp_r31->unk55, HUSPR_ATTR_DISPOFF); - + } else { + espAttrReset(temp_r31->unk54, 4); + espAttrReset(temp_r31->unk55, 4); + for (var_r24 = 0; var_r24 < 3; var_r24++) { - espAttrReset(temp_r31->unk5A[var_r24][0], HUSPR_ATTR_DISPOFF); + espAttrReset(temp_r31->unk5A[var_r24][0], 4); } - espAttrReset(temp_r31->unk56, HUSPR_ATTR_DISPOFF); + espAttrReset(temp_r31->unk56, 4); fn_1_EE24(temp_r31->unk57, 4); temp_f28 = (ABS(temp_r26) + ABS(temp_r25)); temp_f30 = 0.008f * (temp_f28 * temp_r26); @@ -258,8 +273,8 @@ void fn_1_7344(omObjData *arg0) lbl_1_bss_104 = temp_r31->unk0 + 1; } if (temp_r31->unk60 == 0) { - temp_f29 = atan2d(temp_r30->unk0.x - temp_r31->unk24.x, temp_r30->unk0.z - temp_r31->unk24.z); - temp_f30 = atan2d(temp_r31->unk24.y - temp_r30->unk0.y, temp_r31->unk24.z - temp_r30->unk0.z); + temp_f29 = (180.0 * (atan2((temp_r30->unk0.x - temp_r31->unk24.x), (temp_r30->unk0.z - temp_r31->unk24.z)) / M_PI)); + temp_f30 = (180.0 * (atan2((temp_r31->unk24.y - temp_r30->unk0.y), (temp_r31->unk24.z - temp_r30->unk0.z)) / M_PI)); temp_f30 *= (1.0f - (0.015f * ABS(temp_f30))); temp_r31->unk3C.x = fn_1_AD40(temp_r31->unk3C.x, temp_f30, 0.5f); temp_r31->unk3C.y = fn_1_AD40(temp_r31->unk3C.y, temp_f29, 0.5f); @@ -268,10 +283,10 @@ void fn_1_7344(omObjData *arg0) case 6: fn_1_ED44(temp_r31->unk57, 0, 4); Hu3DModelHookReset(temp_r19); - Hu3DModelAttrSet(arg0->model[1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->model[1], 1); temp_r23 = fn_1_DA48(1, 1); fn_1_DEF4(temp_r23, 0, 0); - fn_1_E7C8(lbl_1_bss_F0.unk6, 0, DATA_MAKE_NUM(DATADIR_M409, 0x2C)); + fn_1_E7C8(lbl_1_bss_F0.unk6, 0, 0x28002C); fn_1_E85C(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, 20.0f + temp_r31->unk24.x, 100.0f + temp_r31->unk24.y, temp_r31->unk24.z - 25.0f); fn_1_EC1C(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, 2.0f, 2.0f, 1.0f); fn_1_ED44(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, 0x80000000); @@ -284,8 +299,7 @@ void fn_1_7344(omObjData *arg0) if (fn_1_2454(0x80) == 0x80) { if (temp_r31->unk59 >= 3) { var_r28 = 5; - } - else { + } else { var_r28 = 6; } var_r27 = 0; @@ -320,8 +334,7 @@ void fn_1_7344(omObjData *arg0) if (CharModelMotionEndCheck(temp_r31->unk1) != 0) { if (CharModelMotionTimeGet(temp_r31->unk1) <= 0.0f) { var_r28 = 0; - } - else { + } else { var_r28 = 2; } var_r27 = 1; @@ -338,8 +351,7 @@ void fn_1_7344(omObjData *arg0) var_r27 = 0; var_f31 = 0.0f; } - } - else if (CharModelMotionEndCheck(temp_r31->unk1) != 0) { + } else if (CharModelMotionEndCheck(temp_r31->unk1) != 0) { var_r28 = 2; var_r27 = 1; var_f31 = 0.0f; @@ -358,8 +370,7 @@ void fn_1_7344(omObjData *arg0) temp_r31->unk60 = 0; temp_r31->unk18 = -1; } - } - else { + } else { temp_r31->unk3C.y = 0.0f; } break; @@ -369,21 +380,20 @@ void fn_1_7344(omObjData *arg0) } if (var_r28 != temp_r31->unk1C) { temp_r31->unk1C = var_r28; - CharModelMotionShiftSet(temp_r31->unk1, arg0->motion[temp_r31->unk1C], var_f31, 8.0f, var_r27); + CharModelMotionShiftSet(temp_r31->unk1, arg0->motion[temp_r31->unk1C], var_f31, 8.0f, (u32) var_r27); } omSetTra(arg0, temp_r31->unk24.x, temp_r31->unk24.y, temp_r31->unk24.z); omSetRot(arg0, temp_r31->unk3C.x, temp_r31->unk3C.y, temp_r31->unk3C.z); } -void fn_1_7FE8(omObjData *arg0) -{ +void fn_1_7FE8(omObjData* arg0) { Vec sp20; Vec sp14; s32 sp10; f32 spC; s16 sp8; - unkStruct10 *var_r30; - unkStruct8Sub *temp_r29; + unkStruct10* var_r30; + unkStruct8Sub* temp_r29; f32 temp_f0; f32 temp_f0_2; f32 temp_f1; @@ -391,22 +401,21 @@ void fn_1_7FE8(omObjData *arg0) f32 temp_f30; f32 var_f28; s32 var_r28; - unkStruct7 *temp_r31; + unkStruct7* temp_r31; - temp_r31 = (unkStruct7 *)arg0->data; + temp_r31 = (unkStruct7*)arg0->data; sp10 = arg0->model[0]; sp8 = temp_r31->unk1C; temp_r31->unkE = temp_r31->unk10 = 0; temp_r29 = fn_1_CCCC(temp_r31->unk57, 0); sp20.x = sp20.y = sp20.z = 0.0f; - switch (lbl_1_bss_108) { /* irregular */ + switch (lbl_1_bss_108) { /* irregular */ case 2: if (temp_r31->unk61 == 0) { var_r30 = &lbl_1_bss_10C[0]; - + for (var_r28 = 0; var_r28 < 8; var_r28++, var_r30++) { - if (var_r30->unk2 == 0) - break; + if (var_r30->unk2 == 0) break; sp20.x += var_r30->unkC.x; sp20.y += var_r30->unkC.y; sp20.z += var_r30->unkC.z; @@ -414,15 +423,13 @@ void fn_1_7FE8(omObjData *arg0) sp20.x /= var_r28; sp20.y /= var_r28; sp20.z /= var_r28; - } - else { + } else { var_r30 = &lbl_1_bss_10C[temp_r31->unk62]; if (var_r30->unk2 != 0) { sp20.x = var_r30->unkC.x; sp20.y = var_r30->unkC.y; sp20.z = var_r30->unkC.z; - } - else { + } else { sp20.x = 0.0f; sp20.y = 800.0f; sp20.z = -1200.0f; @@ -451,9 +458,7 @@ void fn_1_7FE8(omObjData *arg0) sp20.z = var_r30->unkC.z; temp_f29 = 100.0f * (0.5f * (4 - temp_r31->unk6)); temp_f29 = 20.0f + (temp_f29 * (fn_1_ABB4() / 65536.0f)); - temp_f30 = ((var_r30->unkC.z - temp_r29->unk0.z) * (var_r30->unkC.z - temp_r29->unk0.z)) - + (((var_r30->unkC.x - temp_r29->unk0.x) * (var_r30->unkC.x - temp_r29->unk0.x)) - + ((var_r30->unkC.y - temp_r29->unk0.y) * (var_r30->unkC.y - temp_r29->unk0.y))); + temp_f30 = ((var_r30->unkC.z - temp_r29->unk0.z) * (var_r30->unkC.z - temp_r29->unk0.z)) + (((var_r30->unkC.x - temp_r29->unk0.x) * (var_r30->unkC.x - temp_r29->unk0.x)) + ((var_r30->unkC.y - temp_r29->unk0.y) * (var_r30->unkC.y - temp_r29->unk0.y))); if ((sqrtf(temp_f30) < temp_f29) && ((s32)((0x20 - (temp_r31->unk6 * 8)) * (fn_1_ABB4() / 65536.0f)) == 0)) { temp_r31->unkE = (temp_r31->unkE | 0x100); } @@ -483,18 +488,17 @@ void fn_1_7FE8(omObjData *arg0) temp_r31->unk63--; } -void fn_1_8838(unkStruct8 *arg0) -{ +void fn_1_8838(unkStruct8* arg0) { Vec sp18; Vec spC; f32 sp8; f32 temp_f30; f32 temp_f31; - unkStruct8Sub *temp_r30; - Vec *var_r26; + unkStruct8Sub* temp_r30; + Vec* var_r26; s32 var_r28; - unkStruct10 *temp_r29; - unkStruct8Sub *temp_r31; + unkStruct10* temp_r29; + unkStruct8Sub* temp_r31; temp_r30 = &arg0->unk3C[0]; if (temp_r30->unk0.x < -600.0f) { @@ -528,7 +532,7 @@ void fn_1_8838(unkStruct8 *arg0) if (temp_r31->unk74 > 90.0f) { temp_r31->unk74 = 90.0f; } - temp_f31 = sind(temp_r31->unk74); + temp_f31 = sin((M_PI * temp_r31->unk74) / 180.0); temp_f30 = cosd(temp_r31->unk74); sp18.x = temp_r30->unk0.x - temp_r31->unk58.x; sp18.y = temp_r30->unk0.y - temp_r31->unk58.y; @@ -562,7 +566,7 @@ void fn_1_8838(unkStruct8 *arg0) if (temp_r31->unk74 > 90.0f) { temp_r31->unk74 = 90.0f; } - temp_f31 = sind(temp_r31->unk74); + temp_f31 = sin((M_PI * temp_r31->unk74) / 180.0); sp18.x = temp_r29->unkC.x - temp_r31->unk58.x; sp18.y = temp_r29->unkC.y - temp_r31->unk58.y; sp18.z = temp_r29->unkC.z - temp_r31->unk58.z; @@ -572,8 +576,7 @@ void fn_1_8838(unkStruct8 *arg0) temp_r31->unk18.x = (temp_r31->unk78 + (temp_r31->unk7C * temp_f31)); temp_r31->unk18.y = (temp_r31->unk78 + (temp_r31->unk7C * temp_f31)); temp_r31->unk18.z = 1.0f; - } - else { + } else { temp_r31->unk0.x = temp_r29->unkC.x; temp_r31->unk0.y = temp_r29->unkC.y; temp_r31->unk0.z = temp_r29->unkC.z; @@ -581,27 +584,25 @@ void fn_1_8838(unkStruct8 *arg0) temp_r31->unk34 &= ~4; } -s8 fn_1_8D08(u8 arg0) -{ - unkStruct7 *data; - unkStruct8Sub *var_r30; +s8 fn_1_8D08(u8 arg0) { + unkStruct7* data; + unkStruct8Sub* var_r30; - data = (unkStruct7 *)lbl_1_bss_3A0[arg0]->data; + data = (unkStruct7*)lbl_1_bss_3A0[arg0]->data; var_r30 = fn_1_CCCC(data->unk57, 1); return var_r30->unk70[0]; } -void fn_1_8D6C(unkStruct8 *arg0) -{ +void fn_1_8D6C(unkStruct8* arg0) { Vec sp20; Vec sp14; Vec sp8; s32 temp_r28; s32 var_r27; f32 var_f31; - unkStruct10 *var_r29; - unkStruct7 *temp_r30; - unkStruct8Sub *temp_r31; + unkStruct10* var_r29; + unkStruct7* temp_r30; + unkStruct8Sub* temp_r31; temp_r31 = &arg0->unk3C[0]; if ((temp_r31->unk34 & 4) == 0) { @@ -640,20 +641,19 @@ void fn_1_8D6C(unkStruct8 *arg0) if (!(var_f31 >= 2250.0f) && (var_r29->unk2 == 3)) { var_r29->unk2 = 4; temp_r31->unk34 |= 4; - temp_r30 = (unkStruct7 *)lbl_1_bss_3A0[temp_r31->unk70[0]]->data; + temp_r30 = (unkStruct7*)lbl_1_bss_3A0[temp_r31->unk70[0]]->data; if (var_r29->unk48 == lbl_1_bss_106) { - espAttrSet(temp_r30->unk5A[temp_r30->unk59][0], HUSPR_ATTR_DISPOFF); - espAttrReset(temp_r30->unk5A[temp_r30->unk59][1], HUSPR_ATTR_DISPOFF); + espAttrSet(temp_r30->unk5A[temp_r30->unk59][0], 4); + espAttrReset(temp_r30->unk5A[temp_r30->unk59][1], 4); HuAudFXPlay(9); temp_r30->unk59++; omVibrate(temp_r30->unk0, 0xC, 6, 6); if (temp_r30->unk59 < 3) { temp_r30->unk60++; } - } - else if (temp_r30->unk59 != 0) { - espAttrReset(temp_r30->unk5A[temp_r30->unk59][0], HUSPR_ATTR_DISPOFF); - espAttrSet(temp_r30->unk5A[temp_r30->unk59][1], HUSPR_ATTR_DISPOFF); + } else if (temp_r30->unk59 != 0) { + espAttrReset(temp_r30->unk5A[temp_r30->unk59][0], 4); + espAttrSet(temp_r30->unk5A[temp_r30->unk59][1], 4); } } } @@ -682,38 +682,37 @@ void fn_1_8D6C(unkStruct8 *arg0) } } -void fn_1_91C0(omObjData *arg0) -{ +void fn_1_91C0(omObjData* arg0) { s32 var_r28; s32 var_r30; - unkStruct10 *var_r31; + unkStruct10* var_r31; lbl_1_bss_108 = 0; var_r28 = Hu3DModelCreateFile(0x20000); arg0->model[0] = var_r28; - Hu3DModelAttrSet(var_r28, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r28, 0x40000001); for (var_r30 = 0; var_r30 < 3; var_r30++) { - arg0->motion[var_r30] - = Hu3DJointMotion(var_r28, HuDataSelHeapReadNum(var_r30 + DATA_MAKE_NUM(DATADIR_M409, 0x0F), MEMORY_DEFAULT_NUM, HEAP_DATA)); + arg0->motion[var_r30] = Hu3DJointMotion(var_r28, HuDataSelHeapReadNum(var_r30 + 0x28000F, 0x10000000, HEAP_DATA)); } Hu3DMotionSet(var_r28, arg0->motion[0]); omSetTra(arg0, 419.99997f, 250.0f, -180.0f); omSetRot(arg0, 0.0f, -30.0f, 0.0f); - + for (var_r30 = 0; var_r30 < 4; var_r30++) { arg0->work[var_r30] = 0; } - + for (var_r30 = 0; var_r30 < 8; var_r30++) { - var_r28 = Hu3DModelCreateFile(var_r30 + DATA_MAKE_NUM(DATADIR_M409, 0x1B)); + var_r28 = Hu3DModelCreateFile(var_r30 + 0x28001B); arg0->model[var_r30 + 1] = var_r28; - Hu3DModelAttrSet(var_r28, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r28, 1); } lbl_1_bss_104 = 0; - + + for (var_r31 = lbl_1_bss_10C, var_r30 = 0; var_r30 < 8; var_r30++, var_r31++) { - var_r28 = Hu3DModelCreateFile(var_r30 + DATA_MAKE_NUM(DATADIR_M409, 0x13)); + var_r28 = Hu3DModelCreateFile(var_r30 + 0x280013); var_r31->unk0 = var_r28; Hu3DModelLayerSet(var_r28, 3); var_r31->unkC.x = -400.0f + (100.0f * var_r30); @@ -729,7 +728,7 @@ void fn_1_91C0(omObjData *arg0) var_r31->unk30.z = var_r31->unkC.z; var_r31->unk48 = var_r30; fn_1_DEF4((var_r31->unk1 = fn_1_DA48(1, 1)), 0, 0); - fn_1_E2A8(lbl_1_bss_F0.unk6, 0, var_r30 + DATA_MAKE_NUM(DATADIR_M409, 0x23), 0x40, 0x40); + fn_1_E2A8(lbl_1_bss_F0.unk6, 0, var_r30 + 0x280023, 0x40, 0x40); fn_1_EC1C(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, 2.0f, 2.0f, 1.0f); fn_1_F024(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, 0xFF, 0xFF, 0xFF, 0xA0); fn_1_ED44(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, 0x40000004); @@ -739,16 +738,15 @@ void fn_1_91C0(omObjData *arg0) arg0->func = fn_1_962C; } -void fn_1_962C(omObjData *arg0) -{ +void fn_1_962C(omObjData* arg0) { s32 sp8[7]; - unkStruct10 *var_r31; + unkStruct10* var_r31; s32 var_r29; s32 var_r28; s32 var_r27; s32 var_r26; f32 var_f31; - + var_r27 = 0; var_r31 = &lbl_1_bss_10C[0]; @@ -758,14 +756,11 @@ void fn_1_962C(omObjData *arg0) lbl_1_bss_108++; } for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (lbl_1_bss_38C[var_r29] == 0) - break; + if (lbl_1_bss_38C[var_r29] == 0) break; } - if (var_r29 < 4) - break; - if (lbl_1_bss_104 == 0) - break; - + if (var_r29 < 4) break; + if (lbl_1_bss_104 == 0) break; + lbl_1_bss_108 = 6; break; case 1: @@ -782,9 +777,10 @@ void fn_1_962C(omObjData *arg0) lbl_1_bss_108++; break; case 3: - Hu3DModelAttrReset(var_r26 = arg0->model[lbl_1_bss_106 + 1], HU3D_ATTR_DISPOFF); + var_r26 = arg0->model[lbl_1_bss_106 + 1]; + Hu3DModelAttrReset(var_r26, 1); Hu3DModelHookSet(arg0->model[0], "g001mk-itemhook_r", var_r26); - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[1], 0.0f, 8.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[1], 0.0f, 8.0f, 0); HuAudFXPlay(0x558); lbl_1_bss_108++; for (var_r29 = 0; var_r29 < 4; var_r29++) { @@ -804,7 +800,7 @@ void fn_1_962C(omObjData *arg0) } } arg0->work[3] = var_r28 * 10 + 10; - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[2], 0.0f, 8.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[2], 0.0f, 8.0f, 0); if (lbl_1_bss_104 == 0) { fn_1_3840(); } @@ -813,13 +809,13 @@ void fn_1_962C(omObjData *arg0) if (--arg0->work[3] == 0) { lbl_1_bss_108 = 0; Hu3DModelHookReset(arg0->model[0]); - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[0], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(arg0->model[lbl_1_bss_106 + 1], HU3D_ATTR_DISPOFF); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[0], 0.0f, 8.0f, 0x40000001); + Hu3DModelAttrSet(arg0->model[lbl_1_bss_106 + 1], 1); } break; case 6: fn_1_2414(7, 4); - fn_1_23EC(lbl_1_bss_104 - 1); + fn_1_23EC(lbl_1_bss_104- 1); lbl_1_bss_108++; break; case 7: @@ -832,7 +828,7 @@ void fn_1_962C(omObjData *arg0) switch (var_r31->unk2) { case 0: - Hu3DModelAttrSet(var_r31->unk0, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk0, 1); var_r31->unkC.x = var_r31->unkC.y = var_r31->unkC.z = 0.0f; continue; case 1: @@ -840,7 +836,7 @@ void fn_1_962C(omObjData *arg0) var_r31->unkC.y = (fn_1_ABB4() / 65536.0f) * 100.0f; var_r31->unkC.z = -1200.0f; Hu3DModelPosSet(var_r31->unk0, var_r31->unkC.x, var_r31->unkC.y, var_r31->unkC.z); - Hu3DModelAttrSet(var_r31->unk0, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk0, 1); fn_1_EC1C(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, 2.0f, 2.0f, 1.0f); var_r31->unk18.z = ((fn_1_ABB4() - 0x8000) / 32768.0f) * 60.0f; var_r31->unk4 = ((100.0f - var_r31->unkC.y) * 0.5f); @@ -848,8 +844,7 @@ void fn_1_962C(omObjData *arg0) var_r31->unk4C = ((fn_1_ABB4() - 0x8000) / 32768.0f) * 360.0f; var_r31->unk2++; case 2: - if (--var_r31->unk4 != 0) - break; + if (--var_r31->unk4 != 0) break; var_r31->unk4 = 1; var_r31->unk2++; case 3: @@ -858,8 +853,7 @@ void fn_1_962C(omObjData *arg0) if (var_r31->unk18.z >= 0.0f) { var_r31->unk18.z = 0.0f; } - } - else { + } else { var_r31->unk18.z -= 0.08f; if (var_r31->unk18.z <= 0.0f) { var_r31->unk18.z = 0.0f; @@ -871,7 +865,7 @@ void fn_1_962C(omObjData *arg0) var_r31->unkC.x += sind(var_r31->unk18.z) * var_r31->unk8; var_r31->unkC.y += cosd(var_r31->unk18.z) * var_r31->unk8; if (var_r31->unkC.y >= 200.0) { - Hu3DModelAttrReset(var_r31->unk0, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r31->unk0, 1); } if (var_r31->unkC.x >= 550.0f) { var_r31->unk18.z = -((fn_1_ABB4() / 65536.0f) * 20.0f); @@ -884,15 +878,13 @@ void fn_1_962C(omObjData *arg0) } break; case 4: - if (--var_r31->unk4 != 0) - break; - Hu3DModelAttrSet(var_r31->unk0, HU3D_ATTR_DISPOFF); + if (--var_r31->unk4 != 0) break; + Hu3DModelAttrSet(var_r31->unk0, 1); fn_1_E85C(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, var_r31->unkC.x, var_r31->unkC.y, var_r31->unkC.z); fn_1_EE68(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, 4); if (lbl_1_bss_106 == var_r31->unk48) { HuAudFXPlay(0x557); - } - else { + } else { HuAudFXPlay(0x55A); } if (var_r31->unk48 == arg0->work[1]) { @@ -900,7 +892,7 @@ void fn_1_962C(omObjData *arg0) } var_r26 = fn_1_DA48(1, 1); fn_1_DEF4(var_r26, 0, 0); - fn_1_E7C8(lbl_1_bss_F0.unk6, 0, DATA_MAKE_NUM(DATADIR_M409, 0x2C)); + fn_1_E7C8(lbl_1_bss_F0.unk6, 0, 0x28002C); fn_1_E85C(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, var_r31->unkC.x, var_r31->unkC.y, var_r31->unkC.z); fn_1_EC1C(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, 4.0f, 4.0f, 1.0f); fn_1_ED44(lbl_1_bss_F0.unk6, lbl_1_bss_F0.unk8, 0x80000000); @@ -922,26 +914,24 @@ void fn_1_962C(omObjData *arg0) if (var_r31->unkC.x <= -150.0f) { var_r31->unkC.x = -150.0f; } - } - else { + } else { var_r27++; } fn_1_A584(var_r31); Hu3DModelPosSet(var_r31->unk0, var_r31->unkC.x, var_r31->unkC.y, var_r31->unkC.z); - var_f31 = sind(var_r31->unk4C); + var_f31 = sin((var_r31->unk4C * M_PI) / 180.0); var_r31->unk4C += 3.0f; - Hu3DModelRotSet( - var_r31->unk0, 8.0 * sind(var_r31->unk4C * 0.3), var_r31->unk4C * 0.05f, (-var_r31->unk18.z * 0.25f) + (var_f31 * 8.0f)); + Hu3DModelRotSet(var_r31->unk0, 8.0 * sin((var_r31->unk4C * 0.3 * M_PI) / 180.0), var_r31->unk4C * 0.05f, (-var_r31->unk18.z * 0.25f) + (var_f31 * 8.0f)); } - + if (lbl_1_bss_108 == 2 && var_r27 >= arg0->work[0]) { lbl_1_bss_108++; } + (void)var_r27; } -s32 fn_1_A584(unkStruct10 *arg0) -{ +s32 fn_1_A584(unkStruct10* arg0) { s32 sp20[8]; Vec sp14; Vec sp8; @@ -950,7 +940,7 @@ s32 fn_1_A584(unkStruct10 *arg0) f32 var_f31; s32 var_r28; s32 var_r29; - unkStruct10 *var_r31; + unkStruct10* var_r31; if ((arg0->unk2 == 0) || (arg0->unk2 >= 4U)) { return 0; @@ -959,7 +949,7 @@ s32 fn_1_A584(unkStruct10 *arg0) var_r28 = 0; sp14.x = sp14.y = sp14.z = 0.0f; var_r31 = lbl_1_bss_10C; - + for (var_r29 = 0; var_r29 < 8; var_r29++, var_r31++) { if ((var_r31->unk2 != 0) && (var_r31->unk2 < 4U) && (var_r31 != arg0)) { sp8.x = arg0->unkC.x - var_r31->unkC.x; @@ -981,7 +971,7 @@ s32 fn_1_A584(unkStruct10 *arg0) arg0->unkC.x += sp14.x; arg0->unkC.y += sp14.y; arg0->unkC.z += sp14.z; - var_f31 = atan2d(sp14.x, sp14.y); + var_f31 = (180.0 * (atan2(sp14.x, sp14.y) / M_PI)); if (var_f31 > 180.0f) { var_f31 -= 360.0f; } @@ -993,7 +983,7 @@ s32 fn_1_A584(unkStruct10 *arg0) } arg0->unk18.z = var_f31 = fn_1_AD40(arg0->unk18.z, var_f31, 0.5f); var_r31 = lbl_1_bss_10C; - + for (var_r29 = 0; var_r29 < 8; var_r29++, var_r31++) { if ((var_r31 != arg0) && (var_r31->unk2 != 0) && (var_r31->unk2 < 4U)) { sp8.x = var_r31->unkC.x - arg0->unkC.x; @@ -1004,7 +994,7 @@ s32 fn_1_A584(unkStruct10 *arg0) var_r31->unkC.x += sp8.x * (temp_f29 - temp_f30); var_r31->unkC.y += sp8.y * (temp_f29 - temp_f30); var_r31->unkC.z += sp8.z * (temp_f29 - temp_f30); - var_f31 = atan2d(sp8.x, sp8.y); + var_f31 = (180.0 * (atan2(sp8.x, sp8.y) / M_PI)); if (var_f31 > 180.0f) { var_f31 -= 360.0f; } @@ -1021,25 +1011,23 @@ s32 fn_1_A584(unkStruct10 *arg0) return 1; } -s8 fn_1_A9C0(Vec *arg0, f32 *arg1) -{ +s8 fn_1_A9C0(Vec* arg0, f32* arg1) { f32 sp8; f32 temp_f29; f32 var_f30; f32 var_f28; s32 var_r27; s32 var_r29; - unkStruct10 *var_r31; + unkStruct10* var_r31; var_r27 = -1; var_r31 = lbl_1_bss_10C; var_f30 = *arg1; var_f30 *= var_f30; - + for (var_r29 = 0; var_r29 < 8; var_r29++, var_r31++) { if (((Hu3DModelAttrGet(var_r31->unk0) & 1) == 0) && !(var_r31->unkC.y < 300.0f)) { - temp_f29 = ((arg0->z - var_r31->unkC.z) * (arg0->z - var_r31->unkC.z)) - + (((arg0->x - var_r31->unkC.x) * (arg0->x - var_r31->unkC.x)) + ((arg0->y - var_r31->unkC.y) * (arg0->y - var_r31->unkC.y))); + temp_f29 = ((arg0->z - var_r31->unkC.z) * (arg0->z - var_r31->unkC.z)) + (((arg0->x - var_r31->unkC.x) * (arg0->x - var_r31->unkC.x)) + ((arg0->y - var_r31->unkC.y) * (arg0->y - var_r31->unkC.y))); if (!(temp_f29 > var_f30)) { var_r27 = var_r29; var_f30 = temp_f29; @@ -1052,23 +1040,21 @@ s8 fn_1_A9C0(Vec *arg0, f32 *arg1) u32 lbl_1_data_1EC = 0x41C64E6D; -s32 fn_1_ABB4(void) -{ +s32 fn_1_ABB4(void) { lbl_1_data_1EC *= 0x41C64E6D; lbl_1_data_1EC += 0x3039; return (lbl_1_data_1EC >> 0x10); } -void fn_1_AC08(s32 *arg0, s32 arg1) -{ +void fn_1_AC08(s32* arg0, s32 arg1) { s32 temp_r29; s32 temp_r30; s32 var_r31; - + for (var_r31 = 0; var_r31 < arg1; var_r31++) { arg0[var_r31] = var_r31; } - + for (var_r31 = 0; var_r31 < arg1; var_r31++) { temp_r30 = (arg1 * (fn_1_ABB4() / 65536.0f)); temp_r29 = arg0[var_r31]; @@ -1077,8 +1063,7 @@ void fn_1_AC08(s32 *arg0, s32 arg1) } } -f32 fn_1_AD40(f32 arg0, f32 arg1, f32 arg2) -{ +f32 fn_1_AD40(f32 arg0, f32 arg1, f32 arg2) { f32 var_f31; f32 var_f30; f32 var_f29; @@ -1100,8 +1085,7 @@ f32 fn_1_AD40(f32 arg0, f32 arg1, f32 arg2) return var_f31; } -f32 fn_1_AE94(f32 arg8, f32 arg9, f32 argA, f32 argB) -{ +f32 fn_1_AE94(f32 arg8, f32 arg9, f32 argA, f32 argB) { f32 temp_f31; f32 var_f30; @@ -1110,8 +1094,7 @@ f32 fn_1_AE94(f32 arg8, f32 arg9, f32 argA, f32 argB) return var_f30; } -void fn_1_AF0C(f32 *arg0, f32 *arg1, f32 *arg2, f32 *arg3, f32 arg8) -{ +void fn_1_AF0C(f32* arg0, f32* arg1, f32* arg2, f32* arg3, f32 arg8) { s32 var_r31; for (var_r31 = 0; var_r31 < 3; var_r31++) { @@ -1120,16 +1103,14 @@ void fn_1_AF0C(f32 *arg0, f32 *arg1, f32 *arg2, f32 *arg3, f32 arg8) } } -f32 fn_1_B028(f32 arg8, f32 arg9, f32 argA, f32 argB) -{ +f32 fn_1_B028(f32 arg8, f32 arg9, f32 argA, f32 argB) { f32 var_f31; var_f31 = (2.0 * ((arg8 * argB) + (((arg8 - 1.0) * arg9) + ((1.0 - (2.0 * arg8)) * argA)))); return var_f31; } -void fn_1_B0A0(f32 *arg0, f32 *arg1, f32 *arg2, f32 *arg3, f32 arg8) -{ +void fn_1_B0A0(f32* arg0, f32* arg1, f32* arg2, f32* arg3, f32 arg8) { f32 spC[3]; f32 var_f29; s32 var_r31; @@ -1137,24 +1118,22 @@ void fn_1_B0A0(f32 *arg0, f32 *arg1, f32 *arg2, f32 *arg3, f32 arg8) for (var_r31 = 0; var_r31 < 3; var_r31++) { spC[var_r31] = fn_1_B028(arg8, *arg0++, *arg1++, *arg2++); } - + var_f29 = sqrtf((spC[2] * spC[2]) + ((spC[0] * spC[0]) + (spC[1] * spC[1]))); - + if (var_f29) { var_f29 = (1.0 / var_f29); for (var_r31 = 0; var_r31 < 3; var_r31++) { *arg3++ = var_f29 * spC[var_r31]; } - } - else { + } else { *arg3++ = 0.0f; *arg3++ = 0.0f; *arg3++ = 1.0f; } } -f32 fn_1_B378(Vec *arg0) -{ +f32 fn_1_B378(Vec* arg0) { f32 var_f30; f32 var_f29; @@ -1165,28 +1144,24 @@ f32 fn_1_B378(Vec *arg0) arg0->x *= var_f29; arg0->y *= var_f29; arg0->z *= var_f29; - } - else { + } else { arg0->x = arg0->y = arg0->z = 0.0f; } return var_f30; } -f32 fn_1_B510(Vec arg0, Vec arg1, Vec *arg2, f32 arg8) -{ +f32 fn_1_B510(Vec arg0, Vec arg1, Vec* arg2, f32 arg8) { if (arg8 <= 0.0f) { arg2->x = arg0.x; arg2->y = arg0.y; arg2->z = arg0.z; arg8 = 0.0f; - } - else if (arg8 >= 1.0f) { + } else if (arg8 >= 1.0f) { arg2->x = (arg0.x + arg1.x); arg2->y = (arg0.y + arg1.y); arg2->z = (arg0.z + arg1.z); arg8 = 1.0f; - } - else { + } else { arg2->x = (arg0.x + (arg8 * arg1.x)); arg2->y = (arg0.y + (arg8 * arg1.y)); arg2->z = (arg0.z + (arg8 * arg1.z)); @@ -1194,8 +1169,7 @@ f32 fn_1_B510(Vec arg0, Vec arg1, Vec *arg2, f32 arg8) return arg8; } -f32 fn_1_B5E8(Vec arg0, Vec arg1, Vec arg2) -{ +f32 fn_1_B5E8(Vec arg0, Vec arg1, Vec arg2) { f32 temp_f30; f32 var_f31; @@ -1207,31 +1181,25 @@ f32 fn_1_B5E8(Vec arg0, Vec arg1, Vec arg2) return var_f31; } -f32 fn_1_B6A4(Vec *arg0, Vec *arg1, Vec *arg2) -{ +f32 fn_1_B6A4(Vec* arg0, Vec* arg1, Vec* arg2) { Vec sp44; f32 var_f31; if (((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y))) == 0.0f) { - return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) - + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y))); - } - else { + return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y))); + } else { var_f31 = fn_1_B5E8(*arg0, *arg1, *arg2); fn_1_B510(*arg1, *arg2, &sp44, var_f31); return ((arg0->z - sp44.z) * (arg0->z - sp44.z)) + (((arg0->x - sp44.x) * (arg0->x - sp44.x)) + ((arg0->y - sp44.y) * (arg0->y - sp44.y))); } } -f32 fn_1_B9E0(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, Vec *arg4) -{ +f32 fn_1_B9E0(Vec* arg0, Vec* arg1, Vec* arg2, Vec* arg3, Vec* arg4) { f32 var_f31; - + if (((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y))) == 0.0f) { - return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) - + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y))); - } - else { + return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y))); + } else { var_f31 = fn_1_B5E8(*arg0, *arg1, *arg2); fn_1_B510(*arg1, *arg2, arg3, var_f31); } @@ -1241,10 +1209,9 @@ f32 fn_1_B9E0(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, Vec *arg4) return fn_1_B378(arg4); } -void fn_1_BE90(ModelData *model, ParticleData *particle, Mtx matrix) -{ +void fn_1_BE90(ModelData *model, ParticleData *particle, Mtx matrix) { s32 var_r29; - HsfanimStruct01 *var_r31; + HsfanimStruct01* var_r31; var_r31 = particle->unk_48; for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { @@ -1256,14 +1223,13 @@ void fn_1_BE90(ModelData *model, ParticleData *particle, Mtx matrix) DCFlushRange(particle->unk_48, particle->unk_30 * 0x44); } -f32 fn_1_BF38(s16 arg0) -{ - MotionData *motionData; - HsfMotion *hsfMotionData; +f32 fn_1_BF38(s16 arg0) { + MotionData* motionData; + HsfMotion* hsfMotionData; f32 length; motionData = &Hu3DMotion[arg0]; hsfMotionData = motionData->unk_04->motion; length = hsfMotionData->len; return length; -} +} \ No newline at end of file diff --git a/src/REL/m410Dll/game.c b/src/REL/m410Dll/game.c index 5d9671c5..04cd0c6b 100644 --- a/src/REL/m410Dll/game.c +++ b/src/REL/m410Dll/game.c @@ -78,8 +78,7 @@ void fn_1_34C0(omObjData *object) for (var_r30 = 0; var_r30 < 3; var_r30++) { if (!var_r30) { object->model[var_r30] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M410, 12)); - } - else { + } else { object->model[var_r30] = Hu3DModelLink(*object->model); } Hu3DModelPosSet(object->model[var_r30], 0.0f, 140.0f + (140.0f * var_r30), -790.0f); @@ -99,44 +98,43 @@ void fn_1_3614(omObjData *object) s16 var_r28; switch (object->work[0]) { - case 0: - if (fn_1_2804() == 1) { - object->work[0]++; - object->work[1] = 256; - } - break; - case 1: - if (!--object->work[1]) { - object->work[0]++; - object->work[1] = 90; - lbl_1_bss_50 = 0.0f; - lbl_1_bss_4C = -10.000001f; - lbl_1_bss_48 = 2.0000002f; - lbl_1_bss_34 = HuAudFXPlay(1381); - } - break; - case 2: - if (!--object->work[1]) { - object->work[0]++; - lbl_1_bss_4C = 0.0f; - lbl_1_bss_48 = 0.40000007f; - } - break; - case 3: - if (fn_1_281C() == 2) { - object->work[0]++; - lbl_1_bss_4C = -2.0000002f; - lbl_1_bss_48 = 0.05000001f; - } - break; + case 0: + if (fn_1_2804() == 1) { + object->work[0]++; + object->work[1] = 256; + } + break; + case 1: + if (!--object->work[1]) { + object->work[0]++; + object->work[1] = 90; + lbl_1_bss_50 = 0.0f; + lbl_1_bss_4C = -10.000001f; + lbl_1_bss_48 = 2.0000002f; + lbl_1_bss_34 = HuAudFXPlay(1381); + } + break; + case 2: + if (!--object->work[1]) { + object->work[0]++; + lbl_1_bss_4C = 0.0f; + lbl_1_bss_48 = 0.40000007f; + } + break; + case 3: + if (fn_1_281C() == 2) { + object->work[0]++; + lbl_1_bss_4C = -2.0000002f; + lbl_1_bss_48 = 0.05000001f; + } + break; } if (fn_1_281C() == 2) { if (!--lbl_1_data_D8) { lbl_1_bss_4C = -lbl_1_bss_4C; lbl_1_data_D8 = 900; } - } - else if (fn_1_281C() > 2) { + } else if (fn_1_281C() > 2) { lbl_1_bss_4C = 0.0f; } if (lbl_1_bss_50 != lbl_1_bss_4C) { @@ -145,8 +143,7 @@ void fn_1_3614(omObjData *object) if (lbl_1_bss_50 > lbl_1_bss_4C) { lbl_1_bss_50 = lbl_1_bss_4C; } - } - else { + } else { lbl_1_bss_50 -= lbl_1_bss_48; if (lbl_1_bss_50 < lbl_1_bss_4C) { lbl_1_bss_50 = lbl_1_bss_4C; @@ -162,8 +159,7 @@ void fn_1_3614(omObjData *object) var_f31 = (0.5 * (16384.0 * fabs(lbl_1_bss_50))) - 8191.0; if (var_f31 < -8191.0f) { var_f31 = -8191.0f; - } - else if (var_f31 > 8191.0f) { + } else if (var_f31 > 8191.0f) { var_f31 = 8191.0f; } HuAudFXPitchSet(lbl_1_bss_34, var_f31); @@ -173,8 +169,7 @@ void fn_1_3614(omObjData *object) var_r30 = &Hu3DData[object->model[var_r29]]; if (var_r29 & 1) { var_f29 = lbl_1_bss_50; - } - else { + } else { var_f29 = -lbl_1_bss_50; } var_f30 = var_f29; @@ -183,8 +178,7 @@ void fn_1_3614(omObjData *object) if (var_r30->pos.x <= -40.0f) { var_r30->pos.x += 40.0f; } - } - else { + } else { if (var_r30->pos.x >= 40.0f) { var_r30->pos.x -= 40.0f; } @@ -218,7 +212,7 @@ void fn_1_3BE0(s16 arg0) // what happens with the argument? var_r24 = 0; if (omPauseChk()) { - + return; } @@ -316,8 +310,7 @@ void fn_1_3BE0(s16 arg0) // what happens with the argument? for (var_r26 = 0; var_r26 < 18; var_r26++, var_r28++) { if (var_r30->unk_40 != var_r28 || var_r28->unk_40 != var_r30) { - var_f31 = fn_1_4FEC( - var_r30->unk_04, var_r30->unk_1C, var_r30->unk_28, var_r28->unk_04, var_r28->unk_1C, var_r28->unk_28, var_r28->unk_2C); + var_f31 = fn_1_4FEC(var_r30->unk_04, var_r30->unk_1C, var_r30->unk_28, var_r28->unk_04, var_r28->unk_1C, var_r28->unk_28, var_r28->unk_2C); if (var_f31 >= 0.0f && var_f31 < var_f30) { var_r30->unk_00_field5 = 0; if (var_f31 <= var_f29) { @@ -353,40 +346,40 @@ void fn_1_3BE0(s16 arg0) // what happens with the argument? } for (var_r29 = 0; var_r29 < var_r27; var_r29++) { switch (sp1B0[var_r29].unk_00) { - case 0: - fn_1_5AF4(sp1B0[var_r29].unk_08, sp1B0[var_r29].unk_04); - sp1B0[var_r29].unk_08->unk_40 = NULL; - sp1B0[var_r29].unk_08->unk_3C++; - break; - case 1: - fn_1_61DC(sp1B0[var_r29].unk_08, sp1B0[var_r29].unk_0C_unk); - sp1B0[var_r29].unk_08->unk_40 = sp1B0[var_r29].unk_0C_unk; - sp1B0[var_r29].unk_0C_unk->unk_40 = sp1B0[var_r29].unk_08; - sp1B0[var_r29].unk_08->unk_3C++; - sp1B0[var_r29].unk_0C_unk->unk_3C++; - break; - case 2: - fn_1_66B8(sp1B0[var_r29].unk_08, sp1B0[var_r29].unk_0C_unk); - sp1B0[var_r29].unk_08->unk_40 = sp1B0[var_r29].unk_0C_unk; - sp1B0[var_r29].unk_08->unk_3C++; - break; - case 3: - fn_1_6364(sp1B0[var_r29].unk_08, sp1B0[var_r29].unk_0C_unk); - sp1B0[var_r29].unk_08->unk_40 = sp1B0[var_r29].unk_0C_unk; - sp1B0[var_r29].unk_0C_unk->unk_40 = sp1B0[var_r29].unk_08; - sp1B0[var_r29].unk_08->unk_3C++; - sp1B0[var_r29].unk_08->unk_44 = 2; - if (VECMag(&sp1B0[var_r29].unk_08->unk_1C) > 10.0f) { - HuAudFXPlay(1377); - } - break; + case 0: + fn_1_5AF4(sp1B0[var_r29].unk_08, sp1B0[var_r29].unk_04); + sp1B0[var_r29].unk_08->unk_40 = NULL; + sp1B0[var_r29].unk_08->unk_3C++; + break; + case 1: + fn_1_61DC(sp1B0[var_r29].unk_08, sp1B0[var_r29].unk_0C_unk); + sp1B0[var_r29].unk_08->unk_40 = sp1B0[var_r29].unk_0C_unk; + sp1B0[var_r29].unk_0C_unk->unk_40 = sp1B0[var_r29].unk_08; + sp1B0[var_r29].unk_08->unk_3C++; + sp1B0[var_r29].unk_0C_unk->unk_3C++; + break; + case 2: + fn_1_66B8(sp1B0[var_r29].unk_08, sp1B0[var_r29].unk_0C_unk); + sp1B0[var_r29].unk_08->unk_40 = sp1B0[var_r29].unk_0C_unk; + sp1B0[var_r29].unk_08->unk_3C++; + break; + case 3: + fn_1_6364(sp1B0[var_r29].unk_08, sp1B0[var_r29].unk_0C_unk); + sp1B0[var_r29].unk_08->unk_40 = sp1B0[var_r29].unk_0C_unk; + sp1B0[var_r29].unk_0C_unk->unk_40 = sp1B0[var_r29].unk_08; + sp1B0[var_r29].unk_08->unk_3C++; + sp1B0[var_r29].unk_08->unk_44 = 2; + if (PSVECMag(&sp1B0[var_r29].unk_08->unk_1C) > 10.0f) { + HuAudFXPlay(1377); + } + break; } } var_f30 *= 1.0f - var_f29; var_r24++; } while (var_r24 < 100); - (void)var_r24; - + (void)var_r24; + for (var_r29 = 0; var_r29 < var_r25; var_r29++) { var_r31 = spC0[var_r29]; var_r31->unk_04.x += var_r31->unk_1C.x * var_f30; @@ -402,11 +395,11 @@ void fn_1_3BE0(s16 arg0) // what happens with the argument? } for (var_r29 = 0; var_r29 < var_r25; var_r29++) { var_r30 = spC0[var_r29]; - VECSubtract(&var_r30->unk_04, &var_r30->unk_10, &spB4); + PSVECSubtract(&var_r30->unk_04, &var_r30->unk_10, &spB4); var_r28 = lbl_1_bss_54->data; for (var_r26 = 0; var_r26 < 18; var_r26++, var_r28++) { - VECSubtract(&var_r28->unk_04, &var_r28->unk_10, &spA8); + PSVECSubtract(&var_r28->unk_04, &var_r28->unk_10, &spA8); if (fn_1_598C(&var_r30->unk_10, &spB4, var_r30->unk_28, &var_r28->unk_10, &spA8, var_r28->unk_28, var_r28->unk_2C) && !var_r30->unk_00_field1 && var_r28->unk_38 == NULL) { var_r30->unk_00_field1 = 1; @@ -441,8 +434,7 @@ float fn_1_48D8(UnkM410Struct2 *arg0, u8 *arg1) if (0.0f != arg0->unk_1C.x) { if (arg0->unk_1C.x < 0.0f) { var_f29 = (-500.0f - arg0->unk_04.x + arg0->unk_28) / arg0->unk_1C.x; - } - else { + } else { var_f29 = (500.0f - arg0->unk_04.x - arg0->unk_28) / arg0->unk_1C.x; } var_f31 = var_f29; @@ -462,8 +454,7 @@ float fn_1_48D8(UnkM410Struct2 *arg0, u8 *arg1) if (var_f31 >= 0.0f && var_f31 < 1.0f) { if (var_f31 == var_f30) { *arg1 |= 2; - } - else if (var_f31 < var_f30) { + } else if (var_f31 < var_f30) { var_f30 = var_f31; *arg1 = 2; } @@ -477,8 +468,7 @@ float fn_1_48D8(UnkM410Struct2 *arg0, u8 *arg1) if (var_f31 >= 0.0f && var_f31 < 1.0f) { if (var_f31 == var_f30) { *arg1 |= 4; - } - else if (var_f31 < var_f30) { + } else if (var_f31 < var_f30) { *arg1 = 4; var_f30 = var_f31; } @@ -500,9 +490,9 @@ float fn_1_4C04(Vec arg0, Vec arg1, float arg8, Vec arg2, Vec arg3, float arg9) float var_f22; float var_f21; - VECSubtract(&arg2, &arg0, &arg2); - VECSubtract(&arg3, &arg1, &arg3); - if (VECMag(&arg2) > arg9 + (arg8 + VECMag(&arg3))) { + PSVECSubtract(&arg2, &arg0, &arg2); + PSVECSubtract(&arg3, &arg1, &arg3); + if (PSVECMag(&arg2) > arg9 + (arg8 + PSVECMag(&arg3))) { return -1.0f; } var_f22 = (arg8 + arg9) * (arg8 + arg9); @@ -543,10 +533,10 @@ float fn_1_4FEC(Vec arg0, Vec arg1, float arg8, Vec arg2, Vec arg3, float arg9, float var_f21; float var_f18; - VECSubtract(&arg0, &arg2, &arg0); - VECSubtract(&arg1, &arg3, &arg1); + PSVECSubtract(&arg0, &arg2, &arg0); + PSVECSubtract(&arg1, &arg3, &arg1); - if (VECMag(&arg0) > (arg8) + VECMag(&arg1) + arg9 + argA) { + if (PSVECMag(&arg0) > (arg8) + PSVECMag(&arg1) + arg9 + argA) { return -1.0f; } arg8 += arg9; @@ -590,10 +580,10 @@ float fn_1_55C8(Vec arg0, Vec arg1, float arg8, Vec arg2, float arg9) float var_f22; float var_f21; - VECSubtract(&arg0, &arg2, &arg0); + PSVECSubtract(&arg0, &arg2, &arg0); arg0.y = 0.0f; arg1.y = 0.0f; - if (VECMag(&arg0) > arg8 + VECMag(&arg1) + arg9) { + if (PSVECMag(&arg0) > arg8 + PSVECMag(&arg1) + arg9) { return -1.0f; } var_f22 = (arg8 + arg9) * (arg8 + arg9); @@ -628,9 +618,9 @@ s32 fn_1_598C(Vec *arg0, Vec *arg1, float arg8, Vec *arg2, Vec *arg3, float arg9 Vec sp20; float var_f31; - VECSubtract(arg0, arg2, &sp38); - VECSubtract(arg1, arg3, &sp2C); - if (VECMag(&sp38) > arg8 + VECMag(&sp2C) + arg9 + argA) { + PSVECSubtract(arg0, arg2, &sp38); + PSVECSubtract(arg1, arg3, &sp2C); + if (PSVECMag(&sp38) > arg8 + PSVECMag(&sp2C) + arg9 + argA) { return 0; } if (sp2C.y < 0.0f) { @@ -639,7 +629,7 @@ s32 fn_1_598C(Vec *arg0, Vec *arg1, float arg8, Vec *arg2, Vec *arg3, float arg9 sp20.x = var_f31 * sp2C.x + sp38.x; sp20.y = var_f31 * sp2C.y + sp38.y; sp20.z = var_f31 * sp2C.z + sp38.z; - if (VECMag(&sp20) < argA) { + if (PSVECMag(&sp20) < argA) { return 1; } } @@ -660,8 +650,7 @@ void fn_1_5AF4(UnkM410Struct2 *arg0, u8 arg1) if (fabs(arg0->unk_1C.y) > 10.0) { if (arg0->unk_04.z < -400.0f) { HuAudFXPlay(1380); - } - else { + } else { HuAudFXPlay(1379); } } @@ -686,17 +675,17 @@ void fn_1_5CA0(Vec arg0, Vec arg1, Vec arg2, Vec *arg3, Vec *arg4) float var_f28; sp34 = arg1; - var_f31 = VECMag(&sp34); + var_f31 = PSVECMag(&sp34); if (var_f31 < 0.001f) { arg3->x = arg3->y = arg3->z = 0.0f; arg4->x = arg4->y = arg4->z = 0.0f; return; } - VECNormalize(&sp34, &sp34); + PSVECNormalize(&sp34, &sp34); var_f31 *= 0.9f; - VECSubtract(&arg2, &arg0, &sp28); - VECNormalize(&sp28, &sp28); - var_f28 = VECDotProduct(&sp34, &sp28); + PSVECSubtract(&arg2, &arg0, &sp28); + PSVECNormalize(&sp28, &sp28); + var_f28 = PSVECDotProduct(&sp34, &sp28); if (var_f28 < 0.0f) { arg3->x = arg1.x; arg3->y = arg1.y; @@ -708,12 +697,11 @@ void fn_1_5CA0(Vec arg0, Vec arg1, Vec arg2, Vec *arg3, Vec *arg4) var_f30 = var_f31 - var_f29; if (var_f30 < 0.001f) { arg3->x = arg3->y = arg3->z = 0.0f; - } - else { - VECCrossProduct(&sp34, &sp28, &sp10); - VECNormalize(&sp10, &sp10); - VECCrossProduct(&sp28, &sp10, &sp1C); - VECNormalize(&sp1C, &sp1C); + } else { + PSVECCrossProduct(&sp34, &sp28, &sp10); + PSVECNormalize(&sp10, &sp10); + PSVECCrossProduct(&sp28, &sp10, &sp1C); + PSVECNormalize(&sp1C, &sp1C); arg3->x = sp1C.x * var_f30; arg3->y = sp1C.y * var_f30; arg3->z = sp1C.z * var_f30; @@ -734,18 +722,17 @@ void fn_1_5EDC(UnkM410Struct2 *arg0, UnkM410Struct2 *arg1) arg0->unk_1C.x *= 0.9f; arg0->unk_1C.y *= 0.9f; arg0->unk_1C.z *= 0.9f; - VECSubtract(&arg0->unk_04, &arg1->unk_04, &sp14); - VECNormalize(&sp14, &sp8); - var_f30 = (arg0->unk_28 + arg1->unk_28) - VECMag(&sp14); + PSVECSubtract(&arg0->unk_04, &arg1->unk_04, &sp14); + PSVECNormalize(&sp14, &sp8); + var_f30 = (arg0->unk_28 + arg1->unk_28) - PSVECMag(&sp14); if (var_f30 > 0.001f) { - VECSubtract(&arg0->unk_1C, &arg1->unk_1C, &sp14); - if (VECMag(&sp14) < 0.001f) { + PSVECSubtract(&arg0->unk_1C, &arg1->unk_1C, &sp14); + if (PSVECMag(&sp14) < 0.001f) { arg0->unk_04.x += sp8.x * var_f30; arg0->unk_04.y += sp8.y * var_f30; arg0->unk_04.z += sp8.z * var_f30; - } - else { - VECNormalize(&sp14, &sp14); + } else { + PSVECNormalize(&sp14, &sp14); arg0->unk_04.x -= sp14.x * var_f30; arg0->unk_04.y -= sp14.y * var_f30; arg0->unk_04.z -= sp14.z * var_f30; @@ -757,13 +744,13 @@ void fn_1_5EDC(UnkM410Struct2 *arg0, UnkM410Struct2 *arg1) arg0->unk_1C.y += 2.0f * sp8.y * var_f31; arg0->unk_1C.z += 2.0f * sp8.z * var_f31; } - VECSubtract(&arg1->unk_1C, &arg0->unk_1C, &sp14); - var_f29 = VECMag(&sp14); + PSVECSubtract(&arg1->unk_1C, &arg0->unk_1C, &sp14); + var_f29 = PSVECMag(&sp14); if (var_f29 < 0.001f) { return; } - VECNormalize(&sp14, &sp14); - var_f31 = VECDotProduct(&sp8, &sp14); + PSVECNormalize(&sp14, &sp14); + var_f31 = PSVECDotProduct(&sp8, &sp14); if (var_f31 > 0.0f) { arg0->unk_1C.x += sp8.x * var_f31 * var_f29; arg0->unk_1C.y += sp8.y * var_f31 * var_f29; @@ -794,16 +781,15 @@ void fn_1_61DC(UnkM410Struct2 *arg0, UnkM410Struct2 *arg1) if (arg0->unk_00_field1 || arg1->unk_00_field1) { if (arg0->unk_00_field1) { fn_1_5EDC(arg1, arg0); - } - else { + } else { fn_1_5EDC(arg0, arg1); } return; } fn_1_5CA0(arg0->unk_04, arg0->unk_1C, arg1->unk_04, &sp68, &sp74); fn_1_5CA0(arg1->unk_04, arg1->unk_1C, arg0->unk_04, &sp50, &sp5C); - VECAdd(&sp68, &sp5C, &arg0->unk_1C); - VECAdd(&sp74, &sp50, &arg1->unk_1C); + PSVECAdd(&sp68, &sp5C, &arg0->unk_1C); + PSVECAdd(&sp74, &sp50, &arg1->unk_1C); } void fn_1_6364(UnkM410Struct2 *arg0, UnkM410Struct2 *arg1) @@ -818,28 +804,27 @@ void fn_1_6364(UnkM410Struct2 *arg0, UnkM410Struct2 *arg1) arg0->unk_1C.x *= 0.7f; arg0->unk_1C.y *= 0.7f; arg0->unk_1C.z *= 0.7f; - VECSubtract(&arg0->unk_04, &arg1->unk_04, &sp14); + PSVECSubtract(&arg0->unk_04, &arg1->unk_04, &sp14); sp14.y = 0.0f; - VECNormalize(&sp14, &sp14); + PSVECNormalize(&sp14, &sp14); sp20.x = sp14.x * arg1->unk_2C + arg1->unk_04.x; sp20.y = arg1->unk_04.y; sp20.z = sp14.z * arg1->unk_2C + arg1->unk_04.z; - VECSubtract(&arg0->unk_04, &sp20, &sp14); - VECNormalize(&sp14, &sp8); - var_f31 = (arg0->unk_28 + arg1->unk_28) - VECMag(&sp14); + PSVECSubtract(&arg0->unk_04, &sp20, &sp14); + PSVECNormalize(&sp14, &sp8); + var_f31 = (arg0->unk_28 + arg1->unk_28) - PSVECMag(&sp14); if (var_f31 > 0.001f) { - VECSubtract(&arg0->unk_1C, &arg1->unk_1C, &sp14); - if (VECMag(&sp14) < 0.001f) { + PSVECSubtract(&arg0->unk_1C, &arg1->unk_1C, &sp14); + if (PSVECMag(&sp14) < 0.001f) { arg0->unk_04.x += sp8.x * var_f31; arg0->unk_04.y += sp8.y * var_f31; arg0->unk_04.z += sp8.z * var_f31; - } - else { - VECNormalize(&sp14, &sp14); + } else { + PSVECNormalize(&sp14, &sp14); arg0->unk_04.x -= sp14.x * var_f31; arg0->unk_04.y -= sp14.y * var_f31; arg0->unk_04.z -= sp14.z * var_f31; @@ -851,11 +836,11 @@ void fn_1_6364(UnkM410Struct2 *arg0, UnkM410Struct2 *arg1) arg0->unk_1C.y += 2.0f * sp8.y * var_f30; arg0->unk_1C.z += 2.0f * sp8.z * var_f30; } - VECSubtract(&arg1->unk_1C, &arg0->unk_1C, &sp14); - var_f31 = VECMag(&sp14); + PSVECSubtract(&arg1->unk_1C, &arg0->unk_1C, &sp14); + var_f31 = PSVECMag(&sp14); if (!(var_f31 < 0.001f)) { - VECNormalize(&sp14, &sp14); - var_f30 = VECDotProduct(&sp8, &sp14); + PSVECNormalize(&sp14, &sp14); + var_f30 = PSVECDotProduct(&sp8, &sp14); if (var_f30 > 0.0f) { arg0->unk_1C.x += sp8.x * var_f30 * var_f31; arg0->unk_1C.y += sp8.y * var_f30 * var_f31; @@ -869,9 +854,9 @@ void fn_1_66B8(UnkM410Struct2 *arg0, UnkM410Struct2 *arg1) // TODO maybe UnkM410 Vec spC; float var_f31; - VECSubtract(&arg0->unk_04, (Vec *)&arg1->unk_10.z, &spC); + PSVECSubtract(&arg0->unk_04, (Vec *)&arg1->unk_10.z, &spC); spC.y = 0.0f; - VECNormalize(&spC, &spC); + PSVECNormalize(&spC, &spC); var_f31 = -arg0->unk_1C.x * spC.x - arg0->unk_1C.z * spC.z; arg0->unk_1C.x += 2.0f * spC.x * var_f31; arg0->unk_1C.z += 2.0f * spC.z * var_f31; @@ -897,12 +882,11 @@ void fn_1_67D4(omObjData *arg0) if ((var_r30 % 15) == 0) { arg0->model[var_r30] = Hu3DModelCreateFile(lbl_1_data_DC[GWPlayerCfg[var_r29->unk_34].character]); var_r28 = arg0->model[var_r30]; - } - else { + } else { arg0->model[var_r30] = Hu3DModelLink(var_r28); } var_r29->unk_30 = arg0->model[var_r30]; - Hu3DModelAttrSet(arg0->model[var_r30], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->model[var_r30], 1); Hu3DModelShadowSet(arg0->model[var_r30]); } arg0->func = fn_1_6968; @@ -922,24 +906,22 @@ void fn_1_6968(omObjData *object) for (var_r30 = 0; var_r30 < 60; var_r30++, var_r31++) { if (!var_r31->unk_00_field0) { - Hu3DModelAttrSet(var_r31->unk_30, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_30, 1); continue; } if (var_r31->unk_00_field1) { Hu3DModelObjPosGet(var_r31->unk_38->unk_30, "i_hook", &sp8); - VECSubtract(&sp8, &var_r31->unk_04, &sp8); + PSVECSubtract(&sp8, &var_r31->unk_04, &sp8); if (var_r31->unk_36 != 0) { var_f31 = cosd(90.0f * var_r31->unk_36 / 10.0f); var_r31->unk_1C.x = var_f31 * sp8.x; var_r31->unk_1C.y = var_f31 * sp8.y; var_r31->unk_1C.z = var_f31 * sp8.z; var_r31->unk_36--; - } - else { + } else { var_r31->unk_1C = sp8; } - } - else { + } else { var_r31->unk_1C.y += -0.95277786f; if (var_r31->unk_00_field3 && (fn_1_281C() != 4 || (fn_1_281C() == 4 && var_r31->unk_36 < 15))) { if (--var_r31->unk_36 == 0) { @@ -954,23 +936,21 @@ void fn_1_6968(omObjData *object) sp8.x = var_r31->unk_1C.z; sp8.y = 0.0f; sp8.z = -var_r31->unk_1C.x; - var_f30 = VECMag(&sp8) / 30.000002f; + var_f30 = PSVECMag(&sp8) / 30.000002f; if (var_f30 >= 0.001f) { - MTXRotAxisRad(sp14, &sp8, var_f30); + PSMTXRotAxisRad(sp14, &sp8, var_f30); var_r28 = &Hu3DData[object->model[var_r30]]; - MTXConcat(sp14, var_r28->unk_F0, var_r28->unk_F0); + PSMTXConcat(sp14, var_r28->unk_F0, var_r28->unk_F0); } } - } - else { + } else { var_r31->unk_44--; } } if (var_r31->unk_00_field2) { - Hu3DModelAttrReset(var_r31->unk_30, HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(var_r31->unk_30, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r31->unk_30, 1); + } else { + Hu3DModelAttrSet(var_r31->unk_30, 1); } Hu3DModelPosSet(object->model[var_r30], var_r31->unk_04.x, var_r31->unk_04.y, var_r31->unk_04.z); } @@ -980,12 +960,12 @@ void fn_1_6968(omObjData *object) for (var_r30 = 0; var_r30 < 60; var_r30++, var_r31++) { if (var_r31->unk_00_field0) { fn_1_7520(&var_r31->unk_04); - Hu3DModelAttrSet(var_r31->unk_30, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_30, 1); var_r31->unk_00_field0 = 0; } } lbl_1_bss_58->func = NULL; - Hu3DModelAttrReset(lbl_1_bss_38, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(lbl_1_bss_38, 1); fn_1_287C(4); } } @@ -1012,8 +992,8 @@ void fn_1_6DB4(omObjData *object) var_r31->unk_34 = var_r29 / 6; object->model[var_r29] = Hu3DModelCreateFile(lbl_1_data_104[var_r31->unk_34]); var_r28 = object->model[var_r29]; - (void)var_r28; - Hu3DModelAttrSet(object->model[var_r29], HU3D_MOTATTR_PAUSE); + (void)var_r28; + Hu3DModelAttrSet(object->model[var_r29], 0x40000002); Hu3DData[object->model[var_r29]].cluster_attr[0] = 0; var_r31->unk_30 = object->model[var_r29]; var_r31->unk_32 = var_r29; @@ -1030,16 +1010,15 @@ void fn_1_6DB4(omObjData *object) if (!var_r29) { object->model[var_r29 + 0x12] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M410, 10)); - } - else { + } else { object->model[var_r29 + 0x12] = Hu3DModelLink(object->model[18]); } Hu3DModelShadowMapSet(object->model[var_r29 + 18]); Hu3DModelPosSet(object->model[var_r29 + 18], var_r31->unk_04.x, var_r31->unk_04.y, var_r31->unk_04.z); if (!var_r29) { object->model[var_r29 + 36] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M410, 11)); - } - else { + + } else { object->model[var_r29 + 36] = Hu3DModelLink(object->model[36]); } Hu3DModelPosSet(object->model[var_r29 + 0x24], 20.0f + var_r31->unk_04.x, -10.0f + var_r31->unk_04.y, var_r31->unk_04.z); @@ -1058,13 +1037,12 @@ void fn_1_7138(omObjData *object) for (var_r29 = 0; var_r29 < 18; var_r29++, var_r31++) { if (var_r31->unk_34 & 1) { var_f31 = lbl_1_bss_50; - } - else { + } else { var_f31 = -lbl_1_bss_50; } var_r31->unk_1C.x = var_f31; if (var_r31->unk_00_field4) { - Hu3DModelAttrReset(object->model[var_r29], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(object->model[var_r29], 0x40000002); Hu3DMotionSpeedSet(object->model[var_r29], 4.0f); Hu3DMotionSet(object->model[var_r29], 0); Hu3DMotionClusterNoSet(object->model[var_r29], Hu3DData[object->model[var_r29]].unk_10[0], 0); @@ -1076,8 +1054,7 @@ void fn_1_7138(omObjData *object) var_r31->unk_04.x += 1500.0f; var_r31->unk_00_field6 = 1; } - } - else if (var_r31->unk_04.x > 750.0f) { + } else if (var_r31->unk_04.x > 750.0f) { var_r31->unk_04.x -= 1500.0f; var_r31->unk_00_field6 = 1; } @@ -1108,7 +1085,7 @@ void fn_1_7494(void) var_r31 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 2), MEMORY_DEFAULT_NUM)); lbl_1_bss_38 = Hu3DParticleCreate(var_r31, 60); Hu3DParticleHookSet(lbl_1_bss_38, fn_1_75A0); - Hu3DModelAttrSet(lbl_1_bss_38, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(lbl_1_bss_38, 1); } void fn_1_7520(Vec *arg0) @@ -1143,10 +1120,10 @@ void fn_1_75A0(ModelData *model, ParticleData *particle, Mtx matrix) var_r30 = particle->unk_48; for (var_r29 = 0; var_r29 < particle->unk_02; var_r29++, var_r30++) { - var_r30->unk40.a = var_r28; // 43? + var_r30->unk40.a = var_r28; // 43? } if (--lbl_1_data_110 == 0) { - model->attr |= 1; + model->attr |= 1; } DCStoreRange(particle->unk_48, particle->unk_30 * 0x44); } @@ -1157,20 +1134,20 @@ s32 fn_1_76B8(Vec arg0, Vec arg1, u16 arg2) s32 var_r30; var_r31 = &var_r31[arg2 * 15]; - for (var_r30 = 0; var_r30 < 15; var_r30++, var_r31++) { - if (!var_r31->unk_00_field0) { - *(s16 *)var_r31 = 0; - var_r31->unk_00_field0 = 1; - var_r31->unk_00_field2 = 1; - var_r31->unk_04 = arg0; - var_r31->unk_1C = arg1; - var_r31->unk_28 = 30.000002f; - var_r31->unk_38 = NULL; - var_r31->unk_36 = 0; - return 1; - } - } - return 0; + for(var_r30=0; var_r30<15; var_r30++, var_r31++) { + if (!var_r31->unk_00_field0) { + *(s16 *)var_r31 = 0; + var_r31->unk_00_field0 = 1; + var_r31->unk_00_field2 = 1; + var_r31->unk_04 = arg0; + var_r31->unk_1C = arg1; + var_r31->unk_28 = 30.000002f; + var_r31->unk_38 = NULL; + var_r31->unk_36 = 0; + return 1; + } + } + return 0; } void fn_1_77A4(u16 arg0, u16 arg1, u16 arg2) @@ -1216,8 +1193,7 @@ void fn_1_7888(u16 arg0, u16 arg1, Vec *arg2) while (sp8.x < -750.0f) { sp8.x += 1500.0f; } - } - else { + } else { while (sp8.x > 750.0f) { sp8.x -= 1500.0f; } @@ -1238,8 +1214,8 @@ s32 fn_1_79F8(s16 arg0, char *arg1, Mtx arg2) var_r30 = var_r31->hsfData; lbl_1_bss_30 = 0; mtxRot(sp14, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z); - MTXScale(sp44, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z); - MTXConcat(sp14, sp44, sp44); + PSMTXScale(sp44, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z); + PSMTXConcat(sp14, sp44, sp44); mtxTransCat(sp44, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z); fn_1_7AC4(var_r30->root, sp44, arg1, arg2); return lbl_1_bss_30; @@ -1274,12 +1250,12 @@ void fn_1_7AC4(HsfObject *arg0, Mtx arg1, char *arg2, Mtx arg3) var_r31 = &arg0->data.curr; mtxRot(sp12C, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z); - MTXScale(sp15C, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z); - MTXConcat(sp12C, sp15C, sp15C); + PSMTXScale(sp15C, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z); + PSMTXConcat(sp12C, sp15C, sp15C); mtxTransCat(sp15C, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z); - MTXConcat(arg1, sp15C, sp15C); + PSMTXConcat(arg1, sp15C, sp15C); if (!strcmp(arg2, arg0->name)) { - MTXCopy(sp15C, arg3); + PSMTXCopy(sp15C, arg3); lbl_1_bss_30 = 1; } @@ -1288,12 +1264,12 @@ void fn_1_7AC4(HsfObject *arg0, Mtx arg1, char *arg2, Mtx arg3) if (!lbl_1_bss_30) { var_r30 = &var_r27->data.curr; mtxRot(spFC, var_r30->rot.x, var_r30->rot.y, var_r30->rot.z); - MTXScale(spCC, var_r30->scale.x, var_r30->scale.y, var_r30->scale.z); - MTXConcat(spFC, spCC, spCC); + PSMTXScale(spCC, var_r30->scale.x, var_r30->scale.y, var_r30->scale.z); + PSMTXConcat(spFC, spCC, spCC); mtxTransCat(spCC, var_r30->pos.x, var_r30->pos.y, var_r30->pos.z); - MTXConcat(sp15C, spCC, spCC); + PSMTXConcat(sp15C, spCC, spCC); if (!strcmp(arg2, var_r27->name)) { - MTXCopy(spCC, arg3); + PSMTXCopy(spCC, arg3); lbl_1_bss_30 = 1; } for (var_r22 = 0; var_r22 < var_r27->data.childrenCount; var_r22++) { @@ -1301,12 +1277,12 @@ void fn_1_7AC4(HsfObject *arg0, Mtx arg1, char *arg2, Mtx arg3) if (!lbl_1_bss_30) { var_r29 = &var_r26->data.curr; mtxRot(sp9C, var_r29->rot.x, var_r29->rot.y, var_r29->rot.z); - MTXScale(sp6C, var_r29->scale.x, var_r29->scale.y, var_r29->scale.z); - MTXConcat(sp9C, sp6C, sp6C); + PSMTXScale(sp6C, var_r29->scale.x, var_r29->scale.y, var_r29->scale.z); + PSMTXConcat(sp9C, sp6C, sp6C); mtxTransCat(sp6C, var_r29->pos.x, var_r29->pos.y, var_r29->pos.z); - MTXConcat(spCC, sp6C, sp6C); + PSMTXConcat(spCC, sp6C, sp6C); if (!strcmp(arg2, var_r26->name)) { - MTXCopy(sp6C, arg3); + PSMTXCopy(sp6C, arg3); lbl_1_bss_30 = 1; } @@ -1315,12 +1291,12 @@ void fn_1_7AC4(HsfObject *arg0, Mtx arg1, char *arg2, Mtx arg3) if (!lbl_1_bss_30) { var_r28 = &var_r25->data.curr; mtxRot(sp3C, var_r28->rot.x, var_r28->rot.y, var_r28->rot.z); - MTXScale(spC, var_r28->scale.x, var_r28->scale.y, var_r28->scale.z); - MTXConcat(sp3C, spC, spC); + PSMTXScale(spC, var_r28->scale.x, var_r28->scale.y, var_r28->scale.z); + PSMTXConcat(sp3C, spC, spC); mtxTransCat(spC, var_r28->pos.x, var_r28->pos.y, var_r28->pos.z); - MTXConcat(sp6C, spC, spC); + PSMTXConcat(sp6C, spC, spC); if (!strcmp(arg2, var_r25->name)) { - MTXCopy(spC, arg3); + PSMTXCopy(spC, arg3); lbl_1_bss_30 = 1; } diff --git a/src/REL/m410Dll/main.c b/src/REL/m410Dll/main.c index e6855848..2b6b53a7 100644 --- a/src/REL/m410Dll/main.c +++ b/src/REL/m410Dll/main.c @@ -5,6 +5,7 @@ #include "game/minigame_seq.h" #include "game/object.h" #include "game/wipe.h" +#include "rel_sqrt_consts.h" #include "REL/m410Dll.h" @@ -93,7 +94,7 @@ void ObjectSetup(void) sp8.x = sp8.z = 0.0f; sp8.y = lbl_1_data_18.z; mtxRot(sp20, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f); - MTXMultVec(sp20, &sp8, &sp8); + PSMTXMultVec(sp20, &sp8, &sp8); Hu3DGLightPosAimSetV(lbl_1_bss_16, &sp8, &sp14); Hu3DShadowPosSet(&sp8, &lbl_1_data_34, &sp14); lbl_1_bss_14 = lbl_1_bss_12 = lbl_1_bss_10 = -1; @@ -157,36 +158,37 @@ void fn_1_63C(omObjData *object) return; } switch (var_r31->unk_00) { - case 0: - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - Hu3DCameraPerspectiveSet(1, 41.5f, 5.0f, 5000.0f, 1.2f); - var_r31->unk_00 = 1; - var_r31->unk_10 = 0; - object->func = fn_1_19C8(lbl_1_bss_28, object); - break; - case 1: - var_r31->unk_00 = 2; - var_r31->unk_18 = 0; - object->func = fn_1_FF0; - break; - case 2: - var_r31->unk_00 = 3; - var_r31->unk_28 = 0; - object->func = fn_1_216C(lbl_1_bss_28, object); - break; - case 3: - case 4: - var_r31->unk_08 = 1; - var_r31->unk_00 = 5; - object->func = fn_1_ABC; - break; - case 5: - default: - var_r31->unk_00 = 5; - object->func = fn_1_DEC; - break; + case 0: + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + Hu3DCameraPerspectiveSet(1, 41.5f, 5.0f, 5000.0f, 1.2f); + var_r31->unk_00 = 1; + var_r31->unk_10 = 0; + object->func = fn_1_19C8(lbl_1_bss_28, object); + break; + case 1: + var_r31->unk_00 = 2; + var_r31->unk_18 = 0; + object->func = fn_1_FF0; + break; + case 2: + var_r31->unk_00 = 3; + var_r31->unk_28 = 0; + object->func = fn_1_216C(lbl_1_bss_28, object); + break; + case 3: + case 4: + var_r31->unk_08 = 1; + var_r31->unk_00 = 5; + object->func = fn_1_ABC; + break; + case 5: + default: + var_r31->unk_00 = 5; + object->func = fn_1_DEC; + break; } var_r31->unk_04 = 0; + } void fn_1_7A8(omObjData *object) @@ -231,36 +233,38 @@ void fn_1_FF0(omObjData *object) fn_1_5A8(object); switch (var_r29->unk_14) { - case 0: - var_r29->unk_1C = 30; - var_r29->unk_20 = 60; - lbl_1_bss_14 = MGSeqCreate(3, 0); - MGSeqPosSet(lbl_1_bss_14, 320.0f, 240.0f); - CRot.x = -11.2f; - CRot.y = CRot.z = 0.0f; - Center.x = 0.0f; - Center.y = 367.0f; - Center.z = 252.0f; - CZoom = 592.0f; - var_r29->unk_14 = 1; - var_r29->unk_18 = 0; - break; - - case 1: - if (lbl_1_bss_4 < 0 && MGSeqStatGet(lbl_1_bss_14) & 16) { - lbl_1_bss_4 = HuAudSeqPlay(71); - } - if (!MGSeqStatGet(lbl_1_bss_14) && !var_r29->unk_08) { - lbl_1_bss_1C = MGSeqCreate(1, var_r29->unk_1C, -1, -1); - var_r29->unk_14 = 2; - var_r29->unk_18 = 0; - object->func = fn_1_139C; - } - break; - - default: - break; + case 0: + var_r29->unk_1C = 30; + var_r29->unk_20 = 60; + lbl_1_bss_14 = MGSeqCreate(3, 0); + MGSeqPosSet(lbl_1_bss_14, 320.0f, 240.0f); + CRot.x = -11.2f; + CRot.y = CRot.z = 0.0f; + Center.x = 0.0f; + Center.y = 367.0f; + Center.z = 252.0f; + CZoom = 592.0f; + var_r29->unk_14 = 1; + var_r29->unk_18 = 0; + break; + + case 1: + if (lbl_1_bss_4 < 0 && MGSeqStatGet(lbl_1_bss_14) & 16) { + lbl_1_bss_4 = HuAudSeqPlay(71); + } + if (!MGSeqStatGet(lbl_1_bss_14) && !var_r29->unk_08) { + lbl_1_bss_1C = MGSeqCreate(1, var_r29->unk_1C, -1, -1); + var_r29->unk_14 = 2; + var_r29->unk_18 = 0; + object->func = fn_1_139C; + } + break; + + default: + break; } + + } void fn_1_139C(omObjData *object) @@ -343,17 +347,17 @@ void fn_1_1A7C(omObjData *object) } var_f31 = (float)object->work[0] / lbl_1_data_C4[object->work[1]]; - VECSubtract(&lbl_1_data_4C[object->work[1] + 1], &lbl_1_data_4C[object->work[1]], &sp8); - VECScale(&sp8, &sp8, var_f31); - VECAdd(&lbl_1_data_4C[object->work[1]], &sp8, &sp8); + PSVECSubtract(&lbl_1_data_4C[object->work[1] + 1], &lbl_1_data_4C[object->work[1]], &sp8); + PSVECScale(&sp8, &sp8, var_f31); + PSVECAdd(&lbl_1_data_4C[object->work[1]], &sp8, &sp8); Center.x = sp8.x; Center.y = sp8.y; Center.z = sp8.z; - VECSubtract(&lbl_1_data_88[object->work[1] + 1], &lbl_1_data_88[object->work[1]], &sp8); - VECScale(&sp8, &sp8, var_f31); - VECAdd(&lbl_1_data_88[object->work[1]], &sp8, &sp8); + PSVECSubtract(&lbl_1_data_88[object->work[1] + 1], &lbl_1_data_88[object->work[1]], &sp8); + PSVECScale(&sp8, &sp8, var_f31); + PSVECAdd(&lbl_1_data_88[object->work[1]], &sp8, &sp8); CRot.x = sp8.x; CRot.y = sp8.y; diff --git a/src/REL/m410Dll/player.c b/src/REL/m410Dll/player.c index 3286d2c0..6af51bc0 100644 --- a/src/REL/m410Dll/player.c +++ b/src/REL/m410Dll/player.c @@ -11,10 +11,6 @@ #include "REL/m410Dll.h" -#ifndef __MWERKS__ -#include "game/esprite.h" -#endif - omObjData *lbl_1_bss_74; AnimData *lbl_1_bss_70; s32 lbl_1_bss_60[4]; @@ -24,53 +20,21 @@ char *lbl_1_data_140[] = { "dmy-itemhook-r", "dmy-itemhook-r", "dmy-itemhook-r", char *lbl_1_data_16C[] = { "itemhook-r", "itemhook-r", "itemhook-r", "itemhook-r", "itemhook-r", "itemhook-r", "itemhook-r", "itemhook-r" }; -s32 lbl_1_data_18C[] = { - DATA_MAKE_NUM(DATADIR_M410, 0), - DATA_MAKE_NUM(DATADIR_M410, 1), - DATA_MAKE_NUM(DATADIR_M410, 2), - DATA_MAKE_NUM(DATADIR_M410, 3), - DATA_MAKE_NUM(DATADIR_M410, 4), - DATA_MAKE_NUM(DATADIR_M410, 5), - DATA_MAKE_NUM(DATADIR_M410, 6), - DATA_MAKE_NUM(DATADIR_M410, 7), -}; +s32 lbl_1_data_18C[] + = { DATA_MAKE_NUM(DATADIR_M410, 0), DATA_MAKE_NUM(DATADIR_M410, 1), DATA_MAKE_NUM(DATADIR_M410, 2), DATA_MAKE_NUM(DATADIR_M410, 3), + DATA_MAKE_NUM(DATADIR_M410, 4), DATA_MAKE_NUM(DATADIR_M410, 5), DATA_MAKE_NUM(DATADIR_M410, 6), DATA_MAKE_NUM(DATADIR_M410, 7) }; -u32 lbl_1_data_1AC[] = { - 0, - DATA_MAKE_NUM(DATADIR_M410, 70), - DATA_MAKE_NUM(DATADIR_M410, 22), - DATA_MAKE_NUM(DATADIR_M410, 30), - DATA_MAKE_NUM(DATADIR_M410, 38), - DATA_MAKE_NUM(DATADIR_M410, 46), - DATA_MAKE_NUM(DATADIR_M410, 62), - DATA_MAKE_NUM(DATADIR_M410, 54), - DATA_MAKE_NUM(DATADIR_E3SETUP, 23), - DATA_MAKE_NUM(DATADIR_E3SETUP, 24), -}; +u32 lbl_1_data_1AC[] = { 0, DATA_MAKE_NUM(DATADIR_M410, 70), DATA_MAKE_NUM(DATADIR_M410, 22), DATA_MAKE_NUM(DATADIR_M410, 30), + DATA_MAKE_NUM(DATADIR_M410, 38), DATA_MAKE_NUM(DATADIR_M410, 46), DATA_MAKE_NUM(DATADIR_M410, 62), DATA_MAKE_NUM(DATADIR_M410, 54), + DATA_MAKE_NUM(DATADIR_E3SETUP, 23), DATA_MAKE_NUM(DATADIR_E3SETUP, 24) }; -UnkM410Struct10 lbl_1_data_1D4[] = { - { 0.0f, 0.0f, 12.0f, HU3D_MOTATTR_LOOP }, - { 0.0f, 0.0f, 1.1999999f, HU3D_MOTATTR_NONE }, - { 0.0f, 0.0f, 12.0f, HU3D_MOTATTR_LOOP }, - { 0.0f, 0.0f, 6.0f, HU3D_MOTATTR_NONE }, - { 6.0f, 0.0f, 4.7999997f, HU3D_MOTATTR_NONE }, - { 0.0f, 0.0f, 1.1999999f, HU3D_MOTATTR_NONE }, - { 0.0f, 0.0f, 1.1999999f, HU3D_MOTATTR_NONE }, - { 0.0f, 0.0f, 1.1999999f, HU3D_MOTATTR_NONE }, - { 0.0f, 0.0f, 12.0f, HU3D_MOTATTR_NONE }, - { 0.0f, 0.0f, 12.0f, HU3D_MOTATTR_NONE }, -}; +UnkM410Struct10 lbl_1_data_1D4[] = { { 0.0f, 0.0f, 12.0f, 0x40000001 }, { 0.0f, 0.0f, 1.1999999, 0 }, { 0.0f, 0.0f, 12.0f, 0x40000001 }, + { 0.0f, 0.0f, 6.0f, 0 }, { 6.0f, 0.0f, 4.7999997f, 0 }, { 0.0f, 0.0f, 1.1999999f, 0 }, { 0.0f, 0.0f, 1.1999999f, 0 }, { 0.0f, 0.0f, 1.1999999f, 0 }, + { 0.0f, 0.0f, 12.0f, 0 }, { 0.0f, 0.0f, 12.0f, 0 } }; -s32 lbl_1_data_274[] = { - DATA_MAKE_NUM(DATADIR_MGCONST, 0), - DATA_MAKE_NUM(DATADIR_MGCONST, 1), - DATA_MAKE_NUM(DATADIR_MGCONST, 2), - DATA_MAKE_NUM(DATADIR_MGCONST, 3), - DATA_MAKE_NUM(DATADIR_MGCONST, 4), - DATA_MAKE_NUM(DATADIR_MGCONST, 5), - DATA_MAKE_NUM(DATADIR_MGCONST, 6), - DATA_MAKE_NUM(DATADIR_MGCONST, 7), -}; +s32 lbl_1_data_274[] = { DATA_MAKE_NUM(DATADIR_MGCONST, 0), DATA_MAKE_NUM(DATADIR_MGCONST, 1), DATA_MAKE_NUM(DATADIR_MGCONST, 2), + DATA_MAKE_NUM(DATADIR_MGCONST, 3), DATA_MAKE_NUM(DATADIR_MGCONST, 4), DATA_MAKE_NUM(DATADIR_MGCONST, 5), DATA_MAKE_NUM(DATADIR_MGCONST, 6), + DATA_MAKE_NUM(DATADIR_MGCONST, 7) }; GXColor lbl_1_data_294[] = { { 102, 0, 0, 255 }, @@ -145,6 +109,8 @@ void fn_1_7E30(Process *objman) void fn_1_806C(void) { + s32 var_lr; + HuSprAnimKill(lbl_1_bss_70); CharModelKill(-1); } @@ -178,9 +144,9 @@ void fn_1_80A0(omObjData *object) for (var_r29 = 0; var_r29 < 10; var_r29++) { if (lbl_1_data_1AC[var_r29] < 0x10000) { object->motion[var_r29] = CharModelMotionCreate(var_r28, lbl_1_data_1AC[var_r29]); - } - else { - object->motion[var_r29] = Hu3DJointMotionFile(object->model[0], var_r28 + lbl_1_data_1AC[var_r29]); + } else { + object->motion[var_r29] + = Hu3DJointMotion(object->model[0], HuDataSelHeapReadNum(var_r28 + lbl_1_data_1AC[var_r29], MEMORY_DEFAULT_NUM, HEAP_DATA)); } } CharModelMotionDataClose(var_r28); @@ -212,40 +178,40 @@ void fn_1_8414(omObjData *object) UnkM410Struct7 sp8 = { { 42, 78, 108, 125 } }; switch (var_r31->unk_34) { - case 0: - fn_1_9F70(object, 0); - if (fn_1_2804()) { - var_r31->unk_38 = 0; - var_r31->unk_34++; + case 0: + fn_1_9F70(object, 0); + if (fn_1_2804()) { + var_r31->unk_38 = 0; + var_r31->unk_34++; + } + break; + case 1: + if (var_r31->unk_38 >= sp8.unk_00[var_r31->unk_04]) { + var_r31->unk_28 = 1; + var_r31->unk_34++; + } + break; + case 2: + fn_1_96F4(object); + if (var_r31->unk_38 >= (2.8f + 0.00040000002f * frandmod(1000)) * 60.0f) { + var_r31->unk_2C = 1; + var_r31->unk_38 = 0; + var_r31->unk_34++; + } + break; + case 3: + if (var_r31->unk_24) { + if (var_r31->unk_38 >= 27.0f) { + var_r31->unk_30 = 1; } - break; - case 1: - if (var_r31->unk_38 >= sp8.unk_00[var_r31->unk_04]) { - var_r31->unk_28 = 1; - var_r31->unk_34++; - } - break; - case 2: - fn_1_96F4(object); - if (var_r31->unk_38 >= (2.8f + 0.00040000002f * frandmod(1000)) * 60.0f) { - var_r31->unk_2C = 1; - var_r31->unk_38 = 0; - var_r31->unk_34++; - } - break; - case 3: - if (var_r31->unk_24) { - if (var_r31->unk_38 >= 27.0f) { - var_r31->unk_30 = 1; - } - } - if (fn_1_9A90(object)) { - var_r31->unk_34++; - } - break; - case 4: - fn_1_9F70(object, 0); - break; + } + if (fn_1_9A90(object)) { + var_r31->unk_34++; + } + break; + case 4: + fn_1_9F70(object, 0); + break; } } fn_1_8A10(object); @@ -275,37 +241,35 @@ void fn_1_8678(omObjData *object) } } switch (var_r31->unk_34) { - case 0: - if (fn_1_9F70(object, 0)) { - var_r31->unk_28 = 1; - } - fn_1_96F4(object); - if (var_r31->unk_18) { - var_r31->unk_34++; - } - break; - case 1: - if (!var_r31->unk_1C && !var_r31->unk_20) { - if (var_r31->unk_10 & 0x100) { - if (fn_1_281C() == 2) { - var_r31->unk_2C = 1; - } + case 0: + if (fn_1_9F70(object, 0)) { + var_r31->unk_28 = 1; + } + fn_1_96F4(object); + if (var_r31->unk_18) { + var_r31->unk_34++; + } + break; + case 1: + if (!var_r31->unk_1C && !var_r31->unk_20) { + if (var_r31->unk_10 & 0x100) { + if (fn_1_281C() == 2) { + var_r31->unk_2C = 1; } - else if (var_r31->unk_10 & 0x200 && fn_1_281C() == 2) { - if (fabs(fn_1_30F0(var_r31->unk_3C, var_r31->unk_40)) < 45.0) { - var_r31->unk_30 = 1; - } + } else if (var_r31->unk_10 & 0x200 && fn_1_281C() == 2) { + if (fabs(fn_1_30F0(var_r31->unk_3C, var_r31->unk_40)) < 45.0) { + var_r31->unk_30 = 1; } - var_r29 = 1; } - else if (var_r31->unk_24 && var_r31->unk_10 & 0x200) { - var_r31->unk_30 = 1; - } - if (fn_1_9A90(object) || fn_1_9C84(object)) { - var_r31->unk_36 = 0; - var_r31->unk_34--; - } - break; + var_r29 = 1; + } else if (var_r31->unk_24 && var_r31->unk_10 & 0x200) { + var_r31->unk_30 = 1; + } + if (fn_1_9A90(object) || fn_1_9C84(object)) { + var_r31->unk_36 = 0; + var_r31->unk_34--; + } + break; } fn_1_8A10(object); if (fn_1_281C() == 3 && var_r29) { @@ -322,33 +286,32 @@ void fn_1_88D8(omObjData *object) var_r31 = object->data; fn_1_8A10(object); switch (var_r31->unk_34) { - case 0: + case 0: + var_r31->unk_34++; + return; + case 1: + if (fn_1_2834() == 1) { + Hu3DModelHookReset(object->model[0]); + Hu3DModelAttrSet(object->model[1], 1); + if ((1 << object->work[0]) & fn_1_2864()) { + fn_1_9E0C(object, 8); + } else { + fn_1_9E0C(object, 9); + } + var_r31->unk_40 = 0.0f; + var_r31->unk_44 = 0.0f; + var_r31->unk_48 = 0.005f; var_r31->unk_34++; - return; - case 1: - if (fn_1_2834() == 1) { - Hu3DModelHookReset(object->model[0]); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - if ((1 << object->work[0]) & fn_1_2864()) { - fn_1_9E0C(object, 8); - } - else { - fn_1_9E0C(object, 9); - } - var_r31->unk_40 = 0.0f; - var_r31->unk_44 = 0.0f; - var_r31->unk_48 = 0.005f; - var_r31->unk_34++; - } - break; - case 2: - if (fn_1_9EFC(object)) { - fn_1_28AC(object->work[0]); - var_r31->unk_34++; - } - break; - default: - break; + } + break; + case 2: + if (fn_1_9EFC(object)) { + fn_1_28AC(object->work[0]); + var_r31->unk_34++; + } + break; + default: + break; } } @@ -388,75 +351,72 @@ void fn_1_8ABC(omObjData *object) var_r31 = object->data; var_r31->unk_10 = 0; switch (var_r31->unk_50) { - case 0: - if (!var_r31->unk_18) { - return; - } + case 0: + if (!var_r31->unk_18) { + return; + } + if (frandmod(1000) <= 1000.0f * var_r31->unk_4C) { + var_f28 = 42.0f; if (frandmod(1000) <= 1000.0f * var_r31->unk_4C) { - var_f28 = 42.0f; - if (frandmod(1000) <= 1000.0f * var_r31->unk_4C) { - var_f29 = 280.0f; - var_r31->unk_54 = 31.8f + frandmod(6); + var_f29 = 280.0f; + var_r31->unk_54 = 31.8f + frandmod(6); + } else { + var_f29 = 419.99997f; + var_r31->unk_54 = 9.0f + frandmod(15); + } + var_f27 = var_f28 + var_r31->unk_54; + var_r29 = -1; + var_f31 = 10000.0f; + for (var_r30 = 0; var_r30 < 18; var_r30++) { + fn_1_7888(var_r30, (s32)var_f27, &sp28); + if (fabs(sp28.y - var_f29) > 10.0) { + continue; } - else { - var_f29 = 419.99997f; - var_r31->unk_54 = 9.0f + frandmod(15); + fn_1_7840(var_r30, &sp34); + if (fabs(sp34.x) < 1.9166667461395264) { + continue; } - var_f27 = var_f28 + var_r31->unk_54; - var_r29 = -1; - var_f31 = 10000.0f; - for (var_r30 = 0; var_r30 < 18; var_r30++) { - fn_1_7888(var_r30, (s32)var_f27, &sp28); - if (fabs(sp28.y - var_f29) > 10.0) { - continue; - } - fn_1_7840(var_r30, &sp34); - if (fabs(sp34.x) < 1.9166667461395264) { - continue; - } - var_f30 = sp28.x - var_r31->unk_88.x; - if (sp34.x >= 0.0f) { - if (var_f30 < 0.0f) { - if (fabs(var_f30) < var_f31) { - var_r29 = var_r30; - var_f31 = fabs(var_f30); - } - } - } - else if (var_f30 > 0.0f) { + var_f30 = sp28.x - var_r31->unk_88.x; + if (sp34.x >= 0.0f) { + if (var_f30 < 0.0f) { if (fabs(var_f30) < var_f31) { var_r29 = var_r30; var_f31 = fabs(var_f30); } } + } else if (var_f30 > 0.0f) { + if (fabs(var_f30) < var_f31) { + var_r29 = var_r30; + var_f31 = fabs(var_f30); + } } - if (var_r29 < 0) { - return; - } - fn_1_7840(var_r29, &sp34); - var_f31 /= fabs(sp34.x); - var_r31->unk_52 = var_f27 + var_f31 - var_f28 - var_r31->unk_54; } - else { - var_r31->unk_52 = 24.0f + frandmod(36); - var_r31->unk_54 = 12.0f + frandmod(18); + if (var_r29 < 0) { + return; } + fn_1_7840(var_r29, &sp34); + var_f31 /= fabs(sp34.x); + var_r31->unk_52 = var_f27 + var_f31 - var_f28 - var_r31->unk_54; + } else { + var_r31->unk_52 = 24.0f + frandmod(36); + var_r31->unk_54 = 12.0f + frandmod(18); + } + var_r31->unk_50++; + return; + case 1: + if (!var_r31->unk_52) { + var_r31->unk_10 |= 256; var_r31->unk_50++; - return; - case 1: - if (!var_r31->unk_52) { - var_r31->unk_10 |= 256; - var_r31->unk_50++; - } - var_r31->unk_52--; - return; - case 2: - if (!var_r31->unk_54) { - var_r31->unk_10 |= 512; - var_r31->unk_50 = 0; - } - var_r31->unk_54--; - break; + } + var_r31->unk_52--; + return; + case 2: + if (!var_r31->unk_54) { + var_r31->unk_10 |= 512; + var_r31->unk_50 = 0; + } + var_r31->unk_54--; + break; } } @@ -505,8 +465,8 @@ void fn_1_9040(omObjData *object) if (sp20.y < 350.0f) { continue; } - VECSubtract(&sp20, &var_r31->unk_58, &sp2C); - var_f28 = VECMag(&sp2C); + PSVECSubtract(&sp20, &var_r31->unk_58, &sp2C); + var_f28 = PSVECMag(&sp2C); if (var_f28 < var_f30) { var_r28 = var_r29; var_f30 = var_f28; @@ -520,8 +480,7 @@ void fn_1_9040(omObjData *object) sp2C.x = (0.016666668f * (sp20.x - var_r31->unk_70.x)) / var_f31; sp2C.y = 0.016666668f * var_f27; sp2C.z = (0.016666668f * (sp20.z - var_r31->unk_70.z)) / var_f31; - } - else { + } else { if (var_r31->unk_20 != 0) { var_f30 = -450.0f + (0.05f * frandmod(1000)); var_f29 = -100.0f; @@ -529,8 +488,7 @@ void fn_1_9040(omObjData *object) sp20.x = var_r31->unk_70.x + (0.05f * (frandmod(2000) - 1000)); sp20.y = var_f29; sp20.z = var_f30; - } - else { + } else { var_f30 = -700.0f; var_f29 = 420.0f; if (var_r31->unk_68 < -600.0f) { @@ -558,8 +516,7 @@ void fn_1_9040(omObjData *object) } if (var_r28 >= 0 && var_f30 <= var_f25) { fn_1_7888(var_r28, var_r27, &sp20); - } - else { + } else { sp20.x = var_r31->unk_88.x; sp20.y = var_f29; sp20.z = -700.0f; @@ -599,7 +556,7 @@ void fn_1_96F4(omObjData *object) if (var_r31->unk_14 && var_r31->unk_28) { var_r31->unk_14 = 0; var_r31->unk_28 = 0; - Hu3DModelAttrReset(object->model[1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(object->model[1], 1); var_r31->unk_36 = 0; var_r31->unk_70.x = object->trans.x; var_r31->unk_70.y = 100.0f + object->trans.y; @@ -613,7 +570,7 @@ void fn_1_96F4(omObjData *object) var_r31->unk_44 = 0.0f; var_r31->unk_48 = 0.04f; } - VECAdd(&var_r31->unk_70, &var_r31->unk_7C, &var_r31->unk_70); + PSVECAdd(&var_r31->unk_70, &var_r31->unk_7C, &var_r31->unk_70); var_r31->unk_7C.y = var_r31->unk_7C.y + (0.0002777778f * var_f29); if ((var_r31->unk_7C.y < 0.0f) && (var_r31->unk_70.y <= var_f30)) { var_r31->unk_18 = 1; @@ -628,8 +585,7 @@ void fn_1_96F4(omObjData *object) } if (var_r31->unk_18 != 0) { Hu3DModelPosSet(object->model[1], 0.0f, 0.0f, 0.0f); - } - else { + } else { Hu3DModelPosSet(object->model[1], var_r31->unk_70.x, var_r31->unk_70.y, var_r31->unk_70.z); } if (var_r31->unk_36 >= (60.0f * (var_f31 - 0.17f))) { @@ -649,7 +605,7 @@ s32 fn_1_9A90(omObjData *object) return var_r29; } if (!var_r31->unk_18) { - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[1], 1); } if (var_r31->unk_18 && !var_r31->unk_1C && var_r31->unk_2C) { var_r31->unk_1C = 1; @@ -665,8 +621,7 @@ s32 fn_1_9A90(omObjData *object) var_r31->unk_1C = 0; if (var_r31->unk_18) { fn_1_9E0C(object, 7); - } - else { + } else { var_r29 = 1; fn_1_9E0C(object, 6); } @@ -681,8 +636,7 @@ s32 fn_1_9A90(omObjData *object) var_r31->unk_30 = 0; } } - } - else if (var_r31->unk_18) { + } else if (var_r31->unk_18) { fn_1_9F70(object, 2); } return var_r29; @@ -697,21 +651,19 @@ s32 fn_1_9C84(omObjData *object) var_r31 = object->data; var_r29 = 0; if (!var_r31->unk_18) { - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[1], 1); } if (!var_r31->unk_20 && var_r31->unk_18 && !var_r31->unk_1C && var_r31->unk_30) { fn_1_9E0C(object, 3); var_r31->unk_30 = 0; var_r31->unk_20 = 1; var_r31->unk_36 = 0; - } - else if (var_r31->unk_20) { + } else if (var_r31->unk_20) { if (var_r31->unk_18) { if (var_r31->unk_36 >= 18.0f) { fn_1_9040(object); } - } - else if (var_r31->unk_36 >= 30.0f && fn_1_9EFC(object)) { + } else if (var_r31->unk_36 >= 30.0f && fn_1_9EFC(object)) { var_r31->unk_30 = 0; var_r31->unk_2C = 0; var_r31->unk_20 = 0; @@ -834,50 +786,49 @@ void fn_1_A3C0(omObjData *object) for (var_r29 = 0; var_r29 < 4; var_r29++, var_r31++) { switch (var_r31->unk_14) { - case 0: - if (fn_1_281C() == 2) { - var_r31->unk_14 = 1; - } - break; - case 1: - var_r31->unk_18 = 0; - var_r31->unk_20 = var_r31->unk_08 % 10; - var_r31->unk_1C = (var_r31->unk_08 / 10) % 10; - espDispOn(var_r31->unk_3C[0]); - espDispOn(var_r31->unk_3C[1]); - espDispOn(var_r31->unk_40); - espDispOn(var_r31->unk_42); - espDispOn(var_r31->unk_44); - espBankSet(var_r31->unk_3C[0], var_r31->unk_1C); - espBankSet(var_r31->unk_3C[1], var_r31->unk_20); - espBankSet(var_r31->unk_40, var_r31->unk_24); - if (var_r31->unk_00) { - var_r31->unk_2C[0] = var_r31->unk_2C[1] = 0.5f; - var_r31->unk_14++; - } - else { - var_r31->unk_00 = 1; - var_r31->unk_2C[0] = var_r31->unk_2C[1] = 1.0f; - var_r31->unk_14 += 3; - break; - } - case 2: - var_f31 = var_r31->unk_2C[0]; - var_f31 += 0.10000001f; - if (var_f31 >= 1.5f) { - var_r31->unk_14++; - } - var_r31->unk_2C[0] = var_r31->unk_2C[1] = var_f31; - break; - case 3: - var_f31 = var_r31->unk_2C[0]; - var_f31 -= 0.10000001f; - if (var_f31 <= 1.0f) { - var_f31 = 1.0f; - var_r31->unk_14 = var_r31->unk_14 + 1; - } - var_r31->unk_2C[0] = var_r31->unk_2C[1] = var_f31; + case 0: + if (fn_1_281C() == 2) { + var_r31->unk_14 = 1; + } + break; + case 1: + var_r31->unk_18 = 0; + var_r31->unk_20 = var_r31->unk_08 % 10; + var_r31->unk_1C = (var_r31->unk_08 / 10) % 10; + espDispOn(var_r31->unk_3C[0]); + espDispOn(var_r31->unk_3C[1]); + espDispOn(var_r31->unk_40); + espDispOn(var_r31->unk_42); + espDispOn(var_r31->unk_44); + espBankSet(var_r31->unk_3C[0], var_r31->unk_1C); + espBankSet(var_r31->unk_3C[1], var_r31->unk_20); + espBankSet(var_r31->unk_40, var_r31->unk_24); + if (var_r31->unk_00) { + var_r31->unk_2C[0] = var_r31->unk_2C[1] = 0.5f; + var_r31->unk_14++; + } else { + var_r31->unk_00 = 1; + var_r31->unk_2C[0] = var_r31->unk_2C[1] = 1.0f; + var_r31->unk_14 += 3; break; + } + case 2: + var_f31 = var_r31->unk_2C[0]; + var_f31 += 0.10000001f; + if (var_f31 >= 1.5f) { + var_r31->unk_14++; + } + var_r31->unk_2C[0] = var_r31->unk_2C[1] = var_f31; + break; + case 3: + var_f31 = var_r31->unk_2C[0]; + var_f31 -= 0.10000001f; + if (var_f31 <= 1.0f) { + var_f31 = 1.0f; + var_r31->unk_14 = var_r31->unk_14 + 1; + } + var_r31->unk_2C[0] = var_r31->unk_2C[1] = var_f31; + break; } var_r31->unk_18++; @@ -894,8 +845,7 @@ void fn_1_A3C0(omObjData *object) var_r30->unk_00++; if (var_r30->unk_00 < 12.0f) { var_r30->unk_04 += 0.058333337f; - } - else { + } else { var_r30->unk_04 += 0.025000002f; var_r30->unk_0C -= 0.050000004f; } @@ -1077,8 +1027,8 @@ void fn_1_B140(ModelData *arg0, Mtx arg1) DCStoreRange(&sp10, 4); DCStoreRange(&lbl_1_data_294, 32); - MTXTrans(spF4, -400.0f, 400.0f, -700.0f); - MTXConcat(Hu3DCameraMtx, spF4, sp64); + PSMTXTrans(spF4, -400.0f, 400.0f, -700.0f); + PSMTXConcat(Hu3DCameraMtx, spF4, sp64); GXLoadPosMtxImm(sp64, 0); GXSetNumChans(1); GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); @@ -1088,10 +1038,10 @@ void fn_1_B140(ModelData *arg0, Mtx arg1) HuSprTexLoad(lbl_1_bss_70, 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR); GXSetNumTexGens(2); C_MTXLightPerspective(sp94, 41.5f, 1.2f, 0.5555555f, -0.5f, 0.5555555f, 0.5f); - MTXConcat(sp94, Hu3DCameraMtx, sp94); - MTXInverse(Hu3DCameraMtx, sp34); - MTXConcat(sp34, sp64, sp124); - MTXConcat(sp94, sp124, spF4); + PSMTXConcat(sp94, Hu3DCameraMtx, sp94); + PSMTXInverse(Hu3DCameraMtx, sp34); + PSMTXConcat(sp34, sp64, sp124); + PSMTXConcat(sp94, sp124, spF4); GXLoadTexMtxImm(spF4, 30, GX_MTX3x4); GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 30, GX_FALSE, 125); GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEXCOORD0, 33, GX_FALSE, 125); @@ -1099,7 +1049,7 @@ void fn_1_B140(ModelData *arg0, Mtx arg1) GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD1, GX_TEXMAP1); GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, GX_TRUE, GX_FALSE, GX_ITM_0); - MTXScale(spF4, -0.5f, -0.5f, 0.5f); + PSMTXScale(spF4, -0.5f, -0.5f, 0.5f); GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spF4, -1); GXSetNumTevStages(1); GXSetTevColor(GX_TEVREG1, sp10); @@ -1126,17 +1076,17 @@ void fn_1_B140(ModelData *arg0, Mtx arg1) if (var_r31->unk_00) { lbl_1_data_294[var_r31->unk_02].a = 255.0f * var_r31->unk_0C; GXSetTevColor(GX_TEVREG0, lbl_1_data_294[var_r31->unk_02]); - MTXTrans(spF4, var_r31->unk_10.x, var_r31->unk_10.y, var_r31->unk_10.z); - MTXRotRad(sp124, 90, 0.017453292f * var_r31->unk_08); - MTXConcat(spF4, sp124, spF4); - MTXScale(spC4, var_r31->unk_04, var_r31->unk_04, var_r31->unk_04); - MTXConcat(spF4, spC4, spF4); - MTXConcat(Hu3DCameraMtx, spF4, sp64); + PSMTXTrans(spF4, var_r31->unk_10.x, var_r31->unk_10.y, var_r31->unk_10.z); + PSMTXRotRad(sp124, 90, 0.017453292f * var_r31->unk_08); + PSMTXConcat(spF4, sp124, spF4); + PSMTXScale(spC4, var_r31->unk_04, var_r31->unk_04, var_r31->unk_04); + PSMTXConcat(spF4, spC4, spF4); + PSMTXConcat(Hu3DCameraMtx, spF4, sp64); GXLoadPosMtxImm(sp64, 0); - MTXConcat(sp34, sp64, sp124); - MTXConcat(sp94, sp124, spF4); + PSMTXConcat(sp34, sp64, sp124); + PSMTXConcat(sp94, sp124, spF4); GXLoadTexMtxImm(spF4, 30, GX_MTX3x4); - MTXRotRad(sp124, 90, 0.017453292f * -var_r31->unk_08); + PSMTXRotRad(sp124, 90, 0.017453292f * -var_r31->unk_08); GXLoadTexMtxImm(sp124, 33, GX_MTX2x4); GXCallDisplayList(var_r30->unk_120.unk_E5C, var_r30->unk_120.unk_E58); } diff --git a/src/REL/m410Dll/stage.c b/src/REL/m410Dll/stage.c index b7bbb218..f4b8ac21 100644 --- a/src/REL/m410Dll/stage.c +++ b/src/REL/m410Dll/stage.c @@ -22,9 +22,9 @@ void fn_1_31FC(omObjData *object) object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M410, 14)); object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M410, 15)); object->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M410, 16)); - Hu3DModelAttrSet(object->model[3], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(object->model[3], 0x40000001); object->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M410, 17)); - Hu3DModelAttrSet(object->model[4], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(object->model[4], 0x40000001); object->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M410, 18)); object->func = fn_1_3350; } diff --git a/src/REL/m411Dll/main.c b/src/REL/m411Dll/main.c index c99ccbca..2f2dc72a 100755 --- a/src/REL/m411Dll/main.c +++ b/src/REL/m411Dll/main.c @@ -18,6 +18,7 @@ #include "dolphin.h" #include "ext_math.h" +#include "rel_sqrt_consts.h" typedef struct { /* 0x00 */ s16 unk00; @@ -95,12 +96,12 @@ typedef struct { /* 0x060 */ float unk60; /* 0x064 */ float unk64; /* 0x068 */ float unk68; - /* 0x06C */ UnkBss474InnerStruct6C *unk6C[10]; - /* 0x094 */ UnkBss474InnerStruct6C *unk94[10]; - /* 0x0BC */ UnkBss474InnerStruct6C *unkBC[10]; + /* 0x06C */ UnkBss474InnerStruct6C* unk6C[10]; + /* 0x094 */ UnkBss474InnerStruct6C* unk94[10]; + /* 0x0BC */ UnkBss474InnerStruct6C* unkBC[10]; /* 0x0E4 */ UnkBss474InnerStructE4 unkE4[10]; - /* 0x24C */ AnimData *unk24C; - /* 0x250 */ AnimData *unk250; + /* 0x24C */ AnimData* unk24C; + /* 0x250 */ AnimData* unk250; /* 0x254 */ s8 unk254; /* 0x255 */ s8 unk255; /* 0x256 */ s8 unk256; @@ -112,13 +113,13 @@ typedef struct { } UnkBss474Struct; // Size 0x26C typedef struct { - /* 0x00 */ UnkBss474Struct *unk00; + /* 0x00 */ UnkBss474Struct* unk00; /* 0x04 */ s32 unk04; /* 0x08 */ s32 unk08; - /* 0x0C */ s32 *unk0C; + /* 0x0C */ s32* unk0C; } UnkFn64A3Struct; // Size unknown -void fn_1_E80(omObjData *arg0); +void fn_1_E80(omObjData* arg0); void fn_1_F8C(float arg0); void fn_1_1074(void); void fn_1_1498(s16 layer); @@ -126,11 +127,11 @@ s32 fn_1_1520(void); s32 fn_1_1C4C(void); s32 fn_1_20C8(void); void fn_1_25D0(void); -void fn_1_34B0(ModelData *model, ParticleData *particle, Mtx matrix, s32 arg3); -void fn_1_3A60(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_3A9C(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_3AD8(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_3B14(ModelData *model, ParticleData *particle, Mtx matrix); +void fn_1_34B0(ModelData* model, ParticleData* particle, Mtx matrix, s32 arg3); +void fn_1_3A60(ModelData* model, ParticleData* particle, Mtx matrix); +void fn_1_3A9C(ModelData* model, ParticleData* particle, Mtx matrix); +void fn_1_3AD8(ModelData* model, ParticleData* particle, Mtx matrix); +void fn_1_3B14(ModelData* model, ParticleData* particle, Mtx matrix); void fn_1_3B50(void); void fn_1_3F34(void); void fn_1_4218(void); @@ -147,14 +148,14 @@ void fn_1_5910(void); s8 fn_1_5D58(s32 arg0, s32 arg1); u8 fn_1_5E10(s32 arg0, s32 arg1); u16 fn_1_5ED0(s32 arg0); -void fn_1_5F3C(UnkBss474Struct *arg0, s32 arg1); -void fn_1_6428(UnkBss474Struct *arg0, s32 arg1); -void fn_1_6820(UnkBss474Struct *arg0, s32 arg1, s32 arg2); +void fn_1_5F3C(UnkBss474Struct* arg0, s32 arg1); +void fn_1_6428(UnkBss474Struct* arg0, s32 arg1); +void fn_1_6820(UnkBss474Struct* arg0, s32 arg1, s32 arg2); void fn_1_6A3C(void); void fn_1_6CF4(void); -void fn_1_6DD8(UnkBss474Struct *arg0, s32 arg1); +void fn_1_6DD8(UnkBss474Struct* arg0, s32 arg1); void fn_1_6E9C(s32 arg0, s32 arg1); -void fn_1_6F48(UnkBss474Struct *arg0, s32 arg1, s32 arg2); +void fn_1_6F48(UnkBss474Struct* arg0, s32 arg1, s32 arg2); void fn_1_75C8(void); void fn_1_7680(void); void fn_1_7738(void); @@ -185,53 +186,102 @@ s32 lbl_1_bss_E28; float lbl_1_bss_E24; UnkBss474Struct lbl_1_bss_474[4]; UnkBss138Struct lbl_1_bss_138; -omObjData *lbl_1_bss_134; -Process *lbl_1_bss_124[4]; +omObjData* lbl_1_bss_134; +Process* lbl_1_bss_124[4]; Vec lbl_1_bss_C4[8]; Vec lbl_1_bss_64[8]; Vec lbl_1_bss_4[8]; -void *lbl_1_bss_0; +void* lbl_1_bss_0; -float lbl_1_data_0[][7] = { { -10.0f, 0.0f, 0.0f, 0.0f, 0.0f, -3375.0f, 7460.0f }, { -9.5f, 0.0f, 0.0f, 0.0f, 0.0f, -510.0f, 1860.0f }, - { -5.0f, 0.0f, 0.0f, 0.0f, 0.0f, -2870.0f, 5060.0f } }; +float lbl_1_data_0[][7] = { + { -10.0f, 0.0f, 0.0f, 0.0f, 0.0f, -3375.0f, 7460.0f }, + { -9.5f, 0.0f, 0.0f, 0.0f, 0.0f, -510.0f, 1860.0f }, + { -5.0f, 0.0f, 0.0f, 0.0f, 0.0f, -2870.0f, 5060.0f } +}; -s32 lbl_1_data_54[] = { DATA_MAKE_NUM(DATADIR_M411, 9), DATA_MAKE_NUM(DATADIR_M411, 11), DATA_MAKE_NUM(DATADIR_M411, 10) }; +s32 lbl_1_data_54[] = { + DATA_MAKE_NUM(DATADIR_M411, 9), + DATA_MAKE_NUM(DATADIR_M411, 11), + DATA_MAKE_NUM(DATADIR_M411, 10) +}; -char *lbl_1_data_6C[] = { "puzzle00", "puzzle00", "puzzle00" }; +char* lbl_1_data_6C[] = { + "puzzle00", "puzzle00", "puzzle00" +}; -char *lbl_1_data_1C8[][10] = { { "puzzle_B1-p01", "puzzle_B1-p02", "puzzle_B1-p03", "puzzle_B1-p04", "puzzle_B1-p05", "puzzle_B1-p06", - "puzzle_B1-p07", "puzzle_B1-p08" }, - { "puzzle_B2-p01", "puzzle_B2-p02", "puzzle_B2-p03", "puzzle_B2-p04", "puzzle_B2-p05", "puzzle_B2-p06", "puzzle_B2-p07", "puzzle_B2-p08" }, - { "puzzle_B3-p01", "puzzle_B3-p02", "puzzle_B3-p03", "puzzle_B3-p04", "puzzle_B3-p05", "puzzle_B3-p06", "puzzle_B3-p07", "puzzle_B3-p08" } }; +char* lbl_1_data_1C8[][10] = { + { + "puzzle_B1-p01", "puzzle_B1-p02", "puzzle_B1-p03", "puzzle_B1-p04", + "puzzle_B1-p05", "puzzle_B1-p06", "puzzle_B1-p07", "puzzle_B1-p08" + }, + { + "puzzle_B2-p01", "puzzle_B2-p02", "puzzle_B2-p03", "puzzle_B2-p04", + "puzzle_B2-p05", "puzzle_B2-p06", "puzzle_B2-p07", "puzzle_B2-p08" + }, + { + "puzzle_B3-p01", "puzzle_B3-p02", "puzzle_B3-p03", "puzzle_B3-p04", + "puzzle_B3-p05", "puzzle_B3-p06", "puzzle_B3-p07", "puzzle_B3-p08" + } +}; s32 lbl_1_data_240[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; -s32 lbl_1_data_260[8] = { DATA_MAKE_NUM(DATADIR_MARIOMDL1, 0), DATA_MAKE_NUM(DATADIR_LUIGIMDL1, 0), DATA_MAKE_NUM(DATADIR_PEACHMDL1, 0), - DATA_MAKE_NUM(DATADIR_YOSHIMDL1, 0), DATA_MAKE_NUM(DATADIR_WARIOMDL1, 0), DATA_MAKE_NUM(DATADIR_DONKEYMDL1, 0), - DATA_MAKE_NUM(DATADIR_DAISYMDL1, 0), DATA_MAKE_NUM(DATADIR_WALUIGIMDL1, 0) }; +s32 lbl_1_data_260[8] = { + DATA_MAKE_NUM(DATADIR_MARIOMDL1, 0), + DATA_MAKE_NUM(DATADIR_LUIGIMDL1, 0), + DATA_MAKE_NUM(DATADIR_PEACHMDL1, 0), + DATA_MAKE_NUM(DATADIR_YOSHIMDL1, 0), + DATA_MAKE_NUM(DATADIR_WARIOMDL1, 0), + DATA_MAKE_NUM(DATADIR_DONKEYMDL1, 0), + DATA_MAKE_NUM(DATADIR_DAISYMDL1, 0), + DATA_MAKE_NUM(DATADIR_WALUIGIMDL1, 0) +}; -s32 lbl_1_data_280[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), DATA_MAKE_NUM(DATADIR_MARIOMOT, 1), DATA_MAKE_NUM(DATADIR_MARIOMOT, 2), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 5), DATA_MAKE_NUM(DATADIR_MARIOMOT, 6), DATA_MAKE_NUM(DATADIR_MARIOMOT, 27), DATA_MAKE_NUM(DATADIR_MARIOMOT, 32), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 33), DATA_MAKE_NUM(DATADIR_MARIOMOT, 23) }; +s32 lbl_1_data_280[] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 1), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 2), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 5), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 6), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 27), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 32), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 33), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 23) +}; -s32 lbl_1_data_2A4[8] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0), DATA_MAKE_NUM(DATADIR_PEACHMOT, 0), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0), DATA_MAKE_NUM(DATADIR_WARIOMOT, 0), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0), DATA_MAKE_NUM(DATADIR_DAISYMOT, 0), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0) }; +s32 lbl_1_data_2A4[8] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 0), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 0), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 0), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0) +}; -s32 lbl_1_data_2C4[] = { DATA_MAKE_NUM(DATADIR_M411, 27), DATA_MAKE_NUM(DATADIR_M411, 28), DATA_MAKE_NUM(DATADIR_M411, 23) }; +s32 lbl_1_data_2C4[] = { + DATA_MAKE_NUM(DATADIR_M411, 27), + DATA_MAKE_NUM(DATADIR_M411, 28), + DATA_MAKE_NUM(DATADIR_M411, 23) +}; -s32 lbl_1_data_2D0[] = { DATA_MAKE_NUM(DATADIR_M411, 30), DATA_MAKE_NUM(DATADIR_M411, 31), DATA_MAKE_NUM(DATADIR_M411, 32), - DATA_MAKE_NUM(DATADIR_M411, 33), DATA_MAKE_NUM(DATADIR_M411, 34) }; +s32 lbl_1_data_2D0[] = { + DATA_MAKE_NUM(DATADIR_M411, 30), + DATA_MAKE_NUM(DATADIR_M411, 31), + DATA_MAKE_NUM(DATADIR_M411, 32), + DATA_MAKE_NUM(DATADIR_M411, 33), + DATA_MAKE_NUM(DATADIR_M411, 34) +}; -void ObjectSetup(void) -{ +void ObjectSetup(void) { Vec sp24; Vec sp18; Vec spC; float temp_f31; float temp_f30; float sp8; - Process *temp_r3; + Process* temp_r3; s32 var_r29; s32 i; @@ -269,8 +319,7 @@ void ObjectSetup(void) Hu3DCameraScissorSet(0x10, 0x142, 0xF2, 0x13E, 0xEE); if (lbl_1_bss_E40 == 0) { lbl_1_bss_134 = omAddObjEx(temp_r3, 0x7FDA, 0, 0, -1, fn_1_E80); - } - else { + } else { lbl_1_bss_134 = omAddObjEx(temp_r3, 0x7FDA, 0, 0, -1, omOutViewMulti); } lbl_1_bss_134->work[0] = 5; @@ -348,33 +397,29 @@ void ObjectSetup(void) WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); } -void fn_1_E80(omObjData *arg0) -{ +void fn_1_E80(omObjData* arg0) { s32 i; for (i = 0; i < arg0->work[0]; i++) { - Hu3DCameraPosSet(1 << i, lbl_1_bss_C4[i].x, lbl_1_bss_C4[i].y, lbl_1_bss_C4[i].z, lbl_1_bss_4[i].x, lbl_1_bss_4[i].y, lbl_1_bss_4[i].z, - lbl_1_bss_64[i].x, lbl_1_bss_64[i].y, lbl_1_bss_64[i].z); + Hu3DCameraPosSet(1 << i, lbl_1_bss_C4[i].x, lbl_1_bss_C4[i].y, lbl_1_bss_C4[i].z, lbl_1_bss_4[i].x, lbl_1_bss_4[i].y, lbl_1_bss_4[i].z, lbl_1_bss_64[i].x, lbl_1_bss_64[i].y, lbl_1_bss_64[i].z); } } -void fn_1_F8C(float arg0) -{ +void fn_1_F8C(float arg0) { lbl_1_bss_E24 = arg0; Hu3DTexScrollPosMoveSet(lbl_1_bss_E9E, -0.01f * arg0, 0.0f, 0.0f); Hu3DTexScrollPosMoveSet(lbl_1_bss_E9C, -0.017f * arg0, 0.0f, 0.0f); HuAudFXPitchSet(lbl_1_bss_E2C[0], -8191.0f * (1.0f - arg0)); } -void fn_1_1074(void) -{ +void fn_1_1074(void) { Mtx44 sp64; Mtx sp34; Vec sp28; Vec sp1C; Vec sp10; GXColor spC; - CameraData *var_r31; + CameraData* var_r31; var_r31 = &Hu3DCamera[0]; C_MTXPerspective(sp64, var_r31->fov, var_r31->aspect, var_r31->near, var_r31->far); @@ -413,8 +458,7 @@ void fn_1_1074(void) GXEnd(); } -void fn_1_1498(s16 layer) -{ +void fn_1_1498(s16 layer) { if (Hu3DCameraNo == 1) { GXSetTexCopySrc(0, 0, 320, 240); GXSetTexCopyDst(320, 240, GX_TF_RGB5A3, GX_FALSE); @@ -424,13 +468,12 @@ void fn_1_1498(s16 layer) } } -s32 fn_1_1520(void) -{ - UnkBss138Struct *var_r30; - UnkBss138InnerStruct00 *var_r31; - UnkBss138InnerStruct00 *temp_r28; - Process *var_r23; - void *var_r26; +s32 fn_1_1520(void) { + UnkBss138Struct* var_r30; + UnkBss138InnerStruct00* var_r31; + UnkBss138InnerStruct00* temp_r28; + Process* var_r23; + void* var_r26; s16 var_r27; s16 var_r24; s16 var_r22; @@ -455,37 +498,35 @@ s32 fn_1_1520(void) var_r31 = &var_r30->unkE4[0]; var_r26 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M411, 17), MEMORY_DEFAULT_NUM, HEAP_DATA); var_r31->unk00 = var_r27 = Hu3DModelCreate(var_r26); - Hu3DModelAttrSet(var_r27, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r27, 1); Hu3DModelCameraSet(var_r27, 1); var_r26 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M411, 18), MEMORY_DEFAULT_NUM, HEAP_DATA); var_r31->unk0C = var_r24 = Hu3DModelCreate(var_r26); - Hu3DModelAttrSet(var_r24, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r24, 1); Hu3DModelCameraSet(var_r24, 1); for (i = 1; i < 5; i++) { var_r31 = &var_r30->unkE4[i]; var_r31->unk00 = Hu3DModelLink(var_r27); - Hu3DModelAttrSet(var_r31->unk00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk00, 1); Hu3DModelCameraSet(var_r31->unk00, 1); if (i == 1) { var_r26 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M411, 19), MEMORY_DEFAULT_NUM, HEAP_DATA); var_r31->unk0C = var_r22 = Hu3DModelCreate(var_r26); - } - else if (i & 1) { + } else if (i & 1) { var_r31->unk0C = Hu3DModelLink(var_r22); - } - else { + } else { var_r31->unk0C = Hu3DModelLink(var_r24); } - Hu3DModelAttrSet(var_r31->unk0C, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk0C, 1); Hu3DModelCameraSet(var_r31->unk0C, 1); } var_r26 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M411, 17), MEMORY_DEFAULT_NUM, HEAP_DATA); var_r30->unk274[0].unk00 = var_r27 = Hu3DModelCreate(var_r26); - Hu3DModelAttrSet(var_r27, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r27, 1); Hu3DModelCameraSet(var_r27, 1); for (i = 1; i < 5; i++) { var_r30->unk274[i].unk00 = Hu3DModelLink(var_r27); - Hu3DModelAttrSet(var_r30->unk274[i].unk00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r30->unk274[i].unk00, 1); Hu3DModelCameraSet(var_r30->unk274[i].unk00, 1); } var_r31 = &var_r30->unk1C[1]; @@ -505,7 +546,7 @@ s32 fn_1_1520(void) var_r31->unk02[i] = Hu3DJointMotion(var_r27, var_r26); } Hu3DMotionSet(var_r27, var_r31->unk02[0]); - Hu3DModelAttrSet(var_r27, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r27, 0x40000001); Hu3DModelShadowSet(var_r27); temp_r28 = &var_r30->unk1C[2]; temp_r28->unk00 = Hu3DModelLink(var_r27); @@ -516,8 +557,8 @@ s32 fn_1_1520(void) var_r26 = HuDataSelHeapReadNum(lbl_1_data_2C4[i], MEMORY_DEFAULT_NUM, HEAP_DATA); temp_r28->unk02[i] = Hu3DJointMotion(var_r27, var_r26); } - Hu3DModelAttrSet(temp_r28->unk00, HU3D_ATTR_CULL_FRONT); - Hu3DModelAttrSet(temp_r28->unk00, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(temp_r28->unk00, 0x800000); + Hu3DModelAttrSet(temp_r28->unk00, 0x40000001); Hu3DModelScaleSet(temp_r28->unk00, 1.0f, -1.0f, 1.0f); for (i = 0; i < 2; i++) { var_r31 = &var_r30->unk1AC[i]; @@ -531,7 +572,7 @@ s32 fn_1_1520(void) var_r31->unk02[j] = Hu3DJointMotion(var_r27, var_r26); } Hu3DMotionSet(var_r27, var_r31->unk02[0]); - Hu3DModelAttrSet(var_r27, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r27, 0x40000001); var_r31->unk10.x = 200.0f; var_r31->unk10.y = 0.0f; var_r31->unk10.z = -930.0f; @@ -547,8 +588,8 @@ s32 fn_1_1520(void) temp_r28->unk02[j] = Hu3DJointMotion(temp_r28->unk00, var_r26); } Hu3DModelCameraSet(temp_r28->unk00, 1); - Hu3DModelAttrSet(temp_r28->unk00, HU3D_ATTR_CULL_FRONT); - Hu3DModelAttrSet(temp_r28->unk00, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(temp_r28->unk00, 0x800000); + Hu3DModelAttrSet(temp_r28->unk00, 0x40000001); Hu3DModelPosSet(temp_r28->unk00, var_r31->unk10.x, var_r31->unk10.y, var_r31->unk10.z); Hu3DModelScaleSet(temp_r28->unk00, 1.0f, -1.0f, 1.0f); } @@ -556,15 +597,14 @@ s32 fn_1_1520(void) var_r23->user_data = var_r30; } -s32 fn_1_1C4C(void) -{ - UnkBss138Struct *var_r30; - UnkBss138InnerStruct00 *var_r29; +s32 fn_1_1C4C(void) { + UnkBss138Struct* var_r30; + UnkBss138InnerStruct00* var_r29; s16 var_r31; s16 sp8; s16 temp_r27; - Process *var_r26; - void *var_r28; + Process* var_r26; + void* var_r28; var_r30 = &lbl_1_bss_138; var_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M411, 35), MEMORY_DEFAULT_NUM, HEAP_DATA); @@ -579,7 +619,7 @@ s32 fn_1_1C4C(void) var_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M411, 36), MEMORY_DEFAULT_NUM, HEAP_DATA); var_r29->unk00 = var_r31 = Hu3DModelCreate(var_r28); Hu3DModelCameraSet(var_r31, 1); - Hu3DModelAttrSet(var_r31, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r31, 0x40000001); Hu3DModelShadowSet(var_r31); var_r29 = &var_r30->unk1C[1]; var_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M411, 38), MEMORY_DEFAULT_NUM, HEAP_DATA); @@ -588,7 +628,7 @@ s32 fn_1_1C4C(void) Hu3DModelCameraSet(var_r31, 1); var_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M411, 39), MEMORY_DEFAULT_NUM, HEAP_DATA); Hu3DMotionSet(var_r31, Hu3DJointMotion(var_r31, var_r28)); - Hu3DModelAttrSet(var_r31, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r31, 0x40000001); Hu3DModelShadowSet(var_r31); var_r29 = &var_r30->unk1C[2]; var_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M411, 38), MEMORY_DEFAULT_NUM, HEAP_DATA); @@ -596,7 +636,7 @@ s32 fn_1_1C4C(void) Hu3DModelCameraSet(var_r31, 1); var_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M411, 40), MEMORY_DEFAULT_NUM, HEAP_DATA); Hu3DMotionSet(var_r31, Hu3DJointMotion(var_r31, var_r28)); - Hu3DModelAttrSet(var_r31, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r31, 0x40000001); Hu3DModelPosSet(var_r31, 0.0f, 60.0f, -70.0f); Hu3DModelShadowSet(var_r31); var_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M411, 37), MEMORY_DEFAULT_NUM, HEAP_DATA); @@ -612,8 +652,8 @@ s32 fn_1_1C4C(void) var_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M411, 45), MEMORY_DEFAULT_NUM, HEAP_DATA); var_r29->unk02[2] = Hu3DJointMotion(var_r31, var_r28); Hu3DMotionSet(var_r31, var_r29->unk02[0]); - Hu3DModelAttrSet(var_r31, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r31, 1); + Hu3DModelAttrSet(var_r31, 0x40000001); Hu3DModelHookSet(var_r31, "itemhook_r", temp_r27); Hu3DModelShadowSet(var_r31); var_r29 = &var_r30->unkE4[1]; @@ -627,20 +667,19 @@ s32 fn_1_1C4C(void) var_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M411, 46), MEMORY_DEFAULT_NUM, HEAP_DATA); var_r29->unk02[2] = Hu3DJointMotion(var_r31, var_r28); Hu3DMotionSet(var_r31, var_r29->unk02[0]); - Hu3DModelAttrSet(var_r31, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r31, 1); + Hu3DModelAttrSet(var_r31, 0x40000001); Hu3DModelHookSet(var_r31, "itemhook_l", temp_r27); Hu3DModelShadowSet(var_r31); var_r26 = HuPrcChildCreate(fn_1_5384, 0x2000, 0x2000, 0, HuPrcCurrentGet()); var_r26->user_data = var_r30; } -s32 fn_1_20C8(void) -{ - UnkBss138Struct *var_r31; - UnkBss138InnerStruct00 *temp_r29; - Process *var_r26; - void *var_r28; +s32 fn_1_20C8(void) { + UnkBss138Struct* var_r31; + UnkBss138InnerStruct00* temp_r29; + Process* var_r26; + void* var_r28; s16 var_r30; s16 var_r25; s32 i; @@ -670,7 +709,7 @@ s32 fn_1_20C8(void) Hu3DModelCameraSet(var_r30, 1); Hu3DModelPosSet(var_r30, var_r31->unk04.x, var_r31->unk04.y, var_r31->unk04.z); Hu3DModelRotSet(var_r30, var_r31->unk10.x, var_r31->unk10.y, var_r31->unk10.z); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r30, 0x40000001); Hu3DMotionTimeSet(var_r30, Hu3DMotionMaxTimeGet(var_r30) / 4); temp_r29 = &var_r31->unk1C[1]; var_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M411, 49), MEMORY_DEFAULT_NUM, HEAP_DATA); @@ -679,20 +718,19 @@ s32 fn_1_20C8(void) Hu3DModelCameraSet(var_r30, 1); Hu3DModelPosSet(var_r30, var_r31->unk04.x, var_r31->unk04.y, var_r31->unk04.z); Hu3DModelRotSet(var_r30, var_r31->unk10.x, var_r31->unk10.y, var_r31->unk10.z); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r30, 0x40000001); Hu3DMotionTimeSet(var_r30, Hu3DMotionMaxTimeGet(var_r30) / 4); for (i = 0; i < 3; i++) { temp_r29 = &var_r31->unk1C[i + 2]; if (i == 0) { var_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M411, 50), MEMORY_DEFAULT_NUM, HEAP_DATA); temp_r29->unk00 = var_r30 = var_r25 = Hu3DModelCreate(var_r28); - } - else { + } else { temp_r29->unk00 = Hu3DModelLink(var_r25); } var_r30 = temp_r29->unk00; Hu3DModelCameraSet(var_r30, 1); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_SHAPE_LOOP); + Hu3DModelAttrSet(var_r30, 0x40000040); } temp_r29 = &var_r31->unkE4[0]; var_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M411, 51), MEMORY_DEFAULT_NUM, HEAP_DATA); @@ -706,7 +744,7 @@ s32 fn_1_20C8(void) temp_r29->unk10.x = temp_r29->unk10.y = temp_r29->unk10.z = 0.0f; Hu3DModelPosSet(var_r30, temp_r29->unk10.x, temp_r29->unk10.y, temp_r29->unk10.z); Hu3DModelRotSet(var_r30, 0.0f, -90.0f, 0.0f); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r30, 0x40000001); Hu3DModelShadowSet(var_r30); Hu3DMotionSet(var_r30, temp_r29->unk02[0]); temp_r29 = &var_r31->unk1AC[0]; @@ -714,23 +752,27 @@ s32 fn_1_20C8(void) var_r30 = Hu3DModelCreate(var_r28); temp_r29->unk00 = var_r30; Hu3DModelCameraSet(var_r30, 1); - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r30, 1); var_r26 = HuPrcChildCreate(fn_1_5910, 0x2000, 0x2000, 0, HuPrcCurrentGet()); var_r26->user_data = var_r31; } -ParticleHook lbl_1_data_30C[] = { fn_1_3A60, fn_1_3A9C, fn_1_3AD8, fn_1_3B14 }; +ParticleHook lbl_1_data_30C[] = { + fn_1_3A60, + fn_1_3A9C, + fn_1_3AD8, + fn_1_3B14 +}; -void fn_1_25D0(void) -{ +void fn_1_25D0(void) { u32 temp_r24; - UnkBss474Struct *temp_r31; - void *var_r28; - UnkBss474InnerStructE4 *temp_r27; - UnkBss474DoublyInnerStruct6C *temp_r26; - AnimData *var_r21; - AnimData *var_r20; - Process *var_r23; + UnkBss474Struct* temp_r31; + void* var_r28; + UnkBss474InnerStructE4* temp_r27; + UnkBss474DoublyInnerStruct6C* temp_r26; + AnimData* var_r21; + AnimData* var_r20; + Process* var_r23; s16 temp_r25; s32 var_r22; s32 i; @@ -768,7 +810,7 @@ void fn_1_25D0(void) Hu3DModelCameraSet(temp_r31->unk00, 1 << temp_r31->unk38); Hu3DModelPosSet(temp_r31->unk00, 0.0f, 0.0f, 0.0f); Hu3DModelRotSet(temp_r31->unk00, 0.0f, 0.0f, 0.0f); - Hu3DModelAttrSet(temp_r31->unk00, HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); + Hu3DModelAttrSet(temp_r31->unk00, 0x4001); var_r28 = HuDataSelHeapReadNum(lbl_1_data_54[lbl_1_bss_E3C], MEMORY_DEFAULT_NUM, HEAP_DATA); temp_r31->unk04 = Hu3DModelCreate(var_r28); var_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M411, 14), MEMORY_DEFAULT_NUM, HEAP_DATA); @@ -790,9 +832,9 @@ void fn_1_25D0(void) Hu3DModelPosSet(temp_r31->unk06, 0.0f, 0.0f, 0.0f); Hu3DModelRotSet(temp_r31->unk06, 0.0f, 0.0f, 0.0f); Hu3DModelTPLvlSet(temp_r31->unk06, 128.0f); - Hu3DModelAttrSet(temp_r31->unk06, HU3D_ATTR_NOCULL); + Hu3DModelAttrSet(temp_r31->unk06, 0x4000); for (j = 0; j < lbl_1_bss_E38; j++) { - temp_r31->unk6C[j] = (void *)Hu3DModelObjPtrGet(temp_r31->unk00, lbl_1_data_1C8[lbl_1_bss_E3C][j]); + temp_r31->unk6C[j] = (void*) Hu3DModelObjPtrGet(temp_r31->unk00, lbl_1_data_1C8[lbl_1_bss_E3C][j]); if (!temp_r31->unk6C[j]) { OSReport("objname %s\n", lbl_1_data_1C8[lbl_1_bss_E3C][j]); OSPanic("m411.c", 908, "ObjPtr"); @@ -808,12 +850,12 @@ void fn_1_25D0(void) temp_r27->unk18 = temp_r26->unk18; temp_r27->unk1C = temp_r26->unk1C; temp_r27->unk20 = temp_r26->unk20; - temp_r31->unk94[j] = (void *)Hu3DModelObjPtrGet(temp_r31->unk06, lbl_1_data_1C8[lbl_1_bss_E3C][j]); + temp_r31->unk94[j] = (void*) Hu3DModelObjPtrGet(temp_r31->unk06, lbl_1_data_1C8[lbl_1_bss_E3C][j]); if (!temp_r31->unk94[j]) { OSReport("objname %s\n", lbl_1_data_1C8[lbl_1_bss_E3C][j]); OSPanic("m411.c", 919, "ObjPtr"); } - temp_r31->unkBC[j] = (void *)Hu3DModelObjPtrGet(temp_r31->unk04, lbl_1_data_1C8[lbl_1_bss_E3C][j]); + temp_r31->unkBC[j] = (void*) Hu3DModelObjPtrGet(temp_r31->unk04, lbl_1_data_1C8[lbl_1_bss_E3C][j]); if (!temp_r31->unkBC[j]) { OSReport("objname %s\n", lbl_1_data_1C8[lbl_1_bss_E3C][j]); OSPanic("m411.c", 925, "ObjPtr"); @@ -858,19 +900,19 @@ void fn_1_25D0(void) temp_r31->unk58 = 180.0f; Hu3DModelPosSet(temp_r31->unk08, temp_r31->unk48, temp_r31->unk4C, temp_r31->unk50); Hu3DModelRotSet(temp_r31->unk08, temp_r31->unk54, temp_r31->unk58, temp_r31->unk5C); - Hu3DModelAttrSet(temp_r31->unk08, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(temp_r31->unk08, 1); for (j = 0; j < 9; j++) { temp_r31->unk0E[j] = CharModelMotionCreate(lbl_1_data_240[GWPlayerCfg[i].character], lbl_1_data_280[j]); } CharModelMotionSet(lbl_1_data_240[GWPlayerCfg[i].character], temp_r31->unk0E[0]); - Hu3DModelAttrSet(temp_r31->unk08, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(temp_r31->unk08, 0x40000001); if (lbl_1_bss_E40 == 0) { var_r28 = HuDataSelHeapReadNum(lbl_1_data_260[GWPlayerCfg[i].character], MEMORY_DEFAULT_NUM, HEAP_DATA); temp_r31->unk20 = Hu3DModelCreate(var_r28); - Hu3DModelAttrSet(temp_r31->unk20, HU3D_ATTR_DISPOFF | HU3D_ATTR_CULL_FRONT); + Hu3DModelAttrSet(temp_r31->unk20, 0x800001); Hu3DModelCameraSet(temp_r31->unk20, 1); for (j = 0; j < 9; j++) { - var_r28 = HuDataSelHeapReadNum((u8)lbl_1_data_280[j] + lbl_1_data_2A4[GWPlayerCfg[i].character], MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r28 = HuDataSelHeapReadNum((u8) lbl_1_data_280[j] + lbl_1_data_2A4[GWPlayerCfg[i].character], MEMORY_DEFAULT_NUM, HEAP_DATA); temp_r31->unk22[j] = Hu3DJointMotion(temp_r31->unk20, var_r28); } Hu3DMotionSet(temp_r31->unk20, temp_r31->unk22[3]); @@ -906,14 +948,13 @@ void fn_1_25D0(void) HuPrcChildCreate(fn_1_ACB0, 0x1000, 0x1000, 0, HuPrcCurrentGet()); } -void fn_1_34B0(ModelData *model, ParticleData *particle, Mtx matrix, s32 arg3) -{ +void fn_1_34B0(ModelData* model, ParticleData* particle, Mtx matrix, s32 arg3) { float var_f30; float temp_f28; float var_f31; float temp_f29; - HsfanimStruct01 *var_r31; - UnkBss474Struct *temp_r28; + HsfanimStruct01* var_r31; + UnkBss474Struct* temp_r28; s16 i; s16 j; s16 k; @@ -965,7 +1006,7 @@ void fn_1_34B0(ModelData *model, ParticleData *particle, Mtx matrix, s32 arg3) if (var_r31->unk14.x == 0.0f) { continue; } - VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); + PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); var_r31->unk08.x *= 0.95f; var_r31->unk08.y *= 0.95f; var_r31->unk14.y += 20.0f; @@ -991,67 +1032,70 @@ void fn_1_34B0(ModelData *model, ParticleData *particle, Mtx matrix, s32 arg3) PPCSync(); } -void fn_1_3A60(ModelData *model, ParticleData *particle, Mtx matrix) -{ +void fn_1_3A60(ModelData* model, ParticleData* particle, Mtx matrix) { fn_1_34B0(model, particle, matrix, 0); } -void fn_1_3A9C(ModelData *model, ParticleData *particle, Mtx matrix) -{ +void fn_1_3A9C(ModelData* model, ParticleData* particle, Mtx matrix) { fn_1_34B0(model, particle, matrix, 1); } -void fn_1_3AD8(ModelData *model, ParticleData *particle, Mtx matrix) -{ +void fn_1_3AD8(ModelData* model, ParticleData* particle, Mtx matrix) { fn_1_34B0(model, particle, matrix, 2); } -void fn_1_3B14(ModelData *model, ParticleData *particle, Mtx matrix) -{ +void fn_1_3B14(ModelData* model, ParticleData* particle, Mtx matrix) { fn_1_34B0(model, particle, matrix, 3); } -void fn_1_3B50(void) -{ +void fn_1_3B50(void) { float temp_f31; float temp_f30; - UnkBss138InnerStruct00 *temp_r31; + UnkBss138InnerStruct00* temp_r31; s16 temp_r30; temp_r31 = HuPrcCurrentGet()->user_data; temp_r30 = temp_r31->unk0C; Hu3DModelRotSet(temp_r30, 0.0f, 0.0f, 0.0f); - Hu3DModelAttrReset(temp_r30, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(temp_r30, 1); temp_f31 = -15.0f; temp_f30 = -15.0f; - Hu3DModelPosSet(temp_r30, temp_r31->unk10.x + 2.0 * sind(temp_r31->unk1C.y) + temp_f31, temp_r31->unk10.y + temp_f30, + Hu3DModelPosSet(temp_r30, + temp_r31->unk10.x + 2.0 * sind(temp_r31->unk1C.y) + temp_f31, + temp_r31->unk10.y + temp_f30, temp_r31->unk10.z + 2.0 * cosd(temp_r31->unk1C.y)); HuPrcVSleep(); - Hu3DModelAttrSet(temp_r30, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(temp_r30, 1); HuPrcSleep(4); - Hu3DModelAttrReset(temp_r30, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(temp_r30, 1); temp_f31 = 15.0f; temp_f30 = -15.0f; - Hu3DModelPosSet(temp_r30, temp_r31->unk10.x + 2.0 * sind(temp_r31->unk1C.y) + temp_f31, temp_r31->unk10.y + temp_f30, + Hu3DModelPosSet(temp_r30, + temp_r31->unk10.x + 2.0 * sind(temp_r31->unk1C.y) + temp_f31, + temp_r31->unk10.y + temp_f30, temp_r31->unk10.z + 2.0 * cosd(temp_r31->unk1C.y)); HuPrcVSleep(); - Hu3DModelAttrSet(temp_r30, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(temp_r30, 1); HuPrcSleep(4); - Hu3DModelAttrReset(temp_r30, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(temp_r30, 1); temp_f31 = -15.0f; temp_f30 = 15.0f; - Hu3DModelPosSet(temp_r30, temp_r31->unk10.x + 2.0 * sind(temp_r31->unk1C.y) + temp_f31, temp_r31->unk10.y + temp_f30, + Hu3DModelPosSet(temp_r30, + temp_r31->unk10.x + 2.0 * sind(temp_r31->unk1C.y) + temp_f31, + temp_r31->unk10.y + temp_f30, temp_r31->unk10.z + 2.0 * cosd(temp_r31->unk1C.y)); HuPrcVSleep(); - Hu3DModelAttrSet(temp_r30, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(temp_r30, 1); HuPrcSleep(4); - Hu3DModelAttrReset(temp_r30, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(temp_r30, 1); temp_f31 = 15.0f; temp_f30 = 15.0f; - Hu3DModelPosSet(temp_r30, temp_r31->unk10.x + 2.0 * sind(temp_r31->unk1C.y) + temp_f31, temp_r31->unk10.y + temp_f30, + Hu3DModelPosSet(temp_r30, + temp_r31->unk10.x + 2.0 * sind(temp_r31->unk1C.y) + temp_f31, + temp_r31->unk10.y + temp_f30, temp_r31->unk10.z + 2.0 * cosd(temp_r31->unk1C.y)); HuPrcVSleep(); - Hu3DModelAttrSet(temp_r30, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(temp_r30, 1); HuPrcSleep(4); HuPrcKill(HuPrcCurrentGet()); while (TRUE) { @@ -1059,21 +1103,20 @@ void fn_1_3B50(void) } } -void fn_1_3F34(void) -{ +void fn_1_3F34(void) { float temp_f28; float var_f31; float temp_f30; float var_f29; - UnkBss138InnerStruct00 *temp_r31; - Process *var_r30; + UnkBss138InnerStruct00* temp_r31; + Process* var_r30; temp_r31 = HuPrcCurrentGet()->user_data; temp_r31->unk10.x = -500.0f + 1000.0f * frandf(); temp_r31->unk10.y = 1200.0f; temp_r31->unk10.z = 0.0f; temp_r31->unk1C.x = temp_r31->unk1C.y = temp_r31->unk1C.z = 0.0f; - Hu3DModelAttrReset(temp_r31->unk00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(temp_r31->unk00, 1); temp_f28 = temp_r31->unk10.x; var_f31 = 0.0f; temp_f30 = 1.0f + 2.0f * frandf(); @@ -1105,15 +1148,14 @@ void fn_1_3F34(void) } HuPrcVSleep(); } - HuPrcCurrentGet()->user_data = (void *)10000; + HuPrcCurrentGet()->user_data = (void*) 10000; HuPrcKill(HuPrcCurrentGet()); while (TRUE) { HuPrcVSleep(); } } -void fn_1_4218(void) -{ +void fn_1_4218(void) { float temp_f28; float var_f29; float temp_f26; @@ -1124,14 +1166,14 @@ void fn_1_4218(void) float temp_f23; float temp_f27; float temp_f22; - UnkBss138InnerStruct00 *temp_r31; + UnkBss138InnerStruct00* temp_r31; temp_r31 = HuPrcCurrentGet()->user_data; temp_f28 = -600.0f + 1200.0f * frandf(); var_f29 = 1200.0f; temp_f26 = -2900.0f; temp_f25 = var_f31 = temp_f24 = 0.0f; - Hu3DModelAttrReset(temp_r31->unk00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(temp_r31->unk00, 1); temp_f23 = temp_f28; var_f30 = 0.0f; temp_f27 = 1.0f + 2.0f * frandf(); @@ -1155,29 +1197,27 @@ void fn_1_4218(void) Hu3DModelRotSet(temp_r31->unk00, temp_f25, var_f31, temp_f24); HuPrcVSleep(); } - HuPrcCurrentGet()->user_data = (void *)10000; + HuPrcCurrentGet()->user_data = (void*) 10000; HuPrcKill(HuPrcCurrentGet()); while (TRUE) { HuPrcVSleep(); } } -void fn_1_4454(void) -{ +void fn_1_4454(void) { float temp_f30; float sp8; float temp_f29; float var_f31; - UnkBss138InnerStruct00 *temp_r31; - UnkBss138InnerStruct00 *var_r30; + UnkBss138InnerStruct00* temp_r31; + UnkBss138InnerStruct00* var_r30; s32 i; temp_r31 = HuPrcCurrentGet()->user_data; if (temp_r31->unk0E == 0) { var_f31 = 0.0f; var_r30 = &lbl_1_bss_138.unk1AC[2]; - } - else { + } else { var_f31 = 180.0f; var_r30 = &lbl_1_bss_138.unk1AC[3]; } @@ -1220,14 +1260,13 @@ void fn_1_4454(void) } Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk1C.x, 0.0f, temp_r31->unk1C.z); Hu3DModelRotSet(var_r30->unk00, temp_r31->unk1C.x, 0.0f, temp_r31->unk1C.z); - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk02[1], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - Hu3DMotionShiftSet(var_r30->unk00, var_r30->unk02[1], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk02[1], 0.0f, 5.0f, 0); + Hu3DMotionShiftSet(var_r30->unk00, var_r30->unk02[1], 0.0f, 5.0f, 0); for (i = 0; i < 120; i++) { if (var_f31 > 180.0f) { temp_r31->unk10.x += 1.6666666f; temp_r31->unk10.z += 0.8333333f; - } - else { + } else { temp_r31->unk10.z += 0.8333333f; } Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk10.x, temp_r31->unk10.y, temp_r31->unk10.z); @@ -1235,29 +1274,27 @@ void fn_1_4454(void) HuPrcVSleep(); } Hu3DMotionSet(temp_r31->unk00, temp_r31->unk02[2]); - Hu3DModelAttrReset(temp_r31->unk00, HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(temp_r31->unk00, 0x40000001); Hu3DMotionSet(var_r30->unk00, var_r30->unk02[2]); - Hu3DModelAttrReset(var_r30->unk00, HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(var_r30->unk00, 0x40000001); while (Hu3DMotionEndCheck(temp_r31->unk00) == 0) { HuPrcVSleep(); } if (temp_r31->unk0E == 0) { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk02[3], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSet(var_r30->unk00, var_r30->unk02[3], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - } - else { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk02[4], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSet(var_r30->unk00, var_r30->unk02[4], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk02[3], 0.0f, 5.0f, 0x40000001); + Hu3DMotionShiftSet(var_r30->unk00, var_r30->unk02[3], 0.0f, 5.0f, 0x40000001); + } else { + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk02[4], 0.0f, 5.0f, 0x40000001); + Hu3DMotionShiftSet(var_r30->unk00, var_r30->unk02[4], 0.0f, 5.0f, 0x40000001); } while (TRUE) { HuPrcVSleep(); } } -void fn_1_4968(void) -{ - UnkBss138InnerStruct00 *var_r31; - UnkBss138InnerStruct00 *var_r30; +void fn_1_4968(void) { + UnkBss138InnerStruct00* var_r31; + UnkBss138InnerStruct00* var_r30; s32 i; var_r31 = &lbl_1_bss_138.unk1C[1]; @@ -1268,8 +1305,8 @@ void fn_1_4968(void) Hu3DModelRotSet(var_r30->unk00, var_r31->unk1C.x, var_r31->unk1C.y, var_r31->unk1C.z); HuPrcVSleep(); } - Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[2], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSet(var_r30->unk00, var_r30->unk02[2], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[2], 0.0f, 5.0f, 0x40000001); + Hu3DMotionShiftSet(var_r30->unk00, var_r30->unk02[2], 0.0f, 5.0f, 0x40000001); for (i = 0; i < 60; i++) { var_r31->unk10.x += 2.5f; var_r31->unk10.z += 3.3333333f; @@ -1283,8 +1320,8 @@ void fn_1_4968(void) Hu3DModelRotSet(var_r30->unk00, var_r31->unk1C.x, var_r31->unk1C.y, var_r31->unk1C.z); HuPrcVSleep(); } - Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[1], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSet(var_r30->unk00, var_r30->unk02[1], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[1], 0.0f, 10.0f, 0x40000001); + Hu3DMotionShiftSet(var_r30->unk00, var_r30->unk02[1], 0.0f, 10.0f, 0x40000001); while (TRUE) { if (lbl_1_bss_E98 >= 5) { break; @@ -1299,12 +1336,11 @@ void fn_1_4968(void) } } -void fn_1_4BB0(void) -{ - UnkBss138Struct *temp_r28; - Process *sp24[5]; - Process *sp10[5]; - Process *sp8[2]; +void fn_1_4BB0(void) { + UnkBss138Struct* temp_r28; + Process* sp24[5]; + Process* sp10[5]; + Process* sp8[2]; s32 var_r30; s32 var_r29; s32 var_r27; @@ -1331,8 +1367,7 @@ void fn_1_4BB0(void) break; } } - } - else { + } else { var_r30--; } if (var_r29 == 0) { @@ -1344,8 +1379,7 @@ void fn_1_4BB0(void) break; } } - } - else { + } else { var_r29--; } if (lbl_1_bss_E98 == 4 && var_r27 == 0) { @@ -1357,24 +1391,23 @@ void fn_1_4BB0(void) } HuPrcVSleep(); for (i = 0; i < 5; i++) { - if (sp24[i] && sp24[i]->user_data == (void *)10000) { + if (sp24[i] && sp24[i]->user_data == (void*) 10000) { sp24[i] = NULL; } - if (sp10[i] && sp10[i]->user_data == (void *)10000) { + if (sp10[i] && sp10[i]->user_data == (void*) 10000) { sp10[i] = NULL; } } } } -void fn_1_4E8C(void) -{ +void fn_1_4E8C(void) { float var_f31; - UnkBss138InnerStruct00 *temp_r31; + UnkBss138InnerStruct00* temp_r31; s32 temp_r29; s32 i; - temp_r29 = (s32)HuPrcCurrentGet()->user_data; + temp_r29 = (s32) HuPrcCurrentGet()->user_data; temp_r31 = &lbl_1_bss_138.unkE4[temp_r29 - 1]; temp_r31->unk10.y = 0.0f; temp_r31->unk10.z = 200.0f; @@ -1383,39 +1416,37 @@ void fn_1_4E8C(void) temp_r31->unk1C.x = temp_r31->unk1C.z = 0.0f; temp_r31->unk1C.y = -90.0f; var_f31 = (120.0f - temp_r31->unk10.x) / 60.0f; - } - else { + } else { temp_r31->unk10.x = -500.0f; temp_r31->unk1C.x = temp_r31->unk1C.z = 0.0f; temp_r31->unk1C.y = 90.0f; var_f31 = (-120.0f - temp_r31->unk10.x) / 60.0f; } - Hu3DModelAttrReset(temp_r31->unk00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(temp_r31->unk00, 1); Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk1C.x, temp_r31->unk1C.y, temp_r31->unk1C.z); for (i = 0; i < 60; i++) { temp_r31->unk10.x += var_f31; Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk10.x, temp_r31->unk10.y, temp_r31->unk10.z); HuPrcVSleep(); } - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk02[1], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk02[1], 0.0f, 5.0f, 0); while (!Hu3DMotionEndCheck(temp_r31->unk00)) { HuPrcVSleep(); } - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk02[2], 0.0f, 2.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk02[2], 0.0f, 2.0f, 0x40000001); HuAudFXPlay(0x36); while (TRUE) { HuPrcVSleep(); } } -void fn_1_507C(void) -{ +void fn_1_507C(void) { float temp_f31; s32 var_r28; s32 var_r29; - UnkBss138Struct *temp_r27; - UnkBss138InnerStruct00 *temp_r31; - UnkBss138InnerStruct00 *temp_r30; + UnkBss138Struct* temp_r27; + UnkBss138InnerStruct00* temp_r31; + UnkBss138InnerStruct00* temp_r30; temp_r27 = HuPrcCurrentGet()->user_data; temp_r31 = &temp_r27->unk1C[0]; @@ -1480,17 +1511,16 @@ void fn_1_507C(void) HuPrcVSleep(); } } - Hu3DModelAttrSet(temp_r31->unk00, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(temp_r30->unk00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(temp_r31->unk00, 1); + Hu3DModelAttrSet(temp_r30->unk00, 1); while (TRUE) { HuPrcVSleep(); } } -void fn_1_5384(void) -{ - UnkBss138Struct *temp_r30; - Process *var_r31; +void fn_1_5384(void) { + UnkBss138Struct* temp_r30; + Process* var_r31; temp_r30 = HuPrcCurrentGet()->user_data; var_r31 = HuPrcChildCreate(fn_1_507C, 0x2000, 0x2000, 0, HuPrcCurrentGet()); @@ -1500,20 +1530,19 @@ void fn_1_5384(void) } HuPrcSleep(0x122); var_r31 = HuPrcChildCreate(fn_1_4E8C, 0x2000, 0x2000, 0, HuPrcCurrentGet()); - var_r31->user_data = (void *)1; + var_r31->user_data = (void*) 1; var_r31 = HuPrcChildCreate(fn_1_4E8C, 0x2000, 0x2000, 0, HuPrcCurrentGet()); - var_r31->user_data = (void *)2; + var_r31->user_data = (void*) 2; while (TRUE) { HuPrcVSleep(); } } -void fn_1_544C(void) -{ - UnkBss138InnerStruct00 *temp_r31; +void fn_1_544C(void) { + UnkBss138InnerStruct00* temp_r31; s32 temp_r30; - temp_r30 = (s32)HuPrcCurrentGet()->user_data; + temp_r30 = (s32) HuPrcCurrentGet()->user_data; temp_r31 = &lbl_1_bss_138.unk1C[temp_r30 + 2]; switch (temp_r30) { case 0: @@ -1527,7 +1556,7 @@ void fn_1_544C(void) break; } while (TRUE) { - Hu3DModelAttrSet(temp_r31->unk00, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(temp_r31->unk00, 0x40000001); temp_r31->unk10.x += 2.0f * lbl_1_bss_E24; if (temp_r31->unk10.x > 650.0f) { temp_r31->unk10.x -= 1300.0f; @@ -1537,8 +1566,7 @@ void fn_1_544C(void) } } -void fn_1_5554(void) -{ +void fn_1_5554(void) { float var_f28; float temp_f25; float temp_f27; @@ -1549,14 +1577,14 @@ void fn_1_5554(void) float sp8; float temp_f24; UnkBss138InnerStruct00 spC; - UnkBss138InnerStruct00 *var_r31; - UnkBss138InnerStruct00 *var_r30; + UnkBss138InnerStruct00* var_r31; + UnkBss138InnerStruct00* var_r30; var_r31 = &spC; var_r30 = &lbl_1_bss_138.unk1AC[0]; var_r31->unk00 = Hu3DModelLink(var_r30->unk00); Hu3DModelCameraSet(var_r31->unk00, 1); - Hu3DModelAttrReset(var_r31->unk00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r31->unk00, 1); var_r31->unk10.x = -500.0f + 100.0f * frandf(); var_r31->unk10.y = var_f26 = 200.0f + 500.0f * frandf(); var_r31->unk10.z = 400.0f; @@ -1602,8 +1630,7 @@ void fn_1_5554(void) } } -void fn_1_58BC(void) -{ +void fn_1_58BC(void) { while (TRUE) { if (lbl_1_bss_E98 == 4) { break; @@ -1616,26 +1643,25 @@ void fn_1_58BC(void) } } -void fn_1_5910(void) -{ +void fn_1_5910(void) { float var_f31; - UnkBss138Struct *spC; - Process *var_r29; - UnkBss138InnerStruct00 *var_r31; - UnkBss474Struct *sp8; + UnkBss138Struct* spC; + Process* var_r29; + UnkBss138InnerStruct00* var_r31; + UnkBss474Struct* sp8; s32 i; spC = HuPrcCurrentGet()->user_data; HuPrcChildCreate(fn_1_58BC, 0x2000, 0x2000, 0, HuPrcCurrentGet()); for (i = 0; i < 3; i++) { var_r29 = HuPrcChildCreate(fn_1_544C, 0x2000, 0x2000, 0, HuPrcCurrentGet()); - var_r29->user_data = (void *)i; + var_r29->user_data = (void*) i; } while (lbl_1_bss_E98 != 4) { HuPrcVSleep(); } var_r31 = &lbl_1_bss_138.unkE4[0]; - Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[1], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[1], 0.0f, 5.0f, 0); for (var_f31 = 1.0f; var_f31 > 0.0f; var_f31 -= 0.033333335f) { lbl_1_bss_E24 = var_f31; Hu3DTexScrollPosMoveSet(lbl_1_bss_E9E, -0.01f * var_f31, 0.0f, 0.0f); @@ -1661,59 +1687,125 @@ void fn_1_5910(void) Hu3DTexScrollPosMoveSet(lbl_1_bss_E9E, -0.01f, 0.0f, 0.0f); Hu3DTexScrollPosMoveSet(lbl_1_bss_E9C, -0.017f, 0.0f, 0.0f); HuAudFXPitchSet(lbl_1_bss_E2C[0], 0); - Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[0], 0.0f, 5.0f, 0x40000001); while (TRUE) { HuPrcVSleep(); } } -s8 fn_1_5D58(s32 arg0, s32 arg1) -{ - UnkBss474Struct *temp_r31; +s8 fn_1_5D58(s32 arg0, s32 arg1) { + UnkBss474Struct* temp_r31; s8 var_r30; + s8 var_r29; + s8 var_r28; temp_r31 = &lbl_1_bss_474[arg0]; if (!GWPlayerCfg[arg0].iscom) { - (arg1 != 0) ? (var_r30 = HuPadStkY[temp_r31->unk3C]) : (var_r30 = HuPadStkX[temp_r31->unk3C]); - } - else { - (arg1 != 0) ? (var_r30 = temp_r31->unk255) : (var_r30 = temp_r31->unk254); + if (arg1 != 0) { + var_r29 = var_r30 = HuPadStkY[temp_r31->unk3C]; + } else { + var_r29 = var_r30 = HuPadStkX[temp_r31->unk3C]; + } + (void) 1; // Required to match. + } else { + if (arg1 != 0) { + var_r28 = var_r30 = temp_r31->unk255; + } else { + var_r28 = var_r30 = temp_r31->unk254; + } } return var_r30; } -u8 fn_1_5E10(s32 arg0, s32 arg1) -{ - UnkBss474Struct *temp_r31; +static inline s8 fn_1_5D58_copy(s32 arg0, s32 arg1) { + UnkBss474Struct* temp_r31; s8 var_r30; + s8 var_r29; + s8 var_r28; temp_r31 = &lbl_1_bss_474[arg0]; if (!GWPlayerCfg[arg0].iscom) { - (arg1 != 0) ? (var_r30 = HuPadTrigR[temp_r31->unk3C]) : (var_r30 = HuPadTrigL[temp_r31->unk3C]); - } - else { - (arg1 != 0) ? (var_r30 = temp_r31->unk256) : (var_r30 = temp_r31->unk257); + if (arg1 != 0) { + var_r30 = HuPadStkY[temp_r31->unk3C]; + } else { + var_r30 = HuPadStkX[temp_r31->unk3C]; + } + } else { + if (arg1 != 0) { + var_r30 = temp_r31->unk255; + } else { + var_r30 = temp_r31->unk254; + } } return var_r30; } -u16 fn_1_5ED0(s32 arg0) -{ - UnkBss474Struct *temp_r31; +u8 fn_1_5E10(s32 arg0, s32 arg1) { + UnkBss474Struct* temp_r31; + s8 var_r30; + s8 var_r29; + s8 var_r28; + + temp_r31 = &lbl_1_bss_474[arg0]; + if (!GWPlayerCfg[arg0].iscom) { + if (arg1 != 0) { + var_r29 = var_r30 = HuPadTrigR[temp_r31->unk3C]; + } else { + var_r29 = var_r30 = HuPadTrigL[temp_r31->unk3C]; + } + (void) 1; // Required to match. + } else { + if (arg1 != 0) { + var_r28 = var_r30 = temp_r31->unk256; + } else { + var_r28 = var_r30 = temp_r31->unk257; + } + } + return var_r30; +} + + +static inline u8 fn_1_5E10_copy(s32 arg0, s32 arg1) { + UnkBss474Struct* temp_r31; + s8 var_r30; + s8 var_r29; + s8 var_r28; + + temp_r31 = &lbl_1_bss_474[arg0]; + if (!GWPlayerCfg[arg0].iscom) { + if (arg1 != 0) { + var_r30 = HuPadTrigR[temp_r31->unk3C]; + } else { + var_r30 = HuPadTrigL[temp_r31->unk3C]; + } + } else { + if (arg1 != 0) { + var_r30 = temp_r31->unk256; + } else { + var_r30 = temp_r31->unk257; + } + } + return var_r30; +} + +u16 fn_1_5ED0(s32 arg0) { + UnkBss474Struct* temp_r31; u16 var_r30; temp_r31 = &lbl_1_bss_474[arg0]; + (void)temp_r31; + (void)temp_r31; + (void)temp_r31; + (void)temp_r31; if (!GWPlayerCfg[arg0].iscom) { var_r30 = HuPadBtnDown[temp_r31->unk3C]; - } - else { + } else { var_r30 = temp_r31->unk258; } return var_r30; } -void fn_1_5F3C(UnkBss474Struct *arg0, s32 arg1) -{ +void fn_1_5F3C(UnkBss474Struct* arg0, s32 arg1) { Vec sp2C; Vec sp20; Vec sp14; @@ -1725,10 +1817,10 @@ void fn_1_5F3C(UnkBss474Struct *arg0, s32 arg1) float var_f27; float var_f26; float var_f25; - UnkBss474DoublyInnerStruct6C *temp_r31; - UnkBss474DoublyInnerStruct6C *temp_r29; - UnkBss474DoublyInnerStruct6C *temp_r27; - UnkBss474InnerStructE4 *temp_r28; + UnkBss474DoublyInnerStruct6C* temp_r31; + UnkBss474DoublyInnerStruct6C* temp_r29; + UnkBss474DoublyInnerStruct6C* temp_r27; + UnkBss474InnerStructE4* temp_r28; s32 var_r25; s32 i; @@ -1763,8 +1855,7 @@ void fn_1_5F3C(UnkBss474Struct *arg0, s32 arg1) temp_r27->unk08 += 10.0f; if (i < 14) { var_r25 += 17; - } - else if (i < 28) { + } else if (i < 28) { var_r25 -= 17; } Hu3DModelTPLvlSet(arg0->unk04, 255 - var_r25); @@ -1784,12 +1875,11 @@ void fn_1_5F3C(UnkBss474Struct *arg0, s32 arg1) temp_r27->unk00 = 5000.0f; } -void fn_1_6428(UnkBss474Struct *arg0, s32 arg1) -{ +void fn_1_6428(UnkBss474Struct* arg0, s32 arg1) { float var_f31; - UnkBss474DoublyInnerStruct6C *temp_r31; - UnkBss474DoublyInnerStruct6C *temp_r29; - UnkBss474InnerStructE4 *temp_r30; + UnkBss474DoublyInnerStruct6C* temp_r31; + UnkBss474DoublyInnerStruct6C* temp_r29; + UnkBss474InnerStructE4* temp_r30; temp_r31 = &arg0->unk6C[arg1]->unk1C; temp_r29 = &arg0->unk94[arg1]->unk1C; @@ -1820,10 +1910,9 @@ void fn_1_6428(UnkBss474Struct *arg0, s32 arg1) temp_r29->unk20 = 0.8f * temp_r31->unk20; } -void fn_1_6820(UnkBss474Struct *arg0, s32 arg1, s32 arg2) -{ - UnkBss474DoublyInnerStruct6C *temp_r30; - UnkBss474DoublyInnerStruct6C *temp_r31; +void fn_1_6820(UnkBss474Struct* arg0, s32 arg1, s32 arg2) { + UnkBss474DoublyInnerStruct6C* temp_r30; + UnkBss474DoublyInnerStruct6C* temp_r31; float temp_f30; float temp_f29; float temp_f28; @@ -1863,14 +1952,13 @@ void fn_1_6820(UnkBss474Struct *arg0, s32 arg1, s32 arg2) HuSprAttrReset(arg0->unk0C, 0, HUSPR_ATTR_REVERSE); } -void fn_1_6A3C(void) -{ +void fn_1_6A3C(void) { float var_f31; float var_f30; float temp_f29; - UnkFn64A3Struct *temp_r30; - UnkBss474DoublyInnerStruct6C *temp_r31; - UnkBss474DoublyInnerStruct6C *temp_r28; + UnkFn64A3Struct* temp_r30; + UnkBss474DoublyInnerStruct6C* temp_r31; + UnkBss474DoublyInnerStruct6C* temp_r28; s32 var_r27; s32 i; @@ -1880,8 +1968,7 @@ void fn_1_6A3C(void) HuAudFXPlay(0x56C); if (temp_r30->unk08 != 0) { var_f30 = temp_r31->unk14 + 90.0f; - } - else { + } else { var_f30 = temp_r31->unk14 - 90.0f; } if (var_f30 >= 360.0f) { @@ -1895,8 +1982,7 @@ void fn_1_6A3C(void) for (i = 0, var_r27 = 15; i < var_r27; i++) { if (temp_r30->unk08 != 0) { temp_r31->unk14 = temp_f29 + 100.0 * sind(var_f31); - } - else { + } else { temp_r31->unk14 = temp_f29 - 100.0 * sind(var_f31); } temp_r28->unk14 = temp_r31->unk14; @@ -1908,8 +1994,7 @@ void fn_1_6A3C(void) var_f31 -= 8.333333f; if (temp_r30->unk08 != 0) { temp_r31->unk14 = temp_f29 + 100.0 * sind(var_f31); - } - else { + } else { temp_r31->unk14 = temp_f29 - 100.0 * sind(var_f31); } temp_r28->unk14 = temp_r31->unk14; @@ -1924,11 +2009,10 @@ void fn_1_6A3C(void) } } -void fn_1_6CF4(void) -{ +void fn_1_6CF4(void) { float temp_f30; float var_f31; - UnkBss474DoublyInnerStruct6C *temp_r31; + UnkBss474DoublyInnerStruct6C* temp_r31; temp_r31 = HuPrcCurrentGet()->user_data; HuPrcSleep(frandmod(30)); @@ -1953,9 +2037,8 @@ void fn_1_6CF4(void) } } -void fn_1_6DD8(UnkBss474Struct *arg0, s32 arg1) -{ - UnkBss474DoublyInnerStruct6C *temp_r31; +void fn_1_6DD8(UnkBss474Struct* arg0, s32 arg1) { + UnkBss474DoublyInnerStruct6C* temp_r31; temp_r31 = &arg0->unk6C[arg1]->unk1C; if (temp_r31->unk00 > 220.0f) { @@ -1972,8 +2055,7 @@ void fn_1_6DD8(UnkBss474Struct *arg0, s32 arg1) } } -void fn_1_6E9C(s32 arg0, s32 arg1) -{ +void fn_1_6E9C(s32 arg0, s32 arg1) { switch (GWPlayerCfg[arg0].diff) { case 0: arg1 *= 8; @@ -1990,20 +2072,18 @@ void fn_1_6E9C(s32 arg0, s32 arg1) } if (arg1 <= 1) { HuPrcVSleep(); - } - else { + } else { HuPrcSleep(arg1 + frandmod(arg1 / 2)); } } -void fn_1_6F48(UnkBss474Struct *arg0, s32 arg1, s32 arg2) -{ +void fn_1_6F48(UnkBss474Struct* arg0, s32 arg1, s32 arg2) { Vec sp24; Vec sp18; Vec spC; float temp_f29; - UnkBss474DoublyInnerStruct6C *temp_r30; - UnkBss474InnerStructE4 *temp_r25; + UnkBss474DoublyInnerStruct6C* temp_r30; + UnkBss474InnerStructE4* temp_r25; s32 var_r27; s32 var_r23; @@ -2032,8 +2112,7 @@ void fn_1_6F48(UnkBss474Struct *arg0, s32 arg1, s32 arg2) if (arg0->unk264 == -1) { if (frandmod(100) < var_r27 || lbl_1_bss_E38 == arg2 + 1) { arg0->unk264 = arg1; - } - else { + } else { var_r23 = frandmod(lbl_1_bss_E38 - arg2); arg0->unk264 = lbl_1_bss_E6C[arg2 + var_r23]; } @@ -2056,30 +2135,25 @@ void fn_1_6F48(UnkBss474Struct *arg0, s32 arg1, s32 arg2) arg0->unk268 = 10; if (temp_r30->unk14 - 90.0f == 0.0f) { arg0->unk256 = 50; - } - else { + } else { arg0->unk257 = 50; } } } - } - else { + } else { fn_1_6E9C(arg0->unk34, 1); if (frandmod(100) < var_r27 || lbl_1_bss_E38 == arg2 + 1) { if (temp_r30->unk14 != 0.0f) { if (temp_r30->unk14 - 90.0f == 0.0f) { arg0->unk256 = 50; - } - else { + } else { arg0->unk257 = 50; } - } - else { + } else { arg0->unk258 = 0x100; arg0->unk264 = -1; } - } - else { + } else { switch (frandmod(3)) { case 0: arg0->unk256 = 50; @@ -2099,8 +2173,7 @@ void fn_1_6F48(UnkBss474Struct *arg0, s32 arg1, s32 arg2) } } -void fn_1_75C8(void) -{ +void fn_1_75C8(void) { s16 var_r30; s32 var_r31; @@ -2119,8 +2192,7 @@ void fn_1_75C8(void) } } -void fn_1_7680(void) -{ +void fn_1_7680(void) { s16 var_r30; s32 var_r31; @@ -2139,11 +2211,11 @@ void fn_1_7680(void) } } -static inline void m411InlineFunc(UnkBss474Struct *temp_r31, UnkBss474DoublyInnerStruct6C *temp_r30) -{ - Vec sp74; - Vec sp80; +static inline void m411InlineFunc(UnkBss474Struct* temp_r31, UnkBss474DoublyInnerStruct6C* temp_r30) { + Vec sp74; + Vec sp80; + float var_f22; float var_f23; @@ -2158,17 +2230,16 @@ static inline void m411InlineFunc(UnkBss474Struct *temp_r31, UnkBss474DoublyInne #define SOME_MACRO(x) ((x) >= 0 ? (x) : (-(x) > 20)) -void fn_1_7738(void) -{ +void fn_1_7738(void) { f32 temp_f26; f32 temp_f27; - Process *var_r24; - UnkBss474Struct *temp_r31; - UnkBss474DoublyInnerStruct6C *temp_r30; + Process* var_r24; + UnkBss474Struct* temp_r31; + UnkBss474DoublyInnerStruct6C* temp_r30; s32 var_r29; - UnkBss474DoublyInnerStruct6C *temp_r28; + UnkBss474DoublyInnerStruct6C* temp_r28; s32 temp_r26; - UnkBss474InnerStructE4 *temp_r25; + UnkBss474InnerStructE4* temp_r25; s32 var_r23; Vec spCC; Vec spC0; @@ -2187,18 +2258,17 @@ void fn_1_7738(void) while (lbl_1_bss_E98 == 0) { HuPrcVSleep(); } - Hu3DModelAttrReset(temp_r31->unk08, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(temp_r31->unk08, 1); for (var_r29 = 0; var_r29 < 30; var_r29++) { if (lbl_1_bss_E40 == 0) { lbl_1_bss_C4[temp_r31->unk38].z += 10.0f; - } - else { + } else { CZoomM[temp_r31->unk38] += 10.0f; } HuPrcVSleep(); } - Hu3DModelAttrReset(temp_r31->unk00, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(temp_r31->unk02, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(temp_r31->unk00, 1); + Hu3DModelAttrSet(temp_r31->unk02, 1); if (temp_r31->unk34 == 0) { HuAudFXPlay(0x56F); } @@ -2212,7 +2282,7 @@ void fn_1_7738(void) } omVibrate(temp_r31->unk34, 12, 6, 6); HuPrcSleep(30); - CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[5], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[5], 0.0f, 5.0f, 0); HuPrcChildCreate(fn_1_75C8, 0x2000, 0x1000, 0, HuPrcCurrentGet()); if (temp_r31->unk34 == 0) { HuAudFXPlay(0x56B); @@ -2227,13 +2297,12 @@ void fn_1_7738(void) for (var_r29 = 0; var_r29 < 30; var_r29++) { if (lbl_1_bss_E40 == 0) { lbl_1_bss_C4[temp_r31->unk38].z -= 10.0f; - } - else { + } else { CZoomM[temp_r31->unk38] -= 10.0f; } HuPrcVSleep(); } - Hu3DModelAttrSet(temp_r31->unk08, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(temp_r31->unk08, 1); HuPrcSleep(60); lbl_1_bss_E98 = 2; for (var_r29 = 0; var_r29 < lbl_1_bss_E38; var_r29++) { @@ -2249,13 +2318,12 @@ void fn_1_7738(void) temp_r30->unk04 = temp_r25->unk04; temp_r28->unk00 = 20.0f + temp_r30->unk00; temp_r28->unk04 = -20.0f + temp_r30->unk04; - } - else { + } else { temp_r30->unk00 = temp_r30->unk04 = 0.0f; temp_r28->unk00 = 20.0f + temp_r30->unk00; temp_r28->unk04 = -20.0f + temp_r30->unk04; m411InlineFunc(temp_r31, temp_r30); - HuSprAttrReset(temp_r31->unk0C, 0, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r31->unk0C, 0, 4); } temp_r30->unk08 = 50.0f; temp_r28->unk08 = temp_r30->unk08 - 5.0f; @@ -2272,10 +2340,10 @@ void fn_1_7738(void) } if (sp70 == 0) { var_r23 = -1; - if (fn_1_5E10(temp_r31->unk34, 0) > 20) { + if (fn_1_5E10_copy(temp_r31->unk34, 0) > 20) { var_r23 = 1; } - if (fn_1_5E10(temp_r31->unk34, 1) > 20) { + if (fn_1_5E10_copy(temp_r31->unk34, 1) > 20) { var_r23 = 0; } if (var_r23 != -1) { @@ -2287,6 +2355,10 @@ void fn_1_7738(void) spA4.unk08 = var_r23; spA4.unk0C = &sp70; } + (void)var_r23; + (void)var_r23; + (void)var_r23; + (void)var_r23; } if ((fn_1_5ED0(temp_r31->unk34) & 0x100) && sp70 == 0) { if (0.0f == temp_r30->unk14) { @@ -2306,8 +2378,10 @@ void fn_1_7738(void) fn_1_6428(temp_r31, temp_r26); } temp_r31->unk60 = -1.0f; - if (SOME_MACRO(fn_1_5D58(temp_r31->unk34, 0)) != 0 || SOME_MACRO(fn_1_5D58(temp_r31->unk34, 1)) != 0) { - temp_r31->unk60 = atan2d(fn_1_5D58(temp_r31->unk34, 0), fn_1_5D58(temp_r31->unk34, 1)); + if (SOME_MACRO(fn_1_5D58_copy(temp_r31->unk34, 0)) != 0 + || SOME_MACRO(fn_1_5D58_copy(temp_r31->unk34, 1)) != 0) + { + temp_r31->unk60 = atan2d(fn_1_5D58_copy(temp_r31->unk34, 0), fn_1_5D58_copy(temp_r31->unk34, 1)); } if (-1.0f != temp_r31->unk60) { temp_r30->unk00 += 5 * sind(temp_r31->unk60); @@ -2324,10 +2398,12 @@ void fn_1_7738(void) while (TRUE) { HuPrcVSleep(); } + (void) var_r24; + (void) var_r24; + (void) var_r24; } -void fn_1_8A80(float arg0, float arg1) -{ +void fn_1_8A80(float arg0, float arg1) { Hu3DCameraViewportSet(2, 10.0f, 10.0f, arg0 - 11.0f, arg1 - 11.0f, 0.0f, 1.0f); Hu3DCameraScissorSet(2, 10, 10, arg0 - 11.0f, arg1 - 11.0f); Hu3DCameraViewportSet(4, arg0 + 2.0f, 10.0f, 630.0f - arg0, arg1 - 11.0f, 0.0f, 1.0f); @@ -2338,8 +2414,7 @@ void fn_1_8A80(float arg0, float arg1) Hu3DCameraScissorSet(16, arg0 + 2.0f, arg1 + 2.0f, 630.0f - arg0, 470.0f - arg1); } -void fn_1_8DBC(void) -{ +void fn_1_8DBC(void) { float var_f31; float var_f30; s32 i; @@ -2369,8 +2444,7 @@ void fn_1_8DBC(void) Hu3DCameraScissorSet(16, 322, 242, 310, 230); } -void fn_1_9490(void) -{ +void fn_1_9490(void) { float var_f31; float var_f30; float var_f29; @@ -2380,7 +2454,7 @@ void fn_1_9490(void) s32 temp_r30; s32 i; - temp_r30 = (s32)HuPrcCurrentGet()->user_data; + temp_r30 = (s32) HuPrcCurrentGet()->user_data; switch (temp_r30) { case 0: var_f31 = 645.0f; @@ -2417,15 +2491,14 @@ void fn_1_9490(void) } } -void fn_1_9BC0(s32 arg0) -{ +void fn_1_9BC0(s32 arg0) { float var_f30; float var_f31; s32 var_r29; - UnkBss474Struct *temp_r31; - UnkBss474Struct *var_r26; - Process *var_r28; - UnkBss138InnerStruct00 *var_r27; + UnkBss474Struct* temp_r31; + UnkBss474Struct* var_r26; + Process* var_r28; + UnkBss138InnerStruct00* var_r27; s32 i; temp_r31 = &lbl_1_bss_474[arg0]; @@ -2440,10 +2513,10 @@ void fn_1_9BC0(s32 arg0) for (i = 0; i < 4; i++) { HuSprAttrSet(lbl_1_bss_474[i].unk0C, 0, HUSPR_ATTR_DISPOFF); } - Hu3DModelAttrReset(temp_r31->unk02, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(temp_r31->unk00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(temp_r31->unk02, 1); + Hu3DModelAttrSet(temp_r31->unk00, 1); var_r28 = HuPrcChildCreate(fn_1_9490, 0x2000, 0x1000, 0, HuPrcCurrentGet()); - var_r28->user_data = (void *)arg0; + var_r28->user_data = (void*) arg0; while (var_r28->user_data) { HuPrcVSleep(); } @@ -2451,10 +2524,10 @@ void fn_1_9BC0(s32 arg0) temp_r31->unk4C = -280.0f; temp_r31->unk50 = 200.0f; temp_r31->unk58 = -90.0f; - Hu3DModelAttrReset(temp_r31->unk08, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(temp_r31->unk08, 1); Hu3DModelRotSet(temp_r31->unk08, temp_r31->unk54, temp_r31->unk58, temp_r31->unk5C); CharModelMotionSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[2]); - Hu3DModelAttrSet(temp_r31->unk08, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(temp_r31->unk08, 0x40000001); Hu3DModelCameraSet(temp_r31->unk08, 1 << temp_r31->unk38); i = 0; while (TRUE) { @@ -2472,7 +2545,7 @@ void fn_1_9BC0(s32 arg0) i++; } Hu3DModelPosSet(temp_r31->unk08, 0.0f, temp_r31->unk4C, temp_r31->unk50); - CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[0], 0.0f, 5.0f, 0x40000001); HuPrcSleep(10); for (i = 0; i < 9; i++) { temp_r31->unk58 -= 10.0f; @@ -2480,11 +2553,10 @@ void fn_1_9BC0(s32 arg0) HuPrcVSleep(); } HuPrcSleep(20); - CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[3], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[3], 0.0f, 5.0f, 0); if (lbl_1_bss_E40 == 1) { var_f31 = -20.0f; - } - else { + } else { var_f31 = -20.0f; } for (; var_f31 < 0.0f; var_f31 += 1.765f) { @@ -2495,8 +2567,7 @@ void fn_1_9BC0(s32 arg0) Hu3DModelShadowSet(temp_r31->unk08); } -void fn_1_A004(void) -{ +void fn_1_A004(void) { s32 i; for (i = 0; i < 67; i++) { @@ -2510,9 +2581,8 @@ void fn_1_A004(void) } } -void fn_1_A07C(void) -{ - UnkBss474Struct *temp_r31; +void fn_1_A07C(void) { + UnkBss474Struct* temp_r31; temp_r31 = &lbl_1_bss_474[lbl_1_bss_E94]; while (TRUE) { @@ -2526,11 +2596,10 @@ void fn_1_A07C(void) } } -void fn_1_A120(s32 arg0) -{ +void fn_1_A120(s32 arg0) { float temp_f30; float var_f31; - UnkBss474Struct *temp_r31; + UnkBss474Struct* temp_r31; s32 var_r29; s32 i; @@ -2538,7 +2607,7 @@ void fn_1_A120(s32 arg0) temp_r31->unk48 = 0.0f; temp_r31->unk4C = 930.0f; temp_r31->unk50 = 2790.0f; - Hu3DModelAttrReset(temp_r31->unk20, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(temp_r31->unk20, 1); Hu3DModelCameraSet(temp_r31->unk08, 1); HuPrcChildCreate(fn_1_A004, 0x2000, 0x1000, 0, HuPrcCurrentGet()); temp_f30 = (-730.0f - temp_r31->unk50) / 80.0f; @@ -2548,8 +2617,8 @@ void fn_1_A120(s32 arg0) temp_r31->unk4C -= var_f31; if (temp_r31->unk4C < 0.0f) { var_r29 = 1; - CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[4], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - Hu3DMotionShiftSet(temp_r31->unk20, temp_r31->unk22[4], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[4], 0.0f, 5.0f, 0); + Hu3DMotionShiftSet(temp_r31->unk20, temp_r31->unk22[4], 0.0f, 5.0f, 0); temp_r31->unk4C = 0.0f; break; } @@ -2569,20 +2638,19 @@ void fn_1_A120(s32 arg0) while (!Hu3DMotionEndCheck(temp_r31->unk08)) { HuPrcVSleep(); } - CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[0], 0.0f, 5.0f, 0x40000001); HuPrcSleep(30); HuAudSStreamPlay(1); HuAudPlayerVoicePlay(temp_r31->unk34, 0x124); - CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[7], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - Hu3DMotionShiftSet(temp_r31->unk20, temp_r31->unk22[7], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[7], 0.0f, 5.0f, 0); + Hu3DMotionShiftSet(temp_r31->unk20, temp_r31->unk22[7], 0.0f, 5.0f, 0); HuPrcChildCreate(fn_1_A07C, 0x2000, 0x1000, 0, HuPrcCurrentGet()); } -void fn_1_A4B4(s32 arg0) -{ +void fn_1_A4B4(s32 arg0) { float temp_f30; float var_f31; - UnkBss474Struct *temp_r31; + UnkBss474Struct* temp_r31; s32 var_r29; s32 i; @@ -2598,7 +2666,7 @@ void fn_1_A4B4(s32 arg0) temp_r31->unk4C -= var_f31; if (temp_r31->unk4C < 0.0f) { var_r29 = 1; - CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[2], 0.0f, 20.0f, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[2], 0.0f, 20.0f, 0x40000001); temp_r31->unk4C = 0.0f; } } @@ -2610,23 +2678,22 @@ void fn_1_A4B4(s32 arg0) Hu3DModelPosSet(temp_r31->unk08, temp_r31->unk48, temp_r31->unk4C, temp_r31->unk50); HuPrcVSleep(); } - CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[0], 0.0f, 5.0f, 0x40000001); for (i = 0; i < 30; i++) { temp_r31->unk58 += 6.0f; Hu3DModelRotSet(temp_r31->unk08, temp_r31->unk54, temp_r31->unk58, temp_r31->unk5C); HuPrcVSleep(); } HuAudSStreamPlay(1); - CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[8], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[8], 0.0f, 5.0f, 0); } -void fn_1_A788(s32 arg0) -{ +void fn_1_A788(s32 arg0) { float temp_f30; float temp_f29; float var_f31; - UnkBss474Struct *temp_r31; - UnkBss138InnerStruct00 *var_r29; + UnkBss474Struct* temp_r31; + UnkBss138InnerStruct00* var_r29; s32 var_r28; s32 i; @@ -2644,7 +2711,7 @@ void fn_1_A788(s32 arg0) temp_r31->unk4C -= var_f31; if (temp_r31->unk4C < 0.0f) { var_r28 = 1; - CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[2], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[2], 0.0f, 5.0f, 0x40000001U); temp_r31->unk4C = 0.0f; } } @@ -2657,14 +2724,14 @@ void fn_1_A788(s32 arg0) Hu3DModelPosSet(temp_r31->unk08, temp_r31->unk48, temp_r31->unk4C, temp_r31->unk50); HuPrcVSleep(); } - CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[0], 0.0f, 5.0f, 0x40000001); HuPrcSleep(30); temp_f30 = (100.0f - temp_r31->unk48) / 30.0f; temp_f29 = -temp_r31->unk50 / 30.0f; var_f31 = 20.0f; - Hu3DMotionShiftSet(var_r29->unk00, var_r29->unk02[3], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(var_r29->unk00, var_r29->unk02[3], 0.0f, 5.0f, 0); HuPrcSleep(10); - CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[6], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(lbl_1_data_240[GWPlayerCfg[temp_r31->unk34].character], temp_r31->unk0E[6], 0.0f, 5.0f, 0); for (i = 0; i < 30; i++) { temp_r31->unk4C += var_f31; var_f31 -= 1.2f; @@ -2693,8 +2760,7 @@ void fn_1_A788(s32 arg0) HuAudSStreamPlay(1); } -void fn_1_ACB0(void) -{ +void fn_1_ACB0(void) { s32 i; while (TRUE) { @@ -2716,8 +2782,7 @@ void fn_1_ACB0(void) } } -void fn_1_AD58(void) -{ +void fn_1_AD58(void) { s16 temp_r28; s16 var_r27; s16 temp_r25; @@ -2774,8 +2839,7 @@ void fn_1_AD58(void) } } break; - } - else if (var_r27 < 59) { + } else if (var_r27 < 59) { var_r30 = -1; break; } @@ -2812,8 +2876,7 @@ void fn_1_AD58(void) GWPlayer[var_r30].coin_win = 10; } temp_r28 = MGSeqCreate(5, 3, GWPlayerCfg[var_r30].character, -1, -1, -1); - } - else { + } else { HuAudSStreamPlay(4); temp_r28 = MGSeqCreate(3, 2); } diff --git a/src/REL/m412Dll/main.c b/src/REL/m412Dll/main.c deleted file mode 100644 index 8f153855..00000000 --- a/src/REL/m412Dll/main.c +++ /dev/null @@ -1,2187 +0,0 @@ -#include "REL/m412Dll.h" - -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/frand.h" -#include "game/hsfmotion.h" -#include "game/mapspace.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "game/wipe.h" -#include "math.h" - -// bss -s16 lbl_1_bss_7A0; -s16 lbl_1_bss_79E; -s16 lbl_1_bss_79C; -s16 lbl_1_bss_798[2]; -s32 lbl_1_bss_794; -s32 lbl_1_bss_790; -s32 lbl_1_bss_780[4]; -f32 lbl_1_bss_77C; -f32 lbl_1_bss_778; -f32 lbl_1_bss_774; -unkStruct3 lbl_1_bss_4D4[4]; -unkStruct2 lbl_1_bss_33C[6]; -unkStruct2 lbl_1_bss_2F8; -unkStruct *lbl_1_bss_278[0x20]; -Process *lbl_1_bss_274; -Vec lbl_1_bss_268; -Vec lbl_1_bss_25C; -Vec lbl_1_bss_250; -Vec lbl_1_bss_13C[0x17]; -Vec lbl_1_bss_28[0x17]; -s32 lbl_1_bss_24; -Vec lbl_1_bss_18; -Vec lbl_1_bss_C; -Vec lbl_1_bss_0; - -// data -s32 lbl_1_data_0[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; -s32 lbl_1_data_20[8] = { DATA_MAKE_NUM(DATADIR_MARIOMDL1, 0x01), DATA_MAKE_NUM(DATADIR_LUIGIMDL1, 0x01), DATA_MAKE_NUM(DATADIR_PEACHMDL1, 0x01), - DATA_MAKE_NUM(DATADIR_YOSHIMDL1, 0x01), DATA_MAKE_NUM(DATADIR_WARIOMDL1, 0x01), DATA_MAKE_NUM(DATADIR_DONKEYMDL1, 0x01), - DATA_MAKE_NUM(DATADIR_DAISYMDL1, 0x01), DATA_MAKE_NUM(DATADIR_WALUIGIMDL1, 0x01) }; -s32 lbl_1_data_40[8] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x00), DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x00), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x00), DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x00), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x00), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x00) }; -s32 lbl_1_data_60[6] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x1A), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x1B), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x4B) }; -Vec lbl_1_data_78[7] = { { 474.0f, 30.0f, -497.0f }, { 330.0f, 30.0f, 562.0f }, { -694.0f, 30.0f, 43.0f }, { -375.0f, 30.0f, -483.0f }, - { 715.0f, 30.0f, 62.0f }, { -334.0f, 30.0f, 570.0f }, { 100.0f, 30.0f, -630.0f } }; -char *lbl_1_data_298[0x17] = { "sb_hahen-sb_hahen01", "sb_hahen-sb_hahen02", "sb_hahen-sb_hahen03", "sb_hahen-sb_hahen04", "sb_hahen-sb_hahen05", - "sb_hahen-sb_hahen06", "sb_hahen-sb_hahen07", "sb_hahen-sb_hahen08", "sb_hahen-sb_hahen09", "sb_hahen-sb_hahen10", "sb_hahen-sb_hahen11", - "sb_hahen-sb_hahen12", "sb_hahen-sb_hahen13", "sb_hahen-sb_hahen14", "sb_hahen-sb_hahen15", "sb_hahen-sb_hahen16", "sb_hahen-sb_hahen17", - "sb_hahen-sb_hahen18", "sb_hahen-sb_hahen19", "sb_hahen-sb_hahen20", "sb_hahen-sb_hahen21", "sb_hahen-sb_hahen22", "sb_hahen-sb_hahen23" }; - -void ObjectSetup(void) -{ - f32 temp_f30; - f32 temp_f29; - f32 temp_f31; - - lbl_1_bss_274 = omInitObjMan(0x32, 0x2000); - omGameSysInit(lbl_1_bss_274); - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 40.0f, 20.0f, 25000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(1, 0U, 0U, 0x280U, 0x1E0U); - lbl_1_bss_268.x = 1100.0f; - lbl_1_bss_268.y = 1600.0f; - lbl_1_bss_268.z = 760.0f; - lbl_1_bss_250.x = 0.0f; - lbl_1_bss_250.y = 1.0f; - lbl_1_bss_250.z = 0.0f; - lbl_1_bss_25C.x = 60.0f; - lbl_1_bss_25C.y = 0.0f; - lbl_1_bss_25C.z = 0.0f; - temp_f30 = lbl_1_bss_268.x; - temp_f29 = lbl_1_bss_268.y; - temp_f31 = lbl_1_bss_268.z; - lbl_1_bss_774 = sqrtf((temp_f31 * temp_f31) + ((temp_f30 * temp_f30) + (temp_f29 * temp_f29))); - lbl_1_bss_778 = fn_1_1D08(atan2d(temp_f30, temp_f31)); - lbl_1_bss_77C = fn_1_1D08(atan2d(temp_f29, temp_f31)); - lbl_1_bss_77C = 50.0f; - Hu3DLighInit(); - lbl_1_bss_7A0 = Hu3DGLightCreate(10000.0f, 0.0f, 10000.0f, -1.0f, 0.0f, -1.0f, 0xFFU, 0xFFU, 0xFFU); - Hu3DGLightPosAimSet(lbl_1_bss_7A0, 0.0f, 4330.13f, 2500.0f, 0.0f, 0.0f, 0.0f); - Hu3DGLightInfinitytSet(lbl_1_bss_7A0); - lbl_1_bss_18.x = -500.0f; - lbl_1_bss_18.y = 4000.0f; - lbl_1_bss_18.z = 0.0f; - lbl_1_bss_C.x = lbl_1_bss_C.z = 0.0f; - lbl_1_bss_C.y = 1.0f; - lbl_1_bss_0.x = 0.0f; - lbl_1_bss_0.y = 0.0f; - lbl_1_bss_0.z = 0.0f; - Hu3DShadowCreate(30.0f, 20.0f, 10000.0f); - Hu3DShadowTPLvlSet(0.5f); - Hu3DShadowPosSet(&lbl_1_bss_18, &lbl_1_bss_C, &lbl_1_bss_0); - Hu3DBGColorSet(0U, 0U, 0U); - fn_1_8BC(); - HuPrcChildCreate(fn_1_B1C0, 0x1000U, 0x2000U, 0, HuPrcCurrentGet()); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); -} - -void *fn_1_6EC(f32 arg8, f32 arg9, f32 argA, s32 arg0) -{ - Vec sp8; - - sp8.x = arg8; - sp8.y = arg9; - sp8.z = argA; - return (void *)HuAudFXEmiterPlay(arg0, &sp8); -} - -void fn_1_73C(void) -{ - Vec sp8; - CameraData *camera; - - camera = &Hu3DCamera[0]; - - sp8.x = 0.0f; - sp8.y = 0.0f; - sp8.z = -1.0f; - - while (1) { - HuAudFXListnerUpdate(&camera->pos, &sp8); - if (lbl_1_bss_794 >= 3) - break; - HuPrcVSleep(); - } - HuPrcKill(HuPrcCurrentGet()); - while (1) { - HuPrcVSleep(); - } -} - -void fn_1_7BC(void) -{ - Vec sp14; - Vec sp8; - s32 temp_r30; - s32 var_r31; - - temp_r30 = (s32)HuPrcCurrentGet()->user_data; - sp14.x = 1465.0f; - sp14.y = 770.0f; - sp14.z = -2400.0f; - sp8.x = sp14.x - 474.0f; - sp8.y = sp14.y - 30.0f; - sp8.z = sp14.z - -497.0f; - - for (var_r31 = 0; var_r31 < 0x168; var_r31++) { - HuAudFXEmiterUpDate(temp_r30, &sp14); - VECAdd(&sp8, &sp14, &sp14); - HuPrcVSleep(); - } - HuPrcKill(HuPrcCurrentGet()); - while (1) { - HuPrcVSleep(); - } -} - -void fn_1_894(omObjData *object) -{ - return; -} - -void fn_1_898(omObjData *object) -{ - object->model[0] = lbl_1_bss_79C; - object->func = &fn_1_894; -} - -void fn_1_8BC(void) -{ - Vec sp20; - Vec sp14; - s32 sp10; - volatile u32 spC; - volatile u32 sp8; - unkStruct2 *temp_r31; - unkStruct3 *temp_r30; - s16 var_r29; - void *var_r27; - s32 var_r28; - s32 var_r26; - unkStruct2 *temp_r25; - HsfTransform *temp_r24; - Process *var_r23; - s32 temp_r22; - AnimData *var_r21; - s16 var_r20; - s16 var_r19; - s32 var_r18; - HsfObject *var_r17; - - nMap = 0; - HuAudSndGrpSet(0x25); - sp20.x = 1100.0f; - sp20.y = 1600.0f; - sp20.z = 760.0f; - sp14.x = 0.0f; - sp14.y = 0.0f; - sp14.z = -1.0f; - HuAudFXListnerSetEX(&sp20, &sp14, 10000.0f, 0.5666667f, 0.0f, 300.0f, 300.0f); - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M412, 0x00), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r29 = Hu3DModelCreate(var_r27); - Hu3DModelLayerSet(var_r29, 1); - Hu3DModelShadowMapSet(var_r29); - Hu3DModelAttrSet(var_r29, HU3D_MOTATTR_LOOP); - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M412, 0x01), MEMORY_DEFAULT_NUM, HEAP_DATA); - lbl_1_bss_79C = Hu3DModelCreate(var_r27); - Hu3DModelAttrSet(lbl_1_bss_79C, HU3D_ATTR_DISPOFF); - MapObject[nMap++] = omAddObjEx(lbl_1_bss_274, 0x100, 1, 0, -1, fn_1_898); - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M412, 0x02), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r29 = Hu3DModelCreate(var_r27); - Hu3DModelLayerSet(var_r29, 0); - Hu3DModelAttrSet(var_r29, HU3D_MOTATTR_LOOP); - - for (var_r28 = 0; var_r28 < 0x20; var_r28++) { - lbl_1_bss_278[var_r28] = NULL; - } - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M412, 0x1F), MEMORY_DEFAULT_NUM, HEAP_DATA); - lbl_1_bss_79E = var_r29 = Hu3DModelCameraCreate(Hu3DMotionCreate(var_r27), 1); - Hu3DCameraMotionStart(var_r29, 1); - - for (var_r28 = 0; var_r28 < 2; var_r28++) { - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M412, 0x1D), MEMORY_DEFAULT_NUM, HEAP_DATA); - lbl_1_bss_798[var_r28] = var_r29 = Hu3DModelCreate(var_r27); - Hu3DModelLayerSet(var_r29, 2); - Hu3DModelAttrSet(var_r29, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(var_r29, HU3D_ATTR_DISPOFF); - } - - for (var_r28 = 0; var_r28 < 6; var_r28++) { - temp_r31 = &lbl_1_bss_33C[var_r28]; - temp_r31->unk24 = var_r28; - temp_r31->unk28 = var_r28; - temp_r31->unk20 = 0; - if (var_r28 == 0) { - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M412, 0x06), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r20 = var_r29 = Hu3DModelCreate(var_r27); - } - else { - var_r29 = Hu3DModelLink(var_r20); - } - temp_r31->unk0 = var_r29; - temp_r31->unk2C.x = lbl_1_data_78[var_r28].x; - temp_r31->unk2C.y = lbl_1_data_78[var_r28].y; - temp_r31->unk2C.z = lbl_1_data_78[var_r28].z; - Hu3DModelPosSet(var_r29, temp_r31->unk2C.x, temp_r31->unk2C.y, temp_r31->unk2C.z); - temp_r31->unk38.x = temp_r31->unk38.z = 0.0f; - temp_r31->unk38.y = fn_1_1D08(180.0 + atan2d(temp_r31->unk2C.x, temp_r31->unk2C.z)); - Hu3DModelRotSet(var_r29, temp_r31->unk38.x, temp_r31->unk38.y, temp_r31->unk38.z); - Hu3DModelLayerSet(var_r29, 1); - Hu3DModelShadowSet(var_r29); - - for (var_r26 = 0; var_r26 < 3; var_r26++) { - var_r27 = HuDataSelHeapReadNum(var_r26 + DATA_MAKE_NUM(DATADIR_M412, 0x07), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unkC[var_r26] = Hu3DJointMotion(var_r29, var_r27); - } - var_r27 = HuDataSelHeapReadNum(var_r28 + DATA_MAKE_NUM(DATADIR_M412, 0x0A), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unkC[var_r26] = Hu3DJointMotion(var_r29, var_r27); - Hu3DMotionSet(var_r29, temp_r31->unkC[3]); - temp_r31->unk2 = var_r29 = Hu3DModelLink(var_r20); - Hu3DModelPosSet(var_r29, temp_r31->unk2C.x, temp_r31->unk2C.y - 10.0f, temp_r31->unk2C.z); - Hu3DModelRotSet(var_r29, temp_r31->unk38.x, temp_r31->unk38.y, temp_r31->unk38.z); - Hu3DModelScaleSet(var_r29, 1.0f, -1.0f, 1.0f); - Hu3DModelLayerSet(var_r29, 0); - Hu3DModelShadowReset(var_r29); - Hu3DMotionSet(var_r29, temp_r31->unkC[3]); - Hu3DModelAttrSet(var_r29, HU3D_ATTR_CULL_FRONT); - var_r27 = HuDataSelHeapReadNum(var_r28 + DATA_MAKE_NUM(DATADIR_M412, 0x10), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unk4 = var_r29 = Hu3DModelCreate(var_r27); - Hu3DModelLayerSet(var_r29, 1); - if (var_r28 >= 3) { - Hu3DModelAttrSet(temp_r31->unk0, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(temp_r31->unk2, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(temp_r31->unk4, HU3D_MOTATTR_PAUSE); - } - if (var_r28 == 0) { - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M412, 0x03), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r19 = var_r29 = Hu3DModelCreate(var_r27); - } - else { - var_r29 = Hu3DModelLink(var_r19); - } - temp_r31->unk6 = var_r29; - Hu3DModelLayerSet(var_r29, 1); - Hu3DModelAttrSet(var_r29, HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(var_r29); - Hu3DModelShadowDispOff(var_r29); - temp_r31->unk8 = Hu3DModelLink(var_r19); - Hu3DModelLayerSet(var_r29, 0); - Hu3DModelAttrSet(temp_r31->unk8, HU3D_ATTR_DISPOFF); - var_r23 = HuPrcChildCreate(fn_1_2A1C, 0x2000, 0x3000, 0, HuPrcCurrentGet()); - var_r23->user_data = temp_r31; - } - - for (var_r28 = 0, var_r18 = 0; var_r28 < 50; var_r28++) { - temp_r31 = &lbl_1_bss_33C[frandmod(3) + var_r18]; - temp_r25 = &lbl_1_bss_33C[frandmod(3) + var_r18]; - temp_r22 = temp_r31->unk28; - temp_r31->unk28 = temp_r25->unk28; - temp_r25->unk28 = temp_r22; - } - temp_r31 = &lbl_1_bss_33C[3]; - temp_r25 = &lbl_1_bss_33C[5]; - temp_r22 = temp_r31->unk28; - temp_r31->unk28 = temp_r25->unk28; - temp_r25->unk28 = temp_r22; - if (frandmod(2) != 0) { - temp_r31 = &lbl_1_bss_33C[4]; - temp_r25 = &lbl_1_bss_33C[5]; - temp_r22 = temp_r31->unk28; - temp_r31->unk28 = temp_r25->unk28; - temp_r25->unk28 = temp_r22; - } - temp_r31 = &lbl_1_bss_2F8; - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M412, 0x16), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r20 = var_r29 = Hu3DModelCreate(var_r27); - temp_r31->unk0 = var_r29; - temp_r31->unk2C.x = lbl_1_data_78[6].x; - temp_r31->unk2C.y = lbl_1_data_78[6].y; - temp_r31->unk2C.z = lbl_1_data_78[6].z; - Hu3DModelPosSet(var_r29, temp_r31->unk2C.x, temp_r31->unk2C.y, temp_r31->unk2C.z); - temp_r31->unk38.x = temp_r31->unk38.z = 0.0f; - temp_r31->unk38.y = fn_1_1D08(180.0 + atan2d(temp_r31->unk2C.x, temp_r31->unk2C.z)); - Hu3DModelRotSet(var_r29, temp_r31->unk38.x, temp_r31->unk38.y, temp_r31->unk38.z); - Hu3DModelLayerSet(var_r29, 1); - Hu3DModelShadowSet(var_r29); - - for (var_r26 = 0; var_r26 < 5; var_r26++) { - var_r27 = HuDataSelHeapReadNum(var_r26 + DATA_MAKE_NUM(DATADIR_M412, 0x17), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unkC[var_r26] = Hu3DJointMotion(var_r29, var_r27); - } - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M412, 0x16), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unk2 = var_r29 = Hu3DModelCreate(var_r27); - - for (var_r26 = 0; var_r26 < 5; var_r26++) { - var_r27 = HuDataSelHeapReadNum(var_r26 + DATA_MAKE_NUM(DATADIR_M412, 0x17), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unk16[var_r26] = Hu3DJointMotion(var_r29, var_r27); - } - Hu3DModelPosSet(var_r29, temp_r31->unk2C.x, temp_r31->unk2C.y - 10.0f, temp_r31->unk2C.z); - Hu3DModelRotSet(var_r29, temp_r31->unk38.x, temp_r31->unk38.y, temp_r31->unk38.z); - Hu3DModelScaleSet(var_r29, 1.0f, -1.0f, 1.0f); - Hu3DModelLayerSet(var_r29, 0); - Hu3DModelShadowReset(var_r29); - Hu3DModelAttrSet(var_r29, HU3D_ATTR_CULL_FRONT); - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M412, 0x04), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unk6 = var_r29 = Hu3DModelCreate(var_r27); - Hu3DModelLayerSet(var_r29, 1); - Hu3DModelAttrSet(var_r29, HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(var_r29); - Hu3DModelShadowDispOff(var_r29); - temp_r31->unk8 = Hu3DModelLink(temp_r31->unk6); - Hu3DModelLayerSet(temp_r31->unk8, 0); - Hu3DModelAttrSet(temp_r31->unk8, HU3D_ATTR_DISPOFF); - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M412, 0x05), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unkA = var_r29 = Hu3DModelCreate(var_r27); - Hu3DModelShadowSet(var_r29); - Hu3DModelShadowDispOff(var_r29); - Hu3DModelLayerSet(var_r29, 1); - Hu3DModelAttrSet(var_r29, HU3D_ATTR_DISPOFF); - - for (var_r28 = 0; var_r28 < 0x17; var_r28++) { - var_r17 = Hu3DModelObjPtrGet(var_r29, lbl_1_data_298[var_r28]); - if (!var_r17) { - OSReport("objname %s\n", lbl_1_data_298[var_r28]); - OSPanic("m412.c", 0x258, "ObjPtr"); - } - temp_r24 = &var_r17->data.base; - lbl_1_bss_13C[var_r28].x = temp_r24->pos.x; - lbl_1_bss_13C[var_r28].y = temp_r24->pos.y; - lbl_1_bss_13C[var_r28].z = temp_r24->pos.z; - lbl_1_bss_28[var_r28].x = temp_r24->scale.x; - lbl_1_bss_28[var_r28].y = temp_r24->scale.y; - lbl_1_bss_28[var_r28].z = temp_r24->scale.z; - } - var_r23 = HuPrcChildCreate(fn_1_3950, 0x2000, 0x3000, 0, HuPrcCurrentGet()); - var_r23->user_data = temp_r31; - - for (var_r28 = 0; var_r28 < 4; var_r28++) { - lbl_1_bss_4D4[var_r28].unk3C = var_r28; - } - - for (var_r28 = 0; var_r28 < 50; var_r28++) { - spC = frandmod(4); - sp8 = frandmod(4); - sp10 = lbl_1_bss_4D4[sp8].unk3C; - lbl_1_bss_4D4[sp8].unk3C = lbl_1_bss_4D4[spC].unk3C; - lbl_1_bss_4D4[spC].unk3C = sp10; - } - - for (var_r28 = 0; var_r28 < 4; var_r28++) { - temp_r30 = &lbl_1_bss_4D4[var_r28]; - temp_r30->unk24 = var_r28; - temp_r30->unk28 = var_r28; - temp_r30->unk2C = GWPlayerCfg[var_r28].pad_idx; - temp_r30->unk0 = CharModelCreate(lbl_1_data_0[GWPlayerCfg[var_r28].character], 4); - Hu3DModelLayerSet(temp_r30->unk0, 1); - var_r27 = HuDataSelHeapReadNum(lbl_1_data_20[GWPlayerCfg[var_r28].character], MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r30->unk2 = Hu3DModelCreate(var_r27); - Hu3DModelScaleSet(temp_r30->unk2, 1.0f, -1.0f, 1.0f); - Hu3DModelAttrSet(temp_r30->unk2, HU3D_ATTR_CULL_FRONT); - Hu3DModelLayerSet(temp_r30->unk2, 0); - CharModelLayerSetAll(3); - temp_r30->unk54.x = temp_r30->unk54.z = temp_r30->unk54.y = 0.0f; - temp_r30->unk54.y = fn_1_1D08(45.0f + (90.0f * temp_r30->unk3C) + lbl_1_bss_778); - temp_r30->unk40.x = (400.0 * sind(temp_r30->unk54.y)); - temp_r30->unk40.z = (400.0 * cosd(temp_r30->unk54.y)); - temp_r30->unk54.y = fn_1_1D08(180.0f + temp_r30->unk54.y); - temp_r30->unk6C = temp_r30->unk54.y; - temp_r30->unk40.y = 0.0f; - temp_r30->unk60.x = 50.0f; - temp_r30->unk60.z = temp_r30->unk60.y = 0.0f; - HuSetVecF(&temp_r30->unk7C, 0.0, 0.0, 0.0); - Hu3DModelPosSet(temp_r30->unk0, temp_r30->unk40.x, temp_r30->unk40.y, temp_r30->unk40.z); - Hu3DModelRotSet(temp_r30->unk0, temp_r30->unk54.x, temp_r30->unk54.y, temp_r30->unk54.z); - Hu3DModelPosSet(temp_r30->unk2, temp_r30->unk40.x, temp_r30->unk40.y, temp_r30->unk40.z); - Hu3DModelRotSet(temp_r30->unk2, temp_r30->unk54.x, temp_r30->unk54.y, temp_r30->unk54.z); - Hu3DModelShadowSet(temp_r30->unk0); - - for (var_r26 = 0; var_r26 < 6; var_r26++) { - temp_r30->unkC[var_r26] = CharModelMotionCreate(lbl_1_data_0[GWPlayerCfg[var_r28].character], lbl_1_data_60[var_r26]); - var_r27 - = HuDataSelHeapReadNum((u16)lbl_1_data_60[var_r26] | lbl_1_data_40[GWPlayerCfg[var_r28].character], MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r30->unk18[var_r26] = Hu3DJointMotion(temp_r30->unk2, var_r27); - } - CharModelMotionSet(lbl_1_data_0[GWPlayerCfg[var_r28].character], temp_r30->unkC[0]); - Hu3DModelAttrSet(temp_r30->unk0, HU3D_MOTATTR_LOOP); - Hu3DMotionSet(temp_r30->unk2, temp_r30->unk18[0]); - Hu3DModelAttrSet(temp_r30->unk2, HU3D_MOTATTR_LOOP); - CharModelMotionDataClose(lbl_1_data_0[GWPlayerCfg[var_r28].character]); - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M412, 0x1C), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r30->unk6 = var_r29 = Hu3DModelCreate(var_r27); - Hu3DModelLayerSet(var_r29, 1); - Hu3DModelAttrSet(var_r29, HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(var_r29, HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(var_r29); - Hu3DModelShadowDispOff(var_r29); - temp_r30->unk8 = var_r29 = Hu3DModelLink(var_r29); - Hu3DModelLayerSet(var_r29, 0); - Hu3DModelAttrSet(var_r29, HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(var_r29, HU3D_ATTR_DISPOFF | HU3D_ATTR_CULL_FRONT); - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M412, 0x1D), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r30->unkA = var_r29 = Hu3DModelCreate(var_r27); - Hu3DModelLayerSet(var_r29, 3); - Hu3DModelAttrSet(var_r29, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(var_r29, HU3D_ATTR_DISPOFF); - var_r23 = HuPrcChildCreate(fn_1_7C60, 0x2000, 0x4000, 0, HuPrcCurrentGet()); - var_r23->user_data = temp_r30; - } - var_r21 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M412, 0x1E), MEMORY_DEFAULT_NUM)); - var_r29 = Hu3DParticleCreate(var_r21, 0x100); - Hu3DModelPosSet(var_r29, 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(var_r29, 1.0f, 1.0f, 1.0f); - Hu3DModelLayerSet(var_r29, 4); - Hu3DParticleColSet(var_r29, 0xFF, 0xFF, 0xFF); - Hu3DParticleScaleSet(var_r29, 0.0f); - Hu3DParticleHookSet(var_r29, fn_1_A01C); - var_r21 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 0x03), MEMORY_DEFAULT_NUM)); - var_r29 = Hu3DParticleCreate(var_r21, 0x40); - Hu3DModelPosSet(var_r29, 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(var_r29, 1.0f, 1.0f, 1.0f); - Hu3DModelLayerSet(var_r29, 4); - Hu3DParticleColSet(var_r29, 0xFF, 0xFF, 0xFF); - Hu3DParticleScaleSet(var_r29, 0.0f); - Hu3DParticleHookSet(var_r29, fn_1_A618); - var_r21 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 0x03), MEMORY_DEFAULT_NUM)); - var_r29 = Hu3DParticleCreate(var_r21, 3); - Hu3DModelPosSet(var_r29, 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(var_r29, 1.0f, 1.0f, 1.0f); - Hu3DModelLayerSet(var_r29, 4); - Hu3DParticleColSet(var_r29, 0xFF, 0xFF, 0xFF); - Hu3DParticleScaleSet(var_r29, 0.0f); - Hu3DParticleHookSet(var_r29, fn_1_AA88); - HuDataDirClose(DATADIR_EFFECT); - HuPrcChildCreate(fn_1_B160, 0x1000, 0x1000, 0, HuPrcCurrentGet()); -} - -f32 fn_1_1D08(f32 arg0) -{ - while (arg0 >= 360.0f || arg0 < 0.0f) { - if (arg0 >= 360.0f) { - arg0 -= 360.0f; - } - if (arg0 < 0.0f) { - arg0 += 360.0f; - } - } - return arg0; -} - -void fn_1_1D88(void) -{ - void *var_r31; - - var_r31 = HuPrcCurrentGet()->user_data; - HuMemDirectFree(var_r31); -} - -void fn_1_1DBC(void) -{ - Vec sp8; - HsfObject *var_r27; - HsfTransform *temp_r31; - unkStruct4 *temp_r30; - Vec *temp_r29; - s32 var_r28; - f32 var_f31; - f32 var_f30; - - temp_r30 = HuPrcCurrentGet()->user_data; - HuPrcDestructorSet(fn_1_1D88); - var_r27 = Hu3DModelObjPtrGet(temp_r30->unk0, lbl_1_data_298[temp_r30->unk4]); - if (!var_r27) { - OSReport("objname %s\n", lbl_1_data_298[temp_r30->unk4]); - OSPanic("m412.c", 0x32E, "ObjPtr"); - } - temp_r31 = &var_r27->data.base; - temp_r29 = &lbl_1_bss_13C[temp_r30->unk4]; - temp_r31->pos.x = temp_r29->x; - temp_r31->pos.y = temp_r29->y; - temp_r31->pos.z = temp_r29->z; - HuSetVecF(&sp8, 0.15f * temp_r31->pos.x, 0.15f * temp_r31->pos.y, 0.15f * temp_r31->pos.z); - temp_r29 = &lbl_1_bss_28[temp_r30->unk4]; - temp_r31->scale.x = temp_r29->x; - temp_r31->scale.y = temp_r29->y; - temp_r31->scale.z = temp_r29->z; - for (var_r28 = 0, var_f31 = -2.0f, var_f30 = 1.0f; var_r28 < 0x1E; var_r28++) { - sp8.y -= var_f31; - var_f31 += 0.5f; - temp_r31->pos.x += sp8.x; - temp_r31->pos.y += sp8.y; - temp_r31->pos.z += sp8.z; - temp_r31->scale.x *= 0.95f; - temp_r31->scale.y *= 0.95f; - temp_r31->scale.z *= 0.95f; - if (temp_r30->unk4 == 0) { - var_f30 -= 0.033333335f; - Hu3DModelTPLvlSet(temp_r30->unk0, var_f30); - } - HuPrcVSleep(); - } - temp_r30->unk8 = 0; - HuPrcVSleep(); - HuPrcKill(HuPrcCurrentGet()); - while (1) { - HuPrcVSleep(); - } -} - -void fn_1_2014(void) -{ - unkStruct2 *temp_r31; // could also be unkStruct3 `\_("/)_/` - - temp_r31 = (unkStruct2 *)HuPrcCurrentGet()->user_data; - lbl_1_bss_278[temp_r31->unk6] = NULL; - HuMemDirectFree(temp_r31); -} - -void fn_1_2064(void) -{ - Vec sp28; - Vec sp1C; - Vec sp10; - f32 spC; - f32 sp8; - Process *temp_r26; - s32 var_r30; - unkStruct *temp_r28; - unkStruct3 *temp_r29; - unkStruct *temp_r31; - unkStruct4 *var_r27; - - temp_r31 = (unkStruct *)HuPrcCurrentGet()->user_data; - temp_r31->unk8 = 0; - temp_r31->unkA = 0; - HuPrcDestructorSet(fn_1_2014); - - do { - if ((temp_r31->unk8 != 0) || (lbl_1_bss_794 >= 4)) - break; - temp_r31->unk10.x += (temp_r31->unk24.y * sind(temp_r31->unk24.x)); - temp_r31->unk10.z += (temp_r31->unk24.y * cosd(temp_r31->unk24.x)); - temp_r31->unk10.y += temp_r31->unk24.z; - temp_r31->unk24.z -= 0.9f; - if (temp_r31->unk30 != 100.0f) { - HuSetVecF(&sp28, temp_r31->unk10.x, temp_r31->unk10.y, temp_r31->unk10.z); - for (var_r30 = 0; var_r30 < 0x20; var_r30++) { - temp_r28 = lbl_1_bss_278[var_r30]; - if ((var_r30 != temp_r31->unk6) && temp_r28 && (temp_r28->unk6 != -1)) { - HuSetVecF(&sp1C, temp_r28->unk10.x, temp_r28->unk10.y, temp_r28->unk10.z); - HuSubVecF(&sp10, &sp28, &sp1C); - if (sqrtf((sp10.z * sp10.z) + ((sp10.x * sp10.x) + (sp10.y * sp10.y))) < (temp_r31->unk30 + temp_r28->unk30)) { - if (temp_r28->unk30 != 100.0f) { - temp_r28->unk8 = 1; - } - temp_r31->unk8 = 1; - } - } - } - } - HuSetVecF(&sp28, temp_r31->unk10.x, 0.0, temp_r31->unk10.z); - - for (var_r30 = 0; var_r30 < 4; var_r30++) { - temp_r29 = &lbl_1_bss_4D4[var_r30]; - HuSetVecF(&sp1C, temp_r29->unk40.x, 0.0, temp_r29->unk40.z); - HuSubVecF(&sp10, &sp28, &sp1C); - if ((sqrtf((sp10.z * sp10.z) + ((sp10.x * sp10.x) + (sp10.y * sp10.y))) < (temp_r31->unk30 + temp_r29->unk60.x)) - && ((150.0f + temp_r29->unk40.y + temp_r31->unk30) > temp_r31->unk10.y)) { - - if (temp_r29->unk30 != 3) { - if (temp_r31->unkC == 0) { - omVibrate(temp_r29->unk24, 0xC, 4, 2); - } - else { - omVibrate(temp_r29->unk24, 0xC, 0xC, 0); - } - } - HuAudFXPlay(0x585); - temp_r29->unk30 = 3; - temp_r31->unk8 = 1; - } - } - if (temp_r31->unk10.y < temp_r31->unk30) { - temp_r31->unk10.y = temp_r31->unk30; - temp_r31->unk8 = 1; - } - Hu3DModelPosSet(temp_r31->unk0, temp_r31->unk10.x, temp_r31->unk10.y, temp_r31->unk10.z); - Hu3DModelPosSet(temp_r31->unk2, temp_r31->unk10.x, -temp_r31->unk10.y, temp_r31->unk10.z); - if (temp_r31->unk8 != 0) - break; - HuPrcVSleep(); - } while (1); - if (temp_r31->unkC == 1) { - HuAudFXPlay(0x58D); - } - else { - HuAudFXPlay(0x58C); - } - Hu3DModelAttrSet(temp_r31->unk0, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(temp_r31->unk2, HU3D_ATTR_DISPOFF); - Hu3DModelShadowDispOff(temp_r31->unk0); - temp_r31->unkA = 1; - if (temp_r31->unkC == 1) { - - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if (lbl_1_bss_4D4[var_r30].unk30 != 3) { - omVibrate(lbl_1_bss_4D4[var_r30].unk24, 0xC, 6, 6); - } - } - Hu3DModelPosSet(temp_r31->unk4, temp_r31->unk10.x, temp_r31->unk10.y, temp_r31->unk10.z); - Hu3DModelAttrReset(temp_r31->unk4, HU3D_ATTR_DISPOFF); - Hu3DModelShadowDispOn(temp_r31->unk4); - - for (var_r30 = 0; var_r30 < 0x17; var_r30++) { - temp_r26 = HuPrcChildCreate(fn_1_1DBC, 0x2000, 0x1000, 0, HuPrcCurrentGet()); - var_r27 = HuMemDirectMalloc(HEAP_DATA, sizeof(unkStruct4)); - temp_r26->user_data = var_r27; - var_r27->unk0 = temp_r31->unk4; - var_r27->unk4 = var_r30; - var_r27->unk8 = 1; - var_r27->unkC.x = temp_r31->unk10.x; - var_r27->unkC.y = temp_r31->unk10.y; - var_r27->unkC.z = temp_r31->unk10.z; - } - while (var_r27->unk8 != 0) { - HuPrcVSleep(); - } - } - HuPrcVSleep(); - HuPrcKill(HuPrcCurrentGet()); - while (1) { - HuPrcVSleep(); - } -} - -s32 fn_1_2708(void) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0x20; var_r31++) { - if (!lbl_1_bss_278[var_r31]) - break; - } - if (var_r31 >= 0x20) { - var_r31 = -1; - } - lbl_1_bss_278[var_r31] = HuMemDirectMalloc(HEAP_DATA, sizeof(unkStruct)); - lbl_1_bss_278[var_r31]->unk6 = -1; - lbl_1_bss_278[var_r31]->unkA = 0; - return var_r31; -} - -f32 fn_1_27C4(s32 arg0, f32 arg8, f32 arg9) -{ - f32 temp_f31; - f32 var_f25; - f32 var_f26; - f32 var_f27; - f32 var_f28; - f32 var_f29; - - temp_f31 = arg8 - fn_1_1D08(arg9); - if ((temp_f31 < 0.0f) || (ABS_INV(temp_f31) > 180.0f)) { - if (ABS_INV(temp_f31) > 180.0f) { - var_f29 = (360.0f - ABS_INV(temp_f31)) / arg0; - if (temp_f31 > 0.0f) { - var_f29 = -var_f29; - } - } - else { - var_f29 = temp_f31 / arg0; - } - } - else { - var_f29 = temp_f31 / arg0; - } - return var_f29; -} - -s32 lbl_1_data_310[6][2] = { { 0x09249222, 0x22210842 }, { 0x04924888, 0x88842108 }, { 0x12492222, 0x22108420 }, { 0x04444444, 0x44444400 }, - { 0x11111111, 0x11100000 }, { 0x04444444, 0x40000000 } }; - -s32 lbl_1_data_340[1][2] = { { 0x00040008, 0x02000000 } }; - -s32 lbl_1_data_348[6] = { 0x0, 0x0, 0x0, 0x8, 0x12, 0x1C }; - -void fn_1_2A1C(void) -{ - Vec sp68; - Vec sp5C; - Vec sp50; - Vec sp44; - f32 sp40; - f32 temp_f18; - f32 var_f24; - f32 var_f23; - f32 var_f19; - f32 var_f22; - s32 var_r22; - s32 var_r23; - s32 var_r25; - s32 var_r24; - s32 var_r26; - s32 var_r29; - unkStruct *temp_r30; - unkStruct3 *temp_r27; - unkStruct2 *temp_r31; - s32 var_r21; - Process *var_r20; - - temp_r31 = HuPrcCurrentGet()->user_data; - switch (temp_r31->unk24) { - case 0: - var_r25 = 0x142; - var_r24 = 0x154; - break; - case 1: - var_r25 = 0x14A; - var_r24 = 0x15E; - break; - case 2: - var_r25 = 0x148; - var_r24 = 0x162; - break; - default: - var_r25 = 0x4E; - var_r24 = 0x5D; - break; - } - -loop_10: - var_r29 = lbl_1_bss_790 / 60; - if (var_r29 >= 0x3C) { - var_r29 = 0x3C; - } - if (var_r29 == lbl_1_data_348[temp_r31->unk28]) { - Hu3DModelAttrReset(temp_r31->unk0, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(temp_r31->unk2, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(temp_r31->unk4, HU3D_MOTATTR_PAUSE); - } - if (var_r25 == Hu3DMotionTimeGet(temp_r31->unk0)) { - temp_r31->unk20 = 1; - } - if (var_r24 == Hu3DMotionTimeGet(temp_r31->unk0)) { - HuAudFXPlay(0x581); - } - if (lbl_1_bss_794 >= 4) { - while (1) { - HuPrcVSleep(); - } - } - var_r22 = 1; - if (var_r29 >= 0x20) { - var_r22 = 0; - } - if (((1 << (var_r29 % 32)) & lbl_1_data_310[temp_r31->unk28][var_r22]) != 0) { - var_r21 = fn_1_2708(); - } - else { - HuPrcVSleep(); - goto loop_10; - } - var_r26 = frandmod(4); - if (lbl_1_bss_4D4[var_r26].unk30 == 3) { - for (var_r23 = 3; var_r23 != 0; var_r23--) { - var_r26++; - if (var_r26 >= 4) { - var_r26 = 0; - } - if (lbl_1_bss_4D4[var_r26].unk30 != 3) - break; - } - } - temp_r27 = &lbl_1_bss_4D4[var_r26]; - Hu3DMotionSet(temp_r31->unk0, temp_r31->unkC[1]); - Hu3DMotionSet(temp_r31->unk2, temp_r31->unkC[1]); - Hu3DModelAttrReset(temp_r31->unk0, HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(temp_r31->unk2, HU3D_MOTATTR_LOOP); - var_r29 = Hu3DMotionMaxTimeGet(temp_r31->unk0); - var_f24 = fn_1_1D08(atan2d(temp_r27->unk40.x - temp_r31->unk2C.x, temp_r27->unk40.z - temp_r31->unk2C.z)); - temp_f18 = (temp_r27->unk40.x + (50.0 * sind(var_f24))); - sp44.y = (temp_r27->unk40.z + (50.0 * cosd(var_f24))); - sp44.x = 360.0f * frandf(); - var_f23 = 50.0f * frandf(); - temp_f18 += (var_f23 * sind(sp44.x)); - sp44.y += (var_f23 * cosd(sp44.x)); - sp44.z = fn_1_27C4(var_r29, var_f24, temp_r31->unk38.y); - HuAudFXPlay(0x583); - - for (; var_r29 != 0; var_r29--) { - temp_r31->unk38.y += sp44.z; - Hu3DModelRotSet(temp_r31->unk0, temp_r31->unk38.x, temp_r31->unk38.y, temp_r31->unk38.z); - Hu3DModelRotSet(temp_r31->unk2, temp_r31->unk38.x, temp_r31->unk38.y, temp_r31->unk38.z); - HuPrcVSleep(); - } - HuPrcSleep(0x1E); - Hu3DModelAttrReset(temp_r31->unk6, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(temp_r31->unk8, HU3D_ATTR_DISPOFF); - Hu3DModelShadowDispOn(temp_r31->unk6); - Hu3DModelPosSet(temp_r31->unk6, 0.0f, 0.0f, 0.0f); - Hu3DModelPosSet(temp_r31->unk8, 0.0f, 0.0f, 0.0f); - Hu3DModelHookSet(temp_r31->unk0, "itemhook", temp_r31->unk6); - Hu3DModelHookSet(temp_r31->unk2, "itemhook", temp_r31->unk8); - Hu3DMotionShiftSet(temp_r31->unk0, temp_r31->unkC[2], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - Hu3DMotionShiftSet(temp_r31->unk2, temp_r31->unkC[2], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - HuPrcSleep(10); - while (Hu3DMotionTimeGet(temp_r31->unk0) < 18.0f) { - HuPrcVSleep(); - } - Hu3DModelHookReset(temp_r31->unk0); - Hu3DModelHookReset(temp_r31->unk2); - HuAudFXPlay(0x582); - temp_r30 = lbl_1_bss_278[var_r21]; - temp_r30->unk6 = var_r21; - temp_r30->unkA = 0; - var_r20 = HuPrcChildCreate(fn_1_2064, 0x1000, 0x3000, 0, HuPrcCurrentGet()); - var_r20->user_data = temp_r30; - temp_r30->unkC = 0; - temp_r30->unk0 = temp_r31->unk6; - temp_r30->unk2 = temp_r31->unk8; - temp_r30->unk30 = 25.0f; - temp_r30->unk10.x = -89.937f; - temp_r30->unk10.y = 125.861f; - temp_r30->unk10.z = 43.181f; - temp_r30->unk1C.x = temp_f18; - temp_r30->unk1C.y = sp44.y; - var_f24 = fn_1_1D08(atan2d(temp_r30->unk10.x, temp_r30->unk10.z)); - var_f24 += temp_r31->unk38.y; - var_f23 = sqrtf((temp_r30->unk10.x * temp_r30->unk10.x) + (temp_r30->unk10.z * temp_r30->unk10.z)); - temp_r30->unk10.x = (temp_r31->unk2C.x + (var_f23 * sind(var_f24))); - temp_r30->unk10.y = 125.861f + temp_r31->unk2C.y; - temp_r30->unk10.z = (temp_r31->unk2C.z + (var_f23 * cosd(var_f24))); - Hu3DModelPosSet(temp_r31->unk6, temp_r30->unk10.x, temp_r30->unk10.y, temp_r30->unk10.z); - Hu3DModelPosSet(temp_r31->unk8, temp_r30->unk10.x, -temp_r30->unk10.y, temp_r30->unk10.z); - HuSetVecF(&sp68, temp_r31->unk2C.x, 0.0, temp_r31->unk2C.z); - HuSetVecF(&sp5C, temp_f18, 0.0, sp44.y); - HuSubVecF(&sp50, &sp68, &sp5C); - var_f23 = sqrtf((sp50.x * sp50.x) + (sp50.z * sp50.z)); - sp40 = 1.0f; - while (1) { - for (var_r29 = 0, var_f19 = temp_r30->unk10.y, var_f22 = sp40; var_f22 > 0.0f; var_r29++) { - var_f19 += var_f22; - var_f22 -= 0.9f; - } - if (var_f19 >= (var_f23 / 2.0f)) - break; - sp40++; - } - - for (; var_f19 > 0.0f; var_r29++) { - var_f19 += var_f22; - var_f22 -= 0.9f; - } - temp_r30->unk24.z = sp40; - temp_r30->unk24.x = fn_1_1D08(atan2d(temp_f18 - temp_r30->unk10.x, sp44.y - temp_r30->unk10.z)); - temp_r30->unk24.y = var_f23 / var_r29; - - while (Hu3DMotionEndCheck(temp_r31->unk0) == 0) { - HuPrcVSleep(); - } - goto loop_10; -} - -void fn_1_3950(void) -{ - Vec sp8C; - Vec sp80; - Vec sp74; - f32 sp70; - f32 sp6C; - f32 sp68; - f32 sp64; - f32 sp60; - f32 sp5C; - volatile f32 sp58; - f32 sp54; - f32 temp_f27; - f32 var_f29; - f32 temp_f31; - f32 temp_f30; - f32 var_f18; - f32 var_f19; - f32 var_f20; - f32 var_f21; - f32 var_f22; - f32 var_f23; - f32 var_f24; - s32 var_r28; - s32 var_r24; - s32 var_r25; - s32 var_r29; - s32 var_r26; - unkStruct *temp_r30; - unkStruct3 *temp_r27; - unkStruct2 *temp_r31; - s32 var_r23; - Process *var_r22; - - temp_r31 = HuPrcCurrentGet()->user_data; -loop_1: - var_r29 = lbl_1_bss_790 / 60; - if (var_r29 >= 0x3C) { - var_r29 = 0x3C; - } - if (lbl_1_bss_794 >= 4) { - while (1) { - HuPrcVSleep(); - } - } - var_r24 = 1; - if (var_r29 >= 0x20) { - var_r24 = 0; - } - if (((1 << (var_r29 % 32)) & lbl_1_data_340[temp_r31->unk28][var_r24]) != 0) { - var_r23 = fn_1_2708(); - } - else { - HuPrcVSleep(); - goto loop_1; - } - Hu3DModelAttrReset(temp_r31->unk0, HU3D_MOTATTR_PAUSE); - Hu3DModelClusterAttrReset(temp_r31->unk0, 0, -0x3FFFFFFE); - Hu3DModelAttrReset(temp_r31->unk2, HU3D_MOTATTR_PAUSE); - Hu3DModelClusterAttrReset(temp_r31->unk2, 0, -0x3FFFFFFE); - Hu3DModelAttrReset(temp_r31->unk6, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(temp_r31->unk8, HU3D_ATTR_DISPOFF); - Hu3DModelShadowDispOn(temp_r31->unk6); - var_f18 = 850.0f; - temp_f31 = -217.722f; - temp_f30 = 0.0f; - var_f29 = fn_1_1D08(atan2d(temp_f31, temp_f30)); - var_f29 += temp_r31->unk38.y; - var_f24 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - temp_f31 = (temp_r31->unk2C.x + (var_f24 * sind(var_f29))); - temp_f30 = (temp_r31->unk2C.z + (var_f24 * cosd(var_f29))); - sp64 = 5.0f; - while (1) { - var_f18 -= sp64; - sp64 += 0.9f; - if (sp64 > 20.0f) { - sp64 = 20.0f; - } - if (var_f18 < (304.52f + temp_r31->unk2C.y)) { - var_f18 = 304.52f + temp_r31->unk2C.y; - } - Hu3DModelPosSet(temp_r31->unk6, temp_f31, var_f18, temp_f30); - Hu3DModelPosSet(temp_r31->unk8, temp_f31, -var_f18, temp_f30); - if (var_f18 == (304.52f + temp_r31->unk2C.y)) - break; - HuPrcVSleep(); - } - Hu3DModelPosSet(temp_r31->unk6, 0.0f, 0.0f, 0.0f); - Hu3DModelPosSet(temp_r31->unk8, 0.0f, 0.0f, 0.0f); - Hu3DModelHookSet(temp_r31->unk0, "itemhook", temp_r31->unk6); - Hu3DModelHookSet(temp_r31->unk2, "itemhook", temp_r31->unk8); - Hu3DMotionShiftSet(temp_r31->unk0, temp_r31->unkC[2], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - Hu3DMotionShiftSet(temp_r31->unk2, temp_r31->unk16[2], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - HuPrcSleep(10); - - while (Hu3DMotionEndCheck(temp_r31->unk0) == 0) { - HuPrcVSleep(); - } - HuPrcSleep(0xA); - var_r26 = frandmod(4); - if (lbl_1_bss_4D4[var_r26].unk30 == 3) { - for (var_r25 = 3; var_r25 != 0; var_r25--) { - var_r26 += 1; - if (var_r26 >= 4) { - var_r26 = 0; - } - if (lbl_1_bss_4D4[var_r26].unk30 != 3) - break; - } - } - temp_r27 = &lbl_1_bss_4D4[var_r26]; - Hu3DMotionSet(temp_r31->unk0, temp_r31->unkC[3]); - Hu3DModelAttrReset(temp_r31->unk0, HU3D_MOTATTR_LOOP); - Hu3DMotionSet(temp_r31->unk2, temp_r31->unk16[3]); - Hu3DModelAttrReset(temp_r31->unk2, HU3D_MOTATTR_LOOP); - var_r29 = Hu3DMotionMaxTimeGet(temp_r31->unk0); - var_f29 = fn_1_1D08(atan2d(temp_r27->unk40.x - temp_r31->unk2C.x, temp_r27->unk40.z - temp_r31->unk2C.z)); - sp6C = (temp_r27->unk40.x + (50.0 * sind(var_f29))); - sp68 = (temp_r27->unk40.z + (50.0 * cosd(var_f29))); - sp60 = 360.0f * frandf(); - var_f24 = 50.0f * frandf(); - sp6C += (var_f24 * sind(sp60)); - sp68 += (var_f24 * cosd(sp60)); - sp70 = fn_1_27C4(var_r29, var_f29, temp_r31->unk38.y); - HuAudFXPlay(0x587); - - for (; var_r29 != 0; var_r29--) { - temp_r31->unk38.y += sp70; - Hu3DModelRotSet(temp_r31->unk0, temp_r31->unk38.x, temp_r31->unk38.y, temp_r31->unk38.z); - Hu3DModelRotSet(temp_r31->unk2, temp_r31->unk38.x, temp_r31->unk38.y, temp_r31->unk38.z); - HuPrcVSleep(); - } - HuPrcSleep(30); - Hu3DMotionShiftSet(temp_r31->unk0, temp_r31->unkC[4], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - Hu3DMotionShiftSet(temp_r31->unk2, temp_r31->unk16[4], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - HuPrcSleep(10); - - while (Hu3DMotionTimeGet(temp_r31->unk0) < 24.0f) { - HuPrcVSleep(); - } - Hu3DModelHookReset(temp_r31->unk0); - Hu3DModelHookReset(temp_r31->unk2); - HuAudFXPlay(0x586); - temp_r30 = lbl_1_bss_278[var_r23]; - temp_r30->unk6 = var_r23; - temp_r30->unkA = 0; - var_r22 = HuPrcChildCreate(fn_1_2064, 0x1000, 0x3000, 0, HuPrcCurrentGet()); - var_r22->user_data = temp_r30; - temp_r30->unkC = 1; - temp_r30->unk0 = temp_r31->unk6; - temp_r30->unk2 = temp_r31->unk8; - temp_r30->unk4 = temp_r31->unkA; - temp_r30->unk30 = 100.0f; - temp_r30->unk10.x = -217.722f; - temp_r30->unk10.y = 404.52f; - temp_r30->unk10.z = 0.0f; - var_f29 = fn_1_1D08(atan2d(temp_r30->unk10.x, temp_r30->unk10.z)); - var_f29 += temp_r31->unk38.y; - var_f24 = sqrtf((temp_r30->unk10.x * temp_r30->unk10.x) + (temp_r30->unk10.z * temp_r30->unk10.z)); - temp_r30->unk10.x = (temp_r31->unk2C.x + (var_f24 * sind(var_f29))); - temp_r30->unk10.y = (404.52f + temp_r31->unk2C.y) - 100.0f; - temp_r30->unk10.z = (temp_r31->unk2C.z + (var_f24 * cosd(var_f29))); - Hu3DModelPosSet(temp_r31->unk6, temp_r30->unk10.x, temp_r30->unk10.y, temp_r30->unk10.z); - Hu3DModelPosSet(temp_r31->unk8, temp_r30->unk10.x, -temp_r30->unk10.y, temp_r30->unk10.z); - HuSetVecF(&sp8C, temp_r31->unk2C.x, 0.0, temp_r31->unk2C.z); - HuSetVecF(&sp80, sp6C, 0.0, sp68); - HuSubVecF(&sp74, &sp8C, &sp80); - var_f24 = sqrtf((sp74.x * sp74.x) + (sp74.z * sp74.z)); - sp54 = 1.0f; - - while (1) { - for (var_r29 = 0, sp5C = temp_r30->unk10.y, sp58 = sp54; sp58 > 0.0f; var_r29++) { - sp5C += sp58; - sp58 -= 0.9f; - } - if (sp5C >= 600.0f) - break; - sp54++; - } - for (; sp5C > 0.0f; var_r29++) { - sp5C += sp58; - sp58 -= 0.9f; - } - temp_r30->unk24.z = sp54; - temp_r30->unk24.x = fn_1_1D08(atan2d((sp6C - temp_r30->unk10.x), (sp68 - temp_r30->unk10.z))); - temp_r30->unk24.y = var_f24 / var_r29; - while (Hu3DMotionEndCheck(temp_r31->unk0) == 0) { - HuPrcVSleep(); - } - goto loop_1; -} - -s8 fn_1_4BE4(s32 arg0, s32 arg1) -{ - s8 var_r30; - unkStruct3 *temp_r31; - - temp_r31 = &lbl_1_bss_4D4[arg0]; - if (GWPlayerCfg[arg0].iscom == 0) { - (arg1 != 0) ? (var_r30 = HuPadStkY[temp_r31->unk2C]) : (var_r30 = HuPadStkX[temp_r31->unk2C]); - } - else { - (arg1 != 0) ? (var_r30 = temp_r31->unk89) : (var_r30 = temp_r31->unk88); - } - return var_r30; -} - -void fn_1_4C9C(Vec *arg0, f32 arg8, f32 arg9) -{ - f32 temp_f29; - - temp_f29 = sqrtf((arg0->x * arg0->x) + (arg0->z * arg0->z)); - temp_f29 *= arg9; - arg0->x = (temp_f29 * sind(arg8)); - arg0->z = (temp_f29 * cosd(arg8)); -} - -s8 fn_1_4E58(s32 arg0, s32 arg1) -{ - Vec spC; - f32 temp_f28; - s8 var_r30; - s8 temp_r29; - s8 temp_r28; - unkStruct3 *temp_r31; - - temp_r31 = &lbl_1_bss_4D4[arg0]; - if (GWPlayerCfg[arg0].iscom == 0) { - temp_r29 = HuPadStkX[temp_r31->unk2C]; - temp_r28 = HuPadStkY[temp_r31->unk2C]; - temp_f28 = fn_1_1D08(atan2d(temp_r29, temp_r28)); - temp_f28 -= lbl_1_bss_778; - HuSetVecF(&spC, (f32)temp_r29, 0.0, (f32)temp_r28); - fn_1_4C9C(&spC, temp_f28, 1.0f); - (arg1 != 0) ? (var_r30 = spC.z) : (var_r30 = spC.x); - } - else { - (arg1 != 0) ? (var_r30 = temp_r31->unk89) : (var_r30 = temp_r31->unk88); - } - return var_r30; -} - -u8 fn_1_525C(s32 arg0, s32 arg1) -{ - s8 var_r30; - unkStruct3 *temp_r31; - - temp_r31 = &lbl_1_bss_4D4[arg0]; - if (GWPlayerCfg[arg0].iscom == 0) { - (arg1 != 0) ? (var_r30 = HuPadTrigR[temp_r31->unk2C]) : (var_r30 = HuPadTrigL[temp_r31->unk2C]); - } - else { - (arg1 != 0) ? (var_r30 = temp_r31->unk8A) : (var_r30 = temp_r31->unk8B); - } - return var_r30; -} - -u16 fn_1_531C(s32 arg0) -{ - u16 var_r30; - unkStruct3 *temp_r31; - - temp_r31 = &lbl_1_bss_4D4[arg0]; - if (GWPlayerCfg[arg0].iscom == 0) { - var_r30 = HuPadBtnDown[temp_r31->unk2C]; - } - else { - var_r30 = temp_r31->unk8E; - } - return var_r30; -} - -u16 fn_1_5388(s32 arg0) -{ - u16 var_r30; - unkStruct3 *temp_r31; - - temp_r31 = &lbl_1_bss_4D4[arg0]; - if (GWPlayerCfg[arg0].iscom == 0) { - var_r30 = HuPadBtn[temp_r31->unk2C]; - } - else { - var_r30 = temp_r31->unk8C; - } - return var_r30; -} - -s32 fn_1_53F4(unkStruct3 *arg0, f32 arg8, f32 arg9, f32 argA) -{ - Vec sp30; - Vec sp24; - Vec sp18; - unkStruct3 *temp_r31; - s32 var_r30; - s32 var_r28; - f32 var_f27; - f32 var_f28; - - var_r28 = -1; - - for (var_r30 = 0, var_f28 = 10000.0f; var_r30 < 4; var_r30++) { - if (var_r30 != arg0->unk24) { - temp_r31 = &lbl_1_bss_4D4[var_r30]; - HuSetVecF(&sp30, arg8, arg9, argA); - HuSetVecF(&sp24, temp_r31->unk40.x, temp_r31->unk40.y, temp_r31->unk40.z); - HuSubVecF(&sp18, &sp30, &sp24); - if (((var_f27 = sqrtf((sp18.z * sp18.z) + ((sp18.x * sp18.x) + (sp18.y * sp18.y)))) < (arg0->unk60.x + temp_r31->unk60.x)) - && (var_f27 < var_f28)) { - var_f28 = var_f27; - var_r28 = var_r30; - arg0->unkA4 = 0; - } - } - } - return var_r28; -} - -s32 fn_1_561C(unkStruct3 *arg0, s32 *arg1) -{ - Vec sp24; - Vec sp18; - Vec spC; - f32 var_f27; - f32 var_f28; - s32 var_r27; - s32 var_r28; - s32 var_r29; - unkStruct3 *temp_r30; - - var_r27 = -1; - var_r29 = 0; - var_f28 = 10000.0f; - var_r28 = 0; - - for (; var_r29 < 4; var_r29++) { - if (var_r29 != arg0->unk24) { - temp_r30 = &lbl_1_bss_4D4[var_r29]; - HuSetVecF(&sp24, arg0->unk40.x, arg0->unk40.y, arg0->unk40.z); - HuSetVecF(&sp18, temp_r30->unk40.x, temp_r30->unk40.y, temp_r30->unk40.z); - HuSubVecF(&spC, &sp24, &sp18); - if ((var_f27 = sqrtf((spC.z * spC.z) + ((spC.x * spC.x) + (spC.y * spC.y)))) < (arg0->unk60.x + temp_r30->unk60.x)) { - var_r28 += 1; - if (var_f27 < var_f28) { - var_f28 = var_f27; - var_r27 = var_r29; - arg0->unkA4 = 0; - } - } - } - } - *arg1 = var_r28; - return var_r27; -} - -void fn_1_5838(unkStruct3 *arg0) -{ - Vec spA8; - Vec sp9C; - Vec sp90; - Vec sp84; - Vec sp78; - Vec sp6C; - s32 sp68; - f32 sp64; - f32 sp60; - f32 sp5C; - f32 sp58; - f32 sp54; - f32 sp50; - f32 sp4C; - f32 var_f20; - f32 var_f25; - f32 var_f27; - f32 var_f26; - s32 var_r25; - s32 var_r29; - unkStruct3 *temp_r27; - unkStruct3 *var_r30; - s32 var_r24; - - var_r24 = fn_1_561C(arg0, &sp68); - if (var_r24 != -1) { - var_f20 = fn_1_1D08(atan2d((arg0->unk40.x - arg0->unk4C.x), (arg0->unk40.z - arg0->unk4C.y))); - sp58 = var_f27 = arg0->unk4C.x; - sp54 = var_f26 = arg0->unk4C.y; - sp4C = 1.0f; - var_r25 = (1.0f + (10.0f / sp4C)); - - while (var_r25 != 0) { - var_f27 += sp4C * sind(var_f20); - var_f26 += sp4C * cosd(var_f20); - HuSetVecF(&spA8, var_f27, arg0->unk40.y, var_f26); - - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (var_r29 == arg0->unk24) - continue; - var_r30 = &lbl_1_bss_4D4[var_r29]; - HuSetVecF(&sp9C, var_r30->unk40.x, var_r30->unk40.y, var_r30->unk40.z); - HuSubVecF(&sp90, &spA8, &sp9C); - if (sqrtf((sp90.z * sp90.z) + ((sp90.x * sp90.x) + (sp90.y * sp90.y))) < (arg0->unk60.x + var_r30->unk60.x)) - break; - } - if (var_r29 < 4) - break; - AddX = 0.0f; - AddZ = 0.0f; - MapWall(arg0->unk60.x, var_f27, arg0->unk40.y + arg0->unk60.x, var_f26); - if ((AddX + AddZ) != 0.0f) - goto end; - sp58 = var_f27; - sp54 = var_f26; - var_r25--; - } - var_f20 = fn_1_1D08(atan2d((arg0->unk40.x - arg0->unk4C.x), (arg0->unk40.z - arg0->unk4C.y))); - var_f25 = fn_1_1D08(atan2d((var_r30->unk40.x - arg0->unk4C.x), (var_r30->unk40.z - arg0->unk4C.y))); - sp60 = var_f20 - var_f25; - if (sp60 > 0.0f) { - sp5C = -0.5f; - } - else { - sp5C = 0.5f; - } - if (ABS_INV(var_f20 - var_f25) > 180.0f) { - sp5C = -sp5C; - } - var_f25 = fn_1_1D08(atan2d((arg0->unk4C.x - var_r30->unk40.x), (arg0->unk4C.y - var_r30->unk40.z))); - sp50 = 0.8f * arg0->unk60.y; - var_r24 = var_r30->unk24; - sp64 = 1.0f + (arg0->unk60.x + var_r30->unk60.x); - while (1) { - var_f27 = (var_r30->unk40.x + (sp64 * sind(var_f25))); - var_f26 = (var_r30->unk40.z + (sp64 * cosd(var_f25))); - HuSetVecF(&spA8, var_f27, 0.0, var_f26); - - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if ((var_r29 == arg0->unk24) || (var_r29 == var_r24)) - continue; - temp_r27 = &lbl_1_bss_4D4[var_r29]; - HuSetVecF(&sp9C, temp_r27->unk40.x, 0.0, temp_r27->unk40.z); - HuSubVecF(&sp90, &spA8, &sp9C); - if (sqrtf((sp90.x * sp90.x) + (sp90.z * sp90.z)) < (arg0->unk60.x + temp_r27->unk60.x)) - break; - } - if (var_r29 < 4) - break; - AddX = 0.0f; - AddZ = 0.0f; - MapWall(arg0->unk60.x, var_f27, arg0->unk40.y + arg0->unk60.x, var_f26); - if ((AddX + AddZ) != 0.0f) - break; - sp58 = var_f27; - sp54 = var_f26; - HuSetVecF(&spA8, arg0->unk4C.x, 0.0, arg0->unk4C.y); - HuSetVecF(&sp9C, var_f27, 0.0, var_f26); - HuSubVecF(&sp90, &spA8, &sp9C); - if (sqrtf((sp90.x * sp90.x) + (sp90.z * sp90.z)) > sp50) - break; - var_f25 += sp5C; - } - end: - arg0->unk40.x = sp58; - arg0->unk40.z = sp54; - } -} - -f32 fn_1_6594(f32 arg8, f32 arg9, f32 argA) -{ - f32 var_f31; - f32 var_f30; - - var_f31 = fmod((arg9 - arg8), 360.0); - if (0.0f > var_f31) { - var_f31 += 360.0f; - } - if (180.0f < var_f31) { - var_f31 -= 360.0f; - } - var_f30 = fmod((arg8 + (var_f31 * argA)), 360.0); - if (0.0f > var_f30) { - var_f30 += 360.0f; - } - return var_f30; -} - -f32 fn_1_6698(f32 arg8, f32 arg9, unkStruct3 *arg0) -{ - Vec sp2C; - Vec sp20; - Vec sp14; - - HuSetVecF(&sp2C, arg8, 0.0, arg9); - HuSetVecF(&sp20, arg0->unk40.x, 0.0, arg0->unk40.z); - HuSubVecF(&sp14, &sp2C, &sp20); - return sqrtf((sp14.x * sp14.x) + (sp14.z * sp14.z)); -} - -static inline void PadInline(void) -{ - float var_f27; - (void)var_f27; - (void)var_f27; - (void)var_f27; - (void)var_f27; - (void)var_f27; - (void)var_f27; - (void)var_f27; - (void)var_f27; - (void)var_f27; - (void)var_f27; - (void)var_f27; - (void)var_f27; - (void)var_f27; - (void)var_f27; -} - -void fn_1_6814(unkStruct3 *arg0) -{ - Vec sp104; - Vec spF8; - Vec spEC; - volatile f32 spA0; - f32 sp9C; - f32 sp98; - f32 var_f27; // probably debug code - f32 var_f18; - f32 temp_f31; - f32 temp_f30; - f32 var_f29; - s32 var_r22; - s32 var_r21; - s32 var_r20; - unkStruct *temp_r27; - s32 var_r28; - unkStruct3 *temp_r29; - unkStruct *var_r30; - - arg0->unk88 = arg0->unk89 = 0; - arg0->unk8B = arg0->unk8A = 0; - arg0->unk8C = arg0->unk8E = 0; - - switch (GWPlayerCfg[arg0->unk24].diff) { - case 0: - var_r22 = 0x3C; - break; - case 1: - var_r22 = 0x50; - break; - case 2: - var_r22 = 0x5A; - break; - default: - var_r22 = 0x5F; - break; - } - switch (GWPlayerCfg[arg0->unk24].diff) { - case 0: - spA0 = 200.0f; - break; - case 1: - spA0 = 250.0f; - break; - case 2: - spA0 = 300.0f; - break; - default: - spA0 = 350.0f; - break; - } - - for (var_r28 = 0, sp98 = 10000.0f; var_r28 < 0x20; var_r28++) { - temp_r27 = lbl_1_bss_278[var_r28]; - if (temp_r27 && (temp_r27->unk6 != -1)) { - HuSetVecF(&sp104, arg0->unk40.x, 0.0, arg0->unk40.z); - HuSetVecF(&spF8, temp_r27->unk10.x, 0.0, temp_r27->unk10.z); - HuSubVecF(&spEC, &sp104, &spF8); - var_f29 = sqrtf((spEC.z * spEC.z) + ((spEC.x * spEC.x) + (spEC.y * spEC.y))); - if ((var_f29 < (spA0 + (arg0->unk60.x + temp_r27->unk30))) && (sp98 > var_f29)) { - var_r30 = temp_r27; - sp98 = var_f29; - } - } - } - if (sp98 < 10000.0f) { - arg0->unk9C = 0; - var_r21 = 1; - if (arg0->unkA0 != var_r30->unk6) { - if (frandmod(0x64) < 0) { - (void)var_r21; // probably debug code - PadInline(); - } - else { - (void)var_r21; - } - } - if (var_r21 != 0) { - sp9C = 200.0f + (var_r30->unk30 + arg0->unk60.x) + (100.0f * frandf()); - sp104.x = temp_f31 = (var_r30->unk10.x + (sp9C * sind(var_r30->unk24.x + 90.0f))); - sp104.z = temp_f30 = (var_r30->unk10.z + (sp9C * cosd(var_r30->unk24.x + 90.0f))); - var_f29 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - spF8.x = temp_f31 = (var_r30->unk10.x + (sp9C * sind(var_r30->unk24.x - 90.0f))); - spF8.z = temp_f30 = (var_r30->unk10.z + (sp9C * cosd(var_r30->unk24.x - 90.0f))); - spA0 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - if (sqrtf((arg0->unk40.x * arg0->unk40.x) + (arg0->unk40.z * arg0->unk40.z)) < 400.0f) { - spEC.x = var_f29; - var_f29 = spA0; - spA0 = spEC.x; - } - if (var_f29 > spA0) { - spEC.x = spF8.x; - spEC.z = spF8.z; - } - else { - spEC.x = sp104.x; - spEC.z = sp104.z; - } - if (arg0->unkA0 != var_r30->unk6) { - arg0->unkA0 = var_r30->unk6; - arg0->unk90.x = spEC.x; - arg0->unk90.y = spEC.z; - } - - var_f18 = atan2d((arg0->unk90.x - arg0->unk40.x), (arg0->unk90.y - arg0->unk40.z)); - - if (fn_1_53F4(arg0, arg0->unk40.x + arg0->unk7C.x, arg0->unk40.y, arg0->unk40.z + arg0->unk7C.z) != -1) { - var_f18 += 90.0f; - } - arg0->unk88 = 50.0 * sind(var_f18); - arg0->unk89 = -50.0f * cosd(var_f18); - } - } - else { - if (arg0->unk9C == 0) { - arg0->unk9C = 1; - arg0->unk98 = (250.0f + (90.0f * frandf())); - arg0->unkA4 = 30; - } - if ((sqrtf((arg0->unk40.x * arg0->unk40.x) + (arg0->unk40.z * arg0->unk40.z)) > arg0->unk98) && (arg0->unkA4 != 0)) { - arg0->unkA4--; - var_f18 = (180.0 + (atan2d(arg0->unk40.x, arg0->unk40.z))); - if (fn_1_53F4(arg0, arg0->unk40.x + arg0->unk7C.x, arg0->unk40.y, arg0->unk40.z + arg0->unk7C.z) != -1) { - arg0->unkA4 = 0; - var_f18 += 90.0f; - } - arg0->unk88 = 25.0 * sind(var_f18); - arg0->unk89 = -25.0 * cosd(var_f18); - return; - } - var_r28 = 0; - sp98 = 10000.0f; - var_r20 = -1; - - for (; var_r28 < 4; var_r28++) { - if (var_r28 != arg0->unk24) { - temp_r29 = &lbl_1_bss_4D4[var_r28]; - HuSetVecF(&sp104, arg0->unk40.x, 0.0, arg0->unk40.z); - HuSetVecF(&spF8, temp_r29->unk40.x, 0.0, temp_r29->unk40.z); - HuSubVecF(&spEC, &sp104, &spF8); - var_f29 = sqrtf((spEC.z * spEC.z) + ((spEC.x * spEC.x) + (spEC.y * spEC.y))); - if (var_f29 < sp98) { - var_r20 = var_r28; - sp98 = var_f29; - } - } - } - if (var_r20 != -1) { - temp_r29 = &lbl_1_bss_4D4[var_r20]; - HuSetVecF(&sp104, arg0->unk40.x, 0.0, arg0->unk40.z); - HuSetVecF(&spF8, temp_r29->unk40.x, 0.0, temp_r29->unk40.z); - HuSubVecF(&spEC, &sp104, &spF8); - var_f29 = sqrtf((spEC.x * spEC.x) + (spEC.z * spEC.z)); - if ((var_f29 < 200.0f) && (var_f29 > 150.0f)) { - var_f18 = atan2d((arg0->unk40.x - temp_r29->unk40.x), (arg0->unk40.z - temp_r29->unk40.z)); - (void)var_f29; - arg0->unk88 = 30.0f * sind(var_f18); - arg0->unk89 = -30.0f * cosd(var_f18); - } - } - } -} - -void fn_1_7C60(void) -{ - Vec sp1A0; - Vec sp188; - Vec sp17C; - Vec sp170; - Vec sp164; - Vec sp158; - Vec sp14C; - Vec sp140; - f32 sp13C; - f32 sp138; - f32 sp134; - f32 sp130; - f32 sp12C; - f32 temp_f20; - f32 var_f21; - f32 var_f31; - s32 var_r27; - unkStruct3 *temp_r30; - unkStruct3 *temp_r31; - - temp_r31 = HuPrcCurrentGet()->user_data; - temp_r31->unk30 = 0; - temp_r31->unk9C = 0; - temp_r31->unkA0 = -1; - - while (lbl_1_bss_794 == 0) { - HuPrcVSleep(); - } - - lbl_1_bss_794 = 2; - while (lbl_1_bss_794 == 2) { - HuPrcVSleep(); - } -loop_6: - temp_r31->unk4C.x = temp_r31->unk40.x; - temp_r31->unk4C.y = temp_r31->unk40.z; - if (GWPlayerCfg[temp_r31->unk24].iscom == 1) { - fn_1_6814(temp_r31); - } - switch (temp_r31->unk30) { - default: - HuSetVecF(&sp1A0, fn_1_4E58(temp_r31->unk24, 0) / 4.0f, 0.0, -fn_1_4E58(temp_r31->unk24, 1) / 4.0f); - temp_r31->unk60.z = sqrtf((sp1A0.z * sp1A0.z) + ((sp1A0.x * sp1A0.x) + (sp1A0.y * sp1A0.y))); - if (temp_r31->unk60.z >= 0.5f) { - if (temp_r31->unk60.z >= 10.0f) { - sp1A0.x /= temp_r31->unk60.z; - sp1A0.z /= temp_r31->unk60.z; - temp_r31->unk60.z = 10.0f; - sp1A0.x = 10.0f * sp1A0.x; - sp1A0.z = 10.0f * sp1A0.z; - } - temp_r31->unk54.y = fn_1_6594(temp_r31->unk54.y, atan2d(sp1A0.x, sp1A0.z), 0.4f); - if (temp_r31->unk60.z >= 8.0f) { - if (temp_r31->unk30 != 2) { - temp_r31->unk30 = 2; - CharModelMotionShiftSet( - lbl_1_data_0[GWPlayerCfg[temp_r31->unk24].character], temp_r31->unkC[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSet(temp_r31->unk2, temp_r31->unk18[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - } - else if (temp_r31->unk30 != 1) { - temp_r31->unk30 = 1; - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk24].character], temp_r31->unkC[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSet(temp_r31->unk2, temp_r31->unk18[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - temp_r31->unk7C.x += 0.1f * sp1A0.x; - temp_r31->unk7C.z += 0.1f * sp1A0.z; - } - else if (temp_r31->unk30 != 0) { - temp_r31->unk30 = 0; - CharModelMotionSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk24].character], temp_r31->unkC[0]); - Hu3DModelAttrSet(temp_r31->unk0, HU3D_MOTATTR_LOOP); - Hu3DMotionSet(temp_r31->unk2, temp_r31->unk18[0]); - Hu3DMotionSpeedSet(temp_r31->unk2, 2.0f); - Hu3DModelAttrSet(temp_r31->unk2, HU3D_MOTATTR_LOOP); - } - var_f21 = sqrtf((temp_r31->unk7C.x * temp_r31->unk7C.x) + (temp_r31->unk7C.z * temp_r31->unk7C.z)); - if (temp_r31->unk60.z > 0.5f) { - if (var_f21 > 0.25f) { - var_f21 -= 0.25f; - } - } - else { - var_f21 -= 0.25f; - } - if (var_f21 < 0.0f) { - HuSetVecF(&temp_r31->unk7C, 0.0, 0.0, 0.0); - var_f21 = 0.0f; - } - else { - if (var_f21 > 10.0f) { - var_f21 = 10.0f; - } - sp13C = fn_1_1D08(atan2d(temp_r31->unk7C.x, temp_r31->unk7C.z)); - HuSetVecF(&temp_r31->unk7C, (var_f21 * sind(sp13C)), 0.0, (var_f21 * cosd(sp13C))); - } - temp_r31->unk60.y = var_f21; - temp_r31->unk40.x += temp_r31->unk7C.x; - temp_r31->unk40.z += temp_r31->unk7C.z; - if ((temp_r31->unk38 = fn_1_53F4(temp_r31, temp_r31->unk40.x, temp_r31->unk40.y, temp_r31->unk40.z)) != -1) { - temp_r30 = &lbl_1_bss_4D4[temp_r31->unk38]; - if (temp_r30->unk30 != 3) { - var_f31 = atan2d((temp_r30->unk40.x - temp_r31->unk40.x), (temp_r30->unk40.z - temp_r31->unk40.z)); - temp_f20 = atan2d(temp_r31->unk7C.x, temp_r31->unk7C.z); - var_f31 = ABS_INV(var_f31 - temp_f20); - if (var_f31 > 180.0f) { - var_f31 = 360.0f - var_f31; - } - sp138 = var_f31 / 90.0f; - var_f31 = atan2d((temp_r31->unk40.x - temp_r30->unk40.x), (temp_r31->unk40.z - temp_r30->unk40.z)); - temp_f20 = atan2d(temp_r31->unk7C.x, temp_r31->unk7C.z); - temp_f20 = fn_1_1D08(180.0f + temp_f20); - temp_f20 = fn_1_1D08(var_f31 - (temp_f20 - var_f31)); - var_f31 = fn_1_1D08(atan2d((temp_r30->unk40.x - temp_r31->unk40.x), (temp_r30->unk40.z - temp_r31->unk40.z))); - HuSetVecF(&sp1A0, temp_r31->unk7C.x, 0.0, temp_r31->unk7C.z); - fn_1_4C9C(&sp1A0, var_f31, 1.0f - sp138); - HuSetVecF(&temp_r30->unk7C, sp1A0.x, 0.0, sp1A0.z); - HuSetVecF(&sp1A0, temp_r31->unk7C.x, 0.0, temp_r31->unk7C.z); - fn_1_4C9C(&sp1A0, temp_f20, sp138); - HuSetVecF(&temp_r31->unk7C, sp1A0.x, 0.0, sp1A0.z); - } - fn_1_5838(temp_r31); - } - while (1) { - AddX = 0.0f; - AddZ = 0.0f; - MapWall(temp_r31->unk60.x, temp_r31->unk40.x, temp_r31->unk40.y + temp_r31->unk60.x, temp_r31->unk40.z); - temp_r31->unk40.x += AddX; - temp_r31->unk40.z += AddZ; - if ((temp_r31->unk38 = fn_1_53F4(temp_r31, temp_r31->unk40.x, temp_r31->unk40.y, temp_r31->unk40.z)) == -1) - break; - temp_r31->unk40.x = temp_r31->unk4C.x; - temp_r31->unk40.z = temp_r31->unk4C.y; - } - Hu3DModelPosSet(temp_r31->unk0, temp_r31->unk40.x, temp_r31->unk40.y, temp_r31->unk40.z); - Hu3DModelRotSet(temp_r31->unk0, temp_r31->unk54.x, temp_r31->unk54.y, temp_r31->unk54.z); - Hu3DModelPosSet(temp_r31->unk2, temp_r31->unk40.x, temp_r31->unk40.y, temp_r31->unk40.z); - Hu3DModelRotSet(temp_r31->unk2, temp_r31->unk54.x, temp_r31->unk54.y, temp_r31->unk54.z); - HuPrcVSleep(); - goto loop_6; - case 3: - HuAudFXPlay(0x584); - Hu3DModelAttrSet(temp_r31->unk0, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(temp_r31->unk2, HU3D_MOTATTR_PAUSE); - Hu3DModelPosSet(temp_r31->unkA, temp_r31->unk40.x + (100.0 * sind(lbl_1_bss_778)), 200.0f + temp_r31->unk40.y, - temp_r31->unk40.z + (100.0 * cosd(lbl_1_bss_778))); - Hu3DModelAttrReset(temp_r31->unkA, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(temp_r31->unkA, HU3D_MOTATTR_PAUSE); - HuPrcSleep(10); - Hu3DModelAttrSet(temp_r31->unk0, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(temp_r31->unk2, HU3D_MOTATTR_PAUSE); - HuPrcSleep(10); - Hu3DModelPosSet(temp_r31->unk6, temp_r31->unk40.x, temp_r31->unk40.y, temp_r31->unk40.z); - Hu3DModelPosSet(temp_r31->unk8, temp_r31->unk40.x, temp_r31->unk40.y, temp_r31->unk40.z); - Hu3DModelAttrReset(temp_r31->unk6, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(temp_r31->unk8, HU3D_ATTR_DISPOFF); - Hu3DModelShadowDispOn(temp_r31->unk6); - - for (sp134 = 0.0f, sp130 = 1.0f; sp134 < 1; sp134 += 0.05f, sp130 -= 0.1f) { - Hu3DModelScaleSet(temp_r31->unk6, 1.0f, sp134, 1.0f); - Hu3DModelScaleSet(temp_r31->unk8, 1.0f, -sp134, 1.0f); - if (sp130 > 0.0f) { - Hu3DModelAmbSet(temp_r31->unk0, sp130, sp130, 1.0f); - } - HuPrcVSleep(); - } - Hu3DModelScaleSet(temp_r31->unk6, 1.0f, 1.0f, 1.0f); - Hu3DModelScaleSet(temp_r31->unk8, 1.0f, -1.0f, 1.0f); - while (1) { - HuPrcVSleep(); - } - case 4: - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk24].character], temp_r31->unkC[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSet(temp_r31->unk2, temp_r31->unk18[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - var_r27 = 30; - sp12C = fn_1_27C4(var_r27, lbl_1_bss_778, temp_r31->unk54.y); - - for (; var_r27 != 0; var_r27--) { - temp_r31->unk54.y += sp12C; - Hu3DModelRotSet(temp_r31->unk0, temp_r31->unk54.x, temp_r31->unk54.y, temp_r31->unk54.z); - Hu3DModelRotSet(temp_r31->unk2, temp_r31->unk54.x, temp_r31->unk54.y, temp_r31->unk54.z); - HuPrcVSleep(); - } - while (lbl_1_bss_794 < 5) { - HuPrcVSleep(); - } - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk24].character], temp_r31->unkC[5], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - Hu3DMotionShiftSet(temp_r31->unk2, temp_r31->unk18[5], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - - while (1) { - HuPrcVSleep(); - } - } -} - -void fn_1_A01C(ModelData *model, ParticleData *particle, f32 (*matrix)[4]) -{ - HsfanimStruct01 *var_r31; - f32 var_f29; - f32 var_f28; - f32 var_f30; - f32 var_f31; - s16 var_r25; - s16 var_r24; - s16 var_r26; - s16 var_r28; - s32 var_r27; - unkStruct *temp_r30; - - if (particle->unk_34 == 0) { - var_r31 = particle->unk_48; - for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { - var_r31->unk14.x = var_r31->unk2C = 0.0f; - } - } - var_r31 = particle->unk_48; - - for (var_r26 = 0; var_r26 < 0x20; var_r26++) { - temp_r30 = lbl_1_bss_278[var_r26]; - if (temp_r30 && (temp_r30->unkA != 0)) { - for (var_r25 = 0, var_f30 = 0.0f; var_r25 < 4; var_r25++, var_f30 += 45.0f) { - for (var_r24 = 0, var_f31 = 0.0f; var_r24 < 8; var_r24++, var_f31 += 45.0f) { - for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { - if (var_r31->unk14.x == 0.0f) - break; - } - if (var_r28 == particle->unk_30) - break; - if (temp_r30->unkC == 1) { - var_f29 = 2.0f + (2.0f * frandf()); - var_f28 = 10.0f; - } - else { - var_f29 = 1.0f + frandf(); - var_f28 = 3.0f; - } - var_r31->unk34.x = temp_r30->unk10.x + (var_f29 * (sind(var_f30) * cosd(var_f31))); - var_r31->unk34.y = temp_r30->unk10.y + (var_f29 * sind(var_f31)); - var_r31->unk34.z = (temp_r30->unk10.z + (var_f29 * (cosd(var_f30) * cosd(var_f31)))); - var_r31->unk08.x = (var_f28 * (sind(var_f30) * cosd(var_f31))); - var_r31->unk08.y = (var_f28 * sind(var_f31)); - var_r31->unk08.z = (var_f28 * (cosd(var_f30) * cosd(var_f31))); - var_r31->unk14.x = 30.0f; - if (temp_r30->unkC == 1) { - var_r31->unk2C = 20.0f + (2.0f * frandf()); - var_r31->unk14.y = 0.0f; - } - else { - var_r31->unk2C = 15.0f; - var_r31->unk14.y = 0.0f; - } - var_r31->unk40.a = 0xFF; - var_r31->unk14.z = 20.0f; - } - } - temp_r30->unkA++; - } - } - var_r31 = particle->unk_48; - for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { - if (var_r31->unk14.x != 0.0f) { - VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); - var_r31->unk08.x *= 0.95f; - var_r31->unk08.z *= 0.95f; - var_r31->unk08.y -= 0.2f; - var_r31->unk2C += var_r31->unk14.y; - var_r27 = var_r31->unk40.a; - var_r27 -= var_r31->unk14.z; - if (var_r31->unk14.z > 3.0f) { - var_r31->unk14.z -= 1.0f; - } - if (var_r27 < 0) { - var_r27 = 0; - var_r31->unk14.x = 0.0f; - } - var_r31->unk40.a = var_r27; - if (var_r31->unk14.x == 0.0f) { - var_r31->unk2C = 0.0f; - } - } - } -} - -void fn_1_A618(ModelData *model, ParticleData *particle, f32 (*matrix)[4]) -{ - HsfanimStruct01 *var_r31; - f32 var_f31; - f32 var_f30; - f32 var_f29; - f32 var_f28; - s16 var_r26; - s16 var_r25; - s16 var_r29; - s32 var_r27; - unkStruct *temp_r28; - - if (particle->unk_34 == 0) { - var_r31 = particle->unk_48; - - for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - var_r31->unk14.x = var_r31->unk2C = 0.0f; - } - } - var_r31 = particle->unk_48; - - for (var_r26 = 0; var_r26 < 0x20; var_r26++) { - temp_r28 = lbl_1_bss_278[var_r26]; - if (temp_r28 && (temp_r28->unkA != 0)) { - - for (var_r25 = 0, var_f28 = 0.0f; var_r25 < 9; var_r25++, var_f28 += 45.0f) { - for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - if (var_r31->unk14.x == 0.0f) - break; - } - if (var_r29 == particle->unk_30) - break; - var_f31 = var_f28; - if (var_r25 < 8) { - var_f30 = 1.0f + frandf(); - var_f29 = 2.0f; - } - else { - var_f30 = var_f29 = 0.0f; - } - var_r31->unk34.x = temp_r28->unk10.x + (var_f30 * sind(var_f31)); - var_r31->unk34.y = temp_r28->unk10.y + (10.0f * frandf()); - var_r31->unk34.z = temp_r28->unk10.z + (var_f30 * cosd(var_f31)); - var_r31->unk08.x = var_f29 * sind(var_f31); - var_r31->unk08.y = -1.0f + frandf(); - var_r31->unk08.z = var_f29 * cosd(var_f31); - var_r31->unk14.x = 30.0f; - var_r31->unk2C = 15.0f; - var_r31->unk14.y = 1.5f; - var_r31->unk40.a = 0xC8; - var_r31->unk14.z = 17.0f; - } - temp_r28->unkA = 0; - } - } - var_r31 = particle->unk_48; - for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - if (0.0f != var_r31->unk14.x) { - VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); - var_r31->unk08.x *= 0.95f; - var_r31->unk08.z *= 0.95f; - var_r31->unk08.y -= 0.2f; - var_r31->unk2C += var_r31->unk14.y; - var_r27 = var_r31->unk40.a; - var_r27 -= var_r31->unk14.z; - if (var_r31->unk14.z > 3.0f) { - var_r31->unk14.z -= 1.0f; - } - if (var_r27 < 0) { - var_r27 = 0; - var_r31->unk14.x = 0.0f; - } - var_r31->unk40.a = var_r27; - if (0.0f == var_r31->unk14.x) { - var_r31->unk2C = 0.0f; - } - } - } -} - -void fn_1_AA88(ModelData *model, ParticleData *particle, f32 (*matrix)[4]) -{ - HsfanimStruct01 *var_r31; - f32 var_f31; - s16 var_r27; - s16 var_r28; - unkStruct2 *temp_r29; - - if (particle->unk_34 == 0) { - var_r31 = particle->unk_48; - - for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { - var_r31->unk14.x = var_r31->unk2C = 0.0f; - } - } - var_r31 = particle->unk_48; - - for (var_r27 = 0; var_r27 < 6; var_r27++) { - temp_r29 = &lbl_1_bss_33C[var_r27]; - if (temp_r29->unk20 == 0) - continue; - for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { - if (var_r31->unk14.x == 0.0f) - break; - } - if (var_r28 == particle->unk_30) - break; - var_r31->unk34.x = temp_r29->unk2C.x + (-100.0 * cosd(temp_r29->unk38.y)); - var_r31->unk34.y = 98.0f + temp_r29->unk2C.y; - var_r31->unk34.z = temp_r29->unk2C.z + (100.0 * sind(temp_r29->unk38.y)); - var_r31->unk14.x = 30.0f; - var_r31->unk2C = 80.0f; - var_r31->unk14.y = 5.0f; - var_r31->unk40.a = 0xC8; - var_r31->unk14.z = 17.0f; - temp_r29->unk20 = 0; - } - var_r31 = particle->unk_48; - - for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { - if (0.0f != var_r31->unk14.x) { - var_r31->unk2C += var_r31->unk14.y; - if (var_r31->unk14.y > 2.0f) { - var_r31->unk14.y -= 0.2f; - } - var_f31 = var_r31->unk40.a; - var_f31 -= var_r31->unk14.z; - if (var_r31->unk14.z > 3.0f) { - var_r31->unk14.z -= 1.0f; - } - if (var_f31 < 0.0f) { - var_f31 = 0.0f; - var_r31->unk14.x = 0.0f; - } - var_r31->unk40.a = var_f31; - if (var_r31->unk14.x == 0.0f) { - var_r31->unk2C = 0.0f; - } - } - } -} - -void fn_1_ADC8(void) -{ - Vec sp14; - Vec sp8; - f32 var_f31; - void *temp_r28; - Process *var_r29; - s32 var_r31; - unkStruct3 *temp_r30; - - fn_1_6EC(1465.0f, 770.0f, -2400.0f, 0x588); - HuAudFXPlay(0x58B); - - var_r31 = 0; - var_f31 = Hu3DMotionMaxTimeGet(lbl_1_bss_79E); - for (; var_f31; var_r31++, var_f31--) { - if (var_r31 == 0x33) { - Hu3DModelAttrReset(lbl_1_bss_798[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(lbl_1_bss_798[0], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(lbl_1_bss_798[0], 1465.0f, 770.0f, -2400.0f); - } - if (var_r31 == 0x47) { - Hu3DModelAttrReset(lbl_1_bss_798[1], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(lbl_1_bss_798[1], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(lbl_1_bss_798[1], 1531.0f, 773.0f, -2380.0f); - } - if (var_r31 == 0x82) { - temp_r28 = fn_1_6EC(1465.0f, 770.0f, -2400.0f, 0x580); - var_r29 = HuPrcChildCreate(fn_1_7BC, 0x2000, 0x1000, 0, HuPrcCurrentGet()); - var_r29->user_data = temp_r28; - } - if (var_f31 == 90.0f) { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - temp_r30 = &lbl_1_bss_4D4[var_r31]; - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[var_r31].character], temp_r30->unkC[3], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - Hu3DMotionShiftSet(temp_r30->unk2, temp_r30->unk18[3], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - } - } - HuPrcVSleep(); - } - HuPrcSleep(30); - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - temp_r30 = &lbl_1_bss_4D4[var_r31]; - HuAudPlayerVoicePlay(temp_r30->unk24, 0x128); - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[var_r31].character], temp_r30->unkC[4], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - Hu3DMotionShiftSet(temp_r30->unk2, temp_r30->unk18[4], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - } -} - -void fn_1_B13C(void) -{ - HuPrcSleep(0x1E); -} - -void fn_1_B160(void) -{ - while (1) { - while (1) { - if (omSysExitReq != 1) - break; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuAudFadeOut(0x3E8); - HuPrcSleep(0x3C); - MGSeqKillAll(); - omOvlReturnEx(1, 1); - while (1) { - HuPrcVSleep(); - } - } - HuPrcVSleep(); - } -} - -void fn_1_B1C0(void) -{ - s16 temp_r27; - s16 temp_r30; - s16 var_r29; - s32 var_r26; - s32 var_r28; - s32 var_r31; - - lbl_1_bss_794 = 0; - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_780[var_r31] = -1; - } - HuAudFXPlay(0x57F); - fn_1_6EC(1465.0f, 770.0f, -2400.0f, 0x589); - HuPrcSleep(1); - Hu3DModelAttrSet(lbl_1_bss_2F8.unk0, HU3D_MOTATTR_PAUSE); - Hu3DModelClusterAttrSet(lbl_1_bss_2F8.unk0, 0, -0x3FFFFFFE); - Hu3DModelAttrSet(lbl_1_bss_2F8.unk2, HU3D_MOTATTR_PAUSE); - Hu3DModelClusterAttrSet(lbl_1_bss_2F8.unk2, 0, -0x3FFFFFFE); - HuPrcSleep(1.0f + wipeData.duration); - fn_1_ADC8(); - HuPrcSleep(30); - lbl_1_bss_794 = 1; - while (lbl_1_bss_794 == 1) { - HuPrcVSleep(); - } - var_r26 = HuAudSeqPlay(0x43); - temp_r30 = MGSeqCreate(3, 0); - - while (MGSeqStatGet(temp_r30) != 0) { - HuPrcVSleep(); - } - var_r29 = 0xE4B; - temp_r27 = MGSeqCreate(1, var_r29 / 60, -1, -1); - lbl_1_bss_794 = 3; - - while (1) { - for (var_r31 = 0, var_r28 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_4D4[var_r31].unk30 != 3) { - var_r28++; - } - } - if ((var_r28 <= 1) || (var_r29 < 0x3B)) - break; - MGSeqParamSet(temp_r27, 1, var_r29-- / 60); - lbl_1_bss_790++; - HuPrcVSleep(); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_4D4[var_r31].unk30 != 3) { - lbl_1_bss_780[var_r31] = GWPlayerCfg[var_r31].character; - if (_CheckFlag(0x1000C) == 0) { - GWPlayer[var_r31].coin_win = 10; - } - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_4D4[var_r31].unk30 = 4; - } - lbl_1_bss_794 = 4; - HuAudSeqFadeOut(var_r26, 0x64); - MGSeqParamSet(temp_r27, 2, -1); - temp_r30 = MGSeqCreate(3, 1); - - while (MGSeqStatGet(temp_r30) != 0) { - HuPrcVSleep(); - } - HuPrcSleep(30); - lbl_1_bss_794 = 5; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_780[var_r31] != -1) - break; - } - if (var_r31 < 4) { - HuAudSStreamPlay(1); - temp_r30 = MGSeqCreate(5, 3, lbl_1_bss_780[0], lbl_1_bss_780[1], lbl_1_bss_780[2], lbl_1_bss_780[3]); - } - else { - HuAudSStreamPlay(4); - temp_r30 = MGSeqCreate(3, 2); - } - HuPrcSleep(0xD2); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuPrcSleep(0x3C); - HuAudFadeOut(1); - MGSeqKillAll(); - omOvlReturnEx(1, 1); - while (1) { - HuPrcVSleep(); - } -} diff --git a/src/REL/m413Dll/main.c b/src/REL/m413Dll/main.c index 718bf09c..395125bc 100644 --- a/src/REL/m413Dll/main.c +++ b/src/REL/m413Dll/main.c @@ -1,137 +1,132 @@ -#include "game/audio.h" -#include "game/gamework_data.h" -#include "game/minigame_seq.h" #include "game/object.h" #include "game/objsub.h" +#include "game/audio.h" #include "game/wipe.h" +#include "game/minigame_seq.h" +#include "game/gamework_data.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/pad.h" #include "game/sprite.h" +#include "game/pad.h" +#include "game/hsfman.h" +#include "game/hsfdraw.h" #include "game/hsfmotion.h" #include "ext_math.h" -#ifndef __MWERKS__ -#include "string.h" -#include "game/hsfex.h" -#endif - -s32 rand8(void); +#include "rel_sqrt_consts.h" typedef struct struct_bss_2A6C StructBss2A6C; typedef struct struct_sp_14C8 StructSp14C8; typedef struct struct_sp_14C8 { - u8 unk0; - u8 unk1; - u8 unk2; - s32 unk4[4]; - StructBss2A6C *unk14; - StructBss2A6C *unk18; - StructSp14C8 *unk1C; + u8 unk0; + u8 unk1; + u8 unk2; + s32 unk4[4]; + StructBss2A6C *unk14; + StructBss2A6C *unk18; + StructSp14C8 *unk1C; } StructSp14C8; typedef struct work_19C8 { - s32 unk0; - s32 unk4; - s32 unk8; - s32 unkC; - s32 unk10; - s32 unk14; - s32 unk18; - s32 unk1C; - s32 unk20; - s32 unk24; - s32 unk28; - s32 unk2C; - u8 unk30[0x10]; - float unk40; - s32 unk44; - StructBss2A6C *unk48[2]; - u8 unk50[8][2]; - u8 unk60; - u8 unk61; - u8 unk62; - u8 unk63[2]; - u8 unk65[2]; - s32 unk68; - s32 unk6C; - u8 unk70; - u8 unk71; - u8 unk72; - s32 unk74; - u8 unk78; - u8 unk79; - s32 unk7C; - s32 unk80; - s32 unk84; - s32 unk88; - s32 unk8C; - s32 unk90; - s32 unk94; - float unk98; - float unk9C; - float unkA0; - s16 unkA4; + s32 unk0; + s32 unk4; + s32 unk8; + s32 unkC; + s32 unk10; + s32 unk14; + s32 unk18; + s32 unk1C; + s32 unk20; + s32 unk24; + s32 unk28; + s32 unk2C; + u8 unk30[0x10]; + float unk40; + s32 unk44; + StructBss2A6C *unk48[2]; + u8 unk50[8][2]; + u8 unk60; + u8 unk61; + u8 unk62; + u8 unk63[2]; + u8 unk65[2]; + s32 unk68; + s32 unk6C; + u8 unk70; + u8 unk71; + u8 unk72; + s32 unk74; + u8 unk78; + u8 unk79; + s32 unk7C; + s32 unk80; + s32 unk84; + s32 unk88; + s32 unk8C; + s32 unk90; + s32 unk94; + float unk98; + float unk9C; + float unkA0; + s16 unkA4; } Work19C8; typedef struct struct_bss_2A6C { - u8 unk0; - u8 unk1; - u8 unk2; - u8 unk3; - u8 unk4; - u8 unk5; - s32 unk8[4]; - union { - s8 unk18; - u8 unk18_u; - }; - - Vec unk1C; - u32 unk28; - StructSp14C8 *unk2C; - StructBss2A6C *unk30; - StructBss2A6C *unk34; - StructBss2A6C *unk38; - StructBss2A6C *unk3C; - StructBss2A6C *unk40; - StructBss2A6C *unk44; - StructBss2A6C *unk48; - StructBss2A6C *unk4C; - Work19C8 *unk50; + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; + u8 unk4; + u8 unk5; + s32 unk8[4]; + union { + s8 unk18; + u8 unk18_u; + }; + + Vec unk1C; + u32 unk28; + StructSp14C8 *unk2C; + StructBss2A6C *unk30; + StructBss2A6C *unk34; + StructBss2A6C *unk38; + StructBss2A6C *unk3C; + StructBss2A6C *unk40; + StructBss2A6C *unk44; + StructBss2A6C *unk48; + StructBss2A6C *unk4C; + Work19C8 *unk50; } StructBss2A6C; typedef struct struct_bss_2684 { - float unk0; - float unk4; - s32 unk8; - s32 unkC; - u8 unk10; + float unk0; + float unk4; + s32 unk8; + s32 unkC; + u8 unk10; } StructBss2684; typedef struct struct_bss_100 { - u8 unk0; - Vec unk4; - Vec unk10; - u8 unk1C; - u8 unk1D; + u8 unk0; + Vec unk4; + Vec unk10; + u8 unk1C; + u8 unk1D; } StructBss100; typedef struct struct_bss_b8 { - s32 unk0; - s32 unk4; - float unk8; - Vec unkC; + s32 unk0; + s32 unk4; + float unk8; + Vec unkC; } StructBssB8; typedef struct struct_bss_48 { - s32 unk0; - float unk4[3]; + s32 unk0; + float unk4[3]; } StructBss48; StructBss2A6C *lbl_1_bss_7884[12]; @@ -164,2054 +159,2037 @@ s32 lbl_1_data_4[2] = { -1, -1 }; s32 lbl_1_data_C[4] = { 0, 1, 2, 3 }; float lbl_1_data_1C[7] = { 1000, 1000, 1000, 0, 0, 0, 30 }; -const Vec lbl_1_rodata_10[2] = { 0, 7955, 3436, 0, -0.898794f, -0.43837115f }; +const Vec lbl_1_rodata_10[2] = { + 0, 7955, 3436, + 0, -0.898794f, -0.43837115f +}; -const GXColor lbl_1_rodata_28 = { 0, 0, 0, 255 }; +const GXColor lbl_1_rodata_28 = { + 0, 0, 0, 255 +}; -const Vec lbl_1_rodata_2C[2] = { 0, 5966.25f, 3436, 0, -0.6740955f, -0.43837115f }; +const Vec lbl_1_rodata_2C[2] = { + 0, 5966.25f, 3436, + 0, -0.6740955f, -0.43837115f +}; -const GXColor lbl_1_rodata_44 = { 0, 0, 0, 255 }; +const GXColor lbl_1_rodata_44 = { + 0, 0, 0, 255 +}; void fn_1_A0(s32 arg0) { - Mtx44 sp10C; - Mtx44 spCC; - Mtx44 sp8C; - Mtx44 sp4C; - Mtx44 spC; - CameraData *temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - - MTXRotDeg(sp8C, 'y', HuPadSubStkX[0] / 16.0); - MTXRotDeg(spCC, 'x', HuPadSubStkY[0] / -16.0); - MTXTrans(spC, (((HuPadBtn[0] & PAD_BUTTON_RIGHT) != 0) - ((HuPadBtn[0] & PAD_BUTTON_LEFT) != 0)) * 10.0, - (((HuPadBtn[0] & PAD_BUTTON_UP) != 0) - ((HuPadBtn[0] & PAD_BUTTON_DOWN) != 0)) * 10.0, ((HuPadTrigL[0] - HuPadTrigR[0]) / 128.0) * 30.0); - MTXConcat(spCC, sp8C, sp4C); - MTXConcat(spC, sp4C, sp10C); - for (temp_r30 = 0, temp_r29 = 1; temp_r30 < 16; temp_r30++, temp_r29 <<= 1) { - if (arg0 & temp_r29) { - temp_r31 = &Hu3DCamera[temp_r30]; - MTXMultVec(sp10C, &temp_r31->pos, &temp_r31->pos); - MTXMultVec(sp4C, &temp_r31->up, &temp_r31->up); - MTXMultVec(sp10C, &temp_r31->target, &temp_r31->target); - } - } - (void)temp_r28; - (void)temp_r27; - (void)temp_r26; - (void)temp_r25; - (void)temp_r28; - (void)temp_r27; - (void)temp_r26; - (void)temp_r25; + Mtx44 sp10C; + Mtx44 spCC; + Mtx44 sp8C; + Mtx44 sp4C; + Mtx44 spC; + CameraData *temp_r31; + s16 temp_r30; + s16 temp_r29; + s16 temp_r28; + s16 temp_r27; + s16 temp_r26; + s16 temp_r25; + + MTXRotDeg(sp8C, 'y', HuPadSubStkX[0]/16.0); + MTXRotDeg(spCC, 'x', HuPadSubStkY[0]/-16.0); + MTXTrans(spC, (((HuPadBtn[0] & PAD_BUTTON_RIGHT) != 0)-((HuPadBtn[0] & PAD_BUTTON_LEFT) != 0))*10.0, + (((HuPadBtn[0] & PAD_BUTTON_UP) != 0)-((HuPadBtn[0] & PAD_BUTTON_DOWN) != 0))*10.0, + ((HuPadTrigL[0]-HuPadTrigR[0])/128.0)*30.0); + MTXConcat(spCC, sp8C, sp4C); + MTXConcat(spC, sp4C, sp10C); + for(temp_r30=0, temp_r29=1; temp_r30<16; temp_r30++, temp_r29 <<= 1) { + if(arg0 & temp_r29) { + temp_r31 = &Hu3DCamera[temp_r30]; + MTXMultVec(sp10C, &temp_r31->pos, &temp_r31->pos); + MTXMultVec(sp4C, &temp_r31->up, &temp_r31->up); + MTXMultVec(sp10C, &temp_r31->target, &temp_r31->target); + } + } + (void)temp_r28; + (void)temp_r27; + (void)temp_r26; + (void)temp_r25; + (void)temp_r28; + (void)temp_r27; + (void)temp_r26; + (void)temp_r25; } s32 fn_1_38C(u8 *arg0, s32 *arg1) { - s32 temp_r28; - s32 temp_r27 = rand8() % 4; - - if (!arg0 || *arg0 == 0) { - return 0; - } - for (temp_r28 = 0; temp_r28 < 4; temp_r28++) { - s32 temp_r31 = (temp_r28 + temp_r27) % 4; - if (*arg0 & (1 << temp_r31)) { - *arg0 = 1 << temp_r31; - if (arg1) { - arg1[(temp_r31 + 1) % 4] = arg1[(temp_r31 + 2) % 4] = arg1[(temp_r31 + 3) % 4] = 0; - } - return temp_r31; - } - } - return 0; + s32 temp_r28; + s32 temp_r27 = rand8()%4; + + if(!arg0 || *arg0 == 0) { + return 0; + } + for(temp_r28=0; temp_r28<4; temp_r28++) { + s32 temp_r31 = (temp_r28+temp_r27)%4; + if(*arg0 & (1 << temp_r31)) { + *arg0 = 1 << temp_r31; + if(arg1) { + arg1[(temp_r31+1)%4] = arg1[(temp_r31+2)%4] = arg1[(temp_r31+3)%4] = 0; + } + return temp_r31; + } + } + return 0; } s32 fn_1_4C0(u8 *arg0, s32 *arg1) { - s32 temp_r31; - - s32 temp_r28 = rand8() % 4; - if (!arg0 || *arg0 == 0) { - return 0; - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - s32 temp_r29 = (temp_r31 + temp_r28) % 4; - if (*arg0 & (1 << temp_r29)) { - return arg1[temp_r29]; - } - } - return 0; + s32 temp_r31; + + s32 temp_r28 = rand8()%4; + if(!arg0 || *arg0 == 0) { + return 0; + } + for(temp_r31=0; temp_r31<4; temp_r31++) { + s32 temp_r29 = (temp_r31+temp_r28)%4; + if(*arg0 & (1 << temp_r29)) { + return arg1[temp_r29]; + } + } + return 0; } #pragma dont_inline on s32 fn_1_57C(s8 arg0, float arg1, StructBss2A6C *arg2, StructBss2A6C **arg3) { - StructBss2A6C *temp_r31; - if (arg3) { - *arg3 = NULL; - } - if (arg0 < 0 || arg0 >= 12 || arg1 < 0 || arg1 > 16) { - return 1; - } - for (temp_r31 = lbl_1_bss_7884[arg0]; temp_r31;) { - if (arg2 == NULL || (temp_r31 != arg2 && (!(arg2->unk1 & 0x2) || !(temp_r31->unk1 & 0x2) || (arg2->unk2 != temp_r31->unk2)))) { - if (temp_r31->unk1C.y > arg1 - 1.0f && temp_r31->unk1C.y < arg1 + 1.0f) { - if (arg3) { - *arg3 = temp_r31; - } - return 1; - } - } - temp_r31 = temp_r31->unk48; - if (!temp_r31) { - continue; - } - if (temp_r31->unk1C.y >= arg1 + 1.0f) { - break; - } - } - return 0; + StructBss2A6C *temp_r31; + if(arg3) { + *arg3 = NULL; + } + if(arg0 < 0 || arg0 >= 12 || arg1 < 0 || arg1 > 16) { + return 1; + } + for(temp_r31 = lbl_1_bss_7884[arg0]; temp_r31;) { + if(arg2 == NULL || (temp_r31 != arg2 && (!(arg2->unk1 & 0x2) || !(temp_r31->unk1 & 0x2) || (arg2->unk2 != temp_r31->unk2)))) { + if(temp_r31->unk1C.y > arg1-1.0f && temp_r31->unk1C.y < arg1+1.0f) { + if(arg3) { + *arg3 = temp_r31; + } + return 1; + } + } + temp_r31 = temp_r31->unk48; + if(!temp_r31) { + continue; + } + if(temp_r31->unk1C.y >= arg1+1.0f) { + break; + } + } + return 0; } #pragma dont_inline off + static inline s32 fn_1_57C_inline(s8 arg0, float arg1, StructBss2A6C *arg2, StructBss2A6C **arg3) { - StructBss2A6C *temp_r31; - if (arg3) { - *arg3 = NULL; - } - if (arg0 < 0 || arg0 >= 12 || arg1 < 0 || arg1 > 16) { - return 1; - } - for (temp_r31 = lbl_1_bss_7884[arg0]; temp_r31;) { - if (arg2 == NULL || (temp_r31 != arg2 && (!(arg2->unk1 & 0x2) || !(temp_r31->unk1 & 0x2) || (arg2->unk2 != temp_r31->unk2)))) { - if (temp_r31->unk1C.y > arg1 - 1.0f && temp_r31->unk1C.y < arg1 + 1.0f) { - if (arg3) { - *arg3 = temp_r31; - } - return 1; - } - } - temp_r31 = temp_r31->unk48; - if (!temp_r31) { - continue; - } - if (temp_r31->unk1C.y >= arg1 + 1.0f) { - break; - } - } - return 0; + StructBss2A6C *temp_r31; + if(arg3) { + *arg3 = NULL; + } + if(arg0 < 0 || arg0 >= 12 || arg1 < 0 || arg1 > 16) { + return 1; + } + for(temp_r31 = lbl_1_bss_7884[arg0]; temp_r31;) { + if(arg2 == NULL || (temp_r31 != arg2 && (!(arg2->unk1 & 0x2) || !(temp_r31->unk1 & 0x2) || (arg2->unk2 != temp_r31->unk2)))) { + if(temp_r31->unk1C.y > arg1-1.0f && temp_r31->unk1C.y < arg1+1.0f) { + if(arg3) { + *arg3 = temp_r31; + } + return 1; + } + } + temp_r31 = temp_r31->unk48; + if(!temp_r31) { + continue; + } + if(temp_r31->unk1C.y >= arg1+1.0f) { + break; + } + } + return 0; } void fn_1_6D0(s8 arg0, float arg1, StructBss2A6C *arg2) { - StructBss2A6C *temp_r31; - StructBss2A6C *temp_r30; - if (arg2->unk4C == NULL) { - lbl_1_bss_7884[arg2->unk18] = arg2->unk48; - } - else { - arg2->unk4C->unk48 = arg2->unk48; - } - if (arg2->unk48 != NULL) { - arg2->unk48->unk4C = arg2->unk4C; - } - for (temp_r31 = lbl_1_bss_7884[arg0], temp_r30 = NULL; temp_r31; temp_r31 = temp_r31->unk48) { - if (temp_r31->unk1C.y > arg1) { - break; - } - temp_r30 = temp_r31; - } - arg2->unk18 = arg0; - arg2->unk1C.y = arg1; - arg2->unk48 = temp_r31; - if (arg2->unk48) { - arg2->unk48->unk4C = arg2; - } - arg2->unk4C = temp_r30; - if (arg2->unk4C) { - arg2->unk4C->unk48 = arg2; - } - if (lbl_1_bss_7884[arg0] == arg2->unk48) { - lbl_1_bss_7884[arg0] = arg2; - } + StructBss2A6C *temp_r31; + StructBss2A6C *temp_r30; + if(arg2->unk4C == NULL) { + lbl_1_bss_7884[arg2->unk18] = arg2->unk48; + } else { + arg2->unk4C->unk48 = arg2->unk48; + } + if(arg2->unk48 != NULL) { + arg2->unk48->unk4C = arg2->unk4C; + } + for(temp_r31=lbl_1_bss_7884[arg0], temp_r30 = NULL; temp_r31; temp_r31=temp_r31->unk48) { + if(temp_r31->unk1C.y > arg1) { + break; + } + temp_r30 = temp_r31; + } + arg2->unk18 = arg0; + arg2->unk1C.y = arg1; + arg2->unk48 = temp_r31; + if(arg2->unk48) { + arg2->unk48->unk4C = arg2; + } + arg2->unk4C = temp_r30; + if(arg2->unk4C) { + arg2->unk4C->unk48 = arg2; + } + if(lbl_1_bss_7884[arg0] == arg2->unk48) { + lbl_1_bss_7884[arg0] = arg2; + } } + s32 fn_1_7F8(StructBss2A6C *arg0, StructSp14C8 *arg1) { - s32 temp_r29; - Work19C8 *temp_r28; - Work19C8 *temp_r27; - Work19C8 *temp_r26; - Work19C8 *temp_r25; - s32 temp_r23; - temp_r29 = 0; - if (!arg0) { - return temp_r29; - } - if (arg0->unk0 == 0) { - return temp_r29; - } - if (lbl_1_bss_7884[arg0->unk18] == arg0) { - lbl_1_bss_7884[arg0->unk18] = arg0->unk48; - } - if (arg0->unk4C) { - arg0->unk4C->unk48 = arg0->unk48; - } - if (arg0->unk48) { - arg0->unk48->unk4C = arg0->unk4C; - } - if (arg0->unk38) { - arg0->unk38->unk3C = NULL; - } - if (arg0->unk3C) { - arg0->unk3C->unk38 = NULL; - } - if (arg0->unk44) { - arg0->unk44->unk40 = NULL; - } - if (arg0->unk40) { - arg0->unk40->unk44 = NULL; - } - - if (arg0->unk0 >= 1 && arg0->unk0 <= 4) { - temp_r28 = lbl_1_bss_34[0]->data; - temp_r27 = lbl_1_bss_34[1]->data; - temp_r26 = lbl_1_bss_34[2]->data; - temp_r25 = lbl_1_bss_34[3]->data; - temp_r29 = (fn_1_4C0(&arg1->unk2, arg1->unk4) > 0) ? 2 : 1; - if (lbl_1_bss_18 == -1) { - if (arg1->unk2 & 0x1) { - temp_r28->unk24 += temp_r29; - temp_r28->unk68 += (arg0->unk1 & 0x10) ? 1 : 0; - } - if (arg1->unk2 & 0x2) { - temp_r27->unk24 += temp_r29; - temp_r27->unk68 += (arg0->unk1 & 0x10) ? 1 : 0; - } - if (arg1->unk2 & 0x4) { - temp_r26->unk24 += temp_r29; - temp_r26->unk68 += (arg0->unk1 & 0x10) ? 1 : 0; - } - if (arg1->unk2 & 0x8) { - temp_r25->unk24 += temp_r29; - temp_r25->unk68 += (arg0->unk1 & 0x10) ? 1 : 0; - } - } - for (temp_r23 = 0; temp_r23 < 2; temp_r23++) { - lbl_1_bss_100[lbl_1_bss_FC].unk0 = arg0->unk0; - lbl_1_bss_100[lbl_1_bss_FC].unk4.x = ((arg0->unk18 * 100) - 500.0) - 50.0; - lbl_1_bss_100[lbl_1_bss_FC].unk4.y = ((100.0f * arg0->unk1C.y) - 500.0f) + 50.0f; - lbl_1_bss_100[lbl_1_bss_FC].unk4.z = 120; - lbl_1_bss_100[lbl_1_bss_FC].unk10.x = ((rand8() / 255.0) * 24.0) - 12; - lbl_1_bss_100[lbl_1_bss_FC].unk10.y = (rand8() / 255.0) * 16.0; - lbl_1_bss_100[lbl_1_bss_FC].unk10.z = ((rand8() / 255.0) * 10.0) + 6; - lbl_1_bss_100[lbl_1_bss_FC].unk1C = rand8(); - lbl_1_bss_100[lbl_1_bss_FC].unk1D = rand8(); - lbl_1_bss_FC++; - lbl_1_bss_FC = (lbl_1_bss_FC >= 300) ? 0 : lbl_1_bss_FC; - } - } - arg0->unk0 = arg0->unk1 = arg0->unk2 = arg0->unk3 = 0; - arg0->unk48 = arg0->unk4C = NULL; - return temp_r29; + s32 temp_r29; + Work19C8 *temp_r28; + Work19C8 *temp_r27; + Work19C8 *temp_r26; + Work19C8 *temp_r25; + s32 temp_r23; + temp_r29 = 0; + if(!arg0) { + return temp_r29; + } + if(arg0->unk0 == 0) { + return temp_r29; + } + if(lbl_1_bss_7884[arg0->unk18] == arg0) { + lbl_1_bss_7884[arg0->unk18] = arg0->unk48; + } + if(arg0->unk4C) { + arg0->unk4C->unk48 = arg0->unk48; + } + if(arg0->unk48) { + arg0->unk48->unk4C = arg0->unk4C; + } + if(arg0->unk38) { + arg0->unk38->unk3C = NULL; + } + if(arg0->unk3C) { + arg0->unk3C->unk38 = NULL; + } + if(arg0->unk44) { + arg0->unk44->unk40 = NULL; + } + if(arg0->unk40) { + arg0->unk40->unk44 = NULL; + } + + if(arg0->unk0 >= 1 && arg0->unk0 <= 4) { + temp_r28 = lbl_1_bss_34[0]->data; + temp_r27 = lbl_1_bss_34[1]->data; + temp_r26 = lbl_1_bss_34[2]->data; + temp_r25 = lbl_1_bss_34[3]->data; + temp_r29 = (fn_1_4C0(&arg1->unk2, arg1->unk4) > 0) ? 2 : 1; + if(lbl_1_bss_18 == -1) { + if(arg1->unk2 & 0x1) { + temp_r28->unk24 += temp_r29; + temp_r28->unk68 += (arg0->unk1 & 0x10) ? 1 : 0; + } + if(arg1->unk2 & 0x2) { + temp_r27->unk24 += temp_r29; + temp_r27->unk68 += (arg0->unk1 & 0x10) ? 1 : 0; + } + if(arg1->unk2 & 0x4) { + temp_r26->unk24 += temp_r29; + temp_r26->unk68 += (arg0->unk1 & 0x10) ? 1 : 0; + } + if(arg1->unk2 & 0x8) { + temp_r25->unk24 += temp_r29; + temp_r25->unk68 += (arg0->unk1 & 0x10) ? 1 : 0; + } + } + for(temp_r23=0; temp_r23<2; temp_r23++) { + lbl_1_bss_100[lbl_1_bss_FC].unk0 = arg0->unk0; + lbl_1_bss_100[lbl_1_bss_FC].unk4.x = ((arg0->unk18*100)-500.0)-50.0; + lbl_1_bss_100[lbl_1_bss_FC].unk4.y = ((100.0f*arg0->unk1C.y)-500.0f)+50.0f; + lbl_1_bss_100[lbl_1_bss_FC].unk4.z = 120; + lbl_1_bss_100[lbl_1_bss_FC].unk10.x = ((rand8()/255.0)*24.0)-12; + lbl_1_bss_100[lbl_1_bss_FC].unk10.y = (rand8()/255.0)*16.0; + lbl_1_bss_100[lbl_1_bss_FC].unk10.z = ((rand8()/255.0)*10.0)+6; + lbl_1_bss_100[lbl_1_bss_FC].unk1C = rand8(); + lbl_1_bss_100[lbl_1_bss_FC].unk1D = rand8(); + lbl_1_bss_FC++; + lbl_1_bss_FC = (lbl_1_bss_FC >= 300) ? 0 : lbl_1_bss_FC; + } + } + arg0->unk0 = arg0->unk1 = arg0->unk2 = arg0->unk3 = 0; + arg0->unk48 = arg0->unk4C = NULL; + return temp_r29; } void fn_1_EC0(Work19C8 *arg0) { - s32 temp_r30; - s32 temp_r29; - s32 temp_r28; - s32 temp_r26; - s32 temp_r27; - s32 temp_r25; - u8 temp_r24; + s32 temp_r30; + s32 temp_r29; + s32 temp_r28; + s32 temp_r26; + s32 temp_r27; + s32 temp_r25; + u8 temp_r24; - for (temp_r30 = 0; temp_r30 < 8; temp_r30++) { - for (temp_r29 = 0; temp_r29 < 2; temp_r29++) { - arg0->unk50[temp_r30][temp_r29] = 1; - } - } - for (temp_r30 = 1; temp_r30 < 4; temp_r30++) { - for (temp_r29 = 0; temp_r29 < 4;) { - temp_r26 = rand8() % 8; - temp_r28 = rand8() % 2; - if (arg0->unk50[temp_r26][temp_r28] == 1) { - arg0->unk50[temp_r26][temp_r28] = temp_r30 + 1; - temp_r29++; - } - } - } - for (temp_r30 = 0; temp_r30 < 8; temp_r30++) { - if (arg0->unk50[temp_r30][0] == arg0->unk50[temp_r30][1]) { - do { - temp_r29 = rand8() % 8; - } while ( - temp_r30 == temp_r29 || arg0->unk50[temp_r30][0] == arg0->unk50[temp_r29][0] || arg0->unk50[temp_r30][0] == arg0->unk50[temp_r29][1]); - - temp_r27 = rand8() % 2; - temp_r25 = arg0->unk50[temp_r30][0]; - temp_r24 = arg0->unk50[temp_r29][temp_r27]; - arg0->unk50[temp_r30][rand8() % 2] = temp_r24; - arg0->unk50[temp_r29][temp_r27] = temp_r25; - } - } + for(temp_r30=0; temp_r30<8; temp_r30++) { + for(temp_r29=0; temp_r29<2; temp_r29++) { + arg0->unk50[temp_r30][temp_r29] = 1; + } + } + for(temp_r30=1; temp_r30<4; temp_r30++) { + for(temp_r29=0; temp_r29<4;) { + temp_r26 = rand8()%8; + temp_r28 = rand8()%2; + if(arg0->unk50[temp_r26][temp_r28] == 1) { + arg0->unk50[temp_r26][temp_r28] = temp_r30+1; + temp_r29++; + } + } + } + for(temp_r30=0; temp_r30<8; temp_r30++) { + if(arg0->unk50[temp_r30][0] == arg0->unk50[temp_r30][1]) { + do { + temp_r29 = rand8()%8; + } while(temp_r30 == temp_r29 || arg0->unk50[temp_r30][0] == arg0->unk50[temp_r29][0] || arg0->unk50[temp_r30][0] == arg0->unk50[temp_r29][1]); + + temp_r27 = rand8()%2; + temp_r25 = arg0->unk50[temp_r30][0]; + temp_r24 = arg0->unk50[temp_r29][temp_r27]; + arg0->unk50[temp_r30][rand8()%2] = temp_r24; + arg0->unk50[temp_r29][temp_r27] = temp_r25; + } + } } void fn_1_10B8(Work19C8 *arg0) { - s32 temp_r31; - s32 temp_r30; - u8 sp16C[12][17] = {}; - u8 sp6C[12] = {}; - s32 temp_r22 = (arg0->unk48[0]->unk18 - 4 < 0) ? 0 : (arg0->unk48[0]->unk18 - 4); - s32 temp_r21 = (arg0->unk48[0]->unk18 + 4 > 11) ? 11 : (arg0->unk48[0]->unk18 + 4); - s32 sp44[2] = {}; - s32 sp3C[2] = {}; - s32 sp34[2] = { 9, 9 }; - s32 temp_r20 = 0; - s32 temp_r19 = 0; - s32 temp_r18 = 0; - u8 sp8[2]; - sp44[0] = sp44[1] = temp_r22; - sp3C[0] = sp3C[1] = temp_r21; - sp34[0] = arg0->unk48[0]->unk1C.y - 0.5; - sp34[1] = arg0->unk48[0]->unk1C.y - 1.5; - sp34[1] = (sp34[1] < 0) ? 0 : sp34[1]; - sp8[0] = arg0->unk48[0]->unk0; - sp8[1] = arg0->unk48[1]->unk0; - for (temp_r31 = temp_r22; temp_r31 <= temp_r21; temp_r31++) { - StructBss2A6C *temp_r27; - s32 temp_r26; - for (temp_r27 = lbl_1_bss_7884[temp_r31], temp_r26 = 0; temp_r27; temp_r27 = temp_r27->unk48) { - if (temp_r27->unk1 & 0x2) { - continue; - } - sp16C[temp_r31][temp_r26] = temp_r27->unk0; - temp_r26++; - } - sp6C[temp_r31] = temp_r26; - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - if (temp_r26 > sp34[temp_r30]) { - if (temp_r31 <= arg0->unk48[0]->unk18) { - sp44[temp_r30] = temp_r31 + 1; - } - else { - sp3C[temp_r30] = temp_r31 - 1; - } - } - } - } - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - for (temp_r31 = sp44[temp_r30 == 2]; temp_r31 <= sp3C[temp_r30 == 2]; temp_r31++) { - if (temp_r31 != sp44[temp_r30 == 2] || temp_r30 != 3) { - if (temp_r31 != sp3C[temp_r30 == 2] - 1 || temp_r30 != 1) { - s32 temp_r25; - s32 spAC[4][12]; - for (temp_r25 = 0; temp_r25 < 2; temp_r25++) { - s32 sp5C[4] = { 0, 1, 0, -1 }; - s32 sp4C[4] = { 1, 0, -1, 0 }; - s32 temp_r29; - s32 temp_r28; - s32 temp_r24; - s32 temp_r23; - - spAC[temp_r30][temp_r31] = arg0->unk48[0]->unk18 - temp_r31; - spAC[temp_r30][temp_r31] = (spAC[temp_r30][temp_r31] < 0) ? (-spAC[temp_r30][temp_r31]) : spAC[temp_r30][temp_r31]; - spAC[temp_r30][temp_r31] - = (spAC[temp_r30][temp_r31] < 3) ? ((3 - spAC[temp_r30][temp_r31]) * (3 - spAC[temp_r30][temp_r31])) : 0; - spAC[temp_r30][temp_r31] *= (arg0->unk20 == 0) ? 4 : ((arg0->unk20 == 1) ? 2 : 1); - temp_r24 = temp_r31 + ((temp_r25 == 1) ? sp5C[temp_r30] : 0); - for (temp_r28 = temp_r24 - 2; temp_r28 <= temp_r24 + 2; temp_r28++) { - temp_r23 = sp6C[temp_r24] + ((temp_r25 == 1) ? sp4C[temp_r30] : 0); - for (temp_r29 = temp_r23 - 2; temp_r29 <= temp_r23 + 2; temp_r29++) { - if (temp_r28 < 0 || temp_r28 >= 12 || temp_r29 < 0 || temp_r29 >= 9) { - continue; - } - if (sp16C[temp_r28][temp_r29] != 5 && arg0->unk48[temp_r25]->unk0 == sp16C[temp_r28][temp_r29]) { - u8 sp91[5][5] = { 0, 3, 0, 3, 0, 2, 10, 24, 10, 2, 10, 24, 0, 24, 10, 2, 10, 24, 10, 2, 0, 2, 10, 2, 0 }; - spAC[temp_r30][temp_r31] += sp91[temp_r28 - (temp_r24 - 2)][temp_r29 - (temp_r23 - 2)]; - } - if (sp16C[temp_r28][temp_r29] == 5) { - u8 sp78[5][5] = { 0, 0, 0, 0, 0, 0, 40, 40, 40, 0, 0, 40, 0, 40, 0, 0, 40, 40, 40, 0, 0, 0, 0, 0, 0 }; - spAC[temp_r30][temp_r31] - += sp78[temp_r28 - (temp_r24 - 2)][temp_r29 - (temp_r23 - 2)] / ((arg0->unk20 == 0) ? 4 : 1); - } - } - } - } - if (spAC[temp_r30][temp_r31] > temp_r20) { - temp_r20 = spAC[temp_r30][temp_r31]; - temp_r18 = temp_r30; - temp_r19 = temp_r31; - } - } - } - } - } - arg0->unk7C = temp_r19; - arg0->unk80 = temp_r18; + s32 temp_r31; + s32 temp_r30; + u8 sp16C[12][17] = {}; + u8 sp6C[12] = {}; + s32 temp_r22 = (arg0->unk48[0]->unk18-4 < 0) ? 0 : (arg0->unk48[0]->unk18-4); + s32 temp_r21 = (arg0->unk48[0]->unk18+4 > 11) ? 11 : (arg0->unk48[0]->unk18+4); + s32 sp44[2] = {}; + s32 sp3C[2] = {}; + s32 sp34[2] = { 9, 9 }; + s32 temp_r20 = 0; + s32 temp_r19 = 0; + s32 temp_r18 = 0; + u8 sp8[2]; + sp44[0] = sp44[1] = temp_r22; + sp3C[0] = sp3C[1] = temp_r21; + sp34[0] = arg0->unk48[0]->unk1C.y-0.5; + sp34[1] = arg0->unk48[0]->unk1C.y-1.5; + sp34[1] = (sp34[1] < 0) ? 0 : sp34[1]; + sp8[0] = arg0->unk48[0]->unk0; + sp8[1] = arg0->unk48[1]->unk0; + for(temp_r31=temp_r22; temp_r31<=temp_r21; temp_r31++) { + StructBss2A6C *temp_r27; + s32 temp_r26; + for(temp_r27 = lbl_1_bss_7884[temp_r31], temp_r26=0; temp_r27; temp_r27=temp_r27->unk48) { + if(temp_r27->unk1 & 0x2) { + continue; + } + sp16C[temp_r31][temp_r26] = temp_r27->unk0; + temp_r26++; + } + sp6C[temp_r31] = temp_r26; + for(temp_r30=0; temp_r30<2; temp_r30++) { + if(temp_r26 > sp34[temp_r30]) { + if(temp_r31 <= arg0->unk48[0]->unk18) { + sp44[temp_r30] = temp_r31+1; + } else { + sp3C[temp_r30] = temp_r31-1; + } + } + } + } + for(temp_r30=0; temp_r30<4; temp_r30++) { + for(temp_r31=sp44[temp_r30==2]; temp_r31<=sp3C[temp_r30==2]; temp_r31++) { + if(temp_r31 != sp44[temp_r30==2] || temp_r30 != 3) { + if(temp_r31 != sp3C[temp_r30==2]-1 || temp_r30 != 1) { + s32 temp_r25; + s32 spAC[4][12]; + for(temp_r25=0; temp_r25<2; temp_r25++) { + s32 sp5C[4] = { 0, 1, 0, -1 }; + s32 sp4C[4] = { 1, 0, -1, 0 }; + s32 temp_r29; + s32 temp_r28; + s32 temp_r24; + s32 temp_r23; + + spAC[temp_r30][temp_r31] = arg0->unk48[0]->unk18-temp_r31; + spAC[temp_r30][temp_r31] = (spAC[temp_r30][temp_r31] < 0) ? (-spAC[temp_r30][temp_r31]) : spAC[temp_r30][temp_r31]; + spAC[temp_r30][temp_r31] = (spAC[temp_r30][temp_r31] < 3) ? ((3-spAC[temp_r30][temp_r31])*(3-spAC[temp_r30][temp_r31])) : 0; + spAC[temp_r30][temp_r31] *= (arg0->unk20 == 0) ? 4 : ((arg0->unk20 == 1) ? 2 : 1); + temp_r24 = temp_r31+((temp_r25 == 1) ? sp5C[temp_r30] : 0); + for(temp_r28=temp_r24-2; temp_r28<=temp_r24+2; temp_r28++) { + temp_r23 = sp6C[temp_r24]+((temp_r25 == 1) ? sp4C[temp_r30] : 0); + for(temp_r29=temp_r23-2; temp_r29<=temp_r23+2; temp_r29++) { + if(temp_r28 < 0 || temp_r28 >= 12 || temp_r29 < 0 || temp_r29 >= 9) { + continue; + } + if(sp16C[temp_r28][temp_r29] != 5 && arg0->unk48[temp_r25]->unk0 == sp16C[temp_r28][temp_r29]) { + u8 sp91[5][5] = { + 0, 3, 0, 3, 0, + 2, 10, 24, 10, 2, + 10, 24, 0, 24, 10, + 2, 10, 24, 10, 2, + 0, 2, 10, 2, 0 + }; + spAC[temp_r30][temp_r31] += sp91[temp_r28-(temp_r24-2)][temp_r29-(temp_r23-2)]; + } + if(sp16C[temp_r28][temp_r29] == 5) { + u8 sp78[5][5] = { + 0, 0, 0, 0, 0, + 0, 40, 40, 40, 0, + 0, 40, 0, 40, 0, + 0, 40, 40, 40, 0, + 0, 0, 0, 0, 0 + }; + spAC[temp_r30][temp_r31] += sp78[temp_r28-(temp_r24-2)][temp_r29-(temp_r23-2)]/((arg0->unk20 == 0) ? 4 : 1); + } + } + } + } + if(spAC[temp_r30][temp_r31] > temp_r20) { + temp_r20 = spAC[temp_r30][temp_r31]; + temp_r18 = temp_r30; + temp_r19 = temp_r31; + } + } + } + } + } + arg0->unk7C = temp_r19; + arg0->unk80 = temp_r18; } -void fn_1_19C4(omObjData *object) { } +void fn_1_19C4(omObjData *object) +{ + +} void fn_1_19C8(omObjData *object) { - Work19C8 *temp_r31; - s32 sp19C; - s32 spC4; - s32 spC0; + Work19C8 *temp_r31; + s32 sp19C; + s32 spC4; + s32 spC0; + + temp_r31 = object->data; + temp_r31->unk28 = temp_r31->unk24; - temp_r31 = object->data; - temp_r31->unk28 = temp_r31->unk24; + temp_r31->unk65[0] = (temp_r31->unk65[0] == 0 || temp_r31->unk65[0] >= 15) ? 0 : temp_r31->unk65[0]+1; + if(temp_r31->unk1C != -1) { + sp19C = (HuPadStkX[temp_r31->unk1C] > 26)-(HuPadStkX[temp_r31->unk1C] < -26); + } else { + sp19C = (temp_r31->unk72 == 1 && temp_r31->unk7C != -1) ? ((temp_r31->unk48[0]) ? ((temp_r31->unk7C < temp_r31->unk48[0]->unk18) ? -1 : (temp_r31->unk7C > temp_r31->unk48[0]->unk18) ? 1 : 0) : 0) : 0; + } + temp_r31->unk88 = ((temp_r31->unk72 == 1 && temp_r31->unk48[0]) && temp_r31->unk7C == temp_r31->unk48[0]->unk18) ? (temp_r31->unk88+1) : 0; + if(sp19C != temp_r31->unk0){ + temp_r31->unkC = (sp19C == 0) ? 0 : 1; + } else { + temp_r31->unkC = (temp_r31->unk0 != 0) ? temp_r31->unkC+1 : 0; + } + temp_r31->unkC = (temp_r31->unkC >= 17) ? 14 : temp_r31->unkC; + temp_r31->unk0 = sp19C; + if(temp_r31->unk72 == 2) { + float temp_f30; + float temp_f24; + s32 temp_r25; + s32 temp_r23; + s32 temp_r22; + StructBss2A6C *sp198; + + for(temp_r23=0; temp_r23<3; temp_r23++) { + s32 sp24C[3] = { 1, 2, 0 }; + temp_r22 = (temp_r31->unk10*3)+((temp_r31->unk10 < 2) ? sp24C[temp_r23] : (2-sp24C[temp_r23])); + if(fn_1_57C_inline(temp_r22, 9.5f, NULL, NULL) == 0) { + if(fn_1_57C_inline(temp_r22, 8.5f, NULL, NULL) == 0) { + break; + } + } + } + temp_r22 = (temp_r23 == 3) ? ((temp_r31->unk10*3)+1) : temp_r22; + temp_f30 = (temp_r22*100)-490; + temp_r31->unkA0 = (temp_r31->unk74 == 0) ? temp_f30 : ((temp_r31->unkA0-10 > temp_f30) ? (temp_r31->unkA0-10) : (((temp_r31->unkA0 > temp_f30) ? temp_f30 : ((temp_r31->unkA0+10 < temp_f30) ? (temp_r31->unkA0+10) : ((temp_r31->unkA0 < temp_f30) ? temp_f30 : temp_r31->unkA0))))); + temp_r31->unk74++; + temp_f30 = temp_r31->unk74/24.0f; + temp_f30 = (temp_f30 > 1.0f) ? 1.0f : temp_f30; + temp_f30 = (0.5*sind((temp_f30*180.0f)+270.0f))+0.5; + temp_f24 = 1.0f-temp_f30; + if(lbl_1_bss_18 == -1) { + Vec sp240; + Vec sp234; + sp240.x = (temp_r31->unkA0*temp_f30)+(temp_r31->unk98*temp_f24); + sp240.y = (425.0f*temp_f30)+(temp_r31->unk9C*temp_f24); + sp240.z = 55; + Hu3D3Dto2D(&sp240, 1, &sp234); + HuSprPosSet(temp_r31->unkA4, 0, sp234.x, sp234.y); + } + if(lbl_1_bss_44->work[0] == 1002 && temp_r31->unk74 >= 24) { + for(temp_r23=0; temp_r23<3; temp_r23++) { + s32 sp228[3] = { 1, 2, 0 }; + temp_r22 = (temp_r31->unk10*3)+((temp_r31->unk10 < 2) ? sp228[temp_r23] : (2-sp228[temp_r23])); + if(fn_1_57C_inline(temp_r22, 9.5f, NULL, NULL) == 0) { + if(fn_1_57C_inline(temp_r22, 8.5f, NULL, NULL) == 0) { + break; + } + } + } + if(temp_r23 != 3) { + for(sp198 = lbl_1_bss_7884[temp_r22]; sp198 && sp198->unk48; sp198 = sp198->unk48); + for(temp_r23=0; temp_r23<2; temp_r23++) { + temp_r25 = (lbl_1_bss_0+1)%238; + while(temp_r25 != lbl_1_bss_0) { + if(lbl_1_bss_2A6C[temp_r25].unk0 == 0) { + break; + } + temp_r25++; + temp_r25 = temp_r25%238; + if(temp_r25 == 0) { + OSReport("looped.\n"); + } + } + if(temp_r25 == lbl_1_bss_0) { + OSReport("m413:error:block empty.\n"); + } + lbl_1_bss_0 = temp_r25; + temp_r31->unk48[temp_r23] = &lbl_1_bss_2A6C[temp_r25]; + lbl_1_bss_2A6C[temp_r25].unk0 = temp_r31->unk50[temp_r31->unk60][temp_r23]; + lbl_1_bss_2A6C[temp_r25].unk1 = 2; + lbl_1_bss_2A6C[temp_r25].unk3 = 1 << temp_r31->unk10; + lbl_1_bss_2A6C[temp_r25].unk2 = temp_r31->unk10; + lbl_1_bss_2A6C[temp_r25].unk18 = temp_r22; + lbl_1_bss_2A6C[temp_r25].unk1C.x = temp_r22; + lbl_1_bss_2A6C[temp_r25].unk1C.y = temp_r23+8.9375f; + lbl_1_bss_2A6C[temp_r25].unk1C.z = 0; + lbl_1_bss_2A6C[temp_r25].unk8[0] = lbl_1_bss_2A6C[temp_r25].unk8[1] = lbl_1_bss_2A6C[temp_r25].unk8[2] = lbl_1_bss_2A6C[temp_r25].unk8[3] = 0; + lbl_1_bss_2A6C[temp_r25].unk2C = 0; + lbl_1_bss_2A6C[temp_r25].unk30 = 0; + lbl_1_bss_2A6C[temp_r25].unk34 = 0; + lbl_1_bss_2A6C[temp_r25].unk50 = temp_r31; + } + temp_r31->unk48[1]->unk48 = NULL; + temp_r31->unk48[1]->unk4C = temp_r31->unk48[0]; + temp_r31->unk48[0]->unk48 = temp_r31->unk48[1]; + temp_r31->unk48[0]->unk4C = sp198; + if(!sp198) { + lbl_1_bss_7884[temp_r31->unk48[0]->unk18] = temp_r31->unk48[0]; + } else { + temp_r31->unk48[0]->unk4C->unk48 = temp_r31->unk48[0]; + } + temp_r31->unk60++; + if(temp_r31->unk60 >= 8) { + fn_1_EC0(temp_r31); + temp_r31->unk60 = 0; + } + temp_r31->unk63[0] = temp_r31->unk48[0]->unk0; + temp_r31->unk63[1] = temp_r31->unk48[1]->unk0; + temp_r31->unk65[0] = 1; + if(((temp_r31->unk68+5)/7) != ((temp_r31->unk6C+5)/7)) { + if(((temp_r31->unk68+5)/7)%4 == 2) { + temp_r31->unk50[temp_r31->unk60][0] = 5; + temp_r31->unk50[temp_r31->unk60][1] = 5; + } else { + temp_r31->unk50[temp_r31->unk60][rand8()%2] = 5; + } + } + temp_r31->unk6C = temp_r31->unk68; + temp_r31->unk72 = 1; + temp_r31->unk74 = 0; + temp_r31->unk71 = 20; + temp_r31->unk70 = 0; + temp_r31->unk7C = -1; + temp_r31->unk80 = -1; + if(temp_r31->unk1C == -1) { + temp_r31->unk84 = 0; + temp_r31->unk88 = 0; + temp_r31->unk8C = temp_r31->unk48[0]->unk18; + temp_r31->unk90 = 0; + } + temp_r31->unk78 = 0; + temp_r31->unk79 = 0; + HuSprAttrReset(temp_r31->unkA4, 0, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r31->unkA4, 0, HUSPR_ATTR_REVERSE); + { + s32 sp258[12] = {}; + s32 sp194; + for(sp194=0; sp194<3; sp194++) { + StructBss2A6C *sp190; + for(sp190 = lbl_1_bss_7884[sp194+(temp_r31->unk10*3)]; sp190; sp190 = sp190->unk48) { + + sp258[sp194] += (sp190 && sp190->unk0 && (sp190->unk1 & 0x2) == 0 && sp258[sp194] < 9); + } + } + Hu3DModelRotSet(object->model[4], 0, ((sp258[0]+sp258[1]+sp258[2] >= 22) ? -90 : 0), 0); + } + } else { + s32 sp21C[3]; + s32 sp18C; + for(sp18C=0; sp18C<3; sp18C++) { + s32 sp188; + StructBss2A6C *sp184; + for(sp184 = lbl_1_bss_7884[sp18C+(temp_r31->unk10*3)], sp188=0; sp188<9; sp184 = sp184->unk48, sp188++) { + if(!sp184 || sp184->unk1 != 1) { + break; + } + } + sp21C[sp18C] = sp188; + } + if(sp21C[0] >= 9 && sp21C[1] >= 9 && sp21C[2] >= 9) { + temp_r31->unk78 += temp_r31->unk78 < 255; + Hu3DModelRotSet(object->model[4], 0, -90, 0); + temp_r31->unk79 = 1; + } else { + temp_r31->unk79 = 0; + } + } + } + + } else if(temp_r31->unk72 == 1) { + if(!temp_r31->unk48[0] || !temp_r31->unk48[1]) { + temp_r31->unk72 = 2; + temp_r31->unk74 = 0; + HuSprAttrSet(temp_r31->unkA4, 0, HUSPR_ATTR_REVERSE); + } else { + s32 temp_r26; + s32 sp180; - temp_r31->unk65[0] = (temp_r31->unk65[0] == 0 || temp_r31->unk65[0] >= 15) ? 0 : temp_r31->unk65[0] + 1; - if (temp_r31->unk1C != -1) { - sp19C = (HuPadStkX[temp_r31->unk1C] > 26) - (HuPadStkX[temp_r31->unk1C] < -26); - } - else { - sp19C = (temp_r31->unk72 == 1 && temp_r31->unk7C != -1) ? ((temp_r31->unk48[0]) ? ((temp_r31->unk7C < temp_r31->unk48[0]->unk18) ? -1 - : (temp_r31->unk7C > temp_r31->unk48[0]->unk18) ? 1 - : 0) - : 0) - : 0; - } - temp_r31->unk88 = ((temp_r31->unk72 == 1 && temp_r31->unk48[0]) && temp_r31->unk7C == temp_r31->unk48[0]->unk18) ? (temp_r31->unk88 + 1) : 0; - if (sp19C != temp_r31->unk0) { - temp_r31->unkC = (sp19C == 0) ? 0 : 1; - } - else { - temp_r31->unkC = (temp_r31->unk0 != 0) ? temp_r31->unkC + 1 : 0; - } - temp_r31->unkC = (temp_r31->unkC >= 17) ? 14 : temp_r31->unkC; - temp_r31->unk0 = sp19C; - if (temp_r31->unk72 == 2) { - float temp_f30; - float temp_f24; - s32 temp_r25; - s32 temp_r23; - s32 temp_r22; - StructBss2A6C *sp198; + sp180 = (temp_r31->unkC == 1 || temp_r31->unkC == 14) ? temp_r31->unk0 : 0; + temp_r26 = temp_r31->unk70; + if(temp_r31->unk1C != -1) { + temp_r26 = (HuPadBtnDown[temp_r31->unk1C] & (PAD_BUTTON_X|PAD_BUTTON_Y)) ? (temp_r31->unk70+2) : (temp_r31->unk70+((HuPadBtnDown[temp_r31->unk1C] & PAD_BUTTON_A) ? 1 : 0) + ((HuPadBtnDown[temp_r31->unk1C] & PAD_BUTTON_B) ? -1 : 0)); + } else { + if(temp_r31->unk80 != -1 && temp_r31->unk80 != temp_r31->unk70 && temp_r31->unk84 > 5) { + temp_r26 = temp_r31->unk80; + temp_r31->unk84 = 0; + } else { + temp_r31->unk84++; + } + } + temp_r26 = (temp_r26 >= 4) ? (temp_r26-4) : ((temp_r26 < 0) ? (temp_r26+4) : temp_r26); + temp_r31->unk74++; + if(temp_r31->unk1C == -1) { + s32 sp20C[4] = { 120, 50, 25, 2 }; + s32 sp200[3] = { 60, 45, 25 }; + temp_r31->unk90 = (temp_r31->unk8C == temp_r31->unk48[0]->unk18 && temp_r31->unk8C != temp_r31->unk7C) ? (temp_r31->unk90+1) : 0; + temp_r31->unk8C = temp_r31->unk48[0]->unk18; + if(temp_r31->unk7C == -1 && temp_r31->unk90 >= sp20C[temp_r31->unk20] || (temp_r31->unk20 >= 1 && (temp_r31->unk90 >= sp200[temp_r31->unk20-1]))) { + s32 sp1F0[4] = { 30, 30, 20, 10 }; + fn_1_10B8(temp_r31); + temp_r31->unk84 = 0; + temp_r31->unk88 = 0; + temp_r31->unk94 = (rand8()%sp1F0[temp_r31->unk20])-(sp1F0[temp_r31->unk20]/2); + } + } + if(lbl_1_bss_18 == -1) { + if(temp_r31->unk1C != -1) { + temp_r31->unk48[0]->unk1C.z = temp_r31->unk48[1]->unk1C.z = -0.03125f+((HuPadStkY[temp_r31->unk1C] < -36) ? (-0.26875f*((-HuPadStkY[temp_r31->unk1C]-36)/36.0f)) : 0); + temp_r31->unk4 = (HuPadStkY[temp_r31->unk1C] < -36) ? 1 : 0; + } else { + s32 sp1E4[3] = { 50, 30, 25 }; + s32 sp1D8[3] = { 90, 80, 70 }; - for (temp_r23 = 0; temp_r23 < 3; temp_r23++) { - s32 sp24C[3] = { 1, 2, 0 }; - temp_r22 = (temp_r31->unk10 * 3) + ((temp_r31->unk10 < 2) ? sp24C[temp_r23] : (2 - sp24C[temp_r23])); - if (fn_1_57C_inline(temp_r22, 9.5f, NULL, NULL) == 0) { - if (fn_1_57C_inline(temp_r22, 8.5f, NULL, NULL) == 0) { - break; - } - } - } - temp_r22 = (temp_r23 == 3) ? ((temp_r31->unk10 * 3) + 1) : temp_r22; - temp_f30 = (temp_r22 * 100) - 490; - temp_r31->unkA0 = (temp_r31->unk74 == 0) - ? temp_f30 - : ((temp_r31->unkA0 - 10 > temp_f30) - ? (temp_r31->unkA0 - 10) - : (((temp_r31->unkA0 > temp_f30) - ? temp_f30 - : ((temp_r31->unkA0 + 10 < temp_f30) ? (temp_r31->unkA0 + 10) - : ((temp_r31->unkA0 < temp_f30) ? temp_f30 : temp_r31->unkA0))))); - temp_r31->unk74++; - temp_f30 = temp_r31->unk74 / 24.0f; - temp_f30 = (temp_f30 > 1.0f) ? 1.0f : temp_f30; - temp_f30 = (0.5 * sind((temp_f30 * 180.0f) + 270.0f)) + 0.5; - temp_f24 = 1.0f - temp_f30; - if (lbl_1_bss_18 == -1) { - Vec sp240; - Vec sp234; - sp240.x = (temp_r31->unkA0 * temp_f30) + (temp_r31->unk98 * temp_f24); - sp240.y = (425.0f * temp_f30) + (temp_r31->unk9C * temp_f24); - sp240.z = 55; - Hu3D3Dto2D(&sp240, 1, &sp234); - HuSprPosSet(temp_r31->unkA4, 0, sp234.x, sp234.y); - } - if (lbl_1_bss_44->work[0] == 1002 && temp_r31->unk74 >= 24) { - for (temp_r23 = 0; temp_r23 < 3; temp_r23++) { - s32 sp228[3] = { 1, 2, 0 }; - temp_r22 = (temp_r31->unk10 * 3) + ((temp_r31->unk10 < 2) ? sp228[temp_r23] : (2 - sp228[temp_r23])); - if (fn_1_57C_inline(temp_r22, 9.5f, NULL, NULL) == 0) { - if (fn_1_57C_inline(temp_r22, 8.5f, NULL, NULL) == 0) { - break; - } - } - } - if (temp_r23 != 3) { - for (sp198 = lbl_1_bss_7884[temp_r22]; sp198 && sp198->unk48; sp198 = sp198->unk48) - ; - for (temp_r23 = 0; temp_r23 < 2; temp_r23++) { - temp_r25 = (lbl_1_bss_0 + 1) % 238; - while (temp_r25 != lbl_1_bss_0) { - if (lbl_1_bss_2A6C[temp_r25].unk0 == 0) { - break; - } - temp_r25++; - temp_r25 = temp_r25 % 238; - if (temp_r25 == 0) { - OSReport("looped.\n"); - } - } - if (temp_r25 == lbl_1_bss_0) { - OSReport("m413:error:block empty.\n"); - } - lbl_1_bss_0 = temp_r25; - temp_r31->unk48[temp_r23] = &lbl_1_bss_2A6C[temp_r25]; - lbl_1_bss_2A6C[temp_r25].unk0 = temp_r31->unk50[temp_r31->unk60][temp_r23]; - lbl_1_bss_2A6C[temp_r25].unk1 = 2; - lbl_1_bss_2A6C[temp_r25].unk3 = 1 << temp_r31->unk10; - lbl_1_bss_2A6C[temp_r25].unk2 = temp_r31->unk10; - lbl_1_bss_2A6C[temp_r25].unk18 = temp_r22; - lbl_1_bss_2A6C[temp_r25].unk1C.x = temp_r22; - lbl_1_bss_2A6C[temp_r25].unk1C.y = temp_r23 + 8.9375f; - lbl_1_bss_2A6C[temp_r25].unk1C.z = 0; - lbl_1_bss_2A6C[temp_r25].unk8[0] = lbl_1_bss_2A6C[temp_r25].unk8[1] = lbl_1_bss_2A6C[temp_r25].unk8[2] - = lbl_1_bss_2A6C[temp_r25].unk8[3] = 0; - lbl_1_bss_2A6C[temp_r25].unk2C = 0; - lbl_1_bss_2A6C[temp_r25].unk30 = 0; - lbl_1_bss_2A6C[temp_r25].unk34 = 0; - lbl_1_bss_2A6C[temp_r25].unk50 = temp_r31; - } - temp_r31->unk48[1]->unk48 = NULL; - temp_r31->unk48[1]->unk4C = temp_r31->unk48[0]; - temp_r31->unk48[0]->unk48 = temp_r31->unk48[1]; - temp_r31->unk48[0]->unk4C = sp198; - if (!sp198) { - lbl_1_bss_7884[temp_r31->unk48[0]->unk18] = temp_r31->unk48[0]; - } - else { - temp_r31->unk48[0]->unk4C->unk48 = temp_r31->unk48[0]; - } - temp_r31->unk60++; - if (temp_r31->unk60 >= 8) { - fn_1_EC0(temp_r31); - temp_r31->unk60 = 0; - } - temp_r31->unk63[0] = temp_r31->unk48[0]->unk0; - temp_r31->unk63[1] = temp_r31->unk48[1]->unk0; - temp_r31->unk65[0] = 1; - if (((temp_r31->unk68 + 5) / 7) != ((temp_r31->unk6C + 5) / 7)) { - if (((temp_r31->unk68 + 5) / 7) % 4 == 2) { - temp_r31->unk50[temp_r31->unk60][0] = 5; - temp_r31->unk50[temp_r31->unk60][1] = 5; - } - else { - temp_r31->unk50[temp_r31->unk60][rand8() % 2] = 5; - } - } - temp_r31->unk6C = temp_r31->unk68; - temp_r31->unk72 = 1; - temp_r31->unk74 = 0; - temp_r31->unk71 = 20; - temp_r31->unk70 = 0; - temp_r31->unk7C = -1; - temp_r31->unk80 = -1; - if (temp_r31->unk1C == -1) { - temp_r31->unk84 = 0; - temp_r31->unk88 = 0; - temp_r31->unk8C = temp_r31->unk48[0]->unk18; - temp_r31->unk90 = 0; - } - temp_r31->unk78 = 0; - temp_r31->unk79 = 0; - HuSprAttrReset(temp_r31->unkA4, 0, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(temp_r31->unkA4, 0, HUSPR_ATTR_REVERSE); - { - s32 sp258[12] = {}; - s32 sp194; - for (sp194 = 0; sp194 < 3; sp194++) { - StructBss2A6C *sp190; - for (sp190 = lbl_1_bss_7884[sp194 + (temp_r31->unk10 * 3)]; sp190; sp190 = sp190->unk48) { - - sp258[sp194] += (sp190 && sp190->unk0 && (sp190->unk1 & 0x2) == 0 && sp258[sp194] < 9); - } - } - Hu3DModelRotSet(object->model[4], 0, ((sp258[0] + sp258[1] + sp258[2] >= 22) ? -90 : 0), 0); - } - } - else { - s32 sp21C[3]; - s32 sp18C; - for (sp18C = 0; sp18C < 3; sp18C++) { - s32 sp188; - StructBss2A6C *sp184; - for (sp184 = lbl_1_bss_7884[sp18C + (temp_r31->unk10 * 3)], sp188 = 0; sp188 < 9; sp184 = sp184->unk48, sp188++) { - if (!sp184 || sp184->unk1 != 1) { - break; - } - } - sp21C[sp18C] = sp188; - } - if (sp21C[0] >= 9 && sp21C[1] >= 9 && sp21C[2] >= 9) { - temp_r31->unk78 += temp_r31->unk78 < 255; - Hu3DModelRotSet(object->model[4], 0, -90, 0); - temp_r31->unk79 = 1; - } - else { - temp_r31->unk79 = 0; - } - } - } - } - else if (temp_r31->unk72 == 1) { - if (!temp_r31->unk48[0] || !temp_r31->unk48[1]) { - temp_r31->unk72 = 2; - temp_r31->unk74 = 0; - HuSprAttrSet(temp_r31->unkA4, 0, HUSPR_ATTR_REVERSE); - } - else { - s32 temp_r26; - s32 sp180; - - sp180 = (temp_r31->unkC == 1 || temp_r31->unkC == 14) ? temp_r31->unk0 : 0; - temp_r26 = temp_r31->unk70; - if (temp_r31->unk1C != -1) { - temp_r26 = (HuPadBtnDown[temp_r31->unk1C] & (PAD_BUTTON_X | PAD_BUTTON_Y)) - ? (temp_r31->unk70 + 2) - : (temp_r31->unk70 + ((HuPadBtnDown[temp_r31->unk1C] & PAD_BUTTON_A) ? 1 : 0) - + ((HuPadBtnDown[temp_r31->unk1C] & PAD_BUTTON_B) ? -1 : 0)); - } - else { - if (temp_r31->unk80 != -1 && temp_r31->unk80 != temp_r31->unk70 && temp_r31->unk84 > 5) { - temp_r26 = temp_r31->unk80; - temp_r31->unk84 = 0; - } - else { - temp_r31->unk84++; - } - } - temp_r26 = (temp_r26 >= 4) ? (temp_r26 - 4) : ((temp_r26 < 0) ? (temp_r26 + 4) : temp_r26); - temp_r31->unk74++; - if (temp_r31->unk1C == -1) { - s32 sp20C[4] = { 120, 60, 25, 2 }; - s32 sp200[3] = { 60, 45, 25 }; - temp_r31->unk90 = (temp_r31->unk8C == temp_r31->unk48[0]->unk18 && temp_r31->unk8C != temp_r31->unk7C) ? (temp_r31->unk90 + 1) : 0; - temp_r31->unk8C = temp_r31->unk48[0]->unk18; - if (temp_r31->unk7C == -1 && temp_r31->unk90 >= sp20C[temp_r31->unk20] - || (temp_r31->unk20 >= 1 && (temp_r31->unk90 >= sp200[temp_r31->unk20 - 1]))) { - s32 sp1F0[4] = { 30, 30, 20, 10 }; - fn_1_10B8(temp_r31); - temp_r31->unk84 = 0; - temp_r31->unk88 = 0; - temp_r31->unk94 = (rand8() % sp1F0[temp_r31->unk20]) - (sp1F0[temp_r31->unk20] / 2); - } - } - if (lbl_1_bss_18 == -1) { - if (temp_r31->unk1C != -1) { - temp_r31->unk48[0]->unk1C.z = temp_r31->unk48[1]->unk1C.z - = -0.03125f + ((HuPadStkY[temp_r31->unk1C] < -36) ? (-0.26875f * ((-HuPadStkY[temp_r31->unk1C] - 36) / 36.0f)) : 0); - temp_r31->unk4 = (HuPadStkY[temp_r31->unk1C] < -36) ? 1 : 0; - } - else { - s32 sp1E4[3] = { 50, 30, 25 }; - s32 sp1D8[3] = { 90, 80, 70 }; - - temp_r31->unk4 - = ((temp_r31->unk20 - && (temp_r31->unk88 > temp_r31->unk94 + sp1E4[temp_r31->unk20 - 1] || temp_r31->unk90 > sp1D8[temp_r31->unk20 - 1]))) - ? 1 - : 0; - temp_r31->unk48[0]->unk1C.z = temp_r31->unk48[1]->unk1C.z = -0.03125f + (temp_r31->unk4 ? -0.26875f : 0.0f); - } - } - else { - temp_r31->unk48[0]->unk1C.z = temp_r31->unk48[1]->unk1C.z = 0; - } - if (lbl_1_bss_18 == -1 && sp180) { - if (fn_1_57C_inline(temp_r31->unk48[0]->unk18_u + sp180, temp_r31->unk48[0]->unk1C.y, temp_r31->unk48[0], NULL) == 0) { - if (fn_1_57C_inline(temp_r31->unk48[1]->unk18_u + sp180, temp_r31->unk48[1]->unk1C.y, temp_r31->unk48[1], NULL) == 0) { - float sp17C = temp_r31->unk48[0]->unk18; - float sp178 = temp_r31->unk48[1]->unk18; - fn_1_6D0(temp_r31->unk48[0]->unk18_u + sp180, temp_r31->unk48[0]->unk1C.y, temp_r31->unk48[0]); - fn_1_6D0(temp_r31->unk48[1]->unk18_u + sp180, temp_r31->unk48[1]->unk1C.y, temp_r31->unk48[1]); - temp_r31->unk48[0]->unk1C.x = (sp17C * 0.5) + (0.5 * temp_r31->unk48[0]->unk18); - temp_r31->unk48[1]->unk1C.x = (sp178 * 0.5) + (0.5 * temp_r31->unk48[1]->unk18); - } - } - } - if (lbl_1_bss_18 != -1) { - temp_r26 = temp_r31->unk70; - } - if (temp_r26 != temp_r31->unk70) { - StructBss2A6C *temp_r29 = temp_r31->unk48[0]; - StructBss2A6C *temp_r30 = temp_r31->unk48[1]; - s32 sp174 = temp_r29->unk18; - float temp_f25 = temp_r29->unk1C.y; - s32 sp1C8[4] = { 0, 1, 0, -1 }; - s32 sp1B8[4] = { 1, 0, -1, 0 }; - StructBss2A6C *sp170; - if (fn_1_57C_inline(sp174 + sp1C8[temp_r26], temp_f25 + sp1B8[temp_r26], temp_r30, &sp170) == 0) { - if (temp_r31->unk70 != temp_r26) { - temp_r30->unk5 = 1; - temp_r30->unk4 = (((((temp_r26 - temp_r31->unk70) + 8) % 4) - 1) * 4) + temp_r31->unk70 + 1; - } - temp_r31->unk70 = temp_r26; - fn_1_6D0(sp174 + sp1C8[temp_r26], temp_f25 + sp1B8[temp_r26], temp_r30); - temp_r30->unk1C.x = temp_r30->unk18; - } - else { - float temp_f31; - s32 temp_r24; - if (temp_r26 % 2 == 0) { - s32 sp16C = (temp_r26 == 2) ? 1 : 0; - temp_f31 = temp_f25 + ((sp16C == 1) ? sp1B8[temp_r26] : sp1B8[temp_r26]); - fn_1_57C_inline(sp174, temp_f31, (sp16C == 0) ? temp_r30 : temp_r30, &sp170); - if (temp_r26 == 2) { - if (!sp170 || sp170->unk1C.y <= temp_f31) { - temp_f31 = ((sp16C == 1) ? 1.0f : 0.0f) + ((sp170) ? sp170->unk1C.y + 1.0f : 0.0f); - temp_r24 = sp174; - } - else { - temp_f31 = (sp170->unk1C.y - 1.0f) - (sp16C == 0); - temp_r24 = sp174; - } - } - else { - if (sp170->unk1C.y >= temp_f31) { - temp_f31 = ((sp16C == 1) ? 1.0f : 0.0f) + ((sp170) ? sp170->unk1C.y - 2.0f : 0.0f); - temp_r24 = sp174; - } - else { - temp_f31 = (sp170->unk1C.y - 1.0f) - (sp16C == 0); - temp_r24 = sp174; - } - } - } - else { - temp_r24 = sp174 - sp1C8[temp_r26]; - temp_f31 = temp_f25; - } - if (fn_1_57C_inline(temp_r24, temp_f31, temp_r29, NULL) == 0) { - if (fn_1_57C_inline(temp_r24 + sp1C8[temp_r26], temp_f31 + sp1B8[temp_r26], temp_r30, NULL) == 0) { - float sp168 = temp_r31->unk48[0]->unk18; - float sp164 = temp_r31->unk48[1]->unk18; - if (temp_r31->unk70 != temp_r26) { - temp_r30->unk5 = 1; - temp_r30->unk4 = (((((temp_r26 - temp_r31->unk70) + 8) % 4) - 1) * 4) + temp_r31->unk70 + 1; - } + temp_r31->unk4 = ((temp_r31->unk20 && (temp_r31->unk88 > temp_r31->unk94+sp1E4[temp_r31->unk20-1] || temp_r31->unk90 > sp1D8[temp_r31->unk20-1]))) ? 1 : 0; + temp_r31->unk48[0]->unk1C.z = temp_r31->unk48[1]->unk1C.z = -0.03125f+(temp_r31->unk4 ? -0.26875f : 0.0f); + } + } else { + temp_r31->unk48[0]->unk1C.z = temp_r31->unk48[1]->unk1C.z = 0; + } + if(lbl_1_bss_18 == -1 && sp180) { + if(fn_1_57C_inline(temp_r31->unk48[0]->unk18_u+sp180, temp_r31->unk48[0]->unk1C.y, temp_r31->unk48[0], NULL) == 0) { + if(fn_1_57C_inline(temp_r31->unk48[1]->unk18_u+sp180, temp_r31->unk48[1]->unk1C.y, temp_r31->unk48[1], NULL) == 0) { + float sp17C = temp_r31->unk48[0]->unk18; + float sp178 = temp_r31->unk48[1]->unk18; + fn_1_6D0(temp_r31->unk48[0]->unk18_u+sp180, temp_r31->unk48[0]->unk1C.y, temp_r31->unk48[0]); + fn_1_6D0(temp_r31->unk48[1]->unk18_u+sp180, temp_r31->unk48[1]->unk1C.y, temp_r31->unk48[1]); + temp_r31->unk48[0]->unk1C.x = (sp17C*0.5)+(0.5*temp_r31->unk48[0]->unk18); + temp_r31->unk48[1]->unk1C.x = (sp178*0.5)+(0.5*temp_r31->unk48[1]->unk18); + } + } + } + if(lbl_1_bss_18 != -1) { + temp_r26 = temp_r31->unk70; + } + if(temp_r26 != temp_r31->unk70) { + StructBss2A6C *temp_r29 = temp_r31->unk48[0]; + StructBss2A6C *temp_r30 = temp_r31->unk48[1]; + s32 sp174 = temp_r29->unk18; + float temp_f25 = temp_r29->unk1C.y; + s32 sp1C8[4] = { 0, 1, 0, -1 }; + s32 sp1B8[4] = { 1, 0, -1, 0 }; + StructBss2A6C *sp170; + if(fn_1_57C_inline(sp174+sp1C8[temp_r26], temp_f25+sp1B8[temp_r26], temp_r30, &sp170) == 0) { + if(temp_r31->unk70 != temp_r26) { + temp_r30->unk5 = 1; + temp_r30->unk4 = (((((temp_r26-temp_r31->unk70)+8)%4)-1)*4)+temp_r31->unk70+1; + } + temp_r31->unk70 = temp_r26; + fn_1_6D0(sp174+sp1C8[temp_r26], temp_f25+sp1B8[temp_r26], temp_r30); + temp_r30->unk1C.x = temp_r30->unk18; + } else { + float temp_f31; + s32 temp_r24; + if(temp_r26%2 == 0) { + s32 sp16C = (temp_r26 == 2) ? 1 : 0; + temp_f31 = temp_f25+((sp16C == 1) ? sp1B8[temp_r26] : sp1B8[temp_r26]); + fn_1_57C_inline(sp174, temp_f31, (sp16C == 0) ? temp_r30 : temp_r30, &sp170); + if(temp_r26 == 2) { + if(!sp170 || sp170->unk1C.y <= temp_f31) { + temp_f31 = ((sp16C == 1) ? 1.0f : 0.0f)+((sp170) ? sp170->unk1C.y+1.0f : 0.0f); + temp_r24 = sp174; + } else { + temp_f31 = (sp170->unk1C.y-1.0f)-(sp16C==0); + temp_r24 = sp174; + } + } else { + if(sp170->unk1C.y >= temp_f31) { + temp_f31 = ((sp16C == 1) ? 1.0f : 0.0f)+((sp170) ? sp170->unk1C.y-2.0f : 0.0f); + temp_r24 = sp174; + } else { + temp_f31 = (sp170->unk1C.y-1.0f)-(sp16C==0); + temp_r24 = sp174; + } + } + } else { + temp_r24 = sp174-sp1C8[temp_r26]; + temp_f31 = temp_f25; + } + if(fn_1_57C_inline(temp_r24, temp_f31, temp_r29, NULL) == 0) { + if(fn_1_57C_inline(temp_r24+sp1C8[temp_r26], temp_f31+sp1B8[temp_r26], temp_r30, NULL) == 0) { + float sp168 = temp_r31->unk48[0]->unk18; + float sp164 = temp_r31->unk48[1]->unk18; + if(temp_r31->unk70 != temp_r26) { + temp_r30->unk5 = 1; + temp_r30->unk4 = (((((temp_r26-temp_r31->unk70)+8)%4)-1)*4)+temp_r31->unk70+1; + } temp_r31->unk70 = temp_r26; - if (temp_r26 == 2) { - fn_1_6D0(temp_r24, temp_f31 + (0.5 * (float)sp1B8[temp_r26]), temp_r29); - fn_1_6D0(temp_r24 + sp1C8[temp_r26], temp_f31 + sp1B8[temp_r26], temp_r30); - fn_1_6D0(temp_r24, temp_f31, temp_r29); - } - else { - fn_1_6D0(temp_r24, temp_f31, temp_r29); - fn_1_6D0(temp_r24 + sp1C8[temp_r26], temp_f31 + sp1B8[temp_r26], temp_r30); - } - temp_r31->unk48[0]->unk1C.x = (sp168 * 0.5) + (0.5 * temp_r31->unk48[0]->unk18); - temp_r31->unk48[1]->unk1C.x = (sp164 * 0.5) + (0.5 * temp_r31->unk48[1]->unk18); - } - } - } - } - } - if (temp_r31->unk48[0]) { - temp_r31->unk98 = 10.0 + ((100.0 * ((temp_r31->unk48[0]->unk18 + temp_r31->unk48[0]->unk1C.x) / 2.0)) - 500); - temp_r31->unk9C = 25.0f + ((100.0f * temp_r31->unk48[0]->unk1C.y) - 500.0f); - } - if (lbl_1_bss_18 == -1) { - Vec sp1AC; - Vec sp1A0; - sp1AC.x = temp_r31->unk98; - sp1AC.y = temp_r31->unk9C; - sp1AC.z = 55; - Hu3D3Dto2D(&sp1AC, 1, &sp1A0); - HuSprPosSet(temp_r31->unkA4, 0, sp1A0.x, sp1A0.y); - } - } + if(temp_r26 == 2) { + fn_1_6D0(temp_r24, temp_f31+(0.5*(float)sp1B8[temp_r26]), temp_r29); + fn_1_6D0(temp_r24+sp1C8[temp_r26], temp_f31+sp1B8[temp_r26], temp_r30); + fn_1_6D0(temp_r24, temp_f31, temp_r29); + } else { + fn_1_6D0(temp_r24, temp_f31, temp_r29); + fn_1_6D0(temp_r24+sp1C8[temp_r26], temp_f31+sp1B8[temp_r26], temp_r30); + + } + temp_r31->unk48[0]->unk1C.x = (sp168*0.5)+(0.5*temp_r31->unk48[0]->unk18); + temp_r31->unk48[1]->unk1C.x = (sp164*0.5)+(0.5*temp_r31->unk48[1]->unk18); + } + } + + } + } + } + if(temp_r31->unk48[0]) { + temp_r31->unk98 = 10.0+((100.0*((temp_r31->unk48[0]->unk18+temp_r31->unk48[0]->unk1C.x)/2.0))-500); + temp_r31->unk9C = 25.0f+((100.0f*temp_r31->unk48[0]->unk1C.y)-500.0f); + } + if(lbl_1_bss_18 == -1) { + Vec sp1AC; + Vec sp1A0; + sp1AC.x = temp_r31->unk98; + sp1AC.y = temp_r31->unk9C; + sp1AC.z = 55; + Hu3D3Dto2D(&sp1AC, 1, &sp1A0); + HuSprPosSet(temp_r31->unkA4, 0, sp1A0.x, sp1A0.y); + } + } } void fn_1_8AC8(StructBss2A6C *arg0, StructSp14C8 *arg1); -#define CHECK_2E48(arg0, arg1, arg2) \ - (((arg0)-1 <= 0 || (arg2[(arg0)-1][(arg1)] && arg2[(arg0)-1][(arg1)]->unk0)) \ - && ((arg0)-1 >= 11 || (arg2[(arg0) + 1][(arg1)] && arg2[(arg0) + 1][(arg1)]->unk0)) \ - && ((arg1)-1 <= 0 || (arg2[(arg0)][(arg1)-1] && arg2[(arg0)][(arg1)-1]->unk0)) \ - && ((arg1)-1 >= 8 || (arg2[(arg0)][(arg1) + 1] && arg2[(arg0)][(arg1) + 1]->unk0)) \ - && ((arg0)-1 >= 11 || (arg1)-1 <= 0 || (arg2[(arg0) + 1][(arg1)-1] && arg2[(arg0) + 1][(arg1)-1]->unk0)) \ - && ((arg0)-1 >= 11 || (arg1)-1 >= 8 || (arg2[(arg0) + 1][(arg1) + 1] && arg2[(arg0) + 1][(arg1) + 1]->unk0)) \ - && ((arg0)-1 <= 0 || (arg1)-1 <= 0 || (arg2[(arg0)-1][(arg1)-1] && arg2[(arg0)-1][(arg1)-1]->unk0)) \ - && ((arg0)-1 <= 0 || (arg1)-1 >= 8 || (arg2[(arg0)-1][(arg1) + 1] && arg2[(arg0)-1][(arg1) + 1]->unk0))) - +#define CHECK_2E48(arg0, arg1, arg2) \ + (((arg0)-1 <= 0 || (arg2[(arg0)-1][(arg1)] && arg2[(arg0)-1][(arg1)]->unk0)) && \ + ((arg0)-1 >= 11 || (arg2[(arg0)+1][(arg1)] && arg2[(arg0)+1][(arg1)]->unk0)) && \ + ((arg1)-1 <= 0 || (arg2[(arg0)][(arg1)-1] && arg2[(arg0)][(arg1)-1]->unk0)) && \ + ((arg1)-1 >= 8 || (arg2[(arg0)][(arg1)+1] && arg2[(arg0)][(arg1)+1]->unk0)) && \ + ((arg0)-1 >= 11 || (arg1)-1 <= 0 || (arg2[(arg0)+1][(arg1)-1] && arg2[(arg0)+1][(arg1)-1]->unk0)) && \ + ((arg0)-1 >= 11 || (arg1)-1 >= 8 || (arg2[(arg0)+1][(arg1)+1] && arg2[(arg0)+1][(arg1)+1]->unk0)) && \ + ((arg0)-1 <= 0 || (arg1)-1 <= 0 || (arg2[(arg0)-1][(arg1)-1] && arg2[(arg0)-1][(arg1)-1]->unk0)) && \ + ((arg0)-1 <= 0 || (arg1)-1 >= 8 || (arg2[(arg0)-1][(arg1)+1] && arg2[(arg0)-1][(arg1)+1]->unk0))) + void fn_1_52A4(s32 arg0) { - omObjData *sp1EC = lbl_1_bss_30; - StructBss2A6C *sp2E48[14][19] = {}; - StructBss2A6C *sp1E8 = NULL; - StructBss2A6C *temp_r31; - StructBss2A6C *temp_r30; - s32 temp_r29; - s32 temp_r23; - s32 temp_r19; - s32 temp_r18; - float temp_f31; - float temp_f30; - float temp_f29; - - StructSp14C8 sp14C8[204]; - StructBss2A6C *spD58[476]; - StructSp14C8 *spA28[204]; - float sp6F8[204]; - float sp3C8[204]; - s16 sp230[204]; - - for (temp_r18 = 0; temp_r18 < 12; temp_r18++) { - for (temp_r31 = lbl_1_bss_7884[temp_r18]; temp_r31; temp_r31 = temp_r31->unk48) { - s32 sp1E4 = temp_r31->unk1; - s32 sp1E0 = (((sp1E4 & 0x2) == 0 && (arg0 == 4)) || ((sp1E4 & 0x2) && (temp_r31->unk3 & (1 << arg0)))); - temp_f29 = (sp1E0) ? temp_r31->unk1C.z : 0; - temp_r31->unk2C = (void *)(temp_r31->unk30 = temp_r31->unk34 = NULL); - temp_r31->unk38 = temp_r31->unk3C = temp_r31->unk40 = temp_r31->unk44 = NULL; - if (arg0 == 4) { - temp_r31->unk5 += temp_r31->unk4 != 0 && temp_r31->unk5 != 0; - temp_r31->unk5 = (temp_r31->unk4 == 0 || (temp_r31->unk5 > (((temp_r31->unk4 - 1) / 4 == 1) ? 15 : 15))) ? 0 : temp_r31->unk5; - temp_r31->unk4 = (temp_r31->unk5 == 0) ? 0 : temp_r31->unk4; - temp_r31->unk1C.x = (0.5 * temp_r31->unk18) + (0.5 * temp_r31->unk1C.x); - } - if (temp_r31->unk0) { - s32 sp1DC = 0; - StructBss2A6C *sp1D8; - if ((temp_r31->unk1 & 0x1) && temp_r31->unk1C.y == 0.0f && !temp_r31->unk4C) { - sp1DC = 1; - sp1D8 = NULL; - } - else if ((temp_r31->unk1 & 0x1) && temp_r31->unk4C && (temp_r31->unk4C->unk1C.y == temp_r31->unk1C.y - 1.0f)) { - sp1DC = 2; - sp1D8 = temp_r31->unk4C; - } - else { - if (fn_1_57C(temp_r18, temp_r31->unk1C.y + temp_f29, temp_r31, &sp1D8)) { - if (!sp1D8 || temp_r31->unk1C.y + temp_f29 >= sp1D8->unk1C.y) { - sp1DC = 2; - } - } - } - if (sp1DC != 0) { - if (temp_r31->unk1 & 0x2) { - float temp_f28 = (temp_r31->unk1C.y + temp_f29) - ((!sp1D8) ? 0.0f : (1.0f + sp1D8->unk1C.y)); - temp_f28 = temp_r31->unk1C.y - ((!sp1D8) ? 0.0f : (1.0f + sp1D8->unk1C.y)); - if (temp_r31->unk50->unk48[0]->unk18 != temp_r31->unk50->unk48[1]->unk18) { - temp_r31->unk50->unk48[0]->unk1C.y = ((!sp1D8) ? 0.0f : (1.0f + sp1D8->unk1C.y)); - temp_r31->unk50->unk48[1]->unk1C.y = ((!sp1D8) ? 0.0f : (1.0f + sp1D8->unk1C.y)); - } - else { - temp_r31->unk50->unk48[0]->unk1C.y -= temp_f28; - temp_r31->unk50->unk48[1]->unk1C.y -= temp_f28; - } - temp_r31->unk50->unk48[0]->unk1C.z = 0; - temp_r31->unk50->unk48[1]->unk1C.z = 0; - if (sp1E0) { - if (!sp1D8 || ((sp1D8->unk1 & 0x1) && (sp1D8->unk1 & 0x2) == 0)) { - temp_r31->unk50->unk71 -= (temp_r31->unk50->unk71 != 0 && lbl_1_bss_18 == -1); - } - } - if (temp_r31->unk50->unk71 == 0 - || temp_r31->unk50->unk4 != 0 && (!sp1D8 || ((sp1D8->unk1 & 0x1) && (sp1D8->unk1 & 0x2) == 0))) { - temp_r31->unk50->unk48[0]->unk1 &= ~0x2; - temp_r31->unk50->unk48[1]->unk1 &= ~0x2; - temp_r31->unk50->unk48[0]->unk1 |= 0x10; - temp_r31->unk50->unk48[1]->unk1 |= 0x10; - temp_r31->unk1 |= 0x1; - if (temp_r31->unk50->unk48[0]->unk18 != temp_r31->unk50->unk48[1]->unk18) { - s32 sp1D4; - s32 sp1D0 = (temp_r31 == temp_r31->unk50->unk48[1]) ? 1 : 0; - s32 sp1CC = temp_r31->unk50->unk48[sp1D0]->unk18; - s32 sp1C8 = temp_r31->unk50->unk48[1 - sp1D0]->unk18; - float sp1C4 = temp_r31->unk50->unk48[sp1D0]->unk1C.y; - float sp1C0 = temp_r31->unk50->unk48[1 - sp1D0]->unk1C.y; - sp1D4 = (sp1CC < sp1C8 || (sp1CC == sp1C8 && sp1C4 < sp1C0)) ? 1 : 0; - if (sp1D4 == 1) { - StructBss2A6C *temp_r21 = temp_r31->unk50->unk48[1 - sp1D0]; - StructBss2A6C *temp_r20 = (temp_r21) ? temp_r21->unk4C : NULL; - if (temp_r21) { - if ((!temp_r20 && temp_r21->unk1C.y == 0.0f) - || (temp_r20 && temp_r21->unk1C.y == temp_r20->unk1C.y + 1.0f && (temp_r20->unk1 & 0x1) - && (temp_r20->unk1 & 0x2) == 0)) { - temp_r21->unk1C.y = (temp_r20) ? (temp_r20->unk1C.y + 1.0f) : 0.0f; - temp_r21->unk1 &= ~0x1; - temp_r21->unk1 |= (temp_r20 && ((temp_r20->unk1 & 0x1) == 0 || (temp_r20->unk1 & 0x2) != 0)) ? 0 : 1; - temp_r21->unk1C.z - = (temp_r21->unk1 & 0x1) ? -0.010416667f : ((!temp_r20) ? -0.010416667f : temp_r20->unk1C.z); - sp1E8 = temp_r21; - } - } - } - } - temp_r31->unk4 = temp_r31->unk5 = 0; - if (temp_r31->unk50->unk48[0]->unk18 == temp_r31->unk50->unk48[1]->unk18) { - s32 sp1BC = (temp_r31->unk50->unk48[1] == temp_r31) ? 1 : 0; - s32 sp1B8 = temp_r31->unk50->unk48[0]->unk1C.y > temp_r31->unk50->unk48[1]->unk1C.y; - temp_r31->unk50->unk48[1 - sp1B8]->unk1C.y = 1 + temp_r31->unk50->unk48[sp1B8]->unk1C.y; - temp_r31->unk50->unk48[1 - sp1B8]->unk1C.z = -0.010416667f; - temp_r31->unk50->unk48[0]->unk1 |= 0x1; - temp_r31->unk50->unk48[1]->unk1 |= 0x1; - temp_r31->unk50->unk48[0]->unk4 = temp_r31->unk50->unk48[0]->unk5 = 0; - temp_r31->unk50->unk48[1]->unk4 = temp_r31->unk50->unk48[1]->unk5 = 0; - temp_r31->unk38 = (temp_r31->unk50->unk48[1] == temp_r31) ? temp_r31->unk50->unk48[0] : temp_r31->unk50->unk48[1]; - if (sp1BC) { - temp_r31->unk50->unk48[0]->unk1 |= 0x8; - } - else { - temp_r31->unk50->unk48[1]->unk1 |= 0x8; - } - } - temp_r31->unk50->unk48[0] = NULL; - temp_r31->unk50->unk48[1] = NULL; - } - } - else { - temp_r31->unk1C.y = (sp1D8) ? (1.0f + sp1D8->unk1C.y) : 0.0f; - temp_r31->unk1 &= ~0x1; - temp_r31->unk1 |= (sp1D8 && ((sp1D8->unk1 & 0x1) == 0 || (sp1D8->unk1 & 0x2) != 0)) ? 0 : 1; - temp_r31->unk1C.z = (temp_r31->unk1 & 0x1) ? -0.010416667f : ((!sp1D8) ? -0.010416667f : sp1D8->unk1C.z); - } - } - else { - temp_r31->unk1C.y += temp_f29; - temp_r31->unk1C.z = (sp1E0) ? ((temp_r31->unk1 & 0x3) ? 0.0f : -0.010416667f + temp_r31->unk1C.z) : temp_r31->unk1C.z; - if (temp_r31->unk1 & 0x1) { - temp_r31->unk1 &= ~0x1; - } - } - } - if ((temp_r31->unk1 & 0x1) && (sp1E4 & 0x1) && (temp_r31->unk1 & 0x8) == 0 && temp_r31 != sp1E8) { - temp_r31->unk8[0] = temp_r31->unk8[1] = temp_r31->unk8[2] = temp_r31->unk8[3] = 0; - temp_r31->unk3 = 0; - temp_r31->unk1 &= ~0x10; - } - temp_r31->unk1 &= ~0x8; - if ((temp_r31->unk1 & 0x1) && (temp_r31->unk1 & 0x2) == 0) { - sp2E48[temp_r31->unk18 + 1][(int)temp_r31->unk1C.y + 1] = temp_r31; - } - if (temp_r31->unk1 & 0x2) { - temp_r31->unk1C.z = 0; - } - } - } - temp_r23 = 0; - { - s32 sp1B4; - for (temp_r18 = 0; temp_r18 < 12; temp_r18++) { - StructBss2A6C *sp1B0 = (temp_r18 < 11) ? lbl_1_bss_7884[temp_r18 + 1] : NULL; - StructBss2A6C *sp1AC = NULL; - StructBss2A6C *sp1A8 = NULL; - float sp1A4 = (sp1B0) ? (sp1B0->unk1C.y) : 0.0f; - for (temp_r31 = lbl_1_bss_7884[temp_r18]; temp_r31; temp_r31 = temp_r31->unk48) { - s32 sp1A0 = temp_r31->unk18 + 1; - s32 sp19C = (int)temp_r31->unk1C.y + 1; - if ((temp_r31->unk1 & 0x1) && (temp_r31->unk1 & 0x2) == 0) { - if (sp2E48[sp1A0][sp19C + 1]) { - temp_r31->unk38 = sp2E48[sp1A0][sp19C + 1]; - temp_r31->unk38->unk3C = temp_r31; - } - if (sp2E48[sp1A0 + 1][sp19C]) { - sp1B0 = sp2E48[sp1A0 + 1][sp19C]; - temp_r31->unk44 = sp1B0; - temp_r31->unk44->unk40 = temp_r31; - } - sp1AC = sp2E48[sp1A0 + 1][sp19C + 1]; - sp1A8 = sp2E48[sp1A0 + 1][sp19C - 1]; - if (temp_r31->unk0 == 5 && temp_r31->unk2C == NULL && temp_r31->unk1C.y <= 8.0f && sp19C - 1 < 9) { - s32 sp198 = temp_r31->unk0 == 5; - sp14C8[temp_r23].unk0 = 5; - sp14C8[temp_r23].unk4[0] = (sp198) ? temp_r31->unk8[0] : temp_r30->unk8[0]; - sp14C8[temp_r23].unk4[1] = (sp198) ? temp_r31->unk8[0] : temp_r30->unk8[1]; - sp14C8[temp_r23].unk4[2] = (sp198) ? temp_r31->unk8[0] : temp_r30->unk8[2]; - sp14C8[temp_r23].unk4[3] = (sp198) ? temp_r31->unk8[0] : temp_r30->unk8[3]; - sp14C8[temp_r23].unk1 = 1; - sp14C8[temp_r23].unk2 = 0; - sp14C8[temp_r23].unk14 = (sp198) ? temp_r31 : temp_r30; - sp14C8[temp_r23].unk18 = (sp198) ? temp_r31 : temp_r30; - sp14C8[temp_r23].unk1C = 0; - if (sp198) { - temp_r31->unk30 = NULL; - temp_r31->unk34 = NULL; - temp_r31->unk2C = &sp14C8[temp_r23]; - } - else { - temp_r30->unk30 = NULL; - temp_r30->unk34 = NULL; - temp_r30->unk2C = &sp14C8[temp_r23]; - } - temp_r23++; - } - for (temp_r29 = 0; temp_r29 < ((temp_r31 && temp_r31->unk0 == 5) ? 2 : 0) + 2; temp_r29++) { - temp_r30 = (temp_r29 == 0) ? temp_r31->unk48 : ((temp_r29 == 1) ? sp1B0 : ((temp_r29 == 2) ? sp1AC : sp1A8)); - if (temp_r30 && (temp_r30->unk1 & 0x1)) { - if (temp_r29 != 1 || temp_r31->unk1C.y == temp_r30->unk1C.y) { - if (temp_r31->unk0 == temp_r30->unk0) { - if ((temp_r31->unk0 >= 1 && temp_r31->unk0 <= 4) - || (temp_r31->unk0 == 5 && (temp_r31->unk1C.y <= 8.0f || temp_r30->unk1C.y <= 8.0f))) { - StructSp14C8 *temp_r28 = temp_r31->unk2C; - StructSp14C8 *temp_r27 = temp_r30->unk2C; - if (temp_r31->unk2C && temp_r30->unk2C) { - if (temp_r31->unk2C != temp_r30->unk2C) { - StructBss2A6C *sp194 = temp_r28->unk14; - StructBss2A6C *sp190 = temp_r27->unk14; - while (1) { - sp190->unk2C = temp_r28; - if (!sp190->unk34) { - break; - } - sp190 = sp190->unk34; - } - temp_r27->unk14->unk30 = temp_r28->unk18; - temp_r28->unk18->unk34 = temp_r27->unk14; - temp_r28->unk4[0] = (temp_r28->unk4[0] > temp_r27->unk4[0]) ? temp_r28->unk4[0] : temp_r27->unk4[0]; - temp_r28->unk4[1] = (temp_r28->unk4[1] > temp_r27->unk4[1]) ? temp_r28->unk4[1] : temp_r27->unk4[1]; - temp_r28->unk4[2] = (temp_r28->unk4[2] > temp_r27->unk4[2]) ? temp_r28->unk4[2] : temp_r27->unk4[2]; - temp_r28->unk4[3] = (temp_r28->unk4[3] > temp_r27->unk4[3]) ? temp_r28->unk4[3] : temp_r27->unk4[3]; - temp_r28->unk1 = temp_r28->unk1 + temp_r27->unk1; - temp_r28->unk2 |= temp_r27->unk2; - temp_r28->unk18 = sp190; - temp_r27->unk14 = temp_r27->unk18 = NULL; - temp_r27->unk1 = 0; - temp_r27->unk0 = 0; - temp_r27->unk1C = temp_r28; - } - } - else { - if (temp_r31->unk2C) { - temp_r30->unk2C = temp_r31->unk2C; - temp_r28->unk18->unk34 = temp_r30; - temp_r30->unk30 = temp_r28->unk18; - temp_r28->unk18 = temp_r30; - temp_r28->unk1++; - temp_r28->unk2 |= temp_r30->unk3; - temp_r28->unk4[0] = (temp_r28->unk4[0] < temp_r30->unk8[0]) ? temp_r30->unk8[0] : temp_r28->unk4[0]; - temp_r28->unk4[1] = (temp_r28->unk4[1] < temp_r30->unk8[1]) ? temp_r30->unk8[1] : temp_r28->unk4[1]; - temp_r28->unk4[2] = (temp_r28->unk4[2] < temp_r30->unk8[2]) ? temp_r30->unk8[2] : temp_r28->unk4[2]; - temp_r28->unk4[3] = (temp_r28->unk4[3] < temp_r30->unk8[3]) ? temp_r30->unk8[3] : temp_r28->unk4[3]; - } - else if (temp_r30->unk2C) { - temp_r31->unk2C = temp_r30->unk2C; - temp_r27->unk18->unk34 = temp_r31; - temp_r31->unk30 = temp_r27->unk18; - temp_r27->unk18 = temp_r31; - temp_r27->unk1++; - temp_r27->unk2 |= temp_r31->unk3; - temp_r27->unk4[0] = (temp_r27->unk4[0] < temp_r31->unk8[0]) ? temp_r31->unk8[0] : temp_r27->unk4[0]; - temp_r27->unk4[1] = (temp_r27->unk4[1] < temp_r31->unk8[1]) ? temp_r31->unk8[1] : temp_r27->unk4[1]; - temp_r27->unk4[2] = (temp_r27->unk4[2] < temp_r31->unk8[2]) ? temp_r31->unk8[2] : temp_r27->unk4[2]; - temp_r27->unk4[3] = (temp_r27->unk4[3] < temp_r31->unk8[3]) ? temp_r31->unk8[3] : temp_r27->unk4[3]; - } - else { - sp14C8[temp_r23].unk0 = temp_r31->unk0; - sp14C8[temp_r23].unk4[0] - = (temp_r31->unk8[0] > temp_r30->unk8[0]) ? temp_r31->unk8[0] : temp_r30->unk8[0]; - sp14C8[temp_r23].unk4[1] - = (temp_r31->unk8[1] > temp_r30->unk8[1]) ? temp_r31->unk8[1] : temp_r30->unk8[1]; - sp14C8[temp_r23].unk4[2] - = (temp_r31->unk8[2] > temp_r30->unk8[2]) ? temp_r31->unk8[2] : temp_r30->unk8[2]; - sp14C8[temp_r23].unk4[3] - = (temp_r31->unk8[3] > temp_r30->unk8[3]) ? temp_r31->unk8[3] : temp_r30->unk8[3]; - sp14C8[temp_r23].unk1 = 2; - sp14C8[temp_r23].unk2 = (temp_r31->unk3 | temp_r30->unk3); - sp14C8[temp_r23].unk14 = temp_r31; - sp14C8[temp_r23].unk18 = temp_r30; - sp14C8[temp_r23].unk1C = NULL; - temp_r31->unk30 = NULL; - temp_r31->unk34 = temp_r30; - temp_r30->unk30 = temp_r31; - temp_r30->unk34 = NULL; - temp_r31->unk2C = &sp14C8[temp_r23]; - temp_r30->unk2C = &sp14C8[temp_r23]; - temp_r23++; - } - } - } - } - } - } - } - } - } - } - for (temp_r29 = 0; temp_r29 < temp_r23; temp_r29++) { - StructBss2A6C *sp18C; - if (sp14C8[temp_r29].unk0 != 5) { - continue; - } - sp18C = sp14C8[temp_r29].unk14; - for (temp_r19 = 0; temp_r19 < sp14C8[temp_r29].unk1; temp_r19++) { - s32 temp_r24 = sp18C->unk18 + 1; - s32 temp_r25 = (int)sp18C->unk1C.y + 1; - if (sp14C8[temp_r29].unk0 != 0 && temp_r25 <= 9) { - if (!CHECK_2E48(temp_r24, temp_r25, sp2E48)) { - sp14C8[temp_r29].unk0 = 0; - } - else { - sp14C8[temp_r29].unk2 |= ((sp2E48[temp_r24 - 1][temp_r25]) ? sp2E48[temp_r24 - 1][temp_r25]->unk3 : 0) - | ((sp2E48[temp_r24 + 1][temp_r25]) ? sp2E48[temp_r24 + 1][temp_r25]->unk3 : 0) - | ((sp2E48[temp_r24][temp_r25 - 1]) ? sp2E48[temp_r24][temp_r25 - 1]->unk3 : 0) - | ((sp2E48[temp_r24][temp_r25 + 1]) ? sp2E48[temp_r24][temp_r25 + 1]->unk3 : 0) - | ((sp2E48[temp_r24 + 1][temp_r25 - 1]) ? sp2E48[temp_r24 + 1][temp_r25 - 1]->unk3 : 0) - | ((sp2E48[temp_r24 + 1][temp_r25 + 1]) ? sp2E48[temp_r24 + 1][temp_r25 + 1]->unk3 : 0) - | ((sp2E48[temp_r24 - 1][temp_r25 - 1]) ? sp2E48[temp_r24 - 1][temp_r25 - 1]->unk3 : 0) - | ((sp2E48[temp_r24 - 1][temp_r25 + 1]) ? sp2E48[temp_r24 - 1][temp_r25 + 1]->unk3 : 0); - } - sp18C = sp18C->unk34; - if (!sp18C) { - break; - } - } - } - } - for (temp_r29 = 0; temp_r29 < temp_r23; temp_r29++) { - if ((sp14C8[temp_r29].unk0 >= 1 && sp14C8[temp_r29].unk0 <= 4 && sp14C8[temp_r29].unk1 >= 3) || sp14C8[temp_r29].unk0 == 5) { - fn_1_38C(&sp14C8[temp_r29].unk2, sp14C8[temp_r29].unk4); - } - } - sp1B4 = 1; - while (sp1B4 >= 0) { - s32 temp_r22 = 0; - s32 sp188 = 0; - for (temp_r29 = 0; temp_r29 < temp_r23; temp_r29++) { - if ((!sp1B4 && (sp14C8[temp_r29].unk0 >= 1 && sp14C8[temp_r29].unk0 <= 4 && sp14C8[temp_r29].unk1 >= 3)) - || (sp1B4 == 1 && sp14C8[temp_r29].unk0 == 5)) { - StructBss2A6C *temp_r26 = sp14C8[temp_r29].unk14; - s32 sp184 = 0; - s32 sp180 = 0; - float temp_f31 = -1; - float temp_f30 = -1; - if (sp14C8[temp_r29].unk0 == 5) { - lbl_1_bss_D0++; - lbl_1_bss_D0 %= 5; - lbl_1_bss_D4[lbl_1_bss_D0][1] = 1; - lbl_1_bss_D4[lbl_1_bss_D0][0] = 0; - for (temp_r19 = 0; temp_r19 < 10; temp_r19++) { - Hu3DModelAttrSet(lbl_1_bss_30->model[((lbl_1_bss_D0 * 10) + 13 + temp_r19)], HU3D_ATTR_DISPOFF); - } - } - for (temp_r19 = 0; temp_r19 < sp14C8[temp_r29].unk1; temp_r19++) { - if (-1.0f == temp_f31) { - sp180 = 1; - temp_f31 = temp_r26->unk18; - temp_f30 = temp_r26->unk1C.y; - } - else { - sp180++; - temp_f31 = (temp_f31 * (1.0 - (1.0 / sp180))) + (temp_r26->unk18 * (1.0 / sp180)); - temp_f30 = (temp_f30 * (1.0 - (1.0 / sp180))) + (temp_r26->unk1C.y * (1.0 / sp180)); - } - if (sp14C8[temp_r29].unk0 == 5) { - if (lbl_1_bss_D4[lbl_1_bss_D0][0] < 10) { - Hu3DModelPosSet(lbl_1_bss_30->model[((lbl_1_bss_D0 * 10) + 13 + lbl_1_bss_D4[lbl_1_bss_D0][0])], - (((temp_r26->unk18 * 100) - 500.0) - 50.0), 50.0f + ((100.0f * temp_r26->unk1C.y) - 500.0f), 120); - Hu3DModelAttrReset( - lbl_1_bss_30->model[((lbl_1_bss_D0 * 10) + 13 + lbl_1_bss_D4[lbl_1_bss_D0][0])], HU3D_ATTR_DISPOFF); - Hu3DMotionTimeSet(lbl_1_bss_30->model[((lbl_1_bss_D0 * 10) + 13 + lbl_1_bss_D4[lbl_1_bss_D0][0])], 2.0f); - lbl_1_bss_D4[lbl_1_bss_D0][0]++; - lbl_1_bss_B8.unk4 += 4; - if (lbl_1_bss_D4[lbl_1_bss_D0][0] == 1) { - lbl_1_bss_B8.unk4 += 7; - } - } - fn_1_8AC8(temp_r26->unk38, &sp14C8[temp_r29]); - fn_1_8AC8((temp_r26->unk44 && temp_r26->unk44->unk38) ? temp_r26->unk44->unk38 : temp_r26->unk44, &sp14C8[temp_r29]); - fn_1_8AC8((temp_r26->unk40 && temp_r26->unk40->unk38) ? temp_r26->unk40->unk38 : temp_r26->unk40, &sp14C8[temp_r29]); - spD58[temp_r22] = temp_r26->unk38; - temp_r22++; - spD58[temp_r22] = temp_r26->unk3C; - temp_r22++; - if (temp_r26->unk44) { - spD58[temp_r22] = temp_r26->unk44->unk38; - temp_r22++; - spD58[temp_r22] = temp_r26->unk44->unk3C; - temp_r22++; - } - spD58[temp_r22] = temp_r26->unk44; - temp_r22++; - if (temp_r26->unk40) { - spD58[temp_r22] = temp_r26->unk40->unk38; - temp_r22++; - spD58[temp_r22] = temp_r26->unk40->unk3C; - temp_r22++; - } - spD58[temp_r22] = temp_r26->unk40; - temp_r22++; - spD58[temp_r22] = temp_r26; - temp_r22++; - } - else { - fn_1_8AC8(temp_r26, &sp14C8[temp_r29]); - sp184 += fn_1_7F8(temp_r26, &sp14C8[temp_r29]); - } - temp_r26 = temp_r26->unk34; - if (!temp_r26) { - break; - } - } - if (sp14C8[temp_r29].unk0 == 5 && (sp14C8[temp_r29].unk2 & 0xF)) { - Work19C8 *sp220[4]; - s32 sp17C; - for (sp17C = 0; sp17C < 4; sp17C++) { - if ((1 << sp17C) & (sp14C8[temp_r29].unk2)) { - sp220[sp17C] = lbl_1_bss_34[sp17C]->data; - omVibrate(sp220[sp17C]->unk14, 12, 6, 6); - } - } - } - if (lbl_1_bss_48[(sp14C8[temp_r29].unk0 == 5) ? 0 : 1].unk0 < 3) { - lbl_1_bss_48[(sp14C8[temp_r29].unk0 == 5) ? 0 : 1].unk4[lbl_1_bss_48[(sp14C8[temp_r29].unk0 == 5) ? 0 : 1].unk0] - = 0.45 * (((temp_f31 - 5.0) - 0.5) / 5.5); - lbl_1_bss_48[(sp14C8[temp_r29].unk0 == 5) ? 0 : 1].unk0++; - } - if (sp1B4 == 0 && sp184 > 0 && lbl_1_bss_18 == -1) { - s32 sp178 = 0; - s32 sp174 = fn_1_4C0(&sp14C8[temp_r29].unk2, sp14C8[temp_r29].unk4); - Vec sp214 = { 0, 0, 50 }; - s32 temp_r17; - for (temp_r17 = 0; temp_r17 < 4; temp_r17++) { - sp178 += ((1 << temp_r17) != 0) & sp14C8[temp_r29].unk2; - } - sp178--; - sp214.x = (100.0f * temp_f31) - 500.0; - sp214.y = 100 + ((100 * temp_f30) - 500); - sp214.x += sp178 * 12; - sp214.y -= sp178 * 30; - for (temp_r17 = 3; temp_r17 >= 0; temp_r17--) { - if ((1 << temp_r17) & sp14C8[temp_r29].unk2) { - Vec sp208; - lbl_1_bss_2684[lbl_1_bss_2680].unkC = 1; - lbl_1_bss_2684[lbl_1_bss_2680].unk8 = sp184; - lbl_1_bss_2684[lbl_1_bss_2680].unk10 = 1 << temp_r17; - Hu3D3Dto2D(&sp214, 1, &sp208); - lbl_1_bss_2684[lbl_1_bss_2680].unk0 = sp208.x; - lbl_1_bss_2684[lbl_1_bss_2680].unk4 = sp208.y; - lbl_1_bss_2680++; - lbl_1_bss_2680 %= 50; - sp214.x -= 24.0f; - sp214.y += 60.0f; - } - } - sp174 = (sp174 > 3) ? 3 : sp174; - if (lbl_1_bss_48[sp174 + 3].unk0 < 3) { - lbl_1_bss_48[sp174 + 3].unk4[lbl_1_bss_48[sp174 + 3].unk0] = 0.45 * (((temp_f31 - 5.0) - 0.5) / 5.5); - lbl_1_bss_48[sp174 + 3].unk0++; - } - } - spA28[sp188] = &sp14C8[temp_r29]; - sp230[sp188] = temp_r22; - sp6F8[sp188] = temp_f31; - sp3C8[sp188] = temp_f30; - sp188++; - } - } - for (temp_r29 = 0; temp_r29 < sp188; temp_r29++) { - s32 sp170 = 0; - - for (temp_r19 = (temp_r29 < 1) ? 0 : sp230[temp_r29 - 1]; temp_r19 < sp230[temp_r29]; temp_r19++) { - sp170 += fn_1_7F8(spD58[temp_r19], spA28[temp_r29]); - } - if (sp1B4 == 1 && sp170 > 0 && lbl_1_bss_18 == -1) { - s32 sp16C; - s32 sp168 = 0; - s32 sp164 = fn_1_4C0(&spA28[temp_r29]->unk2, spA28[temp_r29]->unk4); - Vec sp1FC = { 0, 0, 50 }; - for (sp16C = 0; sp16C < 4; sp16C++) { - sp168 += ((1 << sp16C) != 0) & spA28[temp_r29]->unk2; - } - sp168--; - sp1FC.x = (100.0f * sp6F8[temp_r29]) - 500.0; - sp1FC.y = 100 + ((100 * sp3C8[temp_r29]) - 500); - sp1FC.x += sp168 * 12; - sp1FC.y -= sp168 * 30; - for (sp16C = 3; sp16C >= 0; sp16C--) { - if ((1 << sp16C) & spA28[temp_r29]->unk2) { - Vec sp1F0; - lbl_1_bss_2684[lbl_1_bss_2680].unkC = 1; - lbl_1_bss_2684[lbl_1_bss_2680].unk8 = sp170; - lbl_1_bss_2684[lbl_1_bss_2680].unk10 = 1 << sp16C; - Hu3D3Dto2D(&sp1FC, 1, &sp1F0); - lbl_1_bss_2684[lbl_1_bss_2680].unk0 = sp1F0.x; - lbl_1_bss_2684[lbl_1_bss_2680].unk4 = sp1F0.y; - lbl_1_bss_2680++; - lbl_1_bss_2680 %= 50; - sp1FC.x -= 24.0f; - sp1FC.y += 60.0f; - } - } - sp164 = (sp164 > 3) ? 3 : sp164; - if (lbl_1_bss_48[sp164 + 3].unk0 < 3) { - lbl_1_bss_48[sp164 + 3].unk4[lbl_1_bss_48[sp164 + 3].unk0] = 0.45 * (((sp6F8[temp_r29] - 5.0) - 0.5) / 5.5); - lbl_1_bss_48[sp164 + 3].unk0++; - } - } - } - sp1B4--; - } - } + omObjData *sp1EC = lbl_1_bss_30; + StructBss2A6C *sp2E48[14][19] = {}; + StructBss2A6C *sp1E8 = NULL; + StructBss2A6C *temp_r31; + StructBss2A6C *temp_r30; + s32 temp_r29; + s32 temp_r23; + s32 temp_r19; + s32 temp_r18; + float temp_f31; + float temp_f30; + float temp_f29; + + StructSp14C8 sp14C8[204]; + StructBss2A6C *spD58[476]; + StructSp14C8 *spA28[204]; + float sp6F8[204]; + float sp3C8[204]; + s16 sp230[204]; + + for(temp_r18=0; temp_r18<12; temp_r18++) { + for(temp_r31 = lbl_1_bss_7884[temp_r18]; temp_r31; temp_r31=temp_r31->unk48) { + s32 sp1E4 = temp_r31->unk1; + s32 sp1E0 = (((sp1E4 & 0x2) == 0 && (arg0 == 4)) || ((sp1E4 & 0x2) && (temp_r31->unk3 & (1 << arg0)))); + temp_f29 = (sp1E0) ? temp_r31->unk1C.z : 0; + temp_r31->unk2C = (void *)(temp_r31->unk30 = temp_r31->unk34 = NULL); + temp_r31->unk38 = temp_r31->unk3C = temp_r31->unk40 = temp_r31->unk44 = NULL; + if(arg0 == 4) { + temp_r31->unk5 +=temp_r31->unk4 != 0 && temp_r31->unk5 != 0; + temp_r31->unk5 = (temp_r31->unk4 == 0 || (temp_r31->unk5 > (((temp_r31->unk4-1)/4 == 1) ? 15 : 15))) ? 0 : temp_r31->unk5; + temp_r31->unk4 = (temp_r31->unk5 == 0) ? 0 : temp_r31->unk4; + temp_r31->unk1C.x = (0.5*temp_r31->unk18)+(0.5*temp_r31->unk1C.x); + } + if(temp_r31->unk0) { + s32 sp1DC = 0; + StructBss2A6C *sp1D8; + if((temp_r31->unk1 & 0x1) && temp_r31->unk1C.y == 0.0f && !temp_r31->unk4C) { + sp1DC = 1; + sp1D8 = NULL; + } else if((temp_r31->unk1 & 0x1) && temp_r31->unk4C && (temp_r31->unk4C->unk1C.y == temp_r31->unk1C.y-1.0f)) { + sp1DC = 2; + sp1D8 = temp_r31->unk4C; + } else { + if(fn_1_57C(temp_r18, temp_r31->unk1C.y+temp_f29, temp_r31, &sp1D8)) { + if(!sp1D8 || temp_r31->unk1C.y+temp_f29 >= sp1D8->unk1C.y) { + sp1DC = 2; + } + } + } + if(sp1DC != 0) { + if(temp_r31->unk1 & 0x2) { + float temp_f28 = (temp_r31->unk1C.y+temp_f29)-((!sp1D8) ? 0.0f : (1.0f+sp1D8->unk1C.y)); + temp_f28 = temp_r31->unk1C.y-((!sp1D8) ? 0.0f : (1.0f+sp1D8->unk1C.y)); + if(temp_r31->unk50->unk48[0]->unk18 != temp_r31->unk50->unk48[1]->unk18) { + temp_r31->unk50->unk48[0]->unk1C.y = ((!sp1D8) ? 0.0f : (1.0f+sp1D8->unk1C.y)); + temp_r31->unk50->unk48[1]->unk1C.y = ((!sp1D8) ? 0.0f : (1.0f+sp1D8->unk1C.y)); + } else { + temp_r31->unk50->unk48[0]->unk1C.y -= temp_f28; + temp_r31->unk50->unk48[1]->unk1C.y -= temp_f28; + } + temp_r31->unk50->unk48[0]->unk1C.z = 0; + temp_r31->unk50->unk48[1]->unk1C.z = 0; + if(sp1E0) { + if(!sp1D8 || ((sp1D8->unk1 & 0x1) && (sp1D8->unk1 & 0x2) == 0)) { + temp_r31->unk50->unk71 -= (temp_r31->unk50->unk71 != 0 && lbl_1_bss_18 == -1); + + } + } + if(temp_r31->unk50->unk71 == 0 || temp_r31->unk50->unk4 != 0 && (!sp1D8 || ((sp1D8->unk1 & 0x1) && (sp1D8->unk1 & 0x2) == 0))) { + temp_r31->unk50->unk48[0]->unk1 &= ~0x2; + temp_r31->unk50->unk48[1]->unk1 &= ~0x2; + temp_r31->unk50->unk48[0]->unk1 |= 0x10; + temp_r31->unk50->unk48[1]->unk1 |= 0x10; + temp_r31->unk1 |= 0x1; + if(temp_r31->unk50->unk48[0]->unk18 != temp_r31->unk50->unk48[1]->unk18) { + s32 sp1D4; + s32 sp1D0 = (temp_r31 == temp_r31->unk50->unk48[1]) ? 1 : 0; + s32 sp1CC = temp_r31->unk50->unk48[sp1D0]->unk18; + s32 sp1C8 = temp_r31->unk50->unk48[1-sp1D0]->unk18; + float sp1C4 = temp_r31->unk50->unk48[sp1D0]->unk1C.y; + float sp1C0 = temp_r31->unk50->unk48[1-sp1D0]->unk1C.y; + sp1D4 = (sp1CC < sp1C8 || (sp1CC == sp1C8 && sp1C4 < sp1C0)) ? 1 : 0; + if(sp1D4 == 1) { + StructBss2A6C *temp_r21 = temp_r31->unk50->unk48[1-sp1D0]; + StructBss2A6C *temp_r20 = (temp_r21) ? temp_r21->unk4C : NULL; + if(temp_r21) { + if((!temp_r20 && temp_r21->unk1C.y == 0.0f) || (temp_r20 && temp_r21->unk1C.y == temp_r20->unk1C.y+1.0f && (temp_r20->unk1 & 0x1) && (temp_r20->unk1 & 0x2) == 0)) { + temp_r21->unk1C.y = (temp_r20) ? (temp_r20->unk1C.y+1.0f) : 0.0f; + temp_r21->unk1 &= ~0x1; + temp_r21->unk1 |= (temp_r20 && ((temp_r20->unk1 & 0x1) == 0 || (temp_r20->unk1 & 0x2) != 0)) ? 0 : 1; + temp_r21->unk1C.z = (temp_r21->unk1 & 0x1) ? -0.010416667f : ((!temp_r20) ? -0.010416667f : temp_r20->unk1C.z); + sp1E8 = temp_r21; + } + } + } + } + temp_r31->unk4 = temp_r31->unk5 = 0; + if(temp_r31->unk50->unk48[0]->unk18 == temp_r31->unk50->unk48[1]->unk18) { + s32 sp1BC = (temp_r31->unk50->unk48[1] == temp_r31) ? 1 : 0; + s32 sp1B8 = temp_r31->unk50->unk48[0]->unk1C.y > temp_r31->unk50->unk48[1]->unk1C.y; + temp_r31->unk50->unk48[1-sp1B8]->unk1C.y = 1+temp_r31->unk50->unk48[sp1B8]->unk1C.y; + temp_r31->unk50->unk48[1-sp1B8]->unk1C.z = -0.010416667f; + temp_r31->unk50->unk48[0]->unk1 |= 0x1; + temp_r31->unk50->unk48[1]->unk1 |= 0x1; + temp_r31->unk50->unk48[0]->unk4 = temp_r31->unk50->unk48[0]->unk5 = 0; + temp_r31->unk50->unk48[1]->unk4 = temp_r31->unk50->unk48[1]->unk5 = 0; + temp_r31->unk38 = (temp_r31->unk50->unk48[1] == temp_r31) ? temp_r31->unk50->unk48[0] : temp_r31->unk50->unk48[1]; + if(sp1BC) { + temp_r31->unk50->unk48[0]->unk1 |= 0x8; + } else { + temp_r31->unk50->unk48[1]->unk1 |= 0x8; + } + + } + temp_r31->unk50->unk48[0] = NULL; + temp_r31->unk50->unk48[1] = NULL; + } + } else { + temp_r31->unk1C.y = (sp1D8) ? (1.0f+sp1D8->unk1C.y) : 0.0f; + temp_r31->unk1 &= ~0x1; + temp_r31->unk1 |= (sp1D8 && ((sp1D8->unk1 & 0x1) == 0 || (sp1D8->unk1 & 0x2) != 0)) ? 0 : 1; + temp_r31->unk1C.z = (temp_r31->unk1 & 0x1) ? -0.010416667f : ((!sp1D8) ? -0.010416667f : sp1D8->unk1C.z); + } + } else { + temp_r31->unk1C.y += temp_f29; + temp_r31->unk1C.z = (sp1E0) ? ((temp_r31->unk1 & 0x3) ? 0.0f : -0.010416667f+temp_r31->unk1C.z) : temp_r31->unk1C.z; + if(temp_r31->unk1 & 0x1) { + temp_r31->unk1 &= ~0x1; + } + } + } + if((temp_r31->unk1 & 0x1) && (sp1E4 & 0x1) && (temp_r31->unk1 & 0x8) == 0 && temp_r31 != sp1E8) { + temp_r31->unk8[0] = temp_r31->unk8[1] = temp_r31->unk8[2] = temp_r31->unk8[3] = 0; + temp_r31->unk3 = 0; + temp_r31->unk1 &= ~0x10; + } + temp_r31->unk1 &= ~0x8; + if((temp_r31->unk1 & 0x1) && (temp_r31->unk1 & 0x2) == 0) { + sp2E48[temp_r31->unk18+1][(int)temp_r31->unk1C.y+1] = temp_r31; + } + if(temp_r31->unk1 & 0x2) { + temp_r31->unk1C.z = 0; + } + } + } + temp_r23 = 0; + { + s32 sp1B4; + for(temp_r18=0; temp_r18<12; temp_r18++) { + StructBss2A6C *sp1B0 = (temp_r18 < 11) ? lbl_1_bss_7884[temp_r18+1] : NULL; + StructBss2A6C *sp1AC = NULL; + StructBss2A6C *sp1A8 = NULL; + float sp1A4 = (sp1B0) ? (sp1B0->unk1C.y) : 0.0f; + for(temp_r31 = lbl_1_bss_7884[temp_r18]; temp_r31; temp_r31=temp_r31->unk48) { + s32 sp1A0 = temp_r31->unk18+1; + s32 sp19C = (int)temp_r31->unk1C.y+1; + if((temp_r31->unk1 & 0x1) && (temp_r31->unk1 & 0x2) == 0) { + if(sp2E48[sp1A0][sp19C+1]) { + temp_r31->unk38 = sp2E48[sp1A0][sp19C+1]; + temp_r31->unk38->unk3C = temp_r31; + } + if(sp2E48[sp1A0+1][sp19C]) { + sp1B0 = sp2E48[sp1A0+1][sp19C]; + temp_r31->unk44 = sp1B0; + temp_r31->unk44->unk40 = temp_r31; + } + sp1AC = sp2E48[sp1A0+1][sp19C+1]; + sp1A8 = sp2E48[sp1A0+1][sp19C-1]; + if(temp_r31->unk0 == 5 && temp_r31->unk2C == NULL && temp_r31->unk1C.y <= 8.0f && sp19C-1 < 9) { + s32 sp198 = temp_r31->unk0 == 5; + sp14C8[temp_r23].unk0 = 5; + sp14C8[temp_r23].unk4[0] = (sp198) ? temp_r31->unk8[0] : temp_r30->unk8[0]; + sp14C8[temp_r23].unk4[1] = (sp198) ? temp_r31->unk8[0] : temp_r30->unk8[1]; + sp14C8[temp_r23].unk4[2] = (sp198) ? temp_r31->unk8[0] : temp_r30->unk8[2]; + sp14C8[temp_r23].unk4[3] = (sp198) ? temp_r31->unk8[0] : temp_r30->unk8[3]; + sp14C8[temp_r23].unk1 = 1; + sp14C8[temp_r23].unk2 = 0; + sp14C8[temp_r23].unk14 = (sp198) ? temp_r31 : temp_r30; + sp14C8[temp_r23].unk18 = (sp198) ? temp_r31 : temp_r30; + sp14C8[temp_r23].unk1C = 0; + if(sp198) { + temp_r31->unk30 = NULL; + temp_r31->unk34 = NULL; + temp_r31->unk2C = &sp14C8[temp_r23]; + } else { + temp_r30->unk30 = NULL; + temp_r30->unk34 = NULL; + temp_r30->unk2C = &sp14C8[temp_r23]; + } + temp_r23++; + } + for(temp_r29=0; temp_r29<((temp_r31 && temp_r31->unk0 == 5) ? 2 : 0)+2; temp_r29++) { + temp_r30 = (temp_r29 == 0) ? temp_r31->unk48 : ((temp_r29 == 1) ? sp1B0 : ((temp_r29 == 2) ? sp1AC : sp1A8)); + if(temp_r30 && (temp_r30->unk1 & 0x1)) { + if(temp_r29 != 1 || temp_r31->unk1C.y == temp_r30->unk1C.y) { + if(temp_r31->unk0 == temp_r30->unk0) { + if((temp_r31->unk0 >= 1 && temp_r31->unk0 <= 4) || (temp_r31->unk0 == 5 && (temp_r31->unk1C.y <= 8.0f || temp_r30->unk1C.y <= 8.0f))) { + StructSp14C8 *temp_r28 = temp_r31->unk2C; + StructSp14C8 *temp_r27 = temp_r30->unk2C; + if(temp_r31->unk2C && temp_r30->unk2C) { + if(temp_r31->unk2C != temp_r30->unk2C) { + StructBss2A6C *sp194 = temp_r28->unk14; + StructBss2A6C *sp190 = temp_r27->unk14; + while(1) { + sp190->unk2C = temp_r28; + if(!sp190->unk34) { + break; + } + sp190 = sp190->unk34; + } + temp_r27->unk14->unk30 = temp_r28->unk18; + temp_r28->unk18->unk34 = temp_r27->unk14; + temp_r28->unk4[0] = (temp_r28->unk4[0] > temp_r27->unk4[0]) ? temp_r28->unk4[0] : temp_r27->unk4[0]; + temp_r28->unk4[1] = (temp_r28->unk4[1] > temp_r27->unk4[1]) ? temp_r28->unk4[1] : temp_r27->unk4[1]; + temp_r28->unk4[2] = (temp_r28->unk4[2] > temp_r27->unk4[2]) ? temp_r28->unk4[2] : temp_r27->unk4[2]; + temp_r28->unk4[3] = (temp_r28->unk4[3] > temp_r27->unk4[3]) ? temp_r28->unk4[3] : temp_r27->unk4[3]; + temp_r28->unk1 = temp_r28->unk1+temp_r27->unk1; + temp_r28->unk2 |= temp_r27->unk2; + temp_r28->unk18 = sp190; + temp_r27->unk14 = temp_r27->unk18 = NULL; + temp_r27->unk1 = 0; + temp_r27->unk0 = 0; + temp_r27->unk1C = temp_r28; + } + } else { + if(temp_r31->unk2C) { + temp_r30->unk2C = temp_r31->unk2C; + temp_r28->unk18->unk34 = temp_r30; + temp_r30->unk30 = temp_r28->unk18; + temp_r28->unk18 = temp_r30; + temp_r28->unk1++; + temp_r28->unk2 |= temp_r30->unk3; + temp_r28->unk4[0] = (temp_r28->unk4[0] < temp_r30->unk8[0]) ? temp_r30->unk8[0] : temp_r28->unk4[0]; + temp_r28->unk4[1] = (temp_r28->unk4[1] < temp_r30->unk8[1]) ? temp_r30->unk8[1] : temp_r28->unk4[1]; + temp_r28->unk4[2] = (temp_r28->unk4[2] < temp_r30->unk8[2]) ? temp_r30->unk8[2] : temp_r28->unk4[2]; + temp_r28->unk4[3] = (temp_r28->unk4[3] < temp_r30->unk8[3]) ? temp_r30->unk8[3] : temp_r28->unk4[3]; + } else if(temp_r30->unk2C) { + temp_r31->unk2C = temp_r30->unk2C; + temp_r27->unk18->unk34 = temp_r31; + temp_r31->unk30 = temp_r27->unk18; + temp_r27->unk18 = temp_r31; + temp_r27->unk1++; + temp_r27->unk2 |= temp_r31->unk3; + temp_r27->unk4[0] = (temp_r27->unk4[0] < temp_r31->unk8[0]) ? temp_r31->unk8[0] : temp_r27->unk4[0]; + temp_r27->unk4[1] = (temp_r27->unk4[1] < temp_r31->unk8[1]) ? temp_r31->unk8[1] : temp_r27->unk4[1]; + temp_r27->unk4[2] = (temp_r27->unk4[2] < temp_r31->unk8[2]) ? temp_r31->unk8[2] : temp_r27->unk4[2]; + temp_r27->unk4[3] = (temp_r27->unk4[3] < temp_r31->unk8[3]) ? temp_r31->unk8[3] : temp_r27->unk4[3]; + } else { + sp14C8[temp_r23].unk0 = temp_r31->unk0; + sp14C8[temp_r23].unk4[0] = (temp_r31->unk8[0] > temp_r30->unk8[0]) ? temp_r31->unk8[0] : temp_r30->unk8[0]; + sp14C8[temp_r23].unk4[1] = (temp_r31->unk8[1] > temp_r30->unk8[1]) ? temp_r31->unk8[1] : temp_r30->unk8[1]; + sp14C8[temp_r23].unk4[2] = (temp_r31->unk8[2] > temp_r30->unk8[2]) ? temp_r31->unk8[2] : temp_r30->unk8[2]; + sp14C8[temp_r23].unk4[3] = (temp_r31->unk8[3] > temp_r30->unk8[3]) ? temp_r31->unk8[3] : temp_r30->unk8[3]; + sp14C8[temp_r23].unk1 = 2; + sp14C8[temp_r23].unk2 = (temp_r31->unk3 | temp_r30->unk3); + sp14C8[temp_r23].unk14 = temp_r31; + sp14C8[temp_r23].unk18 = temp_r30; + sp14C8[temp_r23].unk1C = NULL; + temp_r31->unk30 = NULL; + temp_r31->unk34 = temp_r30; + temp_r30->unk30 = temp_r31; + temp_r30->unk34 = NULL; + temp_r31->unk2C = &sp14C8[temp_r23]; + temp_r30->unk2C = &sp14C8[temp_r23]; + temp_r23++; + } + } + } + } + } + } + } + } + } + } + for(temp_r29=0; temp_r29unk18+1; + s32 temp_r25 = (int)sp18C->unk1C.y+1; + if(sp14C8[temp_r29].unk0 != 0 && temp_r25 <= 9) { + if(!CHECK_2E48(temp_r24, temp_r25, sp2E48)) { + sp14C8[temp_r29].unk0 = 0; + } else { + sp14C8[temp_r29].unk2 |= + ((sp2E48[temp_r24-1][temp_r25]) ? sp2E48[temp_r24-1][temp_r25]->unk3 : 0) | + ((sp2E48[temp_r24+1][temp_r25]) ? sp2E48[temp_r24+1][temp_r25]->unk3 : 0) | + ((sp2E48[temp_r24][temp_r25-1]) ? sp2E48[temp_r24][temp_r25-1]->unk3 : 0) | + ((sp2E48[temp_r24][temp_r25+1]) ? sp2E48[temp_r24][temp_r25+1]->unk3 : 0) | + ((sp2E48[temp_r24+1][temp_r25-1]) ? sp2E48[temp_r24+1][temp_r25-1]->unk3 : 0) | + ((sp2E48[temp_r24+1][temp_r25+1]) ? sp2E48[temp_r24+1][temp_r25+1]->unk3 : 0) | + ((sp2E48[temp_r24-1][temp_r25-1]) ? sp2E48[temp_r24-1][temp_r25-1]->unk3 : 0) | + ((sp2E48[temp_r24-1][temp_r25+1]) ? sp2E48[temp_r24-1][temp_r25+1]->unk3 : 0); + } + sp18C = sp18C->unk34; + if(!sp18C) { + break; + } + } + } + } + for(temp_r29=0; temp_r29= 1 && sp14C8[temp_r29].unk0 <= 4 && sp14C8[temp_r29].unk1 >= 3) || sp14C8[temp_r29].unk0 == 5) { + fn_1_38C(&sp14C8[temp_r29].unk2, sp14C8[temp_r29].unk4); + } + } + sp1B4 = 1; + while(sp1B4 >= 0) { + s32 temp_r22 = 0; + s32 sp188 = 0; + for(temp_r29=0; temp_r29= 1 && sp14C8[temp_r29].unk0 <= 4 && sp14C8[temp_r29].unk1 >= 3)) || (sp1B4 == 1 && sp14C8[temp_r29].unk0 == 5)) { + StructBss2A6C *temp_r26 = sp14C8[temp_r29].unk14; + s32 sp184 = 0; + s32 sp180 = 0; + float temp_f31 = -1; + float temp_f30 = -1; + if(sp14C8[temp_r29].unk0 == 5) { + lbl_1_bss_D0++; + lbl_1_bss_D0 %= 5; + lbl_1_bss_D4[lbl_1_bss_D0][1] = 1; + lbl_1_bss_D4[lbl_1_bss_D0][0] = 0; + for(temp_r19=0; temp_r19<10; temp_r19++) { + Hu3DModelAttrSet(lbl_1_bss_30->model[((lbl_1_bss_D0*10)+13+temp_r19)], 1); + } + } + for(temp_r19=0; temp_r19unk18; + temp_f30 = temp_r26->unk1C.y; + } else { + sp180++; + temp_f31 = (temp_f31*(1.0-(1.0/sp180)))+(temp_r26->unk18*(1.0/sp180)); + temp_f30 = (temp_f30*(1.0-(1.0/sp180)))+(temp_r26->unk1C.y*(1.0/sp180)); + } + if(sp14C8[temp_r29].unk0 == 5) { + if(lbl_1_bss_D4[lbl_1_bss_D0][0] < 10) { + Hu3DModelPosSet(lbl_1_bss_30->model[((lbl_1_bss_D0*10)+13+lbl_1_bss_D4[lbl_1_bss_D0][0])], (((temp_r26->unk18*100)-500.0)-50.0), 50.0f+((100.0f*temp_r26->unk1C.y)-500.0f), 120); + Hu3DModelAttrReset(lbl_1_bss_30->model[((lbl_1_bss_D0*10)+13+lbl_1_bss_D4[lbl_1_bss_D0][0])], 1); + Hu3DMotionTimeSet(lbl_1_bss_30->model[((lbl_1_bss_D0*10)+13+lbl_1_bss_D4[lbl_1_bss_D0][0])], 2.0f); + lbl_1_bss_D4[lbl_1_bss_D0][0]++; + lbl_1_bss_B8.unk4 += 4; + if(lbl_1_bss_D4[lbl_1_bss_D0][0] == 1) { + lbl_1_bss_B8.unk4 += 7; + } + } + fn_1_8AC8(temp_r26->unk38, &sp14C8[temp_r29]); + fn_1_8AC8((temp_r26->unk44 && temp_r26->unk44->unk38) ? temp_r26->unk44->unk38 : temp_r26->unk44, &sp14C8[temp_r29]); + fn_1_8AC8((temp_r26->unk40 && temp_r26->unk40->unk38) ? temp_r26->unk40->unk38 : temp_r26->unk40, &sp14C8[temp_r29]); + spD58[temp_r22] = temp_r26->unk38; + temp_r22++; + spD58[temp_r22] = temp_r26->unk3C; + temp_r22++; + if(temp_r26->unk44) { + spD58[temp_r22] = temp_r26->unk44->unk38; + temp_r22++; + spD58[temp_r22] = temp_r26->unk44->unk3C; + temp_r22++; + } + spD58[temp_r22] = temp_r26->unk44; + temp_r22++; + if(temp_r26->unk40) { + spD58[temp_r22] = temp_r26->unk40->unk38; + temp_r22++; + spD58[temp_r22] = temp_r26->unk40->unk3C; + temp_r22++; + } + spD58[temp_r22] = temp_r26->unk40; + temp_r22++; + spD58[temp_r22] = temp_r26; + temp_r22++; + } else { + fn_1_8AC8(temp_r26, &sp14C8[temp_r29]); + sp184 += fn_1_7F8(temp_r26, &sp14C8[temp_r29]); + } + temp_r26 = temp_r26->unk34; + if(!temp_r26) { + break; + } + } + if(sp14C8[temp_r29].unk0 == 5 && (sp14C8[temp_r29].unk2 & 0xF)) { + Work19C8 *sp220[4]; + s32 sp17C; + for(sp17C=0; sp17C<4; sp17C++) { + if((1 << sp17C) & (sp14C8[temp_r29].unk2)) { + sp220[sp17C] = lbl_1_bss_34[sp17C]->data; + omVibrate(sp220[sp17C]->unk14, 12, 6, 6); + } + } + } + if(lbl_1_bss_48[(sp14C8[temp_r29].unk0 == 5) ? 0 : 1].unk0 < 3) { + lbl_1_bss_48[(sp14C8[temp_r29].unk0 == 5) ? 0 : 1].unk4[lbl_1_bss_48[(sp14C8[temp_r29].unk0 == 5) ? 0 : 1].unk0] = 0.45*(((temp_f31-5.0)-0.5)/5.5); + lbl_1_bss_48[(sp14C8[temp_r29].unk0 == 5) ? 0 : 1].unk0++; + } + if(sp1B4 == 0 && sp184 > 0 && lbl_1_bss_18 == -1) { + s32 sp178 = 0; + s32 sp174 = fn_1_4C0(&sp14C8[temp_r29].unk2, sp14C8[temp_r29].unk4); + Vec sp214 = { 0, 0, 50 }; + s32 temp_r17; + for(temp_r17=0; temp_r17<4; temp_r17++) { + sp178 += ((1 << temp_r17) != 0) & sp14C8[temp_r29].unk2; + } + sp178--; + sp214.x = (100.0f*temp_f31)-500.0; + sp214.y = 100+((100*temp_f30)-500); + sp214.x += sp178*12; + sp214.y -= sp178*30; + for(temp_r17=3; temp_r17>=0; temp_r17--) { + if((1 << temp_r17) & sp14C8[temp_r29].unk2) { + Vec sp208; + lbl_1_bss_2684[lbl_1_bss_2680].unkC = 1; + lbl_1_bss_2684[lbl_1_bss_2680].unk8 = sp184; + lbl_1_bss_2684[lbl_1_bss_2680].unk10 = 1< 3) ? 3 : sp174; + if(lbl_1_bss_48[sp174+3].unk0 < 3) { + lbl_1_bss_48[sp174+3].unk4[lbl_1_bss_48[sp174+3].unk0] = 0.45*(((temp_f31-5.0)-0.5)/5.5); + lbl_1_bss_48[sp174+3].unk0++; + } + } + spA28[sp188] = &sp14C8[temp_r29]; + sp230[sp188] = temp_r22; + sp6F8[sp188] = temp_f31; + sp3C8[sp188] = temp_f30; + sp188++; + } + } + for(temp_r29=0; temp_r29 0 && lbl_1_bss_18 == -1) { + s32 sp16C; + s32 sp168 = 0; + s32 sp164 = fn_1_4C0(&spA28[temp_r29]->unk2, spA28[temp_r29]->unk4); + Vec sp1FC = { 0, 0, 50 }; + for(sp16C=0; sp16C<4; sp16C++) { + sp168 += ((1 << sp16C) != 0) & spA28[temp_r29]->unk2; + } + sp168--; + sp1FC.x = (100.0f*sp6F8[temp_r29])-500.0; + sp1FC.y = 100+((100*sp3C8[temp_r29])-500); + sp1FC.x += sp168*12; + sp1FC.y -= sp168*30; + for(sp16C=3; sp16C>=0; sp16C--) { + if((1 << sp16C) & spA28[temp_r29]->unk2) { + Vec sp1F0; + lbl_1_bss_2684[lbl_1_bss_2680].unkC = 1; + lbl_1_bss_2684[lbl_1_bss_2680].unk8 = sp170; + lbl_1_bss_2684[lbl_1_bss_2680].unk10 = 1< 3) ? 3 : sp164; + if(lbl_1_bss_48[sp164+3].unk0 < 3) { + lbl_1_bss_48[sp164+3].unk4[lbl_1_bss_48[sp164+3].unk0] = 0.45*(((sp6F8[temp_r29]-5.0)-0.5)/5.5); + lbl_1_bss_48[sp164+3].unk0++; + } + } + } + sp1B4--; + } + } + } #undef CHECK_2E48 void fn_1_8AC8(StructBss2A6C *arg0, StructSp14C8 *arg1) { - StructBss2A6C *temp_r31 = arg0; - if (!arg0) { - return; - } - if (arg0->unk0 == 0) { - return; - } - while (temp_r31->unk48) { - if (!temp_r31->unk48->unk0 || (temp_r31->unk48->unk1 & 0x1) == 0 || temp_r31->unk48->unk1C.y != temp_r31->unk1C.y + 1.0f) { - break; - } - temp_r31 = temp_r31->unk48; - temp_r31->unk8[0] = arg1->unk4[0] + ((arg1->unk2 & 0x1) ? 1 : 0); - temp_r31->unk8[1] = arg1->unk4[1] + ((arg1->unk2 & 0x2) ? 1 : 0); - temp_r31->unk8[2] = arg1->unk4[2] + ((arg1->unk2 & 0x4) ? 1 : 0); - temp_r31->unk8[3] = arg1->unk4[3] + ((arg1->unk2 & 0x8) ? 1 : 0); - temp_r31->unk3 = arg1->unk2; - } + StructBss2A6C *temp_r31 = arg0; + if(!arg0) { + return; + } + if(arg0->unk0 == 0) { + return; + } + while(temp_r31->unk48) { + if(!temp_r31->unk48->unk0 || (temp_r31->unk48->unk1 & 0x1) == 0 || temp_r31->unk48->unk1C.y != temp_r31->unk1C.y+1.0f) { + break; + } + temp_r31 = temp_r31->unk48; + temp_r31->unk8[0] = arg1->unk4[0]+((arg1->unk2 & 0x1) ? 1 : 0); + temp_r31->unk8[1] = arg1->unk4[1]+((arg1->unk2 & 0x2) ? 1 : 0); + temp_r31->unk8[2] = arg1->unk4[2]+((arg1->unk2 & 0x4) ? 1 : 0); + temp_r31->unk8[3] = arg1->unk4[3]+((arg1->unk2 & 0x8) ? 1 : 0); + temp_r31->unk3 = arg1->unk2; + + } } +//decomp.me link is https://decomp.me/scratch/PbkiW void fn_1_8C10(omObjData *object) { - s32 temp_r31; - s32 temp_r30; - - Work19C8 *sp88[4]; - lbl_1_bss_4++; - { - s32 temp_r23; - for (temp_r23 = 0; temp_r23 < 4; temp_r23++) { - fn_1_19C8(lbl_1_bss_34[temp_r23]); - fn_1_52A4(temp_r23); - } - } - - fn_1_52A4(4); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - sp88[temp_r31] = lbl_1_bss_34[temp_r31]->data; - } - if (lbl_1_bss_18 == -1) { - if (sp88[0]->unk24 >= 100 || sp88[1]->unk24 >= 100 || sp88[2]->unk24 >= 100 || sp88[3]->unk24 >= 100) { - s32 sp78[4] = { 0, 1, 2, 3 }; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - s32 temp_r22 = rand8() % 4; - if (sp88[temp_r22]->unk24 >= 100) { - lbl_1_bss_18 = temp_r22; - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - if (temp_r30 != temp_r22) { - if (sp88[temp_r30]->unk24 >= 100) { - sp88[temp_r30]->unk24 = sp88[temp_r30]->unk28; - } - } - } - } - else { - for (temp_r30 = temp_r22; temp_r30 < 3 - temp_r31; temp_r30++) { - sp78[temp_r30] = sp78[temp_r30 + 1]; - } - } - } - } - } - temp_r31 = (sp88[0]->unk79 != 0) + (sp88[1]->unk79 != 0) + (sp88[2]->unk79 != 0) + (sp88[3]->unk79 != 0); - if (lbl_1_bss_18 == -1 && temp_r31 == 3) { - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - if (!sp88[temp_r30]->unk78) { - lbl_1_bss_18 = temp_r30; - } - } - } - if (lbl_1_bss_18 == -1 && temp_r31 == 4) { - lbl_1_bss_18 = 4; - } - if (lbl_1_bss_18 != -1) { - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - if (sp88[temp_r31]->unk48[0]) { - sp88[temp_r31]->unk48[0]->unk1 &= ~0x2; - } - if (sp88[temp_r31]->unk48[1]) { - sp88[temp_r31]->unk48[1]->unk1 &= ~0x2; - } - sp88[temp_r31]->unk48[0] = NULL; - sp88[temp_r31]->unk48[1] = NULL; - } - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - sp88[temp_r31]->unk44 = (sp88[temp_r31]->unk40 == sp88[temp_r31]->unk24) ? sp88[temp_r31]->unk44 + 1 : 0; - sp88[temp_r31]->unk40 += (sp88[temp_r31]->unk40 < sp88[temp_r31]->unk24) ? 0.375 : 0; - sp88[temp_r31]->unk40 = (sp88[temp_r31]->unk40 > sp88[temp_r31]->unk24) ? (float)sp88[temp_r31]->unk24 : sp88[temp_r31]->unk40; - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - float temp_f28 = sp88[temp_r31]->unk40; - float sp4C = (s32)(temp_f28 / 100.0f) % 10; - float temp_f22 = (s32)(temp_f28 / 10.0f) % 10; - float temp_f24 = ((s32)temp_f28) % 10; - float temp_f23 = temp_f28 - (s32)temp_f28; - float temp_f25 = (temp_r30 == 0) ? ((sp88[temp_r31]->unk24 / 100) % 10) - : ((temp_r30 == 1) ? ((sp88[temp_r31]->unk24 / 10) % 10) : sp88[temp_r31]->unk24 % 10); - s32 sp98[5] = { 0, 15, -9, 3, 0 }; - switch (temp_r30) { - case 0: - temp_f25 = sp4C + (temp_f23 * ((9.0f == temp_f24 && 9.0f == temp_f22) ? 1.0 : 0.0)); - break; - - case 1: - temp_f25 = temp_f22 + (temp_f23 * ((9.0f == temp_f24) ? 1.0 : 0.0)); - break; - - case 2: - temp_f25 = temp_f24 + temp_f23; - break; - } - Hu3DModelRotSet(lbl_1_bss_34[temp_r31]->model[temp_r30 + 1], 36.0f * temp_f25, 0, 0); - } - } - { - s32 spAC[8][3] = { 255, 64, 64, 32, 192, 255, 255, 128, 255, 32, 208, 32, 224, 32, 224, 230, 128, 32, 255, 240, 32, 160, 160, 160 }; - s32 temp_r29 = lbl_1_bss_2680; - s32 temp_r28 = 0; - Work19C8 *sp68[4]; - for (temp_r28 = 0; temp_r28 < 4; temp_r28++) { - sp68[temp_r28] = lbl_1_bss_34[temp_r28]->data; - } - do { - temp_r29--; - temp_r29 = (temp_r29 < 0) ? temp_r29 + 50 : temp_r29; - if (lbl_1_bss_2684[temp_r29].unkC == 0 || (lbl_1_bss_2684[temp_r29].unk10 & 0xF) == 0) { - HuSprAttrSet(lbl_1_bss_14, temp_r28, HUSPR_ATTR_DISPOFF); - } - else { - s32 temp_r26 = 0; - u32 temp_r19; - s32 temp_r18; - - s32 temp_r24; - - s32 sp58[4]; - temp_r18 = ((lbl_1_bss_2684[temp_r29].unk8 >= 10) ? 2 : 1) + 1; - if (lbl_1_bss_2684[temp_r29].unk10 & 0x1) { - sp58[temp_r26] = 0; - temp_r26++; - } - if (lbl_1_bss_2684[temp_r29].unk10 & 0x2) { - sp58[temp_r26] = 1; - temp_r26++; - } - if (lbl_1_bss_2684[temp_r29].unk10 & 0x4) { - sp58[temp_r26] = 2; - temp_r26++; - } - if (lbl_1_bss_2684[temp_r29].unk10 & 0x8) { - sp58[temp_r26] = 3; - temp_r26++; - } - temp_r19 = sp68[sp58[lbl_1_bss_4 % temp_r26]]->unk18; - for (temp_r24 = 0; temp_r24 < temp_r18; temp_r28++, temp_r24++) { - HuSprPosSet(lbl_1_bss_14, temp_r28, (temp_r24 * 14) + (lbl_1_bss_2684[temp_r29].unk0 - ((temp_r18 * 14) / 2)), - lbl_1_bss_2684[temp_r29].unk4 - lbl_1_bss_2684[temp_r29].unkC); - HuSprAttrReset(lbl_1_bss_14, temp_r28, HUSPR_ATTR_DISPOFF); - HuSprColorSet(lbl_1_bss_14, temp_r28, spAC[temp_r19][0], spAC[temp_r19][1], spAC[temp_r19][2]); - HuSprTPLvlSet(lbl_1_bss_14, temp_r28, - (lbl_1_bss_2684[temp_r29].unkC <= 30) ? 1.0f : (1.0f - ((lbl_1_bss_2684[temp_r29].unkC - 30) / 10.0f))); - HuSprBankSet(lbl_1_bss_14, temp_r28, - (temp_r24 == 0) - ? 10 - : ((temp_r24 == 2 || temp_r18 == 2) ? lbl_1_bss_2684[temp_r29].unk8 % 10 : ((lbl_1_bss_2684[temp_r29].unk8 / 10) % 10))); - } - } - lbl_1_bss_2684[temp_r29].unkC += lbl_1_bss_2684[temp_r29].unkC > 0; - if (lbl_1_bss_2684[temp_r29].unkC >= 40) { - lbl_1_bss_2684[temp_r29].unkC = 0; - } - - } while (temp_r29 != lbl_1_bss_2680); - for (; temp_r28 < 150; temp_r28++) { - HuSprAttrSet(lbl_1_bss_14, temp_r28, HUSPR_ATTR_DISPOFF); - } - } - { - s32 temp_r27 = lbl_1_bss_FC; - s32 temp_r25; - s32 temp_r17; - for (temp_r17 = 0; temp_r17 < 300; temp_r17++) { - temp_r27 = temp_r27 + 1; - temp_r27 %= 300; - if (!lbl_1_bss_100[temp_r27].unk0) { - continue; - } - lbl_1_bss_100[temp_r27].unk4.x += lbl_1_bss_100[temp_r27].unk10.x; - lbl_1_bss_100[temp_r27].unk4.y += lbl_1_bss_100[temp_r27].unk10.y; - lbl_1_bss_100[temp_r27].unk4.z += lbl_1_bss_100[temp_r27].unk10.z; - lbl_1_bss_100[temp_r27].unk10.y += -1.5; - if (lbl_1_bss_100[temp_r27].unk4.y < -1000.0f) { - lbl_1_bss_100[temp_r27].unk0 = 0; - } - lbl_1_bss_100[temp_r27].unk1C += 9; - } - for (temp_r25 = 0; temp_r25 < 5; temp_r25++) { - if (lbl_1_bss_D4[temp_r25][0] > 0) { - lbl_1_bss_D4[temp_r25][1]++; - if (lbl_1_bss_D4[temp_r25][1] > 30) { - s32 temp_r21; - lbl_1_bss_D4[temp_r25][0] = 0; - lbl_1_bss_D4[temp_r25][1] = 0; - for (temp_r21 = 0; temp_r21 < 10; temp_r21++) { - Hu3DModelAttrSet(object->model[(temp_r25 * 10) + 13 + temp_r21], HU3D_ATTR_DISPOFF); - } - } - } - } - if (lbl_1_bss_44->work[0] >= 1002) { - float temp_f27 = 0; - float temp_f26 = 0; - if (lbl_1_bss_B8.unk0 % 2 >= 0) { - lbl_1_bss_B8.unk8 = lbl_1_bss_B8.unkC.y; - lbl_1_bss_B8.unkC.x = lbl_1_bss_B8.unkC.z; - do { - lbl_1_bss_B8.unkC.y = (2.0 * (rand8() / 255.0)) - 1.0; - lbl_1_bss_B8.unkC.z = (2.0 * (rand8() / 255.0)) - 1.0; - lbl_1_bss_B8.unkC.y = 0; - } while (VECMagPoint(lbl_1_bss_B8.unkC.y - lbl_1_bss_B8.unk8, lbl_1_bss_B8.unkC.z - lbl_1_bss_B8.unkC.x, 0) < 0.75); - } - temp_f27 = lbl_1_bss_B8.unk8; - temp_f26 = lbl_1_bss_B8.unkC.x; - temp_f27 *= lbl_1_bss_B8.unk4 * 2; - temp_f26 *= lbl_1_bss_B8.unk4 * 2; - lbl_1_bss_B8.unk0 = !lbl_1_bss_B8.unk0; - lbl_1_bss_B8.unk4 = (lbl_1_bss_B8.unk4 > 24) ? 23 : ((lbl_1_bss_B8.unk4 - 1 > 0) ? lbl_1_bss_B8.unk4 - 1 : 0); - Hu3DCameraPosSet(1, temp_f27, 37.139069 + temp_f26, 2599.7346f, 0, 1, 0, temp_f27, 50.0f + temp_f26, 0); - } - if (lbl_1_bss_18 != -1) { - float temp_f30; - s32 temp_r20; - lbl_1_bss_10++; - temp_f30 = 1.0f - ((lbl_1_bss_10 > 180) ? 1.0f : (lbl_1_bss_10 / 180.0f)); - Hu3DMotionSpeedSet(lbl_1_bss_30->model[0], 0.5 * temp_f30); - for (temp_r20 = 0; temp_r20 < 4; temp_r20++) { - Hu3DMotionSpeedSet(lbl_1_bss_34[temp_r20]->model[5], 0.5 * temp_f30); - } - if (temp_f30 > 0.0f && lbl_1_data_4[0] != -1) { - HuAudFXPitchSet(lbl_1_data_4[0], -8192.0f + (8192.0f * temp_f30)); - HuAudFXPitchSet(lbl_1_data_4[1], -8192.0f + (8192.0f * temp_f30)); - HuAudFXVolSet(lbl_1_data_4[0], 63.0f + (64.0f * temp_f30)); - HuAudFXVolSet(lbl_1_data_4[1], 63.0f + (64.0f * temp_f30)); - } - else { - if (lbl_1_data_4[0] != -1) { - HuAudFXStop(lbl_1_data_4[0]); - HuAudFXStop(lbl_1_data_4[1]); - lbl_1_data_4[0] = lbl_1_data_4[1] = -1; - } - } - } - } + s32 temp_r31; + s32 temp_r30; + + Work19C8 *sp88[4]; + lbl_1_bss_4++; + { + s32 temp_r23; + for(temp_r23=0; temp_r23<4; temp_r23++) { + fn_1_19C8(lbl_1_bss_34[temp_r23]); + fn_1_52A4(temp_r23); + } + } + + fn_1_52A4(4); + for(temp_r31=0; temp_r31<4; temp_r31++) { + sp88[temp_r31] = lbl_1_bss_34[temp_r31]->data; + } + if(lbl_1_bss_18 == -1) { + if(sp88[0]->unk24 >= 100 || sp88[1]->unk24 >= 100 || sp88[2]->unk24 >= 100 || sp88[3]->unk24 >= 100) { + s32 sp78[4] = { 0, 1, 2, 3 }; + for(temp_r31=0; temp_r31<4; temp_r31++) { + s32 temp_r22 = rand8()%4; + if(sp88[temp_r22]->unk24 >= 100) { + lbl_1_bss_18 = temp_r22; + for(temp_r30=0; temp_r30<4; temp_r30++) { + if(temp_r30 != temp_r22) { + if(sp88[temp_r30]->unk24 >= 100) { + sp88[temp_r30]->unk24 = sp88[temp_r30]->unk28; + } + } + } + } else { + for(temp_r30=temp_r22; temp_r30<3-temp_r31; temp_r30++) { + sp78[temp_r30] = sp78[temp_r30+1]; + } + } + } + } + } + temp_r31 = (sp88[0]->unk79 != 0)+(sp88[1]->unk79 != 0)+(sp88[2]->unk79 != 0)+(sp88[3]->unk79 != 0); + if(lbl_1_bss_18 == -1 && temp_r31 == 3) { + for(temp_r30=0; temp_r30<4; temp_r30++) { + if(!sp88[temp_r30]->unk78) { + lbl_1_bss_18 = temp_r30; + } + } + } + if(lbl_1_bss_18 == -1 && temp_r31 == 4) { + lbl_1_bss_18 = 4; + } + if(lbl_1_bss_18 != -1) { + for(temp_r31=0; temp_r31<4; temp_r31++) { + if(sp88[temp_r31]->unk48[0]) { + sp88[temp_r31]->unk48[0]->unk1 &= ~0x2; + } + if(sp88[temp_r31]->unk48[1]) { + sp88[temp_r31]->unk48[1]->unk1 &= ~0x2; + } + sp88[temp_r31]->unk48[0] = NULL; + sp88[temp_r31]->unk48[1] = NULL; + } + } + for(temp_r31=0; temp_r31<4; temp_r31++) { + sp88[temp_r31]->unk44 = (sp88[temp_r31]->unk40 == sp88[temp_r31]->unk24) ? sp88[temp_r31]->unk44+1 : 0; + sp88[temp_r31]->unk40 += (sp88[temp_r31]->unk40 < sp88[temp_r31]->unk24) ? 0.375 : 0; + sp88[temp_r31]->unk40 = (sp88[temp_r31]->unk40 > sp88[temp_r31]->unk24) ? (float)sp88[temp_r31]->unk24 : sp88[temp_r31]->unk40; + for(temp_r30=0; temp_r30<3; temp_r30++) { + float temp_f28 = sp88[temp_r31]->unk40; + float sp4C = (s32)(temp_f28/100.0f)%10; + float temp_f22 = (s32)(temp_f28/10.0f)%10; + float temp_f24 = ((s32)temp_f28)%10; + float temp_f23 = temp_f28-(s32)temp_f28; + float temp_f25 = (temp_r30 == 0) ? ((sp88[temp_r31]->unk24/100)%10) : ((temp_r30 == 1) ? ((sp88[temp_r31]->unk24/10)%10) : sp88[temp_r31]->unk24%10); + s32 sp98[5] = { 0, 15, -9, 3, 0 }; + switch(temp_r30) { + case 0: + temp_f25 = sp4C+(temp_f23*((9.0f == temp_f24 && 9.0f == temp_f22) ? 1.0 : 0.0)); + break; + + case 1: + temp_f25 = temp_f22+(temp_f23*((9.0f == temp_f24) ? 1.0 : 0.0)); + break; + + case 2: + temp_f25 = temp_f24+temp_f23; + break; + } + Hu3DModelRotSet(lbl_1_bss_34[temp_r31]->model[temp_r30+1], 36.0f*temp_f25, 0, 0); + } + } + { + s32 spAC[8][3] = { + 255,64,64, + 32,192,255, + 255,128,255, + 32,208,32, + 224,32,224, + 230,128,32, + 255,240,32, + 160,160,160 + }; + s32 temp_r29 = lbl_1_bss_2680; + s32 temp_r28 = 0; + Work19C8 *sp68[4]; + for(temp_r28=0; temp_r28<4; temp_r28++) { + sp68[temp_r28] = lbl_1_bss_34[temp_r28]->data; + } + do { + temp_r29--; + temp_r29 = (temp_r29 < 0) ? temp_r29+50 : temp_r29; + if(lbl_1_bss_2684[temp_r29].unkC == 0 || (lbl_1_bss_2684[temp_r29].unk10 & 0xF) == 0) { + HuSprAttrSet(lbl_1_bss_14, temp_r28, HUSPR_ATTR_DISPOFF); + } else { + s32 temp_r26 = 0; + u32 temp_r19; + s32 temp_r18; + + s32 temp_r24; + + s32 sp58[4]; + temp_r18 = ((lbl_1_bss_2684[temp_r29].unk8 >= 10) ? 2 : 1)+1; + if(lbl_1_bss_2684[temp_r29].unk10 & 0x1) { + sp58[temp_r26] = 0; + temp_r26++; + } + if(lbl_1_bss_2684[temp_r29].unk10 & 0x2) { + sp58[temp_r26] = 1; + temp_r26++; + } + if(lbl_1_bss_2684[temp_r29].unk10 & 0x4) { + sp58[temp_r26] = 2; + temp_r26++; + } + if(lbl_1_bss_2684[temp_r29].unk10 & 0x8) { + sp58[temp_r26] = 3; + temp_r26++; + } + temp_r19 = sp68[sp58[lbl_1_bss_4%temp_r26]]->unk18; + for(temp_r24=0; temp_r24 0; + if(lbl_1_bss_2684[temp_r29].unkC >= 40) { + lbl_1_bss_2684[temp_r29].unkC = 0; + } + + } while(temp_r29 != lbl_1_bss_2680); + for(; temp_r28<150; temp_r28++) { + HuSprAttrSet(lbl_1_bss_14, temp_r28, HUSPR_ATTR_DISPOFF); + } + } + { + s32 temp_r27 = lbl_1_bss_FC; + s32 temp_r25; + s32 temp_r17; + for(temp_r17=0; temp_r17<300; temp_r17++) { + temp_r27 = temp_r27+1; + temp_r27 %= 300; + if(!lbl_1_bss_100[temp_r27].unk0) { + continue; + } + lbl_1_bss_100[temp_r27].unk4.x += lbl_1_bss_100[temp_r27].unk10.x; + lbl_1_bss_100[temp_r27].unk4.y += lbl_1_bss_100[temp_r27].unk10.y; + lbl_1_bss_100[temp_r27].unk4.z += lbl_1_bss_100[temp_r27].unk10.z; + lbl_1_bss_100[temp_r27].unk10.y += -1.5; + if(lbl_1_bss_100[temp_r27].unk4.y < -1000.0f) { + lbl_1_bss_100[temp_r27].unk0 = 0; + } + lbl_1_bss_100[temp_r27].unk1C += 9; + } + for(temp_r25=0; temp_r25<5; temp_r25++) { + if(lbl_1_bss_D4[temp_r25][0] > 0) { + lbl_1_bss_D4[temp_r25][1]++; + if(lbl_1_bss_D4[temp_r25][1] > 30) { + s32 temp_r21; + lbl_1_bss_D4[temp_r25][0] = 0; + lbl_1_bss_D4[temp_r25][1] = 0; + for(temp_r21=0; temp_r21<10; temp_r21++) { + Hu3DModelAttrSet(object->model[(temp_r25*10)+13+temp_r21], 1); + } + } + } + } + if(lbl_1_bss_44->work[0] >= 1002) { + float temp_f27 = 0; + float temp_f26 = 0; + if(lbl_1_bss_B8.unk0 % 2 >= 0) { + lbl_1_bss_B8.unk8 = lbl_1_bss_B8.unkC.y; + lbl_1_bss_B8.unkC.x = lbl_1_bss_B8.unkC.z; + do { + lbl_1_bss_B8.unkC.y = (2.0*(rand8()/255.0))-1.0; + lbl_1_bss_B8.unkC.z = (2.0*(rand8()/255.0))-1.0; + lbl_1_bss_B8.unkC.y = 0; + } while(VECMagPoint(lbl_1_bss_B8.unkC.y-lbl_1_bss_B8.unk8, lbl_1_bss_B8.unkC.z-lbl_1_bss_B8.unkC.x, 0) < 0.75); + } + temp_f27 = lbl_1_bss_B8.unk8; + temp_f26 = lbl_1_bss_B8.unkC.x; + temp_f27 *= lbl_1_bss_B8.unk4*2; + temp_f26 *= lbl_1_bss_B8.unk4*2; + lbl_1_bss_B8.unk0 = lbl_1_bss_B8.unk0 == 0; + lbl_1_bss_B8.unk4 = (lbl_1_bss_B8.unk4 > 24) ? 23 : ((lbl_1_bss_B8.unk4-1 > 0) ? lbl_1_bss_B8.unk4-1 : 0); + Hu3DCameraPosSet(1, temp_f27, 37.139069+temp_f26, 2599.7346f, 0, 1, 0, temp_f27, 50.0f+temp_f26, 0); + } + if(lbl_1_bss_18 != -1) { + float temp_f30; + s32 temp_r20; + lbl_1_bss_10++; + temp_f30 = 1.0f-((lbl_1_bss_10 > 180) ? 1.0f : (lbl_1_bss_10/180.0f)); + Hu3DMotionSpeedSet(lbl_1_bss_30->model[0], 0.5*temp_f30); + for(temp_r20=0; temp_r20<4; temp_r20++) { + Hu3DMotionSpeedSet(lbl_1_bss_34[temp_r20]->model[5], 0.5*temp_f30); + } + if(temp_f30 > 0.0f && lbl_1_data_4[0] != -1) { + HuAudFXPitchSet(lbl_1_data_4[0], -8192.0f+(8192.0f*temp_f30)); + HuAudFXPitchSet(lbl_1_data_4[1], -8192.0f+(8192.0f*temp_f30)); + HuAudFXVolSet(lbl_1_data_4[0], 63.0f+(64.0f*temp_f30)); + HuAudFXVolSet(lbl_1_data_4[1], 63.0f+(64.0f*temp_f30)); + } else { + if(lbl_1_data_4[0] != -1) { + HuAudFXStop(lbl_1_data_4[0]); + HuAudFXStop(lbl_1_data_4[1]); + lbl_1_data_4[0] = lbl_1_data_4[1] = -1; + + } + } + } + } } void fn_1_D700(omObjData *object); void fn_1_A53C(omObjData *object) { - Work19C8 *sp28[4]; - s32 temp_r31; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - sp28[temp_r31] = lbl_1_bss_34[temp_r31]->data; - } - for (temp_r31 = 0; temp_r31 < 7; temp_r31++) { - s32 sp38[7] = { 1422, 1423, 1424, 1425, 1426, 1427, 1428 }; - if (lbl_1_bss_48[temp_r31].unk0 > 3) { - lbl_1_bss_48[temp_r31].unk0 = 3; - } - if (lbl_1_bss_48[temp_r31].unk0 > 0) { - s32 temp_r19 = HuAudFXPlay(sp38[temp_r31]); - HuAudFXPanning(temp_r19, 0.5 + ((63 * lbl_1_bss_48[temp_r31].unk4[lbl_1_bss_48[temp_r31].unk0 - 1]) + 64)); - lbl_1_bss_48[temp_r31].unk0--; - } - } - if (omSysExitReq && !WipeStatGet()) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_D700; - } - switch (object->work[0]) { - case 1000: - if (!WipeStatGet()) { - s32 temp_r29; - s32 temp_r28; - s32 temp_r27; - s32 temp_r26; - lbl_1_bss_2C++; - if (lbl_1_bss_2C == 10.0f) { - lbl_1_bss_2C = 50.0f; - } - temp_r29 = (lbl_1_bss_2C > 180.0f) ? 255.0 : ((lbl_1_bss_2C > 120.0f) ? (255.0 * ((lbl_1_bss_2C - 120.0f) / 60.0)) : 0.0); - temp_r29 = (lbl_1_bss_2C >= 235.0f) - ? 255 - : ((lbl_1_bss_2C >= 205.0f) ? 192 : ((lbl_1_bss_2C >= 190.0f) ? 128 : (((lbl_1_bss_2C >= 160.0f) ? 64 : 0)))); - Hu3DGLightColorSet(lbl_1_bss_1C, temp_r29, temp_r29, temp_r29, 255); - for (temp_r28 = 0; temp_r28 < 4; temp_r28++) { - - Hu3DMotionTimeSet(lbl_1_bss_34[temp_r28]->model[0], 60.0 + (40.0 * (temp_r29 / 255.0))); - for (temp_r27 = 0; temp_r27 < 3; temp_r27++) { - Hu3DMotionTimeSet(lbl_1_bss_34[temp_r28]->model[temp_r27 + 1], 60.0 + (40.0 * (temp_r29 / 255.0))); - } - Hu3DMotionTimeSet(lbl_1_bss_34[temp_r28]->model[4], 60.0 + (40.0 * (temp_r29 / 255.0))); - } - Hu3DMotionSpeedSet( - lbl_1_bss_30->model[0], 0.5 * ((lbl_1_bss_2C < 100.0f) ? 0.0 : ((lbl_1_bss_2C < 320.0f) ? ((lbl_1_bss_2C - 100) / 220.0) : 1.0))); - for (temp_r26 = 0; temp_r26 < 4; temp_r26++) { - Hu3DMotionSpeedSet(lbl_1_bss_34[temp_r26]->model[5], - 0.5 * ((lbl_1_bss_2C < 100.0f) ? 0.0 : ((lbl_1_bss_2C < 280.0f) ? ((lbl_1_bss_2C - 100) / 180.0) : 1.0))); - } - if (100.0f == lbl_1_bss_2C) { - Hu3DMotionSpeedSet(lbl_1_bss_30->model[1], 1.0f); - omVibrate(sp28[0]->unk14, 12, 4, 2); - omVibrate(sp28[1]->unk14, 12, 4, 2); - omVibrate(sp28[2]->unk14, 12, 4, 2); - omVibrate(sp28[3]->unk14, 12, 4, 2); - HuAudFXPlay(1431); - } - if (145.0f == lbl_1_bss_2C) { - lbl_1_data_4[0] = HuAudFXPlay(1429); - } - if (160.0f == lbl_1_bss_2C) { - lbl_1_data_4[1] = HuAudFXPlay(1430); - } - if (350.0f < lbl_1_bss_2C) { - object->work[0]++; - lbl_1_bss_2C = 0; - } - } - break; - - case 1001: - lbl_1_bss_2C++; - if (5.0f == lbl_1_bss_2C && lbl_1_bss_20 < 0) { - lbl_1_bss_20 = MGSeqStartCreate(); - } - if (lbl_1_bss_2C >= 5.0f && lbl_1_data_0 == -1 && (MGSeqStatGet(lbl_1_bss_20) & 0x10)) { - lbl_1_data_0 = HuAudSeqPlay(71); - } - if (lbl_1_bss_2C >= 5.0f && !MGSeqStatGet(lbl_1_bss_20) && lbl_1_bss_20 >= 0) { - object->work[0]++; - lbl_1_bss_20 = -1; - lbl_1_bss_2C = 0; - } - else { - float temp_f26 = (lbl_1_bss_2C > 60.0f) ? 1.0 : ((lbl_1_bss_2C > 0.0f) ? (lbl_1_bss_2C / 60.0) : 0.0); - float temp_f27 = 1.0f - temp_f26; - float temp_f31 = 830.0f * temp_f27; - float temp_f30 = (-1792.0f * temp_f27) + (50.0f * temp_f26); - float temp_f29 = (2854.0f * temp_f27) + (3500.0f * temp_f26); - float temp_f25 = ((2578.212 * temp_f27) + (2600.0 * temp_f26)) / VECMagPoint(temp_f31, temp_f30, temp_f29); - temp_f31 *= temp_f25; - temp_f30 *= temp_f25; - temp_f29 *= temp_f25; - Hu3DCameraPosSet(1, temp_f31, temp_f30, temp_f29, -0.05f * temp_f27, 1, 0, 0, 50 * temp_f26, 0); - (void)temp_f27; - } - break; - - case 1002: - if (lbl_1_bss_18 != -1) { - object->work[0] = 1003; - lbl_1_bss_2C = 0; - } - break; - - case 1003: - if (lbl_1_bss_20 < 0 && lbl_1_bss_2C == 0.0f) { - lbl_1_bss_20 = MGSeqFinishCreate(); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - Work19C8 *temp_r25 = lbl_1_bss_34[temp_r31]->data; - HuSprAttrSet(temp_r25->unkA4, 0, HUSPR_ATTR_DISPOFF); - } - if (lbl_1_data_0 != -1) { - HuAudSeqFadeOut(lbl_1_data_0, 100); - } - } - else if (!MGSeqStatGet(lbl_1_bss_20)) { - lbl_1_bss_2C++; - if (lbl_1_bss_2C >= 30.0f) { - object->work[0]++; - lbl_1_bss_2C = 0; - if (lbl_1_bss_18 != 4) { - lbl_1_bss_20 = MGSeqWinCreate(sp28[lbl_1_bss_18]->unk18, -1, -1, -1); - GWPlayerCoinWinSet(sp28[lbl_1_bss_18]->unk14, 10); - HuAudSStreamPlay(1); - } - else if (lbl_1_bss_18 == 4) { - lbl_1_bss_20 = MGSeqDrawCreate(); - HuAudSStreamPlay(4); - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - Hu3DModelRotSet(lbl_1_bss_34[temp_r31]->model[4], 0, (lbl_1_bss_18 == temp_r31) ? 90 : -90, 0); - } - } - } - break; - - case 1004: - lbl_1_bss_2C++; - if (210.0f < lbl_1_bss_2C) { - lbl_1_bss_20 = -1; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_D700; - } - break; - - default: - OSReport("*** main mode error(%d)!!\n", object->work[0]); - - break; - } + Work19C8 *sp28[4]; + s32 temp_r31; + for(temp_r31=0; temp_r31<4; temp_r31++) { + sp28[temp_r31] = lbl_1_bss_34[temp_r31]->data; + } + for(temp_r31=0; temp_r31<7; temp_r31++) { + s32 sp38[7] = { + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428 + }; + if(lbl_1_bss_48[temp_r31].unk0 > 3) { + lbl_1_bss_48[temp_r31].unk0 = 3; + } + if(lbl_1_bss_48[temp_r31].unk0 > 0) { + s32 temp_r19 = HuAudFXPlay(sp38[temp_r31]); + HuAudFXPanning(temp_r19, 0.5+((63*lbl_1_bss_48[temp_r31].unk4[lbl_1_bss_48[temp_r31].unk0-1])+64)); + lbl_1_bss_48[temp_r31].unk0--; + } + } + if(omSysExitReq && !WipeStatGet()) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + object->func = fn_1_D700; + + } + switch(object->work[0]) { + case 1000: + if(!WipeStatGet()) { + s32 temp_r29; + s32 temp_r28; + s32 temp_r27; + s32 temp_r26; + lbl_1_bss_2C++; + if(lbl_1_bss_2C == 10.0f) { + lbl_1_bss_2C = 50.0f; + } + temp_r29 = (lbl_1_bss_2C > 180.0f) ? 255.0 : ((lbl_1_bss_2C > 120.0f) ? (255.0*((lbl_1_bss_2C-120.0f)/60.0)) : 0.0); + temp_r29 = (lbl_1_bss_2C >= 235.0f) ? 255 : ((lbl_1_bss_2C >= 205.0f) ? 192 : ((lbl_1_bss_2C >= 190.0f) ? 128 : (((lbl_1_bss_2C >= 160.0f) ? 64 : 0)))); + Hu3DGLightColorSet(lbl_1_bss_1C, temp_r29, temp_r29, temp_r29, 255); + for(temp_r28=0; temp_r28<4; temp_r28++) { + + Hu3DMotionTimeSet(lbl_1_bss_34[temp_r28]->model[0], 60.0+(40.0*(temp_r29/255.0))); + for(temp_r27=0; temp_r27<3; temp_r27++) { + Hu3DMotionTimeSet(lbl_1_bss_34[temp_r28]->model[temp_r27+1], 60.0+(40.0*(temp_r29/255.0))); + } + Hu3DMotionTimeSet(lbl_1_bss_34[temp_r28]->model[4], 60.0+(40.0*(temp_r29/255.0))); + } + Hu3DMotionSpeedSet(lbl_1_bss_30->model[0], 0.5*((lbl_1_bss_2C < 100.0f) ? 0.0 : ((lbl_1_bss_2C < 320.0f) ? ((lbl_1_bss_2C-100)/220.0) : 1.0))); + for(temp_r26=0; temp_r26<4; temp_r26++) { + Hu3DMotionSpeedSet(lbl_1_bss_34[temp_r26]->model[5], 0.5*((lbl_1_bss_2C < 100.0f) ? 0.0 : ((lbl_1_bss_2C < 280.0f) ? ((lbl_1_bss_2C-100)/180.0) : 1.0))); + } + if(100.0f == lbl_1_bss_2C) { + Hu3DMotionSpeedSet(lbl_1_bss_30->model[1], 1.0f); + omVibrate(sp28[0]->unk14, 12, 4, 2); + omVibrate(sp28[1]->unk14, 12, 4, 2); + omVibrate(sp28[2]->unk14, 12, 4, 2); + omVibrate(sp28[3]->unk14, 12, 4, 2); + HuAudFXPlay(1431); + } + if(145.0f == lbl_1_bss_2C) { + lbl_1_data_4[0] = HuAudFXPlay(1429); + } + if(160.0f == lbl_1_bss_2C) { + lbl_1_data_4[1] = HuAudFXPlay(1430); + } + if(350.0f < lbl_1_bss_2C) { + object->work[0]++; + lbl_1_bss_2C = 0; + } + } + break; + + case 1001: + lbl_1_bss_2C++; + if(5.0f == lbl_1_bss_2C && lbl_1_bss_20 < 0) { + lbl_1_bss_20 = MGSeqStartCreate(); + } + if(lbl_1_bss_2C >= 5.0f && lbl_1_data_0 == -1 && (MGSeqStatGet(lbl_1_bss_20) & 0x10)) { + lbl_1_data_0 = HuAudSeqPlay(71); + } + if(lbl_1_bss_2C >= 5.0f && !MGSeqStatGet(lbl_1_bss_20) && lbl_1_bss_20 >= 0) { + object->work[0]++; + lbl_1_bss_20 = -1; + lbl_1_bss_2C = 0; + } else { + float temp_f26 = (lbl_1_bss_2C > 60.0f) ? 1.0 : ((lbl_1_bss_2C > 0.0f) ? (lbl_1_bss_2C/60.0) : 0.0); + float temp_f27 = 1.0f-temp_f26; + float temp_f31 = 830.0f*temp_f27; + float temp_f30 = (-1792.0f*temp_f27)+(50.0f*temp_f26); + float temp_f29 = (2854.0f*temp_f27)+(3500.0f*temp_f26); + float temp_f25 = ((2578.212*temp_f27)+(2600.0*temp_f26))/VECMagPoint(temp_f31, temp_f30, temp_f29); + temp_f31 *= temp_f25; + temp_f30 *= temp_f25; + temp_f29 *= temp_f25; + Hu3DCameraPosSet(1, temp_f31, temp_f30, temp_f29, -0.05f*temp_f27, 1, 0, 0, 50*temp_f26, 0); + (void)temp_f27; + + } + break; + + case 1002: + if(lbl_1_bss_18 != -1) { + object->work[0] = 1003; + lbl_1_bss_2C = 0; + } + break; + + case 1003: + if(lbl_1_bss_20 < 0 && lbl_1_bss_2C == 0.0f) { + lbl_1_bss_20 = MGSeqFinishCreate(); + for(temp_r31=0; temp_r31<4; temp_r31++) { + Work19C8 *temp_r25= lbl_1_bss_34[temp_r31]->data; + HuSprAttrSet(temp_r25->unkA4, 0, HUSPR_ATTR_DISPOFF); + } + if(lbl_1_data_0 != -1) { + HuAudSeqFadeOut(lbl_1_data_0, 100); + } + } else if(!MGSeqStatGet(lbl_1_bss_20)) { + lbl_1_bss_2C++; + if(lbl_1_bss_2C >= 30.0f){ + object->work[0]++; + lbl_1_bss_2C = 0; + if(lbl_1_bss_18 != 4){ + lbl_1_bss_20 = MGSeqWinCreate(sp28[lbl_1_bss_18]->unk18, -1, -1, -1); + GWPlayerCoinWinSet(sp28[lbl_1_bss_18]->unk14, 10); + HuAudSStreamPlay(1); + } else if(lbl_1_bss_18 == 4) { + lbl_1_bss_20 = MGSeqDrawCreate(); + HuAudSStreamPlay(4); + } + for(temp_r31=0; temp_r31<4; temp_r31++) { + Hu3DModelRotSet(lbl_1_bss_34[temp_r31]->model[4], 0, (lbl_1_bss_18 == temp_r31) ? 90 : -90, 0); + } + } + } + break; + + case 1004: + lbl_1_bss_2C++; + if(210.0f < lbl_1_bss_2C) { + lbl_1_bss_20 = -1; + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + object->func = fn_1_D700; + } + break; + + default: + OSReport("*** main mode error(%d)!!\n", object->work[0]); + + break; + } } void fn_1_B6C4(ModelData *arg0, Mtx arg1) { - GXLoadPosMtxImm(arg1, GX_PNMTX0); - GXSetNumTevStages(1); - GXSetNumTexGens(0); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_CLR0, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - { - s8 sp60[9] = { -1, 0, 1, 2, 3, 4, -1, -1, -1 }; - char *sp6C[6] = { "m413_11-m413_11", "m413_12-m413_12", "m413_13-m413_13", "m413_14-m413_14", "g005m3A-bomhei_A", "g005m3B-bomhei_B" }; - s8 sp28[6] = { 3, 4, 5, 6, 11, 12 }; - char *sp50[4] = { "m413_11b-m413_11b", "m413_12b-m143_12b", "m413_13b-m413_13b", "twest-m413_14b" }; - s8 sp24[4] = { 7, 8, 9, 10 }; - s32 temp_r27; - Mtx spB4; - Mtx sp84; - for (temp_r27 = 0; temp_r27 < 12; temp_r27++) { - StructBss2A6C *temp_r31; - for (temp_r31 = lbl_1_bss_7884[temp_r27]; temp_r31; temp_r31 = temp_r31->unk48) { - float temp_f31; - if (temp_r31->unk0) { - s32 temp_r19 = 100; - s32 temp_r18 = 100; - float temp_f30 = temp_r31->unk1C.x; - float temp_f29 = temp_r31->unk1C.y; - float temp_f27 = 0; - if (temp_r31->unk4 && temp_r31->unk5) { - s32 sp40[4] = { 0, 1, 0, -1 }; - s32 sp30[4] = { 1, 0, -1, 0 }; - s32 temp_r24 = (temp_r31->unk4 + 3) % 4; - s32 temp_r26 = ((((temp_r31->unk4 + 3) % 4) + (9 + ((temp_r31->unk4 - 1) / 4)))) % 4; - s32 temp_r25 = 0; - float temp_f28 = 1; - temp_f30 -= sp40[temp_r26]; - temp_f29 -= sp30[temp_r26]; - switch ((temp_r31->unk4 - 1) / 4) { - case 0: - case 2: - for (temp_r25 = temp_r31->unk5 - 1; temp_r25 > 0; temp_r25--) { - temp_f28 /= 2.0; - } - temp_f31 = 1.0f - temp_f28; - temp_r26 = (temp_r24 + 3 == temp_r26) ? (temp_r26 - 4) : ((temp_r24 - 3 == temp_r26) ? (temp_r26 + 4) : temp_r26); - temp_f30 += sind((temp_f28 * (temp_r24 * 90)) + (temp_f31 * (temp_r26 * 90))); - temp_f29 += cosd((temp_f28 * (temp_r24 * 90)) + (temp_f31 * (temp_r26 * 90))); - break; - - case 1: - for (temp_r25 = temp_r31->unk5 - 1; temp_r25 > 0; temp_r25--) { - temp_f28 /= 2.0; - } - temp_f31 = (temp_r31->unk5 - 1) / 3.0; - temp_f31 = (temp_f31 < 0.0f) ? 0.0f : ((temp_f31 > 1.0f) ? 1.0f : temp_f31); - temp_f31 = (0.75 * ((1.0f - temp_f28))) + (0.25 * temp_f31); - temp_f28 = 1.0f - temp_f31; - temp_f30 += sp40[temp_r24] * cosd(temp_f31 * 180.0f); - temp_f29 += sp30[temp_r24] * cosd(temp_f31 * 180.0f); - temp_f27 += sind(temp_f31 * 180.0f); - - break; - - default: - break; - } - } - temp_f30 = (temp_f30 * temp_r19) - (temp_r19 * 6); - temp_f29 = (temp_f29 * temp_r18) - (temp_r18 * 5); - temp_f27 = 100 * temp_f27; - if (sp60[temp_r31->unk0] != -1) { - s32 temp_r21 = sp60[temp_r31->unk0] - + (temp_r31->unk0 == 5 && ((temp_r31->unk1C.z < 0.0f && (temp_r31->unk1 & 0x1) == 0) || (temp_r31->unk1 & 0x2) != 0)); - MTXTrans(spB4, 50 + temp_f30, 50 + temp_f29, temp_f27); - MTXConcat(arg1, spB4, spB4); - Hu3DModelObjDraw(lbl_1_bss_30->model[sp28[temp_r21]], sp6C[temp_r21], spB4); - } - } - } - } - for (temp_r27 = 0; temp_r27 < 4; temp_r27++) { - s32 temp_r29; - for (temp_r29 = 0; temp_r29 < 2; temp_r29++) { - s32 temp_r17 = 25; - s32 sp20 = (temp_r27 * 300) - 450; - s32 sp1C = (505 - temp_r17) + (temp_r29 * (temp_r17 * 2)); - Work19C8 *temp_r30 = lbl_1_bss_34[temp_r27]->data; - s32 temp_r23 = temp_r30->unk50[temp_r30->unk60][temp_r29]; - if (temp_r30->unk65[0] == 0 || temp_r30->unk65[0] > 7) { - if (sp60[temp_r23] != -1) { - MTXScale(spB4, 0.5f, 0.5f, 0.5f); - MTXTrans(sp84, sp20, sp1C + ((temp_r30->unk65[0]) ? (200.0f * ((15 - temp_r30->unk65[0]) / 15.0f)) : 0.0f), 125.0f); - MTXConcat(sp84, spB4, spB4); - MTXConcat(arg1, spB4, spB4); - Hu3DModelObjDraw(lbl_1_bss_30->model[sp28[sp60[temp_r23]]], sp6C[sp60[temp_r23]], spB4); - } - } - if (temp_r30->unk65[0] != 0 && temp_r30->unk65[0] < (15 - (temp_r29 * 4)) && sp60[temp_r30->unk63[temp_r29]] != -1) { - MTXScale(spB4, 0.5f, 0.5f, 0.5f); - MTXTrans(sp84, sp20, sp1C, 125.0 - (0.25 * (40.0f * (temp_r30->unk65[0] / 15.0f)))); - MTXConcat(sp84, spB4, spB4); - MTXConcat(arg1, spB4, spB4); - Hu3DModelObjDraw(lbl_1_bss_30->model[sp28[sp60[temp_r30->unk63[temp_r29]]]], sp6C[sp60[temp_r30->unk63[temp_r29]]], spB4); - } - } - } - { - s32 temp_r28 = lbl_1_bss_FC; - s32 temp_r20; - for (temp_r20 = 0; temp_r20 < 300; temp_r20++) { - temp_r28++; - temp_r28 %= 300; - if (lbl_1_bss_100[temp_r28].unk0) { - MTXScale(spB4, 0.4f, 0.4f, 0.4f); - MTXRotDeg(sp84, 'x', 360.0 * (lbl_1_bss_100[temp_r28].unk1C / 255.0)); - MTXConcat(sp84, spB4, spB4); - MTXRotDeg(sp84, 'z', 360.0 * (lbl_1_bss_100[temp_r28].unk1D / 255.0)); - MTXConcat(sp84, spB4, spB4); - MTXTrans(sp84, lbl_1_bss_100[temp_r28].unk4.x, lbl_1_bss_100[temp_r28].unk4.y, lbl_1_bss_100[temp_r28].unk4.z); - MTXConcat(sp84, spB4, spB4); - MTXConcat(arg1, spB4, spB4); - Hu3DModelObjDraw(lbl_1_bss_30->model[sp24[sp60[lbl_1_bss_100[temp_r28].unk0]]], sp50[sp60[lbl_1_bss_100[temp_r28].unk0]], spB4); - } - } - } - } + GXLoadPosMtxImm(arg1, GX_PNMTX0); + GXSetNumTevStages(1); + GXSetNumTexGens(0); + GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); + GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); + GXSetNumChans(1); + GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + GXSetVtxDesc(GX_VA_CLR0, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); + { + s8 sp60[9] = { -1, 0, 1, 2, 3, 4, -1, -1, -1 }; + char *sp6C[6] = { + "m413_11-m413_11", + "m413_12-m413_12", + "m413_13-m413_13", + "m413_14-m413_14", + "g005m3A-bomhei_A", + "g005m3B-bomhei_B" + }; + s8 sp28[6] = { 3, 4, 5, 6, 11, 12 }; + char *sp50[4] = { + "m413_11b-m413_11b", + "m413_12b-m143_12b", + "m413_13b-m413_13b", + "twest-m413_14b" + }; + s8 sp24[4] = { 7, 8, 9, 10 }; + s32 temp_r27; + Mtx spB4; + Mtx sp84; + for(temp_r27=0; temp_r27<12; temp_r27++) { + StructBss2A6C *temp_r31; + for(temp_r31 = lbl_1_bss_7884[temp_r27]; temp_r31; temp_r31=temp_r31->unk48) { + float temp_f31; + if(temp_r31->unk0) { + s32 temp_r19 = 100; + s32 temp_r18 = 100; + float temp_f30 = temp_r31->unk1C.x; + float temp_f29 = temp_r31->unk1C.y; + float temp_f27 = 0; + if(temp_r31->unk4 && temp_r31->unk5) { + s32 sp40[4] = { 0, 1, 0, -1 }; + s32 sp30[4] = { 1, 0, -1, 0 }; + s32 temp_r24 = (temp_r31->unk4+3)%4; + s32 temp_r26 = ((((temp_r31->unk4+3)%4)+(9+((temp_r31->unk4-1)/4))))%4; + s32 temp_r25 = 0; + float temp_f28 = 1; + temp_f30 -= sp40[temp_r26]; + temp_f29 -= sp30[temp_r26]; + switch((temp_r31->unk4-1)/4) { + case 0: + case 2: + for(temp_r25=temp_r31->unk5-1; temp_r25>0; temp_r25--) { + temp_f28 /= 2.0; + } + temp_f31 = 1.0f-temp_f28; + temp_r26 = (temp_r24+3 == temp_r26) ? (temp_r26-4) : ((temp_r24-3 == temp_r26) ? (temp_r26+4) : temp_r26); + temp_f30 += sind((temp_f28*(temp_r24*90))+(temp_f31*(temp_r26*90))); + temp_f29 += cosd((temp_f28*(temp_r24*90))+(temp_f31*(temp_r26*90))); + break; + + case 1: + for(temp_r25=temp_r31->unk5-1; temp_r25>0; temp_r25--) { + temp_f28 /= 2.0; + } + temp_f31 = (temp_r31->unk5-1)/3.0; + temp_f31 = (temp_f31 < 0.0f) ? 0.0f : ((temp_f31 > 1.0f) ? 1.0f : temp_f31); + temp_f31 = (0.75*((1.0f-temp_f28)))+(0.25*temp_f31); + temp_f28 = 1.0f-temp_f31; + temp_f30 += sp40[temp_r24]*cosd(temp_f31*180.0f); + temp_f29 += sp30[temp_r24]*cosd(temp_f31*180.0f); + temp_f27 += sind(temp_f31*180.0f); + + break; + + default: + break; + } + + } + temp_f30 = (temp_f30*temp_r19)-(temp_r19*6); + temp_f29 = (temp_f29*temp_r18)-(temp_r18*5); + temp_f27 = 100*temp_f27; + if(sp60[temp_r31->unk0] != -1) { + s32 temp_r21 = sp60[temp_r31->unk0]+(temp_r31->unk0 == 5 && ((temp_r31->unk1C.z < 0.0f && (temp_r31->unk1 & 0x1) == 0) || (temp_r31->unk1 & 0x2) != 0)); + MTXTrans(spB4, 50+temp_f30, 50+temp_f29, temp_f27); + MTXConcat(arg1, spB4, spB4); + Hu3DModelObjDraw(lbl_1_bss_30->model[sp28[temp_r21]], sp6C[temp_r21], spB4); + } + } + } + } + for(temp_r27=0; temp_r27<4; temp_r27++) { + s32 temp_r29; + for(temp_r29=0; temp_r29<2; temp_r29++) { + s32 temp_r17 = 25; + s32 sp20 = (temp_r27*300)-450; + s32 sp1C = (505-temp_r17)+(temp_r29*(temp_r17*2)); + Work19C8 *temp_r30 = lbl_1_bss_34[temp_r27]->data; + s32 temp_r23 = temp_r30->unk50[temp_r30->unk60][temp_r29]; + if(temp_r30->unk65[0] == 0 || temp_r30->unk65[0] > 7) { + if(sp60[temp_r23] != -1) { + MTXScale(spB4, 0.5f, 0.5f, 0.5f); + MTXTrans(sp84, sp20, sp1C+((temp_r30->unk65[0]) ? (200.0f*((15-temp_r30->unk65[0])/15.0f)) : 0.0f), 125.0f); + MTXConcat(sp84, spB4, spB4); + MTXConcat(arg1, spB4, spB4); + Hu3DModelObjDraw(lbl_1_bss_30->model[sp28[sp60[temp_r23]]], sp6C[sp60[temp_r23]], spB4); + } + } + if(temp_r30->unk65[0] != 0 && temp_r30->unk65[0] < (15-(temp_r29*4)) && sp60[temp_r30->unk63[temp_r29]] != -1) { + MTXScale(spB4, 0.5f, 0.5f, 0.5f); + MTXTrans(sp84, sp20, sp1C, 125.0-(0.25*(40.0f*(temp_r30->unk65[0]/15.0f)))); + MTXConcat(sp84, spB4, spB4); + MTXConcat(arg1, spB4, spB4); + Hu3DModelObjDraw(lbl_1_bss_30->model[sp28[sp60[temp_r30->unk63[temp_r29]]]], sp6C[sp60[temp_r30->unk63[temp_r29]]], spB4); + } + } + } + { + s32 temp_r28 = lbl_1_bss_FC; + s32 temp_r20; + for(temp_r20=0; temp_r20<300; temp_r20++) { + temp_r28++; + temp_r28 %= 300; + if(lbl_1_bss_100[temp_r28].unk0) { + MTXScale(spB4, 0.4f, 0.4f, 0.4f); + MTXRotDeg(sp84, 'x', 360.0*(lbl_1_bss_100[temp_r28].unk1C/255.0)); + MTXConcat(sp84, spB4, spB4); + MTXRotDeg(sp84, 'z', 360.0*(lbl_1_bss_100[temp_r28].unk1D/255.0)); + MTXConcat(sp84, spB4, spB4); + MTXTrans(sp84, lbl_1_bss_100[temp_r28].unk4.x, lbl_1_bss_100[temp_r28].unk4.y , lbl_1_bss_100[temp_r28].unk4.z); + MTXConcat(sp84, spB4, spB4); + MTXConcat(arg1, spB4, spB4); + Hu3DModelObjDraw(lbl_1_bss_30->model[sp24[sp60[lbl_1_bss_100[temp_r28].unk0]]], sp50[sp60[lbl_1_bss_100[temp_r28].unk0]], spB4); + } + } + } + } } void fn_1_C6E0(omObjData *object) { - s32 temp_r30; - memset(lbl_1_bss_2A6C, 0, sizeof(lbl_1_bss_2A6C)); - memset(lbl_1_bss_7884, 0, sizeof(lbl_1_bss_7884)); - memset(lbl_1_bss_2684, 0, sizeof(lbl_1_bss_2684)); - lbl_1_bss_2680 = 0; - memset(lbl_1_bss_100, 0, sizeof(lbl_1_bss_100)); - lbl_1_bss_FC = 0; - memset(lbl_1_bss_D4, 0, sizeof(lbl_1_bss_D4)); - lbl_1_bss_D0 = 0; - memset(lbl_1_bss_B8, 0, sizeof(lbl_1_bss_B8)); - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M413, 0x00)); - omSetTra(object, 0, 0, 0); - Hu3DMotionSpeedSet(object->model[0], 0); - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M413, 0x01)); - Hu3DMotionSpeedSet(object->model[1], 0); - Hu3DModelPosSet(object->model[1], 0, 0, 0); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - object->model[2] = Hu3DHookFuncCreate(fn_1_B6C4); - Hu3DModelLayerSet(object->model[2], 1); - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - object->model[temp_r30 + 3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M413, 0x03) + temp_r30); - Hu3DModelAttrSet(object->model[temp_r30 + 3], HU3D_ATTR_DISPOFF); - object->model[temp_r30 + 7] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M413, 0x07) + temp_r30); - Hu3DModelAttrSet(object->model[temp_r30 + 7], HU3D_ATTR_DISPOFF); - } - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - s32 temp_r28; - if (temp_r30 == 0) { - temp_r28 = DATA_MAKE_NUM(DATADIR_M413, 0x0B); - } - else { - temp_r28 = DATA_MAKE_NUM(DATADIR_M413, 0x0C); - } - object->model[temp_r30 + 11] = Hu3DModelCreateFile(temp_r28); - Hu3DModelAttrSet(object->model[temp_r30 + 11], HU3D_ATTR_DISPOFF); - } - for (temp_r30 = 0; temp_r30 < 5; temp_r30++) { - s32 temp_r29; - object->model[(temp_r30 * 10) + 13] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M413, 0x1E)); - for (temp_r29 = 0; temp_r29 < 10; temp_r29++) { - if (temp_r29 != 0) { - object->model[(13 + (temp_r30 * 10) + temp_r29)] = Hu3DModelLink(object->model[(temp_r30 * 10) + 13]); - } - Hu3DModelAttrSet(object->model[(13 + (temp_r30 * 10) + temp_r29)], HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(object->model[(13 + (temp_r30 * 10) + temp_r29)], 2); - } - } - { - void *temp_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M413, 0x1F), MEMORY_DEFAULT_NUM, HEAP_DATA); - AnimData *temp_r26 = HuSprAnimRead(temp_r27); - lbl_1_bss_14 = HuSprGrpCreate(150); - for (temp_r30 = 0; temp_r30 < 150; temp_r30++) { - s16 temp_r25 = HuSprCreate(temp_r26, 0, 0); - HuSprGrpMemberSet(lbl_1_bss_14, temp_r30, temp_r25); - HuSprAttrSet(lbl_1_bss_14, temp_r30, HUSPR_ATTR_DISPOFF); - HuSprColorSet(lbl_1_bss_14, temp_r30, 255, 255, 255); - HuSprTPLvlSet(lbl_1_bss_14, temp_r30, 1.0f); - HuSprPriSet(lbl_1_bss_14, temp_r30, 256 + temp_r30); - } - } - object->func = fn_1_8C10; + s32 temp_r30; + memset(lbl_1_bss_2A6C, 0, sizeof(lbl_1_bss_2A6C)); + memset(lbl_1_bss_7884, 0, sizeof(lbl_1_bss_7884)); + memset(lbl_1_bss_2684, 0, sizeof(lbl_1_bss_2684)); + lbl_1_bss_2680 = 0; + memset(lbl_1_bss_100, 0, sizeof(lbl_1_bss_100)); + lbl_1_bss_FC = 0; + memset(lbl_1_bss_D4, 0, sizeof(lbl_1_bss_D4)); + lbl_1_bss_D0 = 0; + memset(lbl_1_bss_B8, 0, sizeof(lbl_1_bss_B8)); + object->model[0] = Hu3DModelCreateFile(0x2C0000); + omSetTra(object, 0, 0, 0); + Hu3DMotionSpeedSet(object->model[0], 0); + object->model[1] = Hu3DModelCreateFile(0x2C0001); + Hu3DMotionSpeedSet(object->model[1], 0); + Hu3DModelPosSet(object->model[1], 0, 0, 0); + Hu3DModelAttrSet(object->model[0], 0x40000001); + object->model[2] = Hu3DHookFuncCreate(fn_1_B6C4); + Hu3DModelLayerSet(object->model[2], 1); + for(temp_r30=0; temp_r30<4; temp_r30++) { + object->model[temp_r30+3] = Hu3DModelCreateFile(0x2C0003+temp_r30); + Hu3DModelAttrSet(object->model[temp_r30+3], 1); + object->model[temp_r30+7] = Hu3DModelCreateFile(0x2C0007+temp_r30); + Hu3DModelAttrSet(object->model[temp_r30+7], 1); + } + for(temp_r30=0; temp_r30<2; temp_r30++) { + s32 temp_r28; + if(temp_r30 == 0) { + temp_r28 = 0x2C000B; + } else { + temp_r28 = 0x2C000C; + } + object->model[temp_r30+11] = Hu3DModelCreateFile(temp_r28); + Hu3DModelAttrSet(object->model[temp_r30+11], 1); + } + for(temp_r30=0; temp_r30<5; temp_r30++) { + s32 temp_r29; + object->model[(temp_r30*10)+13] = Hu3DModelCreateFile(0x2C001E); + for(temp_r29=0; temp_r29<10; temp_r29++) { + if(temp_r29 != 0) { + object->model[(13+(temp_r30*10)+temp_r29)] = Hu3DModelLink(object->model[(temp_r30*10)+13]); + } + Hu3DModelAttrSet(object->model[(13+(temp_r30*10)+temp_r29)], 1); + Hu3DModelLayerSet(object->model[(13+(temp_r30*10)+temp_r29)], 2); + } + } + { + void *temp_r27 = HuDataSelHeapReadNum(0x2C001F, MEMORY_DEFAULT_NUM, HEAP_DATA); + AnimData *temp_r26 = HuSprAnimRead(temp_r27); + lbl_1_bss_14 = HuSprGrpCreate(150); + for(temp_r30=0; temp_r30<150; temp_r30++) { + s16 temp_r25 = HuSprCreate(temp_r26, 0, 0); + HuSprGrpMemberSet(lbl_1_bss_14, temp_r30, temp_r25); + HuSprAttrSet(lbl_1_bss_14, temp_r30, HUSPR_ATTR_DISPOFF); + HuSprColorSet(lbl_1_bss_14, temp_r30, 255, 255, 255); + HuSprTPLvlSet(lbl_1_bss_14, temp_r30, 1.0f); + HuSprPriSet(lbl_1_bss_14, temp_r30, 256+temp_r30); + + } + } + object->func = fn_1_8C10; } + void fn_1_CBB4(omObjData *object) { - s32 sp8[4] = { 0, 1, 2, 3 }; - s32 temp_r27 = 0; - Work19C8 *temp_r31 = object->data; - s32 temp_r29; - s32 temp_r28; - memset(temp_r31, 0, sizeof(Work19C8)); - if (object->work[0] == 0) { - lbl_1_data_C[0] = lbl_1_data_C[1] = lbl_1_data_C[2] = lbl_1_data_C[3] = -1; - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - s32 temp_r26; - repeat_iter: - temp_r26 = rand8() % 4; - if (lbl_1_data_C[temp_r26] != -1) { - goto repeat_iter; - } - lbl_1_data_C[temp_r26] = temp_r29; - } - } - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - for (temp_r28 = 0; temp_r28 < 4; temp_r28++) { - if (temp_r29 == lbl_1_data_C[temp_r28]) { - sp8[temp_r27] = temp_r28; - temp_r27++; - } - } - } - temp_r31->unk0 = temp_r31->unk4 = temp_r31->unk8 = temp_r31->unkC = 0; - temp_r31->unk10 = object->work[0]; - temp_r31->unk14 = sp8[temp_r31->unk10]; - if (temp_r31->unk14 == 4) { - OSReport("m413:wrong player group\n"); - temp_r31->unk14 = temp_r31->unk10; - } - temp_r31->unk18 = GWPlayerCfg[temp_r31->unk14].character; - temp_r31->unk1C = (GWPlayerCfg[temp_r31->unk14].iscom) ? -1 : GWPlayerCfg[temp_r31->unk14].pad_idx; - temp_r31->unk20 = (temp_r31->unk1C != -1) ? 0 : GWPlayerCfg[temp_r31->unk14].diff; - temp_r31->unk2C = -1; - temp_r31->unk24 = 0; - temp_r31->unk28 = temp_r31->unk24; - temp_r31->unk40 = temp_r31->unk24; - temp_r31->unk44 = 100; - temp_r31->unk72 = 2; - temp_r31->unk74 = 0; - fn_1_EC0(temp_r31); - temp_r31->unk60 = 0; - temp_r31->unk68 = ((rand8() % 4) * 7) + 3; - temp_r31->unk6C = temp_r31->unk68; - temp_r31->unk71 = 20; - temp_r31->unk70 = 0; - temp_r31->unk98 = 0; - temp_r31->unk9C = 0; - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M413, 0x02)); - Hu3DModelLayerSet(object->model[0], 1); - object->model[1] = Hu3DModelLink(object->model[0]); - object->model[2] = Hu3DModelLink(object->model[0]); - object->model[3] = Hu3DModelLink(object->model[0]); - Hu3DModelPosSet(object->model[1], (temp_r31->unk10 * 300) - 525, -602, 40); - Hu3DModelPosSet(object->model[2], (temp_r31->unk10 * 300) - 450, -602, 40); - Hu3DModelPosSet(object->model[3], (temp_r31->unk10 * 300) - 375, -602, 40); - Hu3DMotionTimeSet(object->model[1], 60.0f); - Hu3DMotionTimeSet(object->model[2], 60.0f); - Hu3DMotionTimeSet(object->model[3], 60.0f); - Hu3DMotionSpeedSet(object->model[1], 0.0f); - Hu3DMotionSpeedSet(object->model[2], 0.0f); - Hu3DMotionSpeedSet(object->model[3], 0.0f); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DMotionTimeSet(object->model[0], 60.0f); - Hu3DMotionSpeedSet(object->model[0], 0.0f); - object->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M413, 0x0D) + temp_r31->unk18); - Hu3DModelPosSet(object->model[4], (temp_r31->unk10 * 300) - 450, 670, 60); - Hu3DMotionTimeSet(object->model[4], 60.0f); - Hu3DMotionSpeedSet(object->model[4], 0.0f); - object->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M413, 0x15) + temp_r31->unk18); - Hu3DModelPosSet(object->model[5], (temp_r31->unk10 * 300) - 450, 0, 0); - Hu3DModelAttrSet(object->model[5], HU3D_MOTATTR_LOOP); - Hu3DMotionSpeedSet(object->model[5], 0.0f); - { - AnimData *temp_r23 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGCONST, 0x38) + GWPlayerCfg[temp_r31->unk14].character); - s16 temp_r22; - temp_r31->unkA4 = HuSprGrpCreate(1); - temp_r22 = HuSprCreate(temp_r23, 0, 0); - HuSprGrpMemberSet(temp_r31->unkA4, 0, temp_r22); - HuSprAttrSet(temp_r31->unkA4, 0, HUSPR_ATTR_LOOP | HUSPR_ATTR_DISPOFF | HUSPR_ATTR_LINEAR); - HuSprColorSet(temp_r31->unkA4, 0, 255, 255, 255); - HuSprTPLvlSet(temp_r31->unkA4, 0, 1); - HuSprPriSet(temp_r31->unkA4, 0, 512); - HuSprScaleSet(temp_r31->unkA4, 0, 0.875f, 0.875f); - HuSprSpeedSet(temp_r31->unkA4, 0, 1.0f); - } - - object->func = fn_1_19C4; + s32 sp8[4] = { 0, 1, 2, 3 }; + s32 temp_r27 = 0; + Work19C8 *temp_r31 = object->data; + s32 temp_r29; + s32 temp_r28; + memset(temp_r31, 0, sizeof(Work19C8)); + if(object->work[0] == 0) { + lbl_1_data_C[0] = lbl_1_data_C[1] = lbl_1_data_C[2] = lbl_1_data_C[3] = -1; + for(temp_r29=0; temp_r29<4; temp_r29++) { + s32 temp_r26; + repeat_iter: + temp_r26 = rand8()%4; + if(lbl_1_data_C[temp_r26] != -1) { + goto repeat_iter; + } + lbl_1_data_C[temp_r26] = temp_r29; + } + } + for(temp_r29=0; temp_r29<4; temp_r29++) { + for(temp_r28=0; temp_r28<4; temp_r28++) { + if(temp_r29 == lbl_1_data_C[temp_r28]) { + sp8[temp_r27] = temp_r28; + temp_r27++; + } + } + } + temp_r31->unk0 = temp_r31->unk4 = temp_r31->unk8 = temp_r31->unkC = 0; + temp_r31->unk10 = object->work[0]; + temp_r31->unk14 = sp8[temp_r31->unk10]; + if(temp_r31->unk14 == 4) { + OSReport("m413:wrong player group\n"); + temp_r31->unk14 = temp_r31->unk10; + } + temp_r31->unk18 = GWPlayerCfg[temp_r31->unk14].character; + temp_r31->unk1C = (GWPlayerCfg[temp_r31->unk14].iscom) ? -1 : GWPlayerCfg[temp_r31->unk14].pad_idx; + temp_r31->unk20 = (temp_r31->unk1C != -1) ? 0 : GWPlayerCfg[temp_r31->unk14].diff; + temp_r31->unk2C = -1; + temp_r31->unk24 = 0; + temp_r31->unk28 = temp_r31->unk24; + temp_r31->unk40 = temp_r31->unk24; + temp_r31->unk44 = 100; + temp_r31->unk72 = 2; + temp_r31->unk74 = 0; + fn_1_EC0(temp_r31); + temp_r31->unk60 = 0; + temp_r31->unk68 = ((rand8()%4)*7)+3; + temp_r31->unk6C = temp_r31->unk68; + temp_r31->unk71 = 20; + temp_r31->unk70 = 0; + temp_r31->unk98 = 0; + temp_r31->unk9C = 0; + object->model[0] = Hu3DModelCreateFile(0x2C0002); + Hu3DModelLayerSet(object->model[0], 1); + object->model[1] = Hu3DModelLink(object->model[0]); + object->model[2] = Hu3DModelLink(object->model[0]); + object->model[3] = Hu3DModelLink(object->model[0]); + Hu3DModelPosSet(object->model[1], (temp_r31->unk10*300)-525, -602, 40); + Hu3DModelPosSet(object->model[2], (temp_r31->unk10*300)-450, -602, 40); + Hu3DModelPosSet(object->model[3], (temp_r31->unk10*300)-375, -602, 40); + Hu3DMotionTimeSet(object->model[1], 60.0f); + Hu3DMotionTimeSet(object->model[2], 60.0f); + Hu3DMotionTimeSet(object->model[3], 60.0f); + Hu3DMotionSpeedSet(object->model[1], 0.0f); + Hu3DMotionSpeedSet(object->model[2], 0.0f); + Hu3DMotionSpeedSet(object->model[3], 0.0f); + Hu3DModelAttrSet(object->model[0], 1); + Hu3DMotionTimeSet(object->model[0], 60.0f); + Hu3DMotionSpeedSet(object->model[0], 0.0f); + object->model[4] = Hu3DModelCreateFile(0x2C000D+temp_r31->unk18); + Hu3DModelPosSet(object->model[4], (temp_r31->unk10*300)-450, 670, 60); + Hu3DMotionTimeSet(object->model[4], 60.0f); + Hu3DMotionSpeedSet(object->model[4], 0.0f); + object->model[5] = Hu3DModelCreateFile(0x2C0015+temp_r31->unk18); + Hu3DModelPosSet(object->model[5], (temp_r31->unk10*300)-450, 0, 0); + Hu3DModelAttrSet(object->model[5], 0x40000001); + Hu3DMotionSpeedSet(object->model[5], 0.0f); + { + AnimData *temp_r23 = HuSprAnimReadFile(0x610038+GWPlayerCfg[temp_r31->unk14].character); + s16 temp_r22; + temp_r31->unkA4 = HuSprGrpCreate(1); + temp_r22 = HuSprCreate(temp_r23, 0, 0); + HuSprGrpMemberSet(temp_r31->unkA4, 0, temp_r22); + HuSprAttrSet(temp_r31->unkA4, 0, HUSPR_ATTR_LOOP|HUSPR_ATTR_DISPOFF|HUSPR_ATTR_LINEAR); + HuSprColorSet(temp_r31->unkA4, 0, 255, 255, 255); + HuSprTPLvlSet(temp_r31->unkA4, 0, 1); + HuSprPriSet(temp_r31->unkA4, 0, 512); + HuSprScaleSet(temp_r31->unkA4, 0, 0.875f, 0.875f); + HuSprSpeedSet(temp_r31->unkA4, 0, 1.0f); + } + + object->func = fn_1_19C4; } void fn_1_D340(omObjData *object) { - object->work[0] = 1000; - memset(lbl_1_bss_48, 0, sizeof(StructBss48)); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_A53C; + object->work[0] = 1000; + memset(lbl_1_bss_48, 0, sizeof(StructBss48)); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + object->func = fn_1_A53C; } void ObjectSetup(void) { - s32 i; - OSReport("******* M413 ObjectSetup *********\n"); - HuAudSndGrpSet(38); - lbl_1_bss_24 = omInitObjMan(600, 8192); - omGameSysInit(lbl_1_bss_24); - Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); - Hu3DCameraPerspectiveSet(1, 40, 10, 20000, 1.2f); - { - Vec sp54 = { 616.5714f, -1331.2f, 2120.1142f }; - Vec sp48 = { -0.05f, 1.0f, 0.0f }; - Vec sp3C = { 0, 0, 0 }; - Vec sp30 = { 0, 0, 0 }; - Vec sp24 = { 0, 0, -1 }; - Hu3DCameraPosSetV(1, &sp54, &sp48, &sp3C); - } - { - Vec sp18 = { -822.5f, 6743.0f, 4625.5f }; - Vec spC = { 0.1545085f, -0.788462f, -0.5850064f }; - GXColor sp8 = { 0, 0, 0, 255 }; - lbl_1_bss_1C = Hu3DGLightCreateV(&sp18, &spC, &sp8); - } - Hu3DGLightStaticSet(lbl_1_bss_1C, 1); - Hu3DGLightSpotSet(lbl_1_bss_1C, 20, 2); - lbl_1_bss_20 = -1; - lbl_1_bss_18 = -1; - lbl_1_bss_30 = omAddObjEx(lbl_1_bss_24, 101, 63, 0, 1, fn_1_C6E0); - for (i = 0; i < 4; i++) { - omObjData *object = lbl_1_bss_34[i] = omAddObjEx(lbl_1_bss_24, 100, 6, 0, 0, fn_1_CBB4); - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work19C8), MEMORY_DEFAULT_NUM); - object->work[0] = i; - } - lbl_1_bss_44 = omAddObjEx(lbl_1_bss_24, 102, 0, 0, -1, fn_1_D340); + s32 i; + OSReport("******* M413 ObjectSetup *********\n"); + HuAudSndGrpSet(38); + lbl_1_bss_24 = omInitObjMan(600, 8192); + omGameSysInit(lbl_1_bss_24); + Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); + Hu3DCameraPerspectiveSet(1, 40, 10, 20000, 1.2f); + { + Vec sp54 = { 616.5714f, -1331.2f, 2120.1142f }; + Vec sp48 = { -0.05f, 1.0f, 0.0f }; + Vec sp3C = { 0, 0, 0 }; + Vec sp30 = { 0, 0, 0 }; + Vec sp24 = { 0, 0, -1 }; + Hu3DCameraPosSetV(1, &sp54, &sp48, &sp3C); + } + { + Vec sp18 = { -822.5f, 6743.0f, 4625.5f }; + Vec spC = { 0.1545085f, -0.788462f, -0.5850064f }; + GXColor sp8 = { 0, 0, 0, 255 }; + lbl_1_bss_1C = Hu3DGLightCreateV(&sp18, &spC, &sp8); + } + Hu3DGLightStaticSet(lbl_1_bss_1C, 1); + Hu3DGLightSpotSet(lbl_1_bss_1C, 20, 2); + lbl_1_bss_20 = -1; + lbl_1_bss_18 = -1; + lbl_1_bss_30 = omAddObjEx(lbl_1_bss_24, 101, 63, 0, 1, fn_1_C6E0); + for(i=0; i<4; i++) { + omObjData *object = lbl_1_bss_34[i] = omAddObjEx(lbl_1_bss_24, 100, 6, 0, 0, fn_1_CBB4); + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work19C8), MEMORY_DEFAULT_NUM); + object->work[0] = i; + } + lbl_1_bss_44 = omAddObjEx(lbl_1_bss_24, 102, 0, 0, -1, fn_1_D340); } void fn_1_D700(omObjData *object) { - if (!WipeStatGet()) { - if (lbl_1_bss_20 >= 0) { - MGSeqKill(lbl_1_bss_20); - } - MGSeqKillAll(); - HuAudAllStop(); - omOvlReturnEx(1, 1); - } + if(!WipeStatGet()) { + if(lbl_1_bss_20 >= 0) { + MGSeqKill(lbl_1_bss_20); + } + MGSeqKillAll(); + HuAudAllStop(); + omOvlReturnEx(1, 1); + } } diff --git a/src/REL/m414Dll/main.c b/src/REL/m414Dll/main.c index 8ca555e6..a906f552 100644 --- a/src/REL/m414Dll/main.c +++ b/src/REL/m414Dll/main.c @@ -9,6 +9,7 @@ #include "game/pad.h" #include "game/sprite.h" #include "game/wipe.h" +#include "rel_sqrt_consts.h" typedef struct UnkM414Struct { s32 unk00; @@ -239,8 +240,7 @@ void ObjectSetup(void) if (var_r30 >= 6) { if (lbl_1_bss_978 == 0) { var_r30 = 1; - } - else { + } else { var_r30 = 0; } } @@ -312,7 +312,9 @@ void fn_1_CD8(s32 arg0, s32 arg1, float arg8) var_r30->user_data = var_r31; var_r31->unk_00 = arg0; var_r31->unk_04 = arg1; - var_r31->unk_08 = arg8; + var_r31->unk_08 = arg8; + (void)var_r31; + (void)var_r31; } void fn_1_D54(ModelData *arg0, ParticleData *arg1, Mtx arg2, s32 arg3) @@ -372,7 +374,7 @@ void fn_1_D54(ModelData *arg0, ParticleData *arg1, Mtx arg2, s32 arg3) var_r31 = arg1->unk_48; for (var_r28 = 0; var_r28 < arg1->unk_30; var_r28++, var_r31++) { if (0.0f != var_r31->unk14.x) { - VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); + PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); if (var_r31->unk14.x > 10.0f) { var_r31->unk14.x = var_r31->unk14.x - 1.0f; } @@ -572,8 +574,7 @@ void fn_1_1C48(void) var_r31 = HuPrcCurrentGet()->user_data; if (var_r31->unk_44 & 1) { HuAudFXPlay(1446); - } - else { + } else { HuAudFXPlay(1445); } var_r31->unk_54 = 1; @@ -621,8 +622,7 @@ void fn_1_1E04(void) var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M414, 8), MEMORY_DEFAULT_NUM, HEAP_DATA); var_r30 = Hu3DModelCreate(var_r27); var_r22 = var_r30; - } - else { + } else { var_r30 = Hu3DModelLink(var_r22); } Hu3DModelCameraSet(var_r30, 15); @@ -632,51 +632,47 @@ void fn_1_1E04(void) var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M414, 0), MEMORY_DEFAULT_NUM, HEAP_DATA); var_r30 = Hu3DModelCreate(var_r27); var_r24 = var_r30; - } - else { + } else { var_r30 = Hu3DModelLink(var_r24); } var_r31->unk_30[var_r29] = var_r30; Hu3DModelCameraSet(var_r30, 1 << var_r31->unk_48); Hu3DModelShadowMapSet(var_r30); - Hu3DModelAttrSet(var_r30, HU3D_ATTR_NOCULL); + Hu3DModelAttrSet(var_r30, 0x4000); Hu3DModelRotSet(var_r30, 0.0f, 40.0f * var_r29, 0.0f); Hu3DModelPosSet(var_r30, 2000.0f * (var_r28 % 2), 0.0f, 2000.0f * (var_r28 / 2)); } if (!var_r28) { var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M414, 5), MEMORY_DEFAULT_NUM, HEAP_DATA); var_r30 = Hu3DModelCreate(var_r27); - } - else { + } else { var_r30 = Hu3DModelLink(lbl_1_bss_F0[0].unk_42); } var_r31->unk_42 = var_r30; Hu3DModelCameraSet(var_r30, 1 << var_r31->unk_48); Hu3DModelShadowMapSet(var_r30); - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r30, 1); Hu3DModelPosSet(var_r30, 2000.0f * (var_r28 % 2), 0.0f, 2000.0f * (var_r28 / 2)); for (var_r29 = 0; var_r29 < 9; var_r29++) { if (!var_r28) { var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M414, 1) + lbl_1_data_68[var_r29], MEMORY_DEFAULT_NUM, HEAP_DATA); var_r30 = Hu3DModelCreate(var_r27); - } - else { + } else { var_r30 = Hu3DModelLink(lbl_1_bss_F0->unk_00[var_r29]); } var_r31->unk_00[var_r29] = var_r30; Hu3DModelRotSet(var_r30, 0.0f, 40.0f * var_r29, 0.0f); Hu3DModelCameraSet(var_r30, 1 << var_r31->unk_48); - Hu3DModelAttrSet(var_r30, HU3D_ATTR_NOCULL); + Hu3DModelAttrSet(var_r30, 0x4000); Hu3DModelPosSet(var_r30, 2000.0f * (var_r28 % 2), 0.0f, 2000.0f * (var_r28 / 2)); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(var_r30, 0x40000002); } for (var_r29 = 0; var_r29 < 16; var_r29++) { if (!var_r28 && !var_r29) { var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M414, 6), MEMORY_DEFAULT_NUM, HEAP_DATA); var_r30 = Hu3DModelCreate(var_r27); var_r23 = var_r30; - } - else { + } else { var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M414, 6), MEMORY_DEFAULT_NUM, HEAP_DATA); var_r30 = Hu3DModelCreate(var_r27); var_r23 = var_r30; @@ -685,16 +681,15 @@ void fn_1_1E04(void) var_r31->unk_D4[var_r29] = var_r30; Hu3DModelPosSet(var_r30, 2000.0f * (var_r28 % 2), 330.0f - (330.0f * (var_r29 & 1)), 2000.0f * (var_r28 / 2)); Hu3DModelRotSet(var_r30, 0.0f, 40.0f * ((var_r29 + 2) / 2), 0.0f); - Hu3DModelAttrSet(var_r30, HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_SHAPE_PAUSE); + Hu3DModelAttrSet(var_r30, 0x4000); + Hu3DModelAttrSet(var_r30, 0x40000082); Hu3DMotionSpeedSet(var_r30, 3.0f); Hu3DMotionShapeSpeedSet(var_r30, 3.0f); } if (!var_r28) { var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M414, 9), MEMORY_DEFAULT_NUM, HEAP_DATA); var_r30 = Hu3DModelCreate(var_r27); - } - else { + } else { var_r30 = Hu3DModelLink(lbl_1_bss_F0[0].unk_20); } var_r31->unk_20 = var_r30; @@ -707,7 +702,7 @@ void fn_1_1E04(void) } Hu3DMotionSet(var_r30, var_r31->unk_22[0]); Hu3DMotionTimeSet(var_r30, 0.0f); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(var_r30, 0x40000002); Hu3DMotionSpeedSet(var_r30, 2.0f); var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M414, 15), MEMORY_DEFAULT_NUM, HEAP_DATA); @@ -758,24 +753,22 @@ void fn_1_1E04(void) var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M414, 22) + lbl_1_bss_938[var_r29], MEMORY_DEFAULT_NUM, HEAP_DATA); var_r30 = Hu3DModelCreate(var_r27); sp18[lbl_1_bss_938[var_r29]] = var_r30; - } - else { + } else { var_r30 = Hu3DModelLink(sp18[lbl_1_bss_938[var_r29]]); } - } - else { + } else { var_r30 = Hu3DModelLink(sp18[lbl_1_bss_938[var_r29]]); } var_r31->unk_94[var_r29] = var_r30; var_r31->unk_F4[var_r29] = 0; Hu3DModelCameraSet(var_r30, 1 << var_r31->unk_48); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r30, 0x40000001); var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M414, 34) + lbl_1_bss_938[var_r29], MEMORY_DEFAULT_NUM, HEAP_DATA); var_r31->unk_B4[var_r29] = Hu3DJointMotion(var_r30, var_r27); var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M414, 28) + lbl_1_bss_938[var_r29], MEMORY_DEFAULT_NUM, HEAP_DATA); Hu3DMotionSet(var_r30, Hu3DJointMotion(var_r30, var_r27)); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(var_r30, HU3D_ATTR_NOCULL); + Hu3DModelAttrSet(var_r30, 0x40000001); + Hu3DModelAttrSet(var_r30, 0x4000); var_f29 = -950.0 * sind(var_f31); var_f29 = var_f29; var_f28 = -950.0 * cosd(var_f31); @@ -783,8 +776,7 @@ void fn_1_1E04(void) if (var_r29 & 1) { var_f30 = 220.0f; var_f31 += 40.0f; - } - else { + } else { var_f30 = 570.0f; } if (!lbl_1_bss_938[var_r29]) { @@ -793,8 +785,7 @@ void fn_1_1E04(void) HuSetVecF(&var_r31->unk_134[var_r29], var_f29, var_f30, var_f28); if (lbl_1_bss_938[var_r29]) { (void)var_r29; - } - else { + } else { (void)var_r29; } Hu3DModelPosSet(var_r30, var_f29 + (2000.0f * (var_r28 % 2)), var_f30, var_f28 + (2000.0f * (var_r28 / 2))); @@ -821,7 +812,7 @@ void fn_1_1E04(void) var_r31->unk_14[var_r29] = CharModelMotionCreate(lbl_1_data_30[GWPlayerCfg[var_r28].character], lbl_1_data_50[var_r29]); } CharModelMotionSet(lbl_1_data_30[GWPlayerCfg[var_r28].character], var_r31->unk_14[0]); - Hu3DModelAttrSet(var_r31->unk_12, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r31->unk_12, 0x40000001); CharModelMotionDataClose(lbl_1_data_30[GWPlayerCfg[var_r28].character]); var_r25 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 0), MEMORY_DEFAULT_NUM)); @@ -884,7 +875,7 @@ void fn_1_1E04(void) lbl_1_bss_A10 = var_r30; Hu3DModelScaleSet(var_r30, 0.5f, 0.5f, 0.5f); Hu3DModelCameraSet(var_r30, 16); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(var_r30, 0x40000002); var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M414, 40), MEMORY_DEFAULT_NUM, HEAP_DATA); var_r30 = Hu3DModelCreate(var_r27); @@ -965,8 +956,7 @@ void fn_1_3B34(void) var_f31 = (0.5 * var_f31) + (0.5 * (1.0f - ((1.0f - var_f31) * (1.0f - var_f31)))); if (var_f31 < 0.75) { var_f29 = var_f31 / 0.75; - } - else { + } else { var_f29 = 1.0; } var_f30 = var_f29; @@ -994,8 +984,7 @@ void fn_1_3D48(s32 arg0, s32 arg1) var_r28 = lbl_1_bss_97C[var_r31->unk_44]; if (arg1 == 0) { lbl_1_bss_97C[var_r31->unk_44]++; - } - else { + } else { lbl_1_bss_97C[var_r31->unk_44]--; } for (var_r30 = 0; var_r30 < 3; var_r30++) { @@ -1005,12 +994,11 @@ void fn_1_3D48(s32 arg0, s32 arg1) var_r29->user_data = var_r31; var_r31->unk_5C = var_r30; } - HuSprAttrSet(var_r31->unk_2E, (var_r30 * 2) + 2, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r31->unk_2E, (var_r30 * 2) + 3, HUSPR_ATTR_DISPOFF); - } - else { - HuSprAttrReset(var_r31->unk_2E, (var_r30 * 2) + 2, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(var_r31->unk_2E, (var_r30 * 2) + 3, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(var_r31->unk_2E, (var_r30 * 2) + 2, 4); + HuSprAttrReset(var_r31->unk_2E, (var_r30 * 2) + 3, 4); + } else { + HuSprAttrReset(var_r31->unk_2E, (var_r30 * 2) + 2, 4); + HuSprAttrSet(var_r31->unk_2E, (var_r30 * 2) + 3, 4); } } } @@ -1052,24 +1040,21 @@ void fn_1_3ECC(void) var_f31 = 40.0f * ((var_r30 + 2) / 2); if (var_r31->unk_70 - var_f31 >= 0.0f) { var_f29 = var_r31->unk_70 - var_f31; - } - else { + } else { var_f29 = -(var_r31->unk_70 - var_f31); } if (var_f29 < 45.0f || (0.0f == var_r31->unk_70 && var_r30 >= 14)) { if (var_r30 == fn_1_654C(var_r31->unk_44, 0) || var_r30 == fn_1_654C(var_r31->unk_44, 1)) { if (var_r31->unk_44 & 1) { HuAudFXPlay(1434); - } - else { + } else { HuAudFXPlay(1433); } - } - else { + } else { HuAudFXPlay(1450); } } - Hu3DModelAttrReset(var_r31->unk_D4[var_r30], HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_REV | HU3D_MOTATTR_SHAPE_PAUSE | HU3D_MOTATTR_SHAPE_REV); + Hu3DModelAttrReset(var_r31->unk_D4[var_r30], 0x40000186); do { var_r28 = lbl_1_bss_990[var_r30][var_r29++]; if (var_r29 >= 4) { @@ -1084,26 +1069,23 @@ void fn_1_3ECC(void) } } while (lbl_1_bss_98C != 5 && var_r31->unk_1F8 != -1 && lbl_1_bss_978 == lbl_1_bss_938[var_r31->unk_1F8]); - Hu3DModelAttrReset(var_r31->unk_D4[var_r30], HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_SHAPE_PAUSE); - Hu3DModelAttrSet(var_r31->unk_D4[var_r30], HU3D_MOTATTR_REV | HU3D_MOTATTR_SHAPE_REV); + Hu3DModelAttrReset(var_r31->unk_D4[var_r30], 0x40000082); + Hu3DModelAttrSet(var_r31->unk_D4[var_r30], 0x40000104); HuPrcSleep(10); var_f30 = 40.0f * ((var_r30 + 2) / 2); if (var_r31->unk_70 - var_f30 >= 0.0f) { var_f28 = var_r31->unk_70 - var_f30; - } - else { + } else { var_f28 = -(var_r31->unk_70 - var_f30); } if (var_f28 < 45.0f || (0.0f == var_r31->unk_70 && var_r30 >= 14)) { if (var_r30 == fn_1_654C(var_r31->unk_44, 0) || var_r30 == fn_1_654C(var_r31->unk_44, 1)) { if (var_r31->unk_44 & 1) { HuAudFXPlay(1436); - } - else { + } else { HuAudFXPlay(1435); } - } - else { + } else { HuAudFXPlay(1452); } } @@ -1140,25 +1122,22 @@ void fn_1_42AC(void) HuPrcSleep(30); if (var_r31->unk_44 & 1) { HuAudFXPlay(1444); - } - else { + } else { HuAudFXPlay(1443); } if (var_r31->unk_44 & 1) { HuAudFXPlay(1448); - } - else { + } else { HuAudFXPlay(1447); } if (var_r30->unk_08) { var_f24 = -200.0 * (sind(lbl_1_bss_920[var_r27]) * cos(0.0)); var_f26 = 150.0 + (-200.0 * sin(0.0)); var_f23 = -200.0 * (cos(0.0) * cosd(lbl_1_bss_920[var_r27])); - } - else { - var_f24 = -200.0 * (sind(lbl_1_bss_920[var_r27]) * cosd(20)); - var_f26 = 150.0 + -200.0 * sind(-20); - var_f23 = -200.0 * (cosd(-20) * cosd(lbl_1_bss_920[var_r27])); + } else { + var_f24 = -200.0 * (sind(lbl_1_bss_920[var_r27]) * cos(0.3490658503988659)); + var_f26 = 150.0 + (-200.0 * sin(-0.3490658503988659)); + var_f23 = -200.0 * (cos(-0.3490658503988659) * cosd(lbl_1_bss_920[var_r27])); } if (!lbl_1_bss_938[var_r30->unk_04]) { var_f26 += 70.0f; @@ -1196,7 +1175,7 @@ void fn_1_42AC(void) HuPrcVSleep(); } var_r31->unk_F4[var_r30->unk_04] = 1; - Hu3DModelAttrSet(var_r31->unk_94[var_r30->unk_04], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_94[var_r30->unk_04], 1); for (var_r28 = 0, sp8[0] = 0; var_r28 < 4; var_r28++) { if (lbl_1_bss_97C[var_r28] >= 3) { break; @@ -1207,13 +1186,12 @@ void fn_1_42AC(void) } CharModelMotionSpeedSet(lbl_1_data_30[GWPlayerCfg[var_r31->unk_44].character], 1.0f); if (var_r30->unk_08) { - CharModelMotionShiftSet(lbl_1_data_30[GWPlayerCfg[var_r31->unk_44].character], var_r31->unk_14[1], 60.0f, 5.0f, HU3D_MOTATTR_NONE); - } - else { - CharModelMotionShiftSet(lbl_1_data_30[GWPlayerCfg[var_r31->unk_44].character], var_r31->unk_14[1], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(lbl_1_data_30[GWPlayerCfg[var_r31->unk_44].character], var_r31->unk_14[1], 60.0f, 5.0f, 0); + } else { + CharModelMotionShiftSet(lbl_1_data_30[GWPlayerCfg[var_r31->unk_44].character], var_r31->unk_14[1], 0.0f, 5.0f, 0); } HuPrcSleep(5); - Hu3DModelAttrSet(var_r31->unk_12, HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(var_r31->unk_12, 0x40000002); CharModelMotionSpeedSet(lbl_1_data_30[GWPlayerCfg[var_r31->unk_44].character], 2.0f); var_r30->unk_0C = 0; HuPrcSleep(5); @@ -1275,8 +1253,7 @@ s32 fn_1_4C74(UnkM414BssF0Struct *arg0) } if (var_r29 - sp8[var_r31] >= 0) { var_r25 = var_r29 - sp8[var_r31]; - } - else { + } else { var_r25 = -(var_r29 - sp8[var_r31]); } var_r27 = var_r25; @@ -1328,7 +1305,7 @@ inline s32 fn_1_4C74_inline(UnkM414BssF0Struct *arg0) if (!var_r31) { return 0; } - + return var_r29 - sp8[var_r26]; } @@ -1377,17 +1354,14 @@ void fn_1_4E10(UnkM414BssF0Struct *arg0) if (!(Hu3DModelMotionAttrGet(arg0->unk_D4[fn_1_654C(arg0->unk_44, 0)]) & 0x40000004)) { arg0->unk_200 = 256; } - } - else { + } else { arg0->unk_1FD = -50; } - } - else if (lbl_1_bss_978 == lbl_1_bss_938[fn_1_654C(arg0->unk_44, 1)] && !arg0->unk_F4[fn_1_654C(arg0->unk_44, 1)]) { + } else if (lbl_1_bss_978 == lbl_1_bss_938[fn_1_654C(arg0->unk_44, 1)] && !arg0->unk_F4[fn_1_654C(arg0->unk_44, 1)]) { if (!(Hu3DModelMotionAttrGet(arg0->unk_D4[fn_1_654C(arg0->unk_44, 1)]) & 0x40000004)) { arg0->unk_200 = 256; } - } - else { + } else { arg0->unk_1FD = 50; } } @@ -1415,15 +1389,50 @@ s8 fn_1_5554(s32 arg0, s32 arg1) // similar to m411Dll/main.c::fn_1_5D58 { UnkM414BssF0Struct *var_r31; s8 var_r30; + s8 var_r29; + s8 var_r28; var_r31 = &lbl_1_bss_F0[arg0]; var_r30 = 0; if (lbl_1_bss_98C < 4) { if (!GWPlayerCfg[arg0].iscom) { - (arg1) ? (var_r30 = HuPadStkY[var_r31->unk_4C]) : (var_r30 = HuPadStkX[var_r31->unk_4C]); + if (arg1) { + var_r30 = HuPadStkY[var_r31->unk_4C]; + var_r29 = var_r30; + } else { + var_r30 = HuPadStkX[var_r31->unk_4C]; + var_r29 = var_r30; + } + (void)var_r31; + } else if (arg1) { + var_r30 = var_r31->unk_1FD; + var_r28 = var_r30; + } else { + var_r30 = var_r31->unk_1FC; + var_r28 = var_r30; } - else { - (arg1) ? (var_r30 = var_r31->unk_1FD) : (var_r30 = var_r31->unk_1FC); + } + return var_r30; +} + + +static inline s8 fn_1_5554_inline(s32 arg0, s32 arg1) // similar to m411Dll/main.c::fn_1_5D58 +{ + UnkM414BssF0Struct *var_r31; + s8 var_r30; + var_r31 = &lbl_1_bss_F0[arg0]; + var_r30 = 0; + if (lbl_1_bss_98C < 4) { + if (!GWPlayerCfg[arg0].iscom) { + if (arg1) { + var_r30 = HuPadStkY[var_r31->unk_4C]; + } else { + var_r30 = HuPadStkX[var_r31->unk_4C]; + } + } else if (arg1) { + var_r30 = var_r31->unk_1FD; + } else { + var_r30 = var_r31->unk_1FC; } } return var_r30; @@ -1433,15 +1442,46 @@ u8 fn_1_5624(s32 arg0, s32 arg1) { UnkM414BssF0Struct *var_r31; s8 var_r30; + s8 var_r29; + s8 var_r28; var_r31 = &lbl_1_bss_F0[arg0]; var_r30 = 0; if (lbl_1_bss_98C < 4) { if (!GWPlayerCfg[arg0].iscom) { - (arg1) ? (var_r30 = HuPadTrigR[var_r31->unk_4C]) : (var_r30 = HuPadTrigL[var_r31->unk_4C]); + if (arg1) { + var_r29 = var_r30 = HuPadTrigR[var_r31->unk_4C]; + } else { + var_r29 = var_r30 = HuPadTrigL[var_r31->unk_4C]; + } + (void)var_r31; + } else if (arg1) { + var_r28 = var_r30 = var_r31->unk_1FE; + } else { + var_r28 = var_r30 = var_r31->unk_1FF; } - else { - (arg1) ? (var_r30 = var_r31->unk_1FE) : (var_r30 = var_r31->unk_1FF); + } + return var_r30; +} + +static inline u8 fn_1_5624_inline(s32 arg0, s32 arg1) +{ + UnkM414BssF0Struct *var_r31; + s8 var_r30; + + var_r31 = &lbl_1_bss_F0[arg0]; + var_r30 = 0; + if (lbl_1_bss_98C < 4) { + if (!GWPlayerCfg[arg0].iscom) { + if (arg1) { + var_r30 = HuPadTrigR[var_r31->unk_4C]; + } else { + var_r30 = HuPadTrigL[var_r31->unk_4C]; + } + } else if (arg1) { + var_r30 = var_r31->unk_1FE; + } else { + var_r30 = var_r31->unk_1FF; } } return var_r30; @@ -1457,11 +1497,14 @@ u16 fn_1_56FC(s32 arg0) if (lbl_1_bss_98C < 4) { if (!GWPlayerCfg[arg0].iscom) { var_r30 = HuPadBtnDown[var_r31->unk_4C]; - } - else { + } else { var_r30 = var_r31->unk_200; } } + (void)var_r31; + (void)var_r31; + (void)var_r31; + (void)var_r31; return var_r30; } @@ -1488,22 +1531,19 @@ void fn_1_5780(UnkM414BssF0Struct *arg0, float arg8) } if (var_f30 - var_f31 >= 0.0f) { var_f27 = var_f30 - var_f31; - } - else { + } else { var_f27 = -(var_f30 - var_f31); } var_f28 = var_f27; if (var_f28 < var_f29 || arg0->unk_F4[var_r31] == 1) { - Hu3DModelAttrSet(arg0->unk_94[var_r31], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrReset(arg0->unk_94[var_r31], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->unk_94[var_r31], 1); + } else { + Hu3DModelAttrReset(arg0->unk_94[var_r31], 1); } if (var_f28 < var_f29) { - Hu3DModelAttrSet(arg0->unk_D4[var_r31], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrReset(arg0->unk_D4[var_r31], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->unk_D4[var_r31], 1); + } else { + Hu3DModelAttrReset(arg0->unk_D4[var_r31], 1); } if (var_r31 & 1) { var_f30 += 40.0f; @@ -1520,16 +1560,14 @@ void fn_1_5780(UnkM414BssF0Struct *arg0, float arg8) } if (var_f30 - var_f31 >= 0.0f) { var_f26 = var_f30 - var_f31; - } - else { + } else { var_f26 = -(var_f30 - var_f31); } var_f28 = var_f26; if (var_f28 < var_f29) { - Hu3DModelAttrSet(arg0->unk_00[var_r31], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrReset(arg0->unk_00[var_r31], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->unk_00[var_r31], 1); + } else { + Hu3DModelAttrReset(arg0->unk_00[var_r31], 1); } } } @@ -1557,8 +1595,7 @@ void fn_1_5A3C(void) if (var_r31->unk_04) { var_f30 = 40.0f + lbl_1_bss_920[var_r28]; var_f29 = 40.0f; - } - else { + } else { var_f30 = lbl_1_bss_920[var_r28] - 40.0f; var_f29 = -40.0f; } @@ -1569,35 +1606,33 @@ void fn_1_5A3C(void) var_f30 += 360.0f; } for (var_r30 = 0; var_r30 < 9; var_r30++) { - Hu3DModelAttrSet(var_r31->unk_00->unk_00[var_r30], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(var_r31->unk_00->unk_00[var_r30], 0x40000002); } for (var_r30 = 0, var_f28 = 0.0f; var_r30 < 10; var_r30++, var_f28 += 9.0f) { - var_f27 = (var_f29 / 2) * (1.0 - cosd(var_f28)); + var_f27 = (var_f29/2) * (1.0 - cosd(var_f28)); lbl_1_bss_920[var_r28] = var_f26 + var_f27; for (var_r29 = 0; var_r29 < 9; var_r29++) { if (!var_r31->unk_04) { var_f31 = (var_f27 / var_f29) * Hu3DMotionMaxTimeGet(var_r31->unk_00->unk_00[var_r29]); - } - else { + } else { var_f31 = Hu3DMotionMaxTimeGet(var_r31->unk_00->unk_00[var_r29]) - (var_f27 / var_f29) * Hu3DMotionMaxTimeGet(var_r31->unk_00->unk_00[var_r29]); } - Hu3DMotionTimeSet(var_r31->unk_00->unk_00[var_r29], ABS_INV(var_f31)); + Hu3DMotionTimeSet(var_r31->unk_00->unk_00[var_r29], var_f31 >= 0.0f ? var_f31 : -var_f31); } HuPrcVSleep(); } for (var_r30 = 0, var_f28 = 0.0f; var_r30 < 10; var_r30++, var_f28 += 9.0f) { - var_f27 = (var_f29 / 2) + ((var_f29 / 2) * sind(var_f28)); + var_f27 = (var_f29/2) + ((var_f29/2) * sind(var_f28)); lbl_1_bss_920[var_r28] = var_f26 + var_f27; for (var_r29 = 0; var_r29 < 9; var_r29++) { if (!var_r31->unk_04) { var_f31 = (var_f27 / var_f29) * Hu3DMotionMaxTimeGet(var_r31->unk_00->unk_00[var_r29]); - } - else { + } else { var_f31 = Hu3DMotionMaxTimeGet(var_r31->unk_00->unk_00[var_r29]) - (var_f27 / var_f29) * Hu3DMotionMaxTimeGet(var_r31->unk_00->unk_00[var_r29]); } - Hu3DMotionTimeSet(var_r31->unk_00->unk_00[var_r29], ABS_INV(var_f31)); + Hu3DMotionTimeSet(var_r31->unk_00->unk_00[var_r29], var_f31 >= 0.0f ? var_f31 : -var_f31); } HuPrcVSleep(); } @@ -1605,8 +1640,7 @@ void fn_1_5A3C(void) for (var_r30 = 0; var_r30 < 9; var_r30++) { Hu3DMotionTimeSet(var_r31->unk_00->unk_00[var_r30], Hu3DMotionMaxTimeGet(var_r31->unk_00->unk_00[var_r30])); } - } - else { + } else { for (var_r30 = 0; var_r30 < 9; var_r30++) { Hu3DMotionTimeSet(var_r31->unk_00->unk_00[var_r30], 0.0f); } @@ -1636,8 +1670,7 @@ void fn_1_5EE8(void) if (var_r31->unk_04) { var_f31 = 40.0f + lbl_1_bss_920[var_r29]; var_f29 = 40.0f; - } - else { + } else { var_f31 = lbl_1_bss_920[var_r29] - 40.0f; var_f29 = -40.0f; } @@ -1648,11 +1681,11 @@ void fn_1_5EE8(void) var_f31 += 360.0f; } for (var_r30 = 0, var_f30 = 0.0f; var_r30 < 15; var_r30++, var_f30 += 6.0f) { - var_r31->unk_00->unk_70 = var_f28 + ((var_f29 / 2) * (1.0 - cosd(var_f30))); + var_r31->unk_00->unk_70 = var_f28 + ((var_f29/2) * (1.0 - cosd(var_f30))); HuPrcVSleep(); } for (var_r30 = 0, var_f30 = 0.0f; var_r30 < 15; var_r30++, var_f30 += 6.0f) { - var_r31->unk_00->unk_70 = (var_f29 / 2) + (var_f28 + ((var_f29 / 2) * sind(var_f30))); + var_r31->unk_00->unk_70 = (var_f29/2) + (var_f28 + ((var_f29/2) * sind(var_f30))); HuPrcVSleep(); } var_r31->unk_00->unk_70 = var_f31; @@ -1705,6 +1738,8 @@ s32 fn_1_654C(s32 arg0, s32 arg1) if (var_r31 >= 16) { var_r31 = -1; } + (void)var_r31; + (void)var_r31; return var_r31; } @@ -1755,8 +1790,7 @@ void fn_1_6644(void) if (0.0f == Hu3DMotionTimeGet(var_r31->unk_20)) { Hu3DMotionSet(var_r31->unk_20, var_r31->unk_22[0]); var_r31->unk_1F4 = 1; - } - else { + } else { var_r31->unk_1F4 = 2; Hu3DMotionSet(var_r31->unk_20, var_r31->unk_22[0]); Hu3DMotionTimeSet(var_r31->unk_20, Hu3DMotionMaxTimeGet(var_r31->unk_20)); @@ -1766,15 +1800,15 @@ void fn_1_6644(void) var_r31->unk_1F4 = 1; var_r31->unk_1F8 = -1; Hu3DMotionSet(var_r31->unk_20, var_r31->unk_22[0]); - Hu3DModelAttrSet(var_r31->unk_20, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(var_r31->unk_20, HU3D_MOTATTR_REV); + Hu3DModelAttrSet(var_r31->unk_20, 0x40000002); + Hu3DModelAttrReset(var_r31->unk_20, 0x40000004); Hu3DMotionSpeedSet(var_r31->unk_20, 2.0f); } if (var_r31->unk_1F4 == 5 && Hu3DMotionEndCheck(var_r31->unk_20)) { var_r31->unk_1F4 = 2; var_r31->unk_1F8 = -1; Hu3DMotionSet(var_r31->unk_20, var_r31->unk_22[0]); - Hu3DModelAttrReset(var_r31->unk_20, HU3D_MOTATTR_REV); + Hu3DModelAttrReset(var_r31->unk_20, 0x40000004); Hu3DMotionTimeSet(var_r31->unk_20, Hu3DMotionMaxTimeGet(var_r31->unk_20)); Hu3DMotionSpeedSet(var_r31->unk_20, 2.0f); } @@ -1785,61 +1819,55 @@ void fn_1_6644(void) if (!var_r31->unk_F4[var_r29]) { if (var_r31->unk_44 & 1) { HuAudFXPlay(1442); - } - else { + } else { HuAudFXPlay(1441); } omVibrate(var_r31->unk_44, 12, 6, 6); var_r31->unk_1F4 = 4; var_r31->unk_1F8 = var_r29; Hu3DMotionSet(var_r31->unk_20, var_r31->unk_22[1]); - Hu3DModelAttrReset(var_r31->unk_20, HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_REV); + Hu3DModelAttrReset(var_r31->unk_20, 0x40000006); Hu3DMotionSpeedSet(var_r31->unk_20, 1.0f); var_r30 = HuPrcChildCreate(fn_1_6134, 8192, 8192, 0, HuPrcCurrentGet()); var_r30->user_data = var_r31; if (lbl_1_bss_978 == lbl_1_bss_938[var_r29] && fn_1_65DC(var_r31, var_r29)) { - Hu3DModelAttrReset( - var_r31->unk_D4[var_r29], HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_REV | HU3D_MOTATTR_SHAPE_PAUSE | HU3D_MOTATTR_SHAPE_REV); - var_r30 = HuPrcChildCreate(fn_1_42AC, 8192, 8192, 0, HuPrcCurrentGet()); - var_r30->user_data = &sp8C; - sp8C.unk_00 = var_r31; - sp8C.unk_08 = 0; - sp8C.unk_0C = 1; - sp8C.unk_04 = fn_1_654C(var_r31->unk_44, sp8C.unk_08); - while (sp8C.unk_0C) { - HuPrcVSleep(); - } - } - else { + Hu3DModelAttrReset(var_r31->unk_D4[var_r29], 0x40000186); + var_r30 = HuPrcChildCreate(fn_1_42AC, 8192, 8192, 0, HuPrcCurrentGet()); + var_r30->user_data = &sp8C; + sp8C.unk_00 = var_r31; + sp8C.unk_08 = 0; + sp8C.unk_0C = 1; + sp8C.unk_04 = fn_1_654C(var_r31->unk_44, sp8C.unk_08); + while (sp8C.unk_0C) { + HuPrcVSleep(); + } + } else { HuPrcSleep(10); - Hu3DModelAttrReset(var_r31->unk_D4[var_r29], HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_SHAPE_PAUSE); - Hu3DModelAttrSet(var_r31->unk_D4[var_r29], HU3D_MOTATTR_REV | HU3D_MOTATTR_SHAPE_REV); + Hu3DModelAttrReset(var_r31->unk_D4[var_r29], 0x40000082); + Hu3DModelAttrSet(var_r31->unk_D4[var_r29], 0x40000104); HuPrcSleep(10); omVibrate(var_r31->unk_44, 12, 4, 2); var_r30 = HuPrcChildCreate(fn_1_1C48, 8192, 8192, 0, HuPrcCurrentGet()); var_r30->user_data = var_r31; fn_1_CD8(0, var_r31->unk_44, 5.0f); - Hu3DModelAttrSet(var_r31->unk_20, HU3D_MOTATTR_REV); + Hu3DModelAttrSet(var_r31->unk_20, 0x40000004); HuPrcSleep(10); if (var_r31->unk_44 & 1) { HuAudFXPlay(1444); - } - else { + } else { HuAudFXPlay(1443); } - Hu3DModelAttrReset(var_r31->unk_D4[var_r29], HU3D_MOTATTR_REV); + Hu3DModelAttrReset(var_r31->unk_D4[var_r29], 0x40000004); HuPrcSleep(10); } } - } - else if (var_r31->unk_1F4 == 2) { + } else if (var_r31->unk_1F4 == 2) { var_r29 = fn_1_654C(var_r31->unk_44, 1); if (!var_r31->unk_F4[var_r29]) { if (var_r31->unk_44 & 1) { HuAudFXPlay(1442); - } - else { + } else { HuAudFXPlay(1441); } omVibrate(var_r31->unk_44, 12, 6, 6); @@ -1850,77 +1878,71 @@ void fn_1_6644(void) var_r30 = HuPrcChildCreate(fn_1_6134, 8192, 8192, 0, HuPrcCurrentGet()); var_r30->user_data = var_r31; if (lbl_1_bss_978 == lbl_1_bss_938[var_r29] && fn_1_65DC(var_r31, var_r29)) { - Hu3DModelAttrReset( - var_r31->unk_D4[var_r29], HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_REV | HU3D_MOTATTR_SHAPE_PAUSE | HU3D_MOTATTR_SHAPE_REV); - var_r30 = HuPrcChildCreate(fn_1_42AC, 8192, 8192, 0, HuPrcCurrentGet()); - var_r30->user_data = &sp8C; - sp8C.unk_00 = var_r31; - sp8C.unk_08 = 1; - sp8C.unk_0C = 1; - sp8C.unk_04 = fn_1_654C(var_r31->unk_44, sp8C.unk_08); - while (sp8C.unk_0C) { - HuPrcVSleep(); - } - } - else { + Hu3DModelAttrReset(var_r31->unk_D4[var_r29], 0x40000186); + var_r30 = HuPrcChildCreate(fn_1_42AC, 8192, 8192, 0, HuPrcCurrentGet()); + var_r30->user_data = &sp8C; + sp8C.unk_00 = var_r31; + sp8C.unk_08 = 1; + sp8C.unk_0C = 1; + sp8C.unk_04 = fn_1_654C(var_r31->unk_44, sp8C.unk_08); + while (sp8C.unk_0C) { + HuPrcVSleep(); + } + } else { HuPrcSleep(10); - Hu3DModelAttrReset(var_r31->unk_D4[var_r29], HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_SHAPE_PAUSE); - Hu3DModelAttrSet(var_r31->unk_D4[var_r29], HU3D_MOTATTR_REV | HU3D_MOTATTR_SHAPE_REV); + Hu3DModelAttrReset(var_r31->unk_D4[var_r29], 0x40000082); + Hu3DModelAttrSet(var_r31->unk_D4[var_r29], 0x40000104); HuPrcSleep(10); omVibrate(var_r31->unk_44, 12, 4, 2); var_r30 = HuPrcChildCreate(fn_1_1C48, 8192, 8192, 0, HuPrcCurrentGet()); var_r30->user_data = var_r31; fn_1_CD8(0, var_r31->unk_44, 5.0f); - Hu3DModelAttrSet(var_r31->unk_20, HU3D_MOTATTR_REV); + Hu3DModelAttrSet(var_r31->unk_20, 0x40000004); HuPrcSleep(15); if (var_r31->unk_44 & 1) { HuAudFXPlay(1444); - } - else { + } else { HuAudFXPlay(1443); } - Hu3DModelAttrReset(var_r31->unk_D4[var_r29], HU3D_MOTATTR_REV); + Hu3DModelAttrReset(var_r31->unk_D4[var_r29], 0x40000004); HuPrcSleep(15); } } } } } - if (fn_1_5554(var_r31->unk_44, 1) > 20 && (var_r31->unk_1F4 == 2 || var_r31->unk_1F4 == 0)) { - Hu3DModelAttrReset(var_r31->unk_20, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(var_r31->unk_20, HU3D_MOTATTR_REV); + if (fn_1_5554_inline(var_r31->unk_44, 1) > 20 && (var_r31->unk_1F4 == 2 || var_r31->unk_1F4 == 0)) { // wrong + Hu3DModelAttrReset(var_r31->unk_20, 0x40000002); + Hu3DModelAttrSet(var_r31->unk_20, 0x40000004); var_r31->unk_1F4 = 3; - Hu3DModelAttrReset(var_r31->unk_12, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(var_r31->unk_12, HU3D_MOTATTR_REV); + Hu3DModelAttrReset(var_r31->unk_12, 0x40000002); + Hu3DModelAttrSet(var_r31->unk_12, 0x40000004); Hu3DMotionSpeedSet(var_r31->unk_12, 2.0f); } - if (fn_1_5554(var_r31->unk_44, 1) < -20 && (var_r31->unk_1F4 == 1 || var_r31->unk_1F4 == 0)) { - Hu3DModelAttrReset(var_r31->unk_20, HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_REV); + if (fn_1_5554_inline(var_r31->unk_44, 1) < -20 && (var_r31->unk_1F4 == 1 || var_r31->unk_1F4 == 0)) { // wrong + Hu3DModelAttrReset(var_r31->unk_20, 0x40000006); var_r31->unk_1F4 = 3; - Hu3DModelAttrReset(var_r31->unk_12, HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_REV); + Hu3DModelAttrReset(var_r31->unk_12, 0x40000006); Hu3DMotionSpeedSet(var_r31->unk_12, 2.0f); } if (!var_r31->unk_58) { var_r28 = -1; - if (fn_1_5624(var_r31->unk_44, 0) > 20 && var_r28 == -1) { + if (fn_1_5624_inline(var_r31->unk_44, 0) > 20 && var_r28 == -1) { // wrong var_r28 = 1; } - if (fn_1_5624(var_r31->unk_44, 1) > 20 && var_r28 == -1) { + if (fn_1_5624_inline(var_r31->unk_44, 1) > 20 && var_r28 == -1) { // wrong var_r28 = 0; } if (var_r28 != -1) { if (var_r28) { if (var_r31->unk_44 & 1) { HuAudFXPlay(1440); - } - else { + } else { HuAudFXPlay(1439); } - } - else if (var_r31->unk_44 & 1) { + } else if (var_r31->unk_44 & 1) { HuAudFXPlay(1438); - } - else { + } else { HuAudFXPlay(1437); } var_r31->unk_58 = 1; @@ -1933,6 +1955,8 @@ void fn_1_6644(void) var_r30->user_data = &sp9C; sp9C.unk_00 = var_r31; sp9C.unk_04 = var_r28; + (void)var_r28; + (void)var_r28; } } var_r31->unk_60 = 37.0 * sind(var_r31->unk_70); @@ -1966,8 +1990,8 @@ void fn_1_76F4(void) var_f29 = Hu3DMotionMaxTimeGet(var_r31->unk_20); sp14.y = 220.0f + (350.0f * (1.0f - (Hu3DMotionTimeGet(var_r31->unk_20) / var_f29))); Hu3D3Dto2D(&sp14, 1 << var_r31->unk_48, &sp8); - var_f31 = (282.0f * (var_r31->unk_44 % 2)) + (sp8.x / 2); - var_f30 = (225.0f * (var_r31->unk_44 / 2)) + (sp8.y / 2); + var_f31 = (282.0f * (var_r31->unk_44 % 2)) + (sp8.x /2); + var_f30 = (225.0f * (var_r31->unk_44 / 2)) + (sp8.y /2); var_f31 += 3.0f; var_f30 -= 15.0f; HuSprGrpPosSet(var_r31->unk_2C, var_f31, var_f30); @@ -2006,7 +2030,7 @@ void fn_1_79A8(void) } Hu3DCameraViewportSet(16, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f); Hu3DCameraScissorSet(16, 0, 0, 0, 0); - Hu3DModelAttrSet(lbl_1_bss_A10, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(lbl_1_bss_A10, 1); HuPrcSleep(30); for (var_r29 = 0; var_r29 < 45; var_r29++) { for (var_r30 = 0; var_r30 < 4; var_r30++) { @@ -2035,19 +2059,19 @@ void fn_1_79A8(void) CharModelMotionSpeedSet(lbl_1_data_30[GWPlayerCfg[var_r31->unk_44].character], 1.0f); for (var_r30 = 0; var_r30 < 4; var_r30++) { var_r31 = &lbl_1_bss_F0[var_r30]; - CharModelMotionShiftSet(lbl_1_data_30[GWPlayerCfg[var_r31->unk_44].character], var_r31->unk_14[1], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(lbl_1_data_30[GWPlayerCfg[var_r31->unk_44].character], var_r31->unk_14[1], 0.0f, 5.0f, 0); } HuPrcSleep(5); for (var_r30 = 0; var_r30 < 4; var_r30++) { var_r31 = &lbl_1_bss_F0[var_r30]; - Hu3DModelAttrSet(var_r31->unk_12, HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(var_r31->unk_12, 1073741826); } HuPrcChildCreate(fn_1_397C, 4096, 8192, 0, HuPrcCurrentGet()); for (var_r30 = 0; var_r30 < 4; var_r30++) { var_r28 = &lbl_1_bss_F0[var_r30]; var_r27 = HuPrcChildCreate(fn_1_76F4, 8192, 8192, 0, HuPrcCurrentGet()); var_r27->user_data = var_r28; - HuSprAttrReset(var_r28->unk_2C, 0, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r28->unk_2C, 0, 4); } for (var_r29 = 0, var_f27 = 0.0f; var_r29 < 15; var_r29++) { var_f27 += 0.06666667f; @@ -2101,7 +2125,7 @@ void fn_1_7FC8(s32 arg0) if (lbl_1_bss_978 == 2) { Hu3DModelScaleSet(var_r30->unk_94[var_r28], 1.0f, 1.0f, 1.0f); } - Hu3DModelAttrReset(var_r30->unk_94[var_r28], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r30->unk_94[var_r28], 1); Hu3DModelShadowSet(var_r30->unk_94[var_r28]); if (var_r29++ >= 2) { break; @@ -2120,13 +2144,13 @@ void fn_1_7FC8(s32 arg0) var_r29 -= 9; } for (var_r28 = 0; var_r28 < 6; var_r28++) { - Hu3DModelAttrSet(var_r30->unk_30[var_r29], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r30->unk_30[var_r29], 1); var_r29++; if (var_r29 >= 9) { var_r29 = 0; } } - Hu3DModelAttrReset(var_r30->unk_42, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r30->unk_42, 1); Hu3DModelRotSet(var_r30->unk_42, 0.0f, lbl_1_bss_920[var_r30->unk_44], 0.0f); } for (var_r28 = 0; var_r28 < 30; var_r28++) { @@ -2138,13 +2162,13 @@ void fn_1_7FC8(s32 arg0) HuAudFXPlay(lbl_1_data_8C[lbl_1_bss_978]); for (var_r29 = 0; var_r29 < 4; var_r29++) { var_r31 = &lbl_1_bss_F0[var_r29]; - CharModelMotionShiftSet(lbl_1_data_30[GWPlayerCfg[var_r31->unk_44].character], var_r31->unk_14[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(lbl_1_data_30[GWPlayerCfg[var_r31->unk_44].character], var_r31->unk_14[0], 0.0f, 5.0f, 0x40000001); } HuPrcSleep(5); for (var_r29 = 0; var_r29 < 4; var_r29++) { var_r31 = &lbl_1_bss_F0[var_r29]; CharModelMotionSet(lbl_1_data_30[GWPlayerCfg[var_r31->unk_44].character], var_r31->unk_14[5]); - Hu3DModelAttrReset(var_r31->unk_12, HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(var_r31->unk_12, 0x40000001); CharModelMotionTimeSet(lbl_1_data_30[GWPlayerCfg[var_r31->unk_44].character], 61.0f); CharModelMotionSpeedSet(lbl_1_data_30[GWPlayerCfg[var_r31->unk_44].character], 2.0f); } @@ -2178,8 +2202,7 @@ void fn_1_88D4(void) while (TRUE) { if (var_r31->unk_1F4 == 4 || var_r31->unk_1F4 == 5 || var_r31->unk_58) { HuPrcVSleep(); - } - else { + } else { break; } } @@ -2209,8 +2232,7 @@ void fn_1_894C(void) } if (var_r31 < 4) { HuPrcVSleep(); - } - else { + } else { break; } } @@ -2328,13 +2350,12 @@ void fn_1_8A70(void) HuAudSStreamPlay(1); GWPlayerCoinWinSet(var_r29, 10); var_r28 = MGSeqCreate(5, 3, GWPlayerCfg[var_r29].character, -1, -1, -1); - } - else { + } else { HuAudSStreamPlay(4); var_r28 = MGSeqCreate(3, 2); } HuPrcSleep(210); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + WipeCreate(2, 0, 60); HuPrcSleep(60); HuAudFadeOut(1); MGSeqKillAll(); diff --git a/src/REL/m415Dll/main.c b/src/REL/m415Dll/main.c deleted file mode 100644 index 2053aed7..00000000 --- a/src/REL/m415Dll/main.c +++ /dev/null @@ -1,1916 +0,0 @@ -#include "REL/m415Dll.h" - -#include "ext_math.h" -#include "game/EnvelopeExec.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/esprite.h" -#include "game/frand.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "game/wipe.h" -#include "math.h" - -// bss -unkStruct5 lbl_1_bss_36C; -omObjData *lbl_1_bss_368; -omObjData *lbl_1_bss_364; -omObjData *lbl_1_bss_360; -omObjData *lbl_1_bss_35C; -omObjData *lbl_1_bss_34C[4]; -u16 lbl_1_bss_34A; -s16 lbl_1_bss_348; -s16 lbl_1_bss_346; -s16 lbl_1_bss_344; -s16 lbl_1_bss_342; -s16 lbl_1_bss_33A[4]; -s16 lbl_1_bss_338; -u8 *lbl_1_bss_334; -s32 lbl_1_bss_234[4][4][4]; -void *lbl_1_bss_34[0x80]; -s32 lbl_1_bss_2C[2]; -unkStruct lbl_1_bss_4[4]; -static s32 pad_05_00000000_bss; - -// data -Vec lbl_1_data_0 = { 0.0f, 3000.0f, 2000.0f }; -Vec lbl_1_data_C = { 0.0f, -0.7f, -0.6f }; -GXColor lbl_1_data_18 = { 0xFF, 0xFF, 0xFF, 0xFF }; -Vec lbl_1_data_1C = { 0.0f, 3000.0f, -2000.0f }; -Vec lbl_1_data_28 = { 0.0f, 1.0f, 0.0f }; -Vec lbl_1_data_34 = { 0.0f, 0.0f, 0.0f }; - -void ObjectSetup(void) -{ - s32 var_r31; - Process *temp_r30; - omObjData *var_r29; - LightData *var_r28; - s32 temp_r27; - s32 var_r26; - - OSReport("******* M415ObjectSetup *********\n"); - Hu3DLighInit(); - var_r26 = Hu3DGLightCreateV(&lbl_1_data_0, &lbl_1_data_C, &lbl_1_data_18); - Hu3DGLightInfinitytSet(var_r26); - var_r28 = &Hu3DGlobalLight[0]; - var_r28->unk_00 |= 0x8000; - temp_r30 = omInitObjMan(0x32, 0x2000); - temp_r27 = frand() & 0x1F; - - for (var_r31 = 0; var_r31 < temp_r27; var_r31++) { - fn_1_679C(); - } - - CRot.x = -55.0f; - CRot.y = 0.0f; - CRot.z = 0.0f; - Center.x = 0.0f; - Center.y = 200.0f; - Center.z = 200.0f; - CZoom = 1500.0f; - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, -1.0f, 5.0f, 10000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - lbl_1_bss_364 = omAddObjEx(temp_r30, 0x7FDA, 0, 0, -1, omOutView); - lbl_1_bss_368 = omAddObjEx(temp_r30, 0x10, 8, 0, -1, fn_1_43C); - lbl_1_bss_35C = omAddObjEx(temp_r30, 0x20, 0x10, 0, -1, fn_1_15D0); - lbl_1_bss_360 = omAddObjEx(temp_r30, 0x50, 0x10, 0, -1, fn_1_2B18); - omAddObjEx(temp_r30, 0x60, 0, 0, -1, fn_1_6304); - omMakeGroupEx(temp_r30, 0, 4); - omGetGroupMemberListEx(temp_r30, 0); - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_34C[var_r31] = var_r29 = omAddObjEx(temp_r30, 0x30, 6, 0xA, 0, fn_1_3208); - var_r29->work[0] = var_r31; - var_r29->work[1] = var_r31; - } - Hu3DShadowCreate(30.0f, 100.0f, 25000.0f); - Hu3DShadowTPLvlSet(0.4f); - Hu3DShadowPosSet(&lbl_1_data_1C, &lbl_1_data_28, &lbl_1_data_34); - omGameSysInit(temp_r30); - HuAudSndGrpSet(0x28); - fn_1_6368(); - fn_1_8780(0x40, 0x40); -} - -void fn_1_43C(omObjData *object) -{ - CameraData *var_r31; - - var_r31 = &Hu3DCamera[0]; - lbl_1_bss_34A = 0; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - var_r31->fov = 45.0f; - object->func = fn_1_4B0; -} - -void fn_1_4B0(omObjData *object) -{ - Vec sp14; - Vec sp8; - s32 var_r31; - f32 var_f31; - - switch (lbl_1_bss_34A) { - case 0: - sp14.x = 0.0f; - sp14.y = 200.0f; - sp14.z = 200.0f; - sp8.x = -55.0f; - sp8.y = 0.0f; - sp8.z = 0.0f; - var_f31 = 1500.0f; - fn_1_2E88(1.0f, &sp14, &sp8, var_f31); - fn_1_A94C(0x2E000D, 0, 0); - HuDataDirClose(0x2E000D); - fn_1_A94C(0x2E000C, 0x40, 0x40); - HuDataDirClose(0x2E000C); - lbl_1_bss_342 = 0x78; - HuAudFXPlay(0x5AE); - lbl_1_bss_34A++; - break; - case 1: - if (72.0f == lbl_1_bss_342) { - HuAudFXPlay(0x5AF); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - omVibrate(var_r31, 0xC, 4, 2); - } - } - if (--lbl_1_bss_342 == 0) { - lbl_1_bss_34A++; - } - break; - case 2: - if (lbl_1_bss_342 == 0) { - lbl_1_bss_342 = 90; - } - if (--lbl_1_bss_342 == 0) { - lbl_1_bss_34A++; - } - break; - case 3: - lbl_1_bss_34A = 4; - lbl_1_bss_348 = lbl_1_bss_346 = -1; - object->func = fn_1_7D8; - HuSprAnimRead(HuDataReadNum(0x2E000D, 0x10000000)); - break; - } - if ((omSysExitReq != 0) && (WipeStatGet() == 0)) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_14C0; - } -} - -extern s32 lbl_1_data_64 = -1; - -void fn_1_7D8(omObjData *object) -{ - GXColor sp18[4] = { { 0xF0, 0x00, 0x00, 0xFF }, { 0x30, 0x60, 0xF0, 0xFF }, { 0xE0, 0xE0, 0x00, 0xFF }, { 0xFF, 0x80, 0x80, 0xFF } }; - s32 sp8[4]; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - unkStruct2 *var_r25; - s16 temp_r24; - s16 temp_r23; - s16 var_r22; - - switch (lbl_1_bss_34A) { - case 4: - if (lbl_1_bss_346 == -1) { - lbl_1_bss_344 = 0x708; - lbl_1_bss_346 = MGSeqCreate(3, 0); - MGSeqPosSet(lbl_1_bss_346, 320.0f, 240.0f); - } - else { - if (MGSeqStatGet(lbl_1_bss_346) == 0) { - lbl_1_bss_346 = -1; - lbl_1_bss_34A++; - lbl_1_bss_342 = 0; - lbl_1_bss_348 = MGSeqCreate(1, lbl_1_bss_344 / 60, -1, -1); - } - } - if ((lbl_1_data_64 == -1) && ((MGSeqStatGet(lbl_1_bss_346) & 0x10) != 0)) { - lbl_1_data_64 = HuAudSeqPlay(0x45); - } - break; - case 5: - var_r27 = 0; - lbl_1_bss_344--; - MGSeqParamSet(lbl_1_bss_348, 1, ((lbl_1_bss_344 + 0x3B) / 60)); - if (lbl_1_bss_344 == 0) { - var_r27++; - } - if (var_r27 != 0) { - lbl_1_bss_34A += 1; - } - break; - case 6: - if (lbl_1_bss_346 == -1) { - lbl_1_bss_346 = MGSeqCreate(3, 1); - MGSeqPosSet(lbl_1_bss_346, 320.0f, 240.0f); - MGSeqParamSet(lbl_1_bss_348, 2, -1); - HuAudSeqFadeOut(lbl_1_data_64, 0x64); - } - else if (MGSeqStatGet(lbl_1_bss_346) == 0) { - lbl_1_bss_346 = -1; - lbl_1_bss_34A++; - lbl_1_bss_342 = 0; - } - break; - case 7: - if (lbl_1_bss_342 == 0) { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_4[var_r31].unk8 = espEntry(0x2E0010, 10, 0); - espColorSet(lbl_1_bss_4[var_r31].unk8, 0, 0, 0); - espTPLvlSet(lbl_1_bss_4[var_r31].unk8, 0.5f); - espPosSet( - lbl_1_bss_4[var_r31].unk8, 144.0f * (((var_r31 & 1) * 2) + 1), 120.0f * (((s16)(((var_r31 < 0) + var_r31) >> 1) << 1) + 1)); - lbl_1_bss_4[var_r31].unk6 = espEntry(0x2E000F, 10, 0); - espPosSet( - lbl_1_bss_4[var_r31].unk6, 144.0f * (((var_r31 & 1) * 2) + 1), 120.0f * (((s16)(((var_r31 < 0) + var_r31) >> 1) << 1) + 1)); - for (var_r30 = 0; var_r30 < 3; var_r30++) { - lbl_1_bss_4[var_r31].unk0[var_r30] = espEntry(0x2E0011, 10, 0); - espPosSet(lbl_1_bss_4[var_r31].unk0[var_r30], (32.0f * var_r30) + ((144.0f * (((var_r31 & 1) * 2) + 1)) - 32.0f), - (120.0f * (((s16)(((var_r31 < 0) + var_r31) >> 1) << 1) + 1))); - espColorSet(lbl_1_bss_4[var_r31].unk0[var_r30], sp18[var_r31].r, sp18[var_r31].g, sp18[var_r31].b); - } - espBankSet(lbl_1_bss_4[var_r31].unk0[2], 10); - } - lbl_1_bss_342 = 0x3C; - HuAudFXPlay(0x5B4); - } - else { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - for (var_r30 = 0; var_r30 < 2; var_r30++) { - espBankSet(lbl_1_bss_4[var_r31].unk0[var_r30], (s32)((fn_1_679C() / 65536.0f) * 10.0f)); - } - } - if (--lbl_1_bss_342 == 0) { - HuAudFXPlay(0x5B5); - var_r28 = 6; - for (var_r29 = 0; var_r29 < 4; var_r29++) { - sp8[var_r29] = 0; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - for (var_r30 = 0; var_r30 < 4; var_r30++) { - sp8[var_r29] += lbl_1_bss_234[var_r29][var_r31][var_r30]; - } - } - sp8[var_r29] = (0.99f + ((100.0f * sp8[var_r29]) / 360000.0f)); - if (var_r28 < sp8[var_r29]) { - var_r28 = sp8[var_r29]; - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - temp_r24 = sp8[var_r31]; - espBankSet(lbl_1_bss_4[var_r31].unk0[0], temp_r24 / 10); - espBankSet(lbl_1_bss_4[var_r31].unk0[1], temp_r24 % 10); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_33A[var_r31] = -1; - } - - var_r31 = 0; - var_r30 = 0; - for (; var_r31 < 4; var_r31++) { - if (sp8[var_r31] >= var_r28) { - var_r22 = GWPlayer[var_r31].coin_win; - temp_r23 = var_r22 + 10; - if (_CheckFlag(0x1000CU) == 0) { - GWPlayer[var_r31].coin_win = temp_r23; - } - lbl_1_bss_33A[var_r30++] = GWPlayerCfg[var_r31].character; - var_r25 = lbl_1_bss_34C[var_r31]->data; - var_r25->unkE = 1; - } - } - lbl_1_bss_342 = 0x3C; - lbl_1_bss_34A++; - } - } - break; - case 8: - if (lbl_1_bss_346 == -1) { - if (--lbl_1_bss_342 == 0) { - if (lbl_1_bss_33A[0] == -1) { - lbl_1_bss_346 = MGSeqCreate(3, 2); - HuAudSStreamPlay(4); - } - else { - lbl_1_bss_346 = MGSeqCreate(5, 3, lbl_1_bss_33A[0], lbl_1_bss_33A[1], lbl_1_bss_33A[2], lbl_1_bss_33A[3]); - HuAudSStreamPlay(1); - } - lbl_1_bss_346 = -1; - lbl_1_bss_34A++; - lbl_1_bss_342 = 0xD2; - } - } - break; - case 9: - if (--lbl_1_bss_342 == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_14C0; - } - break; - } - if ((omSysExitReq != 0) && (WipeStatGet() == 0)) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_14C0; - } -} - -void fn_1_14C0(omObjData *object) -{ - if (WipeStatGet() == 0) { - CharModelKill(-1); - fn_1_B634(); - fn_1_64DC(); - MGSeqKill(lbl_1_bss_348); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - } -} - -void fn_1_1524(s16 arg0, char *arg1, f32 arg8, Mtx arg2) -{ - ModelData *temp_r31; - - temp_r31 = &Hu3DData[arg0]; - if (temp_r31->unk_08 != -1) { - Hu3DMotionExec(arg0, temp_r31->unk_08, arg8, 0); - } - if (temp_r31->unk_0C != -1) { - Hu3DSubMotionExec(arg0); - } - if (temp_r31->hsfData->cenvCnt != 0) { - EnvelopeProc(temp_r31->hsfData); - } - Hu3DModelObjMtxGet(arg0, arg1, arg2); -} - -void fn_1_15D0(omObjData *object) -{ - Mtx sp20; - Vec sp14; - Vec sp8; - s32 var_r28; - s32 var_r27; - ModelData *var_r29; - f32 temp_f31; - s32 var_r31; - - object->model[0] = var_r31 = Hu3DModelCreateFile(0x2E0000); - Hu3DModelShadowSet(var_r31); - temp_f31 = Hu3DMotionMaxTimeGet(var_r31); - fn_1_1524(var_r31, "oekaki", temp_f31, sp20); - sp14.x = -sp20[0][3]; - sp14.y = -sp20[1][3]; - sp14.z = -sp20[2][3]; - fn_1_6A78(sp20, &sp8); - sp8.x = -(sp8.x - 90.0f); - sp8.y = -(sp8.y - 90.0f); - sp8.z = -(sp8.z - 90.0f); - Hu3DMotionTimeSet(var_r31, 0.0f); - Hu3DMotionSpeedSet(var_r31, 2.0f); - omSetTra(object, sp14.x, sp14.y, sp14.z); - omSetRot(object, sp8.x, sp8.y, sp8.z); - Hu3DModelPosSetV(var_r31, &sp14); - Hu3DModelRotSetV(var_r31, &sp8); - lbl_1_bss_338 = Hu3DAnimCreate(HuDataReadNum(0x2E000A, 0x10000000), var_r31, "dummy"); - var_r28 = 0x57E40; - lbl_1_bss_334 = HuMemDirectMallocNum(HEAP_DATA, var_r28, MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_334, 0, var_r28); - (void)var_r28; - memset(&lbl_1_bss_234, 0, 0x100); - var_r31 = fn_1_A2D0(1, 2); - object->model[1] = var_r31; - fn_1_AFC8(var_r31, 0, 0x2E000B, 0x200, 0x200); - fn_1_B864(var_r31, 0.0f, -50.0f, 0.0f); - fn_1_BB4C(var_r31, -90.0f, 0.0f, 0.0f); - fn_1_BC9C(var_r31, 5.0f, 5.0f, 1.0f); - fn_1_C2D0(var_r31, 0, 0); - var_r27 = fn_1_66AC(); - object->model[2] = var_r27; - fn_1_C81C(var_r27, 4); - fn_1_B0B8(var_r31, 1, var_r27); - var_r31 = Hu3DModelCreateFile(0x2E0002); - object->model[3] = var_r31; - Hu3DModelShadowSet(var_r31); - Hu3DMotionSpeedSet(var_r31, 2.0f); - object->func = fn_1_1960; -} - -void fn_1_1960(omObjData *object) -{ - u32 temp_r29; - AnimData **temp_r3; - - switch (lbl_1_bss_34A) { - case 0: - break; - case 1: - GXDrawDone(); - temp_r3 = fn_1_9734(object->model[2]); - temp_r29 = Hu3DShadowData.unk_02 * Hu3DShadowData.unk_02; - memcpy((*temp_r3)->bmp->data, OSCachedToUncached(Hu3DShadowData.unk_04), temp_r29); - DCStoreRangeNoSync((*temp_r3)->bmp->data, temp_r29); - break; - case 2: - Hu3DModelShadowMapObjSet(object->model[0], "kyanbasu"); - Hu3DModelShadowReset(object->model[0]); - Hu3DModelShadowReset(object->model[3]); - break; - case 3: - case 4: - case 5: - break; - } - return; -} - -void fn_1_1A60(unkStruct3 *arg0) -{ - Mtx sp118; - Mtx spE8; - Vec spB8[4]; - Vec sp88[4]; - GXColor sp68[8] = { { 0xF0, 0x00, 0x00, 0xFF }, { 0x00, 0x00, 0xF0, 0xFF }, { 0xFF, 0x80, 0x80, 0xFF }, { 0x00, 0xFF, 0x00, 0xFF }, - { 0x80, 0x00, 0xC0, 0xFF }, { 0x80, 0x40, 0x00, 0xFF }, { 0xE0, 0xE0, 0x00, 0xFF }, { 0x00, 0x00, 0x00, 0xFF } }; - GXColor sp48[8] = { { 0xFF, 0x60, 0x60, 0xFF }, { 0x60, 0x60, 0xFF, 0xFF }, { 0xFF, 0xC0, 0xC0, 0xFF }, { 0x40, 0xFF, 0x40, 0xFF }, - { 0xC0, 0x40, 0xFF, 0xFF }, { 0xD0, 0x80, 0x40, 0xFF }, { 0xFF, 0xFF, 0x20, 0xFF }, { 0x80, 0x80, 0x80, 0xFF } }; - GXColor sp38[4] = { { 0xF0, 0x00, 0x00, 0xFF }, { 0x00, 0x00, 0xF0, 0xFF }, { 0xE0, 0xE0, 0x00, 0xFF }, { 0xFF, 0x80, 0x80, 0xFF } }; - GXColor sp28[4] = { { 0xFF, 0x60, 0x60, 0xFF }, { 0x60, 0x60, 0xFF, 0xFF }, { 0xFF, 0xFF, 0x20, 0xFF }, { 0xFF, 0xC0, 0xC0, 0xFF } }; - Vec sp1C; - s32 sp18; - s16 sp14; - s16 sp12; - s16 sp10; - s16 spE; - s16 spC; - s16 spA; - u8 sp8; - f32 var_f31; - f32 temp_f30; - f32 var_f29; - f32 var_f28; - s32 var_r31; - s16 var_r30; - s32 var_r29; - u8 temp_r28; - s16 var_r27; - s32 temp_r26; - s16 var_r24; - s16 var_r23; - u16 *temp_r22; - u8 temp_r21; - AnimBmpData *var_r20; - s16 temp_r19; - s16 temp_r18; - s32 temp_r17; - - sp1C = arg0->unk2C; - temp_f30 = arg0->unk20; - sp8 = arg0->unk1; - temp_r28 = arg0->unk0; - sp14 = 0.5f * (600.0f + sp1C.x); - sp12 = 0.5f * (600.0f + sp1C.z); - var_r20 = fn_1_668C(lbl_1_bss_338); - temp_r22 = (u16 *)var_r20->data; - var_r27 = 0x32; - var_r30 = var_r27 >> 1; - spC = 0x96; - spA = 0; - if ((s16)temp_f30 == ((s16)(temp_f30 / 90.0f) * 90)) { - spB8[0].x = -var_r30; - spB8[0].y = -var_r30; - spB8[1].x = -var_r30; - spB8[1].y = var_r30; - spB8[2].x = var_r30; - spB8[2].y = -var_r30; - spB8[3].x = var_r30; - spB8[3].y = var_r30; - spB8[0].z = spB8[1].z = spB8[2].z = spB8[3].z = 0.0f; - } - else { - spB8[0].x = var_r27; - spB8[0].y = var_r27; - spB8[1].x = var_r27; - spB8[1].y = -var_r27; - spB8[2].x = -var_r27; - spB8[2].y = var_r27; - spB8[3].x = -var_r27; - spB8[3].y = -var_r27; - spB8[0].z = spB8[1].z = spB8[2].z = spB8[3].z = 0.0f; - for (var_r31 = -1; var_r31 < 2; var_r31 += 2) { - for (var_r29 = -1; var_r29 < 2; var_r29 += 2) { - MTXRotDeg(sp118, 0x59, temp_f30); - MTXTrans(spE8, (var_r30 * var_r31), 0.0f, (var_r30 * var_r29)); - MTXConcat(sp118, spE8, spE8); - if ((spB8[0].y > spE8[2][3]) || ((spB8[0].y == spE8[2][3]) && (spB8[0].x > spE8[0][3]))) { - spB8[0].x = spE8[0][3]; - spB8[0].y = spE8[2][3]; - } - if ((spB8[1].x > spE8[0][3]) || (spB8[1].x >= spE8[0][3]) && (spB8[1].y < spE8[2][3])) { - spB8[1].x = spE8[0][3]; - spB8[1].y = spE8[2][3]; - } - if ((spB8[2].x < spE8[0][3]) || (spB8[2].x <= spE8[0][3]) && (spB8[2].y > spE8[2][3])) { - spB8[2].x = spE8[0][3]; - spB8[2].y = spE8[2][3]; - } - if ((spB8[3].y <= spE8[2][3]) || (spB8[3].y <= spE8[2][3]) && (spB8[3].x < spE8[0][3])) { - spB8[3].x = spE8[0][3]; - spB8[3].y = spE8[2][3]; - } - } - } - } - VECSubtract(&spB8[1], &spB8[0], &sp88[0]); - VECSubtract(&spB8[2], &spB8[0], &sp88[1]); - VECSubtract(&spB8[3], &spB8[1], &sp88[2]); - VECSubtract(&spB8[3], &spB8[2], &sp88[3]); - temp_r17 = (1.5 * (var_r30 * var_r30)); - for (var_r31 = spB8[0].y; var_r31 < spB8[3].y; var_r31++) { - var_r23 = sp12 + var_r31; - if (var_r23 >= 0 && (!(var_r23 >= 600.0f))) { - temp_r18 = (var_r23 / 150.0f); - if (var_r31 <= spB8[1].y) { - var_f31 = ((var_r31 - spB8[0].y) / sp88[0].y); - var_f29 = var_f31 * sp88[0].x + spB8[0].x; - } - else { - var_f31 = ((var_r31 - spB8[1].y) / sp88[2].y); - var_f29 = var_f31 * sp88[2].x + spB8[1].x; - } - if (var_r31 <= spB8[2].y) { - var_f31 = ((var_r31 - spB8[0].y) / sp88[1].y); - var_f28 = var_f31 * sp88[1].x + spB8[0].x; - } - else { - var_f31 = ((var_r31 - spB8[2].y) / sp88[3].y); - var_f28 = var_f31 * sp88[3].x + spB8[2].x; - } - - for (var_r29 = var_f29; var_r29 < var_f28; var_r29++) { - var_r24 = sp14 + var_r29; - if (var_r24 >= 0 && (!(var_r24 >= 600.0f))) { - temp_r19 = (var_r24 / 150.0f); - temp_r26 = (600.0f * var_r23 + var_r24); - temp_r21 = lbl_1_bss_334[temp_r26]; - lbl_1_bss_334[temp_r26] = temp_r28 + 1; - sp10 = (var_r24 >> 2); - spE = (var_r23 >> 2); - temp_r26 = ((var_r23 % 4) * 4) + ((sp10 * 0x10) + (var_r24 % 4) + spE * ((spC * 0x10) + (spA * 4))); - sp18 = ((fn_1_679C() / 65536.0f) * (1.0f + ((6.0f * (temp_r17 - ((var_r31 * var_r31) + (var_r29 * var_r29)))) / temp_r17))); - if (sp18 == 0) { - if (temp_r21 != (temp_r28 + 1)) { - temp_r22[temp_r26] = ((sp28[temp_r28].r >> 3) << 10) | ((sp28[temp_r28].g >> 3) << 5) | (sp28[temp_r28].b >> 3) | 0x8000; - } - } - else { - temp_r22[temp_r26] = ((sp38[temp_r28].r >> 3) << 10) | ((sp38[temp_r28].g >> 3) << 5) | (sp38[temp_r28].b >> 3) | 0x8000; - } - if (temp_r21 != (temp_r28 + 1)) { - lbl_1_bss_234[temp_r28][temp_r19][temp_r18]++; - if (temp_r21 != 0) { - lbl_1_bss_234[temp_r21 - 1][temp_r19][temp_r18]--; - } - } - } - } - } - } - DCStoreRange(temp_r22, 0xAFC80); -} - -void fn_1_2B18(omObjData *object) -{ - unkStruct4 *var_r31; - - var_r31 = fn_1_63A8(0x14C); - object->data = var_r31; - var_r31->unk148 = var_r31->unk144 = 0.0f; - var_r31->unk140 = 1.0f; - var_r31->unk10.x = var_r31->unk28.x = -55.0f; - var_r31->unk10.y = var_r31->unk28.y = 0.0f; - var_r31->unk10.z = var_r31->unk28.z = 0.0f; - var_r31->unk4.x = var_r31->unk1C.x = 0.0f; - var_r31->unk4.y = var_r31->unk1C.y = 200.0f; - var_r31->unk4.z = var_r31->unk1C.z = 200.0f; - var_r31->unk130 = var_r31->unk134 = 1500.0f; - object->func = fn_1_2C14; -} - -void fn_1_2C14(omObjData *object) -{ - f32 temp_f31; - unkStruct4 *temp_r31; - - temp_r31 = (unkStruct4 *)object->data; - if (temp_r31->unk148 > 0.0f) { - temp_r31->unk148 -= temp_r31->unk140; - temp_f31 = ((temp_r31->unk144 - temp_r31->unk148) / temp_r31->unk144); - temp_f31 = sind(90.0f * temp_f31); - if (temp_r31->unk0 == 0) { - temp_r31->unk4.x = (temp_r31->unk1C.x + (temp_f31 * (temp_r31->unk34.x - temp_r31->unk1C.x))); - temp_r31->unk4.y = (temp_r31->unk1C.y + (temp_f31 * (temp_r31->unk34.y - temp_r31->unk1C.y))); - temp_r31->unk4.z = (temp_r31->unk1C.z + (temp_f31 * (temp_r31->unk34.z - temp_r31->unk1C.z))); - temp_r31->unk10.x = (temp_r31->unk28.x + (temp_f31 * (temp_r31->unk40.x - temp_r31->unk28.x))); - temp_r31->unk10.y = (temp_r31->unk28.y + (temp_f31 * (temp_r31->unk40.y - temp_r31->unk28.y))); - temp_r31->unk10.z = (temp_r31->unk28.z + (temp_f31 * (temp_r31->unk40.z - temp_r31->unk28.z))); - temp_r31->unk130 = (temp_r31->unk134 + (temp_f31 * (temp_r31->unk138 - temp_r31->unk134))); - } - else { - fn_1_7A54(2.0f * temp_f31, &temp_r31->unk4, temp_r31->unkF4, temp_r31->unk64, temp_r31->unk88, 3); - fn_1_7A54(2.0f * temp_f31, &temp_r31->unk10, temp_r31->unk100, temp_r31->unkAC, temp_r31->unkD0, 3); - temp_r31->unk130 = fn_1_7520(2.0f * temp_f31, temp_r31->unk124, temp_r31->unk10C, temp_r31->unk118, 3); - } - } - CRot.x = temp_r31->unk10.x; - CRot.y = temp_r31->unk10.y; - CRot.z = temp_r31->unk10.z; - Center.x = temp_r31->unk4.x; - Center.y = temp_r31->unk4.y; - Center.z = temp_r31->unk4.z; - CZoom = temp_r31->unk130; -} - -void fn_1_2E88(f32 arg0, Vec *arg1, Vec *arg2, f32 arg3) -{ - unkStruct4 *temp_r31; - - temp_r31 = lbl_1_bss_360->data; - temp_r31->unk0 = 0; - temp_r31->unk144 = arg0; - temp_r31->unk148 = arg0; - temp_r31->unk1C = temp_r31->unk4; - temp_r31->unk34.x = arg1->x; - temp_r31->unk34.y = arg1->y; - temp_r31->unk34.z = arg1->z; - temp_r31->unk28 = temp_r31->unk10; - temp_r31->unk40.x = arg2->x; - temp_r31->unk40.y = arg2->y; - temp_r31->unk40.z = arg2->z; - temp_r31->unk134 = temp_r31->unk130; - temp_r31->unk138 = arg3; -} - -void fn_1_2F28(f32 arg8, Vec *arg0, Vec *arg1, f32 arg9, Vec *arg2, Vec *arg3, f32 argA) -{ - unkStruct4 *temp_r31; - - temp_r31 = lbl_1_bss_360->data; - temp_r31->unk0 = 1; - temp_r31->unk148 = temp_r31->unk144 = arg8; - temp_r31->unk1C = temp_r31->unk4; - temp_r31->unk34.x = arg0->x; - temp_r31->unk34.y = arg0->y; - temp_r31->unk34.z = arg0->z; - temp_r31->unk4C.x = arg2->x; - temp_r31->unk4C.y = arg2->y; - temp_r31->unk4C.z = arg2->z; - temp_r31->unk28 = temp_r31->unk10; - temp_r31->unk40.x = arg1->x; - temp_r31->unk40.y = arg1->y; - temp_r31->unk40.z = arg1->z; - temp_r31->unk58.x = arg3->x; - temp_r31->unk58.y = arg3->y; - temp_r31->unk58.z = arg3->z; - temp_r31->unk134 = temp_r31->unk130; - temp_r31->unk138 = arg9; - temp_r31->unk13C = argA; - temp_r31->unk64[0] = temp_r31->unk1C; - temp_r31->unk64[1] = temp_r31->unk4C; - temp_r31->unk64[2] = temp_r31->unk34; - temp_r31->unkAC[0] = temp_r31->unk28; - temp_r31->unkAC[1] = temp_r31->unk58; - temp_r31->unkAC[2] = temp_r31->unk40; - temp_r31->unk10C[0] = temp_r31->unk134; - temp_r31->unk10C[1] = temp_r31->unk13C; - temp_r31->unk10C[2] = temp_r31->unk138; - temp_r31->unk124[0] = 0.0f; - temp_r31->unk124[1] = ABS(temp_r31->unk10C[1] - temp_r31->unk10C[0]); - temp_r31->unk124[2] = (temp_r31->unk124[1] + ABS(temp_r31->unk10C[2] - temp_r31->unk10C[1])); - fn_1_7674(temp_r31->unkF4, temp_r31->unk64, temp_r31->unk88, 3); - fn_1_7674(temp_r31->unk100, temp_r31->unkAC, temp_r31->unkD0, 3); - fn_1_7268(temp_r31->unk124, temp_r31->unk10C, temp_r31->unk118, 3); -} - -void fn_1_31E0(f32 arg8) -{ - unkStruct4 *data; - - data = (unkStruct4 *)lbl_1_bss_360->data; - data->unk140 = arg8; -} - -s32 lbl_1_data_80[10] = { 0, 3, 5, 6, 0x2E0012, 0x2E001A, 0x2E0022, 0x2E001A, 0x17, 0x72 }; - -Vec lbl_1_data_A8[4] = { { -200.0f, 1600.0f, -200.0f }, { 200.0f, 1600.0f, -200.0f }, { -200.0f, 1600.0f, 200.0f }, { 200.0f, 1600.0f, 200.0f } }; - -void fn_1_3208(omObjData *object) -{ - s32 var_r29; - s32 var_r28; - u32 temp_r27; - unkStruct3 *var_r31; - - object->data = var_r31 = fn_1_63A8(0xA0); - var_r31->unk0 = object->work[0]; - var_r31->unk1 = GWPlayerCfg[var_r31->unk0].character; - var_r31->unk2 = (var_r31->unk0 >> 1); - var_r31->unk3 = (var_r31->unk0 & 1); - var_r31->unk4 = GWPlayerCfg[var_r31->unk0].pad_idx; - var_r31->unk5 = GWPlayerCfg[var_r31->unk0].iscom; - var_r31->unk6 = GWPlayerCfg[var_r31->unk0].diff; - var_r31->unk18 = var_r31->unk1A = 4; - var_r31->unk7 = 1; - var_r31->unkC = 1; - var_r31->unkD = 0; - var_r31->unkA = 0; - var_r31->unk5D = 0; - var_r31->unk5C = 0; - var_r31->unkE = 0; - - temp_r27 = object->work[1]; - var_r31->unk2C.x = lbl_1_data_A8[temp_r27].x; - var_r31->unk2C.y = lbl_1_data_A8[temp_r27].y + (400.0f * ((fn_1_679C() - 0x8000) / 32768.0f)); - var_r31->unk2C.z = lbl_1_data_A8[temp_r27].z; - var_r31->unk44.x = var_r31->unk44.y = var_r31->unk44.z = 0.0f; - var_r31->unk38.x = var_r31->unk38.y = var_r31->unk38.z = 0.0f; - var_r31->unk20 = var_r31->unk38.y; - var_r31->unk24 = 0.0f; - var_r31->unk1C = 0.0f; - var_r31->unk28 = 1.0f; - memset(&var_r31->unk60, 0, 0x40); - var_r29 = CharModelCreate(var_r31->unk1, 4); - object->model[0] = var_r29; - Hu3DModelAttrSet(var_r29, HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(var_r29); - - for (var_r28 = 0; var_r28 < 10; var_r28++) { - if ((lbl_1_data_80[var_r28] & 0xFFFF0000) != 0) { - object->motion[var_r28] = CharModelMotionCreate(var_r31->unk1, var_r31->unk1 + lbl_1_data_80[var_r28]); - } - else { - object->motion[var_r28] = CharModelMotionCreate(var_r31->unk1, lbl_1_data_80[var_r28]); - } - } - CharModelMotionDataClose(var_r31->unk1); - CharModelMotionSet(var_r31->unk1, object->motion[var_r31->unk18]); - CharModelStepTypeSet(var_r31->unk1, 1); - CharModelVoiceEnableSet(var_r31->unk1, object->motion[2], 0); - object->model[2] = var_r29 = Hu3DModelCreateFile(var_r31->unk0 + 0x2E0003); - object->model[3] = Hu3DJointMotion(var_r29, HuDataSelHeapReadNum(0x2E0007, 0x10000000, HEAP_DATA)); - object->model[4] = Hu3DJointMotion(var_r29, HuDataSelHeapReadNum(0x2E0008, 0x10000000, HEAP_DATA)); - object->model[5] = Hu3DJointMotion(var_r29, HuDataSelHeapReadNum(0x2E0009, 0x10000000, HEAP_DATA)); - Hu3DModelPosSet(var_r29, var_r31->unk2C.x, var_r31->unk2C.y, var_r31->unk2C.z); - Hu3DModelHookSet(var_r29, "stamp00", object->model[0]); - Hu3DMotionSet(object->model[2], object->model[4]); - Hu3DModelShadowSet(var_r29); - object->func = fn_1_3640; -} - -void fn_1_3640(omObjData *object) -{ - s32 sp8; - unkStruct3 *temp_r31; - - sp8 = object->model[0]; - temp_r31 = (unkStruct3 *)object->data; - - temp_r31->unk10 = temp_r31->unk12 = 0; - temp_r31->unk14 = temp_r31->unk16 = 0; - switch (lbl_1_bss_34A) { - case 1: - break; - case 2: - if (lbl_1_bss_342 == 0) { - temp_r31->unk18 = 6; - temp_r31->unk44.y = 0.0f; - temp_r31->unkC = 0; - } - break; - case 4: - object->func = fn_1_3764; - break; - } - if (temp_r31->unk2C.y < 0.0f) { - omVibrate(temp_r31->unk0, 0xC, 6, 6); - HuAudFXPlay(0x5B0); - temp_r31->unk2C.y = 0.0f; - temp_r31->unkC = 1; - } - fn_1_3B44(object); -} - -void fn_1_3764(omObjData *object) -{ - s32 spC; - s32 sp8; - unkStruct3 *temp_r31; - - spC = object->model[0]; - temp_r31 = (unkStruct3 *)object->data; - if (temp_r31->unk7 != 0) { - if ((lbl_1_bss_34A == 5) && ((temp_r31->unk7 & 2) == 0)) { - if (temp_r31->unk5 != 0) { - fn_1_4660(object); - } - else { - temp_r31->unk10 = HuPadStkX[temp_r31->unk4]; - temp_r31->unk12 = HuPadStkY[temp_r31->unk4]; - temp_r31->unk14 = HuPadBtnDown[temp_r31->unk4]; - temp_r31->unk16 = HuPadBtn[temp_r31->unk4]; - } - } - else { - temp_r31->unk10 = temp_r31->unk12 = 0; - temp_r31->unk14 = temp_r31->unk16 = 0; - } - switch (lbl_1_bss_34A) { - case 4: - case 5: - break; - case 6: - if ((Hu3DModelAttrGet(object->model[2]) & 1) == 0) { - Hu3DModelHookReset(object->model[2]); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - omSetTra(object, temp_r31->unk2C.x, temp_r31->unk2C.y, temp_r31->unk2C.z); - omSetRot(object, temp_r31->unk38.x, temp_r31->unk38.y, temp_r31->unk38.z); - sp8 = fn_1_A2D0(1, 1); - fn_1_B038(lbl_1_bss_36C.unk36, 0, 0x2E000C); - fn_1_B8D0(lbl_1_bss_36C.unk36, lbl_1_bss_36C.unk38, temp_r31->unk2C.x, 50.0f + temp_r31->unk2C.y, temp_r31->unk2C.z); - fn_1_BD08(lbl_1_bss_36C.unk36, lbl_1_bss_36C.unk38, 3.0f, 3.0f, 1.0f); - fn_1_BE30(lbl_1_bss_36C.unk36, lbl_1_bss_36C.unk38, 0x80000000); - fn_1_C110(lbl_1_bss_36C.unk36, lbl_1_bss_36C.unk38, 0xFF, 0xFF, 0xFF, 0xFF); - fn_1_C410(lbl_1_bss_36C.unk36, lbl_1_bss_36C.unk38, lbl_1_bss_36C.unk3A, 0x11); - fn_1_C58C(lbl_1_bss_36C.unk36, lbl_1_bss_36C.unk38, lbl_1_bss_36C.unk3A, 0.5f); - if (temp_r31->unkC != 0) { - temp_r31->unkC = 0; - temp_r31->unkB = 1; - temp_r31->unk44.y = 26.766666f; - } - temp_r31->unk18 = 2; - temp_r31->unk2C.y += 100.65; - } - break; - case 7: - temp_r31->unk20 = fn_1_67F0(temp_r31->unk20, 0.0f, 0.9f); - break; - case 9: - if (temp_r31->unkE != 0) { - temp_r31->unk18 = 8; - } - else { - temp_r31->unk18 = 9; - } - break; - } - if (temp_r31->unk2C.y <= 0.0f) { - temp_r31->unk2C.y = 0.0f; - temp_r31->unkC = 1; - } - fn_1_3B44(object); - } -} - -void fn_1_3B44(omObjData *object) -{ - s16 sp8; - unkStruct3 *temp_r31; - s16 var_r29; - s16 var_r28; - s16 temp_r27; - s16 temp_r26; - s16 var_r25; - s16 temp_r24; - s32 temp_r23; - s32 var_r22; - - var_r25 = 0; - temp_r23 = object->model[0]; - temp_r31 = (unkStruct3 *)object->data; - temp_r27 = temp_r31->unk10; - temp_r26 = temp_r31->unk12; - sp8 = temp_r31->unk14; - temp_r24 = temp_r31->unk16; - temp_r31->unk50 = temp_r31->unk2C; - var_r29 = temp_r31->unk18; - var_r28 = 0; - switch (temp_r31->unk18) { - case 0: - var_r28 = 1; - break; - case 1: - if (temp_r31->unk1C > 0.1f) { - var_r29 = 1; - var_r28 = 1; - temp_r31->unk20 = temp_r31->unk38.y; - temp_r31->unk24++; - if (temp_r31->unk24 >= (0.5f * temp_r31->unk28)) { - temp_r31->unk24 -= 0.5f * temp_r31->unk28; - } - temp_r31->unk1C *= 1.0 + (0.25 * cosd(90.0f * (temp_r31->unk24 / (0.5f * temp_r31->unk28)))); - } - else { - temp_r31->unk24 = 0.0f; - temp_r31->unk1C = 0.0f; - var_r29 = 0; - var_r28 = 1; - } - break; - case 2: - temp_r31->unk44.y += -2.4333334f; - if (temp_r31->unkC != 0) { - var_r29 = 3; - var_r28 = 0; - temp_r31->unk44.y = 0.0f; - } - break; - case 3: - if (CharModelMotionEndCheck(temp_r31->unk1) != 0) { - var_r29 = 0; - var_r28 = 1; - } - break; - case 4: - temp_r31->unk44.y = -2.4333334f; - if (FABS(temp_r27) + FABS(temp_r26) > 8) { - temp_r31->unk20 = atan2d(temp_r27, -temp_r26); - } - if ((temp_r24 & 0x100) != 0) { - temp_r31->unkB = 0U; - var_r29 = 5; - var_r28 = 0; - var_r25 = 3; - if (FABS(temp_r27) + FABS(temp_r26) > 8) { - temp_r31->unk20 = atan2d(temp_r27, -temp_r26); - temp_r31->unk1C = 6.0f; - } - } - break; - case 5: - if (temp_r31->unkB < 0x20) { - temp_r31->unkB++; - } - if (FABS(temp_r27) + FABS(temp_r26) > 8) { - temp_r31->unk20 = atan2d(temp_r27, -temp_r26); - temp_r31->unk1C = 6.0f; - } - else { - temp_r31->unk1C = 0.0f; - } - if ((temp_r24 & 0x100) == 0) { - temp_r31->unk44.y = (2.4333334f * (2.5f + (0.009f * temp_r31->unkB * temp_r31->unkB))); - var_r29 = 6; - var_r28 = 0; - var_r25 = 4; - if (temp_r31->unkB < 0xC) { - HuAudFXPlay(0x5B1); - } - else if (temp_r31->unkB < 0x18) { - HuAudFXPlay(0x5B2); - } - else { - HuAudFXPlay(0x5B3); - } - } - break; - case 6: - if ((Hu3DMotionEndCheck(object->model[2]) == 0) && (Hu3DMotionShiftIDGet(object->model[2]) >= 0)) { - temp_r31->unkC = 1; - } - else { - if (temp_r31->unk44.y >= 0.0f) { - temp_r31->unkC = 0U; - } - temp_r31->unk44.y += -2.4333334f; - if (temp_r31->unkC != 0) { - if ((temp_r24 & 0x100) != 0) { - var_r29 = 4; - var_r28 = 1; - } - else { - var_r29 = 7; - var_r28 = 0; - } - temp_r31->unk1C = 0.0f; - temp_r31->unk44.y = 0.0f; - var_r25 = 5; - fn_1_1A60(temp_r31); - var_r22 = fn_1_A2D0(0x28, 1); - fn_1_B038(var_r22, 0, 0x2E000D); - lbl_1_bss_36C.unk40[var_r22].unk30 = &fn_1_5B20; - fn_1_B864(var_r22, temp_r31->unk2C.x, temp_r31->unk2C.y, temp_r31->unk2C.z); - fn_1_C264(var_r22, 1); - } - } - break; - case 7: - if ((temp_r24 & 0x100) != 0) { - var_r29 = 4; - var_r28 = 1; - } - else { - if (Hu3DMotionTimeGet(temp_r23) <= 0.0f) { - var_r29 = 4; - var_r28 = 1; - } - else { - if ((Hu3DMotionTimeGet(temp_r23) >= 10.0f) && (Hu3DMotionShiftIDGet(temp_r23) < 0)) { - Hu3DModelAttrSet(temp_r23, HU3D_MOTATTR_REV); - } - } - } - break; - case 8: - case 9: - var_r28 = 0; - temp_r31->unk44.y = -2.4333334f; - break; - } - temp_r31->unk38.y = fn_1_67F0(temp_r31->unk38.y, temp_r31->unk20, 0.75f); - temp_r31->unk44.x = (temp_r31->unk1C * sind(temp_r31->unk20)); - temp_r31->unk44.z = (temp_r31->unk1C * cosd(temp_r31->unk20)); - if ((temp_r31->unkC == 0) || (var_r29 == 1)) { - temp_r31->unk2C.x += temp_r31->unk44.x; - temp_r31->unk2C.y += temp_r31->unk44.y; - temp_r31->unk2C.z += temp_r31->unk44.z; - } - temp_r31->unk18 = var_r29; - if (var_r29 != temp_r31->unk1A) { - temp_r31->unk1A = var_r29; - CharModelMotionShiftSet(temp_r31->unk1, object->motion[temp_r31->unk18], 0.0f, 8.0f, var_r28); - temp_r31->unk28 = CharModelMotionMaxTimeGet(temp_r31->unk1); - if (var_r25 != 0) { - Hu3DMotionShiftSet(object->model[2], object->model[var_r25], 0.0f, 8.0f, HU3D_MOTATTR_NONE); - } - } - if ((Hu3DModelAttrGet(object->model[2]) & 1) != 0) { - omSetTra(object, temp_r31->unk2C.x, temp_r31->unk2C.y, temp_r31->unk2C.z); - omSetRot(object, temp_r31->unk38.x, temp_r31->unk38.y, temp_r31->unk38.z); - } - else { - omSetTra(object, 0.0f, 0.0f, 0.0f); - omSetRot(object, 0.0f, 0.0f, 0.0f); - Hu3DModelPosSet(object->model[2], temp_r31->unk2C.x, temp_r31->unk2C.y, temp_r31->unk2C.z); - Hu3DModelRotSet(object->model[2], temp_r31->unk38.x, temp_r31->unk38.y, temp_r31->unk38.z); - } -} - -void fn_1_4660(omObjData *object) -{ - s16 sp3C[3][3]; - Vec sp30; - Vec sp24; - Vec sp18; - s32 sp14; - s32 sp10; - s16 spC; - f32 var_f31; - f32 temp_f30; - f32 var_f29; - unkStruct3 *temp_r31; - s32 var_r30; - s32 var_r29; - u8 temp_r28; - u8 temp_r27; - s32 var_r26; - s32 var_r25; - s16 var_r24; - s16 var_r23; - unkStruct3 *temp_r22; - u8 var_r21; - u8 var_r20; - s16 var_r19; - s16 var_r18; - s16 temp_r17; - - temp_r31 = (unkStruct3 *)object->data; - sp14 = object->model[0]; - spC = temp_r31->unk18; - temp_r17 = temp_r31->unk6; - var_r24 = var_r23 = var_r19 = var_r18 = 0; - switch (temp_r31->unk5D) { - case 0: - temp_r28 = ((0.5f * (600.0f + temp_r31->unk2C.x)) / 150.0f); - temp_r27 = ((0.5f * (600.0f + temp_r31->unk2C.z)) / 150.0f); - if (lbl_1_bss_234[temp_r31->unk0][temp_r28][temp_r27] < 16875.0f) { - temp_r31->unk60s = temp_r28; - temp_r31->unk62s = temp_r27; - temp_r31->unk5D++; - } - else { - var_r26 = 0x57E4; - for (var_r30 = temp_r28 - 1; var_r30 <= (temp_r28 + 1); var_r30++) { - if ((var_r30 >= 0) && (var_r30 < 4)) { - for (var_r29 = temp_r27 - 1; var_r29 <= (temp_r27 + 1); var_r29++) { - if ((var_r29 >= 0) && (var_r29 < 4) && (lbl_1_bss_234[temp_r31->unk0][var_r30][var_r29] <= var_r26) - && ((var_r26 != lbl_1_bss_234[temp_r31->unk0][var_r30][var_r29]) || ((fn_1_679C() & 1) == 0))) { - - var_r21 = var_r30; - var_r20 = var_r29; - var_r26 = lbl_1_bss_234[temp_r31->unk0][var_r30][var_r29]; - } - } - } - } - if (var_r26 < 16875.0f) { - temp_r31->unk60s = var_r21; - temp_r31->unk62s = var_r20; - temp_r31->unk5D++; - } - else { - var_r26 = 0x57E4; - for (var_r30 = 0; var_r30 < 4; var_r30++) { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (lbl_1_bss_234[temp_r31->unk0][var_r30][var_r29] <= var_r26) { - var_r21 = var_r30; - var_r20 = var_r29; - var_r26 = lbl_1_bss_234[temp_r31->unk0][var_r30][var_r29]; - } - } - } - temp_r31->unk60s = var_r21; - temp_r31->unk62s = var_r20; - temp_r31->unk5D++; - } - } - break; - case 1: - var_f29 = 360000.0f; - sp18 = temp_r31->unk2C; - sp18.x += 50.0f * sind(temp_r31->unk38.y); - sp18.z += 50.0f * cosd(temp_r31->unk38.y); - - for (var_r30 = 0; var_r30 < 3.0f; var_r30++) { - for (var_r29 = 0; var_r29 < 3.0f; var_r29++) { - sp3C[var_r30][var_r29] = 0; - } - } - - for (var_r30 = 0; var_r30 < 150.0f; var_r30++) { - for (var_r29 = 0; var_r29 < 150.0f; var_r29++) { - sp30.x = (150.0f * temp_r31->unk60s) + var_r30; - sp30.z = (150.0f * temp_r31->unk62s) + var_r29; - sp10 = (sp30.x + (600.0f * sp30.z)); - if ((temp_r31->unk0 + 1) != lbl_1_bss_334[sp10]) { - sp3C[(s16)(var_r30 / 50.0f)][(s16)(var_r29 / 50.0f)]++; - } - } - } - temp_r28 = (((0.5f * (600.0f + temp_r31->unk2C.x)) - (150.0f * temp_r31->unk60s)) / 50.0f); - temp_r27 = (((0.5f * (600.0f + temp_r31->unk2C.x)) - (150.0f * temp_r31->unk62s)) / 50.0f); - var_r25 = 0; - for (var_r30 = temp_r28 - 1; var_r30 <= (temp_r28 + 1); var_r30++) { - if (var_r30 >= 0) { - if (var_r30 >= 3.0f) - continue; - for (var_r29 = temp_r27 - 1; var_r29 <= (temp_r27 + 1); var_r29++) { - if (var_r29 >= 0) { - if (var_r29 >= 3.0f) - continue; - if (sp3C[var_r30][var_r29] < 1250.0f) - continue; - if (sp3C[var_r30][var_r29] < var_r25) - continue; - if ((var_r25 != sp3C[var_r30][var_r29]) || ((fn_1_679C() & 1) == 0)) { - var_r25 = sp3C[var_r30][var_r29]; - sp30.x = 25.0f + ((150.0f * temp_r31->unk60s) + (50.0f * var_r30)); - sp30.z = 25.0f + ((150.0f * temp_r31->unk62s) + (50.0f * var_r29)); - sp30.x = (2.0f * sp30.x) - 600.0f; - sp30.z = (2.0f * sp30.z) - 600.0f; - sp30.y = 0.0f; - temp_r31->unk6C.x = sp30.x; - temp_r31->unk6C.y = sp30.y; - temp_r31->unk6C.z = sp30.z; - } - } - } - } - } - if (var_r25 == 0) { - var_r25 = 0; - - for (var_r30 = 0; var_r30 < 3.0f; var_r30++) { - for (var_r29 = 0; var_r29 < 3.0f; var_r29++) { - if (sp3C[var_r30][var_r29] >= var_r25) { - sp30.x = 25.0f + ((150.0f * temp_r31->unk60s) + (50.0f * var_r30)); - sp30.z = 25.0f + ((150.0f * temp_r31->unk62s) + (50.0f * var_r29)); - sp30.x = (2.0f * sp30.x) - 600.0f; - sp30.z = (2.0f * sp30.z) - 600.0f; - sp30.y = 0.0f; - VECSubtract(&sp18, &sp30, &sp24); - temp_f30 = VECMag(&sp24); - if ((var_r25 != sp3C[var_r30][var_r29]) || !(temp_f30 > var_f29)) { - if (!(temp_f30 > var_f29) || !(sp3C[var_r30][var_r29] < (1.5f * var_r25))) { - temp_r31->unk6C.x = sp30.x; - temp_r31->unk6C.y = sp30.y; - temp_r31->unk6C.z = sp30.z; - var_r25 = sp3C[var_r30][var_r29]; - var_f29 = temp_f30; - } - } - } - } - } - } - temp_r31->unk64 = (1.0f + ((5 - temp_r17) * (fn_1_679C() / 65536.0f))); - temp_r31->unk68 = (1.0f + ((0x32 - (temp_r17 * 0x10)) * (fn_1_679C() / 65536.0f))); - temp_r31->unk5D++; - break; - case 2: - if (--temp_r31->unk68 == 0) { - VECSubtract(&temp_r31->unk6C, &temp_r31->unk2C, &sp24); - VECNormalize(&sp24, &sp24); - var_r24 = (32.0f * sp24.x); - var_r23 = (32.0f * -sp24.z); - var_r19 = var_r18 = 0x100; - temp_r31->unk66 = 0x18 + (s32)(((20 - (temp_r17 * 6)) * ((fn_1_679C() - 0x8000) / 32768.0f))); - temp_r31->unk5D++; - } - break; - case 3: - var_r24 = temp_r31->unk10; - var_r23 = temp_r31->unk12; - var_r19 = var_r18 = 0x100; - if (--temp_r31->unk66 == 0) { - temp_r31->unk5D++; - } - break; - case 4: - if (spC != 7) { - var_r24 = temp_r31->unk10; - var_r23 = temp_r31->unk12; - } - else { - for (var_r30 = 0; var_r30 < 4; var_r30++) { - temp_r22 = lbl_1_bss_34C[var_r30]->data; - if (temp_r22 == temp_r31) - continue; - temp_r28 = ((0.5f * (600.0f + temp_r22->unk2C.x)) / 150.0f); - temp_r27 = ((0.5f * (600.0f + temp_r22->unk2C.z)) / 150.0f); - if (temp_r31->unk60s == temp_r28 && temp_r31->unk62s == temp_r27) - break; - } - if (var_r30 != 4) { - var_r26 = 0x57E4; - for (var_r30 = 0; var_r30 < 4; var_r30++) { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if ((lbl_1_bss_234[temp_r31->unk0][var_r30][var_r29] <= var_r26) - && ((temp_r31->unk60s != var_r30) || (temp_r31->unk62s != var_r29))) { - var_r21 = var_r30; - var_r20 = var_r29; - var_r26 = lbl_1_bss_234[temp_r31->unk0][var_r30][var_r29]; - } - } - } - temp_r31->unk60s = var_r21; - temp_r31->unk62s = var_r20; - temp_r31->unk5D = 1; - } - else { - var_r24 = (32.0 * sind(temp_r31->unk38.y)); - var_r23 = (32.0 * -cosd(temp_r31->unk38.y)); - var_f31 = 517.5f; - if ((temp_r31->unk2C.x > var_f31) || (temp_r31->unk2C.x < -var_f31)) { - var_r24 = -var_r24; - } - var_f31 = 517.5f; - if ((temp_r31->unk2C.z > var_f31) || (temp_r31->unk2C.z < -var_f31)) { - var_r23 = -var_r23; - } - if (--temp_r31->unk64 != 0) { - var_r19 = var_r18 = 0x100; - temp_r31->unk66 = 0x18 + (s32)(((20 - (temp_r17 * 6)) * ((fn_1_679C() - 0x8000) / 32768.0f))); - temp_r31->unk5D = 3; - } - else { - temp_r28 = temp_r31->unk60s; - temp_r27 = temp_r31->unk62s; - if (lbl_1_bss_234[temp_r31->unk0][temp_r28][temp_r27] > 16875.0f) { - temp_r31->unk5D = 0; - } - else { - temp_r31->unk5D = 1; - } - } - } - } - break; - } - temp_r31->unk10 = var_r24; - temp_r31->unk12 = var_r23; - temp_r31->unk14 = var_r19; - temp_r31->unk16 = var_r18; -} - -void fn_1_5B20(unkSubStruct2 *arg0) -{ - s16 sp8; - f32 temp_f31; - f32 temp_f30; - f32 temp_f29; - f32 temp_f28; - s32 var_r29; - unkSubStruct *var_r31; - - sp8 = 0; - switch (arg0->unk60) { - case 0: - temp_f28 = 360.0f / arg0->unk2; - var_r31 = arg0->unk3C; - for (var_r29 = 0; var_r29 < arg0->unk2; var_r29++, var_r31++) { - var_r31->unk68.x = sind(temp_f28 * var_r29) * (0.5f + (0.1f * (1.2f * ((fn_1_679C() - 0x8000) / 32768.0f)))); - var_r31->unk68.y = 0.0f; - var_r31->unk68.z = cosd(temp_f28 * var_r29) * (0.5f + (0.1f * (1.2f * ((fn_1_679C() - 0x8000) / 32768.0f)))); - var_r31->unk0.x = 65.0f * var_r31->unk68.x; - var_r31->unk0.y = 6.0f; - var_r31->unk0.z = 65.0f * var_r31->unk68.z; - } - arg0->unk7Cs = 30; - arg0->unk60++; - case 1: - arg0->unk7Cs--; - temp_f31 = (30.0f - arg0->unk7Cs) / 30.0f; - temp_f29 = arg0->unk7Cs / 30.0f; - var_r31 = arg0->unk3C; - for (var_r29 = 0; var_r29 < arg0->unk2; var_r29++, var_r31++) { - var_r31->unk0.x += 5.0f * temp_f29 * var_r31->unk68.x; - var_r31->unk0.z += 5.0f * temp_f29 * var_r31->unk68.z; - temp_f30 = 0.4f + (1.2f * temp_f31); - var_r31->unk18.x = temp_f30; - var_r31->unk18.y = temp_f30; - var_r31->unk18.z = temp_f30; - var_r31->unk50.r = 0xFF; - var_r31->unk50.g = 0xFF; - var_r31->unk50.b = 0xFF; - var_r31->unk50.a = 96.0f * (1.0f - (temp_f31 * temp_f31)); - } - if (arg0->unk7Cs == 0) { - arg0->unk60++; - } - break; - case 2: - fn_1_A800(arg0->unk0); - return; - } -} - -void fn_1_5FB0(omObjData *arg0) -{ - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - f32 temp_f31; - f32 var_f30; - f32 temp_f29; - f32 var_f28; - f32 temp_f27; - s32 var_r29; - unkStruct3 *temp_r30; - unkStruct3 *temp_r31; - - temp_r31 = (unkStruct3 *)arg0->data; - if (temp_r31->unk7 != 0) { - VECSubtract(&temp_r31->unk2C, &temp_r31->unk50, &sp2C); - var_f28 = VECMag(&sp2C); - if (var_f28 != 0.0f) { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (var_r29 != temp_r31->unk0) { - temp_r30 = (unkStruct3 *)lbl_1_bss_34C[var_r29]->data; - if (temp_r30->unk7 != 0) { - sp14.x = temp_r31->unk2C.x; - sp14.y = temp_r31->unk2C.y; - sp14.z = temp_r31->unk2C.z; - sp14.y = 0.0f; - sp8.x = temp_r30->unk2C.x; - sp8.y = temp_r30->unk2C.y; - sp8.z = temp_r30->unk2C.z; - sp8.y = 0.0f; - VECSubtract(&sp14, &sp8, &sp2C); - temp_f31 = VECMag(&sp2C); - if (temp_f31 >= 109.45f) - continue; - VECSubtract(&temp_r30->unk2C, &temp_r30->unk50, &sp2C); - temp_f27 = VECMag(&sp2C); - VECSubtract(&sp14, &sp8, &sp20); - VECNormalize(&sp20, &sp20); - temp_f31 = 110.0f - temp_f31; - temp_f29 = ((0.6f * temp_f27) + (0.4f * var_f28)) / (var_f28 + temp_f27); - temp_r31->unk2C.x += temp_f29 * (temp_f31 * sp20.x); - temp_r31->unk2C.y += temp_f29 * (temp_f31 * sp20.y); - temp_r31->unk2C.z += temp_f29 * (temp_f31 * sp20.z); - temp_f29 = ((0.6f * var_f28) + (0.4f * var_f28)) / (var_f28 + temp_f27); - temp_r30->unk2C.x += temp_f29 * (temp_f31 * -sp20.x); - temp_r30->unk2C.y += temp_f29 * (temp_f31 * -sp20.y); - temp_r30->unk2C.z += temp_f29 * (temp_f31 * -sp20.z); - fn_1_5FB0(lbl_1_bss_34C[var_r29]); - } - } - } - var_f30 = 555.0f; - if (temp_r31->unk2C.x > var_f30) { - temp_r31->unk2C.x = var_f30; - } - if (temp_r31->unk2C.x < -var_f30) { - temp_r31->unk2C.x = -var_f30; - } - - var_f30 = 555.0f; - if (temp_r31->unk2C.z > var_f30) { - temp_r31->unk2C.z = var_f30; - } - if (temp_r31->unk2C.z < -var_f30) { - temp_r31->unk2C.z = -var_f30; - } - } - } -} - -void fn_1_6304(omObjData *object) -{ - s32 var_r31; - - if (lbl_1_bss_34A >= 5) { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - fn_1_5FB0(lbl_1_bss_34C[var_r31]); - } - } -} - -void fn_1_6368(void) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0x80; var_r31++) { - lbl_1_bss_34[var_r31] = NULL; - } -} - -void *fn_1_63A8(s32 arg0) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0x80; var_r31++) { - if (!lbl_1_bss_34[var_r31]) - break; - } - if (var_r31 == 0x80) { - return NULL; - } - lbl_1_bss_34[var_r31] = HuMemDirectMallocNum(HEAP_SYSTEM, arg0, MEMORY_DEFAULT_NUM); - return lbl_1_bss_34[var_r31]; -} - -void fn_1_6448(void *arg0) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0x80; var_r31++) { - if (lbl_1_bss_34[var_r31] == arg0) - break; - } - if (var_r31 != 0x80) { - HuMemDirectFree(lbl_1_bss_34[var_r31]); - lbl_1_bss_34[var_r31] = NULL; - } -} - -void fn_1_64DC(void) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0x80; var_r31++) { - if (lbl_1_bss_34[var_r31]) { - OSReport("adr %x\n", lbl_1_bss_34[var_r31]); - HuMemDirectFree(lbl_1_bss_34[var_r31]); - lbl_1_bss_34[var_r31] = NULL; - } - } -} - -void fn_1_6584(s16 arg0, char *arg1, u8 arg2, u8 arg3, u8 arg4) -{ - char sp13[0x100]; - HsfObject *var_r31; - HsfMaterial *temp_r30; - HsfData *temp_r29; - HsfBuffer *temp_r28; - HsfObject *var_r26; - s32 var_r25; - s32 var_r27; - - temp_r29 = Hu3DData[arg0].hsfData; - var_r26 = temp_r29->object; - strcpy(&sp13, MakeObjectName(arg1)); - - for (var_r25 = 0; var_r25 < temp_r29->objectCnt; var_r25++, var_r26++) { - var_r31 = var_r26; - temp_r28 = var_r31->data.face; - if (var_r31->constData && strcmp(&sp13, var_r31->name) == 0) { - - for (var_r27 = 0; var_r27 < temp_r28->count; var_r27++) { - temp_r30 = &var_r31->data.material[((HsfFace *)temp_r28->data)[var_r27].mat & 0xFFF]; - temp_r30->color[0] = arg2; - temp_r30->color[1] = arg3; - temp_r30->color[2] = arg4; - } - return; - } - } -} - -AnimBmpData *fn_1_668C(s16 arg0) -{ - return Hu3DTexAnimData[arg0].unk10->bmp; -} - -s16 fn_1_66AC(void) -{ - AnimBmpData *temp_r31; - s32 var_r30; - AnimData **var_r29; - s32 var_r28; - - var_r30 = fn_1_A94C(0xFFFF0000, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02); - fn_1_ACF4(var_r30, 7, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02); - var_r29 = fn_1_9734(var_r30); - temp_r31 = (*var_r29)->bmp; - var_r28 = temp_r31->sizeX * temp_r31->sizeY; - memcpy(temp_r31->data, Hu3DShadowData.unk_04, var_r28); - return var_r30; -} - -u32 lbl_1_data_110 = 0x41C64E6D; - -s32 fn_1_679C(void) -{ - lbl_1_data_110 *= 0x41C64E6D; - lbl_1_data_110 += 0x3039; - return lbl_1_data_110 >> 0x10; -} - -f32 fn_1_67F0(f32 arg0, f32 arg1, f32 arg2) -{ - f32 var_f31; - - if (arg0 > 180.0f) { - arg0 -= 360.0f; - } - else if (arg0 <= -180.0f) { - arg0 += 360.0f; - } - if (arg1 > 180.0f) { - arg1 -= 360.0f; - } - else if (arg1 <= -180.0f) { - arg1 += 360.0f; - } - var_f31 = arg0 - arg1; - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - else if (var_f31 <= -180.0f) { - var_f31 += 360.0f; - } - arg0 = arg1 + (var_f31 * arg2); - if (arg0 > 180.0f) { - return arg0 - 360.0f; - } - if (arg0 <= -180.0f) { - arg0 += 360.0f; - } - return arg0; -} - -void fn_1_6958(Mtx arg0, f32 arg8, f32 arg9, f32 argA) -{ - Mtx sp38; - Mtx sp8; - - if (argA != 0.0f) { - MTXRotDeg(arg0, 0x5A, argA); - } - else { - MTXIdentity(arg0); - } - if (arg8 != 0.0f) { - MTXRotDeg(sp38, 0x58, arg8); - MTXConcat(sp38, arg0, arg0); - } - if (arg9 != 0.0f) { - MTXRotDeg(sp8, 0x59, arg9); - MTXConcat(sp8, arg0, arg0); - } -} - -void fn_1_6A78(Mtx arg0, Vec *arg1) -{ - f32 temp_f29; - f32 var_f28; - - arg1->x = atan2d(arg0[2][2], arg0[1][2]); - arg1->z = atan2d(arg0[0][0], arg0[0][1]); - temp_f29 = -arg0[0][2]; - var_f28 = sqrtf(ABS(1.0 - (temp_f29 * temp_f29))); - if ((arg1->x > 90.0f) && (arg1->x < 270.0f) && (arg1->z > 90.0f) && (arg1->z < 270.0f)) { - arg1->x = fmod((180.0f + arg1->x), 360.0); - arg1->z = fmod((180.0f + arg1->z), 360.0); - var_f28 = -var_f28; - } - arg1->y = atan2d(var_f28, temp_f29); -} - -f32 fn_1_6D84(f32 arg8, f32 arg9, f32 argA, f32 argB) -{ - f32 temp_f31; - f32 var_f30; - - temp_f31 = (1.0 - arg8); - var_f30 = (argB * (arg8 * arg8)) + ((arg9 * (temp_f31 * temp_f31)) + (2.0 * (argA * (temp_f31 * arg8)))); - return var_f30; -} - -void fn_1_6DFC(f32 *arg0, f32 *arg1, f32 *arg2, f32 *arg3, f32 arg8) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - *arg3++ = fn_1_6D84(arg8, *arg0++, *arg1++, *arg2++); - } -} - -f32 fn_1_6F18(f32 arg8, f32 arg9, f32 argA, f32 argB) -{ - f32 var_f31; - - var_f31 = (2.0 * ((arg8 * argB) + (((arg8 - 1.0) * arg9) + ((1.0 - (2.0 * arg8)) * argA)))); - return var_f31; -} - -void fn_1_6F90(f32 *arg0, f32 *arg1, f32 *arg2, f32 *arg3, f32 arg8) -{ - f32 spC[3]; - f32 var_f29; - s32 var_r31; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - spC[var_r31] = fn_1_6F18(arg8, *arg0++, *arg1++, *arg2++); - } - var_f29 = sqrtf((spC[2] * spC[2]) + ((spC[0] * spC[0]) + (spC[1] * spC[1]))); - if (var_f29) { - var_f29 = (1.0 / var_f29); - for (var_r31 = 0; var_r31 < 3; var_r31++) { - *arg3++ = var_f29 * spC[var_r31]; - } - return; - } - *arg3++ = 0.0f; - *arg3++ = 0.0f; - *arg3++ = 1.0f; -} - -void fn_1_7268(f32 *arg0, f32 *arg1, f32 *arg2, s32 arg3) -{ - f32 sp48[0x10]; - f32 sp8[0x10]; - f32 temp_f31; - s32 var_r31; - - arg2[0] = 0.0f; - arg2[arg3 - 1] = 0.0f; - - for (var_r31 = 0; var_r31 < arg3 - 1; var_r31++) { - sp48[var_r31] = arg0[var_r31 + 1] - arg0[var_r31]; - if (sp48[var_r31] == 0.0f) { - sp8[var_r31 + 1] = 0.0f; - } - else { - sp8[var_r31 + 1] = (arg1[var_r31 + 1] - arg1[var_r31]) / sp48[var_r31]; - } - } - arg2[1] = (sp8[2] - sp8[1]); - sp8[1] = 2.0f * (arg0[2] - arg0[0]); - - for (var_r31 = 1; var_r31 < arg3 - 2; var_r31++) { - temp_f31 = sp48[var_r31] / sp8[var_r31]; - arg2[var_r31 + 1] = ((sp8[var_r31 + 2] - sp8[var_r31 + 1]) - (temp_f31 * (f64)arg2[var_r31])); - sp8[var_r31 + 1] = ((2.0f * (arg0[var_r31 + 2] - arg0[var_r31])) - (temp_f31 * (f64)sp48[var_r31])); - } - - arg2[arg3 - 2] -= sp48[arg3 - 2] * arg2[arg3 - 1]; - - for (var_r31 = arg3 - 2; var_r31 > 0; var_r31--) { - if (0.0f == sp8[var_r31]) { - arg2[var_r31] = 0.0f; - } - else { - arg2[var_r31] = (arg2[var_r31] - (sp48[var_r31] * arg2[var_r31 + 1])) / sp8[var_r31]; - } - } -} - -f32 fn_1_7520(f32 arg0, f32 *arg1, f32 *arg2, f32 *arg3, s32 arg4) -{ - f32 temp_f30; - f32 temp_f31; - f32 var_f29; - s32 temp_r31; - - temp_r31 = (s32)arg0; - arg0 -= temp_r31; - temp_f31 = arg1[temp_r31 + 1] - arg1[temp_r31]; - temp_f30 = temp_f31 * arg0; - var_f29 = arg2[temp_r31] - + (temp_f30 - * ((temp_f30 * ((3.0f * arg3[temp_r31]) + ((temp_f30 * (arg3[temp_r31 + 1] - arg3[temp_r31])) / temp_f31))) - + (((arg2[temp_r31 + 1] - arg2[temp_r31]) / temp_f31) - (temp_f31 * (2.0f * arg3[temp_r31] + arg3[temp_r31 + 1]))))); - if (temp_f31 == 0.0f) { - var_f29 = arg2[temp_r31]; - } - return var_f29; -} - -void fn_1_7674(f32 *arg0, Vec *arg1, Vec *arg2, s32 arg3) -{ - f32 spD4[0x10]; - f32 sp94[0x10]; - f32 sp54[0x10]; - f32 sp14[0x10]; - Vec sp8; - f32 temp_f31; - s32 var_r27; - s32 var_r30; - s32 var_r31; - - arg0[0] = 0.0f; - - for (var_r30 = 1; var_r30 < arg3; var_r30++) { - VECSubtract(&arg1[var_r30], &arg1[var_r30 - 1], &sp8); - arg0[var_r30] = arg0[var_r30 - 1] + VECMag(&sp8); - } - - for (var_r27 = 0; var_r27 < 3; var_r27++) { - for (var_r30 = 0; var_r30 < arg3; var_r30++) { - spD4[var_r30] = ((f32(*)[3])arg1)[var_r30][var_r27]; - } - sp94[0] = 0.0f; - sp94[arg3 - 1] = 0.0f; - - for (var_r31 = 0; var_r31 < (arg3 - 1); var_r31++) { - sp14[var_r31] = arg0[var_r31 + 1] - arg0[var_r31]; - if (sp14[var_r31] == 0.0f) { - sp54[var_r31 + 1] = 0.0f; - } - else { - sp54[var_r31 + 1] = (spD4[var_r31 + 1] - spD4[var_r31]) / sp14[var_r31]; - } - } - sp94[1] = sp54[2] - sp54[1]; - sp54[1] = 2.0f * (arg0[2] - arg0[0]); - - for (var_r31 = 1; var_r31 < (arg3 - 2); var_r31++) { - temp_f31 = sp14[var_r31] / sp54[var_r31]; - sp94[var_r31 + 1] = ((sp54[var_r31 + 2] - sp54[var_r31 + 1]) - (temp_f31 * (f64)sp94[var_r31])); - sp54[var_r31 + 1] = ((2.0f * (arg0[var_r31 + 2] - arg0[var_r31])) - (temp_f31 * (f64)sp14[var_r31])); - } - sp94[arg3 - 2] -= sp14[arg3 - 2] * sp94[arg3 - 1]; - for (var_r31 = arg3 - 2; var_r31 > 0; var_r31--) { - if (sp54[var_r31] == 0.0f) { - sp94[var_r31] = 0.0f; - } - else { - sp94[var_r31] = (sp94[var_r31] - (sp14[var_r31] * sp94[var_r31 + 1])) / sp54[var_r31]; - } - } - - for (var_r30 = 0; var_r30 < arg3; var_r30++) { - ((f32(*)[3])arg2)[var_r30][var_r27] = sp94[var_r30]; - (void)arg2; - } - } -} - -void fn_1_7A54(f32 arg0, Vec *arg1, f32 *arg2, Vec *arg3, Vec *arg4, s32 arg5) -{ - f32 sp48[0x10]; - f32 sp8[0x10]; - f32 temp_f29; - f32 temp_f31; - f32 var_f28; - s32 temp_r31; - s32 var_r29; - s32 var_r30; - - for (var_r29 = 0; var_r29 < 3; var_r29++) { - for (var_r30 = 0; var_r30 < arg5; var_r30++) { - sp48[var_r30] = ((f32(*)[3])arg3)[var_r30][var_r29]; - sp8[var_r30] = ((f32(*)[3])arg4)[var_r30][var_r29]; - } - - ((f32(*)[3])arg1)[0][var_r29] = fn_1_7520(arg0, arg2, sp48, sp8, 0); - } -} - -f32 fn_1_7C68(Vec *arg0) -{ - f32 temp_f29; - f32 temp_f30; - - temp_f30 = (arg0->z * arg0->z) + ((arg0->x * arg0->x) + (arg0->y * arg0->y)); - temp_f30 = sqrtf(temp_f30); - - if (temp_f30 != 0.0f) { - temp_f29 = 1.0f / temp_f30; - arg0->x *= temp_f29; - arg0->y *= temp_f29; - arg0->z *= temp_f29; - } - else { - arg0->x = arg0->y = arg0->z = 0.0f; - } - return temp_f30; -} - -f32 fn_1_7E00(Vec arg0, Vec arg1, Vec *arg2, f32 arg8) -{ - if (arg8 <= 0.0f) { - arg2->x = arg0.x; - arg2->y = arg0.y; - arg2->z = arg0.z; - arg8 = 0.0f; - } - else if (arg8 >= 1.0f) { - arg2->x = arg0.x + arg1.x; - arg2->y = arg0.y + arg1.y; - arg2->z = arg0.z + arg1.z; - arg8 = 1.0f; - } - else { - arg2->x = arg0.x + (arg8 * arg1.x); - arg2->y = arg0.y + (arg8 * arg1.y); - arg2->z = arg0.z + (arg8 * arg1.z); - } - return arg8; -} - -f32 fn_1_7ED8(Vec arg0, Vec arg1, Vec arg2) -{ - f32 temp_f30; - f32 var_f31; - - var_f31 = (arg2.z * (arg1.z - arg0.z)) + ((arg2.x * (arg1.x - arg0.x)) + (arg2.y * (arg1.y - arg0.y))); - temp_f30 = -((arg2.z * arg2.z) + ((arg2.x * arg2.x) + (arg2.y * arg2.y))); - if (temp_f30 != 0.0f) { - var_f31 /= temp_f30; - } - return var_f31; -} - -f32 fn_1_7F94(Vec *arg0, Vec *arg1, Vec *arg2) -{ - Vec sp44; - f32 var_f30; - - if (0.0f == ((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y)))) { - return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) - + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y))); - } - - var_f30 = fn_1_7ED8(*arg0, *arg1, *arg2); - fn_1_7E00(*arg1, *arg2, &sp44, var_f30); - return ((arg0->z - sp44.z) * (arg0->z - sp44.z)) + (((arg0->x - sp44.x) * (arg0->x - sp44.x)) + ((arg0->y - sp44.y) * (arg0->y - sp44.y))); -} - -f32 fn_1_82D0(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, Vec *arg4) -{ - f32 var_f31; - f32 var_f30; - - if (0.0f == ((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y)))) { - return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) - + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y))); - } - else { - var_f30 = fn_1_7ED8(*arg0, *arg1, *arg2); - fn_1_7E00(*arg1, *arg2, arg3, var_f30); - } - - arg4->x = arg3->x - arg0->x; - arg4->y = arg3->y - arg0->y; - arg4->z = arg3->z - arg0->z; - - return fn_1_7C68(arg4); -} diff --git a/src/REL/m415Dll/map.c b/src/REL/m415Dll/map.c deleted file mode 100644 index 6533a2dc..00000000 --- a/src/REL/m415Dll/map.c +++ /dev/null @@ -1,1508 +0,0 @@ -#define HUSPR_USE_OLD_DEFS -#include "REL/m415Dll.h" - -#include "game/hsfdraw.h" -#include "game/sprite.h" - -void fn_1_8780(s16 arg0, s16 arg1) -{ - s32 var_r31; - unkSubStruct2 *var_r29; - unkSubStruct3 *var_r30; - - lbl_1_bss_36C.unk34 = Hu3DHookFuncCreate(fn_1_95C0); - Hu3DModelLayerSet(lbl_1_bss_36C.unk34, 6); - lbl_1_bss_36C.unk30 = arg0; - lbl_1_bss_36C.unk40 = var_r29 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(unkSubStruct2), MEMORY_DEFAULT_NUM); - lbl_1_bss_36C.unk32 = arg1; - lbl_1_bss_36C.unk3C = var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(unkSubStruct3), MEMORY_DEFAULT_NUM); - - for (var_r31 = 0; var_r31 < arg0; var_r31++, var_r29++) { - var_r29->unk8 = 0; - } - - for (var_r31 = 0; var_r31 < arg1; var_r31++, var_r30++) { - var_r30->unk6 = 0; - var_r30->unk8 = 0; - } - lbl_1_bss_36C.unk36 = lbl_1_bss_36C.unk38 = lbl_1_bss_36C.unk3A = 0; -} - -void fn_1_88B8(unkSubStruct2 *arg0) -{ - ModelData sp120; - Mtx spF0; - Mtx spC0; - Mtx sp90; - Mtx sp60; - Mtx sp30; - GXColor sp2C; - s16 sp8; - s32 var_r25; - s32 var_r27; - s16 temp_r23; - s16 var_r28; - s16 var_r29; - s32 var_r24; - s32 var_r22; - s32 var_r21; - s32 var_r20; - s32 var_r19; - unkSubStruct3 *temp_r26; - unkSubStruct *var_r31; - - mtxRot(sp60, arg0->unk18.x, arg0->unk18.y, arg0->unk18.z); - MTXScale(sp90, arg0->unk24.x, arg0->unk24.y, arg0->unk24.z); - MTXConcat(sp60, sp90, sp90); - mtxTransCat(sp90, arg0->unkC.x, arg0->unkC.y, arg0->unkC.z); - MTXConcat(Hu3DCameraMtx, sp90, spC0); - var_r29 = 0; - var_r28 = 0; - sp8 = 0; - - for (var_r27 = GX_TEXMAP0; var_r27 < arg0->unk4; var_r27++) { - if (arg0->unk34[var_r27] != 0) { - temp_r26 = &lbl_1_bss_36C.unk3C[arg0->unk34[var_r27]]; - MTXCopy(temp_r26->unk18, sp30); - mtxTransCat(sp30, temp_r26->unkC.x, temp_r26->unkC.y, temp_r26->unkC.z); - switch (temp_r26->unk4) { - case 0: - GXLoadTexMtxImm(sp30, texMtxTbl[var_r28], GX_MTX2x4); - var_r22 = texMtxTbl[var_r28]; - GXSetTexCoordGen2(var_r28, GX_TG_MTX2x4, var_r27 + 4, var_r22, 0, 0x7D); - GXSetTevOrder(var_r29, var_r28, var_r27, GX_COLOR0A0); - if (var_r27 == GX_TEXMAP0) { - if ((temp_r26->unk0->bmp->dataFmt == 7) || (temp_r26->unk0->bmp->dataFmt == 8)) { - GXSetTevColor(GX_TEVREG2, temp_r26->unk48); - GXSetTevColorIn(var_r29, GX_CC_ZERO, GX_CC_C2, GX_CC_RASC, GX_CC_ZERO); - } - else { - GXSetTevColorIn(var_r29, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); - } - GXSetTevAlphaIn(var_r29, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); - } - else { - sp2C.a = temp_r26->unk48.a; - GXSetTevColor(GX_TEVREG2, sp2C); - GXSetTevColorIn(var_r29, GX_CC_CPREV, GX_CC_TEXC, GX_CC_A2, GX_CC_ZERO); - GXSetTevAlphaIn(var_r29, GX_CA_ZERO, GX_CA_TEXA, GX_CA_APREV, GX_CA_ZERO); - } - GXSetTevColorOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevAlphaOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - break; - case 1: - GXLoadTexMtxImm(sp30, texMtxTbl[var_r28], GX_MTX2x4); - var_r21 = texMtxTbl[var_r28]; - GXSetTexCoordGen2(var_r28, GX_TG_MTX2x4, var_r27 + 4, var_r21, 0, 0x7D); - GXSetTevOrder(var_r29, var_r28, var_r27, GX_COLOR0A0); - GXSetTevColorIn(var_r29, GX_CC_ZERO, GX_CC_CPREV, GX_CC_TEXA, GX_CC_ZERO); - GXSetTevAlphaIn(var_r29, GX_CA_ZERO, GX_CA_TEXA, GX_CA_APREV, GX_CA_ZERO); - GXSetTevColorOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevAlphaOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - break; - case 2: - sp2C.a = 0xE0; - GXSetTevColor(GX_TEVREG1, sp2C); - GXSetTexCoordGen2(var_r28 + 1, GX_TG_BUMP0, var_r28, 0x3C, 0, 0x7D); - GXSetTevOrder(var_r29, var_r28, var_r27, GX_COLOR0A0); - GXSetTevColorIn(var_r29, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A1, GX_CC_RASC); - GXSetTevColorOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevAlphaIn(var_r29, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 0, GX_TEVPREV); - var_r29++; - GXSetTevOrder(var_r29, var_r28 + 1, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(var_r29, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A1, GX_CC_CPREV); - GXSetTevColorOp(var_r29, GX_TEV_SUB, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevAlphaIn(var_r29, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 0, GX_TEVPREV); - break; - case 3: - var_r28--; - GXLoadTexMtxImm(sp30, texMtxTbl[var_r28], GX_MTX2x4); - var_r20 = texMtxTbl[var_r28]; - GXSetTexCoordGen2(var_r28, GX_TG_MTX2x4, var_r27 + 4, var_r20, 0, 0x7D); - GXSetTevOrder(var_r29, var_r28, var_r27, GX_COLOR0A0); - GXSetTevColorIn(var_r29, GX_CC_ZERO, GX_CC_CPREV, GX_CC_TEXC, GX_CC_ZERO); - GXSetTevColorOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevAlphaIn(var_r29, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_TEXA); - GXSetTevAlphaOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - var_r28++; - break; - case 4: - mtxRot(sp60, arg0->unk18.x, arg0->unk18.y, arg0->unk18.z); - MTXScale(sp90, arg0->unk24.x, arg0->unk24.y, arg0->unk24.z); - MTXConcat(sp60, sp90, sp90); - mtxTransCat(sp90, arg0->unkC.x, arg0->unkC.y, arg0->unkC.z); - MTXConcat(Hu3DCameraMtx, sp90, sp30); - MTXInverse(Hu3DCameraMtx, sp60); - MTXConcat(sp60, sp30, sp60); - MTXConcat(Hu3DShadowData.unk_68, Hu3DShadowData.unk_38, sp90); - MTXConcat(sp90, sp60, sp30); - GXLoadTexMtxImm(sp30, texMtxTbl[var_r28], GX_MTX3x4); - var_r19 = texMtxTbl[var_r28]; - GXSetTexCoordGen2(var_r28, GX_TG_MTX3x4, GX_TG_POS, var_r19, 0, 0x7D); - GXSetTevOrder(var_r29, var_r28, var_r27, GX_COLOR0A0); - if (var_r27 == GX_TEXMAP0) { - GXSetTevColorIn(var_r29, GX_CC_ONE, GX_CC_ZERO, GX_CC_TEXC, GX_CC_ZERO); - GXSetTevAlphaIn(var_r29, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_TEXA); - } - else { - GXSetTevColorIn(var_r29, GX_CC_CPREV, GX_CC_ZERO, GX_CC_TEXC, GX_CC_ZERO); - GXSetTevAlphaIn(var_r29, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_APREV); - } - GXSetTevColorOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevAlphaOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 0, GX_TEVPREV); - break; - } - var_r29++; - var_r28++; - if (temp_r26->unk4D != 0) { - HuSprTexLoad(temp_r26->unk0, 0, var_r27, 1, 1, 1); - } - else { - HuSprTexLoad(temp_r26->unk0, 0, var_r27, 0, 0, 1); - } - } - } - GXSetNumTevStages((s16)var_r29); - GXSetNumTexGens((s16)var_r28); - var_r31 = arg0->unk3C; - - for (var_r24 = 0; var_r24 < arg0->unk2; var_r24++, var_r31++) { - if ((var_r31->unk34 != 0) && ((var_r31->unk34 & 4) == 0)) { - switch (var_r31->unk30) { - case 0: - mtxRot(sp60, var_r31->unkC.x, var_r31->unkC.y, var_r31->unkC.z); - if (var_r31->unk31 == 2) { - MTXConcat(lbl_1_bss_36C.unk0, sp60, sp60); - } - else if (var_r31->unk31 == 1) { - MTXRotDeg(sp90, 0x59, CRot.y); - MTXConcat(sp90, sp60, sp60); - } - MTXScale(sp90, var_r31->unk18.x, var_r31->unk18.y, var_r31->unk18.z); - MTXConcat(sp60, sp90, sp90); - mtxTransCat(sp90, var_r31->unk0.x, var_r31->unk0.y, var_r31->unk0.z); - MTXConcat(Hu3DCameraMtx, sp90, spF0); - break; - case 1: - mtxRot(sp60, var_r31->unkC.x, var_r31->unkC.y, var_r31->unkC.z); - if (var_r31->unk31 == 2) { - if (HmfInverseMtxF3X3(spC0, sp90) == 0) { - MTXIdentity(sp90); - } - MTXConcat(sp90, sp60, sp60); - } - else if (var_r31->unk31 == 1) { - MTXRotDeg(sp90, 0x59, CRot.y); - MTXConcat(sp90, sp60, sp60); - } - MTXScale(sp90, var_r31->unk18.x, var_r31->unk18.y, var_r31->unk18.z); - MTXConcat(sp60, sp90, sp90); - mtxTransCat(sp90, var_r31->unk0.x, var_r31->unk0.y, var_r31->unk0.z); - MTXConcat(spC0, sp90, spF0); - break; - } - GXLoadPosMtxImm(spF0, 0); - MTXInverse(spF0, sp90); - MTXTranspose(sp90, sp60); - GXLoadNrmMtxImm(sp60, 0); - GXSetChanAmbColor(GX_COLOR0A0, var_r31->unk4C); - GXSetChanMatColor(GX_COLOR0A0, var_r31->unk50); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZCompLoc(0); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - if ((var_r31->unk34 & 0x10) != 0) { - GXSetZMode(0, GX_LEQUAL, 1); - } - else { - GXSetZMode(1, GX_LEQUAL, 0); - } - sp120.attr = 0; - temp_r23 = Hu3DLightSet(&sp120, &Hu3DCameraMtx, &Hu3DCameraMtxXPose, 0.0f); - GXSetNumChans(1); - if ((var_r31->unk34 & 8) != 0) { - var_r25 = GX_SRC_VTX; - } - else { - var_r25 = GX_SRC_REG; - } - switch (var_r31->unk32) { - case 0: - GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, var_r25, 0, GX_DF_CLAMP, GX_AF_NONE); - break; - case 1: - GXSetChanCtrl(GX_COLOR0A0, 1, GX_SRC_REG, var_r25, temp_r23, GX_DF_CLAMP, GX_AF_SPOT); - break; - case 2: - GXSetChanCtrl(GX_COLOR0A0, 1, GX_SRC_REG, var_r25, temp_r23, GX_DF_CLAMP, GX_AF_SPEC); - break; - } - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, var_r31->unk40, 12); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, var_r31->unk44, 4); - - for (var_r27 = 0; var_r27 < var_r31->unk33; var_r27++) { - GXSetVtxDesc(var_r27 + GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, var_r27 + GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetArray(var_r27 + GX_VA_TEX0, var_r31->unk54[var_r27].unk4, 8); - } - GXSetVtxDesc(GX_VA_NRM, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0); - GXSetArray(GX_VA_NRM, var_r31->unk48, 12); - GXCallDisplayList(var_r31->unk3C, var_r31->unk38); - } - } -} - -void fn_1_95C0(ModelData *arg0, Mtx arg1) -{ - Mtx sp38; - Mtx sp8; - s32 var_r30; - unkSubStruct2 *var_r31; - - var_r31 = lbl_1_bss_36C.unk40; - GXLoadPosMtxImm(arg1, 0); - MTXInverse(arg1, sp38); - MTXTranspose(sp38, sp8); - GXLoadNrmMtxImm(sp8, 0); - HmfInverseMtxF3X3(Hu3DCameraMtx, lbl_1_bss_36C.unk0); - - for (var_r30 = 0; var_r30 < lbl_1_bss_36C.unk30; var_r30++, var_r31++) { - if ((var_r31->unk8 != 0) && ((var_r31->unk8 & 2) != 0) && ((var_r31->unk8 & 4) == 0)) { - if ((u8)omPauseChk() == 0) { - if (var_r31->unk30) { - var_r31->unk30(var_r31); - } - if (var_r31->unk8 == 0) - continue; - fn_1_9DC8(var_r31); - if (var_r31->unk8 == 0) - continue; - } - fn_1_88B8(var_r31); - } - } -} - -unkSubStruct2 *fn_1_96EC(s16 arg0) -{ - return &lbl_1_bss_36C.unk40[arg0]; -} - -unkSubStruct *fn_1_9708(s16 arg0, s16 arg1) -{ - return &lbl_1_bss_36C.unk40[arg0].unk3C[arg1]; -} - -AnimData **fn_1_9734(s16 arg0) -{ - return &lbl_1_bss_36C.unk3C[arg0].unk0; -} - -void fn_1_9750(unkStruct6 **arg0, s16 arg1, f32 arg8, f32 arg9) -{ - s32 var_r30; - unkStruct6 *var_r31; - - var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(unkStruct6), MEMORY_DEFAULT_NUM); - - for (var_r30 = 0; var_r30 < arg1; var_r31++, var_r30++) { - var_r31->unk0.x = (-0.5f * arg8); - var_r31->unk0.y = (0.5f * arg9); - var_r31->unk0.z = 0.0f; - var_r31->unkC.x = (0.5f * arg8); - var_r31->unkC.y = (0.5f * arg9); - var_r31->unkC.z = 0.0f; - var_r31->unk18.x = (0.5f * arg8); - var_r31->unk18.y = (-0.5f * arg9); - var_r31->unk18.z = 0.0f; - var_r31->unk24.x = (-0.5f * arg8); - var_r31->unk24.y = (-0.5f * arg9); - var_r31->unk24.z = 0.0f; - } -} - -void fn_1_98D4(Vec **arg0, s16 arg1, Vec *arg2) -{ - s32 var_r29; - s32 var_r28; - Vec *var_r31; - - var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(Vec[4]), MEMORY_DEFAULT_NUM); - - for (var_r29 = 0; var_r29 < arg1; var_r29++) { - for (var_r28 = 0; var_r28 < 4; var_r31++, arg2++, var_r28++) { - var_r31->x = arg2->x; - var_r31->y = arg2->y; - var_r31->z = arg2->z; - } - } -} - -void fn_1_9974(GXColor **arg0, s16 arg1, GXColor *arg2) -{ - s32 var_r29; - s32 var_r28; - GXColor *var_r31; - - var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(GXColor[4]), MEMORY_DEFAULT_NUM); - - for (var_r29 = 0; var_r29 < arg1; var_r29++) { - for (var_r28 = 0; var_r28 < 4; var_r31++, arg2++, var_r28++) { - var_r31->r = arg2->r; - var_r31->g = arg2->g; - var_r31->b = arg2->b; - var_r31->a = arg2->a; - } - } -} - -void fn_1_9A1C(Vec **arg0, s16 arg1, Vec *arg2) -{ - s32 var_r29; - Vec *var_r31; - - var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(Vec), MEMORY_DEFAULT_NUM); - - for (var_r29 = 0; var_r29 < arg1; var_r31++, arg2++, var_r29++) { - var_r31->x = arg2->x; - var_r31->y = arg2->y; - var_r31->z = arg2->z; - } -} - -void fn_1_9AA8(HsfVector2f **arg0, s16 arg1, HsfVector2f *arg2) -{ - s32 var_r28; - s32 var_r29; - HsfVector2f *var_r31; - - var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(HsfVector2f[4]), MEMORY_DEFAULT_NUM); - - for (var_r28 = 0; var_r28 < arg1; var_r28++) { - for (var_r29 = 0; var_r29 < 4; var_r31++, arg2++, var_r29++) { - var_r31->x = arg2->x; - var_r31->y = arg2->y; - } - } -} - -void fn_1_9B40(unkSubStruct *arg0) -{ - void *sp8; - s32 var_r29; - s32 var_r31; - void *temp_r28; - - Vec sp1C[4] = { { -50.0f, 50.0f, 0.0f }, { 50.0f, 50.0f, 0.0f }, { 50.0f, -50.0f, 0.0f }, { -50.0f, -50.0f, 0.0f } }; - GXColor spC[4] = { { 0xFF, 0xFF, 0xFF, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF } }; - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - arg0->unk40[var_r31] = sp1C[var_r31]; - } - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - arg0->unk44[var_r31] = spC[var_r31]; - } - arg0->unk48->x = 0.0f; - arg0->unk48->y = 0.0f; - arg0->unk48->z = 1.0; - temp_r28 = arg0->unk3C; - sp8 = temp_r28; - GXBeginDisplayList(temp_r28, 0x100U); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - GXPosition1x16(var_r31); - GXNormal1x16(0); - GXColor1x16(var_r31); - for (var_r29 = 0; var_r29 < arg0->unk33; var_r29++) { - GXTexCoord1x16(var_r31); - } - } - arg0->unk38 = GXEndDisplayList(); -} - -void fn_1_9DC8(unkSubStruct2 *arg0) -{ - s32 temp_r0; - s32 var_r25; - s32 var_r26; - s32 var_r27; - unkSubStruct *var_r28; - unkSubStruct3 *temp_r30; - unkSubStruct4 *var_r31; - - var_r27 = 0; - var_r28 = arg0->unk3C; - - for (var_r25 = 0; var_r25 < arg0->unk2; var_r25++, var_r28++) { - if ((var_r28->unk34 & 4) != 0) { - var_r27++; - } - else { - var_r31 = var_r28->unk54; - - for (var_r26 = 0; var_r26 < var_r28->unk33; var_r26++, var_r31++) { - temp_r30 = &lbl_1_bss_36C.unk3C[arg0->unk34[var_r26]]; - var_r31->unk24 &= ~4; - switch (var_r31->unk24 & 0xF) { - case 1: - var_r31->unk2C += var_r31->unk28; - if (var_r31->unk2C >= 1.0f) { - var_r31->unk0++; - var_r31->unk2C--; - } - break; - case 2: - var_r31->unk2C += var_r31->unk28; - if (var_r31->unk2C >= 1.0f) { - var_r31->unk0--; - var_r31->unk2C--; - } - break; - } - if (var_r31->unk0 >= temp_r30->unk4C) { - if ((var_r31->unk24 & 0x10) != 0) { - var_r31->unk24 |= 8; - var_r31->unk0--; - } - else if ((var_r31->unk24 & 0x40) != 0) { - var_r31->unk24 = (var_r31->unk24 & 0xF0) | 2; - var_r31->unk0 -= 2; - } - else if ((var_r31->unk24 & 0x20) != 0) { - var_r31->unk0 = 0; - } - var_r31->unk24 |= 4; - } - else if (var_r31->unk0 < 0) { - if ((var_r31->unk24 & 0x10) != 0) { - var_r31->unk24 |= 8; - var_r31->unk0 = 0; - } - else if ((var_r31->unk24 & 0x20) != 0) { - if ((var_r31->unk24 & 0x40) != 0) { - var_r31->unk24 = (var_r31->unk24 & 0xF0) | 1; - var_r31->unk0 = 1; - } - else { - var_r31->unk0 = temp_r30->unk4C - 1; - } - } - else if ((var_r31->unk24 & 0x40) != 0) { - var_r31->unk24 |= 8; - var_r31->unk0 = 0; - } - var_r31->unk24 |= 4; - } - else { - var_r31->unk24 &= ~8; - } - if (var_r31->unk0 != var_r31->unk1) { - var_r31->unk4[0].y = var_r31->unk0 * temp_r30->unk58; - var_r31->unk4[1].y = var_r31->unk0 * temp_r30->unk58; - var_r31->unk4[2].y = ((var_r31->unk0 + 1) * temp_r30->unk58); - var_r31->unk4[3].y = ((var_r31->unk0 + 1) * temp_r30->unk58); - if ((var_r31->unk0 + 1) < temp_r30->unk4C) { - var_r31->unk4[2].y -= temp_r30->unk60; - var_r31->unk4[3].y -= temp_r30->unk60; - } - var_r31->unk1 = var_r31->unk0; - } - if ((var_r31->unk24 & 8) != 0) { - if ((var_r28->unk34 & 0x40000000) != 0) { - var_r28->unk34 |= 4; - if ((var_r31->unk24 & 0x40) == 0) { - if (var_r31->unk0 <= 0) { - var_r31->unk0 = temp_r30->unk4C; - } - else { - var_r31->unk0 = 0; - } - } - } - else if ((var_r28->unk34 & 0x80000000) != 0) { - fn_1_A800(arg0->unk0); - } - var_r27++; - } - } - } - } - if (var_r27 >= arg0->unk2) { - if ((arg0->unk8 & 0x40000000) != 0) { - arg0->unk8 |= 4; - return; - } - if ((arg0->unk8 & 0x80000000) != 0) { - fn_1_A800(arg0->unk0); - } - } -} - -s16 fn_1_A2D0(u8 arg0, u8 arg1) -{ - s32 var_r29; - s32 var_r28; - unkSubStruct *var_r30; - unkSubStruct2 *var_r31; - void *temp_r25; - - var_r31 = lbl_1_bss_36C.unk40 + 1; - - for (var_r29 = 1; var_r29 < lbl_1_bss_36C.unk30; var_r29++, var_r31++) { - if (var_r31->unk8 == 0) { - break; - } - } - if (var_r29 == lbl_1_bss_36C.unk30) { - return 0; - } - var_r31->unk0 = var_r29; - var_r31->unk8 = 1; - var_r31->unk30 = NULL; - var_r31->unk2 = arg0; - var_r31->unk4 = arg1; - var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(unkSubStruct), MEMORY_DEFAULT_NUM); - var_r31->unk3C = var_r30; - var_r31->unk34 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * 2, MEMORY_DEFAULT_NUM); - var_r31->unk48 = 0; - var_r31->unk4C = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(unkType), MEMORY_DEFAULT_NUM); - var_r31->unk50 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(Vec[4]), MEMORY_DEFAULT_NUM); - var_r31->unk54 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(unkType2), MEMORY_DEFAULT_NUM); - var_r31->unk58 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(Vec), MEMORY_DEFAULT_NUM); - var_r31->unk5C = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * (arg0 * sizeof(unkSubStruct4)), MEMORY_DEFAULT_NUM); - DCFlushRangeNoSync(var_r31->unk4C, arg0 << 8); - var_r31->unkC.x = var_r31->unkC.y = var_r31->unkC.z = 0.0f; - var_r31->unk18.x = var_r31->unk18.y = var_r31->unk18.z = 0.0f; - var_r31->unk24.x = var_r31->unk24.y = var_r31->unk24.z = 1.0f; - var_r31->unk70.x = var_r31->unk70.y = var_r31->unk70.z = 0.0f; - var_r31->unk64.x = var_r31->unk64.y = var_r31->unk64.z = 0.0f; - var_r31->unk60 = 0; - - for (var_r29 = 0; var_r29 < 0x20; var_r29++) { - var_r31->unk7C[var_r29] = 0; - } - for (var_r29 = 0; var_r29 < arg1; var_r29++) { - var_r31->unk34[var_r29] = 0; - } - for (var_r29 = 0; var_r29 < arg0; var_r29++, var_r30++) { - var_r30->unk34 = 1; - var_r30->unk33 = arg1; - var_r30->unk30 = 0; - var_r30->unk31 = 2; - var_r30->unk32 = 0; - - var_r30->unk4C.r = var_r30->unk4C.g = var_r30->unk4C.b = 0; - var_r30->unk4C.a = 0xFF; - var_r30->unk50.r = var_r30->unk50.g = var_r30->unk50.b = 0xFF; - var_r30->unk50.a = 0xFF; - var_r30->unk54 = &var_r31->unk5C[var_r29 * arg1]; - for (var_r28 = 0; var_r28 < arg1; var_r28++) { - var_r30->unk54[var_r28].unk0 = var_r30->unk54[var_r28].unk1 = 0; - var_r30->unk54[var_r28].unk28 = 1.0f; - var_r30->unk54[var_r28].unk2C = 0.0f; - } - - var_r30->unk0.x = var_r30->unk0.y = var_r30->unk0.z = 0.0f; - var_r30->unkC.x = var_r30->unkC.y = var_r30->unkC.z = 0.0f; - var_r30->unk18.x = var_r30->unk18.y = var_r30->unk18.z = 1.0f; - var_r30->unk68.x = var_r30->unk68.y = var_r30->unk68.z = 0.0f; - var_r30->unk5C.x = var_r30->unk5C.y = var_r30->unk5C.z = 0.0f; - var_r30->unk58 = 0; - - for (var_r28 = 0; var_r28 < 0x10; var_r28++) { - var_r30->unk74[var_r28] = 0; - } - var_r30->unk40 = &var_r31->unk50[var_r29 * 4]; - var_r30->unk44 = &var_r31->unk54[var_r29 * 4]; - var_r30->unk48 = &var_r31->unk58[var_r29]; - var_r30->unk3C = var_r31->unk4C + var_r31->unk48; - fn_1_9B40(var_r30); - var_r31->unk48 += var_r30->unk38; - } - temp_r25 = var_r31->unk4C; - var_r31->unk4C = HuMemDirectMallocNum(HEAP_SYSTEM, var_r31->unk48, MEMORY_DEFAULT_NUM); - memcpy(var_r31->unk4C, temp_r25, var_r31->unk48); - HuMemDirectFree(temp_r25); - DCFlushRangeNoSync(var_r31->unk50, arg0 * 0x30); - DCFlushRangeNoSync(var_r31->unk54, arg0 * 0x10); - DCFlushRangeNoSync(var_r31->unk58, arg0 * 0xC); - DCFlushRangeNoSync(var_r31->unk4C, var_r31->unk48); - var_r30 = var_r31->unk3C; - var_r31->unk48 = 0; - - for (var_r29 = 0; var_r29 < arg0; var_r29++, var_r30++) { - var_r30->unk3C = var_r31->unk4C + var_r31->unk48; - var_r31->unk48 += var_r30->unk38; - } - lbl_1_bss_36C.unk36 = var_r31->unk0; - lbl_1_bss_36C.unk38 = 0; - lbl_1_bss_36C.unk3A = 0; - return var_r31->unk0; -} - -void fn_1_A800(s16 arg0) -{ - s32 var_r30; - unkSubStruct2 *temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - if (temp_r31->unk8 != 0) { - if (temp_r31->unk50 != NULL) { - HuMemDirectFree(temp_r31->unk50); - } - if (temp_r31->unk54 != NULL) { - HuMemDirectFree(temp_r31->unk54); - } - if (temp_r31->unk58 != NULL) { - HuMemDirectFree(temp_r31->unk58); - } - if (temp_r31->unk4C != NULL) { - HuMemDirectFree(temp_r31->unk4C); - } - if (temp_r31->unk5C != NULL) { - HuMemDirectFree(temp_r31->unk5C); - } - - for (var_r30 = 0; var_r30 < temp_r31->unk4; var_r30++) { - fn_1_AF48(temp_r31->unk34[var_r30]); - } - HuMemDirectFree(temp_r31->unk3C); - HuMemDirectFree(temp_r31->unk34); - temp_r31->unk8 = 0; - } - } -} - -void fn_1_A920(s16 arg0, s16 arg1, u8 arg2) -{ - lbl_1_bss_36C.unk36 = arg0; - lbl_1_bss_36C.unk38 = arg1; - lbl_1_bss_36C.unk3A = arg2; -} - -s16 fn_1_A94C(u32 arg0, s16 arg1, s16 arg2) -{ - AnimData *var_r30; - f32 var_f31; - f32 var_f30; - s32 var_r29; - unkSubStruct3 *var_r31; - - var_r31 = lbl_1_bss_36C.unk3C + 1; - for (var_r29 = 1; var_r29 < lbl_1_bss_36C.unk32; var_r29++, var_r31++) { - if ((var_r31->unk6 != 0) && (var_r31->unk8 == arg0)) { - break; - } - } - if (var_r29 < lbl_1_bss_36C.unk32) { - var_r31->unk6++; - return var_r29; - } - var_r31 = lbl_1_bss_36C.unk3C + 1; - for (var_r29 = 1; var_r29 < lbl_1_bss_36C.unk32; var_r29++, var_r31++) { - if (var_r31->unk6 == 0) { - break; - } - } - var_r31->unk8 = arg0; - var_r31->unk6 = 1; - if (((arg0 & 0xFFFF0000) + 0x10000) == 0U) { - var_r30 = HuSprAnimMake(arg1, arg2, 2); - var_r30->bmp->data = HuMemDirectMallocNum(HEAP_SYSTEM, arg2 * (arg1 * 2), MEMORY_DEFAULT_NUM); - arg1 = arg2 = 0; - } - else { - var_r30 = HuSprAnimRead(HuDataReadNum(arg0, 0x10000000)); - } - if ((arg1 == 0) || (arg2 == 0)) { - arg1 = var_r30->bmp->sizeX; - arg2 = var_r30->bmp->sizeY; - var_f31 = var_f30 = 1.0f; - } - else { - var_f31 = arg1 / (f32)var_r30->bmp->sizeX; - var_f30 = arg2 / (f32)var_r30->bmp->sizeY; - } - var_r31->unk0 = var_r30; - var_r31->unk4E = arg1; - var_r31->unk50 = arg2; - var_r31->unk54 = var_f31; - var_r31->unk58 = var_f30; - var_r31->unk5C = 1.0f / var_r30->bmp->sizeX; - var_r31->unk60 = 1.0f / var_r30->bmp->sizeY; - var_r31->unk4 = 0; - var_r31->unk4C = (var_r30->bmp->sizeY / arg2); - if (var_r31->unk4C < 1) { - var_r31->unk4C = 1; - } - var_r31->unk4D = 0; - if ((arg1 > var_r30->bmp->sizeX) || (arg2 > var_r30->bmp->sizeY)) { - var_r31->unk4D = 1; - } - var_r31->unk48.r = var_r31->unk48.g = var_r31->unk48.b = 0xFF; - var_r31->unk48.a = 0xFF; - MTXIdentity(var_r31->unk18); - var_r31->unkC.x = var_r31->unkC.y = var_r31->unkC.z = 0.0f; - return var_r29; -} - -void fn_1_ACF4(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4, s16 arg5) -{ - f32 var_f31; - f32 var_f30; - AnimData *var_r30; - unkSubStruct3 *var_r31; - - var_r31 = &lbl_1_bss_36C.unk3C[arg0]; - HuSprAnimKill(var_r31->unk0); - var_r31->unk8 |= 0xFFFF0000; - var_r30 = HuSprAnimMake(arg2, arg3, arg1); - var_r30->bmp->data = HuMemDirectMallocNum(HEAP_SYSTEM, arg3 * (var_r30->bmp->pixSize * arg2), 0x10000000U); - var_f31 = arg4 / (f32)var_r30->bmp->sizeX; - var_f30 = arg5 / (f32)var_r30->bmp->sizeY; - var_r31->unk0 = var_r30; - var_r31->unk4E = arg2; - var_r31->unk50 = arg3; - var_r31->unk54 = var_f31; - var_r31->unk58 = var_f30; - var_r31->unk5C = 1.0f / var_r30->bmp->sizeX; - var_r31->unk60 = 1.0f / var_r30->bmp->sizeY; - var_r31->unk4 = 0; - var_r31->unk4C = var_r30->bmp->sizeY / arg5; - var_r31->unk4D = 0; - var_r31->unk48.r = var_r31->unk48.g = var_r31->unk48.b = 0xFF; - var_r31->unk48.a = 0xFF; -} - -void fn_1_AF48(s16 arg0) -{ - unkSubStruct3 *temp_r31; - - temp_r31 = &lbl_1_bss_36C.unk3C[arg0]; - if (temp_r31->unk8 != 0) { - if (temp_r31->unk6 != 0) { - temp_r31->unk6 -= 1; - } - if (temp_r31->unk6 == 0) { - HuSprAnimKill(temp_r31->unk0); - temp_r31->unk8 = 0; - } - } -} - -u8 fn_1_AFC8(s16 arg0, u8 arg1, s32 arg2, s16 arg3, s16 arg4) -{ - s32 temp_r3; - - temp_r3 = fn_1_A94C(arg2, arg3, arg4); - if (temp_r3 == 0) { - return 0; - } - fn_1_B0B8(arg0, arg1, temp_r3); - return temp_r3; -} - -u8 fn_1_B038(s16 arg0, u8 arg1, s32 arg2) -{ - u8 var_r31; - s32 var_r30; - u8 var_r29; - - if ((var_r30 = fn_1_A94C(arg2, 0, 0)) == 0) { - var_r31 = 0; - } - else { - fn_1_B0B8(arg0, arg1, var_r30); - var_r31 = var_r30; - } - var_r29 = var_r31; - return var_r29; -} - -s32 fn_1_B0B8(s16 arg0, u8 arg1, s16 arg2) -{ - s32 var_r27; - unkSubStruct *var_r29; - unkSubStruct2 *temp_r28; - unkSubStruct3 *temp_r30; - unkSubStruct4 *temp_r31; - - if (arg2 == 0) { - return 0; - } - if (arg0 == 0) { - return 0; - } - temp_r28 = &lbl_1_bss_36C.unk40[arg0]; - temp_r28->unk8 |= 2; - temp_r28->unk34[arg1] = arg2; - temp_r30 = &lbl_1_bss_36C.unk3C[arg2]; - var_r29 = temp_r28->unk3C; - - for (var_r27 = 0; var_r27 < temp_r28->unk2; var_r27++, var_r29++) { - if (arg1 == 0) { - var_r29->unk40[0].x = -0.5f * temp_r30->unk4E; - var_r29->unk40[0].y = 0.5f * temp_r30->unk50; - var_r29->unk40[1].x = (0.5f * temp_r30->unk4E); - var_r29->unk40[1].y = (0.5f * temp_r30->unk50); - var_r29->unk40[2].x = (0.5f * temp_r30->unk4E); - var_r29->unk40[2].y = (-0.5f * temp_r30->unk50); - var_r29->unk40[3].x = (-0.5f * temp_r30->unk4E); - var_r29->unk40[3].y = (-0.5f * temp_r30->unk50); - var_r29->unk40[0].z = var_r29->unk40[1].z = var_r29->unk40[2].z = var_r29->unk40[3].z = 0.0f; - } - temp_r31 = &var_r29->unk54[arg1]; - temp_r31->unk24 = 0; - temp_r31->unk0 = temp_r31->unk1 = 0; - temp_r31->unk28 = 1.0f; - temp_r31->unk2C = 0.0f; - temp_r31->unk4[0].x = temp_r31->unk0 * temp_r30->unk54; - temp_r31->unk4[0].y = temp_r31->unk0 * temp_r30->unk58; - temp_r31->unk4[1].x = (temp_r31->unk0 + 1) * temp_r30->unk54; - temp_r31->unk4[1].y = temp_r31->unk0 * temp_r30->unk58; - temp_r31->unk4[2].x = (temp_r31->unk0 + 1) * temp_r30->unk54; - temp_r31->unk4[2].y = (temp_r31->unk0 + 1) * temp_r30->unk58; - temp_r31->unk4[3].x = temp_r31->unk0 * temp_r30->unk54; - temp_r31->unk4[3].y = (temp_r31->unk0 + 1) * temp_r30->unk58; - if ((temp_r31->unk0 + 1) < temp_r30->unk4C) { - temp_r31->unk4[2].y -= temp_r30->unk60; - temp_r31->unk4[3].y -= temp_r30->unk60; - } - DCFlushRangeNoSync(temp_r31->unk4, 0x20); - } - lbl_1_bss_36C.unk36 = arg0; - lbl_1_bss_36C.unk3A = arg1; - return 1; -} - -void fn_1_B634(s32 arg0) -{ - s32 var_r28; - s32 var_r27; - s16 var_r26; - unkSubStruct2 *temp_r31; - unkSubStruct3 *temp_r30; - unkSubStruct3 *temp_r29; - - for (var_r28 = 1; var_r28 < lbl_1_bss_36C.unk30; var_r28++) { - if ((s16)var_r28 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[(s16)var_r28]; - if (temp_r31->unk8 != 0) { - if (temp_r31->unk50 != NULL) { - HuMemDirectFree(temp_r31->unk50); - } - if (temp_r31->unk54 != NULL) { - HuMemDirectFree(temp_r31->unk54); - } - if (temp_r31->unk58 != NULL) { - HuMemDirectFree(temp_r31->unk58); - } - if (temp_r31->unk4C != NULL) { - HuMemDirectFree(temp_r31->unk4C); - } - if (temp_r31->unk5C != NULL) { - HuMemDirectFree(temp_r31->unk5C); - } - - for (var_r27 = 0; var_r27 < temp_r31->unk4; var_r27++) { - var_r26 = temp_r31->unk34[var_r27]; - temp_r29 = &lbl_1_bss_36C.unk3C[var_r26]; - if (temp_r29->unk8 != 0) { - if (temp_r29->unk6 != 0) { - temp_r29->unk6--; - } - if (temp_r29->unk6 == 0) { - HuSprAnimKill(temp_r29->unk0); - temp_r29->unk8 = 0; - } - } - } - HuMemDirectFree(temp_r31->unk3C); - HuMemDirectFree(temp_r31->unk34); - temp_r31->unk8 = 0; - } - } - } - - for (var_r28 = 1; var_r28 < lbl_1_bss_36C.unk32; var_r28++) { - temp_r30 = &lbl_1_bss_36C.unk3C[(s16)var_r28]; - if (temp_r30->unk8 != 0) { - if (temp_r30->unk6 != 0) { - temp_r30->unk6 -= 1; - } - if (temp_r30->unk6 == 0) { - HuSprAnimKill(temp_r30->unk0); - temp_r30->unk8 = 0; - } - } - } - HuMemDirectFree(lbl_1_bss_36C.unk40); - HuMemDirectFree(lbl_1_bss_36C.unk3C); - Hu3DModelKill(lbl_1_bss_36C.unk34); -} - -void fn_1_B864(s16 arg0, f32 arg8, f32 arg9, f32 argA) -{ - unkSubStruct2 *temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - temp_r31->unkC.x = arg8; - temp_r31->unkC.y = arg9; - temp_r31->unkC.z = argA; - if (temp_r31->unk2 == 1) { - temp_r31->unk3C->unk0 = temp_r31->unkC; - } - } -} - -void fn_1_B8D0(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) -{ - unkSubStruct *temp_r31; - unkSubStruct2 *temp_r30; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_36C.unk40[arg0]; - if (temp_r30->unk2 > arg1) { - temp_r31 = &temp_r30->unk3C[arg1]; - temp_r31->unk0.x = arg8; - temp_r31->unk0.y = arg9; - temp_r31->unk0.z = argA; - } - } -} - -void fn_1_B940(s16 arg0, f32 arg8, f32 arg9, f32 argA) -{ - s32 var_r29; - unkSubStruct *var_r31; - unkSubStruct2 *temp_r30; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_36C.unk40[arg0]; - var_r31 = temp_r30->unk3C; - for (var_r29 = 0; var_r29 < temp_r30->unk2; var_r29++, var_r31++) { - var_r31->unk0.x = arg8; - var_r31->unk0.y = arg9; - var_r31->unk0.z = argA; - } - } -} - -void fn_1_B9B4(s16 arg0, f32 arg8, f32 arg9, f32 argA) -{ - unkSubStruct2 *temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - temp_r31->unkC.x += arg8; - temp_r31->unkC.y += arg9; - temp_r31->unkC.z += argA; - if (temp_r31->unk2 == 1) { - temp_r31->unk3C->unk0 = temp_r31->unkC; - } - } -} - -void fn_1_BA38(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) -{ - unkSubStruct *temp_r31; - unkSubStruct2 *temp_r30; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_36C.unk40[arg0]; - if (temp_r30->unk2 > arg1) { - temp_r31 = &temp_r30->unk3C[arg1]; - temp_r31->unk0.x += arg8; - temp_r31->unk0.y += arg9; - temp_r31->unk0.z += argA; - } - } -} - -void fn_1_BAC0(s16 arg0, f32 arg8, f32 arg9, f32 argA) -{ - s32 var_r29; - unkSubStruct *var_r31; - unkSubStruct2 *temp_r30; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_36C.unk40[arg0]; - var_r31 = temp_r30->unk3C; - - for (var_r29 = 0; var_r29 < temp_r30->unk2; var_r29++, var_r31++) { - var_r31->unk0.x += arg8; - var_r31->unk0.y += arg9; - var_r31->unk0.z += argA; - } - } -} - -void fn_1_BB4C(s16 arg0, f32 arg8, f32 arg9, f32 argA) -{ - unkSubStruct2 *temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - temp_r31->unk18.x = arg8; - temp_r31->unk18.y = arg9; - temp_r31->unk18.z = argA; - if (temp_r31->unk2 == 1) { - temp_r31->unk3C->unkC = temp_r31->unk18; - } - } -} - -void fn_1_BBB8(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) -{ - unkSubStruct *temp_r31; - unkSubStruct2 *temp_r30; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_36C.unk40[arg0]; - if (temp_r30->unk2 > arg1) { - temp_r31 = &temp_r30->unk3C[arg1]; - temp_r31->unkC.x = arg8; - temp_r31->unkC.y = arg9; - temp_r31->unkC.z = argA; - } - } -} - -void fn_1_BC28(s16 arg0, f32 arg8, f32 arg9, f32 argA) -{ - s32 var_r29; - unkSubStruct *var_r31; - unkSubStruct2 *temp_r30; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_36C.unk40[arg0]; - var_r31 = temp_r30->unk3C; - for (var_r29 = 0; var_r29 < temp_r30->unk2; var_r29++, var_r31++) { - var_r31->unkC.x = arg8; - var_r31->unkC.y = arg9; - var_r31->unkC.z = argA; - } - } -} - -void fn_1_BC9C(s16 arg0, f32 arg8, f32 arg9, f32 argA) -{ - unkSubStruct2 *temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - temp_r31->unk24.x = arg8; - temp_r31->unk24.y = arg9; - temp_r31->unk24.z = argA; - if (temp_r31->unk2 == 1) { - temp_r31->unk3C->unk18 = temp_r31->unk24; - } - } -} - -void fn_1_BD08(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) -{ - unkSubStruct *temp_r31; - unkSubStruct2 *temp_r30; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_36C.unk40[arg0]; - if (temp_r30->unk2 > arg1) { - temp_r31 = &temp_r30->unk3C[arg1]; - temp_r31->unk18.x = arg8; - temp_r31->unk18.y = arg9; - temp_r31->unk18.z = argA; - } - } -} - -void fn_1_BD78(s16 arg0, f32 arg8, f32 arg9, f32 argA) -{ - s32 var_r29; - unkSubStruct *var_r31; - unkSubStruct2 *temp_r30; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_36C.unk40[arg0]; - var_r31 = temp_r30->unk3C; - for (var_r29 = 0; var_r29 < temp_r30->unk2; var_r29++, var_r31++) { - var_r31->unk18.x = arg8; - var_r31->unk18.y = arg9; - var_r31->unk18.z = argA; - } - } -} - -void fn_1_BDEC(s16 arg0, s32 arg1) -{ - unkSubStruct2 *temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - temp_r31->unk8 |= arg1; - } -} - -void fn_1_BE30(s16 arg0, s16 arg1, s32 arg2) -{ - unkSubStruct *temp_r30; - unkSubStruct2 *temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - if (temp_r31->unk2 > arg1) { - temp_r30 = &temp_r31->unk3C[arg1]; - temp_r30->unk34 |= arg2; - } - } -} - -void fn_1_BEA0(s16 arg0, s32 arg1) -{ - s32 var_r30; - unkSubStruct *temp_r29; - unkSubStruct2 *temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - temp_r29 = temp_r31->unk3C; - - for (var_r30 = 0; var_r30 < temp_r31->unk2; var_r30++) { - temp_r29->unk34 |= arg1; - } - } -} - -void fn_1_BF10(s16 arg0, u32 arg1) -{ - unkSubStruct2 *temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - temp_r31->unk8 &= ~arg1; - } -} - -void fn_1_BF54(s16 arg0, s16 arg1, u32 arg2) -{ - unkSubStruct *temp_r30; - unkSubStruct2 *temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - if (temp_r31->unk2 > arg1) { - temp_r30 = &temp_r31->unk3C[arg1]; - temp_r30->unk34 &= ~arg2; - } - } -} - -void fn_1_BFC4(s16 arg0, u32 arg1) -{ - s32 var_r30; - unkSubStruct *temp_r29; - unkSubStruct2 *temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - temp_r29 = temp_r31->unk3C; - - for (var_r30 = 0; var_r30 < temp_r31->unk2; var_r30++) { - temp_r29->unk34 &= ~arg1; - } - } -} - -s32 fn_1_C034(s16 arg0, s32 arg1) -{ - unkSubStruct2 *temp_r31; - - if (arg0 == 0) { - return 0; - } - - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - if ((temp_r31->unk8 & arg1) != 0) { - return 1; - } - return 0; -} - -s16 fn_1_C090(s16 arg0, s16 arg1, s32 arg2) -{ - unkSubStruct *temp_r30; - unkSubStruct2 *temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - if (temp_r31->unk2 > arg1) { - temp_r30 = &temp_r31->unk3C[arg1]; - if ((temp_r30->unk34 & arg2) != 0) { - arg0 = 1; - } - else { - arg0 = 0; - } - } - } - return arg0; -} - -void fn_1_C110(s16 arg0, s16 arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5) -{ - unkSubStruct *temp_r31; - unkSubStruct2 *temp_r30; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_36C.unk40[arg0]; - if (temp_r30->unk2 > arg1) { - temp_r31 = &temp_r30->unk3C[arg1]; - temp_r31->unk50.r = arg2; - temp_r31->unk50.g = arg3; - temp_r31->unk50.b = arg4; - temp_r31->unk50.a = arg5; - } - } -} - -void fn_1_C184(s16 arg0, u8 arg1, u8 arg2, u8 arg3, u8 arg4) -{ - s32 var_r29; - unkSubStruct *var_r31; - unkSubStruct2 *temp_r30; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_36C.unk40[arg0]; - var_r31 = temp_r30->unk3C; - - for (var_r29 = 0; var_r29 < temp_r30->unk2; var_r29++, var_r31++) { - var_r31->unk50.r = arg1; - var_r31->unk50.g = arg2; - var_r31->unk50.b = arg3; - var_r31->unk50.a = arg4; - } - } -} - -void fn_1_C1FC(s16 arg0, s16 arg1, u8 arg2) -{ - unkSubStruct *temp_r30; - unkSubStruct2 *temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - if (temp_r31->unk2 > arg1) { - temp_r30 = &temp_r31->unk3C[arg1]; - temp_r30->unk30 = arg2; - } - } -} - -void fn_1_C264(s16 arg0, u8 arg1) -{ - s32 var_r29; - unkSubStruct2 *temp_r31; - unkSubStruct *var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - var_r30 = temp_r31->unk3C; - - for (var_r29 = 0; var_r29 < temp_r31->unk2; var_r29++, var_r30++) { - var_r30->unk30 = arg1; - } - } -} - -void fn_1_C2D0(s16 arg0, s16 arg1, u8 arg2) -{ - unkSubStruct2 *temp_r31; - unkSubStruct *var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - if (temp_r31->unk2 > arg1) { - var_r30 = &temp_r31->unk3C[arg1]; - var_r30->unk31 = arg2; - } - } -} - -void fn_1_C338(s16 arg0, u8 arg1) -{ - s32 var_r29; - unkSubStruct2 *temp_r31; - unkSubStruct *var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - var_r30 = temp_r31->unk3C; - - for (var_r29 = 0; var_r29 < temp_r31->unk2; var_r29++, var_r30++) { - var_r30->unk31 = arg1; - } - } -} - -void fn_1_C3A4(s16 arg0, s16 arg1, u8 arg2) -{ - unkSubStruct2 *temp_r31; - unkSubStruct *var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - if (temp_r31->unk2 > arg1) { - var_r30 = &temp_r31->unk3C[arg1]; - var_r30->unk54->unk24 = arg2; - } - } -} - -void fn_1_C410(s16 arg0, s16 arg1, u8 arg2, u8 arg3) -{ - unkSubStruct2 *temp_r31; - unkSubStruct *var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - if (temp_r31->unk2 > arg1) { - var_r30 = &temp_r31->unk3C[arg1]; - var_r30->unk54[arg2].unk24 = arg3; - } - } -} - -void fn_1_C488(s16 arg0, u8 arg1) -{ - s32 var_r28; - s32 var_r30; - unkSubStruct *var_r31; - unkSubStruct2 *temp_r29; - - if (arg0 != 0) { - temp_r29 = &lbl_1_bss_36C.unk40[arg0]; - var_r31 = (unkSubStruct *)&temp_r29->unk3C; //! BAD WHY - (void)temp_r29; - - for (var_r28 = 0; var_r28 < temp_r29->unk2; var_r28++, var_r31++) { - for (var_r30 = 0; var_r30 < var_r31->unk33; var_r30++) { - var_r31->unk54[var_r30].unk24 = arg1; - } - } - } -} - -void fn_1_C520(s16 arg0, s16 arg1, f32 arg8) -{ - unkSubStruct2 *temp_r31; - unkSubStruct *var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - if (temp_r31->unk2 > arg1) { - var_r30 = &temp_r31->unk3C[arg1]; - var_r30->unk54->unk28 = arg8; - } - } -} - -void fn_1_C58C(s16 arg0, s16 arg1, u8 arg2, f32 arg8) -{ - unkSubStruct2 *temp_r31; - unkSubStruct *var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - if (temp_r31->unk2 > arg1) { - var_r30 = &temp_r31->unk3C[arg1]; - var_r30->unk54[arg2].unk28 = arg8; - } - } -} - -void fn_1_C604(s16 arg0, f32 arg8) -{ - unkSubStruct *volatile sp8; - s32 var_r29; - unkSubStruct2 *temp_r31; - s32 var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - sp8 = temp_r31->unk3C; - - for (var_r29 = 0; var_r29 < temp_r31->unk2; var_r29++) { - for (var_r30 = 0; var_r30 < sp8->unk33; var_r30++) { - sp8->unk54[var_r30].unk28 = arg8; - } - } - } -} - -void fn_1_C69C(s16 arg0, s16 arg1, u8 arg2) -{ - unkSubStruct2 *temp_r31; - unkSubStruct *var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - if (temp_r31->unk2 > arg1) { - var_r30 = &temp_r31->unk3C[arg1]; - var_r30->unk54->unk0 = arg2; - } - } -} - -void fn_1_C70C(s16 arg0, s16 arg1, u8 arg2, u8 arg3) -{ - unkSubStruct2 *temp_r31; - unkSubStruct *var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - if (temp_r31->unk2 > arg1) { - var_r30 = &temp_r31->unk3C[arg1]; - var_r30->unk54[arg2].unk0 = arg3; - } - } -} - -// ... - -void fn_1_C784(s16 arg0, u8 arg1) -{ - unkSubStruct *volatile sp8; - s32 var_r29; - unkSubStruct2 *temp_r31; - s32 var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_36C.unk40[arg0]; - sp8 = temp_r31->unk3C; - for (var_r29 = 0; var_r29 < temp_r31->unk2; var_r29++) { - for (var_r30 = 0; var_r30 < sp8->unk33; var_r30++) { - sp8->unk54[var_r30].unk0 = arg1; - } - } - } -} - -void fn_1_C81C(s16 arg0, u8 arg1) -{ - unkSubStruct3 *var_r31; - if (arg0 != 0) { - var_r31 = &lbl_1_bss_36C.unk3C[arg0]; - var_r31->unk4 = arg1; - } -} diff --git a/src/REL/m416Dll/main.c b/src/REL/m416Dll/main.c index 0364445e..0020aa4f 100644 --- a/src/REL/m416Dll/main.c +++ b/src/REL/m416Dll/main.c @@ -1,38 +1,44 @@ -#include "game/audio.h" -#include "game/chrman.h" -#include "game/frand.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" #include "game/object.h" #include "game/objsub.h" -#include "game/pad.h" -#include "game/sprite.h" +#include "game/hsfman.h" +#include "game/hsfanim.h" +#include "game/hsfmotion.h" +#include "game/audio.h" #include "game/wipe.h" +#include "game/sprite.h" +#include "game/chrman.h" +#include "game/pad.h" +#include "game/gamework_data.h" +#include "game/minigame_seq.h" +#include "game/frand.h" -#include "ext_math.h" #include "math.h" +#include "ext_math.h" + #include "REL/m416Dll.h" +#include "rel_sqrt_consts.h" + typedef struct camera_view_params { - float zoom; - Vec pos; - Vec rot; + float zoom; + Vec pos; + Vec rot; } CameraViewParams; -CameraViewParams lbl_1_data_0[2] = { { 1676.6, { 0, 172, 123 }, { -18, 0, 0 } }, { 1200, { 0, 0, -600 }, { -24, 0, 0 } } }; +CameraViewParams lbl_1_data_0[2] = { + { 1676.6, { 0, 172, 123 }, { -18, 0, 0 } }, + { 1200, { 0, 0, -600 }, { -24, 0, 0 } } +}; GXColor lbl_1_data_38 = { 255, 255, 255, 255 }; GXColor lbl_1_data_3C = { 255, 160, 96, 255 }; typedef struct struct_bss_14 { - float unk0; - float unk4; - u8 unk8; - float unkC; + float unk0; + float unk4; + u8 unk8; + float unkC; } StructBss14; s32 lbl_1_bss_960; @@ -64,104 +70,104 @@ void fn_1_6E5C(omObjData *object); void ObjectSetup(void) { - Process *objman; - Vec pos; - Vec up; - Vec target; - OSReport("******* M416ObjectSetup *********\n"); - objman = omInitObjMan(50, 8192); - omGameSysInit(objman); - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 30, 20, 25000, 1.2); - Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); - lbl_1_bss_950 = omAddObjEx(objman, 32730, 0, 0, -1, omOutView); - lbl_1_bss_958 = omAddObjEx(objman, 0, 0, 0, -1, fn_1_458); - fn_1_1260(objman); - lbl_1_bss_954 = omAddObjEx(objman, 10, 0, 0, -1, fn_1_6E5C); - pos.x = 0; - pos.y = 3000; - pos.z = 1; - up.x = 0; - up.y = 1; - up.z = 0; - target.x = 0; - target.y = 0; - target.z = 0; - Hu3DShadowCreate(30, 20, 25000); - Hu3DShadowTPLvlSet(0.9f); - Hu3DShadowPosSet(&pos, &up, &target); - Hu3DLightAllKill(); - lbl_1_bss_91A[0] = Hu3DGLightCreate(-700, 1200, 700, 0, -0.5, -1, lbl_1_data_38.r, lbl_1_data_38.g, lbl_1_data_38.b); - Hu3DGLightStaticSet(lbl_1_bss_91A[0], 1); - Hu3DGLightInfinitytSet(lbl_1_bss_91A[0]); - lbl_1_bss_91A[1] = Hu3DGLightCreate(0, 0, 0, 0, 0, 0, 0, 0, 0); - Hu3DGLightStaticSet(lbl_1_bss_91A[1], 1); - Hu3DGLightPointSet(lbl_1_bss_91A[1], 0, 0, 3); - lbl_1_bss_918 = 0; - HuAudSndGrpSet(41); - Hu3DBGColorSet(0, 0, 0); - fn_1_79D0(objman); + Process *objman; + Vec pos; + Vec up; + Vec target; + OSReport("******* M416ObjectSetup *********\n"); + objman = omInitObjMan(50, 8192); + omGameSysInit(objman); + Hu3DCameraCreate(1); + Hu3DCameraPerspectiveSet(1, 30, 20, 25000, 1.2); + Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); + lbl_1_bss_950 = omAddObjEx(objman, 32730, 0, 0, -1, omOutView); + lbl_1_bss_958 = omAddObjEx(objman, 0, 0, 0, -1, fn_1_458); + fn_1_1260(objman); + lbl_1_bss_954 = omAddObjEx(objman, 10, 0, 0, -1, fn_1_6E5C); + pos.x = 0; + pos.y = 3000; + pos.z = 1; + up.x = 0; + up.y = 1; + up.z = 0; + target.x = 0; + target.y = 0; + target.z = 0; + Hu3DShadowCreate(30, 20, 25000); + Hu3DShadowTPLvlSet(0.9f); + Hu3DShadowPosSet(&pos, &up, &target); + Hu3DLightAllKill(); + lbl_1_bss_91A[0] = Hu3DGLightCreate(-700, 1200, 700, 0, -0.5, -1, lbl_1_data_38.r, lbl_1_data_38.g, lbl_1_data_38.b); + Hu3DGLightStaticSet(lbl_1_bss_91A[0], 1); + Hu3DGLightInfinitytSet(lbl_1_bss_91A[0]); + lbl_1_bss_91A[1] = Hu3DGLightCreate(0, 0, 0, 0, 0, 0, 0, 0, 0); + Hu3DGLightStaticSet(lbl_1_bss_91A[1], 1); + Hu3DGLightPointSet(lbl_1_bss_91A[1], 0, 0, 3); + lbl_1_bss_918 = 0; + HuAudSndGrpSet(41); + Hu3DBGColorSet(0, 0, 0); + fn_1_79D0(objman); } void fn_1_458(omObjData *object) { - lbl_1_bss_928 = 30; - lbl_1_bss_926 = 60; - fn_1_1250(0); - lbl_1_bss_924 = -1; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - lbl_1_bss_920 = 1; - fn_1_8FF4(1); - object->func = fn_1_4FC; + lbl_1_bss_928 = 30; + lbl_1_bss_926 = 60; + fn_1_1250(0); + lbl_1_bss_924 = -1; + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + lbl_1_bss_920 = 1; + fn_1_8FF4(1); + object->func = fn_1_4FC; } typedef struct bss_930_work_4c { - u8 field_0_bit0 : 1; - float unk4; - float unk8; - float unkC; - s16 unk10; + u8 field_0_bit0 : 1; + float unk4; + float unk8; + float unkC; + s16 unk10; } Bss930Work4C; typedef struct bss_930_work { - u8 field_0_bit0 : 1; - u8 field_0_bit1 : 1; - u8 field_0_bit2 : 1; - u8 field_0_bit3 : 1; - u8 field_0_bit4 : 1; - s16 unk02; - s16 unk04; - s8 unk06; - s8 unk07; - u16 unk08; - u16 unk0A; - s16 unk0C; - s16 unk0E; - s16 unk10; - s16 unk12; - s16 unk14; - float unk18; - Vec unk1C; - s32 unk28; - s32 unk2C; - u32 unk30; - u32 unk34; - float unk38; - u32 unk3C; - s16 unk40; - s16 unk42; - s16 unk44; - s16 unk46; - omObjFunc unk48; - Bss930Work4C *unk4C; - s16 unk50; - Vec unk54; - s16 unk60; - Vec unk64; - s16 unk70; - Vec unk74; - float unk80; - float unk84; + u8 field_0_bit0 : 1; + u8 field_0_bit1 : 1; + u8 field_0_bit2 : 1; + u8 field_0_bit3 : 1; + u8 field_0_bit4 : 1; + s16 unk02; + s16 unk04; + s8 unk06; + s8 unk07; + u16 unk08; + u16 unk0A; + s16 unk0C; + s16 unk0E; + s16 unk10; + s16 unk12; + s16 unk14; + float unk18; + Vec unk1C; + s32 unk28; + s32 unk2C; + u32 unk30; + u32 unk34; + float unk38; + u32 unk3C; + s16 unk40; + s16 unk42; + s16 unk44; + s16 unk46; + omObjFunc unk48; + Bss930Work4C *unk4C; + s16 unk50; + Vec unk54; + s16 unk60; + Vec unk64; + s16 unk70; + Vec unk74; + float unk80; + float unk84; } Bss930Work; s32 lbl_1_data_64 = -1; @@ -172,206 +178,200 @@ void fn_1_52BC(void); void fn_1_4FC(omObjData *object) { - Bss930Work *temp_r31; - s32 temp_r30; - s16 temp_r29; - Vec sp1C; - Vec sp10; - s16 sp8[4]; - - switch (fn_1_1240()) { - case 0: - if (!WipeStatGet()) { - HuAudFXPlay(1471); - fn_1_1250(1); - lbl_1_bss_95C = 30; - } - break; - - case 1: - if (--lbl_1_bss_95C == 0) { - fn_1_1250(2); - lbl_1_bss_95C = 84; - } - break; - - case 2: - if (lbl_1_bss_95C) { - if (--lbl_1_bss_95C == 0) { - HuAudFXPlay(1470); - } - } - else { - if (lbl_1_bss_920 > 0) { - lbl_1_bss_920 -= 0.020000001f; - if (lbl_1_bss_920 < 0) { - lbl_1_bss_920 = 0; - } - Hu3DGLightColorSet( - lbl_1_bss_91A[0], lbl_1_data_38.r * lbl_1_bss_920, lbl_1_data_38.g * lbl_1_bss_920, lbl_1_data_38.b * lbl_1_bss_920, 255); - } - if (lbl_1_bss_920 < 0.1f) { - if (lbl_1_bss_0 == 0) { - temp_r31 = lbl_1_bss_930[0][0]->data; - HuAudCharVoicePlay(temp_r31->unk0C, 296); - lbl_1_bss_0 = 1; - } - } - if (lbl_1_bss_920 <= 0.0f) { - fn_1_1250(3); - lbl_1_bss_95C = 60; - } - } - break; - - case 3: - if (--lbl_1_bss_95C == 0) { - fn_1_1250(4); - lbl_1_bss_95C = 60; - Hu3DGLightColorSet(lbl_1_bss_91A[1], lbl_1_data_3C.r, lbl_1_data_3C.g, lbl_1_data_3C.b, lbl_1_data_3C.a); - fn_1_8FF4(0.0625f); - Hu3DShadowData.unk_08.x = 135; - MTXLightPerspective(Hu3DShadowData.unk_68, Hu3DShadowData.unk_08.x, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); - lbl_1_bss_918 = 1; - HuAudFXEmiterPlay(1464, &lbl_1_bss_930[0][0]->trans); - } - break; - - case 4: - if (--lbl_1_bss_95C == 0) { - fn_1_1250(5); - lbl_1_bss_12 = MGSeqStartCreate(); - } - break; - - case 5: - if (MGSeqStatGet(lbl_1_bss_12) == 0) { - lbl_1_bss_10 = MGSeqTimerCreate(30); - fn_1_1250(6); - } - if (lbl_1_data_64 < 0 && (MGSeqStatGet(lbl_1_bss_12) & 0x10)) { - lbl_1_data_64 = HuAudSeqPlay(73); - } - break; - - case 6: - if (--lbl_1_bss_926 == 0) { - lbl_1_bss_928--; - MGSeqParamSet(lbl_1_bss_10, 1, lbl_1_bss_928); - lbl_1_bss_926 = 60; - } - if (lbl_1_bss_928 == 0 || lbl_1_bss_924 >= 0) { - lbl_1_bss_12 = MGSeqFinishCreate(); - fn_1_1250(7); - HuAudSeqAllFadeOut(100); - } - break; - - case 7: - if (lbl_1_bss_10 >= 0) { - MGSeqParamSet(lbl_1_bss_10, 2, -1); - lbl_1_bss_10 = -1; - } - if (MGSeqStatGet(lbl_1_bss_12) == 0) { - lbl_1_bss_95C = 60; - fn_1_1250(8); - } - break; - - case 8: - if (lbl_1_bss_95C) { - if (--lbl_1_bss_95C == 0) { - Hu3DShadowData.unk_08.x = 30; - MTXLightPerspective(Hu3DShadowData.unk_68, Hu3DShadowData.unk_08.x, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); - lbl_1_bss_918 = 0; - sp1C.x = 0; - sp1C.y = 3000; - sp1C.z = 1; - sp10.x = 0; - sp10.y = 0; - sp10.z = 0; - Hu3DShadowPosSet(&sp1C, &Hu3DShadowData.unk_2C, &sp10); - HuAudFXPlay(1470); - } - } - else { - lbl_1_bss_920 += 0.020000001f; - if (lbl_1_bss_920 >= 1.0f) { - lbl_1_bss_920 = 1.0f; - fn_1_1250(9); - lbl_1_bss_95C = 60; - fn_1_52BC(); - } - fn_1_8FF4(lbl_1_bss_920); - Hu3DGLightColorSet( - lbl_1_bss_91A[0], lbl_1_data_38.r * lbl_1_bss_920, lbl_1_data_38.g * lbl_1_bss_920, lbl_1_data_38.b * lbl_1_bss_920, 255); - if (lbl_1_bss_91A[1] >= 0) { - Hu3DGLightColorSet(lbl_1_bss_91A[1], lbl_1_data_3C.r * (1.0f - lbl_1_bss_920), lbl_1_data_3C.g * (1.0f - lbl_1_bss_920), - lbl_1_data_3C.b * (1.0f - lbl_1_bss_920), lbl_1_data_3C.a * (1.0f - lbl_1_bss_920)); - } - } - break; - - case 9: - if (fn_1_14E8()) { - if (--lbl_1_bss_95C == 0) { - fn_1_1250(10); - lbl_1_bss_95C = 210; - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - sp8[temp_r30] = -1; - } - temp_r29 = 0; - if (lbl_1_bss_924 < 0) { - temp_r31 = lbl_1_bss_930[0][0]->data; - sp8[temp_r29++] = temp_r31->unk0C; - GWPlayerCoinWinSet(temp_r31->unk02, 10); - } - else { - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - temp_r31 = lbl_1_bss_930[1][temp_r30]->data; - sp8[temp_r29++] = temp_r31->unk0C; - GWPlayerCoinWinSet(temp_r31->unk02, 10); - } - } - lbl_1_bss_12 = MGSeqWinCreate(sp8[0], sp8[1], sp8[2], sp8[3]); - HuAudSStreamPlay(1); - } - } - break; - - case 10: - if (--lbl_1_bss_95C == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_11E8; - } - break; - } - if (omSysExitReq && !WipeStatGet()) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_11E8; - } - fn_1_8F60(lbl_1_bss_920); + Bss930Work *temp_r31; + s32 temp_r30; + s16 temp_r29; + Vec sp1C; + Vec sp10; + s16 sp8[4]; + + switch(fn_1_1240()) { + case 0: + if(!WipeStatGet()) { + HuAudFXPlay(1471); + fn_1_1250(1); + lbl_1_bss_95C = 30; + } + break; + + case 1: + if(--lbl_1_bss_95C == 0) { + fn_1_1250(2); + lbl_1_bss_95C = 84; + } + break; + + case 2: + if(lbl_1_bss_95C) { + if(--lbl_1_bss_95C == 0) { + HuAudFXPlay(1470); + } + } else { + if(lbl_1_bss_920 > 0) { + lbl_1_bss_920 -= 0.020000001f; + if(lbl_1_bss_920 < 0) { + lbl_1_bss_920 = 0; + } + Hu3DGLightColorSet(lbl_1_bss_91A[0], lbl_1_data_38.r*lbl_1_bss_920, lbl_1_data_38.g*lbl_1_bss_920, lbl_1_data_38.b*lbl_1_bss_920, 255); + } + if(lbl_1_bss_920 < 0.1f) { + if(lbl_1_bss_0 == 0) { + temp_r31 = lbl_1_bss_930[0][0]->data; + HuAudCharVoicePlay(temp_r31->unk0C, 296); + lbl_1_bss_0 = 1; + } + } + if(lbl_1_bss_920 <= 0.0f) { + fn_1_1250(3); + lbl_1_bss_95C = 60; + } + } + break; + + case 3: + if(--lbl_1_bss_95C == 0) { + fn_1_1250(4); + lbl_1_bss_95C = 60; + Hu3DGLightColorSet(lbl_1_bss_91A[1], lbl_1_data_3C.r, lbl_1_data_3C.g, lbl_1_data_3C.b, lbl_1_data_3C.a); + fn_1_8FF4(0.0625f); + Hu3DShadowData.unk_08.x = 135; + MTXLightPerspective(Hu3DShadowData.unk_68, Hu3DShadowData.unk_08.x, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); + lbl_1_bss_918 = 1; + HuAudFXEmiterPlay(1464, &lbl_1_bss_930[0][0]->trans); + } + break; + + case 4: + if(--lbl_1_bss_95C == 0) { + fn_1_1250(5); + lbl_1_bss_12 = MGSeqStartCreate(); + } + break; + + case 5: + if(MGSeqStatGet(lbl_1_bss_12) == 0) { + lbl_1_bss_10 = MGSeqTimerCreate(30); + fn_1_1250(6); + } + if(lbl_1_data_64 < 0 && (MGSeqStatGet(lbl_1_bss_12) & 0x10)) { + lbl_1_data_64 = HuAudSeqPlay(73); + } + break; + + case 6: + if(--lbl_1_bss_926 == 0) { + lbl_1_bss_928--; + MGSeqParamSet(lbl_1_bss_10, 1, lbl_1_bss_928); + lbl_1_bss_926 = 60; + } + if(lbl_1_bss_928 == 0 || lbl_1_bss_924 >= 0) { + lbl_1_bss_12 = MGSeqFinishCreate(); + fn_1_1250(7); + HuAudSeqAllFadeOut(100); + } + break; + + case 7: + if(lbl_1_bss_10 >= 0) { + MGSeqParamSet(lbl_1_bss_10, 2, -1); + lbl_1_bss_10 = -1; + } + if(MGSeqStatGet(lbl_1_bss_12) == 0) { + lbl_1_bss_95C = 60; + fn_1_1250(8); + } + break; + + case 8: + if(lbl_1_bss_95C) { + if(--lbl_1_bss_95C == 0) { + Hu3DShadowData.unk_08.x = 30; + MTXLightPerspective(Hu3DShadowData.unk_68, Hu3DShadowData.unk_08.x, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); + lbl_1_bss_918 = 0; + sp1C.x = 0; + sp1C.y = 3000; + sp1C.z = 1; + sp10.x = 0; + sp10.y = 0; + sp10.z = 0; + Hu3DShadowPosSet(&sp1C, &Hu3DShadowData.unk_2C, &sp10); + HuAudFXPlay(1470); + } + } else { + lbl_1_bss_920 += 0.020000001f; + if(lbl_1_bss_920 >= 1.0f) { + lbl_1_bss_920 = 1.0f; + fn_1_1250(9); + lbl_1_bss_95C = 60; + fn_1_52BC(); + } + fn_1_8FF4(lbl_1_bss_920); + Hu3DGLightColorSet(lbl_1_bss_91A[0], lbl_1_data_38.r*lbl_1_bss_920, lbl_1_data_38.g*lbl_1_bss_920, lbl_1_data_38.b*lbl_1_bss_920, 255); + if(lbl_1_bss_91A[1] >= 0) { + Hu3DGLightColorSet(lbl_1_bss_91A[1], lbl_1_data_3C.r*(1.0f-lbl_1_bss_920), lbl_1_data_3C.g*(1.0f-lbl_1_bss_920), lbl_1_data_3C.b*(1.0f-lbl_1_bss_920), lbl_1_data_3C.a*(1.0f-lbl_1_bss_920)); + } + } + break; + + case 9: + if(fn_1_14E8()) { + if(--lbl_1_bss_95C == 0) { + fn_1_1250(10); + lbl_1_bss_95C = 210; + for(temp_r30=0; temp_r30<4; temp_r30++) { + sp8[temp_r30] = -1; + } + temp_r29 = 0; + if(lbl_1_bss_924 < 0) { + temp_r31 = lbl_1_bss_930[0][0]->data; + sp8[temp_r29++] = temp_r31->unk0C; + GWPlayerCoinWinSet(temp_r31->unk02, 10); + } else { + for(temp_r30=0; temp_r30<3; temp_r30++) { + temp_r31 = lbl_1_bss_930[1][temp_r30]->data; + sp8[temp_r29++] = temp_r31->unk0C; + GWPlayerCoinWinSet(temp_r31->unk02, 10); + } + } + lbl_1_bss_12 = MGSeqWinCreate(sp8[0], sp8[1], sp8[2], sp8[3]); + HuAudSStreamPlay(1); + } + } + break; + + case 10: + if(--lbl_1_bss_95C == 0) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + object->func = fn_1_11E8; + } + break; + } + if(omSysExitReq && !WipeStatGet()) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + object->func = fn_1_11E8; + } + fn_1_8F60(lbl_1_bss_920); } void fn_1_11E8(omObjData *object) { - if (!WipeStatGet()) { - MGSeqKillAll(); - HuAudFadeOut(1); - fn_1_7A54(); - omOvlReturnEx(1, 1); - OSReport("******* M416Exit *********\n"); - } + if(!WipeStatGet()) { + MGSeqKillAll(); + HuAudFadeOut(1); + fn_1_7A54(); + omOvlReturnEx(1, 1); + OSReport("******* M416Exit *********\n"); + } } s32 fn_1_1240(void) { - return lbl_1_bss_960; + return lbl_1_bss_960; } void fn_1_1250(s32 arg0) { - lbl_1_bss_960 = arg0; + lbl_1_bss_960 = arg0; } void fn_1_156C(omObjData *object); @@ -379,53 +379,53 @@ void fn_1_2930(omObjData *object); void fn_1_1260(Process *objman) { - s32 i; - s32 j; - - lbl_1_bss_92E = 0; - lbl_1_bss_92A[0] = lbl_1_bss_92A[1] = 0; - omMakeGroupEx(objman, 0, 4); - for (i = 0; i < 4; i++) { - omAddObjEx(objman, 5, 5, 50, 0, fn_1_156C); - } - lbl_1_bss_914 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M416, 0x05)); - memset(lbl_1_bss_14, 0, sizeof(lbl_1_bss_14)); - for (i = 0; i < 10; i++) { - for (j = 0; j < 10; j++) { - lbl_1_bss_14[i + 1][j + 1].unk0 = ((0.5f + (j - 5)) * 1100) / 9; - lbl_1_bss_14[i + 1][j + 1].unk4 = ((0.5f + (i - 5)) * 1100) / 9; - } - } - omAddObjEx(objman, 6, 0, 0, -1, fn_1_2930); + s32 i; + s32 j; + + lbl_1_bss_92E = 0; + lbl_1_bss_92A[0] = lbl_1_bss_92A[1] = 0; + omMakeGroupEx(objman, 0, 4); + for(i=0; i<4; i++) { + omAddObjEx(objman, 5, 5, 50, 0, fn_1_156C); + } + lbl_1_bss_914 = HuSprAnimReadFile(0x2F0005); + memset(lbl_1_bss_14, 0, sizeof(lbl_1_bss_14)); + for(i=0; i<10; i++) { + for(j=0; j<10; j++) { + lbl_1_bss_14[i+1][j+1].unk0 = ((0.5f+(j-5))*1100)/9; + lbl_1_bss_14[i+1][j+1].unk4 = ((0.5f+(i-5))*1100)/9; + } + } + omAddObjEx(objman, 6, 0, 0, -1, fn_1_2930); } void fn_1_5D18(omObjData *object); void fn_1_1480(void) { - s32 i; - omObjData **group; - group = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - if (group == NULL) { - return; - } - for (i = 0; i < 4; i++) { - fn_1_5D18(group[i]); - } + s32 i; + omObjData **group; + group = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + if(group == NULL) { + return; + } + for(i=0; i<4; i++) { + fn_1_5D18(group[i]); + } } s32 fn_1_14E8(void) { - s32 i; - omObjData **group; - group = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - for (i = 0; i < 4; i++) { - Bss930Work *work = group[i]->data; - if (!work->field_0_bit3) { - return 0; - } - } - return 1; + s32 i; + omObjData **group; + group = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + for(i=0; i<4; i++) { + Bss930Work *work = group[i]->data; + if(!work->field_0_bit3) { + return 0; + } + } + return 1; } void fn_1_1964(omObjData *object); @@ -434,165 +434,171 @@ void fn_1_1D84(omObjData *object); void fn_1_6AE8(ModelData *model, ParticleData *particle, Mtx matrix); -float lbl_1_data_B0[4][4] = { 0, 0, -400, 0, -340, 0, 200, 155, 0, 0, 400, 180, 340, 0, 200, 205 }; +float lbl_1_data_B0[4][4] = { + 0, 0, -400, 0, + -340, 0, 200, 155, + 0, 0, 400, 180, + 340, 0, 200, 205 +}; void fn_1_156C(omObjData *object) { - Bss930Work *work; - s32 player; - work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Bss930Work), MEMORY_DEFAULT_NUM); - object->data = work; - memset(work, 0, sizeof(Bss930Work)); - work->unk02 = lbl_1_bss_92E++; - work->unk04 = GWPlayerCfg[work->unk02].pad_idx; - work->unk0C = GWPlayerCfg[work->unk02].character; - work->unk0E = GWPlayerCfg[work->unk02].diff; - work->unk10 = GWPlayerCfg[work->unk02].group; - object->model[0] = CharModelCreate(work->unk0C, 4); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(object->model[0]); - work->field_0_bit2 = 1; - work->field_0_bit4 = 1; - work->unk28 = 0; - work->unk2C = -1; - work->unk34 = HU3D_MOTATTR_NONE; - work->unk38 = 50; - if (!work->unk10) { - fn_1_1964(object); - lbl_1_bss_930[0][lbl_1_bss_92A[0]] = object; - player = lbl_1_bss_92A[0]; - work->unk12 = lbl_1_bss_92A[0]; - lbl_1_bss_92A[0]++; - } - else { - fn_1_1ADC(object); - lbl_1_bss_930[1][lbl_1_bss_92A[1]] = object; - player = lbl_1_bss_92A[1] + 1; - work->unk12 = lbl_1_bss_92A[1]; - lbl_1_bss_92A[1]++; - } - Hu3DModelHookSet(object->model[0], "test11_tex_we-itemhook-r", object->model[1]); - Hu3DModelShadowSet(object->model[1]); - Hu3DModelLayerSet(object->model[0], 3); - Hu3DModelLayerSet(object->model[1], 3); - fn_1_8EB4(object->model[0]); - fn_1_8EB4(object->model[1]); - Hu3DMotionSet(object->model[0], object->motion[0]); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - CharModelMotionIndexSet(work->unk0C, object->motion[1], DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02)); - CharModelMotionIndexSet(work->unk0C, object->motion[2], DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02)); - CharModelMotionDataClose(work->unk0C); - object->model[4] = Hu3DParticleCreate(lbl_1_bss_914, 2); - Hu3DParticleHookSet(object->model[4], fn_1_6AE8); - Hu3DParticleBlendModeSet(object->model[4], 1); - Hu3DModelLayerSet(object->model[4], 6); - Hu3DModelAttrSet(object->model[4], HU3D_ATTR_DISPOFF); - object->trans.x = lbl_1_data_B0[player][0]; - object->trans.y = lbl_1_data_B0[player][1]; - object->trans.z = lbl_1_data_B0[player][2]; - object->rot.y = lbl_1_data_B0[player][3]; - object->rot.x = object->rot.z = 0; - object->scale.x = object->scale.y = object->scale.z = 1; - work->unk84 = object->rot.y; - object->func = fn_1_1D84; + Bss930Work *work; + s32 player; + work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Bss930Work), MEMORY_DEFAULT_NUM); + object->data = work; + memset(work, 0, sizeof(Bss930Work)); + work->unk02 = lbl_1_bss_92E++; + work->unk04 = GWPlayerCfg[work->unk02].pad_idx; + work->unk0C = GWPlayerCfg[work->unk02].character; + work->unk0E = GWPlayerCfg[work->unk02].diff; + work->unk10 = GWPlayerCfg[work->unk02].group; + object->model[0] = CharModelCreate(work->unk0C, 4); + Hu3DModelAttrSet(object->model[0], 0x40000001); + Hu3DModelShadowSet(object->model[0]); + work->field_0_bit2 = 1; + work->field_0_bit4 = 1; + work->unk28 = 0; + work->unk2C = -1; + work->unk34 = 0; + work->unk38 = 50; + if(!work->unk10) { + fn_1_1964(object); + lbl_1_bss_930[0][lbl_1_bss_92A[0]] = object; + player = lbl_1_bss_92A[0]; + work->unk12 = lbl_1_bss_92A[0]; + lbl_1_bss_92A[0]++; + } else { + fn_1_1ADC(object); + lbl_1_bss_930[1][lbl_1_bss_92A[1]] = object; + player = lbl_1_bss_92A[1]+1; + work->unk12 = lbl_1_bss_92A[1]; + lbl_1_bss_92A[1]++; + } + Hu3DModelHookSet(object->model[0], "test11_tex_we-itemhook-r", object->model[1]); + Hu3DModelShadowSet(object->model[1]); + Hu3DModelLayerSet(object->model[0], 3); + Hu3DModelLayerSet(object->model[1], 3); + fn_1_8EB4(object->model[0]); + fn_1_8EB4(object->model[1]); + Hu3DMotionSet(object->model[0], object->motion[0]); + Hu3DModelAttrSet(object->model[0], 0x40000001); + CharModelMotionIndexSet(work->unk0C, object->motion[1], 0x5F0002); + CharModelMotionIndexSet(work->unk0C, object->motion[2], 0x5F0002); + CharModelMotionDataClose(work->unk0C); + object->model[4] = Hu3DParticleCreate(lbl_1_bss_914, 2); + Hu3DParticleHookSet(object->model[4], fn_1_6AE8); + Hu3DParticleBlendModeSet(object->model[4], 1); + Hu3DModelLayerSet(object->model[4], 6); + Hu3DModelAttrSet(object->model[4], 1); + object->trans.x = lbl_1_data_B0[player][0]; + object->trans.y = lbl_1_data_B0[player][1]; + object->trans.z = lbl_1_data_B0[player][2]; + object->rot.y = lbl_1_data_B0[player][3]; + object->rot.x = object->rot.z = 0; + object->scale.x = object->scale.y = object->scale.z = 1; + work->unk84 = object->rot.y; + object->func = fn_1_1D84; } u32 lbl_1_data_10C[9][2] = { - DATA_MAKE_NUM(DATADIR_M416, 0x08), - 1, - DATA_MAKE_NUM(DATADIR_M416, 0x10), - 1, - DATA_MAKE_NUM(DATADIR_M416, 0x18), - 1, - DATA_MAKE_NUM(DATADIR_M416, 0x20), - 1, - 0, - 0, - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - 0, - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), - 0, - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18), - 0, - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02), - 0, + 0x002F0008, 1, + 0x002F0010, 1, + 0x002F0018, 1, + 0x002F0020, 1, + 0, 0, + 0x005F0000, 0, + 0x005F0017, 0, + 0x005F0018, 0, + 0x005F0002, 0 }; void fn_1_29DC(omObjData *object); + + + void fn_1_1964(omObjData *object) { - Bss930Work *work; - s32 i; - work = object->data; - for (i = 0; i < 9; i++) { - if (!lbl_1_data_10C[i][1]) { - object->motion[i] = CharModelMotionCreate(work->unk0C, lbl_1_data_10C[i][0]); - } - else { - object->motion[i] = CharModelMotionCreate(work->unk0C, work->unk0C + lbl_1_data_10C[i][0]); - } - } - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M416, 0x03)); - object->model[2] = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M416, 0x06)), 100); - Hu3DParticleHookSet(object->model[2], fn_1_613C); - Hu3DParticleBlendModeSet(object->model[2], 1); - Hu3DModelLayerSet(object->model[2], 6); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_ZWRITE_OFF); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - work->unk44 = 5; - work->unk48 = fn_1_29DC; + Bss930Work *work; + s32 i; + work = object->data; + for(i=0; i<9; i++) { + if(!lbl_1_data_10C[i][1]) { + object->motion[i] = CharModelMotionCreate(work->unk0C, lbl_1_data_10C[i][0]); + } else { + object->motion[i] = CharModelMotionCreate(work->unk0C, work->unk0C+lbl_1_data_10C[i][0]); + } + } + object->model[1] = Hu3DModelCreateFile(0x2F0003); + object->model[2] = Hu3DParticleCreate(HuSprAnimReadFile(0x2F0006), 100); + Hu3DParticleHookSet(object->model[2], fn_1_613C); + Hu3DParticleBlendModeSet(object->model[2], 1); + Hu3DModelLayerSet(object->model[2], 6); + Hu3DModelAttrSet(object->model[2], 2); + Hu3DModelAttrSet(object->model[2], 1); + work->unk44 = 5; + work->unk48 = fn_1_29DC; } void fn_1_2EA4(omObjData *object); void fn_1_6640(ModelData *model, ParticleData *particle, Mtx matrix); void fn_1_6DEC(s16 arg0, u32 arg1); -s32 lbl_1_data_154[9] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x30), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x31), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x32), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x2D), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x2E), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02) }; +s32 lbl_1_data_154[9] = { + 0x005F0030, + 0x005F0031, + 0x005F0032, + 0x005F002D, + 0x005F002E, + 0x005F0000, + 0x005F0017, + 0x005F0018, + 0x005F0002 +}; + void fn_1_1ADC(omObjData *object) { - Bss930Work *work; - s32 i; - work = object->data; - for (i = 0; i < 9; i++) { - object->motion[i] = CharModelMotionCreate(work->unk0C, lbl_1_data_154[i]); - } - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M416, 0x04)); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M416, 0x02)); - Hu3DModelLayerSet(object->model[2], 3); - fn_1_6DEC(object->model[2], 16); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DMotionSpeedSet(object->model[2], 0); - Hu3DAnimCreate(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M416, 0x07), MEMORY_DEFAULT_NUM), object->model[2], "sb00"); - object->model[3] = Hu3DParticleCreate(lbl_1_bss_914, 50); - Hu3DParticleHookSet(object->model[3], fn_1_6640); - Hu3DModelLayerSet(object->model[3], 3); - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); - work->unk4C = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Bss930Work4C), MEMORY_DEFAULT_NUM); - memset(work->unk4C, 0, sizeof(Bss930Work4C)); - - work->unk48 = fn_1_2EA4; + Bss930Work *work; + s32 i; + work = object->data; + for(i=0; i<9; i++) { + object->motion[i] = CharModelMotionCreate(work->unk0C, lbl_1_data_154[i]); + } + object->model[1] = Hu3DModelCreateFile(0x2F0004); + object->model[2] = Hu3DModelCreateFile(0x2F0002); + Hu3DModelLayerSet(object->model[2], 3); + fn_1_6DEC(object->model[2], 16); + Hu3DModelAttrSet(object->model[2], 1); + Hu3DMotionSpeedSet(object->model[2], 0); + Hu3DAnimCreate(HuDataReadNum(0x2F0007, MEMORY_DEFAULT_NUM), object->model[2], "sb00"); + object->model[3] = Hu3DParticleCreate(lbl_1_bss_914, 50); + Hu3DParticleHookSet(object->model[3], fn_1_6640); + Hu3DModelLayerSet(object->model[3], 3); + Hu3DModelAttrSet(object->model[3], 1); + work->unk4C = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Bss930Work4C), MEMORY_DEFAULT_NUM); + memset(work->unk4C, 0, sizeof(Bss930Work4C)); + + work->unk48 = fn_1_2EA4; } float fn_1_1C80(float arg1, float arg2, float arg3) { - float temp_f31; - float temp_f30; - temp_f31 = fmod(arg2 - arg1, 360); - if (temp_f31 < 0.0f) { - temp_f31 += 360.0f; - } - if (temp_f31 > 180.0f) { - temp_f31 -= 360.0f; - } - temp_f30 = fmod(arg1 + (arg3 * temp_f31), 360); - if (temp_f30 < 0.0f) { - temp_f30 += 360.0f; - } - return temp_f30; + float temp_f31; + float temp_f30; + temp_f31 = fmod(arg2-arg1, 360); + if(temp_f31 < 0.0f) { + temp_f31 += 360.0f; + } + if(temp_f31 > 180.0f) { + temp_f31 -= 360.0f; + } + temp_f30 = fmod(arg1+(arg3*temp_f31), 360); + if(temp_f30 < 0.0f) { + temp_f30 += 360.0f; + } + return temp_f30; } void fn_1_389C(omObjData *object); @@ -600,169 +606,158 @@ s32 fn_1_5530(omObjData *arg0, Vec *arg1, Vec *arg2); void fn_1_1D84(omObjData *object) { - float temp_f31; - float temp_f30; - float temp_f28; - float temp_f27; - float temp_f23; - Bss930Work *temp_r31; - s32 temp_r29; - u32 temp_r28; - s32 temp_r27; - Vec sp40; - Vec sp34; - temp_r31 = object->data; - temp_r29 = temp_r31->unk28; - temp_r28 = temp_r31->unk30; - switch (temp_r31->unk14) { - case 0: - if (fn_1_1240() >= 6) { - if (fn_1_1240() == 7) { - temp_r31->unk14 = 1; - temp_r31->unk40 = 60; - temp_r31->unk08 = temp_r31->unk0A = 0; - temp_r31->unk06 = temp_r31->unk07 = 0; - } - else { - if (!GWPlayerCfg[temp_r31->unk02].iscom) { - temp_r31->unk06 = HuPadStkX[temp_r31->unk04]; - temp_r31->unk07 = HuPadStkY[temp_r31->unk04]; - temp_r31->unk08 = HuPadBtn[temp_r31->unk04]; - temp_r31->unk0A = HuPadBtnDown[temp_r31->unk04]; - } - else { - temp_r31->unk08 = temp_r31->unk0A = 0; - temp_r31->unk06 = temp_r31->unk07 = 0; - fn_1_389C(object); - } - temp_f31 = temp_r31->unk06; - temp_f30 = -(float)temp_r31->unk07; - if (temp_r31->field_0_bit1) { - temp_f31 = temp_f30 = 0; - } - temp_f28 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - if (temp_f28 > 0) { - temp_f31 /= temp_f28; - temp_f30 /= temp_f28; - if (temp_f28 > 72) { - temp_f28 = 72; - } - temp_r31->unk18 = (10 * temp_f28) / 72; - temp_r31->unk1C.x = temp_f31 * temp_r31->unk18; - temp_r31->unk1C.z = temp_f30 * temp_r31->unk18; - object->rot.y = fn_1_1C80(object->rot.y, atan2d(temp_r31->unk1C.x, temp_r31->unk1C.z), 0.4f); - if (temp_r31->unk18 < 7.5f) { - temp_r29 = 1; - } - else { - temp_r29 = 2; - } - temp_r28 = HU3D_MOTATTR_LOOP; - } - else { - temp_r31->unk1C.x = temp_r31->unk1C.z = 0; - temp_r29 = 0; - temp_r28 = HU3D_MOTATTR_LOOP; - } - object->trans.x += temp_r31->unk1C.x; - object->trans.z += temp_r31->unk1C.z; - } - } - break; - - case 1: - if (fn_1_1240() == 9) { - if (--temp_r31->unk40 == 0) { - temp_r31->unk14 = 2; - temp_r31->unk40 = 300; - temp_r31->unk2C = -1; - } - } - if (!temp_r31->field_0_bit2) { - temp_r29 = 5; - } - else { - temp_r29 = 0; - } - temp_r28 = HU3D_MOTATTR_LOOP; - break; - - case 2: - if (fn_1_1240() == 10) { - temp_r31->unk14 = 3; - } - else { - VECSubtract(&temp_r31->unk64, &object->trans, &sp34); - temp_f28 = VECMag(&sp34); - if (temp_f28 < 20 || temp_r31->unk40 == 0) { - temp_r29 = 5; - temp_r28 = HU3D_MOTATTR_LOOP; - object->rot.y = fn_1_1C80(object->rot.y, 0, 0.2f); - temp_r31->field_0_bit3 = 1; - } - else { - if (!temp_r31->field_0_bit3) { - temp_r27 = fn_1_5530(object, &temp_r31->unk64, &sp40); - } - else { - sp40.x = temp_r31->unk64.x; - sp40.y = temp_r31->unk64.y; - sp40.z = temp_r31->unk64.z; - temp_r27 = 0; - } - VECSubtract(&sp40, &object->trans, &sp34); - object->rot.y = fn_1_1C80(object->rot.y, atan2d(sp34.x, sp34.z), 0.2f); - if (!temp_r27) { - if (temp_f28 < 100.0f) { - temp_f23 = 7.5f * (temp_f28 / 100.0f); - } - else { - temp_f23 = 7.5f; - } - } - else { - temp_f23 = 3.75f; - } - temp_r31->unk1C.x = temp_f23 * sind(object->rot.y); - temp_r31->unk1C.z = temp_f23 * cosd(object->rot.y); - object->trans.x += temp_r31->unk1C.x; - object->trans.z += temp_r31->unk1C.z; - temp_r29 = 8; - temp_r28 = HU3D_MOTATTR_LOOP; - } - if (temp_r31->unk40) { - temp_r31->unk40--; - } - } - break; - - case 3: - if (fn_1_1240() < 10) { - temp_r29 = 0; - temp_r28 = HU3D_MOTATTR_LOOP; - } - else { - if ((!temp_r31->unk10 && lbl_1_bss_924 < 0) || (temp_r31->unk10 && lbl_1_bss_924 >= 0)) { - temp_r29 = 6; - } - else { - temp_r29 = 7; - } - temp_r28 = HU3D_MOTATTR_NONE; - object->rot.y = fn_1_1C80(object->rot.y, 0, 0.2f); - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); - } - break; - } - if (temp_r31->unk2C >= 0) { - temp_r29 = temp_r31->unk2C; - temp_r28 = temp_r31->unk34; - } - if ((temp_r29 >= 0 && temp_r29 != temp_r31->unk28) || temp_r28 != temp_r31->unk30) { - temp_r31->unk28 = temp_r29; - temp_r31->unk30 = temp_r28; - CharModelMotionShiftSet(temp_r31->unk0C, object->motion[temp_r31->unk28], 0, 8, temp_r28); - } + float temp_f31; + float temp_f30; + float temp_f28; + float temp_f27; + float temp_f23; + Bss930Work *temp_r31; + s32 temp_r29; + u32 temp_r28; + s32 temp_r27; + Vec sp40; + Vec sp34; + temp_r31 = object->data; + temp_r29 = temp_r31->unk28; + temp_r28 = temp_r31->unk30; + switch(temp_r31->unk14) { + case 0: + if(fn_1_1240() >= 6) { + if(fn_1_1240() == 7) { + temp_r31->unk14 = 1; + temp_r31->unk40 = 60; + temp_r31->unk08 = temp_r31->unk0A = 0; + temp_r31->unk06 = temp_r31->unk07 = 0; + } else { + if(!GWPlayerCfg[temp_r31->unk02].iscom) { + temp_r31->unk06 = HuPadStkX[temp_r31->unk04]; + temp_r31->unk07 = HuPadStkY[temp_r31->unk04]; + temp_r31->unk08 = HuPadBtn[temp_r31->unk04]; + temp_r31->unk0A = HuPadBtnDown[temp_r31->unk04]; + } else { + temp_r31->unk08 = temp_r31->unk0A = 0; + temp_r31->unk06 = temp_r31->unk07 = 0; + fn_1_389C(object); + } + temp_f31 = temp_r31->unk06; + temp_f30 = -(float)temp_r31->unk07; + if(temp_r31->field_0_bit1) { + temp_f31 = temp_f30 = 0; + } + temp_f28 = sqrtf((temp_f31*temp_f31)+(temp_f30*temp_f30)); + if(temp_f28 > 0) { + temp_f31 /= temp_f28; + temp_f30 /= temp_f28; + if(temp_f28 > 72) { + temp_f28 = 72; + } + temp_r31->unk18 = (10*temp_f28)/72; + temp_r31->unk1C.x = temp_f31*temp_r31->unk18; + temp_r31->unk1C.z = temp_f30*temp_r31->unk18; + object->rot.y = fn_1_1C80(object->rot.y, atan2d(temp_r31->unk1C.x, temp_r31->unk1C.z), 0.4f); + if(temp_r31->unk18 < 7.5f) { + temp_r29 = 1; + } else { + temp_r29 = 2; + } + temp_r28 = 0x40000001; + } else { + temp_r31->unk1C.x = temp_r31->unk1C.z = 0; + temp_r29 = 0; + temp_r28 = 0x40000001; + } + object->trans.x += temp_r31->unk1C.x; + object->trans.z += temp_r31->unk1C.z; + } + } + break; + + case 1: + if(fn_1_1240() == 9) { + if(--temp_r31->unk40 == 0){ + temp_r31->unk14 = 2; + temp_r31->unk40 = 300; + temp_r31->unk2C = -1; + } + } + if(!temp_r31->field_0_bit2) { + temp_r29 = 5; + } else { + temp_r29 = 0; + } + temp_r28 = 0x40000001; + break; + + case 2: + if(fn_1_1240() == 10) { + temp_r31->unk14 = 3; + } else { + VECSubtract(&temp_r31->unk64, &object->trans, &sp34); + temp_f28 = VECMag(&sp34); + if(temp_f28 < 20 || temp_r31->unk40 == 0) { + temp_r29 = 5; + temp_r28 = 0x40000001; + object->rot.y = fn_1_1C80(object->rot.y, 0, 0.2f); + temp_r31->field_0_bit3 = 1; + } else { + if(!temp_r31->field_0_bit3) { + temp_r27 = fn_1_5530(object, &temp_r31->unk64, &sp40); + } else { + sp40.x = temp_r31->unk64.x; + sp40.y = temp_r31->unk64.y; + sp40.z = temp_r31->unk64.z; + temp_r27 = 0; + } + VECSubtract(&sp40, &object->trans, &sp34); + object->rot.y = fn_1_1C80(object->rot.y, atan2d(sp34.x, sp34.z), 0.2f); + if(!temp_r27) { + if(temp_f28 < 100.0f) { + temp_f23 = 7.5f*(temp_f28/100.0f); + } else { + temp_f23 = 7.5f; + } + } else { + temp_f23 = 3.75f; + } + temp_r31->unk1C.x = temp_f23*sind(object->rot.y); + temp_r31->unk1C.z = temp_f23*cosd(object->rot.y); + object->trans.x += temp_r31->unk1C.x; + object->trans.z += temp_r31->unk1C.z; + temp_r29 = 8; + temp_r28 = 0x40000001; + + } + if(temp_r31->unk40) { + temp_r31->unk40--; + } + } + break; + + case 3: + if(fn_1_1240() < 10) { + temp_r29 = 0; + temp_r28 = 0x40000001; + } else { + if((!temp_r31->unk10 && lbl_1_bss_924 < 0) || (temp_r31->unk10 && lbl_1_bss_924 >= 0)) { + temp_r29 = 6; + } else { + temp_r29 = 7; + } + temp_r28 = 0; + object->rot.y = fn_1_1C80(object->rot.y, 0, 0.2f); + Hu3DModelAttrReset(object->model[0], 0x40000001); + } + break; + } + if(temp_r31->unk2C >= 0) { + temp_r29 = temp_r31->unk2C; + temp_r28 = temp_r31->unk34; + } + if((temp_r29 >= 0 && temp_r29 != temp_r31->unk28) || temp_r28 != temp_r31->unk30) { + temp_r31->unk28 = temp_r29; + temp_r31->unk30 = temp_r28; + CharModelMotionShiftSet(temp_r31->unk0C, object->motion[temp_r31->unk28], 0, 8, temp_r28); + } } void fn_1_5004(void); @@ -771,239 +766,249 @@ void fn_1_361C(omObjData *object); void fn_1_2930(omObjData *object) { - Bss930Work *temp_r31; - s32 temp_r30; - omObjData *temp_r29; - omObjData **temp_r28; - temp_r28 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - fn_1_5004(); - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - temp_r29 = temp_r28[temp_r30]; - temp_r31 = temp_r29->data; - if (temp_r31->unk48 != NULL) { - temp_r31->unk48(temp_r29); - } - if (temp_r31->field_0_bit4) { - fn_1_361C(temp_r29); - } - } + Bss930Work *temp_r31; + s32 temp_r30; + omObjData *temp_r29; + omObjData **temp_r28; + temp_r28 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + fn_1_5004(); + for(temp_r30=0; temp_r30<4; temp_r30++) { + temp_r29 = temp_r28[temp_r30]; + temp_r31 = temp_r29->data; + if(temp_r31->unk48 != NULL) { + temp_r31->unk48(temp_r29); + } + if(temp_r31->field_0_bit4) { + fn_1_361C(temp_r29); + } + } } -float lbl_1_data_180[6] = { 0, 0.3, 0.7, 1.0, 1.3, 1.6 }; +float lbl_1_data_180[6] = { + 0, + 0.3, + 0.7, + 1.0, + 1.3, + 1.6 +}; -float lbl_1_data_198[6][2] = { 100.0f, 0.75f, 110.0f, 0.8f, 120.000008f, 0.85f, 130.0f, 0.9f, 140.0f, 0.95f, 150.0f, 0.99f }; +float lbl_1_data_198[6][2] = { + 100.0f, 0.75f, + 110.0f, 0.8f, + 120.000008f, 0.85f, + 130.0f, 0.9f, + 140.0f, 0.95f, + 150.0f, 0.99f +}; void fn_1_29DC(omObjData *object) { - Mtx sp50; - Mtx sp20; - Vec sp14; - Vec sp8; - Bss930Work *temp_r31; - ModelData *temp_r29; - temp_r31 = object->data; - if (temp_r31->unk44 > 0 && temp_r31->field_0_bit0) { - if (--temp_r31->unk44 == 0) { - lbl_1_bss_924 = 1; - Hu3DGLightKill(lbl_1_bss_91A[1]); - lbl_1_bss_91A[1] = -1; - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - HuAudFXEmiterPlay(1469, &object->trans); - HuAudCharVoicePlay(temp_r31->unk0C, 291); - } - else { - HuAudFXEmiterPlay(1466, &object->trans); - HuAudCharVoicePlay(temp_r31->unk0C, 296); - } - temp_r31->field_0_bit0 = 0; - temp_r31->field_0_bit1 = 1; - temp_r31->unk2C = 3; - temp_r31->unk34 = HU3D_MOTATTR_NONE; - temp_r31->unk46 = 60; - temp_r31->unk60 = 30; - omVibrate(temp_r31->unk02, 12, 6, 6); - } - if (temp_r31->unk46 > 0) { - if (temp_r31->unk60) { - if (--temp_r31->unk60 == 0) { - temp_r31->unk2C = -1; - temp_r31->field_0_bit1 = 0; - } - } - else { - if ((temp_r31->unk46 & 0x2) == 0) { - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - } - temp_r31->unk46--; - } - } - if (temp_r31->field_0_bit2) { - Hu3DModelObjMtxGet(object->model[0], "test11_tex_we-itemhook-r", sp50); - MTXTrans(sp20, 0, 52, 0); - MTXConcat(sp50, sp20, sp50); - Hu3DModelPosSet(object->model[2], sp50[0][3], sp50[1][3], sp50[2][3]); - Hu3DModelScaleSet(object->model[2], lbl_1_data_180[temp_r31->unk44], lbl_1_data_180[temp_r31->unk44], lbl_1_data_180[temp_r31->unk44]); - } - if (fn_1_1240() >= 4 && fn_1_1240() <= 8 && lbl_1_bss_91A[1] >= 0) { - Hu3DGLightPointSet( - lbl_1_bss_91A[1], (15 * sind(object->work[0])) + lbl_1_data_198[temp_r31->unk44][0], lbl_1_data_198[temp_r31->unk44][1], 3); - temp_r29 = &Hu3DData[object->model[2]]; - sp8 = temp_r29->pos; - sp14 = sp8; - sp14.y = 800; - sp8.y = 0; - sp14.z += 1; - Hu3DGLightPosSet(lbl_1_bss_91A[1], temp_r29->pos.x, 140, temp_r29->pos.z, 0, 1, 0); - if (lbl_1_bss_918) { - Hu3DShadowPosSet(&sp14, &Hu3DShadowData.unk_2C, &sp8); - } - object->work[0] += 10.0f; - Hu3DModelAttrReset(object->model[2], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - } + Mtx sp50; + Mtx sp20; + Vec sp14; + Vec sp8; + Bss930Work *temp_r31; + ModelData *temp_r29; + temp_r31 = object->data; + if(temp_r31->unk44 > 0 && temp_r31->field_0_bit0) { + if(--temp_r31->unk44 == 0) { + lbl_1_bss_924 = 1; + Hu3DGLightKill(lbl_1_bss_91A[1]); + lbl_1_bss_91A[1] = -1; + Hu3DModelAttrSet(object->model[2], 1); + HuAudFXEmiterPlay(1469, &object->trans); + HuAudCharVoicePlay(temp_r31->unk0C, 291); + } else { + HuAudFXEmiterPlay(1466, &object->trans); + HuAudCharVoicePlay(temp_r31->unk0C, 296); + } + temp_r31->field_0_bit0 = 0; + temp_r31->field_0_bit1 = 1; + temp_r31->unk2C = 3; + temp_r31->unk34 = 0; + temp_r31->unk46 = 60; + temp_r31->unk60 = 30; + omVibrate(temp_r31->unk02, 12, 6, 6); + } + if(temp_r31->unk46 > 0) { + if(temp_r31->unk60) { + if(--temp_r31->unk60 == 0) { + temp_r31->unk2C = -1; + temp_r31->field_0_bit1 = 0; + } + } else { + if((temp_r31->unk46 & 0x2) == 0) { + Hu3DModelAttrReset(object->model[0], 1); + } else { + Hu3DModelAttrSet(object->model[0], 1); + } + temp_r31->unk46--; + } + } + if(temp_r31->field_0_bit2) { + Hu3DModelObjMtxGet(object->model[0], "test11_tex_we-itemhook-r", sp50); + MTXTrans(sp20, 0, 52, 0); + MTXConcat(sp50, sp20, sp50); + Hu3DModelPosSet(object->model[2], sp50[0][3], sp50[1][3], sp50[2][3]); + Hu3DModelScaleSet(object->model[2], lbl_1_data_180[temp_r31->unk44], lbl_1_data_180[temp_r31->unk44], lbl_1_data_180[temp_r31->unk44]); + } + if(fn_1_1240() >= 4 && fn_1_1240() <= 8 && lbl_1_bss_91A[1] >= 0) { + Hu3DGLightPointSet(lbl_1_bss_91A[1], (15*sind(object->work[0]))+lbl_1_data_198[temp_r31->unk44][0], lbl_1_data_198[temp_r31->unk44][1], 3); + temp_r29 = &Hu3DData[object->model[2]]; + sp8 = temp_r29->pos; + sp14 = sp8; + sp14.y = 800; + sp8.y = 0; + sp14.z += 1; + Hu3DGLightPosSet(lbl_1_bss_91A[1], temp_r29->pos.x, 140, temp_r29->pos.z, 0, 1, 0); + if(lbl_1_bss_918) { + Hu3DShadowPosSet(&sp14, &Hu3DShadowData.unk_2C, &sp8); + } + object->work[0] += 10.0f; + Hu3DModelAttrReset(object->model[2], 1); + } else { + Hu3DModelAttrSet(object->model[2], 1); + } } void fn_1_5C34(omObjData *object); + void fn_1_2EA4(omObjData *object) { - Bss930Work *temp_r30; - Bss930Work4C *temp_r29; - ParticleData *temp_r28; - ModelData *temp_r27; - Mtx sp3C; - Mtx spC; - temp_r30 = object->data; - temp_r29 = temp_r30->unk4C; - switch (temp_r30->unk50) { - case 0: - if (temp_r30->unk0A & PAD_BUTTON_A) { - temp_r30->field_0_bit1 = 1; - temp_r30->unk50 = 1; - temp_r30->unk60 = 15; - temp_r30->unk2C = 3; - temp_r30->unk34 = HU3D_MOTATTR_NONE; - HuAudFXEmiterPlay(1465, &object->trans); - } - break; - - case 1: - if (--temp_r30->unk60 == 0) { - Hu3DModelObjMtxGet(object->model[0], "test11_tex_we-itemhook-r", sp3C); - MTXTrans(spC, 0, 2, 50); - MTXConcat(sp3C, spC, sp3C); - Hu3DModelPosSet(object->model[2], sp3C[0][3], sp3C[1][3], sp3C[2][3]); - Hu3DModelScaleSet(object->model[2], 0.5f, 0.5f, 0.5f); - Hu3DModelAttrReset(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DMotionTimeSet(object->model[2], 0); - Hu3DMotionSpeedSet(object->model[2], 2.0f); - Hu3DModelRotSet(object->model[2], 0, 180.0f + object->rot.y, 0); - Hu3DData[object->model[2]].unk_94 = 0; - Hu3DData[object->model[2]].unk_98 = 2; - Hu3DModelAttrReset(object->model[3], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(object->model[3], sp3C[0][3], sp3C[1][3], sp3C[2][3]); - temp_r27 = &Hu3DData[object->model[3]]; - temp_r28 = temp_r27->unk_120; - temp_r28->unk_00 = 0; - temp_r28->unk_04.x = sp3C[0][3]; - temp_r28->unk_04.y = sp3C[1][3]; - temp_r28->unk_04.z = sp3C[2][3]; - temp_r28->unk_10.x = object->rot.y; - temp_r28->unk_3C = 30 - (sqrtf((2.0f * temp_r28->unk_04.y) / 1.0000001f) / 2.0f); - temp_r29->field_0_bit0 = 1; - temp_r30->unk50 = 2; - temp_r30->unk60 = 20; - } - break; - - case 2: - if (--temp_r30->unk60 == 0) { - temp_r30->unk2C = 4; - temp_r30->unk34 = HU3D_MOTATTR_NONE; - temp_r29->field_0_bit0 = 0; - temp_r30->unk50 = 3; - temp_r30->unk60 = 30; - } - Hu3DModelObjMtxGet(object->model[0], "test11_tex_we-itemhook-r", sp3C); - MTXTrans(spC, 0, 2, 50); - MTXConcat(sp3C, spC, sp3C); - Hu3DModelPosSet(object->model[2], sp3C[0][3], sp3C[1][3], sp3C[2][3]); - Hu3DModelPosSet(object->model[3], sp3C[0][3], sp3C[1][3], sp3C[2][3]); - fn_1_5C34(object); - break; - - case 3: - if (--temp_r30->unk60 == 0) { - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DData[object->model[2]].unk_0E = -1; - temp_r30->field_0_bit1 = 0; - temp_r30->unk2C = -1; - temp_r30->unk50 = 0; - } - break; - } - if (temp_r30->unk50 && fn_1_1240() > 6 && lbl_1_bss_924 < 0) { - temp_r29->field_0_bit0 = 0; - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); - } - if (temp_r29->field_0_bit0) { - temp_r29->unk4 = object->trans.x + (((float)temp_r29->unk10 * (200 * sind(object->rot.y))) / 4); - temp_r29->unk8 = 75; - temp_r29->unkC = object->trans.z + (((float)temp_r29->unk10 * (200 * cosd(object->rot.y))) / 4); - temp_r29->unk4 = object->trans.x + (200.0 * sind(object->rot.y)); - temp_r29->unk8 = 120.00001f; - temp_r29->unkC = object->trans.z + (200.0 * cosd(object->rot.y)); - if (temp_r29->unk10 < 4) { - temp_r29->unk10++; - } - } + Bss930Work *temp_r30; + Bss930Work4C *temp_r29; + ParticleData *temp_r28; + ModelData *temp_r27; + Mtx sp3C; + Mtx spC; + temp_r30 = object->data; + temp_r29 = temp_r30->unk4C; + switch(temp_r30->unk50) { + case 0: + if(temp_r30->unk0A & PAD_BUTTON_A) { + temp_r30->field_0_bit1 = 1; + temp_r30->unk50 = 1; + temp_r30->unk60 = 15; + temp_r30->unk2C = 3; + temp_r30->unk34 = 0; + HuAudFXEmiterPlay(1465, &object->trans); + } + break; + + case 1: + if(--temp_r30->unk60 == 0) { + Hu3DModelObjMtxGet(object->model[0], "test11_tex_we-itemhook-r", sp3C); + MTXTrans(spC, 0, 2, 50); + MTXConcat(sp3C, spC, sp3C); + Hu3DModelPosSet(object->model[2], sp3C[0][3], sp3C[1][3], sp3C[2][3]); + Hu3DModelScaleSet(object->model[2], 0.5f, 0.5f, 0.5f); + Hu3DModelAttrReset(object->model[2], 1); + Hu3DMotionTimeSet(object->model[2], 0); + Hu3DMotionSpeedSet(object->model[2], 2.0f); + Hu3DModelRotSet(object->model[2], 0, 180.0f+object->rot.y, 0); + Hu3DData[object->model[2]].unk_94 = 0; + Hu3DData[object->model[2]].unk_98 = 2; + Hu3DModelAttrReset(object->model[3], 1); + Hu3DModelPosSet(object->model[3], sp3C[0][3], sp3C[1][3], sp3C[2][3]); + temp_r27 = &Hu3DData[object->model[3]]; + temp_r28 = temp_r27->unk_120; + temp_r28->unk_00 = 0; + temp_r28->unk_04.x = sp3C[0][3]; + temp_r28->unk_04.y = sp3C[1][3]; + temp_r28->unk_04.z = sp3C[2][3]; + temp_r28->unk_10.x = object->rot.y; + temp_r28->unk_3C = 30-(sqrtf((2.0f*temp_r28->unk_04.y)/1.0000001f)/2.0f); + temp_r29->field_0_bit0 = 1; + temp_r30->unk50 = 2; + temp_r30->unk60 = 20; + } + break; + + case 2: + if(--temp_r30->unk60 == 0) { + temp_r30->unk2C = 4; + temp_r30->unk34 = 0; + temp_r29->field_0_bit0 = 0; + temp_r30->unk50 = 3; + temp_r30->unk60 = 30; + } + Hu3DModelObjMtxGet(object->model[0], "test11_tex_we-itemhook-r", sp3C); + MTXTrans(spC, 0, 2, 50); + MTXConcat(sp3C, spC, sp3C); + Hu3DModelPosSet(object->model[2], sp3C[0][3], sp3C[1][3], sp3C[2][3]); + Hu3DModelPosSet(object->model[3], sp3C[0][3], sp3C[1][3], sp3C[2][3]); + fn_1_5C34(object); + break; + + case 3: + if(--temp_r30->unk60 == 0) { + Hu3DModelAttrSet(object->model[2], 1); + Hu3DData[object->model[2]].unk_0E = -1; + temp_r30->field_0_bit1 = 0; + temp_r30->unk2C = -1; + temp_r30->unk50 = 0; + } + break; + } + if(temp_r30->unk50 && fn_1_1240() > 6 && lbl_1_bss_924 < 0) { + temp_r29->field_0_bit0 = 0; + Hu3DModelAttrSet(object->model[2], 1); + Hu3DModelAttrSet(object->model[3], 1); + } + if(temp_r29->field_0_bit0) { + temp_r29->unk4 = object->trans.x+(((float)temp_r29->unk10*(200*sind(object->rot.y)))/4); + temp_r29->unk8 = 75; + temp_r29->unkC = object->trans.z+(((float)temp_r29->unk10*(200*cosd(object->rot.y)))/4); + temp_r29->unk4 = object->trans.x+(200.0*sind(object->rot.y)); + temp_r29->unk8 = 120.00001f; + temp_r29->unkC = object->trans.z+(200.0*cosd(object->rot.y)); + if(temp_r29->unk10 < 4) { + temp_r29->unk10++; + } + } + } void fn_1_361C(omObjData *object) { - Bss930Work *temp_r30; - ModelData *temp_r29; - temp_r30 = object->data; - if (temp_r30->field_0_bit2) { - if (fn_1_1240() == 9) { - temp_r30->field_0_bit2 = 0; - temp_r30->unk48 = 0; - temp_r30->unk54.x = 6 * sind(object->rot.y); - temp_r30->unk54.y = 20; - temp_r30->unk54.z = 6 * cosd(object->rot.y); - temp_r30->unk60 = 30; - temp_r29 = &Hu3DData[object->model[1]]; - temp_r29->rot.y = object->rot.y; - Hu3DModelObjPosGet(object->model[0], "test11_tex_we-itemhook-r", &temp_r29->pos); - Hu3DModelHookReset(object->model[0]); - Hu3DModelAttrReset(object->model[1], HU3D_ATTR_HOOK); - Hu3DModelShadowReset(object->model[1]); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - } - } - else { - temp_r29 = &Hu3DData[object->model[1]]; - temp_r29->pos.x += temp_r30->unk54.x; - temp_r29->pos.y += temp_r30->unk54.y; - temp_r29->pos.z += temp_r30->unk54.z; - temp_r30->unk54.y += -1.0000001f; - temp_r29->rot.x += 30.0f; - if (--temp_r30->unk60 == 0) { - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(object->model[4], temp_r29->pos.x, temp_r29->pos.y, temp_r29->pos.z); - Hu3DModelAttrReset(object->model[4], HU3D_ATTR_DISPOFF); - if (!temp_r30->unk10) { - HuAudFXPlay(1468); - } - temp_r30->field_0_bit4 = 0; - } - } + Bss930Work *temp_r30; + ModelData *temp_r29; + temp_r30 = object->data; + if(temp_r30->field_0_bit2) { + if(fn_1_1240() == 9) { + temp_r30->field_0_bit2 = 0; + temp_r30->unk48 = 0; + temp_r30->unk54.x = 6*sind(object->rot.y); + temp_r30->unk54.y = 20; + temp_r30->unk54.z = 6*cosd(object->rot.y); + temp_r30->unk60 = 30; + temp_r29 = &Hu3DData[object->model[1]]; + temp_r29->rot.y = object->rot.y; + Hu3DModelObjPosGet(object->model[0], "test11_tex_we-itemhook-r", &temp_r29->pos); + Hu3DModelHookReset(object->model[0]); + Hu3DModelAttrReset(object->model[1], 0x8000); + Hu3DModelShadowReset(object->model[1]); + Hu3DModelAttrReset(object->model[0], 1); + } + } else { + temp_r29 = &Hu3DData[object->model[1]]; + temp_r29->pos.x += temp_r30->unk54.x; + temp_r29->pos.y += temp_r30->unk54.y; + temp_r29->pos.z += temp_r30->unk54.z; + temp_r30->unk54.y += -1.0000001f; + temp_r29->rot.x += 30.0f; + if(--temp_r30->unk60 == 0) { + Hu3DModelAttrSet(object->model[1], 1); + Hu3DModelPosSet(object->model[4], temp_r29->pos.x, temp_r29->pos.y, temp_r29->pos.z); + Hu3DModelAttrReset(object->model[4], 1); + if(!temp_r30->unk10) { + HuAudFXPlay(1468); + } + temp_r30->field_0_bit4 = 0; + } + } } void fn_1_38F0(omObjData *object); @@ -1011,764 +1016,766 @@ void fn_1_49C4(omObjData *object); void fn_1_389C(omObjData *object) { - Bss930Work *temp_r30; - temp_r30 = object->data; - if (!temp_r30->unk10) { - fn_1_38F0(object); - } - else { - fn_1_49C4(object); - } + Bss930Work *temp_r30; + temp_r30 = object->data; + if(!temp_r30->unk10) { + fn_1_38F0(object); + } else { + fn_1_49C4(object); + } } typedef struct unkstruct_38F0 { - s16 unk0; - s16 unk2; + s16 unk0; + s16 unk2; } UnkStruct38F0; -UnkStruct38F0 lbl_1_data_1C8[8] = { -1, -1, 0, -1, 1, -1, 1, 0, 1, 1, 0, 1, -1, 1, -1, 0 }; +UnkStruct38F0 lbl_1_data_1C8[8] = { + -1, -1, + 0, -1, + 1, -1, + 1, 0, + 1, 1, + 0, 1, + -1, 1, + -1, 0 +}; + void fn_1_38F0(omObjData *object) { - float temp_f31; - float temp_f30; - float temp_f26; - float temp_f25; - float temp_f22; - - s32 temp_r31; - s32 temp_r30; - Bss930Work *temp_r29; - s16 temp_r27; - s32 temp_r26; - s16 temp_r25; - s16 temp_r24; - u8 temp_r23; - - UnkStruct38F0 sp80[100]; - UnkStruct38F0 sp58[10]; - UnkStruct38F0 sp30[10]; - UnkStruct38F0 sp20[4]; - - temp_r29 = object->data; - temp_f25 = 1; - sp20[3].unk0 = 1 + (5 + ((9 * object->trans.x) / 1100)); - sp20[3].unk2 = 1 + (5 + ((9 * object->trans.z) / 1100)); - for (temp_r31 = 1; temp_r31 < 11; temp_r31++) { - for (temp_r30 = 1; temp_r30 < 11; temp_r30++) { - lbl_1_bss_14[temp_r31][temp_r30].unk8 = 0; - temp_f22 = VECMagPoint(lbl_1_bss_14[temp_r31][temp_r30].unk0, lbl_1_bss_14[temp_r31][temp_r30].unk4, 0); - if (temp_f22 <= 550) { - lbl_1_bss_14[temp_r31][temp_r30].unkC = 0; - for (temp_r26 = 0; temp_r26 < lbl_1_bss_92A[1]; temp_r26++) { - temp_f31 = lbl_1_bss_14[temp_r31][temp_r30].unk0 - lbl_1_bss_930[1][temp_r26]->trans.x; - temp_f30 = lbl_1_bss_14[temp_r31][temp_r30].unk4 - lbl_1_bss_930[1][temp_r26]->trans.z; - temp_f22 = VECMagPoint(temp_f31, temp_f30, 0); - if (temp_f22 <= 1100) { - temp_f26 = cosd(90 * (temp_f22 / 1100)); - temp_f26 = temp_f26 * temp_f26; - if (temp_f26 > lbl_1_bss_14[temp_r31][temp_r30].unkC) { - lbl_1_bss_14[temp_r31][temp_r30].unkC = temp_f26; - } - } - } - } - else { - lbl_1_bss_14[temp_r31][temp_r30].unkC = -1; - } - } - } - lbl_1_bss_14[sp20[3].unk2][sp20[3].unk0].unk8 = 1; - sp80[0] = sp20[3]; - temp_r27 = 0; - temp_r25 = 1; - do { - for (temp_r31 = 0; temp_r31 < 8u; temp_r31++) { - sp20[2].unk0 = sp80[temp_r27].unk0 + lbl_1_data_1C8[temp_r31].unk0; - sp20[2].unk2 = sp80[temp_r27].unk2 + lbl_1_data_1C8[temp_r31].unk2; - if (sp20[2].unk0 < 1 || sp20[2].unk0 >= 11 || sp20[2].unk2 < 1 || sp20[2].unk2 >= 11) { - continue; - } - if (lbl_1_bss_14[sp20[2].unk2][sp20[2].unk0].unk8) { - continue; - } - if (lbl_1_bss_14[sp20[2].unk2][sp20[2].unk0].unkC >= 0) { - lbl_1_bss_14[sp20[2].unk2][sp20[2].unk0].unk8 = lbl_1_bss_14[sp80[temp_r27].unk2][sp80[temp_r27].unk0].unk8 + 1; - sp80[temp_r25].unk0 = sp20[2].unk0; - sp80[temp_r25].unk2 = sp20[2].unk2; - temp_r25++; - } - } - temp_r27++; - } while (temp_r27 != temp_r25); - temp_f25 = 1.0f; - sp20[0].unk0 = -1; - for (temp_r31 = 1; temp_r31 < 11; temp_r31++) { - for (temp_r30 = 1; temp_r30 < 11; temp_r30++) { - if (lbl_1_bss_14[temp_r31][temp_r30].unk8 == 0 || lbl_1_bss_14[temp_r31][temp_r30].unk8 > 5) { - continue; - } - if (lbl_1_bss_14[temp_r31][temp_r30].unkC >= 0.0f && lbl_1_bss_14[temp_r31][temp_r30].unkC < temp_f25) { - temp_f25 = lbl_1_bss_14[temp_r31][temp_r30].unkC; - sp20[0].unk0 = temp_r30; - sp20[0].unk2 = temp_r31; - } - } - } - temp_r23 = lbl_1_bss_14[sp20[0].unk2][sp20[0].unk0].unk8; - if (temp_r23 == 1) { - if (lbl_1_bss_14[sp20[3].unk2][sp20[3].unk0].unkC > 0.8f) { - temp_f25 = 1.0f; - for (temp_r31 = 0; temp_r31 < 8u; temp_r31++) { - sp20[2].unk0 = sp20[3].unk0 + lbl_1_data_1C8[temp_r31].unk0; - sp20[2].unk2 = sp20[3].unk2 + lbl_1_data_1C8[temp_r31].unk2; - if (lbl_1_bss_14[sp20[2].unk2][sp20[2].unk0].unkC >= 0.0f && lbl_1_bss_14[sp20[2].unk2][sp20[2].unk0].unkC < temp_f25) { - temp_f25 = lbl_1_bss_14[sp20[2].unk2][sp20[2].unk0].unkC; - sp20[1] = sp20[2]; - } - } - sp30[1].unk0 = sp20[1].unk0; - sp30[1].unk2 = sp20[1].unk2; - } - else { - return; - } - } - else { - for (temp_r31 = 1; temp_r31 < 11; temp_r31++) { - for (temp_r30 = 1; temp_r30 < 11; temp_r30++) { - if (lbl_1_bss_14[temp_r31][temp_r30].unk8 >= temp_r23) { - lbl_1_bss_14[temp_r31][temp_r30].unk8 = 0; - } - } - } - lbl_1_bss_14[sp20[0].unk2][sp20[0].unk0].unk8 = temp_r23; - sp80[0] = sp20[3]; - temp_r24 = 1; - temp_f25 = 1.0f; - do { - sp20[1] = sp80[--temp_r24]; - sp58[lbl_1_bss_14[sp20[1].unk2][sp20[1].unk0].unk8 - 1] = sp20[1]; - if (sp20[1].unk0 == sp20[0].unk0 && sp20[1].unk2 == sp20[0].unk2) { - temp_f26 = 0; - for (temp_r31 = 1; temp_r31 < temp_r23; temp_r31++) { - if (lbl_1_bss_14[sp58[temp_r31].unk2][sp58[temp_r31].unk0].unkC > temp_f26) { - temp_f26 = lbl_1_bss_14[sp58[temp_r31].unk2][sp58[temp_r31].unk0].unkC; - } - } - if (temp_f26 < temp_f25) { - temp_f25 = temp_f26; - memcpy(sp30, sp58, temp_r23 * sizeof(UnkStruct38F0)); - } - continue; - } - for (temp_r31 = 0; temp_r31 < 8u; temp_r31++) { - sp20[2].unk0 = sp20[1].unk0 + lbl_1_data_1C8[temp_r31].unk0; - sp20[2].unk2 = sp20[1].unk2 + lbl_1_data_1C8[temp_r31].unk2; - if (lbl_1_bss_14[sp20[2].unk2][sp20[2].unk0].unk8 - 1 == lbl_1_bss_14[sp20[1].unk2][sp20[1].unk0].unk8) { - sp80[temp_r24++] = sp20[2]; - } - } - } while (temp_r24); - } - if (sp20[0].unk0 >= 0) { - temp_f31 = lbl_1_bss_14[sp30[1].unk2][sp30[1].unk0].unk0 - object->trans.x; - temp_f30 = lbl_1_bss_14[sp30[1].unk2][sp30[1].unk0].unk4 - object->trans.z; - temp_f22 = VECMagPoint(temp_f31, temp_f30, 0); - if (temp_f22 >= 50.0f) { - temp_r29->unk84 = fn_1_1C80(temp_r29->unk84, atan2d(temp_f31, temp_f30), 0.1f); - temp_r29->unk06 = (69.0f + temp_r29->unk0E) * sind(temp_r29->unk84); - temp_r29->unk07 = (69.0f + temp_r29->unk0E) * -cosd(temp_r29->unk84); - } - } + float temp_f31; + float temp_f30; + float temp_f26; + float temp_f25; + float temp_f22; + + s32 temp_r31; + s32 temp_r30; + Bss930Work *temp_r29; + s16 temp_r27; + s32 temp_r26; + s16 temp_r25; + s16 temp_r24; + u8 temp_r23; + + UnkStruct38F0 sp80[100]; + UnkStruct38F0 sp58[10]; + UnkStruct38F0 sp30[10]; + UnkStruct38F0 sp20[4]; + + temp_r29 = object->data; + temp_f25 = 1; + sp20[3].unk0 = 1+(5+((9*object->trans.x)/1100)); + sp20[3].unk2 = 1+(5+((9*object->trans.z)/1100)); + for(temp_r31=1; temp_r31<11; temp_r31++) { + for(temp_r30=1; temp_r30<11; temp_r30++) { + lbl_1_bss_14[temp_r31][temp_r30].unk8 = 0; + temp_f22 = VECMagPoint(lbl_1_bss_14[temp_r31][temp_r30].unk0, lbl_1_bss_14[temp_r31][temp_r30].unk4, 0); + if(temp_f22 <= 550) { + lbl_1_bss_14[temp_r31][temp_r30].unkC = 0; + for(temp_r26=0; temp_r26trans.x; + temp_f30 = lbl_1_bss_14[temp_r31][temp_r30].unk4-lbl_1_bss_930[1][temp_r26]->trans.z; + temp_f22 = VECMagPoint(temp_f31, temp_f30, 0); + if(temp_f22 <= 1100) { + temp_f26 = cosd(90*(temp_f22/1100)); + temp_f26 = temp_f26*temp_f26; + if(temp_f26 > lbl_1_bss_14[temp_r31][temp_r30].unkC) { + lbl_1_bss_14[temp_r31][temp_r30].unkC = temp_f26; + } + } + } + } else { + lbl_1_bss_14[temp_r31][temp_r30].unkC = -1; + } + } + } + lbl_1_bss_14[sp20[3].unk2][sp20[3].unk0].unk8 = 1; + sp80[0] = sp20[3]; + temp_r27=0; + temp_r25=1; + do { + for(temp_r31=0; temp_r31<8u; temp_r31++) { + sp20[2].unk0 = sp80[temp_r27].unk0+lbl_1_data_1C8[temp_r31].unk0; + sp20[2].unk2 = sp80[temp_r27].unk2+lbl_1_data_1C8[temp_r31].unk2; + if(sp20[2].unk0 < 1 || sp20[2].unk0 >= 11 || sp20[2].unk2 < 1 || sp20[2].unk2 >= 11) { + continue; + } + if(lbl_1_bss_14[sp20[2].unk2][sp20[2].unk0].unk8) { + continue; + } + if(lbl_1_bss_14[sp20[2].unk2][sp20[2].unk0].unkC >= 0) { + lbl_1_bss_14[sp20[2].unk2][sp20[2].unk0].unk8 = lbl_1_bss_14[sp80[temp_r27].unk2][sp80[temp_r27].unk0].unk8+1; + sp80[temp_r25].unk0 = sp20[2].unk0; + sp80[temp_r25].unk2 = sp20[2].unk2; + temp_r25++; + } + } + temp_r27++; + } while(temp_r27 != temp_r25); + temp_f25 = 1.0f; + sp20[0].unk0 = -1; + for(temp_r31=1; temp_r31<11; temp_r31++) { + for(temp_r30=1; temp_r30<11; temp_r30++) { + if(lbl_1_bss_14[temp_r31][temp_r30].unk8 == 0 || lbl_1_bss_14[temp_r31][temp_r30].unk8 > 5) { + continue; + } + if(lbl_1_bss_14[temp_r31][temp_r30].unkC >= 0.0f && lbl_1_bss_14[temp_r31][temp_r30].unkC < temp_f25) { + temp_f25 = lbl_1_bss_14[temp_r31][temp_r30].unkC; + sp20[0].unk0 = temp_r30; + sp20[0].unk2 = temp_r31; + } + } + } + temp_r23 = lbl_1_bss_14[sp20[0].unk2][sp20[0].unk0].unk8; + if(temp_r23 == 1) { + if(lbl_1_bss_14[sp20[3].unk2][sp20[3].unk0].unkC > 0.8f) { + temp_f25 = 1.0f; + for(temp_r31=0; temp_r31<8u; temp_r31++) { + sp20[2].unk0 = sp20[3].unk0+lbl_1_data_1C8[temp_r31].unk0; + sp20[2].unk2 = sp20[3].unk2+lbl_1_data_1C8[temp_r31].unk2; + if(lbl_1_bss_14[sp20[2].unk2][sp20[2].unk0].unkC >= 0.0f && lbl_1_bss_14[sp20[2].unk2][sp20[2].unk0].unkC < temp_f25) { + temp_f25 = lbl_1_bss_14[sp20[2].unk2][sp20[2].unk0].unkC; + sp20[1] = sp20[2]; + } + } + sp30[1].unk0 = sp20[1].unk0; + sp30[1].unk2 = sp20[1].unk2; + } else { + return; + } + } else { + for(temp_r31=1; temp_r31<11; temp_r31++) { + for(temp_r30=1; temp_r30<11; temp_r30++) { + if(lbl_1_bss_14[temp_r31][temp_r30].unk8 >= temp_r23) { + lbl_1_bss_14[temp_r31][temp_r30].unk8 = 0; + } + } + } + lbl_1_bss_14[sp20[0].unk2][sp20[0].unk0].unk8 = temp_r23; + sp80[0] = sp20[3]; + temp_r24 = 1; + temp_f25 = 1.0f; + do { + sp20[1] = sp80[--temp_r24]; + sp58[lbl_1_bss_14[sp20[1].unk2][sp20[1].unk0].unk8 -1] = sp20[1]; + if(sp20[1].unk0 == sp20[0].unk0 && sp20[1].unk2 == sp20[0].unk2) { + temp_f26 = 0; + for(temp_r31=1; temp_r31 temp_f26) { + temp_f26 = lbl_1_bss_14[sp58[temp_r31].unk2][sp58[temp_r31].unk0].unkC; + } + } + if(temp_f26 < temp_f25) { + temp_f25 = temp_f26; + memcpy(sp30, sp58, temp_r23*sizeof(UnkStruct38F0)); + + } + continue; + } + for(temp_r31=0; temp_r31<8u; temp_r31++) { + sp20[2].unk0 = sp20[1].unk0+lbl_1_data_1C8[temp_r31].unk0; + sp20[2].unk2 = sp20[1].unk2+lbl_1_data_1C8[temp_r31].unk2; + if(lbl_1_bss_14[sp20[2].unk2][sp20[2].unk0].unk8-1 == lbl_1_bss_14[sp20[1].unk2][sp20[1].unk0].unk8) { + sp80[temp_r24++] = sp20[2]; + } + } + } while(temp_r24); + } + if(sp20[0].unk0 >= 0) { + temp_f31 = lbl_1_bss_14[sp30[1].unk2][sp30[1].unk0].unk0-object->trans.x; + temp_f30 = lbl_1_bss_14[sp30[1].unk2][sp30[1].unk0].unk4-object->trans.z; + temp_f22 = VECMagPoint(temp_f31, temp_f30, 0); + if(temp_f22 >= 50.0f) { + temp_r29->unk84 = fn_1_1C80(temp_r29->unk84, atan2d(temp_f31, temp_f30), 0.1f); + temp_r29->unk06 = (69.0f+temp_r29->unk0E)*sind(temp_r29->unk84); + temp_r29->unk07 = (69.0f+temp_r29->unk0E)*-cosd(temp_r29->unk84); + } + } } void fn_1_49C4(omObjData *object) { - float temp_f31; - float temp_f28; - float temp_f27; - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - - Bss930Work *temp_r31; - omObjData *temp_r30; - Bss930Work *temp_r28; - temp_r30 = lbl_1_bss_930[0][0]; - temp_r31 = object->data; - temp_r28 = temp_r30->data; - if (temp_r31->field_0_bit1) { - return; - } - switch (temp_r31->unk70) { - case 0: - temp_f28 = (frand16() * 360) >> 16; - temp_f31 = (frand16() * 550) >> 16; - temp_r31->unk74.x = temp_f31 * sind(temp_f28); - temp_r31->unk74.y = 0; - temp_r31->unk74.z = temp_f31 * cosd(temp_f28); - temp_r31->unk70 = 1; - temp_r31->unk80 = 0; - - case 1: - sp20.x = temp_r30->trans.x + ((60.0f * temp_r28->unk1C.x) / 4.0f); - sp20.z = temp_r30->trans.z + ((60.0f * temp_r28->unk1C.z) / 4.0f); - sp2C.x = temp_r31->unk74.x + (temp_r31->unk80 * (sp20.x - temp_r31->unk74.x)); - sp2C.y = 0; - sp2C.z = temp_r31->unk74.z + (temp_r31->unk80 * (sp20.z - temp_r31->unk74.z)); - VECSubtract(&sp2C, &object->trans, &sp14); - temp_f31 = VECMag(&sp14); - if (temp_f31 > 0.0f) { - if (temp_r31->unk80 < 1.0f) { - if (temp_f31 < 10.0f) { - temp_r31->unk80 += (10.0f / temp_f31); - } - else { - temp_r31->unk80 += (2.0f / temp_f31); - } - if (temp_r31->unk80 > 1.0f) { - temp_r31->unk80 = 1.0f; - } - } - else { - if (((s32)frand() & 0x1F) == 0) { - temp_r31->unk70 = 0; - } - } - } - temp_f27 = 60.0f + (2.0f * temp_r31->unk0E); - temp_r31->unk84 = fn_1_1C80(temp_r31->unk84, atan2d(sp14.x, sp14.z), 0.1f); - temp_r31->unk06 = temp_f27 * sind(temp_r31->unk84); - temp_r31->unk07 = temp_f27 * -cosd(temp_r31->unk84); - VECSubtract(&temp_r30->trans, &object->trans, &sp14); - if (VECMag(&sp14) < 200.0f) { - VECNormalize(&sp14, &sp14); - sp8.x = sind(object->rot.y); - sp8.y = 0; - sp8.z = cosd(object->rot.y); - if (VECDotProduct(&sp14, &sp8) >= 0.8f) { - temp_r31->unk0A |= PAD_BUTTON_A; - temp_r31->unk70 = 0; - } - } - if (((s32)frand() & 0x3FF) < 4 - temp_r31->unk0E) { - temp_r31->unk0A |= PAD_BUTTON_A; - temp_r31->unk70 = 0; - } - break; - } + float temp_f31; + float temp_f28; + float temp_f27; + Vec sp2C; + Vec sp20; + Vec sp14; + Vec sp8; + + Bss930Work *temp_r31; + omObjData *temp_r30; + Bss930Work *temp_r28; + temp_r30 = lbl_1_bss_930[0][0]; + temp_r31 = object->data; + temp_r28 = temp_r30->data; + if(temp_r31->field_0_bit1) { + return; + } + switch(temp_r31->unk70) { + case 0: + temp_f28 = (frand16()*360)>>16; + temp_f31 = (frand16()*550)>>16; + temp_r31->unk74.x = temp_f31*sind(temp_f28); + temp_r31->unk74.y = 0; + temp_r31->unk74.z = temp_f31*cosd(temp_f28); + temp_r31->unk70 = 1; + temp_r31->unk80 = 0; + + case 1: + sp20.x = temp_r30->trans.x+((60.0f*temp_r28->unk1C.x)/4.0f); + sp20.z = temp_r30->trans.z+((60.0f*temp_r28->unk1C.z)/4.0f); + sp2C.x = temp_r31->unk74.x+(temp_r31->unk80*(sp20.x-temp_r31->unk74.x)); + sp2C.y = 0; + sp2C.z = temp_r31->unk74.z+(temp_r31->unk80*(sp20.z-temp_r31->unk74.z)); + VECSubtract(&sp2C, &object->trans, &sp14); + temp_f31 = VECMag(&sp14); + if(temp_f31 > 0.0f) { + if(temp_r31->unk80 < 1.0f) { + if(temp_f31 < 10.0f) { + temp_r31->unk80 += (10.0f/temp_f31); + } else { + temp_r31->unk80 += (2.0f/temp_f31); + } + if(temp_r31->unk80 > 1.0f) { + temp_r31->unk80 = 1.0f; + } + } else { + if(((s32)frand() & 0x1F) == 0) { + temp_r31->unk70 = 0; + } + } + } + temp_f27 = 60.0f+(2.0f*temp_r31->unk0E); + temp_r31->unk84 = fn_1_1C80(temp_r31->unk84, atan2d(sp14.x, sp14.z), 0.1f); + temp_r31->unk06 = temp_f27*sind(temp_r31->unk84); + temp_r31->unk07 = temp_f27*-cosd(temp_r31->unk84); + VECSubtract(&temp_r30->trans, &object->trans, &sp14); + if(VECMag(&sp14) < 200.0f) { + VECNormalize(&sp14, &sp14); + sp8.x = sind(object->rot.y); + sp8.y = 0; + sp8.z = cosd(object->rot.y); + if(VECDotProduct(&sp14, &sp8) >= 0.8f) { + temp_r31->unk0A |= PAD_BUTTON_A; + temp_r31->unk70 = 0; + } + } + if(((s32)frand() & 0x3FF) < 4-temp_r31->unk0E) { + temp_r31->unk0A |= PAD_BUTTON_A; + temp_r31->unk70 = 0; + } + break; + } } s32 fn_1_5058(void); void fn_1_5004(void) { - s32 i = 0; - omObjData **sp8 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - while (fn_1_5058() && i < 50) { - i++; - } + s32 i = 0; + omObjData **sp8 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + while(fn_1_5058() && i < 50) { + i++; + } } s32 fn_1_5058(void) { - Vec sp14[4]; - Vec sp8; - float temp_f31; - float temp_f30; - s32 temp_r31; - omObjData *temp_r30; - s32 temp_r29; - omObjData **temp_r28; - s32 temp_r27; - omObjData *temp_r26; - omObjData *temp_r25; - temp_r27 = 0; - temp_r28 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - sp14[temp_r31].x = sp14[temp_r31].y = sp14[temp_r31].z = 0; - } - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - temp_r26 = temp_r28[temp_r31]; - for (temp_r29 = temp_r31 + 1; temp_r29 < 4; temp_r29++) { - temp_r25 = temp_r28[temp_r29]; - VECSubtract(&temp_r26->trans, &temp_r25->trans, &sp8); - temp_f31 = VECMag(&sp8); - if (temp_f31 < 100.0) { - VECNormalize(&sp8, &sp8); - temp_f30 = 0.0001f + (0.5f * (100.0 - temp_f31)); - VECScale(&sp8, &sp8, temp_f30); - VECAdd(&sp14[temp_r31], &sp8, &sp14[temp_r31]); - VECSubtract(&sp14[temp_r29], &sp8, &sp14[temp_r29]); - temp_r27++; - } - } - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r30 = temp_r28[temp_r31]; - VECAdd(&temp_r30->trans, &sp14[temp_r31], &temp_r30->trans); - sp8.x = temp_r30->trans.x; - sp8.y = 0; - sp8.z = temp_r30->trans.z; - temp_f31 = VECMag(&sp8); - if (temp_f31 > 500.0) { - VECNormalize(&sp8, &sp8); - temp_r30->trans.x = 500.0 * sp8.x; - temp_r30->trans.z = 500.0 * sp8.z; - } - } - return temp_r27; + Vec sp14[4]; + Vec sp8; + float temp_f31; + float temp_f30; + s32 temp_r31; + omObjData *temp_r30; + s32 temp_r29; + omObjData **temp_r28; + s32 temp_r27; + omObjData *temp_r26; + omObjData *temp_r25; + temp_r27 = 0; + temp_r28 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + for(temp_r31=0; temp_r31<4; temp_r31++) { + sp14[temp_r31].x = sp14[temp_r31].y = sp14[temp_r31].z = 0; + } + for(temp_r31=0; temp_r31<3; temp_r31++) { + temp_r26 = temp_r28[temp_r31]; + for(temp_r29=temp_r31+1; temp_r29<4; temp_r29++) { + temp_r25 = temp_r28[temp_r29]; + VECSubtract(&temp_r26->trans, &temp_r25->trans, &sp8); + temp_f31 = VECMag(&sp8); + if(temp_f31 < 100.0) { + VECNormalize(&sp8, &sp8); + temp_f30 = 0.0001f+(0.5f*(100.0-temp_f31)); + VECScale(&sp8, &sp8, temp_f30); + VECAdd(&sp14[temp_r31], &sp8, &sp14[temp_r31]); + VECSubtract(&sp14[temp_r29], &sp8, &sp14[temp_r29]); + temp_r27++; + } + } + } + for(temp_r31=0; temp_r31<4; temp_r31++) { + temp_r30 = temp_r28[temp_r31]; + VECAdd(&temp_r30->trans, &sp14[temp_r31], &temp_r30->trans); + sp8.x = temp_r30->trans.x; + sp8.y = 0; + sp8.z = temp_r30->trans.z; + temp_f31 = VECMag(&sp8); + if(temp_f31 > 500.0) { + VECNormalize(&sp8, &sp8); + temp_r30->trans.x = 500.0*sp8.x; + temp_r30->trans.z = 500.0*sp8.z; + } + } + return temp_r27; } Vec lbl_1_data_1E8 = { 0, 0, 200 }; -Vec lbl_1_data_1F4[3] = { { -300, 0, -200 }, { 0, 0, -200 }, { 300, 0, -200 } }; -s32 lbl_1_data_218[6][3] = { { 0, 1, 2 }, { 0, 2, 1 }, { 1, 0, 2 }, { 1, 2, 0 }, { 2, 0, 1 }, { 2, 1, 0 } }; +Vec lbl_1_data_1F4[3] = { + { -300, 0, -200 }, + { 0, 0, -200 }, + { 300, 0, -200 } +}; +s32 lbl_1_data_218[6][3] = { + { 0, 1, 2 }, + { 0, 2, 1 }, + { 1, 0, 2 }, + { 1, 2, 0 }, + { 2, 0, 1 }, + { 2, 1, 0 } +}; void fn_1_52BC(void) { - float sp14[3]; - Vec sp8; - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - - s32 temp_r31; - s32 temp_r30; - Bss930Work *temp_r29; - s32 temp_r28; - temp_r29 = lbl_1_bss_930[0][0]->data; - temp_r29->unk64 = lbl_1_data_1E8; - temp_f29 = -1; - for (temp_r30 = 0; temp_r30 < 6; temp_r30++) { - temp_f31 = 0; - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - VECSubtract(&lbl_1_data_1F4[temp_r31], &lbl_1_bss_930[1][lbl_1_data_218[temp_r30][temp_r31]]->trans, &sp8); - sp14[temp_r31] = VECMag(&sp8); - temp_f31 += sp14[temp_r31]; - } - temp_f28 = temp_f31 / 3; - temp_f30 = 0; - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - temp_f30 += fabs(sp14[temp_r31] - temp_f28); - } - if (temp_f29 < 0 || temp_f30 + temp_f31 < temp_f29) { - temp_f29 = temp_f30 + temp_f31; - temp_r28 = temp_r30; - } - } - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - temp_r29 = lbl_1_bss_930[1][lbl_1_data_218[temp_r28][temp_r30]]->data; - temp_r29->unk64 = lbl_1_data_1F4[temp_r30]; - } + float sp14[3]; + Vec sp8; + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + + s32 temp_r31; + s32 temp_r30; + Bss930Work *temp_r29; + s32 temp_r28; + temp_r29 = lbl_1_bss_930[0][0]->data; + temp_r29->unk64 = lbl_1_data_1E8; + temp_f29 = -1; + for(temp_r30=0; temp_r30<6; temp_r30++) { + temp_f31 = 0; + for(temp_r31=0; temp_r31<3; temp_r31++) { + VECSubtract(&lbl_1_data_1F4[temp_r31], &lbl_1_bss_930[1][lbl_1_data_218[temp_r30][temp_r31]]->trans, &sp8); + sp14[temp_r31] = VECMag(&sp8); + temp_f31 += sp14[temp_r31]; + } + temp_f28 = temp_f31/3; + temp_f30 = 0; + for(temp_r31=0; temp_r31<3; temp_r31++) { + temp_f30 += fabs(sp14[temp_r31]-temp_f28); + } + if(temp_f29 < 0 || temp_f30+temp_f31 < temp_f29) { + temp_f29 = temp_f30+temp_f31; + temp_r28 = temp_r30; + } + } + for(temp_r30=0; temp_r30<3; temp_r30++) { + temp_r29 = lbl_1_bss_930[1][lbl_1_data_218[temp_r28][temp_r30]]->data; + temp_r29->unk64 = lbl_1_data_1F4[temp_r30]; + } } typedef struct unkstruct_5530 { - s32 unk0; - float unk4; - float unk8; - Vec unkC; + s32 unk0; + float unk4; + float unk8; + Vec unkC; } UnkStruct5530; s32 fn_1_5530(omObjData *arg0, Vec *arg1, Vec *arg2) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - - s32 temp_r30; - s32 temp_r29; - omObjData *temp_r28; - s32 temp_r27; - - omObjData **temp_r24; - s32 temp_r23; - - UnkStruct5530 spB4[4]; - Mtx sp84; - Vec sp78; - Vec sp6C; - Vec sp60; - Vec sp54; - Vec sp48; - Vec sp3C; - Vec sp30; - Vec sp24; - s32 sp14[4]; - float spC[2]; - Bss930Work *sp8; - sp8 = arg0->data; - temp_r24 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - temp_r23 = 0; - sp54.x = arg1->x; - sp54.y = arg1->y; - sp54.z = arg1->z; - VECSubtract(&sp54, &arg0->trans, &sp48); - temp_f30 = VECMag(&sp48); - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - sp14[temp_r30] = 0; - } - while (1) { - for (temp_r30 = 0, temp_r29 = 0; temp_r30 < 4; temp_r30++) { - temp_r28 = temp_r24[temp_r30]; - if (arg0 == temp_r28 || sp14[temp_r30]) { - continue; - } - temp_f31 = ((temp_r28->trans.x * sp48.x) - (arg0->trans.x * sp48.x) + (temp_r28->trans.y * sp48.y) - (arg0->trans.y * sp48.y) - + (temp_r28->trans.z * sp48.z) - (arg0->trans.z * sp48.z)) - / VECMag2Point(&sp48); - if (temp_f31 < 0.0f || temp_f31 >= 1.0f) { - continue; - } - VECSubtract(&temp_r28->trans, &arg0->trans, &sp3C); - VECCrossProduct(&sp48, &sp3C, &sp24); - sp60.x = (temp_f31 * sp48.x) + arg0->trans.x; - sp60.y = (temp_f31 * sp48.y) + arg0->trans.y; - sp60.z = (temp_f31 * sp48.z) + arg0->trans.z; - spB4[temp_r29].unkC = sp60; - VECSubtract(&temp_r28->trans, &sp60, &sp3C); - if (sp24.y < 0.0f) { - spB4[temp_r29].unk8 = VECMag(&sp3C); - } - else { - spB4[temp_r29].unk8 = -VECMag(&sp3C); - } - VECSubtract(&sp60, &arg0->trans, &sp3C); - spB4[temp_r29].unk4 = VECMag(&sp3C); - spB4[temp_r29].unk0 = temp_r30; - temp_r29++; - } - if (temp_r29 == 0) { - break; - } - for (temp_r30 = 0; temp_r30 < temp_r29 - 1; temp_r30++) { - for (temp_r27 = temp_r30 + 1; temp_r27 < temp_r29; temp_r27++) { - if (spB4[temp_r30].unk4 > spB4[temp_r27].unk4) { - spB4[3] = spB4[temp_r30]; - spB4[temp_r30] = spB4[temp_r27]; - spB4[temp_r27] = spB4[3]; - } - } - } - for (temp_r30 = 0; temp_r30 < temp_r29; temp_r30++) { - if (fabs(spB4[temp_r30].unk8) < 100.0 && spB4[temp_r30].unk4 > 50.0) { - sp14[spB4[temp_r30].unk0] = 1; - VECSubtract(&temp_r24[spB4[temp_r30].unk0]->trans, &arg0->trans, &sp3C); - temp_f28 = VECMag(&sp3C); - if (0.0f != temp_f28) { - VECNormalize(&sp3C, &sp3C); - temp_f31 = 100.0 / temp_f28; - if (temp_f31 < 0.0f) { - temp_f31 = 0.0f; - } - else if (temp_f31 > 1.0f) { - temp_f31 = 1.0f; - } - temp_f29 = asinf(temp_f31); - MTXRotRad(sp84, 'Y', -temp_f29); - MTXMultVec(sp84, &sp3C, &sp30); - sp6C.x = arg0->trans.x + (sp30.x * temp_f30); - sp6C.y = arg0->trans.y + (sp30.y * temp_f30); - sp6C.z = arg0->trans.z + (sp30.z * temp_f30); - VECSubtract(&sp54, &sp6C, &sp30); - spC[0] = VECMag(&sp30); - MTXRotRad(sp84, 'Y', temp_f29); - MTXMultVec(sp84, &sp3C, &sp30); - sp78.x = arg0->trans.x + (sp30.x * temp_f30); - sp78.y = arg0->trans.y + (sp30.y * temp_f30); - sp78.z = arg0->trans.z + (sp30.z * temp_f30); - VECSubtract(&sp54, &sp78, &sp30); - spC[1] = VECMag(&sp30); - if (spC[0] < spC[1]) { - sp54 = sp6C; - } - else { - sp54 = sp78; - } - temp_r23 = 1; - break; - } - } - } - if (temp_r30 >= temp_r29) { - break; - } - VECSubtract(&sp54, &arg0->trans, &sp48); - } - arg2->x = sp54.x; - arg2->y = sp54.y; - arg2->z = sp54.z; - return temp_r23; + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + + s32 temp_r30; + s32 temp_r29; + omObjData *temp_r28; + s32 temp_r27; + + omObjData **temp_r24; + s32 temp_r23; + + UnkStruct5530 spB4[4]; + Mtx sp84; + Vec sp78; + Vec sp6C; + Vec sp60; + Vec sp54; + Vec sp48; + Vec sp3C; + Vec sp30; + Vec sp24; + s32 sp14[4]; + float spC[2]; + Bss930Work *sp8; + sp8 = arg0->data; + temp_r24 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + temp_r23 = 0; + sp54.x = arg1->x; + sp54.y = arg1->y; + sp54.z = arg1->z; + VECSubtract(&sp54, &arg0->trans, &sp48); + temp_f30 = VECMag(&sp48); + for(temp_r30=0; temp_r30<4; temp_r30++) { + sp14[temp_r30] = 0; + } + while(1) { + for(temp_r30=0, temp_r29=0; temp_r30<4; temp_r30++) { + temp_r28 = temp_r24[temp_r30]; + if(arg0 == temp_r28 || sp14[temp_r30]) { + continue; + } + temp_f31 = ((temp_r28->trans.x*sp48.x)-(arg0->trans.x*sp48.x)+(temp_r28->trans.y*sp48.y)-(arg0->trans.y*sp48.y)+(temp_r28->trans.z*sp48.z)-(arg0->trans.z*sp48.z))/VECMag2Point(&sp48); + if(temp_f31 < 0.0f || temp_f31 >= 1.0f) { + continue; + } + VECSubtract(&temp_r28->trans, &arg0->trans, &sp3C); + VECCrossProduct(&sp48, &sp3C, &sp24); + sp60.x = (temp_f31*sp48.x)+arg0->trans.x; + sp60.y = (temp_f31*sp48.y)+arg0->trans.y; + sp60.z = (temp_f31*sp48.z)+arg0->trans.z; + spB4[temp_r29].unkC = sp60; + VECSubtract(&temp_r28->trans, &sp60, &sp3C); + if(sp24.y < 0.0f) { + spB4[temp_r29].unk8 = VECMag(&sp3C); + } else { + spB4[temp_r29].unk8 = -VECMag(&sp3C); + } + VECSubtract(&sp60, &arg0->trans, &sp3C); + spB4[temp_r29].unk4 = VECMag(&sp3C); + spB4[temp_r29].unk0 = temp_r30; + temp_r29++; + } + if(temp_r29 == 0) { + break; + } + for(temp_r30=0; temp_r30 spB4[temp_r27].unk4) { + spB4[3] = spB4[temp_r30]; + spB4[temp_r30] = spB4[temp_r27]; + spB4[temp_r27] = spB4[3]; + } + } + } + for(temp_r30=0; temp_r30 50.0) { + sp14[spB4[temp_r30].unk0] = 1; + VECSubtract(&temp_r24[spB4[temp_r30].unk0]->trans, &arg0->trans, &sp3C); + temp_f28 = VECMag(&sp3C); + if(0.0f != temp_f28) { + VECNormalize(&sp3C, &sp3C); + temp_f31 = 100.0/temp_f28; + if(temp_f31 < 0.0f) { + temp_f31 = 0.0f; + } else if(temp_f31 > 1.0f) { + temp_f31 = 1.0f; + } + temp_f29 = asinf(temp_f31); + MTXRotRad(sp84, 'Y', -temp_f29); + MTXMultVec(sp84, &sp3C, &sp30); + sp6C.x = arg0->trans.x+(sp30.x*temp_f30); + sp6C.y = arg0->trans.y+(sp30.y*temp_f30); + sp6C.z = arg0->trans.z+(sp30.z*temp_f30); + VECSubtract(&sp54, &sp6C, &sp30); + spC[0] = VECMag(&sp30); + MTXRotRad(sp84, 'Y', temp_f29); + MTXMultVec(sp84, &sp3C, &sp30); + sp78.x = arg0->trans.x+(sp30.x*temp_f30); + sp78.y = arg0->trans.y+(sp30.y*temp_f30); + sp78.z = arg0->trans.z+(sp30.z*temp_f30); + VECSubtract(&sp54, &sp78, &sp30); + spC[1] = VECMag(&sp30); + if(spC[0] < spC[1]) { + sp54 = sp6C; + } else { + sp54 = sp78; + } + temp_r23 = 1; + break; + } + } + } + if(temp_r30 >= temp_r29) { + break; + } + VECSubtract(&sp54, &arg0->trans, &sp48); + } + arg2->x = sp54.x; + arg2->y = sp54.y; + arg2->z = sp54.z; + return temp_r23; } float fn_1_5D78(float arg8, float arg9, float argA, float argB, float argC, float argD, float argE); void fn_1_5C34(omObjData *object) { - float temp_f31; - omObjData *temp_r31; - Bss930Work4C *temp_r30; - Bss930Work *temp_r28; - Bss930Work *temp_r27; - temp_r31 = lbl_1_bss_930[0][0]; - temp_r27 = object->data; - temp_r28 = temp_r31->data; - temp_r30 = temp_r27->unk4C; - if (temp_r28->unk46 > 0 || !temp_r30->field_0_bit0) { - return; - } - temp_f31 = fn_1_5D78(object->trans.x, object->trans.z, temp_r30->unk4, temp_r30->unkC, temp_r31->trans.x, temp_r31->trans.z, 50.0f); - if (temp_f31 >= 0.0f && temp_f31 < 1.0f) { - temp_r28->field_0_bit0 = 1; - } + float temp_f31; + omObjData *temp_r31; + Bss930Work4C *temp_r30; + Bss930Work *temp_r28; + Bss930Work *temp_r27; + temp_r31 = lbl_1_bss_930[0][0]; + temp_r27 = object->data; + temp_r28 = temp_r31->data; + temp_r30 = temp_r27->unk4C; + if(temp_r28->unk46 > 0 || !temp_r30->field_0_bit0) { + return; + } + temp_f31 = fn_1_5D78(object->trans.x, object->trans.z, temp_r30->unk4, temp_r30->unkC, temp_r31->trans.x, temp_r31->trans.z, 50.0f); + if(temp_f31 >= 0.0f && temp_f31 < 1.0f) { + temp_r28->field_0_bit0 = 1; + } } void fn_1_5D18(omObjData *object) { - Bss930Work *temp_r31; - temp_r31 = object->data; - CharModelKill(temp_r31->unk0C); - if (temp_r31->unk4C != NULL) { - HuMemDirectFree(temp_r31->unk4C); - } - HuMemDirectFree(temp_r31); - temp_r31 = NULL; + Bss930Work *temp_r31; + temp_r31 = object->data; + CharModelKill(temp_r31->unk0C); + if(temp_r31->unk4C != NULL) { + HuMemDirectFree(temp_r31->unk4C); + } + HuMemDirectFree(temp_r31); + temp_r31 = NULL; } float fn_1_5D78(float arg8, float arg9, float argA, float argB, float argC, float argD, float argE) { - float spC; - float temp_f30; - float temp_f29; - float temp_f28; - float temp_f27; - float temp_f26; - float temp_f25; - temp_f26 = (arg9 * arg9) + (((argB * argB) + ((arg8 * arg8) + ((argA * argA) - (2.0f * arg8 * argA)))) - (2.0f * arg9 * argB)); - temp_f27 = 2.0f - * (((arg9 * argD) + (((arg9 * argB) + (((arg8 * argC) + ((arg8 * argA) - (argA * argC))) - (arg8 * arg8))) - (argB * argD))) - (arg9 * arg9)); + float spC; + float temp_f30; + float temp_f29; + float temp_f28; + float temp_f27; + float temp_f26; + float temp_f25; + temp_f26 = (arg9 * arg9) + (((argB * argB) + ((arg8 * arg8) + ((argA * argA) - (2.0f * arg8 * argA)))) - (2.0f * arg9 * argB)); + temp_f27 = 2.0f * (((arg9 * argD) + (((arg9 * argB) + (((arg8 * argC) + ((arg8 * argA) - (argA * argC))) - (arg8 * arg8))) - (argB * argD))) - (arg9 * arg9)); temp_f25 = ((argD * argD) + (((arg9 * arg9) + ((argC * argC) + ((arg8 * arg8) - (2.0f * arg8 * argC)))) - (2.0f * arg9 * argD))) - (argE * argE); - if (0.0f == temp_f26) { - if (0.0f != temp_f27) { - return -temp_f25 / temp_f27; - } - else { - return -1; - } - } - else { - temp_f30 = (temp_f27 * temp_f27) - (4.0f * temp_f26 * temp_f25); - if (temp_f30 < 0.0) { - return -1; - } - temp_f30 = sqrtf(temp_f30); - temp_f29 = (-temp_f27 + temp_f30) / (2.0f * temp_f26); - temp_f28 = (-temp_f27 - temp_f30) / (2.0f * temp_f26); - if (temp_f29 < temp_f28) { - if (temp_f29 >= 0.0f && temp_f29 < 1.0f) { - return temp_f29; - } - else { - if (temp_f28 >= 0.0f && temp_f28 < 1.0f) { - return temp_f28; - } - } - } - else { - if (temp_f28 >= 0.0f && temp_f28 < 1.0f) { - return temp_f28; - } - else { - if (temp_f29 >= 0.0f && temp_f29 < 1.0f) { - return temp_f29; - } - } - } - return -1; - } + if(0.0f == temp_f26) { + if(0.0f != temp_f27) { + return -temp_f25/temp_f27; + } else { + return -1; + } + } else { + temp_f30 = (temp_f27 * temp_f27) - (4.0f * temp_f26 * temp_f25); + if(temp_f30 < 0.0) { + return -1; + } + temp_f30 = sqrtf(temp_f30); + temp_f29 = (-temp_f27 + temp_f30) / (2.0f * temp_f26); + temp_f28 = (-temp_f27 - temp_f30) / (2.0f * temp_f26); + if(temp_f29 < temp_f28) { + if(temp_f29 >= 0.0f && temp_f29 < 1.0f) { + return temp_f29; + } else { + if(temp_f28 >= 0.0f && temp_f28 < 1.0f) { + return temp_f28; + } + } + } else { + if(temp_f28 >= 0.0f && temp_f28 < 1.0f) { + return temp_f28; + } else { + if(temp_f29 >= 0.0f && temp_f29 < 1.0f) { + return temp_f29; + } + } + } + return -1; + } } void fn_1_613C(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - HsfanimStruct01 *temp_r31; - s32 temp_r29; - - if (!particle->unk_00) { - particle->unk_00 = 1; - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r31++, temp_r29++) { - temp_r31->unk08.x = (4.0f * ((1.0f / 256.0f) * frand8())) + 8; - temp_r31->unk34.x = (4.0f * (((1.0f / 256.0f) * ((s32)frand() & 0x1FF)) - 1)); - temp_r31->unk34.y = (64.0f * ((1.0f / 256.0f) * frand8())); - temp_r31->unk34.z = (4.0f * (((1.0f / 256.0f) * ((s32)frand() & 0x1FF)) - 1)); - temp_r31->unk30 = 360.0f * ((1.0f / 256.0f) * frand8()); - temp_r31->unk00 = frand8(); - temp_r31->unk02 = (frand() & 0x3) + 4; - } - temp_f29 = temp_f28 = 0; - } - else { - temp_f29 = (particle->unk_04.x - model->pos.x); - temp_f28 = (particle->unk_04.z - model->pos.z); - } - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r31++, temp_r29++) { - temp_f30 = temp_r31->unk00 / 255.0f; - temp_f31 = temp_f30 * temp_f30; - temp_r31->unk34.x += temp_f29 * temp_f31; - temp_r31->unk34.y = 60.0f * temp_f30; - temp_r31->unk34.z += temp_f28 * temp_f31; - temp_r31->unk40.a = 255.0f * (1.0f - temp_f30); - temp_f31 = 0.5 * (1 + sind(270.0f * temp_f30)); - temp_r31->unk2C = temp_f31 * (temp_r31->unk08.x * temp_f31); - temp_r31->unk00 += temp_r31->unk02; - if (temp_r31->unk00 > 255) { - temp_r31->unk34.x = (4.0f * (((1.0f / 256.0f) * ((s32)frand() & 0x1FF)) - 1)); - temp_r31->unk34.y = 0; - temp_r31->unk34.z = (4.0f * (((1.0f / 256.0f) * ((s32)frand() & 0x1FF)) - 1)); - temp_r31->unk00 = 0; - } - } - DCStoreRangeNoSync(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); - particle->unk_04.x = model->pos.x; - particle->unk_04.z = model->pos.z; + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + HsfanimStruct01 *temp_r31; + s32 temp_r29; + + if(!particle->unk_00) { + particle->unk_00 = 1; + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r31++, temp_r29++) { + temp_r31->unk08.x = (4.0f*((1.0f/256.0f)*frand8()))+8; + temp_r31->unk34.x = (4.0f*(((1.0f/256.0f)*((s32)frand() & 0x1FF))-1)); + temp_r31->unk34.y = (64.0f*((1.0f/256.0f)*frand8())); + temp_r31->unk34.z = (4.0f*(((1.0f/256.0f)*((s32)frand() & 0x1FF))-1)); + temp_r31->unk30 = 360.0f*((1.0f/256.0f)*frand8()); + temp_r31->unk00_s16 = frand8(); + temp_r31->unk02 = (frand() & 0x3)+4; + } + temp_f29 = temp_f28 = 0; + } else { + temp_f29 = (particle->unk_04.x-model->pos.x); + temp_f28 = (particle->unk_04.z-model->pos.z); + } + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r31++, temp_r29++) { + temp_f30 = temp_r31->unk00_s16/255.0f; + temp_f31 = temp_f30*temp_f30; + temp_r31->unk34.x += temp_f29*temp_f31; + temp_r31->unk34.y = 60.0f*temp_f30; + temp_r31->unk34.z += temp_f28*temp_f31; + temp_r31->unk40.a = 255.0f*(1.0f-temp_f30); + temp_f31 = 0.5*(1+sind(270.0f*temp_f30)); + temp_r31->unk2C = temp_f31*(temp_r31->unk08.x*temp_f31); + temp_r31->unk00_s16 += temp_r31->unk02; + if(temp_r31->unk00_s16 > 255) { + temp_r31->unk34.x = (4.0f*(((1.0f/256.0f)*((s32)frand() & 0x1FF))-1)); + temp_r31->unk34.y = 0; + temp_r31->unk34.z = (4.0f*(((1.0f/256.0f)*((s32)frand() & 0x1FF))-1)); + temp_r31->unk00_s16 = 0; + } + } + DCStoreRangeNoSync(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); + particle->unk_04.x = model->pos.x; + particle->unk_04.z = model->pos.z; } void fn_1_6640(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - HsfanimStruct01 *temp_r31; - s32 temp_r28; - s32 temp_r27; - GXColor sp8 = { 0, 0, 0, 255 }; - if (!particle->unk_00) { - particle->unk_00 = 1; - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r31++, temp_r28++) { - temp_r31->unk2C = 15; - temp_r31->unk34.x = temp_r31->unk34.y = temp_r31->unk34.z = 0; - temp_f31 = particle->unk_10.x + (10.0f * (((1.0f / 256.0f) * ((s32)frand() & 0x1FF)) - 1.0f)); - temp_f30 = 100.0f * (0.1f * ((1.0f / 256.0f) * ((s32)frand() & 0xFF))) + 10; - temp_r31->unk08.x = temp_f30 * sind(temp_f31); - temp_r31->unk08.y = 100.0f * (0.02f * (((1.0f / 256.0f) * ((s32)frand() & 0x1FF)) - 1.0f)); - temp_r31->unk08.z = temp_f30 * cosd(temp_f31); - temp_r31->unk40.r = temp_r31->unk40.g = temp_r31->unk40.b = 255; - temp_r31->unk40.a = 0; - temp_r31->unk00 = ((float)particle->unk_3C) * ((float)temp_r28 / (float)particle->unk_30); - } - } - else { - temp_f29 = (particle->unk_04.x - model->pos.x); - temp_f28 = (particle->unk_04.z - model->pos.z); - } - temp_r27 = 0; - temp_r31 = particle->unk_48; - for (temp_r28 = 0; temp_r28 < particle->unk_30; temp_r31++, temp_r28++) { - if (temp_r31->unk00 >= 0) { - if (temp_r31->unk00 == 0) { - temp_r31->unk34.x += temp_r31->unk08.x + temp_f29; - temp_r31->unk34.y += temp_r31->unk08.y; - temp_r31->unk34.z += temp_r31->unk08.z + temp_f28; - temp_r31->unk08.y += -1.0000001f; - if (temp_r31->unk40.a) { - if (--temp_r31->unk40.a == 0) { - temp_r31->unk00 = -1; - } - } - if (temp_r31->unk34.y < 0.0f) { - temp_r31->unk34.y = 0; - temp_r31->unk00 = -1; - temp_r31->unk40.a = 0; - } - } - else { - if (--temp_r31->unk00 == 0) { - temp_r31->unk40.a = 255; - } - } - } - else { - temp_r27++; - } - } - if (temp_r27 == particle->unk_30) { - model->attr |= 0x1; - } - DCStoreRangeNoSync(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); - particle->unk_04.x = model->pos.x; - particle->unk_04.z = model->pos.z; + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + HsfanimStruct01 *temp_r31; + s32 temp_r28; + s32 temp_r27; + GXColor sp8 = { 0, 0, 0, 255 }; + if(!particle->unk_00) { + particle->unk_00 = 1; + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r31++, temp_r28++) { + temp_r31->unk2C = 15; + temp_r31->unk34.x = temp_r31->unk34.y = temp_r31->unk34.z = 0; + temp_f31 = particle->unk_10.x+(10.0f*(((1.0f/256.0f)*((s32)frand() & 0x1FF))-1.0f)); + temp_f30 = 100.0f*(0.1f*((1.0f/256.0f)*((s32)frand() & 0xFF)))+10; + temp_r31->unk08.x = temp_f30*sind(temp_f31); + temp_r31->unk08.y = 100.0f*(0.02f*(((1.0f/256.0f)*((s32)frand() & 0x1FF))-1.0f)); + temp_r31->unk08.z = temp_f30*cosd(temp_f31); + temp_r31->unk40.r = temp_r31->unk40.g = temp_r31->unk40.b = 255; + temp_r31->unk40.a = 0; + temp_r31->unk00_s16 = ((float)particle->unk_3C)*((float)temp_r28/(float)particle->unk_30); + } + } else { + temp_f29 = (particle->unk_04.x-model->pos.x); + temp_f28 = (particle->unk_04.z-model->pos.z); + } + temp_r27 = 0; + temp_r31 = particle->unk_48; + for(temp_r28=0; temp_r28unk_30; temp_r31++, temp_r28++) { + if(temp_r31->unk00_s16 >= 0) { + if(temp_r31->unk00_s16 == 0) { + temp_r31->unk34.x += temp_r31->unk08.x+temp_f29; + temp_r31->unk34.y += temp_r31->unk08.y; + temp_r31->unk34.z += temp_r31->unk08.z+temp_f28; + temp_r31->unk08.y += -1.0000001f; + if(temp_r31->unk40.a) { + if(--temp_r31->unk40.a == 0) { + temp_r31->unk00_s16 = -1; + } + } + if(temp_r31->unk34.y < 0.0f) { + temp_r31->unk34.y = 0; + temp_r31->unk00_s16 = -1; + temp_r31->unk40.a = 0; + } + } else { + if(--temp_r31->unk00_s16 == 0) { + temp_r31->unk40.a = 255; + } + } + } else { + temp_r27++; + } + } + if(temp_r27 == particle->unk_30) { + model->attr |= 0x1; + } + DCStoreRangeNoSync(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); + particle->unk_04.x = model->pos.x; + particle->unk_04.z = model->pos.z; } void fn_1_6AE8(ModelData *model, ParticleData *particle, Mtx matrix) { - HsfanimStruct01 *temp_r31; - s32 temp_r29; - s16 temp_r28; - s32 temp_r27; // ! - uninitialized - - if (!particle->unk_00) { - particle->unk_00 = 1; - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r31++, temp_r29++) { - temp_r31->unk2C = 50; - temp_r31->unk34.x = 0; - temp_r31->unk34.y = 0; - temp_r31->unk34.z = 0; - temp_r31->unk08.x = 100.0f * (0.05f * (((1.0f / 256.0f) * ((s32)frand() & 0x1FF)) - 1.0f)); - temp_r31->unk08.y = 100.0f * (0.05f * (((1.0f / 256.0f) * ((s32)frand() & 0x1FF)) - 1.0f)); - temp_r31->unk08.z = 100.0f * (0.05f * (((1.0f / 256.0f) * ((s32)frand() & 0x1FF)) - 1.0f)); - temp_r31->unk40.a = 128; - temp_r31->unk00 = 0; - } - } - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - if (temp_r31->unk00 < 0) { - temp_r27++; - continue; - } - temp_r31->unk34.x += temp_r31->unk08.x; - temp_r31->unk34.y += temp_r31->unk08.y; - temp_r31->unk34.z += temp_r31->unk08.z; - temp_r31->unk08.x *= 0.92f; - temp_r31->unk08.y *= 0.92f; - temp_r31->unk08.z *= 0.92f; - temp_r28 = temp_r31->unk40.a; - temp_r28 -= 4; - if (temp_r28 < 0) { - temp_r31->unk00 = -1; - temp_r28 = 0; - } - temp_r31->unk40.a = temp_r28; - } - if (temp_r27 == particle->unk_30) { - model->attr |= 0x1; - } - DCStoreRangeNoSync(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); + HsfanimStruct01 *temp_r31; + s32 temp_r29; + s16 temp_r28; + s32 temp_r27; // ! - uninitialized + + if(!particle->unk_00) { + particle->unk_00 = 1; + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r31++, temp_r29++) { + temp_r31->unk2C = 50; + temp_r31->unk34.x = 0; + temp_r31->unk34.y = 0; + temp_r31->unk34.z = 0; + temp_r31->unk08.x = 100.0f*(0.05f*(((1.0f/256.0f)*((s32)frand() & 0x1FF))-1.0f)); + temp_r31->unk08.y = 100.0f*(0.05f*(((1.0f/256.0f)*((s32)frand() & 0x1FF))-1.0f)); + temp_r31->unk08.z = 100.0f*(0.05f*(((1.0f/256.0f)*((s32)frand() & 0x1FF))-1.0f)); + temp_r31->unk40.a = 128; + temp_r31->unk00_s16 = 0; + } + } + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(temp_r31->unk00_s16 < 0) { + temp_r27++; + continue; + } + temp_r31->unk34.x += temp_r31->unk08.x; + temp_r31->unk34.y += temp_r31->unk08.y; + temp_r31->unk34.z += temp_r31->unk08.z; + temp_r31->unk08.x *= 0.92f; + temp_r31->unk08.y *= 0.92f; + temp_r31->unk08.z *= 0.92f; + temp_r28 = temp_r31->unk40.a; + temp_r28 -= 4; + if(temp_r28 < 0) { + temp_r31->unk00_s16 = -1; + temp_r28 = 0; + } + temp_r31->unk40.a = temp_r28; + } + if(temp_r27 == particle->unk_30) { + model->attr |= 0x1; + } + DCStoreRangeNoSync(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); } void fn_1_6DEC(s16 arg0, u32 arg1) { - HsfData *temp_r31; - HsfMaterial *temp_r30; - s32 temp_r29; - ModelData *temp_r28; - temp_r28 = &Hu3DData[arg0]; - temp_r31 = temp_r28->hsfData; - temp_r30 = temp_r31->material; - for (temp_r29 = 0; temp_r29 < temp_r31->materialCnt; temp_r29++, temp_r30++) { - temp_r30->flags |= arg1; - } + HsfData *temp_r31; + HsfMaterial *temp_r30; + s32 temp_r29; + ModelData *temp_r28; + temp_r28 = &Hu3DData[arg0]; + temp_r31 = temp_r28->hsfData; + temp_r30 = temp_r31->material; + for(temp_r29=0; temp_r29materialCnt; temp_r29++, temp_r30++) { + temp_r30->flags |= arg1; + } + } void fn_1_709C(s32 arg0, s32 arg1, float arg2); @@ -1777,61 +1784,61 @@ void fn_1_72EC(omObjData *object); void fn_1_6E5C(omObjData *object) { - Vec sp14; - Vec sp8; - - fn_1_709C(0, 0, 0); - sp14.x = (((sind(CRot.y) * cosd(CRot.x)) * CZoom) + Center.x); - sp14.y = (-sind(CRot.x) * CZoom) + Center.y; - sp14.z = ((cosd(CRot.y) * cosd(CRot.x)) * CZoom) + Center.z; - VECSubtract(&Center, &sp14, &sp8); - VECNormalize(&sp8, &sp8); - HuAudFXListnerSetEX(&sp14, &sp8, 10000, 566.6667, 0, 300, 300); - object->func = fn_1_72EC; + Vec sp14; + Vec sp8; + + fn_1_709C(0, 0, 0); + sp14.x = (((sind(CRot.y)*cosd(CRot.x))*CZoom)+Center.x); + sp14.y = (-sind(CRot.x)*CZoom)+Center.y; + sp14.z = ((cosd(CRot.y)*cosd(CRot.x))*CZoom)+Center.z; + VECSubtract(&Center, &sp14, &sp8); + VECNormalize(&sp8, &sp8); + HuAudFXListnerSetEX(&sp14, &sp8, 10000, 566.6667, 0, 300, 300); + object->func = fn_1_72EC; } void fn_1_709C(s32 arg0, s32 arg1, float arg2) { - CZoom = lbl_1_data_0[arg0].zoom + (arg2 * (lbl_1_data_0[arg1].zoom - lbl_1_data_0[arg0].zoom)); - Center.x = lbl_1_data_0[arg0].pos.x + (arg2 * (lbl_1_data_0[arg1].pos.x - lbl_1_data_0[arg0].pos.x)); - Center.y = lbl_1_data_0[arg0].pos.y + (arg2 * (lbl_1_data_0[arg1].pos.y - lbl_1_data_0[arg0].pos.y)); - Center.z = lbl_1_data_0[arg0].pos.z + (arg2 * (lbl_1_data_0[arg1].pos.z - lbl_1_data_0[arg0].pos.z)); - CRot.x = lbl_1_data_0[arg0].rot.x + (arg2 * (lbl_1_data_0[arg1].rot.x - lbl_1_data_0[arg0].rot.x)); - CRot.y = lbl_1_data_0[arg0].rot.y + (arg2 * (lbl_1_data_0[arg1].rot.y - lbl_1_data_0[arg0].rot.y)); - CRot.z = lbl_1_data_0[arg0].rot.z + (arg2 * (lbl_1_data_0[arg1].rot.z - lbl_1_data_0[arg0].rot.z)); + CZoom = lbl_1_data_0[arg0].zoom+(arg2*(lbl_1_data_0[arg1].zoom-lbl_1_data_0[arg0].zoom)); + Center.x = lbl_1_data_0[arg0].pos.x+(arg2*(lbl_1_data_0[arg1].pos.x-lbl_1_data_0[arg0].pos.x)); + Center.y = lbl_1_data_0[arg0].pos.y+(arg2*(lbl_1_data_0[arg1].pos.y-lbl_1_data_0[arg0].pos.y)); + Center.z = lbl_1_data_0[arg0].pos.z+(arg2*(lbl_1_data_0[arg1].pos.z-lbl_1_data_0[arg0].pos.z)); + CRot.x = lbl_1_data_0[arg0].rot.x+(arg2*(lbl_1_data_0[arg1].rot.x-lbl_1_data_0[arg0].rot.x)); + CRot.y = lbl_1_data_0[arg0].rot.y+(arg2*(lbl_1_data_0[arg1].rot.y-lbl_1_data_0[arg0].rot.y)); + CRot.z = lbl_1_data_0[arg0].rot.z+(arg2*(lbl_1_data_0[arg1].rot.z-lbl_1_data_0[arg0].rot.z)); } float lbl_1_data_260[2] = { 0, 0 }; void fn_1_72EC(omObjData *object) { - Vec sp14; - Vec sp8; - switch (fn_1_1240()) { - case 2: - fn_1_709C(0, 1, sind(90.0f * lbl_1_data_260[0])); - if (lbl_1_data_260[0] < 1.0f) { - lbl_1_data_260[0] += 5.0f / 240.0f; - if (lbl_1_data_260[0] > 1.0f) { - lbl_1_data_260[0] = 1.0f; - } - } - break; - - case 5: - fn_1_709C(1, 0, sind(90.0f * lbl_1_data_260[1])); - if (lbl_1_data_260[1] < 1.0f) { - lbl_1_data_260[1] += 10.0f / 360.0f; - if (lbl_1_data_260[1] > 1.0f) { - lbl_1_data_260[1] = 1.0f; - } - } - break; - } - sp14.x = (((sind(CRot.y) * cosd(CRot.x)) * CZoom) + Center.x); - sp14.y = (-sind(CRot.x) * CZoom) + Center.y; - sp14.z = ((cosd(CRot.y) * cosd(CRot.x)) * CZoom) + Center.z; - VECSubtract(&Center, &sp14, &sp8); - VECNormalize(&sp8, &sp8); - HuAudFXListnerUpdate(&sp14, &sp8); + Vec sp14; + Vec sp8; + switch(fn_1_1240()) { + case 2: + fn_1_709C(0, 1, sind(90.0f*lbl_1_data_260[0])); + if(lbl_1_data_260[0] < 1.0f) { + lbl_1_data_260[0] += 5.0f/240.0f; + if(lbl_1_data_260[0] > 1.0f) { + lbl_1_data_260[0] = 1.0f; + } + } + break; + + case 5: + fn_1_709C(1, 0, sind(90.0f*lbl_1_data_260[1])); + if(lbl_1_data_260[1] < 1.0f) { + lbl_1_data_260[1] += 10.0f/360.0f; + if(lbl_1_data_260[1] > 1.0f) { + lbl_1_data_260[1] = 1.0f; + } + } + break; + } + sp14.x = (((sind(CRot.y)*cosd(CRot.x))*CZoom)+Center.x); + sp14.y = (-sind(CRot.x)*CZoom)+Center.y; + sp14.z = ((cosd(CRot.y)*cosd(CRot.x))*CZoom)+Center.z; + VECSubtract(&Center, &sp14, &sp8); + VECNormalize(&sp8, &sp8); + HuAudFXListnerUpdate(&sp14, &sp8); } diff --git a/src/REL/m416Dll/map.c b/src/REL/m416Dll/map.c index ea6a46bd..76dd799c 100644 --- a/src/REL/m416Dll/map.c +++ b/src/REL/m416Dll/map.c @@ -1,35 +1,40 @@ -#include "game/audio.h" -#include "game/chrman.h" -#include "game/frand.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" #include "game/object.h" #include "game/objsub.h" -#include "game/pad.h" -#include "game/sprite.h" +#include "game/hsfman.h" +#include "game/hsfanim.h" +#include "game/hsfmotion.h" +#include "game/audio.h" #include "game/wipe.h" +#include "game/sprite.h" +#include "game/chrman.h" +#include "game/pad.h" +#include "game/gamework_data.h" +#include "game/minigame_seq.h" +#include "game/frand.h" -#include "ext_math.h" #include "math.h" +#include "ext_math.h" #include "REL/m416Dll.h" GXColor lbl_1_data_268 = { 0, 0, 0, 255 }; Vec lbl_1_data_26C[8] = { - { 70, 0, 70 }, - { 70, 0, -70 }, - { -70, 0, -70 }, - { -70, 0, 70 }, - { 70, 0, 70 }, - { 70, 0, -70 }, - { -70, 0, -70 }, - { -70, 0, 70 }, + { 70, 0, 70 }, + { 70, 0, -70 }, + { -70, 0, -70 }, + { -70, 0, 70 }, + { 70, 0, 70 }, + { 70, 0, -70 }, + { -70, 0, -70 }, + { -70, 0, 70 }, +}; +Vec lbl_1_data_2CC[2] = { + { 370, 615, -245 }, + { -370, 615, -245 } +}; +float lbl_1_data_2E4[2] = { + 0, 1 }; -Vec lbl_1_data_2CC[2] = { { 370, 615, -245 }, { -370, 615, -245 } }; -float lbl_1_data_2E4[2] = { 0, 1 }; omObjData *lbl_1_bss_118C; omObjData *lbl_1_bss_1188; @@ -53,272 +58,274 @@ void fn_1_8FF0(void); void fn_1_79D0(Process *objman) { - lbl_1_bss_118C = omAddObjEx(objman, 20, 2, 0, -1, fn_1_7A74); - lbl_1_bss_1188 = omAddObjEx(objman, 20, 10, 0, -1, fn_1_7F30); - fn_1_8EA0(); + lbl_1_bss_118C = omAddObjEx(objman, 20, 2, 0, -1, fn_1_7A74); + lbl_1_bss_1188 = omAddObjEx(objman, 20, 10, 0, -1, fn_1_7F30); + fn_1_8EA0(); } void fn_1_7A54(void) { - fn_1_8FF0(); + fn_1_8FF0(); } void fn_1_7A74(omObjData *object) { - s16 i; - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M416, 0x00)); - Hu3DModelShadowMapSet(object->model[0]); - Hu3DModelLayerSet(object->model[0], 0); - object->trans.x = 0; - object->trans.y = 0; - object->trans.z = 0; - fn_1_8EB4(object->model[0]); - for (i = 0; i < 2; i++) { - lbl_1_bss_1174[i + 2] = Hu3DLLightCreate(object->model[0], 0, 0, 0, 0, 0, 0, 0, 0, 0); - Hu3DLLightStaticSet(object->model[0], lbl_1_bss_1174[i + 2], 1); - Hu3DLLightPointSet(object->model[0], lbl_1_bss_1174[i + 2], 45, 0.8, 3); - Hu3DLLightColorSet(object->model[0], lbl_1_bss_1174[i + 2], 255, 160, 0, 255); - Hu3DLLightPosSet(object->model[0], lbl_1_bss_1174[i + 2], lbl_1_data_2CC[i].x, 475, lbl_1_data_2CC[i].z, 0, 1, 0); - } - object->model[1] = Hu3DHookFuncCreate(fn_1_89BC); - Hu3DModelLayerSet(object->model[1], 1); - lbl_1_bss_1184 = GXGetTexBufferSize(640, 480, GX_TF_RGBA8, GX_FALSE, 0); - lbl_1_bss_1180 = HuMemDirectMallocNum(HEAP_DATA, lbl_1_bss_1184, MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_1180, 0, lbl_1_bss_1184); - object->func = fn_1_7D74; + s16 i; + object->model[0] = Hu3DModelCreateFile(0x2F0000); + Hu3DModelShadowMapSet(object->model[0]); + Hu3DModelLayerSet(object->model[0], 0); + object->trans.x = 0; + object->trans.y = 0; + object->trans.z = 0; + fn_1_8EB4(object->model[0]); + for(i=0; i<2; i++) { + lbl_1_bss_1174[i+2] = Hu3DLLightCreate(object->model[0], 0, 0, 0, 0, 0, 0, 0, 0, 0); + Hu3DLLightStaticSet(object->model[0], lbl_1_bss_1174[i+2], 1); + Hu3DLLightPointSet(object->model[0], lbl_1_bss_1174[i+2], 45, 0.8, 3); + Hu3DLLightColorSet(object->model[0], lbl_1_bss_1174[i+2], 255, 160, 0, 255); + Hu3DLLightPosSet(object->model[0], lbl_1_bss_1174[i+2], lbl_1_data_2CC[i].x, 475, lbl_1_data_2CC[i].z, 0, 1, 0); + } + object->model[1] = Hu3DHookFuncCreate(fn_1_89BC); + Hu3DModelLayerSet(object->model[1], 1); + lbl_1_bss_1184 = GXGetTexBufferSize(640, 480, GX_TF_RGBA8, GX_FALSE, 0); + lbl_1_bss_1180 = HuMemDirectMallocNum(HEAP_DATA, lbl_1_bss_1184, MEMORY_DEFAULT_NUM); + memset(lbl_1_bss_1180, 0, lbl_1_bss_1184); + object->func = fn_1_7D74; } void fn_1_7D74(omObjData *object) { - s32 i; - for (i = 0; i < 2; i++) { - Hu3DLLightPointSet(object->model[0], lbl_1_bss_1174[i + 2], (15 * sind(object->work[i])) + 45, 0.8, 3); - object->work[i] += 8.0f; - if (object->work[i] > 360.0f) { - object->work[i] -= 360.0f; - } - } + s32 i; + for(i=0; i<2; i++) { + Hu3DLLightPointSet(object->model[0], lbl_1_bss_1174[i+2], (15*sind(object->work[i]))+45, 0.8, 3); + object->work[i] += 8.0f; + if(object->work[i] > 360.0f) { + object->work[i] -= 360.0f; + } + } } void fn_1_7F30(omObjData *object) { - Mtx sp68; - Mtx sp38; - Mtx sp8; - s32 temp_r30; - Vec *temp_r29; - s32 temp_r28; - s32 temp_r27; - s16 temp_r26; - s16 temp_r25; - s16 temp_r24; - AnimData *temp_r23; - object->stat |= 0x100; - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - if (temp_r30 == 0) { - temp_r25 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M416, 0x01)); - temp_r26 = temp_r25; - } - else { - temp_r24 = Hu3DModelLink(temp_r25); - temp_r26 = temp_r24; - } - object->model[temp_r30] = temp_r26; - Hu3DModelLayerSet(temp_r26, 2); - fn_1_8EB4(object->model[temp_r30]); - Hu3DModelPosSet(object->model[temp_r30], lbl_1_data_2CC[temp_r30].x, lbl_1_data_2CC[temp_r30].y, lbl_1_data_2CC[temp_r30].z); - } - temp_r23 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M416, 0x06)); - temp_r29 = &lbl_1_data_26C[0]; - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - for (temp_r27 = 0; temp_r27 < 4; temp_r27++, temp_r29++) { - temp_r28 = (temp_r30 * 4) + 2; - temp_r28 = temp_r27 + temp_r28; - object->model[temp_r28] = Hu3DParticleCreate(temp_r23, 50); - Hu3DParticleHookSet(object->model[temp_r28], fn_1_613C); - Hu3DParticleBlendModeSet(object->model[temp_r28], 1); - Hu3DModelLayerSet(object->model[temp_r28], 6); - Hu3DModelScaleSet(object->model[temp_r28], 0.5f, 0.7f, 0.5f); - MTXTrans(sp68, lbl_1_data_2CC[temp_r30].x, lbl_1_data_2CC[temp_r30].y, lbl_1_data_2CC[temp_r30].z); - MTXTrans(sp38, 0, -150, 0); - MTXConcat(sp68, sp38, sp68); - MTXTrans(sp8, temp_r29->x, temp_r29->y, temp_r29->z); - MTXConcat(sp68, sp8, sp68); - Hu3DModelPosSet(object->model[temp_r28], sp68[0][3], sp68[1][3], sp68[2][3]); - } - } - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - lbl_1_bss_1174[temp_r30] = Hu3DLLightCreate(object->model[temp_r30], 0, 0, 0, 0, 0, 0, 0, 0, 0); - Hu3DLLightStaticSet(object->model[temp_r30], lbl_1_bss_1174[temp_r30], 1); - Hu3DLLightPointSet(object->model[temp_r30], lbl_1_bss_1174[temp_r30], 1000, 0.8, 3); - Hu3DLLightColorSet(object->model[temp_r30], lbl_1_bss_1174[temp_r30], 255, 160, 0, 255); - Hu3DLLightPosSet(object->model[temp_r30], lbl_1_bss_1174[temp_r30], lbl_1_data_2CC[temp_r30].x, 475, lbl_1_data_2CC[temp_r30].z, 0, 1, 0); - } - object->work[0] = 0; - object->work[1] = 45; - lbl_1_bss_117C = 0; - object->func = fn_1_83B4; + Mtx sp68; + Mtx sp38; + Mtx sp8; + s32 temp_r30; + Vec *temp_r29; + s32 temp_r28; + s32 temp_r27; + s16 temp_r26; + s16 temp_r25; + s16 temp_r24; + AnimData *temp_r23; + object->stat |= 0x100; + for(temp_r30=0; temp_r30<2; temp_r30++) { + if(temp_r30 == 0) { + temp_r25 = Hu3DModelCreateFile(0x2F0001); + temp_r26 = temp_r25; + } else { + temp_r24 = Hu3DModelLink(temp_r25); + temp_r26 = temp_r24; + } + object->model[temp_r30] = temp_r26; + Hu3DModelLayerSet(temp_r26, 2); + fn_1_8EB4(object->model[temp_r30]); + Hu3DModelPosSet(object->model[temp_r30], lbl_1_data_2CC[temp_r30].x, lbl_1_data_2CC[temp_r30].y, lbl_1_data_2CC[temp_r30].z); + } + temp_r23 = HuSprAnimReadFile(0x2F0006); + temp_r29 = &lbl_1_data_26C[0]; + for(temp_r30=0; temp_r30<2; temp_r30++) { + for(temp_r27=0; temp_r27<4; temp_r27++, temp_r29++) { + temp_r28 = (temp_r30*4)+2; + temp_r28 = temp_r27+temp_r28; + object->model[temp_r28] = Hu3DParticleCreate(temp_r23, 50); + Hu3DParticleHookSet(object->model[temp_r28], fn_1_613C); + Hu3DParticleBlendModeSet(object->model[temp_r28], 1); + Hu3DModelLayerSet(object->model[temp_r28], 6); + Hu3DModelScaleSet(object->model[temp_r28], 0.5f, 0.7f, 0.5f); + MTXTrans(sp68, lbl_1_data_2CC[temp_r30].x, lbl_1_data_2CC[temp_r30].y, lbl_1_data_2CC[temp_r30].z); + MTXTrans(sp38, 0, -150, 0); + MTXConcat(sp68, sp38, sp68); + MTXTrans(sp8, temp_r29->x, temp_r29->y, temp_r29->z); + MTXConcat(sp68, sp8, sp68); + Hu3DModelPosSet(object->model[temp_r28], sp68[0][3], sp68[1][3], sp68[2][3]); + } + } + for(temp_r30=0; temp_r30<2; temp_r30++) { + lbl_1_bss_1174[temp_r30] = Hu3DLLightCreate(object->model[temp_r30], 0, 0, 0, 0, 0, 0, 0, 0, 0); + Hu3DLLightStaticSet(object->model[temp_r30], lbl_1_bss_1174[temp_r30], 1); + Hu3DLLightPointSet(object->model[temp_r30], lbl_1_bss_1174[temp_r30], 1000, 0.8, 3); + Hu3DLLightColorSet(object->model[temp_r30], lbl_1_bss_1174[temp_r30], 255, 160, 0, 255); + Hu3DLLightPosSet(object->model[temp_r30], lbl_1_bss_1174[temp_r30], lbl_1_data_2CC[temp_r30].x, 475, lbl_1_data_2CC[temp_r30].z, 0, 1, 0); + } + object->work[0] = 0; + object->work[1] = 45; + lbl_1_bss_117C = 0; + object->func = fn_1_83B4; } void fn_1_83B4(omObjData *object) { - float temp_f31; - - s32 temp_r31; - Vec *temp_r29; - s32 temp_r28; - s32 temp_r27; - ModelData *temp_r26; - - Mtx sp130[2]; - Mtx sp100; - Mtx spD0; - Mtx spA0; - Mtx sp70; - Mtx sp40; - Mtx sp10; - float sp8[2]; - MTXIdentity(sp100); - MTXIdentity(sp130[0]); - MTXIdentity(sp130[1]); - MTXIdentity(spD0); - MTXIdentity(spA0); - MTXIdentity(sp70); - MTXIdentity(sp40); - MTXIdentity(sp10); - lbl_1_bss_117C = fmod(1 + lbl_1_bss_117C, 360); - sp8[0] = 20 * sind(lbl_1_bss_117C); - sp8[1] = 20 * cosd(lbl_1_bss_117C); - if (fn_1_1240() == 6) { - for (temp_r31 = 0; temp_r31 < 2; temp_r31++) { - temp_f31 = sp8[temp_r31] - lbl_1_bss_116C[temp_r31]; - if (temp_f31 * lbl_1_data_2E4[temp_r31] <= 0.0f) { - temp_r26 = &Hu3DData[object->model[temp_r31]]; - HuAudFXEmiterPlay(1467, &temp_r26->pos); - } - lbl_1_data_2E4[temp_r31] = temp_f31; - } - } - lbl_1_bss_116C[0] = sp8[0]; - lbl_1_bss_116C[1] = sp8[1]; - temp_r29 = &lbl_1_data_26C[0]; - for (temp_r31 = 0; temp_r31 < 2; temp_r31++) { - MTXRotDeg(sp130[temp_r31], 'y', lbl_1_bss_116C[temp_r31]); - for (temp_r28 = 0; temp_r28 < 4; temp_r28++, temp_r29++) { - temp_r27 = (temp_r31 * 4) + 2; - temp_r27 = temp_r28 + temp_r27; - MTXTrans(spA0, lbl_1_data_2CC[temp_r31].x, lbl_1_data_2CC[temp_r31].y, lbl_1_data_2CC[temp_r31].z); - MTXTrans(sp70, 0, -150, 0); - MTXConcat(spA0, sp70, spA0); - MTXTrans(sp40, temp_r29->x, temp_r29->y, temp_r29->z); - MTXConcat(sp130[temp_r31], sp40, sp10); - MTXConcat(spA0, sp10, spA0); - Hu3DModelPosSet(object->model[temp_r27], spA0[0][3], spA0[1][3], spA0[2][3]); - } - } - Hu3DModelRotSet(object->model[0], 0, lbl_1_bss_116C[0], 0); - Hu3DModelRotSet(object->model[1], 0, lbl_1_bss_116C[1], 0); - for (temp_r31 = 0; temp_r31 < 2; temp_r31++) { - Hu3DLLightPointSet(object->model[temp_r31], lbl_1_bss_1174[temp_r31], (15 * sind(object->work[temp_r31])) + 45, 0.9, 3); - object->work[temp_r31] += 8.0f; - if (object->work[temp_r31] > 360.0f) { - object->work[temp_r31] -= 360.0f; - } - } + float temp_f31; + + s32 temp_r31; + Vec *temp_r29; + s32 temp_r28; + s32 temp_r27; + ModelData *temp_r26; + + Mtx sp130[2]; + Mtx sp100; + Mtx spD0; + Mtx spA0; + Mtx sp70; + Mtx sp40; + Mtx sp10; + float sp8[2]; + MTXIdentity(sp100); + MTXIdentity(sp130[0]); + MTXIdentity(sp130[1]); + MTXIdentity(spD0); + MTXIdentity(spA0); + MTXIdentity(sp70); + MTXIdentity(sp40); + MTXIdentity(sp10); + lbl_1_bss_117C = fmod(1+lbl_1_bss_117C, 360); + sp8[0] = 20*sind(lbl_1_bss_117C); + sp8[1] = 20*cosd(lbl_1_bss_117C); + if(fn_1_1240() == 6) { + for(temp_r31=0; temp_r31<2; temp_r31++) { + temp_f31 = sp8[temp_r31]-lbl_1_bss_116C[temp_r31]; + if(temp_f31*lbl_1_data_2E4[temp_r31] <= 0.0f) { + temp_r26 = &Hu3DData[object->model[temp_r31]]; + HuAudFXEmiterPlay(1467, &temp_r26->pos); + } + lbl_1_data_2E4[temp_r31] = temp_f31; + } + } + lbl_1_bss_116C[0] = sp8[0]; + lbl_1_bss_116C[1] = sp8[1]; + temp_r29 = &lbl_1_data_26C[0]; + for(temp_r31=0; temp_r31<2; temp_r31++) { + MTXRotDeg(sp130[temp_r31], 'y', lbl_1_bss_116C[temp_r31]); + for(temp_r28=0; temp_r28<4; temp_r28++, temp_r29++) { + temp_r27 = (temp_r31*4)+2; + temp_r27 = temp_r28+temp_r27; + MTXTrans(spA0, lbl_1_data_2CC[temp_r31].x, lbl_1_data_2CC[temp_r31].y, lbl_1_data_2CC[temp_r31].z); + MTXTrans(sp70, 0, -150, 0); + MTXConcat(spA0, sp70, spA0); + MTXTrans(sp40, temp_r29->x, temp_r29->y, temp_r29->z); + MTXConcat(sp130[temp_r31], sp40, sp10); + MTXConcat(spA0, sp10, spA0); + Hu3DModelPosSet(object->model[temp_r27], spA0[0][3], spA0[1][3], spA0[2][3]); + } + } + Hu3DModelRotSet(object->model[0], 0, lbl_1_bss_116C[0], 0); + Hu3DModelRotSet(object->model[1], 0, lbl_1_bss_116C[1], 0); + for(temp_r31=0; temp_r31<2; temp_r31++) { + Hu3DLLightPointSet(object->model[temp_r31], lbl_1_bss_1174[temp_r31], (15*sind(object->work[temp_r31]))+45, 0.9, 3); + object->work[temp_r31] += 8.0f; + if(object->work[temp_r31] > 360.0f) { + object->work[temp_r31] -= 360.0f; + } + } } void fn_1_8904(void *arg0, u8 arg1) { - GXSetTexCopySrc(0, 0, 640, 480); - GXSetTexCopyDst(640, 480, GX_TF_RGBA8, GX_FALSE); - GXSetCopyClear(BGColor, 0xFFFFFF); - GXCopyTex(arg0, arg1); - DCFlushRange(arg0, lbl_1_bss_1184); + GXSetTexCopySrc(0, 0, 640, 480); + GXSetTexCopyDst(640, 480, GX_TF_RGBA8, GX_FALSE); + GXSetCopyClear(BGColor, 0xFFFFFF); + GXCopyTex(arg0, arg1); + DCFlushRange(arg0, lbl_1_bss_1184); } void fn_1_89BC(ModelData *model, Mtx mtx) { - Mtx44 sp34; - GXTexObj sp14; - MTXOrtho(sp34, 0, 480, 0, 576, 0, 1000); - GXSetProjection(sp34, GX_ORTHOGRAPHIC); - MTXIdentity(mtx); - GXLoadPosMtxImm(mtx, GX_PNMTX0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); - GXSetChanAmbColor(GX_COLOR0A0, lbl_1_data_268); - GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_268); - GXSetNumTexGens(1); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); - GXSetNumTevStages(1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD0, GX_TEXMAP1, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_RASA); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXInitTexObj(&sp14, lbl_1_bss_1180, 640, 480, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXLoadTexObj(&sp14, GX_TEXMAP0); - GXSetBlendMode(GX_BM_BLEND, GX_BL_INVSRCALPHA, GX_BL_SRCALPHA, GX_LO_NOOP); - GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(0, 0, -10); - GXTexCoord2f32(0, 0); - GXPosition3f32(576, 0, -10); - GXTexCoord2f32(1, 0); - GXPosition3f32(576, 480, -10); - GXTexCoord2f32(1, 1); - GXPosition3f32(0, 480, -10); - GXTexCoord2f32(0, 1); - GXEnd(); - fn_1_8904(lbl_1_bss_1180, GX_FALSE); + Mtx44 sp34; + GXTexObj sp14; + MTXOrtho(sp34, 0, 480, 0, 576, 0, 1000); + GXSetProjection(sp34, GX_ORTHOGRAPHIC); + MTXIdentity(mtx); + GXLoadPosMtxImm(mtx, GX_PNMTX0); + GXSetNumChans(1); + GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); + GXSetChanAmbColor(GX_COLOR0A0, lbl_1_data_268); + GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_268); + GXSetNumTexGens(1); + GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); + GXSetNumTevStages(1); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); + GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD0, GX_TEXMAP1, GX_COLOR0A0); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_RASA); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXInitTexObj(&sp14, lbl_1_bss_1180, 640, 480, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE); + GXLoadTexObj(&sp14, GX_TEXMAP0); + GXSetBlendMode(GX_BM_BLEND, GX_BL_INVSRCALPHA, GX_BL_SRCALPHA, GX_LO_NOOP); + GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); + GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition3f32(0, 0, -10); + GXTexCoord2f32(0, 0); + GXPosition3f32(576, 0, -10); + GXTexCoord2f32(1, 0); + GXPosition3f32(576, 480, -10); + GXTexCoord2f32(1, 1); + GXPosition3f32(0, 480, -10); + GXTexCoord2f32(0, 1); + GXEnd(); + fn_1_8904(lbl_1_bss_1180, GX_FALSE); } void fn_1_8EA0(void) { - lbl_1_bss_1168 = 0; + lbl_1_bss_1168 = 0; } void fn_1_8EB4(s16 model) { - HsfMaterial *temp_r31; - HsfData *temp_r30; - s32 temp_r29; - ModelData *temp_r28; - s16 *temp_r27; - s16 temp_r26; - temp_r28 = &Hu3DData[model]; - temp_r30 = temp_r28->hsfData; - temp_r26 = temp_r30->materialCnt; - temp_r27 = &lbl_1_bss_968[lbl_1_bss_1168][0]; - *temp_r27 = model; - temp_r31 = temp_r30->material; - for (temp_r29 = 0; temp_r29 < temp_r26; temp_r31++, temp_r29++) { - temp_r31->vtxMode = 1; - } - lbl_1_bss_1168++; + HsfMaterial *temp_r31; + HsfData *temp_r30; + s32 temp_r29; + ModelData *temp_r28; + s16 *temp_r27; + s16 temp_r26; + temp_r28 = &Hu3DData[model]; + temp_r30 = temp_r28->hsfData; + temp_r26 = temp_r30->materialCnt; + temp_r27 = &lbl_1_bss_968[lbl_1_bss_1168][0]; + *temp_r27 = model; + temp_r31 = temp_r30->material; + for(temp_r29=0; temp_r29vtxMode = 1; + } + lbl_1_bss_1168++; } void fn_1_8F60(float arg0) { - s16 *temp_r31; - s32 temp_r30; - temp_r31 = &lbl_1_bss_968[0][0]; - for (temp_r30 = 0; temp_r30 < lbl_1_bss_1168; temp_r31 += 4, temp_r30++) { - ModelData *sp8 = &Hu3DData[*temp_r31]; - Hu3DModelAmbSet(*temp_r31, arg0, arg0, arg0); - } + s16 *temp_r31; + s32 temp_r30; + temp_r31 = &lbl_1_bss_968[0][0]; + for(temp_r30=0; temp_r30unk_08 = 0; fn_1_800(object); } @@ -481,18 +482,17 @@ void fn_1_310C(float arg8, float arg9, float argA, float *arg0, float *arg1, flo Mtx sp8; if (arg8 != 0.0f) { - MTXRotRad(sp38, 88, 0.017453292f * arg8); - } - else { - MTXIdentity(sp38); + PSMTXRotRad(sp38, 88, 0.017453292f * arg8); + } else { + PSMTXIdentity(sp38); } if (arg9 != 0.0f) { - MTXRotRad(sp8, 89, 0.017453292f * arg9); - MTXConcat(sp38, sp8, sp38); + PSMTXRotRad(sp8, 89, 0.017453292f * arg9); + PSMTXConcat(sp38, sp8, sp38); } if (argA != 0.0f) { - MTXRotRad(sp8, 90, 0.017453292f * argA); - MTXConcat(sp38, sp8, sp38); + PSMTXRotRad(sp8, 90, 0.017453292f * argA); + PSMTXConcat(sp38, sp8, sp38); } fn_1_30D8(NULL, arg0, arg1, arg2); } diff --git a/src/REL/m417Dll/player.c b/src/REL/m417Dll/player.c index 81f282b0..558b61a8 100644 --- a/src/REL/m417Dll/player.c +++ b/src/REL/m417Dll/player.c @@ -143,17 +143,17 @@ u32 lbl_1_data_90[11][3] = { }; UnkM417Struct8 lbl_1_data_114[11] = { - { 0, 0.2f, 0.0f, -1.0f, HU3D_MOTATTR_LOOP }, - { 1, 0.2f, 0.0f, -1.0f, HU3D_MOTATTR_NONE }, - { 2, 0.2f, 0.0f, -1.0f, HU3D_MOTATTR_NONE }, - { 3, 0.2f, 0.0f, -1.0f, HU3D_MOTATTR_LOOP }, - { 4, 0.2f, 0.0f, -1.0f, HU3D_MOTATTR_LOOP }, - { 5, 0.5f, 0.0f, -1.0f, HU3D_MOTATTR_NONE }, - { 6, 0.2f, 0.0f, -1.0f, HU3D_MOTATTR_LOOP }, - { 7, 0.03f, 0.0f, -1.0f, HU3D_MOTATTR_NONE }, - { 8, 0.0f, 0.0f, -1.0f, HU3D_MOTATTR_NONE }, - { 9, 0.2f, 0.0f, -1.0f, HU3D_MOTATTR_NONE }, - { 10, 0.0f, 0.0f, -1.0f, HU3D_MOTATTR_NONE }, + { 0, 0.2f, 0.0f, -1.0f, 0x40000001 }, + { 1, 0.2f, 0.0f, -1.0f, 0 }, + { 2, 0.2f, 0.0f, -1.0f, 0 }, + { 3, 0.2f, 0.0f, -1.0f, 0x40000001 }, + { 4, 0.2f, 0.0f, -1.0f, 0x40000001 }, + { 5, 0.5f, 0.0f, -1.0f, 0 }, + { 6, 0.2f, 0.0f, -1.0f, 0x40000001 }, + { 7, 0.03f, 0.0f, -1.0f, 0 }, + { 8, 0.0f, 0.0f, -1.0f, 0 }, + { 9, 0.2f, 0.0f, -1.0f, 0 }, + { 10, 0.0f, 0.0f, -1.0f, 0 }, }; s32 lbl_1_bss_8AC; // unused @@ -243,9 +243,9 @@ void fn_1_7C8C(omObjData *object) if (lbl_1_data_90[var_r29][var_r27 + 1]) { if (lbl_1_data_90[var_r29][0] < 65536) { object->motion[var_r29] = CharModelMotionCreate(var_r28, lbl_1_data_90[var_r29][0]); - } - else { - object->motion[var_r29] = Hu3DJointMotionFile(object->model[0], var_r28 + lbl_1_data_90[var_r29][0]); + } else { + object->motion[var_r29] + = Hu3DJointMotion(object->model[0], HuDataSelHeapReadNum(var_r28 + lbl_1_data_90[var_r29][0], MEMORY_DEFAULT_NUM, HEAP_DATA)); } } } @@ -270,22 +270,21 @@ void fn_1_7C8C(omObjData *object) var_r31->unk_70 = 0.02f; if (var_r31->unk_0C) { Vec sp18 = { 0.0f, 1.0f, 0.0f }; - MTXRotAxisRad(var_r31->unk_1C4, &sp18, 0.017453292f * var_r31->unk_64); - } - else { + PSMTXRotAxisRad(var_r31->unk_1C4, &sp18, 0.017453292f * var_r31->unk_64); + } else { Vec spC = { 0.0f, 1.0f, 0.0f }; - MTXIdentity(var_r31->unk_1C4); + PSMTXIdentity(var_r31->unk_1C4); C_QUATRotAxisRad(&var_r31->unk_184, &spC, 0.0f); var_r31->unk_194 = var_r31->unk_184; - QUATInverse(&var_r31->unk_194, &var_r31->unk_1A4); + PSQUATInverse(&var_r31->unk_194, &var_r31->unk_1A4); var_r31->unk_1B4 = var_r31->unk_1A4; var_r31->unk_164 = var_r31->unk_194; var_r31->unk_174 = var_r31->unk_194; var_r31->unk_144 = 1.0f; var_r31->unk_D4.z += 50.0f; } - MTXInverse(var_r31->unk_1C4, var_r31->unk_1F4); - MTXCopy(var_r31->unk_1F4, var_r31->unk_224); + PSMTXInverse(var_r31->unk_1C4, var_r31->unk_1F4); + PSMTXCopy(var_r31->unk_1F4, var_r31->unk_224); var_r31->unk_134 = var_r31->unk_138 = 0.0f; var_r31->unk_12C = 1.0f; var_r31->unk_08 = -1; @@ -323,8 +322,7 @@ void fn_1_82FC(omObjData *object) if (fn_1_26F8() == 2) { if (var_r31->unk_44) { fn_1_ADC4(object); - } - else { + } else { var_r31->unk_14 = HuPadBtn[GWPlayerCfg[object->work[0]].pad_idx]; var_r31->unk_10 = HuPadBtnDown[GWPlayerCfg[object->work[0]].pad_idx]; var_f31 = HuPadStkX[GWPlayerCfg[object->work[0]].pad_idx]; @@ -338,8 +336,7 @@ void fn_1_82FC(omObjData *object) } if ((s32)var_r31->unk_50 != 0) { (void)var_r29; - } - else { + } else { var_r29 = 1; } fn_1_9FF0(object); @@ -351,8 +348,7 @@ void fn_1_82FC(omObjData *object) var_r31->unk_50 = 0; object->func = fn_1_8B0C; } - } - else if (var_r31->unk_3C) { + } else if (var_r31->unk_3C) { var_r31->unk_40 = 1; fn_1_2728(2); var_r31->unk_50 = 0; @@ -381,8 +377,7 @@ void fn_1_86E8(omObjData *object) if (var_r31->unk_44 != 0) { var_r31->unk_1C = 0; fn_1_B2C0(object); - } - else { + } else { var_r31->unk_14 = HuPadBtn[GWPlayerCfg[object->work[0]].pad_idx]; var_r31->unk_10 = HuPadBtnDown[GWPlayerCfg[object->work[0]].pad_idx]; var_f31 = HuPadStkX[GWPlayerCfg[object->work[0]].pad_idx]; @@ -403,8 +398,7 @@ void fn_1_86E8(omObjData *object) fn_1_9298(object); if ((s32)var_r31->unk_50 != 0) { (void)var_r29; - } - else if (var_r31->unk_2C) { + } else if (var_r31->unk_2C) { var_r29 = 1; } fn_1_91E0(object); @@ -434,15 +428,14 @@ void fn_1_8B0C(omObjData *object) case 0: sp8 = var_r31->unk_EC; sp8.y = 0.0f; - var_f31 = VECMag(&sp8); + var_f31 = PSVECMag(&sp8); if (var_f31 > 30.000002f) { var_r31->unk_20 = atan2d(-sp8.x, -sp8.z); var_r31->unk_24 = 0.01f * var_f31; if (var_r31->unk_24 > 1.0f) { var_r31->unk_24 = 1.0f; } - } - else { + } else { var_r31->unk_20 = 0.0f; var_r31->unk_24 = 0.01f; fn_1_2770(object->work[0]); @@ -454,8 +447,7 @@ void fn_1_8B0C(omObjData *object) var_r31->unk_28 = 0; if (fn_1_2740(object->work[0]) >= 0) { fn_1_B8A0(object, 1); - } - else { + } else { fn_1_B8A0(object, 2); } var_r31->unk_50++; @@ -489,8 +481,7 @@ void fn_1_8D30(omObjData *object) if (fn_1_2740(object->work[0]) >= 0) { var_r31->unk_68 = 0.0f; fn_1_B8A0(object, 1); - } - else { + } else { fn_1_B8A0(object, 2); } var_r31->unk_50++; @@ -525,15 +516,14 @@ void fn_1_8E44(omObjData *object) case 0: sp8 = var_r31->unk_14C; sp8.y = 0.0f; - if (VECMag(&sp8) > 0.0f) { - VECNormalize(&sp8, &sp8); - } - else { + if (PSVECMag(&sp8) > 0.0f) { + PSVECNormalize(&sp8, &sp8); + } else { sp8.x = 1.0f; sp8.z = 0.0f; } var_r31->unk_68 = atan2d(-sp8.x, -sp8.z); - VECScale(&sp8, &var_r31->unk_E0, 1.6666667f); + PSVECScale(&sp8, &var_r31->unk_E0, 1.6666667f); fn_1_B8A0(object, 5); Hu3DModelLayerSet(object->model[0], 0); Hu3DModelShadowReset(object->model[0]); @@ -547,17 +537,16 @@ void fn_1_8E44(omObjData *object) if (var_r31->unk_D4.y < -300.0f) { sp8 = var_r31->unk_D4; sp8.y = 0.0f; - if (VECMag(&sp8) > 0.0f) { - VECNormalize(&sp8, &sp8); - } - else { + if (PSVECMag(&sp8) > 0.0f) { + PSVECNormalize(&sp8, &sp8); + } else { sp8.x = 0.0f; sp8.z = 1.0f; } - VECScale(&sp8, &sp14, 250.0f); + PSVECScale(&sp8, &sp14, 250.0f); sp14.y = -100.0f; - VECSubtract(&sp14, &var_r31->unk_D4, &sp8); - VECScale(&sp8, &var_r31->unk_E0, 1.0f / 60.0f); + PSVECSubtract(&sp14, &var_r31->unk_D4, &sp8); + PSVECScale(&sp8, &var_r31->unk_E0, 1.0f / 60.0f); fn_1_B8A0(object, 6); var_r31->unk_50++; } @@ -576,7 +565,7 @@ void fn_1_8E44(omObjData *object) break; } - VECAdd(&var_r31->unk_D4, &var_r31->unk_E0, &var_r31->unk_D4); + PSVECAdd(&var_r31->unk_D4, &var_r31->unk_E0, &var_r31->unk_D4); fn_1_9FF0(object); fn_1_91E0(object); fn_1_AD24(object); @@ -623,18 +612,17 @@ void fn_1_9298(omObjData *object) sp14.x = sind(var_r31->unk_20); sp14.y = 0.0f; sp14.z = cosd(var_r31->unk_20); - var_f31 = VECDotProduct(&sp20, &sp14); + var_f31 = PSVECDotProduct(&sp20, &sp14); var_f31 *= (1.0f / 60.0f) * (30.0f * var_r31->unk_24); } var_r31->unk_B4.y += (0.1f * (var_f31 - var_r31->unk_B4.y)); var_r31->unk_B4.x += var_r31->unk_B4.y; if (var_r31->unk_B4.x >= 360.0f) { var_r31->unk_B4.x -= 360.0f; - } - else if (var_r31->unk_B4.x < 0.0f) { + } else if (var_r31->unk_B4.x < 0.0f) { var_r31->unk_B4.x += 360.0f; } - MTXRotAxisRad(var_r31->unk_1C4, &sp8, 0.017453292f * var_r31->unk_B4.x); + PSMTXRotAxisRad(var_r31->unk_1C4, &sp8, 0.017453292f * var_r31->unk_B4.x); } object->rot.y = var_r31->unk_68 = var_r31->unk_B4.x - 180.0f; object->trans.x = var_r31->unk_D4.x = var_r31->unk_F8.x = var_r31->unk_C8.x = var_r31->unk_B4.z * sind(var_r31->unk_B4.x); @@ -673,8 +661,7 @@ void fn_1_9298(omObjData *object) case 2: if (var_r31->unk_E0.y >= 0.0f) { var_r31->unk_AC += (1.0f / 60.0f); - } - else { + } else { var_r31->unk_AC -= (1.0f / 60.0f); } var_r31->unk_34 = 0; @@ -694,8 +681,7 @@ void fn_1_9298(omObjData *object) var_r31->unk_E0.y = 0.0f; fn_1_B8A0(object, 9); var_r31->unk_A0++; - } - else { + } else { var_r31->unk_E0.y += (0.016666668f * (0.016666668f * var_r31->unk_11C.w)); var_r31->unk_D4.y += var_r31->unk_E0.y; if (var_r31->unk_D4.y <= var_r31->unk_F8.y) { @@ -776,8 +762,7 @@ void fn_1_9A1C(omObjData *object) } if (var_f31 == 0.0f) { var_f30 = 11.5f; - } - else { + } else { var_f30 = 23.0 - fabs(var_f31); var_f30 = (0.5f * var_f30) * (var_f31 / fabs(var_f31)); } @@ -818,29 +803,27 @@ void fn_1_9C14(omObjData *object) if (var_r31->unk_24 > var_f30) { fn_1_B8A0(object, 4); var_f29 = var_r31->unk_24; - } - else { + } else { fn_1_B8A0(object, 3); var_f29 = var_r31->unk_24 / var_f30; } CharModelMotionSpeedSet(var_r31->unk_00, var_f29); } - } - else { + } else { var_r31->unk_E0.x = var_r31->unk_E0.y = var_r31->unk_E0.z = 0.0f; if (var_r31->unk_28 && CharModelMotionShiftIDGet(var_r31->unk_00) < 0) { fn_1_B8A0(object, 0); } } - VECSubtract(&var_r31->unk_D4, &var_r31->unk_104, &sp1C); + PSVECSubtract(&var_r31->unk_D4, &var_r31->unk_104, &sp1C); if (fn_1_26F8() == 2) { sp1C.y += -5.8333335f * var_r31->unk_148; } - MTXMultVec(var_r31->unk_224, &sp1C, &sp1C); - VECAdd(&sp1C, &var_r31->unk_E0, &sp1C); + PSMTXMultVec(var_r31->unk_224, &sp1C, &sp1C); + PSVECAdd(&sp1C, &var_r31->unk_E0, &sp1C); sp10 = sp1C; sp10.y = 0.0f; - var_f31 = sp8 = VECMag(&sp10); + var_f31 = sp8 = PSVECMag(&sp10); if (var_f31 > 150.0f) { var_f31 = 150.0f / var_f31; sp1C.x = sp1C.x * var_f31; @@ -849,14 +832,14 @@ void fn_1_9C14(omObjData *object) sp1C.y = 80.0f; var_r31->unk_EC = sp1C; spC = atan2d(sp1C.x, sp1C.z); - MTXMultVec(var_r31->unk_1C4, &sp1C, &sp1C); - VECAdd(&sp1C, &var_r31->unk_F8, &var_r31->unk_D4); + PSMTXMultVec(var_r31->unk_1C4, &sp1C, &sp1C); + PSVECAdd(&sp1C, &var_r31->unk_F8, &var_r31->unk_D4); if (var_r31->unk_13C >= 0.95f) { var_r31->unk_3C = 1; return; } - QUATNormalize(&var_r31->unk_194, &sp28); - if (sp28.w < cosd(25)) { + PSQUATNormalize(&var_r31->unk_194, &sp28); + if (sp28.w < cos(0.4363323129985824)) { var_r31->unk_3C = 1; } } @@ -893,7 +876,7 @@ void fn_1_9FF0(omObjData *object) } } var_r31->unk_1B4 = var_r31->unk_1A4; - MTXCopy(var_r31->unk_1F4, var_r31->unk_224); + PSMTXCopy(var_r31->unk_1F4, var_r31->unk_224); var_r31->unk_104 = var_r31->unk_F8; var_f31 = fn_1_75BC(); for (var_r30 = 0; var_r30 < 8; var_r30++) { @@ -907,8 +890,7 @@ void fn_1_9FF0(omObjData *object) var_r31->unk_98 = var_r31->unk_F8.y - var_r31->unk_104.y; var_r31->unk_98 += -0.27222225f; var_r31->unk_30 = 0; - } - else { + } else { var_r31->unk_98 = var_r31->unk_F8.y - var_r31->unk_104.y; var_r31->unk_98 += -0.8166667f; var_r31->unk_30 = 1; @@ -936,13 +918,12 @@ void fn_1_9FF0(omObjData *object) if (!var_r31->unk_40) { sp20 = var_r31->unk_EC; sp20.y = 0.0f; - var_f31 = (2.0f / 300.0f) * VECMag(&sp20); + var_f31 = (2.0f / 300.0f) * PSVECMag(&sp20); if (var_f31 <= 0.0f) { var_f31 = 0.0f; sp8.x = 1.0f; sp8.y = sp8.z = 0.0f; - } - else { + } else { if (var_f31 > 1.0f) { var_f31 = 1.0f; } @@ -1002,7 +983,7 @@ void fn_1_9FF0(omObjData *object) sp8.x = sind(var_f31); sp8.y = 0.0f; sp8.z = cosd(var_f31); - var_f29 = VECMag(&sp20); + var_f29 = PSVECMag(&sp20); if (var_f29 > 0.5f) { var_f29 = 0.5f; } @@ -1011,23 +992,22 @@ void fn_1_9FF0(omObjData *object) if (fn_1_26F8() == 2) { sp20 = var_r31->unk_EC; sp20.y = 0.0f; - var_f31 = VECMag(&sp20); + var_f31 = PSVECMag(&sp20); var_f29 = 0.006666667f * var_f31; if (var_f31 > 0.0f) { - VECNormalize(&sp20, &sp20); + PSVECNormalize(&sp20, &sp20); } - VECSubtract(&sp20, &var_r31->unk_14C, &sp14); - if (VECMag(&sp14)) { - VECNormalize(&sp14, &sp14); + PSVECSubtract(&sp20, &var_r31->unk_14C, &sp14); + if (PSVECMag(&sp14)) { + PSVECNormalize(&sp14, &sp14); } - VECScale(&sp14, &sp14, (0.0033333336f * var_f29) + var_r31->unk_144); - VECAdd(&var_r31->unk_14C, &sp14, &var_r31->unk_14C); - } - else { - VECScale(&var_r31->unk_14C, &var_r31->unk_14C, 0.98f); + PSVECScale(&sp14, &sp14, (0.0033333336f * var_f29) + var_r31->unk_144); + PSVECAdd(&var_r31->unk_14C, &sp14, &var_r31->unk_14C); + } else { + PSVECScale(&var_r31->unk_14C, &var_r31->unk_14C, 0.98f); } var_r31->unk_14C.y = 0.0f; - var_f31 = VECMag(&var_r31->unk_14C); + var_f31 = PSVECMag(&var_r31->unk_14C); if (var_f31 > 1.0f) { var_f31 = 1.0f / var_f31; var_r31->unk_14C.x *= var_f31; @@ -1040,26 +1020,24 @@ void fn_1_9FF0(omObjData *object) sp8.x = var_r31->unk_14C.z; sp8.y = 0.0f; sp8.z = -var_r31->unk_14C.x; - } - else { + } else { sp8.x = 1.0f; sp8.y = sp8.z = 0.0f; } C_QUATRotAxisRad(&var_r31->unk_184, &sp8, 0.9424779f * var_f31); - } - else { + } else { sp8.x = var_r31->unk_14C.z; sp8.y = 0.0f; sp8.z = -var_r31->unk_14C.x; C_QUATRotAxisRad(&sp3C, &sp8, M_PI); C_QUATSlerp(&var_r31->unk_184, &sp3C, &var_r31->unk_184, 0.027777778f); } - QUATMultiply(&var_r31->unk_174, &var_r31->unk_184, &var_r31->unk_194); - QUATMultiply(&var_r31->unk_164, &var_r31->unk_194, &var_r31->unk_194); - QUATMultiply(&sp2C, &var_r31->unk_194, &var_r31->unk_194); - MTXQuat(var_r31->unk_1C4, &var_r31->unk_194); - MTXInverse(var_r31->unk_1C4, var_r31->unk_1F4); - QUATInverse(&var_r31->unk_194, &var_r31->unk_1A4); + PSQUATMultiply(&var_r31->unk_174, &var_r31->unk_184, &var_r31->unk_194); + PSQUATMultiply(&var_r31->unk_164, &var_r31->unk_194, &var_r31->unk_194); + PSQUATMultiply(&sp2C, &var_r31->unk_194, &var_r31->unk_194); + PSMTXQuat(var_r31->unk_1C4, &var_r31->unk_194); + PSMTXInverse(var_r31->unk_1C4, var_r31->unk_1F4); + PSQUATInverse(&var_r31->unk_194, &var_r31->unk_1A4); } } @@ -1071,7 +1049,7 @@ void fn_1_AD24(omObjData *object) Hu3DModelPosSetV(object->model[0], &var_r30->unk_D4); Hu3DModelRotSet(object->model[0], 0.0f, var_r30->unk_64, 0.0f); Hu3DModelPosSetV(object->model[1], &var_r30->unk_F8); - MTXCopy(var_r30->unk_1C4, Hu3DData[object->model[1]].unk_F0); + PSMTXCopy(var_r30->unk_1C4, Hu3DData[object->model[1]].unk_F0); } void fn_1_ADC4(omObjData *object) @@ -1095,8 +1073,8 @@ void fn_1_ADC4(omObjData *object) sp28 = var_r31->unk_14C; sp28.y = 0.0f; var_f31 = 0.75f + (2.5f * (var_r31->unk_74 * var_r31->unk_74)); - VECScale(&sp28, &sp28, 150.0f * -var_f31); - var_f31 = VECMag(&sp28); + PSVECScale(&sp28, &sp28, 150.0f * -var_f31); + var_f31 = PSVECMag(&sp28); if (var_f31 > 150.0f) { var_f31 = 150.0f / var_f31; sp28.x *= var_f31; @@ -1106,26 +1084,24 @@ void fn_1_ADC4(omObjData *object) sp28.z += (100.0 * ((0.9f - (0.3f * var_r31->unk_74)) * ((0.002 * (float)frandmod(1000)) - 1.0))); sp1C = var_r31->unk_110; sp1C.y = 0.0f; - VECSubtract(&sp28, &sp1C, &sp10); - var_f31 = VECMag(&sp10); + PSVECSubtract(&sp28, &sp1C, &sp10); + var_f31 = PSVECMag(&sp10); if (var_f31 > (100.0f * (1.2f - (0.3f * var_r31->unk_74)))) { var_r31->unk_110 = sp28; } var_r31->unk_84 = 60.0f * ((0.23f - (0.04f * var_r31->unk_74)) + (0.001f * ((0.4f - (0.15f * var_r31->unk_74)) * frandmod(1000)))); - } - else { + } else { var_r31->unk_84--; } sp28 = var_r31->unk_110; sp28.y = 0.0f; sp1C = var_r31->unk_EC; sp1C.y = 0.0f; - VECSubtract(&sp28, &sp1C, &sp10); - var_f31 = VECMag(&sp10); + PSVECSubtract(&sp28, &sp1C, &sp10); + var_f31 = PSVECMag(&sp10); if (var_r31->unk_48) { var_r30 = 1; - } - else { + } else { var_r30 = 0; } var_r29 = var_r30; @@ -1153,8 +1129,7 @@ void fn_1_B2C0(omObjData *object) var_r29 = 0; if (var_r31->unk_90) { var_r31->unk_90--; - } - else { + } else { var_r31->unk_88 = 1.0f; if (frandmod(1000) < 500) { var_r31->unk_88 = -1.0f; @@ -1167,8 +1142,7 @@ void fn_1_B2C0(omObjData *object) if (lbl_1_bss_884 >= object->work[0]) { if (lbl_1_bss_880) { lbl_1_bss_880--; - } - else { + } else { lbl_1_bss_880 = 60.0f * (8.0f + (0.004f * frandmod(1000))); } } @@ -1186,13 +1160,11 @@ void fn_1_B2C0(omObjData *object) if (var_r31->unk_80 > 240.0f) { var_r31->unk_80 = 1; } - } - else { + } else { var_r31->unk_80 = 60.0f * (0.00080000004f * ((1.05f - var_r31->unk_74) * frandmod(1000))); var_r31->unk_80 += (var_r31->unk_8C * (30.0f + (0.03f * frandmod(1000)))); } - } - else { + } else { var_r31->unk_80--; if (!var_r31->unk_80) { var_r31->unk_10 |= 256; diff --git a/src/REL/m417Dll/sequence.c b/src/REL/m417Dll/sequence.c index ac2b93ca..672218a7 100644 --- a/src/REL/m417Dll/sequence.c +++ b/src/REL/m417Dll/sequence.c @@ -60,15 +60,15 @@ void fn_1_BD9C(omObjData *object) } else { var_f31 = 0.0055555557f * (var_r31->unk_10 - var_r29); } - VECSubtract(&sp2C[1], &sp2C[0], &sp8); - VECScale(&sp8, &sp8, var_f31); - VECAdd(&sp2C[0], &sp8, &sp8); + PSVECSubtract(&sp2C[1], &sp2C[0], &sp8); + PSVECScale(&sp8, &sp8, var_f31); + PSVECAdd(&sp2C[0], &sp8, &sp8); Center.x = sp8.x; Center.y = sp8.y; Center.z = sp8.z; - VECSubtract(&sp14[1], &sp14[0], &sp8); - VECScale(&sp8, &sp8, var_f31); - VECAdd(&sp14[0], &sp8, &sp8); + PSVECSubtract(&sp14[1], &sp14[0], &sp8); + PSVECScale(&sp8, &sp8, var_f31); + PSVECAdd(&sp14[0], &sp8, &sp8); CRot.x = sp8.x; CRot.y = sp8.y; CRot.z = 0.0f; diff --git a/src/REL/m417Dll/water.c b/src/REL/m417Dll/water.c index 85cdcaea..aeb0c910 100644 --- a/src/REL/m417Dll/water.c +++ b/src/REL/m417Dll/water.c @@ -135,7 +135,7 @@ void fn_1_3400(omObjData *object) Hu3DModelLayerSet(object->model[3], 3); object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M417, 2)); Hu3DModelLayerSet(object->model[2], 5); - Hu3DModelAttrSet(object->model[2], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(object->model[2], 0x40000001); Hu3DMotionSpeedSet(object->model[2], 0.7f); object->data = fn_1_3574(object, 5, 3); HuAudFXPlay(1480); @@ -164,7 +164,7 @@ UnkM417Struct3 *fn_1_3574(omObjData *arg0, s16 arg1, s16 arg2) var_r31 = var_r30; for (var_r29 = 0; var_r29 < arg2; var_r29++, var_r31++, arg1++) { var_r31->unk_00 = arg1; - arg0->model[arg1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M417, 3)); + arg0->model[arg1] = Hu3DModelCreate(HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M417, 3), MEMORY_DEFAULT_NUM, HEAP_DATA)); Hu3DModelLayerSet(arg0->model[var_r31->unk_00], 0); var_f30 = frandmod(360); var_f29 = frandmod(640); @@ -196,10 +196,9 @@ void fn_1_37A0(omObjData *object, UnkM417Struct3 *arg1) var_r29 = 0; if (arg1->unk_30 > arg1->unk_34) { var_r29 = 1; - } - else { - VECSubtract(&arg1->unk_14, &arg1->unk_08, &sp8); - var_f31 = VECMag(&sp8); + } else { + PSVECSubtract(&arg1->unk_14, &arg1->unk_08, &sp8); + var_f31 = PSVECMag(&sp8); if (var_f31 < 50.0f) { var_r29 = 1; } @@ -214,7 +213,7 @@ void fn_1_37A0(omObjData *object, UnkM417Struct3 *arg1) arg1->unk_34 = 200.0f + frandmod(600); arg1->unk_24 = 0.0f; } - VECSubtract(&arg1->unk_14, &arg1->unk_08, &sp8); + PSVECSubtract(&arg1->unk_14, &arg1->unk_08, &sp8); arg1->unk_2C = atan2d(sp8.x, sp8.z); arg1->unk_28 = fn_1_2F08(arg1->unk_28, arg1->unk_2C, 0.05f); arg1->unk_24 += (0.05f * (300.0f - arg1->unk_24)); @@ -248,7 +247,7 @@ void fn_1_3BC4(omObjData *object) Hu3DModelLayerSet(object->model[1], 1); object->model[2] = Hu3DHookFuncCreate(fn_1_6B60); Hu3DModelLayerSet(object->model[2], 7); - var_r30 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M417, 17)), 512); + var_r30 = Hu3DParticleCreate(HuSprAnimRead(HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M417, 17), MEMORY_DEFAULT_NUM, HEAP_DATA)), 512); object->model[3] = var_r30; Hu3DModelLayerSet(var_r30, 4); Hu3DParticleColSet(var_r30, 255, 255, 255); @@ -326,22 +325,21 @@ void fn_1_3D58(omObjData *object) var_r28->y = 0.0f; var_r28->z = var_f29; } - var_f29 += var_f28 * sind(60); + var_f29 += (var_f28 * sin(1.0471975511965976)); } var_r28 = lbl_1_bss_178.unk_2C; var_r30 = 0; var_r29 = 1080; for (var_r31 = 0; var_r31 < 1080; var_r31++, var_r28++) { - var_f31 = VECMag(var_r28); + var_f31 = PSVECMag(var_r28); if (var_f31 > 850.0f) { var_r29--; lbl_1_bss_178.unk_28[var_r31] = 0; lbl_1_bss_178.unk_1C[var_r31] = var_r29; lbl_1_bss_178.unk_24[var_r29] = 0.0f; var_f31 = 850.0f / var_f31; - VECScale(var_r28, var_r28, var_f31); - } - else { + PSVECScale(var_r28, var_r28, var_f31); + } else { lbl_1_bss_178.unk_28[var_r31] = 1; lbl_1_bss_178.unk_1C[var_r31] = var_r30; lbl_1_bss_178.unk_24[var_r30] = 1.0f; @@ -370,8 +368,7 @@ void fn_1_3D58(omObjData *object) (*var_r27)[1] = lbl_1_bss_178.unk_1C[var_r29 + 30]; (*var_r27)[2] = lbl_1_bss_178.unk_1C[var_r29 + 1]; (*var_r27)[3] = lbl_1_bss_178.unk_1C[var_r29 + 31]; - } - else { + } else { var_r29 = var_r30 + (var_r31 * 30); (*var_r27)[1] = lbl_1_bss_178.unk_1C[var_r29]; (*var_r27)[3] = lbl_1_bss_178.unk_1C[var_r29 + 30]; @@ -391,8 +388,8 @@ void fn_1_3D58(omObjData *object) var_f28 = 500000.0f; var_r28 = lbl_1_bss_178.unk_2C; for (var_r30 = 0; var_r30 < lbl_1_bss_178.unk_18; var_r30++) { - VECSubtract(var_r28++, &lbl_1_bss_178.unk_3C[var_r31].unk_00, &spC); - var_f31 = VECMag(&spC); + PSVECSubtract(var_r28++, &lbl_1_bss_178.unk_3C[var_r31].unk_00, &spC); + var_f31 = PSVECMag(&spC); if (var_f31 < var_f28) { var_r29 = var_r30; var_f28 = var_f31; @@ -402,8 +399,8 @@ void fn_1_3D58(omObjData *object) var_r28 = lbl_1_bss_178.unk_2C; var_r26 = 0; for (var_r30 = 0; var_r30 < lbl_1_bss_178.unk_18; var_r30++) { - VECSubtract(var_r28++, &lbl_1_bss_178.unk_3C[var_r31].unk_00, &spC); - var_f31 = lbl_1_bss_178.unk_3C[var_r31].unk_10 * VECMag(&spC); + PSVECSubtract(var_r28++, &lbl_1_bss_178.unk_3C[var_r31].unk_00, &spC); + var_f31 = lbl_1_bss_178.unk_3C[var_r31].unk_10 * PSVECMag(&spC); lbl_1_bss_178.unk_3C[var_r31].unk_20[var_r26] = var_f31; for (var_r29 = 0; var_r29 <= var_r26; var_r29++) { var_f29 = lbl_1_bss_178.unk_3C[var_r31].unk_20[var_r29] - var_f31; @@ -450,8 +447,7 @@ void fn_1_4BC8(float arg8, float arg9) if (arg9 < 0.0f) { arg9 = 0.0f; - } - else if (arg9 > 1.0f) { + } else if (arg9 > 1.0f) { arg9 = 1.0f; } var_f30 = 1.0f - arg9; @@ -478,7 +474,7 @@ void fn_1_4BC8(float arg8, float arg9) return; } } - (void)var_r31; + (void)var_r31; } void fn_1_4E64(omObjData *object) @@ -519,21 +515,19 @@ void fn_1_4E64(omObjData *object) sp14.x = var_r31->unk_14 * sind(var_r31->unk_10); sp14.y = 0.0f; sp14.z = var_r31->unk_14 * cosd(var_r31->unk_10); - VECAdd(&var_r31->unk_04, &sp14, &var_r31->unk_04); + PSVECAdd(&var_r31->unk_04, &sp14, &var_r31->unk_04); if (var_r31->unk_2C >= 0) { HuAudFXEmiterUpDate(var_r31->unk_2C, &var_r31->unk_04); } - if (VECMag(&var_r31->unk_04) > 800.0f && var_r31->unk_00 >= 2 && (var_r31->unk_1C -= 0.033333335f, var_r31->unk_1C < 0.0f)) { + if (PSVECMag(&var_r31->unk_04) > 800.0f && var_r31->unk_00 >= 2 && (var_r31->unk_1C -= 0.033333335f, var_r31->unk_1C < 0.0f)) { var_r31->unk_00 = 0; - } - else { + } else { if (var_r31->unk_00 < 2) { - VECSubtract(&sp8, &var_r31->unk_04, &sp20); - if (VECDotProduct(&sp14, &sp20) <= 0.0f) { + PSVECSubtract(&sp8, &var_r31->unk_04, &sp20); + if (PSVECDotProduct(&sp14, &sp20) <= 0.0f) { var_r31->unk_00 = 2; - } - else { - var_f31 = 1.2f * (VECMag(&sp20) / (var_r31->unk_18 * var_r31->unk_28)); + } else { + var_f31 = 1.2f * (PSVECMag(&sp20) / (var_r31->unk_18 * var_r31->unk_28)); if (var_f31 < 1.2f) { if (var_f31 > 1.0f) { var_f31 = 5.0f * (1.2f - var_f31); @@ -544,14 +538,13 @@ void fn_1_4E64(omObjData *object) var_r29->unk_0C = var_f31; } } - } - else if (var_r31->unk_00 == 2 && VECMag(&var_r31->unk_04) > ((800.0f - (100.0f * (2.0f * var_r31->unk_20))) - 30.000002f)) { + } else if (var_r31->unk_00 == 2 && PSVECMag(&var_r31->unk_04) > ((800.0f - (100.0f * (2.0f * var_r31->unk_20))) - 30.000002f)) { var_r31->unk_00 = 3; fn_1_6D64(lbl_1_bss_58, 0, var_r31->unk_10, 20.0f + (40.0f * var_r31->unk_20), var_r31->unk_20); sp2C.x = sind(var_r31->unk_10); sp2C.y = 0.0f; sp2C.z = cosd(var_r31->unk_10); - VECScale(&sp2C, &sp2C, 800.0f); + PSVECScale(&sp2C, &sp2C, 800.0f); HuAudFXEmiterPlay(1481, &sp2C); if (var_r31->unk_2C >= 0) { var_r31->unk_2C = -1; @@ -567,13 +560,13 @@ void fn_1_4E64(omObjData *object) var_r31->unk_24 = 1.0f; } } - MTXTrans(spC8, var_r31->unk_04.x, var_r31->unk_04.y, var_r31->unk_04.z); - MTXRotRad(sp98, 89, 0.017453292f * var_r31->unk_10); - MTXConcat(spC8, sp98, sp68); + PSMTXTrans(spC8, var_r31->unk_04.x, var_r31->unk_04.y, var_r31->unk_04.z); + PSMTXRotRad(sp98, 89, 0.017453292f * var_r31->unk_10); + PSMTXConcat(spC8, sp98, sp68); var_f31 = var_r31->unk_18 * var_r31->unk_1C; - MTXScale(spC8, var_f31, var_f31, var_f31 * var_r31->unk_28); - MTXConcat(sp68, spC8, sp98); - MTXInverse(sp98, spC8); + PSMTXScale(spC8, var_f31, var_f31, var_f31 * var_r31->unk_28); + PSMTXConcat(sp68, spC8, sp98); + PSMTXInverse(sp98, spC8); PSMTXReorder(spC8, sp38); PSMTXROMultVecArray(sp38, lbl_1_bss_178.unk_2C, lbl_1_bss_178.unk_34, lbl_1_bss_178.unk_18); sp2C.x = (0.15f * var_r31->unk_18) * (var_r31->unk_24 * sind(var_r31->unk_10)); @@ -584,7 +577,7 @@ void fn_1_4E64(omObjData *object) var_r27 = lbl_1_bss_178.unk_30; var_r28 = lbl_1_bss_178.unk_6CC[lbl_1_bss_178.unk_6B4]; for (var_r30 = 0; var_r30 < lbl_1_bss_178.unk_18; var_r30++, var_r26++, var_r27++) { - var_f31 = VECMag(var_r26); + var_f31 = PSVECMag(var_r26); if (!(var_f31 >= 1.0f)) { var_f30 = (1.0f - var_f31) * var_r31->unk_1C; var_f28 = var_r31->unk_24 * ((1.0f - var_f31) * (1.0f - var_f31)); @@ -638,8 +631,7 @@ void fn_1_57B0(omObjData *object) var_r29->unk_0C += var_r29->unk_18; if (var_r29->unk_0C >= 360.0f) { var_r29->unk_0C -= 360.0f; - } - else if (var_r29->unk_0C < 0.0f) { + } else if (var_r29->unk_0C < 0.0f) { var_r29->unk_0C += 360.0f; } var_f31 = var_r29->unk_0C; @@ -655,7 +647,7 @@ void fn_1_57B0(omObjData *object) var_r24 = lbl_1_bss_178.unk_30; var_r25 = lbl_1_bss_178.unk_6BC[lbl_1_bss_178.unk_6B4]; for (var_r30 = 0; var_r30 < lbl_1_bss_178.unk_18; var_r23++, var_r24++, var_r25++, var_r30++) { - VECAdd(var_r23, var_r24, var_r25); + PSVECAdd(var_r23, var_r24, var_r25); } memset(lbl_1_bss_178.unk_30, 0, 30 * 36 * sizeof(Vec)); var_r28 = lbl_1_bss_178.unk_6C4[lbl_1_bss_178.unk_6B4]; @@ -663,22 +655,22 @@ void fn_1_57B0(omObjData *object) var_r27 = lbl_1_bss_178.unk_6BC[lbl_1_bss_178.unk_6B4]; var_r31 = lbl_1_bss_178.unk_38; for (var_r30 = 0; var_r30 < 1015; var_r31++, var_r30++) { - VECSubtract(&var_r27[(*var_r31)[1]], &var_r27[(*var_r31)[0]], &sp30); - VECSubtract(&var_r27[(*var_r31)[3]], &var_r27[(*var_r31)[0]], &sp24); - VECSubtract(&var_r27[(*var_r31)[2]], &var_r27[(*var_r31)[0]], &sp18); - VECCrossProduct(&sp30, &sp24, &spC); - VECNormalize(&spC, &spC); - VECAdd(&spC, &var_r28[(*var_r31)[0]], &var_r28[(*var_r31)[0]]); - VECAdd(&spC, &var_r28[(*var_r31)[1]], &var_r28[(*var_r31)[1]]); - VECAdd(&spC, &var_r28[(*var_r31)[3]], &var_r28[(*var_r31)[3]]); - VECCrossProduct(&sp24, &sp18, &spC); - VECNormalize(&spC, &spC); - VECAdd(&spC, &var_r28[(*var_r31)[0]], &var_r28[(*var_r31)[0]]); - VECAdd(&spC, &var_r28[(*var_r31)[3]], &var_r28[(*var_r31)[3]]); - VECAdd(&spC, &var_r28[(*var_r31)[2]], &var_r28[(*var_r31)[2]]); + PSVECSubtract(&var_r27[(*var_r31)[1]], &var_r27[(*var_r31)[0]], &sp30); + PSVECSubtract(&var_r27[(*var_r31)[3]], &var_r27[(*var_r31)[0]], &sp24); + PSVECSubtract(&var_r27[(*var_r31)[2]], &var_r27[(*var_r31)[0]], &sp18); + PSVECCrossProduct(&sp30, &sp24, &spC); + PSVECNormalize(&spC, &spC); + PSVECAdd(&spC, &var_r28[(*var_r31)[0]], &var_r28[(*var_r31)[0]]); + PSVECAdd(&spC, &var_r28[(*var_r31)[1]], &var_r28[(*var_r31)[1]]); + PSVECAdd(&spC, &var_r28[(*var_r31)[3]], &var_r28[(*var_r31)[3]]); + PSVECCrossProduct(&sp24, &sp18, &spC); + PSVECNormalize(&spC, &spC); + PSVECAdd(&spC, &var_r28[(*var_r31)[0]], &var_r28[(*var_r31)[0]]); + PSVECAdd(&spC, &var_r28[(*var_r31)[3]], &var_r28[(*var_r31)[3]]); + PSVECAdd(&spC, &var_r28[(*var_r31)[2]], &var_r28[(*var_r31)[2]]); } for (var_r30 = 0; var_r30 < 1080; var_r30++, var_r28++) { - VECNormalize(var_r28, var_r28); + PSVECNormalize(var_r28, var_r28); } var_r25 = lbl_1_bss_178.unk_6BC[lbl_1_bss_178.unk_6B4]; for (var_r30 = 0; var_r30 < lbl_1_bss_178.unk_18; var_r25++, var_r30++) { @@ -696,8 +688,8 @@ void fn_1_57B0(omObjData *object) DCStoreRangeNoSync(lbl_1_bss_178.unk_6CC[lbl_1_bss_178.unk_6B4], 1080 * sizeof(GXColor)); DCStoreRangeNoSync(lbl_1_bss_178.unk_6D4[lbl_1_bss_178.unk_6B4], 30 * 36 * sizeof(Vec2f)); PPCSync(); - (void)var_r30; - (void)var_r30; + (void)var_r30; + (void)var_r30; } void fn_1_5E3C(omObjData *object) @@ -722,8 +714,7 @@ void fn_1_5E3C(omObjData *object) GXColor1x16(var_r31); GXTexCoord1x16(var_r31); } - } - else { + } else { GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 59); for (var_r30 = 29; var_r30 >= 0; var_r30--) { var_r31 = lbl_1_bss_178.unk_1C[var_r30 + (var_r29 * 30)]; @@ -761,7 +752,7 @@ void fn_1_604C(ModelData *arg0, Mtx arg1) DCStoreRangeNoSync(&sp10, 4); PPCSync(); GXLoadPosMtxImm(arg1, 0); - MTXInvXpose(arg1, sp98); + PSMTXInvXpose(arg1, sp98); GXLoadNrmMtxImm(sp98, 0); GXSetNumChans(1); GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); @@ -773,29 +764,29 @@ void fn_1_604C(ModelData *arg0, Mtx arg1) HuSprTexLoad(lbl_1_bss_60, 0, 3, GX_MIRROR, GX_MIRROR, GX_LINEAR); GXSetNumTexGens(5); C_MTXLightPerspective(sp38, 35.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); - MTXInverse(Hu3DCameraMtx, sp98); - MTXConcat(sp98, arg1, sp98); - MTXConcat(sp38, Hu3DCameraMtx, sp68); - MTXConcat(sp68, sp98, sp68); + PSMTXInverse(Hu3DCameraMtx, sp98); + PSMTXConcat(sp98, arg1, sp98); + PSMTXConcat(sp38, Hu3DCameraMtx, sp68); + PSMTXConcat(sp68, sp98, sp68); sp68[1][3] -= 44.0f; GXLoadTexMtxImm(sp68, 30, GX_MTX3x4); GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 30, GX_FALSE, 125); C_MTXLightPerspective(sp38, 70.0f, 1.0f, 0.5f, -0.5f, 0.5f, 0.5f); - MTXInverse(Hu3DCameraMtx, sp98); - MTXConcat(sp98, arg1, sp98); - MTXConcat(sp38, Hu3DCameraMtx, sp68); - MTXConcat(sp68, sp98, sp68); + PSMTXInverse(Hu3DCameraMtx, sp98); + PSMTXConcat(sp98, arg1, sp98); + PSMTXConcat(sp38, Hu3DCameraMtx, sp68); + PSMTXConcat(sp68, sp98, sp68); GXLoadTexMtxImm(sp68, 36, GX_MTX3x4); GXSetTexCoordGen2(GX_TEXCOORD2, GX_TG_MTX3x4, GX_TG_POS, 36, GX_FALSE, 125); - MTXRotRad(sp68, 90, 0.017453292f * lbl_1_bss_178.unk_6B8); + PSMTXRotRad(sp68, 90, 0.017453292f * lbl_1_bss_178.unk_6B8); GXLoadTexMtxImm(sp68, 39, GX_MTX2x4); GXSetTexCoordGen2(GX_TEXCOORD3, GX_TG_MTX2x4, GX_TG_TEXCOORD0, 39, GX_FALSE, 125); - MTXScale(sp98, 1.2f, -1.2f, 1.2f); - MTXConcat(sp68, sp98, sp68); + PSMTXScale(sp98, 1.2f, -1.2f, 1.2f); + PSMTXConcat(sp68, sp98, sp68); GXLoadTexMtxImm(sp68, 42, GX_MTX2x4); GXSetTexCoordGen2(GX_TEXCOORD4, GX_TG_MTX2x4, GX_TG_TEXCOORD0, 42, GX_FALSE, 125); - MTXScale(sp98, 0.49f, -0.49f, 0.49f); - MTXConcat(sp98, Hu3DCameraMtx, sp68); + PSMTXScale(sp98, 0.49f, -0.49f, 0.49f); + PSMTXConcat(sp98, Hu3DCameraMtx, sp68); sp68[0][3] = 0.5f; sp68[1][3] = 0.5f; GXLoadTexMtxImm(sp68, 33, GX_MTX2x4); @@ -804,18 +795,18 @@ void fn_1_604C(ModelData *arg0, Mtx arg1) GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD1, GX_TEXMAP1); GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, GX_TRUE, GX_FALSE, GX_ITM_0); - MTXScale(sp68, -0.5f, -0.5f, 0.5f); + PSMTXScale(sp68, -0.5f, -0.5f, 0.5f); GXSetIndTexMtx(GX_ITM_0, (float(*)[3])sp68, -2); GXSetIndTexOrder(GX_INDTEXSTAGE1, GX_TEXCOORD1, GX_TEXMAP1); GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1); GXSetTevIndWarp(GX_TEVSTAGE1, GX_INDTEXSTAGE1, GX_TRUE, GX_FALSE, GX_ITM_1); - MTXScale(sp68, 0.5f, 0.5f, 0.5f); + PSMTXScale(sp68, 0.5f, 0.5f, 0.5f); GXSetIndTexMtx(GX_ITM_1, (float(*)[3])sp68, 0); GXSetIndTexOrder(GX_INDTEXSTAGE2, GX_TEXCOORD1, GX_TEXMAP1); GXSetIndTexCoordScale(GX_INDTEXSTAGE2, GX_ITS_1, GX_ITS_1); GXSetTevIndWarp(GX_TEVSTAGE2, GX_INDTEXSTAGE2, GX_TRUE, GX_FALSE, GX_ITM_2); GXSetTevIndWarp(GX_TEVSTAGE3, GX_INDTEXSTAGE2, GX_TRUE, GX_FALSE, GX_ITM_2); - MTXScale(sp68, -0.65f, -0.65f, 0.65f); + PSMTXScale(sp68, -0.65f, -0.65f, 0.65f); GXSetIndTexMtx(GX_ITM_2, (float(*)[3])sp68, -3); GXSetNumTevStages(5); GXSetTevColor(GX_TEVREG0, sp14); @@ -892,7 +883,7 @@ void fn_1_6B94(ModelData *model, ParticleData *particle, float (*matrix)[4]) particle->unk_00++; var_r31 = particle->unk_48; for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - var_r31->unk00 = 0; + var_r31->unk00_s16 = 0; var_r31->unk2C = 0.0f; var_r31->unk40.a = 0; } @@ -900,16 +891,16 @@ void fn_1_6B94(ModelData *model, ParticleData *particle, float (*matrix)[4]) } var_r31 = particle->unk_48; for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - if (var_r31->unk00) { + if (var_r31->unk00_s16) { var_r31->unk34.x += var_r31->unk08.x; var_r31->unk34.y += var_r31->unk08.y; var_r31->unk34.z += var_r31->unk08.z; var_r31->unk08.y += -0.27222225f; - if (var_r31->unk00 < 12.0f) { + if (var_r31->unk00_s16 < 12.0f) { var_r31->unk40.a = 0.88f * var_r31->unk40.a; } - if (!(--var_r31->unk00)) { - var_r31->unk00 = 0; + if (!(--var_r31->unk00_s16)) { + var_r31->unk00_s16 = 0; var_r31->unk2C = 0.0f; var_r31->unk40.a = 0; } @@ -945,13 +936,12 @@ void fn_1_6D64(s32 arg0, u32 arg1, float arg8, float arg9, float argA) arg8 += 180.0f; arg9 = 60.0f; var_f27 = fn_1_75BC(); - } - else { + } else { var_r28 = 20.0f + (80.0f * argA); var_f27 = 0.0f; } for (var_r29 = 0; var_r29 < var_r30->unk_30; var_r29++, var_r31++) { - if (var_r31->unk00) { + if (var_r31->unk00_s16) { continue; } var_r31->unk00 = 60.0f * (1.0f + (0.0005f * frandmod(1000))); @@ -982,8 +972,7 @@ void fn_1_6D64(s32 arg0, u32 arg1, float arg8, float arg9, float argA) var_r31->unk40.r = 200.0f + (55.0f * var_f31); var_r31->unk40.g = 220.0f + (20.0f * var_f31); var_r31->unk40.b = 245.0f + (10.0f * var_f31); - } - else { + } else { var_r31->unk2C = 100.0f + frandmod(100); var_r31->unk40.a = frandmod(100) + 80; var_r31->unk40.r = 200.0f + (55.0f * var_f31); @@ -1098,8 +1087,7 @@ void fn_1_7968(float arg8, float arg9, float argA, Vec *arg0) if (var_r30 < 0) { arg0->x = arg0->z = 0.0f; arg0->y = 1.0f; - } - else { + } else { *arg0 = lbl_1_bss_178.unk_6C4[lbl_1_bss_178.unk_6B4][var_r30]; } } diff --git a/src/REL/m418Dll/main.c b/src/REL/m418Dll/main.c deleted file mode 100644 index 38b547ca..00000000 --- a/src/REL/m418Dll/main.c +++ /dev/null @@ -1,2878 +0,0 @@ -#include "ext_math.h" -#include "game/chrman.h" -#include "game/hsfman.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/wipe.h" -#include "math.h" - -#include "REL/m418Dll.h" - -// types -typedef struct M418DllUnkStruct2 { - omObjData *unk0; - s32 unk4[4]; -} M418DllUnkStruct2; // sizeof 0x14 - -typedef struct M418DllUnkStruct3 { - omObjData *unk0; - s32 unk4; - s32 unk8; - s32 unkC; - s32 unk10; - s32 unk14; - s32 unk18; - s32 unk1C; - f32 unk20; - s32 unk24; - f32 unk28; - f32 unk2C; - f32 unk30; - f32 unk34; - f32 unk38; - f32 unk3C; - char unk40[0xC]; - s32 unk4C; - s32 unk50; - s32 unk54; - s32 unk58; - s32 unk5C; -} M418DllUnkStruct3; // sizeof 0x60 - -typedef struct M418DllUnkStruct4 { - omObjData *unk0; - f32 unk4; - f32 unk8; - s32 unkC; - s32 unk10; - union { - f32 unk14; - s32 unk14s; - }; - union { - f32 unk18; - s32 unk18s; - }; -} M418DllUnkStruct4; // sizeof 0x1C - -typedef struct M418DllUnkStruct6 { - s32 unk0; - s32 unk4[3]; - s32 unk10[3]; - s32 unk1C[3]; - s32 unk28[3]; - s32 unk34; - s32 unk38; - s32 unk3C; - s32 unk40; -} M418DllUnkStruct6; // sizeof 0x44 - -typedef struct M418DllWorkStruct { - omObjData *unk0; - Vec unk4; - Vec unk10[10]; - s32 unk88; - s32 unk8C[10]; -} M418DllWorkStruct; - -// bss -M418DllUnkStruct6 lbl_1_bss_3EC; -M418DllUnkStruct3 lbl_1_bss_26C[4]; -s32 lbl_1_bss_240[11]; -M418DllUnkStruct lbl_1_bss_1F4; -M418DllUnkStruct2 lbl_1_bss_1E0; -M418DllUnkStruct4 lbl_1_bss_170[4]; -M418DllUnkStruct4 lbl_1_bss_11C[3]; -M418DllWorkStruct lbl_1_bss_68; -M418DllUnkStruct7 lbl_1_bss_50; -M418DllUnkStruct7 lbl_1_bss_38; -M418DllUnkStruct7 lbl_1_bss_20; -s32 lbl_1_bss_1C; -u32 lbl_1_bss_18; -s32 lbl_1_bss_14; -s32 lbl_1_bss_10; -s32 lbl_1_bss_C; -s32 lbl_1_bss_8; -s32 lbl_1_bss_4; -Process *lbl_1_bss_0; - -// data -s32 lbl_1_data_0[2] = { -1, -1 }; -s32 lbl_1_data_8 = -1; - -void fn_1_0(void) -{ - Hu3DGLightCreate(-2500.0f, 5000.0f, 5000.0f, 0.0f, -1.0f, -1.0f, 0xFF, 0xD8, 0xA0); -} - -void fn_1_74(void) -{ - M418DllUnkStruct *var_r31 = &lbl_1_bss_1F4; - Vec sp2C = { 0.0f, 1100.0f, 1800.0f }; - Vec sp20 = { 0.0f, 600.0f, 600.0f }; - - fn_1_B104(var_r31, sp2C, sp20); - fn_1_B41C(var_r31); - var_r31->rot.x++; -} - -void fn_1_158(s32 arg0, f32 arg8) -{ - M418DllUnkStruct *var_r31 = &lbl_1_bss_1F4; - - var_r31->unk3C[arg0] = arg8; -} - -f32 fn_1_180(s32 arg0) -{ - M418DllUnkStruct *var_r31 = &lbl_1_bss_1F4; - - if (var_r31->unk3C[arg0] != 0.0f) { - var_r31->unk3C[arg0] *= -0.9f; - if (var_r31->unk3C[arg0] >= -0.5f) { - if (var_r31->unk3C[arg0] <= 0.5f) { - var_r31->unk3C[arg0] = 0.0f; - } - } - } - return var_r31->unk3C[arg0]; -} - -void fn_1_248(M418DllFunc arg0) -{ - M418DllUnkStruct *var_r31 = &lbl_1_bss_1F4; - - var_r31->unk0 = arg0; -} - -void fn_1_268(omObjData *object) -{ - M418DllUnkStruct *var_r31 = &lbl_1_bss_1F4; - - if (var_r31->unk0 != NULL) { - var_r31->unk0(); - } - - Center.x = var_r31->center.x + fn_1_180(0); - Center.y = var_r31->center.y + fn_1_180(1); - Center.z = var_r31->center.z + fn_1_180(2); - CRot.x = var_r31->rot.x; - CRot.y = var_r31->rot.y; - CRot.z = var_r31->rot.z; - CZoom = var_r31->zoom; -} - -void fn_1_500(void) -{ - M418DllUnkStruct *var_r31; - Hu3DCameraCreate(1); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraPerspectiveSet(1, 40.0f, 0.1f, 17500.0f, 1.2f); - var_r31 = &lbl_1_bss_1F4; - var_r31->unk0 = fn_1_74; - omAddObjEx(lbl_1_bss_0, 0x7FDA, 0, 0, -1, omOutView); - omAddObjEx(lbl_1_bss_0, 0x7FD9, 0, 0, -1, fn_1_268); -} - -void fn_1_618(void) -{ - Vec sp20 = { -1500.0f, 2500.0f, 1000.0f }; - Vec sp14 = { 0.0f, 0.0f, 0.0f }; - Vec sp8 = { 0.0f, 1.0f, 0.0f }; - - Hu3DShadowCreate(40.0f, 2000.0f, 25000.0f); - Hu3DShadowTPLvlSet(0.675f); - Hu3DShadowPosSet(&sp20, &sp8, &sp14); -} - -void fn_1_6DC(s32 arg0) -{ - if (lbl_1_bss_8 == 0) { - lbl_1_bss_8 = 1; - lbl_1_bss_4 = arg0 * 0x3C; - } -} - -s32 fn_1_714(void) -{ - s32 var_r31 = 0; - - if (lbl_1_bss_8 == 3) { - var_r31 = 1; - } - return var_r31; -} - -void fn_1_748(void) -{ - if (lbl_1_bss_8 == 2) { - lbl_1_bss_8 = 3; - lbl_1_bss_4 = 30; - } -} - -void fn_1_780(omObjData *object) -{ - switch (lbl_1_bss_8) { - case 1: - if (lbl_1_data_8 == -1) { - lbl_1_data_8 = MGSeqCreate(1, lbl_1_bss_4 / 60, -1, -1); - } - lbl_1_bss_8 = 2; - break; - case 2: - lbl_1_bss_4--; - if (lbl_1_data_8 != -1) { - MGSeqParamSet(lbl_1_data_8, 1, ((lbl_1_bss_4 + 0x3B) / 60)); - } - if (lbl_1_bss_4 <= 0) { - lbl_1_bss_4 = 30; - lbl_1_bss_8 = 3; - } - break; - case 3: - if (lbl_1_data_8 != -1) { - MGSeqParamSet(lbl_1_data_8, 2, -1); - lbl_1_data_8 = -1; - } - lbl_1_bss_4 = 0; - lbl_1_bss_8 = 0; - break; - } -} - -s32 fn_1_950(s32 arg0) -{ - - if ((rand8() % arg0) == 0) { - return 1; - } - else { - return 0; - } -} - -void fn_1_998(omObjData *object) -{ - s32 var_r31; - M418DllUnkStruct2 *var_r30 = &lbl_1_bss_1E0; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - switch (var_r30->unk4[var_r31]) { - case 1: - fn_1_ABC4(object, var_r31 + 1, var_r31 + 1, 0, 2); - var_r30->unk4[var_r31] = 99; - break; - case 2: - fn_1_ABC4(object, var_r31 + 1, var_r31 + 1, 0, 0); - var_r30->unk4[var_r31] = 99; - break; - case 3: - HuAudFXPlay(0x5DD); - Hu3DModelAttrSet(object->model[var_r31 + 1], 0x40000004); - var_r30->unk4[var_r31] = 99; - break; - } - } -} - -void fn_1_AA8(omObjData *object) -{ - Mtx sp10; - char *sp8[2] = { "scene02-dai1_null", "scene02-dai2_null1" }; - s32 var_r31; - - for (var_r31 = 0; var_r31 < 2; var_r31++) { - Hu3DModelObjMtxGet(object->model[5], sp8[var_r31], sp10); - Hu3DModelPosSet(object->model[var_r31 + 6], sp10[0][3], sp10[1][3], sp10[2][3]); - } - object->func = fn_1_998; -} - -void fn_1_B4C(omObjData *object) -{ - s32 sp8[3] = { 0x310021, 0x310022, 0x310023 }; - s32 var_r30; - - object->model[0] = Hu3DModelCreateFile(0x310011); - Hu3DModelShadowMapSet(object->model[0]); - - for (var_r30 = 1; var_r30 < 4; var_r30++) { - object->model[var_r30] = Hu3DModelCreateFile(sp8[var_r30 - 1]); - object->motion[var_r30] = Hu3DMotionIDGet(object->model[var_r30]); - Hu3DModelShadowMapSet(object->model[var_r30]); - Hu3DModelPosSet(object->model[var_r30], 0.0f, 0.0f, 0.0f); - fn_1_ABC4(object, var_r30, var_r30, 0, 2); - } - object->model[4] = Hu3DModelCreateFile(0x310016); - object->model[5] = Hu3DModelCreateFile(0x310018); - - for (var_r30 = 6; var_r30 < 8; var_r30++) { - object->model[var_r30] = Hu3DModelCreateFile(0x310026); - object->motion[var_r30] = Hu3DMotionIDGet(object->model[var_r30]); - Hu3DModelScaleSet(object->model[var_r30], 2.0f, 2.0f, 2.0f); - Hu3DModelLayerSet(object->model[var_r30], 1); - fn_1_ABC4(object, var_r30, var_r30, 0, 1); - } - - for (var_r30 = 8; var_r30 < 11; var_r30++) { - object->model[var_r30] = Hu3DModelCreateFile(0x31002A); - object->motion[var_r30] = Hu3DJointMotion(object->model[var_r30], HuDataSelHeapReadNum(0x31002E, MEMORY_DEFAULT_NUM, HEAP_DATA)); - Hu3DModelPosSet(object->model[var_r30], -350.0f + 360.0f * (var_r30 - 8), -200.0f, -660.0f); - fn_1_ABC4(object, var_r30, var_r30, 0, 1); - } - object->func = fn_1_AA8; -} - -void fn_1_E74(omObjData *object) -{ - Mtx sp18; - f32 var_f31; - - M418DllUnkStruct4 *temp_r30; - M418DllUnkStruct4 *temp_r29; - M418DllUnkStruct3 *temp_r28; - M418DllUnkStruct4 *temp_r27; - M418DllUnkStruct6 *temp_r26; - HsfObject *temp_r25; - ModelData *temp_r24; - - temp_r26 = &lbl_1_bss_3EC; - temp_r28 = &lbl_1_bss_26C[temp_r26->unk0]; - temp_r30 = &lbl_1_bss_170[object->work[0]]; - if (object->work[1] == 0) { - fn_1_ABC4(object, 2, 2, 0, 2); - } - else if (object->work[1] == 1) { - Hu3DModelAttrReset(object->model[3], 1); - Hu3DModelAttrReset(object->model[4], 1); - Hu3DModelAttrReset(object->model[5], 1); - Hu3DModelAttrReset(object->model[6], 1); - fn_1_ABC4(object, 2, 2, 0, 0); - fn_1_ABC4(object, 3, 3, 0, 0); - fn_1_ABC4(object, 4, 4, 0, 1); - object->work[1] = 2; - lbl_1_bss_240[5] = HuAudFXPlay(0x5D6); - } - else if (object->work[1] == 2) { - if (Hu3DMotionEndCheck(object->model[3]) != 0) { - object->work[1] = 3; - object->work[2] = 0; - temp_r30->unkC = 1; - HuAudFXFadeOut(lbl_1_bss_240[5], 0x3E8); - } - } - else if (object->work[1] == 3) { - temp_r29 = &lbl_1_bss_170[object->work[0]]; - temp_r29->unkC = 2; - temp_r29->unk4 += 1.0f; - if (temp_r29->unk4 >= 20.0f) { - temp_r29->unk4 = 20.0f; - } - if (object->work[2]++ >= 0x5A) { - if (temp_r29->unk10 == 1) { - object->work[1] = 5; - temp_r29->unk8 = 0.0f; - } - else { - HuAudFXPlay(0x5D2); - object->work[1] = 4; - Hu3DModelObjMtxGet(object->model[0], "taihou-null4", sp18); - Hu3DModelPosSet(object->model[5], sp18[0][3], sp18[1][3], sp18[2][3]); - fn_1_ABC4(object, 5, 5, 0, 0); - fn_1_158(2, 256.0f); - } - temp_r29->unkC = 3; - } - } - else if (object->work[1] == 4) { - if ((Hu3DMotionEndCheck(object->model[5]) != 0) || (temp_r30->unk10 == 1)) { - object->work[1] = 99; - Hu3DModelAttrSet(object->model[3], 1); - Hu3DModelAttrSet(object->model[4], 1); - Hu3DModelAttrSet(object->model[5], 1); - } - } - else if (object->work[1] == 5 || object->work[1] == 6) { - if (temp_r30->unk8 > 1.7f) { - temp_r30->unk8 = 1.7f; - } - if (object->work[1] == 5) { - var_f31 = temp_r30->unk8 * temp_r30->unk8 * (temp_r30->unk8 >= 0.0f ? -3.5f : 3.5f); - temp_r30->unk4 += var_f31; - } - else { - var_f31 = temp_r30->unk8 * temp_r30->unk8 * (temp_r30->unk8 >= 0.0f ? -1.25f : 1.25f); - temp_r30->unk4 += var_f31; - } - if (temp_r30->unk4 <= 0.0f && object->work[1] == 5) { - temp_r30->unk4 = 0.0f; - temp_r30->unk8 = -1.47f; - object->work[1] = 6; - fn_1_158(1, 4.0f); - omVibrate(temp_r28->unk4, 0xC, 6, 6); - HuAudFXPlay(0x5DA); - } - else { - if ((temp_r30->unk4 <= 0.0f) && (object->work[1] == 6)) { - Hu3DModelObjMtxGet(object->model[0], "taihou-null4", sp18); - Hu3DModelPosSet(object->model[6], sp18[0][3], sp18[1][3], sp18[2][3]); - fn_1_158(1, 4.0f); - omVibrate(temp_r28->unk4, 0xC, 6, 6); - temp_r30->unk4 = 0.0f; - temp_r30->unk8 = 0.0f; - object->work[1] = 4; - fn_1_ABC4(object, 6, 6, 0, 0); - HuAudFXPlay(0x5DA); - HuAudFXPlay(0x5DB); - } - } - temp_r30->unk8 += 0.11f; - } - if (object->work[1] != 0) { - const char *sp8[4] = { "doukasen-null_B", "doukasen-null_A", "doukasen-null_X", "doukasen-null_Y" }; - Hu3DModelObjMtxGet(object->model[3], sp8[object->work[0]], sp18); - Hu3DModelPosSet(object->model[4], sp18[0][3], sp18[1][3], sp18[2][3]); - } - temp_r27 = &lbl_1_bss_170[object->work[0]]; - temp_r25 = Hu3DModelObjPtrGet(object->model[0], "taihou-taihou"); - temp_r25->data.base.rot.x = temp_r27->unk4; - temp_r24 = &Hu3DData[object->model[1]]; - temp_r24->rot.x = temp_r27->unk4; -} - -void fn_1_14F0(omObjData *arg0) -{ - s32 var_r30 = arg0->work[0]; - s32 sp28[4] = { 0x310012, 0x310013, 0x310015, 0x310014 }; - s32 sp18[4] = { 0x310019, 0x31001A, 0x31001B, 0x31001C }; - s32 sp8[4] = { 0x31001D, 0x31001E, 0x31001F, 0x310020 }; - - arg0->model[0] = Hu3DModelCreateFile(0x310010); - omSetTra(arg0, -540.0f + (360.0f * var_r30), 115.0f, -900.0f); - arg0->model[1] = Hu3DModelCreateFile(sp28[var_r30]); - Hu3DModelPosSet(arg0->model[1], -540.0f + (360.0f * var_r30), 115.0f, -900.0f); - arg0->model[2] = Hu3DModelCreateFile(sp18[var_r30]); - arg0->motion[2] = Hu3DMotionIDGet(arg0->model[2]); - fn_1_ABC4(arg0, 2, 2, 0, 2); - arg0->model[3] = Hu3DModelCreateFile(sp8[var_r30]); - arg0->motion[3] = Hu3DMotionIDGet(arg0->model[3]); - Hu3DModelAttrSet(arg0->model[3], 1); - fn_1_ABC4(arg0, 3, 3, 0, 2); - arg0->model[4] = Hu3DModelCreateFile(0x310025); - arg0->motion[4] = Hu3DMotionIDGet(arg0->model[4]); - Hu3DModelAttrSet(arg0->model[4], 1); - fn_1_ABC4(arg0, 4, 4, 0, 2); - arg0->model[5] = Hu3DModelCreateFile(0x310024); - arg0->motion[5] = Hu3DMotionIDGet(arg0->model[5]); - Hu3DModelAttrSet(arg0->model[5], 1); - fn_1_ABC4(arg0, 5, 5, 0, 2); - arg0->model[6] = Hu3DModelCreateFile(0x310028); - arg0->motion[6] = Hu3DMotionIDGet(arg0->model[6]); - Hu3DModelAttrSet(arg0->model[6], 1); - fn_1_ABC4(arg0, 6, 6, 0, 2); - Hu3DModelScaleSet(arg0->model[6], 3.0f, 3.0f, 3.0f); - arg0->func = fn_1_E74; -} - -void fn_1_18AC(omObjData *object) -{ - M418DllUnkStruct4 *var_r31; - - var_r31 = &lbl_1_bss_11C[object->work[0]]; - if (var_r31->unk14 == 0.0f) { - var_r31->unk14 = 1.0f; - } -} - -s32 fn_1_18FC(omObjData *object, Vec arg1, f32 arg8, f32 arg9) -{ - M418DllUnkStruct4 *temp_r30; - s32 var_r28; - f32 var_f31; - f32 var_f30; - f32 var_f27; - f32 var_f26; - f32 var_f24; - f32 var_f20; - - var_r28 = 0; - temp_r30 = &lbl_1_bss_11C[object->work[0]]; - var_f31 = arg1.x - object->trans.x; - var_f30 = object->trans.z - arg1.z; - var_f26 = 90.0 + atan2d(var_f30, var_f31); - var_f27 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (var_f27 <= 15.0f) { - var_f31 = var_f30 = 0.0f; - } - else { - var_f31 = 55.0f * (var_f31 / var_f27); - var_f30 = 55.0f * (var_f30 / var_f27); - } - if (temp_r30->unk14 == 1.0f) { - temp_r30->unk18 = -1.47f; - } - var_f27 = arg9 * (sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)) / 72.0f); - if (var_f27 >= arg9) { - var_f27 = arg9; - } - else if (var_f27 <= 1.0f) { - var_f31 = var_f30 = var_f27 = 0.0f; - var_r28 = 1; - } - if (var_f31 != 0.0f || var_f30 != 0.0f || arg8 >= 0.0f) { - if (arg8 >= 0.0f && var_f31 == 0.0f && var_f30 == 0.0f) { - var_f26 = arg8; - } - if (var_f26 >= 180.0f) { - if (object->rot.y - var_f26 >= 180.0f) { - object->rot.y -= 360.0f; - } - if (object->rot.y - var_f26 < -180.0f) { - object->rot.y += 360.0f; - } - } - else { - if (object->rot.y - var_f26 > 180.0f) { - object->rot.y -= 360.0f; - } - if (object->rot.y - var_f26 <= -180.0f) { - object->rot.y += 360.0f; - } - } - object->rot.y = (((9.0f * object->rot.y) + var_f26) / 10.0f); - } - object->trans.x += var_f27 * sind(object->rot.y); - object->trans.z += var_f27 * cosd(object->rot.y); - if (temp_r30->unk14) { - temp_r30->unk14 = 2.0f; - if (temp_r30->unk18 > 1.7f) { - temp_r30->unk18 = 1.7f; - } - var_f20 = (temp_r30->unk18 * temp_r30->unk18) * (temp_r30->unk18 >= 0.0f ? -3.5f : 3.5f); - object->trans.y += var_f20; - if (object->trans.y <= arg1.y) { - object->trans.y = arg1.y; - temp_r30->unk14 = temp_r30->unk18 = 0.0f; - var_r28 = 2; - } - temp_r30->unk18 += 0.11f; - } - if (var_f27 > 0.0f) { - fn_1_AD14(object, 0, 1, 10, 1); - } - else { - fn_1_AD14(object, 0, 0, 10, 1); - } - return var_r28; -} - -s32 fn_1_20B0(omObjData *object, Vec arg1, f32 arg8, f32 arg9, s32 arg2) -{ - if (arg2 == 1) - fn_1_18AC(object); - return fn_1_18FC(object, arg1, arg9, arg8); -} - -Vec lbl_1_data_8C[9] = { { 140.0f, 0.0f, -90.0f }, { -200.0f, 0.0f, 50.0f }, { -300.0f, 0.0f, -150.0f }, { -250.0f, 0.0f, -500.0f }, - { 0.0f, 0.0f, 150.0f }, { 700.0f, 0.0f, 50.0f }, { 1000.0f, -50.0f, 500.0f }, { 1000.0f, -100.0f, 500.0f }, { 1000.0f, -150.0f, 500.0f } }; - -s32 fn_1_2178(omObjData *object) -{ - s32 var_r30; - - switch (object->work[1]) { - case 1: - object->work[2] = 0; - object->work[1] = 10; - case 10: - fn_1_20B0(object, lbl_1_data_8C[1], 0.0f, 25.0f, 0); - if (object->work[2]++ >= 15) { - object->work[1] = 11; - object->work[2] = 0; - } - break; - case 11: - var_r30 = fn_1_20B0(object, lbl_1_data_8C[1], 6.0f, -1.0f, 0); - if (var_r30 != 0) { - object->work[1] = 12; - object->work[2] = 0; - } - break; - case 12: - fn_1_20B0(object, lbl_1_data_8C[1], 0.0f, 0.0f, 0); - if (object->work[2]++ >= 15) { - object->work[1] = 13; - object->work[2] = 0; - } - break; - - case 2: - object->work[2] = 0; - object->work[1] = 0x14; - case 20: - fn_1_20B0(object, lbl_1_data_8C[0], 0.0f, 25.0f, 0); - if (object->work[2]++ >= 15) { - object->work[1] = 21; - object->work[2] = 0; - } - break; - case 21: - var_r30 = fn_1_20B0(object, lbl_1_data_8C[4], 6.0f, -1.0f, 0); - if (var_r30 != 0) { - object->work[1] = 22; - object->work[2] = 0; - } - break; - case 22: - var_r30 = fn_1_20B0(object, lbl_1_data_8C[0], 6.0f, 0.0f, 0); - if (var_r30 != 0) { - object->work[1] = 24; - object->work[2] = 0; - } - break; - case 23: - fn_1_20B0(object, lbl_1_data_8C[1], 0.0f, 0.0f, 0); - if (object->work[2]++ >= 30) { - object->work[1] = 24; - object->work[2] = 0; - } - break; - case 3: - object->work[2] = 0; - object->work[1] = 30; - case 30: - var_r30 = fn_1_20B0(object, lbl_1_data_8C[5], 6.0f, -1.0f, 0); - if (var_r30 == 1) { - object->work[1] = 31; - object->work[2] = 0; - } - break; - case 31: - var_r30 = fn_1_20B0(object, lbl_1_data_8C[6], 6.0f, -1.0f, 1); - if (var_r30 != 0) { - object->work[1] = 32; - object->work[2] = 0; - } - break; - case 32: - var_r30 = fn_1_20B0(object, lbl_1_data_8C[7], 6.0f, -1.0f, 1); - if (var_r30 != 0) { - object->work[1] = 33; - object->work[2] = 0; - } - break; - case 33: - var_r30 = fn_1_20B0(object, lbl_1_data_8C[8], 6.0f, -1.0f, 1); - if (var_r30 != 0) { - object->work[1] = 34; - object->work[2] = 0; - } - break; - } -} - -void fn_1_2894(omObjData *object) -{ - Mtx sp3C; - Mtx spC; - M418DllUnkStruct6 *sp8; - f32 temp_f31; - - sp8 = &lbl_1_bss_3EC; - temp_f31 = 0.5f + (0.5f * (CRot.x / 90.0f)); - Hu3DModelObjMtxGet(object->model[0], "g031m1-itemhook_R", spC); - Hu3DModelObjMtxGet(object->model[5], "g031i00-itemhook_eff", sp3C); - Hu3DModelRotSet(object->model[6], 0.0f, -object->rot.y, 0.0f); - Hu3DModelScaleSet(object->model[6], 0.35f, temp_f31, 0.35f); - fn_1_2178(object); -} - -void fn_1_29A0(omObjData *object) -{ - u32 temp_r30; - - temp_r30 = object->work[0]; - object->model[0] = Hu3DModelCreateFile(0x31002A); - object->motion[0] = Hu3DJointMotionFile(object->model[0], 0x31002B); - object->motion[1] = Hu3DJointMotionFile(object->model[0], 0x31002C); - object->motion[2] = Hu3DJointMotionFile(object->model[0], 0x31002D); - object->motion[3] = Hu3DJointMotionFile(object->model[0], 0x31002E); - omSetTra(object, lbl_1_data_8C[temp_r30].x, lbl_1_data_8C[temp_r30].y, lbl_1_data_8C[temp_r30].z); - fn_1_ABC4(object, 0, 0, 0, 1); - object->model[5] = Hu3DModelCreateFile(0x31002F); - Hu3DModelHookSet(object->model[0], "g031m1-itemhook_R", object->model[5]); - object->model[6] = Hu3DModelCreateFile(0x310027); - object->motion[6] = Hu3DMotionIDGet(object->model[6]); - Hu3DModelHookSet(object->model[5], "g031i00-itemhook_eff", object->model[6]); - fn_1_ABC4(object, 6, 6, 0, 1); - object->work[1] = -1; - Hu3DModelShadowSet(object->model[0]); - object->func = fn_1_2894; -} - -void fn_1_2BC4(Vec arg0) -{ - M418DllWorkStruct *var_r31 = &lbl_1_bss_68; - var_r31->unk4.x = arg0.x; - var_r31->unk4.y = arg0.y; - var_r31->unk4.z = arg0.z; - var_r31->unk88 = 0; - var_r31->unk0->work[0] = 1; -} - -void fn_1_2C0C(omObjData *object) -{ - ModelData *temp_r28; - M418DllWorkStruct *var_r31 = &lbl_1_bss_68; - s32 var_r30; - - switch (object->work[0]) { - case 1: - for (var_r30 = 0; var_r30 < 10; var_r30++) { - var_r31->unk10[var_r30].x = (var_r31->unk4.x + 50.0 * cosd(36.0f * var_r30)) + (rand8() % 25); - var_r31->unk10[var_r30].y = (var_r31->unk4.y + 50.0 * sind(36.0f * var_r30)) + (rand8() % 25); - var_r31->unk10[var_r30].z = var_r31->unk4.z; - var_r31->unk8C[var_r30] = (rand8() % 5) + 10; - Hu3DModelPosSet(object->model[var_r30 + 1], var_r31->unk4.x, var_r31->unk4.y, var_r31->unk4.z); - Hu3DModelTPLvlSet(object->model[var_r30 + 1], 1.0f); - } - object->work[0] = 2; - break; - case 2: - for (var_r30 = 0; var_r30 < 10; var_r30++) { - temp_r28 = &Hu3DData[object->model[var_r30 + 1]]; - temp_r28->pos.x = fn_1_A920(temp_r28->pos.x, var_r31->unk10[var_r30].x, var_r31->unk8C[var_r30]); - temp_r28->pos.y = fn_1_A920(temp_r28->pos.y, var_r31->unk10[var_r30].y, var_r31->unk8C[var_r30]); - temp_r28->pos.z = fn_1_A920(temp_r28->pos.z, var_r31->unk10[var_r30].z, var_r31->unk8C[var_r30]); - if (var_r31->unk88 >= 20) { - Hu3DModelTPLvlSet(object->model[var_r30 + 1], 1.0f - (0.1f * (var_r31->unk88 - 0x14))); - } - } - if (var_r31->unk88 >= 30) { - object->work[0] = 0; - } - var_r31->unk88++; - } -} - -void fn_1_3054(omObjData *object) -{ - s32 var_r30; - - for (var_r30 = 1; var_r30 < 11; var_r30++) { - object->model[var_r30] = Hu3DModelCreateFile(0x310029); - Hu3DModelPosSet(object->model[var_r30], 0.0f, -500.0f, 0.0f); - Hu3DModelScaleSet(object->model[var_r30], 10.0f, 10.0f, 10.0f); - } - object->work[0] = 0; - object->func = fn_1_2C0C; -} - -void fn_1_3138(void) -{ - M418DllUnkStruct3 *temp_r31; - s32 var_r30; - - for (var_r30 = 0; var_r30 < 4; var_r30++) { - temp_r31 = &lbl_1_bss_26C[var_r30]; - temp_r31->unk4 = var_r30; - temp_r31->unk8 = GWPlayerCfg[temp_r31->unk4].group; - if (temp_r31->unk8 == 0) { - temp_r31->unk8 = 0; - } - else { - temp_r31->unk8 = 1; - } - temp_r31->unkC = GWPlayerCfg[temp_r31->unk4].iscom; - if (temp_r31->unkC != 0) { - temp_r31->unk10 = GWPlayerCfg[temp_r31->unk4].diff; - } - else { - temp_r31->unk10 = 0; - } - temp_r31->unk14 = GWPlayerCfg[temp_r31->unk4].character; - temp_r31->unk18 = GWPlayerCfg[temp_r31->unk4].pad_idx; - } -} - -char *lbl_1_data_1C0[8] = { "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r", - "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r" }; - -void fn_1_3240(omObjData *object) -{ - Mtx sp14; - Vec sp8; - M418DllUnkStruct3 *temp_r28; - ModelData *temp_r30; - M418DllWorkStruct *var_r29; - - temp_r30 = &Hu3DData[object->model[11]]; - temp_r28 = &lbl_1_bss_26C[object->work[0]]; - switch (object->work[1]) { - case 1: - Hu3DModelHookReset(object->model[0]); - Hu3DModelObjMtxGet(object->model[0], lbl_1_data_1C0[temp_r28->unk14], sp14); - Hu3DModelPosSet(object->model[11], sp14[0][3], sp14[1][3], sp14[2][3]); - temp_r30->rot.y = object->rot.y; - object->work[1] = 2; - object->work[2] = 0; - break; - case 2: - fn_1_AD14(object, 0, 0, 0x1E, 1); - temp_r30->pos.y = fn_1_A920(temp_r30->pos.y, 350.0f, 30.0f); - temp_r30->rot.x += 30.0f; - if (object->work[2]++ >= 0x1EU) { - HuAudFXPlay(0x5DE); - fn_1_2BC4(temp_r30->pos); - Hu3DModelAttrSet(object->model[11], 1); - object->work[1] = object->work[2] = 0; - } - break; - } -} - -void fn_1_3408(omObjData *object) -{ - M418DllUnkStruct3 *temp_r31; - - temp_r31 = &lbl_1_bss_26C[object->work[0]]; - if (temp_r31->unk1C == 0) { - temp_r31->unk1C = 1; - } -} - -void fn_1_3444(omObjData *object, Vec arg1, f32 arg8, f32 arg9) -{ - s32 sp24; - f32 sp20; - f32 sp1C; - f32 sp18; - M418DllUnkStruct3 *temp_r28; - M418DllUnkStruct3 *temp_r30; - - f32 var_f31; - f32 var_f30; - f32 temp_f29; - f32 temp_f28; - f32 var_f24; - f32 var_f23; - f32 var_f22; - - s32 var_r27; - s32 var_r29; - - sp24 = 0; - var_r27 = 0; - temp_r30 = &lbl_1_bss_26C[object->work[0]]; - var_f31 = arg1.x - object->trans.x; - var_f30 = object->trans.z - arg1.z; - var_f23 = 90.0 + atan2d(var_f30, var_f31); - var_f24 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (var_f24 <= 30.0f) { - var_f31 = var_f30 = 0.0f; - } - else { - var_f31 = 55.0f * (var_f31 / var_f24); - var_f30 = 55.0f * (var_f30 / var_f24); - } - if (temp_r30->unk1C == 1) { - temp_r30->unk20 = -1.47f; - } - var_f24 = arg9 * (sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)) / 72.0f); - if (var_f24 >= arg9) { - var_f24 = arg9; - } - else if (var_f24 <= 1.0f) { - var_f31 = var_f30 = var_f24 = 0.0f; - } - if (var_f31 != 0.0f || var_f30 != 0.0f || arg8 >= 0.0f) { - if (arg8 >= 0.0f && var_f31 == 0.0f && var_f30 == 0.0f) { - var_f23 = arg8; - } - if (var_f23 >= 180.0f) { - if (object->rot.y - var_f23 >= 180.0f) { - object->rot.y -= 360.0f; - } - if (object->rot.y - var_f23 < -180.0f) { - object->rot.y += 360.0f; - } - } - else { - if (object->rot.y - var_f23 > 180.0f) { - object->rot.y -= 360.0f; - } - if (object->rot.y - var_f23 <= -180.0f) { - object->rot.y += 360.0f; - } - } - object->rot.y = (((4.0f * object->rot.y) + var_f23) / 5.0f); - } - var_r27 = 0; - sp1C = object->trans.x + (50.0 * cosd(object->rot.y - 90.0f)); - sp18 = object->trans.z - (50.0 * sind(object->rot.y - 90.0f)); - - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (var_r29 == object->work[0]) - continue; - temp_r28 = &lbl_1_bss_26C[var_r29]; - temp_f29 = temp_r28->unk0->trans.x; - temp_f28 = temp_r28->unk0->trans.z; - temp_f29 -= sp1C; - temp_f28 -= sp18; - if (sqrtf((temp_f29 * temp_f29) + (temp_f28 * temp_f28)) < 100.0f) { - var_r27 = 1; - break; - } - } - if (var_r27 == 0) { - object->trans.x = object->trans.x + (var_f24 * sind(object->rot.y)); - object->trans.z = object->trans.z + (var_f24 * cosd(object->rot.y)); - } - if (temp_r30->unk1C != 0) { - temp_r30->unk1C = 2; - if (temp_r30->unk20 > 1.7f) { - temp_r30->unk20 = 1.7f; - } - sp20 = temp_r30->unk20 * temp_r30->unk20 * (temp_r30->unk20 >= 0.0f ? -17.5f : 17.5f); - object->trans.y += sp20; - if (object->trans.y <= 0.0f) { - object->trans.y = 0.0f; - temp_r30->unk1C = temp_r30->unk20 = 0.0f; - omVibrate(temp_r30->unk4, 0xC, 6, 6); - } - temp_r30->unk20 += 0.11f; - } - if (temp_r30->unk1C != 0) { - fn_1_AD14(object, 0, 3, 10, 0); - return; - } - if (var_f24 >= 6.75f) { - fn_1_AD14(object, 0, 2, 10, 1); - return; - } - if (var_f24 > 0.0f) { - fn_1_AD14(object, 0, 1, 10, 1); - return; - } - fn_1_AD14(object, 0, 0, 10, 1); -} - -void fn_1_3EB0(omObjData *object, Vec arg1, f32 arg8, f32 arg9) -{ - M418DllUnkStruct3 *temp_r30; - s32 sp10; - f32 var_f31; - f32 var_f30; - f32 var_f27; - f32 var_f26; - f32 var_f24; - f32 var_f20; - - sp10 = 0; - temp_r30 = &lbl_1_bss_26C[object->work[0]]; - var_f31 = arg1.x - object->trans.x; - var_f30 = object->trans.z - arg1.z; - var_f26 = 90.0 + atan2d(var_f30, var_f31); - var_f27 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (var_f27 <= 30.0f) { - var_f31 = var_f30 = 0.0f; - } - else { - var_f31 = 55.0f * (var_f31 / var_f27); - var_f30 = 55.0f * (var_f30 / var_f27); - } - if (temp_r30->unk1C == 1) { - temp_r30->unk20 = -1.47f; - } - var_f27 = arg9 * (sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)) / 72.0f); - if (var_f27 >= arg9) { - var_f27 = arg9; - } - else if (var_f27 <= 1.0f) { - var_f31 = var_f30 = var_f27 = 0.0f; - } - if (var_f31 != 0.0f || var_f30 != 0.0f || arg8 >= 0.0f) { - if (arg8 >= 0.0f && var_f31 == 0.0f && var_f30 == 0.0f) { - var_f26 = arg8; - } - if (var_f26 >= 180.0f) { - if (object->rot.y - var_f26 >= 180.0f) { - object->rot.y -= 360.0f; - } - if (object->rot.y - var_f26 < -180.0f) { - object->rot.y += 360.0f; - } - } - else { - if (object->rot.y - var_f26 > 180.0f) { - object->rot.y -= 360.0f; - } - if (object->rot.y - var_f26 <= -180.0f) { - object->rot.y += 360.0f; - } - } - object->rot.y = (((4.0f * object->rot.y) + var_f26) / 5.0f); - } - object->trans.x += var_f27 * sind(object->rot.y); - object->trans.z += var_f27 * cosd(object->rot.y); - if (temp_r30->unk1C) { - temp_r30->unk1C = 2.0f; - if (temp_r30->unk20 > 1.7f) { - temp_r30->unk20 = 1.7f; - } - var_f20 = (temp_r30->unk20 * temp_r30->unk20) * (temp_r30->unk20 >= 0.0f ? -17.5f : 17.5f); - object->trans.y += var_f20; - if (object->trans.y <= 0.0f) { - object->trans.y = 0.0f; - temp_r30->unk1C = temp_r30->unk20 = 0.0f; - omVibrate(temp_r30->unk4, 0xC, 6, 6); - } - temp_r30->unk20 += 0.11f; - } - if (temp_r30->unk1C != 0) { - fn_1_AD14(object, 0, 3, 10, 0); - } - else if (var_f27 >= 6.75f) { - fn_1_AD14(object, 0, 2, 10, 1); - } - else if (var_f27 > 0.0f) { - fn_1_AD14(object, 0, 1, 10, 1); - } - else { - fn_1_AD14(object, 0, 0, 10, 1); - } -} - -s32 lbl_1_data_1E0[4][2] = { { -1, 127 }, { -1, 127 }, { -1, 127 }, { -1, 127 } }; - -void fn_1_46C4(omObjData *object) -{ - s32 sp8; - M418DllUnkStruct3 *temp_r31; - - sp8 = 0; - temp_r31 = &lbl_1_bss_26C[object->work[0]]; - - switch (temp_r31->unk24) { - case 0: - temp_r31->unk2C = object->scale.x; - temp_r31->unk34 = temp_r31->unk38 = 0.0f; - temp_r31->unk24 = 1; - break; - case 1: - temp_r31->unk28 -= 1.0f; - if (temp_r31->unk28 <= 0.0f) { - temp_r31->unk28 = 15.0f; - temp_r31->unk24 = 2; - omVibrate(temp_r31->unk4, 0xC, 0xC, 0); - lbl_1_data_1E0[object->work[0]][0] = HuAudCharVoicePlay(temp_r31->unk14, 0x123); - lbl_1_data_1E0[object->work[0]][1] = 0x7F; - HuAudFXPlay(0x5D4); - } - break; - case 2: - object->trans.x += 4.0f * temp_r31->unk30; - object->trans.y += 125.0 * sind(temp_r31->unk28); - object->trans.z -= 125.0 * cos(M_PI / 12.0); - if (temp_r31->unk28 <= 14.0f) { - Hu3DModelAttrReset(object->model[0], 1); - } - temp_r31->unk28 -= 0.25f; - if (temp_r31->unk28 <= 0.0f) { - temp_r31->unk24 = 3; - } - break; - case 3: - object->trans.y += 110.0 * sind(temp_r31->unk28); - temp_r31->unk28 -= 0.0275f; - temp_r31->unk2C -= 0.0025f; - if (temp_r31->unk2C <= 0.3f) { - temp_r31->unk2C = 0.0f; - temp_r31->unk24 = 4; - temp_r31->unk28 = 0.0f; - HuAudFXPlay(0x5D5); - } - omSetSca(object, temp_r31->unk2C, temp_r31->unk2C, temp_r31->unk2C); - break; - case 4: - temp_r31->unk38 = fn_1_A920(temp_r31->unk38, 360.0f, 15.0f); - temp_r31->unk34 = fn_1_A920(temp_r31->unk34, 4.0f, 15.0f); - Hu3DModelPosSet(object->model[1], object->trans.x, object->trans.y, object->trans.z); - Hu3DModelRotSet(object->model[1], 0.0f, 0.0f, temp_r31->unk38); - Hu3DModelScaleSet(object->model[1], temp_r31->unk34, temp_r31->unk34, temp_r31->unk34); - if (temp_r31->unk28++ >= 30.0f) { - temp_r31->unk24 = 5; - temp_r31->unk28 = 0.0f; - } - break; - case 5: - temp_r31->unk38 = fn_1_A920(temp_r31->unk38, 720.0f, 15.0f); - temp_r31->unk34 = fn_1_A920(temp_r31->unk34, 0.0f, 15.0f); - Hu3DModelPosSet(object->model[1], object->trans.x, object->trans.y, object->trans.z); - Hu3DModelRotSet(object->model[1], 0.0f, 0.0f, temp_r31->unk38); - Hu3DModelScaleSet(object->model[1], temp_r31->unk34, temp_r31->unk34, temp_r31->unk34); - if (temp_r31->unk28++ >= 60.0f) { - temp_r31->unk24 = 6; - temp_r31->unk28 = 0.0f; - } - break; - } - if ((temp_r31->unk24 >= 1) && (temp_r31->unk24 <= 5) && (lbl_1_data_1E0[object->work[0]][0] != -1)) { - HuAudFXVolSet(lbl_1_data_1E0[object->work[0]][0], --lbl_1_data_1E0[object->work[0]][1]); - if (lbl_1_data_1E0[object->work[0]][1] < 0) { - lbl_1_data_1E0[object->work[0]][1] = 0; - } - } -} - -void fn_1_4C84(omObjData *object) -{ - Mtx sp14; - Vec sp8; - f32 var_f31; - M418DllUnkStruct3 *temp_r26; - M418DllWorkStruct *var_r27; - M418DllUnkStruct3 *temp_r30; - ModelData *temp_r28; - ModelData *temp_r29; - s32 temp_r0; - u32 temp_r3; - - temp_r30 = &lbl_1_bss_26C[object->work[0]]; - if (temp_r30->unk8 == 0) { - var_f31 = (0.5f * temp_r30->unk3C) + ((CRot.x / 90.0f) * (0.5f * temp_r30->unk3C)); - temp_r29 = &Hu3DData[object->model[12]]; - if ((temp_r30->unk14 == 7) || (temp_r30->unk14 == 5)) { - temp_r29->rot.y = -object->rot.y - 360.0f; - } - else { - temp_r29->rot.y = -object->rot.y - 90.0f; - } - temp_r29->scale.x = 0.35f * temp_r30->unk3C; - temp_r29->scale.y = var_f31; - temp_r29->scale.z = 0.35f * temp_r30->unk3C; - fn_1_3240(object); - } - fn_1_46C4(object); -} - -void fn_1_4F60(omObjData *object) -{ - M418DllUnkStruct3 *temp_r30; - - temp_r30 = &lbl_1_bss_26C[object->work[0]]; - object->model[0] = CharModelCreate(temp_r30->unk14, 2); - object->motion[0] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00)); - object->motion[1] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02)); - object->motion[2] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03)); - object->motion[3] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x73)); - object->motion[4] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x74)); - object->motion[5] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17)); - object->motion[6] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18)); - object->motion[7] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x1B)); - object->motion[8] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x2A)); - object->motion[9] = Hu3DJointMotion(object->model[0], HuDataSelHeapReadNum(temp_r30->unk14 + 0x310000, 0x10000000, HEAP_DATA)); - object->motion[10] = Hu3DJointMotion(object->model[0], HuDataSelHeapReadNum(temp_r30->unk14 + 0x310008, 0x10000000, HEAP_DATA)); - object->model[1] = Hu3DModelCreateFile(0x310017); - Hu3DModelPosSet(object->model[1], 0.0f, -5000.0f, 0.0f); - Hu3DModelShadowSet(object->model[0]); - if (temp_r30->unk8 == 0) { - Hu3DMotionOverlaySet(object->model[0], object->motion[9]); - Hu3DMotionOverlaySpeedSet(object->model[0], 0.0f); - object->model[11] = Hu3DModelCreateFile(0x31002F); - Hu3DModelHookSet(object->model[0], CharModelHookNameGet(temp_r30->unk14, 2, 0), object->model[11]); - if ((temp_r30->unk14 == 4) || (temp_r30->unk14 == 5)) { - Hu3DModelScaleSet(object->model[11], 1.0f, 1.2f, 1.0f); - } - object->model[12] = Hu3DModelCreateFile(0x310027); - object->motion[12] = Hu3DMotionIDGet(object->model[12]); - Hu3DModelHookSet(object->model[11], "g031i00-itemhook_eff", object->model[12]); - Hu3DModelScaleSet(object->model[12], 0.0f, 0.5f, 0.0f); - fn_1_ABC4(object, 0xC, 0xC, 0, 1); - object->model[13] = Hu3DModelCreateFile(0x310028); - object->motion[13] = Hu3DMotionIDGet(object->model[13]); - fn_1_ABC4(object, 0xD, 0xD, 0, 2); - } - lbl_1_data_1E0[object->work[0]][0] = -1; - CharModelMotionDataClose(temp_r30->unk14); - CharModelLayerSetAll2(7); - object->func = fn_1_4C84; -} - -void fn_1_5358(void) -{ - M418DllUnkStruct *var_r31 = &lbl_1_bss_1F4; - Vec sp2C = { 0.0f, 1100.0f, 1800.0f }; - Vec sp20 = { 0.0f, 600.0f, 600.0f }; - - fn_1_B104(var_r31, sp2C, sp20); - fn_1_B41C(var_r31); - var_r31->rot.x++; -} - -void fn_1_543C(void) -{ - M418DllUnkStruct sp38; - M418DllUnkStruct *var_r31 = &lbl_1_bss_1F4; - Vec sp2C = { -180.0f, 500.0f, 440.0f }; - Vec sp20 = { -180.0f, 330.0f, -760.0f }; - - fn_1_B104(&sp38, sp2C, sp20); - fn_1_B41C(&sp38); - sp38.center.x = 0.0f; - sp38.center.y -= 75.0f; - sp38.rot.x = -10.0f; - sp38.rot.y = 10.0f; - fn_1_DC10(var_r31, &sp38, var_r31->unk48++, 30.0f, 10.0f); -} - -void fn_1_558C(void) -{ - M418DllUnkStruct sp38; - M418DllUnkStruct *var_r31 = &lbl_1_bss_1F4; - Vec sp2C = { 0.0f, 1100.0f, 1800.0f }; - Vec sp20 = { 0.0f, 600.0f, 600.0f }; - - fn_1_B104(&sp38, sp2C, sp20); - fn_1_B41C(&sp38); - sp38.rot.x++; - fn_1_CBF8(var_r31, &sp38, var_r31->unk48++, 30.0f, 10.0f); -} - -void fn_1_56AC(s32 arg0) -{ - M418DllUnkStruct *var_r28 = &lbl_1_bss_1F4; - fn_1_B458(var_r28); - switch (arg0) { - case 0: - fn_1_248(fn_1_5358); - break; - case 1: - fn_1_248(fn_1_543C); - break; - case 2: - fn_1_248(fn_1_558C); - break; - } -} - -void fn_1_5768(s32 arg0) -{ - s32 var_r31; - M418DllUnkStruct4 *var_r30; - M418DllUnkStruct *var_r26; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - var_r30 = &lbl_1_bss_170[var_r31]; - var_r30->unkC = 0; - } - - fn_1_56AC(0); -} - -s32 fn_1_57E4(s32 arg0) -{ - M418DllUnkStruct4 *temp_r31; - M418DllUnkStruct *var_r25; - s32 var_r29; - s32 var_r30; - - if (fn_1_B0C8(&lbl_1_bss_50, 0) >= 0x3C) { - for (var_r30 = 0; var_r30 < 3; var_r30++) { - temp_r31 = &lbl_1_bss_170[var_r30]; - if (temp_r31->unkC == 0) { - if ((rand8() % 5) == 0) { - var_r29 = 1; - } - else { - var_r29 = 0; - } - if (var_r29 || (fn_1_B0C8(&lbl_1_bss_50, 0) >= 0x41)) { - HuAudFXPlay(0x5D3); - temp_r31->unkC = 1; - } - } - else { - temp_r31->unk4 += 5.0f; - if (temp_r31->unk4 >= 90.0f) { - temp_r31->unk4 = 90.0f; - } - } - } - } - if (fn_1_B0C8(&lbl_1_bss_50, 0) == 0x1E) { - fn_1_56AC(1); - } - if (fn_1_B0C8(&lbl_1_bss_50, 1) != 0) { - return fn_1_AF38(&lbl_1_bss_50); - } - else { - return 0; - } -} - -s32 lbl_1_data_200[16] = { 0x310000, 0x310001, 0x310002, 0x310003, 0x310004, 0x310005, 0x310006, 0x310007, 0x310008, 0x310009, 0x31000A, 0x31000B, - 0x31000C, 0x31000D, 0x31000E, 0x31000F }; - -Vec lbl_1_data_240[3] = { - { -540.0f, 225.0f, -900.0f }, - { -180.0f, 225.0f, -900.0f }, - { 180.0f, 225.0f, -900.0f }, -}; - -void fn_1_5970(s32 arg0) -{ - M418DllUnkStruct3 *temp_r30; - M418DllUnkStruct6 *temp_r29; - M418DllUnkStruct4 *temp_r28; - s32 var_r31; - - temp_r29 = &lbl_1_bss_3EC; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - temp_r30 = &lbl_1_bss_26C[temp_r29->unk4[var_r31]]; - omSetTra(temp_r30->unk0, lbl_1_data_240[var_r31].x, lbl_1_data_240[var_r31].y, lbl_1_data_240[var_r31].z - 50.0f); - temp_r30->unk4C = 0; - } - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - temp_r28 = &lbl_1_bss_170[var_r31]; - temp_r28->unkC = 0; - } -} - -Vec lbl_1_data_264[4] = { - { -355.0f, 0.0f, -680.0f }, - { 5.0f, 0.0f, -680.0f }, - { 365.0f, 0.0f, -680.0f }, -}; - -s32 fn_1_5A6C(s32 arg0) -{ - s32 var_r31; - M418DllUnkStruct3 *temp_r30; - M418DllUnkStruct4 *temp_r29; - M418DllUnkStruct3 *temp_r28; - M418DllUnkStruct6 *temp_r27; - s32 var_r26; - omObjData *temp_r25; - s32 var_r24; - M418DllUnkStruct *temp_r20; - - temp_r27 = &lbl_1_bss_3EC; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - temp_r30 = &lbl_1_bss_26C[temp_r27->unk4[var_r31]]; - if (temp_r30->unk4C == 0) { - if ((rand8() % 5) == 0) { - var_r26 = 1; - } - else { - var_r26 = 0; - } - if (var_r26 || (fn_1_B0C8(&lbl_1_bss_50, 0) >= 5)) { - temp_r30->unk4C = 1; - temp_r25 = temp_r30->unk0; - temp_r28 = &lbl_1_bss_26C[temp_r25->work[0]]; - if (temp_r28->unk1C == 0) { - temp_r28->unk1C = 1; - } - HuAudCharVoicePlay(temp_r30->unk14, 0x122); - } - } - else { - fn_1_3EB0(temp_r30->unk0, lbl_1_data_264[var_r31], 0.0f, 9.0f); - } - } - if (fn_1_B0C8(&lbl_1_bss_50, 0) >= 0x3C) { - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - temp_r29 = &lbl_1_bss_170[var_r31]; - if (temp_r29->unkC == 0) { - if ((rand8() % 5) == 0) { - var_r24 = 1; - } - else { - var_r24 = 0; - } - if ((var_r24 != 0) || (fn_1_B0C8(&lbl_1_bss_50, 0) >= 0x41)) { - HuAudFXPlay(0x5D3); - temp_r29->unkC = 1; - } - } - else { - temp_r29->unk4 -= 2.5f; - if (temp_r29->unk4 <= 0.0f) { - temp_r29->unk4 = 0.0f; - } - } - } - } - if (fn_1_B0C8(&lbl_1_bss_50, 0) == 0x3C) { - fn_1_56AC(2); - } - if (fn_1_B0C8(&lbl_1_bss_50, 1) != 0) { - return fn_1_AF38(&lbl_1_bss_50); - } - return 0; -} - -M418DllUnkStruct8 lbl_1_data_294[3] = { { fn_1_5768, fn_1_57E4, 0x5A }, { fn_1_5970, fn_1_5A6C, 0xB4 }, { NULL, NULL, -1 } }; - -void fn_1_5D28(void) -{ - fn_1_AEDC(&lbl_1_bss_50, &lbl_1_data_294[0]); -} - -s32 fn_1_5D58(void) -{ - s32 var_r31; - - var_r31 = 0; - if (lbl_1_bss_50.unk10 != NULL) { - lbl_1_bss_50.unk10(); - lbl_1_bss_50.unk10 = NULL; - } - if (lbl_1_bss_50.unk14 != NULL) { - var_r31 = lbl_1_bss_50.unk14(); - } - return var_r31; -} - -s32 fn_1_5DF0(omObjData *object, s32 arg1) -{ - M418DllUnkStruct3 *temp_r31; - s32 var_r30; - - temp_r31 = &lbl_1_bss_26C[object->work[0]]; - var_r30 = temp_r31->unk4C; - if (temp_r31->unkC != 0) { - switch (temp_r31->unk10) { - case 0: - if ((arg1 % 100) == 0) { - var_r30 = rand8() % 4; - } - break; - case 1: - if ((arg1 % 50) == 0) { - var_r30 = rand8() % 4; - } - break; - case 2: - if ((arg1 % 25) == 0) { - var_r30 = rand8() % 4; - } - break; - case 3: - if ((arg1 % 25) == 0) { - var_r30 = rand8() % 4; - } - break; - } - } - else { - if ((HuPadBtnDown[temp_r31->unk18] & PAD_BUTTON_A) != 0) { - var_r30 = 1; - } - if ((HuPadBtnDown[temp_r31->unk18] & PAD_BUTTON_B) != 0) { - var_r30 = 0; - } - if ((HuPadBtnDown[temp_r31->unk18] & PAD_BUTTON_X) != 0) { - var_r30 = 3; - } - if ((HuPadBtnDown[temp_r31->unk18] & PAD_BUTTON_Y) != 0) { - var_r30 = 2; - } - } - return var_r30; -} - -s32 fn_1_6038(omObjData *object, s32 arg1) -{ - M418DllUnkStruct3 *temp_r30; - M418DllUnkStruct4 *temp_r28; - M418DllUnkStruct4 *temp_r27; - M418DllUnkStruct4 *temp_r26; - s32 var_r29; - s32 var_r31; - - temp_r30 = &lbl_1_bss_26C[object->work[0]]; - var_r31 = temp_r30->unk4C; - if (temp_r30->unkC != 0) { - switch (temp_r30->unk10) { - case 0: - if ((arg1 % 200) == 1) { - var_r31 = rand8() % 4; - } - break; - case 1: - if ((arg1 % 150) == 1) { - var_r31 = rand8() % 4; - } - break; - case 2: - if ((arg1 % 100) == 1) { - var_r31 = rand8() % 4; - } - break; - case 3: - if ((arg1 % 100) == 1) { - var_r31 = rand8() % 4; - } - break; - } - if (var_r31 != -1) { - temp_r28 = &lbl_1_bss_170[var_r31]; - if (temp_r28->unk18s == 1) { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - temp_r27 = &lbl_1_bss_170[var_r29]; - if (temp_r27->unk18s != 1) { - var_r31 = var_r29; - temp_r27->unk18s = 1; - break; - } - } - } - else { - temp_r28->unk18s = 1; - } - } - } - else { - if ((HuPadBtnDown[temp_r30->unk18] & PAD_BUTTON_A) != 0) { - var_r31 = 1; - } - if ((HuPadBtnDown[temp_r30->unk18] & PAD_BUTTON_B) != 0) { - var_r31 = 0; - } - if ((HuPadBtnDown[temp_r30->unk18] & PAD_BUTTON_X) != 0) { - var_r31 = 3; - } - if ((HuPadBtnDown[temp_r30->unk18] & PAD_BUTTON_Y) != 0) { - var_r31 = 2; - } - if (var_r31 != -1) { - temp_r26 = &lbl_1_bss_170[var_r31]; - if (temp_r26->unk18s == 1) { - var_r31 = -1; - } - else { - temp_r26->unk18s = 1; - } - } - } - return var_r31; -} - -void fn_1_6314(void) -{ - M418DllUnkStruct *var_r31 = &lbl_1_bss_1F4; - Vec sp2C = { 0.0f, 1100.0f, 1800.0f }; - Vec sp20 = { 0.0f, 600.0f, 600.0f }; - - fn_1_B104(var_r31, sp2C, sp20); - fn_1_B41C(var_r31); - var_r31->rot.x++; -} - -void fn_1_63F8(void) -{ - M418DllUnkStruct *var_r31 = &lbl_1_bss_1F4; - M418DllUnkStruct sp38; - Vec sp2C = { 0.0f, 1800.0f, 480.0f }; - Vec sp20 = { 0.0f, 600.0f, 250.0f }; - - fn_1_B104(&sp38, sp2C, sp20); - fn_1_B41C(&sp38); - sp38.zoom = 750.0f; - fn_1_BEAC(var_r31, &sp38, var_r31->unk48++, 120.0f, 10.0f); -} - -void fn_1_6510(void) -{ - M418DllUnkStruct *var_r31 = &lbl_1_bss_1F4; - M418DllUnkStruct sp38; - Vec sp2C = { 0.0f, 980.0f, 1330.0f }; - Vec sp20 = { 0.0f, 480.0f, 130.0f }; - - fn_1_B104(&sp38, sp2C, sp20); - fn_1_B41C(&sp38); - fn_1_BEAC(var_r31, &sp38, var_r31->unk48++, 30.0f, 10.0f); -} - -Vec lbl_1_data_2B8[8] = { { -540.0f, 225.0f, -900.0f }, { -180.0f, 225.0f, -900.0f }, { 180.0f, 225.0f, -900.0f }, { 540.0f, 225.0f, -900.0f }, - { -360.0f, 0.0f, -680.0f }, { 0.0f, 0.0f, -680.0f }, { 360.0f, 0.0f, -680.0f }, { 0.0f, 0.0f, 0.0f } }; - -void fn_1_6618(void) -{ - M418DllUnkStruct sp8; - M418DllUnkStruct3 *temp_r31; - M418DllUnkStruct *var_r30; - M418DllUnkStruct6 *var_r29; - - var_r29 = &lbl_1_bss_3EC; - temp_r31 = &lbl_1_bss_26C[var_r29->unk0]; - var_r30 = &lbl_1_bss_1F4; - sp8.center.x = lbl_1_data_2B8[temp_r31->unk4C].x; - sp8.center.y = lbl_1_data_2B8[temp_r31->unk4C].y; - sp8.center.z = lbl_1_data_2B8[temp_r31->unk4C].z; - sp8.rot.x = 0.0f; - sp8.rot.y = 0.0f; - sp8.rot.z = 0.0f; - sp8.zoom = 725.0f; - fn_1_CBF8(var_r30, &sp8, var_r30->unk48++, 30.0f, 5.0f); -} - -void fn_1_6740(s32 arg0) -{ - M418DllUnkStruct *var_r27 = &lbl_1_bss_1F4; - - fn_1_B458(var_r27); - switch (arg0) { - case 0: - fn_1_248(fn_1_6314); - break; - case 1: - fn_1_248(fn_1_63F8); - break; - case 2: - fn_1_248(fn_1_6510); - break; - case 3: - fn_1_248(fn_1_6618); - break; - } -} - -void fn_1_6808(s32 arg0) -{ - s32 var_r31; - M418DllUnkStruct6 *var_r30 = &lbl_1_bss_3EC; - M418DllUnkStruct3 *var_r29; - M418DllUnkStruct4 *var_r28; - M418DllUnkStruct *var_r23; - - HuAudAUXVolSet(0x40, 0x40); - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - var_r29 = &lbl_1_bss_26C[var_r30->unk4[var_r31]]; - var_r29->unk4C = -1; - } - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - var_r28 = &lbl_1_bss_11C[var_r31]; - fn_1_ABC4(var_r28->unk0, 0, 3, 30, 1); - } - if (lbl_1_bss_8 == 0) { - lbl_1_bss_8 = 1; - lbl_1_bss_4 = 0x12C; - } - - fn_1_6740(0); -} - -Vec lbl_1_data_318[4] = { { -540.0f, 115.0f, -700.0f }, { -180.0f, 115.0f, -700.0f }, { 180.0f, 115.0f, -700.0f }, { 540.0f, 115.0f, -700.0f } }; - -s32 fn_1_6914(s32 arg0) -{ - Vec sp14; - M418DllUnkStruct3 *temp_r31; - M418DllUnkStruct3 *temp_r30; - s32 var_r29; - s32 temp_r27; - M418DllUnkStruct6 *var_r26; - M418DllUnkStruct4 *var_r25; - M418DllUnkStruct *var_r18; - - var_r26 = &lbl_1_bss_3EC; - - for (var_r29 = 0; var_r29 < 3; var_r29++) { - temp_r31 = &lbl_1_bss_26C[var_r26->unk4[var_r29]]; - temp_r27 = fn_1_B0C8(&lbl_1_bss_38, 0); - temp_r31->unk4C = fn_1_5DF0(temp_r31->unk0, temp_r27); - if (temp_r31->unk4C != -1) { - sp14.x = lbl_1_data_318[temp_r31->unk4C].x; - sp14.y = lbl_1_data_318[temp_r31->unk4C].y; - sp14.z = (75.0f * var_r29) + lbl_1_data_318[temp_r31->unk4C].z; - fn_1_3444(temp_r31->unk0, sp14, -1.0f, 9.0f); - if (temp_r31->unk0->trans.z <= -720.0f) { - temp_r31->unk0->trans.z = -720.0f; - } - if (temp_r31->unk0->trans.z >= -480.0f) { - temp_r31->unk0->trans.z = -480.0f; - } - if (fn_1_B0C8(&lbl_1_bss_38, 0) >= 0xF0) { - temp_r31->unk0->trans.x = temp_r31->unk0->trans.y = -5000.0f; - fn_1_ABC4(temp_r31->unk0, 0, 0, 0xA, 1); - } - } - } - - for (var_r29 = 0; var_r29 < 3; var_r29++) { - var_r25 = &lbl_1_bss_11C[var_r29]; - var_r25->unk0->rot.y += 1.2f; - } - if (fn_1_B0C8(&lbl_1_bss_38, 0) == 0x3C) { - fn_1_6740(1); - } - if (fn_1_B0C8(&lbl_1_bss_38, 1) != 0) { - return fn_1_AF38(&lbl_1_bss_38); - } - return 0; -} - -void fn_1_6DCC(s32 arg0) -{ - s32 var_r31; - M418DllUnkStruct4 *temp_r30; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - temp_r30 = &lbl_1_bss_11C[var_r31]; - temp_r30->unk0->rot.y = 0.0f; - fn_1_ABC4(temp_r30->unk0, 0, 0, 0x1E, 1); - } - fn_1_6740(2); -} - -s32 fn_1_6E6C(s32 arg0) -{ - if (fn_1_B0C8(&lbl_1_bss_38, 1) != 0) { - return fn_1_AF38(&lbl_1_bss_38); - } - return 0; -} - -void fn_1_6EB4(s32 arg0) -{ - M418DllUnkStruct6 *var_r31 = &lbl_1_bss_3EC; - s32 var_r30; - M418DllUnkStruct3 *temp_r29; - - var_r31->unk34 = 0; - - for (var_r30 = 0; var_r30 < 3; var_r30++) { - temp_r29 = &lbl_1_bss_26C[var_r31->unk4[var_r30]]; - if (temp_r29->unk4C == -1) { - var_r31->unk34++; - temp_r29->unk50 = 0; - } - } -} - -s32 fn_1_6F38(s32 arg0) -{ - M418DllUnkStruct3 *temp_r31; - M418DllUnkStruct2 *temp_r29; - M418DllUnkStruct6 *temp_r28; - M418DllUnkStruct2 *temp_r27; - - s32 var_r26; - s32 var_r30; - f32 var_f31; - - temp_r29 = &lbl_1_bss_1E0; - temp_r28 = &lbl_1_bss_3EC; - - if (temp_r28->unk34 == 0) { - return fn_1_B034(&lbl_1_bss_38, 9); - } - - for (var_r30 = 0; var_r30 < 3; var_r30++) { - temp_r31 = &lbl_1_bss_26C[temp_r28->unk4[var_r30]]; - if (temp_r31->unk4C == -1) { - if (temp_r29->unk4[var_r30] == 0) { - if ((rand8() % 10) == 0) { - var_r26 = 1; - } - else { - var_r26 = 0; - } - if ((var_r26 != 0) || (fn_1_B0C8(&lbl_1_bss_38, 0) >= 10)) { - HuAudFXPlay(0x5DC); - HuAudCharVoicePlay(temp_r31->unk14, 0x128); - temp_r29->unk4[var_r30] = 2; - Hu3DModelShadowDispOff(temp_r31->unk0->model[0]); - fn_1_ABC4(temp_r31->unk0, 0, 7, 0x1E, 0); - temp_r31->unk50 = fn_1_B0C8(&lbl_1_bss_38, 0); - omVibrate(temp_r31->unk4, 0xC, 6, 6); - } - } - else if (fn_1_B0C8(&lbl_1_bss_38, 0) >= (temp_r31->unk50 + 0x1E)) { - temp_r31->unk0->trans.y -= 15.0f; - } - if (fn_1_B0C8(&lbl_1_bss_38, 0) >= (temp_r31->unk50 + 0x3C)) { - var_f31 = fn_1_AA30(-200.0f, -110.0f, fn_1_B0C8(&lbl_1_bss_38, 0) - (temp_r31->unk50 + 0x3C), 90.0f); - Hu3DModelPosSet(temp_r29->unk0->model[var_r30 + 8], -350.0f + (360.0f * var_r30), var_f31, -660.0f); - Hu3DModelRotSet(temp_r29->unk0->model[var_r30 + 8], 0.0f, 0.0f, 20.0f); - } - } - } - if (fn_1_B0C8(&lbl_1_bss_38, 1) != 0) { - temp_r27 = &lbl_1_bss_1E0; - temp_r27->unk4[0] = temp_r27->unk4[1] = temp_r27->unk4[2] = 3; - if (temp_r28->unk34 >= 3) { - return 1; - } - return fn_1_B034(&lbl_1_bss_38, 9); - } - else { - return 0; - } -} - -void fn_1_7294(s32 arg0) { } - -s32 fn_1_7298(s32 arg0) -{ - M418DllUnkStruct3 *temp_r31; - M418DllUnkStruct4 *temp_r30; - M418DllUnkStruct6 *temp_r29; - - temp_r29 = &lbl_1_bss_3EC; - temp_r31 = &lbl_1_bss_26C[temp_r29->unk0]; - temp_r30 = &lbl_1_bss_11C[temp_r29->unk38]; - if (fn_1_B0C8(&lbl_1_bss_38, 0) < 0x3C) { - if (((temp_r30->unk0->work[0] == 0) || (temp_r30->unk0->work[1] == 0x18)) && (temp_r30->unk0->rot.y > -50.0f)) { - temp_r30->unk0->rot.y -= 5.0f; - if (temp_r30->unk0->rot.y <= -50.0f) { - temp_r30->unk0->rot.y = -50.0f; - } - } - if (temp_r31->unk0->rot.y < 180.0f) { - temp_r31->unk0->rot.y += 5.0f; - if (temp_r30->unk0->rot.y <= -50.0f) { - temp_r30->unk0->rot.y = -50.0f; - } - } - } - else if (fn_1_B0C8(&lbl_1_bss_38, 0) == 0x3C) { - HuAudFXPlay(0x40); - fn_1_ABC4(temp_r30->unk0, 0, 2, 0xA, 0); - fn_1_AD14(temp_r31->unk0, 0, 0, 0xA, 1); - Hu3DMotionOverlaySet(temp_r31->unk0->model[0], temp_r31->unk0->motion[9]); - Hu3DMotionOverlaySpeedSet(temp_r31->unk0->model[0], 1.0f); - lbl_1_bss_240[8] = HuAudFXPlay(0x5D9); - } - else if (fn_1_B0C8(&lbl_1_bss_38, 0) <= 0xAA) { - if (fn_1_B0C8(&lbl_1_bss_38, 0) >= 0x5A) { - temp_r31->unk3C += 0.025f; - if (temp_r31->unk3C >= 1.0f) { - temp_r31->unk3C = 1.0f; - } - } - } - else { - Hu3DMotionOverlaySpeedSet(temp_r31->unk0->model[0], -1.0f); - } - if (fn_1_B0C8(&lbl_1_bss_38, 1) != 0) { - return fn_1_AF38(&lbl_1_bss_38); - } - else { - return 0; - } -} - -void fn_1_7570(s32 arg0) -{ - M418DllUnkStruct6 *var_r31 = &lbl_1_bss_3EC; - M418DllUnkStruct3 *var_r30 = &lbl_1_bss_26C[var_r31->unk0]; - var_r30->unk4C = -1; - if (lbl_1_bss_8 == 0) { - lbl_1_bss_8 = 1; - lbl_1_bss_4 = 0x12C; - } -} - -s32 fn_1_75E4(s32 arg0) -{ - Mtx sp38; - Mtx sp8; - M418DllUnkStruct3 *temp_r31; - M418DllUnkStruct6 *var_r30; - s32 var_r29; - - var_r30 = &lbl_1_bss_3EC; - temp_r31 = &lbl_1_bss_26C[var_r30->unk0]; - if (fn_1_B0C8(&lbl_1_bss_38, 0) >= 10) { - temp_r31->unk4C = fn_1_6038(temp_r31->unk0, fn_1_B0C8(&lbl_1_bss_38, 0)); - if (temp_r31->unk4C != -1) { - if (lbl_1_bss_8 == 2) { - lbl_1_bss_8 = 3; - lbl_1_bss_4 = 0x1E; - } - return fn_1_AF38(&lbl_1_bss_38); - } - } - fn_1_B0C8(&lbl_1_bss_38, 1); - var_r29 = 0; - if (lbl_1_bss_8 == 3) { - var_r29 = 1; - } - if (var_r29 != 0) { - Hu3DModelObjMtxGet(temp_r31->unk0->model[0], lbl_1_data_1C0[temp_r31->unk14], sp8); - Hu3DModelObjMtxGet(temp_r31->unk0->model[12], "g031i00-itemhook_eff", sp38); - Hu3DModelPosSet(temp_r31->unk0->model[13], sp38[0][3] + sp8[0][3], 80.0f + (sp38[1][3] + sp8[1][3]), sp38[2][3] + sp8[2][3]); - Hu3DModelScaleSet(temp_r31->unk0->model[13], 0.5f, 0.5f, 0.5f); - Hu3DMotionSpeedSet(temp_r31->unk0->model[13], 2.0f); - fn_1_ABC4(temp_r31->unk0, 0xD, 0xD, 0, 0); - return fn_1_AF38(&lbl_1_bss_38); - } - else { - return 0; - } -} - -void fn_1_77F8(s32 arg0) -{ - M418DllUnkStruct6 *var_r31; - M418DllUnkStruct3 *var_r30; - - var_r31 = &lbl_1_bss_3EC; - var_r30 = &lbl_1_bss_26C[var_r31->unk0]; - if (var_r30->unk4C == -1) { - HuAudFXFadeOut(lbl_1_bss_240[8], 0x3E8); - } -} - -s32 fn_1_7860(s32 arg0) -{ - M418DllUnkStruct3 *temp_r31; - M418DllUnkStruct6 *temp_r30; - - temp_r30 = &lbl_1_bss_3EC; - temp_r31 = &lbl_1_bss_26C[temp_r30->unk0]; - if (temp_r31->unk4C == -1) { - temp_r31->unk3C -= 0.025f; - if (temp_r31->unk3C <= 0.0f) { - temp_r31->unk3C = 0.0f; - } - if (fn_1_B0C8(&lbl_1_bss_38, 1) != 0) { - return fn_1_AF38(&lbl_1_bss_38); - } - } - else { - temp_r31->unk0->rot.y = fn_1_A940(180.0f, 200.0f - (10.0f * temp_r31->unk4C), fn_1_B0C8(&lbl_1_bss_38, 0), 10.0f); - if (fn_1_B0C8(&lbl_1_bss_38, 0) == 0xA) { - Hu3DMotionOverlaySet(temp_r31->unk0->model[0], temp_r31->unk0->motion[10]); - Hu3DMotionOverlaySpeedSet(temp_r31->unk0->model[0], 1.0f); - temp_r31->unk5C = 1; - } - if (fn_1_B0C8(&lbl_1_bss_38, 1) != 0) { - Hu3DMotionOverlaySpeedSet(temp_r31->unk0->model[0], -1.0f); - temp_r31->unk5C = 2; - return fn_1_AF38(&lbl_1_bss_38); - } - } - return 0; -} - -void fn_1_7A68(s32 arg0) -{ - M418DllUnkStruct6 *temp_r31; - M418DllUnkStruct3 *temp_r30; - M418DllUnkStruct4 *temp_r29; - s32 var_r28; - M418DllUnkStruct3 *temp_r27; - s32 var_r26; - - var_r26 = 0; - temp_r31 = &lbl_1_bss_3EC; - temp_r30 = &lbl_1_bss_26C[temp_r31->unk0]; - if (temp_r30->unk4C != -1) { - temp_r31->unk10[0] = temp_r31->unk10[1] = temp_r31->unk10[2] = -1; - - for (var_r28 = 0; var_r28 < 3; var_r28++) { - temp_r27 = &lbl_1_bss_26C[temp_r31->unk4[var_r28]]; - if (temp_r30->unk4C == temp_r27->unk4C) { - temp_r31->unk10[var_r26++] = temp_r27->unk0->work[0]; - } - } - temp_r29 = &lbl_1_bss_170[temp_r30->unk4C]; - temp_r29->unkC = 0; - if (temp_r31->unk10[0] == -1) { - temp_r29->unk10 = 1; - } - temp_r29->unk0->work[1] = 1; - } -} - -s32 fn_1_7B68(s32 arg0) -{ - Mtx sp8; - M418DllUnkStruct3 *temp_r31; - M418DllUnkStruct6 *temp_r30; - M418DllUnkStruct3 *temp_r29; - M418DllUnkStruct4 *temp_r28; - s32 var_r27; - s32 var_r26; - M418DllUnkStruct *temp_r21; - - var_r26 = -1; - temp_r30 = &lbl_1_bss_3EC; - temp_r29 = &lbl_1_bss_26C[temp_r30->unk0]; - temp_r28 = &lbl_1_bss_170[temp_r29->unk4C]; - if (temp_r29->unk4C == -1) { - return fn_1_AF38(&lbl_1_bss_38); - } - if (temp_r28->unkC == 1) { - fn_1_6740(3); - } - if (temp_r28->unkC == 3) { - - for (var_r27 = 0; var_r27 < 3; var_r27++) { - if (temp_r30->unk10[var_r27] != -1) { - temp_r31 = &lbl_1_bss_26C[temp_r30->unk10[var_r27]]; - Hu3DModelObjMtxGet(*temp_r28->unk0->model, "taihou-null4", (f32(*)[4]) & sp8[0]); - omSetTra(temp_r31->unk0, sp8[0][3], sp8[1][3] - 25.0f, 50.0f + sp8[2][3]); - omSetRot(temp_r31->unk0, 0.0f, 180.0f, 0.0f); - fn_1_AD14(temp_r31->unk0, 0, 8, 0, 2); - temp_r31->unk4C = -1; - temp_r31->unk24 = 0; - if (var_r26 >= 2) { - var_r26 = 1; - } - temp_r31->unk30 = var_r26++; - temp_r31->unk28 = 0.0f; - omVibrate((s16)temp_r29->unk4, 0xC, 4, 2); - } - } - return fn_1_AF38(&lbl_1_bss_38); - } - return 0; -} - -void fn_1_7D80(s32 arg0) -{ - s32 var_r31; - M418DllUnkStruct3 *temp_r30; - M418DllUnkStruct6 *temp_r29; - M418DllUnkStruct4 *temp_r28; - - temp_r29 = &lbl_1_bss_3EC; - temp_r30 = &lbl_1_bss_26C[temp_r29->unk0]; - temp_r30->unk0->rot.y = 180.0f; - temp_r30->unk3C = 0.0f; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - temp_r28 = &lbl_1_bss_11C[var_r31]; - temp_r28->unk0->rot.y = 0.0f; - } -} - -s32 fn_1_7E24(s32 arg0) -{ - M418DllUnkStruct6 *var_r31; - s32 var_r30; - s32 var_r29; - M418DllUnkStruct4 *var_r28; - M418DllUnkStruct4 *var_r27; - M418DllUnkStruct4 *var_r26; - M418DllUnkStruct3 *var_r25; - - var_r29 = 0; - var_r31 = &lbl_1_bss_3EC; - var_r28 = &lbl_1_bss_11C[0]; - var_r27 = &lbl_1_bss_11C[1]; - var_r26 = &lbl_1_bss_11C[2]; - if (var_r31->unk38 == 2) { - var_r28->unk0->work[1] = 0; - var_r27->unk0->work[1] = 0; - var_r26->unk0->work[1] = 3; - return 1; - } - var_r31->unk38++; - - for (var_r30 = 0; var_r30 < 3; var_r30++) { - var_r25 = &lbl_1_bss_26C[var_r31->unk4[var_r30]]; - if (var_r25->unk4C != -1) { - var_r29++; - } - } - if (var_r29 == 0) { - return 1; - } - else { - return fn_1_AF38(&lbl_1_bss_38); - } -} - -void fn_1_7F1C(s32 arg0) -{ - M418DllUnkStruct6 *var_r31; - M418DllUnkStruct4 *var_r30; - M418DllUnkStruct4 *var_r29; - M418DllUnkStruct4 *var_r28; - - var_r31 = &lbl_1_bss_3EC; - var_r30 = &lbl_1_bss_11C[0]; - var_r29 = &lbl_1_bss_11C[1]; - var_r28 = &lbl_1_bss_11C[2]; - if (var_r31->unk38 == 1) { - var_r30->unk0->work[1] = 3; - var_r29->unk0->work[1] = 2; - var_r28->unk0->work[1] = 1; - } - else if (var_r31->unk38 == 2) { - var_r30->unk0->work[1] = 0; - var_r29->unk0->work[1] = 3; - var_r28->unk0->work[1] = 2; - } -} - -s32 fn_1_7FD4(s32 arg0) -{ - M418DllUnkStruct3 *temp_r31; - M418DllUnkStruct6 *temp_r30; - M418DllUnkStruct4 *temp_r29; - - temp_r30 = &lbl_1_bss_3EC; - temp_r31 = &lbl_1_bss_26C[temp_r30->unk0]; - if (temp_r31->unk4C == -1) { - if (fn_1_B0C8(&lbl_1_bss_38, 0) == 30) { - fn_1_6740(2); - } - if (fn_1_B0C8(&lbl_1_bss_38, 0) == 120) { - return fn_1_B034(&lbl_1_bss_38, 9); - } - } - else { - temp_r29 = &lbl_1_bss_170[temp_r31->unk4C]; - if (temp_r29->unk10 != 0) { - if (fn_1_B0C8(&lbl_1_bss_38, 0) == 210) { - fn_1_6740(2); - } - if (fn_1_B0C8(&lbl_1_bss_38, 0) == 300) { - return fn_1_B034(&lbl_1_bss_38, 9); - } - } - else { - if (fn_1_B0C8(&lbl_1_bss_38, 0) == 30) { - fn_1_6740(2); - } - if (fn_1_B0C8(&lbl_1_bss_38, 0) == 120) { - return fn_1_B034(&lbl_1_bss_38, 3); - } - } - } - fn_1_B0C8(&lbl_1_bss_38, 1); - return 0; -} - -void fn_1_81A0(s32 arg0) { } - -s32 fn_1_81A4(s32 arg0) -{ - M418DllUnkStruct3 *temp_r31; - M418DllUnkStruct4 *temp_r30; - M418DllUnkStruct6 *temp_r29; - - temp_r29 = &lbl_1_bss_3EC; - temp_r31 = &lbl_1_bss_26C[temp_r29->unk0]; - temp_r30 = &lbl_1_bss_11C[temp_r29->unk38]; - if (fn_1_B0C8(&lbl_1_bss_38, 0) < 0x3C) { - if (((temp_r30->unk0->work[0] == 0) || (temp_r30->unk0->work[1] == 0x18)) && (temp_r30->unk0->rot.y > -50.0f)) { - temp_r30->unk0->rot.y -= 5.0f; - if (temp_r30->unk0->rot.y <= -50.0f) { - temp_r30->unk0->rot.y = -50.0f; - } - } - if (temp_r31->unk0->rot.y < 180.0f) { - temp_r31->unk0->rot.y += 5.0f; - if (temp_r30->unk0->rot.y <= -50.0f) { - temp_r30->unk0->rot.y = -50.0f; - } - } - } - else if (fn_1_B0C8(&lbl_1_bss_38, 0) == 0x3C) { - HuAudFXPlay(0x40); - fn_1_ABC4(temp_r30->unk0, 0, 2, 0xA, 0); - fn_1_AD14(temp_r31->unk0, 0, 0, 0xA, 1); - Hu3DMotionOverlaySet(temp_r31->unk0->model[0], temp_r31->unk0->motion[9]); - Hu3DMotionOverlaySpeedSet(temp_r31->unk0->model[0], 1.0f); - lbl_1_bss_240[8] = HuAudFXPlay(0x5D9); - } - else if (fn_1_B0C8(&lbl_1_bss_38, 0) <= 0xAA) { - if (fn_1_B0C8(&lbl_1_bss_38, 0) >= 0x5A) { - temp_r31->unk3C += 0.025f; - if (temp_r31->unk3C >= 1.0f) { - temp_r31->unk3C = 1.0f; - } - } - } - else { - Hu3DMotionOverlaySpeedSet(temp_r31->unk0->model[0], -1.0f); - } - if (fn_1_B0C8(&lbl_1_bss_38, 1) != 0) { - return fn_1_B034(&lbl_1_bss_38, 4); - } - else { - return 0; - } -} - -M418DllUnkStruct8 lbl_1_data_348[11] = { { fn_1_6808, fn_1_6914, 300 }, { fn_1_6DCC, fn_1_6E6C, 60 }, { fn_1_6EB4, fn_1_6F38, 180 }, - { fn_1_7294, fn_1_7298, 300 }, { fn_1_7570, fn_1_75E4, 300 }, { fn_1_77F8, fn_1_7860, 60 }, { fn_1_7A68, fn_1_7B68, 180 }, - { fn_1_7D80, fn_1_7E24, -1 }, { fn_1_7F1C, fn_1_7FD4, 300 }, { fn_1_81A0, fn_1_81A4, 240 }, { NULL, NULL, -1 } }; - -void fn_1_8480(void) -{ - fn_1_AEDC(&lbl_1_bss_38, &lbl_1_data_348[0]); -} - -s32 fn_1_84B0(void) -{ - s32 var_r31; - - var_r31 = 0; - if (lbl_1_bss_38.unk10 != NULL) { - lbl_1_bss_38.unk10(); - lbl_1_bss_38.unk10 = NULL; - } - if (lbl_1_bss_38.unk14 != NULL) { - var_r31 = lbl_1_bss_38.unk14(); - } - return var_r31; -} - -void fn_1_8548(void) -{ - M418DllUnkStruct sp38; - M418DllUnkStruct *var_r31 = &lbl_1_bss_1F4; - Vec sp2C = { 0.0f, 1100.0f, 1800.0f }; - Vec sp20 = { 0.0f, 600.0f, 600.0f }; - - fn_1_B104(&sp38, sp2C, sp20); - fn_1_B41C(&sp38); - sp38.rot.x++; - fn_1_CBF8(var_r31, &sp38, var_r31->unk48++, 60.0f, 10.0f); -} - -void fn_1_8668(void) -{ - M418DllUnkStruct sp8; - f32 temp_f1; - - M418DllUnkStruct *var_r31 = &lbl_1_bss_1F4; - - sp8.center.x = sp8.center.y = 0.0f; - sp8.center.z = -500.0f; - sp8.rot.x = -20.0f; - sp8.rot.y = sp8.rot.z = 0.0f; - sp8.zoom = 1000.0f; - fn_1_CBF8(var_r31, &sp8, var_r31->unk48++, 10.0f, 5.0f); -} - -void fn_1_8728(void) -{ - M418DllUnkStruct sp8; - M418DllUnkStruct *var_r31; - - var_r31 = &lbl_1_bss_1F4; - - sp8.center.x = var_r31->center.x; - sp8.center.y = var_r31->center.y; - sp8.center.z = var_r31->center.z; - sp8.rot.x = var_r31->rot.x; - sp8.rot.y = var_r31->rot.y; - sp8.rot.z = var_r31->rot.z; - sp8.zoom = 500.0f; - fn_1_CBF8(var_r31, &sp8, var_r31->unk48++, 10.0f, 5.0f); -} - -void fn_1_87D0(s32 arg0) -{ - M418DllUnkStruct *var_r31; - - var_r31 = &lbl_1_bss_1F4; - - fn_1_B458(var_r31); - switch (arg0) { - case 0: - fn_1_248(fn_1_8548); - break; - case 1: - fn_1_248(fn_1_8668); - break; - case 2: - fn_1_248(fn_1_8728); - break; - } -} - -void fn_1_888C(s32 arg0) -{ - HuAudAUXVolSet(-1, -1); -} - -s32 fn_1_88B4(s32 arg0) -{ - s32 var_r31; - M418DllUnkStruct6 *var_r30; - s32 var_r29; - M418DllUnkStruct3 *var_r28; - M418DllUnkStruct3 *var_r27; - M418DllUnkStruct *var_r23; - - var_r29 = 5; - var_r30 = &lbl_1_bss_3EC; - - fn_1_87D0(0); - lbl_1_bss_10 = 0; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - var_r28 = &lbl_1_bss_26C[var_r30->unk4[var_r31]]; - if (var_r28->unk4C != -1) { - var_r29 = 1; - lbl_1_bss_10 = 1; - } - } - if (var_r29 == 5) { - var_r27 = &lbl_1_bss_26C[var_r30->unk0]; - var_r27->unk0->rot.y = 0.0f; - } - fn_1_B034(&lbl_1_bss_20, var_r29); -} - -void fn_1_89B0(s32 arg0) -{ - M418DllUnkStruct6 *var_r31; - s32 var_r30; - s32 var_r29; - M418DllUnkStruct3 *temp_r28; - M418DllUnkStruct4 *temp_r27; - - var_r29 = 0; - var_r31 = &lbl_1_bss_3EC; - for (var_r30 = 0; var_r30 < 3; var_r30++) { - temp_r28 = &lbl_1_bss_26C[var_r31->unk4[var_r30]]; - if (temp_r28->unk4C != -1) { - var_r31->unk1C[var_r29] = var_r31->unk28[var_r29] = temp_r28->unk4C; - var_r29++; - } - } - switch (var_r29) { /* irregular */ - case 1: - var_r31->unk1C[0] = 3; - break; - case 2: - var_r31->unk1C[0] = 4; - var_r31->unk1C[1] = 5; - break; - case 3: - var_r31->unk1C[0] = 0; - var_r31->unk1C[1] = 1; - var_r31->unk1C[2] = 2; - break; - } - if (var_r31->unk28[0] == var_r31->unk28[1]) { - var_r31->unk28[1] = -1; - } - if (var_r31->unk28[0] == var_r31->unk28[1]) { - var_r31->unk28[1] = -1; - } - if (var_r31->unk28[1] == var_r31->unk28[2]) { - var_r31->unk28[2] = -1; - } - - for (var_r30 = 0; var_r30 < 4; var_r30++) { - temp_r27 = &lbl_1_bss_170[var_r30]; - temp_r27->unkC = 0; - } -} - -s32 fn_1_8B14(s32 arg0) -{ - M418DllUnkStruct4 *temp_r31; - s32 var_r30; - M418DllUnkStruct6 *var_r29; - s32 var_r28; - - var_r29 = &lbl_1_bss_3EC; - for (var_r30 = 0; var_r30 < 3; var_r30++) { - if (var_r29->unk28[var_r30] != -1) { - temp_r31 = &lbl_1_bss_170[var_r29->unk28[var_r30]]; - if (temp_r31->unkC == 0) { - if ((rand8() % 5) == 0) { - var_r28 = 1; - } - else { - var_r28 = 0; - } - if ((var_r28 != 0) || (fn_1_B0C8(&lbl_1_bss_20, 0) >= 5)) { - temp_r31->unkC = 1; - HuAudFXPlay(0x5D3); - } - } - else { - temp_r31->unk4 += 5.0f; - if (temp_r31->unk4 >= 90.0f) { - temp_r31->unk4 = 90.0f; - } - } - } - } - if (fn_1_B0C8(&lbl_1_bss_20, 1) != 0) { - return fn_1_AF38(&lbl_1_bss_20); - } - else { - return 0; - } -} - -void fn_1_8C84(s32 arg0) -{ - M418DllUnkStruct3 *temp_r31; - s32 var_r30; - M418DllUnkStruct6 *temp_r29; - M418DllUnkStruct3 *temp_r28; - s32 var_r27; - s32 temp_r0; - - var_r27 = 0; - temp_r29 = &lbl_1_bss_3EC; - for (var_r30 = 0; var_r30 < 3; var_r30++) { - temp_r31 = &lbl_1_bss_26C[temp_r29->unk4[var_r30]]; - if (temp_r31->unk4C != -1) { - omSetRot(temp_r31->unk0, 0.0f, 0.0f, 0.0f); - temp_r31->unk50 = var_r27 * -10; - temp_r31->unk54 = 0; - temp_r31->unk58 = var_r27++; - } - } - temp_r28 = &lbl_1_bss_26C[temp_r29->unk0]; - Hu3DMotionOverlayReset(*temp_r28->unk0->model); - temp_r28->unk0->work[1] = 1; -} - -Vec lbl_1_data_3CC[4] = { { -540.0f, 225.0f, -900.0f }, { -180.0f, 225.0f, -900.0f }, { 180.0f, 225.0f, -900.0f }, { 540.0f, 225.0f, -900.0f } }; - -Vec lbl_1_data_3FC[6] = { { -200.0f, 0.0f, -450.0f }, { 0.0f, 0.0f, -400.0f }, { 200.0f, 0.0f, -450.0f }, { 0.0f, 0.0f, -400.0f }, - { -100.0f, 0.0f, -425.0f }, { 100.0f, 0.0f, -425.0f } }; - -s32 fn_1_8D70(s32 arg0) -{ - s32 sp10; - s32 spC; - s32 sp8; - M418DllUnkStruct3 *temp_r31; - M418DllUnkStruct6 *temp_r30; - s32 var_r29; - M418DllUnkStruct3 *temp_r28; - M418DllUnkStruct3 *temp_r27; - omObjData *var_r26; - s32 temp_r3; - void *temp_r4; - - temp_r30 = &lbl_1_bss_3EC; - - for (var_r29 = 0; var_r29 < 3; var_r29++) { - temp_r31 = &lbl_1_bss_26C[temp_r30->unk4[var_r29]]; - if (temp_r31->unk4C != -1) { - if (temp_r31->unk54 == 0) { - if (temp_r31->unk50++ == 0) { - temp_r31->unk54 = 1; - omSetTra(temp_r31->unk0, lbl_1_data_3CC[temp_r31->unk4C].x, lbl_1_data_3CC[temp_r31->unk4C].y, - lbl_1_data_3CC[temp_r31->unk4C].z - 50.0f); - var_r26 = temp_r31->unk0; - temp_r28 = &lbl_1_bss_26C[var_r26->work[0]]; - if (temp_r28->unk1C == 0) { - temp_r28->unk1C = 1; - } - } - } - else if (temp_r31->unk54 == 1) { - fn_1_3EB0(temp_r31->unk0, lbl_1_data_3FC[temp_r30->unk1C[temp_r31->unk58]], 0.0f, 12.0f); - } - } - } - temp_r27 = &lbl_1_bss_26C[temp_r30->unk0]; - if (fn_1_B0C8(&lbl_1_bss_20, 0) == 0x1E) { - fn_1_ABC4(temp_r27->unk0, 0, 0, 0xA, 1); - } - if (fn_1_B0C8(&lbl_1_bss_20, 1) != 0) { - return fn_1_AF38(&lbl_1_bss_20); - } - else { - return 0; - } -} - -void fn_1_8F74(s32 arg0) -{ - s32 sp8[3]; - M418DllUnkStruct3 *temp_r31; - s32 var_r30; - M418DllUnkStruct6 *var_r29; - M418DllUnkStruct3 *temp_r28; - - var_r29 = &lbl_1_bss_3EC; - for (var_r30 = 0; var_r30 < 3; var_r30++) { - temp_r31 = &lbl_1_bss_26C[var_r29->unk4[var_r30]]; - if (temp_r31->unk4C != -1) { - fn_1_ABC4(temp_r31->unk0, 0, 5, 10, 0); - } - sp8[var_r30] = temp_r31->unk14; - } - temp_r28 = &lbl_1_bss_26C[var_r29->unk0]; - fn_1_ABC4(temp_r28->unk0, 0, 6, 10, 0); - fn_1_87D0(1); - lbl_1_bss_14 = MGSeqCreate(5, 3, sp8[0], sp8[1], sp8[2], -1); - HuAudSStreamPlay(1); -} - -s32 fn_1_9094(s32 arg0) -{ - if (fn_1_B0C8(&lbl_1_bss_20, 1) != 0) { - return fn_1_AF38(&lbl_1_bss_20); - } - else { - return 0; - } -} - -void fn_1_90DC(s32 arg0) -{ - M418DllUnkStruct3 *temp_r31; - M418DllUnkStruct6 *temp_r30; - - temp_r30 = &lbl_1_bss_3EC; - temp_r31 = &lbl_1_bss_26C[temp_r30->unk0]; - Hu3DMotionOverlayReset(temp_r31->unk0->model[0]); - temp_r31->unk0->work[1] = 1; -} - -s32 fn_1_9140(s32 arg0) -{ - M418DllUnkStruct6 *temp_r31; - M418DllUnkStruct3 *temp_r30; - - temp_r31 = &lbl_1_bss_3EC; - - temp_r30 = &lbl_1_bss_26C[temp_r31->unk0]; - if (fn_1_B0C8(&lbl_1_bss_20, 0) == 0x1E) { - fn_1_ABC4(temp_r30->unk0, 0, 0, 0xA, 1); - } - if (fn_1_B0C8(&lbl_1_bss_20, 1) != 0) { - return fn_1_AF38(&lbl_1_bss_20); - } - else { - return 0; - } -} - -void fn_1_91E4(s32 arg0) -{ - M418DllUnkStruct3 *temp_r31; - s32 var_r30; - M418DllUnkStruct6 *temp_r29; - M418DllUnkStruct4 *temp_r28; - - temp_r29 = &lbl_1_bss_3EC; - temp_r31 = &lbl_1_bss_26C[temp_r29->unk0]; - Hu3DMotionOverlayReset(temp_r31->unk0->model[0]); - fn_1_ABC4(temp_r31->unk0, 0, 5, 10, 0); - - for (var_r30 = 0; var_r30 < 3; var_r30++) { - temp_r28 = &lbl_1_bss_11C[var_r30]; - fn_1_ABC4(temp_r28->unk0, 0, 3, 10, 1); - } - fn_1_87D0(2); - lbl_1_bss_14 = MGSeqCreate(5, 3, temp_r31->unk14, -1, -1, -1); - HuAudSStreamPlay(1); -} - -s32 fn_1_92EC(s32 arg0) -{ - if (fn_1_B0C8(&lbl_1_bss_20, 1) != 0) { - return fn_1_AF38(&lbl_1_bss_20); - } - else { - return 0; - } -} - -M418DllUnkStruct8 lbl_1_data_444[8] = { { fn_1_888C, fn_1_88B4, -1 }, { fn_1_89B0, fn_1_8B14, 90 }, { fn_1_8C84, fn_1_8D70, 180 }, - { fn_1_8F74, fn_1_9094, 210 }, { NULL, NULL, -1 }, { fn_1_90DC, fn_1_9140, 180 }, { fn_1_91E4, fn_1_92EC, 240 }, { NULL, NULL, -1 } }; - -void fn_1_9334(void) -{ - fn_1_AEDC(&lbl_1_bss_20, &lbl_1_data_444[0]); -} - -s32 fn_1_9364(void) -{ - s32 var_r31; - - var_r31 = 0; - if (lbl_1_bss_20.unk10 != NULL) { - lbl_1_bss_20.unk10(); - lbl_1_bss_20.unk10 = NULL; - } - if (lbl_1_bss_20.unk14 != NULL) { - var_r31 = lbl_1_bss_20.unk14(); - } - return var_r31; -} - -void fn_1_93FC(omObjData *object) -{ - s32 var_r31; - M418DllUnkStruct6 *var_r30; - M418DllUnkStruct3 *var_r29; - M418DllUnkStruct3 *var_r28; - s32 temp_r27; - s32 temp_r26; - - if (WipeStatGet() == 0) { - var_r30 = &lbl_1_bss_3EC; - if (lbl_1_bss_10 != 0) { - for (var_r31 = 0; var_r31 < 3; var_r31++) { - var_r29 = &lbl_1_bss_26C[var_r30->unk4[var_r31]]; - temp_r27 = var_r29->unk4; - if (_CheckFlag(0x1000C) == 0) { - GWPlayer[temp_r27].coin_win = 10; - } - } - } - else { - var_r28 = &lbl_1_bss_26C[var_r30->unk0]; - temp_r26 = var_r28->unk4; - if (_CheckFlag(0x1000CU) == 0) { - GWPlayer[temp_r26].coin_win = 10; - } - } - HuAudFadeOut(0x3E8); - CharModelKill(-1); - MGSeqKillAll(); - HuAudAllStop(); - omOvlReturnEx(1, 1); - object->func = NULL; - } -} - -void fn_1_952C(omObjData *object) -{ - if (omSysExitReq == 1) { - HuAudSeqAllFadeOut(0xFA); - WipeCreate(2, 0, -1); - object->func = fn_1_93FC; - } -} - -void fn_1_958C(void) -{ - M418DllUnkStruct3 *temp_r31; - s32 var_r30; - M418DllUnkStruct6 *temp_r29; - M418DllUnkStruct2 *temp_r28; - M418DllUnkStruct4 *temp_r27; - M418DllUnkStruct4 *temp_r26; - M418DllUnkStruct3 *temp_r25; - s32 temp_r0; - s32 var_r24; - - var_r24 = 0; - temp_r28 = &lbl_1_bss_1E0; - for (var_r30 = 1; var_r30 < 4; var_r30++) { - fn_1_ABC4(temp_r28->unk0, var_r30, var_r30, 0, 2); - } - - for (var_r30 = 8; var_r30 < 11; var_r30++) { - fn_1_ABC4(temp_r28->unk0, var_r30, var_r30, 0, 1); - Hu3DModelPosSet(temp_r28->unk0->model[var_r30 + 8], -360.0f + (360.0f * (var_r30 - 8)), -200.0f, -660.0f); - Hu3DModelRotSet(temp_r28->unk0->model[var_r30], 0.0f, 0.0f, 20.0f); - } - - temp_r28->unk4[0] = temp_r28->unk4[1] = temp_r28->unk4[2] = temp_r28->unk4[3] = 0; - - for (var_r30 = 0; var_r30 < 4; var_r30++) { - temp_r27 = &lbl_1_bss_170[var_r30]; - temp_r27->unk0->work[1] = temp_r27->unk0->work[2] = 0; - temp_r27->unk4 = 0.0f; - temp_r27->unkC = temp_r27->unk10 = temp_r27->unk14s = temp_r27->unk18s = 0; - } - - for (var_r30 = 0; var_r30 < 3; var_r30++) { - temp_r26 = &lbl_1_bss_11C[var_r30]; - omSetTra(temp_r26->unk0, lbl_1_data_8C[var_r30].x, lbl_1_data_8C[var_r30].y, lbl_1_data_8C[var_r30].z); - omSetRot(temp_r26->unk0, 0.0f, 0.0f, 0.0f); - omSetSca(temp_r26->unk0, 1.0f, 1.0f, 1.0f); - fn_1_AD14(temp_r26->unk0, 0, 0, 10, 1); - temp_r26->unk0->work[1] = -1U; - } - - for (var_r30 = 0; var_r30 < 4; var_r30++) { - temp_r31 = &lbl_1_bss_26C[var_r30]; - if (temp_r31->unk8 != 0) { - omSetTra(temp_r31->unk0, 0.0f, -5000.0f, 0.0f); - } - else { - omSetTra(temp_r31->unk0, 0.0f, 0.0f, 0.0f); - } - omSetRot(temp_r31->unk0, 0.0f, 0.0f, 0.0f); - omSetSca(temp_r31->unk0, 1.0f, 1.0f, 1.0f); - if (temp_r31->unk8 == 0) { - Hu3DModelAttrReset(temp_r31->unk0->model[11], 1); - Hu3DModelHookSet(temp_r31->unk0->model[0], lbl_1_data_1C0[temp_r31->unk14], temp_r31->unk0->model[11]); - Hu3DModelPosSet(temp_r31->unk0->model[11], 0.0f, 0.0f, 0.0f); - Hu3DModelRotSet(temp_r31->unk0->model[11], 0.0f, 0.0f, 0.0f); - Hu3DMotionOverlaySet(temp_r31->unk0->model[0], temp_r31->unk0->motion[9]); - Hu3DMotionOverlaySpeedSet(temp_r31->unk0->model[0], 0.0f); - } - fn_1_ABC4(temp_r31->unk0, 0, 0, 0, 1); - Hu3DModelShadowDispOn(temp_r31->unk0->model[0]); - temp_r31->unk4C = temp_r31->unk50 = temp_r31->unk54 = temp_r31->unk58 = temp_r31->unk5C = 0; - temp_r31->unk24 = -1; - temp_r31->unk28 = temp_r31->unk2C = temp_r31->unk30 = temp_r31->unk34 = temp_r31->unk38 = 0.0f; - } - - temp_r29 = &lbl_1_bss_3EC; - for (var_r30 = 0, var_r24 = 0; var_r30 < 4; var_r30++) { - temp_r25 = &lbl_1_bss_26C[var_r30]; - if (temp_r25->unk8 != 0) { - temp_r29->unk4[var_r24++] = temp_r25->unk4; - } - else { - temp_r29->unk0 = temp_r25->unk4; - } - } - - for (var_r30 = 0; var_r30 < 3; var_r30++) { - temp_r29->unk1C[var_r30] = temp_r29->unk28[var_r30] = -1; - temp_r29->unk10[var_r30] = -1; - } - - temp_r29->unk34 = temp_r29->unk38 = temp_r29->unk3C = temp_r29->unk40 = 0; - fn_1_5D28(); - fn_1_8480(); - fn_1_9334(); - - for (var_r30 = 0; var_r30 < 10; var_r30++) { - lbl_1_bss_240[var_r30] = -1; - } - lbl_1_bss_240[6] = HuAudFXPlay(0x5D7); - lbl_1_bss_240[7] = HuAudFXPlay(0x5D8); -} - -void fn_1_9BA4(omObjData *object) -{ - switch (lbl_1_bss_18) { - case 0: - fn_1_958C(); - lbl_1_bss_18 = 1; - break; - case 1: - if (WipeStatGet() == 0) { - lbl_1_bss_18 = 2; - } - break; - case 2: - if (fn_1_5D58()) { - lbl_1_bss_18 = 3; - } - break; - case 3: - lbl_1_bss_1C = MGSeqCreate(3, 0); - lbl_1_bss_18 = 4; - lbl_1_data_0[1] = -1; - break; - case 4: - if (((MGSeqStatGet(lbl_1_bss_1C) & 0x10) != 0) && (lbl_1_data_0[1] == -1)) { - lbl_1_data_0[1] = HuAudSeqPlay(0x49); - } - if (MGSeqStatGet(lbl_1_bss_1C) == 0) { - lbl_1_bss_18 = 5; - } - break; - case 5: - if (fn_1_84B0()) { - lbl_1_bss_18 = 6; - } - break; - case 6: - lbl_1_bss_1C = MGSeqCreate(3, 1); - HuAudSeqPauseAll(0); - HuAudSeqAllFadeOut(0x64); - lbl_1_bss_18 = 7; - break; - case 7: - if (MGSeqStatGet(lbl_1_bss_1C) == 0) { - lbl_1_bss_18 = 8; - } - break; - case 8: - if (fn_1_9364()) { - lbl_1_bss_18 = 9; - } - break; - case 9: - WipeCreate(2, 0, -1); - object->func = fn_1_93FC; - break; - default: - lbl_1_bss_18 = 0; - break; - } - if (omSysExitReq == 1) { - HuAudSeqAllFadeOut(0xFA); - WipeCreate(2, 0, -1); - object->func = fn_1_93FC; - } -} - -void fn_1_9F94(omObjData *object) -{ - s32 var_r31; - M418DllUnkStruct4 *temp_r30; - M418DllUnkStruct4 *temp_r29; - M418DllUnkStruct3 *temp_r28; - M418DllUnkStruct2 *temp_r27; - M418DllWorkStruct *temp_r26; - - temp_r27 = &lbl_1_bss_1E0; - temp_r27->unk0 = omAddObjEx(lbl_1_bss_0, 0x100, 0x14U, 0x14U, -1, fn_1_B4C); - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - temp_r30 = &lbl_1_bss_170[var_r31]; - temp_r30->unk0 = omAddObjEx(lbl_1_bss_0, 0x200, 0x14U, 0x14U, -1, fn_1_14F0); - temp_r30->unk0->work[0] = var_r31; - } - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - temp_r29 = &lbl_1_bss_11C[var_r31]; - temp_r29->unk0 = omAddObjEx(lbl_1_bss_0, 0x300, 0x14U, 0x14U, -1, fn_1_29A0); - temp_r29->unk0->work[0] = var_r31; - } - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - temp_r28 = &lbl_1_bss_26C[var_r31]; - temp_r28->unk0 = omAddObjEx(lbl_1_bss_0, 0x400, 0x14U, 0x14U, -1, fn_1_4F60); - temp_r28->unk0->work[0] = var_r31; - } - - temp_r26 = &lbl_1_bss_68; - temp_r26->unk0 = omAddObjEx(lbl_1_bss_0, 0x500, 0xBU, 0xBU, -1, fn_1_3054); - WipeCreate(1, 0, -1); - object->func = fn_1_9BA4; -} - -#include "src/REL/executor.c" - -void fn_1_A1F0(void) -{ - lbl_1_bss_0 = omInitObjMan(0x3E, 0x2000); - omGameSysInit(lbl_1_bss_0); - HuAudAUXVolSet(-1, -1); - fn_1_0(); - fn_1_500(); - fn_1_618(); - fn_1_3138(); - omAddObjEx(lbl_1_bss_0, 0x1000, 0U, 0U, -1, fn_1_9F94); - omAddObjEx(lbl_1_bss_0, 0x2000, 0U, 0U, -1, fn_1_780); -} - -void ObjectSetup(void) -{ - fn_1_A1F0(); -} diff --git a/src/REL/m418Dll/sequence.c b/src/REL/m418Dll/sequence.c deleted file mode 100644 index 9ccd5985..00000000 --- a/src/REL/m418Dll/sequence.c +++ /dev/null @@ -1,252 +0,0 @@ -#include "REL/m418Dll.h" - -f32 fn_1_A920(f32 arg0, f32 arg1, f32 arg2) { - return (arg1 + (arg0 * (arg2 - 1.0f))) / arg2; -} - -f32 fn_1_A940(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + ((arg2 / arg3) * (arg1 - arg0)); -} - -f32 fn_1_A968(f32 arg8, f32 arg9, f32 argA, f32 argB) { - if (argA >= argB) { - return arg9; - } - return arg8 + (arg9 - arg8) * sind(((90.0f / argB) * argA)); -} - -f32 fn_1_AA30(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { - if (arg2 >= arg3) { - return arg0; - } - return arg0 + (arg1 - arg0) * sind((180.0f / arg3) * arg2); -} - -f32 fn_1_AAEC(f32 arg8, f32 arg9, f32 argA, f32 argB) { - if (argA >= argB) { - return arg9; - } - return (arg8 + (arg9 - arg8) * (1.0 - cosd((90.0f / argB) * argA))); -} - -void fn_1_ABC4(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - if (arg4 == 1) { - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000001); - return; - } - if (arg4 == 2) { - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000002); - return; - } - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0); -} - -void fn_1_AD14(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - if (arg0->work[3] != arg0->motion[arg2]) { - arg0->work[3] = arg0->motion[arg2]; - if (arg4 == 1) { - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000001); - return; - } - if (arg4 == 2) { - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000002); - return; - } - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0); - } -} - -void fn_1_AE8C(M418DllUnkStruct7* arg0) { - arg0->unk8 = 0; - arg0->unkC = arg0->unk4[arg0->unk0].unk8; - arg0->unk10 = (M418DllFunc)arg0->unk4[arg0->unk0].unk0; - arg0->unk14 = (M418DllRetFunc)arg0->unk4[arg0->unk0].unk4; -} - -void fn_1_AEDC(M418DllUnkStruct7* arg0, M418DllUnkStruct8* arg1) { - arg0->unk0 = 0; - arg0->unk4 = arg1; - fn_1_AE8C(arg0); -} - -s32 fn_1_AF38(M418DllUnkStruct7* arg0) { - arg0->unk0++; - fn_1_AE8C(arg0); - if ((arg0->unk10 == NULL) && (arg0->unk14 == NULL)) { - return 1; - } - return 0; -} - -s32 fn_1_AFC0(M418DllUnkStruct7* arg0) { - arg0->unk0--; - if (arg0->unk0 < 0) { - return 1; - } - fn_1_AE8C(arg0); - return 0; -} - -s32 fn_1_B034(M418DllUnkStruct7* arg0, s32 arg1) { - arg0->unk0 = arg1; - if (arg0->unk0 < 0) { - return 1; - } - fn_1_AE8C(arg0); - if ((arg0->unk10 == NULL) && (arg0->unk14 == NULL)) { - return 1; - } - return 0; -} - -s32 fn_1_B0C8(M418DllUnkStruct7* arg0, s32 arg1) { - if (arg1 == 0) { - return arg0->unk8; - } - arg0->unk8 += arg1; - if (arg0->unk8 >= arg0->unkC) { - return 1; - } - return 0; -} - -void fn_1_B104(M418DllUnkStruct* arg0, Vec arg1, Vec arg2) { - f32 temp_f31; - f32 temp_f30; - f32 temp_f29; - f32 temp_f27; - - temp_f31 = arg1.x - arg2.x; - temp_f29 = arg1.y - arg2.y; - temp_f30 = arg1.z - arg2.z; - arg0->unk10.x = arg2.x; - arg0->unk10.y = arg2.y; - arg0->unk10.z = arg2.z; - arg0->unk38 = sqrtf((temp_f30 * temp_f30) + ((temp_f31 * temp_f31) + (temp_f29 * temp_f29))); - temp_f27 = atan2d(temp_f30, temp_f31); - arg0->unk28.x = -atan2d(temp_f29, (temp_f31 * cosd(-temp_f27)) + (temp_f30 * -sind(-temp_f27))); - arg0->unk28.y = -(temp_f27 - 90.0f); - arg0->unk28.z = 0.0f; -} - -void fn_1_B41C(M418DllUnkStruct* arg0) { - arg0->center.x = arg0->unk10.x; - arg0->center.y = arg0->unk10.y; - arg0->center.z = arg0->unk10.z; - arg0->rot.x = arg0->unk28.x; - arg0->rot.y = arg0->unk28.y; - arg0->rot.z = arg0->unk28.z; - arg0->zoom = arg0->unk38; -} - -void fn_1_B458(M418DllUnkStruct* arg0) { - arg0->unk48 = 0.0f; - arg0->unk10.x = arg0->center.x; - arg0->unk10.y = arg0->center.y; - arg0->unk10.z = arg0->center.z; - arg0->unk28.x = arg0->rot.x; - arg0->unk28.y = arg0->rot.y; - arg0->unk28.z = arg0->rot.z; - arg0->unk38 = arg0->zoom; -} - -void fn_1_B4A4(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg8) { - arg0->center.x = fn_1_A920(arg0->center.x, arg1->unk10.x, arg8); - arg0->center.y = fn_1_A920(arg0->center.y, arg1->unk10.y, arg8); - arg0->center.z = fn_1_A920(arg0->center.z, arg1->unk10.z, arg8); - arg0->rot.x = fn_1_A920(arg0->rot.x, arg1->unk28.x, arg8); - arg0->rot.y = fn_1_A920(arg0->rot.y, arg1->unk28.y, arg8); - arg0->rot.z = fn_1_A920(arg0->rot.z, arg1->unk28.z, arg8); - arg0->zoom = fn_1_A920(arg0->zoom, arg1->unk38, arg8); -} - -void fn_1_B710(M418DllUnkStruct* arg0, f32 arg1) { - arg0->center.x = fn_1_A920(arg0->center.x, arg0->unk10.x, arg1); - arg0->center.y = fn_1_A920(arg0->center.y, arg0->unk10.y, arg1); - arg0->center.z = fn_1_A920(arg0->center.z, arg0->unk10.z, arg1); - arg0->rot.x = fn_1_A920(arg0->rot.x, arg0->unk28.x, arg1); - arg0->rot.y = fn_1_A920(arg0->rot.y, arg0->unk28.y, arg1); - arg0->rot.z = fn_1_A920(arg0->rot.z, arg0->unk28.z, arg1); - arg0->zoom = fn_1_A920(arg0->zoom, arg0->unk38, arg1); -} - -void fn_1_B97C(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg8, f32 arg9) { - arg1->unk10.x = fn_1_A940(arg0->unk10.x, arg1->center.x, arg8, arg9); - arg1->unk10.y = fn_1_A940(arg0->unk10.y, arg1->center.y, arg8, arg9); - arg1->unk10.z = fn_1_A940(arg0->unk10.z, arg1->center.z, arg8, arg9); - arg1->unk28.x = fn_1_A940(arg0->unk28.x, arg1->rot.x, arg8, arg9); - arg1->unk28.y = fn_1_A940(arg0->unk28.y, arg1->rot.y, arg8, arg9); - arg1->unk28.z = fn_1_A940(arg0->unk28.z, arg1->rot.z, arg8, arg9); - arg1->unk38 = fn_1_A940(arg0->unk38, arg1->zoom, arg8, arg9); -} - -void fn_1_BBF8(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg8, f32 arg9) { - fn_1_B97C(arg0, arg1, arg8, arg9); - arg0->center.x = arg1->unk10.x; - arg0->center.y = arg1->unk10.y; - arg0->center.z = arg1->unk10.z; - arg0->rot.x = arg1->unk28.x; - arg0->rot.y = arg1->unk28.y; - arg0->rot.z = arg1->unk28.z; - arg0->zoom = arg1->unk38; -} - -void fn_1_BEAC(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg2, f32 arg3, f32 arg4) { - fn_1_B97C(arg0, arg1, arg2, arg3); - fn_1_B4A4(arg0, arg1, arg4); -} - -void fn_1_C318(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg8, f32 arg9) { - arg1->unk10.x = fn_1_A968(arg0->unk10.x, arg1->center.x, arg8, arg9); - arg1->unk10.y = fn_1_A968(arg0->unk10.y, arg1->center.y, arg8, arg9); - arg1->unk10.z = fn_1_A968(arg0->unk10.z, arg1->center.z, arg8, arg9); - arg1->unk28.x = fn_1_A968(arg0->unk28.x, arg1->rot.x, arg8, arg9); - arg1->unk28.y = fn_1_A968(arg0->unk28.y, arg1->rot.y, arg8, arg9); - arg1->unk28.z = fn_1_A968(arg0->unk28.z, arg1->rot.z, arg8, arg9); - arg1->unk38 = fn_1_A968(arg0->unk38, arg1->zoom, arg8, arg9); -} - -void fn_1_C76C(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg8, f32 arg9) { - fn_1_C318(arg0, arg1, arg8, arg9); - arg0->center.x = arg1->unk10.x; - arg0->center.y = arg1->unk10.y; - arg0->center.z = arg1->unk10.z; - arg0->rot.x = arg1->unk28.x; - arg0->rot.y = arg1->unk28.y; - arg0->rot.z = arg1->unk28.z; - arg0->zoom = arg1->unk38; -} - -void fn_1_CBF8(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg2, f32 arg3, f32 arg4) { - fn_1_C318(arg0, arg1, arg2, arg3); - fn_1_B4A4(arg0, arg1, arg4); -} - -void fn_1_D250(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg8, f32 arg9) { - arg1->unk10.x = fn_1_AAEC(arg0->unk10.x, arg1->center.x, arg8, arg9); - arg1->unk10.y = fn_1_AAEC(arg0->unk10.y, arg1->center.y, arg8, arg9); - arg1->unk10.z = fn_1_AAEC(arg0->unk10.z, arg1->center.z, arg8, arg9); - arg1->unk28.x = fn_1_AAEC(arg0->unk28.x, arg1->rot.x, arg8, arg9); - arg1->unk28.y = fn_1_AAEC(arg0->unk28.y, arg1->rot.y, arg8, arg9); - arg1->unk28.z = fn_1_AAEC(arg0->unk28.z, arg1->rot.z, arg8, arg9); - arg1->unk38 = fn_1_AAEC(arg0->unk38, arg1->zoom, arg8, arg9); -} - -void fn_1_D714(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg8, f32 arg9) { - fn_1_D250(arg0, arg1, arg8, arg9); - arg0->center.x = arg1->unk10.x; - arg0->center.y = arg1->unk10.y; - arg0->center.z = arg1->unk10.z; - arg0->rot.x = arg1->unk28.x; - arg0->rot.y = arg1->unk28.y; - arg0->rot.z = arg1->unk28.z; - arg0->zoom = arg1->unk38; -} - -void fn_1_DC10(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg2, f32 arg3, f32 arg4) { - fn_1_D250(arg0, arg1, arg2, arg3); - fn_1_B4A4(arg0, arg1, arg4); -} diff --git a/src/REL/m419Dll/main.c b/src/REL/m419Dll/main.c deleted file mode 100755 index dd58a28a..00000000 --- a/src/REL/m419Dll/main.c +++ /dev/null @@ -1,3085 +0,0 @@ -#include "game/audio.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/frand.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/process.h" -#include "game/sprite.h" -#include "game/wipe.h" - -#include "dolphin.h" -#include "ext_math.h" - -typedef struct { - /* 0x00 */ omObjData *unk00; - /* 0x04 */ char unk04[0xB4]; -} StructBssC8; // Size 0xB8 - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02[5]; -} StructBss1E8; // Size 0xC - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ s16 unk04; - /* 0x06 */ s16 unk06[8]; - /* 0x16 */ s16 unk16; - /* 0x18 */ s16 unk18; - /* 0x1A */ s16 unk1A; - /* 0x1C */ s16 unk1C[4]; - /* 0x24 */ s16 unk24; - /* 0x26 */ char unk26[2]; - /* 0x28 */ s32 unk28; - /* 0x2C */ s32 unk2C; - /* 0x30 */ s32 unk30; - /* 0x34 */ s32 unk34; - /* 0x38 */ s32 unk38; - /* 0x3C */ s32 unk3C; - /* 0x40 */ s32 unk40; - /* 0x44 */ s32 unk44; - /* 0x48 */ s32 unk48; - /* 0x4C */ s32 unk4C; - /* 0x50 */ s32 unk50; - /* 0x54 */ float unk54; - /* 0x58 */ float unk58; - /* 0x5C */ float unk5C; - /* 0x60 */ float unk60; - /* 0x64 */ float unk64; - /* 0x68 */ float unk68; - /* 0x6C */ float unk6C; - /* 0x70 */ float unk70; - /* 0x74 */ float unk74; - /* 0x78 */ float unk78; - /* 0x7C */ float unk7C; - /* 0x80 */ float unk80; - /* 0x84 */ float unk84; - /* 0x88 */ float unk88; - /* 0x8C */ float unk8C; - /* 0x90 */ float unk90; - /* 0x94 */ float unk94; - /* 0x98 */ float unk98; - /* 0x9C */ float unk9C; - /* 0xA0 */ s8 unkA0; - /* 0xA1 */ s8 unkA1; - /* 0xA2 */ s8 unkA2; - /* 0xA3 */ s8 unkA3; - /* 0xA4 */ u16 unkA4; - /* 0xA6 */ u16 unkA6; - /* 0xA8 */ s32 unkA8; - /* 0xAC */ s32 unkAC; - /* 0xB0 */ s32 unkB0; - /* 0xB4 */ s32 unkB4; - /* 0xB8 */ s32 unkB8; - /* 0xBC */ s32 unkBC; - /* 0xC0 */ s32 unkC0; - /* 0xC4 */ float unkC4; - /* 0xC8 */ char unkC8[4]; - /* 0xCC */ float unkCC; - /* 0xD0 */ s32 unkD0; - /* 0xD4 */ s32 unkD4; - /* 0xD8 */ float unkD8; - /* 0xDC */ float unkDC; -} StructBss200; // Size 0xE0 - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ s16 unk04; - /* 0x06 */ s16 unk06; - /* 0x08 */ s16 unk08; - /* 0x0A */ s16 unk0A; - /* 0x0C */ float unk0C; - /* 0x10 */ float unk10; - /* 0x14 */ float unk14; - /* 0x18 */ float unk18; - /* 0x1C */ float unk1C; - /* 0x20 */ float unk20; - /* 0x24 */ float unk24; - /* 0x28 */ float unk28; -} StructBss190; // Size 0x2C - -void fn_1_57C(s16 arg0); -void fn_1_AD0(s16 arg0); -void fn_1_F58(void); -void fn_1_2254(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_2744(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_47E4(void); -void fn_1_4B20(void); -void fn_1_9AF0(void); -void fn_1_DF98(void); -void fn_1_104A0(void); -void fn_1_10500(void); - -s16 lbl_1_bss_5C2; -s16 lbl_1_bss_5C0; // unused -s16 lbl_1_bss_5BE; -s16 lbl_1_bss_5BC; -s16 lbl_1_bss_5BA; -s16 lbl_1_bss_5B8; -s32 lbl_1_bss_5B4; -s32 lbl_1_bss_5B0; -s32 lbl_1_bss_5AC; -s32 lbl_1_bss_5A8; -s32 lbl_1_bss_5A4; -s32 lbl_1_bss_594[4]; -s32 lbl_1_bss_584[4]; -s32 lbl_1_bss_580; -StructBss200 lbl_1_bss_200[4]; -StructBss1E8 lbl_1_bss_1E8[2]; -StructBss190 lbl_1_bss_190[2]; -Process *lbl_1_bss_180[4]; -StructBssC8 lbl_1_bss_C8; -Vec lbl_1_bss_BC; -Vec lbl_1_bss_B0; -Vec lbl_1_bss_A4; -void *lbl_1_bss_84[8]; -void *lbl_1_bss_64[8]; -u8 lbl_1_bss_60; -Vec lbl_1_bss_0[8]; - -s32 lbl_1_data_0[] = { 0, 1, 2, 3, 4, 5, 6, 7 }; - -s32 lbl_1_data_20[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), DATA_MAKE_NUM(DATADIR_MARIOMOT, 2), DATA_MAKE_NUM(DATADIR_MARIOMOT, 3), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 21), DATA_MAKE_NUM(DATADIR_MARIOMOT, 26), DATA_MAKE_NUM(DATADIR_MARIOMOT, 27), DATA_MAKE_NUM(DATADIR_M419, 0), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 25), DATA_MAKE_NUM(DATADIR_MARIOMOT, 75), DATA_MAKE_NUM(DATADIR_MARIOMOT, 13), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 16) }; - -s32 lbl_1_data_4C[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 79), DATA_MAKE_NUM(DATADIR_MARIOMOT, 27), DATA_MAKE_NUM(DATADIR_MARIOMOT, 75), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 22) }; - -Vec lbl_1_data_5C[] = { { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, - { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f } }; - -void ObjectSetup(void) -{ - Process *temp_r3; - - temp_r3 = omInitObjMan(50, 0x2000); - omGameSysInit(temp_r3); - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 20.0f, 20.0f, 10000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(1, 0, 0, 640, 480); - lbl_1_bss_C8.unk00 = omAddObjEx(temp_r3, 0x7FDA, 0, 0, -1, omOutViewMulti); - lbl_1_bss_C8.unk00->work[0] = 1; - CRotM->x = -40.0f; - CRotM->y = 0.0f; - CRotM->z = 0.0f; - CenterM->x = 0.0f; - CenterM->y = 0.0f; - CenterM->z = 3000.0f; - CZoomM[0] = 1500.0f; - Hu3DLighInit(); - lbl_1_bss_5C2 = Hu3DGLightCreate(10000.0f, 0.0f, 10000.0f, -1.0f, 0.0f, -1.0f, 0xFF, 0xFF, 0xFF); - Hu3DGLightPosAimSet(lbl_1_bss_5C2, 0.0f, 4330.13f, 2500.0f, 0.0f, 0.0f, 0.0f); - Hu3DGLightInfinitytSet(lbl_1_bss_5C2); - lbl_1_bss_BC.x = -500.0f; - lbl_1_bss_BC.y = 4000.0f; - lbl_1_bss_BC.z = 0.0f; - lbl_1_bss_B0.x = lbl_1_bss_B0.z = 0.0f; - lbl_1_bss_B0.y = 1.0f; - lbl_1_bss_A4.x = 0.0f; - lbl_1_bss_A4.y = 0.0f; - lbl_1_bss_A4.z = 0.0f; - Hu3DShadowCreate(30.0f, 20.0f, 10000.0f); - Hu3DShadowTPLvlSet(0.5f); - Hu3DShadowPosSet(&lbl_1_bss_BC, &lbl_1_bss_B0, &lbl_1_bss_A4); - Hu3DBGColorSet(0, 0, 0); - fn_1_F58(); - HuPrcChildCreate(fn_1_10500, 0x1000, 0x2000, 0, HuPrcCurrentGet()); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); -} - -void fn_1_4A0(void) -{ - s16 i; - - Hu3DLayerHookSet(1, fn_1_57C); - for (i = 0; i < 8; i++) { - lbl_1_bss_84[i] = HuMemDirectMallocNum(HEAP_DATA, 0x4800, MEMORY_DEFAULT_NUM); - lbl_1_bss_64[i] = HuMemDirectMallocNum(HEAP_DATA, 0x9000, MEMORY_DEFAULT_NUM); - lbl_1_bss_0[i].x = lbl_1_bss_0[i].y = 0.0f; - } -} - -void fn_1_57C(s16 arg0) -{ - Vec sp14; - Vec sp8; - ModelData *temp_r30; - s16 var_r31; - - temp_r30 = &Hu3DData[lbl_1_bss_5BE]; - sp14 = temp_r30->pos; - sp14.y += 50.0f; - Hu3D3Dto2D(&sp14, 1, &sp8.x); - var_r31 = sp8.x - 96.0f; - var_r31 &= 0xFFF8; - sp8.x = var_r31; - if (sp8.x < 0.0f) { - sp8.x = 0.0f; - } - if (sp8.x > 448.0f) { - sp8.x = 448.0f; - } - var_r31 = sp8.y - 96.0f; - var_r31 &= 0xFFF8; - sp8.y = var_r31; - if (sp8.y < 0.0f) { - sp8.y = 0.0f; - } - if (sp8.y > 288.0f) { - sp8.y = 288.0f; - } - lbl_1_bss_0[lbl_1_bss_60] = sp8; - GXSetTexCopySrc(sp8.x, sp8.y, 192, 192); - GXSetTexCopyDst(96, 96, GX_TF_RGB5A3, 1); - GXCopyTex(lbl_1_bss_84[lbl_1_bss_60], 0); - GXSetTexCopySrc(sp8.x, sp8.y, 192, 192); - GXSetTexCopyDst(96, 96, GX_TF_Z24X8, 1); - GXCopyTex(lbl_1_bss_64[lbl_1_bss_60], 0); -} - -void fn_1_848(ModelData *arg0, Mtx arg1) -{ - Mtx44 sp10; - GXColor spC; - s16 i; - - C_MTXOrtho(sp10, 0.0f, 480.0f, 0.0f, 640.0f, 0.0f, 8000.0f); - GXSetProjection(sp10, GX_ORTHOGRAPHIC); - MTXIdentity(arg1); - GXLoadPosMtxImm(arg1, GX_PNMTX0); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_TEXC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_A0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevOp(GX_TEVSTAGE1, GX_PASSCLR); - GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD0, GX_TEXMAP1, GX_COLOR_NULL); - GXSetZTexture(GX_ZT_REPLACE, GX_TF_Z24X8, 0); - GXSetNumTexGens(1); - GXSetNumTevStages(2); - if (lbl_1_bss_5BC != 0) { - for (i = 1; i < 8; i++) { - spC.a = i * 24; - GXSetTevColor(GX_TEVREG0, spC); - fn_1_AD0((lbl_1_bss_60 - 8 + i) & 7); - } - } - lbl_1_bss_60 = (lbl_1_bss_60 + 1) & 7; - GXSetZTexture(GX_ZT_DISABLE, GX_TF_Z8, 0); -} - -void fn_1_AD0(s16 arg0) -{ - GXTexObj sp58; - GXTexObj sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - - GXInitTexObj(&sp58, lbl_1_bss_84[arg0], 96, 96, GX_TF_RGB5A3, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXInitTexObjLOD(&sp58, GX_NEAR, GX_NEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); - GXLoadTexObj(&sp58, GX_TEXMAP0); - GXInitTexObj(&sp38, lbl_1_bss_64[arg0], 96, 96, GX_TF_Z24X8, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXLoadTexObj(&sp38, GX_TEXMAP1); - sp2C.x = 0.0f; - sp2C.y = 0.0f; - sp2C.z = 0.0f; - sp20.x = 640.0f; - sp20.y = 0.0f; - sp20.z = 0.0f; - sp14.x = 640.0f; - sp14.y = 480.0f; - sp14.z = 0.0f; - sp8.x = 0.0f; - sp8.y = 480.0f; - sp8.z = 0.0f; - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); - GXSetZCompLoc(GX_FALSE); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(lbl_1_bss_0[arg0].x, lbl_1_bss_0[arg0].y, 0.0f); - GXTexCoord2f32(0.0f, 0.0f); - GXPosition3f32(lbl_1_bss_0[arg0].x + 192.0f, lbl_1_bss_0[arg0].y, 0.0f); - GXTexCoord2f32(1.0f, 0.0f); - GXPosition3f32(lbl_1_bss_0[arg0].x + 192.0f, lbl_1_bss_0[arg0].y + 192.0f, 0.0f); - GXTexCoord2f32(1.0f, 1.0f); - GXPosition3f32(lbl_1_bss_0[arg0].x, lbl_1_bss_0[arg0].y + 192.0f, 0.0f); - GXTexCoord2f32(0.0f, 1.0f); - GXEnd(); -} - -void fn_1_F58(void) -{ - void *var_r29; - StructBss1E8 *temp_r26; - StructBss200 *temp_r31; - Process *var_r25; - float temp_f31; - s16 var_r30; - s32 var_r22; - s32 var_r23; - AnimData *var_r21; - s32 i; - s32 j; - - lbl_1_bss_5BC = 0; - lbl_1_bss_5BA = 0; - lbl_1_bss_5B0 = 0; - HuAudSndGrpSet(0x2C); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 8), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelShadowMapSet(var_r30); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 9), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelShadowMapSet(var_r30); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 10), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(var_r30); - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelShadowSet(var_r30); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 11), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelShadowSet(var_r30); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 12), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - lbl_1_bss_5B8 = var_r30; - Hu3DModelLayerSet(var_r30, 1); - temp_r26 = &lbl_1_bss_1E8[0]; - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 13), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - temp_r26->unk00 = var_r30; - Hu3DModelLayerSet(var_r30, 1); - for (j = 0; j < 5; j++) { - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 14 + j), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r26->unk02[j] = Hu3DJointMotion(var_r30, var_r29); - } - Hu3DMotionSet(var_r30, temp_r26->unk02[0]); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(var_r30); - HuPrcChildCreate(fn_1_47E4, 0x2000, 0x2000, 0, HuPrcCurrentGet()); - temp_r26 = &lbl_1_bss_1E8[1]; - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 19), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - temp_r26->unk00 = var_r30; - Hu3DModelLayerSet(var_r30, 1); - for (j = 0; j < 5; j++) { - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 20 + j), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r26->unk02[j] = Hu3DJointMotion(var_r30, var_r29); - } - Hu3DMotionSet(var_r30, temp_r26->unk02[0]); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(var_r30); - HuPrcChildCreate(fn_1_4B20, 0x2000, 0x2000, 0, HuPrcCurrentGet()); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 25), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - lbl_1_bss_190[0].unk00 = var_r30; - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelAttrSet(var_r30, 1); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 26), MEMORY_DEFAULT_NUM, HEAP_DATA); - lbl_1_bss_190[0].unk04 = Hu3DJointMotion(var_r30, var_r29); - Hu3DMotionSet(var_r30, lbl_1_bss_190[0].unk04); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(var_r30); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 27), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - lbl_1_bss_190[0].unk02 = var_r30; - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelAttrSet(var_r30, 1); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 28), MEMORY_DEFAULT_NUM, HEAP_DATA); - lbl_1_bss_190[0].unk06 = Hu3DJointMotion(var_r30, var_r29); - Hu3DMotionSet(var_r30, lbl_1_bss_190[0].unk04); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(var_r30); - lbl_1_bss_190[0].unk08 = 0; - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 29), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - lbl_1_bss_190[1].unk00 = var_r30; - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelAttrSet(var_r30, 1); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - lbl_1_bss_190[1].unk08 = 1; - Hu3DModelShadowSet(var_r30); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 30), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - lbl_1_bss_190[1].unk02 = var_r30; - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelAttrSet(var_r30, 1); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - for (i = 0, var_r22 = 0; i < 4; i++) { - temp_r31 = &lbl_1_bss_200[i]; - temp_r31->unk28 = i; - temp_r31->unk2C = i; - temp_r31->unk30 = GWPlayerCfg[i].pad_idx; - if (GWPlayerCfg[temp_r31->unk28].group == 0) { - lbl_1_bss_5AC = temp_r31->unk28; - lbl_1_bss_5BE = temp_r31->unk00 = CharModelCreate(lbl_1_data_0[GWPlayerCfg[i].character], 2); - Hu3DModelLayerSet(temp_r31->unk00, 0); - CharModelLayerSetAll(2); - fn_1_4A0(); - temp_r31->unk68 = temp_r31->unk70 = temp_r31->unk6C = 0.0f; - temp_r31->unk9C = temp_r31->unk6C; - temp_r31->unk54 = temp_r31->unk58 = temp_r31->unk5C = 0.0f; - temp_r31->unk8C = 50.0f; - temp_r31->unk90 = 0.0f; - temp_r31->unk94 = 1.0f; - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk54, temp_r31->unk58, temp_r31->unk5C); - Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk68, temp_r31->unk6C, temp_r31->unk70); - Hu3DModelShadowSet(temp_r31->unk00); - for (j = 0; j < 11; j++) { - var_r23 = lbl_1_data_20[j]; - if ((var_r23 & 0xFFFF0000) == DATADIR_M419) { - var_r23 += GWPlayerCfg[i].character; - } - temp_r31->unk06[j] = CharModelMotionCreate(lbl_1_data_0[GWPlayerCfg[i].character], var_r23); - } - CharModelMotionSet(lbl_1_data_0[GWPlayerCfg[i].character], temp_r31->unk06[0]); - Hu3DModelAttrSet(temp_r31->unk00, HU3D_MOTATTR_LOOP); - CharModelMotionDataClose(lbl_1_data_0[GWPlayerCfg[i].character]); - var_r25 = HuPrcChildCreate(fn_1_9AF0, 0x2000, 0x3000, 0, HuPrcCurrentGet()); - var_r25->user_data = temp_r31; - lbl_1_bss_180[i] = var_r25; - } - else { - temp_r31->unk02 = CharModelCreate(lbl_1_data_0[GWPlayerCfg[i].character], 2); - Hu3DModelLayerSet(temp_r31->unk00, 1); - CharModelLayerSetAll(2); - temp_r31->unk80 = lbl_1_data_5C[GWPlayerCfg[i].character].x; - temp_r31->unk84 = lbl_1_data_5C[GWPlayerCfg[i].character].y; - temp_r31->unk88 = lbl_1_data_5C[GWPlayerCfg[i].character].z; - Hu3DModelPosSet(temp_r31->unk02, temp_r31->unk80, temp_r31->unk84, temp_r31->unk88); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 31), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unk00 = Hu3DModelCreate(var_r29); - Hu3DModelLayerSet(temp_r31->unk00, 1); - temp_r31->unk68 = temp_r31->unk70 = 0.0f; - temp_r31->unk6C = 120.0f * var_r22; - var_r22++; - if (temp_r31->unk6C > 360.0f) { - temp_r31->unk6C -= 360.0f; - } - Hu3DModelAttrSet(temp_r31->unk00, 1); - temp_f31 = 1000.0f; - temp_r31->unk54 = temp_f31 * sind(temp_r31->unk6C); - temp_r31->unk58 = 0.0f; - temp_r31->unk5C = temp_f31 * cosd(temp_r31->unk6C); - temp_r31->unk6C += 180.0f; - if (temp_r31->unk6C > 360.0f) { - temp_r31->unk6C -= 360.0f; - } - temp_r31->unk9C = temp_r31->unk6C; - temp_r31->unk8C = 200.0f; - temp_r31->unk90 = 2.25f; - temp_r31->unk94 = 1.0f; - temp_r31->unk98 = 0.66f; - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk54, temp_r31->unk58, temp_r31->unk5C); - Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk68, temp_r31->unk6C, temp_r31->unk70); - Hu3DModelShadowSet(temp_r31->unk00); - Hu3DModelHookSet(temp_r31->unk00, "itemhook_c", temp_r31->unk02); - for (j = 0; j < 4; j++) { - temp_r31->unk1C[j] = CharModelMotionCreate(lbl_1_data_0[GWPlayerCfg[i].character], lbl_1_data_4C[j]); - } - CharModelMotionSet(lbl_1_data_0[GWPlayerCfg[i].character], temp_r31->unk1C[0]); - CharModelMotionTimeSet(lbl_1_data_0[GWPlayerCfg[i].character], 60.0f); - CharModelVoiceEnableSet(lbl_1_data_0[GWPlayerCfg[i].character], temp_r31->unk1C[3], 0); - for (j = 0; j < 8; j++) { - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 32 + j), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unk06[j] = Hu3DJointMotion(temp_r31->unk00, var_r29); - } - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk06[1]); - Hu3DMotionShiftSpeedSet(temp_r31->unk00, 1.0f); - Hu3DMotionSpeedSet(temp_r31->unk00, 1.0f); - Hu3DModelAttrSet(temp_r31->unk00, HU3D_MOTATTR_LOOP); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M419, 40), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unk04 = Hu3DModelCreate(var_r29); - Hu3DModelLayerSet(temp_r31->unk04, 1); - Hu3DModelAttrSet(temp_r31->unk04, 1); - Hu3DModelAttrSet(temp_r31->unk04, HU3D_MOTATTR_PAUSE); - CharModelMotionDataClose(lbl_1_data_0[GWPlayerCfg[i].character]); - var_r25 = HuPrcChildCreate(fn_1_DF98, 0x2000, 0x3000, 0, HuPrcCurrentGet()); - var_r25->user_data = temp_r31; - lbl_1_bss_180[i] = var_r25; - } - } - var_r21 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 2), MEMORY_DEFAULT_NUM)); - var_r30 = Hu3DParticleCreate(var_r21, 50); - Hu3DModelPosSet(var_r30, 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(var_r30, 1.0f, 1.0f, 1.0f); - Hu3DModelLayerSet(var_r30, 3); - Hu3DParticleColSet(var_r30, 0xFF, 0xFF, 0xFF); - Hu3DParticleScaleSet(var_r30, 0.0f); - Hu3DParticleHookSet(var_r30, fn_1_2254); - var_r21 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 2), MEMORY_DEFAULT_NUM)); - var_r30 = Hu3DParticleCreate(var_r21, 50); - Hu3DModelPosSet(var_r30, 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(var_r30, 1.0f, 1.0f, 1.0f); - Hu3DModelLayerSet(var_r30, 3); - Hu3DParticleColSet(var_r30, 0xFF, 0xFF, 0xFF); - Hu3DParticleScaleSet(var_r30, 0.0f); - Hu3DParticleHookSet(var_r30, fn_1_2744); - HuDataDirClose(DATADIR_EFFECT); - lbl_1_bss_580 = 0; - lbl_1_bss_584[0] = frandmod(5) * 60 + 600; - lbl_1_bss_584[1] = frandmod(5) * 60 + 1380; - lbl_1_bss_584[2] = 2760; - Hu3DModelLayerSet(Hu3DHookFuncCreate(fn_1_848), 1); - HuPrcChildCreate(fn_1_104A0, 0x1000, 0x1000, 0, HuPrcCurrentGet()); -} - -float fn_1_1F84(float arg0, float arg1) -{ - float var_f31; - float var_f30; - - if (arg0 > 600.0f - arg1) { - var_f31 = 600.0f + 200.0f * ((800.0f - (arg0 + arg1)) / 200.0f); - } - else if (arg0 < -(600.0f - arg1)) { - var_f31 = 600.0f + 200.0f * ((800.0f - ABS_INV(arg0 - arg1)) / 200.0f); - } - else { - var_f31 = 800.0f; - } - return var_f31; -} - -float fn_1_20AC(float arg0, float arg1) -{ - return fn_1_1F84(arg0, arg1); -} - -float fn_1_21D4(float arg0) -{ - while (arg0 >= 360.0f || arg0 < 0.0f) { - if (arg0 >= 360.0f) { - arg0 -= 360.0f; - } - if (arg0 < 0.0f) { - arg0 += 360.0f; - } - } - return arg0; -} - -void fn_1_2254(ModelData *model, ParticleData *particle, Mtx matrix) -{ - HsfanimStruct01 *var_r31; - StructBss200 *temp_r28; - float var_f31; - float temp_f29; - float var_f30; - s32 var_r27; - s16 i; - s16 j; - s16 k; - - if (particle->unk_34 == 0) { - var_r31 = particle->unk_48; - for (k = 0; k < particle->unk_30; k++, var_r31++) { - var_r31->unk14.x = var_r31->unk2C = 0.0f; - } - } - var_r31 = particle->unk_48; - for (i = 0; i < 4; i++) { - temp_r28 = &lbl_1_bss_200[i]; - if (temp_r28->unk38 & 1) { - for (j = 0, var_f30 = 0.0f; j < 16; j++, var_f30 += 22.5f) { - for (k = 0; k < particle->unk_30; k++, var_r31++) { - if (var_r31->unk14.x == 0.0f) { - break; - } - } - if (k == particle->unk_30) { - break; - } - var_f31 = var_f30; - temp_f29 = 125.0f + 70.0f * frandf(); - var_r31->unk34.x = temp_r28->unk74 + temp_f29 * sind(var_f31); - var_r31->unk34.y = temp_r28->unk78 + 50.0f * frandf(); - var_r31->unk34.z = temp_r28->unk7C + temp_f29 * cosd(var_f31); - var_r31->unk08.x = 5.0 * sind(var_f31); - var_r31->unk08.y = 9.0f + 2.0f * frandf(); - var_r31->unk08.z = 5.0 * cosd(var_f31); - var_r31->unk14.x = 30.0f; - var_r31->unk2C = 80.0f + 20.0f * frandf(); - var_r31->unk14.y = 15.0f; - var_r31->unk40.a = 0xC8; - var_r31->unk14.z = 17.0f; - } - temp_r28->unk38 &= ~1; - } - } - var_r31 = particle->unk_48; - for (k = 0; k < particle->unk_30; k++, var_r31++) { - if (var_r31->unk14.x != 0.0f) { - VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); - var_r31->unk08.x *= 0.95f; - var_r31->unk08.z *= 0.95f; - if (var_r31->unk08.y > 0.1f) { - var_r31->unk08.y -= 0.2f; - } - if (var_r31->unk08.y < 0.0f) { - var_r31->unk08.y = 0.0f; - } - var_r31->unk2C += var_r31->unk14.y; - if (var_r31->unk14.y > 2.0f) { - var_r31->unk14.y -= 1.5f; - } - var_r27 = var_r31->unk40.a; - var_r27 -= var_r31->unk14.z; - if (var_r31->unk14.z > 3.0f) { - var_r31->unk14.z -= 1.0f; - } - if (var_r27 < 0) { - var_r27 = 0; - var_r31->unk14.x = 0.0f; - } - var_r31->unk40.a = var_r27; - if (var_r31->unk14.x == 0.0f) { - var_r31->unk2C = 0.0f; - } - } - } -} - -void fn_1_2744(ModelData *model, ParticleData *particle, Mtx matrix) -{ - HsfanimStruct01 *var_r31; - StructBss200 *temp_r28; - float temp_f31; - float temp_f30; - s32 var_r27; - s16 i; - s16 j; - s16 k; - - if (particle->unk_34 == 0) { - var_r31 = particle->unk_48; - for (k = 0; k < particle->unk_30; k++, var_r31++) { - var_r31->unk14.x = var_r31->unk2C = 0.0f; - var_r31->unk20 = -1.0f; - } - } - var_r31 = particle->unk_48; - for (i = 0; i < 4; i++) { - temp_r28 = &lbl_1_bss_200[i]; - if (temp_r28->unk38 & 2) { - for (j = 0; j < 10; j++) { - for (k = 0; k < particle->unk_30; k++, var_r31++) { - if (var_r31->unk14.x == 0.0f) { - break; - } - } - if (k == particle->unk_30) { - break; - } - temp_f31 = 400.0f * frandf() - 200.0f; - temp_f30 = 400.0f * frandf() - 200.0f; - var_r31->unk34.x = temp_r28->unk74 + temp_f31; - var_r31->unk34.y = temp_r28->unk78 + 50.0f; - var_r31->unk34.z = temp_r28->unk7C + temp_f30; - var_r31->unk08.x = 0.0f; - var_r31->unk08.y = 7.0f; - var_r31->unk08.z = 0.0f; - var_r31->unk20 = frandmod(10); - var_r31->unk24 = 0.0f; - var_r31->unk14.x = 100.0f; - var_r31->unk2C = 0.0f; - var_r31->unk14.y = 7.0f; - var_r31->unk40.a = 0xFF; - var_r31->unk14.z = 10.0f; - } - temp_r28->unk38 &= ~2; - } - } - var_r31 = particle->unk_48; - for (k = 0; k < particle->unk_30; k++, var_r31++) { - if (var_r31->unk20 > 0.0f) { - var_r31->unk20 -= 1.0f; - } - if (var_r31->unk20 == 0.0f) { - var_r31->unk24 = 1.0f; - var_r31->unk2C = 100.0f + 100.0f * frandf(); - var_r31->unk20 = -1.0f; - } - if (var_r31->unk14.x != 0.0f && var_r31->unk24 != 0.0f) { - VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); - if (var_r31->unk08.y > 1.0f) { - var_r31->unk08.y -= 0.3f; - } - var_r31->unk2C += var_r31->unk14.y; - if (var_r31->unk14.y > 2.0f) { - var_r31->unk14.y -= 0.4f; - } - var_r27 = var_r31->unk40.a; - var_r27 -= var_r31->unk14.z; - if (var_r31->unk14.z > 3.0f) { - var_r31->unk14.z -= 1.0f; - } - if (var_r27 < 0) { - var_r27 = 0; - var_r31->unk14.x = 0.0f; - } - var_r31->unk40.a = var_r27; - if (var_r31->unk14.x == 0.0f) { - var_r31->unk2C = 0.0f; - } - } - } -} - -s32 fn_1_2BDC(StructBss190 *arg0) -{ - StructBss200 *temp_r31; - Vec sp24; - Vec sp18; - Vec spC; - float var_f29; - float var_f28; - s32 var_r28; - s32 i; - - for (i = 0, var_f29 = 10000.0f, var_r28 = -1; i < 4; i++) { - temp_r31 = &lbl_1_bss_200[i]; - HuSetVecF(&sp24, arg0->unk14, 0.0, arg0->unk1C); - HuSetVecF(&sp18, temp_r31->unk54, 0.0, temp_r31->unk5C); - HuSubVecF(&spC, &sp24, &sp18); - if ((var_f28 = VECMagXYZ(&spC)) < 50.0f + temp_r31->unk8C && var_f28 < var_f29) { - var_f29 = var_f28; - var_r28 = i; - } - } - return var_r28; -} - -void fn_1_2DFC(StructBss190 *arg0) -{ - float temp_f31; - float var_f26; - float var_f25; - - temp_f31 = 50.0f; - var_f26 = fn_1_1F84(arg0->unk1C, 50.0f); - var_f25 = fn_1_1F84(arg0->unk14, 50.0f); - if (arg0->unk14 > var_f26 - temp_f31) { - arg0->unk14 = var_f26 - temp_f31; - } - if (arg0->unk14 < -(var_f26 - temp_f31)) { - arg0->unk14 = -(var_f26 - temp_f31); - } - if (arg0->unk1C > var_f25 - temp_f31) { - arg0->unk1C = var_f25 - temp_f31; - } - if (arg0->unk1C < -(var_f25 - temp_f31)) { - arg0->unk1C = -(var_f25 - temp_f31); - } - if (arg0->unk1C > var_f25 - temp_f31 || arg0->unk1C < -(var_f25 - temp_f31)) { - arg0->unk14 += arg0->unk10 * sind(arg0->unk0C) * 0.8f; - } - if (arg0->unk14 > var_f26 - temp_f31 || arg0->unk14 < -(var_f26 - temp_f31)) { - arg0->unk1C += arg0->unk10 * cosd(arg0->unk0C) * 0.8f; - } - if (arg0->unk14 > var_f26 - temp_f31) { - arg0->unk14 = var_f26 - temp_f31; - } - if (arg0->unk14 < -(var_f26 - temp_f31)) { - arg0->unk14 = -(var_f26 - temp_f31); - } - if (arg0->unk1C > var_f25 - temp_f31) { - arg0->unk1C = var_f25 - temp_f31; - } - if (arg0->unk1C < -(var_f25 - temp_f31)) { - arg0->unk1C = -(var_f25 - temp_f31); - } -} - -void fn_1_32F8(void) -{ - StructBss200 *temp_r31; - float var_f31; - s32 var_r29; - s32 i; - - var_r29 = (s32)HuPrcCurrentGet()->user_data; - temp_r31 = &lbl_1_bss_200[var_r29]; - for (i = 0, var_f31 = 1.0f; i < 30; i++, var_f31 -= 0.033333335f) { - Hu3DModelAmbSet(temp_r31->unk00, 1.0f, var_f31, var_f31); - HuPrcVSleep(); - } - Hu3DModelAmbSet(temp_r31->unk00, 1.0f, 0.0f, 0.0f); - while (temp_r31->unk48 > 30) { - HuPrcVSleep(); - } - for (i = 0, var_f31 = 0.0f; i < 30; i++, var_f31 += 0.033333335f) { - Hu3DModelAmbSet(temp_r31->unk00, 1.0f, var_f31, var_f31); - HuPrcVSleep(); - } - Hu3DModelAmbSet(temp_r31->unk00, 1.0f, 1.0f, 1.0f); - HuPrcKill(HuPrcCurrentGet()); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_344C(void) -{ - StructBss190 *temp_r31; - StructBss200 *temp_r30; - Vec spAC; - Vec spA0; - Vec sp94; - float sp6C; - float sp68; - float sp64; - float sp60; - float sp5C; - float sp58; - float sp54; - float sp50; - float sp4C; - float sp48; - float sp44; - float var_f24; - float var_f23; - s32 var_r24; - s32 var_r23; - s16 var_r22; - s32 var_r25; - s32 var_r28; - s32 i; - - temp_r31 = HuPrcCurrentGet()->user_data; - HuPrcSleep(25); - var_r23 = 0; - temp_r31->unk0A = 0; - var_r28 = 0; - var_f24 = temp_r31->unk18; - var_f23 = 15.0f; - sp58 = 0.9f; - while (var_f24 > 50.0f) { - var_f23 -= sp58; - var_f24 += var_f23; - var_r28++; - } - if (temp_r31->unk08 == 0) { - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk04); - Hu3DModelAttrSet(temp_r31->unk00, HU3D_MOTATTR_LOOP); - Hu3DModelTPLvlSet(temp_r31->unk00, 1.0f); - } - else { - Hu3DModelAttrReset(temp_r31->unk02, 1); - } - Hu3DModelAttrReset(temp_r31->unk00, 1); - temp_r31->unk0C = atan2d(temp_r31->unk24 - temp_r31->unk14, temp_r31->unk28 - temp_r31->unk1C); - HuSetVecF(&spAC, temp_r31->unk24, 0.0, temp_r31->unk28); - HuSetVecF(&spA0, temp_r31->unk14, 0.0, temp_r31->unk1C); - HuSubVecF(&sp94, &spAC, &spA0); - temp_r31->unk10 = VECMagXYZ(&sp94) / var_r28; - var_f24 = temp_r31->unk18; - var_f23 = 15.0f; - sp58 = 0.9f; - while (var_f24 > 50.0f) { - sp68 = temp_r31->unk14; - sp64 = temp_r31->unk18; - sp60 = temp_r31->unk1C; - temp_r31->unk14 += temp_r31->unk10 * sind(temp_r31->unk0C); - temp_r31->unk18 = var_f24; - temp_r31->unk1C += temp_r31->unk10 * cosd(temp_r31->unk0C); - if ((var_r25 = fn_1_2BDC(temp_r31)) != -1) { - temp_r30 = &lbl_1_bss_200[var_r25]; - if (GWPlayerCfg[temp_r30->unk28].group == 0) { - sp5C = 150.0f; - } - else { - sp5C = 400.0f; - } - if (temp_r31->unk18 < sp5C) { - if (temp_r31->unk18 < sp5C && temp_r31->unk18 > sp5C - 50.0f) { - var_f23 = 15.0f; - sp58 = 0.9f; - } - else { - sp6C = atan2d(temp_r31->unk14 - temp_r30->unk54, temp_r31->unk1C - temp_r30->unk5C); - temp_r31->unk0C = fn_1_21D4(180.0f + temp_r31->unk0C); - temp_r31->unk0C = sp6C - (temp_r31->unk0C - sp6C); - } - temp_r31->unk14 = sp68; - temp_r31->unk18 = sp64; - temp_r31->unk1C = sp60; - } - } - fn_1_2DFC(temp_r31); - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk14, temp_r31->unk18, temp_r31->unk1C); - if (temp_r31->unk08 != 0) { - temp_r31->unk20 += 10.0f; - Hu3DModelPosSet(temp_r31->unk02, temp_r31->unk14, temp_r31->unk18, temp_r31->unk1C); - Hu3DModelRotSet(temp_r31->unk02, 0.0f, 0.0f, temp_r31->unk20); - } - Hu3DModelRotSet(temp_r31->unk00, 0.0f, 0.0f, temp_r31->unk20); - if (lbl_1_bss_5B4 >= 4) { - var_r23 = 1; - goto fn_1_344C_label; - } - HuPrcVSleep(); - var_f23 -= sp58; - var_f24 += var_f23; - } - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk14, 50.0f, temp_r31->unk1C); - if (temp_r31->unk08 != 0) { - Hu3DModelPosSet(temp_r31->unk02, temp_r31->unk14, 50.0f, temp_r31->unk1C); - } - if (temp_r31->unk08 == 0) { - Hu3DModelAttrSet(temp_r31->unk00, 1); - Hu3DModelAttrReset(temp_r31->unk02, 1); - Hu3DModelPosSet(temp_r31->unk02, temp_r31->unk14, 0.0f, temp_r31->unk1C); - Hu3DModelRotSet(temp_r31->unk02, 0.0f, 0.0f, 0.0f); - Hu3DMotionSet(temp_r31->unk02, temp_r31->unk06); - Hu3DModelAttrReset(temp_r31->unk02, HU3D_MOTATTR_LOOP); - Hu3DModelTPLvlSet(temp_r31->unk02, 1.0f); - } - for (var_r28 = 300, var_r24 = 0; var_r28 != 0; var_r28--) { - if (temp_r31->unk08 != 0 && 0.0f != temp_r31->unk20) { - temp_r31->unk20 += 10.0f; - if (temp_r31->unk20 > 360.0f) { - temp_r31->unk20 = 0.0f; - } - Hu3DModelRotSet(temp_r31->unk00, 0.0f, 0.0f, temp_r31->unk20); - Hu3DModelRotSet(temp_r31->unk02, 0.0f, 0.0f, temp_r31->unk20); - } - for (i = 0, sp50 = 10000.0f; i < 4; i++) { - temp_r30 = &lbl_1_bss_200[i]; - HuSetVecF(&spAC, temp_r31->unk14, 0.0, temp_r31->unk1C); - HuSetVecF(&spA0, temp_r30->unk54, 0.0, temp_r30->unk5C); - HuSubVecF(&sp94, &spAC, &spA0); - if ((sp54 = VECMagXYZ(&sp94)) < 50.0f + temp_r30->unk8C && sp54 < sp50) { - sp50 = sp54; - var_r25 = i; - } - } - if (sp50 < 10000.0f) { - temp_r30 = &lbl_1_bss_200[var_r25]; - temp_r31->unk0A = 1; - if (temp_r31->unk08 != 0) { - temp_r30->unk3C = 1; - temp_r30->unk48 = 300; - if (GWPlayerCfg[temp_r30->unk28].group == 0) { - temp_r30->unk94 = 3.0f; - lbl_1_bss_5BC = 1; - HuAudFXPlay(0x5E6); - } - else { - temp_r30->unk90 = 6.75f; - temp_r30->unk98 = 0.99f; - HuAudFXPlay(0x5E2); - } - } - else if (temp_r30->unk24 == 0) { - temp_r30->unk34 = 4; - HuAudPlayerVoicePlay(temp_r30->unk28, 0x128); - HuAudFXPlay(0x5E9); - } - break; - } - if (var_r28 < 60) { - var_r22 = temp_r31->unk00; - if (temp_r31->unk08 == 0) { - var_r22 = temp_r31->unk02; - } - if (var_r24 & 1) { - Hu3DModelAttrReset(var_r22, 1); - } - else { - Hu3DModelAttrSet(var_r22, 1); - } - var_r24++; - } - HuPrcVSleep(); - if (lbl_1_bss_5B4 >= 4) { - var_r23 = 1; - break; - } - } -fn_1_344C_label: - if (var_r23 != 0) { - for (i = 0, sp4C = 1.0f; i < 30; i++) { - sp4C -= 0.033333335f; - Hu3DModelScaleSet(temp_r31->unk00, sp4C, sp4C, sp4C); - HuPrcVSleep(); - } - Hu3DModelAttrSet(temp_r31->unk00, 1); - Hu3DModelAttrSet(temp_r31->unk02, 1); - } - else { - if (temp_r31->unk08 == 0) { - temp_r30 = &lbl_1_bss_200[var_r25]; - sp6C = atan2d(temp_r31->unk14 - temp_r30->unk54, temp_r31->unk1C - temp_r30->unk5C); - sp44 = 1.0f; - temp_r31->unk20 = 0.0f; - for (i = 0, sp48 = 0.0f; i < 10; i++, sp48 += 9.0f, sp44 -= 0.1f) { - temp_r31->unk14 += 2.0 * sind(sp6C); - temp_r31->unk18 += 10.0f; - temp_r31->unk1C += 2.0 * cosd(sp6C); - Hu3DModelPosSet(temp_r31->unk02, temp_r31->unk14, temp_r31->unk18, temp_r31->unk1C); - temp_r31->unk20 += 10.0f; - Hu3DModelRotSet(temp_r31->unk02, 0.0f, 0.0f, temp_r31->unk20); - Hu3DModelTPLvlSet(temp_r31->unk02, sp44); - HuPrcVSleep(); - } - } - Hu3DModelAttrSet(temp_r31->unk00, 1); - if (temp_r31->unk08 != 0) { - Hu3DModelAttrSet(temp_r31->unk02, 1); - } - temp_r31->unk20 = 0.0f; - HuPrcCurrentGet()->user_data = NULL; - HuPrcKill(HuPrcCurrentGet()); - } - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_47E4(void) -{ - StructBss1E8 *var_r31; - StructBss190 *var_r30; - ModelData *temp_r29; - Process *temp_r3; - s32 var_r27; - - var_r31 = &lbl_1_bss_1E8[0]; - while (lbl_1_bss_5B4 != 3) { - HuPrcVSleep(); - } - while (TRUE) { - while (lbl_1_bss_5BA != 0) { - HuPrcVSleep(); - } - if (lbl_1_bss_5B4 >= 4) { - break; - } - var_r30 = &lbl_1_bss_190[0]; - if (lbl_1_bss_5B0 > lbl_1_bss_584[lbl_1_bss_580]) { - lbl_1_bss_580++; - var_r30 = &lbl_1_bss_190[1]; - Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[4], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - } - else { - Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[3], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - } - HuPrcVSleep(); - var_r27 = Hu3DMotionMaxTimeGet(var_r31->unk00); - while (var_r27 != 0) { - HuPrcVSleep(); - var_r27--; - } - HuAudFXPlay(0x5E4); - temp_r3 = HuPrcChildCreate(fn_1_344C, 0x2010, 0x3000, 0, HuPrcCurrentGet()); - temp_r3->user_data = var_r30; - temp_r29 = &Hu3DData[lbl_1_bss_1E8[0].unk00]; - var_r30->unk14 = temp_r29->pos.x + 640.0f; - var_r30->unk18 = temp_r29->pos.y + 620.0f; - var_r30->unk1C = temp_r29->pos.y - 200.0f; - var_r30->unk20 = 0.0f; - var_r30->unk24 = 1000.0f * frandf() - 500.0f; - var_r30->unk28 = 1000.0f * frandf() - 500.0f; - while (!Hu3DMotionEndCheck(var_r31->unk00)) { - HuPrcVSleep(); - } - Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - while (temp_r3->user_data) { - HuPrcVSleep(); - } - lbl_1_bss_5BA = 1; - if (var_r30->unk0A != 0) { - HuAudFXPlay(0x5E8); - Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[2], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - HuPrcSleep(6); - while (!Hu3DMotionEndCheck(var_r31->unk00)) { - HuPrcVSleep(); - } - Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - } - } - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_4B20(void) -{ - StructBss1E8 *var_r31; - StructBss190 *var_r30; - Process *temp_r3; - ModelData *temp_r29; - s32 var_r27; - - var_r31 = &lbl_1_bss_1E8[1]; - while (lbl_1_bss_5B4 != 3) { - HuPrcVSleep(); - } - while (TRUE) { - while (lbl_1_bss_5BA == 0) { - HuPrcVSleep(); - } - if (lbl_1_bss_5B4 >= 4) { - break; - } - var_r30 = lbl_1_bss_190; - if (lbl_1_bss_5B0 > lbl_1_bss_584[lbl_1_bss_580]) { - lbl_1_bss_580++; - var_r30 = &lbl_1_bss_190[1]; - Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[4], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - } - else { - Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[3], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - } - HuPrcVSleep(); - var_r27 = Hu3DMotionMaxTimeGet(var_r31->unk00); - while (var_r27 != 0) { - HuPrcVSleep(); - var_r27--; - } - HuAudFXPlay(0x5E4); - temp_r3 = HuPrcChildCreate(fn_1_344C, 0x2010, 0x3000, 0, HuPrcCurrentGet()); - temp_r3->user_data = var_r30; - temp_r29 = &Hu3DData[lbl_1_bss_1E8->unk00]; - var_r30->unk14 = -(temp_r29->pos.x + 640.0f); - var_r30->unk18 = temp_r29->pos.y + 620.0f; - var_r30->unk1C = temp_r29->pos.y - 200.0f; - var_r30->unk24 = 1000.0f * frandf() - 500.0f; - var_r30->unk28 = 1000.0f * frandf() - 500.0f; - while (!Hu3DMotionEndCheck(var_r31->unk00)) { - HuPrcVSleep(); - } - Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - while (temp_r3->user_data) { - HuPrcVSleep(); - } - lbl_1_bss_5BA = 0; - if (var_r30->unk0A != 0) { - HuAudFXPlay(0x5E8); - Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[2], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - HuPrcSleep(6); - while (!Hu3DMotionEndCheck(var_r31->unk00)) { - HuPrcVSleep(); - } - Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk02[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - } - } - while (TRUE) { - HuPrcVSleep(); - } -} - -s8 fn_1_4E54(s32 arg0, s32 arg1) -{ - StructBss200 *temp_r31; - s8 var_r30; - - temp_r31 = &lbl_1_bss_200[arg0]; - if (GWPlayerCfg[arg0].iscom == 0) { - (arg1 != 0) ? (var_r30 = HuPadStkY[temp_r31->unk30]) : (var_r30 = HuPadStkX[temp_r31->unk30]); - } - else { - (arg1 != 0) ? (var_r30 = temp_r31->unkA1) : (var_r30 = temp_r31->unkA0); - } - return var_r30; -} - -u8 fn_1_4F0C(s32 arg0, s32 arg1) -{ - StructBss200 *temp_r31; - s8 var_r30; - - temp_r31 = &lbl_1_bss_200[arg0]; - if (GWPlayerCfg[arg0].iscom == 0) { - (arg1 != 0) ? (var_r30 = HuPadTrigR[temp_r31->unk30]) : (var_r30 = HuPadTrigL[temp_r31->unk30]); - } - else { - (arg1 != 0) ? (var_r30 = temp_r31->unkA2) : (var_r30 = temp_r31->unkA3); - } - return var_r30; -} - -u16 fn_1_4FCC(s32 arg0) -{ - StructBss200 *temp_r31; - u16 var_r30; - - temp_r31 = &lbl_1_bss_200[arg0]; - if (GWPlayerCfg[arg0].iscom == 0) { - var_r30 = HuPadBtnDown[temp_r31->unk30]; - } - else { - var_r30 = temp_r31->unkA6; - } - return var_r30; -} - -u16 fn_1_5038(s32 arg0) -{ - StructBss200 *temp_r31; - u16 var_r30; - - temp_r31 = &lbl_1_bss_200[arg0]; - if (GWPlayerCfg[arg0].iscom == 0) { - var_r30 = HuPadBtn[temp_r31->unk30]; - } - else { - var_r30 = temp_r31->unkA4; - } - return var_r30; -} - -s32 fn_1_50A4(StructBss200 *arg0, float arg1, s32 arg2) -{ - Vec sp2C; - Vec sp20; - Vec sp14; - StructBss200 *temp_r30; - s32 var_r28; - float var_f27; - float var_f28; - s32 i; - - var_r28 = -1; - for (i = 0, var_f28 = 10000.0f; i < 4; i++) { - if (i != arg0->unk28 && (arg2 == 0 || i != lbl_1_bss_5AC)) { - temp_r30 = &lbl_1_bss_200[i]; - HuSetVecF(&sp2C, arg0->unk54, arg0->unk58, arg0->unk5C); - HuSetVecF(&sp20, temp_r30->unk54, temp_r30->unk58, temp_r30->unk5C); - HuSubVecF(&sp14, &sp2C, &sp20); - if ((var_f27 = VECMagXYZ(&sp14)) < arg0->unk8C + temp_r30->unk8C + arg1 && var_f27 < var_f28) { - var_f28 = var_f27; - var_r28 = i; - } - } - } - return var_r28; -} - -s32 fn_1_52E8(StructBss200 *arg0) -{ - float var_f25; - float var_f24; - s32 var_r28; - - var_f25 = fn_1_1F84(arg0->unk5C, arg0->unk8C); - var_f24 = fn_1_1F84(arg0->unk54, arg0->unk8C); - if (arg0->unk54 > var_f25 - arg0->unk8C) { - arg0->unk54 = var_f25 - arg0->unk8C; - } - if (arg0->unk54 < -(var_f25 - arg0->unk8C)) { - arg0->unk54 = -(var_f25 - arg0->unk8C); - } - if (arg0->unk5C > var_f24 - arg0->unk8C) { - arg0->unk5C = var_f24 - arg0->unk8C; - } - if (arg0->unk5C < -(var_f24 - arg0->unk8C)) { - arg0->unk5C = -(var_f24 - arg0->unk8C); - } - if ((var_r28 = fn_1_50A4(arg0, 0.0f, 0)) != -1) { - arg0->unk54 = arg0->unk60; - arg0->unk5C = arg0->unk64; - } - return var_r28; -} - -float fn_1_5858(float arg0, float arg1, float arg2) -{ - float var_f31; - float var_f30; - - var_f31 = fmod(arg1 - arg0, 360.0); - if (0.0f > var_f31) { - var_f31 += 360.0f; - } - if (180.0f < var_f31) { - var_f31 -= 360.0f; - } - var_f30 = fmod(arg0 + var_f31 * arg2, 360.0); - if (0.0f > var_f30) { - var_f30 += 360.0f; - } - return var_f30; -} - -float fn_1_595C(float arg0, float arg1, StructBss200 *arg2) -{ - Vec sp2C; - Vec sp20; - Vec sp14; - - HuSetVecF(&sp2C, arg0, 0.0, arg1); - HuSetVecF(&sp20, arg2->unk54, 0.0, arg2->unk5C); - HuSubVecF(&sp14, &sp2C, &sp20); - return VECMagXZ(&sp14); -} - -float fn_1_5AD8(float arg0, float arg1) -{ - float var_f31; - - if (arg0 > arg1) { - var_f31 = fn_1_21D4(arg0 - arg1); - if (var_f31 < 180.0f) { - var_f31 = fn_1_21D4(arg1 + var_f31 + 180.0f); - } - else { - var_f31 = fn_1_21D4(arg1 - var_f31); - } - } - else { - var_f31 = fn_1_21D4(arg1 - arg0); - if (var_f31 < 180.0f) { - var_f31 = fn_1_21D4(arg0 + var_f31 + 180.0f); - } - else { - var_f31 = fn_1_21D4(arg0 - var_f31); - } - } - return var_f31; -} - -s32 fn_1_5F34(StructBss200 *arg0, float arg1) -{ - s32 var_r31; - float var_f25; - float var_f24; - - var_f25 = fn_1_1F84(arg0->unk5C, arg0->unk8C); - var_f24 = fn_1_1F84(arg0->unk54, arg0->unk8C); - var_r31 = 0; - if (arg0->unk54 > var_f25 - arg0->unk8C - arg1 || arg0->unk54 < -(var_f25 - arg0->unk8C - arg1) || arg0->unk5C > var_f24 - arg0->unk8C - arg1 - || arg0->unk5C < -(var_f24 - arg0->unk8C - arg1)) { - var_r31 = 1; - } - return var_r31; -} - -void fn_1_628C(StructBss200 *arg0) -{ - Vec spC; - - HuSetVecF(&spC, fn_1_4E54(arg0->unk28, 0) / 4.0f, 0.0, -fn_1_4E54(arg0->unk28, 1) / 4.0f); - arg0->unk90 = VECMagXYZ(&spC); - if (arg0->unk90 >= 0.5f) { - if (arg0->unk90 >= 10.0f) { - spC.x /= arg0->unk90; - spC.z /= arg0->unk90; - arg0->unk90 = 10.0f; - spC.x = 10.0f * spC.x; - spC.z = 10.0f * spC.z; - } - arg0->unk54 += spC.x * arg0->unk94; - arg0->unk5C += spC.z * arg0->unk94; - } -} - -void fn_1_65C0(Vec *arg0, StructBss200 **arg1) -{ - float temp_f31; - StructBss200 *temp_r31; - StructBss200 *temp_r30; - s32 var_r28; - s32 i; - - for (i = 0; i < 3; i++) { - temp_r31 = arg1[i]; - (i >= 2) ? (var_r28 = 0) : (var_r28 = i + 1); - temp_r30 = arg1[var_r28]; - temp_f31 = ABS_INV(temp_r31->unk54 - temp_r30->unk54) / 2.0f; - if (temp_r31->unk54 > temp_r30->unk54) { - arg0[i].x = temp_r31->unk54 - temp_f31; - } - else { - arg0[i].x = temp_r30->unk54 - temp_f31; - } - temp_r31 = arg1[i]; - (i >= 2) ? (var_r28 = 0) : (var_r28 = i + 1); - temp_r30 = arg1[var_r28]; - temp_f31 = ABS_INV(temp_r31->unk5C - temp_r30->unk5C) / 2.0f; - if (temp_r31->unk5C > temp_r30->unk5C) { - arg0[i].z = temp_r31->unk5C - temp_f31; - } - else { - arg0[i].z = temp_r30->unk5C - temp_f31; - } - } -} - -s32 fn_1_67A0(float arg0, float arg1, StructBss200 *arg2, StructBss200 **arg3) -{ - StructBss200 *var_r31; - StructBss200 sp5C; - float var_f29; - s32 var_r27; - s32 i; - - var_r31 = &sp5C; - var_r31->unk28 = arg2->unk28; - var_r31->unk54 = arg2->unk54; - var_r31->unk58 = arg2->unk58; - var_r31->unk5C = arg2->unk5C; - var_r31->unk8C = arg2->unk8C; - var_r31->unk90 = arg2->unk90; - var_r31->unk94 = arg2->unk94; - var_f29 = fn_1_21D4(atan2d(arg0 - arg2->unk54, arg1 - arg2->unk5C)); - var_r27 = 1; - while (fn_1_595C(arg0, arg1, var_r31) >= 10.0f) { - var_r31->unk54 += 10.0 * sind(var_f29); - var_r31->unk5C += 10.0 * cosd(var_f29); - for (i = 0; i < 3; i++) { - if (fn_1_595C(arg3[i]->unk54, arg3[i]->unk5C, var_r31) < var_r31->unk8C + arg3[i]->unk8C + 10.0f) { - break; - } - } - if (i < 3) { - var_r27 = 0; - break; - } - } - return var_r27; -} - -s32 fn_1_6D04(void) -{ - StructBss200 *sp8[3]; - StructBss200 *var_r29; - s32 var_r30; - s32 var_r28; - s32 i; - - for (i = 0, var_r30 = 0; i < 4; i++) { - if (i == lbl_1_bss_5AC) { - var_r29 = &lbl_1_bss_200[i]; - } - else { - sp8[var_r30++] = &lbl_1_bss_200[i]; - } - } - var_r30 = 0; - for (i = 0; i < 3; i++) { - if (sp8[i]->unk54 > var_r29->unk54) { - break; - } - } - if (i < 3) { - var_r30++; - for (i = 0; i < 3; i++) { - if (sp8[i]->unk54 < var_r29->unk54) { - break; - } - } - if (i < 3) { - var_r30++; - for (i = 0; i < 3; i++) { - if (sp8[i]->unk5C > var_r29->unk5C) { - break; - } - } - if (i < 3) { - var_r30++; - for (i = 0; i < 3; i++) { - if (sp8[i]->unk5C < var_r29->unk5C) { - break; - } - } - if (i < 3) { - var_r30++; - } - } - } - } - var_r28 = 0; - if (var_r30 >= 4) { - var_r28 = 1; - } - return var_r28; -} - -float fn_1_6E9C(StructBss200 *arg0) -{ - s32 sp88[3]; - s32 sp50[2]; - float sp44; - float var_f20; - float sp48[2]; - StructBss200 *sp7C[3]; - s32 var_r29; - s32 var_r28; - s32 i; - - for (i = 0, var_r29 = 0; i < 4; i++) { - if (i != arg0->unk28) { - sp7C[var_r29++] = &lbl_1_bss_200[i]; - } - } - for (i = 0, var_r28 = 0; i < 3; i++) { - sp44 = fn_1_595C(sp7C[i]->unk54, sp7C[i]->unk5C, arg0); - if (sp44 < arg0->unk8C + sp7C[i]->unk8C + 100.0f) { - sp88[i] = 1; - var_r28++; - } - else { - sp88[i] = -1; - } - } - var_f20 = -1.0f; - switch (var_r28) { - case 1: - for (i = 0; i < 3; i++) { - if (sp88[i] != 0) { - break; - } - } - var_f20 = fn_1_21D4(atan2d(arg0->unk54 - sp7C[i]->unk54, arg0->unk5C - sp7C[i]->unk5C)); - break; - case 2: - for (i = 0, var_r29 = 0; i < 3; i++) { - if (sp88[i] == 0) { - sp50[var_r29++] = i; - } - } - for (i = 0; i < 2; i++) { - sp48[i] = fn_1_21D4(atan2d(arg0->unk54 - sp7C[sp50[i]]->unk54, arg0->unk5C - sp7C[sp50[i]]->unk5C)); - } - var_f20 = fn_1_5AD8(sp48[0], sp48[1]); - break; - } - if (var_f20 != -1.0f) - ; - if (var_f20 != -1.0f) { - var_f20 = fn_1_21D4(var_f20); - } - return var_f20; -} - -void fn_1_78B4(StructBss200 *arg0) -{ - StructBss200 *temp_r18; - StructBss200 *var_r17; - StructBss200 *sp224[3]; - Vec sp254[3]; - Vec sp230[3]; - s32 sp218[3]; - s32 sp138[2]; - s32 sp130[2]; - s32 sp12C; - float sp128; - float sp124; - s32 sp120; - float sp11C; - float sp118; - float sp114; - float sp110; - float var_f27; // ! - uninitialized - float var_f29; - float var_f28; - float var_f30; - float var_f31; - float var_f26; - s32 var_r21; - s32 var_r22; - s32 var_r29; - s32 var_r30; - s32 sp10C; - - arg0->unkA0 = arg0->unkA1 = 0; - arg0->unkA3 = arg0->unkA2 = 0; - arg0->unkA4 = arg0->unkA6 = 0; - switch (GWPlayerCfg[arg0->unk28].diff) { - case 0: - sp12C = 60; - break; - case 1: - sp12C = 80; - break; - case 2: - sp12C = 90; - break; - default: - sp12C = 95; - break; - } - for (var_r30 = 0, var_r29 = 0; var_r30 < 4; var_r30++) { - if (var_r30 != arg0->unk28) { - sp224[var_r29++] = &lbl_1_bss_200[var_r30]; - } - } - for (var_r30 = 0, var_f31 = 10000.0f; var_r30 < 3; var_r30++) { - if (sp224[var_r30]->unk54 < var_f31) { - var_f31 = sp224[var_r30]->unk54; - } - } - for (var_r30 = 0, var_f30 = -10000.0f; var_r30 < 3; var_r30++) { - if (sp224[var_r30]->unk54 > var_f30) { - var_f30 = sp224[var_r30]->unk54; - } - } - sp124 = ABS_INV(var_f30 - var_f31) / 2.0f; - var_f29 = var_f30 - sp124; - for (var_r30 = 0, var_f31 = 10000.0f; var_r30 < 3; var_r30++) { - if (sp224[var_r30]->unk5C < var_f31) { - var_f31 = sp224[var_r30]->unk5C; - } - } - for (var_r30 = 0, var_f30 = -10000.0f; var_r30 < 3; var_r30++) { - if (sp224[var_r30]->unk5C > var_f30) { - var_f30 = sp224[var_r30]->unk5C; - } - } - sp124 = ABS_INV(var_f30 - var_f31) / 2.0f; - var_f28 = var_f30 - sp124; - for (var_r30 = 0, var_f31 = 10000.0f; var_r30 < 3; var_r30++) { - var_f26 = fn_1_595C(var_f29, var_f28, sp224[var_r30]); - if (var_f26 < var_f31) { - var_f31 = var_f26; - } - } - if (fn_1_6D04() != 0) { - arg0->unkB0 = 0; - if (var_f31 < 400.0f || (arg0->unkB4 & 2)) { - arg0->unkB4 |= 2; - fn_1_65C0(sp254, sp224); - if (arg0->unkBC == -1) { - for (var_r30 = 0, sp120 = 0, var_f30 = 0.0f; var_r30 < 3; var_r30++) { - temp_r18 = sp224[var_r30]; - (var_r30 >= 2) ? (var_r29 = 0) : (var_r29 = var_r30 + 1); - var_r17 = sp224[var_r29]; - var_f26 = fn_1_595C(temp_r18->unk54, temp_r18->unk5C, var_r17); - if (var_f26 > 700.0f) { - sp218[var_r30] = 1; - sp120++; - } - else { - sp218[var_r30] = 0; - } - if (var_f26 > var_f30) { - var_f30 = var_f26; - var_r21 = var_r30; - var_f27 = fn_1_21D4(atan2d(sp254[var_r30].x - arg0->unk54, sp254[var_r30].z - arg0->unk5C)); - } - } - if (sp120 > 0) { - var_r29 = frandmod(sp120); - for (var_r30 = 0; var_r30 < 3; var_r30++) { - if (sp218[var_r30] != 0 && var_r29-- == 0) { - break; - } - } - var_r21 = var_r30; - var_f27 = fn_1_21D4(atan2d(sp254[var_r30].x - arg0->unk54, sp254[var_r30].z - arg0->unk5C)); - } - arg0->unkBC = var_r21; - arg0->unkCC = var_f27; - } - else { - var_r21 = arg0->unkBC; - var_f27 = arg0->unkCC; - } - sp11C = var_f29; - sp118 = var_f28; - var_f29 = sp254[var_r21].x; - var_f28 = sp254[var_r21].z; - if (fn_1_595C(var_f29, var_f28, arg0) <= 30.0f && !(arg0->unkB4 & 1)) { - arg0->unkC4 = fn_1_21D4(atan2d(var_f29, var_f28)); - arg0->unkB4 |= 1; - } - if (arg0->unkB4 & 1) { - var_f29 = 800.0 * sind(arg0->unkC4); - var_f28 = 800.0 * cosd(arg0->unkC4); - } - } - } - else { - arg0->unkAC = 0; - arg0->unkB4 = 0; - arg0->unkBC = -1; - if ((var_f31 >= 600.0f && fn_1_67A0(var_f29, var_f28, arg0, &sp224[0]) != 0) || (arg0->unkB0 & 0x10)) { - arg0->unkB0 |= 0x10; - fn_1_65C0(sp230, sp224); - for (var_r30 = 0, var_r21 = 0, var_f31 = 10000.0f; var_r30 < 3; var_r30++) { - var_f26 = fn_1_595C(sp230[var_r30].x, sp230[var_r30].z, arg0); - if (var_f26 < var_f31) { - var_f31 = var_f26; - var_r21 = var_r30; - } - } - sp114 = var_f29; - sp110 = var_f28; - var_f29 = sp230[var_r21].x; - var_f28 = sp230[var_r21].z; - if (fn_1_595C(var_f29, var_f28, arg0) <= 30.0f && !(arg0->unkB0 & 0x20)) { - arg0->unkC4 = fn_1_21D4(var_f27 - 90.0f); - arg0->unkB0 |= 0x20; - } - if (arg0->unkB0 & 0x20) { - var_f29 = 800.0 * sind(arg0->unkC4); - var_f28 = 800.0 * cosd(arg0->unkC4); - if (fn_1_5F34(arg0, 10.0f)) { - arg0->unkB0 &= ~0x20; - } - else { - arg0->unkB0 |= 0x20; - } - } - } - else { - if (arg0->unk54 >= 0.0f && arg0->unk5C < 0.0f) { - sp138[0] = 0; - sp138[1] = 1; - } - if (arg0->unk54 < 0.0f && arg0->unk5C < 0.0f) { - sp138[0] = 3; - sp138[1] = 0; - } - if (arg0->unk54 >= 0.0f && arg0->unk5C >= 0.0f) { - sp138[0] = 1; - sp138[1] = 2; - } - if (arg0->unk54 < 0.0f && arg0->unk5C >= 0.0f) { - sp138[0] = 2; - sp138[1] = 3; - } - for (var_r30 = 0; var_r30 < 2; var_r30++) { - var_r22 = 0; - sp10C = sp138[var_r30]; - switch (sp10C) { - case 0: - for (var_r29 = 0; var_r29 < 3; var_r29++) { - if (sp224[var_r29]->unk5C < -800.0f + sp224[var_r29]->unk8C + 150.0f) { - break; - } - } - if (var_r29 >= 3) { - var_r22 = 1; - } - break; - case 1: - for (var_r29 = 0; var_r29 < 3; var_r29++) { - if (sp224[var_r29]->unk54 > 800.0f - sp224[var_r29]->unk8C - 150.0f) { - break; - } - } - if (var_r29 >= 3) { - var_r22 = 1; - } - break; - case 2: - for (var_r29 = 0; var_r29 < 3; var_r29++) { - if (sp224[var_r29]->unk5C > 800.0f - sp224[var_r29]->unk8C - 150.0f) { - break; - } - } - if (var_r29 >= 3) { - var_r22 = 1; - } - break; - case 3: - for (var_r29 = 0; var_r29 < 3; var_r29++) { - if (sp224[var_r29]->unk54 < -800.0f + sp224[var_r29]->unk8C + 150.0f) { - break; - } - } - if (var_r29 >= 3) { - var_r22 = 1; - } - break; - } - sp130[var_r30] = var_r22; - } - var_r22 = 0; - if ((arg0->unkB0 & 4) || (arg0->unkB0 & 8)) { - if ((arg0->unkB0 & 4) && sp130[0] != 0) { - var_r22 = 1; - } - if ((arg0->unkB0 & 8) && sp130[1] != 0) { - var_r22 = 1; - } - } - if (arg0->unkC0 > 0) { - var_r22 = 1; - arg0->unkC0--; - } - if (var_r22 == 0) { - arg0->unkB0 &= ~0xC; - if (sp130[0] != 0 && sp130[1] != 0) { - if (frandmod(2) != 0) { - arg0->unkB0 |= 4; - arg0->unkC0 = 30; - } - else { - arg0->unkB0 |= 8; - arg0->unkC0 = 30; - } - } - else if (sp130[0] != 0) { - arg0->unkB0 |= 4; - arg0->unkC0 = 30; - } - else if (sp130[1] != 0) { - arg0->unkB0 |= 8; - arg0->unkC0 = 30; - } - else { - arg0->unkB0 |= 0x10; - } - } - if ((arg0->unkB0 & 4) || (arg0->unkB0 & 8)) { - var_f27 = fn_1_21D4(atan2d(arg0->unk54, arg0->unk5C)); - if (arg0->unkB0 & 4) { - var_f27 += 10.0f; - } - else { - var_f27 -= 10.0f; - } - var_f29 = 800.0 * sind(var_f27); - var_f28 = 800.0 * cosd(var_f27); - } - else { - var_f29 = arg0->unk54; - var_f28 = arg0->unk5C; - } - } - } - var_f26 = fn_1_595C(var_f29, var_f28, arg0); - if (var_f26 > 100.0f || arg0->unkAC == 1) { - if (arg0->unkAC != 1) { - arg0->unkAC = 1; - } - if (var_f26 < 20.0f) { - arg0->unkAC = 0; - return; - } - if (var_f26 < 30.0f) { - sp128 = 10.0f; - } - else { - sp128 = 50.0f; - } - var_f27 = fn_1_21D4(atan2d(var_f29 - arg0->unk54, var_f28 - arg0->unk5C)); - arg0->unkA0 = sp128 * sind(var_f27); - arg0->unkA1 = sp128 * -cosd(var_f27); - } -} - -void fn_1_9AF0(void) -{ - StructBss200 *temp_r31; - StructBss200 *temp_r29; - Vec sp6C; - float sp44; - float sp40; - float var_f23; - float var_f22; - float var_f21; - float var_f28; - float var_f19; - s32 var_r24; - s32 var_r30; - - temp_r31 = HuPrcCurrentGet()->user_data; - temp_r31->unk34 = 0; - temp_r31->unk24 = 0; - temp_r31->unkA8 = 0; - temp_r31->unk38 = 0; - temp_r31->unkBC = -1; - while (lbl_1_bss_5B4 == 0) { - HuPrcVSleep(); - } - lbl_1_bss_5B4 = 2; - while (lbl_1_bss_5B4 == 2) { - HuPrcVSleep(); - } - while (TRUE) { - temp_r31->unk60 = temp_r31->unk54; - temp_r31->unk64 = temp_r31->unk5C; - if (GWPlayerCfg[temp_r31->unk28].iscom == 1) { - fn_1_78B4(temp_r31); - } - if (temp_r31->unk3C != 0 && temp_r31->unk48-- == 0) { - temp_r31->unk3C = 0; - temp_r31->unk94 = 1.0f; - lbl_1_bss_5BC = 0; - } - if (temp_r31->unk24 != 0) { - break; - } - switch (temp_r31->unk34) { - case 4: - omVibrate(temp_r31->unk28, 12, 6, 6); - CharModelMotionSpeedSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], 1.0f); - CharModelMotionSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], temp_r31->unk06[6]); - Hu3DModelAttrReset(temp_r31->unk00, HU3D_MOTATTR_LOOP); - temp_r31->unk44 = 60; - temp_r31->unk34 = 5; - break; - case 5: - if (temp_r31->unk44 != 0) { - if (temp_r31->unk44 == 20) { - HuAudPlayerVoicePlay(temp_r31->unk28, 0x119); - } - temp_r31->unk44--; - } - else { - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], temp_r31->unk06[7], 0.0f, 10.0f, HU3D_MOTATTR_NONE); - temp_r31->unk44 = 20; - temp_r31->unk34 = 6; - } - break; - case 6: - if (temp_r31->unk44 != 0) { - Hu3DModelAttrReset(temp_r31->unk00, HU3D_MOTATTR_LOOP); - temp_r31->unk44--; - } - else if (Hu3DMotionEndCheck(temp_r31->unk00) == 1) { - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], temp_r31->unk06[4], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - temp_r31->unk44 = 10; - temp_r31->unk34 = 7; - } - break; - case 7: - if (temp_r31->unk44 != 0) { - temp_r31->unk44--; - } - else { - CharModelMotionSpeedSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], 2.0f); - temp_r31->unk34 = 0; - } - break; - default: - HuSetVecF(&sp6C, fn_1_4E54(temp_r31->unk28, 0) / 4.0f, 0.0, -fn_1_4E54(temp_r31->unk28, 1) / 4.0f); - temp_r31->unk90 = VECMagXYZ(&sp6C); - if (temp_r31->unk90 >= 0.5f) { - CharModelMotionSpeedSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], 1.0f); - if (temp_r31->unk90 >= 10.0f) { - sp6C.x /= temp_r31->unk90; - sp6C.z /= temp_r31->unk90; - temp_r31->unk90 = 10.0f; - sp6C.x = 10.0f * sp6C.x; - sp6C.z = 10.0f * sp6C.z; - } - temp_r31->unk6C = fn_1_5858(temp_r31->unk6C, atan2d(sp6C.x, sp6C.z), 0.4f); - if (temp_r31->unk90 >= 8.0f) { - if (temp_r31->unk34 != 3) { - temp_r31->unk34 = 3; - CharModelMotionShiftSet( - lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], temp_r31->unk06[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - } - else if (temp_r31->unk34 != 2) { - temp_r31->unk34 = 2; - CharModelMotionShiftSet( - lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], temp_r31->unk06[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - temp_r31->unk54 += sp6C.x * temp_r31->unk94; - temp_r31->unk5C += sp6C.z * temp_r31->unk94; - } - else if (temp_r31->unk34 != 0) { - temp_r31->unk34 = 0; - CharModelMotionSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], temp_r31->unk06[4]); - CharModelMotionSpeedSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], 2.0f); - Hu3DModelAttrSet(temp_r31->unk00, HU3D_MOTATTR_LOOP); - } - break; - } - if ((temp_r31->unk40 = fn_1_50A4(temp_r31, 0.0f, 0)) != -1) { - temp_r31->unk24 = 1; - break; - } - if ((temp_r31->unk40 = fn_1_52E8(temp_r31)) != -1) { - temp_r31->unk24 = 1; - break; - } - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk54, temp_r31->unk58, temp_r31->unk5C); - Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk68, temp_r31->unk6C, temp_r31->unk70); - HuPrcVSleep(); - } - lbl_1_bss_5BC = 0; - if (lbl_1_bss_5A8 == lbl_1_bss_5AC) { - var_f23 = 10.0f; - CharModelMotionSpeedSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], 1.0f); - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - var_r30 = (360.0f - fn_1_21D4(temp_r31->unk6C)) / var_f23; - if (temp_r31->unk6C < 180.0f) { - var_r30 = temp_r31->unk6C / var_f23; - var_f23 = -var_f23; - } - for (; var_r30 != 0; var_r30--) { - temp_r31->unk6C += var_f23; - Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk68, temp_r31->unk6C, temp_r31->unk70); - HuPrcVSleep(); - } - Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk68, 0.0f, temp_r31->unk70); - } - else { - omVibrate(temp_r31->unk28, 12, 4, 2); - HuAudPlayerVoicePlay(temp_r31->unk28, 0x123); - HuAudFXPlay(0x5EC); - temp_r29 = &lbl_1_bss_200[temp_r31->unk40]; - temp_r31->unk9C = atan2d(temp_r31->unk54 - temp_r29->unk54, temp_r31->unk5C - temp_r29->unk5C); - var_r30 = 0; - var_f22 = temp_r31->unk54; - var_f21 = temp_r31->unk5C; - while (TRUE) { - var_f22 += 20.0 * sind(temp_r31->unk9C); - var_f21 += 20.0 * cosd(temp_r31->unk9C); - if (ABS_INV(var_f22) > 1200.0f || var_f21 > 1200.0f || var_f21 < -2000.0f) { - break; - } - var_r30++; - } - var_f28 = fn_1_21D4(atan2d(temp_r31->unk54 - temp_r29->unk54, temp_r31->unk5C - temp_r29->unk5C)); - if (ABS_INV(var_f28 - temp_r31->unk6C) > 90.0f && ABS_INV(var_f28 - temp_r31->unk6C) < 270.0f) { - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], temp_r31->unk18, 0.0f, 5.0f, HU3D_MOTATTR_NONE); - } - else { - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], temp_r31->unk1A, 0.0f, 5.0f, HU3D_MOTATTR_NONE); - } - sp44 = temp_r31->unk58; - var_f19 = 0.0f; - sp40 = 180.0f / var_r30; - var_r24 = 0; - for (; var_r30 != 0; var_r30--) { - temp_r31->unk54 += 20.0 * sind(temp_r31->unk9C); - temp_r31->unk58 = 700.0 * sind(var_f19); - temp_r31->unk5C += 20.0 * cosd(temp_r31->unk9C); - var_f19 += sp40; - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk54, temp_r31->unk58, temp_r31->unk5C); - if (Hu3DMotionTimeGet(temp_r31->unk00) == 20.0f && var_r24 == 0) { - var_r24 = 1; - Hu3DModelAttrSet(temp_r31->unk00, HU3D_MOTATTR_PAUSE); - } - HuPrcVSleep(); - } - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk54, -1000.0f, temp_r31->unk5C); - Hu3DModelAttrSet(temp_r31->unk00, 1); - } - while (TRUE) { - HuPrcVSleep(); - } -} - -float fn_1_ADFC(s32 arg0, float arg1, float arg2) -{ - float temp_f31; - float var_f29; - - temp_f31 = arg1 - fn_1_21D4(arg2); - if (temp_f31 < 0.0f || ABS_INV(temp_f31) > 180.0f) { - if (ABS_INV(temp_f31) > 180.0f) { - var_f29 = (360.0f - ABS_INV(temp_f31)) / arg0; - if (temp_f31 > 0.0f) { - var_f29 = -var_f29; - } - } - else { - var_f29 = temp_f31 / arg0; - } - } - else { - var_f29 = temp_f31 / arg0; - } - return var_f29; -} - -void fn_1_B054(StructBss200 *arg0) -{ - StructBss200 sp23C; - float sp230[3]; - float sp198[2]; - Vec sp224; - Vec sp218; - Vec sp20C; - float sp194; - float sp190; - float sp18C; - float sp188; - float sp184; - float sp180; - s32 sp17C; - float sp178; - float sp174; - float var_f30; - float var_f29; - float var_f31; - s32 var_r21; - s32 var_r20; - StructBss200 *temp_r30; - StructBss200 *var_r29; - StructBss200 *temp_r28; - s32 var_r19; - s32 var_r18; - s32 var_r17; - s32 var_r26; - s32 i; - - arg0->unkA0 = arg0->unkA1 = 0; - arg0->unkA3 = arg0->unkA2 = 0; - arg0->unkA4 = arg0->unkA6 = 0; - switch (GWPlayerCfg[arg0->unk28].diff) { - case 0: - var_r19 = 60; - break; - case 1: - var_r19 = 80; - break; - case 2: - var_r19 = 90; - break; - default: - var_r19 = 95; - break; - } - temp_r30 = &lbl_1_bss_200[lbl_1_bss_5AC]; - var_r29 = &sp23C; - for (i = 0, var_r26 = 0; i < 4; i++) { - if (i != lbl_1_bss_5AC && i != arg0->unk28) { - temp_r28 = &lbl_1_bss_200[i]; - sp230[var_r26] = fn_1_21D4(atan2d(temp_r28->unk54 - temp_r30->unk54, temp_r28->unk5C - temp_r30->unk5C)); - var_r26++; - } - } - if (sp230[0] > sp230[1]) { - sp230[2] = fn_1_21D4(sp230[0] - sp230[1]); - if (sp230[2] < 180.0f) { - sp230[2] = fn_1_21D4(sp230[1] + sp230[2] + 180.0f); - } - else { - sp230[2] = fn_1_21D4(sp230[1] - sp230[2]); - } - } - else { - sp230[2] = fn_1_21D4(sp230[1] - sp230[0]); - if (sp230[2] < 180.0f) { - sp230[2] = fn_1_21D4(sp230[0] + sp230[2] + 180.0f); - } - else { - sp230[2] = fn_1_21D4(sp230[0] - sp230[2]); - } - } - temp_r28 = &lbl_1_bss_200[arg0->unk28]; - HuSetVecF(&sp224, temp_r28->unk54, temp_r28->unk58, temp_r28->unk5C); - HuSetVecF(&sp218, temp_r30->unk54, temp_r30->unk58, temp_r30->unk5C); - HuSubVecF(&sp20C, &sp224, &sp218); - sp184 = VECMagXYZ(&sp20C); - for (i = 0, var_r21 = 0; i < 4; i++) { - if (i != lbl_1_bss_5AC && i != arg0->unk28 && GWPlayerCfg[i].iscom) { - temp_r28 = &lbl_1_bss_200[i]; - HuSetVecF(&sp224, temp_r28->unk54, temp_r28->unk58, temp_r28->unk5C); - HuSetVecF(&sp218, temp_r30->unk54, temp_r30->unk58, temp_r30->unk5C); - HuSubVecF(&sp20C, &sp224, &sp218); - sp194 = VECMagXYZ(&sp20C); - if (sp194 < sp184) { - var_r21++; - } - } - } - if (arg0->unkAC != 2) { - if (fn_1_6D04() != 0) { - arg0->unkAC = 0; - } - else { - if (ABS_INV(temp_r30->unk54) > 600.0f && ABS_INV(temp_r30->unk5C) > 600.0f) { - if (var_r21 <= 0) { - arg0->unkAC = 0; - } - else { - arg0->unkAC = 2; - } - } - else { - if (var_r21 <= 0) { - arg0->unkAC = 0; - } - else { - arg0->unkAC = 1; - } - } - } - } - if (arg0->unkAC != 3 && arg0->unkD0 > 180) { - arg0->unkAC = 3; - arg0->unkD4 = frandmod(120) + 120; - } - switch (arg0->unkAC) { - case 0: - var_f30 = temp_r30->unk54; - var_f29 = temp_r30->unk5C; - var_f31 = fn_1_21D4(atan2d(var_f30 - arg0->unk54, var_f29 - arg0->unk5C)); - break; - case 1: - var_f30 = var_f29 = sp18C = sp188 = 0.0f; - if (temp_r30->unk54 >= 300.0f && temp_r30->unk5C < -300.0f) { - var_f30 = 550.0f; - var_f29 = -100.0f; - sp18C = 100.0f; - sp188 = 550.0f; - } - if (temp_r30->unk54 < -300.0f && temp_r30->unk5C < -300.0f) { - var_f30 = -550.0f; - var_f29 = -100.0f; - sp18C = -100.0f; - sp188 = 550.0f; - } - if (temp_r30->unk54 >= 300.0f && temp_r30->unk5C >= 300.0f) { - var_f30 = 550.0f; - var_f29 = -100.0f; - sp18C = 100.0f; - sp188 = -550.0f; - } - if (temp_r30->unk54 < -300.0f && temp_r30->unk5C >= -300.0f) { - var_f30 = -550.0f; - var_f29 = -100.0f; - sp18C = -100.0f; - sp188 = -550.0f; - } - if (temp_r30->unk54 > 300.0f && temp_r30->unk5C > -300.0f && temp_r30->unk5C < 300.0f) { - var_f30 = 200.0f; - var_f29 = 550.0f; - sp18C = 200.0f; - sp188 = -550.0f; - } - if (temp_r30->unk54 < -300.0f && temp_r30->unk5C > -300.0f && temp_r30->unk5C < 300.0f) { - var_f30 = -200.0f; - var_f29 = 550.0f; - sp18C = -200.0f; - sp188 = -550.0f; - } - if (temp_r30->unk54 < 300.0f && temp_r30->unk54 > -300.0f && temp_r30->unk5C < -300.0f) { - var_f30 = 550.0f; - var_f29 = -200.0f; - sp18C = -550.0f; - sp188 = -200.0f; - } - if (temp_r30->unk54 < 300.0f && temp_r30->unk54 > -300.0f && temp_r30->unk5C > 300.0f) { - var_f30 = 550.0f; - var_f29 = 200.0f; - sp18C = -550.0f; - sp188 = 200.0f; - } - for (i = 0, var_r17 = -1, sp190 = 10000.0f; i < 4; i++) { - if (i != lbl_1_bss_5AC) { - temp_r28 = &lbl_1_bss_200[i]; - HuSetVecF(&sp224, temp_r30->unk54, 0.0, temp_r30->unk5C); - HuSetVecF(&sp218, temp_r28->unk54, 0.0, temp_r28->unk5C); - HuSubVecF(&sp20C, &sp224, &sp218); - sp194 = VECMagXZ(&sp20C); - if (sp194 < sp190) { - sp190 = sp194; - var_r17 = i; - } - } - } - for (i = 0, var_r26 = -1, sp190 = 10000.0f; i < 4; i++) { - if (i != lbl_1_bss_5AC && i != var_r17) { - temp_r28 = &lbl_1_bss_200[i]; - HuSetVecF(&sp224, temp_r30->unk54, 0.0, temp_r30->unk5C); - HuSetVecF(&sp218, temp_r28->unk54, 0.0, temp_r28->unk5C); - HuSubVecF(&sp20C, &sp224, &sp218); - sp194 = VECMagXZ(&sp20C); - if (sp194 < sp190) { - sp190 = sp194; - var_r26 = i; - } - } - } - if (arg0->unk28 != var_r26) { - var_f30 = sp18C; - var_f29 = sp188; - } - var_f31 = fn_1_21D4(atan2d(var_f30 - arg0->unk54, var_f29 - arg0->unk5C)); - break; - case 2: - for (i = 0, var_r26 = 0; i < 4; i++) { - if (i != lbl_1_bss_5AC && i != arg0->unk28) { - temp_r28 = &lbl_1_bss_200[i]; - sp198[var_r26++] = fn_1_21D4(atan2d(temp_r28->unk54 - arg0->unk54, temp_r28->unk5C - arg0->unk5C)); - } - } - sp180 = fn_1_21D4(ABS_INV(sp198[0] - sp198[1]) / 2.0f); - if (sp180 < 90.0f) { - sp180 += 180.0f; - } - if (sp198[0] < sp198[1]) { - sp180 += sp198[0]; - } - else { - sp180 += sp198[1]; - } - sp180 = fn_1_21D4(sp180); - if (sqrtf(arg0->unk54 * arg0->unk54 + arg0->unk5C * arg0->unk5C) < 500.0f) { - sp194 = 600.0f; - var_f30 = arg0->unk54 + sp194 * sind(sp180); - var_f29 = arg0->unk5C + sp194 * cosd(sp180); - var_f31 = fn_1_21D4(atan2d(var_f30 - arg0->unk54, var_f29 - arg0->unk5C)); - } - else { - arg0->unkAC = 1; - } - break; - case 3: - for (i = 0, sp174 = 10000.0f; i < 4; i++) { - if (i != lbl_1_bss_5AC && i != arg0->unk28) { - temp_r28 = &lbl_1_bss_200[i]; - sp178 = fn_1_595C(temp_r28->unk54, temp_r28->unk5C, arg0); - if (sp178 < sp174) { - sp174 = sp178; - sp17C = i; - } - } - } - temp_r28 = &lbl_1_bss_200[sp17C]; - var_f31 = fn_1_21D4(180.0 + atan2d(temp_r28->unk54 - arg0->unk54, temp_r28->unk5C - arg0->unk5C)); - var_f30 = arg0->unk54 + 100.0 * sind(var_f31); - var_f29 = arg0->unk5C + 100.0 * cosd(var_f31); - if (arg0->unkD4-- == 0) { - arg0->unkD0 = 0; - arg0->unkAC = 1; - } - break; - } - var_r29->unk9C = 0.0f; - if (ABS_INV(arg0->unk6C - var_f31) > 30.0f && ABS_INV(arg0->unk6C - var_f31) < 330.0f) { - if (ABS_INV(fn_1_21D4(arg0->unk6C - var_f31)) > 180.0f) { - arg0->unkA0 = -30; - var_r29->unk9C = arg0->unk98; - } - else { - arg0->unkA0 = 30; - var_r29->unk9C = -arg0->unk98; - } - } - if (arg0->unkB8 == 0) { - HuSetVecF(&sp224, var_f30, 0.0, var_f29); - HuSetVecF(&sp218, arg0->unk54, 0.0, arg0->unk5C); - HuSubVecF(&sp20C, &sp224, &sp218); - if (VECMagXZ(&sp20C) > 10.0f) { - if (ABS_INV(arg0->unk6C - var_f31) < 90.0f || ABS_INV(arg0->unk6C - var_f31) > 270.0f) { - arg0->unkA4 |= 0x100; - } - else { - arg0->unkA4 |= 0x200; - var_r29->unk9C = -var_r29->unk9C; - } - } - } - var_r29->unk28 = arg0->unk28; - var_r29->unk54 = arg0->unk54; - var_r29->unk58 = arg0->unk58; - var_r29->unk5C = arg0->unk5C; - var_r29->unk90 = arg0->unk90; - var_r29->unk9C = fn_1_21D4(arg0->unk9C + var_r29->unk9C); - var_r29->unk8C = lbl_1_bss_200[lbl_1_bss_5AC].unk8C + arg0->unk8C + arg0->unk90; - var_r20 = fn_1_50A4(var_r29, arg0->unk90, 0); - if (var_r20 != -1 && var_r20 != lbl_1_bss_5AC) { - if (arg0->unkA4 & 0x100) { - var_r29->unk54 += var_r29->unk90 * sind(var_r29->unk9C); - var_r29->unk5C += var_r29->unk90 * cosd(var_r29->unk9C); - } - if (arg0->unkA4 & 0x200) { - var_r29->unk54 -= var_r29->unk90 * sind(var_r29->unk9C); - var_r29->unk5C -= var_r29->unk90 * cosd(var_r29->unk9C); - } - temp_r28 = &lbl_1_bss_200[var_r20]; - HuSetVecF(&sp224, arg0->unk54, 0.0, arg0->unk5C); - HuSetVecF(&sp218, temp_r28->unk54, 0.0, temp_r28->unk5C); - HuSubVecF(&sp20C, &sp224, &sp218); - sp194 = VECMagXYZ(&sp20C); - HuSetVecF(&sp224, var_r29->unk54, 0.0, var_r29->unk5C); - HuSetVecF(&sp218, temp_r28->unk54, 0.0, temp_r28->unk5C); - HuSubVecF(&sp20C, &sp224, &sp218); - sp190 = VECMagXYZ(&sp20C); - var_r18 = fn_1_50A4(var_r29, 0.0f, 0); - if (sp194 > sp190 || (var_r20 != var_r18 && var_r18 != -1)) { - arg0->unkA0 = 30; - arg0->unkA4 = 0; - arg0->unkAC = 2; - arg0->unkA8 = 300; - if (arg0->unkB8 == 0) { - arg0->unkB8 = 60; - } - } - else if (var_r18 == -1) { - arg0->unkAC = 2; - if (ABS_INV(arg0->unk6C - var_f31) < 90.0f || ABS_INV(arg0->unk6C - var_f31) > 270.0f) { - arg0->unkA4 |= 0x100; - } - else { - arg0->unkA4 |= 0x200; - var_r29->unk9C = -var_r29->unk9C; - } - } - else { - arg0->unkA0 = 30; - } - } - if (arg0->unkB8 != 0) { - arg0->unkB8--; - } -} - -void fn_1_DECC(void) -{ - StructBss200 *temp_r31; - s32 i; - - temp_r31 = HuPrcCurrentGet()->user_data; - for (i = 0; i < 20; i++) { - temp_r31->unk88 -= 4.0f; - Hu3DModelPosSet(temp_r31->unk02, temp_r31->unk80, temp_r31->unk84, temp_r31->unk88); - HuPrcVSleep(); - } - HuPrcKill(HuPrcCurrentGet()); - while (TRUE) { - HuPrcVSleep(); - } -} - -s32 fn_1_DF3C(StructBss200 *arg0) -{ - s32 var_r31; - s32 var_r30; - - var_r31 = 1; - var_r30 = 1; - if (arg0->unk34 != 4 && arg0->unk34 != 5) { - var_r30 = 0; - } - if (var_r30 == 0 && arg0->unk34 != 6) { - var_r31 = 0; - } - return var_r31; -} - -void fn_1_DF98(void) -{ - float var_f27; - float var_f25; - float var_f26; - StructBss200 *temp_r31; - StructBss200 *temp_r30; - s32 var_r25; - s32 var_r29; - s32 var_r28; - s32 sp90; - Process *sp8C; - s32 sp88; - s32 sp84; - s32 sp80; - s32 sp7C; - Process *sp78; - - temp_r31 = HuPrcCurrentGet()->user_data; - temp_r31->unk34 = 0; - temp_r31->unkA8 = temp_r31->unkAC = temp_r31->unkB0 = temp_r31->unkB4 = temp_r31->unkB8 = temp_r31->unk50 = 0; - temp_r31->unkC0 = 0; - temp_r31->unk38 = 0; - temp_r31->unkD0 = 0; - while (lbl_1_bss_5B4 == 0) { - HuPrcVSleep(); - } - lbl_1_bss_5B4 = 2; - while (lbl_1_bss_5B4 == 2) { - HuPrcVSleep(); - } - temp_r31->unkD8 = temp_r31->unk54; - temp_r31->unkDC = temp_r31->unk5C; - var_r29 = 0; - while (TRUE) { - temp_r31->unk60 = temp_r31->unk54; - temp_r31->unk64 = temp_r31->unk5C; - if (GWPlayerCfg[temp_r31->unk28].iscom == 1) { - fn_1_B054(temp_r31); - } - if (temp_r31->unk3C != 0) { - if (temp_r31->unk48 == 300) { - sp8C = HuPrcChildCreate(fn_1_32F8, 0x2000, 0x1000, 0, HuPrcCurrentGet()); - sp8C->user_data = (void *)temp_r31->unk28; - } - if (temp_r31->unk48-- == 0) { - temp_r31->unk3C = 0; - temp_r31->unk90 = 2.25f; - temp_r31->unk98 = 0.66f; - } - } - if (temp_r31->unk24 != 0) { - break; - } - switch (temp_r31->unk34) { - case 8: - if (temp_r31->unk44 != 0) { - temp_r31->unk44--; - } - else { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - temp_r31->unk34 = 0; - } - break; - case 4: - omVibrate(temp_r31->unk28, 12, 4, 2); - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[4], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - temp_r31->unk44 = 90; - temp_r31->unk4C = 30; - temp_r31->unk34 = 5; - break; - case 5: - if (temp_r31->unk4C-- == 0) { - HuAudFXPlay(0x5E7); - temp_r31->unk74 = temp_r31->unk54; - temp_r31->unk78 = temp_r31->unk58; - temp_r31->unk7C = temp_r31->unk5C; - temp_r31->unk38 |= 1; - } - if (temp_r31->unk44 != 0) { - temp_r31->unk44--; - } - else { - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk06[5]); - Hu3DModelAttrReset(temp_r31->unk00, HU3D_MOTATTR_LOOP); - temp_r31->unk34 = 6; - } - break; - case 6: - if (Hu3DMotionEndCheck(temp_r31->unk00) == 1) { - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk06[0]); - temp_r31->unk34 = 0; - } - break; - default: - if (fn_1_4E54(temp_r31->unk28, 0) > 20) { - temp_r31->unk9C -= temp_r31->unk98; - if (temp_r31->unk9C < 0.0f) { - temp_r31->unk9C += 360.0f; - } - temp_r31->unk6C = temp_r31->unk9C; - } - if (fn_1_4E54(temp_r31->unk28, 0) < -20) { - temp_r31->unk9C += temp_r31->unk98; - if (temp_r31->unk9C > 360.0f) { - temp_r31->unk9C -= 360.0f; - } - temp_r31->unk6C = temp_r31->unk9C; - } - if (fn_1_5038(temp_r31->unk28) & 0x100) { - temp_r31->unk54 += temp_r31->unk90 * sind(temp_r31->unk9C); - temp_r31->unk5C += temp_r31->unk90 * cosd(temp_r31->unk9C); - } - if (fn_1_5038(temp_r31->unk28) & 0x200) { - temp_r31->unk54 -= temp_r31->unk90 * sind(temp_r31->unk9C); - temp_r31->unk5C -= temp_r31->unk90 * cosd(temp_r31->unk9C); - } - if (fn_1_5038(temp_r31->unk28) & 0x300) { - if (temp_r31->unk3C != 1) { - if (temp_r31->unk34 != 2) { - temp_r31->unk34 = 2; - if (fn_1_5038(temp_r31->unk28) & 0x100) { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); - } - else { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_REV); - Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); - } - if (var_r29 != 0) { - var_r29 = 0; - HuAudFXStop(var_r25); - } - } - } - else { - if (temp_r31->unk34 != 3) { - temp_r31->unk34 = 3; - temp_r31->unk50 = 0; - if (fn_1_5038(temp_r31->unk28) & 0x100) { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); - } - else { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_REV); - Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); - } - if (var_r29 != 0) { - var_r29 = 0; - HuAudFXStop(var_r25); - } - } - } - if (temp_r31->unk3C != 1) { - sp88 = 8; - sp84 = 32; - } - else { - sp88 = 7; - sp84 = 22; - } - if (temp_r31->unk50 == sp88) { - HuAudFXPlay(0x5E0); - } - if (temp_r31->unk50 == sp84) { - HuAudFXPlay(0x5E0); - } - temp_r31->unk50++; - if (temp_r31->unk3C != 1) { - if (temp_r31->unk50 >= 50) { - temp_r31->unk50 -= 50; - } - } - else { - if (temp_r31->unk50 >= 30) { - temp_r31->unk50 -= 30; - } - } - } - else { - if (ABS_INV(fn_1_4E54(temp_r31->unk28, 0)) <= 20) { - if (temp_r31->unk34 != 0) { - temp_r31->unk34 = 0; - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[0], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - if (var_r29 != 0) { - var_r29 = 0; - HuAudFXStop(var_r25); - } - } - } - else { - if (temp_r31->unk34 != 1) { - temp_r31->unk34 = 1; - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[3], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSpeedSet(temp_r31->unk00, 1.5f); - var_r25 = HuAudFXPlay(0x5EB); - var_r29 = 1; - } - } - } - if ((sp90 = fn_1_50A4(temp_r31, 0.0f, 0)) != -1) { - temp_r30 = &lbl_1_bss_200[sp90]; - if (GWPlayerCfg[temp_r30->unk28].group != 0) { - HuAudFXPlay(0x5ED); - temp_r31->unk34 = 8; - temp_r31->unk44 = 90; - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[6], 0.0f, 5.0f, 0U); - if ((temp_r30->unk34 == 4 || temp_r30->unk34 == 5 || temp_r30->unk34 == 6) == FALSE) { - temp_r30->unk34 = 8; - temp_r30->unk44 = 90; - Hu3DMotionShiftSet(temp_r30->unk00, temp_r30->unk06[6], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - } - temp_r31->unk54 = temp_r31->unk60; - temp_r31->unk5C = temp_r31->unk64; - } - else { - temp_r30->unk24 = 1; - temp_r30->unk40 = temp_r31->unk28; - } - } - if ((sp90 = fn_1_52E8(temp_r31)) != -1) { - temp_r30 = &lbl_1_bss_200[sp90]; - if (GWPlayerCfg[temp_r30->unk28].group != 0) { - HuAudFXPlay(0x5ED); - temp_r31->unk34 = 8; - temp_r31->unk44 = 90; - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[6], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - if ((temp_r30->unk34 == 4 || temp_r30->unk34 == 5 || temp_r30->unk34 == 6) == FALSE) { - temp_r30->unk34 = 8; - temp_r30->unk44 = 90; - Hu3DMotionShiftSet(temp_r30->unk00, temp_r30->unk06[6], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - } - temp_r31->unk54 = temp_r31->unk60; - temp_r31->unk5C = temp_r31->unk64; - } - else { - temp_r30->unk24 = 1; - temp_r30->unk40 = temp_r31->unk28; - } - } - break; - } - if (temp_r31->unkD8 == temp_r31->unk54 && temp_r31->unkDC == temp_r31->unk5C) { - temp_r31->unkD0++; - } - else { - temp_r31->unkD8 = temp_r31->unk54; - temp_r31->unkDC = temp_r31->unk5C; - temp_r31->unkD0 = 0; - } - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk54, temp_r31->unk58, temp_r31->unk5C); - Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk68, temp_r31->unk6C, temp_r31->unk70); - HuPrcVSleep(); - } - if (var_r29 != 0) { - HuAudFXStop(var_r25); - } - if (lbl_1_bss_5A8 == lbl_1_bss_5AC) { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[0], 0.0f, 2.0f, HU3D_MOTATTR_LOOP); - HuPrcSleep(90); - if (lbl_1_bss_5AC == 0) { - if (temp_r31->unk28 != 0) { - HuAudFXPlay(0x5EA); - } - } - else { - if (temp_r31->unk28 == 0) { - HuAudFXPlay(0x5EA); - } - } - Hu3DModelAttrReset(temp_r31->unk04, 1); - Hu3DModelAttrReset(temp_r31->unk04, HU3D_MOTATTR_PAUSE); - Hu3DModelPosSet(temp_r31->unk04, temp_r31->unk54, temp_r31->unk58, temp_r31->unk5C); - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[7], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - if (lbl_1_bss_5AC == 0) { - if (temp_r31->unk28 != 0) { - HuAudFXPlay(0x5E3); - } - } - else { - if (temp_r31->unk28 == 0) { - HuAudFXPlay(0x5E3); - } - } - HuPrcSleep(15); - HuPrcSleep(30); - temp_r31->unk74 = temp_r31->unk54; - temp_r31->unk78 = temp_r31->unk58; - temp_r31->unk7C = temp_r31->unk5C; - temp_r31->unk38 |= 2; - while (!Hu3DMotionEndCheck(temp_r31->unk00)) { - HuPrcVSleep(); - } - lbl_1_bss_594[temp_r31->unk28] = HuAudPlayerVoicePlay(temp_r31->unk28, 0x11A); - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], temp_r31->unk1C[3], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - Hu3DModelHookReset(temp_r31->unk00); - Hu3DModelShadowSet(temp_r31->unk02); - var_f27 = 50.0f; - Hu3DModelPosSet(temp_r31->unk02, temp_r31->unk54, temp_r31->unk58 + var_f27, temp_r31->unk5C); - HuPrcSleep(60); - for (sp80 = 0, sp7C = 0; sp80 < 90; sp80++) { - if (sp7C & 1) { - Hu3DModelAttrReset(temp_r31->unk00, 1); - Hu3DModelAttrReset(temp_r31->unk04, 1); - } - else { - Hu3DModelAttrSet(temp_r31->unk00, 1); - Hu3DModelAttrSet(temp_r31->unk04, 1); - } - sp7C++; - HuPrcVSleep(); - } - Hu3DModelAttrSet(temp_r31->unk04, 1); - for (var_r28 = 0, var_f25 = 1.0f; var_r28 < 30; var_r28++) { - var_f25 -= 0.033333335f; - Hu3DModelTPLvlSet(temp_r31->unk00, var_f25); - if (var_f27 > 0.0f) { - var_f27 -= 5.0f; - Hu3DModelPosSet(temp_r31->unk02, temp_r31->unk54, temp_r31->unk58 + var_f27, temp_r31->unk5C); - } - HuPrcVSleep(); - } - Hu3DModelAttrSet(temp_r31->unk00, 1); - } - else { - var_f26 = temp_r31->unk98; - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[3], 0.0f, 2.0f, HU3D_MOTATTR_LOOP); - if (fn_1_21D4(temp_r31->unk6C) != 0.0f) { - var_r28 = (360.0f - fn_1_21D4(temp_r31->unk6C)) / var_f26; - if (temp_r31->unk6C < 180.0f) { - var_r28 = temp_r31->unk6C / var_f26; - var_f26 = -var_f26; - } - while (var_r28 != 0) { - temp_r31->unk6C += var_f26; - Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk68, temp_r31->unk6C, temp_r31->unk70); - HuPrcVSleep(); - var_r28--; - } - Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk68, 0.0f, temp_r31->unk70); - } - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[0], 0.0f, 2.0f, HU3D_MOTATTR_LOOP); - while (lbl_1_bss_5A4 < 60) { - HuPrcVSleep(); - } - sp78 = HuPrcChildCreate(fn_1_DECC, 0x2000, 0x1000, 0, HuPrcCurrentGet()); - sp78->user_data = temp_r31; - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], temp_r31->unk1C[2], 0.0f, 2.0f, HU3D_MOTATTR_NONE); - temp_r31->unk34 = 10; - } - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_F73C(void) -{ - StructBss200 *var_r31; - float var_f31; - s32 var_r30; - s32 var_r29; - - for (var_r30 = 0; var_r30 < 4; var_r30++) { - Hu3DModelAttrReset(lbl_1_bss_200[var_r30].unk00, 1); - } - for (var_r29 = 0, var_f31 = 1000.0f; var_r29 < 60; var_r29++, var_f31 -= 7.5f) { - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if (var_r30 != lbl_1_bss_5AC) { - var_r31 = &lbl_1_bss_200[var_r30]; - var_r31->unk54 = var_f31 * sind(var_r31->unk6C - 180.0f); - var_r31->unk5C = var_f31 * cosd(var_r31->unk6C - 180.0f); - Hu3DModelPosSet(var_r31->unk00, var_r31->unk54, var_r31->unk58, var_r31->unk5C); - } - } - HuPrcVSleep(); - } - var_r31->unk54 = 550.0 * sind(var_r31->unk6C - 180.0f); - var_r31->unk5C = 550.0 * cosd(var_r31->unk6C - 180.0f); - Hu3DModelPosSet(var_r31->unk00, var_r31->unk54, var_r31->unk58, var_r31->unk5C); - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if (var_r30 != lbl_1_bss_5AC) { - var_r31 = &lbl_1_bss_200[var_r30]; - Hu3DMotionShiftSet(var_r31->unk00, var_r31->unk06[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - } - } - HuPrcKill(HuPrcCurrentGet()); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_F9BC(void) -{ - StructBss200 *temp_r31; - float temp_f26; - float temp_f28; - float temp_f27; - float temp_f29; - float temp_f30; - float var_f31; - s32 var_r28; - s32 var_r30; - s32 var_r29; - s32 var_r27; - - HuAudFXPlay(0x5E5); - temp_r31 = &lbl_1_bss_200[lbl_1_bss_5AC]; - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], temp_r31->unk06[4], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - var_r27 = 180; - temp_f29 = ((CenterM->z - 687.0f) / var_r27) * 40.0f / 60.0f; - temp_f26 = ((CenterM->z - 687.0f) / var_r27) * 20.0f / 60.0f; - temp_f30 = CenterM->y; - for (var_r30 = 0; var_r30 < 3; var_r30++) { - for (var_r29 = 30, var_f31 = 0.0f; var_r29 != 0; var_r29--, var_f31 += 3.0f) { - CenterM->y = temp_f30 + 50.0 * sind(var_f31); - CenterM->z -= 2.0f * temp_f29; - HuPrcVSleep(); - } - for (var_r29 = 20, var_f31 = 90.0f; var_r29 != 0; var_r29--, var_f31 += 4.5f) { - CenterM->y = temp_f30 + 50.0 * sind(var_f31); - CenterM->z -= 2.0f * temp_f26 * 1.5f; - HuPrcVSleep(); - } - HuAudFXPlay(0x5DF); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - omVibrate(var_r28, 12, 12, 0); - } - HuPrcSleep(5); - for (var_r29 = 10, var_f31 = 180.0f; var_r29 != 0; var_r29--, var_f31 += 18.0f) { - CenterM->y = temp_f30 + 10.0 * sind(var_f31); - HuPrcVSleep(); - } - HuPrcSleep(10); - } - HuPrcChildCreate(fn_1_F73C, 0x2000, 0x1000, 0, HuPrcCurrentGet()); - temp_f28 = CRotM->x; - temp_f30 = CenterM->y; - temp_f29 = CenterM->z; - temp_f27 = CZoomM[0]; - for (var_r30 = 0; var_r30 < 60; var_r30++) { - CRotM->x += (-45.0f - temp_f28) / 60.0f; - CenterM->y += (100.0f - temp_f30) / 60.0f; - CenterM->z += (70.0f - temp_f29) / 60.0f; - CZoomM[0] += (2130.0f - temp_f27) / 60.0f; - HuPrcVSleep(); - } - HuAudFXPlay(0x5DF); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - omVibrate(var_r28, 12, 12, 0); - } - Hu3DModelAttrSet(lbl_1_bss_5B8, 1); - HuAudPlayerVoicePlay(temp_r31->unk28, 0x128); - temp_r31 = &lbl_1_bss_200[lbl_1_bss_5AC]; - while (Hu3DMotionEndCheck(temp_r31->unk00)) { - HuPrcVSleep(); - } - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], temp_r31->unk06[5], 0.0f, 10.0f, HU3D_MOTATTR_NONE); - HuPrcSleep(15); - while (Hu3DMotionEndCheck(temp_r31->unk00)) { - HuPrcVSleep(); - } - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], temp_r31->unk06[0], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - HuPrcSleep(60); - temp_f28 = CRotM->x; - temp_f30 = CenterM->y; - temp_f29 = CenterM->z; - temp_f27 = CZoomM[0]; - for (var_r30 = 0; var_r30 < 60; var_r30++) { - CRotM->x += (-35.0f - temp_f28) / 60.0f; - CenterM->y += -temp_f30 / 60.0f; - CenterM->z += (-250.0f - temp_f29) / 60.0f; - CZoomM[0] += (4820.0f - temp_f27) / 60.0f; - HuPrcVSleep(); - } - HuPrcSleep(30); - temp_r31 = &lbl_1_bss_200[lbl_1_bss_5AC]; - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], temp_r31->unk06[4], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - HuPrcSleep(15); - while (Hu3DMotionEndCheck(temp_r31->unk00)) { - HuPrcVSleep(); - } - CharModelMotionSpeedSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk28].character], 2.0f); -} - -void fn_1_10258(s32 arg0) -{ - StructBss200 *var_r30; - float temp_f31; - float temp_f30; - float temp_f29; - s32 i; - - if (arg0 == lbl_1_bss_5AC) { - HuPrcSleep(120); - temp_f31 = CenterM->x; - temp_f30 = CenterM->z; - temp_f29 = CZoomM[0]; - for (i = 0; i < 60; i++) { - var_r30 = &lbl_1_bss_200[lbl_1_bss_5AC]; - CenterM->x += (var_r30->unk54 - temp_f31) / 60.0f; - CenterM->z += (var_r30->unk5C - 100.0f - temp_f30) / 60.0f; - CZoomM[0] += (1000.0f - temp_f29) / 60.0f; - HuPrcVSleep(); - } - for (i = 0; i < 4; i++) { - if (i == lbl_1_bss_5AC) { - continue; - } - HuAudFXStop(lbl_1_bss_594[i]); - } - HuAudSStreamPlay(1); - Hu3DMotionShiftSet(var_r30->unk00, var_r30->unk16, 0.0f, 5.0f, HU3D_MOTATTR_NONE); - } - else { - for (lbl_1_bss_5A4 = 0; lbl_1_bss_5A4 < 60; lbl_1_bss_5A4++) { - HuPrcVSleep(); - } - HuAudSStreamPlay(1); - } -} - -void fn_1_104A0(void) -{ - while (TRUE) { - if (omSysExitReq == 1) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuAudFadeOut(1000); - HuPrcSleep(60); - MGSeqKillAll(); - omOvlReturnEx(1, 1); - while (TRUE) { - HuPrcVSleep(); - } - } - HuPrcVSleep(); - } -} - -void fn_1_10500(void) -{ - s16 temp_r28; - s16 temp_r30; - s16 var_r29; - s32 var_r26; - s32 var_r27; - s32 sp8[3]; - s32 i; - - lbl_1_bss_5B4 = 0; - lbl_1_bss_5A8 = -1; - fn_1_F9BC(); - HuPrcSleep(30); - lbl_1_bss_5B4 = 1; - while (lbl_1_bss_5B4 == 1) { - HuPrcVSleep(); - } - var_r26 = HuAudSeqPlay(0x49); - temp_r30 = MGSeqStartCreate(); - while (MGSeqStatGet(temp_r30) != 0) { - HuPrcVSleep(); - } - var_r29 = 0xAC7; - temp_r28 = MGSeqTimerCreate(var_r29 / 60); - lbl_1_bss_5B4 = 3; - while (TRUE) { - if (lbl_1_bss_200[lbl_1_bss_5AC].unk24 == 1) { - break; - } - if (var_r29 < 59) { - lbl_1_bss_5A8 = lbl_1_bss_5AC; - break; - } - MGSeqParamSet(temp_r28, 1, var_r29-- / 60); - lbl_1_bss_5B0++; - HuPrcVSleep(); - } - for (i = 0; i < 4; i++) { - lbl_1_bss_200[i].unk24 = 1; - } - lbl_1_bss_5B4 = 4; - HuAudSeqFadeOut(var_r26, 100); - MGSeqParamSet(temp_r28, 2, -1); - temp_r30 = MGSeqFinishCreate(); - while (MGSeqStatGet(temp_r30) != 0) { - HuPrcVSleep(); - } - fn_1_10258(lbl_1_bss_5A8); - if (lbl_1_bss_5A8 == lbl_1_bss_5AC) { - GWPlayerCoinWinSet(lbl_1_bss_5A8, 10); - temp_r30 = MGSeqWinCreate(GWPlayerCfg[lbl_1_bss_5A8].character, -1, -1, -1); - } - else { - for (i = 0, var_r27 = 0; i < 4; i++) { - if (i != lbl_1_bss_5AC) { - sp8[var_r27++] = i; - GWPlayerCoinWinSet(i, 10); - } - } - temp_r30 = MGSeqWinCreate(GWPlayerCfg[sp8[0]].character, GWPlayerCfg[sp8[1]].character, GWPlayerCfg[sp8[2]].character, -1); - } - HuPrcSleep(210); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuPrcSleep(60); - HuAudFadeOut(1); - MGSeqKillAll(); - omOvlReturnEx(1, 1); - while (TRUE) { - HuPrcVSleep(); - } -} diff --git a/src/REL/m420dll/camera.c b/src/REL/m420dll/camera.c deleted file mode 100644 index c587a69e..00000000 --- a/src/REL/m420dll/camera.c +++ /dev/null @@ -1,144 +0,0 @@ -#include "ext_math.h" -#include "game/audio.h" -#include "game/flag.h" -#include "game/hsfman.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/wipe.h" - -#include "REL/m420dll.h" - -Process *lbl_1_bss_A8; -M420DllUnkStruct lbl_1_bss_8C; -M420DllUnkStruct lbl_1_bss_70; -M420DllUnkStruct lbl_1_bss_54; -s32 lbl_1_bss_50; -s32 lbl_1_bss_4C; -s32 lbl_1_bss_48; -float lbl_1_bss_44; -float lbl_1_bss_40; -float lbl_1_bss_3C; -float lbl_1_bss_38; -float lbl_1_bss_34; -float lbl_1_bss_30; - -s32 fn_1_D98(void) -{ - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraPerspectiveSet(1, 30.0f, 10.0f, 8000.0f, 1.2f); - lbl_1_bss_8C.unk_00.x = 0.0f; - lbl_1_bss_8C.unk_00.y = 0.0f; - lbl_1_bss_8C.unk_00.z = 0.0f; - lbl_1_bss_8C.unk_0C.x = -10.0f; - lbl_1_bss_8C.unk_0C.y = 0.0f; - lbl_1_bss_8C.unk_0C.z = 0.0f; - lbl_1_bss_8C.unk_18 = 1000.0f; - lbl_1_bss_50 = 0; - lbl_1_bss_4C = 0; - lbl_1_bss_48 = 0; - lbl_1_bss_A8 = HuPrcChildCreate(fn_1_1184, 0x1F4, 0x2000, 0, lbl_1_bss_4); - return 1; -} - -void fn_1_F48(void) -{ - HuPrcKill(lbl_1_bss_A8); -} - -void fn_1_F74(const Vec *arg0, s32 arg1) -{ - lbl_1_bss_54.unk_00 = *arg0; - lbl_1_bss_70.unk_00 = lbl_1_bss_8C.unk_00; - lbl_1_bss_44 = 0.0f; - lbl_1_bss_38 = 1.0f / arg1; - lbl_1_bss_50 = 1; -} - -void fn_1_1030(const Vec *arg0, s32 arg1) -{ - lbl_1_bss_54.unk_0C = *arg0; - lbl_1_bss_70.unk_0C = lbl_1_bss_8C.unk_0C; - lbl_1_bss_40 = 0.0f; - lbl_1_bss_34 = 1.0f / arg1; - lbl_1_bss_4C = 1; -} - -void fn_1_10EC(float arg8, s32 arg0) -{ - lbl_1_bss_54.unk_18 = arg8; - lbl_1_bss_70.unk_18 = lbl_1_bss_8C.unk_18; - lbl_1_bss_3C = 0.0f; - lbl_1_bss_30 = 1.0f / arg0; - lbl_1_bss_48 = 1; -} - -void fn_1_1184(void) -{ - Vec sp28; - Vec sp1C; - Vec sp10; - float var_f31; - - while (TRUE) { - if (lbl_1_bss_50 != 0) { - var_f31 = sind((90.0f * lbl_1_bss_44)); - var_f31 *= var_f31; - lbl_1_bss_8C.unk_00.x = lbl_1_bss_70.unk_00.x + (var_f31 * (lbl_1_bss_54.unk_00.x - lbl_1_bss_70.unk_00.x)); - lbl_1_bss_8C.unk_00.y = lbl_1_bss_70.unk_00.y + (var_f31 * (lbl_1_bss_54.unk_00.y - lbl_1_bss_70.unk_00.y)); - lbl_1_bss_8C.unk_00.z = lbl_1_bss_70.unk_00.z + (var_f31 * (lbl_1_bss_54.unk_00.z - lbl_1_bss_70.unk_00.z)); - if ((lbl_1_bss_44 += lbl_1_bss_38) >= 1.0f) { - lbl_1_bss_8C.unk_00 = lbl_1_bss_54.unk_00; - lbl_1_bss_50 = 0; - } - } - if (lbl_1_bss_4C != 0) { - var_f31 = sind((90.0f * lbl_1_bss_40)); - var_f31 *= var_f31; - lbl_1_bss_8C.unk_0C.x = lbl_1_bss_70.unk_0C.x + (var_f31 * (lbl_1_bss_54.unk_0C.x - lbl_1_bss_70.unk_0C.x)); - lbl_1_bss_8C.unk_0C.y = lbl_1_bss_70.unk_0C.y + (var_f31 * (lbl_1_bss_54.unk_0C.y - lbl_1_bss_70.unk_0C.y)); - lbl_1_bss_8C.unk_0C.z = lbl_1_bss_70.unk_0C.z + (var_f31 * (lbl_1_bss_54.unk_0C.z - lbl_1_bss_70.unk_0C.z)); - if ((lbl_1_bss_40 += lbl_1_bss_34) >= 1.0f) { - lbl_1_bss_8C.unk_0C = lbl_1_bss_54.unk_0C; - lbl_1_bss_4C = 0; - } - } - if (lbl_1_bss_48 != 0) { - var_f31 = sind((90.0f * lbl_1_bss_3C)); - var_f31 *= var_f31; - lbl_1_bss_8C.unk_18 = lbl_1_bss_70.unk_18 + (var_f31 * (lbl_1_bss_54.unk_18 - lbl_1_bss_70.unk_18)); - if ((lbl_1_bss_3C += lbl_1_bss_30) >= 1.0f) { - lbl_1_bss_8C.unk_18 = lbl_1_bss_54.unk_18; - lbl_1_bss_48 = 0; - } - } - sp28.x = lbl_1_bss_8C.unk_00.x + (lbl_1_bss_8C.unk_18 * (sind(lbl_1_bss_8C.unk_0C.y) * cosd(lbl_1_bss_8C.unk_0C.x))); - sp28.y = lbl_1_bss_8C.unk_00.y + (lbl_1_bss_8C.unk_18 * -sind(lbl_1_bss_8C.unk_0C.x)); - sp28.z = lbl_1_bss_8C.unk_00.z + (lbl_1_bss_8C.unk_18 * (cosd(lbl_1_bss_8C.unk_0C.y) * cosd(lbl_1_bss_8C.unk_0C.x))); - sp10.x = sind(lbl_1_bss_8C.unk_0C.y) * sind(lbl_1_bss_8C.unk_0C.x); - sp10.y = cosd(lbl_1_bss_8C.unk_0C.x); - sp10.z = cosd(lbl_1_bss_8C.unk_0C.y) * sind(lbl_1_bss_8C.unk_0C.x); - sp1C = lbl_1_bss_8C.unk_00; - - Hu3DCameraPosSet(1, sp28.x, sp28.y, sp28.z, sp10.x, sp10.y, sp10.z, sp1C.x, sp1C.y, sp1C.z); - HuPrcVSleep(); - } -} - -void fn_1_189C(void) -{ - lbl_1_bss_8C.unk_00.x += (0.02f * *HuPadStkX); - lbl_1_bss_8C.unk_00.y += (0.02f * *HuPadStkY); - lbl_1_bss_8C.unk_0C.y -= (0.02f * *HuPadSubStkX); - lbl_1_bss_8C.unk_0C.x += (0.02f * *HuPadSubStkY); - lbl_1_bss_8C.unk_18 += (0.02f * *HuPadTrigL); - lbl_1_bss_8C.unk_18 -= (0.02f * *HuPadTrigR); -} - -void fn_1_1AB0(void) -{ - print8(0x20, 0x84, 1.5f, "LOOKAT : x=%.2f y=%.2f z=%.2f", lbl_1_bss_8C.unk_00.x, lbl_1_bss_8C.unk_00.y, lbl_1_bss_8C.unk_00.z); - print8(0x20, 0x94, 1.5f, "ANGLE : x=%.2f y=%.2f z=%.2f", lbl_1_bss_8C.unk_0C.x, lbl_1_bss_8C.unk_0C.y, lbl_1_bss_8C.unk_0C.z); - print8(0x20, 0xA4, 1.5f, "ZOOM : x=%.2f", lbl_1_bss_8C.unk_18); -} diff --git a/src/REL/m420dll/main.c b/src/REL/m420dll/main.c deleted file mode 100644 index d6574513..00000000 --- a/src/REL/m420dll/main.c +++ /dev/null @@ -1,257 +0,0 @@ -#include "ext_math.h" -#include "game/flag.h" -#include "game/hsfman.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/wipe.h" - -#include "REL/m420dll.h" -#include "version.h" - -#ifndef __MWERKS__ -#include "game/audio.h" -#endif - -s32 fn_1_198(void); -void fn_1_3D4(void); -void fn_1_43C(void); -void fn_1_D14(s32 arg0, s32 arg1); -s32 fn_1_D98(void); -void fn_1_F48(void); -void fn_1_F74(const Vec *arg0, s32 arg1); -void fn_1_1030(const Vec *arg0, s32 arg1); -void fn_1_10EC(float arg8, s32 arg0); -void fn_1_118(void); - -s32 lbl_1_bss_2C; -Process *lbl_1_bss_28; -M420DllPlayerStruct *lbl_1_bss_18[4]; -s16 lbl_1_bss_14; -s16 lbl_1_bss_12; -s16 lbl_1_bss_10; -s32 lbl_1_bss_C; -s32 lbl_1_bss_8; -Process *lbl_1_bss_4; -Process *lbl_1_bss_0; - -static const M420DllUnkStruct lbl_1_rodata_10[3] = { - { { 0.0f, 1040.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, 680.0f }, - { { 0.0f, 800.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, 680.0f }, - { { 0.0f, 310.0f, 0.0f }, { -10.0f, 0.0f, 0.0f }, 1950.0f }, -}; - -void ObjectSetup(void) -{ - lbl_1_bss_4 = omInitObjMan(1, 0x2000); - omGameSysInit(lbl_1_bss_4); - lbl_1_bss_0 = HuPrcChildCreate(fn_1_118, 0x3E8, 0x4000, 0, lbl_1_bss_4); - fn_1_198(); -} - -void fn_1_118(void) -{ - while (omSysExitReq == 0) { - HuPrcVSleep(); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - HuAudFadeOut(0x64); - fn_1_3D4(); - HuPrcVSleep(); - omOvlReturnEx(1, 1); - HuPrcEnd(); -} - -s32 fn_1_198(void) -{ - s32 sp8[3]; - s32 var_r31; - s32 var_r30; - - Vec sp14[3] = { { 0.0f, 4000.0f, 100.0f }, { 0.0f, 1.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } }; - frand(); - fn_1_8934(); - fn_1_4964(); - fn_1_D98(); - fn_1_D14(0, 1); - Hu3DShadowCreate(30.0f, 20.0f, 10000.0f); - Hu3DShadowTPLvlSet(0.5f); - Hu3DShadowPosSet(&sp14[0], &sp14[1], &sp14[2]); - for (var_r31 = 0; var_r31 < 3; var_r31++) { - sp8[var_r31] = 0; - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - switch (GWPlayerCfg[var_r31].group) { - case 0: - lbl_1_bss_18[0] = fn_1_1B8C(var_r31, 0); - break; - - default: - do { - var_r30 = fn_1_8944() % 3; - } while (sp8[var_r30] != 0); - sp8[var_r30] = 1; - lbl_1_bss_18[var_r30 + 1] = fn_1_1B8C(var_r31, var_r30 + 1); - break; - } - } - lbl_1_bss_18[1]->unk_E8 = NULL; - lbl_1_bss_18[2]->unk_E8 = lbl_1_bss_18[1]; - lbl_1_bss_18[3]->unk_E8 = lbl_1_bss_18[2]; - lbl_1_bss_28 = HuPrcChildCreate(fn_1_43C, 0x3E9, 0x4000, 0, lbl_1_bss_4); - return 1; -} - -void fn_1_3D4(void) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - fn_1_1E14(lbl_1_bss_18[var_r31]); - } - fn_1_596C(); - fn_1_F48(); - HuPrcKill(lbl_1_bss_28); -} - -void fn_1_43C(void) -{ - s32 var_r31; - s32 var_r30; - - lbl_1_bss_C = 0; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 0x3C); - - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - fn_1_59F4(0); - fn_1_D14(1, 0x50); - HuPrcSleep(0x4E); - fn_1_D14(2, 0x3C); - HuPrcSleep(0xB4); - fn_1_59F4(2); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_18[var_r31]->unk_48 = 9; - } - lbl_1_bss_8 = HuAudSeqPlay(0x48); - lbl_1_bss_10 = MGSeqCreate(3, 0); - - while (MGSeqStatGet(lbl_1_bss_10) != 0) { - HuPrcVSleep(); - } - MGSeqKill(lbl_1_bss_10); - lbl_1_bss_12 = 60 * REFRESH_RATE; - lbl_1_bss_14 = MGSeqCreate(1, lbl_1_bss_12 / REFRESH_RATE, -1, -1); - var_r30 = 1; - while (TRUE) { - if (lbl_1_bss_18[0]->unk_48 == 0) { - lbl_1_bss_18[0]->unk_48 = 1; - } - if ((lbl_1_bss_18[var_r30]->unk_48 == 0) && (lbl_1_bss_12 > 5)) { - lbl_1_bss_18[var_r30]->unk_48 = 3; - } - if ((lbl_1_bss_18[var_r30]->unk_00_field1) && (var_r30 != 1)) { - lbl_1_bss_18[var_r30 - 1]->unk_48 = 4; - } - if (lbl_1_bss_18[var_r30]->unk_48 == 6) { - var_r30++; - if (var_r30 > 3) { - var_r30 = 1; - lbl_1_bss_18[3]->unk_48 = 0; - } - } - if (lbl_1_bss_12 >= 0) { - if (((--lbl_1_bss_12) % REFRESH_RATE) == 0) { - MGSeqParamSet(lbl_1_bss_14, 1, lbl_1_bss_12 / REFRESH_RATE); - } - } - if ((fn_1_67E8(0) == 0) && (fn_1_67E8(1) == 0) && (lbl_1_bss_12 > 0)) { - HuPrcVSleep(); - } - else { - break; - } - } - if ((fn_1_67E8(0) != 0) && (fn_1_67E8(1) != 0)) { - lbl_1_bss_C = 3; - } - else if (fn_1_67E8(0) != 0) { - lbl_1_bss_C = 1; - } - else if (fn_1_67E8(1) != 0) { - lbl_1_bss_C = 2; - } - else { - lbl_1_bss_C = 3; - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_18[var_r31]->unk_48 = 0xB; - } - HuPrcVSleep(); - MGSeqParamSet(lbl_1_bss_14, 2, -1); - HuAudSeqFadeOut(lbl_1_bss_8, 0x64); - lbl_1_bss_10 = MGSeqCreate(3, 1); - - while (MGSeqStatGet(lbl_1_bss_10) != 0) { - HuPrcVSleep(); - } - MGSeqKill(lbl_1_bss_10); - fn_1_6728(); - HuPrcSleep(0x3C); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_18[var_r31]->unk_48 = 0xA; - } - HuPrcSleep(0x3C); - if (lbl_1_bss_C == 3) { - lbl_1_bss_10 = MGSeqCreate(3, 2); - HuAudSStreamPlay(4); - lbl_1_bss_18[0]->unk_48 = 8; - lbl_1_bss_18[1]->unk_48 = 8; - lbl_1_bss_18[2]->unk_48 = 8; - lbl_1_bss_18[3]->unk_48 = 8; - } - else { - fn_1_59F4(1); - while (fn_1_6810() == 0) { - HuPrcVSleep(); - } - if (lbl_1_bss_C == 1) { - lbl_1_bss_10 = MGSeqCreate(5, 3, lbl_1_bss_18[0]->unk_0A, -1, -1, -1); - HuAudSStreamPlay(1); - lbl_1_bss_18[0]->unk_48 = 7; - lbl_1_bss_18[1]->unk_48 = 8; - lbl_1_bss_18[2]->unk_48 = 8; - lbl_1_bss_18[3]->unk_48 = 8; - GWPlayerCoinWinAdd(lbl_1_bss_18[0]->unk_04, 10); - } - else { - lbl_1_bss_10 = MGSeqCreate(5, 3, lbl_1_bss_18[1]->unk_0A, lbl_1_bss_18[2]->unk_0A, lbl_1_bss_18[3]->unk_0A, -1); - HuAudSStreamPlay(1); - lbl_1_bss_18[0]->unk_48 = 8; - lbl_1_bss_18[1]->unk_48 = 7; - lbl_1_bss_18[2]->unk_48 = 7; - lbl_1_bss_18[3]->unk_48 = 7; - GWPlayerCoinWinAdd(lbl_1_bss_18[1]->unk_04, 10); - GWPlayerCoinWinAdd(lbl_1_bss_18[2]->unk_04, 10); - GWPlayerCoinWinAdd(lbl_1_bss_18[3]->unk_04, 10); - } - } - HuPrcSleep(0xD2); - omSysExitReq = 1; - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_D14(s32 arg0, s32 arg1) -{ - fn_1_F74(&lbl_1_rodata_10[arg0].unk_00, arg1); - fn_1_1030(&lbl_1_rodata_10[arg0].unk_0C, arg1); - fn_1_10EC(lbl_1_rodata_10[arg0].unk_18, arg1); -} diff --git a/src/REL/m420dll/map.c b/src/REL/m420dll/map.c deleted file mode 100644 index 14b48a41..00000000 --- a/src/REL/m420dll/map.c +++ /dev/null @@ -1,1219 +0,0 @@ -#include "ext_math.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" - -#include "REL/m420dll.h" - -typedef struct M420DllUnkMapStruct2 { - /* 0x00 */ struct { - s8 unk_00_field0 : 1; - s8 unk_00_field1 : 1; - s8 unk_00_field2 : 1; - s8 unk_00_field3 : 1; - s8 unk_00_field4 : 1; - s8 unk_00_field5 : 1; - s8 unk_00_field6 : 1; - s8 unk_00_field7 : 1; - }; - /* 0x04 */ s16 unk_02; - /* 0x04 */ Vec unk_04; - /* 0x10 */ Vec unk_10; - /* 0x1C */ Vec unk_1C; - /* 0x28 */ Vec unk_28; - /* 0x34 */ Vec unk_34; - /* 0x40 */ Vec unk_40; - /* 0x4C */ Vec unk_4C; - /* 0x58 */ Vec unk_58; - /* 0x64 */ Vec unk_64; - /* 0x70 */ float unk_70; - /* 0x74 */ float unk_74; - /* 0x78 */ s32 unk_78; - /* 0x7C */ float unk_7C; - /* 0x80 */ float unk_80; - /* 0x84 */ s32 unk_84; - /* 0x88 */ float unk_88; - /* 0x8C */ float unk_8C; - /* 0x90 */ s32 unk_90; -} M420DllUnkMapStruct2; /* size = 0x94 */ - -typedef struct M420DllUnkMapStruct { - /* 0x00 */ M420DllUnkMapStruct2 *unk_00; - /* 0x04 */ M420DllUnkMapStruct2 *unk_04; - /* 0x08 */ M420DllUnkMapStruct2 *unk_08; - /* 0x0C */ M420DllUnkMapStruct2 *unk_0C; - /* 0x10 */ M420DllUnkMapStruct2 *unk_10; - /* 0x14 */ s32 unk_14; - /* 0x18 */ char pad_18[4]; - /* 0x1C */ float unk_1C; - /* 0x20 */ float unk_20; - /* 0x24 */ float unk_24; - /* 0x28 */ float unk_28; - /* 0x2C */ float unk_2C; - /* 0x30 */ s32 unk_30; - /* 0x34 */ s32 unk_34; - /* 0x38 */ s32 unk_38; - /* 0x3C */ s32 unk_3C; -} M420DllUnkMapStruct; /* size = 0x40 */ - -typedef struct M420DllUnkMapStruct3 { - /* 0x00 */ Vec unk_00; - /* 0x0C */ Vec unk_0C; - /* 0x18 */ GXColor unk_18; -} M420DllUnkMapStruct3; /* size = 0x1C */ - -s32 fn_1_5A7C(s32 arg0); -void fn_1_6820(void); -void fn_1_6884(void); -void fn_1_6950(void); -void fn_1_6D0C(void); -void fn_1_6D5C(void); -void fn_1_6DF0(M420DllUnkMapStruct2 *arg0); -void fn_1_7230(M420DllUnkMapStruct2 *arg0, Vec *arg1, s32 arg2, s32 arg3); -void fn_1_7704(void); -void fn_1_7E24(void); -void fn_1_8240(void); -void fn_1_8414(void); - -M420DllUnkMapStruct3 lbl_1_data_138 = { - { 1000.0f, 2000.0f, 0.0f }, - { -0.5f, -0.5f, -0.5f }, - { 0xFF, 0xFF, 0xFF, 0xFF }, -}; -void (*lbl_1_data_154[4])() = { fn_1_7704, fn_1_7E24, fn_1_8240, fn_1_8414 }; - -static const s32 lbl_1_rodata_360[0x1B] = { - DATA_MAKE_NUM(DATADIR_M420, 0x00), - DATA_MAKE_NUM(DATADIR_M420, 0x14), - DATA_MAKE_NUM(DATADIR_M420, 0x07), - DATA_MAKE_NUM(DATADIR_M420, 0x08), - DATA_MAKE_NUM(DATADIR_M420, 0x01), - DATA_MAKE_NUM(DATADIR_M420, 0x02), - DATA_MAKE_NUM(DATADIR_M420, 0x03), - DATA_MAKE_NUM(DATADIR_M420, 0x04), - DATA_MAKE_NUM(DATADIR_M420, 0x05), - DATA_MAKE_NUM(DATADIR_M420, 0x06), - DATA_MAKE_NUM(DATADIR_M420, 0x15), - DATA_MAKE_NUM(DATADIR_M420, 0x16), - DATA_MAKE_NUM(DATADIR_M420, 0x17), - DATA_MAKE_NUM(DATADIR_M420, 0x09), - DATA_MAKE_NUM(DATADIR_M420, 0x09), - DATA_MAKE_NUM(DATADIR_M420, 0x0A), - DATA_MAKE_NUM(DATADIR_M420, 0x0B), - DATA_MAKE_NUM(DATADIR_M420, 0x0E), - DATA_MAKE_NUM(DATADIR_M420, 0x0F), - DATA_MAKE_NUM(DATADIR_M420, 0x0C), - DATA_MAKE_NUM(DATADIR_M420, 0x0D), - DATA_MAKE_NUM(DATADIR_M420, 0x12), - DATA_MAKE_NUM(DATADIR_M420, 0x11), - DATA_MAKE_NUM(DATADIR_M420, 0x10), - DATA_MAKE_NUM(DATADIR_M420, 0x10), - DATA_MAKE_NUM(DATADIR_M420, 0x13), - DATA_MAKE_NUM(DATADIR_M420, 0x13), -}; - -Process *lbl_1_bss_A40; -Process *lbl_1_bss_A3C; -Process *lbl_1_bss_A2C[4]; -s32 lbl_1_bss_A28; -s16 lbl_1_bss_9F0[0x1C]; -s16 lbl_1_bss_9EE; -s16 lbl_1_bss_9EC; -M420DllUnkMapStruct2 lbl_1_bss_140[15]; -struct M420DllUnkMapStruct lbl_1_bss_C0[2]; -s32 lbl_1_bss_BC; -s32 lbl_1_bss_B8; -s32 lbl_1_bss_B4; -s32 lbl_1_bss_B0; - -s32 fn_1_4964(void) -{ - M420DllUnkMapStruct2 *var_r31; - M420DllUnkMapStruct *var_r30; - s32 var_r29; - - lbl_1_bss_A40 = HuPrcChildCreate(fn_1_6820, 0x3E9, 0x4000, 0, lbl_1_bss_4); - lbl_1_bss_A3C = HuPrcChildCreate(fn_1_6884, 0x3EA, 0x4000, 0, lbl_1_bss_4); - for (var_r29 = 0; var_r29 < 4; var_r29++) { - lbl_1_bss_A2C[var_r29] = NULL; - } - lbl_1_bss_A28 = 0; - fn_1_6D5C(); - fn_1_6950(); - - var_r31 = lbl_1_bss_140; - var_r31->unk_02 = lbl_1_bss_9F0[1]; - var_r31->unk_00_field3 = 1; - var_r31->unk_00_field0 = 0; - var_r31->unk_00_field1 = 0; - var_r31->unk_04.x = 0.0f; - var_r31->unk_04.y = 1000.0f; - var_r31->unk_04.z = 0.0f; - var_r31->unk_28.x = 0.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_4C.x = 1.0f; - var_r31->unk_4C.y = 1.0f; - var_r31->unk_4C.z = 1.0f; - fn_1_6DF0(var_r31); - - var_r31 = &lbl_1_bss_140[1]; - var_r31->unk_02 = lbl_1_bss_9F0[0xA]; - var_r31->unk_00_field3 = 1; - var_r31->unk_00_field0 = 0; - var_r31->unk_00_field1 = 0; - var_r31->unk_04.x = 0.0f; - var_r31->unk_04.y = 0.0f; - var_r31->unk_04.z = 0.0f; - var_r31->unk_28.x = 0.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_4C.x = 1.0f; - var_r31->unk_4C.y = 1.0f; - var_r31->unk_4C.z = 1.0f; - fn_1_6DF0(var_r31); - - var_r31 = &lbl_1_bss_140[2]; - var_r31->unk_02 = lbl_1_bss_9F0[0xC]; - var_r31->unk_00_field3 = 1; - var_r31->unk_00_field0 = 0; - var_r31->unk_00_field1 = 0; - var_r31->unk_04.x = 0.0f; - var_r31->unk_04.y = 0.0f; - var_r31->unk_04.z = 0.0f; - var_r31->unk_28.x = 0.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_4C.x = 1.0f; - var_r31->unk_4C.y = 1.0f; - var_r31->unk_4C.z = 1.0f; - fn_1_6DF0(var_r31); - - var_r31 = &lbl_1_bss_140[3]; - var_r31->unk_02 = lbl_1_bss_9F0[0xB]; - var_r31->unk_00_field3 = 1; - var_r31->unk_00_field0 = 0; - var_r31->unk_00_field1 = 0; - var_r31->unk_04.x = 0.0f; - var_r31->unk_04.y = 0.0f; - var_r31->unk_04.z = 0.0f; - var_r31->unk_28.x = 0.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_4C.x = 1.0f; - var_r31->unk_4C.y = 1.0f; - var_r31->unk_4C.z = 1.0f; - fn_1_6DF0(var_r31); - - var_r31 = &lbl_1_bss_140[4]; - var_r31->unk_02 = lbl_1_bss_9F0[0xD]; - var_r31->unk_00_field3 = 1; - var_r31->unk_00_field0 = 0; - var_r31->unk_00_field1 = 0; - var_r31->unk_04.x = -220.0f; - var_r31->unk_04.y = -60.0f; - var_r31->unk_04.z = 170.0f; - var_r31->unk_28.x = 0.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_4C.x = 1.0f; - var_r31->unk_4C.y = 1.0f; - var_r31->unk_4C.z = 1.0f; - fn_1_6DF0(var_r31); - - var_r31 = &lbl_1_bss_140[9]; - var_r31->unk_02 = lbl_1_bss_9F0[0x17]; - var_r31->unk_00_field3 = 1; - var_r31->unk_00_field0 = 0; - var_r31->unk_00_field1 = 0; - var_r31->unk_04.x = -170.0f; - var_r31->unk_04.y = 0.0f; - var_r31->unk_04.z = 170.0f; - var_r31->unk_28.x = 0.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_4C.x = 1.0f; - var_r31->unk_4C.y = 1.0f; - var_r31->unk_4C.z = 1.0f; - fn_1_6DF0(var_r31); - - var_r31 = &lbl_1_bss_140[11]; - var_r31->unk_02 = lbl_1_bss_9F0[0x19]; - var_r31->unk_00_field3 = 1; - var_r31->unk_00_field0 = 0; - var_r31->unk_00_field1 = 0; - var_r31->unk_04.x = -160.0f; - var_r31->unk_04.y = 0.0f; - var_r31->unk_04.z = 220.0f; - var_r31->unk_28.x = 0.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_4C.x = 1.0f; - var_r31->unk_4C.y = 1.0f; - var_r31->unk_4C.z = 1.0f; - fn_1_6DF0(var_r31); - - var_r31 = &lbl_1_bss_140[6]; - var_r31->unk_02 = lbl_1_bss_9F0[0x11]; - var_r31->unk_00_field3 = 1; - var_r31->unk_00_field0 = 0; - var_r31->unk_00_field1 = 0; - var_r31->unk_04.x = 0.0f; - var_r31->unk_04.y = -65.0f; - var_r31->unk_04.z = 0.0f; - var_r31->unk_28.x = 0.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_4C.x = 1.0f; - var_r31->unk_4C.y = 1.0f; - var_r31->unk_4C.z = 1.0f; - fn_1_6DF0(var_r31); - - var_r31 = &lbl_1_bss_140[5]; - var_r31->unk_02 = lbl_1_bss_9F0[0xE]; - var_r31->unk_00_field3 = 1; - var_r31->unk_00_field0 = 0; - var_r31->unk_00_field1 = 0; - var_r31->unk_04.x = 220.0f; - var_r31->unk_04.y = -60.0f; - var_r31->unk_04.z = 170.0f; - var_r31->unk_28.x = 0.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_4C.x = 1.0f; - var_r31->unk_4C.y = 1.0f; - var_r31->unk_4C.z = 1.0f; - fn_1_6DF0(var_r31); - - var_r31 = &lbl_1_bss_140[10]; - var_r31->unk_02 = lbl_1_bss_9F0[0x18]; - var_r31->unk_00_field3 = 1; - var_r31->unk_00_field0 = 0; - var_r31->unk_00_field1 = 0; - var_r31->unk_04.x = 190.0f; - var_r31->unk_04.y = 0.0f; - var_r31->unk_04.z = 170.0f; - var_r31->unk_28.x = 0.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_4C.x = 1.0f; - var_r31->unk_4C.y = 1.0f; - var_r31->unk_4C.z = 1.0f; - fn_1_6DF0(var_r31); - - var_r31 = &lbl_1_bss_140[12]; - var_r31->unk_02 = lbl_1_bss_9F0[0x1A]; - var_r31->unk_00_field3 = 1; - var_r31->unk_00_field0 = 0; - var_r31->unk_00_field1 = 0; - var_r31->unk_04.x = 185.0f; - var_r31->unk_04.y = 0.0f; - var_r31->unk_04.z = 220.0f; - var_r31->unk_28.x = 0.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_4C.x = 1.0f; - var_r31->unk_4C.y = 1.0f; - var_r31->unk_4C.z = 1.0f; - fn_1_6DF0(var_r31); - - var_r31 = &lbl_1_bss_140[7]; - var_r31->unk_02 = lbl_1_bss_9F0[0x12]; - var_r31->unk_00_field3 = 1; - var_r31->unk_00_field0 = 0; - var_r31->unk_00_field1 = 0; - var_r31->unk_04.x = 0.0f; - var_r31->unk_04.y = -65.0f; - var_r31->unk_04.z = 0.0f; - var_r31->unk_28.x = 0.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_4C.x = 1.0f; - var_r31->unk_4C.y = 1.0f; - var_r31->unk_4C.z = 1.0f; - fn_1_6DF0(var_r31); - - var_r31 = &lbl_1_bss_140[8]; - var_r31->unk_02 = lbl_1_bss_9F0[0x13]; - var_r31->unk_00_field3 = 1; - var_r31->unk_00_field0 = 0; - var_r31->unk_00_field1 = 0; - var_r31->unk_04.x = 0.0f; - var_r31->unk_04.y = 300.0f; - var_r31->unk_04.z = 0.0f; - var_r31->unk_28.x = 0.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_4C.x = 1.0f; - var_r31->unk_4C.y = 1.0f; - var_r31->unk_4C.z = 1.0f; - fn_1_6DF0(var_r31); - - var_r31 = &lbl_1_bss_140[13]; - var_r31->unk_02 = lbl_1_bss_9F0[3]; - var_r31->unk_00_field3 = 0; - var_r31->unk_00_field0 = 0; - var_r31->unk_00_field1 = 0; - var_r31->unk_04.x = 0.0f; - var_r31->unk_04.y = 0.0f; - var_r31->unk_04.z = 0.0f; - var_r31->unk_28.x = 0.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_4C.x = 1.0f; - var_r31->unk_4C.y = 1.0f; - var_r31->unk_4C.z = 1.0f; - fn_1_6DF0(var_r31); - - var_r31 = &lbl_1_bss_140[14]; - var_r31->unk_02 = lbl_1_bss_9F0[2]; - var_r31->unk_00_field3 = 0; - var_r31->unk_00_field0 = 0; - var_r31->unk_00_field1 = 0; - var_r31->unk_04.x = 0.0f; - var_r31->unk_04.y = 0.0f; - var_r31->unk_04.z = 0.0f; - var_r31->unk_28.x = 0.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_4C.x = 1.0f; - var_r31->unk_4C.y = 1.0f; - var_r31->unk_4C.z = 1.0f; - fn_1_6DF0(var_r31); - - for (var_r29 = 0; var_r29 < 2; var_r29++) { - var_r30 = &lbl_1_bss_C0[var_r29]; - var_r30->unk_14 = var_r29; - var_r30->unk_1C = 20.0f; - var_r30->unk_20 = 0.0f; - var_r30->unk_2C = 0.0f; - var_r30->unk_24 = 0.2f; - var_r30->unk_28 = 0.1f; - var_r30->unk_38 = 0; - var_r30->unk_3C = 0; - var_r30->unk_30 = 1; - var_r30->unk_00 = &lbl_1_bss_140[var_r29 + 13]; - var_r30->unk_04 = &lbl_1_bss_140[var_r29 + 4]; - var_r30->unk_08 = &lbl_1_bss_140[var_r29 + 6]; - var_r30->unk_0C = &lbl_1_bss_140[var_r29 + 9]; - var_r30->unk_10 = &lbl_1_bss_140[var_r29 + 11]; - } - lbl_1_bss_B8 = 0; - lbl_1_bss_B4 = 0; - lbl_1_bss_B0 = 0; - fn_1_6728(); - - { - Vec sp14 = { 0.0f, 0.0f, 0.0f }; - Vec sp8 = { 0.0f, 0.0f, -1.0f }; - HuAudFXListnerSetEX(&sp14, &sp8, 3000.0, 1000.0, 100.0, 300.0, 300.0); - HuAudFXPlay(0x5F0); - } - return 1; -} - -void fn_1_596C(void) -{ - Process *var_r30; - s32 var_r31; - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = lbl_1_bss_A2C[var_r31]; - if (var_r30) { - HuPrcKill(var_r30); - } - } - fn_1_6D0C(); - HuPrcKill(lbl_1_bss_A3C); - HuPrcKill(lbl_1_bss_A40); -} - -s32 fn_1_59F4(s32 arg0) -{ - if (fn_1_5A7C(arg0) != 0) { - return 0; - } - lbl_1_bss_A2C[arg0] = HuPrcChildCreate(lbl_1_data_154[arg0], 0x3ED, 0x5000, 0, lbl_1_bss_4); - return 1; -} - -s32 fn_1_5A7C(s32 arg0) -{ - return lbl_1_bss_A2C[arg0] != NULL; -} - -s32 fn_1_5AA8(s32 arg0, float arg1) -{ - M420DllUnkMapStruct *var_r31; - s32 var_r29; - s32 var_r30; - - var_r31 = &lbl_1_bss_C0[arg0]; - if ((var_r31->unk_1C += arg1) >= 200.0f) { - var_r31->unk_1C = 200.0f; - } - var_r31->unk_38 = 1; - var_r31->unk_30 = (s32)(200.0f - var_r31->unk_1C) / 10.0f; - switch (arg0) { - case 0: - var_r29 = 3; - var_r30 = 0x15; - break; - case 1: - var_r29 = 2; - var_r30 = 0x16; - break; - } - if (var_r31->unk_1C >= 200.0f) { - if (lbl_1_bss_B0 == 0) { - var_r31->unk_3C = 1; - Hu3DMotionTimeSet(lbl_1_bss_9F0[var_r30], 0.0f); - Hu3DModelAttrReset(lbl_1_bss_9F0[var_r30], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[var_r30], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(lbl_1_bss_9F0[var_r29], HU3D_ATTR_DISPOFF); - } - return 1; - } - return 0; -} - -void fn_1_5C8C(M420DllUnkMapStruct *arg0) -{ - Vec sp8; - - if (arg0->unk_38 != 0) { - if (arg0->unk_30 > 0) { - arg0->unk_30--; - } - if (arg0->unk_30 <= 0) { - sp8 = arg0->unk_04->unk_04; - sp8.y = -60.0f + arg0->unk_1C; - fn_1_7230(arg0->unk_04, &sp8, 0x1E, 0); - - sp8 = arg0->unk_08->unk_04; - sp8.y = -65.0f + arg0->unk_1C; - fn_1_7230(arg0->unk_08, &sp8, 0x1E, 0); - - sp8 = arg0->unk_0C->unk_04; - sp8.y = 40.0f + arg0->unk_1C; - fn_1_7230(arg0->unk_0C, &sp8, 0x1E, 1); - - Hu3DMotionTimeSet(arg0->unk_0C->unk_02, 0.0f); - Hu3DModelAttrReset(arg0->unk_0C->unk_02, HU3D_ATTR_DISPOFF); - - sp8 = arg0->unk_10->unk_04; - sp8.y = -50.0f + arg0->unk_1C; - fn_1_7230(arg0->unk_10, &sp8, 0x1E, 1); - - Hu3DMotionTimeSet(arg0->unk_10->unk_02, 0.0f); - Hu3DModelAttrReset(arg0->unk_10->unk_02, HU3D_ATTR_DISPOFF); - Hu3DMotionStartEndSet(arg0->unk_00->unk_02, 0.0f, 30.0f); - Hu3DMotionTimeSet(arg0->unk_00->unk_02, 0.0f); - Hu3DModelAttrReset(arg0->unk_00->unk_02, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(arg0->unk_00->unk_02, HU3D_MOTATTR_LOOP); - arg0->unk_34 = 3; - arg0->unk_38 = 0; - arg0->unk_24 = 0.8f; - arg0->unk_28 = 0.3f; - arg0->unk_2C = 0.0f; - if (arg0->unk_14 == 0) { - HuAudFXPlay(0x5F7); - } - else { - HuAudFXPlay(0x5F8); - } - } - } - if ((Hu3DMotionEndCheck(arg0->unk_00->unk_02) != 0) && (arg0->unk_34 > 0)) { - if (--arg0->unk_34 > 0) { - Hu3DMotionTimeSet(arg0->unk_00->unk_02, 0.0f); - } - else { - Hu3DMotionStartEndSet(arg0->unk_00->unk_02, 0.0f, 1.0f); - Hu3DMotionTimeSet(arg0->unk_00->unk_02, 0.0f); - Hu3DModelAttrSet(arg0->unk_00->unk_02, HU3D_MOTATTR_PAUSE); - } - } - if (arg0->unk_24 > 0.2f) { - if ((arg0->unk_24 -= 0.005f) <= 0.2f) { - arg0->unk_24 = 0.2f; - } - } - arg0->unk_04->unk_28.y += arg0->unk_24; - if (arg0->unk_28 > 0.05f) { - if ((arg0->unk_28 -= 0.003f) <= 0.05f) { - arg0->unk_28 = 0.05f; - } - } - arg0->unk_04->unk_4C.y = 1.0 + (arg0->unk_28 * sind((90.0f * arg0->unk_2C))); - arg0->unk_2C += 0.02f; -} - -s32 fn_1_60F0(void) -{ - float var_f31; - float var_f30; - s32 var_r31; - - if (lbl_1_bss_BC >= 6) { - return 1; - } - var_f31 = 5.0f * (6 - lbl_1_bss_BC); - var_f30 = var_f31 - 5.0f; - Hu3DMotionStartEndSet(lbl_1_bss_9F0[0xF], var_f30, var_f31); - Hu3DMotionTimeSet(lbl_1_bss_9F0[0xF], var_f31); - Hu3DModelAttrReset(lbl_1_bss_9F0[0xF], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(lbl_1_bss_9F0[0xF], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(lbl_1_bss_9F0[0xF], HU3D_MOTATTR_REV); - lbl_1_bss_B8 = 5; - lbl_1_bss_BC += 1; - if (lbl_1_bss_BC == 6) { - var_r31 = 1; - } - else { - var_r31 = 0; - } - return var_r31; -} - -void fn_1_6268(void) -{ - float var_f31 = 0.0f; - float var_f30 = 30.0f; - - Hu3DMotionStartEndSet(lbl_1_bss_9F0[0xF], var_f31, var_f30); - Hu3DMotionTimeSet(lbl_1_bss_9F0[0xF], var_f31); - Hu3DModelAttrReset(lbl_1_bss_9F0[0xF], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(lbl_1_bss_9F0[0xF], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(lbl_1_bss_9F0[0xF], HU3D_MOTATTR_REV); - Hu3DMotionStartEndSet(lbl_1_bss_9F0[0x10], var_f31, var_f30); - Hu3DMotionTimeSet(lbl_1_bss_9F0[0x10], var_f31); - lbl_1_bss_BC = 0; -} - -void fn_1_636C(void) -{ - float var_f31 = 0.0f; - float var_f30 = 30.0f; - - Hu3DMotionStartEndSet(lbl_1_bss_9F0[0x14], var_f31, var_f30); - Hu3DMotionTimeSet(lbl_1_bss_9F0[0x14], var_f31); -} - -void fn_1_63EC(void) -{ - float var_f31 = 5.0f * (6 - lbl_1_bss_BC); - float var_f30 = 30.0f; - - Hu3DMotionStartEndSet(lbl_1_bss_9F0[0xF], var_f31, var_f30); - Hu3DMotionTimeSet(lbl_1_bss_9F0[0xF], var_f31); - Hu3DModelAttrReset(lbl_1_bss_9F0[0xF], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(lbl_1_bss_9F0[0xF], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(lbl_1_bss_9F0[0xF], HU3D_MOTATTR_REV); - lbl_1_bss_BC = 0; - lbl_1_bss_B8 = 0; -} - -s32 fn_1_650C(void) -{ - s32 var_r31 = 0; - - if ((lbl_1_bss_BC == 6) && (lbl_1_bss_B8 == 0)) { - var_r31 = 1; - } - return var_r31; -} - -void fn_1_6554(void) -{ - Vec sp8; - M420DllUnkMapStruct2 *var_r31; - - var_r31 = &lbl_1_bss_140[8]; - var_r31->unk_04.x = 480.0f; - var_r31->unk_04.y = 800.0f; - var_r31->unk_04.z = -314.0f; - var_r31->unk_28.x = 0.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - fn_1_6DF0(var_r31); - sp8.x = 480.0f; - sp8.y = 370.0f; - sp8.z = -314.0f; - Hu3DModelAttrReset(var_r31->unk_02, HU3D_ATTR_DISPOFF); - fn_1_7230(var_r31, &sp8, 0x14, 0); - Hu3DMotionTimeSet(fn_1_6660(), 0.0f); - Hu3DModelAttrSet(fn_1_6660(), HU3D_MOTATTR_PAUSE); -} - -s16 fn_1_6660(void) -{ - return lbl_1_bss_140[8].unk_02; -} - -s32 fn_1_6670(void) -{ - M420DllUnkMapStruct2 *var_r31 = &lbl_1_bss_140[8]; - return var_r31->unk_00_field0; -} - -void fn_1_669C(s32 arg0) -{ - M420DllUnkMapStruct2 *var_r31 = &lbl_1_bss_140[8]; - if (arg0 == 0) { - var_r31->unk_04.x = 0.0f; - var_r31->unk_04.y = 0.0f; - var_r31->unk_04.z = 0.0f; - fn_1_6DF0(var_r31); - } - var_r31->unk_00_field3 = arg0; -} - -void fn_1_6728(void) -{ - M420DllUnkMapStruct2 *var_r31 = &lbl_1_bss_140[8]; - var_r31->unk_04.x = 0.0f; - var_r31->unk_04.y = 1000.0f; - var_r31->unk_04.z = 0.0f; - fn_1_6DF0(var_r31); - Hu3DModelAttrSet(lbl_1_bss_9F0[0x13], HU3D_ATTR_DISPOFF); -} - -s32 fn_1_67A4(s32 arg0) -{ - M420DllUnkMapStruct *var_r31 = &lbl_1_bss_C0[arg0]; - return var_r31->unk_1C >= 200.0f; -} - -s32 fn_1_67E8(s32 arg0) -{ - M420DllUnkMapStruct *var_r31 = &lbl_1_bss_C0[arg0]; - return var_r31->unk_3C; -} - -s32 fn_1_6810(void) -{ - return lbl_1_bss_B4; -} - -void fn_1_6820(void) -{ - while (TRUE) { - if (lbl_1_bss_B8 > 0) { - if (--lbl_1_bss_B8 <= 0) { - Hu3DModelAttrSet(lbl_1_bss_9F0[0xF], HU3D_MOTATTR_PAUSE); - } - } - HuPrcVSleep(); - } -} - -void fn_1_6884(void) -{ - s32 var_r31; - M420DllUnkMapStruct *var_r30; - M420DllUnkMapStruct *var_r29; - - while (TRUE) { - for (var_r31 = 0; var_r31 < 0xF; var_r31++) { - fn_1_6DF0(&lbl_1_bss_140[var_r31]); - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - fn_1_5C8C(&lbl_1_bss_C0[var_r31]); - } - var_r30 = lbl_1_bss_C0; - if ((var_r30->unk_1C >= 200.0f) || (var_r29 = &lbl_1_bss_C0[1], var_r29->unk_1C >= 200.0f)) { - lbl_1_bss_B0 = 1; - } - HuPrcVSleep(); - } -} - -void fn_1_6950(void) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0x1B; var_r31++) { - lbl_1_bss_9F0[var_r31] = Hu3DModelCreateFile(lbl_1_rodata_360[var_r31]); - } - Hu3DModelAttrSet(lbl_1_bss_9F0[1], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(lbl_1_bss_9F0[0xA], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(lbl_1_bss_9F0[3], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(lbl_1_bss_9F0[2], HU3D_MOTATTR_PAUSE); - Hu3DModelPosSet(lbl_1_bss_9F0[0xF], -219.0f, 300.0f, -92.0f); - Hu3DModelRotSet(lbl_1_bss_9F0[0xF], 0.0f, 0.0f, 0.0f); - Hu3DModelPosSet(lbl_1_bss_9F0[0x10], 0.0f, 0.0f, 0.0f); - Hu3DModelShadowMapSet(lbl_1_bss_9F0[0]); - Hu3DModelShadowMapSet(lbl_1_bss_9F0[0xD]); - Hu3DModelShadowMapSet(lbl_1_bss_9F0[0xE]); - Hu3DModelShadowSet(lbl_1_bss_9F0[0xF]); - Hu3DModelShadowSet(lbl_1_bss_9F0[1]); - Hu3DModelShadowSet(lbl_1_bss_9F0[0xA]); - Hu3DModelShadowSet(lbl_1_bss_9F0[0xB]); - Hu3DModelShadowSet(lbl_1_bss_9F0[0x10]); - Hu3DModelShadowSet(lbl_1_bss_9F0[0x14]); - Hu3DModelShadowSet(lbl_1_bss_9F0[0x13]); - Hu3DModelAttrSet(lbl_1_bss_9F0[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[5], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[6], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[7], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[8], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[9], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[0xB], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[0xC], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[0x15], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[0x16], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[0x17], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[0x18], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[0x19], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[0x1A], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[0xF], HU3D_MOTATTR_PAUSE); - Hu3DMotionStartEndSet(lbl_1_bss_9F0[0xF], 30.0f, 30.0f); - Hu3DMotionTimeSet(lbl_1_bss_9F0[0xF], 30.0f); - Hu3DModelAttrSet(lbl_1_bss_9F0[0xF], HU3D_MOTATTR_PAUSE); - Hu3DModelHookSet(lbl_1_bss_9F0[1], "itemhook_sao", lbl_1_bss_9F0[0xA]); -} - -void fn_1_6D0C(void) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0x1B; var_r31++) { - Hu3DModelKill(lbl_1_bss_9F0[var_r31]); - } -} - -void fn_1_6D5C(void) -{ - LightData *var_r31; - - Hu3DLighInit(); - lbl_1_bss_9EC = Hu3DGLightCreateV(&lbl_1_data_138.unk_00, &lbl_1_data_138.unk_0C, &lbl_1_data_138.unk_18); - Hu3DGLightInfinitytSet(lbl_1_bss_9EC); - var_r31 = &Hu3DGlobalLight[lbl_1_bss_9EC]; - var_r31->unk_00 |= 0x8000; -} - -void fn_1_6DF0(M420DllUnkMapStruct2 *arg0) -{ - float var_f31; - - if (arg0->unk_00_field3) { - if (arg0->unk_00_field0) { - switch (arg0->unk_78) { - case 0: - var_f31 = arg0->unk_70; - break; - case 1: - var_f31 = sind((90.0f * arg0->unk_70)); - var_f31 *= var_f31; - break; - case 2: - var_f31 = sind((90.0f * arg0->unk_70)); - var_f31 *= var_f31 * var_f31; - break; - } - arg0->unk_04.x = arg0->unk_10.x + (var_f31 * (arg0->unk_1C.x - arg0->unk_10.x)); - arg0->unk_04.y = arg0->unk_10.y + (var_f31 * (arg0->unk_1C.y - arg0->unk_10.y)); - arg0->unk_04.z = arg0->unk_10.z + (var_f31 * (arg0->unk_1C.z - arg0->unk_10.z)); - if ((arg0->unk_70 += arg0->unk_74) >= 1.0f) { - arg0->unk_04 = arg0->unk_1C; - arg0->unk_00_field0 = 0; - } - } - Hu3DModelPosSet(arg0->unk_02, arg0->unk_04.x, arg0->unk_04.y, arg0->unk_04.z); - if (arg0->unk_00_field1) { - switch (arg0->unk_84) { - case 0: - var_f31 = arg0->unk_7C; - break; - case 1: - var_f31 = sind((90.0f * arg0->unk_7C)); - var_f31 *= var_f31; - break; - } - arg0->unk_28.x = arg0->unk_34.x + (var_f31 * (arg0->unk_40.x - arg0->unk_34.x)); - arg0->unk_28.y = arg0->unk_34.y + (var_f31 * (arg0->unk_40.y - arg0->unk_34.y)); - arg0->unk_28.z = arg0->unk_34.z + (var_f31 * (arg0->unk_40.z - arg0->unk_34.z)); - if ((arg0->unk_7C += arg0->unk_80) >= 1.0f) { - arg0->unk_28 = arg0->unk_40; - arg0->unk_00_field1 = 0; - } - } - Hu3DModelRotSet(arg0->unk_02, arg0->unk_28.x, arg0->unk_28.y, arg0->unk_28.z); - if (arg0->unk_00_field2) { - switch (arg0->unk_90) { - case 0: - var_f31 = arg0->unk_88; - break; - case 1: - var_f31 = sind((90.0f * arg0->unk_88)); - var_f31 *= var_f31; - break; - } - arg0->unk_4C.x = arg0->unk_58.x + (var_f31 * (arg0->unk_64.x - arg0->unk_58.x)); - arg0->unk_4C.y = arg0->unk_58.y + (var_f31 * (arg0->unk_64.y - arg0->unk_58.y)); - arg0->unk_4C.z = arg0->unk_58.z + (var_f31 * (arg0->unk_64.z - arg0->unk_58.z)); - if ((arg0->unk_88 += arg0->unk_8C) >= 1.0f) { - arg0->unk_4C = arg0->unk_64; - arg0->unk_00_field2 = 0; - } - } - Hu3DModelScaleSet(arg0->unk_02, arg0->unk_4C.x, arg0->unk_4C.y, arg0->unk_4C.z); - } -} - -void fn_1_7230(M420DllUnkMapStruct2 *arg0, Vec *arg1, s32 arg2, s32 arg3) -{ - arg0->unk_1C = *arg1; - arg0->unk_10 = arg0->unk_04; - arg0->unk_70 = 0.0f; - arg0->unk_74 = 1.0f / arg2; - arg0->unk_78 = arg3; - arg0->unk_00_field0 = 1; -} - -void fn_1_72C8(M420DllUnkMapStruct2 *arg0, Vec *arg1, s32 arg2, s32 arg3) -{ - arg0->unk_40 = *arg1; - arg0->unk_34 = arg0->unk_28; - arg0->unk_7C = 0.0f; - arg0->unk_80 = 1.0f / arg2; - arg0->unk_84 = arg3; - arg0->unk_00_field1 = 1; -} - -void fn_1_7360(M420DllUnkMapStruct2 *arg0, Vec *arg1, s32 arg2, s32 arg3) -{ - arg0->unk_64 = *arg1; - arg0->unk_58 = arg0->unk_4C; - arg0->unk_88 = 0.0f; - arg0->unk_8C = 1.0f / arg2; - arg0->unk_90 = arg3; - arg0->unk_00_field2 = 1; -} - -float fn_1_73F8(float arg8) -{ - float var_f31; - float var_f30; - - if (arg8 < 0.0f) { - arg8 = -arg8; - } - if (arg8 < 1.0f) { - var_f31 = (4.0f + ((arg8 * (3.0f * arg8 * arg8)) - (6.0f * arg8 * arg8))) / 6.0f; - } - else if (arg8 < 2.0f) { - var_f30 = arg8 - 2.0f; - var_f31 = (var_f30 * (-var_f30 * var_f30)) / 6.0f; - } - else { - var_f31 = 0.0f; - } - return var_f31; -} - -void fn_1_74F8(float *arg0, float *arg1, float *arg2, float *arg3, float arg8) -{ - float var_f30; - float var_f29; - float var_f26; - - s32 var_r31; - s32 var_r30; - s32 var_r29; - - var_r29 = 0xB; - var_f30 = 0.0f; - var_f29 = 0.0f; - for (var_r31 = -2; var_r31 <= var_r29 + 2; var_r31++) { - var_r30 = var_r31; - if (var_r31 < 0) { - var_r30 = 0; - } - if (var_r31 > var_r29) { - var_r30 = var_r29; - } - var_f26 = fn_1_73F8(arg8 - var_r31); - var_f30 += var_f26 * arg0[var_r30]; - var_f29 += var_f26 * arg1[var_r30]; - } - *arg2 = var_f30; - *arg3 = var_f29; -} - -void fn_1_7704(void) -{ - Vec sp20; - Vec sp14; - Vec sp8; - - M420DllUnkMapStruct2 *var_r31; - s32 var_r29; - s32 var_r28; - - var_r28 = 0; - var_r31 = &lbl_1_bss_140[0]; - sp20.x = 0.0f; - sp20.y = 1000.0f; - sp20.z = 0.0f; - - sp14.x = 0.0f; - sp14.y = 0.0f; - sp14.z = 0.0f; - - sp8.x = 1.0f; - sp8.y = 1.0f; - sp8.z = 1.0f; - - fn_1_7230(var_r31, &sp20, 1, 0); - fn_1_72C8(var_r31, &sp14, 1, 0); - var_r28 = HuAudFXEmiterPlay(0x5EF, &sp20); - sp20.y = 750.0f; - fn_1_7230(var_r31, &sp20, 80, 1); - HuPrcSleep(0x50); - { - float var_f30; - float sp5C[12] = { - 0.0f, - 50.0f, - 300.0f, - 350.0f, - 300.0f, - 0.0f, - -300.0f, - -350.0f, - -350.0f, - -300.0f, - -100.0f, - 0.0f, - }; - float sp2C[12] = { - 750.0f, - 700.0f, - 600.0f, - 500.0f, - 400.0f, - 300.0f, - 350.0f, - 400.0f, - 450.0f, - 500.0f, - 600.0f, - 900.0f, - }; - float var_f24 = 0.050000004f; - for (var_f30 = -1.0f; var_f30 < 12.0f; var_f30 += var_f24) { - fn_1_74F8(sp5C, sp2C, &sp20.x, &sp20.y, var_f30); - fn_1_7230(var_r31, &sp20, 1, 0); - HuAudFXEmiterUpDate(var_r28, &sp20); - HuPrcVSleep(); - } - } - for (var_r29 = 0; var_r29 < 0x1E; var_r29++) { - Hu3DModelTPLvlSet(lbl_1_bss_9F0[1], 1.0f - (0.033333335f * var_r29)); - Hu3DModelTPLvlSet(lbl_1_bss_9F0[0xA], 1.0f - (0.033333335f * var_r29)); - HuAudFXEmiterUpDate(var_r28, &sp20); - HuPrcSleep(1); - } - HuAudFXStop(var_r28); - sp20.x = 1000.0f; - sp20.y = 0.0f; - sp20.z = 0.0f; - fn_1_7230(var_r31, &sp20, 1, 0); - HuPrcSleep(1); - Hu3DModelTPLvlSet(lbl_1_bss_9F0[1], 1.0f); - Hu3DModelTPLvlSet(lbl_1_bss_9F0[0xA], 1.0f); - *lbl_1_bss_A2C = NULL; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_7E24(void) -{ - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - - M420DllUnkMapStruct2 *var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - M420DllUnkMapStruct *var_r27; - s32 var_r26; - s32 var_r25; - - var_r31 = &lbl_1_bss_140[0]; - { - Vec sp8 = { 0.0f, 0.0f, 0.0f }; - var_f29 = 800.0f; - var_f28 = 10.0f; - var_r29 = 0; - var_r28 = 0; - var_r30 = 0; - var_r31->unk_28.x = 0.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_f31 = 0.0f; - var_f26 = 0.005f; - var_r27 = &lbl_1_bss_C0[1]; - var_r26 = var_r27->unk_3C; - var_r25 = var_r26; - if (var_r25 != 0) { - var_f27 = 220.0f; - } - else { - var_f27 = -220.0f; - } - - for (var_f30 = var_f27; var_f31 < 1.0f; var_f31 += var_f26) { - sp8.x = (var_f29 * cosd((-180.0f * var_f31))) - (var_f28 * sind((-180.0f * var_f31))); - sp8.y = 1200.0 + ((var_f28 * cosd((-180.0f * var_f31))) + (var_f29 * sind((-180.0f * var_f31)))); - sp8.z = 0.0f; - if (var_f31 <= 0.0f) { - var_r30 = HuAudFXEmiterPlay(0x5EF, &sp8); - } - if ((sp8.x < (200.0f + var_f30)) && (var_r28 == 0)) { - Hu3DModelHookReset(lbl_1_bss_9F0[1]); - Hu3DModelAttrSet(lbl_1_bss_9F0[0xA], HU3D_ATTR_DISPOFF); - Hu3DModelHookSet(lbl_1_bss_9F0[1], "itemhook_sao", lbl_1_bss_9F0[0xC]); - Hu3DModelAttrReset(lbl_1_bss_9F0[0xC], HU3D_ATTR_DISPOFF); - Hu3DMotionTimeSet(lbl_1_bss_9F0[0xC], 0.0f); - var_r28 = 1; - } - if ((sp8.x < var_f30) && (var_r29 == 0)) { - sp8.x = var_f30; - if (lbl_1_bss_A2C[3] == NULL) { - lbl_1_bss_A2C[3] = HuPrcChildCreate(lbl_1_data_154[3], 0x3ED, 0x5000, 0, lbl_1_bss_4); - } - var_r29 = 1; - } - fn_1_7230(var_r31, &sp8, 1, 0); - HuAudFXEmiterUpDate(var_r30, &sp8); - HuPrcVSleep(); - } - } - HuAudFXStop(var_r30); - lbl_1_bss_A2C[1] = NULL; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_8240(void) -{ - Hu3DModelAttrReset(lbl_1_bss_9F0[4], HU3D_ATTR_DISPOFF); - Hu3DMotionTimeSet(lbl_1_bss_9F0[4], 0.0f); - Hu3DModelAttrReset(lbl_1_bss_9F0[6], HU3D_ATTR_DISPOFF); - Hu3DMotionTimeSet(lbl_1_bss_9F0[6], 0.0f); - Hu3DModelAttrReset(lbl_1_bss_9F0[8], HU3D_ATTR_DISPOFF); - Hu3DMotionTimeSet(lbl_1_bss_9F0[8], 0.0f); - HuPrcSleep(0x78); - Hu3DModelAttrSet(lbl_1_bss_9F0[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[6], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[8], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_9F0[5], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[5], HU3D_MOTATTR_LOOP); - Hu3DMotionTimeSet(lbl_1_bss_9F0[5], 0.0f); - Hu3DModelAttrReset(lbl_1_bss_9F0[7], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[7], HU3D_MOTATTR_LOOP); - Hu3DMotionTimeSet(lbl_1_bss_9F0[7], 0.0f); - Hu3DModelAttrReset(lbl_1_bss_9F0[9], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_9F0[9], HU3D_MOTATTR_LOOP); - Hu3DMotionTimeSet(lbl_1_bss_9F0[9], 0.0f); - lbl_1_bss_A2C[2] = NULL; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_8414(void) -{ - Vec sp14; - Vec sp8; - - float var_f31; - float var_f30; - - M420DllUnkMapStruct2 *var_r31; - M420DllUnkMapStruct *var_r30; - M420DllUnkMapStruct2 *var_r29; - M420DllUnkMapStruct2 *var_r28; - M420DllUnkMapStruct2 *var_r27; - M420DllUnkMapStruct2 *var_r26; - s32 var_r25; - - var_r31 = &lbl_1_bss_140[2]; - var_r27 = &lbl_1_bss_140[3]; - var_r26 = &lbl_1_bss_140[0]; - Hu3DModelHookReset(lbl_1_bss_9F0[1]); - var_r31->unk_04 = var_r26->unk_04; - var_r31->unk_04.y -= 100.0f; - var_r31->unk_04.z += 148.0f; - fn_1_6DF0(var_r31); - - sp14 = var_r31->unk_04; - sp14.y = 80.0f; - sp14.z = 170.0f; - - sp8 = var_r31->unk_28; - sp8.x += 45.0f; - - fn_1_7230(var_r31, &sp14, 30, 0); - fn_1_72C8(var_r31, &sp8, 30, 0); - HuPrcSleep(0xA); - HuAudFXPlay(0x5F5); - var_r25 = fn_1_67A4(0) != 0 ? 0 : 1; - var_r30 = &lbl_1_bss_C0[var_r25]; - if (var_r25 == 0) { - var_f30 = -220.0f; - } - else { - var_f30 = 220.0f; - } - var_f31 = var_f30; - - sp14 = var_r30->unk_0C->unk_04; - sp14.y = 40.0f + var_r30->unk_1C; - sp14.x = var_f31; - - var_r29 = var_r30->unk_0C; - fn_1_7230(var_r29, &sp14, 30, 1); - - Hu3DMotionTimeSet(var_r30->unk_0C->unk_02, 0.0f); - Hu3DModelAttrReset(var_r30->unk_0C->unk_02, HU3D_ATTR_DISPOFF); - sp14 = var_r30->unk_10->unk_04; - sp14.y = -50.0f + var_r30->unk_1C; - sp14.x = var_f31; - var_r28 = var_r30->unk_10; - fn_1_7230(var_r28, &sp14, 30, 1); - Hu3DMotionTimeSet(var_r30->unk_10->unk_02, 0.0f); - Hu3DModelAttrReset(var_r30->unk_10->unk_02, HU3D_ATTR_DISPOFF); - HuPrcSleep(5); - lbl_1_bss_B4 = 1; - sp8.x = 0.0f; - fn_1_72C8(var_r31, &sp8, 15, 1); - HuPrcSleep(0xF); - var_r27->unk_04 = var_r31->unk_04; - Hu3DModelAttrSet(var_r31->unk_02, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r27->unk_02, HU3D_ATTR_DISPOFF); - Hu3DMotionTimeSet(var_r27->unk_02, 0.0f); - Hu3DModelAttrReset(var_r27->unk_02, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(var_r27->unk_02, HU3D_MOTATTR_LOOP); - HuPrcSleep(0x78); - lbl_1_bss_A2C[3] = NULL; - HuPrcEnd(); - - while (TRUE) { - HuPrcVSleep(); - } -} - -const float _pad = 0; diff --git a/src/REL/m420dll/player.c b/src/REL/m420dll/player.c deleted file mode 100644 index 5bdb79f2..00000000 --- a/src/REL/m420dll/player.c +++ /dev/null @@ -1,1033 +0,0 @@ -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/esprite.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/wipe.h" - -#include "REL/m420dll.h" - -typedef void (*M420DllUnkFunc)(M420DllPlayerStruct *); - -typedef struct M420DllUnkStruct2 { - /* 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 */ s32 unk_1C; -} M420DllUnkStruct2; /* size = 0x20 */ - -void fn_1_1F14(void); -void fn_1_1F54(M420DllPlayerStruct *arg0); -void fn_1_1F94(M420DllPlayerStruct *arg0); -void fn_1_200C(M420DllPlayerStruct *arg0); -void fn_1_20EC(M420DllPlayerStruct *arg0); -void fn_1_211C(M420DllPlayerStruct *arg0); -void fn_1_2174(M420DllPlayerStruct *arg0); -void fn_1_2260(M420DllPlayerStruct *arg0); -void fn_1_22CC(M420DllPlayerStruct *arg0); -void fn_1_276C(M420DllPlayerStruct *arg0); -void fn_1_2CE0(M420DllPlayerStruct *arg0); -void fn_1_2D7C(M420DllPlayerStruct *arg0); -void fn_1_2EA8(M420DllPlayerStruct *arg0); -void fn_1_3098(M420DllPlayerStruct *arg0); -void fn_1_326C(M420DllPlayerStruct *arg0); -void fn_1_3450(M420DllPlayerStruct *arg0); -s32 fn_1_34AC(M420DllPlayerStruct *arg0); -void fn_1_355C(M420DllPlayerStruct *arg0); -void fn_1_36E4(M420DllPlayerStruct *arg0); -void fn_1_374C(M420DllPlayerStruct *arg0); -void fn_1_378C(M420DllPlayerStruct *arg0); -void fn_1_3854(void); -void fn_1_3970(M420DllPlayerStruct *arg0); -void fn_1_3F94(M420DllPlayerStruct *arg0); -void fn_1_4294(M420DllPlayerStruct *arg0); -void fn_1_4574(M420DllPlayerStruct *arg0); -void fn_1_476C(M420DllPlayerStruct *arg0); - -M420DllUnkStruct2 lbl_1_data_50[4] = { - { 0x19, 0x01, 0x2A, 0x08, 0x2D, 0x10, 0x01, 0x01 }, - { 0x19, 0x01, 0x22, 0x06, 0x22, 0x0C, 0x01, 0x01 }, - { 0x19, 0x01, 0x1B, 0x05, 0x14, 0x0A, 0x01, 0x01 }, - { 0x19, 0x01, 0x14, 0x04, 0x0A, 0x08, 0x01, 0x01 }, -}; - -static const s32 lbl_1_rodata_F8[8][0xB] = { - { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x68), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x69), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x6A), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x35), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x6B), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x6E), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x49), - 0x33001B, - }, - { - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x17), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x18), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x68), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x69), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x6A), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x35), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x6B), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x6E), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x49), - 0x33001C, - }, - { - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x00), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x17), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x18), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x68), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x69), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x6A), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x35), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x6B), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x6E), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x49), - 0x33001D, - }, - { - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x17), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x18), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x68), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x69), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x6A), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x35), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x6B), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x6E), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x49), - 0x33001E, - }, - { - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x17), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x18), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x68), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x69), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x6A), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x35), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x6B), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x6E), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x49), - 0x33001F, - }, - { - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x17), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x18), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x68), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x69), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x6A), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x35), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x6B), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x6E), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x49), - 0x330020, - }, - { - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x17), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x18), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x68), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x69), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x6A), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x35), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x6B), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x6E), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x49), - 0x330021, - }, - { - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x17), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x18), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x68), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x69), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x6A), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x35), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x6B), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x6E), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x49), - 0x330022, - }, -}; -static const Vec lbl_1_rodata_258[4][2] = { - { { -372.0f, 300.0f, -220.0f }, { 0.0f, 50.0f, 0.0f } }, - { { 435.0f, 300.0f, -260.0f }, { 0.0f, 140.0f, 0.0f } }, - { { 315.0f, 300.0f, -153.0f }, { 0.0f, 140.0f, 0.0f } }, - { { 195.0f, 300.0f, -46.0f }, { 0.0f, 140.0f, 0.0f } }, -}; - -M420DllPlayerStruct *fn_1_1B8C(s32 arg0, s32 arg1) -{ - M420DllPlayerStruct *var_r31; - s32 var_r30; - - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M420DllPlayerStruct), MEMORY_DEFAULT_NUM); - if (!var_r31) { - OSReport("M420PlayerCreate ERROR...\n"); - return NULL; - } - var_r31->unk_04 = arg0; - var_r31->unk_4C = arg1; - var_r31->unk_08 = GWPlayerCfg[arg0].diff; - var_r31->unk_00_field0 = GWPlayerCfg[arg0].iscom; - var_r31->unk_0A = GWPlayerCfg[arg0].character; - var_r31->unk_0C = GWPlayerCfg[arg0].pad_idx; - var_r31->unk_10 = lbl_1_rodata_258[arg1][0]; - var_r31->unk_1C = lbl_1_rodata_258[arg1][1]; - var_r31->unk_48 = 0; - var_r31->unk_50 = 0; - var_r31->unk_00_field2 = 0; - var_r31->unk_00_field1 = 0; - var_r31->unk_E8 = NULL; - for (var_r30 = 0; var_r30 < 0xA; var_r30++) { - var_r31->unk_84[var_r30] = 7; - } - fn_1_1F54(var_r31); - fn_1_1F94(var_r31); - - switch (arg1) { - case 0: - if (var_r31->unk_0A == 5) { - CharModelMotionSet(var_r31->unk_0A, var_r31->unk_AE[0xA]); - Hu3DMotionStartEndSet(var_r31->unk_AC, 0.0f, 1.0f); - Hu3DMotionTimeSet(var_r31->unk_AC, 0.0f); - } - else { - CharModelMotionSet(var_r31->unk_0A, var_r31->unk_AE[0]); - } - break; - case 1: - case 2: - case 3: - var_r31->unk_1C.y = 0.0f; - CharModelMotionSet(var_r31->unk_0A, var_r31->unk_AE[0]); - break; - default: - break; - } - - CharModelMotionDataClose(var_r31->unk_0A); - fn_1_200C(var_r31); - var_r31->unk_40 = HuPrcChildCreate(fn_1_1F14, 0x64, 0x5000, 0, lbl_1_bss_4); - var_r31->unk_40->user_data = var_r31; - return var_r31; -} - -void fn_1_1E14(M420DllPlayerStruct *arg0) -{ - fn_1_2174(arg0); - fn_1_211C(arg0); - fn_1_20EC(arg0); - HuPrcKill(arg0->unk_40); - HuMemDirectFree(arg0); -} - -void fn_1_1E64(M420DllPlayerStruct *arg0, s32 arg1, s32 arg2) -{ - switch (arg1) { - case 0: - omVibrate(arg0->unk_04, arg2, 6, 6); - break; - case 1: - omVibrate(arg0->unk_04, arg2, 4, 2); - break; - case 2: - omVibrate(arg0->unk_04, arg2, 0xC, 0); - break; - } -} - -M420DllUnkFunc lbl_1_data_EC[0xC] = { - fn_1_2260, - fn_1_22CC, - fn_1_2D7C, - fn_1_276C, - fn_1_2CE0, - fn_1_2EA8, - fn_1_2260, - fn_1_4574, - fn_1_476C, - fn_1_3F94, - fn_1_4294, - fn_1_3970, -}; - -void fn_1_1F14(void) -{ - M420DllPlayerStruct *var_r31 = HuPrcCurrentGet()->user_data; - while (TRUE) { - lbl_1_data_EC[var_r31->unk_48](var_r31); - } -} - -void fn_1_1F54(M420DllPlayerStruct *arg0) -{ - arg0->unk_AC = CharModelCreate(arg0->unk_0A, 2); - Hu3DModelShadowSet(arg0->unk_AC); -} - -void fn_1_1F94(M420DllPlayerStruct *arg0) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0xB; var_r31++) { - arg0->unk_AE[var_r31] = CharModelMotionCreate(arg0->unk_0A, lbl_1_rodata_F8[arg0->unk_0A][var_r31]); - } -} - -void fn_1_200C(M420DllPlayerStruct *arg0) -{ - s32 var_r30; - - for (var_r30 = 0; var_r30 <= 9; var_r30++) { - arg0->unk_C4[var_r30] = espEntry(0x330018, 0, 0); - espDispOff(arg0->unk_C4[var_r30]); - } - switch (arg0->unk_4C) { - case 0: - arg0->unk_D8 = espEntry(0x330019, 1, 0); - break; - case 1: - case 2: - case 3: - arg0->unk_D8 = espEntry(0x33001A, 1, 0); - break; - default: - break; - } - espDispOff(arg0->unk_D8); - espTPLvlSet(arg0->unk_D8, 0.8f); -} - -void fn_1_20EC(M420DllPlayerStruct *arg0) -{ - CharModelKill(arg0->unk_0A); -} - -void fn_1_211C(M420DllPlayerStruct *arg0) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0xB; var_r31++) { - CharModelMotionKill(arg0->unk_0A, arg0->unk_AE[var_r31]); - } -} - -void fn_1_2174(M420DllPlayerStruct *arg0) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0xB; var_r31++) { - espKill(arg0->unk_C4[var_r31]); - } -} - -void fn_1_21C8(M420DllPlayerStruct *arg0, Vec *arg1, s32 arg2, s32 arg3) -{ - arg0->unk_34 = *arg1; - arg0->unk_28 = arg0->unk_1C; - arg0->unk_DC = 0.0f; - arg0->unk_E0 = 1.0f / arg2; - arg0->unk_E4 = arg3; - arg0->unk_00_field2 = 1; -} - -void fn_1_2260(M420DllPlayerStruct *arg0) -{ - s32 var_r30; - s32 var_r29; - - while (TRUE) { - for (var_r30 = 0; var_r30 < 1; var_r30++) { - fn_1_355C(arg0); - var_r29 = arg0->unk_48; - HuPrcVSleep(); - if (arg0->unk_48 != var_r29) { - return; - } - } - } -} - -#define WAITMODECHG(player, maxTime) \ - do { \ - s32 time; \ - s32 mode; \ - for (time = 0; time < maxTime; time++) { \ - fn_1_355C(arg0); \ - mode = arg0->unk_48; \ - HuPrcVSleep(); \ - if (arg0->unk_48 != mode) { \ - return; \ - } \ - } \ - } while (0) - -void fn_1_22CC(M420DllPlayerStruct *arg0) -{ - float var_f31; - float var_f30; - M420DllUnkStruct2 *var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r26; - s32 var_r23; - s32 var_r21; - s32 var_r18; - - var_r30 = &lbl_1_data_50[arg0->unk_08]; - fn_1_3098(arg0); - CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[8], 0.0f, 10.0f, 0x40000001); - arg0->unk_50 = 0; - arg0->unk_58 = var_r30->unk_00 + (fn_1_8944() % var_r30->unk_04); - - while (arg0->unk_50 < 6) { - fn_1_326C(arg0); - do { - if (arg0->unk_00_field0 == 0) { - var_r29 = fn_1_34AC(arg0); - } - else if (arg0->unk_58 > 0) { - arg0->unk_58--; - var_r29 = 0; - } - else if ((fn_1_8944() % 30) != 0) { - var_r29 = 1; - arg0->unk_58 = (var_r30->unk_08 - (var_r30->unk_0C / 2)) + (fn_1_8944() % var_r30->unk_0C); - } - else { - var_r29 = 2; - arg0->unk_58 = (var_r30->unk_08 - (var_r30->unk_0C / 2)) + (fn_1_8944() % var_r30->unk_0C); - } - switch (var_r29) { - case 0: - WAITMODECHG(arg0, 1); - break; - case 1: - var_f31 = 5.0f * arg0->unk_50; - var_f30 = 5.0f + var_f31; - CharModelMotionSet(arg0->unk_0A, arg0->unk_AE[5]); - Hu3DMotionStartEndSet(arg0->unk_AC, var_f31, var_f30); - Hu3DMotionTimeSet(arg0->unk_AC, var_f31); - Hu3DModelAttrReset(arg0->unk_AC, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(arg0->unk_AC, HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(arg0->unk_AC, HU3D_MOTATTR_REV); - arg0->unk_5C[arg0->unk_50++] = 1; - HuAudFXPlay(0x5F4); - fn_1_60F0(); - WAITMODECHG(arg0, 5); - break; - case 2: - if (arg0->unk_50 <= 0) { - WAITMODECHG(arg0, 1); - } - else { - Hu3DModelAttrReset(arg0->unk_AC, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(arg0->unk_AC, HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(arg0->unk_AC, HU3D_MOTATTR_REV); - fn_1_63EC(); - while (!Hu3DMotionEndCheck(arg0->unk_AC)) - WAITMODECHG(arg0, 1); - for (var_r28 = 0; var_r28 < 0xA; var_r28++) { - arg0->unk_5C[var_r28] = 0; - } - arg0->unk_50 = 0; - var_f31 = 0.0f; - var_f30 = 0.0f; - CharModelMotionSet(arg0->unk_0A, arg0->unk_AE[5]); - Hu3DMotionStartEndSet(arg0->unk_AC, var_f31, var_f30); - Hu3DMotionTimeSet(arg0->unk_AC, var_f31); - Hu3DModelAttrReset(arg0->unk_AC, HU3D_MOTATTR_LOOP); - } - break; - default: - break; - } - } while (var_r29 == 0); - } - fn_1_326C(arg0); - WAITMODECHG(arg0, 5); - fn_1_3450(arg0); - arg0->unk_48 = 2; -} - -void fn_1_276C(M420DllPlayerStruct *arg0) -{ - s32 sp8[4]; - - float var_f31; - float var_f30; - - s32 var_r30; - M420DllUnkStruct2 *var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - s32 var_r22; - s32 var_r21; - s32 var_r20; - s32 var_r19; - s32 var_r18; - s32 var_r17; - - var_r29 = &lbl_1_data_50[arg0->unk_08]; - if (arg0->unk_4C == 1) { - HuAudFXPlay(0x5F1); - fn_1_669C(1); - fn_1_6554(); - WAITMODECHG(arg0, 15); - CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[7], 0.0f, 6.0f, 0); - WAITMODECHG(arg0, 6); - fn_1_669C(0); - fn_1_36E4(arg0); - HuAudFXPlay(0x5F2); - } - fn_1_3098(arg0); - arg0->unk_50 = 0; - arg0->unk_58 = var_r29->unk_10 + (fn_1_8944() % var_r29->unk_14); - while (arg0->unk_50 < 1) { - fn_1_326C(arg0); - do { - if (arg0->unk_00_field0 == 0) { - var_r30 = fn_1_34AC(arg0); - } - else if (arg0->unk_58 > 0) { - arg0->unk_58--; - var_r30 = 0; - } - else if (fn_1_8944() % 30) { - var_r30 = 1; - } - else { - var_r30 = 2; - } - switch (var_r30) { - case 0: - WAITMODECHG(arg0, 1); - break; - - case 1: - if (arg0->unk_4C != 1) { - CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[7], 0.0f, 6.0f, 0); - WAITMODECHG(arg0, 6); - fn_1_374C(arg0->unk_E8); - fn_1_36E4(arg0); - HuAudFXPlay(0x5F2); - } - arg0->unk_5C[arg0->unk_50++] = 1; - switch (arg0->unk_4C) { - case 1: - case 2: - var_f31 = 0.0f; - var_f30 = 34.0f; - CharModelMotionSet(arg0->unk_0A, arg0->unk_AE[4]); - Hu3DMotionStartEndSet(arg0->unk_AC, var_f31, var_f30); - Hu3DMotionTimeSet(arg0->unk_AC, var_f31); - Hu3DMotionSpeedSet(arg0->unk_AC, 2.0f); - break; - - case 3: - arg0->unk_48 = 5; - return; - } - break; - - case 2: - switch (arg0->unk_4C) { - case 1: - var_f31 = 0.0f; - var_f30 = 10.0f; - CharModelMotionSet(arg0->unk_0A, arg0->unk_AE[4]); - Hu3DMotionStartEndSet(arg0->unk_AC, var_f31, var_f30); - Hu3DMotionTimeSet(arg0->unk_AC, var_f31); - Hu3DModelAttrReset(arg0->unk_AC, HU3D_MOTATTR_PAUSE); - WAITMODECHG(arg0, 30); - var_f31 = 60.0f; - var_f30 = 70.0f; - CharModelMotionSet(arg0->unk_0A, arg0->unk_AE[4]); - Hu3DMotionStartEndSet(arg0->unk_AC, var_f31, var_f30); - Hu3DMotionTimeSet(arg0->unk_AC, var_f31); - Hu3DModelAttrReset(arg0->unk_AC, HU3D_MOTATTR_PAUSE); - WAITMODECHG(arg0, 30); - break; - - case 2: - case 3: - CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[9], 0.0f, 2.0f, 0); - WAITMODECHG(arg0, 60); - CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[0], 0.0f, 8.0f, 0); - break; - } - break; - } - } while (var_r30 == 0); - } - fn_1_326C(arg0); - WAITMODECHG(arg0, 18); - fn_1_3450(arg0); - arg0->unk_48 = 6; -} - -void fn_1_2CE0(M420DllPlayerStruct *arg0) -{ - CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[0], 0.0f, 30.0f, 0x40000001); - - WAITMODECHG(arg0, 35); - arg0->unk_48 = 0; -} - -void fn_1_2D7C(M420DllPlayerStruct *arg0) -{ - float var_f31; - float var_f30; - s32 var_r30; - s32 var_r29; - - var_f30 = 0.0f; - var_f31 = 30.0f; - Hu3DMotionStartEndSet(arg0->unk_AC, var_f30, var_f31); - Hu3DMotionTimeSet(arg0->unk_AC, var_f31); - Hu3DModelAttrReset(arg0->unk_AC, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(arg0->unk_AC, HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(arg0->unk_AC, HU3D_MOTATTR_REV); - HuAudFXPlay(0x5F6); - fn_1_6268(); - fn_1_5AA8(0, 22.5f); - fn_1_1E64(arg0, 1, 0x1E); - // fn_1_2260? - for (var_r30 = 0; var_r30 < 0x1E; var_r30++) { - fn_1_355C(arg0); - var_r29 = arg0->unk_48; - HuPrcVSleep(); - if (arg0->unk_48 != var_r29) { - return; - } - } - arg0->unk_48 = 0; -} - -void fn_1_2EA8(M420DllPlayerStruct *arg0) -{ - s16 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - s32 var_r22; - - fn_1_326C(arg0); - CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[3], 0.0f, 1.0f, 0); - var_r30 = fn_1_6660(); - - Hu3DModelAttrReset(var_r30, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - Hu3DMotionTimeSet(var_r30, 0.0f); - { - s32 var_r30; - s32 var_r29; - for (var_r30 = 0; var_r30 < 24; var_r30++) { - fn_1_355C(arg0); - var_r29 = arg0->unk_48; - HuPrcVSleep(); - if (arg0->unk_48 != var_r29) { - return; - } - } - } - HuAudFXPlay(0x5F7); - fn_1_636C(); - fn_1_1E64(arg0, 1, 0x1E); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_PAUSE); - fn_1_5AA8(1, 22.5f); - { - s32 var_r30; - s32 var_r29; - for (var_r30 = 0; var_r30 < 20; var_r30++) { - fn_1_355C(arg0); - var_r29 = arg0->unk_48; - HuPrcVSleep(); - if (arg0->unk_48 != var_r29) { - return; - } - } - } - HuAudFXPlay(0x5F8); - fn_1_3450(arg0); - fn_1_378C(arg0); - { - s32 var_r30; - s32 var_r29; - for (var_r30 = 0; var_r30 < 20; var_r30++) { - fn_1_355C(arg0); - var_r29 = arg0->unk_48; - HuPrcVSleep(); - if (arg0->unk_48 != var_r29) { - return; - } - } - } - CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[0], 0.0f, 30.0f, 0x40000001); - { - s32 var_r30; - s32 var_r29; - for (var_r30 = 0; var_r30 < 25; var_r30++) { - fn_1_355C(arg0); - var_r29 = arg0->unk_48; - HuPrcVSleep(); - if (arg0->unk_48 != var_r29) { - return; - } - } - } - arg0->unk_48 = 6; -} - -void fn_1_3098(M420DllPlayerStruct *arg0) -{ - s32 var_r30; - s32 var_r29; - s32 var_r28; - - for (var_r30 = 0; var_r30 < 0xA; var_r30++) { - arg0->unk_5C[var_r30] = 0; - } - arg0->unk_50 = 0; - switch (arg0->unk_4C) { - case 0: - for (var_r29 = 0; var_r29 < 6;) { - arg0->unk_84[var_r29] = fn_1_8944() % 7; - if (arg0->unk_84[var_r29] == 6) { - arg0->unk_84[var_r29] = 0; - } - if ((var_r29 <= 0) || (arg0->unk_84[var_r29] != arg0->unk_84[var_r29 - 1])) { - for (var_r30 = 0, var_r28 = 0; var_r30 < var_r29; var_r30++) { - if (arg0->unk_84[var_r29] == arg0->unk_84[var_r30]) { - var_r28++; - } - } - if (var_r28 < 2) { - var_r29++; - } - } - } - break; - case 1: - case 2: - case 3: - for (var_r30 = 0; var_r30 < 0xA; var_r30++) { - arg0->unk_84[1] = arg0->unk_84[0]; - arg0->unk_84[0] = fn_1_8944() % 7; - if (arg0->unk_84[0] == 6) { - arg0->unk_84[0] = 0; - } - if (arg0->unk_84[0] != arg0->unk_84[1]) { - break; - } - } - break; - default: - break; - } -} - -static const s32 lbl_1_rodata_2F8[4] = { 6, 1, 1, 1 }; - -void fn_1_326C(M420DllPlayerStruct *arg0) -{ - Vec sp14; - Vec sp8; - - s32 var_r30; - s16 var_r29; - s32 var_r28; - s32 var_r26; - - sp14 = arg0->unk_10; - sp14.y += 300.0f; - Hu3D3Dto2D(&sp14, 1, &sp8); - - var_r26 = arg0->unk_4C == 0 ? -6 : 0; - espPosSet(arg0->unk_D8, sp8.x + var_r26, 6.0f + sp8.y); - espDispOn(arg0->unk_D8); - var_r28 = lbl_1_rodata_2F8[arg0->unk_4C]; - sp8.x -= (var_r28 / 2) * 0x1E; - for (var_r30 = 0; var_r30 < var_r28; var_r30++) { - var_r29 = arg0->unk_C4[var_r30]; - if (arg0->unk_5C[var_r30] != 0) { - espBankSet(var_r29, arg0->unk_84[var_r30] + 7); - } - else { - espBankSet(var_r29, arg0->unk_84[var_r30]); - } - espPosSet(var_r29, sp8.x + var_r30 * 0x20, sp8.y); - espDispOn(var_r29); - } -} - -void fn_1_3450(M420DllPlayerStruct *arg0) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0xA; var_r31++) { - espDispOff(arg0->unk_C4[var_r31]); - } - espDispOff(arg0->unk_D8); -} - -static const s32 lbl_1_rodata_30C[7] = { 0x100, 0x200, 0x40, 0x20, 0x800, 0x400, 0x10 }; - -s32 fn_1_34AC(M420DllPlayerStruct *arg0) -{ - s32 var_r31; - u16 var_r30; - u16 var_r29; - - var_r31 = 0; - var_r30 = HuPadBtnDown[arg0->unk_0C] & 0xF60; - var_r29 = lbl_1_rodata_30C[arg0->unk_84[arg0->unk_50]]; - if (var_r30 != 0) { - var_r31 = 2; - } - if (((var_r30 & var_r29) != 0) && ((var_r30 & ~var_r29) == 0)) { - var_r31 = 1; - } - return var_r31; -} - -void fn_1_355C(M420DllPlayerStruct *arg0) -{ - float var_f31; - - arg0 = HuPrcCurrentGet()->user_data; - Hu3DModelPosSet(arg0->unk_AC, arg0->unk_10.x, arg0->unk_10.y, arg0->unk_10.z); - if (arg0->unk_00_field2) { - switch (arg0->unk_E4) { - case 0: - var_f31 = arg0->unk_DC; - break; - case 1: - var_f31 = sind((90.0f * arg0->unk_DC)); - var_f31 *= var_f31; - break; - } - arg0->unk_1C.x = arg0->unk_28.x + (var_f31 * (arg0->unk_34.x - arg0->unk_28.x)); - arg0->unk_1C.y = arg0->unk_28.y + (var_f31 * (arg0->unk_34.y - arg0->unk_28.y)); - arg0->unk_1C.z = arg0->unk_28.z + (var_f31 * (arg0->unk_34.z - arg0->unk_28.z)); - if ((arg0->unk_DC += arg0->unk_E0) >= 1.0f) { - arg0->unk_1C = arg0->unk_34; - arg0->unk_00_field2 = 0; - } - } - Hu3DModelRotSet(arg0->unk_AC, arg0->unk_1C.x, arg0->unk_1C.y, arg0->unk_1C.z); -} - -void fn_1_36E4(M420DllPlayerStruct *arg0) -{ - Hu3DModelHookSet(arg0->unk_AC, "test11_tex_we-itemhook-r", fn_1_6660()); - arg0->unk_00_field1 = 1; - fn_1_1E64(arg0, 1, 0x14); -} - -void fn_1_374C(M420DllPlayerStruct *arg0) -{ - Hu3DModelHookReset(arg0->unk_AC); - arg0->unk_00_field1 = 0; -} - -void fn_1_378C(M420DllPlayerStruct *arg0) -{ - Mtx sp20; - Vec sp14; - Vec sp8; - - if (arg0->unk_00_field1) { - Hu3DModelObjMtxGet(arg0->unk_AC, "test11_tex_we-itemhook-r", sp20); - Hu3DModelHookObjReset(arg0->unk_AC, "test11_tex_we-itemhook-r"); - Hu3DMtxTransGet(sp20, &sp14); - Hu3DMtxRotGet(sp20, &sp8); - Hu3DModelPosSetV(fn_1_6660(), &sp14); - Hu3DModelRotSetV(fn_1_6660(), &sp8); - } - HuPrcChildCreate(fn_1_3854, 0x64, 0x2000, 0, lbl_1_bss_4); - arg0->unk_00_field1 = 0; -} - -char lbl_1_data_135[1] = { 0 }; - -void fn_1_3854(void) -{ - Mtx sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - - float var_f31; - s16 var_r31; - - var_r31 = fn_1_6660(); - Hu3DModelObjMtxGet(var_r31, lbl_1_data_135, sp2C); - Hu3DMtxRotGet(sp2C, &sp8); - Hu3DMtxTransGet(sp2C, &sp20); - var_f31 = 0.0f; - - while (var_f31 < 1.0f) { - sp14.x = cosd((90.0f * var_f31)); - sp14.y = sp14.z = sp14.x; - Hu3DModelScaleSet(var_r31, sp14.x, sp14.y, sp14.z); - var_f31 += 0.05f; - HuPrcVSleep(); - } - fn_1_6728(); - sp14.x = sp14.y = sp14.z = 1.0f; - Hu3DModelScaleSet(var_r31, sp14.x, sp14.y, sp14.z); - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_3970(M420DllPlayerStruct *arg0) -{ - Vec sp38; - - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - - if (arg0->unk_00_field1) { - fn_1_378C(arg0); - } - else if (arg0->unk_4C == 1) { - fn_1_378C(arg0); - } - fn_1_3450(arg0); - if (arg0->unk_4C == 0) { - Hu3DModelAttrReset(arg0->unk_AC, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(arg0->unk_AC, HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(arg0->unk_AC, HU3D_MOTATTR_REV); - fn_1_63EC(); - CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[6], 0.0f, 32.0f, 0); - Hu3DMotionShiftStartEndSet(arg0->unk_AC, 0.0f, 59.0f); - sp38 = arg0->unk_1C; - sp38.y = 0.0f; - fn_1_21C8(arg0, &sp38, 60, 1); - } - for (var_r27 = 0; var_r27 < 0x3C; var_r27++) { - fn_1_355C(arg0); - var_r25 = arg0->unk_48; - HuPrcVSleep(); - if (arg0->unk_48 != var_r25) { - return; - } - } - CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[0], 0.0f, 16.0f, 0); - for (var_r26 = 0; var_r26 < 0x3C; var_r26++) { - fn_1_355C(arg0); - var_r24 = arg0->unk_48; - HuPrcVSleep(); - if (arg0->unk_48 != var_r24) { - return; - } - } - arg0->unk_48 = 0; -} - -void fn_1_3F94(M420DllPlayerStruct *arg0) -{ - Vec sp8; - s32 var_r29; - s32 var_r28; - - if (arg0->unk_4C != 0) { - CharModelMotionSet(arg0->unk_0A, arg0->unk_AE[6]); - Hu3DMotionStartEndSet(arg0->unk_AC, 60.0f, 119.0f); - Hu3DMotionTimeSet(arg0->unk_AC, 60.0f); - sp8 = arg0->unk_1C; - sp8.y = lbl_1_rodata_258[arg0->unk_4C][1].y; - fn_1_21C8(arg0, &sp8, 60, 1); - while (arg0->unk_00_field2 != 0) { - for (var_r28 = 0; var_r28 < 1; var_r28++) { - fn_1_355C(arg0); - var_r29 = arg0->unk_48; - HuPrcVSleep(); - if (arg0->unk_48 != var_r29) { - return; - } - } - } - CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[0], 0.0f, 4.0f, 0); - } - arg0->unk_48 = 0; -} - -void fn_1_4294(M420DllPlayerStruct *arg0) -{ - Vec sp8; - s32 var_r29; - s32 var_r28; - - if (arg0->unk_4C != 0) { - CharModelMotionSet(arg0->unk_0A, arg0->unk_AE[6]); - Hu3DMotionStartEndSet(arg0->unk_AC, 0.0f, 59.0f); - sp8 = arg0->unk_1C; - sp8.y = 0.0f; - fn_1_21C8(arg0, &sp8, 60, 1); - while (arg0->unk_00_field2 != 0) { - for (var_r28 = 0; var_r28 < 1; var_r28++) { - fn_1_355C(arg0); - var_r29 = arg0->unk_48; - HuPrcVSleep(); - if (arg0->unk_48 != var_r29) { - return; - } - } - } - CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[0], 0.0f, 8.0f, 0); - } - arg0->unk_48 = 0; -} - -void fn_1_4574(M420DllPlayerStruct *arg0) -{ - float var_f31; - M420DllPlayerStruct *var_r31; - s32 var_r29; - s32 var_r28; - - CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[1], 0.0f, 4.0f, 0); - fn_1_2260(arg0); -} - -void fn_1_476C(M420DllPlayerStruct *arg0) -{ - float var_f31; - M420DllPlayerStruct *var_r31; - s32 var_r29; - s32 var_r28; - - CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[2], 0.0f, 4.0f, 0); - fn_1_2260(arg0); -} diff --git a/src/REL/m420dll/rand.c b/src/REL/m420dll/rand.c deleted file mode 100644 index 883af017..00000000 --- a/src/REL/m420dll/rand.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "dolphin/types.h" - -u32 lbl_1_bss_A48; - -void fn_1_8934 (u32 seed) { - lbl_1_bss_A48 = seed; -} - -s32 fn_1_8944(void) { - return (lbl_1_bss_A48 = (lbl_1_bss_A48 * 0x41C64E6D) + 0x3039) / 65536 & 0x7FFF; -} \ No newline at end of file diff --git a/src/REL/m421Dll/main.c b/src/REL/m421Dll/main.c deleted file mode 100644 index 8ab50b74..00000000 --- a/src/REL/m421Dll/main.c +++ /dev/null @@ -1,904 +0,0 @@ -#include "ext_math.h" -#include "game/audio.h" -#include "game/gamework.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/wipe.h" -#include "string.h" - -#include "REL/m421Dll.h" - -#ifndef __MWERKS__ -#include "game/frand.h" -#endif - -typedef struct M421DllWork { - u32 unk_00; - s32 unk_04; - s32 unk_08; - u32 unk_0C; - s32 unk_10; - u32 unk_14; - u32 unk_18; - u32 unk_1C; - u32 unk_20; - u32 unk24; - u32 unk_28; - u32 unk_2C; - s32 unk_30[4]; - s32 unk_40[4]; - s32 unk_50[4]; - u32 unk_60; - u32 unk_64; - u32 unk_68; - u32 unk_6C; - s32 unk_70; -} M421DllWork; /* size = 0x74 */ - -void fn_1_10EC(omObjData *object); -void fn_1_142C(omObjData *object); -void fn_1_1850(omObjData *object); -void fn_1_1C90(omObjData *object); -omObjFunc fn_1_213C(Process *process, omObjData *object); -void fn_1_21AC(omObjData *object); -omObjFunc fn_1_2A28(Process *process, omObjData *object); -void fn_1_2BB8(omObjData *object); -void fn_1_3020(Process *process); -void fn_1_30D0(omObjData *object); -void fn_1_3334(omObjData *object); -void fn_1_335C(omObjData *object); -void fn_1_38FC(ModelData *model, Mtx mtx); -void fn_1_3B50(u32 arg0); -M421DllCameraStruct *fn_1_3B78(s32 arg0); -M421DllCameraStruct *fn_1_3CB0(u32 arg0); -float fn_1_4478(float arg8, float arg9, float argA); -void fn_1_4A0(omObjData *object); -void fn_1_784(omObjData *object); -void fn_1_8B8(omObjData *object); -void fn_1_CBC(omObjData *object); - -Vec lbl_1_data_0 = { 100.0f, 800.0f, -100.0f }; -Vec lbl_1_data_C = { 0.3f, -0.8f, 0.3f }; -Vec lbl_1_data_18 = { 10.0f, 45.0f, 3500.0f }; -GXColor lbl_1_data_24 = { 0xFF, 0xFF, 0xFF, 0xFF }; -Vec lbl_1_data_28 = { 50.0f, 150000.0f, 50.0f }; -Vec lbl_1_data_34 = { 0.0f, 1.0f, 0.0f }; -Vec lbl_1_data_40 = { 0.0f, 0.0f, 0.0f }; -Vec lbl_1_data_4C[3] = { - { 0.0f, 200.0f, -50.0f }, - { 0.0f, 200.0f, -50.0f }, - { 0.0f, 200.0f, -50.0f }, -}; -Vec lbl_1_data_70[3] = { - { -37.5f, 0.0f, 1500.0f }, - { -37.5f, 0.0f, 1500.0f }, - { -37.5f, 0.0f, 2300.0f }, -}; -s32 lbl_1_data_94[3] = { 0xF0, 0x1E, 0 }; -GXColor lbl_1_data_A0 = { 0, 0, 0, 0 }; - -Process *lbl_1_bss_28; -omObjData *lbl_1_bss_24; -omObjData *lbl_1_bss_20; -// M421DllCameraStruct -omObjData *lbl_1_bss_1C; -s16 lbl_1_bss_18; -s16 lbl_1_bss_12[3]; -s16 lbl_1_bss_10; -s16 lbl_1_bss_E; -s16 lbl_1_bss_C; -s32 lbl_1_bss_8; -s32 lbl_1_bss_4; -s32 lbl_1_bss_0; - -void ObjectSetup(void) -{ - Mtx sp2C; - Vec sp20 = { 0.0f, 0.0f, 0.0f }; - Vec sp14 = { 0.0f, 0.0f, -1.0f }; - Vec sp8; - Process *process; - LightData *lightData; - - lbl_1_bss_8 = 0; - HuAudSndGrpSet(0x2E); - HuAudFXListnerSetEX(&sp20, &sp14, 11200.0f, 4166.6665f, 0.0f, 300.0f, 0.0f); - lbl_1_bss_4 = lbl_1_bss_0 = -1; - lbl_1_bss_18 = -1; - lbl_1_data_28.x = 200.0f; - lbl_1_data_28.y = 1200.0f; - lbl_1_data_28.z = 160.0f; - lbl_1_data_34.x = 0.0f; - lbl_1_data_34.y = 1.0f; - lbl_1_data_34.z = 0.0f; - lbl_1_data_40.x = 0.0f; - lbl_1_data_40.y = 0.0f; - lbl_1_data_40.z = 0.0f; - Hu3DShadowCreate(22.0f, 20.0f, 25000.0f); - Hu3DShadowTPLvlSet(0.625f); - Hu3DShadowPosSet(&lbl_1_data_28, &lbl_1_data_34, &lbl_1_data_40); - lbl_1_bss_12[0] = Hu3DGLightCreateV(&lbl_1_data_0, &lbl_1_data_C, &lbl_1_data_24); - Hu3DGLightInfinitytSet(lbl_1_bss_12[0]); - lightData = &Hu3DGlobalLight[lbl_1_bss_12[0]]; - lightData->unk_00 |= 0x8000; - lbl_1_data_18.x = 1.0f; - lbl_1_data_18.y = 0.0f; - lbl_1_data_18.z = 4200.0f; - sp8.x = sp8.z = 0.0f; - sp8.y = lbl_1_data_18.z; - mtxRot(sp2C, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f); - MTXMultVec(sp2C, &sp8, &lbl_1_data_28); - Hu3DGLightPosAimSetV(lbl_1_bss_12[0], &lbl_1_data_28, &lbl_1_data_40); - Hu3DShadowPosSet(&lbl_1_data_28, &lbl_1_data_34, &lbl_1_data_40); - lbl_1_bss_10 = lbl_1_bss_E = lbl_1_bss_C = -1; - process = omInitObjMan(0x32, 0x2000); - lbl_1_bss_28 = process; - omGameSysInit(process); - fn_1_3020(process); - lbl_1_bss_24 = omAddObjEx(process, 0xA, 0, 0, -1, fn_1_4A0); - fn_1_B15C(process); - fn_1_4648(process); -} - -void fn_1_4A0(omObjData *object) -{ - M421DllWork *work; - - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M421DllWork), MEMORY_DEFAULT_NUM); - work = object->data; - memset(work, 0, sizeof(M421DllWork)); - work->unk_00 = 0; - work->unk_04 = 0; - work->unk_0C = 0; - work->unk_10 = 0; - work->unk_14 = 0; - work->unk_18 = 0; - work->unk_28 = 0; - work->unk_2C = 0; - work->unk_08 = 0; - work->unk_64 = 2; - work->unk_50[0] = work->unk_50[1] = work->unk_50[2] = work->unk_50[3] = -1; - work->unk_68 = 0; - work->unk_70 = 0; - object->func = fn_1_8B8; -} - -void fn_1_578(omObjData *object) -{ - Vec sp14; - Vec sp8; - M421DllCameraStruct *var_r31; - - M421DllWork *work = object->data; - work->unk_04++; - work->unk_10++; - work->unk_18++; - work->unk_2C++; - if ((omSysExitReq != 0) && (work->unk_00 != 5)) { - work->unk_00 = 4; - fn_1_784(object); - } - var_r31 = fn_1_3B78(1); - sp8.x = -(sind(var_r31->unk_28.y) * cosd(var_r31->unk_28.x)); - sp8.y = -(-sind(var_r31->unk_28.x)); - sp8.z = -(cosd(var_r31->unk_28.y) * cosd(var_r31->unk_28.x)); - sp14.x = var_r31->unk_1C.x - (sp8.x * var_r31->unk_34); - sp14.y = var_r31->unk_1C.y - (sp8.y * var_r31->unk_34); - sp14.z = var_r31->unk_1C.z - (sp8.z * var_r31->unk_34); - HuAudFXListnerUpdate(&sp14, &sp8); -} - -void fn_1_784(omObjData *object) -{ - M421DllWork *work = object->data; - - if (work->unk_08 == 0) { - switch (work->unk_00) { - case 0: - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 0x3C); - work->unk_00 = 1; - work->unk_10 = 0; - object->func = fn_1_213C(lbl_1_bss_28, object); - break; - case 1: - work->unk_00 = 2; - work->unk_18 = 0; - object->func = fn_1_142C; - break; - case 2: - work->unk_00 = 3; - work->unk_2C = 0; - object->func = fn_1_2A28(lbl_1_bss_28, object); - break; - case 3: - case 4: - work->unk_08 = 1; - work->unk_00 = 5; - object->func = fn_1_CBC; - break; - case 5: - default: - work->unk_00 = 5; - object->func = fn_1_10EC; - } - work->unk_04 = 0; - } -} - -void fn_1_8B8(omObjData *object) -{ - fn_1_578(object); - fn_1_784(object); -} - -void fn_1_CBC(omObjData *object) -{ - M421DllWork *work = object->data; - fn_1_578(object); - if (WipeStatGet() == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x3C); - work->unk_08 = 0; - fn_1_784(object); - } -} - -void fn_1_10EC(omObjData *object) -{ - fn_1_578(object); - if (WipeStatGet() == 0) { - fn_1_48B0(); - fn_1_B1BC(); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - } -} - -void fn_1_142C(omObjData *object) -{ - M421DllWork *work = object->data; - fn_1_578(object); - switch (work->unk_14) { - case 0: - work->unk_1C = 0x2D; - work->unk_20 = 0x3C; - lbl_1_bss_10 = MGSeqCreate(3, 0); - MGSeqPosSet(lbl_1_bss_10, 320.0f, 240.0f); - lbl_1_bss_18 = -1; - work->unk_14 = 1; - work->unk_18 = 0; - break; - case 1: - if ((lbl_1_bss_4 < 0) && ((MGSeqStatGet(lbl_1_bss_10) & 0x10) != 0)) { - lbl_1_bss_4 = HuAudSeqPlay(0x48); - } - if (MGSeqStatGet(lbl_1_bss_10) == 0 && (work->unk_08 == 0)) { - work->unk_14 = 2; - work->unk_18 = 0; - object->func = fn_1_1850; - } - break; - } -} - -void fn_1_1850(omObjData *object) -{ - M421DllWork *work = object->data; - s32 var_r26 = 0; - fn_1_578(object); - if (--work->unk_20 == 0) { - work->unk_20 = 0x3C; - work->unk_1C--; - if ((work->unk_1C == 0) && (work->unk_64 == 2)) { - work->unk_64 = 1; - var_r26 = 1; - } - } - if (lbl_1_bss_18 < 0) { - lbl_1_bss_18 = MGSeqCreate(1, work->unk_1C, -1, -1); - } - MGSeqParamSet(lbl_1_bss_18, 1, work->unk_1C); - if (work->unk_64 != 2) { - var_r26 = 1; - } - if (var_r26 != 0) { - lbl_1_bss_E = MGSeqCreate(3, 1); - MGSeqPosSet(lbl_1_bss_E, 320.0f, 240.0f); - HuAudSeqFadeOut(lbl_1_bss_4, 0x64); - work->unk_14 = 3; - work->unk_18 = 0; - if (work->unk_08 == 0) { - object->func = fn_1_1C90; - } - } -} - -void fn_1_1C90(omObjData *object) -{ - M421DllWork *work = object->data; - s32 var_r25 = 0; - if (lbl_1_bss_18 >= 0) { - MGSeqParamSet(lbl_1_bss_18, 2, -1); - lbl_1_bss_18 = -1; - } - fn_1_578(object); - if (work->unk_14 == 3) { - var_r25 = 1; - if ((MGSeqStatGet(lbl_1_bss_E) == 0) && (work->unk_68 == 0x1111) && (var_r25 != 0)) { - work->unk_14 = 4; - work->unk_18 = 0; - } - } - else { - work->unk_14 = 5; - work->unk_18 = 0; - fn_1_784(object); - } -} - -omObjFunc fn_1_213C(Process *process, omObjData *object) -{ - M421DllCameraStruct *var_r31; - - object->work[0] = object->work[1] = 0; - fn_1_3B50(1); - var_r31 = fn_1_3CB0(0); - var_r31->unk_84 = 1.0f; - var_r31->unk_94 = 0; - return fn_1_21AC; -} - -void fn_1_21AC(omObjData *object) -{ - Vec sp20; - float var_f31; - M421DllCameraStruct *var_r30; - M421DllWork *work; - - work = object->data; - fn_1_578(object); - work->unk_0C = 1; - object->work[0]++; - var_f31 = (float)object->work[0] / lbl_1_data_94[object->work[1]]; - VECSubtract(&lbl_1_data_4C[object->work[1] + 1], &lbl_1_data_4C[object->work[1]], &sp20); - VECScale(&sp20, &sp20, var_f31); - VECAdd(&lbl_1_data_4C[object->work[1]], &sp20, &sp20); - Center.x = sp20.x; - Center.y = sp20.y; - Center.z = sp20.z; - VECSubtract(&lbl_1_data_70[object->work[1] + 1], &lbl_1_data_70[object->work[1]], &sp20); - VECScale(&sp20, &sp20, var_f31); - VECAdd(&lbl_1_data_70[object->work[1]], &sp20, &sp20); - CRot.x = sp20.x; - CRot.y = sp20.y; - CRot.z = 0.0f; - CZoom = sp20.z; - var_r30 = fn_1_3CB0(0); - var_r30->unk_1C = Center; - var_r30->unk_28 = CRot; - var_r30->unk_34 = CZoom; - var_r30->unk_94++; - if (var_r30->unk_94 > 180.0f) { - var_r30->unk_84 -= 0.025000002f; - if (var_r30->unk_84 < 0.0f) { - var_r30->unk_84 = 0.0f; - } - var_r30->unk_1C.x += var_r30->unk_84 * ((0.02f * frandmod(0x3E8)) - 10.0f); - var_r30->unk_1C.y += var_r30->unk_84 * ((0.02f * frandmod(0x3E8)) - 10.0f); - var_r30->unk_1C.z += var_r30->unk_84 * ((0.02f * frandmod(0x3E8)) - 10.0f); - } - if (var_f31 >= 1.0f) { - object->work[0] = 0; - object->work[1]++; - if (lbl_1_data_94[object->work[1]] == 0) { - work->unk_0C = 2; - fn_1_784(object); - } - } -} - -omObjFunc fn_1_2A28(Process *process, omObjData *object) -{ - M421DllCameraStruct *var_r31; - s32 var_r30; - M421DllWork *var_r29; - s32 var_r28; - - var_r29 = object->data; - var_r28 = 1; - var_r31 = fn_1_3CB0(0); - if (var_r29->unk_64 == 1) { - var_r28 = 0; - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - var_r29->unk_50[var_r30] = -1; - if ((var_r29->unk_40[var_r30] == 0) == var_r28) { - var_r29->unk_50[var_r30] = var_r29->unk_30[var_r30]; - } - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if (var_r29->unk_50[var_r30] >= 0) { - GWPlayerCoinWinAdd(var_r30, 10); - } - } - var_r31->unk_54 = 0.0f; - var_r31->unk_58 = 150.0f; - var_r31->unk_5C = 0.0f; - var_r31->unk_60 = -30.0f; - var_r31->unk_64 = 0.0f; - var_r31->unk_68 = 1000.0f; - var_r31->unk_84 = 0.0f; - return fn_1_2BB8; -} - -void fn_1_2BB8(omObjData *var_r29) -{ - M421DllCameraStruct *var_r31; - M421DllWork *var_r28; - - var_r28 = var_r29->data; - var_r31 = fn_1_3CB0(0); - fn_1_578(var_r29); - var_r31->unk_84 += 0.0016666668f; - if (var_r31->unk_84 > 0.1f) { - var_r31->unk_84 = 0.1f; - } - var_r31->unk_1C.y += var_r31->unk_84 * (var_r31->unk_58 - var_r31->unk_1C.y); - var_r31->unk_1C.z += var_r31->unk_84 * (var_r31->unk_5C - var_r31->unk_1C.z); - var_r31->unk_28.x = fn_1_4478(var_r31->unk_28.x, var_r31->unk_60, var_r31->unk_84); - var_r31->unk_34 += var_r31->unk_84 * (var_r31->unk_68 - var_r31->unk_34); - if (var_r28->unk_6C == 0x1111) { - var_r28->unk_28 = 1; - if (lbl_1_bss_0 < 0) { - lbl_1_bss_0 = HuAudSStreamPlay(1); - } - if (lbl_1_bss_C < 0) { - lbl_1_bss_C = MGSeqCreate(5, 3, var_r28->unk_50[0], var_r28->unk_50[1], var_r28->unk_50[2], var_r28->unk_50[3]); - return; - } - if ((MGSeqStatGet(lbl_1_bss_C) == 0) && (var_r28->unk_2C >= 210.0f)) { - var_r28->unk_28 = 2; - fn_1_784(var_r29); - } - } -} - -void fn_1_3020(Process *process) -{ - Hu3DCameraCreate(0x1F); - lbl_1_bss_20 = omAddObjEx(process, 0x7FDA, 0, 0, -1, omOutViewMulti); - lbl_1_bss_20->work[0] = 5; - lbl_1_bss_1C = omAddObjEx(process, 0xC, 1, 0, -1, fn_1_30D0); - lbl_1_bss_1C->work[0] = 0; -} - -void fn_1_30D0(omObjData *object) -{ - UnkM421DllStruct sp1C[5] = { - { 320.0f, 240.0f, 640.0f, 480.0f }, - { 160.0f, 120.0f, 320.0f, 240.0f }, - { 160.0f, 360.0f, 320.0f, 240.0f }, - { 480.0f, 120.0f, 320.0f, 240.0f }, - { 480.0f, 360.0f, 320.0f, 240.0f }, - }; - s32 sp8[5] = { 1, 2, 4, 8, 16 }; - M421DllCameraStruct *var_r31; - s32 var_r29; - M421DllCameraStruct *var_r28; - - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, 10 * sizeof(M421DllCameraStruct), MEMORY_DEFAULT_NUM); - var_r28 = object->data; - memset(var_r28, 0, 10 * sizeof(M421DllCameraStruct)); - object->model[0] = Hu3DHookFuncCreate(fn_1_38FC); - Hu3DModelLayerSet(object->model[0], 0); - Hu3DModelCameraSet(object->model[0], 0x1E); - for (var_r31 = var_r28, var_r29 = 0; var_r29 < 5; var_r29++, var_r31++) { - var_r31->unk_00 = 1; - var_r31->unk_04 = var_r29 * 0x64; - var_r31->unk_10 = 41.5f; - var_r31->unk_14 = 100.0f; - var_r31->unk_18 = 5500.0f; - var_r31->unk_1C.x = 0.0f; - var_r31->unk_1C.y = 0.0f; - var_r31->unk_1C.z = 0.0f; - var_r31->unk_28.x = -15.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_34 = 1000.0f; - var_r31->unk_40 = 1.0f; - var_r31->unk_44.unk_00 = sp1C[var_r29].unk_00; - var_r31->unk_44.unk_04 = sp1C[var_r29].unk_04; - var_r31->unk_44.unk_08 = sp1C[var_r29].unk_08; - var_r31->unk_44.unk_0C = sp1C[var_r29].unk_0C; - var_r31->unk_3C = var_r31->unk_0C = sp8[var_r29]; - var_r31->unk_08 = var_r29; - var_r31->unk_38 = var_r29; - } - object->work[1] = 0; - object->work[0]++; - fn_1_335C(object); - object->func = fn_1_3334; -} - -void fn_1_3334(omObjData *object) -{ - fn_1_335C(object); -} - -void fn_1_335C(omObjData *object) -{ - float var_f31; - M421DllCameraStruct *var_r31; - s32 var_r30; - s32 var_r29; - M421DllCameraStruct *var_r27; - u32 var_r26; - u32 var_r25; - s32 var_r24; - u32 var_r23; - u32 var_r22; - u32 var_r21; - - var_r27 = object->data; - { - s32 sp40[4] = { 2, 4, 8, 16 }; - u32 sp30[4]; - s32 sp20[4]; - float sp10[4]; - float sp8[2]; - var_r24 = 0; - var_r26 = 0; - memcpy(&var_r27[5], var_r27, 5 * sizeof(M421DllCameraStruct)); - switch (object->work[1]) { - case 0: - break; - case 1: - var_r26 |= 1; - break; - case 2: - var_r26 |= 1; - case 3: - var_r24 = 1; - case 4: - var_r26 |= 0x1E; - break; - } - if (var_r24 != 0) { - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - sp30[var_r30] = var_r27[var_r30 + 6].unk_04; - sp20[var_r30] = var_r30; - } - for (var_r30 = 0; var_r30 < 3; var_r30++) { - for (var_r29 = var_r30 + 1; var_r29 < 4; var_r29++) { - if ((var_r30 != var_r29) && (sp30[var_r30] > sp30[var_r29])) { - var_r25 = sp30[var_r30]; - sp30[var_r30] = sp30[var_r29]; - sp30[var_r29] = var_r25; - var_r25 = sp20[var_r30]; - sp20[var_r30] = sp20[var_r29]; - sp20[var_r29] = var_r25; - } - } - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - var_r27[sp20[var_r30] + 6].unk_3C = sp40[var_r30]; - var_r27[sp20[var_r30] + 6].unk_38 = var_r30 + 1; - } - - for (var_r31 = &var_r27[5], var_r30 = 0; var_r30 < 5; var_r30++, var_r31++) { - if ((var_r31->unk_00 == 0) || ((var_r26 & var_r31->unk_0C) == 0)) { - Hu3DCamera[var_r31->unk_38].fov = -1.0f; - } - else { - var_f31 = 1.2f * ((var_r31->unk_44.unk_08 / 640.0f) / (var_r31->unk_44.unk_0C / 480.0f)); - sp10[2] = var_r31->unk_44.unk_08 * var_r31->unk_40; - sp10[3] = var_r31->unk_44.unk_0C * var_r31->unk_40; - Hu3DCameraPerspectiveSet(var_r31->unk_3C, var_r31->unk_10, var_r31->unk_14, var_r31->unk_18, var_f31); - Hu3DCameraViewportSet(var_r31->unk_3C, var_r31->unk_44.unk_00 - (0.5f * sp10[2]), var_r31->unk_44.unk_04 - (0.5f * sp10[3]), sp10[2], - sp10[3], 0.0f, 1.0f); - sp10[0] = var_r31->unk_44.unk_00 - (0.5f * sp10[2]); - sp10[1] = var_r31->unk_44.unk_04 - (0.5f * sp10[3]); - sp8[0] = var_r31->unk_44.unk_00 + (0.5f * sp10[2]); - sp8[1] = var_r31->unk_44.unk_04 + (0.5f * sp10[3]); - if (sp10[0] < 0.0f) { - sp10[0] = 0.0f; - } - if (sp10[1] < 0.0f) { - sp10[1] = 0.0f; - } - if (sp8[0] > 640.0f) { - sp8[0] = 640.0f; - } - if (sp8[1] > 480.0f) { - sp8[1] = 480.0f; - } - sp8[0] -= sp10[0]; - sp8[1] -= sp10[1]; - var_r21 = sp8[1]; - var_r22 = sp8[0]; - var_r23 = sp10[1]; - Hu3DCameraScissorSet(var_r31->unk_3C, sp10[0], var_r23, var_r22, var_r21); - var_r29 = var_r31->unk_38; - CenterM[var_r29].x = var_r31->unk_1C.x; - CenterM[var_r29].y = var_r31->unk_1C.y; - CenterM[var_r29].z = var_r31->unk_1C.z; - CRotM[var_r29].x = var_r31->unk_28.x; - CRotM[var_r29].y = var_r31->unk_28.y; - CRotM[var_r29].z = var_r31->unk_28.z; - CZoomM[var_r29] = var_r31->unk_34; - } - } - } -} - -void fn_1_38FC(ModelData *model, Mtx mtx) -{ - Mtx spC; - float var_f31; - float var_f30; - float var_f29; - - MTXIdentity(spC); - GXLoadPosMtxImm(spC, 0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - GXSetNumTexGens(0); - GXSetNumTevStages(1); - GXSetTevColor(GX_TEVREG0, lbl_1_data_A0); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetBlendMode(GX_BM_NONE, GX_BL_ONE, GX_BL_ZERO, GX_LO_SET); - GXSetZMode(GX_TRUE, GX_ALWAYS, GX_TRUE); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - var_f31 = 4125.0f; - var_f30 = 2750.0f; - var_f29 = 5494.5f; - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(-var_f31, var_f30, -var_f29); - GXPosition3f32(var_f31, var_f30, -var_f29); - GXPosition3f32(var_f31, -var_f30, -var_f29); - GXPosition3f32(-var_f31, -var_f30, -var_f29); -} - -void fn_1_3B50(u32 arg0) -{ - lbl_1_bss_1C->work[1] = arg0; -} - -u32 fn_1_3B64(void) -{ - return lbl_1_bss_1C->work[1]; -} - -M421DllCameraStruct *fn_1_3B78(s32 arg0) -{ - M421DllCameraStruct *var_r31; - s32 var_r30; - M421DllCameraStruct *var_r29; - - var_r29 = lbl_1_bss_1C->data; - for (var_r31 = var_r29, var_r30 = 0; var_r30 < 5; var_r30++, var_r31++) { - if ((var_r31->unk_0C & arg0) != 0) { - break; - } - } - if (var_r30 >= 5) { - OSReport("M421:Camera Flag Error!!\n"); - return NULL; - } - return var_r31; -} - -M421DllCameraStruct *fn_1_3C14(s32 arg0) -{ - M421DllCameraStruct *var_r31; - s32 var_r30; - M421DllCameraStruct *var_r29; - - var_r29 = lbl_1_bss_1C->data; - for (var_r31 = &var_r29[5], var_r30 = 0; var_r30 < 5; var_r30++, var_r31++) { - if ((var_r31->unk_0C & arg0) != 0) { - break; - } - } - if (var_r30 >= 5) { - OSReport("M421:Camera Flag Error!!\n"); - return NULL; - } - return var_r31; -} - -M421DllCameraStruct *fn_1_3CB0(u32 arg0) -{ - M421DllCameraStruct *var_r31 = lbl_1_bss_1C->data; - if (arg0 >= 5) { - OSReport("M421:Camera No. Error!!\n"); - return NULL; - } - return &var_r31[arg0]; -} - -M421DllCameraStruct *fn_1_3D18(u32 arg0) -{ - M421DllCameraStruct *var_r31 = lbl_1_bss_1C->data; - if (arg0 >= 5) { - OSReport("M421:Camera No. Error!!\n"); - return NULL; - } - return &var_r31[arg0 + 5]; -} - -void fn_1_3D84(s32 arg0, s32 arg1) -{ - M421DllCameraStruct *var_r31; - s32 var_r30; - s32 var_r29; - M421DllCameraStruct *var_r28; - M421DllCameraStruct *var_r27; - - var_r29 = 0; - if (arg0 >= 0) { - var_r27 = lbl_1_bss_1C->data; - var_r28 = &var_r27[5]; - for (var_r31 = var_r28, var_r30 = 0; var_r30 < 5; var_r30++, var_r31++) { - if ((var_r31->unk_0C & arg1) != 0) { - var_r29 |= var_r31->unk_3C; - } - } - Hu3DModelCameraSet(arg0, var_r29); - } -} - -s32 fn_1_3E1C(void) -{ - return ((M421DllWork *)lbl_1_bss_24->data)->unk_00; -} - -u32 fn_1_3E34(void) -{ - return ((M421DllWork *)lbl_1_bss_24->data)->unk_0C; -} - -u32 fn_1_3E4C(void) -{ - return ((M421DllWork *)lbl_1_bss_24->data)->unk_14; -} - -u32 fn_1_3E64(void) -{ - return ((M421DllWork *)lbl_1_bss_24->data)->unk_28; -} - -s32 fn_1_3E7C(s32 arg0) -{ - M421DllWork *work = lbl_1_bss_24->data; - - if (work->unk_64 != 2) { - return 0; - } - work->unk_60 |= (1 << ((arg0 & 3) * 4)); - if (((work->unk_60 & 0x1110) == 0x1110) && (work->unk_64 == 2)) { - work->unk_64 = 0; - } - return 1; -} - -s32 fn_1_3EF8(s32 arg0) -{ - M421DllWork *work = lbl_1_bss_24->data; - return work->unk_50[arg0]; -} - -void fn_1_3F28(s32 arg0, s32 arg1, s32 arg2) -{ - M421DllWork *work = lbl_1_bss_24->data; - arg0 &= 3; - work->unk_40[arg0] = arg1; - work->unk_30[arg0] = arg2; -} - -void fn_1_3F68(s32 arg0) -{ - ((M421DllWork *)lbl_1_bss_24->data)->unk_68 |= (1 << ((arg0 & 7) * 4)); -} - -void fn_1_3F98(s32 arg0) -{ - ((M421DllWork *)lbl_1_bss_24->data)->unk_6C |= (1 << ((arg0 & 3) * 4)); -} - -void fn_1_3FC8(s32 arg0) -{ - ((M421DllWork *)lbl_1_bss_24->data)->unk_70 |= (1 << ((arg0 & 3) * 4)); -} - -s32 fn_1_3FF8(void) -{ - return MGSeqStatGet(lbl_1_bss_E) == 0; -} - -void fn_1_4030(Vec *sp8, Vec *var_r31) -{ - Vec sp10; - float var_f30; - float var_f29; - - VECSubtract(var_r31, sp8, &sp10); - Center = *var_r31; - CRot.x = atan2d(sp10.y, sqrtf((sp10.x * sp10.x) + (sp10.z * sp10.z))); - CRot.y = atan2d(-sp10.x, -sp10.z); - CRot.z = 0.0f; - CZoom = VECMag(&sp10); -} - -void fn_1_4238(float arg8, float arg9, float argA, float argB, float argC, float argD) -{ - Vec sp3C; - Vec sp30; - Vec sp24; - - sp3C.x = arg8; - sp3C.y = arg9; - sp3C.z = argA; - sp30.x = argB; - sp30.y = argC; - sp30.z = argD; - VECSubtract(&sp30, &sp3C, &sp24); - Center = sp30; - CRot.x = atan2d(sp24.y, sqrtf((sp24.x * sp24.x) + (sp24.z * sp24.z))); - CRot.y = atan2d(-sp24.x, -sp24.z); - CRot.z = 0.0f; - CZoom = VECMag(&sp24); -} - -float fn_1_4478(float arg8, float arg9, float argA) -{ - float var_f31; - float var_f30; - float var_f29; - - var_f30 = fmod(arg9 - arg8, 360.0); - var_f31 = var_f30; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - var_f29 = fmod(arg8 + (argA * var_f31), 360.0); - var_f31 = var_f29; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - return var_f31; -} - -float fn_1_4594(float arg8, float arg9) -{ - float var_f31; - float var_f30; - - var_f30 = fmod(arg9 - arg8, 360.0); - var_f31 = var_f30; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - return var_f31; -} diff --git a/src/REL/m421Dll/map.c b/src/REL/m421Dll/map.c deleted file mode 100644 index 5bd4e611..00000000 --- a/src/REL/m421Dll/map.c +++ /dev/null @@ -1,54 +0,0 @@ -#include "game/hsfman.h" -#include "game/hsfmotion.h" - -#include "REL/m421Dll.h" - -void fn_1_B1C0(omObjData *object); -void fn_1_B398(omObjData *object); - -omObjData *lbl_1_bss_58; - -void fn_1_B15C(Process *work) -{ - omObjData *object = omAddObjEx(work, 0x1E, 6, 0, -1, fn_1_B1C0); - lbl_1_bss_58 = object; - object->work[0] = 0; -} - -void fn_1_B1BC(void) { } - -void fn_1_B1C0(omObjData *var_r31) -{ - omSetTra(var_r31, 0.0f, 0.0f, 0.0f); - var_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M421, 0x02)); - Hu3DModelLayerSet(var_r31->model[0], 1); - Hu3DModelShadowMapSet(var_r31->model[0]); - - var_r31->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M421, 0x00)); - Hu3DModelLayerSet(var_r31->model[1], 1); - - var_r31->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M421, 0x01)); - Hu3DModelLayerSet(var_r31->model[2], 5); - - var_r31->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M421, 0x05)); - Hu3DModelLayerSet(var_r31->model[3], 1); - Hu3DModelAttrSet(var_r31->model[3], HU3D_MOTATTR_LOOP); - - var_r31->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M421, 0x03)); - Hu3DModelLayerSet(var_r31->model[4], 5); - Hu3DModelAttrSet(var_r31->model[4], HU3D_MOTATTR_LOOP); - - var_r31->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M421, 0x04)); - Hu3DModelLayerSet(var_r31->model[5], 5); - Hu3DMotionTimeSet(var_r31->model[5], 0.0f); - var_r31->work[0] = 0; - var_r31->work[1] = 0; - var_r31->func = fn_1_B398; -} - -void fn_1_B398(omObjData *object) { } - -void fn_1_B39C(void) -{ - Hu3DMotionTimeSet(lbl_1_bss_58->model[5], 0.0f); -} diff --git a/src/REL/m421Dll/player.c b/src/REL/m421Dll/player.c deleted file mode 100644 index ce14a94c..00000000 --- a/src/REL/m421Dll/player.c +++ /dev/null @@ -1,1828 +0,0 @@ -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/gamework.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "string.h" - -#include "REL/m421Dll.h" - -#ifndef __MWERKS__ -#include "game/esprite.h" -#include "game/frand.h" -#endif - -typedef struct M421DllPlayerWork { - s32 unk_00; - s32 unk_04; - s32 unk_08; - u32 unk_0C; - u32 unk_10; - s32 unk_14; - float unk_18; - float unk_1C; - s32 unk_20; - s32 unk_24; - s32 unk_28; - s32 unk_2C; - char unk30[0x4]; - s32 unk_34; - s32 unk_38; - s32 unk_3C; - char unk40[4]; - u16 unk_44; - u32 unk_48; - char unk4C[0x4]; - s16 unk_50; - char unk52[6]; - float unk_58; - float unk_5C; - float unk_60; - float unk_64; - float unk_68; - s32 unk_6C; - u32 unk_70; - u32 unk_74; - s32 unk_78; - char unk7C[4]; - float unk_80; - float unk_84; - float unk_88; - float unk_8C; - float unk_90; - float unk_94; - float unk_98; - float unk_9C; - float unk_A0; - float unk_A4; - float unk_A8; - float unk_AC; - float unk_B0; - float unk_B4; - u32 unk_B8; - u32 unk_BC; - u32 unk_C0; - u32 unk_C4; - s32 unk_C8; - Vec unk_CC; - Vec unk_D8; - Vec unk_E4; - Vec unk_F0; - Vec unk_FC; - float unk_108[4]; - Mtx unk_118; - float *unk_148; -} M421DllPlayerWork; /* size = 0x14C */ - -typedef struct M421DllPlayerDLWork { - Vec unk_00[4]; - u32 unk_30[4]; - GXColor unk_40[4]; - Vec unk_50[4][0xE]; - u32 unk_2F0; - void *unk_2F4; -} M421DllPlayerDLWork; /* size = 0x2F8 */ - -typedef struct UnkData1BCStruct { - /* 0x00 */ u16 unk_00; - /* 0x04 */ float unk_04; - /* 0x08 */ float unk_08; - /* 0x0C */ float unk_0C; - /* 0x10 */ u32 unk_10; -} UnkData1BCStruct; /* size = 0x14 */ - -void fn_1_48D4(omObjData *object); -void fn_1_4F00(omObjData *object); -void fn_1_5060(omObjData *object); -void fn_1_53C8(omObjData *object); -void fn_1_578C(omObjData *object); -void fn_1_5B9C(omObjData *object); -void fn_1_6184(omObjData *object); -void fn_1_6400(omObjData *object); -void fn_1_66B4(omObjData *object); -void fn_1_676C(omObjData *object); -void fn_1_6D48(omObjData *object); -void fn_1_7478(omObjData *object); -void fn_1_7670(omObjData *object); -void fn_1_7AA0(omObjData *object); -void fn_1_80C0(omObjData *object); -void fn_1_893C(omObjData *object); -void fn_1_9474(omObjData *object, Vec *arg1, Vec *arg2); -void fn_1_956C(omObjData *object); -void fn_1_982C(omObjData *object, u32 arg1); -s32 fn_1_99B8(omObjData *object); -void fn_1_9BFC(float arg8, float arg9, float *arg0); -void fn_1_9C38(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_9DD0(omObjData *object, Vec *arg1); -void fn_1_A528(omObjData *object); -void fn_1_AB68(omObjData *object); -void fn_1_AB6C(ModelData *model, Mtx matrix); -void fn_1_ABDC(ModelData *model, Mtx matrix); - -char *lbl_1_data_E4[8] = { - "itemhook-r", - "itemhook-r", - "itemhook-r", - "itemhook-r", - "itemhook-r", - "itemhook-r", - "itemhook-r", - "itemhook-r", -}; - -s32 lbl_1_data_104[8][3] = { - { DATA_MAKE_NUM(DATADIR_M421, 0x06), DATA_MAKE_NUM(DATADIR_M421, 0x0E), DATA_MAKE_NUM(DATADIR_M421, 0x16) }, - { DATA_MAKE_NUM(DATADIR_M421, 0x07), DATA_MAKE_NUM(DATADIR_M421, 0x0F), DATA_MAKE_NUM(DATADIR_M421, 0x17) }, - { DATA_MAKE_NUM(DATADIR_M421, 0x08), DATA_MAKE_NUM(DATADIR_M421, 0x10), DATA_MAKE_NUM(DATADIR_M421, 0x18) }, - { DATA_MAKE_NUM(DATADIR_M421, 0x09), DATA_MAKE_NUM(DATADIR_M421, 0x11), DATA_MAKE_NUM(DATADIR_M421, 0x19) }, - { DATA_MAKE_NUM(DATADIR_M421, 0x0A), DATA_MAKE_NUM(DATADIR_M421, 0x12), DATA_MAKE_NUM(DATADIR_M421, 0x1A) }, - { DATA_MAKE_NUM(DATADIR_M421, 0x0B), DATA_MAKE_NUM(DATADIR_M421, 0x13), DATA_MAKE_NUM(DATADIR_M421, 0x1B) }, - { DATA_MAKE_NUM(DATADIR_M421, 0x0C), DATA_MAKE_NUM(DATADIR_M421, 0x14), DATA_MAKE_NUM(DATADIR_M421, 0x1C) }, - { DATA_MAKE_NUM(DATADIR_M421, 0x0D), DATA_MAKE_NUM(DATADIR_M421, 0x15), DATA_MAKE_NUM(DATADIR_M421, 0x1D) }, -}; -s32 lbl_1_data_164[8] = { - DATA_MAKE_NUM(DATADIR_M421, 0x1E), - DATA_MAKE_NUM(DATADIR_M421, 0x1F), - DATA_MAKE_NUM(DATADIR_M421, 0x20), - DATA_MAKE_NUM(DATADIR_M421, 0x21), - DATA_MAKE_NUM(DATADIR_M421, 0x22), - DATA_MAKE_NUM(DATADIR_M421, 0x23), - DATA_MAKE_NUM(DATADIR_M421, 0x24), - DATA_MAKE_NUM(DATADIR_M421, 0x25), -}; -float lbl_1_data_184[8] = { 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 0.8f }; -s32 lbl_1_data_1A4[6] = { 0, 2, 3, 0x14, 0x17, 0x18 }; -UnkData1BCStruct lbl_1_data_1BC[6] = { - { 0, 0.2f, 0.0f, -1.0f, 0x40000001 }, - { 1, 0.2f, 0.0f, -1.0f, 0x40000001 }, - { 2, 0.2f, 0.0f, -1.0f, 0x40000001 }, - { 3, 0.2f, 0.0f, -1.0f, 0 }, - { 4, 0.2f, 0.0f, -1.0f, 0 }, - { 5, 0.2f, 0.0f, -1.0f, 0 }, -}; -Vec lbl_1_data_234[4] = { - { 0.0f, 0.0f, 100.0f }, - { -200.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - { 200.0f, 0.0f, 0.0f }, -}; -Vec lbl_1_data_264[4] = { - { -80.0f, 0.0f, -300.0f }, - { -200.0f, 0.0f, -50.0f }, - { 0.0f, 0.0f, -150.0f }, - { 200.0f, 0.0f, -50.0f }, -}; -Vec2f lbl_1_data_294[3] = { { 300.0f, 0.4f }, { 450.0f, 0.7f }, { 600.0f, 1.0f } }; -u32 lbl_1_data_2AC[3] = { 6, 0xC, 0xC }; -float lbl_1_data_2B8[3] = { 8.000001f, 8.5f, 9.166667f }; -float lbl_1_data_2C4[3] = { 0.9f, 0.8f, 0.5f }; -float lbl_1_data_2D0[3] = { 19.800001f, 20.400002f, 20.400002f }; -float lbl_1_data_2DC[3] = { -70.0f, -60.000004f, -70.0f }; -float lbl_1_data_2E8[3] = { 192.00003f, 357.0f, 550.0f }; - -// M421DllPlayerWork -omObjData *lbl_1_bss_48[4]; -// M421DllPlayerDLWork -omObjData *lbl_1_bss_44; -u32 lbl_1_bss_34[4]; -u32 lbl_1_bss_30; - -void fn_1_4648(Process *process) -{ - u32 sp18[4]; - u32 sp8[4]; - s16 var_r31; - s16 var_r30; - u32 var_r29; - omObjData *var_r27; - - lbl_1_bss_30 = -1; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - sp18[var_r31] = GWPlayerCfg[var_r31].group; - sp8[var_r31] = var_r31; - } - for (var_r31 = 0; var_r31 < 3; var_r31++) { - for (var_r30 = var_r31 + 1; var_r30 < 4; var_r30++) { - if (sp18[var_r31] > sp18[var_r30]) { - var_r29 = sp18[var_r31]; - sp18[var_r31] = sp18[var_r30]; - sp18[var_r30] = var_r29; - var_r29 = sp8[var_r31]; - sp8[var_r31] = sp8[var_r30]; - sp8[var_r30] = var_r29; - } - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_34[sp8[var_r31]] = var_r31; - } - omMakeGroupEx(process, 0, 4); - omGetGroupMemberListEx(process, 0); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r27 = lbl_1_bss_48[var_r31] = omAddObjEx(process, 0x28, 5, 6, 0, fn_1_48D4); - var_r27->work[0] = var_r31; - } - lbl_1_bss_44 = omAddObjEx(process, 0x1E, 2, 0, -1, fn_1_A528); - lbl_1_bss_44->work[0] = 0; -} - -void fn_1_48B0(void) -{ - CharModelKill(-1); -} - -void fn_1_48D4(omObjData *object) -{ - s32 sp8; - - M421DllPlayerWork *work; - s32 var_r29; - HsfanimStruct01 *var_r28; - u32 var_r27; - s32 var_r26; - s32 var_r25; - u32 var_r24; - - float sp1C[4] = { 0.25f, 0.5f, 0.75f, 1.0f }; - float spC[2][2] = { { 100.0f, 143.0f }, { 100.0f, 100.0f } }; - Vec sp2C[4] = { 0.0f, 1500.0f, 300.0f, -450.0f, 0.0f, -50.0f, 0.0f, 0.0f, -350.0f, 450.0f, 0.0f, -50.0f }; - - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M421DllPlayerWork), MEMORY_DEFAULT_NUM); - work = object->data; - memset(work, 0, sizeof(M421DllPlayerWork)); - object->stat |= 0x100; - var_r24 = object->work[0]; - var_r26 = GWPlayerCfg[var_r24].character; - work->unk_00 = var_r26; - sp8 = work->unk_04 = 0; - work->unk_0C = lbl_1_bss_34[object->work[0]]; - var_r27 = 0; - if (work->unk_0C != 0) { - var_r27++; - } - fn_1_3F28(object->work[0], work->unk_0C, work->unk_00); - work->unk_68 = sp1C[GWPlayerCfg[var_r24].diff & 3]; - work->unk_2C = GWPlayerCfg[object->work[0]].iscom; - object->model[0] = CharModelCreate(var_r26, 4); - Hu3DModelLayerSet(object->model[0], 1); - for (var_r29 = 0; var_r29 < 6; var_r29++) { - object->motion[var_r29] = CharModelMotionCreate(var_r26, lbl_1_data_1A4[var_r29]); - } - CharModelMotionDataClose(var_r26); - if (var_r27 == 1) { - object->model[1] = Hu3DModelCreateFile(lbl_1_data_164[var_r26]); - Hu3DModelLayerSet(object->model[1], 1); - fn_1_982C(object, 0); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - } - object->model[2] = Hu3DModelCreateFile(lbl_1_data_104[var_r26][var_r27]); - Hu3DModelLayerSet(object->model[2], 1); - Hu3DModelShadowSet(object->model[2]); - if (var_r27 != 0) { - object->model[3] = Hu3DModelCreateFile(lbl_1_data_104[var_r26][2]); - Hu3DModelLayerSet(object->model[3], 1); - Hu3DModelShadowSet(object->model[3]); - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); - work->unk_C8 = espEntry(0x120006, 1, 0); - espDispOff(work->unk_C8); - espAttrSet(work->unk_C8, HUSPR_ATTR_LINEAR); - } - var_r25 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M421, 0x27)), 0x80); - object->model[4] = var_r25; - Hu3DModelLayerSet(var_r25, 1); - Hu3DParticleHookSet(var_r25, fn_1_9C38); - for (var_r28 = ((ParticleData *)Hu3DData[var_r25].unk_120)->unk_48, var_r29 = 0; var_r29 < 0x80; var_r29++, var_r28++) { - var_r28->unk2C = 0.0f; - var_r28->unk40.a = 0; - var_r28->unk00 = 0; - } - if (work->unk_0C == 0) { - work->unk_148 = HuMemDirectMallocNum(HEAP_SYSTEM, 441 * sizeof(float), MEMORY_DEFAULT_NUM); - memset(work->unk_148, 0, 441 * sizeof(float)); - } - object->trans.x = work->unk_CC.x = sp2C[work->unk_0C].x; - object->trans.y = work->unk_CC.y = sp2C[work->unk_0C].y; - object->trans.z = work->unk_CC.z = sp2C[work->unk_0C].z; - work->unk_20 = 1; - work->unk_94 = 1.0f; - work->unk_84 = spC[var_r27][0]; - work->unk_88 = spC[var_r27][1]; - work->unk_8C = 110.0f; - work->unk_90 = 1.0f; - work->unk_98 = work->unk_CC.y + (2.0f * work->unk_88); - work->unk_9C = work->unk_CC.y; - work->unk_A0 = 0.0f; - work->unk_A4 = 0.0f; - work->unk_78 = -1; - work->unk_58 = work->unk_5C = 0.0f; - work->unk_60 = 0.0f; - work->unk_64 = 0.02f; - work->unk_80 = 50.0f; - work->unk_A8 = 0.0f; - MTXIdentity(work->unk_118); - work->unk_08 = -1; - work->unk_6C = 0; - work->unk_3C = 1; - work->unk_44 = 0; - if (var_r27 == 0) { - Hu3DModelShadowSet(object->model[0]); - object->func = fn_1_4F00; - Hu3DModelReflectTypeSet(object->model[2], 4); - work->unk_90 = lbl_1_data_184[work->unk_00]; - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - return; - } - object->func = fn_1_5060; -} - -void fn_1_4F00(omObjData *object) -{ - M421DllPlayerWork *work = object->data; - work->unk_10 = 0; - work->unk_14 = 0; - work->unk_18 = 0.0f; - work->unk_1C = 0.0f; - switch (work->unk_44) { - case 0: - if (work->unk_48 > 108.0f) { - HuAudFXPlay(0x601); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[2], HU3D_ATTR_DISPOFF); - work->unk_10 = 0x100; - work->unk_44++; - } - break; - case 1: - if (work->unk_24 == 0) { - work->unk_10 = 0x100; - work->unk_44++; - } - break; - } - VECAdd(&work->unk_CC, &work->unk_D8, &work->unk_CC); - fn_1_676C(object); - fn_1_66B4(object); - fn_1_7670(object); - if (fn_1_3E34() == 2) { - work->unk_44 = 0; - object->func = fn_1_53C8; - } -} - -void fn_1_5060(omObjData *object) -{ - M421DllPlayerWork *work = object->data; - { - Vec sp8[4] = { - { 0.0f, 0.0f, 0.0f }, - { 80.0f, 190.0f, 0.0f }, - { 290.0f, 120.0f, 0.0f }, - { 500.0f, 190.0f, 0.0f }, - }; - work->unk_10 = 0; - work->unk_14 = 0; - work->unk_18 = 0.0f; - work->unk_1C = 0.0f; - switch (work->unk_44) { - case 0: - if ((work->unk_48 > 30.0f) && ((work->unk_48 & 0xF) == 0) && (frandmod(0x3E8) < 0x12C)) { - work->unk_10 = 0x100; - work->unk_44++; - } - else if (work->unk_48 > 120.0f) { - work->unk_44++; - } - break; - case 1: - if (work->unk_48 > 120.0f) { - work->unk_18 = atan2d(-work->unk_CC.x, 300.0f - work->unk_CC.z); - work->unk_1C = 0.01f; - if (work->unk_48 < 156.0f) { - espPosSet(work->unk_C8, sp8[work->unk_0C].x, sp8[work->unk_0C].y); - espScaleSet(work->unk_C8, 0.6000000238418579, 0.6000000238418579); - espDispOn(work->unk_C8); - } - else { - espDispOff(work->unk_C8); - } - } - if (work->unk_48 >= 180.0f) { - work->unk_10 = 0x100; - work->unk_C0 = 1; - work->unk_44++; - } - break; - } - } - VECAdd(&work->unk_CC, &work->unk_D8, &work->unk_CC); - fn_1_6D48(object); - fn_1_66B4(object); - fn_1_7670(object); - if (fn_1_3E34() == 2) { - work->unk_44 = 0; - object->func = fn_1_578C; - } -} - -void fn_1_53C8(omObjData *object) -{ - float var_f31; - float var_f30; - - M421DllPlayerWork *work = object->data; - s32 var_r29 = 0; - work->unk_10 = 0; - work->unk_14 = 0; - work->unk_18 = 0.0f; - work->unk_1C = 0.0f; - if (fn_1_3E4C() == 2) { - if (work->unk_2C != 0) { - fn_1_80C0(object); - } - else { - work->unk_14 = HuPadBtn[GWPlayerCfg[object->work[0]].pad_idx]; - work->unk_10 = HuPadBtnDown[GWPlayerCfg[object->work[0]].pad_idx]; - var_f31 = HuPadStkX[GWPlayerCfg[object->work[0]].pad_idx]; - var_f30 = -HuPadStkY[GWPlayerCfg[object->work[0]].pad_idx]; - work->unk_18 = atan2d(var_f31, var_f30); - work->unk_1C = 0.013888889f * sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (work->unk_1C > 1.0f) { - work->unk_1C = 1.0f; - } - } - } - if ((s32)work->unk_44 != 0) { - (void)var_r29; - } - else { - var_r29 = 1; - } - VECAdd(&work->unk_CC, &work->unk_D8, &work->unk_CC); - fn_1_893C(object); - fn_1_66B4(object); - fn_1_676C(object); - fn_1_7670(object); - if ((fn_1_3E4C() == 3) && (var_r29 != 0) && (fn_1_3FF8() != 0)) { - work->unk_44 = 0; - object->func = fn_1_6184; - } -} - -void fn_1_578C(omObjData *object) -{ - float var_f31; - float var_f30; - - M421DllPlayerWork *work = object->data; - s32 var_r29 = 0; - work->unk_10 = 0; - work->unk_14 = 0; - work->unk_18 = 0.0f; - work->unk_1C = 0.0f; - if (fn_1_3E4C() == 2) { - if (work->unk_2C != 0) { - fn_1_80C0(object); - } - else { - work->unk_14 = HuPadBtn[GWPlayerCfg[object->work[0]].pad_idx]; - work->unk_10 = HuPadBtnDown[GWPlayerCfg[object->work[0]].pad_idx]; - var_f31 = HuPadStkX[GWPlayerCfg[object->work[0]].pad_idx]; - var_f30 = -HuPadStkY[GWPlayerCfg[object->work[0]].pad_idx]; - work->unk_18 = atan2d(var_f31, var_f30); - work->unk_1C = 0.013888889f * sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (work->unk_1C > 1.0f) { - work->unk_1C = 1.0f; - } - } - } - if ((s32)work->unk_44 != 0) { - (void)var_r29; - } - else if (work->unk_24 == 0) { - var_r29 = 1; - } - VECAdd(&work->unk_CC, &work->unk_D8, &work->unk_CC); - fn_1_893C(object); - fn_1_6D48(object); - fn_1_66B4(object); - fn_1_7670(object); - if (work->unk_38 != 0) { - if (fn_1_3E7C(work->unk_0C) != 0) { - object->func = fn_1_5B9C; - } - else { - work->unk_38 = 0; - } - } - if ((work->unk_38 == 0) && (fn_1_3E4C() == 3) && (var_r29 != 0) && (fn_1_3FF8() != 0)) { - work->unk_44 = 0; - object->func = fn_1_6184; - } -} - -void fn_1_5B9C(omObjData *object) -{ - Mtx sp34; - Vec sp28; - Vec sp1C; - s32 spC; - float sp8; - float var_f29; - - M421DllPlayerWork *work; - M421DllCameraStruct *var_r29; - - work = object->data; - spC = 0; - { - Vec sp10 = { 0.0f, 0.0f, 0.0f }; - switch (work->unk_44) { - case 7: - break; - case 0: - fn_1_B39C(); - work->unk_20 = 0; - work->unk_58 = work->unk_5C = 0.0f; - MTXIdentity(work->unk_118); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[3], HU3D_ATTR_DISPOFF); - Hu3DModelPosSetV(object->model[3], &work->unk_F0); - Hu3DMotionTimeSet(object->model[3], 0.0f); - Hu3DMotionSpeedSet(object->model[3], 3.0f); - HuAudFXEmiterPlay(0x5FC, &work->unk_F0); - work->unk_78 = HuAudCharVoicePlayPos(work->unk_00, 0x123, &work->unk_CC); - omVibrate(object->work[0], 0xC, 4, 2); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - fn_1_982C(object, 0); - fn_1_9DD0(object, &work->unk_F0); - var_r29 = fn_1_3C14(1); - mtxRot(sp34, var_r29->unk_28.x, var_r29->unk_28.y, 0.0f); - sp10.z = var_r29->unk_34 - 350.0f; - MTXMultVec(sp34, &sp10, &sp1C); - VECAdd(&var_r29->unk_1C, &sp1C, &sp28); - fn_1_9BFC(sp28.y - work->unk_CC.y, 0.9f, work->unk_108); - VECSubtract(&sp28, &work->unk_CC, &sp1C); - work->unk_D8.y = 0.016666668f * work->unk_108[2]; - work->unk_D8.x = 0.01851852f * sp1C.x; - work->unk_D8.z = 0.01851852f * sp1C.z; - work->unk_44 = 1; - work->unk_48 = 0; - break; - case 1: - work->unk_D8.y += 0.016666668f * (0.016666668f * work->unk_108[3]); - var_f29 = sqrtf((work->unk_D8.x * work->unk_D8.x) + (work->unk_D8.z * work->unk_D8.z)); - var_f29 = atan2d(var_f29, work->unk_D8.y); - var_f29 = var_f29; - sp1C.x = work->unk_D8.z; - sp1C.y = 0.0f; - sp1C.z = -work->unk_D8.x; - VECNormalize(&sp1C, &sp1C); - MTXRotAxisRad(work->unk_118, &sp1C, 0.017453292f * var_f29); - sp1C.x = sp1C.z = 0.0f; - sp1C.y = 1.0f; - MTXRotAxisRad(sp34, &sp1C, 0.017453292f * (22.5f * work->unk_48)); - MTXConcat(work->unk_118, sp34, work->unk_118); - HuAudFXEmiterUpDate(work->unk_78, &work->unk_CC); - if (work->unk_48 >= 72.0f) { - MTXIdentity(work->unk_118); - work->unk_D8.x = work->unk_D8.y = work->unk_D8.z = 0.0f; - work->unk_44 = 2; - work->unk_48 = 0; - fn_1_3F68(object->work[0]); - fn_1_3F98(object->work[0]); - fn_1_3FC8(object->work[0]); - } - break; - case 2: - work->unk_D8.y += -0.27222225f; - if (work->unk_48 > 120.0f) { - work->unk_44 = 7; - work->unk_48 = 0; - work->unk_D8.x = work->unk_D8.y = work->unk_D8.z = 0.0f; - } - break; - } - } - VECAdd(&work->unk_CC, &work->unk_D8, &work->unk_CC); - fn_1_66B4(object); - fn_1_7670(object); -} - -void fn_1_6184(omObjData *object) -{ - M421DllPlayerWork *work = object->data; - work->unk_10 = 0; - work->unk_14 = 0; - work->unk_18 = 0.0f; - work->unk_1C = 0.0f; - switch (work->unk_44) { - case 0: - if (work->unk_0C == 0) { - work->unk_20 = 0; - work->unk_58 = work->unk_5C = 0.0f; - MTXIdentity(work->unk_118); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - fn_1_982C(object, 0); - work->unk_CC = work->unk_E4; - } - else { - work->unk_20 = 0; - work->unk_58 = work->unk_5C = 0.0f; - MTXIdentity(work->unk_118); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - fn_1_982C(object, 0); - work->unk_CC = work->unk_E4; - } - fn_1_9DD0(object, &work->unk_F0); - HuAudFXEmiterPlay(0x600, &work->unk_F0); - work->unk_D8.x = work->unk_D8.y = work->unk_D8.z = 0.0f; - work->unk_44 = 3; - break; - case 3: - Hu3DModelShadowSet(object->model[0]); - work->unk_D8.y += -0.27222225f; - if (work->unk_CC.y <= 0.0f) { - work->unk_CC.y = 0.0f; - work->unk_D8.y = 0.0f; - work->unk_44 = 4; - } - break; - case 4: - work->unk_48 = 0; - fn_1_3F68(object->work[0]); - break; - } - VECAdd(&work->unk_CC, &work->unk_D8, &work->unk_CC); - work->unk_E4 = work->unk_CC; - fn_1_956C(object); - fn_1_66B4(object); - fn_1_7670(object); - if (fn_1_3E4C() == 5) { - object->func = fn_1_6400; - } -} - -void fn_1_6400(omObjData *object) -{ - Vec sp8; - float var_f31; - M421DllPlayerWork *work = object->data; - - VECAdd(&work->unk_CC, &work->unk_D8, &work->unk_CC); - work->unk_E4 = work->unk_CC; - fn_1_956C(object); - fn_1_66B4(object); - fn_1_7670(object); - switch (work->unk_44) { - case 4: - if (fn_1_3EF8(object->work[0]) >= 0) { - VECSubtract(&lbl_1_data_234[work->unk_0C], &work->unk_CC, &sp8); - } - else { - VECSubtract(&lbl_1_data_264[work->unk_0C], &work->unk_CC, &sp8); - } - sp8.y = 0.0f; - var_f31 = VECMag(&sp8); - if (var_f31 < 10.0f) { - var_f31 = 0.0f; - } - else { - if (VECMag(&sp8) >= 100.0f) { - var_f31 = 100.0f; - } - var_f31 = 0.2f + (0.008f * var_f31); - } - work->unk_18 = atan2d(sp8.x, sp8.z); - work->unk_1C = var_f31; - fn_1_7478(object); - if ((work->unk_1C == 0.0f) || (work->unk_48 > 0x12C)) { - work->unk_5C = 0.0f; - work->unk_60 = 0.15f; - work->unk_64 = 0.0f; - work->unk_D8.x = work->unk_D8.y = work->unk_D8.z = 0.0f; - fn_1_3F98(object->work[0]); - } - if (fn_1_3E64() == 1) { - work->unk_44 = 5; - } - break; - case 5: - if (fn_1_3E64() == 1) { - if (fn_1_3EF8(object->work[0]) >= 0) { - fn_1_982C(object, 4); - } - else { - fn_1_982C(object, 5); - } - work->unk_44 = 6; - return; - } - break; - case 6: - if (fn_1_99B8(object) != 0) { - fn_1_3FC8(object->work[0]); - } - break; - } -} - -void fn_1_66B4(omObjData *object) -{ - M421DllPlayerWork *work = object->data; - work->unk_50++; - work->unk_48++; - object->trans.x = work->unk_CC.x; - object->trans.y = work->unk_CC.y; - object->trans.z = work->unk_CC.z; - work->unk_60 += work->unk_64; - if (work->unk_60 > 0.45f) { - work->unk_60 = 0.45f; - } - work->unk_58 = fn_1_4478(work->unk_58, work->unk_5C, work->unk_60); - object->rot.y = work->unk_58; -} - -void fn_1_676C(omObjData *object) -{ - Mtx sp44; - Mtx sp14; - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - - M421DllPlayerWork *work = object->data; - if (work->unk_20 != 0) { - if (work->unk_1C > 0.0f) { - work->unk_5C = work->unk_18; - work->unk_60 = 0.15f; - work->unk_64 = 0.0f; - } - if (work->unk_1C < 0.05f) { - fn_1_982C(object, 0); - CharModelMotionSpeedSet(work->unk_00, 1.0f); - } - else { - var_f30 = 0.5f; - if (work->unk_08 == 2) { - var_f30 = 0.45f; - } - if (work->unk_1C > var_f30) { - fn_1_982C(object, 2); - var_f29 = work->unk_1C; - } - else { - fn_1_982C(object, 1); - var_f29 = work->unk_1C / var_f30; - } - CharModelMotionSpeedSet(work->unk_00, var_f29); - } - sp8.x = 0.01666666753590107 * (1.6666667461395264 * (2.0 * (work->unk_1C * sind(work->unk_18)))); - sp8.y = 0.0f; - sp8.z = 0.01666666753590107 * (1.6666667461395264 * (2.0 * (work->unk_1C * cosd(work->unk_18)))); - VECAdd(&sp8, &work->unk_D8, &work->unk_D8); - if (work->unk_24 == 0) { - if ((work->unk_10 & 0x100) != 0) { - work->unk_24 = 1; - fn_1_9BFC(400.0f - (2.0f * work->unk_88), 0.25f, work->unk_108); - work->unk_D8.y = 0.016666668f * work->unk_108[2]; - if (fn_1_3E34() == 2) { - HuAudFXEmiterPlay(0x5FE, &work->unk_F0); - } - } - } - else { - work->unk_D8.y += 0.016666668f * (0.016666668f * work->unk_108[3]); - if ((work->unk_D8.y < 0.0f) && (work->unk_CC.y <= 0.0f)) { - work->unk_D8.y = 0.0f; - work->unk_24 = 0; - if (fn_1_3E34() != 2) { - HuAudFXEmiterPlay(0x5FD, &work->unk_F0); - omVibrate(object->work[0], 0xC, 4, 2); - } - else { - HuAudFXEmiterPlay(0x5FF, &work->unk_F0); - } - } - } - MTXIdentity(sp44); - MTXIdentity(sp14); - work->unk_A8 = 1.0f - work->unk_1C; - sp8 = work->unk_D8; - sp8.y = 0.0f; - var_f31 = VECMag(&sp8); - if (var_f31 > 0.0f) { - VECNormalize(&sp8, &sp8); - var_f28 = sp8.z; - sp8.z = -sp8.x; - sp8.x = var_f28; - var_f31 *= 360.0f / (3.14159f * (2.0f * work->unk_88)); - MTXRotAxisRad(sp44, &sp8, 0.017453292f * var_f31); - } - sp8.x = sind((90.0f + work->unk_18)); - sp8.y = 0.0f; - sp8.z = cosd((90.0f + work->unk_18)); - if (work->unk_1C > 0.0f) { - var_f31 = 1.6666667f * work->unk_1C * (360.0f / (3.14159f * (2.0f * work->unk_88))); - if (work->unk_24 != 0) { - var_f31 *= 2.0f; - } - MTXRotAxisRad(sp14, &sp8, 0.017453292f * var_f31); - } - MTXConcat(sp44, sp14, sp44); - MTXConcat(sp44, work->unk_118, work->unk_118); - fn_1_7AA0(object); - } -} - -void fn_1_6D48(omObjData *object) -{ - M421DllPlayerWork *work = object->data; - if (work->unk_20 != 0) { - if (work->unk_D8.y > 0.0f) { - work->unk_9C = work->unk_CC.y - (1.7999998f * work->unk_D8.y); - if (work->unk_9C < 0.0f) { - work->unk_9C = 0.0f; - } - work->unk_98 = (2.0f * (work->unk_CC.y + work->unk_88)) - work->unk_9C; - work->unk_A0 = 0.5f * work->unk_D8.y; - work->unk_A4 = -0.2f * work->unk_A0; - } - else if (work->unk_D8.y < 0.0f) { - work->unk_98 = work->unk_CC.y + (2.0f * work->unk_88); - work->unk_9C = work->unk_CC.y; - work->unk_A0 = 0.8f * work->unk_D8.y; - work->unk_A4 = work->unk_A0 * (-2.0f / work->unk_B8); - } - else if (work->unk_24 == 0) { - work->unk_9C = work->unk_CC.y; - if ((work->unk_B8 != 0) || (work->unk_BC != 0)) { - work->unk_98 += work->unk_A0; - work->unk_A0 += work->unk_A4; - } - else { - work->unk_A0 = work->unk_A4 = 0.0f; - work->unk_98 = work->unk_CC.y + (2.0f * work->unk_88); - } - if (work->unk_BC != 0) { - work->unk_AC = work->unk_AC + work->unk_B0; - work->unk_98 = work->unk_CC.y + (2.0f * work->unk_88); - work->unk_98 = work->unk_98 + ((work->unk_BC / 18.0f) * (work->unk_B4 * sind(work->unk_AC))); - } - } - work->unk_F0 = work->unk_CC; - work->unk_F0.y = 0.5f * (work->unk_98 + work->unk_9C); - work->unk_94 = (work->unk_F0.y - work->unk_9C) / work->unk_88; - if ((work->unk_1C > 0.0f) && (work->unk_24 == 0)) { - work->unk_5C = work->unk_18; - work->unk_60 = 0.15f; - work->unk_64 = 0.0f; - } - if ((work->unk_10 & 0x100) != 0) { - work->unk_C4 = 0xC; - } - if (work->unk_C4 != 0) { - work->unk_C4--; - } - if (work->unk_24 == 0) { - if ((work->unk_28 == 0) && (work->unk_C0 < 3) && ((work->unk_C0 != 0) || (work->unk_BC == 0)) && (work->unk_C4 != 0)) { - work->unk_28 = 1; - } - if (work->unk_B8 != 0) { - work->unk_B8--; - if (work->unk_B8 == 0) { - work->unk_A0 *= lbl_1_data_2C4[work->unk_C0 - 1]; - work->unk_A4 = work->unk_A0 * (-2.0f / (work->unk_BC + 1)); - } - } - else { - if (work->unk_BC != 0) { - work->unk_BC--; - } - if ((work->unk_C0 >= 3) || (work->unk_28 == 0)) { - work->unk_C0 = 0; - } - if (work->unk_28 != 0) { - work->unk_28 = 0; - work->unk_24 = 1; - work->unk_D8.x = lbl_1_data_2B8[work->unk_C0] * (work->unk_1C * sind(work->unk_18)); - work->unk_D8.z = lbl_1_data_2B8[work->unk_C0] * (work->unk_1C * cosd(work->unk_18)); - if (work->unk_C0 < 2) { - HuAudFXEmiterPlay(0x5F9, &work->unk_F0); - } - else { - HuAudFXEmiterPlay(0x5FA, &work->unk_F0); - } - fn_1_9BFC(lbl_1_data_294[work->unk_C0].x - (2.0f * work->unk_88), 0.5f * lbl_1_data_294[work->unk_C0].y, work->unk_108); - work->unk_D8.y = 0.016666668f * work->unk_108[2]; - work->unk_B8 = 9; - work->unk_BC = lbl_1_data_2AC[work->unk_C0]; - work->unk_C0++; - } - } - } - else { - work->unk_AC = 0.0f; - work->unk_B0 = lbl_1_data_2D0[work->unk_C0 - 1]; - work->unk_B4 = lbl_1_data_2DC[work->unk_C0 - 1]; - work->unk_D8.y += 0.016666668f * (0.016666668f * work->unk_108[3]); - if ((work->unk_D8.y < 0.0f) && (work->unk_CC.y <= 0.0f)) { - work->unk_D8.x = work->unk_D8.y = work->unk_D8.z = 0.0f; - work->unk_24 = 0; - HuAudFXEmiterPlay(0x5FB, &work->unk_F0); - } - } - } -} - -void fn_1_7478(omObjData *object) -{ - float var_f31; - float var_f30; - - M421DllPlayerWork *work = object->data; - if (work->unk_1C > 0.0f) { - work->unk_5C = work->unk_18; - } - if ((work->unk_1C > 0.05f) && (work->unk_34 == 0)) { - work->unk_D8.x = 0.01666666753590107 * (550.0 * (work->unk_1C * sind(work->unk_18))); - work->unk_D8.z = 0.01666666753590107 * (550.0 * (work->unk_1C * cosd(work->unk_18))); - work->unk_60 = 0.2f; - work->unk_64 = 0.0f; - var_f31 = 0.5f; - if (work->unk_08 == 2) { - var_f31 = 0.45f; - } - if (work->unk_1C > var_f31) { - fn_1_982C(object, 2); - var_f30 = work->unk_1C; - } - else { - fn_1_982C(object, 1); - var_f30 = work->unk_1C / var_f31; - } - CharModelMotionSpeedSet(work->unk_00, var_f30); - return; - } - work->unk_D8.x = work->unk_D8.y = work->unk_D8.z = 0.0f; - fn_1_982C(object, 0); -} - -void fn_1_7670(omObjData *object) -{ - float var_f29; - - M421DllPlayerWork *work = object->data; - work->unk_E4 = work->unk_CC; - if (work->unk_20 != 0) { - if (work->unk_0C == 0) { - work->unk_F0 = work->unk_CC; - work->unk_F0.y += work->unk_88 * work->unk_94; - work->unk_E4.y += work->unk_94 * (work->unk_88 - work->unk_84); - Hu3DModelPosSetV(object->model[0], &work->unk_E4); - Hu3DModelRotSet(object->model[0], 0.0f, work->unk_58, 0.0f); - Hu3DModelScaleSet(object->model[0], work->unk_90, work->unk_90, work->unk_90); - Hu3DModelPosSetV(object->model[2], &work->unk_F0); - MTXCopy(work->unk_118, Hu3DData[object->model[2]].unk_F0); - Hu3DModelScaleSet(object->model[2], 1.0f, work->unk_94, 1.0f); - return; - } - work->unk_E4.y += (2.0f * work->unk_88 * work->unk_94) - work->unk_8C; - Hu3DModelPosSetV(object->model[0], &work->unk_E4); - Hu3DModelRotSet(object->model[0], 0.0f, work->unk_58, 0.0f); - Hu3DModelPosSetV(object->model[2], &work->unk_F0); - Hu3DModelRotSet(object->model[2], 0.0f, work->unk_58, 0.0f); - var_f29 = sqrtf(1.0f / work->unk_94); - Hu3DModelScaleSet(object->model[2], var_f29, work->unk_94, var_f29); - Hu3DModelPosSet(object->model[1], work->unk_F0.x, 15.000001f + (work->unk_F0.y + (work->unk_88 * work->unk_94)), work->unk_F0.z); - Hu3DModelRotSet(object->model[1], 0.0f, work->unk_58, 0.0f); - return; - } - work->unk_90 += 0.1f * (1.0f - work->unk_90); - Hu3DModelPosSetV(object->model[0], &work->unk_E4); - Hu3DModelRotSet(object->model[0], 0.0f, work->unk_58, 0.0f); - Hu3DModelScaleSet(object->model[0], work->unk_90, work->unk_90, work->unk_90); - MTXCopy(work->unk_118, Hu3DData[object->model[0]].unk_F0); -} - -void fn_1_7AA0(omObjData *object) -{ - Vec sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - - s32 var_r30; - s32 var_r29; - s32 var_r28; - - M421DllPlayerWork *work = object->data; - sp38 = work->unk_CC; - sp38.y = 0.0f; - VECScale(&work->unk_D8, &sp14, 7.5f); - sp2C = sp38; - for (var_r30 = 0; var_r30 < 0x10; var_r30++) { - VECAdd(&sp2C, &sp14, &sp2C); - fn_1_9474(object, &sp2C, &sp2C); - } - sp2C.y = 0.0f; - VECSubtract(&sp38, &sp2C, &sp8); - sp8.y = 0.0f; - var_f28 = VECMag((Vec *)&sp8.y); - var_f29 = 0.0025f * var_f28; - if (var_f29 > 1.0f) { - var_f29 = 1.0f; - } - if (var_f28 > 0.0f) { - VECNormalize(&sp8, &sp8); - } - sp20.y = 0.0f; - sp20.z = -750.0f; - var_r29 = 0; - for (var_r30 = 0; var_r30 < 0x15; var_r30++) { - sp20.x = -750.0f; - for (var_r28 = 0; var_r28 < 0x15; var_r28++, var_r29++) { - if (VECMag(&sp20) >= 700.0f) { - work->unk_148[var_r29] = 10.0f; - } - else { - VECSubtract(&sp2C, &sp20, &sp14); - var_f31 = 1.0f - (0.001f * VECMag(&sp14)); - if (var_f31 < 0.0f) { - var_f31 = 0.0f; - } - work->unk_148[var_r29] = 3.0f * var_f31; - VECSubtract(&sp38, &sp20, &sp14); - var_f31 = 1.0f - (0.001f * VECMag(&sp14)); - if (var_f31 < 0.0f) { - var_f31 = 0.0f; - } - work->unk_148[var_r29] += 3.0f * var_f31; - VECSubtract(&sp20, &sp38, &sp14); - var_f31 = VECMag(&sp14); - var_f30 = 1.0f - (0.001f * var_f31); - if (var_f30 < 0.0f) { - var_f30 = 0.0f; - } - if (var_f31 > 0.0f) { - VECNormalize(&sp14, &sp14); - } - var_f31 = VECDotProduct(&sp14, &sp8); - if (var_f31 > 0.0f) { - var_f31 = 4.0f * (var_f29 * (var_f30 * (var_f31 * var_f31))); - work->unk_148[var_r29] += var_f31; - } - } - sp20.x += 75.0f; - } - sp20.z += 75.0f; - } -} - -void fn_1_7EB8(Vec *var_r26, float sp8, Vec *var_r27) -{ - Vec sp24; - Vec sp18; - Vec spC; - float var_f31; - float var_f30; - - s32 var_r31; - M421DllPlayerWork *work; - s32 var_r29; - s32 var_r28; - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - work = lbl_1_bss_48[var_r31]->data; - if ((work->unk_0C == 0) && work->unk_148) { - break; - } - } - sp24 = *var_r26; - sp24.y = 0.0f; - *var_r27 = sp24; - var_f30 = 100.0f; - sp18.y = 0.0f; - sp18.z = -750.0f; - var_r28 = 0; - for (var_r31 = 0; var_r31 < 0x15; var_r31++) { - sp18.x = -750.0f; - for (var_r29 = 0; var_r29 < 0x15; var_r29++, var_r28++) { - VECSubtract(&sp18, &sp24, &spC); - var_f31 = VECMag(&spC); - if (var_f31 <= sp8) { - var_f31 = 1.0f + (0.5f - (0.0005f * var_f31)); - var_f31 *= work->unk_148[var_r28]; - if (var_f31 < var_f30) { - var_f30 = var_f31; - *var_r27 = sp18; - } - } - sp18.x += 75.0f; - } - sp18.z += 75.0f; - } -} - -void fn_1_80C0(omObjData *var_r28) -{ - Vec sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - - M421DllPlayerWork *var_r30; - s32 var_r29; - - M421DllPlayerWork *var_r31 = var_r28->data; - if (var_r31->unk_0C != 0) { - if (var_r31->unk_24 == 0) { - switch (var_r31->unk_6C) { - case 0: - if (var_r31->unk_C0 == 3) { - var_r31->unk_6C = 3; - return; - } - var_r31->unk_6C = 2; - var_r31->unk_70 = 60.0f * (0.3f + (0.00040000002f * frandmod(0x3E8))); - if ((frandmod(0x410) < (1000.0f * (0.5f + (0.5f * var_r31->unk_68)))) || (var_r31->unk_3C != 0)) { - var_r31->unk_3C = 0; - var_r31->unk_6C = 1; - return; - } - break; - case 1: - var_f29 = lbl_1_data_2E8[var_r31->unk_C0]; - fn_1_7EB8(&var_r31->unk_CC, 1000.0f, &sp38); - VECSubtract(&sp38, &var_r31->unk_CC, &sp2C); - sp2C.y = 0.0f; - var_f31 = VECMag(&sp2C); - if (var_f31 < var_f29) { - var_r31->unk_1C = VECMag(&sp2C) / var_f29; - } - else { - var_r31->unk_1C = 1.0f; - } - var_r31->unk_18 = atan2d(sp2C.x, sp2C.z); - var_r31->unk_10 = 0x100; - return; - case 2: - if (var_r31->unk_70 != 0) { - var_r31->unk_70--; - return; - } - var_r31->unk_6C = 0; - return; - case 3: - if (var_r31->unk_C0 != 3) { - var_r31->unk_6C = 2; - var_r31->unk_70 = 60.0f * (0.0003f * frandmod(0x3E8)); - return; - } - break; - } - } - else { - var_r31->unk_6C = 0; - } - } - else { - var_f30 = 10000.0f; - if (var_r31->unk_74 == 0) { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (var_r28->work[0] != lbl_1_bss_48[var_r29]->work[0]) { - var_r30 = lbl_1_bss_48[var_r29]->data; - if (var_r30->unk_38 == 0) { - if (var_r30->unk_24 != 0) { - VECScale(&var_r30->unk_D8, &sp20, 60.0f); - VECAdd(&var_r30->unk_CC, &sp20, &sp20); - } - else { - sp20 = var_r30->unk_CC; - } - sp20.y = 0.0f; - sp20.x += 100.0f * (0.5f * ((((2.0f * var_r31->unk_68) / 1000.0f) * frandmod(0x3E8)) - var_r31->unk_68)); - sp20.z += 100.0f * (0.5f * ((((2.0f * var_r31->unk_68) / 1000.0f) * frandmod(0x3E8)) - var_r31->unk_68)); - var_f31 = VECMag(&sp20); - if (var_f31 > (700.0f - (100.0f * (2.3f * var_r31->unk_68)))) { - var_f31 = (700.0f - (100.0f * (2.3f * var_r31->unk_68))) / var_f31; - VECScale(&sp20, &sp20, var_f31); - } - VECSubtract(&sp20, &var_r31->unk_CC, &sp14); - sp14.y = 0.0f; - var_f31 = VECMag(&sp14); - if (var_f30 > var_f31) { - var_r31->unk_FC = sp20; - var_f30 = var_f31; - } - } - } - } - var_r31->unk_74 = 60.0f * ((1.5f - var_r31->unk_68) + (0.0015f * frandmod(0x3E8))); - } - VECSubtract(&var_r31->unk_FC, &var_r31->unk_CC, &sp14); - sp8 = var_r31->unk_D8; - if (VECMag(&sp14)) { - VECNormalize(&sp14, &sp14); - } - if (VECMag(&sp8)) { - VECNormalize(&sp8, &sp8); - } - var_f31 = (0.5f + (0.5f * var_r31->unk_68)) * (1.0f - VECDotProduct(&sp14, &sp8)); - VECScale(&var_r31->unk_D8, &sp14, 60.0f * (2.0f * var_f31)); - VECAdd(&var_r31->unk_CC, &sp14, &sp14); - VECSubtract(&var_r31->unk_FC, &sp14, &sp20); - var_f30 = VECMag(&sp20); - var_r31->unk_18 = fn_1_4478(var_r31->unk_58, atan2d(sp20.x, sp20.z), 0.5f); - var_r31->unk_1C = 0.95f + (0.05f * var_r31->unk_68); - if ((var_f30 < 300.0f) && ((var_r31->unk_50 & 7) == 0) && (frandmod(0x514) < (1000.0f * var_r31->unk_68))) { - var_r31->unk_10 = 0x100; - } - var_r31->unk_74--; - if (var_f30 < 130.0f) { - var_r31->unk_74 = 0; - } - } -} - -void fn_1_893C(omObjData *object) -{ - Vec sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - - M421DllPlayerWork *var_r31; - M421DllPlayerWork *var_r30; - s32 var_r29; - s32 var_r28; - M421DllPlayerWork *var_r27; - M421DllPlayerWork *var_r26; - s32 var_r24; - s32 var_r23; - - if (lbl_1_bss_30 >= object->work[0]) { - for (var_r24 = 0; var_r24 < 4; var_r24++) { - for (var_r28 = 0; var_r28 < 4; var_r28++) { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - var_r31 = lbl_1_bss_48[var_r29]->data; - if ((var_r31->unk_38 == 0) && (var_r31->unk_20 != 0)) { - var_r31->unk_F0 = var_r31->unk_CC; - var_r31->unk_F0.y += var_r31->unk_88; - } - } - var_r31 = lbl_1_bss_48[var_r28]->data; - if ((var_r31->unk_38 == 0) && (var_r31->unk_20 != 0)) { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (var_r28 != var_r29) { - var_r30 = lbl_1_bss_48[var_r29]->data; - if ((var_r30->unk_38 == 0) && (var_r30->unk_20 != 0)) { - VECSubtract(&var_r31->unk_F0, &var_r30->unk_F0, &sp38); - var_f31 = VECMag(&sp38); - if (var_f31 < (var_r31->unk_88 + var_r30->unk_88)) { - if (var_f31 > 0.0f) { - var_f31 = 0.5f * ((var_r31->unk_88 + var_r30->unk_88) - var_f31); - } - else { - var_f31 = 0.5f * (var_r31->unk_88 + var_r30->unk_88); - sp38.x = frandmod(0x3E8) - 0.0005f; - sp38.y = 0.0f; - sp38.z = frandmod(0x3E8) - 0.0005f; - } - VECNormalize(&sp38, &sp38); - VECScale(&sp38, &sp38, var_f31); - VECAdd(&var_r31->unk_F0, &sp38, &var_r31->unk_F0); - VECSubtract(&var_r30->unk_F0, &sp38, &var_r30->unk_F0); - if ((var_r31->unk_0C == 0) && (var_r30->unk_0C != 0)) { - var_r30->unk_38 = 1; - } - else if ((var_r31->unk_0C != 0) && (var_r30->unk_0C == 0)) { - var_r31->unk_38 = 1; - } - } - } - } - } - for (var_r29 = 0; var_r29 < 4; var_r29++) { - var_r31 = lbl_1_bss_48[var_r29]->data; - if ((var_r31->unk_38 == 0) && (var_r31->unk_20 != 0)) { - var_r31->unk_CC = var_r31->unk_F0; - var_r31->unk_CC.y -= var_r31->unk_88; - } - } - var_r31 = lbl_1_bss_48[var_r28]->data; - if (var_r31->unk_24 != 0) { - if (var_r31->unk_CC.y < 0.0f) { - var_r31->unk_CC.y = 0.0f; - } - } - else { - var_r31->unk_CC.y = 0.0f; - } - sp38 = var_r31->unk_CC; - sp38.y = 0.0f; - var_f31 = VECMag(&sp38); - if (var_f31 > (750.0f - var_r31->unk_88)) { - var_f30 = (750.0f - var_r31->unk_88) / var_f31; - VECScale(&sp38, &sp38, var_f30); - var_r31->unk_CC.x = sp38.x; - var_r31->unk_CC.z = sp38.z; - } - } - } - } - for (var_r28 = 0; var_r28 < 4; var_r28++) { - var_r31 = lbl_1_bss_48[var_r28]->data; - if ((var_r31->unk_38 == 0) && (var_r31->unk_20 != 0) && (var_r31->unk_0C == 0)) { - sp38 = var_r31->unk_CC; - sp38.y = 0.0f; - var_f31 = VECMag(&sp38); - if (var_f31 >= (750.0f - var_r31->unk_88)) { - var_f31 = VECDotProduct(&var_r31->unk_D8, &sp38); - if (var_f31 > 0.0f) { - VECNormalize(&sp38, &sp38); - var_f31 = VECDotProduct(&var_r31->unk_D8, &sp38); - var_r31->unk_D8.x = 0.92f * (var_r31->unk_D8.x - (1.1f * (var_f31 * sp38.x))); - var_r31->unk_D8.z = 0.92f * (var_r31->unk_D8.z - (1.1f * (var_f31 * sp38.z))); - } - } - } - } - for (var_r28 = 0; var_r28 < 3; var_r28++) { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - var_r31 = lbl_1_bss_48[var_r29]->data; - if ((var_r31->unk_38 == 0) && (var_r31->unk_20 != 0)) { - var_r31->unk_F0 = var_r31->unk_CC; - var_r31->unk_F0.y += var_r31->unk_88; - } - } - var_r31 = lbl_1_bss_48[var_r28]->data; - if ((var_r31->unk_38 == 0) && (var_r31->unk_20 != 0) && (var_r31->unk_0C != 0)) { - for (var_r29 = var_r28; var_r29 < 4; var_r29++) { - if (var_r28 != var_r29) { - var_r30 = lbl_1_bss_48[var_r29]->data; - if ((var_r30->unk_38 == 0) && (var_r30->unk_20 != 0) && (var_r30->unk_0C != 0)) { - var_r23 = 0; - var_f31 = VECMag(&var_r31->unk_D8); - var_f30 = VECMag(&var_r30->unk_D8); - if ((!(var_f31 <= 0.0f) && (var_r31->unk_24 != 0)) || (!(var_f30 <= 0.0f) && (var_r30->unk_24 != 0))) { - if (var_r31->unk_24 == 0) { - var_r27 = var_r30; - var_r26 = var_r31; - } - else if (var_r30->unk_24 == 0) { - var_r27 = var_r31; - var_r26 = var_r30; - } - else { - var_r23 = 1; - var_r27 = var_r31; - var_r26 = var_r30; - } - VECAdd(&var_r27->unk_F0, &var_r27->unk_D8, &sp14); - VECAdd(&var_r26->unk_F0, &var_r26->unk_D8, &sp8); - VECSubtract(&sp14, &sp8, &sp38); - var_f31 = VECMag(&sp38); - if ((var_f31 < (var_r27->unk_88 + var_r26->unk_88)) && (var_f31 > 0.0f)) { - VECNormalize(&sp38, &sp38); - if (var_r23 != 0) { - VECNormalize(&var_r27->unk_D8, &sp2C); - VECNormalize(&var_r26->unk_D8, &sp20); - var_f31 = -VECDotProduct(&sp2C, &sp38); - var_f30 = VECDotProduct(&sp20, &sp38); - } - else { - VECNormalize(&var_r27->unk_D8, &sp2C); - sp20.x = sp20.y = sp20.z = 0.0f; - var_f31 = -VECDotProduct(&sp2C, &sp38); - var_f30 = 0.0f; - } - if ((var_f31 > 0.01f) || (var_f31 > 0.01f)) { - var_f31 = VECDotProduct(&var_r27->unk_D8, &sp38); - var_f30 = VECDotProduct(&var_r26->unk_D8, &sp38); - sp14.x = var_r27->unk_D8.x - (var_f31 * sp38.x); - sp14.y = var_r27->unk_D8.y - (var_f31 * sp38.y); - sp14.z = var_r27->unk_D8.z - (var_f31 * sp38.z); - sp8.x = var_r26->unk_D8.x - (var_f30 * sp38.x); - sp8.y = var_r26->unk_D8.y - (var_f30 * sp38.y); - sp8.z = var_r26->unk_D8.z - (var_f30 * sp38.z); - if (var_r23 != 0) { - sp14.x += 0.5f * (var_f30 * sp38.x); - sp14.y += var_f30 * sp38.y; - sp14.z += 0.5f * (var_f30 * sp38.z); - sp8.x += 0.5f * (var_f31 * sp38.x); - sp8.y += var_f31 * sp38.y; - sp8.z += 0.5f * (var_f31 * sp38.z); - } - else { - sp14.x -= 0.5f * (var_f31 * sp38.x); - sp14.y -= var_f31 * sp38.y; - sp14.z -= 0.5f * (var_f31 * sp38.z); - } - var_r27->unk_D8 = sp14; - var_r26->unk_D8 = sp8; - } - } - } - } - } - } - } - } - } - else { - var_r31 = object->data; - if (var_r31->unk_38 == 0) { - if (var_r31->unk_CC.y < 0.0f) { - var_r31->unk_CC.y = 0.0f; - } - sp38 = var_r31->unk_CC; - sp38.y = 0.0f; - var_f31 = VECMag(&sp38); - if (var_f31 > (750.0f - var_r31->unk_88)) { - var_f30 = (750.0f - var_r31->unk_88) / var_f31; - VECScale(&sp38, &sp38, var_f30); - var_r31->unk_CC.x = sp38.x; - var_r31->unk_CC.z = sp38.z; - } - } - } - lbl_1_bss_30 = object->work[0]; -} - -void fn_1_9474(omObjData *object, Vec *arg1, Vec *arg2) -{ - Vec sp8; - float var_f31; - float var_f30; - - M421DllPlayerWork *work = object->data; - - sp8 = *arg1; - if (work->unk_38 == 0) { - var_f31 = VECMag(&sp8); - if (var_f31 > (750.0f - work->unk_88)) { - var_f30 = (750.0f - work->unk_88) / var_f31; - VECScale(&sp8, &sp8, var_f30); - } - } - *arg2 = sp8; -} - -void fn_1_956C(omObjData *object) -{ - Vec sp8; - float var_f31; - float var_f30; - - M421DllPlayerWork *var_r31; - M421DllPlayerWork *var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - for (var_r27 = 0; var_r27 < 2; var_r27++) { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - var_r31 = lbl_1_bss_48[var_r29]->data; - if (var_r31->unk_38 == 0) { - for (var_r28 = 0; var_r28 < 4; var_r28++) { - if (var_r29 != var_r28) { - var_r30 = lbl_1_bss_48[var_r28]->data; - if (var_r30->unk_38 == 0) { - VECSubtract(&var_r31->unk_CC, &var_r30->unk_CC, &sp8); - sp8.y = 0.0f; - var_f31 = VECMag(&sp8); - if (var_f31 < (var_r31->unk_80 + var_r30->unk_80)) { - if (var_f31 > 0.0f) { - var_f31 = 0.5f * ((var_r31->unk_80 + var_r30->unk_80) - var_f31); - } - else { - var_f31 = 0.5f * (var_r31->unk_80 + var_r30->unk_80); - sp8.x = frandmod(0x3E8) - 0x1F4; - sp8.z = frandmod(0x3E8) - 0x1F4; - } - VECNormalize(&sp8, &sp8); - VECScale(&sp8, &sp8, var_f31); - VECAdd(&var_r31->unk_CC, &sp8, &var_r31->unk_CC); - VECSubtract(&var_r30->unk_CC, &sp8, &var_r30->unk_CC); - } - } - } - } - if (var_r31->unk_CC.y < 0.0f) { - var_r31->unk_CC.y = 0.0f; - } - sp8 = var_r31->unk_CC; - sp8.y = 0.0f; - var_f31 = VECMag(&sp8); - if (var_f31 > (750.0f - var_r31->unk_80)) { - var_f30 = (750.0f - var_r31->unk_80) / var_f31; - VECScale(&sp8, &sp8, var_f30); - var_r31->unk_CC.x = sp8.x; - var_r31->unk_CC.z = sp8.z; - } - } - } - } -} - -void fn_1_982C(omObjData *object, u32 arg1) -{ - - M421DllPlayerWork *work = object->data; - if ((work->unk_08 != arg1) && (arg1 < 6)) { - float var_f31 = 60.0f * lbl_1_data_1BC[arg1].unk_04; - if (work->unk_08 < 0) { - var_f31 = 0.0f; - } - work->unk_08 = arg1; - CharModelMotionShiftSet( - work->unk_00, object->motion[lbl_1_data_1BC[arg1].unk_00], 60.0f * lbl_1_data_1BC[arg1].unk_08, var_f31, lbl_1_data_1BC[arg1].unk_10); - if (lbl_1_data_1BC[arg1].unk_0C >= 0.0f) { - Hu3DMotionShiftStartEndSet(object->model[0], 60.0f * lbl_1_data_1BC[arg1].unk_08, 60.0f * lbl_1_data_1BC[arg1].unk_0C); - } - } -} - -s32 fn_1_99B8(omObjData *object) -{ - - M421DllPlayerWork *work = object->data; - s32 var_r30 = 0; - if ((CharModelMotionEndCheck(work->unk_00) != 0) && (CharModelMotionShiftIDGet(work->unk_00) < 0)) { - var_r30 = 1; - } - return var_r30; -} - -s32 fn_1_9A2C(omObjData *object, u32 arg1) -{ - s32 var_r27; - - var_r27 = 0; - if (fn_1_99B8(object)) { - fn_1_982C(object, arg1); - var_r27 = 1; - } - return var_r27; -} - -void fn_1_9BFC(float arg8, float arg9, float *arg0) -{ - arg0[0] = arg9; - arg0[1] = arg8; - arg0[3] = (2.0f * -arg8) / (arg9 * arg9); - arg0[2] = -arg0[3] * arg9; -} - -void fn_1_9C38(ModelData *model, ParticleData *particle, Mtx matrix) -{ - HsfanimStruct01 *var_r31; - s32 var_r29; - - for (var_r31 = particle->unk_48, var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - if (var_r31->unk00 != 0) { - VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); - var_r31->unk2C += 2.0f; - var_r31->unk40.a *= 0.98f; - if (var_r31->unk00 < 24.0f) { - var_r31->unk40.a = 0.9f * var_r31->unk40.a; - } - if (--var_r31->unk00 == 0) { - var_r31->unk00 = 0; - var_r31->unk2C = 0.0f; - var_r31->unk40.a = 0; - } - } - } - DCStoreRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); -} - -void fn_1_9DD0(omObjData *object, Vec *arg1) -{ - Vec sp18; - GXColor sp14; - u8 sp10[4]; - u8 spC[4]; - float var_f31; - float var_f30; - - HsfanimStruct01 *var_r31; - ParticleData *var_r30; - s32 var_r29; - M421DllPlayerWork *work; - u32 var_r26; - - work = object->data; - var_r30 = Hu3DData[object->model[4]].unk_120; - GWCharColorGet(work->unk_00, &sp14); - sp10[0] = 100.0f + (0.47058824f * sp14.r); - sp10[1] = 100.0f + (0.47058824f * sp14.g); - sp10[2] = 100.0f + (0.47058824f * sp14.b); - spC[0] = (220.0f + (0.13725491f * sp14.r)) - sp10[0]; - spC[1] = (220.0f + (0.13725491f * sp14.g)) - sp10[1]; - spC[2] = (220.0f + (0.13725491f * sp14.b)) - sp10[2]; - var_r26 = 0x64; - for (var_r31 = var_r30->unk_48, var_r29 = 0; var_r29 < var_r30->unk_30; var_r29++, var_r31++) { - if (var_r31->unk00 != 0) { - continue; - } - var_r31->unk00 = 60.0f * (0.6f + (0.0005f * frandmod(0x3E8))); - var_f31 = frandmod(0x168); - var_f30 = frandmod(0x168); - sp18.y = sind(var_f31); - var_f31 = cosd(var_f31); - sp18.x = var_f31 * sind(var_f30); - sp18.z = var_f31 * cosd(var_f30); - var_f31 = 120.00001f; - VECScale(&sp18, &sp18, var_f31); - VECAdd(&sp18, arg1, &var_r31->unk34); - var_r31->unk08.x = 0.016666668f * (0.5f * sp18.x); - var_r31->unk08.y = 5.0f + (0.016666668f * (0.5f * sp18.y)); - var_r31->unk08.z = 0.016666668f * (0.5f * sp18.z); - var_r31->unk30 = 0.0031415902f * frandmod(0x3E8); - var_f31 = 0.001f * frandmod(0x3E8); - var_r31->unk2C = 80.0f + (220.0f * var_f31); - var_r31->unk40.a = 100.0f + (100.0f * (1.0f - var_f31)); - var_r31->unk40.r = sp10[0] + (spC[0] * var_f31); - var_r31->unk40.g = sp10[1] + (spC[1] * var_f31); - var_r31->unk40.b = sp10[2] + (spC[2] * var_f31); - if (--var_r26 < 1) { - break; - } - } -} - -void fn_1_A528(omObjData *object) -{ - M421DllPlayerDLWork *work; - s32 i; - - object->stat |= 0x100; - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M421DllPlayerDLWork), MEMORY_DEFAULT_NUM); - work = object->data; - memset(work, 0, sizeof(M421DllPlayerDLWork)); - work->unk_2F0 = GXGetTexBufferSize(0x280, 0x1E0, 5, 0, 0); - work->unk_2F4 = HuMemDirectMallocNum(HEAP_SYSTEM, work->unk_2F0, MEMORY_DEFAULT_NUM); - DCFlushRange(work->unk_2F4, work->unk_2F0); - for (i = 0; i < 4; i++) { - work->unk_40[i].r = work->unk_40[i].g = work->unk_40[i].b = 0xFF; - } - work->unk_40[0].a = 0x40; - work->unk_40[1].a = 0; - work->unk_40[2].a = 0xFF; - work->unk_40[3].a = 0; - for (i = 0; i < 4; i++) { - work->unk_50[i][0].x = work->unk_50[i][0].y = work->unk_50[i][0].z = 0.0f; - } - for (i = 1; i < 0xE; i++) { - work->unk_50[0][i].x = 100.0 * (1.7999999523162842 * sind((30.0f * i))); - work->unk_50[0][i].y = 100.0 * (1.7999999523162842 * cosd((30.0f * i))); - work->unk_50[0][i].z = 0.0f; - work->unk_50[1][i].x = 100.0 * (2.0 * cosd((30.0f * i))); - work->unk_50[1][i].y = 0.0f; - work->unk_50[1][i].z = 100.0 * (2.0 * sind((30.0f * i))); - work->unk_50[2][i].x = 100.0 * sind((30.0f * i)); - work->unk_50[2][i].y = 100.0 * (1.2000000476837158 * cosd((30.0f * i))); - work->unk_50[2][i].z = 0.0f; - work->unk_50[3][i].x = 100.0 * sind((30.0f * i)); - work->unk_50[3][i].y = 0.0f; - work->unk_50[3][i].z = 100.0 * cosd((30.0f * i)); - } - DCStoreRangeNoSync(work->unk_40, sizeof(work->unk_40)); - DCStoreRangeNoSync(work->unk_50, sizeof(work->unk_50)); - PPCSync(); - object->model[0] = Hu3DHookFuncCreate(fn_1_AB6C); - Hu3DModelLayerSet(object->model[0], 4); - object->model[1] = Hu3DHookFuncCreate(fn_1_ABDC); - Hu3DModelLayerSet(object->model[1], 6); - object->func = fn_1_AB68; -} - -void fn_1_AB68(omObjData *object) { } - -void fn_1_AB6C(ModelData *model, Mtx matrix) -{ - M421DllPlayerDLWork *work = lbl_1_bss_44->data; - GXPixModeSync(); - GXSetTexCopySrc(0, 0, 0x280, 0x1E0); - GXSetTexCopyDst(0x280, 0x1E0, GX_TF_RGB5A3, GX_FALSE); - GXCopyTex(work->unk_2F4, GX_FALSE); - GXPixModeSync(); -} - -void fn_1_ABDC(ModelData *model, Mtx matrix) -{ - Mtx sp118; - Mtx spE8; - Mtx spB8; - Mtx sp88; - Mtx sp58; - Mtx sp28; - GXTexObj sp8; - - M421DllPlayerDLWork *work; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - work = lbl_1_bss_44->data; - MTXTrans(spE8, -400.0f, 400.0f, -700.0f); - MTXConcat(Hu3DCameraMtx, spE8, sp88); - GXLoadPosMtxImm(sp88, 0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - GXInitTexObj(&sp8, work->unk_2F4, 0x280, 0x1E0, 5, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXInitTexObjLOD(&sp8, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); - GXLoadTexObj(&sp8, GX_TEXMAP0); - GXSetNumTexGens(1); - C_MTXLightPerspective(spB8, 41.5f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); - MTXConcat(spB8, Hu3DCameraMtx, spB8); - MTXInverse(Hu3DCameraMtx, sp58); - MTXConcat(sp58, sp88, sp118); - MTXConcat(spB8, sp118, spE8); - GXLoadTexMtxImm(spE8, 0x1E, GX_MTX3x4); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 0x1E, 0, 0x7D); - MTXInverse(Hu3DCameraMtx, sp28); - sp28[0][3] = sp28[1][3] = sp28[2][3] = 0.0f; - GXSetNumTevStages(1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_FALSE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_RASA); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_FALSE, GX_TEVPREV); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET); - GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX8); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX8); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - for (var_r30 = 0; var_r30 < 4; var_r30++) { - work->unk_00[var_r30] = ((M421DllPlayerWork *)lbl_1_bss_48[var_r30]->data)->unk_F0; - if (work->unk_30[var_r30] == 2) { - var_r27 = 2; - } - else { - var_r27 = 0; - } - var_r28 = var_r27; - MTXTrans(spE8, work->unk_00[var_r30].x, work->unk_00[var_r30].y, work->unk_00[var_r30].z); - MTXConcat(spE8, sp28, spE8); - MTXConcat(Hu3DCameraMtx, spE8, sp88); - GXLoadPosMtxImm(sp88, 0); - MTXConcat(sp58, sp88, sp118); - MTXConcat(spB8, sp118, spE8); - GXLoadTexMtxImm(spE8, 0x1E, GX_MTX3x4); - GXSetArray(GX_VA_POS, work->unk_50[var_r28], 0xC); - GXSetArray(GX_VA_CLR0, &work->unk_40[var_r28], 4); - GXBegin(GX_TRIANGLEFAN, GX_VTXFMT0, 0xE); - GXPosition1x8(0); - GXPosition1x8(0); - for (var_r29 = 1; var_r29 < 0xE; var_r29++) { - GXColor1x8(var_r29); - GXColor1x8(1); - } - MTXTrans(spE8, work->unk_00[var_r30].x, 0.0f, work->unk_00[var_r30].z); - MTXConcat(Hu3DCameraMtx, spE8, sp88); - GXLoadPosMtxImm(sp88, 0); - MTXConcat(sp58, sp88, sp118); - MTXConcat(spB8, sp118, spE8); - GXLoadTexMtxImm(spE8, 0x1E, GX_MTX3x4); - GXSetArray(GX_VA_POS, work->unk_50[var_r28 + 1], 0xC); - GXSetArray(GX_VA_CLR0, &work->unk_40[var_r28], 4); - GXBegin(GX_TRIANGLEFAN, GX_VTXFMT0, 0xE); - GXPosition1x8(0); - GXPosition1x8(0); - for (var_r29 = 1; var_r29 < 0xE; var_r29++) { - GXColor1x8(var_r29); - GXColor1x8(1); - } - } -} diff --git a/src/REL/m422Dll/main.c b/src/REL/m422Dll/main.c deleted file mode 100755 index 79b64b3c..00000000 --- a/src/REL/m422Dll/main.c +++ /dev/null @@ -1,1762 +0,0 @@ -#include "game/audio.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/esprite.h" -#include "game/frand.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "game/wipe.h" - -#include "dolphin.h" -#include "ext_math.h" - - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ u32 unk04; -} StructBss104; // Size 4 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ float unk04[3]; -} StructBss54; // Size 0x10 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ s32 unk20; - /* 0x24 */ s32 unk24; - /* 0x28 */ float unk28; - /* 0x2C */ float unk2C; - /* 0x30 */ float unk30; - /* 0x34 */ float unk34; - /* 0x38 */ float unk38; - /* 0x3C */ float unk3C; - /* 0x40 */ s32 unk40; -} StructBss3CData; // Size 0x44 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ u32 unk08; - /* 0x0C */ float unk0C; - /* 0x10 */ float unk10; - /* 0x14 */ float unk14; - /* 0x18 */ float unk18; - /* 0x1C */ float unk1C; - /* 0x20 */ float unk20; - /* 0x24 */ float unk24; - /* 0x28 */ char unk28[4]; - /* 0x2C */ s32 unk2C; -} StructDataF0; // Size 0x30 - -void fn_1_B480(omObjData *arg0); - -StructBss104 lbl_1_bss_104[3][8]; -StructBss54 lbl_1_bss_54[11]; -omObjData *lbl_1_bss_50; -omObjData *lbl_1_bss_4C; -omObjData *lbl_1_bss_3C[4]; -omObjData *lbl_1_bss_38; -s32 lbl_1_bss_34; -Process *lbl_1_bss_30; -s16 lbl_1_bss_2E; -s16 lbl_1_bss_2C; -s32 lbl_1_bss_28; -s32 lbl_1_bss_24; -s32 lbl_1_bss_20; -s32 lbl_1_bss_1C; // unused -s32 lbl_1_bss_18; -s32 lbl_1_bss_14; -s32 lbl_1_bss_10; // unused -s32 lbl_1_bss_C; -float lbl_1_bss_8; -float lbl_1_bss_4; -float lbl_1_bss_0; - -const float lbl_1_rodata_10[12] = { 25.0f, 95.0f, 25.0f, 75.0f, 75.0f, 75.0f, 35.0f, 35.0f, 35.0f, 25.0f, 50.0f, 50.0f }; - -const float lbl_1_rodata_40[12] = { 75.0f, 0.0f, 75.0f, 0.0f, 0.0f, 0.0f, 20.0f, 20.0f, 20.0f, 50.0f, 0.0f, 0.0f }; - -const float lbl_1_rodata_70[12] = { 75.0f, 0.0f, 37.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 70.0f, 0.0f, 0.0f }; - -const float lbl_1_rodata_A0[12] = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 75.0f, 50.0f, 0.0f }; - -const float lbl_1_rodata_D0[12] = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }; - -const float lbl_1_rodata_100[12] = { 30.0f, 30.0f, 30.0f, 30.0f, 30.0f, 30.0f, 40.0f, 40.0f, 40.0f, 0.0f, 0.0f, 0.0f }; - -const float lbl_1_rodata_130[12] = { 290.0f, 290.0f, 290.0f, 370.0f, 370.0f, 370.0f, 450.0f, 450.0f, 450.0f, 0.0f, 0.0f, 0.0f }; - -s32 lbl_1_data_0[] = { DATA_MAKE_NUM(DATADIR_MGCONST, 41), DATA_MAKE_NUM(DATADIR_MGCONST, 40), DATA_MAKE_NUM(DATADIR_MGCONST, 51), - DATA_MAKE_NUM(DATADIR_MGCONST, 51), DATA_MAKE_NUM(DATADIR_MGCONST, 8), DATA_MAKE_NUM(DATADIR_M422, 51), DATA_MAKE_NUM(DATADIR_MGCONST, 0), - DATA_MAKE_NUM(DATADIR_MGCONST, 37), DATA_MAKE_NUM(DATADIR_MGCONST, 36), DATA_MAKE_NUM(DATADIR_MGCONST, 51), DATA_MAKE_NUM(DATADIR_MGCONST, 51), - DATA_MAKE_NUM(DATADIR_MGCONST, 8), DATA_MAKE_NUM(DATADIR_M422, 51), DATA_MAKE_NUM(DATADIR_MGCONST, 12), DATA_MAKE_NUM(DATADIR_MGCONST, 12), - DATA_MAKE_NUM(DATADIR_MGCONST, 12) }; - -s32 lbl_1_data_40[] = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x005E0000, 0x00190000, 0x006C0000, 0x00890000, 0x00840000, 0x00100000, - 0x000C0000, 0x00800000 }; - -s32 lbl_1_data_A0[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), DATA_MAKE_NUM(DATADIR_MARIOMOT, 2), DATA_MAKE_NUM(DATADIR_MARIOMOT, 3), - DATA_MAKE_NUM(DATADIR_M422, 0), DATA_MAKE_NUM(DATADIR_M422, 8), DATA_MAKE_NUM(DATADIR_MARIOMOT, 6), DATA_MAKE_NUM(DATADIR_MARIOMOT, 23), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 24) }; - -u32 lbl_1_data_C0[] = { 0, 0, 0, 1, 1, 0, 0, 0 }; -u8 lbl_1_data_E0[] = { 0, 0, 0, 1, 0, 1, 1 }; -u8 lbl_1_data_E7[] = { 8, 8, 8, 0, 12, 0, 8, 8, 0 }; -StructDataF0 lbl_1_data_F0[12][10] = { 0 }; - -char *lbl_1_data_1828[] - = { "m422al01-cube8", "m422al02-cyl143", "m422al03-cube11", "m422am01-cyl76", "m422am02-cube13", "m422am03-cube12", "m422as01-cube9", - "m422test11-cube9", "m422test12-cube9", "m422m09m-m422m09m", "coin", "m422a04-sphere2", "m422m09m-m422m09m", "m422m09m-m422m09m", - "m422m09m-m422m09m", "m422m09m-m422m09m", "m422m09m-m422m09m", "m422m09m-m422m09m", "m422m09m-m422m09m", "m422m09m-m422m09m" }; - -s32 lbl_1_data_1878[11] = { 0 }; -s32 lbl_1_data_18A4[2] = { 0 }; -s32 lbl_1_data_18AC = -1; -s32 lbl_1_data_18B0 = -1; - -float lbl_1_data_18B4[][4] - = { { 0.0f, 300.0f, 450.0f, 180.0f }, { -200.0f, 0.0f, 1050.0f, 180.0f }, { 0.0f, 0.0f, 1050.0f, 180.0f }, { 200.0f, 0.0f, 1050.0f, 180.0f } }; - -s32 lbl_1_data_18F4[] = { 0, 0 }; - -float lbl_1_data_18FC = 1.0f; // unused -s32 lbl_1_data_1900 = -1; - -void fn_1_A0(void) -{ - Center.x += 10.0 * (((HuPadBtn[0] & 2) != 0) - ((HuPadBtn[0] & 1) != 0)); - Center.z -= 10.0 * (((HuPadBtn[0] & 8) != 0) - ((HuPadBtn[0] & 4) != 0)); - Center.y += ((HuPadTrigL[0] - HuPadTrigR[0]) / 128.0) * 30.0; - CRot.y += HuPadSubStkX[0] / 16.0; - CRot.x += HuPadSubStkY[0] / -16.0; -} - -void fn_1_2FC(omObjData *arg0) -{ - Mtx sp254; - s32 sp1CC; - s32 sp1C8; - s32 sp1A4; - float sp1A0; - float sp158; - float sp154; - float sp150; - float sp14C; - float sp148; - s32 sp144; - float sp140; - float sp13C; - float sp138; - float sp134; - float sp130; - float sp12C; - float sp128; - s32 sp124; - float sp120; - float sp11C; - float sp118; - s32 var_r17; - s32 sp114; - float temp_f23; - float temp_f22; - float temp_f25; - float temp_f24; - float temp_f27; - float temp_f26; - float phi_f29; - float phi_f28; - StructDataF0 *temp_r28; - StructDataF0 *temp_r29; - StructBss3CData *temp_r31; - s32 var_r19; - s32 phi_r23; - s32 phi_r26; - s32 phi_r22; - s32 phi_r21; - s16 phi_r25; - s32 phi_r24; - s32 phi_r20; - s32 var_r18; - s32 i; - - temp_r31 = arg0->data; - sp158 = 0.0f; - sp154 = 0.0f; - sp150 = 0.0f; - phi_r25 = -1; - if (temp_r31->unk20 == 0 || temp_r31->unk20 == 1) { - arg0->trans.z += lbl_1_bss_0; - } - temp_r31->unk2C = temp_r31->unk34 = 0.0f; - if (lbl_1_bss_34 != 1004 || !(lbl_1_bss_8 < 45.0f)) { - if (lbl_1_bss_34 >= 1004 && temp_r31->unk20 != 0) { - temp_f25 = lbl_1_data_18B4[temp_r31->unk00][0] - arg0->trans.x; - temp_f24 = lbl_1_data_18B4[temp_r31->unk00][2] - arg0->trans.z; - sp14C = 270.0 + atan2d(temp_f25, temp_f24) - CRot.y; - sp148 = sqrtf(temp_f25 * temp_f25 + temp_f24 * temp_f24); - sp148 = (sp148 > 100.0f) ? 72.0f : (sp148 < 12.0f) ? 0.0f : (72.0f * (sp148 / 100.0f)); - sp154 = sp148 * cosd(sp14C); - sp150 = sp148 * sind(sp14C); - if (sp148 == 0.0f) { - temp_r31->unk20 = 0; - } - } - else if (temp_r31->unk20 == 1) { - if (temp_r31->unk0C != -1) { - sp154 = HuPadStkX[temp_r31->unk0C]; - sp150 = HuPadStkY[temp_r31->unk0C]; - } - else { - float sp238[7] = { 0 }; - float sp21C[7] = { 0 }; - float sp1EC[] = { -400.0f, -550.0f, -700.0f, -800.0f }; - float sp1DC[] = { -800.0f, -900.0f, -1100.0f, -2100.0f }; - Vec sp1D0; - - sp154 = sp150 = 0.0f; - for (i = 0; i < 7; i++) { - sp238[i] = (temp_r31->unk00 == 0 ? 600.0f : 1400.0f) + sp1EC[temp_r31->unk10]; - sp21C[i] = (temp_r31->unk00 == 0 ? 600.0f : 1400.0f) + sp1EC[temp_r31->unk10]; - } - for (i = 0; i < 12; i++) { - for (phi_r23 = 0; phi_r23 < (i < 10 ? 4 : 10); phi_r23++) { - temp_r28 = &lbl_1_data_F0[i][phi_r23]; - sp144 = (i < 10) ? (i * 4 + 43 + phi_r23) : ((i - 10) * 10 + 83 + phi_r23); - if (temp_r28->unk04 != 0 && !(temp_r28->unk14 < 0.0f)) { - Hu3DModelObjPosGet(lbl_1_bss_38->model[sp144], lbl_1_data_1828[temp_r28->unk00], &sp1D0); - phi_r26 = (s32)(300.0f + sp1D0.x + 2000.0f) / 100 - 20; - phi_r26--; - for (phi_r22 = 0; phi_r22 < 3; phi_r26++, phi_r22++) { - if (phi_r26 >= 0 && phi_r26 < 7 - && arg0->trans.z + 50.0f >= sp1D0.z - lbl_1_rodata_10[temp_r28->unk00] - lbl_1_rodata_70[temp_r28->unk00] - && sp1D0.x - lbl_1_rodata_10[temp_r28->unk00] - lbl_1_rodata_70[temp_r28->unk00] - 50.0f < (phi_r26 - 3) * 100 - && sp1D0.x + lbl_1_rodata_10[temp_r28->unk00] + lbl_1_rodata_70[temp_r28->unk00] + 50.0f > (phi_r26 - 3) * 100) { - if (temp_r28->unk00 < 10) { - if (sp238[phi_r26] < sp1D0.z + lbl_1_rodata_10[temp_r28->unk00] + lbl_1_rodata_70[temp_r28->unk00]) { - sp238[phi_r26] = sp1D0.z + lbl_1_rodata_10[temp_r28->unk00] + lbl_1_rodata_70[temp_r28->unk00]; - } - } - else { - if (sp21C[phi_r26] < sp1D0.z + lbl_1_rodata_10[temp_r28->unk00] + lbl_1_rodata_70[temp_r28->unk00]) { - sp21C[phi_r26] = sp1D0.z + lbl_1_rodata_10[temp_r28->unk00] + lbl_1_rodata_70[temp_r28->unk00] - + (temp_r28->unk00 < 11); - } - } - } - } - } - } - } - phi_r26 = (s32)(300.0f + arg0->trans.x + 2000.0f) / 100 - 20; - phi_r26 = (phi_r26 < 0) ? 0 : (phi_r26 >= 7) ? 6 : phi_r26; - for (i = 0, phi_r22 = phi_r26; i < 7; i++) { - var_r19 = ((temp_r31->unk00 / 2) % 2 == 0) ? i : (6 - i); - if (sp21C[phi_r22] - 60.0 * fabs(phi_r22 - phi_r26) < sp21C[var_r19] - 60.0 * fabs(var_r19 - phi_r26) - && sp238[var_r19] < sp21C[var_r19]) { - phi_r22 = var_r19; - } - } - sp238[phi_r22] -= 1.0f; - for (i = 0, phi_r23 = phi_r26; i < 7; i++) { - var_r17 = ((temp_r31->unk00 / 2) % 2 == 0) ? i : (6 - i); - if (sp238[phi_r23] > sp238[var_r17]) { - phi_r23 = var_r17; - } - } - sp140 = arg0->trans.z - (temp_r31->unk00 == 0 ? -100.0f : 700.0f); - sp13C = (((sp238[phi_r22] > sp140 - 400.0f || sp140 > 550.0f) ? phi_r23 - : (sp140 > 500.0f) ? ((sp140 - 500.0f) / 50.0f) * phi_r23 + (1.0f - (sp140 - 500.0f) / 50.0f) * phi_r22 - : phi_r22) - - 3.0f) - * 100.0f - - arg0->trans.x; - { - float sp1C4[] = { -21.0f, 0.0f, 15.0f }; - float sp1B8[] = { 60.0f, 65.0f, 53.0f }; - float sp1AC[] = { 54.0f, 72.0f, 59.0f }; - float sp1A0[] = { -15.0f, 7.0f, 22.0f }; - - var_r18 = (temp_r31->unk14 / 5) % 3; - var_r18 = (temp_r31->unk00 == 0) ? (arg0->trans.z < 200.0f ? 0 : 1) : 2; - sp13C /= 20.0f; - sp13C = (sp13C < -1.0f) ? sp13C : (sp13C > 1.0f) ? 1.0f : sp13C; - sp138 = (sp13C < 0.0f) ? -sp13C : sp13C; - sp134 = 1.0f - sp138; - sp154 = (sp13C < 0.0f) ? (36.0f * sp134 + sp138 * sp1C4[var_r18]) : (36.0f * sp134 + sp138 * sp1B8[var_r18]); - sp150 = (sp13C < 0.0f) ? (42.0f * sp134 + sp138 * sp1AC[var_r18]) : (42.0f * sp134 + sp138 * sp1A0[var_r18]); - } - temp_f23 = temp_r31->unk38 - sp154; - temp_f22 = temp_r31->unk3C - sp150; - if (sqrtf(temp_f23 * temp_f23 + temp_f22 * temp_f22) > 50.0f) { - temp_r31->unk40++; - } - else { - temp_r31->unk40 = 0; - } - if (temp_r31->unk40 >= 2) { - sp154 = temp_r31->unk38; - sp150 = temp_r31->unk3C; - temp_r31->unk40 = 0; - } - temp_r31->unk38 = sp154; - temp_r31->unk3C = sp150; - } - } - } - if (temp_r31->unk20 == 2) { - sp130 = arg0->trans.y; - sp12C = arg0->trans.z; - phi_r25 = 4; - arg0->trans.z += 9.375; - if (temp_r31->unk00 == 0 && lbl_1_data_1900 != -1 && arg0->trans.z > (arg0->trans.y > 0.0f ? 620.0f : 1400.0f) + 50.0f - && sp12C <= (arg0->trans.y > 0.0f ? 620.0f : 1400.0f) + 50.0f) { - HuAudFXStop(lbl_1_data_1900); - lbl_1_data_1900 = -1; - } - temp_r31->unk30 -= 1.0f; - arg0->trans.y += (arg0->trans.z > (arg0->trans.y > 0.0f ? 620.0f : 1400.0f) - 50.0f) ? temp_r31->unk30 : 0.0f; - if (temp_r31->unk00 == 0 && lbl_1_data_1900 == -1 && arg0->trans.z > 670.0f && arg0->trans.z < 1450.0f && arg0->trans.y == 0.0f - && sp130 > 0.0f) { - lbl_1_data_1900 = HuAudFXPlay(0x612); - } - if (arg0->trans.z < 1400.0f && arg0->trans.y <= 0.0f) { - arg0->trans.y = 0.0f; - temp_r31->unk30 = 0.0f; - } - arg0->rot.y += (arg0->rot.y < 0.0f) ? 360 : (arg0->rot.y > 360.0f) ? -360 : 0; - arg0->rot.y = (arg0->rot.y > 140.0f && arg0->rot.y < 220.0f) ? 180.0f - : (arg0->rot.y < 180.0f) ? (40.0f + arg0->rot.y) - : (arg0->rot.y > 180.0f) ? (arg0->rot.y - 40.0f) - : arg0->trans.y; - ; - if (lbl_1_bss_C % 4 < 3) { - Hu3DModelAttrReset(arg0->model[0], 1); - } - else { - Hu3DModelAttrSet(arg0->model[0], 1); - } - if (arg0->trans.y < -500.0f) { - temp_r31->unk20 = 3; - Hu3DModelAttrSet(arg0->model[0], 1); - } - } - else if (temp_r31->unk20 != 3 && temp_r31->unk20 != 4) { - if (temp_r31->unk20 == 5) { - if (temp_r31->unk24 == 0) { - phi_r25 = 3; - Hu3DMotionSpeedSet(arg0->model[0], 1.0f); - Hu3DModelAttrReset(arg0->model[0], 1); - } - temp_r31->unk24++; - if (temp_r31->unk24 == 30) { - temp_r31->unk1C = -1; - temp_r31->unk18 = phi_r25 = 0; - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[0], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - if (temp_r31->unk24 >= 31 && temp_r31->unk24 <= 38) { - arg0->trans.x -= 150.0 * -sind(arg0->rot.y) / 7.0; - arg0->trans.z -= 150.0 * -cosd(arg0->rot.y) / 7.0; - } - else { - arg0->trans.x = lbl_1_data_F0[9][temp_r31->unk00].unk0C; - arg0->trans.y = (temp_r31->unk00 == 0) ? 300 : 0; - arg0->trans.z = lbl_1_data_F0[9][temp_r31->unk00].unk14; - } - if (temp_r31->unk24 == 34 && temp_r31->unk00 == 0) { - Hu3DMotionTimeSet(lbl_1_bss_38->model[temp_r31->unk00 + 79], 15.0f + Hu3DMotionTimeGet(lbl_1_bss_38->model[temp_r31->unk00 + 79])); - } - if (temp_r31->unk24 == 38) { - temp_r31->unk20 = 1; - } - } - else { - float temp_f31 = 0.25 * sp154; - float temp_f30 = 0.25 * -sp150; - Vec sp194 = { 0.0f, 0.0f, 0.0f }; - - sp194.x = temp_f31; - sp194.z = temp_f30; - MTXRotRad(sp254, 'y', MTXDegToRad(CRot.y)); - MTXMultVec(sp254, &sp194, &sp194); - temp_f31 = sp194.x; - temp_f30 = sp194.z; - sp158 = sqrtf(temp_f31 * temp_f31 + temp_f30 * temp_f30); - if (sp158 >= 0.5f) { - if (sp158 < 10.0f) { - temp_r31->unk2C = temp_f31; - temp_r31->unk34 += temp_f30; - } - else { - temp_f31 /= sp158; - temp_f30 /= sp158; - sp158 = 10.0f; - temp_r31->unk2C = temp_f31 * sp158; - temp_r31->unk34 = temp_f30 * sp158; - } - temp_r31->unk28 = sp158; - arg0->rot.y = atan2d(temp_r31->unk2C, temp_r31->unk34); - if (temp_r31->unk20 == 1) { - if (temp_r31->unk28 >= 8.0f) { - phi_r25 = 2; - } - else { - phi_r25 = 1; - } - } - } - else if (temp_r31->unk20 == 1) { - phi_r25 = 0; - } - if (lbl_1_bss_34 == 1005 && (temp_r31->unk20 == 1 || temp_r31->unk20 == 0)) { - temp_r31->unk1C = (lbl_1_data_18F4[temp_r31->unk00 == 0 ? 0 : 1] > 0) ? 6 : 7; - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP); - temp_r31->unk20 = 0; - if (lbl_1_bss_8 == 1.0f && lbl_1_data_18F4[temp_r31->unk00 == 0 ? 0 : 1] > 0) { - s32 sp1FC[] = { 0x122, 0x162, 0x1A2, 0x1E2, 0x222, 0x262, 0x2A2, 0x2E2 }; - - HuAudFXPlay(sp1FC[temp_r31->unk08]); - } - } - if (lbl_1_bss_34 >= 1004 && temp_r31->unk20 == 0) { - arg0->rot.y = 2.4f + 0.8f * arg0->rot.y; - if (temp_r31->unk18 != 6 && temp_r31->unk18 != 7) { - phi_r25 = 0; - } - } - arg0->trans.x += temp_r31->unk2C; - arg0->trans.z += temp_r31->unk34; - if (temp_r31->unk00 != 0) { - for (phi_r21 = 1; phi_r21 < 4; phi_r21++) { - temp_f27 = lbl_1_bss_3C[phi_r21]->trans.x - arg0->trans.x; - phi_f29 = lbl_1_bss_3C[phi_r21]->trans.z - arg0->trans.z; - if (phi_r21 != temp_r31->unk00) { - if (temp_f27 == 0.0f && phi_f29 == 0.0f) { - phi_f29 = -1.0f; - } - sp128 = sqrtf(temp_f27 * temp_f27 + phi_f29 * phi_f29); - if (sp128 < 100.0f) { - temp_f27 *= (100.0f / sp128); - phi_f29 *= (100.0f / sp128); - arg0->trans.x = lbl_1_bss_3C[phi_r21]->trans.x - temp_f27; - arg0->trans.z = lbl_1_bss_3C[phi_r21]->trans.z - phi_f29; - } - } - } - } - if (lbl_1_bss_34 > 1001) { - for (phi_r24 = 0; phi_r24 < 12; phi_r24++) { - if (phi_r24 == 9 && lbl_1_bss_34 <= 1001) { } - for (phi_r20 = 0; phi_r20 < (phi_r24 < 10 ? 4 : 10); phi_r20++) { - temp_r29 = &lbl_1_data_F0[phi_r24][phi_r20]; - sp124 = (phi_r24 < 10) ? (phi_r24 * 4 + 43 + phi_r20) : ((phi_r24 - 10) * 10 + 83 + phi_r20); - if (temp_r29->unk04 != 0 && temp_r29->unk2C <= 0) { - Vec sp188; - - Hu3DModelObjPosGet(lbl_1_bss_38->model[sp124], lbl_1_data_1828[temp_r29->unk00], &sp188); - if (((temp_r29->unk04 == 3 || (temp_r29->unk04 == 4 && sp188.y >= 250.0f)) && temp_r31->unk00 == 0) - || (((temp_r29->unk04 == 4 && sp188.y < 250.0f) || temp_r29->unk04 == 5 || temp_r29->unk04 == 6) - && temp_r31->unk00 != 0)) { - sp11C = sp188.x; - sp118 = sp188.z; - if (lbl_1_rodata_40[temp_r29->unk00] > 0.0f || lbl_1_rodata_70[temp_r29->unk00] > 0.0f) { - sp11C = (arg0->trans.x < sp11C - lbl_1_rodata_40[temp_r29->unk00]) ? (sp11C - lbl_1_rodata_40[temp_r29->unk00]) - : (arg0->trans.x > sp11C + lbl_1_rodata_40[temp_r29->unk00]) ? (sp11C + lbl_1_rodata_40[temp_r29->unk00]) - : arg0->trans.x; - sp118 = (arg0->trans.z < sp118 - lbl_1_rodata_70[temp_r29->unk00]) ? (sp118 - lbl_1_rodata_70[temp_r29->unk00]) - : (arg0->trans.z > sp118 + lbl_1_rodata_70[temp_r29->unk00]) ? (sp118 + lbl_1_rodata_70[temp_r29->unk00]) - : arg0->trans.z; - } - temp_f26 = sp11C - arg0->trans.x; - phi_f28 = sp118 - arg0->trans.z; - if (phi_r24 < 10 && temp_f26 == 0.0f && phi_f28 == 0.0f) { - phi_f28 = -1.0f; - } - sp120 = sqrtf(temp_f26 * temp_f26 + phi_f28 * phi_f28); - if (sp120 < 50.0f + lbl_1_rodata_10[temp_r29->unk00]) { - if (phi_r24 < 10) { - temp_f26 *= (50.0f + lbl_1_rodata_10[temp_r29->unk00]) / sp120; - phi_f28 *= (50.0f + lbl_1_rodata_10[temp_r29->unk00]) / sp120; - arg0->trans.x = sp11C - temp_f26; - arg0->trans.z = sp118 - phi_f28; - } - else { - temp_r29->unk04 = 0; - lbl_1_data_18F4[temp_r31->unk00 == 0 ? 0 : 1] += (phi_r24 == 10 ? 1 : 5); - CharModelCoinEffectCreate(-1, &sp188); - if (lbl_1_bss_54[phi_r24 == 10 ? 8 : 9].unk00 < 3) { - lbl_1_bss_54[phi_r24 == 10 ? 8 : 9].unk04[lbl_1_bss_54[phi_r24 == 10 ? 8 : 9].unk00] = 0.0f; - lbl_1_bss_54[phi_r24 == 10 ? 8 : 9].unk00++; - } - } - } - } - } - } - } - } - if (arg0->trans.z > (temp_r31->unk00 == 0 ? 620.0f : 1400.0f) - 50.0f) { - temp_r31->unk20 = 2; - temp_r31->unk30 = 0.0f; - HuAudCharVoicePlay(temp_r31->unk08, 0x123); - } - if (temp_r31->unk20 != 2) { - if (arg0->trans.x > (temp_r31->unk00 == 0 ? 400 : 400) - 50.0f) { - arg0->trans.x = (temp_r31->unk00 == 0 ? 400 : 400) - 50.0f; - } - if (arg0->trans.x < -(temp_r31->unk00 == 0 ? 400 : 400) + 50.0f) { - arg0->trans.x = -(temp_r31->unk00 == 0 ? 400 : 400) + 50.0f; - } - if (arg0->trans.z < (temp_r31->unk00 == 0 ? 0.0f : 600.0f) + 50.0f) { - arg0->trans.z = (temp_r31->unk00 == 0 ? 0.0f : 600.0f) + 50.0f; - } - if (arg0->trans.z > (temp_r31->unk00 == 0 ? 620.0f : 1400.0f) - 50.0f) { - arg0->trans.z = (temp_r31->unk00 == 0 ? 620.0f : 1400.0f) - 50.0f; - } - } - } - } - if (lbl_1_bss_34 == 1001) { - sp114 = temp_r31->unk00; - if (lbl_1_bss_8 == 23.0f) { - Hu3DMotionSet(lbl_1_bss_38->model[temp_r31->unk00 + 79], lbl_1_bss_38->motion[temp_r31->unk00 + 22]); - Hu3DModelAttrReset(lbl_1_bss_38->model[temp_r31->unk00 + 79], HU3D_MOTATTR_PAUSE); - if (lbl_1_bss_54[4].unk00 < 3) { - lbl_1_bss_54[4].unk04[lbl_1_bss_54[4].unk00] = 0.0f; - lbl_1_bss_54[4].unk00++; - } - } - if (lbl_1_bss_8 == 43.0f) { - Hu3DModelAttrSet(lbl_1_bss_38->model[temp_r31->unk00 + 79], HU3D_MOTATTR_PAUSE); - } - if (lbl_1_bss_8 == 80.0f) { - Hu3DMotionTimeSet(lbl_1_bss_38->model[temp_r31->unk00 + 79], 20.0f); - Hu3DModelAttrReset(lbl_1_bss_38->model[temp_r31->unk00 + 79], HU3D_MOTATTR_PAUSE); - } - if (lbl_1_bss_8 == 100.0f && lbl_1_bss_54[0].unk00 < 3) { - lbl_1_bss_54[0].unk04[lbl_1_bss_54[0].unk00] = 0.0f; - lbl_1_bss_54[0].unk00++; - } - if (lbl_1_bss_8 == 106.0f) { - Hu3DModelAttrReset(lbl_1_bss_38->model[temp_r31->unk00 + 39], 1); - Hu3DParticleCntSet(lbl_1_bss_38->model[temp_r31->unk00 + 39], 0); - lbl_1_bss_18 = 1; - } - if (lbl_1_bss_8 == 60.0f) { - Hu3DModelAttrReset(arg0->model[0], 1); - Hu3DMotionSet(arg0->model[0], arg0->motion[3]); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_PAUSE); - } - if (lbl_1_bss_8 == 61.0f) { - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_PAUSE); - } - if (lbl_1_bss_8 == 120.0f) { - phi_r25 = 3; - Hu3DModelAttrReset(arg0->model[0], 1); - } - if (lbl_1_bss_8 == 155.0f) { - phi_r25 = 0; - } - arg0->trans.x = lbl_1_data_F0[9][sp114].unk0C; - arg0->trans.z = (lbl_1_bss_8 > 163.0f) ? arg0->trans.z : (lbl_1_bss_8 > 155.0f) ? (arg0->trans.z - 18.75) : lbl_1_data_F0[9][sp114].unk14; - } - if (temp_r31->unk1C >= 0) { - phi_r25 = temp_r31->unk1C; - } - if (phi_r25 >= 0 && phi_r25 != temp_r31->unk18) { - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[phi_r25], 0.0f, lbl_1_data_E7[phi_r25], - (lbl_1_data_E0[phi_r25] != 0) ? HU3D_MOTATTR_NONE : HU3D_MOTATTR_LOOP); - temp_r31->unk18 = phi_r25; - } -} - -s32 fn_1_34BC(float arg0, float arg1, float arg2, s32 arg3, s32 arg4) -{ - Vec sp1C; - float var_f27; - float var_f28; - float var_f25; - float var_f26; - float temp_f30; - float var_f31; - float sp18; - StructDataF0 *temp_r31; - s32 var_r24; - s32 i; - s32 j; - - for (i = 0; i < 12; i++) { - for (j = 0; j < (i < 10 ? 4 : 10); j++) { - temp_r31 = &lbl_1_data_F0[i][j]; - var_r24 = (i < 10) ? (i * 4 + 43 + j) : ((i - 10) * 10 + 83 + j); - if (temp_r31->unk04 != 0 && temp_r31->unk2C <= 0) { - Hu3DModelObjPosGet(lbl_1_bss_38->model[var_r24], lbl_1_data_1828[temp_r31->unk00], &sp1C); - if (temp_r31->unk04 == 3 || temp_r31->unk04 == 5) { - var_f27 = (temp_r31->unk08 == 0) ? temp_r31->unk0C : sp1C.x; - var_f28 = (temp_r31->unk08 == 0) ? temp_r31->unk14 : sp1C.z; - var_f25 = 50.0f + lbl_1_rodata_70[temp_r31->unk00]; - var_f26 = 50.0f + lbl_1_rodata_70[temp_r31->unk00]; - if (temp_r31->unk04 == 3) { - float sp28[][12] = { { -25.0f, -25.0f, -25.0f, -6.6875f, -6.6875f, -6.6875f, 62.765625f, 62.765625f, 62.765625f, 51.99469f, - 76.875f, 45.0f }, - { -27.647583f, -27.647583f, -27.647583f, -9.64325f, -9.64325f, -9.64325f, 60.49022f, 60.49022f, 60.49022f, 51.99469f, - 76.875f, 45.0f } }; - - var_f28 += sp28[temp_r31->unk08 == 0 ? 0 : 1][temp_r31->unk00]; - var_f25 += 50.0f; - var_f26 += 50.0f; - } - else if (temp_r31->unk04 == 5 && temp_r31->unk08 == 0) { - var_f28 += lbl_1_rodata_130[temp_r31->unk00]; - } - else if (temp_r31->unk04 == 1) { - var_f27 = (temp_r31->unk0C < 0.0f ? -1 : 1) * 321; - var_f28 = 880.0f - lbl_1_bss_0 * (100 - temp_r31->unk08); - } - if (temp_r31->unk00 == 9) { - var_f26 += 300.0f; - } - if (lbl_1_rodata_40[temp_r31->unk00] > 0.0f || var_f25 > 0.0f || var_f26 > 0.0f) { - var_f27 = (arg0 < var_f27 - lbl_1_rodata_40[temp_r31->unk00]) ? (var_f27 - lbl_1_rodata_40[temp_r31->unk00]) - : (arg0 > var_f27 + lbl_1_rodata_40[temp_r31->unk00]) ? (var_f27 + lbl_1_rodata_40[temp_r31->unk00]) - : arg0; - var_f28 = (arg1 < var_f28 - var_f25) ? (var_f28 - var_f25) : (arg1 > var_f28 + var_f26) ? (var_f28 + var_f26) : arg1; - } - temp_f30 = var_f27 - arg0; - var_f31 = var_f28 - arg1; - if (i < 10 && temp_f30 == 0.0f && var_f31 == 0.0f) { - var_f31 = -1.0f; - } - sp18 = sqrtf(temp_f30 * temp_f30 + var_f31 * var_f31); - if (sp18 < arg2 + lbl_1_rodata_10[temp_r31->unk00]) { - return 1; - } - } - } - } - } - return 0; -} - -void fn_1_3B74(omObjData *arg0) -{ - StructBss3CData *sp354[4]; - Vec sp348; - s32 var_r20; - s32 var_r19; - s32 var_r18; - s32 var_r17; - s32 sp230; - s32 sp22C; - s32 sp228; - s32 sp224; - s32 sp220; - s32 sp21C; - s32 sp218; - float sp214; - float sp210; - float sp20C; - s32 sp208; - float var_f25; - float var_f24; - float temp_f21; - float temp_f20; - float temp_f23; - float temp_f22; - float temp_f26; - float temp_f28; - float temp_f27; - float temp_f29; - float temp_f30; - float temp_f31; - StructDataF0 *temp_r31; - s32 var_r21; - s32 var_r28; - s32 var_r27; - s32 var_r25; - s32 i; - s32 j; - - for (i = 0; i < 4; i++) { - sp354[i] = lbl_1_bss_3C[i]->data; - } - lbl_1_bss_C++; - lbl_1_bss_0 = (lbl_1_bss_34 <= 1002) ? 1.5 - : (lbl_1_bss_34 == 1003) ? (7.5 * (lbl_1_bss_8 > 120.0f ? 1.0 : (0.2 + 0.8 * (lbl_1_bss_8 / 120.0)))) - : 0.0; - lbl_1_bss_4 = (lbl_1_bss_34 < 1005 && sp354[0]->unk20 >= 2 && sp354[0]->unk20 <= 5 && !(lbl_1_bss_34 == 1003 && lbl_1_bss_8 <= 120.0f)) - ? 7.5 - : lbl_1_bss_0; - Hu3DMotionSpeedSet(arg0->model[1], 1.5 * lbl_1_bss_4 / 7.5); - Hu3DMotionSpeedSet(arg0->model[3], 1.5 * lbl_1_bss_0 / 7.5); - if (lbl_1_data_18B0 != -1) { - temp_f21 = 1.5 * lbl_1_bss_4 / 7.5; - HuAudFXPitchSet(lbl_1_data_18B0, 8190.0f * temp_f21 - 8190.0f); - HuAudFXVolSet(lbl_1_data_18B0, temp_f21 <= 0.001 ? 0 : 127); - } - if (lbl_1_bss_34 <= 1001) { - temp_f31 = (lbl_1_bss_34 == 1000 || lbl_1_bss_8 < 60.0f) ? 0.0 : (lbl_1_bss_8 < 120.0f) ? (lbl_1_bss_8 - 60.0f) / 60.0 : 1.0; - temp_f31 = 1.0f - temp_f31; - temp_f31 *= temp_f31; - temp_f31 = 1.0f - temp_f31; - temp_f28 = 1.0f - temp_f31; - Center.x = 690.0f * temp_f31; - Center.y = 400.0f * temp_f28 + 1340.0f * temp_f31; - Center.z = 500.0f * temp_f28 + 1380.0f * temp_f31; - CRot.x = -10.0f * temp_f28 + -50.8125f * temp_f31; - CRot.y = 40.0f * temp_f31; - CZoom = 2126.6f * temp_f28 + 2126.6f * temp_f31; - Center.x = 700.0f * temp_f31; - Center.y = 400.0f * temp_f28 + 870.0f * temp_f31; - Center.z = 500.0f * temp_f28 + 1320.0f * temp_f31; - CRot.x = -10.0f * temp_f28 + -37.25f * temp_f31; - CRot.y = 40.0f * temp_f31; - } - if (lbl_1_bss_34 == 1005 && lbl_1_bss_8 < 100.0f) { - temp_f30 = (lbl_1_bss_8 < 90.0f) ? (lbl_1_bss_8 / 90.0) : 1.0; - temp_f30 = 1.0f - temp_f30; - temp_f30 *= temp_f30; - temp_f30 = 1.0f - temp_f30; - temp_f26 = 1.0f - temp_f30; - Center.x = 120.0f * temp_f30 + 700.0f * temp_f26; - Center.y = 292.5f * temp_f30 + 870.0f * temp_f26; - Center.z = 1200.0f * temp_f30 + 1320.0f * temp_f26; - CRot.x = -19.5f * temp_f30 + -37.25f * temp_f26; - CRot.y = 13.5f * temp_f30 + 40.0 * temp_f26; - CZoom = 2126.6f * temp_f30 + 2126.6f * temp_f26; - } - var_r20 = (sp354[0]->unk20 == 3 && (lbl_1_data_F0[9][0].unk04 == 0 || lbl_1_bss_34 != 1003)); - sp22C = (sp354[1]->unk20 == 3 && (lbl_1_data_F0[9][1].unk04 == 0 || lbl_1_bss_34 != 1003)) - + (sp354[2]->unk20 == 3 && (lbl_1_data_F0[9][2].unk04 == 0 || lbl_1_bss_34 != 1003)) - + (sp354[3]->unk20 == 3 && (lbl_1_data_F0[9][3].unk04 == 0 || lbl_1_bss_34 != 1003)); - var_r19 = (lbl_1_bss_34 == 1003 && lbl_1_bss_C % 60 == 0) ? (rand8() % 2 + 1 + var_r20) : var_r20; - var_r18 = (lbl_1_bss_34 == 1003 && lbl_1_bss_C % 120 == 0) ? (rand8() % 2 + 1) : 0; - var_r17 = sp22C + (lbl_1_bss_34 == 1003 && lbl_1_bss_C % 60 == 0 && lbl_1_bss_28 > 120); - sp228 = (lbl_1_bss_34 == 1003 && lbl_1_bss_C % 60 == 0) ? (rand8() % 2 + 2) : 0; - sp224 = 0; - var_r19 = (lbl_1_bss_34 == 1003 && lbl_1_bss_C % 60 == 0) ? ((rand8() % 4 < 3) + 1 + var_r20) : var_r20; - var_r18 = (lbl_1_bss_34 == 1003 && lbl_1_bss_C % 120 == 1) ? (rand8() % 2 + 1) : 0; - var_r17 = sp22C + (lbl_1_bss_34 == 1003 && lbl_1_bss_C % 60 == 38 && lbl_1_bss_28 > 120); - sp228 = (lbl_1_bss_34 == 1003 && lbl_1_bss_C % 60 == 0) ? (rand8() % 2 + 2) : 0; - while (var_r19 > 0 || var_r18 > 0 || var_r17 > 0 || sp228 > 0) { - var_r27 = (rand8() % 2 == 0) ? ((var_r17 != 0) ? 3 - : (sp228 != 0) ? 4 - : (var_r19 != 0) ? 1 - : (var_r18 != 0) ? 2 - : 0) - : ((var_r17 != 0) ? 3 - : (var_r19 != 0) ? 1 - : (sp228 != 0) ? 4 - : (var_r18 != 0) ? 2 - : 0); - sp224++; - if (sp224 > 8) { - var_r19 -= (var_r27 == 1); - var_r18 -= (var_r27 == 2); - var_r17 -= (var_r27 == 3); - sp228 -= (var_r27 == 4); - sp224 = 0; - } - else if (var_r27 == 1 || var_r27 == 2 || var_r27 == 3 || var_r27 == 4) { - var_r28 = (var_r27 != 4) ? (rand8() % 9) : 10; - if (var_r27 == 1 && var_r20 != 0) { - var_r28 = 9; - i = 0; - } - else if (var_r27 == 3 && sp22C != 0) { - var_r28 = 9; - i = (sp354[(lbl_1_bss_C % 3) + 1]->unk20 == 3 && (lbl_1_data_F0[9][lbl_1_bss_C % 3 + 1].unk04 == 0 || lbl_1_bss_34 != 1003)) - ? (lbl_1_bss_C % 3 + 1) - : (sp354[(lbl_1_bss_C + 1) % 3 + 1]->unk20 == 3 - && (lbl_1_data_F0[9][(lbl_1_bss_C + 1) % 3 + 1].unk04 == 0 || lbl_1_bss_34 != 1003)) - ? ((lbl_1_bss_C + 1) % 3 + 1) - : (sp354[(lbl_1_bss_C + 2) % 3 + 1]->unk20 == 3 - && (lbl_1_data_F0[9][(lbl_1_bss_C + 2) % 3 + 1].unk04 == 0 || lbl_1_bss_34 != 1003)) - ? ((lbl_1_bss_C + 2) % 3 + 1) - : 0; - } - else { - if (var_r28 == 10 && (lbl_1_bss_28 / 60) / 15 + 1 <= 2 - lbl_1_bss_14 - && rand8() % (((lbl_1_bss_28 / 60 - (1 - lbl_1_bss_14) * 15) * 3) + 1) == 0) { - var_r28 = 11; - } - for (i = 0; i < (var_r27 != 4 ? 4 : 10); i++) { - if (lbl_1_data_F0[var_r28][i].unk04 == 0) { - break; - } - } - if (i >= (var_r27 != 4 ? 4 : 10)) { - continue; - } - } - lbl_1_data_F0[var_r28][i].unk0C = (var_r27 != 3) ? (rand8() % 7 - 3) * 100 : ((rand8() % 2) * 2 - 1) * 1595; - if (i == 0 && lbl_1_bss_34 >= 1004 && var_r28 == 9) { - lbl_1_data_F0[var_r28][i].unk0C = 0.0f; - } - lbl_1_data_F0[var_r28][i].unk10 = (var_r27 == 1) ? 300 : (var_r27 == 2) ? 0 : (var_r27 == 3) ? 500 : (var_r27 == 4) ? 300 : 0; - lbl_1_data_F0[var_r28][i].unk14 = (var_r27 == 1) ? -450 : (var_r27 == 2) ? -450 : (var_r27 == 3) ? 105 : (var_r27 == 4) ? -150 : 0; - lbl_1_data_F0[var_r28][i].unk14 += (var_r27 == 1) ? -(var_r28 <= 8 ? 0 : 0) - : (var_r27 == 2) ? -(var_r28 <= 8 ? (var_r28 / 3) * 80 : 0) - : (var_r27 == 4) ? -50 - : 0; - lbl_1_data_F0[var_r28][i].unk14 += (var_r27 == 1) ? ((var_r28 <= 2) ? 315.0 - : (var_r28 <= 5) ? 296.6875 - : (var_r28 <= 8) ? 227.234375 - : (var_r28 == 9) ? 200 - : 0) - : 0.0; - if (var_r27 == 1 || var_r27 == 4) { - float sp3C4[] = { -25.0f, -25.0f, -25.0f, -6.6875f, -6.6875f, -6.6875f, 62.765625f, 62.765625f, 62.765625f, 51.99469f, 76.875f, 45.0f, - -27.647583f, -27.647583f, -27.647583f, -9.64325f, -9.64325f, -9.64325f, 60.49022f, 60.49022f, 60.49022f, 51.99469f, 76.875f, - 45.0f }; - - var_f25 = lbl_1_data_F0[var_r28][i].unk0C; - var_f24 = sp3C4[var_r28] + lbl_1_data_F0[var_r28][i].unk14; - } - else if (var_r27 == 2) { - var_f25 = lbl_1_data_F0[var_r28][i].unk0C; - var_f24 = lbl_1_rodata_130[var_r28] + lbl_1_data_F0[var_r28][i].unk14; - } - else if (var_r27 == 3) { - var_f25 = (lbl_1_data_F0[var_r28][i].unk0C < 0.0f) ? -335 : 335; - var_f24 = 830.0f - 94.0f * lbl_1_bss_0; - } - else { - var_f25 = lbl_1_data_F0[var_r28][i].unk0C; - var_f24 = lbl_1_data_F0[var_r28][i].unk14; - } - if (fn_1_34BC( - var_f25, var_f24, lbl_1_rodata_10[lbl_1_data_F0[var_r28][i].unk00] + lbl_1_rodata_40[lbl_1_data_F0[var_r28][i].unk00], var_r28, 0) - != 0) { - continue; - } - if (var_r27 == 3 && lbl_1_data_18A4[(lbl_1_data_F0[var_r28][i].unk0C < 0.0f) ? 0 : 1] > 0) { - continue; - } - if (var_r27 == 4) { - for (var_r21 = 0; var_r21 < 10; var_r21++) { - if (lbl_1_data_F0[10][var_r21].unk04 != 0 && fabs(lbl_1_data_F0[var_r28][i].unk14 - lbl_1_data_F0[10][var_r21].unk14) <= 100.0 - && fabs(lbl_1_data_F0[var_r28][i].unk0C - lbl_1_data_F0[10][var_r21].unk0C) <= 200.0) { - break; - } - if (lbl_1_data_F0[11][var_r21].unk04 != 0 && fabs(lbl_1_data_F0[var_r28][i].unk14 - lbl_1_data_F0[11][var_r21].unk14) <= 100.0 - && fabs(lbl_1_data_F0[var_r28][i].unk0C - lbl_1_data_F0[11][var_r21].unk0C) <= 200.0) { - break; - } - } - if (var_r21 < 10 || (lbl_1_data_F0[var_r28][i].unk0C >= -100.0f && lbl_1_data_F0[var_r28][i].unk0C <= 100.0f)) { - continue; - } - } - if (var_r28 == 11) { - lbl_1_bss_14++; - } - if ((lbl_1_bss_28 / 60) / 15 == 0 && lbl_1_bss_14 == 0) { - lbl_1_bss_14++; - } - lbl_1_data_F0[var_r28][i].unk00 = var_r28; - lbl_1_data_F0[var_r28][i].unk04 = (var_r27 == 1) ? 3 : (var_r27 == 2) ? 5 : (var_r27 == 3) ? 1 : (var_r27 == 4) ? 3 : 0; - lbl_1_data_F0[var_r28][i].unk08 = 0; - lbl_1_data_F0[var_r28][i].unk2C = 0; - lbl_1_data_F0[var_r28][i].unk18 = lbl_1_data_F0[var_r28][i].unk1C = lbl_1_data_F0[var_r28][i].unk20 = 0.0f; - if (var_r27 != 4) { - sp220 = var_r28 * 4 + 43 + i; - Hu3DMotionTimeSet(arg0->model[sp220], (var_r27 == 1 || var_r27 == 3) ? 1.0f : Hu3DMotionMaxTimeGet(arg0->model[sp220])); - Hu3DModelAttrSet(arg0->model[sp220], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(arg0->model[sp220], 1); - Hu3DModelRotSet(arg0->model[sp220], 0.0f, 0.0f, 0.0f); - } - else { - Hu3DModelAttrReset(arg0->model[i + (var_r28 == 10 ? 83 : 93)], 1); - } - if (var_r27 == 1 && var_r20 != 0) { - var_r20--; - sp354[0]->unk20 = 4; - } - else if (var_r27 == 3 && sp22C != 0) { - sp22C--; - sp354[i]->unk20 = 4; - } - if (var_r27 == 3) { - lbl_1_data_18A4[(lbl_1_data_F0[var_r28][i].unk0C < 0.0f) ? 0 : 1] = 85; - Hu3DMotionTimeSet(arg0->model[(lbl_1_data_F0[var_r28][i].unk0C < 0.0f) ? 6 : 5], 9.0f); - if (var_r28 == 9 && lbl_1_bss_54[(lbl_1_data_F0[var_r28][i].unk0C < 0.0f) ? 7 : 6].unk00 < 3) { - lbl_1_bss_54[(lbl_1_data_F0[var_r28][i].unk0C < 0.0f) ? 7 : 6] - .unk04[lbl_1_bss_54[(lbl_1_data_F0[var_r28][i].unk0C < 0.0f) ? 7 : 6].unk00] - = 0.0f; - lbl_1_bss_54[(lbl_1_data_F0[var_r28][i].unk0C < 0.0f) ? 7 : 6].unk00++; - } - } - if (var_r28 == 9) { - sp21C = var_r28 * 4 + 43 + i; - Hu3DMotionSet(arg0->model[sp21C], arg0->motion[i + 22]); - Hu3DMotionTimeSet(arg0->model[sp21C], 0.0f); - Hu3DMotionSpeedSet(arg0->model[sp21C], 2.0f); - } - var_r19 -= (var_r27 == 1); - var_r18 -= (var_r27 == 2); - var_r17 -= (var_r27 == 3); - sp228 -= (var_r27 == 4); - sp224 = 0; - } - } - for (i = 0; i < 12; i++) { - for (j = 0; j < (i < 10 ? 4 : 10); j++) { - temp_r31 = &lbl_1_data_F0[i][j]; - var_r25 = (i < 10) ? (i * 4 + 43 + j) : ((i - 10) * 10 + 83 + j); - sp348.x = sp348.y = sp348.z = 0.0f; - if (temp_r31->unk04 == 0) { - Hu3DModelAttrSet(arg0->model[var_r25], 1); - } - else { - temp_r31->unk08++; - temp_r31->unk24 += (temp_r31->unk00 == 10) ? 0 : 0; - temp_r31->unk24 += (temp_r31->unk24 < 0.0f) ? 360 : (temp_r31->unk24 > 360.0f) ? -360 : 0; - Hu3DModelObjPosGet(arg0->model[var_r25], lbl_1_data_1828[temp_r31->unk00], &sp348); - switch (temp_r31->unk04) { - case 3: - case 5: - case 6: - if (temp_r31->unk00 >= 3 && temp_r31->unk00 >= 9 && temp_r31->unk04 == 3 && temp_r31->unk14 < -120.0f - && temp_r31->unk14 + lbl_1_bss_4 >= -120.0f) { - sp218 = (500.0f + temp_r31->unk0C) / 100.0f; - sp218 = (sp218 < 0) ? 0 : (sp218 >= 11) ? 10 : sp218; - lbl_1_data_1878[sp218] = 15; - Hu3DMotionShiftSet(arg0->model[sp218 + 8], arg0->motion[11], 20.0f, 15.0f, HU3D_MOTATTR_NONE); - if (temp_r31->unk00 == 9 && lbl_1_bss_54[5].unk00 < 3) { - lbl_1_bss_54[5].unk04[lbl_1_bss_54[5].unk00] = 0.0f; - lbl_1_bss_54[5].unk00++; - } - } - temp_r31->unk14 += (temp_r31->unk04 == 3 ? lbl_1_bss_4 : lbl_1_bss_0); - if (lbl_1_bss_34 >= 1003 && lbl_1_bss_34 < 1005) { - if ((temp_r31->unk04 == 3 && temp_r31->unk00 == 9 && temp_r31->unk14 >= 150.0f && temp_r31->unk14 - lbl_1_bss_4 < 150.0f) - || (temp_r31->unk04 == 6 && temp_r31->unk00 == 9 && temp_r31->unk08 == 1)) { - sp354[j]->unk20 = 5; - sp354[j]->unk24 = 0; - lbl_1_bss_3C[j]->trans.x = temp_r31->unk0C; - lbl_1_bss_3C[j]->trans.y = (j == 0 ? 300 : 0); - lbl_1_bss_3C[j]->trans.z = temp_r31->unk14; - lbl_1_bss_3C[j]->rot.y - = 180 + ((lbl_1_bss_20 == 4 && temp_r31->unk04 == 6) ? (temp_r31->unk0C < 0.0f ? -45 : 45) : 0); - Hu3DMotionSpeedSet(arg0->model[j + 79], 1.0f); - Hu3DMotionShiftSet(arg0->model[j + 79], arg0->motion[j + 22], 44.0f, 2.0f, HU3D_MOTATTR_NONE); - Hu3DParticleCntSet(arg0->model[j + 39], j == 0 ? 15 : 0); - if (lbl_1_bss_54->unk00 < 3) { - lbl_1_bss_54->unk04[lbl_1_bss_54->unk00] = 0.0f; - lbl_1_bss_54->unk00++; - } - } - } - if (temp_r31->unk04 == 3 && temp_r31->unk14 > 510.0f) { - temp_r31->unk04 = 4; - temp_r31->unk08 = 0; - if (temp_r31->unk00 != 10) { - if (temp_r31->unk00 != 9) { - Hu3DMotionTimeSet(arg0->model[var_r25], 1.0f); - } - else { - Hu3DMotionSet(arg0->model[var_r25], arg0->motion[j + 26]); - Hu3DMotionTimeSet(arg0->model[var_r25], 1.0f); - Hu3DMotionSpeedSet(arg0->model[var_r25], 1.0f); - } - Hu3DModelAttrReset(arg0->model[var_r25], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - } - } - if ((temp_r31->unk04 == 5 || temp_r31->unk04 == 6) && sp348.z > 1400.0f && temp_r31->unk14 > 700.0f) { - temp_r31->unk08 = 0; - temp_r31->unk10 = sp348.y; - temp_r31->unk14 = sp348.z; - temp_r31->unk1C = 0.0f; - if (temp_r31->unk00 == 10) { - Hu3DModelAttrSet(arg0->model[var_r25], HU3D_MOTATTR_LOOP); - } - else if (temp_r31->unk00 != 9) { - Hu3DMotionTimeSet(arg0->model[var_r25], 2.0f); - Hu3DModelAttrReset(arg0->model[var_r25], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - } - else { - Hu3DMotionSet(arg0->model[var_r25], arg0->motion[(temp_r31->unk04 == 6) ? (j + 26) : (j + 30)]); - Hu3DMotionTimeSet(arg0->model[var_r25], 1.0f); - Hu3DMotionSpeedSet(arg0->model[var_r25], 1.0f); - } - temp_r31->unk04 = 7; - Hu3DModelPosSet(arg0->model[var_r25], temp_r31->unk0C, temp_r31->unk10, temp_r31->unk14); - } - else { - Hu3DModelPosSet(arg0->model[var_r25], temp_r31->unk0C, - ((temp_r31->unk00 >= 0 && temp_r31->unk00 < 10) - ? ((temp_r31->unk04 != 6 ? 300 : 0) + lbl_1_rodata_100[temp_r31->unk00]) - : temp_r31->unk10) - + lbl_1_rodata_A0[temp_r31->unk00], - temp_r31->unk14 + lbl_1_rodata_D0[temp_r31->unk00]); - } - if (temp_r31->unk00 >= 10) { - Hu3DModelRotSet(arg0->model[var_r25], 0.0f, temp_r31->unk24, 0.0f); - } - break; - case 4: - if (temp_r31->unk00 >= 0 && temp_r31->unk00 < 10) { - float sp394[] = { 0.0f, 0.0f, 0.0f, 0.9f, 0.9f, 0.9f, 1.75f, 1.75f, 1.75f, 0.0f, 0.0f, 0.0f }; - s32 sp364[] = { 42, 42, 42, 41, 41, 41, 48, 48, 48, 27, 27, 27 }; - - if (temp_r31->unk00 >= 6 && temp_r31->unk00 <= 8) { - temp_f29 = temp_r31->unk08; - temp_f27 = (temp_f29 <= 1.0f) ? 0.0 - : (temp_f29 >= 30.0f && temp_f29 < 40.0f) ? -1.0 * (1.0 - (temp_f29 - 30.0f) / 9.0) - : (temp_f29 >= 40.0f) ? 1.0 - (temp_f29 - 40.0f) / 8.0 - : 1.0; - temp_f27 = (temp_f29 >= 40.0f) ? -1.0 + (temp_f27 * 0.5 + temp_f27 * temp_f27 * 0.5) : temp_f27; - temp_f27 = (temp_f29 <= 1.0f) ? 0.0 - : (temp_f29 < 23.0f) ? 1.0 - : (temp_f29 < 32.0f) ? 0.5 - : (temp_f29 < 40.0f) ? -0.8 - : (-1.0 - 0.4 * (1.0 - (temp_f29 - 40.0f) / 8.0)); - temp_r31->unk14 -= (lbl_1_bss_4 * sp394[temp_r31->unk00] / 4.0) * temp_f27; - } - else { - temp_r31->unk14 -= lbl_1_bss_4 * sp394[temp_r31->unk00] / 4.0; - } - if (temp_r31->unk08 >= sp364[temp_r31->unk00]) { - temp_r31->unk10 = 0.0f; - temp_r31->unk04 = 5; - temp_r31->unk08 = 0; - } - } - else { - temp_r31->unk1C -= 1.0f; - temp_r31->unk10 += temp_r31->unk1C; - temp_r31->unk14 += 1.25 * lbl_1_bss_4; - if (temp_r31->unk10 <= 0.0f) { - if (temp_r31->unk1C < -10.0f && temp_r31->unk00 == 10) { - temp_r31->unk1C = 9.0f; - } - else { - temp_r31->unk1C = 0.0f; - temp_r31->unk10 = 0.0f; - temp_r31->unk04 = 5; - temp_r31->unk08 = 0; - } - } - } - Hu3DModelPosSet(arg0->model[var_r25], temp_r31->unk0C, - lbl_1_rodata_A0[temp_r31->unk00] - + ((temp_r31->unk00 >= 0 && temp_r31->unk00 < 10) ? (300.0f + lbl_1_rodata_100[temp_r31->unk00]) : temp_r31->unk10), - temp_r31->unk14 + lbl_1_rodata_D0[temp_r31->unk00]); - if (temp_r31->unk00 >= 10) { - Hu3DModelRotSet(arg0->model[var_r25], 0.0f, temp_r31->unk24, 0.0f); - } - break; - case 1: - temp_f20 = temp_r31->unk08 / 90.0; - temp_f23 = 1.0f - temp_f20; - sp214 = temp_r31->unk0C; - sp210 = temp_r31->unk10; - sp20C = temp_r31->unk14; - temp_r31->unk0C = (460.0f + 1135.0f * temp_f23) * (temp_r31->unk0C < 0.0f ? -1 : 1); - temp_r31->unk10 = 100.0f * temp_f20 + 500.0f * temp_f23; - temp_r31->unk14 = 800.0f - 695.0f * temp_f23; - temp_r31->unk18 = temp_r31->unk0C - sp214; - temp_r31->unk1C = temp_r31->unk10 - sp210; - temp_r31->unk20 = temp_r31->unk14 - sp20C; - if (temp_r31->unk08 >= 90) { - temp_r31->unk04 = 2; - temp_r31->unk08 = 0; - } - Hu3DModelPosSet(arg0->model[var_r25], temp_r31->unk0C, temp_r31->unk10 + lbl_1_rodata_A0[temp_r31->unk00], - temp_r31->unk14 + lbl_1_rodata_D0[temp_r31->unk00]); - Hu3DModelRotSet(arg0->model[var_r25], 9.0f, (temp_r31->unk0C < 0.0f) ? -31 : 31, (temp_r31->unk0C < 0.0f) ? -18 : 18); - break; - case 2: - temp_r31->unk1C -= (temp_r31->unk00 != 9) ? 0.625 : 0.9; - temp_r31->unk0C += temp_r31->unk18; - temp_r31->unk10 += temp_r31->unk1C; - temp_r31->unk14 += temp_r31->unk20; - if (temp_r31->unk10 <= lbl_1_rodata_100[temp_r31->unk00]) { - temp_r31->unk10 = -lbl_1_rodata_100[temp_r31->unk00]; - temp_r31->unk1C = 0.0f; - temp_r31->unk04 = 6; - temp_r31->unk08 = 0; - Hu3DModelPosSet(arg0->model[var_r25], temp_r31->unk0C, - temp_r31->unk10 + lbl_1_rodata_A0[temp_r31->unk00] + lbl_1_rodata_100[temp_r31->unk00] - + lbl_1_rodata_100[temp_r31->unk00], - temp_r31->unk14 + lbl_1_rodata_D0[temp_r31->unk00]); - Hu3DModelRotSet(arg0->model[var_r25], 0.0f, (temp_r31->unk0C < 0.0f) ? -31 : 31, 0.0f); - } - else { - Hu3DModelPosSet(arg0->model[var_r25], temp_r31->unk0C, temp_r31->unk10 + lbl_1_rodata_A0[temp_r31->unk00], - temp_r31->unk14 + lbl_1_rodata_D0[temp_r31->unk00]); - } - break; - case 7: - temp_r31->unk1C -= 1.0f; - temp_r31->unk10 += temp_r31->unk1C; - temp_r31->unk14 += (temp_r31->unk00 >= 10) ? lbl_1_bss_0 : 0.0f; - if (temp_r31->unk10 <= -800.0f) { - Hu3DModelAttrSet(arg0->model[var_r25], 1); - if (temp_r31->unk00 == 9) { - Hu3DMotionSet(arg0->model[var_r25], arg0->motion[j + 22]); - Hu3DMotionTimeSet(arg0->model[var_r25], 0.0f); - Hu3DMotionSpeedSet(arg0->model[var_r25], 2.0f); - } - temp_r31->unk04 = 0; - } - Hu3DModelPosSet(arg0->model[var_r25], temp_r31->unk0C, - (temp_r31->unk00 >= 0 && temp_r31->unk00 < 9) ? (300.0f + lbl_1_rodata_100[temp_r31->unk00]) : temp_r31->unk10, - temp_r31->unk14 + lbl_1_rodata_D0[temp_r31->unk00]); - Hu3DModelPosSet(arg0->model[var_r25], temp_r31->unk0C, temp_r31->unk10, temp_r31->unk14); - if (temp_r31->unk00 >= 10) { - Hu3DModelRotSet(arg0->model[var_r25], 0.0f, temp_r31->unk24, 0.0f); - } - break; - } - if (temp_r31->unk00 >= 0 && temp_r31->unk00 <= 8 && (temp_r31->unk04 == 4 || temp_r31->unk04 == 5)) { - sp208 = Hu3DMotionTimeGet(arg0->model[var_r25]); - if (temp_r31->unk00 >= 0 && temp_r31->unk00 <= 2 && (sp208 == 26 || sp208 == -41) && lbl_1_bss_54[3].unk00 < 3) { - lbl_1_bss_54[3].unk04[lbl_1_bss_54[3].unk00] = 0.0f; - lbl_1_bss_54[3].unk00++; - } - if (temp_r31->unk00 >= 3 && temp_r31->unk00 <= 5 && (sp208 == 23 || sp208 == -39) && lbl_1_bss_54[2].unk00 < 3) { - lbl_1_bss_54[2].unk04[lbl_1_bss_54[2].unk00] = 0.0f; - lbl_1_bss_54[2].unk00++; - } - if (temp_r31->unk00 >= 6 && temp_r31->unk00 <= 8 && (sp208 == 20 || sp208 == -29) && lbl_1_bss_54[1].unk00 < 3) { - lbl_1_bss_54[1].unk04[lbl_1_bss_54[1].unk00] = 0.0f; - lbl_1_bss_54[1].unk00++; - } - } - if (i == 9 && lbl_1_bss_18 != 0) { - ModelData *sp204 = &Hu3DData[arg0->model[j + 39]]; - ParticleData *sp200 = sp204->unk_120; - - if (sp200->unk_34 == 63) { - ModelData *temp_r23 = &Hu3DData[arg0->model[var_r25]]; - ModelData *temp_r22 = &Hu3DData[arg0->model[j + 39]]; - - temp_r22->pos.x = temp_r23->pos.x; - temp_r22->pos.y = temp_r23->pos.y; - temp_r22->pos.z = temp_r23->pos.z; - temp_r22->rot.x = temp_r23->rot.x; - temp_r22->rot.y = temp_r23->rot.y; - temp_r22->rot.z = temp_r23->rot.z; - } - } - if (temp_r31->unk2C == 0 && (lbl_1_bss_34 == 1004 || lbl_1_bss_34 == 1005)) { - if (temp_r31->unk00 != 9 - || (temp_r31->unk04 != 1 && temp_r31->unk04 != 2 - && ((temp_r31->unk04 != 3 && temp_r31->unk04 != 6) || sp354[j]->unk20 > 5 || sp354[j]->unk20 < 3))) { - temp_r31->unk2C = 1; - } - } - temp_r31->unk2C += (temp_r31->unk2C > 0); - if (temp_r31->unk2C != 0 && (temp_r31->unk2C % 2 == 0 || temp_r31->unk2C > 25)) { - Hu3DModelAttrSet(arg0->model[var_r25], 1); - } - else { - Hu3DModelAttrReset(arg0->model[var_r25], 1); - } - } - } - } - for (i = 0; i < 11; i++) { - if (lbl_1_data_1878[i] == 1) { - Hu3DMotionShiftSet(arg0->model[i + 8], arg0->motion[0], 0.0f, 60.0f, HU3D_MOTATTR_LOOP); - } - lbl_1_data_1878[i] -= (lbl_1_data_1878[i] > 0); - } - lbl_1_data_18A4[0] -= (lbl_1_data_18A4[0] > 0); - lbl_1_data_18A4[1] -= (lbl_1_data_18A4[1] > 0); - for (i = 0; i < 3; i++) { - for (j = 0; j < 8; j++) { - s32 sp1FC = lbl_1_bss_104[i][j].unk00 + 21; - - lbl_1_bss_104[i][j].unk04++; - if (lbl_1_bss_104[i][j].unk04 >= 520) { - if (lbl_1_bss_104[i][j].unk00 != -1) { - Hu3DModelAttrReset(arg0->model[lbl_1_bss_104[i][j].unk00 + 21], 1); - } - lbl_1_bss_104[i][j].unk04 = 0; - lbl_1_bss_104[i][j].unk00 = -1; - for (sp230 = 0; sp230 < 14; sp230++) { - s32 sp1F8; - s32 sp1F4 = rand8() % 18; - - for (sp1F8 = 0; sp1F8 < 24; sp1F8++) { - if (sp1F4 == lbl_1_bss_104[sp1F8 / 8][sp1F8 % 8].unk00) { - break; - } - } - if (sp1F8 == 24) { - lbl_1_bss_104[i][j].unk00 = sp1F4; - break; - } - } - if (lbl_1_bss_104[i][j].unk00 != -1) { - Hu3DModelAttrReset(arg0->model[lbl_1_bss_104[i][j].unk00 + 21], 1); - } - } - sp1FC = lbl_1_bss_104[i][j].unk00 + 21; - temp_f22 = lbl_1_bss_104[i][j].unk04 / 520.0f; - if (lbl_1_bss_104[i][j].unk00 != -1) { - switch (i) { - case 0: - Hu3DModelPosSet(arg0->model[sp1FC], 2000.0f - 4000.0f * temp_f22, -490.0f, 1000.0f); - break; - case 1: - Hu3DModelPosSet(arg0->model[sp1FC], -1200.0f, -290.0f, 2000.0f - 4000.0f * temp_f22); - break; - case 2: - Hu3DModelPosSet(arg0->model[sp1FC], 1200.0f, -290.0f, 2000.0f - 4000.0f * temp_f22); - break; - } - } - } - } - for (i = 0; i < 2; i++) { - espBankSet(lbl_1_data_40[i * 7 + 2], lbl_1_data_18F4[i] % 10); - espBankSet(lbl_1_data_40[i * 7 + 3], (lbl_1_data_18F4[i] / 10) % 10); - } - for (i = 0; i < 4; i++) { - ModelData *temp_r24 = &Hu3DData[lbl_1_bss_3C[i]->model[0]]; - float temp_f19 = 0.0f; - float sp1F0 = (temp_r24->unk_08 == lbl_1_bss_3C[i]->motion[3]) ? 0 : -1; - float sp1EC = (temp_r24->unk_0C == lbl_1_bss_3C[i]->motion[3]) ? 0 : -1; - float sp1E8 = (sp1F0 == -1.0f) ? 0.0f - : (temp_r24->unk_64 < 4.0f) ? 0.0f - : (temp_r24->unk_64 > 28.0f) ? 1.0f - : (temp_r24->unk_64 - 4.0f) / 24.0f; - float sp1E4 = (sp1EC == -1.0f) ? 0.0f - : (temp_r24->unk_84 < 4.0f) ? 0.0f - : (temp_r24->unk_84 > 28.0f) ? 1.0f - : (temp_r24->unk_84 - 4.0f) / 24.0f; - float temp_f18 = (temp_r24->unk_0C == -1) ? 0.0f : (temp_r24->unk_80 == 0.0f) ? 1.0f : (temp_r24->unk_7C / temp_r24->unk_80); - - temp_f19 = sp1E8 * (1.0f - temp_f18) + sp1E4 * temp_f18; - if (!(temp_r24->attr & 1) && sp354[i]->unk20 != 3 && sp354[i]->unk20 != 4 && lbl_1_bss_3C[i]->trans.z < 1400.0f) { - Hu3DModelAttrReset(lbl_1_bss_3C[i]->model[1], 1); - Hu3DModelPosSet(lbl_1_bss_3C[i]->model[1], lbl_1_bss_3C[i]->trans.x, (lbl_1_bss_3C[i]->trans.z < 620.0f) ? 5 : -295, - lbl_1_bss_3C[i]->trans.z - 165.0f * temp_f19); - Hu3DModelScaleSet( - lbl_1_bss_3C[i]->model[1], 0.75 * (sp354[i]->unk08 == 5 ? 1.25 : 1.0), 1.0f, 1.25 * (sp354[i]->unk08 == 5 ? 1.25 : 1.0)); - } - else { - Hu3DModelAttrSet(lbl_1_bss_3C[i]->model[1], 1); - } - } -} - -void fn_1_89E0(omObjData *arg0) -{ - StructBss3CData *spC[4]; - s32 sp8; - s32 var_r29; - s32 var_r30; - s32 i; - - for (i = 0; i < 4; i++) { - spC[i] = lbl_1_bss_3C[i]->data; - } - for (i = 0; i < 11; i++) { - s32 sp1C[] = { 0x60A, 0x60B, 0x60C, 0x60D, 0x60E, 0x60F, 0x611, 0x610, 0x007, 0x013, 0x612 }; - - if (lbl_1_bss_54[i].unk00 > 3) { - lbl_1_bss_54[i].unk00 = 3; - } - if (lbl_1_bss_54[i].unk00 > 0) { - sp8 = HuAudFXPlay(sp1C[i]); - lbl_1_bss_54[i].unk00--; - } - } - if (omSysExitReq != 0 && WipeStatGet() == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - arg0->func = fn_1_B480; - } - switch (lbl_1_bss_34) { - case 1000: - lbl_1_bss_8 += 1.0f; - if (lbl_1_bss_8 == 5.0f) { - lbl_1_data_18B0 = HuAudFXPlay(0x609); - } - if (WipeStatGet() == 0) { - lbl_1_bss_34++; - lbl_1_bss_8 = 0.0f; - } - break; - case 1001: - lbl_1_bss_8 += 1.0f; - if (180.0f < lbl_1_bss_8) { - lbl_1_bss_34++; - lbl_1_bss_8 = 0.0f; - } - break; - case 1002: - lbl_1_bss_8 += 1.0f; - if (lbl_1_bss_8 == 5.0f && lbl_1_bss_2E < 0) { - lbl_1_bss_2E = MGSeqStartCreate(); - } - if (lbl_1_bss_8 >= 5.0f && lbl_1_data_18AC == -1 && (MGSeqStatGet(lbl_1_bss_2E) & 0x10)) { - lbl_1_data_18AC = HuAudSeqPlay(0x47); - } - if (lbl_1_bss_8 >= 5.0f && MGSeqStatGet(lbl_1_bss_2E) == 0 && lbl_1_bss_2E >= 0) { - lbl_1_bss_34++; - lbl_1_bss_28 = 1800; - lbl_1_bss_2C = MGSeqTimerCreate(lbl_1_bss_28 / 60); - lbl_1_bss_2E = -1; - lbl_1_bss_8 = 0.0f; - for (i = 0; i < 16; i++) { - espDispOn(lbl_1_data_40[i]); - } - for (i = 0; i < 4; i++) { - spC[i]->unk20 = 1; - } - } - break; - case 1003: - lbl_1_bss_8 += 1.0f; - MGSeqParamSet(lbl_1_bss_2C, 1, (lbl_1_bss_28 + 58) / 60); - lbl_1_bss_28--; - if (lbl_1_bss_28 <= 0) { - lbl_1_bss_34 = 1004; - lbl_1_bss_8 = 0.0f; - lbl_1_bss_20 = 4; - } - break; - case 1004: - if (lbl_1_bss_2E < 0 && lbl_1_bss_8 == 0.0f) { - MGSeqParamSet(lbl_1_bss_2C, 2, -1); - lbl_1_bss_2E = MGSeqFinishCreate(); - if (lbl_1_data_18AC != -1) { - HuAudSeqFadeOut(lbl_1_data_18AC, 100); - } - } - else { - var_r29 = 0; - var_r30 = 0; - for (i = 0; i < 4; i++) { - if (spC[i]->unk20 == 1 || (spC[i]->unk20 >= 2 && spC[i]->unk20 <= 5)) { - var_r29++; - } - if (i == 0 && ((spC[0]->unk20 >= 2 && spC[0]->unk20 <= 4) || (spC[0]->unk20 == 4 && lbl_1_data_F0[9][0].unk14 < 70.0f))) { - var_r30++; - } - else if (i != 0 && spC[i]->unk20 >= 2 && spC[i]->unk20 <= 4) { - var_r30++; - } - } - if (MGSeqStatGet(lbl_1_bss_2E) == 0 - && ((lbl_1_bss_8 >= 150.0f && var_r29 == 0 && var_r30 == 0) || (lbl_1_bss_8 >= 240.0f && var_r30 == 0) - || lbl_1_bss_8 >= 360.0f)) { - lbl_1_bss_34++; - lbl_1_bss_8 = 0.0f; - GWPlayerCoinCollectSet(spC[0]->unk04, lbl_1_data_18F4[0]); - GWPlayerCoinCollectSet(spC[1]->unk04, lbl_1_data_18F4[1]); - GWPlayerCoinCollectSet(spC[2]->unk04, lbl_1_data_18F4[1]); - GWPlayerCoinCollectSet(spC[3]->unk04, lbl_1_data_18F4[1]); - if (lbl_1_data_18F4[0] == 0 && lbl_1_data_18F4[1] == 0) { - HuAudSStreamPlay(4); - } - else { - HuAudSStreamPlay(1); - } - } - } - lbl_1_bss_8 += 1.0f; - break; - case 1005: - lbl_1_bss_8 += 1.0f; - if (210.0f < lbl_1_bss_8) { - HuAudFXStop(lbl_1_data_18B0); - lbl_1_bss_2E = -1; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - arg0->func = fn_1_B480; - } - break; - default: - OSReport("*** main mode error(%d)!!\n", lbl_1_bss_34); - break; - } -} - -void fn_1_9410(ModelData *model, ParticleData *particle, Mtx matrix) -{ - HsfanimStruct01 *var_r31; - float temp_f31; - float temp_f30; - s16 i; - - if (particle->unk_34 < 50) { - var_r31 = particle->unk_48; - for (i = 0; i < particle->unk_30; i++, var_r31++) { - var_r31->unk00 = particle->unk_34 + 41; - var_r31->unk40.a = 0; - var_r31->unk2C = 0.0f; - } - } - if (particle->unk_34 >= 255) { - var_r31 = particle->unk_48; - for (i = 0; i < particle->unk_30; i++, var_r31++) { - var_r31->unk00 = 255; - var_r31->unk40.a = 0; - var_r31->unk2C = 0.0f; - } - } - var_r31 = particle->unk_48; - for (i = 0; i < particle->unk_30; i++, var_r31++) { - if (!var_r31->unk2C) { - break; - } - } - var_r31 = particle->unk_48; - for (i = 0; i < particle->unk_30; i++, var_r31++) { - if (var_r31->unk00 == 104) { - var_r31->unk34.x = var_r31->unk34.z = 0.0f; - var_r31->unk34.y = 72.0f; - temp_f31 = frandu8() * 360 / 256; - temp_f30 = 0.5 + (rand8() / 256.0) * 1.5; - var_r31->unk34.x = 75.0 * sind(temp_f31); - var_r31->unk34.z = 75.0 * cosd(temp_f31); - var_r31->unk08.x = temp_f30 * sind(temp_f31) * 2.0; - var_r31->unk08.y = 3.0 + (rand8() / 256.0) * 1.5; - var_r31->unk08.z = temp_f30 * cosd(temp_f31) * 2.0; - var_r31->unk40.r = 0xFF; - var_r31->unk40.g = 0xFF; - var_r31->unk40.b = 0xFF; - var_r31->unk40.a = 0x60; - var_r31->unk2C = 50.0f; - VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); - } - if (var_r31->unk00 < 240) { - VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); - var_r31->unk08.x *= 0.9f; - var_r31->unk08.z *= 0.9f; - var_r31->unk08.y *= 0.9f; - var_r31->unk40.a = var_r31->unk40.a * 16 / 17; - var_r31->unk08.z *= 0.99f; - var_r31->unk2C += 2.0f; - if (var_r31->unk2C <= 0.0f) { - var_r31->unk2C = 0.0f; - } - if (var_r31->unk40.a <= 3) { - var_r31->unk40.a = 0; - var_r31->unk2C = 0.0f; - } - } - var_r31->unk00 += (var_r31->unk00 < 0x8000); - } -} - -void fn_1_9900(omObjData *arg0) -{ - s32 temp_r28; - s32 i; - s32 j; - s32 k; - - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M422, 18)); - omSetTra(arg0, 0.0f, 0.0f, 0.0f); - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M422, 17)); - Hu3DModelPosSet(arg0->model[1], 0.0f, 300.0f, -100.0f); - Hu3DModelAttrSet(arg0->model[1], HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(arg0->model[1], 0); - Hu3DMotionSpeedSet(arg0->model[1], 1.5f); - arg0->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M422, 16)); - Hu3DModelPosSet(arg0->model[3], 0.0f, 0.0f, 0.0f); - Hu3DModelAttrSet(arg0->model[3], HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(arg0->model[3], 0); - Hu3DMotionSpeedSet(arg0->model[3], 1.5f); - arg0->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M422, 19)); - Hu3DModelAttrSet(arg0->model[4], HU3D_MOTATTR_LOOP); - arg0->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M422, 20)); - Hu3DModelPosSet(arg0->model[5], 460.0f, 0.0f, 800.0f); - Hu3DModelAttrReset(arg0->model[5], HU3D_MOTATTR_LOOP); - Hu3DMotionTimeSet(arg0->model[5], Hu3DMotionMaxTimeGet(arg0->model[5])); - arg0->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M422, 21)); - Hu3DModelPosSet(arg0->model[6], -460.0f, 0.0f, 800.0f); - Hu3DModelAttrReset(arg0->model[6], HU3D_MOTATTR_LOOP); - Hu3DMotionTimeSet(arg0->model[6], Hu3DMotionMaxTimeGet(arg0->model[6])); - arg0->model[7] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M422, 22)); - Hu3DModelAttrSet(arg0->model[7], HU3D_MOTATTR_LOOP); - arg0->model[8] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M422, 23)); - arg0->motion[0] = Hu3DJointMotionFile(arg0->model[8], DATA_MAKE_NUM(DATADIR_M422, 24)); - arg0->motion[11] = Hu3DJointMotionFile(arg0->model[8], DATA_MAKE_NUM(DATADIR_M422, 25)); - for (i = 0; i < 11; i++) { - if (i != 0) { - arg0->model[i + 8] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M422, 23)); - arg0->motion[i] = Hu3DJointMotionFile(arg0->model[i + 8], DATA_MAKE_NUM(DATADIR_M422, 24)); - arg0->motion[i + 11] = Hu3DJointMotionFile(arg0->model[i + 8], DATA_MAKE_NUM(DATADIR_M422, 25)); - } - Hu3DModelPosSet(arg0->model[i + 8], i * 100 - 500, 550.0f, 0.0f); - Hu3DMotionSet(arg0->model[i + 8], arg0->motion[0]); - Hu3DModelAttrSet(arg0->model[i + 8], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(arg0->model[i + 8], HU3D_MOTATTR_PAUSE); - Hu3DMotionTimeSet(arg0->model[i + 8], rand8() % (s32)Hu3DMotionMaxTimeGet(arg0->model[i + 8])); - } - arg0->model[19] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M422, 26)); - Hu3DModelPosSet(arg0->model[19], 1800.0f, 0.0f, -22.0f); - Hu3DModelAttrSet(arg0->model[19], HU3D_MOTATTR_LOOP); - arg0->model[20] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M422, 27)); - Hu3DModelPosSet(arg0->model[20], -1800.0f, 0.0f, -22.0f); - Hu3DModelAttrSet(arg0->model[20], HU3D_MOTATTR_LOOP); - for (i = 0; i < 10; i++) { - for (j = 0; j < 4; j++) { - s32 spD0[] = { DATA_MAKE_NUM(DATADIR_M422, 41), DATA_MAKE_NUM(DATADIR_M422, 42), DATA_MAKE_NUM(DATADIR_M422, 43), - DATA_MAKE_NUM(DATADIR_M422, 44), DATA_MAKE_NUM(DATADIR_M422, 45), DATA_MAKE_NUM(DATADIR_M422, 46), DATA_MAKE_NUM(DATADIR_M422, 47), - DATA_MAKE_NUM(DATADIR_M422, 48), DATA_MAKE_NUM(DATADIR_M422, 49), DATA_MAKE_NUM(DATADIR_M422, 30) }; - s32 sp30[] = { DATA_MAKE_NUM(DATADIR_M422, 30), DATA_MAKE_NUM(DATADIR_M422, 31), DATA_MAKE_NUM(DATADIR_M422, 32), - DATA_MAKE_NUM(DATADIR_M422, 33), DATA_MAKE_NUM(DATADIR_M422, 34), DATA_MAKE_NUM(DATADIR_M422, 35), DATA_MAKE_NUM(DATADIR_M422, 37), - DATA_MAKE_NUM(DATADIR_M422, 36) }; - - temp_r28 = i * 4 + 43 + j; - if (i == 9) { - StructBss3CData *var_r23 = lbl_1_bss_3C[j]->data; - - arg0->model[temp_r28] = Hu3DModelCreateFile(sp30[var_r23->unk08]); - } - else if (j == 0) { - arg0->model[temp_r28] = Hu3DModelCreateFile(spD0[i]); - } - else { - arg0->model[temp_r28] = Hu3DModelLink(arg0->model[temp_r28 - j]); - } - Hu3DModelAttrSet(arg0->model[temp_r28], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(arg0->model[temp_r28], HU3D_MOTATTR_LOOP); - Hu3DMotionTimeSet(arg0->model[temp_r28], 0.0f); - Hu3DMotionSpeedSet(arg0->model[temp_r28], (i != 9) ? 0.9375 : 1.0); - if (i == 9) { - arg0->motion[j + 22] = Hu3DJointMotionFile(arg0->model[temp_r28], DATA_MAKE_NUM(DATADIR_M422, 38)); - arg0->motion[j + 26] = Hu3DJointMotionFile(arg0->model[temp_r28], DATA_MAKE_NUM(DATADIR_M422, 39)); - arg0->motion[j + 30] = Hu3DJointMotionFile(arg0->model[temp_r28], DATA_MAKE_NUM(DATADIR_M422, 40)); - Hu3DMotionSet(arg0->model[temp_r28], arg0->motion[j + 22]); - Hu3DModelAttrSet(arg0->model[temp_r28], HU3D_MOTATTR_PAUSE); - } - } - if (i <= 8) { - for (k = 0; k < 2; k++) { - arg0->model[i * 2 + 21 + k] = Hu3DModelLink(arg0->model[i * 4 + 43]); - Hu3DModelAttrSet(arg0->model[i * 2 + 21 + k], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - } - } - } - for (i = 0; i < 2; i++) { - for (j = 0; j < 10; j++) { - s32 sp28[] = { DATA_MAKE_NUM(DATADIR_M422, 28), DATA_MAKE_NUM(DATADIR_M422, 29) }; - - temp_r28 = i * 10 + 83 + j; - if (j == 0) { - arg0->model[temp_r28] = Hu3DModelCreateFile(sp28[i]); - } - else { - arg0->model[temp_r28] = Hu3DModelLink(arg0->model[temp_r28 - j]); - } - Hu3DModelAttrSet(arg0->model[temp_r28], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(arg0->model[temp_r28], 1); - } - } - for (i = 0; i < 3; i++) { - for (j = 0; j < 8; j++) { - lbl_1_bss_104[i][j].unk04 = j * 520 / 8; - lbl_1_bss_104[i][j].unk00 = -1; - } - } - for (i = 0; i < 16; i++) { - s32 sp20[] = { 88, 473 }; - s32 sp18[] = { 78, 70 }; - s32 sp90[] = { 0, 0, 42, 22, -20, 2, -54, 0, 0, 55, 35, -7, 15, -51, -65, -37 }; - s32 sp50[] = { 0, 0, 1, 1, 1, 1, -2, 0, 0, 9, 9, 9, 9, -14, 10, 10 }; - - if (lbl_1_data_0[i] == DATA_MAKE_NUM(DATADIR_MGCONST, 12) || lbl_1_data_0[i] == DATA_MAKE_NUM(DATADIR_MGCONST, 0)) { - StructBss3CData *var_r22 = lbl_1_bss_3C[(i == 6) ? 0 : (i == 13) ? 1 : (i == 14) ? 2 : 3]->data; - - lbl_1_data_40[i] = espEntry(lbl_1_data_0[i] + var_r22->unk08, 0, 0); - } - else { - lbl_1_data_40[i] = espEntry(lbl_1_data_0[i], 0, 0); - } - espDrawNoSet(lbl_1_data_40[i], 0); - espDispOff(lbl_1_data_40[i]); - espAttrSet(lbl_1_data_40[i], 1); - espBankSet(lbl_1_data_40[i], 0); - espPriSet(lbl_1_data_40[i], 128 - i); - espPosSet(lbl_1_data_40[i], sp90[i] + sp20[i < 7 ? 0 : 1], sp50[i] + sp18[i < 7 ? 0 : 1]); - switch (i >= 7 ? i - 7 : i) { - case 0: - espTPLvlSet(lbl_1_data_40[i], 0.5f); - espColorSet(lbl_1_data_40[i], 0, 0, 0); - break; - case 5: - espBankSet(lbl_1_data_40[i], 10); - break; - } - } - for (i = 0; i < 4; i++) { - s32 temp_r26 = i + 39; - - arg0->model[temp_r26] = Hu3DParticleCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 3), MEMORY_DEFAULT_NUM)), 40); - Hu3DModelPosSet(arg0->model[temp_r26], 2000.0f, -2000.0f, -2000.0f); - Hu3DModelScaleSet(arg0->model[temp_r26], 1.0f, 1.0f, 1.0f); - Hu3DModelLayerSet(arg0->model[temp_r26], 3); - Hu3DModelAttrReset(arg0->model[temp_r26], 1); - Hu3DParticleColSet(arg0->model[temp_r26], 0xFF, 0xFF, 0xFF); - Hu3DParticleScaleSet(arg0->model[temp_r26], 5.0f); - Hu3DParticleHookSet(arg0->model[temp_r26], fn_1_9410); - Hu3DParticleCntSet(arg0->model[temp_r26], 45); - } - for (i = 0; i < 4; i++) { - s32 var_r27 = 9; - s32 temp_r24 = 43 + var_r27 * 4 + i; - - lbl_1_data_F0[var_r27][i].unk0C = lbl_1_data_18B4[i][0]; - lbl_1_data_F0[var_r27][i].unk10 = (i == 0 ? 300 : 0); - lbl_1_data_F0[var_r27][i].unk14 = (i == 0 ? 50 : 800); - lbl_1_data_F0[var_r27][i].unk00 = 9; - lbl_1_data_F0[var_r27][i].unk04 = (i == 0 ? 3 : 6); - lbl_1_data_F0[var_r27][i].unk08 = 0; - lbl_1_data_F0[var_r27][i].unk18 = lbl_1_data_F0[var_r27][i].unk1C = lbl_1_data_F0[var_r27][i].unk20 = 0.0f; - Hu3DMotionTimeSet(arg0->model[temp_r24], 0.0f); - Hu3DModelAttrSet(arg0->model[temp_r24], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(arg0->model[temp_r24], 1); - Hu3DModelRotSet(arg0->model[temp_r24], 0.0f, 0.0f, 0.0f); - } - arg0->func = fn_1_3B74; -} - -void fn_1_AC4C(omObjData *arg0) -{ - s32 sp8[] = { 0, 1, 2, 3 }; - StructBss3CData *temp_r31; - s32 var_r27; - s32 j; - s32 i; - - var_r27 = 0; - temp_r31 = arg0->data; - memset(temp_r31, 0, sizeof(*temp_r31)); - for (i = 0; i < 4; i++) { - for (j = 0; j < 4; j++) { - if (i == GWPlayerCfg[j].group) { - sp8[var_r27] = j; - var_r27++; - } - } - } - temp_r31->unk00 = arg0->work[0]; - temp_r31->unk04 = sp8[temp_r31->unk00]; - if (temp_r31->unk04 == 4) { - OSReport("m422:wrong player group\n"); - temp_r31->unk04 = temp_r31->unk00; - } - temp_r31->unk08 = GWPlayerCfg[temp_r31->unk04].character; - temp_r31->unk0C = (GWPlayerCfg[temp_r31->unk04].iscom ? -1 : GWPlayerCfg[temp_r31->unk04].pad_idx); - temp_r31->unk10 = (temp_r31->unk0C != -1) ? 0 : GWPlayerCfg[temp_r31->unk04].diff; - temp_r31->unk14 = rand8(); - temp_r31->unk20 = 0; - arg0->model[0] = CharModelCreate(temp_r31->unk08, temp_r31->unk00 == 0 ? 2 : 2); - Hu3DModelLayerSet(arg0->model[0], 1); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(arg0->model[0], 1); - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M422, 50)); - Hu3DModelPosSet(arg0->model[1], 0.0f, 0.0f, 0.0f); - Hu3DModelLayerSet(arg0->model[1], 0); - temp_r31->unk18 = 0; - temp_r31->unk1C = -1; - for (i = 0; i < 8; i++) { - arg0->motion[i] = CharModelMotionCreate(temp_r31->unk08, lbl_1_data_A0[i] + (lbl_1_data_C0[i] != 0 ? temp_r31->unk08 : 0)); - } - CharModelVoiceEnableSet(temp_r31->unk08, arg0->motion[6], 0); - Hu3DMotionSet(arg0->model[0], arg0->motion[3]); - arg0->trans.x = lbl_1_data_18B4[temp_r31->unk00][0]; - arg0->trans.y = lbl_1_data_18B4[temp_r31->unk00][1]; - arg0->trans.z = lbl_1_data_18B4[temp_r31->unk00][2]; - arg0->rot.y = lbl_1_data_18B4[temp_r31->unk00][3]; - arg0->scale.x = arg0->scale.y = arg0->scale.z = 1.0f; - arg0->rot.x = arg0->rot.z = 0.0f; - arg0->func = fn_1_2FC; -} - -void fn_1_B004(omObjData *arg0) -{ - lbl_1_bss_34 = 1000; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - arg0->func = fn_1_89E0; -} - -void ObjectSetup(void) -{ - omObjData *var_r30; - s32 i; - - OSReport("******* M422 ObjectSetup *********\n"); - HuAudSndGrpSet(47); - lbl_1_bss_30 = omInitObjMan(600, 0x2000); - omGameSysInit(lbl_1_bss_30); - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 30.0f, 20.0f, 25000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - CZoom = 1676.6f; - Center.x = 690.0f; - Center.y = 1340.0f; - Center.z = 1380.0f; - CRot.x = -50.8125f; - CRot.y = 40.0f; - CRot.z = 0.0f; - CZoom = 2126.6f; - Center.x = 700.0f; - Center.y = 870.0f; - Center.z = 1320.0f; - CRot.x = -37.25f; - CRot.y = 40.0f; - CRot.z = 0.0f; - { - Vec sp18 = { -822.5f, 6743.0f, 4625.5f }; - Vec spC = { 0.1545085f, -0.788462f, -0.5850064f }; - GXColor sp8 = { 0xFF, 0xFF, 0xFF, 0xFF }; - - lbl_1_bss_24 = Hu3DGLightCreateV(&sp18, &spC, &sp8); - } - Hu3DGLightStaticSet(lbl_1_bss_24, 1); - Hu3DGLightInfinitytSet(lbl_1_bss_24); - lbl_1_bss_2E = -1; - lbl_1_bss_20 = -1; - lbl_1_bss_38 = omAddObjEx(lbl_1_bss_30, 101, 103, 34, 1, fn_1_9900); - for (i = 0; i < 4; i++) { - var_r30 = lbl_1_bss_3C[i] = omAddObjEx(lbl_1_bss_30, 100, 2, 8, 0, fn_1_AC4C); - var_r30->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(StructBss3CData), MEMORY_DEFAULT_NUM); - var_r30->work[0] = i; - } - lbl_1_bss_4C = omAddObjEx(lbl_1_bss_30, 0x7FDA, 0, 0, -1, omOutView); - lbl_1_bss_50 = omAddObjEx(lbl_1_bss_30, 102, 0, 0, -1, fn_1_B004); -} - -void fn_1_B480(omObjData *arg0) -{ - StructBss3CData *var_r30; - s32 i; - - if (WipeStatGet() == 0) { - for (i = 0; i < 4; i++) { - var_r30 = lbl_1_bss_3C[i]->data; - CharModelKill(var_r30->unk08); - } - if (lbl_1_bss_2E >= 0) { - MGSeqKill(lbl_1_bss_2E); - } - MGSeqKillAll(); - HuAudAllStop(); - omOvlReturnEx(1, 1); - } -} diff --git a/src/REL/m423Dll/main.c b/src/REL/m423Dll/main.c deleted file mode 100755 index 4590b4a0..00000000 --- a/src/REL/m423Dll/main.c +++ /dev/null @@ -1,5676 +0,0 @@ -#include "game/audio.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/esprite.h" -#include "game/gamework_data.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/pad.h" -#include "game/process.h" -#include "game/sprite.h" -#include "game/wipe.h" - -#include "dolphin.h" -#include "ext_math.h" - -#define frand7() (frand() & 0x7F) - -extern u32 GlobalCounter; - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ void *unk10; -} StructBssD0Data; // Size 0x14 - -typedef struct { - /* 0x00 */ Vec unk00; - /* 0x0C */ Vec unk0C; - /* 0x18 */ float unk18; -} StructData0; // Size 0x1C - -typedef struct { - /* 0x00 */ StructBssD0Data *unk00; - /* 0x04 */ AnimData *unk04; -} StructM423_00; // Size 8 - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ s16 unk04; - /* 0x06 */ s16 unk06; - /* 0x08 */ Vec unk08; -} StructM423_01; // Size 0x14 - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ s16 unk04; - /* 0x06 */ char unk06[2]; - /* 0x08 */ Vec unk08; - /* 0x14 */ Vec *unk14; - /* 0x18 */ Vec *unk18; - /* 0x1C */ GXColor *unk1C; - /* 0x20 */ StructM423_01 *unk20; - /* 0x24 */ float unk24[4]; - /* 0x34 */ u32 unk34; - /* 0x38 */ void *unk38; -} StructM423_02; // Size 0x3C - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ StructM423_02 *unk04; -} StructM423_03; // Size 8 - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ Vec unk04; - /* 0x10 */ char unk10[8]; - /* 0x18 */ float unk18; - /* 0x1C */ char unk1C[0xC]; - /* 0x28 */ float unk28; - /* 0x2C */ float unk2C; - /* 0x30 */ float unk30; - /* 0x34 */ float unk34; - /* 0x38 */ Vec unk38; - /* 0x44 */ GXColor unk44; - /* 0x48 */ s32 unk48; -} StructM423_04; // Size 0x4C - -typedef struct struct_m423_05 { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x00 */ char unk04[0x1C]; - /* 0x20 */ u8 unk20; - /* 0x21 */ u8 unk21; - /* 0x22 */ u8 unk22; - /* 0x23 */ s8 unk23; - /* 0x24 */ char unk24[2]; - /* 0x26 */ s16 unk26; - /* 0x28 */ s32 unk28; - /* 0x2C */ s32 unk2C; - /* 0x30 */ u32 unk30; - /* 0x34 */ s32 unk34; - /* 0x38 */ AnimData *unk38; - /* 0x3C */ StructM423_04 *unk3C; - /* 0x40 */ Vec *unk40; - /* 0x44 */ float (*unk44)[2]; - /* 0x48 */ void *unk48; - /* 0x4C */ void *unk4C; - /* 0x50 */ ModelData *unk50; -} StructM423_05; // Size 0x54 - -typedef struct { - /* 0x00 */ float unk00; - /* 0x04 */ float unk04; - /* 0x08 */ char unk08[4]; - /* 0x0C */ float unk0C; - /* 0x10 */ float unk10; - /* 0x14 */ char unk14[4]; - /* 0x18 */ float unk18; - /* 0x1C */ float unk1C; - /* 0x20 */ char unk20[4]; - /* 0x24 */ float unk24; - /* 0x28 */ float unk28; - /* 0x2C */ char unk2C[4]; - /* 0x30 */ float unk30; - /* 0x34 */ float unk34; - /* 0x38 */ char unk38[4]; -} StructM423_08; // Size 0x3C - -typedef struct { - /* 0x00 */ float unk00; - /* 0x04 */ float unk04; - /* 0x08 */ float unk08; - /* 0x0C */ float unk0C; - /* 0x10 */ float unk10; - /* 0x14 */ float unk14; - /* 0x18 */ float unk18; - /* 0x1C */ float unk1C; - /* 0x20 */ float unk20; - /* 0x24 */ float unk24; -} StructM423_09; // Size 0x28 - -typedef struct { - /* 0x000 */ u16 unk00; - /* 0x002 */ u16 unk02; - /* 0x004 */ float unk04; - /* 0x008 */ float unk08; - /* 0x00C */ float unk0C; - /* 0x010 */ float unk10; - /* 0x014 */ Vec unk14; -} StructM423_0A; // Size 0x20 - -typedef struct { - /* 0x000 */ StructM423_0A unk00[16]; - /* 0x200 */ AnimData *unk200; - /* 0x204 */ s32 unk204; - /* 0x208 */ void *unk208; - /* 0x20C */ StructM423_08 *unk20C; - /* 0x210 */ StructM423_09 *unk210; - /* 0x214 */ GXColor *unk214; - /* 0x218 */ s32 unk218; - /* 0x21C */ s32 unk21C; - /* 0x220 */ void *unk220; -} StructM423_0B; // Size 0x224 - -typedef struct { - /* 0x000 */ s32 unk00; - /* 0x004 */ s32 unk04; - /* 0x008 */ s32 unk08; - /* 0x00C */ s32 unk0C; - /* 0x010 */ s32 unk10[24]; - /* 0x070 */ s32 unk70[24][3]; - /* 0x190 */ s16 unk190[10][2]; -} StructM423_0C; // Size 0x1B8 - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ s16 unk04; - /* 0x06 */ s16 unk06; - /* 0x08 */ s16 unk08; - /* 0x0A */ s16 unk0A; - /* 0x0C */ s16 unk0C; - /* 0x0E */ s16 unk0E; - /* 0x10 */ s16 unk10; - /* 0x12 */ s16 unk12; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ Vec unk20; - /* 0x2C */ Vec unk2C; - /* 0x38 */ Vec unk38; - /* 0x44 */ float unk44; - /* 0x48 */ float unk48; - /* 0x4C */ float unk4C; - /* 0x50 */ Vec unk50; - /* 0x5C */ Vec unk5C; - /* 0x68 */ Vec unk68; - /* 0x74 */ Vec unk74; - /* 0x80 */ Vec unk80; - /* 0x8C */ float unk8C; - /* 0x90 */ float unk90; -} StructBssA8Data; // Size 0x94 - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ s16 unk04; - /* 0x06 */ s16 unk06; - /* 0x08 */ s16 unk08; - /* 0x0A */ s16 unk0A; -} StructBssCCData; // Size 0xC - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ s16 unk04; - /* 0x06 */ s16 unk06; - /* 0x08 */ s16 unk08; - /* 0x0A */ s16 unk0A; - /* 0x0C */ s16 unk0C; - /* 0x0E */ s16 unk0E; - /* 0x10 */ s16 unk10; - /* 0x12 */ s16 unk12; - /* 0x14 */ s16 unk14; - /* 0x16 */ s16 unk16; - /* 0x18 */ s16 unk18; - /* 0x1A */ char unk1A[2]; - /* 0x1C */ float unk1C[15]; - /* 0x58 */ s32 unk58; - /* 0x5C */ s32 unk5C; - /* 0x60 */ float unk60; - /* 0x64 */ s32 unk64; - /* 0x68 */ s32 unk68; - /* 0x6C */ s32 unk6C; - /* 0x70 */ s32 unk70; - /* 0x74 */ s32 unk74; - /* 0x78 */ float unk78; - /* 0x7C */ float unk7C; - /* 0x80 */ s32 unk80; - /* 0x84 */ s32 unk84; - /* 0x88 */ float unk88; - /* 0x8C */ float unk8C; - /* 0x90 */ s32 unk90; - /* 0x94 */ s32 unk94; - /* 0x98 */ s32 unk98; - /* 0x9C */ s32 unk9C; - /* 0xA0 */ s32 unkA0; - /* 0xA4 */ s32 unkA4; - /* 0xA8 */ float unkA8; - /* 0xAC */ s32 unkAC; - /* 0xB0 */ float unkB0; - /* 0xB4 */ float unkB4; - /* 0xB8 */ float unkB8; - /* 0xBC */ float unkBC; - /* 0xC0 */ float unkC0; - /* 0xC4 */ float unkC4; - /* 0xC8 */ Vec unkC8; - /* 0xD4 */ Vec unkD4; - /* 0xE0 */ float unkE0; - /* 0xE4 */ float unkE4; - /* 0xE8 */ float unkE8; - /* 0xEC */ float unkEC; - /* 0xF0 */ float unkF0; - /* 0xF4 */ float unkF4; -} StructBssBCData; // Size 0xF8 - -typedef struct { - /* 0x000 */ s16 unk00; - /* 0x002 */ s16 unk02; - /* 0x004 */ Vec unk04; - /* 0x010 */ Vec unk10; - /* 0x004 */ char unk1C[0xC]; - /* 0x028 */ float unk28; - /* 0x02C */ float unk2C; - /* 0x030 */ float unk30; - /* 0x034 */ float unk34; - /* 0x038 */ char unk38[4]; - /* 0x03C */ float unk3C; - /* 0x040 */ s32 unk40; - /* 0x044 */ float unk44[12][4]; - /* 0x104 */ Vec unk104[12][3]; -} StructBss94Data; // Size 0x2B4 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ AnimData *unk08; -} StructBssA4Data; // Size 0xC - -void fn_1_318(omObjData *arg0); -void fn_1_3B0(omObjData *arg0); -void fn_1_DFC(omObjData *arg0); -void fn_1_E60(omObjData *arg0); -void fn_1_F10(void); -void fn_1_F60(omObjData *arg0); -void fn_1_11A4(omObjData *arg0); -void fn_1_1238(void); -void fn_1_12A0(ModelData *arg0, Mtx arg1); -s32 fn_1_13A0(StructBssD0Data *arg0); -void fn_1_1444(s32 arg0); -void fn_1_14A0(ModelData *arg0, Mtx arg1); -s32 fn_1_18FC(void); -void fn_1_1B5C(ModelData *arg0, StructM423_02 *arg1); -void fn_1_1F5C(ModelData *arg0, StructM423_02 *arg1); -void fn_1_2290(ModelData *arg0, StructM423_02 *arg1); -void fn_1_2624(ModelData *arg0, StructM423_02 *arg1); -void fn_1_29B8(s32 arg0); -void fn_1_29BC(ModelData *arg0, Mtx arg1); -void fn_1_2C08(s32 arg0); -void fn_1_34D8(void); -void fn_1_3528(omObjData *arg0); -void fn_1_3898(omObjData *arg0); -void fn_1_3A64(void); -void fn_1_3A8C(void); -void fn_1_3BFC(void); -void fn_1_3FE0(omObjData *arg0); -void fn_1_4778(omObjData *arg0); -void fn_1_5D18(omObjData *arg0); -void fn_1_77D0(void); -s32 fn_1_781C(void); -s32 fn_1_791C(void); -void fn_1_7AA8(s32 arg0); -void fn_1_82C8(s32 arg0, s32 arg1, s32 arg2); -void fn_1_8338(omObjData *arg0); -void fn_1_8CB4(omObjData *arg0); -void fn_1_95C4(void); -void fn_1_9614(omObjData *arg0); -void fn_1_98A0(omObjData *arg0); -void fn_1_A9AC(void); -s32 fn_1_A9D4(s32 arg0, Vec arg1, Vec arg2); -void fn_1_AC0C(s32 arg0, Vec arg1); -void fn_1_AC80(s32 arg0, Vec arg1); -s32 fn_1_AE64(s32 arg0); -void fn_1_AEE8(s32 arg0); -StructBssA8Data *fn_1_B13C(s32 arg0); -void fn_1_B1A4(void); -s32 fn_1_B304(StructBssA8Data **arg0); -void fn_1_B430(void); -void fn_1_BCD8(Vec *arg0, Vec *arg1, Vec *arg2, float arg3, s32 arg4, s32 arg5); -s32 fn_1_C498(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, float arg4, s32 arg5); -void fn_1_D930(void); -void fn_1_DA38(omObjData *arg0); -void fn_1_DBC8(void); -s32 fn_1_DC24(Vec arg0, Vec arg1, float arg2, float arg3, float arg4, GXColor arg5); -s32 fn_1_DD70(Vec arg0, Vec arg1, float arg2, float arg3, float arg4, float arg5, GXColor arg6); -void fn_1_E1BC(void); -void fn_1_E290(omObjData *arg0); -void fn_1_E330(void); -s32 fn_1_E334(Vec arg0, Vec arg1, float arg2); -void fn_1_E460(void); -void fn_1_E4EC(omObjData *arg0); -void fn_1_E60C(void); -s32 fn_1_E678(void); -void fn_1_EF44(ModelData *arg0, Mtx arg1); -s32 fn_1_F574(Vec arg0, float arg1, s32 arg2); -void fn_1_F690(void); -void fn_1_F6E0(omObjData *arg0); -void fn_1_FA40(omObjData *arg0); -void fn_1_FF98(void); -void fn_1_10028(s32 arg0); -void fn_1_100DC(void); -void fn_1_10480(omObjData *arg0); -void fn_1_10540(s32 arg0, s32 arg1, s32 arg2, float arg3); -void fn_1_106D8(s32 arg0); -void fn_1_10BC8(void); -void fn_1_11008(StructBssD0Data *arg0, void *arg1, s16 arg2, GXTexWrapMode arg3, s32 arg4, s32 arg5); -s16 fn_1_11114(AnimData *arg0, s16 arg1); -void fn_1_11900(ModelData *arg0, Mtx arg1); -float fn_1_121DC(float arg0, float arg1); -float fn_1_122F4(float arg0, float arg1, float arg2); -float fn_1_12544(float arg0, float arg1, float arg2); -void fn_1_1293C(Mtx arg0, Vec *arg1); -s32 fn_1_12C6C(Vec *arg0, Vec *arg1, float *arg2); -float fn_1_12E68(Vec *arg0, Vec *arg1, s32 arg2); -void fn_1_129F0(Vec *arg0, Vec *arg1, Vec *arg2, float *arg3); -void fn_1_1334C(float *arg0, Vec *arg1, Vec *arg2, Vec *arg3, Vec *arg4); -float fn_1_1367C(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, float *arg4); -s32 fn_1_137C4(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, float arg4, s32 arg5); - -Process *lbl_1_bss_120; -s32 lbl_1_bss_11C; -s32 lbl_1_bss_118; -s32 lbl_1_bss_114; -s32 lbl_1_bss_110; -s32 lbl_1_bss_10C; // unused -s32 lbl_1_bss_108; -s32 lbl_1_bss_104; -s32 lbl_1_bss_100; -s32 lbl_1_bss_FC; -s32 lbl_1_bss_EC[4]; -s32 lbl_1_bss_DC[4]; -s32 lbl_1_bss_D8; -omObjData *lbl_1_bss_D4; -omObjData *lbl_1_bss_D0; -omObjData *lbl_1_bss_CC; -omObjData *lbl_1_bss_BC[4]; -omObjData *lbl_1_bss_B8; -omObjData *lbl_1_bss_AC[3]; -omObjData *lbl_1_bss_A8; -omObjData *lbl_1_bss_A4; -omObjData *lbl_1_bss_A0; -omObjData *lbl_1_bss_9C; -omObjData *lbl_1_bss_98; -StructBss94Data *lbl_1_bss_94; -s32 lbl_1_bss_90; -omObjData *lbl_1_bss_8C; -s32 lbl_1_bss_88; -s32 lbl_1_bss_84; -s32 lbl_1_bss_80; -s32 lbl_1_bss_7C; -StructBssA8Data *lbl_1_bss_40[15]; -StructBssA8Data *lbl_1_bss_4[15]; -s32 lbl_1_bss_0; - -StructData0 lbl_1_data_0[] - = { { { 342.45f, 0.0f, 0.0f }, { 0.0f, 275.0f, 128.0f }, 550.0f }, { { 6.0f, 0.0f, 0.0f }, { 0.0f, 190.0f, 0.0f }, 550.0f } }; - -StructData0 lbl_1_data_38[] - = { { { 22.0f, 180.0f, 0.0f }, { -250.0f, 120.00001f, 0.0f }, 160.0f }, { { 22.0f, 180.0f, 0.0f }, { 0.0f, 120.00001f, 0.0f }, 160.0f }, - { { 22.0f, 180.0f, 0.0f }, { 250.0f, 120.00001f, 0.0f }, 160.0f }, { { -45.0f, 180.0f, 0.0f }, { -250.0f, 75.0f, 0.0f }, 180.0f }, - { { -45.0f, 180.0f, 0.0f }, { 0.0f, 75.0f, 0.0f }, 180.0f }, { { -45.0f, 180.0f, 0.0f }, { 250.0f, 75.0f, 0.0f }, 180.0f }, - { { -45.0f, 0.0f, 0.0f }, { -250.0f, 95.0f, 0.0f }, 150.0f }, { { -45.0f, 0.0f, 0.0f }, { 0.0f, 95.0f, 0.0f }, 150.0f }, - { { -45.0f, 0.0f, 0.0f }, { 250.0f, 95.0f, 0.0f }, 150.0f }, { { -45.0f, 0.0f, 0.0f }, { 0.0f, 95.0f, -850.0f }, 150.0f } }; - -Vec lbl_1_data_150[] = { 0.0f, 0.0f, -850.0f, -250.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 250.0f, 0.0f, 0.0f }; - -Vec lbl_1_data_180[] = { 0.0f, 0.0f, -850.0f, 850.0f, 0.0f, 0.0f, 1200.0f, 0.0f, 0.0f, 1650.0f, 0.0f, 0.0f }; - -Vec lbl_1_data_1B0[] = { { -250.0f, 45.0f, 500.0f }, { 0.0f, 45.0f, 500.0f }, { 250.0f, 45.0f, 500.0f } }; - -Vec lbl_1_data_1D4 = { 1000.0f, 2000.0f, 1000.0f }; -Vec lbl_1_data_1E0 = { 0.0f, 1.0f, 0.0f }; -Vec lbl_1_data_1EC = { 0.0f, 0.0f, -450.0f }; - -void ObjectSetup(void) -{ - Process *var_r30; - CameraData *var_r29; - s32 i; - - OSReport("******* M426ObjectSetup *********\n"); - var_r30 = omInitObjMan(50, 0x2000); - lbl_1_bss_120 = var_r30; - omGameSysInit(var_r30); - fn_1_100DC(); - Hu3DLightAllKill(); - Hu3DLighInit(); - HuAudSndGrpSet(0x30); - lbl_1_bss_D4 = omAddObjEx(var_r30, 0xFF, 2, 0, -1, fn_1_318); - lbl_1_bss_11C = lbl_1_bss_118 = -1; - lbl_1_bss_D0 = NULL; - lbl_1_bss_CC = NULL; - lbl_1_bss_A8 = NULL; - lbl_1_bss_B8 = NULL; - lbl_1_bss_AC[0] = lbl_1_bss_AC[1] = lbl_1_bss_AC[2] = NULL; - lbl_1_bss_114 = 0; - lbl_1_bss_110 = 0; - lbl_1_bss_108 = 0; - lbl_1_bss_104 = 10; - lbl_1_bss_100 = -1; - lbl_1_bss_FC = 0; - lbl_1_bss_90 = -1; - lbl_1_bss_D8 = -1; - for (i = 0; i < 4; i++) { - lbl_1_bss_DC[i] = 0; - lbl_1_bss_EC[i] = -1; - } - Hu3DShadowCreate(30.0f, 1000.0f, 250000.0f); - Hu3DShadowTPLvlSet(0.5f); - Hu3DShadowPosSet(&lbl_1_data_1D4, &lbl_1_data_1E0, &lbl_1_data_1EC); - for (i = 0; i < 3; i++) { - var_r29 = &Hu3DCamera[i]; - var_r29->fov = -1.0f; - } -} - -Vec lbl_1_data_21C = { 0.0f, 0.0f, 0.0f }; -Vec lbl_1_data_228 = { -1.0f, -2.0f, -1.0f }; -GXColor lbl_1_data_234 = { 0xFF, 0xFF, 0xFF, 0xFF }; - -void fn_1_318(omObjData *arg0) -{ - s32 var_r31; - - var_r31 = Hu3DGLightCreateV(&lbl_1_data_21C, &lbl_1_data_228, &lbl_1_data_234); - Hu3DGLightStaticSet(var_r31, 1); - Hu3DGLightInfinitytSet(var_r31); - fn_1_F10(); - fn_1_34D8(); - fn_1_3BFC(); - fn_1_95C4(); - fn_1_D930(); - fn_1_E1BC(); - fn_1_E460(); - fn_1_F690(); - HuAudFXPlay(0x618); - arg0->func = fn_1_3B0; -} - -s32 lbl_1_data_238[] = { 0, 4, 2, 3, 1, 5 }; -s32 lbl_1_data_250[] = { 186, 186, 186, 240, 240, 240 }; - -void fn_1_3B0(omObjData *arg0) -{ - CameraData *var_r28; - float var_f31; - s32 temp_r27; - s32 var_r30; - s32 var_r29; - s32 i; - - switch (lbl_1_bss_114) { - case 0: - fn_1_10540(2, 1, 1, 0.0f); - if (++lbl_1_bss_110 > 3) { - for (i = 0; i < 3; i++) { - var_r28 = &Hu3DCamera[i]; - var_r28->fov = 45.0f; - } - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - lbl_1_bss_114 = 1; - lbl_1_bss_110 = 0; - } - break; - case 1: - fn_1_10540(2, 1, 1, 0.0f); - if (WipeStatGet() == 0) { - lbl_1_bss_114 = 2; - lbl_1_bss_110 = 0; - } - break; - case 2: - if (++lbl_1_bss_110 >= 30.0f) { - lbl_1_bss_114 = 3; - lbl_1_bss_110 = 0; - } - break; - case 3: - var_f31 = lbl_1_bss_110 / 90.0f; - if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - var_f31 = sind(90.0f * var_f31); - var_f31 *= var_f31; - fn_1_10540(2, 1, 0, var_f31); - if (++lbl_1_bss_110 >= 90.0f) { - lbl_1_bss_114 = 4; - lbl_1_bss_110 = 0; - } - break; - case 4: - if (fn_1_781C() != 0) { - lbl_1_bss_11C = MGSeqStartCreate(); - lbl_1_bss_114 = 5; - lbl_1_bss_110 = 0; - } - break; - case 5: - if (lbl_1_bss_11C != -1) { - var_r30 = MGSeqStatGet(lbl_1_bss_11C); - if ((var_r30 & 0x10) && lbl_1_bss_D8 == -1) { - lbl_1_bss_D8 = HuAudSeqPlay(0x46); - } - } - else { - var_r30 = 0; - } - if (lbl_1_bss_11C == -1 || var_r30 == 0) { - lbl_1_bss_11C = -1; - lbl_1_bss_114 = 6; - lbl_1_bss_110 = 0; - lbl_1_bss_108 = 1800; - fn_1_10028(1); - lbl_1_bss_118 = MGSeqTimerCreate(lbl_1_bss_108 / 60); - } - break; - case 6: - temp_r27 = lbl_1_data_238[lbl_1_bss_0]; - fn_1_106D8(temp_r27); - if (lbl_1_bss_80 >= lbl_1_data_250[temp_r27] && ++lbl_1_bss_0 > 5) { - lbl_1_bss_0 = 0; - } - var_r29 = (lbl_1_bss_108 + 59) / 60; - if (var_r29 < 0) { - var_r29 = 0; - } - MGSeqParamSet(lbl_1_bss_118, 1, var_r29); - if (--lbl_1_bss_108 < -1 || lbl_1_bss_104 <= 0) { - MGSeqParamSet(lbl_1_bss_118, 2, -1); - lbl_1_bss_118 = -1; - fn_1_B1A4(); - if (lbl_1_bss_D8 != -1) { - HuAudSeqFadeOut(lbl_1_bss_D8, 100); - } - lbl_1_bss_11C = MGSeqFinishCreate(); - lbl_1_bss_114 = 7; - lbl_1_bss_110 = 0; - } - break; - case 7: - if (fn_1_791C() != 0 && (lbl_1_bss_11C == -1 || MGSeqStatGet(lbl_1_bss_11C) == 0)) { - lbl_1_bss_114 = 9; - lbl_1_bss_110 = 0; - } - break; - case 9: - if (lbl_1_bss_104 <= 0) { - lbl_1_bss_11C = MGSeqWinCreate(lbl_1_bss_EC[0], lbl_1_bss_EC[1], lbl_1_bss_EC[2], -1); - fn_1_7AA8(1); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_EC[3] != GWPlayerCfg[i].character) { - GWPlayerCoinWinAdd(i, 10); - } - } - if (lbl_1_bss_DC[0] > lbl_1_bss_DC[1] && lbl_1_bss_DC[0] > lbl_1_bss_DC[2]) { - i = 0; - } - else if (lbl_1_bss_DC[1] > lbl_1_bss_DC[0] && lbl_1_bss_DC[1] > lbl_1_bss_DC[2]) { - i = 1; - } - else if (lbl_1_bss_DC[2] > lbl_1_bss_DC[0] && lbl_1_bss_DC[2] > lbl_1_bss_DC[1]) { - i = 2; - } - else { - i = frand() & 3; - if (i > 2) { - i = 2; - } - else if (i < 0) { - i = 0; - } - } - fn_1_106D8(i + 6); - lbl_1_bss_114 = 10; - lbl_1_bss_108 = 0; - } - else { - lbl_1_bss_11C = MGSeqWinCreate(lbl_1_bss_EC[3], -1, -1, -1); - fn_1_7AA8(0); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_EC[3] == GWPlayerCfg[i].character) { - GWPlayerCoinWinAdd(i, 10); - } - } - fn_1_106D8(9); - lbl_1_bss_114 = 10; - lbl_1_bss_108 = 0; - } - HuAudSStreamPlay(1); - HuAudFXPlay(0x618); - break; - case 10: - fn_1_3A8C(); - if (++lbl_1_bss_108 >= 210.0f) { - lbl_1_bss_11C = -1; - lbl_1_bss_114 = 11; - lbl_1_bss_108 = 0; - } - break; - case 11: - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - arg0->func = fn_1_DFC; - break; - } - fn_1_E60(arg0); -} - -void fn_1_DFC(omObjData *arg0) -{ - if (WipeStatGet() == 0) { - fn_1_1238(); - fn_1_3A64(); - fn_1_77D0(); - fn_1_A9AC(); - fn_1_DBC8(); - fn_1_E330(); - fn_1_E60C(); - fn_1_FF98(); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - } -} - -void fn_1_E60(omObjData *arg0) -{ - s32 var_r30; - - var_r30 = 0; - if (WipeStatGet() != 0 || arg0->func == fn_1_DFC) { - return; - } - if (omSysExitReq != 0) { - var_r30 = 1; - } - if (var_r30 != 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuAudStreamFadeOut(30); - arg0->func = fn_1_DFC; - } -} - -s32 fn_1_F00(void) -{ - return lbl_1_bss_114; -} - -void fn_1_F10(void) -{ - lbl_1_bss_D0 = omAddObjEx(lbl_1_bss_120, 0x7F, 8, 0, -1, fn_1_F60); -} - -void fn_1_F60(omObjData *arg0) -{ - StructBssD0Data *temp_r30; - ModelData *temp_r29; - - temp_r30 = arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(*temp_r30), MEMORY_DEFAULT_NUM); - memset(temp_r30, 0, sizeof(*temp_r30)); - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M423, 0)); - Hu3DModelCameraSet(arg0->model[0], 5); - Hu3DModelShadowMapSet(arg0->model[0]); - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M423, 1)); - Hu3DModelCameraSet(arg0->model[1], 5); - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M423, 2)); - Hu3DModelScaleSet(arg0->model[2], 1.125f, 1.0f, 1.0f); - Hu3DModelCameraSet(arg0->model[2], 5); - Hu3DModelShadowSet(arg0->model[2]); - arg0->model[3] = Hu3DHookFuncCreate(fn_1_12A0); - Hu3DModelCameraSet(arg0->model[3], 2); - temp_r29 = &Hu3DData[arg0->model[3]]; - temp_r29->unk_120 = temp_r30; - temp_r30->unk00 = 160; - temp_r30->unk04 = 160; - temp_r30->unk08 = GXGetTexBufferSize(temp_r30->unk00, temp_r30->unk04, 5, 0, 0); - temp_r30->unk10 = HuMemDirectMallocNum(HEAP_DATA, temp_r30->unk08, (u32)temp_r29->unk_48); - temp_r30->unk0C = 0.0f; - arg0->model[4] = fn_1_13A0(temp_r30); - Hu3DModelCameraSet(arg0->model[4], 5); - Hu3DModelPosSet(arg0->model[4], 0.0f, 200.0f, -1700.0f); - arg0->model[5] = fn_1_18FC(); - Hu3DModelCameraSet(arg0->model[5], 4); - arg0->func = fn_1_11A4; -} - -void fn_1_11A4(omObjData *arg0) -{ - fn_1_2C08(arg0->model[5]); -} - -void fn_1_11D8(omObjData *arg0) -{ - fn_1_1444(arg0->model[4]); - arg0->model[4] = -1; - fn_1_29B8(arg0->model[5]); - arg0->model[5] = -1; - arg0->func = NULL; -} - -void fn_1_1238(void) -{ - fn_1_11D8(lbl_1_bss_D0); -} - -GXColor lbl_1_data_298 = { 0x00, 0x00, 0x00, 0xFF }; - -void fn_1_12A0(ModelData *arg0, Mtx arg1) -{ - StructBssD0Data *temp_r31; - CameraData *var_r30; - - temp_r31 = arg0->unk_120; - var_r30 = &Hu3DCamera[1]; - if (var_r30->fov <= 0.0f) { - return; - } - GXSetTexCopySrc(0, 0, 320, 240); - GXSetTexCopyDst(temp_r31->unk00, temp_r31->unk04, GX_TF_RGB5A3, GX_TRUE); - GXSetCopyClear(lbl_1_data_298, 0xFFFFFF); - GXCopyTex(temp_r31->unk10, GX_TRUE); - DCFlushRange(temp_r31->unk10, temp_r31->unk08); - GXPixModeSync(); - temp_r31->unk0C = 1; - fn_1_10BC8(); -} - -s32 fn_1_13A0(StructBssD0Data *arg0) -{ - StructM423_00 *var_r31; - ModelData *temp_r30; - s32 var_r29; - - var_r29 = Hu3DHookFuncCreate(fn_1_14A0); - temp_r30 = &Hu3DData[var_r29]; - var_r31 = temp_r30->unk_120 = HuMemDirectMallocNum(HEAP_DATA, sizeof(*var_r31), temp_r30->unk_48); - memset(var_r31, 0, sizeof(*var_r31)); - var_r31->unk00 = arg0; - var_r31->unk04 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M423, 21), MEMORY_DEFAULT_NUM)); - return var_r29; -} - -void fn_1_1444(s32 arg0) -{ - StructM423_00 *var_r31; - ModelData *var_r30; - - if (arg0 >= 0) { - var_r30 = &Hu3DData[arg0]; - var_r31 = var_r30->unk_120; - HuSprAnimKill(var_r31->unk04); - } -} - -f32 lbl_1_data_29C[] = { -400.0f, 400.0f, 0.0f, 400.0f, 400.0f, 0.0f, 400.0f, 0.0f, 0.0f, -400.0f, 0.0f, 0.0f }; - -f32 lbl_1_data_2CC[] = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.75f, 0.0f, 0.75f }; - -f32 lbl_1_data_2EC[] = { 0.0f, 0.0f, 1.2f, 0.0f, 1.2f, 0.75f, 0.0f, 0.75f }; - -GXColor lbl_1_data_30C[] = { { 0x40, 0x40, 0x40, 0xFF } }; - -GXColor lbl_1_data_310 = { 0x00, 0x00, 0x00, 0x80 }; - -void fn_1_14A0(ModelData *arg0, Mtx arg1) -{ - CameraData *var_r28; - StructM423_00 *temp_r29; - StructBssD0Data *temp_r30; - Mtx spC; - s16 i; - - var_r28 = &Hu3DCamera[2]; - temp_r29 = arg0->unk_120; - temp_r30 = temp_r29->unk00; - if (temp_r30->unk0C != 0) { - if (var_r28->fov <= 0.0f) { - return; - } - GXLoadPosMtxImm(arg1, GX_PNMTX0); - MTXInvXpose(arg1, spC); - GXLoadNrmMtxImm(spC, GX_PNMTX0); - GXSetTevColor(GX_TEVREG2, lbl_1_data_310); - GXSetNumTevStages(2); - GXSetNumTexGens(2); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEX1, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY); - GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR0A0); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_TEXC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_RASC); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - if (Hu3DCameraNo != 0) { - GXSetTevOp(GX_TEVSTAGE1, GX_REPLACE); - GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_CPREV, GX_CC_C2, GX_CC_TEXA, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - } - else { - GXSetTevOp(GX_TEVSTAGE1, GX_REPLACE); - GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_CPREV, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - } - GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_APREV, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_VTX, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_CLAMP, GX_AF_NONE); - fn_1_11008(temp_r30, temp_r30->unk10, GX_TEXMAP0, GX_CLAMP, 0, 1); - HuSprTexLoad(temp_r29->unk04, 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZCompLoc(GX_FALSE); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, lbl_1_data_29C, 12); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, lbl_1_data_30C, 4); - GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetArray(GX_VA_TEX0, lbl_1_data_2CC, 8); - GXSetVtxDesc(GX_VA_TEX1, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX1, GX_TEX_ST, GX_F32, 0); - GXSetArray(GX_VA_TEX1, lbl_1_data_2EC, 8); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - for (i = 0; i < 4; i++) { - GXPosition1x16(i); - GXColor1x16(0); - GXTexCoord1x16(i); - GXTexCoord1x16(i); - } - GXEnd(); - } -} - -s32 lbl_1_data_314[][2] = { { 20, 10 }, { 20, 7 }, { 10, 10 }, { 10, 10 } }; - -Vec lbl_1_data_334[] = { { 0.0f, 100.0f, -1100.0f }, { 0.0f, 200.0f, -1000.0f }, { -225.0f, 100.0f, -1000.0f }, { 225.0f, 100.0f, -1000.0f } }; - -s32 fn_1_18FC(void) -{ - ModelData *temp_r30; - StructM423_03 *var_r29; - StructM423_02 *temp_r31; - s32 var_r27; - s32 i; - - var_r27 = Hu3DHookFuncCreate(fn_1_29BC); - temp_r30 = &Hu3DData[var_r27]; - var_r29 = temp_r30->unk_120 = HuMemDirectMallocNum(HEAP_DATA, sizeof(*var_r29), temp_r30->unk_48); - memset(var_r29, 0, sizeof(*var_r29)); - var_r29->unk00 = var_r27; - var_r29->unk02 = 4; - temp_r31 = var_r29->unk04 = HuMemDirectMallocNum(HEAP_DATA, var_r29->unk02 * sizeof(*temp_r31), temp_r30->unk_48); - memset(temp_r31, 0, var_r29->unk02 * sizeof(*temp_r31)); - for (i = 0; i < var_r29->unk02; i++) { - temp_r31 = &var_r29->unk04[i]; - temp_r31->unk02 = lbl_1_data_314[i][0]; - temp_r31->unk04 = lbl_1_data_314[i][1]; - temp_r31->unk00 = temp_r31->unk02 * temp_r31->unk04; - temp_r31->unk08 = lbl_1_data_334[i]; - temp_r31->unk14 = HuMemDirectMallocNum(HEAP_DATA, temp_r31->unk00 * sizeof(*temp_r31->unk14), temp_r30->unk_48); - memset(temp_r31->unk14, 0, temp_r31->unk00 * sizeof(*temp_r31->unk14)); - temp_r31->unk18 = HuMemDirectMallocNum(HEAP_DATA, temp_r31->unk00 * sizeof(*temp_r31->unk18), temp_r30->unk_48); - memset(temp_r31->unk18, 0, temp_r31->unk00 * sizeof(*temp_r31->unk18)); - temp_r31->unk1C = HuMemDirectMallocNum(HEAP_DATA, temp_r31->unk00 * sizeof(*temp_r31->unk1C), temp_r30->unk_48); - memset(temp_r31->unk1C, 0, temp_r31->unk00 * sizeof(*temp_r31->unk1C)); - temp_r31->unk20 = HuMemDirectMallocNum(HEAP_DATA, temp_r31->unk00 * sizeof(*temp_r31->unk20), temp_r30->unk_48); - memset(temp_r31->unk20, 0, temp_r31->unk00 * sizeof(*temp_r31->unk20)); - switch (i) { - case 0: - fn_1_1B5C(temp_r30, temp_r31); - break; - case 1: - fn_1_1F5C(temp_r30, temp_r31); - break; - case 2: - fn_1_2290(temp_r30, temp_r31); - break; - default: - fn_1_2624(temp_r30, temp_r31); - break; - } - } - return var_r27; -} - -Vec lbl_1_data_364[] = { { -200.0f, 0.0f, -1100.0f }, { -200.0f, 200.0f, -1050.0f }, { 200.0f, 200.0f, -1050.0f } }; - -GXColor lbl_1_data_388 = { 0xFF, 0xFF, 0xFF, 0xFF }; - -void fn_1_1B5C(ModelData *arg0, StructM423_02 *arg1) -{ - float var_f31; - float var_f30; - float var_f29; - Vec *var_r27; - GXColor *var_r26; - StructM423_01 *var_r28; - void *var_r25; - void *var_r23; - s32 i; - s32 j; - - var_r27 = arg1->unk14; - var_r26 = arg1->unk1C; - var_r28 = arg1->unk20; - for (i = 0; i < 10; i++) { - var_f30 = 200.0f * (i / 9.0f); - var_f29 = -1100.0f + 50.0f * (i / 9.0f); - for (j = 0; j < 20; var_r27++, var_r26++, var_r28++, j++) { - var_f31 = -225.0f + 450.0f * (j / 19.0f); - var_r27->x = var_f31; - var_r27->y = var_f30; - var_r27->z = var_f29; - *var_r26 = lbl_1_data_388; - var_r28->unk00 = j; - var_r28->unk02 = i; - if (i == 0 || i == 9 || j == 0 || j == 19) { - var_r28->unk04 = 1; - } - else { - var_r28->unk04 = 0; - } - var_r28->unk06 = 0; - var_r28->unk08.x = var_r28->unk08.y = var_r28->unk08.z = 0.0f; - } - } - memcpy(arg1->unk18, arg1->unk14, arg1->unk00 * sizeof(*arg1->unk14)); - DCFlushRangeNoSync(arg1->unk14, arg1->unk00 * sizeof(*arg1->unk14)); - DCFlushRangeNoSync(arg1->unk1C, arg1->unk00 * sizeof(*arg1->unk1C)); - PPCSync(); - var_r23 = var_r25 = HuMemDirectMallocNum(HEAP_DATA, 0x10000, arg0->unk_48); - DCFlushRange(var_r25, 0x10000); - GXBeginDisplayList(var_r23, 0x10000); - GXBegin(GX_LINES, GX_VTXFMT0, 9 * 19 * 4); - for (i = 1; i < 10; i++) { - for (j = 1; j < 20; j++) { - GXPosition1x16(i * 20 + j); - GXColor1x16(i * 20 + j); - - GXPosition1x16(i * 20 + (j - 1)); - GXColor1x16(i * 20 + (j - 1)); - - GXPosition1x16(i * 20 + j); - GXColor1x16(i * 20 + j); - - GXPosition1x16((i - 1) * 20 + j); - GXColor1x16((i - 1) * 20 + j); - } - } - GXEnd(); - arg1->unk34 = GXEndDisplayList(); - if (arg1->unk34 >= 0x10000) { - OSReport("ERROR! GList test size over! \n"); - } - arg1->unk38 = HuMemDirectMallocNum(HEAP_DATA, arg1->unk34, arg0->unk_48); - memcpy(arg1->unk38, var_r25, arg1->unk34); - DCFlushRange(arg1->unk38, arg1->unk34); - HuMemDirectFree(var_r25); - fn_1_129F0(&lbl_1_data_364[0], &lbl_1_data_364[1], &lbl_1_data_364[2], arg1->unk24); -} - -GXColor lbl_1_data_3AB = { 0xFF, 0xFF, 0xFF, 0xFF }; - -void fn_1_1F5C(ModelData *arg0, StructM423_02 *arg1) -{ - float var_f31; - float var_f30; - float var_f29; - Vec *var_r27; - GXColor *var_r26; - void *var_r25; - void *var_r23; - s32 i; - s32 j; - - var_r27 = arg1->unk14; - var_r26 = arg1->unk1C; - for (i = 0; i < 7; i++) { - var_f30 = 200.0f; - var_f29 = -900.0f - 150.0f * (i / 6.0f); - for (j = 0; j < 20; var_r27++, var_r26++, j++) { - var_f31 = -225.0f + 450.0f * (j / 19.0f); - var_r27->x = var_f31; - var_r27->y = var_f30; - var_r27->z = var_f29; - *var_r26 = lbl_1_data_3AB; - } - } - memcpy(arg1->unk18, arg1->unk14, arg1->unk00 * sizeof(*arg1->unk14)); - DCFlushRangeNoSync(arg1->unk14, arg1->unk00 * sizeof(*arg1->unk14)); - DCFlushRangeNoSync(arg1->unk1C, arg1->unk00 * sizeof(*arg1->unk1C)); - PPCSync(); - var_r23 = var_r25 = HuMemDirectMallocNum(HEAP_DATA, 0x10000, arg0->unk_48); - DCFlushRange(var_r25, 0x10000); - GXBeginDisplayList(var_r23, 0x10000); - GXBegin(GX_LINES, GX_VTXFMT0, 6 * 19 * 4); - for (i = 1; i < 7; i++) { - for (j = 1; j < 20; j++) { - GXPosition1x16(i * 20 + j); - GXColor1x16(i * 20 + j); - - GXPosition1x16(i * 20 + (j - 1)); - GXColor1x16(i * 20 + (j - 1)); - - GXPosition1x16(i * 20 + j); - GXColor1x16(i * 20 + j); - - GXPosition1x16((i - 1) * 20 + j); - GXColor1x16((i - 1) * 20 + j); - } - } - GXEnd(); - arg1->unk34 = GXEndDisplayList(); - if (arg1->unk34 >= 0x10000) { - OSReport("ERROR! GList test size over! \n"); - } - arg1->unk38 = HuMemDirectMallocNum(HEAP_DATA, arg1->unk34, arg0->unk_48); - memcpy(arg1->unk38, var_r25, arg1->unk34); - DCFlushRange(arg1->unk38, arg1->unk34); - HuMemDirectFree(var_r25); -} - -GXColor lbl_1_data_3AF = { 0xFF, 0xFF, 0xFF, 0xFF }; - -void fn_1_2290(ModelData *arg0, StructM423_02 *arg1) -{ - float var_f31; - float var_f30; - float var_f29; - float var_f28; - Vec *var_r27; - GXColor *var_r26; - void *var_r25; - void *var_r23; - s32 i; - s32 j; - - var_r27 = arg1->unk14; - var_r26 = arg1->unk1C; - for (i = 0; i < 10; i++) { - var_f28 = 200.0f * (i / 9.0f); - var_f29 = -225.0f; - var_f30 = -1100.0f + 50.0f * (i / 9.0f); - for (j = 0; j < 10; var_r27++, var_r26++, j++) { - var_f31 = -900.0f - 200.0f * (j / 9.0f); - if (var_f31 < var_f30) { - var_f31 = var_f30; - } - var_r27->x = var_f29; - var_r27->y = var_f28; - var_r27->z = var_f31; - *var_r26 = lbl_1_data_3AF; - } - } - memcpy(arg1->unk18, arg1->unk14, arg1->unk00 * sizeof(*arg1->unk14)); - DCFlushRangeNoSync(arg1->unk14, arg1->unk00 * sizeof(*arg1->unk14)); - DCFlushRangeNoSync(arg1->unk1C, arg1->unk00 * sizeof(*arg1->unk1C)); - PPCSync(); - var_r23 = var_r25 = HuMemDirectMallocNum(HEAP_DATA, 0x10000, arg0->unk_48); - DCFlushRangeNoSync(var_r25, 0x10000); - GXBeginDisplayList(var_r23, 0x10000); - GXBegin(GX_LINES, GX_VTXFMT0, 9 * 9 * 4); - for (i = 1; i < 10; i++) { - for (j = 1; j < 10; j++) { - GXPosition1x16(i * 10 + j); - GXColor1x16(i * 10 + j); - - GXPosition1x16(i * 10 + (j - 1)); - GXColor1x16(i * 10 + (j - 1)); - - GXPosition1x16(i * 10 + j); - GXColor1x16(i * 10 + j); - - GXPosition1x16((i - 1) * 10 + j); - GXColor1x16((i - 1) * 10 + j); - } - } - GXEnd(); - arg1->unk34 = GXEndDisplayList(); - if (arg1->unk34 >= 0x10000) { - OSReport("ERROR! GList test size over! \n"); - } - arg1->unk38 = HuMemDirectMallocNum(HEAP_DATA, arg1->unk34, arg0->unk_48); - memcpy(arg1->unk38, var_r25, arg1->unk34); - DCFlushRange(arg1->unk38, arg1->unk34); - HuMemDirectFree(var_r25); -} - -GXColor lbl_1_data_3B3 = { 0xFF, 0xFF, 0xFF, 0xFF }; - -void fn_1_2624(ModelData *arg0, StructM423_02 *arg1) -{ - float var_f31; - float var_f30; - float var_f29; - float var_f28; - Vec *var_r27; - GXColor *var_r26; - void *var_r25; - void *var_r23; - s32 i; - s32 j; - - var_r27 = arg1->unk14; - var_r26 = arg1->unk1C; - for (i = 0; i < 10; i++) { - var_f28 = 200.0f * (i / 9.0f); - var_f29 = 225.0f; - var_f30 = -1100.0f + 50.0f * (i / 9.0f); - for (j = 0; j < 10; var_r27++, var_r26++, j++) { - var_f31 = -900.0f - 200.0f * (j / 9.0f); - if (var_f31 < var_f30) { - var_f31 = var_f30; - } - var_r27->x = var_f29; - var_r27->y = var_f28; - var_r27->z = var_f31; - *var_r26 = lbl_1_data_3B3; - } - } - memcpy(arg1->unk18, arg1->unk14, arg1->unk00 * sizeof(*arg1->unk14)); - DCFlushRangeNoSync(arg1->unk14, arg1->unk00 * sizeof(*arg1->unk14)); - DCFlushRangeNoSync(arg1->unk1C, arg1->unk00 * sizeof(*arg1->unk1C)); - PPCSync(); - var_r23 = var_r25 = HuMemDirectMallocNum(HEAP_DATA, 0x10000, arg0->unk_48); - DCFlushRange(var_r25, 0x10000); - GXBeginDisplayList(var_r23, 0x10000); - GXBegin(GX_LINES, GX_VTXFMT0, 9 * 9 * 4); - for (i = 1; i < 10; i++) { - for (j = 1; j < 10; j++) { - GXPosition1x16(i * 10 + j); - GXColor1x16(i * 10 + j); - - GXPosition1x16(i * 10 + (j - 1)); - GXColor1x16(i * 10 + (j - 1)); - - GXPosition1x16(i * 10 + j); - GXColor1x16(i * 10 + j); - - GXPosition1x16((i - 1) * 10 + j); - GXColor1x16((i - 1) * 10 + j); - } - } - GXEnd(); - arg1->unk34 = GXEndDisplayList(); - if (arg1->unk34 >= 0x10000) { - OSReport("ERROR! GList test size over! \n"); - } - arg1->unk38 = HuMemDirectMallocNum(HEAP_DATA, arg1->unk34, arg0->unk_48); - memcpy(arg1->unk38, var_r25, arg1->unk34); - DCFlushRange(arg1->unk38, arg1->unk34); - HuMemDirectFree(var_r25); -} - -void fn_1_29B8(s32 arg0) { } - -void fn_1_29BC(ModelData *arg0, Mtx arg1) -{ - StructM423_03 *temp_r30; - StructM423_02 *temp_r31; - Mtx sp8; - s16 i; - - temp_r30 = arg0->unk_120; - GXLoadPosMtxImm(arg1, GX_PNMTX0); - MTXInvXpose(arg1, sp8); - GXLoadNrmMtxImm(sp8, GX_PNMTX0); - GXSetLineWidth(6, GX_TO_ZERO); - GXSetNumTevStages(1); - GXSetNumTexGens(0); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_RASC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_RASA, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_VTX, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_CLAMP, GX_AF_NONE); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZCompLoc(GX_FALSE); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - for (i = 0; i < temp_r30->unk02; i++) { - temp_r31 = &temp_r30->unk04[i]; - if (temp_r31->unk38 && temp_r31->unk34 != 0) { - DCFlushRangeNoSync(temp_r31->unk14, temp_r31->unk00 * sizeof(*temp_r31->unk14)); - DCFlushRangeNoSync(temp_r31->unk1C, temp_r31->unk00 * sizeof(*temp_r31->unk1C)); - PPCSync(); - GXSetArray(GX_VA_POS, temp_r31->unk14, sizeof(*temp_r31->unk14)); - GXSetArray(GX_VA_CLR0, temp_r31->unk1C, sizeof(*temp_r31->unk1C)); - GXCallDisplayList(temp_r31->unk38, temp_r31->unk34); - } - } -} - -void fn_1_2C08(s32 arg0) -{ - Vec sp3C; - Vec sp30; - Vec sp24; - Vec *var_r25; - Vec *var_r24; - Vec *temp_r27; - Vec *temp_r29; - float temp_f31; - float temp_f28; - float temp_f30; - float var_f29; - float var_f27; - StructM423_02 *temp_r30; - StructM423_01 *var_r28; - StructBssA8Data *var_r31; - StructM423_03 *var_r17; - ModelData *sp20; - ModelData *sp1C; - StructM423_01 *sp18; - s32 var_r20; - s32 temp_r19; - s32 temp_r18; - s32 i; - s32 j; - s32 k; - s32 temp_r21; - s32 sp14; - s32 sp10; - s32 spC; - Mtx sp48; - - sp20 = &Hu3DData[arg0]; - var_r17 = sp20->unk_120; - temp_r30 = var_r17->unk04; - var_r25 = temp_r30->unk14; - var_r24 = temp_r30->unk18; - var_r28 = temp_r30->unk20; - if (lbl_1_bss_A8 == NULL) { - return; - } - var_r31 = lbl_1_bss_A8->data; - for (i = 0; i < temp_r30->unk00; i++, var_r25++, var_r24++, var_r28++) { - if (var_r28->unk04 != 0) { - continue; - } - VECSubtract(var_r24, var_r25, &sp30); - temp_f31 = VECMag(&sp30); - if (temp_f31 >= 0.0f) { - VECScale(&sp30, &sp30, 0.05f); - VECAdd(&var_r28->unk08, &sp30, &var_r28->unk08); - temp_f31 = VECMag(&var_r28->unk08); - if (temp_f31 > 10.0f) { - VECNormalize(&var_r28->unk08, &var_r28->unk08); - VECScale(&var_r28->unk08, &var_r28->unk08, 10.0f); - } - } - VECAdd(var_r25, &var_r28->unk08, var_r25); - VECScale(&var_r28->unk08, &var_r28->unk08, 0.5f); - } - for (i = 0; i < 15; i++, var_r31++) { - if (var_r31->unk06 == 0 || var_r31->unk0C != 3) { - continue; - } - spC = 0; - VECSubtract(&var_r31->unk38, &var_r31->unk74, &sp30); - if (var_r31->unk38.x > -225.0f && var_r31->unk38.x < 225.0f && var_r31->unk38.y > 0.0f && var_r31->unk38.y < 200.0f - && var_r31->unk38.z > -1150.0f && var_r31->unk38.z < -950.0f) { - var_f27 = 0.005f * var_r31->unk38.y; - var_f29 = -900.0f - (150.0f + var_f27 * 50.0f); - if (var_r31->unk38.z - 20.0 < var_f29) { - if (var_r31->unk38.z < 20.0 + (var_f29 - 75.0f)) { - var_r31->unk38.z = 20.0 + (var_f29 - 75.0f); - } - spC = 1; - } - } - if (spC != 0) { - if (var_r31->unk0A == 0 && var_r31->unk08 == 0) { - fn_1_AEE8(i); - } - if (var_r31->unk10 == 0) { - var_r31->unk5C = var_r31->unk50; - var_r31->unk10 = 1; - } - sp1C = &Hu3DData[var_r31->unk00]; - sp24.x = var_r31->unk5C.z; - sp24.z = -var_r31->unk5C.x; - sp24.y = 0.0f; - temp_f31 = 0.05 * VECMag(&sp24); - if (temp_f31 > 0.00001f) { - MTXRotAxisRad(sp48, &sp24, temp_f31); - MTXConcat(sp48, sp1C->unk_F0, sp1C->unk_F0); - } - temp_f31 = 0.0133333336f * fabs(var_f29 - (var_r31->unk38.z - 20.0)); - var_r31->unk50.z += temp_f31 * 0.4f; - VECScale(&var_r31->unk50, &var_r31->unk50, 0.95f); - var_r31->unk50.y *= 0.0f; - var_r31->unk50.x *= 0.75f; - sp14 = (var_r31->unk38.x - -225.0f) / 22.5f; - sp10 = var_r31->unk38.y / 20.0f; - var_r20 = sp14 + sp10 * temp_r30->unk02; - var_r25 = &temp_r30->unk14[var_r20]; - var_r24 = &temp_r30->unk18[var_r20]; - var_r28 = &temp_r30->unk20[var_r20]; - temp_f28 = var_r24->z - (var_r31->unk38.z - 20.0); - sp3C = var_r31->unk38; - if (temp_f28 < 0.0f) { - continue; - } - for (j = -19; j < 20; j++) { - for (k = -19; k < 20; k++) { - temp_r19 = sp14 + k; - temp_r18 = sp10 + j; - temp_r21 = temp_r19 + temp_r18 * temp_r30->unk02; - if (temp_r19 < 0 || temp_r19 >= temp_r30->unk02 || temp_r18 < 0 || temp_r18 >= temp_r30->unk04 || temp_r21 >= temp_r30->unk00) { - continue; - } - sp18 = &temp_r30->unk20[temp_r21]; - if (sp18->unk04 != 0) { - continue; - } - temp_r29 = &temp_r30->unk14[temp_r21]; - temp_r27 = &temp_r30->unk18[temp_r21]; - VECSubtract(&sp3C, temp_r29, &sp30); - sp30.z = 0.0f; - temp_f31 = VECMag(&sp30); - if (temp_f31 > 400.0f) { - continue; - } - if (temp_f31 > 20.0) { - temp_f30 = 0.0025f * (400.0f - temp_f31); - temp_f30 = temp_f30 * temp_f30; - VECNormalize(&sp30, &sp30); - VECScale(&sp30, &sp30, 20.0f * (temp_f30 * temp_f30)); - temp_r29->x += 0.5f * (temp_r27->x + sp30.x - temp_r29->x); - temp_r29->y += 0.5f * (temp_r27->y + sp30.y - temp_r29->y); - temp_r29->z += 0.5f * (temp_r27->z - temp_f30 * temp_f28 - temp_r29->z); - } - else { - temp_f30 = cosd(0.0025f * temp_f31 * 90.0f); - if (temp_f31 != 0.0f) { - VECNormalize(&sp30, &sp30); - } - else { - sp30.x = sp30.y = sp30.z = 0.0f; - } - VECScale(&sp30, &sp30, temp_f30 * temp_f30 * 20.0f); - temp_r29->z += 0.5f * (temp_r27->z - temp_f30 * temp_f28 - temp_r29->z); - } - } - } - } - else { - var_r31->unk10 = 0; - } - } - DCFlushRangeNoSync(temp_r30->unk14, temp_r30->unk00 * sizeof(*temp_r30->unk14)); - PPCSync(); -} - -void fn_1_34D8(void) -{ - lbl_1_bss_CC = omAddObjEx(lbl_1_bss_120, 0x81, 20, 6, -1, fn_1_3528); -} - -Vec lbl_1_data_3B8[] = { -1300.0f, 300.0f, -2350.0f, -800.0f, 200.0f, -2250.0f, 800.0f, 200.0f, -2250.0f, 1300.0f, 300.0f, -2350.0f, -1000.0f, 300.0f, - -2350.0f, 1000.0f, 300.0f, -2350.0f, -1200.0f, 400.0f, -2450.0f, -800.0f, 400.0f, -2450.0f, 800.0f, 400.0f, -2450.0f, 1200.0f, 400.0f, -2450.0f, - -1400.0f, 200.0f, -2250.0f, 1400.0f, 200.0f, -2250.0f, -1400.0f, 400.0f, -2450.0f, 1400.0f, 400.0f, -2450.0f, -900.0f, 500.0f, -2550.0f, 900.0f, - 500.0f, -2550.0f, -1200.0f, 500.0f, -2550.0f, 1200.0f, 500.0f, -2550.0f, -1100.0f, 200.0f, -2250.0f, 1100.0f, 200.0f, -2250.0f }; - -s32 lbl_1_data_4A8[] = { 0, 1, 0, 1, 2, 2, 1, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 1, 0 }; - -s32 lbl_1_data_4FC[] = { DATA_MAKE_NUM(DATADIR_M423, 12), DATA_MAKE_NUM(DATADIR_M423, 15), DATA_MAKE_NUM(DATADIR_M423, 18) }; - -s32 lbl_1_data_508[] = { DATA_MAKE_NUM(DATADIR_M423, 13), DATA_MAKE_NUM(DATADIR_M423, 14), DATA_MAKE_NUM(DATADIR_M423, 16), - DATA_MAKE_NUM(DATADIR_M423, 17), DATA_MAKE_NUM(DATADIR_M423, 19), DATA_MAKE_NUM(DATADIR_M423, 20) }; - -s16 lbl_1_data_520[] = { 0, 2, 4 }; - -void fn_1_3528(omObjData *arg0) -{ - float var_f30; - float var_f29; - float temp_f31; - StructBssCCData *var_r30; - s32 temp_r27; - s32 var_r28; - s32 i; - - var_r30 = arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 20 * sizeof(*var_r30), MEMORY_DEFAULT_NUM); - memset(var_r30, 0, 20 * sizeof(*var_r30)); - for (i = 0; i < 6; i++) { - arg0->motion[i] = Hu3DMotionCreateFile(lbl_1_data_508[i]); - } - for (i = 0; i < 20; i++, var_r30++) { - temp_r27 = lbl_1_data_4A8[i]; - var_r30->unk00 = temp_r27; - var_r30->unk02 = 0; - var_r30->unk04 = 0; - var_r30->unk08 = 0; - var_r30->unk0A = 0; - var_r30->unk06 = 210.0f + (1.0f / 127) * frand7() * 60.0f; - var_f30 = -lbl_1_data_3B8[i].x; - var_f29 = -lbl_1_data_3B8[i].z; - temp_f31 = atan2d(var_f30, var_f29); - var_r28 = Hu3DModelCreateFile(lbl_1_data_4FC[temp_r27]); - arg0->model[i] = var_r28; - Hu3DModelCameraSet(var_r28, 4); - Hu3DModelPosSet(var_r28, lbl_1_data_3B8[i].x, lbl_1_data_3B8[i].y, lbl_1_data_3B8[i].z); - if (var_r30->unk00 != 1) { - Hu3DModelRotSet(var_r28, 0.0f, temp_f31, 0.0f); - } - else { - Hu3DModelRotSet(var_r28, 10.0f, temp_f31, 0.0f); - } - Hu3DModelScaleSet(var_r28, 1.8f, 1.8f, 1.8f); - Hu3DMotionSet(arg0->model[i], arg0->motion[lbl_1_data_520[var_r30->unk00]]); - if ((i >= 14 && i <= 17) || i == 11 || i == 10) { - Hu3DModelAttrSet(var_r28, 1); - } - } - arg0->stat |= 0x100; - arg0->func = fn_1_3898; -} - -s16 lbl_1_data_526[] = { 0, 2, 4 }; -s16 lbl_1_data_52C[] = { 1, 3, 5, 0 }; - -void fn_1_3898(omObjData *arg0) -{ - StructBssCCData *var_r31; - s32 var_r28; - s32 i; - - var_r31 = arg0->data; - for (i = 0; i < 20; i++, var_r31++) { - var_r28 = 0; - if (var_r31->unk06 > 0) { - var_r28 = 1; - var_r31->unk06--; - } - else if (var_r31->unk0A > 0) { - if (var_r31->unk08 > 0) { - var_r31->unk08--; - } - else if (var_r31->unk0A > 0) { - var_r28 = 1; - var_r31->unk0A--; - } - else { - var_r31->unk08 = 0; - var_r31->unk0A = 0; - } - } - if (var_r28 != var_r31->unk02 && Hu3DMotionShiftIDGet(arg0->model[i]) == -1) { - var_r31->unk02 = var_r28; - if (var_r31->unk02 == 0) { - Hu3DMotionShiftSet(arg0->model[i], arg0->motion[lbl_1_data_526[var_r31->unk00]], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - else { - Hu3DMotionShiftSet(arg0->model[i], arg0->motion[lbl_1_data_52C[var_r31->unk00]], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - } - } -} - -void fn_1_3A58(omObjData *arg0) -{ - arg0->func = NULL; -} - -void fn_1_3A64(void) -{ - fn_1_3A58(lbl_1_bss_CC); -} - -void fn_1_3A8C(void) -{ - omObjData *var_r29; - StructBssCCData *var_r31; - s32 i; - - if (lbl_1_bss_CC == NULL) { - return; - } - var_r29 = lbl_1_bss_CC; - var_r31 = var_r29->data; - for (i = 0; i < 20; i++, var_r31++) { - if (var_r31->unk06 > 0 || var_r31->unk0A > 0) { - var_r31->unk08 = 0; - } - else { - var_r31->unk08 = (1.0f / 127) * frand7() * 0.25f * 60.0f; - } - var_r31->unk0A = ((1.0f / 127) * frand7() + 2.0f) * 60.0f; - } -} - -void fn_1_3BFC(void) -{ - s32 sp8[4]; - s32 temp_r28; - s32 temp_r27; - s32 var_r25; - s32 var_r26; - s32 var_r29; - s32 i; - s32 j; - - for (i = 0; i < 4; i++) { - sp8[i] = -1; - } - for (i = 0, var_r29 = 0; i < 4; i++) { - if (GWPlayerCfgGroupGet(i) == 0) { - sp8[3] = i; - } - else { - sp8[var_r29] = i; - var_r29++; - } - } - for (i = 0; i < 4; i++) { - if (sp8[i] == -1) { - break; - } - } - if (i < 4) { - sp8[0] = 1; - sp8[1] = 2; - sp8[2] = 3; - sp8[3] = 0; - } - else { - for (i = 0; i < 32; i++) { - temp_r28 = (s16)(frand() & 0xFFF) % 3; - temp_r27 = (s16)(frand() & 0xFFF) % 3; - if (temp_r28 != temp_r27) { - var_r29 = sp8[temp_r27]; - sp8[temp_r27] = sp8[temp_r28]; - sp8[temp_r28] = var_r29; - } - } - } - var_r25 = 1; - for (i = 0, var_r26 = 0; i < 4; i++) { - lbl_1_bss_BC[i] = omAddObjEx(lbl_1_bss_120, 0x40, 4, 11, -1, fn_1_3FE0); - lbl_1_bss_BC[i]->work[0] = i; - if (i == sp8[3]) { - lbl_1_bss_EC[3] = GWPlayerCfg[lbl_1_bss_BC[i]->work[0]].character; - lbl_1_bss_BC[i]->work[1] = 0; - lbl_1_bss_BC[i]->work[2] = 0; - if (GWPlayerCfg[lbl_1_bss_BC[i]->work[0]].iscom) { - lbl_1_bss_FC = 1; - } - } - else { - lbl_1_bss_EC[var_r26] = GWPlayerCfg[lbl_1_bss_BC[i]->work[0]].character; - var_r26++; - lbl_1_bss_BC[i]->work[1] = 1; - for (j = 0; j < 3; j++) { - if (i == sp8[j]) { - break; - } - } - if (j >= 3) { - j = i - 1; - } - lbl_1_bss_BC[i]->work[2] = j; - lbl_1_bss_AC[j] = lbl_1_bss_BC[i]; - if (!GWPlayerCfg[lbl_1_bss_BC[i]->work[0]].iscom) { - var_r25 = 0; - } - } - } - if (var_r25 != 0) { - lbl_1_bss_FC = 0; - } -} - -u32 lbl_1_data_534[][2] - = { { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), -1 }, { DATA_MAKE_NUM(DATADIR_MARIOMOT, 2), -1 }, { DATA_MAKE_NUM(DATADIR_MARIOMOT, 3), -1 }, { 0, 0 }, - { 0, 1 }, { 0, 2 }, { DATA_MAKE_NUM(DATADIR_MARIOMOT, 23), -1 }, { DATA_MAKE_NUM(DATADIR_MARIOMOT, 24), -1 } }; - -s32 lbl_1_data_574[] = { DATA_MAKE_NUM(DATADIR_M423, 58), DATA_MAKE_NUM(DATADIR_M423, 26), DATA_MAKE_NUM(DATADIR_M423, 34) }; - -u32 lbl_1_data_580[][2] = { { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), -1 }, { DATA_MAKE_NUM(DATADIR_MARIOMOT, 2), -1 }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 3), -1 }, { 0, 0 }, { 0, 1 }, { 0, 2 }, { 0, 3 }, { DATA_MAKE_NUM(DATADIR_MARIOMOT, 11), -1 }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 6), -1 }, { DATA_MAKE_NUM(DATADIR_MARIOMOT, 23), -1 }, { DATA_MAKE_NUM(DATADIR_MARIOMOT, 24), -1 } }; - -s32 lbl_1_data_5D8[] - = { DATA_MAKE_NUM(DATADIR_M423, 42), DATA_MAKE_NUM(DATADIR_M423, 66), DATA_MAKE_NUM(DATADIR_M423, 50), DATA_MAKE_NUM(DATADIR_M423, 74) }; - -void fn_1_3FE0(omObjData *arg0) -{ - float var_f31; - StructBssBCData *temp_r31; - s32 i; - - temp_r31 = arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(*temp_r31), MEMORY_DEFAULT_NUM); - memset(temp_r31, 0, sizeof(*temp_r31)); - temp_r31->unk00 = arg0->work[0]; - temp_r31->unk02 = GWPlayerCfg[arg0->work[0]].character; - temp_r31->unk04 = GWPlayerCfg[arg0->work[0]].pad_idx; - temp_r31->unk06 = GWPlayerCfg[arg0->work[0]].iscom; - temp_r31->unk08 = GWPlayerCfg[arg0->work[0]].diff; - temp_r31->unk0A = arg0->work[1]; - temp_r31->unk0C = arg0->work[2]; - memset(&temp_r31->unk1C, 0, sizeof(temp_r31->unk1C)); - temp_r31->unk58 = 0; - temp_r31->unk5C = -1; - temp_r31->unk60 = 0.0f; - temp_r31->unk64 = -1; - temp_r31->unk68 = 0; - temp_r31->unk6C = 0; - temp_r31->unk70 = 0; - temp_r31->unk74 = 0; - temp_r31->unk16 = -1; - temp_r31->unk88 = 0.0f; - temp_r31->unk8C = 0.0f; - temp_r31->unk90 = 0; - temp_r31->unk94 = 0; - temp_r31->unk98 = 0; - temp_r31->unk9C = 0; - temp_r31->unkA0 = 0; - temp_r31->unkA4 = 0; - temp_r31->unkA8 = 0.0f; - temp_r31->unkAC = 0; - arg0->model[0] = CharModelCreate(temp_r31->unk02, 4); - Hu3DModelCameraSet(arg0->model[0], 5); - Hu3DModelShadowSet(arg0->model[0]); - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_CURVE_MOTOFF); - CharModelStepTypeSet(temp_r31->unk02, 2); - if (temp_r31->unk0A == 0) { - for (i = 0; i < 11; i++) { - if (lbl_1_data_580[i][1] == -1) { - arg0->motion[i] = CharModelMotionCreate(temp_r31->unk02, lbl_1_data_580[i][0]); - } - else { - arg0->motion[i] = Hu3DJointMotionFile(arg0->model[0], lbl_1_data_5D8[lbl_1_data_580[i][1]] + temp_r31->unk02); - } - } - temp_r31->unk16 = 0; - temp_r31->unk18 = 0; - CharModelMotionSet(temp_r31->unk02, arg0->motion[temp_r31->unk16]); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_LOOP); - temp_r31->unkB0 = arg0->trans.x = lbl_1_data_150[0].x; - temp_r31->unkB4 = arg0->trans.y = lbl_1_data_150[0].y; - temp_r31->unkB8 = arg0->trans.z = lbl_1_data_150[0].z; - temp_r31->unkBC = lbl_1_data_180[0].x; - temp_r31->unkC0 = lbl_1_data_180[0].y; - temp_r31->unkC4 = lbl_1_data_180[0].z; - temp_r31->unk78 = 0.0f; - temp_r31->unk7C = 0.0f; - temp_r31->unkE0 = temp_r31->unkE4 = temp_r31->unkE8 = 0.0f; - temp_r31->unkEC = temp_r31->unkF0 = temp_r31->unkF4 = 0.0f; - temp_r31->unk7C = 6.5f; - var_f31 = 0.0f; - for (i = 0; i < 1000; i++) { - var_f31 += temp_r31->unk7C; - temp_r31->unk7C -= 0.49f; - if (var_f31 <= 0.0f) { - break; - } - } - temp_r31->unk80 = i; - temp_r31->unk7C = 10.5f; - var_f31 = 0.0f; - for (i = 0; i < 1000; i++) { - var_f31 += temp_r31->unk7C; - temp_r31->unk7C -= 0.65333337f; - if (var_f31 <= 0.0f) { - break; - } - } - temp_r31->unk84 = i; - arg0->func = fn_1_5D18; - } - else { - for (i = 0; i < 8; i++) { - if (lbl_1_data_534[i][1] == -1) { - arg0->motion[i] = CharModelMotionCreate(temp_r31->unk02, lbl_1_data_534[i][0]); - } - else { - arg0->motion[i] = Hu3DJointMotionFile(arg0->model[0], lbl_1_data_574[lbl_1_data_534[i][1]] + temp_r31->unk02); - } - } - temp_r31->unk16 = 0; - temp_r31->unk18 = 0; - CharModelMotionSet(temp_r31->unk02, arg0->motion[temp_r31->unk16]); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_LOOP); - temp_r31->unkB0 = lbl_1_data_150[temp_r31->unk0C + 1].x; - temp_r31->unkB4 = lbl_1_data_150[temp_r31->unk0C + 1].y; - temp_r31->unkB8 = lbl_1_data_150[temp_r31->unk0C + 1].z; - temp_r31->unkBC = arg0->trans.x = lbl_1_data_180[temp_r31->unk0C + 1].x; - temp_r31->unkC0 = arg0->trans.y = lbl_1_data_180[temp_r31->unk0C + 1].y; - temp_r31->unkC4 = arg0->trans.z = lbl_1_data_180[temp_r31->unk0C + 1].z; - temp_r31->unk78 = atan2d(lbl_1_data_150[0].x - temp_r31->unkB0, lbl_1_data_150[0].z - temp_r31->unkB8); - temp_r31->unk7C = 0.0f; - temp_r31->unk98 = 0; - temp_r31->unk9C = 300.0f + (1.0f / 127) * frand7() * 60.0f * 15.0f; - if (lbl_1_bss_FC != 0) { - temp_r31->unk08 = 3; - } - arg0->func = fn_1_4778; - } - CharModelMotionDataClose(temp_r31->unk02); -} - -Vec lbl_1_data_5E8 = { 0.0f, 20.0f, 50.0f }; -GXColor lbl_1_data_5F4 = { 0xFF, 0xFF, 0xFF, 0x10 }; -GXColor lbl_1_data_5F8 = { 0xFF, 0xFF, 0xFF, 0x40 }; - -void fn_1_4778(omObjData *arg0) -{ - Mtx sp11C; - Vec sp110; - Vec sp104; - Vec spF8; - float temp_f27; - float temp_f29; - float temp_f30; - float var_f25; - StructBssBCData *temp_r31; - ModelData *temp_r27; - s32 temp_r26; - s16 var_r25; - s16 var_r24; - s16 var_r29; - s16 var_r28; - - temp_r31 = arg0->data; - temp_r27 = &Hu3DData[arg0->model[0]]; - temp_r31->unk0E = HuPadBtn[temp_r31->unk04]; - temp_r31->unk10 = HuPadBtnDown[temp_r31->unk04]; - temp_r31->unk12 = HuPadStkX[temp_r31->unk04]; - temp_r31->unk14 = HuPadStkY[temp_r31->unk04]; - if (fn_1_F00() == 6) { - if (temp_r31->unk06 != 0) { - temp_r31->unk0E &= ~PAD_BUTTON_A; - temp_r31->unk10 &= ~PAD_BUTTON_A; - temp_r31->unk12 = 0; - temp_r31->unk14 = 0; - fn_1_8338(arg0); - } - var_r25 = temp_r31->unk0E; - var_r24 = temp_r31->unk10; - var_r29 = temp_r31->unk12; - var_r28 = temp_r31->unk14; - } - if (fabs(var_r29) < 8.0) { - var_r29 = 0; - } - if (fabs(var_r29) > 80.0) { - var_r29 = 80; - } - if (fabs(var_r28) < 8.0) { - var_r28 = 0; - } - if (fabs(var_r28) > 80.0) { - var_r28 = 80; - } - if (fn_1_F00() != 6) { - var_r29 = var_r28 = 0; - var_r25 = var_r24 = 0; - } - switch (temp_r31->unk18) { - case 0: - if (fn_1_F00() < 3) { - break; - } - spF8.x = temp_r31->unkB0 - arg0->trans.x; - spF8.z = temp_r31->unkB8 - arg0->trans.z; - temp_f29 = VECMagXZ(&spF8); - if (temp_f29 > 25.0f) { - spF8.x = temp_r31->unkB0 - arg0->trans.x; - spF8.z = temp_r31->unkB8 - arg0->trans.z; - temp_f30 = atan2d(spF8.x, spF8.z); - arg0->rot.y = fn_1_122F4(temp_f30, arg0->rot.y, 15.0f); - arg0->trans.x += 25.0 * sind(arg0->rot.y) * 0.5; - arg0->trans.z += 25.0 * cosd(arg0->rot.y) * 0.5; - if (temp_r31->unk16 != 2) { - temp_r31->unk16 = 2; - CharModelMotionSet(temp_r31->unk02, arg0->motion[temp_r31->unk16]); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_LOOP); - } - break; - } - arg0->trans.x = temp_r31->unkB0; - arg0->trans.z = temp_r31->unkB8; - temp_r31->unk18 = 1; - if (temp_r31->unk16 != 0) { - temp_r31->unk16 = 0; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - break; - case 1: - arg0->rot.y = fn_1_122F4(0.0f, arg0->rot.y, 5.0f); - if (fabs(fn_1_121DC(arg0->rot.y, 0.0f)) < 1.0) { - arg0->rot.y = 0.0f; - temp_r31->unk18 = 2; - } - break; - case 2: - temp_r31->unk18 = 3; - break; - case 3: - arg0->rot.y = fn_1_122F4(0.0f, arg0->rot.y, 10.0f); - if (fn_1_F00() >= 7) { - temp_r31->unk18 = 10; - temp_r31->unk68 = 0; - break; - } - if (fabs(fn_1_121DC(arg0->rot.y, 0.0f)) < 1.0) { - arg0->rot.y = 0.0f; - sp104 = lbl_1_data_5E8; - mtxRot(sp11C, arg0->rot.x, arg0->rot.y, arg0->rot.z); - fn_1_1293C(sp11C, &sp104); - sp104.x += arg0->trans.x; - sp104.y += arg0->trans.y; - sp104.z += arg0->trans.z; - if (fn_1_F00() <= 6 && (temp_r31->unk5C = fn_1_A9D4(temp_r31->unk02, lbl_1_data_1B0[temp_r31->unk0C], sp104)) != -1) { - temp_r31->unk18 = 4; - temp_r31->unk68 = 0; - } - } - break; - case 4: - temp_r26 = fn_1_AE64(temp_r31->unk5C); - if (fn_1_F00() >= 7) { - temp_r31->unk18 = 10; - temp_r31->unk68 = 0; - break; - } - if (temp_r26 == -1 || temp_r31->unk5C == -1) { - temp_r31->unk18 = 3; - break; - } - if (temp_r26 == 2) { - if (++temp_r31->unk68 >= 6.0f) { - HuAudFXPlay(0x61A); - temp_r31->unk18 = 5; - temp_r31->unk68 = 0; - } - break; - } - if (++temp_r31->unk68 >= 54.0f && temp_r31->unk16 != 3) { - temp_r31->unk16 = 3; - CharModelMotionSet(temp_r31->unk02, arg0->motion[temp_r31->unk16]); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP); - } - break; - case 5: - temp_f30 = fabs(fn_1_121DC(arg0->rot.y, temp_r31->unk78)); - if (temp_f30 < 10.0f) { - arg0->rot.y += temp_f30; - } - else { - arg0->rot.y += 10.0f; - } - sp104 = lbl_1_data_5E8; - mtxRot(sp11C, arg0->rot.x, arg0->rot.y, arg0->rot.z); - fn_1_1293C(sp11C, &sp104); - sp104.x += arg0->trans.x; - sp104.y += arg0->trans.y; - sp104.z += arg0->trans.z; - fn_1_AC0C(temp_r31->unk5C, sp104); - spF8.x = 0.0f; - spF8.y = 1.0f; - spF8.z = 1.0f; - sp104.y = 0.0f; - fn_1_DD70(sp104, spF8, 50.0f, -0.5f, 10.0f, 1.0f, lbl_1_data_5F4); - if (fn_1_F00() >= 7) { - temp_r31->unk18 = 10; - temp_r31->unk68 = 0; - break; - } - if (fabs(fn_1_121DC(arg0->rot.y, temp_r31->unk78)) < 1.0) { - temp_r31->unkC8 = sp104; - temp_r31->unk18 = 6; - temp_r31->unk68 = 0; - } - break; - case 6: - sp110.x = 0.0125f * var_r29 * 300.0f; - sp110.y = -900.0f; - sp110.z = -900.0f; - temp_f30 = atan2d(sp110.x - temp_r31->unkC8.x, sp110.z - temp_r31->unkC8.z); - arg0->rot.y = fn_1_122F4(temp_f30, arg0->rot.y, 5.0f); - if (fn_1_F00() >= 7) { - temp_r31->unk18 = 10; - temp_r31->unk68 = 0; - break; - } - if (var_r24 & PAD_BUTTON_A) { - temp_r31->unk16 = 4; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_NONE); - temp_r27->unk_88 = 0.5f; - temp_r31->unkD4 = sp110; - temp_r31->unk18 = 7; - temp_r31->unk68 = 0; - } - break; - case 7: - temp_r31->unk68++; - if (temp_r31->unk68 > 90.0f) { - temp_r31->unk68 = 90; - } - temp_f29 = 0.011111111f * temp_r31->unk68; - sp110.x = 0.0125f * var_r29 * 300.0f; - sp110.y = -900.0f; - sp110.z = -900.0f; - temp_f30 = atan2d(sp110.x - temp_r31->unkC8.x, sp110.z - temp_r31->unkC8.z); - arg0->rot.y = fn_1_122F4(temp_f30, arg0->rot.y, 5.0f); - temp_r31->unkD4 = sp110; - if (fn_1_F00() >= 7) { - temp_r31->unk18 = 10; - temp_r31->unk68 = 0; - break; - } - if (!(var_r25 & PAD_BUTTON_A)) { - var_f25 = 15.000001f + 30.0f * temp_f29; - temp_r31->unk60 = var_f25; - temp_r31->unk16 = 5; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_NONE); - temp_r27->unk_88 = 0.5f + 1.5f * temp_f29; - temp_r31->unk18 = 8; - temp_r31->unk68 = 0; - } - break; - case 8: - if (fn_1_F00() >= 7) { - temp_r31->unk18 = 10; - temp_r31->unk68 = 0; - break; - } - if (CharModelMotionTimeGet(temp_r31->unk02) >= 10.0f && CharModelMotionShiftIDGet(temp_r31->unk02) == -1) { - temp_r26 = fn_1_AE64(temp_r31->unk5C); - if (temp_r26 == -1 || temp_r31->unk5C == -1) { - temp_r31->unk18 = 3; - } - VECSubtract(&temp_r31->unkD4, &temp_r31->unkC8, &spF8); - VECNormalize(&spF8, &spF8); - temp_f27 = 15.0f; - spF8.x *= temp_r31->unk60 * cosd(temp_f27); - spF8.z *= temp_r31->unk60 * cosd(temp_f27); - spF8.y = temp_r31->unk60 * sind(temp_f27); - fn_1_AC80(temp_r31->unk5C, spF8); - temp_r31->unk5C = -1; - HuAudFXPlay(0x61F); - sp104 = temp_r31->unkC8; - sp104.y += 75.0f; - spF8.x = 0.0f; - spF8.y = 1.0f; - spF8.z = 1.0f; - sp104.y = 0.0f; - fn_1_DC24(sp104, spF8, 50.0f, -0.5f, 1.0f, lbl_1_data_5F8); - temp_f29 = (temp_r31->unk60 - 15.000001f) / 30.0f; - if (temp_f29 > 0.66f) { - HuAudFXPlay(0x61B); - } - else if (temp_f29 > 0.33f) { - HuAudFXPlay(0x61C); - } - else { - HuAudFXPlay(0x61D); - } - temp_r31->unk18 = 9; - temp_r31->unk68 = 0; - } - break; - case 9: - if (fn_1_F00() >= 7) { - temp_r31->unk18 = 10; - temp_r31->unk68 = 0; - break; - } - if (++temp_r31->unk68 >= 12.0f) { - temp_r31->unk16 = 0; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - temp_r31->unk18 = 3; - temp_r31->unk68 = 0; - } - break; - case 10: - arg0->rot.y = fn_1_122F4(0.0f, arg0->rot.y, 10.0f); - if (CharModelMotionShiftIDGet(temp_r31->unk02) == -1 && temp_r31->unk16 != 0) { - temp_r31->unk16 = 0; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - break; - case 11: - if (CharModelMotionShiftIDGet(temp_r31->unk02) == -1 && temp_r31->unk16 != 6) { - temp_r31->unk16 = 6; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_NONE); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_SHIFT_LOOP); - } - break; - case 12: - if (CharModelMotionShiftIDGet(temp_r31->unk02) == -1 && temp_r31->unk16 != 7) { - temp_r31->unk16 = 7; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_NONE); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_SHIFT_LOOP); - } - break; - } -} - -GXColor lbl_1_data_630 = { 0xFF, 0xFF, 0xFF, 0x14 }; - -void fn_1_5D18(omObjData *arg0) -{ - Vec sp60; - Vec sp54; - Vec sp48; - float var_f30; - float var_f31; - float var_f29; - StructBssBCData *temp_r31; - ModelData *temp_r27; - s16 var_r26; - s16 var_r25; - s16 var_r28; - s16 var_r24; - s16 i; - - temp_r31 = arg0->data; - temp_r27 = &Hu3DData[arg0->model[0]]; - temp_r31->unk0E = HuPadBtn[temp_r31->unk04]; - temp_r31->unk10 = HuPadBtnDown[temp_r31->unk04]; - temp_r31->unk12 = HuPadStkX[temp_r31->unk04]; - temp_r31->unk14 = HuPadStkY[temp_r31->unk04]; - if (fn_1_F00() == 6) { - if (temp_r31->unk06 != 0) { - temp_r31->unk0E &= ~PAD_BUTTON_A; - temp_r31->unk10 &= ~PAD_BUTTON_A; - temp_r31->unk12 = 0; - temp_r31->unk14 = 0; - fn_1_8CB4(arg0); - } - var_r28 = temp_r31->unk12; - var_r24 = temp_r31->unk14; - } - if (fabs(var_r28) < 8.0) { - var_r28 = 0; - } - if (fabs(var_r28) > 80.0) { - var_r28 = 80; - } - if (fabs(var_r24) < 8.0) { - var_r24 = 0; - } - if (fabs(var_r24) > 80.0) { - var_r24 = 80; - } - switch (temp_r31->unk18) { - case 0: - if (fn_1_F00() >= 6) { - temp_r31->unk18 = 1; - } - break; - case 1: - if (fabs(var_r28) > 8.0) { - var_f30 = 0.125f * var_r28; - } - else { - var_f30 = 0.0f; - } - temp_r31->unk1C[temp_r31->unk58] = var_f30; - if (++temp_r31->unk58 >= 15) { - temp_r31->unk58 = 0; - } - for (i = 0, var_f30 = 0.0f; i < 15; i++) { - var_f30 += temp_r31->unk1C[i]; - } - var_f30 *= 0.06666667f; - if (var_f30 > 25.0f) { - var_f30 = 25.0f; - } - else if (var_f30 < -25.0f) { - var_f30 = -25.0f; - } - if (0.0f == var_f30) { - var_r25 = 0; - } - else if (fabs(var_f30) < 10.0) { - var_r25 = 1; - } - else { - var_r25 = 2; - } - if (temp_r31->unk16 != var_r25 && CharModelMotionShiftIDGet(temp_r31->unk02) == -1) { - temp_r31->unk16 = var_r25; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - if (temp_r31->unk16 == 1 && CharModelMotionShiftIDGet(temp_r31->unk02) == -1) { - var_f31 = fabs(0.1f * var_f30); - if (var_f31 < 0.25f) { - var_f31 = 0.25f; - } - CharModelMotionSpeedSet(temp_r31->unk02, var_f31); - } - if (var_r28 == 0.0f) { - var_f29 = 0.0f; - } - else if (var_r28 < 0.0f) { - var_f29 = -90.0f; - } - else { - var_f29 = 90.0f; - } - if (arg0->rot.y < var_f29 && (arg0->rot.y += 20.0f) > var_f29) { - arg0->rot.y = var_f29; - } - if (arg0->rot.y > var_f29 && (arg0->rot.y -= 20.0f) < var_f29) { - arg0->rot.y = var_f29; - } - arg0->trans.x += var_f30; - arg0->trans.y = 0.0f; - arg0->trans.z = temp_r31->unkB8; - if (arg0->trans.x < -225.0f) { - arg0->trans.x = -225.0f; - } - if (arg0->trans.x > 225.0f) { - arg0->trans.x = 225.0f; - } - if (fn_1_F00() >= 7) { - temp_r31->unk18 = 9; - temp_r31->unk68 = 0; - } - else if (temp_r31->unk10 & PAD_BUTTON_A) { - if (var_r28 > 0) { - temp_r27->unk_0C = -1; - temp_r31->unk16 = 3; - CharModelMotionSet(temp_r31->unk02, arg0->motion[temp_r31->unk16]); - CharModelMotionSpeedSet(temp_r31->unk02, 1.0f); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_SHIFT_LOOP); - temp_r31->unk7C = 6.5f; - temp_r31->unk68 = 0; - arg0->rot.y = 90.0f; - i = 99; - if ((var_r26 = fn_1_B304(lbl_1_bss_40)) != 0) { - for (i = 0; i < var_r26; i++) { - if (lbl_1_bss_40[0]->unk1C < lbl_1_bss_40[0]->unk14 || lbl_1_bss_40[0]->unk1C - lbl_1_bss_40[0]->unk14 > 6.0f) { - continue; - } - if (lbl_1_bss_40[0]->unk1C < 36.0f) { - var_f31 = lbl_1_bss_40[0]->unk68.z - arg0->trans.z; - } - else { - var_f31 = lbl_1_bss_40[0]->unk38.z - arg0->trans.z; - } - if (var_f31 < -100.0f) { - continue; - } - var_f31 = fabs(var_f31); - if (var_f31 >= 300.0f) { - temp_r31->unk8C = 13.5f; - } - else if (var_f31 <= 100.0f) { - temp_r31->unk8C = 6.5f; - } - else { - temp_r31->unk8C = 10.0f; - } - } - } - if (i >= var_r26) { - temp_r31->unk8C = 10.0f; - } - temp_r31->unk18 = 2; - } - else if (var_r28 < 0) { - temp_r27->unk_0C = -1; - temp_r31->unk16 = 5; - CharModelMotionSet(temp_r31->unk02, arg0->motion[temp_r31->unk16]); - CharModelMotionSpeedSet(temp_r31->unk02, 1.0f); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_SHIFT_LOOP); - temp_r31->unk7C = 6.5f; - temp_r31->unk68 = 0; - arg0->rot.y = -90.0f; - i = 99; - if ((var_r26 = fn_1_B304(lbl_1_bss_40)) != 0) { - for (i = 0; i < var_r26; i++) { - if (lbl_1_bss_40[0]->unk1C < lbl_1_bss_40[0]->unk14 || lbl_1_bss_40[0]->unk1C - lbl_1_bss_40[0]->unk14 > 6.0f) { - continue; - } - if (lbl_1_bss_40[0]->unk1C < 36.0f) { - var_f31 = lbl_1_bss_40[0]->unk68.z - arg0->trans.z; - } - else { - var_f31 = lbl_1_bss_40[0]->unk38.z - arg0->trans.z; - } - if (var_f31 > 100.0f) { - continue; - } - var_f31 = fabs(var_f31); - if (var_f31 >= 300.0f) { - temp_r31->unk8C = 13.5f; - } - else if (var_f31 <= 100.0f) { - temp_r31->unk8C = 6.5f; - } - else { - temp_r31->unk8C = 10.0f; - } - } - } - if (i >= var_r26) { - temp_r31->unk8C = 10.0f; - } - temp_r31->unk18 = 4; - } - else { - temp_r27->unk_0C = -1; - temp_r31->unk16 = 7; - CharModelMotionSet(temp_r31->unk02, arg0->motion[temp_r31->unk16]); - CharModelMotionSpeedSet(temp_r31->unk02, 1.0f); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_SHIFT_LOOP); - temp_r31->unk7C = 10.5f; - temp_r31->unk68 = 0; - arg0->rot.y = 0.0f; - temp_r31->unk18 = 7; - } - } - break; - case 2: - arg0->trans.x += temp_r31->unk8C; - if (arg0->trans.x > 225.0f) { - arg0->trans.x = 225.0f; - } - arg0->trans.y += temp_r31->unk7C; - temp_r31->unk7C -= 0.49f; - temp_r31->unk68++; - if (temp_r31->unk68 == temp_r31->unk80 - 12.0f) { - temp_r31->unk16 = 4; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_NONE); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_SHIFT_LOOP); - } - if (arg0->trans.y <= 0.0f) { - for (i = 0; i < 6; i++) { - sp48.x = sind(-90.0f + 30.0f * i); - sp48.z = cosd(-90.0f + 30.0f * i); - sp48.y = 0.0f; - sp54.x = 100.0f * sp48.x * 0.01f; - sp54.z = 100.0f * sp48.z * 0.01f; - sp54.y = 1.0f; - sp60.x = arg0->trans.x + 100.0f * sp48.x * 0.2; - sp60.z = arg0->trans.z + 100.0f * sp48.z * 0.2; - sp60.y = 0.0f; - fn_1_DD70(sp60, sp54, 50.0f, -0.25f, 20.0f, 0.5f, lbl_1_data_630); - } - arg0->trans.y = 0.0f; - temp_r31->unk18 = 3; - } - break; - case 3: - if (CharModelMotionEndCheck(temp_r31->unk02) && CharModelMotionShiftIDGet(temp_r31->unk02) == -1) { - memset(&temp_r31->unk1C, 0, sizeof(temp_r31->unk1C)); - temp_r31->unk58 = 0; - temp_r31->unk16 = 0; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - temp_r31->unk18 = 6; - temp_r31->unkAC = 0; - } - break; - case 4: - arg0->trans.x -= temp_r31->unk8C; - if (arg0->trans.x < -225.0f) { - arg0->trans.x = -225.0f; - } - arg0->trans.y += temp_r31->unk7C; - temp_r31->unk7C -= 0.49f; - temp_r31->unk68++; - if (temp_r31->unk68 == temp_r31->unk80 - 12.0f) { - temp_r31->unk16 = 6; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_NONE); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_SHIFT_LOOP); - } - if (arg0->trans.y <= 0.0f) { - for (i = 0; i < 6; i++) { - sp48.x = sind(-90.0f + 30.0f * i); - sp48.z = cosd(-90.0f + 30.0f * i); - sp48.y = 0.0f; - sp54.x = 100.0f * sp48.x * 0.01f; - sp54.z = 100.0f * sp48.z * 0.01f; - sp54.y = 1.0f; - sp60.x = arg0->trans.x + 100.0f * sp48.x * 0.2; - sp60.z = arg0->trans.z + 100.0f * sp48.z * 0.2; - sp60.y = 0.0f; - fn_1_DD70(sp60, sp54, 50.0f, -0.25f, 20.0f, 0.5f, lbl_1_data_630); - } - arg0->trans.y = 0.0f; - temp_r31->unk18 = 5; - } - break; - case 5: - if (CharModelMotionEndCheck(temp_r31->unk02) && CharModelMotionShiftIDGet(temp_r31->unk02) == -1) { - memset(&temp_r31->unk1C, 0, sizeof(temp_r31->unk1C)); - temp_r31->unk58 = 0; - temp_r31->unk16 = 0; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - temp_r31->unk18 = 6; - temp_r31->unkAC = 0; - } - break; - case 6: - if (++temp_r31->unkAC > 0.0f) { - temp_r31->unkAC = 0; - temp_r31->unk18 = 1; - } - break; - case 7: - arg0->trans.y += temp_r31->unk7C; - temp_r31->unk7C -= 0.65333337f; - temp_r31->unk68++; - if (arg0->trans.y <= 0.0f) { - temp_r31->unk16 = 0; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_NONE); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_SHIFT_LOOP); - arg0->trans.y = 0.0f; - temp_r31->unk68 = 0; - temp_r31->unk18 = 8; - } - break; - case 8: - if (++temp_r31->unk68 > 12.0f) { - memset(&temp_r31->unk1C, 0, sizeof(temp_r31->unk1C)); - temp_r31->unk58 = 0; - temp_r31->unk16 = 0; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - temp_r31->unk18 = 1; - } - break; - case 9: - arg0->rot.y = fn_1_122F4(0.0f, arg0->rot.y, 10.0f); - if (CharModelMotionShiftIDGet(temp_r31->unk02) == -1 && temp_r31->unk16 != 1) { - temp_r31->unk16 = 1; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - if (CharModelMotionShiftIDGet(temp_r31->unk02) == -1 && temp_r31->unk16 == 1) { - arg0->trans.z += 5.0f; - } - if (arg0->trans.z > lbl_1_data_150->z + 100.0f) { - temp_r31->unk18 = 10; - } - break; - case 10: - arg0->rot.y = fn_1_122F4(0.0f, arg0->rot.y, 10.0f); - if (CharModelMotionShiftIDGet(temp_r31->unk02) == -1 && temp_r31->unk16 != 0) { - temp_r31->unk16 = 0; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - break; - case 11: - if (CharModelMotionShiftIDGet(temp_r31->unk02) == -1 && temp_r31->unk16 != 9) { - temp_r31->unk16 = 9; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_NONE); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_SHIFT_LOOP); - } - break; - case 12: - if (CharModelMotionShiftIDGet(temp_r31->unk02) == -1 && temp_r31->unk16 != 10) { - temp_r31->unk16 = 10; - CharModelMotionShiftSet(temp_r31->unk02, arg0->motion[temp_r31->unk16], 0.0f, 8.0f, HU3D_MOTATTR_NONE); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_SHIFT_LOOP); - } - break; - } - lbl_1_bss_B8 = arg0; - temp_r31->unkEC = arg0->trans.x - temp_r31->unkE0; - temp_r31->unkF0 = arg0->trans.y - temp_r31->unkE4; - temp_r31->unkF4 = arg0->trans.z - temp_r31->unkE8; - temp_r31->unkE0 = arg0->trans.x; - temp_r31->unkE4 = arg0->trans.y; - temp_r31->unkE8 = arg0->trans.z; -} - -void fn_1_77C4(omObjData *arg0) -{ - arg0->func = NULL; -} - -void fn_1_77D0(void) -{ - s32 i; - - for (i = 0; i < 4; i++) { - fn_1_77C4(lbl_1_bss_BC[i]); - } -} - -s32 fn_1_781C(void) -{ - omObjData *temp_r29; - StructBssBCData *temp_r31; - s32 i; - - for (i = 0; i < 4; i++) { - temp_r29 = lbl_1_bss_BC[i]; - temp_r31 = temp_r29->data; - if (temp_r31->unk0A == 0) { - if (temp_r31->unk18 != 0 || fabs(fn_1_121DC(temp_r29->rot.y, 0.0f)) > 1.0) { - break; - } - } - else { - if (temp_r31->unk18 < 5) { - break; - } - } - } - if (i >= 4) { - return 1; - } - return 0; -} - -s32 fn_1_791C(void) -{ - omObjData *temp_r30; - StructBssBCData *temp_r31; - s32 i; - - for (i = 0; i < 4; i++) { - temp_r30 = lbl_1_bss_BC[i]; - temp_r31 = temp_r30->data; - if (temp_r31->unk0A == 0) { - if (temp_r31->unk18 != 10 || fabs(fn_1_121DC(temp_r30->rot.y, 0.0f)) > 1.0 || CharModelMotionShiftIDGet(temp_r31->unk02) != -1) { - break; - } - } - else { - if (temp_r31->unk18 != 10 || fabs(fn_1_121DC(temp_r30->rot.y, 0.0f)) > 1.0 || CharModelMotionShiftIDGet(temp_r31->unk02) != -1) { - break; - } - } - } - if (i >= 4) { - return 1; - } - return 0; -} - -void fn_1_7AA8(s32 arg0) -{ - omObjData *var_r29; - StructBssBCData *temp_r31; - s32 i; - - for (i = 0; i < 4; i++) { - var_r29 = lbl_1_bss_BC[i]; - temp_r31 = var_r29->data; - if (temp_r31->unk0A == 0) { - if (temp_r31->unk0A == arg0) { - temp_r31->unk18 = 11; - } - else { - temp_r31->unk18 = 12; - } - } - else { - if (temp_r31->unk0A == arg0) { - temp_r31->unk18 = 11; - } - else { - temp_r31->unk18 = 12; - } - } - } -} - -s32 fn_1_7B48(Vec *arg0, Vec *arg1, Vec *arg2, float arg3) -{ - Vec spA8[4]; - Vec sp78[4]; - Vec sp48[4]; - Vec sp3C; - Vec sp30; - Vec sp24; - Vec sp18; - Vec spC; - float var_f31; - float var_f28; - float var_f30; - float var_f27; - float var_f26; - omObjData *temp_r31; - StructBssBCData *temp_r28; - ModelData *sp8; - - if (lbl_1_bss_B8 == NULL) { - return 0; - } - temp_r31 = lbl_1_bss_B8; - temp_r28 = temp_r31->data; - sp8 = &Hu3DData[temp_r31->model[0]]; - *arg2 = *arg1; - switch (temp_r28->unk18) { - case 2: - case 4: - var_f31 = 150.0f; - var_f28 = 130.0f; - var_f30 = 60.000004f; - var_f27 = 130.0f; - break; - default: - var_f31 = 100.0f; - var_f28 = 130.0f; - var_f30 = 60.000004f; - var_f27 = 0.0f; - break; - } - sp78[0].x = temp_r31->trans.x - 0.5f * var_f31; - sp78[0].y = temp_r31->trans.y + var_f28; - sp78[0].z = temp_r31->trans.z + 0.5f * var_f30; - sp78[1].x = temp_r31->trans.x + 0.5f * var_f31; - sp78[1].y = temp_r31->trans.y + var_f28; - sp78[1].z = temp_r31->trans.z + 0.5f * var_f30; - sp78[2].x = temp_r31->trans.x + 0.5f * var_f31; - sp78[2].y = temp_r31->trans.y - var_f27; - sp78[2].z = temp_r31->trans.z + 0.5f * var_f30; - sp78[3].x = temp_r31->trans.x - 0.5f * var_f31; - sp78[3].y = temp_r31->trans.y - var_f27; - sp78[3].z = temp_r31->trans.z + 0.5f * var_f30; - spA8[0].x = temp_r31->trans.x + 0.5f * var_f31; - spA8[0].y = temp_r31->trans.y + var_f28; - spA8[0].z = temp_r31->trans.z - 0.5f * var_f30; - spA8[1].x = temp_r31->trans.x - 0.5f * var_f31; - spA8[1].y = temp_r31->trans.y + var_f28; - spA8[1].z = temp_r31->trans.z - 0.5f * var_f30; - spA8[2].x = temp_r31->trans.x - 0.5f * var_f31; - spA8[2].y = temp_r31->trans.y - var_f27; - spA8[2].z = temp_r31->trans.z - 0.5f * var_f30; - spA8[3].x = temp_r31->trans.x + 0.5f * var_f31; - spA8[3].y = temp_r31->trans.y - var_f27; - spA8[3].z = temp_r31->trans.z - 0.5f * var_f30; - VECNormalize(arg1, &spC); - VECScale(&spC, &spC, arg3); - VECAdd(arg0, arg1, &sp30); - VECAdd(arg0, arg1, &sp24); - VECAdd(arg0, &spC, &sp3C); - VECAdd(&sp30, &spC, &sp30); - sp48[0] = sp78[0]; - sp48[1] = sp78[1]; - sp48[2] = sp78[2]; - sp48[3] = sp78[3]; - if (fn_1_137C4(sp48, arg0, arg1, &sp18, arg3, 4) != 0) { - arg2->x *= 0.5f; - arg2->z *= -0.5f; - fn_1_82C8(15, 1, 0); - return 1; - } - if (sp24.x >= sp78[0].x - arg3 && sp24.x <= sp78[2].x + arg3 && sp24.y <= sp78[0].y + arg3 && sp24.y >= sp78[2].y - arg3 - && sp24.z <= sp78[0].z + arg3 && sp24.z >= spA8[3].z - arg3) { - if (temp_r28->unkEC > 0.0f && sp24.x > temp_r31->trans.x) { - spC = *arg1; - spC.y = 0.0f; - var_f26 = VECMag(&spC); - arg2->x = 0.5f * var_f26 + temp_r28->unkEC; - arg2->z = 0.0f; - } - else if (temp_r28->unkEC < 0.0f && sp24.x < temp_r31->trans.x) { - spC = *arg1; - spC.y = 0.0f; - var_f26 = VECMag(&spC); - arg2->x = -(0.5f * var_f26) + temp_r28->unkEC; - arg2->z = 0.0f; - } - else { - if (fabs(arg1->x) > fabs(arg1->z)) { - arg2->x *= -1.0f; - } - else { - arg2->z *= -1.0f; - } - arg2->x *= 0.5f; - arg2->z *= 0.5f; - } - fn_1_82C8(15, 1, 0); - return 1; - } - return 0; -} - -void fn_1_82C8(s32 arg0, s32 arg1, s32 arg2) -{ - omObjData *var_r31; - StructBssBCData *var_r30; - - if (lbl_1_bss_B8 != NULL) { - var_r31 = lbl_1_bss_B8; - var_r30 = var_r31->data; - omVibrate(var_r30->unk00, 12, 6, 6); - HuAudFXPlay(0x61A); - } -} - -s32 lbl_1_data_668[] = { 3, 4, 5, 6 }; -float lbl_1_data_678[] = { 0.6f, 0.65f, 0.7f, 0.7f }; - -s32 lbl_1_data_688[][2] = { { 30, 60 }, { 24, 48 }, { 12, 24 }, { 0, 12 } }; - -s32 lbl_1_data_6A8[][2] = { { 36, 84 }, { 36, 78 }, { 33, 72 }, { 33, 66 } }; - -void fn_1_8338(omObjData *arg0) -{ - float var_f31; - float temp_f30; - StructBssBCData *temp_r31; - ModelData *sp8; - s32 var_r29; - - temp_r31 = arg0->data; - sp8 = &Hu3DData[arg0->model[0]]; - var_r29 = temp_r31->unk18; - if (temp_r31->unkA0 == 0) { - temp_r31->unkA0 = 1; - temp_r31->unk70 = 0; - var_r29 = 5; - } - switch (var_r29) { - case 5: - if (temp_r31->unk70 != 0) { - break; - } - if (temp_r31->unk9C > lbl_1_bss_108 && lbl_1_data_668[temp_r31->unk08] > temp_r31->unk98 && lbl_1_bss_B8 != NULL) { - temp_r31->unkA4 = 1; - temp_r31->unkA8 = (1.0f / 127) * frand7(); - if (lbl_1_bss_B8->trans.x >= 270.0f) { - temp_r31->unk88 = -(0.4f + 0.3f * temp_r31->unkA8); - } - else if (lbl_1_bss_B8->trans.x <= -270.0f) { - temp_r31->unk88 = 0.4f + 0.3f * temp_r31->unkA8; - } - else if (frand() & 1) { - temp_r31->unk88 = -(0.3f + 0.1f * temp_r31->unkA8); - } - else { - temp_r31->unk88 = 0.3f + 0.1f * temp_r31->unkA8; - } - var_f31 = lbl_1_data_6A8[3][0]; - temp_f30 = lbl_1_data_6A8[3][1]; - temp_r31->unk70 = var_f31 + (1.0f / 127) * frand7() * (temp_f30 - var_f31); - var_f31 = lbl_1_data_688[temp_r31->unk08][0]; - temp_f30 = lbl_1_data_688[temp_r31->unk08][1]; - temp_r31->unk74 = var_f31 + (1.0f / 127) * frand7() * (temp_f30 - var_f31); - temp_r31->unk98++; - } - else { - if (frand() & 1) { - temp_r31->unk88 = (1.0f / 127) * frand7() * lbl_1_data_678[temp_r31->unk08]; - } - else { - temp_r31->unk88 = -((1.0f / 127) * frand7()) * lbl_1_data_678[temp_r31->unk08]; - } - var_f31 = lbl_1_data_6A8[temp_r31->unk08][0]; - temp_f30 = lbl_1_data_6A8[temp_r31->unk08][1]; - temp_r31->unk70 = var_f31 + (1.0f / 127) * frand7() * (temp_f30 - var_f31); - var_f31 = lbl_1_data_688[temp_r31->unk08][0]; - temp_f30 = lbl_1_data_688[temp_r31->unk08][1]; - temp_r31->unk74 = var_f31 + (1.0f / 127) * frand7() * (temp_f30 - var_f31); - } - temp_r31->unk6C = 0; - break; - case 6: - if (++temp_r31->unk6C >= temp_r31->unk74) { - temp_r31->unk12 = 80.0f * temp_r31->unk88; - temp_r31->unk10 |= PAD_BUTTON_A; - temp_r31->unk0E |= PAD_BUTTON_A; - temp_r31->unk6C = 0; - return; - } - var_f31 = sind(180.0f * ((temp_r31->unk74 - temp_r31->unk6C) / 60.0f)); - if (temp_r31->unk74 & 1) { - var_f31 *= -1.0f; - } - temp_r31->unk12 = 80.0f * (temp_r31->unk88 + var_f31); - return; - case 7: - if (temp_r31->unkA4 != 0) { - if (lbl_1_bss_B8->trans.x >= 148.5f) { - temp_r31->unk88 = -(0.4f + 0.3f * temp_r31->unkA8); - } - else if (lbl_1_bss_B8->trans.x <= -148.5f) { - temp_r31->unk88 = 0.4f + 0.3f * temp_r31->unkA8; - } - else if (lbl_1_bss_B8->trans.x > 0.0f) { - temp_r31->unk88 = -(0.5f + 0.2f * temp_r31->unkA8); - } - else { - temp_r31->unk88 = 0.5f + 0.2f * temp_r31->unkA8; - } - } - temp_r31->unk12 = 80.0f * temp_r31->unk88; - if (++temp_r31->unk6C > temp_r31->unk70) { - temp_r31->unk88 = 0.0f; - temp_r31->unk6C = 0; - temp_r31->unk70 = 0; - temp_r31->unk74 = 0; - temp_r31->unkA4 = 0; - } - else { - temp_r31->unk0E |= PAD_BUTTON_A; - } - break; - default: - temp_r31->unk6C = 0; - break; - } -} - -s32 lbl_1_data_6C8[] = { 60, 45, 30, 15 }; - -float lbl_1_data_6D8[][2] = { { 200.0f, 150.0f }, { 125.0f, 100.0f }, { 0.0f, 0.0f }, { 0.0f, 0.0f } }; - -s32 lbl_1_data_6F8[][2] = { { 48, 150 }, { 39, 114 }, { 33, 90 }, { 21, 42 } }; - -s32 lbl_1_data_718[][2] = { { 27, 39 }, { 15, 27 }, { 9, 15 }, { 0, 3 } }; - -void fn_1_8CB4(omObjData *arg0) -{ - Vec spC; - float temp_f29; - float temp_f28; - float var_f30; - float var_f31; - float var_f26; // ! - uninitialized - float temp_f27; - StructBssBCData *temp_r31; - ModelData *sp8; - StructBssA8Data *temp_r30; - s32 var_r28; - s32 var_r24; - s32 i, j; - s32 var_r25; - - var_r25 = 0; - temp_r31 = arg0->data; - sp8 = &Hu3DData[arg0->model[0]]; - if (temp_r31->unk64 != -1) { - temp_r30 = fn_1_B13C(temp_r31->unk64); - if (temp_r30 != NULL) { - if (temp_r30->unk0C != 3 || temp_r30->unk08 != 0 || temp_r30->unk38.z <= -900.0f) { - var_r25 = 1; - } - } - else { - var_r25 = 1; - } - } - else { - var_r25 = 1; - } - if (var_r25 != 0) { - temp_r31->unk64 = -1; - temp_r31->unk6C = 0; - temp_f29 = lbl_1_data_6F8[temp_r31->unk08][0]; - temp_f28 = lbl_1_data_6F8[temp_r31->unk08][1]; - temp_r31->unk90 = temp_f29 + (1.0f / 127) * frand7() * (temp_f28 - temp_f29); - temp_f29 = lbl_1_data_718[temp_r31->unk08][0]; - temp_f28 = lbl_1_data_718[temp_r31->unk08][1]; - temp_r31->unk94 = temp_f29 + (1.0f / 127) * frand7() * (temp_f28 - temp_f29); - temp_r31->unkD4.x = lbl_1_data_6D8[temp_r31->unk08][0] * (0.5f - (1.0f / 127) * frand7()); - temp_r31->unkD4.y = lbl_1_data_6D8[temp_r31->unk08][1] * (0.5f - (1.0f / 127) * frand7()); - if (lbl_1_bss_104 >= 5) { - temp_r31->unkD4.x *= 1.5f; - } - var_r24 = fn_1_B304(lbl_1_bss_4); - if (var_r24 != 0) { - for (i = 0; i < var_r24; i++) { - temp_r30 = lbl_1_bss_4[i]; - if (temp_r30 == NULL || temp_r30->unk06 == 0 || 0.0f == temp_r30->unk50.z || fabs(temp_r30->unk38.x) >= 325.0 - || temp_r30->unk14 < temp_r31->unk94) { - continue; - } - var_r28 = (var_f26 - temp_r30->unk38.z) / temp_r30->unk50.z; - if (var_r28 > 300.0f) { - continue; - } - spC = temp_r30->unk50; - var_f30 = temp_r30->unk38.x; - var_f31 = temp_r30->unk38.y; - for (j = 0; j < var_r28; j++) { - var_f30 += spC.x; - var_f31 += spC.y; - spC.x *= temp_r30->unk8C; - spC.z *= temp_r30->unk8C; - spC.y -= 0.32666668f; - if (var_f31 < 20.0) { - var_f31 = 0.32666668f; - spC.y *= temp_r30->unk90; - } - } - var_f30 += temp_r31->unkD4.x; - var_f31 += temp_r31->unkD4.y; - if (temp_r31->unk08 <= 2 || !(fabs(var_f30) >= 225.0 || var_f31 >= 200.0f)) { - temp_r31->unk64 = temp_r30->unk02; - break; - } - } - } - } - if (temp_r31->unk64 != -1 && (temp_r30 = fn_1_B13C(temp_r31->unk64)) != NULL) { - if (temp_r30->unk38.z > 60.000004f + arg0->trans.z) { - var_f26 = 60.000004f + arg0->trans.z; - var_r28 = (var_f26 - temp_r30->unk38.z) / temp_r30->unk50.z; - if (var_r28 > 300.0f) { - temp_r31->unk64 = -1; - return; - } - spC = temp_r30->unk50; - var_f30 = temp_r30->unk38.x; - var_f31 = temp_r30->unk38.y; - for (j = 0; j < var_r28; j++) { - var_f30 += spC.x; - var_f31 += spC.y; - spC.x *= temp_r30->unk8C; - spC.z *= temp_r30->unk8C; - spC.y -= 0.32666668f; - if (var_f31 < 20.0) { - var_f31 = 0.32666668f; - spC.y *= temp_r30->unk90; - } - } - var_r28 += temp_r31->unk90; - var_f30 += temp_r31->unkD4.x; - var_f31 += temp_r31->unkD4.y; - } - else { - var_r28 = 0; - var_f30 = temp_r30->unk38.x; - var_f31 = temp_r30->unk38.y; - } - if (arg0->trans.x - 25.0f > var_f30) { - temp_r31->unk12 = -64; - } - if (arg0->trans.x + 25.0f < var_f30) { - temp_r31->unk12 = 64; - } - temp_f27 = fabs(var_f30 - arg0->trans.x); - if (var_r28 < 10 && temp_f27 > 120.00001f) { - temp_r31->unk10 |= 0x100; - } - else if (var_r28 < 5 && temp_f27 < 25.0f && var_f31 > 100.0f) { - temp_r31->unk10 |= 0x100; - } - else if (var_r28 > 20 && temp_f27 < 50.0) { - temp_r31->unk10 /= 2; - } - if (++temp_r31->unk6C > lbl_1_data_6C8[temp_r31->unk08]) { - temp_r31->unk64 = -1; - } - } -} - -void fn_1_95C4(void) -{ - lbl_1_bss_A8 = omAddObjEx(lbl_1_bss_120, 0x50, 0, 0, -1, fn_1_9614); -} - -s32 lbl_1_data_738[] - = { DATA_MAKE_NUM(DATADIR_M423, 4), DATA_MAKE_NUM(DATADIR_M423, 5), DATA_MAKE_NUM(DATADIR_M423, 6), DATA_MAKE_NUM(DATADIR_M423, 7), - DATA_MAKE_NUM(DATADIR_M423, 8), DATA_MAKE_NUM(DATADIR_M423, 9), DATA_MAKE_NUM(DATADIR_M423, 10), DATA_MAKE_NUM(DATADIR_M423, 11) }; - -void fn_1_9614(omObjData *arg0) -{ - StructBssA8Data *var_r28; - StructBssA8Data *var_r31; - ModelData *var_r27; - s32 i; - - if (lbl_1_bss_EC[0] == -1) { - return; - } - var_r31 = var_r28 = arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 15 * sizeof(*var_r31), MEMORY_DEFAULT_NUM); - memset(var_r31, 0, 15 * sizeof(*var_r31)); - for (i = 0; i < 15; i++, var_r31++) { - var_r31->unk04 = i % 3; - var_r31->unk02 = i; - var_r31->unk06 = 0; - var_r31->unk0A = 0; - var_r31->unk08 = 0; - var_r31->unk0C = 0; - var_r31->unk0E = 0; - var_r31->unk10 = 0; - var_r31->unk12 = 0; - var_r31->unk14 = 0; - var_r31->unk18 = 0; - var_r31->unk1C = 0; - var_r31->unk38.x = var_r31->unk38.y = var_r31->unk38.z = 0.0f; - var_r31->unk44 = var_r31->unk48 = var_r31->unk4C = 0.0f; - var_r31->unk50.x = var_r31->unk50.y = var_r31->unk50.z = 0.0f; - var_r31->unk74 = var_r31->unk38; - var_r31->unk80 = var_r31->unk50; - var_r31->unk8C = 0.995f; - var_r31->unk90 = -0.5f; - var_r31->unk68.x = var_r31->unk68.y = var_r31->unk68.z = 0.0f; - if (i < 3) { - var_r31->unk00 = Hu3DModelCreateFile(lbl_1_data_738[lbl_1_bss_EC[var_r31->unk04]]); - } - else { - var_r31->unk00 = Hu3DModelLink(var_r28[var_r31->unk04].unk00); - } - Hu3DModelScaleSet(var_r31->unk00, 0.8f, 0.8f, 0.8f); - Hu3DModelAttrSet(var_r31->unk00, HU3D_ATTR_DISPOFF); - Hu3DModelCameraSet(var_r31->unk00, 5); - Hu3DModelShadowSet(var_r31->unk00); - var_r27 = &Hu3DData[var_r31->unk00]; - MTXIdentity(var_r27->unk_F0); - } - fn_1_B430(); - arg0->func = fn_1_98A0; -} - -void fn_1_98A0(omObjData *arg0) -{ - Mtx spC4; - Vec spB8; - Vec spAC; - Vec spA0; - Vec sp94; - Vec sp88; - float temp_f30; - float var_f25; - float var_f31; - float var_f22; - StructBssA8Data *var_r31; - StructBssA8Data *var_r30; - ModelData *temp_r27; - s32 i, j; - s32 var_r25; - s32 var_r23; - s32 var_r28; - - var_r31 = arg0->data; - for (i = 0; i < 15; i++, var_r31++) { - if (var_r31->unk06 == 0) { - continue; - } - temp_r27 = &Hu3DData[var_r31->unk00]; - var_r25 = 0; - switch (var_r31->unk0C) { - case 0: - break; - case 1: - temp_f30 = var_r31->unk14 / 60.0f; - var_r31->unk14++; - if (temp_f30 > 1.0f) { - var_f31 = 1.0f; - } - else { - var_f31 = temp_f30; - } - var_r31->unk38.x = var_r31->unk20.x + var_f31 * (var_r31->unk2C.x - var_r31->unk20.x); - var_r31->unk38.z = var_r31->unk20.z + var_f31 * (var_r31->unk2C.z - var_r31->unk20.z); - if (temp_f30 < 0.6f) { - var_f31 = temp_f30 / 0.6f; - var_f25 = 100.0f; - } - else if (temp_f30 < 1.0f) { - var_f31 = (temp_f30 - 0.6f) / 0.4f; - var_f25 = 50.0f; - } - else { - var_f31 = (temp_f30 - 1.0f) / 0.25f; - var_f25 = 10.0f; - } - var_r31->unk38.y = 20.0 + var_f25 * sind(180.0f * var_f31); - if (var_r31->unk14 >= 75.0f) { - var_r31->unk0C = 2; - var_r31->unk14 = 0; - var_r31->unk38.y = 20.0f; - var_r31->unk50.y = 0.0f; - } - if (var_r31->unk14 < 73.2f) { - spAC.x = var_r31->unk50.z; - spAC.z = -var_r31->unk50.x; - spAC.y = 0.0f; - var_f31 = 0.05 * VECMag(&spAC); - if (var_f31 > 0.00001f) { - MTXRotAxisRad(spC4, &spAC, var_f31); - MTXConcat(spC4, temp_r27->unk_F0, temp_r27->unk_F0); - } - } - Hu3DModelPosSet(var_r31->unk00, var_r31->unk38.x, var_r31->unk38.y, var_r31->unk38.z); - Hu3DModelRotSet(var_r31->unk00, var_r31->unk44, var_r31->unk48, var_r31->unk4C); - break; - case 2: - Hu3DModelPosSet(var_r31->unk00, var_r31->unk38.x, var_r31->unk38.y, var_r31->unk38.z); - Hu3DModelRotSet(var_r31->unk00, var_r31->unk44, var_r31->unk48, var_r31->unk4C); - break; - case 3: - var_r31->unk74 = var_r31->unk38; - var_r31->unk80 = var_r31->unk50; - var_r23 = 0; - if (var_r28 = fn_1_C498(&var_r31->unk38, &var_r31->unk50, &spB8, &sp88, 20.0f, 3)) { - if (var_r28 & 0x8000) { - var_r25 = 1; - } - if (var_r28 & 0x2000) { } - if ((var_r28 & 0x4000) && var_r31->unk12 == 0 && var_r31->unk08 == 0) { - var_f31 = VECMagXZ(&var_r31->unk50); - sp94.x = 0.0f; - sp94.y = 0.0f; - sp94.z = (1.0f / 127) * frand7() * 360.0f; - fn_1_E334(spB8, sp94, 0.5f); - HuAudFXPlay(0x620); - var_r31->unk12 = 1; - } - var_r31->unk38 = spB8; - var_r31->unk50 = sp88; - var_r31->unk8C = 0.975f; - var_r31->unk90 = -0.5f; - } - else { - if (fabs(var_r31->unk38.x) > 1000.0) { - Hu3DModelAttrSet(var_r31->unk00, HU3D_ATTR_DISPOFF); - var_r31->unk0C = 0; - var_r31->unk06 = 0; - var_r31->unk14 = 0; - } - else { - var_r31->unk38.x += var_r31->unk50.x; - var_r31->unk38.y += var_r31->unk50.y; - var_r31->unk38.z += var_r31->unk50.z; - } - } - if (var_r31->unk08 == 0) { - for (j = 0, var_r30 = arg0->data; j < 15; j++, var_r30++) { - if (i == j || var_r30->unk06 == 0 || var_r30->unk08 != 0 || var_r30->unk0C != 3) { - continue; - } - VECSubtract(&var_r31->unk38, &var_r30->unk38, &spAC); - var_f31 = VECMag(&spAC); - if (var_f31 < 40.0) { - spA0 = var_r31->unk38; - if (var_f31 != 0.0f) { - temp_f30 = 40.0 - var_f31; - VECNormalize(&spAC, &spAC); - VECScale(&spAC, &spAC, temp_f30); - VECAdd(&var_r31->unk38, &spAC, &var_r31->unk38); - } - else { - var_r31->unk38.x += 40.0; - } - temp_f30 = VECMag(&var_r31->unk50); - var_f22 = VECMag(&var_r30->unk50); - var_f31 = 0.5f * (temp_f30 + var_f22); - if (VECMag(&var_r31->unk50) == 0.0f) { - var_r31->unk50.x = 1.0f; - } - VECNormalize(&var_r31->unk50, &var_r31->unk50); - VECSubtract(&var_r31->unk38, &var_r30->unk38, &spAC); - if (VECMag(&spAC) == 0.0f) { - spAC.x = 1.0f; - } - VECNormalize(&spAC, &spAC); - VECAdd(&var_r31->unk50, &spAC, &var_r31->unk50); - if (VECMag(&var_r31->unk50) == 0.0f) { - var_r31->unk50.x = 1.0f; - } - VECNormalize(&var_r31->unk50, &var_r31->unk50); - VECScale(&var_r31->unk50, &var_r31->unk50, var_f31); - if (VECMag(&var_r30->unk50) == 0.0f) { - var_r30->unk50.x = -1.0f; - } - VECNormalize(&var_r30->unk50, &var_r30->unk50); - VECSubtract(&var_r30->unk38, &var_r31->unk38, &spAC); - if (VECMag(&spAC) == 0.0f) { - spAC.x = 1.0f; - } - VECNormalize(&spAC, &spAC); - VECAdd(&var_r30->unk50, &spAC, &var_r30->unk50); - if (VECMag(&var_r30->unk50) == 0.0f) { - var_r30->unk50.x = -1.0f; - } - VECNormalize(&var_r30->unk50, &var_r30->unk50); - VECScale(&var_r30->unk50, &var_r30->unk50, var_f31); - if (var_r28 = fn_1_C498(&spA0, &spAC, &spB8, &sp88, 20.0f, 1)) { - if (var_r28 & 0x8000) { - var_r25 = 1; - } - var_r31->unk38 = spB8; - var_r31->unk50 = sp88; - } - } - } - } - if (var_r31->unk38.y < 20.0) { - var_r31->unk38.y = 20.0f; - var_r31->unk50.y *= var_r31->unk90; - var_r23 = 1; - if (var_r31->unk38.x >= -225.0f && var_r31->unk38.x <= 225.0f && var_r31->unk38.z >= -1100.0f && var_r31->unk38.z <= -900.0f) { - var_r25 = 1; - } - if (fabs(var_r31->unk50.y) < 0.05f) { - var_r31->unk50.y = 0.0f; - } - } - if (var_r31->unk08 == 0) { - VECSubtract(&var_r31->unk38, &var_r31->unk74, &spAC); - if (fn_1_7B48(&var_r31->unk38, &var_r31->unk50, &sp88, 20.0f) != 0) { - var_r31->unk50 = sp88; - var_r31->unk08 = 1; - var_r31->unk8C = 0.975f; - var_r31->unk90 = -0.5f; - } - } - if (var_r31->unk50.z > 0.0f) { - var_r31->unk08 = 1; - } - var_r31->unk50.y -= 0.32666668f; - if (var_r23 == 0) { - var_r31->unk50.x *= var_r31->unk8C; - var_r31->unk50.z *= var_r31->unk8C; - } - else { - var_r31->unk50.x *= 0.995f * var_r31->unk8C; - var_r31->unk50.z *= 0.995f * var_r31->unk8C; - } - if (var_r25 != 0 && var_r31->unk0A == 0 && var_r31->unk08 == 0) { - fn_1_AEE8(i); - } - if (var_r31->unk08 != 0) { - var_r31->unk18++; - if (var_r31->unk18 & 1) { - Hu3DModelAttrReset(var_r31->unk00, HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(var_r31->unk00, HU3D_ATTR_DISPOFF); - } - if (var_r31->unk18 >= 120.0f) { - Hu3DModelAttrSet(var_r31->unk00, HU3D_ATTR_DISPOFF); - var_r31->unk0C = 0; - var_r31->unk06 = 0; - var_r31->unk14 = 0; - var_r31->unk18 = 0; - } - } - temp_f30 = VECMagXZ(&var_r31->unk50); - if (fabs(temp_f30) < 0.1f && var_r31->unk38.y <= 20.0 && var_r31->unk08 == 0) { - var_r31->unk0C = 4; - var_r31->unk14 = 0; - var_r31->unk18 = 0; - } - if (fabs(var_r31->unk38.x) > 2000.0 || fabs(var_r31->unk38.y) > 2000.0 || fabs(var_r31->unk38.z) > 2000.0) { - var_r31->unk0C = 4; - var_r31->unk14 = 0; - var_r31->unk18 = 120; - } - var_r31->unk14++; - spAC.x = var_r31->unk50.z; - spAC.z = -var_r31->unk50.x; - spAC.y = 0.0f; - var_f31 = 0.05 * VECMag(&spAC); - if (var_f31 > 0.00001f) { - MTXRotAxisRad(spC4, &spAC, var_f31); - MTXConcat(spC4, temp_r27->unk_F0, temp_r27->unk_F0); - } - Hu3DModelPosSet(var_r31->unk00, var_r31->unk38.x, var_r31->unk38.y, var_r31->unk38.z); - break; - case 4: - var_r31->unk18++; - if (var_r31->unk18 & 1) { - Hu3DModelAttrReset(var_r31->unk00, HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(var_r31->unk00, HU3D_ATTR_DISPOFF); - } - if (var_r31->unk18 >= 120.0f) { - Hu3DModelAttrSet(var_r31->unk00, HU3D_ATTR_DISPOFF); - var_r31->unk0C = 0; - var_r31->unk06 = 0; - var_r31->unk14 = 0; - var_r31->unk18 = 0; - } - break; - } - } -} - -void fn_1_A9A0(omObjData *arg0) -{ - arg0->func = NULL; -} - -void fn_1_A9AC(void) -{ - fn_1_A9A0(lbl_1_bss_A8); -} - -s32 fn_1_A9D4(s32 arg0, Vec arg1, Vec arg2) -{ - StructBssA8Data *var_r31; - ModelData *temp_r26; - s32 var_r27; - s32 i; - - if (lbl_1_bss_A8 == NULL) { - return -1; - } - var_r31 = lbl_1_bss_A8->data; - for (i = 0, var_r27 = -1; i < 3; i++) { - if (arg0 == lbl_1_bss_EC[i]) { - var_r27 = i; - } - } - if (var_r27 == -1) { - return -1; - } - for (i = 0; i < 15; i++, var_r31++) { - if (var_r31->unk04 == var_r27 && var_r31->unk06 == 0) { - break; - } - } - if (i >= 15) { - return -1; - } - temp_r26 = &Hu3DData[var_r31->unk00]; - var_r31->unk06 = 1; - var_r31->unk0A = 0; - var_r31->unk08 = 0; - var_r31->unk10 = 0; - var_r31->unk12 = 0; - var_r31->unk0C = 1; - var_r31->unk14 = 0; - var_r31->unk18 = 0; - var_r31->unk20 = arg1; - var_r31->unk2C = arg2; - var_r31->unk38 = arg1; - var_r31->unk44 = var_r31->unk48 = var_r31->unk4C = 0.0f; - var_r31->unk50.x = 0.016666668f * (arg2.x - arg1.x); - var_r31->unk50.z = 0.016666668f * (arg2.z - arg1.z); - var_r31->unk50.y = 5.0f; - Hu3DModelPosSet(var_r31->unk00, var_r31->unk38.x, var_r31->unk38.y, var_r31->unk38.z); - Hu3DModelRotSet(var_r31->unk00, var_r31->unk44, var_r31->unk48, var_r31->unk4C); - Hu3DModelAttrReset(var_r31->unk00, HU3D_ATTR_DISPOFF); - MTXIdentity(temp_r26->unk_F0); - return i; -} - -void fn_1_AC0C(s32 arg0, Vec arg1) -{ - StructBssA8Data *var_r31; - - if (lbl_1_bss_A8 != NULL) { - var_r31 = lbl_1_bss_A8->data; - if (arg0 < 0 || arg0 >= 15) { - return; - } - var_r31[arg0].unk38 = arg1; - } -} - -void fn_1_AC80(s32 arg0, Vec arg1) -{ - Vec sp14; - Vec sp8; - float var_f31; - StructBssA8Data *var_r28; - StructBssA8Data *temp_r31; - - if (lbl_1_bss_A8 == NULL) { - return; - } - var_r28 = lbl_1_bss_A8->data; - if (arg0 < 0 || arg0 >= 15) { - return; - } - temp_r31 = &var_r28[arg0]; - temp_r31->unk0C = 3; - temp_r31->unk14 = 0; - temp_r31->unk18 = 0; - temp_r31->unk50 = arg1; - temp_r31->unk74 = temp_r31->unk38; - temp_r31->unk8C = 0.995f; - temp_r31->unk90 = -0.5f; - if (temp_r31->unk50.z < 0.0f) { - sp14 = temp_r31->unk38; - var_f31 = -800.0f - sp14.z; - temp_r31->unk1C = fabs(var_f31 / temp_r31->unk50.z); - VECScale(&arg1, &sp8, temp_r31->unk1C); - VECAdd(&sp14, &sp8, &temp_r31->unk68); - } - else { - temp_r31->unk1C = 1000; - } -} - -s32 fn_1_AE64(s32 arg0) -{ - StructBssA8Data *temp_r31; - - if (lbl_1_bss_A8 == NULL) { - return -1; - } - temp_r31 = lbl_1_bss_A8->data; - if (arg0 < 0 || arg0 >= 15) { - return -1; - } - if (temp_r31[arg0].unk06 == 0) { - return -1; - } - return temp_r31[arg0].unk0C; -} - -void fn_1_AEE8(s32 arg0) -{ - StructBssA8Data *var_r26; - StructBssA8Data *temp_r31; - - if (lbl_1_bss_A8 == NULL) { - return; - } - var_r26 = lbl_1_bss_A8->data; - if (arg0 < 0 || arg0 >= 15) { - return; - } - temp_r31 = &var_r26[arg0]; - temp_r31->unk0A = 1; - temp_r31->unk08 = 1; - temp_r31->unk14 = 0; - fn_1_F574(temp_r31->unk38, 0.75f, lbl_1_bss_EC[temp_r31->unk04]); - HuAudFXPlay(9); - fn_1_3A8C(); - lbl_1_bss_DC[temp_r31->unk04]++; - lbl_1_bss_104--; -} - -StructBssA8Data *fn_1_B13C(s32 arg0) -{ - StructBssA8Data *temp_r31; - StructBssA8Data *sp8; - - if (lbl_1_bss_A8 == NULL) { - return NULL; - } - temp_r31 = lbl_1_bss_A8->data; - sp8 = temp_r31; - if (arg0 < 0 || arg0 >= 15) { - return NULL; - } - return &temp_r31[arg0]; -} - -GXColor lbl_1_data_758 = { 0xFF, 0xFF, 0xFF, 0xFF }; - -void fn_1_B1A4(void) -{ - Vec sp2C; - StructBssA8Data *sp10; - StructBssA8Data *var_r31; - s32 spC; - s32 i; - - if (lbl_1_bss_A8 == NULL) { - return; - } - var_r31 = sp10 = lbl_1_bss_A8->data; - for (i = 0, spC = 0; i < 15; i++, var_r31++) { - if (var_r31->unk06 == 0) { - continue; - } - sp2C.x = sp2C.y = sp2C.z = 0.0f; - fn_1_DC24(var_r31->unk38, sp2C, 100.0f, 0.0f, 1.0f, lbl_1_data_758); - Hu3DModelAttrSet(var_r31->unk00, HU3D_ATTR_DISPOFF); - var_r31->unk0C = 0; - var_r31->unk06 = 0; - var_r31->unk14 = 0; - var_r31->unk18 = 0; - } -} - -s32 fn_1_B304(StructBssA8Data **arg0) -{ - s32 var_r29; - s32 i; - StructBssA8Data *var_r30; - StructBssA8Data *var_r28; - StructBssA8Data *var_r27; - - if (lbl_1_bss_A8 == NULL) { - return; - } - var_r30 = lbl_1_bss_A8->data; - var_r28 = var_r30; - for (i = 0, var_r29 = 0; i < 15; i++, var_r30++) { - if (var_r30->unk06 == 0 || var_r30->unk0C != 3 || var_r30->unk08 != 0 || var_r30->unk38.z <= -900.0f) { - continue; - } - arg0[var_r29] = var_r30; - var_r29++; - } - var_r28 = var_r30; - for (i = 0; i < var_r29 - 1; i++) { - if (arg0[i]->unk38.z > arg0[i + 1]->unk38.z) { - var_r27 = arg0[i]; - arg0[i] = arg0[i + 1]; - arg0[i + 1] = var_r27; - } - } - return var_r29; -} - -void fn_1_B430(void) -{ - Vec sp2C[8]; - Vec sp20; - Vec sp14; - Vec sp8; - StructBss94Data *var_r31; - s32 i; - - var_r31 = lbl_1_bss_94 = HuMemDirectMallocNum(HEAP_SYSTEM, 16 * sizeof(*lbl_1_bss_94), MEMORY_DEFAULT_NUM); - memset(var_r31, 0, 16 * sizeof(*var_r31)); - for (i = 0; i < 16; i++, var_r31++) { - var_r31->unk02 = 0; - } - sp20.x = sp20.y = 0.0f; - sp20.z = -1400.0f; - fn_1_BCD8(&sp20, NULL, NULL, 0.8f, 0, 0x2003); - sp2C[0].x = 1000.0f; - sp2C[0].y = 1000.0f; - sp2C[0].z = -200.0f; - sp2C[1].x = -1000.0f; - sp2C[1].y = 1000.0f; - sp2C[1].z = -200.0f; - sp2C[2].x = -1000.0f; - sp2C[2].y = 0.0f; - sp2C[2].z = -200.0f; - sp2C[3].x = 1000.0f; - sp2C[3].y = 0.0f; - sp2C[3].z = -200.0f; - fn_1_BCD8(sp2C, NULL, NULL, 1.0f, 0, 6); - sp20.x = -650.0f; - sp20.y = 75.0f; - sp20.z = -1300.0f; - sp14.x = 370.0f; - sp14.y = 1095.0f; - sp14.z = 120.0f; - fn_1_BCD8(&sp20, &sp14, NULL, 0.8f, 25, 0x2004); - sp20.x = 650.0f; - sp20.y = 75.0f; - sp20.z = -1300.0f; - sp14.x = 370.0f; - sp14.y = 1095.0f; - sp14.z = 120.0f; - fn_1_BCD8(&sp20, &sp14, NULL, 0.8f, 21, 0x2004); - sp20.x = 0.0f; - sp20.y = 100.0f; - sp20.z = -1070.0f; - sp14.x = 245.0f; - sp14.y = 130.0f; - sp14.z = 170.0f; - fn_1_BCD8(&sp20, &sp14, NULL, 1.0f, 45, 4); - sp20.x = -235.0f; - sp20.y = 0.0f; - sp20.z = -900.0f; - sp14.x = -235.0f; - sp14.y = 200.0f; - sp14.z = -900.0f; - sp8.x = 30.000002f; - sp8.y = sp8.z = 0.0f; - fn_1_BCD8(&sp20, &sp14, &sp8, 0.5f, 0, 0x4007); - sp20.x = 235.0f; - sp20.y = 0.0f; - sp20.z = -900.0f; - sp14.x = 235.0f; - sp14.y = 200.0f; - sp14.z = -900.0f; - sp8.x = 30.000002f; - sp8.y = sp8.z = 0.0f; - fn_1_BCD8(&sp20, &sp14, &sp8, 0.5f, 0, 0x4007); - sp20.x = 0.0f; - sp20.y = 200.0f; - sp20.z = -900.0f; - sp14.x = 245.0f; - sp14.y = 30.0f; - sp14.z = 30.0f; - fn_1_BCD8(&sp20, &sp14, NULL, 0.5f, 29, 0x4004); - sp2C[0].x = -225.0f; - sp2C[0].y = 200.0f; - sp2C[0].z = -900.0f; - sp2C[1].x = -225.0f; - sp2C[1].y = 200.0f; - sp2C[1].z = -1150.0f; - sp2C[2].x = -225.0f; - sp2C[2].y = 0.0f; - sp2C[2].z = -1150.0f; - sp2C[3].x = -225.0f; - sp2C[3].y = 0.0f; - sp2C[3].z = -900.0f; - fn_1_BCD8(sp2C, NULL, NULL, 0.5f, 0, 0x8006); - sp2C[0].x = 225.0f; - sp2C[0].y = 200.0f; - sp2C[0].z = -1150.0f; - sp2C[1].x = 225.0f; - sp2C[1].y = 200.0f; - sp2C[1].z = -900.0f; - sp2C[2].x = 225.0f; - sp2C[2].y = 0.0f; - sp2C[2].z = -900.0f; - sp2C[3].x = 225.0f; - sp2C[3].y = 0.0f; - sp2C[3].z = -1150.0f; - fn_1_BCD8(sp2C, NULL, NULL, 0.5f, 0, 0x8006); - sp2C[0].x = -225.0f; - sp2C[0].y = 200.0f; - sp2C[0].z = -1150.0f; - sp2C[1].x = 225.0f; - sp2C[1].y = 200.0f; - sp2C[1].z = -1150.0f; - sp2C[2].x = 225.0f; - sp2C[2].y = 0.0f; - sp2C[2].z = -1150.0f; - sp2C[3].x = -225.0f; - sp2C[3].y = 0.0f; - sp2C[3].z = -1150.0f; - fn_1_BCD8(sp2C, NULL, NULL, 0.1f, 0, 0x8006); - sp2C[0].x = -225.0f; - sp2C[0].y = 200.0f; - sp2C[0].z = -900.0f; - sp2C[1].x = 225.0f; - sp2C[1].y = 200.0f; - sp2C[1].z = -900.0f; - sp2C[2].x = 225.0f; - sp2C[2].y = 200.0f; - sp2C[2].z = -1150.0f; - sp2C[3].x = -225.0f; - sp2C[3].y = 200.0f; - sp2C[3].z = -1150.0f; - fn_1_BCD8(sp2C, NULL, NULL, 0.1f, 0, 0x8006); -} - -s16 lbl_1_data_75C[][3] = { { 0, 1, 2 }, { 1, 3, 2 }, { 6, 5, 4 }, { 5, 6, 7 }, { 0, 2, 4 }, { 2, 6, 4 }, { 3, 1, 7 }, { 7, 1, 5 }, { 2, 3, 6 }, - { 3, 7, 6 }, { 1, 0, 4 }, { 1, 4, 5 } }; - -void fn_1_BCD8(Vec *arg0, Vec *arg1, Vec *arg2, float arg3, s32 arg4, s32 arg5) -{ - Vec sp24[8]; - Vec sp18; - float var_f29; - StructBss94Data *var_r30; - s32 i; - s32 j; - - var_r30 = lbl_1_bss_94; - for (i = 0; i < 16; i++, var_r30++) { - if (var_r30->unk02 == 0) { - break; - } - } - if (i >= 16) { - return; - } - var_r30->unk00 = i; - var_r30->unk02 = arg5; - var_r30->unk3C = arg3; - switch (var_r30->unk02 & 0xFFF) { - case 1: - var_r30->unk34 = arg0[0].x; - break; - case 2: - var_r30->unk34 = arg0[0].y; - break; - case 3: - var_r30->unk34 = arg0[0].z; - break; - case 4: - var_r30->unk04 = arg0[0]; - var_r30->unk10 = *arg1; - sp24[0].x = arg0[0].x - arg1->x; - sp24[0].y = arg0[0].y + arg1->y; - sp24[0].z = arg0[0].z - arg1->z; - sp24[1].x = arg0[0].x + arg1->x; - sp24[1].y = arg0[0].y + arg1->y; - sp24[1].z = arg0[0].z - arg1->z; - sp24[2].x = arg0[0].x - arg1->x; - sp24[2].y = arg0[0].y + arg1->y; - sp24[2].z = arg0[0].z + arg1->z; - sp24[3].x = arg0[0].x + arg1->x; - sp24[3].y = arg0[0].y + arg1->y; - sp24[3].z = arg0[0].z + arg1->z; - sp24[4].x = arg0[0].x - arg1->x; - sp24[4].y = arg0[0].y - arg1->y; - sp24[4].z = arg0[0].z - arg1->z; - sp24[5].x = arg0[0].x + arg1->x; - sp24[5].y = arg0[0].y - arg1->y; - sp24[5].z = arg0[0].z - arg1->z; - sp24[6].x = arg0[0].x - arg1->x; - sp24[6].y = arg0[0].y - arg1->y; - sp24[6].z = arg0[0].z + arg1->z; - sp24[7].x = arg0[0].x + arg1->x; - sp24[7].y = arg0[0].y - arg1->y; - sp24[7].z = arg0[0].z + arg1->z; - for (j = 0; j < 12; j++) { - fn_1_129F0(&sp24[lbl_1_data_75C[j][0]], &sp24[lbl_1_data_75C[j][1]], &sp24[lbl_1_data_75C[j][2]], var_r30->unk44[j]); - var_r30->unk104[j][0] = sp24[lbl_1_data_75C[j][0]]; - var_r30->unk104[j][1] = sp24[lbl_1_data_75C[j][1]]; - var_r30->unk104[j][2] = sp24[lbl_1_data_75C[j][2]]; - } - var_r30->unk40 = arg4; - break; - case 5: - var_r30->unk104[0][0] = arg0[0]; - var_r30->unk104[1][0] = arg0[1]; - var_r30->unk104[2][0] = arg0[2]; - var_r30->unk104[3][0] = arg0[3]; - fn_1_129F0(&arg0[0], &arg0[1], &arg0[3], var_r30->unk44[0]); - fn_1_129F0(&arg0[1], &arg0[2], &arg0[3], var_r30->unk44[1]); - break; - case 6: - var_r30->unk104[0][0] = arg0[0]; - var_r30->unk104[1][0] = arg0[1]; - var_r30->unk104[2][0] = arg0[2]; - var_r30->unk104[3][0] = arg0[3]; - fn_1_129F0(&arg0[0], &arg0[1], &arg0[3], var_r30->unk44[0]); - fn_1_129F0(&arg0[1], &arg0[2], &arg0[3], var_r30->unk44[1]); - if (var_r30->unk44[0][1] < -0.5f) { - var_r30->unk40 = 0; - } - if (var_r30->unk44[0][1] > 0.5f) { - var_r30->unk40 = 1; - } - if (var_r30->unk44[0][0] > 0.5f) { - var_r30->unk40 = 2; - } - if (var_r30->unk44[0][0] < -0.5f) { - var_r30->unk40 = 3; - } - if (var_r30->unk44[0][2] < -0.5f) { - var_r30->unk40 = 4; - } - if (var_r30->unk44[0][2] > 0.5f) { - var_r30->unk40 = 5; - } - break; - case 7: - var_r30->unk04 = arg0[0]; - var_r30->unk10 = *arg1; - var_r30->unk34 = arg2->x; - sp18.x = arg1->x - arg0[0].x; - sp18.y = arg1->y - arg0[0].y; - sp18.z = arg1->z - arg0[0].z; - var_f29 = VECMagXZ(&sp18); - var_r30->unk28 = -atan2d(sp18.y, var_f29); - var_r30->unk2C = atan2d(sp18.x, sp18.z); - var_r30->unk30 = 0.0f; - break; - } -} - -s32 lbl_1_data_7C4[] = { 1, 1, 0, 0, 2, 2 }; - -s32 fn_1_C498(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, float arg4, s32 arg5) -{ - StructBss94Data *var_r31; - Vec sp140[6]; - Vec sp134; - Vec sp128; - Vec sp11C; - Vec sp110; - Vec sp104; - Vec spF8; - Vec spEC; - Vec spE0; - Vec spD4; - Vec spC8; - float var_f30; - float var_f19; - float sp34; - float sp30; - float sp2C; - s32 var_r26; - s32 var_r24; - s32 var_r23; - s32 i; - s32 j; - - var_r31 = lbl_1_bss_94; - var_r26 = -1; - sp134.x = arg0->x + arg1->x; - sp134.y = arg0->y + arg1->y; - sp134.z = arg0->z + arg1->z; - for (i = 0; i < 16; i++, var_r31++) { - if (var_r31->unk02 == 0) { - continue; - } - switch (var_r31->unk02 & 0xFFF) { - case 1: - if (arg1->x < 0.0f) { - if (arg0->x > var_r31->unk34 + arg4 && sp134.x <= var_r31->unk34 + arg4 + 1.0f) { - sp134.x = var_r31->unk34 + arg4; - *arg2 = sp134; - var_r26 = 0; - } - } - else { - if (arg0->x < var_r31->unk34 - arg4 && sp134.x >= var_r31->unk34 - arg4 - 1.0f) { - sp134.x = var_r31->unk34 - arg4; - *arg2 = sp134; - var_r26 = 0; - } - } - break; - case 2: - if (arg1->y < 0.0f) { - if (arg0->y > var_r31->unk34 + arg4 && sp134.y <= var_r31->unk34 + arg4 + 1.0f) { - sp134.y = var_r31->unk34 + arg4; - *arg2 = sp134; - var_r26 = 1; - } - } - else { - if (arg0->y < var_r31->unk34 - arg4 && sp134.y >= var_r31->unk34 - arg4 - 1.0f) { - sp134.y = var_r31->unk34 - arg4; - *arg2 = sp134; - var_r26 = 1; - } - } - break; - case 3: - if (arg1->z < 0.0f) { - if (arg0->z > var_r31->unk34 + arg4 && sp134.z <= var_r31->unk34 + arg4 + 1.0f) { - sp134.z = var_r31->unk34 + arg4; - *arg2 = sp134; - var_r26 = 2; - } - } - else { - if (arg0->z < var_r31->unk34 - arg4 && sp134.z >= var_r31->unk34 - arg4 - 1.0f) { - sp134.z = var_r31->unk34 - arg4; - *arg2 = sp134; - var_r26 = 2; - } - } - break; - case 4: - arg4 = 0.0f; - VECSubtract(&sp134, &var_r31->unk04, &sp128); - if (fabs(sp128.x) < var_r31->unk10.x + arg4 && fabs(sp128.y) < var_r31->unk10.y + arg4 && fabs(sp128.z) < var_r31->unk10.z + arg4) { - for (j = 0; j < 6; j++) { - if (var_r31->unk40 & (1 << j)) { - var_r24 = fn_1_12C6C(arg0, &sp134, var_r31->unk44[j * 2]); - if (var_r24 != 0) { - break; - } - } - } - switch (j) { - case 0: - sp134.y = var_r31->unk04.y + var_r31->unk10.y + arg4 + 1.0f; - break; - case 1: - sp134.y = var_r31->unk04.y - var_r31->unk10.y - arg4 - 1.0f; - break; - case 2: - sp134.x = var_r31->unk04.x - var_r31->unk10.x - arg4 - 1.0f; - break; - case 3: - sp134.x = var_r31->unk04.x + var_r31->unk10.x + arg4 + 1.0f; - break; - case 4: - sp134.z = var_r31->unk04.z + var_r31->unk10.z + arg4 + 1.0f; - break; - case 5: - sp134.z = var_r31->unk04.z - var_r31->unk10.z - arg4 - 1.0f; - break; - } - if (j < 6) { - *arg2 = sp134; - var_r26 = lbl_1_data_7C4[j]; - } - } - break; - case 5: - if (fn_1_12C6C(arg0, &sp134, var_r31->unk44[0]) != 1) { - break; - } - fn_1_1334C(var_r31->unk44[0], arg0, arg1, var_r31->unk104[0], &sp104); - sp110.x = fabs(var_r31->unk44[0][0]); - sp110.y = fabs(var_r31->unk44[0][1]); - sp110.z = fabs(var_r31->unk44[0][2]); - if (sp110.x > sp110.y && sp110.x > sp110.z) { - var_r24 = 0; - } - else if (sp110.y > sp110.x && sp110.y > sp110.z) { - var_r24 = 1; - } - else { - var_r24 = 2; - } - sp140[0] = var_r31->unk104[0][0]; - sp140[1] = var_r31->unk104[1][0]; - sp140[2] = var_r31->unk104[3][0]; - sp140[3] = var_r31->unk104[1][0]; - sp140[4] = var_r31->unk104[2][0]; - sp140[5] = var_r31->unk104[3][0]; - sp34 = fn_1_12E68(&sp140[0], &sp104, var_r24); - sp30 = fn_1_12E68(&sp140[3], &sp104, var_r24); - if (sp34 != 0.0f || sp30 != 0.0f) { - arg2->x = sp104.x + var_r31->unk44[0][0] * (arg4 + 1.0f); - arg2->y = sp104.y + var_r31->unk44[0][1] * (arg4 + 1.0f); - arg2->z = sp104.z + var_r31->unk44[0][2] * (arg4 + 1.0f); - var_r26 = var_r24; - } - break; - case 6: - sp140[0] = var_r31->unk104[0][0]; - sp140[1] = var_r31->unk104[1][0]; - sp140[2] = var_r31->unk104[2][0]; - sp140[3] = var_r31->unk104[3][0]; - if (fn_1_137C4(&sp140[0], arg0, arg1, &sp104, arg4, var_r31->unk40) != 0) { - *arg2 = sp104; - var_r26 = lbl_1_data_7C4[var_r31->unk40]; - } - break; - case 7: - spEC.x = arg0->x; - spEC.y = arg0->z; - spEC.z = 0.0f; - spE0.x = sp134.x; - spE0.y = sp134.z; - spE0.z = 0.0f; - spD4.x = var_r31->unk04.x; - spD4.y = var_r31->unk04.z; - spD4.z = 0.0f; - var_f30 = fn_1_1367C(&spEC, &spE0, &spD4, &spC8, &sp2C); - if (sp2C >= 0.0f && sp2C <= 1.0f && var_f30 < var_r31->unk34 + arg4) { - var_f19 = arg0->y + arg1->y * sp2C; - if (var_f19 >= var_r31->unk04.y && var_f19 <= var_r31->unk10.y) { - spC8.z = spC8.y; - spC8.y = 0.0f; - VECSubtract(&spC8, &var_r31->unk04, &sp128); - sp128.y = 0.0f; - if (VECMag(&sp128) == 0.0f) { - sp128.z = 1.0f; - } - else { - VECNormalize(&sp128, &sp128); - } - VECScale(&sp128, &sp128, var_r31->unk34 + arg4 + 1.0f); - arg2->x = sp128.x + var_r31->unk04.x; - arg2->z = sp128.z + var_r31->unk04.z; - arg2->y = var_f19; - sp2C = var_f30; - var_r26 = 99; - } - } - else { - sp2C = var_f30; - VECSubtract(&sp134, &var_r31->unk04, &sp128); - var_f30 = VECMagXZ(&sp128); - if (var_f30 < var_r31->unk34 + arg4 && sp134.y >= var_r31->unk04.y && sp134.y <= var_r31->unk10.y) { - VECSubtract(&sp134, &var_r31->unk04, &sp128); - sp128.y = 0.0f; - if (VECMag(&sp128) == 0.0f) { - sp128.z = 1.0f; - } - else { - VECNormalize(&sp128, &sp128); - } - VECScale(&sp128, &sp128, var_r31->unk34 + arg4 + 1.0f); - arg2->x = var_r31->unk04.x + sp128.x; - arg2->z = var_r31->unk04.z + sp128.z; - arg2->y = sp134.y; - var_r26 = 99; - } - } - if (var_r26 == -1) { - break; - } - sp128.x = spC8.x - var_r31->unk04.x; - sp128.z = spC8.y - var_r31->unk04.z; - var_f30 = VECMagXZ(&sp128); - if (var_f30 == 0.0f) { - var_f30 = 1.0f; - sp128.x = 0.0f; - sp128.z = 1.0f; - } - else { - var_f30 = 1.0f / var_f30; - } - spC8.x = sp128.x * var_f30; - spC8.z = sp128.z * var_f30; - var_f30 = VECMagXZ(arg1); - if (var_f30 != 0.0f) { - var_f30 = 1.0f / var_f30; - } - spD4.x = -(arg1->x * var_f30); - spD4.z = -(arg1->z * var_f30); - sp2C = var_f30 / (var_r31->unk34 + arg4); - sp128.x = spD4.x + sp2C * (spC8.x - spD4.x); - sp128.z = spD4.z + sp2C * (spC8.z - spD4.z); - var_f30 = VECMagXZ(&sp128); - if (var_f30 == 0.0f) { - var_f30 = 1.0f; - sp128.x = 0.0f; - sp128.z = 1.0f; - } - else { - var_f30 = 1.0f / var_f30; - } - sp128.x = sp128.x * var_f30 - spD4.x; - sp128.z = sp128.z * var_f30 - spD4.z; - sp128.y = 0.0f; - if (VECMag(&sp128) == 0.0f) { - sp128.z = 1.0f; - } - else { - VECNormalize(&sp128, &sp128); - } - var_f30 = VECMagXZ(arg1); - arg3->x = sp128.x * var_f30 * var_r31->unk3C; - arg3->z = sp128.z * var_f30 * var_r31->unk3C; - arg3->y = arg1->y; - break; - } - if (var_r26 != -1) { - break; - } - } - if (i < 16) { - switch (var_r26) { - case 0: - arg3->x = -arg1->x * var_r31->unk3C; - arg3->y = arg1->y; - arg3->z = arg1->z * var_r31->unk3C; - var_r23 = var_r31->unk02; - break; - case 1: - arg3->x = arg1->x * var_r31->unk3C; - arg3->y = arg1->y * -0.5f; - arg3->z = arg1->z * var_r31->unk3C; - var_r23 = var_r31->unk02; - break; - case 2: - arg3->x = arg1->x * var_r31->unk3C; - arg3->y = arg1->y; - arg3->z = -arg1->z * var_r31->unk3C; - var_r23 = var_r31->unk02; - break; - default: - var_r23 = var_r31->unk02; - break; - } - arg5--; - if (arg5 > 0) { - sp11C = *arg0; - sp110.x = arg2->x - arg0->x; - sp110.y = arg2->y - arg0->y; - sp110.z = arg2->z - arg0->z; - var_r26 = fn_1_C498(&sp11C, &sp110, &sp104, &spF8, arg4, arg5); - if (var_r26 != 0) { - *arg2 = sp104; - *arg3 = spF8; - if (var_r23 & 0x4000) { - var_r26 |= 0x4000; - } - if (var_r23 & 0x8000) { - var_r26 |= 0x8000; - } - var_r23 = var_r26; - } - } - return var_r23; - } - return 0; -} - -void fn_1_D930(void) -{ - omObjData *var_r30; - StructBssA4Data *var_r31; - AnimData *var_r27; - StructM423_05 *var_r29; - ModelData *var_r28; - s32 sp8; - - var_r30 = lbl_1_bss_A4 = omAddObjEx(lbl_1_bss_120, 0xBF, 0, 0, -1, fn_1_DA38); - var_r31 = var_r30->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(*var_r31), MEMORY_DEFAULT_NUM); - memset(var_r31, 0, sizeof(*var_r31)); - var_r31->unk08 = var_r27 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M423, 22), MEMORY_DEFAULT_NUM)); - var_r31->unk00 = sp8 = fn_1_11114(var_r27, 0x100); - Hu3DModelCameraSet(var_r31->unk00, 4); - Hu3DModelLayerSet(var_r31->unk00, 1); - var_r31->unk04 = 0; - var_r28 = &Hu3DData[var_r31->unk00]; - var_r29 = var_r28->unk_120; - var_r29->unk20 = 0; -} - -void fn_1_DA38(omObjData *arg0) -{ - StructBssA4Data *temp_r30; - ModelData *var_r27; - StructM423_05 *temp_r29; - StructM423_04 *var_r31; - s32 i; - - temp_r30 = arg0->data; - if (temp_r30->unk04 <= 0) { - Hu3DModelAttrSet(temp_r30->unk00, HU3D_ATTR_DISPOFF); - return; - } - Hu3DModelAttrReset(temp_r30->unk00, HU3D_ATTR_DISPOFF); - var_r27 = &Hu3DData[temp_r30->unk00]; - temp_r29 = var_r27->unk_120; - var_r31 = temp_r29->unk3C; - temp_r29->unk23 = 0; - for (i = 0; i < temp_r29->unk26; i++, var_r31++) { - if (var_r31->unk30 <= 0.0f) { - continue; - } - var_r31->unk38.x += var_r31->unk04.x; - var_r31->unk38.y += var_r31->unk04.y; - var_r31->unk38.z += var_r31->unk04.z; - var_r31->unk34 += var_r31->unk18; - if (var_r31->unk34 >= 360.0f) { - var_r31->unk34 -= 360.0f; - } - var_r31->unk48 = var_r31->unk28; - var_r31->unk28 += var_r31->unk2C; - if (var_r31->unk48 >= 16) { - var_r31->unk48 = 0; - var_r31->unk00 = 0; - var_r31->unk30 = 0.0f; - temp_r30->unk04--; - } - } -} - -void fn_1_DBC8(void) -{ - omObjData *temp_r31; - StructBssA4Data *temp_r30; - - temp_r31 = lbl_1_bss_A4; - temp_r30 = temp_r31->data; - Hu3DModelAttrSet(temp_r30->unk00, HU3D_ATTR_DISPOFF); - HuSprAnimKill(temp_r30->unk08); - temp_r31->func = NULL; -} - -inline s32 fn_1_DC24(Vec arg0, Vec arg1, float arg2, float arg3, float arg4, GXColor arg5) -{ - omObjData *var_r27; - StructBssA4Data *temp_r28; - ModelData *var_r26; - StructM423_05 *temp_r30; - StructM423_04 *var_r31; - s32 i; - - var_r27 = lbl_1_bss_A4; - temp_r28 = var_r27->data; - var_r26 = &Hu3DData[temp_r28->unk00]; - temp_r30 = var_r26->unk_120; - var_r31 = temp_r30->unk3C; - for (i = 0; i < temp_r30->unk26; i++, var_r31++) { - if (var_r31->unk30 <= 0.0f) { - break; - } - } - if (i >= temp_r30->unk26) { - return -1; - } - var_r31->unk00 = var_r31->unk02 = 0; - var_r31->unk38.x = arg0.x; - var_r31->unk38.y = arg0.y; - var_r31->unk38.z = arg0.z; - var_r31->unk04.x = arg1.x; - var_r31->unk04.y = arg1.y; - var_r31->unk04.z = arg1.z; - var_r31->unk18 = arg3; - var_r31->unk30 = arg2; - var_r31->unk44.r = arg5.r; - var_r31->unk44.g = arg5.g; - var_r31->unk44.b = arg5.b; - var_r31->unk44.a = arg5.a; - var_r31->unk34 = 0.0f; - var_r31->unk48 = 0; - var_r31->unk00 = 0; - var_r31->unk28 = 0.0f; - var_r31->unk2C = arg4; - temp_r28->unk04++; - return i; -} - -s32 fn_1_DD70(Vec arg0, Vec arg1, float arg2, float arg3, float arg4, float arg5, GXColor arg6) -{ - Vec sp60; - Vec sp54; - float temp_f31; - s32 sp20; - s32 sp1C; - - sp54.x = arg1.z; - sp54.z = arg1.x; - sp54.y = 0.0f; - VECNormalize(&sp54, &sp54); - temp_f31 = 0.5f * arg4; - sp60.x = arg0.x + sp54.x * temp_f31; - sp60.y = arg0.y + sp54.y * temp_f31; - sp60.z = arg0.z + sp54.z * temp_f31; - sp20 = fn_1_DC24(sp60, arg1, arg2, arg3, arg5, arg6); - sp60.x = arg0.x - sp54.x * temp_f31; - sp60.y = arg0.y - sp54.y * temp_f31; - sp60.z = arg0.z - sp54.z * temp_f31; - sp1C = fn_1_DC24(sp60, arg1, arg2, -arg3, arg5, arg6); - return (sp20 << 16) | sp1C; -} - -void fn_1_E1BC(void) -{ - omObjData *var_r31; - s32 var_r29; - s32 i; - - var_r31 = lbl_1_bss_A0 = omAddObjEx(lbl_1_bss_120, 0xBF, 16, 0, -1, fn_1_E290); - for (i = 0; i < var_r31->mdlcnt; i++) { - var_r29 = var_r31->model[i] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M423, 3)); - Hu3DModelAttrSet(var_r29, HU3D_ATTR_DISPOFF); - Hu3DModelCameraSet(var_r29, 4); - } - var_r31->stat |= 0x100; -} - -void fn_1_E290(omObjData *arg0) -{ - ModelData *var_r28; - s32 temp_r30; - s32 i; - - for (i = 0; i < arg0->mdlcnt; i++) { - temp_r30 = arg0->model[i]; - var_r28 = &Hu3DData[temp_r30]; - if (!(var_r28->attr & 1) && Hu3DMotionEndCheck(temp_r30)) { - Hu3DModelAttrSet(temp_r30, HU3D_ATTR_DISPOFF); - } - } -} - -void fn_1_E330(void) { } - -s32 fn_1_E334(Vec arg0, Vec arg1, float arg2) -{ - omObjData *var_r31; - ModelData *var_r26; - s32 temp_r29; - s32 i; - - var_r31 = lbl_1_bss_A0; - for (i = 0; i < var_r31->mdlcnt; i++) { - var_r26 = &Hu3DData[var_r31->model[i]]; - if (var_r26->attr & 1) { - break; - } - } - if (i >= var_r31->mdlcnt) { - return -1; - } - temp_r29 = var_r31->model[i]; - Hu3DModelPosSet(temp_r29, arg0.x, arg0.y, arg0.z); - Hu3DModelRotSet(temp_r29, arg1.x, arg1.y, arg1.z); - Hu3DModelScaleSet(temp_r29, arg2, arg2, arg2); - Hu3DMotionTimeSet(temp_r29, 0.0f); - Hu3DMotionSpeedSet(temp_r29, 2.0f); - Hu3DModelAttrReset(temp_r29, HU3D_ATTR_DISPOFF); - return i; -} - -void fn_1_E460(void) -{ - omObjData *temp_r3; - - temp_r3 = lbl_1_bss_9C = omAddObjEx(lbl_1_bss_120, 0xBF, 1, 0, -1, fn_1_E4EC); - temp_r3->model[0] = fn_1_E678(); - Hu3DModelCameraSet(temp_r3->model[0], 4); - Hu3DModelLayerSet(temp_r3->model[0], 2); -} - -void fn_1_E4EC(omObjData *arg0) -{ - ModelData *var_r29; - StructM423_0B *var_r28; - StructM423_0A *var_r31; - s32 i; - - var_r29 = &Hu3DData[arg0->model[0]]; - var_r28 = var_r29->unk_120; - var_r31 = var_r28->unk00; - for (i = 0; i < 16; i++, var_r31++) { - if (var_r31->unk00 == 0) { - continue; - } - var_r31->unk00++; - if (var_r31->unk00 < 12.0f) { - var_r31->unk04 += 0.058333337f; - } - else { - var_r31->unk04 += 0.025000002f; - var_r31->unk10 -= 0.050000004f; - } - if (var_r31->unk10 < 0.0f) { - var_r31->unk00 = 0; - } - } -} - -void fn_1_E60C(void) -{ - omObjData *temp_r31; - ModelData *var_r30; - StructM423_0B *var_r29; - - temp_r31 = lbl_1_bss_9C; - var_r30 = &Hu3DData[temp_r31->model[0]]; - var_r29 = var_r30->unk_120; - HuSprAnimKill(var_r29->unk200); - temp_r31->func = NULL; -} - -s32 fn_1_E678(void) -{ - float sp88[32][2]; - float sp8[32]; - float temp_f28; - float temp_f30; - float temp_f29; - float var_f31; - ModelData *temp_r27; - StructM423_0B *var_r30; - StructM423_09 *var_r29; - StructM423_08 *var_r28; - s32 var_r26; - s32 i; - - var_r26 = Hu3DHookFuncCreate(fn_1_EF44); - temp_r27 = &Hu3DData[var_r26]; - var_r30 = temp_r27->unk_120 = HuMemDirectMallocNum(HEAP_DATA, sizeof(*var_r30), temp_r27->unk_48); - memset(var_r30, 0, sizeof(*var_r30)); - var_r30->unk20C = HuMemDirectMallocNum(HEAP_DATA, 32 * sizeof(*var_r30->unk20C), temp_r27->unk_48); - memset(var_r30->unk20C, 0, 32 * sizeof(*var_r30->unk20C)); - var_r30->unk210 = HuMemDirectMallocNum(HEAP_DATA, 32 * sizeof(*var_r30->unk210), temp_r27->unk_48); - memset(var_r30->unk210, 0, 32 * sizeof(*var_r30->unk210)); - var_r30->unk214 = HuMemDirectMallocNum(HEAP_DATA, 5 * sizeof(*var_r30->unk214), temp_r27->unk_48); - memset(var_r30->unk214, 0, 5 * sizeof(*var_r30->unk214)); - var_r30->unk204 = GXGetTexBufferSize(640, 480, GX_TF_RGB5A3, GX_FALSE, 0); - var_r30->unk208 = HuMemDirectMallocNum(HEAP_DATA, var_r30->unk204, temp_r27->unk_48); - DCFlushRange(var_r30->unk208, var_r30->unk204); - var_r30->unk200 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M423, 23), MEMORY_DEFAULT_NUM)); - var_f31 = 0.0f; - for (i = 0; i < 32; i++) { - temp_f28 = 1.0f + 0.001f * frandmod(1000); - sp8[i] = temp_f28; - var_f31 += temp_f28; - sp88[i][1] = 80.0f * temp_f28; - sp88[i][0] = 10.0f + 0.02f * frandmod(1000); - } - var_f31 = 360.0f / var_f31; - for (i = 0; i < 32; i++) { - sp8[i] *= var_f31; - } - var_f31 = frandmod(90); - var_r28 = var_r30->unk20C; - var_r29 = var_r30->unk210; - for (i = 0; i < 32; var_r28++, var_r29++, i++) { - temp_f29 = -cosd(var_f31); - temp_f30 = sind(var_f31); - var_r28->unk24 = temp_f29 * sp88[i][0]; - var_r28->unk28 = temp_f30 * sp88[i][0]; - var_r28->unk0C = temp_f29 * (sp88[i][0] + sp88[i][1]); - var_r28->unk10 = temp_f30 * (sp88[i][0] + sp88[i][1]); - var_r28->unk00 = temp_f29 * (sp88[i][0] + 0.85f * sp88[i][1]); - var_r28->unk04 = temp_f30 * (sp88[i][0] + 0.85f * sp88[i][1]); - var_r29->unk00 = -0.3f * -temp_f29; - var_r29->unk04 = -0.3f * temp_f30; - temp_f29 = -cosd(var_f31 - 0.4f * sp8[i]); - temp_f30 = sind(var_f31 - 0.4f * sp8[i]); - var_r28->unk30 = temp_f29 * (sp88[i][0] + 0.7f * sp88[i][1]); - var_r28->unk34 = temp_f30 * (sp88[i][0] + 0.7f * sp88[i][1]); - temp_f29 = -cosd(var_f31 + 0.4f * sp8[i]); - temp_f30 = sind(var_f31 + 0.4f * sp8[i]); - var_r28->unk18 = temp_f29 * (sp88[i][0] + 0.7f * sp88[i][1]); - var_r28->unk1C = temp_f30 * (sp88[i][0] + 0.7f * sp88[i][1]); - var_r29->unk08 = var_r29->unk0C = var_r29->unk10 = var_r29->unk14 = 0.0f; - var_r29->unk18 = var_r29->unk1C = var_r29->unk20 = var_r29->unk24 = 0.0f; - var_f31 += sp8[i]; - } - for (i = 0; i < 5; i++) { - var_r30->unk214[i].r = var_r30->unk214[i].g = var_r30->unk214[i].b = 0xFF; - var_r30->unk214[i].a = 0xFF; - } - var_r30->unk218 = 32 * 54; - var_r30->unk220 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r30->unk218, MEMORY_DEFAULT_NUM); - GXBeginDisplayList(var_r30->unk220, var_r30->unk218); - for (i = 0; i < 32; i++) { - GXBegin(GX_TRIANGLEFAN, GX_VTXFMT0, 6); - - GXPosition1x16(i * 5); - GXColor1x16(0); - GXTexCoord1x16(i * 5); - - GXPosition1x16(i * 5 + 1); - GXColor1x16(1); - GXTexCoord1x16(i * 5 + 1); - - GXPosition1x16(i * 5 + 2); - GXColor1x16(2); - GXTexCoord1x16(i * 5 + 2); - - GXPosition1x16(i * 5 + 3); - GXColor1x16(3); - GXTexCoord1x16(i * 5 + 3); - - GXPosition1x16(i * 5 + 4); - GXColor1x16(4); - GXTexCoord1x16(i * 5 + 4); - - GXPosition1x16(i * 5 + 1); - GXColor1x16(1); - GXTexCoord1x16(i * 5 + 1); - - GXEnd(); - } - var_r30->unk21C = GXEndDisplayList(); - DCFlushRangeNoSync(var_r30->unk20C, 32 * sizeof(*var_r30->unk20C)); - DCFlushRangeNoSync(var_r30->unk210, 32 * sizeof(*var_r30->unk210)); - DCFlushRangeNoSync(var_r30->unk214, 5 * sizeof(*var_r30->unk214)); - DCFlushRangeNoSync(var_r30->unk220, var_r30->unk218); - DCStoreRangeNoSync(var_r30, sizeof(*var_r30)); - PPCSync(); - return var_r26; -} - -GXColor lbl_1_data_7FC[] = { { 0x66, 0x00, 0x00, 0xFF }, { 0x00, 0x00, 0x66, 0xFF }, { 0x66, 0x00, 0x5B, 0xFF }, { 0x00, 0x66, 0x00, 0xFF }, - { 0x42, 0x00, 0x4C, 0xFF }, { 0x47, 0x28, 0x00, 0xFF }, { 0x66, 0x66, 0x00, 0xFF }, { 0x00, 0x00, 0x00, 0xFF } }; - -void fn_1_EF44(ModelData *arg0, Mtx arg1) -{ - Mtx sp124; - Mtx spF4; - Mtx spC4; - Mtx sp94; - Mtx sp64; - Mtx sp34; - GXTexObj sp14; - GXColor sp10 = { 0xCC, 0xCC, 0xCC, 0x7F }; - StructM423_0B *temp_r30; - StructM423_0A *var_r31; - s32 i; - - temp_r30 = arg0->unk_120; - GXSetTexCopySrc(0, 0, 640, 480); - GXSetTexCopyDst(640, 480, GX_TF_RGB5A3, GX_FALSE); - GXCopyTex(temp_r30->unk208, GX_FALSE); - GXPixModeSync(); - MTXTrans(spF4, -400.0f, 400.0f, -700.0f); - MTXConcat(Hu3DCameraMtx, spF4, sp64); - GXLoadPosMtxImm(sp64, GX_PNMTX0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_CLAMP, GX_AF_NONE); - GXInitTexObj(&sp14, temp_r30->unk208, 640, 480, GX_TF_RGB5A3, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXInitTexObjLOD(&sp14, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); - GXLoadTexObj(&sp14, GX_TEXMAP0); - HuSprTexLoad(temp_r30->unk200, 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXSetNumTexGens(2); - C_MTXLightPerspective(sp94, 41.5f, 1.2f, 0.5555555f, -0.5f, 0.5555555f, 0.5f); - MTXConcat(sp94, Hu3DCameraMtx, sp94); - MTXInverse(Hu3DCameraMtx, sp34); - MTXConcat(sp34, sp64, sp124); - MTXConcat(sp94, sp124, spF4); - GXLoadTexMtxImm(spF4, GX_TEXMTX0, GX_MTX3x4); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0, GX_FALSE, GX_PTIDENTITY); - GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEXCOORD0, GX_TEXMTX1, GX_FALSE, GX_PTIDENTITY); - GXSetNumIndStages(1); - GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD1, GX_TEXMAP1); - GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, GX_TRUE, GX_FALSE, GX_ITM_0); - GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); - MTXScale(spF4, -0.5f, -0.5f, 0.5f); - GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spF4, -1); - GXSetNumTevStages(1); - GXSetTevColor(GX_TEVREG1, sp10); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_C1, GX_CC_C0); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_RASA, GX_CA_A0, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_FALSE, GX_TEVPREV); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET); - GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetArray(GX_VA_POS, temp_r30->unk20C, 12); - GXSetArray(GX_VA_CLR0, temp_r30->unk214, 4); - GXSetArray(GX_VA_TEX0, temp_r30->unk210, 8); - var_r31 = temp_r30->unk00; - for (i = 0; i < 16; i++, var_r31++) { - if (var_r31->unk00 == 0) { - continue; - } - lbl_1_data_7FC[var_r31->unk02].a = 255.0f * var_r31->unk10; - GXSetTevColor(GX_TEVREG0, lbl_1_data_7FC[var_r31->unk02]); - MTXTrans(spF4, var_r31->unk14.x, var_r31->unk14.y, var_r31->unk14.z); - MTXRotRad(sp124, 'Z', MTXDegToRad(var_r31->unk0C)); - MTXConcat(spF4, sp124, spF4); - MTXScale(spC4, var_r31->unk04 * var_r31->unk08, var_r31->unk04 * var_r31->unk08, var_r31->unk04 * var_r31->unk08); - MTXConcat(spF4, spC4, spF4); - MTXConcat(Hu3DCameraMtx, spF4, sp64); - GXLoadPosMtxImm(sp64, GX_PNMTX0); - MTXConcat(sp34, sp64, sp124); - MTXConcat(sp94, sp124, spF4); - GXLoadTexMtxImm(spF4, GX_TEXMTX0, GX_MTX3x4); - MTXRotRad(sp124, 'Z', MTXDegToRad(-var_r31->unk0C)); - GXLoadTexMtxImm(sp124, GX_TEXMTX1, GX_MTX2x4); - GXCallDisplayList(temp_r30->unk220, temp_r30->unk21C); - } - GXSetNumIndStages(0); - GXSetTevDirect(GX_TEVSTAGE0); -} - -s32 fn_1_F574(Vec arg0, float arg1, s32 arg2) -{ - omObjData *var_r29; - ModelData *var_r28; - StructM423_0B *var_r26; - StructM423_0A *var_r31; - s32 var_r27; - s32 i; - - var_r29 = lbl_1_bss_9C; - var_r28 = &Hu3DData[var_r29->model[0]]; - var_r26 = var_r28->unk_120; - var_r31 = var_r26->unk00; - for (i = 0; i < 16; i++, var_r31++) { - if (var_r31->unk00 == 0) { - break; - } - } - if (i < 16) { - if (arg2 < 0) { - arg2 = 0; - } - var_r31->unk00 = 1; - var_r31->unk02 = arg2; - var_r31->unk10 = 1.0f; - var_r31->unk08 = arg1; - var_r31->unk04 = 0.25f; - var_r31->unk0C = frandmod(360); - var_r31->unk14 = arg0; - } -} - -void fn_1_F690(void) -{ - lbl_1_bss_98 = omAddObjEx(lbl_1_bss_120, 0xFE, 0, 0, -1, fn_1_F6E0); -} - -s32 lbl_1_data_81C[] = { DATA_MAKE_NUM(DATADIR_MGCONST, 12), DATA_MAKE_NUM(DATADIR_MGCONST, 13), DATA_MAKE_NUM(DATADIR_MGCONST, 14), - DATA_MAKE_NUM(DATADIR_MGCONST, 15), DATA_MAKE_NUM(DATADIR_MGCONST, 16), DATA_MAKE_NUM(DATADIR_MGCONST, 17), DATA_MAKE_NUM(DATADIR_MGCONST, 18), - DATA_MAKE_NUM(DATADIR_MGCONST, 19) }; - -s16 lbl_1_data_83C[] = { 0x7F, 0x7F, 0x7F, 0x100 }; - -s16 lbl_1_data_844[][2] = { { -75, 10 }, { -61, -14 }, { -47, 10 }, { 0, 0 }, { -12, -8 }, { -12, -8 }, { 6, -8 }, { 6, -8 }, { 24, -8 }, { 24, -8 }, - { 42, -8 }, { 42, -8 }, { 60, -8 }, { 60, -8 }, { -12, 10 }, { -12, 10 }, { 6, 10 }, { 6, 10 }, { 24, 10 }, { 24, 10 }, { 42, 10 }, { 42, 10 }, - { 60, 10 }, { 60, 10 } }; - -void fn_1_F6E0(omObjData *arg0) -{ - StructM423_0C *var_r31; - s32 sp8; - s32 var_r29; - s32 i; - - if ((sp8 = lbl_1_bss_EC[3]) != -1) { - var_r31 = arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(*var_r31), MEMORY_DEFAULT_NUM); - memset(var_r31, 0, sizeof(*var_r31)); - var_r31->unk00 = 480; - var_r31->unk04 = 70; - var_r31->unk08 = 0; - var_r31->unk0C = 0; - for (i = 0; i < 24; i++) { - switch (i) { - case 0: - case 1: - case 2: - var_r29 = espEntry(lbl_1_data_81C[lbl_1_bss_EC[i]], lbl_1_data_83C[i], 0); - var_r31->unk10[i] = var_r29; - var_r31->unk70[i][0] = lbl_1_data_844[i][0]; - var_r31->unk70[i][1] = lbl_1_data_844[i][1]; - break; - case 3: - var_r29 = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 38), lbl_1_data_83C[i], 0); - var_r31->unk10[i] = var_r29; - var_r31->unk70[i][0] = lbl_1_data_844[i][0]; - var_r31->unk70[i][1] = lbl_1_data_844[i][1]; - break; - default: - if (!(i & 1)) { - var_r29 = espEntry(DATA_MAKE_NUM(DATADIR_M423, 24), 0x40, 0); - var_r31->unk10[i] = var_r29; - } - else { - var_r29 = espEntry(DATA_MAKE_NUM(DATADIR_M423, 25), 0x20, 0); - var_r31->unk10[i] = var_r29; - } - var_r31->unk70[i][0] = lbl_1_data_844[i][0]; - var_r31->unk70[i][1] = lbl_1_data_844[i][1]; - break; - } - espDispOn(var_r29); - espDrawNoSet(var_r29, 0); - espAttrSet(var_r29, 1); - espPosSet(var_r29, var_r31->unk00 + var_r31->unk70[i][0], var_r31->unk04 + var_r31->unk70[i][1]); - espBankSet(var_r29, 0); - } - for (i = 0; i < 10; i++) { - var_r31->unk190[i][0] = 0; - var_r31->unk190[i][1] = 0; - } - fn_1_10028(0); - arg0->func = fn_1_FA40; - } -} - -void fn_1_FA40(omObjData *arg0) -{ - float var_f31; - float var_f28; - float temp_f30; - float temp_f29; - StructM423_0C *temp_r31; - s32 temp_r28; - s32 temp_r29; - s32 i; - - temp_r31 = arg0->data; - if (lbl_1_bss_104 != temp_r31->unk08) { - temp_r31->unk08 = lbl_1_bss_104; - temp_r31->unk0C = 20; - } - if (temp_r31->unk0C != 0) { - var_f31 = 1.0 + 0.8f * sind(180.0f * (temp_r31->unk0C / 20.0f)); - temp_r31->unk0C--; - } - else { - var_f31 = 1.0f; - } - var_f31 = 1.0f; - temp_r28 = 10 - lbl_1_bss_104; - for (i = 0; i < 4; i++) { - temp_f30 = temp_r31->unk00 + temp_r31->unk70[i][0]; - temp_f29 = temp_r31->unk04 + temp_r31->unk70[i][1]; - espPosSet(temp_r31->unk10[i], temp_f30, temp_f29); - espScaleSet(temp_r31->unk10[i], 1.0f, 1.0f); - } - for (i = 4; i < 24; i++) { - temp_f30 = temp_r31->unk00 + temp_r31->unk70[i][0]; - temp_f29 = temp_r31->unk04 + temp_r31->unk70[i][1]; - if (!(i & 1)) { - espPosSet(temp_r31->unk10[i], temp_f30, temp_f29); - espScaleSet(temp_r31->unk10[i], 1.0f, 1.0f); - } - else { - temp_r29 = (i - 4) / 2; - if (temp_r28 > temp_r29) { - temp_r31->unk190[temp_r29][0] = 1; - } - else { - temp_r31->unk190[temp_r29][0] = 0; - } - if (temp_r31->unk190[temp_r29][0] != 0) { - if (temp_r31->unk190[temp_r29][1] < 15) { - temp_r31->unk190[temp_r29][1]++; - var_f31 = 3.0f - 2.0f * (temp_r31->unk190[temp_r29][1] / 15.0f); - var_f28 = temp_r31->unk190[temp_r29][1] / 15.0f; - } - else { - var_f31 = 1.0f; - var_f28 = 1.0f; - } - espDispOn(temp_r31->unk10[i]); - espPosSet(temp_r31->unk10[i], temp_f30, temp_f29); - espTPLvlSet(temp_r31->unk10[i], var_f28); - espScaleSet(temp_r31->unk10[i], var_f31, var_f31); - } - else { - espDispOff(temp_r31->unk10[i]); - } - } - } -} - -void fn_1_FF10(omObjData *arg0) -{ - StructM423_0C *temp_r29; - s32 i; - - if (arg0 && arg0->data) { - temp_r29 = arg0->data; - for (i = 0; i < 24; i++) { - espKill(temp_r29->unk10[i]); - } - arg0->data = NULL; - arg0->func = NULL; - } -} - -void fn_1_FF98(void) -{ - fn_1_FF10(lbl_1_bss_98); -} - -void fn_1_10028(s32 arg0) -{ - StructM423_0C *temp_r30; - s32 i; - - temp_r30 = lbl_1_bss_98->data; - for (i = 0; i < 24; i++) { - if (arg0 != 0) { - espDispOn(temp_r30->unk10[i]); - } - else { - espDispOff(temp_r30->unk10[i]); - } - if (i >= 4 && (i & 1)) { - espDispOff(temp_r30->unk10[i]); - } - } -} - -void fn_1_100DC(void) -{ - omObjData *temp_r3; - s32 i; - - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 45.0f, 50.0f, 50000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 320.0f, 240.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(1, 0, 0, 320, 240); - Hu3DCameraCreate(2); - Hu3DCameraPerspectiveSet(2, 45.0f, 50.0f, 50000.0f, 1.2f); - Hu3DCameraViewportSet(2, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(2, 0, 0, 640, 480); - Hu3DCameraCreate(4); - Hu3DCameraPerspectiveSet(4, 45.0f, 100.0f, 50000.0f, 1.2f); - Hu3DCameraViewportSet(4, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(4, 0, 0, 640, 480); - temp_r3 = lbl_1_bss_8C = omAddObjEx(lbl_1_bss_120, 0x7FDA, 0, 0, -1, omOutViewMulti); - temp_r3->work[0] = 3; - for (i = 0; i < temp_r3->work[0]; i++) { - CRotM[i].x = lbl_1_data_0[0].unk00.x; - CRotM[i].y = lbl_1_data_0[0].unk00.y; - CRotM[i].z = lbl_1_data_0[0].unk00.z; - CenterM[i].x = lbl_1_data_0[0].unk0C.x; - CenterM[i].y = lbl_1_data_0[0].unk0C.y; - CenterM[i].z = lbl_1_data_0[0].unk0C.z; - CZoomM[i] = lbl_1_data_0[0].unk18; - } - lbl_1_bss_84 = 0; - lbl_1_bss_88 = -1; - omAddObjEx(lbl_1_bss_120, 0xFF, 0, 0, -1, fn_1_10480); -} - -void fn_1_10480(omObjData *arg0) -{ - CRotM[1].x = CRotM[0].x; - CRotM[1].y = CRotM[0].y; - CRotM[1].z = CRotM[0].z; - CenterM[1].x = CenterM[0].x; - CenterM[1].y = CenterM[0].y; - CenterM[1].z = CenterM[0].z; - CZoomM[1] = CZoomM[0]; -} - -void fn_1_1052C(void) { } - -s32 fn_1_10530(void) -{ - return lbl_1_bss_84; -} - -void fn_1_10540(s32 arg0, s32 arg1, s32 arg2, f32 arg3) -{ - StructData0 *temp_r31; - StructData0 *temp_r30; - - temp_r31 = &lbl_1_data_0[arg1]; - temp_r30 = &lbl_1_data_0[arg2]; - CRotM[arg0].x = fn_1_12544(arg3, temp_r31->unk00.x, temp_r30->unk00.x); - CRotM[arg0].y = fn_1_12544(arg3, temp_r31->unk00.y, temp_r30->unk00.y); - CRotM[arg0].z = fn_1_12544(arg3, temp_r31->unk00.z, temp_r30->unk00.z); - CenterM[arg0].x = temp_r31->unk0C.x + arg3 * (temp_r30->unk0C.x - temp_r31->unk0C.x); - CenterM[arg0].y = temp_r31->unk0C.y + arg3 * (temp_r30->unk0C.y - temp_r31->unk0C.y); - CenterM[arg0].z = temp_r31->unk0C.z + arg3 * (temp_r30->unk0C.z - temp_r31->unk0C.z); - CZoomM[arg0] = temp_r31->unk18 + arg3 * (temp_r30->unk18 - temp_r31->unk18); -} - -float lbl_1_data_8A4[] = { 95.0f, 95.0f, 135.0f, 95.0f, 95.0f, 125.0f, 135.0f, 125.0f }; - -void fn_1_106D8(s32 arg0) -{ - float var_f31; - StructBssBCData *var_r30; - s32 var_r29; - - if (lbl_1_bss_90 != arg0) { - CRotM->x = lbl_1_data_38[arg0].unk00.x; - CRotM->y = lbl_1_data_38[arg0].unk00.y; - CRotM->z = lbl_1_data_38[arg0].unk00.z; - CenterM->x = lbl_1_data_38[arg0].unk0C.x; - CenterM->y = lbl_1_data_38[arg0].unk0C.y; - CenterM->z = lbl_1_data_38[arg0].unk0C.z; - CZoomM[0] = lbl_1_data_38[arg0].unk18; - lbl_1_bss_80 = 0; - if (arg0 != 0) { - lbl_1_bss_7C = frand(); - } - else { - lbl_1_bss_7C = 0; - } - lbl_1_bss_90 = arg0; - } - var_r29 = lbl_1_bss_90; - switch (var_r29) { - case 0: - case 1: - case 2: - lbl_1_bss_80++; - if (lbl_1_bss_7C & 1) { - var_f31 = cosd((float)lbl_1_bss_80); - } - else { - var_f31 = -cosd((float)lbl_1_bss_80); - } - CRotM->y = 23.0f * var_f31 + lbl_1_data_38[arg0].unk00.y; - break; - case 3: - case 4: - case 5: - lbl_1_bss_80++; - if (lbl_1_bss_7C & 1) { - CRotM->y = lbl_1_data_38[arg0].unk00.y - 45.0f + 0.5f * lbl_1_bss_80; - } - else { - CRotM->y = lbl_1_data_38[arg0].unk00.y + 45.0f - 0.5f * lbl_1_bss_80; - } - break; - case 6: - case 7: - case 8: - if (lbl_1_bss_AC[var_r29 - 6] != NULL) { - var_r30 = lbl_1_bss_AC[var_r29 - 6]->data; - CenterM->y = lbl_1_data_8A4[var_r30->unk02]; - } - break; - case 9: - if (lbl_1_bss_B8 != NULL) { - var_r30 = lbl_1_bss_B8->data; - CenterM->x = lbl_1_bss_B8->trans.x; - CenterM->z = lbl_1_bss_B8->trans.z; - CenterM->y = lbl_1_data_8A4[var_r30->unk02]; - } - break; - } -} - -void fn_1_10BC8(void) -{ - Mtx44 sp64; - Mtx sp34; - Vec sp28; - Vec sp1C; - Vec sp10; - GXColor spC; - CameraData *var_r31; - - var_r31 = &Hu3DCamera[0]; - if (var_r31->fov <= 0.0f) { - return; - } - C_MTXPerspective(sp64, var_r31->fov, var_r31->aspect, var_r31->near, var_r31->far); - GXSetProjection(sp64, GX_PERSPECTIVE); - GXSetViewport(0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - GXSetScissor(0, 0, 640, 480); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - spC.r = spC.g = spC.b = 0; - spC.a = 0xFF; - GXSetTevColor(GX_TEVREG0, spC); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumTexGens(0); - GXSetNumTevStages(1); - GXSetCullMode(GX_CULL_NONE); - GXSetZMode(GX_TRUE, GX_ALWAYS, GX_TRUE); - sp28.x = sp28.y = sp28.z = 0.0f; - sp1C.x = sp1C.y = 0.0f; - sp1C.z = -100.0f; - sp10.x = sp10.z = 0.0f; - sp10.y = 1.0f; - C_MTXLookAt(sp34, &sp28, &sp10, &sp1C); - GXLoadPosMtxImm(sp34, GX_PNMTX0); - sp28.x = 10000.0 * -sin(var_r31->fov / 2.0f) * 1.2f; - sp28.y = 10000.0 * -sin(var_r31->fov / 2.0f) * 0.8333333f; - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(-sp28.x, -sp28.y, -10000.0f); - GXPosition3f32(sp28.x, -sp28.y, -10000.0f); - GXPosition3f32(sp28.x, sp28.y, -10000.0f); - GXPosition3f32(-sp28.x, sp28.y, -10000.0f); - GXEnd(); -} - -void fn_1_11008(StructBssD0Data *arg0, void *arg1, s16 arg2, GXTexWrapMode arg3, s32 arg4, s32 arg5) -{ - GXTexObj sp18; - StructBssD0Data *var_r31; - - var_r31 = arg0; - GXInitTexObj(&sp18, arg1, var_r31->unk00, var_r31->unk04, GX_TF_RGB5A3, arg3, arg3, GX_FALSE); - if (arg5 != 0) { - GXInitTexObjLOD(&sp18, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); - } - else { - GXInitTexObjLOD(&sp18, GX_NEAR, GX_NEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); - } - GXLoadTexObj(&sp18, arg2); -} - -s16 fn_1_11114(AnimData *arg0, s16 arg1) -{ - s16 var_r23; - s16 i; - ModelData *temp_r27; - StructM423_05 *var_r31; - StructM423_04 *var_r29; - Vec *var_r25; - float(*var_r28)[2]; - void *var_r24; - void *var_r22; - - var_r23 = Hu3DHookFuncCreate(fn_1_11900); - temp_r27 = &Hu3DData[var_r23]; - temp_r27->unk_120 = var_r31 = HuMemDirectMallocNum(HEAP_DATA, sizeof(*var_r31), temp_r27->unk_48); - var_r31->unk38 = arg0; - var_r31->unk26 = arg1; - var_r31->unk20 = 0; - var_r31->unk22 = 0; - var_r31->unk4C = NULL; - var_r31->unk50 = NULL; - var_r31->unk28 = 0; - var_r31->unk21 = 0; - var_r31->unk23 = 0; - var_r31->unk30 = 0; - var_r31->unk00 = var_r31->unk02 = 0; - var_r31->unk3C = var_r29 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(*var_r29), temp_r27->unk_48); - memset(var_r29, 0, arg1 * sizeof(*var_r29)); - for (i = 0; i < arg1; i++, var_r29++) { - var_r29->unk30 = 0.0f; - var_r29->unk34 = 0.0f; - var_r29->unk28 = 0.0f; - var_r29->unk2C = 1.0f; - var_r29->unk38.x = (frand7() - 64) * 20; - var_r29->unk38.y = (frand7() - 64) * 30; - var_r29->unk38.z = (frand7() - 64) * 20; - var_r29->unk44.r = var_r29->unk44.g = var_r29->unk44.b = var_r29->unk44.a = 0xFF; - var_r29->unk48 = 0; - } - var_r31->unk40 = var_r25 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(*var_r25) * 4, temp_r27->unk_48); - for (i = 0; i < arg1 * 4; i++, var_r25++) { - var_r25->x = var_r25->y = var_r25->z = 0.0f; - } - var_r31->unk44 = var_r28 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(*var_r28) * 4, temp_r27->unk_48); - for (i = 0; i < arg1; i++) { - (*var_r28)[0] = 0.0f; - (*var_r28)[1] = 0.0f; - var_r28++; - (*var_r28)[0] = 1.0f; - (*var_r28)[1] = 0.0f; - var_r28++; - (*var_r28)[0] = 1.0f; - (*var_r28)[1] = 1.0f; - var_r28++; - (*var_r28)[0] = 0.0f; - (*var_r28)[1] = 1.0f; - var_r28++; - } - var_r22 = var_r24 = HuMemDirectMallocNum(HEAP_DATA, 0x10000, temp_r27->unk_48); - DCFlushRange(var_r24, 0x10000); - GXBeginDisplayList(var_r22, 0x10000); - GXBegin(GX_QUADS, GX_VTXFMT0, arg1 * 4); - for (i = 0; i < arg1; i++) { - GXPosition1x16(i * 4); - GXColor1x16(i); - GXTexCoord1x16(i * 4); - - GXPosition1x16(i * 4 + 1); - GXColor1x16(i); - GXTexCoord1x16(i * 4 + 1); - - GXPosition1x16(i * 4 + 2); - GXColor1x16(i); - GXTexCoord1x16(i * 4 + 2); - - GXPosition1x16(i * 4 + 3); - GXColor1x16(i); - GXTexCoord1x16(i * 4 + 3); - } - GXEnd(); - var_r31->unk34 = GXEndDisplayList(); - var_r31->unk48 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk34, temp_r27->unk_48); - memcpy(var_r31->unk48, var_r24, var_r31->unk34); - DCFlushRange(var_r31->unk48, var_r31->unk34); - HuMemDirectFree(var_r24); - return var_r23; -} - -s16 fn_1_115C4(s16 arg0) -{ - s32 temp_r24; - s16 var_r22; - s16 i; - ModelData *temp_r23; - ModelData *temp_r27; - StructM423_05 *temp_r26; - StructM423_05 *var_r31; - StructM423_04 *var_r30; - Vec *var_r25; - float(*var_r29)[2]; - - temp_r23 = &Hu3DData[arg0]; - temp_r26 = temp_r23->unk_120; - var_r22 = Hu3DHookFuncCreate(temp_r23->hook); - temp_r27 = &Hu3DData[var_r22]; - temp_r27->unk_120 = var_r31 = HuMemDirectMallocNum(HEAP_DATA, sizeof(*var_r31), temp_r27->unk_48); - var_r31->unk38 = temp_r26->unk38; - var_r31->unk26 = temp_r26->unk26; - temp_r24 = var_r31->unk26; - var_r31->unk20 = 0; - var_r31->unk22 = temp_r26->unk22; - var_r31->unk4C = NULL; - var_r31->unk50 = NULL; - var_r31->unk28 = 0; - var_r31->unk21 = 0; - var_r31->unk30 = 0; - var_r31->unk00 = var_r31->unk02 = 0; - var_r31->unk3C = var_r30 = HuMemDirectMallocNum(HEAP_DATA, temp_r24 * sizeof(*var_r30), temp_r27->unk_48); - for (i = 0; i < temp_r24; i++, var_r30++) { - var_r30->unk30 = 0.0f; - var_r30->unk34 = 0.0f; - var_r30->unk28 = 0.0f; - var_r30->unk2C = 1.0f; - var_r30->unk38.x = (frand7() - 64) * 20; - var_r30->unk38.y = (frand7() - 64) * 30; - var_r30->unk38.z = (frand7() - 64) * 20; - var_r30->unk44.r = var_r30->unk44.g = var_r30->unk44.b = var_r30->unk44.a = 0xFF; - var_r30->unk48 = 0; - } - var_r31->unk40 = var_r25 = HuMemDirectMallocNum(HEAP_DATA, temp_r24 * sizeof(*var_r25) * 4, temp_r27->unk_48); - for (i = 0; i < (temp_r24 * 4); i++, var_r25++) { - var_r25->x = var_r25->y = var_r25->z = 0.0f; - } - var_r31->unk44 = var_r29 = HuMemDirectMallocNum(HEAP_DATA, temp_r24 * sizeof(*var_r29) * 4, temp_r27->unk_48); - for (i = 0; i < temp_r24; i++) { - (*var_r29)[0] = 0.0f; - (*var_r29)[1] = 0.0f; - var_r29++; - (*var_r29)[0] = 1.0f; - (*var_r29)[1] = 0.0f; - var_r29++; - (*var_r29)[0] = 1.0f; - (*var_r29)[1] = 1.0f; - var_r29++; - (*var_r29)[0] = 0.0f; - (*var_r29)[1] = 1.0f; - var_r29++; - } - var_r31->unk34 = temp_r26->unk34; - var_r31->unk48 = temp_r26->unk48; - return var_r22; -} - -Vec lbl_1_data_8C4[] = { { -0.5f, 0.5f, 0.0f }, { 0.5f, 0.5f, 0.0f }, { 0.5f, -0.5f, 0.0f }, { -0.5f, -0.5f, 0.0f } }; - -float lbl_1_data_8F4[][2] = { { 0.0f, 0.0f }, { 0.25f, 0.0f }, { 0.25f, 0.25f }, { 0.0f, 0.25f } }; - -void fn_1_11900(ModelData *arg0, Mtx arg1) -{ - Mtx sp128; - Mtx spF8; - Mtx spC8; - Vec sp98[4]; - Vec sp68[4]; - Vec sp38[4]; - ROMtx sp8; - StructM423_05 *temp_r31; - StructM423_04 *var_r29; - Vec *var_r30; - float(*var_r28)[2]; - Vec *temp_r27; - Vec *temp_r24; - s16 var_r21; - s16 var_r20; - s16 var_r19; - void (*var_r18)(ModelData *, struct struct_m423_05 *, Mtx); - s16 i; - s16 j; - - temp_r31 = arg0->unk_120; - if (temp_r31->unk2C == GlobalCounter && shadowModelDrawF == 0) { - return; - } - if (temp_r31->unk50 && temp_r31->unk50 != arg0) { - fn_1_11900(temp_r31->unk50, arg1); - } - GXLoadPosMtxImm(arg1, GX_PNMTX0); - GXSetNumTevStages(1); - GXSetNumTexGens(1); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - if (shadowModelDrawF != 0) { - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ONE, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); - GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - } - else { - var_r21 = temp_r31->unk38->bmp->dataFmt & 0xF; - if (var_r21 == 7 || var_r21 == 8) { - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ONE, GX_CC_RASC, GX_CC_ZERO); - } - else { - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); - } - if (temp_r31->unk22 & 1) { - GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - } - else if (arg0->attr & 2) { - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - } - else { - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); - } - } - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_CLAMP, GX_AF_NONE); - HuSprTexLoad(temp_r31->unk38, 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZCompLoc(GX_FALSE); - switch (temp_r31->unk20) { - case 0: - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - break; - case 1: - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); - break; - case 2: - GXSetBlendMode(GX_BM_BLEND, GX_BL_ZERO, GX_BL_INVDSTCLR, GX_LO_NOOP); - break; - } - if (HmfInverseMtxF3X3(arg1, sp128) == 0) { - MTXIdentity(sp128); - } - PSMTXReorder(sp128, sp8); - if (temp_r31->unk4C) { - var_r18 = temp_r31->unk4C; - var_r18(arg0, temp_r31, arg1); - } - var_r29 = temp_r31->unk3C; - var_r30 = temp_r31->unk40; - var_r28 = temp_r31->unk44; - PSMTXROMultVecArray(sp8, lbl_1_data_8C4, sp38, 4); - for (i = 0; i < temp_r31->unk26; i++, var_r29++) { - if (!var_r29->unk30) { - var_r30->x = var_r30->y = var_r30->z = 0.0f; - var_r30++; - var_r30->x = var_r30->y = var_r30->z = 0.0f; - var_r30++; - var_r30->x = var_r30->y = var_r30->z = 0.0f; - var_r30++; - var_r30->x = var_r30->y = var_r30->z = 0.0f; - var_r30++; - } - else if (!var_r29->unk34) { - temp_r27 = sp98; - temp_r24 = sp38; - VECScale(temp_r24++, temp_r27, var_r29->unk30); - VECAdd(temp_r27++, &var_r29->unk38, var_r30++); - VECScale(temp_r24++, temp_r27, var_r29->unk30); - VECAdd(temp_r27++, &var_r29->unk38, var_r30++); - VECScale(temp_r24++, temp_r27, var_r29->unk30); - VECAdd(temp_r27++, &var_r29->unk38, var_r30++); - VECScale(temp_r24++, temp_r27, var_r29->unk30); - VECAdd(temp_r27++, &var_r29->unk38, var_r30++); - } - else { - VECScale(&lbl_1_data_8C4[0], &sp98[0], var_r29->unk30); - VECScale(&lbl_1_data_8C4[1], &sp98[1], var_r29->unk30); - VECScale(&lbl_1_data_8C4[2], &sp98[2], var_r29->unk30); - VECScale(&lbl_1_data_8C4[3], &sp98[3], var_r29->unk30); - MTXRotRad(spC8, 'Z', var_r29->unk34); - MTXConcat(sp128, spC8, spF8); - MTXMultVecArray(spF8, sp98, sp68, 4); - VECAdd(&sp68[0], &var_r29->unk38, var_r30++); - VECAdd(&sp68[1], &var_r29->unk38, var_r30++); - VECAdd(&sp68[2], &var_r29->unk38, var_r30++); - VECAdd(&sp68[3], &var_r29->unk38, var_r30++); - } - } - var_r29 = temp_r31->unk3C; - var_r28 = temp_r31->unk44; - if (!(temp_r31->unk22 & 2)) { - for (i = 0; i < temp_r31->unk26; i++, var_r29++) { - var_r20 = var_r29->unk48 & 3; - var_r19 = (var_r29->unk48 >> 2) & 3; - for (j = 0; j < 4; j++, var_r28++) { - (*var_r28)[0] = 0.25f * var_r20 + lbl_1_data_8F4[j][0]; - (*var_r28)[1] = 0.25f * var_r19 + lbl_1_data_8F4[j][1]; - } - } - } - else { - for (i = 0; i < temp_r31->unk26; i++, var_r29++) { - for (j = 0; j < 4; j++, var_r28++) { - (*var_r28)[0] = 4.0f * lbl_1_data_8F4[j][0]; - (*var_r28)[1] = 4.0f * lbl_1_data_8F4[j][1]; - } - } - } - DCFlushRangeNoSync(temp_r31->unk40, temp_r31->unk26 * sizeof(*temp_r31->unk40) * 4); - DCFlushRangeNoSync(temp_r31->unk44, temp_r31->unk26 * sizeof(*temp_r31->unk44) * 4); - DCFlushRangeNoSync(temp_r31->unk3C, temp_r31->unk26 * sizeof(*temp_r31->unk3C)); - PPCSync(); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, temp_r31->unk40, 12); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, &temp_r31->unk3C->unk44, 76); - GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetArray(GX_VA_TEX0, temp_r31->unk44, 8); - GXCallDisplayList(temp_r31->unk48, temp_r31->unk34); - if (shadowModelDrawF == 0) { - if (!(temp_r31->unk21 & 2)) { - temp_r31->unk28++; - } - if (temp_r31->unk30 != 0 && temp_r31->unk30 <= temp_r31->unk28) { - if (temp_r31->unk21 & 1) { - temp_r31->unk28 = 0; - } - temp_r31->unk28 = temp_r31->unk30; - } - temp_r31->unk2C = GlobalCounter; - } -} - -float fn_1_121DC(float arg0, float arg1) -{ - float var_f31; - - if (arg0 >= 360.0f) { - arg0 -= 360.0f; - } - else if (arg0 < 0.0f) { - arg0 += 360.0f; - } - if (arg1 >= 360.0f) { - arg1 -= 360.0f; - } - else if (arg1 < 0.0f) { - arg1 += 360.0f; - } - var_f31 = arg0 - arg1; - if (var_f31 <= -180.0f) { - var_f31 += 360.0f; - } - else if (var_f31 >= 180.0f) { - var_f31 -= 360.0f; - } - return var_f31; -} - -float fn_1_122F4(float arg0, float arg1, float arg2) -{ - float var_f30; - float var_f31; - - if (arg0 >= 360.0) { - arg0 -= 360.0; - } - else if (arg0 < 0.0) { - arg0 += 360.0; - } - if (arg1 >= 360.0) { - arg1 -= 360.0; - } - else if (arg1 < 0.0) { - arg1 += 360.0; - } - var_f30 = arg0 - arg1 + 360.0; - if (fabs(var_f30) >= 360.0) { - var_f30 = fmod(var_f30, 360.0); - } - if (var_f30 < 180.0) { - if (var_f30 <= arg2) { - var_f31 = var_f30; - } - else { - var_f31 = arg2; - } - } - else { - if (360.0 - var_f30 <= arg2) { - var_f31 = -(360.0 - var_f30); - } - else { - var_f31 = -arg2; - } - } - var_f31 += arg1; - if (var_f31 >= 360.0) { - var_f31 -= 360.0; - } - else if (var_f31 < 0.0) { - var_f31 += 360.0; - } - return var_f31; -} - -float fn_1_12544(float arg0, float arg1, float arg2) -{ - float var_f28; - - var_f28 = fn_1_121DC(arg2, arg1); - return fn_1_122F4(arg2, arg1, fabs(var_f28 * arg0)); -} - -void fn_1_1293C(Mtx arg0, Vec *arg1) -{ - Vec sp8; - - sp8.x = arg0[0][0] * arg1->x + arg0[0][1] * arg1->y + arg0[0][2] * arg1->z; - sp8.y = arg0[1][0] * arg1->x + arg0[1][1] * arg1->y + arg0[1][2] * arg1->z; - sp8.z = arg0[2][0] * arg1->x + arg0[2][1] * arg1->y + arg0[2][2] * arg1->z; - *arg1 = sp8; -} - -void fn_1_129F0(Vec *arg0, Vec *arg1, Vec *arg2, float *arg3) -{ - Vec sp18; - Vec spC; - float var_f30; - float var_f29; - - sp18.x = arg1->x - arg0->x; - sp18.y = arg1->y - arg0->y; - sp18.z = arg1->z - arg0->z; - spC.x = arg2->x - arg1->x; - spC.y = arg2->y - arg1->y; - spC.z = arg2->z - arg1->z; - arg3[0] = sp18.y * spC.z - sp18.z * spC.y; - arg3[1] = sp18.z * spC.x - sp18.x * spC.z; - arg3[2] = sp18.x * spC.y - sp18.y * spC.x; - var_f29 = arg3[0] * arg3[0] + arg3[1] * arg3[1] + arg3[2] * arg3[2]; - var_f30 = sqrtf(var_f29); - if (var_f30 != 0.0f) { - var_f30 = 1.0f / var_f30; - } - else { - var_f30 = 0.0f; - } - arg3[0] *= var_f30; - arg3[1] *= var_f30; - arg3[2] *= var_f30; - arg3[3] = -(arg3[0] * arg0->x + arg3[1] * arg0->y + arg3[2] * arg0->z); -} - -s32 fn_1_12C6C(Vec *arg0, Vec *arg1, float *arg2) -{ - float temp_f31; - float temp_f30; - - temp_f31 = arg0->x * arg2[0] + arg0->y * arg2[1] + arg0->z * arg2[2] + arg2[3]; - temp_f30 = arg1->x * arg2[0] + arg1->y * arg2[1] + arg1->z * arg2[2] + arg2[3]; - if (temp_f31 <= 0.0f && temp_f30 > 0.0f) { - return 1; - } - if (temp_f31 >= 0.0f && temp_f30 < 0.0f) { - return -1; - } - return 0; -} - -float fn_1_12D6C(Vec *arg0, Vec *arg1, s32 arg2, float arg3, float arg4) -{ - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - - switch (arg2) { - case 0: - var_f31 = arg0->y - arg3; - var_f30 = arg0->z - arg4; - var_f29 = arg1->y - arg3; - var_f28 = arg1->z - arg4; - break; - case 1: - var_f31 = arg0->x - arg3; - var_f30 = arg0->z - arg4; - var_f29 = arg1->x - arg3; - var_f28 = arg1->z - arg4; - break; - case 2: - var_f31 = arg0->x - arg3; - var_f30 = arg0->y - arg4; - var_f29 = arg1->x - arg3; - var_f28 = arg1->y - arg4; - break; - } - var_f27 = -(var_f30 * var_f29 - var_f31 * var_f28); - return var_f27; -} - -u8 lbl_1_data_914[][2] = { { 0, 1 }, { 1, 2 }, { 2, 0 } }; - -float fn_1_12E68(Vec *arg0, Vec *arg1, s32 arg2) -{ - float var_f31; - float var_f30; - float var_f29; - s32 i; - - switch (arg2) { - case 0: - var_f31 = arg1->y; - var_f30 = arg1->z; - break; - case 1: - var_f31 = arg1->x; - var_f30 = arg1->z; - break; - case 2: - var_f31 = arg1->x; - var_f30 = arg1->y; - break; - } - var_f29 = fn_1_12D6C(&arg0[lbl_1_data_914[0][0]], &arg0[lbl_1_data_914[0][1]], arg2, var_f31, var_f30); - if (var_f29 > 0.0f) { - for (i = 1; i < 3; i++) { - var_f29 = fn_1_12D6C(&arg0[lbl_1_data_914[i][0]], &arg0[lbl_1_data_914[i][1]], arg2, var_f31, var_f30); - if (var_f29 == 0.0f) { - return 1.0f; - } - if (var_f29 < 0.0f) { - return 0.0f; - } - } - return 1.0f; - } - else { - for (i = 1; i < 3; i++) { - var_f29 = fn_1_12D6C(&arg0[lbl_1_data_914[i][0]], &arg0[lbl_1_data_914[i][1]], arg2, var_f31, var_f30); - if (var_f29 == 0.0f) { - return -1.0f; - } - if (var_f29 > 0.0f) { - return 0.0f; - } - } - return -1.0f; - } -} - -void fn_1_1334C(float *arg0, Vec *arg1, Vec *arg2, Vec *arg3, Vec *arg4) -{ - float temp_f26; - float temp_f25; - float temp_f24; - float temp_f31; - float temp_f30; - float temp_f29; - float var_f22; - float var_f21; - float var_f20; - float var_f19; - float var_f18; - float spC; - float var_f28; - - temp_f26 = arg0[0]; - temp_f25 = arg0[1]; - temp_f24 = arg0[2]; - var_f19 = arg3->x; - var_f18 = arg3->y; - spC = arg3->z; - temp_f31 = arg2->x; - temp_f30 = arg2->y; - temp_f29 = arg2->z; - var_f22 = arg1->x; - var_f21 = arg1->y; - var_f20 = arg1->z; - var_f28 = sqrtf(temp_f31 * temp_f31 + temp_f30 * temp_f30 + temp_f29 * temp_f29); - if (var_f28 != 0.0f) { - var_f28 = 1.0f / var_f28; - } - temp_f31 *= var_f28; - temp_f30 *= var_f28; - temp_f29 *= var_f28; - var_f28 = temp_f26 * temp_f31 + temp_f25 * temp_f30 + temp_f24 * temp_f29; - if (var_f28 != 0.0f) { - var_f28 = -(temp_f26 * (var_f22 - var_f19) + temp_f25 * (var_f21 - var_f18) + temp_f24 * (var_f20 - spC)) / var_f28; - } - else { - var_f28 = 0.0f; - } - arg4->x = arg1->x + var_f28 * arg2->x; - arg4->y = arg1->y + var_f28 * arg2->y; - arg4->z = arg1->z + var_f28 * arg2->z; -} - -float fn_1_1367C(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, f32 *arg4) -{ - Vec sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - float temp_f31; - - arg0->z = 0.0f; - arg1->z = 0.0f; - arg2->z = 0.0f; - VECSubtract(arg1, arg0, &sp2C); - VECSubtract(arg2, arg0, &sp20); - temp_f31 = (sp2C.x * sp20.x + sp2C.y * sp20.y) / (sp2C.x * sp2C.x + sp2C.y * sp2C.y); - if (arg4 != NULL) { - *arg4 = temp_f31; - } - VECScale(&sp2C, &sp14, temp_f31); - VECAdd(&sp2C, &sp14, &sp38); - if (arg3 != NULL) { - *arg3 = sp38; - } - VECSubtract(arg2, &sp38, &sp8); - return VECMag(&sp8); -} - -s32 fn_1_137C4(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, float arg4, s32 arg5) -{ - Vec sp40; - Vec sp34; - Vec sp28; - Vec sp1C; - Vec sp10; - f32 temp_f30; - f32 temp_f29; - f32 temp_f28; - f32 var_f31; - - VECAdd(arg1, arg2, &sp28); - *arg3 = sp28; - VECNormalize(arg2, &sp1C); - VECScale(&sp1C, &sp1C, arg4); - VECAdd(arg1, &sp1C, &sp40); - VECAdd(&sp28, &sp1C, &sp34); - VECNormalize(arg2, &sp1C); - VECScale(&sp1C, &sp10, -arg4); - switch (arg5) { - case 0: - if (sp40.y >= arg0[0].y && sp34.y < arg0[0].y) { - if (sp1C.y == 0.0f) { - var_f31 = 0.0f; - } - else { - var_f31 = (arg0[0].y - arg1->y) / sp1C.y; - } - temp_f30 = arg1->x + var_f31 * sp1C.x; - temp_f28 = arg1->z + var_f31 * sp1C.z; - if (temp_f30 >= arg0[0].x && temp_f30 <= arg0[2].x && temp_f28 >= arg0[0].z && temp_f28 <= arg0[2].z) { - arg3->x = temp_f30; - arg3->y = arg0[0].y + arg4 + 1.0f; - arg3->z = temp_f28; - VECAdd((Vec *)&arg3, &sp10, (Vec *)&arg3); - return 1; - } - } - break; - case 1: - if (sp40.y <= arg0[0].y && sp34.y > arg0[0].y) { - if (sp1C.y == 0.0f) { - var_f31 = 0.0f; - } - else { - var_f31 = (arg0[0].y - arg1->y) / sp1C.y; - } - temp_f30 = arg1->x + var_f31 * sp1C.x; - temp_f28 = arg1->z + var_f31 * sp1C.z; - if (temp_f30 >= arg0[0].x && temp_f30 <= arg0[2].x && temp_f28 <= arg0[0].z && temp_f28 >= arg0[2].z) { - arg3->x = temp_f30; - arg3->y = arg0[0].y - arg4 - 1.0f; - arg3->z = temp_f28; - VECAdd((Vec *)&arg3, &sp10, (Vec *)&arg3); - return 1; - } - } - break; - case 2: - if (sp40.x <= arg0[0].x && sp34.x > arg0[0].x) { - if (sp1C.x == 0.0f) { - var_f31 = 0.0f; - } - else { - var_f31 = (arg0[0].x - arg1->x) / sp1C.x; - } - temp_f29 = arg1->y + var_f31 * sp1C.y; - temp_f28 = arg1->z + var_f31 * sp1C.z; - if (temp_f29 <= arg0[0].y && temp_f29 >= arg0[2].y && temp_f28 >= arg0[0].z && temp_f28 <= arg0[2].z) { - arg3->x = arg0[0].x - arg4 - 1.0f; - arg3->y = temp_f29; - arg3->z = temp_f28; - VECAdd((Vec *)&arg3, &sp10, (Vec *)&arg3); - return 1; - } - } - break; - case 3: - if (sp40.x >= arg0[0].x && sp34.x < arg0[0].x) { - if (sp1C.x == 0.0f) { - var_f31 = 0.0f; - } - else { - var_f31 = (arg0[0].x - arg1->x) / sp1C.x; - } - temp_f29 = arg1->y + var_f31 * sp1C.y; - temp_f28 = arg1->z + var_f31 * sp1C.z; - if (temp_f29 <= arg0[0].y && temp_f29 >= arg0[2].y && temp_f28 <= arg0[0].z && temp_f28 >= arg0[2].z) { - arg3->x = arg0[0].x + arg4 + 1.0f; - arg3->y = temp_f29; - arg3->z = temp_f28; - VECAdd((Vec *)&arg3, &sp10, (Vec *)&arg3); - return 1; - } - } - break; - case 4: - if (sp40.z >= arg0[0].z && sp34.z < arg0[0].z) { - if (sp1C.z == 0.0f) { - var_f31 = 0.0f; - } - else { - var_f31 = (arg0[0].z - arg1->z) / sp1C.z; - } - temp_f30 = arg1->x + var_f31 * sp1C.x; - temp_f29 = arg1->y + var_f31 * sp1C.y; - if (temp_f30 >= arg0[0].x && temp_f30 <= arg0[2].x && temp_f29 <= arg0[0].y && temp_f29 >= arg0[2].y) { - arg3->x = temp_f30; - arg3->y = temp_f29; - arg3->z = arg0[0].z + arg4 + 1.0f; - VECAdd((Vec *)&arg3, &sp10, (Vec *)&arg3); - return 1; - } - } - break; - case 5: - if (sp40.z <= arg0[0].z && sp34.z > arg0[0].z) { - if (sp1C.z == 0.0f) { - var_f31 = 0.0f; - } - else { - var_f31 = (arg0[0].z - arg1->z) / sp1C.z; - } - temp_f30 = arg1->x + var_f31 * sp1C.x; - temp_f29 = arg1->y + var_f31 * sp1C.y; - if (temp_f30 <= arg0[0].x && temp_f30 >= arg0[2].x && temp_f29 <= arg0[0].y && temp_f29 >= arg0[2].y) { - arg3->x = temp_f30; - arg3->y = temp_f29; - arg3->z = arg0[0].z - arg4 - 1.0f; - VECAdd((Vec *)&arg3, &sp10, (Vec *)&arg3); - return 1; - } - } - break; - } - return 0; -} diff --git a/src/REL/m424Dll/ball.c b/src/REL/m424Dll/ball.c deleted file mode 100644 index c8c3177e..00000000 --- a/src/REL/m424Dll/ball.c +++ /dev/null @@ -1,1803 +0,0 @@ -#include "REL/m424Dll.h" - -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/gamework_data.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "string.h" - -// STRUCT -typedef struct _M424DllBallStruct { - u8 unk0; - u8 unk1; - u8 unk2; - u8 unk3; - u8 unk4; - u8 unk5; - u8 unk6; - u8 unk7; - u8 unk8; - u8 unk9; - u8 unkA; - char unkB[0x1]; - u8 unkC; - u8 unkD; - u8 unkE; - s16 unk10; - s16 unk12; - s16 unk14; - s16 unk16; - s16 unk18; - s16 unk1A; - f32 unk1C; - f32 unk20; - f32 unk24; - f32 unk28; - f32 unk2C; - f32 unk30; - Vec unk34; - Vec unk40; - Vec unk4C; - Vec unk58; - void *unk64; // sizeof 0x40 - char unk68[0x3C]; - u8 unkA4; - void *unkA8; // sizeof 0x40 - char unkAC[0x3C]; - s32 unkE8; - s32 unkEC; -} M424DllBallStruct; // sizeof 0xF0 - -typedef struct _M424DllBallStruct3 { - u8 unk0; - M424DllBallStruct2 *unk4; - M424DllBallStruct2 *unk8; -} M424DllBallStruct3; - -typedef struct _M424BallStruct4 { - f32 unk0; - f32 unk4; - f32 unk8; - char unkC[0x8]; - f32 unk14; - f32 unk18; - char unk1C[0x8]; - f32 unk24; - f32 unk28; -} M424BallStruct4; - -// BSS -void *lbl_1_bss_5BC[0x20]; -omObjData *lbl_1_bss_5AC[4]; -omObjData *lbl_1_bss_594[6]; -M424DllBallStruct2 lbl_1_bss_60[9]; -s32 lbl_1_bss_5C; -u8 lbl_1_bss_58; - -// PROTO -f32 fn_1_25C0(void); -void fn_1_28A0(omObjData *object); -void fn_1_2E3C(omObjData *object); -void fn_1_31C0(omObjData *object); -void fn_1_37FC(omObjData *object); -void fn_1_4220(omObjData *object); -void fn_1_469C(omObjData *object); -u8 fn_1_48D0(omObjData *object, u8, u8); -void fn_1_4A90(s16); -void fn_1_6038(void); -void *fn_1_6078(s32); -void fn_1_61AC(void); -s32 fn_1_627C(void); -void fn_1_6230(s16, Mtx); -void fn_1_62D0(s32, u32 *); -f32 fn_1_640C(f32, f32, f32); -f32 fn_1_6D10(Vec, Vec, f32, Vec, Vec, f32); -f32 fn_1_709C(Vec, Vec, f32, f32); -f32 fn_1_7420(Vec, Vec, f32, f32); -void fn_1_77C4(Vec, Vec, Vec, f32, Vec *, Vec *); -void fn_1_79FC(Vec *, Vec *, f32, Vec *, Vec *, f32, f32); -void fn_1_7CA0(Vec, Vec, f32, Vec *); -void fn_1_8924(u8, u8); -void fn_1_8AA8(s32, s32); -s32 fn_1_8C78(s32, s32); -s32 fn_1_907C(Vec *, Vec *); - -void fn_1_2720(Process *arg0) -{ - u32 sp8[10]; - omObjData *var_r30; - s32 temp_r28; - s32 var_r29; - s32 var_r31; - - temp_r28 = frand() & 0x1F; - for (var_r31 = 0; var_r31 < temp_r28; var_r31++) { - fn_1_627C(); - } - fn_1_62D0(8, sp8); - sp8[8] = 8; - - for (var_r31 = 0, var_r29 = 0; var_r31 < 4; var_r31++) { - if (GWPlayerCfg[var_r31].group != 0) { - var_r30 = omAddObjEx(arg0, 0x3E, 3, 11, 0, fn_1_28A0); - lbl_1_bss_5AC[var_r29] = var_r30; - var_r30->work[0] = var_r31; - var_r30->work[1] = sp8[var_r29]; - var_r29++; - } - } - - for (var_r31 = 0; var_r31 < 6; var_r29++, var_r31++) { - var_r30 = omAddObjEx(arg0, 0x3F, 2, 5, 0, fn_1_4220); - lbl_1_bss_594[var_r31] = var_r30; - var_r30->work[0] = var_r31; - var_r30->work[1] = sp8[var_r29]; - } - Hu3DLayerHookSet(7, fn_1_4A90); - fn_1_6038(); -} - -void fn_1_2880(void) -{ - fn_1_61AC(); -} - -u32 lbl_1_data_150[11] = { 0, 2, 3, 8, 10, 9, 20, 22, 23, 24, 0x370021 }; -Vec lbl_1_data_17C[4] = { { -100.0f, 200.0f, -100.0f }, { 300.0f, 200.0f, -100.0f }, { -300.0f, 200.0f, 300.0f }, { 300.0f, 200.0f, 0.0f } }; - -void fn_1_28A0(omObjData *object) -{ - Vec sp8; - f32 temp_f31; - f32 temp_f30; - M424DllBallStruct *var_r31; - s32 var_r29; - s32 temp_r28; - s32 var_r27; - - object->data = var_r31 = fn_1_6078(0xF0); - memset(var_r31, 0, 0xF0); - var_r31->unk0 = object->work[0]; - var_r31->unk1 = GWPlayerCfg[var_r31->unk0].character; - var_r31->unk2 = GWPlayerCfg[var_r31->unk0].group; - var_r31->unk3 = 0; - var_r31->unk4 = GWPlayerCfg[var_r31->unk0].pad_idx; - var_r31->unk5 = GWPlayerCfg[var_r31->unk0].iscom; - var_r31->unk6 = GWPlayerCfg[var_r31->unk0].diff; - var_r31->unk18 = var_r31->unk1A = 0; - var_r31->unk30 = 1.0f; - var_r31->unk7 = 1; - var_r31->unkC = 1; - var_r31->unkD = 0; - var_r31->unkA = 0; - var_r31->unkA4 = 0; - var_r31->unkE = 0; - memset(&var_r31->unk64, 0, 0x40); - var_r31->unkE8 = 0; - var_r31->unkEC = -1; - temp_r28 = object->work[1]; - temp_f31 = 40.0f; - temp_f31 = (temp_f31 * temp_r28) + (temp_f31 * (fn_1_627C() / 65536.0f)) + 105.0f; - temp_f30 = 125.0f; - temp_f30 = (temp_f30 * (temp_r28 & 1)) + (100.0f + (250.0f + (temp_f30 * (fn_1_627C() / 65536.0f)))); - sp8.x = temp_f30 * sind(temp_f31); - sp8.y = 200.0f; - sp8.z = temp_f30 * cosd(temp_f31); - var_r31->unk34 = sp8; - var_r31->unk4C.x = var_r31->unk4C.y = var_r31->unk4C.z = 0.0f; - var_r31->unk40.x = var_r31->unk40.y = var_r31->unk40.z = 0.0f; - var_r31->unk1C = 0.8f; - var_r31->unk24 = var_r31->unk40.y; - var_r31->unk2C = 1.0f; - var_r31->unk28 = 0.0f; - var_r31->unk20 = 0.0f; - memset(&var_r31->unkA8, 0, 0x40); - object->model[0] = var_r27 = CharModelCreate(var_r31->unk1, 8); - Hu3DModelAttrSet(var_r27, 0x40000001); - CharModelStepTypeSet(var_r31->unk1, 1); - CharModelLayerSetAll(2); - for (var_r29 = 0; var_r29 < 11; var_r29++) { - if (lbl_1_data_150[var_r29] + 0xFFC90000 != 0x21) { - object->motion[var_r29] = CharModelMotionCreate(var_r31->unk1, lbl_1_data_150[var_r29]); - } - else if (var_r31->unk1 == 5) { - object->motion[var_r29] - = Hu3DJointMotion(object->model[0], HuDataSelHeapReadNum(var_r31->unk1 + lbl_1_data_150[var_r29], 0x10000000, HEAP_DATA)); - } - else { - object->motion[var_r29] = object->motion[0]; - } - if (lbl_1_data_150[var_r29] == 0x16 || lbl_1_data_150[var_r29] == 0x14) { - CharModelVoiceEnableSet(var_r31->unk1, object->motion[var_r29], 0); - } - } - CharModelMotionDataClose(var_r31->unk1); - CharModelMotionSet(var_r31->unk1, object->motion[var_r31->unk18]); - omSetTra(object, var_r31->unk34.x, var_r31->unk34.y, var_r31->unk34.z); - omSetRot(object, var_r31->unk40.x, var_r31->unk40.y, var_r31->unk40.z); - omSetSca(object, var_r31->unk1C, var_r31->unk1C, var_r31->unk1C); - object->model[1] = fn_1_48D0(object, var_r31->unk1, 1); - object->func = fn_1_2E3C; -} - -void fn_1_2E38(void) { } - -void fn_1_2E3C(omObjData *object) -{ - s32 temp_r29; - M424DllBallStruct *temp_r31; - - temp_r29 = object->model[0]; - temp_r31 = object->data; - if (temp_r31->unk7 != 0) { - if ((fn_1_FE0() == 4) && ((temp_r31->unk7 & 2) == 0)) { - if (temp_r31->unk5 != 0) { - fn_1_31C0(object); - } - else { - temp_r31->unk10 = HuPadStkX[temp_r31->unk4]; - temp_r31->unk12 = HuPadStkY[temp_r31->unk4]; - temp_r31->unk14 = HuPadBtnDown[temp_r31->unk4]; - temp_r31->unk16 = HuPadBtn[temp_r31->unk4]; - } - } - else { - temp_r31->unk10 = temp_r31->unk12 = 0; - temp_r31->unk14 = temp_r31->unk16 = 0; - } - switch (temp_r31->unk8) { - case 1: - temp_r31->unkC = 1; - if (fn_1_FE0() == 6) { - fn_1_8924(object->model[1], 5); - } - break; - case 5: - temp_r31->unkC = 0; - temp_r31->unk1C *= 1.1f; - if (temp_r31->unk1C >= 1.0f) { - temp_r31->unk1C = 1.0f; - } - temp_r31->unk40.y = fn_1_640C(temp_r31->unk40.y, 0.0f, 0.9f); - if (temp_r31->unk34.y <= 200.0f) { - temp_r31->unk34.y = 200.0f; - temp_r31->unkC = 1; - } - Hu3DModelShadowSet(temp_r29); - break; - case 4: - temp_r31->unk20 = 0.0f; - temp_r31->unk4C.y = 0.0f; - temp_r31->unk7 |= 2; - break; - case 6: - temp_r31->unk10 = temp_r31->unk12 = 0; - temp_r31->unk14 = temp_r31->unk16 = 0; - temp_r31->unk1C = 1.0f; - temp_r31->unk40.y = temp_r31->unk24 = 0.0f; - if (temp_r31->unk34.y <= 50.0f) { - temp_r31->unkC = 1; - temp_r31->unk20 = 0.0f; - temp_r31->unk4C.y = 0.0f; - temp_r31->unk18 = 7; - temp_r31->unk34.x += fn_1_25C0(); - temp_r31->unk34.y = 50.0f; - } - else { - temp_r31->unkC = 0; - temp_r31->unk20 += 3.0f; - temp_r31->unk4C.y += -1.46f; - if (temp_r31->unk1 != 5) { - temp_r31->unk18 = 6; - } - else { - temp_r31->unk18 = 0xA; - } - } - break; - } - if ((fn_1_FE0() == 7) && ((temp_r31->unk7 & 2) == 0)) { - temp_r31->unk18 = 8; - } - fn_1_37FC(object); - } -} - -void fn_1_31C0(omObjData *object) -{ - Vec sp10; - s32 spC; - s16 sp8; - f32 temp_f31; - f32 temp_f30; - M424DllBallStruct *temp_r31; - s16 temp_r30; - s16 var_r29; - s16 var_r28; - s16 var_r26; - s16 var_r25; - - temp_r31 = object->data; - spC = object->model[0]; - sp8 = temp_r31->unk18; - temp_r30 = temp_r31->unk6; - - var_r29 = var_r28 = var_r26 = var_r25 = 0; - switch (temp_r31->unk8) { - case 2: - break; - case 1: - if ((fn_1_627C() & 0x1F) == 0) { - temp_f31 = atan2d(temp_r31->unk34.x, temp_r31->unk34.z); - temp_f31 += ((30.0f - (5.0f * temp_r30)) * ((fn_1_627C() - 0x8000) / 32768.0f)); - sp10.x = sind(temp_f31); - sp10.z = cosd(temp_f31); - temp_f30 = fn_1_213C(); - if ((temp_f31 > 70.0f) && (temp_f31 < 100.0f)) { - if (temp_f30 < 0.0f) { - var_r29 = (-sp10.z * (48.0f + (6.0f * temp_r30))); - var_r28 = (-sp10.x * (48.0f + (6.0f * temp_r30))); - } - else { - var_r29 = (sp10.z * (48.0f + (6.0f * temp_r30))); - var_r28 = (sp10.x * (48.0f + (6.0f * temp_r30))); - } - } - else if (temp_f30 < 0.0f) { - var_r29 = (sp10.z * (48.0f + (6.0f * temp_r30))); - var_r28 = (sp10.x * (48.0f + (6.0f * temp_r30))); - } - else { - var_r29 = (-sp10.z * (48.0f + (6.0f * temp_r30))); - var_r28 = (-sp10.x * (48.0f + (6.0f * temp_r30))); - } - } - else { - var_r29 = temp_r31->unk10; - var_r28 = temp_r31->unk12; - } - break; - case 3: - if ((fn_1_627C() & 0x1F) == 0) { - temp_f31 = 180.0f * ((fn_1_627C() - 0x8000) / 32768.0f); - sp10.x = sind(temp_f31); - sp10.z = cosd(temp_f31); - var_r29 = (48.0f * sp10.x); - var_r28 = (48.0f * sp10.z); - } - else { - var_r29 = temp_r31->unk10; - var_r28 = temp_r31->unk12; - } - break; - } - temp_r31->unk10 = var_r29; - temp_r31->unk12 = var_r28; - temp_r31->unk14 = var_r26; - temp_r31->unk16 = var_r25; -} - -void fn_1_37FC(omObjData *object) -{ - s16 spA; - s16 sp8; - f32 var_f30; - f32 var_f28; - f32 temp_f27; - M424DllBallStruct *temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 var_r28; - s16 var_r27; - s32 temp_r25; - - var_f30 = 1.0f; - temp_r31 = object->data; - temp_r25 = object->model[0]; - var_r28 = temp_r31->unk18; - temp_r31->unk58 = temp_r31->unk34; - temp_r30 = temp_r31->unk10; - temp_r29 = temp_r31->unk12; - spA = temp_r31->unk14; - sp8 = temp_r31->unk16; - switch (temp_r31->unk18) { - case 0: - case 1: - case 2: - temp_r31->unk20 = (0.025f * sqrtf((temp_r30 * temp_r30) + (temp_r29 * temp_r29))); - if (temp_r31->unk20 > 0.01f) { - if (temp_r31->unk20 >= 6.0f) { - var_r28 = 2; - var_r27 = 1; - } - else { - var_r28 = 1; - var_r27 = 1; - } - var_f28 = atan2d(temp_r30, -temp_r29); - temp_r31->unk40.y = fn_1_640C(temp_r31->unk40.y, var_f28, 0.5f); - temp_r31->unk24 = temp_r31->unk40.y; - temp_r31->unk28++; - if (temp_r31->unk28 >= (0.5f * temp_r31->unk2C)) { - temp_r31->unk28 -= 0.5f * temp_r31->unk2C; - } - temp_r31->unk20 *= 1.0 + 0.25 * cosd(90.0f * (temp_r31->unk28 / (0.5f * temp_r31->unk2C))); - } - else { - temp_r31->unk28 = 0.0f; - temp_r31->unk20 = 0.0f; - var_r28 = 0; - var_r27 = 1; - } - if (temp_r31->unkC != 0) { - temp_r31->unk4C.y = -2.4333334f; - } - else { - temp_r31->unk4C.y += -2.4333334f; - } - break; - case 3: - var_r27 = 0; - if ((Hu3DData[temp_r25].unk_0C == -1) && (CharModelMotionEndCheck(temp_r31->unk1) != 0)) { - temp_r31->unk4C.y += -2.4333334f; - } - else { - temp_r31->unk4C.y = 0.0f; - } - if (temp_r31->unkC != 0) { - if (temp_r31->unkD != 0) { - temp_r31->unk4C.y = 0.0f; - temp_r31->unkD = 0; - var_r28 = 5; - var_r27 = 0; - } - else { - temp_r31->unk4C.y *= -0.1f; - temp_r31->unkC = 0; - var_r28 = 4; - var_r27 = 0; - } - } - break; - case 4: - temp_r31->unk4C.y += -2.4333334f; - if ((temp_r31->unkC != 0) && (CharModelMotionEndCheck(temp_r31->unk1) != 0)) { - var_r28 = 5; - var_r27 = 0; - } - break; - case 5: - if (CharModelMotionEndCheck(temp_r31->unk1) != 0) { - var_r28 = 0; - var_r27 = 1; - } - break; - case 6: - var_r28 = 6; - var_r27 = 0; - if (temp_r31->unk1 == 7) { - var_f30 = 0.85f; - temp_r31->unk30 = 0.9f; - } - break; - case 7: - var_r28 = 7; - var_r27 = 1; - if (temp_r31->unkE8 == 1) { - temp_r31->unkEC = HuAudCharVoicePlay(temp_r31->unk1, 0x11A); - } - else if ((temp_r31->unkE8 > 90.0f) && (temp_r31->unkEC != -1)) { - HuAudFXStop(temp_r31->unkEC); - temp_r31->unkEC = -1; - } - temp_r31->unkE8++; - break; - case 8: - case 9: - var_r27 = 0; - temp_r31->unk4C.y = -2.4333334f; - break; - case 10: - var_r28 = 10; - var_r27 = 4; - var_f30 = 0.8f; - temp_r31->unk30 = 0.85f; - if ((var_r28 == temp_r31->unk18) && (Hu3DMotionShiftIDGet(temp_r25) != -1)) { - temp_f27 = Hu3DMotionMaxTimeGet(temp_r25); - if (Hu3DMotionTimeGet(temp_r25) >= temp_f27) { - var_r28 = 7; - var_r27 = 1; - } - } - break; - } - if ((temp_r31->unk7 & 4) != 0) { - if ((temp_r31->unkA & 2) != 0) { - Hu3DModelAttrSet(temp_r25, 1); - } - else { - Hu3DModelAttrReset(temp_r25, 1); - } - if (--temp_r31->unkA == 0) { - temp_r31->unk7 &= ~4; - } - } - temp_r31->unk4C.x = temp_r31->unk20 * sind(temp_r31->unk24); - temp_r31->unk4C.z = temp_r31->unk20 * cosd(temp_r31->unk24); - temp_r31->unk34.x += temp_r31->unk4C.x; - if (temp_r31->unkC == 0) { - temp_r31->unk34.y += temp_r31->unk4C.y; - } - temp_r31->unk34.z += temp_r31->unk4C.z; - if (var_r28 != temp_r31->unk1A) { - temp_r31->unk1A = var_r28; - temp_r31->unk18 = var_r28; - CharModelMotionShiftSet(temp_r31->unk1, object->motion[temp_r31->unk18], 0.0f, 8.0f, var_r27); - temp_r31->unk2C = CharModelMotionMaxTimeGet(temp_r31->unk1); - } - if (temp_r31->unk30 != var_f30) { - if (var_f30 > temp_r31->unk30) { - if ((temp_r31->unk30 += 0.05f) > var_f30) { - temp_r31->unk30 = var_f30; - } - } - if (var_f30 < temp_r31->unk30) { - if ((temp_r31->unk30 -= 0.05f) < var_f30) { - temp_r31->unk30 = var_f30; - } - } - temp_r31->unk1C = temp_r31->unk30; - } - omSetTra(object, temp_r31->unk34.x, temp_r31->unk34.y, temp_r31->unk34.z); - omSetRot(object, temp_r31->unk40.x, temp_r31->unk40.y, temp_r31->unk40.z); - omSetSca(object, temp_r31->unk1C, temp_r31->unk1C, temp_r31->unk1C); -} - -void fn_1_4220(omObjData *object) -{ - s32 sp14[3] = { 0x370013, 0x370014, 0x370015 }; - Vec sp8; - f32 temp_f31; - f32 temp_f30; - M424DllBallStruct *var_r31; - s32 var_r29; - s32 temp_r28; - s32 var_r27; - - object->model[0] = var_r27 = Hu3DModelCreateFile(0x370012); - - for (var_r29 = 0; var_r29 < 3; var_r29++) { - object->motion[var_r29] = Hu3DJointMotion(var_r27, HuDataSelHeapReadNum(sp14[var_r29], 0x10000000, HEAP_DATA)); - } - Hu3DMotionSet(var_r27, object->motion[0]); - Hu3DModelAttrSet(var_r27, 0x40000001); - var_r31 = fn_1_6078(0xF0); - object->data = var_r31; - memset(var_r31, 0, 0xF0); - var_r31->unk0 = object->work[0]; - var_r31->unk1 = 0xFF; - var_r31->unk2 = 0xFF; - var_r31->unk3 = 0; - var_r31->unk4 = 0xFF; - var_r31->unk5 = 0xFF; - var_r31->unk6 = 0xFF; - var_r31->unk18 = var_r31->unk1A = 0; - var_r31->unk7 = 1; - var_r31->unkC = 1; - var_r31->unkD = 0; - var_r31->unkA = 0; - var_r31->unkA4 = 0; - var_r31->unkE = 0; - memset(&var_r31->unk64, 0, 0x40); - temp_r28 = object->work[1]; - if (temp_r28 == 8) { - sp8.x = 350.0f; - sp8.y = 200.0f; - sp8.z = 50.0f; - } - else { - temp_f31 = 40.0f; - temp_f31 = 105.0f + ((temp_f31 * temp_r28) + (temp_f31 * (fn_1_627C() / 65536.0f))); - temp_f30 = 125.0f; - temp_f30 = (temp_f30 * (temp_r28 & 1)) + (100.0f + (250.0f + (temp_f30 * (fn_1_627C() / 65536.0f)))); - sp8.x = temp_f30 * sind(temp_f31); - sp8.y = 200.0f; - sp8.z = temp_f30 * cosd(temp_f31); - } - var_r31->unk34 = sp8; - var_r31->unk4C.x = var_r31->unk4C.y = var_r31->unk4C.z = 0.0f; - var_r31->unk40.x = var_r31->unk40.y = var_r31->unk40.z = 0.0f; - var_r31->unk24 = var_r31->unk40.y; - var_r31->unk2C = 1.0f; - var_r31->unk28 = 0.0f; - var_r31->unk20 = 0.0f; - memset(&var_r31->unkA8, 0, 0x40); - omSetTra(object, var_r31->unk34.x, var_r31->unk34.y, var_r31->unk34.z); - omSetRot(object, var_r31->unk40.x, var_r31->unk40.y, var_r31->unk40.z); - omSetSca(object, 0.8f, 0.8f, 0.8f); - object->model[1] = fn_1_48D0(object, 8, 0); - object->func = fn_1_469C; -} - -fn_1_4698(void) { } - -void fn_1_469C(omObjData *object) -{ - s32 temp_r27; - s16 var_r28; - s16 var_r30; - M424DllBallStruct *temp_r31; - - temp_r31 = object->data; - temp_r27 = object->model[0]; - var_r30 = temp_r31->unk18; - temp_r31->unk58 = temp_r31->unk34; - - temp_r31->unk4C.x = temp_r31->unk4C.z = 0.0f; - switch (temp_r31->unk8) { /* irregular */ - case 3: - var_r30 = 2; - var_r28 = 1; - temp_r31->unk4C.y = -2.4333334f; - if ((fn_1_627C() & 0xF) == 0) { - temp_r31->unk24 = (180.0f * ((fn_1_627C() - 0x8000) / 32768.0f)); - } - break; - case 1: - var_r30 = 1; - var_r28 = 1; - temp_r31->unk4C.y = -2.4333334f; - if ((fn_1_627C() & 0x3F) == 0) { - temp_r31->unk24 = (180.0f * ((fn_1_627C() - 0x8000) / 32768.0f)); - } - break; - case 2: - var_r30 = 0; - var_r28 = 1; - - temp_r31->unk4C.x = temp_r31->unk4C.z = 0.0f; - temp_r31->unk4C.y += -0.97333336f; - break; - } - temp_r31->unk40.y = fn_1_640C(temp_r31->unk40.y, temp_r31->unk24, 0.95f); - if (var_r30 != temp_r31->unk1A) { - temp_r31->unk1A = var_r30; - temp_r31->unk18 = var_r30; - Hu3DMotionShiftSet(temp_r27, object->motion[temp_r31->unk18], 0.0f, 8.0f, (u32)var_r28); - temp_r31->unk2C = Hu3DMotionMaxTimeGet(temp_r31->unk1); - } -} - -u8 fn_1_48D0(omObjData *object, u8 arg1, u8 arg2) -{ - M424DllBallStruct2 *temp_r31; - s32 var_r30; - s32 var_r28; - - var_r28 = lbl_1_bss_58; - lbl_1_bss_58++; - temp_r31 = &lbl_1_bss_60[var_r28]; - memset(temp_r31, 0, 0x94); - temp_r31->unk0 = object; - var_r30 = Hu3DModelCreate(HuDataSelHeapReadNum((arg1 * 2) + 0x370000, 0x10000000, HEAP_DATA)); - temp_r31->unk8 = var_r30; - Hu3DModelLayerSet(var_r30, 2); - Hu3DModelShadowMapSet(var_r30); - Hu3DModelAttrSet(var_r30, 0x20000); - Hu3DModelHiliteMapSet(var_r30, HuSprAnimRead(HuDataReadNum(0x370016, 0x10000000))); - var_r30 = Hu3DModelCreate(HuDataSelHeapReadNum((arg1 * 2) + 0x370001, 0x10000000, HEAP_DATA)); - temp_r31->unkA = var_r30; - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelShadowSet(var_r30); - MTXIdentity(temp_r31->unkC); - temp_r31->unk3C.x = object->trans.x; - temp_r31->unk3C.y = 100.0f + object->trans.y; - temp_r31->unk3C.z = object->trans.z; - temp_r31->unk54 = temp_r31->unk3C; - temp_r31->unk6C.x = temp_r31->unk6C.y = temp_r31->unk6C.z = 0.0f; - temp_r31->unk5 = arg2; - temp_r31->unk4 = 2; - temp_r31->unk6 = 0; - if (arg2 != 0) { - temp_r31->unk91 = arg1; - } - else { - temp_r31->unk91 = 0xFFU; - } - return var_r28; -} - -void fn_1_4A90(s16 arg0) -{ - Mtx sp50; - Mtx sp20; - Vec sp14; - Vec sp8; - f32 var_f31; - f32 var_f30; - M424DllBallStruct2 *var_r31; - M424DllBallStruct *temp_r30; - s32 var_r29; - - if (omPauseChk() == 0) { - var_r31 = lbl_1_bss_60; - var_f31 = fn_1_213C(); - mtxRot(sp20, 0.0f, var_f31, 0.0f); - - for (var_r29 = 0; var_r29 < lbl_1_bss_58; var_r29++, var_r31++) { - temp_r30 = var_r31->unk0->data; - var_r31->unk48 = var_r31->unk54; - var_r31->unk60 = var_r31->unk48; - var_r31->unk78.x = var_r31->unk78.y = var_r31->unk78.z = 0.0f; - switch (var_r31->unk4) { - case 1: - MTXTrans(sp50, var_r31->unk3C.x, var_r31->unk3C.y, var_r31->unk3C.z); - MTXConcat(sp20, sp50, sp50); - var_r31->unk48.x = sp50[0][3]; - var_r31->unk48.y = sp50[1][3]; - var_r31->unk48.z = sp50[2][3]; - VECSubtract(&var_r31->unk48, &var_r31->unk3C, &var_r31->unk78); - VECSubtract(&var_r31->unk3C, &var_r31->unk54, &sp14); - VECAdd(&temp_r30->unk4C, &sp14, &var_r31->unk84); - VECAdd(&var_r31->unk84, &var_r31->unk78, &var_r31->unk6C); - var_r31->unk84.y = 0.0f; - var_r31->unk4 = 2; - break; - case 3: - VECSubtract(&var_r31->unk3C, &var_r31->unk60, &var_r31->unk6C); - var_r31->unk84 = var_r31->unk6C; - break; - case 4: - var_r31->unk6C.y += -2.4333334f; - var_r31->unk6C.x = var_r31->unk6C.z = 0.0f; - var_r31->unk84 = var_r31->unk6C; - break; - case 2: - var_r31->unk6C.y = 0.0f; - var_r31->unk6C.x = var_r31->unk6C.z = 0.0f; - VECSubtract(&var_r31->unk3C, &var_r31->unk54, &sp14); - VECAdd(&temp_r30->unk4C, &sp14, &var_r31->unk84); - var_r31->unk6C = var_r31->unk84; - break; - case 5: - if ((var_r31->unk6 & 2) != 0) { - Hu3DModelAttrSet(var_r31->unk8, 1); - Hu3DModelAttrSet(var_r31->unkA, 1); - } - else { - Hu3DModelAttrReset(var_r31->unk8, 1); - Hu3DModelAttrReset(var_r31->unkA, 1); - } - if (++var_r31->unk6 >= 0x3C) { - var_r31->unk4 = 6; - } - break; - default: - var_r31->unk6C.x = var_r31->unk6C.y = var_r31->unk6C.z = 0.0f; - break; - } - } - fn_1_8AA8(0x20, 1); - var_r31 = lbl_1_bss_60; - for (var_r29 = 0; var_r29 < lbl_1_bss_58; var_r29++, var_r31++) { - if (var_r31->unk4 != 6) { - if (var_r31->unk4 == 1) { - VECSubtract(&var_r31->unk3C, &var_r31->unk48, &sp14); - sp8.x = sp14.z; - sp8.y = 0.0f; - sp8.z = -sp14.x; - var_f30 = VECMag(&sp8); - if (var_f30 > 0.01f) { - MTXRotAxisRad(sp50, &sp8, MTXDegToRad(var_f30)); - MTXConcat(sp20, sp50, sp50); - } - else { - MTXCopy(sp20, sp50); - } - MTXConcat(sp50, var_r31->unkC, var_r31->unkC); - fn_1_6230(var_r31->unk8, var_r31->unkC); - fn_1_6230(var_r31->unkA, var_r31->unkC); - } - if (var_r31->unk3C.y < 250.0f) { - var_r31->unk3C.y = 250.0f; - var_r31->unk4 = 6; - Hu3DModelAttrSet(var_r31->unk8, 1); - Hu3DModelAttrSet(var_r31->unkA, 1); - } - Hu3DModelPosSet(var_r31->unk8, var_r31->unk3C.x, var_r31->unk3C.y, var_r31->unk3C.z); - Hu3DModelPosSet(var_r31->unkA, var_r31->unk3C.x, var_r31->unk3C.y, var_r31->unk3C.z); - VECSubtract(&var_r31->unk3C, &var_r31->unk54, &sp14); - var_r31->unk6C = sp14; - var_r31->unk54 = var_r31->unk3C; - temp_r30 = var_r31->unk0->data; - temp_r30->unk8 = var_r31->unk4; - temp_r30->unk40.y += var_f31; - if (var_r31->unk4 != 5) { - temp_r30->unk34 = var_r31->unk3C; - temp_r30->unk34.y -= 80.0f; - omSetTra(var_r31->unk0, temp_r30->unk34.x, temp_r30->unk34.y, temp_r30->unk34.z); - omSetRot(var_r31->unk0, temp_r30->unk40.x, temp_r30->unk40.y, temp_r30->unk40.z); - } - } - } - } -} - -void fn_1_5018(void) -{ - M424DllBallStruct3 sp27C[32]; - Vec sp270; - Vec sp264; - Vec sp258; - Vec sp24C; - Vec sp240; - Vec sp234; - Vec sp228; - f32 var_f31; - f32 var_f30; - f32 var_f29; - f32 temp_f28; - M424DllBallStruct2 *var_r31; - M424DllBallStruct2 *var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - - var_r31 = &lbl_1_bss_60[0]; - for (var_r28 = 0; var_r28 < lbl_1_bss_58; var_r28++, var_r31++) { - var_r31->unk90 = 1; - } - - for (var_r26 = 0, var_f29 = 1.0f; var_r26 < 0x80; var_f29 -= var_f30, var_r26++) { - var_r29 = 0; - var_f30 = var_f29; - var_r31 = &lbl_1_bss_60[0]; - for (var_r28 = 0; var_r28 < lbl_1_bss_58; var_r28++, var_r31++) { - if ((var_r31->unk90 != 0) && (var_r31->unk4 < 4)) { - var_r31->unk90 = 0; - if (var_r31->unk4 < 3) { - if (var_r31->unk6C.y < 0.0f) { - var_f31 = (200.0f - (var_r31->unk60.y - 100.0f)) / var_r31->unk6C.y; - if (var_f31 <= var_f29) { - if (var_f31 < 0.0f) { - var_f31 = 0.0f; - } - var_r31->unk90 = 1; - if (var_f31 <= var_f30) { - if (var_f31 < var_f30) { - var_r29 = 0; - } - sp27C[var_r29].unk0 = 0; - sp27C[var_r29].unk4 = var_r31; - sp27C[var_r29].unk8 = 0; - var_r29++; - var_f30 = var_f31; - } - } - } - if (var_r31->unk4 == 1) { - var_f31 = fn_1_7420(var_r31->unk60, var_r31->unk84, 100.0f, 700.0f); - } - else { - var_f31 = fn_1_7420(var_r31->unk60, var_r31->unk6C, 100.0f, 700.0f); - } - if (var_f31 >= 0.0f && var_f31 <= var_f29) { - var_r31->unk90 = 1; - if (var_f31 <= var_f30) { - if (var_f31 < var_f30) { - var_r29 = 0; - } - sp27C[var_r29].unk0 = 1; - sp27C[var_r29].unk4 = var_r31; - sp27C[var_r29].unk8 = 0; - var_r29++; - var_f30 = var_f31; - } - } - if (var_r31->unk4 == 1) { - var_f31 = fn_1_709C(var_r31->unk60, var_r31->unk84, 100.0f, 250.0f); - } - else { - var_f31 = fn_1_709C(var_r31->unk60, var_r31->unk6C, 100.0f, 250.0f); - } - if (var_f31 >= 0.0f && var_f31 <= var_f29) { - var_r31->unk90 = 1; - if (var_f31 <= var_f30) { - if (var_f31 < var_f30) { - var_r29 = 0; - } - sp27C[var_r29].unk0 = 2; - sp27C[var_r29].unk4 = var_r31; - sp27C[var_r29].unk8 = 0; - var_r29++; - var_f30 = var_f31; - } - } - } - - var_r30 = lbl_1_bss_60; - for (var_r25 = 0; var_r25 < lbl_1_bss_58; var_r25++, var_r30++) { - if ((var_r31 != var_r30) && (var_r30->unk4 < 4)) { - if ((var_r31->unk4 == 1) && (var_r30->unk4 == 1)) { - var_f31 = fn_1_6D10(var_r31->unk60, var_r31->unk84, 100.0f, var_r30->unk60, var_r30->unk84, 100.0f); - } - else { - var_f31 = fn_1_6D10(var_r31->unk60, var_r31->unk6C, 100.0f, var_r30->unk60, var_r30->unk6C, 100.0f); - } - if ((var_f31 < 0.0f) || (var_f31 > var_f29)) - continue; - var_r31->unk90 = 1; - var_r30->unk90 = 1; - if (var_f31 > var_f30) - continue; - if (var_f31 < var_f30) { - var_r29 = 0; - } - else { - for (var_r27 = 0; var_r27 < var_r29; var_r27++) { - if ((sp27C[var_r27].unk4 == var_r30) && (sp27C[var_r27].unk8 == var_r31)) - break; - } - if (var_r27 < var_r29) - continue; - } - sp27C[var_r29].unk0 = 3; - sp27C[var_r29].unk4 = var_r31; - sp27C[var_r29].unk8 = var_r30; - var_r29++; - var_f30 = var_f31; - } - } - } - } - if (var_r29 == 0) - break; - var_r31 = lbl_1_bss_60; - for (var_r28 = 0; var_r28 < lbl_1_bss_58; var_r28++, var_r31++) { - var_r31->unk60.x += var_r31->unk6C.x * var_f30; - var_r31->unk60.y += var_r31->unk6C.y * var_f30; - var_r31->unk60.z += var_r31->unk6C.z * var_f30; - } - for (var_r28 = 0; var_r28 < var_r29; var_r28++) { - switch (sp27C[var_r28].unk0) { - case 0: - var_r31 = sp27C[var_r28].unk4; - var_r31->unk4 = 1; - sp234.y = 300.0f - var_r31->unk60.y; - var_r31->unk60.y = 300.0f; - var_r31->unk6C.y = sp234.y; - var_r31->unk84.y = sp234.y; - break; - case 1: - var_r31 = sp27C[var_r28].unk4; - sp240 = var_r31->unk60; - sp240.y = 0.0f; - VECNormalize(&sp240, &sp228); - sp228.x = -sp228.x; - sp228.y = 0.0f; - sp228.z = -sp228.z; - temp_f28 = VECMag(&sp240); - temp_f28 -= 600.0f; - var_r31->unk60.x += temp_f28 * sp228.x; - var_r31->unk60.z += temp_f28 * sp228.z; - sp240 = var_r31->unk60; - sp240.y = 0.0f; - if (var_r31->unk4 == 1) { - fn_1_7CA0(var_r31->unk84, sp228, 0.8f, &sp24C); - var_r31->unk84 = sp24C; - VECAdd(&var_r31->unk84, &var_r31->unk78, &var_r31->unk6C); - } - else { - fn_1_7CA0(var_r31->unk6C, sp228, 0.8f, &sp24C); - var_r31->unk6C = sp24C; - var_r31->unk84 = var_r31->unk6C; - } - break; - case 2: - var_r31 = sp27C[var_r28].unk4; - sp240 = var_r31->unk60; - sp240.y = 0.0f; - VECNormalize(&sp240, &sp228); - temp_f28 = VECMag(&sp240); - temp_f28 = 350.0f; - var_r31->unk60.x = temp_f28 * sp228.x; - var_r31->unk60.z = temp_f28 * sp228.z; - sp240 = var_r31->unk60; - sp240.y = 0.0f; - if (var_r31->unk4 == 1) { - fn_1_7CA0(var_r31->unk84, sp228, 0.8f, &sp24C); - var_r31->unk84 = sp24C; - VECAdd(&var_r31->unk84, &var_r31->unk78, &var_r31->unk6C); - } - else { - fn_1_7CA0(var_r31->unk6C, sp228, 0.8f, &sp24C); - var_r31->unk6C = sp24C; - var_r31->unk84 = var_r31->unk6C; - } - break; - case 3: - var_r31 = sp27C[var_r28].unk4; - var_r30 = sp27C[var_r28].unk8; - if (var_r31->unk4 == 3) { - fn_1_79FC(&var_r30->unk3C, &var_r30->unk6C, 100.0f, &var_r31->unk3C, &var_r31->unk6C, 100.0f, 0.8f); - var_r31->unk84 = var_r31->unk6C; - var_r30->unk84 = var_r30->unk6C; - } - else if (var_r30->unk4 == 3) { - fn_1_79FC(&var_r31->unk3C, &var_r31->unk6C, 100.0f, &var_r30->unk3C, &var_r30->unk6C, 100.0f, 0.8f); - var_r31->unk84 = var_r31->unk6C; - var_r30->unk84 = var_r30->unk6C; - } - else if ((var_r31->unk4 == 1) && (var_r30->unk4 == 1)) { - fn_1_77C4(var_r31->unk60, var_r31->unk84, var_r30->unk60, 0.8f, &sp24C, &sp258); - fn_1_77C4(var_r30->unk60, var_r30->unk84, var_r31->unk60, 0.8f, &sp270, &sp264); - VECAdd(&sp24C, &sp264, &var_r31->unk84); - VECAdd(&sp258, &sp270, &var_r30->unk84); - VECAdd(&var_r31->unk84, &var_r31->unk78, &var_r31->unk6C); - VECAdd(&var_r30->unk84, &var_r30->unk78, &var_r30->unk6C); - } - else { - fn_1_77C4(var_r31->unk60, var_r31->unk6C, var_r30->unk60, 0.8f, &sp24C, &sp258); - fn_1_77C4(var_r30->unk60, var_r30->unk6C, var_r31->unk60, 0.8f, &sp270, &sp264); - VECAdd(&sp24C, &sp264, &var_r31->unk6C); - VECAdd(&sp258, &sp270, &var_r30->unk6C); - var_r31->unk84 = var_r31->unk6C; - var_r30->unk84 = var_r30->unk6C; - } - break; - } - } - } - var_r31 = lbl_1_bss_60; - for (var_r28 = 0; var_r28 < lbl_1_bss_58; var_r28++, var_r31++) { - var_r31->unk3C.x = var_r31->unk60.x + (var_r31->unk6C.x * var_f29); - var_r31->unk3C.y = var_r31->unk60.y + (var_r31->unk6C.y * var_f29); - var_r31->unk3C.z = var_r31->unk60.z + (var_r31->unk6C.z * var_f29); - } -} - -void fn_1_6038(void) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0x20; var_r31++) { - lbl_1_bss_5BC[var_r31] = 0; - } -} - -void *fn_1_6078(s32 arg0) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0x20; var_r31++) { - if (lbl_1_bss_5BC[var_r31] == 0) - break; - } - if (var_r31 == 0x20) { - return NULL; - } - lbl_1_bss_5BC[var_r31] = HuMemDirectMallocNum(HEAP_SYSTEM, arg0, 0x10000000); - return lbl_1_bss_5BC[var_r31]; -} - -void fn_1_6118(void *arg0) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0x20; var_r31++) { - if (lbl_1_bss_5BC[var_r31] == arg0) - break; - } - if (var_r31 != 0x20) { - HuMemDirectFree(lbl_1_bss_5BC[var_r31]); - lbl_1_bss_5BC[var_r31] = NULL; - } -} - -void fn_1_61AC(void) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0x20; var_r31++) { - if (lbl_1_bss_5BC[var_r31]) { - HuMemDirectFree(lbl_1_bss_5BC[var_r31]); - lbl_1_bss_5BC[var_r31] = NULL; - } - } -} - -void fn_1_6230(s16 arg0, Mtx arg1) -{ - ModelData *var_r31; - - var_r31 = &Hu3DData[arg0]; - MTXCopy(arg1, var_r31->unk_F0); -} - -u32 lbl_1_data_1D8 = 0x41C64E6D; - -s32 fn_1_627C(void) -{ - lbl_1_data_1D8 *= 0x41C64E6D; - lbl_1_data_1D8 += 0x3039; - return lbl_1_data_1D8 >> 0x10; -} - -void fn_1_62D0(s32 arg0, u32 *arg1) -{ - s32 var_r31; - s32 temp_r30; - u32 temp_r29; - - for (var_r31 = 0; var_r31 < arg0; var_r31++) { - arg1[var_r31] = var_r31; - } - - for (var_r31 = 0; var_r31 < arg0 - 1; var_r31++) { - temp_r30 = (arg0 * (fn_1_627C() / 65536.0f)); - temp_r29 = arg1[var_r31]; - arg1[var_r31] = arg1[temp_r30]; - arg1[temp_r30] = temp_r29; - } -} - -f32 fn_1_640C(f32 arg0, f32 arg1, f32 arg2) -{ - f32 var_f31; - - if (arg0 > 180.0f) { - arg0 -= 360.0f; - } - else { - if (arg0 <= -180.0f) { - arg0 += 360.0f; - } - } - if (arg1 > 180.0f) { - arg1 -= 360.0f; - } - else { - if (arg1 <= -180.0f) { - arg1 += 360.0f; - } - } - var_f31 = arg0 - arg1; - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - else { - if (var_f31 <= -180.0f) { - var_f31 += 360.0f; - } - } - arg0 = arg1 + (var_f31 * arg2); - if (arg0 > 180.0f) { - return arg0 - 360.0f; - } - if (arg0 <= -180.0f) { - arg0 += 360.0f; - } - return arg0; -} - -void fn_1_6574(Mtx arg0, f32 arg8, f32 arg9, f32 argA) -{ - Mtx sp38; - Mtx sp8; - - if (argA != 0.0f) { - MTXRotRad(arg0, 0x5A, MTXDegToRad(argA)); - } - else { - MTXIdentity(arg0); - } - if (arg8 != 0.0f) { - MTXRotRad(sp38, 0x58, MTXDegToRad(arg8)); - MTXConcat(sp38, arg0, arg0); - } - if (arg9 != 0.0f) { - MTXRotRad(sp8, 0x59, MTXDegToRad(arg9)); - MTXConcat(sp8, arg0, arg0); - } -} - -void fn_1_6694(M424BallStruct4 *arg0, Vec *arg1) -{ - f32 temp_f29; - f32 var_f28; - - arg1->x = atan2d(arg0->unk18, arg0->unk28); - if (arg1->x < 0.0f) { - arg1->x += 360.0f; - } - arg1->z = atan2d(arg0->unk4, arg0->unk0); - if (arg1->z < 0.0f) { - arg1->z += 360.0f; - } - temp_f29 = -arg0->unk8; - var_f28 = sqrtf(ABS(1.0 - (temp_f29 * temp_f29))); - if ((arg1->x > 90.0f) && (arg1->x < 270.0f) && (arg1->z > 90.0f) && (arg1->z < 270.0f)) { - arg1->x = fmod((180.0f + arg1->x), 360.0); - arg1->z = fmod((180.0f + arg1->z), 360.0); - var_f28 = -var_f28; - } - arg1->y = atan2d(temp_f29, var_f28); - if (arg1->y < 0.0f) { - arg1->y += 360.0f; - } -} - -void fn_1_6A30(M424BallStruct4 *arg0, Vec *arg1) -{ - f32 temp_f29; - f32 var_f27; - - arg1->z = atan2d(arg0->unk4, arg0->unk14); - if (arg1->z < 0.0f) { - arg1->z += 360.0f; - } - arg1->y = atan2d(arg0->unk8, arg0->unk28); - if (arg1->y < 0.0f) { - arg1->y += 360.0f; - } - temp_f29 = -arg0->unk24; - var_f27 = sqrtf(ABS(1.0 - (temp_f29 * temp_f29))); - arg1->x = atan2d(temp_f29, var_f27); - if (arg1->x < 0.0f) { - arg1->x += 360.0f; - } -} - -f32 fn_1_6D10(Vec arg0, Vec arg1, f32 arg2, Vec arg3, Vec arg4, f32 arg5) -{ - f32 temp_f30; - f32 temp_f29; - f32 temp_f28; - f32 temp_f27; - f32 temp_f26; - f32 temp_f25; - f32 var_f23; - - VECSubtract(&arg3, &arg0, &arg3); - VECSubtract(&arg4, &arg1, &arg4); - temp_f29 = arg2 + arg5; - if (VECMag(&arg3) > temp_f29 + VECMag(&arg4)) { - return -1.0f; - } - temp_f29 *= temp_f29; - temp_f27 = (arg4.z * arg4.z) + ((arg4.x * arg4.x) + (arg4.y * arg4.y)); - temp_f26 = 2.0f * ((arg4.z * arg3.z) + ((arg4.x * arg3.x) + (arg4.y * arg3.y))); - var_f23 = ((arg3.z * arg3.z) + ((arg3.x * arg3.x) + (arg3.y * arg3.y))) - temp_f29; - if (temp_f27 == 0.0f) { - return -1.0f; - } - temp_f30 = (temp_f26 * temp_f26) - (4.0f * temp_f27 * var_f23); - if (temp_f30 <= 0.0f) { - return -1.0f; - } - temp_f30 = sqrtf(temp_f30); - temp_f25 = (-temp_f26 + temp_f30) / (2.0f * temp_f27); - temp_f28 = (-temp_f26 - temp_f30) / (2.0f * temp_f27); - if (((temp_f25 * temp_f28) < 0.0f) && (temp_f28 < 0.0f) && (temp_f25 > fabs(temp_f28))) { - return 0.0f; - } - return temp_f28; -} - -f32 fn_1_709C(Vec arg0, Vec arg1, f32 arg2, f32 arg3) -{ - Vec sp20; - Vec sp14; - f32 temp_f30; - f32 temp_f29; - f32 temp_f28; - f32 temp_f27; - f32 temp_f26; - f32 temp_f25; - f32 var_f23; - - sp20 = arg0; - sp20.y = 0.0f; - sp14 = arg1; - sp14.y = 0.0f; - temp_f29 = arg3 + arg2; - if (VECMag(&sp20) > temp_f29 + VECMag(&sp14)) { - return -1.0f; - } - temp_f29 *= temp_f29; - temp_f27 = (arg1.x * arg1.x) + (arg1.z * arg1.z); - temp_f26 = 2.0f * ((arg1.x * arg0.x) + (arg1.z * arg0.z)); - var_f23 = (((arg0.x * arg0.x) + (arg0.z * arg0.z)) - temp_f29); - if (0.0f == temp_f27) { - return -1.0f; - } - temp_f30 = (temp_f26 * temp_f26) - (4.0f * temp_f27 * var_f23); - if (temp_f30 <= 0.0f) { - return -1.0f; - } - temp_f30 = sqrtf(temp_f30); - temp_f25 = (-temp_f26 + temp_f30) / (2.0f * temp_f27); - temp_f28 = (-temp_f26 - temp_f30) / (2.0f * temp_f27); - if (((temp_f25 * temp_f28) < 0.0f) && (temp_f28 < 0.0f) && (temp_f25 > fabs(temp_f28))) { - return 0.0f; - } - return temp_f28; -} - -f32 fn_1_7420(Vec arg0, Vec arg1, f32 arg2, f32 arg3) -{ - Vec sp20; - Vec sp14; - f32 temp_f30; - f32 temp_f29; - f32 temp_f28; - f32 temp_f27; - f32 temp_f26; - f32 temp_f25; - f32 var_f23; - - sp20 = arg0; - sp20.y = 0.0f; - sp14 = arg1; - sp14.y = 0.0f; - temp_f29 = arg3 - arg2; - if (VECMag(&sp20) > temp_f29) { - return 0.0f; - } - if (VECMag(&sp20) > temp_f29 + VECMag(&sp14)) { - return -1.0f; - } - temp_f29 *= temp_f29; - temp_f27 = (arg1.x * arg1.x) + (arg1.z * arg1.z); - temp_f26 = 2.0f * ((arg1.x * arg0.x) + (arg1.z * arg0.z)); - var_f23 = (arg0.x * arg0.x) + (arg0.z * arg0.z) - temp_f29; - if (0.0f == temp_f27) { - return -1.0f; - } - temp_f30 = (temp_f26 * temp_f26) - (4.0f * temp_f27 * var_f23); - if (temp_f30 <= 0.0f) { - return -1.0f; - } - temp_f30 = sqrtf(temp_f30); - temp_f25 = (-temp_f26 - temp_f30) / (2.0f * temp_f27); - temp_f28 = (-temp_f26 + temp_f30) / (2.0f * temp_f27); - if (((temp_f25 * temp_f28) < 0.0f) && (temp_f28 < 0.0f) && (temp_f25 > fabs(temp_f28))) { - return 0.0f; - } - return temp_f28; -} - -void fn_1_77C4(Vec arg0, Vec arg1, Vec arg2, f32 arg3, Vec *arg4, Vec *arg5) -{ - Vec sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - f32 var_f31; - f32 temp_f30; - f32 temp_f29; - f32 var_f28; - - sp38 = arg1; - var_f31 = VECMag(&sp38); - if (var_f31 < 0.01f) { - arg4->x = arg4->y = arg4->z = 0.0f; - arg5->x = arg5->y = arg5->z = 0.0f; - return; - } - VECNormalize(&sp38, &sp38); - var_f31 = var_f31 * arg3; - VECSubtract(&arg2, &arg0, &sp2C); - VECNormalize(&sp2C, &sp2C); - var_f28 = VECDotProduct(&sp38, &sp2C); - if (var_f28 < 0.0f) { - arg4->x = arg1.x; - arg4->y = arg1.y; - arg4->z = arg1.z; - arg5->x = arg5->y = arg5->z = 0.0f; - return; - } - temp_f29 = var_f31 * var_f28; - temp_f30 = var_f31 - temp_f29; - if (temp_f30 < 0.01f) { - arg4->x = arg4->y = arg4->z = 0.0f; - } - else { - VECCrossProduct(&sp38, &sp2C, &sp14); - VECNormalize(&sp14, &sp14); - VECCrossProduct(&sp2C, &sp14, &sp20); - VECNormalize(&sp20, &sp20); - arg4->x = sp20.x * temp_f30; - arg4->y = sp20.y * temp_f30; - arg4->z = sp20.z * temp_f30; - } - arg5->x = sp2C.x * temp_f29; - arg5->y = sp2C.y * temp_f29; - arg5->z = sp2C.z * temp_f29; -} - -void fn_1_79FC(Vec *arg0, Vec *arg1, f32 arg2, Vec *arg3, Vec *arg4, f32 arg5, f32 arg6) -{ - Vec sp38; - Vec sp2C; - f32 temp_f31; - f32 var_f30; - f32 var_f29; - - arg1->x *= arg6; - arg1->y *= arg6; - arg1->z *= arg6; - VECSubtract(arg0, arg3, &sp38); - VECNormalize(&sp38, &sp2C); - temp_f31 = (arg2 + arg5) - VECMag(&sp38); - if (temp_f31 > 0.01f) { - VECSubtract(arg1, arg4, &sp38); - if (VECMag(&sp38) < 0.01f) { - arg0->x += sp2C.x * temp_f31; - arg0->y += sp2C.y * temp_f31; - arg0->z += sp2C.z * temp_f31; - } - else { - VECNormalize(&sp38, &sp38); - arg0->x -= sp38.x * temp_f31; - arg0->y -= sp38.y * temp_f31; - arg0->z -= sp38.z * temp_f31; - } - } - fn_1_7CA0(*arg1, sp2C, 1.0f, arg1); - VECSubtract(arg4, arg1, &sp38); - var_f30 = VECMag(&sp38); - if (var_f30 < 0.01f) - return; - VECNormalize(&sp38, &sp38); - var_f29 = VECDotProduct(&sp2C, &sp38); - if (var_f29 > 0.0f) { - arg1->x += var_f30 * (sp2C.x * var_f29); - arg1->y += var_f30 * (sp2C.y * var_f29); - arg1->z += var_f30 * (sp2C.z * var_f29); - } -} - -void fn_1_7CA0(Vec arg0, Vec arg1, f32 arg2, Vec *arg3) -{ - f32 var_f31; - - *arg3 = arg0; - arg3->x *= arg2; - arg3->y *= arg2; - arg3->z *= arg2; - var_f31 = VECDotProduct(&arg1, arg3); - if (var_f31 < 0.0f) { - arg3->x -= 2.0f * arg1.x * var_f31; - arg3->y -= 2.0f * arg1.y * var_f31; - arg3->z -= 2.0f * arg1.z * var_f31; - } -} - -f32 fn_1_7DD0(Vec *arg0) -{ - f32 temp_f30; - f32 temp_f29; - - temp_f30 = (arg0->x * arg0->x) + (arg0->y * arg0->y) + (arg0->z * arg0->z); - temp_f30 = sqrtf(temp_f30); - if (temp_f30 != 0.0f) { - temp_f29 = 1.0f / temp_f30; - arg0->x *= temp_f29; - arg0->y *= temp_f29; - arg0->z *= temp_f29; - } - else { - arg0->x = arg0->y = arg0->z = 0.0f; - } - return temp_f30; -} - -f32 fn_1_7F68(Vec arg0, Vec arg1, Vec *arg2, f32 arg8) -{ - if (arg8 <= 0.0f) { - arg2->x = arg0.x; - arg2->y = arg0.y; - arg2->z = arg0.z; - arg8 = 0.0f; - } - else if (arg8 >= 1.0f) { - arg2->x = (arg0.x + arg1.x); - arg2->y = (arg0.y + arg1.y); - arg2->z = (arg0.z + arg1.z); - arg8 = 1.0f; - } - else { - arg2->x = (arg0.x + (arg8 * arg1.x)); - arg2->y = (arg0.y + (arg8 * arg1.y)); - arg2->z = (arg0.z + (arg8 * arg1.z)); - } - return arg8; -} - -f32 fn_1_8040(Vec arg0, Vec arg1, Vec arg2) -{ - f32 temp_f30; - f32 var_f31; - - var_f31 = (arg2.z * (arg1.z - arg0.z)) + ((arg2.x * (arg1.x - arg0.x)) + (arg2.y * (arg1.y - arg0.y))); - temp_f30 = -((arg2.z * arg2.z) + ((arg2.x * arg2.x) + (arg2.y * arg2.y))); - if (temp_f30 != 0.0f) { - var_f31 /= temp_f30; - } - return var_f31; -} - -f32 fn_1_80FC(Vec *arg0, Vec *arg1, Vec *arg2) -{ - Vec sp44; - f32 var_f30; - - if (0.0f == (arg2->x * arg2->x) + (arg2->y * arg2->y) + (arg2->z * arg2->z)) { - return ((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y)) - + ((arg0->z - arg1->z) * (arg0->z - arg1->z)); - } - var_f30 = fn_1_8040(*arg0, *arg1, *arg2); - fn_1_7F68(*arg1, *arg2, &sp44, var_f30); - return ((arg0->x - sp44.x) * (arg0->x - sp44.x)) + ((arg0->y - sp44.y) * (arg0->y - sp44.y)) + ((arg0->z - sp44.z) * (arg0->z - sp44.z)); -} - -f32 fn_1_8438(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, Vec *arg4) -{ - f32 var_f27; - - if (0.0f == ((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y)))) { - return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) - + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y))); - } - var_f27 = fn_1_8040(*arg0, *arg1, *arg2); - fn_1_7F68(*arg1, *arg2, arg3, var_f27); - arg4->x = arg0->x - arg3->x; - arg4->y = arg0->y - arg3->y; - arg4->z = arg0->z - arg3->z; - return fn_1_7DD0(arg4); -} - -void fn_1_88E8(u8 arg0, f32 arg8, f32 arg9, f32 argA) -{ - M424DllBallStruct2 *temp_r31; - - temp_r31 = &lbl_1_bss_60[arg0]; - temp_r31->unk4 = 3; - temp_r31->unk3C.x = arg8; - temp_r31->unk3C.y = arg9; - temp_r31->unk3C.z = argA; -} - -void fn_1_8924(u8 arg0, u8 arg1) -{ - M424DllBallStruct2 *temp_r31; - - temp_r31 = &lbl_1_bss_60[arg0]; - temp_r31->unk4 = arg1; -} - -u8 fn_1_8950(u8 arg0) -{ - M424DllBallStruct2 *temp_r31; - - temp_r31 = &lbl_1_bss_60[arg0]; - return temp_r31->unk4; -} - -u8 fn_1_897C(u8 arg0) -{ - M424DllBallStruct2 *temp_r31; - - temp_r31 = &lbl_1_bss_60[arg0]; - return temp_r31->unk5; -} - -u8 fn_1_89A8(u8 arg0) -{ - M424DllBallStruct2 *temp_r31; - - temp_r31 = &lbl_1_bss_60[arg0]; - return temp_r31->unk91; -} - -Vec *fn_1_89D4(u8 arg0) -{ - M424DllBallStruct2 *temp_r31; - - temp_r31 = &lbl_1_bss_60[arg0]; - return &temp_r31->unk3C; -} - -Vec *fn_1_8A00(u8 arg0) -{ - M424DllBallStruct2 *temp_r31; - - temp_r31 = &lbl_1_bss_60[arg0]; - return &temp_r31->unk6C; -} - -s32 fn_1_8A2C(void) -{ - M424DllBallStruct2 *var_r31; - M424DllBallStruct *temp_r30; - s32 var_r29; - - var_r31 = lbl_1_bss_60; - for (var_r29 = 0; var_r29 < lbl_1_bss_58; var_r29++, var_r31++) { - temp_r30 = var_r31->unk0->data; - if ((temp_r30->unk8 == 3) || (temp_r30->unk8 == 2)) { - return 0; - } - } - return 1; -} - -void fn_1_8AA8(s32 arg0, s32 arg1) -{ - Vec spC; - M424DllBallStruct2 *temp_r31; - s32 var_r27; - s32 var_r29; - s32 var_r30; - - if (arg1 != 0) { - for (var_r30 = 0; var_r30 < lbl_1_bss_58; var_r30++) { - temp_r31 = &lbl_1_bss_60[var_r30]; - if (temp_r31->unk4 != 6) { - VECAdd(&temp_r31->unk60, &temp_r31->unk6C, &temp_r31->unk3C); - if ((temp_r31->unk4 < 3) && (fn_1_907C(&temp_r31->unk3C, &spC) != 0)) { - temp_r31->unk3C = spC; - } - if ((temp_r31->unk6C.y < 0.0f) && (temp_r31->unk4 != 4) && (temp_r31->unk4 != 6) && (temp_r31->unk3C.y < 300.0f)) { - temp_r31->unk3C.y = 300.0f; - if (temp_r31->unk4 == 2) { - temp_r31->unk4 = 1; - } - } - } - } - } - - for (var_r30 = 0, var_r29 = arg0; var_r30 < lbl_1_bss_58; var_r30++) { - temp_r31 = &lbl_1_bss_60[var_r30]; - var_r27 = 0; - if (fn_1_8950(var_r30) < 4) { - if (fn_1_8C78(var_r30, arg0) < arg0) { - var_r27 = 1; - } - if ((var_r27 != 0) && (var_r29 > 0)) { - var_r29 -= 1; - var_r30 -= 1; - } - else { - var_r29 = arg0; - } - } - } - fn_1_C2E0(0); -} - -s32 fn_1_8C78(s32 arg0, s32 arg1) -{ - Vec sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - Vec *sp10; - f32 temp_f31; - f32 var_f30; - s32 var_r31; - M424DllBallStruct2 *temp_r30; - M424DllBallStruct2 *temp_r29; - Vec *var_r28; - Vec *var_r27; - M424DllBallStruct *temp_r26; - M424DllBallStruct *temp_r25; - - temp_r30 = &lbl_1_bss_60[arg0]; - temp_r26 = temp_r30->unk0->data; - var_r28 = fn_1_89D4(arg0); - sp38 = *var_r28; - - for (var_r31 = 0; var_r31 < lbl_1_bss_58; var_r31++) { - if (var_r31 != arg0) { - if (fn_1_8950(var_r31) < 3) { - temp_r29 = &lbl_1_bss_60[var_r31]; - temp_r25 = temp_r29->unk0->data; - var_r27 = fn_1_89D4(var_r31); - sp2C = *var_r27; - VECSubtract(&sp2C, &sp38, &sp20); - var_f30 = VECMag(&sp20); - if (var_f30 < 200.0f) { - if (var_f30 > 0.0f) { - temp_f31 = 1.0f / var_f30; - sp20.x *= temp_f31; - sp20.y *= temp_f31; - sp20.z *= temp_f31; - } - else { - sp20.x = 0.0f; - sp20.y = 0.0f; - sp20.z = 1.0f; - } - temp_f31 = 1.0f + (0.5f * (200.0f - var_f30)); - if (temp_f31 > 0.0f) { - VECScale(&sp20, &sp20, temp_f31); - VECAdd(&sp2C, &sp20, &sp2C); - *var_r27 = sp2C; - if ((temp_r29->unk4 < 3) && (fn_1_907C(&sp2C, &sp14) != 0)) { - sp2C = sp14; - *var_r27 = sp14; - } - if ((temp_r29->unk4 == 2) && (temp_r25->unk4C.y < 0.0f)) { - temp_r25->unk4C.y += 0.1f * temp_f31; - } - } - if (temp_f31 > 0.0f) { - VECScale(&sp20, &sp20, -1.0f); - VECAdd(&sp38, &sp20, &sp38); - *var_r28 = sp38; - if ((temp_r30->unk4 < 3) && (fn_1_907C(&sp38, &sp14) != 0)) { - sp38 = sp14; - *var_r28 = sp14; - } - if ((temp_r30->unk4 == 2) && (temp_r26->unk4C.y < 0.0f)) { - temp_r26->unk4C.y += 0.1f * temp_f31; - } - } - if (arg1 > 0) { - arg1--; - fn_1_8C78(var_r31, arg1); - } - } - } - } - } - return arg1; -} - -s32 fn_1_907C(Vec *arg0, Vec *arg1) -{ - Vec sp10; - f32 temp_f29; - f32 temp_f28; - f32 var_f27; - f32 temp_f26; - - sp10 = *arg0; - *arg1 = *arg0; - temp_f29 = (sp10.x * sp10.x) + (sp10.z * sp10.z); - var_f27 = sqrtf(temp_f29); - if (var_f27 < 350.0f) { - if (var_f27 > 0.0f) { - temp_f26 = 1.0f / var_f27; - sp10.x *= temp_f26; - sp10.z *= temp_f26; - } - else { - sp10.x = 1.0f; - sp10.z = 0.0f; - } - arg1->x = 350.0f * sp10.x; - arg1->z = 350.0f * sp10.z; - } - temp_f28 = (sp10.x * sp10.x) + (sp10.z * sp10.z); - var_f27 = sqrtf(temp_f28); - if (var_f27 > 600.0f) { - temp_f26 = 1.0f / var_f27; - sp10.x *= temp_f26; - sp10.z *= temp_f26; - arg1->x = 600.0f * sp10.x; - arg1->z = 600.0f * sp10.z; - } - return (s32)arg0; -} diff --git a/src/REL/m424Dll/claw.c b/src/REL/m424Dll/claw.c deleted file mode 100644 index 42d11821..00000000 --- a/src/REL/m424Dll/claw.c +++ /dev/null @@ -1,1410 +0,0 @@ -#include "REL/m424Dll.h" - -#include "math.h" -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/pad.h" - -// STRUCT -typedef struct _M424DllClawStruct { - s16 unk0; - s16 unk2; - s16 unk4; - s16 unk6; - s16 unk8; - s16 unkA; - s16 unkC; - s16 unkE; - s16 unk10; - s16 unk12; - s16 unk14; - s16 unk16; - s16 unk18; - f32 unk1C; - f32 unk20; - f32 unk24; - f32 unk28; - f32 unk2C; - Vec unk30; - Vec unk3C[12]; - Vec unkCC[12]; - s32 unk15C; - s32 unk160; - s32 unk164; - s32 unk168; - s32 unk16C; - s32 unk170; - Vec unk174; - f32 unk180; - s32 unk184; - s32 unk188; - s32 unk18C; - s32 unk190; - s32 unk194; - s32 unk198; - s32 unk19C; - s32 unk1A0; - s32 unk1A4; - f32 unk1A8; - s32 unk1AC; -} M424DllClawStruct; // sizeof 0x1B0 - -typedef struct _M424DllClawStruct2 { - s32 unk0; - f32 unk4; - f32 unk8; - f32 unkC; -} M424DllClawStruct2; // sizeof 0x10 - -typedef struct _M424DllClawStruct3 { - s32 unk0; - s32 unk4; -} M424DllClawStruct3; // sizeof 0x8 - -// BSS -Process* lbl_1_bss_6DC; -omObjData* lbl_1_bss_6D8; -s32 lbl_1_bss_6D0[2]; -s32 lbl_1_bss_6CC; -s32 lbl_1_bss_6C8; -s32 lbl_1_bss_6C4; -s32 lbl_1_bss_6C0; -M424DllClawStruct3 lbl_1_bss_640[0x10]; - -// DATA -Vec lbl_1_data_1E0[4] = { - { 950.0f, 275.0f, 0.0f }, - { 900.0f, 360.0f, 320.0f }, - { 494.99996f, 220.0f, 494.99996f }, - { 0.0f, 225.0f, 0.0f }, -}; -f32 lbl_1_data_210[3] = { 12.0f, 11.0f, 17.5f }; -char lbl_1_data_21C[12][0x10] = { - "tsume10", - "tsume11", - "tsume12", - "tsume20", - "tsume21", - "tsume22", - "tsume30", - "tsume31", - "tsume32", - "tsume40", - "tsume41", - "tsume42", -}; -u8 lbl_1_data_2DC[12] = { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0 }; -s32 lbl_1_data_2E8[9] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x05), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x06), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x42), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x08), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18) }; -Vec lbl_1_data_30C = { 0.0f, 0.0f, 0.0f }; - -// PROTO -void fn_1_88E8(u8, f32, f32, f32); -void fn_1_8924(u8, s32); -u8 fn_1_8950(u8); -u8 fn_1_897C(u8); -u8 fn_1_89A8(u8); -Vec *fn_1_89D4(u8); -void fn_1_94D0(omObjData *); -void fn_1_9A64(omObjData *); -void fn_1_AE58(omObjData *); -void fn_1_AE64(omObjData *); -u16 fn_1_B79C(f32, f32, f32); -s32 fn_1_B9E0(Vec *arg0, Vec *arg1, f32 arg8, Vec *arg2, s32 arg3); -void fn_1_C604(s32, s32); -s32 fn_1_C878(s16, const char *, Mtx, s32); -void fn_1_C99C(HsfObject *, Mtx, const char *, Mtx); -void fn_1_CE74(s32); -void fn_1_CF00(Process *); -void fn_1_CF80(omObjData *); -s32 fn_1_D010(s32, s32); - -omObjData *fn_1_93F0(Process *arg0) -{ - lbl_1_bss_6DC = arg0; - lbl_1_bss_6D8 = omAddObjEx(arg0, 0x40, 5, 9, -1, fn_1_94D0); - lbl_1_bss_6CC = 0; - lbl_1_bss_6C8 = 0; - lbl_1_bss_6C4 = 0; - lbl_1_bss_6C0 = 0; - fn_1_CF00(arg0); - return lbl_1_bss_6D8; -} - -void fn_1_94A4(void) -{ - fn_1_AE58(lbl_1_bss_6D8); -} - -void fn_1_94D0(omObjData *arg0) -{ - s32 var_r29; - M424DllClawStruct *var_r31; - - var_r31 = arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x1B0, 0x10000000); - memset(var_r31, 0, 0x1B0); - var_r31->unk0 = lbl_1_bss_24[3]; - var_r31->unk2 = GWPlayerCfg[var_r31->unk0].character; - var_r31->unk4 = GWPlayerCfg[var_r31->unk0].pad_idx; - var_r31->unk6 = GWPlayerCfg[var_r31->unk0].iscom; - var_r31->unk8 = GWPlayerCfg[var_r31->unk0].diff; - var_r31->unkA = var_r31->unkC = 0; - var_r31->unk10 = 0; - var_r31->unk12 = 0; - var_r31->unk14 = 0; - var_r31->unk16 = 0; - var_r31->unk18 = 0; - var_r31->unk1C = 0.0f; - var_r31->unk20 = 1.0f; - var_r31->unk24 = 0.0f; - var_r31->unk28 = 0.0f; - var_r31->unk2C = 1.0f; - var_r31->unk15C = 0; - var_r31->unk160 = 0; - var_r31->unk164 = 0; - var_r31->unk168 = -1; - var_r31->unk16C = -1; - var_r31->unk170 = -1; - var_r31->unk174 = lbl_1_data_30C; - // @todo how did this happen - var_r31->unk180 = atan2d(-102.864990234375, 424.559997558593750); - if (var_r31->unk180 < 0.0f) { - var_r31->unk180 += 360.0f; - } - var_r31->unk184 = -1; - var_r31->unk30 = lbl_1_data_30C; - - for (var_r29 = 0; var_r29 < 0xC; var_r29++) { - var_r31->unk3C[var_r29] = lbl_1_data_30C; - var_r31->unkCC[var_r29] = lbl_1_data_30C; - } - var_r31->unk188 = 0; - var_r31->unk18C = -1; - var_r31->unk190 = 0; - var_r31->unk194 = 0; - var_r31->unk198 = 0; - var_r31->unk19C = 0; - var_r31->unk1A0 = 0; - var_r31->unk1A4 = 0; - var_r31->unk1A8 = 0.0f; - var_r31->unk1AC = 0; - arg0->model[0] = CharModelCreate(var_r31->unk2, 1); - Hu3DModelShadowSet(arg0->model[0]); - CharModelStepTypeSet(var_r31->unk2, 1); - for (var_r29 = 0; var_r29 < 9; var_r29++) { - arg0->motion[var_r29] = CharModelMotionCreate(var_r31->unk2, lbl_1_data_2E8[var_r29]); - } - var_r31->unkE = 5; - CharModelMotionSet(var_r31->unk2, arg0->motion[var_r31->unkE]); - arg0->model[1] = Hu3DModelCreateFile(0x37001D); - Hu3DModelShadowSet(arg0->model[1]); - arg0->model[2] = Hu3DModelCreateFile(0x37001E); - Hu3DModelShadowSet(arg0->model[2]); - arg0->model[3] = Hu3DModelCreateFile(0x37001F); - Hu3DModelShadowSet(arg0->model[3]); - arg0->model[4] = Hu3DModelCreateFile(0x370020); - Hu3DModelShadowSet(arg0->model[4]); - Hu3DModelScaleSet(arg0->model[4], 0.9f, 0.9f, 0.9f); - Hu3DModelHookSet(arg0->model[1], "hook1", arg0->model[2]); - Hu3DModelHookSet(arg0->model[2], "hook2", arg0->model[3]); - Hu3DModelHookSet(arg0->model[3], "hook3", arg0->model[4]); - Hu3DModelPosSet(arg0->model[1], 950.0f, 0.0f, 0.0f); - Hu3DModelAttrSet(arg0->model[2], 0x40000002); - Hu3DModelAttrSet(arg0->model[4], 0x40000002); - arg0->trans.x = 950.0f; - arg0->trans.y = 275.0f; - arg0->trans.z = 0.0f; - arg0->rot.y = 270.0f; - var_r31->unk10 = 3; - var_r31->unk24 = 0.45f; - var_r31->unk12 = 0; - arg0->func = fn_1_9A64; -} - -void fn_1_9A64(omObjData *arg0) -{ - Mtx sp74; - Mtx sp44; - Vec sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - f32 var_f31; - f32 temp_f30; - M424DllClawStruct *temp_r31; - s32 var_r29; - s32 temp_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - - temp_r31 = arg0->data; - if (fn_1_FE0() == 4) { - temp_r31->unkC = HuPadBtn[temp_r31->unk4]; - temp_r31->unkA = HuPadBtnDown[temp_r31->unk4]; - if (temp_r31->unk6 != 0) { - fn_1_AE64(arg0); - } - } - else { - temp_r31->unkC = 0; - temp_r31->unkA = 0; - } - if (fn_1_FE0() <= 1) { - var_r25 = -1; - } - else { - var_r25 = temp_r31->unk10; - } - switch (var_r25) { - case 0: - if (fn_1_FE0() >= 4) { - temp_r31->unk10 = 1; - temp_r31->unk12 = 0; - } - break; - case 1: - if (fn_1_FE0() > 4) { - temp_r31->unk10 = 10; - temp_r31->unk12 = 0; - } - else if ((temp_r31->unkA & 0x100) != 0) { - HuAudFXPlay(0x62A); - temp_r31->unk184 = HuAudFXPlay(0x621); - temp_r31->unk10 = 2; - temp_r31->unk12 = 0; - } - break; - case 2: - temp_r31->unk12++; - temp_r31->unk24 += ((1.0f / 60.0f) * temp_r31->unk20); - if (temp_r31->unk24 >= 1.0f) { - temp_r31->unk24 = 1.0f; - temp_r31->unk20 = -1.0f; - } - else { - if (temp_r31->unk24 <= 0.0f) { - temp_r31->unk24 = 0.0f; - temp_r31->unk20 = 1.0f; - } - } - if (fn_1_FE0() > 4) { - if (temp_r31->unk184 != -1) { - HuAudFXStop(temp_r31->unk184); - temp_r31->unk184 = -1; - } - HuAudFXPlay(0x622); - temp_r31->unk10 = 10; - temp_r31->unk12 = 0; - } - else if (((temp_r31->unkC & 0x100) == 0) || (temp_r31->unk12 >= 360.0f)) { - if (temp_r31->unk184 != -1) { - HuAudFXStop(temp_r31->unk184); - temp_r31->unk184 = -1; - } - HuAudFXPlay(0x622); - temp_r31->unk184 = HuAudFXPlay(0x62C); - temp_r31->unk168 = -1; - temp_r31->unk16C = -1; - temp_r31->unk10 = 3; - temp_r31->unk12 = 0; - } - break; - case 3: - temp_r31->unk12++; - if (temp_r31->unk15C == 0) { - temp_r31->unk28 += (1.0f / 60.0f); - } - if (temp_r31->unk28 > 1.0f) { - temp_r31->unk28 = 1.0f; - } - if (temp_r31->unk12 >= 0x3C) { - if (temp_r31->unk184 != -1) { - HuAudFXStop(temp_r31->unk184); - temp_r31->unk184 = -1; - } - HuAudFXPlay(0x62D); - HuAudFXPlay(0x625); - temp_r31->unk10 = 4; - temp_r31->unk12 = 0; - } - temp_r31->unk15C = 0; - break; - case 4: - temp_r31->unk12++; - if (temp_r31->unk160 == 0) { - temp_r31->unk2C -= (1.0f / 60.0f); - } - if (temp_r31->unk2C < 0.0f) { - temp_r31->unk2C = 0.0f; - } - if (temp_r31->unk12 >= 0x3C) { - temp_r31->unk10 = 5; - temp_r31->unk12 = 0; - } - temp_r31->unk160 = 0; - break; - case 5: - temp_r31->unk12++; - if (temp_r31->unk12 >= 6.0f) { - temp_r31->unk184 = HuAudFXPlay(0x62C); - if ((temp_r31->unk168 != -1)) { - var_r27 = fn_1_897C(temp_r31->unk168); - if (var_r27 != 0) { - var_r26 = fn_1_89A8(temp_r31->unk168); - HuAudCharVoicePlay(var_r26, 0x128); - } - } - temp_r31->unk10 = 6; - temp_r31->unk12 = 0; - } - break; - case 6: - temp_r31->unk12++; - temp_r31->unk28 -= (1.0f / 45.0f); - if (temp_r31->unk28 <= 0.0f) { - if (temp_r31->unk184 != -1) { - HuAudFXStop(temp_r31->unk184); - temp_r31->unk184 = -1; - } - HuAudFXPlay(0x62D); - temp_r31->unk28 = 0.0f; - if (temp_r31->unk168 != -1) { - var_r27 = fn_1_897C(temp_r31->unk168); - } - else { - var_r27 = -1; - } - if (temp_r31->unk168 == -1) { - if (fn_1_FE0() > 4) { - temp_r31->unk10 = 10; - temp_r31->unk12 = 0; - } - else { - temp_r31->unk10 = 8; - temp_r31->unk12 = 0; - HuAudFXPlay(0x625); - } - } - else if (var_r27 == 0) { - temp_r31->unk10 = 8; - temp_r31->unk12 = 0; - HuAudFXPlay(0x625); - } - else { - if (temp_r31->unk168 != -1) { - fn_1_252C(-0.01f, 0x3C); - fn_1_2670(0x75, 0); - } - HuAudFXPlay(0x62B); - temp_r31->unk184 = HuAudFXPlay(0x623); - temp_r31->unk10 = 7; - temp_r31->unk12 = 0; - } - } - break; - case 7: - if (arg0->rot.y < temp_r31->unk180) { - arg0->rot.y += 1.25f; - } - else if (arg0->rot.y > temp_r31->unk180) { - arg0->rot.y = temp_r31->unk180; - } - var_f31 = 0.35f - temp_r31->unk24; - if (var_f31 > 0.0125f) { - temp_r31->unk24 += 0.0125f; - } - else if (var_f31 < -0.0125f) { - temp_r31->unk24 -= 0.0125f; - } - else { - temp_r31->unk24 = 0.35f; - } - if ((arg0->rot.y == temp_r31->unk180) && (0.35f == temp_r31->unk24)) { - if (temp_r31->unk184 != -1) { - HuAudFXStop(temp_r31->unk184); - temp_r31->unk184 = -1; - } - HuAudFXPlay(0x624); - HuAudFXPlay(0x625); - temp_r31->unk10 = 8; - temp_r31->unk12 = 0; - } - break; - case 8: - if ((temp_r31->unk12 == 0) && (temp_r31->unk168 != -1)) { - if (fn_1_897C(temp_r31->unk168) != 0) { - fn_1_8924(temp_r31->unk168, 4); - var_r26 = fn_1_89A8(temp_r31->unk168); - HuAudCharVoicePlay(var_r26, 0x123); - fn_1_D010(0x628, 30); - } - else { - fn_1_8924(temp_r31->unk168, 2); - } - temp_r31->unk16C = temp_r31->unk168; - temp_r31->unk168 = -1; - } - temp_r31->unk12++; - temp_r31->unk2C += 0.033333335f; - if (temp_r31->unk2C > 1.0f) { - temp_r31->unk2C = 1.0f; - } - if (temp_r31->unk2C >= 1.0f) { - if (arg0->rot.y == temp_r31->unk180) { - temp_r31->unk184 = HuAudFXPlay(0x623); - } - if (temp_r31->unk16C != -1) { - if (fn_1_897C(temp_r31->unk16C) != 0) { - lbl_1_bss_6CC++; - } - } - temp_r31->unk10 = 9; - temp_r31->unk12 = 0; - } - break; - case 9: - temp_r31->unk12++; - if (arg0->rot.y > 270.0f) { - arg0->rot.y -= 1.25f; - } - else if (arg0->rot.y < 270.0f) { - arg0->rot.y = 270.0f; - } - if (temp_r31->unk24 > 0.025f) { - temp_r31->unk24 -= 0.025f; - } - else if (temp_r31->unk24 < 0.05f) { - temp_r31->unk24 = 0.0f; - } - if ((270.0f == arg0->rot.y) && (0.0f == temp_r31->unk24)) { - if (temp_r31->unk184 != -1) { - HuAudFXStop(temp_r31->unk184); - temp_r31->unk184 = -1; - HuAudFXPlay(0x624); - } - temp_r31->unk20 = 1.0f; - temp_r31->unk10 = 1; - temp_r31->unk12 = 0; - } - break; - case 10: - if (fn_1_B888() != 0) { - temp_r31->unkE = 5; - CharModelMotionSet(temp_r31->unk2, arg0->motion[temp_r31->unkE]); - temp_r31->unkE = 3; - CharModelMotionShiftSet(temp_r31->unk2, arg0->motion[temp_r31->unkE], 0.0f, 8.0f, 0U); - temp_r31->unk16 = 0; - temp_r31->unk14 = 0; - temp_r31->unk1C = lbl_1_data_210[0]; - temp_r31->unk18 = fn_1_B79C(lbl_1_data_1E0[0].y, lbl_1_data_1E0[1].y, temp_r31->unk1C); - temp_r31->unk10 = 11; - temp_r31->unk12 = 0; - } - else { - temp_r31->unk10 = 13; - temp_r31->unk12 = 0; - } - break; - case 11: - var_r29 = temp_r31->unk14; - if (var_r29 > 2) { - var_r29 = 2; - } - if (temp_r31->unk16 == 0) { - temp_r31->unk12++; - sp14 = lbl_1_data_1E0[var_r29]; - sp8 = lbl_1_data_1E0[var_r29 + 1]; - arg0->rot.y = fn_1_1470(atan2d((sp8.x - arg0->trans.x), (sp8.z - arg0->trans.z)), arg0->rot.y, 10.0f); - var_f31 = (f32)temp_r31->unk12 / temp_r31->unk18; - arg0->trans.x = sp14.x + (var_f31 * (sp8.x - sp14.x)); - arg0->trans.z = sp14.z + (var_f31 * (sp8.z - sp14.z)); - arg0->trans.y += temp_r31->unk1C; - temp_r31->unk1C -= 0.65333337f; - if (temp_r31->unk14 == 2) { - if ((temp_r31->unk12 >= (0.4f * temp_r31->unk18)) && (temp_r31->unkE != 6) && (CharModelMotionShiftIDGet(temp_r31->unk2) == -1)) { - temp_r31->unkE = 6; - CharModelMotionShiftSet(temp_r31->unk2, arg0->motion[temp_r31->unkE], 0.0f, 8.0f, 0); - } - } - if (temp_r31->unk12 >= temp_r31->unk18) { - arg0->trans.x = sp8.x; - arg0->trans.y = sp8.y; - arg0->trans.z = sp8.z; - temp_r31->unkE = 4; - CharModelMotionShiftSet(temp_r31->unk2, arg0->motion[temp_r31->unkE], 0.0f, 8.0f, 0U); - temp_r31->unk12 = 0; - temp_r31->unk16 ^= 1; - if (++temp_r31->unk14 >= 3) { - temp_r31->unk10 = 0xC; - } - } - } - else { - sp14 = lbl_1_data_1E0[var_r29]; - sp8 = lbl_1_data_1E0[var_r29 + 1]; - var_f31 = atan2d((sp8.x - arg0->trans.x), (sp8.z - arg0->trans.z)); - arg0->rot.y = fn_1_1470(var_f31, arg0->rot.y, 10.0f); - if ((fn_1_1358(var_f31, arg0->rot.y) < 1.0f) && (CharModelMotionShiftIDGet(temp_r31->unk2) == -1)) { - temp_r31->unkE = 3; - CharModelMotionShiftSet(temp_r31->unk2, arg0->motion[temp_r31->unkE], 0.0f, 8.0f, 0); - temp_r31->unk1C = lbl_1_data_210[var_r29]; - temp_r31->unk18 = fn_1_B79C(sp14.y, sp8.y, temp_r31->unk1C); - temp_r31->unk12 = 0; - temp_r31->unk16 ^= 1; - } - } - break; - case 12: - if ((temp_r31->unkE != 0) && (CharModelMotionShiftIDGet(temp_r31->unk2) == -1)) { - temp_r31->unkE = 0; - CharModelMotionShiftSet(temp_r31->unk2, arg0->motion[temp_r31->unkE], 0.0f, 8.0f, 0x40000008); - } - arg0->rot.y = fn_1_1470(0.0f, arg0->rot.y, 10.0f); - if ((fn_1_1358(0.0f, arg0->rot.y) < 1.0f) && (temp_r31->unkE == 0)) { - temp_r31->unk10 = 0xD; - temp_r31->unk12 = 0; - } - break; - case 13: - if (fn_1_FE0() >= 7) { - if (fn_1_B888() != 0) { - temp_r31->unk10 = 14; - temp_r31->unk12 = 0; - } - else { - temp_r31->unk10 = 15; - temp_r31->unk12 = 0; - } - } - break; - case 14: - if ((temp_r31->unkE != 7) && (CharModelMotionShiftIDGet(temp_r31->unk2) == -1)) { - temp_r31->unkE = 7; - CharModelMotionShiftSet(temp_r31->unk2, arg0->motion[temp_r31->unkE], 0.0f, 8.0f, 0); - } - break; - case 15: - break; - } - if (temp_r31->unk10 <= 9) { - Hu3DModelRotSet(arg0->model[1], 0.0f, 90.0f + arg0->rot.y, 0.0f); - } - temp_r28 = arg0->model[2]; - Hu3DMotionTimeSet(temp_r28, temp_r31->unk24 * Hu3DMotionMaxTimeGet(temp_r28)); - fn_1_CE74(temp_r28); - temp_f30 = 0.2f + (0.8f * temp_r31->unk28); - Hu3DModelScaleSet(arg0->model[3], 1.0f, temp_f30, 1.0f); - Hu3DModelScaleSet(arg0->model[4], 1.0f, 1.0f / temp_f30, 1.0f); - temp_r28 = arg0->model[4]; - Hu3DMotionTimeSet(temp_r28, temp_r31->unk2C * Hu3DMotionMaxTimeGet(temp_r28)); - fn_1_CE74(temp_r28); - fn_1_C878(arg0->model[1], "hook1", sp74, 0); - fn_1_C878(arg0->model[2], "hook2", sp74, 1); - fn_1_C878(arg0->model[3], "hook3", sp74, 1); - MTXCopy(sp74, sp44); - temp_r31->unk30.x = sp74[0][3]; - temp_r31->unk30.y = sp74[1][3]; - temp_r31->unk30.z = sp74[2][3]; - - for (var_r29 = 0; var_r29 < 0xC; var_r29++) { - MTXCopy(sp44, sp74); - fn_1_C878(arg0->model[4], lbl_1_data_21C[var_r29], sp74, 1); - temp_r31->unkCC[var_r29] = temp_r31->unk3C[var_r29]; - temp_r31->unk3C[var_r29].x = sp74[0][3]; - temp_r31->unk3C[var_r29].y = sp74[1][3]; - temp_r31->unk3C[var_r29].z = sp74[2][3]; - } - if ((temp_r31->unk168 != -1) && (temp_r31->unk10 >= 6)) { - sp2C.x = 0.0f; - sp2C.y = temp_r31->unk174.y; - sp2C.z = 0.0f; - VECSubtract(&temp_r31->unk174, &sp2C, &sp20); - var_f31 = VECMag(&sp20); - if (var_f31 != 0.0f) { - VECNormalize(&sp20, &sp20); - VECScale(&sp20, &sp20, 0.9f * var_f31); - VECAdd(&sp2C, &sp20, &temp_r31->unk174); - } - VECAdd(&temp_r31->unk30, &temp_r31->unk174, &sp38); - fn_1_88E8(temp_r31->unk168, sp38.x, sp38.y, sp38.z); - } - temp_r31->unk164 = 1; -} - -void fn_1_AE58(omObjData *arg0) -{ - arg0->func = NULL; -} - -f32 lbl_1_data_36C[4][2] = { 30.0f, 24.0f, 24.0f, 18.0f, 12.0f, 6.0f, 6.0f, 0.0f }; - -f32 lbl_1_data_38C[4][2] = { 0.2f, 0.15f, 0.15f, 0.1f, 0.1f, 0.05f, 0.05f, 0.0f }; - -void fn_1_AE64(omObjData *arg0) -{ - M424DllClawStruct2 sp20[8]; - M424DllClawStruct2 sp10; - s32 spC; - f32 var_f31; - f32 var_f29; - f32 temp_f28; - f32 temp_f27; - f32 temp_f26; - f32 var_f25; - f32 var_f24; - s32 temp_r24; - s32 temp_r23; - M424DllClawStruct *temp_r31; - Vec *var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - M424DllBallStruct2 *var_r26; - s32 var_r25; - - spC = 0; - temp_r31 = arg0->data; - var_r26 = &lbl_1_bss_60[0]; - if (var_r26) { - temp_r31->unkC = 0; - temp_r31->unkA = 0; - switch (temp_r31->unk10) { - case 1: - if (temp_r31->unk188 == 0) { - temp_r31->unk188 = 1; - temp_r31->unk18C = -1; - temp_r31->unk190 = 0; - temp_r31->unk194 = 0; - temp_r31->unk198 = 0; - temp_r31->unk19C = 0; - temp_r31->unk1A0 = 0; - temp_r31->unk1A4 = 0; - temp_r31->unk1A8 = 0.0f; - } - if (temp_r31->unk18C == -1) { - for (var_r29 = 0, var_r28 = 0; var_r29 < lbl_1_bss_58; var_r29++, var_r26++) { - if ((fn_1_897C(var_r29) != 0) && (fn_1_8950(var_r29) <= 2)) { - var_r30 = fn_1_89D4(var_r29); - var_f31 = atan2d(var_r30->x, var_r30->z); - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - if (var_r28 < 8) { - if (var_f31 >= -90.0f) { - if (var_f31 <= 45.0f) { - sp20[var_r28].unk0 = var_r29; - sp20[var_r28].unkC = var_f31; - sp20[var_r28].unk4 = var_r30->x; - sp20[var_r28].unk8 = var_r30->z; - var_r28++; - } - } - } - } - } - if (var_r28 != 0) { - for (var_r29 = 0; var_r29 < (var_r28 - 1); var_r29++) { - var_r27 = var_r29 + 1; - for (; var_r27 < var_r28; var_r27++) { - if (sp20[var_r29].unkC < sp20[var_r27].unkC) { - sp10 = sp20[var_r29]; - sp20[var_r29] = sp20[var_r27]; - sp20[var_r27] = sp10; - } - } - } - temp_r31->unk18C = sp20[0].unk0; - temp_r31->unk1A8 = sp20[0].unkC; - temp_r31->unk19C = 0; - temp_r31->unk1A0 = 0; - temp_r31->unk1A4 = 0; - temp_r31->unk1AC = 0; - } - } - if (temp_r31->unk18C != -1) { - var_r30 = fn_1_89D4(temp_r31->unk18C); - var_f31 = atan2d(var_r30->x, var_r30->z); - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - if (var_f31 >= 30.0f) { - if (temp_r31->unk19C != 0) { - temp_f27 = lbl_1_data_36C[temp_r31->unk8][0]; - temp_f26 = lbl_1_data_36C[temp_r31->unk8][1]; - temp_r24 = ((temp_f26 - temp_f27) * (temp_f27 * (0.007874016f * (frand() & 0x7F)))); - temp_f27 = lbl_1_data_38C[temp_r31->unk8][0]; - temp_f26 = lbl_1_data_38C[temp_r31->unk8][1]; - temp_r23 = ((temp_f26 - temp_f27) * (temp_f27 * (0.007874016f * (frand() & 0x7F)))); - temp_r31->unk190 = ((3.0f * temp_r31->unk1A4) + temp_r24); - temp_f28 = (var_r30->x * var_r30->x) + (var_r30->z * var_r30->z); - var_f29 = sqrtf(temp_f28); - var_f29 = (var_f29 - 350.0f) / 250.0f + temp_r23; - if (var_f29 < 0.0f) { - var_f29 = 0.0f; - } - else if (var_f29 > 1.0f) { - var_f29 = 1.0f; - } - temp_r31->unk194 = (60.0f * (1.0f - var_f29)); - var_f25 = (1.5f + (-1.5f * var_f29)); - temp_r31->unk190 -= (s32)(60.0f * var_f25); - var_f25 = (1.0f + (-1.1f * var_f29)); - temp_r31->unk198 = (60.0f * var_f25); - temp_r31->unk19C = 0; - temp_r31->unk1A0 = 0; - temp_r31->unk1AC = 0; - temp_r31->unk1AC = (temp_r31->unk1AC + (60.0f * (1.0f - var_f29))); - } - if (++temp_r31->unk1AC >= (temp_r31->unk190 - temp_r31->unk198)) { - temp_r31->unkA |= 0x100; - temp_r31->unkC |= 0x100; - temp_r31->unk1AC = 0; - return; - } - } - else { - if (var_f31 >= (15.0f + temp_r31->unk1A8)) { - temp_r31->unk1A0++; - temp_r31->unk1A8 = var_f31; - temp_r31->unk1A4 = (temp_r31->unk19C / temp_r31->unk1A0); - return; - } - temp_r31->unk19C++; - return; - } - } - break; - case 2: - if (temp_r31->unk18C != -1) { - var_r25 = 1; - if (++temp_r31->unk1AC >= temp_r31->unk194) { - var_r25 = 0; - } - } - else { - var_r25 = 0; - } - if (var_r25 != 0) { - temp_r31->unkC |= 0x100; - } - temp_r31->unk188 = 0; - break; - } - } -} - -u16 fn_1_B79C(f32 arg0, f32 arg1, f32 arg2) -{ - f32 var_f31; - f32 var_f3; - u16 var_r31; - - var_r31 = 0; - for (var_f31 = arg0; arg2 > 0.0f || var_f31 > arg1; var_r31++) { - var_f31 += arg2; - arg2 -= 0.65333337f; - } - return var_r31; -} - -s32 fn_1_B804(void) -{ - M424DllClawStruct *temp_r31; - - if (!lbl_1_bss_6D8) { - return 0; - } - if (!lbl_1_bss_6D8->data) { - return 0; - } - temp_r31 = lbl_1_bss_6D8->data; - if ((temp_r31->unk10 >= 1) && (temp_r31->unk10 < 6)) { - return 1; - } - return 0; -} - -s32 fn_1_B888(void) -{ - if (lbl_1_bss_6CC >= 3) { - return 1; - } - else { - return 0; - } -} - -s32 fn_1_B8AC(void) -{ - M424DllClawStruct *temp_r31; - - if (!lbl_1_bss_6D8) { - return 0; - } - if (!lbl_1_bss_6D8->data) { - return 0; - } - - temp_r31 = lbl_1_bss_6D8->data; - if (temp_r31->unk10 >= 10) { - return 1; - } - return 0; -} - -s32 fn_1_B924(void) -{ - M424DllClawStruct *temp_r31; - - if (!lbl_1_bss_6D8) { - return 0; - } - if (!lbl_1_bss_6D8->data) { - return 0; - } - - temp_r31 = lbl_1_bss_6D8->data; - if (temp_r31->unk10 >= 13) { - return 1; - } - return 0; -} - -void fn_1_B99C(Vec *arg0, Vec *arg1, f32 arg8, Vec *arg2) -{ - fn_1_B9E0(arg0, arg1, arg8, arg2, 0x10); -} - -s32 fn_1_B9E0(Vec *arg0, Vec *arg1, f32 arg8, Vec *arg2, s32 arg3) -{ - Vec sp60; - Vec sp54; - Vec sp48; - Vec sp3C; - Vec sp30; - Vec sp24; - Vec sp18; - Vec spC; - f32 temp_f30; - f32 var_f29; - f32 temp_f28; - f32 temp_f27; - f32 temp_f26; - f32 var_f25; - f32 var_f24; - f32 var_f23; - M424DllClawStruct *temp_r31; - s32 var_r29; - s32 var_r28; - s32 var_r26; - omObjData *var_r24; - s32 var_r23; - - var_r23 = 1; - var_r28 = 0; - var_r24 = lbl_1_bss_6D8; - temp_r31 = var_r24->data; - VECAdd(arg0, arg1, &sp24); - spC = *arg1; - *arg2 = *arg0; - temp_f30 = 5.0f + arg8; - if (temp_r31->unk164 == 0) { - return 0; - } - switch (temp_r31->unk10) { - case 3: - for (var_r29 = 0; var_r29 < 0xC; var_r29++) { - if (var_r28 != 0) { - sp24 = *arg2; - VECSubtract(&sp24, arg0, &spC); - } - VECSubtract(&sp24, &temp_r31->unk3C[var_r29], &sp18); - var_f29 = VECMag(&sp18); - if (var_f29 < temp_f30) { - if (0.0f == var_f29) { - var_f29 = temp_f30; - sp18.x = 0.0f; - sp18.y = 0.0f; - sp18.z = 1.0f; - } - var_f23 = sqrtf((sp18.x * sp18.x) + (sp18.z * sp18.z)); - if ((temp_r31->unk3C[var_r29].y > sp24.y) && (var_f23 < 17.599999999999998)) { - temp_r31->unk15C = 1; - } - else { - VECNormalize(&sp18, &sp18); - VECScale(&sp18, &sp18, temp_f30); - VECAdd(&temp_r31->unk3C[var_r29], &sp18, arg2); - } - var_r28 = 1; - } - } - break; - default: - for (var_r29 = 0; var_r29 < 0xC; var_r29++) { - if (var_r28 != 0) { - sp24 = *arg2; - VECSubtract(&sp24, arg0, &spC); - } - var_r26 = 0; - sp60 = temp_r31->unk3C[var_r29]; - VECAdd(&temp_r31->unkCC[var_r29], &spC, &sp54); - VECSubtract(&sp60, &sp54, &sp18); - VECSubtract(&sp24, &sp54, &sp48); - temp_f26 = (sp18.z * sp18.z) + ((sp18.x * sp18.x) + (sp18.y * sp18.y)); - if (temp_f26 != 0.0f) { - var_f24 = (sp18.x * sp48.x) + (sp18.y * sp48.y) + (sp18.z * sp48.z); - temp_f27 = var_f24 / temp_f26; - if (temp_f27 >= 0.0f) { - if (temp_f27 <= 1.0f) { - VECScale(&sp18, &sp18, temp_f27); - VECAdd(&sp54, &sp18, &sp3C); - VECSubtract(&sp24, &sp3C, &sp30); - var_f29 = VECMag(&sp30); - if (var_f29 == 0.0f) { - if (VECMag(&sp18) <= 0.0f) { - sp18.x = sp18.y = 0.0f; - sp18.z = 1.0f; - } - VECNormalize(&sp18, &sp30); - VECScale(&sp30, &sp30, temp_f30); - VECAdd(&sp60, &sp30, arg2); - var_r28 = 1; - var_r26 = 1; - } - else if (var_f29 < temp_f30) { - if (VECMag(&sp30) <= 0.0f) { - - sp30.x = sp30.y = 0.0f; - sp30.z = 1.0f; - } - VECNormalize(&sp30, &sp30); - VECScale(&sp30, &sp30, temp_f30); - VECAdd(&sp3C, &sp30, arg2); - var_r28 = 1; - var_r26 = 1; - } - } - } - } - if (var_r26 == 0) { - VECSubtract(&sp24, &sp60, &sp18); - var_f29 = VECMag(&sp18); - if (var_f29 < temp_f30) { - if (var_f29 <= 0.0f) { - sp18.x = sp18.y = 0.0f; - sp18.z = 1.0f; - } - VECNormalize(&sp18, &sp18); - VECScale(&sp18, &sp18, temp_f30); - VECAdd(&temp_r31->unk3C[var_r29], &sp18, arg2); - var_r28 = 1; - var_r26 = 1; - } - } - if (var_r26 == 0) { - VECSubtract(&sp24, &sp54, &sp18); - var_f29 = VECMag(&sp18); - if (var_f29 < temp_f30) { - if (var_f29 <= 0.0f) { - sp18.x = sp18.y = 0.0f; - sp18.z = 1.0f; - } - VECNormalize(&sp18, &sp18); - VECScale(&sp18, &sp18, temp_f30); - VECAdd(&temp_r31->unk3C[var_r29], &sp18, arg2); - var_r28 = 1; - var_r26 = 1; - } - } - if ((lbl_1_data_2DC[var_r29] != 0) && (var_r26 == 0)) { - var_r23 = 0; - } - } - if ((temp_r31->unk10 == 4) && (var_r23 != 0)) { - arg2->x = temp_r31->unk30.x; - arg2->y = arg0->y; - arg2->z = temp_r31->unk30.z; - arg3 = 0; - temp_r31->unk160 = 1; - } - break; - case 0: - case 1: - case 2: - case 9: - break; - } - if (var_r28 != 0) { - if (--arg3 > 0) { - sp24 = *arg2; - VECSubtract(&sp24, arg0, &spC); - if (fn_1_B9E0(arg0, &spC, arg8, &sp24, arg3) != 0) { - *arg2 = sp24; - } - } - } - - (void)temp_f30; // @todo fix - (void)temp_f30; - return var_r28; -} - -s32 fn_1_C210(Vec *arg0) -{ - Vec sp1C; - Vec sp10; - f32 spC; - M424DllClawStruct *temp_r31; - omObjData *var_r30; - s32 var_r29; - - var_r29 = 0; - var_r30 = lbl_1_bss_6D8; - temp_r31 = var_r30->data; - if (temp_r31->unk164 == 0) { - return 0; - } - switch (temp_r31->unk10) { - case 5: - sp1C.x = temp_r31->unk30.x; - sp1C.y = -120.00001f + temp_r31->unk30.y; - sp1C.z = temp_r31->unk30.z; - VECSubtract(arg0, &sp1C, &sp10); - if ((spC = VECMag(&sp10)) < 50.0f) { - var_r29 = 1; - } - } - return var_r29; -} - -void fn_1_C2E0(s32 arg0) -{ - Vec sp4C; - Vec sp40; - Vec sp34; - Vec sp28; - Vec *spC; - M424DllBallStruct2 *temp_r27; - Vec *temp_r28; - M424DllClawStruct *temp_r31; - s32 var_r30; - s32 var_r26; - omObjData *var_r25; - - if ((u8)omPauseChk() != 0U) - return; - - var_r25 = lbl_1_bss_6D8; - if (lbl_1_bss_6D8) { - temp_r31 = var_r25->data; - if (temp_r31 && (temp_r31->unk164 != 0)) { - temp_r27 = &lbl_1_bss_60[0]; - if (temp_r27) { - var_r26 = 0x10; - - for (var_r30 = 0; var_r30 < lbl_1_bss_58; var_r30++) { - temp_r27 = &lbl_1_bss_60[var_r30]; - if ((fn_1_8950(var_r30) == 3) || (fn_1_8950(var_r30) == 4)) - continue; - temp_r28 = fn_1_89D4(var_r30); - spC = fn_1_8A00(var_r30); - sp28 = *temp_r28; - sp4C = temp_r27->unk60; - VECSubtract(temp_r28, &sp4C, &sp40); - if (fn_1_B9E0(&sp4C, &sp40, 100.0f, &sp34, 0x10) != 0) { - *temp_r28 = sp34; - sp4C = sp34; - if ((temp_r27->unk4 < 3) && (fn_1_907C(&sp4C, &sp34) != 0)) { - *temp_r28 = sp34; - sp4C = sp34; - } - fn_1_C604(var_r30, 0x20); - if ((sp28.y != sp4C.y) && (var_r30 != temp_r31->unk168) && (var_r30 != temp_r31->unk16C)) { - temp_r28->y = sp28.y; - sp4C.y = sp28.y; - if (var_r26 > 0) { - var_r30--; - var_r26--; - continue; - } - } - } - if (temp_r31->unk168 == -1) { - if (fn_1_C210(&sp4C) != 0) { - temp_r31->unk168 = var_r30; - temp_r31->unk170 = fn_1_897C(var_r30); - VECSubtract(&sp4C, &temp_r31->unk30, &temp_r31->unk174); - fn_1_88E8(temp_r31->unk168, sp4C.x, sp4C.y, sp4C.z); - } - } - var_r26 = 0x10; - } - } - } - } -} - -void fn_1_C604(s32 arg0, s32 arg1) -{ - Vec sp30; - Vec sp24; - Vec sp18; - Vec spC; - M424DllBallStruct2 *sp8; - Vec *var_r31; - f32 temp_f31; - f32 var_f30; - s32 var_r30; // ! - uninitialized - M424DllBallStruct2 *var_r28; - Vec *var_r27; - - sp8 = &lbl_1_bss_60[var_r30]; - var_r27 = fn_1_89D4(arg0); - sp30 = *var_r27; - for (var_r30 = 0; var_r30 < lbl_1_bss_58; var_r30++) { - if ((var_r30 != arg0) && (fn_1_8950(var_r30) < 3)) { - var_r28 = &lbl_1_bss_60[var_r30]; - var_r31 = fn_1_89D4(var_r30); - sp24 = *var_r31; - VECSubtract(&sp24, &sp30, &sp18); - var_f30 = VECMag(&sp18); - if (var_f30 < 200.0f) { - if (var_f30 > 0.0f) { - temp_f31 = 1.0f / var_f30; - sp18.x *= temp_f31; - sp18.y *= temp_f31; - sp18.z *= temp_f31; - } - else { - sp18.x = 0.0f; - sp18.y = 0.0f; - sp18.z = 1.0f; - } - temp_f31 = 1.0f + (200.0f - var_f30); - sp24.x += (sp18.x * temp_f31); - sp24.z += (sp18.z * temp_f31); - var_r31->x = sp24.x; - var_r31->z = sp24.z; - if ((var_r28->unk4 < 3) && (fn_1_907C(&sp24, &spC) != 0)) { - var_r31->x = sp24.x = spC.x; - var_r31->z = sp24.z = spC.z; - } - if (arg1 > 0) { - arg1--; - fn_1_C604(var_r30, arg1); - } - } - } - } -} - -void fn_1_C854(void) -{ - fn_1_C2E0(0); -} - -s32 fn_1_C878(s16 arg0, const char *arg1, Mtx arg2, s32 arg3) -{ - Mtx sp44; - Mtx sp14; - HsfData *temp_r30; - ModelData *temp_r31; - - temp_r31 = &Hu3DData[arg0]; - temp_r30 = temp_r31->hsfData; - lbl_1_bss_6C8 = 0; - if (temp_r31->unk_08 != -1) { - lbl_1_bss_6C4 = 1; - } - else { - lbl_1_bss_6C4 = 0; - } - mtxRot(sp14, temp_r31->rot.x, temp_r31->rot.y, temp_r31->rot.z); - MTXScale(sp44, temp_r31->scale.x, temp_r31->scale.y, temp_r31->scale.z); - MTXConcat(sp14, sp44, sp44); - mtxTransCat(sp44, temp_r31->pos.x, temp_r31->pos.y, temp_r31->pos.z); - if (arg3 != 0) { - MTXConcat(arg2, sp44, sp44); - } - fn_1_C99C(temp_r30->root, sp44, arg1, arg2); - return lbl_1_bss_6C8; -} - -void fn_1_C99C(HsfObject *arg0, Mtx arg1, const char *arg2, Mtx arg3) -{ - Mtx spF8; - Mtx spC8; - Mtx sp98; - Mtx sp68; - Mtx sp38; - Mtx sp8; - HsfTransform *var_r31; - HsfTransform *var_r30; - HsfTransform *var_r29; - HsfObject *temp_r28; - HsfObject *temp_r27; - u32 var_r25; - u32 var_r24; - u32 var_r23; - - if (lbl_1_bss_6C8 == 0) { - if (lbl_1_bss_6C4 != 0) { - var_r31 = &arg0->data.curr; - } - else { - var_r31 = &arg0->data.base; - } - if ((var_r31->scale.x <= 0.0f) && (var_r31->scale.y <= 0.0f) && (var_r31->scale.z <= 0.0f)) { - MTXCopy(arg1, spF8); - OSReport("OBJ MTX CHECK ERROR %s \n", arg0->name); - } - else { - mtxRot(spC8, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z); - MTXScale(spF8, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z); - MTXConcat(spC8, spF8, spF8); - mtxTransCat(spF8, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z); - MTXConcat(arg1, spF8, spF8); - } - if (lbl_1_bss_6C0 != 0) { - OSReport("%s \n", arg0->name); - } - if (strcmp(arg2, arg0->name) == 0) { - MTXCopy(spF8, arg3); - lbl_1_bss_6C8 = 1; - } - for (var_r25 = 0; var_r25 < arg0->data.childrenCount; var_r25++) { - temp_r28 = arg0->data.children[var_r25]; - if (lbl_1_bss_6C8 == 0) { - if (lbl_1_bss_6C4 != 0) { - var_r30 = &temp_r28->data.curr; - } - else { - var_r30 = &temp_r28->data.base; - } - if ((var_r30->scale.x <= 0.0f) && (var_r30->scale.y <= 0.0f) && (var_r30->scale.z <= 0.0f)) { - MTXCopy(spF8, sp68); - OSReport("OBJ MTX CHECK ERROR %s \n", temp_r28->name); - } - else { - mtxRot(sp98, var_r30->rot.x, var_r30->rot.y, var_r30->rot.z); - MTXScale(sp68, var_r30->scale.x, var_r30->scale.y, var_r30->scale.z); - MTXConcat(sp98, sp68, sp68); - mtxTransCat(sp68, var_r30->pos.x, var_r30->pos.y, var_r30->pos.z); - MTXConcat(spF8, sp68, sp68); - } - if (lbl_1_bss_6C0 != 0) { - OSReport("%s \n", temp_r28->name); - } - if (strcmp(arg2, temp_r28->name) == 0) { - MTXCopy(sp68, arg3); - lbl_1_bss_6C8 = 1; - } - for (var_r24 = 0; var_r24 < temp_r28->data.childrenCount; var_r24++) { - temp_r27 = temp_r28->data.children[var_r24]; - if (lbl_1_bss_6C8 == 0) { - if (lbl_1_bss_6C4 != 0) { - var_r29 = &temp_r27->data.curr; - } - else { - var_r29 = &temp_r27->data.base; - } - if ((var_r29->scale.x <= 0.0f) && (var_r29->scale.y <= 0.0f) && (var_r29->scale.z <= 0.0f)) { - MTXCopy(sp68, sp8); - OSReport("OBJ MTX CHECK ERROR %s \n", temp_r27->name); - } - else { - mtxRot(sp38, var_r29->rot.x, var_r29->rot.y, var_r29->rot.z); - MTXScale(sp8, var_r29->scale.x, var_r29->scale.y, var_r29->scale.z); - MTXConcat(sp38, sp8, sp8); - mtxTransCat(sp8, var_r29->pos.x, var_r29->pos.y, var_r29->pos.z); - MTXConcat(sp68, sp8, sp8); - } - if (lbl_1_bss_6C0 != 0) { - OSReport("%s \n", temp_r27->name); - } - if (strcmp(arg2, temp_r27->name) == 0) { - MTXCopy(sp8, arg3); - lbl_1_bss_6C8 = 1; - } - for (var_r23 = 0; var_r23 < temp_r27->data.childrenCount; var_r23++) { - fn_1_C99C(temp_r27->data.children[var_r23], sp8, arg2, arg3); - } - } - } - } - } - } -} - -void fn_1_CE74(s32 arg0) -{ - ModelData *temp_r31; - - temp_r31 = &Hu3DData[arg0]; - if (temp_r31->unk_08 != -1) { - Hu3DMotionExec(arg0, temp_r31->unk_08, temp_r31->unk_64, 0); - } - if (temp_r31->unk_0C != -1) { - Hu3DSubMotionExec(arg0); - } - if (temp_r31->hsfData->cenvCnt != 0) { - EnvelopeProc(temp_r31->hsfData); - } -} - -void fn_1_CF00(Process *arg0) -{ - M424DllClawStruct3 *var_r31; - s32 var_r30; - - omAddObjEx(arg0, 0x40, 0, 0, -1, fn_1_CF80); - var_r31 = &lbl_1_bss_640[0]; - - for (var_r30 = 0; var_r30 < 0x10; var_r30++, var_r31++) { - var_r31->unk0 = -1; - var_r31->unk4 = -1; - } -} - -void fn_1_CF80(omObjData *arg0) -{ - M424DllClawStruct3 *var_r31; - s32 var_r30; - - var_r31 = &lbl_1_bss_640[0]; - for (var_r30 = 0; var_r30 < 0x10; var_r30++, var_r31++) { - if ((var_r31->unk0 >= 0) && (var_r31->unk4 > 0)) { - if (--var_r31->unk4 <= 0) { - HuAudFXPlay(var_r31->unk0); - var_r31->unk0 = -1; - var_r31->unk4 = -1; - } - } - } -} - -s32 fn_1_D010(s32 arg0, s32 arg1) -{ - M424DllClawStruct3 *var_r31; - s32 var_r30; - - var_r31 = &lbl_1_bss_640[0]; - for (var_r30 = 0; var_r30 < 0x10; var_r30++, var_r31++) { - if (var_r31->unk0 == -1) - break; - } - if (var_r30 >= 0x10) { - return -1; - } - var_r31->unk0 = arg0; - var_r31->unk4 = arg1; - return var_r30; -} diff --git a/src/REL/m424Dll/main.c b/src/REL/m424Dll/main.c deleted file mode 100644 index 0b9f27ba..00000000 --- a/src/REL/m424Dll/main.c +++ /dev/null @@ -1,421 +0,0 @@ -#include "REL/m424Dll.h" - -#include "ext_math.h" -#include "game/audio.h" -#include "game/hsfman.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/wipe.h" - -// BSS -Process* lbl_1_bss_4C; -s32 lbl_1_bss_48; -s32 lbl_1_bss_44; -s32 lbl_1_bss_40; -s32 lbl_1_bss_3C; -s32 lbl_1_bss_38; // UNUSED -s32 lbl_1_bss_34; -s32 lbl_1_bss_30; -s32 lbl_1_bss_2C; -s16 lbl_1_bss_24[4]; -s16 lbl_1_bss_1C[4]; -omObjData* lbl_1_bss_18; -omObjData* lbl_1_bss_14; -s32 lbl_1_bss_10; -s32 lbl_1_bss_C; -f32 lbl_1_bss_4[2]; // UNUSED -f32 lbl_1_bss_0; - -// data -M424DllMainStruct lbl_1_data_0[3] = { - { - { 320.0f, 0.0f, 0.0f }, - { 201.0f, 175.0f, 72.0f }, - 2025.0f - }, - { - { 320.0f, 0.0f, 0.0f }, - { 0.0f, 225.0f, -72.0f }, - 550.0f - }, - { - { 320.0f, 0.0f, 0.0f }, - { 401.0f, 175.0f, 72.0f }, - 625.0f - } -}; -Vec lbl_1_data_54 = { 1000.0f, 2000.0f, 1000.0f }; -Vec lbl_1_data_60 = { 0.0f, 1.0f, 0.0f }; -Vec lbl_1_data_6C = { 0.0f, 0.0f, -450.0f }; - -// PROTO -void fn_1_264(omObjData* object); -void fn_1_41C(omObjData* object); -void fn_1_EE0(omObjData* object); -void fn_1_F40(omObjData* object); -void fn_1_FF0(void); -void fn_1_11EC(omObjData* object); -void fn_1_1204(s32, s32, f32); -f32 fn_1_16C0(f32, f32, f32); - -/// FUNCTIONS /// - -void ObjectSetup(void) { - s32 var_r31; - Process* var_r30; - CameraData* var_r29; - - OSReport("******* M424ObjectSetup *********\n"); - var_r30 = omInitObjMan(0x32, 0x2000); - lbl_1_bss_4C = var_r30; - omGameSysInit(var_r30); - fn_1_FF0(); - var_r29 = &Hu3DCamera[0]; - var_r29->fov = -1.0f; - Hu3DLightAllKill(); - Hu3DLighInit(); - HuAudSndGrpSet(0x31); - lbl_1_bss_18 = omAddObjEx(var_r30, 0xFF, 2, 0, -1, fn_1_264); - lbl_1_bss_48 = lbl_1_bss_44 = -1; - lbl_1_bss_40 = 0; - lbl_1_bss_3C = 0; - lbl_1_bss_34 = 0; - lbl_1_bss_2C = -1; - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_24[var_r31] = -1; - lbl_1_bss_1C[var_r31] = -1; - } - Hu3DShadowCreate(30.0f, 1000.0f, 250000.0f); - Hu3DShadowTPLvlSet(0.5f); - Hu3DShadowPosSet(&lbl_1_data_54, &lbl_1_data_60, &lbl_1_data_6C); - Hu3DBGColorSet(0xFFU, 0xFFU, 0xFFU); -} - -Vec lbl_1_data_9C = { 0.0f, 0.0f, 0.0f }; -Vec lbl_1_data_A8 = { -1.0f, -2.0f, -1.0f }; -GXColor lbl_1_data_B4 = { 0xFF, 0xFF, 0xFF, 0xFF }; - -void fn_1_264(omObjData* object) { - s32 var_r31; - s32 var_r30; - s32 var_r29; - - var_r29 = Hu3DGLightCreateV(&lbl_1_data_9C, &lbl_1_data_A8, &lbl_1_data_B4); - Hu3DGLightStaticSet(var_r29, 1); - Hu3DGLightInfinitytSet(var_r29); - - for (var_r31 = 0, var_r30 = 0; var_r31 < 4; var_r31++) { - if (GWPlayerCfg[var_r31].group == 0) { - lbl_1_bss_24[3] = var_r31; - lbl_1_bss_1C[3] = GWPlayerCfg[var_r31].character; - } else { - lbl_1_bss_24[var_r30] = var_r31; - lbl_1_bss_1C[var_r30] = GWPlayerCfg[var_r31].character; - var_r30++; - } - } - if (var_r30 >= 4) { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_24[var_r31] = var_r31; - lbl_1_bss_1C[var_r31] = GWPlayerCfg[var_r31].character; - } - } - fn_1_1AB8(lbl_1_bss_4C); - fn_1_2720(lbl_1_bss_4C); - fn_1_93F0(lbl_1_bss_4C); - object->func = fn_1_41C; -} - -void fn_1_41C(omObjData* object) { - s16 sp16; - s16 sp12; - s16 spE; - s16 spA; - f32 var_f31; // ! - uninitalized - s32 var_r31; - s32 var_r30; - CameraData* var_r29; - - switch (lbl_1_bss_40) { - case 0: - lbl_1_bss_0 += fn_1_213C(); - fn_1_1204(2, 2, var_f31); - if (lbl_1_bss_0 >= 360.0f) { - WipeCreate(1, 0, 0x3C); - var_r29 = &Hu3DCamera[0]; - var_r29->fov = 45.0f; - lbl_1_bss_40 = 1; - lbl_1_bss_3C = 0; - } - break; - case 1: - if (WipeStatGet() == 0) { - lbl_1_bss_40 = 2; - lbl_1_bss_3C = 0; - } - break; - case 2: - if (++lbl_1_bss_3C >= 120.0f) { - lbl_1_bss_48 = MGSeqCreate(3, 0); - lbl_1_bss_40 = 3; - lbl_1_bss_3C = 0; - lbl_1_bss_34 = 0; - } - break; - case 3: - lbl_1_bss_34++; - var_f31 = lbl_1_bss_34 / 60.0f; - if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - var_f31 = sind((90.0f * (var_f31 * var_f31))); - fn_1_1204(2, 0, var_f31); - if (lbl_1_bss_48 != -1) { - var_r31 = MGSeqStatGet(lbl_1_bss_48); - if (((var_r31 & 0x10) != 0) && (lbl_1_bss_2C == -1)) { - lbl_1_bss_2C = HuAudSeqPlay(0x48); - } - } else { - var_r31 = 0; - } - if ((lbl_1_bss_48 == -1) || (var_r31 == 0)) { - if (lbl_1_bss_34 >= 60.0f) { - lbl_1_bss_48 = -1; - lbl_1_bss_40 = 4; - lbl_1_bss_3C = 0; - lbl_1_bss_34 = 0xE10; - lbl_1_bss_44 = MGSeqCreate(1, lbl_1_bss_34 / 60, -1, -1); - } - } - break; - case 4: - var_r30 = (lbl_1_bss_34 + 0x3B) / 60; - if (var_r30 < 0) { - var_r30 = 0; - } - MGSeqParamSet(lbl_1_bss_44, 1, var_r30); - if ((--lbl_1_bss_34 < -1) || (fn_1_B888() != 0)) { - MGSeqParamSet(lbl_1_bss_44, 2, -1); - lbl_1_bss_44 = -1; - lbl_1_bss_48 = MGSeqCreate(3, 1); - if (lbl_1_bss_2C != -1) { - HuAudSeqFadeOut(lbl_1_bss_2C, 0x64); - } - lbl_1_bss_40 = 5; - lbl_1_bss_3C = 0; - } - break; - case 5: - if ((lbl_1_bss_48 == -1) || ((MGSeqStatGet(lbl_1_bss_48) == 0) && (fn_1_B8AC() != 0) && (fn_1_8A2C() != 0) && (fn_1_213C() <= 0.0f))) { - if (fn_1_B888() != 0) { - lbl_1_bss_30 = 0; - } else { - lbl_1_bss_30 = 1; - } - HuAudAllStop(); - lbl_1_bss_40 = 6; - lbl_1_bss_3C = 0; - } - break; - case 6: - if (lbl_1_bss_30 == 0) { - if (fn_1_B924() != 0) { - lbl_1_bss_40 = 7; - lbl_1_bss_3C = 0; - } - } else { - if (++lbl_1_bss_3C >= 120.0f) { - lbl_1_bss_40 = 7; - lbl_1_bss_3C = 0; - } - } - break; - case 7: - if (lbl_1_bss_30 != 0) { - lbl_1_bss_48 = MGSeqCreate(5, 3, lbl_1_bss_1C[0], lbl_1_bss_1C[1], lbl_1_bss_1C[2], -1); - GWPlayerCoinWinSet(lbl_1_bss_24[0], GWPlayerCoinWinGet(lbl_1_bss_24[0]) + 10); - GWPlayerCoinWinSet(lbl_1_bss_24[1], GWPlayerCoinWinGet(lbl_1_bss_24[1]) + 10); - GWPlayerCoinWinSet(lbl_1_bss_24[2], GWPlayerCoinWinGet(lbl_1_bss_24[2]) + 10); - HuAudSStreamPlay(1); - lbl_1_bss_40 = 8; - lbl_1_bss_34 = 0; - } else { - lbl_1_bss_48 = MGSeqCreate(5, 3, lbl_1_bss_1C[3], -1, -1, -1); - GWPlayerCoinWinSet(lbl_1_bss_24[3], GWPlayerCoinWinGet(lbl_1_bss_24[3]) + 10); - HuAudSStreamPlay(1); - lbl_1_bss_40 = 8; - lbl_1_bss_34 = 0; - } - break; - case 8: - if (lbl_1_bss_30 == 0) { - var_f31 = lbl_1_bss_34 / 60.0f; - if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - var_f31 = sind(90.0f * (var_f31 * var_f31)); - fn_1_1204(0, 1, var_f31); - } - if (++lbl_1_bss_34 >= 210.0f) { - lbl_1_bss_48 = -1; - lbl_1_bss_40 = 9; - lbl_1_bss_34 = 0; - } - break; - case 9: - WipeCreate(2, 0, 0x3C); - object->func = fn_1_EE0; - break; - } - fn_1_F40(object); -} - -void fn_1_EE0(omObjData* object) { - if (WipeStatGet() == 0) { - Hu3DBGColorSet(0, 0, 0); - fn_1_1B8C(); - fn_1_2880(); - fn_1_94A4(); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - } -} - -void fn_1_F40(omObjData* object) { - s32 var_r30; - - var_r30 = 0; - if ((WipeStatGet() != 0) || (object->func == fn_1_EE0)) { - return; - } - if (omSysExitReq != 0) { - var_r30 = 1; - } - if (var_r30 != 0) { - WipeCreate(2, 0, 0x3C); - HuAudStreamFadeOut(0x1E); - object->func = fn_1_EE0; - } -} - -s32 fn_1_FE0(void) { - return lbl_1_bss_40; -} - -void fn_1_FF0(void) { - omObjData* var_r31; - - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 45.0f, 50.0f, 50000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(1, 0, 0, 0x280, 0x1E0); - var_r31 = lbl_1_bss_14 = omAddObjEx(lbl_1_bss_4C, 0x7FDA, 0, 0, -1, omOutView); - var_r31->work[0] = 1; - CRot.x = lbl_1_data_0[0].rot.x; - CRot.y = lbl_1_data_0[0].rot.y; - CRot.z = lbl_1_data_0[0].rot.z; - Center.x = lbl_1_data_0[0].center.x; - Center.y = lbl_1_data_0[0].center.y; - Center.z = lbl_1_data_0[0].center.z; - CZoom = lbl_1_data_0[0].zoom; - lbl_1_bss_C = 0; - lbl_1_bss_10 = -1; - omAddObjEx(lbl_1_bss_4C, 0xFF, 0, 0, -1, fn_1_11EC); -} - -void fn_1_11EC(omObjData* object) {} -void fn_1_11F0(void) {} - -s32 fn_1_11F4(void) { - return lbl_1_bss_C; -} - -void fn_1_1204(s32 arg0, s32 arg1, f32 arg2) { - M424DllMainStruct* temp_r30; - M424DllMainStruct* temp_r31; - - temp_r31 = &lbl_1_data_0[arg0]; - temp_r30 = &lbl_1_data_0[arg1]; - CRot.x = fn_1_16C0(arg2, temp_r31->rot.x, temp_r30->rot.x); - CRot.y = fn_1_16C0(arg2, temp_r31->rot.y, temp_r30->rot.y); - CRot.z = fn_1_16C0(arg2, temp_r31->rot.z, temp_r30->rot.z); - Center.x = temp_r31->center.x + (arg2 * (temp_r30->center.x - temp_r31->center.x)); - Center.y = temp_r31->center.y + (arg2 * (temp_r30->center.y - temp_r31->center.y)); - Center.z = temp_r31->center.z + (arg2 * (temp_r30->center.z - temp_r31->center.z)); - CZoom = temp_r31->zoom + (arg2 * (temp_r30->zoom - temp_r31->zoom)); -} - -f32 fn_1_1358(f32 arg8, f32 arg9) { - f32 var_f31; - - if (arg8 >= 360.0f) { - arg8 -= 360.0f; - } else if (arg8 < 0.0f) { - arg8 += 360.0f; - } - if (arg9 >= 360.0f) { - arg9 -= 360.0f; - } else if (arg9 < 0.0f) { - arg9 += 360.0f; - } - var_f31 = arg8 - arg9; - if (var_f31 <= -180.0f) { - var_f31 += 360.0f; - } else { - if (var_f31 >= 180.0f) { - var_f31 -= 360.0f; - } - } - return var_f31; -} - -f32 fn_1_1470(f32 arg8, f32 arg9, f32 argA) { - f32 var_f30; - f32 var_f31; - - if (arg8 >= 360.0) { - arg8 -= 360.0; - } else if (arg8 < 0.0) { - arg8 += 360.0; - } - if (arg9 >= 360.0) { - arg9 -= 360.0; - } else if (arg9 < 0.0) { - arg9 += 360.0; - } - var_f30 = (360.0 + (arg8 - arg9)); - if (fabs(var_f30) >= 360.0) { - var_f30 = fmod(var_f30, 360.0); - } - if (var_f30 < 180.0) { - if (var_f30 <= argA) { - var_f31 = var_f30; - } else { - var_f31 = argA; - } - } else { - if ((360.0 - var_f30) <= argA) { - var_f31 = -(360.0 - var_f30); - } else { - var_f31 = -argA; - } - } - var_f31 = var_f31 + arg9; - if (var_f31 >= 360.0) { - var_f31 -= 360.0; - } else if (var_f31 < 0.0) { - var_f31 += 360.0; - } - return var_f31; -} - -f32 fn_1_16C0(f32 arg0, f32 arg1, f32 arg2) { - f32 temp_f24; - f32 var_f23; - - var_f23 = fn_1_1358(arg2, arg1); - temp_f24 = fabs(var_f23 * arg0); - return fn_1_1470(arg2, arg1, temp_f24); -} diff --git a/src/REL/m424Dll/map.c b/src/REL/m424Dll/map.c deleted file mode 100644 index 4536b396..00000000 --- a/src/REL/m424Dll/map.c +++ /dev/null @@ -1,293 +0,0 @@ -#include "REL/m424Dll.h" - -#include "game/audio.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "math.h" - - -// STRUCT -typedef struct _M424DllMapStruct { - f32 unk0; - f32 unk4; - Mtx unk8; - s32 unk38; - f32 unk3C; - s32 unk40; - s32 unk44; - s32 unk48; - s32 unk4C; - s32 unk50; -} M424DllMapStruct; // sizeof 0x54 - -// BSS -Process *lbl_1_bss_54; -omObjData *lbl_1_bss_50; - -// DATA -Vec lbl_1_data_E0 = { 0.0f, 3000.0f, 1.0f }; -Vec lbl_1_data_EC = { 0.0f, 1.0f, 0.0f }; -Vec lbl_1_data_F8 = { 0.0f, 0.0f, 0.0f }; - -// PROTO -void fn_1_1BB8(omObjData *); -void fn_1_1E1C(omObjData *); -void fn_1_2130(omObjData *); -void fn_1_2438(f32); - -omObjData *fn_1_1AB8(Process *arg0) -{ - lbl_1_bss_54 = arg0; - lbl_1_bss_50 = omAddObjEx(arg0, 0x7F, 6, 0, -1, fn_1_1BB8); - lbl_1_bss_50->data = NULL; - Hu3DShadowCreate(45.0f, 1000.0f, 250000.0f); - Hu3DShadowTPLvlSet(0.3f); - Hu3DShadowPosSet(&lbl_1_data_E0, &lbl_1_data_EC, &lbl_1_data_F8); - return lbl_1_bss_50; -} - -void fn_1_1B8C(void) -{ - fn_1_2130(lbl_1_bss_50); -} - -void fn_1_1BB8(omObjData *arg0) -{ - M424DllMapStruct *var_r30; - - var_r30 = arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x54, 0x10000000); - memset(var_r30, 0, 0x54); - var_r30->unk0 = 0.0f; - var_r30->unk4 = 0.0f; - var_r30->unk38 = -1; - var_r30->unk3C = 0.0f; - var_r30->unk40 = 0; - var_r30->unk44 = -1; - var_r30->unk48 = 0; - var_r30->unk4C = 0; - var_r30->unk50 = -1; - arg0->model[0] = Hu3DModelCreateFile(0x370017); - arg0->model[1] = Hu3DModelCreateFile(0x370018); - arg0->model[2] = Hu3DModelCreateFile(0x370019); - arg0->model[3] = Hu3DModelCreateFile(0x37001A); - arg0->model[4] = Hu3DModelCreateFile(0x37001B); - arg0->model[5] = Hu3DModelCreateFile(0x37001C); - Hu3DModelAttrSet(arg0->model[4], 1); - Hu3DMotionSpeedSet(arg0->model[1], var_r30->unk0); - Hu3DModelAttrSet(arg0->model[1], 0x40000001); - Hu3DMotionSpeedSet(arg0->model[0], 0.15f); - Hu3DModelAttrSet(arg0->model[0], 0x40000001); - Hu3DModelPosSet(arg0->model[2], 847.135f, 0.0f, 424.56f); - Hu3DMotionSpeedSet(arg0->model[4], 2.0f); - Hu3DModelAttrSet(arg0->model[4], 0x40000001); - Hu3DModelShadowMapSet(arg0->model[0]); - Hu3DModelShadowMapSet(arg0->model[1]); - Hu3DModelShadowMapSet(arg0->model[2]); - arg0->func = fn_1_1E1C; -} - -void fn_1_1E1C(omObjData *arg0) -{ - f32 temp_f31; - M424DllMapStruct *temp_r31; - - temp_r31 = arg0->data; - if (temp_r31->unk40 > 0) { - fn_1_2438(temp_r31->unk3C); - if ((--temp_r31->unk40 <= 0) && (temp_r31->unk44 != -1)) { - HuAudFXStop(temp_r31->unk44); - temp_r31->unk44 = -1; - } - } - switch (fn_1_FE0()) { - case 0: - temp_r31->unk0 = 0.5f; - break; - case 1: - case 2: - temp_r31->unk0 = 0.0f; - break; - case 3: - case 4: - temp_r31->unk0 += 0.001f; - if (temp_r31->unk0 > 0.04f) { - temp_r31->unk0 = 0.04f; - } - if (temp_r31->unk38 != -1) - break; - - temp_r31->unk38 = HuAudFXPlay(0x626); - break; - default: - if ((fn_1_B804() == 0) && (fn_1_8A2C() != 0)) { - temp_r31->unk0 *= 0.9f; - if (temp_r31->unk0 < 0.01f) { - temp_r31->unk0 = 0.0f; - } - temp_f31 = temp_r31->unk0 / 0.04f; - if (temp_r31->unk38 != -1) { - HuAudFXVolSet(temp_r31->unk38, (s16)(-8191.0f * (1.0f - temp_f31))); - HuAudFXPitchSet(temp_r31->unk38, (s16)(127.0f * temp_f31)); - if (temp_f31 <= 0.0f) { - HuAudFXStop(temp_r31->unk38); - temp_r31->unk38 = -1; - } - } - } - break; - } - - if (temp_r31->unk48 != 0) { - if (temp_r31->unk4C != 0) { - temp_r31->unk4C = (temp_r31->unk4C - 1); - } - else { - temp_r31->unk48 = (temp_r31->unk48 - 1); - if (temp_r31->unk48 != 0) { - Hu3DModelAttrReset(arg0->model[4], 1); - Hu3DModelAttrSet(arg0->model[5], 1); - } - else { - Hu3DModelAttrSet(arg0->model[4], 1); - Hu3DModelAttrReset(arg0->model[5], 1); - if (temp_r31->unk50 != -1) { - HuAudFXStop(temp_r31->unk50); - temp_r31->unk50 = -1; - } - } - } - } - temp_r31->unk4 = (20.0f * temp_r31->unk0); - MTXRotRad(temp_r31->unk8, 0x59, MTXDegToRad(temp_r31->unk4)); - Hu3DMotionSpeedSet(arg0->model[1], temp_r31->unk0); -} - -void fn_1_2130(omObjData *arg0) -{ - arg0->func = NULL; -} - -f32 fn_1_213C(void) -{ - M424DllMapStruct *var_r31; - if (!lbl_1_bss_50) { - return 0.0f; - } - if (!lbl_1_bss_50->data) { - return 0.0f; - } - var_r31 = lbl_1_bss_50->data; - return var_r31->unk4; -} - -void fn_1_21B0(Mtx arg0) -{ - M424DllMapStruct *var_r31; - if (lbl_1_bss_50 && lbl_1_bss_50->data) { - var_r31 = lbl_1_bss_50->data; - MTXCopy(var_r31->unk8, *(Mtx *)&arg0); - } -} - -void fn_1_2220(Vec *arg0, Vec *arg1) -{ - Vec spC; - M424DllMapStruct *temp_r30; - - if (lbl_1_bss_50 && lbl_1_bss_50->data) { - temp_r30 = lbl_1_bss_50->data; - if (sqrtf((arg0->x * arg0->x) + (arg0->z * arg0->z)) < 700.0f) { - spC.x = (temp_r30->unk8[0][0] * arg0->x) + (temp_r30->unk8[0][2] * arg0->z); - spC.z = (temp_r30->unk8[2][0] * arg0->x) + (temp_r30->unk8[2][2] * arg0->z); - spC.y = arg0->y; - } - else { - spC = *arg0; - } - VECSubtract(&spC, arg0, &spC); - *arg1 = spC; - } -} - -void fn_1_2438(f32 arg0) -{ - M424DllMapStruct *spC; - HsfAttribute *var_r31; - ModelData *temp_r30; - HsfData *temp_r29; - s32 var_r28; - HsfBitmap *var_r27; - omObjData *var_r26; - - if (lbl_1_bss_50 && lbl_1_bss_50->data) { - var_r26 = lbl_1_bss_50; - spC = lbl_1_bss_50->data; - temp_r30 = &Hu3DData[var_r26->model[2]]; - temp_r29 = temp_r30->hsfData; - var_r31 = temp_r30->hsfData->attribute; - for (var_r28 = 0; var_r28 < temp_r29->attributeCnt; var_r28++, var_r31++) { - var_r27 = var_r31->bitmap; - if (strcmp("cr_dk2", var_r27->name) == 0) - break; - } - if (var_r28 < temp_r29->attributeCnt) { - var_r31->unk30 += arg0; - } - } -} - -void fn_1_252C(f32 arg8, s32 arg0) -{ - omObjData *sp10; - M424DllMapStruct *temp_r31; - - if (lbl_1_bss_50 && lbl_1_bss_50->data) { - sp10 = lbl_1_bss_50; - temp_r31 = lbl_1_bss_50->data; - temp_r31->unk44 = HuAudFXPlay(0x627); - temp_r31->unk3C = arg8; - temp_r31->unk40 = arg0; - } -} - -f32 fn_1_25C0(void) -{ - omObjData *sp8; - M424DllMapStruct *temp_r31; - - if (!lbl_1_bss_50) { - return 0.0f; - } - if (!lbl_1_bss_50->data) { - return 0.0f; - } - sp8 = lbl_1_bss_50; - temp_r31 = lbl_1_bss_50->data; - if (temp_r31->unk40 != 0) { - return 250.0f * temp_r31->unk3C; - } - return 0.0f; -} - -void fn_1_2670(s32 arg0, s32 arg1) -{ - omObjData *temp_r30; - M424DllMapStruct *temp_r31; - - if (lbl_1_bss_50 && lbl_1_bss_50->data) { - temp_r30 = lbl_1_bss_50; - temp_r31 = lbl_1_bss_50->data; - temp_r31->unk50 = HuAudFXPlay(0x629); - temp_r31->unk48 = arg0; - temp_r31->unk4C = arg1; - Hu3DMotionTimeSet(temp_r30->model[4], 0.0f); - } -} - -// UNUSED (guessing types) -M424DllMainStruct lbl_1_data_10C = { { 0.0f, 0.0f, 5500.0f }, { -3950.0f, 0.0f, -0.7f }, 0.6f }; - -GXColor lbl_1_data_128 = { 0xFF, 0xFF, 0xFF, 0xFF }; -M424DllMainStruct lbl_1_data_12C = { { 0.0f, 5500.0f, -3950.0f }, { 0.0f, 1.0f, 0.0f }, 0.0f }; - -s32 lbl_1_data_148[2] = { 0 }; diff --git a/src/REL/m425Dll/main.c b/src/REL/m425Dll/main.c deleted file mode 100644 index 7d1a75d0..00000000 --- a/src/REL/m425Dll/main.c +++ /dev/null @@ -1,1711 +0,0 @@ -#define HUSPR_USE_OLD_DEFS -#include "dolphin/gx/GXEnum.h" -#include "dolphin/gx/GXStruct.h" -#include "dolphin/gx/GXVert.h" -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/esprite.h" -#include "game/flag.h" -#include "game/frand.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" -#include "math.h" -#include "string.h" - -#include "REL/m425Dll.h" - -extern u8 texMtxTbl[]; // TODO maybe put in hsfdraw.h? - -typedef struct M425DllWork { - u8 unk_00; - u8 unk_01; - u8 unk_02; - u8 unk_03; - u8 unk_04; - u8 unk_05; - u8 unk_06; - char unk07[2]; - u8 unk_09; - u8 unk_0A; - u8 unk_0B; - u8 unk_0C; - char unk0D; - s16 unk_0E; - float unk_10; - float unk_14; - Vec unk_18; - Vec unk_24; - Vec unk_30; - float unk_3C[8]; - s32 unk_5C; - float unk_60; - s32 unk_64; - s32 unk_68; -} M425DllWork; /* size = 0x6C */ - -typedef struct M425DllWork2 { - char unk00[4]; - Vec unk_04; - Vec unk_10; - Vec unk_1C; - Vec unk_28; - float unk_34; - float unk_38; - float unk_3C; - float unk_40; - float unk_44; - float unk_48; - char unk4C[0x18]; - float unk_64; - float unk_68; - float unk_6C; - char unk70[4]; - s16 unk_74; - s16 unk_76; -} M425DllWork2; /* size = 0x78 */ - -typedef struct M425DllUnkStruct { - s16 unk_00; - s16 unk_02; - s16 unk_04; - char unk06[0x42]; -} M425DllUnkStruct; /* size = 0x48 */ - -typedef struct M425DllUnkStruct2 { - AnimData *unk_00; - s16 unk_04; - Vec unk_08; - Mtx unk_14; - Vec2f *unk_44; - s16 unk_48; -} M425DllUnkStruct2; /* size = 0x4C */ - -typedef struct M425DllUnkStruct3 { - char unk00[0xC]; - s16 unk_0C; - void *unk_10; - Vec *unk_14; - GXColor *unk_18; - Vec *unk_1C; - GXColor unk_20; - GXColor unk_24; - s16 unk_28; - s16 unk_2A; - M425DllUnkStruct2 *unk_2C; -} M425DllUnkStruct3; /* size = 0x30 */ - -typedef struct M425DllUnkBss10Struct { - /* 0x00 */ u8 unk_00; - /* 0x01 */ char pad_01[1]; - /* 0x02 */ u8 unk_02; - /* 0x03 */ u8 unk_03; - /* 0x04 */ float unk_04; - /* 0x08 */ Vec unk_08; - /* 0x14 */ float unk_14; - /* 0x18 */ float unk_18; - /* 0x1C */ float unk_1C; - /* 0x20 */ float unk_20; - /* 0x24 */ float unk_24; - /* 0x28 */ float unk_28; - /* 0x2C */ float unk_2C; - /* 0x30 */ float unk_30; - /* 0x34 */ float unk_34; - /* 0x38 */ float unk_38; - /* 0x3C */ float unk_3C; - /* 0x40 */ float unk_40; - union { - /* 0x44 */ s16 unk_44[0x20]; - struct { - float unk_44f; - float unk_48; - char unk4C[4]; - float unk_50; - char unk54[0x30]; - }; - }; -} M425DllUnkBss10Struct; /* size = 0x84 */ - -void fn_1_1B40(omObjData *object); -void fn_1_2784(omObjData *object); -void fn_1_2870(omObjData *object); -void fn_1_2A94(s16 arg0, Vec *arg1, Vec *arg2, float arg8); -void fn_1_2B2C(omObjData *object); -void fn_1_2E78(omObjData *object); -void fn_1_33E0(omObjData *object); -void fn_1_3764(omObjData *object); -s16 fn_1_3ED0(s32 arg0, s16 arg1, ParticleHook arg2); -void fn_1_3F80(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_460(omObjData *object); -void fn_1_480(omObjData *object); -void fn_1_4A88(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_5044(s16 arg0); -void fn_1_573C(Vec2f **arg0, s16 arg1, Vec2f *arg2); -void fn_1_57D4(ModelData *model, Mtx matrix); -void fn_1_5C20(ModelData *model, Mtx matrix); -s32 fn_1_64D4(void); -void fn_1_8E4(omObjData *object); -void fn_1_F48(omObjData *object); -void fn_1_FA8(omObjData *object); - -s16 lbl_1_data_0 = -1; -Vec lbl_1_data_4 = { -200.0f, 2500.0f, 1200.0f }; -Vec lbl_1_data_10 = { 0.2f, -0.8f, -0.2f }; -float lbl_1_data_1C[9] = { 0.0f, 2500.0f, 1500.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f }; -GXColor lbl_1_data_40 = { 0xFF, 0xFF, 0xFF, 0xFF }; - -omObjData *lbl_1_bss_668; -omObjData *lbl_1_bss_664; -// M425DllWork2 -omObjData *lbl_1_bss_660; -omObjData *lbl_1_bss_65C; -// M425DllWork -omObjData *lbl_1_bss_64C[4]; -u16 lbl_1_bss_648; -s16 lbl_1_bss_646; -s16 lbl_1_bss_644; -s16 lbl_1_bss_642; -s16 lbl_1_bss_640; -M425DllUnkBss10Struct lbl_1_bss_10[0xC]; -float lbl_1_bss_C; -float lbl_1_bss_8; -float lbl_1_bss_4; -char lbl_1_bss_0[4]; - -void ObjectSetup(void) -{ - s32 var_r31; - Process *process; - omObjData *object; - s32 var_r28; - LightData *var_r27; - CameraData *var_r26; - s32 var_r25; - s32 var_r24; - s32 sp8[4] = { 0, 0, 0, 0 }; - - OSReport("******* M425ObjectSetup *********\n"); - Hu3DLighInit(); - var_r24 = Hu3DGLightCreateV(&lbl_1_data_4, &lbl_1_data_10, &lbl_1_data_40); - Hu3DGLightInfinitytSet(var_r24); - var_r27 = Hu3DGlobalLight; - var_r27->unk_00 |= 0x8000; - process = omInitObjMan(0x32, 0x2000); - var_r25 = frand() & 0x1F; - for (var_r31 = 0; var_r31 < var_r25; var_r31++) { - fn_1_64D4(); - } - CRot.x = 8.0f; - CRot.y = 0.0f; - CRot.z = 0.0f; - Center.x = 0.0f; - Center.y = 430.0f; - Center.z = -400.0f; - CZoom = 1650.0f; - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 45.0f, 100.0f, 50000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - lbl_1_bss_664 = omAddObjEx(process, 0x7FDA, 0, 0, -1, omOutView); - var_r26 = Hu3DCamera; - var_r26->fov = -1.0f; - lbl_1_bss_668 = omAddObjEx(process, 0x10, 8, 0, -1, fn_1_460); - lbl_1_bss_65C = omAddObjEx(process, 0x20, 0x10, 0, -1, fn_1_FA8); - lbl_1_bss_660 = omAddObjEx(process, 0x50, 0x10, 0, -1, fn_1_2784); - fn_1_6A0C(process, 0x40); - omMakeGroupEx(process, 0, 4); - omGetGroupMemberListEx(process, 0); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - object = omAddObjEx(process, 0x30, 2, 0xA, 0, fn_1_2B2C); - lbl_1_bss_64C[var_r31] = object; - object->work[0] = var_r31; - object->work[1] = GWPlayerCfg[var_r31].group; - for (var_r28 = object->work[1] * 2; var_r28 < 4; var_r28++) { - if (sp8[var_r28] == 0) { - object->work[1] = var_r28; - sp8[var_r28]++; - break; - } - } - } - omGameSysInit(process); - HuAudSndGrpSet(0x32); -} - -void fn_1_460(omObjData *object) -{ - lbl_1_bss_648 = 0; - object->func = fn_1_480; -} - -void fn_1_480(omObjData *object) -{ - Vec sp14; - Vec sp8; - float var_f31; - CameraData *var_r30; - - switch (lbl_1_bss_648) { - case 0: - sp14.x = -250.0f; - sp14.y = 225.0f; - sp14.z = 200.0f; - sp8.x = 22.0f; - sp8.y = 10.0f; - sp8.z = 0.0f; - var_f31 = 500.0f; - fn_1_2A94(1, &sp14, &sp8, var_f31); - lbl_1_bss_C = -4.866667f; - lbl_1_bss_8 = 600.0f; - sp14.x = -300.0f; - sp14.y = lbl_1_bss_8; - sp14.z = 0.0f; - fn_1_6CD0(0, &sp14); - sp14.x = 300.0f; - fn_1_6CD0(1, &sp14); - var_r30 = Hu3DCamera; - var_r30->fov = 45.0f; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - lbl_1_bss_648++; - break; - case 1: - lbl_1_bss_8 += lbl_1_bss_C; - lbl_1_bss_C += -2.4333334f; - if (lbl_1_bss_8 < 0.0f) { - lbl_1_bss_8 = 0.0f; - lbl_1_bss_648++; - lbl_1_bss_640 = 0x3C; - fn_1_10DB4(0); - fn_1_10DB4(1); - fn_1_10E3C(0); - } - sp14.x = -300.0f; - sp14.y = lbl_1_bss_8; - sp14.z = 0.0f; - fn_1_6CD0(0, &sp14); - sp14.x = 300.0f; - fn_1_6CD0(1, &sp14); - break; - case 2: - if (--lbl_1_bss_640 == 0) { - sp14.x = 0.0f; - sp14.y = 430.0f; - sp14.z = -400.0f; - sp8.x = 8.0f; - sp8.y = 0.0f; - sp8.z = 0.0f; - var_f31 = 1650.0f; - lbl_1_bss_640 = 0x48; - fn_1_2A94(0x3C, &sp14, &sp8, var_f31); - lbl_1_bss_648++; - } - break; - case 3: - if (--lbl_1_bss_640 == 0) { - lbl_1_bss_648 = 4; - object->func = fn_1_8E4; - lbl_1_bss_646 = lbl_1_bss_644 = -1; - } - break; - } - if ((omSysExitReq != 0) && (WipeStatGet() == 0)) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_F48; - } -} - -s32 lbl_1_data_68 = -1; -s32 lbl_1_data_6C[0xA] = { 0, 2, 3, 5, 6, 8, 0xA, 9, 0x17, 0x18 }; -Vec lbl_1_data_94[4] = { - { -350.0f, 800.0f, 100.0f }, - { -200.0f, 1000.0f, 0.0f }, - { 200.0f, 1200.0f, 0.0f }, - { 350.0f, 1400.0f, 100.0f }, -}; - -void fn_1_8E4(omObjData *object) -{ - s16 sp8[2]; - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s16 var_r26; - s16 var_r25; - - switch (lbl_1_bss_648) { - case 4: - if (lbl_1_bss_644 == -1) { - lbl_1_bss_642 = 0x708; - lbl_1_bss_644 = MGSeqCreate(3, 0); - MGSeqPosSet(lbl_1_bss_644, 320.0f, 240.0f); - } - else { - if (MGSeqStatGet(lbl_1_bss_644) == 0) { - lbl_1_bss_644 = -1; - lbl_1_bss_648++; - lbl_1_bss_646 = MGSeqCreate(1, lbl_1_bss_642 / 60, -1, -1); - } - } - if ((lbl_1_data_68 == -1) && ((MGSeqStatGet(lbl_1_bss_644) & 0x10) != 0)) { - lbl_1_data_68 = HuAudSeqPlay(0x48); - } - break; - case 5: - var_r30 = 0; - lbl_1_bss_642--; - var_r28 = (lbl_1_bss_642 + 0x3B) / 60; - if (var_r28 < 0) { - var_r28 = 0; - } - MGSeqParamSet(lbl_1_bss_646, 1, var_r28); - if (lbl_1_bss_642 < -1) { - var_r30++; - if ((fn_1_10CF4(0) == 1000.0f) && (fn_1_10CF4(1) == 1000.0f)) { - lbl_1_data_0 = -1; - } - else { - var_f31 = fn_1_10CF4(1); - if (fn_1_10CF4(0) <= var_f31) { - lbl_1_data_0 = 0; - } - else { - lbl_1_data_0 = 1; - } - } - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - if (!(fn_1_10CF4(var_r31) > 0.0f)) { - lbl_1_data_0 = var_r31; - var_r30++; - } - } - if (var_r30 != 0) { - lbl_1_bss_648++; - } - break; - case 6: - if (lbl_1_bss_644 == -1) { - lbl_1_bss_644 = MGSeqCreate(3, 1); - MGSeqPosSet(lbl_1_bss_644, 320.0f, 240.0f); - MGSeqParamSet(lbl_1_bss_646, 2, -1); - HuAudSeqFadeOut(lbl_1_data_68, 0x64); - } - else if (MGSeqStatGet(lbl_1_bss_644) == 0) { - lbl_1_bss_644 = -1; - lbl_1_bss_640 = 1; - lbl_1_bss_648++; - } - break; - case 7: - if (--lbl_1_bss_640 <= 0) { - lbl_1_bss_644 = -1; - lbl_1_bss_648++; - } - break; - case 8: - if (lbl_1_data_0 != -1) { - for (var_r31 = 0, var_r29 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_data_0 == OM_GET_DATA_PTR(lbl_1_bss_64C[var_r31], M425DllWork)->unk_02) { - sp8[var_r29] = OM_GET_DATA_PTR(lbl_1_bss_64C[var_r31], M425DllWork)->unk_01; - var_r29++; - GWPlayerCoinWinAdd(var_r31, 10); - } - } - lbl_1_bss_644 = MGSeqCreate(5, 3, sp8[0], sp8[1], -1, -1); - HuAudSStreamPlay(1); - } - else { - lbl_1_bss_644 = MGSeqCreate(3, 2); - HuAudSStreamPlay(4); - } - lbl_1_bss_640 = 0xD2; - lbl_1_bss_648++; - break; - case 9: - if (--lbl_1_bss_640 <= 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_F48; - } - break; - } - if ((omSysExitReq != 0) && (WipeStatGet() == 0)) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_F48; - } -} - -void fn_1_F48(omObjData *object) -{ - if (WipeStatGet() == 0) { - CharModelKill(-1); - MGSeqKill(lbl_1_bss_646); - MGSeqKillAll(); - fn_1_6C08(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - } -} - -void fn_1_FA8(omObjData *object) -{ - M425DllUnkBss10Struct *var_r31; - s32 var_r30; - s16 *var_r28; - s32 var_r27; - s32 var_r26; - Vec sp8[] = { - { 475.0f, 800.0f, -1400.0f }, - { -300.0f, 900.0f, -1400.0f }, - { 300.0f, 875.0f, -1450.0f }, - { -575.0f, 850.0f, -1550.0f }, - { 350.0f, 750.0f, -1500.0f }, - { -450.0f, 775.0f, -1550.0f }, - { 325.0f, 725.0f, -1450.0f }, - { -525.0f, 725.0f, -1500.0f }, - { 575.0f, 850.0f, -1550.0f }, - { -350.0f, 750.0f, -1500.0f }, - { 450.0f, 775.0f, -1550.0f }, - { -325.0f, 725.0f, -1450.0f }, - { 525.0f, 725.0f, -1500.0f }, - { -475.0f, 800.0f, -1400.0f }, - { 300.0f, 900.0f, -1400.0f }, - { -300.0f, 875.0f, -1450.0f }, - }; - - var_r30 = Hu3DModelCreateFile(0x380000); - object->model[0] = var_r30; - var_r30 = Hu3DModelCreateFile(0x380001); - object->model[1] = var_r30; - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - var_r30 = Hu3DHookFuncCreate(fn_1_57D4); - object->model[2] = var_r30; - fn_1_5044(var_r30); - var_r30 = fn_1_3ED0(0x1E0020, 0xC8, fn_1_4A88); - object->model[3] = var_r30; - Hu3DParticleBlendModeSet(var_r30, 1); - var_r30 = fn_1_3ED0(0x380005, 1, fn_1_3F80); - object->model[5] = var_r30; - Hu3DParticleBlendModeSet(var_r30, 1); - Hu3DModelLayerSet(var_r30, 6); - var_r28 = ((ParticleData *)Hu3DData[var_r30].unk_120)->unk_1C; - var_r28[1] = 0; - var_r30 = fn_1_3ED0(0x380008, 0xA, fn_1_3F80); - object->model[6] = var_r30; - Hu3DParticleBlendModeSet(var_r30, 1); - Hu3DModelLayerSet(var_r30, 6); - var_r28 = ((ParticleData *)Hu3DData[var_r30].unk_120)->unk_1C; - var_r28[1] = 1; - var_r30 = fn_1_3ED0(0x380007, 4, fn_1_3F80); - object->model[7] = var_r30; - Hu3DParticleBlendModeSet(var_r30, 1); - Hu3DModelLayerSet(var_r30, 6); - var_r28 = ((ParticleData *)Hu3DData[var_r30].unk_120)->unk_1C; - var_r28[1] = 2; - var_r30 = fn_1_3ED0(0x380006, 6, fn_1_3F80); - object->model[8] = var_r30; - Hu3DParticleBlendModeSet(var_r30, 1); - Hu3DModelLayerSet(var_r30, 6); - var_r28 = ((ParticleData *)Hu3DData[var_r30].unk_120)->unk_1C; - var_r28[1] = 3; - for (var_r27 = 0; var_r27 < 0xC; var_r27++) { - var_r31 = &lbl_1_bss_10[var_r27]; - var_r30 = Hu3DModelCreateFile(0x380002); - var_r31->unk_00 = var_r30; - var_r31->unk_08.x = sp8[var_r27].x; - var_r31->unk_08.y = sp8[var_r27].y; - var_r31->unk_08.z = sp8[var_r27].z; - Hu3DModelPosSet(var_r30, var_r31->unk_08.x, var_r31->unk_08.y, var_r31->unk_08.z); - Hu3DMotionSpeedSet(var_r30, 6.0f); - var_r31->unk_02 = var_r31->unk_03 = 0; - var_r31->unk_14 = var_r31->unk_18 = var_r31->unk_1C = 0.0f; - var_r31->unk_20 = var_r31->unk_24 = var_r31->unk_28 = 1.0f; - var_r31->unk_38 = var_r31->unk_3C = var_r31->unk_40 = 0.0f; - var_r31->unk_2C = var_r31->unk_08.x; - var_r31->unk_30 = var_r31->unk_08.y; - var_r31->unk_34 = var_r31->unk_08.z; - if ((var_r27 & 1) != 0) { - var_r31->unk_18 = 90.0f; - var_r31->unk_08.y += 650.0; - var_r31->unk_08.x -= 1400.0; - } - else { - var_r31->unk_18 = 90.0f; - } - var_r31->unk_18 += 10.0 * (3.0517578125e-05 * (float)((u16)frand() - 0x8000)); - var_r31->unk_08.z -= 400.0; - var_r31->unk_04 = 100.0 * (0.10000000149011612 + (0.019999999552965164 * (1.52587890625e-05 * (float)(s32)(u16)frand()))); - for (var_r26 = 0; var_r26 < 0x20; var_r26++) { - var_r31->unk_44[var_r26] = 0; - } - var_r31->unk_50 = var_r31->unk_04; - } - HuAudFXPlay(0x633); - HuAudFXPlay(0x635); - object->func = fn_1_1B40; -} - -void fn_1_14CC(Mtx arg0, float arg8, float arg9, float argA) -{ - Mtx sp38; - Mtx sp8; - if (argA != 0.0f) { - MTXRotRad(arg0, 0x5A, MTXDegToRad(argA)); - } - else { - MTXIdentity(arg0); - } - if (arg8 != 0.0f) { - MTXRotRad(sp38, 0x58, MTXDegToRad(arg8)); - MTXConcat(sp38, arg0, arg0); - } - if (arg9 != 0.0f) { - MTXRotRad(sp8, 0x59, MTXDegToRad(arg9)); - MTXConcat(sp8, arg0, arg0); - } -} - -float fn_1_15EC(float arg8, float arg9) -{ - float var_f30 = 360.0f; - float var_f31 = 180.0 * (atan2f(arg9, arg8) / M_PI); - if (var_f31 < 0.0f) { - var_f31 += var_f30; - } - else if (var_f31 >= var_f30) { - var_f31 -= var_f30; - } - return var_f31; -} - -void fn_1_16B0(Mtx var_r30, Vec *var_r31) -{ - float var_f29; - float var_f25; - - var_r31->x = fn_1_15EC(var_r30[2][2], var_r30[1][2]); - var_r31->z = fn_1_15EC(var_r30[0][0], var_r30[0][1]); - var_f29 = -var_r30[0][2]; - var_f25 = sqrtf((1.0 - (var_f29 * var_f29)) < 0.0 ? (-1.0 - (var_f29 * var_f29)) : (1.0 - (var_f29 * var_f29))); - if ((var_r31->x > 90.0f) && (var_r31->x < 270.0f) && (var_r31->z > 90.0f) && (var_r31->z < 270.0f)) { - var_r31->x = fmod(180.0f + var_r31->x, 360.0); - var_r31->z = fmod(180.0f + var_r31->z, 360.0); - var_f25 = -var_f25; - } - var_r31->y = fn_1_15EC(var_f25, var_f29); -} - -void fn_1_1B40(omObjData *object) -{ - Mtx spCC; - Mtx sp9C; - Mtx sp6C; - Vec sp60; - M425DllUnkBss10Struct *var_r31; - s32 var_r27; - - for (var_r27 = 0; var_r27 < 0xC; var_r27++) { - var_r31 = &lbl_1_bss_10[var_r27]; - switch (var_r31->unk_03) { - case 0: - if (var_r31->unk_04 < var_r31->unk_50) { - var_r31->unk_04 += 0.4f; - } - if ((s32)(64.0 * (1.52587890625e-05 * (float)fn_1_64D4())) == 0) { - Hu3DMotionTimeSet(var_r31->unk_00, 0.0f); - } - if (Hu3DMotionEndCheck(var_r31->unk_00) != 0) { - var_r31->unk_3C = -2.92f; - } - else { - var_r31->unk_3C = -0.48666668f; - } - var_r31->unk_44f += 0.10000000149011612 * (3.0517578125e-05 * (float)((u16)frand() - 0x8000)); - var_r31->unk_48 += var_r31->unk_44f; - if (var_r31->unk_48 > 180.0f) { - var_r31->unk_48 -= 180.0f; - } - if (var_r31->unk_48 < -180.0f) { - var_r31->unk_48 += 180.0f; - } - var_r31->unk_14 = -30.0 * sind(var_r31->unk_48) * sind(var_r31->unk_18); - var_r31->unk_1C = -30.0 * sind(var_r31->unk_48) * cosd(var_r31->unk_18); - if ((var_r31->unk_08.y <= 700.0f) || (fabs(var_r31->unk_08.x) > 2000.0)) { - var_r31->unk_3C = 0.0f; - var_r31->unk_44[6] = (s32)(20.0 * (3.0517578125e-05 * (float)(fn_1_64D4() - 0x8000))) + 0xB4; - var_r31->unk_04 *= 0.75f; - var_r31->unk_03++; - } - break; - case 1: - var_r31->unk_18 += 1.0f; - var_r31->unk_14 = 0.0f; - var_r31->unk_1C = 60.0 * sind(var_r31->unk_44[6]) * cosd(var_r31->unk_18); - if (--var_r31->unk_44[6] == 0) { - Hu3DModelAttrSet(var_r31->unk_00, HU3D_MOTATTR_LOOP); - Hu3DMotionSpeedSet(var_r31->unk_00, 6.0f); - var_r31->unk_3C = 5.3533335f; - var_r31->unk_03++; - } - break; - case 2: - if (var_r31->unk_04 > 4.0f) { - var_r31->unk_04 -= 0.1f; - var_r31->unk_3C += 0.73f; - } - var_r31->unk_3C += -0.5475f; - if (var_r31->unk_3C < 0.0f) { - Hu3DModelAttrReset(var_r31->unk_00, HU3D_MOTATTR_LOOP); - Hu3DMotionSpeedSet(var_r31->unk_00, 2.0f); - var_r31->unk_50 = 100.0 * (0.10000000149011612 + (0.019999999552965164 * (1.52587890625e-05 * (float)(s32)(u16)frand()))); - var_r31->unk_03 = 0; - } - break; - } - if (0) { - s32 var_r31; - s32 var_r30; - s32 var_r29; - float var_f31; - float var_f20; - float var_f19; - float var_f18; - - (void) object; - (void) object; - (void) var_r31; - (void) var_r31; - (void) var_r31; - (void) var_r31; - (void) var_r31; - (void) var_r31; - (void) var_r30; - (void) var_r30; - (void) var_r30; - (void) var_r30; - (void) var_r30; - (void) var_r30; - (void) var_r29; - (void) var_r29; - (void) var_r29; - (void) var_r29; - (void) var_r29; - (void) var_r29; - (void) var_f31; - (void) var_f31; - (void) var_f31; - (void) var_f31; - (void) var_f31; - (void) var_f31; - (void) var_f31; - (void) var_f31; - (void) var_f31; - (void) var_f31; - (void) var_f31; - (void) var_f31; - (void) var_f31; - (void) var_f31; - (void) var_f20; - (void) var_f20; - (void) var_f20; - (void) var_f19; - (void) var_f19; - (void) var_f19; - (void) var_f18; - (void) var_f18; - (void) var_f18; - } - var_r31->unk_38 = var_r31->unk_04 * sind(var_r31->unk_18); - var_r31->unk_40 = var_r31->unk_04 * cosd(var_r31->unk_18); - var_r31->unk_08.x += var_r31->unk_38; - var_r31->unk_08.y += var_r31->unk_3C; - var_r31->unk_08.z += var_r31->unk_40; - Hu3DModelPosSet(var_r31->unk_00, var_r31->unk_08.x, var_r31->unk_08.y, var_r31->unk_08.z); - fn_1_14CC(spCC, var_r31->unk_14, -var_r31->unk_18, var_r31->unk_1C); - fn_1_16B0(spCC, &sp60); - Hu3DModelRotSetV(var_r31->unk_00, &sp60); - } -} - -void fn_1_2784(omObjData *object) -{ - M425DllWork2 *work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M425DllWork2), MEMORY_DEFAULT_NUM); - object->data = work; - work->unk_76 = work->unk_74 = 0; - work->unk_10.x = work->unk_28.x = 8.0f; - work->unk_10.y = work->unk_28.y = 0.0f; - work->unk_10.z = work->unk_28.z = 0.0f; - work->unk_04.x = work->unk_1C.x = 0.0f; - work->unk_04.y = work->unk_1C.y = 430.0f; - work->unk_04.z = work->unk_1C.z = -400.0f; - work->unk_64 = work->unk_68 = 1650.0f; - object->func = fn_1_2870; -} - -void fn_1_2870(omObjData *object) -{ - float var_f31; - M425DllWork2 *work; - - work = object->data; - if (work->unk_76 != 0) { - work->unk_76--; - var_f31 = (float)(work->unk_74 - work->unk_76) / work->unk_74; - var_f31 = sind((90.0f * var_f31)); - work->unk_04.x = work->unk_1C.x + (var_f31 * (work->unk_34 - work->unk_1C.x)); - work->unk_04.y = work->unk_1C.y + (var_f31 * (work->unk_38 - work->unk_1C.y)); - work->unk_04.z = work->unk_1C.z + (var_f31 * (work->unk_3C - work->unk_1C.z)); - work->unk_10.x = work->unk_28.x + (var_f31 * (work->unk_40 - work->unk_28.x)); - work->unk_10.y = work->unk_28.y + (var_f31 * (work->unk_44 - work->unk_28.y)); - work->unk_10.z = work->unk_28.z + (var_f31 * (work->unk_48 - work->unk_28.z)); - work->unk_64 = work->unk_68 + (var_f31 * (work->unk_6C - work->unk_68)); - } - CRot.x = work->unk_10.x; - CRot.y = work->unk_10.y; - CRot.z = work->unk_10.z; - Center.x = work->unk_04.x; - Center.y = work->unk_04.y; - Center.z = work->unk_04.z; - CZoom = work->unk_64; -} - -void fn_1_2A94(s16 arg0, Vec *arg1, Vec *arg2, float arg8) -{ - M425DllWork2 *work = lbl_1_bss_660->data; - work->unk_74 = arg0; - work->unk_76 = arg0; - work->unk_1C = work->unk_04; - work->unk_34 = arg1->x; - work->unk_38 = arg1->y; - work->unk_3C = arg1->z; - work->unk_28 = work->unk_10; - work->unk_40 = arg2->x; - work->unk_44 = arg2->y; - work->unk_48 = arg2->z; - work->unk_68 = work->unk_64; - work->unk_6C = arg8; -} - -void fn_1_2B2C(omObjData *object) -{ - s32 sp8; // ! - uninitialized - M425DllWork *var_r31; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M425DllWork), MEMORY_DEFAULT_NUM); - object->data = var_r31; - var_r31->unk_00 = object->work[0]; - var_r31->unk_01 = GWPlayerCfg[var_r31->unk_00].character; - var_r31->unk_02 = GWPlayerCfg[var_r31->unk_00].group; - var_r31->unk_03 = object->work[1] & 1; - var_r31->unk_04 = GWPlayerCfg[var_r31->unk_00].pad_idx; - var_r31->unk_05 = GWPlayerCfg[var_r31->unk_00].iscom; - var_r31->unk_06 = GWPlayerCfg[var_r31->unk_00].diff; - var_r31->unk_0E = 0; - var_r31->unk_0B = 1; - var_r31->unk_0C = 0; - memset(var_r31->unk_3C, 0, sizeof(var_r31->unk_3C)); - var_r31->unk_5C = 0; - var_r31->unk_60 = 1.0f; - var_r31->unk_64 = 0; - var_r31->unk_68 = 0; - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if ((var_r29 != var_r31->unk_00) && (var_r31->unk_02 == GWPlayerCfg[var_r29].group)) { - var_r31->unk_09 = var_r29; - break; - } - } - var_r27 = object->work[1]; - var_r31->unk_18.x = lbl_1_data_94[var_r27].x; - var_r31->unk_18.y = lbl_1_data_94[var_r27].y; - var_r31->unk_18.z = lbl_1_data_94[var_r27].z; - var_r31->unk_24.x = var_r31->unk_24.y = var_r31->unk_24.z = 0.0f; - if (var_r31->unk_02 == 0) { - var_r31->unk_10 = 30.0f; - } - else { - var_r31->unk_10 = -30.0f; - } - var_r28 = CharModelCreate(var_r31->unk_01, 4); - object->model[0] = var_r28; - Hu3DModelAttrSet(var_r28, HU3D_MOTATTR_LOOP); - CharModelStepTypeSet(var_r31->unk_01, 1); - for (var_r29 = 0; var_r29 < 0xA; var_r29++) { - object->motion[var_r29] = CharModelMotionCreate(var_r31->unk_01, lbl_1_data_6C[var_r29]); - if (var_r29 == 5) { - CharModelVoiceEnableSet(var_r31->unk_01, object->motion[var_r29], 0); - } - } - CharModelMotionDataClose(var_r31->unk_01); - CharModelMotionSet(var_r31->unk_01, object->motion[var_r31->unk_0E]); - omSetTra(object, var_r31->unk_18.x, var_r31->unk_18.y, var_r31->unk_18.z); - Hu3DModelPosSet(var_r28, var_r31->unk_18.x, var_r31->unk_18.y, var_r31->unk_18.z); - Hu3DModelRotSet(var_r28, 0.0f, 30.0f, 0.0f); - HuDataDirClose(sp8); - object->func = fn_1_2E78; -} - -void fn_1_2E78(omObjData *object) -{ - float spC[8]; - s32 sp8; - M425DllWork *var_r31; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - - var_r26 = 0; - sp8 = object->model[0]; - var_r31 = object->data; - var_r31->unk_30 = var_r31->unk_18; - if ((lbl_1_bss_648 == 5) && (var_r31->unk_05 != 0)) { - fn_1_33E0(object); - } - fn_1_3764(object); - switch (lbl_1_bss_648) { - case 2: - if (lbl_1_bss_640 == 1) { - var_r31->unk_0E = 5; - CharModelMotionShiftSet(var_r31->unk_01, object->motion[var_r31->unk_0E], 0.0f, 8.0f, 0); - var_r31->unk_24.y = 0.0f; - var_r31->unk_0B = 0; - } - var_r31->unk_68 = 0; - break; - case 3: - if (var_r31->unk_64 != 0) { - var_r31->unk_18.y = fn_1_10EF8(var_r31->unk_02, var_r31->unk_03, var_r31->unk_18.x, var_r31->unk_18.z); - var_r31->unk_18.y -= 10.0f; - } - else if (fn_1_109EC(var_r31->unk_02, var_r31->unk_03, &var_r31->unk_30, &var_r31->unk_24, &var_r31->unk_18, 0) != 0) { - if (var_r31->unk_0B == 0) { - HuAudFXPlay(0x62F); - } - CharModelVoiceEnableSet(var_r31->unk_01, object->motion[5], 1); - var_r31->unk_0B = 1; - } - break; - case 5: - if ((var_r31->unk_0E == 5) && (var_r31->unk_0C == 0)) { - var_r26 = 1; - } - - case 4: - case 6: - case 7: - if (var_r31->unk_64 != 0) { - var_r31->unk_18.y = fn_1_10EF8(var_r31->unk_02, var_r31->unk_03, var_r31->unk_18.x, var_r31->unk_18.z); - var_r31->unk_18.y -= 10.0f; - } - else if (fn_1_109EC(var_r31->unk_02, var_r31->unk_03, &var_r31->unk_30, &var_r31->unk_24, &var_r31->unk_18, var_r26) != 0) { - var_r31->unk_0B = 1; - } - break; - case 8: - if (var_r31->unk_64 != 0) { - var_r31->unk_18.y = fn_1_10EF8(var_r31->unk_02, var_r31->unk_03, var_r31->unk_18.x, var_r31->unk_18.z); - var_r31->unk_18.y -= 10.0f; - var_r31->unk_0B = 1; - } - else if (fn_1_109EC(var_r31->unk_02, var_r31->unk_03, &var_r31->unk_30, &var_r31->unk_24, &var_r31->unk_18, 0) != 0) { - var_r31->unk_0B = 1; - } - if ((var_r31->unk_0B != 0) && (var_r31->unk_0E != 8) && (var_r31->unk_0E != 9)) { - if (var_r31->unk_02 == lbl_1_data_0) { - var_r31->unk_0E = 8; - } - else { - var_r31->unk_0E = 9; - } - CharModelMotionShiftSet(var_r31->unk_01, object->motion[var_r31->unk_0E], 0.0f, 8.0f, 0); - } - break; - case 9: - if (var_r31->unk_64 != 0) { - var_r31->unk_18.y = fn_1_10EF8(var_r31->unk_02, var_r31->unk_03, var_r31->unk_18.x, var_r31->unk_18.z); - var_r31->unk_18.y -= 10.0f; - } - else if (fn_1_109EC(var_r31->unk_02, var_r31->unk_03, &var_r31->unk_30, &var_r31->unk_24, &var_r31->unk_18, 0) != 0) { - var_r31->unk_0B = 1; - } - break; - } - if (var_r31->unk_18.y < 0.0f) { - var_r31->unk_18.y = 0.0f; - var_r31->unk_0B = 1; - } - var_r27 = var_r31->unk_5C % 8; - var_r31->unk_3C[var_r27] = var_r31->unk_18.y; - if (++var_r31->unk_5C > 8) { - for (var_r29 = 0; var_r29 < 8; var_r29++) { - var_r28 = var_r27 - var_r29; - if (var_r28 < 0) { - var_r28 += 8; - } - spC[var_r29] = var_r31->unk_3C[var_r28]; - } - for (var_r29 = 1; var_r29 < 8; var_r29++) { - if (fabs(spC[var_r29] - spC[0]) > 25.0) { - break; - } - } - if (((var_r31->unk_0E == 0) || (var_r31->unk_0E == 8) || (var_r31->unk_0E == 9)) && (var_r29 >= 8)) { - var_r31->unk_60 = var_r31->unk_60 - 0.05f; - if (var_r31->unk_60 < 0.75f) { - var_r31->unk_60 = 0.75f; - } - } - else { - var_r31->unk_60 = 1.0f; - } - } - omSetTra(object, var_r31->unk_18.x, var_r31->unk_18.y, var_r31->unk_18.z); -} - -void fn_1_33E0(omObjData *object) -{ - s32 spC; - s16 sp8; - M425DllWork *var_r31; - M425DllWork *var_r30; - - var_r31 = object->data; - var_r30 = lbl_1_bss_64C[var_r31->unk_09]->data; - spC = object->model[0]; - sp8 = var_r31->unk_0E; - switch (var_r31->unk_0E) { - case 4: - case 7: - case 0: - if (var_r30->unk_0E == 3) { - if ((var_r30->unk_05 == 0) || ((s32)((0x18 - (var_r31->unk_06 * 3)) * (1.52587890625e-05 * (float)fn_1_64D4())) == 0)) { - HuPadBtnDown[var_r31->unk_04] |= 0x100; - break; - } - } - else { - if ((s32)((0x30 - (var_r31->unk_06 * 4)) * (1.52587890625e-05 * (float)fn_1_64D4())) == 0) { - HuPadBtnDown[var_r31->unk_04] |= 0x100; - break; - } - break; - } - break; - case 3: - if ((s32)(4.0 * (1.52587890625e-05 * (float)fn_1_64D4())) != 0) { - HuPadBtn[var_r31->unk_04] |= 0x100; - } - if ((var_r30->unk_05 == 0) && (var_r30->unk_0E == 5)) { - HuPadBtnDown[var_r31->unk_04] |= 0x100; - break; - } - if ((var_r31->unk_24.y < 5.353333473205566) && ((s32)((0xE - (var_r31->unk_06 * 2)) * (1.52587890625e-05 * (float)fn_1_64D4())) == 0)) { - HuPadBtnDown[var_r31->unk_04] |= 0x100; - } - break; - } -} - -void fn_1_3764(omObjData *object) -{ - float var_f30; - float var_f29; - - M425DllWork *var_r31; - s16 var_r30; - s16 var_r29; - s16 var_r27; - s16 var_r26; - s16 var_r25; - s16 var_r24; - s32 var_r23; - - var_r31 = object->data; - var_r23 = object->model[0]; - var_r30 = var_r31->unk_0E; - if (lbl_1_bss_648 == 5) { - var_r26 = 0; - var_r25 = 0; - var_r27 = HuPadBtnDown[var_r31->unk_04]; - var_r24 = HuPadBtn[var_r31->unk_04]; - } - else { - var_r26 = 0; - var_r25 = 0; - var_r27 = 0; - var_r24 = 0; - } - var_r31->unk_64 = 0; - switch (var_r31->unk_0E) { - case 4: - case 7: - if (CharModelMotionEndCheck(var_r31->unk_01) != 0) { - var_r30 = 0; - var_r29 = 1; - } - - case 0: - case 1: - case 2: - var_r31->unk_24.x = 0.25f * var_r26; - var_r31->unk_24.z = 0.25f * -var_r25; - var_r31->unk_14 = sqrtf((var_r31->unk_24.x * var_r31->unk_24.x) + (var_r31->unk_24.z * var_r31->unk_24.z)); - var_r31->unk_64 = 1; - if (var_r31->unk_14 > 0.1f) { - if (var_r31->unk_14 >= 8.0f) { - var_r30 = 2; - var_r29 = 1; - } - else { - var_r30 = 1; - var_r29 = 1; - } - var_f30 = atan2d(var_r31->unk_24.x, var_r31->unk_24.z); - if (var_f30 >= 180.0f) { - var_f30 = var_f30 - 360.0f; - } - else if (var_f30 < -180.0f) { - var_f30 += 360.0f; - } - var_f29 = var_r31->unk_10 - var_f30; - if (var_f29 >= 180.0f) { - var_f29 -= 360.0f; - } - else if (var_f29 < -180.0f) { - var_f29 += 360.0f; - } - var_r31->unk_10 = var_f30 + (0.5f * var_f29); - if (var_r31->unk_10 >= 180.0f) { - var_r31->unk_10 = var_r31->unk_10 - 360.0f; - } - else if (var_r31->unk_10 < -180.0f) { - var_r31->unk_10 += 360.0f; - } - } - else { - var_r30 = 0; - var_r29 = 1; - } - var_r31->unk_24.y = 0.0f; - var_r31->unk_24.y += -2.4333334f * var_r31->unk_60; - if ((var_r27 & 0x100) != 0) { - var_r31->unk_0B = 0; - var_r31->unk_0A = 1; - var_r31->unk_24.y = 26.766666f; - var_r30 = 3; - var_r29 = 0; - } - break; - case 3: - if (var_r31->unk_0A != 0) { - if ((var_r24 & 0x100) != 0) { - if (++var_r31->unk_0A > 4) { - var_r31->unk_0A = 0; - } - else { - var_r31->unk_24.y += 4.866667f; - } - } - else { - var_r31->unk_0A = 0; - } - } - var_r31->unk_24.y += -2.4333334f; - if (var_r31->unk_0B != 0) { - var_r31->unk_0B = 1; - var_r30 = 4; - var_r29 = 0; - var_r31->unk_24.y = 0.0f; - } - if (((var_r27 & 0x100) != 0) || ((var_r27 & 0x40) != 0)) { - var_r31->unk_24.y = 0.0f; - var_r31->unk_0C = 0; - var_r30 = 5; - var_r29 = 0; - } - break; - case 5: - if ((Hu3DData[var_r23].unk_0C == -1) && (CharModelMotionEndCheck(var_r31->unk_01) != 0)) { - var_r31->unk_24.y += -2.4333334f; - } - else { - var_r31->unk_24.y = 0.0f; - } - if (var_r31->unk_0B != 0) { - if (var_r31->unk_0C != 0) { - var_r31->unk_24.y = 0.0f; - var_r31->unk_0C = 0; - var_r30 = 7; - var_r29 = 0; - } - else { - var_r31->unk_24.y = 9.733334f; - var_r31->unk_0B = 0; - var_r30 = 6; - var_r29 = 0; - } - } - break; - case 6: - var_r31->unk_24.y += -2.4333334f; - if ((var_r31->unk_0B != 0) && (CharModelMotionEndCheck(var_r31->unk_01) != 0)) { - var_r30 = 7; - var_r29 = 0; - } - break; - case 8: - case 9: - var_r31->unk_24.y = -2.4333334f * var_r31->unk_60; - var_r31->unk_64 = 1; - break; - } - var_r31->unk_18.x += var_r31->unk_24.x; - if (var_r31->unk_0B == 0) { - var_r31->unk_18.y += var_r31->unk_24.y; - } - var_r31->unk_18.z += var_r31->unk_24.z; - if (var_r30 != var_r31->unk_0E) { - var_r31->unk_0E = var_r30; - CharModelMotionShiftSet(var_r31->unk_01, object->motion[var_r31->unk_0E], 0.0f, 8.0f, var_r29); - } - omSetTra(object, var_r31->unk_18.x, var_r31->unk_18.y, var_r31->unk_18.z); - omSetRot(object, 0.0f, var_r31->unk_10, 0.0f); -} - -s16 fn_1_3ED0(s32 arg0, s16 arg1, ParticleHook arg2) -{ - s32 var_r31; - M425DllUnkStruct *var_r30; - ParticleData *var_r29; - AnimData *var_r28; - - var_r28 = HuSprAnimRead(HuDataReadNum(arg0, MEMORY_DEFAULT_NUM)); - var_r31 = Hu3DParticleCreate(var_r28, arg1); - Hu3DParticleHookSet(var_r31, arg2); - var_r29 = Hu3DData[var_r31].unk_120; - var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M425DllUnkStruct), MEMORY_DEFAULT_NUM); - var_r29->unk_1C = var_r30; - var_r30->unk_04 = 0; - return var_r31; -} - -void fn_1_3F80(ModelData *model, ParticleData *particle, Mtx matrix) -{ - float var_f29; - float var_f28; - float var_f26; - float var_f25; - float var_f24; - - HsfanimStruct01 *var_r31; - M425DllUnkStruct *var_r29; - s32 var_r28; - - float sp54[4] = { 1000.0f, 200.0f, 600.0f, 1200.0f }; - float sp44[4] = { 1.0f, 0.6f, 0.3f, 0.425f }; - Vec sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - s16 sp8 = 0; - - var_r29 = particle->unk_1C; - switch (var_r29->unk_04) { - case 0: - var_r31 = particle->unk_48; - if (var_r29->unk_02 != 0) { - sp14.x = 0.0f; - sp14.y = -3600.0f; - sp14.z = 6250.0f; - var_f28 = (sp14.z * sp14.z) + ((sp14.x * sp14.x) + (sp14.y * sp14.y)); - var_f29 = 1.0f / sqrtf(var_f28); - sp14.x *= var_f29; - sp14.y *= var_f29; - sp14.z *= var_f29; - var_f24 = 6000.0f / particle->unk_30; - for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { - var_f26 = 500.0 + ((var_f24 * var_r28) + ((0.25f * var_f24) * (1.52587890625e-05 * (float)(s32)(u16)frand()))); - var_f25 = var_f26 / 6000.0f; - var_r31->unk14.x = var_f26; - var_r31->unk34.x = var_f26 * sp14.x; - var_r31->unk34.y = 4000.0f + (var_f26 * sp14.y); - var_r31->unk34.z = -6750.0f + (var_f26 * sp14.z); - var_r31->unk2C = (0.3f + (0.7f * (var_f25 * var_f25))) - * (sp54[var_r29->unk_02] * (0.699999988079071 + (0.30000001192092896 * (1.52587890625e-05 * (float)(s32)(u16)frand())))); - var_r31->unk40.r = (s32)(160.0 * (1.52587890625e-05 * (float)fn_1_64D4())) + 0x20; - var_r31->unk40.g = (s32)(96.0 * (1.52587890625e-05 * (float)fn_1_64D4())) + 0x20; - var_r31->unk40.b = (s32)(128.0 * (1.52587890625e-05 * (float)fn_1_64D4())) + 0x20; - var_r31->unk40.a - = ((1.0 - (0.4 * var_f25)) * (255.0f * sp44[var_r29->unk_02])) - (s32)(16.0 * (1.52587890625e-05 * (float)fn_1_64D4())); - } - var_r29->unk_04++; - } - else { - var_r31->unk34.x = 0.0f; - var_r31->unk34.y = 4000.0f; - var_r31->unk34.z = -6750.0f; - var_r31->unk2C = 1000.0f; - } - break; - case 1: - sp38.x = sind(CRot.y) * cosd(CRot.x); - sp38.y = -sind(CRot.x); - sp38.z = cosd(CRot.y) * cosd(CRot.x); - sp2C.x = -(Center.x + (1.25f * (sp38.x * CZoom))); - sp2C.y = 4000.0f - (Center.y + (sp38.y * CZoom)); - sp2C.z = -6750.0f - (Center.z + (1.25f * (sp38.z * CZoom))); - var_f29 = 1.0f / sqrtf((sp2C.z * sp2C.z) + ((sp2C.x * sp2C.x) + (sp2C.y * sp2C.y))); - sp2C.x *= var_f29; - sp2C.y *= var_f29; - sp2C.z *= var_f29; - var_f29 = -((-sp2C.z * -sp38.z) + ((-sp2C.x * -sp38.x) + (-sp2C.y * -sp38.y))); - sp20.x = -sp38.x + (-2.0f * sp2C.x * var_f29); - sp20.y = -sp38.y + (-2.0f * sp2C.y * var_f29); - sp20.z = -sp38.z + (-2.0f * sp2C.z * var_f29); - for (var_r31 = particle->unk_48, var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { - var_r31->unk34.x = sp20.x * var_r31->unk14.x; - var_r31->unk34.y = 4000.0f + (sp20.y * var_r31->unk14.x); - var_r31->unk34.z = -6750.0f + (sp20.z * var_r31->unk14.x); - } - break; - } - DCFlushRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); -} - -void fn_1_4A88(ModelData *model, ParticleData *particle, Mtx matrix) -{ - float var_f31; - HsfanimStruct01 *var_r31; - M425DllUnkStruct *var_r29; - s32 var_r28; - s16 var_r27; - - var_r27 = 0; - var_r29 = particle->unk_1C; - switch (var_r29->unk_04) { - case 0: - for (var_r31 = particle->unk_48, var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { - var_r31->unk00 = var_r31->unk02 = 0; - } - var_r29->unk_04++; - break; - case 1: - for (var_r31 = particle->unk_48, var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { - if (var_r31->unk00 != 0) { - var_r31->unk00--; - } - else { - if (var_r31->unk02 == 0) { - var_f31 = 180.0 * (1.52587890625e-05 * (float)(s32)(u16)frand()); - var_f31 = var_f31; - if ((s32)(4.0 * (1.52587890625e-05 * (float)fn_1_64D4())) != 0) { - var_r31->unk34.x = 100.0 * (4.0 * (1.52587890625e-05 * (float)(s32)(u16)frand())) * cosd(var_f31); - } - else { - var_r31->unk34.x = 100.0 * (2.0 * (1.52587890625e-05 * (float)(s32)(u16)frand())) * cosd(var_f31); - } - var_r31->unk34.y = -10.0f; - var_r31->unk34.z = -7000.0 + (100.0 * (40.0 * (1.52587890625e-05 * (float)(s32)(u16)frand())) * sind(var_f31)); - var_r31->unk30 = 1.5707964f; - var_r31->unk40.r = var_r31->unk40.g = var_r31->unk40.b = var_r31->unk40.a = 0xC0; - var_r31->unk40.b = 0xA0; - var_r31->unk2C = 0.0f; - var_r31->unk00 = (s32)(90.0 * (1.52587890625e-05 * (float)fn_1_64D4())); - var_r31->unk02 = 0x3C; - var_r31->unk40.r = 0xC0; - var_r31->unk40.g = 0xE0; - var_r31->unk40.b = 0xE0; - var_r31->unk08.z = 0.01f * (0.05f * (3000.0f + -var_r31->unk34.z)); - var_r31->unk08.z *= var_r31->unk08.z; - var_r31->unk08.z *= 0.125f; - } - var_r31->unk40.a = 248.0 * sind((var_r31->unk02 * 3)); - var_r31->unk2C = (30.0f * var_r31->unk08.z) * sind((var_r31->unk02 * 3)); - var_r31->unk02--; - } - } - if (particle->unk_30 == var_r27) { - Hu3DModelAttrReset(var_r29->unk_00, HU3D_ATTR_PARTICLE_KILL); - Hu3DModelKill(var_r29->unk_00); - return; - } - } - DCFlushRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); -} - -void fn_1_5044(s16 sp8) -{ - M425DllUnkStruct3 *var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - ModelData *var_r27; - void *var_r26; - - Vec2f spC[4] = { { 0.0f, 0.0f }, { 1.0f, 0.0f }, { 1.0f, 1.0f }, { 0.0f, 1.0f } }; - var_r27 = &Hu3DData[sp8]; - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M425DllUnkStruct3), MEMORY_DEFAULT_NUM); - var_r27->unk_120 = var_r31; - var_r31->unk_2A = 1; - var_r31->unk_20.r = var_r31->unk_20.g = var_r31->unk_20.b = 0x40; - var_r31->unk_20.a = 0xFF; - var_r31->unk_24.a = var_r31->unk_24.g = var_r31->unk_24.b = 0xFF; - var_r31->unk_24.r = var_r31->unk_24.b = 0; - // maybe Mtx? - var_r31->unk_14 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r31->unk_2A * (4 * sizeof(Vec)), MEMORY_DEFAULT_NUM); - var_r31->unk_14[0].x = -4500.0f; - var_r31->unk_14[0].y = 0.0f; - var_r31->unk_14[0].z = -7000.0f; - var_r31->unk_14[1].x = 4500.0f; - var_r31->unk_14[1].y = 0.0f; - var_r31->unk_14[1].z = -7000.0f; - var_r31->unk_14[2].x = 3000.0f; - var_r31->unk_14[2].y = -200.0f; - var_r31->unk_14[2].z = 0.0f; - var_r31->unk_14[3].x = -3000.0f; - var_r31->unk_14[3].y = -200.0f; - var_r31->unk_14[3].z = 0.0f; - var_r31->unk_18 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r31->unk_2A * (4 * sizeof(GXColor)), MEMORY_DEFAULT_NUM); - var_r31->unk_18[0].r = 0xFF; - var_r31->unk_18[0].g = 0xFF; - var_r31->unk_18[0].b = 0xFF; - var_r31->unk_18[0].a = 0xFF; - var_r31->unk_18[1].r = 0xFF; - var_r31->unk_18[1].g = 0xFF; - var_r31->unk_18[1].b = 0xFF; - var_r31->unk_18[1].a = 0xFF; - var_r31->unk_18[2].r = 0xFF; - var_r31->unk_18[2].g = 0xFF; - var_r31->unk_18[2].b = 0xFF; - var_r31->unk_18[2].a = 0xFF; - var_r31->unk_18[3].r = 0xFF; - var_r31->unk_18[3].g = 0xFF; - var_r31->unk_18[3].b = 0xFF; - var_r31->unk_18[3].a = 0xFF; - var_r31->unk_1C = HuMemDirectMallocNum(HEAP_SYSTEM, var_r31->unk_2A * sizeof(Vec), MEMORY_DEFAULT_NUM); - var_r31->unk_1C->x = 0.0f; - var_r31->unk_1C->y = 1.0f; - var_r31->unk_1C->z = 0.0f; - var_r31->unk_28 = 2; - var_r31->unk_2C = HuMemDirectMallocNum(HEAP_SYSTEM, var_r31->unk_2A * (var_r31->unk_28 * sizeof(M425DllUnkStruct2)), MEMORY_DEFAULT_NUM); - var_r31->unk_2C[0].unk_00 = HuSprAnimReadFile(0x380003); - var_r31->unk_2C[0].unk_04 = 0; - var_r31->unk_2C[1].unk_00 = HuSprAnimReadFile(0x380004); - var_r31->unk_2C[1].unk_04 = 0; - var_r31->unk_2C[1].unk_48 = 0x80; - for (var_r30 = 0; var_r30 < (var_r31->unk_28 * var_r31->unk_2A); var_r30++) { - MTXIdentity(var_r31->unk_2C[var_r30].unk_14); - var_r31->unk_2C[var_r30].unk_08.x = var_r31->unk_2C[var_r30].unk_08.y = var_r31->unk_2C[var_r30].unk_08.z = 0.0f; - } - for (var_r30 = 0; var_r30 < var_r31->unk_28; var_r30++) { - fn_1_573C(&var_r31->unk_2C[var_r30].unk_44, var_r31->unk_2A, spC); - } - var_r26 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x20000, MEMORY_DEFAULT_NUM); - var_r31->unk_10 = var_r26; - DCFlushRange(var_r31->unk_10, 0x20000); - GXBeginDisplayList(var_r26, 0x20000); - GXBegin(GX_QUADS, GX_VTXFMT0, var_r31->unk_2A * 4); - for (var_r30 = 0; var_r30 < var_r31->unk_2A; var_r30++) { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - GXUnknownu16(var_r29 + (var_r30 * 4)); - GXUnknownu16(var_r30); - GXUnknownu16(var_r29 + (var_r30 * 4)); - for (var_r28 = 0; var_r28 < var_r31->unk_28; var_r28++) { - GXUnknownu16(var_r29 + (var_r30 * 4)); - } - } - } - var_r31->unk_0C = GXEndDisplayList(); -} - -void fn_1_5568(Vec **arg0, s16 arg1, Vec *arg2) -{ - Vec *var_r31; - s32 var_r29; - s32 var_r28; - - var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * (4 * sizeof(Vec)), MEMORY_DEFAULT_NUM); - for (var_r29 = 0; var_r29 < arg1; var_r29++) { - for (var_r28 = 0; var_r28 < 4; var_r31++, arg2++, var_r28++) { - var_r31->x = arg2->x; - var_r31->y = arg2->y; - var_r31->z = arg2->z; - } - } -} - -void fn_1_5608(GXColor **arg0, s16 arg1, GXColor *arg2) -{ - GXColor *var_r31; - s32 var_r29; - s32 var_r28; - - var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * (4 * sizeof(GXColor)), 0x10000000); - for (var_r29 = 0; var_r29 < arg1; var_r29++) { - for (var_r28 = 0; var_r28 < 4; var_r31++, arg2++, var_r28++) { - var_r31->r = arg2->r; - var_r31->g = arg2->g; - var_r31->b = arg2->b; - var_r31->a = arg2->a; - } - } -} - -void fn_1_56B0(Vec **arg0, s16 arg1, Vec *arg2) -{ - Vec *var_r31; - s32 var_r29; - - var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(Vec), MEMORY_DEFAULT_NUM); - for (var_r29 = 0; var_r29 < arg1; var_r31++, arg2++, var_r29++) { - var_r31->x = arg2->x; - var_r31->y = arg2->y; - var_r31->z = arg2->z; - } -} - -void fn_1_573C(Vec2f **arg0, s16 arg1, Vec2f *arg2) -{ - Vec2f *var_r31; - s32 var_r29; - s32 var_r28; - - var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * (4 * sizeof(Vec2f)), MEMORY_DEFAULT_NUM); - for (var_r29 = 0; var_r29 < arg1; var_r29++) { - for (var_r28 = 0; var_r28 < 4; var_r31++, arg2++, var_r28++) { - var_r31->x = arg2->x; - var_r31->y = arg2->y; - } - } -} - -void fn_1_57D4(ModelData *model, Mtx matrix) -{ - float var_f31; - float var_f30; - s32 var_r31; - M425DllUnkStruct3 *var_r30; - - var_r30 = model->unk_120; - var_r30->unk_2C[1].unk_08.y -= 0.0005f; - var_f31 = sind(lbl_1_bss_4); - var_f30 = cosd(lbl_1_bss_4); - for (var_r31 = 0; var_r31 < 1; var_r31++) { - var_r30->unk_2C[var_r31].unk_44[0].x = 0.005f * var_f31 * (var_r31 != 0 ? 10.0f : -1.0f); - var_r30->unk_2C[var_r31].unk_44[0].y = 0.005f * var_f30 * (var_r31 != 0 ? 1.0f : -1.0f); - var_r30->unk_2C[var_r31].unk_44[1].x = 1.0f + (0.005f * var_f30 * (var_r31 != 0 ? 10.0f : -1.0f)); - var_r30->unk_2C[var_r31].unk_44[1].y = 0.005f * var_f31 * (var_r31 != 0 ? 1.0f : -1.0f); - var_r30->unk_2C[var_r31].unk_44[2].x = 1.0f + (0.005f * var_f31 * (var_r31 != 0 ? 10.0f : -1.0f)); - var_r30->unk_2C[var_r31].unk_44[2].y = 1.0f + (0.005f * var_f30 * (var_r31 != 0 ? 1.0f : -1.0f)); - var_r30->unk_2C[var_r31].unk_44[3].x = 0.005f * var_f30 * (var_r31 != 0 ? 10.0f : -1.0f); - var_r30->unk_2C[var_r31].unk_44[3].y = 1.0f + (0.005f * var_f31 * (var_r31 != 0 ? 1.0f : -1.0f)); - } - lbl_1_bss_4 += 1.0f; - fn_1_5C20(model, matrix); -} - -void fn_1_5C20(ModelData *var_r27, Mtx sp8) -{ - Mtx sp5C; - Mtx sp2C; - GXColor sp26; - s16 spC; - GXTexMapID var_r29; - M425DllUnkStruct3 *var_r31; - s16 var_r30; - s16 var_r28; - s16 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - - var_r31 = var_r27->unk_120; - GXSetChanAmbColor(GX_COLOR0A0, var_r31->unk_20); - GXSetChanMatColor(GX_COLOR0A0, var_r31->unk_24); - GXLoadPosMtxImm(sp8, 0); - MTXInverse(sp8, sp5C); - MTXTranspose(sp5C, sp2C); - GXLoadNrmMtxImm(sp2C, 0); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - GXSetZMode(1, GX_LEQUAL, 1); - var_r30 = 0; - var_r28 = 0; - spC = 0; - for (var_r29 = GX_TEXMAP0; var_r29 < var_r31->unk_28; var_r29++) { - MTXRotRad(var_r31->unk_2C[var_r29].unk_14, 0x5A, 0.0f); - mtxTransCat( - var_r31->unk_2C[var_r29].unk_14, var_r31->unk_2C[var_r29].unk_08.x, var_r31->unk_2C[var_r29].unk_08.y, var_r31->unk_2C[var_r29].unk_08.z); - switch (var_r31->unk_2C[var_r29].unk_04) { - case 0: - GXLoadTexMtxImm(var_r31->unk_2C[var_r29].unk_14, texMtxTbl[var_r28], GX_MTX2x4); - var_r25 = texMtxTbl[var_r28]; - GXSetTexCoordGen2(var_r28, GX_TG_MTX2x4, var_r29 + 4, var_r25, GX_FALSE, 0x7D); - GXSetTevOrder(var_r30, var_r28, var_r29, GX_COLOR0A0); - if (var_r29 == GX_TEXMAP0) { - GXSetTevColorIn(var_r30, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); - GXSetTevAlphaIn(var_r30, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); - } - else { - sp26.a = var_r31->unk_2C[var_r29].unk_48; - GXSetTevColor(GX_TEVREG2, sp26); - GXSetTevColorIn(var_r30, GX_CC_CPREV, GX_CC_TEXC, GX_CC_ZERO, GX_CC_TEXC); - GXSetTevAlphaIn(var_r30, GX_CA_ZERO, GX_CA_TEXA, GX_CA_APREV, GX_CA_ZERO); - } - GXSetTevColorOp(var_r30, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaOp(var_r30, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - break; - case 1: - GXLoadTexMtxImm(var_r31->unk_2C[var_r29].unk_14, texMtxTbl[var_r28], GX_MTX2x4); - var_r24 = texMtxTbl[var_r28]; - GXSetTexCoordGen2(var_r28, GX_TG_MTX2x4, var_r29 + 4, var_r24, GX_FALSE, 0x7D); - GXSetTevOrder(var_r30, var_r28, var_r29, GX_COLOR0A0); - GXSetTevColor(GX_TEVREG2, sp26); - GXSetTevColorIn(var_r30, GX_CC_ZERO, GX_CC_CPREV, GX_CC_TEXA, GX_CC_ZERO); - GXSetTevAlphaIn(var_r30, GX_CA_ZERO, GX_CA_TEXA, GX_CA_APREV, GX_CA_ZERO); - GXSetTevColorOp(var_r30, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaOp(var_r30, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - break; - case 2: - sp26.a = 0xE0; - GXSetTevColor(GX_TEVREG1, sp26); - GXSetTexCoordGen2(var_r28 + 1, GX_TG_BUMP0, var_r28, 0x3C, GX_FALSE, 0x7D); - GXSetTevOrder(var_r30, var_r28, var_r29, GX_COLOR0A0); - GXSetTevColorIn(var_r30, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A1, GX_CC_RASC); - GXSetTevColorOp(var_r30, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(var_r30, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(var_r30, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_FALSE, GX_TEVPREV); - var_r30++; - GXSetTevOrder(var_r30, var_r28 + 1, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(var_r30, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A1, GX_CC_CPREV); - GXSetTevColorOp(var_r30, GX_TEV_SUB, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(var_r30, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(var_r30, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_FALSE, GX_TEVPREV); - break; - case 3: - var_r28--; - GXLoadTexMtxImm(var_r31->unk_2C[var_r29].unk_14, texMtxTbl[var_r28], GX_MTX2x4); - var_r23 = texMtxTbl[var_r28]; - GXSetTexCoordGen2(var_r28, GX_TG_MTX2x4, var_r29 + 4, var_r23, 0, 0x7D); - GXSetTevOrder(var_r30, var_r28, var_r29, GX_COLOR0A0); - GXSetTevColorIn(var_r30, GX_CC_ZERO, GX_CC_CPREV, GX_CC_TEXC, GX_CC_ZERO); - GXSetTevColorOp(var_r30, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(var_r30, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_TEXA); - GXSetTevAlphaOp(var_r30, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - var_r28++; - break; - } - var_r30++; - var_r28++; - HuSprTexLoad(var_r31->unk_2C[var_r29].unk_00, 0, var_r29, GX_REPEAT, GX_REPEAT, GX_LINEAR); - } - sp26.a = var_r31->unk_24.a; - GXSetTevColor(GX_TEVREG0, sp26); - GXSetTevOrder(var_r30, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); - GXSetTevColorIn(var_r30, GX_CC_ZERO, GX_CC_CPREV, GX_CC_RASC, GX_CC_ZERO); - GXSetTevColorOp(var_r30, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(var_r30, GX_CA_ZERO, GX_CA_APREV, GX_CA_A0, GX_CA_KONST); - GXSetTevAlphaOp(var_r30, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - var_r30++; - GXSetNumTevStages((s32)var_r30); - GXSetNumTexGens((s32)var_r28); - var_r26 = Hu3DLightSet(var_r27, &Hu3DCameraMtx, &Hu3DCameraMtxXPose, 0.0f); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_TRUE, GX_SRC_REG, GX_SRC_VTX, var_r26, GX_DF_CLAMP, GX_AF_SPOT); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0); - GXSetArray(GX_VA_POS, var_r31->unk_14, 0xC); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, var_r31->unk_18, 4); - for (var_r29 = GX_TEXMAP0; var_r29 < (var_r31->unk_28 * var_r31->unk_2A); var_r29++) { - GXSetVtxDesc(var_r29 + 0xD, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, var_r29 + 0xD, GX_TEX_ST, GX_RGBA6, 0); - GXSetArray(var_r29 + 0xD, var_r31->unk_2C[var_r29].unk_44, 8); - } - GXSetVtxDesc(GX_VA_NRM, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_TEX_S, GX_RGBA6, 0); - GXSetArray(GX_VA_NRM, var_r31->unk_1C, 0xC); - GXCallDisplayList(var_r31->unk_10, var_r31->unk_0C); -} - -u32 lbl_1_data_114 = 0x41C64E6D; - -s32 fn_1_64D4(void) -{ - lbl_1_data_114 *= 0x41C64E6D; - lbl_1_data_114 += 0x3039; - return lbl_1_data_114 >> 0x10; -} - -float fn_1_6528(float arg8, float arg9, float argA, float argB) -{ - float var_f31 = 1.0 - arg8; - float var_f30 = (argB * (arg8 * arg8)) + ((arg9 * (var_f31 * var_f31)) + (2.0 * (argA * (var_f31 * arg8)))); - return var_f30; -} - -void fn_1_65A0(float *arg0, float *arg1, float *arg2, float *arg3, float arg8) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - *arg3++ = fn_1_6528(arg8, *arg0++, *arg1++, *arg2++); - } -} - -float fn_1_66BC(float arg8, float arg9, float argA, float argB) -{ - float var_f31 = 2.0 * ((arg8 * argB) + (((arg8 - 1.0) * arg9) + ((1.0 - (2.0 * arg8)) * argA))); - return var_f31; -} - -void fn_1_6734(float *arg0, float *arg1, float *arg2, float *arg3, float arg8) -{ - float spC[3]; - float sp8; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - float var_f25; - float var_f24; - float var_f23; - float var_f22; - float var_f21; - s32 var_r31; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - spC[var_r31] = fn_1_66BC(arg8, *arg0++, *arg1++, *arg2++); - } - - var_f29 = sqrtf((spC[2] * spC[2]) + ((spC[0] * spC[0]) + (spC[1] * spC[1]))); - if (var_f29) { - var_f29 = 1.0 / var_f29; - var_f29 = var_f29; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - *arg3++ = var_f29 * spC[var_r31]; - } - return; - } - *arg3++ = 0.0f; - *arg3++ = 0.0f; - *arg3++ = 1.0f; -} diff --git a/src/REL/m425Dll/thwomp.c b/src/REL/m425Dll/thwomp.c deleted file mode 100644 index 3f02dce6..00000000 --- a/src/REL/m425Dll/thwomp.c +++ /dev/null @@ -1,2768 +0,0 @@ -#include "dolphin/gx/GXEnum.h" -#include "dolphin/gx/GXVert.h" -#include "dolphin/mtx/GeoTypes.h" -#include "ext_math.h" -#include "game/animdata.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/esprite.h" -#include "game/flag.h" -#include "game/frand.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" -#include "string.h" - -#include "REL/m425Dll.h" - -extern u32 GlobalCounter; -extern LightData Hu3DLocalLight[0x20]; - -typedef struct M425DllUnkStruct4 { - s16 unk_00; - s16 unk_02; - s16 unk_04; - s16 unk_06; - float unk_08; - float unk_0C; - float unk_10; - float unk_14; - float unk_18; - float unk_1C; - float unk_20; - float unk_24; - s32 unk_28; - s32 unk_2C; - float unk_30; - s32 unk_34; - s32 unk_38; - s32 unk_3C[5]; - s32 unk_50; - float unk_54[6]; - s32 unk_6C[6]; - s32 unk_84[6]; - float unk_9C[6]; - s32 unk_B4[6]; - Vec unk_CC; - float unk_D8; - float unk_DC; - float unk_E0; - float unk_E4; - float unk_E8; - float unk_EC; - s32 unk_F0[3]; - float unk_FC; - float unk_100; - char unk104[0x8]; - s16 unk_10C; - s16 unk_10E; - s16 unk_110; - s16 unk_112[0x19]; - s16 unk_144[0x1A]; - s16 *unk_178; - Vec *unk_17C; - Vec *unk_180; - Vec2f *unk_184; - Vec *unk_188; - Vec *unk_18C; - s16 (*unk_190)[3]; - Vec *unk_194; - Vec *unk_198; - s32 unk_19C; - u8 *unk_1A0; - s16 *unk_1A4[0x19]; - s16 unk_208[0x19]; - GXColor unk_23A; - s32 unk_240; - u32 unk_244[0x19]; - void *unk_2A8[0x19]; -} M425DllUnkStruct4; /* size = 0x30C */ - -typedef struct M425DllUnkStruct5 { - char unk00[4]; - Vec unk_04; - Vec unk_10; - float unk_1C; - char unk20[8]; - float unk_28; - float unk_2C; - Vec unk_30; - GXColor unk_3C; - s32 unk_40; -} M425DllUnkStruct5; /* size = 0x44 */ - -typedef void (*UnkHook)(ModelData *model, struct M425DllUnkStruct6 *particle, Mtx matrix); - -typedef struct M425DllUnkStruct6 { - s16 unk_00; - s16 unk_02; - char unk04[0x1C]; - u8 unk_20; - u8 unk_21; - char unk22[2]; - s16 unk_24; - s32 unk_28; - s32 unk_2C; - u32 unk_30; - u32 unk_34; - AnimData *unk_38; - M425DllUnkStruct5 *unk_3C; - Vec *unk_40; - Vec2f *unk_44; - void *unk_48; - UnkHook unk_4C; -} M425DllUnkStruct6; /* size = 0x50 */ - -void fn_1_6BD8(omObjData *object); -s32 fn_1_6EC4(float arg8, float arg9, s16 arg0, s16 arg1); -void fn_1_6DFC(s32 arg0, float arg8); -void fn_1_E210(s32 arg0); -void fn_1_E914(ModelData *arg0, Mtx matrix); -void fn_1_D9A8(M425DllUnkStruct4 *var_r31, ModelData *var_r24, s32 var_r30, s32 var_r26, s32 var_r25); -void fn_1_DB44(M425DllUnkStruct4 *arg0, ModelData *model); -void fn_1_DE3C(M425DllUnkStruct4 *arg0, ModelData *model); -void fn_1_101C4(ModelData *model, Mtx matrix); -void fn_1_11284(void); -void fn_1_112FC(void); -void fn_1_11418(void); -s32 fn_1_11454(Vec *arg0, Vec *arg1, float arg8, float arg9); -s16 fn_1_115D4(ModelData *arg0, Mtx arg1, Mtx arg2, float arg8); -void fn_1_116E4(ModelData *arg1, LightData *arg2, s16 arg3, Mtx arg4, Mtx arg5, float arg8); -s16 fn_1_11A74(AnimData *arg0, s16 arg1); -void fn_1_11EE0(ModelData *model, Mtx matrix); - -Vec lbl_1_data_118[2] = { - { -300.0f, 1.0f, 0.0f }, - { 300.0f, 1.0f, 0.0f }, -}; - -Process *lbl_1_bss_6F0; -omObjData *lbl_1_bss_6EC; -s32 lbl_1_bss_6E8; -u8 *lbl_1_bss_6E4; -AnimData *lbl_1_bss_6E0; -AnimData *lbl_1_bss_6DC; -AnimData *lbl_1_bss_6D8; -// M425DllUnkStruct6 -s32 lbl_1_bss_6D4; -u8 lbl_1_bss_6D0; -s32 lbl_1_bss_6CC; -GXColor lbl_1_bss_6C8; -GXLightObj lbl_1_bss_688; -Vec lbl_1_bss_67C; -Vec lbl_1_bss_670; - -omObjData *fn_1_6A0C(Process *process, s32 sp8) -{ - omObjData *object; - - lbl_1_bss_6F0 = process; - object = omAddObjEx(process, sp8, 6, 0, -1, fn_1_6BD8); - lbl_1_bss_6EC = object; - object->stat |= 0x100; - lbl_1_bss_6E8 = 0; - lbl_1_bss_6D0 = 0x40; - lbl_1_bss_6CC = 0; - object->model[0] = fn_1_6EC4(350.0f, 350.0f, 0x10, 0x10); - object->model[1] = fn_1_6EC4(350.0f, 350.0f, 0x10, 0x10); - fn_1_6CD0(0, &lbl_1_data_118[0]); - fn_1_6CD0(1, &lbl_1_data_118[1]); - fn_1_6DFC(0, 30.0f); - fn_1_6DFC(1, -30.0f); - lbl_1_bss_6E4 = HuDataReadNum(0x38000A, MEMORY_DEFAULT_NUM); - lbl_1_bss_6E0 = HuSprAnimRead(HuDataReadNum(0x38000B, MEMORY_DEFAULT_NUM)); - lbl_1_bss_6DC = HuSprAnimRead(HuDataReadNum(0x38000C, MEMORY_DEFAULT_NUM)); - fn_1_11284(); - return lbl_1_bss_6EC; -} - -void fn_1_6BD8(omObjData *object) -{ - fn_1_E210(0); - fn_1_E210(1); - fn_1_112FC(); -} - -void fn_1_6C08(void) -{ - omObjData *object = lbl_1_bss_6EC; - if (object) { - HuMemDirectFree(lbl_1_bss_6E4); - lbl_1_bss_6E4 = NULL; - HuSprAnimKill(lbl_1_bss_6E0); - lbl_1_bss_6E0 = NULL; - HuSprAnimKill(lbl_1_bss_6DC); - lbl_1_bss_6DC = NULL; - fn_1_11418(); - lbl_1_bss_6EC = NULL; - object->func = NULL; - omDelObjEx(lbl_1_bss_6F0, object); - } -} - -void fn_1_6CD0(s32 arg0, Vec *arg1) -{ - M425DllUnkStruct4 *var_r30; - s32 var_r29; - ModelData *var_r28; - - if (lbl_1_bss_6EC) { - var_r28 = &Hu3DData[lbl_1_bss_6EC->model[arg0]]; - var_r30 = var_r28->unk_120; - var_r30->unk_CC.x = arg1->x; - var_r30->unk_CC.y = arg1->y; - var_r30->unk_CC.z = arg1->z; - Hu3DModelPosSet(lbl_1_bss_6EC->model[arg0], arg1->x, arg1->y, arg1->z); - if ((lbl_1_bss_6CC == 0) && (arg0 == 0) && (arg1->y <= 0.0f)) { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - omVibrate(0, 0xC, 6, 6); - } - HuAudFXPlay(0x62E); - lbl_1_bss_6CC = 1; - } - } -} - -void fn_1_6DFC(s32 arg0, float arg8) -{ - ModelData *var_r31; - M425DllUnkStruct4 *var_r30; - - if (lbl_1_bss_6EC) { - var_r31 = &Hu3DData[lbl_1_bss_6EC->model[arg0]]; - var_r30 = var_r31->unk_120; - var_r30->unk_D8 = arg8; - Hu3DModelRotSet(lbl_1_bss_6EC->model[arg0], 0.0f, arg8, 0.0f); - } -} - -s32 fn_1_6EC4(float var_f24, float sp8, s16 var_r22, s16 var_r24) -{ - float sp24; - float sp20; - float sp1C; - float sp18; - float sp14; - float sp10; - void *spC; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - float var_f25; - float var_f23; - float var_f22; - float var_f21; - float var_f20; - float var_f19; - float var_f18; - - M425DllUnkStruct4 *var_r31; - s32 var_r30; - Vec *var_r29; - Vec2f *var_r28; - s32 var_r27; - Vec *var_r26; - s16 *var_r25; - ModelData *var_r23; - s32 var_r21; - s16 *var_r20; - s32 var_r19; - s16 var_r18; - void *var_r17; - - var_r19 = Hu3DHookFuncCreate(fn_1_101C4); - var_r23 = &Hu3DData[var_r19]; - Hu3DModelLayerSet(var_r19, 5); - var_r31 = HuMemDirectMallocNum(HEAP_DATA, sizeof(M425DllUnkStruct4), var_r23->unk_48); - var_r23->unk_120 = var_r31; - memset(var_r31, 0, sizeof(M425DllUnkStruct4)); - var_r31->unk_00 = lbl_1_bss_6E8; - lbl_1_bss_6E8++; - var_r31->unk_02 = 0; - var_r31->unk_04 = Hu3DModelCreateFile(0x38000D); - Hu3DModelLayerSet(var_r31->unk_04, 6); - var_r31->unk_06 = 0; - var_r31->unk_08 = 1000.0f; - var_r31->unk_0C = 1000.0f; - var_r31->unk_10 = 1000.0f; - var_r31->unk_14 = 0.0f; - var_r31->unk_18 = 0.0f; - var_r31->unk_1C = 0.0f; - var_r31->unk_20 = 0.0f; - var_r31->unk_24 = sp8; - var_r31->unk_FC = var_f24; - var_r31->unk_100 = sp8; - var_r31->unk_28 = 0; - var_r31->unk_2C = 0; - var_r31->unk_30 = 0.0f; - for (var_r30 = 0; var_r30 < 6; var_r30++) { - var_r31->unk_3C[var_r30] = -1; - var_r31->unk_54[var_r30] = 0.0f; - var_r31->unk_84[var_r30] = -1; - var_r31->unk_9C[var_r30] = 0.0f; - } - var_r31->unk_CC.x = var_r31->unk_CC.y = var_r31->unk_CC.z = 0.0f; - var_r31->unk_D8 = 0.0f; - var_r31->unk_DC = 1.0f; - var_r31->unk_F0[0] = -1; - var_r31->unk_F0[1] = -1; - var_r31->unk_F0[2] = -1; - lbl_1_bss_6EC->model[var_r31->unk_00 + 2] = var_r31->unk_04; - if (var_r31->unk_00 == 0) { - var_r31->unk_E0 = var_f22 = 302.0f; - var_r31->unk_E4 = var_f27 = 193.0f; - } - else { - var_r31->unk_E0 = var_f22 = 302.0f; - var_r31->unk_E4 = var_f27 = 150.0f; - } - var_r31->unk_E8 = var_r31->unk_EC = 0.0f; - var_f30 = sind(var_f27) * cosd(var_f22); - var_f26 = cosd(var_f27) * cosd(var_f22); - var_f28 = sind(var_f22); - sp24 = sqrtf((var_f26 * var_f26) + ((var_f30 * var_f30) + (var_f28 * var_f28))); - if (sp24 != 0.0f) { - sp24 = 1.0f / sp24; - } - else { - sp24 = 0.0f; - } - var_f30 *= sp24; - var_f28 *= sp24; - var_f26 *= sp24; - var_r30 = Hu3DLLightCreate(var_r19, 1000.0f * var_f30, 1000.0f * var_f28, 1000.0f * var_f26, var_f30, var_f28, var_f26, 0xFF, 0xFF, 0xFF); - Hu3DLLightInfinitytSet(var_r19, var_r30); - Hu3DLLightStaticSet(var_r19, var_r30, 1); - var_r22++; - var_r24++; - sp14 = var_f24 - 50.0f; - sp10 = sp8 - 50.0f; - var_r31->unk_112[0] = var_r24 * var_r24; - var_r31->unk_144[0] = 0; - var_r31->unk_112[1] = var_r22 * var_r24; - var_r31->unk_144[1] = var_r31->unk_144[0] + var_r31->unk_112[0]; - if (var_r31->unk_00 != 0) { - var_r31->unk_112[2] = 0; - } - else { - var_r31->unk_112[2] = var_r22 * var_r24; - } - var_r31->unk_144[2] = var_r31->unk_144[1] + var_r31->unk_112[1]; - if (var_r31->unk_00 == 0) { - var_r31->unk_112[3] = 0; - } - else { - var_r31->unk_112[3] = var_r22 * var_r24; - } - var_r31->unk_144[3] = var_r31->unk_144[2] + var_r31->unk_112[2]; - var_r31->unk_112[4] = var_r24 * 5; - var_r31->unk_144[4] = var_r31->unk_144[3] + var_r31->unk_112[3]; - var_r31->unk_112[5] = var_r24 * 5; - var_r31->unk_144[5] = var_r31->unk_144[4] + var_r31->unk_112[4]; - var_r31->unk_112[6] = var_r22 * 5; - var_r31->unk_144[6] = var_r31->unk_144[5] + var_r31->unk_112[5]; - var_r31->unk_112[7] = var_r22 * 5; - var_r31->unk_144[7] = var_r31->unk_144[6] + var_r31->unk_112[6]; - var_r31->unk_112[8] = var_r24 * 5; - var_r31->unk_144[8] = var_r31->unk_144[7] + var_r31->unk_112[7]; - var_r31->unk_112[9] = var_r24 * 5; - var_r31->unk_144[9] = var_r31->unk_144[8] + var_r31->unk_112[8]; - var_r31->unk_112[10] = var_r24 * 5; - var_r31->unk_144[10] = var_r31->unk_144[9] + var_r31->unk_112[9]; - var_r31->unk_112[11] = var_r24 * 5; - var_r31->unk_144[11] = var_r31->unk_144[10] + var_r31->unk_112[10]; - var_r31->unk_112[12] = var_r24 * 5; - var_r31->unk_144[12] = var_r31->unk_144[11] + var_r31->unk_112[11]; - var_r31->unk_112[13] = var_r24 * 5; - var_r31->unk_144[13] = var_r31->unk_144[12] + var_r31->unk_112[12]; - if (var_r31->unk_00 == 0) { - var_r31->unk_112[14] = 0; - } - else { - var_r31->unk_112[14] = var_r22 * 5; - } - var_r31->unk_144[14] = var_r31->unk_144[13] + var_r31->unk_112[13]; - if (var_r31->unk_00 != 0) { - var_r31->unk_112[15] = 0; - } - else { - var_r31->unk_112[15] = var_r22 * 5; - } - var_r31->unk_144[15] = var_r31->unk_144[14] + var_r31->unk_112[14]; - var_r31->unk_112[16] = 0x19; - var_r31->unk_144[16] = var_r31->unk_144[15] + var_r31->unk_112[15]; - var_r31->unk_112[17] = 0x19; - var_r31->unk_144[17] = var_r31->unk_144[16] + var_r31->unk_112[16]; - var_r31->unk_112[18] = 0x19; - var_r31->unk_144[18] = var_r31->unk_144[17] + var_r31->unk_112[17]; - var_r31->unk_112[19] = 0x19; - var_r31->unk_144[19] = var_r31->unk_144[18] + var_r31->unk_112[18]; - var_r31->unk_112[20] = 0x19; - var_r31->unk_144[20] = var_r31->unk_144[19] + var_r31->unk_112[19]; - var_r31->unk_112[21] = 0x19; - var_r31->unk_144[21] = var_r31->unk_144[20] + var_r31->unk_112[20]; - var_r31->unk_112[22] = 0x19; - var_r31->unk_144[22] = var_r31->unk_144[21] + var_r31->unk_112[21]; - var_r31->unk_112[23] = 0x19; - var_r31->unk_144[23] = var_r31->unk_144[22] + var_r31->unk_112[22]; - var_r31->unk_112[24] = var_r24 * var_r24; - var_r31->unk_144[24] = var_r31->unk_144[23] + var_r31->unk_112[23]; - if (var_r31->unk_00 == 0) { - var_r31->unk_06 = var_r31->unk_144[17] + (var_r31->unk_112[17] / 2) + 1; - } - else { - var_r31->unk_06 = var_r31->unk_144[16] + (var_r31->unk_112[16] / 2) - 1; - } - var_r31->unk_10C = var_r22; - var_r31->unk_10E = var_r24; - var_r31->unk_110 = var_r31->unk_144[24] + var_r31->unk_112[24]; - var_r31->unk_240 = 0x19; - var_r31->unk_178 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * 2, var_r23->unk_48); - memset(var_r31->unk_178, 0, var_r31->unk_110 * 2); - var_r31->unk_17C = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * 0xC, var_r23->unk_48); - memset(var_r31->unk_17C, 0, var_r31->unk_110 * 0xC); - var_r31->unk_180 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * 0xC, var_r23->unk_48); - memset(var_r31->unk_180, 0, var_r31->unk_110 * 0xC); - var_r31->unk_184 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * 8, var_r23->unk_48); - memset(var_r31->unk_184, 0, var_r31->unk_110 * 8); - var_r31->unk_188 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * 0xC, var_r23->unk_48); - memset(var_r31->unk_188, 0, var_r31->unk_110 * 0xC); - var_r31->unk_18C = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * 0xC, var_r23->unk_48); - memset(var_r31->unk_18C, 0, var_r31->unk_110 * 0xC); - var_r31->unk_190 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * 6, var_r23->unk_48); - memset(var_r31->unk_190, 0, var_r31->unk_110 * 6); - var_r31->unk_194 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * 0xC, var_r23->unk_48); - memset(var_r31->unk_194, 0, var_r31->unk_110 * 0xC); - var_r31->unk_198 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_112[0] * 0xC, var_r23->unk_48); - memset(var_r31->unk_198, 0, var_r31->unk_112[0] * 0xC); - var_r31->unk_1A0 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110, var_r23->unk_48); - memset(var_r31->unk_1A0, 0, var_r31->unk_110); - for (var_r30 = 0; var_r30 < var_r31->unk_110; var_r30++) { - if (((var_r31->unk_112[0] > 0) && (var_r30 >= var_r31->unk_144[0]) && (var_r30 < (var_r31->unk_144[0] + var_r31->unk_112[0]))) - || ((var_r31->unk_112[4] > 0) && (var_r30 >= var_r31->unk_144[4]) && (var_r30 < (var_r31->unk_144[4] + var_r31->unk_112[4]))) - || ((var_r31->unk_112[8] > 0) && (var_r30 >= var_r31->unk_144[8]) && (var_r30 < (var_r31->unk_144[8] + var_r31->unk_112[8]))) - || ((var_r31->unk_112[10] > 0) && (var_r30 >= var_r31->unk_144[10]) && (var_r30 < (var_r31->unk_144[10] + var_r31->unk_112[10]))) - || ((var_r31->unk_112[12] > 0) && (var_r30 >= var_r31->unk_144[12]) && (var_r30 < (var_r31->unk_144[12] + var_r31->unk_112[12]))) - || ((var_r31->unk_112[16] > 0) && (var_r30 >= var_r31->unk_144[16]) && (var_r30 < (var_r31->unk_144[16] + var_r31->unk_112[16]))) - || ((var_r31->unk_112[17] > 0) && (var_r30 >= var_r31->unk_144[17]) && (var_r30 < (var_r31->unk_144[17] + var_r31->unk_112[17]))) - || ((var_r31->unk_112[20] > 0) && (var_r30 >= var_r31->unk_144[20]) && (var_r30 < (var_r31->unk_144[20] + var_r31->unk_112[20]))) - || ((var_r31->unk_112[21] > 0) && (var_r30 >= var_r31->unk_144[21]) && (var_r30 < (var_r31->unk_144[21] + var_r31->unk_112[21])))) { - var_r31->unk_1A0[var_r30] = 1; - } - else { - var_r31->unk_1A0[var_r30] = 0; - } - } - var_r31->unk_23A.r = 0; - var_r31->unk_23A.g = 0; - var_r31->unk_23A.b = 0xFF; - var_r31->unk_23A.a = 0x40; - var_r29 = &var_r31->unk_17C[var_r31->unk_144[0]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[0]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[0]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[0]]; - var_f25 = var_f30 = -((0.5f * var_f24) - 25.0f); - sp20 = var_f28 = sp8; - sp1C = var_f26 = -((0.5f * var_f24) - 25.0f); - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp14 / (var_r24 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[0] != 0) { - for (var_r30 = 0; var_r30 < var_r31->unk_10E; var_r30++) { - for (var_r27 = 0; var_r27 < var_r31->unk_10E; var_r27++) { - var_r29->x = var_f30; - var_r29->y = var_f28; - var_r29->z = var_f26; - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f26 = var_f26 + var_f23; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 0, var_r24 - 1, var_r24 - 1); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[1]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[1]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[1]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[1]]; - var_f25 = var_f30 = -((0.5f * var_f24) - 25.0f); - sp20 = var_f28 = sp8 - 25.0f; - sp1C = var_f26 = 0.5f * var_f24; - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[1] != 0) { - for (var_r30 = 0; var_r30 < var_r31->unk_10E; var_r30++) { - for (var_r27 = 0; var_r27 < var_r31->unk_10E; var_r27++) { - var_r29->x = var_f30; - var_r29->y = var_f28; - var_r29->z = var_f26; - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 1, var_r24 - 1, var_r22 - 1); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[2]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[2]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[2]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[2]]; - var_f25 = var_f30 = -(0.5f * var_f24); - sp20 = var_f28 = sp8 - 25.0f; - sp1C = var_f26 = -((0.5f * var_f24) - 25.0f); - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[2] != 0) { - for (var_r30 = 0; var_r30 < var_r31->unk_10E; var_r30++) { - for (var_r27 = 0; var_r27 < var_r31->unk_10E; var_r27++) { - var_r29->x = var_f30; - var_r29->y = var_f28; - var_r29->z = var_f26; - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f26 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f26 = sp1C; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 2, var_r24 - 1, var_r22 - 1); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[3]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[3]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[3]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[3]]; - var_f25 = var_f30 = 0.5f * var_f24; - sp20 = var_f28 = sp8 - 25.0f; - sp1C = var_f26 = (0.5f * var_f24) - 25.0f; - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[3] != 0) { - for (var_r30 = 0; var_r30 < var_r31->unk_10E; var_r30++) { - for (var_r27 = 0; var_r27 < var_r31->unk_10E; var_r27++) { - var_r29->x = var_f30; - var_r29->y = var_f28; - var_r29->z = var_f26; - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f26 -= var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f26 = sp1C; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 3, var_r24 - 1, var_r22 - 1); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[4]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[4]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[4]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[4]]; - var_f25 = var_f30 = -((0.5f * var_f24) - 25.0f); - sp20 = var_f28 = sp8; - sp1C = var_f26 = (0.5f * var_f24) - 25.0f; - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[4] != 0) { - for (var_r30 = 0; var_r30 < 5; var_r30++) { - for (var_r27 = 0; var_r27 < var_r31->unk_10E; var_r27++) { - var_f27 = 90.0f * (var_r30 / 4.0f); - var_r29->x = var_f30; - var_r29->y = sp20 + (25.0 * (cosd(var_f27) - 1.0)); - var_r29->z = sp1C + (25.0 * sind(var_f27)); - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 4, var_r24 - 1, 4); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[5]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[5]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[5]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[5]]; - var_f25 = var_f30 = -((0.5f * var_f24) - 25.0f); - sp20 = var_f28 = 25.0f; - sp1C = var_f26 = (0.5f * var_f24) - 25.0f; - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[5] != 0) { - for (var_r30 = 0; var_r30 < 5; var_r30++) { - for (var_r27 = 0; var_r27 < var_r31->unk_10E; var_r27++) { - var_f27 = 90.0f + (90.0f * (var_r30 / 4.0f)); - var_r29->x = var_f30; - var_r29->y = sp20 + (25.0 * cosd(var_f27)); - var_r29->z = sp1C + (25.0 * sind(var_f27)); - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 5, var_r24 - 1, 4); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[6]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[6]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[6]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[6]]; - var_f25 = var_f30 = -(0.5f * var_f24); - sp20 = var_f28 = sp8 - 25.0f; - sp1C = var_f26 = (0.5f * var_f24) - 25.0f; - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[6] != 0) { - for (var_r30 = 0; var_r30 < var_r31->unk_10C; var_r30++) { - for (var_r27 = 0; var_r27 < 5; var_r27++) { - var_f27 = 90.0f * (var_r27 / 4.0f); - var_r29->x = var_f25 - (25.0 * (cosd(var_f27) - 1.0)); - var_r29->y = var_f28; - var_r29->z = sp1C + (25.0 * sind(var_f27)); - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 6, 4, var_r22 - 1); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[7]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[7]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[7]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[7]]; - var_f25 = var_f30 = (0.5f * var_f24) - 25.0f; - sp20 = var_f28 = sp8 - 25.0f; - sp1C = var_f26 = 0.5f * var_f24; - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[7] != 0) { - for (var_r30 = 0; var_r30 < var_r31->unk_10C; var_r30++) { - for (var_r27 = 0; var_r27 < 5; var_r27++) { - var_f27 = 90.0f - (90.0f * (var_r27 / 4.0f)); - var_r29->x = var_f25 + (25.0 * cosd(var_f27)); - var_r29->y = var_f28; - var_r29->z = sp1C + (25.0 * (sind(var_f27) - 1.0)); - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 7, 4, var_r22 - 1); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[8]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[8]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[8]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[8]]; - var_f25 = var_f30 = -((0.5f * var_f24) - 25.0f); - sp20 = var_f28 = sp8 - 25.0f; - sp1C = var_f26 = -((0.5f * var_f24) - 25.0f); - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[8] != 0) { - for (var_r30 = 0; var_r30 < 5; var_r30++) { - for (var_r27 = 0; var_r27 < var_r31->unk_10E; var_r27++) { - var_f27 = 90.0f + (90.0f * (var_r30 / 4.0f)); - var_r29->x = var_f25 + 25.0 * cosd(var_f27); - var_r29->y = sp20 + (25.0 * sind(var_f27)); - var_r29->z = var_f26; - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f26 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f26 = sp1C; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 8, var_r24 - 1, 4); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[9]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[9]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[9]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[9]]; - var_f25 = var_f30 = -(0.5f * var_f24 - 25.0f); - sp20 = var_f28 = 25.0f; - sp1C = var_f26 = -((0.5f * var_f24) - 25.0f); - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[9] != 0) { - for (var_r30 = 0; var_r30 < 5; var_r30++) { - for (var_r27 = 0; var_r27 < var_r31->unk_10E; var_r27++) { - var_f27 = 180.0f + (90.0f * (var_r30 / 4.0f)); - var_r29->x = var_f25 + (25.0 * cosd(var_f27)); - var_r29->y = sp20 + (25.0 * sind(var_f27)); - var_r29->z = var_f26; - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f26 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f26 = sp1C; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 9, var_r24 - 1, 4); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[10]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[10]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[10]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[10]]; - var_f25 = var_f30 = (0.5f * var_f24) - 25.0f; - sp20 = var_f28 = sp8 - 25.0f; - sp1C = var_f26 = (0.5f * var_f24) - 25.0f; - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[10] != 0) { - for (var_r30 = 0; var_r30 < 5; var_r30++) { - for (var_r27 = 0; var_r27 < var_r31->unk_10E; var_r27++) { - var_f27 = 90.0f - (90.0f * (var_r30 / 4.0f)); - var_r29->x = var_f25 + (25.0 * cosd(var_f27)); - var_r29->y = sp20 + (25.0 * sind(var_f27)); - var_r29->z = var_f26; - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f26 -= var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f26 = sp1C; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 0xA, var_r24 - 1, 4); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[11]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[11]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[11]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[11]]; - var_f25 = var_f30 = (0.5f * var_f24) - 25.0f; - sp20 = var_f28 = 25.0f; - sp1C = var_f26 = (0.5f * var_f24) - 25.0f; - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[11] != 0) { - for (var_r30 = 0; var_r30 < 5; var_r30++) { - for (var_r27 = 0; var_r27 < var_r31->unk_10E; var_r27++) { - var_f27 = -(90.0f * (var_r30 / 4.0f)); - var_r29->x = var_f25 + (25.0 * cosd(var_f27)); - var_r29->y = sp20 + (25.0 * sind(var_f27)); - var_r29->z = var_f26; - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f26 -= var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f26 = sp1C; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 0xB, var_r24 - 1, 4); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[12]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[12]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[12]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[12]]; - var_f25 = var_f30 = (0.5f * var_f24) - 25.0f; - sp20 = var_f28 = sp8 - 25.0f; - sp1C = var_f26 = -((0.5f * var_f24) - 25.0f); - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[12] != 0) { - for (var_r30 = 0; var_r30 < 5; var_r30++) { - for (var_r27 = 0; var_r27 < var_r31->unk_10E; var_r27++) { - var_f27 = 90.0f + (90.0f * (var_r30 / 4.0f)); - var_r29->x = var_f30; - var_r29->y = sp20 + (25.0 * sind(var_f27)); - var_r29->z = sp1C + (25.0 * cosd(var_f27)); - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 -= var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 0xC, var_r24 - 1, 4); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[13]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[13]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[13]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[13]]; - var_f25 = var_f30 = (0.5f * var_f24) - 25.0f; - sp20 = var_f28 = 25.0f; - sp1C = var_f26 = -((0.5f * var_f24) - 25.0f); - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[13] != 0) { - for (var_r30 = 0; var_r30 < 5; var_r30++) { - for (var_r27 = 0; var_r27 < var_r31->unk_10E; var_r27++) { - var_f27 = 180.0f + (90.0f * (var_r30 / 4.0f)); - var_r29->x = var_f30; - var_r29->y = sp20 + (25.0 * sind(var_f27)); - var_r29->z = sp1C + (25.0 * cosd(var_f27)); - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 -= var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 0xD, var_r24 - 1, 4); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[14]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[14]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[14]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[14]]; - var_f25 = var_f30 = (0.5f * var_f24) - 25.0f; - sp20 = var_f28 = sp8 - 25.0f; - sp1C = var_f26 = -((0.5f * var_f24) - 25.0f); - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[14] != 0) { - for (var_r30 = 0; var_r30 < var_r31->unk_10C; var_r30++) { - for (var_r27 = 0; var_r27 < 5; var_r27++) { - var_f27 = -(90.0f * (var_r27 / 4.0f)); - var_r29->x = var_f25 + (25.0 * cosd(var_f27)); - var_r29->y = var_f28; - var_r29->z = sp1C + (25.0 * sind(var_f27)); - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 0xE, 4, var_r22 - 1); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[15]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[15]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[15]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[15]]; - var_f25 = var_f30 = -((0.5f * var_f24) - 25.0f); - sp20 = var_f28 = sp8 - 25.0f; - sp1C = var_f26 = -((0.5f * var_f24) - 25.0f); - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[15] != 0) { - for (var_r30 = 0; var_r30 < var_r31->unk_10C; var_r30++) { - for (var_r27 = 0; var_r27 < 5; var_r27++) { - var_f27 = -90.0f - (90.0f * (var_r27 / 4.0f)); - var_r29->x = var_f25 + (25.0 * cosd(var_f27)); - var_r29->y = var_f28; - var_r29->z = sp1C + (25.0 * sind(var_f27)); - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 0xF, 4, var_r22 - 1); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[16]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[16]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[16]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[16]]; - var_f25 = var_f30 = -((0.5f * var_f24) - 25.0f); - sp20 = var_f28 = sp8 - 25.0f; - sp1C = var_f26 = (0.5f * var_f24) - 25.0f; - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[16] != 0) { - for (var_r30 = 0; var_r30 < 5; var_r30++) { - for (var_r27 = 0; var_r27 < 5; var_r27++) { - var_f27 = 90.0f * (var_r27 / 4.0f); - var_f22 = 90.0f * (var_r30 / 4.0f); - var_r29->x = var_f25 - (25.0 * cosd(var_f27) * sind(var_f22)); - var_r29->y = sp20 + (25.0 * cosd(var_f22)); - var_r29->z = sp1C + (25.0 * sind(var_f27) * sind(var_f22)); - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 0x10, 4, 4); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[17]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[17]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[17]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[17]]; - var_f25 = var_f30 = (0.5f * var_f24) - 25.0f; - sp20 = var_f28 = sp8 - 25.0f; - sp1C = var_f26 = (0.5f * var_f24) - 25.0f; - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[17] != 0) { - for (var_r30 = 0; var_r30 < 5; var_r30++) { - for (var_r27 = 0; var_r27 < 5; var_r27++) { - var_f27 = 90.0f - (90.0f * (var_r27 / 4.0f)); - var_f22 = -(90.0f * (var_r30 / 4.0f)); - var_r29->x = var_f25 + (25.0 * cosd(var_f27) * -sind(var_f22)); - var_r29->y = sp20 + (25.0 * cosd(var_f22)); - var_r29->z = sp1C + (25.0 * sind(var_f27) * -sind(var_f22)); - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 0x11, 4, 4); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[18]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[18]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[18]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[18]]; - var_f25 = var_f30 = -((0.5f * var_f24) - 25.0f); - sp20 = var_f28 = 25.0f; - sp1C = var_f26 = (0.5f * var_f24) - 25.0f; - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[18] != 0) { - for (var_r30 = 0; var_r30 < 5; var_r30++) { - for (var_r27 = 0; var_r27 < 5; var_r27++) { - var_f27 = 90.0f * (var_r27 / 4.0f); - var_f22 = 90.0f + (90.0f * (var_r30 / 4.0f)); - var_r29->x = var_f25 - (25.0 * cosd(var_f27) * sind(var_f22)); - var_r29->y = sp20 + (25.0 * cosd(var_f22)); - var_r29->z = sp1C + (25.0 * sind(var_f27) * sind(var_f22)); - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 0x12, 4, 4); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[19]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[19]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[19]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[19]]; - var_f25 = var_f30 = (0.5f * var_f24) - 25.0f; - sp20 = var_f28 = 25.0f; - sp1C = var_f26 = (0.5f * var_f24) - 25.0f; - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[19] != 0) { - for (var_r30 = 0; var_r30 < 5; var_r30++) { - for (var_r27 = 0; var_r27 < 5; var_r27++) { - var_f27 = 90.0f * (var_r27 / 4.0f); - var_f22 = 90.0f * (var_r30 / 4.0f); - var_r29->x = var_f25 + (25.0 * cosd(var_f27) * sind(var_f22)); - var_r29->y = sp20 - (25.0 * cosd(var_f22)); - var_r29->z = sp1C + (25.0 * sind(var_f27) * sind(var_f22)); - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 0x13, 4, 4); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[20]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[20]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[20]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[20]]; - var_f25 = var_f30 = (0.5f * var_f24) - 25.0f; - sp20 = var_f28 = sp8 - 25.0f; - sp1C = var_f26 = -((0.5f * var_f24) - 25.0f); - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[20] != 0) { - for (var_r30 = 0; var_r30 < 5; var_r30++) { - for (var_r27 = 0; var_r27 < 5; var_r27++) { - var_f27 = 180.0f + (90.0f * (var_r27 / 4.0f)); - var_f22 = 90.0f * (var_r30 / 4.0f); - var_r29->x = var_f25 - (25.0 * cosd(var_f27) * sind(var_f22)); - var_r29->y = sp20 + (25.0 * cosd(var_f22)); - var_r29->z = sp1C + (25.0 * sind(var_f27) * sind(var_f22)); - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 0x14, 4, 4); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[21]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[21]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[21]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[21]]; - var_f25 = var_f30 = -(0.5f * var_f24 - 25.0f); - sp20 = var_f28 = sp8 - 25.0f; - sp1C = var_f26 = -((0.5f * var_f24) - 25.0f); - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[21] != 0) { - for (var_r30 = 0; var_r30 < 5; var_r30++) { - for (var_r27 = 0; var_r27 < 5; var_r27++) { - var_f27 = 270.0f - (90.0f * (var_r27 / 4.0f)); - var_f22 = -(90.0f * (var_r30 / 4.0f)); - var_r29->x = var_f25 + (cosd(var_f27) * 25.0 * -sind(var_f22)); - var_r29->y = sp20 + 25.0 * cosd(var_f22); - var_r29->z = sp1C + (25.0 * sind(var_f27) * -sind(var_f22)); - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 0x15, 4, 4); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[22]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[22]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[22]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[22]]; - var_f25 = var_f30 = (0.5f * var_f24) - 25.0f; - sp20 = var_f28 = 25.0f; - sp1C = var_f26 = -((0.5f * var_f24) - 25.0f); - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[22] != 0) { - for (var_r30 = 0; var_r30 < 5; var_r30++) { - for (var_r27 = 0; var_r27 < 5; var_r27++) { - var_f27 = 180.0f + (90.0f * (var_r27 / 4.0f)); - var_f22 = 90.0f + (90.0f * (var_r30 / 4.0f)); - var_r29->x = var_f25 - (25.0 * cosd(var_f27) * sind(var_f22)); - var_r29->y = sp20 + (25.0 * cosd(var_f22)); - var_r29->z = sp1C + (25.0 * sind(var_f27) * sind(var_f22)); - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 0x16, 4, 4); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[23]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[23]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[23]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[23]]; - var_f25 = var_f30 = -((var_f24 * 0.5f) - 25.0f); - sp20 = var_f28 = 25.0f; - sp1C = var_f26 = -((var_f24 * 0.5f) - 25.0f); - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp10 / (var_r22 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[23] != 0) { - for (var_r30 = 0; var_r30 < 5; var_r30++) { - for (var_r27 = 0; var_r27 < 5; var_r27++) { - var_f27 = 180.0f + (90.0f * (var_r27 / 4.0f)); - var_f22 = 90.0f * (var_r30 / 4.0f); - var_r29->x = var_f25 + (25.0 * cosd(var_f27) * sind(var_f22)); - var_r29->y = sp20 - (25.0 * cosd(var_f22)); - var_r29->z = sp1C + (25.0 * sind(var_f27) * sind(var_f22)); - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f28 -= var_f18; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 0x17, 4, 4); - } - var_r29 = &var_r31->unk_17C[var_r31->unk_144[24]]; - var_r26 = &var_r31->unk_188[var_r31->unk_144[24]]; - var_r28 = &var_r31->unk_184[var_r31->unk_144[24]]; - var_r25 = &var_r31->unk_178[var_r31->unk_144[24]]; - var_f25 = var_f30 = -((0.5f * var_f24) - 25.0f); - sp20 = var_f28 = 0.0f; - sp1C = var_f26 = (0.5f * var_f24) - 25.0f; - var_f19 = var_f31 = 0.0f; - sp18 = var_f29 = 0.0f; - var_f23 = sp14 / (var_r24 - 1); - var_f18 = sp14 / (var_r24 - 1); - var_f21 = 1.0f / (var_r31->unk_10E - 1); - var_f20 = 1.0f / (var_r31->unk_10E - 1); - if (var_r31->unk_112[0x18] != 0) { - for (var_r30 = 0; var_r30 < var_r31->unk_10E; var_r30++) { - for (var_r27 = 0; var_r27 < var_r31->unk_10E; var_r27++) { - var_r29->x = var_f30; - var_r29->y = var_f28; - var_r29->z = var_f26; - var_r28->x = var_f31; - var_r28->y = var_f29; - var_f30 += var_f23; - var_f31 += var_f21; - var_r29++; - var_r26++; - var_r28++; - var_r25++; - } - var_f30 = var_f25; - var_f31 = var_f19; - var_f26 = var_f26 - var_f23; - var_f29 += var_f20; - } - fn_1_D9A8(var_r31, var_r23, 0x18, var_r24 - 1, var_r24 - 1); - } - for (var_r30 = 0; var_r30 < var_r31->unk_110; var_r30++) { - for (var_r27 = 0; var_r27 < var_r30; var_r27++) { - var_f30 = var_r31->unk_17C[var_r30].x - var_r31->unk_17C[var_r27].x; - var_f28 = var_r31->unk_17C[var_r30].y - var_r31->unk_17C[var_r27].y; - var_f26 = var_r31->unk_17C[var_r30].z - var_r31->unk_17C[var_r27].z; - sp24 = (var_f26 * var_f26) + ((var_f30 * var_f30) + (var_f28 * var_f28)); - if (sp24 < 10.0f) { - var_r31->unk_178[var_r30] = var_r27; - if (var_r31->unk_178[var_r27] != -1) { - var_r31->unk_178[var_r30] = var_r31->unk_178[var_r27]; - } - break; - } - } - if (var_r27 >= var_r30) { - var_r31->unk_178[var_r30] = -1; - } - } - memcpy(var_r31->unk_180, var_r31->unk_17C, var_r31->unk_110 * 0xC); - memcpy(var_r31->unk_198, &var_r31->unk_180[var_r31->unk_144[0]], var_r31->unk_112[0] * 0xC); - var_r31->unk_19C = 0; - fn_1_DB44(var_r31, var_r23); - fn_1_DE3C(var_r31, var_r23); - var_f31 = sqrtf((0.5f * sp8 * (0.5f * sp8)) + ((0.5f * var_f24 * (0.5f * var_f24)) + (0.5f * var_f24 * (0.5f * var_f24)))); - for (var_r30 = 0; var_r30 < var_r31->unk_110; var_r30++) { - var_f30 = var_r31->unk_17C[var_r30].x; - var_f28 = var_r31->unk_17C[var_r30].y - (0.5f * sp8); - var_f26 = var_r31->unk_17C[var_r30].z; - sp24 = sqrtf((var_f26 * var_f26) + ((var_f30 * var_f30) + (var_f28 * var_f28))); - var_f27 = sp24; - sp24 = 1.0f - (sp24 / var_f31); - if (var_f27 != 0.0f) { - var_f22 = 1.0f / var_f27; - } - else { - var_f22 = 0.0; - } - var_r31->unk_194[var_r30].x = sp24 * (var_f22 * var_r31->unk_17C[var_r30].x); - var_r31->unk_194[var_r30].y = sp24 * (var_f22 * var_r31->unk_17C[var_r30].y); - var_r31->unk_194[var_r30].z = sp24 * (var_f22 * var_r31->unk_17C[var_r30].z); - } - for (var_r30 = 0; var_r30 < var_r31->unk_110; var_r30++) { - if ((((var_r31->unk_112[6] <= 0) || (var_r30 < var_r31->unk_144[6]) || (var_r30 >= (var_r31->unk_144[6] + var_r31->unk_112[6]))) - && ((var_r31->unk_112[7] <= 0) || (var_r30 < var_r31->unk_144[7]) || (var_r30 >= (var_r31->unk_144[7] + var_r31->unk_112[7]))) - && ((var_r31->unk_112[0xE] <= 0) || (var_r30 < var_r31->unk_144[0xE]) || (var_r30 >= (var_r31->unk_144[0xE] + var_r31->unk_112[0xE]))) - && ((var_r31->unk_112[0xF] <= 0) || (var_r30 < var_r31->unk_144[0xF]) || (var_r30 >= (var_r31->unk_144[0xF] + var_r31->unk_112[0xF]))) - && ((var_r31->unk_112[4] <= 0) || (var_r30 < var_r31->unk_144[4]) || (var_r30 >= (var_r31->unk_144[4] + var_r31->unk_112[4]))) - && ((var_r31->unk_112[8] <= 0) || (var_r30 < var_r31->unk_144[8]) || (var_r30 >= (var_r31->unk_144[8] + var_r31->unk_112[8]))) - && ((var_r31->unk_112[0xA] <= 0) || (var_r30 < var_r31->unk_144[0xA]) || (var_r30 >= (var_r31->unk_144[0xA] + var_r31->unk_112[0xA]))) - && ((var_r31->unk_112[0xC] <= 0) || (var_r30 < var_r31->unk_144[0xC]) || (var_r30 >= (var_r31->unk_144[0xC] + var_r31->unk_112[0xC]))) - && ((var_r31->unk_112[0x10] <= 0) || (var_r30 < var_r31->unk_144[0x10]) - || (var_r30 >= (var_r31->unk_144[0x10] + var_r31->unk_112[0x10]))) - && ((var_r31->unk_112[0x11] <= 0) || (var_r30 < var_r31->unk_144[0x11]) - || (var_r30 >= (var_r31->unk_144[0x11] + var_r31->unk_112[0x11]))) - && ((var_r31->unk_112[0x14] <= 0) || (var_r30 < var_r31->unk_144[0x14]) - || (var_r30 >= (var_r31->unk_144[0x14] + var_r31->unk_112[0x14]))) - && ((var_r31->unk_112[0x15] <= 0) || (var_r30 < var_r31->unk_144[0x15]) - || (var_r30 >= (var_r31->unk_144[0x15] + var_r31->unk_112[0x15]))) - && (var_r30 >= var_r31->unk_144[4])) - || (var_r31->unk_178[var_r30] != -1)) { - var_r31->unk_18C[var_r30].x = var_r31->unk_18C[var_r30].y = var_r31->unk_18C[var_r30].z = 0.0; - var_r31->unk_190[var_r30][0] = var_r31->unk_190[var_r30][1] = 0; - var_r31->unk_190[var_r30][2] = 0; - } - else if (((var_r31->unk_112[0] > 0) && (var_r30 >= var_r31->unk_144[0]) && (var_r30 < (var_r31->unk_144[0] + var_r31->unk_112[0]))) - || ((var_r31->unk_112[4] > 0) && (var_r30 >= var_r31->unk_144[4]) && (var_r30 < (var_r31->unk_144[4] + var_r31->unk_112[4]))) - || ((var_r31->unk_112[8] > 0) && (var_r30 >= var_r31->unk_144[8]) && (var_r30 < (var_r31->unk_144[8] + var_r31->unk_112[8]))) - || ((var_r31->unk_112[0xA] > 0) && (var_r30 >= var_r31->unk_144[0xA]) && (var_r30 < (var_r31->unk_144[0xA] + var_r31->unk_112[0xA]))) - || ((var_r31->unk_112[0xC] > 0) && (var_r30 >= var_r31->unk_144[0xC]) && (var_r30 < (var_r31->unk_144[0xC] + var_r31->unk_112[0xC]))) - || ((var_r31->unk_112[0x10] > 0) && (var_r30 >= var_r31->unk_144[0x10]) && (var_r30 < (var_r31->unk_144[0x10] + var_r31->unk_112[0x10]))) - || ((var_r31->unk_112[0x11] > 0) && (var_r30 >= var_r31->unk_144[0x11]) && (var_r30 < (var_r31->unk_144[0x11] + var_r31->unk_112[0x11]))) - || ((var_r31->unk_112[0x14] > 0) && (var_r30 >= var_r31->unk_144[0x14]) && (var_r30 < (var_r31->unk_144[0x14] + var_r31->unk_112[0x14]))) - || ((var_r31->unk_112[0x15] > 0) && (var_r30 >= var_r31->unk_144[0x15]) - && (var_r30 < (var_r31->unk_144[0x15] + var_r31->unk_112[0x15])))) { - *var_r31->unk_190[var_r30] = var_r31->unk_190[var_r30][1] = 0; - sp24 = sqrtf((var_r31->unk_17C[var_r30].x * var_r31->unk_17C[var_r30].x) + (var_r31->unk_17C[var_r30].z * var_r31->unk_17C[var_r30].z)); - var_f27 = sp24; - sp24 = 1.0f - (sp24 / sqrtf(var_f24 * var_f24)); - var_r31->unk_18C[var_r30].y = -(180.0f * sp24); - var_f27 = sqrtf(var_f27); - if (var_f27 != 0.0f) { - var_f22 = 1.0f / var_f27; - } - else { - var_f22 = 0.0; - } - var_r31->unk_18C[var_r30].x = sind((180.0f * (var_f22 * var_r31->unk_17C[var_r30].x))); - var_r31->unk_18C[var_r30].z = sind((180.0f * (var_f22 * var_r31->unk_17C[var_r30].z))); - var_r31->unk_18C[var_r30].x *= 20.0f * -(1.0f - sp24); - var_r31->unk_18C[var_r30].z *= (20.0f * -(1.0f - sp24)); - var_r31->unk_190[var_r30][2] = 1; - } - else { - sp24 = sqrtf((var_r31->unk_17C[var_r30].x * var_r31->unk_17C[var_r30].x) + (var_r31->unk_17C[var_r30].z * var_r31->unk_17C[var_r30].z)); - if (sp24 != 0.0f) { - sp24 = 1.0f / sp24; - } - else { - sp24 = 0.0f; - } - var_r31->unk_18C[var_r30].x = -(sp24 * var_r31->unk_17C[var_r30].x); - var_r31->unk_18C[var_r30].z = -(sp24 * var_r31->unk_17C[var_r30].z); - var_r31->unk_18C[var_r30].y = 0.0; - var_f27 = 180.0 + atan2d(var_r31->unk_17C[var_r30].x, var_r31->unk_17C[var_r30].z); - if (var_f27 > 360.0f) { - var_f27 = fmod(var_f27, 360.0); - } - else if (var_f27 < 0.0f) { - var_f27 += 360.0f; - } - var_f27 = 255.0f * (0.0027777778f * var_f27); - if (var_f27 >= 255.0f) { - var_f27 = 255.0f; - } - else if (var_f27 < 0.0f) { - var_f27 = 0.0; - } - var_f22 = 64.0f * (var_r31->unk_17C[var_r30].y / sp8); - if (var_f22 >= 63.0f) { - var_f22 = 63.0f; - } - else if (var_f22 < 0.0f) { - var_f22 = 0.0; - } - var_r31->unk_190[var_r30][0] = var_f27; - var_r31->unk_190[var_r30][1] = var_f22; - var_r31->unk_190[var_r30][2] = 2; - } - } - DCFlushRangeNoSync(var_r31->unk_180, var_r31->unk_110 * 0xC); - DCFlushRangeNoSync(var_r31->unk_17C, var_r31->unk_110 * 0xC); - DCFlushRangeNoSync(var_r31->unk_188, var_r31->unk_110 * 0xC); - DCFlushRangeNoSync(var_r31->unk_184, var_r31->unk_110 * 8); - DCFlushRangeNoSync(var_r31->unk_178, var_r31->unk_110 * 2); - PPCSync(); - for (var_r21 = 0; var_r21 < 0x19; var_r21++) { - if ((var_r31->unk_208[var_r21] != 0) && var_r31->unk_1A4[var_r21] && (var_r31->unk_112[var_r21] != 0)) { - var_r17 = HuMemDirectMallocNum(HEAP_DATA, 0x4000, var_r23->unk_48); - spC = var_r17; - (void)var_r18; - DCFlushRange(var_r17, 0x4000); - GXBeginDisplayList(spC, 0x4000); - GXBegin(GX_QUADS, GX_VTXFMT0, var_r31->unk_208[var_r21] * 4); - var_r20 = var_r31->unk_1A4[var_r21]; - for (var_r30 = 0; var_r30 < var_r31->unk_208[var_r21]; var_r30++) { - for (var_r27 = 0; var_r27 < 4; var_r27++) { - if (var_r31->unk_178[var_r20[var_r27]] == -1) { - var_r18 = var_r20[var_r27]; - } - else { - var_r18 = var_r31->unk_178[var_r20[var_r27]]; - } - GXPosition1x16(var_r18); - GXNormal1x16(var_r18); - GXColor1x16(0); - GXTexCoord1x16(var_r20[var_r27]); - } - var_r20 += 5; - } - var_r31->unk_244[var_r21] = GXEndDisplayList(); - if (var_r31->unk_244[var_r21] >= 0x4000) { - OSReport("ERROR! GList test size over! \n"); - } - var_r31->unk_2A8[var_r21] = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_244[var_r21], var_r23->unk_48); - memcpy(var_r31->unk_2A8[var_r21], var_r17, var_r31->unk_244[var_r21]); - DCFlushRange(var_r31->unk_2A8[var_r21], var_r31->unk_244[var_r21]); - HuMemDirectFree(var_r17); - } - } - return var_r19; -} - -void fn_1_D9A8(M425DllUnkStruct4 *var_r31, ModelData *var_r24, s32 var_r30, s32 var_r26, s32 var_r25) -{ - s16 *var_r29; - s32 var_r28; - s32 var_r27; - - var_r31->unk_208[var_r30] = var_r26 * var_r25; - var_r31->unk_1A4[var_r30] = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_208[var_r30] * 0xA, var_r24->unk_48); - memset(var_r31->unk_1A4[var_r30], 0, var_r31->unk_208[var_r30] * 0xA); - var_r29 = var_r31->unk_1A4[var_r30]; - for (var_r28 = 0; var_r28 < var_r25; var_r28++) { - for (var_r27 = 0; var_r27 < var_r26; var_r27++) { - var_r29[0] = var_r31->unk_144[var_r30] + (var_r26 + 1) * var_r28 + var_r27; - var_r29[1] = var_r31->unk_144[var_r30] + (var_r26 + 1) * var_r28 + (var_r27 + 1); - var_r29[2] = var_r31->unk_144[var_r30] + (var_r26 + 1) * (var_r28 + 1) + (var_r27 + 1); - var_r29[3] = var_r31->unk_144[var_r30] + (var_r26 + 1) * (var_r28 + 1) + var_r27; - var_r29 += 5; - } - } - DCFlushRangeNoSync(var_r31->unk_1A4[var_r30], var_r31->unk_208[var_r30] * 0xA); - PPCSync(); -} - -void fn_1_DB44(M425DllUnkStruct4 *arg0, ModelData *model) -{ - float var_f31; - float var_f30; - float var_f29; - float var_f28; - s16 *var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - for (var_r30 = 0; var_r30 < 0x19; var_r30++) { - if ((arg0->unk_208[var_r30] != 0) && arg0->unk_1A4[var_r30]) { - for (var_r31 = arg0->unk_1A4[var_r30], var_r29 = 0; var_r29 < arg0->unk_208[var_r30]; var_r29++, var_r31 += 0x5) { - for (var_r28 = 0; var_r28 < 4; var_r28++) { - if (arg0->unk_178[var_r31[var_r28]] != -1) { - var_r31[var_r28] = arg0->unk_178[var_r31[var_r28]]; - } - } - } - } - } - for (var_r30 = 0; var_r30 < 0x19; var_r30++) { - if ((arg0->unk_208[var_r30] != 0) && arg0->unk_1A4[var_r30]) { - for (var_r31 = arg0->unk_1A4[var_r30], var_r29 = 0; var_r29 < arg0->unk_208[var_r30]; var_r29++, var_r31 += 0x5) { - var_f31 = arg0->unk_17C[var_r31[0]].x - arg0->unk_17C[var_r31[1]].x; - var_f30 = arg0->unk_17C[var_r31[0]].y - arg0->unk_17C[var_r31[1]].y; - var_f29 = arg0->unk_17C[var_r31[0]].z - arg0->unk_17C[var_r31[1]].z; - var_f28 = (var_f29 * var_f29) + ((var_f31 * var_f31) + (var_f30 * var_f30)); - if (var_f28 < 10.0f) { - var_r31[4] = 1; - } - else { - var_f31 = arg0->unk_17C[var_r31[0]].x - arg0->unk_17C[var_r31[2]].x; - var_f30 = arg0->unk_17C[var_r31[0]].y - arg0->unk_17C[var_r31[2]].y; - var_f29 = arg0->unk_17C[var_r31[0]].z - arg0->unk_17C[var_r31[2]].z; - var_f28 = (var_f29 * var_f29) + ((var_f31 * var_f31) + (var_f30 * var_f30)); - if (var_f28 < 10.0f) { - var_r31[4] = 2; - } - else { - var_r31[4] = 0; - } - } - } - } - } -} - -void fn_1_DE3C(M425DllUnkStruct4 *arg0, ModelData *model) -{ - Vec sp20; - Vec sp14; - Vec sp8; - s32 var_r30; - s32 var_r29; - s16 *var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - - memset(arg0->unk_188, 0, arg0->unk_110 * sizeof(Vec)); - for (var_r30 = 0; var_r30 < arg0->unk_240; var_r30++) { - if ((arg0->unk_208[var_r30] != 0) && arg0->unk_1A4[var_r30]) { - for (var_r28 = arg0->unk_1A4[var_r30], var_r24 = 0; var_r24 < arg0->unk_208[var_r30]; var_r24++, var_r28 += 5) { - switch (var_r28[4]) { - case 1: - var_r27 = 0; - var_r29 = 2; - var_r26 = 3; - var_r25 = 1; - break; - case 2: - var_r27 = 0; - var_r29 = 1; - var_r26 = 3; - var_r25 = 2; - break; - default: - var_r27 = 0; - var_r29 = 1; - var_r26 = 2; - var_r25 = 3; - break; - } - var_r27 = var_r28[var_r27]; - var_r29 = var_r28[var_r29]; - var_r26 = var_r28[var_r26]; - var_r25 = var_r28[var_r25]; - sp14.x = arg0->unk_180[var_r29].x - arg0->unk_180[var_r27].x; - sp14.y = arg0->unk_180[var_r29].y - arg0->unk_180[var_r27].y; - sp14.z = arg0->unk_180[var_r29].z - arg0->unk_180[var_r27].z; - sp8.x = arg0->unk_180[var_r26].x - arg0->unk_180[var_r29].x; - sp8.y = arg0->unk_180[var_r26].y - arg0->unk_180[var_r29].y; - sp8.z = arg0->unk_180[var_r26].z - arg0->unk_180[var_r29].z; - VECCrossProduct(&sp14, &sp8, &sp20); - sp20.x *= -1.0f; - sp20.y *= -1.0f; - sp20.z *= -1.0f; - arg0->unk_188[var_r27].x += sp20.x; - arg0->unk_188[var_r27].y += sp20.y; - arg0->unk_188[var_r27].z += sp20.z; - arg0->unk_188[var_r29].x += sp20.x; - arg0->unk_188[var_r29].y += sp20.y; - arg0->unk_188[var_r29].z += sp20.z; - arg0->unk_188[var_r26].x += sp20.x; - arg0->unk_188[var_r26].y += sp20.y; - arg0->unk_188[var_r26].z += sp20.z; - arg0->unk_188[var_r25].x += sp20.x; - arg0->unk_188[var_r25].y += sp20.y; - arg0->unk_188[var_r25].z += sp20.z; - } - } - } - for (var_r30 = 0; var_r30 < arg0->unk_110; var_r30++) { - VECNormalize(&arg0->unk_188[var_r30], &arg0->unk_188[var_r30]); - } -} - -s32 lbl_1_data_150[3][2] = { { 0x638, 0x63B }, { 0x639, 0x63C }, { 0x63A, 0x63D } }; -GXColor lbl_1_data_168 = { 255, 255, 255, 255 }; -Mtx lbl_1_data_16C = { - { 0.5f, 0.0f, 0.0f, -0.5f }, - { 0.0f, 0.5f, 0.0f, -0.5f }, - { 0.0f, 0.0f, 0.5f, -0.5f }, -}; -Vec lbl_1_data_19C[4] = { - { -0.5f, 0.5f, 0.0f }, - { 0.5f, 0.5f, 0.0f }, - { 0.5f, -0.5f, 0.0f }, - { -0.5f, -0.5f, 0.0f }, -}; -Vec2f lbl_1_data_1CC[4] = { - { 0.0f, 0.0f }, - { 0.25f, 0.0f }, - { 0.25f, 0.25f }, - { 0.0f, 0.25f }, -}; - -void fn_1_E210(s32 arg0) -{ - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - M425DllUnkStruct4 *var_r31; - s32 var_r30; - s32 var_r29; - LightData *var_r28; - ModelData *var_r27; - s32 var_r26; - - if (lbl_1_bss_6EC) { - var_r27 = &Hu3DData[lbl_1_bss_6EC->model[arg0]]; - var_r31 = var_r27->unk_120; - for (var_r30 = 0, var_f31 = 0.0f; var_r30 < 6; var_r30++) { - if ((var_r31->unk_84[var_r30] == -1) || (var_r31->unk_9C[var_r30] < 0.0f)) { - var_r31->unk_84[var_r30] = -1; - var_r31->unk_9C[var_r30] = 0.0f; - } - else { - var_f31 += var_r31->unk_9C[var_r30]; - for (var_r29 = 0; var_r29 < 5; var_r29++) { - if (var_r31->unk_3C[var_r29] == var_r31->unk_84[var_r30]) { - break; - } - } - if (var_r29 >= 5) { - for (var_r29 = 0; var_r29 < 5; var_r29++) { - if ((var_r31->unk_3C[var_r29] == -1) && (var_r31->unk_54[var_r29] <= 0.0f)) { - break; - } - } - } - if ((var_r29 < 5) && (var_r31->unk_54[var_r29] < var_r31->unk_9C[var_r30])) { - var_r31->unk_3C[var_r29] = var_r31->unk_84[var_r30]; - var_r31->unk_54[var_r29] = var_r31->unk_9C[var_r30]; - var_r31->unk_6C[var_r29] = var_r31->unk_B4[var_r30]; - } - var_r31->unk_84[var_r30] = -1; - var_r31->unk_9C[var_r30] = 0.0f; - var_r31->unk_B4[var_r30] = 0; - } - } - for (var_r30 = 0, var_r29 = 0, var_r31->unk_14 = 0.0f; var_r30 < 6; var_r30++) { - if ((var_r31->unk_3C[var_r30] != -1) && (var_r31->unk_54[var_r30] > 0.0f)) { - var_r31->unk_14 += 0.8f * var_r31->unk_54[var_r30]; - var_r29++; - } - } - - for (var_r30 = 0, var_r29 = 0, var_r31->unk_20 = 0.0f; var_r30 < 6; var_r30++) { - if ((var_r31->unk_3C[var_r30] != -1) && (var_r31->unk_54[var_r30] > 0.0f) && (var_r31->unk_6C[var_r30] != 0)) { - var_r31->unk_20 += 0.8f * var_r31->unk_54[var_r30]; - var_r29++; - } - } - if (var_r29 != 0) { - var_r31->unk_18 = 20.0f * (var_r31->unk_20 * var_r31->unk_20); - var_r31->unk_08 -= var_r31->unk_18; - if (var_r31->unk_08 < 0.0f) { - var_r31->unk_08 = 0.0f; - } - if ((var_r31->unk_18 > var_r31->unk_1C) && (var_r31->unk_18 >= 0.0f)) { - if (var_r31->unk_18 >= 13.200000000000001) { - var_r26 = HuAudFXPlay(lbl_1_data_150[2][arg0]); - } - else if (var_r31->unk_18 >= 6.6000000000000005) { - var_r26 = HuAudFXPlay(lbl_1_data_150[1][arg0]); - } - else { - var_r26 = HuAudFXPlay(lbl_1_data_150[0][arg0]); - } - var_f30 = var_r31->unk_08 / 1000.0f; - if (var_r26 != -1) { - HuAudFXPitchSet(var_r26, (s32)(8191.0f * (1.0f - var_f30))); - } - } - } - else { - var_r31->unk_18 = 0.0f; - } - var_r31->unk_1C = var_r31->unk_18; - if (var_r31->unk_2C != 0) { - if (++var_r31->unk_28 >= var_r31->unk_2C) { - var_r31->unk_2C = var_r31->unk_28 = 0; - var_r31->unk_30 = 0.0f; - } - } - if ((var_r31->unk_E0 != var_r31->unk_E8) || (var_r31->unk_E4 != var_r31->unk_EC)) { - sp8.x = sind(var_r31->unk_E4) * cosd(var_r31->unk_E0); - sp8.z = cosd(var_r31->unk_E4) * cosd(var_r31->unk_E0); - sp8.y = sind(var_r31->unk_E0); - VECNormalize(&sp8, &sp8); - var_r28 = &Hu3DLocalLight[var_r27->unk_38[0]]; - var_r28->unk_1C.x = 1000.0f * sp8.x; - var_r28->unk_1C.y = 1000.0f * sp8.y; - var_r28->unk_1C.z = 1000.0f * sp8.z; - var_r28->unk_28.x = sp8.x; - var_r28->unk_28.y = sp8.y; - var_r28->unk_28.z = sp8.z; - var_r31->unk_E8 = var_r31->unk_E0; - var_r31->unk_EC = var_r31->unk_E4; - } - var_r31->unk_20 = 0.0f; - } -} - -void fn_1_E914(ModelData *var_r27, Mtx matrix) -{ - s32 spB4; - s32 spB0; - Mtx sp70; - Vec sp64; - Vec sp58; - float sp48; - float sp44; - float sp40; - float sp3C; - float sp38; - float sp34; - float sp30; - float sp2C; - float sp28; - - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - float var_f25; - float var_f24; - float var_f19; - float var_f18; - - M425DllUnkStruct4 *var_r31; - s32 var_r30; - s32 var_r29; - s16 var_r28; - s32 var_r26; - - var_r31 = var_r27->unk_120; - if (var_r31->unk_2C != 0) { - var_f24 = (float)var_r31->unk_28 / var_r31->unk_2C; - var_r31->unk_30 = 0.30000001192092896 * cosd((90.0f * var_f24)); - sp40 = var_r31->unk_30 * (0.5 * sind((720.0f * var_f24))); - } - else { - sp40 = 0.0f; - } - if (var_r31->unk_0C != 0.0f) { - var_f19 = var_r31->unk_08 / var_r31->unk_0C; - } - else { - var_f19 = 1.0f; - } - var_r27->scale.y = var_r31->unk_DC = (0.100000024f + (0.9f * var_f19)) - sp40; - if (var_r31->unk_DC > 0.3f) { - sp3C = 1.0f - (-0.39999998f * ((var_r31->unk_DC - 0.3f) / 0.7f)); - } - else { - sp3C = 0.6f * (var_r31->unk_DC / 0.3f); - } - if (var_r31->unk_DC != 0.0f) { - sp3C /= var_r31->unk_DC; - } - else { - sp3C = 0.0f; - } - if (var_r31->unk_08 < 0.0f) { - sp3C = 0.0f; - } - if (var_f19 <= 0.3f) { - var_f24 = var_f19 / 0.3f; - var_r31->unk_E0 = 222.0f + (80.0f * var_f24); - } - var_f18 = 100.0f * var_r31->unk_14; - if (var_f19 > 0.85f) { - var_f18 += 100.0f * (4.0f * (var_f19 - 0.85f)); - } - if (var_f18 > 150.0f) { - var_f18 = 150.0f; - } - sp38 = 1.0f - var_f19; - if (var_f18 >= 0.0f) { - for (var_r30 = 0; var_r30 < var_r31->unk_110; var_r30++) { - if (var_r31->unk_178[var_r30] == -1) { - var_r31->unk_180[var_r30].x = var_r31->unk_17C[var_r30].x + (var_f18 * var_r31->unk_194[var_r30].x); - var_r31->unk_180[var_r30].y = var_r31->unk_17C[var_r30].y + (var_f18 * var_r31->unk_194[var_r30].y); - var_r31->unk_180[var_r30].z = var_r31->unk_17C[var_r30].z + (var_f18 * var_r31->unk_194[var_r30].z); - } - } - } - else { - memcpy(var_r31->unk_180, var_r31->unk_17C, var_r31->unk_110 * 0xC); - } - var_r31->unk_14 = 0.0f; - for (var_r30 = 0; var_r30 < var_r31->unk_110; var_r30++) { - if (!(var_f19 >= 1.0f) && (var_r31->unk_190[var_r30][2] != 0)) { - switch (var_r31->unk_190[var_r30][2]) { - case 1: - var_r31->unk_180[var_r30].x += sp38 * var_r31->unk_18C[var_r30].x; - var_r31->unk_180[var_r30].y += sp38 * var_r31->unk_18C[var_r30].y; - var_r31->unk_180[var_r30].z += sp38 * var_r31->unk_18C[var_r30].z; - break; - case 2: - var_f24 = lbl_1_bss_6E4[var_r31->unk_190[var_r30][0] + (var_r31->unk_190[var_r30][1] << 8)]; - var_f24 = 80.0f * (0.003921569f * (255.0f - var_f24) * sp38); - var_r31->unk_180[var_r30].x += var_f24 * var_r31->unk_18C[var_r30].x; - var_r31->unk_180[var_r30].y += var_f24 * var_r31->unk_18C[var_r30].y; - var_r31->unk_180[var_r30].z += var_f24 * var_r31->unk_18C[var_r30].z; - break; - } - } - } - for (var_r29 = 0, var_r28 = 0, var_f27 = var_f26 = var_f25 = 0.0f; var_r29 < 6; var_r29++) { - if ((var_r31->unk_54[var_r29] > 0.0f) || (var_r31->unk_3C[var_r29] != -1)) { - var_f27 += var_r31->unk_180[var_r31->unk_3C[var_r29]].x; - var_f25 += var_r31->unk_180[var_r31->unk_3C[var_r29]].z; - var_f26 += var_r31->unk_54[var_r29]; - var_r28++; - } - } - if (var_r28 >= 2) { - var_f27 /= var_r28; - var_f25 /= var_r28; - var_f26 /= var_r28; - mtxRot(sp70, 0.0f, var_r31->unk_D8, 0.0f); - var_f30 = var_r31->unk_CC.x + ((sp70[0][0] * var_f27) + (sp70[0][2] * var_f25)); - var_f31 = var_r31->unk_CC.z + ((sp70[2][0] * var_f27) + (sp70[2][2] * var_f25)); - fn_1_10EF8(var_r31->unk_00, 2, var_f30, var_f31); - var_r31->unk_50 = var_r31->unk_34; - var_r31->unk_54[5] = var_f26; - var_r31->unk_6C[5] = 0; - } - else { - var_r31->unk_50 = -1; - var_r31->unk_54[5] = 0.0f; - var_r31->unk_6C[5] = 0; - } - for (var_r29 = 0; var_r29 < 6; var_r29++) { - if ((var_r31->unk_54[var_r29] <= 0.0f) || (var_r31->unk_3C[var_r29] == -1)) { - var_r31->unk_3C[var_r29] = -1; - var_r31->unk_54[var_r29] = 0.0f; - var_r31->unk_6C[var_r29] = 0; - } - else { - var_f24 = 150.0f * var_r31->unk_54[var_r29] * sp3C; - sp44 = 50.0f * var_r31->unk_54[var_r29]; - if (sp44 > 15.000001f) { - sp44 = 15.000001f; - } - var_f27 = var_r31->unk_180[var_r31->unk_3C[var_r29]].x; - var_f26 = var_r31->unk_180[var_r31->unk_3C[var_r29]].y; - var_f25 = var_r31->unk_180[var_r31->unk_3C[var_r29]].z; - if (var_r29 != 5) { - for (var_r30 = 0; var_r30 < var_r31->unk_110; var_r30++) { - if (var_r31->unk_178[var_r30] == -1) { - var_f30 = var_r31->unk_180[var_r30].x - var_f27; - var_f29 = var_r31->unk_DC * (var_r31->unk_180[var_r30].y - var_f26); - var_f31 = 0.425f * (var_r31->unk_180[var_r30].z - var_f25); - var_f28 = (var_f31 * var_f31) + ((var_f30 * var_f30) + (var_f29 * var_f29)); - if (var_f28 < 10000.0f) { - var_f28 = sqrtf((var_f31 * var_f31) + ((var_f30 * var_f30) + (var_f29 * var_f29))); - var_f28 = var_f28 * 0.01f; - var_r31->unk_180[var_r30].y -= (1.0f - var_f28) * var_f24; - if (var_r31->unk_180[var_r30].y < 1.0f) { - var_r31->unk_180[var_r30].y = 1.0f; - } - } - if (var_r31->unk_1A0[var_r30] != 0) { - var_f31 = var_r31->unk_180[var_r30].z - var_f25; - if (!(fabs(var_f31) > 100.0)) { - var_f28 = sqrtf((var_f30 * var_f30) + (var_f31 * var_f31)); - if (var_f28 < 200.0f) { - var_f28 = var_f28 * 0.005f; - var_r31->unk_180[var_r30].y += (sp44 * sind((90.0f * var_f28))); // is this right? - } - else if (var_f28 < 400.0f) { - var_f28 -= 200.0f; - var_f28 = var_f28 * 0.005f; - var_r31->unk_180[var_r30].y += (sp44 * cosd((90.0f * var_f28))); - } - } - } - } - } - } - else { - for (var_r30 = 0; var_r30 < var_r31->unk_110; var_r30++) { - if ((var_r31->unk_178[var_r30] == -1) && ((var_r31->unk_F0[0] != var_r30) || (var_r31->unk_F0[1] != var_r30))) { - var_f30 = var_r31->unk_180[var_r30].x - var_f27; - var_f29 = var_r31->unk_DC * (var_r31->unk_180[var_r30].y - var_f26); - var_f31 = 0.425f * (var_r31->unk_180[var_r30].z - var_f25); - var_f28 = (var_f31 * var_f31) + ((var_f30 * var_f30) + (var_f29 * var_f29)); - if (var_f28 < 10000.0f) { - var_f28 = sqrtf((var_f31 * var_f31) + ((var_f30 * var_f30) + (var_f29 * var_f29))); - var_f28 = var_f28 * 0.01f; - var_r31->unk_180[var_r30].y -= (1.0f - var_f28) * var_f24; - if (var_r31->unk_180[var_r30].y < 1.0f) { - var_r31->unk_180[var_r30].y = 1.0f; - } - } - } - } - } - if (var_r29 < 5) { - if ((var_r31->unk_54[var_r29] -= 0.075f) <= 0.0f) { - var_r31->unk_54[var_r29] = 0.0f; - var_r31->unk_3C[var_r29] = -1; - var_r31->unk_6C[var_r29] = 0; - } - } - else { - var_r31->unk_54[var_r29] = 0.0f; - var_r31->unk_3C[var_r29] = -1; - var_r31->unk_6C[var_r29] = 0; - } - } - } - var_r31->unk_38 = 0; - memcpy(var_r31->unk_198, &var_r31->unk_180[var_r31->unk_144[0]], var_r31->unk_112[0] * 0xC); - var_r31->unk_19C = 0; - fn_1_DE3C(var_r31, var_r27); - if ((var_r31->unk_04 != -1) && (var_r31->unk_06 != -1)) { - mtxRot(sp70, 0.0f, var_r31->unk_D8, 0.0f); - sp70[1][0] *= var_r31->unk_DC; - sp70[1][1] *= var_r31->unk_DC; - sp70[1][2] *= var_r31->unk_DC; - var_f30 = var_r31->unk_180[var_r31->unk_06].x; - var_f29 = var_r31->unk_180[var_r31->unk_06].y; - var_f31 = var_r31->unk_180[var_r31->unk_06].z; - var_f27 = var_r31->unk_CC.x + ((sp70[0][2] * var_f31) + ((sp70[0][0] * var_f30) + (sp70[0][1] * var_f29))); - var_f26 = var_r31->unk_CC.y + ((sp70[1][2] * var_f31) + ((sp70[1][0] * var_f30) + (sp70[1][1] * var_f29))); - var_f25 = var_r31->unk_CC.z + ((sp70[2][2] * var_f31) + ((sp70[2][0] * var_f30) + (sp70[2][1] * var_f29))); - Hu3DModelPosSet(var_r31->unk_04, var_f27, var_f26, var_f25); - var_f30 = var_r31->unk_188[var_r31->unk_06].x; - var_f29 = var_r31->unk_188[var_r31->unk_06].y; - var_f31 = var_r31->unk_188[var_r31->unk_06].z; - sp64.x = var_f27 + (20.0f * var_f30); - sp64.y = var_f26 + (20.0f * var_f29); - sp64.z = var_f25 + (20.0f * var_f31); - sp48 = sqrtf((var_f30 * var_f30) + (var_f31 * var_f31)); - var_f27 = sp34 = atan2d(sp48, var_f29); - var_f26 = sp30 = atan2d(var_f30, var_f31); - var_f25 = sp2C = 0.0f; - Hu3DModelRotSet(var_r31->unk_04, var_f27, var_f26, var_f25); - var_r30 = (s32)(10.0f * var_r31->unk_18) / 40; - if (var_r30 > 0x10) { - var_r30 = 0x10; - } - for (var_r26 = 0; var_r26 < var_r30; var_r26++) { - var_f27 = sp34; - var_f26 = sp30; - var_f25 = sp2C; - var_f27 += 0.5f * ((s32)frand() % 48); - var_f30 = sind(var_f26) * sind(var_f27); - var_f31 = cosd(var_f26) * sind(var_f27); - var_f29 = cosd(var_f27); - sp28 = 12.0f - ((s32)frand() % 6); - sp58.x = var_f30; - sp58.y = var_f29; - sp58.z = var_f31; - fn_1_11454(&sp64, &sp58, 50.0f + (5.0f * var_r30), sp28); - } - } - DCFlushRangeNoSync(var_r31->unk_180, var_r31->unk_110 * 0xC); - DCFlushRangeNoSync(var_r31->unk_188, var_r31->unk_110 * 0xC); - PPCSync(); -} - -void fn_1_101C4(ModelData *var_r29, Mtx var_r28) -{ - Mtx sp50; - ROMtx sp20; - GXColor sp1C; - M425DllUnkStruct4 *var_r31; - s32 var_r30; - s16 var_r27; - - var_r31 = var_r29->unk_120; - GXLoadPosMtxImm(var_r28, 0); - MTXInvXpose(var_r28, sp50); - GXLoadNrmMtxImm(sp50, 0); - var_r27 = fn_1_115D4(var_r29, Hu3DCameraMtx, Hu3DCameraMtxXPose, 4.0f); - if (omPauseChk() == 0) { - fn_1_E914(var_r29, var_r28); - } - var_r29->scale.y = var_r31->unk_DC; - memcpy(sp50, lbl_1_data_16C, sizeof(lbl_1_data_16C)); - mtxRotCat(&sp50[0], CRot.x, CRot.y + var_r31->unk_D8, 180.0f); - GXLoadTexMtxImm(sp50, 0x36, GX_MTX2x4); - sp1C.a = lbl_1_bss_6D0; - GXSetTevColor(GX_TEVREG2, sp1C); - HuSprTexLoad(lbl_1_bss_6E0, 0, 0, GX_CLAMP, GX_CLAMP, GX_LINEAR); - HuSprTexLoad(lbl_1_bss_6DC, 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXSetNumTevStages(1); - GXSetNumTexGens(1); - GXSetNumChans(1); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_NRM, 0x36, GX_FALSE, 0x7D); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP1, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_RASC, GX_CC_TEXC, GX_CC_A2, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_RASA, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - lbl_1_bss_6C8.r = var_r31->unk_23A.r; - lbl_1_bss_6C8.g = var_r31->unk_23A.g; - lbl_1_bss_6C8.b = var_r31->unk_23A.b; - lbl_1_bss_6C8.a = var_r31->unk_23A.a; - GXSetChanAmbColor(GX_COLOR0A0, lbl_1_bss_6C8); - GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_168); - GXSetChanCtrl(GX_COLOR0A0, GX_TRUE, GX_SRC_REG, GX_SRC_REG, var_r27, GX_DF_CLAMP, GX_AF_SPEC); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZMode(1, GX_LEQUAL, GX_FALSE); - GXSetZCompLoc(0); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - if (HmfInverseMtxF3X3(var_r28, sp50) == 0) { - MTXIdentity(sp50); - } - PSMTXReorder(sp50, sp20); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, var_r31->unk_180, 0xC); - GXSetVtxDesc(GX_VA_NRM, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0); - GXSetArray(GX_VA_NRM, var_r31->unk_188, 0xC); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, &var_r31->unk_23A, 4); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGBA6, 0); - GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetArray(GX_VA_TEX0, var_r31->unk_184, 8); - for (var_r30 = 0; var_r30 < var_r31->unk_240; var_r30++) { - if (var_r31->unk_2A8[var_r30] && var_r31->unk_244[var_r30] != 0 && var_r30 != 1) { - GXCallDisplayList(var_r31->unk_2A8[var_r30], var_r31->unk_244[var_r30]); - } - } - GXSetNumTevStages(2); - GXSetNumTexGens(2); - GXSetNumChans(1); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3C, GX_FALSE, 0x7D); - GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_NRM, 0x36, GX_FALSE, 0x7D); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_RASC, GX_CC_TEXC, GX_CC_TEXA, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_RASA, GX_CA_ZERO, GX_CA_ZERO, GX_CA_TEXA); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevOp(GX_TEVSTAGE1, GX_REPLACE); - GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_CPREV, GX_CC_TEXC, GX_CC_A2, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_APREV, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - lbl_1_bss_6C8.r = var_r31->unk_23A.r; - lbl_1_bss_6C8.g = var_r31->unk_23A.g; - lbl_1_bss_6C8.b = var_r31->unk_23A.b; - lbl_1_bss_6C8.a = var_r31->unk_23A.a; - GXSetChanAmbColor(GX_COLOR0A0, lbl_1_bss_6C8); - GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_168); - GXSetChanCtrl(GX_COLOR0A0, GX_TRUE, GX_SRC_REG, GX_SRC_REG, var_r27, GX_DF_CLAMP, GX_AF_SPEC); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); - GXSetZCompLoc(0); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - GXClearVtxDesc(); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetArray(GX_VA_POS, var_r31->unk_180, 0xC); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_TEX_S, GX_RGBA6, 0); - GXSetVtxDesc(GX_VA_NRM, GX_INDEX16); - GXSetArray(GX_VA_NRM, var_r31->unk_188, 0xC); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetArray(GX_VA_CLR0, &var_r31->unk_23A, 4); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0); - GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetArray(GX_VA_TEX0, var_r31->unk_184, 8); - if (var_r31->unk_2A8[1] && (var_r31->unk_244[1] != 0)) { - GXCallDisplayList(var_r31->unk_2A8[1], var_r31->unk_244[1]); - } -} - -s32 fn_1_109EC(s32 arg0, s32 arg1, Vec *arg2, Vec *arg3, Vec *arg4, s32 arg5) -{ - float var_f31; - float var_f30; - M425DllUnkStruct4 *var_r31; - s32 var_r29; - ModelData *var_r26; - - if (!lbl_1_bss_6EC) { - return; - } - var_r26 = &Hu3DData[lbl_1_bss_6EC->model[arg0]]; - var_r31 = var_r26->unk_120; - if (var_r31->unk_0C != 0.0f) { - var_f30 = var_r31->unk_08 / var_r31->unk_0C; - } - else { - var_f30 = 1.0f; - } - var_r31->unk_24 = fn_1_10EF8(arg0, arg1, arg2->x, arg2->z); - arg4->x = arg2->x + arg3->x; - arg4->y = arg2->y + arg3->y; - arg4->z = arg2->z + arg3->z; - if ((arg4->y < var_r31->unk_24) && (arg3->y < 0.0f) && (var_r31->unk_34 >= 0)) { - var_f31 = -arg3->y; - if (var_f31 > 50.0f) { - var_f31 = 50.0f; - } - else if (var_f31 < 10.0f) { - var_f31 = 0.0f; - } - if ((var_f31 > 0.0f) && (arg5 != 0)) { - var_f31 = (var_f31 - 10.0f) / 40.0f; - var_r31->unk_20 += var_f31; - } - var_f31 = -arg3->y; - var_f31 = var_f31 * 0.02f; - if (var_r31->unk_34 >= 0) { - for (var_r29 = 0; var_r29 < var_r31->unk_38; var_r29++) { - if (var_r31->unk_84[var_r29] == var_r31->unk_34) { - break; - } - } - if (var_r29 >= var_r31->unk_38) { - var_r29 = var_r31->unk_38; - } - if (var_r29 < 6) { - var_r31->unk_84[var_r29] = var_r31->unk_34; - if (var_r31->unk_9C[var_r29] < var_f31) { - var_r31->unk_9C[var_r29] = var_f31; - var_r31->unk_B4[var_r29] = arg5; - } - var_r31->unk_38++; - } - } - arg4->y = var_r31->unk_24 - (150.0f * (var_f30 * var_f31)); - if (arg4->y < 1.0f) { - arg4->y = 1.0f; - } - return 1; - } - if (arg4->y < var_r31->unk_24) { - arg4->y = var_r31->unk_24; - } - return 0; -} - -float fn_1_10CF4(s32 arg0) -{ - ModelData *var_r31; - M425DllUnkStruct4 *var_r30; - - if (!lbl_1_bss_6EC) { - return; - } - var_r31 = &Hu3DData[lbl_1_bss_6EC->model[arg0]]; - var_r30 = var_r31->unk_120; - return var_r30->unk_08; -} - -void fn_1_10D54(s32 arg0, float arg8) -{ - ModelData *var_r31; - M425DllUnkStruct4 *var_r30; - - if (lbl_1_bss_6EC) { - var_r31 = &Hu3DData[lbl_1_bss_6EC->model[arg0]]; - var_r30 = var_r31->unk_120; - var_r30->unk_08 = arg8; - } -} - -void fn_1_10DB4(s32 arg0) -{ - M425DllUnkStruct4 *var_r31; - ModelData *var_r30; - - if (lbl_1_bss_6EC) { - var_r30 = &Hu3DData[lbl_1_bss_6EC->model[arg0]]; - var_r31 = var_r30->unk_120; - if (var_r31->unk_2C == 0) { - var_r31->unk_28 = 0; - var_r31->unk_2C = 0x28; - var_r31->unk_30 = 0.3f; - } - } -} - -void fn_1_10E3C(s32 arg0) -{ - M425DllUnkStruct4 *var_r31; - s32 var_r30; - ModelData *var_r29; - - if (lbl_1_bss_6EC) { - for (var_r30 = 0; var_r30 < 2; var_r30++) { - var_r29 = &Hu3DData[lbl_1_bss_6EC->model[var_r30]]; - var_r31 = var_r29->unk_120; - if (arg0 != 0) { - var_r31->unk_110 = var_r31->unk_144[0x18] + var_r31->unk_112[24]; - var_r31->unk_240 = 0x19; - } - else { - var_r31->unk_110 = var_r31->unk_144[0x17] + var_r31->unk_112[23]; - var_r31->unk_240 = 0x18; - } - } - } -} - -float fn_1_10EF8(s32 arg0, s32 arg1, float arg8, float arg9) -{ - Mtx spC; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f25; - M425DllUnkStruct4 *var_r31; - Vec *var_r30; - s32 var_r29; - s32 var_r28; - ModelData *var_r26; - - if (!lbl_1_bss_6EC) { - return 0.0f; - } - var_r26 = &Hu3DData[lbl_1_bss_6EC->model[arg0]]; - var_r31 = var_r26->unk_120; - if ((arg1 >= 0) && (arg1 <= 2) && (var_r31->unk_F0[arg1] != -1)) { - var_r28 = var_r31->unk_F0[arg1]; - var_r31->unk_34 = var_r28; - if (var_r31->unk_19C == 0) { - return var_r31->unk_DC * var_r31->unk_198[var_r28].y; - } - return var_r31->unk_198[var_r28].y; - } - if (var_r31->unk_19C == 0) { - mtxRot(spC, 0.0f, var_r31->unk_D8, 0.0f); - spC[1][0] *= var_r31->unk_DC; - spC[1][1] *= var_r31->unk_DC; - spC[1][2] *= var_r31->unk_DC; - for (var_r29 = 0, var_r30 = var_r31->unk_198; var_r29 < var_r31->unk_112[0]; var_r29++, var_r30++) { - var_f31 = (spC[0][2] * var_r30->z) + ((spC[0][0] * var_r30->x) + (spC[0][1] * var_r30->y)); - var_f25 = (spC[1][2] * var_r30->z) + ((spC[1][0] * var_r30->x) + (spC[1][1] * var_r30->y)); - var_f30 = (spC[2][2] * var_r30->z) + ((spC[2][0] * var_r30->x) + (spC[2][1] * var_r30->y)); - var_r30->x = var_f31; - var_r30->y = var_f25; - var_r30->z = var_f30; - } - var_r31->unk_19C = 1; - } - arg8 -= var_r31->unk_CC.x; - arg9 -= var_r31->unk_CC.z; - var_f28 = 10000.0f; - var_r28 = -1; - for (var_r29 = 0, var_r30 = var_r31->unk_198; var_r29 < var_r31->unk_112[0]; var_r29++, var_r30++) { - var_f31 = arg8 - var_r30->x; - var_f30 = arg9 - var_r30->z; - if (!(fabs(var_f31) > 100.0)) { - if (!(fabs(var_f30) > 100.0)) { - var_f29 = (var_f31 * var_f31) + (var_f30 * var_f30); - if (var_f29 < var_f28) { - var_r28 = var_r29; - var_f28 = var_f29; - } - } - } - } - (void)var_r29; - var_r31->unk_34 = var_r28; - if ((arg1 >= 0) && (arg1 <= 2)) { - var_r31->unk_F0[arg1] = var_r28; - } - if (var_r28 >= 0) { - return var_r31->unk_198[var_r28].y; - } - return 0.0f; -} - -void fn_1_11284(void) -{ - lbl_1_bss_6D8 = HuSprAnimRead(HuDataReadNum(0x38000E, 0x10000000)); - lbl_1_bss_6D4 = fn_1_11A74(lbl_1_bss_6D8, 0x40); - Hu3DModelLayerSet(lbl_1_bss_6D4, 6); -} - -void fn_1_112FC(void) -{ - M425DllUnkStruct5 *var_r31; - M425DllUnkStruct6 *var_r30; - s32 var_r29; - ModelData *var_r28; - - var_r28 = &Hu3DData[lbl_1_bss_6D4]; - var_r30 = var_r28->unk_120; - for (var_r31 = var_r30->unk_3C, var_r29 = 0; var_r29 < var_r30->unk_24; var_r29++, var_r31++) { - if (!(var_r31->unk_28 <= 0.0f)) { - var_r31->unk_04.x = var_r31->unk_10.x * var_r31->unk_1C; - var_r31->unk_04.y = var_r31->unk_10.y * var_r31->unk_1C; - var_r31->unk_04.z = var_r31->unk_10.z * var_r31->unk_1C; - var_r31->unk_1C *= 0.95f; - VECAdd(&var_r31->unk_30, &var_r31->unk_04, &var_r31->unk_30); - if (++var_r31->unk_40 >= 0xF) { - var_r31->unk_40 = 0; - var_r31->unk_28 = 0.0f; - } - } - } -} - -void fn_1_11418(void) -{ - HuSprAnimKill(lbl_1_bss_6D8); - lbl_1_bss_6D8 = NULL; -} - -s32 fn_1_11454(Vec *arg0, Vec *arg1, float arg8, float arg9) -{ - M425DllUnkStruct5 *var_r31; - M425DllUnkStruct6 *var_r29; - s32 var_r28; - ModelData *var_r26; - - var_r26 = &Hu3DData[lbl_1_bss_6D4]; - var_r29 = var_r26->unk_120; - for (var_r31 = var_r29->unk_3C, var_r28 = 0; var_r28 < var_r29->unk_24; var_r28++, var_r31++) { - if (var_r31->unk_28 <= 0.0f) { - break; - } - } - if (var_r28 >= var_r29->unk_24) { - return -1; - } - var_r31->unk_30.x = arg0->x; - var_r31->unk_30.y = arg0->y; - var_r31->unk_30.z = arg0->z; - var_r31->unk_10.x = arg1->x; - var_r31->unk_10.y = arg1->y; - var_r31->unk_10.z = arg1->z; - var_r31->unk_04.x = arg1->x * arg9; - var_r31->unk_04.y = arg1->y * arg9; - var_r31->unk_04.z = arg1->z * arg9; - var_r31->unk_1C = arg9; - var_r31->unk_28 = arg8; - var_r31->unk_2C = (s32)frand() % 360; - var_r31->unk_3C.a = 0x40; - var_r31->unk_40 = 0; - return var_r28; -} - -s16 fn_1_115D4(ModelData *arg0, Mtx arg1, Mtx arg2, float arg8) -{ - s16 var_r31; - s16 var_r30; - LightData *var_r29; - s16 var_r27; - - var_r27 = 0; - var_r30 = 1; - for (var_r29 = Hu3DGlobalLight, var_r31 = 0; var_r31 < 8; var_r31++, var_r29++) { - if (var_r29->unk_00 != -1) { - var_r30 <<= 1; - } - } - if ((arg0->attr & 0x1000) != 0) { - for (var_r31 = 0; var_r31 < 8; var_r31++) { - if (arg0->unk_38[var_r31] != -1) { - var_r29 = &Hu3DLocalLight[arg0->unk_38[var_r31]]; - fn_1_116E4(arg0, var_r29, var_r30, arg2, arg1, arg8); - var_r27 |= var_r30; - var_r30 <<= 1; - } - } - } - return var_r27; -} - -void fn_1_116E4(ModelData *arg1, LightData *var_r31, s16 sp8, Mtx spC, Mtx sp10, float var_f31) -{ - switch ((u8)var_r31->unk_00) { - case 0: - GXInitLightAttn(&lbl_1_bss_688, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f); - GXInitLightSpot(&lbl_1_bss_688, var_r31->unk_04, var_r31->unk_02); - break; - case 1: - GXInitLightAttn(&lbl_1_bss_688, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f); - VECScale(&var_r31->unk_28, &var_r31->unk_1C, -100000.0f); - break; - case 2: - GXInitLightAttn(&lbl_1_bss_688, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); - GXInitLightDistAttn(&lbl_1_bss_688, var_r31->unk_04, var_r31->unk_08, var_r31->unk_02); - break; - } - if ((var_r31->unk_00 & 0x8000) != 0) { - MTXMultVec(spC, &var_r31->unk_28, &lbl_1_bss_67C); - MTXMultVec(sp10, &var_r31->unk_1C, &lbl_1_bss_670); - GXInitLightPos(&lbl_1_bss_688, lbl_1_bss_670.x, lbl_1_bss_670.y, lbl_1_bss_670.z); - } - else { - GXInitLightPos(&lbl_1_bss_688, var_r31->unk_1C.x, var_r31->unk_1C.y, var_r31->unk_1C.z); - lbl_1_bss_67C = var_r31->unk_28; - } - if (var_f31 == 0.0f) { - GXInitLightDir(&lbl_1_bss_688, lbl_1_bss_67C.x, lbl_1_bss_67C.y, lbl_1_bss_67C.z); - } - else { - GXInitSpecularDir(&lbl_1_bss_688, lbl_1_bss_67C.x, lbl_1_bss_67C.y, lbl_1_bss_67C.z); - GXInitLightAttn(&lbl_1_bss_688, 0.0f, 0.0f, 1.0f, var_f31 / 2, 0.0f, 1.0f - (var_f31 / 2)); - } - GXInitLightColor(&lbl_1_bss_688, var_r31->color); - GXLoadLightObjImm(&lbl_1_bss_688, sp8); -} - -s16 fn_1_11A74(AnimData *arg0, s16 arg1) -{ - M425DllUnkStruct6 *var_r31; - s16 var_r30; - Vec2f *var_r29; - M425DllUnkStruct5 *var_r28; - ModelData *var_r27; - Vec *var_r26; - void *var_r24; - s16 var_r23; - void *var_r21; - - var_r23 = Hu3DHookFuncCreate(fn_1_11EE0); - var_r27 = &Hu3DData[var_r23]; - var_r31 = HuMemDirectMallocNum(HEAP_DATA, sizeof(M425DllUnkStruct6), var_r27->unk_48); - var_r27->unk_120 = var_r31; - var_r31->unk_38 = arg0; - arg0->useNum++; - var_r31->unk_24 = arg1; - var_r31->unk_20 = 0; - var_r31->unk_4C = 0; - var_r31->unk_28 = 0; - var_r31->unk_21 = 0; - var_r31->unk_30 = 0; - var_r31->unk_00 = var_r31->unk_02 = 0; - var_r28 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(M425DllUnkStruct5), var_r27->unk_48); - var_r31->unk_3C = var_r28; - for (var_r30 = 0; var_r30 < arg1; var_r30++, var_r28++) { - var_r28->unk_28 = 0.0f; - var_r28->unk_2C = 0.0f; - var_r28->unk_30.x = (s32)((frand() & 0x7F) - 0x40) * 0x14; - var_r28->unk_30.y = (s32)((frand() & 0x7F) - 0x40) * 0x1E; - var_r28->unk_30.z = (s32)((frand() & 0x7F) - 0x40) * 0x14; - var_r28->unk_3C.r = var_r28->unk_3C.g = var_r28->unk_3C.b = var_r28->unk_3C.a = 0xFF; - var_r28->unk_40 = 0; - } - var_r26 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(Vec) * 4, var_r27->unk_48); - var_r31->unk_40 = var_r26; - for (var_r30 = 0; var_r30 < (arg1 * 4); var_r30++, var_r26++) { - var_r26->x = var_r26->y = var_r26->z = 0.0f; - } - var_r29 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(Vec2f) * 4, var_r27->unk_48); - var_r31->unk_44 = var_r29; - for (var_r30 = 0; var_r30 < arg1; var_r30++) { - var_r29->x = 0.0f; - var_r29->y = 0.0f; - var_r29++; - var_r29->x = 1.0f; - var_r29->y = 0.0f; - var_r29++; - var_r29->x = 1.0f; - var_r29->y = 1.0f; - var_r29++; - var_r29->x = 0.0f; - var_r29->y = 1.0f; - var_r29++; - } - var_r24 = HuMemDirectMallocNum(HEAP_DATA, 0x4000, var_r27->unk_48); - var_r21 = var_r24; - DCFlushRange(var_r24, 0x4000); - GXBeginDisplayList(var_r21, 0x4000); - GXBegin(GX_QUADS, GX_VTXFMT0, arg1 * 4); - for (var_r30 = 0; var_r30 < arg1; var_r30++) { - GXUnknownu16(var_r30 * 4); - GXUnknownu16(var_r30); - GXUnknownu16(var_r30 * 4); - GXUnknownu16(var_r30 * 4 + 1); - GXUnknownu16(var_r30); - GXUnknownu16(var_r30 * 4 + 1); - GXUnknownu16(var_r30 * 4 + 2); - GXUnknownu16(var_r30); - GXUnknownu16(var_r30 * 4 + 2); - GXUnknownu16(var_r30 * 4 + 3); - GXUnknownu16(var_r30); - GXUnknownu16(var_r30 * 4 + 3); - } - var_r31->unk_34 = GXEndDisplayList(); - var_r31->unk_48 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_34, var_r27->unk_48); - memcpy(var_r31->unk_48, var_r24, var_r31->unk_34); - DCFlushRange(var_r31->unk_48, var_r31->unk_34); - HuMemDirectFree(var_r24); - return var_r23; -} - -void fn_1_11EE0(ModelData *var_r24, Mtx var_r21) -{ - Mtx sp128; - Mtx spF8; - Mtx spC8; - Vec sp98[4]; - Vec sp68[4]; - Vec sp38[4]; - ROMtx sp8; - M425DllUnkStruct6 *var_r31; - Vec *var_r30; - M425DllUnkStruct5 *var_r29; - Vec *var_r28; - Vec *var_r27; - Vec2f *var_r26; - s16 var_r25; - s16 var_r23; - s16 var_r22; - s16 var_r20; - s16 var_r19; - UnkHook var_r18; - - var_r31 = var_r24->unk_120; - if ((var_r31->unk_2C != GlobalCounter) || (shadowModelDrawF != 0)) { - GXLoadPosMtxImm(var_r21, 0); - GXSetNumTevStages(1); - GXSetNumTexGens(1); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3C, GX_FALSE, 0x7D); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - if (shadowModelDrawF != 0) { - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ONE, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); - GXSetZMode(0, GX_LEQUAL, 0); - } - else { - var_r22 = var_r31->unk_38->bmp->dataFmt & 0xF; - if ((var_r22 == 7) || (var_r22 == 8)) { - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ONE, GX_CC_RASC, GX_CC_ZERO); - } - else { - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); - } - if ((var_r24->attr & 2) != 0) { - GXSetZMode(1, GX_LEQUAL, GX_TRUE); - } - else { - GXSetZMode(1, GX_LEQUAL, GX_FALSE); - } - } - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - HuSprTexLoad(var_r31->unk_38, 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZCompLoc(0); - switch (var_r31->unk_20) { - case 0: - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - break; - case 1: - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); - break; - case 2: - GXSetBlendMode(GX_BM_BLEND, GX_BL_ZERO, GX_BL_INVDSTCLR, GX_LO_NOOP); - break; - } - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0); - GXSetArray(GX_VA_POS, var_r31->unk_40, 0xC); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, &var_r31->unk_3C->unk_3C, 0x44); - GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0); - GXSetArray(GX_VA_TEX0, var_r31->unk_44, 8); - if (HmfInverseMtxF3X3(var_r21, sp128) == 0) { - MTXIdentity(sp128); - } - PSMTXReorder(sp128, &sp8[0]); - if (var_r31->unk_4C) { - var_r18 = var_r31->unk_4C; - var_r18(var_r24, var_r31, var_r21); - } - var_r29 = var_r31->unk_3C; - var_r30 = var_r31->unk_40; - var_r26 = var_r31->unk_44; - PSMTXROMultVecArray(sp8, lbl_1_data_19C, &sp38[0], 4); - for (var_r23 = 0; var_r23 < var_r31->unk_24; var_r23++, var_r29++) { - if (!var_r29->unk_28) { - var_r30->x = var_r30->y = var_r30->z = 0.0f; - var_r30++; - var_r30->x = var_r30->y = var_r30->z = 0.0f; - var_r30++; - var_r30->x = var_r30->y = var_r30->z = 0.0f; - var_r30++; - var_r30->x = var_r30->y = var_r30->z = 0.0f; - var_r30++; - } - else { - if (!var_r29->unk_2C) { - var_r28 = &sp98[0]; - var_r27 = &sp38[0]; - VECScale(var_r27++, var_r28, var_r29->unk_28); - VECAdd(var_r28++, &var_r29->unk_30, var_r30++); - VECScale(var_r27++, var_r28, var_r29->unk_28); - VECAdd(var_r28++, &var_r29->unk_30, var_r30++); - VECScale(var_r27++, var_r28, var_r29->unk_28); - VECAdd(var_r28++, &var_r29->unk_30, var_r30++); - VECScale(var_r27++, var_r28, var_r29->unk_28); - VECAdd(var_r28++, &var_r29->unk_30, var_r30++); - } - else { - VECScale(lbl_1_data_19C, &sp98[0], var_r29->unk_28); - VECScale(&lbl_1_data_19C[1], &sp98[1], var_r29->unk_28); - VECScale(&lbl_1_data_19C[2], &sp98[2], var_r29->unk_28); - VECScale(&lbl_1_data_19C[3], &sp98[3], var_r29->unk_28); - MTXRotRad(spC8, 0x5A, var_r29->unk_2C); - MTXConcat(sp128, spC8, spF8); - MTXMultVecArray(spF8, &sp98[0], &sp68[0], 4); - VECAdd(&sp68[0], &var_r29->unk_30, var_r30++); - VECAdd(&sp68[1], &var_r29->unk_30, var_r30++); - VECAdd(&sp68[2], &var_r29->unk_30, var_r30++); - VECAdd(&sp68[3], &var_r29->unk_30, var_r30++); - } - var_r20 = var_r29->unk_40 & 3; - var_r19 = (var_r29->unk_40 >> 2) & 3; - for (var_r25 = 0; var_r25 < 4; var_r25++, var_r26++) { - var_r26->x = (0.25f * var_r20) + lbl_1_data_1CC[var_r25].x; - var_r26->y = (0.25f * var_r19) + lbl_1_data_1CC[var_r25].y; - } - } - } - DCFlushRangeNoSync(var_r31->unk_40, var_r31->unk_24 * 0xC * 4); - DCFlushRangeNoSync(var_r31->unk_44, var_r31->unk_24 * 8 * 4); - PPCSync(); - GXCallDisplayList(var_r31->unk_48, var_r31->unk_34); - if (shadowModelDrawF == 0) { - if ((var_r31->unk_21 & 2) == 0) { - var_r31->unk_28++; - } - if ((var_r31->unk_30 != 0) && (var_r31->unk_30 <= var_r31->unk_28)) { - if ((var_r31->unk_21 & 1) != 0) { - var_r31->unk_28 = 0; - } - var_r31->unk_28 = var_r31->unk_30; - } - var_r31->unk_2C = GlobalCounter; - } - } -} diff --git a/src/REL/m426Dll/main.c b/src/REL/m426Dll/main.c index 9a80a823..3b0f0170 100644 --- a/src/REL/m426Dll/main.c +++ b/src/REL/m426Dll/main.c @@ -10,8 +10,7 @@ #include "game/pad.h" #include "game/sprite.h" #include "game/wipe.h" -#include "string.h" -#include "version.h" +#include "rel_sqrt_consts.h" typedef struct UnkM426Struct { /* 0x00 */ s32 unk_00; @@ -394,18 +393,18 @@ void fn_1_330(omObjData *object) if (!WipeStatGet()) { lbl_1_bss_54 = 1; lbl_1_bss_58 = 0; - lbl_1_bss_30 = 2 * REFRESH_RATE; + lbl_1_bss_30 = 120; } break; case 1: - if (++lbl_1_bss_58 >= REFRESH_RATE / 4.0f) { + if (++lbl_1_bss_58 >= 15.0f) { lbl_1_bss_54 = 2; lbl_1_bss_58 = 0; lbl_1_bss_38 = 1; } break; case 2: - var_f31 = (VERSION_NTSC ? 0.007246377f : 0.008695652f) * lbl_1_bss_58; + var_f31 = 0.007246377f * lbl_1_bss_58; var_f31 = sind(90.0f * var_f31); var_f31 *= var_f31; for (var_r31 = 0; var_r31 < 7; var_r31++) { @@ -418,7 +417,7 @@ void fn_1_330(omObjData *object) Center.y = sp10[4]; Center.z = sp10[5]; CZoom = sp10[6]; - if (++lbl_1_bss_58 >= (VERSION_NTSC ? 138.0f : 115.0f)) { + if (++lbl_1_bss_58 >= 138.0f) { CRot.x = lbl_1_data_4C[0][0]; CRot.y = lbl_1_data_4C[0][1]; CRot.z = lbl_1_data_4C[0][2]; @@ -431,7 +430,7 @@ void fn_1_330(omObjData *object) } break; case 3: - if (++lbl_1_bss_58 >= (REFRESH_RATE / 2.0f)) { + if (++lbl_1_bss_58 >= 30.0f) { lbl_1_bss_50 = MGSeqCreate(3, 0); lbl_1_bss_54 = 4; lbl_1_bss_58 = 0; @@ -443,8 +442,7 @@ void fn_1_330(omObjData *object) if ((var_r26 & 16) && lbl_1_bss_48 == -1) { lbl_1_bss_48 = HuAudSeqPlay(70); } - } - else { + } else { var_r26 = 0; } if (lbl_1_bss_50 == -1 || !var_r26) { @@ -452,21 +450,20 @@ void fn_1_330(omObjData *object) lbl_1_bss_40 = 1; lbl_1_bss_3C = 1; lbl_1_bss_54 = 5; - lbl_1_bss_58 = 30 * REFRESH_RATE; + lbl_1_bss_58 = 1800; fn_1_7328(1); - lbl_1_bss_4C = MGSeqCreate(1, lbl_1_bss_58 / REFRESH_RATE, -1, -1); + lbl_1_bss_4C = MGSeqCreate(1, lbl_1_bss_58 / 60, -1, -1); } break; case 5: - var_r25 = (lbl_1_bss_58 + REFRESH_RATE - 1) / REFRESH_RATE; + var_r25 = (lbl_1_bss_58 + 59) / 60; if (var_r25 < 0) { var_r25 = 0; } MGSeqParamSet(lbl_1_bss_4C, 1, var_r25); - if (lbl_1_bss_58 == 10 * REFRESH_RATE) { + if (lbl_1_bss_58 == 600) { lbl_1_bss_34 = 3.0f; - } - else if (lbl_1_bss_58 == 20 * REFRESH_RATE) { + } else if (lbl_1_bss_58 == 1200) { lbl_1_bss_34 = 2.5f; } if (--lbl_1_bss_58 < -1 || lbl_1_bss_1C[0] <= 0 || lbl_1_bss_1C[1] <= 0) { @@ -488,11 +485,9 @@ void fn_1_330(omObjData *object) if (fn_1_2EDC()) { if (lbl_1_bss_1C[0] == lbl_1_bss_1C[1]) { var_r28 = 2; - } - else if (lbl_1_bss_1C[0] > lbl_1_bss_1C[1]) { + } else if (lbl_1_bss_1C[0] > lbl_1_bss_1C[1]) { var_r28 = 0; - } - else { + } else { var_r28 = 1; } if (var_r28 < 2) { @@ -510,8 +505,7 @@ void fn_1_330(omObjData *object) } lbl_1_bss_50 = MGSeqCreate(5, 3, sp8[0], sp8[1], -1, -1); HuAudSStreamPlay(1); - } - else { + } else { for (var_r27 = 0; var_r27 < 2; var_r27++) { var_r30 = lbl_1_bss_8C[var_r27]->data; for (var_r31 = 0; var_r31 < 2; var_r31++) { @@ -529,7 +523,7 @@ void fn_1_330(omObjData *object) } break; case 7: - if (++lbl_1_bss_58 > 3.5f * REFRESH_RATE) { + if (++lbl_1_bss_58 > 210.0f) { lbl_1_bss_50 = -1; lbl_1_bss_54 = 8; lbl_1_bss_58 = 0; @@ -552,32 +546,32 @@ s32 lbl_1_data_10C = 66051; s32 lbl_1_data_110[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; s32 lbl_1_data_150[8] = { - DATADIR_MARIOMOT, - DATADIR_LUIGIMOT, - DATADIR_PEACHMOT, - DATADIR_YOSHIMOT, - DATADIR_DONKEYMOT, - DATADIR_WARIOMOT, - DATADIR_WALUIGIMOT, - DATADIR_DAISYMOT, + 6225920, + 1703936, + 7143424, + 9043968, + 1114112, + 8716288, + 8454144, + 851968, }; UnkM426Struct13 lbl_1_data_170[12] = { - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), DATA_NUM_LISTEND }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 2), DATA_NUM_LISTEND }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 3), DATA_NUM_LISTEND }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 5), DATA_NUM_LISTEND }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 6), DATA_NUM_LISTEND }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 20), DATA_NUM_LISTEND }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 22), DATA_NUM_LISTEND }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 25), DATA_NUM_LISTEND }, + { 6225920, 0xFFFFFFFF }, + { 6225922, 0xFFFFFFFF }, + { 6225923, 0xFFFFFFFF }, + { 6225925, 0xFFFFFFFF }, + { 6225926, 0xFFFFFFFF }, + { 6225940, 0xFFFFFFFF }, + { 6225942, 0xFFFFFFFF }, + { 6225945, 0xFFFFFFFF }, { 0, 0 }, { 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 23), DATA_NUM_LISTEND }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 114), DATA_NUM_LISTEND }, + { 6225943, 0xFFFFFFFF }, + { 6226034, 0xFFFFFFFF }, }; -s32 lbl_1_data_1D0[2] = { DATA_MAKE_NUM(DATADIR_M426, 32), DATA_MAKE_NUM(DATADIR_M426, 40) }; +s32 lbl_1_data_1D0[2] = { 3735584, 3735592 }; void fn_1_DB8(omObjData *arg0) { @@ -607,7 +601,7 @@ void fn_1_E18(omObjData *object) var_r30 = 1; } if (var_r30) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + WipeCreate(2, 0, 60); HuAudSeqAllFadeOut(100); object->func = fn_1_DB8; } @@ -626,8 +620,7 @@ void fn_1_EB8(void) } if (var_r30 != 2) { memcpy(&lbl_1_bss_18, &lbl_1_data_10C, 4); - } - else { + } else { for (var_r31 = 0; var_r31 < 4; var_r31++) { if (GWPlayerCfg[var_r31].group) { lbl_1_bss_18[var_r30] = var_r31; @@ -678,7 +671,7 @@ void fn_1_117C(omObjData *object) fn_1_16F8(var_r31->unk_04[0]); } -void fn_1_11EC(omObjData *object) +void fn_1_11EC(omObjData *object) // TODO this probably gets inlined { s32 var_r30; UnkM426Struct *var_r29; @@ -728,16 +721,14 @@ void fn_1_125C(omObjData *object) var_r31->unk_40 = lbl_1_data_0[var_r27].x; if (var_r31->unk_40 < 0.0f) { var_r31->unk_44 = 90.0f; - } - else { + } else { var_r31->unk_44 = -90.0f; } var_r31->unk_48 = lbl_1_bss_8C[var_r31->unk_00]; var_r28 = var_r31->unk_48->data; if (object != var_r28->unk_04[0]) { var_r31->unk_4C = var_r28->unk_04[0]; - } - else { + } else { var_r31->unk_4C = var_r28->unk_04[1]; } memset(&var_r31->unk_50, 0, 0x3C); @@ -760,22 +751,20 @@ void fn_1_125C(omObjData *object) if (lbl_1_data_170[var_r29].unk_04 == -1) { if ((var_r29 == 11) && (var_r31->unk_0C == 4)) { object->motion[var_r29] = CharModelMotionCreate(var_r31->unk_0C, DATA_MAKE_NUM(DATADIR_MARIOMOT, 114)); - } - else { + } else { object->motion[var_r29] = CharModelMotionCreate(var_r31->unk_0C, lbl_1_data_170[var_r29].unk_00); } if (var_r29 == 5) { CharModelVoiceEnableSet(var_r31->unk_0C, object->motion[var_r29], 0); } - } - else { + } else { object->motion[var_r29] = Hu3DJointMotion( object->model[0], HuDataSelHeapReadNum(var_r31->unk_0C + lbl_1_data_1D0[lbl_1_data_170[var_r29].unk_04], 268435456, HEAP_DATA)); } } CharModelMotionDataClose(var_r31->unk_0C); CharModelMotionSet(var_r31->unk_0C, object->motion[var_r31->unk_28]); - Hu3DModelAttrSet(var_r25, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r25, 0x40000001); HuDataDirClose(lbl_1_data_110[var_r26] & 0xFFFF0000); object->func = NULL; } @@ -812,7 +801,7 @@ void fn_1_16F8(omObjData *object) s32 var_r24; s32 var_r23; s32 var_r22; - s32 var_r21; + s32 var_r21; // this is weird, used as a temporary sp18 = 0; sp14 = 0; @@ -826,10 +815,9 @@ void fn_1_16F8(omObjData *object) } if (var_r31->unk_14) { sp20 = sp1C = 0.0f; - var_r21 = sp10 = 0; + sp10 = var_r21 = 0; fn_1_2F5C(object, &sp20, &sp1C, &sp10); - } - else { + } else { sp20 = HuPadStkX[var_r31->unk_10]; sp1C = HuPadStkY[var_r31->unk_10]; var_r21 = HuPadBtn[var_r31->unk_10]; @@ -845,11 +833,11 @@ void fn_1_16F8(omObjData *object) case 1: if (var_r31->unk_90 == -1) { var_r31->unk_90 = fn_1_48F0(object->trans.z); - } - else { + } else { if (!lbl_1_bss_40) { sp20 = sp1C = 0.0f; - var_r21 = sp10 = 0; + + sp10 = var_r21 = 0; } if (fabs(sp20) > 8.0) { var_f30 = 0.25f * sp20; @@ -862,8 +850,7 @@ void fn_1_16F8(omObjData *object) } if (var_r31->unk_94 != -1) { var_f27 = 16.0f; - } - else { + } else { var_f27 = 0.0f; } var_r31->unk_50[var_r31->unk_8C] = var_f27; @@ -876,28 +863,23 @@ void fn_1_16F8(omObjData *object) var_f28 *= 0.06666667f; if (var_r31->unk_98 != 0.0f) { var_r26 = 3; - } - else if (var_f28 <= 0.0f) { + } else if (var_f28 <= 0.0f) { if (lbl_1_bss_54 == 5) { var_r26 = 8; - } - else { + } else { var_r26 = 0; } - } - else if (var_f28 < 10.0f) { + } else if (var_f28 < 10.0f) { var_r26 = 1; - } - else { + } else { var_r26 = 2; } if (var_r26 != var_r31->unk_28) { var_r31->unk_28 = var_r26; if (var_r26 == 3) { - CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, HU3D_MOTATTR_NONE); - } - else { - CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, 0); + } else { + CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, 0x40000001); } } if (var_r31->unk_94 == -1) { @@ -905,8 +887,7 @@ void fn_1_16F8(omObjData *object) if (var_f31 < 0.0f) { var_r27 = var_r31->unk_90 - 1; var_r25 = var_r31->unk_90 - 2; - } - else { + } else { var_r27 = var_r31->unk_90 + 1; var_r25 = var_r31->unk_90 + 2; } @@ -943,23 +924,21 @@ void fn_1_16F8(omObjData *object) var_r31->unk_3C = 0; object->trans.x = var_f25; object->trans.z = var_f24; - } - else if (var_f27 != 0.0f) { + } else if (var_f27 != 0.0f) { var_f27 = 1.0f / var_f27; - object->trans.x += var_f28 * (var_f30 * var_f27) * (60.0f / REFRESH_RATE); - object->trans.z += var_f28 * (var_f31 * var_f27) * (60.0f / REFRESH_RATE); + object->trans.x += var_f28 * (var_f30 * var_f27); + object->trans.z += var_f28 * (var_f31 * var_f27); } } var_f30 = object->trans.x - var_f22; var_f31 = object->trans.z - var_f21; if (fabs(var_f30) > 8.0 || fabs(var_f31) > 8.0) { var_f26 = atan2d(var_f30, var_f31); - } - else { + } else { if (fabs(sp20) > 8.0 || fabs(sp1C) > 8.0) { var_f26 = atan2d(sp20, -sp1C); - } - else { + var_f26 = var_f26; + } else { var_f26 = object->rot.y; } } @@ -969,10 +948,9 @@ void fn_1_16F8(omObjData *object) var_r31->unk_2C = 0; var_r31->unk_24 = 2; var_r31->unk_28 = 9; - CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 8.0f, 8.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 8.0f, 8.0f, 0); } - } - else if (sp10 & 256) { + } else if (sp10 & 256) { var_r31->unk_3C = 20; } } @@ -987,17 +965,15 @@ void fn_1_16F8(omObjData *object) if (fn_1_4AF4(&lbl_1_bss_C, object->rot.y, 1)) { if (!var_r31->unk_00) { HuAudFXPlay(1601); - } - else { + } else { HuAudFXPlay(1602); } } - } - else if (var_r31->unk_2C >= 20) { + } else if (var_r31->unk_2C >= 20) { var_r31->unk_24 = 0; var_r31->unk_2C = 0; var_r31->unk_28 = 8; - CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, 0x40000001); } break; case 3: @@ -1012,8 +988,7 @@ void fn_1_16F8(omObjData *object) if (fabs(object->trans.x) > 750.0) { if (object->trans.x > 0.0f) { object->trans.x = 750.0f; - } - else { + } else { object->trans.x = -750.0f; } } @@ -1036,24 +1011,22 @@ void fn_1_16F8(omObjData *object) var_r31->unk_2C = 0; HuAudCharVoicePlay(var_r31->unk_0C, 281); var_r31->unk_28 = 6; - CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, 0x40000001); } break; case 6: var_r31->unk_2C++; - if (var_r31->unk_2C < 1.0f * REFRESH_RATE) { + if (var_r31->unk_2C < 60.0f) { if (lbl_1_bss_40 == 0) { - var_r31->unk_2C = REFRESH_RATE - 1; + var_r31->unk_2C = 59; } - } - else if (var_r31->unk_2C == 1.0f * REFRESH_RATE) { + } else if (var_r31->unk_2C == 60.0f) { var_r31->unk_28 = 7; - CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, HU3D_MOTATTR_NONE); - } - else if (var_r31->unk_2C >= (VERSION_NTSC ? 90.0f : 80.0f)) { + CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, 0); + } else if (var_r31->unk_2C >= 90.0f) { var_r31->unk_24 = 7; var_r31->unk_28 = 8; - CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, 0x40000001); } break; case 7: @@ -1083,13 +1056,12 @@ void fn_1_16F8(omObjData *object) object->rot.y = fn_1_770C(0.0f, object->rot.y, 10.0f); if (var_r31->unk_24 == 8) { var_r26 = 10; - } - else { + } else { var_r26 = 11; } if (var_r26 != var_r31->unk_28) { var_r31->unk_28 = var_r26; - CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, 0); } break; } @@ -1123,7 +1095,7 @@ void fn_1_16F8(omObjData *object) var_r31->unk_34 = var_r31->unk_34 ^ 1; } } - if ((var_r31->unk_24 == 0 || var_r31->unk_24 == 1 || var_r31->unk_24 == 2) && var_r31->unk_30) { + if (((var_r21 = var_r31->unk_24) == 0 || var_r31->unk_24 == 1 || var_r31->unk_24 == 2) && var_r31->unk_30) { if (var_r31->unk_30) { var_r31->unk_30 = var_r31->unk_30 - 1; } @@ -1136,7 +1108,6 @@ void fn_1_16F8(omObjData *object) } Hu3DModelTPLvlSet(var_r24, 1.0f); } - (void)var_r21; } Vec lbl_1_data_200[2] = { @@ -1203,10 +1174,22 @@ void fn_1_2AC8(omObjData *object) void fn_1_2ADC(void) { + omObjData *var_r31; s32 var_r30; + s32 var_r29; + UnkM426Struct *var_r27; + omObjData *var_r28; for (var_r30 = 0; var_r30 < 2; var_r30++) { - fn_1_11EC(lbl_1_bss_8C[var_r30]); + var_r31 = lbl_1_bss_8C[var_r30]; + var_r27 = var_r31->data; + for (var_r29 = 0; var_r29 < 2; var_r29++) { + var_r28 = var_r27->unk_04[var_r29]; + var_r28->data = 0; + var_r28->func = 0; + } + var_r31->data = NULL; + var_r31->func = NULL; } } @@ -1224,8 +1207,7 @@ void fn_1_2B74(Vec *arg0) if (arg0->x < 0.0f) { var_r26 = 0; - } - else { + } else { var_r26 = 1; } if (lbl_1_bss_8C[var_r26]) { @@ -1240,35 +1222,30 @@ void fn_1_2B74(Vec *arg0) var_r31->unk_2C = 0; var_r31->unk_24 = 3; var_r31->unk_AC = 32; - var_r31->unk_30 = 1.5f * REFRESH_RATE; + var_r31->unk_30 = 90; var_r31->unk_90 = var_r31->unk_94 = -1; if (!var_r29->unk_00) { var_r31->unk_9C.x = -1.0f; - } - else { + } else { var_r31->unk_9C.x = 1.0f; } if (fabs(var_r31->unk_4C->trans.z - var_r30->trans.z) < 100.0) { var_r31->unk_90 = fn_1_48F0(var_r30->trans.z); if (var_r31->unk_90 == 5) { var_r31->unk_9C.z = -1.0f; - } - else if (!var_r31->unk_90) { + } else if (!var_r31->unk_90) { var_r31->unk_9C.z = 1.0f; - } - else if ((var_r31->unk_4C->trans.z - var_r30->trans.z) < 0.0f) { + } else if ((var_r31->unk_4C->trans.z - var_r30->trans.z) < 0.0f) { var_r31->unk_9C.z = 1.0f; - } - else { + } else { var_r31->unk_9C.z = -1.0f; } - } - else { + } else { var_r31->unk_9C.z = 0.0f; } var_r31->unk_9C.y = 45.5f; var_r31->unk_28 = 5; - CharModelMotionShiftSet(var_r31->unk_0C, var_r30->motion[var_r31->unk_28], 0.0f, 8.0f, HU3D_MOTATTR_NONE); + CharModelMotionShiftSet(var_r31->unk_0C, var_r30->motion[var_r31->unk_28], 0.0f, 8.0f, 0); spC.x = var_r30->trans.x; spC.y = var_r30->trans.y; spC.z = var_r30->trans.z; @@ -1370,7 +1347,7 @@ void fn_1_2F5C(omObjData *object, float *arg1, float *arg2, s32 *arg3) break; case 1: if (var_r31->unk_B0 != -1) { - if (++var_r31->unk_B4 < 2.0f * REFRESH_RATE) { + if (++var_r31->unk_B4 < 120.0f) { if (var_r31->unk_90 == var_r31->unk_B0) { var_r31->unk_B0 = -1; return; @@ -1389,12 +1366,12 @@ void fn_1_2F5C(omObjData *object, float *arg1, float *arg2, s32 *arg3) return; case 2: if (var_r31->unk_B0 != -1) { - if (++var_r31->unk_B4 < 2.0f * REFRESH_RATE && var_r31->unk_B0 != var_r28->unk_B0) { + if (++var_r31->unk_B4 < 120.0f && var_r31->unk_B0 != var_r28->unk_B0) { if (var_r31->unk_90 == var_r31->unk_B0) { *arg3 |= 256; var_r31->unk_B0 = -1; var_r31->unk_B4 = 0; - var_r31->unk_B8 = ((VERSION_NTSC ? 50.0f : 45.0f) + (frand() % 15)) - (var_r31->unk_18 * 10); + var_r31->unk_B8 = (50.0f + (frand() % 15)) - (var_r31->unk_18 * 10); var_r31->unk_BC = 0; return; } @@ -1419,14 +1396,12 @@ void fn_1_2F5C(omObjData *object, float *arg1, float *arg2, s32 *arg3) for (var_r30 = 0; var_r30 < 6; var_r27++, var_r30++) { sp14[var_r27] = var_r30; } - } - else { + } else { if (var_r31->unk_90 < var_r29) { for (var_r30 = 0; var_r30 < 3; var_r27++, var_r30++) { sp14[var_r27] = var_r30; } - } - else { + } else { for (var_r30 = 3; var_r30 < 6; var_r27++, var_r30++) { sp14[var_r27] = var_r30; } @@ -1462,20 +1437,16 @@ void fn_1_2F5C(omObjData *object, float *arg1, float *arg2, s32 *arg3) if (var_r29 == -1) { if (var_r31->unk_90 < 3) { var_r31->unk_B0 = 1; - } - else { + } else { var_r31->unk_B0 = 4; } - } - else if (var_r29 > var_r31->unk_90) { + } else if (var_r29 > var_r31->unk_90) { var_r31->unk_B0 = 1; - } - else { + } else { var_r31->unk_B0 = 4; } var_r31->unk_BC = 1; - } - else { + } else { var_r31->unk_BC = 2; } var_r31->unk_B8 = 0; @@ -1524,13 +1495,13 @@ void fn_1_3714(omObjData *object) object->model[11] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M426, 17)); object->model[12] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M426, 18)); object->model[13] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M426, 19)); - Hu3DModelAttrSet(object->model[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[5], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[6], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[8], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[9], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[11], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[13], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[4], 1); + Hu3DModelAttrSet(object->model[5], 1); + Hu3DModelAttrSet(object->model[6], 1); + Hu3DModelAttrSet(object->model[8], 1); + Hu3DModelAttrSet(object->model[9], 1); + Hu3DModelAttrSet(object->model[11], 1); + Hu3DModelAttrSet(object->model[13], 1); for (var_r29 = 0; var_r29 < 14; var_r29++) { Hu3DModelLayerSet(object->model[var_r29], 2); } @@ -1554,8 +1525,7 @@ void fn_1_3714(omObjData *object) var_r31->unk_20 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M426, 6)); var_r31->unk_24 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M426, 8)); var_r31->unk_28 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M426, 9)); - } - else { + } else { var_r31->unk_10 = Hu3DModelLink(var_r28->unk_10); Hu3DModelShadowMapSet(var_r31->unk_10); var_r31->unk_14 = Hu3DModelLink(var_r28->unk_14); @@ -1585,7 +1555,7 @@ void fn_1_3714(omObjData *object) sp8.x = 0.0f; sp8.y = 500.0f; sp8.z = var_r31->unk_38; - var_r25 = 0.3f * (var_r31->unk_00 * REFRESH_RATE); + var_r25 = 0.3f * (var_r31->unk_00 * 60); var_r31->unk_34 = fn_1_5C6C(var_r31->unk_00, var_r25, &sp8); } lbl_1_bss_24 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M426, 1), MEMORY_DEFAULT_NUM)); @@ -1624,8 +1594,7 @@ void fn_1_3EFC(omObjData *object) var_f30 = 50.0f + (-19.999998f * var_f31); Hu3DModelPosSet(var_r30->unk_20, -500.0f, var_f30, var_r30->unk_38); Hu3DModelPosSet(var_r30->unk_28, 500.0f, var_f29, var_r30->unk_38); - } - else { + } else { var_f29 = 50.0f + (-19.999998f * var_f31); var_f30 = 30.000002f + (19.999998f * var_f31); Hu3DModelPosSet(var_r30->unk_1C, -500.0f, var_f30, var_r30->unk_38); @@ -1634,8 +1603,7 @@ void fn_1_3EFC(omObjData *object) if (var_r30->unk_0C >= 2) { if (var_r30->unk_04 == 0) { HuAudFXPlay(1600); - } - else { + } else { HuAudFXPlay(1599); } fn_1_4738(var_r28, var_r30->unk_04); @@ -1648,17 +1616,17 @@ void fn_1_3EFC(omObjData *object) } } } - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[5], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[6], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[7], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[8], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[9], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[10], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[11], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[12], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[13], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[3], 1); + Hu3DModelAttrSet(object->model[4], 1); + Hu3DModelAttrSet(object->model[5], 1); + Hu3DModelAttrSet(object->model[6], 1); + Hu3DModelAttrSet(object->model[7], 1); + Hu3DModelAttrSet(object->model[8], 1); + Hu3DModelAttrSet(object->model[9], 1); + Hu3DModelAttrSet(object->model[10], 1); + Hu3DModelAttrSet(object->model[11], 1); + Hu3DModelAttrSet(object->model[12], 1); + Hu3DModelAttrSet(object->model[13], 1); if (lbl_1_bss_30) { if (++object->work[0] >= 20) { @@ -1671,8 +1639,7 @@ void fn_1_3EFC(omObjData *object) object->work[2] = 0; } lbl_1_bss_30--; - } - else { + } else { if (object->work[0]) { if (++object->work[0] >= 20) { object->work[0] = 0; @@ -1692,10 +1659,10 @@ void fn_1_3EFC(omObjData *object) if (++object->work[3] >= 20) { object->work[3] = 0; } - Hu3DModelAttrReset(object->model[(object->work[0] / 5) + 3], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[(object->work[1] / 5) + 7], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[(object->work[2] / 10) + 10], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[(object->work[3] / 10) + 12], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(object->model[(object->work[0] / 5) + 3], 1); + Hu3DModelAttrReset(object->model[(object->work[1] / 5) + 7], 1); + Hu3DModelAttrReset(object->model[(object->work[2] / 10) + 10], 1); + Hu3DModelAttrReset(object->model[(object->work[3] / 10) + 12], 1); var_r29 = &Hu3DGlobalLight[lbl_1_bss_2C]; var_r27 = lbl_1_data_48.r + (s32)(255.0f * lbl_1_bss_28); @@ -1730,7 +1697,8 @@ void fn_1_3EFC(omObjData *object) void fn_1_45FC(omObjData *object) { fn_1_8E10(lbl_1_bss_24); - fn_1_2AC8(object); + object->data = NULL; + object->func = NULL; } void fn_1_4644(void) @@ -1776,20 +1744,20 @@ void fn_1_4738(s32 arg0, s32 arg1) var_r31->unk_08 = arg1; switch (arg1) { case 0: - Hu3DModelAttrReset(var_r31->unk_14, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r31->unk_1C, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r31->unk_24, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->unk_18, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->unk_20, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->unk_28, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r31->unk_14, 1); + Hu3DModelAttrReset(var_r31->unk_1C, 1); + Hu3DModelAttrReset(var_r31->unk_24, 1); + Hu3DModelAttrSet(var_r31->unk_18, 1); + Hu3DModelAttrSet(var_r31->unk_20, 1); + Hu3DModelAttrSet(var_r31->unk_28, 1); break; case 1: - Hu3DModelAttrSet(var_r31->unk_14, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->unk_1C, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->unk_24, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r31->unk_18, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r31->unk_20, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r31->unk_28, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_14, 1); + Hu3DModelAttrSet(var_r31->unk_1C, 1); + Hu3DModelAttrSet(var_r31->unk_24, 1); + Hu3DModelAttrReset(var_r31->unk_18, 1); + Hu3DModelAttrReset(var_r31->unk_20, 1); + Hu3DModelAttrReset(var_r31->unk_28, 1); break; default: break; @@ -1867,8 +1835,7 @@ s32 fn_1_4AF4(Vec *arg0, float arg8, s32 arg1) var_r30 = lbl_1_bss_78->data; if (arg0->x < 0.0f) { var_f28 = -500.0f; - } - else { + } else { var_f28 = 500.0f; } for (var_r29 = 0; var_r29 < 6; var_r29++, var_r30++) { @@ -1889,8 +1856,7 @@ s32 fn_1_4AF4(Vec *arg0, float arg8, s32 arg1) if (!var_r30->unk_08) { return 0; } - } - else if (var_r30->unk_08 == 1) { + } else if (var_r30->unk_08 == 1) { return 0; } if (arg1) { @@ -1915,17 +1881,15 @@ void fn_1_4F14(omObjData *object) for (var_r29 = 0; var_r29 < 6; var_r29++, var_r31++) { if (var_r29 == 0) { var_r31->unk_00 = Hu3DModelCreateFile(3735579); - } - else { + } else { var_r31->unk_00 = Hu3DModelLink(var_r30->unk_00); } Hu3DModelShadowSet(var_r31->unk_00); Hu3DModelLayerSet(var_r31->unk_00, 2); if (var_r29 == 0) { - var_r31->unk_08 = Hu3DJointMotionFile(var_r31->unk_00, DATA_MAKE_NUM(DATADIR_M426, 28)); - var_r31->unk_0C = Hu3DJointMotionFile(var_r31->unk_00, DATA_MAKE_NUM(DATADIR_M426, 29)); - } - else { + var_r31->unk_08 = Hu3DJointMotion(var_r31->unk_00, HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M426, 28), MEMORY_DEFAULT_NUM, HEAP_DATA)); + var_r31->unk_0C = Hu3DJointMotion(var_r31->unk_00, HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M426, 29), MEMORY_DEFAULT_NUM, HEAP_DATA)); + } else { var_r31->unk_08 = var_r30->unk_08; var_r31->unk_0C = var_r30->unk_0C; } @@ -1940,7 +1904,7 @@ void fn_1_4F14(omObjData *object) var_r31->unk_3C = var_r31->unk_40 = var_r31->unk_44 = 0.0f; var_r31->unk_48 = 0.0f; var_r31->unk_4C = 0.0f; - Hu3DModelAttrSet(var_r31->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_00, 1); Hu3DModelScaleSet(var_r31->unk_00, 0.8f, 0.8f, 0.8f); } object->func = fn_1_5134; @@ -1964,10 +1928,10 @@ void fn_1_5134(omObjData *object) if (lbl_1_bss_38) { if (--var_r31->unk_2C <= 0) { if (!var_r31->unk_38) { - Hu3DModelAttrReset(var_r31->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r31->unk_00, 1); } Hu3DMotionSet(var_r31->unk_00, var_r31->unk_08); - Hu3DModelAttrSet(var_r31->unk_00, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r31->unk_00, 1073741825); HuAudFXPlay(1607); var_r31->unk_2C = 0; var_r31->unk_28 = 1; @@ -1975,7 +1939,7 @@ void fn_1_5134(omObjData *object) } break; case 1: - if ((var_r31->unk_40 -= (VERSION_NTSC ? 50.0f : 60.000004f)) <= 50.0f) { + if ((var_r31->unk_40 -= 50.0f) <= 50.0f) { if (lbl_1_bss_54 <= 4) { fn_1_3654(0); fn_1_3654(1); @@ -1990,26 +1954,23 @@ void fn_1_5134(omObjData *object) if (lbl_1_bss_3C) { var_r31->unk_30 = 0; var_r31->unk_28 = 3; - Hu3DMotionShiftSet(var_r31->unk_00, var_r31->unk_0C, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - else { + Hu3DMotionShiftSet(var_r31->unk_00, var_r31->unk_0C, 0.0f, 8.0f, 0x40000001); + } else { var_r31->unk_48 = fn_1_770C(0.0f, var_r31->unk_48, 10.0f); } break; case 3: if (!var_r26) { var_f31 = 90.0f; - } - else { + } else { var_f31 = 270.0f; } if (fabs(fn_1_75F4(var_f31, var_r31->unk_48)) < 5.0) { var_r31->unk_48 = var_f31; - if ((var_r31->unk_34 += 0.1f) > lbl_1_bss_34 * (60.0f / REFRESH_RATE)) { - var_r31->unk_34 = lbl_1_bss_34 * (60.0f / REFRESH_RATE); + if ((var_r31->unk_34 += 0.1f) > lbl_1_bss_34) { + var_r31->unk_34 = lbl_1_bss_34; } - } - else { + } else { var_r31->unk_48 = fn_1_770C(var_f31, var_r31->unk_48, 10.0f); if ((var_r31->unk_34 -= 0.1f) < 0.0f) { var_r31->unk_34 = 0.0f; @@ -2020,7 +1981,7 @@ void fn_1_5134(omObjData *object) } Hu3DMotionSpeedSet(var_r31->unk_00, 1.4f * (0.33333334f * var_r31->unk_34)); if (lbl_1_bss_3C == 0) { - Hu3DMotionShiftSet(var_r31->unk_00, var_r31->unk_08, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(var_r31->unk_00, var_r31->unk_08, 0.0f, 8.0f, 1073741825); var_r31->unk_2C = 0; var_r31->unk_30 = 0; var_r31->unk_28 = 2; @@ -2029,8 +1990,7 @@ void fn_1_5134(omObjData *object) var_r31->unk_34 = 0.0f; if (var_r31->unk_3C > 0.0f) { var_r31->unk_3C = 399.0f; - } - else { + } else { var_r31->unk_3C = -399.0f; } var_r31->unk_18 = 0; @@ -2042,8 +2002,7 @@ void fn_1_5134(omObjData *object) lbl_1_bss_1C[0]--; fn_1_3654(0); HuAudFXPlay(1603); - } - else { + } else { lbl_1_bss_1C[1]--; fn_1_3654(1); HuAudFXPlay(1604); @@ -2054,7 +2013,7 @@ void fn_1_5134(omObjData *object) if (lbl_1_bss_1C[1] < 0) { lbl_1_bss_1C[1] = 0; } - lbl_1_bss_30 = REFRESH_RATE; + lbl_1_bss_30 = 60; lbl_1_bss_28 = 1.0f; var_r31->unk_30 = 0; var_r31->unk_28 = 4; @@ -2069,23 +2028,20 @@ void fn_1_5134(omObjData *object) fn_1_2B74(&sp8); if (var_r31->unk_3C < 0.0f) { fn_1_46A4(var_r31->unk_24, 0); - } - else { + } else { fn_1_46A4(var_r31->unk_24, 1); } var_r31->unk_28 = 5; if (var_r26 == 0) { var_r31->unk_4C += 30.000002f; - } - else { + } else { var_r31->unk_4C -= 30.000002f; } if (fabs(var_r31->unk_4C) > 150.0) { if (!var_r26) { var_r31->unk_4C = 150.0f; - } - else { + } else { var_r31->unk_4C = -150.0f; } } @@ -2111,9 +2067,8 @@ void fn_1_5134(omObjData *object) if (!var_r31->unk_38) { Hu3DModelPosSet(var_r31->unk_00, var_r31->unk_3C, var_r31->unk_40, var_r31->unk_44); Hu3DModelRotSet(var_r31->unk_00, 0.0f, var_r31->unk_48, 0.0f); - } - else { - Hu3DModelAttrSet(var_r31->unk_00, HU3D_ATTR_DISPOFF); + } else { + Hu3DModelAttrSet(var_r31->unk_00, 1); } } } @@ -2121,17 +2076,20 @@ void fn_1_5134(omObjData *object) void fn_1_5B34(omObjData *object) { - fn_1_2AC8(object); + object->data = NULL; + object->func = NULL; } void fn_1_5B48(void) { - fn_1_5B34(lbl_1_bss_74); + omObjData *var_r31; + + var_r31 = lbl_1_bss_74; + fn_1_5B34(var_r31); lbl_1_bss_74 = NULL; } -// unused -void fn_1_5B88(s32 arg0) +void fn_1_5B88(s32 arg0) // probably gets inlined { UnkM426Struct4 *var_r31; s32 var_r28; @@ -2143,7 +2101,7 @@ void fn_1_5B88(s32 arg0) var_r28 = var_r31->unk_38; var_r31->unk_38 = arg0; if (var_r28 != arg0 && !arg0) { - Hu3DModelAttrReset(var_r31->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r31->unk_00, 1); Hu3DModelPosSet(var_r31->unk_00, var_r31->unk_3C, var_r31->unk_40, var_r31->unk_44); Hu3DModelRotSet(var_r31->unk_00, 0.0f, var_r31->unk_48, 0.0f); } @@ -2197,14 +2155,11 @@ s32 fn_1_5D3C(void) } if (var_r31->unk_3C < 0.0f) { var_r30++; - } - else if (var_r31->unk_3C > 0.0f) { + } else if (var_r31->unk_3C > 0.0f) { var_r29++; - } - else if (frand() & 1) { + } else if (frand() & 1) { var_r30++; - } - else { + } else { var_r29++; } } @@ -2239,8 +2194,7 @@ void fn_1_5EBC(omObjData *object) if (var_r30 == 0) { var_r31->unk_08 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M426, 0), MEMORY_DEFAULT_NUM)); var_r31->unk_04 = fn_1_795C(var_r31->unk_08, 512); - } - else { + } else { var_r31->unk_08 = var_r29->unk_08; var_r31->unk_04 = fn_1_7DC8(var_r29->unk_04); } @@ -2248,7 +2202,7 @@ void fn_1_5EBC(omObjData *object) var_r26 = &Hu3DData[var_r31->unk_04]; var_r27 = var_r26->unk_120; var_r27->unk_20 = 0; - Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_04, 1); var_r31->unk_00 = var_r30; var_r31->unk_0C = 0; var_r31->unk_10 = 0; @@ -2275,10 +2229,9 @@ void fn_1_6008(omObjData *object) continue; } if (var_r30->unk_10 <= 0) { - Hu3DModelAttrSet(var_r30->unk_04, HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrReset(var_r30->unk_04, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r30->unk_04, 1); + } else { + Hu3DModelAttrReset(var_r30->unk_04, 1); var_r26 = &Hu3DData[var_r30->unk_04]; var_r29 = var_r26->unk_120; var_r31 = var_r29->unk_3C; @@ -2405,8 +2358,7 @@ s32 fn_1_63B8(s32 arg0, Vec *arg1, Vec *arg2, float arg8, GXColor arg3) var_r31->unk_30.x = arg1->x - var_r30->unk_14.x; var_r31->unk_30.y = arg1->y - var_r30->unk_14.y; var_r31->unk_30.z = arg1->z - var_r30->unk_14.z; - } - else { + } else { var_r31->unk_30.x = var_r30->unk_14.x; var_r31->unk_30.y = var_r30->unk_14.y; var_r31->unk_30.z = var_r30->unk_14.z; @@ -2416,8 +2368,7 @@ s32 fn_1_63B8(s32 arg0, Vec *arg1, Vec *arg2, float arg8, GXColor arg3) var_r31->unk_04.x = arg2->x; var_r31->unk_04.y = arg2->y; var_r31->unk_04.z = arg2->z; - } - else { + } else { var_r31->unk_04.x = var_r31->unk_04.y = var_r31->unk_04.z = 0.0f; } @@ -2454,7 +2405,7 @@ void fn_1_65E4(omObjData *object) var_r28 = &Hu3DData[var_r31->unk_00]; sp8 = var_r28->hsfData; Hu3DModelLayerSet(var_r31->unk_00, 5); - Hu3DModelAttrSet(var_r31->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->unk_00, 1); var_r31->unk_04 = 0; var_r31->unk_08 = 0; var_r31->unk_0C = var_r31->unk_10 = var_r31->unk_14 = 0.0f; @@ -2476,8 +2427,8 @@ void fn_1_6704(omObjData *object) if (var_r31->unk_04) { Hu3DModelPosSet(var_r31->unk_00, var_r31->unk_0C, var_r31->unk_10, var_r31->unk_14); Hu3DModelRotSet(var_r31->unk_00, CRot.x, CRot.y, CRot.z); - if (++var_r31->unk_08 >= 2.0f * REFRESH_RATE) { - Hu3DModelAttrSet(var_r31->unk_00, HU3D_ATTR_DISPOFF); + if (++var_r31->unk_08 >= 120.0f) { + Hu3DModelAttrSet(var_r31->unk_00, 1); var_r31->unk_04 = 0; var_r31->unk_08 = 0; } @@ -2524,10 +2475,10 @@ s32 fn_1_6888(Vec *arg0) var_r31->unk_14 = arg0->z; Hu3DMotionTimeSet(var_r31->unk_00, 0.0f); Hu3DMotionSpeedSet(var_r31->unk_00, 0.5f); - Hu3DModelAttrSet(var_r31->unk_00, HU3D_MOTATTR_NONE); + Hu3DModelAttrSet(var_r31->unk_00, 0); Hu3DModelPosSet(var_r31->unk_00, var_r31->unk_0C, var_r31->unk_10, var_r31->unk_14); Hu3DModelScaleSet(var_r31->unk_00, 1.0f, 1.0f, 1.0f); - Hu3DModelAttrReset(var_r31->unk_00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r31->unk_00, 1); return var_r30; } @@ -2547,8 +2498,7 @@ void fn_1_6A34(omObjData *object) for (var_r29 = 0; var_r29 < 2; var_r29++, var_r31++) { if (var_r29 == 0) { var_r31->unk_00 = 100; - } - else { + } else { var_r31->unk_00 = 490; } var_r31->unk_04 = 65; @@ -2587,7 +2537,7 @@ void fn_1_6A34(omObjData *object) } espDispOn(var_r31->unk_14[var_r30]); espDrawNoSet(var_r31->unk_14[var_r30], 0); - espAttrSet(var_r31->unk_14[var_r30], HUSPR_ATTR_NOANIM); + espAttrSet(var_r31->unk_14[var_r30], 1); espPosSet(var_r31->unk_14[var_r30], var_r31->unk_00 + var_r31->unk_2C[var_r30][0], var_r31->unk_04 + var_r31->unk_2C[var_r30][1]); } } @@ -2620,11 +2570,10 @@ void fn_1_6DC0(omObjData *object) if (var_r31->unk_0C) { var_f31 = 1.0 + (0.8f * sind((180.0f * (var_r31->unk_0C / 20.0f)))); var_r31->unk_0C--; - } - else { + } else { var_f31 = 1.0f; } - var_r28 = lbl_1_bss_1C[var_r29]; + var_r28 = lbl_1_bss_1C[var_r29]; if ((sp8[0] = var_r28 / 10) > 9) { sp8[0] = 9; } @@ -2686,8 +2635,7 @@ void fn_1_7328(s32 arg0) for (var_r30 = 0; var_r30 < 6; var_r30++) { if (arg0) { espDispOn(var_r31->unk_14[var_r30]); - } - else { + } else { espDispOff(var_r31->unk_14[var_r30]); } } @@ -2738,21 +2686,18 @@ float fn_1_75F4(float arg8, float arg9) if (arg8 >= 360.0f) { arg8 -= 360.0f; - } - else if (arg8 < 0.0f) { + } else if (arg8 < 0.0f) { arg8 += 360.0f; } if (arg9 >= 360.0f) { arg9 -= 360.0f; - } - else if (arg9 < 0.0f) { + } else if (arg9 < 0.0f) { arg9 += 360.0f; } var_f31 = arg8 - arg9; if (var_f31 <= -180.0f) { var_f31 += 360.0f; - } - else if (var_f31 >= 180.0f) { + } else if (var_f31 >= 180.0f) { var_f31 -= 360.0f; } return var_f31; @@ -2765,14 +2710,12 @@ float fn_1_770C(float arg8, float arg9, float argA) if (arg8 >= 360.0) { arg8 -= 360.0; - } - else if (arg8 < 0.0) { + } else if (arg8 < 0.0) { arg8 += 360.0; } if (arg9 >= 360.0) { arg9 -= 360.0; - } - else if (arg9 < 0.0) { + } else if (arg9 < 0.0) { arg9 += 360.0; } var_f30 = 360.0 + (arg8 - arg9); @@ -2782,23 +2725,19 @@ float fn_1_770C(float arg8, float arg9, float argA) if (var_f30 < 180.0) { if (var_f30 <= argA) { var_f31 = var_f30; - } - else { + } else { var_f31 = argA; } - } - else if ((360.0 - var_f30) <= argA) { + } else if ((360.0 - var_f30) <= argA) { var_f31 = -(360.0 - var_f30); - } - else { + } else { var_f31 = -argA; } var_f31 += arg9; if (var_f31 >= 360.0) { var_f31 -= 360.0; var_f31 = var_f31; - } - else if (var_f31 < 0.0) { + } else if (var_f31 < 0.0) { var_f31 += 360.0; var_f31 = var_f31; } @@ -2997,19 +2936,16 @@ void fn_1_80DC(ModelData *arg0, Mtx arg1) if (shadowModelDrawF != 0) { GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ONE, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - } - else { + } else { var_r21 = var_r31->unk_38->bmp->dataFmt & 15; if (var_r21 == 7 || var_r21 == 8) { GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ONE, GX_CC_RASC, GX_CC_ZERO); - } - else { + } else { GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); } if (arg0->attr & 2) { GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - } - else { + } else { GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); } } @@ -3043,7 +2979,7 @@ void fn_1_80DC(ModelData *arg0, Mtx arg1) GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); GXSetArray(GX_VA_TEX0, var_r31->unk_44, 8); if (!HmfInverseMtxF3X3(arg1, sp128)) { - MTXIdentity(sp128); + PSMTXIdentity(sp128); } PSMTXReorder(sp128, sp8); if (var_r31->unk_4C) { @@ -3064,32 +3000,30 @@ void fn_1_80DC(ModelData *arg0, Mtx arg1) var_r30++; var_r30->x = var_r30->y = var_r30->z = 0.0f; var_r30++; - } - else { + } else { if (!var_r29->unk_2C) { var_r28 = sp98; var_r27 = sp38; - VECScale(var_r27++, var_r28, var_r29->unk_28); - VECAdd(var_r28++, &var_r29->unk_30, var_r30++); - VECScale(var_r27++, var_r28, var_r29->unk_28); - VECAdd(var_r28++, &var_r29->unk_30, var_r30++); - VECScale(var_r27++, var_r28, var_r29->unk_28); - VECAdd(var_r28++, &var_r29->unk_30, var_r30++); - VECScale(var_r27++, var_r28, var_r29->unk_28); - VECAdd(var_r28++, &var_r29->unk_30, var_r30++); - } - else { - VECScale(&lbl_1_data_22C[0], &sp98[0], var_r29->unk_28); - VECScale(&lbl_1_data_22C[1], &sp98[1], var_r29->unk_28); - VECScale(&lbl_1_data_22C[2], &sp98[2], var_r29->unk_28); - VECScale(&lbl_1_data_22C[3], &sp98[3], var_r29->unk_28); - MTXRotRad(spC8, 90, var_r29->unk_2C); - MTXConcat(sp128, spC8, &spF8[0]); - MTXMultVecArray(spF8, &sp98[0], &sp68[0], 4); - VECAdd(&sp68[0], &var_r29->unk_30, var_r30++); - VECAdd(&sp68[1], &var_r29->unk_30, var_r30++); - VECAdd(&sp68[2], &var_r29->unk_30, var_r30++); - VECAdd(&sp68[3], &var_r29->unk_30, var_r30++); + PSVECScale(var_r27++, var_r28, var_r29->unk_28); + PSVECAdd(var_r28++, &var_r29->unk_30, var_r30++); + PSVECScale(var_r27++, var_r28, var_r29->unk_28); + PSVECAdd(var_r28++, &var_r29->unk_30, var_r30++); + PSVECScale(var_r27++, var_r28, var_r29->unk_28); + PSVECAdd(var_r28++, &var_r29->unk_30, var_r30++); + PSVECScale(var_r27++, var_r28, var_r29->unk_28); + PSVECAdd(var_r28++, &var_r29->unk_30, var_r30++); + } else { + PSVECScale(&lbl_1_data_22C[0], &sp98[0], var_r29->unk_28); + PSVECScale(&lbl_1_data_22C[1], &sp98[1], var_r29->unk_28); + PSVECScale(&lbl_1_data_22C[2], &sp98[2], var_r29->unk_28); + PSVECScale(&lbl_1_data_22C[3], &sp98[3], var_r29->unk_28); + PSMTXRotRad(spC8, 90, var_r29->unk_2C); + PSMTXConcat(sp128, spC8, &spF8[0]); + PSMTXMultVecArray(spF8, &sp98[0], &sp68[0], 4); + PSVECAdd(&sp68[0], &var_r29->unk_30, var_r30++); + PSVECAdd(&sp68[1], &var_r29->unk_30, var_r30++); + PSVECAdd(&sp68[2], &var_r29->unk_30, var_r30++); + PSVECAdd(&sp68[3], &var_r29->unk_30, var_r30++); } var_r20 = var_r29->unk_40 & 3; var_r19 = (var_r29->unk_40 >> 2) & 3; @@ -3146,13 +3080,11 @@ void fn_1_88B4(ModelData *arg0, Mtx arg1) if (shadowModelDrawF) { GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ONE, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - } - else { + } else { var_r28 = var_r29->bmp->dataFmt & 15; if (var_r28 == 7 || var_r28 == 8) { GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ONE, GX_CC_RASC, GX_CC_ZERO); - } - else { + } else { GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); } GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); @@ -3168,7 +3100,7 @@ void fn_1_88B4(ModelData *arg0, Mtx arg1) GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_F32, 0); GXSetArray(GX_VA_POS, lbl_1_data_27C, 12); GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); @@ -3222,7 +3154,7 @@ void fn_1_8E48(ModelData *arg0, Mtx arg1) GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - MTXIdentity(sp50); + PSMTXIdentity(sp50); GXLoadPosMtxImm(sp50, 0); GXSetZMode(GX_FALSE, GX_ALWAYS, GX_TRUE); GXSetNumChans(1); diff --git a/src/REL/m427Dll/main.c b/src/REL/m427Dll/main.c deleted file mode 100644 index 7031739f..00000000 --- a/src/REL/m427Dll/main.c +++ /dev/null @@ -1,957 +0,0 @@ -#include "REL/m427Dll.h" - -#include "ext_math.h" -#include "game/audio.h" -#include "game/gamework.h" -#include "game/gamework_data.h" -#include "game/hsfformat.h" -#include "game/hsfman.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/wipe.h" - -#ifndef __MWERKS__ -#include "game/esprite.h" -#endif - -typedef struct M427DllStruct2 { - s32 unk0[3]; - s32 unkC; - s32 unk10; - s32 unk14[7]; - s32 unk30[7]; - HsfVector2f unk4C[7]; - f32 unk84; - f32 unk88; - s32 unk8C; - f32 unk90; - f32 unk94; - f32 unk98; - s32 unk9C; - s32 unkA0; -} M427DllStruct2; // sizeof 0xA4 - -typedef struct M427DllStruct3 { - Vec rot; - Vec cen; - f32 zoom; -} M427DllStruct3; - -Process* lbl_1_bss_8C; -omObjData* lbl_1_bss_88; -s32 lbl_1_bss_84; -s32 lbl_1_bss_80; -s32 lbl_1_bss_7C; -s32 lbl_1_bss_78; -s32 lbl_1_bss_74; -f32 lbl_1_bss_6C[2]; -s32 lbl_1_bss_68; -s32 lbl_1_bss_64; -s32 lbl_1_bss_60; -s32 lbl_1_bss_5C; -s32 lbl_1_bss_58; -s32 lbl_1_bss_54; -s32 lbl_1_bss_50; -s32 lbl_1_bss_4C; -omObjData* lbl_1_bss_48; -s32 lbl_1_bss_44; -M427DllStruct2* lbl_1_bss_40; -M427DllStruct lbl_1_bss_0[8]; - -void fn_1_29C(omObjData*); -void fn_1_300(omObjData*); -void fn_1_1664(omObjData*); -void fn_1_16C4(omObjData*); -void fn_1_1864(s32); -void fn_1_1954(void); -void fn_1_1F34(void); -void fn_1_2188(void); -void fn_1_21E8(s32, s32); -void fn_1_232C(s32); -void fn_1_2518(s32); -void fn_1_2704(void); -void fn_1_272C(void); -void fn_1_2790(void); -void fn_1_2B20(omObjData* object); -void fn_1_2B28(void); -void fn_1_2CE8(f32); -void fn_1_2EE0(void); -void fn_1_2F6C(f32); -void fn_1_3164(void); - -M427DllStruct3 lbl_1_data_0[4] = { - { - { -25.0f, 0.0f, 0.0f }, - { 0.0f, 275.0f, 0.0f }, - 1975.0f - }, - { - { 4.0f, 167.0f, 0.0f }, - { 57.0f, 475.0f, 198.0f }, - 3375.0f - }, - { - { -0.0f, -190.0f, 0.0f }, - { -90.0f, 50.0f, 800.0f }, - 1700.0f - }, - { - { 2.0f, 170.0f, 0.0f }, - { -400.0f, 175.0f, 127.0f }, - 2425.0f - } -}; - -void ObjectSetup(void) { - Process* var_r30; - s32 var_r31; - - OSReport("******* M426ObjectSetup *********\n"); - var_r30 = omInitObjMan(0x32, 0x2000); - lbl_1_bss_8C = var_r30; - omGameSysInit(var_r30); - fn_1_2790(); - Hu3DLightAllKill(); - Hu3DLighInit(); - HuAudSndGrpSet(0x34); - lbl_1_bss_88 = omAddObjEx(var_r30, 0xFF, 2, 0, -1, fn_1_29C); - lbl_1_bss_84 = 0; - lbl_1_bss_80 = 0; - lbl_1_bss_7C = 0; - lbl_1_bss_78 = lbl_1_bss_74 = GWMGRecordGet(2); - if (lbl_1_bss_78 <= 0) { - lbl_1_bss_78 = lbl_1_bss_74 = 0xE10; - } - - lbl_1_bss_68 = lbl_1_bss_64 = 0; - - lbl_1_bss_60 = lbl_1_bss_5C = -1; - lbl_1_bss_58 = -1; - lbl_1_bss_54 = lbl_1_bss_50 = -1; - - for (var_r31 = 0; var_r31 < 2; var_r31++) { - lbl_1_bss_6C[var_r31] = 0.0f; - } - - for (var_r31 = 0; var_r31 < 8; var_r31++) { - lbl_1_bss_0[var_r31].unk0 = -1; - lbl_1_bss_0[var_r31].unk4 = 0; - } -} - -void fn_1_29C(omObjData* arg0) { - fn_1_32F4(lbl_1_bss_8C); - fn_1_E98C(lbl_1_bss_8C); - fn_1_1954(); - fn_1_21E8(0, 1); - arg0->func = fn_1_300; -} - -void fn_1_300(omObjData* arg0) { - s32 sp10[2]; - s32 sp8[2]; - f32 var_f31; - f32 var_f30; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r26; - - switch (lbl_1_bss_84) { - case 0: - lbl_1_bss_80++; - if (lbl_1_bss_80 == 3) { - WipeCreate(1, 0, 0x3C); - lbl_1_bss_4C = 0; - fn_1_21E8(1, 1); - fn_1_2B28(); - } else if ((lbl_1_bss_80 > 3) && (WipeStatGet() == 0)) { - lbl_1_bss_54 = HuAudFXPlay(0x657); - lbl_1_bss_50 = HuAudFXPlay(0x651); - lbl_1_bss_84 = 1; - lbl_1_bss_80 = 0; - lbl_1_bss_7C = 0; - } - break; - case 1: - lbl_1_bss_80++; - var_f31 = lbl_1_bss_80 / 300.0f; - if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - fn_1_11298(sind(90.0f * var_f31)); - if (++lbl_1_bss_7C >= 60.0f) { - lbl_1_bss_84 = 2; - lbl_1_bss_7C = 0; - } - break; - case 2: - lbl_1_bss_80++; - var_f31 = lbl_1_bss_80 / 300.0f; - if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - fn_1_11298(sind(90.0f * var_f31)); - var_f30 = sind(90.0f * (lbl_1_bss_7C / 240.0f)); - fn_1_2CE8(var_f30 * var_f30); - if (++lbl_1_bss_7C >= 240.0f) { - lbl_1_bss_60 = MGSeqCreate(3, 0); - fn_1_2EE0(); - lbl_1_bss_84 = 3; - lbl_1_bss_80 = 0; - lbl_1_bss_7C = 0; - } - break; - case 3: - if (lbl_1_bss_60 != -1) { - var_r28 = MGSeqStatGet(lbl_1_bss_60); - if (((var_r28 & 0x10) != 0) && (lbl_1_bss_58 == -1)) { - lbl_1_bss_58 = HuAudSeqPlay(0x49); - } - } else { - var_r28 = 0; - } - if ((lbl_1_bss_60 == -1) || (var_r28 == 0)) { - lbl_1_bss_84 = 4; - lbl_1_bss_80 = 0; - lbl_1_bss_7C = 0; - } - break; - case 4: - lbl_1_bss_80++; - var_r30 = lbl_1_bss_80; - if (var_r30 > 0x4650) { - var_r30 = 0x4650; - } - - fn_1_2518(var_r30); - for (var_r31 = 0; var_r31 < 8; var_r31++) { - if (lbl_1_bss_0[var_r31].unk0 != -1) { - if (--lbl_1_bss_0[var_r31].unk4 <= 0) { - lbl_1_bss_0[var_r31].unk0 = -1; - lbl_1_bss_0[var_r31].unk4 = 0; - } - } - } - if (lbl_1_bss_80 == 0x3F48) { - lbl_1_bss_5C = MGSeqCreate(1, 0x708, -1, -1); - } - if (lbl_1_bss_5C != -1) { - var_r26 = (0x4650 - lbl_1_bss_80); - var_r30 = (var_r26 + 0x3A) / 60; - if (var_r30 < 0) { - var_r30 = 0; - } - MGSeqParamSet(lbl_1_bss_5C, 1, var_r30); - } - if (lbl_1_bss_68 != 0) { - if (lbl_1_bss_68 != 1 && lbl_1_bss_68 != 2) { - if (((s32)frand() & 1) != 0) { - lbl_1_bss_68 = 1; - } else { - lbl_1_bss_68 = 2; - } - } - if (lbl_1_bss_5C != -1) { - MGSeqParamSet(lbl_1_bss_5C, 2, -1); - } - lbl_1_bss_5C = -1; - lbl_1_bss_60 = MGSeqCreate(3, 1); - if (lbl_1_bss_58 != -1) { - HuAudSeqFadeOut(lbl_1_bss_58, 0x64); - } - - for (var_r31 = 0; var_r31 < 8; var_r31++) { - if ((lbl_1_bss_0[var_r31].unk0 != -1) && (lbl_1_bss_0[var_r31].unk4 > 0)) { - HuAudFXFadeOut(lbl_1_bss_0[var_r31].unk0, 0x64); - } - } - HuAudFXFadeOut(lbl_1_bss_54, 0x64); - HuAudFXFadeOut(lbl_1_bss_50, 0x64); - if ((lbl_1_bss_68 != 0) && (lbl_1_bss_80 < lbl_1_bss_78)) { - if (lbl_1_bss_68 == 1) { - var_r29 = 0; - } else { - var_r29 = 1; - } - if (fn_1_113F0(var_r29) == 0) { - lbl_1_bss_74 = lbl_1_bss_80; - } - } - if ((lbl_1_bss_68 != 0) && (lbl_1_bss_80 <= 0xA8C)) { - if (lbl_1_bss_68 == 1) { - var_r29 = 0; - } else { - var_r29 = 1; - } - if (fn_1_113F0(var_r29) == 0) { - GWGameStat.present[0x34] = 1; - } - } - lbl_1_bss_84 = 5; - lbl_1_bss_80 = 0; - lbl_1_bss_7C = 0; - } else { - if (lbl_1_bss_80 >= 0x4651) { - MGSeqParamSet(lbl_1_bss_5C, 1, 0); - MGSeqParamSet(lbl_1_bss_5C, 2, -1); - lbl_1_bss_5C = -1; - lbl_1_bss_60 = MGSeqCreate(3, 1); - if (lbl_1_bss_58 != -1) { - HuAudSeqFadeOut(lbl_1_bss_58, 0x64); - } - - for (var_r31 = 0; var_r31 < 8; var_r31++) { - if ((lbl_1_bss_0[var_r31].unk0 != -1) && (lbl_1_bss_0[var_r31].unk4 > 0)) { - HuAudFXFadeOut(lbl_1_bss_0[var_r31].unk0, 0x64); - } - } - HuAudFXFadeOut(lbl_1_bss_54, 0x64); - HuAudFXFadeOut(lbl_1_bss_50, 0x64); - lbl_1_bss_64 = 1; - lbl_1_bss_84 = 5; - lbl_1_bss_80 = 0; - lbl_1_bss_7C = 0; - } - } - break; - case 5: - if (lbl_1_bss_68 != 0) { - WipeCreate(2, 0, 0x3C); - WipeColorSet(0xFF, 0xFF, 0xFF); - lbl_1_bss_4C = 1; - lbl_1_bss_84 = 6; - lbl_1_bss_80 = 0; - lbl_1_bss_7C = 0; - } else if ((lbl_1_bss_60 == -1) || (MGSeqStatGet(lbl_1_bss_60) == 0)) { - lbl_1_bss_84 = 0xA; - lbl_1_bss_80 = 0; - lbl_1_bss_7C = 0; - } - break; - case 6: - if ((WipeStatGet() == 0) && ((lbl_1_bss_60 == -1) || (MGSeqStatGet(lbl_1_bss_60) == 0))) { - lbl_1_bss_60 = -1; - fn_1_21E8(0, 0); - fn_1_3164(); - HuAudFXAllStop(); - HuAudFXPlay(0x65E); - lbl_1_bss_84 = 7; - lbl_1_bss_80 = 0; - lbl_1_bss_7C = 0; - } - break; - case 7: - if (++lbl_1_bss_80 > 5) { - WipeCreate(1, 0, 0x1E); - WipeColorSet(0xFF, 0xFF, 0xFF); - lbl_1_bss_4C = 0; - HuAudAUXVolSet(-1, -1); - fn_1_272C(); - lbl_1_bss_84 = 8; - lbl_1_bss_80 = 0; - lbl_1_bss_7C = 0; - } - break; - case 8: - if (WipeStatGet() == 0) { - lbl_1_bss_84 = 0xA; - lbl_1_bss_80 = 0; - lbl_1_bss_7C = 0; - } - break; - case 10: - if (lbl_1_bss_68 != 0) { - var_f31 = sind((90.0f * (lbl_1_bss_80 / 180.0f))); - if (var_f31 >= 1.0f) { - var_f31 = 1.0f; - } - fn_1_11298(var_f31); - if (lbl_1_bss_80 > 30.0f) { - var_f30 = lbl_1_bss_7C / 150.0f; - lbl_1_bss_7C++; - if (var_f30 >= 1.0f) { - var_f30 = 1.0f; - } - var_f30 = sind(90.0f * var_f30); - fn_1_2F6C(var_f30); - } - if (++lbl_1_bss_80 > 180.0f) { - if (lbl_1_bss_68 == 1) { - fn_1_110E8(0, sp10); - fn_1_111C0(0, sp8); - } else { - fn_1_110E8(1, sp10); - fn_1_111C0(1, sp8); - } - GWPlayerCoinWinAdd(sp8[0], 10); - GWPlayerCoinWinAdd(sp8[1], 10); - if (lbl_1_bss_74 < lbl_1_bss_78) { - lbl_1_bss_78 = lbl_1_bss_74; - fn_1_232C(lbl_1_bss_78); - GWMGRecordSet(2, lbl_1_bss_78); - fn_1_2704(); - lbl_1_bss_60 = MGSeqCreate(0xE, lbl_1_bss_78); - lbl_1_bss_7C = 0xB4; - lbl_1_bss_84 = 0xB; - lbl_1_bss_80 = 0; - } else { - lbl_1_bss_60 = MGSeqCreate(5, 3, sp10[0], sp10[1], -1, -1); - HuAudSStreamPlay(1); - lbl_1_bss_7C = 0xB4; - lbl_1_bss_84 = 0xC; - lbl_1_bss_80 = 0; - } - } - } else { - lbl_1_bss_60 = MGSeqCreate(3, 2); - HuAudSStreamPlay(4); - lbl_1_bss_7C = 0xB4; - lbl_1_bss_84 = 0xC; - lbl_1_bss_80 = 0; - } - break; - case 11: - if ((lbl_1_bss_60 == -1) || (MGSeqStatGet(lbl_1_bss_60) == 0)) { - if (lbl_1_bss_68 == 1) { - fn_1_110E8(0, sp10); - } else { - fn_1_110E8(1, sp10); - } - lbl_1_bss_60 = MGSeqCreate(5, 3, sp10[0], sp10[1], -1, -1); - HuAudSStreamPlay(1); - lbl_1_bss_7C = 0xB4; - lbl_1_bss_84 = 0xC; - lbl_1_bss_80 = 0; - } - break; - case 12: - if (++lbl_1_bss_80 >= 210.0f) { - WipeCreate(2, 0, 0x3C); - lbl_1_bss_4C = 1; - lbl_1_bss_84 = 0xD; - lbl_1_bss_80 = 0; - lbl_1_bss_7C = 0; - } - break; - case 13: - if (WipeStatGet() == 0) { - lbl_1_bss_84 = 0xE; - lbl_1_bss_80 = 0; - lbl_1_bss_7C = 0; - } - break; - case 14: - arg0->func = fn_1_1664; - break; - } - fn_1_1F34(); - fn_1_16C4(arg0); -} - -void fn_1_1664(omObjData* arg0) { - if (WipeStatGet() == 0) { - fn_1_EC54(); - fn_1_3A88(); - fn_1_2188(); - CharModelKill(-1); - HuDataDirClose(0x3A0000); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - } -} - -void fn_1_16C4(omObjData* arg0) { - s32 var_r30; - - var_r30 = 0; - if ((WipeStatGet() != 0) || (arg0->func == fn_1_1664)) { - return; - } - if (omSysExitReq != 0) { - var_r30 = 1; - } - if (var_r30 != 0) { - if ((s32) lbl_1_bss_4C == 0) { - WipeCreate(2, 0, 0x3C); - } - lbl_1_bss_4C = 1; - HuAudStreamFadeOut(0x1E); - arg0->func = fn_1_1664; - } -} - -s32 fn_1_1788(void) { - return lbl_1_bss_84; -} - -void fn_1_1798(s32 arg0, f32 arg8) { - - if (arg8 < 0.0f) { - arg8 = 0.0f; - } else if (arg8 > 1.0f) { - arg8 = 1.0f; - } - lbl_1_bss_6C[arg0] = arg8; - if (lbl_1_bss_6C[arg0] >= 1.0f) { - fn_1_1864(1 << arg0); - } -} - -void fn_1_1864(s32 arg0) { - lbl_1_bss_68 |= arg0; -} - -s32 fn_1_1884(void) { - if (lbl_1_bss_68 != 0) { - if (lbl_1_bss_68 != 1 && lbl_1_bss_68 != 2) { - if (((s32)frand() & 1) != 0) { - lbl_1_bss_68 = 1; - } else { - lbl_1_bss_68 = 2; - } - } - if (lbl_1_bss_68 == 1) { - return 0; - } else { - return 1; - } - } else { - if (lbl_1_bss_64 != 0) { - return 3; - } else { - return -1; - } - } -} - -s32 lbl_1_data_D0[2] = { 0x3A0029, 0x3A002A }; -s16 lbl_1_data_D8[2] = { -24, 24 }; -s16 lbl_1_data_DC[2] = { -10, 10 }; -s16 lbl_1_data_E0[2] = { 350, 96 }; - -void fn_1_1954(void) { - f32 temp_f28; - f32 temp_f29; - f32 var_f31; - f32 var_f30; - s32 var_r29; - s32 var_r31; - M427DllStruct2* var_r30; - - var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xA4, 0x10000000); - lbl_1_bss_40 = var_r30; - var_r30->unk9C = 0; - var_r30->unkA0 = 0; - var_r31 = espEntry(0x3A0028, 1, 0); - var_r30->unk0[0] = var_r31; - espPriSet(var_r31, 0xFF); - espDispOn(var_r31); - espDrawNoSet(var_r31, 0); - espAttrSet(var_r31, 1); - espBankSet(var_r31, 0); - espPosSet(var_r31, 288.0, 240.0); - - for (var_r29 = 0; var_r29 < 2; var_r29++) { - var_r31 = espEntry(lbl_1_data_D0[var_r29], 1, 0); - var_r30->unk0[var_r29 + 1] = var_r31; - espPriSet(var_r31, 0xC8); - espDispOn(var_r31); - espDrawNoSet(var_r31, 0); - espAttrSet(var_r31, 1); - espBankSet(var_r31, 0); - espPosSet(var_r31, 288.0f + lbl_1_data_D8[var_r29], 240.0); - } - - temp_f28 = 288.0f; - temp_f29 = 400.0f; - var_f31 = 288.0f; - var_f30 = temp_f29; - var_r31 = espEntry(0x3A002B, 1, 0); - var_r30->unkC = var_r31; - espPriSet(var_r31, 0xBE); - espDispOn(var_r31); - espDrawNoSet(var_r31, 0); - espAttrSet(var_r31, 1); - espBankSet(var_r31, 0); - espTPLvlSet(var_r31, 0.5); - espColorSet(var_r31, 0x80, 0x80, 0x80); - espScaleSet(var_r31, 1.25, 1.5); - espPosSet(var_r31, var_f31, var_f30); - var_f31 = 248.0f; - var_f30 = temp_f29 - 8.0f; - var_r31 = espEntry(0x610037, 1, 0); - var_r30->unk10 = var_r31; - espPriSet(var_r31, 0xBE); - espDispOn(var_r31); - espDrawNoSet(var_r31, 0); - espAttrSet(var_r31, 1); - espBankSet(var_r31, 0); - espScaleSet(var_r31, 1.0, 1.0); - espPosSet(var_r31, var_f31 - 18.0f, var_f30); - var_r30->unk84 = ((var_f31 - 18.0f) - temp_f28); - var_r30->unk88 = (var_f30 - temp_f29); - var_r30->unk8C = -1; - var_r30->unk98 = 1.0f; - var_r30->unk90 = temp_f28; - var_r30->unk94 = temp_f29; - var_f31 = 248.0f; - var_f30 = temp_f29 - 8.0f; - - for (var_r29 = 0; var_r29 < 7; var_r29++) { - var_r31 = espEntry(0x610030, 1, 0); - var_r30->unk14[var_r29] = var_r31; - espPriSet(var_r31, 0xB4); - espDispOn(var_r31); - espDrawNoSet(var_r31, 0); - espAttrSet(var_r31, 9); - espScaleSet(var_r31, 1.0, 1.0); - espPosSet(var_r31, var_f31, var_f30); - if (var_r29 == 1) { - espBankSet(var_r31, 10); - } else if (var_r29 == 4) { - espBankSet(var_r31, 11); - } else { - espBankSet(var_r31, 0); - } - var_r30->unk4C[var_r29].x = var_f31 - temp_f28; - var_r30->unk4C[var_r29].y = var_f30 - temp_f29; - var_f31 += 16.0f; - } - var_f31 = 248.0f; - var_f30 = 8.0f + temp_f29; - - for (var_r29 = 0; var_r29 < 7; var_r29++) { - var_r31 = espEntry(0x610031, 1, 0); - var_r30->unk30[var_r29] = var_r31; - espPriSet(var_r31, 0xB4); - espDispOn(var_r31); - espDrawNoSet(var_r31, 0); - espAttrSet(var_r31, 1); - espScaleSet(var_r31, 1.0, 1.0); - espPosSet(var_r31, var_f31, var_f30); - if (var_r29 == 1) { - espBankSet(var_r31, 10); - } else if (var_r29 == 4) { - espBankSet(var_r31, 11); - } else { - espBankSet(var_r31, 0); - } - var_f31 += 16.0f; - } - fn_1_232C(lbl_1_bss_78); - fn_1_2518(0); -} - -void fn_1_1F34(void) { - f32 var_f30; - f32 temp_f31; - s32 var_r29; - s32 var_r30; - M427DllStruct2* temp_r31; - - temp_r31 = lbl_1_bss_40; - for (var_r30 = 0; var_r30 < 2; var_r30++) { - var_r29 = temp_r31->unk0[var_r30 + 1]; - var_f30 = lbl_1_data_E0[0] + (lbl_1_bss_6C[var_r30] * (lbl_1_data_E0[1] - lbl_1_data_E0[0])); - espPosSet(var_r29, 288.0f + lbl_1_data_DC[var_r30], var_f30); - } - if (temp_r31->unk8C != -1) { - if (temp_r31->unk8C == 0) { - if ((temp_r31->unk98 += 0.02f) >= 1.2f) { - temp_r31->unk98 = 1.2f; - temp_r31->unk8C = 1; - } - } else { - if ((temp_r31->unk98 -= 0.04f) <= 1.0f) { - temp_r31->unk98 = 1.0f; - temp_r31->unk8C = 0; - } - } - temp_f31 = temp_r31->unk98; - - for (var_r30 = 0; var_r30 < 7; var_r30++) { - var_r29 = temp_r31->unk14[var_r30]; - espScaleSet(var_r29, temp_f31, temp_f31); - } - var_r29 = temp_r31->unk10; - espScaleSet(var_r29, temp_f31, temp_f31); - } -} - -void fn_1_2188(void) { - M427DllStruct2* temp_r31; - s32 var_r30; - - temp_r31 = lbl_1_bss_40; - for (var_r30 = 0; var_r30 < 3; var_r30++) { - espKill(temp_r31->unk0[var_r30]); - } - espKill(temp_r31->unkC); -} - -void fn_1_21E8(s32 arg0, s32 arg1) { - M427DllStruct2* temp_r31; - s32 var_r30; - - temp_r31 = lbl_1_bss_40; - for (var_r30 = 0; var_r30 < 3; var_r30++) { - if (arg0 == 0) { - espDispOff(temp_r31->unk0[var_r30]); - } else { - espDispOn(temp_r31->unk0[var_r30]); - } - } - if (arg1 != 0) { - if (arg0 == 0) { - espDispOff(temp_r31->unkC); - } else { - espDispOn(temp_r31->unkC); - } - if (arg0 == 0) { - espDispOff(temp_r31->unk10); - } else { - espDispOn(temp_r31->unk10); - } - - for (var_r30 = 0; var_r30 < 7; var_r30++) { - if (arg0 == 0) { - espDispOff(temp_r31->unk14[var_r30]); - } else { - espDispOn(temp_r31->unk14[var_r30]); - } - } - - for (var_r30 = 0; var_r30 < 7; var_r30++) { - if (arg0 == 0) { - espDispOff(temp_r31->unk30[var_r30]); - } else { - espDispOn(temp_r31->unk30[var_r30]); - } - } - } -} - -void fn_1_232C(s32 arg0) { - M427DllStruct2* temp_r29; - f32 temp_f0; - s32 var_r31; - - temp_r29 = lbl_1_bss_40; - temp_r29->unk9C = arg0; - var_r31 = arg0 / 3600; - arg0 -= var_r31 * 3600; - if (var_r31 > 9) { - var_r31 = 9; - } else if (var_r31 < 0) { - var_r31 = 0; - } - espBankSet(temp_r29->unk14[0], var_r31); - var_r31 = (arg0 / 600); - arg0 -= var_r31 * 600; - if (var_r31 > 9) { - var_r31 = 9; - } else if (var_r31 < 0) { - var_r31 = 0; - } - espBankSet(temp_r29->unk14[2], var_r31); - var_r31 = arg0 / 60; - arg0 -= var_r31 * 60; - if (var_r31 > 9) { - var_r31 = 9; - } else if (var_r31 < 0) { - var_r31 = 0; - } - espBankSet(temp_r29->unk14[3], var_r31); - arg0 = 100.0f * (arg0 / 60.0f); - var_r31 = arg0 / 10; - arg0 -= var_r31 * 10; - if (var_r31 > 9) { - var_r31 = 9; - } else if (var_r31 < 0) { - var_r31 = 0; - } - espBankSet(temp_r29->unk14[5], var_r31); - var_r31 = arg0; - if (var_r31 > 9) { - var_r31 = 9; - } else if (var_r31 < 0) { - var_r31 = 0; - } - espBankSet(temp_r29->unk14[6], var_r31); -} - -void fn_1_2518(s32 arg0) { - M427DllStruct2* temp_r29; - f32 temp_f0; - s32 var_r31; - - temp_r29 = lbl_1_bss_40; - temp_r29->unkA0 = arg0; - var_r31 = arg0 / 3600; - arg0 -= var_r31 * 3600; - if (var_r31 > 9) { - var_r31 = 9; - } else if (var_r31 < 0) { - var_r31 = 0; - } - espBankSet(temp_r29->unk30[0], var_r31); - var_r31 = (arg0 / 600); - arg0 -= var_r31 * 600; - if (var_r31 > 9) { - var_r31 = 9; - } else if (var_r31 < 0) { - var_r31 = 0; - } - espBankSet(temp_r29->unk30[2], var_r31); - var_r31 = arg0 / 60; - arg0 -= var_r31 * 60; - if (var_r31 > 9) { - var_r31 = 9; - } else if (var_r31 < 0) { - var_r31 = 0; - } - espBankSet(temp_r29->unk30[3], var_r31); - arg0 = 100.0f * (arg0 / 60.0f); - var_r31 = arg0 / 10; - arg0 -= var_r31 * 10; - if (var_r31 > 9) { - var_r31 = 9; - } else if (var_r31 < 0) { - var_r31 = 0; - } - espBankSet(temp_r29->unk30[5], var_r31); - var_r31 = arg0; - if (var_r31 > 9) { - var_r31 = 9; - } else if (var_r31 < 0) { - var_r31 = 0; - } - espBankSet(temp_r29->unk30[6], var_r31); -} - -void fn_1_2704(void) { - M427DllStruct2* var_r31; - - var_r31 = lbl_1_bss_40; - var_r31->unk8C = 0; -} - -void fn_1_272C(void) { - M427DllStruct2* var_r31; - s32 temp_r30; - - var_r31 = lbl_1_bss_40; - temp_r30 = var_r31->unkC; - espTPLvlSet(temp_r30, 0.5); - espColorSet(temp_r30, 0, 0, 0); -} - -void fn_1_2790(void) { - omObjData* var_r30; - s32 var_r31; - - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, -1.0f, 300.0f, 50000.0f, 0.6f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 320.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(1, 0, 0, 0x140, 0x1E0); - Hu3DCameraCreate(2); - Hu3DCameraPerspectiveSet(2, -1.0f, 300.0f, 50000.0f, 0.6f); - Hu3DCameraViewportSet(2, 320.0f, 0.0f, 320.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(2, 0x140, 0, 0x140, 0x1E0); - Hu3DCameraCreate(4); - Hu3DCameraPerspectiveSet(4, -1.0f, 100.0f, 50000.0f, 1.2f); - Hu3DCameraViewportSet(4, 0.0f, 0.0f, 576.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(4, 0, 0, 0x280, 0x1E0); - var_r30 = lbl_1_bss_48 = omAddObjEx(lbl_1_bss_8C, 0x7FDA, 0, 0, -1, omOutViewMulti); - var_r30->work[0] = 3; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - CRotM[var_r31].x = lbl_1_data_0[0].rot.x; - CRotM[var_r31].y = lbl_1_data_0[0].rot.y; - CRotM[var_r31].z = lbl_1_data_0[0].rot.z; - CenterM[var_r31].x = lbl_1_data_0[0].cen.x; - CenterM[var_r31].y = lbl_1_data_0[0].cen.y; - CenterM[var_r31].z = lbl_1_data_0[0].cen.z; - CZoomM[var_r31] = lbl_1_data_0[0].zoom; - } - lbl_1_bss_44 = 0; - omAddObjEx(lbl_1_bss_8C, 0x3F, 0, 0, -1, fn_1_2B20); -} - -void fn_1_2B20(omObjData* object) {} - -void fn_1_2B24(void) {} - -void fn_1_2B28(void) { - s32 var_r31; - - Hu3DCameraPerspectiveSet(1, 45.0f, 300.0f, 50000.0f, 0.6f); - Hu3DCameraPerspectiveSet(2, 45.0f, 300.0f, 50000.0f, 0.6f); - Hu3DCameraPerspectiveSet(4, 45.0f, 100.0f, 50000.0f, 1.2f); - - for (var_r31 = 0; var_r31 < 2; var_r31++) { - CRotM[var_r31].x = lbl_1_data_0[2].rot.x; - CRotM[var_r31].y = lbl_1_data_0[2].rot.y; - CRotM[var_r31].z = lbl_1_data_0[2].rot.z; - CenterM[var_r31].x = lbl_1_data_0[2].cen.x; - CenterM[var_r31].y = lbl_1_data_0[2].cen.y; - CenterM[var_r31].z = lbl_1_data_0[2].cen.z; - CZoomM[var_r31] = lbl_1_data_0[2].zoom; - } -} - -void fn_1_2CE8(f32 arg0) { - s32 var_r31; - - for (var_r31 = 0; var_r31 < 2; var_r31++) { - CRotM[var_r31].x = fn_1_168FC(arg0, lbl_1_data_0[2].rot.x, lbl_1_data_0->rot.x); - CRotM[var_r31].y = fn_1_168FC(arg0, lbl_1_data_0[2].rot.y, lbl_1_data_0->rot.z); - CRotM[var_r31].z = fn_1_168FC(arg0, lbl_1_data_0[2].rot.z, lbl_1_data_0->rot.z); - CenterM[var_r31].x = lbl_1_data_0[2].cen.x + (arg0 * (lbl_1_data_0->cen.x - lbl_1_data_0[2].cen.x)); - CenterM[var_r31].y = lbl_1_data_0[2].cen.y + (arg0 * (lbl_1_data_0->cen.y - lbl_1_data_0[2].cen.y)); - CenterM[var_r31].z = lbl_1_data_0[2].cen.z + (arg0 * (lbl_1_data_0->cen.z - lbl_1_data_0[2].cen.z)); - CZoomM[var_r31] = lbl_1_data_0[2].zoom + (arg0 * (lbl_1_data_0->zoom - lbl_1_data_0[2].zoom)); - } -} - -void fn_1_2EE0(void) { - Hu3DCameraPerspectiveSet(1, 45.0f, 700.0f, 50000.0f, 0.6f); - Hu3DCameraPerspectiveSet(2, 45.0f, 700.0f, 50000.0f, 0.6f); -} - -void fn_1_2F6C(f32 arg0) { - s32 var_r31; - - for (var_r31 = 0; var_r31 < 2; var_r31++) { - CRotM[var_r31].x = fn_1_168FC(arg0, lbl_1_data_0[1].rot.x, lbl_1_data_0[3].rot.x); - CRotM[var_r31].y = fn_1_168FC(arg0, lbl_1_data_0[1].rot.y, lbl_1_data_0[3].rot.y); - CRotM[var_r31].z = fn_1_168FC(arg0, lbl_1_data_0[1].rot.z, lbl_1_data_0[3].rot.z); - CenterM[var_r31].x = lbl_1_data_0[1].cen.x + (arg0 * (lbl_1_data_0[3].cen.x - lbl_1_data_0[1].cen.x)); - CenterM[var_r31].y = lbl_1_data_0[1].cen.y + (arg0 * (lbl_1_data_0[3].cen.y - lbl_1_data_0[1].cen.y)); - CenterM[var_r31].z = lbl_1_data_0[1].cen.z + (arg0 * (lbl_1_data_0[3].cen.z - lbl_1_data_0[1].cen.z)); - CZoomM[var_r31] = lbl_1_data_0[1].zoom + (arg0 * (lbl_1_data_0[3].zoom - lbl_1_data_0[1].zoom)); - } -} - -void fn_1_3164(void) { - lbl_1_bss_48->work[0] = 1; - Hu3DCameraKill(2); - Hu3DCameraKill(4); - Hu3DCameraPerspectiveSet(1, 45.0f, 100.0f, 50000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(1, 0, 0, 0x280, 0x1E0); - CRotM->x = lbl_1_data_0[1].rot.x; - CRotM->y = lbl_1_data_0[1].rot.y; - CRotM->z = lbl_1_data_0[1].rot.z; - CenterM->x = lbl_1_data_0[1].cen.x; - CenterM->y = lbl_1_data_0[1].cen.y; - CenterM->z = lbl_1_data_0[1].cen.z; - *CZoomM = lbl_1_data_0[1].zoom; -} - -s32 fn_1_32EC(void) { - return 0; -} diff --git a/src/REL/m427Dll/map.c b/src/REL/m427Dll/map.c deleted file mode 100644 index fa191ed6..00000000 --- a/src/REL/m427Dll/map.c +++ /dev/null @@ -1,3157 +0,0 @@ -#include "REL/m427Dll.h" - -#include "dolphin/gx/GXEnum.h" -#include "dolphin/gx/GXStruct.h" -#include "dolphin/gx/GXVert.h" -#include "dolphin/pad.h" -#include "ext_math.h" -#include "game/animdata.h" -#include "game/audio.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/object.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "string.h" - -extern s32 rand8(void); -extern LightData Hu3DLocalLight[0x20]; - -#define FABS(value) ((value < 0) ? -(value) : (value)) - -typedef struct M427DllStruct2 { - s32 unk0[3]; - s32 unkC; - s32 unk10; - s32 unk14[7]; - s32 unk30[7]; - HsfVector2f unk4C[7]; - f32 unk84; - f32 unk88; - s32 unk8C; - f32 unk90; - f32 unk94; - f32 unk98; - s32 unk9C; - s32 unkA0; -} M427DllStruct2; // sizeof 0xA4 - -typedef struct M427DllStruct3 { - Vec rot; - Vec cen; - f32 zoom; -} M427DllStruct3; // sizeof 0x1C - -typedef struct M427DllMapStruct { - u8 unk0; - char unk_1; - s16 unk2; - s16 unk4; - char unk_6[0x2]; - AnimData *unk8; - Vec unkC; - Vec unk18; - Vec unk24; - Vec unk30; - Vec2f unk3C; - Vec2f unk44; - Vec2f unk4C; - Vec2f unk54; - Vec2f unk5C[4]; - GXColor unk7C; - void *unk80; - s32 unk84; - float unk88; - float unk8C; - float unk90; - float unk94; -} M427DllMapStruct; // sizeof 0x98 - -typedef struct M427DllMapStruct2 { - s8 unk0; - s16 unk2; - s16 unk4; -} M427DllMapStruct2; // sizeof 0x6 - -typedef struct M427DllMapSubstruct { - s16 unk0; - Vec unk4; -} M427DllMapSubstruct; // sizeof 0x10 - -typedef struct M427DllMapSubstruct2 { - s16 unk0; - Vec unk4; - s16 unk10[2]; - s16 unk14[4]; -} M427DllMapSubstruct2; // sizeof 0x1C - -typedef struct M427DllMapSubstruct7 { - s16 unk0; - s32 unk4; - void *unk8; -} M427DllMapSubstruct7; // sizeof 0xC - -typedef struct M427DllMapUNKB8 { - s16 unk0; - s16 unk2; - s16 unk4; - s16 unk6; - u8 unk8; - s16 unkA; - float unkC; - float unk_10; - float unk_14; - s16 unk18; - s16 unk1A; - s16 unk1C; - s16 unk1E; - float unk20; - float unk24; - float unk28; - float unk2C; -} M427DllMapUNKB8; // sizeof 0x30 - -typedef struct M427DllMapUNK17E { - s16 unk0; - s16 unk2; -} M427DllMapUNK17E; // sizeof 0x4 - -typedef struct M427DllMapSubstruct3Sub { - s16 unk0; - void *unk4; - u32 unk8; -} M427DllMapSubstruct3Sub; // sizeof 0xC - -typedef struct M427DllMapSubstruct3 { - s16 unk0; - s16 unk2[11]; - s16 unk18; - s16 unk1A; - s16 unk1C; - s16 unk1E; - s16 unk20; - char unk_22[2]; - float unk24[4]; - s16 unk34[4]; - s16 unk3C[4]; - s16 unk44[0xB]; - s16 unk5A; - s16 unk5C; - char unk_5E[2]; - Vec unk_60; - Vec unk_6C; - Vec unk78; - Vec unk84; - f32 unk90; - M427DllMapSubstruct3Sub unk94; - char unk_A0[0xC]; - struct M427DllMapStruct6 *unkAC; - s16 unkB0[1]; - char unk_B2[0x6]; - M427DllMapUNKB8 unkB8[2][2]; - s16 unk178[3]; - M427DllMapUNK17E unk17E[2][2]; - s16 unk18E[2]; - char unk194[4]; -} M427DllMapSubstruct3; // sizeof 0x198 - -typedef struct M427DllMapStruct3Sub { - AnimData *unk_00; - AnimData *unk_04; - float unk_08; - float unk_0C; - float unk_10; - float unk_14; -} M427DllMapStruct3Sub; // sizeof 0x18 - -typedef struct M427DllMapStruct3 { - u8 unk0; - M427DllMapSubstruct3 unk4[2]; - M427DllMapStruct3Sub unk334; - M427DllMapSubstruct2 unk34C[3]; - M427DllMapSubstruct unk3A0[5]; -} M427DllMapStruct3; // sizeof 0x3F0 - -typedef struct M427DllMapSubstruct5 { - s16 unk0; - s16 unk2; - s16 unk4; - s16 unk6; - Vec unk8; - char unk14[0x8]; -} M427DllMapSubstruct5; // sizeof 0x1C - -typedef struct M427DllMapStruct4 { - s16 unk0; - Vec *unk4; - Vec2f *unk8; - Vec *unkC; - GXColor *unk10; - s16 unk14; - s16 unk16; - s16 unk18; - M427DllMapSubstruct5 *unk1C; - void *unk20; - u32 unk24; - void *unk28; - u32 unk2C; - void *unk30; - u32 unk34; - f32 unk38; - f32 unk3C; - f32 unk40; - f32 unk44; - s16 unk48[1]; - s16 unk4A; -} M427DllMapStruct4; // sizeof 0x4C - -typedef struct M427DllMapStruct5 { - f32 unk0; - f32 unk4; - f32 unk8; - f32 unkC; - f32 unk10; -} M427DllMapStruct5; // sizeof 0x14 - -typedef struct M427DllMapStruct6 { - s16 unk_00; - Vec *unk_04; - Vec *unk_08; - float unk_0C; - float unk_10; - float unk_14; - float unk_18; - float unk_1C; - float unk_20; - float unk_24; - AnimData *unk_28; - Vec *unk_2C; - Vec2f *unk_30; - Vec *unk_34; - s16 unk_38; - s16 unk_3A; - s16 unk_3C; - char pad_3E[2]; - void *unk_40; - u32 unk_44; - M427DllMapSubstruct5 *unk_48; - float unk_4C; - float unk_50; - float unk_54; - float unk_58; - float unk_5C; - /* 0x60 */ float unk_60; -} M427DllMapStruct6; /* size = 0x64, stored in unk_120 */ - -typedef struct M427DllMapSubstruct6 { - /* 0x00 */ float unk_00; - /* 0x04 */ float unk_04; - /* 0x08 */ float unk_08; - /* 0x0C */ char pad_0C[0xC]; /* maybe part of unk_08[4]? */ - /* 0x18 */ float unk_18; - /* 0x1C */ float unk_1C; - /* 0x20 */ float unk_20; - /* 0x24 */ float unk_24; - /* 0x28 */ float unk_28; - /* 0x2C */ float unk_2C; - /* 0x30 */ float unk_30; - /* 0x34 */ s16 unk_34; - /* 0x36 */ s16 unk_36; - /* 0x38 */ s16 unk_38; - /* 0x3A */ char pad_3A[2]; - /* 0x3C */ s32 unk_3C; - /* 0x40 */ s16 unk_40; - /* 0x42 */ char pad_42[2]; - /* 0x44 */ float unk_44; - /* 0x48 */ Vec unk_48; - /* 0x54 */ Vec unk_54; - /* 0x60 */ s16 unk_60; - /* 0x62 */ s8 unk_62; - /* 0x63 */ char pad_63[1]; -} M427DllMapSubstruct6; // sizeof 0x64 - -typedef void (*M427DllHook)(ModelData *model, struct M427DllMapStruct7 *particle, Mtx matrix); - -typedef struct M427DllMapStruct7 { - /* 0x00 */ s16 unk_00; - /* 0x02 */ char pad_02[2]; - /* 0x04 */ u32 unk_04; - /* 0x08 */ u8 unk_08; - /* 0x09 */ char pad_09[3]; /* maybe part of unk_08[4]? */ - /* 0x0C */ M427DllHook unk_0C; - /* 0x10 */ AnimData *unk_10; - /* 0x14 */ s16 unk_14; - /* 0x16 */ char pad_16[2]; - /* 0x18 */ M427DllMapSubstruct6 *unk_18; - /* 0x1C */ Vec *unk_1C; - /* 0x20 */ Vec2f *unk_20; - /* 0x24 */ GXColor *unk_24; - /* 0x28 */ void *unk_28; - /* 0x2C */ Vec unk_2C; - /* 0x38 */ float unk_38; - /* 0x3C */ float unk_3C; - /* 0x40 */ float unk_40; - /* 0x44 */ float unk_44; - /* 0x48 */ float unk_48; - /* 0x4C */ float unk_4C; - /* 0x50 */ float unk_50; - /* 0x54 */ float unk_54; - /* 0x58 */ float unk_58; - /* 0x5C */ Vec2f *unk_5C; - /* 0x60 */ float unk_60; - /* 0x64 */ float unk_64; -} M427DllMapStruct7; /* size = 0x68, stored in unk_120 */ - -GXColor lbl_1_data_E8 = { 0xFF, 0xFF, 0xFF, 0xFF }; - -omObjData *lbl_1_bss_548; -M427DllMapStruct3 lbl_1_bss_158; -M427DllMapStruct2 lbl_1_bss_F8[0x10]; -AnimData *lbl_1_bss_F4; -M427DllMapStruct *lbl_1_bss_F0; -s16 lbl_1_bss_EC[2]; -s16 lbl_1_bss_E8[2]; -M427DllMapStruct5 *lbl_1_bss_E4; -M427DllMapStruct4 lbl_1_bss_98; -f32 lbl_1_bss_94; -s8 lbl_1_bss_91; -s8 lbl_1_bss_90; - -void fn_1_372C(void); -void fn_1_4218(omObjData *object); -void fn_1_44F4(f32, f32, f32, f32, f32); -void fn_1_48EC(ModelData *model, Mtx matrix); -void fn_1_4D7C(ModelData *model, Mtx matrix); -void fn_1_50A0(ModelData *model, Mtx matrix); -void fn_1_510C(s32, s16, s16); -void fn_1_558C(M427DllMapStruct4 *); -void fn_1_618C(ModelData *model, Mtx matrix); -void fn_1_6760(omObjData *object); -void fn_1_C2C8(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3); -void fn_1_D22C(ModelData *model, struct M427DllMapStruct7 *arg1, Mtx matrix); -s16 fn_1_D63C(AnimData *arg0, s16 arg1, float arg8, s16 arg2, s16 arg3); -void fn_1_DB80(s16); -void fn_1_DC64(s16, M427DllHook); -void fn_1_DC9C(s16, u8); - -void fn_1_72E4(omObjData *arg0); -void fn_1_73BC(void); -void fn_1_794C(M427DllMapSubstruct3 *arg0, s16 arg1); -void fn_1_7C34(void); -void fn_1_7E60(s16 arg0, M427DllMapSubstruct3 *arg1); -void fn_1_7F38(void); -void fn_1_85D4(s16 arg0, M427DllMapSubstruct3 *arg1); -void fn_1_8768(M427DllMapSubstruct3 *arg0, M427DllMapUNKB8 *arg1, s16 arg2, float arg8, float arg9); -void fn_1_8E1C(u8 arg0, M427DllMapSubstruct3 *arg1, M427DllMapUNKB8 *arg2); -void fn_1_8F90(omObjData *object); -void fn_1_9240(void); -void fn_1_9318(s16 *arg0, s16 arg1); -void fn_1_93EC(s32 arg0, s32 arg1, float arg8, float arg9, float argA, float argB); -s16 fn_1_95E8(s32 arg0, s16 arg1, s16 arg2, float arg8, float arg9, float argA, float argB, float argC); -void fn_1_9958(s16 arg0, u8 arg1); -void fn_1_999C(s16 arg0, u8 arg1); -void fn_1_99E4(s16 arg0, u8 arg1, u8 arg2, u8 arg3, u8 arg4); -void fn_1_9A2C(s16 arg0, float arg8, float arg9, float argA); -void fn_1_9AA0(s16 arg0, float arg8, float arg9, float argA); -void fn_1_9B14(s16 arg0, float arg8, float arg9, float argA); -void fn_1_9B88(ModelData *model, Mtx matrix); -void fn_1_A148(ModelData *model, Mtx matrix); -s16 fn_1_A1F4(s32 arg0, s16 arg1, s16 arg2, s16 arg3, float arg8, Vec *arg4, Vec *arg5); -void fn_1_A7F8(M427DllMapStruct6 *arg0); -void fn_1_B194(M427DllMapStruct6 *arg0, float arg8, Vec *arg1); -void fn_1_B3CC(ModelData *model, Mtx matrix); -void fn_1_C154(ModelData *model, Mtx matrix); -void fn_1_C200(ModelData *model, Mtx matrix); -void fn_1_C2AC(Vec *arg0, float arg8, float arg9, float argA); -void fn_1_C2BC(Vec2f *arg0, float arg8, float arg9); -s16 fn_1_C41C(float arg8, float arg9, float argA, float argB, float argC, float argD, u8 arg0, u8 arg1, u8 arg2); -void fn_1_C528(s16 arg0, s16 arg1, float arg8, float arg9, float argA, float argB, float argC, float argD, u8 arg2, u8 arg3, u8 arg4); -void fn_1_C68C(LightData *arg0, Vec *arg1, Vec *arg2, GXColor *arg3); -void fn_1_C76C(u8 arg0, float arg8, float arg9, float argA, s16 arg1, float argB, float argC, s16 arg2); -s16 fn_1_D430(float arg8, float arg9, float argA, s16 arg0); -M427DllMapSubstruct6 *fn_1_D4FC(s16 arg0, Vec *arg1, Vec *arg2, float arg8, GXColor *arg3); -M427DllMapSubstruct6 *fn_1_DC0C(s16 arg0, s16 arg1); -void fn_1_DCD4(ModelData *model, Mtx matrix); -void fn_1_E2B0(Vec2f *arg0, s16 arg1, s16 arg2, float arg8, float arg9); -void fn_1_E37C(Vec2f *arg0, Vec2f *arg1, s16 arg2, float arg8, float arg9); -void fn_1_E420(Vec *arg0, Vec *arg1, Vec *arg2, s16 arg3); - -void fn_1_32F4(Process *arg0) -{ - s16 var_r31; - AnimData *temp_r30; - s32 var_r29; - s32 var_r28; - - lbl_1_bss_158.unk0 = 0; - lbl_1_bss_548 = omAddObjEx(arg0, 0x7F, 0, 0, -1, fn_1_6760); - lbl_1_bss_F0 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x10 * sizeof(M427DllMapStruct), MEMORY_DEFAULT_NUM); - - for (var_r31 = 0; var_r31 < 0x10; var_r31++) { - lbl_1_bss_F0[var_r31].unk2 = -1; - } - temp_r30 = HuSprAnimRead(HuDataReadNum(0x3A0017, MEMORY_DEFAULT_NUM)); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - lbl_1_bss_EC[var_r31] = fn_1_D63C(temp_r30, 0x200, 80.0f, 0x40, 0x40); - fn_1_DC64(lbl_1_bss_EC[var_r31], fn_1_D22C); - fn_1_DC9C(lbl_1_bss_EC[var_r31], 1); - Hu3DModelLayerSet(lbl_1_bss_EC[var_r31], 7); - if (var_r31 == 0) { - var_r29 = 1; - } - else { - var_r29 = 2; - } - Hu3DModelCameraSet(lbl_1_bss_EC[var_r31], var_r29); - } - temp_r30 = HuSprAnimRead(HuDataReadNum(0x3A001A, MEMORY_DEFAULT_NUM)); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - lbl_1_bss_E8[var_r31] = fn_1_D63C(temp_r30, 4, 120.0f, 0, 0); - fn_1_DC9C(lbl_1_bss_E8[var_r31], 1); - Hu3DModelLayerSet(lbl_1_bss_E8[var_r31], 7); - if (var_r31 == 0) { - var_r28 = 1; - } - else { - var_r28 = 2; - } - Hu3DModelCameraSet(lbl_1_bss_E8[var_r31], var_r28); - } - fn_1_372C(); - - for (var_r31 = 0; var_r31 < 0x10; var_r31++) { - lbl_1_bss_F8[var_r31].unk0 = -1; - lbl_1_bss_F8[var_r31].unk2 = Hu3DModelCreateFile(0x3A0012); - Hu3DModelAttrSet(lbl_1_bss_F8[var_r31].unk2, 1); - Hu3DModelScaleSet(lbl_1_bss_F8[var_r31].unk2, 0.75f, 0.75f, 0.75f); - Hu3DModelLayerSet(lbl_1_bss_F8[var_r31].unk2, 4); - Hu3DMotionSpeedSet(lbl_1_bss_F8[var_r31].unk2, 2.0f); - lbl_1_bss_F8[var_r31].unk4 = Hu3DAnimCreate(HuDataReadNum(0x3A001B, MEMORY_DEFAULT_NUM), lbl_1_bss_F8[var_r31].unk2, "db91"); - Hu3DAnimSpeedSet(lbl_1_bss_F8[var_r31].unk4, 2.0f); - } -} - -void fn_1_372C(void) -{ - M427DllMapSubstruct *var_r29 = &lbl_1_bss_158.unk3A0[0]; - M427DllMapSubstruct2 *var_r30 = &lbl_1_bss_158.unk34C[0]; - s16 sp1A[5] = { 0, 0, 1, 1, 0 }; - Vec sp60[5] = { { -700.0f, -150.0f, -7000.0f }, { 0.0f, -300.0f, -12000.0f }, { 800.0f, -350.0f, -12700.0f }, { 600.0f, -350.0f, -13700.0f }, - { 825.0f, -450.0f, -15000.0f } }; - s16 sp8[3] = { 1, 1, 0 }; - s16 spE[3][2] = { { 4, 5 }, { 8, -1 }, { 9, -1 } }; - s16 sp24[3][4] = { { 180, 120, 60, 60 }, { 90, 180, 60, 60 }, { 90, 180, 60, 60 } }; - Vec sp3C[3] = { -350.0f, -300.0f, -10000.0f, -700.0f, -600.0f, -17000.0f, 700.0f, -600.0f, -19000.0f }; - s16 var_r28; - s16 var_r31; - - for (var_r31 = 0; var_r31 < 5; var_r31++, var_r29++) { - var_r29->unk0 = sp1A[var_r31]; - var_r29->unk4.x = sp60[var_r31].x; - var_r29->unk4.y = sp60[var_r31].y; - var_r29->unk4.z = sp60[var_r31].z; - } - - for (var_r31 = 0; var_r31 < 3; var_r31++, var_r30++) { - var_r30->unk0 = sp8[var_r31]; - var_r30->unk4.x = sp3C[var_r31].x; - var_r30->unk4.y = sp3C[var_r31].y; - var_r30->unk4.z = sp3C[var_r31].z; - var_r30->unk10[0] = spE[var_r31][0]; - var_r30->unk10[1] = spE[var_r31][1]; - for (var_r28 = 0; var_r28 < 4; var_r28++) { - var_r30->unk14[var_r28] = sp24[var_r31][var_r28]; - } - } -} - -void fn_1_3A88(void) -{ - M427DllMapStruct *sp8; - s16 var_r30; - M427DllMapSubstruct3 *var_r31; - - sp8 = lbl_1_bss_F0; - HuSprAnimKill(lbl_1_bss_158.unk334.unk_00); - HuSprAnimKill(lbl_1_bss_158.unk334.unk_04); - - for (var_r30 = 0, var_r31 = &lbl_1_bss_158.unk4[0]; var_r30 < 2; var_r30++, var_r31++) { - if (var_r31->unk94.unk4) { - HuMemDirectFree(var_r31->unk94.unk4); - } - } -} - -void fn_1_3B20(s8 arg0, s16 arg1) -{ - M427DllMapStruct2 *var_r31 = &lbl_1_bss_F8[0]; - M427DllMapSubstruct3 *temp_r30 = &lbl_1_bss_158.unk4[arg1]; - Vec sp54[4] = { { 110.0f, -20.0f, 0.0f }, { -110.0f, -20.0f, 0.0f }, { 110.0f, -20.0f, 190.0f }, { -110.0f, -20.0f, 190.0f } }; - Mtx sp24; - f32 sp14[4] = { 135.0f, 225.0f, 45.0f, 315.0f }; - Vec sp8; - f32 temp_f31; - s16 var_r29; - s32 var_r27; - - for (var_r29 = 0; var_r29 < 0x10; var_r29++, var_r31++) { - if (var_r31->unk0 == -1) - break; - } - if (var_r29 != 0x10) { - var_r31->unk0 = arg0; - temp_f31 = temp_r30->unk90; - MTXRotRad(sp24, 0x59, MTXDegToRad(temp_f31)); - MTXMultVec(sp24, &sp54[arg0], &sp8); - sp8.x += temp_r30->unk84.x; - sp8.y += temp_r30->unk84.y; - sp8.z += temp_r30->unk84.z; - Hu3DModelAttrReset(var_r31->unk2, 1); - if (arg1 == 0) { - var_r27 = 1; - } - else { - var_r27 = 2; - } - Hu3DModelCameraSet(var_r31->unk2, var_r27); - Hu3DModelPosSet(var_r31->unk2, sp8.x, sp8.y, sp8.z); - Hu3DModelRotSet(var_r31->unk2, 0.0f, temp_f31 + sp14[arg0], 0.0f); - Hu3DMotionTimeSet(var_r31->unk2, 0.0f); - if (arg0 < 2) { - Hu3DModelAmbSet(var_r31->unk2, 1.0f, 1.0f, 1.0f); - } - else { - Hu3DModelAmbSet(var_r31->unk2, 0.5f, 0.5f, 0.5f); - } - Hu3DAnimBankSet(var_r31->unk4, 0); - } -} - -void fn_1_3DBC(void) -{ - M427DllMapStruct2 *var_r31; - s16 var_r30; - f32 temp_f31; - - var_r31 = &lbl_1_bss_F8[0]; - for (var_r30 = 0; var_r30 < 0x10; var_r30++, var_r31++) { - if (var_r31->unk0 != -1) { - temp_f31 = Hu3DMotionMaxTimeGet(var_r31->unk2); - if (Hu3DMotionTimeGet(var_r31->unk2) >= temp_f31) { - var_r31->unk0 = -1; - Hu3DModelAttrSet(var_r31->unk2, 1U); - } - } - } -} - -void fn_1_3E58(omObjData *arg0) -{ - s32 sp8[8]; - M427DllMapStruct *var_r26; - M427DllMapSubstruct3 *var_r31; - ModelData *temp_r25; - s16 var_r30; - M427DllMapStruct4 *var_r29; - s16 var_r28; - s16 var_r27; - - var_r29 = &lbl_1_bss_98; - for (var_r28 = 0, var_r31 = lbl_1_bss_158.unk4; var_r28 < 2; var_r28++, var_r31++) { - var_r27 = fn_1_10FE8(var_r31->unk0, &sp8[0]); - - for (var_r30 = 0; var_r30 < var_r27; var_r30++) { - temp_r25 = &Hu3DData[sp8[var_r30]]; - temp_r25->unk_38[4] = temp_r25->unk_38[5] = temp_r25->unk_38[6] = temp_r25->unk_38[7] = -1; - } - - for (var_r30 = 0; var_r30 < 2; var_r30++) { - for (var_r27 = 0; var_r27 < 2; var_r27++) { - Hu3DModelKill(var_r31->unk17E[var_r30][var_r27].unk2); - } - } - for (var_r30 = 0; var_r30 < 2; var_r30++) { - for (var_r27 = 0; var_r27 < 2; var_r27++) { - Hu3DModelKill(var_r31->unkB8[var_r30][var_r27].unk2); - } - } - HuSprAnimKill(var_r31->unkAC->unk_28); - Hu3DModelKill(var_r31->unk1A); - Hu3DModelKill(var_r31->unk1C); - HuMemDirectFree(var_r31->unk94.unk4); - var_r31->unk94.unk4 = NULL; - fn_1_DB80(lbl_1_bss_EC[var_r28]); - fn_1_DB80(lbl_1_bss_E8[var_r28]); - - for (var_r30 = 0; var_r30 < 11; var_r30++) { - Hu3DModelKill(var_r31->unk2[var_r30]); - } - Hu3DModelKill(var_r31->unk1E); - Hu3DModelKill(var_r31->unk20); - } - for (var_r28 = 0, var_r26 = lbl_1_bss_F0; var_r28 < 0x10; var_r28++, var_r26++) { - if (var_r26->unk2 != -1) { - Hu3DModelKill(var_r26->unk4); - HuSprAnimKill(var_r26->unk8); - HuMemDirectFree(var_r26->unk80); - } - } - HuMemDirectFree(lbl_1_bss_F0); - Hu3DFogClear(); - var_r30 = Hu3DModelCreateFile(0x3A0011); - Hu3DModelCameraSet(var_r30, 1); - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelPosSet(var_r30, 0.0f, 0.0f, 0.0f); - var_r29->unk0 = Hu3DModelCreateFile(0x3A0010); - Hu3DModelCameraSet(var_r29->unk0, 1); - Hu3DModelLayerSet(var_r29->unk0, 3); - Hu3DModelPosSet(var_r29->unk0, 0.0f, 0.0f, 0.0f); - lbl_1_bss_158.unk0 = 1; - var_r29->unk48[0] = 0; - var_r29->unk4A = 0; - var_r29->unk4 = 0; - lbl_1_bss_E4 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x10 * sizeof(M427DllMapStruct5), MEMORY_DEFAULT_NUM); - for (var_r28 = 0; var_r28 < 0x10; var_r28++) { - lbl_1_bss_E4[var_r28].unk10 = -1.0f; - } - fn_1_510C(0, 0x32, 0x32); - arg0->func = fn_1_4218; -} - -void fn_1_4218(omObjData *arg0) -{ - f32 var_f31; - f32 temp_f30; - f32 var_f29; - M427DllMapStruct5 *var_r31; - s16 var_r30; - M427DllMapStruct4 *var_r29; - s32 temp_r28; - - var_r29 = &lbl_1_bss_98; - var_r31 = &lbl_1_bss_E4[0]; - for (var_r30 = 0; var_r30 < 1; var_r30++) { - if (--var_r29->unk48[var_r30] < 0.0f) { - var_r29->unk48[var_r30] = (f32)((((rand8() << 8) | rand8()) % 241) + 0x78); - var_f31 = ((((rand8() << 8) | rand8()) % 4001) - 0x7D0); - temp_f30 = -3000.0f; - var_f29 = ((((rand8() << 8) | rand8()) % 21) + 0xA); - fn_1_44F4(var_f31, 0.0f, temp_f30, var_f29, 0.0f); - } - } - - for (var_r30 = 0; var_r30 < 0x10; var_r30++, var_r31++) { - if (-1.0f != var_r31->unk10) { - var_r31->unkC += 20.0f; - var_r31->unk10 -= 0.2f; - if (var_r31->unk10 < 0.0f) { - var_r31->unk10 = -1.0f; - } - } - } -} - -void fn_1_44F4(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4) -{ - M427DllMapStruct5 *var_r31; - s16 var_r30; - - var_r31 = &lbl_1_bss_E4[0]; - - for (var_r30 = 0; var_r30 < 0x10; var_r30++, var_r31++) { - if (-1.0f == var_r31->unk10) - break; - } - if (var_r30 != 0x10) { - var_r31->unk0 = arg0; - var_r31->unk4 = arg1; - var_r31->unk8 = arg2; - var_r31->unkC = arg4; - var_r31->unk10 = arg3; - } -} - -f32 lbl_1_data_F4 = 450.0f; - -f32 fn_1_4570(Vec *arg0) -{ - f32 temp_f31; - f32 temp_f30; - f32 var_f28; - f32 var_f27; - f32 var_f23; - M427DllMapStruct5 *var_r31; - s16 var_r30; - - var_r31 = &lbl_1_bss_E4[0]; - var_f27 = 0.0f; - - for (var_r30 = 0; var_r30 < 0x10; var_r30++, var_r31++) { - if (-1.0f != var_r31->unk10) { - temp_f31 = arg0->x - var_r31->unk0; - temp_f30 = arg0->z - var_r31->unk8; - if (FABS(temp_f31) > (var_r31->unkC + lbl_1_data_F4)) { - if (FABS(temp_f30) > (var_r31->unkC + lbl_1_data_F4)) { - continue; - } - } - var_f28 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - var_f23 = FABS(var_f28 - var_r31->unkC); - var_f28 = 1.0f - (var_f23 / lbl_1_data_F4); - if (var_f28 < 0.0f) { - var_f28 = 0.0f; - } - var_f27 += var_r31->unk10 * sind(90.0f * var_f28); - } - } - return var_f27; -} - -void fn_1_48EC(ModelData *arg0, Mtx arg1) -{ - Vec sp3C; - Vec sp30; - Vec sp24; - Vec sp18; - Vec spC; - f32 sp8; - f32 temp_f29; - f32 temp_f30; - f32 temp_f31; - - sp3C.x = CenterM->x; - sp3C.y = CenterM->y; - sp3C.z = CenterM->z; - sp30.x = CRotM->x; - sp30.y = CRotM->y; - sp30.z = CRotM->z; - temp_f29 = *CZoomM; - CenterM->x = -CenterM->x; - CenterM->y = -CenterM->y; - CenterM->z = CenterM->z; - CRotM->x = 180.0f + CRotM->x; - CRotM->y = 180.0f + -CRotM->y; - CRotM->z = CRotM->z; - *CZoomM = *CZoomM; - temp_f31 = CRotM->x; - temp_f30 = CRotM->y; - sp8 = CRotM->z; - sp24.x = (CenterM->x + (*CZoomM * (sind(temp_f30) * cosd(temp_f31)))); - sp24.y = (CenterM->y + (*CZoomM * -sind(temp_f31))); - sp24.z = (CenterM->z + (*CZoomM * (cosd(temp_f30) * cosd(temp_f31)))); - spC.x = CenterM->x; - spC.y = CenterM->y; - spC.z = CenterM->z; - sp18.x = (sind(temp_f30) * sind(temp_f31)); - sp18.y = cosd(temp_f31); - sp18.z = (cosd(temp_f30) * sind(temp_f31)); - Hu3DCameraPosSetV(1, &sp24, &sp18, &spC); - CenterM->x = sp3C.x; - CenterM->y = sp3C.y; - CenterM->z = sp3C.z; - CRotM->x = sp30.x; - CRotM->y = sp30.y; - CRotM->z = sp30.z; - *CZoomM = temp_f29; -} - -void fn_1_4D7C(ModelData *arg0, Mtx arg1) -{ - Vec sp24; - Vec sp18; - Vec spC; - f32 sp8; - f32 temp_f30; - f32 temp_f31; - - temp_f31 = CRotM->x; - temp_f30 = CRotM->y; - sp8 = CRotM->z; - sp24.x = CenterM->x + sind(temp_f30) * cosd(temp_f31) * *CZoomM; - sp24.y = CenterM->y + *CZoomM * -sind(temp_f31); - sp24.z = CenterM->z + cosd(temp_f30) * cosd(temp_f31) * *CZoomM; - sp18.x = CenterM->x; - sp18.y = CenterM->y; - sp18.z = CenterM->z; - spC.x = sind(temp_f30) * sind(temp_f31); - spC.y = cosd(temp_f31); - spC.z = cosd(temp_f30) * sind(temp_f31); - Hu3DCameraPosSetV(1, &sp24, &spC, &sp18); - if (lbl_1_bss_98.unk30) { - GXSetTexCopySrc(0, 0, 0x280, 0x1E0); - GXSetTexCopyDst(0x280, 0x1E0, GX_TF_RGB5A3, 0); - GXCopyTex(lbl_1_bss_98.unk30, 1); - } -} - -void fn_1_50A0(ModelData *arg0, Mtx arg1) -{ - if (lbl_1_bss_98.unk28) { - GXSetTexCopySrc(0, 0, 0x280, 0x1E0); - GXSetTexCopyDst(0x280, 0x1E0, GX_TF_RGB5A3, 0); - GXCopyTex(lbl_1_bss_98.unk28, 0); - } -} - -void fn_1_510C(s32 arg0, s16 arg1, s16 arg2) -{ - s16 sp12; - s16 sp10; - s16 spE; - s16 spC; - s16 spA; - s16 sp8; - M427DllMapStruct4 *var_r31; - M427DllMapSubstruct5 *var_r30; - s16 var_r29; - ModelData *temp_r28; - s16 var_r27; - M427DllMapSubstruct5 *var_r26; - M427DllMapSubstruct5 *var_r23; - - var_r31 = &lbl_1_bss_98; - var_r29 = Hu3DHookFuncCreate(fn_1_618C); - Hu3DModelCameraSet(var_r29, 1); - Hu3DModelLayerSet(var_r29, 5); - temp_r28 = &Hu3DData[var_r29]; - var_r29 = Hu3DHookFuncCreate(fn_1_48EC); - Hu3DModelCameraSet(var_r29, 1); - Hu3DModelLayerSet(var_r29, 0); - var_r29 = Hu3DHookFuncCreate(fn_1_4D7C); - Hu3DModelCameraSet(var_r29, 1); - Hu3DModelLayerSet(var_r29, 2); - var_r29 = Hu3DHookFuncCreate(fn_1_50A0); - Hu3DModelCameraSet(var_r29, 1); - Hu3DModelLayerSet(var_r29, 4); - var_r31->unk38 = var_r31->unk3C = 0.0f; - var_r31->unk34 = GXGetTexBufferSize(0x280, 0x1E0, 5, 0, 0); - var_r31->unk30 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk34, temp_r28->unk_48); - var_r31->unk2C = GXGetTexBufferSize(0x280, 0x1E0, 5, 0, 0); - var_r31->unk28 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk2C, temp_r28->unk_48); - var_r31->unk16 = arg1 + 1; - var_r31->unk18 = arg2 + 1; - var_r31->unk14 = var_r31->unk16 * var_r31->unk18; - var_r31->unk4 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk14 * sizeof(Vec), temp_r28->unk_48); - var_r31->unk8 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk14 * sizeof(Vec2f), temp_r28->unk_48); - var_r31->unkC = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk14 * sizeof(Vec), temp_r28->unk_48); - var_r31->unk10 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk14 * sizeof(Vec), temp_r28->unk_48); - var_r31->unk1C = HuMemDirectMallocNum(HEAP_DATA, arg2 * (arg1 * sizeof(M427DllMapSubstruct5)), temp_r28->unk_48); - var_r30 = var_r31->unk1C; - var_r23 = var_r26 = HuMemDirectMallocNum(HEAP_DATA, 0x20000, temp_r28->unk_48); - DCFlushRange(var_r26, 0x20000); - GXBeginDisplayList(var_r23, 0x20000); - GXBegin(GX_QUADS, GX_VTXFMT0, (arg1 * arg2 * 4)); - - for (var_r29 = 0; var_r29 < arg2; var_r29++) { - for (var_r27 = 0; var_r27 < arg1; var_r30++, var_r27++) { - var_r30->unk0 = var_r27 + var_r29 * var_r31->unk16; - var_r30->unk2 = (var_r29 * var_r31->unk16) + var_r27 + 1; - var_r30->unk4 = ((var_r29 + 1) * var_r31->unk16) + var_r27 + 1; - var_r30->unk6 = var_r27 + ((var_r29 + 1) * var_r31->unk16); - GXPosition1x16(var_r30->unk0); - GXPosition1x16(var_r30->unk0); - GXPosition1x16(var_r30->unk0); - GXPosition1x16(var_r30->unk2); - GXPosition1x16(var_r30->unk2); - GXPosition1x16(var_r30->unk2); - GXPosition1x16(var_r30->unk4); - GXPosition1x16(var_r30->unk4); - GXPosition1x16(var_r30->unk4); - GXPosition1x16(var_r30->unk6); - GXPosition1x16(var_r30->unk6); - GXPosition1x16(var_r30->unk6); - fn_1_C2C8(&var_r31->unk4[var_r30->unk0], &var_r31->unk4[var_r30->unk2], &var_r31->unk4[var_r30->unk4], &var_r30->unk8); - } - } - var_r31->unk24 = GXEndDisplayList(); - var_r31->unk20 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk24, temp_r28->unk_48); - memcpy(var_r31->unk20, var_r26, var_r31->unk24); - DCFlushRange(var_r31->unk20, var_r31->unk24); - HuMemDirectFree(var_r26); - fn_1_558C(var_r31); -} - -f32 lbl_1_data_F8 = -1.0f; - -void fn_1_558C(M427DllMapStruct4 *arg0) -{ - Mtx spAC; - Mtx sp7C; - Mtx sp4C; - Vec2f sp44; - Vec2f sp3C; - Vec2f sp34; - Vec2f sp2C; - f32 sp28; - f32 sp24; - f32 sp20; - f32 var_f26; - f32 var_f25; - f32 var_f20; - M427DllMapSubstruct5 *var_r30; - Vec *var_r29; - Vec *var_r28; - s16 var_r27; - M427DllMapStruct5 *var_r26; - Vec2f *var_r25; - s16 var_r24; - CameraData *var_r23; - s16 var_r22; - - var_r23 = &Hu3DCamera[0]; - if (lbl_1_data_F8 == -1.0f) { - lbl_1_bss_94 = 720.0f / arg0->unk16; - lbl_1_data_F8 = 1440.0f / arg0->unk18; - } - if (omPauseChk() == 0) { - arg0->unk40 += 1.0f; - arg0->unk44 += 1.5f; - } - if (arg0->unk40 >= 360.0f) { - arg0->unk40 -= 360.0f; - } - if (arg0->unk44 >= 360.0f) { - arg0->unk44 -= 360.0f; - } - var_r28 = arg0->unk4; - var_r29 = arg0->unkC; - sp3C.x = 2000.0f; - sp3C.y = -2000.0f; - sp44.x = 1000.0f; - sp44.y = -2500.0f; - sp2C.x = sp44.x; - sp2C.y = (sp44.y - sp44.x) / (arg0->unk18 - 1); - var_f25 = arg0->unk44; - - for (var_r27 = 0; var_r27 < arg0->unk18; var_r27++) { - sp34.x = sp3C.x; - sp34.y = (sp3C.y - sp3C.x) / (arg0->unk16 - 1); - var_f26 = arg0->unk40; - - for (var_r24 = 0; var_r24 < arg0->unk16; var_r28++, var_r29++, var_r24++) { - var_r28->x = sp34.x; - var_r28->z = sp2C.x; - sp24 = 5.0 * sind(var_f26) + 10.0 * sind(var_f25); - sp34.x += sp34.y; - var_f26 += lbl_1_bss_94; - if (var_f26 >= 360.0f) { - var_f26 -= 360.0f; - } - var_r28->y = sp24 + fn_1_4570(var_r28); - var_r29->x = var_r29->y = var_r29->z = 0.0f; - } - sp2C.x += sp2C.y; - var_f25 += lbl_1_data_F8; - if (var_f25 >= 360.0f) { - var_f25 -= 360.0f; - } - } - var_r30 = arg0->unk1C; - var_r24 = (arg0->unk16 - 1) * (arg0->unk18 - 1); - - for (var_r27 = 0; var_r27 < var_r24; var_r27++, var_r30++) { - fn_1_C2C8(&arg0->unk4[var_r30->unk0], &arg0->unk4[var_r30->unk2], &arg0->unk4[var_r30->unk4], &var_r30->unk8); - arg0->unkC[var_r30->unk0].x += var_r30->unk8.x; - arg0->unkC[var_r30->unk0].y += var_r30->unk8.y; - arg0->unkC[var_r30->unk0].z += var_r30->unk8.z; - arg0->unkC[var_r30->unk2].x += var_r30->unk8.x; - arg0->unkC[var_r30->unk2].y += var_r30->unk8.y; - arg0->unkC[var_r30->unk2].z += var_r30->unk8.z; - arg0->unkC[var_r30->unk4].x += var_r30->unk8.x; - arg0->unkC[var_r30->unk4].y += var_r30->unk8.y; - arg0->unkC[var_r30->unk4].z += var_r30->unk8.z; - arg0->unkC[var_r30->unk6].x += var_r30->unk8.x; - arg0->unkC[var_r30->unk6].y += var_r30->unk8.y; - arg0->unkC[var_r30->unk6].z += var_r30->unk8.z; - } - - var_r29 = arg0->unkC; - for (var_r27 = 0; var_r27 < arg0->unk14; var_r27++, var_r29++) { - var_f20 = sqrtf((var_r29->x * var_r29->x) + (var_r29->y * var_r29->y) + (var_r29->z * var_r29->z)); - var_r29->x /= var_f20; - var_r29->y /= var_f20; - var_r29->z /= var_f20; - } - var_r28 = arg0->unk4; - var_r25 = arg0->unk8; - C_MTXLookAt(spAC, &var_r23->pos, &var_r23->up, &var_r23->target); - GXGetProjectionv(&sp7C[0][0]); - GXGetViewportv(&sp4C[0][0]); - - for (var_r27 = 0; var_r27 < arg0->unk14; var_r27++, var_r28++, var_r25++) { - GXProject(var_r28->x, var_r28->y, var_r28->z, spAC, &sp7C[0][0], &sp4C[0][0], &sp28, &sp24, &sp20); - var_r25->x = 0.0015625f * sp28; - var_r25->y = 0.0020833f * sp24; - var_r25->x += 0.05f * arg0->unkC[var_r27].x; - var_r25->y += 0.05f * arg0->unkC[var_r27].z; - arg0->unk10[var_r27].r = 0xFF; - arg0->unk10[var_r27].g = 0xFF; - arg0->unk10[var_r27].b = 0xFF; - arg0->unk10[var_r27].a = 0xFF; - } - DCFlushRangeNoSync(arg0->unk4, arg0->unk14 * 0xC); - DCFlushRangeNoSync(arg0->unkC, arg0->unk14 * 0xC); - DCFlushRangeNoSync(arg0->unk8, arg0->unk14 * 8); - DCFlushRangeNoSync(arg0->unk10, arg0->unk14 * 4); - PPCSync(); -} - -void fn_1_618C(ModelData *arg0, Mtx arg1) -{ - Mtx sp64; - Mtx sp34; - GXTexObj sp14; - GXColor spC; - M427DllMapStruct4 *var_r31 = &lbl_1_bss_98; - M427DllMapStruct3Sub *var_r30 = &lbl_1_bss_158.unk334; - - fn_1_558C(var_r31); - GXLoadPosMtxImm(arg1, 0); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0); - GXSetArray(GX_VA_POS, var_r31->unk4, 0xC); - GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0); - GXSetArray(GX_VA_TEX0, var_r31->unk8, 8); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, var_r31->unk10, 4); - GXInitTexObj(&sp14, var_r31->unk30, 0x280, 0x1E0, GX_TF_RGB5A3, GX_CLAMP, GX_CLAMP, 0); - GXInitTexObjLOD(&sp14, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, 0, 0, GX_ANISO_1); - GXLoadTexObj(&sp14, GX_TEXMAP0); - GXInitTexObj(&sp14, var_r31->unk28, 0x280, 0x1E0, GX_TF_RGB5A3, GX_CLAMP, GX_CLAMP, 0); - GXInitTexObjLOD(&sp14, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, 0, 0, GX_ANISO_1); - GXLoadTexObj(&sp14, GX_TEXMAP1); - HuSprTexLoad(var_r30->unk_00, 0, 2, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXSetNumTevStages(3); - spC.r = 0; - spC.g = 0x10; - spC.b = 0x1E; - spC.a = 0x4C; - GXSetTevColor(GX_TEVREG2, spC); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_ONE, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVREG0); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVREG0); - GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD0, GX_TEXMAP1, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_TEXC, GX_CC_C0, GX_CC_A2, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVREG1); - GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVREG1); - GXSetTevOrder(GX_TEVSTAGE2, GX_TEXCOORD0, GX_TEXMAP1, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE2, GX_CC_C1, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C2); - GXSetTevColorOp(GX_TEVSTAGE2, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE2, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE2, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumIndStages(1); - GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD1, GX_TEXMAP2); - GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, 1, 0, GX_ITM_0); - GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); - MTXScale(sp64, -0.1f, 0.0f, 1.0f); - GXSetIndTexMtx(GX_ITM_0, (f32(*)[3])(sp64), 0); - GXSetNumTexGens(2); - if (omPauseChk() == 0) { - var_r31->unk38 += 0.001f; - var_r31->unk3C += 0.0005f; - } - MTXRotRad(sp64, 0x58, 1.5707964f); - MTXScale(sp34, 0.001f, 0.001f, 0.001f); - MTXConcat(sp64, sp34, sp64); - mtxTransCat(sp64, var_r31->unk38, var_r31->unk3C, 0.0f); - GXLoadTexMtxImm(sp64, 0x1E, GX_MTX2x4); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3C, GX_FALSE, 0x7D); - GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZCompLoc(0); - GXSetBlendMode(GX_BM_NONE, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - GXCallDisplayList(var_r31->unk20, var_r31->unk24); - GXSetNumIndStages(0); - GXSetTevDirect(GX_TEVSTAGE0); - GXSetTevDirect(GX_TEVSTAGE1); -} - -s32 lbl_1_data_FC[0xC] = { - 0x3A0000, - 0x3A0001, - 0x3A0002, - 0x3A0003, - 0x3A0004, - 0x3A0005, - 0x3A0006, - 0x3A0007, - 0x3A0008, - 0x3A0009, - 0x3A000A, - 0x3A000B, -}; -s32 lbl_1_data_12C[2] = { 0x3A000C, 0x3A000D }; -s32 lbl_1_data_134[4] = { 0x3A000E, 0x3A000F, 0x3F800000, 0x01000000 }; - -void fn_1_6760(omObjData *object) -{ - s16 sp14[2][0x20]; - s16 sp10[2]; - s16 spC[2]; - s16 sp8[2]; - M427DllMapSubstruct3 *var_r31; - s16 var_r30; - M427DllMapUNKB8 *var_r29; - s16 var_r28; - M427DllMapUNK17E *var_r27; - s16 var_r26; - M427DllMapSubstruct3Sub *var_r25; - M427DllMapStruct3 *var_r24; - u16 var_r23; - - var_r24 = &lbl_1_bss_158; - Hu3DFogSet(3500.0f, 20000.0f, 0, 0, 0); - for (var_r28 = 0, var_r31 = &var_r24->unk4[0]; var_r28 < 2; var_r28++, var_r31++) { - var_r31->unk0 = var_r28; - sp10[var_r28] = 0; - for (var_r30 = 0; var_r30 < 3; var_r30++) { - var_r31->unk178[var_r30] = 0; - } - for (var_r30 = 0; var_r30 < 0xB; var_r30++) { - var_r31->unk2[var_r30] = Hu3DModelCreateFile(lbl_1_data_FC[var_r30]); - var_r31->unk44[var_r30] = -1; - if (var_r30 < 0xA) { - Hu3DModelLayerSet(var_r31->unk2[var_r30], 2); - } - else { - Hu3DModelLayerSet(var_r31->unk2[var_r30], 5); - } - Hu3DModelAmbSet(var_r31->unk2[var_r30], 0.1f, 0.1f, 0.1f); - if (var_r28 == 0) { - Hu3DModelCameraSet(var_r31->unk2[var_r30], 1); - } - else { - Hu3DModelCameraSet(var_r31->unk2[var_r30], 2); - } - sp14[var_r28][sp10[var_r28]++] = var_r31->unk2[var_r30]; - } - var_r30 = Hu3DHookFuncCreate(fn_1_C154); - var_r31->unk1E = var_r30; - Hu3DModelLayerSet(var_r30, 4); - if (var_r28 == 0) { - Hu3DModelCameraSet(var_r30, 1); - } - else { - Hu3DModelCameraSet(var_r30, 2); - } - var_r30 = Hu3DHookFuncCreate(fn_1_C200); - var_r31->unk20 = var_r30; - Hu3DModelLayerSet(var_r30, 6); - if (var_r28 == 0) { - Hu3DModelCameraSet(var_r30, 1); - } - else { - Hu3DModelCameraSet(var_r30, 2); - } - for (var_r30 = 0; var_r30 < 2; var_r30++) { - var_r29 = var_r31->unkB8[var_r30]; - for (var_r26 = 0; var_r26 < 2; var_r26++, var_r29++) { - if ((var_r28 == 0) && (var_r26 == 0)) { - var_r29->unk2 = spC[var_r30] = Hu3DModelCreateFile(lbl_1_data_134[var_r30]); - } - else { - var_r29->unk2 = Hu3DModelLink(spC[var_r30]); - } - Hu3DModelAttrSet(var_r29->unk2, HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(var_r29->unk2, 2); - Hu3DModelAmbSet(var_r29->unk2, 0.0f, 0.0f, 0.0f); - if (var_r28 == 0) { - Hu3DModelCameraSet(var_r29->unk2, 1); - } - else { - Hu3DModelCameraSet(var_r29->unk2, 2); - } - sp14[var_r28][sp10[var_r28]++] = var_r29->unk2; - var_r29->unk6 = fn_1_95E8(0x3A0018, var_r28, 0, 0.0f, -400.0f, 700.0f, 800.0f, -5.0f); - fn_1_9958(var_r29->unk6, 1); - fn_1_99E4(var_r29->unk6, 0xFF, 0xFF, 0xFF, 0); - var_r29->unk4 = 2 * var_r30 + 4 + var_r26; - fn_1_C528(var_r29->unk2, var_r29->unk4, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0xFF, 0xA0, 0x60); - Hu3DLLightStaticSet(var_r29->unk2, var_r29->unk4, 1); - Hu3DLLightPointSet(var_r29->unk2, var_r29->unk4, 1.0f, 0.6f, 3); - } - } - for (var_r30 = 0; var_r30 < 2; var_r30++) { - var_r27 = var_r31->unk17E[var_r30]; - for (var_r26 = 0; var_r26 < 2; var_r26++, var_r27++) { - if ((var_r28 == 0) && (var_r26 == 0)) { - var_r27->unk2 = sp8[var_r30] = Hu3DModelCreateFile(lbl_1_data_12C[var_r30]); - } - else { - var_r27->unk2 = Hu3DModelLink(sp8[var_r30]); - } - Hu3DModelAttrSet(var_r27->unk2, HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(var_r27->unk2, 2); - Hu3DModelAmbSet(var_r27->unk2, 0.0f, 0.0f, 0.0f); - if (var_r28 == 0) { - Hu3DModelCameraSet(var_r27->unk2, 1); - } - else { - Hu3DModelCameraSet(var_r27->unk2, 2); - } - sp14[var_r28][sp10[var_r28]++] = var_r27->unk2; - } - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - var_r31->unk34[var_r30] = fn_1_C41C(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0xFF, 0xFF, 0xFF); - var_r31->unk24[var_r30] = -1.0f; - } - } - for (var_r28 = 0, var_r31 = var_r24->unk4; var_r28 < 2; var_r28++, var_r31++) { - var_r31->unk5C = Hu3DLLightCreate(var_r31->unk2[0], 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0xFA, 0xF0, 0xD2); - Hu3DLLightSpotSet(var_r31->unk2[0], var_r31->unk5C, 37.5f, 4); - Hu3DLLightStaticSet(var_r31->unk2[0], var_r31->unk5C, 1); - var_r31->unk78.x = 0.0f; - var_r31->unk78.y = 0.0f; - var_r31->unk78.z = 0.0f; - var_r31->unk84.x = 0.0f; - var_r31->unk84.y = 0.0f; - var_r31->unk84.z = 0.0f; - var_r31->unk90 = 0.0f; - } - fn_1_93EC(0x3A0016, 0x3A0014, 2000.0f, 6000.0f, 4.0f, 9.0f); - for (var_r28 = 0, var_r31 = var_r24->unk4; var_r28 < 2; var_r28++, var_r31++) { - var_r31->unkB0[0] = fn_1_95E8(0x3A0015, var_r28, 0.0f, 0.0f, -900.0f, 500.0f, 700.0f, -10.0f); - var_r25 = &var_r31->unk94; - var_r25->unk0 = var_r28; - var_r25->unk8 = GXGetTexBufferSize(0x140, 0x1E0, 5, 0, 0); - var_r25->unk4 = HuMemDirectMalloc(HEAP_DATA, var_r25->unk8); - var_r30 = Hu3DHookFuncCreate(fn_1_A148); - var_r31->unk1C = var_r30; - Hu3DModelCameraSet(var_r30, var_r28 ? 2 : 1); - Hu3DModelLayerSet(var_r30, 1); - Hu3DData[var_r30].unk_120 = var_r25; - var_r31->unk1A = fn_1_A1F4(0x3A0013, 0xA, 0x1E, var_r28, 6000.0f, lbl_1_bss_554, lbl_1_bss_558); - fn_1_C528(var_r31->unk1A, 1, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0xC8, 0xF0, 0xA0); - Hu3DLLightStaticSet(var_r31->unk1A, 1, 1); - Hu3DLLightPointSet(var_r31->unk1A, 1, 125.0f, 0.5f, 3); - fn_1_C528(var_r31->unk1A, 2, 0.0f, -500.0f, -23500.0f, 0.0f, 0.0f, 0.0f, 0xFA, 0xF0, 0xD2); - Hu3DLLightStaticSet(var_r31->unk1A, 2, 1); - Hu3DLLightPointSet(var_r31->unk1A, 2, 800.0f, 0.5f, 3); - sp14[var_r28][sp10[var_r28]++] = var_r31->unk1A; - fn_1_9318(sp14[var_r28], sp10[var_r28]); - } - object->func = fn_1_72E4; -} - -void fn_1_72E4(omObjData *object) -{ - float var_f31; - M427DllMapStruct2 *var_r31; - s16 var_r30; - - if (fn_1_1788() == 7) { - object->func = fn_1_3E58; - } - fn_1_73BC(); - fn_1_7C34(); - fn_1_7F38(); - fn_1_8F90(object); - fn_1_9240(); - for (var_r31 = lbl_1_bss_F8, var_r30 = 0; var_r30 < 0x10; var_r30++, var_r31++) { - if (var_r31->unk0 != -1) { - var_f31 = Hu3DMotionMaxTimeGet(var_r31->unk2); - if (Hu3DMotionTimeGet(var_r31->unk2) >= var_f31) { - var_r31->unk0 = -1; - Hu3DModelAttrSet(var_r31->unk2, HU3D_ATTR_DISPOFF); - } - } - } -} - -void fn_1_73BC(void) -{ - float var_f31; - M427DllMapSubstruct3 *var_r31; - M427DllMapSubstruct6 *var_r30; - s16 var_r29; - ModelData *var_r28; - s16 var_r27; - - for (var_r27 = 0, var_r31 = lbl_1_bss_158.unk4; var_r27 < 2; var_r27++, var_r31++) { - for (var_r29 = 0; var_r29 < 0xA; var_r29++) { - var_r28 = &Hu3DData[var_r31->unk2[var_r29]]; - var_r30 = fn_1_DC0C(lbl_1_bss_E8[var_r31->unk0], var_r31->unk3C[var_r31->unk44[var_r29]]); - var_f31 = -2000.0f * var_r29; - if (((var_r31->unk84.z - 25000.0f) < var_f31) && ((3000.0f + var_r31->unk84.z) > var_f31)) { - if (var_r31->unk44[var_r29] == -1) { - fn_1_794C(var_r31, var_r29); - var_r28->attr &= 0xFFFFFFFE; - } - else { - if (var_r30) { - var_r30->unk_24 += 5.0f; - if (var_r30->unk_24 >= 360.0f) { - var_r30->unk_24 -= 360.0f; - } - var_r30->unk_48.x = var_r30->unk_48.y = var_r30->unk_48.z = 1.0 + (0.05000000074505806 * sind(var_r30->unk_24)); - } - var_r31->unk24[var_r31->unk44[var_r29]] += 5.0f; - if (var_r31->unk24[var_r31->unk44[var_r29]] >= 360.0f) { - var_r31->unk24[var_r31->unk44[var_r29]] -= 360.0f; - } - var_f31 = 50.0 * sind(var_r31->unk24[var_r31->unk44[var_r29]]); - var_f31 = var_f31; - Hu3DLLightPointSet(var_r31->unk2[var_r29], 1, 400.0f + var_f31, 0.5f, 3); - if (var_r29 == 0) { - var_r30 = fn_1_DC0C(lbl_1_bss_E8[var_r31->unk0], var_r31->unk5A); - if (var_r30->unk_24 >= 360.0f) { - var_r30->unk_24 -= 360.0f; - } - var_r30->unk_48.x = var_r30->unk_48.y = var_r30->unk_48.z = 1.0 + (0.05000000074505806 * sind(var_r30->unk_24)); - var_r31->unk24[1] += 5.0f; - if (var_r31->unk24[1] >= 360.0f) { - var_r31->unk24[1] -= 360.0f; - } - var_f31 = 50.0 * sind(var_r31->unk24[1]); - var_f31 = var_f31; - Hu3DLLightPointSet(var_r31->unk2[var_r29], 2, 400.0f + var_f31, 0.5f, 3); - } - } - } - else { - if (var_r31->unk44[var_r29] != -1) { - if (var_r30) { - var_r30->unk_62 = 0; - } - var_r28->unk_38[1] = -1; - var_r31->unk24[var_r31->unk44[var_r29]] = -1.0f; - var_r31->unk44[var_r29] = -1; - if (var_r29 == 0) { - var_r30 = fn_1_DC0C(lbl_1_bss_E8[var_r31->unk0], var_r31->unk5A); - var_r30->unk_62 = 0; - var_r28->unk_38[2] = -1; - var_r31->unk24[1] = -1.0f; - } - } - var_r28->attr |= 1; - } - } - } -} - -Vec lbl_1_data_144[0xC] = { - { -670.0f, 400.0f, 1750.0f }, - { 930.0f, 400.0f, -1000.0f }, - { -930.0f, 400.0f, -3000.0f }, - { 230.0f, 400.0f, -5000.0f }, - { -1630.0f, 300.0f, -7000.0f }, - { 530.0f, 100.0f, -9000.0f }, - { -530.0f, 100.0f, -11000.0f }, - { 1630.0f, 100.0f, -13000.0f }, - { -230.0f, 0.0f, -15000.0f }, - { 930.0f, -200.0f, -17000.0f }, - { -930.0f, -200.0f, -19000.0f }, - { 930.0f, -200.0f, -21000.0f }, -}; - -void fn_1_794C(M427DllMapSubstruct3 *arg0, s16 arg1) -{ - Vec sp14; - s16 var_r30; - ModelData *var_r28; - - var_r28 = &Hu3DData[arg0->unk2[arg1]]; - { - Vec sp8 = { 0.0f, 0.0f, 0.0f }; - if (arg1 != 0xA) { - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if (arg0->unk24[var_r30] == -1.0f) { - break; - } - } - if (var_r30 != 4) { - var_r28->unk_38[1] = arg0->unk34[var_r30]; - arg0->unk24[var_r30] = 0.0f; - arg0->unk44[arg1] = var_r30; - if (var_r28->unk_38[1] != -1) { - sp14.x = lbl_1_data_144[arg1 + 1].x; - sp14.y = lbl_1_data_144[arg1 + 1].y; - sp14.z = lbl_1_data_144[arg1 + 1].z; - Hu3DLLightPointSet(arg0->unk2[arg1], 1, 400.0f, 0.5f, 3); - Hu3DLLightPosSetV(arg0->unk2[arg1], 1, &sp14, &sp8); - } - arg0->unk3C[var_r30] = fn_1_D430(sp14.x, sp14.y, sp14.z, lbl_1_bss_E8[arg0->unk0]); - if (arg1 == 0) { - var_r30 = 1; - var_r28->unk_38[2] = arg0->unk34[var_r30]; - arg0->unk24[var_r30] = 0.0f; - sp14.x = lbl_1_data_144[0].x; - sp14.y = lbl_1_data_144[0].y; - sp14.z = lbl_1_data_144[0].z; - Hu3DLLightPointSet(arg0->unk2[0], 2, 400.0f, 0.5f, 3); - Hu3DLLightPosSetV(arg0->unk2[0], 2, &sp14, &sp8); - arg0->unk5A = fn_1_D430(sp14.x, sp14.y, sp14.z, lbl_1_bss_E8[arg0->unk0]); - } - } - } - } -} - -float lbl_1_data_1D4[2] = { 50.0f, 80.0f }; - -void fn_1_7C34(void) -{ - Vec sp14; - M427DllMapSubstruct3 *var_r31; - ModelData *var_r30; - s16 var_r29; - s16 var_r28; - M427DllMapUNK17E *var_r27; - M427DllMapSubstruct *var_r26; - s16 var_r25; - - for (var_r26 = lbl_1_bss_158.unk3A0, var_r29 = 0; var_r29 < 5; var_r29++, var_r26++) { - for (var_r28 = 0, var_r31 = lbl_1_bss_158.unk4; var_r28 < 2; var_r28++, var_r31++) { - if ((var_r31->unk18E[var_r29] == 0) && ((var_r31->unk84.z - 7000.0f) < var_r26->unk4.z) - && ((1000.0f + var_r31->unk84.z) > var_r26->unk4.z)) { - fn_1_7E60(var_r29, var_r31); - } - } - } - for (var_r29 = 0, var_r31 = lbl_1_bss_158.unk4; var_r29 < 2; var_r29++, var_r31++) { - for (var_r28 = 0; var_r28 < 2; var_r28++) { - var_r27 = var_r31->unk17E[var_r28]; - for (var_r25 = 0; var_r25 < 2; var_r25++, var_r27++) { - var_r30 = &Hu3DData[var_r27->unk2]; - if ((var_r30->attr & 1) == 0) { - if (((var_r31->unk84.z - 7000.0f) > var_r30->pos.z) || ((1000.0f + var_r31->unk84.z) < var_r30->pos.z)) { - var_r30->attr |= 1; - var_r31->unk18E[var_r27->unk0] = 0; - } - else { - sp14.x = var_r30->pos.x; - sp14.z = var_r30->pos.z; - fn_1_15FD0(sp14, lbl_1_data_1D4[var_r28], 0, 1, var_r31->unk0); - } - } - } - } - } -} - -void fn_1_7E60(s16 arg0, M427DllMapSubstruct3 *arg1) -{ - M427DllMapUNK17E *var_r31; - M427DllMapSubstruct *var_r30; - s16 var_r29; - ModelData *var_r28; - - var_r30 = &lbl_1_bss_158.unk3A0[arg0]; - var_r31 = arg1->unk17E[var_r30->unk0]; - for (var_r29 = 0; var_r29 < 2; var_r29++, var_r31++) { - var_r28 = &Hu3DData[var_r31->unk2]; - if ((var_r28->attr & 1) != 0) { - Hu3DModelAttrReset(var_r31->unk2, HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(var_r31->unk2, var_r30->unk4.x, var_r30->unk4.y, var_r30->unk4.z); - var_r31->unk0 = arg0; - arg1->unk18E[arg0] = 1; - return; - } - } -} - -void fn_1_7F38(void) -{ - Vec sp14; - float var_f31; - M427DllMapUNKB8 *var_r31; - M427DllMapSubstruct3 *var_r30; - ModelData *var_r29; - s16 var_r28; - s16 var_r27; - M427DllMapSubstruct2 *var_r26; - s16 var_r25; - s32 var_r24; - s32 var_r23; - - for (var_r26 = lbl_1_bss_158.unk34C, var_r27 = 0; var_r27 < 3; var_r27++, var_r26++) { - for (var_r28 = 0, var_r30 = lbl_1_bss_158.unk4; var_r28 < 2; var_r28++, var_r30++) { - if ((var_r30->unk178[var_r27] == 0) && ((var_r30->unk84.z - 7000.0f) < var_r26->unk4.z) - && ((1000.0f + var_r30->unk84.z) > var_r26->unk4.z)) { - fn_1_85D4(var_r27, var_r30); - } - } - } - for (var_r27 = 0, var_r30 = lbl_1_bss_158.unk4; var_r27 < 2; var_r27++, var_r30++) { - for (var_r28 = 0; var_r28 < 2; var_r28++) { - var_r31 = var_r30->unkB8[var_r28]; - for (var_r25 = 0; var_r25 < 2; var_r25++, var_r31++) { - var_r29 = &Hu3DData[var_r31->unk2]; - if ((var_r29->attr & 1) == 0) { - if (((var_r30->unk84.z - 7000.0f) > var_r29->pos.z) || ((1000.0f + var_r30->unk84.z) < var_r29->pos.z)) { - if (var_r31->unk8 == 0) { - fn_1_8E1C(1, var_r30, var_r31); - fn_1_9958(var_r31->unk6, 1); - var_r29->attr |= 1; - var_r31->unk8 = 0x63; - var_r30->unk178[var_r31->unk0] = 0; - } - else if (var_r31->unk8 != 2) { - var_r31->unkA = 0; - var_r31->unk8 = 2; - } - } - switch (var_r31->unk8) { - case 0: - if (++var_r31->unkA > var_r31->unk18) { - var_r31->unkA = 0; - var_r31->unkC = 0.0f; - var_r31->unk20 = ((rand8() << 8) | rand8()) % 361; - var_r31->unk24 = ((rand8() << 8) | rand8()) % 361; - var_r31->unk28 = 1.0f; - var_r31->unk2C = 0.0f; - var_r31->unk8++; - } - break; - case 1: - if (++var_r31->unkA > var_r31->unk1E) { - var_r31->unkA = 0; - var_r31->unk8++; - if (fn_1_1788() <= 4) { - if (var_r27 == 0) { - var_r24 = HuAudFXPlay(0x65A); - } - else { - var_r24 = HuAudFXPlay(0x65B); - } - var_r23 = var_r27 * 4 + var_r28 * 2 + var_r25; - lbl_1_bss_0[var_r23].unk0 = var_r24; - lbl_1_bss_0[var_r23].unk4 = 0x78; - } - } - var_r31->unk_14 = 0.1f; - fn_1_8768(var_r30, var_r31, var_r28, 0.2f, var_r31->unk_14); - break; - case 2: - if (++var_r31->unkA > var_r31->unk1A) { - var_r31->unkA = 0; - var_r31->unk8++; - } - if (var_r31->unk_14 < 1.0f) { - var_r31->unk_14 += 0.05f; - } - if (var_r31->unk_14 > 1.0f) { - var_r31->unk_14 = 1.0f; - } - var_r31->unk_10 += 40.0f; - var_r31->unkC += 0.05f; - fn_1_8768(var_r30, var_r31, var_r28, 1.0f, var_r31->unk_14); - break; - case 3: - var_r31->unkA++; - var_f31 = 1.0f - ((float)var_r31->unkA / var_r31->unk1C); - if (var_r31->unkA > var_r31->unk1C) { - var_r31->unkA = 0; - var_f31 = 0.0f; - var_r31->unk8 = 0; - } - var_r31->unk_10 = 400.0 * sind((90.0f * var_f31)); - var_r31->unkC = 1.2f * var_f31; - var_r31->unk_14 = var_f31; - fn_1_8768(var_r30, var_r31, var_r28, var_f31, var_r31->unk_14); - break; - } - sp14.x = var_r29->pos.x; - sp14.z = var_r29->pos.z; - fn_1_15FD0(sp14, 50.0f, 0, 1, var_r30->unk0); - } - } - } - } -} - -void fn_1_85D4(s16 arg0, M427DllMapSubstruct3 *arg1) -{ - float var_f31; - M427DllMapUNKB8 *var_r31; - M427DllMapSubstruct2 *var_r30; - s16 var_r29; - ModelData *var_r27; - - var_r30 = &lbl_1_bss_158.unk34C[arg0]; - var_r31 = arg1->unkB8[var_r30->unk0]; - for (var_r29 = 0; var_r29 < 2; var_r29++, var_r31++) { - var_r27 = &Hu3DData[var_r31->unk2]; - if ((var_r27->attr & 1) != 0) { - Hu3DModelAttrReset(var_r31->unk2, HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(var_r31->unk2, var_r30->unk4.x, var_r30->unk4.y, var_r30->unk4.z); - var_r31->unk8 = 0; - var_r31->unkA = 0; - var_r31->unk18 = var_r30->unk14[0]; - var_r31->unk1A = var_r30->unk14[1]; - var_r31->unk1C = var_r30->unk14[2]; - var_r31->unk1E = var_r30->unk14[3]; - var_r31->unk0 = arg0; - arg1->unk178[arg0] = 1; - fn_1_9A2C(var_r31->unk6, var_r30->unk4.x, var_r30->unk4.y, var_r30->unk4.z); - if (var_r30->unk0 == 0) { - var_f31 = 90.0f; - } - else { - var_f31 = 270.0f; - } - fn_1_9B14(var_r31->unk6, 0.0f, var_f31, 0.0f); - fn_1_999C(var_r31->unk6, 1); - fn_1_8E1C(0, arg1, var_r31); - return; - } - } -} - -float lbl_1_data_1DC[2] = { -1.0f, 1.0f }; -float lbl_1_data_1E4[2] = { 270.0f, 90.0f }; - -void fn_1_8768(M427DllMapSubstruct3 *var_r28, M427DllMapUNKB8 *var_r31, s16 var_r27, float var_f28, float var_f29) -{ - Vec sp50; - Vec sp44; - Vec sp38; - Vec sp2C; - Vec sp20; - float var_f31; - float var_f30; - ModelData *var_r30; - M427DllMapStruct *var_r29; - - var_r30 = &Hu3DData[var_r31->unk2]; - var_f31 = var_f28 * var_r31->unk28; - sp50.x = var_r30->pos.x + (60.0f * lbl_1_data_1DC[var_r27]); - sp50.y = 80.0f + var_r30->pos.y; - sp50.z = var_r30->pos.z; - if (var_r31->unk8 == 1) { - fn_1_C76C(0, sp50.x, sp50.y, sp50.z, 1, lbl_1_data_1E4[var_r27], var_f31, lbl_1_bss_EC[var_r28->unk0]); - return; - } - fn_1_C76C(1, sp50.x, sp50.y, sp50.z, 1, lbl_1_data_1E4[var_r27], var_f31, lbl_1_bss_EC[var_r28->unk0]); - if (var_r31->unk_10 > (400.0f * var_r31->unk28)) { - var_r31->unk_10 = 400.0f * var_r31->unk28; - } - else if (var_r31->unk_10 < 1.0f) { - var_r31->unk_10 = 1.0f; - } - var_r31->unk2C += 30.0f; - if (var_r31->unk2C >= 360.0f) { - var_r31->unk2C -= 360.0f; - } - sp50.x = var_r30->pos.x + (240.0f * lbl_1_data_1DC[var_r27]); - sp50.y = 100.0f + var_r30->pos.y; - sp50.z = var_r30->pos.z; - sp44.x = sp44.y = sp44.z = 0.0f; - var_f30 = var_r31->unk_10 + (var_f28 * (50.0 * sind(var_r31->unk2C))); - Hu3DLLightPointSet(var_r31->unk2, var_r31->unk4, var_f30, 0.5f, 3); - Hu3DLLightPosSetV(var_r31->unk2, var_r31->unk4, &sp50, &sp44); - var_r29 = &lbl_1_bss_F0[var_r31->unk6]; - var_r29->unk90 -= 0.0005f; - var_r29->unk8C += 0.005f; - var_r29->unk94 += 0.001f; - if (var_r31->unkC > 1.0f) { - var_r31->unkC = 1.0f; - } - else if (var_r31->unkC < 0.0f) { - var_r31->unkC = 0.0f; - } - fn_1_99E4(var_r31->unk6, 0xFF, 0xA0, 0x60, 255.0f * var_r31->unkC); - var_r31->unk20 += 2.0f; - var_r31->unk24 += (((rand8() << 8) | rand8()) % 5) + 4; - if (var_r31->unk20 >= 360.0f) { - var_r31->unk20 -= 360.0f; - } - if (var_r31->unk24 >= 360.0f) { - var_r31->unk24 -= 360.0f; - } - sp38.x = 1.0 + (0.009999999776482582 * sind(var_r31->unk24)); - sp38.z = var_r31->unk28 + (0.009999999776482582 * sind(var_r31->unk20)); - fn_1_9AA0(var_r31->unk6, sp38.x, 1.0f, sp38.z); - if (var_r27 == 0) { - sp2C.x = var_r30->pos.x - (700.0f * var_f31 * var_f29); - sp20.x = var_r30->pos.x - 50.0f; - } - else { - sp2C.x = 50.0f + var_r30->pos.x; - sp20.x = var_r30->pos.x + (700.0f * var_f31 * var_f29); - } - sp2C.z = var_r30->pos.z - 30.0f; - sp20.z = 30.0f + var_r30->pos.z; - fn_1_15F10(sp2C, sp20, 1, 1, var_r28->unk0); -} - -void fn_1_8E1C(u8 arg0, M427DllMapSubstruct3 *arg1, M427DllMapUNKB8 *arg2) -{ - s32 spC[8]; - s16 var_r30; - ModelData *var_r29; - M427DllMapSubstruct2 *var_r27; - s16 var_r26; - ModelData *var_r25; - s16 var_r24; - - var_r27 = &lbl_1_bss_158.unk34C[arg2->unk0]; - var_r25 = &Hu3DData[arg2->unk2]; - if (arg0 == 0) { - var_r26 = var_r25->unk_38[arg2->unk4]; - } - else { - var_r26 = -1; - } - var_r24 = fn_1_10FE8(arg1->unk0, spC); - for (var_r30 = 0; var_r30 < var_r24; var_r30++) { - var_r29 = &Hu3DData[spC[var_r30]]; - var_r29->unk_38[arg2->unk4] = var_r26; - } - var_r29 = &Hu3DData[arg1->unk1A]; - var_r29->unk_38[arg2->unk4] = var_r26; - for (var_r30 = 0; var_r30 < 2; var_r30++) { - if (var_r27->unk10[var_r30] != -1) { - var_r29 = &Hu3DData[arg1->unk2[var_r27->unk10[var_r30]]]; - var_r29->unk_38[arg2->unk4] = var_r26; - } - } -} - -void fn_1_8F90(omObjData *object) -{ - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - M427DllMapSubstruct3 *var_r31; - s16 var_r30; - M427DllMapStruct3 *var_r29; - - var_r29 = &lbl_1_bss_158; - for (var_r30 = 0, var_r31 = var_r29->unk4; var_r30 < 2; var_r30++, var_r31++) { - var_f31 = sind(var_r31->unk90); - var_f30 = cosd(var_r31->unk90); - var_r31->unk_60.x = var_r31->unk84.x - (25.0f * var_f31); - var_r31->unk_60.y = 100.0f + var_r31->unk84.y; - var_r31->unk_60.z = var_r31->unk84.z - (25.0f * var_f30); - var_r31->unk_6C.x = var_r31->unk_60.x - (50.0f * var_f31); - var_r31->unk_6C.y = var_r31->unk_60.y; - var_r31->unk_6C.z = var_r31->unk_60.z - (50.0f * var_f30); - Hu3DLLightPosSet(var_r31->unk2[0], var_r31->unk5C, var_r31->unk_60.x, var_r31->unk_60.y, var_r31->unk_60.z, 0.0f, 0.0f, 0.0f); - Hu3DLLightPosAimSetV(var_r31->unk2[0], var_r31->unk5C, &var_r31->unk_60, &var_r31->unk_6C); - fn_1_9A2C(var_r31->unkB0[0], var_r31->unk84.x, var_r31->unk84.y, var_r31->unk84.z); - fn_1_9B14(var_r31->unkB0[0], 0.0f, var_r31->unk90, 0.0f); - sp14.x = var_r31->unk84.x; - sp14.y = 100.0f + var_r31->unk84.y; - sp14.z = 50.0f + var_r31->unk84.z; - sp8.x = sp8.y = sp8.z = 0.0f; - Hu3DLLightPosSetV(var_r31->unk1A, 1, &sp14, &sp8); - } -} - -void fn_1_91E0(s16 arg0, float arg8, float arg9, float argA, float argB) -{ - M427DllMapSubstruct3 *var_r31; - - var_r31 = &lbl_1_bss_158.unk4[arg0]; - var_r31->unk84.x = arg8; - var_r31->unk84.y = arg9; - var_r31->unk84.z = argA; - var_r31->unk90 = argB; - if (var_r31->unkAC) { - var_r31->unkAC->unk_0C = 1500.0f + argA; - } -} - -void fn_1_9240(void) -{ - M427DllMapStruct *var_r31; - M427DllMapSubstruct3 *var_r30; - s16 var_r29; - s16 var_r28; - - for (var_r30 = lbl_1_bss_158.unk4, var_r28 = 0; var_r28 < 2; var_r28++, var_r30++) { - for (var_r29 = 0; var_r29 < 1; var_r29++) { - var_r31 = &lbl_1_bss_F0[var_r30->unkB0[var_r29]]; - var_r31->unk90 -= 0.0005f; - var_r31->unk8C += 0.0005f; - var_r31->unk94 += 0.0005f; - } - } -} - -void fn_1_9318(s16 *arg0, s16 arg1) -{ - s16 var_r31; - ModelData *var_r30; - ModelData *var_r29; - s16 var_r28; - - var_r30 = &Hu3DData[*arg0]; - for (var_r28 = 1; var_r28 < arg1; var_r28++) { - var_r29 = &Hu3DData[arg0[var_r28]]; - for (var_r31 = 0; var_r31 < 8; var_r31++) { - if (var_r30->unk_38[var_r31] != -1) { - var_r29->unk_38[var_r31] = var_r30->unk_38[var_r31]; - } - } - var_r29->attr |= 0x1000; - } -} - -void fn_1_93EC(s32 sp8, s32 spC, float var_f30, float var_f31, float sp10, float sp14) -{ - M427DllMapStruct3Sub *var_r31; - - var_r31 = &lbl_1_bss_158.unk334; - var_r31->unk_00 = HuSprAnimRead(HuDataReadNum(sp8, MEMORY_DEFAULT_NUM)); - var_r31->unk_04 = HuSprAnimRead(HuDataReadNum(spC, MEMORY_DEFAULT_NUM)); - var_r31->unk_08 = 0.5f * var_f30; - var_r31->unk_0C = 0.5f * var_f31; - var_r31->unk_10 = sp10 / var_f30; - var_r31->unk_14 = sp14 / var_f31; -} - -void fn_1_94BC(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, float arg8, Vec2f *arg4, s16 arg5) -{ - Mtx sp58; - Mtx sp28; - Vec sp1C; - Vec sp10; - M427DllMapStruct3Sub *var_r31; - s16 var_r28; - - var_r31 = &lbl_1_bss_158.unk334; - for (var_r28 = 0; var_r28 < arg5; var_r28++, arg2++, arg4++) { - MTXScale(sp58, arg3->x, arg3->y, arg3->z); - MTXRotRad(sp28, 0x59, MTXDegToRad(arg8)); - MTXConcat(sp58, sp28, sp58); - MTXMultVec(sp58, arg2, &sp1C); - sp10.x = var_r31->unk_08 + ((sp1C.x + arg1->x) - arg0->x); - sp10.z = var_r31->unk_0C + ((sp1C.z + arg1->z) - arg0->z); - arg4->x = sp10.x * var_r31->unk_10; - arg4->y = sp10.z * var_r31->unk_14; - } -} - -s16 fn_1_95E8(s32 arg0, s16 arg1, s16 arg2, float arg8, float arg9, float argA, float argB, float argC) -{ - M427DllMapStruct *var_r31; - s16 var_r30; - s16 var_r29; - void *var_r28; - void *var_r26; - - for (var_r31 = lbl_1_bss_F0, var_r29 = 0; var_r29 < 0x10; var_r29++, var_r31++) { - if (var_r31->unk2 == -1) { - break; - } - } - if (var_r29 == 0x10) { - return -1; - } - var_r31->unk4 = Hu3DHookFuncCreate(fn_1_9B88); - Hu3DModelCameraSet(var_r31->unk4, arg1 ? 2 : 1); - Hu3DModelLayerSet(var_r31->unk4, arg2); - Hu3DData[var_r31->unk4].unk_120 = var_r31; - Hu3DModelPosSet(var_r31->unk4, 0.0f, 0.0f, -2000.0f); - var_r31->unk0 = 0; - var_r31->unk2 = arg1; - var_r31->unk7C.r = var_r31->unk7C.g = var_r31->unk7C.b = var_r31->unk7C.a = 0xFF; - var_r31->unk88 = var_r31->unk8C = 0.0f; - var_r31->unk90 = var_r31->unk94 = 0.0f; - var_r31->unk8 = HuSprAnimRead(HuDataReadNum(arg0, MEMORY_DEFAULT_NUM)); - fn_1_C2AC(&var_r31->unkC, arg8 - argA, argC, arg9 - argB); - fn_1_C2BC(&var_r31->unk3C, 0.0f, 0.0f); - fn_1_C2AC(&var_r31->unk18, arg8 + argA, argC, arg9 - argB); - fn_1_C2BC(&var_r31->unk44, 1.0f, 0.0f); - fn_1_C2AC(&var_r31->unk24, arg8 + argA, argC, arg9 + argB); - fn_1_C2BC(&var_r31->unk4C, 1.0f, 1.0f); - fn_1_C2AC(&var_r31->unk30, arg8 - argA, argC, arg9 + argB); - fn_1_C2BC(&var_r31->unk54, 0.0f, 1.0f); - DCFlushRangeNoSync(&var_r31->unkC, 0x30); - DCFlushRangeNoSync(&var_r31->unk3C, 0x20); - PPCSync(); - var_r28 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x1000, MEMORY_DEFAULT_NUM); - var_r26 = var_r28; - DCFlushRange(var_r28, 0x1000); - GXBeginDisplayList(var_r26, 0x1000); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - for (var_r30 = 0; var_r30 < 4; var_r30++) { - GXPosition1x16(var_r30); - GXPosition1x16(var_r30); - GXPosition1x16(var_r30); - } - var_r31->unk84 = GXEndDisplayList(); - var_r31->unk80 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r31->unk84, MEMORY_DEFAULT_NUM); - memcpy(var_r31->unk80, var_r28, var_r31->unk84); - DCFlushRange(var_r31->unk80, var_r31->unk84); - HuMemDirectFree(var_r28); - return var_r29; -} - -void fn_1_9958(s16 arg0, u8 arg1) -{ - M427DllMapStruct *var_r31; - - if (arg0 != -1) { - var_r31 = &lbl_1_bss_F0[arg0]; - var_r31->unk0 |= arg1; - } -} - -void fn_1_999C(s16 arg0, u8 arg1) -{ - M427DllMapStruct *var_r31; - - if (arg0 != -1) { - var_r31 = &lbl_1_bss_F0[arg0]; - var_r31->unk0 &= ~arg1; - } -} - -void fn_1_99E4(s16 arg0, u8 arg1, u8 arg2, u8 arg3, u8 arg4) -{ - M427DllMapStruct *var_r31; - - if (arg0 != -1) { - var_r31 = &lbl_1_bss_F0[arg0]; - var_r31->unk7C.r = arg1; - var_r31->unk7C.g = arg2; - var_r31->unk7C.b = arg3; - var_r31->unk7C.a = arg4; - } -} - -void fn_1_9A2C(s16 arg0, float arg8, float arg9, float argA) -{ - M427DllMapStruct *var_r31; - - if (arg0 != -1) { - var_r31 = &lbl_1_bss_F0[arg0]; - Hu3DModelPosSet(var_r31->unk4, arg8, arg9, argA); - } -} - -void fn_1_9AA0(s16 arg0, float arg8, float arg9, float argA) -{ - M427DllMapStruct *var_r31; - - if (arg0 != -1) { - var_r31 = &lbl_1_bss_F0[arg0]; - Hu3DModelScaleSet(var_r31->unk4, arg8, arg9, argA); - } -} - -void fn_1_9B14(s16 arg0, float arg8, float arg9, float argA) -{ - M427DllMapStruct *var_r31; - - if (arg0 != -1) { - var_r31 = &lbl_1_bss_F0[arg0]; - Hu3DModelRotSet(var_r31->unk4, arg8, arg9, argA); - } -} - -void fn_1_9B88(ModelData *model, Mtx matrix) -{ - Mtx sp88; - M427DllMapStruct *var_r31; - M427DllMapSubstruct3 *var_r27; - M427DllMapStruct3Sub *var_r26; - - var_r31 = model->unk_120; - var_r27 = &lbl_1_bss_158.unk4[var_r31->unk2]; - var_r26 = &lbl_1_bss_158.unk334; - if ((var_r31->unk0 & 1) == 0) { - fn_1_94BC(&var_r27->unk78, &model->pos, &var_r31->unkC, &model->scale, model->rot.y, var_r31->unk5C, 4); - DCFlushRangeNoSync(var_r31->unk5C, 4 * sizeof(Vec2f)); - PPCSync(); - GXLoadPosMtxImm(matrix, 0); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0); - GXSetArray(GX_VA_POS, &var_r31->unkC, sizeof(Vec)); - GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0); - GXSetArray(GX_VA_TEX0, &var_r31->unk3C, sizeof(Vec2f)); - GXSetVtxDesc(GX_VA_TEX1, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX1, GX_TEX_ST, GX_RGBA6, 0); - GXSetArray(GX_VA_TEX1, var_r31->unk5C, sizeof(Vec2f)); - HuSprTexLoad(var_r31->unk8, 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - HuSprTexLoad(var_r26->unk_04, 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR); - HuSprTexLoad(var_r26->unk_00, 0, 2, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXSetNumTexGens(3); - MTXScale(sp88, 1.0f, 1.0f, 1.0f); - mtxTransCat(sp88, var_r31->unk88, var_r31->unk90, 0.0f); - GXLoadTexMtxImm(sp88, 0x1E, GX_MTX2x4); - MTXScale(sp88, 1.0f, 1.0f, 1.0f); - mtxTransCat(sp88, var_r31->unk8C, var_r31->unk94, 0.0f); - GXLoadTexMtxImm(sp88, 0x21, GX_MTX2x4); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3C, 0, 0x7D); - GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEX1, 0x1E, 0, 0x7D); - GXSetTexCoordGen2(GX_TEXCOORD2, GX_TG_MTX2x4, GX_TG_TEX0, 0x21, 0, 0x7D); - GXSetNumTevStages(2); - GXSetTevColor(GX_TEVREG1, var_r31->unk7C); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR_NULL); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_C1, GX_CC_TEXA, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVREG0); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVREG0); - GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); - GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_ZERO, GX_CC_C0, GX_CC_TEXA, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_A1, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumIndStages(1); - GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD2, GX_TEXMAP2); - GXSetTevIndWarp(0, 0, 1, 0, 1); - MTXScale(sp88, 0.1f, 0.10000000149011612 * -sind(model->rot.y), 1.0f); - GXSetIndTexMtx(GX_ITM_0, (float(*)[3])sp88, 0); - GXSetNumChans(0); - GXSetZMode(0, GX_LEQUAL, 0); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZCompLoc(0); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); - GXCallDisplayList(var_r31->unk80, var_r31->unk84); - GXSetNumIndStages(0); - GXSetTevDirect(GX_TEVSTAGE0); - GXSetTevDirect(GX_TEVSTAGE1); - } -} - -void fn_1_A148(ModelData *model, Mtx matrix) -{ - M427DllMapSubstruct3Sub *var_r31; - - var_r31 = model->unk_120; - if (var_r31->unk0 == 0) { - GXSetTexCopySrc(0, 0, 0x140, 0x1E0); - GXSetTexCopyDst(0x140, 0x1E0, GX_TF_RGB5A3, 0); - } - else { - GXSetTexCopySrc(0x140, 0, 0x140, 0x1E0); - GXSetTexCopyDst(0x140, 0x1E0, GX_TF_RGB5A3, 0); - } - GXCopyTex(var_r31->unk4, 1); - DCFlushRange(var_r31->unk4, var_r31->unk8); -} - -s16 fn_1_A1F4(s32 arg0, s16 arg1, s16 arg2, s16 arg3, float arg8, Vec *arg4, Vec *arg5) -{ - float var_f31; - float var_f30; - float var_f29; - float var_f28; - M427DllMapStruct6 *var_r31; - M427DllMapSubstruct5 *var_r30; - ModelData *var_r29; - s16 var_r28; - s16 var_r27; - Vec2f *var_r26; - void *var_r25; - M427DllMapStruct3 *var_r22; - u16 var_r21; - s16 var_r19; - void *var_r18; - - var_r22 = &lbl_1_bss_158; - var_r28 = Hu3DHookFuncCreate(fn_1_B3CC); - var_r19 = var_r28; - Hu3DModelCameraSet(var_r28, arg3 ? 2 : 1); - Hu3DModelLayerSet(var_r28, 5); - var_r29 = &Hu3DData[var_r28]; - var_r31 = HuMemDirectMallocNum(HEAP_DATA, sizeof(M427DllMapStruct6), var_r29->unk_48); - var_r29->unk_120 = var_r31; - var_r22->unk4[arg3].unkAC = var_r31; - var_r31->unk_00 = arg3; - var_r31->unk_0C = 0.0f; - var_r31->unk_10 = arg8; - var_r31->unk_04 = arg4; - var_r31->unk_08 = arg5; - var_r31->unk_14 = var_r31->unk_18 = 0.0f; - var_r31->unk_1C = var_r31->unk_20 = 0.0f; - var_r31->unk_4C = var_r31->unk_50 = 0.0f; - var_r31->unk_54 = 120.0f; - var_r31->unk_58 = 72.0f; - var_r31->unk_5C = 10.0f; - var_r31->unk_60 = 10.0f; - var_r31->unk_28 = HuSprAnimRead(HuDataReadNum(arg0, MEMORY_DEFAULT_NUM)); - var_r31->unk_3A = arg1 + 1; - var_r31->unk_3C = arg2 + 1; - var_r31->unk_38 = var_r31->unk_3A * var_r31->unk_3C; - var_r31->unk_2C = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_38 * sizeof(Vec), var_r29->unk_48); - var_r26 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_38 * sizeof(Vec2f), var_r29->unk_48); - var_r31->unk_30 = var_r26; - var_r31->unk_34 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_38 * sizeof(Vec), var_r29->unk_48); - var_r30 = HuMemDirectMallocNum(HEAP_DATA, arg2 * (arg1 * sizeof(M427DllMapSubstruct5)), var_r29->unk_48); - var_r31->unk_48 = var_r30; - var_r25 = HuMemDirectMallocNum(HEAP_DATA, 0x20000, var_r29->unk_48); - var_r18 = var_r25; - DCFlushRange(var_r25, 0x20000); - GXBeginDisplayList(var_r18, 0x20000); - GXBegin(GX_QUADS, GX_VTXFMT0, arg1 * arg2 * 4); - for (var_r28 = 0; var_r28 < arg2; var_r28++) { - for (var_r27 = 0; var_r27 < arg1; var_r27++) { - var_r30->unk0 = var_r27 + (var_r28 * var_r31->unk_3A); - var_r30->unk2 = var_r27 + var_r28 * var_r31->unk_3A + 1; - var_r30->unk4 = var_r27 + ((var_r28 + 1) * var_r31->unk_3A) + 1; - var_r30->unk6 = var_r27 + ((var_r28 + 1) * var_r31->unk_3A); - GXPosition1x16(var_r30->unk0); - GXPosition1x16(var_r30->unk0); - GXPosition1x16(var_r30->unk0); - GXPosition1x16(var_r30->unk2); - GXPosition1x16(var_r30->unk2); - GXPosition1x16(var_r30->unk2); - GXPosition1x16(var_r30->unk4); - GXPosition1x16(var_r30->unk4); - GXPosition1x16(var_r30->unk4); - GXPosition1x16(var_r30->unk6); - GXPosition1x16(var_r30->unk6); - GXPosition1x16(var_r30->unk6); - fn_1_C2C8(&var_r31->unk_2C[var_r30->unk0], &var_r31->unk_2C[var_r30->unk2], &var_r31->unk_2C[var_r30->unk4], &var_r30->unk8); - var_r30++; - } - } - var_r31->unk_44 = GXEndDisplayList(); - var_r31->unk_40 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_44, var_r29->unk_48); - memcpy(var_r31->unk_40, var_r25, var_r31->unk_44); - DCFlushRange(var_r31->unk_40, var_r31->unk_44); - HuMemDirectFree(var_r25); - fn_1_A7F8(var_r31); - var_f29 = 3.0f / (var_r31->unk_3A - 1); - var_f28 = 5.0f / (var_r31->unk_3C - 1); - var_f30 = 0.0f; - for (var_r28 = 0; var_r28 < var_r31->unk_3C; var_r28++) { - var_f31 = 0.0f; - for (var_r27 = 0; var_r27 < var_r31->unk_3A; var_r27++) { - var_r26->x = var_f31; - var_r26->y = var_f30; - var_f31 += var_f29; - var_r26++; - } - var_f30 += var_f28; - } - DCFlushRangeNoSync(var_r31->unk_30, var_r31->unk_38 * 8); - PPCSync(); - return var_r19; -} - -void fn_1_A7F8(M427DllMapStruct6 *var_r31) -{ - Vec sp1C; - float sp14[2]; - float spC[2]; - float var_f29; - float var_f28; - float var_f27; - M427DllMapSubstruct5 *var_r30; - Vec *var_r29; - s16 var_r28; - Vec *var_r27; - s16 var_r26; - s16 var_r25; - - if (omPauseChk() == 0) { - var_r31->unk_4C += 1.0f; - var_r31->unk_50 += 1.5f; - } - if (var_r31->unk_4C >= 360.0f) { - var_r31->unk_4C -= 360.0f; - } - if (var_r31->unk_50 >= 360.0f) { - var_r31->unk_50 -= 360.0f; - } - var_r27 = var_r31->unk_2C; - var_r29 = var_r31->unk_34; - spC[0] = var_r31->unk_0C - var_r31->unk_10; - spC[1] = var_r31->unk_10 / (var_r31->unk_3C - 1); - var_f28 = var_r31->unk_50; - for (var_r28 = 0; var_r28 < var_r31->unk_3C; var_r28++) { - fn_1_B194(var_r31, spC[0], &sp1C); - sp14[0] = sp1C.x; - sp14[1] = (sp1C.y - sp1C.x) / (var_r31->unk_3A - 1); - var_f29 = var_r31->unk_4C; - for (var_r26 = 0; var_r26 < var_r31->unk_3A; var_r26++) { - var_r27->x = sp14[0]; - var_r27->y = sp1C.z + (var_r31->unk_5C * sind(var_f29)) + var_r31->unk_60 * sind(var_f28); - var_r27->z = spC[0]; - sp14[0] += sp14[1]; - var_r27++; - var_r29->x = var_r29->y = var_r29->z = 0.0f; - var_r29++; - var_f29 += var_r31->unk_54; - if (var_f29 >= 360.0f) { - var_f29 -= 360.0f; - } - } - spC[0] += spC[1]; - var_f28 += var_r31->unk_58; - if (var_f28 >= 360.0f) { - var_f28 -= 360.0f; - } - } - var_r30 = var_r31->unk_48; - var_r25 = (var_r31->unk_3A - 1) * (var_r31->unk_3C - 1); - for (var_r28 = 0; var_r28 < var_r25; var_r28++) { - fn_1_C2C8(&var_r31->unk_2C[var_r30->unk0], &var_r31->unk_2C[var_r30->unk2], &var_r31->unk_2C[var_r30->unk4], &var_r30->unk8); - var_r31->unk_34[var_r30->unk0].x += var_r30->unk8.x; - var_r31->unk_34[var_r30->unk0].y += var_r30->unk8.y; - var_r31->unk_34[var_r30->unk0].z += var_r30->unk8.z; - - var_r31->unk_34[var_r30->unk2].x += var_r30->unk8.x; - var_r31->unk_34[var_r30->unk2].y += var_r30->unk8.y; - var_r31->unk_34[var_r30->unk2].z += var_r30->unk8.z; - - var_r31->unk_34[var_r30->unk4].x += var_r30->unk8.x; - var_r31->unk_34[var_r30->unk4].y += var_r30->unk8.y; - var_r31->unk_34[var_r30->unk4].z += var_r30->unk8.z; - - var_r31->unk_34[var_r30->unk6].x += var_r30->unk8.x; - var_r31->unk_34[var_r30->unk6].y += var_r30->unk8.y; - var_r31->unk_34[var_r30->unk6].z += var_r30->unk8.z; - var_r30++; - } - var_r29 = var_r31->unk_34; - for (var_r28 = 0; var_r28 < var_r31->unk_38; var_r28++) { - var_f27 = sqrtf((var_r29->z * var_r29->z) + ((var_r29->x * var_r29->x) + (var_r29->y * var_r29->y))); - var_r29->x /= var_f27; - var_r29->y /= var_f27; - var_r29->z /= var_f27; - var_r29++; - } - DCFlushRangeNoSync(var_r31->unk_2C, var_r31->unk_38 * sizeof(Vec)); - DCFlushRangeNoSync(var_r31->unk_34, var_r31->unk_38 * sizeof(Vec)); - PPCSync(); -} - -s16 lbl_1_data_1EC[2] = { 0, 0 }; - -float fn_1_AE78(s16 arg0, float arg8, float arg9) -{ - float sp8[2]; - float var_f31; - float var_f30; - Vec *var_r31; - s16 var_r30; - M427DllMapSubstruct3 *var_r29; - Vec *var_r28; - s16 var_r27; - s16 var_r26; - - var_r29 = &lbl_1_bss_158.unk4[arg0]; - if (lbl_1_bss_158.unk0 != 0) { - if (lbl_1_bss_158.unk0 == 1) { - lbl_1_data_1EC[arg0] = 0; - lbl_1_bss_158.unk0 = 2; - } - if (!lbl_1_bss_98.unk4) { - return 0.0f; - } - var_r28 = lbl_1_bss_98.unk4; - var_r31 = &lbl_1_bss_98.unk4[lbl_1_data_1EC[arg0]]; - var_r27 = lbl_1_bss_98.unk14; - var_r26 = lbl_1_bss_98.unk16; - for (var_r30 = lbl_1_data_1EC[arg0]; var_r30 < var_r27; var_r30++, var_r31++) { - if (arg9 >= var_r31->z && arg8 >= var_r31->x) { - break; - } - } - if (var_r30 == var_r27) { - return 0.0f; - } - } - else { - if (!var_r29->unkAC) { - return 0.0f; - } - var_r28 = var_r29->unkAC->unk_2C; - var_r31 = &var_r29->unkAC->unk_2C[lbl_1_data_1EC[arg0]]; - var_r27 = var_r29->unkAC->unk_38; - var_r26 = var_r29->unkAC->unk_3A; - for (var_r30 = lbl_1_data_1EC[arg0]; var_r30 < var_r27; var_r30++, var_r31++) { - if (arg9 <= var_r31->z && arg8 <= var_r31->x) { - break; - } - } - if (var_r30 == var_r27) { - return 0.0f; - } - } - sp8[0] = var_r31->x - var_r28[var_r30 - 1].x; - sp8[1] = arg8 - var_r28[var_r30 - 1].x; - var_f30 = sp8[1] / sp8[0]; - var_f31 = var_r31->y - var_r28[var_r30 - 1].y; - var_f31 = var_r28[var_r30 - 1].y + (var_f31 * var_f30); - lbl_1_data_1EC[arg0] = var_r30 - (var_r26 * 2); - return 20.0f + var_f31; -} - -void fn_1_B194(M427DllMapStruct6 *arg0, float arg8, Vec *arg1) -{ - float sp10[2]; - float sp8[2]; - float var_f31; - s16 var_r31; - - for (var_r31 = lbl_1_bss_580; var_r31 != 0;) { - var_r31--; - if (arg0->unk_04[var_r31].z >= arg8) { - if (var_r31 == (lbl_1_bss_580 - 1)) { - arg1->x = arg0->unk_08[var_r31].x; - arg1->y = arg0->unk_04[var_r31].x; - arg1->z = arg0->unk_04[var_r31].y; - } - else { - var_f31 = (arg0->unk_04[var_r31].z - arg8) / (arg0->unk_04[var_r31].z - arg0->unk_04[var_r31 + 1].z); - sp10[0] = arg0->unk_08[var_r31].x - 100.0f; - sp10[1] = arg0->unk_08[var_r31 + 1].x - 100.0f; - sp8[0] = 100.0f + arg0->unk_04[var_r31].x; - sp8[1] = 100.0f + arg0->unk_04[var_r31 + 1].x; - arg1->x = sp10[0] + (var_f31 * (sp10[1] - sp10[0])); - arg1->y = sp8[0] + (var_f31 * (sp8[1] - sp8[0])); - arg1->z = arg0->unk_04[var_r31].y + (var_f31 * (arg0->unk_04[var_r31 + 1].y - arg0->unk_04[var_r31].y)); - } - return; - } - } -} - -void fn_1_B3CC(ModelData *model, Mtx matrix) -{ - Mtx sp154; - Mtx sp124; - Mtx spF4; - Mtx spC4; - GXTexObj sp44; - Vec2f sp18; - GXColor sp14; - float var_f31; - M427DllMapStruct6 *var_r31; - M427DllMapSubstruct3 *var_r30; - M427DllMapSubstruct3Sub *var_r27; - M427DllMapStruct3Sub *var_r24; - s16 var_r21; - - var_r31 = model->unk_120; - var_r30 = &lbl_1_bss_158.unk4[var_r31->unk_00]; - var_r27 = &var_r30->unk94; - var_r24 = &lbl_1_bss_158.unk334; - fn_1_A7F8(var_r31); - GXLoadPosMtxImm(matrix, 0); - MTXInvXpose(matrix, spF4); - GXLoadNrmMtxImm(spF4, 0); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, var_r31->unk_2C, sizeof(Vec)); - GXSetVtxDesc(GX_VA_NRM, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0); - GXSetArray(GX_VA_NRM, var_r31->unk_34, sizeof(Vec)); - GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetArray(GX_VA_TEX0, var_r31->unk_30, 8); - if (var_r31->unk_00 == 0) { - GXInitTexObj(&sp44, var_r27->unk4, 0x140, 0x1E0, GX_TF_RGB5A3, GX_CLAMP, GX_CLAMP, 0); - } - else { - GXInitTexObj(&sp44, var_r27->unk4, 0x140, 0x1E0, GX_TF_RGB5A3, GX_CLAMP, GX_CLAMP, 0); - } - GXInitTexObjLOD(&sp44, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, 0, 0, GX_ANISO_1); - GXLoadTexObj(&sp44, GX_TEXMAP0); - HuSprTexLoad(var_r31->unk_28, 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR); - HuSprTexLoad(var_r24->unk_00, 0, 2, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXSetNumTevStages(3); - sp14.r = 0; - sp14.g = 0xB6; - sp14.b = 0xCC; - sp14.a = 0x40; - GXSetTevColor(GX_TEVREG2, sp14); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_4, GX_TRUE, GX_TEVREG0); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVREG0); - GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR_NULL); - GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_ZERO, GX_CC_TEXA, GX_CC_C2, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVREG1); - GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVREG1); - GXSetTevOrder(GX_TEVSTAGE2, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE2, GX_CC_ZERO, GX_CC_C1, GX_CC_RASC, GX_CC_C0); - GXSetTevColorOp(GX_TEVSTAGE2, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE2, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE2, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumIndStages(1); - GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD2, GX_TEXMAP2); - GXSetTevIndWarp(1, 0, 1, 0, 1); - MTXScale(spF4, -0.1f, 0.1f, 1.0f); - GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spF4, 0); - GXSetNumTexGens(3); - C_MTXLightPerspective(sp154, 45.0f, 0.6f, 0.5f, -0.5f, 0.5f, 0.5f); - MTXCopy(matrix, sp124); - MTXInverse(Hu3DCameraMtx, spF4); - MTXConcat(spF4, sp124, spF4); - MTXConcat(sp154, Hu3DCameraMtx, spC4); - MTXConcat(spC4, spF4, spF4); - GXLoadTexMtxImm(spF4, 0x1E, GX_MTX3x4); - { - Vec sp38 = { 1.0f, 1.0f, 1.0f }; - var_f31 = 0.0f; - fn_1_94BC(&var_r30->unk78, &var_r30->unk84, var_r31->unk_2C, &sp38, var_f31, &sp18, 1); - } - if (omPauseChk() == 0) { - var_r31->unk_20 = var_r31->unk_20 - 0.001f; - } - MTXScale(spF4, 1.0f, 1.0f, 1.0f); - mtxTransCat(spF4, 0.0f, var_r31->unk_20 + (0.3f * sp18.y), 0.0f); - GXLoadTexMtxImm(spF4, 0x21, GX_MTX2x4); - if (omPauseChk() == 0) { - var_r31->unk_24 += 0.05f; - } - if (var_r31->unk_24 >= 360.0f) { - var_r31->unk_24 -= 360.0f; - } - var_r31->unk_14 = sind(var_r31->unk_24); - if (omPauseChk() == 0) { - var_r31->unk_1C += 0.0005f; - } - MTXScale(spF4, 0.5f, 0.5f, 0.5f); - mtxTransCat(spF4, var_r31->unk_14, var_r31->unk_1C, 0.0f); - GXLoadTexMtxImm(spF4, 0x24, GX_MTX2x4); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D); - GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEX0, 0x21, GX_FALSE, 0x7D); - GXSetTexCoordGen2(GX_TEXCOORD2, GX_TG_MTX2x4, GX_TG_TEX0, 0x24, GX_FALSE, 0x7D); - GXSetNumChans(1); - var_r21 = Hu3DLightSet(model, &Hu3DCameraMtx, &Hu3DCameraMtxXPose, 0.0f); - GXSetChanCtrl(GX_COLOR0A0, GX_TRUE, GX_SRC_REG, GX_SRC_REG, var_r21, GX_DF_CLAMP, GX_AF_SPOT); - sp14.r = sp14.g = sp14.b = 0x10; - sp14.a = 0xFF; - GXSetChanAmbColor(GX_COLOR0A0, sp14); - sp14.r = sp14.g = sp14.b = 0xFF; - sp14.a = 0xFF; - GXSetChanMatColor(GX_COLOR0A0, sp14); - GXSetZMode(1, GX_LEQUAL, GX_TRUE); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZCompLoc(0); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); - GXCallDisplayList(var_r31->unk_40, var_r31->unk_44); - GXSetNumIndStages(0); - GXSetTevDirect(GX_TEVSTAGE0); - GXSetTevDirect(GX_TEVSTAGE1); -} - -void fn_1_BD2C(ModelData *model, Mtx matrix) -{ - GXColor sp14 = { 0, 0, 0, 0xFF }; - GXSetFog(GX_FOG_EXP, 10000.0f, 20000.0f, 300.0f, 50000.0f, sp14); - GXLoadPosMtxImm(matrix, 0); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - HuSprTexLoad(lbl_1_bss_F4, 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXSetNumTevStages(1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_TEXC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumTexGens(1); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3C, GX_FALSE, 0x7D); - GXSetNumChans(0); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZCompLoc(GX_FALSE); - GXSetBlendMode(GX_BM_NONE, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(-1000.0f, 1000.0f, -24000.0f); - GXTexCoord2f32(0.0f, 0.0f); - - GXPosition3f32(1000.0f, 1000.0f, -24000.0f); - GXTexCoord2f32(1.0f, 0.0f); - - GXPosition3f32(1000.0f, -1000.0f, -24000.0f); - GXTexCoord2f32(1.0f, 1.0f); - - GXPosition3f32(-1000.0f, -1000.0f, -24000.0f); - GXTexCoord2f32(0.0f, 1.0f); - - GXSetFog(GX_FOG_EXP, 3500.0f, 20000.0f, 300.0f, 50000.0f, sp14); -} - -void fn_1_C154(ModelData *model, Mtx matrix) -{ - GXColor spC = { 0, 0, 0, 255 }; - GXSetFog(GX_FOG_EXP, 10000.0f, 20000.0f, 300.0f, 50000.0f, spC); -} - -void fn_1_C200(ModelData *model, Mtx matrix) -{ - GXColor spC = { 0, 0, 0, 255 }; - GXSetFog(GX_FOG_EXP, 3500.0f, 20000.0f, 300.0f, 50000.0f, spC); -} - -void fn_1_C2AC(Vec *arg0, float arg8, float arg9, float argA) -{ - arg0->x = arg8; - arg0->y = arg9; - arg0->z = argA; -} - -void fn_1_C2BC(Vec2f *arg0, float arg8, float arg9) -{ - arg0->x = arg8; - arg0->y = arg9; -} - -void fn_1_C2C8(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3) -{ - Vec sp14; - Vec sp8; - - sp14.x = arg1->x - arg0->x; - sp14.y = arg1->y - arg0->y; - sp14.z = arg1->z - arg0->z; - sp8.x = arg2->x - arg1->x; - sp8.y = arg2->y - arg1->y; - sp8.z = arg2->z - arg1->z; - arg3->x = -((sp14.y * sp8.z) - (sp14.z * sp8.y)); - arg3->y = -((sp14.z * sp8.x) - (sp14.x * sp8.z)); - arg3->z = -((sp14.x * sp8.y) - (sp14.y * sp8.x)); -} - -// is this one of the structs? -void fn_1_C3A0(float *arg0, float *arg1) -{ - arg1[0] = arg0[0]; - arg1[4] = arg0[1]; - arg1[8] = arg0[2]; - arg1[1] = arg0[4]; - arg1[5] = arg0[5]; - arg1[9] = arg0[6]; - arg1[2] = arg0[8]; - arg1[6] = arg0[9]; - arg1[10] = arg0[10]; - arg1[3] = 0.0f; - arg1[7] = 0.0f; - arg1[11] = 0.0f; -} - -s16 fn_1_C41C(float x1, float y1, float z1, float x2, float y2, float z2, u8 r, u8 g, u8 b) -{ - Vec sp34; - Vec sp28; - GXColor sp23; - LightData *var_r31; - s16 var_r30; - - sp34.x = x1; - sp34.y = y1; - sp34.z = z1; - sp28.x = x2; - sp28.y = y2; - sp28.z = z2; - sp23.r = r; - sp23.g = g; - sp23.b = b; - sp23.a = 0xFF; - for (var_r31 = Hu3DLocalLight, var_r30 = 0; var_r30 < 0x20; var_r30++, var_r31++) { - if (var_r31->unk_00 == -1) { - break; - } - } - if (var_r30 == 0x20) { - return -1; - } - fn_1_C68C(var_r31, &sp34, &sp28, &sp23); - var_r31->unk_00 |= 0x8000; - return var_r30; -} - -void fn_1_C528(s16 sp8, s16 var_r28, float x1, float y1, float z1, float x2, float y2, float z2, u8 r, u8 g, u8 b) -{ - Vec sp38; - Vec sp2C; - GXColor sp27; - ModelData *var_r31; - LightData *var_r30; - s16 var_r29; - - var_r31 = &Hu3DData[sp8]; - sp38.x = x1; - sp38.y = y1; - sp38.z = z1; - sp2C.x = x2; - sp2C.y = y2; - sp2C.z = z2; - sp27.r = r; - sp27.g = g; - sp27.b = b; - sp27.a = 0xFF; - for (var_r30 = Hu3DLocalLight, var_r29 = 0; var_r29 < 0x20; var_r29++, var_r30++) { - if (var_r30->unk_00 == -1) { - break; - } - } - if (var_r29 == 0x20) { - OSReport("Light Entry Over!\n"); - return; - } - fn_1_C68C(var_r30, &sp38, &sp2C, &sp27); - if (var_r31->unk_38[var_r28] == -1) { - var_r31->unk_38[var_r28] = var_r29; - var_r31->attr |= 0x1000; - } -} - -void fn_1_C68C(LightData *arg0, Vec *arg1, Vec *arg2, GXColor *arg3) -{ - arg0->unk_00 = 0; - arg0->unk_1C = *arg1; - arg0->unk_28 = *arg2; - arg0->unk_34.x = arg0->unk_34.y = arg0->unk_34.z = 0.0f; - arg0->unk_04 = 30.0f; - arg0->unk_02 = 2; - VECNormalize(&arg0->unk_28, &arg0->unk_28); - arg0->color.r = arg3->r; - arg0->color.g = arg3->g; - arg0->color.b = arg3->b; - arg0->color.a = arg3->a; -} - -void fn_1_C76C(u8 arg0, float arg8, float arg9, float argA, s16 arg1, float argB, float argC, s16 arg2) -{ - Vec sp24; - Vec sp18; - float sp10[2]; - GXColor spC; - M427DllMapSubstruct6 *var_r31; - s16 var_r30; - - if (arg0 != 0) { - argB += (((rand8() << 8) | rand8()) % 21) - 0xA; - } - else { - argB += (((rand8() << 8) | rand8()) % 61) - 0x1E; - } - sp10[0] = sind(argB); - sp10[1] = cosd(argB); - for (var_r30 = 0; var_r30 < arg1; var_r30++) { - if (arg0 != 0) { - sp24.x = arg8 + ((((rand8() << 8) | rand8()) % 21) - 0xA); - sp24.y = arg9 + ((((rand8() << 8) | rand8()) % 21) - 0xA); - sp24.z = argA + ((((rand8() << 8) | rand8()) % 21) - 0xA); - } - else { - sp24.x = arg8 + ((((rand8() << 8) | rand8()) % 41) - 0x14); - sp24.y = arg9 + ((((rand8() << 8) | rand8()) % 41) - 0x14); - sp24.z = argA + ((((rand8() << 8) | rand8()) % 41) - 0x14); - } - sp18.x = sp18.y = sp18.z = 0.0f; - spC.r = spC.g = spC.b = spC.a = 0xFF; - var_r31 = fn_1_D4FC(arg2, &sp24, &sp18, 0.0f, &spC); - if (!var_r31) { - break; - } - var_r31->unk_38 = arg0; - if (arg0 != 0) { - var_r31->unk_34 = 0; - var_r31->unk_36 = 3; - var_r31->unk_00 = argC * (sp10[0] * (0.1f * ((((rand8() << 8) | rand8()) % 151) + 0x96))); - var_r31->unk_04 = 0.1f * ((((rand8() << 8) | rand8()) % 31) - 0x14); - var_r31->unk_08 = argC * (sp10[1] * (0.1f * ((((rand8() << 8) | rand8()) % 151) + 0x96))); - var_r31->unk_18 = 0.01f * var_r31->unk_00; - var_r31->unk_1C = 0.1f; - var_r31->unk_20 = 0.01f * var_r31->unk_08; - var_r31->unk_24 = argC * (0.1f * ((((rand8() << 8) | rand8()) % 11) + 0xA)); - var_r31->unk_28 = argC * (0.01f * ((((rand8() << 8) | rand8()) % 101) + 0x32) / (var_r31->unk_36 * 0xE)); - } - else { - var_r31->unk_34 = 0; - var_r31->unk_36 = 2; - var_r31->unk_00 = sp10[0] * (0.1f * ((((rand8() << 8) | rand8()) % 31) + 0x32)); - var_r31->unk_04 = 0.1f * ((((rand8() << 8) | rand8()) % 31) - 0x14); - var_r31->unk_08 = sp10[1] * (0.1f * (((((rand8() << 8) | rand8()) % 31)) + 0x32)); - var_r31->unk_18 = 0.0f; - var_r31->unk_1C = 0.1f; - var_r31->unk_20 = 0.0f; - var_r31->unk_24 = 0.3f * (0.1f * ((((rand8() << 8) | rand8()) % 11) + 0xA)); - var_r31->unk_28 = 0.4f * ((0.01f * ((((rand8() << 8) | rand8()) % 51) + 0x32)) / (var_r31->unk_36 * 0xE)); - } - var_r31->unk_2C = 1024.0f * argC; - var_r31->unk_30 = var_r31->unk_2C / (var_r31->unk_36 * 0xE); - } -} - -void fn_1_D22C(ModelData *model, M427DllMapStruct7 *arg1, Mtx matrix) -{ - M427DllMapSubstruct6 *var_r31; - GXColor *var_r30; - s16 var_r29; - u8 var_r28; - - var_r31 = arg1->unk_18; - var_r30 = arg1->unk_24; - for (var_r29 = 0; var_r29 < arg1->unk_00; var_r29++, var_r31++, var_r30++) { - if (var_r31->unk_62 != 0) { - var_r31->unk_54.x += var_r31->unk_00; - var_r31->unk_54.y += var_r31->unk_04; - var_r31->unk_54.z += var_r31->unk_08; - if (var_r31->unk_38 != 0) { - var_r31->unk_00 -= var_r31->unk_18; - var_r31->unk_04 += var_r31->unk_1C; - var_r31->unk_08 -= var_r31->unk_20; - var_r31->unk_18 = 0.01f * var_r31->unk_00; - var_r31->unk_1C *= 1.04f; - var_r31->unk_20 = 0.01f * var_r31->unk_08; - } - else { - var_r31->unk_04 += var_r31->unk_1C; - var_r31->unk_1C *= 1.1f; - } - var_r31->unk_24 += var_r31->unk_28; - var_r31->unk_48.x = var_r31->unk_48.y = var_r31->unk_48.z = var_r31->unk_24; - var_r31->unk_2C -= var_r31->unk_30; - if (var_r31->unk_2C > 255.0f) { - var_r28 = 0xFF; - } - else { - var_r28 = (s32)var_r31->unk_2C; - } - var_r30->a = (s32)var_r28; - var_r31->unk_34++; - if (var_r31->unk_34 >= var_r31->unk_36) { - var_r31->unk_34 = 0; - var_r31->unk_60++; - } - if (var_r31->unk_60 >= arg1->unk_14) { - var_r31->unk_62 = 0; - } - } - } -} - -s16 fn_1_D430(float arg8, float arg9, float argA, s16 arg0) -{ - Vec sp28; - Vec sp1C; - GXColor sp16; - M427DllMapSubstruct6 *var_r31; - - sp28.x = arg8; - sp28.y = arg9; - sp28.z = argA; - sp1C.x = sp1C.y = sp1C.z = 1.0f; - sp16.r = 0xFF; - sp16.g = 0xA0; - sp16.b = 0x60; - sp16.a = 0xFF; - var_r31 = fn_1_D4FC(arg0, &sp28, &sp1C, 0.0f, &sp16); - if (!var_r31) { - return -1; - } - var_r31->unk_24 = 0.0f; - return var_r31->unk_40; -} - -M427DllMapSubstruct6 *fn_1_D4FC(s16 arg0, Vec *arg1, Vec *arg2, float arg8, GXColor *arg3) -{ - M427DllMapSubstruct6 *var_r31; - M427DllMapStruct7 *var_r30; - s16 var_r29; - ModelData *var_r28; - - var_r28 = &Hu3DData[arg0]; - var_r30 = var_r28->unk_120; - for (var_r29 = 0, var_r31 = var_r30->unk_18; var_r29 < var_r30->unk_00; var_r29++, var_r31++) { - if (var_r31->unk_62 == 0) { - break; - } - } - if (var_r29 == var_r30->unk_00) { - return NULL; - } - var_r30->unk_24[var_r29].r = arg3->r; - var_r30->unk_24[var_r29].g = arg3->g; - var_r30->unk_24[var_r29].b = arg3->b; - var_r30->unk_24[var_r29].a = arg3->a; - var_r31->unk_40 = var_r29; - var_r31->unk_44 = arg8; - var_r31->unk_48 = *arg2; - var_r31->unk_54 = *arg1; - var_r31->unk_60 = 0; - var_r31->unk_3C = 0; - var_r31->unk_62 = 1; - return var_r31; -} - -s16 fn_1_D63C(AnimData *arg0, s16 arg1, float arg8, s16 arg2, s16 arg3) -{ - float temp_f0; - M427DllMapStruct7 *var_r31; - s16 var_r30; - Vec2f *var_r29; - ModelData *var_r28; - GXColor *var_r27; - Vec *var_r25; - M427DllMapSubstruct6 *var_r24; - s16 var_r22; - void *var_r21; - s16 var_r20; - s16 var_r19; - void *var_r18; - - var_r20 = Hu3DHookFuncCreate(fn_1_DCD4); - var_r28 = &Hu3DData[var_r20]; - var_r31 = HuMemDirectMallocNum(HEAP_DATA, sizeof(M427DllMapStruct7), var_r28->unk_48); - var_r28->unk_120 = var_r31; - arg0->useNum++; - var_r31->unk_10 = arg0; - var_r31->unk_00 = arg1; - var_r31->unk_08 = 0; - var_r31->unk_0C = 0; - var_r24 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(M427DllMapSubstruct6), var_r28->unk_48); - var_r31->unk_18 = var_r24; - for (var_r30 = 0; var_r30 < arg1; var_r30++, var_r24++) { - var_r24->unk_60 = -1; - var_r24->unk_62 = 0; - } - var_r25 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(Vec) * 4, var_r28->unk_48); - var_r31->unk_1C = var_r25; - for (var_r30 = 0; var_r30 < (arg1 * 4); var_r30++, var_r25++) { - var_r25->x = var_r25->y = var_r25->z = 0.0f; - } - var_r27 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(GXColor), var_r28->unk_48); - var_r31->unk_24 = var_r27; - for (var_r30 = 0; var_r30 < arg1; var_r30++, var_r27++) { - var_r27->r = var_r27->g = var_r27->b = var_r27->a = 0xFF; - } - var_r29 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(Vec2f) * 4, var_r28->unk_48); - var_r31->unk_20 = var_r29; - for (var_r30 = 0; var_r30 < arg1; var_r30++) { - var_r29->x = 0.0f; - var_r29->y = 0.0f; - var_r29++; - var_r29->x = 1.0f; - var_r29->y = 0.0f; - var_r29++; - var_r29->x = 1.0f; - var_r29->y = 1.0f; - var_r29++; - var_r29->x = 0.0f; - var_r29->y = 1.0f; - var_r29++; - } - if ((arg2 != 0) || (arg3 != 0)) { - var_r22 = arg0->bmp->sizeX / arg2; - var_r19 = arg0->bmp->sizeY / arg3; - var_r31->unk_14 = var_r22 * var_r19; - var_r31->unk_60 = 1.0f / var_r22; - var_r31->unk_64 = 1.0f / var_r19; - } - else { - var_r22 = 1; - var_r31->unk_14 = 1; - var_r31->unk_60 = 1.0f; - var_r31->unk_64 = 1.0f; - } - var_r31->unk_5C = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_14 * sizeof(Vec2f), var_r28->unk_48); - fn_1_E2B0(var_r31->unk_5C, var_r31->unk_14, var_r22, var_r31->unk_60, var_r31->unk_64); - var_r31->unk_2C.x = var_r31->unk_50 = var_r31->unk_48 = var_r31->unk_54 = -arg8; - var_r31->unk_38 = var_r31->unk_44 = var_r31->unk_2C.y = var_r31->unk_3C = arg8; - var_r31->unk_2C.z = var_r31->unk_40 = var_r31->unk_4C = var_r31->unk_58 = 0.0f; - var_r21 = HuMemDirectMallocNum(HEAP_DATA, 0x20000, var_r28->unk_48); - var_r18 = var_r21; - DCFlushRange(var_r21, 0x20000); - GXBeginDisplayList(var_r18, 0x20000); - GXBegin(GX_QUADS, GX_VTXFMT0, arg1 * 4); - for (var_r30 = 0; var_r30 < arg1; var_r30++) { - GXPosition1x16(var_r30 * 4); - GXPosition1x16(var_r30); - GXPosition1x16(var_r30 * 4); - GXPosition1x16(var_r30 * 4 + 1); - GXPosition1x16(var_r30); - GXPosition1x16(var_r30 * 4 + 1); - GXPosition1x16(var_r30 * 4 + 2); - GXPosition1x16(var_r30); - GXPosition1x16(var_r30 * 4 + 2); - GXPosition1x16(var_r30 * 4 + 3); - GXPosition1x16(var_r30); - GXPosition1x16(var_r30 * 4 + 3); - } - var_r31->unk_04 = GXEndDisplayList(); - var_r31->unk_28 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_04, var_r28->unk_48); - memcpy(var_r31->unk_28, var_r21, var_r31->unk_04); - DCFlushRange(var_r31->unk_28, var_r31->unk_04); - HuMemDirectFree(var_r21); - return var_r20; -} - -void fn_1_DB80(s16 arg0) -{ - ModelData *var_r31; - M427DllMapStruct7 *var_r30; - - var_r31 = &Hu3DData[arg0]; - var_r30 = var_r31->unk_120; - HuSprAnimKill(var_r30->unk_10); - Hu3DModelKill(arg0); -} - -void *fn_1_DBE0(s16 arg0) -{ - ModelData *var_r31; - - var_r31 = &Hu3DData[arg0]; - return var_r31->unk_120; -} - -M427DllMapSubstruct6 *fn_1_DC0C(s16 arg0, s16 arg1) -{ - ModelData *var_r31; - M427DllMapStruct7 *var_r30; - - var_r31 = &Hu3DData[arg0]; - var_r30 = var_r31->unk_120; - if (arg1 == -1) { - return NULL; - } - return &var_r30->unk_18[arg1]; -} - -void fn_1_DC64(s16 arg0, M427DllHook arg1) -{ - ModelData *var_r31; - M427DllMapStruct7 *var_r30; - - var_r31 = &Hu3DData[arg0]; - var_r30 = var_r31->unk_120; - var_r30->unk_0C = arg1; -} - -void fn_1_DC9C(s16 arg0, u8 arg1) -{ - ModelData *var_r31; - M427DllMapStruct7 *var_r30; - - var_r31 = &Hu3DData[arg0]; - var_r30 = var_r31->unk_120; - var_r30->unk_08 = arg1; -} - -void fn_1_DCD4(ModelData *model, Mtx matrix) -{ - Mtx sp128; - ROMtx spF8; - Mtx spC8; - Mtx sp98; - Vec sp68[4]; - Vec sp5C; - Vec sp50; - Vec sp44; - Vec sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - Vec *var_r31; - M427DllMapStruct7 *var_r30; - M427DllMapSubstruct6 *var_r29; - Vec2f *var_r26; - s16 var_r25; - s16 var_r24; - M427DllHook var_r23; - - var_r30 = model->unk_120; - GXLoadPosMtxImm(matrix, 0); - GXSetNumTevStages(1); - GXSetNumTexGens(1); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3C, GX_FALSE, 0x7D); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - var_r24 = var_r30->unk_10->bmp->dataFmt & 0xF; - if ((var_r24 == 7) || (var_r24 == 8)) { - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXA, GX_CC_RASC, GX_CC_ZERO); - } - else { - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); - } - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - if ((model->attr & 2) != 0) { - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - } - else { - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); - } - HuSprTexLoad(var_r30->unk_10, 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZCompLoc(0); - switch (var_r30->unk_08) { - case 0: - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - break; - case 1: - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); - break; - case 2: - GXSetBlendMode(GX_BM_BLEND, GX_BL_ZERO, GX_BL_INVDSTCLR, GX_LO_NOOP); - break; - } - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, var_r30->unk_1C, 0xC); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, var_r30->unk_24, 4); - GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetArray(GX_VA_TEX0, var_r30->unk_20, 8); - sp128[0][0] = matrix[0][0]; - sp128[1][0] = matrix[0][1]; - sp128[2][0] = matrix[0][2]; - sp128[0][1] = matrix[1][0]; - sp128[1][1] = matrix[1][1]; - sp128[2][1] = matrix[1][2]; - sp128[0][2] = matrix[2][0]; - sp128[1][2] = matrix[2][1]; - sp128[2][2] = matrix[2][2]; - sp128[0][3] = 0.0f; - sp128[1][3] = 0.0f; - sp128[2][3] = 0.0f; - PSMTXReorder(sp128, spF8); - if ((omPauseChk() == 0) && (var_r30->unk_0C)) { - var_r23 = var_r30->unk_0C; - var_r23(model, var_r30, matrix); - } - var_r29 = var_r30->unk_18; - var_r31 = var_r30->unk_1C; - var_r26 = var_r30->unk_20; - PSMTXROMultVecArray(spF8, &var_r30->unk_2C, sp68, 4); - for (var_r25 = 0; var_r25 < var_r30->unk_00; var_r25++, var_r29++, var_r26 += 4) { - if (var_r29->unk_62 == 0) { - var_r31->x = var_r31->y = var_r31->z = 0.0f; - var_r31++; - var_r31->x = var_r31->y = var_r31->z = 0.0f; - var_r31++; - var_r31->x = var_r31->y = var_r31->z = 0.0f; - var_r31++; - var_r31->x = var_r31->y = var_r31->z = 0.0f; - var_r31++; - } - else { - if (var_r29->unk_44 == 0.0f) { - fn_1_E420(sp68, &sp38, &var_r29->unk_48, 4); - PSVECAdd(&sp38, &var_r29->unk_54, var_r31++); - PSVECAdd(&sp44, &var_r29->unk_54, var_r31++); - PSVECAdd(&sp50, &var_r29->unk_54, var_r31++); - PSVECAdd(&sp5C, &var_r29->unk_54, var_r31++); - } - else { - fn_1_E420(&var_r30->unk_2C, &sp38, &var_r29->unk_48, 4); - PSMTXRotRad(spC8, 0x5A, MTXDegToRad(var_r29->unk_44)); - PSMTXConcat(sp128, spC8, sp98); - PSMTXMultVecArray(sp98, &sp38, &sp8, 4); - PSVECAdd(&sp8, &var_r29->unk_54, var_r31++); - PSVECAdd(&sp14, &var_r29->unk_54, var_r31++); - PSVECAdd(&sp20, &var_r29->unk_54, var_r31++); - PSVECAdd(&sp2C, &var_r29->unk_54, var_r31++); - } - if (var_r29->unk_60 != -1) { - fn_1_E37C(var_r26, var_r30->unk_5C, var_r29->unk_60, var_r30->unk_60, var_r30->unk_64); - } - } - } - DCFlushRangeNoSync(var_r30->unk_1C, var_r30->unk_00 * sizeof(Vec) * 4); - DCFlushRangeNoSync(var_r30->unk_20, var_r30->unk_00 * sizeof(Vec2f) * 4); - PPCSync(); - GXCallDisplayList(var_r30->unk_28, var_r30->unk_04); -} - -void fn_1_E2B0(Vec2f *arg0, s16 arg1, s16 arg2, float arg8, float arg9) -{ - s16 var_r31; - s16 var_r30; - s16 var_r29; - - for (var_r31 = 0; var_r31 < arg1; var_r31++, arg0++) { - var_r30 = var_r31 % arg2; - var_r29 = var_r31 / arg2; - arg0->x = var_r30 * arg8; - arg0->y = var_r29 * arg9; - } -} - -void fn_1_E37C(Vec2f *arg0, Vec2f *arg1, s16 arg2, float arg8, float arg9) -{ - arg0[0].x = arg1[arg2].x; - arg0[0].y = arg1[arg2].y; - arg0[1].x = arg8 + arg1[arg2].x; - arg0[1].y = arg1[arg2].y; - arg0[2].x = arg8 + arg1[arg2].x; - arg0[2].y = arg9 + arg1[arg2].y; - arg0[3].x = arg1[arg2].x; - arg0[3].y = arg9 + arg1[arg2].y; -} - -void fn_1_E420(Vec *arg0, Vec *arg1, Vec *arg2, s16 arg3) -{ - s16 var_r31; - - for (var_r31 = 0; var_r31 < arg3; var_r31++, arg0++, arg1++) { - arg1->x = arg0->x * arg2->x; - arg1->y = arg0->y * arg2->y; - arg1->z = arg0->z * arg2->z; - } -} - -void fn_1_E488(void) -{ - if ((HuPadBtnDown[0] & PAD_TRIGGER_L) != 0) { - lbl_1_bss_91 ^= 1; - } - if (lbl_1_bss_91 != 0) { - if ((HuPadBtnDown[0] & PAD_TRIGGER_Z) != 0) { - lbl_1_bss_90 = lbl_1_bss_90 ^ 1; - } - if ((HuPadBtn[0] & PAD_BUTTON_LEFT) != 0) { - CRotM[lbl_1_bss_90].y += 1.0f; - } - if ((HuPadBtn[0] & PAD_BUTTON_RIGHT) != 0) { - CRotM[lbl_1_bss_90].y -= 1.0f; - } - if ((HuPadBtn[0] & PAD_BUTTON_UP) != 0) { - CRotM[lbl_1_bss_90].x -= 1.0f; - } - if ((HuPadBtn[0] & PAD_BUTTON_DOWN) != 0) { - CRotM[lbl_1_bss_90].x += 1.0f; - } - CenterM[lbl_1_bss_90].x += HuPadSubStkX[0]; - if ((HuPadBtn[0] & PAD_TRIGGER_R) != 0) { - CenterM[lbl_1_bss_90].y += HuPadSubStkY[0]; - } - else { - CenterM[lbl_1_bss_90].z += HuPadSubStkY[0]; - } - if ((HuPadBtn[0] & PAD_BUTTON_X) != 0) { - CZoomM[lbl_1_bss_90] += 10.0f; - } - if ((HuPadBtn[0] & PAD_BUTTON_Y) != 0) { - CZoomM[lbl_1_bss_90] -= 10.0f; - } - if ((HuPadBtnDown[0] & PAD_BUTTON_A) != 0) { - OSReport("\nCZoom = %.2f \n", CZoomM[lbl_1_bss_90]); - OSReport("Center x = %.2f: y = %.2f: z = %.2f \n", CenterM[lbl_1_bss_90].x, CenterM[lbl_1_bss_90].y, CenterM[lbl_1_bss_90].z); - OSReport("CRot x = %.2f: y = %.2f: z = %.2f \n", CRotM[lbl_1_bss_90].x, CRotM[lbl_1_bss_90].y, CRotM[lbl_1_bss_90].z); - } - } -} diff --git a/src/REL/m427Dll/player.c b/src/REL/m427Dll/player.c deleted file mode 100644 index fe097531..00000000 --- a/src/REL/m427Dll/player.c +++ /dev/null @@ -1,2361 +0,0 @@ -#include "REL/m427Dll.h" - -#include "dolphin/gx/GXEnum.h" -#include "dolphin/gx/GXStruct.h" -#include "dolphin/gx/GXVert.h" -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/gamework.h" -#include "game/gamework_data.h" -#include "game/hsfdraw.h" -#include "game/hsfformat.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/wipe.h" -#include "string.h" - -#ifndef __MWERKS__ -#include "game/frand.h" -#endif - -typedef struct M427DllPlayerWork2 { - /* 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 */ s32 unk_1C; - /* 0x20 */ s32 unk_20; - /* 0x24 */ s32 unk_24; - /* 0x28 */ s32 unk_28; - /* 0x2C */ s32 unk_2C; - /* 0x30 */ s32 unk_30; - /* 0x34 */ s32 unk_34; - /* 0x38 */ s32 unk_38; - /* 0x3C */ s32 unk_3C; - /* 0x40 */ s32 unk_40; - /* 0x44 */ s32 unk_44; - /* 0x48 */ s32 unk_48; - /* 0x4C */ s32 unk_4C; - /* 0x50 */ s32 unk_50; - /* 0x54 */ s32 unk_54; - /* 0x58 */ s32 unk_58; - /* 0x5C */ s32 unk_5C; - /* 0x60 */ s32 unk_60; - /* 0x64 */ s32 unk_64; - /* 0x68 */ float unk_68; - /* 0x6C */ float unk_6C; - /* 0x70 */ float unk_70; -} M427DllPlayerWork2; /* size = 0x74 */ - -typedef struct M427DllPlayerWork { - /* 0x00 */ omObjData *unk_00[2]; - /* 0x08 */ M427DllPlayerWork2 *unk_08[2]; - /* 0x10 */ s32 unk_10; - /* 0x14 */ s32 unk_14; - /* 0x18 */ s32 unk_18; - /* 0x1C */ s32 unk_1C; - /* 0x20 */ s32 unk_20; - /* 0x24 */ s32 unk_24; - /* 0x28 */ float unk_28; - /* 0x2C */ float unk_2C; - /* 0x30 */ s32 unk_30[5]; - /* 0x34 */ char unk44[8]; - /* 0x4C */ float unk_4C; - /* 0x50 */ float unk_50; - /* 0x54 */ float unk_54; - /* 0x58 */ float unk_58; - /* 0x5C */ float unk_5C; - /* 0x60 */ s32 unk_60; - /* 0x64 */ float unk_64; - /* 0x68 */ s32 unk_68; - /* 0x6C */ char unk6C[4]; -} M427DllPlayerWork; /* size = 0x70 */ - -typedef struct M427DllBss57CStruct { - /* 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 */ Vec unk_1C; - /* 0x28 */ Vec unk_28; - /* 0x34 */ float unk_34; - /* 0x38 */ char unk38[4]; -} M427DllBss57CStruct; /* size = 0x3C */ - -typedef struct M427DllBss590Struct { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ s32 unk_08; - /* 0x0C */ float unk_0C; - /* 0x10 */ float unk_10; - /* 0x14 */ Vec unk_14[2]; - /* 0x2C */ Vec unk_2C[2]; - /* 0x44 */ Vec unk_44; - /* 0x50 */ float unk_50; - /* 0x54 */ float unk_54; - /* 0x58 */ float unk_58; - /* 0x5C */ float unk_5C; - /* 0x60 */ float unk_60; - /* 0x64 */ float unk_64; - /* 0x68 */ float unk_68; - /* 0x6C */ float unk_6C; - /* 0x70 */ float unk_70; - /* 0x74 */ float unk_74; - /* 0x78 */ Vec *unk_78; - /* 0x7C */ Vec *unk_7C; - /* 0x80 */ Vec *unk_80; -} M427DllBss590Struct; /* size = 0x84 */ - -void fn_1_10830(omObjData *object); -void fn_1_1143C(omObjData *object); -void fn_1_115B4(omObjData *object); -void fn_1_119C0(omObjData *object); -void fn_1_11A74(omObjData *object); -void fn_1_11ED8(omObjData *object); -void fn_1_12514(omObjData *object); -void fn_1_12518(omObjData *object); -void fn_1_12580(omObjData *object); -void fn_1_12B08(void); -void fn_1_13F24(void); -void fn_1_13FB8(void); -s32 fn_1_155E0(float arg8, float arg9, float argA, float *arg0); -float fn_1_15714(float arg8, float arg9); -void fn_1_158D8(float arg8, float arg9, Vec *arg0); -s32 fn_1_15AF0(s32 arg0, Vec *arg1, Vec *arg2, Vec *arg3, Vec *arg4); -void fn_1_1607C(s32 arg0); -s32 fn_1_160D4(s32 arg0, Vec *arg1, float arg8); -s32 fn_1_16260(s32 arg0, Vec *arg2, Vec *arg3, Vec *arg4, float arg8); -float fn_1_16594(float arg8, float arg9); -void fn_1_16E3C(Vec *arg0, Vec *arg1, Vec *arg2, s32 arg3); -void fn_1_17048(Vec *arg0, float *arg1, Vec *arg2, Vec *arg3); -void fn_1_1723C(Mtx arg0, Vec *arg1); -void fn_1_172F0(s32 arg0, float arg8); -s32 fn_1_17430(s32 arg0, s32 arg1, s32 arg2); -void fn_1_EC74(omObjData *object); -void fn_1_EC94(omObjData *object); -void fn_1_F0E0(omObjData *object); - -Vec lbl_1_data_260[0x1D] = { - { -900.0f, 0.0f, 2000.0f }, - { -900.0f, 0.0f, 0.0f }, - { -900.0f, 0.0f, -2000.0f }, - { -900.0f, 0.0f, -4000.0f }, - { -1300.0f, 0.0f, -4500.0f }, - { -1600.0f, 0.0f, -5000.0f }, - { -1800.0f, 0.0f, -5500.0f }, - { -1900.0f, 0.0f, -6000.0f }, - { -1800.0f, 0.0f, -6500.0f }, - { -1600.0f, -100.0f, -7000.0f }, - { -1300.0f, -200.0f, -7500.0f }, - { -900.0f, -300.0f, -8000.0f }, - { -900.0f, -300.0f, -8500.0f }, - { -500.0f, -300.0f, -9000.0f }, - { -500.0f, -300.0f, -10000.0f }, - { -500.0f, -300.0f, -11000.0f }, - { -900.0f, -300.0f, -11500.0f }, - { -900.0f, -300.0f, -12000.0f }, - { -500.0f, -300.0f, -12500.0f }, - { -200.0f, -300.0f, -13000.0f }, - { -0.0f, -300.0f, -13500.0f }, - { 100.0f, -300.0f, -14000.0f }, - { 0.0f, -300.0f, -14500.0f }, - { -200.0f, -400.0f, -15000.0f }, - { -500.0f, -500.0f, -15500.0f }, - { -900.0f, -600.0f, -16000.0f }, - { -900.0f, -600.0f, -18000.0f }, - { -900.0f, -600.0f, -20000.0f }, - { -900.0f, -600.0f, -22000.0f }, -}; -Vec lbl_1_data_3BC[29] = { - { 900.0f, 0.0f, 2000.0f }, - { 900.0f, 0.0f, -0.0f }, - { 900.0f, 0.0f, -2000.0f }, - { 900.0f, 0.0f, -4000.0f }, - { 500.0f, 0.0f, -4500.0f }, - { 200.0f, 0.0f, -5000.0f }, - { 0.0f, 0.0f, -5500.0f }, - { -100.0f, 0.0f, -6000.0f }, - { 0.0f, 0.0f, -6500.0f }, - { 200.0f, -100.0f, -7000.0f }, - { 500.0f, -200.0f, -7500.0f }, - { 900.0f, -300.0f, -8000.0f }, - { 900.0f, -300.0f, -8500.0f }, - { 500.0f, -300.0f, -9000.0f }, - { 500.0f, -300.0f, -10000.0f }, - { 500.0f, -300.0f, -11000.0f }, - { 900.0f, -300.0f, -11500.0f }, - { 900.0f, -300.0f, -12000.0f }, - { 1300.0f, -300.0f, -12500.0f }, - { 1600.0f, -300.0f, -13000.0f }, - { 1800.0f, -300.0f, -13500.0f }, - { 1900.0f, -300.0f, -14000.0f }, - { 1800.0f, -300.0f, -14500.0f }, - { 1600.0f, -400.0f, -15000.0f }, - { 1300.0f, -500.0f, -15500.0f }, - { 900.0f, -600.0f, -16000.0f }, - { 900.0f, -600.0f, -18000.0f }, - { 900.0f, -600.0f, -20000.0f }, - { 900.0f, -600.0f, -22000.0f }, -}; -s32 lbl_1_data_518[7] = { 0, 1, 2, 3, 4, 5, 6 }; -Vec lbl_1_data_534[2] = { { 0.0f, -25.0f, 50.0f }, { 0.0f, -25.0f, -50.0f } }; -Vec lbl_1_data_54C[2] = { { 0.0f, 0.0f, 1900.0f }, { 0.0f, 20.0f, 20.0f } }; -Vec lbl_1_data_564 = { 0.0f, 240.00002f, 360.0f }; -Vec lbl_1_data_570 = { 0.0f, 1.0f, 1.5f }; -GXColor lbl_1_data_57C = { 0xFF, 0xFF, 0xFF, 0xFF }; - -Process *lbl_1_bss_594; -M427DllBss590Struct *lbl_1_bss_590; -Vec *lbl_1_bss_58C; -Vec *lbl_1_bss_588; -Vec *lbl_1_bss_584; -s32 lbl_1_bss_580; -M427DllBss57CStruct *lbl_1_bss_57C; -M427DllPlayerWork *lbl_1_bss_578; -M427DllPlayerWork2 *lbl_1_bss_574; -omObjData *lbl_1_bss_56C[2]; -char lbl_1_bss_55C[0x10]; -Vec *lbl_1_bss_558; -Vec *lbl_1_bss_554; -Vec *lbl_1_bss_550; - -void fn_1_E98C(Process *sp8) -{ - s32 sp10; - omObjData *object; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - - s8 spE[2] = { 0xFF, 0xFF }; - s8 spC[2] = { 0xFF, 0xFF }; - sp10 = 0; - OSReport("Init Player \n"); - lbl_1_bss_594 = sp8; - object = omAddObjEx(lbl_1_bss_594, 0x42, 0, 0, -1, fn_1_EC74); - omMakeGroupEx(lbl_1_bss_594, 0, 4); - omGetGroupMemberListEx(lbl_1_bss_594, 0); - for (var_r30 = 0, var_r28 = 0, var_r27 = 0, var_r29 = 0; var_r30 < 4; var_r30++) { - var_r26 = GWPlayerCfg[var_r30].group; - switch (var_r26) { - case 0: - if (var_r28 >= 2) { - var_r29 = 1; - } - else { - spE[var_r28] = var_r30; - var_r28++; - } - break; - case 1: - if (var_r27 >= 2) { - var_r29 = 1; - } - else { - spC[var_r27] = var_r30; - var_r27++; - } - break; - default: - var_r29 = 1; - break; - } - if (var_r29 != 0) { - break; - } - } - lbl_1_bss_578 = HuMemDirectMallocNum(HEAP_SYSTEM, 2 * sizeof(M427DllPlayerWork), MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_578, 0, 0xE0); - lbl_1_bss_574 = HuMemDirectMallocNum(HEAP_SYSTEM, 4 * sizeof(M427DllPlayerWork2), MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_574, 0, 0x1D0); - memset(lbl_1_bss_56C, 0, 8); - memset(lbl_1_bss_55C, 0, 0x10); - for (var_r30 = 0; var_r30 < 2; var_r30++) { - object = lbl_1_bss_56C[var_r30] = omAddObjEx(lbl_1_bss_594, 0x41, 0xE, 0, -1, fn_1_EC94); - object->work[0] = var_r30; - if (var_r29 != 0) { - object->work[1] = var_r30 * 2; - object->work[2] = (var_r30 * 2) + 1; - } - else if (var_r30 == 0) { - object->work[1] = spE[0]; - object->work[2] = spE[1]; - } - else { - object->work[1] = spC[0]; - object->work[2] = spC[1]; - } - } - fn_1_12B08(); -} - -s32 lbl_1_data_590[7] = { 0x3A001C, 0x3A001D, 0x3A001E, 0x3A001F, 0x3A0020, 0x3A0026, 0x3A0027 }; -s32 lbl_1_data_5AC[7] = { 0x3A0021, 0x3A0022, 0x3A0023, 0x3A0024, 0x3A0025, 0x3A0026, 0x3A0027 }; -s32 lbl_1_data_5C8[2] = { 1, 3 }; -s32 lbl_1_data_5D0[2] = { 2, 4 }; - -void fn_1_EC54(void) -{ - fn_1_13FB8(); -} - -void fn_1_EC74(omObjData *object) -{ - fn_1_13F24(); -} - -void fn_1_EC94(omObjData *object) -{ - M427DllPlayerWork *work; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - work = &lbl_1_bss_578[object->work[0]]; - object->data = work; - work->unk_10 = object->work[0]; - work->unk_14 = 0; - work->unk_18 = 0; - work->unk_1C = 0; - work->unk_20 = 0; - work->unk_24 = 0; - work->unk_28 = 0.0f; - work->unk_2C = 0.0f; - work->unk_4C = 0.0f; - work->unk_50 = 0.0f; - work->unk_54 = 0.0f; - work->unk_58 = 0.0f; - work->unk_5C = 0.0f; - work->unk_60 = 0; - work->unk_64 = 180.0f; - work->unk_68 = 0; - object->trans.x = lbl_1_data_54C->x; - object->trans.y = lbl_1_data_54C->y; - object->trans.z = lbl_1_data_54C->z; - for (var_r29 = 0; var_r29 < 7; var_r29++) { - if (work->unk_10 == 0) { - object->model[var_r29] = Hu3DModelCreateFile(lbl_1_data_590[var_r29]); - } - else { - object->model[var_r29] = Hu3DModelCreateFile(lbl_1_data_5AC[var_r29]); - } - Hu3DModelLayerSet(object->model[var_r29], 2); - if (work->unk_10 == 0) { - Hu3DModelCameraSet(object->model[var_r29], 1); - } - else { - Hu3DModelCameraSet(object->model[var_r29], 2); - } - if (var_r29 < 5) { - Hu3DMotionSpeedSet(object->model[var_r29], 2.0f); - } - } - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DMotionSpeedSet(object->model[0], 2.0f); - Hu3DModelLayerSet(object->model[5], 5); - Hu3DModelAttrSet(object->model[5], HU3D_MOTATTR_LOOP); - for (var_r29 = 0; var_r29 < 5; var_r29++) { - if (var_r29 == 0) { - var_r28 = object->model[var_r29]; - var_r27 = Hu3DLLightCreateV(var_r28, &lbl_1_data_564, &lbl_1_data_570, &lbl_1_data_57C); - work->unk_30[var_r29] = var_r27; - Hu3DLLightStaticSet(var_r28, var_r27, 1); - Hu3DLLightPointSet(var_r28, var_r27, 80.0f, 0.95f, 3); - Hu3DLLightColorSet(var_r28, var_r27, 0xFF, 0xF0, 0xDC, 0xFF); - Hu3DLLightPosSet( - var_r28, var_r27, lbl_1_data_564.x, lbl_1_data_564.y, lbl_1_data_564.z, lbl_1_data_570.x, lbl_1_data_570.y, lbl_1_data_570.z); - } - else { - var_r28 = object->model[var_r29]; - work->unk_30[var_r29] = fn_1_17430(object->model[0], work->unk_30[0], var_r28); - } - fn_1_172F0(var_r28, 0.1f); - } - for (var_r29 = 0; var_r29 < 2; var_r29++) { - work->unk_00[var_r29] = omAddObjEx(lbl_1_bss_594, 0x40, 2, 4, -1, fn_1_11A74); - work->unk_00[var_r29]->work[0] = object->work[var_r29 + 1]; - work->unk_00[var_r29]->work[1] = work->unk_10; - work->unk_00[var_r29]->work[2] = var_r29; - } - object->func = fn_1_F0E0; -} - -void fn_1_F0E0(omObjData *object) -{ - Mtx sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - M427DllPlayerWork *work; - s32 var_r29; - s32 var_r28; - - work = object->data; - if ((work->unk_00[0] == NULL) || (work->unk_08[0] == NULL)) { - return; - } - sp2C.x = object->trans.x; - sp2C.y = object->trans.y; - sp2C.z = object->trans.z; - switch (work->unk_1C) { - case 0: - object->rot.y = work->unk_64 = 180.0f; - for (var_r29 = 0; var_r29 < 2; var_r29++) { - if ((work->unk_08[var_r29]->unk_30 != 0) && (Hu3DMotionEndCheck(object->model[lbl_1_data_5C8[var_r29]]) != 0)) { - fn_1_3B20(var_r29 * 2, work->unk_10); - Hu3DMotionTimeSet(object->model[lbl_1_data_5C8[var_r29]], 0.0f); - if (work->unk_10 == 0) { - HuAudFXPlay(0x655); - } - else { - HuAudFXPlay(0x656); - } - } - if ((work->unk_08[var_r29]->unk_34 != 0) && (Hu3DMotionEndCheck(object->model[lbl_1_data_5D0[var_r29]]) != 0)) { - fn_1_3B20((var_r29 * 2) + 1, work->unk_10); - Hu3DMotionTimeSet(object->model[lbl_1_data_5D0[var_r29]], 0.0f); - if (work->unk_10 == 0) { - HuAudFXPlay(0x655); - } - else { - HuAudFXPlay(0x656); - } - } - } - if (sp2C.z != object->trans.z) { - work->unk_60 = 2; - } - else { - work->unk_60 = 0; - } - if (fn_1_1788() == 3) { - work->unk_1C = 1; - } - break; - case 1: - if (sp2C.z != object->trans.z) { - work->unk_60 = 2; - } - else { - work->unk_60 = 0; - } - if (fn_1_1788() == 4) { - work->unk_1C = 2; - } - break; - case 2: - for (var_r29 = 0; var_r29 < 2; var_r29++) { - if (work->unk_08[var_r29]->unk_30 != 0) { - work->unk_58 += 0.1f; - if (Hu3DMotionEndCheck(object->model[lbl_1_data_5C8[var_r29]]) != 0) { - fn_1_3B20(var_r29 * 2, work->unk_10); - Hu3DMotionTimeSet(object->model[lbl_1_data_5C8[var_r29]], 0.0f); - if (work->unk_10 == 0) { - HuAudFXPlay(0x655); - } - else { - HuAudFXPlay(0x656); - } - } - } - if (work->unk_08[var_r29]->unk_34 != 0) { - work->unk_5C += 0.1f; - if (Hu3DMotionEndCheck(object->model[lbl_1_data_5D0[var_r29]]) != 0) { - fn_1_3B20((var_r29 * 2) + 1, work->unk_10); - Hu3DMotionTimeSet(object->model[lbl_1_data_5D0[var_r29]], 0.0f); - if (work->unk_10 == 0) { - HuAudFXPlay(0x655); - } - else { - HuAudFXPlay(0x656); - } - } - } - } - fn_1_158D8(object->trans.x, object->trans.z, &sp8); - work->unk_4C += 0.15f * sp8.x; - work->unk_54 += 0.15f * sp8.z; - work->unk_58 *= 0.995f; - work->unk_5C *= 0.995f; - work->unk_4C *= 0.99f; - work->unk_54 *= 0.99f; - work->unk_60 = work->unk_58 + work->unk_5C; - if (work->unk_60 < -5.0f) { - work->unk_60 = -5; - } - else if (work->unk_60 > 5.0f) { - work->unk_60 = 5; - } - var_f30 = 0.25f * (work->unk_58 - work->unk_5C); - if (var_f30 > 20.0f) { - var_f30 = 20.0f; - } - else if (var_f30 < -20.0f) { - var_f30 = -20.0f; - } - work->unk_64 += var_f30; - if (work->unk_64 > 360.0f) { - work->unk_64 -= 360.0f; - } - else if (work->unk_64 < 0.0f) { - work->unk_64 += 360.0f; - } - if (work->unk_64 > 270.0f) { - work->unk_64 = 270.0f; - } - else if (work->unk_64 < 90.0f) { - work->unk_64 = 90.0f; - } - object->rot.y = work->unk_64; - var_f31 = work->unk_60; - object->trans.x = object->trans.x + (2.0 * (var_f31 * sind(work->unk_64))); - object->trans.z = object->trans.z + (2.0 * (var_f31 * cosd(work->unk_64))); - object->trans.x += work->unk_4C; - object->trans.z += work->unk_54; - if (work->unk_68 > 0) { - work->unk_68--; - } - for (var_r29 = 0, var_r28 = 1; (var_r28 == 1) && (var_r29 < 6); var_r29++) { - var_r28 = 0; - sp20.x = object->trans.x; - sp20.y = object->trans.y; - sp20.z = object->trans.z; - if (fn_1_15AF0(-1, &sp2C, &sp20, &sp14, &sp8) != 0) { - var_r28 = 1; - sp2C = sp20; - object->trans.x = sp14.x; - object->trans.y = sp14.y; - object->trans.z = sp14.z; - if ((work->unk_68 == 0) && (fn_1_1788() <= 4)) { - if (work->unk_10 == 0) { - HuAudFXPlay(0x65C); - } - else { - HuAudFXPlay(0x65D); - } - } - work->unk_68 = 5; - } - sp20.x = object->trans.x; - sp20.y = object->trans.y; - sp20.z = object->trans.z; - if (fn_1_16260(work->unk_10, &sp2C, &sp20, &sp14, 200.0f) != 0) { - var_r28 = 1; - sp2C = sp20; - object->trans.x = sp14.x; - object->trans.y = sp14.y; - object->trans.z = sp14.z; - } - } - if (work->unk_20 <= 0) { - sp20.x = object->trans.x; - sp20.y = object->trans.y; - sp20.z = object->trans.z; - if (fn_1_160D4(work->unk_10, &sp20, 200.0f) != 0) { - omVibrate(work->unk_08[0]->unk_00, 0xC, 6, 6); - omVibrate(work->unk_08[1]->unk_00, 0xC, 6, 6); - HuAudCharVoicePlay(work->unk_08[0]->unk_0C, 0x123); - HuAudCharVoicePlay(work->unk_08[1]->unk_0C, 0x123); - work->unk_24 = 0x78; - work->unk_1C = 3; - work->unk_28 = 5.0f; - work->unk_2C = 360.0f * ((frand() & 0x7F) / 127.0f); - work->unk_18 = 0; - } - } - else { - work->unk_20--; - } - fn_1_119C0(object); - if (fn_1_1788() >= 5) { - work->unk_1C = 4; - } - break; - case 3: - work->unk_58 = 0.0f; - work->unk_5C = 0.0f; - work->unk_4C = 0.0f; - work->unk_54 = 0.0f; - work->unk_60 = work->unk_58 + work->unk_5C; - if (work->unk_60 < -5.0f) { - work->unk_60 = -5; - } - else if (work->unk_60 > 5.0f) { - work->unk_60 = 5; - } - var_f31 = work->unk_60 / 5.0f; - var_f31 = 5.0f * (var_f31 * var_f31); - object->trans.x = object->trans.x + (2.0 * (var_f31 * sind(work->unk_64))); - object->trans.z = object->trans.z + (2.0 * (var_f31 * cosd(work->unk_64))); - object->trans.x += work->unk_4C; - object->trans.z += work->unk_54; - for (var_r29 = 0, var_r28 = 1; (var_r28 == 1) && (var_r29 < 6); var_r29++) { - var_r28 = 0; - sp20.x = object->trans.x; - sp20.y = object->trans.y; - sp20.z = object->trans.z; - if (fn_1_15AF0(-1, &sp2C, &sp20, &sp14, &sp8) != 0) { - var_r28 = 1; - sp2C = sp20; - object->trans.x = sp14.x; - object->trans.y = sp14.y; - object->trans.z = sp14.z; - } - sp20.x = object->trans.x; - sp20.y = object->trans.y; - sp20.z = object->trans.z; - if (fn_1_16260(work->unk_10, &sp2C, &sp20, &sp14, 200.0f) != 0) { - var_r28 = 1; - sp2C = sp20; - object->trans.x = sp14.x; - object->trans.y = sp14.y; - object->trans.z = sp14.z; - } - } - if ((--work->unk_24 > 0) && ((work->unk_18 & 3) == 0)) { - omVibrate(work->unk_08[0]->unk_00, 0xC, 6, 6); - omVibrate(work->unk_08[1]->unk_00, 0xC, 6, 6); - } - if (work->unk_18 >= 120.0f) { - work->unk_1C = 2; - work->unk_20 = 0xB4; - work->unk_18 = 0; - } - fn_1_119C0(object); - if (fn_1_1788() >= 7) { - work->unk_20 = 0; - work->unk_18 = 0; - work->unk_1C = 4; - object->func = fn_1_10830; - } - break; - case 4: - work->unk_58 *= 0.993f; - work->unk_5C *= 0.993f; - work->unk_4C *= 0.993f; - work->unk_54 *= 0.993f; - work->unk_60 = work->unk_58 + work->unk_5C; - if (work->unk_60 < -5.0f) { - work->unk_60 = -5; - } - else if (work->unk_60 > 5.0f) { - work->unk_60 = 5; - } - var_f31 = work->unk_60 / 5.0f; - var_f31 = 5.0f * (var_f31 * var_f31); - object->trans.x = object->trans.x + (2.0 * (var_f31 * sind(work->unk_64))); - object->trans.z = object->trans.z + (2.0 * (var_f31 * cosd(work->unk_64))); - object->trans.x += work->unk_4C; - object->trans.z += work->unk_54; - for (var_r29 = 0, var_r28 = 1; (var_r28 == 1) && (var_r29 < 6); var_r29++) { - var_r28 = 0; - sp20.x = object->trans.x; - sp20.y = object->trans.y; - sp20.z = object->trans.z; - if (fn_1_15AF0(-1, &sp2C, &sp20, &sp14, &sp8) != 0) { - var_r28 = 1; - sp2C = sp20; - object->trans.x = sp14.x; - object->trans.y = sp14.y; - object->trans.z = sp14.z; - } - sp20.x = object->trans.x; - sp20.y = object->trans.y; - sp20.z = object->trans.z; - if (fn_1_16260(work->unk_10, &sp2C, &sp20, &sp14, 200.0f) != 0) { - var_r28 = 1; - sp2C = sp20; - object->trans.x = sp14.x; - object->trans.y = sp14.y; - object->trans.z = sp14.z; - } - } - work->unk_20 = 0; - if (fn_1_1788() >= 7) { - work->unk_18 = 0; - work->unk_1C = 4; - object->func = fn_1_10830; - } - break; - case 5: - if (sp2C.z != object->trans.z) { - work->unk_60 = 2; - } - else { - work->unk_60 = 0; - } - break; - case 6: - break; - case 7: - break; - } - var_f31 = work->unk_60 / 5.0f; - Hu3DMotionSpeedSet(object->model[0], 2.0f * var_f31); - if (work->unk_1C == 3) { - work->unk_2C += (frand() & 3) + 2; - object->rot.x = 0.0f; - object->rot.z = 0.0f; - work->unk_28 = 5.0f - (5.0f * (0.008333334f * work->unk_18)); - var_f29 = 7.0 * (work->unk_28 * sind((10.0f * work->unk_18))); - object->rot.x = object->rot.x + (var_f29 * sind(work->unk_2C)); - object->rot.z = object->rot.z + (var_f29 * cosd(work->unk_2C)); - } - if (((work->unk_1C == 3) || (work->unk_20 != 0)) && ((work->unk_18 & 1) != 0)) { - for (var_r29 = 0; var_r29 < 7; var_r29++) { - Hu3DModelAttrSet(object->model[var_r29], HU3D_ATTR_DISPOFF); - } - for (var_r29 = 0; var_r29 < 2; var_r29++) { - if (work->unk_00[var_r29]->model[0] != -1) { - Hu3DModelAttrSet(*work->unk_00[var_r29]->model, HU3D_ATTR_DISPOFF); - } - } - } - else { - for (var_r29 = 0; var_r29 < 7; var_r29++) { - Hu3DModelAttrReset(object->model[var_r29], HU3D_ATTR_DISPOFF); - } - for (var_r29 = 0; var_r29 < 2; var_r29++) { - if (work->unk_00[var_r29]->model[0] != -1) { - Hu3DModelAttrReset(*work->unk_00[var_r29]->model, HU3D_ATTR_DISPOFF); - } - } - } - for (var_r29 = 0; var_r29 < 2; var_r29++) { - work->unk_08[var_r29]->unk_24 = work->unk_1C; - } - object->trans.y = fn_1_AE78(work->unk_10, object->trans.x, object->trans.z); - mtxRot(sp38, object->rot.x, object->rot.y, object->rot.z); - sp38[1][0] *= object->scale.y; - sp38[1][1] *= object->scale.y; - sp38[1][2] *= object->scale.z; - sp20.x = 0.0f; - sp20.y = 0.0f; - sp20.z = 100.0f; - fn_1_1723C(sp38, &sp20); - sp20.x += object->trans.x; - sp20.y += object->trans.y; - sp20.z += object->trans.z; - fn_1_91E0(work->unk_10, sp20.x, sp20.y, sp20.z, 180.0f + object->rot.y); - for (var_r29 = 0; var_r29 < 2; var_r29++) { - sp20 = lbl_1_data_534[var_r29]; - fn_1_1723C(sp38, &sp20); - work->unk_00[var_r29]->trans.x = object->trans.x + sp20.x; - work->unk_00[var_r29]->trans.y = object->trans.y + sp20.y; - work->unk_00[var_r29]->trans.z = object->trans.z + sp20.z; - work->unk_00[var_r29]->rot.x = object->rot.x; - work->unk_00[var_r29]->rot.y = object->rot.y; - work->unk_00[var_r29]->rot.z = object->rot.z; - } - for (var_r29 = 0; var_r29 < 7; var_r29++) { - Hu3DModelPosSet(object->model[var_r29], object->trans.x, object->trans.y, object->trans.z); - Hu3DModelRotSet(object->model[var_r29], object->rot.x, object->rot.y, object->rot.z); - } - fn_1_1143C(object); - if ((fn_1_32EC() == 0) && (object->func != fn_1_10830) && ((work->unk_1C == 2) || (work->unk_1C == 3))) { - fn_1_115B4(object); - } - work->unk_18++; -} - -s32 lbl_1_data_5F8[2] = { 1, 3 }; -s32 lbl_1_data_600[2] = { 2, 4 }; -s32 lbl_1_data_608[4] = { 0x3A002F, 0x3A0037, 0x3A003F, 0x3A0047 }; -s32 lbl_1_data_618[4] = { 15, 10, 6, 5 }; - -void fn_1_10830(omObjData *object) -{ - Mtx sp14; - Vec sp8; - s32 var_r30; - M427DllPlayerWork *work; - s32 var_r28; - s32 var_r27; - - work = object->data; - switch (work->unk_1C) { - case 4: - var_r27 = fn_1_1884(); - if (var_r27 == 3) { - break; - } - if (var_r27 == work->unk_10) { - for (var_r30 = 0; var_r30 < 2; var_r30++) { - Hu3DModelCameraSet(*work->unk_00[var_r30]->model, 1); - Hu3DModelLayerSet(*work->unk_00[var_r30]->model, 3); - fn_1_172F0(work->unk_00[var_r30]->model[0], 5.0f); - } - for (var_r30 = 0; var_r30 < 7; var_r30++) { - Hu3DModelCameraSet(object->model[var_r30], 1); - Hu3DModelLayerSet(object->model[var_r30], 3); - if (var_r30 < 5) { - fn_1_172F0(object->model[var_r30], 5.0f); - } - } - Hu3DModelAttrSet(object->model[5], HU3D_ATTR_DISPOFF); - for (var_r30 = 0; var_r30 < 2; var_r30++) { - work->unk_00[var_r30]->model[1] = Hu3DModelLink(*work->unk_00[var_r30]->model); - Hu3DModelCameraSet(work->unk_00[var_r30]->model[1], 1); - Hu3DModelLayerSet(work->unk_00[var_r30]->model[1], 1); - } - for (var_r30 = 0; var_r30 < 7; var_r30++) { - object->model[var_r30 + 7] = Hu3DModelLink(object->model[var_r30]); - Hu3DModelCameraSet(object->model[var_r30 + 7], 1); - Hu3DModelLayerSet(object->model[var_r30 + 7], 1); - } - object->trans.x = object->trans.y = object->trans.z = 0.0f; - object->rot.x = object->rot.z = 0.0f; - object->rot.y = 180.0f; - work->unk_1C = 5; - break; - } - for (var_r30 = 0; var_r30 < 2; var_r30++) { - Hu3DModelAttrSet(work->unk_00[var_r30]->model[0], HU3D_ATTR_DISPOFF); - work->unk_00[var_r30]->func = NULL; - } - for (var_r30 = 0; var_r30 < 7; var_r30++) { - Hu3DModelAttrSet(object->model[var_r30], HU3D_ATTR_DISPOFF); - } - object->func = NULL; - return; - case 5: - for (var_r30 = 0; var_r30 < 2; var_r30++) { - var_r28 = lbl_1_data_5F8[var_r30]; - if ((work->unk_08[var_r30]->unk_30 != 0) && (Hu3DMotionEndCheck(object->model[var_r28]) != 0)) { - fn_1_3B20(var_r30 * 2, work->unk_10); - Hu3DMotionTimeSet(object->model[var_r28], 0.0f); - if (work->unk_10 == 0) { - HuAudFXPlay(0x655); - } - else { - HuAudFXPlay(0x656); - } - } - var_r28 = lbl_1_data_600[var_r30]; - if ((work->unk_08[var_r30]->unk_34 != 0) && (Hu3DMotionEndCheck(object->model[var_r28]) != 0)) { - fn_1_3B20((var_r30 * 2) + 1, work->unk_10); - Hu3DMotionTimeSet(object->model[var_r28], 0.0f); - if (work->unk_10 == 0) { - HuAudFXPlay(0x655); - } - else { - HuAudFXPlay(0x656); - } - } - } - if (fn_1_1788() >= 0xC) { - work->unk_1C = 6; - } - break; - case 6: - case 7: - break; - } - for (var_r30 = 0; var_r30 < 2; var_r30++) { - work->unk_08[var_r30]->unk_24 = work->unk_1C; - } - mtxRot(sp14, object->rot.x, object->rot.y, object->rot.z); - sp14[1][0] *= object->scale.y; - sp14[1][1] *= object->scale.y; - sp14[1][2] *= object->scale.z; - sp8.x = 0.0f; - sp8.y = 0.0f; - sp8.z = 100.0f; - fn_1_1723C(sp14, &sp8); - sp8.x += object->trans.x; - sp8.y += object->trans.y; - sp8.z += object->trans.z; - fn_1_91E0(work->unk_10, sp8.x, sp8.y, sp8.z, 180.0f + object->rot.y); - object->trans.y = fn_1_AE78(work->unk_10, object->trans.x, object->trans.z); - for (var_r30 = 0; var_r30 < 2; var_r30++) { - sp8 = lbl_1_data_534[var_r30]; - fn_1_1723C(sp14, &sp8); - work->unk_00[var_r30]->trans.x = object->trans.x + sp8.x; - work->unk_00[var_r30]->trans.y = object->trans.y + sp8.y; - work->unk_00[var_r30]->trans.z = object->trans.z + sp8.z; - work->unk_00[var_r30]->rot.x = object->rot.x; - work->unk_00[var_r30]->rot.y = object->rot.y; - work->unk_00[var_r30]->rot.z = object->rot.z; - if (work->unk_00[var_r30]->model[1] != -1) { - Hu3DModelPosSet( - work->unk_00[var_r30]->model[1], -work->unk_00[var_r30]->trans.x, work->unk_00[var_r30]->trans.y, work->unk_00[var_r30]->trans.z); - Hu3DModelRotSet( - work->unk_00[var_r30]->model[1], work->unk_00[var_r30]->rot.x, -work->unk_00[var_r30]->rot.y, work->unk_00[var_r30]->rot.z); - } - } - for (var_r30 = 0; var_r30 < 0xE; var_r30++) { - if (object->model[var_r30] != -1) { - if (var_r30 < 7) { - Hu3DModelPosSet(object->model[var_r30], object->trans.x, object->trans.y, object->trans.z); - Hu3DModelRotSet(object->model[var_r30], object->rot.x, object->rot.y, object->rot.z); - } - else { - Hu3DModelPosSet(object->model[var_r30], -object->trans.x, object->trans.y, object->trans.z); - Hu3DModelRotSet(object->model[var_r30], object->rot.x, -object->rot.y, object->rot.z); - } - } - } - work->unk_64 = 200.0f; - fn_1_1143C(object); - work->unk_18++; -} - -void fn_1_10F8C(omObjData *object) -{ - s32 var_r31; - M427DllPlayerWork *work = object->data; - for (var_r31 = 0; var_r31 < 2; var_r31++) { - fn_1_12514(work->unk_00[var_r31]); - } -} - -s32 fn_1_10FE8(s32 arg0, s32 *arg1) -{ - s32 var_r31; - M427DllPlayerWork *var_r30; - omObjData *var_r29; - - var_r29 = lbl_1_bss_56C[arg0]; - var_r30 = &lbl_1_bss_578[arg0]; - if ((var_r29 == NULL) || (var_r30 == NULL)) { - return -1; - } - if ((var_r30->unk_00[0] == NULL) || (var_r30->unk_08[0] == NULL)) { - return -1; - } - for (var_r31 = 0; var_r31 < 7; var_r31++) { - if (var_r31 < 5) { - arg1[var_r31] = var_r29->model[var_r31]; - } - else if (var_r31 < 6) { - arg1[var_r31] = var_r30->unk_00[0]->model[0]; - } - else { - arg1[var_r31] = var_r30->unk_00[1]->model[0]; - } - } - return var_r31; -} - -void fn_1_110E8(s32 arg0, s32 *arg1) -{ - s32 var_r31; - M427DllPlayerWork *var_r30; - omObjData *var_r29; - - var_r29 = lbl_1_bss_56C[arg0]; - var_r30 = &lbl_1_bss_578[arg0]; - for (var_r31 = 0; var_r31 < 2; var_r31++) { - arg1[var_r31] = 0; - } - if ((var_r29 == NULL) || (var_r30 == NULL)) { - return; - } - if ((var_r30->unk_00[0] == NULL) || (var_r30->unk_08[0] == NULL)) { - return; - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - arg1[var_r31] = var_r30->unk_08[var_r31]->unk_0C; - } -} - -void fn_1_111C0(s32 arg0, s32 *arg1) -{ - s32 var_r31; - M427DllPlayerWork *var_r30; - omObjData *var_r29; - - var_r29 = lbl_1_bss_56C[arg0]; - var_r30 = &lbl_1_bss_578[arg0]; - for (var_r31 = 0; var_r31 < 2; var_r31++) { - arg1[var_r31] = 0; - } - if ((var_r29 == NULL) || (var_r30 == NULL)) { - return; - } - if ((var_r30->unk_00[0] == NULL) || (var_r30->unk_08[0] == NULL)) { - return; - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - arg1[var_r31] = var_r30->unk_08[var_r31]->unk_00; - } -} - -void fn_1_11298(float var_f30) -{ - float var_f31; - omObjData *object; - s32 var_r30; - - if (fn_1_1788() < 4) { - for (var_r30 = 0; var_r30 < 2; var_r30++) { - object = lbl_1_bss_56C[var_r30]; - if (object) { - object->trans.z = 1900.0f + (-1800.0f * var_f30); - } - } - return; - } - for (var_r30 = 0; var_r30 < 2; var_r30++) { - object = lbl_1_bss_56C[var_r30]; - if (object) { - object->trans.z = -1800.0f * var_f30; - if (object->trans.z < -1500.0f) { - var_f31 = (object->trans.z - -1500.0f) / 300.0f; - object->rot.y = 180.0f - (30.0f * var_f31); - } - } - } -} - -s32 fn_1_113F0(s32 arg0) -{ - M427DllPlayerWork *work; - omObjData *object; - - object = lbl_1_bss_56C[arg0]; - work = object->data; - if (work->unk_14 == 3) { - return 1; - } - return 0; -} - -void fn_1_1143C(omObjData *object) -{ - Mtx sp20; - Vec sp14; - Vec sp8; - M427DllPlayerWork *work; - s32 var_r29; - - work = object->data; - mtxRot(sp20, 0.0f, work->unk_64, 0.0f); - sp14 = lbl_1_data_564; - fn_1_1723C(sp20, &sp14); - sp14.x += object->trans.x; - sp14.y += object->trans.y; - sp14.z += object->trans.z; - sp8.x = sp8.z = 0.0f; - sp8.y = 1.0f; - Hu3DLLightPosSet(object->model[0], work->unk_30[0], sp14.x, sp14.y, sp14.z, sp8.x, sp8.y, sp8.z); - for (var_r29 = 0; var_r29 < 2; var_r29++) { - if (*work->unk_00[var_r29]->model != -1) { - Hu3DLLightPosSet(work->unk_00[var_r29]->model[0], work->unk_08[var_r29]->unk_14, sp14.x, sp14.y, sp14.z, sp8.x, sp8.y, sp8.z); - } - } -} - -void fn_1_115B4(omObjData *object) -{ - Vec spC; - float sp8; - float var_f31; - float var_f30; - float var_f29; - M427DllBss590Struct *var_r31; - M427DllPlayerWork *work; - s32 var_r28; - - work = object->data; - var_r28 = fn_1_155E0(object->trans.x, object->trans.y, object->trans.z, &sp8); - if ((var_r28 < 0) || (var_r28 >= (lbl_1_bss_580 - 1))) { - return; - } - var_r31 = &lbl_1_bss_590[var_r28]; - spC.x = var_r31->unk_44.x + (sp8 * var_r31->unk_50); - spC.y = 275.0f + (var_r31->unk_44.y + (sp8 * var_r31->unk_54)); - spC.z = var_r31->unk_44.z + (sp8 * var_r31->unk_58); - var_f29 = object->trans.x - spC.x; - spC.x += 0.4f * var_f29; - if (var_f29 < 0.0f) { - var_f30 = fabs(var_r31->unk_5C + (sp8 * (var_r31->unk_64 - var_r31->unk_5C))); - } - else { - var_f30 = fabs(var_r31->unk_60 + (sp8 * (var_r31->unk_68 - var_r31->unk_60))); - } - CenterM[work->unk_10].x = CenterM[work->unk_10].x + (0.06666667f * (spC.x - CenterM[work->unk_10].x)); - CenterM[work->unk_10].y = CenterM[work->unk_10].y + (0.06666667f * (spC.y - CenterM[work->unk_10].y)); - CenterM[work->unk_10].z = CenterM[work->unk_10].z + (0.06666667f * (spC.z - CenterM[work->unk_10].z)); - var_f31 = var_r31->unk_0C; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - var_f31 = 180.0f + (0.25f * (var_f31 - 180.0f)); - if (var_f30 != 0.0f) { - var_f30 = var_f29 / var_f30; - } - var_f31 -= 30.0f * var_f30; - CRotM[work->unk_10].y = fn_1_168FC(0.020000001f, CRotM[work->unk_10].y, 180.0f + var_f31); -} - -void fn_1_119C0(omObjData *object) -{ - float var_f31; - float var_f30; - M427DllBss590Struct *var_r31; - M427DllPlayerWork *work; - M427DllBss590Struct *var_r28; - - work = object->data; - var_r31 = &lbl_1_bss_590[1]; - var_r28 = &lbl_1_bss_590[27]; - var_f31 = var_r28->unk_80->z - var_r31->unk_80->z; - var_f30 = object->trans.z - var_r31->unk_80->z; - fn_1_1798(work->unk_10, var_f30 / var_f31); -} - -void fn_1_11A74(omObjData *object) -{ - M427DllPlayerWork2 *var_r31; - s32 var_r29; - s32 var_r28; - s32 var_r27; - M427DllPlayerWork *var_r26; - - var_r31 = &lbl_1_bss_574[object->work[0]]; - object->data = var_r31; - var_r26 = &lbl_1_bss_578[object->work[1]]; - lbl_1_bss_578[object->work[1]].unk_08[object->work[2]] = var_r31; - var_r31->unk_00 = object->work[0]; - var_r31->unk_04 = object->work[1]; - var_r31->unk_08 = GWPlayerCfg[var_r31->unk_00].pad_idx; - var_r31->unk_0C = GWPlayerCfg[var_r31->unk_00].character; - var_r31->unk_10 = object->work[2]; - var_r31->unk_18 = GWPlayerCfg[var_r31->unk_00].iscom; - var_r31->unk_1C = GWPlayerCfg[var_r31->unk_00].diff; - var_r31->unk_20 = 0; - var_r31->unk_24 = 0; - var_r31->unk_28 = 0; - var_r31->unk_30 = 0; - var_r31->unk_34 = 0; - var_r31->unk_38 = 0; - var_r31->unk_3C = 0; - var_r31->unk_40 = var_r31->unk_44 = 0; - var_r31->unk_48 = var_r31->unk_4C = 0; - var_r31->unk_50 = 0; - var_r31->unk_54 = 0; - var_r31->unk_60 = lbl_1_data_618[var_r31->unk_1C]; - var_r31->unk_58 = frand() % var_r31->unk_60; - var_r31->unk_5C = frand() % 7; - var_r31->unk_64 = -1; - var_r31->unk_68 = var_r31->unk_6C = var_r31->unk_70 = 0.0f; - if (var_r31->unk_18 != 0) { - var_r26->unk_14 |= 1 << var_r31->unk_10; - } - var_r27 = var_r31->unk_0C; - object->model[0] = CharModelCreate(var_r27, 4); - Hu3DModelLayerSet(object->model[0], 2); - if (var_r31->unk_04 == 0) { - Hu3DModelCameraSet(object->model[0], 1); - } - else { - Hu3DModelCameraSet(object->model[0], 2); - } - if (var_r31->unk_10 != 0) { - fn_1_172F0(object->model[0], 0.3f); - } - else { - fn_1_172F0(object->model[0], 0.3f); - } - CharModelStepTypeSet(var_r27, 3); - for (var_r29 = 0; var_r29 < 4; var_r29++) { - object->motion[var_r29] = Hu3DJointMotionFile(object->model[0], var_r31->unk_0C + lbl_1_data_608[var_r29]); - } - var_r31->unk_2C = 0; - CharModelMotionSet(var_r31->unk_0C, object->motion[0]); - CharModelMotionDataClose(var_r27); - var_r28 = Hu3DLLightCreateV(object->model[0], &lbl_1_data_564, &lbl_1_data_570, &lbl_1_data_57C); - var_r31->unk_14 = var_r28; - Hu3DLLightStaticSet(object->model[0], var_r28, 1); - if (var_r31->unk_10 == 0) { - Hu3DLLightPointSet(object->model[0], var_r28, 80.0f, 0.95f, 3); - } - else { - Hu3DLLightPointSet(object->model[0], var_r28, 80.0f, 0.95f, 3); - } - Hu3DLLightColorSet(object->model[0], var_r28, 0xFF, 0xFF, 0xFF, 0xFF); - Hu3DLLightPosSet( - object->model[0], var_r28, lbl_1_data_564.x, lbl_1_data_564.y, lbl_1_data_564.z, lbl_1_data_570.x, lbl_1_data_570.y, lbl_1_data_570.z); - object->func = fn_1_11ED8; - (void)var_r29; -} - -void fn_1_11ED8(omObjData *object) -{ - M427DllPlayerWork2 *var_r31; - s32 var_r29; - M427DllPlayerWork *var_r28; - omObjData *var_r27; - - var_r31 = object->data; - var_r28 = &lbl_1_bss_578[var_r31->unk_04]; - var_r27 = lbl_1_bss_56C[var_r31->unk_04]; - var_r31->unk_40 = HuPadBtn[var_r31->unk_08]; - var_r31->unk_44 = HuPadBtnDown[var_r31->unk_08]; - if ((var_r31->unk_18 != 0) && (var_r31->unk_24 == 2)) { - if (var_r28->unk_14 == 3) { - fn_1_12580(object); - } - else { - fn_1_12518(object); - } - } - var_r31->unk_38 = var_r31->unk_3C = 0; - if (var_r31->unk_30 != 0) { - var_r31->unk_38 = 1; - } - if (var_r31->unk_34 != 0) { - var_r31->unk_3C = 1; - } - var_r31->unk_30 = var_r31->unk_34 = 0; - switch (var_r31->unk_24) { - case 0: - if (((var_r31->unk_20 & 0xF) == 0) && (var_r27->trans.z > 100.0f)) { - var_r31->unk_30 = 1; - var_r31->unk_34 = 1; - } - var_r29 = 1; - if (var_r29 != var_r31->unk_2C) { - var_r31->unk_2C = var_r29; - CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_2C], 0.0f, 8.0f, 0x40000001); - } - break; - case 1: - var_r29 = 0; - if ((var_r29 != var_r31->unk_2C) && (CharModelMotionShiftIDGet(var_r31->unk_0C) == -1)) { - var_r31->unk_2C = var_r29; - CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_2C], 0.0f, 8.0f, 0x40000001); - var_r31->unk_28 = 0; - } - break; - case 2: - if (fn_1_32EC() == 0) { - if ((var_r31->unk_44 & 0x100) != 0) { - var_r31->unk_30 = 1; - } - if ((var_r31->unk_44 & 0x200) != 0) { - var_r31->unk_34 = 1; - } - } - var_r31->unk_48 = var_r31->unk_40; - var_r31->unk_4C = var_r31->unk_44; - if ((var_r31->unk_30 != 0) || (var_r31->unk_34 != 0)) { - var_r29 = 1; - } - else { - var_r29 = 0; - } - if ((CharModelMotionShiftIDGet(var_r31->unk_0C) == -1) - && ((var_r29 != var_r31->unk_2C) || (CharModelMotionEndCheck(var_r31->unk_0C) == 1))) { - if (var_r31->unk_2C == var_r29) { - CharModelMotionTimeSet(var_r31->unk_0C, 0.0f); - } - else { - var_r31->unk_2C = var_r29; - CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_2C], 0.0f, 8.0f, 0); - } - } - break; - case 3: - var_r29 = 2; - if ((var_r29 != var_r31->unk_2C) && (CharModelMotionShiftIDGet(var_r31->unk_0C) == -1)) { - var_r31->unk_2C = var_r29; - CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_2C], 0.0f, 8.0f, 0x40000001); - var_r31->unk_28 = 0; - } - if (var_r31->unk_2C == 2) { - if (++var_r31->unk_28 >= 240.0f) { - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); - } - } - break; - case 4: - var_r29 = 0; - if ((var_r29 != var_r31->unk_2C) && (CharModelMotionShiftIDGet(var_r31->unk_0C) == -1)) { - var_r31->unk_2C = var_r29; - if (object->model[1] != -1) { - Hu3DMotionShiftSet(object->model[1], object->motion[var_r31->unk_2C], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - else { - CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_2C], 0.0f, 8.0f, 0x40000001); - } - var_r31->unk_28 = 0; - } - break; - case 5: - if (object->trans.z > -1300.0f) { - if ((var_r31->unk_20 & 0xF) == 0) { - var_r31->unk_30 = 1; - var_r31->unk_34 = 1; - } - var_r29 = 1; - } - else { - var_r29 = 0; - } - if (var_r31->unk_2C == 1) { - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - } - if ((CharModelMotionShiftIDGet(var_r31->unk_0C) == -1) && (var_r29 != var_r31->unk_2C)) { - var_r31->unk_2C = var_r29; - CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_2C], 0.0f, 8.0f, 0x40000001); - } - break; - case 6: - var_r29 = 3; - if ((var_r29 != var_r31->unk_2C) && (CharModelMotionShiftIDGet(var_r31->unk_0C) == -1)) { - var_r31->unk_2C = var_r29; - CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_2C], 0.0f, 8.0f, 0); - HuAudCharVoicePlay(var_r31->unk_0C, 0x124); - var_r31->unk_28 = 0; - } - break; - case 7: - break; - } - var_r31->unk_20++; -} - -void fn_1_12514(omObjData *object) { } - -void fn_1_12518(omObjData *object) -{ - M427DllPlayerWork *var_r31; - M427DllPlayerWork2 *var_r30; - M427DllPlayerWork2 *var_r29; - - var_r30 = object->data; - var_r31 = &lbl_1_bss_578[var_r30->unk_04]; - if (var_r31->unk_14 == 1) { - var_r29 = var_r31->unk_08[1]; - } - else { - var_r29 = var_r31->unk_08[0]; - } - var_r30->unk_40 = var_r29->unk_48; - var_r30->unk_44 = var_r29->unk_4C; -} - -void fn_1_12580(omObjData *var_r24) -{ - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - M427DllPlayerWork2 *var_r31; - M427DllBss590Struct *var_r30; - omObjData *var_r29; - M427DllPlayerWork *var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - - var_r31 = var_r24->data; - var_r28 = &lbl_1_bss_578[var_r31->unk_04]; - var_r29 = lbl_1_bss_56C[var_r31->unk_04]; - var_r31->unk_40 = 0; - var_r31->unk_44 = 0; - var_r26 = fn_1_155E0(var_r29->trans.x, var_r29->trans.y, var_r29->trans.z, NULL); - if ((var_r31->unk_64 != var_r26) || (var_r31->unk_54 > 180.0f)) { - var_r31->unk_64 = var_r26; - switch (var_r31->unk_1C) { - case 0: - var_r27 = 2; - break; - case 1: - var_r27 = 2; - break; - case 2: - var_r27 = 3; - break; - case 3: - var_r27 = 4; - break; - } - if ((var_r31->unk_64 >= 0) && (var_r31->unk_64 < (lbl_1_bss_580 - var_r27)) && (var_r31->unk_64 <= (lbl_1_bss_580 - 2))) { - var_r26 = var_r31->unk_64 + var_r27; - var_r30 = &lbl_1_bss_590[var_r26]; - var_f31 = 0.5f * (var_r30->unk_64 + var_r30->unk_68); - var_f30 = (0.6f - (0.1f * var_r31->unk_1C)) - (0.1f * var_r31->unk_1C * ((frand() & 0x7F) / 127.0f)); - if (var_f30 > 1.0f) { - var_f30 = 1.0f; - } - else if (var_f30 < 0.0f) { - var_f30 = 0.0f; - } - var_f31 *= var_f30; - if ((frand() & 1) != 0) { - var_f31 *= -1.0f; - } - var_r31->unk_68 = var_r30->unk_80->x + var_f31; - var_r31->unk_6C = var_r30->unk_80->y; - var_r31->unk_70 = var_r30->unk_80->z; - } - else { - var_r30 = &lbl_1_bss_590[lbl_1_bss_580 - 1]; - var_r31->unk_68 = var_r30->unk_80->x; - var_r31->unk_6C = var_r30->unk_80->y; - var_r31->unk_70 = var_r30->unk_80->z; - } - var_r31->unk_54 = 0; - } - var_r25 = var_r31->unk_60 + var_r31->unk_5C; - if (var_r28->unk_20 != 0) { - var_r25 = 5; - } - if (++var_r31->unk_58 > var_r25) { - var_r31->unk_58 = 0; - var_r31->unk_5C = frand() % 7; - var_f28 = var_r31->unk_68 - var_r29->trans.x; - var_f27 = var_r31->unk_70 - var_r29->trans.z; - var_f31 = fn_1_16594(atan2d(var_f28, var_f27), var_r28->unk_64); - if (fabs(var_f31) < (30.0f - (5.0f * var_r31->unk_1C))) { - if (var_r31->unk_1C > 2) { - var_f29 = 0.25f * (var_r28->unk_58 - var_r28->unk_5C); - if (var_f29 > 10.0f) { - var_r31->unk_44 |= 0x100; - } - else if (var_f29 < -10.0f) { - var_r31->unk_44 |= 0x200; - } - else { - var_r31->unk_44 |= 0x300; - } - } - else { - var_r31->unk_44 |= 0x300; - } - } - else if (var_f31 < 0.0f) { - var_r31->unk_44 |= 0x200; - } - else { - var_r31->unk_44 |= 0x100; - } - } - var_r31->unk_50++; - var_r31->unk_54++; -} - -void fn_1_12B08(void) -{ - Vec sp20; - float sp1C; - float sp18; - float sp14; - float sp10; - float spC; - float sp8; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - float var_f25; - float var_f24; - float var_f23; - float var_f22; - float var_f21; - float var_f20; - float var_f19; - float var_f18; - M427DllBss590Struct *var_r31; - s32 var_r30; - M427DllBss57CStruct *var_r29; - - lbl_1_bss_580 = 0x1D; - lbl_1_bss_584 = HuMemDirectMallocNum(HEAP_SYSTEM, lbl_1_bss_580 * sizeof(Vec), MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_584, 0, lbl_1_bss_580 * sizeof(Vec)); - for (var_r30 = 0; var_r30 < lbl_1_bss_580; var_r30++) { - lbl_1_bss_584[var_r30].x = 0.5f * (lbl_1_data_260[var_r30].x + lbl_1_data_3BC[var_r30].x); - lbl_1_bss_584[var_r30].y = 0.5f * (lbl_1_data_260[var_r30].y + lbl_1_data_3BC[var_r30].y); - lbl_1_bss_584[var_r30].z = 0.5f * (lbl_1_data_260[var_r30].z + lbl_1_data_3BC[var_r30].z); - } - lbl_1_bss_58C = HuMemDirectMallocNum(HEAP_SYSTEM, lbl_1_bss_580 * sizeof(Vec), MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_58C, 0, lbl_1_bss_580 * sizeof(Vec)); - for (var_r30 = 0; var_r30 < lbl_1_bss_580; var_r30++) { - VECSubtract(&lbl_1_bss_584[var_r30], &lbl_1_data_260[var_r30], &lbl_1_bss_58C[var_r30]); - VECNormalize(&lbl_1_bss_58C[var_r30], &lbl_1_bss_58C[var_r30]); - VECScale(&lbl_1_bss_58C[var_r30], &lbl_1_bss_58C[var_r30], 200.0f); - VECAdd(&lbl_1_bss_58C[var_r30], &lbl_1_data_260[var_r30], &lbl_1_bss_58C[var_r30]); - } - lbl_1_bss_588 = HuMemDirectMallocNum(HEAP_SYSTEM, lbl_1_bss_580 * sizeof(Vec), MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_588, 0, lbl_1_bss_580 * sizeof(Vec)); - for (var_r30 = 0; var_r30 < lbl_1_bss_580; var_r30++) { - VECSubtract(&lbl_1_bss_584[var_r30], &lbl_1_data_3BC[var_r30], &lbl_1_bss_588[var_r30]); - VECNormalize(&lbl_1_bss_588[var_r30], &lbl_1_bss_588[var_r30]); - VECScale(&lbl_1_bss_588[var_r30], &lbl_1_bss_588[var_r30], 200.0f); - VECAdd(&lbl_1_bss_588[var_r30], &lbl_1_data_3BC[var_r30], &lbl_1_bss_588[var_r30]); - } - var_r31 = lbl_1_bss_590 = HuMemDirectMallocNum(HEAP_SYSTEM, lbl_1_bss_580 * sizeof(M427DllBss590Struct), MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_590, 0, lbl_1_bss_580 * sizeof(M427DllBss590Struct)); - for (var_r30 = 0; var_r30 < lbl_1_bss_580; var_r30++, var_r31++) { - var_r31->unk_00 = var_r30; - var_r31->unk_04 = var_r30 + 1; - var_r31->unk_08 = var_r30 - 1; - if (var_r31->unk_04 >= lbl_1_bss_580) { - var_r31->unk_04 = -1; - } - if (var_r31->unk_08 >= lbl_1_bss_580) { - var_r31->unk_08 = -1; - } - var_r31->unk_78 = &lbl_1_bss_58C[var_r30]; - var_r31->unk_7C = &lbl_1_bss_588[var_r30]; - var_r31->unk_80 = &lbl_1_bss_584[var_r30]; - if (var_r31->unk_04 < 0) { - var_r31->unk_0C = 180.0f; - var_r31->unk_70 = 180.0f; - var_r31->unk_74 = 180.0f; - } - else { - var_r31->unk_0C - = atan2d(lbl_1_bss_584[var_r31->unk_04].x - lbl_1_bss_584[var_r30].x, lbl_1_bss_584[var_r31->unk_04].z - lbl_1_bss_584[var_r30].z); - var_r31->unk_70 - = atan2d(lbl_1_bss_58C[var_r31->unk_04].x - lbl_1_bss_58C[var_r30].x, lbl_1_bss_58C[var_r31->unk_04].z - lbl_1_bss_58C[var_r30].z); - var_r31->unk_74 - = atan2d(lbl_1_bss_588[var_r31->unk_04].x - lbl_1_bss_588[var_r30].x, lbl_1_bss_588[var_r31->unk_04].z - lbl_1_bss_588[var_r30].z); - } - if (var_r31->unk_08 < 0) { - var_r31->unk_10 = 0.0f; - } - else { - var_r31->unk_10 - = atan2d(lbl_1_bss_584[var_r31->unk_08].x - lbl_1_bss_584[var_r30].x, lbl_1_bss_584[var_r31->unk_08].z - lbl_1_bss_584[var_r30].z); - } - if (var_r31->unk_04 < 0) { - var_r31->unk_6C = 0.0f; - sp20.x = lbl_1_bss_58C[var_r30].x + lbl_1_bss_590[var_r30 - 1].unk_14[1].x; - sp20.y = lbl_1_bss_58C[var_r30].y + lbl_1_bss_590[var_r30 - 1].unk_14[1].y; - sp20.z = lbl_1_bss_58C[var_r30].z + lbl_1_bss_590[var_r30 - 1].unk_14[1].z; - fn_1_16E3C(&lbl_1_data_260[var_r30], &sp20, &var_r31->unk_14[0], 0); - sp20.x = lbl_1_bss_588[var_r30].x + lbl_1_bss_590[var_r30 - 1].unk_2C[1].x; - sp20.y = lbl_1_bss_588[var_r30].y + lbl_1_bss_590[var_r30 - 1].unk_2C[1].y; - sp20.z = lbl_1_bss_588[var_r30].z + lbl_1_bss_590[var_r30 - 1].unk_2C[1].z; - fn_1_16E3C(&lbl_1_data_3BC[var_r30], &sp20, &var_r31->unk_2C[0], 0); - sp20.x = lbl_1_bss_584[var_r30].x + lbl_1_bss_590[var_r30 - 1].unk_50; - sp20.y = lbl_1_bss_584[var_r30].y + lbl_1_bss_590[var_r30 - 1].unk_54; - sp20.z = lbl_1_bss_584[var_r30].z + lbl_1_bss_590[var_r30 - 1].unk_58; - fn_1_16E3C(&lbl_1_bss_584[var_r30], &sp20, &var_r31->unk_44, 0); - } - else { - sp20.x = lbl_1_bss_584[var_r30 + 1].x - lbl_1_bss_584[var_r30].x; - sp20.y = lbl_1_bss_584[var_r30 + 1].y - lbl_1_bss_584[var_r30].y; - sp20.z = lbl_1_bss_584[var_r30 + 1].z - lbl_1_bss_584[var_r30].z; - var_r31->unk_6C = sqrtf((sp20.z * sp20.z) + ((sp20.x * sp20.x) + (sp20.y * sp20.y))); - fn_1_16E3C(&lbl_1_bss_58C[var_r30], &lbl_1_bss_58C[var_r31->unk_04], &var_r31->unk_14[0], 0); - fn_1_16E3C(&lbl_1_bss_588[var_r30], &lbl_1_bss_588[var_r31->unk_04], &var_r31->unk_2C[0], 0); - fn_1_16E3C(&lbl_1_bss_584[var_r30], &lbl_1_bss_584[var_r31->unk_04], &var_r31->unk_44, 0); - } - sp20.x = lbl_1_bss_58C[var_r30].x - lbl_1_bss_584[var_r30].x; - sp20.z = lbl_1_bss_58C[var_r30].z - lbl_1_bss_584[var_r30].z; - sp20.y = 0.0f; - var_r31->unk_5C = sqrtf((sp20.z * sp20.z) + ((sp20.x * sp20.x) + (sp20.y * sp20.y))); - sp20.x = lbl_1_bss_588[var_r30].x - lbl_1_bss_584[var_r30].x; - sp20.z = lbl_1_bss_588[var_r30].z - lbl_1_bss_584[var_r30].z; - sp20.y = 0.0f; - var_r31->unk_60 = sqrtf((sp20.z * sp20.z) + ((sp20.x * sp20.x) + (sp20.y * sp20.y))); - if (var_r31->unk_04 < 0) { - var_r31->unk_64 = var_r31->unk_5C; - var_r31->unk_68 = var_r31->unk_60; - } - else { - sp20.x = lbl_1_bss_58C[var_r31->unk_04].x - lbl_1_bss_584[var_r31->unk_04].x; - sp20.z = lbl_1_bss_58C[var_r31->unk_04].z - lbl_1_bss_584[var_r31->unk_04].z; - sp20.y = 0.0f; - var_r31->unk_64 = sqrtf((sp20.z * sp20.z) + ((sp20.x * sp20.x) + (sp20.y * sp20.y))); - sp20.x = lbl_1_bss_588[var_r31->unk_04].x - lbl_1_bss_584[var_r31->unk_04].x; - sp20.z = lbl_1_bss_588[var_r31->unk_04].z - lbl_1_bss_584[var_r31->unk_04].z; - sp20.y = 0.0f; - var_r31->unk_68 = sqrtf((sp20.z * sp20.z) + ((sp20.x * sp20.x) + (sp20.y * sp20.y))); - } - } - lbl_1_bss_558 = lbl_1_data_260; - lbl_1_bss_554 = lbl_1_data_3BC; - lbl_1_bss_550 = lbl_1_bss_584; - var_r29 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x40 * sizeof(M427DllBss57CStruct), MEMORY_DEFAULT_NUM); - lbl_1_bss_57C = var_r29; - memset(lbl_1_bss_57C, 0, 0x40 * sizeof(M427DllBss57CStruct)); - for (var_r30 = 0; var_r30 < 0x40; var_r30++, var_r29++) { - var_r29->unk_00 = var_r30; - var_r29->unk_04 = -1; - var_r29->unk_08 = -1; - var_r29->unk_0C = 0; - var_r29->unk_10 = 0; - var_r29->unk_14 = var_r29->unk_18 = 0; - } -} - -void fn_1_13F24(void) -{ - M427DllBss57CStruct *var_r31; - s32 var_r30; - - for (var_r31 = lbl_1_bss_57C, var_r30 = 0; var_r30 < 0x40; var_r30 += 1, var_r31++) { - if ((var_r31->unk_04 >= 0) && (var_r31->unk_08 >= 0) && (var_r31->unk_18 >= 0)) { - if (++var_r31->unk_14 > var_r31->unk_18) { - fn_1_1607C(var_r30); - } - } - } -} - -void fn_1_13FB8(void) { } - -GXColor lbl_1_data_648 = { 0xFF, 0xFF, 0xFF, 0xFF }; -GXColor lbl_1_data_64C = { 0xFF, 0, 0, 0xFF }; -GXColor lbl_1_data_650 = { 0xFF, 0xFF, 0, 0xFF }; - -void fn_1_13FBC(ModelData *model, Mtx matrix) -{ - Mtx sp70; - float var_f31; - float var_f30; - float var_f29; - M427DllBss57CStruct *var_r31; - M427DllBss590Struct *var_r30; - s16 var_r29; - s16 var_r28; - M427DllPlayerWork *var_r27; - M427DllPlayerWork2 *var_r26; - s32 *var_r25; - omObjData *var_r24; - - var_r25 = model->unk_120; - var_r27 = &lbl_1_bss_578[*var_r25]; - var_r24 = lbl_1_bss_56C[*var_r25]; - GXLoadPosMtxImm(matrix, 0); - PSMTXInvXpose(matrix, sp70); - GXLoadNrmMtxImm(sp70, 0); - GXSetNumTevStages(1); - GXSetNumTexGens(1); - GXSetNumChans(1); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3C, GX_FALSE, 0x7D); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_RASC); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVREG0); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVREG0); - GXSetChanCtrl(GX_COLOR0A0, 1, GX_SRC_VTX, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_SPEC); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); - GXSetZCompLoc(GX_FALSE); - GXSetBlendMode(GX_BM_BLEND, GX_BL_ONE, GX_BL_ZERO, GX_LO_NOOP); - GXSetLineWidth(0x10, GX_TO_ZERO); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0); - GXSetArray(GX_VA_POS, lbl_1_data_260, sizeof(Vec)); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, &lbl_1_data_648, sizeof(GXColor)); - GXBegin(GX_LINESTRIP, GX_VTXFMT0, 0x1D); - for (var_r29 = 0; var_r29 < 0x1DU; var_r29++) { - GXPosition1x16(var_r29); - GXColor1x16(0); - } - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, &lbl_1_data_3BC, sizeof(Vec)); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, &lbl_1_data_648, sizeof(GXColor)); - GXBegin(GX_LINESTRIP, GX_VTXFMT0, 0x1D); - for (var_r29 = 0; var_r29 < 0x1DU; var_r29++) { - GXPosition1x16(var_r29); - GXColor1x16(0); - } - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, lbl_1_bss_584, sizeof(Vec)); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, &lbl_1_data_650, sizeof(GXColor)); - GXBegin(GX_LINESTRIP, GX_VTXFMT0, 0x1D); - for (var_r29 = 0; var_r29 < lbl_1_bss_580; var_r29++) { - GXPosition1x16(var_r29); - GXColor1x16(0); - } - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_CLR0, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXBegin(GX_LINES, GX_VTXFMT0, lbl_1_bss_580 * 4); - for (var_r30 = lbl_1_bss_590, var_r29 = 0; var_r29 < lbl_1_bss_580; var_r29++, var_r30++) { - GXPosition3f32(var_r30->unk_78->x, var_r30->unk_78->y, var_r30->unk_78->z); - GXColor4u8(lbl_1_data_64C.r, lbl_1_data_64C.g, lbl_1_data_64C.b, lbl_1_data_64C.a); - GXPosition3f32(var_r30->unk_80->x, var_r30->unk_80->y, var_r30->unk_80->z); - GXColor4u8(lbl_1_data_64C.r, lbl_1_data_64C.g, lbl_1_data_64C.b, lbl_1_data_64C.a); - GXPosition3f32(var_r30->unk_7C->x, var_r30->unk_7C->y, var_r30->unk_7C->z); - GXColor4u8(lbl_1_data_64C.r, lbl_1_data_64C.g, lbl_1_data_64C.b, lbl_1_data_64C.a); - GXPosition3f32(var_r30->unk_80->x, var_r30->unk_80->y, var_r30->unk_80->z); - GXColor4u8(lbl_1_data_64C.r, lbl_1_data_64C.g, lbl_1_data_64C.b, lbl_1_data_64C.a); - } - for (var_r29 = 0, var_r31 = lbl_1_bss_57C; var_r29 < 0x40; var_r29++, var_r31++) { - if ((var_r31->unk_04 >= 0) && (var_r31->unk_08 >= 0) && (var_r31->unk_10 == *var_r25) && (var_r31->unk_04 == 1)) { - switch (var_r31->unk_08) { - case 0: - GXBegin(GX_LINESTRIP, GX_VTXFMT0, 5); - var_f31 = 200.0f + fn_1_15714(var_r31->unk_1C.x, var_r31->unk_1C.z); - GXPosition3f32(var_r31->unk_1C.x, var_f31, var_r31->unk_1C.z); - GXColor4u8(0, 0xFF, 0, 0xFF); - GXPosition3f32(var_r31->unk_28.x, var_f31, var_r31->unk_1C.z); - GXColor4u8(0, 0xFF, 0, 0xFF); - GXPosition3f32(var_r31->unk_28.x, var_f31, var_r31->unk_28.z); - GXColor4u8(0, 0xFF, 0, 0xFF); - GXPosition3f32(var_r31->unk_1C.x, var_f31, var_r31->unk_28.z); - GXColor4u8(0, 0xFF, 0, 0xFF); - GXPosition3f32(var_r31->unk_1C.x, var_f31, var_r31->unk_1C.z); - GXColor4u8(0, 0xFF, 0, 0xFF); - break; - case 1: - GXBegin(GX_LINESTRIP, GX_VTXFMT0, 0xA); - var_f31 = 200.0f + fn_1_15714(var_r31->unk_1C.x, var_r31->unk_1C.z); - for (var_r28 = 0; var_r28 < 0xA; var_r28++) { - var_f30 = var_r31->unk_1C.x + (var_r31->unk_34 * sind((40.0f * var_r28))); - var_f29 = var_r31->unk_1C.z + (var_r31->unk_34 * cosd((40.0f * var_r28))); - GXPosition3f32(var_f30, var_f31, var_f29); - GXColor4u8(0, 0xFF, 0, 0xFF); - } - break; - } - } - } - for (var_r29 = 0, var_r31 = lbl_1_bss_57C; var_r29 < 0x40; var_r29++, var_r31++) { - if ((var_r31->unk_04 >= 0) && (var_r31->unk_08 >= 0) && (var_r31->unk_10 == *var_r25) && (var_r31->unk_04 == 0)) { - switch (var_r31->unk_08) { - case 0: - GXBegin(GX_LINESTRIP, GX_VTXFMT0, 5); - var_f31 = 200.0f + fn_1_15714(var_r31->unk_1C.x, var_r31->unk_1C.z); - GXPosition3f32(var_r31->unk_1C.x, var_f31, var_r31->unk_1C.z); - GXColor4u8(0, 0, 0xFF, 0xFF); - GXPosition3f32(var_r31->unk_28.x, var_f31, var_r31->unk_1C.z); - GXColor4u8(0, 0, 0xFF, 0xFF); - GXPosition3f32(var_r31->unk_28.x, var_f31, var_r31->unk_28.z); - GXColor4u8(0, 0, 0xFF, 0xFF); - GXPosition3f32(var_r31->unk_1C.x, var_f31, var_r31->unk_28.z); - GXColor4u8(0, 0, 0xFF, 0xFF); - GXPosition3f32(var_r31->unk_1C.x, var_f31, var_r31->unk_1C.z); - GXColor4u8(0, 0, 0xFF, 0xFF); - break; - case 1: - GXBegin(GX_LINESTRIP, GX_VTXFMT0, 0xA); - var_f31 = 200.0f + fn_1_15714(var_r31->unk_1C.x, var_r31->unk_1C.z); - for (var_r28 = 0; var_r28 < 0xA; var_r28++) { - var_f30 = var_r31->unk_1C.x + (var_r31->unk_34 * sind((40.0f * var_r28))); - var_f29 = var_r31->unk_1C.z + (var_r31->unk_34 * cosd((40.0f * var_r28))); - GXPosition3f32(var_f30, var_f31, var_f29); - GXColor4u8(0, 0, 0xFF, 0xFF); - } - break; - } - } - } - if ((var_r24 == NULL) || (var_r27 == NULL)) { - return; - } - if ((var_r27->unk_00[0] == NULL) || (var_r27->unk_08[0] == NULL)) { - return; - } - GXBegin(GX_LINESTRIP, GX_VTXFMT0, 0xA); - var_f31 = 100.0f + var_r24->trans.y; - for (var_r28 = 0; var_r28 < 0xA; var_r28++) { - var_f30 = var_r24->trans.x + (200.0 * sind((40.0f * var_r28))); - var_f30 = var_f30; - var_f29 = var_r24->trans.z + (200.0 * cosd((40.0f * var_r28))); - var_f29 = var_f29; - GXPosition3f32(var_f30, var_f31, var_f29); - GXColor4u8(0xFF, 0, 0xFF, 0xFF); - } - GXBegin(GX_LINESTRIP, GX_VTXFMT0, 4); - var_r26 = var_r27->unk_08[0]; - var_f30 = var_r26->unk_68; - var_f29 = var_r26->unk_70; - var_f31 = 100.0f + fn_1_15714(var_f30, var_f29); - GXPosition3f32(var_f30, var_f31, var_f29); - GXColor4u8(0xFF, 0x80, 0, 0xFF); - GXPosition3f32(100.0f + var_f30, 200.0f + var_f31, var_f29); - GXColor4u8(0xFF, 0x80, 0, 0xFF); - GXPosition3f32(var_f30 - 100.0f, 200.0f + var_f31, var_f29); - GXColor4u8(0xFF, 0x80, 0, 0xFF); - GXPosition3f32(var_f30, var_f31, var_f29); - GXColor4u8(0xFF, 0x80, 0, 0xFF); - GXBegin(GX_LINESTRIP, GX_VTXFMT0, 4); - var_r26 = var_r27->unk_08[1]; - var_f30 = var_r26->unk_68; - var_f29 = var_r26->unk_70; - var_f31 = 100.0f + fn_1_15714(var_f30, var_f29); - GXPosition3f32(var_f30, var_f31, var_f29); - GXColor4u8(0, 0x80, 0xFF, 0xFF); - GXPosition3f32(100.0f + var_f30, 200.0f + var_f31, var_f29); - GXColor4u8(0, 0x80, 0xFF, 0xFF); - GXPosition3f32(var_f30 - 100.0f, 200.0f + var_f31, var_f29); - GXColor4u8(0, 0x80, 0xFF, 0xFF); - GXPosition3f32(var_f30, var_f31, var_f29); - GXColor4u8(0, 0x80, 0xFF, 0xFF); -} - -void fn_1_154B8(void) { } - -s32 fn_1_154BC(float arg8, float arg9, float argA) -{ - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - s32 var_r31; - s32 var_r30; - - var_r30 = -1; - var_f27 = 1e7f; - for (var_r31 = 0; var_r31 < lbl_1_bss_580; var_r31++) { - var_f31 = lbl_1_bss_590[var_r31].unk_80->x - arg8; - var_f30 = lbl_1_bss_590[var_r31].unk_80->y - arg9; - var_f29 = lbl_1_bss_590[var_r31].unk_80->z - argA; - var_f28 = (var_f29 * var_f29) + ((var_f31 * var_f31) + (var_f30 * var_f30)); - if (var_f28 < var_f27) { - var_r30 = var_r31; - var_f27 = var_f28; - } - } - return var_r30; -} - -s32 fn_1_155E0(float arg8, float arg9, float argA, float *arg0) -{ - float var_f31; - float var_f30; - double var_f29; - double var_f28; - M427DllBss590Struct *var_r31; - s32 var_r30; - M427DllBss590Struct *var_r29; - - for (var_r30 = 0; var_r30 < (lbl_1_bss_580 - 1); var_r30++) { - var_r31 = &lbl_1_bss_590[var_r30]; - var_r29 = &lbl_1_bss_590[var_r30 + 1]; - if ((argA < var_r31->unk_80->z) && (argA >= var_r29->unk_80->z)) { - var_f31 = var_r29->unk_80->z - var_r31->unk_80->z; - if ((arg0 != NULL) && (var_f31 != 0.0f)) { - *arg0 = fabs((argA - var_r31->unk_80->z) / var_f31); - } - break; - } - } - return var_r30; -} - -float fn_1_15714(float arg8, float arg9) -{ - float sp8; - M427DllBss590Struct *var_r31; - s32 var_r28; - M427DllBss590Struct *var_r26; - - var_r28 = fn_1_155E0(0.0f, 0.0f, arg9, &sp8); - var_r31 = &lbl_1_bss_590[var_r28]; - if ((var_r28 < 0) || (var_r28 >= (lbl_1_bss_580 - 1))) { - return var_r31->unk_80->y; - } - var_r26 = &lbl_1_bss_590[var_r28 + 1]; - return var_r31->unk_80->y + (sp8 * (var_r26->unk_80->y - var_r31->unk_80->y)); -} - -void fn_1_158D8(float arg8, float var_f30, Vec *var_r31) -{ - float sp8; - M427DllBss590Struct *var_r30; - M427DllBss590Struct *var_r29; - s32 var_r26; - - var_r31->x = var_r31->y = var_r31->z = 0.0f; - var_r26 = fn_1_155E0(0.0f, 0.0f, var_f30, &sp8); - var_r30 = &lbl_1_bss_590[var_r26]; - if ((var_r26 < 0) || (var_r26 >= (lbl_1_bss_580 - 1))) { - return; - } - var_r29 = &lbl_1_bss_590[var_r26 + 1]; - if (var_r30->unk_80->y > var_r29->unk_80->y) { - var_r31->x = var_r29->unk_80->x - var_r30->unk_80->x; - var_r31->z = var_r29->unk_80->z - var_r30->unk_80->z; - VECNormalize(var_r31, var_r31); - } -} - -s32 fn_1_15AF0(s32 arg0, Vec *arg1, Vec *arg2, Vec *arg3, Vec *arg4) -{ - Vec sp3C; - Vec sp30; - Vec sp24; - Vec sp18; - Vec spC; - float sp8; - float var_f31; - float var_f29; - M427DllBss590Struct *var_r30; - - *arg3 = *arg2; - arg4->x = arg4->y = arg4->z = 0.0f; - if (arg0 < 0) { - arg0 = fn_1_155E0(0.0f, 0.0f, arg2->z, &sp8); - } - if ((arg0 < 0) || (arg0 >= (lbl_1_bss_580 - 1))) { - return 0; - } - var_r30 = &lbl_1_bss_590[arg0]; - sp3C.x = arg2->x - arg1->x; - sp3C.y = arg2->y - arg1->y; - sp3C.z = arg2->z - arg1->z; - VECNormalize(&sp3C, &sp3C); - spC.x = var_r30->unk_44.x + (sp8 * var_r30->unk_50); - spC.y = var_r30->unk_44.y + (sp8 * var_r30->unk_54); - spC.z = var_r30->unk_44.z + (sp8 * var_r30->unk_58); - var_f29 = fabs(arg2->x - spC.x); - if (arg2->x < spC.x) { - var_f31 = var_r30->unk_5C + (sp8 * (var_r30->unk_64 - var_r30->unk_5C)); - if (var_f29 > var_f31) { - sp30 = *arg2; - fn_1_17048(var_r30->unk_14, NULL, &sp30, &sp24); - arg3->x = sp24.x; - arg3->y = sp24.y; - arg3->z = sp24.z; - arg4->x = arg3->x - arg2->x; - arg4->y = arg3->y - arg2->y; - arg4->z = arg3->z - arg2->z; - return 1; - } - goto block_18; - } - var_f31 = var_r30->unk_60 + (sp8 * (var_r30->unk_68 - var_r30->unk_60)); - if (var_f29 > var_f31) { - sp30 = *arg2; - fn_1_17048(var_r30->unk_2C, NULL, &sp30, &sp18); - arg3->x = sp18.x; - arg3->y = sp18.y; - arg3->z = sp18.z; - arg4->x = arg3->x - arg2->x; - arg4->y = arg3->y - arg2->y; - arg4->z = arg3->z - arg2->z; - return 1; - } -block_18: - return 0; -} - -s32 fn_1_15F10(Vec arg0, Vec arg1, s32 arg2, s32 arg3, s32 arg4) -{ - M427DllBss57CStruct *var_r31; - s32 var_r30; - - for (var_r31 = lbl_1_bss_57C, var_r30 = 0; var_r30 < 0x40; var_r30++, var_r31++) { - if ((var_r31->unk_04 < 0) || (var_r31->unk_08 < 0)) { - break; - } - } - if (var_r30 >= 0x40) { - return -1; - } - var_r31->unk_04 = arg2; - var_r31->unk_08 = 0; - var_r31->unk_0C = 0; - var_r31->unk_10 = arg4; - var_r31->unk_18 = arg3; - var_r31->unk_14 = 0; - var_r31->unk_1C = arg0; - var_r31->unk_28 = arg1; - return var_r30; -} - -s32 fn_1_15FD0(Vec arg0, float arg8, s32 arg1, s32 arg2, s32 arg3) -{ - M427DllBss57CStruct *var_r31; - s32 var_r30; - - for (var_r31 = lbl_1_bss_57C, var_r30 = 0; var_r30 < 0x40; var_r30++, var_r31++) { - if ((var_r31->unk_04 < 0) || (var_r31->unk_08 < 0)) { - break; - } - } - if (var_r30 >= 0x40) { - return -1; - } - var_r31->unk_04 = arg1; - var_r31->unk_08 = 1; - var_r31->unk_0C = 0; - var_r31->unk_10 = arg3; - var_r31->unk_18 = arg2; - var_r31->unk_14 = 0; - var_r31->unk_1C = arg0; - var_r31->unk_34 = arg8; - return var_r30; -} - -void fn_1_1607C(s32 arg0) -{ - M427DllBss57CStruct *var_r31; - - if ((arg0 < 0) || (arg0 >= 0x40)) { - return; - } - var_r31 = &lbl_1_bss_57C[arg0]; - var_r31->unk_04 = -1; - var_r31->unk_08 = -1; - var_r31->unk_14 = var_r31->unk_18 = 0; -} - -s32 fn_1_160D4(s32 arg0, Vec *arg1, float arg8) -{ - float var_f31; - float var_f30; - float var_f29; - M427DllBss57CStruct *var_r31; - s32 var_r30; - - for (var_r31 = lbl_1_bss_57C, var_r30 = 0; var_r30 < 0x40; var_r30++, var_r31++) { - if ((var_r31->unk_04 >= 0) && (var_r31->unk_08 >= 0) && (var_r31->unk_10 == arg0) && ((var_r31->unk_04 == 1) || (var_r31->unk_04 == 2))) { - switch (var_r31->unk_08) { - case 0: - var_f31 = arg1->x - var_r31->unk_1C.x; - var_f30 = arg1->z - var_r31->unk_1C.z; - if ((arg1->x >= (var_r31->unk_1C.x - arg8)) && (arg1->x <= (var_r31->unk_28.x + arg8)) && (arg1->z >= (var_r31->unk_1C.z - arg8)) - && (arg1->z <= (var_r31->unk_28.z + arg8))) { - return 1; - } - break; - case 1: - var_f31 = arg1->x - var_r31->unk_1C.x; - var_f30 = arg1->z - var_r31->unk_1C.z; - var_f29 = var_r31->unk_34 + arg8; - if (((var_f31 * var_f31) + (var_f30 * var_f30)) < (var_f29 * var_f29)) { - return 1; - } - break; - } - } - } - return 0; -} - -s32 fn_1_16260(s32 arg0, Vec *arg2, Vec *arg3, Vec *arg4, float arg8) -{ - float var_f31; - float var_f30; - float var_f28; - M427DllBss57CStruct *var_r31; - s32 var_r30; - - *arg4 = *arg3; - for (var_r31 = lbl_1_bss_57C, var_r30 = 0; var_r30 < 0x40; var_r30++, var_r31++) { - if ((var_r31->unk_04 >= 0) && (var_r31->unk_08 >= 0) && (var_r31->unk_10 == arg0) && ((var_r31->unk_04 == 0) || (var_r31->unk_04 == 2))) { - switch (var_r31->unk_08) { - case 0: - var_f31 = arg3->x - var_r31->unk_1C.x; - var_f30 = arg3->z - var_r31->unk_1C.z; - if ((arg3->x >= (var_r31->unk_1C.x - arg8)) && (arg3->x <= (var_r31->unk_28.x + arg8)) && (arg3->z >= (var_r31->unk_1C.z - arg8)) - && (arg3->z <= (var_r31->unk_28.z + arg8))) { - return 1; - } - break; - case 1: - var_f31 = arg3->x - var_r31->unk_1C.x; - var_f30 = arg3->z - var_r31->unk_1C.z; - var_f28 = var_r31->unk_34 + arg8; - if (((var_f31 * var_f31) + (var_f30 * var_f30)) < (var_f28 * var_f28)) { - var_f28 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (var_f28 == 0.0f) { - var_f31 = 0.0f; - var_f30 = 1.0f; - } - else { - var_f31 /= var_f28; - var_f30 /= var_f28; - } - var_f28 = var_r31->unk_34 + arg8; - arg4->x = var_r31->unk_1C.x + (var_f31 * var_f28); - arg4->z = var_r31->unk_1C.z + (var_f30 * var_f28); - arg4->y = arg3->y; - return 1; - } - break; - } - } - } - return 0; -} - -float fn_1_16594(float arg8, float arg9) -{ - float var_f31; - - if (arg8 >= 360.0f) { - arg8 -= 360.0f; - } - else if (arg8 < 0.0f) { - arg8 += 360.0f; - } - if (arg9 >= 360.0f) { - arg9 -= 360.0f; - } - else if (arg9 < 0.0f) { - arg9 += 360.0f; - } - var_f31 = arg8 - arg9; - if (var_f31 <= -180.0f) { - var_f31 += 360.0f; - } - else if (var_f31 >= 180.0f) { - var_f31 -= 360.0f; - } - return var_f31; -} - -float fn_1_166AC(float arg8, float arg9, float argA) -{ - float var_f31; - float var_f30; - float var_f26; - - if (arg8 >= 360.0) { - arg8 -= 360.0; - } - else if (arg8 < 0.0) { - arg8 += 360.0; - } - if (arg9 >= 360.0) { - arg9 -= 360.0; - } - else if (arg9 < 0.0) { - arg9 += 360.0; - } - var_f30 = 360.0 + (arg8 - arg9); - if (fabs(var_f30) >= 360.0) { - var_f30 = fmod(var_f30, 360.0); - } - if (var_f30 < 180.0) { - if (var_f30 <= argA) { - var_f31 = var_f30; - } - else { - var_f31 = argA; - } - } - else if ((360.0 - var_f30) <= argA) { - var_f31 = -(360.0 - var_f30); - } - else { - var_f31 = -argA; - } - var_f31 += arg9; - if (var_f31 >= 360.0) { - var_f31 -= 360.0; - } - else if (var_f31 < 0.0) { - var_f31 += 360.0; - } - return var_f31; -} - -float fn_1_168FC(float arg8, float arg9, float argA) -{ - float var_f24; - float var_f23; - - var_f23 = fn_1_16594(argA, arg9); - var_f24 = fabs(var_f23 * arg8); - return fn_1_166AC(argA, arg9, var_f24); -} - -void fn_1_16CF4(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3) -{ - Vec sp14; - Vec sp8; - - sp14.x = arg1->x - arg0->x; - sp14.y = arg1->y - arg0->y; - sp14.z = arg1->z - arg0->z; - sp8.x = arg2->x - arg0->x; - sp8.y = arg2->y - arg0->y; - sp8.z = arg2->z - arg0->z; - arg3->x = (sp14.y * sp8.z) - (sp14.z * sp8.y); - arg3->y = (sp14.z * sp8.x) - (sp14.x * sp8.z); - arg3->z = (sp14.x * sp8.y) - (sp14.y * sp8.x); - VECNormalize(arg3, arg3); - arg3[1].x = (arg3->z * arg0->z) + ((arg3->x * arg0->x) + (arg3->y * arg0->y)); -} - -void fn_1_16E3C(Vec *arg0, Vec *arg1, Vec *arg2, s32 arg3) -{ - Vec spC; - - spC.x = arg1->x - arg0->x; - spC.y = arg1->y - arg0->y; - spC.z = arg1->z - arg0->z; - if (arg3 != 0) { - VECNormalize(&spC, &spC); - } - arg2->x = arg0->x; - arg2->y = arg0->y; - arg2->z = arg0->z; - arg2[1].x = spC.x; - arg2[1].y = spC.y; - arg2[1].z = spC.z; -} - -void fn_1_16EF8(Vec *arg0, float *arg1, Vec *arg2, Vec *arg3) -{ - float var_f31; - float var_f30; - float var_f29; - - var_f30 = (arg0[1].z * arg0[1].z) + ((arg0[1].x * arg0[1].x) + (arg0[1].y * arg0[1].y)); - var_f29 = (-arg0[0].z * arg0[1].z) + (arg2->z * arg0[1].z) - + ((-arg0[0].x * arg0[1].x) + (arg2->x * arg0[1].x) + ((-arg0[0].y * arg0[1].y) + (arg2->y * arg0[1].y))); - if (var_f30 != 0.0f) { - var_f31 = var_f29 / var_f30; - } - else { - var_f31 = 0.0f; - } - if (arg3 != NULL) { - arg3->x = arg0[0].x + (var_f31 * arg0[1].x); - arg3->y = arg0[0].y + (var_f31 * arg0[1].y); - arg3->z = arg0[0].z + (var_f31 * arg0[1].z); - } - if (arg1 != NULL) { - *arg1 = var_f31; - } -} - -typedef struct Vec3d { - double x; - double y; - double z; -} Vec3d; - -void fn_1_17048(Vec *arg0, float *arg1, Vec *arg2, Vec *arg3) -{ - Vec3d sp38; - Vec3d sp20; - Vec3d sp8; - double var_f31; - double var_f30; - double var_f29; - - sp20.x = 0.0; - sp20.y = 0.0; - sp20.z = 0.0; - sp38.x = arg0[1].x; - sp38.y = arg0[1].y; - sp38.z = arg0[1].z; - sp8.x = arg2->x - arg0->x; - sp8.y = arg2->y - arg0->y; - sp8.z = arg2->z - arg0->z; - - var_f30 = (sp38.z * arg0[1].z) + ((sp38.x * arg0[1].x) + (sp38.y * arg0[1].y)); - var_f29 = (-sp20.z * sp38.z) + (sp8.z * sp38.z) + ((-sp20.x * sp38.x) + (sp8.x * sp38.x) + ((-sp20.y * sp38.y) + (sp8.y * sp38.y))); - if (0.0 != var_f30) { - var_f31 = var_f29 / var_f30; - } - else { - var_f31 = 0.0; - } - if (arg3 != NULL) { - arg3->x = arg0->x + (float)(sp20.x + (var_f31 * sp38.x)); - arg3->y = arg0->y + (float)(sp20.y + (var_f31 * sp38.y)); - arg3->z = arg0->z + (float)(sp20.z + (var_f31 * sp38.z)); - } - if (arg1 != NULL) { - *arg1 = var_f31; - } -} - -void fn_1_17238(void) { } - -void fn_1_1723C(Mtx arg0, Vec *arg1) -{ - Vec sp8; - - sp8.x = (arg0[0][2] * arg1->z) + ((arg0[0][0] * arg1->x) + (arg0[0][1] * arg1->y)); - sp8.y = (arg0[1][2] * arg1->z) + ((arg0[1][0] * arg1->x) + (arg0[1][1] * arg1->y)); - sp8.z = (arg0[2][2] * arg1->z) + ((arg0[2][0] * arg1->x) + (arg0[2][1] * arg1->y)); - *arg1 = sp8; -} - -void fn_1_172F0(s32 arg0, float arg8) -{ - HsfMaterial *var_r31; - s32 var_r30; - HsfData *var_r29; - s32 var_r28; - ModelData *var_r27; - s32 var_r26; - - var_r27 = &Hu3DData[arg0]; - var_r29 = var_r27->hsfData; - var_r31 = var_r29->material; - var_r26 = var_r29->materialCnt; - for (var_r28 = 0; var_r28 < var_r26; var_r28++, var_r31++) { - var_r31->vtxMode = 1; - var_r30 = var_r31->litColor[0] * arg8; - if (var_r30 > 0xFF) { - var_r30 = 0xFF; - } - var_r31->litColor[0] = var_r30; - var_r30 = var_r31->litColor[1] * arg8; - if (var_r30 > 0xFF) { - var_r30 = 0xFF; - } - var_r31->litColor[1] = var_r30; - var_r30 = var_r31->litColor[2] * arg8; - if (var_r30 > 0xFF) { - var_r30 = 0xFF; - } - var_r31->litColor[2] = var_r30; - } -} - -s32 fn_1_17430(s32 arg0, s32 arg1, s32 arg2) -{ - s32 var_r31; - ModelData *var_r30; - ModelData *var_r29; - - var_r29 = &Hu3DData[arg0]; - var_r30 = &Hu3DData[arg2]; - for (var_r31 = 0; var_r31 < 8; var_r31++) { - if (var_r30->unk_38[var_r31] == -1) { - break; - } - } - if (var_r31 == 8) { - return -1; - } - var_r30->unk_38[var_r31] = var_r29->unk_38[arg1]; - var_r30->attr |= 0x1000; - return var_r31; -} diff --git a/src/REL/m428Dll/main.c b/src/REL/m428Dll/main.c deleted file mode 100644 index 1ee62c82..00000000 --- a/src/REL/m428Dll/main.c +++ /dev/null @@ -1,1094 +0,0 @@ -#include "dolphin/gx/GXEnum.h" -#include "dolphin/gx/GXVert.h" -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/init.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" -#include "string.h" - -#include "REL/m428Dll.h" - -#ifndef __MWERKS__ -#include "game/ClusterExec.h" -#include "game/EnvelopeExec.h" -#include "game/ShapeExec.h" -#include "game/frand.h" -#endif - -typedef struct M428DllData0Struct { - /* 0x00 */ Vec unk_00; - /* 0x0C */ Vec unk_0C; - /* 0x18 */ float unk_18; -} M428DllData0Struct; /* size = 0x1C */ - -typedef struct M428DllUnkStruct2 { - s16 unk_00[0x10]; - float unk_20[0x10]; - s32 unk_60; -} M428DllUnkStruct2; /* size = 0x64 */ - -typedef struct M428DllUnkStruct { - M428DllUnkStruct2 unk_00[0x10]; - ShadowData unk_640[0x10]; - ShadowData unk_FC0; -} M428DllUnkStruct; /* size = 0x1058 */ - -void fn_1_478(omObjData *); -void fn_1_25CC(omObjData *object); -void fn_1_261C(omObjData *arg0); -void fn_1_29E8(omObjData *object); -void fn_1_2ACC(s32 arg0); -void fn_1_2B8(omObjData *object); -void fn_1_2C90(ModelData *, float[3][4]); -void fn_1_2E2C(s32 arg0); -void fn_1_40A4(void); - -M428DllData0Struct lbl_1_data_0[3] = { - { 65.0f, 0.0f, 0.0f, 0.0f, 400.0f, 0.0f, 2000.0f }, - { 0.0f, 0.0f, 0.0f, 0.0f, 400.0f, 0.0f, 2000.0f }, - { 0.0f, 0.0f, 0.0f, 0.0f, 400.0f, 0.0f, 1575.0f }, -}; - -Vec lbl_1_data_54 = { -1000.0f, 2000.0f, 1000.0f }; -Vec lbl_1_data_60 = { 0.0f, 1.0f, 0.0f }; -Vec lbl_1_data_6C = { 0.0f, 0.0f, -450.0f }; - -Process *lbl_1_bss_88; -s32 lbl_1_bss_84; -s32 lbl_1_bss_80; -u32 lbl_1_bss_7C; -s32 lbl_1_bss_78; -s32 lbl_1_bss_74; -s32 lbl_1_bss_70; -s32 lbl_1_bss_6C; -s32 lbl_1_bss_68; -s32 lbl_1_bss_64; -s32 lbl_1_bss_60; -float lbl_1_bss_58[2]; -s16 lbl_1_bss_50[4]; -s16 lbl_1_bss_48[4]; -s32 lbl_1_bss_38[4]; -float lbl_1_bss_28[4]; -s32 lbl_1_bss_24; -s32 lbl_1_bss_20; -omObjData *lbl_1_bss_1C; -s32 lbl_1_bss_18; -omObjData *lbl_1_bss_14; -s32 lbl_1_bss_10; -s32 lbl_1_bss_C; -char lbl_1_bss_4[8]; -s32 lbl_1_bss_0; - -void ObjectSetup(void) -{ - s32 var_r31; - Process *var_r30; - s32 var_r29; - - OSReport("******* M428ObjectSetup *********\n"); - var_r30 = omInitObjMan(0x32, 0x2000); - lbl_1_bss_88 = var_r30; - omGameSysInit(var_r30); - Hu3DLightAllKill(); - Hu3DLighInit(); - lbl_1_bss_1C = omAddObjEx(var_r30, 0xFF, 2, 0, -1, fn_1_2B8); - lbl_1_bss_84 = lbl_1_bss_80 = -1; - HuAudSndGrpSet(0x35); - lbl_1_bss_7C = 0; - lbl_1_bss_78 = 0; - lbl_1_bss_68 = 0; - lbl_1_bss_64 = -1; - lbl_1_bss_60 = 0; - lbl_1_bss_24 = -1; - lbl_1_bss_20 = 0; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_50[var_r31] = -1; - lbl_1_bss_48[var_r31] = -1; - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_38[var_r31] = -1; - } - var_r29 = GWGameStat.rumble; - lbl_1_bss_18 = var_r29; - Hu3DShadowCreate(45.0f, 1000.0f, 250000.0f); - Hu3DShadowTPLvlSet(0.5f); - Hu3DShadowPosSet(&lbl_1_data_54, &lbl_1_data_60, &lbl_1_data_6C); - fn_1_2ACC(3); -} - -Vec lbl_1_data_9C = { 0.0f, 0.0f, 0.0f }; -Vec lbl_1_data_A8 = { -1.0f, -2.0f, -1.0f }; -GXColor lbl_1_data_B4 = { 0xFF, 0xFF, 0xFF, 0xFF }; - -void fn_1_2B8(omObjData *var_r27) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r28 = Hu3DGLightCreateV(&lbl_1_data_9C, &lbl_1_data_A8, &lbl_1_data_B4); - Hu3DGLightStaticSet(var_r28, 1); - Hu3DGLightInfinitytSet(var_r28); - for (var_r31 = 0, var_r30 = 0, var_r29 = 0; var_r31 < 4; var_r31++) { - if (GWPlayerCfg[var_r31].group == 0) { - lbl_1_bss_50[var_r30] = var_r31; - lbl_1_bss_48[var_r30] = GWPlayerCfg[var_r31].character; - var_r30++; - } - else { - lbl_1_bss_50[var_r29 + 2] = var_r31; - lbl_1_bss_48[var_r29 + 2] = GWPlayerCfg[var_r31].character; - var_r29++; - } - } - if ((var_r30 != 2) || (var_r29 != 2)) { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_50[var_r31] = var_r31; - lbl_1_bss_48[var_r31] = GWPlayerCfg[var_r31].character; - } - } - fn_1_43C8(lbl_1_bss_88); - fn_1_9F5C(lbl_1_bss_88); - var_r27->func = fn_1_478; -} - -void fn_1_478(omObjData *object) -{ - Vec sp5C; - Vec sp50; - Vec sp44; - Vec sp38; - Vec sp2C; - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - - switch (lbl_1_bss_7C) { - case 0: - lbl_1_bss_78++; - Hu3DCamera->fov = -1.0f; - Hu3DCamera[1].fov = -1.0f; - if (lbl_1_bss_78 > 3) { - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - lbl_1_bss_20 = 0; - fn_1_11798(1); - lbl_1_bss_38[0] = HuAudFXPlay(0x65F); - if ((lbl_1_bss_38[1] = HuAudFXPlay(0x660)) != -1) { - lbl_1_bss_28[1] = 0.0f; - HuAudFXVolSet(lbl_1_bss_38[1], (s32)(127.0f * lbl_1_bss_28[1])); - HuAudFXPitchSet(lbl_1_bss_38[1], (s32)(8191.0f * lbl_1_bss_28[1])); - } - if ((lbl_1_bss_38[2] = HuAudFXPlay(0x661)) != -1) { - lbl_1_bss_28[2] = 0.0f; - HuAudFXVolSet(lbl_1_bss_38[2], (s32)(127.0f * lbl_1_bss_28[2])); - HuAudFXPitchSet(lbl_1_bss_38[2], (s32)(8191.0f * lbl_1_bss_28[2])); - } - Hu3DCamera->fov = 45.0f; - Hu3DCamera[1].fov = 45.0f; - lbl_1_bss_7C = 1; - lbl_1_bss_78 = 0; - } - break; - case 1: - if (WipeStatGet() == 0) { - lbl_1_bss_7C = 2; - lbl_1_bss_78 = 0; - } - else { - sp2C.x = lbl_1_data_0->unk_00.x; - sp2C.y = lbl_1_data_0->unk_00.y; - sp2C.z = lbl_1_data_0->unk_00.z; - sp38.x = lbl_1_data_0->unk_0C.x; - sp38.y = lbl_1_data_0->unk_0C.y; - sp38.z = lbl_1_data_0->unk_0C.z; - fn_1_9A30(0, 1.0f, &sp38, &sp2C, lbl_1_data_0->unk_18); - fn_1_9A30(1, 1.0f, &sp38, &sp2C, lbl_1_data_0->unk_18); - } - break; - case 2: - if (++lbl_1_bss_78 == 0x78) { - sp2C.x = lbl_1_data_0[2].unk_00.x; - sp2C.y = lbl_1_data_0[2].unk_00.y; - sp2C.z = lbl_1_data_0[2].unk_00.z; - sp38.x = lbl_1_data_0[2].unk_0C.x; - sp38.y = lbl_1_data_0[2].unk_0C.y; - sp38.z = lbl_1_data_0[2].unk_0C.z; - fn_1_9A30(0, 300.0f, &sp38, &sp2C, lbl_1_data_0[2].unk_18); - fn_1_9A30(1, 300.0f, &sp38, &sp2C, lbl_1_data_0[2].unk_18); - } - if ((fn_1_F354() != 0) && (lbl_1_bss_78 >= 0x78)) { - sp2C.x = lbl_1_data_0[1].unk_00.x; - sp2C.y = lbl_1_data_0[1].unk_00.y; - sp2C.z = lbl_1_data_0[1].unk_00.z; - sp38.x = lbl_1_data_0[1].unk_0C.x; - sp38.y = lbl_1_data_0[1].unk_0C.y; - sp38.z = lbl_1_data_0[1].unk_0C.z; - fn_1_9A30(0, 42.0f, &sp38, &sp2C, lbl_1_data_0[1].unk_18); - fn_1_9A30(1, 42.0f, &sp38, &sp2C, lbl_1_data_0[1].unk_18); - lbl_1_bss_84 = MGSeqCreate(3, 0); - lbl_1_bss_7C = 3; - lbl_1_bss_78 = 0; - lbl_1_bss_68 = 0; - } - break; - case 3: - if (lbl_1_bss_84 != -1) { - var_r27 = MGSeqStatGet(lbl_1_bss_84); - if (((var_r27 & 0x10) != 0) && (lbl_1_bss_24 == -1)) { - lbl_1_bss_24 = HuAudSeqPlay(0x4B); - } - } - else { - var_r27 = 0; - } - if ((lbl_1_bss_84 == -1) || (var_r27 == 0)) { - lbl_1_bss_84 = -1; - lbl_1_bss_7C = 4; - lbl_1_bss_78 = 0; - lbl_1_bss_74 = 180.0f + 120.0f * (0.007874016f * (frand() & 0x7F)); - lbl_1_bss_70 = 90.0f + 60.0f * (0.007874016f * (frand() & 0x7F)); - lbl_1_bss_6C = 45.0f + (120.0f * (0.007874016f * (frand() & 0x7F))); - lbl_1_bss_58[0] = 15.0f; - lbl_1_bss_58[1] = 15.0f; - lbl_1_bss_68 = 0x4650; - } - break; - case 4: - if (++lbl_1_bss_78 >= lbl_1_bss_74) { - var_r29 = lbl_1_bss_78 - lbl_1_bss_74; - for (var_r31 = 0; var_r31 < 2; var_r31++) { - if (lbl_1_bss_58[var_r31] < 60.0f) { - var_r30 = 0; - } - else { - var_r30 = 1; - } - if (var_r29 <= (15.0f + (21.0f + lbl_1_bss_6C))) { - fn_1_9DE8(var_r31, 15.0f, 1); - fn_1_11754(var_r31, 0.05f); - if (var_r29 == 0) { - fn_1_F46C(var_r31, 0); - } - else if (var_r29 < lbl_1_bss_6C) { - fn_1_F454(var_r31, 1); - if ((var_r30 == 1) && (fn_1_F4E8(var_r31) == 0)) { - lbl_1_bss_58[var_r31] = 15.0f; - } - } - else if (var_r29 == lbl_1_bss_6C) { - if (var_r30 == 1) { - fn_1_F46C(var_r31, var_r30); - } - } - else if (var_r29 == (21.0f + lbl_1_bss_6C)) { - if (var_r30 == 0) { - fn_1_F454(var_r31, 2); - } - else { - fn_1_F454(var_r31, 3); - if (lbl_1_bss_18 == 0) { - fn_1_116C4(var_r31, 1); - } - if (var_r30 != 0) { - fn_1_F4B4(var_r31, lbl_1_bss_70, 3.125f); - } - } - } - } - else { - fn_1_9DE8(var_r31, lbl_1_bss_58[var_r31], 1); - if ((var_r29 < ((15.0f + lbl_1_bss_6C + lbl_1_bss_70) - 6.0f)) && (var_r30 == 1)) { - var_f31 = 0.10000000149011612 * sind((20.0f * var_r29)); - fn_1_11754(var_r31, 0.3f + var_f31); - } - if (var_r30 == 0) { - fn_1_F454(var_r31, 4); - } - else { - fn_1_F454(var_r31, 5); - } - } - } - if (var_r29 == (15.0f + lbl_1_bss_6C + lbl_1_bss_70)) { - fn_1_F454(0, 6); - fn_1_F454(1, 6); - } - else if (var_r29 > (15.0f + lbl_1_bss_6C + lbl_1_bss_70)) { - fn_1_9EA8(0); - fn_1_9EA8(1); - fn_1_11754(0, 0.0f); - fn_1_11754(1, 0.0f); - fn_1_F46C(0, -1); - fn_1_F46C(1, -1); - fn_1_F454(0, 0); - fn_1_F454(1, 0); - if ((frand() & 3) == 0) { - lbl_1_bss_58[0] = lbl_1_bss_58[1] = 15.0f; - } - else { - lbl_1_bss_58[0] = lbl_1_bss_58[1] = 60.0f; - } - lbl_1_bss_78 = 0; - lbl_1_bss_74 = 180.0f + 120.0f * (0.007874016f * (frand() & 0x7F)); - lbl_1_bss_70 = 90.0f + 60.0f * (0.007874016f * (frand() & 0x7F)); - lbl_1_bss_6C = 45.0f + (120.0f * (0.007874016f * (frand() & 0x7F))); - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - if (lbl_1_bss_58[var_r31] < 60.0f) { - var_r30 = 0; - } - else { - var_r30 = 1; - } - if ((var_r29 <= (15.0f + (21.0f + lbl_1_bss_6C))) || (var_r30 < 1)) { - if (lbl_1_bss_28[var_r31 + 1] < 0.5f) { - lbl_1_bss_28[var_r31 + 1] += 0.1f; - } - if (lbl_1_bss_28[var_r31 + 1] > 0.5f) { - lbl_1_bss_28[var_r31 + 1] -= 0.1f; - } - } - else { - if (lbl_1_bss_28[var_r31 + 1] < 1.0f) { - lbl_1_bss_28[var_r31 + 1] += 0.1f; - } - if (lbl_1_bss_28[var_r31 + 1] > 1.0f) { - lbl_1_bss_28[var_r31 + 1] = 1.0f; - } - } - } - } - else { - if (lbl_1_bss_28[1] > 0.0f) { - lbl_1_bss_28[1] -= 0.01f; - } - if (lbl_1_bss_28[1] < 0.0f) { - lbl_1_bss_28[1] = 0.0f; - } - if (lbl_1_bss_28[2] > 0.0f) { - lbl_1_bss_28[2] -= 0.01f; - } - if (lbl_1_bss_28[2] < 0.0f) { - lbl_1_bss_28[2] = 0.0f; - } - } - if (lbl_1_bss_38[1] != -1) { - HuAudFXVolSet(lbl_1_bss_38[1], (s32)(127.0f * lbl_1_bss_28[1])); - HuAudFXPitchSet(lbl_1_bss_38[1], (s32)(8191.0f * lbl_1_bss_28[1])); - } - if (lbl_1_bss_38[2] != -1) { - HuAudFXVolSet(lbl_1_bss_38[2], (s32)(127.0f * lbl_1_bss_28[2])); - HuAudFXPitchSet(lbl_1_bss_38[2], (s32)(8191.0f * lbl_1_bss_28[2])); - } - if ((lbl_1_bss_68 <= 1800.0f) && (lbl_1_bss_80 == -1)) { - lbl_1_bss_80 = MGSeqCreate(1, lbl_1_bss_68 / 60, -1, -1); - } - if (lbl_1_bss_80 != -1) { - var_r28 = (lbl_1_bss_68 + 0x3B) / 60; - if (var_r28 < 0) { - var_r28 = 0; - } - MGSeqParamSet(lbl_1_bss_80, 1, var_r28); - } - var_r26 = fn_1_F3BC(0); - var_r25 = fn_1_F3BC(1); - if ((--lbl_1_bss_68 < -1) || (var_r26 != 0) || (var_r25 != 0)) { - if (lbl_1_bss_80 != -1) { - MGSeqParamSet(lbl_1_bss_80, 2, -1); - } - lbl_1_bss_80 = -1; - lbl_1_bss_84 = MGSeqCreate(3, 1); - fn_1_9EA8(0); - fn_1_9EA8(1); - fn_1_11754(0, 0.0f); - fn_1_11754(1, 0.0f); - fn_1_F46C(0, -1); - fn_1_F46C(1, -1); - fn_1_F454(0, 0); - fn_1_F454(1, 0); - if (lbl_1_bss_38[0] != -1) { - HuAudFXFadeOut(lbl_1_bss_38[0], 0x64); - } - if (lbl_1_bss_38[1] != -1) { - HuAudFXFadeOut(lbl_1_bss_38[1], 0x64); - } - if (lbl_1_bss_38[2] != -1) { - HuAudFXFadeOut(lbl_1_bss_38[2], 0x64); - } - if (lbl_1_bss_24 != -1) { - HuAudSeqFadeOut(lbl_1_bss_24, 0x64); - } - if ((var_r26 != 0) && (var_r25 != 0)) { - if ((frand() & 1) != 0) { - lbl_1_bss_64 = 0; - } - else { - lbl_1_bss_64 = 1; - } - } - else if (var_r26 != 0) { - lbl_1_bss_64 = 0; - } - else if (var_r25 != 0) { - lbl_1_bss_64 = 1; - } - lbl_1_bss_7C = 6; - lbl_1_bss_78 = 0; - } - break; - case 6: - if ((lbl_1_bss_64 == -1) || (lbl_1_bss_84 == -1) || (MGSeqStatGet(lbl_1_bss_84) == 0)) { - if (lbl_1_bss_64 != -1) { - lbl_1_bss_84 = -1; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x1E); - WipeColorSet(0xFF, 0xFF, 0xFF); - lbl_1_bss_20 = 1; - } - lbl_1_bss_7C = 5; - lbl_1_bss_78 = 0; - } - break; - case 5: - if (lbl_1_bss_64 != -1) { - if (WipeStatGet() == 0) { - lbl_1_bss_7C = 7; - lbl_1_bss_78 = 0; - } - } - else if ((lbl_1_bss_84 == -1) || (MGSeqStatGet(lbl_1_bss_84) == 0)) { - lbl_1_bss_84 = -1; - lbl_1_bss_7C = 8; - lbl_1_bss_78 = 0; - } - break; - case 7: - lbl_1_bss_78++; - if (lbl_1_bss_78 == 1) { - if (lbl_1_bss_64 == 0) { - fn_1_9ADC(0); - fn_1_F414(0); - lbl_1_bss_60 = 1; - fn_1_11798(0); - } - else if (lbl_1_bss_64 == 1) { - fn_1_9ADC(1); - fn_1_F414(1); - lbl_1_bss_60 = 1; - fn_1_11798(0); - } - } - else if (lbl_1_bss_78 >= 0xA) { - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 0x3C); - WipeColorSet(0xFF, 0xFF, 0xFF); - lbl_1_bss_20 = 0; - lbl_1_bss_38[3] = HuAudFXPlay(0x662); - lbl_1_bss_7C = 8; - lbl_1_bss_78 = 0; - } - break; - case 8: - if (lbl_1_bss_64 == 0) { - if (++lbl_1_bss_78 >= 120.0f) { - lbl_1_bss_7C = 9; - lbl_1_bss_78 = 0; - } - } - else if (lbl_1_bss_64 == 1) { - if (++lbl_1_bss_78 >= 120.0f) { - lbl_1_bss_7C = 9; - lbl_1_bss_78 = 0; - } - } - else { - if (++lbl_1_bss_78 >= 60.0f) { - lbl_1_bss_7C = 9; - lbl_1_bss_78 = 0; - } - } - break; - case 9: - if (lbl_1_bss_64 == 0) { - lbl_1_bss_84 = MGSeqCreate(5, 3, lbl_1_bss_48[0], lbl_1_bss_48[1], -1, -1); - GWPlayerCoinWinAdd(lbl_1_bss_50[0], 10); - GWPlayerCoinWinAdd(lbl_1_bss_50[1], 10); - HuAudSStreamPlay(1); - lbl_1_bss_7C = 0xA; - lbl_1_bss_68 = 0; - } - else if (lbl_1_bss_64 == 1) { - lbl_1_bss_84 = MGSeqCreate(5, 3, lbl_1_bss_48[2], lbl_1_bss_48[3], -1, -1); - GWPlayerCoinWinAdd(lbl_1_bss_50[2], 10); - GWPlayerCoinWinAdd(lbl_1_bss_50[3], 10); - HuAudSStreamPlay(1); - lbl_1_bss_7C = 0xA; - lbl_1_bss_68 = 0; - } - else { - lbl_1_bss_84 = MGSeqCreate(3, 2); - lbl_1_bss_7C = 0xA; - lbl_1_bss_68 = 0; - HuAudSStreamPlay(4); - } - break; - case 10: - if (++lbl_1_bss_68 >= 210.0f) { - lbl_1_bss_84 = -1; - lbl_1_bss_7C = 0xB; - lbl_1_bss_68 = 0; - } - break; - case 11: - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x3C); - lbl_1_bss_20 = 1; - if (lbl_1_bss_38[3] != -1) { - HuAudFXStop(lbl_1_bss_38[3]); - } - object->func = fn_1_25CC; - break; - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - sp50.x = CenterM[var_r31].x; - sp50.y = CenterM[var_r31].y; - sp50.z = CenterM[var_r31].z; - if (lbl_1_bss_60 == 0) { - sp5C.x = CenterM[var_r31].x - 1200.0f; - sp5C.y = 1200.0f + CenterM[var_r31].y; - sp5C.z = 1200.0f + CenterM[var_r31].z; - } - else { - sp5C.x = CenterM[var_r31].x - 600.0f; - sp5C.y = 1000.0f + CenterM[var_r31].y; - sp5C.z = 600.0f + CenterM[var_r31].z; - } - sp44.x = 0.0f; - sp44.y = 1.0f; - sp44.z = 0.0f; - fn_1_4324(var_r31, &sp5C, &sp44, &sp50); - } - fn_1_261C(object); -} - -void fn_1_25CC(omObjData *object) -{ - if (WipeStatGet() == 0) { - fn_1_4630(); - fn_1_A0B0(); - fn_1_40A4(); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - } -} - -void fn_1_261C(omObjData *object) -{ - s32 var_r30 = 0; - if ((WipeStatGet() != 0) || (object->func == fn_1_25CC)) { - return; - } - if (omSysExitReq != 0) { - var_r30 = 1; - } - if (var_r30 != 0) { - if (lbl_1_bss_20 == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - } - lbl_1_bss_20 = 1; - HuAudSeqAllFadeOut(0x64); - object->func = fn_1_25CC; - } -} - -s32 fn_1_26E0(void) -{ - return lbl_1_bss_7C; -} - -void fn_1_26F0(void) -{ - s32 var_r31; - omObjData *object; - - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 45.0f, 50.0f, 50000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 320.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(1, 0, 0, 0x140, 0x1E0); - Hu3DCameraCreate(2); - Hu3DCameraPerspectiveSet(2, 45.0f, 50.0f, 50000.0f, 1.2f); - Hu3DCameraViewportSet(2, 0.0f, 0.0f, 320.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(2, 0, 0, 0x140, 0x1E0); - object = lbl_1_bss_14 = omAddObjEx(lbl_1_bss_88, 0x7FDA, 0, 0, -1, omOutViewMulti); - object->work[0] = 2; - for (var_r31 = 0; var_r31 < 2; var_r31++) { - CRotM[var_r31].x = lbl_1_data_0->unk_00.x; - CRotM[var_r31].y = lbl_1_data_0->unk_00.y; - CRotM[var_r31].z = lbl_1_data_0->unk_00.z; - CenterM[var_r31].x = lbl_1_data_0->unk_0C.x; - CenterM[var_r31].y = lbl_1_data_0->unk_0C.y; - CenterM[var_r31].z = lbl_1_data_0->unk_0C.z; - CZoomM[var_r31] = lbl_1_data_0->unk_18; - } - lbl_1_bss_C = 0; - lbl_1_bss_10 = -1; - omAddObjEx(lbl_1_bss_88, 0xFE, 0, 0, -1, fn_1_29E8); -} - -void fn_1_29E8(omObjData *object) { } - -void fn_1_29EC(void) { } - -s32 fn_1_29F0(void) -{ - return lbl_1_bss_C; -} - -void fn_1_2A00(s32 arg0, s32 arg1, float arg8) -{ - M428DllData0Struct *var_r31; - M428DllData0Struct *var_r30; - - var_r31 = &lbl_1_data_0[arg0]; - var_r30 = &lbl_1_data_0[arg1]; - Center.x = var_r31->unk_0C.x + (arg8 * (var_r30->unk_0C.x - var_r31->unk_0C.x)); - Center.y = var_r31->unk_0C.y + (arg8 * (var_r30->unk_0C.y - var_r31->unk_0C.y)); - Center.z = var_r31->unk_0C.z + (arg8 * (var_r30->unk_0C.z - var_r31->unk_0C.z)); - CZoom = var_r31->unk_18 + (arg8 * (var_r30->unk_18 - var_r31->unk_18)); -} - -void fn_1_2ACC(s32 arg0) -{ - ShadowData *var_r31; - s32 var_r30; - M428DllUnkStruct2 *var_r29; - ModelData *var_r28; - M428DllUnkStruct *var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - u32 var_r23; - - lbl_1_bss_0 = var_r24 = Hu3DHookFuncCreate(fn_1_2C90); - var_r28 = &Hu3DData[var_r24]; - Hu3DModelLayerSet(var_r24, 0); - var_r27 = var_r28->unk_120 = HuMemDirectMallocNum(HEAP_DATA, sizeof(M428DllUnkStruct), var_r28->unk_48); - memset(var_r27, 0, sizeof(M428DllUnkStruct)); - var_r27->unk_FC0 = Hu3DShadowData; - for (var_r30 = 0; var_r30 < 0x10; var_r30++) { - var_r29 = &var_r27->unk_00[var_r30]; - var_r31 = &var_r27->unk_640[var_r30]; - var_r23 = 1 << var_r30; - - *var_r31 = Hu3DShadowData; - for (var_r26 = 0; var_r26 < 0x10; var_r26++) { - var_r29->unk_00[var_r26] = -1; - var_r29->unk_20[var_r26] = 1.0f; - } - var_r29->unk_60 = 0; - if ((var_r23 & arg0) != 0) { - if (var_r30 == 0) { - var_r31->unk_04 = Hu3DShadowData.unk_04; - } - else { - var_r25 = var_r31->unk_02; - var_r31->unk_04 = HuMemDirectMallocNum(HEAP_DATA, var_r25 * var_r25, var_r28->unk_48); - } - } - else { - var_r31->unk_04 = NULL; - } - } - Hu3DShadowCamBit++; -} - -void fn_1_2C90(ModelData *model, Mtx matrix) -{ - ShadowData *var_r31; - s32 var_r30; - M428DllUnkStruct *var_r29; - M428DllUnkStruct2 *var_r28; - - var_r29 = model->unk_120; - if (Hu3DCameraNo == 0) { - for (var_r30 = 0; var_r30 < 0x10; var_r30++) { - var_r28 = &var_r29->unk_00[var_r30]; - var_r31 = &var_r29->unk_640[var_r30]; - if ((var_r31->unk_04 != NULL) && !(var_r31->unk_08.x <= 0.0f) && (var_r28->unk_60 > 0)) { - Hu3DShadowData = *var_r31; - fn_1_2E2C(var_r30); - *var_r31 = Hu3DShadowData; - } - } - HuSprDispInit(); - HuSprExec(0x7F); - } - var_r28 = &var_r29->unk_00[Hu3DCameraNo]; - var_r31 = &var_r29->unk_640[Hu3DCameraNo]; - if ((var_r31->unk_04 == NULL) || (var_r31->unk_08.x <= 0.0f)) { - return; - } - Hu3DShadowData = *var_r31; -} - -GXColor lbl_1_data_E8 = { 0, 0, 0, 0 }; - -void fn_1_2E2C(s32 var_r26) -{ - Mtx spBC; - Mtx sp8C; - Mtx sp5C; - Mtx44 sp1C; - ShadowData *sp18; - ModelData *var_r31; - s16 var_r30; - M428DllUnkStruct2 *var_r29; - M428DllUnkStruct *var_r28; - s32 var_r27; - s32 var_r25; - u32 var_r24; - - var_r31 = &Hu3DData[lbl_1_bss_0]; - var_r28 = var_r31->unk_120; - var_r29 = &var_r28->unk_00[var_r26]; - sp18 = &var_r28->unk_640[var_r26]; - var_r24 = Hu3DShadowData.unk_00; - if (var_r26 == 0) { - GXSetViewport(0.0f, 0.0f, RenderMode->fbWidth, RenderMode->xfbHeight, 0.0f, 1.0f); - GXSetScissor(0, 0, RenderMode->fbWidth, RenderMode->efbHeight); - C_MTXOrtho(sp1C, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f); - GXSetProjection(sp1C, GX_ORTHOGRAPHIC); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_U8, 0); - GXSetTevColor(GX_TEVREG0, BGColor); - GXSetNumTexGens(0); - GXSetNumTevStages(1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumChans(0); - MTXIdentity(sp8C); - GXLoadPosMtxImm(sp8C, 0); - GXSetZMode(0, GX_ALWAYS, GX_TRUE); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition1x8(0); - GXPosition1x8(0); - GXPosition1x8(0); - GXPosition1x8(1); - GXPosition1x8(0); - GXPosition1x8(0); - GXPosition1x8(1); - GXPosition1x8(1); - GXPosition1x8(0); - GXPosition1x8(0); - GXPosition1x8(1); - GXPosition1x8(0); - } - Hu3DDrawPreInit(); - GXSetCopyClear(lbl_1_data_E8, 0xFFFFFF); - C_MTXPerspective(sp1C, Hu3DShadowData.unk_08.x, 1.2f, Hu3DShadowData.unk_08.y, Hu3DShadowData.unk_08.z); - GXSetProjection(sp1C, GX_PERSPECTIVE); - if (Hu3DShadowData.unk_02 <= 0xF0) { - GXSetScissor(2, 2, (Hu3DShadowData.unk_02 * 2) - 4, (Hu3DShadowData.unk_02 * 2) - 4); - GXSetViewport(0.0f, 0.0f, Hu3DShadowData.unk_02 * 2, Hu3DShadowData.unk_02 * 2, 0.0f, 1.0f); - var_r25 = (Hu3DShadowData.unk_02 / 2) * (Hu3DShadowData.unk_02 / 2); - } - else { - GXSetScissor(1, 1, Hu3DShadowData.unk_02 - 2, Hu3DShadowData.unk_02 - 2); - GXSetViewport(0.0f, 0.0f, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, 0.0f, 1.0f); - var_r25 = Hu3DShadowData.unk_02 * Hu3DShadowData.unk_02; - } - C_MTXLookAt(Hu3DCameraMtx, &Hu3DShadowData.unk_14, &Hu3DShadowData.unk_2C, &Hu3DShadowData.unk_20); - MTXCopy(Hu3DCameraMtx, Hu3DShadowData.unk_38); - shadowModelDrawF = 1; - GXInvalidateTexAll(); - GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, BGColor); - for (var_r30 = 0; var_r30 < 0x10; var_r30++) { - if (var_r29->unk_00[var_r30] != -1) { - var_r31 = &Hu3DData[var_r29->unk_00[var_r30]]; - if (((var_r31->attr & 1) == 0) && ((var_r31->attr & 0x8000) == 0)) { - if ((var_r31->attr & 8) != 0) { - var_r27 = 0; - if (var_r31->unk_08 != -1) { - Hu3DMotionExec(var_r30, var_r31->unk_08, var_r31->unk_64, 0); - } - if (var_r31->unk_0C != -1) { - Hu3DSubMotionExec(var_r30); - } - if (var_r31->unk_0A != -1) { - Hu3DMotionExec(var_r30, var_r31->unk_0A, var_r31->unk_74, 1); - } - if ((var_r31->attr & 0x400) != 0) { - ClusterMotionExec(var_r31); - var_r27 = 1; - } - if (var_r31->unk_0E != -1) { - if (var_r31->unk_08 == -1) { - Hu3DMotionExec(var_r30, var_r31->unk_0E, var_r31->unk_94, 0); - } - else { - Hu3DMotionExec(var_r30, var_r31->unk_0E, var_r31->unk_94, 1); - } - } - if (((var_r31->attr & 0x90) == 0) || ((var_r31->motion_attr & 0x40000002) == 0)) { - var_r27 = 1; - InitVtxParm(var_r31->hsfData); - if (var_r31->unk_0E != -1) { - ShapeProc(var_r31->hsfData); - } - if ((var_r31->attr & 0x400) != 0) { - ClusterProc(var_r31); - } - if (var_r31->hsfData->cenvCnt != 0) { - EnvelopeProc(var_r31->hsfData); - } - PPCSync(); - } - var_r31->attr |= 0x800; - } - Hu3DModelShadowSet(var_r29->unk_00[var_r30]); - Hu3DShadowData.unk_00 = (s8)(var_r29->unk_20[var_r30] * var_r24); - mtxRot(sp5C, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z); - MTXScale(spBC, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z); - MTXConcat(sp5C, spBC, spBC); - mtxTransCat(spBC, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z); - MTXConcat(Hu3DCameraMtx, spBC, sp8C); - MTXConcat(sp8C, var_r31->unk_F0, sp8C); - Hu3DDraw(var_r31, sp8C, &var_r31->scale); - Hu3DModelShadowReset(var_r29->unk_00[var_r30]); - } - } - } - Hu3DDrawPost(); - GXDrawDone(); - shadowModelDrawF = 0; - if (Hu3DShadowData.unk_02 <= 0xF0) { - GXSetTexCopySrc(0, 0, Hu3DShadowData.unk_02 * 2, Hu3DShadowData.unk_02 * 2); - GXSetTexCopyDst(Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, GX_CTF_R8, 1); - } - else { - GXSetTexCopySrc(0, 0, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02); - GXSetTexCopyDst(Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, GX_CTF_R8, 0); - } - GXCopyTex(Hu3DShadowData.unk_04, 1); - GXSetViewport(0.0f, 0.0f, RenderMode->fbWidth, RenderMode->xfbHeight, 0.0f, 1.0f); - GXSetScissor(0, 0, RenderMode->fbWidth, RenderMode->efbHeight); - C_MTXOrtho(sp1C, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f); - GXSetProjection(sp1C, GX_ORTHOGRAPHIC); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_U8, 0); - GXSetTevColor(GX_TEVREG0, BGColor); - GXSetNumTexGens(0); - GXSetNumTevStages(1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumChans(0); - MTXIdentity(sp8C); - GXLoadPosMtxImm(sp8C, 0); - GXSetZMode(0, GX_ALWAYS, 1); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition1x8(0); - GXPosition1x8(0); - GXPosition1x8(0); - GXPosition1x8(1); - GXPosition1x8(0); - GXPosition1x8(0); - GXPosition1x8(1); - GXPosition1x8(1); - GXPosition1x8(0); - GXPosition1x8(0); - GXPosition1x8(1); - GXPosition1x8(0); -} - -void fn_1_3B64(void) -{ - Mtx44 sp64; - Mtx sp34; - GXTexObj sp14; - ShadowData *sp10; - GXColor spC; - M428DllUnkStruct *var_r31; - M428DllUnkStruct2 *var_r30; - ModelData *var_r29; - u8 *var_r28; - - if (lbl_1_bss_0 != -1) { - var_r29 = &Hu3DData[lbl_1_bss_0]; - var_r31 = var_r29->unk_120; - var_r30 = &var_r31->unk_00[Hu3DCameraNo]; - sp10 = &var_r31->unk_640[Hu3DCameraNo]; - if (var_r30->unk_60 > 0) { - GXInitTexObj(&sp14, Hu3DShadowData.unk_04, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, GX_TF_I8, GX_CLAMP, GX_CLAMP, 0); - GXInitTexObjLOD(&sp14, GX_NEAR, GX_NEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); - GXLoadTexObj(&sp14, GX_TEXMAP0); - C_MTXOrtho(sp64, 0.0f, 480.0f, 0.0f, 320.0f, 0.0f, 10.0f); - GXSetProjection(sp64, GX_ORTHOGRAPHIC); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - spC.a = 0x80; - GXSetTevColor(GX_TEVREG0, spC); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3C, GX_FALSE, 0x7D); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_TEXC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumTexGens(1); - GXSetNumTevStages(1); - MTXIdentity(sp34); - GXLoadPosMtxImm(sp34, 0); - GXSetZMode(0, GX_LEQUAL, GX_FALSE); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(0.0f, 0.0f, 0.0f); - GXTexCoord2f32(0.0f, 0.0f); - GXPosition3f32(Hu3DShadowData.unk_02, 0.0f, 0.0f); - GXTexCoord2f32(1.0f, 0.0f); - GXPosition3f32(Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, 0.0f); - GXTexCoord2f32(1.0f, 1.0f); - GXPosition3f32(0.0f, Hu3DShadowData.unk_02, 0.0f); - GXTexCoord2f32(0.0f, 1.0f); - } - } -} - -s32 lbl_1_data_EC[] = { - 0, - 0, - 0x45ABE000, - 0xC576E000, - 0, - 0xBF333333, - 0x3F19999A, - 0xFFFFFFFF, - 0, - 0x45ABE000, - 0xC576E000, - 0, - 0x3F800000, - 0, - 0, - 0, - 0, -}; - -void fn_1_40A4(void) -{ - M428DllUnkStruct *var_r31; - ModelData *var_r30; - - var_r30 = &Hu3DData[lbl_1_bss_0]; - var_r31 = var_r30->unk_120; - Hu3DShadowData = var_r31->unk_FC0; - Hu3DModelKill(lbl_1_bss_0); - lbl_1_bss_0 = -1; - if (Hu3DShadowCamBit > 0) { - Hu3DShadowCamBit--; - } -} - -void fn_1_4170(s16 arg0, s32 arg1) -{ - ShadowData *sp8; - M428DllUnkStruct2 *var_r31; - s32 var_r30; - s32 var_r29; - M428DllUnkStruct *var_r28; - ModelData *var_r27; - u32 var_r26; - - var_r27 = &Hu3DData[lbl_1_bss_0]; - var_r28 = var_r27->unk_120; - for (var_r29 = 0; var_r29 < 0x10; var_r29++) { - var_r31 = &var_r28->unk_00[var_r29]; - sp8 = &var_r28->unk_640[var_r29]; - var_r26 = 1 << var_r29; - if ((var_r26 & arg1) != 0) { - for (var_r30 = 0; var_r30 < 0x10; var_r30++) { - if (arg0 != var_r31->unk_00[var_r30]) { - if (var_r31->unk_00[var_r30] == -1) { - var_r31->unk_00[var_r30] = arg0; - var_r31->unk_20[var_r30] = 1.0f; - var_r31->unk_60++; - break; - } - } - else { - break; - } - } - } - } -} - -void fn_1_4264(s16 arg0, s32 arg1, float arg8) -{ - ShadowData *sp8; - s32 var_r31; - s32 var_r30; - M428DllUnkStruct2 *var_r29; - M428DllUnkStruct *var_r28; - ModelData *var_r27; - u32 var_r26; - - var_r27 = &Hu3DData[lbl_1_bss_0]; - var_r28 = var_r27->unk_120; - for (var_r31 = 0; var_r31 < 0x10; var_r31++) { - var_r29 = &var_r28->unk_00[var_r31]; - sp8 = &var_r28->unk_640[var_r31]; - var_r26 = 1 << var_r31; - if ((var_r26 & arg1) != 0) { - for (var_r30 = 0; var_r30 < 0x10; var_r30++) { - if (arg0 == var_r29->unk_00[var_r30]) { - var_r29->unk_20[var_r30] = arg8; - } - } - } - } -} - -void fn_1_4324(s32 arg0, Vec *arg1, Vec *arg2, Vec *arg3) -{ - M428DllUnkStruct2 *sp8; - ShadowData *var_r31; - M428DllUnkStruct *var_r30; - ModelData *var_r29; - - var_r29 = &Hu3DData[lbl_1_bss_0]; - var_r30 = var_r29->unk_120; - sp8 = &var_r30->unk_00[arg0]; - var_r31 = &var_r30->unk_640[arg0]; - var_r31->unk_14 = *arg1; - var_r31->unk_20 = *arg3; - var_r31->unk_2C = *arg2; -} diff --git a/src/REL/m428Dll/map.c b/src/REL/m428Dll/map.c deleted file mode 100644 index 925c04bc..00000000 --- a/src/REL/m428Dll/map.c +++ /dev/null @@ -1,1275 +0,0 @@ -#include "dolphin/gx/GXEnum.h" -#include "dolphin/gx/GXVert.h" -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfformat.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/init.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" -#include "string.h" - -#include "REL/m428Dll.h" - -#ifndef __MWERKS__ -#include "game/frand.h" -#endif - -typedef struct M433DllMapWork2 { - u8 unk_00; - Vec unk_04; - Vec unk_10; - Vec unk_1C; - Vec unk_28; - Vec unk_34; - Vec unk_40; - Vec unk_4C; - Vec unk_58; - Vec unk_64[3]; - Vec unk_88[3]; - Vec unk_AC[3]; - Vec unk_D0[3]; - float unk_F4[3]; - float unk_100[3]; - float unk_10C[3]; - float unk_118[3]; - float unk_124[3]; - float unk_130; - float unk_134; - float unk_138; - float unk_13C; - float unk_140; - float unk_144; - float unk_148; - float unk_14C[3]; - float unk_158[3]; - float unk_164[3]; - float unk_170[3]; - float unk_17C[3]; - u16 unk_188[3]; -} M433DllMapWork2; /* size = 0x190 */ - -typedef struct M433DllUnkStruct { - s16 unk_00; - s16 unk_02; - s16 unk_04; - s16 unk_06; - float unk_08; - float unk_0C; - float unk_10; - float unk_14; - float unk_18; - float unk_1C; - char unk20[0x28]; -} M433DllUnkStruct; /* size = 0x48 */ - -typedef struct M433DllUnkStruct4 { - Vec unk_00; - s32 unk_0C[3]; - s8 unk_18[4]; - s8 unk_1C; - float unk_20; - float unk_24; - float unk_28; - float unk_2C; - float unk_30; -} M433DllUnkStruct4; /* size = 0x34 */ - -typedef struct M433DllUnkStruct2 { - Vec *unk_00; - s32 unk_04; - s32 unk_08; - M433DllUnkStruct4 *unk_0C; -} M433DllUnkStruct2; /* size 0x10 */ - -typedef struct M433DllUnkStruct3 { - s32 unk_00; - M433DllUnkStruct2 *unk_04; -} M433DllUnkStruct3; /* size = 0x08 */ - -void fn_1_4650(omObjData *object); -void fn_1_475C(omObjData *object); -void fn_1_4F04(omObjData *object); -void fn_1_51E0(omObjData *object); -u8 fn_1_5370(M433DllUnkStruct2 *arg0, Vec *arg1); -void fn_1_5558(s32 arg0, M433DllUnkStruct3 *arg1); -void fn_1_5CCC(HsfData *arg0, HsfObject *arg1); -void fn_1_6280(ModelData *arg1, ParticleData *particle, Mtx matrix); -s16 fn_1_71AC(s32 arg0, s16 arg1, ParticleHook arg2); -void fn_1_7294(void); -void *fn_1_72D4(s32 arg0); -void fn_1_739C(M433DllUnkStruct2 *arg0); -void fn_1_7430(void); -s32 fn_1_7500(void); -void fn_1_8F90(float *arg0, float *arg1, float *arg2, s32 arg3); -float fn_1_9248(float arg8, float *arg0, float *arg1, float *arg2, s32 arg3); -void fn_1_939C(float *arg0, float (*arg1)[3], float (*arg2)[3], s32 arg3); -void fn_1_977C(float arg8, float *arg0, float *arg1, float (*arg2)[3], float (*arg3)[3], s32 arg4); - -M433DllUnkStruct3 *lbl_1_bss_12C; -M433DllUnkStruct2 *lbl_1_bss_128; -void *lbl_1_bss_A8[0x20]; -omObjData *lbl_1_bss_A4; -omObjData *lbl_1_bss_A0; -omObjData *lbl_1_bss_98[2]; -M433DllUnkStruct3 lbl_1_bss_90; - -void fn_1_43C8(Process *arg0) -{ - s32 var_r31; - omObjData *var_r30; - s32 var_r28; - - var_r28 = frand() & 0x1F; - for (var_r31 = 0; var_r31 < var_r28; var_r31++) { - fn_1_7500(); - } - fn_1_7294(); - Hu3DCameraCreate(3); - Hu3DCameraPerspectiveSet(1, 45.0f, 100.0f, 7500.0f, 0.6f); - Hu3DCameraPerspectiveSet(2, 45.0f, 100.0f, 7500.0f, 0.6f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 320.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraViewportSet(2, 320.0f, 0.0f, 320.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(1, 0, 0, 0x140, 0x1E0); - Hu3DCameraScissorSet(2, 0x140, 0, 0x140, 0x1E0); - lbl_1_bss_A4 = omAddObjEx(arg0, 0x7FDA, 0, 0, -1, omOutViewMulti); - lbl_1_bss_A4->work[0] = 2; - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r30 = omAddObjEx(arg0, 0xFE, 1, 0, -1, fn_1_4650); - lbl_1_bss_98[var_r31] = var_r30; - var_r30->work[0] = var_r31; - } - lbl_1_bss_A0 = omAddObjEx(arg0, 0x7F, 9, 0, -1, fn_1_4F04); -} - -void fn_1_4630(void) -{ - fn_1_7430(); -} - -void fn_1_4650(omObjData *object) -{ - M433DllMapWork2 *work; - - work = fn_1_72D4(0x190); - object->data = work; - work->unk_148 = work->unk_144 = 0.0f; - work->unk_140 = 1.0f; - work->unk_10.x = work->unk_28.x = 0.0f; - work->unk_10.y = work->unk_28.y = 0.0f; - work->unk_10.z = work->unk_28.z = 0.0f; - work->unk_04.x = work->unk_1C.x = 0.0f; - work->unk_04.y = work->unk_1C.y = 80.0f; - work->unk_04.z = work->unk_1C.z = 0.0f; - work->unk_130 = work->unk_134 = 600.0f; - work->unk_188[0] = work->unk_188[1] = work->unk_188[2] = 0; - object->func = fn_1_475C; -} - -void fn_1_475C(omObjData *object) -{ - float var_f31; - M433DllMapWork2 *work; - s32 var_r29; - - work = object->data; - if (work->unk_148 > 0.0f) { - work->unk_148 = work->unk_148 - work->unk_140; - var_f31 = (work->unk_144 - work->unk_148) / work->unk_144; - var_f31 = sind((90.0f * var_f31)); - if (work->unk_00 == 0) { - work->unk_04.x = work->unk_1C.x + (var_f31 * (work->unk_34.x - work->unk_1C.x)); - work->unk_04.y = work->unk_1C.y + (var_f31 * (work->unk_34.y - work->unk_1C.y)); - work->unk_04.z = work->unk_1C.z + (var_f31 * (work->unk_34.z - work->unk_1C.z)); - work->unk_10.x = work->unk_28.x + (var_f31 * (work->unk_40.x - work->unk_28.x)); - work->unk_10.y = work->unk_28.y + (var_f31 * (work->unk_40.y - work->unk_28.y)); - work->unk_10.z = work->unk_28.z + (var_f31 * (work->unk_40.z - work->unk_28.z)); - work->unk_130 = work->unk_134 + (var_f31 * (work->unk_138 - work->unk_134)); - } - else { - fn_1_977C(2.0f * var_f31, (float *)&work->unk_04, work->unk_F4, (float(*)[3])work->unk_64, (float(*)[3])work->unk_88, 3); - fn_1_977C(2.0f * var_f31, (float *)&work->unk_10, work->unk_100, (float(*)[3])work->unk_AC, (float(*)[3])work->unk_D0, 3); - work->unk_130 = fn_1_9248(2.0f * var_f31, work->unk_124, work->unk_10C, work->unk_118, 3); - } - } - CRotM[object->work[0]].x = work->unk_10.x; - CRotM[object->work[0]].y = work->unk_10.y; - CRotM[object->work[0]].z = work->unk_10.z; - CenterM[object->work[0]].x = work->unk_04.x; - CenterM[object->work[0]].y = work->unk_04.y; - CenterM[object->work[0]].z = work->unk_04.z; - CZoomM[object->work[0]] = work->unk_130; - for (var_r29 = 0; var_r29 < 3; var_r29++) { - work->unk_17C[var_r29] = 0.0f; - if (work->unk_188[var_r29] != 0) { - work->unk_17C[var_r29] = work->unk_14C[var_r29] * sind(work->unk_164[var_r29]); - work->unk_164[var_r29] += work->unk_170[var_r29]; - work->unk_14C[var_r29] *= work->unk_158[var_r29]; - work->unk_188[var_r29] -= 1; - } - } - CenterM[object->work[0]].x += work->unk_17C[0]; - CenterM[object->work[0]].y += work->unk_17C[1]; - CenterM[object->work[0]].z += work->unk_17C[2]; -} - -void fn_1_4B7C(u8 arg0, float arg1, Vec *arg2, Vec *arg3, float arg8, Vec *arg4, Vec *arg5, float arg9) -{ - float var_f31; - float var_f30; - M433DllMapWork2 *var_r31; - - var_r31 = lbl_1_bss_98[arg0]->data; - var_r31->unk_00 = 1; - var_r31->unk_148 = var_r31->unk_144 = arg1; - var_r31->unk_1C = var_r31->unk_04; - var_r31->unk_34.x = arg2->x; - var_r31->unk_34.y = arg2->y; - var_r31->unk_34.z = arg2->z; - var_r31->unk_4C.x = arg4->x; - var_r31->unk_4C.y = arg4->y; - var_r31->unk_4C.z = arg4->z; - var_r31->unk_28 = var_r31->unk_10; - var_r31->unk_40.x = arg3->x; - var_r31->unk_40.y = arg3->y; - var_r31->unk_40.z = arg3->z; - var_r31->unk_58.x = arg5->x; - var_r31->unk_58.y = arg5->y; - var_r31->unk_58.z = arg5->z; - var_r31->unk_134 = var_r31->unk_130; - var_r31->unk_138 = arg8; - var_r31->unk_13C = arg9; - var_r31->unk_64[0] = var_r31->unk_1C; - var_r31->unk_64[1] = var_r31->unk_4C; - var_r31->unk_64[2] = var_r31->unk_34; - var_r31->unk_AC[0] = var_r31->unk_28; - var_r31->unk_AC[1] = var_r31->unk_58; - var_r31->unk_AC[2] = var_r31->unk_40; - var_r31->unk_10C[0] = var_r31->unk_134; - var_r31->unk_10C[1] = var_r31->unk_13C; - var_r31->unk_10C[2] = var_r31->unk_138; - var_r31->unk_124[0] = 0.0f; - if ((var_r31->unk_10C[1] - var_r31->unk_10C[0]) < 0.0f) { - var_f31 = -(var_r31->unk_10C[1] - var_r31->unk_10C[0]); - } - else { - var_f31 = var_r31->unk_10C[1] - var_r31->unk_10C[0]; - } - var_r31->unk_124[1] = var_f31; - if ((var_r31->unk_10C[2] - var_r31->unk_10C[1]) < 0.0f) { - var_f30 = -(var_r31->unk_10C[2] - var_r31->unk_10C[1]); - } - else { - var_f30 = var_r31->unk_10C[2] - var_r31->unk_10C[1]; - } - var_r31->unk_124[2] = var_r31->unk_124[1] + var_f30; - fn_1_939C(var_r31->unk_F4, (float(*)[3])var_r31->unk_64, (float(*)[3])var_r31->unk_88, 3); - fn_1_939C(var_r31->unk_100, (float(*)[3])var_r31->unk_AC, (float(*)[3])var_r31->unk_D0, 3); - fn_1_8F90(var_r31->unk_124, var_r31->unk_10C, var_r31->unk_118, 3); -} - -void fn_1_4E44(u8 arg0, float arg8) -{ - M433DllMapWork2 *work = lbl_1_bss_98[arg0]->data; - work->unk_140 = arg8; -} - -void fn_1_4E78(u8 arg0, u8 arg1, u16 arg2, float arg8, float arg9, float argA) -{ - M433DllMapWork2 *var_r31 = lbl_1_bss_98[arg0]->data; - var_r31->unk_188[arg1] = arg2; - var_r31->unk_14C[arg1] = arg8; - var_r31->unk_158[arg1] = arg9; - var_r31->unk_170[arg1] = argA; - var_r31->unk_164[arg1] = 90.0f; -} - -static char lbl_1_data_130[20] = "goal"; // explicitly declared because of padding - -void fn_1_4F04(omObjData *object) -{ - s32 var_r31; - M433DllUnkStruct *var_r29; - s32 var_r28; - - var_r31 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M428, 0)); - object->model[0] = var_r31; - Hu3DModelShadowMapSet(var_r31); - Hu3DModelLayerSet(var_r31, 2); - var_r31 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M428, 1)); - object->model[1] = var_r31; - Hu3DModelAttrSet(var_r31, HU3D_ATTR_DISPOFF); - fn_1_5558(var_r31, &lbl_1_bss_90); - var_r31 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M428, 2)); - object->model[2] = var_r31; - Hu3DModelLayerSet(var_r31, 2); - var_r31 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M428, 3)); - object->model[3] = var_r31; - Hu3DModelAttrSet(var_r31, HU3D_ATTR_DISPOFF); - Hu3DModelShadowMapObjSet(var_r31, lbl_1_data_130); - Hu3DModelLayerSet(var_r31, 2); - var_r31 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M428, 4)); - object->model[4] = var_r31; - Hu3DModelAttrSet(var_r31, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31, HU3D_MOTATTR_SHAPE_LOOP); - Hu3DModelLayerSet(var_r31, 2); - Hu3DModelCameraSet(var_r31, 1); - fn_1_4170(var_r31, 1); - var_r31 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M428, 5)); - object->model[5] = var_r31; - Hu3DModelAttrSet(var_r31, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31, HU3D_MOTATTR_SHAPE_LOOP); - Hu3DModelLayerSet(var_r31, 2); - Hu3DModelCameraSet(var_r31, 2); - fn_1_4170(var_r31, 2); - for (var_r28 = 0; var_r28 < 2; var_r28++) { - var_r31 = fn_1_71AC(DATA_MAKE_NUM(DATADIR_M428, 6), 0x3E8, fn_1_6280); - object->model[var_r28 + 6] = var_r31; - Hu3DModelLayerSet(var_r31, 4); - Hu3DModelCameraSet(var_r31, 1 << var_r28); - var_r29 = ((ParticleData *)Hu3DData[var_r31].unk_120)->unk_1C; - var_r29->unk_08 = 400.0f; - var_r29->unk_0C = -400.0f; - var_r29->unk_10 = 1300.0f; - var_r29->unk_14 = -800.0f; - var_r29->unk_18 = 700.0f; - var_r29->unk_1C = 150.0f; - } - object->func = fn_1_51E0; -} - -void fn_1_51E0(omObjData *object) -{ - M433DllUnkStruct *var_r31; - s32 var_r30; - - for (var_r30 = 0; var_r30 < 2; var_r30++) { - var_r31 = ((ParticleData *)Hu3DData[object->model[var_r30 + 6]].unk_120)->unk_1C; - var_r31->unk_08 = 500.0f + CenterM[var_r30].x; - var_r31->unk_0C = -500.0f + CenterM[var_r30].x; - var_r31->unk_10 = 900.0f + CenterM[var_r30].y; - var_r31->unk_14 = -1200.0f + CenterM[var_r30].y; - } -} - -void fn_1_52D8(omObjData *object) { } - -u8 fn_1_52DC(M433DllUnkStruct3 *arg0, Vec *arg1) -{ - u32 var_r30; - M433DllUnkStruct2 *var_r29; - s32 var_r28; - - var_r28 = 0; - for (var_r29 = arg0->unk_04, var_r30 = 0; var_r30 < arg0->unk_00; var_r30++, var_r29++) { - if (fn_1_5370(var_r29, arg1) != 0) { - break; - } - } - if (var_r30 < arg0->unk_00) { - var_r28 = 1; - } - return var_r28; -} - -u8 fn_1_5370(M433DllUnkStruct2 *arg0, Vec *arg1) -{ - Vec sp20; - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - M433DllUnkStruct4 *var_r31; - s32 var_r28; - u32 var_r27; - s32 var_r26; - Vec *var_r25; - s32 var_r24; - Vec *var_r23; - - var_r31 = arg0->unk_0C; - for (var_r27 = 0; var_r27 < arg0->unk_08; var_r27++, var_r31++) { - sp8 = *arg1; - sp8.y = 0.0f; - VECSubtract(&sp8, &var_r31->unk_00, &sp20); - var_f30 = VECMag(&sp20); - if (!(var_f30 > (400.0f + var_r31->unk_20)) && (var_r31->unk_2C != 0.0f)) { - var_r24 = 0; - for (var_r28 = 0; var_r28 < 3; var_r28++) { - var_r26 = var_r28 + 1; - if (var_r26 == 3) { - var_r26 = 0; - } - var_r23 = &arg0->unk_00[var_r31->unk_0C[var_r28]]; - var_r25 = &arg0->unk_00[var_r31->unk_0C[var_r26]]; - VECSubtract(var_r25, var_r23, &sp20); - VECSubtract(arg1, var_r25, &sp14); - var_f31 = (sp20.x * sp14.y) - (sp20.y * sp14.x); - if ((var_f31 * var_r31->unk_2C) < 0.0) { - var_r24 = 1; - break; - } - } - if (var_r24 == 0) { - arg1->z = ((var_r31->unk_30 - (var_r31->unk_24 * arg1->x)) - (var_r31->unk_28 * arg1->y)) / var_r31->unk_2C; - return 1; - } - } - } - return 0; -} - -void fn_1_5558(s32 arg0, M433DllUnkStruct3 *arg1) -{ - HsfData *var_r31; - u32 var_r30; - - var_r31 = Hu3DData[arg0].hsfData; - lbl_1_bss_12C = arg1; - lbl_1_bss_12C->unk_00 = 0; - lbl_1_bss_12C->unk_04 = fn_1_72D4(0x1000); - lbl_1_bss_128 = lbl_1_bss_12C->unk_04; - fn_1_5CCC(var_r31, var_r31->root); - var_r30 = lbl_1_bss_12C->unk_00 * 0x10; - lbl_1_bss_128 = lbl_1_bss_12C->unk_04; - lbl_1_bss_12C->unk_04 = fn_1_72D4(var_r30); - memcpy(lbl_1_bss_12C->unk_04, lbl_1_bss_128, var_r30); - fn_1_739C(lbl_1_bss_128); -} - -void fn_1_5684(HsfData *arg0, HsfObject *arg1) -{ - Vec sp18; - Vec spC; - float var_f31; - M433DllUnkStruct4 *var_r31; - HsfFace *var_r30; - HsfBuffer *var_r29; - s32 var_r28; - s32 var_r27; - HsfBuffer *var_r25; - - var_r29 = arg1->data.vertex; - var_r25 = arg1->data.face; - lbl_1_bss_128->unk_08 = var_r25->count; - lbl_1_bss_128->unk_04 = var_r29->count; - lbl_1_bss_128->unk_00 = var_r29->data; - lbl_1_bss_128->unk_0C = fn_1_72D4(lbl_1_bss_128->unk_08 * sizeof(M433DllUnkStruct4)); - var_r30 = var_r25->data; - var_r31 = lbl_1_bss_128->unk_0C; - for (var_r27 = 0; var_r27 < var_r25->count; var_r27++, var_r30++, var_r31++) { - switch (var_r30->type & 7) { - case 2: - var_r31->unk_1C = 3; - var_r31->unk_00.x = var_r31->unk_00.y = var_r31->unk_00.z = 0.0f; - for (var_r28 = 0; var_r28 < 3; var_r28++) { - var_r31->unk_0C[var_r28] = var_r30->indices[var_r28][0]; - var_r31->unk_00.x += ((Vec *)var_r29->data)[var_r30->indices[var_r28][0]].x; - var_r31->unk_00.y += ((Vec *)var_r29->data)[var_r30->indices[var_r28][0]].y; - var_r31->unk_00.z += ((Vec *)var_r29->data)[var_r30->indices[var_r28][0]].z; - } - var_r31->unk_00.x /= 3.0f; - var_r31->unk_00.y /= 3.0f; - var_r31->unk_00.z /= 3.0f; - var_r31->unk_20 = 0.0f; - for (var_r28 = 0; var_r28 < 3; var_r28++) { - VECSubtract(&((Vec *)var_r29->data)[var_r30->indices[var_r28][0]], &var_r31->unk_00, &sp18); - var_f31 = VECMag(&sp18); - if (var_f31 > var_r31->unk_20) { - var_r31->unk_20 = var_f31; - } - } - var_r31->unk_00.y = 0.0f; - VECSubtract(&((Vec *)var_r29->data)[var_r30->strip.indices[1][0]], &((Vec *)var_r29->data)[var_r30->strip.indices[0][0]], &sp18); - VECSubtract(&((Vec *)var_r29->data)[var_r30->strip.indices[2][0]], &((Vec *)var_r29->data)[var_r30->strip.indices[0][0]], &spC); - var_r31->unk_24 = (sp18.y * spC.z) - (sp18.z * spC.y); - var_r31->unk_28 = (sp18.z * spC.x) - (sp18.x * spC.z); - var_r31->unk_2C = (sp18.x * spC.y) - (sp18.y * spC.x); - var_r31->unk_30 = (var_r31->unk_2C * ((Vec *)var_r29->data)[var_r30->strip.indices[0][0]].z) - + ((var_r31->unk_24 * ((Vec *)var_r29->data)[var_r30->strip.indices[0][0]].x) - + (var_r31->unk_28 * ((Vec *)var_r29->data)[var_r30->strip.indices[0][0]].y)); - break; - case 3: - var_r31->unk_1C = 4; - var_r31->unk_00.x = var_r31->unk_00.y = var_r31->unk_00.z = 0.0f; - for (var_r28 = 0; var_r28 < 4; var_r28++) { - var_r31->unk_0C[var_r28] = var_r30->indices[var_r28][0]; - var_r31->unk_00.x += ((Vec *)var_r29->data)[var_r30->indices[var_r28][0]].x; - var_r31->unk_00.y += ((Vec *)var_r29->data)[var_r30->indices[var_r28][0]].y; - var_r31->unk_00.z += ((Vec *)var_r29->data)[var_r30->indices[var_r28][0]].z; - } - var_r31->unk_00.x *= 0.25f; - var_r31->unk_00.y *= 0.25f; - var_r31->unk_00.z *= 0.25f; - var_r31->unk_20 = 0.0f; - for (var_r28 = 0; var_r28 < 4; var_r28++) { - VECSubtract(&((Vec *)var_r29->data)[var_r30->indices[var_r28][0]], &var_r31->unk_00, &sp18); - var_f31 = VECMag(&sp18); - if (var_f31 > var_r31->unk_20) { - var_r31->unk_20 = var_f31; - } - } - VECSubtract(&((Vec *)var_r29->data)[var_r30->strip.indices[1][0]], &((Vec *)var_r29->data)[var_r30->strip.indices[0][0]], &sp18); - VECSubtract(&((Vec *)var_r29->data)[var_r30->strip.indices[2][0]], &((Vec *)var_r29->data)[var_r30->strip.indices[1][0]], &spC); - var_r31->unk_24 = (sp18.y * spC.z) - (sp18.z * spC.y); - var_r31->unk_28 = (sp18.z * spC.x) - (sp18.x * spC.z); - var_r31->unk_2C = (sp18.x * spC.y) - (sp18.y * spC.x); - var_r31->unk_30 = (var_r31->unk_24 * ((Vec *)var_r29->data)[var_r30->strip.indices[0][0]].x) - + ((var_r31->unk_28 * ((Vec *)var_r29->data)[var_r30->strip.indices[0][0]].y)) - + (var_r31->unk_2C * ((Vec *)var_r29->data)[var_r30->strip.indices[0][0]].z); - break; - default: - OSReport("Error\n"); - break; - } - } - for (var_r27 = 0; var_r27 < arg1->data.childrenCount; var_r27++) { - fn_1_5CCC(arg0, arg1->data.children[var_r27]); - } -} - -void fn_1_5CCC(HsfData *var_r31, HsfObject *var_r23) -{ - s16 var_r22; - - switch (var_r23->type) { - case 0: - case 1: - case 3: - case 4: - case 5: - case 6: - case 9: - for (var_r22 = 0; var_r22 < var_r23->data.childrenCount; var_r22++) { - fn_1_5CCC(var_r31, var_r23->data.children[var_r22]); - } - break; - case 2: - fn_1_5684(var_r31, var_r23); - lbl_1_bss_12C->unk_00++; - lbl_1_bss_128++; - break; - } -} - -void fn_1_6280(ModelData *arg1, ParticleData *particle, Mtx matrix) -{ - s32 sp3C; - s32 sp38; - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - float var_f25; - HsfanimStruct01 *var_r31; - M433DllUnkStruct *var_r30; - s32 var_r28; - s32 var_r27; - - var_r30 = particle->unk_1C; - var_f29 = var_r30->unk_08 - var_r30->unk_0C; - var_f30 = var_r30->unk_10 - var_r30->unk_14; - var_f28 = var_r30->unk_18 - var_r30->unk_1C; - switch (var_r30->unk_04) { - case 2: - break; - case 0: - for (var_r31 = particle->unk_48, var_r28 = 0; var_r28 < (0.3f * particle->unk_30); var_r28++, var_r31++) { - var_r31->unk00 = 1; - var_r31->unk34.x = var_r30->unk_0C + (var_f29 * (fn_1_7500() / 65536.0f)); - var_r31->unk34.y = (var_r30->unk_14 + ((200.0f + var_f30) * (fn_1_7500() / 65536.0f))) - 100.0f; - var_r31->unk34.z = var_r30->unk_1C + (var_f28 * (fn_1_7500() / 65536.0f)); - var_r31->unk40.r = var_r31->unk40.g = var_r31->unk40.b = var_r31->unk40.a = 0xFF; - var_r31->unk2C = 26.0f + (10.0f * (fn_1_7500() / 65536.0f)); - var_r31->unk08.x = 0.0f; - var_r31->unk08.y = -1.6333333f * (fn_1_7500() / 65536.0f); - var_r31->unk08.z = 0.0f; - var_r31->unk14.x = var_r31->unk14.y = var_r31->unk14.z = 0.0f; - var_r31->unk30 = 360.0f * (fn_1_7500() / 65536.0f); - var_r31->unk02 = 0; - } - for (; var_r28 < particle->unk_30; var_r28++, var_r31++) { - var_r31->unk00 = 0; - var_r31->unk40.a = 0; - var_r31->unk08.x = 0.0f; - var_r31->unk08.y = -1.6333333f * (fn_1_7500() / 65536.0f); - var_r31->unk08.z = 0.0f; - var_r31->unk14.x = var_r31->unk14.y = var_r31->unk14.z = 0.0f; - } - particle->unk_04.x = particle->unk_04.y = particle->unk_04.z = 0.0f; - var_r30->unk_04++; - break; - case 1: - particle->unk_04.x = particle->unk_04.y = particle->unk_04.z = 0.0f; - var_r30->unk_06 = 0; - break; - case 3: - particle->unk_04.x *= 0.95f; - if (particle->unk_04.x < 0.0f) { - var_f27 = -particle->unk_04.x; - } - else { - var_f27 = particle->unk_04.x; - } - if (var_f27 < 0.01f) { - var_r30->unk_04 = 1; - } - break; - } - for (var_r31 = particle->unk_48, var_r27 = 0, var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { - switch (var_r31->unk00) { - case 0: - if (((var_r28 > (0.4f * particle->unk_30)) && (particle->unk_04.x == 0.0f)) || (var_r27 >= (10.0f + (0.75f * particle->unk_04.x)))) { - var_r31->unk2C = 0.01f; - } - else { - if (((fn_1_7500() & 3) == 0) || (particle->unk_04.x == 0.0f)) { - var_r31->unk34.x = var_r30->unk_0C + (var_f29 * (fn_1_7500() / 65536.0f)); - var_r31->unk34.y = var_r30->unk_10 + (100.0f * (fn_1_7500() / 65536.0f)); - var_r31->unk40.a = 7; - } - else { - if (particle->unk_04.x > 0.0f) { - var_r31->unk34.x = var_r30->unk_0C - (100.0f * (fn_1_7500() / 65536.0f)); - } - else { - var_r31->unk34.x = var_r30->unk_08 + (100.0f * (fn_1_7500() / 65536.0f)); - } - var_r31->unk34.y = var_r30->unk_10 - (var_f30 * (fn_1_7500() / 65536.0f)); - var_r31->unk40.a = 0xFF; - } - var_r31->unk34.z = var_r30->unk_1C + (var_f28 * (fn_1_7500() / 65536.0f)); - var_r31->unk2C = 28.0f + (10.0f * (fn_1_7500() / 65536.0f)); - var_r31->unk08.x = 0.0f; - var_r31->unk08.y = -1.6333333f * (fn_1_7500() / 65536.0f); - var_r31->unk08.z = 0.0f; - var_r31->unk08.x = 0.25f * var_r31->unk08.y * ((fn_1_7500() - 0x8000) / 32768.0f); - var_r31->unk14.x = var_r31->unk14.y = var_r31->unk14.z = 0.0f; - var_r31->unk40.r = var_r31->unk40.g = var_r31->unk40.b = 0xFF; - var_r31->unk02 = 0; - var_r27++; - var_r31->unk00++; - } - break; - case 1: - var_r31->unk08.y += -1.6333333f; - var_r31->unk08.y += 0.19998f * (1.6333333f * (4.81f + (0.005f * var_r31->unk2C))); - if (var_r31->unk02 != 0) { - var_r31->unk02--; - var_r31->unk08.y *= 0.8f; - var_r31->unk08.y += 0.0025f * (-1.6333333f * var_r31->unk2C); - } - else if ((fn_1_7500() & 0x7F) == 0) { - var_r31->unk02 = (s32)(30.0f * (fn_1_7500() / 65536.0f)); - } - if (var_r31->unk08.x < 0.0f) { - var_f26 = -var_r31->unk08.x; - } - else { - var_f26 = var_r31->unk08.x; - } - if (var_f26 < 0.02f) { - var_r31->unk14.x = 0.025f * (var_r31->unk2C * (-1.6333333f * ((fn_1_7500() - 0x8000) / 32768.0f))); - if (var_r31->unk14.x > 0.0f) { - var_r31->unk08.x = 0.02f + (0.04f * var_r31->unk14.x); - } - else { - var_r31->unk08.x = (0.04f * var_r31->unk14.x) - 0.02f; - } - } - else { - var_f31 = var_r31->unk08.x - var_r31->unk14.x; - var_r31->unk08.x = var_r31->unk14.x + (0.98f * var_f31); - if (var_f31 < 0.0f) { - var_f25 = -var_f31; - } - else { - var_f25 = var_f31; - } - if (var_f25 < 0.02f) { - var_r31->unk14.x = 0.0f; - } - } - if ((var_r31->unk34.y < (var_r30->unk_14 - 100.0f)) || (var_r31->unk34.x > (100.0f + var_r30->unk_08)) - || (var_r31->unk34.x < (var_r30->unk_0C - 100.0f))) { - var_r31->unk00 = 0; - } - if (var_r31->unk34.y > (100.0f + var_r30->unk_10)) { - var_r31->unk34.y = var_r30->unk_14 - (100.0f * (fn_1_7500() / 65536.0f)); - } - if (var_r31->unk34.y < var_r30->unk_14) { - var_r31->unk40.a *= 0.9f; - } - else if (var_r31->unk40.a < 0xFF) { - var_r31->unk40.a += 8; - } - break; - } - VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); - if (particle->unk_04.x != 0.0f) { - sp8 = particle->unk_04; - sp8.x *= var_r31->unk2C / 28.0f; - sp8.y = (((u8)var_r31->unk2C & 1) != 0 ? 1.0f : -1.0f) * (sp8.x * (0.05f + (s32)(0.2f * (fn_1_7500() / 65536.0f)))); - VECAdd(&var_r31->unk34, &sp8, &var_r31->unk34); - } - } - DCFlushRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); -} - -s16 fn_1_71AC(s32 arg0, s16 arg1, ParticleHook hook) -{ - HsfanimStruct01 *var_r31; - ParticleData *var_r30; - s32 var_r29; - s32 var_r28; - M433DllUnkStruct *var_r27; - AnimData *var_r25; - - var_r25 = HuSprAnimRead(HuDataReadNum(arg0, MEMORY_DEFAULT_NUM)); - var_r28 = Hu3DParticleCreate(var_r25, arg1); - Hu3DParticleHookSet(var_r28, hook); - var_r30 = Hu3DData[var_r28].unk_120; - var_r27 = fn_1_72D4(0x48); - var_r30->unk_1C = var_r27; - var_r27->unk_04 = 0; - var_r31 = var_r30->unk_48; - memset(var_r31, 0, arg1 * 0x44); - for (var_r29 = 0; var_r29 < arg1; var_r29++, var_r31++) { - var_r31->unk06 = -1; - var_r31->unk40.r = var_r31->unk40.g = var_r31->unk40.b = var_r31->unk40.a = 0xFF; - } - return var_r28; -} - -void fn_1_7294(void) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0x20; var_r31++) { - lbl_1_bss_A8[var_r31] = NULL; - } -} - -void *fn_1_72D4(s32 arg0) -{ - s32 i; - - for (i = 0; i < 0x20; i++) { - if (!lbl_1_bss_A8[i]) { - break; - } - } - if (i == 0x20) { - return NULL; - } - lbl_1_bss_A8[i] = HuMemDirectMallocNum(HEAP_SYSTEM, arg0, MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_A8[i], 0, arg0); - return lbl_1_bss_A8[i]; -} - -void fn_1_739C(M433DllUnkStruct2 *arg0) -{ - s32 var_r31; - for (var_r31 = 0; var_r31 < 0x20; var_r31++) { - if (lbl_1_bss_A8[var_r31] == arg0) { - break; - } - } - if (var_r31 != 0x20) { - HuMemDirectFree(lbl_1_bss_A8[var_r31]); - lbl_1_bss_A8[var_r31] = NULL; - } -} - -void fn_1_7430(void) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0x20; var_r31++) { - if (lbl_1_bss_A8[var_r31]) { - HuMemDirectFree(lbl_1_bss_A8[var_r31]); - lbl_1_bss_A8[var_r31] = NULL; - } - } -} - -void fn_1_74B4(s16 arg0, Mtx arg1) -{ - ModelData *var_r31 = &Hu3DData[arg0]; - MTXCopy(arg1, var_r31->unk_F0); -} - -u32 lbl_1_data_14C = 0x41C64E6D; - -s32 fn_1_7500(void) -{ - lbl_1_data_14C *= 0x41C64E6D; - lbl_1_data_14C += 0x3039; - return lbl_1_data_14C >> 0x10; -} - -void fn_1_7554(s32 arg0, s32 *arg1) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - for (var_r31 = 0; var_r31 < arg0; var_r31++) { - arg1[var_r31] = var_r31; - } - for (var_r31 = 0; var_r31 < (arg0 - 1); var_r31++) { - lbl_1_data_14C *= 0x41C64E6D; - lbl_1_data_14C += 0x3039; - var_r28 = lbl_1_data_14C >> 0x10; - var_r27 = var_r28; - var_r30 = arg0 * (var_r27 / 65536.0f); - var_r29 = arg1[var_r31]; - arg1[var_r31] = arg1[var_r30]; - arg1[var_r30] = var_r29; - } -} - -float fn_1_7690(float arg8, float arg9, float argA) -{ - float var_f31; - - if (arg8 > 180.0f) { - arg8 -= 360.0f; - } - else if (arg8 <= -180.0f) { - arg8 += 360.0f; - } - if (arg9 > 180.0f) { - arg9 -= 360.0f; - } - else if (arg9 <= -180.0f) { - arg9 += 360.0f; - } - var_f31 = arg8 - arg9; - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - else if (var_f31 <= -180.0f) { - var_f31 += 360.0f; - } - arg8 = arg9 + (var_f31 * argA); - if (arg8 > 180.0f) { - return arg8 - 360.0f; - } - if (arg8 <= -180.0f) { - arg8 += 360.0f; - } - return arg8; -} - -void fn_1_77F8(Mtx arg0, float arg8, float arg9, float argA) -{ - Mtx sp38; - Mtx sp8; - - if (argA != 0.0f) { - MTXRotRad(arg0, 0x5A, MTXDegToRad(argA)); - } - else { - MTXIdentity(arg0); - } - if (arg8 != 0.0f) { - MTXRotRad(sp38, 0x58, MTXDegToRad(arg8)); - MTXConcat(sp38, arg0, arg0); - } - if (arg9 != 0.0f) { - MTXRotRad(sp8, 0x59, MTXDegToRad(arg9)); - MTXConcat(sp8, arg0, arg0); - } -} - -void fn_1_7918(Mtx arg0, Vec *arg1) -{ - float var_f29; - float var_f28; - - arg1->x = atan2d(arg0[1][2], arg0[2][2]); - if (arg1->x < 0.0f) { - arg1->x += 360.0f; - } - arg1->z = atan2d(arg0[0][1], arg0[0][0]); - if (arg1->z < 0.0f) { - arg1->z += 360.0f; - } - var_f29 = -arg0[0][2]; - var_f28 = sqrtf((1.0 - (var_f29 * var_f29)) < 0.0 ? (-(1.0 - (var_f29 * var_f29))) : (1.0 - (var_f29 * var_f29))); - if ((arg1->x > 90.0f) && (arg1->x < 270.0f) && (arg1->z > 90.0f) && (arg1->z < 270.0f)) { - arg1->x = fmod(180.0f + arg1->x, 360.0); - arg1->z = fmod(180.0f + arg1->z, 360.0); - var_f28 = -var_f28; - } - arg1->y = atan2d(var_f29, var_f28); - if (arg1->y < 0.0f) { - arg1->y += 360.0f; - } -} - -void fn_1_7CB4(Mtx arg0, Vec *arg1) -{ - float var_f29; - float var_f27; - - arg1->z = atan2d(arg0[0][1], arg0[1][1]); - if (arg1->z < 0.0f) { - arg1->z += 360.0f; - } - arg1->y = atan2d(arg0[0][2], arg0[2][2]); - if (arg1->y < 0.0f) { - arg1->y += 360.0f; - } - var_f29 = -arg0[2][1]; - var_f27 = sqrtf((1.0 - (var_f29 * var_f29)) < 0.0 ? (-(1.0 - (var_f29 * var_f29))) : (1.0 - (var_f29 * var_f29))); - arg1->x = atan2d(var_f29, var_f27); - if (arg1->x < 0.0f) { - arg1->x += 360.0f; - } -} - -float fn_1_7F94(Vec *arg0) -{ - float var_f30 = (arg0->z * arg0->z) + ((arg0->x * arg0->x) + (arg0->y * arg0->y)); - var_f30 = sqrtf(var_f30); - if (var_f30 != 0.0f) { - float var_f29 = 1.0f / var_f30; - arg0->x = arg0->x * var_f29; - arg0->y = arg0->y * var_f29; - arg0->z = arg0->z * var_f29; - } - else { - arg0->x = arg0->y = arg0->z = 0.0f; - } - return var_f30; -} - -void fn_1_812C(Vec arg0, Vec arg1, Vec *arg2, float arg8) -{ - if (arg8 <= 0.0f) { - arg2->x = arg0.x; - arg2->y = arg0.y; - arg2->z = arg0.z; - arg8 = 0.0f; - } - else if (arg8 >= 1.0f) { - arg2->x = arg0.x + arg1.x; - arg2->y = arg0.y + arg1.y; - arg2->z = arg0.z + arg1.z; - arg8 = 1.0f; - } - else { - arg2->x = arg0.x + (arg8 * arg1.x); - arg2->y = arg0.y + (arg8 * arg1.y); - arg2->z = arg0.z + (arg8 * arg1.z); - } -} - -float fn_1_8204(Vec arg0, Vec arg1, Vec arg2) -{ - float var_f31; - float temp_f30; - - var_f31 = arg2.x * (arg1.x - arg0.x) + arg2.y * (arg1.y - arg0.y) + arg2.z * (arg1.z - arg0.z); - temp_f30 = -(arg2.x * arg2.x + arg2.y * arg2.y + arg2.z * arg2.z); - if (temp_f30 != 0.0f) { - var_f31 /= temp_f30; - } - return var_f31; -} - -float fn_1_82C0(Vec *arg0, Vec *arg1, Vec *arg2) -{ - Vec sp44; - float var_f31; - - if (arg2->x * arg2->x + arg2->y * arg2->y + arg2->z * arg2->z == 0.0f) { - return (arg0->x - arg1->x) * (arg0->x - arg1->x) + (arg0->y - arg1->y) * (arg0->y - arg1->y) + (arg0->z - arg1->z) * (arg0->z - arg1->z); - } - var_f31 = fn_1_8204(*arg0, *arg1, *arg2); - fn_1_812C(*arg1, *arg2, &sp44, var_f31); - return (arg0->x - sp44.x) * (arg0->x - sp44.x) + (arg0->y - sp44.y) * (arg0->y - sp44.y) + (arg0->z - sp44.z) * (arg0->z - sp44.z); -} - -float fn_1_85FC(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, Vec *arg4) -{ - float var_f30; - - if (((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y))) == 0.0f) { - return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) - + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y))); - } - var_f30 = fn_1_8204(*arg0, *arg1, *arg2); - fn_1_812C(*arg1, *arg2, arg3, var_f30); - - arg4->x = arg0->x - arg3->x; - arg4->y = arg0->y - arg3->y; - arg4->z = arg0->z - arg3->z; - return fn_1_7F94(arg4); -} - -float fn_1_8AAC(float arg8, float arg9, float argA, float argB) -{ - float var_f31 = 1.0 - arg8; - float var_f30 = (argB * (arg8 * arg8)) + ((arg9 * (var_f31 * var_f31)) + (2.0 * (argA * (var_f31 * arg8)))); - return var_f30; -} - -void fn_1_8B24(float *arg0, float *arg1, float *arg2, float *arg3, float arg8) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - *arg3++ = fn_1_8AAC(arg8, *arg0++, *arg1++, *arg2++); - } -} - -float fn_1_8C40(float arg8, float arg9, float argA, float argB) -{ - float var_f31 = 2.0 * ((arg8 * argB) + (((arg8 - 1.0) * arg9) + ((1.0 - (2.0 * arg8)) * argA))); - return var_f31; -} - -void fn_1_8CB8(float *arg0, float *arg1, float *arg2, float *arg3, float arg8) -{ - float spC[3]; - float var_f29; - s32 var_r31; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - spC[var_r31] = fn_1_8C40(arg8, *arg0++, *arg1++, *arg2++); - } - var_f29 = sqrtf((spC[2] * spC[2]) + ((spC[0] * spC[0]) + (spC[1] * spC[1]))); - if (var_f29) { - var_f29 = 1.0 / var_f29; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - *arg3++ = var_f29 * spC[var_r31]; - } - return; - } - *arg3++ = 0.0f; - *arg3++ = 0.0f; - *arg3++ = 1.0f; -} - -void fn_1_8F90(float *arg0, float *arg1, float *arg2, s32 arg3) -{ - float sp48[16]; - float sp8[16]; - double var_f31; - s32 var_r31; - - arg2[0] = 0.0f; - arg2[arg3 - 1] = 0.0f; - for (var_r31 = 0; var_r31 < (arg3 - 1); var_r31++) { - sp48[var_r31] = arg0[var_r31 + 1] - arg0[var_r31]; - if (sp48[var_r31] == 0.0f) { - sp8[var_r31 + 1] = 0.0f; - } - else { - sp8[var_r31 + 1] = (arg1[var_r31 + 1] - arg1[var_r31]) / sp48[var_r31]; - } - } - arg2[1] = sp8[2] - sp8[1]; - sp8[1] = 2.0f * (arg0[2] - arg0[0]); - for (var_r31 = 1; var_r31 < (arg3 - 2); var_r31++) { - var_f31 = sp48[var_r31] / sp8[var_r31]; - arg2[var_r31 + 1] = (sp8[var_r31 + 2] - sp8[var_r31 + 1]) - (var_f31 * arg2[var_r31]); - sp8[var_r31 + 1] = (2.0f * (arg0[var_r31 + 2] - arg0[var_r31])) - (var_f31 * sp48[var_r31]); - } - arg2[arg3 - 2] -= sp48[arg3 - 2] * arg2[arg3 - 1]; - for (var_r31 = arg3 - 2; var_r31 > 0; var_r31--) { - if (sp8[var_r31] == 0.0f) { - arg2[var_r31] = 0.0f; - } - else { - arg2[var_r31] = (arg2[var_r31] - (sp48[var_r31] * arg2[var_r31 + 1])) / sp8[var_r31]; - } - } -} - -float fn_1_9248(float arg8, float *arg0, float *arg1, float *arg2, s32 arg3) -{ - float var_f31; - float var_f30; - float var_f29; - - s32 var_r31 = arg8; - arg8 = arg8 - var_r31; - var_f31 = arg0[var_r31 + 1] - arg0[var_r31]; - var_f30 = var_f31 * arg8; - var_f29 = arg1[var_r31] - + (var_f30 - * ((var_f30 * ((3.0f * arg2[var_r31]) + ((var_f30 * (arg2[var_r31 + 1] - arg2[var_r31])) / var_f31))) - + (((arg1[var_r31 + 1] - arg1[var_r31]) / var_f31) - (var_f31 * ((2.0f * arg2[var_r31]) + arg2[var_r31 + 1]))))); - if (var_f31 == 0.0f) { - var_f29 = arg1[var_r31]; - } - return var_f29; -} - -void fn_1_939C(float *arg0, float (*arg1)[3], float (*arg2)[3], s32 var_r28) -{ - float spD4[16]; - float sp94[16]; - Vec sp8; - s32 var_r31; - s32 var_r30; - s32 var_r27; - - arg0[0] = 0.0f; - for (var_r30 = 1; var_r30 < var_r28; var_r30++) { - VECSubtract((Vec *)&arg1[var_r30], (Vec *)&arg1[var_r30 - 1], &sp8); - arg0[var_r30] = arg0[var_r30 - 1] + VECMag(&sp8); - } - for (var_r27 = 0; var_r27 < 3; var_r27++) { - for (var_r30 = 0; var_r30 < var_r28; var_r30++) { - spD4[var_r30] = arg1[var_r30][var_r27]; - } - fn_1_8F90(arg0, spD4, sp94, var_r28); - for (var_r30 = 0; var_r30 < var_r28; var_r30++) { - arg2[var_r30][var_r27] = sp94[var_r30]; - } - } -} - -void fn_1_977C(float arg8, float *arg0, float *arg1, float (*arg2)[3], float (*arg3)[3], s32 arg4) -{ - float sp48[16]; - float sp8[16]; - s32 var_r30; - s32 var_r29; - - for (var_r29 = 0; var_r29 < 3; var_r29++) { - for (var_r30 = 0; var_r30 < arg4; var_r30++) { - sp48[var_r30] = arg2[var_r30][var_r29]; - sp8[var_r30] = arg3[var_r30][var_r29]; - } - arg0[var_r29] = fn_1_9248(arg8, arg1, sp48, sp8, 3); - } -} - -u8 fn_1_9990(Vec *sp8) -{ - u32 var_r31; - M433DllUnkStruct2 *var_r30; - s32 var_r29; - - var_r29 = 0; - var_r30 = lbl_1_bss_90.unk_04; - for (var_r31 = 0; var_r31 < lbl_1_bss_90.unk_00; var_r31++, var_r30++) { - if (fn_1_5370(var_r30, sp8) != 0) { - break; - } - } - if (var_r31 < lbl_1_bss_90.unk_00) { - var_r29 = 1; - } - return var_r29; -} - -void fn_1_9A30(u8 arg0, float arg8, Vec *arg1, Vec *arg2, float arg9) -{ - M433DllMapWork2 *var_r31; - - var_r31 = lbl_1_bss_98[arg0]->data; - var_r31->unk_00 = 0; - var_r31->unk_144 = arg8; - var_r31->unk_148 = arg8; - var_r31->unk_1C = var_r31->unk_04; - var_r31->unk_34.x = arg1->x; - var_r31->unk_34.y = arg1->y; - var_r31->unk_34.z = arg1->z; - var_r31->unk_28 = var_r31->unk_10; - var_r31->unk_40.x = arg2->x; - var_r31->unk_40.y = arg2->y; - var_r31->unk_40.z = arg2->z; - var_r31->unk_134 = var_r31->unk_130; - var_r31->unk_138 = arg9; -} - -void fn_1_9ADC(u8 arg0) -{ - Vec sp14; - Vec sp8; - float var_f31; - M433DllMapWork2 *work; - omObjData *var_r30; - - sp14.x = 0.0f; - sp14.y = 80.0f; - sp14.z = 0.0f; - sp8.x = 0.0f; - sp8.y = 0.0f; - sp8.z = 0.0f; - var_f31 = 600.0f; - work = lbl_1_bss_98[arg0]->data; - work->unk_00 = 0; - work->unk_148 = work->unk_144 = 1.0f; - work->unk_1C = work->unk_04; - work->unk_34.x = sp14.x; - work->unk_34.y = sp14.y; - work->unk_34.z = sp14.z; - work->unk_28 = work->unk_10; - work->unk_40.x = sp8.x; - work->unk_40.y = sp8.y; - work->unk_40.z = sp8.z; - work->unk_134 = work->unk_130; - work->unk_138 = var_f31; - Hu3DCameraPerspectiveSet(1 << arg0, 45.0f, 100.0f, 5000.0f, 1.2f); - Hu3DCameraViewportSet(1 << arg0, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraViewportSet(2 >> arg0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(1 << arg0, 0, 0, 0x280, 0x1E0); - Hu3DCameraScissorSet(2 >> arg0, 0, 0, 0, 0); - var_r30 = lbl_1_bss_A0; - Hu3DModelAttrSet(var_r30->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r30->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r30->model[6], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r30->model[7], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r30->model[3], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r30->model[arg0 + 4], HU3D_ATTR_DISPOFF); - var_r30->func = fn_1_52D8; -} - -void fn_1_9DE8(u8 arg0, float arg8, s8 arg1) -{ - ParticleData *var_r31; - M433DllUnkStruct *var_r30; - - var_r31 = Hu3DData[lbl_1_bss_A0->model[arg0 + 6]].unk_120; - var_r30 = ((ParticleData *)Hu3DData[lbl_1_bss_A0->model[arg0 + 6]].unk_120)->unk_1C; - var_r30->unk_04 = 2; - var_r31->unk_04.x = arg8 * arg1; -} - -void fn_1_9EA8(u8 arg0) -{ - M433DllUnkStruct *var_r31 = ((ParticleData *)Hu3DData[lbl_1_bss_A0->model[arg0 + 6]].unk_120)->unk_1C; - if (var_r31->unk_04 == 2) { - var_r31->unk_04 = 3; - } -} - -u8 fn_1_9F08(u8 arg0) -{ - M433DllUnkStruct *var_r31 = ((ParticleData *)Hu3DData[lbl_1_bss_A0->model[arg0 + 6]].unk_120)->unk_1C; - return var_r31->unk_04; -} diff --git a/src/REL/m428Dll/player.c b/src/REL/m428Dll/player.c deleted file mode 100644 index 4964e8a5..00000000 --- a/src/REL/m428Dll/player.c +++ /dev/null @@ -1,3401 +0,0 @@ -#include "dolphin/gx/GXEnum.h" -#include "dolphin/gx/GXVert.h" -#include "dolphin/mtx/GeoTypes.h" -#include "ext_math.h" -#include "game/chrman.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfload.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/init.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" -#include "string.h" - -#include "REL/m428Dll.h" - -#ifndef __MWERKS__ -#include "game/esprite.h" -#include "game/frand.h" -#endif - -typedef struct M428DllBss13CStruct { - /* 0x00 */ float unk_00; - /* 0x04 */ char pad_04[0x3C]; /* maybe part of unk_00[0x10]? */ -} M428DllBss13CStruct; /* size = 0x40 */ - -typedef struct M428DllData4B0Struct { - Vec unk_00; - float unk_0C; -} M428DllData4B0Struct; /* size = 0x10 */ - -typedef struct M428DllData500Struct { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; -} M428DllData500Struct; /* size = 0x08 */ - -typedef struct M428DllPlayerWork { - omObjData *unk_00[2]; // M428DllPlayerWork2 - s16 unk_08[2]; - s16 unk_0C; - s16 unk_0E; - s16 unk_10; - s16 unk_12; - s32 unk_14; - s32 unk_18; - float unk_1C; - s32 unk_20; - s32 unk_24; - s32 unk_28; - float unk_2C; - float unk_30; - float unk_34; - s32 unk_38; - Vec unk_3C; - float unk_48; - float unk_4C[2]; - float unk_54[2]; - float unk_5C; - float unk_60; - Vec unk_64[2]; - Vec unk_7C; - Vec unk_88; - Vec unk_94; - Vec unk_A0; - Vec unk_AC; - s32 unk_B8; - s32 unk_BC; - s32 unk_C0; - s32 unk_C4; - float unk_C8; -} M428DllPlayerWork; /* size = 0xCC */ - -typedef struct M428DllPlayerWork2 { - s16 unk_00; - s16 unk_02; - s16 unk_04; - s16 unk_06; - s16 unk_08; - s16 unk_0A; - s16 unk_0C; - s16 unk_0E; - s16 unk_10; - float unk_14; - float unk_18; - s16 unk_1C; - s16 unk_1E; - s16 unk_20; - s16 unk_22; - s16 unk_24; - s16 unk_26; - float unk_28; - float unk_2C; - s32 unk_30; - s32 unk_34; - s32 unk_38; - Vec unk_3C; - Vec unk_48; - Vec unk_54; - Mtx unk_60; - Vec unk_90; - char unk_9C[0x100]; - s32 unk_19C; - s32 unk_1A0; - s32 unk_1A4; - s32 unk_1A8; - float unk_1AC; - s32 unk_1B0; - s32 unk_1B4; - Vec unk_1B8; -} M428DllPlayerWork2; /* size = 0x1C4 */ - -typedef struct M428DllPlayerWork3 { - s32 unk_00; - s32 unk_04[2]; - float unk_0C[2][2]; - s32 unk_1C[2]; - float unk_24[2][2]; - AnimData *unk_34; - AnimData *unk_38; - s32 unk_3C[2][2]; - s32 unk_4C[2][2]; -} M428DllPlayerWork3; /* size = 0x5C */ - -typedef struct M428DllPlayerUnkStruct { - s16 unk_00; - s16 unk_02; - s32 unk_04; - Vec unk_08[4]; -} M428DllPlayerUnkStruct; /* size = 0x38 */ - -typedef struct M428DllPlayerUnk120Struct { - s16 unk_00; - s16 unk_02; - float unk_04; - float unk_08; - s32 unk_0C; - s32 unk_10; - float unk_14; - float unk_18; - s32 unk_1C; - Vec unk_20; - Vec unk_2C; - Vec unk_38; - s32 unk_44; - float unk_48; - float unk_4C; - float unk_50; - M428DllPlayerUnkStruct *unk_54; -} M428DllPlayerUnk120Struct; /* size = 0x58 */ - -typedef struct M428DllPlayerUnkStruct2 { - s16 unk_00; - s16 unk_02; - float unk_04; - float unk_08; - float unk_0C; - char unk10[8]; - float unk_18; - char unk1C[0xC]; - float unk_28; - float unk_2C; - float unk_30; - float unk_34; - Vec unk_38; - GXColor unk_44; - s32 unk_48; -} M428DllPlayerUnkStruct2; /* size = 0x4C */ - -typedef void (*M428DllPlayerHook)(ModelData *model, struct M428DllPlayerUnk120Struct2 *arg1, Mtx matrix); - -typedef struct M428DllPlayerUnk120Struct2 { - s16 unk_00; - s16 unk_02; - char unk04[0x1C]; - u8 unk_20; - u8 unk_21; - u8 unk_22; - u8 unk_23; - char unk24[2]; - s16 unk_26; - s32 unk_28; - s32 unk_2C; - u32 unk_30; - u32 unk_34; - AnimData *unk_38; - M428DllPlayerUnkStruct2 *unk_3C; - Vec *unk_40; - Vec2f *unk_44; - void *unk_48; - M428DllPlayerHook unk_4C; - ModelData *unk_50; -} M428DllPlayerUnk120Struct2; /* size = 0x54 */ - -typedef struct M428DllPlayerWork4 { - s32 unk_00[2]; - s32 unk_08[2]; - AnimData *unk_10; -} M428DllPlayerWork4; /* size = 0x14 */ - -void fn_1_102A8(ModelData *modle, Mtx matrix); -void fn_1_10530(s32 arg0, Vec *arg1, Vec *arg2); -void fn_1_10590(s32 arg0, s32 arg1, s32 arg2, Vec *arg3); -void fn_1_105E8(s32 arg0, float arg8, float arg9); -s32 fn_1_10788(s32 arg0, Vec *arg1, Vec *arg2, Vec *arg3); -void fn_1_10A88(void); -void fn_1_11014(omObjData *object); -void fn_1_115F8(void); -void fn_1_118A8(s32 arg0, float arg8); -void fn_1_11930(void); -void fn_1_11A60(omObjData *object); -void fn_1_11C20(void); -s32 fn_1_11DE4(s32 arg0, Vec arg1, Vec arg2, float arg8, float arg9, float argA, float argB, GXColor arg3); -float fn_1_1236C(float arg8, float arg9, float argA); -void fn_1_129B4(float arg8, Vec *arg0, Vec *arg1, Vec *arg2); -void fn_1_12AA4(float arg8, Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3); -s16 fn_1_12CD4(AnimData *arg0, s16 arg1); -void fn_1_134C0(ModelData *model, Mtx matrix); -void fn_1_13D9C(s16 arg0, s16 arg1, s32 arg2); -void fn_1_13E14(s16 arg0, s16 arg1, Vec arg2); -void fn_1_13EC8(s16 arg0, s16 arg1, float arg8); -s32 fn_1_13F54(s16 arg0, char *arg1, Mtx arg2, s32 arg3); -void fn_1_14088(HsfObject *arg0, Mtx arg1, char *arg2, Mtx arg3); -void fn_1_A108(omObjData *object); -void fn_1_A4C8(omObjData *object); -void fn_1_B3D4(omObjData *object); -void fn_1_B43C(omObjData *object); -void fn_1_BBD0(omObjData *object); -void fn_1_E5F4(omObjData *object); -void fn_1_E600(omObjData *object); -s32 fn_1_F288(Vec *arg0, Vec *arg1, float arg8); -s32 fn_1_F538(Vec *arg0, Vec *arg1, Vec *arg2, float arg8); -s32 fn_1_FB8C(Vec *arg0, Vec *arg1, float arg8, s32 arg2, s32 arg3); - -extern u32 GlobalCounter; - -Vec lbl_1_data_150[4] = { - { -140.0f, -400.0f, 0.0f }, - { 140.0f, -300.0f, 0.0f }, - { -140.0f, -300.0f, 0.0f }, - { 140.0f, -400.0f, 0.0f }, -}; -Vec lbl_1_data_180[4] = { - { -100.0f, -10.0f, 150.0f }, - { 100.0f, -10.0f, 150.0f }, - { -100.0f, -10.0f, 150.0f }, - { 100.0f, -10.0f, 150.0f }, -}; -Vec lbl_1_data_1B0[4][0xE] = { - { - { -11.0f, 214.0f, 39.0f }, - { -11.0f, 400.0f, 46.0f }, - { -11.0f, 668.0f, 56.0f }, - { -11.0f, 931.0f, 42.0f }, - { 7.0f, 1131.0f, 65.0f }, - { -452.0f, 1449.0f, 57.0f }, - { -478.0f, 1763.0f, 48.0f }, - { -452.0f, 2001.0f, 44.0f }, - { -311.0f, 2120.0f, 55.0f }, - { -85.0f, 2442.0f, 42.0f }, - { -32.0f, 2876.0f, 43.0f }, - { -12.0f, 3300.0f, 48.0f }, - { -42.0f, 4500.0f, 48.0f }, - { -42.0f, 4500.0f, 48.0f }, - }, - { - { 16.0f, 203.0f, 40.0f }, - { 0.0f, 456.0f, 50.0f }, - { 15.0f, 650.0f, 58.0f }, - { -268.0f, 935.0f, 51.0f }, - { -463.0f, 1205.0f, 66.0f }, - { -663.0f, 1313.0f, 69.0f }, - { -460.0f, 1600.0f, 59.0f }, - { -333.0f, 1946.0f, 46.0f }, - { -82.0f, 2188.0f, 44.0f }, - { -76.0f, 2374.0f, 40.0f }, - { -108.0f, 2620.0f, 43.0f }, - { -95.0f, 2990.0f, 46.0f }, - { -270.0f, 3445.0f, 46.0f }, - { -42.0f, 4500.0f, 48.0f }, - }, - { - { 26.0f, 354.0f, 46.0f }, - { 29.0f, 604.0f, 57.0f }, - { 30.0f, 877.0f, 39.0f }, - { 51.0f, 1086.0f, 64.0f }, - { 360.0f, 1196.0f, 46.0f }, - { 398.0f, 1416.0f, 39.0f }, - { 468.0f, 1658.0f, 43.0f }, - { 468.0f, 1944.0f, 53.0f }, - { 135.0f, 2174.0f, 47.0f }, - { 107.0f, 2430.0f, 61.0f }, - { 98.0f, 2698.0f, 43.0f }, - { 90.0f, 2995.0f, 50.0f }, - { 0.0f, 4500.0f, 48.0f }, - { 0.0f, 4500.0f, 48.0f }, - }, - { - { -24.0f, 313.0f, 41.0f }, - { -11.0f, 529.0f, 51.0f }, - { -33.0f, 799.0f, 44.0f }, - { 7.0f, 990.0f, 53.0f }, - { 135.0f, 1196.0f, 57.0f }, - { 393.0f, 1379.0f, 39.0f }, - { 429.0f, 1457.0f, 42.0f }, - { 420.0f, 1984.0f, 54.0f }, - { 190.0f, 2239.0f, 53.0f }, - { 70.0f, 2532.0f, 55.0f }, - { 75.0f, 2933.0f, 44.0f }, - { 75.0f, 4500.0f, 48.0f }, - { 75.0f, 4500.0f, 48.0f }, - { 75.0f, 4500.0f, 48.0f }, - }, -}; -Vec lbl_1_data_450[4] = { - { -30.000002f, -10.0f, -90.0f }, - { 20.0f, -10.0f, -70.0f }, - { 0.0f, -10.0f, 0.0f }, - { 0.0f, -10.0f, 0.0f }, -}; -Vec lbl_1_data_480[4] = { - { 15.0f, 150.0f, 0.0f }, - { 15.0f, 210.0f, 0.0f }, - { 0.0f, 180.0f, 0.0f }, - { 0.0f, 180.0f, 0.0f }, -}; -M428DllData4B0Struct lbl_1_data_4B0[5] = { - { { -400.0f, 700.0f, 0.0f }, 200.0f }, - { { 400.0f, 900.0f, 0.0f }, 200.0f }, - { { 0.0f, 1800.0f, 0.0f }, 220.0f }, - { { -600.0f, 3100.0f, 0.0f }, 300.0f }, - { { 600.0f, 2880.0f, 0.0f }, 300.0f }, -}; -M428DllData500Struct lbl_1_data_500[0xC] = { - { 0x5F0000, 0 }, - { 0x5F0002, 0 }, - { 0x5F0003, 0 }, - { -1, 0 }, - { -1, 1 }, - { -1, 2 }, - { -1, 3 }, - { 0x5F0006, 0 }, - { 0x5F0014, 0 }, - { 0x5F005B, 0 }, - { 0x5F0017, 0 }, - { 0x5F0018, 0 }, -}; -s32 lbl_1_data_560[4][8] = { - { - DATA_MAKE_NUM(DATADIR_M428, 0x11), - DATA_MAKE_NUM(DATADIR_M428, 0x12), - DATA_MAKE_NUM(DATADIR_M428, 0x13), - DATA_MAKE_NUM(DATADIR_M428, 0x14), - DATA_MAKE_NUM(DATADIR_M428, 0x15), - DATA_MAKE_NUM(DATADIR_M428, 0x16), - DATA_MAKE_NUM(DATADIR_M428, 0x17), - DATA_MAKE_NUM(DATADIR_M428, 0x18), - }, - { - DATA_MAKE_NUM(DATADIR_M428, 0x19), - DATA_MAKE_NUM(DATADIR_M428, 0x1A), - DATA_MAKE_NUM(DATADIR_M428, 0x1B), - DATA_MAKE_NUM(DATADIR_M428, 0x1C), - DATA_MAKE_NUM(DATADIR_M428, 0x1D), - DATA_MAKE_NUM(DATADIR_M428, 0x1E), - DATA_MAKE_NUM(DATADIR_M428, 0x1F), - DATA_MAKE_NUM(DATADIR_M428, 0x20), - }, - { - DATA_MAKE_NUM(DATADIR_M428, 0x21), - DATA_MAKE_NUM(DATADIR_M428, 0x22), - DATA_MAKE_NUM(DATADIR_M428, 0x23), - DATA_MAKE_NUM(DATADIR_M428, 0x24), - DATA_MAKE_NUM(DATADIR_M428, 0x25), - DATA_MAKE_NUM(DATADIR_M428, 0x26), - DATA_MAKE_NUM(DATADIR_M428, 0x27), - DATA_MAKE_NUM(DATADIR_M428, 0x28), - }, - { - DATA_MAKE_NUM(DATADIR_M428, 0x29), - DATA_MAKE_NUM(DATADIR_M428, 0x2A), - DATA_MAKE_NUM(DATADIR_M428, 0x2B), - DATA_MAKE_NUM(DATADIR_M428, 0x2C), - DATA_MAKE_NUM(DATADIR_M428, 0x2D), - DATA_MAKE_NUM(DATADIR_M428, 0x2E), - DATA_MAKE_NUM(DATADIR_M428, 0x2F), - DATA_MAKE_NUM(DATADIR_M428, 0x30), - }, -}; -Vec lbl_1_data_5E0[8] = { - { 0.0f, -10.0f, -20.0f }, - { 0.0f, -10.0f, -20.0f }, - { 0.0f, -30.000002f, -20.0f }, - { 0.0f, -10.0f, -20.0f }, - { 0.0f, -10.0f, -20.0f }, - { 0.0f, 10.0f, -10.0f }, - { 0.0f, -30.000002f, -20.0f }, - { 0.0f, -10.0f, -20.0f }, -}; -s32 lbl_1_data_640[4] = { 0x80000000, 0x40000000, 0x20000000, 0x10000000 }; -GXColor lbl_1_data_650 = { 0xFF, 0xFF, 0xFF, 0x20 }; -GXColor lbl_1_data_654 = { 0xFF, 0xFF, 0xFF, 0x40 }; - -Process *lbl_1_bss_2D0; -// M428DllPlayerWork -omObjData *lbl_1_bss_2C8[2]; -omObjData *lbl_1_bss_2B8[4]; -// M428DllPlayerWork3 -omObjData *lbl_1_bss_2B4; -// M428DllPlayerWork4 -omObjData *lbl_1_bss_2B0; -M428DllPlayerWork *lbl_1_bss_2AC; -M428DllPlayerWork2 *lbl_1_bss_2A8; -s32 lbl_1_bss_2A4; -s32 lbl_1_bss_29C[2]; -Mtx lbl_1_bss_23C[2]; -M428DllBss13CStruct lbl_1_bss_1BC[2]; -M428DllBss13CStruct lbl_1_bss_13C[2]; -s32 lbl_1_bss_138; -s32 lbl_1_bss_134; -s32 lbl_1_bss_130; - -omObjData *fn_1_9F5C(Process *process) -{ - s32 var_r31; - - lbl_1_bss_2D0 = process; - lbl_1_bss_2A4 = 0; - lbl_1_bss_2AC = HuMemDirectMallocNum(HEAP_SYSTEM, 2 * sizeof(M428DllPlayerWork), MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_2AC, 0, 2 * sizeof(M428DllPlayerWork)); - lbl_1_bss_2A8 = HuMemDirectMallocNum(HEAP_SYSTEM, 4 * sizeof(M428DllPlayerWork2), MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_2A8, 0, 4 * sizeof(M428DllPlayerWork2)); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - lbl_1_bss_2C8[var_r31] = omAddObjEx(process, 0x40, 1, 0, -1, fn_1_A108); - lbl_1_bss_2C8[var_r31]->work[0] = var_r31; - } - fn_1_10A88(); - fn_1_11798(0); - fn_1_11930(); - lbl_1_bss_29C[0] = lbl_1_bss_29C[1] = 0; - return lbl_1_bss_2C8[var_r31]; -} - -void fn_1_A0B0(void) -{ - s32 var_r31; - - fn_1_115F8(); - fn_1_11C20(); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - fn_1_B3D4(lbl_1_bss_2C8[var_r31]); - } -} - -void fn_1_A108(omObjData *object) -{ - M428DllPlayerWork *work; - s32 var_r30; - s32 var_r28; - s32 var_r27; - - var_r28 = object->work[0]; - work = &lbl_1_bss_2AC[var_r28]; - object->data = work; - work->unk_0C = var_r28; - work->unk_0E = 0; - work->unk_10 = 0; - work->unk_12 = (u8)frand() % 4; - work->unk_14 = 0; - work->unk_18 = 0; - work->unk_1C = 0.0f; - work->unk_20 = 0; - work->unk_24 = 0; - work->unk_28 = 0; - work->unk_2C = 0.0f; - work->unk_30 = 0.0f; - work->unk_34 = 0.0f; - work->unk_B8 = 0; - work->unk_BC = -1; - work->unk_C0 = work->unk_C4 = 0; - work->unk_C8 = 0.0f; - work->unk_38 = -1; - work->unk_4C[0] = work->unk_4C[1] = 0.0f; - work->unk_48 = 400.0f; - work->unk_54[0] = work->unk_5C = 200.0f; - work->unk_54[1] = work->unk_60 = 200.0f; - work->unk_64[0].x = 0.5f * (lbl_1_data_150[0].x + lbl_1_data_150[1].x); - work->unk_64[0].y = 0.5f * (lbl_1_data_150[0].y + lbl_1_data_150[1].y); - work->unk_64[0].z = 0.5f * (lbl_1_data_150[0].z + lbl_1_data_150[1].z); - work->unk_64[1] = work->unk_64[0]; - work->unk_7C = work->unk_64[0]; - work->unk_88 = work->unk_64[1]; - work->unk_94.x = work->unk_94.y = work->unk_94.z = 0.0f; - work->unk_A0.x = work->unk_A0.y = work->unk_A0.z = 0.0f; - work->unk_AC.x = work->unk_AC.y = work->unk_AC.z = 0.0f; - for (var_r30 = 0; var_r30 < 2; var_r30++) { - var_r27 = lbl_1_bss_50[var_r30 + (var_r28 * 2)]; - work->unk_08[var_r30] = var_r27; - work->unk_00[var_r30] = lbl_1_bss_2B8[var_r27] = omAddObjEx(lbl_1_bss_2D0, 0x41, 2, 0xC, -1, fn_1_B43C); - work->unk_00[var_r30]->data = NULL; - work->unk_00[var_r30]->work[0] = var_r27; - work->unk_00[var_r30]->work[1] = work->unk_0C; - work->unk_00[var_r30]->work[2] = var_r30; - } - object->model[0] = fn_1_FB8C(&lbl_1_data_150[0], &lbl_1_data_150[1], 400.0f, 0x30, work->unk_0C); - if (work->unk_0C == 0) { - Hu3DModelCameraSet(object->model[0], 1); - } - else { - Hu3DModelCameraSet(object->model[0], 2); - } - object->func = fn_1_A4C8; -} - -void fn_1_A4C8(omObjData *object) -{ - Vec sp50; - Vec sp44; - Vec sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - float var_f25; - M428DllPlayerWork *var_r31; - M428DllPlayerWork2 *var_r30; - M428DllPlayerWork2 *var_r29; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - s32 var_r22; - s32 var_r21; - - var_r22 = 0; - var_r24 = 0; - var_r23 = 0; - var_r31 = object->data; - var_r30 = var_r31->unk_00[0]->data; - var_r29 = var_r31->unk_00[1]->data; - if (!var_r30 || !var_r29) { - return; - } - if ((fn_1_26E0() < 7) || (lbl_1_bss_2A4 == 0)) { - sp50.x = var_r30->unk_90.x; - sp50.y = var_r30->unk_90.y; - sp50.z = var_r30->unk_90.z; - sp44.x = var_r29->unk_90.x; - sp44.y = var_r29->unk_90.y; - sp44.z = var_r29->unk_90.z; - VECAdd(&sp50, &sp44, &sp2C); - VECScale(&sp2C, &sp2C, 0.5f); - var_r21 = fn_1_10788(object->model[0], &sp50, &sp44, &sp38); - if (var_r21 != -1) { - if (var_r31->unk_38 != var_r21) { - var_r31->unk_38 = var_r21; - var_r31->unk_3C = sp38; - var_r23 = 1; - } - else { - var_r23 = 0; - } - var_r31->unk_64[1] = var_r31->unk_3C; - var_r31->unk_64[0] = var_r31->unk_64[1]; - var_f31 = var_r31->unk_4C[0] + var_r31->unk_4C[1]; - if (var_f31 >= 400.0f) { - if (var_r23 != 0) { - var_r31->unk_48 = var_f31; - } - else { - var_r31->unk_48 + (400.0f - var_r31->unk_48) * 0.01f; // bug - (void)var_r22; - } - var_f31 = 1.0f / var_f31; - var_r31->unk_54[0] = var_r31->unk_48 * (var_r31->unk_4C[0] * var_f31); - var_r31->unk_54[1] = var_r31->unk_48 * (var_r31->unk_4C[1] * var_f31); - } - else { - var_f31 = 1.0f / var_f31; - var_r31->unk_54[0] = 400.0f * (var_r31->unk_4C[0] * var_f31); - var_r31->unk_54[1] = 400.0f * (var_r31->unk_4C[1] * var_f31); - var_r31->unk_48 = 400.0f; - } - var_f31 = var_r31->unk_54[0] + var_r31->unk_54[1]; - var_r26 = 48.0f * (var_r31->unk_54[0] / var_f31); - if (var_r26 < 1) { - var_r26 = 1; - } - else if (var_r26 > 0x2E) { - var_r26 = 0x2E; - } - fn_1_10590(object->model[0], 1, var_r26, &var_r31->unk_3C); - var_f31 = (var_r31->unk_4C[0] + var_r31->unk_4C[1]) / var_r31->unk_48; - if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - fn_1_105E8(object->model[0], 1.0f - var_f31, 1.0f - var_f31); - } - else { - var_r31->unk_38 = -1; - fn_1_10590(object->model[0], 0, 0x18, &var_r31->unk_3C); - var_f31 = (var_r31->unk_4C[0] + var_r31->unk_4C[1]) / 400.0f; - if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - fn_1_105E8(object->model[0], 1.0f - var_f31, 1.0f - var_f31); - var_r31->unk_48 = 400.0f; - var_r31->unk_64[1] = sp2C; - var_r31->unk_64[0] = var_r31->unk_64[1]; - var_r31->unk_54[0] = 200.0f; - var_r31->unk_54[1] = 200.0f; - } - var_r31->unk_54[0] = var_r31->unk_5C + (0.01f * (var_r31->unk_54[0] - var_r31->unk_5C)); - var_r31->unk_54[1] = var_r31->unk_60 + (0.01f * (var_r31->unk_54[1] - var_r31->unk_60)); - fn_1_129B4(0.1f, &var_r31->unk_64[2], &var_r31->unk_64[0], &var_r31->unk_64[0]); - fn_1_129B4(0.1f, &var_r31->unk_88, &var_r31->unk_64[1], &var_r31->unk_64[1]); - var_r31->unk_5C = var_r31->unk_54[0]; - var_r31->unk_60 = var_r31->unk_54[1]; - var_r31->unk_7C = var_r31->unk_64[0]; - var_r31->unk_88 = var_r31->unk_64[1]; - if (var_r31->unk_38 != -1) { - var_r31->unk_94 = var_r31->unk_64[0]; - var_r31->unk_A0 = var_r31->unk_64[1]; - } - else if (var_r30->unk_20 == 4) { - var_r31->unk_94 = var_r29->unk_90; - var_r31->unk_A0 = var_r30->unk_90; - } - else if (var_r29->unk_20 == 4) { - var_r31->unk_94 = var_r30->unk_90; - var_r31->unk_A0 = var_r29->unk_90; - } - else { - var_r31->unk_94 = var_r31->unk_64[0]; - var_r31->unk_A0 = var_r31->unk_64[1]; - } - if (lbl_1_bss_29C[var_r31->unk_0C] == 5) { - var_r24 = 1; - } - if ((fn_1_26E0() != 4) || (var_r31->unk_18 != 0)) { - var_r24 = 0; - } - if (var_r24 != 0) { - var_r27 = -1; - if ((var_r30->unk_20 == 2) && (var_r29->unk_20 == 3)) { - var_r27 = 0; - } - else if ((var_r30->unk_20 == 3) && (var_r29->unk_20 == 2)) { - var_r27 = 1; - } - else if ((var_r30->unk_20 == 2) && (var_r29->unk_20 == 2)) { - if (sp50.y > sp44.y) { - var_r27 = 0; - } - else { - var_r27 = 1; - } - } - if (var_r27 == 0) { - var_r30->unk_20 = 4; - var_r30->unk_22 = 0; - var_r30->unk_34 = 0; - var_r30->unk_38 = 0; - var_r30->unk_3C.x = 0.0f; - var_r30->unk_3C.y = var_r30->unk_3C.z = 0.0f; - var_r31->unk_2C = sp50.y; - var_r31->unk_AC = sp50; - var_r31->unk_34 = 0.0f; - } - else if (var_r27 == 1) { - var_r29->unk_20 = 4; - var_r29->unk_22 = 0; - var_r29->unk_34 = 0; - var_r29->unk_38 = 0; - var_r29->unk_3C.x = 0.0f; - var_r29->unk_3C.y = var_r29->unk_3C.z = 0.0f; - var_r31->unk_2C = sp44.y; - var_r31->unk_AC = sp44; - var_r31->unk_34 = 0.0f; - } - } - if ((var_r30->unk_20 == 4) || (var_r29->unk_20 == 4)) { - var_r31->unk_24 = 1; - var_r31->unk_28 = 1; - } - else { - var_r31->unk_24 = 0; - } - if (lbl_1_bss_29C[var_r31->unk_0C] != 5) { - var_r31->unk_28 = 0; - } - sp50.x = var_r30->unk_90.x; - sp50.y = var_r30->unk_90.y; - sp50.z = var_r30->unk_90.z; - sp44.x = var_r29->unk_90.x; - sp44.y = var_r29->unk_90.y; - sp44.z = var_r29->unk_90.z; - fn_1_10530(object->model[0], &sp50, &sp44); - if (var_r31->unk_00[0]->trans.y > var_r31->unk_00[1]->trans.y) { - var_r31->unk_1C = var_r31->unk_00[0]->trans.y; - var_r31->unk_10 = 0; - } - else if (var_r31->unk_00[1]->trans.y > var_r31->unk_00[0]->trans.y) { - var_r31->unk_1C = var_r31->unk_00[1]->trans.y; - var_r31->unk_10 = 1; - } - else { - var_r25 = frand() & 1; - var_r31->unk_1C = var_r31->unk_00[var_r25]->trans.y; - var_r31->unk_10 = var_r25; - } - fn_1_118A8(var_r31->unk_0C, var_r31->unk_1C / 3800.0f); - if (fn_1_26E0() == 4) { - sp50.x = var_r31->unk_00[0]->trans.x; - sp50.y = var_r31->unk_00[0]->trans.y; - sp50.z = var_r31->unk_00[0]->trans.z; - sp44.x = var_r31->unk_00[1]->trans.x; - sp44.y = var_r31->unk_00[1]->trans.y; - sp44.z = var_r31->unk_00[1]->trans.z; - VECAdd(&sp50, &sp44, &sp2C); - VECScale(&sp2C, &sp2C, 0.5f); - VECSubtract(&sp50, &sp44, &sp20); - sp20.z = 0.0f; - var_f29 = VECMag(&sp20); - if (var_f29 < 100.0f) { - var_f27 = 0.0f; - } - else if (var_f29 >= 300.0f) { - var_f27 = 1.0f; - } - else { - var_f27 = (var_f29 - 100.0f) / 200.0f; - } - var_f29 = 1500.0f + (500.0f * var_f27); - var_f28 = sp2C.x; - if (var_f28 > 400.0f) { - var_f28 = 400.0f; - } - else if (var_f28 < -400.0f) { - var_f28 = -400.0f; - } - var_f26 = sp2C.y; - if (var_f26 < 400.0f) { - var_f26 = 400.0f; - } - var_f25 = var_r31->unk_1C; - if (var_f25 < 20.0f) { - var_f30 = 0.0f; - } - else { - var_f30 = (var_f25 - 20.0f) / 3780.0f; - if (var_f30 >= 1.0f) { - var_f30 = 1.0f; - } - } - sp14.x = var_f28; - sp14.y = var_f26; - sp14.z = 0.0f; - sp8.x = 70.0f * var_f30; - sp8.y = 0.0f; - sp8.z = 0.0f; - if (var_r31->unk_C4 > 0) { - var_f30 = var_r31->unk_C8 * ((float)var_r31->unk_C0 / var_r31->unk_C4); - var_r25 = (var_r31->unk_C0 * 0x2D) % 360; - var_f30 = var_f30 * sind(var_r25); - var_f30 = var_f30; - sp14.x += var_f30; - sp14.y += var_f30; - if (--var_r31->unk_C0 <= 0) { - var_r31->unk_C0 = var_r31->unk_C4 = 0; - } - var_r22 = 1; - } - if (var_r22 == 0) { - fn_1_9A30(var_r31->unk_0C, 12.0f, &sp14, &sp8, var_f29); - } - else { - fn_1_9A30(var_r31->unk_0C, 3.0f, &sp14, &sp8, var_f29); - } - } - if (var_r31->unk_BC != -1) { - if (var_r31->unk_BC == 0) { - var_r31->unk_B8++; - if (var_r31->unk_B8 == 1) { - omVibrate(var_r31->unk_08[0], 0xC, 6, 6); - omVibrate(var_r31->unk_08[1], 0xC, 6, 6); - return; - } - if (var_r31->unk_B8 >= 45.0f) { - var_r31->unk_B8 = 0; - } - } - else { - var_r31->unk_B8++; - if (var_r31->unk_B8 == 1) { - omVibrate(var_r31->unk_08[0], 0xC, 0xC, 0); - omVibrate(var_r31->unk_08[1], 0xC, 0xC, 0); - return; - } - if (var_r31->unk_B8 >= 6.0f) { - var_r31->unk_B8 = 0; - } - } - } - } - else { - switch (fn_1_26E0()) { - case 7: - if (lbl_1_bss_2A4 != 0) { - if (var_r31->unk_14 != 0) { - var_r30->unk_20 = 7; - var_r30->unk_22 = 0; - var_r29->unk_20 = 7; - var_r29->unk_22 = 0; - } - else { - var_r30->unk_20 = 9; - var_r30->unk_22 = 0; - var_r29->unk_20 = 9; - var_r29->unk_22 = 0; - } - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - } - break; - case 8: - break; - case 9: - if ((var_r31->unk_14 != 0) && (lbl_1_bss_2A4 != 0)) { - var_r30->unk_20 = 8; - var_r30->unk_22 = 0; - var_r29->unk_20 = 8; - var_r29->unk_22 = 0; - } - break; - } - } -} - -void fn_1_B3D4(omObjData *object) -{ - s32 var_r31; - M428DllPlayerWork *work = object->data; - for (var_r31 = 0; var_r31 < 2; var_r31++) { - fn_1_E5F4(work->unk_00[var_r31]); - work->unk_00[var_r31] = NULL; - } -} - -void fn_1_B43C(omObjData *object) -{ - M428DllPlayerWork2 *var_r31; - s32 var_r29; - s32 var_r28; - u32 var_r27; - M428DllPlayerWork *var_r26; - u32 var_r25; - u32 var_r24; - - var_r27 = object->work[0]; - var_r25 = object->work[1]; - var_r24 = object->work[2]; - var_r26 = &lbl_1_bss_2AC[var_r25]; - var_r31 = object->data = &lbl_1_bss_2A8[var_r27]; - var_r31->unk_00 = var_r27; - var_r31->unk_02 = var_r25; - var_r31->unk_04 = var_r24; - var_r31->unk_06 = GWPlayerCfg[var_r27].character; - var_r31->unk_08 = GWPlayerCfg[var_r27].pad_idx; - var_r31->unk_0A = GWPlayerCfg[var_r27].iscom; - var_r31->unk_0C = GWPlayerCfg[var_r27].diff; - if ((var_r31->unk_0A == 0) && ((lbl_1_data_640[var_r31->unk_08] & HuPadRumbleGet()) == 0)) { - lbl_1_bss_18 = 0; - } - if (var_r31->unk_0A != 0) { - var_r26->unk_0E = var_r26->unk_0E | (1 << var_r31->unk_04); - } - var_r31->unk_0E = var_r31->unk_10 = 0; - var_r31->unk_14 = var_r31->unk_18 = 0.0f; - var_r31->unk_1C = -1; - var_r31->unk_1E = 4; - var_r31->unk_20 = 0; - var_r31->unk_22 = var_r31->unk_24 = 0; - var_r31->unk_26 = 0; - var_r31->unk_28 = 200.0f; - var_r31->unk_2C = var_r31->unk_28; - var_r31->unk_30 = 0; - var_r31->unk_34 = 0; - var_r31->unk_38 = 0; - var_r31->unk_3C.x = var_r31->unk_3C.y = var_r31->unk_3C.z = 0.0f; - var_r31->unk_48.x = var_r31->unk_48.y = var_r31->unk_48.z = 0.0f; - var_r31->unk_54.x = 0.0f; - var_r31->unk_54.z = 0.0f; - var_r31->unk_54.y = 75.0f; - mtxRot(var_r31->unk_60, 0.0f, 0.0f, 0.0f); - mtxTransCat(var_r31->unk_60, lbl_1_data_5E0[var_r31->unk_06].x, lbl_1_data_5E0[var_r31->unk_06].y, lbl_1_data_5E0[var_r31->unk_06].z); - var_r31->unk_90.x = lbl_1_data_150[var_r31->unk_04].x; - var_r31->unk_90.y = 80.0f + lbl_1_data_150[var_r31->unk_04].y; - var_r31->unk_90.z = lbl_1_data_150[var_r31->unk_04].z; - strcpy(var_r31->unk_9C, MakeObjectName(CharModelHookNameGet(var_r31->unk_06, 4, 4))); - var_r31->unk_19C = -1; - var_r31->unk_1A0 = 30.0f * ((frand() & 0x7FFF) % 5); - var_r31->unk_1A4 = 0; - var_r31->unk_1A8 = 0; - var_r31->unk_1AC = 0.0f; - var_r31->unk_1B0 = 0; - var_r31->unk_1B4 = 0; - var_r31->unk_1B8.x = 0.5f * (100.0f * ((0.007874016f * (frand() & 0x7F)) - 0.5f)); - var_r31->unk_1B8.y = 0.5f * (100.0f * ((0.007874016f * (frand() & 0x7F)) - 0.5f)); - var_r31->unk_1B8.z = 0.5f * (100.0f * ((0.007874016f * (frand() & 0x7F)) - 0.5f)); - var_r29 = CharModelCreate(var_r31->unk_06, 4); - object->model[0] = var_r29; - if (var_r31->unk_02 == 0) { - Hu3DModelCameraSet(var_r29, 1); - fn_1_4170(var_r29, 1); - } - else { - Hu3DModelCameraSet(var_r29, 2); - fn_1_4170(var_r29, 2); - } - Hu3DModelLayerSet(var_r29, 2); - CharModelStepTypeSet(var_r31->unk_06, 0); - if (var_r31->unk_02 == 0) { - var_r29 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M428, 0x07)); - object->model[1] = var_r29; - Hu3DModelCameraSet(var_r29, 1); - } - else { - var_r29 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M428, 0x08)); - object->model[1] = var_r29; - Hu3DModelCameraSet(var_r29, 2); - } - Hu3DModelLayerSet(var_r29, 2); - for (var_r28 = 0; var_r28 < 0xC; var_r28++) { - if (lbl_1_data_500[var_r28].unk_00 != 0xFFFFFFFF) { - object->motion[var_r28] = CharModelMotionCreate(var_r31->unk_06, lbl_1_data_500[var_r28].unk_00); - } - else { - object->motion[var_r28] = Hu3DJointMotionFile(object->model[0], lbl_1_data_560[lbl_1_data_500[var_r28].unk_04][var_r31->unk_06]); - } - } - var_r31->unk_1C = 3; - CharModelMotionSet(var_r31->unk_06, object->motion[var_r31->unk_1C]); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - CharModelMotionDataClose(var_r31->unk_06); - object->trans.x = var_r31->unk_48.x = lbl_1_data_150[var_r31->unk_04].x; - object->trans.y = var_r31->unk_48.y = lbl_1_data_150[var_r31->unk_04].y; - object->trans.z = var_r31->unk_48.z = lbl_1_data_150[var_r31->unk_04].z; - object->rot.x = object->rot.z = 0.0f; - object->rot.y = 180.0f; - object->func = fn_1_BBD0; -} - -void fn_1_BBD0(omObjData *object) -{ - Mtx sp104; - Vec spF8; - Vec spEC; - Vec spE0; - float var_f31; - float var_f30; - float var_f27; - float var_f26; - float var_f25; - float var_f24; - float var_f23; - float var_f22; - M428DllPlayerWork2 *var_r31; - M428DllPlayerWork *var_r29; - omObjData *var_r28; - M428DllPlayerWork2 *var_r27; - s32 var_r26; - ModelData *var_r25; - s32 var_r24; - s32 var_r23; - s32 var_r22; - s32 var_r21; - s32 var_r20; - - var_r31 = object->data; - var_r29 = &lbl_1_bss_2AC[var_r31->unk_02]; - var_r22 = var_r31->unk_04 ^ 1; - var_r28 = var_r29->unk_00[var_r22]; - var_r27 = var_r28->data; - if (fn_1_26E0() == 4) { - if (var_r31->unk_0A != 0) { - var_r31->unk_0E = var_r31->unk_10 = 0; - var_r31->unk_14 = var_r31->unk_18 = 0.0f; - fn_1_E600(object); - } - else { - var_r31->unk_0E = HuPadBtnDown[var_r31->unk_08]; - var_r31->unk_10 = HuPadBtn[var_r31->unk_08]; - var_r31->unk_14 = HuPadStkX[var_r31->unk_08]; - var_r31->unk_18 = HuPadStkY[var_r31->unk_08]; - } - } - else { - var_r31->unk_0E = var_r31->unk_10 = 0; - var_r31->unk_14 = var_r31->unk_18 = 0.0f; - } - switch (var_r31->unk_20) { - case 0: - var_r31->unk_20 = 1; - var_r31->unk_22 = 0; - break; - case 1: - if (object->trans.y < 0.0f) { - object->trans.y += 1.6f; - var_r26 = 3; - if ((var_r26 != var_r31->unk_1C) && (CharModelMotionShiftIDGet(var_r31->unk_06) == -1)) { - var_r31->unk_1C = var_r26; - CharModelMotionShiftSet(var_r31->unk_06, object->motion[var_r31->unk_1C], 0.0f, 8.0f, 0x40000001); - } - } - else { - object->trans.y = 0.0f; - CharModelMotionSpeedSet(var_r31->unk_06, 0.0f); - } - spF8 = var_r31->unk_90; - VECSubtract(&spF8, &var_r29->unk_64[var_r31->unk_04], &spEC); - var_r31->unk_30 = 0; - var_f31 = VECMag(&spEC); - var_r29->unk_4C[var_r31->unk_04] = var_f31; - spF8.x = object->trans.x + var_r31->unk_54.x; - spF8.y = object->trans.y + var_r31->unk_54.y; - spF8.z = object->trans.z + var_r31->unk_54.z; - if (fn_1_9990(&spF8) != 0) { - object->trans.z = 50.0f + spF8.z; - } - if (fn_1_26E0() >= 4) { - var_r31->unk_20 = 2; - var_r31->unk_22 = 0; - } - break; - case 2: - if (((var_r31->unk_0E & 0x100) != 0) || (var_r29->unk_24 != 0) || (var_r29->unk_28 != 0)) { - if (var_r31->unk_1C == 4) { - var_r31->unk_1E = 5; - } - else { - var_r31->unk_1E = 4; - } - var_r31->unk_26 = 0; - var_r31->unk_20 = 3; - var_r31->unk_22 = 0; - } - else { - if (fabs(var_r31->unk_14) >= 8.0) { - var_f27 = 0.025f * var_r31->unk_14; - } - else { - var_f27 = 0.0f; - } - if (fabs(var_r31->unk_18) >= 8.0) { - var_f24 = 0.025f * var_r31->unk_18; - } - else { - var_f24 = 0.0f; - } - spE0.x = var_f27; - spE0.y = var_f24; - spE0.z = 0.0f; - if (VECMag(&spE0) > 0.0f) { - spF8.x = object->trans.x + var_r31->unk_54.x; - spF8.y = object->trans.y + var_r31->unk_54.y; - spF8.z = object->trans.z + var_r31->unk_54.z; - if (fn_1_F288(&spF8, &spE0, 75.0f) != 0) { - object->trans.x += spE0.x; - object->trans.y += spE0.y; - } - else { - object->trans.x = spF8.x - var_r31->unk_54.x; - object->trans.y = spF8.y - var_r31->unk_54.y; - } - if ((var_r27->unk_20 == 2) || (var_r27->unk_20 == 3)) { - spE0.x = (object->trans.x + var_r31->unk_54.x) - (var_r28->trans.x + var_r27->unk_54.x); - spE0.y = (object->trans.y + var_r31->unk_54.y) - (var_r28->trans.y + var_r27->unk_54.y); - spE0.z = (object->trans.z + var_r31->unk_54.z) - (var_r28->trans.z + var_r27->unk_54.z); - var_f30 = VECMag(&spE0); - if (var_f30 <= 200.0f) { - if (var_f30 <= 0.0f) { - spE0.y = -1.0f; - } - VECNormalize(&spE0, &spE0); - VECScale(&spE0, &spE0, 200.0f); - object->trans.x = spE0.x + (var_r28->trans.x + var_r27->unk_54.x); - object->trans.y = spE0.y + (var_r28->trans.y + var_r27->unk_54.x); - object->trans.z = spE0.z + (var_r28->trans.z + var_r27->unk_54.x); - } - } - } - spF8 = var_r31->unk_90; - VECSubtract(&spF8, &var_r29->unk_64[var_r31->unk_04], &spEC); - var_r31->unk_30 = 0; - var_f31 = VECMag(&spEC); - var_r29->unk_4C[var_r31->unk_04] = var_f31; - if (var_f31 > var_r29->unk_54[var_r31->unk_04]) { - var_r31->unk_30 = 1; - VECNormalize(&spEC, &spEC); - VECScale(&spEC, &spEC, var_r29->unk_54[var_r31->unk_04]); - VECAdd(&var_r29->unk_64[var_r31->unk_04], &spEC, &spF8); - object->trans.x += spF8.x - var_r31->unk_90.x; - object->trans.y += spF8.y - var_r31->unk_90.y; - object->trans.z += spF8.z - var_r31->unk_90.z; - var_r20 = 1; - } - if ((var_r20 != 0) || (object->trans.x != var_r31->unk_48.x) || (object->trans.y != var_r31->unk_48.y)) { - spF8.x = var_r31->unk_48.x + var_r31->unk_54.x; - spF8.y = var_r31->unk_48.y + var_r31->unk_54.y; - spF8.z = var_r31->unk_48.z + var_r31->unk_54.z; - spE0.x = (object->trans.x + var_r31->unk_54.x) - spF8.x; - spE0.y = (object->trans.y + var_r31->unk_54.y) - spF8.y; - spE0.z = (object->trans.z + var_r31->unk_54.z) - spF8.z; - if (fn_1_F288(&spF8, &spE0, 75.0f) == 0) { - object->trans.x = spF8.x - var_r31->unk_54.x; - object->trans.y = spF8.y - var_r31->unk_54.y; - var_r20 = 1; - } - } - if (object->trans.x < -700.0f) { - object->trans.x = -700.0f; - } - else if (object->trans.x > 700.0f) { - object->trans.x = 700.0f; - } - if (object->trans.y < -200.0f) { - object->trans.y = -200.0f; - } - spF8.x = object->trans.x + var_r31->unk_54.x; - spF8.y = object->trans.y + var_r31->unk_54.y; - spF8.z = object->trans.z + var_r31->unk_54.z; - if (fn_1_9990(&spF8) != 0) { - object->trans.z = 50.0f + spF8.z; - } - var_f31 = sqrtf((var_r31->unk_14 * var_r31->unk_14) + (var_r31->unk_18 * var_r31->unk_18)); - var_f31 *= 0.02f; - CharModelMotionSpeedSet(var_r31->unk_06, var_f31); - if ((var_f27 == 0.0f) && (var_f24 == 0.0f)) { - CharModelMotionSpeedSet(var_r31->unk_06, 0.0f); - if ((var_r31->unk_1C != 8) && (var_r31->unk_1C != 9) && (var_r31->unk_1C != 6)) { - var_r26 = var_r31->unk_1C; - } - else { - var_r26 = 4; - } - var_f22 = object->rot.z; - } - else { - if (fabs(var_f27) > (2.0 * fabs(var_f24))) { - if (var_f27 > 0.0f) { - var_r26 = 4; - } - else { - var_r26 = 5; - } - var_f22 = 0.0f; - } - else { - var_r26 = 3; - if (var_f24 > 0.0f) { - var_f22 = -30.0f * (var_f27 / 1.6f); - } - else { - var_f22 = -(-30.0f * (var_f27 / 1.6f)); - CharModelMotionSpeedSet(var_r31->unk_06, -var_f31); - } - } - } - if ((var_r26 != var_r31->unk_1C) && (CharModelMotionShiftIDGet(var_r31->unk_06) == -1)) { - var_r23 = var_r31->unk_1C; - var_r31->unk_1C = var_r26; - if (var_r23 != 6) { - CharModelMotionShiftSet(var_r31->unk_06, object->motion[var_r31->unk_1C], 0.0f, 8.0f, 0x40000001); - } - else { - CharModelMotionShiftSet(var_r31->unk_06, object->motion[var_r31->unk_1C], 0.0f, 25.0f, 0x40000001); - } - } - else { - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - } - object->rot.x = 0.0f; - object->rot.y = 180.0f; - object->rot.z = fn_1_1236C(var_f22, object->rot.z, 1.25f); - } - break; - case 3: - spF8 = var_r31->unk_90; - VECSubtract(&spF8, &var_r29->unk_64[var_r31->unk_04], &spEC); - var_r31->unk_30 = 0; - var_f31 = VECMag(&spEC); - var_r29->unk_4C[var_r31->unk_04] = var_f31; - if (fn_1_26E0() != 4) { - var_r31->unk_10 = 0; - var_r31->unk_26 = 0; - } - if (((var_r31->unk_10 & 0x100) != 0) || (var_r29->unk_24 != 0) || (var_r29->unk_28 != 0) || (var_r31->unk_26 != 0)) { - if (var_r31->unk_26 > 0) { - var_r31->unk_26--; - } - if (var_r29->unk_24 != 0) { - if (fabs(var_r29->unk_34) > 0.0) { - spF8.x = object->trans.x; - spF8.y = object->trans.y; - spF8.z = object->trans.z; - var_r29->unk_A0.z = object->trans.z; - VECSubtract(&var_r29->unk_A0, &spF8, &spEC); - var_f30 = VECMag(&spEC); - if (var_f30 < var_r29->unk_34) { - var_r29->unk_34 = var_f30; - } - if (var_f30 > 0.0f) { - VECNormalize(&spEC, &spEC); - VECScale(&spEC, &spEC, var_r29->unk_34); - VECAdd(&spF8, &var_r31->unk_54, &spF8); - if (fn_1_F288(&spF8, &spEC, 75.0f) != 0) { - for (var_r24 = 0; var_r24 < 6; var_r24++) { - spF8.x = object->trans.x + (0.5f * (100.0f * ((0.007874016f * (frand() & 0x7F)) - 0.5f))); - spF8.y = 100.0f + object->trans.y + 0.5f * (100.0f * ((0.007874016f * (frand() & 0x7F)) - 0.5f)); - spF8.z = object->trans.z - 47.5f; - var_f31 = -22.5f + (45.0f * (0.007874016f * (frand() & 0x7F))); - spE0.x = 2.5 * sind(var_f31); - spE0.y = 2.5 * cosd(var_f31); - spE0.z = 0.0f; - fn_1_11DE4(var_r29->unk_0C, spF8, spE0, 50.0f, 5.0f, 100.0f, 0.5f, lbl_1_data_650); - } - object->trans.x += spEC.x; - object->trans.y += spEC.y; - } - } - } - } - spF8.x = object->trans.x; - spF8.y = object->trans.y; - spF8.z = object->trans.z; - if (fn_1_9990(&spF8) != 0) { - object->trans.z = 50.0f + spF8.z; - } - if (object->trans.x < -700.0f) { - object->trans.x = -700.0f; - } - else if (object->trans.x > 700.0f) { - object->trans.x = 700.0f; - } - if (object->trans.y < -200.0f) { - object->trans.y = -200.0f; - } - if (lbl_1_bss_29C[var_r29->unk_0C] == 5) { - var_r26 = 6; - if ((object->rot.z > 180.0f) || (object->rot.z < 45.0f)) { - object->rot.z += 5.0f; - } - if (object->rot.z >= 360.0f) { - object->rot.z -= 360.0f; - } - } - else { - var_r26 = var_r31->unk_1E; - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); - } - if ((var_r26 != var_r31->unk_1C) && (var_r26 != -1) && (CharModelMotionShiftIDGet(var_r31->unk_06) == -1)) { - var_r23 = var_r31->unk_1C; - var_r31->unk_1C = var_r26; - if (var_r31->unk_1C != 6) { - if (var_r23 != 6) { - CharModelMotionShiftSet(var_r31->unk_06, object->motion[var_r31->unk_1C], 0.0f, 8.0f, 0); - } - else { - CharModelMotionShiftSet(var_r31->unk_06, object->motion[var_r31->unk_1C], 0.0f, 25.0f, 0); - } - CharModelMotionSpeedSet(var_r31->unk_06, 0.0f); - } - else { - CharModelMotionShiftSet(var_r31->unk_06, object->motion[var_r31->unk_1C], 0.0f, 8.0f, 0x40000001); - } - } - if ((var_r31->unk_1C != 6) && (CharModelMotionShiftIDGet(var_r31->unk_06) == -1)) { - CharModelMotionTimeSet(var_r31->unk_06, 0.0f); - CharModelMotionSpeedSet(var_r31->unk_06, 0.0f); - } - if (var_r31->unk_1C == 6) { - CharModelMotionSpeedSet(var_r31->unk_06, 2.0f); - } - } - else { - var_r31->unk_20 = 2; - var_r31->unk_22 = 0; - } - break; - case 4: - spF8 = var_r31->unk_90; - VECSubtract(&spF8, &var_r29->unk_64[var_r31->unk_04], &spEC); - var_r31->unk_30 = 0; - var_f31 = VECMag(&spEC); - var_r29->unk_4C[var_r31->unk_04] = var_f31; - spF8.x = object->trans.x; - spF8.y = object->trans.y; - spF8.z = object->trans.z; - var_r31->unk_3C.y -= 0.65333337f; - if (var_r29->unk_38 == -1) { - var_r29->unk_30 = 400.0f; - var_r29->unk_94.x = var_r28->trans.x + var_r27->unk_54.x; - var_r29->unk_94.y = var_r28->trans.y + var_r27->unk_54.y; - var_r29->unk_94.z = var_r28->trans.z + var_r27->unk_54.z; - } - else { - var_r29->unk_30 = var_r29->unk_48 - var_r29->unk_54[var_r22]; - } - VECAdd(&spF8, &var_r31->unk_54, &spF8); - if ((fn_1_F288(&spF8, &var_r31->unk_3C, 75.0f) != 0) && ((object->trans.y + var_r31->unk_3C.y) >= -200.0f)) { - spF8.x = object->trans.x + var_r31->unk_3C.x; - spF8.y = object->trans.y + var_r31->unk_3C.y; - spF8.z = object->trans.z + var_r31->unk_3C.z; - if (object->trans.x < -700.0f) { - object->trans.x = -700.0f; - } - else if (object->trans.x > 700.0f) { - object->trans.x = 700.0f; - } - if (object->trans.y < -200.0f) { - object->trans.y = -200.0f; - } - VECSubtract(&spF8, &var_r29->unk_94, &spEC); - var_f31 = VECMag(&spEC); - if (var_f31 > var_r29->unk_30) { - VECNormalize(&spEC, &spEC); - VECScale(&spEC, &spEC, var_r29->unk_30); - VECAdd(&var_r29->unk_94, &spEC, &spF8); - if (fabs(spEC.x) < 180.0) { - var_r31->unk_34 = 1; - } - } - object->trans.x = spF8.x; - object->trans.y = spF8.y; - object->trans.z = spF8.z; - } - else { - object->trans.x = spF8.x - var_r31->unk_54.x; - object->trans.y = spF8.y - var_r31->unk_54.y; - object->trans.z = spF8.z - var_r31->unk_54.z; - if ((object->trans.y + var_r31->unk_3C.y) >= -200.0f) { - for (var_r24 = 0; var_r24 < 6; var_r24++) { - var_f30 = -90.0f + (36.0f * var_r24); - spF8.x = object->trans.x + (12.5 * sind(var_f30)); - spF8.z = object->trans.z + 12.5 * cosd(var_f30); - spF8.y = (object->trans.y - 25.0f) + (0.25f * (100.0f * ((0.007874016f * (frand() & 0x7F)) - 0.5f))); - var_f31 = -22.5f + (45.0f * (0.007874016f * (frand() & 0x7F))); - var_f23 = 0.3f + (0.7f * (0.007874016f * (frand() & 0x7F))); - spE0.x = var_f23 * ((2.5 * sind(var_f30)) + (2.5 * sind(var_f31))); - spE0.y = var_f23 * (2.5 * cosd(var_f31)); - spE0.z = var_f23 * (2.5 * cosd(var_f30)); - fn_1_11DE4(var_r29->unk_0C, spF8, spE0, 100.0f, 5.0f, 100.0f, 0.5f * var_f23, lbl_1_data_654); - } - } - spF8.x = object->trans.x; - spF8.y = object->trans.y; - spF8.z = object->trans.x; - var_r31->unk_38 = 1; - var_r31->unk_3C.x = var_r31->unk_3C.y = var_r31->unk_3C.z = 0.0f; - var_r29->unk_34 = 0.0f; - var_r31->unk_1E = 4; - var_r31->unk_26 = 0x12; - var_r31->unk_20 = 5; - var_r31->unk_22 = 0; - break; - } - if (var_r31->unk_34 == 0) { - var_r29->unk_34 = 0.0f; - var_r31->unk_22++; - var_r31->unk_24 = 0; - var_f31 = 2.0f * var_r31->unk_22; - if (var_f31 >= 90.0f) { - var_f31 = 90.0f; - } - if ((object->trans.z = object->trans.z + (10.0 * cosd(var_f31))) >= (150.0f + var_r29->unk_AC.z)) { - object->trans.z = 150.0f + var_r29->unk_AC.z; - } - spF8.x = object->trans.x; - spF8.y = object->trans.y; - spF8.z = object->trans.z; - if (fn_1_9990(&spF8) != 0) { - spF8.z += 50.0f; - } - else { - spF8.z = 50.0f; - } - if (object->trans.z < spF8.z) { - object->trans.z = spF8.z; - } - var_r26 = 8; - if ((var_r26 != var_r31->unk_1C) && (CharModelMotionShiftIDGet(var_r31->unk_06) == -1)) { - var_r31->unk_1C = var_r26; - CharModelMotionShiftSet(var_r31->unk_06, object->motion[var_r31->unk_1C], 0.0f, 8.0f, 0); - CharModelMotionSpeedSet(var_r31->unk_06, 0.0f); - } - } - else { - spF8.x = object->trans.x; - spF8.y = object->trans.y; - spF8.z = object->trans.z; - VECSubtract(&spF8, &var_r29->unk_94, &spEC); - if (fabs(spEC.x) < 100.0) { - if ((var_r31->unk_3C.y += 0.65333337f) > 0.0f) { - var_r31->unk_3C.y = 0.0f; - } - var_r31->unk_3C.x *= 0.96f; - var_r31->unk_3C.y *= 0.97f; - } - else { - var_r31->unk_22++; - } - var_r29->unk_34 = fabs(0.45f * sqrtf((var_r31->unk_3C.x * var_r31->unk_3C.x) + (var_r31->unk_3C.y * var_r31->unk_3C.y))); - spF8.x = object->trans.x; - spF8.y = object->trans.y; - spF8.z = object->trans.z; - if (fn_1_9990(&spF8) != 0) { - spF8.z += 50.0f; - } - else { - spF8.z = 50.0f; - } - if ((object->trans.z -= 5.0f) < spF8.z) { - object->trans.z = 50.0f + spF8.z; - } - var_r26 = 9; - if ((var_r26 != var_r31->unk_1C) && (CharModelMotionShiftIDGet(var_r31->unk_06) == -1)) { - var_r31->unk_1C = var_r26; - CharModelMotionShiftSet(var_r31->unk_06, object->motion[var_r31->unk_1C], 0.0f, 8.0f, 0); - CharModelMotionSpeedSet(var_r31->unk_06, 0.0f); - } - if (++var_r31->unk_24 > var_r31->unk_22) { - var_r31->unk_1E = 4; - var_r31->unk_26 = 0x12; - var_r31->unk_20 = 5; - var_r31->unk_22 = 0; - } - } - - break; - case 5: - spF8 = var_r31->unk_90; - VECSubtract(&spF8, &var_r29->unk_64[var_r31->unk_04], &spEC); - var_r31->unk_30 = 0; - var_f31 = VECMag(&spEC); - var_r29->unk_4C[var_r31->unk_04] = var_f31; - if (var_r31->unk_38 != 0) { - var_r26 = 7; - if ((var_r26 != var_r31->unk_1C) && (CharModelMotionShiftIDGet(var_r31->unk_06) == -1)) { - var_r31->unk_1C = var_r26; - CharModelMotionShiftSet(var_r31->unk_06, object->motion[var_r31->unk_1C], 0.0f, 8.0f, 0); - CharModelMotionSpeedSet(var_r31->unk_06, 0.0f); - } - } - var_r21 = 0; - if ((var_r27->unk_20 == 2) || (var_r27->unk_20 == 3)) { - spE0.x = (object->trans.x + var_r31->unk_54.x) - (var_r28->trans.x + var_r27->unk_54.x); - spE0.y = (object->trans.y + var_r31->unk_54.y) - (var_r28->trans.y + var_r27->unk_54.y); - spE0.z = (object->trans.z + var_r31->unk_54.z) - (var_r28->trans.z + var_r27->unk_54.z); - var_f30 = VECMag(&spE0); - if (var_f30 <= 200.0f) { - if (object->trans.x > var_r28->trans.x) { - var_f30 = 10.0f; - } - else { - var_f30 = -10.0f; - } - spF8.x = object->trans.x + var_r31->unk_54.x; - spF8.y = object->trans.y + var_r31->unk_54.y; - spF8.z = object->trans.z + var_r31->unk_54.z; - spE0.x = var_f30; - spE0.y = spE0.z = 0.0f; - if (fn_1_F288(&spF8, &spE0, 75.0f) != 0) { - object->trans.x += spE0.x; - object->trans.y += spE0.y; - object->trans.z += spE0.z; - } - else { - object->trans.x = spF8.x - var_r31->unk_54.x; - object->trans.y = spF8.y - var_r31->unk_54.y; - object->trans.z = spF8.z - var_r31->unk_54.z; - } - spF8.x = var_r28->trans.x + var_r27->unk_54.x; - spF8.y = var_r28->trans.y + var_r27->unk_54.y; - spF8.z = var_r28->trans.z + var_r27->unk_54.z; - spE0.x = -var_f30; - spE0.y = spE0.z = 0.0f; - if (fn_1_F288(&spF8, &spE0, 75.0f) != 0) { - var_r28->trans.x += spE0.x; - var_r28->trans.y += spE0.y; - var_r28->trans.z += spE0.z; - } - else { - var_r28->trans.x = spF8.x - var_r27->unk_54.x; - var_r28->trans.y = spF8.y - var_r27->unk_54.y; - var_r28->trans.z = spF8.z - var_r27->unk_54.z; - } - var_r21 = 1; - } - } - if (object->trans.x < -700.0f) { - object->trans.x = -700.0f; - } - else if (object->trans.x > 700.0f) { - object->trans.x = 700.0f; - } - if (object->trans.y < -200.0f) { - object->trans.y = -200.0f; - } - spF8.x = object->trans.x; - spF8.y = object->trans.y; - spF8.z = object->trans.z; - if (fn_1_9990(&spF8) != 0) { - spF8.z += 50.0f; - } - else { - spF8.z = 50.0f; - } - if ((object->trans.z - spF8.z) > 30.000002f) { - object->trans.z -= 30.000002f; - } - else { - object->trans.z = spF8.z; - if (var_r21 == 0) { - var_r31->unk_20 = 3; - var_r31->unk_22 = 0; - } - } - break; - case 7: - object->trans.x = lbl_1_data_180[var_r31->unk_04].x; - object->trans.y = lbl_1_data_180[var_r31->unk_04].y; - object->trans.z = lbl_1_data_180[var_r31->unk_04].z; - object->rot.x = object->rot.y = object->rot.z = 0.0f; - var_r25 = &Hu3DData[object->model[0]]; - var_r25->unk_F0[0][3] = 0.0f; - var_r25->unk_F0[1][3] = 0.0f; - var_r25->unk_F0[2][3] = 0.0f; - var_r25 = &Hu3DData[object->model[1]]; - MTXIdentity(var_r25->unk_F0); - Hu3DModelPosSet( - object->model[1], lbl_1_data_450[var_r31->unk_04].x, lbl_1_data_450[var_r31->unk_04].y, lbl_1_data_450[var_r31->unk_04].z); - Hu3DModelRotSet( - object->model[1], lbl_1_data_480[var_r31->unk_04].x, lbl_1_data_480[var_r31->unk_04].y, lbl_1_data_480[var_r31->unk_04].z); - if (var_r31->unk_02 == 0) { - fn_1_4170(object->model[1], 1); - } - else { - fn_1_4170(object->model[1], 2); - } - var_r26 = 0; - if ((var_r26 != var_r31->unk_1C) && (CharModelMotionShiftIDGet(var_r31->unk_06) == -1)) { - var_r31->unk_1C = var_r26; - CharModelMotionShiftSet(var_r31->unk_06, object->motion[var_r31->unk_1C], 0.0f, 8.0f, 0x40000001); - } - break; - case 8: - var_r26 = 0xA; - if ((var_r26 != var_r31->unk_1C) && (CharModelMotionShiftIDGet(var_r31->unk_06) == -1)) { - var_r31->unk_1C = var_r26; - CharModelMotionShiftSet(var_r31->unk_06, object->motion[var_r31->unk_1C], 0.0f, 8.0f, 0); - } - break; - case 9: - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - break; - } - var_r31->unk_48.x = object->trans.x; - var_r31->unk_48.y = object->trans.y; - var_r31->unk_48.z = object->trans.z; - if (var_r31->unk_20 < 7) { - if (fn_1_13F54(object->model[0], var_r31->unk_9C, sp104, 0) != 0) { - var_r25 = &Hu3DData[object->model[1]]; - MTXConcat(sp104, var_r31->unk_60, sp104); - MTXCopy(sp104, var_r25->unk_F0); - var_r31->unk_90.x = sp104[0][3]; - var_r31->unk_90.y = sp104[1][3]; - var_r31->unk_90.z = sp104[2][3]; - } - else { - OSReport("NO OBJECT %d %s \n", var_r31->unk_06, CharModelHookNameGet(var_r31->unk_06, 4, 4)); - } - spF8.x = 0.0f; - spF8.y = 100.0f; - spF8.z = 0.0f; - spE0.x = spF8.y * sind((180.0f + object->rot.z)); - spE0.y = spF8.y * sind((90.0f + object->rot.z)); - spE0.z = 0.0f; - VECSubtract(&spE0, &spF8, &spEC); - var_r25 = &Hu3DData[object->model[0]]; - var_r25->unk_F0[0][3] = spEC.x; - var_r25->unk_F0[1][3] = spEC.y; - var_r25->unk_F0[2][3] = spEC.z; - } -} - -void fn_1_E5F4(omObjData *object) -{ - object->func = NULL; -} - -void fn_1_E600(omObjData *object) -{ - Vec sp24; - Vec sp18; - Vec spC; - s32 sp8; - float var_f31; - float var_f30; - float var_f29; - M428DllPlayerWork2 *var_r31; - M428DllPlayerWork *var_r29; - omObjData *var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - - var_r31 = object->data; - var_r29 = &lbl_1_bss_2AC[var_r31->unk_02]; - var_r24 = var_r31->unk_04 ^ 1; - var_r28 = var_r29->unk_00[var_r24]; - if ((var_r29->unk_0E == 3) && (var_r29->unk_10 == var_r31->unk_04)) { - var_r26 = 1; - } - else { - var_r26 = 0; - } - if ((lbl_1_bss_29C[var_r31->unk_02] == 6) || (var_r31->unk_19C == -1)) { - if (var_r29->unk_0E != 3) { - var_r31->unk_19C = 2; - } - else { - var_r25 = (s32)(50.0f * (0.007874016f * (frand() & 0x7F))) + var_r31->unk_0C * 0xF + 5; - var_r31->unk_1A0 = (u8)frand() % 90; - if (var_r26 == 0) { - var_r31->unk_1A0 = (u8)frand() % 60; - } - if (var_r25 < 0x2D) { - var_r31->unk_19C = 0; - } - else if (var_r25 < 0x4B) { - var_r31->unk_19C = 1; - } - else { - var_r31->unk_19C = 2; - } - } - } - var_f31 = 1.0f; - switch (var_r31->unk_19C) { - case 0: - break; - case 1: - if (lbl_1_bss_29C[var_r31->unk_02] != 0) { - if (var_r31->unk_1A0 > 0) { - var_r31->unk_1A0--; - } - else { - var_r31->unk_0E |= 0x100; - var_r31->unk_10 |= 0x100; - } - } - break; - case 2: - if ((lbl_1_bss_29C[var_r31->unk_02] == 3) || (lbl_1_bss_29C[var_r31->unk_02] == 5)) { - var_r31->unk_0E |= 0x100; - var_r31->unk_10 |= 0x100; - } - break; - } - if (var_r26 != 0) { - for (var_r27 = 0; var_r27 < 0x10; var_r27++) { - if ((lbl_1_data_1B0[var_r29->unk_12][var_r27].y - 100.0f) > object->trans.y) { - break; - } - } - var_r31->unk_1B0 = var_r27; - sp18 = lbl_1_data_1B0[var_r29->unk_12][var_r31->unk_1B0]; - sp8 = var_r31->unk_1B0; - sp24.x = object->trans.x; - sp24.y = object->trans.y; - sp24.z = object->trans.z; - VECSubtract(&var_r31->unk_48, &sp24, &spC); - if ((VECMag(&spC) < 1.0f) && (lbl_1_bss_29C[var_r31->unk_02] != 0)) { - var_r31->unk_1B4++; - } - if (var_r31->unk_1B4 >= 180.0f) { - if (var_r31->unk_1B4 < 300.0f) { - if ((var_r31->unk_1B0 >= 2) && (var_r31->unk_1B0 <= 3)) { - if (fabs(object->trans.x) < 500.0) { - if (object->trans.x > 0.0f) { - var_r31->unk_14 = 64.0f; - } - else { - var_r31->unk_14 = -64.0f; - } - } - } - else { - if (fabs(object->trans.x) > 50.0) { - if (object->trans.x > 0.0f) { - var_r31->unk_14 = -64.0f; - } - else { - var_r31->unk_14 = 64.0f; - } - } - } - } - else if (var_r31->unk_1B0 > 0) { - var_r31->unk_1B0--; - var_r31->unk_1B4 = 0; - } - } - else { - var_r31->unk_1B4 = 0; - sp24.x = object->trans.x; - sp24.y = object->trans.y; - sp24.z = object->trans.z; - VECAdd(&sp18, &var_r31->unk_1B8, &sp18); - VECSubtract(&sp18, &sp24, &spC); - var_f30 = VECMag(&spC); - VECNormalize(&spC, &spC); - var_r31->unk_14 = 64.0f * (spC.x * var_f31); - var_r31->unk_18 = 64.0f * (spC.y * var_f31); - if (++var_r31->unk_1A4 > 180.0f) { - var_r31->unk_1B8.x = 0.5f * (100.0f * ((0.007874016f * (frand() & 0x7F)) - 0.5f)); - var_r31->unk_1B8.y = 0.5f * (100.0f * (0.007874016f * (frand() & 0x7F))); - var_r31->unk_1B8.z = 0.5f * (100.0f * ((0.007874016f * (frand() & 0x7F)) - 0.5f)); - var_r31->unk_1A4++; - } - } - } - else { - sp24.x = object->trans.x; - sp24.y = object->trans.y; - sp24.z = object->trans.z; - sp18.x = var_r28->trans.x; - sp18.y = var_r28->trans.y; - sp18.z = var_r28->trans.z; - VECSubtract(&sp18, &sp24, &spC); - var_f30 = VECMag(&spC); - if (var_f30 != 0.0f) { - var_f29 = atan2d(spC.x, spC.y); - } - else { - spC.y = 1.0f; - var_f29 = 0.0; - } - if (var_f30 < 230.0f) { - spC.x *= -1.0f; - spC.y *= -1.0f; - var_f29 += 180.0f; - } - if ((var_f30 >= 250.0f) || (var_f30 <= 230.0f)) { - VECNormalize(&spC, &spC); - if (var_f30 >= 250.0f) { - var_f31 = (var_f30 - 250.0f) / 20.0f; - if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - } - else { - var_f31 = 1.0f; - } - sp24.x = object->trans.x; - sp24.y = object->trans.y; - sp24.z = object->trans.z; - VECAdd(&sp24, &var_r31->unk_54, &sp24); - var_f29 = var_f29 + var_r31->unk_1AC; - sp18.x = 64.0 * sind(var_f29); - sp18.y = 64.0 * cosd(var_f29); - sp18.z = 0.0f; - var_r31->unk_14 = sp18.x * var_f31; - var_r31->unk_18 = sp18.y * var_f31; - var_r31->unk_1A8 = 0; - } - } - var_r31->unk_1A4++; -} - -s32 fn_1_F080(Vec *arg0, Vec *arg1, float arg8) -{ - Vec sp24; - Vec sp18; - Vec spC; - float var_f31; - float var_f30; - s32 var_r31; - - if (VECMag(arg1) <= 0.0f) { - return 0; - } - var_f30 = atan2d(arg1->x, arg1->y); - var_f30 = var_f30; - sp24 = *arg0; - for (var_r31 = 0; var_r31 < 6; var_r31++) { - var_f31 = -45.0f + (15.0f * var_r31); - var_f31 += var_f30; - spC.x = sind(var_f31); - spC.y = cosd(var_f31); - spC.z = 0.0f; - VECNormalize(&spC, &spC); - VECScale(&spC, &spC, arg8); - VECAdd(arg0, &spC, &sp24); - if (fn_1_9990(&sp24) != 0) { - if (var_r31 == 3) { - sp18 = sp24; - } - } - else { - break; - } - } - if (var_r31 < 6) { - return 0; - } - return 1; -} - -s32 fn_1_F288(Vec *arg0, Vec *arg1, float arg2) -{ - Vec sp24; - Vec sp18; - Vec spC; - s32 var_r30; - - sp24 = *arg0; - sp18 = *arg1; - var_r30 = fn_1_F538(&sp24, &sp18, &spC, arg2); - if (var_r30 != 0) { - *arg0 = spC; - return 0; - } - *arg0 = sp24; - return 1; -} - -s32 fn_1_F354(void) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_2B8[var_r31]->trans.y < 0.0f) { - break; - } - } - if (var_r31 < 4) { - return 0; - } - return 1; -} - -s32 fn_1_F3BC(s32 arg0) -{ - M428DllPlayerWork *var_r31 = &lbl_1_bss_2AC[arg0]; - if (var_r31->unk_1C >= 3800.0f) { - return var_r31->unk_18 = 1; - } - return var_r31->unk_18 = 0; -} - -void fn_1_F414(s32 arg0) -{ - M428DllPlayerWork *var_r31 = &lbl_1_bss_2AC[arg0]; - var_r31->unk_14 = 1; - lbl_1_bss_2A4 = 1; -} - -void fn_1_F454(s32 arg0, s32 arg1) -{ - lbl_1_bss_29C[arg0] = arg1; -} - -void fn_1_F46C(s32 arg0, s32 arg1) -{ - if (lbl_1_bss_18 != 0) { - M428DllPlayerWork *var_r31 = &lbl_1_bss_2AC[arg0]; - var_r31->unk_B8 = 0; - var_r31->unk_BC = arg1; - } -} - -void fn_1_F4B4(s32 arg0, s32 arg1, float arg8) -{ - M428DllPlayerWork *var_r31 = &lbl_1_bss_2AC[arg0]; - var_r31->unk_C4 = arg1; - var_r31->unk_C0 = arg1; - var_r31->unk_C8 = arg8; -} - -s32 fn_1_F4E8(s32 arg0) -{ - M428DllPlayerWork *var_r31 = &lbl_1_bss_2AC[arg0]; - if (var_r31->unk_1C >= 500.0f) { - return 1; - } - return 0; -} - -s32 fn_1_F538(Vec *arg0, Vec *arg1, Vec *arg2, float arg8) -{ - Vec sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - float var_f30; - float var_f29; - M428DllData4B0Struct *var_r30; - s32 var_r27; - - *arg2 = *arg0; - var_r30 = lbl_1_data_4B0; - for (var_r27 = 0; var_r27 < 5; var_r27++, var_r30++) { - sp38 = var_r30->unk_00; - VECAdd(arg0, arg1, &sp2C); - if ((arg0->y >= (sp38.y + arg8)) && (sp2C.y <= (sp38.y + arg8))) { - sp8.x = sp2C.y - arg0->y; - sp8.y = arg0->x - sp2C.x; - sp8.z = -((sp8.x * arg0->x) + (sp8.y * arg0->y)); - var_f29 = -((sp8.z + (sp8.y * (sp38.y + arg8))) / sp8.x); - if ((var_f29 >= (sp38.x - (var_r30->unk_0C + arg8))) && (var_f29 <= (sp38.x + (var_r30->unk_0C + arg8)))) { - arg2->x = arg0->x + arg1->x; - arg2->y = 0.1f + (sp38.y + arg8); - arg2->z = arg0->z + arg1->z; - return 1; - } - } - VECSubtract(&sp2C, &sp38, &sp20); - var_f30 = VECMag(&sp20); - if (var_f30 == 0.0f) { - sp20.y = 1.0f; - } - sp14 = sp20; - if ((var_f30 < (var_r30->unk_0C + arg8)) && (sp20.y < arg8)) { - sp38 = var_r30->unk_00; - sp2C = *arg0; - VECSubtract(&sp2C, &sp38, &sp20); - var_f30 = VECMag(&sp20); - if (var_f30 == 0.0f) { - sp20.y = 1.0f; - } - if (sp20.y <= arg8) { - VECNormalize(&sp14, &sp20); - VECScale(&sp20, &sp20, var_r30->unk_0C + arg8); - VECAdd(&sp38, &sp20, arg2); - return 1; - } - arg2->x = arg0->x + arg1->x; - arg2->y = 0.1f + (sp38.y + arg8); - arg2->z = arg0->z + arg1->z; - return 1; - } - } - return 0; -} - -s32 fn_1_F88C(Vec *arg0, Vec *arg1, Vec *arg2) -{ - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - M428DllData4B0Struct *var_r30; - s32 var_r27; - - *arg2 = *arg0; - var_r30 = lbl_1_data_4B0; - for (var_r27 = 0; var_r27 < 5; var_r27++, var_r30++) { - sp2C = var_r30->unk_00; - VECAdd(arg0, arg1, &sp20); - if ((arg0->y >= sp2C.y) && (sp20.y <= sp2C.y)) { - sp8.x = sp20.y - arg0->y; - sp8.y = arg0->x - sp20.x; - sp8.z = -((sp8.x * arg0->x) + (sp8.y * arg0->y)); - var_f30 = -((sp8.z + (sp8.y * sp2C.y)) / sp8.x); - if ((var_f30 >= (sp2C.x - var_r30->unk_0C)) && (var_f30 <= (sp2C.x + var_r30->unk_0C))) { - arg2->x = arg0->x + arg1->x; - arg2->y = sp2C.y; - arg2->z = arg0->z + arg1->z; - return 1; - } - } - VECSubtract(&sp20, &sp2C, &sp14); - var_f31 = VECMag(&sp14); - if (var_f31 == 0.0f) { - sp14.y = 1.0f; - } - if ((var_f31 < var_r30->unk_0C) && (sp14.y <= 0.0f)) { - sp2C = var_r30->unk_00; - sp20 = *arg0; - VECSubtract(&sp20, &sp2C, &sp14); - var_f31 = VECMag(&sp14); - if (var_f31 == 0.0f) { - sp14.y = 1.0f; - } - if (sp14.y <= 0.0f) { - VECNormalize(&sp14, &sp14); - VECScale(&sp14, &sp14, var_r30->unk_0C); - VECAdd(&sp2C, &sp14, arg2); - return var_r27; - } - arg2->x = arg0->x + arg1->x; - arg2->y = sp2C.y; - arg2->z = arg0->z + arg1->z; - return var_r27; - } - } - return -1; -} - -s32 fn_1_FB8C(Vec *arg0, Vec *arg1, float arg8, s32 arg2, s32 arg3) -{ - float var_f31; - M428DllPlayerUnk120Struct *var_r31; - M428DllPlayerUnkStruct *var_r30; - s32 var_r29; - ModelData *var_r28; - s32 var_r26; - - var_r26 = Hu3DHookFuncCreate(fn_1_102A8); - var_r28 = &Hu3DData[var_r26]; - Hu3DModelLayerSet(var_r26, 2); - var_r31 = HuMemDirectMallocNum(HEAP_DATA, sizeof(M428DllPlayerUnk120Struct), var_r28->unk_48); - var_r28->unk_120 = var_r31; - memset(var_r31, 0, sizeof(M428DllPlayerUnk120Struct)); - var_r30 = HuMemDirectMallocNum(HEAP_DATA, arg2 * sizeof(M428DllPlayerUnkStruct), var_r28->unk_48); - var_r31->unk_54 = var_r30; - memset(var_r30, 0, arg2 * sizeof(M428DllPlayerUnkStruct)); - var_r31->unk_00 = var_r26; - var_r31->unk_02 = arg2; - var_r31->unk_04 = arg8; - var_r31->unk_08 = arg8 / (arg2 - 1); - var_r31->unk_0C = 0; - var_r31->unk_10 = arg3; - var_r31->unk_14 = 0.0f; - var_r31->unk_18 = 0.0f; - var_r31->unk_1C = 0; - var_r31->unk_20 = *arg0; - var_r31->unk_2C = *arg1; - var_r31->unk_38.x = var_r31->unk_38.y = var_r31->unk_38.z = 0.0f; - var_r31->unk_44 = -1; - var_r31->unk_48 = var_r31->unk_4C = var_r31->unk_50 = 0.0f; - for (var_r29 = 0; var_r29 < arg2; var_r29++, var_r30++) { - var_r30->unk_00 = var_r29; - if (var_r29 == 0) { - var_r30->unk_02 = 0; - } - else if (var_r29 == (arg2 - 1)) { - var_r30->unk_02 = 1; - } - else { - var_r30->unk_02 = -1; - } - var_r30->unk_04 = 0; - var_f31 = (float)var_r29 / (arg2 - 1); - var_r30->unk_08[0].x = var_r31->unk_20.x + (var_f31 * (var_r31->unk_2C.x - var_r31->unk_20.x)); - var_r30->unk_08[0].y = var_r31->unk_20.y + (var_f31 * (var_r31->unk_2C.y - var_r31->unk_20.y)); - var_r30->unk_08[0].z = var_r31->unk_20.z + (var_f31 * (var_r31->unk_2C.z - var_r31->unk_20.z)); - var_r30->unk_08[1] = var_r30->unk_08[0]; - var_r30->unk_08[2] = var_r30->unk_08[0]; - var_r30->unk_08[3].x = var_r30->unk_08[3].y = var_r30->unk_08[3].z = 0.0f; - } - return var_r26; -} - -void fn_1_FE98(M428DllPlayerUnk120Struct *arg0) -{ - Vec sp24; - Vec sp18; - Vec spC; - s32 sp8; - float var_f31; - float var_f30; - M428DllPlayerUnkStruct *var_r30; - s32 var_r29; - - if (arg0->unk_1C == 0) { - fn_1_129B4(0.5f, &arg0->unk_20, &arg0->unk_2C, &spC); - spC.y -= arg0->unk_14 * (0.75f * arg0->unk_04); - for (var_r30 = arg0->unk_54, var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r30++) { - var_f31 = (float)var_r29 / (arg0->unk_02 - 1); - fn_1_12AA4(var_f31, &arg0->unk_20, &spC, &arg0->unk_2C, &var_r30->unk_08[0]); - fn_1_129B4(var_f31, &arg0->unk_20, &arg0->unk_2C, &var_r30->unk_08[2]); - } - } - else { - arg0->unk_38.z = 0.5f * (arg0->unk_20.z + arg0->unk_2C.z); - fn_1_129B4(0.5f, &arg0->unk_20, &arg0->unk_38, &spC); - spC.y -= arg0->unk_14 * (0.375f * arg0->unk_04); - for (var_r30 = arg0->unk_54, var_r29 = 0; var_r29 < arg0->unk_44; var_r29++, var_r30++) { - var_f31 = (float)var_r29 / (arg0->unk_44 - 1); - fn_1_12AA4(var_f31, &arg0->unk_20, &spC, &arg0->unk_38, &var_r30->unk_08[0]); - fn_1_129B4(var_f31, &arg0->unk_20, &arg0->unk_38, &var_r30->unk_08[2]); - } - fn_1_129B4(0.1f, &arg0->unk_38, &arg0->unk_2C, &spC); - spC.y -= arg0->unk_18 * (0.375f * arg0->unk_04); - for (var_r30 = &arg0->unk_54[arg0->unk_44], var_r29 = arg0->unk_44; var_r29 < arg0->unk_02; var_r29++, var_r30++) { - var_f31 = (float)(var_r29 - arg0->unk_44) / ((arg0->unk_02 - arg0->unk_44) - 1); - fn_1_12AA4(var_f31, &arg0->unk_38, &spC, &arg0->unk_2C, &var_r30->unk_08[0]); - fn_1_129B4(var_f31, &arg0->unk_38, &arg0->unk_2C, &var_r30->unk_08[2]); - } - } - for (var_r29 = 0, var_r30 = arg0->unk_54; var_r29 < arg0->unk_02; var_r29++, var_r30++) { - PSVECSubtract(&var_r30->unk_08[0], &var_r30->unk_08[2], &sp24); - var_f30 = var_r30->unk_08[0].z; - if ((sp8 = fn_1_F88C(&var_r30->unk_08[2], &sp24, &sp18)) != -1) { - var_r30->unk_08[0] = sp18; - var_r30->unk_08[0].z = var_f30; - var_r30->unk_04 = 1; - } - else { - var_r30->unk_04 = 0; - } - if (var_r30->unk_02 == -1) { - fn_1_129B4(0.9f, &var_r30->unk_08[1], &var_r30->unk_08[0], &var_r30->unk_08[0]); - } - var_r30->unk_08[1] = var_r30->unk_08[0]; - } -} - -s32 lbl_1_data_694[2] = { 0xFFA040FF, 0xC8FFFF }; -s16 lbl_1_data_69C[2] = { -0x10, 0x10 }; -s16 lbl_1_data_6A0[2] = { 0x1A4, 0x60 }; -Vec lbl_1_data_6A4[4] = { - { -0.5f, 0.5f, 0.0f }, - { 0.5f, 0.5f, 0.0f }, - { 0.5f, -0.5f, 0.0f }, - { -0.5f, -0.5f, 0.0f }, -}; -Vec2f lbl_1_data_6D4[4] = { { 0.0f, 0.0f }, { 0.25f, 0.0f }, { 0.25f, 0.25f }, { 0.0f, 0.25f } }; - -void fn_1_102A8(ModelData *model, Mtx matrix) -{ - Mtx sp8; - s16 var_r30; - - M428DllPlayerUnk120Struct *var_r31 = model->unk_120; - if (omPauseChk() == 0) { - fn_1_FE98(var_r31); - } - GXLoadPosMtxImm(matrix, 0); - MTXInvXpose(matrix, sp8); - GXLoadNrmMtxImm(sp8, 0); - GXSetNumTevStages(1); - GXSetNumTexGens(1); - GXSetNumChans(1); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3C, GX_FALSE, 0x7D); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_RASC); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVREG0); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVREG0); - GXSetChanCtrl(GX_COLOR0A0, GX_TRUE, GX_SRC_VTX, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_SPEC); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); - GXSetZCompLoc(GX_FALSE); - GXSetBlendMode(GX_BM_BLEND, GX_BL_ONE, GX_BL_ZERO, GX_LO_NOOP); - GXSetLineWidth(0x10, GX_TO_ZERO); - // bug, it should be var_r31->unk_54 - DCFlushRange(&var_r31->unk_54, var_r31->unk_02 * sizeof(M428DllPlayerUnkStruct)); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, var_r31->unk_54->unk_08, sizeof(M428DllPlayerUnkStruct)); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, &lbl_1_data_694[var_r31->unk_10], 4); - GXBegin(GX_LINESTRIP, GX_VTXFMT0, var_r31->unk_02); - for (var_r30 = 0; var_r30 < var_r31->unk_02; var_r30++) { - GXPosition1x16(var_r30); - GXColor1x16(0); - } -} - -void fn_1_10530(s32 arg0, Vec *arg1, Vec *arg2) -{ - ModelData *var_r30 = &Hu3DData[arg0]; - M428DllPlayerUnk120Struct *var_r31 = var_r30->unk_120; - var_r31->unk_20 = *arg1; - var_r31->unk_2C = *arg2; -} - -void fn_1_10590(s32 arg0, s32 arg1, s32 arg2, Vec *arg3) -{ - ModelData *var_r30 = &Hu3DData[arg0]; - M428DllPlayerUnk120Struct *var_r31 = var_r30->unk_120; - var_r31->unk_1C = arg1; - if (arg1 != 0) { - var_r31->unk_38 = *arg3; - var_r31->unk_44 = arg2; - } -} - -void fn_1_105E8(s32 arg0, float arg8, float arg9) -{ - ModelData *var_r30 = &Hu3DData[arg0]; - M428DllPlayerUnk120Struct *var_r31 = var_r30->unk_120; - if (arg8 > 1.0f) { - arg8 = 1.0f; - } - else if (arg8 < 0.0f) { - arg8 = 0.0f; - } - if (arg9 > 1.0f) { - arg9 = 1.0f; - } - else if (arg9 < 0.0f) { - arg9 = 0.0f; - } - var_r31->unk_14 = arg8; - var_r31->unk_18 = arg9; -} - -s32 fn_1_106A8(s32 arg0, s32 arg1, Vec *arg2, float *arg3) -{ - M428DllPlayerUnkStruct *var_r30; - s32 var_r29; - - ModelData *var_r28 = &Hu3DData[arg0]; - M428DllPlayerUnk120Struct *var_r31 = var_r28->unk_120; - float var_f31 = 0.0f; - for (var_r29 = 0; var_r29 < var_r31->unk_02; var_f31 += var_r31->unk_08, var_r29++) { - if (arg1 == 0) { - var_r30 = &var_r31->unk_54[var_r29]; - } - else { - var_r30 = &var_r31->unk_54[(var_r31->unk_02 - 1) - var_r29]; - } - if (var_r30->unk_04 != 0) { - *arg2 = var_r30->unk_08[0]; - *arg3 = var_f31; - return 1; - } - } - return 0; -} - -s32 fn_1_10788(s32 arg0, Vec *arg1, Vec *arg2, Vec *arg3) -{ - Vec sp30; - Vec sp24; - Vec sp18; - Vec spC; - ModelData *sp8; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - M428DllData4B0Struct *var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - sp8 = &Hu3DData[arg0]; - sp18.x = arg2->y - arg1->y; - sp18.y = arg1->x - arg2->x; - sp18.z = -((sp18.x * arg1->x) + (sp18.y * arg1->y)); - if (arg1->x < arg2->x) { - var_f27 = arg1->x; - var_f26 = arg2->x; - } - else { - var_f27 = arg2->x; - var_f26 = arg1->x; - } - if (arg1->y < arg2->y) { - var_f30 = arg1->y; - var_f29 = arg2->y; - } - else { - var_f30 = arg2->y; - var_f29 = arg1->y; - } - for (var_r30 = 0, var_r31 = lbl_1_data_4B0; var_r30 < 5; var_r30++, var_r31++) { - sp30 = var_r31->unk_00; - sp30.x -= var_r31->unk_0C; - sp24 = var_r31->unk_00; - sp24.x += var_r31->unk_0C; - spC.x = sp24.y - sp30.y; - spC.y = sp30.x - sp24.x; - spC.z = -((spC.x * sp30.x) + (spC.y * sp30.y)); - if ((var_r31->unk_00.y >= var_f30) && (var_r31->unk_00.y <= var_f29) && (sp18.x != 0.0f)) { - var_f31 = -((sp18.z + (sp18.y * var_r31->unk_00.y)) / sp18.x); - var_f28 = var_r31->unk_00.y; - if ((var_f31 >= sp30.x) && (var_f31 <= sp24.x)) { - var_r29 = 1; - } - else { - var_r29 = 0; - } - if ((var_f31 >= var_f27) && (var_f31 <= var_f26) && (var_f28 >= var_f30) && (var_f28 <= var_f29)) { - var_r28 = 1; - } - else { - var_r28 = 0; - } - if ((var_r29 != 0) && (var_r28 != 0)) { - if (var_f31 < var_r31->unk_00.x) { - *arg3 = sp30; - } - else { - *arg3 = sp24; - } - return var_r30; - } - } - } - return -1; -} - -void fn_1_10A88(void) -{ - M428DllPlayerWork3 *var_r31; - omObjData *var_r30; - s32 var_r29; - M428DllPlayerUnk120Struct2 *var_r28; - ModelData *var_r27; - s32 var_r26; - s32 var_r25; - - var_r30 = lbl_1_bss_2B4 = omAddObjEx(lbl_1_bss_2D0, 0x42, 0xA, 0, -1, fn_1_11014); - var_r31 = var_r30->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M428DllPlayerWork3), MEMORY_DEFAULT_NUM); - memset(var_r31, 0, sizeof(M428DllPlayerWork3)); - var_r29 = espEntry(DATA_MAKE_NUM(DATADIR_M428, 0x0E), 0x80, 0); - var_r31->unk_00 = var_r29; - espDispOn(var_r29); - espDrawNoSet(var_r29, 0); - espAttrSet(var_r29, HUSPR_ATTR_NOANIM); - espPosSet(var_r29, 288.0, 240.0); - var_r29 = espEntry(DATA_MAKE_NUM(DATADIR_M428, 0x0C), 0x50, 0); - var_r31->unk_04[0] = var_r29; - espDispOn(var_r29); - espDrawNoSet(var_r29, 0); - espAttrSet(var_r29, HUSPR_ATTR_NOANIM); - espPosSet(var_r29, 288.0, 240.0); - var_r29 = espEntry(DATA_MAKE_NUM(DATADIR_M428, 0x0D), 0x50, 0); - var_r31->unk_04[1] = var_r29; - espDispOn(var_r29); - espDrawNoSet(var_r29, 0); - espAttrSet(var_r29, HUSPR_ATTR_NOANIM); - espPosSet(var_r29, 288.0, 240.0); - var_r31->unk_0C[0][0] = var_r31->unk_0C[0][1] = 0.0f; - var_r31->unk_0C[1][0] = var_r31->unk_0C[1][1] = 0.0f; - var_r29 = espEntry(DATA_MAKE_NUM(DATADIR_M428, 0x10), 0x100, 0); - var_r31->unk_1C[0] = var_r29; - espDispOn(var_r29); - espDrawNoSet(var_r29, 0); - espAttrSet(var_r29, HUSPR_ATTR_NOANIM); - espPosSet(var_r29, 144.0, 240.0); - espScaleSet(var_r29, 36.0, 60.0); - espColorSet(var_r29, 0xFF, 0xFF, 0xFF); - espTPLvlSet(var_r29, 0.0); - var_r29 = espEntry(DATA_MAKE_NUM(DATADIR_M428, 0x10), 0x100, 0); - var_r31->unk_1C[1] = var_r29; - espDispOn(var_r29); - espDrawNoSet(var_r29, 0); - espAttrSet(var_r29, HUSPR_ATTR_NOANIM); - espPosSet(var_r29, 432.0, 240.0); - espScaleSet(var_r29, 36.0, 60.0); - espColorSet(var_r29, 0xFF, 0xFF, 0xFF); - espTPLvlSet(var_r29, 0.0); - var_r31->unk_24[0][0] = var_r31->unk_24[0][1] = 0.0f; - var_r31->unk_24[1][0] = var_r31->unk_24[1][1] = 0.0f; - var_r31->unk_34 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M428, 0x0A), MEMORY_DEFAULT_NUM)); - var_r31->unk_38 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M428, 0x0B), MEMORY_DEFAULT_NUM)); - var_r30->model[0] = fn_1_12CD4(var_r31->unk_34, 2); - Hu3DModelCameraSet(var_r30->model[0], 1); - Hu3DModelLayerSet(var_r30->model[0], 5); - fn_1_13D9C(var_r30->model[0], -1, 0); - var_r27 = &Hu3DData[var_r30->model[0]]; - var_r28 = var_r27->unk_120; - var_r28->unk_22 |= 3; - var_r30->model[1] = fn_1_12CD4(var_r31->unk_38, 2); - Hu3DModelCameraSet(var_r30->model[1], 1); - Hu3DModelLayerSet(var_r30->model[1], 5); - fn_1_13D9C(var_r30->model[1], -1, 0); - var_r27 = &Hu3DData[var_r30->model[1]]; - var_r28 = var_r27->unk_120; - var_r28->unk_22 |= 3; - var_r30->model[2] = fn_1_12CD4(var_r31->unk_34, 2); - Hu3DModelCameraSet(var_r30->model[2], 2); - Hu3DModelLayerSet(var_r30->model[2], 5); - fn_1_13D9C(var_r30->model[2], -1, 0); - var_r27 = &Hu3DData[var_r30->model[2]]; - var_r28 = var_r27->unk_120; - var_r28->unk_22 |= 3; - var_r30->model[3] = fn_1_12CD4(var_r31->unk_38, 2); - Hu3DModelCameraSet(var_r30->model[3], 2); - Hu3DModelLayerSet(var_r30->model[3], 5); - fn_1_13D9C(var_r30->model[3], -1, 0); - var_r27 = &Hu3DData[var_r30->model[3]]; - var_r28 = var_r27->unk_120; - var_r28->unk_22 |= 3; - for (var_r26 = 0; var_r26 < 2; var_r26++) { - for (var_r25 = 0; var_r25 < 2; var_r25++) { - var_r31->unk_3C[var_r26][var_r25] = var_r31->unk_4C[var_r26][var_r25] = -1; - } - } -} - -void fn_1_11014(omObjData *object) -{ - Vec sp20; - float var_f31; - float var_f30; - s32 var_r31; - s32 var_r29; - omObjData *var_r27; - M428DllPlayerWork *var_r26; - - M428DllPlayerWork3 *var_r30 = object->data; - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r30->unk_0C[var_r31][0] = var_r30->unk_0C[var_r31][0] + (0.05f * (var_r30->unk_0C[var_r31][1] - var_r30->unk_0C[var_r31][0])); - var_f30 = lbl_1_data_6A0[0] + (var_r30->unk_0C[var_r31][0] * (lbl_1_data_6A0[1] - lbl_1_data_6A0[0])); - espPosSet(var_r30->unk_04[var_r31], 288.0f + lbl_1_data_69C[var_r31], var_f30); - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r30->unk_24[var_r31][0] = var_r30->unk_24[var_r31][0] + (0.05f * (var_r30->unk_24[var_r31][1] - var_r30->unk_24[var_r31][0])); - espTPLvlSet(var_r30->unk_1C[var_r31], var_r30->unk_24[var_r31][0]); - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - for (var_r29 = 0; var_r29 < 2; var_r29++) { - var_r26 = lbl_1_bss_2C8[var_r31]->data; - var_r27 = var_r26->unk_00[var_r29]; - if (var_r30->unk_3C[var_r31][var_r29] > 0) { - var_f31 = (30.0f - var_r30->unk_3C[var_r31][var_r29]) / 6.0f; - if (var_f31 < 0.0f) { - var_f31 = 0.0f; - } - else if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - var_f31 = sind((180.0f * var_f31)); - sp20.x = var_r27->trans.x; - sp20.y = 200.0f + var_r27->trans.y; - sp20.z = var_r27->trans.z; - fn_1_13E14(object->model[var_r31 * 2], var_r29, sp20); - fn_1_13EC8(object->model[var_r31 * 2], var_r29, 125.0f * (1.0f + var_f31)); - var_r30->unk_3C[var_r31][var_r29] -= 1; - } - else { - fn_1_13D9C(object->model[var_r31 * 2], var_r29, 0); - } - if (var_r30->unk_4C[var_r31][var_r29] > 0) { - var_f31 = (30.0f - var_r30->unk_4C[var_r31][var_r29]) / 6.0f; - if (var_f31 < 0.0f) { - var_f31 = 0.0f; - } - else if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - var_f31 = sind((180.0f * var_f31)); - sp20.x = var_r27->trans.x; - sp20.y = 200.0f + var_r27->trans.y; - sp20.z = var_r27->trans.z; - fn_1_13E14(object->model[(var_r31 * 2) + 1], var_r29, sp20); - fn_1_13EC8(object->model[(var_r31 * 2) + 1], var_r29, 125.0f * (1.0f + var_f31)); - var_r30->unk_4C[var_r31][var_r29] -= 1; - } - else { - fn_1_13D9C(object->model[(var_r31 * 2) + 1], var_r29, 0); - } - } - } -} - -void fn_1_115F8(void) -{ - M428DllPlayerWork3 *var_r31 = lbl_1_bss_2B4->data; - espKill(var_r31->unk_00); - espKill(var_r31->unk_04[0]); - espKill(var_r31->unk_04[1]); - espKill(var_r31->unk_1C[0]); - espKill(var_r31->unk_1C[1]); - Hu3DModelKill(lbl_1_bss_2B4->model[0]); - Hu3DModelKill(lbl_1_bss_2B4->model[1]); - Hu3DModelKill(lbl_1_bss_2B4->model[2]); - Hu3DModelKill(lbl_1_bss_2B4->model[3]); - HuSprAnimKill(var_r31->unk_34); - HuSprAnimKill(var_r31->unk_38); -} - -void fn_1_116C4(s32 arg0, s32 arg1) -{ - if (lbl_1_bss_2B4) { - s32 var_r31; - M428DllPlayerWork3 *var_r30 = lbl_1_bss_2B4->data; - for (var_r31 = 0; var_r31 < 2; var_r31++) { - if (arg1 == 0) { - var_r30->unk_3C[arg0][var_r31] = 0x1E; - } - else { - var_r30->unk_4C[arg0][var_r31] = 0x1E; - } - } - } -} - -void fn_1_11754(s32 arg0, float arg8) -{ - if (lbl_1_bss_2B4) { - M428DllPlayerWork3 *var_r31 = lbl_1_bss_2B4->data; - var_r31->unk_24[arg0][1] = arg8; - } -} - -void fn_1_11798(s32 sp8) -{ - s32 var_r30; - s32 var_r29; - - if (lbl_1_bss_2B4) { - M428DllPlayerWork3 *work = lbl_1_bss_2B4->data; - if (sp8 == 0) { - espDispOff(work->unk_00); - espDispOff(work->unk_04[0]); - espDispOff(work->unk_04[1]); - espDispOff(work->unk_1C[0]); - espDispOff(work->unk_1C[1]); - } - else { - espDispOn(work->unk_00); - espDispOn(work->unk_04[0]); - espDispOn(work->unk_04[1]); - espDispOn(work->unk_1C[0]); - espDispOn(work->unk_1C[1]); - } - for (var_r30 = 0; var_r30 < 2; var_r30++) { - for (var_r29 = 0; var_r29 < 2; var_r29++) { - work->unk_3C[var_r30][var_r29] = work->unk_4C[var_r30][var_r29] = -1; - } - } - } -} - -void fn_1_118A8(s32 arg0, float var_f1) -{ - M428DllPlayerWork3 *var_r31; - if (lbl_1_bss_2B4) { - var_r31 = lbl_1_bss_2B4->data; - if (var_f1 < 0.0f) { - var_f1 = 0.0f; - } - else if (var_f1 > 1.0f) { - var_f1 = 1.0f; - } - var_r31->unk_0C[arg0][1] = var_f1; - } -} - -void fn_1_11930(void) -{ - M428DllPlayerWork4 *var_r31; - s32 var_r30; - s32 var_r29; - omObjData *var_r28; - M428DllPlayerUnk120Struct2 *var_r27; - ModelData *var_r26; - AnimData *var_r25; - - var_r28 = lbl_1_bss_2B0 = omAddObjEx(lbl_1_bss_2D0, 0xBF, 0, 0, -1, fn_1_11A60); - var_r31 = var_r28->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M428DllPlayerWork4), MEMORY_DEFAULT_NUM); - memset(var_r31, 0, sizeof(M428DllPlayerWork4)); - var_r25 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M428, 0x0F), MEMORY_DEFAULT_NUM)); - var_r31->unk_10 = var_r25; - for (var_r30 = 0; var_r30 < 2; var_r30++) { - var_r29 = fn_1_12CD4(var_r25, 0x200); - var_r31->unk_00[var_r30] = var_r29; - if (var_r30 == 0) { - Hu3DModelCameraSet(var_r29, 1); - } - else { - Hu3DModelCameraSet(var_r29, 2); - } - Hu3DModelLayerSet(var_r29, 3); - var_r31->unk_08[var_r30] = 0; - var_r26 = &Hu3DData[var_r29]; - var_r27 = var_r26->unk_120; - var_r27->unk_20 = 0; - } -} - -void fn_1_11A60(omObjData *object) -{ - s32 temp_r4; - M428DllPlayerUnkStruct2 *var_r31; - M428DllPlayerWork4 *var_r30; - s32 var_r29; - M428DllPlayerUnk120Struct2 *var_r28; - s32 var_r27; - ModelData *var_r26; - - var_r30 = object->data; - for (var_r29 = 0; var_r29 < 2; var_r29++) { - if (var_r30->unk_08[var_r29] <= 0) { - Hu3DModelAttrSet(var_r30->unk_00[var_r29], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrReset(var_r30->unk_00[var_r29], HU3D_ATTR_DISPOFF); - var_r26 = &Hu3DData[var_r30->unk_00[var_r29]]; - var_r28 = var_r26->unk_120; - var_r31 = var_r28->unk_3C; - var_r28->unk_23 = 0; - for (var_r27 = 0; var_r27 < var_r28->unk_26; var_r27++, var_r31++) { - if (!(var_r31->unk_30 <= 0.0f)) { - var_r31->unk_38.x += var_r31->unk_04; - var_r31->unk_38.y += var_r31->unk_08; - var_r31->unk_38.z += var_r31->unk_0C; - var_r31->unk_34 = var_r31->unk_34 + var_r31->unk_18; - if (var_r31->unk_34 >= 360.0f) { - var_r31->unk_34 = var_r31->unk_34 - 360.0f; - } - var_r31->unk_48 = var_r31->unk_28; - var_r31->unk_28 = var_r31->unk_28 + var_r31->unk_2C; - if (var_r31->unk_48 >= 0x10) { - var_r31->unk_48 = 0; - var_r31->unk_00 = 0; - var_r31->unk_30 = 0.0f; - var_r30->unk_08[var_r29] -= 1; - } - } - } - } - } -} - -void fn_1_11C20(void) -{ - - omObjData *var_r30 = lbl_1_bss_2B0; - M428DllPlayerWork4 *var_r31 = var_r30->data; - Hu3DModelAttrSet(var_r31->unk_00[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->unk_00[1], HU3D_ATTR_DISPOFF); - HuSprAnimKill(var_r31->unk_10); - var_r30->func = NULL; -} - -s32 fn_1_11C8C(s32 arg0, Vec arg1, Vec arg2, GXColor arg3, float arg8, float arg9, float argA) -{ - M428DllPlayerUnkStruct2 *var_r31; - M428DllPlayerUnk120Struct2 *var_r30; - s32 var_r29; - M428DllPlayerWork4 *var_r28; - omObjData *var_r27; - ModelData *var_r26; - - var_r27 = lbl_1_bss_2B0; - var_r28 = var_r27->data; - var_r26 = &Hu3DData[var_r28->unk_00[arg0]]; - var_r30 = var_r26->unk_120; - for (var_r31 = var_r30->unk_3C, var_r29 = 0; var_r29 < var_r30->unk_26; var_r29++, var_r31++) { - if (var_r31->unk_30 <= 0.0f) { - break; - } - } - if (var_r29 >= var_r30->unk_26) { - return -1; - } - var_r31->unk_00 = var_r31->unk_02 = 0; - var_r31->unk_38.x = arg1.x; - var_r31->unk_38.y = arg1.y; - var_r31->unk_38.z = arg1.z; - var_r31->unk_04 = arg2.x; - var_r31->unk_08 = arg2.y; - var_r31->unk_0C = arg2.z; - var_r31->unk_18 = arg9; - var_r31->unk_30 = arg8; - var_r31->unk_44.r = arg3.r; - var_r31->unk_44.g = arg3.g; - var_r31->unk_44.b = arg3.b; - var_r31->unk_44.a = arg3.a; - var_r31->unk_34 = 0.0f; - var_r31->unk_48 = 0; - var_r31->unk_00 = 0; - var_r31->unk_28 = 0.0f; - var_r31->unk_2C = argA; - var_r28->unk_08[arg0]++; - return var_r29; -} - -static inline s32 fn_1_11C8C_inlined(s32 arg0, Vec arg1, Vec arg2, GXColor arg3, float arg8, float arg9, float argA) -{ - M428DllPlayerUnkStruct2 *var_r31; - M428DllPlayerUnk120Struct2 *var_r30; - s32 var_r29; - M428DllPlayerWork4 *var_r28; - omObjData *var_r27; - ModelData *var_r26; - - var_r27 = lbl_1_bss_2B0; - var_r28 = var_r27->data; - var_r26 = &Hu3DData[var_r28->unk_00[arg0]]; - var_r30 = var_r26->unk_120; - for (var_r31 = var_r30->unk_3C, var_r29 = 0; var_r29 < var_r30->unk_26; var_r29++, var_r31++) { - if (var_r31->unk_30 <= 0.0f) { - break; - } - } - if (var_r29 >= var_r30->unk_26) { - return -1; - } - var_r31->unk_00 = var_r31->unk_02 = 0; - var_r31->unk_38.x = arg1.x; - var_r31->unk_38.y = arg1.y; - var_r31->unk_38.z = arg1.z; - var_r31->unk_04 = arg2.x; - var_r31->unk_08 = arg2.y; - var_r31->unk_0C = arg2.z; - var_r31->unk_18 = arg9; - var_r31->unk_30 = arg8; - var_r31->unk_44.r = arg3.r; - var_r31->unk_44.g = arg3.g; - var_r31->unk_44.b = arg3.b; - var_r31->unk_44.a = arg3.a; - var_r31->unk_34 = 0.0f; - var_r31->unk_48 = 0; - var_r31->unk_00 = 0; - var_r31->unk_28 = 0.0f; - var_r31->unk_2C = argA; - var_r28->unk_08[arg0]++; - return var_r29; -} - -s32 fn_1_11DE4(s32 arg0, Vec arg1, Vec arg2, float arg8, float arg9, float argA, float argB, GXColor arg3) -{ - Vec sp64; - Vec sp58; - s32 sp24; - s32 sp20; - float var_f31; - - sp58.x = arg2.z; - sp58.z = arg2.x; - sp58.y = 0.0f; - VECNormalize(&sp58, &sp58); - var_f31 = 0.5f * argA; - sp64.x = arg1.x + (sp58.x * var_f31); - sp64.y = arg1.y + (sp58.y * var_f31); - sp64.z = arg1.z + (sp58.z * var_f31); - - sp24 = fn_1_11C8C_inlined(arg0, sp64, arg2, arg3, arg8, arg9, argB); - sp64.x = arg1.x - (sp58.x * var_f31); - sp64.y = arg1.y - (sp58.y * var_f31); - sp64.z = arg1.z - (sp58.z * var_f31); - - sp20 = fn_1_11C8C_inlined(arg0, sp64, arg2, arg3, arg8, -arg9, argB); - return (sp24 << 0x10) | sp20; -} - -float fn_1_12254(float arg8, float arg9) -{ - float var_f31; - - if (arg8 >= 360.0f) { - arg8 -= 360.0f; - } - else if (arg8 < 0.0f) { - arg8 += 360.0f; - } - if (arg9 >= 360.0f) { - arg9 -= 360.0f; - } - else if (arg9 < 0.0f) { - arg9 += 360.0f; - } - var_f31 = arg8 - arg9; - if (var_f31 <= -180.0f) { - var_f31 += 360.0f; - } - else if (var_f31 >= 180.0f) { - var_f31 -= 360.0f; - } - return var_f31; -} - -float fn_1_1236C(float arg8, float arg9, float argA) -{ - float var_f31; - float var_f30; - - if (arg8 >= 360.0) { - arg8 -= 360.0; - } - else if (arg8 < 0.0) { - arg8 += 360.0; - } - if (arg9 >= 360.0) { - arg9 -= 360.0; - } - else if (arg9 < 0.0) { - arg9 += 360.0; - } - var_f30 = 360.0 + (arg8 - arg9); - if (fabs(var_f30) >= 360.0) { - var_f30 = fmod(var_f30, 360.0); - } - if (var_f30 < 180.0) { - if (var_f30 <= argA) { - var_f31 = var_f30; - } - else { - var_f31 = argA; - } - } - else if (360.0 - var_f30 <= argA) { - var_f31 = -(360.0 - var_f30); - } - else { - var_f31 = -argA; - } - var_f31 += arg9; - if (var_f31 >= 360.0) { - var_f31 -= 360.0; - } - else if (var_f31 < 0.0) { - var_f31 += 360.0; - } - return var_f31; -} - -float fn_1_125BC(float arg8, float arg9, float argA) -{ - float var_f24; - float var_f23; - - var_f23 = fn_1_12254(argA, arg9); - var_f24 = fabs(var_f23 * arg8); - return fn_1_1236C(argA, arg9, var_f24); -} - -void fn_1_129B4(float arg8, Vec *arg0, Vec *arg1, Vec *arg2) -{ - Vec sp8; - sp8.x = arg0->x + (arg8 * (arg1->x - arg0->x)); - sp8.y = arg0->y + (arg8 * (arg1->y - arg0->y)); - sp8.z = arg0->z + (arg8 * (arg1->z - arg0->z)); - *arg2 = sp8; -} - -float fn_1_12A2C(float arg8, float arg9, float argA, float argB) -{ - float var_f31; - float var_f30; - - var_f31 = 1.0 - arg8; - var_f30 = (argB * (arg8 * arg8)) + ((arg9 * (var_f31 * var_f31)) + (2.0 * (argA * (var_f31 * arg8)))); - return var_f30; -} - -void fn_1_12AA4(float arg8, Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3) -{ - arg3->x = fn_1_12A2C(arg8, arg0->x, arg1->x, arg2->x); - arg3->y = fn_1_12A2C(arg8, arg0->y, arg1->y, arg2->y); - arg3->z = fn_1_12A2C(arg8, arg0->z, arg1->z, arg2->z); -} - -s16 fn_1_12CD4(AnimData *sp8, s16 var_r26) -{ - s16 var_r30; - M428DllPlayerUnkStruct2 *var_r29; - Vec2f *var_r28; - Vec *var_r25; - void *var_r24; - void *var_r22; - - s16 var_r23 = Hu3DHookFuncCreate(fn_1_134C0); - ModelData *var_r27 = &Hu3DData[var_r23]; - M428DllPlayerUnk120Struct2 *var_r31 = HuMemDirectMallocNum(HEAP_DATA, sizeof(M428DllPlayerUnk120Struct2), var_r27->unk_48); - var_r27->unk_120 = var_r31; - var_r31->unk_38 = sp8; - var_r31->unk_26 = var_r26; - var_r31->unk_20 = 0; - var_r31->unk_22 = 0; - var_r31->unk_4C = 0; - var_r31->unk_50 = 0; - var_r31->unk_28 = 0; - var_r31->unk_21 = 0; - var_r31->unk_23 = 0; - var_r31->unk_30 = 0; - var_r31->unk_00 = var_r31->unk_02 = 0; - var_r29 = HuMemDirectMallocNum(HEAP_DATA, var_r26 * sizeof(M428DllPlayerUnkStruct2), var_r27->unk_48); - var_r31->unk_3C = var_r29; - memset(var_r29, 0, var_r26 * sizeof(M428DllPlayerUnkStruct2)); - for (var_r30 = 0; var_r30 < var_r26; var_r30++, var_r29++) { - var_r29->unk_30 = 0.0f; - var_r29->unk_34 = 0.0f; - var_r29->unk_28 = 0.0f; - var_r29->unk_2C = 1.0f; - var_r29->unk_38.x = ((frand() & 0x7F) - 0x40) * 0x14; - var_r29->unk_38.y = ((frand() & 0x7F) - 0x40) * 0x1E; - var_r29->unk_38.z = ((frand() & 0x7F) - 0x40) * 0x14; - var_r29->unk_44.r = var_r29->unk_44.g = var_r29->unk_44.b = var_r29->unk_44.a = 0xFF; - var_r29->unk_48 = 0; - } - var_r25 = HuMemDirectMallocNum(HEAP_DATA, var_r26 * sizeof(Vec) * 4, var_r27->unk_48); - var_r31->unk_40 = var_r25; - for (var_r30 = 0; var_r30 < (var_r26 * 4); var_r30++, var_r25++) { - var_r25->x = var_r25->y = var_r25->z = 0.0f; - } - var_r28 = HuMemDirectMallocNum(HEAP_DATA, var_r26 * sizeof(Vec2f) * 4, var_r27->unk_48); - var_r31->unk_44 = var_r28; - for (var_r30 = 0; var_r30 < var_r26; var_r30++) { - var_r28->x = 0.0f; - var_r28->y = 0.0f; - var_r28++; - var_r28->x = 1.0f; - var_r28->y = 0.0f; - var_r28++; - var_r28->x = 1.0f; - var_r28->y = 1.0f; - var_r28++; - var_r28->x = 0.0f; - var_r28->y = 1.0f; - var_r28++; - } - var_r24 = HuMemDirectMallocNum(HEAP_DATA, 0x10000, var_r27->unk_48); - var_r22 = var_r24; - DCFlushRange(var_r24, 0x10000); - GXBeginDisplayList(var_r22, 0x10000); - GXBegin(GX_QUADS, GX_VTXFMT0, var_r26 * 4); - for (var_r30 = 0; var_r30 < var_r26; var_r30++) { - GXUnknownu16(var_r30 * 4); - GXUnknownu16(var_r30); - GXUnknownu16(var_r30 * 4); - GXUnknownu16(var_r30 * 4 + 1); - GXUnknownu16(var_r30); - GXUnknownu16(var_r30 * 4 + 1); - GXUnknownu16(var_r30 * 4 + 2); - GXUnknownu16(var_r30); - GXUnknownu16(var_r30 * 4 + 2); - GXUnknownu16(var_r30 * 4 + 3); - GXUnknownu16(var_r30); - GXUnknownu16(var_r30 * 4 + 3); - } - var_r31->unk_34 = GXEndDisplayList(); - var_r31->unk_48 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_34, var_r27->unk_48); - memcpy(var_r31->unk_48, var_r24, var_r31->unk_34); - DCFlushRange(var_r31->unk_48, var_r31->unk_34); - HuMemDirectFree(var_r24); - (void)var_r30; - (void)var_r26; - return var_r23; -} - -s16 fn_1_13184(s16 sp8) -{ - M428DllPlayerUnk120Struct2 *var_r31; - M428DllPlayerUnkStruct2 *var_r30; - Vec2f *var_r29; - s16 var_r28; - ModelData *var_r27; - M428DllPlayerUnk120Struct2 *var_r26; - Vec *var_r25; - s32 var_r24; - ModelData *var_r23; - s16 var_r22; - - var_r23 = &Hu3DData[sp8]; - var_r26 = var_r23->unk_120; - var_r22 = Hu3DHookFuncCreate(var_r23->hook); - var_r27 = &Hu3DData[var_r22]; - var_r31 = HuMemDirectMallocNum(HEAP_DATA, sizeof(M428DllPlayerUnk120Struct2), var_r27->unk_48); - var_r27->unk_120 = var_r31; - var_r31->unk_38 = var_r26->unk_38; - var_r31->unk_26 = var_r26->unk_26; - var_r24 = var_r31->unk_26; - var_r31->unk_20 = 0; - var_r31->unk_22 = var_r26->unk_22; - var_r31->unk_4C = NULL; - var_r31->unk_50 = NULL; - var_r31->unk_28 = 0; - var_r31->unk_21 = 0; - var_r31->unk_30 = 0; - var_r31->unk_00 = var_r31->unk_02 = 0; - var_r30 = HuMemDirectMallocNum(HEAP_DATA, var_r24 * sizeof(M428DllPlayerUnkStruct2), var_r27->unk_48); - var_r31->unk_3C = var_r30; - for (var_r28 = 0; var_r28 < var_r24; var_r28++, var_r30++) { - var_r30->unk_30 = 0.0f; - var_r30->unk_34 = 0.0f; - var_r30->unk_28 = 0.0f; - var_r30->unk_2C = 1.0f; - var_r30->unk_38.x = ((frand() & 0x7F) - 0x40) * 0x14; - var_r30->unk_38.y = ((frand() & 0x7F) - 0x40) * 0x1E; - var_r30->unk_38.z = ((frand() & 0x7F) - 0x40) * 0x14; - var_r30->unk_44.r = var_r30->unk_44.g = var_r30->unk_44.b = var_r30->unk_44.a = 0xFF; - var_r30->unk_48 = 0; - } - var_r25 = HuMemDirectMallocNum(HEAP_DATA, var_r24 * sizeof(Vec) * 4, var_r27->unk_48); - var_r31->unk_40 = var_r25; - for (var_r28 = 0; var_r28 < (var_r24 * 4); var_r28++, var_r25++) { - var_r25->x = var_r25->y = var_r25->z = 0.0f; - } - var_r29 = HuMemDirectMallocNum(HEAP_DATA, var_r24 * sizeof(Vec2f) * 4, var_r27->unk_48); - var_r31->unk_44 = var_r29; - for (var_r28 = 0; var_r28 < var_r24; var_r28++) { - var_r29->x = 0.0f; - var_r29->y = 0.0f; - var_r29++; - var_r29->x = 1.0f; - var_r29->y = 0.0f; - var_r29++; - var_r29->x = 1.0f; - var_r29->y = 1.0f; - var_r29++; - var_r29->x = 0.0f; - var_r29->y = 1.0f; - var_r29++; - } - var_r31->unk_34 = var_r26->unk_34; - var_r31->unk_48 = var_r26->unk_48; - return var_r22; -} - -void fn_1_134C0(ModelData *var_r23, Mtx var_r22) -{ - Mtx sp128; - Mtx spF8; - Mtx spC8; - Vec sp98[4]; - Vec sp68[4]; - Vec sp38[4]; - ROMtx sp8; - M428DllPlayerUnk120Struct2 *var_r31; - Vec *var_r30; - M428DllPlayerUnkStruct2 *var_r29; - Vec2f *var_r28; - Vec *var_r27; - s16 var_r26; - s16 var_r25; - Vec *var_r24; - s16 var_r21; - s16 var_r20; - s16 var_r19; - M428DllPlayerHook var_r18; - - var_r31 = var_r23->unk_120; - if ((var_r31->unk_2C != GlobalCounter) || (shadowModelDrawF != 0)) { - if ((var_r31->unk_50) && (var_r31->unk_50 != var_r23)) { - fn_1_134C0(var_r31->unk_50, var_r22); - } - GXLoadPosMtxImm(var_r22, 0); - GXSetNumTevStages(1); - GXSetNumTexGens(1); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3C, GX_FALSE, 0x7D); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - if (shadowModelDrawF != 0) { - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ONE, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); - GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - } - else { - var_r21 = var_r31->unk_38->bmp->dataFmt & 0xF; - if ((var_r21 == 7) || (var_r21 == 8)) { - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ONE, GX_CC_RASC, GX_CC_ZERO); - } - else { - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); - } - if ((var_r31->unk_22 & 1) != 0) { - GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - } - else if ((var_r23->attr & 2) != 0) { - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - } - else { - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); - } - } - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - HuSprTexLoad(var_r31->unk_38, 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZCompLoc(0); - switch (var_r31->unk_20) { - case 0: - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - break; - case 1: - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); - break; - case 2: - GXSetBlendMode(GX_BM_BLEND, GX_BL_ZERO, GX_BL_INVDSTCLR, GX_LO_NOOP); - break; - } - if (HmfInverseMtxF3X3(var_r22, &sp128[0]) == 0) { - MTXIdentity(sp128); - } - PSMTXReorder(sp128, sp8); - if (var_r31->unk_4C) { - var_r18 = var_r31->unk_4C; - var_r18(var_r23, var_r31, var_r22); - } - var_r29 = var_r31->unk_3C; - var_r30 = var_r31->unk_40; - var_r28 = var_r31->unk_44; - PSMTXROMultVecArray(sp8, lbl_1_data_6A4, &sp38[0], 4); - for (var_r26 = 0; var_r26 < var_r31->unk_26; var_r26++, var_r29++) { - if (!var_r29->unk_30) { - var_r30->x = var_r30->y = var_r30->z = 0.0f; - var_r30++; - var_r30->x = var_r30->y = var_r30->z = 0.0f; - var_r30++; - var_r30->x = var_r30->y = var_r30->z = 0.0f; - var_r30++; - var_r30->x = var_r30->y = var_r30->z = 0.0f; - var_r30++; - } - else if (!var_r29->unk_34) { - var_r27 = &sp98[0]; - var_r24 = &sp38[0]; - VECScale(var_r24++, var_r27, var_r29->unk_30); - VECAdd(var_r27++, &var_r29->unk_38, var_r30++); - VECScale(var_r24++, var_r27, var_r29->unk_30); - VECAdd(var_r27++, &var_r29->unk_38, var_r30++); - VECScale(var_r24++, var_r27, var_r29->unk_30); - VECAdd(var_r27++, &var_r29->unk_38, var_r30++); - VECScale(var_r24++, var_r27, var_r29->unk_30); - VECAdd(var_r27++, &var_r29->unk_38, var_r30++); - } - else { - VECScale(lbl_1_data_6A4, &sp98[0], var_r29->unk_30); - VECScale(&lbl_1_data_6A4[1], &sp98[1], var_r29->unk_30); - VECScale(&lbl_1_data_6A4[2], &sp98[2], var_r29->unk_30); - VECScale(&lbl_1_data_6A4[3], &sp98[3], var_r29->unk_30); - MTXRotRad(spC8, 0x5A, var_r29->unk_34); - MTXConcat(&sp128[0], spC8, spF8); - MTXMultVecArray(spF8, &sp98[0], &sp68[0], 4); - VECAdd(&sp68[0], &var_r29->unk_38, var_r30++); - VECAdd(&sp68[1], &var_r29->unk_38, var_r30++); - VECAdd(&sp68[2], &var_r29->unk_38, var_r30++); - VECAdd(&sp68[3], &var_r29->unk_38, var_r30++); - } - } - var_r29 = var_r31->unk_3C; - var_r28 = var_r31->unk_44; - if ((var_r31->unk_22 & 2) == 0) { - for (var_r26 = 0; var_r26 < var_r31->unk_26; var_r26++, var_r29++) { - var_r20 = var_r29->unk_48 & 3; - var_r19 = (var_r29->unk_48 >> 2) & 3; - for (var_r25 = 0; var_r25 < 4; var_r25++, var_r28++) { - var_r28->x = (0.25f * var_r20) + lbl_1_data_6D4[var_r25].x; - var_r28->y = (0.25f * var_r19) + lbl_1_data_6D4[var_r25].y; - } - } - } - else { - for (var_r26 = 0; var_r26 < var_r31->unk_26; var_r26++, var_r29++) { - for (var_r25 = 0; var_r25 < 4; var_r25++, var_r28++) { - var_r28->x = 4.0f * lbl_1_data_6D4[var_r25].x; - var_r28->y = 4.0f * lbl_1_data_6D4[var_r25].y; - } - } - } - DCFlushRangeNoSync(var_r31->unk_40, var_r31->unk_26 * 0xC * 4); - DCFlushRangeNoSync(var_r31->unk_44, var_r31->unk_26 * 8 * 4); - DCFlushRangeNoSync(var_r31->unk_3C, var_r31->unk_26 * 0x4C); - PPCSync(); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, var_r31->unk_40, sizeof(Vec)); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, &var_r31->unk_3C->unk_44, sizeof(M428DllPlayerUnkStruct2)); // bug? - GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetArray(GX_VA_TEX0, var_r31->unk_44, sizeof(Vec2f)); - GXCallDisplayList(var_r31->unk_48, var_r31->unk_34); - if (shadowModelDrawF == 0) { - if ((var_r31->unk_21 & 2) == 0) { - var_r31->unk_28++; - } - if ((var_r31->unk_30 != 0) && (var_r31->unk_30 <= var_r31->unk_28)) { - if ((var_r31->unk_21 & 1) != 0) { - var_r31->unk_28 = 0; - } - var_r31->unk_28 = var_r31->unk_30; - } - var_r31->unk_2C = GlobalCounter; - } - } -} - -void fn_1_13D9C(s16 arg0, s16 arg1, s32 arg2) -{ - if (arg2 == 0) { - fn_1_13EC8(arg0, arg1, 0.0f); - return; - } - fn_1_13EC8(arg0, arg1, 1.0f); -} - -void fn_1_13E14(s16 arg0, s16 arg1, Vec arg2) -{ - M428DllPlayerUnkStruct2 *var_r31; - M428DllPlayerUnk120Struct2 *var_r30; - s32 var_r29; - ModelData *var_r28; - - var_r28 = &Hu3DData[arg0]; - var_r30 = var_r28->unk_120; - if (arg1 != -1) { - var_r31 = &var_r30->unk_3C[arg1]; - var_r31->unk_38 = arg2; - return; - } - for (var_r31 = var_r30->unk_3C, var_r29 = 0; var_r29 < var_r30->unk_26; var_r29++, var_r31++) { - var_r31->unk_38 = arg2; - } -} - -void fn_1_13EC8(s16 arg0, s16 arg1, float arg8) -{ - M428DllPlayerUnkStruct2 *var_r31; - M428DllPlayerUnk120Struct2 *var_r30; - s32 var_r29; - ModelData *var_r28; - - var_r28 = &Hu3DData[arg0]; - var_r30 = var_r28->unk_120; - if (arg1 != -1) { - var_r31 = &var_r30->unk_3C[arg1]; - var_r31->unk_30 = arg8; - return; - } - for (var_r31 = var_r30->unk_3C, var_r29 = 0; var_r29 < var_r30->unk_26; var_r29++, var_r31++) { - var_r31->unk_30 = arg8; - } -} - -s32 fn_1_13F54(s16 arg0, char *arg1, Mtx arg2, s32 arg3) -{ - Mtx sp44; - Mtx sp14; - ModelData *var_r31; - HsfData *var_r30; - - var_r31 = &Hu3DData[arg0]; - var_r30 = var_r31->hsfData; - lbl_1_bss_130 = 0; - if (var_r31->unk_08 != -1) { - lbl_1_bss_134 = 1; - } - else { - lbl_1_bss_134 = 0; - } - mtxRot(sp14, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z); - MTXScale(sp44, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z); - MTXConcat(sp14, sp44, sp44); - mtxTransCat(sp44, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z); - MTXConcat(sp44, var_r31->unk_F0, sp44); - if (arg3 != 0) { - MTXConcat(arg2, sp44, sp44); - } - fn_1_14088(var_r30->root, sp44, arg1, arg2); - return lbl_1_bss_130; -} - -void fn_1_14088(HsfObject *arg0, Mtx arg1, char *arg2, Mtx arg3) -{ - Mtx spF8; - Mtx spC8; - Mtx sp98; - Mtx sp68; - Mtx sp38; - Mtx sp8; - HsfTransform *var_r31; - HsfTransform *var_r30; - HsfTransform *var_r29; - HsfObject *var_r28; - HsfObject *var_r27; - u32 var_r25; - u32 var_r24; - u32 var_r23; - - if (lbl_1_bss_130 == 0) { - if (lbl_1_bss_134 != 0) { - var_r31 = &arg0->data.curr; - } - else { - var_r31 = &arg0->data.base; - } - if ((var_r31->scale.x <= 0.0f) && (var_r31->scale.y <= 0.0f) && (var_r31->scale.z <= 0.0f)) { - MTXCopy(arg1, spF8); - OSReport("OBJ MTX CHECK ERROR %s \n", arg0->name); - } - else { - mtxRot(spC8, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z); - MTXScale(spF8, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z); - MTXConcat(spC8, spF8, spF8); - mtxTransCat(spF8, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z); - MTXConcat(arg1, spF8, spF8); - } - if (lbl_1_bss_138 != 0) { - OSReport("%s \n", arg0->name); - } - if (strcmp(arg2, arg0->name) == 0) { - MTXCopy(spF8, arg3); - lbl_1_bss_130 = 1; - } - for (var_r25 = 0; var_r25 < arg0->data.childrenCount; var_r25++) { - var_r28 = arg0->data.children[var_r25]; - if (lbl_1_bss_130 == 0) { - if (lbl_1_bss_134 != 0) { - var_r30 = &var_r28->data.curr; - } - else { - var_r30 = &var_r28->data.base; - } - if ((var_r30->scale.x <= 0.0f) && (var_r30->scale.y <= 0.0f) && (var_r30->scale.z <= 0.0f)) { - MTXCopy(spF8, sp68); - OSReport("OBJ MTX CHECK ERROR %s \n", var_r28->name); - } - else { - mtxRot(&sp98[0], var_r30->rot.x, var_r30->rot.y, var_r30->rot.z); - MTXScale(sp68, var_r30->scale.x, var_r30->scale.y, var_r30->scale.z); - MTXConcat(&sp98[0], sp68, sp68); - mtxTransCat(sp68, var_r30->pos.x, var_r30->pos.y, var_r30->pos.z); - MTXConcat(spF8, sp68, sp68); - } - if (lbl_1_bss_138 != 0) { - OSReport("%s \n", var_r28->name); - } - if (strcmp(arg2, var_r28->name) == 0) { - MTXCopy(sp68, arg3); - lbl_1_bss_130 = 1; - } - for (var_r24 = 0; var_r24 < var_r28->data.childrenCount; var_r24++) { - var_r27 = var_r28->data.children[var_r24]; - if (lbl_1_bss_130 == 0) { - if (lbl_1_bss_134 != 0) { - var_r29 = &var_r27->data.curr; - } - else { - var_r29 = &var_r27->data.base; - } - if ((var_r29->scale.x <= 0.0f) && (var_r29->scale.y <= 0.0f) && (var_r29->scale.z <= 0.0f)) { - MTXCopy(sp68, sp8); - OSReport("OBJ MTX CHECK ERROR %s \n", var_r27->name); - } - else { - mtxRot(sp38, var_r29->rot.x, var_r29->rot.y, var_r29->rot.z); - MTXScale(sp8, var_r29->scale.x, var_r29->scale.y, var_r29->scale.z); - MTXConcat(sp38, sp8, sp8); - mtxTransCat(sp8, var_r29->pos.x, var_r29->pos.y, var_r29->pos.z); - MTXConcat(sp68, sp8, sp8); - } - if (lbl_1_bss_138 != 0) { - OSReport("%s \n", var_r27->name); - } - if (strcmp(arg2, var_r27->name) == 0) { - MTXCopy(sp8, arg3); - lbl_1_bss_130 = 1; - } - for (var_r23 = 0; var_r23 < var_r27->data.childrenCount; var_r23++) { - fn_1_14088(var_r27->data.children[var_r23], sp8, arg2, arg3); - } - } - } - } - } - } -} - -void fn_1_14560(s16 arg0) -{ - CameraData *var_r31 = &Hu3DCamera[arg0]; - C_MTXLookAt(lbl_1_bss_23C[arg0], &var_r31->pos, &var_r31->up, &var_r31->target); - GXGetProjectionv(&lbl_1_bss_1BC[arg0].unk_00); - GXGetViewportv(&lbl_1_bss_13C[arg0].unk_00); -} - -void fn_1_145F8(s16 var_r29, Vec *var_r31, float *var_r30) -{ - GXProject(var_r31->x, var_r31->y, var_r31->z, lbl_1_bss_23C[var_r29], &lbl_1_bss_1BC[var_r29].unk_00, &lbl_1_bss_13C[var_r29].unk_00, var_r30, - &var_r30[1], &var_r30[2]); -} diff --git a/src/REL/m429Dll/main.c b/src/REL/m429Dll/main.c index 01040112..1d05f6c6 100644 --- a/src/REL/m429Dll/main.c +++ b/src/REL/m429Dll/main.c @@ -1,27 +1,28 @@ #include "REL/executor.h" #include "game/chrman.h" -#include "game/frand.h" -#include "game/minigame_seq.h" #include "game/object.h" #include "game/objsub.h" +#include "game/frand.h" #include "game/wipe.h" +#include "game/minigame_seq.h" #include "game/gamework_data.h" -#include "game/mapspace.h" #include "game/pad.h" #include "game/printfunc.h" +#include "game/mapspace.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" #include "game/hsfman.h" #include "game/hsfmotion.h" +#include "game/hsfanim.h" +#include "game/hsfdraw.h" #include "game/esprite.h" #include "game/sprite.h" #include "ext_math.h" -#include "version.h" +#include "rel_sqrt_consts.h" + #undef ABS #define ABS(x) ((0 > (x)) ? -(x) : (x)) @@ -65,14 +66,12 @@ float lbl_1_bss_2F0; s32 lbl_1_bss_2B0[16]; UnkBss1B0Struct lbl_1_bss_1B0[32]; -void fn_1_0(void) -{ +void fn_1_0(void) { lbl_1_bss_358.unk04 = NULL; lbl_1_bss_358.unk08 = NULL; } -void fn_1_24(u16 arg0, s16 arg1) -{ +void fn_1_24(u16 arg0, s16 arg1) { UnkBss358Struct *temp_r31; UnkBss358Struct *temp_r30; UnkBss358Struct *temp_r29; @@ -90,8 +89,7 @@ void fn_1_24(u16 arg0, s16 arg1) temp_r31->unk08 = temp_r29; } -s16 fn_1_AC(s16 arg0) -{ +s16 fn_1_AC(s16 arg0) { UnkBss358Struct *var_r31; UnkBss358Struct *temp_r29; UnkBss358Struct *temp_r30; @@ -115,14 +113,12 @@ s16 fn_1_AC(s16 arg0) return -1; } -void fn_1_150(void) -{ +void fn_1_150(void) { lbl_1_bss_340.unk10 = NULL; lbl_1_bss_340.unk14 = NULL; } -void fn_1_174(s16 arg0, HsfanimStruct00 *arg1, s32 arg2, s32 arg3, s32 arg4, Vec *arg5, u8 arg6) -{ +void fn_1_174(s16 arg0, HsfanimStruct00 *arg1, s32 arg2, s32 arg3, s32 arg4, Vec *arg5, u8 arg6) { UnkBss340Struct *temp_r27; UnkBss340Struct *var_r31; UnkBss340Struct *temp_r28; @@ -152,8 +148,7 @@ void fn_1_174(s16 arg0, HsfanimStruct00 *arg1, s32 arg2, s32 arg3, s32 arg4, Vec var_r31->unk14 = temp_r27; } -void fn_1_2D8(void) -{ +void fn_1_2D8(void) { UnkBss340Struct *var_r31; UnkBss340Struct *temp_r28; UnkBss340Struct *temp_r29; @@ -188,8 +183,7 @@ void fn_1_2D8(void) } } -void fn_1_414(void) -{ +void fn_1_414(void) { s32 i; for (i = 0; i < 32; i++) { @@ -198,8 +192,7 @@ void fn_1_414(void) } } -s16 fn_1_46C(s32 arg0) -{ +s16 fn_1_46C(s32 arg0) { s32 i; for (i = 0; i < 32; i++) { @@ -217,40 +210,37 @@ s16 fn_1_46C(s32 arg0) return Hu3DModelCreateFile(arg0); } -void fn_1_580(s32 *arg0, s32 arg1, s32 arg2) -{ +void fn_1_580(s32 *arg0, s32 arg1, s32 arg2) { s32 var_r30; espBankSet(arg0[arg1 + 1], 10); espBankSet(arg0[arg1 + 4], 11); - if (600 * REFRESH_RATE <= arg2) { - arg2 = 600 * REFRESH_RATE - 1; + if (36000 <= arg2) { + arg2 = 35999; } - var_r30 = arg2 / (60 * REFRESH_RATE); - arg2 -= var_r30 * (60 * REFRESH_RATE); + var_r30 = arg2 / 3600; + arg2 -= var_r30 * 3600; if (var_r30 > 9) { var_r30 = 9; } espBankSet(arg0[arg1], var_r30); - var_r30 = arg2 / REFRESH_RATE; - arg2 -= var_r30 * REFRESH_RATE; + var_r30 = arg2 / 60; + arg2 -= var_r30 * 60; espBankSet(arg0[arg1 + 2], var_r30 / 10); espBankSet(arg0[arg1 + 3], var_r30 % 10); - var_r30 = 101.5f * arg2 / REFRESH_RATE; + var_r30 = 101.5f * arg2 / 60.0f; espBankSet(arg0[arg1 + 5], var_r30 / 10); espBankSet(arg0[arg1 + 6], var_r30 % 10); } -void fn_1_798(s32 arg0) -{ +void fn_1_798(s32 arg0) { lbl_1_bss_2F0 = 0.0f; lbl_1_bss_300 = lbl_1_bss_304; GWMGRecordSet(arg0, lbl_1_bss_300); fn_1_580(lbl_1_bss_2B0, 7, lbl_1_bss_304); } -void fn_1_9EC(void) -{ +void fn_1_9EC(void) { s32 i; for (i = 0; i < 16; i++) { @@ -258,8 +248,7 @@ void fn_1_9EC(void) } } -void fn_1_A40(void) -{ +void fn_1_A40(void) { float temp_f31; s32 i; @@ -272,8 +261,7 @@ void fn_1_A40(void) } } -void fn_1_B4C(float arg0, s32 arg1) -{ +void fn_1_B4C(float arg0, s32 arg1) { float temp_f30; float temp_f31; s32 i; @@ -310,8 +298,7 @@ void fn_1_B4C(float arg0, s32 arg1) } } -void fn_1_11F4(float arg0, Vec *arg1, Vec *arg2, Vec *arg3) -{ +void fn_1_11F4(float arg0, Vec *arg1, Vec *arg2, Vec *arg3) { float temp_f31; if (1.0f < arg0) { @@ -323,15 +310,13 @@ void fn_1_11F4(float arg0, Vec *arg1, Vec *arg2, Vec *arg3) arg3->z = arg1->z + temp_f31 * (arg2->z - arg1->z); } -void fn_1_1350(Vec *arg0, Vec *arg1, Vec *arg2) -{ +void fn_1_1350(Vec *arg0, Vec *arg1, Vec *arg2) { Hu3DCameraPosSetV(1, arg0, arg1, arg2); lbl_1_bss_330 = *arg0; lbl_1_bss_318 = *arg2; } -s32 fn_1_13DC(float arg0, Vec *arg1) -{ +s32 fn_1_13DC(float arg0, Vec *arg1) { Vec sp18; Vec spC; @@ -340,15 +325,13 @@ s32 fn_1_13DC(float arg0, Vec *arg1) Hu3DCameraPosSetV(1, &sp18, arg1, &spC); if (1.0f <= arg0) { return 1; - } - else { + } else { lbl_1_bss_2F4 = 1; return 0; } } -void fn_1_1710(float arg0, Vec *arg1) -{ +void fn_1_1710(float arg0, Vec *arg1) { Vec sp18; Vec spC; @@ -358,8 +341,7 @@ void fn_1_1710(float arg0, Vec *arg1) lbl_1_bss_2F4 = 1; } -void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2) -{ +void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2) { Mtx sp1C; Vec sp10; float temp_f30; @@ -386,8 +368,7 @@ void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2) arg2->z = 0.0f; } -void fn_1_1D18(s16 arg0, char *arg1, Vec *arg2) -{ +void fn_1_1D18(s16 arg0, char *arg1, Vec *arg2) { Mtx sp10; Hu3DModelObjMtxGet(arg0, arg1, sp10); @@ -396,24 +377,22 @@ void fn_1_1D18(s16 arg0, char *arg1, Vec *arg2) arg2->z = sp10[2][3]; } -void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3) -{ +void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3) { Mtx spC; ModelData *var_r30; var_r30 = &Hu3DData[arg0]; Hu3DModelObjMtxGet(arg0, arg1, spC); - MTXConcat(var_r30->unk_F0, spC, spC); + PSMTXConcat(var_r30->unk_F0, spC, spC); if (NULL != arg3) { - MTXCopy(spC, arg3); + PSMTXCopy(spC, arg3); } arg2->x = spC[0][3]; arg2->y = spC[1][3]; arg2->z = spC[2][3]; } -float fn_1_1E20(float arg0, float arg1, float arg2) -{ +float fn_1_1E20(float arg0, float arg1, float arg2) { float var_f31; float var_f30; @@ -431,13 +410,11 @@ float fn_1_1E20(float arg0, float arg1, float arg2) return var_f30; } -void fn_1_1F24(s32 arg0) -{ +void fn_1_1F24(s32 arg0) { lbl_1_bss_2F8 = HuAudSeqPlay((s32)arg0); } -void fn_1_1F58(s32 arg0) -{ +void fn_1_1F58(s32 arg0) { if (lbl_1_bss_2F8 >= 0) { if (arg0 < 0) { arg0 = 1000; @@ -447,8 +424,7 @@ void fn_1_1F58(s32 arg0) lbl_1_bss_2F8 = -1; } -void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) -{ +void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) { Vec sp18; float var_f28; s32 var_r30; @@ -457,7 +433,7 @@ void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) sp18.y = 0.0f; sp18.z = 0.0f; sp18.x = arg2 / 4.0f; - sp18.z = -(float)arg3 / 4.0f; + sp18.z = -(float) arg3 / 4.0f; var_r30 = 0; var_f28 = VECMagXZ(&sp18); if (0.5f <= var_f28) { @@ -471,146 +447,173 @@ void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) *arg1 = fn_1_1E20(*arg1, atan2d(sp18.x, sp18.z), 0.4f); if (8.0f <= var_f28) { var_r30 = 2; - } - else { + } else { var_r30 = 1; } } - VECAdd((Vec *)&arg0, &sp18, (Vec *)&arg0); + PSVECAdd((Vec*) &arg0, &sp18, (Vec*) &arg0); } typedef struct data_1340_sub_struct { - char *unk0; - s32 unk4; - s32 unk8[4]; - Vec unk18; + char *unk0; + s32 unk4; + s32 unk8[4]; + Vec unk18; } Data1340SubStruct; typedef struct data_1340_struct { - s32 unk0; - s32 *unk4; - s32 unk8[4]; - float unk18; - s32 unk1C; - Data1340SubStruct *unk20; + s32 unk0; + s32 *unk4; + s32 unk8[4]; + float unk18; + s32 unk1C; + Data1340SubStruct *unk20; } Data1340Struct; typedef struct data_13A8_struct { - float unk0; - float unk4; - float unk8; - s32 unkC; + float unk0; + float unk4; + float unk8; + s32 unkC; } Data13A8Struct; typedef struct bss_130_struct { - s32 unk0; - float unk4; - float unk8; - float unkC; - float unk10; - float unk14; + s32 unk0; + float unk4; + float unk8; + float unkC; + float unk10; + float unk14; } Bss130Struct; -s16 lbl_1_data_0[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; +s16 lbl_1_data_0[8] = { + 0, 1, 2, 3, + 4, 5, 6, 7 +}; Data1340SubStruct lbl_1_data_22C[] = { - { "baseA2-null2", 1, { 13, 1, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null11", 0, { 10, 0, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null12", 0, { 6, 3, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null13", 8, { 20, 2, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null5", 16, { 14, 5, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null6", 0, { 9, 4, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null20", 128, { 2, -1, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null21", 128, { 8, -1, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null22", 0, { 19, 7, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null7", 0, { 5, 15, 10, -1 }, { 0, 0, 0 } }, - { "baseA2-null10", 16, { 1, 9, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null18", 0, { 17, 12, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null17", 0, { 18, 11, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null3", 0, { 0, 14, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null4", 0, { 4, 13, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null8", 0, { 9, 16, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null9", 0, { 22, 15, 17, -1 }, { 0, 0, 0 } }, - { "baseA2-null19", 0, { 11, 23, 16, -1 }, { 0, 0, 0 } }, - { "baseA2-null16", 0, { 12, 19, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null15", 0, { 8, 18, 20, -1 }, { 0, 0, 0 } }, - { "baseA2-null14", 0, { 3, 19, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null39", 0, { 30, 22, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null40", 0, { 16, 21, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null27", 0, { 17, 37, 24, -1 }, { 0, 0, 0 } }, - { "baseA2-null28", 64, { 32, 23, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null23", 64, { 33, 26, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null24", 0, { 38, 25, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null35", 0, { 31, 28, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null34", 32, { 35, 27, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null31", 32, { 36, -1, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null37", 0, { 21, 34, 31, -1 }, { 0, 0, 0 } }, - { "baseA2-null36", 0, { 27, 30, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null29", 0, { 24, 33, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null30", 0, { 25, 32, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null38", 2, { 30, 35, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null33", 0, { 28, 34, 36, -1 }, { 0, 0, 0 } }, - { "baseA2-null32", 0, { 29, 35, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null26", 0, { 23, 38, -1, -1 }, { 0, 0, 0 } }, - { "baseA2-null25", 4, { 26, 37, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null2", 1, { 13, 1, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null11", 0, { 10, 0, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null12", 0, { 6, 3, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null13", 8, { 20, 2, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null5", 16, { 14, 5, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null6", 0, { 9, 4, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null20", 128, { 2, -1, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null21", 128, { 8, -1, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null22", 0, { 19, 7, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null7", 0, { 5, 15, 10, -1 }, { 0, 0, 0 } }, + { "baseA2-null10", 16, { 1, 9, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null18", 0, { 17, 12, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null17", 0, { 18, 11, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null3", 0, { 0, 14, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null4", 0, { 4, 13, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null8", 0, { 9, 16, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null9", 0, { 22, 15, 17, -1 }, { 0, 0, 0 } }, + { "baseA2-null19", 0, { 11, 23, 16, -1 }, { 0, 0, 0 } }, + { "baseA2-null16", 0, { 12, 19, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null15", 0, { 8, 18, 20, -1 }, { 0, 0, 0 } }, + { "baseA2-null14", 0, { 3, 19, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null39", 0, { 30, 22, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null40", 0, { 16, 21, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null27", 0, { 17, 37, 24, -1 }, { 0, 0, 0 } }, + { "baseA2-null28", 64, { 32, 23, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null23", 64, { 33, 26, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null24", 0, { 38, 25, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null35", 0, { 31, 28, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null34", 32, { 35, 27, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null31", 32, { 36, -1, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null37", 0, { 21, 34, 31, -1 }, { 0, 0, 0 } }, + { "baseA2-null36", 0, { 27, 30, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null29", 0, { 24, 33, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null30", 0, { 25, 32, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null38", 2, { 30, 35, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null33", 0, { 28, 34, 36, -1 }, { 0, 0, 0 } }, + { "baseA2-null32", 0, { 29, 35, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null26", 0, { 23, 38, -1, -1 }, { 0, 0, 0 } }, + { "baseA2-null25", 4, { 26, 37, -1, -1 }, { 0, 0, 0 } }, }; Data1340SubStruct lbl_1_data_9EC[] = { - { "baseB2-null1", 1, { 12, 1, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null2", 0, { 8, 0, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null6", 0, { 9, 3, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null10", 0, { 15, 2, 4, -1 }, { 0, 0, 0 } }, - { "baseB2-null11", 0, { 10, 3, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null12", 0, { 11, 6, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null13", 8, { 18, 5, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null7", 16, { 14, -1, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null4", 16, { 1, 9, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null5", 0, { 2, 8, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null14", 128, { 4, 11, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null15", 0, { 5, 10, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null3", 0, { 0, 13, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null9", 0, { 21, 12, 14, -1 }, { 0, 0, 0 } }, - { "baseB2-null8", 0, { 7, 13, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null16", 0, { 3, 16, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null17", 0, { 24, 15, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null18", 128, { 18, -1, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null19", 0, { 6, 17, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null20", 0, { 35, 20, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null21", 0, { 27, 19, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null30", 0, { 13, 22, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null29", 0, { 38, 21, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null31", 0, { 32, 24, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null33", 0, { 16, 23, 25, -1 }, { 0, 0, 0 } }, - { "baseB2-null34", 0, { 30, 24, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null42", 64, { 34, -1, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null25", 0, { 20, 28, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null26", 32, { 37, 27, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null36", 0, { 39, 30, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null35", 0, { 25, 33, 29, -1 }, { 0, 0, 0 } }, - { "baseB2-null24", 32, { 36, -1, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null32", 64, { 23, -1, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null38", 0, { 30, 40, 34, -1 }, { 0, 0, 0 } }, - { "baseB2-null40", 0, { 26, 33, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null22", 2, { 19, 36, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null23", 0, { 31, 35, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null27", 0, { 28, 38, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null28", 0, { 22, 37, 39, -1 }, { 0, 0, 0 } }, - { "baseB2-null37", 0, { 29, 38, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null39", 0, { 33, 41, -1, -1 }, { 0, 0, 0 } }, - { "baseB2-null41", 4, { 40, -1, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null1", 1, { 12, 1, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null2", 0, { 8, 0, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null6", 0, { 9, 3, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null10", 0, { 15, 2, 4, -1 }, { 0, 0, 0 } }, + { "baseB2-null11", 0, { 10, 3, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null12", 0, { 11, 6, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null13", 8, { 18, 5, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null7", 16, { 14, -1, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null4", 16, { 1, 9, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null5", 0, { 2, 8, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null14", 128, { 4, 11, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null15", 0, { 5, 10, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null3", 0, { 0, 13, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null9", 0, { 21, 12, 14, -1 }, { 0, 0, 0 } }, + { "baseB2-null8", 0, { 7, 13, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null16", 0, { 3, 16, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null17", 0, { 24, 15, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null18", 128, { 18, -1, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null19", 0, { 6, 17, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null20", 0, { 35, 20, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null21", 0, { 27, 19, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null30", 0, { 13, 22, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null29", 0, { 38, 21, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null31", 0, { 32, 24, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null33", 0, { 16, 23, 25, -1 }, { 0, 0, 0 } }, + { "baseB2-null34", 0, { 30, 24, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null42", 64, { 34, -1, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null25", 0, { 20, 28, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null26", 32, { 37, 27, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null36", 0, { 39, 30, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null35", 0, { 25, 33, 29, -1 }, { 0, 0, 0 } }, + { "baseB2-null24", 32, { 36, -1, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null32", 64, { 23, -1, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null38", 0, { 30, 40, 34, -1 }, { 0, 0, 0 } }, + { "baseB2-null40", 0, { 26, 33, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null22", 2, { 19, 36, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null23", 0, { 31, 35, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null27", 0, { 28, 38, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null28", 0, { 22, 37, 39, -1 }, { 0, 0, 0 } }, + { "baseB2-null37", 0, { 29, 38, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null39", 0, { 33, 41, -1, -1 }, { 0, 0, 0 } }, + { "baseB2-null41", 4, { 40, -1, -1, -1 }, { 0, 0, 0 } }, }; Vec lbl_1_data_FD4 = { 0, 1, -1 }; Vec lbl_1_data_FE0 = { 0, 1, 0 }; s32 lbl_1_data_FEC[4] = { 1, 2, 4, 8 }; -float lbl_1_data_FFC[4][4] = { 0, 0, 320, 240, 0, 240, 320, 240, 320, 0, 320, 240, 320, 240, 320, 240 }; -float lbl_1_data_103C[4][4] = { 2, 2, 316, 236, 2, 242, 316, 236, 322, 2, 316, 236, 322, 242, 316, 236 }; +float lbl_1_data_FFC[4][4] = { + 0, 0, 320, 240, + 0, 240, 320, 240, + 320, 0, 320, 240, + 320, 240, 320, 240 +}; +float lbl_1_data_103C[4][4] = { + 2, 2, 316, 236, + 2, 242, 316, 236, + 322, 2, 316, 236, + 322, 242, 316, 236 +}; -float lbl_1_data_107C[4][4] = { 0, 0, 640, 480, 0, 480, 640, 0, 640, 0, 0, 480, 640, 480, 0, 0 }; +float lbl_1_data_107C[4][4] = { + 0, 0, 640, 480, + 0, 480, 640, 0, + 640, 0, 0, 480, + 640, 480, 0, 0 +}; -float lbl_1_data_10BC[4][4] = { 0, 0, 0, 480, 0, 480, 0, 0, 0, 0, 640, 480, 0, 480, 640, 0 }; +float lbl_1_data_10BC[4][4] = { + 0, 0, 0, 480, + 0, 480, 0, 0, + 0, 0, 640, 480, + 0, 480, 640, 0 +}; -float lbl_1_data_10FC[4][2] = { -1, -1, -1, 1, 1, -1, 1, 1 }; +float lbl_1_data_10FC[4][2] = { + -1, -1, + -1, 1, + 1, -1, + 1, 1 +}; Vec lbl_1_data_111C = { 0, 10000, 0 }; Vec lbl_1_data_1128 = { 0, -1, 0 }; @@ -618,227 +621,236 @@ GXColor lbl_1_data_1134 = { 255, 255, 255, 255 }; Vec lbl_1_data_1138 = { 0, 8000, 1000 }; Vec lbl_1_data_1144 = { 0, 0, 0 }; s32 lbl_1_data_1150[8][10] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x72), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x5A), - DATA_MAKE_NUM(DATADIR_M429, 0x08), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x58), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x59), - DATA_MAKE_NUM(DATADIR_M429, 0x00), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x02), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x03), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x17), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x72), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x5A), - DATA_MAKE_NUM(DATADIR_M429, 0x09), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x58), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x59), - DATA_MAKE_NUM(DATADIR_M429, 0x01), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x00), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x02), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x03), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x17), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x72), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x5A), - DATA_MAKE_NUM(DATADIR_M429, 0x0A), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x58), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x59), - DATA_MAKE_NUM(DATADIR_M429, 0x02), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x02), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x03), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x17), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x72), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x5A), - DATA_MAKE_NUM(DATADIR_M429, 0x0B), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x58), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x59), - DATA_MAKE_NUM(DATADIR_M429, 0x03), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x02), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x03), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x17), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x72), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x5A), - DATA_MAKE_NUM(DATADIR_M429, 0x0C), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x58), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x59), - DATA_MAKE_NUM(DATADIR_M429, 0x04), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x02), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x03), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x17), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x72), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x5A), - DATA_MAKE_NUM(DATADIR_M429, 0x0D), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x58), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x59), - DATA_MAKE_NUM(DATADIR_M429, 0x05), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x02), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x03), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x17), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x72), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x5A), - DATA_MAKE_NUM(DATADIR_M429, 0x0E), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x58), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x59), - DATA_MAKE_NUM(DATADIR_M429, 0x06), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x02), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x03), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x17), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x72), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x5A), - DATA_MAKE_NUM(DATADIR_M429, 0x0F), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x58), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x59), - DATA_MAKE_NUM(DATADIR_M429, 0x07), + 0x005F0000, + 0x005F0002, + 0x005F0003, + 0x005F0017, + 0x005F0072, + 0x005F005A, + 0x003C0008, + 0x005F0058, + 0x005F0059, + 0x003C0000, + 0x001A0000, + 0x001A0002, + 0x001A0003, + 0x001A0017, + 0x001A0072, + 0x001A005A, + 0x003C0009, + 0x001A0058, + 0x001A0059, + 0x003C0001, + 0x006D0000, + 0x006D0002, + 0x006D0003, + 0x006D0017, + 0x006D0072, + 0x006D005A, + 0x003C000A, + 0x006D0058, + 0x006D0059, + 0x003C0002, + 0x008A0000, + 0x008A0002, + 0x008A0003, + 0x008A0017, + 0x008A0072, + 0x008A005A, + 0x003C000B, + 0x008A0058, + 0x008A0059, + 0x003C0003, + 0x00850000, + 0x00850002, + 0x00850003, + 0x00850017, + 0x00850072, + 0x0085005A, + 0x003C000C, + 0x00850058, + 0x00850059, + 0x003C0004, + 0x00110000, + 0x00110002, + 0x00110003, + 0x00110017, + 0x00110072, + 0x0011005A, + 0x003C000D, + 0x00110058, + 0x00110059, + 0x003C0005, + 0x000D0000, + 0x000D0002, + 0x000D0003, + 0x000D0017, + 0x000D0072, + 0x000D005A, + 0x003C000E, + 0x000D0058, + 0x000D0059, + 0x003C0006, + 0x00810000, + 0x00810002, + 0x00810003, + 0x00810017, + 0x00810072, + 0x0081005A, + 0x003C000F, + 0x00810058, + 0x00810059, + 0x003C0007 }; s32 lbl_1_data_1290[8] = { - DATA_MAKE_NUM(DATADIR_MGCONST, 0x00), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x01), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x02), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x03), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x04), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x05), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x06), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x07), + 0x610000, + 0x610001, + 0x610002, + 0x610003, + 0x610004, + 0x610005, + 0x610006, + 0x610007 }; s32 lbl_1_data_12B0[8] = { - DATA_MAKE_NUM(DATADIR_M429, 0x2C), - DATA_MAKE_NUM(DATADIR_M429, 0x2E), - DATA_MAKE_NUM(DATADIR_M429, 0x2C), - DATA_MAKE_NUM(DATADIR_M429, 0x2E), - DATA_MAKE_NUM(DATADIR_M429, 0x2D), - DATA_MAKE_NUM(DATADIR_M429, 0x2E), - DATA_MAKE_NUM(DATADIR_M429, 0x2D), - DATA_MAKE_NUM(DATADIR_M429, 0x2E), + 0x003C002C, 0x003C002E, + 0x003C002C, 0x003C002E, + 0x003C002D, 0x003C002E, + 0x003C002D, 0x003C002E }; s32 lbl_1_data_12D0[4] = { - DATA_MAKE_NUM(DATADIR_M429, 0x3D), - DATA_MAKE_NUM(DATADIR_M429, 0x3D), - DATA_MAKE_NUM(DATADIR_M429, 0x3E), - DATA_MAKE_NUM(DATADIR_M429, 0x3E), + 0x003C003D, + 0x003C003D, + 0x003C003E, + 0x003C003E }; s32 lbl_1_data_12E0[4][3] = { - DATA_MAKE_NUM(DATADIR_M429, 0x24), - DATA_MAKE_NUM(DATADIR_M429, 0x30), - DATA_MAKE_NUM(DATADIR_M429, 0x25), - DATA_MAKE_NUM(DATADIR_M429, 0x26), - DATA_MAKE_NUM(DATADIR_M429, 0x30), - DATA_MAKE_NUM(DATADIR_M429, 0x27), - DATA_MAKE_NUM(DATADIR_M429, 0x28), - DATA_MAKE_NUM(DATADIR_M429, 0x30), - DATA_MAKE_NUM(DATADIR_M429, 0x29), - DATA_MAKE_NUM(DATADIR_M429, 0x2A), - DATA_MAKE_NUM(DATADIR_M429, 0x30), - DATA_MAKE_NUM(DATADIR_M429, 0x2B), + 0x003C0024, 0x003C0030, 0x003C0025, + 0x003C0026, 0x003C0030, 0x003C0027, + 0x003C0028, 0x003C0030, 0x003C0029, + 0x003C002A, 0x003C0030, 0x003C002B, }; s32 lbl_1_data_1310[4] = { - DATA_MAKE_NUM(DATADIR_M429, 0x3A), - DATA_MAKE_NUM(DATADIR_M429, 0x3A), - DATA_MAKE_NUM(DATADIR_M429, 0x3B), - DATA_MAKE_NUM(DATADIR_M429, 0x3B), + 0x003C003A, + 0x003C003A, + 0x003C003B, + 0x003C003B }; s32 lbl_1_data_1320[4] = { - DATA_MAKE_NUM(DATADIR_M429, 0x13), - DATA_MAKE_NUM(DATADIR_M429, 0x16), - DATA_MAKE_NUM(DATADIR_M429, 0x15), - DATA_MAKE_NUM(DATADIR_M429, 0x14), + 0x003C0013, + 0x003C0016, + 0x003C0015, + 0x003C0014 }; s32 lbl_1_data_1330[4] = { - DATA_MAKE_NUM(DATADIR_M429, 0x1C), - DATA_MAKE_NUM(DATADIR_M429, 0x1F), - DATA_MAKE_NUM(DATADIR_M429, 0x1E), - DATA_MAKE_NUM(DATADIR_M429, 0x1D), + 0x003C001C, + 0x003C001F, + 0x003C001E, + 0x003C001D }; Data1340Struct lbl_1_data_1340[2] = { - { - 0, - lbl_1_data_1320, - { - DATA_MAKE_NUM(DATADIR_M429, 0x10), - DATA_MAKE_NUM(DATADIR_M429, 0x11), - DATA_MAKE_NUM(DATADIR_M429, 0x17), - DATA_MAKE_NUM(DATADIR_M429, 0x18), - }, - 13000, - 39, - lbl_1_data_22C, - }, - { - 4, - lbl_1_data_1330, - { - DATA_MAKE_NUM(DATADIR_M429, 0x19), - DATA_MAKE_NUM(DATADIR_M429, 0x1A), - DATA_MAKE_NUM(DATADIR_M429, 0x20), - DATA_MAKE_NUM(DATADIR_M429, 0x21), - }, - 13000, - 42, - lbl_1_data_9EC, - }, + { + 0, + lbl_1_data_1320, + { + 0x003C0010, + 0x003C0011, + 0x003C0017, + 0x003C0018 + }, + 13000, + 39, + lbl_1_data_22C + }, + { + 4, + lbl_1_data_1330, + { + 0x003C0019, + 0x003C001A, + 0x003C0020, + 0x003C0021 + }, + 13000, + 42, + lbl_1_data_9EC + }, }; s32 lbl_1_data_1388[8] = { - DATA_MAKE_NUM(DATADIR_M429, 0x32), - DATA_MAKE_NUM(DATADIR_M429, 0x33), - DATA_MAKE_NUM(DATADIR_M429, 0x34), - DATA_MAKE_NUM(DATADIR_M429, 0x35), - DATA_MAKE_NUM(DATADIR_M429, 0x36), - DATA_MAKE_NUM(DATADIR_M429, 0x37), - DATA_MAKE_NUM(DATADIR_M429, 0x38), - DATA_MAKE_NUM(DATADIR_M429, 0x39), + 0x003C0032, + 0x003C0033, + 0x003C0034, + 0x003C0035, + 0x003C0036, + 0x003C0037, + 0x003C0038, + 0x003C0039 }; -Data13A8Struct lbl_1_data_13A8 = { 0.5f, 100.0f, 130.0f, 15 }; +Data13A8Struct lbl_1_data_13A8 = { + 0.5f, + 100.0f, + 130.0f, + 15 +}; -Data13A8Struct lbl_1_data_13B8 = { 0.6f, 110.0f, 120.0f, 12 }; +Data13A8Struct lbl_1_data_13B8 = { + 0.6f, + 110.0f, + 120.0f, + 12 +}; -Data13A8Struct lbl_1_data_13C8 = { 0.7f, 120.0f, 110.0f, 9 }; +Data13A8Struct lbl_1_data_13C8 = { + 0.7f, + 120.0f, + 110.0f, + 9 +}; -Data13A8Struct lbl_1_data_13D8 = { 0.8f, 130.0f, 100.0f, 6 }; +Data13A8Struct lbl_1_data_13D8 = { + 0.8f, + 130.0f, + 100.0f, + 6 +}; HsfanimStruct00 lbl_1_data_13E8 = { - 30, - { 0, 0 }, - 1.0f, - 10.0f, - 360.0f, - { 0.0f, 0.1f, 0.0f }, - 1.0f, - 1.0f, - 30.0f, - 1.05f, - 1, - { - { 255, 255, 255, 255 }, - { 255, 255, 255, 255 }, - { 255, 255, 255, 255 }, - { 255, 255, 255, 255 }, - }, - { - { 255, 255, 255, 0 }, - { 255, 255, 255, 0 }, - { 255, 255, 255, 0 }, - { 255, 255, 255, 0 }, - }, + 30, + { 0, 0 }, + 1.0f, + 10.0f, + 360.0f, + { 0.0f, 0.1f, 0.0f }, + 1.0f, + 1.0f, + 30.0f, + 1.05f, + 1, + { + { 255, 255, 255, 255 }, + { 255, 255, 255, 255 }, + { 255, 255, 255, 255 }, + { 255, 255, 255, 255 }, + }, + { + { 255, 255, 255, 0 }, + { 255, 255, 255, 0 }, + { 255, 255, 255, 0 }, + { 255, 255, 255, 0 }, + }, }; + omObjData *lbl_1_bss_1AC; omObjData *lbl_1_bss_1A8; omObjData **lbl_1_bss_1A4; @@ -875,2010 +887,2002 @@ s32 lbl_1_bss_4; s32 lbl_1_bss_0; typedef struct work_8F68 { - Data13A8Struct *unk0; - Vec unk4; - Vec unk10; - Vec unk1C; - Vec unk28; - Vec unk34; - Vec unk40; - float unk4C; - float unk50; - float unk54; - float unk58; - float unk5C; - float unk60; - float unk64; - float unk68; - float unk6C; - s32 unk70; - u8 *unk74; - s32 unk78; - s32 unk7C; - s32 unk80; - s32 unk84; - s32 unk88; - s32 unk8C; - float unk90; - u32 unk94[2]; - s32 unk9C; - s32 unkA0; - s32 unkA4; - s32 unkA8; - s32 unkAC; - s32 unkB0; - s32 unkB4; - s32 unkB8[4]; - s32 unkC8[4][2]; - s32 unkE8; - s32 unkEC; - s32 unkF0; - s32 unkF4; - s32 unkF8; - s32 unkFC; - s32 unk100; - s32 unk104; - s32 unk108; - s32 unk10C; - s32 unk110; - s32 unk114; - s32 unk118; - s32 unk11C; - s32 unk120; + Data13A8Struct *unk0; + Vec unk4; + Vec unk10; + Vec unk1C; + Vec unk28; + Vec unk34; + Vec unk40; + float unk4C; + float unk50; + float unk54; + float unk58; + float unk5C; + float unk60; + float unk64; + float unk68; + float unk6C; + s32 unk70; + u8 *unk74; + s32 unk78; + s32 unk7C; + s32 unk80; + s32 unk84; + s32 unk88; + s32 unk8C; + float unk90; + u32 unk94[2]; + s32 unk9C; + s32 unkA0; + s32 unkA4; + s32 unkA8; + s32 unkAC; + s32 unkB0; + s32 unkB4; + s32 unkB8[4]; + s32 unkC8[4][2]; + s32 unkE8; + s32 unkEC; + s32 unkF0; + s32 unkF4; + s32 unkF8; + s32 unkFC; + s32 unk100; + s32 unk104; + s32 unk108; + s32 unk10C; + s32 unk110; + s32 unk114; + s32 unk118; + s32 unk11C; + s32 unk120; } Work8F68; void fn_1_23B4(void) { - Work8F68 *temp_r31; - s32 temp_r30; - HuSysVWaitSet(1); - lbl_1_bss_11C -= HuPadSubStkX[0] / 59.0f; - lbl_1_bss_120 -= 4 * (HuPadSubStkY[0] / 59.0f); - lbl_1_bss_118 -= 4 * (HuPadTrigL[0] / 150.0f); - lbl_1_bss_118 += 4 * (HuPadTrigR[0] / 150.0f); - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - temp_r31 = lbl_1_bss_1A4[temp_r30]->data; - print8(24, 96 + (16 * temp_r30), 1.5f, "%d %d %d M%2d %04x %2d %2d %d %d", temp_r31->unk100, temp_r31->unk10C, temp_r31->unk104, - temp_r31->unk8C, temp_r31->unkE8, temp_r31->unkEC, temp_r31->unkF0, temp_r31->unk80, temp_r31->unk8C); - } + Work8F68 *temp_r31; + s32 temp_r30; + HuSysVWaitSet(1); + lbl_1_bss_11C -= HuPadSubStkX[0]/59.0f; + lbl_1_bss_120 -= 4*(HuPadSubStkY[0]/59.0f); + lbl_1_bss_118 -= 4*(HuPadTrigL[0]/150.0f); + lbl_1_bss_118 += 4*(HuPadTrigR[0]/150.0f); + for(temp_r30=0; temp_r30<4; temp_r30++) { + temp_r31 = lbl_1_bss_1A4[temp_r30]->data; + print8(24, 96+(16*temp_r30), 1.5f, "%d %d %d M%2d %04x %2d %2d %d %d", temp_r31->unk100, temp_r31->unk10C, temp_r31->unk104, temp_r31->unk8C, temp_r31->unkE8, temp_r31->unkEC, temp_r31->unkF0, temp_r31->unk80, temp_r31->unk8C); + } } Data1340SubStruct *fn_1_2614(s32 arg0) { - Data1340SubStruct *temp_r31; - s32 temp_r30; - temp_r31 = lbl_1_bss_190->unk20; - for (temp_r30 = 0; temp_r30 < lbl_1_bss_190->unk1C; temp_r30++, temp_r31++) { - if (arg0 & temp_r31->unk4) { - return temp_r31; - } - } - return NULL; + Data1340SubStruct *temp_r31; + s32 temp_r30; + temp_r31 = lbl_1_bss_190->unk20; + for(temp_r30=0; temp_r30unk1C; temp_r30++, temp_r31++) { + if(arg0 & temp_r31->unk4) { + return temp_r31; + } + } + return NULL; } void fn_1_2684(void) { - Data1340SubStruct *temp_r31; - s32 temp_r30; - - s32 temp_r28; - temp_r30 = frandmod(2); - lbl_1_bss_190 = &lbl_1_data_1340[temp_r30]; - temp_r30 = Hu3DModelCreateFile(lbl_1_bss_190->unk8[0]); - Hu3DModelAttrSet(temp_r30, HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(temp_r30, 0, 0, 0); - Hu3DModelRotSet(temp_r30, 0, -90.f * lbl_1_bss_34, 0); - for (temp_r28 = 0; temp_r28 < lbl_1_bss_190->unk1C; temp_r28++) { - fn_1_1D18(temp_r30, lbl_1_bss_190->unk20[temp_r28].unk0, &lbl_1_bss_190->unk20[temp_r28].unk18); - } - lbl_1_bss_128 = 2000; - lbl_1_bss_124 = 2000; - temp_r31 = fn_1_2614(1); - if (NULL != temp_r31) { - lbl_1_bss_128 = 2.0f * ABS(temp_r31->unk18.x); - lbl_1_bss_124 = 2.2f * ABS(temp_r31->unk18.z); - } + Data1340SubStruct *temp_r31; + s32 temp_r30; + + s32 temp_r28; + temp_r30 = frandmod(2); + lbl_1_bss_190 = &lbl_1_data_1340[temp_r30]; + temp_r30 = Hu3DModelCreateFile(lbl_1_bss_190->unk8[0]); + Hu3DModelAttrSet(temp_r30, 1); + Hu3DModelPosSet(temp_r30, 0, 0, 0); + Hu3DModelRotSet(temp_r30, 0, -90.f*lbl_1_bss_34, 0); + for(temp_r28=0; temp_r28unk1C; temp_r28++) { + fn_1_1D18(temp_r30, lbl_1_bss_190->unk20[temp_r28].unk0, &lbl_1_bss_190->unk20[temp_r28].unk18); + } + lbl_1_bss_128 = 2000; + lbl_1_bss_124 = 2000; + temp_r31 = fn_1_2614(1); + if(NULL != temp_r31) { + lbl_1_bss_128 = 2.0f*ABS(temp_r31->unk18.x); + lbl_1_bss_124 = 2.2f*ABS(temp_r31->unk18.z); + } } void fn_1_2950(Work8F68 *arg0) { - float temp_f31; - float temp_f30; - float temp_f28; - float temp_f27; - s32 temp_r31; - Data1340SubStruct *temp_r30; - s32 temp_r29; - s32 temp_r28; - s32 temp_r27; - s32 temp_r26; - temp_r28 = arg0->unkEC; - temp_r31 = -1; - temp_f27 = lbl_1_bss_190->unk18; - temp_r30 = lbl_1_bss_190->unk20; - for (temp_r29 = 0; temp_r29 < lbl_1_bss_190->unk1C; temp_r29++, temp_r30++) { - temp_f31 = arg0->unk4.x - temp_r30->unk18.x; - temp_f30 = arg0->unk4.z - temp_r30->unk18.z; - temp_f28 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - if (arg0->unk54 + 200.0f > temp_f28 && temp_f27 > temp_f28) { - temp_r31 = temp_r29; - temp_f27 = temp_f28; - } - } - if (temp_r31 >= 0) { - arg0->unkEC = temp_r31; - if (temp_r28 != temp_r31) { - if (--arg0->unk8C < 0) { - arg0->unk8C = -1; - } - } - temp_r27 = temp_r31 / 32; - temp_r26 = temp_r31 % 32; - arg0->unk94[temp_r27] |= 1 << temp_r26; - } + float temp_f31; + float temp_f30; + float temp_f28; + float temp_f27; + s32 temp_r31; + Data1340SubStruct *temp_r30; + s32 temp_r29; + s32 temp_r28; + s32 temp_r27; + s32 temp_r26; + temp_r28 = arg0->unkEC; + temp_r31 = -1; + temp_f27 = lbl_1_bss_190->unk18; + temp_r30 = lbl_1_bss_190->unk20; + for(temp_r29=0; temp_r29unk1C; temp_r29++, temp_r30++) { + temp_f31 = arg0->unk4.x-temp_r30->unk18.x; + temp_f30 = arg0->unk4.z-temp_r30->unk18.z; + temp_f28 = sqrtf((temp_f31*temp_f31)+(temp_f30*temp_f30)); + if(arg0->unk54+200.0f > temp_f28 && temp_f27 > temp_f28) { + temp_r31 = temp_r29; + temp_f27 = temp_f28; + } + } + if(temp_r31 >= 0) { + arg0->unkEC = temp_r31; + if(temp_r28 != temp_r31) { + if(--arg0->unk8C < 0) { + arg0->unk8C = -1; + } + } + temp_r27 = temp_r31/32; + temp_r26 = temp_r31%32; + arg0->unk94[temp_r27] |= 1 << temp_r26; + } } void fn_1_2BE0(Work8F68 *arg0, s32 arg1, s32 arg2, s32 arg3, u8 *arg4, s32 *arg5) { - s32 sp8[2]; - s32 temp_r31; - Data1340SubStruct *temp_r30; - s32 temp_r29; - u8 *temp_r27; - - s32 temp_r24; - s32 temp_r23; - temp_r24 = arg1 / 32; - temp_r23 = arg1 % 32; - arg5[temp_r24] |= 1 << temp_r23; - temp_r27 = HuMemDirectMallocNum(HEAP_SYSTEM, arg3 + 1, MEMORY_DEFAULT_NUM); - for (temp_r31 = 0; temp_r31 < arg3; temp_r31++) { - temp_r27[temp_r31] = arg4[temp_r31]; - } - temp_r30 = &lbl_1_bss_190->unk20[arg1]; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - if (temp_r30->unk8[temp_r31] < 0) { - break; - } - temp_r27[arg3] = temp_r30->unk8[temp_r31]; - if (arg2 == temp_r30->unk8[temp_r31]) { - if (arg0->unk78 > arg3 + 1) { - if (NULL != arg0->unk74) { - HuMemDirectFree(arg0->unk74); - } - arg0->unk74 = HuMemDirectMallocNum(HEAP_SYSTEM, arg3 + 1, MEMORY_DEFAULT_NUM); - for (temp_r29 = 0; temp_r29 < arg3 + 1; temp_r29++) { - arg0->unk74[temp_r29] = temp_r27[temp_r29]; - } - arg0->unk78 = arg3 + 1; - } - } - else { - if (temp_r30->unk8[temp_r31] >= 0) { - temp_r24 = temp_r30->unk8[temp_r31] / 32; - temp_r23 = temp_r30->unk8[temp_r31] % 32; - if ((arg5[temp_r24] & (1 << temp_r23)) == 0u) { - for (temp_r29 = 0; temp_r29 < 2; temp_r29++) { - sp8[temp_r29] = arg5[temp_r29]; - } - fn_1_2BE0(arg0, temp_r30->unk8[temp_r31], arg2, arg3 + 1, temp_r27, sp8); - } - } - } - } - HuMemDirectFree(temp_r27); + s32 sp8[2]; + s32 temp_r31; + Data1340SubStruct *temp_r30; + s32 temp_r29; + u8 *temp_r27; + + s32 temp_r24; + s32 temp_r23; + temp_r24 = arg1/32; + temp_r23 = arg1%32; + arg5[temp_r24] |= 1 << temp_r23; + temp_r27 = HuMemDirectMallocNum(HEAP_SYSTEM, arg3+1, MEMORY_DEFAULT_NUM); + for(temp_r31=0; temp_r31unk20[arg1]; + for(temp_r31=0; temp_r31<4; temp_r31++) { + if(temp_r30->unk8[temp_r31] < 0) { + break; + } + temp_r27[arg3] = temp_r30->unk8[temp_r31]; + if(arg2 == temp_r30->unk8[temp_r31]) { + if(arg0->unk78 > arg3+1) { + if(NULL != arg0->unk74) { + HuMemDirectFree(arg0->unk74); + } + arg0->unk74 = HuMemDirectMallocNum(HEAP_SYSTEM, arg3+1, MEMORY_DEFAULT_NUM); + for(temp_r29=0; temp_r29unk74[temp_r29] = temp_r27[temp_r29]; + } + arg0->unk78 = arg3+1; + } + } else { + if(temp_r30->unk8[temp_r31] >= 0) { + temp_r24 = temp_r30->unk8[temp_r31]/32; + temp_r23 = temp_r30->unk8[temp_r31]%32; + if((arg5[temp_r24] & (1 << temp_r23)) == 0u) { + for(temp_r29=0; temp_r29<2; temp_r29++) { + sp8[temp_r29] = arg5[temp_r29]; + } + fn_1_2BE0(arg0, temp_r30->unk8[temp_r31], arg2, arg3+1, temp_r27, sp8); + } + } + } + } + HuMemDirectFree(temp_r27); } void fn_1_2E14(Work8F68 *arg0) { - s32 spC[2]; - u8 sp8; - s32 temp_r30; - if (NULL != arg0->unk74) { - HuMemDirectFree(arg0->unk74); - } - arg0->unk74 = NULL; - arg0->unk78 = 65535; - arg0->unk7C = 0; - if (arg0->unkEC == arg0->unkF0) { - arg0->unkE8 |= 0x8; - arg0->unkF0 = -1; - return; - } - sp8 = arg0->unkEC; - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - spC[temp_r30] = 0; - } - fn_1_2BE0(arg0, arg0->unkEC, arg0->unkF0, 1, &sp8, spC); + s32 spC[2]; + u8 sp8; + s32 temp_r30; + if(NULL != arg0->unk74) { + HuMemDirectFree(arg0->unk74); + } + arg0->unk74 = NULL; + arg0->unk78 = 65535; + arg0->unk7C = 0; + if(arg0->unkEC == arg0->unkF0) { + arg0->unkE8 |= 0x8; + arg0->unkF0 = -1; + return; + } + sp8 = arg0->unkEC; + for(temp_r30=0; temp_r30<2; temp_r30++) { + spC[temp_r30] = 0; + } + fn_1_2BE0(arg0, arg0->unkEC, arg0->unkF0, 1, &sp8, spC); } void fn_1_2EEC(Work8F68 *arg0) { - Vec sp18; - Vec spC; - float temp_f31; - float temp_f30; - float temp_f28; - Data1340SubStruct *temp_r30; - Data1340SubStruct *temp_r29; - - if (NULL != arg0->unk74 && arg0->unk78 >= 2) { - temp_r30 = &lbl_1_bss_190->unk20[arg0->unk74[0]]; - temp_r29 = &lbl_1_bss_190->unk20[arg0->unk74[1]]; - temp_f31 = temp_r30->unk18.x - arg0->unk4.x; - temp_f30 = temp_r30->unk18.z - arg0->unk4.z; - temp_f28 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - if (150.0f > temp_f28) { - arg0->unk7C = 1; - return; - } - VECSubtract(&temp_r29->unk18, &temp_r30->unk18, &sp18); - VECSubtract(&arg0->unk4, &temp_r30->unk18, &spC); - if (0.0f != VECMag(&sp18) && 0.0f != VECMag(&spC)) { - VECNormalize(&sp18, &sp18); - VECNormalize(&spC, &spC); - if (0.8f < VECDotProduct(&sp18, &spC)) { - arg0->unk7C = 1; - } - } - } + Vec sp18; + Vec spC; + float temp_f31; + float temp_f30; + float temp_f28; + Data1340SubStruct *temp_r30; + Data1340SubStruct *temp_r29; + + if(NULL != arg0->unk74 && arg0->unk78 >= 2) { + temp_r30 = &lbl_1_bss_190->unk20[arg0->unk74[0]]; + temp_r29 = &lbl_1_bss_190->unk20[arg0->unk74[1]]; + temp_f31 = temp_r30->unk18.x-arg0->unk4.x; + temp_f30 = temp_r30->unk18.z-arg0->unk4.z; + temp_f28 = sqrtf((temp_f31*temp_f31)+(temp_f30*temp_f30)); + if(150.0f > temp_f28) { + arg0->unk7C = 1; + return; + } + VECSubtract(&temp_r29->unk18, &temp_r30->unk18, &sp18); + VECSubtract(&arg0->unk4, &temp_r30->unk18, &spC); + if(0.0f != VECMag(&sp18) && 0.0f != VECMag(&spC)) { + VECNormalize(&sp18, &sp18); + VECNormalize(&spC, &spC); + if(0.8f < VECDotProduct(&sp18, &spC)) { + arg0->unk7C = 1; + } + } + } } -void fn_1_31A8(omObjData *object) { } +void fn_1_31A8(omObjData *object) +{ + +} void fn_1_31AC(omObjData *object) { - object->model[0] = Hu3DModelCreateFile(lbl_1_bss_190->unk4[lbl_1_bss_34]); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - omSetTra(object, 0, 0, 0); - omSetRot(object, 0, 0, 0); - object->func = fn_1_31A8; + object->model[0] = Hu3DModelCreateFile(lbl_1_bss_190->unk4[lbl_1_bss_34]); + Hu3DModelAttrSet(object->model[0], 1); + omSetTra(object, 0, 0, 0); + omSetRot(object, 0, 0, 0); + object->func = fn_1_31A8; } typedef struct work_3284 { - Vec unk0; - float unkC; - float unk10; - s32 unk14; - s32 unk18; + Vec unk0; + float unkC; + float unk10; + s32 unk14; + s32 unk18; } Work3284; void fn_1_3284(omObjData *object) { - Work3284 *temp_r31 = object->data; - if (lbl_1_bss_1AC->work[0] >= 1007) { - temp_r31->unk10 *= 0.9f; - if (0.0f > temp_r31->unk10) { - temp_r31->unk10 = 0.0f; - } - } - else { - if (temp_r31->unk18 & 0x1) { - temp_r31->unkC += 6.0f; - if (180.0f < temp_r31->unkC) { - temp_r31->unkC = 180.0f; - } - temp_r31->unk10 = 1.0 - (0.5 * sind(temp_r31->unkC)); - } - } - omSetSca(object, temp_r31->unk10, temp_r31->unk10, temp_r31->unk10); - Hu3DModelScaleSet(object->model[1], temp_r31->unk10, temp_r31->unk10, temp_r31->unk10); - Hu3DModelScaleSet(object->model[0], temp_r31->unk10, temp_r31->unk10, temp_r31->unk10); + Work3284 *temp_r31 = object->data; + if(lbl_1_bss_1AC->work[0] >= 1007) { + temp_r31->unk10 *= 0.9f; + if(0.0f > temp_r31->unk10) { + temp_r31->unk10 = 0.0f; + } + } else { + if(temp_r31->unk18 & 0x1) { + temp_r31->unkC += 6.0f; + if(180.0f < temp_r31->unkC) { + temp_r31->unkC = 180.0f; + } + temp_r31->unk10 = 1.0-(0.5*sind(temp_r31->unkC)); + } + } + omSetSca(object, temp_r31->unk10, temp_r31->unk10, temp_r31->unk10); + Hu3DModelScaleSet(object->model[1], temp_r31->unk10, temp_r31->unk10, temp_r31->unk10); + Hu3DModelScaleSet(object->model[0], temp_r31->unk10, temp_r31->unk10, temp_r31->unk10); } void fn_1_33F8(omObjData *object) { - Work3284 *temp_r31 = object->data; - s32 temp_r29; - s32 temp_r28; - s32 *temp_r27; - Data1340SubStruct *temp_r26; - s32 temp_r25; - s32 temp_r24; - - temp_r31->unk0.x = 0; - temp_r31->unk0.y = 0; - temp_r31->unk0.z = 0; - temp_r31->unkC = 0; - temp_r31->unk10 = 1; - temp_r31->unk14 = -1; - temp_r31->unk18 = 0; - temp_r24 = 16 << ((object->work[0] + lbl_1_bss_34 + 2) & 0x3); - temp_r25 = frandmod(lbl_1_bss_190->unk1C) + 1; - temp_r28 = frandmod(lbl_1_bss_190->unk1C); - while (1) { - temp_r26 = &lbl_1_bss_190->unk20[temp_r28]; - if ((temp_r24 & temp_r26->unk4) && --temp_r25 < 0) { - temp_r31->unk14 = temp_r28; - temp_r31->unk0 = temp_r26->unk18; - break; - } - else { - temp_r28 = (temp_r28 + 1) % lbl_1_bss_190->unk1C; - } - } - temp_r31->unk0.y = 100; - temp_r27 = &lbl_1_data_12B0[object->work[0] * 2]; - object->model[0] = Hu3DModelCreateFile(*temp_r27++); - object->model[1] = Hu3DModelCreateFile(*temp_r27++); - for (temp_r29 = 0; temp_r29 < 2; temp_r29++) { - Hu3DModelCameraSet(object->model[temp_r29], 15); - Hu3DModelAttrSet(object->model[temp_r29], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[temp_r29], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(object->model[temp_r29], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(object->model[temp_r29], 3); - Hu3DModelPosSet(object->model[temp_r29], temp_r31->unk0.x, temp_r31->unk0.y, temp_r31->unk0.z); - Hu3DModelRotSet(object->model[temp_r29], 0, 0, 0); - Hu3DModelShadowSet(object->model[temp_r29]); - } - omSetTra(object, temp_r31->unk0.x, temp_r31->unk0.y, temp_r31->unk0.z); - omSetRot(object, 0, 0, 0); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - object->func = fn_1_3284; + Work3284 *temp_r31 = object->data; + s32 temp_r29; + s32 temp_r28; + s32 *temp_r27; + Data1340SubStruct *temp_r26; + s32 temp_r25; + s32 temp_r24; + + temp_r31->unk0.x = 0; + temp_r31->unk0.y = 0; + temp_r31->unk0.z = 0; + temp_r31->unkC = 0; + temp_r31->unk10 = 1; + temp_r31->unk14 = -1; + temp_r31->unk18 = 0; + temp_r24 = 16 << ((object->work[0]+lbl_1_bss_34+2)&0x3); + temp_r25 = frandmod(lbl_1_bss_190->unk1C)+1; + temp_r28 = frandmod(lbl_1_bss_190->unk1C); + while(1) { + temp_r26 = &lbl_1_bss_190->unk20[temp_r28]; + if((temp_r24 & temp_r26->unk4) && --temp_r25 < 0) { + temp_r31->unk14 = temp_r28; + temp_r31->unk0 = temp_r26->unk18; + break; + } else { + temp_r28 = (temp_r28+1)%lbl_1_bss_190->unk1C; + } + } + temp_r31->unk0.y = 100; + temp_r27 = &lbl_1_data_12B0[object->work[0]*2]; + object->model[0] = Hu3DModelCreateFile(*temp_r27++); + object->model[1] = Hu3DModelCreateFile(*temp_r27++); + for(temp_r29=0; temp_r29<2; temp_r29++) { + Hu3DModelCameraSet(object->model[temp_r29], 15); + Hu3DModelAttrSet(object->model[temp_r29], 1); + Hu3DModelAttrSet(object->model[temp_r29], 0x40000001); + Hu3DModelAttrReset(object->model[temp_r29], 0x40000002); + Hu3DModelLayerSet(object->model[temp_r29], 3); + Hu3DModelPosSet(object->model[temp_r29], temp_r31->unk0.x, temp_r31->unk0.y, temp_r31->unk0.z); + Hu3DModelRotSet(object->model[temp_r29], 0, 0, 0); + Hu3DModelShadowSet(object->model[temp_r29]); + } + omSetTra(object, temp_r31->unk0.x, temp_r31->unk0.y, temp_r31->unk0.z); + omSetRot(object, 0, 0, 0); + Hu3DModelAttrReset(object->model[0], 1); + object->func = fn_1_3284; } s32 fn_1_36FC(Work8F68 *arg0) { - AddX = 0; - AddZ = 0; - MapWall(arg0->unk54, arg0->unk4.x, arg0->unk4.y + arg0->unk54, arg0->unk4.z); - - arg0->unk4.x += AddX; - arg0->unk4.z += AddZ; - if (0.0f != ABS(AddX) + ABS(AddZ)) { - arg0->unk108 = 1; - return 1; - } - else { - return 0; - } + AddX = 0; + AddZ = 0; + MapWall(arg0->unk54, arg0->unk4.x, arg0->unk4.y+arg0->unk54, arg0->unk4.z); + + arg0->unk4.x += AddX; + arg0->unk4.z += AddZ; + if(0.0f != ABS(AddX)+ABS(AddZ)) { + arg0->unk108 = 1; + return 1; + } else { + return 0; + } } static inline void VECSet(Vec *dst, float x, float y, float z) { - dst->x = x; - dst->y = y; - dst->z = z; + dst->x = x; + dst->y = y; + dst->z = z; } void fn_1_386C(Work8F68 *arg0) { - Vec sp18; - Vec spC; - float temp_f31; - float temp_f30; - float temp_f28; - - Work8F68 *temp_r30; - s32 temp_r29; - s32 temp_r28; - s32 temp_r27; - temp_r28 = 0; - temp_r27 = 0; - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - temp_r30 = lbl_1_bss_1A4[temp_r29]->data; - if (arg0->unk114 == temp_r30->unk114) { - continue; - } - temp_f31 = arg0->unk4.x - temp_r30->unk4.x; - temp_f30 = arg0->unk4.z - temp_r30->unk4.z; - temp_f28 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - if (temp_f28 < arg0->unk54 + temp_r30->unk54) { - if (0.0f == temp_f28) { - temp_f31 = 0; - temp_f30 = -1; - } - else { - temp_f31 /= temp_f28; - temp_f30 /= temp_f28; - } - temp_r27++; - arg0->unk4.x = temp_r30->unk4.x + (temp_f31 * (arg0->unk54 + temp_r30->unk54)); - arg0->unk4.z = temp_r30->unk4.z + (temp_f30 * (arg0->unk54 + temp_r30->unk54)); - fn_1_36FC(arg0); - VECSet(&sp18, arg0->unkF4, 0, arg0->unkF8); - VECSet(&spC, temp_r30->unkF4, 0, temp_r30->unkF8); - if (0.0f != VECMag(&sp18) && 0.0f != VECMag(&spC)) { - VECNormalize(&sp18, &sp18); - VECNormalize(&spC, &spC); - if (-0.8f > VECDotProduct(&sp18, &spC)) { - temp_r28++; - } - } - } - } - if (temp_r28 != 0 || temp_r27 >= 2) { - arg0->unk100++; - arg0->unk10C++; - } - else { - arg0->unk10C = 0; - } + Vec sp18; + Vec spC; + float temp_f31; + float temp_f30; + float temp_f28; + + Work8F68 *temp_r30; + s32 temp_r29; + s32 temp_r28; + s32 temp_r27; + temp_r28 = 0; + temp_r27 = 0; + for(temp_r29=0; temp_r29<4; temp_r29++) { + temp_r30 = lbl_1_bss_1A4[temp_r29]->data; + if(arg0->unk114 == temp_r30->unk114) { + continue; + } + temp_f31 = arg0->unk4.x-temp_r30->unk4.x; + temp_f30 = arg0->unk4.z-temp_r30->unk4.z; + temp_f28 = sqrtf((temp_f31*temp_f31)+(temp_f30*temp_f30)); + if(temp_f28 < arg0->unk54+temp_r30->unk54) { + if(0.0f == temp_f28) { + temp_f31 = 0; + temp_f30 = -1; + } else { + temp_f31 /= temp_f28; + temp_f30 /= temp_f28; + } + temp_r27++; + arg0->unk4.x = temp_r30->unk4.x+(temp_f31*(arg0->unk54+temp_r30->unk54)); + arg0->unk4.z = temp_r30->unk4.z+(temp_f30*(arg0->unk54+temp_r30->unk54)); + fn_1_36FC(arg0); + VECSet(&sp18, arg0->unkF4, 0, arg0->unkF8); + VECSet(&spC, temp_r30->unkF4, 0, temp_r30->unkF8); + if(0.0f != VECMag(&sp18) && 0.0f != VECMag(&spC)) { + VECNormalize(&sp18, &sp18); + VECNormalize(&spC, &spC); + if(-0.8f > VECDotProduct(&sp18, &spC)) { + temp_r28++; + } + } + } + } + if(temp_r28 != 0 || temp_r27 >= 2) { + arg0->unk100++; + arg0->unk10C++; + } else { + arg0->unk10C = 0; + } } void fn_1_3DCC(Work8F68 *arg0) { - float temp_f31; - float temp_f30; - float temp_f28; - Work3284 *temp_r31; - s32 temp_r30; - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - temp_r31 = lbl_1_bss_19C[temp_r30]->data; - temp_f31 = arg0->unk4.x - temp_r31->unk0.x; - temp_f30 = arg0->unk4.z - temp_r31->unk0.z; - temp_f28 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - if (temp_f28 < arg0->unk54 + 50) { - if (0.0f == temp_f28) { - temp_f31 = 0; - temp_f30 = -1; - } - else { - temp_f31 /= temp_f28; - temp_f30 /= temp_f28; - } - arg0->unk4.x = temp_r31->unk0.x + (temp_f31 * (arg0->unk54 + 50)); - arg0->unk4.z = temp_r31->unk0.z + (temp_f30 * (arg0->unk54 + 50)); - } - } + float temp_f31; + float temp_f30; + float temp_f28; + Work3284 *temp_r31; + s32 temp_r30; + for(temp_r30=0; temp_r30<4; temp_r30++) { + temp_r31 = lbl_1_bss_19C[temp_r30]->data; + temp_f31 = arg0->unk4.x-temp_r31->unk0.x; + temp_f30 = arg0->unk4.z-temp_r31->unk0.z; + temp_f28 = sqrtf((temp_f31*temp_f31)+(temp_f30*temp_f30)); + if(temp_f28 < arg0->unk54+50) { + if(0.0f == temp_f28) { + temp_f31 = 0; + temp_f30 = -1; + } else { + temp_f31 /= temp_f28; + temp_f30 /= temp_f28; + } + arg0->unk4.x = temp_r31->unk0.x+(temp_f31*(arg0->unk54+50)); + arg0->unk4.z = temp_r31->unk0.z+(temp_f30*(arg0->unk54+50)); + } + } } #include "src/REL/executor.c" void fn_1_40C0(Work8F68 *arg0, omObjData *arg1, s32 arg2) { - float temp_f31; - - s32 temp_r29; - if (arg2 >= 0 && arg0->unkA8 != arg2) { - arg0->unkA8 = arg2; - Hu3DMotionShiftSet(arg1->model[0], arg1->motion[arg0->unkA8], 0, 8, HU3D_MOTATTR_LOOP); - temp_r29 = -1; - temp_f31 = 1; - if (arg0->unkA4 == 1) { - temp_r29 = 9; - } - if (arg0->unkA4 == 0) { - switch (arg0->unkA8) { - case 0: - temp_r29 = 7; - break; - - case 1: - temp_r29 = 7; - temp_f31 = 30.0f / 11.0f; - break; - - case 2: - temp_r29 = 8; - break; - } - } - - if (temp_r29 > 0 && arg0->unkAC != temp_r29) { - arg0->unkAC = temp_r29; - Hu3DMotionOverlaySet(arg1->model[0], arg1->motion[arg0->unkAC]); - Hu3DMotionOverlaySpeedSet(arg1->model[0], temp_f31); - } - } + float temp_f31; + + s32 temp_r29; + if(arg2 >= 0 && arg0->unkA8 != arg2) { + arg0->unkA8 = arg2; + Hu3DMotionShiftSet(arg1->model[0], arg1->motion[arg0->unkA8], 0, 8 ,0x40000001); + temp_r29 = -1; + temp_f31 = 1; + if(arg0->unkA4 == 1) { + temp_r29 = 9; + } + if(arg0->unkA4 == 0) { + switch(arg0->unkA8) { + case 0: + temp_r29 = 7; + break; + + case 1: + temp_r29 = 7; + temp_f31 = 30.0f/11.0f; + break; + + case 2: + temp_r29 = 8; + break; + } + } + + if(temp_r29 > 0 && arg0->unkAC != temp_r29) { + arg0->unkAC = temp_r29; + Hu3DMotionOverlaySet(arg1->model[0], arg1->motion[arg0->unkAC]); + Hu3DMotionOverlaySpeedSet(arg1->model[0], temp_f31); + + } + } } void fn_1_4224(Work8F68 *arg0, omObjData *arg1) { - s32 temp_r25; - arg0->unk10 = arg0->unk4; - arg0->unk1C.x = 0; - arg0->unk1C.y = 0; - arg0->unk1C.z = 0; - arg0->unk1C.x = arg0->unkF4 / 4.0f; - arg0->unk1C.z = (-(float)arg0->unkF8) / 4.0f; - temp_r25 = 0; - if ((arg0->unkE8 & 0x1) == 0) { - arg0->unk58 = VECMagXZ(&arg0->unk1C); - if (0.5f <= arg0->unk58) { - if (10.0f <= arg0->unk58) { - arg0->unk1C.x /= arg0->unk58; - arg0->unk1C.z /= arg0->unk58; - arg0->unk58 = 10; - arg0->unk1C.x = 10.0f * arg0->unk1C.x; - arg0->unk1C.z = 10.0f * arg0->unk1C.z; - } - arg0->unk50 = fn_1_1E20(arg0->unk50, atan2d(arg0->unk1C.x, arg0->unk1C.z), 0.4f); - if (8.0f <= arg0->unk58) { - temp_r25 = 2; - } - else { - temp_r25 = 1; - } - } - VECAdd(&arg0->unk4, &arg0->unk1C, &arg0->unk4); - } - arg0->unk108 = 0; - fn_1_36FC(arg0); - fn_1_386C(arg0); - fn_1_3DCC(arg0); - fn_1_36FC(arg0); - if (arg0->unk108) { - arg0->unk100++; - arg0->unk104++; - } - else { - arg0->unk104 = 0; - } - fn_1_2950(arg0); - fn_1_40C0(arg0, arg1, temp_r25); + s32 temp_r25; + arg0->unk10 = arg0->unk4; + arg0->unk1C.x = 0; + arg0->unk1C.y = 0; + arg0->unk1C.z = 0; + arg0->unk1C.x = arg0->unkF4/4.0f; + arg0->unk1C.z = (-(float)arg0->unkF8)/4.0f; + temp_r25 = 0; + if((arg0->unkE8 & 0x1) == 0) { + arg0->unk58 = VECMagXZ(&arg0->unk1C); + if(0.5f <= arg0->unk58) { + if(10.0f <= arg0->unk58) { + arg0->unk1C.x /= arg0->unk58; + arg0->unk1C.z /= arg0->unk58; + arg0->unk58 = 10; + arg0->unk1C.x = 10.0f*arg0->unk1C.x; + arg0->unk1C.z = 10.0f*arg0->unk1C.z; + } + arg0->unk50 = fn_1_1E20(arg0->unk50, atan2d(arg0->unk1C.x, arg0->unk1C.z), 0.4f); + if(8.0f <= arg0->unk58) { + temp_r25 = 2; + } else { + temp_r25 = 1; + } + } + VECAdd(&arg0->unk4, &arg0->unk1C, &arg0->unk4); + } + arg0->unk108 = 0; + fn_1_36FC(arg0); + fn_1_386C(arg0); + fn_1_3DCC(arg0); + fn_1_36FC(arg0); + if(arg0->unk108) { + arg0->unk100++; + arg0->unk104++; + } else { + arg0->unk104 = 0; + } + fn_1_2950(arg0); + fn_1_40C0(arg0, arg1, temp_r25); } Work8F68 *fn_1_4DF0(s32 arg0) { - s32 temp_r31; - Work8F68 *temp_r30; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r30 = lbl_1_bss_1A4[temp_r31]->data; - if (arg0 == temp_r30->unk110) { - return temp_r30; - } - } - return NULL; + s32 temp_r31; + Work8F68 *temp_r30; + for(temp_r31=0; temp_r31<4; temp_r31++) { + temp_r30 = lbl_1_bss_1A4[temp_r31]->data; + if(arg0 == temp_r30->unk110) { + return temp_r30; + } + } + return NULL; } void fn_1_4E50(Work8F68 *arg0) { - float temp_f31; - float temp_f30; - float temp_f27; - Work8F68 *temp_r31; - - if ((arg0->unkE8 & 0x4) && lbl_1_bss_28 < 0) { - temp_r31 = fn_1_4DF0(arg0->unk110 ^ 1); - if (temp_r31->unkE8 & 0x4) { - temp_f31 = arg0->unk4.x - temp_r31->unk4.x; - temp_f30 = arg0->unk4.z - temp_r31->unk4.z; - temp_f27 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - if ((1.5f * (arg0->unk54 + temp_r31->unk54)) >= temp_f27) { - lbl_1_bss_28 = arg0->unk110 & 0x2; - } - } - } + float temp_f31; + float temp_f30; + float temp_f27; + Work8F68 *temp_r31; + + if((arg0->unkE8 & 0x4) && lbl_1_bss_28 < 0) { + temp_r31 = fn_1_4DF0(arg0->unk110 ^ 1); + if(temp_r31->unkE8 & 0x4) { + temp_f31 = arg0->unk4.x-temp_r31->unk4.x; + temp_f30 = arg0->unk4.z-temp_r31->unk4.z; + temp_f27 = sqrtf((temp_f31*temp_f31)+(temp_f30*temp_f30)); + if((1.5f*(arg0->unk54+temp_r31->unk54)) >= temp_f27) { + lbl_1_bss_28 = arg0->unk110 & 0x2; + } + } + } } void fn_1_50AC(Work8F68 *arg0, omObjData *arg1) { - float temp_f31; - float temp_f30; - float temp_f27; - Work3284 *temp_r30; - s32 temp_r28; - omObjData *temp_r27; - if (arg0->unkE8 & 0x2) { - return; - } - for (temp_r28 = 0; temp_r28 < 4; temp_r28++) { - if ((arg0->unk110 & 0x2) != (lbl_1_bss_19C[temp_r28]->work[0] & 0x2)) { - continue; - } - temp_r30 = lbl_1_bss_19C[temp_r28]->data; - if (temp_r30->unk18 & 0x1) { - continue; - } - temp_f31 = temp_r30->unk0.x - arg0->unk4.x; - temp_f30 = temp_r30->unk0.z - arg0->unk4.z; - temp_f27 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - if (50 + arg0->unk54 >= temp_f27) { - omVibrate(arg0->unk114, 12, 6, 6); - arg0->unk9C = 2002; - arg0->unk5C = 0; - arg0->unkE8 |= 0x2; - arg0->unkE8 &= ~0x10; - arg0->unk28 = temp_r30->unk0; - arg0->unkA4 = lbl_1_bss_2C[arg0->unk110 >> 1]++; - arg0->unkA0 = (arg0->unk110 & 0x2) + arg0->unkA4; - Hu3DModelAttrReset(arg1->model[0], HU3D_MOTATTR_LOOP); - if (!arg0->unkA4) { - arg0->unkA8 = 5; - Hu3DMotionShiftSet(arg1->model[0], arg1->motion[5], 0, 10, HU3D_MOTATTR_NONE); - HuAudFXPlay(1642); - } - else { - arg0->unkA8 = 6; - Hu3DMotionShiftSet(arg1->model[0], arg1->motion[6], 0, 10, HU3D_MOTATTR_NONE); - HuAudFXPlay(1643); - } - temp_r27 = lbl_1_bss_1A0[arg0->unkA0]; - omSetTra(temp_r27, arg0->unk28.x, arg0->unk28.y, arg0->unk28.z); - Hu3DModelAttrReset(temp_r27->model[0], HU3D_ATTR_DISPOFF); - - temp_r30->unk18 |= 0x1; - Hu3DModelAttrSet(lbl_1_bss_19C[temp_r28]->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_19C[temp_r28]->model[1], HU3D_ATTR_DISPOFF); - break; - } - } + float temp_f31; + float temp_f30; + float temp_f27; + Work3284 *temp_r30; + s32 temp_r28; + omObjData *temp_r27; + if(arg0->unkE8 & 0x2) { + return; + } + for(temp_r28=0; temp_r28<4; temp_r28++) { + if((arg0->unk110 & 0x2) != (lbl_1_bss_19C[temp_r28]->work[0] & 0x2)) { + continue; + } + temp_r30 = lbl_1_bss_19C[temp_r28]->data; + if(temp_r30->unk18 & 0x1) { + continue; + } + temp_f31 = temp_r30->unk0.x-arg0->unk4.x; + temp_f30 = temp_r30->unk0.z-arg0->unk4.z; + temp_f27 = sqrtf((temp_f31*temp_f31)+(temp_f30*temp_f30)); + if(50+arg0->unk54 >= temp_f27) { + omVibrate(arg0->unk114, 12, 6, 6); + arg0->unk9C = 2002; + arg0->unk5C = 0; + arg0->unkE8 |= 0x2; + arg0->unkE8 &= ~0x10; + arg0->unk28 = temp_r30->unk0; + arg0->unkA4 = lbl_1_bss_2C[arg0->unk110 >> 1]++; + arg0->unkA0 = (arg0->unk110 & 0x2)+arg0->unkA4; + Hu3DModelAttrReset(arg1->model[0], 0x40000001); + if(!arg0->unkA4) { + arg0->unkA8 = 5; + Hu3DMotionShiftSet(arg1->model[0], arg1->motion[5], 0, 10, 0); + HuAudFXPlay(1642); + } else { + arg0->unkA8 = 6; + Hu3DMotionShiftSet(arg1->model[0], arg1->motion[6], 0, 10, 0); + HuAudFXPlay(1643); + } + temp_r27 = lbl_1_bss_1A0[arg0->unkA0]; + omSetTra(temp_r27, arg0->unk28.x, arg0->unk28.y, arg0->unk28.z); + Hu3DModelAttrReset(temp_r27->model[0], 1); + + temp_r30->unk18 |= 0x1; + Hu3DModelAttrSet(lbl_1_bss_19C[temp_r28]->model[0], 1); + Hu3DModelAttrReset(lbl_1_bss_19C[temp_r28]->model[1], 1); + break; + } + } } void fn_1_54BC(Work8F68 *arg0, omObjData *arg1) { - float temp_f31; - float temp_f30; - float temp_f29; - Vec sp14; - Vec sp8; - omObjData *temp_r29; - - arg0->unk5C++; - temp_f31 = arg0->unk5C / 50; - if (1.0f <= temp_f31) { - temp_f31 = 1.0f; - } - fn_1_1D18(arg1->model[0], CharModelHookNameGet(arg0->unk118, 8, 0), &sp14); - fn_1_11F4(temp_f31, &arg0->unk28, &sp14, &sp8); - sp8.y += sind(180.0f * temp_f31) * 100; - temp_r29 = lbl_1_bss_1A0[arg0->unkA0]; - omSetTra(temp_r29, sp8.x, sp8.y, sp8.z); - (void)temp_f31; - if (80.0f <= arg0->unk5C++) { - arg0->unk9C = 2001; - arg0->unkE8 |= 0x4; - arg0->unkA8 = 0; - omSetTra(temp_r29, 0, 0, 0); - Hu3DModelHookSet(arg1->model[0], CharModelHookNameGet(arg0->unk118, 8, 0), temp_r29->model[0]); - if (arg0->unkA4 == 0) { - arg0->unkAC = 7; - } - else { - arg0->unkAC = 9; - } - Hu3DModelAttrSet(arg1->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_OVL_LOOP); - Hu3DMotionSet(arg1->model[0], arg1->motion[0]); - Hu3DMotionOverlaySet(arg1->model[0], arg1->motion[arg0->unkAC]); - } + float temp_f31; + float temp_f30; + float temp_f29; + Vec sp14; + Vec sp8; + omObjData *temp_r29; + + arg0->unk5C++; + temp_f31 = arg0->unk5C/50; + if(1.0f <= temp_f31) { + temp_f31 = 1.0f; + } + fn_1_1D18(arg1->model[0], CharModelHookNameGet(arg0->unk118, 8, 0), &sp14); + fn_1_11F4(temp_f31, &arg0->unk28, &sp14, &sp8); + sp8.y += sind(180.0f*temp_f31)*100; + temp_r29 = lbl_1_bss_1A0[arg0->unkA0]; + omSetTra(temp_r29, sp8.x, sp8.y, sp8.z); + (void)temp_f31; + if(80.0f <= arg0->unk5C++) { + arg0->unk9C = 2001; + arg0->unkE8 |= 0x4; + arg0->unkA8 = 0; + omSetTra(temp_r29, 0, 0, 0); + Hu3DModelHookSet(arg1->model[0], CharModelHookNameGet(arg0->unk118, 8, 0), temp_r29->model[0]); + if(arg0->unkA4 == 0) { + arg0->unkAC = 7; + } else { + arg0->unkAC = 9; + } + Hu3DModelAttrSet(arg1->model[0], 0x40000201); + Hu3DMotionSet(arg1->model[0], arg1->motion[0]); + Hu3DMotionOverlaySet(arg1->model[0], arg1->motion[arg0->unkAC]); + } } s32 fn_1_583C(Work8F68 *arg0, s32 arg1) { - s32 temp_r31; - s32 temp_r29; - s32 temp_r27; - s32 temp_r26; - if (arg0->unkE8 & 0x10) { - return arg1; - } - temp_r29 = 0; - temp_r31 = arg1; - if (arg0->unk8C >= 0) { - arg0->unk88 = -1; - temp_r31 = frandmod(lbl_1_bss_190->unk1C); - do { - temp_r29++; - if (lbl_1_bss_190->unk1C <= temp_r29) { - temp_r31 = frandmod(lbl_1_bss_190->unk1C); - } - else { - temp_r27 = temp_r31 / 32; - temp_r26 = temp_r31 % 32; - if ((1 << temp_r26) & arg0->unk94[temp_r27]) { - temp_r31 = (temp_r31 + 1) % lbl_1_bss_190->unk1C; - } - } - } while (temp_r31 == arg1); - } - - return temp_r31; + s32 temp_r31; + s32 temp_r29; + s32 temp_r27; + s32 temp_r26; + if(arg0->unkE8 & 0x10) { + return arg1; + } + temp_r29 = 0; + temp_r31 = arg1; + if(arg0->unk8C >= 0) { + arg0->unk88 = -1; + temp_r31 = frandmod(lbl_1_bss_190->unk1C); + do { + temp_r29++; + if(lbl_1_bss_190->unk1C <= temp_r29) { + temp_r31 = frandmod(lbl_1_bss_190->unk1C); + } else { + temp_r27 = temp_r31/32; + temp_r26 = temp_r31%32; + if((1 << temp_r26) & arg0->unk94[temp_r27]) { + temp_r31 = (temp_r31+1)%lbl_1_bss_190->unk1C; + } + } + } while(temp_r31 == arg1); + } + + return temp_r31; } void fn_1_595C(Work8F68 *arg0, Work8F68 *arg1) { - s32 temp_r29; - s32 temp_r28; - s32 temp_r27; - Work3284 *temp_r26; - s32 temp_r24; - Data1340SubStruct *temp_r23; - - if (!(arg0->unkE8 & 0x10)) { - fn_1_2950(arg0); - if (arg0->unkEC >= 0) { - temp_r27 = 0; - temp_r23 = &lbl_1_bss_190->unk20[arg0->unkEC]; - for (temp_r28 = 0; temp_r28 < 4; temp_r28++) { - temp_r24 = temp_r23->unk8[temp_r28]; - if (temp_r24 < 0) { - break; - } - if (arg0->unkE8 & 0x2) { - if (temp_r24 == arg1->unkEC) { - temp_r27 = 1; - } - } - else { - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - if ((arg0->unk110 & 0x2) == (lbl_1_bss_19C[temp_r29]->work[0] & 0x2)) { - temp_r26 = lbl_1_bss_19C[temp_r29]->data; - if (!(temp_r26->unk18 & 0x1)) { - if (temp_r24 == temp_r26->unk14) { - temp_r27 = 1; - } - } - } - } - } - if (temp_r27 != 0) { - break; - } - } - if (temp_r27 != 0) { - arg0->unkF0 = -1; - arg0->unkE8 |= 0x10; - } - } - } + s32 temp_r29; + s32 temp_r28; + s32 temp_r27; + Work3284 *temp_r26; + s32 temp_r24; + Data1340SubStruct *temp_r23; + + if(!(arg0->unkE8 & 0x10)) { + fn_1_2950(arg0); + if(arg0->unkEC >= 0) { + temp_r27 = 0; + temp_r23 = &lbl_1_bss_190->unk20[arg0->unkEC]; + for(temp_r28=0; temp_r28<4; temp_r28++) { + temp_r24 = temp_r23->unk8[temp_r28]; + if(temp_r24 < 0) { + break; + } + if(arg0->unkE8 & 0x2) { + if(temp_r24 == arg1->unkEC) { + temp_r27 = 1; + } + } else { + for(temp_r29=0; temp_r29<4; temp_r29++) { + if((arg0->unk110 & 0x2) == (lbl_1_bss_19C[temp_r29]->work[0] & 0x2)) { + temp_r26 = lbl_1_bss_19C[temp_r29]->data; + if(!(temp_r26->unk18 & 0x1)) { + if(temp_r24 == temp_r26->unk14) { + temp_r27 = 1; + } + } + } + } + } + if(temp_r27 != 0) { + break; + } + } + if(temp_r27 != 0) { + arg0->unkF0 = -1; + arg0->unkE8 |= 0x10; + } + } + } } s32 fn_1_5CDC(Work8F68 *arg0) { - s32 temp_r30; - s32 temp_r29; - s32 temp_r28; - Work3284 *temp_r27; - s32 temp_r24; - temp_r28 = -1; - temp_r24 = 65535; - arg0->unk88 = -1; - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - if ((arg0->unk110 & 0x2) == (lbl_1_bss_19C[temp_r29]->work[0] & 0x2)) { - temp_r27 = lbl_1_bss_19C[temp_r29]->data; - if (temp_r27->unk18 & 0x1) { - continue; - } - arg0->unkF0 = temp_r27->unk14; - fn_1_2E14(arg0); - if (temp_r24 > arg0->unk78) { - temp_r28 = temp_r27->unk14; - temp_r24 = arg0->unk78; - arg0->unk88 = temp_r29; - } - } - } - temp_r28 = fn_1_583C(arg0, temp_r28); - return temp_r28; + s32 temp_r30; + s32 temp_r29; + s32 temp_r28; + Work3284 *temp_r27; + s32 temp_r24; + temp_r28 = -1; + temp_r24 = 65535; + arg0->unk88 = -1; + for(temp_r29=0; temp_r29<4; temp_r29++) { + if((arg0->unk110 & 0x2) == (lbl_1_bss_19C[temp_r29]->work[0] & 0x2)) { + temp_r27 = lbl_1_bss_19C[temp_r29]->data; + if(temp_r27->unk18 & 0x1) { + continue; + } + arg0->unkF0 = temp_r27->unk14; + fn_1_2E14(arg0); + if(temp_r24 > arg0->unk78) { + temp_r28 = temp_r27->unk14; + temp_r24 = arg0->unk78; + arg0->unk88 = temp_r29; + } + } + } + temp_r28 = fn_1_583C(arg0, temp_r28); + return temp_r28; } void fn_1_5F44(Work8F68 *arg0) { - float temp_f31; - float temp_f30; - float temp_f24; - float temp_f23; - - Vec spC4; - Work3284 *sp78; - - Work8F68 *temp_r28; - s32 temp_r18; - if (NULL == arg0->unk0) { - return; - } - temp_r28 = fn_1_4DF0(arg0->unk110 ^ 1); - arg0->unk90--; - if (0.0f < arg0->unk90) { - return; - } - if (arg0->unk100 > 30 || arg0->unk10C > 30) { - arg0->unk90 = 30; - if (arg0->unkE8 & 0x2) { - arg0->unk90 *= 2.5f; - } - } - arg0->unk84 -= 1.0f; - if (0.0f > arg0->unk84) { - arg0->unk80 -= 1.0f; - if (0.0f > arg0->unk80) { - arg0->unk80 = ((arg0->unk0->unk4 / 2) * frandf()) + arg0->unk0->unk4; - arg0->unk84 = ((arg0->unk0->unk8 / 2) * frandf()) + arg0->unk0->unk8; - } - } - if (arg0->unkF0 >= 0) { - if (arg0->unkE8 & 0x2) { - if (arg0->unk8C >= 0) { - if (arg0->unkE8 & 0x8) { - arg0->unkF0 = -1; - } - } - else { - if (arg0->unkF0 != temp_r28->unkEC) { - arg0->unkF0 = -1; - } - } - } - else { - if (arg0->unk88 >= 0) { - sp78 = lbl_1_bss_19C[arg0->unk88]->data; - if (sp78->unk18 & 0x1) { - arg0->unkF0 = -1; - } - } - else { - if (arg0->unkE8 & 0x8) { - arg0->unkF0 = -1; - } - } - } - if (arg0->unk100 > 30) { - arg0->unkF0 = -1; - } - if (arg0->unk104 > 30) { - arg0->unkF0 = -1; - } - if (arg0->unk10C > 30) { - arg0->unkF0 = -1; - } - } - temp_r18 = -1; - if (arg0->unkF0 < 0) { - if (arg0->unkE8 & 0x2) { - arg0->unkF0 = fn_1_583C(arg0, temp_r28->unkEC); - } - else { - arg0->unkF0 = fn_1_5CDC(arg0); - } - temp_r18 = arg0->unkF0; - arg0->unkE8 &= ~0x8; - fn_1_2E14(arg0); - fn_1_2EEC(arg0); - } - - if ((arg0->unkE8 & 0x8) && (arg0->unkE8 & 0x2)) { - spC4 = temp_r28->unk4; - } - else { - if (NULL == arg0->unk74) { - if (temp_r18 < 0) { - arg0->unkE8 &= ~0x8; - arg0->unkF0 = frandmod(lbl_1_bss_190->unk1C); - fn_1_2E14(arg0); - fn_1_2EEC(arg0); - return; - } - else { - spC4 = lbl_1_bss_190->unk20[temp_r18].unk18; - } - } - else { - spC4 = lbl_1_bss_190->unk20[arg0->unk74[arg0->unk7C]].unk18; - } - } - temp_f31 = spC4.x - arg0->unk4.x; - temp_f30 = spC4.z - arg0->unk4.z; - temp_f24 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - if (10.0f <= temp_f24) { - temp_f31 /= temp_f24; - temp_f30 /= temp_f24; - } - else { - temp_f31 = 0; - temp_f30 = 0; - } - if (150.0f > temp_f24) { - fn_1_595C(arg0, temp_r28); - arg0->unk7C++; - if (arg0->unk78 <= arg0->unk7C) { - arg0->unk7C = arg0->unk78 - 1; - arg0->unkE8 |= 8; - } - } - temp_f23 = arg0->unk0->unk0; - arg0->unkF4 = (72.0f * temp_f31) * temp_f23; - arg0->unkF8 = (72.0f * -temp_f30) * temp_f23; - if (ABS(arg0->unkF4) > 72) { - arg0->unkF4 = ((arg0->unkF4 < 0) ? -1 : 1) * 72; - } - if (ABS(arg0->unkF8) > 72) { - arg0->unkF8 = ((arg0->unkF8 < 0) ? -1 : 1) * 72; - } + float temp_f31; + float temp_f30; + float temp_f24; + float temp_f23; + + Vec spC4; + Work3284 *sp78; + + Work8F68 *temp_r28; + s32 temp_r18; + if(NULL == arg0->unk0) { + return; + } + temp_r28 = fn_1_4DF0(arg0->unk110^1); + arg0->unk90--; + if(0.0f < arg0->unk90) { + return; + } + if(arg0->unk100 > 30 || arg0->unk10C > 30) { + arg0->unk90 = 30; + if(arg0->unkE8 & 0x2) { + arg0->unk90 *= 2.5f; + } + } + arg0->unk84 -= 1.0f; + if(0.0f > arg0->unk84) { + arg0->unk80 -= 1.0f; + if(0.0f > arg0->unk80) { + arg0->unk80 = ((arg0->unk0->unk4/2)*frandf())+arg0->unk0->unk4; + arg0->unk84 = ((arg0->unk0->unk8/2)*frandf())+arg0->unk0->unk8; + } + } + if(arg0->unkF0 >= 0) { + if(arg0->unkE8 & 0x2) { + if(arg0->unk8C >= 0) { + if(arg0->unkE8 & 0x8) { + arg0->unkF0 = -1; + } + } else { + if(arg0->unkF0 != temp_r28->unkEC) { + arg0->unkF0 = -1; + } + } + } else { + if(arg0->unk88 >= 0) { + sp78 = lbl_1_bss_19C[arg0->unk88]->data; + if(sp78->unk18 & 0x1) { + arg0->unkF0 = -1; + } + } else { + if(arg0->unkE8 & 0x8) { + arg0->unkF0 = -1; + } + } + } + if(arg0->unk100 > 30) { + arg0->unkF0 = -1; + } + if(arg0->unk104 > 30) { + arg0->unkF0 = -1; + } + if(arg0->unk10C > 30) { + arg0->unkF0 = -1; + } + } + temp_r18 = -1; + if(arg0->unkF0 < 0) { + if(arg0->unkE8 & 0x2) { + arg0->unkF0 = fn_1_583C(arg0, temp_r28->unkEC); + } else { + arg0->unkF0 = fn_1_5CDC(arg0); + } + temp_r18 = arg0->unkF0; + arg0->unkE8 &= ~0x8; + fn_1_2E14(arg0); + fn_1_2EEC(arg0); + } + + if((arg0->unkE8 & 0x8) && (arg0->unkE8 & 0x2)) { + spC4 = temp_r28->unk4; + } else { + if(NULL == arg0->unk74) { + if(temp_r18 < 0) { + arg0->unkE8 &= ~0x8; + arg0->unkF0 = frandmod(lbl_1_bss_190->unk1C); + fn_1_2E14(arg0); + fn_1_2EEC(arg0); + return; + } else { + spC4 = lbl_1_bss_190->unk20[temp_r18].unk18; + } + } else { + spC4 = lbl_1_bss_190->unk20[arg0->unk74[arg0->unk7C]].unk18; + } + } + temp_f31 = spC4.x-arg0->unk4.x; + temp_f30 = spC4.z-arg0->unk4.z; + temp_f24 = sqrtf((temp_f31*temp_f31)+(temp_f30*temp_f30)); + if(10.0f <= temp_f24) { + temp_f31 /= temp_f24; + temp_f30 /= temp_f24; + } else { + temp_f31 = 0; + temp_f30 = 0; + } + if(150.0f > temp_f24) { + fn_1_595C(arg0, temp_r28); + arg0->unk7C++; + if(arg0->unk78 <= arg0->unk7C) { + arg0->unk7C = arg0->unk78-1; + arg0->unkE8 |= 8; + } + } + temp_f23 = arg0->unk0->unk0; + arg0->unkF4 = (72.0f*temp_f31)*temp_f23; + arg0->unkF8 = (72.0f*-temp_f30)*temp_f23; + if(ABS(arg0->unkF4) > 72) { + arg0->unkF4 = ((arg0->unkF4 < 0) ? -1 : 1)*72; + } + if(ABS(arg0->unkF8) > 72) { + arg0->unkF8 = ((arg0->unkF8 < 0) ? -1 : 1)*72; + } } void fn_1_7098(s32 arg0, float *arg1) { - Bss130Struct *temp_r30; - Hu3DCameraViewportSet(lbl_1_data_FEC[arg0], arg1[0], arg1[1], arg1[2], arg1[3], 0, 1); - Hu3DCameraScissorSet(lbl_1_data_FEC[arg0], arg1[0], arg1[1], arg1[2], arg1[3]); - temp_r30 = &lbl_1_bss_130[arg0]; - temp_r30->unk8 = 0.9f * (arg1[0] + (arg1[2] / 2)); - temp_r30->unkC = arg1[1] + (arg1[3] / 2); - temp_r30->unk10 = arg1[2] / 316; - temp_r30->unk14 = arg1[3] / 236; + Bss130Struct *temp_r30; + Hu3DCameraViewportSet(lbl_1_data_FEC[arg0], arg1[0], arg1[1], arg1[2], arg1[3], 0, 1); + Hu3DCameraScissorSet(lbl_1_data_FEC[arg0], arg1[0], arg1[1], arg1[2], arg1[3]); + temp_r30 = &lbl_1_bss_130[arg0]; + temp_r30->unk8 = 0.9f*(arg1[0]+(arg1[2]/2)); + temp_r30->unkC = arg1[1]+(arg1[3]/2); + temp_r30->unk10 = arg1[2]/316; + temp_r30->unk14 = arg1[3]/236; + } void fn_1_7D38(omObjData *object); void fn_1_71F0(omObjData *object) { - Work8F68 *temp_r31; - s32 temp_r29; - temp_r31 = object->data; - - if (lbl_1_bss_1AC->work[0] == 1007) { - temp_r31->unkE8 &= ~0x1; - espDispOff(temp_r31->unkB4); - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - espDispOff(temp_r31->unkB8[temp_r29]); - espDispOff(temp_r31->unkC8[temp_r29][0]); - espDispOff(temp_r31->unkC8[temp_r29][1]); - } - if (temp_r31->unk9C == 2001) { - temp_r31->unk9C = 2003; - fn_1_40C0(temp_r31, object, 0); - if (lbl_1_bss_28 == (temp_r31->unk110 & 0x2)) { - GWPlayerCoinWinSet(temp_r31->unk114, 10); - } - object->func = fn_1_7D38; - return; - } - } - if (GWPlayerCfg[temp_r31->unk114].iscom) { - temp_r31->unkF4 = 0; - temp_r31->unkF8 = 0; - temp_r31->unkFC = 0; - fn_1_5F44(temp_r31); - } - else { - temp_r31->unkF4 = HuPadStkX[temp_r31->unk11C]; - temp_r31->unkF8 = HuPadStkY[temp_r31->unk11C]; - temp_r31->unkFC = HuPadBtnDown[temp_r31->unk11C]; - } - if (lbl_1_bss_1AC->work[0] < 1007 && (temp_r31->unkFC & (PAD_BUTTON_X | PAD_BUTTON_Y))) { - if (temp_r31->unkE8 & 0x1) { - temp_r31->unkE8 &= ~0x1; - espDispOff(temp_r31->unkB4); - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - espDispOff(temp_r31->unkB8[temp_r29]); - espDispOff(temp_r31->unkC8[temp_r29][0]); - espDispOff(temp_r31->unkC8[temp_r29][1]); - } - } - else { - temp_r31->unkE8 |= 0x1; - espDispOn(temp_r31->unkB4); - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - espDispOn(temp_r31->unkB8[temp_r29]); - } - } - } - switch (temp_r31->unk9C) { - case 2001: - fn_1_4224(temp_r31, object); - fn_1_50AC(temp_r31, object); - fn_1_4E50(temp_r31); - break; - - case 2002: - fn_1_54BC(temp_r31, object); - break; - - default: - OSReport("*** player mode error(%d)!!\n", temp_r31->unk9C); - break; - } - if (temp_r31->unk104 == 0 && temp_r31->unk10C == 0) { - temp_r31->unk100 = 0; - } - lbl_1_bss_C8[temp_r31->unk110].x = temp_r31->unk4.x + (lbl_1_bss_120 * sind(lbl_1_bss_11C)); - lbl_1_bss_C8[temp_r31->unk110].y = temp_r31->unk4.y + lbl_1_bss_118; - lbl_1_bss_C8[temp_r31->unk110].z = temp_r31->unk4.z + (lbl_1_bss_120 * cosd(lbl_1_bss_11C)); - lbl_1_bss_68[temp_r31->unk110].x = temp_r31->unk4.x; - lbl_1_bss_68[temp_r31->unk110].y = temp_r31->unk4.y; - lbl_1_bss_68[temp_r31->unk110].z = temp_r31->unk4.z; - Hu3DCameraPosSetV(lbl_1_data_FEC[temp_r31->unk110], &lbl_1_bss_C8[temp_r31->unk110], &lbl_1_data_FE0, &lbl_1_bss_68[temp_r31->unk110]); - temp_r31->unk60 = temp_r31->unk50; - omSetTra(object, temp_r31->unk4.x, temp_r31->unk4.y, temp_r31->unk4.z); - omSetRot(object, 0, temp_r31->unk50, 0); + Work8F68 *temp_r31; + s32 temp_r29; + temp_r31 = object->data; + + if(lbl_1_bss_1AC->work[0] == 1007) { + temp_r31->unkE8 &= ~0x1; + espDispOff(temp_r31->unkB4); + for(temp_r29=0; temp_r29<4; temp_r29++) { + espDispOff(temp_r31->unkB8[temp_r29]); + espDispOff(temp_r31->unkC8[temp_r29][0]); + espDispOff(temp_r31->unkC8[temp_r29][1]); + } + if(temp_r31->unk9C == 2001) { + temp_r31->unk9C = 2003; + fn_1_40C0(temp_r31, object, 0); + if(lbl_1_bss_28 == (temp_r31->unk110 & 0x2)) { + GWPlayerCoinWinSet(temp_r31->unk114, 10); + } + object->func = fn_1_7D38; + return; + } + + } + if(GWPlayerCfg[temp_r31->unk114].iscom) { + temp_r31->unkF4 = 0; + temp_r31->unkF8 = 0; + temp_r31->unkFC = 0; + fn_1_5F44(temp_r31); + } else { + temp_r31->unkF4 = HuPadStkX[temp_r31->unk11C]; + temp_r31->unkF8 = HuPadStkY[temp_r31->unk11C]; + temp_r31->unkFC = HuPadBtnDown[temp_r31->unk11C]; + } + if(lbl_1_bss_1AC->work[0] < 1007 && (temp_r31->unkFC & (PAD_BUTTON_X|PAD_BUTTON_Y))) { + if(temp_r31->unkE8 & 0x1) { + temp_r31->unkE8 &= ~0x1; + espDispOff(temp_r31->unkB4); + for(temp_r29=0; temp_r29<4; temp_r29++) { + espDispOff(temp_r31->unkB8[temp_r29]); + espDispOff(temp_r31->unkC8[temp_r29][0]); + espDispOff(temp_r31->unkC8[temp_r29][1]); + } + } else { + temp_r31->unkE8 |= 0x1; + espDispOn(temp_r31->unkB4); + for(temp_r29=0; temp_r29<4; temp_r29++) { + espDispOn(temp_r31->unkB8[temp_r29]); + } + } + } + switch(temp_r31->unk9C) { + case 2001: + fn_1_4224(temp_r31, object); + fn_1_50AC(temp_r31, object); + fn_1_4E50(temp_r31); + break; + + case 2002: + fn_1_54BC(temp_r31, object); + break; + + default: + OSReport("*** player mode error(%d)!!\n", temp_r31->unk9C); + break; + } + if(temp_r31->unk104 == 0 && temp_r31->unk10C == 0) { + temp_r31->unk100 = 0; + } + lbl_1_bss_C8[temp_r31->unk110].x = temp_r31->unk4.x+(lbl_1_bss_120*sind(lbl_1_bss_11C)); + lbl_1_bss_C8[temp_r31->unk110].y = temp_r31->unk4.y+lbl_1_bss_118; + lbl_1_bss_C8[temp_r31->unk110].z = temp_r31->unk4.z+(lbl_1_bss_120*cosd(lbl_1_bss_11C)); + lbl_1_bss_68[temp_r31->unk110].x = temp_r31->unk4.x; + lbl_1_bss_68[temp_r31->unk110].y = temp_r31->unk4.y; + lbl_1_bss_68[temp_r31->unk110].z = temp_r31->unk4.z; + Hu3DCameraPosSetV(lbl_1_data_FEC[temp_r31->unk110], &lbl_1_bss_C8[temp_r31->unk110], &lbl_1_data_FE0, &lbl_1_bss_68[temp_r31->unk110]); + temp_r31->unk60 = temp_r31->unk50; + omSetTra(object, temp_r31->unk4.x, temp_r31->unk4.y, temp_r31->unk4.z); + omSetRot(object, 0, temp_r31->unk50, 0); + } void fn_1_7D38(omObjData *object) { - float temp_f27; + float temp_f27; + + Mtx sp74; + Vec sp8; - Mtx sp74; - Vec sp8; + Work8F68 *temp_r31 = object->data; - Work8F68 *temp_r31 = object->data; - - switch (temp_r31->unk9C) { - case 2000: - if (lbl_1_bss_1AC->work[0] >= 1006) { - temp_r31->unk9C++; - object->func = fn_1_71F0; - } - break; - - case 2003: - if (lbl_1_bss_1AC->work[0] == 1010) { - Hu3DMotionOverlayReset(object->model[0]); - if (lbl_1_bss_28 >= 0 && (temp_r31->unk110 == lbl_1_bss_28 || temp_r31->unk110 == (lbl_1_bss_28 ^ 1))) { - temp_r31->unk9C = 2004; - temp_r31->unk5C = 0; - temp_r31->unkE8 |= 0x20; - fn_1_1D18(object->model[0], CharModelHookNameGet(temp_r31->unk118, 8, 0), &temp_r31->unk28); - Hu3DModelObjMtxGet(object->model[0], CharModelHookNameGet(temp_r31->unk118, 8, 0), sp74); - Hu3DMtxRotGet(sp74, &temp_r31->unk40); - Hu3DModelHookObjReset(object->model[0], CharModelHookNameGet(temp_r31->unk118, 8, 0)); - omSetTra(lbl_1_bss_1A0[temp_r31->unkA0], temp_r31->unk28.x, temp_r31->unk28.y, temp_r31->unk28.z); - if (temp_r31->unkA4 == 0) { - temp_r31->unk4C = lbl_1_bss_110; - Hu3DMotionSet(object->model[0], object->motion[5]); - } - else { - temp_r31->unk4C = lbl_1_bss_110 + 180; - temp_r31->unk40.y = lbl_1_bss_110 + 180; - Hu3DMotionSet(object->model[0], object->motion[6]); - } - Hu3DMotionTimeSet(object->model[0], Hu3DMotionMaxTimeGet(object->model[0]) - 1); - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_REV); - temp_r31->unk40.x = 0; - temp_r31->unk40.z = 0; - omSetRot(lbl_1_bss_1A0[temp_r31->unkA0], temp_r31->unk40.x, temp_r31->unk40.y, temp_r31->unk40.z); - temp_r31->unk4C = fmod(temp_r31->unk4C - temp_r31->unk40.y, 360); - if (0.0f > temp_r31->unk4C) { - temp_r31->unk4C += 360.0f; - } - if (180.0f < temp_r31->unk4C) { - temp_r31->unk4C -= 360.0f; - } - temp_r31->unk4C /= 60.0f; - } - else { - temp_r31->unk9C = 2008; - Hu3DMotionShiftSet(object->model[0], object->motion[4], 0, 8, HU3D_MOTATTR_NONE); - } - } - if (lbl_1_bss_1AC->work[0] == 1012) { - temp_r31->unk9C = 2008; - Hu3DMotionOverlayReset(object->model[0]); - Hu3DMotionShiftSet(object->model[0], object->motion[4], 0, 8, HU3D_MOTATTR_NONE); - } - if (temp_r31->unk9C == 2008 && temp_r31->unkA0 >= 0) { - Hu3DModelAttrSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[0], HU3D_ATTR_DISPOFF); - fn_1_1D18(object->model[0], CharModelHookNameGet(temp_r31->unk118, 8, 0), &sp8); - temp_r31->unk70 = Hu3DParManLink(lbl_1_bss_8, &lbl_1_data_13E8); - temp_r31->unk6C = 0; - Hu3DParManPosSet(temp_r31->unk70, sp8.x, sp8.y, sp8.z); - Hu3DParManAttrReset(temp_r31->unk70, 1); - Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(temp_r31->unk70), 1); - Hu3DModelLayerSet(Hu3DParManModelIDGet(temp_r31->unk70), 6); - } - break; - - case 2004: - temp_r31->unk5C++; - fn_1_11F4(temp_r31->unk5C / 60, &temp_r31->unk28, &lbl_1_bss_F8[temp_r31->unkA4], &temp_r31->unk34); - temp_r31->unk34.y += sind(temp_r31->unk5C * 3.0f) * 100; - omSetTra(lbl_1_bss_1A0[temp_r31->unkA0], temp_r31->unk34.x, temp_r31->unk34.y, temp_r31->unk34.z); - temp_r31->unk40.y += temp_r31->unk4C; - omSetRot(lbl_1_bss_1A0[temp_r31->unkA0], temp_r31->unk40.x, temp_r31->unk40.y, temp_r31->unk40.z); - if (60.0f <= temp_r31->unk5C) { - temp_r31->unk9C++; - temp_r31->unk5C = 0; - temp_r31->unk28 = temp_r31->unk34; - if (temp_r31->unkA4 == 1) { - lbl_1_bss_F8[1].x -= 10 * sind(lbl_1_bss_110); - lbl_1_bss_F8[1].z -= 10 * cosd(lbl_1_bss_110); - } - else { - sp8.x = (30 * sind(lbl_1_bss_110)) + temp_r31->unk34.x; - sp8.y = 30 + temp_r31->unk34.y; - sp8.z = (30 * cosd(lbl_1_bss_110)) + temp_r31->unk34.z; - Hu3DModelTPLvlSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[1], 0); - Hu3DModelPosSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[1], sp8.x, sp8.y, sp8.z); - Hu3DModelRotSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[1], 0, lbl_1_bss_110, 0); - Hu3DModelAttrReset(lbl_1_bss_1A0[temp_r31->unkA0]->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_1A0[temp_r31->unkA0]->model[1], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[1], HU3D_MOTATTR_LOOP); - } - } - break; - - case 2005: - temp_r31->unk5C++; - fn_1_11F4(temp_r31->unk5C / 60, &temp_r31->unk28, &lbl_1_bss_F8[temp_r31->unkA4], &temp_r31->unk34); - omSetTra(lbl_1_bss_1A0[temp_r31->unkA0], temp_r31->unk34.x, temp_r31->unk34.y, temp_r31->unk34.z); - if (temp_r31->unkA4 == 0) { - temp_f27 = temp_r31->unk5C / 20; - if (1.0f <= temp_f27) { - temp_f27 = 1.0f; - } - Hu3DModelTPLvlSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[1], temp_f27); - } - if (60.0f <= temp_r31->unk5C) { - temp_r31->unk9C++; - temp_r31->unk5C = 0; - if (temp_r31->unkA4 == 1) { - Hu3DModelAttrReset(lbl_1_bss_1A0[temp_r31->unkA0]->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DMotionSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[0], lbl_1_bss_1A0[temp_r31->unkA0]->motion[0]); - HuAudFXPlay(1649); - } - } - - break; - - case 2006: - temp_r31->unk5C++; - if (20.0f == temp_r31->unk5C) { - temp_r31->unk60 = temp_r31->unk64; - if (temp_r31->unkA4 == 0) { - Hu3DModelAttrReset(lbl_1_bss_1A0[temp_r31->unkA0]->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DMotionSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[0], lbl_1_bss_1A0[temp_r31->unkA0]->motion[0]); - HuAudFXPlay(1648); - } - } - if (30.0f < temp_r31->unk5C && Hu3DMotionEndCheck(lbl_1_bss_1A0[temp_r31->unkA0 & 0x2]->model[0])) { - temp_r31->unk9C++; - lbl_1_bss_1C++; - } - break; - - case 2007: - if ((temp_r31->unk110 & 0x1) < lbl_1_bss_20) { - temp_r31->unk9C = 2008; - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_REV); - Hu3DMotionShiftSet(object->model[0], object->motion[3], 0, 8, HU3D_MOTATTR_NONE); - } - break; - - case 2008: - if (temp_r31->unk70 >= 0) { - temp_r31->unk6C++; - if (10.0f == temp_r31->unk6C) { - Hu3DParManAttrSet(temp_r31->unk70, 1); - } - } - break; - - default: - OSReport("*** player mode error(%d)!!\n", temp_r31->unk9C); - break; - } - if (temp_r31->unk9C >= 2005 && (temp_r31->unkE8 & 0x20)) { - temp_r31->unk68 += 4.0f; - sp8 = temp_r31->unk34; - sp8.y += sind(temp_r31->unk68) * 5.0; - omSetTra(lbl_1_bss_1A0[temp_r31->unkA0], sp8.x, sp8.y, sp8.z); - sp8.x = temp_r31->unk34.x + (30.0 * sind(lbl_1_bss_110)); - sp8.y = (temp_r31->unk34.y + 30) + (5.0 * sind(temp_r31->unk68)); - sp8.z = temp_r31->unk34.z + (30.0 * cosd(lbl_1_bss_110)); - Hu3DModelPosSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[1], sp8.x, sp8.y, sp8.z); - } - if (temp_r31->unk9C >= 2003) { - temp_r31->unk50 = fn_1_1E20(temp_r31->unk50, temp_r31->unk60, 0.1f); - } - omSetTra(object, temp_r31->unk4.x, temp_r31->unk4.y, temp_r31->unk4.z); - omSetRot(object, 0, temp_r31->unk50, 0); + switch(temp_r31->unk9C) { + case 2000: + if(lbl_1_bss_1AC->work[0] >= 1006) { + temp_r31->unk9C++; + object->func = fn_1_71F0; + } + break; + + case 2003: + if(lbl_1_bss_1AC->work[0] == 1010) { + Hu3DMotionOverlayReset(object->model[0]); + if(lbl_1_bss_28 >= 0 && (temp_r31->unk110 == lbl_1_bss_28 || temp_r31->unk110 == (lbl_1_bss_28^1))) { + temp_r31->unk9C = 2004; + temp_r31->unk5C = 0; + temp_r31->unkE8 |= 0x20; + fn_1_1D18(object->model[0], CharModelHookNameGet(temp_r31->unk118, 8, 0), &temp_r31->unk28); + Hu3DModelObjMtxGet(object->model[0], CharModelHookNameGet(temp_r31->unk118, 8, 0), sp74); + Hu3DMtxRotGet(sp74, &temp_r31->unk40); + Hu3DModelHookObjReset(object->model[0], CharModelHookNameGet(temp_r31->unk118, 8, 0)); + omSetTra(lbl_1_bss_1A0[temp_r31->unkA0], temp_r31->unk28.x, temp_r31->unk28.y , temp_r31->unk28.z); + if(temp_r31->unkA4 == 0) { + temp_r31->unk4C = lbl_1_bss_110; + Hu3DMotionSet(object->model[0], object->motion[5]); + } else { + temp_r31->unk4C = lbl_1_bss_110+180; + temp_r31->unk40.y = lbl_1_bss_110+180; + Hu3DMotionSet(object->model[0], object->motion[6]); + } + Hu3DMotionTimeSet(object->model[0], Hu3DMotionMaxTimeGet(object->model[0])-1); + Hu3DModelAttrReset(object->model[0], 0x40000003); + Hu3DModelAttrSet(object->model[0], 0x40000004); + temp_r31->unk40.x = 0; + temp_r31->unk40.z = 0; + omSetRot(lbl_1_bss_1A0[temp_r31->unkA0], temp_r31->unk40.x, temp_r31->unk40.y, temp_r31->unk40.z); + temp_r31->unk4C = fmod(temp_r31->unk4C-temp_r31->unk40.y, 360); + if(0.0f > temp_r31->unk4C) { + temp_r31->unk4C += 360.0f; + } + if(180.0f < temp_r31->unk4C) { + temp_r31->unk4C -= 360.0f; + } + temp_r31->unk4C /= 60.0f; + } else { + temp_r31->unk9C = 2008; + Hu3DMotionShiftSet(object->model[0], object->motion[4], 0, 8, 0); + } + } + if(lbl_1_bss_1AC->work[0] == 1012) { + temp_r31->unk9C = 2008; + Hu3DMotionOverlayReset(object->model[0]); + Hu3DMotionShiftSet(object->model[0], object->motion[4], 0, 8, 0); + } + if(temp_r31->unk9C == 2008 && temp_r31->unkA0 >= 0) { + Hu3DModelAttrSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[0], 1); + fn_1_1D18(object->model[0], CharModelHookNameGet(temp_r31->unk118, 8, 0), &sp8); + temp_r31->unk70 = Hu3DParManLink(lbl_1_bss_8, &lbl_1_data_13E8); + temp_r31->unk6C = 0; + Hu3DParManPosSet(temp_r31->unk70, sp8.x, sp8.y, sp8.z); + Hu3DParManAttrReset(temp_r31->unk70, 1); + Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(temp_r31->unk70), 1); + Hu3DModelLayerSet(Hu3DParManModelIDGet(temp_r31->unk70), 6); + } + break; + + case 2004: + temp_r31->unk5C++; + fn_1_11F4(temp_r31->unk5C/60, &temp_r31->unk28, &lbl_1_bss_F8[temp_r31->unkA4], &temp_r31->unk34); + temp_r31->unk34.y += sind(temp_r31->unk5C*3.0f)*100; + omSetTra(lbl_1_bss_1A0[temp_r31->unkA0], temp_r31->unk34.x, temp_r31->unk34.y, temp_r31->unk34.z); + temp_r31->unk40.y += temp_r31->unk4C; + omSetRot(lbl_1_bss_1A0[temp_r31->unkA0], temp_r31->unk40.x, temp_r31->unk40.y, temp_r31->unk40.z); + if(60.0f <= temp_r31->unk5C) { + temp_r31->unk9C++; + temp_r31->unk5C = 0; + temp_r31->unk28 = temp_r31->unk34; + if(temp_r31->unkA4 == 1) { + lbl_1_bss_F8[1].x -= 10*sind(lbl_1_bss_110); + lbl_1_bss_F8[1].z -= 10*cosd(lbl_1_bss_110); + } else { + sp8.x = (30*sind(lbl_1_bss_110))+temp_r31->unk34.x; + sp8.y = 30+temp_r31->unk34.y; + sp8.z = (30*cosd(lbl_1_bss_110))+temp_r31->unk34.z; + Hu3DModelTPLvlSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[1], 0); + Hu3DModelPosSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[1], sp8.x, sp8.y, sp8.z); + Hu3DModelRotSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[1], 0, lbl_1_bss_110, 0); + Hu3DModelAttrReset(lbl_1_bss_1A0[temp_r31->unkA0]->model[1], 1); + Hu3DModelAttrReset(lbl_1_bss_1A0[temp_r31->unkA0]->model[1], 0x40000002); + Hu3DModelAttrSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[1], 0x40000001); + } + } + break; + + case 2005: + temp_r31->unk5C++; + fn_1_11F4(temp_r31->unk5C/60, &temp_r31->unk28, &lbl_1_bss_F8[temp_r31->unkA4], &temp_r31->unk34); + omSetTra(lbl_1_bss_1A0[temp_r31->unkA0], temp_r31->unk34.x, temp_r31->unk34.y, temp_r31->unk34.z); + if(temp_r31->unkA4 == 0) { + temp_f27 = temp_r31->unk5C/20; + if(1.0f <= temp_f27) { + temp_f27 = 1.0f; + } + Hu3DModelTPLvlSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[1], temp_f27); + } + if(60.0f <= temp_r31->unk5C) { + temp_r31->unk9C++; + temp_r31->unk5C = 0; + if(temp_r31->unkA4 == 1) { + Hu3DModelAttrReset(lbl_1_bss_1A0[temp_r31->unkA0]->model[0], 0x40000003); + Hu3DMotionSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[0], lbl_1_bss_1A0[temp_r31->unkA0]->motion[0]); + HuAudFXPlay(1649); + } + } + + break; + + + case 2006: + temp_r31->unk5C++; + if(20.0f == temp_r31->unk5C) { + temp_r31->unk60 = temp_r31->unk64; + if(temp_r31->unkA4 == 0) { + Hu3DModelAttrReset(lbl_1_bss_1A0[temp_r31->unkA0]->model[0], 0x40000003); + Hu3DMotionSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[0], lbl_1_bss_1A0[temp_r31->unkA0]->motion[0]); + HuAudFXPlay(1648); + } + } + if(30.0f < temp_r31->unk5C && Hu3DMotionEndCheck(lbl_1_bss_1A0[temp_r31->unkA0 & 0x2]->model[0])) { + temp_r31->unk9C++; + lbl_1_bss_1C++; + } + break; + + case 2007: + if((temp_r31->unk110 & 0x1) < lbl_1_bss_20) { + temp_r31->unk9C = 2008; + Hu3DModelAttrReset(object->model[0], 0x40000004); + Hu3DMotionShiftSet(object->model[0], object->motion[3], 0, 8, 0); + } + break; + + case 2008: + if(temp_r31->unk70 >= 0) { + temp_r31->unk6C++; + if(10.0f == temp_r31->unk6C) { + Hu3DParManAttrSet(temp_r31->unk70, 1); + } + } + break; + + default: + OSReport("*** player mode error(%d)!!\n", temp_r31->unk9C); + break; + + } + if(temp_r31->unk9C >= 2005 && (temp_r31->unkE8 & 0x20)) { + temp_r31->unk68 += 4.0f; + sp8 = temp_r31->unk34; + sp8.y += sind(temp_r31->unk68)*5.0; + omSetTra(lbl_1_bss_1A0[temp_r31->unkA0], sp8.x, sp8.y, sp8.z); + sp8.x = temp_r31->unk34.x+(30.0*sind(lbl_1_bss_110)); + sp8.y = (temp_r31->unk34.y+30)+(5.0*sind(temp_r31->unk68)); + sp8.z = temp_r31->unk34.z+(30.0*cosd(lbl_1_bss_110)); + Hu3DModelPosSet(lbl_1_bss_1A0[temp_r31->unkA0]->model[1], sp8.x, sp8.y, sp8.z); + } + if(temp_r31->unk9C >= 2003) { + temp_r31->unk50 = fn_1_1E20(temp_r31->unk50, temp_r31->unk60, 0.1f); + } + omSetTra(object, temp_r31->unk4.x, temp_r31->unk4.y, temp_r31->unk4.z); + omSetRot(object, 0, temp_r31->unk50, 0); } void fn_1_8F68(omObjData *object) { - Work8F68 *temp_r31; - s32 temp_r29; - s32 temp_r28; - Data1340SubStruct *temp_r23; - - temp_r31 = object->data; - temp_r31->unk118 = GWPlayerCfg[temp_r31->unk114].character; - temp_r31->unk11C = GWPlayerCfg[temp_r31->unk114].pad_idx; - temp_r31->unk9C = 2000; - temp_r31->unkA0 = -1; - temp_r31->unkA4 = -1; - temp_r31->unkE8 = 0; - temp_r31->unk70 = -1; - temp_r31->unk50 = 0; - temp_r31->unk68 = 0; - temp_r31->unkA8 = 0; - temp_r31->unkAC = -1; - temp_r31->unk54 = 65; - temp_r31->unk0 = 0; - temp_r31->unk80 = 0; - temp_r31->unk84 = 0; - temp_r31->unk74 = 0; - temp_r31->unk78 = 65535; - temp_r31->unk7C = 0; - temp_r31->unk88 = -1; - temp_r31->unk8C = -1; - temp_r31->unk90 = 0; - temp_r31->unkEC = -1; - temp_r31->unkF0 = -1; - temp_r31->unk100 = 0; - temp_r31->unk104 = 0; - temp_r31->unk10C = 0; - for (temp_r29 = 0; temp_r29 < 2; temp_r29++) { - temp_r31->unk94[temp_r29] = 0; - } - object->model[0] = CharModelCreate(lbl_1_data_0[temp_r31->unk118], 8); - CharModelStepTypeSet(lbl_1_data_0[temp_r31->unk118], 0); - for (temp_r29 = 0; temp_r29 < 10; temp_r29++) { - object->motion[temp_r29] = CharModelMotionCreate(lbl_1_data_0[temp_r31->unk118], lbl_1_data_1150[temp_r31->unk118][temp_r29]); - CharModelMotionSet(lbl_1_data_0[temp_r31->unk118], object->motion[temp_r29]); - } - Hu3DModelCameraSet(object->model[0], 15); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(object->model[0], 2); - Hu3DMotionSet(object->model[0], object->motion[0]); - Hu3DModelShadowSet(object->model[0]); - temp_r31->unk4.x = 0; - temp_r31->unk4.y = 0; - temp_r31->unk4.z = 0; - temp_r28 = temp_r31->unk110; - if (temp_r28 >= 2) { - temp_r28 ^= 1; - } - temp_r28 = (temp_r28 + lbl_1_bss_34) % 4; - temp_r23 = fn_1_2614(1 << temp_r28); - if (NULL != temp_r23) { - temp_r31->unk4 = temp_r23->unk18; - } - omSetTra(object, temp_r31->unk4.x, temp_r31->unk4.y, temp_r31->unk4.z); - omSetRot(object, 0, temp_r31->unk50, 0); - lbl_1_bss_98[temp_r31->unk110].x = temp_r31->unk4.x; - lbl_1_bss_98[temp_r31->unk110].y = temp_r31->unk4.y + 450; - lbl_1_bss_98[temp_r31->unk110].z = temp_r31->unk4.z + 850; - lbl_1_bss_38[temp_r31->unk110].x = temp_r31->unk4.x; - lbl_1_bss_38[temp_r31->unk110].y = temp_r31->unk4.y; - lbl_1_bss_38[temp_r31->unk110].z = temp_r31->unk4.z; - temp_r31->unkB0 = espEntry(lbl_1_data_12D0[temp_r31->unk110], 134, 0); - espDrawNoSet(temp_r31->unkB0, 0); - lbl_1_bss_130[temp_r31->unk110].unk0 = temp_r31->unkB0; - espDispOff(temp_r31->unkB0); - espZRotSet(temp_r31->unkB0, (temp_r31->unk110 & 0x1) ? 0.0f : 180.0f); - temp_r31->unkB4 = espEntry(DATA_MAKE_NUM(DATADIR_M429, 0x31), 133, 0); - espDrawNoSet(temp_r31->unkB4, 0); - espDispOff(temp_r31->unkB4); - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - temp_r31->unkB8[temp_r29] = espEntry(lbl_1_data_1290[GWPlayerCfg[temp_r29].character], (temp_r31->unk114 == temp_r29) ? 129 : 130, 0); - espDrawNoSet(temp_r31->unkB8[temp_r29], 0); - espDispOff(temp_r31->unkB8[temp_r29]); - temp_r31->unkC8[temp_r29][0] = espEntry(lbl_1_data_1310[temp_r29], 128, 0); - espDrawNoSet(temp_r31->unkC8[temp_r29][0], 0); - espDispOff(temp_r31->unkC8[temp_r29][0]); - temp_r31->unkC8[temp_r29][1] = espEntry(DATA_MAKE_NUM(DATADIR_M429, 0x3C), 128, 0); - espDrawNoSet(temp_r31->unkC8[temp_r29][1], 0); - espDispOff(temp_r31->unkC8[temp_r29][1]); - } - if (GWPlayerCfg[temp_r31->unk114].iscom) { - switch (GWPlayerCfg[temp_r31->unk114].diff) { - case 0: - temp_r31->unk0 = &lbl_1_data_13A8; - break; - - case 1: - temp_r31->unk0 = &lbl_1_data_13B8; - break; - - case 2: - temp_r31->unk0 = &lbl_1_data_13C8; - break; - - case 3: - default: - temp_r31->unk0 = &lbl_1_data_13D8; - break; - } - temp_r31->unk80 = frandf() * temp_r31->unk0->unk4; - temp_r31->unk8C = temp_r31->unk0->unkC + ((temp_r31->unk0->unkC / 2.0f) * frandf()); - } - CharModelVoiceEnableSet(temp_r31->unk118, object->motion[4], 0); - fn_1_2950(temp_r31); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - CharModelLayerSetAll2(5); - CharModelMotionDataClose(lbl_1_data_0[temp_r31->unk118]); - object->func = fn_1_7D38; + Work8F68 *temp_r31; + s32 temp_r29; + s32 temp_r28; + Data1340SubStruct *temp_r23; + + temp_r31 = object->data; + temp_r31->unk118 = GWPlayerCfg[temp_r31->unk114].character; + temp_r31->unk11C = GWPlayerCfg[temp_r31->unk114].pad_idx; + temp_r31->unk9C = 2000; + temp_r31->unkA0 = -1; + temp_r31->unkA4 = -1; + temp_r31->unkE8 = 0; + temp_r31->unk70 = -1; + temp_r31->unk50 = 0; + temp_r31->unk68 = 0; + temp_r31->unkA8 = 0; + temp_r31->unkAC = -1; + temp_r31->unk54 = 65; + temp_r31->unk0 = 0; + temp_r31->unk80 = 0; + temp_r31->unk84 = 0; + temp_r31->unk74 = 0; + temp_r31->unk78 = 65535; + temp_r31->unk7C = 0; + temp_r31->unk88 = -1; + temp_r31->unk8C = -1; + temp_r31->unk90 = 0; + temp_r31->unkEC = -1; + temp_r31->unkF0 = -1; + temp_r31->unk100 = 0; + temp_r31->unk104 = 0; + temp_r31->unk10C = 0; + for(temp_r29=0; temp_r29<2; temp_r29++) { + temp_r31->unk94[temp_r29] = 0; + } + object->model[0] = CharModelCreate(lbl_1_data_0[temp_r31->unk118], 8); + CharModelStepTypeSet(lbl_1_data_0[temp_r31->unk118], 0); + for(temp_r29=0; temp_r29<10; temp_r29++) { + object->motion[temp_r29] = CharModelMotionCreate(lbl_1_data_0[temp_r31->unk118], lbl_1_data_1150[temp_r31->unk118][temp_r29]); + CharModelMotionSet(lbl_1_data_0[temp_r31->unk118], object->motion[temp_r29]); + } + Hu3DModelCameraSet(object->model[0], 15); + Hu3DModelAttrSet(object->model[0], 1); + Hu3DModelAttrSet(object->model[0], 0x40000001); + Hu3DModelLayerSet(object->model[0], 2); + Hu3DMotionSet(object->model[0], object->motion[0]); + Hu3DModelShadowSet(object->model[0]); + temp_r31->unk4.x = 0; + temp_r31->unk4.y = 0; + temp_r31->unk4.z = 0; + temp_r28 = temp_r31->unk110; + if(temp_r28 >= 2) { + temp_r28 ^= 1; + } + temp_r28 = (temp_r28+lbl_1_bss_34)%4; + temp_r23 = fn_1_2614(1 << temp_r28); + if(NULL != temp_r23) { + temp_r31->unk4 = temp_r23->unk18; + } + omSetTra(object, temp_r31->unk4.x, temp_r31->unk4.y, temp_r31->unk4.z); + omSetRot(object, 0, temp_r31->unk50, 0); + lbl_1_bss_98[temp_r31->unk110].x = temp_r31->unk4.x; + lbl_1_bss_98[temp_r31->unk110].y = temp_r31->unk4.y+450; + lbl_1_bss_98[temp_r31->unk110].z = temp_r31->unk4.z+850; + lbl_1_bss_38[temp_r31->unk110].x = temp_r31->unk4.x; + lbl_1_bss_38[temp_r31->unk110].y = temp_r31->unk4.y; + lbl_1_bss_38[temp_r31->unk110].z = temp_r31->unk4.z; + temp_r31->unkB0 = espEntry(lbl_1_data_12D0[temp_r31->unk110], 134, 0); + espDrawNoSet(temp_r31->unkB0, 0); + lbl_1_bss_130[temp_r31->unk110].unk0 = temp_r31->unkB0; + espDispOff(temp_r31->unkB0); + espZRotSet(temp_r31->unkB0, (temp_r31->unk110 & 0x1) ? 0.0f : 180.0f); + temp_r31->unkB4 = espEntry(0x3C0031, 133, 0); + espDrawNoSet(temp_r31->unkB4, 0); + espDispOff(temp_r31->unkB4); + for(temp_r29=0; temp_r29<4; temp_r29++) { + temp_r31->unkB8[temp_r29] = espEntry(lbl_1_data_1290[GWPlayerCfg[temp_r29].character], (temp_r31->unk114 == temp_r29) ? 129 : 130, 0); + espDrawNoSet(temp_r31->unkB8[temp_r29], 0); + espDispOff(temp_r31->unkB8[temp_r29]); + temp_r31->unkC8[temp_r29][0] = espEntry(lbl_1_data_1310[temp_r29], 128, 0); + espDrawNoSet(temp_r31->unkC8[temp_r29][0], 0); + espDispOff(temp_r31->unkC8[temp_r29][0]); + temp_r31->unkC8[temp_r29][1] = espEntry(0x3C003C, 128, 0); + espDrawNoSet(temp_r31->unkC8[temp_r29][1], 0); + espDispOff(temp_r31->unkC8[temp_r29][1]); + } + if(GWPlayerCfg[temp_r31->unk114].iscom) { + switch(GWPlayerCfg[temp_r31->unk114].diff) { + case 0: + temp_r31->unk0 = &lbl_1_data_13A8; + break; + + case 1: + temp_r31->unk0 = &lbl_1_data_13B8; + break; + + case 2: + temp_r31->unk0 = &lbl_1_data_13C8; + break; + + case 3: + default: + temp_r31->unk0 = &lbl_1_data_13D8; + break; + } + temp_r31->unk80 = frandf()*temp_r31->unk0->unk4; + temp_r31->unk8C = temp_r31->unk0->unkC+((temp_r31->unk0->unkC/2.0f)*frandf()); + } + CharModelVoiceEnableSet(temp_r31->unk118, object->motion[4], 0); + fn_1_2950(temp_r31); + Hu3DModelAttrReset(object->model[0], 1); + CharModelLayerSetAll2(5); + CharModelMotionDataClose(lbl_1_data_0[temp_r31->unk118]); + object->func = fn_1_7D38; } -void fn_1_99EC(omObjData *object) { } +void fn_1_99EC(omObjData *object) +{ + +} void fn_1_99F0(omObjData *object) { - s32 temp_r30; - s32 *temp_r29; - temp_r29 = &lbl_1_data_12E0[object->work[0]][0]; - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - object->model[temp_r30] = Hu3DModelCreateFile(*temp_r29++); - Hu3DModelCameraSet(object->model[temp_r30], 15); - Hu3DModelAttrSet(object->model[temp_r30], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[temp_r30], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(object->model[temp_r30], HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(object->model[temp_r30], 3); - Hu3DModelShadowSet(object->model[temp_r30]); - } - for (temp_r30 = 0; temp_r30 < 1; temp_r29++, temp_r30++) { - object->motion[temp_r30] = Hu3DJointMotionFile(object->model[0], temp_r29[0]); - } - Hu3DMotionSet(object->model[0], object->motion[0]); - omSetTra(object, 0, 0, 0); - omSetRot(object, 0, 0, 0); - object->func = fn_1_99EC; + s32 temp_r30; + s32 *temp_r29; + temp_r29 = &lbl_1_data_12E0[object->work[0]][0]; + for(temp_r30=0; temp_r30<2; temp_r30++) { + object->model[temp_r30] = Hu3DModelCreateFile(*temp_r29++); + Hu3DModelCameraSet(object->model[temp_r30], 15); + Hu3DModelAttrSet(object->model[temp_r30], 1); + Hu3DModelAttrSet(object->model[temp_r30], 0x40000002); + Hu3DModelAttrReset(object->model[temp_r30], 0x40000001); + Hu3DModelLayerSet(object->model[temp_r30], 3); + Hu3DModelShadowSet(object->model[temp_r30]); + } + for(temp_r30=0; temp_r30<1; temp_r29++, temp_r30++) { + object->motion[temp_r30] = Hu3DJointMotionFile(object->model[0], temp_r29[0]); + } + Hu3DMotionSet(object->model[0], object->motion[0]); + omSetTra(object, 0, 0, 0); + omSetRot(object, 0, 0, 0); + object->func = fn_1_99EC; } void fn_1_9BAC(omObjData *object) { - float temp_f31; - float temp_f30; - - Vec *temp_r31; - Work8F68 *temp_r29; - s32 temp_r27; - temp_r31 = object->data; - temp_r31[1].x += (frandf() * 12.0f) + 12.0f; - temp_r27 = lbl_1_bss_28; - if (object->work[0] & 0x1) { - temp_r27 ^= 0x1; - } - temp_r29 = fn_1_4DF0(temp_r27); - temp_r31[1].y++; - if (90.0f < temp_r31[1].y) { - temp_r31[1].y = 90.0f; - } - temp_f31 = temp_r31[1].y / 90.0f; - temp_f30 = sind(90.0f * temp_f31) * sind(90.0f * temp_f31); + float temp_f31; + float temp_f30; + + Vec *temp_r31; + Work8F68 *temp_r29; + s32 temp_r27; + temp_r31 = object->data; + temp_r31[1].x += (frandf()*12.0f)+12.0f; + temp_r27 = lbl_1_bss_28; + if(object->work[0] & 0x1) { + temp_r27 ^= 0x1; + } + temp_r29 = fn_1_4DF0(temp_r27); + temp_r31[1].y++; + if(90.0f < temp_r31[1].y) { + temp_r31[1].y = 90.0f; + } + temp_f31 = temp_r31[1].y/90.0f; + temp_f30 = sind(90.0f * temp_f31) * sind(90.0f * temp_f31); temp_r31[0].x = lbl_1_bss_F8->x + temp_f30 * (temp_r29->unk4.x - lbl_1_bss_F8->x) * 1.5f; temp_r31[0].z = lbl_1_bss_F8->z + temp_f30 * (temp_r29->unk4.z - lbl_1_bss_F8->z) * 1.5f; - temp_r31[0].y += temp_r31[1].z; - temp_r31[1].z -= 0.4f; - omSetTra(object, temp_r31[0].x, temp_r31[0].y, temp_r31[0].z); - omSetRot(object, 0, temp_r31[1].x, 0); - if (0.0f > temp_r31[1].z && 180.0f > temp_r31[0].y) { - lbl_1_bss_20++; - HuAudFXPlay(7); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - CharModelCoinEffectCreate(lbl_1_data_FEC[lbl_1_bss_28], temp_r31); - omDelObjEx(lbl_1_bss_33C, object); - } + temp_r31[0].y += temp_r31[1].z; + temp_r31[1].z -= 0.4f; + omSetTra(object, temp_r31[0].x, temp_r31[0].y, temp_r31[0].z); + omSetRot(object, 0, temp_r31[1].x, 0); + if(0.0f > temp_r31[1].z && 180.0f > temp_r31[0].y) { + lbl_1_bss_20++; + HuAudFXPlay(7); + Hu3DModelAttrSet(object->model[0], 1); + CharModelCoinEffectCreate(lbl_1_data_FEC[lbl_1_bss_28], temp_r31); + omDelObjEx(lbl_1_bss_33C, object); + } } void fn_1_9EEC(omObjData *object) { - Vec *temp_r30; - temp_r30 = object->data; - object->model[0] = Hu3DModelLink(lbl_1_bss_1A); - Hu3DModelCameraSet(object->model[0], lbl_1_data_FEC[lbl_1_bss_28]); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(object->model[0], 4); - Hu3DModelShadowSet(object->model[0]); - temp_r30[0] = lbl_1_bss_F8[0]; - temp_r30[0].y += 20; - temp_r30[1].x = 0; - temp_r30[1].y = 0; - temp_r30[1].z = (4 * frandf()) + 10; - omSetTra(object, temp_r30[0].x, temp_r30[0].y, temp_r30[0].z); - omSetRot(object, 0, temp_r30[1].x, 0); - omSetSca(object, 0.4f, 0.4f, 0.4f); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - object->func = fn_1_9BAC; + Vec *temp_r30; + temp_r30 = object->data; + object->model[0] = Hu3DModelLink(lbl_1_bss_1A); + Hu3DModelCameraSet(object->model[0], lbl_1_data_FEC[lbl_1_bss_28]); + Hu3DModelAttrSet(object->model[0], 1); + Hu3DModelAttrSet(object->model[0], 0x40000002); + Hu3DModelLayerSet(object->model[0], 4); + Hu3DModelShadowSet(object->model[0]); + temp_r30[0] = lbl_1_bss_F8[0]; + temp_r30[0].y += 20; + temp_r30[1].x = 0; + temp_r30[1].y = 0; + temp_r30[1].z = (4*frandf())+10; + omSetTra(object, temp_r30[0].x, temp_r30[0].y , temp_r30[0].z); + omSetRot(object, 0, temp_r30[1].x, 0); + omSetSca(object, 0.4f, 0.4f, 0.4f); + Hu3DModelAttrReset(object->model[0], 1); + object->func = fn_1_9BAC; } void fn_1_A0A8(s32 arg0) { - omObjData *object; - object = omAddObjEx(lbl_1_bss_33C, 103, 1, 0, 3, fn_1_9EEC); - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Vec) * 2, MEMORY_DEFAULT_NUM); - object->work[0] = arg0; + omObjData *object; + object = omAddObjEx(lbl_1_bss_33C, 103, 1, 0, 3, fn_1_9EEC); + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Vec)*2, MEMORY_DEFAULT_NUM); + object->work[0] = arg0; } void fn_1_A118(void) { - s32 temp_r31; - float temp_f31; - float temp_f30; - Vec sp8; - temp_f30 = sind(15.0f) / cosd(15.0f); - temp_f31 = 0.5f; - sp8.z = (1.0f - temp_f31) * (lbl_1_bss_190->unk18 * temp_f30); - sp8.x = 1.2f * sp8.z; - sp8.y = lbl_1_bss_190->unk18 * temp_f31; - Hu3DCameraCreate(15); - Hu3DCameraPerspectiveSet(15, 30, 10, 20000, 1.2f); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - fn_1_7098(temp_r31, &lbl_1_data_FFC[temp_r31][0]); - lbl_1_bss_C8[temp_r31].x = sp8.x * lbl_1_data_10FC[temp_r31][0]; - lbl_1_bss_C8[temp_r31].y = sp8.y; - lbl_1_bss_C8[temp_r31].z = sp8.z * lbl_1_data_10FC[temp_r31][1]; - lbl_1_bss_68[temp_r31].x = lbl_1_bss_C8[temp_r31].x; - lbl_1_bss_68[temp_r31].y = 0; - lbl_1_bss_68[temp_r31].z = lbl_1_bss_C8[temp_r31].z; - Hu3DCameraPosSetV(lbl_1_data_FEC[temp_r31], &lbl_1_bss_C8[temp_r31], &lbl_1_data_FD4, &lbl_1_bss_68[temp_r31]); - } + s32 temp_r31; + float temp_f31; + float temp_f30; + Vec sp8; + temp_f30 = sind(15.0f)/cosd(15.0f); + temp_f31 = 0.5f; + sp8.z = (1.0f-temp_f31)*(lbl_1_bss_190->unk18*temp_f30); + sp8.x = 1.2f*sp8.z; + sp8.y = lbl_1_bss_190->unk18*temp_f31; + Hu3DCameraCreate(15); + Hu3DCameraPerspectiveSet(15, 30, 10, 20000, 1.2f); + for(temp_r31=0; temp_r31<4; temp_r31++) { + fn_1_7098(temp_r31, &lbl_1_data_FFC[temp_r31][0]); + lbl_1_bss_C8[temp_r31].x = sp8.x*lbl_1_data_10FC[temp_r31][0]; + lbl_1_bss_C8[temp_r31].y = sp8.y; + lbl_1_bss_C8[temp_r31].z = sp8.z*lbl_1_data_10FC[temp_r31][1]; + lbl_1_bss_68[temp_r31].x = lbl_1_bss_C8[temp_r31].x; + lbl_1_bss_68[temp_r31].y = 0; + lbl_1_bss_68[temp_r31].z = lbl_1_bss_C8[temp_r31].z; + Hu3DCameraPosSetV(lbl_1_data_FEC[temp_r31], &lbl_1_bss_C8[temp_r31], &lbl_1_data_FD4, &lbl_1_bss_68[temp_r31]); + } } void fn_1_A588(s32 arg0, Vec *arg1, float arg2) { - Vec sp18; - Vec spC; - sp18.x = lbl_1_bss_C8[arg0].x + (arg2 * (lbl_1_bss_98[arg0].x - lbl_1_bss_C8[arg0].x)); - sp18.y = lbl_1_bss_C8[arg0].y + (arg2 * (lbl_1_bss_98[arg0].y - lbl_1_bss_C8[arg0].y)); - sp18.z = lbl_1_bss_C8[arg0].z + (arg2 * (lbl_1_bss_98[arg0].z - lbl_1_bss_C8[arg0].z)); - spC.x = lbl_1_bss_68[arg0].x + (arg2 * (lbl_1_bss_38[arg0].x - lbl_1_bss_68[arg0].x)); - spC.y = lbl_1_bss_68[arg0].y + (arg2 * (lbl_1_bss_38[arg0].y - lbl_1_bss_68[arg0].y)); - spC.z = lbl_1_bss_68[arg0].z + (arg2 * (lbl_1_bss_38[arg0].z - lbl_1_bss_68[arg0].z)); - Hu3DCameraPosSetV(lbl_1_data_FEC[arg0], &sp18, arg1, &spC); + Vec sp18; + Vec spC; + sp18.x = lbl_1_bss_C8[arg0].x+(arg2*(lbl_1_bss_98[arg0].x-lbl_1_bss_C8[arg0].x)); + sp18.y = lbl_1_bss_C8[arg0].y+(arg2*(lbl_1_bss_98[arg0].y-lbl_1_bss_C8[arg0].y)); + sp18.z = lbl_1_bss_C8[arg0].z+(arg2*(lbl_1_bss_98[arg0].z-lbl_1_bss_C8[arg0].z)); + spC.x = lbl_1_bss_68[arg0].x+(arg2*(lbl_1_bss_38[arg0].x-lbl_1_bss_68[arg0].x)); + spC.y = lbl_1_bss_68[arg0].y+(arg2*(lbl_1_bss_38[arg0].y-lbl_1_bss_68[arg0].y)); + spC.z = lbl_1_bss_68[arg0].z+(arg2*(lbl_1_bss_38[arg0].z-lbl_1_bss_68[arg0].z)); + Hu3DCameraPosSetV(lbl_1_data_FEC[arg0], &sp18, arg1, &spC); } void fn_1_A7B4(void) { - s32 temp_r31; - float *temp_r30; - float *temp_r29; - float temp_f31; - float temp_f30; - - float sp20[4]; - lbl_1_bss_12C++; - temp_f30 = lbl_1_bss_12C / 120; - temp_f31 = sind(90 * temp_f30) * sind(90 * temp_f30); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - fn_1_A588(temp_r31, &lbl_1_data_FD4, temp_f31); - } - if (30.0f < lbl_1_bss_12C) { - temp_f30 = (lbl_1_bss_12C - 30.0f) / 60.0f; - if (1.0f < temp_f30) { - temp_f30 = 1; - } - temp_f31 = sind(90 * temp_f30) * sind(90 * temp_f30); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r30 = &lbl_1_data_FFC[temp_r31][0]; - temp_r29 = &lbl_1_data_103C[temp_r31][0]; - sp20[0] = temp_r30[0] + (temp_f31 * (temp_r29[0] - temp_r30[0])); - sp20[1] = temp_r30[1] + (temp_f31 * (temp_r29[1] - temp_r30[1])); - sp20[2] = temp_r30[2] + (temp_f31 * (temp_r29[2] - temp_r30[2])); - sp20[3] = temp_r30[3] + (temp_f31 * (temp_r29[3] - temp_r30[3])); - fn_1_7098(temp_r31, sp20); - } - } + s32 temp_r31; + float *temp_r30; + float *temp_r29; + float temp_f31; + float temp_f30; + + + float sp20[4]; + lbl_1_bss_12C++; + temp_f30 = lbl_1_bss_12C/120; + temp_f31 = sind(90*temp_f30)*sind(90*temp_f30); + for(temp_r31=0; temp_r31<4; temp_r31++) { + fn_1_A588(temp_r31, &lbl_1_data_FD4, temp_f31); + } + if(30.0f < lbl_1_bss_12C) { + temp_f30 = (lbl_1_bss_12C-30.0f)/60.0f; + if(1.0f < temp_f30) { + temp_f30 = 1; + } + temp_f31 = sind(90*temp_f30)*sind(90*temp_f30); + for(temp_r31=0; temp_r31<4; temp_r31++) { + temp_r30 = &lbl_1_data_FFC[temp_r31][0]; + temp_r29 = &lbl_1_data_103C[temp_r31][0]; + sp20[0] = temp_r30[0]+(temp_f31*(temp_r29[0]-temp_r30[0])); + sp20[1] = temp_r30[1]+(temp_f31*(temp_r29[1]-temp_r30[1])); + sp20[2] = temp_r30[2]+(temp_f31*(temp_r29[2]-temp_r30[2])); + sp20[3] = temp_r30[3]+(temp_f31*(temp_r29[3]-temp_r30[3])); + fn_1_7098(temp_r31, sp20); + } + } } void fn_1_AD74(float *arg0) { - float sp8[4]; - float *temp_r31; - s32 temp_r28; - float temp_f31; - float temp_f30; - - temp_r31 = &lbl_1_data_103C[0][0]; - temp_f30 = lbl_1_bss_12C / REFRESH_RATE; - temp_f31 = sind(90 * temp_f30) * sind(90 * temp_f30); - for (temp_r28 = 0; temp_r28 < 4; temp_r28++, temp_r31 += 4, arg0 += 4) { - sp8[0] = temp_r31[0] + (temp_f31 * (arg0[0] - temp_r31[0])); - sp8[1] = temp_r31[1] + (temp_f31 * (arg0[1] - temp_r31[1])); - sp8[2] = temp_r31[2] + (temp_f31 * (arg0[2] - temp_r31[2])); - sp8[3] = temp_r31[3] + (temp_f31 * (arg0[3] - temp_r31[3])); - fn_1_7098(temp_r28, sp8); - } + float sp8[4]; + float *temp_r31; + s32 temp_r28; + float temp_f31; + float temp_f30; + + temp_r31 = &lbl_1_data_103C[0][0]; + temp_f30 = lbl_1_bss_12C/60; + temp_f31 = sind(90*temp_f30)*sind(90*temp_f30); + for(temp_r28=0; temp_r28<4; temp_r28++, temp_r31 += 4, arg0 += 4) { + sp8[0] = temp_r31[0]+(temp_f31*(arg0[0]-temp_r31[0])); + sp8[1] = temp_r31[1]+(temp_f31*(arg0[1]-temp_r31[1])); + sp8[2] = temp_r31[2]+(temp_f31*(arg0[2]-temp_r31[2])); + sp8[3] = temp_r31[3]+(temp_f31*(arg0[3]-temp_r31[3])); + fn_1_7098(temp_r28, sp8); + + } } void fn_1_B01C(void) { - float temp_f31; - float temp_f30; - float temp_f29; - - Work8F68 *temp_r31; - Work8F68 *temp_r30; - temp_r31 = fn_1_4DF0(lbl_1_bss_28); - temp_r30 = fn_1_4DF0(lbl_1_bss_28 ^ 1); - temp_f31 = temp_r31->unk4.x - temp_r30->unk4.x; - temp_f30 = temp_r31->unk4.z - temp_r30->unk4.z; - lbl_1_bss_110 = atan2d(temp_f31, temp_f30) + 90; - if (90.0f < lbl_1_bss_110) { - lbl_1_bss_110 -= 180.0f; - } - - lbl_1_bss_38[lbl_1_bss_28].x = lbl_1_bss_68[lbl_1_bss_28].x - (temp_f31 / 2); - lbl_1_bss_38[lbl_1_bss_28].y = lbl_1_bss_68[lbl_1_bss_28].y + 200; - lbl_1_bss_38[lbl_1_bss_28].z = lbl_1_bss_68[lbl_1_bss_28].z - (temp_f30 / 2); - temp_f29 = 1350; - lbl_1_bss_98[lbl_1_bss_28].x = lbl_1_bss_38[lbl_1_bss_28].x + (temp_f29 * sind(lbl_1_bss_110)); - lbl_1_bss_98[lbl_1_bss_28].y = 250 + lbl_1_bss_38[lbl_1_bss_28].y; - lbl_1_bss_98[lbl_1_bss_28].z = lbl_1_bss_38[lbl_1_bss_28].z + (temp_f29 * cosd(lbl_1_bss_110)); - lbl_1_bss_F8[0] = lbl_1_bss_38[lbl_1_bss_28]; - lbl_1_bss_F8[1] = lbl_1_bss_38[lbl_1_bss_28]; - lbl_1_bss_F8[1].x += 50 * sind(lbl_1_bss_110); - lbl_1_bss_F8[1].y += 15; - lbl_1_bss_F8[1].z += 50 * cosd(lbl_1_bss_110); - temp_f31 = lbl_1_bss_F8[0].x - temp_r31->unk4.x; - temp_f30 = lbl_1_bss_F8[0].z - temp_r31->unk4.z; - temp_r31->unk60 = atan2d(temp_f31, temp_f30); - temp_f31 = lbl_1_bss_F8[0].x - temp_r30->unk4.x; - temp_f30 = lbl_1_bss_F8[0].z - temp_r30->unk4.z; - temp_r30->unk60 = atan2d(temp_f31, temp_f30); - temp_f31 = lbl_1_bss_98[lbl_1_bss_28].x - temp_r31->unk4.x; - temp_f30 = lbl_1_bss_98[lbl_1_bss_28].z - temp_r31->unk4.z; - temp_r31->unk64 = atan2d(temp_f31, temp_f30); - temp_f31 = lbl_1_bss_98[lbl_1_bss_28].x - temp_r30->unk4.x; - temp_f30 = lbl_1_bss_98[lbl_1_bss_28].z - temp_r30->unk4.z; - temp_r30->unk64 = atan2d(temp_f31, temp_f30); - omVibrate(temp_r31->unk114, (VERSION_JP ? 3 : 2) * REFRESH_RATE, 6, 6); - omVibrate(temp_r30->unk114, (VERSION_JP ? 3 : 2) * REFRESH_RATE, 6, 6); + float temp_f31; + float temp_f30; + float temp_f29; + + Work8F68 *temp_r31; + Work8F68 *temp_r30; + temp_r31 = fn_1_4DF0(lbl_1_bss_28); + temp_r30 = fn_1_4DF0(lbl_1_bss_28^1); + temp_f31 = temp_r31->unk4.x-temp_r30->unk4.x; + temp_f30 = temp_r31->unk4.z-temp_r30->unk4.z; + lbl_1_bss_110 = atan2d(temp_f31, temp_f30)+90; + if(90.0f < lbl_1_bss_110) { + lbl_1_bss_110 -= 180.0f; + } + + lbl_1_bss_38[lbl_1_bss_28].x = lbl_1_bss_68[lbl_1_bss_28].x-(temp_f31/2); + lbl_1_bss_38[lbl_1_bss_28].y = lbl_1_bss_68[lbl_1_bss_28].y+200; + lbl_1_bss_38[lbl_1_bss_28].z = lbl_1_bss_68[lbl_1_bss_28].z-(temp_f30/2); + temp_f29 = 1350; + lbl_1_bss_98[lbl_1_bss_28].x = lbl_1_bss_38[lbl_1_bss_28].x+(temp_f29*sind(lbl_1_bss_110)); + lbl_1_bss_98[lbl_1_bss_28].y = 250+lbl_1_bss_38[lbl_1_bss_28].y; + lbl_1_bss_98[lbl_1_bss_28].z = lbl_1_bss_38[lbl_1_bss_28].z+(temp_f29*cosd(lbl_1_bss_110)); + lbl_1_bss_F8[0] = lbl_1_bss_38[lbl_1_bss_28]; + lbl_1_bss_F8[1] = lbl_1_bss_38[lbl_1_bss_28]; + lbl_1_bss_F8[1].x += 50*sind(lbl_1_bss_110); + lbl_1_bss_F8[1].y += 15; + lbl_1_bss_F8[1].z += 50*cosd(lbl_1_bss_110); + temp_f31 = lbl_1_bss_F8[0].x-temp_r31->unk4.x; + temp_f30 = lbl_1_bss_F8[0].z-temp_r31->unk4.z; + temp_r31->unk60 = atan2d(temp_f31, temp_f30); + temp_f31 = lbl_1_bss_F8[0].x-temp_r30->unk4.x; + temp_f30 = lbl_1_bss_F8[0].z-temp_r30->unk4.z; + temp_r30->unk60 = atan2d(temp_f31, temp_f30); + temp_f31 = lbl_1_bss_98[lbl_1_bss_28].x-temp_r31->unk4.x; + temp_f30 = lbl_1_bss_98[lbl_1_bss_28].z-temp_r31->unk4.z; + temp_r31->unk64 = atan2d(temp_f31, temp_f30); + temp_f31 = lbl_1_bss_98[lbl_1_bss_28].x-temp_r30->unk4.x; + temp_f30 = lbl_1_bss_98[lbl_1_bss_28].z-temp_r30->unk4.z; + temp_r30->unk64 = atan2d(temp_f31, temp_f30); + omVibrate(temp_r31->unk114, 120, 6, 6); + omVibrate(temp_r30->unk114, 120, 6, 6); } void fn_1_B754(float *arg0, float arg1, float arg2, s32 arg3) { - float temp_f31; - float temp_f30; - temp_f30 = (arg0[2] / 2) * (arg1 / lbl_1_bss_128); - temp_f31 = (arg0[3] / 2) * (arg2 / lbl_1_bss_124); - temp_f30 += arg0[0] + (arg0[2] / 2); - temp_f31 += arg0[1] + (arg0[3] / 2); - temp_f30 = 576.0f * (temp_f30 / 640.0f); - temp_f31 = 480.0f * (temp_f31 / 480.0f); - temp_f31 += (240.0f <= arg0[1]) ? -16.0f : 16.0f; - espPosSet(arg3, temp_f30, temp_f31); + float temp_f31; + float temp_f30; + temp_f30 = (arg0[2]/2)*(arg1/lbl_1_bss_128); + temp_f31 = (arg0[3]/2)*(arg2/lbl_1_bss_124); + temp_f30 += arg0[0]+(arg0[2]/2); + temp_f31 += arg0[1]+(arg0[3]/2); + temp_f30 = 576.0f*(temp_f30/640.0f); + temp_f31 = 480.0f*(temp_f31/480.0f); + temp_f31 += (240.0f <= arg0[1]) ? -16.0f : 16.0f; + espPosSet(arg3, temp_f30, temp_f31); } void fn_1_E96C(omObjData *object); void fn_1_B8E0(omObjData *object) { - float temp_f31; - float temp_f30; - float temp_f20; - float temp_f19; - - float *temp_r31; - s32 temp_r29; - Work8F68 *temp_r28; - Bss130Struct *temp_r27; - s32 temp_r24; - Work3284 *temp_r23; - Work8F68 *temp_r20; - - s32 sp74; - Work8F68 *sp68; - Work8F68 *sp5C; - if (omSysExitReq) { - fn_1_1F58(-1); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_E96C; - } - lbl_1_bss_114 += 1.0f / REFRESH_RATE; - if (360.0f <= lbl_1_bss_114) { - lbl_1_bss_114 -= 360.0f; - } - Hu3DModelRotSet(object->model[2], 0, lbl_1_bss_114, 0); - lbl_1_bss_308++; - switch (object->work[0]) { - - case 1000: - if (!WipeStatGet()) { - object->work[0]++; - lbl_1_bss_12C = 0; - HuAudFXPlay(1644); - } - break; - - case 1001: - lbl_1_bss_12C++; - if (60.0f <= lbl_1_bss_12C) { - object->work[0]++; - lbl_1_bss_12C = 0; - } - break; - - case 1002: - lbl_1_bss_12C++; - temp_f30 = lbl_1_bss_12C / REFRESH_RATE; - temp_f31 = 1 - (sind(temp_f30 * 90.0f) * sind(temp_f30 * 90.0f)); - for (temp_r29 = 0; temp_r29 < 5; temp_r29++) { - espTPLvlSet(lbl_1_bss_10[temp_r29], temp_f31); - } - if (REFRESH_RATE <= lbl_1_bss_12C) { - object->work[0]++; - lbl_1_bss_12C = 0; - for (temp_r29 = 0; temp_r29 < 5; temp_r29++) { - espKill(lbl_1_bss_10[temp_r29]); - } - } - break; - - case 1003: - lbl_1_bss_12C++; - temp_f30 = lbl_1_bss_12C / REFRESH_RATE; - temp_f31 = sind(temp_f30 * 90.0f) * sind(temp_f30 * 90.0f); - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - lbl_1_bss_130[temp_r29].unk4 = temp_f31; - } - if (REFRESH_RATE <= lbl_1_bss_12C) { - object->work[0]++; - lbl_1_bss_12C = 0; - lbl_1_bss_4 = HuAudFXPlay(1645); - lbl_1_bss_0 = HuAudFXPlay(1646); - } - break; - - case 1004: - fn_1_A7B4(); - if (120.0f <= lbl_1_bss_12C) { - object->work[0]++; - HuAudFXStop(lbl_1_bss_4); - } - break; - - case 1005: - if (lbl_1_bss_2FE < 0) { - lbl_1_bss_2FE = MGSeqStartCreate(); - } - else { - if (lbl_1_bss_2F8 < 0 && (MGSeqStatGet(lbl_1_bss_2FE) & 0x10)) { - fn_1_1F24(71); - } - if (!MGSeqStatGet(lbl_1_bss_2FE)) { - object->work[0]++; - lbl_1_bss_304 = 60 * REFRESH_RATE; - lbl_1_bss_2FC = MGSeqTimerCreate(lbl_1_bss_304 / REFRESH_RATE); - lbl_1_bss_2FE = -1; - } - } - break; - - case 1006: - MGSeqParamSet(lbl_1_bss_2FC, 1, (lbl_1_bss_304 + REFRESH_RATE - 1) / REFRESH_RATE); - lbl_1_bss_304--; - if (lbl_1_bss_304 < 0 || lbl_1_bss_28 >= 0) { - object->work[0] = 1007; - lbl_1_bss_304 = 60 * REFRESH_RATE; - lbl_1_bss_12C = 0; - } - break; - - case 1007: - if (lbl_1_bss_2FE < 0) { - MGSeqParamSet(lbl_1_bss_2FC, 2, -1); - lbl_1_bss_2FC = -1; - lbl_1_bss_2FE = MGSeqFinishCreate(); - fn_1_1F58(100); - lbl_1_bss_12C = 0; - if (lbl_1_bss_28 >= 0) { - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(object->model[3], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(object->model[3], HU3D_ATTR_DISPOFF); - } - } - else { - sp74 = 0; - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - if (((Work8F68 *)lbl_1_bss_1A4[temp_r29]->data)->unk9C >= 2003) { - sp74++; - } - } - if (sp74 == 4) { - lbl_1_bss_12C++; - } - if (lbl_1_bss_28 >= 0 && 60.0f == lbl_1_bss_12C) { - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[4], HU3D_MOTATTR_PAUSE); - } - if (60.0f < lbl_1_bss_12C && !MGSeqStatGet(lbl_1_bss_2FE)) { - lbl_1_bss_2FE = -1; - lbl_1_bss_12C = 0; - if (lbl_1_bss_28 < 0) { - object->work[0] = 1012; - lbl_1_bss_12C = 0; - lbl_1_bss_2FE = MGSeqDrawCreate(); - HuAudSStreamPlay(4); - } - else { - object->work[0] = 1008; - fn_1_B01C(); - } - } - } - break; - - case 1008: - lbl_1_bss_12C++; - if (REFRESH_RATE < lbl_1_bss_12C) { - object->work[0]++; - lbl_1_bss_12C = 0; - HuAudFXPlay(1650); - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - if (lbl_1_bss_28 != temp_r29) { - Hu3DCameraKill(lbl_1_data_FEC[temp_r29]); - } - } - } - else { - fn_1_AD74(((lbl_1_bss_28 & 0x2) == 0) ? &lbl_1_data_107C[0][0] : &lbl_1_data_10BC[0][0]); - temp_f30 = lbl_1_bss_12C / REFRESH_RATE; - temp_f31 = sind(temp_f30 * 90.0f) * sind(temp_f30 * 90.0f); - fn_1_A588(lbl_1_bss_28, &lbl_1_data_FE0, temp_f31); - } - break; - - case 1009: - lbl_1_bss_12C++; - if (2 * REFRESH_RATE < lbl_1_bss_12C) { - object->work[0]++; - lbl_1_bss_12C = 0; - HuAudFXPlay(1651); - } - else { - temp_f30 = lbl_1_bss_12C / (2 * REFRESH_RATE); - temp_f31 = sind(temp_f30 * 90.0f) * sind(temp_f30 * 90.0f); - temp_f20 = (6.0f * frandf()) - 3.0f; - temp_f19 = (6.0f * frandf()) - 3.0f; - omSetTra(object, temp_f20, -90 * temp_f31, temp_f19); - Hu3DModelPosSet(object->model[3], temp_f20, -90 * temp_f31, temp_f19); - Hu3DModelPosSet(object->model[4], temp_f20, -90 * temp_f31, temp_f19); - } - break; - - case 1010: - if (lbl_1_bss_1C >= 2) { - object->work[0]++; - lbl_1_bss_12C = 0; - } - break; - - case 1011: - if (lbl_1_bss_20 > 0 && lbl_1_bss_2FE < 0) { - lbl_1_bss_2FE = MGSeqWinCreate(fn_1_4DF0(lbl_1_bss_28)->unk118, fn_1_4DF0(lbl_1_bss_28 + 1)->unk118, -1, -1); - HuAudSStreamPlay(1); - } - if (lbl_1_bss_24 < 20) { - if ((lbl_1_bss_308 % 6) == 0) { - lbl_1_bss_24++; - fn_1_A0A8(lbl_1_bss_24); - } - } - else { - if (lbl_1_bss_24 == lbl_1_bss_20) { - lbl_1_bss_12C++; - if (60.0f < lbl_1_bss_12C) { - object->work[0] = 1012; - lbl_1_bss_12C = 0; - } - } - } - break; - - case 1012: - lbl_1_bss_12C++; - if (210.0f < lbl_1_bss_12C) { - if (lbl_1_bss_2FE < 0 || !MGSeqStatGet(lbl_1_bss_2FE)) { - fn_1_1F58(-1); - lbl_1_bss_2FE = -1; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_E96C; - } - } - break; - - default: - OSReport("*** main mode error(%d)!!\n", object->work[0]); - break; - } - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - temp_r27 = &lbl_1_bss_130[temp_r29]; - if (temp_r27->unk0 >= 0) { - espPosSet(temp_r27->unk0, temp_r27->unk8, temp_r27->unkC); - espScaleSet(temp_r27->unk0, temp_r27->unk10, temp_r27->unk14); - espTPLvlSet(temp_r27->unk0, temp_r27->unk4); - espDispOn(temp_r27->unk0); - } - } - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - temp_r28 = lbl_1_bss_1A4[temp_r29]->data; - temp_r31 = &lbl_1_data_103C[temp_r28->unk110][0]; - if ((temp_r28->unkE8 & 0x1) == 0) { - continue; - } - fn_1_B754(temp_r31, 0, 0, temp_r28->unkB4); - for (temp_r24 = 0; temp_r24 < 4; temp_r24++) { - temp_r20 = lbl_1_bss_1A4[temp_r24]->data; - fn_1_B754(temp_r31, temp_r20->unk4.x, temp_r20->unk4.z, temp_r28->unkB8[temp_r24]); - temp_r23 = lbl_1_bss_19C[temp_r24]->data; - fn_1_B754(temp_r31, temp_r23->unk0.x, temp_r23->unk0.z, temp_r28->unkC8[temp_r24][0]); - fn_1_B754(temp_r31, temp_r23->unk0.x, temp_r23->unk0.z, temp_r28->unkC8[temp_r24][1]); - if (temp_r23->unk18 & 0x1) { - espDispOn(temp_r28->unkC8[temp_r24][1]); - espDispOff(temp_r28->unkC8[temp_r24][0]); - } - else { - espDispOn(temp_r28->unkC8[temp_r24][0]); - espDispOff(temp_r28->unkC8[temp_r24][1]); - } - } - } + float temp_f31; + float temp_f30; + float temp_f20; + float temp_f19; + + float *temp_r31; + s32 temp_r29; + Work8F68 *temp_r28; + Bss130Struct *temp_r27; + s32 temp_r24; + Work3284 *temp_r23; + Work8F68 *temp_r20; + + s32 sp74; + Work8F68 *sp68; + Work8F68 *sp5C; + if(omSysExitReq) { + fn_1_1F58(-1); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + object->func = fn_1_E96C; + } + lbl_1_bss_114 += 1.0f/60.0f; + if(360.0f <= lbl_1_bss_114) { + lbl_1_bss_114 -= 360.0f; + } + Hu3DModelRotSet(object->model[2], 0, lbl_1_bss_114, 0); + lbl_1_bss_308++; + switch(object->work[0]) { + + case 1000: + if(!WipeStatGet()) { + object->work[0]++; + lbl_1_bss_12C = 0; + HuAudFXPlay(1644); + } + break; + + case 1001: + lbl_1_bss_12C++; + if(60.0f <= lbl_1_bss_12C) { + object->work[0]++; + lbl_1_bss_12C = 0; + } + break; + + + case 1002: + lbl_1_bss_12C++; + temp_f30 = lbl_1_bss_12C/60; + temp_f31 = 1-(sind(temp_f30*90.0f)*sind(temp_f30*90.0f)); + for(temp_r29=0; temp_r29<5; temp_r29++) { + espTPLvlSet(lbl_1_bss_10[temp_r29], temp_f31); + } + if(60.0f <= lbl_1_bss_12C) { + object->work[0]++; + lbl_1_bss_12C = 0; + for(temp_r29=0; temp_r29<5; temp_r29++) { + espKill(lbl_1_bss_10[temp_r29]); + } + } + break; + + case 1003: + lbl_1_bss_12C++; + temp_f30 = lbl_1_bss_12C/60; + temp_f31 = sind(temp_f30*90.0f)*sind(temp_f30*90.0f); + for(temp_r29=0; temp_r29<4; temp_r29++) { + lbl_1_bss_130[temp_r29].unk4 = temp_f31; + } + if(60.0f <= lbl_1_bss_12C) { + object->work[0]++; + lbl_1_bss_12C = 0; + lbl_1_bss_4 = HuAudFXPlay(1645); + lbl_1_bss_0 = HuAudFXPlay(1646); + } + break; + + + case 1004: + fn_1_A7B4(); + if(120.0f <= lbl_1_bss_12C) { + object->work[0]++; + HuAudFXStop(lbl_1_bss_4); + } + break; + + + case 1005: + if(lbl_1_bss_2FE < 0) { + lbl_1_bss_2FE = MGSeqStartCreate(); + } else { + if(lbl_1_bss_2F8 < 0 && (MGSeqStatGet(lbl_1_bss_2FE) & 0x10)) { + fn_1_1F24(71); + } + if(!MGSeqStatGet(lbl_1_bss_2FE)) { + object->work[0]++; + lbl_1_bss_304 = 3600; + lbl_1_bss_2FC = MGSeqTimerCreate(lbl_1_bss_304/60); + lbl_1_bss_2FE = -1; + } + } + break; + + + case 1006: + MGSeqParamSet(lbl_1_bss_2FC, 1, (lbl_1_bss_304+59)/60); + lbl_1_bss_304--; + if(lbl_1_bss_304 < 0 || lbl_1_bss_28 >= 0) { + object->work[0] = 1007; + lbl_1_bss_304 = 3600; + lbl_1_bss_12C = 0; + } + break; + + + case 1007: + if(lbl_1_bss_2FE < 0) { + MGSeqParamSet(lbl_1_bss_2FC, 2, -1); + lbl_1_bss_2FC = -1; + lbl_1_bss_2FE = MGSeqFinishCreate(); + fn_1_1F58(100); + lbl_1_bss_12C = 0; + if(lbl_1_bss_28 >= 0) { + Hu3DModelAttrReset(object->model[0], 0x40000002); + Hu3DModelAttrReset(object->model[3], 0x40000002); + Hu3DModelAttrReset(object->model[3], 1); + } + } else { + sp74 = 0; + for(temp_r29=0; temp_r29<4; temp_r29++) { + if(((Work8F68 *)lbl_1_bss_1A4[temp_r29]->data)->unk9C >= 2003) { + sp74++; + } + } + if(sp74 == 4) { + lbl_1_bss_12C++; + } + if(lbl_1_bss_28 >= 0 && 60.0f == lbl_1_bss_12C) { + Hu3DModelAttrSet(object->model[3], 1); + Hu3DModelAttrReset(object->model[4], 1); + Hu3DModelAttrReset(object->model[4], 0x40000002); + } + if(60.0f < lbl_1_bss_12C && !MGSeqStatGet(lbl_1_bss_2FE)) { + lbl_1_bss_2FE =-1; + lbl_1_bss_12C = 0; + if(lbl_1_bss_28 < 0) { + object->work[0] = 1012; + lbl_1_bss_12C = 0; + lbl_1_bss_2FE = MGSeqDrawCreate(); + HuAudSStreamPlay(4); + } else { + object->work[0] = 1008; + fn_1_B01C(); + } + } + } + break; + + + case 1008: + lbl_1_bss_12C++; + if(60.0f < lbl_1_bss_12C) { + object->work[0]++; + lbl_1_bss_12C = 0; + HuAudFXPlay(1650); + for(temp_r29=0; temp_r29<4; temp_r29++) { + if(lbl_1_bss_28 != temp_r29) { + Hu3DCameraKill(lbl_1_data_FEC[temp_r29]); + } + } + } else { + fn_1_AD74(((lbl_1_bss_28 & 0x2) == 0) ? &lbl_1_data_107C[0][0] : &lbl_1_data_10BC[0][0]); + temp_f30 = lbl_1_bss_12C/60.0f; + temp_f31 = sind(temp_f30*90.0f)*sind(temp_f30*90.0f); + fn_1_A588(lbl_1_bss_28, &lbl_1_data_FE0, temp_f31); + + } + break; + + + case 1009: + lbl_1_bss_12C++; + if(120.0f < lbl_1_bss_12C) { + object->work[0]++; + lbl_1_bss_12C = 0; + HuAudFXPlay(1651); + } else { + temp_f30 = lbl_1_bss_12C/120.0f; + temp_f31 = sind(temp_f30*90.0f)*sind(temp_f30*90.0f); + temp_f20 = (6.0f*frandf())-3.0f; + temp_f19 = (6.0f*frandf())-3.0f; + omSetTra(object, temp_f20, -90*temp_f31, temp_f19); + Hu3DModelPosSet(object->model[3], temp_f20, -90*temp_f31, temp_f19); + Hu3DModelPosSet(object->model[4], temp_f20, -90*temp_f31, temp_f19); + } + break; + + + case 1010: + if(lbl_1_bss_1C >= 2) { + object->work[0]++; + lbl_1_bss_12C = 0; + } + break; + + + case 1011: + if(lbl_1_bss_20 > 0 && lbl_1_bss_2FE < 0) { + lbl_1_bss_2FE = MGSeqWinCreate(fn_1_4DF0(lbl_1_bss_28)->unk118, fn_1_4DF0(lbl_1_bss_28+1)->unk118, -1, -1); + HuAudSStreamPlay(1); + } + if(lbl_1_bss_24 < 20) { + if((lbl_1_bss_308 % 6) == 0) { + lbl_1_bss_24++; + fn_1_A0A8(lbl_1_bss_24); + } + } else { + if(lbl_1_bss_24 == lbl_1_bss_20) { + lbl_1_bss_12C++; + if(60.0f < lbl_1_bss_12C) { + object->work[0] = 1012; + lbl_1_bss_12C = 0; + } + } + } + break; + + + case 1012: + lbl_1_bss_12C++; + if(210.0f < lbl_1_bss_12C) { + if(lbl_1_bss_2FE < 0 || !MGSeqStatGet(lbl_1_bss_2FE)) { + fn_1_1F58(-1); + lbl_1_bss_2FE = -1; + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + object->func = fn_1_E96C; + } + } + break; + + default: + OSReport("*** main mode error(%d)!!\n", object->work[0]); + break; + } + for(temp_r29=0; temp_r29<4; temp_r29++) { + temp_r27 = &lbl_1_bss_130[temp_r29]; + if(temp_r27->unk0 >= 0) { + espPosSet(temp_r27->unk0, temp_r27->unk8, temp_r27->unkC); + espScaleSet(temp_r27->unk0, temp_r27->unk10, temp_r27->unk14); + espTPLvlSet(temp_r27->unk0, temp_r27->unk4); + espDispOn(temp_r27->unk0); + } + } + for(temp_r29=0; temp_r29<4; temp_r29++) { + temp_r28 = lbl_1_bss_1A4[temp_r29]->data; + temp_r31 = &lbl_1_data_103C[temp_r28->unk110][0]; + if((temp_r28->unkE8 & 0x1) == 0) { + continue; + } + fn_1_B754(temp_r31, 0, 0, temp_r28->unkB4); + for(temp_r24=0; temp_r24<4; temp_r24++) { + temp_r20 = lbl_1_bss_1A4[temp_r24]->data; + fn_1_B754(temp_r31, temp_r20->unk4.x, temp_r20->unk4.z, temp_r28->unkB8[temp_r24]); + temp_r23 = lbl_1_bss_19C[temp_r24]->data; + fn_1_B754(temp_r31, temp_r23->unk0.x, temp_r23->unk0.z, temp_r28->unkC8[temp_r24][0]); + fn_1_B754(temp_r31, temp_r23->unk0.x, temp_r23->unk0.z, temp_r28->unkC8[temp_r24][1]); + if(temp_r23->unk18 & 0x1) { + espDispOn(temp_r28->unkC8[temp_r24][1]); + espDispOff(temp_r28->unkC8[temp_r24][0]); + } else { + espDispOn(temp_r28->unkC8[temp_r24][0]); + espDispOff(temp_r28->unkC8[temp_r24][1]); + } + } + } } void fn_1_D5E8(omObjData *object) { - float temp_f31; - float temp_f30; - s32 temp_r30; - Work3284 *temp_r29; - temp_f31 = 288; - temp_f30 = 240; - lbl_1_bss_10[0] = espEntry(lbl_1_data_1388[lbl_1_bss_190->unk0 + lbl_1_bss_34], 132, 0); - espPosSet(lbl_1_bss_10[0], temp_f31, temp_f30); - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - temp_r29 = lbl_1_bss_19C[temp_r30]->data; - lbl_1_bss_10[temp_r30 + 1] = espEntry(lbl_1_data_1310[temp_r30], 131, 0); - espPosSet(lbl_1_bss_10[temp_r30 + 1], temp_f31 + (0.07f * temp_r29->unk0.x), temp_f30 + (0.07f * temp_r29->unk0.z)); - } - for (temp_r30 = 0; temp_r30 < 5; temp_r30++) { - espDrawNoSet(lbl_1_bss_10[temp_r30], 0); - espTPLvlSet(lbl_1_bss_10[temp_r30], 1.0f); - espDispOn(lbl_1_bss_10[temp_r30]); - } - object->model[0] = Hu3DModelCreateFile(lbl_1_bss_190->unk8[1]); - Hu3DModelCameraSet(object->model[0], 15); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(object->model[0], 0); - Hu3DModelShadowMapSet(object->model[0]); - omSetTra(object, 0, 0, 0); - omSetRot(object, 0, -90.0f * lbl_1_bss_34, 0); - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M429, 0x22)); - Hu3DModelCameraSet(object->model[1], 15); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(object->model[1], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(object->model[1], 0); - Hu3DModelShadowMapSet(object->model[1]); - Hu3DModelPosSet(object->model[1], 0, 0, 0); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M429, 0x23)); - Hu3DModelCameraSet(object->model[2], 15); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(object->model[2], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(object->model[2], 0); - Hu3DModelPosSet(object->model[2], 0, 0, 0); - object->model[3] = Hu3DModelCreateFile(lbl_1_bss_190->unk8[2]); - Hu3DModelCameraSet(object->model[3], 15); - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(object->model[3], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(object->model[3], HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(object->model[3], 1); - Hu3DModelPosSet(object->model[3], 0, 0, 0); - Hu3DModelRotSet(object->model[3], 0, -90.0f * lbl_1_bss_34, 0); - object->model[4] = Hu3DModelCreateFile(lbl_1_bss_190->unk8[3]); - Hu3DModelCameraSet(object->model[4], 15); - Hu3DModelAttrSet(object->model[4], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(object->model[4], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(object->model[4], 1); - Hu3DModelPosSet(object->model[4], 0, 0, 0); - Hu3DModelRotSet(object->model[4], 0, -90.0f * lbl_1_bss_34, 0); - lbl_1_bss_114 = 45; - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - Hu3DModelAttrReset(object->model[temp_r30], HU3D_ATTR_DISPOFF); - } - object->work[0] = 1000; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_B8E0; + float temp_f31; + float temp_f30; + s32 temp_r30; + Work3284 *temp_r29; + temp_f31 = 288; + temp_f30 = 240; + lbl_1_bss_10[0] = espEntry(lbl_1_data_1388[lbl_1_bss_190->unk0+lbl_1_bss_34], 132, 0); + espPosSet(lbl_1_bss_10[0], temp_f31, temp_f30); + for(temp_r30=0; temp_r30<4; temp_r30++) { + temp_r29 = lbl_1_bss_19C[temp_r30]->data; + lbl_1_bss_10[temp_r30+1] = espEntry(lbl_1_data_1310[temp_r30], 131, 0); + espPosSet(lbl_1_bss_10[temp_r30+1], temp_f31+(0.07f*temp_r29->unk0.x), temp_f30+(0.07f*temp_r29->unk0.z)); + } + for(temp_r30=0; temp_r30<5; temp_r30++) { + espDrawNoSet(lbl_1_bss_10[temp_r30], 0); + espTPLvlSet(lbl_1_bss_10[temp_r30], 1.0f); + espDispOn(lbl_1_bss_10[temp_r30]); + } + object->model[0] = Hu3DModelCreateFile(lbl_1_bss_190->unk8[1]); + Hu3DModelCameraSet(object->model[0], 15); + Hu3DModelAttrSet(object->model[0], 0x4001); + Hu3DModelAttrSet(object->model[0], 0x40000002); + Hu3DModelAttrReset(object->model[0], 0x40000001); + Hu3DModelLayerSet(object->model[0], 0); + Hu3DModelShadowMapSet(object->model[0]); + omSetTra(object, 0, 0, 0); + omSetRot(object, 0, -90.0f*lbl_1_bss_34, 0); + object->model[1] = Hu3DModelCreateFile(0x3C0022); + Hu3DModelCameraSet(object->model[1], 15); + Hu3DModelAttrSet(object->model[1], 0x4001); + Hu3DModelAttrSet(object->model[1], 0x40000002); + Hu3DModelLayerSet(object->model[1], 0); + Hu3DModelShadowMapSet(object->model[1]); + Hu3DModelPosSet(object->model[1], 0, 0, 0); + object->model[2] = Hu3DModelCreateFile(0x3C0023); + Hu3DModelCameraSet(object->model[2], 15); + Hu3DModelAttrSet(object->model[2], 0x4001); + Hu3DModelAttrSet(object->model[2], 0x40000002); + Hu3DModelLayerSet(object->model[2], 0); + Hu3DModelPosSet(object->model[2], 0, 0, 0); + object->model[3] = Hu3DModelCreateFile(lbl_1_bss_190->unk8[2]); + Hu3DModelCameraSet(object->model[3], 15); + Hu3DModelAttrSet(object->model[3], 0x4001); + Hu3DModelAttrSet(object->model[3], 0x40000002); + Hu3DModelAttrReset(object->model[3], 0x40000001); + Hu3DModelLayerSet(object->model[3], 1); + Hu3DModelPosSet(object->model[3], 0, 0, 0); + Hu3DModelRotSet(object->model[3], 0, -90.0f*lbl_1_bss_34, 0); + object->model[4] = Hu3DModelCreateFile(lbl_1_bss_190->unk8[3]); + Hu3DModelCameraSet(object->model[4], 15); + Hu3DModelAttrSet(object->model[4], 0x4001); + Hu3DModelAttrSet(object->model[4], 0x40000003); + Hu3DModelLayerSet(object->model[4], 1); + Hu3DModelPosSet(object->model[4], 0, 0, 0); + Hu3DModelRotSet(object->model[4], 0, -90.0f*lbl_1_bss_34, 0); + lbl_1_bss_114 = 45; + for(temp_r30=0; temp_r30<3; temp_r30++) { + Hu3DModelAttrReset(object->model[temp_r30], 1); + } + object->work[0] = 1000; + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + object->func = fn_1_B8E0; } void ObjectSetup(void) { - s32 temp_r31; - omObjData *temp_r28; - Work8F68 *temp_r27; - s32 temp_r22; - s32 temp_r17; - Vec sp2C; - s32 sp1C; - s32 sp18; - s32 sp14; + s32 temp_r31; + omObjData *temp_r28; + Work8F68 *temp_r27; + s32 temp_r22; + s32 temp_r17; + Vec sp2C; + s32 sp1C; + s32 sp18; + s32 sp14; + + OSReport("******* M429 ObjectSetup *********\n"); + nMap = 0; + nChar = 0; + lbl_1_bss_33C = omInitObjMan(100, 8192); + omGameSysInit(lbl_1_bss_33C); + lbl_1_bss_308 = 0; + lbl_1_bss_2FE = -1; + lbl_1_bss_2FC = -1; + lbl_1_bss_28 = -1; + lbl_1_bss_24 =0 ; + lbl_1_bss_20 = 0; + lbl_1_bss_1C = 0; + lbl_1_bss_2F8 = -1; + lbl_1_bss_4 = -1; + lbl_1_bss_0 = -1; + lbl_1_bss_11C = 0; + lbl_1_bss_120 = 850; + lbl_1_bss_118 = 450; + for(temp_r31=0; temp_r31<2; temp_r31++) { + lbl_1_bss_2C[temp_r31] = 0; + } + for(temp_r31=0; temp_r31<4; temp_r31++) { + lbl_1_bss_130[temp_r31].unk0 = -1; + lbl_1_bss_130[temp_r31].unk4 = 0; + } + lbl_1_bss_34 = frandmod(4); + fn_1_2684(); + fn_1_A118(); + temp_r17 = Hu3DGLightCreateV(&lbl_1_data_111C, &lbl_1_data_1128, &lbl_1_data_1134); + Hu3DGLightStaticSet(temp_r17, 1); + Hu3DGLightInfinitytSet(temp_r17); + Hu3DShadowCreate(30, 10, 20000); + Hu3DShadowTPLvlSet(0.5f); + VECNormalize(&lbl_1_data_1138, &sp2C); + Hu3DShadowPosSet(&lbl_1_data_1138, &sp2C, &lbl_1_data_1144); + omMakeGroupEx(lbl_1_bss_33C, 0, 4); + lbl_1_bss_1A4 = omGetGroupMemberListEx(lbl_1_bss_33C, 0); + for(temp_r31=0; temp_r31<4; temp_r31++) { + temp_r28 = omAddObjEx(lbl_1_bss_33C, 100, 1, 10, 0, fn_1_8F68); + temp_r28->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work8F68), MEMORY_DEFAULT_NUM); + temp_r28->work[0] = temp_r31; + temp_r27 = temp_r28->data; + temp_r27->unk110 = -1; + temp_r27->unk114 = temp_r28->work[0]; + temp_r27->unk120 = GWPlayerCfg[temp_r27->unk114].group; + } + (void)&sp14; - OSReport("******* M429 ObjectSetup *********\n"); - nMap = 0; - nChar = 0; - lbl_1_bss_33C = omInitObjMan(100, 8192); - omGameSysInit(lbl_1_bss_33C); - lbl_1_bss_308 = 0; - lbl_1_bss_2FE = -1; - lbl_1_bss_2FC = -1; - lbl_1_bss_28 = -1; - lbl_1_bss_24 = 0; - lbl_1_bss_20 = 0; - lbl_1_bss_1C = 0; - lbl_1_bss_2F8 = -1; - lbl_1_bss_4 = -1; - lbl_1_bss_0 = -1; - lbl_1_bss_11C = 0; - lbl_1_bss_120 = 850; - lbl_1_bss_118 = 450; - for (temp_r31 = 0; temp_r31 < 2; temp_r31++) { - lbl_1_bss_2C[temp_r31] = 0; - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - lbl_1_bss_130[temp_r31].unk0 = -1; - lbl_1_bss_130[temp_r31].unk4 = 0; - } - lbl_1_bss_34 = frandmod(4); - fn_1_2684(); - fn_1_A118(); - temp_r17 = Hu3DGLightCreateV(&lbl_1_data_111C, &lbl_1_data_1128, &lbl_1_data_1134); - Hu3DGLightStaticSet(temp_r17, 1); - Hu3DGLightInfinitytSet(temp_r17); - Hu3DShadowCreate(30, 10, 20000); - Hu3DShadowTPLvlSet(0.5f); - VECNormalize(&lbl_1_data_1138, &sp2C); - Hu3DShadowPosSet(&lbl_1_data_1138, &sp2C, &lbl_1_data_1144); - omMakeGroupEx(lbl_1_bss_33C, 0, 4); - lbl_1_bss_1A4 = omGetGroupMemberListEx(lbl_1_bss_33C, 0); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r28 = omAddObjEx(lbl_1_bss_33C, 100, 1, 10, 0, fn_1_8F68); - temp_r28->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work8F68), MEMORY_DEFAULT_NUM); - temp_r28->work[0] = temp_r31; - temp_r27 = temp_r28->data; - temp_r27->unk110 = -1; - temp_r27->unk114 = temp_r28->work[0]; - temp_r27->unk120 = GWPlayerCfg[temp_r27->unk114].group; - } - (void)&sp14; - - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - sp14 = -1; - sp18 = 40; - for (temp_r22 = 0; temp_r22 < 4; temp_r22++) { - temp_r27 = lbl_1_bss_1A4[temp_r22]->data; - if (temp_r27->unk110 < 0) { - sp1C = temp_r27->unk114 + (temp_r27->unk120 * 4); - if (sp18 > sp1C) { - sp18 = sp1C; - sp14 = temp_r22; - } - } - } - ((Work8F68 *)lbl_1_bss_1A4[sp14]->data)->unk110 = temp_r31; - } - omMakeGroupEx(lbl_1_bss_33C, 1, 4); - lbl_1_bss_1A0 = omGetGroupMemberListEx(lbl_1_bss_33C, 1); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r28 = omAddObjEx(lbl_1_bss_33C, 101, 2, 1, 1, fn_1_99F0); - temp_r28->work[0] = temp_r31; - } - omMakeGroupEx(lbl_1_bss_33C, 2, 4); - lbl_1_bss_19C = omGetGroupMemberListEx(lbl_1_bss_33C, 2); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r28 = omAddObjEx(lbl_1_bss_33C, 102, 2, 0, 2, fn_1_33F8); - temp_r28->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work3284), MEMORY_DEFAULT_NUM); - temp_r28->work[0] = temp_r31; - } - lbl_1_bss_1A = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M429, 0x2F)); - Hu3DModelAttrSet(lbl_1_bss_1A, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_1A, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - omMakeGroupEx(lbl_1_bss_33C, 3, 20); - lbl_1_bss_198 = omGetGroupMemberListEx(lbl_1_bss_33C, 3); - lbl_1_bss_1A8 = omAddObjEx(lbl_1_bss_33C, 104, 5, 0, -1, fn_1_31AC); - MapObject[nMap++] = lbl_1_bss_1A8; - lbl_1_bss_1AC = omAddObjEx(lbl_1_bss_33C, 105, 5, 0, -1, fn_1_D5E8); - lbl_1_bss_C = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M429, 0x3F)); - HuSprAnimLock(lbl_1_bss_C); - lbl_1_bss_8 = Hu3DParManCreate(lbl_1_bss_C, 20, &lbl_1_data_13E8); - Hu3DParManAttrSet(lbl_1_bss_8, 1); + + for(temp_r31=0; temp_r31<4; temp_r31++) { + sp14 = -1; + sp18 = 40; + for(temp_r22=0; temp_r22<4; temp_r22++) { + temp_r27 = lbl_1_bss_1A4[temp_r22]->data; + if(temp_r27->unk110 < 0) { + sp1C = temp_r27->unk114+(temp_r27->unk120*4); + if(sp18 > sp1C) { + sp18 = sp1C; + sp14 = temp_r22; + } + } + } + ((Work8F68 *)lbl_1_bss_1A4[sp14]->data)->unk110 = temp_r31; + } + omMakeGroupEx(lbl_1_bss_33C, 1, 4); + lbl_1_bss_1A0 = omGetGroupMemberListEx(lbl_1_bss_33C, 1); + for(temp_r31=0; temp_r31<4; temp_r31++) { + temp_r28 = omAddObjEx(lbl_1_bss_33C, 101, 2, 1, 1, fn_1_99F0); + temp_r28->work[0] = temp_r31; + } + omMakeGroupEx(lbl_1_bss_33C, 2, 4); + lbl_1_bss_19C = omGetGroupMemberListEx(lbl_1_bss_33C, 2); + for(temp_r31=0; temp_r31<4; temp_r31++) { + temp_r28 = omAddObjEx(lbl_1_bss_33C, 102, 2, 0, 2, fn_1_33F8); + temp_r28->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work3284), MEMORY_DEFAULT_NUM); + temp_r28->work[0] = temp_r31; + } + lbl_1_bss_1A = Hu3DModelCreateFile(0x3C002F); + Hu3DModelAttrSet(lbl_1_bss_1A, 1); + Hu3DModelAttrSet(lbl_1_bss_1A, 0x40000003); + omMakeGroupEx(lbl_1_bss_33C, 3, 20); + lbl_1_bss_198 = omGetGroupMemberListEx(lbl_1_bss_33C, 3); + lbl_1_bss_1A8 = omAddObjEx(lbl_1_bss_33C, 104, 5, 0, -1, fn_1_31AC); + MapObject[nMap++] = lbl_1_bss_1A8; + lbl_1_bss_1AC = omAddObjEx(lbl_1_bss_33C, 105, 5, 0, -1, fn_1_D5E8); + lbl_1_bss_C = HuSprAnimReadFile(0x3C003F); + HuSprAnimLock(lbl_1_bss_C); + lbl_1_bss_8 = Hu3DParManCreate(lbl_1_bss_C, 20, &lbl_1_data_13E8); + Hu3DParManAttrSet(lbl_1_bss_8, 1); } void fn_1_E96C(omObjData *object) { - s32 temp_r31; - if (lbl_1_bss_0 >= 0) { - HuAudFXStop(lbl_1_bss_0); - lbl_1_bss_0 = -1; - } - if (WipeStatGet()) { - return; - } - if (lbl_1_bss_2FE >= 0) { - MGSeqKill(lbl_1_bss_2FE); - } - if (lbl_1_bss_2FC >= 0) { - MGSeqKill(lbl_1_bss_2FC); - } - MGSeqKillAll(); - HuAudAllStop(); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - CharModelKill(lbl_1_data_0[GWPlayerCfg[temp_r31].character]); - } - omOvlReturnEx(1, 1); + s32 temp_r31; + if(lbl_1_bss_0 >= 0) { + HuAudFXStop(lbl_1_bss_0); + lbl_1_bss_0 = -1; + } + if(WipeStatGet()) { + return; + } + if(lbl_1_bss_2FE >= 0) { + MGSeqKill(lbl_1_bss_2FE); + } + if(lbl_1_bss_2FC >= 0) { + MGSeqKill(lbl_1_bss_2FC); + } + MGSeqKillAll(); + HuAudAllStop(); + for(temp_r31=0; temp_r31<4; temp_r31++) { + CharModelKill(lbl_1_data_0[GWPlayerCfg[temp_r31].character]); + } + omOvlReturnEx(1, 1); } diff --git a/src/REL/m430Dll/main.c b/src/REL/m430Dll/main.c deleted file mode 100644 index d848689f..00000000 --- a/src/REL/m430Dll/main.c +++ /dev/null @@ -1,569 +0,0 @@ -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/flag.h" -#include "game/frand.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" -#include "string.h" - -#include "REL/m430Dll.h" - -#ifndef __MWERKS__ -#include "game/esprite.h" -#endif - -typedef struct M430DllMainWork { - u32 unk_00; - s32 unk_04; - s32 unk_08; - u32 unk_0C; - s32 unk_10; - u32 unk_14; - s32 unk_18; - s32 unk_1C; - s32 unk_20; - u32 unk_24; - u32 unk_28; - s32 unk_2C; - u32 unk_30; - s32 unk_34; -} M430DllMainWork; /* size = 0x38 */ - -void fn_1_10FC(omObjData *object); -void fn_1_168C(omObjData *object); -void fn_1_1B04(omObjData *object); -void fn_1_21E4(omObjData *object); -void fn_1_2710(omObjData *object); -omObjFunc fn_1_2D48(Process *process, omObjData *object); -void fn_1_2E80(omObjData *object); -omObjFunc fn_1_369C(Process *arg1, omObjData *object); -void fn_1_3768(omObjData *object); -s32 fn_1_4030(void); -void fn_1_65C(omObjData *object); -void fn_1_A54(omObjData *arg0); -void fn_1_B98(omObjData *object); - -Vec lbl_1_data_0 = { 100.0f, 800.0f, -100.0f }; -Vec lbl_1_data_C = { 0.3f, -0.8f, 0.3f }; -Vec lbl_1_data_18 = { 10.0f, 45.0f, 3500.0f }; -GXColor lbl_1_data_24 = { 0xFF, 0xFF, 0xFF, 0xFF }; -Vec lbl_1_data_28 = { 50.0f, 150000.0f, 50.0f }; -Vec lbl_1_data_34 = { 0.0f, 1.0f, 0.0f }; -Vec lbl_1_data_40 = { 0.0f, 0.0f, 0.0f }; - -Process *lbl_1_bss_38; -omObjData *lbl_1_bss_34; -omObjData *lbl_1_bss_30; -s16 lbl_1_bss_2C; -char lbl_1_bss_28[4]; -s16 lbl_1_bss_26; -s16 lbl_1_bss_24; -s16 lbl_1_bss_22; -s16 lbl_1_bss_20; -s32 lbl_1_bss_1C; -s32 lbl_1_bss_18; -s32 lbl_1_bss_14; -s16 lbl_1_bss_10; -s32 lbl_1_bss_C; -s32 lbl_1_bss_8; -s32 lbl_1_bss_4; -s32 lbl_1_bss_0; - -void ObjectSetup(void) -{ - Mtx sp20; - Vec sp14; - Vec sp8; - Process *var_r31; - LightData *var_r30; - - HuAudSndGrpSet(0x37); - lbl_1_bss_C = lbl_1_bss_8 = -1; - lbl_1_bss_4 = lbl_1_bss_0 = -1; - lbl_1_bss_2C = -1; - lbl_1_bss_14 = 1; - lbl_1_data_28.x = 200.0f; - lbl_1_data_28.y = 1200.0f; - lbl_1_data_28.z = 160.0f; - lbl_1_data_34.x = 0.0f; - lbl_1_data_34.y = 1.0f; - lbl_1_data_34.z = 0.0f; - lbl_1_data_40.x = 0.0f; - lbl_1_data_40.y = 0.0f; - lbl_1_data_40.z = 0.0f; - Hu3DShadowCreate(30.0f, 20.0f, 25000.0f); - Hu3DShadowTPLvlSet(0.625f); - Hu3DShadowPosSet(&lbl_1_data_28, &lbl_1_data_34, &lbl_1_data_40); - lbl_1_bss_26 = Hu3DGLightCreateV(&lbl_1_data_0, &lbl_1_data_C, &lbl_1_data_24); - Hu3DGLightInfinitytSet(lbl_1_bss_26); - var_r30 = &Hu3DGlobalLight[lbl_1_bss_26]; - var_r30->unk_00 |= 0x8000; - lbl_1_data_18.x = 34.75f; - lbl_1_data_18.y = -24.75f; - lbl_1_data_18.z = 3500.0f; - sp14.x = sp14.y = sp14.z = 0.0f; - sp8.x = sp8.z = 0.0f; - sp8.y = lbl_1_data_18.z; - mtxRot(sp20, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f); - MTXMultVec(sp20, &sp8, &sp8); - Hu3DGLightPosAimSetV(lbl_1_bss_26, &sp8, &sp14); - Hu3DShadowPosSet(&sp8, &lbl_1_data_34, &sp14); - lbl_1_bss_24 = lbl_1_bss_22 = lbl_1_bss_20 = -1; - lbl_1_bss_1C = 1; - lbl_1_bss_18 = 1; - var_r31 = omInitObjMan(0x32, 0x2000); - lbl_1_bss_38 = var_r31; - omGameSysInit(var_r31); - Hu3DCameraCreate(3); - Hu3DCameraPerspectiveSet(1, -1.0f, 5.0f, 25000.0f, 0.6f); - Hu3DCameraPerspectiveSet(2, -1.0f, 5.0f, 25000.0f, 0.6f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 320.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraViewportSet(2, 320.0f, 0.0f, 320.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(1, 0, 0, 0x140, 0x1E0); - Hu3DCameraScissorSet(2, 0x140, 0, 0x140, 0x1E0); - lbl_1_bss_30 = omAddObjEx(var_r31, 0x7FDA, 0, 0, -1, omOutViewMulti); - lbl_1_bss_30->work[0] = 2; - lbl_1_bss_34 = omAddObjEx(var_r31, 0xA, 0, 0, -1, fn_1_65C); - fn_1_4A80(var_r31); - fn_1_BBC4(var_r31); - lbl_1_bss_10 = espEntry(DATA_MAKE_NUM(DATADIR_M430, 0x1B), 0x64, 0); - espPosSet(lbl_1_bss_10, 288.0, 240.0); - espScaleSet(lbl_1_bss_10, 0.22499999403953552, 60.0); - espDispOff(lbl_1_bss_10); -} - -void fn_1_65C(omObjData *object) -{ - M430DllMainWork *work; - - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M430DllMainWork), MEMORY_DEFAULT_NUM); - work = object->data; - memset(work, 0, sizeof(M430DllMainWork)); - work->unk_00 = 0; - work->unk_04 = 0; - work->unk_0C = 0; - work->unk_10 = 0; - work->unk_14 = 0; - work->unk_18 = 0; - work->unk_24 = 0; - work->unk_28 = 0; - work->unk_08 = 0; - work->unk_2C = 0; - work->unk_30 = 0; - work->unk_34 = 0; - object->func = fn_1_B98; -} - -void fn_1_720(omObjData *object) -{ - M430DllMainWork *work = object->data; - work->unk_04++; - work->unk_10++; - work->unk_18++; - work->unk_28++; - if ((omSysExitReq != 0) && (work->unk_00 != 5)) { - work->unk_00 = 4; - fn_1_A54(object); - } - if (lbl_1_bss_18 == 0) { - if (fn_1_4030() != 0) { - if ((Hu3DCamera->fov < 0.0f) || (Hu3DCamera[1].fov < 0.0f)) { - Hu3DCameraPerspectiveSet(1, 41.5f, 5.0f, 25000.0f, 0.6f); - Hu3DCameraPerspectiveSet(2, 41.5f, 5.0f, 25000.0f, 0.6f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 320.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraViewportSet(2, 320.0f, 0.0f, 320.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(1, 0, 0, 0x140, 0x1E0); - Hu3DCameraScissorSet(2, 0x140, 0, 0x140, 0x1E0); - } - } - else if ((Hu3DCamera->fov < 0.0f) || (Hu3DCamera[1].fov >= 0.0f)) { - Hu3DCamera[1].fov = -1.0f; - Hu3DCameraPerspectiveSet(1, 41.5f, 5.0f, 25000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(1, 0, 0, 0x280, 0x1E0); - } - } -} - -void fn_1_A54(omObjData *object) -{ - M430DllMainWork *work = object->data; - if (work->unk_08 == 0) { - switch (work->unk_00) { - case 0: - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - lbl_1_bss_18 = 0; - work->unk_00 = 1; - work->unk_10 = 0; - object->func = fn_1_2D48(lbl_1_bss_38, object); - break; - case 1: - work->unk_00 = 2; - work->unk_18 = 0; - object->func = fn_1_1B04; - break; - case 2: - work->unk_00 = 3; - work->unk_28 = 0; - object->func = fn_1_369C(lbl_1_bss_38, object); - break; - case 3: - case 4: - work->unk_08 = 1; - work->unk_00 = 5; - object->func = fn_1_10FC; - break; - case 5: - default: - work->unk_00 = 5; - object->func = fn_1_168C; - break; - } - work->unk_04 = 0; - } -} - -void fn_1_B98(omObjData *object) -{ - fn_1_720(object); - fn_1_A54(object); -} - -void fn_1_10FC(omObjData *object) -{ - M430DllMainWork *work = object->data; - fn_1_720(object); - - if (WipeStatGet() == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - lbl_1_bss_14 = 1; - work->unk_08 = 0; - fn_1_A54(object); - } -} - -void fn_1_168C(omObjData *object) -{ - fn_1_720(object); - if (WipeStatGet() == 0) { - fn_1_C00C(); - fn_1_4C48(); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - } -} - -void fn_1_1B04(omObjData *object) -{ - M430DllMainWork *work = object->data; - fn_1_720(object); - switch (work->unk_14) { - case 0: - lbl_1_bss_1C = 1; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - lbl_1_bss_14 = 0; - espDispOn(lbl_1_bss_10); - work->unk_1C = 0x2D; - work->unk_20 = 0x3C; - CenterM->x = -450.0f; - CenterM[1].x = 450.0f; - CenterM->y = CenterM[1].y = 300.0f; - CenterM->z = CenterM[1].z = 950.0f; - CRotM->x = CRotM[1].x = -5.0f; - CRotM->y = CRotM[1].y = 0.0f; - CZoomM[0] = CZoomM[1] = 700.0f; - work->unk_14 = 1; - work->unk_18 = 0; - object->work[0] = 0; - return; - case 1: - if (object->work[0] == 0) { - if (WipeStatGet() == 0) { - lbl_1_bss_24 = MGSeqCreate(3, 0); - MGSeqPosSet(lbl_1_bss_24, 320.0f, 240.0f); - object->work[0]++; - } - } - else { - if ((lbl_1_bss_4 < 0) && ((MGSeqStatGet(lbl_1_bss_24) & 0x10) != 0)) { - lbl_1_bss_4 = HuAudSeqPlay(0x4A); - } - if ((MGSeqStatGet(lbl_1_bss_24) == 0) && (work->unk_08 == 0)) { - lbl_1_bss_2C = MGSeqCreate(1, work->unk_1C, -1, -1); - work->unk_14 = 2; - work->unk_18 = 0; - object->func = fn_1_21E4; - } - } - break; - } -} - -void fn_1_21E4(omObjData *object) -{ - M430DllMainWork *work = object->data; - s32 var_r27 = 0; - fn_1_720(object); - if (--work->unk_20 == 0) { - work->unk_20 = 0x3C; - work->unk_1C--; - if (work->unk_1C <= 0) { - var_r27 = 1; - } - } - if (var_r27 != 0) { - lbl_1_bss_22 = MGSeqCreate(3, 1); - MGSeqPosSet(lbl_1_bss_22, 320.0f, 240.0f); - HuAudSeqFadeOut(lbl_1_bss_4, 0x64); - object->work[1] = 0; - work->unk_14 = 3; - work->unk_18 = 0; - if (work->unk_08 == 0) { - object->func = fn_1_2710; - } - } - MGSeqParamSet(lbl_1_bss_2C, 1, work->unk_1C); -} - -void fn_1_2710(omObjData *object) -{ - M430DllMainWork *work = object->data; - if (lbl_1_bss_2C >= 0) { - MGSeqParamSet(lbl_1_bss_2C, 2, -1); - lbl_1_bss_2C = -1; - } - fn_1_720(object); - if (object->work[1] == 0) { - if (MGSeqStatGet(lbl_1_bss_22) == 0) { - if (work->unk_08 == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - lbl_1_bss_14 = 1; - } - object->work[1]++; - HuAudFXFadeOut(lbl_1_bss_C, 0x1E); - } - } - else if ((WipeStatGet() == 0) && (work->unk_30 == 0x1111)) { - work->unk_14 = 4; - work->unk_18 = 0; - fn_1_A54(object); - } -} - -omObjFunc fn_1_2D48(Process *process, omObjData *object) -{ - CenterM->x = CenterM[1].x = 0.0f; - CenterM->y = CenterM[1].y = 300.0f; - CenterM->z = CenterM[1].z = 950.0f; - CRotM->x = CRotM[1].x = -5.0f; - CRotM->y = CRotM[1].y = 0.0f; - CZoomM[0] = CZoomM[1] = 700.0f; - object->work[0] = object->work[1] = 0; - lbl_1_bss_1C = 0; - lbl_1_bss_C = HuAudFXPlay(0x674); - return fn_1_2E80; -} - -void fn_1_2E80(omObjData *object) -{ - M430DllMainWork *work = object->data; - fn_1_720(object); - work->unk_0C = 1; - object->work[0]++; - switch (object->work[1]) { - case 0: - if (object->work[0] > 180.0f) { - if (work->unk_08 == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - lbl_1_bss_14 = 1; - } - object->work[1]++; - object->work[0] = 0; - } - break; - case 1: - if (WipeStatGet() == 0) { - object->work[0] = 0; - work->unk_0C = 2; - fn_1_A54(object); - } - break; - } -} - -omObjFunc fn_1_369C(Process *arg0, omObjData *object) -{ - M430DllMainWork *work = object->data; - s32 spC = 0; - s32 sp8 = 1; - lbl_1_bss_1C = 0; - espDispOff(lbl_1_bss_10); - fn_1_BB98(1); - if (work->unk_08 == 0) { - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - lbl_1_bss_14 = 0; - } - CenterM->x = 0.0f; - lbl_1_bss_8 = HuAudFXPlay(0x679); - return fn_1_3768; -} - -void fn_1_3768(omObjData *object) -{ - M430DllMainWork *work = object->data; - - fn_1_720(object); - if (WipeStatGet() == 0) { - work->unk_24 = 1; - if (work->unk_28 >= 210.0f) { - work->unk_24 = 2; - fn_1_A54(object); - } - } - else { - work->unk_28 = 0; - } -} - -s32 fn_1_4030(void) -{ - return lbl_1_bss_1C; -} - -u32 fn_1_4040(void) -{ - return OM_GET_DATA_PTR(lbl_1_bss_34, M430DllMainWork)->unk_00; -} - -u32 fn_1_4058(void) -{ - return OM_GET_DATA_PTR(lbl_1_bss_34, M430DllMainWork)->unk_0C; -} - -u32 fn_1_4070(void) -{ - return OM_GET_DATA_PTR(lbl_1_bss_34, M430DllMainWork)->unk_14; -} - -u32 fn_1_4088(void) -{ - return OM_GET_DATA_PTR(lbl_1_bss_34, M430DllMainWork)->unk_24; -} - -void fn_1_40A0(s32 arg0) -{ - OM_GET_DATA_PTR(lbl_1_bss_34, M430DllMainWork)->unk_2C = arg0; -} - -s32 fn_1_40B8(void) -{ - return OM_GET_DATA_PTR(lbl_1_bss_34, M430DllMainWork)->unk_2C; -} - -void fn_1_40D0(s32 arg0) -{ - - OM_GET_DATA_PTR(lbl_1_bss_34, M430DllMainWork)->unk_30 |= (1 << ((arg0 & 3) * 4)); -} - -void fn_1_4100(s32 arg0) -{ - OM_GET_DATA_PTR(lbl_1_bss_34, M430DllMainWork)->unk_34 |= (1 << ((arg0 & 3) * 4)); -} - -float fn_1_4130(void) -{ - M430DllMainWork *work = lbl_1_bss_34->data; - float var_f31 = work->unk_1C - 1; - if (var_f31 < 0.0f) { - var_f31 = 0.0f; - } - var_f31 += 0.016666668f * work->unk_20; - return var_f31; -} - -void fn_1_41F0(Vec *arg0, Vec *arg1) -{ - Vec sp10; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - - sp10.x = arg1->x - arg0->x; - sp10.y = arg1->y - arg0->y; - sp10.z = arg1->z - arg0->z; - Center.x = arg1->x; - Center.y = arg1->y; - Center.z = arg1->z; - CRot.x = atan2d(sp10.y, sqrtf((sp10.x * sp10.x) + (sp10.z * sp10.z))); - CRot.y = atan2d(-sp10.x, -sp10.z); - CRot.z = 0.0f; - CZoom = sqrtf((sp10.z * sp10.z) + ((sp10.x * sp10.x) + (sp10.y * sp10.y))); -} - -void fn_1_4538(float sp8, float spC, float sp10, float sp14, float sp18, float sp1C) -{ - Vec sp40; - Vec sp34; - sp40.x = sp8; - sp40.y = spC; - sp40.z = sp10; - - sp34.x = sp14; - sp34.y = sp18; - sp34.z = sp1C; - fn_1_41F0(&sp40, &sp34); -} - -float fn_1_48B0(float arg8, float arg9, float argA) -{ - float var_f31; - float var_f30; - float var_f29; - - var_f30 = fmod(arg9 - arg8, 360.0); - var_f31 = var_f30; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - var_f29 = fmod(arg8 + (argA * var_f31), 360.0); - var_f31 = var_f29; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - return var_f31; -} - -float fn_1_49CC(float arg0, float arg1) -{ - float var_f31; - float var_f30; - - var_f30 = fmod(arg1 - arg0, 360.0); - var_f31 = var_f30; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - return var_f31; -} diff --git a/src/REL/m430Dll/player.c b/src/REL/m430Dll/player.c deleted file mode 100644 index baa21d63..00000000 --- a/src/REL/m430Dll/player.c +++ /dev/null @@ -1,2428 +0,0 @@ -#include "dolphin/gx/GXEnum.h" -#include "dolphin/gx/GXStruct.h" -#include "dolphin/gx/GXVert.h" -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/flag.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" -#include "string.h" - -#include "REL/m430Dll.h" - -#ifndef __MWERKS__ -#include "game/esprite.h" -#include "game/frand.h" -#endif - -inline double fabs2(double x) -{ - return (double)fabs(x); -} - -typedef struct M430PlayerData170Struct { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; -} M430PlayerData170Struct; /* size = 0x08 */ - -typedef struct M430PlayerBss160Struct { - s32 unk_00; - s32 unk_04; - s32 unk_08; - s32 unk_0C; - s32 unk_10[6]; - s32 unk_28[6][3]; - s32 unk_70[6][3]; - s32 unk_B8; - s32 unk_BC; -} M430PlayerBss160Struct; /* size = 0xC0 */ - -typedef struct M430PlayerBss164Struct { - s32 unk_00; - s32 unk_04; - s32 unk_08; - s32 unk_0C; - s32 unk_10; - AnimData *unk_14; - Vec unk_18; - Vec unk_24; - Vec unk_30; -} M430PlayerBss164Struct; /* size = 0x3C */ - -typedef struct M430PlayerBss168Struct { - s32 unk_00; - s32 unk_04; - s32 unk_08; - s32 unk_0C; - s32 unk_10; - Vec unk_14; - Vec unk_20; - Vec unk_2C; -} M430PlayerBss168Struct; /* size = 0x38 */ - -typedef struct M430PlayerBss16CStruct { - s32 unk_00; - s32 unk_04; - s32 unk_08; - s32 unk_0C; - s32 unk_10; - s32 unk_14; - float unk_18; - Vec unk_1C; - float unk_28; - float unk_2C; - float unk_30; - float unk_34; - float unk_38; - float unk_3C; -} M430PlayerBss16CStruct; /* size = 0x40 */ - -typedef struct M430PlayerBss170Struct { - s32 unk_00; - s32 unk_04; - s32 unk_08; - float unk_0C; - float unk_10; - float unk_14; - float unk_18; - float unk_1C; - float unk_20; - float unk_24; - float unk_28; - float unk_2C; - float unk_30; - float unk_34; - float unk_38; - float unk_3C; - float unk_40; - float unk_44; - float unk_48; - Vec *unk_4C; - Vec *unk_50; - Vec2f *unk_54; - s32 unk_58; - u32 unk_5C; - void *unk_60; -} M430PlayerBss170Struct; /* size = 0x64 */ - -typedef struct M430PlayerBss174Struct { - s32 unk_00[2]; - s32 unk_08; - float unk_0C; - float unk_10; - float unk_14; - float unk_18; - float unk_1C; - s32 unk_20; -} M430PlayerBss174Struct; /* size = 0x24 */ - -typedef struct M430PlayerWork { - u32 unk_00; - u16 unk_04; - u16 unk_06; - u16 unk_08; - u16 unk_0A; - u16 unk_0C; - u16 unk_0E; - u16 unk_10; - u16 unk_12; - u16 unk_14; - u16 unk_16; - float unk_18; - float unk_1C; - float unk_20; - float unk_24; - float unk_28; - float unk_2C; - float unk_30; - s32 unk_34; - s32 unk_38; - char unk3C[4]; - s32 unk_40; - u32 unk_44; - float unk_48; - float unk_4C; - float unk_50; - float unk_54; - s32 unk_58; - s32 unk_5C; - s32 unk_60; - s32 unk_64; - s32 unk_68; - s32 unk_6C; - float unk_70; - s32 unk_74; - s32 unk_78; - float unk_7C; -} M430PlayerWork; /* size = 0x80 */ - -void fn_1_100A0(void); -void fn_1_1033C(void); -void fn_1_1053C(void); -void fn_1_10540(s32 arg0, s32 arg1, float arg8, float arg9, float argA); -void fn_1_1058C(s32 arg0, float arg8); -void fn_1_105B8(s32 arg0); -void fn_1_1061C(M430PlayerBss170Struct *arg0); -void fn_1_10948(ModelData *model, Mtx matrix); -void fn_1_10B88(void); -void fn_1_10D1C(void); -void fn_1_10F20(void); -s32 fn_1_10F24(s32 arg0, float arg8, float arg9, float argA); -s32 fn_1_110A8(s32 arg0, float arg8, float arg9, float argA, s32 arg1); -s32 fn_1_111BC(s32 arg0, float arg8, Vec *arg1); -void fn_1_11314(s32 arg0); -void fn_1_113AC(void); -void fn_1_114F0(void); -void fn_1_11644(void); -s32 fn_1_11648(s32 arg0, float arg8, float arg9, float argA); -s32 fn_1_117A4(s32 arg0, float arg8, float arg9, float argA, s32 arg1); -s32 fn_1_11A1C(s32 arg0, float arg8, Vec *arg1); -M430PlayerBss168Struct *fn_1_11B64(s32 arg0); -void fn_1_11B94(s32 arg0); -void fn_1_11C1C(void); -void fn_1_11D70(void); -void fn_1_11F60(void); -s32 fn_1_11F90(s32 arg0, float arg8, float arg9, float argA); -void fn_1_12550(s32 arg0); -void fn_1_125C4(void); -void fn_1_129CC(void); -void fn_1_12D74(void); -void fn_1_12DF0(s32 arg0); -void fn_1_12F20(float arg8, float *arg0, float *arg1, float *arg2, float *arg3); -float fn_1_1303C(float arg8, float arg9); -float fn_1_13154(float arg8, float arg9, float argA); -void fn_1_133A4(AnimData *arg0); -void fn_1_133DC(Mtx arg0, Vec *arg1); -void fn_1_BE24(omObjData *object); -void fn_1_C040(void); -void fn_1_C1E4(omObjData *object); -void fn_1_CA3C(omObjData *object); -void fn_1_D2D0(omObjData *object); -void fn_1_D828(omObjData *object); -void fn_1_E8FC(omObjData *object); -void fn_1_F0D8(omObjData *object); -s32 fn_1_F62C(omObjData *object); -void fn_1_F6A0(omObjData *object); -void fn_1_FC9C(omObjData *object); - -M430PlayerData170Struct lbl_1_data_170[7] = { - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x42), -1 }, - { 0, 1 }, - { 0, 2 }, - { 0, 3 }, - { 0, -1 }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), -1 }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18), -1 }, -}; -M430PlayerData170Struct lbl_1_data_1A8[4] = { - { 0, 4 }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), -1 }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), -1 }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18), -1 }, -}; -s32 lbl_1_data_1C8[5] = { 0, DATA_MAKE_NUM(DATADIR_M430, 0x31), DATA_MAKE_NUM(DATADIR_M430, 0x39), DATA_MAKE_NUM(DATADIR_M430, 0x41), - DATA_MAKE_NUM(DATADIR_M430, 0x49) }; -float lbl_1_data_1DC[7] = { -262.5f, -173.25f, -86.625f, 0.0f, 86.625f, 173.25f, 262.5f }; -Vec lbl_1_data_1F8[8] = { - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 160.0f }, - { 60.000004f, 0.0f, 0.0f }, - { -60.000004f, 0.0f, 0.0f }, - { 50.0f, 0.0f, 100.0f }, - { -50.0f, 0.0f, 100.0f }, - { 60.000004f, 0.0f, -120.00001f }, - { -60.000004f, 0.0f, -120.00001f }, -}; -float lbl_1_data_258[8] = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 25.0f, 0.0f, 25.0f }; -s32 lbl_1_data_278[2] = { DATA_MAKE_NUM(DATADIR_M430, 0x1C), DATA_MAKE_NUM(DATADIR_M430, 0x1D) }; -s32 lbl_1_data_280[2] = { DATA_MAKE_NUM(DATADIR_M430, 0x1E), DATA_MAKE_NUM(DATADIR_M430, 0x1F) }; -s32 lbl_1_data_288[2] = { DATA_MAKE_NUM(DATADIR_M430, 0x20), DATA_MAKE_NUM(DATADIR_M430, 0x21) }; - -s32 lbl_1_bss_17C; -Process *lbl_1_bss_178; -M430PlayerBss174Struct *lbl_1_bss_174; -M430PlayerBss170Struct *lbl_1_bss_170; -M430PlayerBss16CStruct *lbl_1_bss_16C; -M430PlayerBss168Struct *lbl_1_bss_168; -M430PlayerBss164Struct *lbl_1_bss_164; -M430PlayerBss160Struct *lbl_1_bss_160; -s32 lbl_1_bss_15C; -s32 lbl_1_bss_158; - -void fn_1_BBC4(Process *process) -{ - Vec sp14; - Vec sp8; - - lbl_1_bss_178 = process; - fn_1_C040(); - fn_1_100A0(); - fn_1_10B88(); - fn_1_113AC(); - fn_1_11C1C(); - fn_1_125C4(); - omAddObjEx(process, 0x2D, 0, 0, -1, fn_1_BE24); - sp14.x = CenterM[0].x + (CZoomM[0] * (sind(CRotM[0].y) * cosd(CRotM[0].x))); - sp14.y = CenterM[0].y + (CZoomM[0] * -sind(CRotM[0].x)); - sp14.z = CenterM[0].z + (CZoomM[0] * (cosd(CRotM[0].y) * cosd(CRotM[0].x))); - VECSubtract(CenterM, &sp14, &sp8); - VECNormalize(&sp8, &sp8); - HuAudFXListnerSetEX(&sp14, &sp8, 100000.0f, 566.6667f, 0.0f, 300.0f, 300.0f); -} - -void fn_1_BE24(omObjData *object) -{ - Vec sp14; - Vec sp8; - - fn_1_1033C(); - fn_1_10D1C(); - fn_1_114F0(); - fn_1_11D70(); - fn_1_129CC(); - sp14.x = CenterM[0].x + (CZoomM[0] * (sind(CRotM[0].y) * cosd(CRotM[0].x))); - sp14.y = CenterM[0].y + (CZoomM[0] * -sind(CRotM[0].x)); - sp14.z = CenterM[0].z + (CZoomM[0] * (cosd(CRotM[0].y) * cosd(CRotM[0].x))); - VECSubtract(CenterM, &sp14, &sp8); - VECNormalize(&sp8, &sp8); - HuAudFXListnerUpdate(&sp14, &sp8); -} - -void fn_1_C00C(void) -{ - HuAudFXListnerKill(); - fn_1_1053C(); - fn_1_10F20(); - fn_1_11644(); - fn_1_11F60(); - fn_1_12D74(); -} - -void fn_1_C040(void) -{ - s8 spC[4]; - s32 sp8; - s32 var_r31; - omObjData *var_r30; - s32 var_r29; - s32 var_r28; - - sp8 = 0; - lbl_1_bss_17C = 1; - omMakeGroupEx(lbl_1_bss_178, 0, 4); - omGetGroupMemberListEx(lbl_1_bss_178, 0); - lbl_1_bss_174 = HuMemDirectMallocNum(HEAP_SYSTEM, 2 * sizeof(M430PlayerBss174Struct), MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_174, 0, 2 * sizeof(M430PlayerBss174Struct)); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - spC[var_r31] = -1; - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r29 = GWPlayerCfg[var_r31].group; - if (spC[var_r29] == -1) { - spC[var_r29] = var_r31; - } - else { - break; - } - } - if (var_r31 < 4) { - spC[0] = 0; - spC[1] = 1; - spC[2] = 2; - spC[3] = 3; - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = omAddObjEx(lbl_1_bss_178, 0x28, 3, 7, 0, fn_1_C1E4); - var_r28 = spC[var_r31]; - var_r30->work[0] = var_r28; - var_r30->work[1] = var_r31 >> 1; - var_r30->work[2] = var_r31 & 1; - } -} - -void fn_1_C1E4(omObjData *object) -{ - M430PlayerWork *work; - s32 var_r29; - M430PlayerBss174Struct *var_r28; - u32 var_r27; - HsfData *var_r26; - HsfMaterial *var_r25; - ModelData *var_r24; - s32 var_r23; - - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M430PlayerWork), MEMORY_DEFAULT_NUM); - work = object->data; - memset(work, 0, sizeof(M430PlayerWork)); - var_r27 = object->work[0]; - var_r23 = GWPlayerCfg[var_r27].character; - work->unk_38 = var_r23; - work->unk_00 = var_r27; - work->unk_04 = object->work[1]; - work->unk_06 = GWPlayerCfg[var_r27].pad_idx; - work->unk_08 = GWPlayerCfg[var_r27].iscom; - work->unk_0A = GWPlayerCfg[var_r27].diff; - work->unk_0C = object->work[2]; - work->unk_0E = 0; - work->unk_10 = 0; - work->unk_12 = 0; - work->unk_14 = 0; - work->unk_16 = 0; - if (work->unk_04 == 0) { - work->unk_18 = 450.0f; - } - else { - work->unk_18 = -450.0f; - } - work->unk_34 = 1; - work->unk_24 = 12.500001f; - work->unk_28 = 0.0f; - work->unk_1C = 180.0f; - work->unk_2C = 0.0f; - work->unk_30 = 0.0f; - work->unk_20 = 0.0f; - work->unk_40 = work->unk_44 = 0; - work->unk_48 = work->unk_4C = 0.0f; - work->unk_50 = 0.0f; - work->unk_54 = 0.0f; - work->unk_74 = 0; - work->unk_78 = -1; - work->unk_7C = 0.0f; - work->unk_60 = -1; - work->unk_64 = -1; - work->unk_68 = -1; - work->unk_6C = -1; - work->unk_70 = lbl_1_data_258[var_r23]; - object->model[0] = CharModelCreate(work->unk_38, 4); - Hu3DModelCameraSet(object->model[0], 3); - Hu3DModelLayerSet(object->model[0], 6); - CharModelStepTypeSet(work->unk_38, 3); - if (work->unk_0C == 0) { - for (var_r29 = 0; var_r29 < 7; var_r29++) { - if ((lbl_1_data_170[var_r29].unk_04) == 0xFFFFFFFF) { - object->motion[var_r29] = CharModelMotionCreate(work->unk_38, lbl_1_data_170[var_r29].unk_00); - } - else { - object->motion[var_r29] = Hu3DJointMotionFile(object->model[0], work->unk_38 + lbl_1_data_1C8[lbl_1_data_170[var_r29].unk_04]); - } - if (var_r29 == 5) { - CharModelVoiceEnableSet(work->unk_38, object->motion[var_r29], 0); - } - } - work->unk_58 = 0; - CharModelMotionSet(work->unk_38, object->motion[work->unk_58]); - object->model[1] = Hu3DModelCreateFile(lbl_1_data_278[work->unk_04]); - Hu3DModelLayerSet(object->model[1], 2); - Hu3DModelCameraSet(object->model[1], 3); - Hu3DModelScaleSet(object->model[1], 1.2f, 1.2f, 1.2f); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x25)); - Hu3DModelLayerSet(object->model[2], 1); - Hu3DModelCameraSet(object->model[2], 3); - work->unk_60 = HuAudFXPlay(0x67A); - work->unk_68 = 0x50; - if (work->unk_60 != -1) { - HuAudFXVolSet(work->unk_60, work->unk_68); - } - if (work->unk_04 == 0) { - work->unk_64 = HuAudFXPlay(0x675); - } - else { - work->unk_64 = HuAudFXPlay(0x676); - } - if (work->unk_64 != -1) { - HuAudFXPitchSet(work->unk_64, 0); - } - } - else { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (lbl_1_data_1A8[var_r29].unk_04 == 0xFFFFFFFF) { - object->motion[var_r29] = CharModelMotionCreate(work->unk_38, lbl_1_data_1A8[var_r29].unk_00); - } - else { - object->motion[var_r29] = Hu3DJointMotionFile(object->model[0], work->unk_38 + lbl_1_data_1C8[lbl_1_data_1A8[var_r29].unk_04]); - } - if (var_r29 == 2) { - CharModelVoiceEnableSet(work->unk_38, object->motion[var_r29], 0); - } - } - work->unk_58 = 0; - CharModelMotionSet(work->unk_38, object->motion[work->unk_58]); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - object->model[1] = Hu3DModelCreateFile(lbl_1_data_280[work->unk_04]); - Hu3DModelLayerSet(object->model[1], 7); - Hu3DModelCameraSet(object->model[1], 3); - Hu3DModelAttrSet(object->model[1], HU3D_MOTATTR_LOOP); - Hu3DMotionSpeedSet(object->model[1], 2.0f); - object->model[2] = Hu3DModelCreateFile(lbl_1_data_288[work->unk_04]); - Hu3DModelLayerSet(object->model[2], 6); - Hu3DModelCameraSet(object->model[2], 3); - } - CharModelMotionDataClose(work->unk_38); - object->trans.x = work->unk_18; - if (work->unk_0C == 0) { - object->trans.y = 0.0f; - } - else { - object->trans.y = 200.0f; - } - if (work->unk_04 == 0) { - object->trans.z = -100000.0f; - } - else { - object->trans.z = -101000.0f; - } - object->rot.y = 180.0f; - work->unk_20 = object->trans.y; - var_r28 = &lbl_1_bss_174[work->unk_04]; - if (work->unk_0C == 0) { - var_r28->unk_00[work->unk_0C] = work->unk_00; - if (work->unk_08 != 0) { - var_r23 = var_r28->unk_08 | 1; - var_r28->unk_08 = var_r23; - } - var_r28->unk_0C = object->trans.x; - var_r28->unk_10 = 0.0f; - var_r28->unk_14 = object->trans.z; - var_r28->unk_18 = object->trans.z; - var_r28->unk_1C = work->unk_24; - var_r28->unk_20 = 0; - lbl_1_bss_158 = 1; - } - else { - var_r28->unk_00[work->unk_0C] = work->unk_00; - if (work->unk_08 != 0) { - var_r28->unk_08 = var_r28->unk_08 | 2; - } - } - if (work->unk_0C != 0) { - var_r24 = &Hu3DData[object->model[1]]; - var_r26 = var_r24->hsfData; - for (var_r25 = var_r26->material, var_r29 = 0; var_r29 < var_r26->materialCnt; var_r29++, var_r25++) { - var_r25->flags |= 2; - } - } - object->func = fn_1_CA3C; - (void)var_r24; - (void)var_r24; -} - -void fn_1_CA3C(omObjData *object) -{ - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - M430PlayerWork *work; - s32 var_r29; - M430PlayerBss174Struct *var_r28; - HsfData *var_r27; - HsfMaterial *var_r26; - ModelData *var_r25; - - work = object->data; - var_r28 = &lbl_1_bss_174[work->unk_04]; - work->unk_40 = 0; - work->unk_44 = 0; - work->unk_48 = 0.0f; - work->unk_4C = 0.0f; - if (work->unk_0C == 0) { - work->unk_34 = 3; - work->unk_24 = -41.000004f; - object->rot.y = 0.0f; - object->rot.z = 0.0f; - object->trans.z -= work->unk_30; - fn_1_D828(object); - if (work->unk_60 != -1) { - HuAudFXVolSet(work->unk_60, work->unk_68); - } - if (work->unk_64 != -1) { - HuAudFXPitchSet(work->unk_64, (s32)(8192.0f * (work->unk_68 / 127.0f))); - } - object->rot.y = object->rot.z = 0.0f; - if (++work->unk_10 > (60.0f * (1.5f + (0.5f * work->unk_04)))) { - work->unk_30 += 30.000002f; - var_r28->unk_18 = object->trans.z = object->trans.z + work->unk_30; - work->unk_68 += 3; - if (work->unk_68 > 0x7F) { - work->unk_68 = 0x7F; - } - } - else { - var_r28->unk_18 = object->trans.z; - } - var_f30 = work->unk_70 * sind(object->rot.y); - var_f29 = work->unk_70 * cosd(object->rot.y); - Hu3DModelPosSet(object->model[1], object->trans.x + var_f30, object->trans.y, object->trans.z + var_f29); - Hu3DModelRotSet(object->model[1], object->rot.x, object->rot.y, object->rot.z); - Hu3DModelPosSet(object->model[2], object->trans.x + var_f30, object->trans.y - 150.0f, object->trans.z + var_f29); - Hu3DModelRotSet(object->model[2], object->rot.x, 180.0f + object->rot.y, object->rot.z); - fn_1_10540(work->unk_04, 0, object->trans.x, 25.0f + object->trans.y, object->trans.z - 100.0f); - if (work->unk_10 > 30.0f) { - var_f31 = 0.016666668f * (work->unk_10 - 30.0f); - if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - var_f31 = sind((90.0f * var_f31)); - var_f31 *= var_f31; - } - else { - var_f31 = 0.0f; - } - CenterM[work->unk_04].x = work->unk_18 - (var_f31 * work->unk_18); - CenterM[work->unk_04].z = (950.0f * (0.5f + (0.5f * var_f31))) + fn_1_7FBC(work->unk_04); - } - else { - work->unk_1C = 0.0f; - object->rot.y = 0.0f; - object->rot.z = 0.0f; - fn_1_E8FC(object); - work->unk_1C = 0.0f; - object->rot.y = 0.0f; - object->rot.z = 0.0f; - object->trans.y = 200.0f; - object->trans.z = var_r28->unk_18 - 300.0f; - object->rot.z = 0.0f; - for (var_r29 = 0; var_r29 < 2; var_r29++) { - Hu3DModelPosSet(object->model[var_r29 + 1], object->trans.x, 150.0f + object->trans.y, 50.0f + object->trans.z); - Hu3DModelRotSet(object->model[var_r29 + 1], object->rot.x, object->rot.y, object->rot.z); - } - fn_1_10540(work->unk_04, 1, object->trans.x, 150.0f + object->trans.y, 50.0f + object->trans.z); - if (work->unk_6C == -1) { - sp8.x = object->trans.x; - sp8.y = object->trans.y; - sp8.z = object->trans.z; - work->unk_6C = HuAudFXEmiterPlay(0x67B, &sp8); - } - else { - sp8.x = object->trans.x; - sp8.y = object->trans.y; - sp8.z = object->trans.z; - HuAudFXEmiterUpDate(work->unk_6C, &sp8); - } - } - if (fn_1_4058() == 2) { - if (work->unk_0C == 0) { - work->unk_34 = 1; - work->unk_24 = 12.500001f; - work->unk_28 = 0.0f; - work->unk_68 = 0x50; - object->trans.y = 0.0f; - } - else { - var_r25 = &Hu3DData[object->model[1]]; - var_r27 = var_r25->hsfData; - for (var_r26 = var_r27->material, var_r29 = 0; var_r29 < var_r27->materialCnt; var_r29++, var_r26++) { - var_r26->flags &= 0xFFFFFFFD; - } - if (work->unk_6C != -1) { - HuAudFXStop(work->unk_6C); - } - work->unk_6C = -1; - if (work->unk_04 == 0) { - work->unk_6C = HuAudFXPlay(0x67C); - } - else { - work->unk_6C = HuAudFXPlay(0x67D); - } - if (work->unk_6C != -1) { - HuAudFXPitchSet(work->unk_6C, -0x2000); - } - work->unk_28 = 0.0f; - object->trans.y = 200.0f; - object->rot.z = 180.0f; - } - object->trans.x *= -1.0f; - work->unk_18 *= -1.0f; - object->trans.x = work->unk_18; - object->trans.z = 0.0f; - object->rot.x = 0.0f; - object->rot.y = 180.0f; - work->unk_1C = 180.0f; - work->unk_20 = object->trans.y; - lbl_1_bss_158 = 0; - object->func = fn_1_D2D0; - } -} - -void fn_1_D2D0(omObjData *object) -{ - s32 spC; - s32 sp8; - float var_f31; - M430PlayerWork *work; - s32 var_r29; - M430PlayerBss174Struct *var_r28; - - work = object->data; - spC = 0; - sp8 = -1; - var_r28 = &lbl_1_bss_174[work->unk_04]; - if ((lbl_1_bss_15C == 0) && (fn_1_4070() >= 2)) { - fn_1_12DF0(1); - } - if (lbl_1_bss_17C != 0) { - Hu3DModelCameraSet(object->model[0], 3); - Hu3DModelCameraSet(object->model[1], 3); - if (object->model[2] != -1) { - Hu3DModelCameraSet(object->model[2], 3); - } - } - else { - if (work->unk_04 == 0) { - var_r29 = 1; - } - else { - var_r29 = 2; - } - Hu3DModelCameraSet(object->model[0], var_r29); - Hu3DModelCameraSet(object->model[1], var_r29); - if (object->model[2] != -1) { - Hu3DModelCameraSet(object->model[2], var_r29); - } - } - if (fn_1_4070() == 2) { - work->unk_40 = HuPadBtn[work->unk_06]; - work->unk_44 = HuPadBtnDown[work->unk_06]; - work->unk_48 = HuPadStkX[work->unk_06]; - work->unk_4C = HuPadStkY[work->unk_06]; - } - else { - work->unk_40 = 0; - work->unk_44 = 0; - work->unk_48 = 0.0f; - work->unk_4C = 0.0f; - } - if (fn_1_4070() < 2) { - work->unk_1C = 180.0f; - work->unk_28 = 0.0f; - object->trans.x = work->unk_18; - object->rot.y = 180.0f; - } - if (work->unk_0C == 0) { - fn_1_D828(object); - var_f31 = (work->unk_24 - 12.500001f) / 28.500004f; - work->unk_68 = 80.0f + (47.0f * var_f31); - if (work->unk_60 != -1) { - HuAudFXVolSet(work->unk_60, work->unk_68); - } - if (work->unk_64 != -1) { - HuAudFXPitchSet(work->unk_64, (s32)(8192.0f * (work->unk_68 / 127.0f))); - } - } - else { - fn_1_E8FC(object); - var_f31 = (var_r28->unk_1C - 12.500001f) / 28.500004f; - var_f31 = 8192.0f + (-16384.0f * (1.0f - var_f31)); - if (work->unk_6C != -1) { - HuAudFXPitchSet(work->unk_6C, var_f31); - } - } - if (fn_1_4070() == 3) { - fn_1_40D0(work->unk_00); - work->unk_5C = 0; - return; - } - if (fn_1_4070() == 4) { - work->unk_0E = 2; - work->unk_10 = 0; - if (work->unk_0C == 0) { - work->unk_58 = 4; - } - else { - work->unk_58 = 1; - } - CharModelMotionSet(work->unk_38, object->motion[work->unk_58]); - Hu3DModelCameraSet(object->model[0], 1); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - if ((object->model[1] != -1) && (work->unk_0C != 0)) { - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - } - if (work->unk_60 != -1) { - HuAudFXStop(work->unk_60); - } - if (work->unk_64 != -1) { - HuAudFXStop(work->unk_64); - } - work->unk_60 = work->unk_64 = -1; - if (work->unk_6C != -1) { - HuAudFXStop(work->unk_6C); - } - if (object->model[2] != -1) { - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - } - fn_1_105B8(work->unk_04); - fn_1_11314(work->unk_04); - fn_1_11B94(work->unk_04); - fn_1_12550(work->unk_04); - object->func = fn_1_F0D8; - } -} - -void fn_1_D828(omObjData *var_r30) -{ - Mtx sp20; - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - float var_f25; - float var_f24; - float var_f23; - float var_f22; - float var_f21; - float var_f20; - float var_f19; - float var_f18; - M430PlayerWork *var_r31; - M430PlayerBss174Struct *var_r29; - s32 var_r28; - s32 var_r27; - - var_r31 = var_r30->data; - var_r27 = -1; - var_r29 = &lbl_1_bss_174[var_r31->unk_04]; - if ((fn_1_4070() == 2) && (var_r31->unk_08 != 0)) { - fn_1_F6A0(var_r30); - } - mtxRot(sp20, var_r30->rot.x, var_r30->rot.y, var_r30->rot.z); - sp20[1][0] *= var_r30->scale.y; - sp20[1][1] *= var_r30->scale.y; - sp20[1][2] *= var_r30->scale.z; - var_r30->trans.y = 0.3f * (100.0f * (var_r31->unk_24 / 41.000004f)); - if (var_r30->trans.y < 0.0f) { - var_r30->trans.y *= -0.5f; - } - var_f27 = 15.0f * (var_r31->unk_24 / 41.000004f); - if (var_r31->unk_24 < 0.0f) { - var_f27 *= -0.5f; - } - switch (var_r31->unk_0E) { - case 0: - var_r31->unk_12 = var_r31->unk_34 + (frand() & 7) + var_r31->unk_12; - var_r31->unk_14 = var_r31->unk_34 + (frand() & 7) + var_r31->unk_14; - var_r30->rot.x = (2.5 * sind(var_r31->unk_12)) - var_f27; - var_r30->rot.z = 2.0 * cosd(var_r31->unk_14); - for (var_r28 = 0; var_r28 < 8; var_r28++) { - sp14.x = lbl_1_data_1F8[var_r28].x; - sp14.y = lbl_1_data_1F8[var_r28].y; - sp14.z = lbl_1_data_1F8[var_r28].z; - fn_1_133DC(&sp20[0], &sp14); - var_f31 = var_r31->unk_70 * sind(var_r30->rot.y); - var_f29 = var_r31->unk_70 * cosd(var_r30->rot.y); - if (fn_1_110A8( - var_r31->unk_04, var_f31 + (sp14.x + var_r30->trans.x), sp14.y + var_r30->trans.y, var_f29 + (sp14.z + var_r30->trans.z), 1) - != 0) { - break; - } - } - if (var_r28 < 8) { - var_r31->unk_58 = 3; - CharModelMotionShiftSet(var_r31->unk_38, var_r30->motion[var_r31->unk_58], 0.0f, 10.0f, 0); - var_r31->unk_0E = 1; - var_r31->unk_10 = 0; - if (var_r31->unk_04 == 0) { - HuAudFXPlay(0x678); - } - else { - HuAudFXPlay(0x67E); - } - HuAudCharVoicePlay(var_r31->unk_38, 0x123); - omVibrate(var_r31->unk_00, 0xC, 4, 2); - var_r31->unk_2C = 5.0f; - var_r31->unk_16 = frand() & 3; - } - break; - case 1: - var_r31->unk_34 = 1; - var_r31->unk_44 = 0; - var_r31->unk_48 = 0.0f; - var_r31->unk_12 = var_r31->unk_34 + (frand() & 7) + var_r31->unk_12; - var_r31->unk_14 = var_r31->unk_34 + (frand() & 7) + var_r31->unk_14; - var_r30->rot.x = (2.5 * sind(var_r31->unk_12)) - var_f27; - var_r30->rot.z = 2.0 * cosd(var_r31->unk_14); - var_r31->unk_2C = 5.0f - (5.0f * (0.011111111f * var_r31->unk_10)); - var_f25 = 7.0 * (var_r31->unk_2C * sind((10.0f * var_r31->unk_10))); - if ((var_r31->unk_16 & 1) != 0) { - var_r30->rot.x += var_f25; - } - else { - var_r30->rot.x -= var_f25; - } - if ((var_r31->unk_16 & 2) != 0) { - var_r30->rot.z += var_f25; - } - else { - var_r30->rot.z -= var_f25; - } - if ((var_r31->unk_10 & 1) != 0) { - Hu3DModelAttrSet(var_r30->model[0], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrReset(var_r30->model[0], HU3D_ATTR_DISPOFF); - } - if (++var_r31->unk_10 >= 90.0f) { - var_r31->unk_0E = 0; - var_r31->unk_10 = 0; - Hu3DModelAttrReset(var_r30->model[0], HU3D_ATTR_DISPOFF); - } - break; - } - var_f24 = var_r31->unk_48; - var_f23 = var_f24; - if (fabs2(var_f23) < 8.0) { - var_f24 = 0.0f; - } - var_r31->unk_28 *= 0.98f; - var_r31->unk_28 += 0.0017499999f * var_f24; - if (var_r31->unk_28 < -8.75f) { - var_r31->unk_28 = -8.75f; - } - else if (var_r31->unk_28 > 8.75f) { - var_r31->unk_28 = 8.75f; - } - var_r30->trans.x += var_r31->unk_28; - var_f26 = 180.0f - (30.0f * (0.015625f * var_f24)); - var_r31->unk_1C = fn_1_13154(var_f26, var_r31->unk_1C, 1.0f); - var_r30->rot.y = var_r31->unk_1C; - if (var_r30->trans.x > (350.0f + var_r31->unk_18)) { - var_r30->trans.x = 350.0f + var_r31->unk_18; - } - else if (var_r30->trans.x < (var_r31->unk_18 - 350.0f)) { - var_r30->trans.x = var_r31->unk_18 - 350.0f; - } - if (var_r31->unk_0E == 0) { - if ((var_r31->unk_48 > 8.0f) && (var_r30->rot.y < 170.0f)) { - var_r27 = 1; - } - else if ((var_r31->unk_48 < -8.0f) && (var_r30->rot.y > 190.0f)) { - var_r27 = 2; - } - else { - var_r27 = 0; - } - if ((var_r27 != -1) && (var_r31->unk_58 != var_r27) && (CharModelMotionShiftIDGet(var_r31->unk_38) < 0)) { - var_r31->unk_58 = var_r27; - CharModelMotionShiftSet(var_r31->unk_38, var_r30->motion[var_r31->unk_58], 0.0f, 10.0f, 0); - } - } - if ((var_r31->unk_44 & 0x100) != 0) { - var_r31->unk_34++; - } - else if ((var_r31->unk_44 & 0x200) != 0) { - var_r31->unk_34--; - } - if (var_r31->unk_34 < 1) { - var_r31->unk_34 = 1; - } - else if (var_r31->unk_34 > 3) { - var_r31->unk_34 = 3; - } - switch (var_r31->unk_34) { - case 1: - var_f30 = 12.500001f; - (void)var_f30; - break; - case 2: - var_f30 = 27.916668f; - (void)var_f30; - break; - default: - var_f30 = 41.000004f; - break; - } - if (fabs(var_f30 - var_r31->unk_24) < 1.6666667461395264) { - var_r31->unk_24 = var_f30; - } - else if (var_f30 > var_r31->unk_24) { - var_r31->unk_24 += 1.6666667f; - } - else { - var_r31->unk_24 -= 1.6666667f; - } - var_r30->trans.z -= var_r31->unk_24; - if (fn_1_4070() >= 1) { - if ((var_r31->unk_50 -= var_r31->unk_24) < 0.0f) { - var_r31->unk_50 = 4500.0f - (500.0f * ((frand() & 0x8F) / 128.0f)); - var_f31 = var_r31->unk_18 + lbl_1_data_1DC[frand() & 7]; - fn_1_10F24(var_r31->unk_04, var_f31, var_r30->trans.y - 100.0f, -6000.0f + var_r30->trans.z); - } - if ((var_r31->unk_54 -= var_r31->unk_24) < 0.0f) { - var_r31->unk_54 = 2000.0f; - var_f31 = var_r31->unk_18 + lbl_1_data_1DC[frand() & 7]; - if ((frand() & 1) != 0) { - var_f26 = 350.0f; - } - else { - var_f26 = 500.0f; - } - if (fn_1_4070() == 2) { - fn_1_11648(var_r31->unk_04, var_f31, 50.0f + var_f26, -6000.0f + var_r30->trans.z); - } - } - } - var_r29->unk_10 = var_r30->trans.x - var_r29->unk_0C; - var_r29->unk_0C = var_r30->trans.x; - var_r29->unk_14 = var_r30->trans.z; - if (lbl_1_bss_158 == 0) { - var_r29->unk_18 = var_r30->trans.z; - } - var_r29->unk_1C = var_r31->unk_24; - fn_1_7FFC(var_r31->unk_04, var_r30->trans.z); - CenterM[var_r31->unk_04].x = var_r31->unk_18 + (0.5f * (var_r30->trans.x - var_r31->unk_18)); - CenterM[var_r31->unk_04].z = 950.0f + fn_1_7FBC(var_r31->unk_04); - var_f31 = var_r31->unk_70 * sind(var_r30->rot.y); - var_f31 = var_f31; - var_f29 = var_r31->unk_70 * cosd(var_r30->rot.y); - var_f29 = var_f29; - if (var_r31->unk_00 == 0) { - OSReport("X>%3.3f Z>%3.3f \n", var_f31, var_f29); - } - Hu3DModelPosSet(var_r30->model[1], var_r30->trans.x + var_f31, var_r30->trans.y, var_r30->trans.z + var_f29); - Hu3DModelRotSet(var_r30->model[1], var_r30->rot.x, var_r30->rot.y, var_r30->rot.z); - Hu3DModelPosSet(var_r30->model[2], var_r30->trans.x + var_f31, var_r30->trans.y - 150.0f, var_r30->trans.z + var_f29); - Hu3DModelRotSet(var_r30->model[2], var_r30->rot.x, 180.0f + var_r30->rot.y, var_r30->rot.z); - sp14.x = 0.0f; - sp14.y = 25.0f; - sp14.z = -100.0f; - fn_1_133DC(sp20, &sp14); - sp14.x += var_r30->trans.x; - sp14.y += var_r30->trans.y; - sp14.z += var_r29->unk_18; - fn_1_10540(var_r31->unk_04, 0, sp14.x, sp14.y, sp14.z); - var_f28 = var_r31->unk_24 / 41.000004f; - if (var_f28 < 0.0) { - var_f28 *= -1.0f; - } - fn_1_AEE0(var_r31->unk_04, &sp14, 180.0f + var_r30->rot.y, var_f28); - sp8.x = var_r31->unk_28; - sp8.y = 0.0f; - sp8.z = -var_r31->unk_24; - sp14.x = 0.0f; - sp14.y = 0.0f; - sp14.z = 160.0f; - fn_1_133DC(&sp20[0], &sp14); - sp14.x += var_r30->trans.x; - sp14.y += var_r30->trans.y; - sp14.z += var_r29->unk_18; - fn_1_B570(var_r31->unk_04, &sp14, var_r30->rot.y, var_f28, &sp8); -} - -s32 lbl_1_data_2A4[2] = { 1, 2 }; -Vec lbl_1_data_2AC[7] = { - { -300.0f, 30.000002f, -150.0f }, - { -150.0f, 30.000002f, 0.0f }, - { 150.0f, 30.000002f, 0.0f }, - { 300.0f, 30.000002f, -150.0f }, - { -400.0f, 0.0f, 250.0f }, - { 380.0f, 0.0f, 300.0f }, - { 0.0f, 1.0f, 0.0f }, -}; -Vec2f lbl_1_data_300 = { 0.0f, 0.0f }; -s32 lbl_1_data_308 = 0xFFA040FF; - -void fn_1_E8FC(omObjData *object) -{ - Mtx sp3C; - Vec sp30; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - M430PlayerWork *work; - M430PlayerBss174Struct *var_r29; - s32 var_r28; - - work = object->data; - var_f27 = 180.0f; - var_f31 = 0.0f; - var_f29 = 0.0f; - var_r29 = &lbl_1_bss_174[work->unk_04]; - if ((fn_1_4070() == 2) && (work->unk_08 != 0)) { - fn_1_FC9C(object); - } - if ((s32)work->unk_0E != 0) { - (void)object; - } - else if ((fn_1_4070() == 2) && (fn_1_117A4(work->unk_04, object->trans.x, 50.0f + object->trans.y, object->trans.z, 1) != -1)) { - HuAudFXPlay(7); - var_r29->unk_20++; - } - if (fabs(var_f28 = work->unk_48) < 8.0) { - var_f28 = 0.0f; - } - work->unk_28 *= 0.98f; - work->unk_28 += 0.002625f * var_f28; - if (work->unk_28 < -8.75f) { - work->unk_28 = -8.75f; - } - else if (work->unk_28 > 8.75f) { - work->unk_28 = 8.75f; - } - var_f26 = object->trans.x; - object->trans.x += work->unk_28; - if (object->trans.x > (350.0f + work->unk_18)) { - object->trans.x = 350.0f + work->unk_18; - } - else if (object->trans.x < (work->unk_18 - 350.0f)) { - object->trans.x = work->unk_18 - 350.0f; - } - var_f30 = fabs(0.0033333334f * (object->trans.y - 200.0f)); - var_f31 = 245.0f + (-105.0f * var_f30); - if (object->trans.x > (var_r29->unk_0C + var_f31)) { - object->trans.x = var_r29->unk_0C + var_f31; - } - else if (object->trans.x < (var_r29->unk_0C - var_f31)) { - object->trans.x = var_r29->unk_0C - var_f31; - } - var_f27 = 180.0f; - work->unk_1C = var_f27 - (30.0f * (0.114285715f * (object->trans.x - var_f26))); - object->rot.y = fn_1_13154(work->unk_1C, object->rot.y, 2.5f); - if (fabs(fn_1_1303C(object->rot.y, 180.0f)) < 90.0) { - object->rot.z = 0.5f * (object->rot.y - 180.0f); - } - else { - object->rot.z = 0.5f * object->rot.y; - } - object->trans.z = 300.0f + var_r29->unk_18; - if (var_r29->unk_1C < 18.75f) { - var_f29 = 200.0f; - } - else if (var_r29->unk_1C < 33.333336f) { - var_f29 = 350.0f; - } - else { - var_f29 = 500.0f; - } - var_f30 = work->unk_20 - var_f29; - if (fabs(var_f30) < 1.6666667461395264) { - work->unk_20 = var_f29; - } - else if (var_f30 > 0.0f) { - work->unk_20 -= 1.6666667f; - } - else if (var_f30 < 0.0f) { - work->unk_20 += 1.6666667f; - } - work->unk_10 += (frand() & 3) + 1; - object->trans.y = work->unk_20 + (0.10000000149011612 * (100.0 * sind(work->unk_10))); - mtxRot(&sp3C[0], object->rot.x, object->rot.y, object->rot.z); - sp3C[1][0] *= object->scale.y; - sp3C[1][1] *= object->scale.y; - sp3C[1][2] *= object->scale.z; - sp30.x = 0.0f; - sp30.y = 150.0f; - sp30.z = 50.0f; - fn_1_133DC(&sp3C[0], &sp30); - for (var_r28 = 0; var_r28 < 2; var_r28++) { - Hu3DModelPosSet(object->model[lbl_1_data_2A4[var_r28]], object->trans.x + sp30.x, object->trans.y + sp30.y, object->trans.z + sp30.z); - Hu3DModelRotSet(object->model[lbl_1_data_2A4[var_r28]], object->rot.x, object->rot.y, object->rot.z); - } - sp30.x = 0.0f; - sp30.y = 150.0f; - sp30.z = 50.0f; - fn_1_133DC(&sp3C[0], &sp30); - fn_1_10540(work->unk_04, 1, object->trans.x + sp30.x, object->trans.y + sp30.y, object->trans.z + sp30.z); - fn_1_1058C(work->unk_04, 1.0 - fabs((object->trans.x - var_r29->unk_0C) / var_f31)); -} - -void fn_1_F0D8(omObjData *object) -{ - float var_f31; - float var_f30; - M430PlayerWork *work; - s32 var_r29; - M430PlayerBss174Struct *var_r28; - s32 var_r27; - M430PlayerBss174Struct *var_r26; - - work = object->data; - var_r28 = &lbl_1_bss_174[work->unk_04]; - var_r26 = &lbl_1_bss_174[work->unk_04 ^ 1]; - switch (work->unk_5C) { - case 0: - var_r27 = work->unk_0C + (work->unk_04 * 2); - object->trans.x = lbl_1_data_2AC[var_r27].x; - object->trans.y = lbl_1_data_2AC[var_r27].y; - object->trans.z = lbl_1_data_2AC[var_r27].z + fn_1_7FBC(0); - object->rot.x = object->rot.y = object->rot.z = 0.0f; - object->scale.x = object->scale.y = object->scale.z = 1.0f; - CenterM[0].x = 0.0f; - CenterM[0].z = 750.0f + object->trans.z; - if (work->unk_0C == 0) { - work->unk_58 = 4; - } - else { - work->unk_58 = 1; - } - CharModelMotionSet(work->unk_38, object->motion[work->unk_58]); - Hu3DModelShadowSet(object->model[0]); - if (work->unk_0C == 0) { - Hu3DModelCameraSet(object->model[1], 3); - Hu3DModelAttrReset(object->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelCameraSet(object->model[2], 3); - Hu3DModelAttrReset(object->model[2], HU3D_ATTR_DISPOFF); - work->unk_1C = (180.0f + (40.0f * (0.007874016f * (frand() & 0x7F)))) - 20.0f; - if (work->unk_04 == 0) { - var_r29 = 4; - } - else { - var_r29 = 5; - } - Hu3DModelPosSet(object->model[1], lbl_1_data_2AC[var_r29].x, lbl_1_data_2AC[var_r29].y, lbl_1_data_2AC[var_r29].z + fn_1_7FBC(0)); - Hu3DModelPosSet( - object->model[2], lbl_1_data_2AC[var_r29].x, lbl_1_data_2AC[var_r29].y - 150.0f, lbl_1_data_2AC[var_r29].z + fn_1_7FBC(0)); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(object->model[1]); - } - if (var_r28->unk_20 > 0) { - work->unk_0E = 3; - } - else { - work->unk_0E = 4; - } - GWPlayerCoinCollectAdd(work->unk_00, var_r28->unk_20); - work->unk_5C++; - break; - case 1: - if (fn_1_4088() == 1) { - if (work->unk_00 == 0) { - if ((var_r28->unk_20 == 0) && (var_r26->unk_20 == 0)) { - HuAudSStreamPlay(4); - } - else { - HuAudSStreamPlay(1); - } - } - if (work->unk_0C == 0) { - if (work->unk_0E == 3) { - work->unk_58 = 5; - } - else { - work->unk_58 = 6; - } - } - else if (work->unk_0E == 3) { - work->unk_58 = 2; - } - else { - work->unk_58 = 3; - } - CharModelMotionShiftSet(work->unk_38, object->motion[work->unk_58], 0.0f, 8.0f, 0); - if (work->unk_0E == 3) { - HuAudCharVoicePlay(work->unk_38, 0x122); - } - work->unk_10 = 0; - work->unk_5C++; - } - break; - case 2: - if (fn_1_F62C(object) != 0) { - fn_1_4100(work->unk_00); - work->unk_5C++; - } - break; - } - if (work->unk_0C == 0) { - var_f31 = -10.0f; - var_f30 = 0.0f; - Hu3DModelRotSet(object->model[1], var_f31, work->unk_1C, var_f30); - Hu3DModelRotSet(object->model[2], var_f31, work->unk_1C, var_f30); - } -} - -s32 fn_1_F62C(omObjData *object) -{ - M430PlayerWork *work = object->data; - s32 var_r30 = 0; - if ((CharModelMotionEndCheck(work->unk_38) != 0) && (CharModelMotionShiftIDGet(work->unk_38) < 0)) { - var_r30 = 1; - } - return var_r30; -} - -void fn_1_F6A0(omObjData *object) -{ - Vec sp38; - float sp30; - float sp28; - float sp20; - float sp18; - float sp10; - float sp8; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - float var_f25; - float var_f24; - float var_f23; - float var_f22; - float var_f21; - float var_f20; - float var_f19; - float var_f18; - M430PlayerWork *work; - s32 var_r29; - s32 var_r28; - M430PlayerBss168Struct *var_r27; - M430PlayerBss174Struct *var_r26; - s32 var_r25; - s32 var_r24; - - work = object->data; - var_r28 = 3; - var_r26 = &lbl_1_bss_174[work->unk_04]; - if (var_r26->unk_08 != 3) { - work->unk_0A = 3; - } - if (--work->unk_74 < 0) { - work->unk_7C = 150.0f * (3 - work->unk_0A) * ((frand() & 0x7F) / 127.0f); - if ((frand() & 1) != 0) { - work->unk_7C *= -1.0f; - } - work->unk_74 = 0x1E + (frand() % 30) + (4 - work->unk_0A) * 0x3C; - } - switch (work->unk_34) { - case 1: - var_f27 = 500.0f; - break; - case 2: - var_f27 = 1500.0f; - break; - default: - var_f27 = 3000.0f; - break; - } - var_r25 = fn_1_111BC(work->unk_04, object->trans.z, &sp38); - var_f30 = sp38.x; - var_f25 = sp38.z; - var_r29 = fn_1_11A1C(work->unk_04, object->trans.z, &sp38); - var_f29 = sp38.x; - var_f28 = sp38.z; - if (var_r29 == work->unk_78) { - var_r29 = fn_1_11A1C(work->unk_04, 100.0f + var_f28, &sp38); - var_f29 = sp38.x; - var_f28 = sp38.z; - } - else if (work->unk_78 == -1) { - var_r24 = fn_1_11A1C(work->unk_04, 100.0f + var_f28, &sp38); - var_f26 = sp38.x; - if (work->unk_0A >= 2) { - if (fabs(var_f29 - object->trans.x) > 300.0) { - if (fabs(var_f26 - object->trans.x) < 300.0) { - if ((fabs(var_f28 - object->trans.z) < 1800.0) && (work->unk_34 == 3)) { - work->unk_78 = var_r29; - var_r29 = var_r24; - var_f29 = var_f26; - } - } - } - } - } - else { - work->unk_78 = -1; - } - if (fabs(var_f25 - object->trans.z) < var_f27) { - if (var_f30 > object->trans.x) { - var_f31 = var_f30 - 200.0f; - } - else { - var_f31 = 200.0f + var_f30; - } - } - else { - if ((fabs(var_f30 - var_f29) > 200.0) || (var_r25 == -1)) { - var_f31 = var_f29; - } - else if ((var_f30 > var_f29) || (var_f30 > (250.0f + work->unk_18))) { - var_f31 = var_f30 - 200.0f; - } - else { - var_f31 = 200.0f + var_f30; - } - } - var_f31 += work->unk_7C; - if (var_f31 > (350.0f + work->unk_18)) { - var_f31 = 350.0f + work->unk_18; - } - else if (var_f31 < (work->unk_18 - 350.0f)) { - var_f31 = work->unk_18 - 350.0f; - } - if (var_r29 != -1) { - var_f31 -= object->trans.x; - if (var_f31 > 30.000002f) { - work->unk_48 = 64.0f; - } - else if (var_f31 < -30.000002f) { - work->unk_48 = -64.0f; - } - var_r27 = fn_1_11B64(var_r29); - if (var_r27 != NULL) { - if (var_r27->unk_14.y > 450.0f) { - var_r28 = 3; - } - else { - var_r28 = 2; - } - } - if (var_r28 > work->unk_34) { - work->unk_44 |= 0x100; - return; - } - if (var_r28 < work->unk_34) { - work->unk_44 |= 0x200; - } - } - else if (var_r28 > work->unk_34) { - work->unk_44 |= 0x100; - } -} - -void fn_1_FC9C(omObjData *object) -{ - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - M430PlayerWork *work; - s32 var_r29; - M430PlayerBss174Struct *var_r28; - s32 var_r27; - - work = object->data; - var_r28 = &lbl_1_bss_174[work->unk_04]; - if (var_r28->unk_08 != 3) { - work->unk_0A = 3; - } - if (--work->unk_74 < 0) { - work->unk_7C = 75.0f * (3 - work->unk_0A) * ((frand() & 0x7F) / 127.0f); - if ((frand() & 1) != 0) { - work->unk_7C *= -1.0f; - } - work->unk_74 = 0x1E + (frand() % 60) + (4 - work->unk_0A) * 0x3C; - } - var_r29 = fn_1_11A1C(work->unk_04, object->trans.z, &sp8); - var_f31 = sp8.x; - var_f30 = sp8.z; - if (var_r29 == work->unk_78) { - var_r29 = fn_1_11A1C(work->unk_04, 100.0f + var_f30, &sp8); - var_f31 = sp8.x; - var_f30 = sp8.z; - } - else if (work->unk_78 == -1) { - var_r27 = fn_1_11A1C(work->unk_04, 100.0f + var_f30, &sp8); - var_f29 = sp8.x; - if (work->unk_0A >= 2) { - if (fabs(var_f31 - object->trans.x) > 300.0) { - if (fabs(var_f29 - object->trans.x) < 300.0) { - if ((fabs(var_f30 - object->trans.z) < 1800.0) && (work->unk_34 == 3)) { - work->unk_78 = var_r29; - var_r29 = var_r27; - var_f31 = var_f29; - } - } - } - } - } - else { - work->unk_78 = -1; - } - var_f31 += work->unk_7C; - if (var_f31 > (350.0f + work->unk_18)) { - var_f31 = 350.0f + work->unk_18; - } - else if (var_f31 < (work->unk_18 - 350.0f)) { - var_f31 = work->unk_18 - 350.0f; - } - if (var_r29 != -1) { - var_f31 -= object->trans.x; - if (var_f31 > 30.000002f) { - work->unk_48 = 64.0f; - return; - } - if (var_f31 < -30.000002f) { - work->unk_48 = -64.0f; - } - } -} - -void fn_1_100A0(void) -{ - M430PlayerBss170Struct *var_r31; - ModelData *var_r30; - s32 var_r29; - s32 var_r28; - void *var_r27; - void *var_r26; - - var_r31 = lbl_1_bss_170 = HuMemDirectMallocNum(HEAP_SYSTEM, 2 * sizeof(M430PlayerBss170Struct), MEMORY_DEFAULT_NUM); - memset(var_r31, 0, 2 * sizeof(M430PlayerBss170Struct)); - for (var_r28 = 0; var_r28 < 2; var_r31++) { - var_r31->unk_00 = var_r28; - var_r31->unk_04 = Hu3DHookFuncCreate(fn_1_10948); - Hu3DModelLayerSet(var_r31->unk_04, 6); - Hu3DModelCameraSet(var_r31->unk_04, 3); - var_r30 = &Hu3DData[var_r31->unk_04]; - var_r30->unk_120 = var_r31; - var_r31->unk_08 = 1; - var_r31->unk_0C = 0.0f; - var_r31->unk_10 = var_r31->unk_14 = var_r31->unk_18 = 0.0f; - var_r31->unk_1C = var_r31->unk_20 = var_r31->unk_24 = 500.0f; - var_r31->unk_28 = var_r31->unk_2C = var_r31->unk_30 = 1000.0f; - var_r31->unk_34 = var_r31->unk_38 = var_r31->unk_3C = 0.0f; - var_r31->unk_40 = var_r31->unk_44 = var_r31->unk_48 = 1000.0f; - var_r31->unk_58 = 0; - var_r31->unk_4C = HuMemDirectMallocNum(HEAP_SYSTEM, 0xC0, MEMORY_DEFAULT_NUM); - memset(var_r31->unk_4C, 0, 0xC0); - var_r31->unk_50 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xC0, MEMORY_DEFAULT_NUM); - memset(var_r31->unk_50, 0, 0xC0); - var_r31->unk_54 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x80, MEMORY_DEFAULT_NUM); - memset(var_r31->unk_54, 0, 0x80); - var_r30 = &Hu3DData[var_r31->unk_04]; - var_r27 = HuMemDirectMallocNum(HEAP_DATA, 0x200, var_r30->unk_48); - var_r26 = var_r27; - DCFlushRange(var_r27, 0x200); - GXBeginDisplayList(var_r26, 0x200); - GXBegin(GX_LINESTRIP, GX_VTXFMT0, 0x10); - for (var_r29 = 0; var_r29 < 0x10; var_r29++) { - GXUnknownu16(var_r29); - GXUnknownu16(0); - GXUnknownu16(var_r29); - } - var_r31->unk_5C = GXEndDisplayList(); - var_r31->unk_60 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_5C, var_r30->unk_48); - memcpy(var_r31->unk_60, var_r27, var_r31->unk_5C); - DCFlushRange(var_r31->unk_60, var_r31->unk_5C); - HuMemDirectFree(var_r27); - fn_1_1061C(var_r31); - var_r28++; - } -} - -void fn_1_1033C(void) -{ - float var_f31; - M430PlayerBss170Struct *var_r31; - s32 var_r30; - s32 var_r29; - - for (var_r31 = lbl_1_bss_170, var_r29 = 0; var_r29 < 2; var_r29++, var_r31++) { - if (var_r31->unk_08 != 0) { - var_r31->unk_34 = var_r31->unk_38 = var_r31->unk_3C = 0.0f; - var_r31->unk_40 = var_r31->unk_28 - var_r31->unk_10; - var_r31->unk_44 = var_r31->unk_2C - var_r31->unk_14; - var_r31->unk_48 = var_r31->unk_30 - var_r31->unk_18; - var_f31 = 0.5f * (var_r31->unk_34 + var_r31->unk_40); - var_r31->unk_1C = var_f31 + (var_r31->unk_0C * (var_r31->unk_40 - var_f31)); - var_f31 = 0.5f * (var_r31->unk_38 + var_r31->unk_44); - var_r31->unk_20 = var_f31 + (var_r31->unk_0C * (var_r31->unk_38 - var_f31)); - var_f31 = 0.5f * (var_r31->unk_3C + var_r31->unk_48); - var_r31->unk_24 = var_f31 + (var_r31->unk_0C * (var_r31->unk_3C - var_f31)); - for (var_r30 = 0; var_r30 < 0x10; var_r30++) { - var_f31 = var_r30 / 15.0f; - if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - fn_1_12F20(var_f31, &var_r31->unk_34, &var_r31->unk_1C, &var_r31->unk_40, (float *)&var_r31->unk_4C[var_r30]); - } - fn_1_1061C(var_r31); - Hu3DModelPosSet(var_r31->unk_04, var_r31->unk_10, var_r31->unk_14, var_r31->unk_18); - } - } -} - -void fn_1_1053C(void) { } - -void fn_1_10540(s32 arg0, s32 arg1, float arg8, float arg9, float argA) -{ - M430PlayerBss170Struct *var_r31 = &lbl_1_bss_170[arg0]; - if (arg1 == 0) { - var_r31->unk_10 = arg8; - var_r31->unk_14 = arg9; - var_r31->unk_18 = argA; - return; - } - var_r31->unk_28 = arg8; - var_r31->unk_2C = arg9; - var_r31->unk_30 = argA; -} - -void fn_1_1058C(s32 arg0, float arg8) -{ - M430PlayerBss170Struct *var_r31 = &lbl_1_bss_170[arg0]; - var_r31->unk_0C = arg8; -} - -void fn_1_105B8(s32 arg0) -{ - M430PlayerBss170Struct *var_r31 = &lbl_1_bss_170[arg0]; - if (var_r31->unk_08 != 0) { - Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF); - } - var_r31->unk_08 = 0; -} - -void fn_1_1061C(M430PlayerBss170Struct *var_r31) -{ - float var_f31; - float var_f30; - float var_f29; - float var_f27; - float var_f25; - s32 var_r30; - - var_f27 = 0.0f; - for (var_r30 = 0xF; var_r30 >= 0; var_r30--) { - var_r31->unk_50[var_r30] = var_r31->unk_4C[var_r30]; - var_r31->unk_54[var_r30] = lbl_1_data_300; - if (var_r30 == 0) { - var_f27 = 0.0f; - var_r31->unk_54[var_r30].y = var_f27; - } - else { - var_f31 = var_r31->unk_4C[var_r30 - 1].x - var_r31->unk_4C[var_r30].x; - var_f30 = var_r31->unk_4C[var_r30 - 1].y - var_r31->unk_4C[var_r30].y; - var_f29 = var_r31->unk_4C[var_r30 - 1].z - var_r31->unk_4C[var_r30].z; - var_f25 = sqrtf((var_f29 * var_f29) + ((var_f31 * var_f31) + (var_f30 * var_f30))); - var_f27 -= 0.01f * var_f25; - var_r31->unk_54[var_r30].y = var_f27; - } - } - DCFlushRangeNoSync(var_r31->unk_50, 0xC0); - DCFlushRangeNoSync(var_r31->unk_54, 0x80); - PPCSync(); -} - -void fn_1_10948(ModelData *var_r29, Mtx var_r30) -{ - Mtx sp8; - M430PlayerBss170Struct *var_r31 = var_r29->unk_120; - GXLoadPosMtxImm(var_r30, 0); - MTXInvXpose(var_r30, sp8); - GXLoadNrmMtxImm(sp8, 0); - GXSetNumTevStages(1); - GXSetNumTexGens(1); - GXSetNumChans(1); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3C, 0, 0x7D); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_RASC); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVREG0); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVREG0); - GXSetChanCtrl(GX_COLOR0A0, GX_TRUE, GX_SRC_VTX, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_SPEC); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); - GXSetZCompLoc(0); - GXSetBlendMode(GX_BM_BLEND, GX_BL_ONE, GX_BL_ZERO, GX_LO_NOOP); - GXSetLineWidth(0x10, GX_TO_ZERO); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0); - GXSetArray(GX_VA_POS, var_r31->unk_50, 0xC); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, &lbl_1_data_308, 4); - GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0); - GXSetArray(GX_VA_TEX0, var_r31->unk_54, 8); - GXCallDisplayList(var_r31->unk_60, var_r31->unk_5C); -} - -void fn_1_10B88(void) -{ - M430PlayerBss16CStruct *var_r31; - s32 var_r30; - - var_r31 = lbl_1_bss_16C = HuMemDirectMallocNum(HEAP_SYSTEM, 0x10 * sizeof(M430PlayerBss16CStruct), MEMORY_DEFAULT_NUM); - memset(var_r31, 0, 0x10 * sizeof(M430PlayerBss16CStruct)); - for (var_r30 = 0; var_r30 < 0x10; var_r30++, var_r31++) { - var_r31->unk_00 = var_r30; - if (var_r30 == 0) { - var_r31->unk_04 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x23)); - } - else { - var_r31->unk_04 = Hu3DModelLink(lbl_1_bss_16C[0].unk_04); - } - Hu3DModelLayerSet(var_r31->unk_04, 2); - Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF); - var_r31->unk_08 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x24)); - Hu3DModelLayerSet(var_r31->unk_08, 2); - Hu3DModelAttrSet(var_r31->unk_08, HU3D_ATTR_DISPOFF); - var_r31->unk_0C = 0; - var_r31->unk_10 = 0; - var_r31->unk_14 = 0; - var_r31->unk_18 = 0.0f; - var_r31->unk_1C.x = var_r31->unk_1C.y = var_r31->unk_1C.z = 0.0f; - var_r31->unk_28 = var_r31->unk_2C = var_r31->unk_30 = 0.0f; - var_r31->unk_34 = var_r31->unk_38 = var_r31->unk_3C = 1.0f; - } -} - -void fn_1_10D1C(void) -{ - M430PlayerBss16CStruct *var_r31; - s32 var_r30; - M430PlayerBss174Struct *var_r29; - - for (var_r31 = lbl_1_bss_16C, var_r30 = 0; var_r30 < 0x10; var_r30++, var_r31++) { - if (var_r31->unk_10 != 0) { - var_r29 = &lbl_1_bss_174[var_r31->unk_0C]; - switch (var_r31->unk_10) { - case 1: - if (var_r31->unk_1C.y < 0.0f) { - var_r31->unk_1C.y += 1.0f; - } - break; - case 2: - Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r31->unk_08, HU3D_ATTR_DISPOFF); - Hu3DMotionTimeSet(var_r31->unk_08, 0.0f); - Hu3DMotionSpeedSet(var_r31->unk_08, 1.0f); - var_r31->unk_10 = 3; - break; - case 3: - break; - } - if (var_r31->unk_1C.z > (1000.0f + var_r29->unk_14)) { - Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->unk_08, HU3D_ATTR_DISPOFF); - var_r31->unk_10 = 0; - } - Hu3DModelPosSet(var_r31->unk_04, var_r31->unk_1C.x, var_r31->unk_1C.y, var_r31->unk_1C.z); - Hu3DModelRotSet(var_r31->unk_04, var_r31->unk_28, var_r31->unk_2C, var_r31->unk_30); - Hu3DModelScaleSet(var_r31->unk_04, var_r31->unk_34, var_r31->unk_38, var_r31->unk_3C); - Hu3DModelPosSet(var_r31->unk_08, var_r31->unk_1C.x, var_r31->unk_1C.y, var_r31->unk_1C.z); - Hu3DModelRotSet(var_r31->unk_08, var_r31->unk_28, var_r31->unk_2C, var_r31->unk_30); - Hu3DModelScaleSet(var_r31->unk_08, var_r31->unk_34, var_r31->unk_38, var_r31->unk_3C); - } - } -} - -void fn_1_10F20(void) { } - -s32 fn_1_10F24(s32 var_r29, float sp8, float spC, float sp10) -{ - M430PlayerBss16CStruct *var_r31; - s32 var_r30; - - for (var_r31 = lbl_1_bss_16C, var_r30 = 0; var_r30 < 0x10; var_r30++, var_r31++) { - if (var_r31->unk_10 == 0) { - break; - } - } - if (var_r30 >= 0x10) { - return -1; - } - if (var_r29 == 0) { - Hu3DModelCameraSet(var_r31->unk_04, 1); - Hu3DModelCameraSet(var_r31->unk_08, 1); - } - else { - Hu3DModelCameraSet(var_r31->unk_04, 2); - Hu3DModelCameraSet(var_r31->unk_08, 2); - } - Hu3DModelAttrReset(var_r31->unk_04, HU3D_ATTR_DISPOFF); - var_r31->unk_0C = var_r29; - var_r31->unk_10 = 1; - var_r31->unk_14 = 0; - var_r31->unk_1C.x = sp8; - var_r31->unk_1C.y = spC; - var_r31->unk_1C.z = sp10; - var_r31->unk_28 = var_r31->unk_2C = var_r31->unk_30 = 0.0f; - var_r31->unk_34 = var_r31->unk_38 = var_r31->unk_3C = 1.0f; - Hu3DModelPosSet(var_r31->unk_04, var_r31->unk_1C.x, var_r31->unk_1C.y, var_r31->unk_1C.z); - Hu3DModelRotSet(var_r31->unk_04, var_r31->unk_28, var_r31->unk_2C, var_r31->unk_30); - Hu3DModelScaleSet(var_r31->unk_04, var_r31->unk_34, var_r31->unk_38, var_r31->unk_3C); -} - -s32 fn_1_110A8(s32 arg0, float arg8, float arg9, float argA, s32 arg1) -{ - float var_f31; - float var_f30; - M430PlayerBss16CStruct *var_r31; - s32 var_r30; - - for (var_r31 = lbl_1_bss_16C, var_r30 = 0; var_r30 < 0x20; var_r30++, var_r31++) { - if ((var_r31->unk_10 == 1) && (var_r31->unk_0C == arg0)) { - var_f31 = arg8 - var_r31->unk_1C.x; - var_f30 = argA - var_r31->unk_1C.z; - if ((fabs(var_f31) < 50.0) && (fabs(var_f30) < 50.0)) { - break; - } - } - } - if (var_r30 >= 0x20) { - return 0; - } - if (arg1 != 0) { - var_r31->unk_18 = 50.0f; - var_r31->unk_10 = 2; - var_r31->unk_14 = 0; - } - return 1; -} - -s32 fn_1_111BC(s32 arg0, float arg8, Vec *arg1) -{ - float var_f31; - float var_f30; - M430PlayerBss16CStruct *var_r31; - s32 var_r30; - s32 var_r29; - - var_r31 = lbl_1_bss_16C; - var_r29 = -1; - var_f31 = 10000.0f; - arg1->x = arg1->y = arg1->z = 0.0f; - for (var_r30 = 0; var_r30 < 0x10; var_r30++, var_r31++) { - if ((var_r31->unk_10 == 1) && (var_r31->unk_0C == arg0) && !(var_r31->unk_1C.z > arg8)) { - var_f30 = fabs(var_r31->unk_1C.z - (arg8 - 100.0f)); - if (var_f30 < var_f31) { - var_f31 = var_f30; - var_r29 = var_r30; - } - } - } - if (var_r29 == -1) { - return -1; - } - var_r31 = &lbl_1_bss_16C[var_r29]; - *arg1 = var_r31->unk_1C; - return var_r29; -} - -void fn_1_11314(s32 arg0) -{ - M430PlayerBss16CStruct *var_r31; - s32 var_r30; - - for (var_r31 = lbl_1_bss_16C, var_r30 = 0; var_r30 < 0x10; var_r30++, var_r31++) { - if ((var_r31->unk_10 != 0) && (var_r31->unk_0C == arg0)) { - var_r31->unk_10 = 0; - Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->unk_08, HU3D_ATTR_DISPOFF); - } - } -} - -void fn_1_113AC(void) -{ - M430PlayerBss168Struct *var_r31; - s32 var_r30; - - var_r31 = lbl_1_bss_168 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x20 * sizeof(M430PlayerBss168Struct), MEMORY_DEFAULT_NUM); - memset(var_r31, 0, 0x20 * sizeof(M430PlayerBss168Struct)); - for (var_r30 = 0; var_r30 < 0x20; var_r31++) { - var_r31->unk_00 = var_r30; - if (var_r30 == 0) { - var_r31->unk_04 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x22)); - } - else { - var_r31->unk_04 = Hu3DModelLink(lbl_1_bss_168[0].unk_04); - } - Hu3DModelLayerSet(var_r31->unk_04, 7); - Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF); - var_r31->unk_08 = 0; - var_r31->unk_0C = 0; - var_r31->unk_10 = 0; - var_r31->unk_14.x = var_r31->unk_14.y = var_r31->unk_14.z = 0.0f; - var_r31->unk_20.x = var_r31->unk_20.y = var_r31->unk_20.z = 0.0f; - var_r31->unk_2C.x = var_r31->unk_2C.y = var_r31->unk_2C.z = 1.0f; - var_r30++; - } -} - -void fn_1_114F0(void) -{ - M430PlayerBss168Struct *var_r31; - s32 var_r30; - M430PlayerBss174Struct *var_r29; - - for (var_r31 = lbl_1_bss_168, var_r30 = 0; var_r30 < 0x20; var_r30++, var_r31++) { - if (var_r31->unk_0C != 0) { - switch (var_r31->unk_0C) { - case 1: - var_r31->unk_20.y += 7.5; - break; - case 2: - Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF); - var_r31->unk_0C = 0; - break; - } - var_r29 = &lbl_1_bss_174[var_r31->unk_08]; - if (var_r31->unk_14.z > (1000.0f + var_r29->unk_14)) { - Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF); - var_r31->unk_0C = 0; - } - else { - Hu3DModelPosSet(var_r31->unk_04, var_r31->unk_14.x, var_r31->unk_14.y, var_r31->unk_14.z); - Hu3DModelRotSet(var_r31->unk_04, var_r31->unk_20.x, var_r31->unk_20.y, var_r31->unk_20.z); - Hu3DModelScaleSet(var_r31->unk_04, var_r31->unk_2C.x, var_r31->unk_2C.y, var_r31->unk_2C.z); - } - } - } -} - -void fn_1_11644(void) { } - -s32 fn_1_11648(s32 arg0, float arg1, float arg8, float arg9) -{ - M430PlayerBss168Struct *var_r31; - s32 var_r30; - - for (var_r31 = lbl_1_bss_168, var_r30 = 0; var_r30 < 0x20; var_r30++, var_r31++) { - if (var_r31->unk_0C == 0) { - break; - } - } - if (var_r30 >= 0x20) { - return -1; - } - if (arg0 == 0) { - Hu3DModelCameraSet(var_r31->unk_04, 1); - } - else { - Hu3DModelCameraSet(var_r31->unk_04, 2); - } - Hu3DModelAttrReset(var_r31->unk_04, HU3D_ATTR_DISPOFF); - var_r31->unk_08 = arg0; - var_r31->unk_0C = 1; - var_r31->unk_14.x = arg1; - var_r31->unk_14.y = arg8; - var_r31->unk_14.z = arg9; - var_r31->unk_20.x = var_r31->unk_20.y = var_r31->unk_20.z = 0.0f; - var_r31->unk_2C.x = var_r31->unk_2C.y = var_r31->unk_2C.z = 1.0f; - Hu3DModelPosSet(var_r31->unk_04, var_r31->unk_14.x, var_r31->unk_14.y, var_r31->unk_14.z); - Hu3DModelRotSet(var_r31->unk_04, var_r31->unk_20.x, var_r31->unk_20.y, var_r31->unk_20.z); - Hu3DModelScaleSet(var_r31->unk_04, var_r31->unk_2C.x, var_r31->unk_2C.y, var_r31->unk_2C.z); -} - -s32 fn_1_117A4(s32 arg0, float arg8, float arg9, float argA, s32 arg1) -{ - float var_f31; - float var_f30; - float var_f27; - M430PlayerBss168Struct *var_r31; - s32 var_r30; - - for (var_r31 = lbl_1_bss_168, var_r30 = 0; var_r30 < 0x20; var_r30++, var_r31++) { - if ((var_r31->unk_0C == 1) && (var_r31->unk_08 == arg0)) { - var_f31 = var_r31->unk_14.x - arg8; - var_f27 = var_r31->unk_14.y - arg9; - var_f30 = var_r31->unk_14.z - argA; - if ((fabs(var_f27) < 100.0) && (sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)) < 100.0f)) { - break; - } - } - } - if (var_r30 >= 0x20) { - return -1; - } - if (arg1 != 0) { - fn_1_11F90(var_r31->unk_08, var_r31->unk_14.x, var_r31->unk_14.y, var_r31->unk_14.z); - var_r31->unk_0C = 2; - var_r31->unk_10 = 0; - } - return 1; -} - -s32 fn_1_11A1C(s32 arg0, float arg8, Vec *arg1) -{ - float var_f31; - float var_f30; - M430PlayerBss168Struct *var_r31; - s32 var_r30; - s32 var_r29; - - var_r31 = lbl_1_bss_168; - var_r29 = -1; - var_f31 = 10000.0f; - arg1->x = arg1->y = arg1->z = 0.0f; - for (var_r30 = 0; var_r30 < 0x20; var_r30++, var_r31++) { - if ((var_r31->unk_0C == 1) && (var_r31->unk_08 == arg0) && !(var_r31->unk_14.z > arg8)) { - var_f30 = fabs(var_r31->unk_14.z - arg8); - if (var_f30 < var_f31) { - var_f31 = var_f30; - var_r29 = var_r30; - } - } - } - if (var_r29 == -1) { - return -1; - } - var_r31 = &lbl_1_bss_168[var_r29]; - *arg1 = var_r31->unk_14; - return var_r29; -} - -M430PlayerBss168Struct *fn_1_11B64(s32 arg0) -{ - if ((arg0 < 0) || (arg0 >= 0x20)) { - return NULL; - } - return &lbl_1_bss_168[arg0]; -} - -void fn_1_11B94(s32 arg0) -{ - M430PlayerBss168Struct *var_r31; - s32 var_r30; - - for (var_r31 = lbl_1_bss_168, var_r30 = 0; var_r30 < 0x20; var_r30++, var_r31++) { - if ((var_r31->unk_0C != 0) && (var_r31->unk_08 == arg0)) { - var_r31->unk_0C = 0; - Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF); - } - } -} - -void fn_1_11C1C(void) -{ - M430PlayerBss164Struct *var_r31; - s32 var_r30; - - var_r31 = lbl_1_bss_164 = HuMemDirectMallocNum(HEAP_SYSTEM, 8 * sizeof(M430PlayerBss164Struct), MEMORY_DEFAULT_NUM); - memset(var_r31, 0, 8 * sizeof(M430PlayerBss164Struct)); - for (var_r30 = 0; var_r30 < 8; var_r30++, var_r31++) { - if (var_r30 == 0) { - var_r31->unk_14 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M430, 0x26), MEMORY_DEFAULT_NUM)); - } - else { - var_r31->unk_14 = lbl_1_bss_164[0].unk_14; - } - var_r31->unk_00 = var_r30; - var_r31->unk_04 = Hu3DParticleCreate(var_r31[0].unk_14, 0x20); - Hu3DModelLayerSet(var_r31->unk_04, 7); - Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r31->unk_04, HU3D_ATTR_PARTICLE_KILL); - var_r31->unk_08 = 0; - var_r31->unk_0C = 0; - var_r31->unk_10 = 0; - - var_r31->unk_18.x = var_r31->unk_18.y = var_r31->unk_18.z = 0.0f; - var_r31->unk_24.x = var_r31->unk_24.y = var_r31->unk_24.z = 0.0f; - var_r31->unk_30.x = var_r31->unk_30.y = var_r31->unk_30.z = 1.0f; - } -} - -void fn_1_11D70(void) -{ - M430PlayerBss164Struct *var_r31; - HsfanimStruct01 *var_r30; - ParticleData *var_r29; - s32 var_r28; - s32 var_r27; - M430PlayerBss174Struct *var_r26; - ModelData *var_r25; - s32 var_r24; - - for (var_r31 = lbl_1_bss_164, var_r28 = 0; var_r28 < 8; var_r28++, var_r31++) { - if (var_r31->unk_0C != 0) { - if (var_r31->unk_10 > 1) { - var_r25 = &Hu3DData[var_r31->unk_04]; - var_r29 = var_r25->unk_120; - for (var_r30 = var_r29->unk_48, var_r27 = 0; var_r27 < var_r29->unk_30; var_r27++, var_r30++) { - if (++var_r30->unk00 > var_r30->unk02) { - var_r24 = var_r30->unk40.a - 9; - if (var_r24 < 0) { - var_r30->unk2C = 0.0f; - } - else { - var_r30->unk40.a = var_r24; - } - } - var_r30->unk2C *= 0.975; - var_r30->unk34.x += var_r30->unk08.x; - var_r30->unk34.y += var_r30->unk08.y; - var_r30->unk34.z += var_r30->unk08.z; - var_r30->unk08.y -= 0.3103333379576603; - } - } - var_r26 = &lbl_1_bss_174[var_r31->unk_08]; - var_r31->unk_18.z -= var_r26->unk_1C; - if (++var_r31->unk_10 > 0x78) { - Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF); - var_r31->unk_0C = 0; - } - else { - Hu3DModelPosSet(var_r31->unk_04, var_r31->unk_18.x, var_r31->unk_18.y, var_r31->unk_18.z); - Hu3DModelRotSet(var_r31->unk_04, var_r31->unk_24.x, var_r31->unk_24.y, var_r31->unk_24.z); - Hu3DModelScaleSet(var_r31->unk_04, var_r31->unk_30.x, var_r31->unk_30.y, var_r31->unk_30.z); - } - } - } -} - -void fn_1_11F60(void) -{ - fn_1_133A4(lbl_1_bss_164[0].unk_14); -} - -s32 fn_1_11F90(s32 arg0, float arg8, float arg9, float argA) -{ - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - M430PlayerBss164Struct *var_r31; - HsfanimStruct01 *var_r30; - s32 var_r29; - ParticleData *var_r28; - ModelData *var_r27; - - for (var_r31 = lbl_1_bss_164, var_r29 = 0; var_r29 < 8; var_r29++, var_r31++) { - if (var_r31->unk_0C == 0) { - break; - } - } - if (var_r29 >= 8) { - return -1; - } - if (arg0 == 0) { - Hu3DModelCameraSet(var_r31->unk_04, 1); - } - else { - Hu3DModelCameraSet(var_r31->unk_04, 2); - } - Hu3DModelAttrReset(var_r31->unk_04, HU3D_ATTR_DISPOFF); - var_r31->unk_08 = arg0; - var_r31->unk_0C = 1; - var_r31->unk_10 = 0; - var_r27 = &Hu3DData[var_r31->unk_04]; - var_r28 = var_r27->unk_120; - var_r28->unk_2C = 1; - for (var_r30 = var_r28->unk_48, var_r29 = 0; var_r29 < var_r28->unk_30; var_r29++, var_r30++) { - var_f30 = (frand() % 30) + 0x4B; - var_f29 = frand() % 360; - var_f27 = sind(var_f30); - var_f28 = cosd(var_f30); - var_f26 = 0.8f + (0.3f * (0.007874016f * (frand() % 255))); - var_f31 = 0.35f; - var_r30->unk08.x = var_f31 * (0.6499999761581421 * (50.0 * (var_f28 * sind(var_f29)))); - var_r30->unk08.y = var_f31 * (50.0f * var_f27 * var_f26); - var_r30->unk08.z = var_f31 * (0.6499999761581421 * (50.0 * (var_f28 * cosd(var_f29)))); - var_r30->unk00 = 0; - var_r30->unk02 = (frand() % 7) + 0xA; - var_r30->unk2C = 45.0f; - var_r30->unk34.x = 0.25f * ((frand() & 0x7F) - 0x40); - var_r30->unk34.y = 0.25f * ((frand() & 0x7F) - 0x40); - var_r30->unk34.z = 0.25f * ((frand() & 0x7F) - 0x40); - var_r30->unk40.r = (frand() % 64) + 0xC0; - var_r30->unk40.g = (frand() % 64) + 0xC0; - var_r30->unk40.b = (frand() % 64) + 0xC0; - var_r30->unk40.a = 0xFF; - } - var_r31->unk_18.x = arg8; - var_r31->unk_18.y = arg9; - var_r31->unk_18.z = argA; - var_r31->unk_24.x = var_r31->unk_24.y = var_r31->unk_24.z = 0.0f; - var_r31->unk_30.x = var_r31->unk_30.y = var_r31->unk_30.z = 1.0f; - Hu3DModelPosSet(var_r31->unk_04, var_r31->unk_18.x, var_r31->unk_18.y, var_r31->unk_18.z); - Hu3DModelRotSet(var_r31->unk_04, var_r31->unk_24.x, var_r31->unk_24.y, var_r31->unk_24.z); - Hu3DModelScaleSet(var_r31->unk_04, var_r31->unk_30.x, var_r31->unk_30.y, var_r31->unk_30.z); -} - -void fn_1_12550(s32 arg0) -{ - M430PlayerBss164Struct *var_r31; - s32 var_r30; - - for (var_r31 = lbl_1_bss_164, var_r30 = 0; var_r30 < 8; var_r30++, var_r31++) { - if (var_r31->unk_0C != 0) { - var_r31->unk_0C = 0; - Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF); - } - } -} - -void fn_1_125C4(void) -{ - M430PlayerBss160Struct *var_r31; - s32 var_r30; - s32 var_r29; - - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 2 * sizeof(M430PlayerBss160Struct), MEMORY_DEFAULT_NUM); - lbl_1_bss_160 = var_r31; - for (var_r29 = 0; var_r29 < 2; var_r29++, var_r31++) { - if (var_r29 == 0) { - var_r31->unk_00 = 0x90; - } - else { - var_r31->unk_00 = 0x1B0; - } - var_r31->unk_04 = 0x198; - var_r31->unk_08 = 0; - var_r31->unk_0C = 0; - var_r31->unk_B8 = 0x15; - var_r31->unk_BC = 0; - for (var_r30 = 0; var_r30 < 6; var_r30++) { - switch (var_r30) { - case 0: - case 1: - var_r31->unk_10[var_r30] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x33), 1, 0); - espPriSet(var_r31->unk_10[var_r30], 0x40); - var_r31->unk_28[var_r30][0] = (var_r30 * 0x14) + 0xB; - var_r31->unk_28[var_r30][1] = 0; - var_r31->unk_70[var_r30][0] = var_r31->unk_28[var_r30][0] - var_r31->unk_B8; - var_r31->unk_70[var_r30][1] = var_r31->unk_28[var_r30][1] - var_r31->unk_BC; - break; - case 2: - if (var_r29 == 0) { - var_r31->unk_10[var_r30] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x1B), 1, 0); - } - else { - var_r31->unk_10[var_r30] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x1C), 1, 0); - } - espPriSet(var_r31->unk_10[var_r30], 0xFF); - var_r31->unk_28[var_r30][0] = 0; - var_r31->unk_28[var_r30][1] = 0; - break; - case 3: - var_r31->unk_10[var_r30] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x1D), 1, 0); - espPriSet(var_r31->unk_10[var_r30], 0x100); - espTPLvlSet(var_r31->unk_10[var_r30], 0.6000000238418579); - espColorSet(var_r31->unk_10[var_r30], 0, 0, 0); - var_r31->unk_28[var_r30][0] = 0; - var_r31->unk_28[var_r30][1] = 0; - break; - case 4: - var_r31->unk_10[var_r30] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x08), 1, 0); - espPriSet(var_r31->unk_10[var_r30], 0x80); - var_r31->unk_28[var_r30][0] = -0x21; - var_r31->unk_28[var_r30][1] = 0; - break; - case 5: - var_r31->unk_10[var_r30] = espEntry(DATA_MAKE_NUM(DATADIR_M430, 0x28), 1, 0); - espPriSet(var_r31->unk_10[var_r30], 0x80); - espZRotSet(var_r31->unk_10[var_r30], 45.0); - var_r31->unk_28[var_r30][0] = -0xA; - var_r31->unk_28[var_r30][1] = 0; - break; - } - espDispOn(var_r31->unk_10[var_r30]); - espDrawNoSet(var_r31->unk_10[var_r30], 0); - espAttrSet(var_r31->unk_10[var_r30], HUSPR_ATTR_NOANIM); - espPosSet(var_r31->unk_10[var_r30], var_r31->unk_00 + var_r31->unk_28[var_r30][0], var_r31->unk_04 + var_r31->unk_28[var_r30][1]); - espBankSet(var_r31->unk_10[var_r30], 0); - } - } - lbl_1_bss_15C = 1; - fn_1_12DF0(0); -} - -void fn_1_129CC(void) -{ - s32 sp8[4]; - float var_f31; - float var_f30; - float var_f29; - M430PlayerBss160Struct *var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - for (var_r31 = lbl_1_bss_160, var_r28 = 0; var_r28 < 2; var_r28++, var_r31++) { - var_r29 = lbl_1_bss_174[var_r28].unk_20; - if (lbl_1_bss_15C != 0) { - if (var_r29 != var_r31->unk_08) { - var_r31->unk_08 = var_r29; - var_r31->unk_0C = 0x14; - } - if (var_r31->unk_0C != 0) { - var_f31 = 1.0 + (0.800000011920929 * sind((180.0f * (var_r31->unk_0C / 20.0f)))); - var_r31->unk_0C--; - } - else { - var_f31 = 1.0f; - } - if ((sp8[0] = var_r29 / 10) > 9) { - sp8[0] = 9; - } - var_r29 -= sp8[0] * 0xA; - sp8[1] = var_r29; - if (var_r29 > 9) { - sp8[1] = 9; - } - for (var_r30 = 0; var_r30 < 6; var_r30++) { - if (var_r30 < 2) { - var_f30 = (var_r31->unk_00 + var_r31->unk_B8) + (var_r31->unk_70[var_r30][0] * var_f31); - var_f29 = (var_r31->unk_04 + var_r31->unk_BC) + (var_r31->unk_70[var_r30][1] * var_f31); - espBankSet(var_r31->unk_10[var_r30], sp8[var_r30]); - espScaleSet(var_r31->unk_10[var_r30], var_f31, var_f31); - } - else { - var_f30 = var_r31->unk_00 + var_r31->unk_28[var_r30][0]; - var_f29 = var_r31->unk_04 + var_r31->unk_28[var_r30][1]; - } - if (sp8[var_r30] < 0) { - sp8[var_r30] = 0; - } - espPosSet(var_r31->unk_10[var_r30], var_f30, var_f29); - } - } - } -} - -void fn_1_12D74(void) -{ - M430PlayerBss160Struct *var_r31; - s32 var_r30; - s32 var_r29; - - for (var_r31 = lbl_1_bss_160, var_r29 = 0; var_r29 < 2; var_r29++, var_r31++) { - for (var_r30 = 0; var_r30 < 6; var_r30++) { - espKill(var_r31->unk_10[var_r30]); - } - } -} - -void fn_1_12DF0(s32 arg0) -{ - M430PlayerBss160Struct *var_r31; - s32 var_r30; - s32 var_r29; - - var_r31 = lbl_1_bss_160; - lbl_1_bss_15C = arg0; - for (var_r29 = 0; var_r29 < 2; var_r29++, var_r31++) { - for (var_r30 = 0; var_r30 < 6; var_r30++) { - if (arg0 != 0) { - espAttrReset(var_r31->unk_10[var_r30], HUSPR_ATTR_DISPOFF); - } - else { - espAttrSet(var_r31->unk_10[var_r30], HUSPR_ATTR_DISPOFF); - } - } - } -} - -float fn_1_12EA8(float arg8, float arg9, float argA, float argB) -{ - float var_f31; - float var_f30; - - var_f31 = 1.0 - arg8; - var_f30 = (argB * (arg8 * arg8)) + ((arg9 * (var_f31 * var_f31)) + (2.0 * (argA * (var_f31 * arg8)))); - return var_f30; -} - -void fn_1_12F20(float arg8, float *var_r3, float *var_r4, float *var_r5, float *var_r6) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - *var_r6++ = fn_1_12EA8(arg8, *var_r3++, *var_r4++, *var_r5++); - } -} - -float fn_1_1303C(float arg8, float arg9) -{ - float var_f31; - - if (arg8 >= 360.0f) { - arg8 -= 360.0f; - } - else if (arg8 < 0.0f) { - arg8 += 360.0f; - } - if (arg9 >= 360.0f) { - arg9 -= 360.0f; - } - else if (arg9 < 0.0f) { - arg9 += 360.0f; - } - var_f31 = arg8 - arg9; - if (var_f31 <= -180.0f) { - var_f31 += 360.0f; - } - else if (var_f31 >= 180.0f) { - var_f31 -= 360.0f; - } - return var_f31; -} - -float fn_1_13154(float arg8, float arg9, float argA) -{ - float var_f31; - float var_f30; - float var_f26; - - if (arg8 >= 360.0) { - arg8 -= 360.0; - } - else if (arg8 < 0.0) { - arg8 += 360.0; - } - if (arg9 >= 360.0) { - arg9 -= 360.0; - } - else if (arg9 < 0.0) { - arg9 += 360.0; - } - var_f30 = 360.0 + (arg8 - arg9); - if (fabs(var_f30) >= 360.0) { - var_f30 = fmod(var_f30, 360.0); - } - if (var_f30 < 180.0) { - if (var_f30 <= argA) { - var_f31 = var_f30; - } - else { - var_f31 = argA; - } - } - else if ((360.0 - var_f30) <= argA) { - var_f31 = -(360.0 - var_f30); - } - else { - var_f31 = -argA; - } - var_f31 += arg9; - if (var_f31 >= 360.0) { - var_f31 -= 360.0; - } - else if (var_f31 < 0.0) { - var_f31 += 360.0; - } - return var_f31; -} - -void fn_1_133A4(AnimData *arg0) -{ - arg0->useNum = 0; - HuSprAnimKill(arg0); -} - -void fn_1_133DC(Mtx arg0, Vec *arg1) -{ - Vec sp8; - - sp8.x = (arg0[0][2] * arg1->z) + ((arg0[0][0] * arg1->x) + (arg0[0][1] * arg1->y)); - sp8.y = (arg0[1][2] * arg1->z) + ((arg0[1][0] * arg1->x) + (arg0[1][1] * arg1->y)); - sp8.z = (arg0[2][2] * arg1->z) + ((arg0[2][0] * arg1->x) + (arg0[2][1] * arg1->y)); - *arg1 = sp8; -} diff --git a/src/REL/m430Dll/water.c b/src/REL/m430Dll/water.c deleted file mode 100644 index cfb782c7..00000000 --- a/src/REL/m430Dll/water.c +++ /dev/null @@ -1,1821 +0,0 @@ -#include "dolphin/gx/GXEnum.h" -#include "dolphin/gx/GXStruct.h" -#include "dolphin/gx/GXVert.h" -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/flag.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" -#include "string.h" - -#include "REL/m430Dll.h" - -#ifndef __MWERKS__ -#include "game/esprite.h" -#include "game/frand.h" - -void GXSetTevIndWarp(GXTevStageID tev_stage, GXIndTexStageID ind_stage, GXBool signed_offsets, GXBool replace_mode, GXIndTexMtxID matrix_sel); -#endif - -inline double fabs2(double x) -{ - return (double)fabs(x); -} - -typedef struct M430DllUnkStruct2 { - s32 unk_00; - s16 unk_04; - char unk06[2]; - s16 unk_08; - s16 unk_0A; - Vec unk_0C; - Vec unk_18; - float unk_24; - float unk_28; - float unk_2C; - float unk_30; - float unk_34; - float unk_38; -} M430DllUnkStruct2; /* size 0x3C */ - -typedef struct M430DllWork { - s32 unk_00; - Vec unk_04; - s32 unk_10; - s32 unk_14; - s16 unk_18; - s16 unk_1A; - s16 unk_1C; - s16 unk_1E; - float unk_20; - s16 unk_24[0xC]; - s32 unk_3C; - s16 unk_40[0xA]; - s16 unk_54[0xA]; - s16 unk_68[0xA]; - s32 unk_7C; - s16 unk_80[6]; - s16 unk_8C[6]; - s16 unk_98[6]; - s32 unk_A4[6]; - s32 unk_BC; - M430DllUnkStruct2 *unk_C0; -} M430DllWork; /* size 0xC4 */ - -typedef struct M430DllWork2 { - s16 unk_00; - char unk02[4]; - s16 unk_06; - Vec unk_08; - Vec unk_14; - float unk_20; - float unk_24; - float unk_28; - float unk_2C; - float unk_30; - float unk_34; - float unk_38; - float unk_3C; -} M430DllWork2; /* size 0x40 */ - -typedef struct M430DllBss60Struct { - /* 0x00 */ u32 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 */ u32 unk_1C; - /* 0x20 */ s32 unk_20; - /* 0x24 */ float unk_24; - /* 0x28 */ float unk_28; - /* 0x2C */ Vec *unk_2C; - /* 0x30 */ Vec *unk_30; - /* 0x34 */ void *unk_34; - /* 0x38 */ void *unk_38; - /* 0x3C */ char pad_3C[4]; - /* 0x40 */ s32 unk_40; - /* 0x44 */ Vec *unk_44[2]; - /* 0x4C */ char pad_4C[8]; - /* 0x54 */ GXColor *unk_54[2]; - /* 0x5C */ s32 unk_5C; - /* 0x60 */ void *unk_60; - /* 0x64 */ u32 unk_64; - /* 0x68 */ u32 unk_68; - /* 0x6C */ void *unk_6C; -} M430DllBss60Struct; /* size = 0x70 */ - -void fn_1_4CB4(omObjData *object); -void fn_1_5DF8(omObjData *object); -void fn_1_6180(M430DllWork *arg0); -void fn_1_6540(M430DllWork *arg0); -void fn_1_6754(M430DllWork *arg0); -void fn_1_6DC8(M430DllWork *arg0); -M430DllUnkStruct2 *fn_1_70AC(omObjData *arg0, s32 arg1, s16 arg2); -void fn_1_732C(omObjData *object, M430DllUnkStruct2 *arg1); -void fn_1_76D8(omObjData *object, M430DllUnkStruct2 *arg1); -void fn_1_7848(omObjData *object); -void fn_1_7CAC(omObjData *object); -void fn_1_7EAC(omObjData *object, M430DllWork2 *arg1); -void fn_1_803C(omObjData *object); -void fn_1_8264(omObjData *object); -void fn_1_82F4(omObjData *object, M430DllBss60Struct *arg1); -void fn_1_86B4(omObjData *object, M430DllBss60Struct *arg1); -void fn_1_8B5C(omObjData *object, M430DllBss60Struct *arg1); -void fn_1_8CE0(ModelData *model, Mtx matrix); -void fn_1_963C(ModelData *model, Mtx matrix, u32 arg2); -void fn_1_9C90(ModelData *model, Mtx matrix); -void fn_1_A3A8(ModelData *model, Mtx matrix); -void fn_1_AB98(ModelData *model, Mtx matrix); -void fn_1_AC84(ModelData *model, Mtx matrix); -void fn_1_AD04(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_B394(ModelData *model, ParticleData *particle, Mtx matrix); -float fn_1_BB54(u32 arg0); - -AnimData *lbl_1_bss_150; -AnimData *lbl_1_bss_14C; -AnimData *lbl_1_bss_148; -AnimData *lbl_1_bss_144; -AnimData *lbl_1_bss_140; -M430DllBss60Struct lbl_1_bss_60[2]; -s32 lbl_1_bss_5C; -omObjData *lbl_1_bss_58; -omObjData *lbl_1_bss_54; -omObjData *lbl_1_bss_50; -float lbl_1_bss_4C; -float lbl_1_bss_48; -s32 lbl_1_bss_44; -s32 lbl_1_bss_40; - -void fn_1_4A80(Process *process) -{ - omObjData *object; - - lbl_1_bss_150 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M430, 0x19), MEMORY_DEFAULT_NUM)); - lbl_1_bss_14C = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M430, 0x1A), MEMORY_DEFAULT_NUM)); - lbl_1_bss_148 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M430, 0x14), MEMORY_DEFAULT_NUM)); - lbl_1_bss_144 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M430, 0x17), MEMORY_DEFAULT_NUM)); - lbl_1_bss_140 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M430, 0x18), MEMORY_DEFAULT_NUM)); - object = lbl_1_bss_58 = omAddObjEx(process, 0x1E, 0x68, 0, -1, fn_1_4CB4); - object->work[0] = 0; - object = lbl_1_bss_54 = omAddObjEx(process, 0x1E, 7, 0, -1, fn_1_803C); - object->work[0] = 0; - object = lbl_1_bss_50 = omAddObjEx(process, 0x1E, 0, 0, -1, fn_1_7848); - object->work[0] = 0; - lbl_1_bss_5C = 0; - lbl_1_bss_44 = lbl_1_bss_40 = 0; - lbl_1_bss_4C = lbl_1_bss_48 = 0.0f; -} - -void fn_1_4C48(void) -{ - HuSprAnimKill(lbl_1_bss_150); - HuSprAnimKill(lbl_1_bss_14C); - HuSprAnimKill(lbl_1_bss_148); - HuSprAnimKill(lbl_1_bss_144); - HuSprAnimKill(lbl_1_bss_140); -} - -void fn_1_4CB4(omObjData *object) -{ - s32 var_r31; - M430DllWork *var_r30; - s32 var_r28; - s32 var_r27; - HsfData *var_r26; - s32 var_r25; - M430DllWork *work; - - u32 spC[1] = { DATA_MAKE_NUM(DATADIR_M430, 0x01) }; - s32 sp8[1]; - u32 sp90[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x0B), DATA_MAKE_NUM(DATADIR_M430, 0x0C), DATA_MAKE_NUM(DATADIR_M430, 0x0D), - DATA_MAKE_NUM(DATADIR_M430, 0x0E) }; - u32 sp80[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x02), DATA_MAKE_NUM(DATADIR_M430, 0x02), DATA_MAKE_NUM(DATADIR_M430, 0x03), - DATA_MAKE_NUM(DATADIR_M430, 0x03) }; - u32 sp70[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x04), DATA_MAKE_NUM(DATADIR_M430, 0x04), 0, 0 }; - u32 sp60[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x06), DATA_MAKE_NUM(DATADIR_M430, 0x07), DATA_MAKE_NUM(DATADIR_M430, 0x08), - DATA_MAKE_NUM(DATADIR_M430, 0x09) }; - s32 sp50[4]; - s32 sp40[4]; - s32 sp30[4]; - s32 sp20[4]; - s32 sp18[2] = { 1, 2 }; - s32 sp10[2]; - s32 spA0[6] = { 0, 3, 2, 1, 2, 3 }; - - object->stat |= 0x100; - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, 2 * sizeof(M430DllWork), MEMORY_DEFAULT_NUM); - work = object->data; - memset(work, 0, 2 * sizeof(M430DllWork)); - for (var_r30 = work, var_r31 = 0; var_r31 < 2; var_r31++, var_r30++) { - var_r30->unk_00 = var_r31; - var_r30->unk_04.x = var_r30->unk_04.y = var_r30->unk_04.z = 0.0f; - var_r30->unk_3C = 0; - var_r30->unk_7C = 0; - var_r30->unk_BC = 0; - } - var_r30 = work; - for (var_r31 = 0; var_r31 < 2; var_r31++) { - object->model[var_r31] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x00)); - var_r30[var_r31].unk_18 = object->model[var_r31]; - Hu3DModelLayerSet(var_r30[var_r31].unk_18, 0); - Hu3DModelScaleSet(var_r30[var_r31].unk_18, 1.15f, 1.15f, 1.15f); - var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M430, 0x0A)), 1); - var_r30[var_r31].unk_1A = var_r27; - Hu3DModelLayerSet(var_r27, 1); - *((s16 *)Hu3DData[var_r27].unk_120) = 1; - var_r30[var_r31].unk_1C = Hu3DTexScrollCreate(var_r30[var_r31].unk_18, "pa_sk2"); - var_r30[var_r31].unk_1E = Hu3DTexScrollCreate(var_r30[var_r31].unk_18, "pa_sk3"); - Hu3DTexScrollPosMoveSet(var_r30[var_r31].unk_1C, -0.00009166667f, 0.0f, 0.0f); - Hu3DTexScrollPosMoveSet(var_r30[var_r31].unk_1E, -0.00020000001f, 0.0f, 0.0f); - var_r30[var_r31].unk_20 = 50000.0f; - var_r26 = Hu3DData[var_r30[var_r31].unk_18].hsfData; - for (var_r28 = 0; var_r28 < var_r26->materialCnt; var_r28++) { - var_r26->material[var_r28].flags &= 0xFFFFFDFF; - var_r26->material[var_r28].pass = 1; - var_r26->material[var_r28].invAlpha = 0.001f; - } - } - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x0F)); - Hu3DModelLayerSet(object->model[2], 1); - Hu3DModelScaleSet(object->model[2], 1.5f, 1.5f, 1.5f); - object->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x10)); - Hu3DModelLayerSet(object->model[3], 2); - Hu3DModelScaleSet(object->model[3], 1.5f, 1.5f, 1.5f); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M430, 0x15)), 0x64); - object->model[var_r31 + 4] = var_r27; - var_r30[var_r31].unk_10 = var_r27; - Hu3DModelLayerSet(var_r27, 2); - Hu3DParticleColSet(var_r27, 0xFF, 0xFF, 0xFF); - Hu3DParticleHookSet(var_r27, fn_1_AD04); - Hu3DModelPosSet(var_r27, 0.0f, 0.0f, 0.0f); - *((s16 *)Hu3DData[var_r27].unk_120) = 0; - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M430, 0x15)), 0x64); - object->model[var_r31 + 6] = var_r27; - var_r30[var_r31].unk_14 = var_r27; - Hu3DModelLayerSet(var_r27, 1); - Hu3DParticleColSet(var_r27, 0xFF, 0xFF, 0xFF); - Hu3DParticleHookSet(var_r27, fn_1_B394); - Hu3DModelPosSet(var_r27, 0.0f, 0.0f, 0.0f); - *((s16 *)Hu3DData[var_r27].unk_120) = 0; - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - sp20[var_r31] = Hu3DModelCreateFile(sp90[var_r31]); - } - for (var_r31 = 0; var_r31 < 0xC; var_r31++) { - var_r27 = sp20[var_r31 % 4]; - object->model[var_r31 + 8] = Hu3DModelLink(var_r27); - object->model[var_r31 + 0x14] = Hu3DModelLink(var_r27); - var_r30[0].unk_24[var_r31] = object->model[var_r31 + 8]; - var_r30[1].unk_24[var_r31] = object->model[var_r31 + 0x14]; - Hu3DModelLayerSet(var_r30[0].unk_24[var_r31], 1); - Hu3DModelLayerSet(var_r30[1].unk_24[var_r31], 1); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - sp50[var_r31] = Hu3DModelCreateFile(sp80[var_r31]); - sp40[var_r31] = -1; - sp30[var_r31] = -1; - if (sp70[var_r31] != 0) { - sp40[var_r31] = Hu3DModelCreateFile(sp70[var_r31]); - } - } - for (var_r31 = 0; var_r31 < 6; var_r31++) { - s32 sp10[2] = { 0x5C, 0x62 }; - var_r25 = spA0[var_r31]; - var_r27 = sp50[var_r25]; - for (var_r28 = 0; var_r28 < 2; var_r28++) { - object->model[var_r31 + sp10[var_r28]] = Hu3DModelLink(var_r27); - var_r30[var_r28].unk_80[var_r31] = object->model[var_r31 + sp10[var_r28]]; - Hu3DModelLayerSet(var_r30[var_r28].unk_80[var_r31], 1); - } - for (var_r28 = 0; var_r28 < 2; var_r28++) { - var_r30[var_r28].unk_8C[var_r31] = -1; - var_r30[var_r28].unk_98[var_r31] = -1; - } - if (sp40[var_r25] >= 0) { - var_r27 = sp40[var_r25]; - for (var_r28 = 0; var_r28 < 2; var_r28++) { - var_r30[var_r28].unk_8C[var_r31] = Hu3DModelLink(var_r27); - Hu3DModelLayerSet(var_r30[var_r28].unk_8C[var_r31], 4); - Hu3DModelAttrSet(var_r30[var_r28].unk_8C[var_r31], HU3D_ATTR_ZWRITE_OFF); - } - } - if (sp60[var_r25] != 0) { - for (var_r28 = 0; var_r28 < 2; var_r28++) { - var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(sp60[var_r25]), 1); - var_r30[var_r28].unk_98[var_r31] = var_r27; - Hu3DModelLayerSet(var_r27, 5); - Hu3DParticleColSet(var_r27, 0xFF, 0xFF, 0xFF); - Hu3DModelPosSet(var_r27, 0.0f, 0.0f, 0.0f); - *((s16 *)Hu3DData[var_r27].unk_120) = 1; - } - } - } - for (var_r31 = 0; var_r31 < 1; var_r31++) { - sp8[var_r31] = Hu3DModelCreateFile(spC[var_r31]); - } - for (var_r31 = 0; var_r31 < 0x1E; var_r31 += 3) { - var_r27 = sp8[frandmod(1)]; - object->model[var_r31 + 0x20] = Hu3DModelLink(var_r27); - object->model[var_r31 + 0x21] = Hu3DModelLink(var_r27); - object->model[var_r31 + 0x22] = Hu3DModelLink(var_r27); - object->model[var_r31 + 0x3E] = Hu3DModelLink(var_r27); - object->model[var_r31 + 0x3F] = Hu3DModelLink(var_r27); - object->model[var_r31 + 0x40] = Hu3DModelLink(var_r27); - var_r30->unk_40[var_r31 / 3] = object->model[var_r31 + 0x20]; - var_r30->unk_54[var_r31 / 3] = object->model[var_r31 + 0x21]; - var_r30->unk_68[var_r31 / 3] = object->model[var_r31 + 0x22]; - var_r30[1].unk_40[var_r31 / 3] = object->model[var_r31 + 0x3E]; - var_r30[1].unk_54[var_r31 / 3] = object->model[var_r31 + 0x3F]; - var_r30[1].unk_68[var_r31 / 3] = object->model[var_r31 + 0x40]; - Hu3DModelLayerSet(var_r30->unk_40[var_r31 / 3], 1); - Hu3DModelLayerSet(var_r30->unk_54[var_r31 / 3], 1); - Hu3DModelLayerSet(var_r30->unk_68[var_r31 / 3], 1); - Hu3DModelLayerSet(var_r30[1].unk_40[var_r31 / 3], 1); - Hu3DModelLayerSet(var_r30[1].unk_54[var_r31 / 3], 1); - Hu3DModelLayerSet(var_r30[1].unk_68[var_r31 / 3], 1); - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r30[var_r31].unk_C0 = fn_1_70AC(object, var_r31, 8); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - Hu3DModelKill(sp20[var_r31]); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - Hu3DModelKill(sp50[var_r31]); - if (sp40[var_r31] >= 0) { - Hu3DModelKill(sp40[var_r31]); - } - if (sp30[var_r31] >= 0) { - Hu3DModelKill(sp30[var_r31]); - } - } - for (var_r31 = 0; var_r31 < 1; var_r31++) { - Hu3DModelKill(sp8[var_r31]); - } - for (var_r30 = work, var_r31 = 0; var_r31 < 2; var_r31++, var_r30++) { - Hu3DModelCameraSet(var_r30->unk_18, sp18[var_r31]); - Hu3DModelCameraSet(var_r30->unk_1A, sp18[var_r31]); - Hu3DModelCameraSet(var_r30->unk_10, sp18[var_r31]); - Hu3DModelCameraSet(var_r30->unk_14, sp18[var_r31]); - for (var_r28 = 0; var_r28 < 0xC; var_r28++) { - Hu3DModelCameraSet(var_r30->unk_24[var_r28], sp18[var_r31]); - } - for (var_r28 = 0; var_r28 < 6; var_r28++) { - Hu3DModelCameraSet(var_r30->unk_80[var_r28], sp18[var_r31]); - Hu3DModelAttrSet(var_r30->unk_80[var_r28], HU3D_ATTR_DISPOFF); - if (var_r30->unk_8C[var_r28] >= 0) { - Hu3DModelCameraSet(var_r30->unk_8C[var_r28], sp18[var_r31]); - Hu3DModelAttrSet(var_r30->unk_8C[var_r28], HU3D_ATTR_DISPOFF); - } - if (var_r30->unk_98[var_r28] >= 0) { - Hu3DModelCameraSet(var_r30->unk_98[var_r28], sp18[var_r31]); - Hu3DModelAttrSet(var_r30->unk_98[var_r28], HU3D_ATTR_DISPOFF); - } - } - for (var_r28 = 0; var_r28 < 0xA; var_r28++) { - Hu3DModelCameraSet(var_r30->unk_40[var_r28], sp18[var_r31]); - Hu3DModelCameraSet(var_r30->unk_54[var_r28], sp18[var_r31]); - Hu3DModelCameraSet(var_r30->unk_68[var_r28], sp18[var_r31]); - Hu3DModelAttrSet(var_r30->unk_40[var_r28], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r30->unk_54[var_r28], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r30->unk_68[var_r28], HU3D_ATTR_DISPOFF); - } - } - Hu3DModelCameraSet(object->model[2], sp18[0]); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelCameraSet(object->model[3], sp18[0]); - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); - object->func = fn_1_5DF8; -} - -void fn_1_5DF8(omObjData *object) -{ - M430DllWork *var_r31; - s32 var_r29; - M430DllWork *work; - - work = object->data; - if ((fn_1_4070() >= 2) && (fn_1_4030() != 0)) { - var_r31 = work; - if ((lbl_1_bss_44 == 0) && (fn_1_4130() < 5.0f)) { - lbl_1_bss_4C = var_r31[0].unk_04.x; - if (lbl_1_bss_4C > var_r31[1].unk_04.x) { - lbl_1_bss_4C = var_r31[1].unk_04.x; - } - lbl_1_bss_44 = 1; - } - if ((lbl_1_bss_40 == 0) && (fn_1_4130() < 1.8f)) { - lbl_1_bss_48 = var_r31[0].unk_04.x; - if (lbl_1_bss_48 > var_r31[1].unk_04.x) { - lbl_1_bss_48 = var_r31[1].unk_04.x; - } - lbl_1_bss_40 = 1; - } - } - for (var_r31 = work, var_r29 = 0; var_r29 < 2; var_r29++, var_r31++) { - var_r31->unk_04.z = var_r31->unk_04.x; - var_r31->unk_04.x = var_r31->unk_04.y; - fn_1_6180(var_r31); - fn_1_6540(var_r31); - fn_1_6DC8(var_r31); - fn_1_6754(var_r31); - fn_1_732C(object, var_r31->unk_C0); - fn_1_76D8(object, var_r31->unk_C0); - if (var_r29 != 0) { - if (fn_1_4030() != 0) { - Hu3DModelCameraSet(var_r31->unk_10, 2); - Hu3DModelCameraSet(var_r31->unk_14, 2); - } - else { - Hu3DModelCameraSet(var_r31->unk_10, 1); - Hu3DModelCameraSet(var_r31->unk_14, 1); - } - } - } - if (lbl_1_bss_5C != 0) { - Vec sp20 = { 0.0f, 3000.0f, 0.0f }; - Vec sp14 = { 0.0f, 0.0f, 0.0f }; - Vec sp8 = { 0.0f, 1.0f, 0.0f }; - - Hu3DModelAttrReset(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelShadowMapSet(object->model[2]); - Hu3DModelPosSet(object->model[2], 0.0f, 0.0f, fn_1_7FBC(0) - 400.0f); - Hu3DModelAttrReset(object->model[3], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(object->model[3], 0.0f, 0.0f, fn_1_7FBC(0) - 400.0f); - sp20.z = sp14.z = fn_1_7FBC(0) - 400.0f; - sp20.z += 100.0f; - Hu3DShadowPosSet(&sp20, &sp8, &sp14); - return; - } - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); -} - -void fn_1_6180(M430DllWork *work) -{ - Vec sp28; - Vec sp1C; - Vec sp10; - HsfanimStruct01 *var_r30; - s32 var_r29; - - float sp8[2] = { -450.0f, 450.0f }; - sp1C.x = CenterM[work->unk_00].x; - sp1C.y = CenterM[work->unk_00].y + (CZoomM[work->unk_00] * sind(-CRotM[work->unk_00].x)); - sp1C.z = CenterM[work->unk_00].z + (CZoomM[work->unk_00] * cosd(-CRotM[work->unk_00].x)); - sp28.x = sp1C.x; - sp28.y = 0.0f; - sp28.z = sp1C.z - 450000.0f; - VECSubtract(&sp28, &sp1C, &sp10); - VECNormalize(&sp10, &sp10); - VECScale(&sp10, &sp10, 6000.0f); - VECAdd(&sp1C, &sp10, &sp28); - Hu3DModelPosSetV(work->unk_18, &sp28); - if ((fn_1_4070() >= 2) && (fn_1_4030() != 0)) { - if ((lbl_1_bss_40 != 0) && (lbl_1_bss_48 >= work->unk_04.x)) { - if (work->unk_20 > 0.0f) { - work->unk_20 = fn_1_7FBC(work->unk_00) - 23000.0f; - } - sp28.x = 0.0f; - sp28.y = 0.0f; - sp28.z = work->unk_20 - fn_1_7FBC(work->unk_00); - VECSubtract(&sp28, &sp1C, &sp10); - VECNormalize(&sp10, &sp10); - VECScale(&sp10, &sp10, 5000.0f); - VECAdd(&sp1C, &sp10, &sp28); - sp28.y += 237.5f; - Hu3DModelPosSet(work->unk_1A, 0.0f, 593.75f, work->unk_20); - var_r30 = ((ParticleData *)Hu3DData[work->unk_1A].unk_120)->unk_48; - var_r30->unk34.x = var_r30->unk34.y = var_r30->unk34.z = 0.0f; - var_r30->unk2C = 2000.0f; - var_r29 = var_r30->unk40.a; - var_r29 += 2; - if (var_r29 > 0xFF) { - var_r29 = 0xFF; - } - var_r30->unk40.a = var_r29; - } - } - else { - var_r30 = ((ParticleData *)Hu3DData[work->unk_1A].unk_120)->unk_48; - var_r30->unk2C = 0.0f; - var_r30->unk40.a = 0; - } - DCStoreRange(var_r30, sizeof(HsfanimStruct01)); -} - -void fn_1_6540(M430DllWork *work) -{ - float var_f31; - float var_f30; - float var_f29; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r28 = 1; - var_f29 = work->unk_04.x; - work->unk_3C = (s32)(fabs2(var_f29) / 1000.0) % 12; - var_r30 = work->unk_3C; - var_f31 = 1000.0f * (s32)(work->unk_04.x / 1000.0f); - var_f30 = 4000.0f; - for (var_r29 = 0; var_r29 < 0xC; var_r29++) { - if (var_r28 != 0) { - Hu3DModelAttrReset(work->unk_24[var_r30], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(work->unk_24[var_r30], 0.0f, 0.0f, var_f31); - var_f31 -= 1000.0f; - var_f30 -= 1000.0f; - if (var_f30 < 0.0f) { - var_r28 = 0; - } - } - else { - Hu3DModelAttrSet(work->unk_24[var_r30], HU3D_ATTR_DISPOFF); - } - var_r30 = (var_r30 + 1) % 12; - } -} - -void fn_1_6754(M430DllWork *work) -{ - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - s32 var_r30; - HsfanimStruct01 *var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - - var_r27 = 1; - { - float sp20[6] = { -1800.0f, 2000.0f, -1800.0f, 2000.0f, -1800.0f, 2000.0f }; - Vec2f sp38[6] = { - { -130.0f, 500.0f }, - { 180.0f, 70.0f }, - { 100.0f, 50.0f }, - { -30.000002f, 500.0f }, - { 100.0f, 50.0f }, - { 180.0f, 70.0f }, - }; - float sp8[6] = { 2750.0f, 1550.0f, 1450.0f, 2750.0f, 1450.0f, 1550.0f }; - if (lbl_1_bss_5C != 0) { - var_r27 = 0; - } - if ((fn_1_4070() == 0) || (fn_1_4030() == 0) || (lbl_1_bss_44 == 0) || !(lbl_1_bss_4C > work->unk_04.x)) { - for (var_r28 = 0; var_r28 < 6; var_r28++) { - work->unk_A4[var_r28] = 1; - } - } - var_f26 = work->unk_04.x; - work->unk_BC = (s32)(fabs2(var_f26) / 5000.0) % 6; - var_r30 = work->unk_BC; - var_f31 = 1000.0f + (5000.0f * (s32)(work->unk_04.x / 5000.0f)); - var_f28 = (1000.0f + work->unk_04.x) - 9000.0f; - var_f27 = (1000.0f + work->unk_04.x) - 20000.0f; - for (var_r28 = 0; var_r28 < 6; var_r28++) { - var_r25 = var_r24 = var_r23 = 1; - if ((var_r27 != 0) && (work->unk_A4[var_r30] != 0)) { - if ((var_f31 > var_f28) || ((work->unk_98[var_r30] >= 0) && (var_f31 > var_f27))) { - if (var_f31 > var_f28) { - Hu3DModelAttrReset(work->unk_80[var_r30], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(work->unk_80[var_r30], sp20[var_r30], 0.0f, var_f31); - if (work->unk_8C[var_r30] >= 0) { - Hu3DModelAttrReset(work->unk_8C[var_r30], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(work->unk_8C[var_r30], sp20[var_r30], 0.0f, var_f31); - } - var_r25 = var_r24 = 0; - } - if ((work->unk_98[var_r30] >= 0) && (var_f31 > var_f27) && (var_f31 < (1000.0f + var_f28))) { - var_r26 = work->unk_98[var_r30]; - Hu3DModelAttrReset(var_r26, HU3D_ATTR_DISPOFF); - var_r29 = ((ParticleData *)Hu3DData[var_r26].unk_120)->unk_48; - Hu3DModelPosSet(work->unk_98[var_r30], sp20[var_r30] + sp38[var_r30].x, sp38[var_r30].y, var_f31); - var_r29->unk34.x = var_r29->unk34.y = var_r29->unk34.z = 0.0f; - var_r29->unk2C = sp8[var_r30]; - var_r29->unk40.a = -1; - var_f30 = fabs(var_f27 - var_f31); - var_f29 = 1000.0f - (var_f31 - var_f28); - if (var_f30 < 2000.0f) { - var_f30 *= 0.0005f; - var_r29->unk40.a = 255.0f * var_f30; - } - else if (var_f29 < 1000.0f) { - var_f29 *= 0.001f; - var_r29->unk40.a = 255.0f * var_f29; - } - DCStoreRange(var_r29, sizeof(HsfanimStruct01)); - var_r23 = 0; - } - } - } - else { - work->unk_A4[var_r30] = 0; - } - if (var_r25 != 0) { - Hu3DModelAttrSet(work->unk_80[var_r30], HU3D_ATTR_DISPOFF); - } - if ((var_r24 != 0) && (work->unk_8C[var_r30] >= 0)) { - Hu3DModelAttrSet(work->unk_8C[var_r30], HU3D_ATTR_DISPOFF); - } - if ((var_r23 != 0) && (work->unk_98[var_r30] >= 0)) { - Hu3DModelAttrSet(work->unk_98[var_r30], HU3D_ATTR_DISPOFF); - } - var_f31 -= 5000.0f; - if (var_f31 < var_f27) { - var_r27 = 0; - } - var_r30 = (var_r30 + 1) % 6; - } - } -} - -void fn_1_6DC8(M430DllWork *work) -{ - float var_f31; - float var_f30; - float var_f29; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r28 = 1; - if (lbl_1_bss_5C != 0) { - var_r28 = 0; - } - var_f29 = work->unk_04.x; - work->unk_7C = (s32)(fabs2(var_f29) / 1000.0) % 10; - var_r30 = work->unk_7C; - var_f31 = 1000.0f + (1000.0f * (s32)(work->unk_04.x / 1000.0f)); - var_f30 = 8000.0f; - for (var_r29 = 0; var_r29 < 0xA; var_r29++) { - if (var_r28 != 0) { - Hu3DModelAttrReset(work->unk_40[var_r30], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(work->unk_54[var_r30], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(work->unk_68[var_r30], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(work->unk_40[var_r30], -920.0f, 0.0f, var_f31); - Hu3DModelPosSet(work->unk_54[var_r30], 0.0f, 0.0f, var_f31); - Hu3DModelPosSet(work->unk_68[var_r30], 920.0f, 0.0f, var_f31); - var_f31 -= 1000.0f; - var_f30 -= 1000.0f; - if (var_f30 < 0.0f) { - var_r28 = 0; - } - } - else { - Hu3DModelAttrSet(work->unk_40[var_r30], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(work->unk_54[var_r30], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(work->unk_68[var_r30], HU3D_ATTR_DISPOFF); - } - var_r30 = (var_r30 + 1) % 10; - } -} - -M430DllUnkStruct2 *fn_1_70AC(omObjData *arg0, s32 var_r27, s16 var_r28) -{ - float var_f31; - float var_f30; - float var_f29; - M430DllUnkStruct2 *var_r31; - s32 var_r30; - M430DllUnkStruct2 *var_r29; - - u32 sp10[2] = { DATA_MAKE_NUM(DATADIR_M430, 0x11), DATA_MAKE_NUM(DATADIR_M430, 0x12) }; - s32 sp8[2] = { 1, 2 }; - var_r29 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r28 * sizeof(M430DllUnkStruct2), MEMORY_DEFAULT_NUM); - memset(var_r29, 0, var_r28 * 0x3C); - var_f31 = -90.0f; - for (var_r31 = var_r29, var_r30 = 0; var_r30 < var_r28; var_r30++, var_r31++) { - var_r31->unk_00 = var_r27; - var_r31->unk_04 = Hu3DModelCreateFile(sp10[var_r30 & 1]); - Hu3DModelLayerSet(var_r31->unk_04, 1); - Hu3DModelCameraSet(var_r31->unk_04, sp8[var_r31->unk_00]); - var_f30 = frandmod(0x168); - var_f29 = frandmod(0x118); - var_r31->unk_0C.x = var_f29 * sind(var_f30) + fn_1_BB54(var_r27); - var_r31->unk_0C.y = var_f31; - var_r31->unk_0C.z = var_f29 * cosd(var_f30); - var_r31->unk_2C = frandmod(0x168); - var_r31->unk_34 = 1.0f; - var_r31->unk_38 = 0.0f; - var_f31 -= 10.0f; - var_r31->unk_0A = var_r28; - } - return var_r29; -} - -void fn_1_732C(omObjData *object, M430DllUnkStruct2 *arg1) -{ - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r28 = arg1->unk_0A; - for (var_r30 = 0; var_r30 < var_r28; var_r30++, arg1++) { - var_r29 = 0; - if (arg1->unk_34 > arg1->unk_38) { - var_r29 = 1; - } - else { - VECSubtract(&arg1->unk_18, &arg1->unk_0C, &sp8); - var_f31 = VECMag(&sp8); - if (var_f31 < 50.0f) { - var_r29 = 1; - } - } - if (var_r29 != 0) { - var_f31 = frandmod(0x168); - var_f30 = 400.0f + frandmod(0x15E); - arg1->unk_18.x = var_f30 * sind(var_f31) + fn_1_BB54(arg1->unk_00); - arg1->unk_18.z = 2.0 * (var_f30 * cosd(var_f31)); - arg1->unk_18.y = arg1->unk_0C.y; - arg1->unk_34 = 0.0f; - arg1->unk_38 = 200.0f + frandmod(0x258); - arg1->unk_28 = 400.0f; - } - VECSubtract(&arg1->unk_18, &arg1->unk_0C, &sp8); - arg1->unk_30 = atan2d(sp8.x, sp8.z); - arg1->unk_2C = fn_1_48B0(arg1->unk_2C, arg1->unk_30, 0.08f); - arg1->unk_28 += 0.05f * (300.0f - arg1->unk_28); - arg1->unk_24 += 0.2f * (arg1->unk_28 - arg1->unk_24); - arg1->unk_0C.x = arg1->unk_0C.x + ((0.016666668f * arg1->unk_24) * sind(arg1->unk_2C)); - arg1->unk_0C.z = arg1->unk_0C.z + ((0.016666668f * arg1->unk_24) * cosd(arg1->unk_2C)); - arg1->unk_34 += 0.016666668f * arg1->unk_24; - } -} - -void fn_1_76D8(omObjData *object, M430DllUnkStruct2 *arg1) -{ - float var_f31; - s32 var_r30; - s32 var_r29; - - var_r29 = arg1->unk_0A; - if (lbl_1_bss_5C != 0) { - for (var_r30 = 0; var_r30 < var_r29; var_r30++, arg1++) { - Hu3DModelAttrSet(arg1->unk_04, HU3D_ATTR_DISPOFF); - } - return; - } - var_f31 = (s32)(0.00011111111f * (1000.0f + fn_1_7FBC(arg1->unk_00))); - var_f31 = (100.0f * (90.0f * var_f31)) - 5000.0f; - for (var_r30 = 0; var_r30 < var_r29; var_r30++, arg1++) { - Hu3DModelPosSet(arg1->unk_04, arg1->unk_0C.x, arg1->unk_0C.y, arg1->unk_0C.z + var_f31); - Hu3DModelRotSet(arg1->unk_04, 0.0f, arg1->unk_2C, 0.0f); - Hu3DModelAttrReset(arg1->unk_04, HU3D_ATTR_DISPOFF); - } -} - -void fn_1_7848(omObjData *object) -{ - float var_f31; - float var_f30; - float var_f29; - float var_f28; - M430DllWork2 *var_r31; - s16 var_r30; - s32 var_r29; - M430DllWork2 *work; - s32 var_r26; - - var_r30 = 0x20; - work = HuMemDirectMallocNum(HEAP_SYSTEM, var_r30 * sizeof(M430DllWork2), MEMORY_DEFAULT_NUM); - object->data = work; - memset(work, 0, var_r30 * sizeof(M430DllWork2)); - var_r26 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x13)); - var_f29 = 1000.0f; - for (var_r31 = work, var_r29 = 0; var_r29 < var_r30; var_r29++, var_r31++) { - var_r31->unk_00 = Hu3DModelLink(var_r26); - Hu3DModelLayerSet(var_r31->unk_00, 1); - Hu3DModelCameraSet(var_r31->unk_00, 1); - Hu3DModelAttrSet(var_r31->unk_00, HU3D_ATTR_DISPOFF); - var_r31->unk_14.x = (2.8f * frandmod(0x3E8)) - 1400.0f; - var_r31->unk_14.z = 0.7f * frandmod(0x3E8) - 350.0f; - var_r31->unk_14.y = 300.0f + (0.8f * frandmod(0x3E8)); - var_f30 = frandmod(0x168); - var_f31 = 200.0f + frandmod(0xAF); - var_r31->unk_08.x = var_f31 * sind(var_f30); - var_r31->unk_08.y = 0.0f; - var_r31->unk_08.z = var_f31 * cosd(var_f30); - VECAdd(&var_r31->unk_14, &var_r31->unk_08, &var_r31->unk_08); - var_r31->unk_38 = 60.0f - (0.13483146f * var_f31); - var_r31->unk_28 = frandmod(0x168); - if (frandmod(0x3E8) < 0x1F4) { - var_f28 = -70.0f + (0.1f * frandmod(0x32)); - } - else { - var_f28 = 70.0f - (0.1f * frandmod(0x32)); - } - var_r31->unk_3C = var_f28; - if (var_r31->unk_3C < 0.0f) { - var_r31->unk_38 = -var_r31->unk_38; - } - var_r31->unk_30 = 1.0f; - var_r31->unk_34 = 0.0f; - var_f29 -= 50.0f; - var_r31->unk_06 = var_r30; - } - (void)var_r29; - (void)object; - Hu3DModelKill(var_r26); - object->func = fn_1_7CAC; -} - -void fn_1_7CAC(omObjData *object) -{ - Vec spC; - s32 sp8; - s32 var_r29; - - M430DllWork2 *work = object->data; - s32 var_r28 = work->unk_06; - if (fn_1_4070() >= 4) { - for (var_r29 = 0; var_r29 < var_r28; var_r29++, work++) { - sp8 = 0; - VECSubtract(&work->unk_14, &work->unk_08, &spC); - work->unk_2C = atan2d(spC.x, spC.z); - work->unk_28 = fn_1_48B0(work->unk_28, work->unk_2C + work->unk_3C, 0.08f); - work->unk_24 += (0.05f * (600.0f - work->unk_24)); - work->unk_20 += (0.2f * (work->unk_24 - work->unk_20)); - work->unk_08.x += ((0.016666668f * work->unk_20) * sind(work->unk_28)); - work->unk_08.z += ((0.016666668f * work->unk_20) * cosd(work->unk_28)); - work->unk_30 += (0.016666668f * work->unk_20); - } - fn_1_7EAC(object, object->data); - } -} - -void fn_1_7EAC(omObjData *object, M430DllWork2 *var_r31) -{ - Mtx sp8; - float var_f31; - s32 var_r30; - Mtx *var_r29; - s32 var_r28; - - var_r28 = var_r31->unk_06; - var_f31 = fn_1_7FBC(0) - 2000.0f; - for (var_r30 = 0; var_r30 < var_r28; var_r30++, var_r31++) { - Hu3DModelPosSet(var_r31->unk_00, var_r31->unk_08.x, var_r31->unk_08.y, var_r31->unk_08.z + var_f31); - var_r29 = &Hu3DData[var_r31->unk_00].unk_F0; - MTXRotRad(*var_r29, 0x59, 0.017453292f * var_r31->unk_28); - MTXRotRad(sp8, 0x5A, 0.017453292f * var_r31->unk_38); - MTXConcat(*var_r29, sp8, *var_r29); - Hu3DModelAttrReset(var_r31->unk_00, HU3D_ATTR_DISPOFF); - } -} - -float fn_1_7FBC(s32 arg0) -{ - M430DllWork *var_r31; - M430DllWork *var_r30; - - var_r30 = lbl_1_bss_58->data; - arg0 &= 1; - var_r31 = var_r30; - return var_r31[arg0].unk_04.x; -} - -void fn_1_7FFC(s32 arg0, float arg8) -{ - M430DllWork *var_r31; - M430DllWork *var_r30; - - var_r30 = lbl_1_bss_58->data; - arg0 &= 1; - var_r31 = var_r30; - var_r31[arg0].unk_04.y = arg8; -} - -void fn_1_803C(omObjData *var_r31) -{ - var_r31->stat |= 0x100; - omSetStatBit(var_r31, 0xA0); - var_r31->model[0] = Hu3DHookFuncCreate(fn_1_8CE0); - Hu3DModelLayerSet(var_r31->model[0], 4); - Hu3DModelCameraSet(var_r31->model[0], 1); - var_r31->model[1] = Hu3DHookFuncCreate(fn_1_8CE0); - Hu3DModelLayerSet(var_r31->model[1], 4); - Hu3DModelCameraSet(var_r31->model[1], 2); - var_r31->model[2] = Hu3DHookFuncCreate(fn_1_9C90); - Hu3DModelLayerSet(var_r31->model[2], 0); - Hu3DModelCameraSet(var_r31->model[2], 1); - var_r31->model[3] = Hu3DHookFuncCreate(fn_1_9C90); - Hu3DModelLayerSet(var_r31->model[3], 0); - Hu3DModelCameraSet(var_r31->model[3], 2); - var_r31->model[4] = Hu3DHookFuncCreate(fn_1_A3A8); - Hu3DModelLayerSet(var_r31->model[4], 1); - Hu3DModelCameraSet(var_r31->model[4], 3); - var_r31->model[5] = Hu3DHookFuncCreate(fn_1_AB98); - Hu3DModelLayerSet(var_r31->model[5], 3); - Hu3DModelCameraSet(var_r31->model[5], 3); - var_r31->model[6] = Hu3DHookFuncCreate(fn_1_AC84); - Hu3DModelLayerSet(var_r31->model[6], 7); - Hu3DModelCameraSet(var_r31->model[6], 3); - lbl_1_bss_60->unk_00 = 0; - lbl_1_bss_60->unk_04 = var_r31->model[0]; - fn_1_82F4(var_r31, lbl_1_bss_60); - lbl_1_bss_60[1].unk_00 = 1; - lbl_1_bss_60[1].unk_04 = var_r31->model[1]; - fn_1_82F4(var_r31, &lbl_1_bss_60[1]); - var_r31->func = fn_1_8264; -} - -void fn_1_8264(omObjData *object) -{ - lbl_1_bss_60[0].unk_08 = lbl_1_bss_60[1].unk_08 = 0; - lbl_1_bss_60[0].unk_0C = lbl_1_bss_60[1].unk_0C = 0; - lbl_1_bss_60[0].unk_10 = lbl_1_bss_60[1].unk_10 = 0; - lbl_1_bss_60[0].unk_14 = lbl_1_bss_60[1].unk_14 = 0; - lbl_1_bss_60[0].unk_18 = lbl_1_bss_60[1].unk_18 = 0; -} - -void fn_1_82F4(omObjData *object, M430DllBss60Struct *var_r31) -{ - float var_f31; - float var_f30; - s32 var_r30; - Vec *var_r29; - GXColor *var_r28; - s32 var_r27; - - s32 sp8[8] = { 0, 0x16, 1, 0x17, 1, 0, 0x17, 0x16 }; - - var_r31->unk_2C = HuMemDirectMallocNum(HEAP_SYSTEM, 0x1B8 * sizeof(Vec), MEMORY_DEFAULT_NUM); - var_r31->unk_30 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x1B8 * sizeof(Vec), MEMORY_DEFAULT_NUM); - var_r31->unk_34 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x14A0, MEMORY_DEFAULT_NUM); - var_r31->unk_38 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x6E0, MEMORY_DEFAULT_NUM); - var_r31->unk_40 = 0; - for (var_r30 = 0; var_r30 < 2; var_r30++) { - var_r31->unk_44[var_r30] = HuMemDirectMallocNum(HEAP_SYSTEM, 0x1B8 * sizeof(Vec), MEMORY_DEFAULT_NUM); - var_r31->unk_54[var_r30] = HuMemDirectMallocNum(HEAP_SYSTEM, 0x1B8 * sizeof(GXColor), MEMORY_DEFAULT_NUM); - } - var_r31->unk_5C = 0x12D0; - var_r31->unk_60 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r31->unk_5C, MEMORY_DEFAULT_NUM); - DCFlushRange(var_r31->unk_60, var_r31->unk_5C); - var_r31->unk_64 = 0; - var_r31->unk_68 = GXGetTexBufferSize(0x140, 0x1E0, 5, 0, 0); - if (var_r31->unk_00 == 0) { - var_r31->unk_68 *= 2; - } - var_r31->unk_6C = HuMemDirectMallocNum(HEAP_SYSTEM, var_r31->unk_68, MEMORY_DEFAULT_NUM); - DCFlushRange(var_r31->unk_6C, var_r31->unk_68); - var_r31->unk_1C = 0; - var_r31->unk_20 = 0; - var_r31->unk_24 = 0.0f; - var_r31->unk_28 = 0.0f; - var_r29 = var_r31->unk_2C; - var_f31 = 0.0f; - var_f30 = -2000.0f; - for (var_r30 = 0; var_r30 < 0x14; var_r30++) { - var_f31 = 65.47619f - var_f31; - for (var_r27 = 0; var_r27 < 0x16; var_r27++) { - var_r29->x = ((130.95238f * var_r27) - 1375.0f) + var_f31; - var_r29->y = 0.0f; - var_r29->z = var_f30; - var_r29++; - } - var_f30 += 210.52632f; - } - memset(var_r31->unk_30, 0, 0x1B8 * sizeof(Vec)); - for (var_r29 = var_r31->unk_30, var_r30 = 0; var_r30 < 0x1B8; var_r30++, var_r29++) { - var_r29->y = (0.05f * frandmod(0x3E8)) - 20.0f; - } - for (var_r30 = 0; var_r30 < 2; var_r30++) { - memcpy(var_r31->unk_44[var_r30], var_r31->unk_2C, 0x1B8 * sizeof(Vec)); - for (var_r28 = var_r31->unk_54[var_r30], var_r27 = 0; var_r27 < 0x1B8; var_r27++, var_r28++) { - var_r28->r = 0x32; - var_r28->g = 0x8C; - var_r28->b = 0xB4; - var_r28->a = 0; - } - } - fn_1_86B4(object, var_r31); - fn_1_8B5C(object, var_r31); -} - -void fn_1_86B4(omObjData *object, M430DllBss60Struct *arg1) -{ - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - GXColor *var_r30; - s32 var_r29; - Vec *var_r28; - Vec *var_r27; - Vec *var_r26; - u32 var_r25; - s32 var_r24; - s32 var_r23; - M430DllWork *var_r22; - M430DllWork *var_r21; - - if (omPauseChk() == 0) { - arg1->unk_1C++; - } - arg1->unk_40 = 1 - arg1->unk_40; - var_r25 = arg1->unk_00; - var_r21 = lbl_1_bss_58->data; - var_r25 &= 1; - var_r22 = var_r21; - var_f29 = var_r22[var_r25].unk_04.x; - var_f28 = var_f29; - var_f30 = var_f28; - var_r24 = 0.002375f * var_f30; - arg1->unk_28 = 421.05264f * var_r24; - arg1->unk_24 = var_f30 - arg1->unk_28; - arg1->unk_20 = (var_r24 * 2) % 20; - var_r23 = (arg1->unk_20 + 0x14) % 20; - Hu3DModelPosSet(arg1->unk_04, fn_1_BB54(arg1->unk_00), 0.0f, arg1->unk_28 - 500.0f); - var_r28 = arg1->unk_2C; - var_r30 = arg1->unk_54[arg1->unk_40]; - sp14.x = 0.0f; - sp14.y = 0.0f; - sp14.z = 2000.0f + arg1->unk_24; - if (lbl_1_bss_5C != 0) { - for (var_r29 = 0; var_r29 < 0x1B8; var_r29++) { - VECSubtract(var_r28, &sp14, &sp8); - var_f31 = 0.00025f * VECMag(&sp8); - if (var_f31 < 0.3f) { - var_r30->a = -1; - } - else if (var_f31 > 0.75f) { - var_r30->a = 0; - } - else { - var_f31 = 255.0f - (566.6667f * (var_f31 - 0.3f)); - var_r30->a = var_f31; - } - var_r28++; - var_r30++; - } - } - else { - for (var_r29 = 0; var_r29 < 0x1B8; var_r29++) { - VECSubtract(var_r28, &sp14, &sp8); - var_f31 = 0.00025f * VECMag(&sp8); - if (var_f31 < 0.25f) { - var_r30->a = -0x1A; - } - else if (var_f31 > 0.85f) { - var_r30->a = 0; - } - else { - var_f31 = 230.0f - (383.3333f * (var_f31 - 0.25f)); - var_r30->a = var_f31; - } - var_r28++; - var_r30++; - } - } - if (lbl_1_bss_5C != 0) { - memcpy(arg1->unk_44[arg1->unk_40], arg1->unk_2C, 0x1B8 * sizeof(Vec)); - } - else { - var_r28 = arg1->unk_2C; - var_r26 = arg1->unk_44[arg1->unk_40]; - var_r29 = (0x14 - var_r23) * 0x16; - var_r27 = &arg1->unk_30[0x1B8 - var_r29]; - while (var_r29-- != 0) { - VECAdd(var_r28, var_r27, var_r26); - var_r28++; - var_r27++; - var_r26++; - } - var_r29 = var_r23 * 0x16; - var_r27 = arg1->unk_30; - while (var_r29-- != 0) { - VECAdd(var_r28, var_r27, var_r26); - var_r28++; - var_r27++; - var_r26++; - } - memcpy(arg1->unk_44[arg1->unk_40], arg1->unk_2C, 0x16 * sizeof(Vec)); - } - DCStoreRangeNoSync(arg1->unk_44[arg1->unk_40], 0x1B8 * sizeof(Vec)); - DCStoreRangeNoSync(arg1->unk_54[arg1->unk_40], 0x1B8 * sizeof(GXColor)); - PPCSync(); -} - -void fn_1_8B5C(omObjData *object, M430DllBss60Struct *var_r30) -{ - s32 var_r31; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - - s32 sp28[5] = { 0, 0, 0, 1, 1 }; - s32 sp18[4] = { 1, 0, 0, 0 }; - s32 sp8[4] = { 0, 0, 1, 2 }; - GXBeginDisplayList(var_r30->unk_60, var_r30->unk_5C); - var_r26 = 0; - var_r31 = 0; - for (var_r29 = 0; var_r29 < 0x13; var_r29++) { - var_r24 = 0x2B - (((var_r26 * 2) + sp8[var_r31]) * 2); - var_r27 = sp18[var_r31]; - GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, var_r24); - for (var_r28 = 0; var_r28 < var_r24; var_r28++) { - var_r25 = (var_r28 >> 1) + ((var_r29 + var_r27) * 0x16) + (var_r26 + sp28[var_r31 + var_r27]); - GXUnknownu16(var_r25); - GXUnknownu16(var_r25); - var_r27 = 1 - var_r27; - } - var_r31++; - if (var_r31 >= 4) { - var_r31 = 0; - var_r26++; - } - } - var_r30->unk_64 = GXEndDisplayList(); -} - -void fn_1_8CE0(ModelData *model, Mtx matrix) -{ - Mtx sp194; - Mtx sp164; - Mtx sp134; - Mtx sp104; - Mtx spD4; - Mtx spA4; - Mtx sp74; - Mtx sp44; - GXTexObj sp24; - float var_f31; - float var_f30; - M430DllBss60Struct *var_r31; - - GXColor sp20 = { 0xFF, 0xFF, 0xFF, 0xFF }; - GXColor sp1C = { 0x08, 0x08, 0x08, 0xFF }; - GXColor sp18 = { 0x00, 0x00, 0x00, 0x80 }; - GXColor sp14 = { 0xCC, 0xBF, 0xB2, 0x33 }; - GXColor sp10 = { 0xE0, 0xD8, 0xF4, 0x08 }; - var_r31 = lbl_1_bss_60; - if (var_r31->unk_10 != 0) { - var_r31 = &var_r31[1]; - } - var_r31->unk_10 = 1; - fn_1_963C(model, matrix, var_r31->unk_00); - MTXCopy(matrix, sp134); - if (fn_1_4030() != 0) { - var_f30 = 1.0f; - var_f31 = fn_1_BB54(var_r31->unk_00); - } - else { - var_f30 = 1.5f; - var_f31 = 0.0f; - } - MTXTrans(sp164, var_f31 - fn_1_BB54(var_r31->unk_00), 0.0f, 0.0f); - MTXConcat(sp134, sp164, sp134); - MTXScale(sp194, var_f30, 1.0f, 1.0f); - MTXConcat(sp134, sp194, sp134); - GXLoadPosMtxImm(sp134, 0); - MTXInvXpose(sp134, sp194); - GXLoadNrmMtxImm(sp194, 0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - if ((fn_1_4030() == 0) && (var_r31->unk_00 == 0)) { - GXInitTexObj(&sp24, var_r31->unk_6C, 0x280, 0x1E0, GX_TF_RGB5A3, GX_CLAMP, GX_CLAMP, 0); - } - else { - GXInitTexObj(&sp24, var_r31->unk_6C, 0x140, 0x1E0, GX_TF_RGB5A3, GX_CLAMP, GX_CLAMP, 0); - } - GXInitTexObjLOD(&sp24, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); - GXLoadTexObj(&sp24, GX_TEXMAP0); - HuSprTexLoad(lbl_1_bss_150, 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR); - HuSprTexLoad(lbl_1_bss_148, 0, 2, GX_CLAMP, GX_CLAMP, GX_LINEAR); - GXSetNumTexGens(3); - if (fn_1_4030() != 0) { - C_MTXLightPerspective(sp104, 41.5f, 0.6f, 0.5f, -0.5f, 0.5f, 0.5f); - } - else { - C_MTXLightPerspective(sp104, 41.5f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); - } - MTXInverse(Hu3DCameraMtx, spD4); - MTXConcat(spD4, sp134, spD4); - MTXConcat(sp104, Hu3DCameraMtx, spA4); - MTXConcat(spA4, spD4, spD4); - GXLoadTexMtxImm(spD4, 0x1E, GX_MTX3x4); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D); - C_MTXLightPerspective(sp104, 70.0f, 0.5f, 0.5f, -0.5f, 0.5f, 0.5f); - MTXInverse(Hu3DCameraMtx, sp74); - MTXConcat(sp74, sp134, sp74); - MTXConcat(sp104, Hu3DCameraMtx, sp44); - MTXConcat(sp44, sp74, sp74); - GXLoadTexMtxImm(sp74, 0x24, GX_MTX3x4); - GXSetTexCoordGen2(GX_TEXCOORD2, GX_TG_MTX3x4, GX_TG_POS, 0x24, GX_FALSE, 0x7D); - MTXRotRad(sp164, 0x58, 1.5707964f); - var_f31 = 0.00075f * var_f30; - MTXScale(sp194, var_f31, -0.003f, 0.00075f); - MTXConcat(sp164, sp194, sp164); - MTXTrans(sp194, (var_r31->unk_1C & 0x3FF) / (1024.0f * var_f31), 0.0f, (0.7f * var_r31->unk_28) - (0.3f * var_r31->unk_24)); - MTXConcat(sp164, sp194, sp164); - sp164[0][1] = -0.001f; - GXLoadTexMtxImm(sp164, 0x21, GX_MTX2x4); - GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_POS, 0x21, GX_FALSE, 0x7D); - GXSetNumIndStages(2); - GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD1, GX_TEXMAP1); - GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); - GXSetTevIndWarp(0, 0, GX_TRUE, GX_FALSE, 1); - MTXScale(sp164, -0.25f, -0.5f, 0.5f); - GXSetIndTexMtx(GX_ITM_0, (float(*)[3])sp164, -4); - GXSetIndTexOrder(GX_INDTEXSTAGE1, GX_TEXCOORD1, GX_TEXMAP1); - GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1); - GXSetTevIndWarp(1, 1, GX_TRUE, GX_FALSE, 2); - MTXScale(sp164, 0.4f, 0.5f, 0.5f); - GXSetIndTexMtx(GX_ITM_1, (float(*)[3])sp164, -1); - GXSetNumTevStages(2); - GXSetTevColor(GX_TEVREG0, sp14); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_RASC, GX_CC_TEXC, GX_CC_RASA, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_A0, GX_CA_ZERO, GX_CA_RASA, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD2, GX_TEXMAP2, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A0, GX_CC_CPREV); - GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); - GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetBlendMode(GX_BM_NONE, GX_BL_ONE, GX_BL_ZERO, GX_LO_SET); - GXSetZMode(1, GX_LEQUAL, 0); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_POS, var_r31->unk_44[var_r31->unk_40], sizeof(Vec)); - GXSetArray(GX_VA_CLR0, var_r31->unk_54[var_r31->unk_40], sizeof(GXColor)); - GXSetCullMode(GX_CULL_NONE); - GXCallDisplayList(var_r31->unk_60, var_r31->unk_64); - GXSetCullMode(GX_CULL_BACK); - GXSetNumIndStages(0); - GXSetTevDirect(GX_TEVSTAGE0); - GXSetTevDirect(GX_TEVSTAGE1); -} - -Vec lbl_1_data_60[6] = { - { -2750.0f, 0.0f, -2500.0f }, - { 2750.0f, 0.0f, -2500.0f }, - { -2750.0f, 0.0f, 0.0f }, - { 2750.0f, 0.0f, 0.0f }, - { -1375.0f, 0.0f, 2500.0f }, - { 1375.0f, 0.0f, 2500.0f }, -}; -GXColor lbl_1_data_A8[6] = { - { 5, 0x38, 0xA2, 0 }, - { 5, 0x38, 0xA2, 0xFF }, - { 0x14, 0x54, 0xAB, 0xFF }, - { 0x1E, 0x6D, 0xB0, 0xFF }, - { 0x2A, 0x7E, 0xB4, 0xFF }, - { 0x32, 0x8C, 0xB4, 0xFF }, -}; - -void fn_1_963C(ModelData *model, Mtx matrix, u32 var_r31) -{ - Mtx sp100; - Mtx spD0; - Mtx spA0; - Mtx sp70; - Mtx sp40; - Mtx sp10; - float var_f31; - float var_f30; - - GXColor spC = { 0x32, 0x8C, 0xB4, 0x33 }; - if (fn_1_4030() != 0) { - var_f30 = 1.0f; - var_f31 = fn_1_BB54(var_r31); - } - else { - var_f30 = 1.5f; - var_f31 = 0.0f; - } - MTXTrans(spD0, var_f31, 0.0f, ((lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24) - 2500.0f) - 2000.0f); - MTXScale(sp100, var_f30, 1.0f, 1.0f); - MTXConcat(spD0, sp100, spD0); - MTXConcat(Hu3DCameraMtx, spD0, spA0); - GXLoadPosMtxImm(spA0, 0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - HuSprTexLoad(lbl_1_bss_14C, 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - HuSprTexLoad(lbl_1_bss_148, 0, 1, GX_CLAMP, GX_CLAMP, GX_LINEAR); - GXSetNumTexGens(2); - C_MTXLightPerspective(sp70, 70.0f, 0.5f, 0.5f, -0.5f, 0.5f, 0.5f); - MTXInverse(Hu3DCameraMtx, sp40); - MTXConcat(sp40, spA0, sp40); - MTXConcat(sp70, Hu3DCameraMtx, sp10); - MTXConcat(sp10, sp40, sp40); - GXLoadTexMtxImm(sp40, 0x21, GX_MTX3x4); - GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX3x4, GX_TG_POS, 0x21, GX_FALSE, 0x7D); - MTXRotRad(spD0, 0x58, 1.5707964f); - var_f31 = 0.00075f * var_f30; - MTXScale(sp100, var_f31, -0.003f, 0.00075f); - MTXConcat(spD0, sp100, spD0); - MTXTrans(sp100, (lbl_1_bss_60[var_r31].unk_1C & 0x3FF) / (1024.0f * var_f31), 0.0f, - 0.3f * (lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24)); - MTXConcat(spD0, sp100, spD0); - GXLoadTexMtxImm(spD0, 0x1E, GX_MTX2x4); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D); - GXSetNumIndStages(1); - GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD0, GX_TEXMAP0); - GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); - GXSetTevIndWarp(0, 0, GX_TRUE, GX_FALSE, 1); - MTXScale(spD0, 0.5f, 0.6f, 0.6f); - GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spD0, -1); - GXSetNumTevStages(1); - GXSetTevColor(GX_TEVREG0, spC); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A0, GX_CC_RASC); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_RASA); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetBlendMode(GX_BM_NONE, GX_BL_ONE, GX_BL_ZERO, GX_LO_SET); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX8); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX8); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_POS, lbl_1_data_60, sizeof(Vec)); - GXSetArray(GX_VA_CLR0, lbl_1_data_A8, sizeof(GXColor)); - GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 6); - GXPosition1x8(0); - GXColor1x8(3); - GXPosition1x8(1); - GXColor1x8(3); - GXPosition1x8(2); - GXColor1x8(4); - GXPosition1x8(3); - GXColor1x8(4); - GXPosition1x8(4); - GXColor1x8(5); - GXPosition1x8(5); - GXColor1x8(5); - GXSetNumIndStages(0); - GXSetTevDirect(GX_TEVSTAGE0); -} - -Vec lbl_1_data_C0[8] = { - { -2750.0f, 20.0f, 0.0f }, - { 2750.0f, 20.0f, 0.0f }, - { -2750.0f, -20.0f, 0.0f }, - { 2750.0f, -20.0f, 0.0f }, - { -2750.0f, -160.0f, 0.0f }, - { 2750.0f, -160.0f, 0.0f }, - { -2750.0f, -340.0f, 0.0f }, - { 2750.0f, -340.0f, 0.0f }, -}; -Vec lbl_1_data_120[6] = { - { -700.0f, 0.0f, -1750.0f }, - { 700.0f, 0.0f, -1750.0f }, - { -700.0f, 0.0f, -1400.0f }, - { 700.0f, 0.0f, -1400.0f }, - { -700.0f, 0.0f, 700.0f }, - { 700.0f, 0.0f, 700.0f }, -}; - -void fn_1_9C90(ModelData *model, Mtx matrix) -{ - Mtx sp124; - Mtx spF4; - Mtx spC4; - Mtx sp94; - Mtx sp64; - Mtx sp34; - Vec sp28; - Vec sp1C; - Vec sp10; - float var_f31; - float var_f30; - s32 var_r31; - s32 var_r30; - - GXColor spC = { 0x32, 0x8C, 0xB4, 0x33 }; - var_r31 = 0; - if (lbl_1_bss_60[var_r31].unk_14 != 0) { - var_r31++; - } - lbl_1_bss_60[var_r31].unk_14 = 1; - sp1C.x = CenterM[var_r31].x; - sp1C.y = CenterM[var_r31].y + (CZoomM[var_r31] * sind(-CRotM[var_r31].x)); - sp1C.z = CenterM[var_r31].z + (CZoomM[var_r31] * cosd(-CRotM[var_r31].x)); - sp28.x = sp1C.x; - sp28.y = 0.0f; - sp28.z = sp1C.z - 450000.0f; - VECSubtract(&sp28, &sp1C, &sp10); - VECNormalize(&sp10, &sp10); - VECScale(&sp10, &sp10, 8000.0f); - VECAdd(&sp1C, &sp10, &sp28); - MTXTrans(spF4, sp28.x, sp28.y, sp28.z); - var_f31 = 1.0f; - if (fn_1_4030() == 0) { - var_f31 = 1.5f; - MTXScale(sp124, var_f31, 1.0f, 1.0f); - MTXConcat(spF4, sp124, spF4); - } - MTXConcat(Hu3DCameraMtx, spF4, spC4); - GXLoadPosMtxImm(spC4, 0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - HuSprTexLoad(lbl_1_bss_14C, 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - HuSprTexLoad(lbl_1_bss_148, 0, 1, GX_CLAMP, GX_CLAMP, GX_LINEAR); - GXSetNumTexGens(2); - C_MTXLightPerspective(sp94, 70.0f, 0.5f, 0.5f, -0.5f, 0.5f, 0.5f); - MTXInverse(Hu3DCameraMtx, sp64); - MTXConcat(sp64, spC4, sp64); - MTXConcat(sp94, Hu3DCameraMtx, sp34); - MTXConcat(sp34, sp64, sp64); - GXLoadTexMtxImm(sp64, 0x21, GX_MTX3x4); - GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX3x4, GX_TG_POS, 0x21, GX_FALSE, 0x7D); - var_f30 = 0.00075f * var_f31; - MTXScale(spF4, var_f30, -0.005f, 0.00075f); - MTXTrans(sp124, (lbl_1_bss_60[var_r31].unk_1C & 0x3FF) / (1024.0f * var_f30), - 0.03f * -(lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24), 0.0f); - MTXConcat(spF4, sp124, spF4); - GXLoadTexMtxImm(spF4, 0x1E, GX_MTX2x4); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D); - GXSetNumIndStages(1); - GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD0, GX_TEXMAP0); - GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); - GXSetTevIndWarp(0, 0, GX_TRUE, GX_FALSE, 1); - MTXScale(spF4, 0.5f, 0.6f, 0.6f); - GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spF4, -1); - GXSetNumTevStages(1); - GXSetTevColor(GX_TEVREG0, spC); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A0, GX_CC_RASC); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_RASA); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET); - GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX8); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX8); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_POS, lbl_1_data_C0, 0xC); - GXSetArray(GX_VA_CLR0, lbl_1_data_A8, 4); - GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 8); - for (var_r30 = 0; var_r30 < 8; var_r30++) { - GXPosition1x8(var_r30); - GXColor1x8(var_r30 >> 1); - } - GXSetNumIndStages(0); - GXSetTevDirect(GX_TEVSTAGE0); -} - -GXColor lbl_1_data_168[2] = { { 0xFF, 0xFF, 0xFF, 0 }, { 0xFF, 0xFF, 0xFF, 0xFF } }; - -void fn_1_A3A8(ModelData *model, Mtx matrix) -{ - Mtx sp48; - Mtx sp18; - float var_f31; - float var_f30; - u8 *var_r30; - u8 *var_r29; - - GXColor sp14 = { 0xFF, 0xA5, 0x59, 0xB2 }; - GXColor sp10 = { 0x99, 0x72, 0x59, 0xB2 }; - s32 var_r31 = 0; - if (lbl_1_bss_60[var_r31].unk_0C != 0) { - var_r31++; - } - lbl_1_bss_60[var_r31].unk_0C = 1; - if (fn_1_4030() != 0) { - var_f30 = 1.0f; - var_f31 = fn_1_BB54(var_r31); - } - else { - var_f30 = 1.5f; - var_f31 = 0.0f; - } - if (lbl_1_bss_5C != 0) { - MTXTrans(sp18, var_f31, 0.0f, 300.0f + (lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24)); - GXSetTevColor(GX_TEVREG0, sp10); - } - else { - MTXTrans(sp18, var_f31, -150.0f, lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24); - GXSetTevColor(GX_TEVREG0, sp14); - } - MTXScale(sp48, var_f30, 1.0f, 1.0f); - MTXConcat(sp18, sp48, sp18); - MTXConcat(Hu3DCameraMtx, sp18, sp18); - GXLoadPosMtxImm(sp18, 0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - HuSprTexLoad(lbl_1_bss_144, 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - HuSprTexLoad(lbl_1_bss_140, 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXSetNumTexGens(2); - MTXRotRad(sp18, 0x58, 1.5707964f); - var_f31 = 0.004f * var_f30; - MTXScale(sp48, var_f31, -0.004f, 0.004f); - MTXConcat(sp18, sp48, sp18); - MTXTrans(sp48, (lbl_1_bss_60[var_r31].unk_1C & 0x3FF) / (512.0f * var_f31), 0.0f, - (1.2499999f * (lbl_1_bss_60[var_r31].unk_1C % 400)) + (lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24)); - MTXConcat(sp18, sp48, sp18); - GXLoadTexMtxImm(sp18, 0x1E, GX_MTX2x4); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D); - MTXRotRad(sp18, 0x58, 1.5707964f); - var_f31 = 0.004f * var_f30; - MTXScale(sp48, var_f31, -0.004f, 0.004f); - MTXConcat(sp18, sp48, sp18); - MTXTrans(sp48, (lbl_1_bss_60[var_r31].unk_1C % 300) / (150.0f * var_f31), 0.0f, lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24); - MTXConcat(sp18, sp48, sp18); - GXLoadTexMtxImm(sp18, 0x21, GX_MTX2x4); - GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_POS, 0x21, GX_FALSE, 0x7D); - GXSetNumTevStages(2); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR_NULL); - GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_CPREV); - GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_TEXA, GX_CA_APREV, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_SET); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX8); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX8); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_POS, lbl_1_data_120, 0xC); - GXSetArray(GX_VA_CLR0, lbl_1_data_168, 4); - GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 6); - GXPosition1x8(0); - GXColor1x8(0); - GXPosition1x8(1); - GXColor1x8(0); - GXPosition1x8(2); - GXColor1x8(1); - GXPosition1x8(3); - GXColor1x8(1); - GXPosition1x8(4); - GXColor1x8(1); - GXPosition1x8(5); - GXColor1x8(1); -} - -void fn_1_AB98(ModelData *model, Mtx matrix) -{ - s32 var_r31 = 0; - if (lbl_1_bss_60[var_r31].unk_08 != 0) { - var_r31++; - } - if ((fn_1_4030() == 0) && (var_r31 == 0)) { - GXSetTexCopySrc(0, 0, 0x280, 0x1E0); - GXSetTexCopyDst(0x280, 0x1E0, GX_TF_RGB5A3, 0); - } - else { - GXSetTexCopySrc(var_r31 * 0x140, 0, 0x140, 0x1E0); - GXSetTexCopyDst(0x140, 0x1E0, GX_TF_RGB5A3, 0); - } - GXCopyTex(lbl_1_bss_60[var_r31].unk_6C, 0); - GXPixModeSync(); - lbl_1_bss_60[var_r31].unk_08 = 1; -} - -void fn_1_AC84(ModelData *model, Mtx matrix) -{ - s32 var_r31 = 0; - if (lbl_1_bss_60[var_r31].unk_18 != 0) { - var_r31++; - } - lbl_1_bss_60[var_r31].unk_18 = 1; - fn_1_86B4(lbl_1_bss_54, &lbl_1_bss_60[var_r31]); -} - -void fn_1_AD04(ModelData *model, ParticleData *particle, Mtx matrix) -{ - HsfanimStruct01 *var_r31; - s32 var_r29; - - if ((particle->unk_00 == 0) || (lbl_1_bss_5C != 0)) { - particle->unk_00++; - for (var_r31 = particle->unk_48, var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - var_r31->unk00 = 0; - var_r31->unk2C = 0.0f; - var_r31->unk40.a = 0; - } - return; - } - for (var_r31 = particle->unk_48, var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - if (var_r31->unk00 != 0) { - VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); - VECScale(&var_r31->unk08, &var_r31->unk08, 0.97f); - if (var_r31->unk00 < 24.0f) { - var_r31->unk40.a = 0.9f * var_r31->unk40.a; - } - var_r31->unk2C += 1.5f; - if (--var_r31->unk00 == 0) { - var_r31->unk00 = 0; - var_r31->unk2C = 0.0f; - var_r31->unk40.a = 0; - } - } - } - DCStoreRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); -} - -void fn_1_AEE0(s32 arg0, Vec *arg1, float arg8, float arg9) -{ - Vec sp10; - float var_f31; - float var_f30; - float var_f28; - HsfanimStruct01 *var_r31; - ParticleData *var_r30; - s32 var_r29; - M430DllWork *var_r28; - u32 var_r27; - void *var_r26; - - var_r26 = lbl_1_bss_58->data; - var_r28 = var_r26; - var_r30 = Hu3DData[var_r28[arg0].unk_10].unk_120; - if (var_r30->unk_00 != 0) { - var_r31 = var_r30->unk_48; - if (!(frandmod(0x3E8) > (1200.0f * arg9))) { - var_r27 = 1; - var_f28 = 30.0f; - for (var_r29 = 0; var_r29 < var_r30->unk_30; var_r29++, var_r31++) { - if (var_r31->unk00 == 0) { - var_r31->unk00 = 60.0f * (0.5f + (0.0005f * frandmod(0x3E8))); - var_f30 = (0.002f * frandmod(0x3E8)) - 1.0f; - var_f30 = arg8 + (var_f30 * var_f28); - sp10.x = sind(var_f30); - sp10.y = 0.0f; - sp10.z = cosd(var_f30); - var_r31->unk34 = *arg1; - var_r31->unk34.y = -20.0f; - var_f31 = 5.0f + arg9 * (1.6666667f * (2.0f * (0.001f * frandmod(0x3E8)))); - var_r31->unk08.x = sp10.x * var_f31; - var_r31->unk08.y = -0.2f * var_f31; - var_r31->unk08.z = sp10.z * var_f31; - var_f31 = 0.001f * frandmod(0x3E8); - var_f31 += (1.0f - var_f31) * (0.5f * arg9); - var_r31->unk30 = frandmod(0x168); - var_r31->unk2C = 80.0f + frandmod(0x46); - var_r31->unk40.a = frandmod(0x64) + 0x64; - var_r31->unk40.r = 150.0f + (95.0f * var_f31); - var_r31->unk40.g = 160.0f + (80.0f * var_f31); - var_r31->unk40.b = 166.0f + (60.0f * var_f31); - if (--var_r27 == 0) { - break; - } - } - } - } - } -} - -void fn_1_B394(ModelData *model, ParticleData *var_r30, Mtx matrix) -{ - HsfanimStruct01 *var_r31; - s32 var_r29; - - if ((var_r30->unk_00 == 0) || (lbl_1_bss_5C != 0)) { - var_r30->unk_00++; - for (var_r31 = var_r30->unk_48, var_r29 = 0; var_r29 < var_r30->unk_30; var_r29++, var_r31++) { - var_r31->unk00 = 0; - var_r31->unk2C = 0.0f; - var_r31->unk40.a = 0; - } - return; - } - for (var_r31 = var_r30->unk_48, var_r29 = 0; var_r29 < var_r30->unk_30; var_r29++, var_r31++) { - if (var_r31->unk00 != 0) { - var_r31->unk00--; - VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); - var_r31->unk2C += 0.5f; - if (var_r31->unk00 < 30.0) { - var_r31->unk40.a = 0.98f * var_r31->unk40.a; - } - if ((var_r31->unk34.y < -40.0f) || (var_r31->unk00 == 0)) { - var_r31->unk00 = 0; - var_r31->unk2C = 0.0f; - var_r31->unk40.a = 0; - } - } - } - DCStoreRange(var_r30->unk_48, var_r30->unk_30 * sizeof(HsfanimStruct01)); -} - -void fn_1_B570(s32 arg0, Vec *arg1, float arg8, float arg9, Vec *arg2) -{ - Vec sp28; - Vec sp1C; - s32 sp18; - float var_f31; - float var_f30; - float var_f28; - HsfanimStruct01 *var_r31; - ParticleData *var_r30; - s32 var_r29; - M430DllWork *var_r28; - u32 var_r27; - M430DllWork *var_r26; - - var_r26 = lbl_1_bss_58->data; - { - float sp14[2] = { -100.0f, 100.0f }; - var_r28 = var_r26; - var_r30 = Hu3DData[var_r28[arg0].unk_14].unk_120; - if (var_r30->unk_00 != 0) { - var_r31 = var_r30->unk_48; - if (!(frandmod(0x3E8) > (1000.0f * arg9))) { - var_r27 = 2; - var_f28 = 40.0f; - VECScale(arg2, &sp1C, 0.2f); - sp1C.x = 0.0f; - for (var_r29 = 0; var_r29 < var_r30->unk_30; var_r29++, var_r31++) { - if (var_r31->unk00 == 0) { - var_r31->unk00 = 60.0f * (0.5f + (0.0005f * frandmod(0x3E8))); - var_f30 = (0.002f * frandmod(0x3E8)) - 1.0f; - var_f30 = arg8 + sp14[var_r29 & 1] + (var_f30 * var_f28); - sp28.x = sind(var_f30); - sp28.y = 0.0f; - sp28.z = cosd(var_f30); - var_r31->unk34 = *arg1; - var_r31->unk34.x = var_r31->unk34.x + ((0.05f * frandmod(0x3E8)) - 25.0f); - var_r31->unk34.z = var_r31->unk34.z + ((0.05f * frandmod(0x3E8)) - 25.0f); - var_r31->unk34.y = 40.0f; - var_f31 = 1.6666667f + (arg9 * (0.0016666667f * frandmod(0x3E8))); - var_r31->unk08.x = sp28.x * var_f31; - var_r31->unk08.z = sp28.z * var_f31; - var_r31->unk08.y = 0.0f; - VECAdd(&var_r31->unk08, &sp1C, &var_r31->unk08); - var_f31 = 0.001f * frandmod(0x3E8); - var_f31 += (1.0f - var_f31) * (0.3f * arg9); - var_r31->unk30 = frandmod(0x168); - var_r31->unk2C = 60.0f + frandmod(0x50); - var_r31->unk40.a = (60.0f * arg9) + frandmod(0x50); - var_r31->unk40.r = 150.0f + (95.0f * var_f31); - var_r31->unk40.g = 160.0f + (80.0f * var_f31); - var_r31->unk40.b = 166.0f + (60.0f * var_f31); - if (--var_r27 == 0) { - break; - } - } - } - } - } - } -} - -float fn_1_BB54(u32 arg0) -{ - float sp8[2] = { -450.0f, 450.0f }; - - return sp8[arg0 & 1]; -} - -float fn_1_BB88(void) -{ - return 0.0f; -} - -void fn_1_BB98(u32 arg0) -{ - lbl_1_bss_5C = 0; - if (arg0 != 0) { - lbl_1_bss_5C = 1; - } -} diff --git a/src/REL/m431Dll/main.c b/src/REL/m431Dll/main.c index 4aec497d..44e0cea4 100644 --- a/src/REL/m431Dll/main.c +++ b/src/REL/m431Dll/main.c @@ -2,41 +2,43 @@ #include "game/hsfmotion.h" #include "game/msm.h" -#include "game/audio.h" #include "game/object.h" #include "game/objsub.h" -#include "game/pad.h" +#include "game/audio.h" #include "game/wipe.h" +#include "game/pad.h" -#include "game/gamework_data.h" -#include "game/minigame_seq.h" #include "game/sprite.h" +#include "game/minigame_seq.h" +#include "game/gamework_data.h" #include "ext_math.h" #include "REL/m431Dll.h" -#include "version.h" + +#include "rel_sqrt_consts.h" + typedef struct bss_5C_struct { - s16 unk0[6]; - s16 unkC[2]; - s16 unk10; - s16 unk12; - s16 unk14; - s16 unk16; - float unk18; - float unk1C; - float unk20; - float unk24; - float unk28[2]; - float unk30; - float unk34; + s16 unk0[6]; + s16 unkC[2]; + s16 unk10; + s16 unk12; + s16 unk14; + s16 unk16; + float unk18; + float unk1C; + float unk20; + float unk24; + float unk28[2]; + float unk30; + float unk34; } Bss5CStruct; typedef struct camera_view_params { - float zoom; - Vec pos; - Vec rot; + float zoom; + Vec pos; + Vec rot; } CameraViewParams; Bss5CStruct lbl_1_bss_5C; @@ -59,183 +61,212 @@ s8 lbl_1_bss_0; Vec lbl_1_data_0 = { 800, 1300, 1000 }; Vec lbl_1_data_C = { 0, 0, 0 }; GXColor lbl_1_data_18 = { 255, 255, 255, 255 }; -Vec lbl_1_data_1C = { 10, 45, 0 }; +Vec lbl_1_data_1C = { 10, 45, 0}; Vec lbl_1_data_28 = { 1300, 2500, 1300 }; Vec lbl_1_data_34 = { 0, 1, 0 }; Vec lbl_1_data_40 = { 0, 0, -1200 }; -CameraViewParams lbl_1_data_4C[4] = { { 760, { -324, -97, 0 }, { -43, 0, 0 } }, { 800, { 325, -64, 0 }, { -43, -20, 0 } }, - { 1460, { 0, 57, 0 }, { -37, 0, 0 } }, { 880, { -381, 25, 0 }, { -14, 10, 0 } } }; +CameraViewParams lbl_1_data_4C[4] = { + { + 760, + { -324, -97, 0 }, + { -43, 0, 0 } + }, + { + 800, + { 325, -64, 0 }, + { -43, -20, 0 } + }, + { + 1460, + { 0, 57, 0 }, + { -37, 0, 0 } + }, + { + 880, + { -381, 25, 0 }, + { -14, 10, 0 } + } +}; -s32 lbl_1_data_BC[3] = { -32, -2, 28 }; +s32 lbl_1_data_BC[3] = { + -32, + -2, + 28 +}; -s32 lbl_1_data_C8[2] = { 90, 486 }; +s32 lbl_1_data_C8[2] = { + 90, + 486 +}; void fn_1_424(omObjData *object); void fn_1_A44(omObjData *object); void fn_1_2110(omObjData *object); + void ObjectSetup(void) { - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - Process *temp_r31; - LightData *temp_r30; - CameraData *temp_r29; - - Hu3DLightAllKill(); - lbl_1_bss_28 = Hu3DGLightCreateV(&lbl_1_data_0, &lbl_1_data_C, &lbl_1_data_18); - Hu3DGLightInfinitytSet(lbl_1_bss_28); - temp_r30 = &Hu3DGlobalLight[lbl_1_bss_28]; - temp_r30->unk_00 |= 0x8000; - sp2C.x = sp2C.y = sp2C.z = 0; - Hu3DGLightPosAimSetV(lbl_1_bss_28, &lbl_1_data_0, &sp2C); - Hu3DShadowCreate(45, 20, 10000); - Hu3DShadowTPLvlSet(0.425f); - Hu3DShadowPosSet(&lbl_1_data_28, &lbl_1_data_34, &lbl_1_data_40); - temp_r31 = omInitObjMan(50, 8192); - omGameSysInit(temp_r31); - HuAudSndGrpSet(56); - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 41.5, 5, 5000, 1.2f); - omAddObjEx(temp_r31, 32730, 0, 0, -1, omOutView); - temp_r29 = &Hu3DCamera[0]; - temp_r29->fov = -1; - sp14.x = 0; - sp14.y = 374; - sp14.z = 1086; - sp20.x = 0; - sp20.y = 568; - sp20.z = -1316; - sp8.z = sp20.x - sp14.x; - sp8.y = sp20.y - sp14.y; - sp8.x = sp20.z - sp14.z; - CRot.x = lbl_1_data_4C[0].rot.x; - CRot.y = lbl_1_data_4C[0].rot.y; - CRot.z = lbl_1_data_4C[0].rot.z; - Center.x = lbl_1_data_4C[0].pos.x; - Center.y = lbl_1_data_4C[0].pos.y; - Center.z = lbl_1_data_4C[0].pos.z; - CZoom = lbl_1_data_4C[0].zoom; - omAddObjEx(temp_r31, 1000, 0, 0, -1, fn_1_424); - lbl_1_bss_30 = omAddObjEx(temp_r31, 10, 9, 0, -1, fn_1_A44); - lbl_1_bss_2C = omAddObjEx(temp_r31, 50, 9, 9, -1, fn_1_2110); - Hu3DBGColorSet(0, 0, 0); - fn_1_7ABC(temp_r31); + Vec sp2C; + Vec sp20; + Vec sp14; + Vec sp8; + Process *temp_r31; + LightData *temp_r30; + CameraData *temp_r29; + + Hu3DLightAllKill(); + lbl_1_bss_28 = Hu3DGLightCreateV(&lbl_1_data_0, &lbl_1_data_C, &lbl_1_data_18); + Hu3DGLightInfinitytSet(lbl_1_bss_28); + temp_r30 = &Hu3DGlobalLight[lbl_1_bss_28]; + temp_r30->unk_00 |= 0x8000; + sp2C.x = sp2C.y = sp2C.z = 0; + Hu3DGLightPosAimSetV(lbl_1_bss_28, &lbl_1_data_0, &sp2C); + Hu3DShadowCreate(45, 20, 10000); + Hu3DShadowTPLvlSet(0.425f); + Hu3DShadowPosSet(&lbl_1_data_28, &lbl_1_data_34, &lbl_1_data_40); + temp_r31 = omInitObjMan(50, 8192); + omGameSysInit(temp_r31); + HuAudSndGrpSet(56); + Hu3DCameraCreate(1); + Hu3DCameraPerspectiveSet(1, 41.5, 5, 5000, 1.2f); + omAddObjEx(temp_r31, 32730, 0, 0, -1, omOutView); + temp_r29 = &Hu3DCamera[0]; + temp_r29->fov = -1; + sp14.x = 0; + sp14.y = 374; + sp14.z = 1086; + sp20.x = 0; + sp20.y = 568; + sp20.z = -1316; + sp8.z = sp20.x-sp14.x; + sp8.y = sp20.y-sp14.y; + sp8.x = sp20.z-sp14.z; + CRot.x = lbl_1_data_4C[0].rot.x; + CRot.y = lbl_1_data_4C[0].rot.y; + CRot.z = lbl_1_data_4C[0].rot.z; + Center.x = lbl_1_data_4C[0].pos.x; + Center.y = lbl_1_data_4C[0].pos.y; + Center.z = lbl_1_data_4C[0].pos.z; + CZoom = lbl_1_data_4C[0].zoom; + omAddObjEx(temp_r31, 1000, 0, 0, -1, fn_1_424); + lbl_1_bss_30 = omAddObjEx(temp_r31, 10, 9, 0, -1, fn_1_A44); + lbl_1_bss_2C = omAddObjEx(temp_r31, 50, 9, 9, -1, fn_1_2110); + Hu3DBGColorSet(0, 0, 0); + fn_1_7ABC(temp_r31); } void fn_1_49C(omObjData *object); void fn_1_424(omObjData *object) { - if (omSysExitReq || lbl_1_bss_0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuAudSeqAllFadeOut(100); - object->func = fn_1_49C; - } + if(omSysExitReq || lbl_1_bss_0) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + HuAudSeqAllFadeOut(100); + object->func = fn_1_49C; + } } void fn_1_71B8(s16 arg0); void fn_1_49C(omObjData *object) { - s16 i; - if (WipeStatGet()) { - return; - } - fn_1_71B8(lbl_1_bss_30->model[0]); - for (i = 0; i < 6; i++) { - fn_1_71B8(lbl_1_bss_5C.unk0[i]); - } - HuSprGrpKill(lbl_1_bss_30->model[1]); - HuSprGrpKill(lbl_1_bss_30->model[2]); - HuSprGrpKill(lbl_1_bss_30->model[3]); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); + s16 i; + if(WipeStatGet()) { + return; + } + fn_1_71B8(lbl_1_bss_30->model[0]); + for(i=0; i<6; i++) { + fn_1_71B8(lbl_1_bss_5C.unk0[i]); + } + HuSprGrpKill(lbl_1_bss_30->model[1]); + HuSprGrpKill(lbl_1_bss_30->model[2]); + HuSprGrpKill(lbl_1_bss_30->model[3]); + MGSeqKillAll(); + HuAudFadeOut(1); + omOvlReturnEx(1, 1); + } float fn_1_65CC(float arg0, float arg1, float arg2); u8 fn_1_57C(void) { - float temp_f31; - float temp_f30; - CameraViewParams *temp_r31; - s32 temp_r30; - temp_r31 = &lbl_1_data_4C[0]; - temp_r30 = 0; - lbl_1_bss_8++; - temp_f30 = lbl_1_bss_8 / (1.5f * REFRESH_RATE); - if (lbl_1_bss_8 > (s32)(1.5f * REFRESH_RATE)) { - lbl_1_bss_8 = 0; - temp_f30 = 1; - temp_r30 = 1; - } - temp_f31 = sind(90 * temp_f30) * sind(90 * temp_f30); - CZoom = fn_1_65CC(temp_r31[0].zoom, temp_r31[2].zoom, temp_f31); - Center.x = fn_1_65CC(temp_r31[0].pos.x, temp_r31[2].pos.x, temp_f31); - Center.y = fn_1_65CC(temp_r31[0].pos.y, temp_r31[2].pos.y, temp_f31); - Center.z = fn_1_65CC(temp_r31[0].pos.z, temp_r31[2].pos.z, temp_f31); - CRot.x = fn_1_65CC(temp_r31[0].rot.x, temp_r31[2].rot.x, temp_f31); - CRot.y = fn_1_65CC(temp_r31[0].rot.y, temp_r31[2].rot.y, temp_f31); - CRot.z = fn_1_65CC(temp_r31[0].rot.z, temp_r31[2].rot.z, temp_f31); - return temp_r30; + float temp_f31; + float temp_f30; + CameraViewParams *temp_r31; + s32 temp_r30; + temp_r31 = &lbl_1_data_4C[0]; + temp_r30 = 0; + lbl_1_bss_8++; + temp_f30 = lbl_1_bss_8/90.0f; + if(lbl_1_bss_8 > 90) { + lbl_1_bss_8 = 0; + temp_f30 = 1; + temp_r30 = 1; + } + temp_f31 = sind(90*temp_f30)*sind(90*temp_f30); + CZoom = fn_1_65CC(temp_r31[0].zoom, temp_r31[2].zoom, temp_f31); + Center.x = fn_1_65CC(temp_r31[0].pos.x, temp_r31[2].pos.x, temp_f31); + Center.y = fn_1_65CC(temp_r31[0].pos.y, temp_r31[2].pos.y, temp_f31); + Center.z = fn_1_65CC(temp_r31[0].pos.z, temp_r31[2].pos.z, temp_f31); + CRot.x = fn_1_65CC(temp_r31[0].rot.x, temp_r31[2].rot.x, temp_f31); + CRot.y = fn_1_65CC(temp_r31[0].rot.y, temp_r31[2].rot.y, temp_f31); + CRot.z = fn_1_65CC(temp_r31[0].rot.z, temp_r31[2].rot.z, temp_f31); + return temp_r30; } typedef struct work_a44 { - u16 unk0; - s16 unk2; - s16 unk4; - s16 unk6[2]; - s16 unkA; - s32 unkC; - s16 unk10; - s16 unk12; - s16 unk14; - s16 unk16; + u16 unk0; + s16 unk2; + s16 unk4; + s16 unk6[2]; + s16 unkA; + s32 unkC; + s16 unk10; + s16 unk12; + s16 unk14; + s16 unk16; } WorkA44; s32 fn_1_7B0(void) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - CameraViewParams *temp_r31; - WorkA44 *temp_r30; - s32 temp_r29; - temp_r30 = lbl_1_bss_30->data; - temp_r31 = &lbl_1_data_4C[0]; - temp_r29 = 0; - lbl_1_bss_8++; - temp_f30 = lbl_1_bss_8 / (2.0f * REFRESH_RATE); - if (lbl_1_bss_8 > (2 * REFRESH_RATE)) { - lbl_1_bss_8 = 2 * REFRESH_RATE; - temp_f30 = 1; - temp_r29 = 1; - } - temp_f31 = sind(90 * temp_f30) * sind(90 * temp_f30); - if (temp_r30->unk4 == 0) { - temp_f29 = temp_r31[3].pos.x; - temp_f28 = temp_r31[3].rot.y; - } - else { - temp_f29 = -temp_r31[3].pos.x; - temp_f28 = -temp_r31[3].rot.y; - } - CZoom = fn_1_65CC(temp_r31[2].zoom, temp_r31[3].zoom, temp_f31); - Center.x = fn_1_65CC(temp_r31[2].pos.x, temp_f29, temp_f31); - Center.y = fn_1_65CC(temp_r31[2].pos.y, temp_r31[3].pos.y, temp_f31); - Center.z = fn_1_65CC(temp_r31[2].pos.z, temp_r31[3].pos.z, temp_f31); - CRot.x = fn_1_65CC(temp_r31[2].rot.x, temp_r31[3].rot.x, temp_f31); - CRot.y = fn_1_65CC(temp_r31[2].rot.y, temp_f28, temp_f31); - CRot.z = fn_1_65CC(temp_r31[2].rot.z, temp_r31[3].rot.z, temp_f31); - return temp_r29; + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + CameraViewParams *temp_r31; + WorkA44 *temp_r30; + s32 temp_r29; + temp_r30 = lbl_1_bss_30->data; + temp_r31 = &lbl_1_data_4C[0]; + temp_r29 = 0; + lbl_1_bss_8++; + temp_f30 = lbl_1_bss_8/120.0f; + if(lbl_1_bss_8 > 120) { + lbl_1_bss_8 = 120; + temp_f30 = 1; + temp_r29 = 1; + } + temp_f31 = sind(90*temp_f30)*sind(90*temp_f30); + if(temp_r30->unk4 == 0) { + temp_f29 = temp_r31[3].pos.x; + temp_f28 = temp_r31[3].rot.y; + } else { + temp_f29 = -temp_r31[3].pos.x; + temp_f28 = -temp_r31[3].rot.y; + } + CZoom = fn_1_65CC(temp_r31[2].zoom, temp_r31[3].zoom, temp_f31); + Center.x = fn_1_65CC(temp_r31[2].pos.x, temp_f29, temp_f31); + Center.y = fn_1_65CC(temp_r31[2].pos.y, temp_r31[3].pos.y, temp_f31); + Center.z = fn_1_65CC(temp_r31[2].pos.z, temp_r31[3].pos.z, temp_f31); + CRot.x = fn_1_65CC(temp_r31[2].rot.x, temp_r31[3].rot.x, temp_f31); + CRot.y = fn_1_65CC(temp_r31[2].rot.y, temp_f28, temp_f31); + CRot.z = fn_1_65CC(temp_r31[2].rot.z, temp_r31[3].rot.z, temp_f31); + return temp_r29; } + void fn_1_6030(ModelData *arg0, Work72B4 *arg1, Mtx arg2); s16 fn_1_6C74(AnimData *arg0, s16 arg1, float arg2, s16 arg3, s16 arg4); void fn_1_7244(s16 arg0, unkHook72B4 arg1); @@ -244,89 +275,89 @@ void fn_1_10A4(omObjData *object); void fn_1_A44(omObjData *object) { - float temp_f31; - - s16 temp_r31; - s16 temp_r30; - s16 temp_r28; - - AnimData *temp_r27; - WorkA44 *temp_r26; - s16 temp_r25; - - AnimData *temp_r24; - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkA44), MEMORY_DEFAULT_NUM); - temp_r26 = object->data; - temp_r26->unk0 = 4; - temp_r26->unk6[0] = 0; - temp_r26->unkA = 15 * REFRESH_RATE; - temp_r26->unk10 = -1; - temp_r27 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M431, 0x1A), MEMORY_DEFAULT_NUM)); - object->model[0] = fn_1_6C74(temp_r27, 1024, 25, 64, 64); - fn_1_7244(object->model[0], fn_1_6030); - Hu3DModelLayerSet(object->model[0], 7); - temp_r30 = HuSprGrpCreate(4); - object->model[3] = temp_r30; - temp_r27 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 0x1B), MEMORY_DEFAULT_NUM)); - temp_r28 = HuSprCreate(temp_r27, 16, 0); - HuSprGrpMemberSet(temp_r30, 0, temp_r28); - HuSprAttrSet(temp_r30, 0, HUSPR_ATTR_DISPOFF); - temp_r27 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 0x1D), MEMORY_DEFAULT_NUM)); - temp_r28 = HuSprCreate(temp_r27, 32, 0); - HuSprGrpMemberSet(temp_r30, 2, temp_r28); - HuSprAttrSet(temp_r30, 2, HUSPR_ATTR_DISPOFF); - temp_r27 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 0x1C), MEMORY_DEFAULT_NUM)); - temp_r28 = HuSprCreate(temp_r27, 16, 0); - HuSprGrpMemberSet(temp_r30, 1, temp_r28); - HuSprAttrSet(temp_r30, 1, HUSPR_ATTR_DISPOFF); - temp_r27 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 0x1D), MEMORY_DEFAULT_NUM)); - temp_r28 = HuSprCreate(temp_r27, 32, 0); - HuSprGrpMemberSet(temp_r30, 3, temp_r28); - HuSprAttrSet(temp_r30, 3, HUSPR_ATTR_DISPOFF); - temp_f31 = 288; - HuSprPosSet(temp_r30, 0, temp_f31 - 198, 64); - HuSprPosSet(temp_r30, 1, temp_f31 + 198, 64); - HuSprPosSet(temp_r30, 2, temp_f31 - 198, 64); - HuSprTPLvlSet(temp_r30, 2, 88); - HuSprColorSet(temp_r30, 2, 0, 0, 0); - HuSprPosSet(temp_r30, 3, temp_f31 + 198, 64); - HuSprTPLvlSet(temp_r30, 3, 88); - HuSprColorSet(temp_r30, 3, 0, 0, 0); - temp_r27 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 0x0B), MEMORY_DEFAULT_NUM)); - temp_r24 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 0x0A), MEMORY_DEFAULT_NUM)); - temp_r30 = HuSprGrpCreate(6); - object->model[1] = temp_r30; - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - temp_r28 = HuSprCreate(temp_r27, 0, 0); - HuSprGrpMemberSet(temp_r30, temp_r31, temp_r28); - HuSprPosSet(temp_r30, temp_r31, lbl_1_data_C8[0] + lbl_1_data_BC[temp_r31], 63); - HuSprAttrSet(temp_r30, temp_r31, HUSPR_ATTR_DISPOFF); - } - for (temp_r31 = 3; temp_r31 < 6; temp_r31++) { - temp_r25 = temp_r31 - 3; - temp_r28 = HuSprCreate(temp_r24, 8, 0); - HuSprGrpMemberSet(temp_r30, temp_r31, temp_r28); - HuSprPosSet(temp_r30, temp_r31, lbl_1_data_C8[0] + lbl_1_data_BC[temp_r25], 63); - HuSprAttrSet(temp_r30, temp_r31, HUSPR_ATTR_DISPOFF); - } - temp_r30 = HuSprGrpCreate(6); - object->model[2] = temp_r30; - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - temp_r28 = HuSprCreate(temp_r27, 0, 0); - HuSprGrpMemberSet(temp_r30, temp_r31, temp_r28); - HuSprPosSet(temp_r30, temp_r31, lbl_1_data_C8[1] + lbl_1_data_BC[temp_r31], 63); - HuSprAttrSet(temp_r30, temp_r31, HUSPR_ATTR_DISPOFF); - } - for (temp_r31 = 3; temp_r31 < 6; temp_r31++) { - temp_r25 = temp_r31 - 3; - temp_r28 = HuSprCreate(temp_r24, 8, 0); - HuSprGrpMemberSet(temp_r30, temp_r31, temp_r28); - HuSprPosSet(temp_r30, temp_r31, lbl_1_data_C8[1] + lbl_1_data_BC[temp_r25], 63); - HuSprAttrSet(temp_r30, temp_r31, HUSPR_ATTR_DISPOFF); - } - (void)temp_r31; - (void)temp_r31; - object->func = fn_1_10A4; + float temp_f31; + + s16 temp_r31; + s16 temp_r30; + s16 temp_r28; + + AnimData *temp_r27; + WorkA44 *temp_r26; + s16 temp_r25; + + AnimData *temp_r24; + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkA44), MEMORY_DEFAULT_NUM); + temp_r26 = object->data; + temp_r26->unk0 = 4; + temp_r26->unk6[0] = 0; + temp_r26->unkA = 900; + temp_r26->unk10 = -1; + temp_r27 = HuSprAnimRead(HuDataReadNum(0x3E001A, MEMORY_DEFAULT_NUM)); + object->model[0] = fn_1_6C74(temp_r27, 1024, 25, 64, 64); + fn_1_7244(object->model[0], fn_1_6030); + Hu3DModelLayerSet(object->model[0], 7); + temp_r30 = HuSprGrpCreate(4); + object->model[3] = temp_r30; + temp_r27 = HuSprAnimRead(HuDataReadNum(0x61001B, MEMORY_DEFAULT_NUM)); + temp_r28 = HuSprCreate(temp_r27, 16, 0); + HuSprGrpMemberSet(temp_r30, 0, temp_r28); + HuSprAttrSet(temp_r30, 0, HUSPR_ATTR_DISPOFF); + temp_r27 = HuSprAnimRead(HuDataReadNum(0x61001D, MEMORY_DEFAULT_NUM)); + temp_r28 = HuSprCreate(temp_r27, 32, 0); + HuSprGrpMemberSet(temp_r30, 2, temp_r28); + HuSprAttrSet(temp_r30, 2, HUSPR_ATTR_DISPOFF); + temp_r27 = HuSprAnimRead(HuDataReadNum(0x61001C, MEMORY_DEFAULT_NUM)); + temp_r28 = HuSprCreate(temp_r27, 16, 0); + HuSprGrpMemberSet(temp_r30, 1, temp_r28); + HuSprAttrSet(temp_r30, 1, HUSPR_ATTR_DISPOFF); + temp_r27 = HuSprAnimRead(HuDataReadNum(0x61001D, MEMORY_DEFAULT_NUM)); + temp_r28 = HuSprCreate(temp_r27, 32, 0); + HuSprGrpMemberSet(temp_r30, 3, temp_r28); + HuSprAttrSet(temp_r30, 3, HUSPR_ATTR_DISPOFF); + temp_f31 = 288; + HuSprPosSet(temp_r30, 0, temp_f31-198, 64); + HuSprPosSet(temp_r30, 1, temp_f31+198, 64); + HuSprPosSet(temp_r30, 2, temp_f31-198, 64); + HuSprTPLvlSet(temp_r30, 2, 88); + HuSprColorSet(temp_r30, 2, 0, 0, 0); + HuSprPosSet(temp_r30, 3, temp_f31+198, 64); + HuSprTPLvlSet(temp_r30, 3, 88); + HuSprColorSet(temp_r30, 3, 0, 0, 0); + temp_r27 = HuSprAnimRead(HuDataReadNum(0x61000B, MEMORY_DEFAULT_NUM)); + temp_r24 = HuSprAnimRead(HuDataReadNum(0x61000A, MEMORY_DEFAULT_NUM)); + temp_r30 = HuSprGrpCreate(6); + object->model[1] = temp_r30; + for(temp_r31=0; temp_r31<3; temp_r31++) { + temp_r28 = HuSprCreate(temp_r27, 0, 0); + HuSprGrpMemberSet(temp_r30, temp_r31, temp_r28); + HuSprPosSet(temp_r30, temp_r31, lbl_1_data_C8[0]+lbl_1_data_BC[temp_r31], 63); + HuSprAttrSet(temp_r30, temp_r31, HUSPR_ATTR_DISPOFF); + } + for(temp_r31=3; temp_r31<6; temp_r31++) { + temp_r25 = temp_r31-3; + temp_r28 = HuSprCreate(temp_r24, 8, 0); + HuSprGrpMemberSet(temp_r30, temp_r31, temp_r28); + HuSprPosSet(temp_r30, temp_r31, lbl_1_data_C8[0]+lbl_1_data_BC[temp_r25], 63); + HuSprAttrSet(temp_r30, temp_r31, HUSPR_ATTR_DISPOFF); + } + temp_r30 = HuSprGrpCreate(6); + object->model[2] = temp_r30; + for(temp_r31=0; temp_r31<3; temp_r31++) { + temp_r28 = HuSprCreate(temp_r27, 0, 0); + HuSprGrpMemberSet(temp_r30, temp_r31, temp_r28); + HuSprPosSet(temp_r30, temp_r31, lbl_1_data_C8[1]+lbl_1_data_BC[temp_r31], 63); + HuSprAttrSet(temp_r30, temp_r31, HUSPR_ATTR_DISPOFF); + } + for(temp_r31=3; temp_r31<6; temp_r31++) { + temp_r25 = temp_r31-3; + temp_r28 = HuSprCreate(temp_r24, 8, 0); + HuSprGrpMemberSet(temp_r30, temp_r31, temp_r28); + HuSprPosSet(temp_r30, temp_r31, lbl_1_data_C8[1]+lbl_1_data_BC[temp_r25], 63); + HuSprAttrSet(temp_r30, temp_r31, HUSPR_ATTR_DISPOFF); + } + (void)temp_r31; + (void)temp_r31; + object->func = fn_1_10A4; } void fn_1_140C(omObjData *object); @@ -337,331 +368,329 @@ void fn_1_5480(void); void fn_1_10A4(omObjData *object) { - WorkA44 *temp_r31; - s16 temp_r30; - s16 temp_r28; - CameraData *temp_r27; - temp_r31 = object->data; - temp_r30 = 99; - switch (fn_1_2090(28)) { - case 4: - if (lbl_1_bss_E == 0) { - lbl_1_bss_E = 1; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - temp_r27 = &Hu3DCamera[0]; - temp_r27->fov = 41.5f; - } - if (!WipeStatGet()) { - fn_1_2050(28, 8); - fn_1_2050(224, 32); - } - break; - - case 8: - if (fn_1_1634(object)) { - fn_1_2050(1, 0); - fn_1_2050(28, 12); - } - break; - - case 12: - if (temp_r31->unk10 != -1) { - temp_r28 = (temp_r31->unkA + REFRESH_RATE - 1) / REFRESH_RATE; - if (temp_r28 < 0) { - temp_r28 = 0; - } - MGSeqParamSet(temp_r31->unk10, 1, temp_r28); - } - fn_1_140C(object); - if (fn_1_2090(224) == 128) { - if (lbl_1_bss_12C[0].unk138[0] == 3) { - temp_r30 = 0; - } - else if (lbl_1_bss_12C[1].unk138[0] == 3) { - temp_r30 = 1; - } - else { - if (temp_r31->unk6[0] == 5) { - if (lbl_1_bss_12C[0].unk138[0] == lbl_1_bss_12C[1].unk138[0]) { - temp_r30 = -1; - } - else { - if (lbl_1_bss_12C[0].unk138[0] > lbl_1_bss_12C[1].unk138[0]) { - temp_r30 = 0; - } - else { - temp_r30 = 1; - } - } - } - } - } - if (temp_r30 != 99) { - if (fn_1_2090(1) == 0) { - temp_r31->unk2 = MGSeqFinishCreate(); - HuAudSeqAllFadeOut(100); - } - fn_1_5480(); - fn_1_2000(temp_r30); - fn_1_2050(1, 1); - if (temp_r31->unk0 & 0x2) { - if (temp_r30 == -1) { - lbl_1_bss_A = 1; - } - fn_1_2050(28, 16); - } - if (temp_r30 != -1) { - fn_1_8474(temp_r30 ^ 1); - } - else { - fn_1_8474(0); - fn_1_8474(1); - } - } - break; - - case 16: - if (fn_1_1A40(object)) { - fn_1_2050(28, 20); - } - break; - - case 20: - if (++lbl_1_bss_C > (3.5f * REFRESH_RATE)) { - lbl_1_bss_0 = 1; - } - break; - } + WorkA44 *temp_r31; + s16 temp_r30; + s16 temp_r28; + CameraData *temp_r27; + temp_r31 = object->data; + temp_r30 = 99; + switch(fn_1_2090(28)) { + case 4: + if(lbl_1_bss_E == 0) { + lbl_1_bss_E = 1; + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + temp_r27 = &Hu3DCamera[0]; + temp_r27->fov = 41.5f; + } + if(!WipeStatGet()) { + fn_1_2050(28, 8); + fn_1_2050(224, 32); + } + break; + + case 8: + if(fn_1_1634(object)) { + fn_1_2050(1, 0); + fn_1_2050(28, 12); + } + break; + + case 12: + if(temp_r31->unk10 != -1) { + temp_r28 = (temp_r31->unkA+59)/60; + if(temp_r28 < 0) { + temp_r28 = 0; + } + MGSeqParamSet(temp_r31->unk10, 1, temp_r28); + } + fn_1_140C(object); + if(fn_1_2090(224) == 128) { + if(lbl_1_bss_12C[0].unk138[0] == 3) { + temp_r30 = 0; + } else if(lbl_1_bss_12C[1].unk138[0] == 3) { + temp_r30 = 1; + } else { + if(temp_r31->unk6[0] == 5) { + if(lbl_1_bss_12C[0].unk138[0] == lbl_1_bss_12C[1].unk138[0]) { + temp_r30 = -1; + } else { + if(lbl_1_bss_12C[0].unk138[0] > lbl_1_bss_12C[1].unk138[0]) { + temp_r30 = 0; + } else { + temp_r30 = 1; + } + } + } + } + } + if(temp_r30 != 99) { + if(fn_1_2090(1) == 0) { + temp_r31->unk2 = MGSeqFinishCreate(); + HuAudSeqAllFadeOut(100); + } + fn_1_5480(); + fn_1_2000(temp_r30); + fn_1_2050(1, 1); + if(temp_r31->unk0 & 0x2) { + if(temp_r30 == -1) { + lbl_1_bss_A = 1; + } + fn_1_2050(28, 16); + } + if(temp_r30 != -1) { + fn_1_8474(temp_r30^1); + } else { + fn_1_8474(0); + fn_1_8474(1); + } + } + break; + + case 16: + if(fn_1_1A40(object)) { + fn_1_2050(28, 20); + } + break; + + case 20: + if(++lbl_1_bss_C > 210.0f) { + lbl_1_bss_0 = 1; + } + break; + } } void fn_1_140C(omObjData *object) { - float temp_f31; - float temp_f30; - WorkA44 *temp_r31 = object->data; - if ((temp_r31->unk0 & 0x300) == 0) { - return; - } - temp_r31->unk12++; - temp_f31 = temp_r31->unk12 / (3.0f / 10 * REFRESH_RATE); - if (temp_r31->unk12 > (3.0f / 10 * REFRESH_RATE)) { - temp_r31->unk12 = 0; - temp_f31 = 1.0f; - temp_r31->unk12 = 0.3f * REFRESH_RATE; - temp_r31->unk0 &= ~0x300; - } - temp_f30 = 1.0 - cosd(90.0f * temp_f31); - - temp_f31 = 1.0 + sind(180.0f * temp_f31); - HuSprAttrReset(lbl_1_bss_30->model[temp_r31->unk6[1] + 1], temp_r31->unk16, HUSPR_ATTR_DISPOFF); - HuSprScaleSet(lbl_1_bss_30->model[temp_r31->unk6[1] + 1], temp_r31->unk16, temp_f31, temp_f31); - HuSprTPLvlSet(lbl_1_bss_30->model[temp_r31->unk6[1] + 1], temp_r31->unk16, temp_f30); + float temp_f31; + float temp_f30; + WorkA44 *temp_r31 = object->data; + if((temp_r31->unk0 & 0x300) == 0) { + return; + } + temp_r31->unk12++; + temp_f31 = temp_r31->unk12/18.0f; + if(temp_r31->unk12 > 18.0f) { + temp_r31->unk12 = 0; + temp_f31 = 1.0f; + temp_r31->unk12 = 18; + temp_r31->unk0 &= ~0x300; + } + temp_f30 = 1.0-cosd(90.0f*temp_f31); + + temp_f31 = 1.0+sind(180.0f*temp_f31); + HuSprAttrReset(lbl_1_bss_30->model[temp_r31->unk6[1]+1], temp_r31->unk16, HUSPR_ATTR_DISPOFF); + HuSprScaleSet(lbl_1_bss_30->model[temp_r31->unk6[1]+1], temp_r31->unk16, temp_f31, temp_f31); + HuSprTPLvlSet(lbl_1_bss_30->model[temp_r31->unk6[1]+1], temp_r31->unk16, temp_f30); + } void fn_1_2AB0(s16 arg0); u8 fn_1_1634(omObjData *object) { - WorkA44 *temp_r30 = object->data; - s32 temp_r29; - s32 temp_r27; - s32 temp_r26; - switch (lbl_1_bss_A) { - case 0: - if (fn_1_2090(224) == 64) { - fn_1_2050(1, 1); - lbl_1_bss_A++; - } - break; - - case 1: - if (fn_1_57C()) { - lbl_1_bss_A++; - } - break; - - case 2: - temp_r30->unk2 = MGSeqStartCreate(); - temp_r30->unkC = -1; - lbl_1_bss_A++; - break; - - case 3: - if (temp_r30->unk2 != -1) { - temp_r26 = MGSeqStatGet(temp_r30->unk2); - if ((temp_r26 & 0x10) && temp_r30->unkC == -1) { - temp_r30->unkC = HuAudSeqPlay(72); - } - } - if (temp_r30->unk2 == -1 || temp_r26 == 0) { - temp_r27 = object->model[1]; - for (temp_r29 = 3; temp_r29 < 6; temp_r29++) { - HuSprAttrReset(temp_r27, temp_r29, HUSPR_ATTR_DISPOFF); - } - temp_r27 = object->model[2]; - for (temp_r29 = 3; temp_r29 < 6; temp_r29++) { - HuSprAttrReset(temp_r27, temp_r29, HUSPR_ATTR_DISPOFF); - } - temp_r27 = object->model[3]; - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - HuSprAttrReset(temp_r27, temp_r29, HUSPR_ATTR_DISPOFF); - } - fn_1_2AB0(999); - lbl_1_bss_A = 0; - - return 1; - } - break; - } - return 0; + WorkA44 *temp_r30 = object->data; + s32 temp_r29; + s32 temp_r27; + s32 temp_r26; + switch(lbl_1_bss_A) { + case 0: + if(fn_1_2090(224) == 64) { + fn_1_2050(1, 1); + lbl_1_bss_A++; + } + break; + + case 1: + if(fn_1_57C()) { + lbl_1_bss_A++; + } + break; + + case 2: + temp_r30->unk2 = MGSeqStartCreate(); + temp_r30->unkC = -1; + lbl_1_bss_A++; + break; + + case 3: + if(temp_r30->unk2 != -1) { + temp_r26 = MGSeqStatGet(temp_r30->unk2); + if((temp_r26 & 0x10) && temp_r30->unkC == -1) { + temp_r30->unkC = HuAudSeqPlay(72); + } + } + if(temp_r30->unk2 == -1 || temp_r26 == 0) { + temp_r27 = object->model[1]; + for(temp_r29=3; temp_r29<6; temp_r29++) { + HuSprAttrReset(temp_r27, temp_r29, HUSPR_ATTR_DISPOFF); + } + temp_r27 = object->model[2]; + for(temp_r29=3; temp_r29<6; temp_r29++) { + HuSprAttrReset(temp_r27, temp_r29, HUSPR_ATTR_DISPOFF); + } + temp_r27 = object->model[3]; + for(temp_r29=0; temp_r29<4; temp_r29++) { + HuSprAttrReset(temp_r27, temp_r29, HUSPR_ATTR_DISPOFF); + } + fn_1_2AB0(999); + lbl_1_bss_A = 0; + + return 1; + } + break; + } + return 0; } u8 fn_1_1A40(omObjData *object) { - WorkA44 *temp_r30; - Bss12CStruct *temp_r29; - s32 temp_r28; - s32 temp_r25; - temp_r30 = object->data; - switch (lbl_1_bss_A) { - case 0: - temp_r28 = fn_1_7FB8(temp_r30->unk4); - fn_1_8474(temp_r30->unk4 ^ 1); - temp_r28 &= fn_1_7B0(); - if ((u8)temp_r28) { - lbl_1_bss_4 = 1; - fn_1_A7D0(temp_r30->unk4); - HuAudSStreamPlay(1); - lbl_1_bss_C = 0; - lbl_1_bss_A++; - } - break; - - case 1: - if (temp_r30->unk4 == -1) { - temp_r28 = fn_1_8474(0); - temp_r25 = fn_1_8474(1); - if ((u8)temp_r28 == 0 || (u8)temp_r25 == 0) { - return 0; - } - if (temp_r30->unk2 == -1 || !MGSeqStatGet(temp_r30->unk2)) { - temp_r30->unk2 = -1; - lbl_1_bss_4 = 1; - fn_1_A904(0); - fn_1_A904(1); - HuAudSStreamPlay(4); - lbl_1_bss_A++; - } - } - else { - if (++lbl_1_bss_C > 1) { - lbl_1_bss_A++; - } - } - break; - - case 2: - if (temp_r30->unk4 != -1) { - temp_r29 = &lbl_1_bss_12C[temp_r30->unk4]; - temp_r30->unk2 = MGSeqWinCreate(GWPlayerCfg[temp_r29->unk0[0]].character, GWPlayerCfg[temp_r29->unk0[1]].character, -1, -1); - GWPlayerCoinWinAdd(temp_r29->unk0[0], 10); - GWPlayerCoinWinAdd(temp_r29->unk0[1], 10); - } - else { - temp_r30->unk2 = MGSeqDrawCreate(); - } - lbl_1_bss_A++; - break; - - case 3: - lbl_1_bss_A = lbl_1_bss_C = 0; - return 1; - - default: - break; - } - return 0; + WorkA44 *temp_r30; + Bss12CStruct *temp_r29; + s32 temp_r28; + s32 temp_r25; + temp_r30 = object->data; + switch(lbl_1_bss_A) { + case 0: + temp_r28 = fn_1_7FB8(temp_r30->unk4); + fn_1_8474(temp_r30->unk4^1); + temp_r28 &= fn_1_7B0(); + if((u8)temp_r28) { + lbl_1_bss_4 = 1; + fn_1_A7D0(temp_r30->unk4); + HuAudSStreamPlay(1); + lbl_1_bss_C = 0; + lbl_1_bss_A++; + } + break; + + case 1: + if(temp_r30->unk4 == -1) { + temp_r28 = fn_1_8474(0); + temp_r25 = fn_1_8474(1); + if((u8)temp_r28 == 0 || (u8)temp_r25 == 0) { + return 0; + } + if(temp_r30->unk2 == -1 || !MGSeqStatGet(temp_r30->unk2)) { + temp_r30->unk2 = -1; + lbl_1_bss_4 = 1; + fn_1_A904(0); + fn_1_A904(1); + HuAudSStreamPlay(4); + lbl_1_bss_A++; + } + } else { + if(++lbl_1_bss_C > 1) { + lbl_1_bss_A++; + } + } + break; + + case 2: + if(temp_r30->unk4 != -1) { + temp_r29 = &lbl_1_bss_12C[temp_r30->unk4]; + temp_r30->unk2 = MGSeqWinCreate(GWPlayerCfg[temp_r29->unk0[0]].character, + GWPlayerCfg[temp_r29->unk0[1]].character, + -1, + -1); + GWPlayerCoinWinAdd(temp_r29->unk0[0], 10); + GWPlayerCoinWinAdd(temp_r29->unk0[1], 10); + } else { + temp_r30->unk2 = MGSeqDrawCreate(); + } + lbl_1_bss_A++; + break; + + case 3: + lbl_1_bss_A = lbl_1_bss_C = 0; + return 1; + + default: + break; + + } + return 0; } void fn_1_2000(s16 arg0) { - WorkA44 *temp_r31 = lbl_1_bss_30->data; - if (arg0 == -1 || temp_r31->unk6[1] == -1) { - temp_r31->unk0 |= 0x2; - } - temp_r31->unk4 = arg0; + WorkA44 *temp_r31 = lbl_1_bss_30->data; + if(arg0 == -1 || temp_r31->unk6[1] == -1) { + temp_r31->unk0 |= 0x2; + } + temp_r31->unk4 = arg0; } void fn_1_2050(u16 arg0, u16 arg1) { - WorkA44 *temp_r31 = lbl_1_bss_30->data; - temp_r31->unk0 &= ~arg0; - temp_r31->unk0 |= arg1; + WorkA44 *temp_r31 = lbl_1_bss_30->data; + temp_r31->unk0 &= ~arg0; + temp_r31->unk0 |= arg1; } u16 fn_1_2090(u16 arg0) { - WorkA44 *temp_r31 = lbl_1_bss_30->data; - if (!temp_r31) { - return 0; - } - return temp_r31->unk0 & arg0; + WorkA44 *temp_r31 = lbl_1_bss_30->data; + if(!temp_r31) { + return 0; + } + return temp_r31->unk0 & arg0; } void fn_1_20D0(s16 arg0) { - WorkA44 *temp_r31 = lbl_1_bss_30->data; - temp_r31->unk0 |= 0x100; - temp_r31->unk12 = 0; - temp_r31->unk16 = arg0; + WorkA44 *temp_r31 = lbl_1_bss_30->data; + temp_r31->unk0 |= 0x100; + temp_r31->unk12 = 0; + temp_r31->unk16 = arg0; } s32 lbl_1_data_114[2][2] = { - DATA_MAKE_NUM(DATADIR_M431, 0x01), - DATA_MAKE_NUM(DATADIR_M431, 0x03), - DATA_MAKE_NUM(DATADIR_M431, 0x05), - DATA_MAKE_NUM(DATADIR_M431, 0x06), + 0x003E0001, + 0x003E0003, + 0x003E0005, + 0x003E0006 }; s32 lbl_1_data_124[2][2] = { - DATA_MAKE_NUM(DATADIR_M431, 0x07), - DATA_MAKE_NUM(DATADIR_M431, 0x08), - DATA_MAKE_NUM(DATADIR_M431, 0x09), - DATA_MAKE_NUM(DATADIR_M431, 0x0A), + 0x003E0007, + 0x003E0008, + 0x003E0009, + 0x003E000A }; s32 lbl_1_data_134[5] = { - DATA_MAKE_NUM(DATADIR_M431, 0x0C), - DATA_MAKE_NUM(DATADIR_M431, 0x0D), - DATA_MAKE_NUM(DATADIR_M431, 0x0E), - DATA_MAKE_NUM(DATADIR_M431, 0x0F), - DATA_MAKE_NUM(DATADIR_M431, 0x10), + 0x003E000C, + 0x003E000D, + 0x003E000E, + 0x003E000F, + 0x003E0010 }; s32 lbl_1_data_148[5] = { - DATA_MAKE_NUM(DATADIR_M431, 0x1C), - DATA_MAKE_NUM(DATADIR_M431, 0x1D), - DATA_MAKE_NUM(DATADIR_M431, 0x1E), - DATA_MAKE_NUM(DATADIR_M431, 0x1F), - DATA_MAKE_NUM(DATADIR_M431, 0x20), + 0x003E001C, + 0x003E001D, + 0x003E001E, + 0x003E001F, + 0x003E0020 }; typedef struct unk2110_obj { - u32 unk0; - float unk4; - float unk8; - Vec unkC; - s16 unk18; - s16 unk1A; - s16 unk1C; - s16 unk1E; - float unk20; + u32 unk0; + float unk4; + float unk8; + Vec unkC; + s16 unk18; + s16 unk1A; + s16 unk1C; + s16 unk1E; + float unk20; } Unk2110Obj; typedef struct work_2110 { - float unk0; - Unk2110Obj unk4[10]; - s16 unk16C[10]; + float unk0; + Unk2110Obj unk4[10]; + s16 unk16C[10]; } Work2110; void fn_1_2AC0(omObjData *object); @@ -671,120 +700,115 @@ void fn_1_498C(s16 arg0, Work2110 *arg1); void fn_1_2110(omObjData *object) { - float temp_f31; - float temp_f30; - float temp_f29; - s16 temp_r31; - Unk2110Obj *temp_r29; - Work2110 *temp_r28; - s16 temp_r27; - AnimData *temp_r26; - s16 temp_r25; - - object->stat |= 0x100; - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, 2 * sizeof(Work2110), MEMORY_DEFAULT_NUM); - temp_r28 = object->data; - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M431, 0x00)); - Hu3DModelLayerSet(object->model[0], 0); - Hu3DModelScaleSet(object->model[0], 1.2f, 1.2f, 1.2f); - temp_r31 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M431, 0x11)); - Hu3DModelAttrSet(temp_r31, HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(temp_r31, 0); - Hu3DMotionSpeedSet(temp_r31, 0.25f); - temp_r31 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M431, 0x12)); - Hu3DModelAttrSet(temp_r31, HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(temp_r31, 0); - Hu3DMotionSpeedSet(temp_r31, 0.25f); - temp_r31 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M431, 0x13)); - object->model[5] = temp_r31; - object->motion[0] = Hu3DJointMotionFile(temp_r31, DATA_MAKE_NUM(DATADIR_M431, 0x14)); - object->motion[1] = Hu3DJointMotionFile(temp_r31, DATA_MAKE_NUM(DATADIR_M431, 0x15)); - object->motion[2] = Hu3DJointMotionFile(temp_r31, DATA_MAKE_NUM(DATADIR_M431, 0x16)); - object->motion[3] = Hu3DJointMotionFile(temp_r31, DATA_MAKE_NUM(DATADIR_M431, 0x17)); - object->motion[4] = Hu3DJointMotionFile(temp_r31, DATA_MAKE_NUM(DATADIR_M431, 0x14)); - object->motion[5] = Hu3DJointMotionFile(temp_r31, DATA_MAKE_NUM(DATADIR_M431, 0x18)); - object->motion[6] = Hu3DJointMotionFile(temp_r31, DATA_MAKE_NUM(DATADIR_M431, 0x19)); - Hu3DModelPosSet(temp_r31, 0, 0, -230); - Hu3DModelShadowSet(temp_r31); - Hu3DModelAttrSet(temp_r31, HU3D_MOTATTR_LOOP); - Hu3DMotionSet(temp_r31, object->motion[0]); - for (temp_r31 = 0; temp_r31 < 2; temp_r31++, temp_r28++) { - temp_r25 = Hu3DModelCreateFile(lbl_1_data_114[0][temp_r31]); - temp_f30 = (temp_r31 == 0) ? -317.0f : 317.0f; - temp_f31 = 0; - temp_f29 = 100; - Hu3DModelPosSet(temp_r25, temp_f30, temp_f31, temp_f29); - object->model[temp_r31 + 1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M431, 0x02)); - temp_f30 = (temp_r31 == 0) ? -317.0f : 317.0f; - temp_f31 = 0; - temp_f29 = 100; - Hu3DModelPosSet(object->model[temp_r31 + 1], temp_f30, temp_f31, temp_f29); - Hu3DModelAttrSet(object->model[temp_r31 + 1], HU3D_MOTATTR_PAUSE); - - object->model[temp_r31 + 3] = Hu3DModelCreateFile(lbl_1_data_114[1][temp_r31]); - temp_f31 = 45; - Hu3DModelPosSet(object->model[temp_r31 + 3], temp_f30, temp_f31, temp_f29); - Hu3DModelRotSet(object->model[temp_r31 + 3], 0, lbl_1_data_1D0, 0); - for (temp_r27 = 0, temp_r29 = &temp_r28->unk4[0]; temp_r27 < 10; temp_r27++, temp_r29++) { - if (fmod((float)temp_r27, 2)) { - if (temp_r27 == 1) { - temp_r29->unk1E = Hu3DModelCreateFile(lbl_1_data_124[temp_r31][0]); - } - else { - temp_r29->unk1E = Hu3DModelLink(temp_r28->unk4[1].unk1E); - } - } - else { - if (temp_r27 == 0) { - temp_r29->unk1E = Hu3DModelCreateFile(lbl_1_data_124[temp_r31][1]); - } - else { - temp_r29->unk1E = Hu3DModelLink(temp_r28->unk4[0].unk1E); - } - } - Hu3DModelPosSet(temp_r29->unk1E, 0, -500, 0); - if (temp_r27 == 0) { - temp_r29->unk1C = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M431, 0x0B)); - } - else { - temp_r29->unk1C = Hu3DModelLink(temp_r28->unk4[0].unk1C); - } - Hu3DData[temp_r29->unk1C].pos.y = 1000; - Hu3DModelAttrSet(temp_r29->unk1C, HU3D_ATTR_DISPOFF); - temp_r29->unk0 = 0; - temp_r29->unk4 = lbl_1_data_1D0 + (36.0f * temp_r27); - } - temp_r28->unk0 = 0; - fn_1_48D0(temp_r28); - fn_1_498C(temp_r31, temp_r28); - } - for (temp_r31 = 0; temp_r31 < 20; temp_r31++) { - if (temp_r31 < 5) { - lbl_1_bss_34[temp_r31] = Hu3DModelCreateFile(lbl_1_data_134[temp_r31]); - } - else { - temp_r27 = fmod((float)temp_r31, 5); - lbl_1_bss_34[temp_r31] = Hu3DModelLink(lbl_1_bss_34[temp_r27]); - } - Hu3DModelPosSet(lbl_1_bss_34[temp_r31], 0, -500, 0); - } - Hu3DModelShadowMapObjSet(object->model[0], "field"); - Hu3DModelShadowMapSet(object->model[1]); - Hu3DModelShadowMapSet(object->model[2]); - temp_r26 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M431, 0x1B), MEMORY_DEFAULT_NUM)); - lbl_1_bss_5C.unk0[0] = fn_1_6C74(temp_r26, 1, 140, 0, 0); - Hu3DModelLayerSet(lbl_1_bss_5C.unk0[0], 7); - for (temp_r31 = 0; temp_r31 < 5; temp_r31++) { - temp_r26 = HuSprAnimRead(HuDataReadNum(lbl_1_data_148[temp_r31], MEMORY_DEFAULT_NUM)); - lbl_1_bss_5C.unk0[temp_r31 + 1] = fn_1_6C74(temp_r26, 2, 45, 0, 0); - Hu3DModelLayerSet(lbl_1_bss_5C.unk0[temp_r31 + 1], 7); - } - object->func = fn_1_2AC0; + float temp_f31; + float temp_f30; + float temp_f29; + s16 temp_r31; + Unk2110Obj *temp_r29; + Work2110 *temp_r28; + s16 temp_r27; + AnimData *temp_r26; + s16 temp_r25; + + object->stat |= 0x100; + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, 2*sizeof(Work2110), MEMORY_DEFAULT_NUM); + temp_r28 = object->data; + object->model[0] = Hu3DModelCreateFile(0x3E0000); + Hu3DModelLayerSet(object->model[0], 0); + Hu3DModelScaleSet(object->model[0], 1.2f, 1.2f, 1.2f); + temp_r31 = Hu3DModelCreateFile(0x3E0011); + Hu3DModelAttrSet(temp_r31, 0x40000001); + Hu3DModelLayerSet(temp_r31, 0); + Hu3DMotionSpeedSet(temp_r31, 0.25f); + temp_r31 = Hu3DModelCreateFile(0x3E0012); + Hu3DModelAttrSet(temp_r31, 0x40000001); + Hu3DModelLayerSet(temp_r31, 0); + Hu3DMotionSpeedSet(temp_r31, 0.25f); + temp_r31 = Hu3DModelCreateFile(0x3E0013); + object->model[5] = temp_r31; + object->motion[0] = Hu3DJointMotionFile(temp_r31, 0x3E0014); + object->motion[1] = Hu3DJointMotionFile(temp_r31, 0x3E0015); + object->motion[2] = Hu3DJointMotionFile(temp_r31, 0x3E0016); + object->motion[3] = Hu3DJointMotionFile(temp_r31, 0x3E0017); + object->motion[4] = Hu3DJointMotionFile(temp_r31, 0x3E0014); + object->motion[5] = Hu3DJointMotionFile(temp_r31, 0x3E0018); + object->motion[6] = Hu3DJointMotionFile(temp_r31, 0x3E0019); + Hu3DModelPosSet(temp_r31, 0, 0, -230); + Hu3DModelShadowSet(temp_r31); + Hu3DModelAttrSet(temp_r31, 0x40000001); + Hu3DMotionSet(temp_r31, object->motion[0]); + for(temp_r31=0; temp_r31<2; temp_r31++, temp_r28++) { + temp_r25 = Hu3DModelCreateFile(lbl_1_data_114[0][temp_r31]); + temp_f30 = (temp_r31 == 0) ? -317.0f : 317.0f; + temp_f31 = 0; + temp_f29 = 100; + Hu3DModelPosSet(temp_r25, temp_f30, temp_f31, temp_f29); + object->model[temp_r31+1] = Hu3DModelCreateFile(0x3E0002); + temp_f30 = (temp_r31 == 0) ? -317.0f : 317.0f; + temp_f31 = 0; + temp_f29 = 100; + Hu3DModelPosSet(object->model[temp_r31+1], temp_f30, temp_f31, temp_f29); + Hu3DModelAttrSet(object->model[temp_r31+1], 0x40000002); + + object->model[temp_r31+3] = Hu3DModelCreateFile(lbl_1_data_114[1][temp_r31]); + temp_f31 = 45; + Hu3DModelPosSet(object->model[temp_r31+3], temp_f30, temp_f31, temp_f29); + Hu3DModelRotSet(object->model[temp_r31+3], 0, lbl_1_data_1D0, 0); + for(temp_r27 = 0, temp_r29 = &temp_r28->unk4[0]; temp_r27<10; temp_r27++, temp_r29++) { + if(fmod((float)temp_r27, 2)) { + if(temp_r27 == 1) { + temp_r29->unk1E = Hu3DModelCreateFile(lbl_1_data_124[temp_r31][0]); + } else { + temp_r29->unk1E = Hu3DModelLink(temp_r28->unk4[1].unk1E); + } + } else { + if(temp_r27 == 0) { + temp_r29->unk1E = Hu3DModelCreateFile(lbl_1_data_124[temp_r31][1]); + } else { + temp_r29->unk1E = Hu3DModelLink(temp_r28->unk4[0].unk1E); + } + } + Hu3DModelPosSet(temp_r29->unk1E, 0, -500, 0); + if(temp_r27 == 0) { + temp_r29->unk1C = Hu3DModelCreateFile(0x3E000B); + } else { + temp_r29->unk1C = Hu3DModelLink(temp_r28->unk4[0].unk1C); + } + Hu3DData[temp_r29->unk1C].pos.y = 1000; + Hu3DModelAttrSet(temp_r29->unk1C, 1); + temp_r29->unk0 = 0; + temp_r29->unk4 = lbl_1_data_1D0+(36.0f*temp_r27); + } + temp_r28->unk0 = 0; + fn_1_48D0(temp_r28); + fn_1_498C(temp_r31, temp_r28); + } + for(temp_r31=0; temp_r31<20; temp_r31++) { + if(temp_r31 < 5) { + lbl_1_bss_34[temp_r31] = Hu3DModelCreateFile(lbl_1_data_134[temp_r31]); + } else { + temp_r27 = fmod((float)temp_r31, 5); + lbl_1_bss_34[temp_r31] = Hu3DModelLink(lbl_1_bss_34[temp_r27]); + } + Hu3DModelPosSet(lbl_1_bss_34[temp_r31], 0, -500, 0); + } + Hu3DModelShadowMapObjSet(object->model[0], "field"); + Hu3DModelShadowMapSet(object->model[1]); + Hu3DModelShadowMapSet(object->model[2]); + temp_r26 = HuSprAnimRead(HuDataReadNum(0x3E001B, MEMORY_DEFAULT_NUM)); + lbl_1_bss_5C.unk0[0] = fn_1_6C74(temp_r26, 1, 140, 0, 0); + Hu3DModelLayerSet(lbl_1_bss_5C.unk0[0], 7); + for(temp_r31=0; temp_r31<5; temp_r31++) { + temp_r26 = HuSprAnimRead(HuDataReadNum(lbl_1_data_148[temp_r31], MEMORY_DEFAULT_NUM)); + lbl_1_bss_5C.unk0[temp_r31+1] = fn_1_6C74(temp_r26, 2, 45, 0, 0); + Hu3DModelLayerSet(lbl_1_bss_5C.unk0[temp_r31+1], 7); + } + object->func = fn_1_2AC0; } void fn_1_2AB0(s16 arg0) { - lbl_1_bss_10 = arg0; + lbl_1_bss_10 = arg0; } void fn_1_2C94(Work2110 *arg0); @@ -796,37 +820,37 @@ void fn_1_5708(void); void fn_1_2AC0(omObjData *object) { - Work2110 *temp_r31 = object->data; - if (!fn_1_2090(1)) { - if (fn_1_2090(28) == 12 || fn_1_2090(28) == 8) { - switch (fn_1_2090(224)) { - case 32: - fn_1_2C94(temp_r31); - break; - - case 64: - fn_1_30E0(temp_r31); - break; - - case 96: - fn_1_3540(temp_r31); - break; - - case 128: - if (fn_1_2090(28) == 12) { - fn_1_3D7C(temp_r31); - } - break; - - case 0: - fn_1_4028(temp_r31); - break; - } - fn_1_498C(0, &temp_r31[0]); - fn_1_498C(1, &temp_r31[1]); - } - } - fn_1_5708(); + Work2110 *temp_r31 = object->data; + if(!fn_1_2090(1)) { + if(fn_1_2090(28) == 12 || fn_1_2090(28) == 8) { + switch(fn_1_2090(224)) { + case 32: + fn_1_2C94(temp_r31); + break; + + case 64: + fn_1_30E0(temp_r31); + break; + + case 96: + fn_1_3540(temp_r31); + break; + + case 128: + if(fn_1_2090(28) == 12) { + fn_1_3D7C(temp_r31); + } + break; + + case 0: + fn_1_4028(temp_r31); + break; + } + fn_1_498C(0, &temp_r31[0]); + fn_1_498C(1, &temp_r31[1]); + } + } + fn_1_5708(); } u16 lbl_1_data_162 = 1; @@ -835,162 +859,163 @@ void fn_1_4798(Work2110 *arg0); void fn_1_2C94(Work2110 *arg0) { - float temp_f31; - float temp_f30; - Unk2110Obj *temp_r31; - s16 temp_r29; - s16 temp_r28; - WorkA44 *temp_r26; - temp_r26 = lbl_1_bss_30->data; - - switch (lbl_1_data_162) { - case 0: - if (lbl_1_bss_10 == 1) { - HuAudFXPlay(1670); - } - lbl_1_bss_10++; - temp_f31 = lbl_1_bss_10 / (1.0f * REFRESH_RATE); - if (temp_f31 >= 1.0f) { - temp_r26->unkA = 15 * REFRESH_RATE; - lbl_1_bss_10 = 0; - temp_f31 = 1; - lbl_1_data_162++; - } - temp_f31 = cosd(temp_f31 * 90.0f); - temp_f30 = -50 + (95 * temp_f31); - break; - - case 1: - temp_f30 = -50; - fn_1_4798(arg0); - lbl_1_data_162++; - break; - - case 2: - if (lbl_1_bss_10 == 1) { - HuAudFXPlay(1663); - } - lbl_1_bss_10++; - temp_f31 = lbl_1_bss_10 / (1.0f * REFRESH_RATE); - if (temp_f31 >= 1.0f) { - lbl_1_bss_10 = 0; - temp_f31 = 1.0f; - lbl_1_data_162++; - } - temp_f31 = sind(temp_f31 * 90.0f); - temp_f30 = -50 + (95 * temp_f31); - break; - - case 3: - temp_f30 = 45; - fn_1_2050(224, 64); - lbl_1_data_162 = 0; - break; - } - for (temp_r29 = 0; temp_r29 < 2; temp_r29++, arg0++) { - temp_r31 = &arg0->unk4[0]; - for (temp_r28 = 0; temp_r28 < 10; temp_r28++, temp_r31++) { - if (lbl_1_data_162 || -50.0f != Hu3DData[temp_r31->unk1A].pos.y) { - Hu3DModelPosSet(temp_r31->unk1A, temp_r31->unkC.x, temp_f30, temp_r31->unkC.z); - Hu3DModelRotSet(temp_r31->unk1A, 0, temp_r31->unk8, 0); - Hu3DModelPosSet(temp_r31->unk1E, temp_r31->unkC.x, temp_f30, temp_r31->unkC.z); - Hu3DModelRotSet(temp_r31->unk1E, 0, temp_r31->unk8, 0); - } - } - } + float temp_f31; + float temp_f30; + Unk2110Obj *temp_r31; + s16 temp_r29; + s16 temp_r28; + WorkA44 *temp_r26; + temp_r26 = lbl_1_bss_30->data; + + switch(lbl_1_data_162) { + case 0: + if(lbl_1_bss_10 == 1) { + HuAudFXPlay(1670); + } + lbl_1_bss_10++; + temp_f31 = lbl_1_bss_10/60.0f; + if(temp_f31 >= 1.0f) { + temp_r26->unkA = 900; + lbl_1_bss_10 = 0; + temp_f31 = 1; + lbl_1_data_162++; + + } + temp_f31 = cosd(temp_f31*90.0f); + temp_f30 = -50+(95*temp_f31); + break; + + case 1: + temp_f30 = -50; + fn_1_4798(arg0); + lbl_1_data_162++; + break; + + case 2: + if(lbl_1_bss_10 == 1) { + HuAudFXPlay(1663); + } + lbl_1_bss_10++; + temp_f31 = lbl_1_bss_10/60.0f; + if(temp_f31 >= 1.0f) { + lbl_1_bss_10 = 0; + temp_f31 = 1.0f; + lbl_1_data_162++; + } + temp_f31 = sind(temp_f31*90.0f); + temp_f30 = -50+(95*temp_f31); + break; + + case 3: + temp_f30 = 45; + fn_1_2050(224, 64); + lbl_1_data_162 = 0; + break; + } + for(temp_r29=0; temp_r29<2; temp_r29++, arg0++) { + temp_r31 = &arg0->unk4[0]; + for(temp_r28=0; temp_r28<10; temp_r28++, temp_r31++) { + if(lbl_1_data_162 || -50.0f != Hu3DData[temp_r31->unk1A].pos.y) { + Hu3DModelPosSet(temp_r31->unk1A, temp_r31->unkC.x, temp_f30, temp_r31->unkC.z); + Hu3DModelRotSet(temp_r31->unk1A, 0, temp_r31->unk8, 0); + Hu3DModelPosSet(temp_r31->unk1E, temp_r31->unkC.x, temp_f30, temp_r31->unkC.z); + Hu3DModelRotSet(temp_r31->unk1E, 0, temp_r31->unk8, 0); + } + + } + } } void fn_1_30E0(Work2110 *arg0) { - float temp_f31; - s16 sp8[2]; - Unk2110Obj *temp_r31; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - s16 temp_r25; - u32 temp_r22; - switch (lbl_1_data_162) { - case 0: - lbl_1_bss_10++; - if (lbl_1_bss_10 > REFRESH_RATE) { - lbl_1_bss_10 = 0; - lbl_1_data_162++; - } - return; - - case 1: - temp_r28 = arg0[0].unk16C[4]; - arg0[0].unk4[temp_r28].unk0 = 4; - temp_r28 = arg0[1].unk16C[4]; - arg0[1].unk4[temp_r28].unk0 = 4; - lbl_1_bss_10 = 999; - lbl_1_data_162++; - break; - - case 2: - temp_r31 = &arg0[0].unk4[arg0[0].unk16C[5]]; - if ((temp_r31->unk0 & 0x1C) == 0x10) { - lbl_1_bss_10 = 0; - fn_1_2050(224, 96); - lbl_1_data_162 = 0; - return; - } - break; - } - temp_r25 = 0; - sp8[0] = sp8[1] = ++lbl_1_bss_10; - for (temp_r27 = 0; temp_r27 < 2; temp_r27++, arg0++) { - for (temp_r29 = 4; temp_r29 > -6; temp_r29--) { - temp_r28 = (temp_r29 < 0) ? arg0->unk16C[temp_r29 + 10] : arg0->unk16C[temp_r29]; - temp_r31 = &arg0[0].unk4[temp_r28]; - switch (temp_r22 = temp_r31->unk0 & 0x1C) { - case 4: - if (sp8[temp_r27] > (VERSION_NTSC ? 15 : 12)) { - sp8[temp_r27] = 0; - temp_r25 = 1; - if (temp_r29 - 1 > -6) { - temp_r28 = ((temp_r29 - 1) < 0) ? arg0->unk16C[(temp_r29 - 1) + 10] : arg0->unk16C[(temp_r29 - 1)]; - arg0[0].unk4[temp_r28].unk0 &= ~0x1C; - arg0[0].unk4[temp_r28].unk0 |= 0x4; - } - temp_r31->unk0 &= ~0x1C; - temp_r31->unk0 |= 8; - temp_r31->unk20 = 0; - Hu3DModelAttrReset(temp_r31->unk1C, HU3D_ATTR_DISPOFF); - } - break; - - case 8: - case 12: - temp_f31 = Hu3DData[temp_r31->unk1C].pos.y; - temp_r31->unk20 -= 0.98f; - temp_f31 += temp_r31->unk20; - if (temp_f31 <= 50.0f) { - temp_f31 = 50.0f; - temp_r31->unk0 &= ~0x1C; - if (temp_r22 == 8) { - temp_r31->unk20 = 6.0f; - temp_r31->unk0 |= 12; - HuAudFXPlay(1664); - } - else { - temp_r31->unk20 = 0; - temp_r31->unk0 |= 16; - } - } - Hu3DModelPosSet(temp_r31->unk1C, temp_r31->unkC.x, temp_f31, temp_r31->unkC.z); - Hu3DModelRotSet(temp_r31->unk1C, 0, temp_r31->unk8, 0); - break; - - default: - break; - } - } - } - if (temp_r25) { - lbl_1_bss_10 = 0; - } + float temp_f31; + s16 sp8[2]; + Unk2110Obj *temp_r31; + s16 temp_r29; + s16 temp_r28; + s16 temp_r27; + s16 temp_r25; + u32 temp_r22; + switch(lbl_1_data_162) { + case 0: + lbl_1_bss_10++; + if(lbl_1_bss_10 > 60) { + lbl_1_bss_10 = 0; + lbl_1_data_162++; + } + return; + + case 1: + temp_r28 = arg0[0].unk16C[4]; + arg0[0].unk4[temp_r28].unk0 = 4; + temp_r28 = arg0[1].unk16C[4]; + arg0[1].unk4[temp_r28].unk0 = 4; + lbl_1_bss_10 = 999; + lbl_1_data_162++; + break; + + case 2: + temp_r31 = &arg0[0].unk4[arg0[0].unk16C[5]]; + if((temp_r31->unk0 & 0x1C) == 0x10) { + lbl_1_bss_10 = 0; + fn_1_2050(224, 96); + lbl_1_data_162 = 0; + return; + } + break; + } + temp_r25 = 0; + sp8[0] = sp8[1] = ++lbl_1_bss_10; + for(temp_r27=0; temp_r27<2; temp_r27++, arg0++) { + for(temp_r29=4; temp_r29>-6; temp_r29--) { + temp_r28 = (temp_r29 < 0) ? arg0->unk16C[temp_r29+10] : arg0->unk16C[temp_r29]; + temp_r31 = &arg0[0].unk4[temp_r28]; + switch(temp_r22 = temp_r31->unk0 & 0x1C) { + case 4: + if(sp8[temp_r27] > 15) { + sp8[temp_r27] = 0; + temp_r25 = 1; + if(temp_r29-1 > -6) { + temp_r28 = ((temp_r29-1) < 0) ? arg0->unk16C[(temp_r29-1)+10] : arg0->unk16C[(temp_r29-1)]; + arg0[0].unk4[temp_r28].unk0 &= ~0x1C; + arg0[0].unk4[temp_r28].unk0 |= 0x4; + } + temp_r31->unk0 &= ~0x1C; + temp_r31->unk0 |= 8; + temp_r31->unk20 = 0; + Hu3DModelAttrReset(temp_r31->unk1C, 1); + } + break; + + case 8: + case 12: + temp_f31 = Hu3DData[temp_r31->unk1C].pos.y; + temp_r31->unk20 -= 0.98f; + temp_f31 += temp_r31->unk20; + if(temp_f31 <= 50.0f) { + temp_f31 = 50.0f; + temp_r31->unk0 &= ~0x1C; + if(temp_r22 == 8) { + temp_r31->unk20 = 6; + temp_r31->unk0 |= 12; + HuAudFXPlay(1664); + } else { + temp_r31->unk20 = 0; + temp_r31->unk0 |= 16; + } + } + Hu3DModelPosSet(temp_r31->unk1C, temp_r31->unkC.x, temp_f31, temp_r31->unkC.z); + Hu3DModelRotSet(temp_r31->unk1C, 0, temp_r31->unk8, 0); + break; + + default: + break; + } + } + } + if(temp_r25) { + lbl_1_bss_10 = 0; + } } s32 lbl_1_data_164 = -1; @@ -1003,483 +1028,476 @@ s32 fn_1_7A78(s32 arg0, s16 arg1); void fn_1_3540(Work2110 *arg0) { - float sp8[2]; - float temp_f31; - float temp_f30; - Unk2110Obj *temp_r30; - s16 temp_r29; - Bss61CWork *temp_r27; - s16 temp_r26; - s16 temp_r25; - temp_r25 = 0; - switch (lbl_1_data_162) { - case 0: - lbl_1_bss_20[0] = arg0[0].unk0; - lbl_1_bss_20[1] = arg0[1].unk0; - temp_r29 = rand16() % 11; - temp_f31 = (temp_r29 < 5) ? 360.0f : 180.0f; - temp_f31 += temp_r29 * 36.0f; - lbl_1_bss_18[0] = lbl_1_bss_20[0] + temp_f31; - lbl_1_bss_18[1] = lbl_1_bss_20[1] - temp_f31; - lbl_1_bss_14 = (0.01f * temp_f31) * REFRESH_RATE; - lbl_1_data_162++; - lbl_1_data_164 = HuAudFXPlay(1665); - break; - - case 1: - if (lbl_1_bss_10 == lbl_1_bss_14) { - arg0[0].unk0 = fmod(arg0[0].unk0, 360); - arg0[1].unk0 = fmod(arg0[1].unk0, 360); - if (arg0[0].unk0 < 0.0f) { - arg0[0].unk0 += 360.0f; - } - if (arg0[1].unk0 < 0.0f) { - arg0[1].unk0 += 360.0f; - } - fn_1_48D0(&arg0[0]); - fn_1_48D0(&arg0[1]); - lbl_1_data_162++; - lbl_1_bss_10 = 0; - temp_r25 = 1; - } - break; - - case 2: - temp_r25 = 1; - fn_1_4D4C(); - fn_1_52D8(); - fn_1_566C(1); - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - temp_r27 = lbl_1_bss_61C[temp_r29]->data; - fn_1_4E30(temp_r27->unkA, temp_r27); - } - lbl_1_data_162 = 0; - fn_1_2050(224, 0); - break; - } - sp8[0] = lbl_1_data_1D0 + arg0[0].unk0; - sp8[1] = lbl_1_data_1D0 + arg0[1].unk0; - if (temp_r25 == 0) { - lbl_1_bss_10++; - temp_f31 = lbl_1_bss_10 / (float)lbl_1_bss_14; - temp_f31 = sind(temp_f31 * 90.0f); - if (lbl_1_bss_10 > lbl_1_bss_14 - 120) { - temp_f30 = (lbl_1_bss_10 - (lbl_1_bss_14 - 120)) / 120.0f; - if (temp_f30 < 0.0f) { - temp_f30 = 0.0f; - } - else { - if (temp_f30 > 1.0f) { - temp_f30 = 1.0f; - } - } - if (lbl_1_data_164 != -1) { - HuAudFXPitchSet(lbl_1_data_164, -8191.0f * temp_f30); - fn_1_7A78(lbl_1_data_164, (1.0f - temp_f30) * 127); - } - if (lbl_1_bss_10 >= lbl_1_bss_14) { - if (lbl_1_data_164 != -1) { - HuAudFXStop(lbl_1_data_164); - lbl_1_data_164 = -1; - HuAudFXPlay(1675); - } - } - } - if (lbl_1_bss_10 > lbl_1_bss_14) { - lbl_1_bss_10 = lbl_1_bss_14; - temp_f31 = 1; - } - arg0[0].unk0 = lbl_1_bss_20[0] + (temp_f31 * (lbl_1_bss_18[0] - lbl_1_bss_20[0])); - arg0[1].unk0 = lbl_1_bss_20[1] + (temp_f31 * (lbl_1_bss_18[1] - lbl_1_bss_20[1])); - } - Hu3DData[lbl_1_bss_2C->model[3]].rot.y = sp8[0]; - Hu3DData[lbl_1_bss_2C->model[4]].rot.y = sp8[1]; - for (temp_r29 = 0; temp_r29 < 2; temp_r29++, arg0++) { - temp_r30 = &arg0->unk4[0]; - for (temp_r26 = 0; temp_r26 < 10; temp_r26++, temp_r30++) { - float temp_f29 = temp_r30->unkC.x; - float temp_f28 = temp_r30->unkC.z; - Hu3DModelPosSet(temp_r30->unk1A, temp_f29, 45, temp_f28); - Hu3DModelRotSet(temp_r30->unk1A, 0, temp_r30->unk8, 0); - Hu3DModelPosSet(temp_r30->unk1E, temp_f29, 45, temp_f28); - Hu3DModelRotSet(temp_r30->unk1E, 0, temp_r30->unk8, 0); - Hu3DModelPosSet(temp_r30->unk1C, temp_f29, 50, temp_f28); - Hu3DModelRotSet(temp_r30->unk1C, 0, temp_r30->unk8, 0); - } - } + float sp8[2]; + float temp_f31; + float temp_f30; + Unk2110Obj *temp_r30; + s16 temp_r29; + Bss61CWork *temp_r27; + s16 temp_r26; + s16 temp_r25; + temp_r25 = 0; + switch(lbl_1_data_162) { + case 0: + lbl_1_bss_20[0] = arg0[0].unk0; + lbl_1_bss_20[1] = arg0[1].unk0; + temp_r29 = rand16()%11; + temp_f31 = (temp_r29 < 5) ? 360.0f : 180.0f; + temp_f31 += temp_r29*36.0f; + lbl_1_bss_18[0] = lbl_1_bss_20[0]+temp_f31; + lbl_1_bss_18[1] = lbl_1_bss_20[1]-temp_f31; + lbl_1_bss_14 = (0.01f*temp_f31)*60; + lbl_1_data_162++; + lbl_1_data_164 = HuAudFXPlay(1665); + break; + + case 1: + if(lbl_1_bss_10 == lbl_1_bss_14) { + arg0[0].unk0 = fmod(arg0[0].unk0, 360); + arg0[1].unk0 = fmod(arg0[1].unk0, 360); + if(arg0[0].unk0 < 0.0f) { + arg0[0].unk0 += 360.0f; + } + if(arg0[1].unk0 < 0.0f) { + arg0[1].unk0 += 360.0f; + } + fn_1_48D0(&arg0[0]); + fn_1_48D0(&arg0[1]); + lbl_1_data_162++; + lbl_1_bss_10 = 0; + temp_r25 = 1; + } + break; + + case 2: + temp_r25 = 1; + fn_1_4D4C(); + fn_1_52D8(); + fn_1_566C(1); + for(temp_r29=0; temp_r29<4; temp_r29++) { + temp_r27 = lbl_1_bss_61C[temp_r29]->data; + fn_1_4E30(temp_r27->unkA, temp_r27); + } + lbl_1_data_162 = 0; + fn_1_2050(224, 0); + break; + } + sp8[0] = lbl_1_data_1D0+arg0[0].unk0; + sp8[1] = lbl_1_data_1D0+arg0[1].unk0; + if(temp_r25 == 0) { + lbl_1_bss_10++; + temp_f31 = lbl_1_bss_10/(float)lbl_1_bss_14; + temp_f31 = sind(temp_f31*90.0f); + if(lbl_1_bss_10 > lbl_1_bss_14-120) { + temp_f30 = (lbl_1_bss_10-(lbl_1_bss_14-120))/120.0f; + if(temp_f30 < 0.0f) { + temp_f30 = 0.0f; + } else { + if(temp_f30 > 1.0f) { + temp_f30 = 1.0f; + } + } + if(lbl_1_data_164 != -1) { + HuAudFXPitchSet(lbl_1_data_164, -8191.0f*temp_f30); + fn_1_7A78(lbl_1_data_164, (1.0f-temp_f30)*127); + } + if(lbl_1_bss_10 >= lbl_1_bss_14) { + if(lbl_1_data_164 != -1) { + HuAudFXStop(lbl_1_data_164); + lbl_1_data_164 = -1; + HuAudFXPlay(1675); + } + } + } + if(lbl_1_bss_10 > lbl_1_bss_14) { + lbl_1_bss_10 = lbl_1_bss_14; + temp_f31 = 1; + } + arg0[0].unk0 = lbl_1_bss_20[0]+(temp_f31*(lbl_1_bss_18[0]-lbl_1_bss_20[0])); + arg0[1].unk0 = lbl_1_bss_20[1]+(temp_f31*(lbl_1_bss_18[1]-lbl_1_bss_20[1])); + } + Hu3DData[lbl_1_bss_2C->model[3]].rot.y = sp8[0]; + Hu3DData[lbl_1_bss_2C->model[4]].rot.y = sp8[1]; + for(temp_r29=0; temp_r29<2; temp_r29++, arg0++) { + temp_r30 = &arg0->unk4[0]; + for(temp_r26=0; temp_r26<10; temp_r26++, temp_r30++) { + float temp_f29 = temp_r30->unkC.x; + float temp_f28 = temp_r30->unkC.z; + Hu3DModelPosSet(temp_r30->unk1A, temp_f29, 45, temp_f28); + Hu3DModelRotSet(temp_r30->unk1A, 0, temp_r30->unk8, 0); + Hu3DModelPosSet(temp_r30->unk1E, temp_f29, 45, temp_f28); + Hu3DModelRotSet(temp_r30->unk1E, 0, temp_r30->unk8, 0); + Hu3DModelPosSet(temp_r30->unk1C, temp_f29, 50, temp_f28); + Hu3DModelRotSet(temp_r30->unk1C, 0, temp_r30->unk8, 0); + } + } } void fn_1_3FD0(Unk72B4Data18 *arg0); + void fn_1_3D7C(Work2110 *arg0) { - Unk2110Obj *temp_r31; - ModelData *temp_r30; - s16 temp_r29; - WorkA44 *temp_r28; - s16 temp_r27; - switch (lbl_1_data_162) { - case 0: - if (++lbl_1_bss_10 > REFRESH_RATE) { - lbl_1_bss_10 = 0; - lbl_1_data_162++; - } - break; - - case 1: - for (temp_r29 = 0; temp_r29 < 2; temp_r29++, arg0++) { - temp_r31 = &arg0->unk4[0]; - for (temp_r27 = 0; temp_r27 < 10; temp_r27++, temp_r31++) { - temp_r30 = &Hu3DData[temp_r31->unk1C]; - temp_r31->unk0 &= ~0x1C; - if (!(temp_r31->unk0 & 0x1)) { - fn_1_5B70(temp_r30->pos.x, 20 + temp_r30->pos.y, temp_r30->pos.z, 20, fn_1_3FD0, temp_r31->unk1C); - if (temp_r29 == 0) { - HuAudFXPlay(1669); - } - else { - HuAudFXPlay(1674); - } - } - else { - temp_r30->pos.y = 1000; - } - temp_r31->unk0 &= ~0x3; - Hu3DModelScaleSet(temp_r31->unk1A, 1, 1, 1); - } - } - lbl_1_data_162++; - break; - - case 2: - if (++lbl_1_bss_10 > REFRESH_RATE) { - lbl_1_bss_10 = lbl_1_data_162 = 0; - fn_1_2050(224, 32); - } - break; - } + Unk2110Obj *temp_r31; + ModelData *temp_r30; + s16 temp_r29; + WorkA44 *temp_r28; + s16 temp_r27; + switch(lbl_1_data_162) { + case 0: + if(++lbl_1_bss_10 > 60) { + lbl_1_bss_10 = 0; + lbl_1_data_162++; + } + break; + + case 1: + for(temp_r29=0; temp_r29<2; temp_r29++, arg0++) { + temp_r31 = &arg0->unk4[0]; + for(temp_r27=0; temp_r27<10; temp_r27++, temp_r31++) { + temp_r30 = &Hu3DData[temp_r31->unk1C]; + temp_r31->unk0 &= ~0x1C; + if(!(temp_r31->unk0 & 0x1)) { + fn_1_5B70(temp_r30->pos.x, 20+temp_r30->pos.y, temp_r30->pos.z, 20, fn_1_3FD0, temp_r31->unk1C); + if(temp_r29 == 0) { + HuAudFXPlay(1669); + } else { + HuAudFXPlay(1674); + } + } else { + temp_r30->pos.y = 1000; + } + temp_r31->unk0 &= ~0x3; + Hu3DModelScaleSet(temp_r31->unk1A, 1, 1, 1); + } + } + lbl_1_data_162++; + break; + + case 2: + if(++lbl_1_bss_10 > 60) { + lbl_1_bss_10 = lbl_1_data_162 = 0; + fn_1_2050(224, 32); + } + break; + } } void fn_1_3FD0(Unk72B4Data18 *arg0) { - Hu3DData[arg0->unk2C].pos.y = 1000; - Hu3DModelAttrSet(arg0->unk2C, HU3D_ATTR_DISPOFF); + Hu3DData[arg0->unk2C].pos.y = 1000; + Hu3DModelAttrSet(arg0->unk2C, 1); } void fn_1_4028(Work2110 *arg0) { - float temp_f31; - float temp_f30; - Unk2110Obj *temp_r31; - WorkA44 *temp_r30; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - Bss61CWork *temp_r24; - temp_r30 = lbl_1_bss_30->data; - temp_r27 = -1; - switch (lbl_1_data_162) { - case 0: - temp_r30->unk10 = MGSeqTimerCreate(15); - lbl_1_data_162++; - break; - - case 1: - if (lbl_1_bss_12C[0].unk134[0] && lbl_1_bss_12C[0].unk134[1]) { - temp_r27 = 0; - } - if (lbl_1_bss_12C[1].unk134[0] && lbl_1_bss_12C[1].unk134[1]) { - if (temp_r27 == 0) { - temp_r27 = (rand16() % 2) ? 0 : 1; - } - else { - temp_r27 = 1; - } - } - temp_r30->unk6[1] = temp_r27; - if (temp_r27 != -1) { - fn_1_A7D0(temp_r30->unk6[1]); - fn_1_20D0(lbl_1_bss_12C[temp_r27].unk138[0]); - fn_1_5480(); - fn_1_566C(3); - lbl_1_bss_12C[temp_r27].unk138[0]++; - MGSeqParamSet(temp_r30->unk10, 2, -1); - temp_r30->unk10 = -1; - temp_r30->unk6[0]++; - lbl_1_bss_10 = 0; - lbl_1_data_162++; - } - else { - if (--temp_r30->unkA < -1) { - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - temp_r24 = lbl_1_bss_61C[temp_r29]->data; - for (temp_r28 = 0; temp_r28 < 8; temp_r28++) { - temp_r24->unk5E[temp_r28] = -1; - } - } - fn_1_5480(); - fn_1_566C(4); - temp_r30->unkA = 0; - MGSeqParamSet(temp_r30->unk10, 2, -1); - - temp_r30->unk10 = -1; - temp_r30->unk6[0]++; - lbl_1_bss_10 = 0; - lbl_1_data_162++; - } - } - if (temp_r30->unk6[0] >= 5) { - if (lbl_1_bss_12C[0].unk138[0] == lbl_1_bss_12C[1].unk138[0]) { - HuAudFXPlay(11); - } - } - break; - - case 2: - if (++lbl_1_bss_10 > (1.5f * REFRESH_RATE)) { - lbl_1_bss_10 = 0; - lbl_1_data_162 = 1; - fn_1_2050(224, 128); - } - break; - } - for (temp_r29 = 0; temp_r29 < 2; temp_r29++, arg0++) { - temp_r31 = &arg0->unk4[0]; - for (temp_r28 = 0; temp_r28 < 10; temp_r28++, temp_r31++) { - if (!(temp_r31->unk0 & 0x1)) { - continue; - } - if (temp_r31->unk0 & 0x2) { - temp_r31->unk18++; - temp_f31 = temp_r31->unk18 / (0.5f * REFRESH_RATE); - if (temp_f31 >= 1.0f) { - temp_r31->unk20 -= 1.0f; - if (temp_r31->unk20 < 0.4f) { - temp_r31->unk20 = 0.4f; - } - temp_r31->unk18 = 0; - temp_f31 = 1.0f; - } - temp_f31 = (temp_r31->unk20 * 0.7f) * sind(180.0f * temp_f31) + 1.0f; - Hu3DModelScaleSet(temp_r31->unk1A, temp_f31, temp_f31, temp_f31); - } - else { - if (!temp_r31->unk20) { - if (++temp_r31->unk18 > (0.5f * REFRESH_RATE)) { - temp_r31->unk20 = 1; - temp_r31->unk18 = 0; - } - } - else { - temp_r31->unk18++; - temp_f31 = temp_r31->unk18 / (VERSION_NTSC ? 54.0f : 45.0f); - if (temp_f31 >= 1.0f) { - temp_r31->unk18 = VERSION_NTSC ? 54 : 45; - temp_f31 = 1.0f; - } - temp_f31 = cosd(temp_f31 * 90.0f); - temp_f30 = -50 + (95 * temp_f31); - Hu3DModelPosSet(temp_r31->unk1A, temp_r31->unkC.x, temp_f30, temp_r31->unkC.z); - Hu3DModelPosSet(temp_r31->unk1E, temp_r31->unkC.x, temp_f30, temp_r31->unkC.z); - } - } - } - } + float temp_f31; + float temp_f30; + Unk2110Obj *temp_r31; + WorkA44 *temp_r30; + s16 temp_r29; + s16 temp_r28; + s16 temp_r27; + Bss61CWork *temp_r24; + temp_r30 = lbl_1_bss_30->data; + temp_r27 = -1; + switch(lbl_1_data_162) { + case 0: + temp_r30->unk10 = MGSeqTimerCreate(15); + lbl_1_data_162++; + break; + + case 1: + if(lbl_1_bss_12C[0].unk134[0] && lbl_1_bss_12C[0].unk134[1]) { + temp_r27 = 0; + } + if(lbl_1_bss_12C[1].unk134[0] && lbl_1_bss_12C[1].unk134[1]) { + if(temp_r27 == 0) { + temp_r27 = (rand16() % 2) ? 0 : 1; + } else { + temp_r27 = 1; + } + } + temp_r30->unk6[1] = temp_r27; + if(temp_r27 != -1) { + fn_1_A7D0(temp_r30->unk6[1]); + fn_1_20D0(lbl_1_bss_12C[temp_r27].unk138[0]); + fn_1_5480(); + fn_1_566C(3); + lbl_1_bss_12C[temp_r27].unk138[0]++; + MGSeqParamSet(temp_r30->unk10, 2, -1); + temp_r30->unk10 = -1; + temp_r30->unk6[0]++; + lbl_1_bss_10 = 0; + lbl_1_data_162++; + } else { + if(--temp_r30->unkA < -1) { + for(temp_r29=0; temp_r29<4; temp_r29++) { + temp_r24 = lbl_1_bss_61C[temp_r29]->data; + for(temp_r28=0; temp_r28<8; temp_r28++) { + temp_r24->unk5E[temp_r28] = -1; + } + } + fn_1_5480(); + fn_1_566C(4); + temp_r30->unkA = 0; + MGSeqParamSet(temp_r30->unk10, 2, -1); + + temp_r30->unk10 = -1; + temp_r30->unk6[0]++; + lbl_1_bss_10 = 0; + lbl_1_data_162++; + } + } + if(temp_r30->unk6[0] >= 5) { + if(lbl_1_bss_12C[0].unk138[0] == lbl_1_bss_12C[1].unk138[0]) { + HuAudFXPlay(11); + } + } + break; + + case 2: + if(++lbl_1_bss_10 > 90.0f) { + lbl_1_bss_10 = 0; + lbl_1_data_162 = 1; + fn_1_2050(224, 128); + } + break; + } + for(temp_r29=0; temp_r29<2; temp_r29++, arg0++) { + temp_r31 = &arg0->unk4[0]; + for(temp_r28=0; temp_r28<10; temp_r28++, temp_r31++) { + if(!(temp_r31->unk0 & 0x1)) { + continue; + } + if(temp_r31->unk0 & 0x2) { + temp_r31->unk18++; + temp_f31 = temp_r31->unk18/30.0f; + if(temp_f31 >= 1.0f) { + temp_r31->unk20 -= 1.0f; + if(temp_r31->unk20 < 0.4f) { + temp_r31->unk20 = 0.4f; + } + temp_r31->unk18 = 0; + temp_f31 = 1.0f; + } + temp_f31 = (temp_r31->unk20*0.7f)*sind(180.0f*temp_f31)+1.0f; + Hu3DModelScaleSet(temp_r31->unk1A, temp_f31, temp_f31, temp_f31); + } else { + if(!temp_r31->unk20) { + if(++temp_r31->unk18 > 30.0f) { + temp_r31->unk20 = 1; + temp_r31->unk18 = 0; + } + } else { + temp_r31->unk18++; + temp_f31 = temp_r31->unk18/54.0f; + if(temp_f31 >= 1.0f) { + temp_r31->unk18 = 54; + temp_f31 = 1.0f; + } + temp_f31 = cosd(temp_f31*90.0f); + temp_f30 = -50+(95*temp_f31); + Hu3DModelPosSet(temp_r31->unk1A, temp_r31->unkC.x, temp_f30, temp_r31->unkC.z); + Hu3DModelPosSet(temp_r31->unk1E, temp_r31->unkC.x, temp_f30, temp_r31->unkC.z); + } + } + } + } } s16 fn_1_4724(void) { - return lbl_1_data_162; + return lbl_1_data_162; } u32 fn_1_4738(s16 arg0, s16 arg1) { - Work2110 *temp_r31; - temp_r31 = lbl_1_bss_2C->data; - temp_r31 += arg0; - if (arg1 == -1) { - return 0; - } - return temp_r31->unk4[temp_r31->unk16C[arg1]].unk0; + Work2110 *temp_r31; + temp_r31 = lbl_1_bss_2C->data; + temp_r31 += arg0; + if(arg1 == -1) { + return 0; + } + return temp_r31->unk4[temp_r31->unk16C[arg1]].unk0; } void fn_1_66DC(s16 *arg0, s16 arg1, s16 arg2); void fn_1_4798(Work2110 *arg0) { - s16 temp_r31; - s16 sp10[10]; - Unk2110Obj *sp8[2]; - fn_1_66DC(sp10, 0, 10); - sp8[0] = &arg0[0].unk4[0]; - sp8[1] = &arg0[1].unk4[0]; - for (temp_r31 = 0; temp_r31 < 10; temp_r31++, sp8[0]++, sp8[1]++) { - sp8[0]->unk1A = lbl_1_bss_34[sp10[temp_r31]]; - sp8[1]->unk1A = lbl_1_bss_34[sp10[temp_r31] + 10]; - sp8[0]->unk18 = sp8[1]->unk18 = (sp10[temp_r31] < 5) ? sp10[temp_r31] : sp10[temp_r31] - 5; - } + s16 temp_r31; + s16 sp10[10]; + Unk2110Obj *sp8[2]; + fn_1_66DC(sp10, 0, 10); + sp8[0] = &arg0[0].unk4[0]; + sp8[1] = &arg0[1].unk4[0]; + for(temp_r31=0; temp_r31<10; temp_r31++, sp8[0]++, sp8[1]++) { + sp8[0]->unk1A = lbl_1_bss_34[sp10[temp_r31]]; + sp8[1]->unk1A = lbl_1_bss_34[sp10[temp_r31]+10]; + sp8[0]->unk18 = sp8[1]->unk18 = (sp10[temp_r31] < 5) ? sp10[temp_r31] : sp10[temp_r31]-5; + } } void fn_1_48D0(Work2110 *arg0) { - float temp_f31; - s16 temp_r31; - s16 temp_r30; - for (temp_r30 = 0; temp_r30 < 10; temp_r30++) { - temp_f31 = arg0->unk0 + arg0->unk4[temp_r30].unk4; - temp_r31 = (temp_f31 / 360.0f) * 10.0f; - if (temp_r31 >= 10) { - temp_r31 -= 10; - } - else if (temp_r31 < 0) { - temp_r31 += 10; - } - arg0->unk16C[temp_r31] = temp_r30; - } + float temp_f31; + s16 temp_r31; + s16 temp_r30; + for(temp_r30=0; temp_r30<10; temp_r30++) { + temp_f31 = arg0->unk0+arg0->unk4[temp_r30].unk4; + temp_r31 = (temp_f31/360.0f)*10.0f; + if(temp_r31 >= 10) { + temp_r31 -= 10; + } else if(temp_r31 < 0) { + temp_r31 += 10; + } + arg0->unk16C[temp_r31] = temp_r30; + } } void fn_1_498C(s16 arg0, Work2110 *arg1) { - float temp_f31; - Unk2110Obj *temp_r31; - Bss12CStruct *temp_r30; - s16 temp_r29; - temp_r31 = &arg1->unk4[0]; - temp_r30 = &lbl_1_bss_12C[arg0]; - for (temp_r29 = 0; temp_r29 < 10; temp_r29++, temp_r31++) { - temp_f31 = arg1->unk0 + temp_r31->unk4; - if (temp_f31 >= 360.0f) { - temp_f31 -= 360.0f; - } - temp_r31->unkC.x = temp_r30->unkC.x + (153.0 * sind(temp_f31)); - temp_r31->unkC.z = temp_r30->unkC.z + (153.0 * cosd(temp_f31)); - temp_r31->unk8 = atan2d(temp_r30->unkC.x - temp_r31->unkC.x, temp_r30->unkC.z - temp_r31->unkC.z); - } + float temp_f31; + Unk2110Obj *temp_r31; + Bss12CStruct *temp_r30; + s16 temp_r29; + temp_r31 = &arg1->unk4[0]; + temp_r30 = &lbl_1_bss_12C[arg0]; + for(temp_r29=0; temp_r29<10; temp_r29++, temp_r31++) { + temp_f31 = arg1->unk0+temp_r31->unk4; + if(temp_f31 >= 360.0f) { + temp_f31 -= 360.0f; + } + temp_r31->unkC.x = temp_r30->unkC.x+(153.0*sind(temp_f31)); + temp_r31->unkC.z = temp_r30->unkC.z+(153.0*cosd(temp_f31)); + temp_r31->unk8 = atan2d(temp_r30->unkC.x-temp_r31->unkC.x, temp_r30->unkC.z-temp_r31->unkC.z); + } } s16 fn_1_4B14(s16 arg0, s16 arg1, s16 *arg2) { - Unk2110Obj *temp_r31; - s16 temp_r30; - Work2110 *temp_r29; - temp_r29 = lbl_1_bss_2C->data; - *arg2 = 0; - temp_r29 += arg0; - temp_r31 = &temp_r29->unk4[temp_r29->unk16C[arg1]]; - if (temp_r31->unk0 & 0x1) { - return -1; - } - temp_r31->unk0 |= 0x1; - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - if (!lbl_1_bss_12C[arg0].unk134[temp_r30] && lbl_1_bss_5C.unkC[temp_r30] == temp_r31->unk18) { - *arg2 = 1; - lbl_1_bss_12C[arg0].unk134[temp_r30] = 1; - temp_r31->unk0 |= 0x2; - temp_r31->unk18 = 0; - temp_r31->unk20 = 1; - Hu3DMotionTimeSet(lbl_1_bss_2C->model[arg0 + 1], 0); - Hu3DModelAttrReset(lbl_1_bss_2C->model[arg0 + 1], HU3D_MOTATTR_PAUSE); - HuAudFXPlay(9); - break; - } - } - return temp_r31->unk1C; + Unk2110Obj *temp_r31; + s16 temp_r30; + Work2110 *temp_r29; + temp_r29 = lbl_1_bss_2C->data; + *arg2 = 0; + temp_r29 += arg0; + temp_r31 = &temp_r29->unk4[temp_r29->unk16C[arg1]]; + if(temp_r31->unk0 & 0x1) { + return -1; + } + temp_r31->unk0 |= 0x1; + for(temp_r30=0; temp_r30<2; temp_r30++) { + if(!lbl_1_bss_12C[arg0].unk134[temp_r30] && lbl_1_bss_5C.unkC[temp_r30] == temp_r31->unk18) { + *arg2 = 1; + lbl_1_bss_12C[arg0].unk134[temp_r30] = 1; + temp_r31->unk0 |= 0x2; + temp_r31->unk18 = 0; + temp_r31->unk20 = 1; + Hu3DMotionTimeSet(lbl_1_bss_2C->model[arg0+1], 0); + Hu3DModelAttrReset(lbl_1_bss_2C->model[arg0+1], 0x40000002); + HuAudFXPlay(9); + break; + } + + } + return temp_r31->unk1C; } s16 fn_1_4CDC(s16 arg0, s16 arg1) { - Work2110 *temp_r31; - Unk2110Obj *temp_r30; - temp_r31 = lbl_1_bss_2C->data; - temp_r31 += arg0; - temp_r30 = &temp_r31->unk4[temp_r31->unk16C[arg1]]; - if (temp_r30->unk0 & 0x1) { - return 0; - } - else { - return 1; - } + Work2110 *temp_r31; + Unk2110Obj *temp_r30; + temp_r31 = lbl_1_bss_2C->data; + temp_r31 += arg0; + temp_r30 = &temp_r31->unk4[temp_r31->unk16C[arg1]]; + if(temp_r30->unk0 & 0x1) { + return 0; + } else { + return 1; + } } void fn_1_4D4C(void) { - lbl_1_bss_5C.unkC[0] = rand16() % 5; - lbl_1_bss_5C.unkC[1] = rand16() % 5; - lbl_1_bss_12C[0].unk134[0] = lbl_1_bss_12C[0].unk134[1] = 0; - lbl_1_bss_12C[1].unk134[0] = lbl_1_bss_12C[1].unk134[1] = 0; + lbl_1_bss_5C.unkC[0] = rand16()%5; + lbl_1_bss_5C.unkC[1] = rand16()%5; + lbl_1_bss_12C[0].unk134[0] = lbl_1_bss_12C[0].unk134[1] = 0; + lbl_1_bss_12C[1].unk134[0] = lbl_1_bss_12C[1].unk134[1] = 0; } void fn_1_6638(s16 *arg0, s16 arg1); void fn_1_4E30(s16 arg0, Bss61CWork *arg1) { - s16 sp1E[10]; - s16 spA[10]; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - Work2110 *temp_r27; - Unk2110Obj *temp_r26; - temp_r27 = lbl_1_bss_2C->data; - for (temp_r30 = 0; temp_r30 < 10; temp_r30++) { - sp1E[temp_r30] = spA[temp_r30] = 0; - } - for (temp_r30 = 0; temp_r30 < 8; temp_r30++) { - arg1->unk5E[temp_r30] = -1; - } - temp_r27 += arg0; - for (temp_r28 = 0, temp_r29 = 0; temp_r28 < 2; temp_r28++) { - for (temp_r30 = 0; temp_r30 < 10; temp_r30++) { - temp_r26 = &temp_r27->unk4[temp_r27->unk16C[temp_r30]]; - if (temp_r26->unk18 == lbl_1_bss_5C.unkC[temp_r28] && !sp1E[temp_r30]) { - arg1->unk5E[temp_r29++] = temp_r30; - sp1E[temp_r30] = 1; - } - } - } - for (temp_r28 = 0, temp_r30 = 0; temp_r28 < 10; temp_r28++) { - if (!sp1E[temp_r28]) { - spA[temp_r30++] = temp_r28; - } - } - fn_1_6638(spA, temp_r30); - temp_r30 = 0; - if (temp_r29 == 2) { - temp_r29 += 2; - } - - while (1) { - if (temp_r29 >= 8) { - break; - } - arg1->unk5E[temp_r29++] = spA[temp_r30++]; - } - arg1->unk70 = 0; - temp_r29 = arg1->unk14->unk4; - switch (GWPlayerCfg[arg1->unk4].diff) { - case 0: - arg1->unk72 = (GWPlayerCfg[temp_r29].iscom) ? ((rand16() % 3) + 2) : ((rand16() % 3) + 1); - arg1->unk6E = 8; - break; - - case 1: - arg1->unk72 = (GWPlayerCfg[temp_r29].iscom) ? ((rand16() % 3) + 1) : ((rand16() % 3) + 0); - arg1->unk6E = 7; - break; - - case 2: - arg1->unk72 = (GWPlayerCfg[temp_r29].iscom) ? ((rand16() % 3) + 0) : ((rand16() % 2) + 0); - arg1->unk6E = 6; - break; - - case 3: - arg1->unk72 = (GWPlayerCfg[temp_r29].iscom) ? ((rand16() % 2) + 0) : 0; - arg1->unk6E = 5; - break; - } - if (arg1->unk6E < 4) { - arg1->unk6E = 4; - } + s16 sp1E[10]; + s16 spA[10]; + s16 temp_r30; + s16 temp_r29; + s16 temp_r28; + Work2110 *temp_r27; + Unk2110Obj *temp_r26; + temp_r27 = lbl_1_bss_2C->data; + for(temp_r30=0; temp_r30<10; temp_r30++) { + sp1E[temp_r30] = spA[temp_r30] = 0; + } + for(temp_r30=0; temp_r30<8; temp_r30++) { + arg1->unk5E[temp_r30] = -1; + } + temp_r27 += arg0; + for(temp_r28=0, temp_r29=0; temp_r28<2; temp_r28++) { + for(temp_r30=0; temp_r30<10; temp_r30++) { + temp_r26 = &temp_r27->unk4[temp_r27->unk16C[temp_r30]]; + if(temp_r26->unk18 == lbl_1_bss_5C.unkC[temp_r28] && !sp1E[temp_r30]) { + arg1->unk5E[temp_r29++] = temp_r30; + sp1E[temp_r30] = 1; + } + } + } + for(temp_r28=0, temp_r30=0; temp_r28<10; temp_r28++) { + if(!sp1E[temp_r28]) { + spA[temp_r30++] = temp_r28; + } + } + fn_1_6638(spA, temp_r30); + temp_r30 = 0; + if(temp_r29 == 2) { + temp_r29 += 2; + } + + while(1) { + if(temp_r29 >= 8) { + break; + } + arg1->unk5E[temp_r29++] = spA[temp_r30++]; + } + arg1->unk70 = 0; + temp_r29 = arg1->unk14->unk4; + switch(GWPlayerCfg[arg1->unk4].diff) { + case 0: + arg1->unk72 = (GWPlayerCfg[temp_r29].iscom) ? ((rand16()%3)+2) : ((rand16()%3)+1); + arg1->unk6E = 8; + break; + + case 1: + arg1->unk72 = (GWPlayerCfg[temp_r29].iscom) ? ((rand16()%3)+1) : ((rand16()%3)+0); + arg1->unk6E = 7; + break; + + case 2: + arg1->unk72 = (GWPlayerCfg[temp_r29].iscom) ? ((rand16()%3)+0) : ((rand16()%2)+0); + arg1->unk6E = 6; + break; + + case 3: + arg1->unk72 = (GWPlayerCfg[temp_r29].iscom) ? ((rand16()%2)+0) : 0; + arg1->unk6E = 5; + break; + } + if(arg1->unk6E < 4) { + arg1->unk6E = 4; + } } void fn_1_5524(void); @@ -1488,401 +1506,397 @@ Unk72B4Data18 *fn_1_6B34(s16 arg0, Vec *arg1, Vec *arg2, float arg3, GXColor *ar void fn_1_52D8(void) { - Bss5CStruct *temp_r31; - s16 temp_r30; - Unk72B4Data18 *temp_r29; - Vec sp18; - Vec spC; - GXColor sp8 = { 255, 255, 255, 255 }; - temp_r31 = &lbl_1_bss_5C; - sp18.x = 0; - sp18.y = 200; - sp18.z = -300; - spC.x = spC.z = 1; - spC.y = 0.5f; - fn_1_6B34(temp_r31->unk0[0], &sp18, &spC, 0, &sp8); - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - sp18.x = (temp_r30 == 0) ? -60.0f : 60.0f; - sp18.y = 220; - sp18.z = -290; - spC.x = spC.y = spC.z = 1; - temp_r29 = fn_1_6B34(temp_r31->unk0[temp_r31->unkC[temp_r30] + 1], &sp18, &spC, 0, &sp8); - temp_r29->unk28 = temp_r30; - } - fn_1_5524(); + Bss5CStruct *temp_r31; + s16 temp_r30; + Unk72B4Data18 *temp_r29; + Vec sp18; + Vec spC; + GXColor sp8 = { 255, 255, 255, 255 }; + temp_r31 = &lbl_1_bss_5C; + sp18.x = 0; + sp18.y = 200; + sp18.z = -300; + spC.x = spC.z = 1; + spC.y = 0.5f; + fn_1_6B34(temp_r31->unk0[0], &sp18, &spC, 0, &sp8); + for(temp_r30=0; temp_r30<2; temp_r30++) { + sp18.x = (temp_r30 == 0) ? -60.0f : 60.0f; + sp18.y = 220; + sp18.z = -290; + spC.x = spC.y = spC.z = 1; + temp_r29 = fn_1_6B34(temp_r31->unk0[temp_r31->unkC[temp_r30]+1], &sp18, &spC, 0, &sp8); + temp_r29->unk28 = temp_r30; + } + fn_1_5524(); } Work72B4 *fn_1_7218(s16 arg0); void fn_1_5480(void) { - Work72B4 *temp_r31; - Bss5CStruct *temp_r30 = &lbl_1_bss_5C; - s16 temp_r29; - temp_r31 = fn_1_7218(temp_r30->unk0[0]); - temp_r31->unk18[0].unk56 = 0; - for (temp_r29 = 0; temp_r29 < 2; temp_r29++) { - temp_r31 = fn_1_7218(temp_r30->unk0[temp_r30->unkC[temp_r29] + 1]); - temp_r31->unk18[0].unk56 = temp_r31->unk18[1].unk56 = 0; - } + Work72B4 *temp_r31; + Bss5CStruct *temp_r30 = &lbl_1_bss_5C; + s16 temp_r29; + temp_r31 = fn_1_7218(temp_r30->unk0[0]); + temp_r31->unk18[0].unk56 = 0; + for(temp_r29=0; temp_r29<2; temp_r29++) { + temp_r31 = fn_1_7218(temp_r30->unk0[temp_r30->unkC[temp_r29]+1]); + temp_r31->unk18[0].unk56 = temp_r31->unk18[1].unk56 = 0; + + } } void fn_1_5524(void) { - float temp_f30; - Bss5CStruct *temp_r31; - Work72B4 *temp_r30; - s16 temp_r29; - s16 temp_r28; - temp_r31 = &lbl_1_bss_5C; - temp_r30 = fn_1_7218(temp_r31->unk0[0]); - temp_r30->unk18[0].unk48.x = temp_r31->unk18; - for (temp_r28 = 0; temp_r28 < 2; temp_r28++) { - temp_r30 = fn_1_7218(temp_r31->unk0[temp_r31->unkC[temp_r28] + 1]); - for (temp_r29 = 0; temp_r29 < 2; temp_r29++) { - if (temp_r30->unk18[temp_r29].unk56) { - temp_f30 = (temp_r30->unk18[temp_r29].unk28 == 0) ? -60.0f : 60.0f; - temp_r30->unk18[temp_r29].unk48.x = temp_f30 + temp_r31->unk18; - } - } - } + float temp_f30; + Bss5CStruct *temp_r31; + Work72B4 *temp_r30; + s16 temp_r29; + s16 temp_r28; + temp_r31 = &lbl_1_bss_5C; + temp_r30 = fn_1_7218(temp_r31->unk0[0]); + temp_r30->unk18[0].unk48.x = temp_r31->unk18; + for(temp_r28=0; temp_r28<2; temp_r28++) { + temp_r30 = fn_1_7218(temp_r31->unk0[temp_r31->unkC[temp_r28]+1]); + for(temp_r29=0; temp_r29<2; temp_r29++) { + if(temp_r30->unk18[temp_r29].unk56) { + temp_f30 = (temp_r30->unk18[temp_r29].unk28 == 0) ? -60.0f : 60.0f; + temp_r30->unk18[temp_r29].unk48.x = temp_f30+temp_r31->unk18; + } + } + } + } void fn_1_566C(s16 arg0) { - ModelData *sp8 = &Hu3DData[lbl_1_bss_2C->model[5]]; - lbl_1_bss_5C.unk14 = 0; - lbl_1_bss_5C.unk12 = 0; - lbl_1_bss_5C.unk10 = arg0; - lbl_1_bss_5C.unk20 = lbl_1_bss_5C.unk34 = 0; - lbl_1_bss_5C.unk28[1] = lbl_1_bss_5C.unk28[0]; + ModelData *sp8 = &Hu3DData[lbl_1_bss_2C->model[5]]; + lbl_1_bss_5C.unk14 = 0; + lbl_1_bss_5C.unk12 = 0; + lbl_1_bss_5C.unk10 = arg0; + lbl_1_bss_5C.unk20 = lbl_1_bss_5C.unk34 = 0; + lbl_1_bss_5C.unk28[1] = lbl_1_bss_5C.unk28[0]; } void fn_1_5708(void) { - Bss5CStruct *temp_r31; - ModelData *temp_r30; - WorkA44 *temp_r29; - temp_r30 = &Hu3DData[lbl_1_bss_2C->model[5]]; - temp_r29 = lbl_1_bss_30->data; - temp_r31 = &lbl_1_bss_5C; - switch (temp_r31->unk10) { - case 0: - if (temp_r30->unk_08 != lbl_1_bss_2C->motion[0]) { - Hu3DMotionShiftSet(lbl_1_bss_2C->model[5], lbl_1_bss_2C->motion[0], 0, 8, HU3D_MOTATTR_LOOP); - } - break; - - case 1: - if (temp_r31->unk12 == 0) { - temp_r31->unk12 = 1; - Hu3DMotionShiftSet(lbl_1_bss_2C->model[5], lbl_1_bss_2C->motion[1], 0, 8, HU3D_MOTATTR_NONE); - } - else { - if (temp_r30->unk_0C == -1) { - if (temp_r30->unk_64 >= Hu3DMotionMaxTimeGet(lbl_1_bss_2C->model[5])) { - temp_r31->unk16 = rand16() % 2; - temp_r31->unk12 = 0; - temp_r31->unk10 = 2; - } - } - } - break; - - case 2: - if (temp_r31->unk12 == 0) { - temp_r31->unk12 = 1; - Hu3DMotionShiftSet(lbl_1_bss_2C->model[5], lbl_1_bss_2C->motion[5], 0, 8, HU3D_MOTATTR_LOOP); - } - else { - if (temp_r29->unkA < (3 * REFRESH_RATE)) { - temp_r31->unk12 = 0; - temp_r31->unk10 = 5; - } - } - break; - - case 3: - if (temp_r31->unk12 == 0) { - temp_r31->unk12 = 1; - Hu3DMotionShiftSet(lbl_1_bss_2C->model[5], lbl_1_bss_2C->motion[2], 0, 8, HU3D_MOTATTR_LOOP); - } - else { - if (temp_r30->unk_0C == -1) { - if (temp_r30->unk_64 >= Hu3DMotionMaxTimeGet(lbl_1_bss_2C->model[5]) - 1.0f) { - if (++temp_r31->unk14 > 1) { - temp_r31->unk12 = 0; - temp_r31->unk10 = 0; - } - } - } - } - break; - - case 4: - if (temp_r31->unk12 == 0) { - temp_r31->unk12 = 1; - Hu3DMotionShiftSet(lbl_1_bss_2C->model[5], lbl_1_bss_2C->motion[3], 0, 8, HU3D_MOTATTR_NONE); - } - else { - if (temp_r30->unk_0C == -1) { - if (temp_r30->unk_64 >= Hu3DMotionMaxTimeGet(lbl_1_bss_2C->model[5])) { - temp_r31->unk12 = 0; - temp_r31->unk10 = 0; - } - } - } - break; - - case 5: - if (temp_r31->unk12 == 0) { - temp_r31->unk12 = 1; - Hu3DMotionShiftSet(lbl_1_bss_2C->model[5], lbl_1_bss_2C->motion[6], 0, 8, HU3D_MOTATTR_LOOP); - } - break; - } - temp_r30->pos.x = temp_r31->unk18; - temp_r30->rot.y = temp_r31->unk28[0]; + Bss5CStruct *temp_r31; + ModelData *temp_r30; + WorkA44 *temp_r29; + temp_r30 = &Hu3DData[lbl_1_bss_2C->model[5]]; + temp_r29 = lbl_1_bss_30->data; + temp_r31 = &lbl_1_bss_5C; + switch(temp_r31->unk10) { + case 0: + if(temp_r30->unk_08 != lbl_1_bss_2C->motion[0]) { + Hu3DMotionShiftSet(lbl_1_bss_2C->model[5], lbl_1_bss_2C->motion[0], 0, 8, 0x40000001); + } + break; + + case 1: + if(temp_r31->unk12 == 0) { + temp_r31->unk12 = 1; + Hu3DMotionShiftSet(lbl_1_bss_2C->model[5], lbl_1_bss_2C->motion[1], 0, 8, 0); + } else { + if(temp_r30->unk_0C == -1) { + if(temp_r30->unk_64 >= Hu3DMotionMaxTimeGet(lbl_1_bss_2C->model[5])) { + temp_r31->unk16 = rand16()%2; + temp_r31->unk12 = 0; + temp_r31->unk10 = 2; + } + } + } + break; + + case 2: + if(temp_r31->unk12 == 0) { + temp_r31->unk12 = 1; + Hu3DMotionShiftSet(lbl_1_bss_2C->model[5], lbl_1_bss_2C->motion[5], 0, 8, 0x40000001); + } else { + if(temp_r29->unkA < 180) { + temp_r31->unk12 = 0; + temp_r31->unk10 = 5; + } + } + break; + + case 3: + if(temp_r31->unk12 == 0) { + temp_r31->unk12 = 1; + Hu3DMotionShiftSet(lbl_1_bss_2C->model[5], lbl_1_bss_2C->motion[2], 0, 8, 0x40000001); + } else { + if(temp_r30->unk_0C == -1) { + if(temp_r30->unk_64 >= Hu3DMotionMaxTimeGet(lbl_1_bss_2C->model[5])-1.0f) { + if(++temp_r31->unk14 > 1) { + temp_r31->unk12 = 0; + temp_r31->unk10 = 0; + } + } + } + } + break; + + case 4: + if(temp_r31->unk12 == 0) { + temp_r31->unk12 = 1; + Hu3DMotionShiftSet(lbl_1_bss_2C->model[5], lbl_1_bss_2C->motion[3], 0, 8, 0); + } else { + if(temp_r30->unk_0C == -1) { + if(temp_r30->unk_64 >= Hu3DMotionMaxTimeGet(lbl_1_bss_2C->model[5])) { + temp_r31->unk12 = 0; + temp_r31->unk10 = 0; + } + } + } + break; + + case 5: + if(temp_r31->unk12 == 0) { + temp_r31->unk12 = 1; + Hu3DMotionShiftSet(lbl_1_bss_2C->model[5], lbl_1_bss_2C->motion[6], 0, 8, 0x40000001); + } + break; + } + temp_r30->pos.x = temp_r31->unk18; + temp_r30->rot.y = temp_r31->unk28[0]; } void fn_1_5B70(float arg0, float arg1, float arg2, s16 arg3, unkHook72B4Data18 arg4, s16 arg5) { - Vec sp2C; - Vec sp20; - GXColor sp1A; - float temp_f31; - float temp_f30; - - Unk72B4Data18 *temp_r31; - s16 temp_r30; - temp_f30 = 360.0f / arg3; - temp_f31 = rand16() % 361; - for (temp_r30 = 0; temp_r30 < arg3; temp_r30++, temp_f31 += temp_f30) { - sp2C.x = arg0 + ((rand16() % 21) - 10); - sp2C.y = arg1 + ((rand16() % 21) - 10); - sp2C.z = arg2 + ((rand16() % 21) - 10); - sp20.x = sp20.y = sp20.z = 0.1f * ((rand16() % 11) + 15); - sp1A.r = sp1A.g = sp1A.b = (rand16() % 128) + 128; - sp1A.a = 128; - temp_r31 = fn_1_6B34(lbl_1_bss_30->model[0], &sp2C, &sp20, 0, &sp1A); - if (!temp_r31) { - break; - } - temp_r31->unk30 = arg4; - temp_r31->unk2C = arg5; - temp_r31->unk28 = 0; - temp_r31->unk2A = (rand16() % 2) + 2; - temp_r31->unk0.x = 3.5 * sind(temp_f31); - temp_r31->unk0.y = 0.01f * ((rand16() % 16) + 20); - temp_r31->unk0.z = 3.5 * cosd(temp_f31); - temp_r31->unkC.x = temp_r31->unk0.x * 0.03f; - temp_r31->unkC.y = temp_r31->unk0.y * 0.03f; - temp_r31->unkC.z = temp_r31->unk0.z * 0.03f; - } + Vec sp2C; + Vec sp20; + GXColor sp1A; + float temp_f31; + float temp_f30; + + Unk72B4Data18 *temp_r31; + s16 temp_r30; + temp_f30 = 360.0f/arg3; + temp_f31 = rand16()%361; + for(temp_r30=0; temp_r30model[0], &sp2C, &sp20, 0, &sp1A); + if(!temp_r31) { + break; + } + temp_r31->unk30 = arg4; + temp_r31->unk2C = arg5; + temp_r31->unk28 = 0; + temp_r31->unk2A = (rand16()%2)+2; + temp_r31->unk0.x = 3.5*sind(temp_f31); + temp_r31->unk0.y = 0.01f*((rand16()%16)+20); + temp_r31->unk0.z = 3.5*cosd(temp_f31); + temp_r31->unkC.x = temp_r31->unk0.x*0.03f; + temp_r31->unkC.y = temp_r31->unk0.y*0.03f; + temp_r31->unkC.z = temp_r31->unk0.z*0.03f; + } } void fn_1_6030(ModelData *arg0, Work72B4 *arg1, Mtx arg2) { - Unk72B4Data18 *temp_r31; - s16 temp_r29; - GXColor *temp_r28; - unkHook72B4Data18 temp_r27; - temp_r31 = arg1->unk18; - temp_r28 = arg1->unk24; - for (temp_r29 = 0; temp_r29 < arg1->unk0; temp_r29++, temp_r31++, temp_r28++) { - if (temp_r31->unk56 == 0) { - continue; - } - temp_r31->unk48.x += temp_r31->unk0.x; - temp_r31->unk48.y += temp_r31->unk0.y; - temp_r31->unk48.z += temp_r31->unk0.z; - temp_r31->unk0.x -= temp_r31->unkC.x; - temp_r31->unk0.y -= temp_r31->unkC.y; - temp_r31->unk0.z -= temp_r31->unkC.z; - temp_r31->unk28++; - if (temp_r31->unk28 >= temp_r31->unk2A) { - temp_r31->unk28 = 0; - temp_r31->unk54++; - } - if (temp_r31->unk54 >= arg1->unk14) { - temp_r31->unk30 = NULL; - temp_r31->unk56 = 0; - } - else { - if (temp_r31->unk54 == 2 && temp_r31->unk30) { - temp_r27 = temp_r31->unk30; - temp_r27(temp_r31); - } - } - } + Unk72B4Data18 *temp_r31; + s16 temp_r29; + GXColor *temp_r28; + unkHook72B4Data18 temp_r27; + temp_r31 = arg1->unk18; + temp_r28 = arg1->unk24; + for(temp_r29=0; temp_r29unk0; temp_r29++, temp_r31++, temp_r28++) { + if(temp_r31->unk56 == 0){ + continue; + } + temp_r31->unk48.x += temp_r31->unk0.x; + temp_r31->unk48.y += temp_r31->unk0.y; + temp_r31->unk48.z += temp_r31->unk0.z; + temp_r31->unk0.x -= temp_r31->unkC.x; + temp_r31->unk0.y -= temp_r31->unkC.y; + temp_r31->unk0.z -= temp_r31->unkC.z; + temp_r31->unk28++; + if(temp_r31->unk28 >= temp_r31->unk2A) { + temp_r31->unk28 = 0; + temp_r31->unk54++; + } + if(temp_r31->unk54 >= arg1->unk14) { + temp_r31->unk30 = NULL; + temp_r31->unk56 = 0; + } else { + if(temp_r31->unk54 == 2 && temp_r31->unk30) { + temp_r27 = temp_r31->unk30; + temp_r27(temp_r31); + } + } + } } void fn_1_6184(Vec *arg0, Bss12CInner *arg1) { - s16 temp_r31; - s16 temp_r30; - float spC[3]; - float temp_f29; - float temp_f28; - float temp_f27; - float temp_f26; - float temp_f25; - float temp_f24; - float temp_f23; - temp_f28 = arg0[1].x - arg0[0].x; - temp_f27 = arg0[1].y - arg0[0].y; - temp_f26 = arg0[1].z - arg0[0].z; - temp_f25 = arg0[2].x - arg0[0].x; - temp_f24 = arg0[2].y - arg0[0].y; - temp_f23 = arg0[2].z - arg0[0].z; - spC[0] = (temp_f27 * temp_f23) - (temp_f26 * temp_f24); - spC[1] = (temp_f26 * temp_f25) - (temp_f28 * temp_f23); - spC[2] = (temp_f28 * temp_f24) - (temp_f27 * temp_f25); - temp_f29 = VECMagPoint(spC[0], spC[1], spC[2]); - if (0.0f != temp_f29) { - spC[0] /= temp_f29; - spC[1] /= temp_f29; - spC[2] /= temp_f29; - } - arg1->unkC = (spC[0] * arg0[0].x) + (spC[1] * arg0[0].y) + (spC[2] * arg0[0].z); - temp_r30 = 0; - for (temp_r31 = 1; temp_r31 < 3; temp_r31++) { - if (ABS(spC[temp_r30]) < ABS(spC[temp_r31])) { - temp_r30 = temp_r31; - } - } - arg1->unk0.x = spC[0]; - arg1->unk0.y = spC[1]; - arg1->unk0.z = spC[2]; - arg1->unk10 = temp_r30; + s16 temp_r31; + s16 temp_r30; + float spC[3]; + float temp_f29; + float temp_f28; + float temp_f27; + float temp_f26; + float temp_f25; + float temp_f24; + float temp_f23; + temp_f28 = arg0[1].x-arg0[0].x; + temp_f27 = arg0[1].y-arg0[0].y; + temp_f26 = arg0[1].z-arg0[0].z; + temp_f25 = arg0[2].x-arg0[0].x; + temp_f24 = arg0[2].y-arg0[0].y; + temp_f23 = arg0[2].z-arg0[0].z; + spC[0] = (temp_f27*temp_f23)-(temp_f26*temp_f24); + spC[1] = (temp_f26*temp_f25)-(temp_f28*temp_f23); + spC[2] = (temp_f28*temp_f24)-(temp_f27*temp_f25); + temp_f29 = VECMagPoint(spC[0], spC[1], spC[2]); + if(0.0f != temp_f29) { + spC[0] /= temp_f29; + spC[1] /= temp_f29; + spC[2] /= temp_f29; + } + arg1->unkC = (spC[0]*arg0[0].x)+(spC[1]*arg0[0].y)+(spC[2]*arg0[0].z); + temp_r30 = 0; + for(temp_r31=1; temp_r31<3; temp_r31++) { + if(ABS(spC[temp_r30]) < ABS(spC[temp_r31])) { + temp_r30 = temp_r31; + } + } + arg1->unk0.x = spC[0]; + arg1->unk0.y = spC[1]; + arg1->unk0.z = spC[2]; + arg1->unk10 = temp_r30; } float fn_1_6504(float arg0, float arg1, float arg2) { - float temp_f31 = arg1 - arg0; - if (temp_f31 > 180.0f) { - temp_f31 -= 360.0f; - } - else if (temp_f31 < -180.0f) { - temp_f31 += 360.0f; - } - temp_f31 = arg0 + (temp_f31 * arg2); - if (temp_f31 >= 360.0f) { - temp_f31 -= 360.0f; - } - else if (temp_f31 < 0.0f) { - temp_f31 += 360.0f; - } - return temp_f31; + float temp_f31 = arg1-arg0; + if(temp_f31 > 180.0f) { + temp_f31 -= 360.0f; + } else if(temp_f31 < -180.0f) { + temp_f31 += 360.0f; + } + temp_f31 = arg0+(temp_f31*arg2); + if(temp_f31 >= 360.0f) { + temp_f31 -= 360.0f; + } else if(temp_f31 < 0.0f) { + temp_f31 += 360.0f; + } + return temp_f31; } float fn_1_65CC(float arg0, float arg1, float arg2) { - return arg0 + (arg2 * (arg1 - arg0)); + return arg0+(arg2*(arg1-arg0)); } float fn_1_65DC(float arg0, float arg1, float arg2, float arg3) { - float temp_f31 = 1.0f - arg3; - return (arg0 * (temp_f31 * temp_f31)) + ((2.0f * temp_f31) * arg3 * arg1) + (arg2 * (arg3 * arg3)); + float temp_f31 = 1.0f-arg3; + return (arg0*(temp_f31*temp_f31))+((2.0f*temp_f31)*arg3*arg1)+(arg2*(arg3*arg3)); } void fn_1_6638(s16 *arg0, s16 arg1) { - s16 temp_r31; - s16 spCE[99]; - s16 sp8[99]; - memcpy(sp8, arg0, arg1 * sizeof(s16)); - fn_1_66DC(spCE, 0, arg1); - for (temp_r31 = 0; temp_r31 < arg1; temp_r31++) { - arg0[temp_r31] = sp8[spCE[temp_r31]]; - } + s16 temp_r31; + s16 spCE[99]; + s16 sp8[99]; + memcpy(sp8, arg0, arg1*sizeof(s16)); + fn_1_66DC(spCE, 0, arg1); + for(temp_r31=0; temp_r31= 0; temp_r31--) { - temp_r29 = rand16() % (s16)(temp_r31 + 1); - temp_r28 = arg0[temp_r31]; - arg0[temp_r31] = arg0[temp_r29]; - arg0[temp_r29] = temp_r28; - } + s16 temp_r31; + s16 temp_r29; + s16 temp_r28; + for(temp_r31=0; temp_r31=0; temp_r31--) { + temp_r29 = rand16()%(s16)(temp_r31+1); + temp_r28 = arg0[temp_r31]; + arg0[temp_r31] = arg0[temp_r29]; + arg0[temp_r29] = temp_r28; + } } void fn_1_67C0(void) { - if (HuPadBtnDown[0] & PAD_TRIGGER_L) { - lbl_1_bss_12 ^= 1; - } - if (lbl_1_bss_12 == 0) { - return; - } - if (HuPadBtn[0] & PAD_BUTTON_LEFT) { - CRot.y++; - } - if (HuPadBtn[0] & PAD_BUTTON_RIGHT) { - CRot.y--; - } - if (HuPadBtn[0] & PAD_BUTTON_UP) { - CRot.x--; - } - if (HuPadBtn[0] & PAD_BUTTON_DOWN) { - CRot.x++; - } - Center.x += HuPadSubStkX[0]; - if (HuPadBtn[0] & PAD_TRIGGER_R) { - Center.y += HuPadSubStkY[0]; - } - else { - Center.z += HuPadSubStkY[0]; - } - if (HuPadBtn[0] & PAD_BUTTON_X) { - CZoom += 10; - } - if (HuPadBtn[0] & PAD_BUTTON_Y) { - CZoom -= 10; - } - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - OSReport("\nCZoom = %.2f \n", CZoom); - OSReport("Center x = %.2f: y = %.2f: z = %.2f \n", Center.x, Center.y, Center.z); - OSReport("CRot x = %.2f: y = %.2f: z = %.2f \n", CRot.x, CRot.y, CRot.z); - } + if(HuPadBtnDown[0] & PAD_TRIGGER_L) { + lbl_1_bss_12 ^= 1; + } + if(lbl_1_bss_12 == 0) { + return; + } + if(HuPadBtn[0] & PAD_BUTTON_LEFT) { + CRot.y++; + } + if(HuPadBtn[0] & PAD_BUTTON_RIGHT) { + CRot.y--; + } + if(HuPadBtn[0] & PAD_BUTTON_UP) { + CRot.x--; + } + if(HuPadBtn[0] & PAD_BUTTON_DOWN) { + CRot.x++; + } + Center.x += HuPadSubStkX[0]; + if(HuPadBtn[0] & PAD_TRIGGER_R) { + Center.y += HuPadSubStkY[0]; + } else { + Center.z += HuPadSubStkY[0]; + } + if(HuPadBtn[0] & PAD_BUTTON_X) { + CZoom += 10; + } + if(HuPadBtn[0] & PAD_BUTTON_Y) { + CZoom -= 10; + } + if(HuPadBtnDown[0] & PAD_BUTTON_A) { + OSReport("\nCZoom = %.2f \n", CZoom); + OSReport("Center x = %.2f: y = %.2f: z = %.2f \n", Center.x, Center.y, Center.z); + OSReport("CRot x = %.2f: y = %.2f: z = %.2f \n", CRot.x, CRot.y, CRot.z); + } + } Unk72B4Data18 *fn_1_6B34(s16 arg0, Vec *arg1, Vec *arg2, float arg3, GXColor *arg4) { - Unk72B4Data18 *temp_r31; - Work72B4 *temp_r30; - s16 temp_r29; - ModelData *temp_r28; - temp_r28 = &Hu3DData[arg0]; - temp_r30 = temp_r28->unk_120; - for (temp_r29 = 0, temp_r31 = temp_r30->unk18; temp_r29 < temp_r30->unk0; temp_r29++, temp_r31++) { - if (!temp_r31->unk56) { - break; - } - } - if (temp_r29 == temp_r30->unk0) { - return NULL; - } - temp_r30->unk24[temp_r29].r = arg4->r; - temp_r30->unk24[temp_r29].g = arg4->g; - temp_r30->unk24[temp_r29].b = arg4->b; - temp_r30->unk24[temp_r29].a = arg4->a; - temp_r31->unk34 = temp_r29; - temp_r31->unk38 = arg3; - temp_r31->unk3C = *arg2; - temp_r31->unk48 = *arg1; - temp_r31->unk54 = 0; - temp_r31->unk30 = NULL; - temp_r31->unk56 = 1; - return temp_r31; + Unk72B4Data18 *temp_r31; + Work72B4 *temp_r30; + s16 temp_r29; + ModelData *temp_r28; + temp_r28 = &Hu3DData[arg0]; + temp_r30 = temp_r28->unk_120; + for(temp_r29 = 0, temp_r31 = temp_r30->unk18; temp_r29unk0; temp_r29++, temp_r31++) { + if(!temp_r31->unk56) { + break; + } + } + if(temp_r29 == temp_r30->unk0) { + return NULL; + } + temp_r30->unk24[temp_r29].r = arg4->r; + temp_r30->unk24[temp_r29].g = arg4->g; + temp_r30->unk24[temp_r29].b = arg4->b; + temp_r30->unk24[temp_r29].a = arg4->a; + temp_r31->unk34 = temp_r29; + temp_r31->unk38 = arg3; + temp_r31->unk3C = *arg2; + temp_r31->unk48 = *arg1; + temp_r31->unk54 = 0; + temp_r31->unk30 = NULL; + temp_r31->unk56 = 1; + return temp_r31; } void fn_1_72B4(ModelData *model, Mtx mtx); @@ -1890,137 +1904,136 @@ void fn_1_7824(HsfVector2f *arg0, s16 arg1, s16 arg2, float arg3, float arg4); s16 fn_1_6C74(AnimData *arg0, s16 arg1, float arg2, s16 arg3, s16 arg4) { - Work72B4 *temp_r31; - s16 temp_r30; - HsfVector2f *temp_r29; - ModelData *temp_r28; - GXColor *temp_r27; - Vec *temp_r25; - Unk72B4Data18 *temp_r24; - s16 temp_r22; - void *temp_r21; - s16 temp_r20; - s16 temp_r19; - void *temp_r18; - temp_r20 = Hu3DHookFuncCreate(fn_1_72B4); - temp_r28 = &Hu3DData[temp_r20]; - temp_r31 = HuMemDirectMallocNum(HEAP_DATA, sizeof(Work72B4), temp_r28->unk_48); - temp_r28->unk_120 = temp_r31; - arg0->useNum++; - temp_r31->unk10 = arg0; - temp_r31->unk0 = arg1; - temp_r31->unk8 = 0; - temp_r31->unkC = 0; - temp_r24 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(Unk72B4Data18), temp_r28->unk_48); - temp_r31->unk18 = temp_r24; - for (temp_r30 = 0; temp_r30 < arg1; temp_r30++, temp_r24++) { - temp_r24->unk54 = -1; - temp_r24->unk56 = 0; - } - temp_r25 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(Vec) * 4, temp_r28->unk_48); - temp_r31->unk1C = temp_r25; - for (temp_r30 = 0; temp_r30 < arg1 * 4; temp_r30++, temp_r25++) { - temp_r25->x = temp_r25->y = temp_r25->z = 0; - } - temp_r27 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(GXColor), temp_r28->unk_48); - temp_r31->unk24 = temp_r27; - for (temp_r30 = 0; temp_r30 < arg1; temp_r30++, temp_r27++) { - temp_r27->r = temp_r27->g = temp_r27->b = temp_r27->a = 255; - } - temp_r29 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(HsfVector2f) * 4, temp_r28->unk_48); - temp_r31->unk20 = temp_r29; - for (temp_r30 = 0; temp_r30 < arg1; temp_r30++) { - temp_r29->x = 0; - temp_r29->y = 0; - temp_r29++; - temp_r29->x = 1; - temp_r29->y = 0; - temp_r29++; - temp_r29->x = 1; - temp_r29->y = 1; - temp_r29++; - temp_r29->x = 0; - temp_r29->y = 1; - temp_r29++; - } - if (arg3 != 0 || arg4 != 0) { - temp_r22 = arg0->bmp->sizeX / arg3; - temp_r19 = arg0->bmp->sizeY / arg4; - temp_r31->unk14 = temp_r22 * temp_r19; - temp_r31->unk60 = 1.0f / temp_r22; - temp_r31->unk64 = 1.0f / temp_r19; - } - else { - temp_r22 = 1; - temp_r31->unk14 = 1; - temp_r31->unk60 = 1; - temp_r31->unk64 = 1; - } - temp_r31->unk5C = HuMemDirectMallocNum(HEAP_DATA, temp_r31->unk14 * sizeof(HsfVector2f), temp_r28->unk_48); - fn_1_7824(temp_r31->unk5C, temp_r31->unk14, temp_r22, temp_r31->unk60, temp_r31->unk64); - temp_r31->unk2C[0].x = temp_r31->unk2C[3].x = temp_r31->unk2C[2].y = temp_r31->unk2C[3].y = -arg2; - temp_r31->unk2C[1].x = temp_r31->unk2C[2].x = temp_r31->unk2C[0].y = temp_r31->unk2C[1].y = arg2; - temp_r31->unk2C[0].z = temp_r31->unk2C[1].z = temp_r31->unk2C[2].z = temp_r31->unk2C[3].z = 0; - temp_r21 = HuMemDirectMallocNum(HEAP_DATA, 0x20000, temp_r28->unk_48); - temp_r18 = temp_r21; - DCFlushRange(temp_r21, 0x20000); - GXBeginDisplayList(temp_r18, 0x20000); - GXBegin(GX_QUADS, GX_VTXFMT0, 4 * arg1); - for (temp_r30 = 0; temp_r30 < arg1; temp_r30++) { - GXPosition1x16(temp_r30 * 4); - GXColor1x16(temp_r30); - GXTexCoord1x16(temp_r30 * 4); - GXPosition1x16((temp_r30 * 4) + 1); - GXColor1x16(temp_r30); - GXTexCoord1x16((temp_r30 * 4) + 1); - GXPosition1x16((temp_r30 * 4) + 2); - GXColor1x16(temp_r30); - GXTexCoord1x16((temp_r30 * 4) + 2); - GXPosition1x16((temp_r30 * 4) + 3); - GXColor1x16(temp_r30); - GXTexCoord1x16((temp_r30 * 4) + 3); - } - temp_r31->unk4 = GXEndDisplayList(); - temp_r31->unk28 = HuMemDirectMallocNum(HEAP_DATA, temp_r31->unk4, temp_r28->unk_48); - memcpy(temp_r31->unk28, temp_r21, temp_r31->unk4); - DCFlushRange(temp_r31->unk28, temp_r31->unk4); - HuMemDirectFree(temp_r21); - return temp_r20; + Work72B4 *temp_r31; + s16 temp_r30; + HsfVector2f *temp_r29; + ModelData *temp_r28; + GXColor *temp_r27; + Vec *temp_r25; + Unk72B4Data18 *temp_r24; + s16 temp_r22; + void *temp_r21; + s16 temp_r20; + s16 temp_r19; + void *temp_r18; + temp_r20 = Hu3DHookFuncCreate(fn_1_72B4); + temp_r28 = &Hu3DData[temp_r20]; + temp_r31 = HuMemDirectMallocNum(HEAP_DATA, sizeof(Work72B4), temp_r28->unk_48); + temp_r28->unk_120 = temp_r31; + arg0->useNum++; + temp_r31->unk10 = arg0; + temp_r31->unk0 = arg1; + temp_r31->unk8 = 0; + temp_r31->unkC = 0; + temp_r24 = HuMemDirectMallocNum(HEAP_DATA, arg1*sizeof(Unk72B4Data18), temp_r28->unk_48); + temp_r31->unk18 = temp_r24; + for(temp_r30=0; temp_r30unk54 = -1; + temp_r24->unk56 = 0; + } + temp_r25 = HuMemDirectMallocNum(HEAP_DATA, arg1*sizeof(Vec)*4, temp_r28->unk_48); + temp_r31->unk1C = temp_r25; + for(temp_r30=0; temp_r30x = temp_r25->y = temp_r25->z = 0; + } + temp_r27 = HuMemDirectMallocNum(HEAP_DATA, arg1*sizeof(GXColor), temp_r28->unk_48); + temp_r31->unk24 = temp_r27; + for(temp_r30=0; temp_r30r = temp_r27->g = temp_r27->b = temp_r27->a = 255; + } + temp_r29 = HuMemDirectMallocNum(HEAP_DATA, arg1*sizeof(HsfVector2f)*4, temp_r28->unk_48); + temp_r31->unk20 = temp_r29; + for(temp_r30=0; temp_r30x = 0; + temp_r29->y = 0; + temp_r29++; + temp_r29->x = 1; + temp_r29->y = 0; + temp_r29++; + temp_r29->x = 1; + temp_r29->y = 1; + temp_r29++; + temp_r29->x = 0; + temp_r29->y = 1; + temp_r29++; + } + if(arg3 != 0 || arg4 != 0) { + temp_r22 = arg0->bmp->sizeX/arg3; + temp_r19 = arg0->bmp->sizeY/arg4; + temp_r31->unk14 = temp_r22*temp_r19; + temp_r31->unk60 = 1.0f/temp_r22; + temp_r31->unk64 = 1.0f/temp_r19; + } else { + temp_r22 = 1; + temp_r31->unk14 = 1; + temp_r31->unk60 = 1; + temp_r31->unk64 = 1; + } + temp_r31->unk5C = HuMemDirectMallocNum(HEAP_DATA, temp_r31->unk14*sizeof(HsfVector2f), temp_r28->unk_48); + fn_1_7824(temp_r31->unk5C, temp_r31->unk14, temp_r22, temp_r31->unk60, temp_r31->unk64); + temp_r31->unk2C[0].x = temp_r31->unk2C[3].x = temp_r31->unk2C[2].y = temp_r31->unk2C[3].y = -arg2; + temp_r31->unk2C[1].x = temp_r31->unk2C[2].x = temp_r31->unk2C[0].y = temp_r31->unk2C[1].y = arg2; + temp_r31->unk2C[0].z = temp_r31->unk2C[1].z = temp_r31->unk2C[2].z = temp_r31->unk2C[3].z = 0; + temp_r21 = HuMemDirectMallocNum(HEAP_DATA, 0x20000, temp_r28->unk_48); + temp_r18 = temp_r21; + DCFlushRange(temp_r21, 0x20000); + GXBeginDisplayList(temp_r18, 0x20000); + GXBegin(GX_QUADS, GX_VTXFMT0, 4*arg1); + for(temp_r30=0; temp_r30unk4 = GXEndDisplayList(); + temp_r31->unk28 = HuMemDirectMallocNum(HEAP_DATA, temp_r31->unk4, temp_r28->unk_48); + memcpy(temp_r31->unk28, temp_r21, temp_r31->unk4); + DCFlushRange(temp_r31->unk28, temp_r31->unk4); + HuMemDirectFree(temp_r21); + return temp_r20; } void fn_1_71B8(s16 arg0) { - ModelData *temp_r31; - Work72B4 *temp_r30; - temp_r31 = &Hu3DData[arg0]; - temp_r30 = temp_r31->unk_120; - HuSprAnimKill(temp_r30->unk10); - Hu3DModelKill(arg0); + ModelData *temp_r31; + Work72B4 *temp_r30; + temp_r31 = &Hu3DData[arg0]; + temp_r30 = temp_r31->unk_120; + HuSprAnimKill(temp_r30->unk10); + Hu3DModelKill(arg0); } Work72B4 *fn_1_7218(s16 arg0) { - ModelData *temp_r31; - temp_r31 = &Hu3DData[arg0]; - return temp_r31->unk_120; + ModelData *temp_r31; + temp_r31 = &Hu3DData[arg0]; + return temp_r31->unk_120; } void fn_1_7244(s16 arg0, unkHook72B4 arg1) { - ModelData *temp_r31; - Work72B4 *temp_r30; - temp_r31 = &Hu3DData[arg0]; - temp_r30 = temp_r31->unk_120; - temp_r30->unkC = arg1; + ModelData *temp_r31; + Work72B4 *temp_r30; + temp_r31 = &Hu3DData[arg0]; + temp_r30 = temp_r31->unk_120; + temp_r30->unkC = arg1; } void fn_1_727C(s16 arg0, u8 arg1) { - ModelData *temp_r31; - Work72B4 *temp_r30; - temp_r31 = &Hu3DData[arg0]; - temp_r30 = temp_r31->unk_120; - temp_r30->unk8 = arg1; + ModelData *temp_r31; + Work72B4 *temp_r30; + temp_r31 = &Hu3DData[arg0]; + temp_r30 = temp_r31->unk_120; + temp_r30->unk8 = arg1; } void fn_1_78F0(HsfVector2f *arg0, HsfVector2f *arg1, s16 arg2, float arg3, float arg4); @@ -2030,175 +2043,171 @@ void fn_1_79FC(Mtx arg0, Mtx arg1); void fn_1_72B4(ModelData *model, Mtx mtx) { - Mtx sp128; - ROMtx spF8; - Mtx spC8; - Mtx sp98; - Vec sp68[4]; - Vec sp38[4]; - Vec sp8[4]; - Vec *temp_r31; - Work72B4 *temp_r30; - Unk72B4Data18 *temp_r29; - HsfVector2f *temp_r27; - s16 temp_r26; - s16 temp_r25; - unkHook72B4 temp_r23; - temp_r30 = model->unk_120; - GXLoadPosMtxImm(mtx, GX_PNMTX0); - GXSetNumTevStages(1); - GXSetNumTexGens(1); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - temp_r25 = temp_r30->unk10->bmp->dataFmt & ANIM_BMP_FMTMASK; - if (temp_r25 == ANIM_BMP_I8 || temp_r25 == ANIM_BMP_I4) { - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ONE, GX_CC_RASC, GX_CC_ZERO); - } - else { - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); - } - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - if (model->attr & 0x2) { - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - } - else { - GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - } - HuSprTexLoad(temp_r30->unk10, 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZCompLoc(GX_FALSE); - switch (temp_r30->unk8) { - case 0: - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - break; - - case 1: - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); - break; - - case 2: - GXSetBlendMode(GX_BM_BLEND, GX_BL_ZERO, GX_BL_INVSRCCLR, GX_LO_NOOP); - break; - } - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, temp_r30->unk1C, sizeof(Vec)); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, temp_r30->unk24, sizeof(GXColor)); - GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetArray(GX_VA_TEX0, temp_r30->unk20, sizeof(HsfVector2f)); - fn_1_79FC(mtx, sp128); - PSMTXReorder(sp128, spF8); - if (!omPauseChk() && temp_r30->unkC) { - temp_r23 = temp_r30->unkC; - temp_r23(model, temp_r30, mtx); - } - temp_r29 = temp_r30->unk18; - temp_r31 = temp_r30->unk1C; - temp_r27 = temp_r30->unk20; - PSMTXROMultVecArray(spF8, temp_r30->unk2C, sp68, 4); - for (temp_r26 = 0; temp_r26 < temp_r30->unk0; temp_r26++, temp_r29++, temp_r27 += 4) { - if (temp_r29->unk56 == 0) { - temp_r31->x = temp_r31->y = temp_r31->z = 0; - temp_r31++; - temp_r31->x = temp_r31->y = temp_r31->z = 0; - temp_r31++; - temp_r31->x = temp_r31->y = temp_r31->z = 0; - temp_r31++; - temp_r31->x = temp_r31->y = temp_r31->z = 0; - temp_r31++; - } - else { - if (0.0f == temp_r29->unk38) { - fn_1_7994(sp68, sp38, &temp_r29->unk3C, 4); - VECAdd(&sp38[0], &temp_r29->unk48, temp_r31++); - VECAdd(&sp38[1], &temp_r29->unk48, temp_r31++); - VECAdd(&sp38[2], &temp_r29->unk48, temp_r31++); - VECAdd(&sp38[3], &temp_r29->unk48, temp_r31++); - } - else { - fn_1_7994(temp_r30->unk2C, sp38, &temp_r29->unk3C, 4); - MTXRotDeg(spC8, 'Z', temp_r29->unk38); - MTXConcat(sp128, spC8, sp98); - MTXMultVecArray(sp98, sp38, sp8, 4); - VECAdd(&sp8[0], &temp_r29->unk48, temp_r31++); - VECAdd(&sp8[1], &temp_r29->unk48, temp_r31++); - VECAdd(&sp8[2], &temp_r29->unk48, temp_r31++); - VECAdd(&sp8[3], &temp_r29->unk48, temp_r31++); - } - if (temp_r29->unk54 != -1) { - fn_1_78F0(temp_r27, temp_r30->unk5C, temp_r29->unk54, temp_r30->unk60, temp_r30->unk64); - } - } - } - DCFlushRangeNoSync(temp_r30->unk1C, (temp_r30->unk0 * sizeof(Vec)) * 4); - DCFlushRangeNoSync(temp_r30->unk20, (temp_r30->unk0 * sizeof(HsfVector2f)) * 4); - PPCSync(); - GXCallDisplayList(temp_r30->unk28, temp_r30->unk4); + Mtx sp128; + ROMtx spF8; + Mtx spC8; + Mtx sp98; + Vec sp68[4]; + Vec sp38[4]; + Vec sp8[4]; + Vec *temp_r31; + Work72B4 *temp_r30; + Unk72B4Data18 *temp_r29; + HsfVector2f *temp_r27; + s16 temp_r26; + s16 temp_r25; + unkHook72B4 temp_r23; + temp_r30 = model->unk_120; + GXLoadPosMtxImm(mtx, GX_PNMTX0); + GXSetNumTevStages(1); + GXSetNumTexGens(1); + GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); + temp_r25 = temp_r30->unk10->bmp->dataFmt & ANIM_BMP_FMTMASK; + if(temp_r25 == ANIM_BMP_I8 || temp_r25 == ANIM_BMP_I4) { + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ONE, GX_CC_RASC, GX_CC_ZERO); + } else { + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); + } + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetNumChans(1); + GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); + if(model->attr & 0x2) { + GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); + } else { + GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); + } + HuSprTexLoad(temp_r30->unk10, 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); + GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); + GXSetZCompLoc(GX_FALSE); + switch(temp_r30->unk8) { + case 0: + GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); + break; + + case 1: + GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); + break; + + case 2: + GXSetBlendMode(GX_BM_BLEND, GX_BL_ZERO, GX_BL_INVSRCCLR, GX_LO_NOOP); + break; + } + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX16); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + GXSetArray(GX_VA_POS, temp_r30->unk1C, sizeof(Vec)); + GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); + GXSetArray(GX_VA_CLR0, temp_r30->unk24, sizeof(GXColor)); + GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); + GXSetArray(GX_VA_TEX0, temp_r30->unk20, sizeof(HsfVector2f)); + fn_1_79FC(mtx, sp128); + PSMTXReorder(sp128, spF8); + if(!omPauseChk() && temp_r30->unkC) { + temp_r23 = temp_r30->unkC; + temp_r23(model, temp_r30, mtx); + } + temp_r29 = temp_r30->unk18; + temp_r31 = temp_r30->unk1C; + temp_r27 = temp_r30->unk20; + PSMTXROMultVecArray(spF8, temp_r30->unk2C, sp68, 4); + for(temp_r26=0; temp_r26unk0; temp_r26++, temp_r29++, temp_r27 += 4) { + if(temp_r29->unk56 == 0) { + temp_r31->x = temp_r31->y = temp_r31->z = 0; + temp_r31++; + temp_r31->x = temp_r31->y = temp_r31->z = 0; + temp_r31++; + temp_r31->x = temp_r31->y = temp_r31->z = 0; + temp_r31++; + temp_r31->x = temp_r31->y = temp_r31->z = 0; + temp_r31++; + } else { + if(0.0f == temp_r29->unk38) { + fn_1_7994(sp68, sp38, &temp_r29->unk3C, 4); + VECAdd(&sp38[0], &temp_r29->unk48, temp_r31++); + VECAdd(&sp38[1], &temp_r29->unk48, temp_r31++); + VECAdd(&sp38[2], &temp_r29->unk48, temp_r31++); + VECAdd(&sp38[3], &temp_r29->unk48, temp_r31++); + } else { + fn_1_7994(temp_r30->unk2C, sp38, &temp_r29->unk3C, 4); + MTXRotDeg(spC8, 'Z', temp_r29->unk38); + MTXConcat(sp128, spC8, sp98); + MTXMultVecArray(sp98, sp38, sp8, 4); + VECAdd(&sp8[0], &temp_r29->unk48, temp_r31++); + VECAdd(&sp8[1], &temp_r29->unk48, temp_r31++); + VECAdd(&sp8[2], &temp_r29->unk48, temp_r31++); + VECAdd(&sp8[3], &temp_r29->unk48, temp_r31++); + } + if(temp_r29->unk54 != -1) { + fn_1_78F0(temp_r27, temp_r30->unk5C, temp_r29->unk54, temp_r30->unk60, temp_r30->unk64); + } + } + } + DCFlushRangeNoSync(temp_r30->unk1C, (temp_r30->unk0*sizeof(Vec))*4); + DCFlushRangeNoSync(temp_r30->unk20, (temp_r30->unk0*sizeof(HsfVector2f))*4); + PPCSync(); + GXCallDisplayList(temp_r30->unk28, temp_r30->unk4); } void fn_1_7824(HsfVector2f *arg0, s16 arg1, s16 arg2, float arg3, float arg4) { - s16 temp_r30; - s16 temp_r29; - s16 temp_r31; - for (temp_r31 = 0; temp_r31 < arg1; temp_r31++, arg0++) { - temp_r30 = temp_r31 % arg2; - temp_r29 = temp_r31 / arg2; - arg0->x = temp_r30 * arg3; - arg0->y = temp_r29 * arg4; - } + s16 temp_r30; + s16 temp_r29; + s16 temp_r31; + for(temp_r31=0; temp_r31x = temp_r30*arg3; + arg0->y = temp_r29*arg4; + } } void fn_1_78F0(HsfVector2f *arg0, HsfVector2f *arg1, s16 arg2, float arg3, float arg4) { - arg0[0].x = arg1[arg2].x; - arg0[0].y = arg1[arg2].y; - arg0[1].x = arg3 + arg1[arg2].x; - arg0[1].y = arg1[arg2].y; - arg0[2].x = arg3 + arg1[arg2].x; - arg0[2].y = arg4 + arg1[arg2].y; - arg0[3].x = arg1[arg2].x; - arg0[3].y = arg4 + arg1[arg2].y; + arg0[0].x = arg1[arg2].x; + arg0[0].y = arg1[arg2].y; + arg0[1].x = arg3+arg1[arg2].x; + arg0[1].y = arg1[arg2].y; + arg0[2].x = arg3+arg1[arg2].x; + arg0[2].y = arg4+arg1[arg2].y; + arg0[3].x = arg1[arg2].x; + arg0[3].y = arg4+arg1[arg2].y; } void fn_1_7994(Vec *arg0, Vec *arg1, Vec *arg2, s16 arg3) { - s16 temp_r31; - for (temp_r31 = 0; temp_r31 < arg3; temp_r31++, arg0++, arg1++) { - arg1->x = arg0->x * arg2->x; - arg1->y = arg0->y * arg2->y; - arg1->z = arg0->z * arg2->z; - } + s16 temp_r31; + for(temp_r31=0; temp_r31x = arg0->x*arg2->x; + arg1->y = arg0->y*arg2->y; + arg1->z = arg0->z*arg2->z; + } } void fn_1_79FC(Mtx arg0, Mtx arg1) { - arg1[0][0] = arg0[0][0]; - arg1[1][0] = arg0[0][1]; - arg1[2][0] = arg0[0][2]; - arg1[0][1] = arg0[1][0]; - arg1[1][1] = arg0[1][1]; - arg1[2][1] = arg0[1][2]; - arg1[0][2] = arg0[2][0]; - arg1[1][2] = arg0[2][1]; - arg1[2][2] = arg0[2][2]; - arg1[0][3] = 0; - arg1[1][3] = 0; - arg1[2][3] = 0; + arg1[0][0] = arg0[0][0]; + arg1[1][0] = arg0[0][1]; + arg1[2][0] = arg0[0][2]; + arg1[0][1] = arg0[1][0]; + arg1[1][1] = arg0[1][1]; + arg1[2][1] = arg0[1][2]; + arg1[0][2] = arg0[2][0]; + arg1[1][2] = arg0[2][1]; + arg1[2][2] = arg0[2][2]; + arg1[0][3] = 0; + arg1[1][3] = 0; + arg1[2][3] = 0; } -s32 fn_1_7A78(s32 arg0, s16 vol) +s32 fn_1_7A78(s32 arg0, s16 arg1) { - MSM_SEPARAM seParam; - seParam.flag = MSM_SEPARAM_VOL; - seParam.vol = vol; - return msmSeSetParam(arg0, &seParam); + UnkMsmStruct_01 sp10; + sp10.unk00 = 1; + sp10.unk04 = arg1; + return msmSeSetParam(arg0, &sp10); } diff --git a/src/REL/m431Dll/object.c b/src/REL/m431Dll/object.c index aaa65ed0..78687d3a 100644 --- a/src/REL/m431Dll/object.c +++ b/src/REL/m431Dll/object.c @@ -1,23 +1,22 @@ -#include "game/chrman.h" #include "game/hsfman.h" #include "game/hsfmotion.h" +#include "game/chrman.h" -#include "game/audio.h" -#include "game/gamework_data.h" -#include "game/minigame_seq.h" #include "game/object.h" #include "game/objsub.h" +#include "game/audio.h" +#include "game/wipe.h" #include "game/pad.h" #include "game/sprite.h" -#include "game/wipe.h" +#include "game/minigame_seq.h" +#include "game/gamework_data.h" -#include "REL/m431Dll.h" #include "ext_math.h" -#include "version.h" +#include "REL/m431Dll.h" typedef struct bss_struct_62C { - u8 unk0; - float unk4; + u8 unk0; + float unk4; } BssStruct62C; BssStruct62C lbl_1_bss_62C[10]; @@ -28,14 +27,38 @@ u32 lbl_1_bss_9C[4]; s8 lbl_1_bss_98; float lbl_1_data_1D0 = 18; -float lbl_1_data_1D4[8] = { 30.000002f, 0, 20.0f, 0, 20.0f, 50.0f, 20.0f, 30.000002f }; +float lbl_1_data_1D4[8] = { + 30.000002f, + 0, + 20.0f, + 0, + 20.0f, + 50.0f, + 20.0f, + 30.000002f +}; -u32 lbl_1_data_1F4[8] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03), -1, - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x48), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x49), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x72) }; +u32 lbl_1_data_1F4[8] = { + 0x5F0000, + 0x5F0002, + 0x5F0003, + -1, + 0x5F0048, + 0x5F0049, + 0x5F0017, + 0x5F0072 +}; -char *lbl_1_data_230[8] = { "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r", - "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r", "test11_tex_we-itemhook-r" }; +char *lbl_1_data_230[8] = { + "test11_tex_we-itemhook-r", + "test11_tex_we-itemhook-r", + "test11_tex_we-itemhook-r", + "test11_tex_we-itemhook-r", + "test11_tex_we-itemhook-r", + "test11_tex_we-itemhook-r", + "test11_tex_we-itemhook-r", + "test11_tex_we-itemhook-r" +}; void fn_1_858C(omObjData *object); void fn_1_9440(omObjData *object); @@ -44,68 +67,69 @@ void fn_1_B384(Process *objman); void fn_1_7ABC(Process *objman) { - Vec sp20; - Vec sp14; - Vec sp8; - Bss12CStruct *temp_r31; - s16 temp_r30; - s16 temp_r29; - BssStruct62C *temp_r28; - omObjData *temp_r26; - omMakeGroupEx(objman, 0, 4); - omGetGroupMemberListEx(objman, 0); - memset(lbl_1_bss_12C, 0, sizeof(lbl_1_bss_12C)); - for (temp_r30 = 0, temp_r29 = 0; temp_r30 < 4; temp_r30++) { - temp_r31 = &lbl_1_bss_12C[GWPlayerCfg[temp_r30].group]; - if (GWPlayerCfg[temp_r30].group != 0 && GWPlayerCfg[temp_r30].group != 1) { - break; - } - temp_r31->unk0[temp_r31->unk8++] = temp_r30; - if (temp_r31->unk8 == 2) { - temp_r29++; - } - } - if (temp_r29 != 2) { - GWPlayerCfg[0].group = GWPlayerCfg[1].group = 0; - GWPlayerCfg[2].group = GWPlayerCfg[3].group = 1; - lbl_1_bss_12C[0].unk0[0] = 0; - lbl_1_bss_12C[0].unk0[1] = 1; - lbl_1_bss_12C[0].unk8 = 2; - lbl_1_bss_12C[1].unk0[0] = 2; - lbl_1_bss_12C[1].unk0[1] = 3; - lbl_1_bss_12C[1].unk8 = 2; - } - for (temp_r30 = 0, temp_r28 = &lbl_1_bss_62C[0]; temp_r30 < 10; temp_r30++, temp_r28++) { - temp_r28->unk0 = 1; - temp_r28->unk4 = lbl_1_data_1D0 + (temp_r30 * 36.0f); - } - lbl_1_bss_12C[0].unkC.x = -317; - lbl_1_bss_12C[1].unkC.x = 317; - lbl_1_bss_12C[0].unkC.y = lbl_1_bss_12C[1].unkC.y = 0; - lbl_1_bss_12C[0].unkC.z = lbl_1_bss_12C[1].unkC.z = 100; - lbl_1_bss_12C[0].unk18 = lbl_1_bss_12C[1].unk18 = 230; - for (temp_r30 = 0, temp_r31 = &lbl_1_bss_12C[0]; temp_r30 < 2; temp_r30++, temp_r31++) { - sp8.x = temp_r31->unkC.x; - sp8.y = temp_r31->unkC.y; - sp8.z = temp_r31->unkC.z; - for (temp_r29 = 0; temp_r29 < 10; temp_r29++) { - sp14.x = sp20.x = (temp_r31->unk18 * sind(lbl_1_bss_62C[temp_r29].unk4)) + sp8.x; - sp14.z = sp20.z = (temp_r31->unk18 * cosd(lbl_1_bss_62C[temp_r29].unk4)) + sp8.z; - sp14.y = sp8.y; - sp20.y = sp8.y - 50; - fn_1_6184(&sp8, &temp_r31->unk1C[temp_r29]); - temp_r31->unkE4[temp_r29][0] = sp14.x; - temp_r31->unkE4[temp_r29][1] = sp14.z; - } - temp_r31->unk138[0] = 0; - } - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - OSReport("PNo:%d Grp:%d\n", temp_r30, GWPlayerCfg[temp_r30].group); - temp_r26 = omAddObjEx(objman, 99, 0, 0, -1, fn_1_858C); - lbl_1_bss_61C[temp_r30] = omAddObjEx(objman, 100, 9, 8, 0, fn_1_9440); - lbl_1_bss_61C[temp_r30]->work[0] = temp_r26->work[0] = temp_r30; - } - fn_1_B384(objman); + Vec sp20; + Vec sp14; + Vec sp8; + Bss12CStruct *temp_r31; + s16 temp_r30; + s16 temp_r29; + BssStruct62C *temp_r28; + omObjData *temp_r26; + omMakeGroupEx(objman, 0, 4); + omGetGroupMemberListEx(objman, 0); + memset(lbl_1_bss_12C, 0, sizeof(lbl_1_bss_12C)); + for(temp_r30=0, temp_r29=0; temp_r30<4; temp_r30++) { + temp_r31 = &lbl_1_bss_12C[GWPlayerCfg[temp_r30].group]; + if(GWPlayerCfg[temp_r30].group != 0 && GWPlayerCfg[temp_r30].group != 1) { + break; + } + temp_r31->unk0[temp_r31->unk8++] = temp_r30; + if(temp_r31->unk8 == 2) { + temp_r29++; + } + } + if(temp_r29 != 2) { + GWPlayerCfg[0].group = GWPlayerCfg[1].group = 0; + GWPlayerCfg[2].group = GWPlayerCfg[3].group = 1; + lbl_1_bss_12C[0].unk0[0] = 0; + lbl_1_bss_12C[0].unk0[1] = 1; + lbl_1_bss_12C[0].unk8 = 2; + lbl_1_bss_12C[1].unk0[0] = 2; + lbl_1_bss_12C[1].unk0[1] = 3; + lbl_1_bss_12C[1].unk8 = 2; + } + for(temp_r30=0, temp_r28 = &lbl_1_bss_62C[0]; temp_r30<10; temp_r30++, temp_r28++) { + temp_r28->unk0 = 1; + temp_r28->unk4 = lbl_1_data_1D0+(temp_r30*36.0f); + } + lbl_1_bss_12C[0].unkC.x = -317; + lbl_1_bss_12C[1].unkC.x = 317; + lbl_1_bss_12C[0].unkC.y = lbl_1_bss_12C[1].unkC.y = 0; + lbl_1_bss_12C[0].unkC.z = lbl_1_bss_12C[1].unkC.z = 100; + lbl_1_bss_12C[0].unk18 = lbl_1_bss_12C[1].unk18 = 230; + for(temp_r30=0, temp_r31 = &lbl_1_bss_12C[0]; temp_r30<2; temp_r30++, temp_r31++) { + sp8.x = temp_r31->unkC.x; + sp8.y = temp_r31->unkC.y; + sp8.z = temp_r31->unkC.z; + for(temp_r29=0; temp_r29<10; temp_r29++) { + sp14.x = sp20.x = (temp_r31->unk18*sind(lbl_1_bss_62C[temp_r29].unk4))+sp8.x; + sp14.z = sp20.z = (temp_r31->unk18*cosd(lbl_1_bss_62C[temp_r29].unk4))+sp8.z; + sp14.y = sp8.y; + sp20.y = sp8.y-50; + fn_1_6184(&sp8, &temp_r31->unk1C[temp_r29]); + temp_r31->unkE4[temp_r29][0] = sp14.x; + temp_r31->unkE4[temp_r29][1] = sp14.z; + } + temp_r31->unk138[0] = 0; + } + for(temp_r30=0; temp_r30<4; temp_r30++) { + OSReport("PNo:%d Grp:%d\n", temp_r30, GWPlayerCfg[temp_r30].group); + temp_r26 = omAddObjEx(objman, 99, 0, 0, -1, fn_1_858C); + lbl_1_bss_61C[temp_r30] = omAddObjEx(objman, 100, 9, 8, 0, fn_1_9440); + lbl_1_bss_61C[temp_r30]->work[0] = temp_r26->work[0] = temp_r30; + + } + fn_1_B384(objman); } s16 lbl_1_data_260[4] = { 0, 0, 0, 0 }; @@ -119,118 +143,111 @@ s16 fn_1_B530(s16 arg0); s32 fn_1_7FB8(s16 arg0) { - Bss61CWork *temp_r31; - Bss12CStruct *temp_r30 = &lbl_1_bss_12C[arg0]; - s16 sp18[4] = { 0, 9, 9, 0 }; - - s16 sp14[2]; - s16 sp10[2]; - s16 spC[2]; - s16 spA; - s16 temp_r29; - s32 temp_r28; - if (lbl_1_bss_98 != 0) { - (void)lbl_1_bss_98; - } - else { - for (temp_r29 = 0, temp_r28 = 0; temp_r29 < 2; temp_r29++) { - temp_r31 = lbl_1_bss_61C[temp_r30->unk0[temp_r29]]->data; - if ((temp_r31->unk0 & 0xC0) || (temp_r31->unk0 & 0x600)) { - temp_r28 = 1; - } - fn_1_8CC0(lbl_1_bss_61C[temp_r30->unk0[temp_r29]]); - sp10[temp_r29] = temp_r31->unk40 = fn_1_B4F8(temp_r31->unk44.y); - spC[temp_r29] = fn_1_B530(temp_r31->unk40); - } - if (temp_r28 != 0) { - return 0; - } - if (spC[0] != spC[1]) { - if (spC[0] == 0) { - temp_r31 = lbl_1_bss_61C[temp_r30->unk0[0]]->data; - temp_r31->unk84 = lbl_1_data_268[0]; - temp_r31->unk14->unk84 = lbl_1_data_268[1]; - } - else { - temp_r31 = lbl_1_bss_61C[temp_r30->unk0[1]]->data; - temp_r31->unk84 = lbl_1_data_268[0]; - temp_r31->unk14->unk84 = lbl_1_data_268[1]; - } - } - else { - if (spC[0] == 0) { - if (sp10[0] < sp10[1]) { - temp_r31 = lbl_1_bss_61C[temp_r30->unk0[0]]->data; - temp_r31->unk84 = lbl_1_data_268[1]; - temp_r31->unk14->unk84 = lbl_1_data_268[0]; - } - else { - temp_r31 = lbl_1_bss_61C[temp_r30->unk0[1]]->data; - temp_r31->unk84 = lbl_1_data_268[1]; - temp_r31->unk14->unk84 = lbl_1_data_268[0]; - } - } - else { - if (sp10[0] > sp10[1]) { - temp_r31 = lbl_1_bss_61C[temp_r30->unk0[0]]->data; - temp_r31->unk84 = lbl_1_data_268[0]; - temp_r31->unk14->unk84 = lbl_1_data_268[1]; - } - else { - temp_r31 = lbl_1_bss_61C[temp_r30->unk0[1]]->data; - temp_r31->unk84 = lbl_1_data_268[0]; - temp_r31->unk14->unk84 = lbl_1_data_268[1]; - } - } - } - lbl_1_bss_98++; - } - for (temp_r29 = 0; temp_r29 < 2; temp_r29++) { - temp_r31 = lbl_1_bss_61C[temp_r30->unk0[temp_r29]]->data; - temp_r31->unkC = 0; - temp_r31->unk86 = 1; - temp_r31->unkB4 = 0; - temp_r31->unkB5 = 0; - sp14[temp_r29] = fn_1_8AD4(temp_r31, temp_r31->unk40, temp_r31->unk84, &spA, 0); - if (sp14[temp_r29] != 0) { - temp_r31->unkB4 = (spA == 0) ? 50 : -50; - } - else { - temp_r31->unk86 = 0; - } - fn_1_8CC0(lbl_1_bss_61C[temp_r30->unk0[temp_r29]]); - sp14[temp_r29] = (temp_r31->unk0 & 0xC0) ? 1 : 0; - if (temp_r31->unk0 & 0x600) { - sp14[temp_r29] = 1; - } - } - if (sp14[0] == 0 && sp14[1] == 0) { - return 1; - } - return 0; + Bss61CWork *temp_r31; + Bss12CStruct *temp_r30 = &lbl_1_bss_12C[arg0]; + s16 sp18[4] = { 0, 9, 9, 0}; + + s16 sp14[2]; + s16 sp10[2]; + s16 spC[2]; + s16 spA; + s16 temp_r29; + s32 temp_r28; + if(lbl_1_bss_98 != 0) { + (void)lbl_1_bss_98; + } else { + for(temp_r29=0, temp_r28=0; temp_r29<2; temp_r29++) { + temp_r31 = lbl_1_bss_61C[temp_r30->unk0[temp_r29]]->data; + if((temp_r31->unk0 & 0xC0) || (temp_r31->unk0 & 0x600)) { + temp_r28 = 1; + } + fn_1_8CC0(lbl_1_bss_61C[temp_r30->unk0[temp_r29]]); + sp10[temp_r29] = temp_r31->unk40 = fn_1_B4F8(temp_r31->unk44.y); + spC[temp_r29] = fn_1_B530(temp_r31->unk40); + + } + if(temp_r28 != 0) { + return 0; + } + if(spC[0] != spC[1]) { + if(spC[0] == 0) { + temp_r31 = lbl_1_bss_61C[temp_r30->unk0[0]]->data; + temp_r31->unk84 = lbl_1_data_268[0]; + temp_r31->unk14->unk84 = lbl_1_data_268[1]; + } else { + temp_r31 = lbl_1_bss_61C[temp_r30->unk0[1]]->data; + temp_r31->unk84 = lbl_1_data_268[0]; + temp_r31->unk14->unk84 = lbl_1_data_268[1]; + } + } else { + if(spC[0] == 0) { + if(sp10[0] < sp10[1]) { + temp_r31 = lbl_1_bss_61C[temp_r30->unk0[0]]->data; + temp_r31->unk84 = lbl_1_data_268[1]; + temp_r31->unk14->unk84 = lbl_1_data_268[0]; + } else { + temp_r31 = lbl_1_bss_61C[temp_r30->unk0[1]]->data; + temp_r31->unk84 = lbl_1_data_268[1]; + temp_r31->unk14->unk84 = lbl_1_data_268[0]; + } + } else { + if(sp10[0] > sp10[1]) { + temp_r31 = lbl_1_bss_61C[temp_r30->unk0[0]]->data; + temp_r31->unk84 = lbl_1_data_268[0]; + temp_r31->unk14->unk84 = lbl_1_data_268[1]; + } else { + temp_r31 = lbl_1_bss_61C[temp_r30->unk0[1]]->data; + temp_r31->unk84 = lbl_1_data_268[0]; + temp_r31->unk14->unk84 = lbl_1_data_268[1]; + } + } + } + lbl_1_bss_98++; + } + for(temp_r29=0; temp_r29<2; temp_r29++) { + temp_r31 = lbl_1_bss_61C[temp_r30->unk0[temp_r29]]->data; + temp_r31->unkC = 0; + temp_r31->unk86 = 1; + temp_r31->unkB4 = 0; + temp_r31->unkB5 = 0; + sp14[temp_r29] = fn_1_8AD4(temp_r31, temp_r31->unk40, temp_r31->unk84, &spA, 0); + if(sp14[temp_r29] != 0) { + temp_r31->unkB4 = (spA == 0) ? 50 : -50; + } else { + temp_r31->unk86 = 0; + } + fn_1_8CC0(lbl_1_bss_61C[temp_r30->unk0[temp_r29]]); + sp14[temp_r29] = (temp_r31->unk0 & 0xC0) ? 1 : 0; + if(temp_r31->unk0 & 0x600) { + sp14[temp_r29] = 1; + } + } + if(sp14[0] == 0 && sp14[1] == 0) { + return 1; + } + return 0; } s32 fn_1_8474(s16 arg0) { - s32 spC[2]; - s32 temp_r31; - Bss61CWork *temp_r30; - Bss12CStruct *temp_r29; - temp_r29 = &lbl_1_bss_12C[arg0]; - for (temp_r31 = 0; temp_r31 < 2; temp_r31++) { - temp_r30 = lbl_1_bss_61C[temp_r29->unk0[temp_r31]]->data; - fn_1_8CC0(lbl_1_bss_61C[temp_r29->unk0[temp_r31]]); - if ((temp_r30->unk0 & 0xC0) || (temp_r30->unk0 & 0x600) || (temp_r30->unk0 & 0x20)) { - spC[temp_r31] = 1; - } - else { - spC[temp_r31] = 0; - } - } - if (spC[0] == 0 && spC[1] == 0) { - return 1; - } - return 0; + s32 spC[2]; + s32 temp_r31; + Bss61CWork *temp_r30; + Bss12CStruct *temp_r29; + temp_r29 = &lbl_1_bss_12C[arg0]; + for(temp_r31=0; temp_r31<2; temp_r31++) { + temp_r30 = lbl_1_bss_61C[temp_r29->unk0[temp_r31]]->data; + fn_1_8CC0(lbl_1_bss_61C[temp_r29->unk0[temp_r31]]); + if((temp_r30->unk0 & 0xC0) || (temp_r30->unk0 & 0x600) || (temp_r30->unk0 & 0x20)) { + spC[temp_r31] = 1; + } else { + spC[temp_r31] = 0; + } + } + if(spC[0] == 0 && spC[1] == 0) { + return 1; + } + return 0; } void fn_1_8790(omObjData *object); @@ -239,180 +256,172 @@ u32 fn_1_ABA0(omObjData *object, u32 arg1); void fn_1_858C(omObjData *object) { - Bss61CWork *temp_r31; - u16 temp_r29; - if (lbl_1_data_260[object->work[0]] == 0) { - return; - } - temp_r31 = lbl_1_bss_61C[object->work[0]]->data; - temp_r31->unkB0 = HuPadBtn[temp_r31->unk6]; - temp_r31->unkB2 = HuPadBtnDown[temp_r31->unk6]; - temp_r31->unkB4 = HuPadStkX[temp_r31->unk6]; - temp_r31->unkB5 = HuPadStkY[temp_r31->unk6]; - if (fn_1_2090(1) != 0) { - return; - } - temp_r29 = fn_1_2090(28); - if (temp_r29 == 12 || temp_r29 == 16) { - if (fn_1_ABA0(lbl_1_bss_61C[object->work[0]], 0x600) == 0 && lbl_1_data_260[object->work[0]] != 0) { - temp_r31 = lbl_1_bss_61C[object->work[0]]->data; - if (temp_r31->unk14 == 0) { - temp_r31->unk14 = fn_1_AAF0(lbl_1_bss_61C[object->work[0]]); - } - if (GWPlayerCfg[temp_r31->unk4].iscom) { - fn_1_8790(lbl_1_bss_61C[object->work[0]]); - } - fn_1_8CC0(lbl_1_bss_61C[object->work[0]]); - } - } + Bss61CWork *temp_r31; + u16 temp_r29; + if(lbl_1_data_260[object->work[0]] == 0) { + return; + } + temp_r31 = lbl_1_bss_61C[object->work[0]]->data; + temp_r31->unkB0 = HuPadBtn[temp_r31->unk6]; + temp_r31->unkB2 = HuPadBtnDown[temp_r31->unk6]; + temp_r31->unkB4 = HuPadStkX[temp_r31->unk6]; + temp_r31->unkB5 = HuPadStkY[temp_r31->unk6]; + if(fn_1_2090(1) != 0) { + return; + } + temp_r29 = fn_1_2090(28); + if(temp_r29 == 12 || temp_r29 == 16) { + if(fn_1_ABA0(lbl_1_bss_61C[object->work[0]], 0x600) == 0 && lbl_1_data_260[object->work[0]] != 0) { + temp_r31 = lbl_1_bss_61C[object->work[0]]->data; + if(temp_r31->unk14 == 0) { + temp_r31->unk14 = fn_1_AAF0(lbl_1_bss_61C[object->work[0]]); + } + if(GWPlayerCfg[temp_r31->unk4].iscom) { + fn_1_8790(lbl_1_bss_61C[object->work[0]]); + } + fn_1_8CC0(lbl_1_bss_61C[object->work[0]]); + } + + } } void fn_1_8790(omObjData *object) { - Bss61CWork *temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - u32 temp_r26; - s16 sp18[9]; - s16 sp8[8]; - temp_r31 = object->data; - temp_r31->unkB4 = temp_r31->unkB5 = 0; - temp_r31->unkB2 = 0; - if (fn_1_2090(224)) { - return; - } - sp18[8] = 999; - for (temp_r30 = 0, temp_r28 = 0, temp_r29 = 8; temp_r30 < temp_r31->unk6E; temp_r30++) { - temp_r26 = fn_1_4738(temp_r31->unkA, temp_r31->unk5E[temp_r30]); - if (temp_r26 & 0x1) { - temp_r31->unk5E[temp_r30] = -1; - } - sp18[temp_r30] = fn_1_8AD4(temp_r31, temp_r31->unk40, temp_r31->unk5E[temp_r30], &sp8[temp_r30], 1); - if (sp18[temp_r30] < sp18[temp_r29]) { - temp_r29 = temp_r30; - } - if (temp_r31->unk5E[temp_r30] == -1) { - temp_r28++; - } - } - if (temp_r28 == temp_r31->unk6E) { - return; - } - if (temp_r31->unk70 < temp_r31->unk72 && temp_r29 < 4) { - for (temp_r30 = 4; temp_r30 < temp_r31->unk6E; temp_r30++) { - if (sp18[temp_r30] < 10) { - temp_r29 = temp_r30; - break; - } - } - } - if (temp_r31->unk7C == 0) { - if (GWPlayerCfg[temp_r31->unk14->unk4].iscom) { - if (temp_r31->unk4 > temp_r31->unk14->unk4 && (temp_r31->unk0 & 0x20)) { - temp_r31->unk7C = 1; - } - } - else { - if (temp_r31->unk0 & 0x20) { - temp_r31->unk7C = 1; - } - } - } - if (temp_r31->unk7C && temp_r28 == temp_r31->unk6E - 1) { - if (++temp_r31->unk7C > 2 * REFRESH_RATE) { - temp_r31->unk7C = 0; - } - if ((temp_r31->unk14->unk0 & 0xC0) == 0x40) { - sp8[temp_r29] = 0; - } - else { - if ((temp_r31->unk14->unk0 & 0xC0) == 0x80) { - sp8[temp_r29] = 1; - } - else { - temp_r31->unk7C = 0; - } - } - } - if (sp18[temp_r29] != -1) { - temp_r31->unkB4 = (sp8[temp_r29] == 0) ? 50 : -50; - } - else { - if (temp_r31->unk44.z <= 15.0f) { - temp_r31->unkB2 = PAD_BUTTON_A; - } - } + Bss61CWork *temp_r31; + s16 temp_r30; + s16 temp_r29; + s16 temp_r28; + u32 temp_r26; + s16 sp18[9]; + s16 sp8[8]; + temp_r31 = object->data; + temp_r31->unkB4 = temp_r31->unkB5 = 0; + temp_r31->unkB2 = 0; + if(fn_1_2090(224)) { + return; + } + sp18[8] = 999; + for(temp_r30=0, temp_r28=0, temp_r29=8; temp_r30unk6E; temp_r30++) { + temp_r26 = fn_1_4738(temp_r31->unkA, temp_r31->unk5E[temp_r30]); + if(temp_r26 & 0x1) { + temp_r31->unk5E[temp_r30] = -1; + } + sp18[temp_r30] = fn_1_8AD4(temp_r31, temp_r31->unk40, temp_r31->unk5E[temp_r30], &sp8[temp_r30], 1); + if(sp18[temp_r30] < sp18[temp_r29]) { + temp_r29 = temp_r30; + } + if(temp_r31->unk5E[temp_r30] == -1) { + temp_r28++; + } + } + if(temp_r28 == temp_r31->unk6E) { + return; + } + if(temp_r31->unk70 < temp_r31->unk72 && temp_r29 < 4) { + for(temp_r30=4; temp_r30unk6E; temp_r30++) { + if(sp18[temp_r30] < 10) { + temp_r29 = temp_r30; + break; + } + } + } + if(temp_r31->unk7C == 0) { + if(GWPlayerCfg[temp_r31->unk14->unk4].iscom) { + if(temp_r31->unk4 > temp_r31->unk14->unk4 && (temp_r31->unk0 & 0x20)) { + temp_r31->unk7C = 1; + } + } else { + if(temp_r31->unk0 & 0x20) { + temp_r31->unk7C = 1; + } + } + } + if(temp_r31->unk7C && temp_r28 == temp_r31->unk6E-1) { + if(++temp_r31->unk7C > 120) { + temp_r31->unk7C = 0; + } + if((temp_r31->unk14->unk0 & 0xC0) == 0x40) { + sp8[temp_r29] = 0; + } else { + if((temp_r31->unk14->unk0 & 0xC0) == 0x80) { + sp8[temp_r29] = 1; + } else { + temp_r31->unk7C = 0; + } + } + } + if(sp18[temp_r29] != -1) { + temp_r31->unkB4 = (sp8[temp_r29] == 0) ? 50 : -50; + } else { + if(temp_r31->unk44.z <= 15.0f) { + temp_r31->unkB2 = PAD_BUTTON_A; + } + } } s16 fn_1_8AD4(Bss61CWork *arg0, s16 arg1, s16 arg2, s16 *arg3, u8 arg4) { - s16 temp_r31; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - - if (arg2 == -1) { - *arg3 = rand16() % 2; - temp_r29 = 99; - } - else if (arg1 == arg2) { - *arg3 = -1; - temp_r29 = (arg4) ? -1 : 0; - } - else { - temp_r28 = temp_r27 = temp_r26 = temp_r25 = 0; - temp_r31 = arg1; - do { - temp_r31++; - temp_r28++; - if (temp_r31 >= 10) { - temp_r31 = 0; - } - if (arg4 && temp_r31 == arg0->unk14->unk40) { - temp_r26 = 99; - break; - } - } while (temp_r31 != arg2); - temp_r31 = arg1; - do { - temp_r31--; - temp_r27++; - if (temp_r31 < 0) { - temp_r31 = 9; - } - if (arg4 && temp_r31 == arg0->unk14->unk40) { - temp_r25 = 99; - break; - } - } while (temp_r31 != arg2); - if (temp_r26 != temp_r25) { - temp_r28 += temp_r26; - temp_r27 += temp_r25; - if (temp_r28 < temp_r27) { - *arg3 = 0; - temp_r29 = temp_r28; - } - else { - *arg3 = 1; - temp_r29 = temp_r27; - } - } - else { - if (temp_r28 < temp_r27) { - *arg3 = 0; - temp_r29 = temp_r28; - } - else { - *arg3 = 1; - temp_r29 = temp_r27; - } - temp_r29 += 10; - } - } - return temp_r29; + s16 temp_r31; + s16 temp_r29; + s16 temp_r28; + s16 temp_r27; + s16 temp_r26; + s16 temp_r25; + + if(arg2 == -1) { + *arg3 = rand16()%2; + temp_r29 = 99; + } else if(arg1 == arg2) { + *arg3 = -1; + temp_r29 = (arg4) ? -1 : 0; + } else { + temp_r28 = temp_r27 = temp_r26 = temp_r25 = 0; + temp_r31 = arg1; + do { + temp_r31++; + temp_r28++; + if(temp_r31 >= 10) { + temp_r31 = 0; + } + if(arg4 && temp_r31 == arg0->unk14->unk40) { + temp_r26 = 99; + break; + } + } while(temp_r31 != arg2); + temp_r31 = arg1; + do { + temp_r31--; + temp_r27++; + if(temp_r31 < 0) { + temp_r31 = 9; + } + if(arg4 && temp_r31 == arg0->unk14->unk40) { + temp_r25 = 99; + break; + } + } while(temp_r31 != arg2); + if(temp_r26 != temp_r25) { + temp_r28 += temp_r26; + temp_r27 += temp_r25; + if(temp_r28 < temp_r27) { + *arg3 = 0; + temp_r29 = temp_r28; + } else { + *arg3 = 1; + temp_r29 = temp_r27; + } + } else { + if(temp_r28 < temp_r27) { + *arg3 = 0; + temp_r29 = temp_r28; + } else { + *arg3 = 1; + temp_r29 = temp_r27; + } + temp_r29 += 10; + } + } + return temp_r29; } s16 fn_1_938C(omObjData *object); @@ -420,182 +429,169 @@ void fn_1_ABC0(omObjData *object, u32 arg1, u32 arg2); void fn_1_8CC0(omObjData *object) { - float temp_f31; - float temp_f30; - float temp_f28; - - Bss61CWork *temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - s16 temp_r26; - - Vec sp10; - u16 sp8; - Bss12CInner *temp_r25; - temp_r31 = object->data; - if (temp_r31->unk38 == 3 || temp_r31->unk38 == 5) { - return; - } - sp8 = fn_1_2090(28); - if ((temp_r31->unk0 & 0x20) || (fn_1_2090(28) != 12 && temp_r31->unk86 == 0)) { - temp_r28 = temp_r26 = 0; - } - else { - temp_r28 = temp_r31->unkB4; - temp_r26 = temp_r31->unkB5; - } - temp_r30 = temp_r29 = 0; - if (temp_r31->unk52 == 0) { - switch (temp_r31->unkC) { - case 0: - if (temp_r28 > 10) { - temp_r30 = 1; - } - else if (temp_r28 < -10) { - temp_r29 = 1; - } - break; - - case 1: - if (ABS(temp_r28) >= 10 || ABS(temp_r26) >= 10) { - temp_r25 = &lbl_1_bss_12C[temp_r31->unkA].unk1C[temp_r31->unk40]; - sp10.x = temp_r28 + lbl_1_bss_12C[temp_r31->unkA].unkE4[temp_r31->unk40][0]; - sp10.z = lbl_1_bss_12C[temp_r31->unkA].unkE4[temp_r31->unk40][1] - temp_r26; - temp_f28 = (temp_r25->unk0.x * sp10.x) + (temp_r25->unk0.z * sp10.z) - temp_r25->unkC; - if (temp_f28 > 0.0f) { - if (temp_r31->unk50 != temp_r31->unk40) { - if (temp_r31->unk54 == 128) { - temp_r31->unk52 = 1; - } - } - else { - temp_r30 = 1; - } - } - else { - if (temp_f28 < 0.0f) { - if (temp_r31->unk50 != temp_r31->unk40) { - if (temp_r31->unk54 == 64) { - temp_r31->unk52 = 1; - } - } - else { - temp_r29 = 1; - } - } - } - } - break; - } - } - else { - if (temp_r31->unk58 != temp_r28 || temp_r31->unk5A != temp_r26) { - temp_r31->unk52 = 0; - } - } - temp_f31 = temp_r31->unk24.x - temp_r31->unk14->unk24.x; - temp_f30 = temp_r31->unk24.z - temp_r31->unk14->unk24.z; - temp_f28 = VECMagPoint(temp_f31, 0, temp_f30); - if (temp_f28 < 90 && (temp_r31->unk0 & 0x20) == 0) { - if (fn_1_938C(object) == 0) { - temp_r30 = 0; - temp_r29 = 1; - } - else { - temp_r30 = 1; - temp_r29 = 0; - } - temp_r31->unk0 |= 0x20; - } - else { - if (temp_r31->unk54 == 64) { - temp_r27 = temp_r31->unk42 - temp_r31->unk40; - if (temp_r27 < 0) { - temp_r27 += 10; - } - if (temp_r27 > 1) { - temp_r31->unk42 = 1; - } - } - else { - temp_r27 = temp_r31->unk40 - temp_r31->unk42; - if (temp_r27 < 0) { - temp_r27 += 10; - } - if (temp_r27 > 1) { - temp_r31->unk42 = 9; - } - } - } - if (temp_r30) { - temp_r30 = 0; - if (temp_r31->unk54 == 64) { - if (temp_r31->unk44.z <= 2.0f) { - temp_r30 = 1; - } - } - else if (temp_r31->unk54 == 128) { - if (temp_r31->unk40 != temp_r31->unk42) { - temp_r31->unk40 = temp_r31->unk42; - } - temp_r30 = 1; - } - else { - temp_r30 = 1; - } - if (temp_r30) { - fn_1_ABC0(object, 192, 64); - temp_r31->unk42 = temp_r31->unk40 + 1; - if (temp_r31->unk42 >= 10) { - temp_r31->unk42 = 0; - } - } - } - else if (temp_r29) { - temp_r29 = 0; - if (temp_r31->unk54 == 128) { - if (temp_r31->unk44.z <= 2.0f) { - temp_r29 = 1; - } - } - else if (temp_r31->unk54 == 64) { - if (temp_r31->unk40 != temp_r31->unk42) { - temp_r31->unk40 = temp_r31->unk42; - } - temp_r29 = 1; - } - else { - temp_r29 = 1; - } - if (temp_r29) { - fn_1_ABC0(object, 192, 128); - temp_r31->unk42 = temp_r31->unk40 - 1; - if (temp_r31->unk42 < 0) { - temp_r31->unk42 = 9; - } - } - } - temp_r31->unk50 = temp_r31->unk40; - temp_r31->unk54 = fn_1_ABA0(object, 192); - temp_r31->unk58 = temp_r28; - temp_r31->unk5A = temp_r26; + float temp_f31; + float temp_f30; + float temp_f28; + + Bss61CWork *temp_r31; + s16 temp_r30; + s16 temp_r29; + s16 temp_r28; + s16 temp_r27; + s16 temp_r26; + + + Vec sp10; + u16 sp8; + Bss12CInner *temp_r25; + temp_r31 = object->data; + if(temp_r31->unk38 == 3 || temp_r31->unk38 == 5) { + return; + } + sp8 = fn_1_2090(28); + if((temp_r31->unk0 & 0x20) || (fn_1_2090(28) != 12 && temp_r31->unk86 == 0)) { + temp_r28 = temp_r26 = 0; + } else { + temp_r28 = temp_r31->unkB4; + temp_r26 = temp_r31->unkB5; + } + temp_r30 = temp_r29 = 0; + if(temp_r31->unk52 == 0) { + switch(temp_r31->unkC) { + case 0: + if(temp_r28 > 10) { + temp_r30 = 1; + } else if(temp_r28 < -10) { + temp_r29 = 1; + } + break; + + case 1: + if(ABS(temp_r28) >= 10 || ABS(temp_r26) >= 10) { + temp_r25 = &lbl_1_bss_12C[temp_r31->unkA].unk1C[temp_r31->unk40]; + sp10.x = temp_r28+lbl_1_bss_12C[temp_r31->unkA].unkE4[temp_r31->unk40][0]; + sp10.z = lbl_1_bss_12C[temp_r31->unkA].unkE4[temp_r31->unk40][1]-temp_r26; + temp_f28 = (temp_r25->unk0.x*sp10.x)+(temp_r25->unk0.z*sp10.z)-temp_r25->unkC; + if(temp_f28 > 0.0f) { + if(temp_r31->unk50 != temp_r31->unk40) { + if(temp_r31->unk54 == 128) { + temp_r31->unk52 = 1; + } + } else { + temp_r30 = 1; + } + } else { + if(temp_f28 < 0.0f) { + if(temp_r31->unk50 != temp_r31->unk40) { + if(temp_r31->unk54 == 64) { + temp_r31->unk52 = 1; + } + + } else { + temp_r29 = 1; + } + } + } + } + break; + } + } else { + if(temp_r31->unk58 != temp_r28 || temp_r31->unk5A != temp_r26) { + temp_r31->unk52 = 0; + } + } + temp_f31 = temp_r31->unk24.x-temp_r31->unk14->unk24.x; + temp_f30 = temp_r31->unk24.z-temp_r31->unk14->unk24.z; + temp_f28 = VECMagPoint(temp_f31, 0, temp_f30); + if(temp_f28 < 90 && (temp_r31->unk0 & 0x20) == 0) { + if(fn_1_938C(object) == 0) { + temp_r30 = 0; + temp_r29 = 1; + } else { + temp_r30 = 1; + temp_r29 = 0; + } + temp_r31->unk0 |= 0x20; + } else { + if(temp_r31->unk54 == 64) { + temp_r27 = temp_r31->unk42-temp_r31->unk40; + if(temp_r27 < 0) { + temp_r27 += 10; + } + if(temp_r27 > 1) { + temp_r31->unk42 = 1; + } + } else { + temp_r27 = temp_r31->unk40-temp_r31->unk42; + if(temp_r27 < 0) { + temp_r27 += 10; + } + if(temp_r27 > 1) { + temp_r31->unk42 = 9; + } + } + } + if(temp_r30) { + temp_r30 = 0; + if(temp_r31->unk54 == 64) { + if(temp_r31->unk44.z <= 2.0f) { + temp_r30 = 1; + } + } else if(temp_r31->unk54 == 128) { + if(temp_r31->unk40 != temp_r31->unk42) { + temp_r31->unk40 = temp_r31->unk42; + } + temp_r30 = 1; + } else { + temp_r30 = 1; + } + if(temp_r30) { + fn_1_ABC0(object, 192, 64); + temp_r31->unk42 = temp_r31->unk40+1; + if(temp_r31->unk42 >= 10) { + temp_r31->unk42 = 0; + } + } + } else if(temp_r29) { + temp_r29 = 0; + if(temp_r31->unk54 == 128) { + if(temp_r31->unk44.z <= 2.0f) { + temp_r29 = 1; + } + } else if(temp_r31->unk54 == 64) { + if(temp_r31->unk40 != temp_r31->unk42) { + temp_r31->unk40 = temp_r31->unk42; + } + temp_r29 = 1; + } else { + temp_r29 = 1; + } + if(temp_r29) { + fn_1_ABC0(object, 192, 128); + temp_r31->unk42 = temp_r31->unk40-1; + if(temp_r31->unk42 < 0) { + temp_r31->unk42 = 9; + } + } + } + temp_r31->unk50 = temp_r31->unk40; + temp_r31->unk54 = fn_1_ABA0(object, 192); + temp_r31->unk58 = temp_r28; + temp_r31->unk5A = temp_r26; } s16 fn_1_938C(omObjData *object) { - Bss61CWork *temp_r31; - float temp_f31; - temp_r31 = object->data; - temp_f31 = temp_r31->unk44.y - temp_r31->unk14->unk44.y; - if (temp_f31 > 180.0f) { - temp_f31 -= 360.0f; - } - else if (temp_f31 < -180.0f) { - temp_f31 = 360.0f + temp_f31; - } - return (temp_f31 <= 0.0f) ? 0 : 1; + Bss61CWork *temp_r31; + float temp_f31; + temp_r31 = object->data; + temp_f31 = temp_r31->unk44.y-temp_r31->unk14->unk44.y; + if(temp_f31 > 180.0f) { + temp_f31 -= 360.0f; + } else if(temp_f31 < -180.0f) { + temp_f31 = 360.0f+temp_f31; + } + return (temp_f31 <= 0.0f) ? 0 : 1; } void fn_1_98D4(omObjData *object); @@ -604,68 +600,64 @@ void fn_1_B0E8(omObjData *object, s16 arg1, u32 arg2); void fn_1_9440(omObjData *object) { - Bss61CWork *temp_r31; - Bss12CStruct *temp_r29; - s16 temp_r28; - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Bss61CWork), MEMORY_DEFAULT_NUM); - temp_r31 = object->data; - memset(temp_r31, 0, sizeof(Bss61CWork)); - object->stat |= 0x100; - temp_r31->unk4 = object->work[0]; - temp_r31->unk6 = GWPlayerCfg[temp_r31->unk4].pad_idx; - temp_r31->unk8 = GWPlayerCfg[temp_r31->unk4].character; - temp_r31->unkA = GWPlayerCfg[temp_r31->unk4].group; - temp_r31->unkC = (GWPlayerCfg[temp_r31->unk4].iscom) ? 0 : 1; - temp_r31->unkAC = 0; - object->model[0] = CharModelCreate(temp_r31->unk8, 2); - Hu3DModelLayerSet(object->model[0], 0); - Hu3DModelShadowSet(object->model[0]); - CharModelStepTypeSet(temp_r31->unk8, 0); - for (temp_r28 = 0; temp_r28 < 8; temp_r28++) { - if (lbl_1_data_1F4[temp_r28] != -1) { - object->motion[temp_r28] = CharModelMotionCreate(temp_r31->unk8, lbl_1_data_1F4[temp_r28]); - } - else { - object->motion[temp_r28] = Hu3DJointMotionFile(object->model[0], DATA_MAKE_NUM(DATADIR_M431, 0x21) + temp_r31->unk8); - } - if (temp_r28 == 4 || temp_r28 == 5) { - CharModelVoiceEnableSet(temp_r31->unk8, object->motion[temp_r28], 0); - } - } - CharModelMotionDataClose(temp_r31->unk8); - temp_r29 = &lbl_1_bss_12C[temp_r31->unkA]; - for (temp_r28 = 0; temp_r28 < 8; temp_r28++) { - temp_r31->unk5E[temp_r28] = -1; - } - if (temp_r31->unkA == 0) { - if (temp_r29->unk0[0] == object->work[0]) { - temp_r31->unk44.y = lbl_1_bss_62C[9].unk4; - } - else { - temp_r31->unk44.y = lbl_1_bss_62C[4].unk4; - } - } - else { - if (temp_r29->unk0[0] == object->work[0]) { - temp_r31->unk44.y = lbl_1_bss_62C[5].unk4; - } - else { - temp_r31->unk44.y = lbl_1_bss_62C[0].unk4; - } - } - temp_r31->unk40 = (temp_r31->unk44.y / 360.0f) * 10.0f; - temp_r31->unk42 = temp_r31->unk40; - temp_r31->unk10 = lbl_1_data_1D4[temp_r31->unk8]; - temp_r31->unk24.x = ((temp_r29->unk18 + temp_r31->unk10) * sind(temp_r31->unk44.y)) + temp_r29->unkC.x; - temp_r31->unk24.y = temp_r29->unkC.y; - temp_r31->unk24.z = ((temp_r29->unk18 + temp_r31->unk10) * cosd(temp_r31->unk44.y)) + temp_r29->unkC.z; - temp_r31->unk30 = atan2d(temp_r29->unkC.x - temp_r31->unk24.x, temp_r29->unkC.z - temp_r31->unk24.z); - Hu3DModelPosSet(object->model[0], temp_r31->unk24.x, temp_r31->unk24.y, temp_r31->unk24.z); - Hu3DModelRotSet(object->model[0], 0, temp_r31->unk30, 0); - temp_r31->unk38 = temp_r31->unk3A = -1; - fn_1_B0E8(object, 0, 10); - lbl_1_data_260[object->work[0]] = 1; - object->func = fn_1_98D4; + Bss61CWork *temp_r31; + Bss12CStruct *temp_r29; + s16 temp_r28; + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Bss61CWork), MEMORY_DEFAULT_NUM); + temp_r31 = object->data; + memset(temp_r31, 0, sizeof(Bss61CWork)); + object->stat |= 0x100; + temp_r31->unk4 = object->work[0]; + temp_r31->unk6 = GWPlayerCfg[temp_r31->unk4].pad_idx; + temp_r31->unk8 = GWPlayerCfg[temp_r31->unk4].character; + temp_r31->unkA = GWPlayerCfg[temp_r31->unk4].group; + temp_r31->unkC = (GWPlayerCfg[temp_r31->unk4].iscom) ? 0 : 1; + temp_r31->unkAC = 0; + object->model[0] = CharModelCreate(temp_r31->unk8, 2); + Hu3DModelLayerSet(object->model[0], 0); + Hu3DModelShadowSet(object->model[0]); + CharModelStepTypeSet(temp_r31->unk8, 0); + for(temp_r28=0; temp_r28<8; temp_r28++) { + if(lbl_1_data_1F4[temp_r28] != -1) { + object->motion[temp_r28] = CharModelMotionCreate(temp_r31->unk8, lbl_1_data_1F4[temp_r28]); + } else { + object->motion[temp_r28] = Hu3DJointMotionFile(object->model[0], 0x3E0021+temp_r31->unk8); + } + if(temp_r28 == 4 || temp_r28 == 5) { + CharModelVoiceEnableSet(temp_r31->unk8, object->motion[temp_r28], 0); + } + } + CharModelMotionDataClose(temp_r31->unk8); + temp_r29 = &lbl_1_bss_12C[temp_r31->unkA]; + for(temp_r28=0; temp_r28<8; temp_r28++) { + temp_r31->unk5E[temp_r28] = -1; + } + if(temp_r31->unkA == 0) { + if(temp_r29->unk0[0] == object->work[0]) { + temp_r31->unk44.y = lbl_1_bss_62C[9].unk4; + } else { + temp_r31->unk44.y = lbl_1_bss_62C[4].unk4; + } + } else { + if(temp_r29->unk0[0] == object->work[0]) { + temp_r31->unk44.y = lbl_1_bss_62C[5].unk4; + } else { + temp_r31->unk44.y = lbl_1_bss_62C[0].unk4; + } + } + temp_r31->unk40 = (temp_r31->unk44.y/360.0f)*10.0f; + temp_r31->unk42 = temp_r31->unk40; + temp_r31->unk10 = lbl_1_data_1D4[temp_r31->unk8]; + temp_r31->unk24.x = ((temp_r29->unk18+temp_r31->unk10)*sind(temp_r31->unk44.y))+temp_r29->unkC.x; + temp_r31->unk24.y = temp_r29->unkC.y; + temp_r31->unk24.z = ((temp_r29->unk18+temp_r31->unk10)*cosd(temp_r31->unk44.y))+temp_r29->unkC.z; + temp_r31->unk30 = atan2d(temp_r29->unkC.x-temp_r31->unk24.x, temp_r29->unkC.z-temp_r31->unk24.z); + Hu3DModelPosSet(object->model[0], temp_r31->unk24.x, temp_r31->unk24.y, temp_r31->unk24.z); + Hu3DModelRotSet(object->model[0], 0, temp_r31->unk30, 0); + temp_r31->unk38 = temp_r31->unk3A = -1; + fn_1_B0E8(object, 0, 10); + lbl_1_data_260[object->work[0]] = 1; + object->func = fn_1_98D4; } void fn_1_9A04(omObjData *object); @@ -684,399 +676,364 @@ s32 fn_1_B494(s32 arg0, s32 arg1); void fn_1_98D4(omObjData *object) { - Vec sp8; - - Bss61CWork *temp_r31; - ModelData *temp_r29; - temp_r31 = object->data; - temp_r29 = &Hu3DData[object->model[0]]; - sp8.x = temp_r31->unk24.x - temp_r29->pos.x; - sp8.z = temp_r31->unk24.z - temp_r29->pos.z; - if ((temp_r31->unk0 & 0x600) == 0 || 0.0f != sp8.x || 0.0f != sp8.z || (temp_r31->unk0 & 0x20)) { - fn_1_9A04(object); - fn_1_9C5C(object); - fn_1_A0F8(object); - } - else { - fn_1_A450(object); - } - fn_1_B18C(object); - Hu3DModelPosSet(object->model[0], temp_r31->unk24.x, temp_r31->unk24.y, temp_r31->unk24.z); - Hu3DModelRotSet(object->model[0], 0, temp_r31->unk30, 0); + Vec sp8; + + Bss61CWork *temp_r31; + ModelData *temp_r29; + temp_r31 = object->data; + temp_r29 = &Hu3DData[object->model[0]]; + sp8.x = temp_r31->unk24.x-temp_r29->pos.x; + sp8.z = temp_r31->unk24.z-temp_r29->pos.z; + if((temp_r31->unk0 & 0x600) == 0 || 0.0f != sp8.x || 0.0f != sp8.z || (temp_r31->unk0 & 0x20)) { + fn_1_9A04(object); + fn_1_9C5C(object); + fn_1_A0F8(object); + } else { + fn_1_A450(object); + } + fn_1_B18C(object); + Hu3DModelPosSet(object->model[0], temp_r31->unk24.x, temp_r31->unk24.y, temp_r31->unk24.z); + Hu3DModelRotSet(object->model[0], 0, temp_r31->unk30, 0); + } -#if VERSION_NTSC -#define fn_1_9A04_CHECK (temp_r29->unk_0C == -1 && temp_r29->unk_64 == 14.0f) -#else -#define fn_1_9A04_CHECK (temp_r29->unk_0C == -1 && temp_r29->unk_64 >= 14.0f && temp_r31->unk3C_pal == 0) -#endif - void fn_1_9A04(omObjData *object) { - Bss61CWork *temp_r31; - ModelData *temp_r29; - - temp_r29 = &Hu3DData[object->model[0]]; - temp_r31 = object->data; - if (fn_1_2090(28) != 12 || fn_1_2090(224) != 0) { - return; - } - if (fn_1_4724() == 2) { - return; - } - if (fn_1_ABA0(object, 192) != 0) { - return; - } - if (temp_r31->unk38 == 0) { - if (temp_r29->unk_0C == -1 && temp_r31->unkB2 == PAD_BUTTON_A) { - if (fn_1_4CDC(temp_r31->unkA, temp_r31->unk40)) { - fn_1_B0E8(object, 3, 4); - fn_1_B130(object, 0, 8); -#if VERSION_PAL - temp_r31->unk3C_pal = 0; -#endif - } - } - } - else { - if (temp_r31->unk38 == 3) { - if (fn_1_9A04_CHECK) { -#if VERSION_PAL - temp_r31->unk3C_pal = 1; -#endif - temp_r31->unk5C = fn_1_4B14(temp_r31->unkA, temp_r31->unk40, &temp_r31->unk7E); - if (temp_r31->unk5C != -1) { - if (temp_r31->unkA == 0) { - HuAudFXPlay(1668); - } - else { - HuAudFXPlay(1673); - } - if (temp_r31->unk7E != 0) { - omVibrate(temp_r31->unk4, 12, 6, 6); - if (temp_r31->unkA == 0) { - fn_1_B494(1666, 0.5f * REFRESH_RATE); - } - else { - fn_1_B494(1671, 0.5f * REFRESH_RATE); - } - } - else { - if (temp_r31->unkA == 0) { - fn_1_B494(1667, 0.5f * REFRESH_RATE); - } - else { - fn_1_B494(1672, 0.5f * REFRESH_RATE); - } - } - temp_r31->unk70++; - Hu3DModelPosSet(temp_r31->unk5C, 0, 0, 0); - Hu3DModelHookSet(object->model[0], lbl_1_data_230[temp_r31->unk8], temp_r31->unk5C); - fn_1_B150(object, fn_1_AA40); - } - } - } - } + Bss61CWork *temp_r31; + ModelData *temp_r29; + + temp_r29 = &Hu3DData[object->model[0]]; + temp_r31 = object->data; + if(fn_1_2090(28) != 12 || fn_1_2090(224) != 0) { + return; + } + if(fn_1_4724() == 2) { + return; + } + if(fn_1_ABA0(object, 192) != 0) { + return; + } + if(temp_r31->unk38 == 0) { + if(temp_r29->unk_0C == -1 && temp_r31->unkB2 == PAD_BUTTON_A) { + if(fn_1_4CDC(temp_r31->unkA, temp_r31->unk40)) { + fn_1_B0E8(object, 3, 4); + fn_1_B130(object, 0, 8); + } + } + } else { + if(temp_r31->unk38 == 3) { + if(temp_r29->unk_0C == -1 && temp_r29->unk_64 == 14.0f) { + temp_r31->unk5C = fn_1_4B14(temp_r31->unkA, temp_r31->unk40, &temp_r31->unk7E); + if(temp_r31->unk5C != -1) { + if(temp_r31->unkA == 0) { + HuAudFXPlay(1668); + } else { + HuAudFXPlay(1673); + } + if(temp_r31->unk7E != 0) { + omVibrate(temp_r31->unk4, 12, 6, 6); + if(temp_r31->unkA == 0) { + fn_1_B494(1666, 30); + } else { + fn_1_B494(1671, 30); + } + } else { + if(temp_r31->unkA == 0) { + fn_1_B494(1667, 30); + } else { + fn_1_B494(1672, 30); + } + } + temp_r31->unk70++; + Hu3DModelPosSet(temp_r31->unk5C, 0, 0, 0); + Hu3DModelHookSet(object->model[0], lbl_1_data_230[temp_r31->unk8], temp_r31->unk5C); + fn_1_B150(object, fn_1_AA40); + } + } + } + } } void fn_1_9C5C(omObjData *object) { - float temp_f31; - Bss61CWork *temp_r31; - Bss12CStruct *temp_r30; - s8 temp_r29; - u32 temp_r27; - temp_r31 = object->data; - temp_r30 = &lbl_1_bss_12C[temp_r31->unkA]; - temp_r29 = 0; - if ((temp_r27 = fn_1_ABA0(object, 192)) == 0) { - return; - } - if (temp_r27 == 192) { - temp_r29 = 1; - } - else if (temp_r27 == 64) { - temp_r31->unk44.x += 0.3f; - if (temp_r31->unk44.x > 1.5f) { - temp_r31->unk44.x = 1.5f; - } - temp_r31->unk44.y += temp_r31->unk44.x; - temp_f31 = lbl_1_bss_62C[temp_r31->unk42].unk4; - if (temp_r31->unk40 == 9 && temp_r31->unk42 == 0) { - temp_f31 += 360.0f; - } - else { - if (temp_r31->unk44.y >= 360.0f) { - temp_r31->unk44.y -= 360.0f; - } - } - temp_r31->unk44.z = ABS(temp_r31->unk44.y - temp_f31); - if (temp_r31->unk44.y >= temp_f31) { - temp_r29 = 1; - } - } - else { - temp_r31->unk44.x -= 0.3f; - if (temp_r31->unk44.x < -1.5f) { - temp_r31->unk44.x = -1.5f; - } - temp_r31->unk44.y += temp_r31->unk44.x; - temp_f31 = lbl_1_bss_62C[temp_r31->unk42].unk4; - if (temp_r31->unk42 == 9 && temp_r31->unk40 == 0) { - if (temp_r31->unk44.y < 0.0f) { - temp_r31->unk44.y += 360.0f; - } - else { - temp_f31 -= 360.0f; - } - } - else { - if (temp_r31->unk42 == 0 || temp_r31->unk40 == 0) { - if (temp_r31->unk44.y < 0.0f) { - temp_r31->unk44.y += 360.0f; - temp_f31 += 360.0f; - } - } - else { - if (temp_r31->unk44.y < 0.0f) { - temp_r31->unk44.y += 360.0f; - } - } - } - temp_r31->unk44.z = ABS(temp_r31->unk44.y - temp_f31); - if (temp_r31->unk44.y <= temp_f31) { - temp_r29 = 1; - } - } - if (temp_r29 != 0) { - temp_r31->unk44.x = 0; - temp_r31->unk44.y = lbl_1_bss_62C[temp_r31->unk42].unk4; - temp_r31->unk0 &= ~0xE0; - } - temp_r31->unk40 = (temp_r31->unk44.y / 360.0f) * 10.0f; - if (temp_r31->unk40 >= 10) { - temp_r31->unk40 -= 10; - } - temp_r31->unk24.x = ((temp_r30->unk18 + temp_r31->unk10) * sind(temp_r31->unk44.y)) + temp_r30->unkC.x; - temp_r31->unk24.y = temp_r30->unkC.y; - temp_r31->unk24.z = ((temp_r30->unk18 + temp_r31->unk10) * cosd(temp_r31->unk44.y)) + temp_r30->unkC.z; - fn_1_B0E8(object, 2, 8); + float temp_f31; + Bss61CWork *temp_r31; + Bss12CStruct *temp_r30; + s8 temp_r29; + u32 temp_r27; + temp_r31 = object->data; + temp_r30 = &lbl_1_bss_12C[temp_r31->unkA]; + temp_r29 = 0; + if((temp_r27 = fn_1_ABA0(object, 192)) == 0) { + return; + } + if(temp_r27 == 192) { + temp_r29 = 1; + } else if(temp_r27 == 64) { + temp_r31->unk44.x += 0.3f; + if(temp_r31->unk44.x > 1.5f) { + temp_r31->unk44.x = 1.5f; + } + temp_r31->unk44.y += temp_r31->unk44.x; + temp_f31 = lbl_1_bss_62C[temp_r31->unk42].unk4; + if(temp_r31->unk40 == 9 && temp_r31->unk42 == 0) { + temp_f31 += 360.0f; + } else { + if(temp_r31->unk44.y >= 360.0f) { + temp_r31->unk44.y -= 360.0f; + } + } + temp_r31->unk44.z = ABS(temp_r31->unk44.y-temp_f31); + if(temp_r31->unk44.y >= temp_f31) { + temp_r29 = 1; + } + } else { + temp_r31->unk44.x -= 0.3f; + if(temp_r31->unk44.x < -1.5f) { + temp_r31->unk44.x = -1.5f; + } + temp_r31->unk44.y += temp_r31->unk44.x; + temp_f31 = lbl_1_bss_62C[temp_r31->unk42].unk4; + if(temp_r31->unk42 == 9 && temp_r31->unk40 == 0) { + if(temp_r31->unk44.y < 0.0f) { + temp_r31->unk44.y += 360.0f; + } else { + temp_f31 -= 360.0f; + } + } else { + if(temp_r31->unk42 == 0 || temp_r31->unk40 == 0) { + if(temp_r31->unk44.y < 0.0f) { + temp_r31->unk44.y += 360.0f; + temp_f31 += 360.0f; + } + } else { + if(temp_r31->unk44.y < 0.0f) { + temp_r31->unk44.y += 360.0f; + } + } + } + temp_r31->unk44.z = ABS(temp_r31->unk44.y-temp_f31); + if(temp_r31->unk44.y <= temp_f31) { + temp_r29 = 1; + } + } + if(temp_r29 != 0) { + temp_r31->unk44.x = 0; + temp_r31->unk44.y = lbl_1_bss_62C[temp_r31->unk42].unk4; + temp_r31->unk0 &= ~0xE0; + } + temp_r31->unk40 = (temp_r31->unk44.y/360.0f)*10.0f; + if(temp_r31->unk40 >= 10) { + temp_r31->unk40 -= 10; + } + temp_r31->unk24.x = ((temp_r30->unk18+temp_r31->unk10)*sind(temp_r31->unk44.y))+temp_r30->unkC.x; + temp_r31->unk24.y = temp_r30->unkC.y; + temp_r31->unk24.z = ((temp_r30->unk18+temp_r31->unk10)*cosd(temp_r31->unk44.y))+temp_r30->unkC.z; + fn_1_B0E8(object, 2, 8); } void fn_1_A0F8(omObjData *object) { - Vec sp8; - Bss61CWork *temp_r31; - ModelData *temp_r29; - Bss12CStruct *temp_r28; - s32 temp_r27; - temp_r29 = &Hu3DData[object->model[0]]; - temp_r31 = object->data; - temp_r28 = &lbl_1_bss_12C[temp_r31->unkA]; - temp_r27 = 0; - if (temp_r31->unk38 == 3 || temp_r31->unk38 == 5) { - return; - } - sp8.x = temp_r31->unk24.x - temp_r29->pos.x; - sp8.z = temp_r31->unk24.z - temp_r29->pos.z; - if (0.0f == sp8.x && 0.0f == sp8.z) { - if (fn_1_2090(224) == 0 && temp_r31->unk38 == 2 && (temp_r31->unkB0 & PAD_BUTTON_A)) { - temp_r31->unk7A = 1; - } - if (temp_r31->unk78 == 0) { - sp8.x = temp_r28->unkC.x - temp_r31->unk24.x; - sp8.z = temp_r28->unkC.z - temp_r31->unk24.z; - temp_r31->unk8C.x = temp_r31->unk30; - temp_r31->unk8C.y = atan2d(sp8.x, sp8.z); - temp_r31->unk8C.z = 0; - if (temp_r31->unk8C.y < 0.0f) { - temp_r31->unk8C.y += 360.0f; - } - temp_r31->unk78 = 1; - } - temp_r31->unk8C.z += 0.1f; - if (temp_r31->unk8C.z >= 1.0f) { - temp_r31->unk8C.z = 1.0f; - if (temp_r31->unk7A == 0) { - fn_1_B0E8(object, 0, 8); - } - else { - if (fn_1_4CDC(temp_r31->unkA, temp_r31->unk40) && fn_1_2090(28) == 12 && fn_1_2090(224) == 0 && fn_1_4724() < 2) { - fn_1_B0E8(object, 3, 4); - fn_1_B130(object, 0, 8); -#if VERSION_PAL - temp_r31->unk3C_pal = 0; -#endif - temp_r27 = 1; - } - if (temp_r27 == 0) { - fn_1_B0E8(object, 0, 8); - } - } - temp_r31->unk7A = 0; - } - temp_r31->unk30 = fn_1_6504(temp_r31->unk8C.x, temp_r31->unk8C.y, temp_r31->unk8C.z); - } - else { - temp_r31->unk78 = temp_r31->unk7A = 0; - temp_r31->unk30 = atan2d(sp8.x, sp8.z); - if (temp_r31->unk30 < 0.0f) { - temp_r31->unk30 += 360.0f; - } - } - lbl_1_bss_9C[object->work[0]] = temp_r31->unk0 & 0xC0; + Vec sp8; + Bss61CWork *temp_r31; + ModelData *temp_r29; + Bss12CStruct *temp_r28; + s32 temp_r27; + temp_r29 = &Hu3DData[object->model[0]]; + temp_r31 = object->data; + temp_r28 = &lbl_1_bss_12C[temp_r31->unkA]; + temp_r27 = 0; + if(temp_r31->unk38 == 3 || temp_r31->unk38 == 5) { + return; + } + sp8.x = temp_r31->unk24.x-temp_r29->pos.x; + sp8.z = temp_r31->unk24.z-temp_r29->pos.z; + if(0.0f == sp8.x && 0.0f == sp8.z) { + if(fn_1_2090(224) == 0 && temp_r31->unk38 == 2 && (temp_r31->unkB0 & PAD_BUTTON_A)) { + temp_r31->unk7A = 1; + } + if(temp_r31->unk78 == 0) { + sp8.x = temp_r28->unkC.x-temp_r31->unk24.x; + sp8.z = temp_r28->unkC.z-temp_r31->unk24.z; + temp_r31->unk8C.x = temp_r31->unk30; + temp_r31->unk8C.y = atan2d(sp8.x, sp8.z); + temp_r31->unk8C.z = 0; + if(temp_r31->unk8C.y < 0.0f) { + temp_r31->unk8C.y += 360.0f; + } + temp_r31->unk78 = 1; + } + temp_r31->unk8C.z += 0.1f; + if(temp_r31->unk8C.z >= 1.0f) { + temp_r31->unk8C.z = 1.0f; + if(temp_r31->unk7A == 0) { + fn_1_B0E8(object, 0, 8); + } else { + if(fn_1_4CDC(temp_r31->unkA, temp_r31->unk40) && fn_1_2090(28) == 12 && fn_1_2090(224) == 0 && fn_1_4724() < 2) { + fn_1_B0E8(object, 3, 4); + fn_1_B130(object, 0, 8); + temp_r27 = 1; + } + if(temp_r27 == 0) { + fn_1_B0E8(object, 0, 8); + } + } + temp_r31->unk7A = 0; + } + temp_r31->unk30 = fn_1_6504(temp_r31->unk8C.x, temp_r31->unk8C.y, temp_r31->unk8C.z); + } else { + temp_r31->unk78 = temp_r31->unk7A = 0; + temp_r31->unk30 = atan2d(sp8.x, sp8.z); + if(temp_r31->unk30 < 0.0f) { + temp_r31->unk30 += 360.0f; + } + + } + lbl_1_bss_9C[object->work[0]] = temp_r31->unk0 & 0xC0; } void fn_1_A450(omObjData *object) { - float temp_f31; - Bss61CWork *temp_r31; - s32 temp_r29; - ModelData *temp_r28; - temp_r28 = &Hu3DData[object->model[0]]; - temp_r31 = object->data; - if (temp_r31->unk38 == 3) { - return; - } - temp_r31->unk7A = 0; - switch (temp_r31->unk80) { - case 0: - temp_r31->unk9C.y += 0.05f; - if (temp_r31->unk9C.y > 1.0f) { - temp_r31->unk9C.y = 1.0f; - temp_r31->unk80++; - } - temp_r29 = fn_1_2090(28); - if (temp_r29 >= 16 && lbl_1_bss_4) { - temp_f31 = CRot.y; - } - else { - temp_f31 = 0.0f; - } - if (temp_f31 < 0.0f) { - temp_f31 += 360.0f; - } - else if (temp_f31 >= 360.0f) { - temp_f31 -= 360.0f; - } - temp_r31->unk30 = fn_1_6504(temp_r31->unk9C.x, temp_f31, temp_r31->unk9C.y); - fn_1_B0E8(object, 2, 8); - break; - - case 1: - temp_r31->unk3A = -1; - temp_r29 = fn_1_2090(28); - if (temp_r29 >= 16 && lbl_1_bss_4) { - if (temp_r31->unkAC == 0) { - fn_1_B0E8(object, 6, 4); - } - else { - fn_1_B0E8(object, 7, 4); - } - temp_r31->unk80 = 99; - } - else { - fn_1_B0E8(object, 4, 4); - HuAudCharVoicePlay(temp_r31->unk8, 290); - temp_r31->unk80++; - } - break; - - case 2: - if (temp_r28->unk_0C == -1) { - if (Hu3DMotionTimeGet(object->model[0]) >= Hu3DMotionMaxTimeGet(object->model[0]) - 1.0f) { - fn_1_B0E8(object, 1, 8); - temp_r31->unk9C.y = 0; - temp_r31->unk80++; - } - } - break; - - case 3: - temp_r31->unk9C.y += 0.05f; - if (temp_r31->unk9C.y > 1.0f) { - if (fn_1_2090(1)) { - fn_1_2050(2, 2); - } - fn_1_B0E8(object, 0, 8); - fn_1_ABC0(object, 0x600, 0); - temp_r31->unk9C.y = 1.0f; - temp_r31->unk80++; - } - if (!temp_r31->unkAC) { - temp_r31->unk30 = fn_1_6504(0, temp_r31->unk9C.x, temp_r31->unk9C.y); - } - break; - } + float temp_f31; + Bss61CWork *temp_r31; + s32 temp_r29; + ModelData *temp_r28; + temp_r28 = &Hu3DData[object->model[0]]; + temp_r31 = object->data; + if(temp_r31->unk38 == 3) { + return; + } + temp_r31->unk7A = 0; + switch(temp_r31->unk80) { + case 0: + temp_r31->unk9C.y += 0.05f; + if(temp_r31->unk9C.y > 1.0f) { + temp_r31->unk9C.y = 1.0f; + temp_r31->unk80++; + } + temp_r29 = fn_1_2090(28); + if(temp_r29 >= 16 && lbl_1_bss_4) { + temp_f31 = CRot.y; + } else { + temp_f31 = 0.0f; + } + if(temp_f31 < 0.0f) { + temp_f31 += 360.0f; + } else if(temp_f31 >= 360.0f) { + temp_f31 -= 360.0f; + } + temp_r31->unk30 = fn_1_6504(temp_r31->unk9C.x, temp_f31, temp_r31->unk9C.y); + fn_1_B0E8(object, 2, 8); + break; + + case 1: + temp_r31->unk3A = -1; + temp_r29 = fn_1_2090(28); + if(temp_r29 >= 16 && lbl_1_bss_4) { + if(temp_r31->unkAC == 0) { + fn_1_B0E8(object, 6, 4); + } else { + fn_1_B0E8(object, 7, 4); + } + temp_r31->unk80 = 99; + } else { + fn_1_B0E8(object, 4, 4); + HuAudCharVoicePlay(temp_r31->unk8, 290); + temp_r31->unk80++; + } + break; + + case 2: + if(temp_r28->unk_0C == -1) { + if(Hu3DMotionTimeGet(object->model[0]) >= Hu3DMotionMaxTimeGet(object->model[0])-1.0f){ + fn_1_B0E8(object, 1, 8); + temp_r31->unk9C.y = 0; + temp_r31->unk80++; + } + } + break; + + case 3: + temp_r31->unk9C.y += 0.05f; + if(temp_r31->unk9C.y > 1.0f) { + if(fn_1_2090(1)) { + fn_1_2050(2, 2); + } + fn_1_B0E8(object, 0, 8); + fn_1_ABC0(object, 0x600, 0); + temp_r31->unk9C.y = 1.0f; + temp_r31->unk80++; + } + if(!temp_r31->unkAC) { + temp_r31->unk30 = fn_1_6504(0, temp_r31->unk9C.x, temp_r31->unk9C.y); + } + break; + } } void fn_1_A7D0(s16 arg0) { - Bss61CWork *temp_r31; - Bss12CStruct *temp_r30; - s16 temp_r29; - s16 temp_r28; - temp_r30 = &lbl_1_bss_12C[arg0]; - if (arg0 == -1) { - return; - } - for (temp_r29 = 0; temp_r29 < 1; temp_r29++) { - if (temp_r29 == 0) { - temp_r30 = &lbl_1_bss_12C[arg0]; - } - else { - temp_r30 = &lbl_1_bss_12C[arg0 ^ 1]; - } - for (temp_r28 = 0; temp_r28 < temp_r30->unk8; temp_r28++) { - temp_r31 = lbl_1_bss_61C[temp_r30->unk0[temp_r28]]->data; - temp_r31->unk80 = 0; - temp_r31->unk9C.x = temp_r31->unk30; - temp_r31->unk9C.y = 0; - temp_r31->unk0 &= ~0x600; - - if (temp_r29 == 0) { - temp_r31->unk0 |= 0x200; - } - else { - temp_r31->unk0 |= 0x400; - } - } - } + Bss61CWork *temp_r31; + Bss12CStruct *temp_r30; + s16 temp_r29; + s16 temp_r28; + temp_r30 = &lbl_1_bss_12C[arg0]; + if(arg0 == -1) { + return; + } + for(temp_r29=0; temp_r29<1; temp_r29++) { + if(temp_r29 == 0) { + temp_r30 = &lbl_1_bss_12C[arg0]; + } else { + temp_r30 = &lbl_1_bss_12C[arg0^1]; + } + for(temp_r28=0; temp_r28unk8; temp_r28++) { + temp_r31 = lbl_1_bss_61C[temp_r30->unk0[temp_r28]]->data; + temp_r31->unk80 = 0; + temp_r31->unk9C.x = temp_r31->unk30; + temp_r31->unk9C.y = 0; + temp_r31->unk0 &= ~0x600; + + if(temp_r29 == 0) { + temp_r31->unk0 |= 0x200; + } else { + temp_r31->unk0 |= 0x400; + } + } + } } void fn_1_A904(s16 arg0) { - Bss61CWork *temp_r31; - Bss12CStruct *temp_r30; - s16 temp_r29; - s16 temp_r28; - temp_r30 = &lbl_1_bss_12C[arg0]; - if (arg0 == -1) { - return; - } - for (temp_r29 = 0; temp_r29 < 1; temp_r29++) { - if (temp_r29 == 0) { - temp_r30 = &lbl_1_bss_12C[arg0]; - } - else { - temp_r30 = &lbl_1_bss_12C[arg0 ^ 1]; - } - for (temp_r28 = 0; temp_r28 < temp_r30->unk8; temp_r28++) { - temp_r31 = lbl_1_bss_61C[temp_r30->unk0[temp_r28]]->data; - temp_r31->unk80 = 1; - temp_r31->unk9C.x = temp_r31->unk30; - temp_r31->unk9C.y = 0; - temp_r31->unk0 &= ~0x600; - - if (temp_r29 == 0) { - temp_r31->unk0 |= 0x200; - } - else { - temp_r31->unk0 |= 0x400; - } - temp_r31->unkAC = 1; - } - } + Bss61CWork *temp_r31; + Bss12CStruct *temp_r30; + s16 temp_r29; + s16 temp_r28; + temp_r30 = &lbl_1_bss_12C[arg0]; + if(arg0 == -1) { + return; + } + for(temp_r29=0; temp_r29<1; temp_r29++) { + if(temp_r29 == 0) { + temp_r30 = &lbl_1_bss_12C[arg0]; + } else { + temp_r30 = &lbl_1_bss_12C[arg0^1]; + } + for(temp_r28=0; temp_r28unk8; temp_r28++) { + temp_r31 = lbl_1_bss_61C[temp_r30->unk0[temp_r28]]->data; + temp_r31->unk80 = 1; + temp_r31->unk9C.x = temp_r31->unk30; + temp_r31->unk9C.y = 0; + temp_r31->unk0 &= ~0x600; + + if(temp_r29 == 0) { + temp_r31->unk0 |= 0x200; + } else { + temp_r31->unk0 |= 0x400; + } + temp_r31->unkAC = 1; + } + } } void fn_1_AC80(omObjData *object, Vec *arg1); @@ -1084,232 +1041,228 @@ void fn_1_B16C(omObjData *object); void fn_1_AA40(omObjData *object) { - Vec sp8; - Bss61CWork *temp_r30; - temp_r30 = object->data; - fn_1_AC80(object, &sp8); - fn_1_5B70(sp8.x, sp8.y, sp8.z, 20, NULL, -1); - Hu3DModelAttrSet(temp_r30->unk5C, HU3D_ATTR_DISPOFF); - Hu3DModelHookReset(object->model[0]); - temp_r30->unk5C = -1; - if (temp_r30->unk7E == 0) { - fn_1_B0E8(object, 5, 4); - fn_1_B130(object, 0, 8); - } - fn_1_B16C(object); + Vec sp8; + Bss61CWork *temp_r30; + temp_r30 = object->data; + fn_1_AC80(object, &sp8); + fn_1_5B70(sp8.x, sp8.y, sp8.z, 20, NULL, -1); + Hu3DModelAttrSet(temp_r30->unk5C, 1); + Hu3DModelHookReset(object->model[0]); + temp_r30->unk5C = -1; + if(temp_r30->unk7E == 0) { + fn_1_B0E8(object, 5, 4); + fn_1_B130(object, 0, 8); + } + fn_1_B16C(object); } Bss61CWork *fn_1_AAF0(omObjData *object) { - Bss12CStruct *temp_r31; - s16 temp_r30; - Bss61CWork *temp_r29 = object->data; - s32 sp8 = 0; - - temp_r31 = &lbl_1_bss_12C[temp_r29->unkA]; - for (temp_r30 = 0; temp_r30 < temp_r31->unk8; temp_r30++) { - if (object->work[temp_r30] != temp_r31->unk0[temp_r30]) { - return lbl_1_bss_61C[temp_r31->unk0[temp_r30]]->data; - } - } - return NULL; + Bss12CStruct *temp_r31; + s16 temp_r30; + Bss61CWork *temp_r29 = object->data; + s32 sp8 = 0; + + temp_r31= &lbl_1_bss_12C[temp_r29->unkA]; + for(temp_r30=0; temp_r30unk8; temp_r30++) { + if(object->work[temp_r30] != temp_r31->unk0[temp_r30]) { + return lbl_1_bss_61C[temp_r31->unk0[temp_r30]]->data; + } + } + return NULL; } u32 fn_1_ABA0(omObjData *object, u32 arg1) { - Bss61CWork *temp_r31 = object->data; - return temp_r31->unk0 & arg1; + Bss61CWork *temp_r31 = object->data; + return temp_r31->unk0 & arg1; } void fn_1_ABC0(omObjData *object, u32 arg1, u32 arg2) { - Bss61CWork *temp_r31 = object->data; - temp_r31->unk0 &= ~arg1; - temp_r31->unk0 |= arg2; + Bss61CWork *temp_r31 = object->data; + temp_r31->unk0 &= ~arg1; + temp_r31->unk0 |= arg2; } void fn_1_ABF0(s16 arg0, u32 arg1, u32 arg2) { - Bss12CStruct *temp_r31; - Bss61CWork *temp_r30; - s16 temp_r29; - temp_r31 = &lbl_1_bss_12C[arg0]; - for (temp_r29 = 0; temp_r29 < temp_r31->unk8; temp_r29++) { - temp_r30 = lbl_1_bss_61C[temp_r31->unk0[temp_r29]]->data; - temp_r30->unk0 &= ~arg1; - temp_r30->unk0 |= arg2; - } + Bss12CStruct *temp_r31; + Bss61CWork *temp_r30; + s16 temp_r29; + temp_r31= &lbl_1_bss_12C[arg0]; + for(temp_r29=0; temp_r29unk8; temp_r29++) { + temp_r30 = lbl_1_bss_61C[temp_r31->unk0[temp_r29]]->data; + temp_r30->unk0 &= ~arg1; + temp_r30->unk0 |= arg2; + } } void fn_1_AC80(omObjData *object, Vec *arg1) { - Bss61CWork *temp_r31; - float temp_f31; - temp_r31 = object->data; - temp_f31 = lbl_1_bss_62C[temp_r31->unk40].unk4; - arg1->x = temp_r31->unk24.x - (50.0 * sind(temp_f31)); - arg1->y = temp_r31->unk24.y + 100; - arg1->z = temp_r31->unk24.z - (50.0 * cosd(temp_f31)); + Bss61CWork *temp_r31; + float temp_f31; + temp_r31 = object->data; + temp_f31 = lbl_1_bss_62C[temp_r31->unk40].unk4; + arg1->x = temp_r31->unk24.x-(50.0*sind(temp_f31)); + arg1->y = temp_r31->unk24.y+100; + arg1->z = temp_r31->unk24.z-(50.0*cosd(temp_f31)); } float fn_1_AD88(s8 arg0) { - float temp_f31; - if (arg0 > 65) { - arg0 = 65; - } - else if (arg0 < -65) { - arg0 = -65; - } - temp_f31 = arg0; - temp_f31 /= 65.0f; - return temp_f31; + float temp_f31; + if(arg0 > 65) { + arg0 = 65; + } else if(arg0 < -65) { + arg0 = -65; + } + temp_f31 = arg0; + temp_f31 /= 65.0f; + return temp_f31; } float fn_1_AE04(s8 arg0, s8 arg1) { - float temp_f30; - temp_f30 = 0.01539 * VECMagPoint(arg0, arg1, 0); - if (temp_f30 > 1.0f) { - temp_f30 = 1.0f; - } - return temp_f30; + float temp_f30; + temp_f30 = 0.01539*VECMagPoint(arg0, arg1, 0); + if(temp_f30 > 1.0f) { + temp_f30 = 1.0f; + } + return temp_f30; } void fn_1_B0E8(omObjData *object, s16 arg1, u32 arg2) { - Bss61CWork *temp_r31 = object->data; - if (temp_r31->unk38 != arg1) { - temp_r31->unk0 &= ~0xF; - temp_r31->unk38 = arg1; - temp_r31->unk0 |= arg2; - } + Bss61CWork *temp_r31 = object->data; + if(temp_r31->unk38 != arg1) { + temp_r31->unk0 &= ~0xF; + temp_r31->unk38 = arg1; + temp_r31->unk0 |= arg2; + } } void fn_1_B130(omObjData *object, s16 arg1, u32 arg2) { - Bss61CWork *temp_r31 = object->data; - temp_r31->unk3A = arg1; - temp_r31->unk3C = arg2; + Bss61CWork *temp_r31 = object->data; + temp_r31->unk3A = arg1; + temp_r31->unk3C = arg2; } void fn_1_B150(omObjData *object, omObjFunc arg1) { - Bss61CWork *temp_r31 = object->data; - temp_r31->unk34 = arg1; + Bss61CWork *temp_r31 = object->data; + temp_r31->unk34 = arg1; } void fn_1_B16C(omObjData *object) { - fn_1_B150(object, NULL); + fn_1_B150(object, NULL); } void fn_1_B18C(omObjData *object) { - Bss61CWork *temp_r31; - u32 temp_r28; - ModelData *temp_r27; - omObjFunc temp_r25; - temp_r27 = &Hu3DData[object->model[0]]; - temp_r31 = object->data; - if (temp_r31->unk0 & 0x1) { - if (temp_r31->unk3A != -1 && temp_r27->unk_0C == -1) { - if (Hu3DMotionTimeGet(object->model[0]) >= Hu3DMotionMaxTimeGet(object->model[0])) { - fn_1_B0E8(object, temp_r31->unk3A, temp_r31->unk3C); - temp_r31->unk3A = -1; - if (temp_r31->unk34) { - temp_r25 = temp_r31->unk34; - temp_r25(object); - } - } - } - else { - return; - } - } - else { - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_REV); - switch (temp_r31->unk0 & 0xC) { - case 0: - temp_r28 = HU3D_MOTATTR_PAUSE; - break; - - case 4: - temp_r28 = HU3D_MOTATTR_NONE; - break; - - case 8: - temp_r28 = HU3D_MOTATTR_LOOP; - break; - } - if (temp_r31->unk0 & 0x2) { - Hu3DMotionSet(object->model[0], object->motion[temp_r31->unk38]); - Hu3DModelAttrSet(object->model[0], temp_r28); - } - else { - Hu3DMotionShiftSet(object->model[0], object->motion[temp_r31->unk38], 0, 8, temp_r28); - } - temp_r31->unk0 |= 0x1; - } + Bss61CWork *temp_r31; + u32 temp_r28; + ModelData *temp_r27; + omObjFunc temp_r25; + temp_r27 = &Hu3DData[object->model[0]]; + temp_r31 = object->data; + if(temp_r31->unk0 & 0x1) { + if(temp_r31->unk3A != -1 && temp_r27->unk_0C == -1) { + if(Hu3DMotionTimeGet(object->model[0]) >= Hu3DMotionMaxTimeGet(object->model[0])) { + fn_1_B0E8(object, temp_r31->unk3A, temp_r31->unk3C); + temp_r31->unk3A = -1; + if(temp_r31->unk34) { + temp_r25 = temp_r31->unk34; + temp_r25(object); + } + } + } else { + return; + } + } else { + Hu3DModelAttrReset(object->model[0], 0x40000007); + switch(temp_r31->unk0 & 0xC) { + case 0: + temp_r28 = 0x40000002; + break; + + case 4: + temp_r28 = 0; + break; + + case 8: + temp_r28 = 0x40000001; + break; + } + if(temp_r31->unk0 & 0x2) { + Hu3DMotionSet(object->model[0], object->motion[temp_r31->unk38]); + Hu3DModelAttrSet(object->model[0], temp_r28); + } else { + Hu3DMotionShiftSet(object->model[0], object->motion[temp_r31->unk38], 0, 8, temp_r28); + } + temp_r31->unk0 |= 0x1; + } } void fn_1_B404(omObjData *object); void fn_1_B384(Process *objman) { - s32 *temp_r31; - s32 temp_r30; - omAddObjEx(objman, 100, 0, 0, -1, fn_1_B404); - temp_r31 = &lbl_1_bss_AC[0][0]; - for (temp_r30 = 0; temp_r30 < 16; temp_r30++, temp_r31 += 2) { - temp_r31[0] = -1; - temp_r31[1] = -1; - } + s32 *temp_r31; + s32 temp_r30; + omAddObjEx(objman, 100, 0, 0, -1, fn_1_B404); + temp_r31 = &lbl_1_bss_AC[0][0]; + for(temp_r30=0; temp_r30<16; temp_r30++, temp_r31 += 2) { + temp_r31[0] = -1; + temp_r31[1] = -1; + } } void fn_1_B404(omObjData *object) { - s32 *temp_r31; - s32 temp_r30; - temp_r31 = &lbl_1_bss_AC[0][0]; - for (temp_r30 = 0; temp_r30 < 16; temp_r30++, temp_r31 += 2) { - if (temp_r31[0] >= 0 && temp_r31[1] > 0) { - if (--temp_r31[1] <= 0) { - HuAudFXPlay(temp_r31[0]); - temp_r31[0] = -1; - temp_r31[1] = -1; - } - } - } + s32 *temp_r31; + s32 temp_r30; + temp_r31 = &lbl_1_bss_AC[0][0]; + for(temp_r30=0; temp_r30<16; temp_r30++, temp_r31 += 2) { + if(temp_r31[0] >= 0 && temp_r31[1] > 0) { + if(--temp_r31[1] <= 0) { + HuAudFXPlay(temp_r31[0]); + temp_r31[0] = -1; + temp_r31[1] = -1; + } + } + } } s32 fn_1_B494(s32 arg0, s32 arg1) { - s32 *temp_r31; - s32 temp_r30; - temp_r31 = &lbl_1_bss_AC[0][0]; - for (temp_r30 = 0; temp_r30 < 16; temp_r30++, temp_r31 += 2) { - if (temp_r31[0] == -1) { - break; - } - } - if (temp_r30 >= 16) { - return -1; - } - temp_r31[0] = arg0; - temp_r31[1] = arg1; - return temp_r30; + s32 *temp_r31; + s32 temp_r30; + temp_r31 = &lbl_1_bss_AC[0][0]; + for(temp_r30=0; temp_r30<16; temp_r30++, temp_r31 += 2) { + if(temp_r31[0] == -1) { + break; + } + } + if(temp_r30 >= 16) { + return -1; + } + temp_r31[0] = arg0; + temp_r31[1] = arg1; + return temp_r30; } s16 fn_1_B4F8(float arg0) { - return 10.0f * (arg0 / 360.0f); + return 10.0f*(arg0/360.0f); } s16 fn_1_B530(s16 arg0) { - if (arg0 >= 0 && arg0 <= 4) { - return 0; - } - return 1; + if(arg0 >= 0 && arg0 <= 4) { + return 0; + } + return 1; } diff --git a/src/REL/m432Dll/main.c b/src/REL/m432Dll/main.c deleted file mode 100644 index 038512c9..00000000 --- a/src/REL/m432Dll/main.c +++ /dev/null @@ -1,3784 +0,0 @@ -#include "REL/executor.h" -#include "dolphin/types.h" -#include "game/chrman.h" -#include "game/frand.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/wipe.h" - -#include "game/gamework.h" -#include "game/gamework_data.h" - -#include "game/mapspace.h" -#include "game/pad.h" -#include "game/printfunc.h" - -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" - -#include "game/esprite.h" -#include "game/sprite.h" - -#include "ext_math.h" - -#include "string.h" -#include "version.h" - -#ifndef __MWERKS__ -#include "game/audio.h" -#include "game/hsfex.h" - -void HuSysVWaitSet(s16 vcount); -#endif - -#undef ABS -#define ABS(x) ((0 > (x)) ? -(x) : (x)) - -typedef struct unk_bss_5D0_struct { - /* 0x00 */ u16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ struct unk_bss_5D0_struct *unk04; - /* 0x08 */ struct unk_bss_5D0_struct *unk08; -} UnkBss5D0Struct; // Size 0xC - -typedef struct unk_bss_5B8_struct { - /* 0x00 */ HsfanimStruct00 *unk00; - /* 0x04 */ s32 *unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ struct unk_bss_5B8_struct *unk10; - /* 0x14 */ struct unk_bss_5B8_struct *unk14; -} UnkBss5B8Struct; // Size 0x18 - -typedef struct { - /* 0x00 */ u32 unk00; - /* 0x04 */ s16 unk04; -} UnkBss428Struct; // Size 8 - -UnkBss5D0Struct lbl_1_bss_5D0; -UnkBss5B8Struct lbl_1_bss_5B8; -Process *lbl_1_bss_5B4; -Vec lbl_1_bss_5A8; -Vec lbl_1_bss_59C; -Vec lbl_1_bss_590; -Vec lbl_1_bss_584; -u32 lbl_1_bss_580; -s32 lbl_1_bss_57C; -u32 lbl_1_bss_578; // TODO maybe array? -s16 lbl_1_bss_576; -s16 lbl_1_bss_574; -s32 lbl_1_bss_570; -s32 lbl_1_bss_56C; -float lbl_1_bss_568; -s32 lbl_1_bss_528[16]; -UnkBss428Struct lbl_1_bss_428[32]; - -#if VERSION_NTSC -#define _1606_BY_REFRESH_RATE 26.766666f -#else -#define _1606_BY_REFRESH_RATE 32.120003f -#endif - -void fn_1_0(void) -{ - lbl_1_bss_5D0.unk04 = NULL; - lbl_1_bss_5D0.unk08 = NULL; -} - -void fn_1_24(u16 arg0, s16 arg1) -{ - UnkBss5D0Struct *temp_r31; - UnkBss5D0Struct *temp_r30; - UnkBss5D0Struct *temp_r29; - - temp_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(*temp_r31), MEMORY_DEFAULT_NUM); - temp_r31->unk00 = arg0; - temp_r31->unk02 = arg1; - temp_r30 = &lbl_1_bss_5D0; - temp_r29 = temp_r30->unk08; - temp_r30->unk08 = temp_r31; - if (NULL != temp_r29) { - temp_r29->unk04 = temp_r31; - } - temp_r31->unk04 = temp_r30; - temp_r31->unk08 = temp_r29; -} - -s16 fn_1_AC(s16 arg0) -{ - UnkBss5D0Struct *var_r31; - UnkBss5D0Struct *temp_r29; - UnkBss5D0Struct *temp_r30; - s16 temp_r28; - - var_r31 = lbl_1_bss_5D0.unk08; - while (NULL != var_r31) { - if (arg0 == var_r31->unk00) { - temp_r28 = var_r31->unk02; - temp_r29 = var_r31->unk04; - temp_r30 = var_r31->unk08; - temp_r29->unk08 = temp_r30; - if (NULL != temp_r30) { - temp_r30->unk04 = temp_r29; - } - HuMemDirectFree(var_r31); - return temp_r28; - } - var_r31 = var_r31->unk08; - } - return -1; -} - -void fn_1_150(void) -{ - lbl_1_bss_5B8.unk10 = NULL; - lbl_1_bss_5B8.unk14 = NULL; -} - -void fn_1_174(s16 arg0, HsfanimStruct00 *arg1, s32 arg2, s32 arg3, s32 arg4, Vec *arg5, u8 arg6) -{ - UnkBss5B8Struct *temp_r27; - UnkBss5B8Struct *var_r31; - UnkBss5B8Struct *temp_r28; - s32 i; - - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(*var_r31), MEMORY_DEFAULT_NUM); - var_r31->unk00 = arg1; - var_r31->unk08 = arg3; - var_r31->unk0C = arg4; - var_r31->unk04 = HuMemDirectMallocNum(HEAP_SYSTEM, arg4 * sizeof(*var_r31->unk04), MEMORY_DEFAULT_NUM); - for (i = 0; i < arg4; i++, arg5++) { - var_r31->unk04[i] = Hu3DParManLink(arg0, arg1); - if (var_r31->unk04[i] >= 0) { - Hu3DParManAttrReset(var_r31->unk04[i], 1); - Hu3DParManPosSet(var_r31->unk04[i], arg5->x, arg5->y, arg5->z); - Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(var_r31->unk04[i]), arg6); - Hu3DModelLayerSet(Hu3DParManModelIDGet(var_r31->unk04[i]), arg2); - } - } - temp_r28 = &lbl_1_bss_5B8; - temp_r27 = temp_r28->unk14; - temp_r28->unk14 = var_r31; - if (NULL != temp_r27) { - temp_r27->unk10 = var_r31; - } - var_r31->unk10 = temp_r28; - var_r31->unk14 = temp_r27; -} - -void fn_1_2D8(void) -{ - UnkBss5B8Struct *var_r31; - UnkBss5B8Struct *temp_r28; - UnkBss5B8Struct *temp_r29; - s32 i; - - var_r31 = lbl_1_bss_5B8.unk14; - while (NULL != var_r31) { - var_r31->unk08--; - if (var_r31->unk08 == 0) { - for (i = 0; i < var_r31->unk0C; i++) { - if (var_r31->unk04[i] >= 0) { - Hu3DParManAttrSet(var_r31->unk04[i], 1); - } - } - } - temp_r28 = var_r31->unk10; - temp_r29 = var_r31->unk14; - if (-var_r31->unk00->unk00 > var_r31->unk08) { - for (i = 0; i < var_r31->unk0C; i++) { - if (var_r31->unk04[i] >= 0) { - Hu3DParManKill(var_r31->unk04[i]); - } - } - temp_r28->unk14 = temp_r29; - if (NULL != temp_r29) { - temp_r29->unk10 = temp_r28; - } - HuMemDirectFree(var_r31->unk04); - HuMemDirectFree(var_r31); - } - var_r31 = temp_r29; - } -} - -void fn_1_414(void) -{ - s32 i; - - for (i = 0; i < 32; i++) { - lbl_1_bss_428[i].unk00 = 0; - lbl_1_bss_428[i].unk04 = -1; - } -} - -s16 fn_1_46C(s32 arg0) -{ - s32 i; - - for (i = 0; i < 32; i++) { - if (arg0 == lbl_1_bss_428[i].unk00) { - return Hu3DModelLink(lbl_1_bss_428[i].unk04); - } - } - for (i = 0; i < 32; i++) { - if (lbl_1_bss_428[i].unk00 == 0) { - lbl_1_bss_428[i].unk00 = arg0; - lbl_1_bss_428[i].unk04 = Hu3DModelCreateFile(arg0); - return lbl_1_bss_428[i].unk04; - } - } - return Hu3DModelCreateFile(arg0); -} - -void fn_1_580(s32 *arg0, s32 arg1, s32 arg2) -{ - s32 var_r30; - - espBankSet(arg0[arg1 + 1], 10); - espBankSet(arg0[arg1 + 4], 11); - if (600 * REFRESH_RATE <= arg2) { - arg2 = 600 * REFRESH_RATE - 1; - } - var_r30 = arg2 / (60 * REFRESH_RATE); - arg2 -= var_r30 * (60 * REFRESH_RATE); - if (var_r30 > 9) { - var_r30 = 9; - } - espBankSet(arg0[arg1], var_r30); - var_r30 = arg2 / REFRESH_RATE; - arg2 -= var_r30 * REFRESH_RATE; - espBankSet(arg0[arg1 + 2], var_r30 / 10); - espBankSet(arg0[arg1 + 3], var_r30 % 10); - var_r30 = 101.5f * arg2 / REFRESH_RATE; - espBankSet(arg0[arg1 + 5], var_r30 / 10); - espBankSet(arg0[arg1 + 6], var_r30 % 10); -} - -void fn_1_798(s32 arg0) -{ - lbl_1_bss_568 = 0.0f; - lbl_1_bss_578 = lbl_1_bss_57C; - GWMGRecordSet(arg0, lbl_1_bss_578); - fn_1_580(lbl_1_bss_528, 7, lbl_1_bss_57C); -} - -void fn_1_9EC(void) -{ - s32 i; - - for (i = 0; i < 16; i++) { - espDispOn(lbl_1_bss_528[i]); - } -} - -void fn_1_A40(void) -{ - float temp_f31; - s32 i; - - if (0.0f <= lbl_1_bss_568) { - lbl_1_bss_568 += 16.0f; - temp_f31 = 1.0 + 0.2f * sind(lbl_1_bss_568); - for (i = 7; i <= 14; i++) { - espScaleSet(lbl_1_bss_528[i], temp_f31, temp_f31); - } - } -} - -void fn_1_B4C(float arg0, s32 arg1) -{ - float temp_f30; - float temp_f31; - s32 i; - - temp_f31 = 288.0f; - temp_f30 = arg0; - lbl_1_bss_528[15] = espEntry(arg1, 0, 0); - espTPLvlSet(lbl_1_bss_528[15], 0.5f); - espColorSet(lbl_1_bss_528[15], 0, 0, 0); - espPosSet(lbl_1_bss_528[15], temp_f31, temp_f30); - temp_f31 = 248.0f; - temp_f30 = arg0 - 8.0f; - lbl_1_bss_528[14] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 55), 0, 0); - espPosSet(lbl_1_bss_528[14], temp_f31 - 18.0f, temp_f30); - for (i = 7; i <= 13; i++) { - lbl_1_bss_528[i] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 48), 0, 0); - espPosSet(lbl_1_bss_528[i], temp_f31, temp_f30); - temp_f31 += 16.0f; - } - fn_1_580(lbl_1_bss_528, 7, lbl_1_bss_578); - temp_f31 = 248.0f; - temp_f30 = arg0 + 8.0f; - for (i = 0; i <= 6; i++) { - lbl_1_bss_528[i] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 49), 0, 0); - espPosSet(lbl_1_bss_528[i], temp_f31, temp_f30); - temp_f31 += 16.0f; - } - fn_1_580(lbl_1_bss_528, 0, 0); - for (i = 0; i < 16; i++) { - espDrawNoSet(lbl_1_bss_528[i], 0); - espDispOff(lbl_1_bss_528[i]); - espAttrSet(lbl_1_bss_528[i], HUSPR_ATTR_NOANIM); - espPriSet(lbl_1_bss_528[i], 0x80 + i); - } -} - -void fn_1_11F4(float arg0, Vec *arg1, Vec *arg2, Vec *arg3) -{ - float temp_f31; - - if (1.0f < arg0) { - arg0 = 1.0f; - } - temp_f31 = sind(90.0f * arg0) * sind(90.0f * arg0); - arg3->x = arg1->x + temp_f31 * (arg2->x - arg1->x); - arg3->y = arg1->y + temp_f31 * (arg2->y - arg1->y); - arg3->z = arg1->z + temp_f31 * (arg2->z - arg1->z); -} - -void fn_1_1350(Vec *arg0, Vec *arg1, Vec *arg2) -{ - Hu3DCameraPosSetV(1, arg0, arg1, arg2); - lbl_1_bss_5A8 = *arg0; - lbl_1_bss_590 = *arg2; -} - -s32 fn_1_13DC(float arg0, Vec *arg1) -{ - Vec sp18; - Vec spC; - - fn_1_11F4(arg0, &lbl_1_bss_5A8, &lbl_1_bss_59C, &sp18); - fn_1_11F4(arg0, &lbl_1_bss_590, &lbl_1_bss_584, &spC); - Hu3DCameraPosSetV(1, &sp18, arg1, &spC); - if (1.0f <= arg0) { - return 1; - } - else { - lbl_1_bss_56C = 1; - return 0; - } -} - -void fn_1_1710(float arg0, Vec *arg1) -{ - Vec sp18; - Vec spC; - - fn_1_11F4(arg0, &lbl_1_bss_5A8, &lbl_1_bss_59C, &sp18); - fn_1_11F4(arg0, &lbl_1_bss_590, &lbl_1_bss_584, &spC); - fn_1_1350(&sp18, arg1, &spC); - lbl_1_bss_56C = 1; -} - -void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2) -{ - Mtx sp1C; - Vec sp10; - float temp_f30; - float temp_f29; - float temp_f28; - float temp_f31; - CameraData *temp_r31; - s32 i; - - for (i = 0; i < 16; i++) { - if (arg1 & (1 << i)) { - break; - } - } - temp_r31 = &Hu3DCamera[i]; - MTXLookAt(sp1C, &temp_r31->pos, &temp_r31->up, &temp_r31->target); - MTXMultVec(sp1C, arg0, &sp10); - temp_f30 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)) * temp_r31->aspect; - temp_f29 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)); - temp_f28 = 0.9f * temp_r31->viewport_x; - temp_f31 = 0.9f * temp_r31->viewport_w; - arg2->x = temp_f31 / 2 + sp10.x * ((temp_f31 / 2) / -temp_f30) + temp_f28; - arg2->y = temp_r31->viewport_h / 2 + sp10.y * ((temp_r31->viewport_h / 2) / temp_f29) + temp_r31->viewport_y; - arg2->z = 0.0f; -} - -void fn_1_1D18(s16 arg0, char *arg1, Vec *arg2) -{ - Mtx sp10; - - Hu3DModelObjMtxGet(arg0, arg1, sp10); - arg2->x = sp10[0][3]; - arg2->y = sp10[1][3]; - arg2->z = sp10[2][3]; -} - -void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3) -{ - Mtx spC; - ModelData *var_r30; - - var_r30 = &Hu3DData[arg0]; - Hu3DModelObjMtxGet(arg0, arg1, spC); - MTXConcat(var_r30->unk_F0, spC, spC); - if (NULL != arg3) { - MTXCopy(spC, arg3); - } - arg2->x = spC[0][3]; - arg2->y = spC[1][3]; - arg2->z = spC[2][3]; -} - -float fn_1_1E20(float arg0, float arg1, float arg2) -{ - float var_f31; - float var_f30; - - var_f31 = fmod(arg1 - arg0, 360.0); - if (0.0f > var_f31) { - var_f31 += 360.0f; - } - if (180.0f < var_f31) { - var_f31 -= 360.0f; - } - var_f30 = fmod(arg0 + var_f31 * arg2, 360.0); - if (0.0f > var_f30) { - var_f30 += 360.0f; - } - return var_f30; -} - -void fn_1_1F24(s32 arg0) -{ - lbl_1_bss_570 = HuAudSeqPlay(arg0); -} - -void fn_1_1F58(s32 arg0) -{ - if (lbl_1_bss_570 >= 0) { - if (arg0 < 0) { - arg0 = 1000; - } - HuAudSeqFadeOut(lbl_1_bss_570, arg0); - } - lbl_1_bss_570 = -1; -} - -void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) -{ - Vec sp18; - float var_f28; - s32 var_r30; - - sp18.x = 0.0f; - sp18.y = 0.0f; - sp18.z = 0.0f; - sp18.x = arg2 / 4.0f; - sp18.z = -(float)arg3 / 4.0f; - var_r30 = 0; - var_f28 = VECMagXZ(&sp18); - if (0.5f <= var_f28) { - if (10.0f <= var_f28) { - sp18.x /= var_f28; - sp18.z /= var_f28; - var_f28 = 10.0f; - sp18.x = 10.0f * sp18.x; - sp18.z = 10.0f * sp18.z; - } - *arg1 = fn_1_1E20(*arg1, atan2d(sp18.x, sp18.z), 0.4f); - if (8.0f <= var_f28) { - var_r30 = 2; - } - else { - var_r30 = 1; - } - } - VECAdd((Vec *)&arg0, &sp18, (Vec *)&arg0); -} - -s16 lbl_1_data_0[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; -s32 lbl_1_data_10[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; -float lbl_1_data_30[0xA] = { 70.0f, 70.0f, 70.0f, 70.0f, 70.0f, 70.0f, 70.0f, 70.0f, 70.0f, 100.0f }; -float lbl_1_data_58[0xA] = { - 150.0f, - 170.0f, - 190.0f, - 170.0f, - 160.0f, - 150.0f, - 180.0f, - 200.0f, - 150.0f, - 200.0f, -}; - -// these are copied from m461Dll/main.c -typedef void (*PlayerOldHook)(omObjData *obj); -typedef Vec *(*PlayerOldPosHook)(omObjData *obj); - -typedef struct work_playerold { - omObjData *unk_00; - PlayerOldHook unk_04; - PlayerOldPosHook unk_08; - PlayerOldHook unk_0C; - PlayerOldHook unk_10; - s32 *unk_14; - s32 unk_18; - s32 unk_1C; - s32 unk_20; - s32 unk_24; - s32 unk_28; - s32 unk_2C; - s32 unk_30; - s32 unk_34; - s32 unk_38; - s32 unk_3C; - s32 unk_40; - s32 unk_44; - s32 unk_48; - s32 unk_4C; - Vec *unk_50; - Vec unk_54; - float unk_60; - s32 unk_64; - Vec *unk_68; - Vec unk_6C; - Vec unk_78; - Vec unk_84; - Vec unk_90; - float unk_9C; - float unk_A0; - float unk_A4; - float unk_A8; - Vec unk_AC; - float unk_B8; - float unk_BC; - float unk_C0; -} WorkPlayerOld; - -typedef WorkPlayerOld *(*PlayerOldFind)(int no); - -PlayerOldFind lbl_1_bss_424; -float lbl_1_bss_420; - -void fn_1_23B4(WorkPlayerOld *player) -{ - s32 i; - for (i = 0; i < 8; i++) { - if (player->unk_44 == player->unk_14[i]) { - player->unk_40 = lbl_1_data_10[i]; - return; - } - } - player->unk_40 = -1; -} - -void fn_1_2418(float *minDist, s32 *state, s32 stateNew, Vec *posA, float aYOfs, Vec *posB, float bYOfs) -{ - Vec pointA = *posA; - Vec pointB = *posB; - float dist; - pointA.y += aYOfs; - pointB.y += bYOfs; - dist = VECDistance(&pointA, &pointB); - if (*minDist > dist) { - *minDist = dist; - *state = stateNew; - } -} - -void fn_1_24F8(WorkPlayerOld *player1, WorkPlayerOld *player2, float *minDist, s32 *state) -{ - *minDist = 10 * (player1->unk_BC + player2->unk_BC); - fn_1_2418(minDist, state, 0, &player1->unk_6C, player1->unk_BC, &player2->unk_6C, player2->unk_BC); - fn_1_2418(minDist, state, 1, &player1->unk_6C, player1->unk_C0 - player1->unk_BC, &player2->unk_6C, player2->unk_C0 - player2->unk_BC); - fn_1_2418(minDist, state, 2, &player1->unk_6C, player1->unk_BC, &player2->unk_6C, player2->unk_C0 - player2->unk_BC); - fn_1_2418(minDist, state, 3, &player1->unk_6C, player1->unk_C0 - player1->unk_BC, &player2->unk_6C, player2->unk_BC); -} - -s32 fn_1_2824(WorkPlayerOld *player, WorkPlayerOld *player2) -{ - Vec dir; - Vec dir2; - float dist; - - player->unk_3C |= 0x1; - player->unk_90.x = player->unk_20 / 4.0f; - player->unk_90.z = -(float)player->unk_24 / 4.0f; - if (player->unk_90.x != 0.0f || player->unk_90.z != 0.0f) { - return; - } - VECSubtract(&player->unk_6C, &player2->unk_6C, &dir); - dist = VECMagXZ(&dir); - if (0.0f == dist) { - dir.x = 0; - dir.z = -1; - } - else { - dir.x /= dist; - dir.z /= dist; - } - VECSubtract(&player->unk_6C, &player->unk_78, &dir2); - dist = VECMagXZ(&dir2); - if (5 > dist) { - dist = 5; - } - player->unk_90.x = dir.x * dist; - player->unk_90.z = dir.z * dist; -} - -void fn_1_2BD0(WorkPlayerOld *player, float arg1, float arg2) -{ - player->unk_38 = 1; - player->unk_84.y = arg1; - player->unk_A4 = arg2; - if (player->unk_3C & 0x2) { - player->unk_3C &= ~0x2; - } -} - -void fn_1_2C00(PlayerOldFind find, float yDist) -{ - lbl_1_bss_424 = find; - lbl_1_bss_420 = yDist; -} - -void fn_1_2C1C(WorkPlayerOld *player, omObjData *obj, s32 arg2, s32 arg3, s32 *arg4, s32 arg5, Vec *pos, float arg7) -{ - player->unk_00 = obj; - player->unk_18 = arg2; - player->unk_1C = arg3; - player->unk_14 = arg4; - player->unk_04 = NULL; - player->unk_08 = NULL; - player->unk_0C = NULL; - player->unk_10 = NULL; - player->unk_50 = NULL; - player->unk_64 = 0; - player->unk_68 = 0; - player->unk_38 = 0; - player->unk_3C = 0; - player->unk_44 = arg5; - player->unk_48 = 0; - player->unk_4C = 0; - fn_1_23B4(player); - player->unk_9C = arg7; - player->unk_6C = *pos; - player->unk_78 = *pos; - player->unk_84.x = 0; - player->unk_84.y = 0; - player->unk_84.z = 0; - player->unk_B8 = 1; - player->unk_A8 = 0; - player->unk_BC = lbl_1_data_30[player->unk_1C]; - player->unk_C0 = lbl_1_data_58[player->unk_1C]; -} - -void fn_1_2DA8(WorkPlayerOld *player, PlayerOldHook func) -{ - player->unk_04 = func; -} - -void fn_1_2DB0(WorkPlayerOld *player, PlayerOldPosHook func) -{ - player->unk_08 = func; -} - -void fn_1_2DB8(WorkPlayerOld *player, PlayerOldHook func) -{ - player->unk_0C = func; -} - -void fn_1_2DC0(WorkPlayerOld *player, PlayerOldHook func) -{ - player->unk_10 = func; -} - -void fn_1_2DC8(WorkPlayerOld *player, s32 count, Vec *data) -{ - player->unk_64 = count; - player->unk_68 = data; -} - -void fn_1_2DD4(WorkPlayerOld *player) -{ - omSetTra(player->unk_00, player->unk_6C.x, player->unk_6C.y, player->unk_6C.z); - omSetRot(player->unk_00, 0.0f, player->unk_9C, 0.0f); -} - -void fn_1_2E34(WorkPlayerOld *player) -{ - BOOL addTime; - s32 i; - player->unk_3C &= ~0x100; - if (player->unk_3C & 0x8) { - return; - } - if (NULL == lbl_1_bss_424) { - return; - } - addTime = FALSE; - for (i = 0; i < 4; i++) { - WorkPlayerOld *player2 = lbl_1_bss_424(i); - BOOL fixPos; - float minDist; - s32 state; - if (player == player2) { - continue; - } - if (player2->unk_3C & 0x8) { - continue; - } - fixPos = FALSE; - fn_1_24F8(player, player2, &minDist, &state); - if (minDist < player->unk_BC + player2->unk_BC) { - if (state < 2) { - fixPos = TRUE; - if (player->unk_38 == 1) { - fn_1_2824(player, player2); - } - } - else { - if (state == 2 && player->unk_38 == 1) { - fn_1_2824(player, player2); - player->unk_3C |= 0x100; - player->unk_A4 = 0; - if (!(player2->unk_3C & 0x100)) { - player->unk_84.y = _1606_BY_REFRESH_RATE; - } - } - if (state == 3) { - fixPos = TRUE; - if (player->unk_38 == 1) { - if (0.0f < player->unk_84.y) { - player->unk_84.y = 0.0f; - } - player->unk_A4 = 0; - } - } - } - } - if (fixPos) { - Vec dir; - addTime = TRUE; - VECSubtract(&player->unk_6C, &player2->unk_6C, &dir); - if (0.0f == minDist) { - dir.x = 0; - dir.z = -1; - } - else { - dir.x /= minDist; - dir.z /= minDist; - } - player->unk_6C.x = player2->unk_6C.x + (dir.x * (player->unk_BC + player2->unk_BC)); - player->unk_6C.z = player2->unk_6C.z + (dir.z * (player->unk_BC + player2->unk_BC)); - } - } - if (addTime) { - player->unk_4C++; - } - else { - player->unk_4C = 0; - } -} - -float fn_1_39C4(WorkPlayerOld *player, float arg2) -{ - Vec *pos; - s32 i; - AddX = 0.0f; - AddZ = 0.0f; - MapWall(player->unk_BC, player->unk_6C.x, arg2 + player->unk_BC, player->unk_6C.z); - player->unk_6C.x += AddX; - player->unk_6C.z += AddZ; - if (NULL != player->unk_68) { - for (pos = player->unk_68, i = 0; i < player->unk_64; i++, pos += 2) { - int num = 0; - if (pos[0].x == pos[1].x || pos[0].x > player->unk_6C.x || pos[1].x < player->unk_6C.x) { - num++; - } - if (pos[0].y == pos[1].y || pos[0].y > player->unk_6C.y || pos[1].y < player->unk_6C.y) { - num++; - } - if (pos[0].z == pos[1].z || pos[0].z > player->unk_6C.z || pos[1].z < player->unk_6C.z) { - num++; - } - if (num == 3) { - if (pos[0].x != pos[1].x) { - if (pos[0].x > player->unk_6C.x) { - player->unk_6C.x = pos[0].x + player->unk_BC; - } - if (pos[1].x < player->unk_6C.x) { - player->unk_6C.x = pos[1].x - player->unk_BC; - } - } - if (pos[0].y != pos[1].y) { - if (pos[0].y > player->unk_6C.y) { - player->unk_6C.y = pos[0].y; - } - if (pos[1].y < player->unk_6C.y) { - player->unk_6C.y = pos[1].y; - } - } - if (pos[0].z != pos[1].z) { - if (pos[0].z > player->unk_6C.z) { - player->unk_6C.z = pos[0].z + player->unk_BC; - } - if (pos[1].z < player->unk_6C.z) { - player->unk_6C.z = pos[1].z - player->unk_BC; - } - } - } - } - } - return ABS(AddX) + ABS(AddZ); -} - -void fn_1_3CE0(WorkPlayerOld *player, s32 *state, u32 *motAttr) -{ - *motAttr = HU3D_MOTATTR_LOOP; - *state = 0; - if (0.5f <= player->unk_A0) { - if (7.0f <= player->unk_A0) { - *state = 2; - } - else { - *state = 1; - } - } - - if (player->unk_14[3] >= 0 && (player->unk_28 & 0x100)) { - fn_1_2BD0(player, _1606_BY_REFRESH_RATE, 1); - *motAttr = HU3D_MOTATTR_NONE; - *state = 3; - } -} - -void fn_1_3DB8(WorkPlayerOld *player, s32 *state, u32 *motAttr) -{ - if (0.0f < player->unk_A4) { - if (player->unk_2C & 0x100) { - player->unk_A4++; - if (4.0f < player->unk_A4) { - player->unk_A4 = 0; - } - else { - player->unk_84.y += 219.0f / REFRESH_RATE; - } - } - else { - player->unk_A4 = 0; - } - } - player->unk_84.y += -146.0f / REFRESH_RATE; - if (player->unk_14[5] >= 0 && (player->unk_28 & 0x140)) { - player->unk_38 = 3; - player->unk_84.y = 0; - player->unk_3C &= ~0x3; - player->unk_3C |= 0x4; - *motAttr = HU3D_MOTATTR_NONE; - *state = 5; - } -} - -void fn_1_3ECC(WorkPlayerOld *player, s32 *state, u32 *motAttr) -{ - if ((player->unk_3C & 0x1000) || Hu3DMotionEndCheck(player->unk_00->model[0])) { - player->unk_3C &= ~0x3; - if (player->unk_40 == 6) { - player->unk_38 = 4; - *motAttr = HU3D_MOTATTR_NONE; - *state = 7; - } - else { - player->unk_38 = 0; - *motAttr = HU3D_MOTATTR_LOOP; - *state = 0; - } - } -} - -void fn_1_3F84(WorkPlayerOld *player, s32 *state, u32 *motAttr) -{ - if (Hu3DMotionShiftIDGet(player->unk_00->model[0]) < 0 && Hu3DMotionEndCheck(player->unk_00->model[0])) { - fn_1_2BD0(player, 0.0f, 0.0f); - } -} - -void fn_1_4024(WorkPlayerOld *player, s32 *state, u32 *motAttr) -{ - if (Hu3DMotionShiftIDGet(player->unk_00->model[0]) < 0 && Hu3DMotionEndCheck(player->unk_00->model[0])) { - player->unk_3C &= ~0x4; - player->unk_38 = 0; - *motAttr = HU3D_MOTATTR_LOOP; - *state = 0; - } -} - -void fn_1_40C0(WorkPlayerOld *player) -{ - u32 motAttr = HU3D_MOTATTR_NONE; - s32 state = -1; - float temp_f28; - float temp_f23; - float temp_f22; - Vec *pos; - BOOL temp_r27; - if (player->unk_3C & 0x1) { - player->unk_84.x = player->unk_90.x; - player->unk_84.z = player->unk_90.z; - } - else { - player->unk_84.x = player->unk_20 / 4.0f; - player->unk_84.z = -(float)player->unk_24 / 4.0f; - if (player->unk_38 == 1 && 0.0f == player->unk_84.x && 0.0f == player->unk_84.z) { - player->unk_84.x = 0.98f * (player->unk_6C.x - player->unk_78.x); - player->unk_84.z = 0.98f * (player->unk_6C.z - player->unk_78.z); - } - if (player->unk_3C & 0x14) { - player->unk_84.x = 0; - player->unk_84.z = 0; - player->unk_28 = 0; - } - } - player->unk_78 = player->unk_6C; - player->unk_A0 = VECMagXZ(&player->unk_84); - if (0.5f <= player->unk_A0) { - if (10.0f <= player->unk_A0) { - player->unk_84.x /= player->unk_A0; - player->unk_84.z /= player->unk_A0; - player->unk_A0 = 10; - player->unk_84.x = 10 * player->unk_84.x; - player->unk_84.z = 10 * player->unk_84.z; - } - } - else { - player->unk_84.x = 0; - player->unk_84.z = 0; - player->unk_A0 = 0; - } - player->unk_84.x *= player->unk_B8; - player->unk_84.z *= player->unk_B8; - player->unk_A0 *= player->unk_B8; - if (player->unk_3C & 0x800) { - player->unk_28 |= 0x100; - player->unk_2C |= 0x100; - if (player->unk_38 == 1) { - if (0.0f == player->unk_A4) { - player->unk_3C &= ~0x800; - } - } - } - switch (player->unk_38) { - case 0: - fn_1_3CE0(player, &state, &motAttr); - break; - - case 1: - fn_1_3DB8(player, &state, &motAttr); - break; - - case 2: - fn_1_3ECC(player, &state, &motAttr); - break; - - case 3: - fn_1_3F84(player, &state, &motAttr); - break; - - case 4: - fn_1_4024(player, &state, &motAttr); - break; - - default: - OSReport("*** player action error(%d)!!\n", player->unk_38); - break; - } - if (player->unk_3C & 0x2000) { - player->unk_84.y = 0; - } - temp_f28 = 0; - if (50.0f < ABS(player->unk_84.y)) { - player->unk_84.y = 50.0f * ((0.0f > player->unk_84.y) ? -1 : 1); - } - if (player->unk_3C & 0x2) { - Mtx rotMtx; - MTXRotDeg(rotMtx, 'y', player->unk_50[2].x - player->unk_60); - MTXMultVec(rotMtx, &player->unk_54, &player->unk_54); - VECAdd(&player->unk_54, &player->unk_50[0], &player->unk_6C); - player->unk_9C += player->unk_50[2].x - player->unk_60; - } - temp_f22 = player->unk_6C.y; - VECAdd(&player->unk_6C, &player->unk_84, &player->unk_6C); - if ((player->unk_3C & 0x1) == 0 && (0.0f != player->unk_84.x || 0.0f != player->unk_84.z)) { - player->unk_9C = fn_1_1E20(player->unk_9C, atan2d(player->unk_84.x, player->unk_84.z), 0.4f * player->unk_B8); - } - temp_f28 += fn_1_39C4(player, temp_f22); - if (nMap == 0) { - player->unk_A8 = lbl_1_bss_420; - } - else { - player->unk_A8 = MapPos(player->unk_6C.x, player->unk_6C.y, player->unk_6C.z, player->unk_C0, &player->unk_AC); - } - temp_r27 = FALSE; - if (NULL != player->unk_08) { - pos = player->unk_08(player->unk_00); - if (NULL != pos) { - if (player->unk_A8 < pos[1].y) { - temp_r27 = TRUE; - player->unk_50 = pos; - player->unk_A8 = pos[1].y; - } - } - } - if (!temp_r27 && (player->unk_3C & 0x2)) { - player->unk_3C &= ~0x2; - } - if (player->unk_38 == 1 && player->unk_A8 >= player->unk_6C.y) { - player->unk_38 = 2; - player->unk_3C &= ~0x3; - player->unk_6C.y = player->unk_A8; - player->unk_84.y = 0; - motAttr = HU3D_MOTATTR_NONE; - state = 4; - if (player->unk_40 == 5) { - state = 6; - if (NULL != player->unk_10) { - player->unk_10(player->unk_00); - } - if (player->unk_18 < 4) { - omVibrate(player->unk_18, 12, 4, 2); - } - } - if (player->unk_3C & 0x200) { - state = -1; - if (NULL != player->unk_0C) { - player->unk_0C(player->unk_00); - } - } - if (temp_r27) { - player->unk_3C |= 0x2; - } - } - temp_f23 = player->unk_6C.y - player->unk_A8; - if (player->unk_38 == 0 && 10.0f < temp_f23) { - if ((player->unk_3C & 0x2000) == 0) { - if ((player->unk_3C & 0x400) != 0) { - player->unk_3C |= 0x800; - } - else { - fn_1_2BD0(player, 0.0f, 0.0f); - motAttr = HU3D_MOTATTR_NONE; - state = 3; - } - } - } - else if (temp_r27) { - if (!(player->unk_3C & 0x2)) { - player->unk_6C.y = player->unk_A8; - player->unk_3C |= 0x2; - } - } - fn_1_2E34(player); - if (NULL != player->unk_04) { - player->unk_04(player->unk_00); - } - temp_f28 += fn_1_39C4(player, player->unk_6C.y); - if (player->unk_3C & 0x2) { - player->unk_60 = player->unk_50[2].x; - VECSubtract(&player->unk_6C, &player->unk_50[0], &player->unk_54); - } - if (0.0f != temp_f28) { - player->unk_48++; - } - else { - player->unk_48 = 0; - } - if (state >= 0 && player->unk_40 != state) { - player->unk_40 = state; - player->unk_44 = player->unk_14[player->unk_40]; - if (player->unk_44 >= 0 && !(player->unk_3C & 0x20)) { - Hu3DMotionShiftSet(player->unk_00->model[0], player->unk_00->motion[player->unk_44], 0, 8, motAttr); - } - } -} - -void fn_1_4ED8(WorkPlayerOld *player, s32 motNo) -{ - s32 i; - player->unk_44 = motNo; - player->unk_38 = 0; - player->unk_3C &= 0x1400; - player->unk_78 = player->unk_6C; - player->unk_84.x = 0; - player->unk_84.y = 0; - player->unk_84.z = 0; - fn_1_23B4(player); - if (player->unk_40 == 3) { - Hu3DModelAttrReset(player->unk_00->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DMotionSet(player->unk_00->model[0], player->unk_00->motion[player->unk_44]); - Hu3DMotionTimeSet(player->unk_00->model[0], Hu3DMotionMaxTimeGet(player->unk_00->model[0]) - 1); - } - else if (player->unk_40 == 5) { - player->unk_38 = 3; - player->unk_3C |= 0x4; - Hu3DModelAttrReset(player->unk_00->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DMotionSet(player->unk_00->model[0], player->unk_00->motion[player->unk_44]); - Hu3DMotionTimeSet(player->unk_00->model[0], Hu3DMotionMaxTimeGet(player->unk_00->model[0]) - 1); - } - else { - Hu3DModelAttrReset(player->unk_00->model[0], HU3D_MOTATTR_PAUSE); - Hu3DMotionShiftSet(player->unk_00->model[0], player->unk_00->motion[player->unk_44], 0, 8, HU3D_MOTATTR_LOOP); - } -} - -void fn_1_5128(WorkPlayerOld *player, s32 attr) -{ - player->unk_3C |= attr; -} - -void fn_1_5138(WorkPlayerOld *player, s32 attr) -{ - player->unk_3C &= ~attr; -} - -#include "REL/m432data.h" - -typedef struct UnkBss0Struct { - /* 0x000 */ omObjData *unk_00; - /* 0x004 */ omObjData *unk_04; - /* 0x008 */ omObjData *unk_08; - /* 0x00C */ omObjData *unk_0C; - /* 0x010 */ UnkM432DllBss0SubStruct *unk_10[2]; - /* 0x018 */ s32 unk_18; - /* 0x01C */ Vec unk_1C; - /* 0x028 */ Vec unk_28; - /* 0x034 */ Vec unk_34; - /* 0x040 */ Vec unk_40; - /* 0x04C */ Vec unk_4C; - /* 0x058 */ Vec unk_58; - /* 0x064 */ float unk_64; - /* 0x068 */ float unk_68; - /* 0x06C */ float unk_6C; - /* 0x070 */ float unk_70; - /* 0x074 */ float unk_74; - /* 0x078 */ float unk_78; - /* 0x07C */ float unk_7C; - /* 0x080 */ float unk_80; - /* 0x084 */ float unk_84; - /* 0x088 */ Vec unk_88[4][3]; - /* 0x118 */ Vec unk_118; - /* 0x124 */ float unk_124; - /* 0x128 */ float unk_128; - /* 0x12C */ float unk_12C; - /* 0x130 */ Vec unk_130[8]; - /* 0x190 */ Vec unk_190; - /* 0x19C */ Vec unk_19C; - /* 0x1A8 */ Vec unk_1A8; - /* 0x1B4 */ s32 unk_1B4; - /* 0x1B8 */ s32 unk_1B8; - /* 0x1BC */ s32 unk_1BC; - /* 0x1C0 */ Vec unk_1C0; - /* 0x1CC */ s32 unk_1CC; - /* 0x1D0 */ s32 unk_1D0; - /* 0x1D4 */ float unk_1D4; - /* 0x1D8 */ s32 unk_1D8; - /* 0x1DC */ float unk_1DC; - /* 0x1E0 */ float unk_1E0; - /* 0x1E4 */ float unk_1E4; - /* 0x1E8 */ float unk_1E8; - /* 0x1EC */ float unk_1EC; - /* 0x1F0 */ float unk_1F0[2]; -} UnkBss0Struct; /* size = 0x1F8 */ - -typedef struct UnkM432DllStruct { - WorkPlayerOld unk_00; - s32 *unk_C4; - UnkM432DllBss0SubStruct *unk_C8; - UnkM432DllData1794Struct *unk_CC; - UnkM432DllBss0SubStruct *unk_D0; - s32 unk_D4[10]; - s32 unk_FC; - s32 unk_100; - float unk_104; - float unk_108; - float unk_10C; - float unk_110; - float unk_114; - s32 unk_118[9]; - Vec unk_13C; - float unk_148; - float unk_14C; - float unk_150; - float unk_154; - float unk_158; - float unk_15C; - float unk_160; - float unk_164; - s32 unk_168; - s32 unk_16C; - s32 unk_170; - s32 unk_174; - s32 unk_178; - s32 unk_17C; - s32 unk_180; - s32 unk_184; - s32 unk_188; - s32 unk_18C; - s32 unk_190; - s32 unk_194; -} UnkM432DllStruct; - -typedef struct UnkM432DllStruct2 { - Vec unk_00; - float unk_0C; - float unk_10; - float unk_14; - float unk_18; -} UnkM432DllStruct2; /* size = 0x1C */ - -void fn_1_10250(omObjData *object); -void fn_1_153BC(void); -void fn_1_1615C(omObjData *object); -void fn_1_6F28(UnkBss0Struct *arg0); -void fn_1_93BC(UnkM432DllStruct *arg0); - -omObjData *lbl_1_bss_41C; -omObjData **lbl_1_bss_418; -omObjData *lbl_1_bss_414; -// data UnkM432DllStruct -omObjData **lbl_1_bss_410; -s32 lbl_1_bss_40C; -AnimData *lbl_1_bss_408; -s16 lbl_1_bss_404; -s16 lbl_1_bss_402; -s16 lbl_1_bss_400; -s32 lbl_1_bss_3FC; -s32 lbl_1_bss_3F8; -s32 lbl_1_bss_3F4; -float lbl_1_bss_3F0; -UnkBss0Struct lbl_1_bss_0[2]; - -void fn_1_5148(UnkM432DllStruct *arg0) -{ - s32 var_r31; - - arg0->unk_D0 = 0; - arg0->unk_FC = 0; - arg0->unk_100 = 0; - arg0->unk_10C = 0.0f; - for (var_r31 = 0; var_r31 < 0xA; var_r31++) { - arg0->unk_D4[var_r31] = -1; - } -} - -UnkM432DllStruct *fn_1_51A8(s32 arg0) -{ - s32 var_r31; - UnkM432DllStruct *var_r30; - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = lbl_1_bss_410[var_r31]->data; - if (arg0 == var_r30->unk_184) { - return var_r30; - } - } - return NULL; -} - -UnkM432DllBss0SubStruct *fn_1_5208(s32 arg0, UnkM432DllBss0SubStruct *arg1) -{ - UnkM432DllBss0SubStruct *var_r31; - s32 var_r30; - s32 var_r29; - - for (var_r30 = 0; var_r30 < 2; var_r30++) { - var_r31 = lbl_1_bss_0[arg0].unk_10[var_r30]; - for (var_r29 = 0; var_r29 < 0x1F; var_r29++, var_r31++) { - if (strcmp(arg1->unk_04, var_r31->unk_00) == 0) { - return var_r31; - } - } - } - return NULL; -} - -inline void fn_1_52B8_inline(Vec *arg0, float arg8, float arg9, float argA) -{ - arg0->x = arg8; - arg0->y = arg9; - arg0->z = argA; -} - -void fn_1_52B8(UnkM432DllBss0SubStruct *arg0, Vec *arg1) -{ - Mtx sp8; - - fn_1_52B8_inline(arg1, 0.0f, 0.0f, arg0->unk_1C); - MTXRotRad(sp8, 0x79, 0.017453292f * arg0->unk_18); - MTXMultVec(sp8, arg1, arg1); - VECAdd(&arg0->unk_2C, arg1, arg1); -} - -void fn_1_5364(s32 arg0, omObjData *object) -{ - if (lbl_1_bss_0[arg0].unk_1D8 >= 0) { - lbl_1_bss_0[arg0].unk_1DC -= 1.0f / REFRESH_RATE; - if (0.0f >= lbl_1_bss_0[arg0].unk_1DC) { - HuAudFXStop(lbl_1_bss_0[arg0].unk_1D8); - lbl_1_bss_0[arg0].unk_1D8 = -1; - } - else { - HuAudFXPitchSet(lbl_1_bss_0[arg0].unk_1D8, (s32)(8191.0f * lbl_1_bss_0[arg0].unk_1DC)); - HuAudFXVolSet(lbl_1_bss_0[arg0].unk_1D8, (s32)(127.0f * lbl_1_bss_0[arg0].unk_1DC)); - } - } - lbl_1_bss_0[arg0].unk_88[0][2].x = lbl_1_bss_0[arg0].unk_80; - lbl_1_bss_0[arg0].unk_88[1][2].x = lbl_1_bss_0[arg0].unk_80; - Hu3DModelRotSet(object->model[20], 0.0f, lbl_1_bss_0[arg0].unk_80, 0.0f); - fn_1_1D18(object->model[20], "m432_13-player2A", &lbl_1_bss_0[arg0].unk_88[0][1]); - fn_1_1D18(object->model[20], "m432_13-player2B", &lbl_1_bss_0[arg0].unk_88[1][1]); - lbl_1_bss_0[arg0].unk_88[2][2].x = lbl_1_bss_0[arg0].unk_84; - lbl_1_bss_0[arg0].unk_88[3][2].x = lbl_1_bss_0[arg0].unk_84; - Hu3DModelRotSet(object->model[21], 0.0f, lbl_1_bss_0[arg0].unk_84, 0.0f); - fn_1_1D18(object->model[21], "m432_13-player2C", &lbl_1_bss_0[arg0].unk_88[2][1]); - fn_1_1D18(object->model[21], "m432_13-player2C", &lbl_1_bss_0[arg0].unk_88[3][1]); -} - -void fn_1_576C(s32 arg0, omObjData *arg1) -{ - float var_f31 = lbl_1_bss_0[arg0].unk_124 * (Hu3DMotionMaxTimeGet(arg1->model[22]) / 1000.0f); - lbl_1_bss_0[arg0].unk_128 += 0.02f * (var_f31 - lbl_1_bss_0[arg0].unk_128); - Hu3DMotionTimeSet(arg1->model[22], lbl_1_bss_0[arg0].unk_128); -} - -void fn_1_5848(UnkM432DllStruct *var_r28, UnkM432DllBss0SubStruct *var_r31) -{ - s32 sp20; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - - s32 var_r30; - s32 var_r27; - UnkM432DllStruct *var_r26; - UnkM432DllBss0SubStruct *var_r25; - UnkBss0Struct *var_r24; - s32 var_r21; - s32 var_r20; - char **var_r19; - u8 *var_r18; - - var_r20 = var_r31->unk_1C; - var_r26 = fn_1_51A8(var_r28->unk_184 ^ 1); - var_r24 = &lbl_1_bss_0[var_r28->unk_184 >> 1]; - sp20 = var_r24->unk_1B8; - var_r27 = 6; - var_r18 = lbl_1_data_4F0; - var_r19 = lbl_1_data_440; - if ((var_r31->unk_14 & 4) != 0) { - sp20 = var_r24->unk_1BC; - var_r27 = 0xA; - var_r18 = lbl_1_data_504; - var_r19 = lbl_1_data_4C8; - } - var_r30 = frandmod(var_r27 - 1); - for (var_r21 = 0; var_r21 < (var_r27 - 1); var_r21++) { - var_r30 = (var_r30 + 1) % (var_r27 - 1); - if ((var_r20 != var_r30) && (sp20 != var_r30) && (var_r30 != var_r18[var_r20])) { - var_r31->unk_04 = var_r19[var_r30]; - var_r25 = fn_1_5208(var_r28->unk_184 >> 1, var_r31); - var_f31 = var_r26->unk_00.unk_6C.x - var_r25->unk_2C.x; - var_f30 = var_r26->unk_00.unk_6C.z - var_r25->unk_2C.z; - if (200.0f < sqrtf((var_f31 * var_f31) + (var_f30 * var_f30))) { - break; - } - } - } - (void)var_r31; - (void)var_r31; - (void)var_r31; -} - -void fn_1_5BAC(UnkM432DllStruct *arg0, omObjData *object, UnkM432DllBss0SubStruct *arg2, UnkM432DllBss0SubStruct *arg3) -{ - Vec sp14; - Vec sp8; - float var_f31; - - var_f31 = arg2->unk_20.y; - if (25.0f <= arg3->unk_38) { - var_f31 -= 400.0f; - } - else { - var_f31 -= 8.0f * arg3->unk_38; - } - if ((arg2->unk_20.y == var_f31) && (0.0f > arg2->unk_2C.y) && (-1.0f < arg2->unk_2C.y)) { - arg2->unk_2C.y = 0.0f; - HuAudFXPlay(0x699); - } - arg2->unk_2C.y += 0.25f * (var_f31 - arg2->unk_2C.y); - if ((arg2->unk_40 < 0) && ((arg2->unk_20.y - 200.0f) > arg2->unk_2C.y)) { - fn_1_52B8_inline(&sp8, arg2->unk_2C.x - 80.0f, arg2->unk_20.y, arg2->unk_2C.z); - fn_1_52B8_inline(&sp14, 80.0f + arg2->unk_2C.x, arg2->unk_20.y, arg2->unk_2C.z); - fn_1_174(lbl_1_bss_404, &lbl_1_data_1814, 4, 4, 2, &sp8, 0); - HuAudFXPlay(0x69A); - } - Hu3DModelPosSet(object->model[arg2->unk_08], arg2->unk_2C.x, arg2->unk_2C.y, arg2->unk_2C.z); - if ((arg2->unk_20.y - 399.0f) > arg2->unk_2C.y) { - arg0->unk_17C++; - arg2->unk_14 = 0; - } -} - -void fn_1_5F2C(UnkM432DllStruct *arg0, UnkM432DllBss0SubStruct *arg1) -{ - float var_f31; - float var_f30; - UnkBss0Struct *var_r28; - s32 var_r25; - s32 var_r22; - char *var_r24; - - if ((arg0->unk_180 == 0x7D3) && !(arg1->unk_2C.y <= arg0->unk_00.unk_6C.y)) { - var_r28 = &lbl_1_bss_0[arg0->unk_184 >> 1]; - var_f31 = arg0->unk_00.unk_6C.x - arg1->unk_2C.x; - var_f30 = arg0->unk_00.unk_6C.z - arg1->unk_2C.z; - if (sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)) < 100.0f) { - arg0->unk_00.unk_3C |= 0x18; - arg0->unk_180 = 0x7D7; - arg0->unk_C4 = NULL; - var_r22 = arg1->unk_1C; - var_r25 = var_r28->unk_1B8; - var_r24 = lbl_1_data_440[5]; - if (arg1->unk_14 & 4) { - var_r25 = var_r28->unk_1BC; - var_r24 = lbl_1_data_4C8[9]; - } - if (var_r22 == var_r25) { - arg1->unk_04 = var_r24; - } - else { - fn_1_5848(arg0, arg1); - } - arg0->unk_C8 = fn_1_5208(arg0->unk_184 >> 1, arg1); - arg0->unk_D4[arg0->unk_FC] = arg1->unk_44 - arg0->unk_17C; - arg0->unk_FC = (arg0->unk_FC + 1) % 10; - } - } -} - -void fn_1_623C(UnkBss0Struct *arg0, s32 arg1, UnkM432DllStruct *arg2, UnkM432DllStruct *arg3) -{ - UnkM432DllBss0SubStruct *sp3C; - float var_f29; - float var_f28; - float var_f27; - float var_f23; - UnkM432DllBss0SubStruct *var_r31; - UnkM432DllStruct *var_r29; - omObjData *var_r28; - s32 var_r26; - s32 var_r19; - - var_f29 = 0.0f; - var_f28 = 0.0f; - var_f27 = 0.0f; - var_r28 = arg0->unk_04; - for (var_r26 = 0; var_r26 < 2; var_r26++) { - var_r29 = fn_1_51A8((var_r26 + (arg1 * 2))); - for (var_r31 = arg0->unk_10[var_r26], var_r19 = 0; var_r19 < 0x1F; var_r19++, var_r31++) { - if (var_r31->unk_14 & 0x600) { - if (1.0f < var_r31->unk_3C) { - var_r31->unk_3C = 1.0f; - } - var_r31->unk_38 = var_r31->unk_38 + var_r31->unk_3C; - var_r31->unk_3C = var_r31->unk_3C - 0.05f; - if (0.0f > var_r31->unk_3C) { - var_r31->unk_3C = 0.0f; - } - if (var_r31->unk_14 & 0x400) { - var_f29 += var_r31->unk_38; - } - if (var_r31->unk_14 & 0x200) { - var_f28 += var_r31->unk_38; - } - } - if (var_r31->unk_14 & 0x800) { - var_f27 += var_r31->unk_38; - } - if (NULL != var_r31->unk_04) { - sp3C = fn_1_5208(arg1, var_r31); - switch (var_r31->unk_14) { - case 3: - break; - case 1: - fn_1_5BAC(var_r29, var_r28, var_r31, sp3C); - break; - case 2: - case 4: - fn_1_5F2C(var_r29, var_r31); - break; - } - } - } - } - arg0->unk_80 = 80.0f + -var_f29; - arg0->unk_84 = 160.0f + -var_f28; - fn_1_5364(arg1, var_r28); - arg0->unk_124 = var_f27; - if (1000.0f <= arg0->unk_124) { - arg0->unk_124 = 1000.0f; - } - var_f23 = lbl_1_bss_0[arg1].unk_124 * (Hu3DMotionMaxTimeGet(var_r28->model[22]) / 1000.0f); - lbl_1_bss_0[arg1].unk_128 += 0.02f * (var_f23 - lbl_1_bss_0[arg1].unk_128); - Hu3DMotionTimeSet(var_r28->model[22], lbl_1_bss_0[arg1].unk_128); - if ((lbl_1_bss_3FC < 0) && (1000.0f <= arg0->unk_124)) { - lbl_1_bss_3FC = arg2->unk_184 & 2; - arg2->unk_17C += 4; - arg3->unk_17C += 4; - } -} - -void fn_1_6D34(UnkBss0Struct *arg0, UnkM432DllStruct *arg1, Vec *arg2) -{ - float var_f31; - float var_f30; - float var_f28; - float var_f27; - s32 var_r31; - - var_f27 = 100000.0f; - for (var_r31 = 0; var_r31 < 8; var_r31++) { - var_f31 = arg1->unk_00.unk_6C.x - arg0->unk_130[var_r31].x; - var_f30 = arg1->unk_00.unk_6C.z - arg0->unk_130[var_r31].z; - var_f28 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (var_f27 > var_f28) { - var_f27 = var_f28; - *arg2 = arg0->unk_130[var_r31]; - } - } -} - -void fn_1_6F28(UnkBss0Struct *arg0) -{ - float var_f31; - float var_f30; - float var_f26; - float var_f23; - - UnkM432DllStruct *var_r30 = arg0->unk_08->data; - - if (arg0->unk_1B4 < 0) { - fn_1_6D34(arg0, var_r30, &arg0->unk_190); - var_r30->unk_00.unk_3C |= 8; - var_r30->unk_180 = 0x7D9; - arg0->unk_190.y = 3000.0f; - arg0->unk_19C = arg0->unk_190; - arg0->unk_1B4 = 0; - Hu3DModelRotSet(arg0->unk_04->model[25], 0.0f, 0.0f, 0.0f); - Hu3DModelAttrReset(arg0->unk_04->model[25], HU3D_ATTR_DISPOFF); - } - switch (arg0->unk_1B4) { - case 0: - fn_1_40C0(&var_r30->unk_00); - var_f23 = var_r30->unk_00.unk_6C.y - arg0->unk_19C.y; - arg0->unk_190.y += 0.03f * var_f23; - if (50.0f > ABS(var_f23)) { - arg0->unk_1B4++; - arg0->unk_1A8 = arg0->unk_1C0; - arg0->unk_1A8.y += 900.0f; - arg0->unk_1A8.z -= 150.0f; - var_r30->unk_00.unk_6C = arg0->unk_19C; - var_r30->unk_00.unk_9C = 0.0f; - Hu3DMotionShiftSet(arg0->unk_08->model[0], arg0->unk_08->motion[6], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - break; - case 1: - if (50.0f > (0.0f > (arg0->unk_1A8.y - arg0->unk_190.y) ? -(arg0->unk_1A8.y - arg0->unk_190.y) : arg0->unk_1A8.y - arg0->unk_190.y)) { - arg0->unk_1B4++; - } - break; - case 2: - arg0->unk_1A8.y += 0.1f * (((900.0f + arg0->unk_1C0.y) - 200.0f) - arg0->unk_1A8.y); - if (((900.0f + arg0->unk_1C0.y) - 190.0f) > arg0->unk_1A8.y) { - arg0->unk_1B4++; - var_r30->unk_16C = 1; - var_r30->unk_180 = 0x7D3; - fn_1_4ED8(&var_r30->unk_00, 0); - var_r30->unk_00.unk_3C |= 0x210; - if (NULL != arg0->unk_0C) { - arg0->unk_1B4 = 4; - arg0->unk_08 = arg0->unk_0C; - var_r30 = arg0->unk_08->data; - fn_1_6D34(arg0, var_r30, &arg0->unk_1A8); - var_r30->unk_00.unk_3C |= 8; - var_r30->unk_180 = 0x7D9; - } - } - break; - case 3: - arg0->unk_1A8.y += 10.0f; - if ((2000.0f + arg0->unk_1C0.y) < arg0->unk_1A8.y) { - arg0->unk_08 = NULL; - Hu3DModelAttrSet(arg0->unk_04->model[25], HU3D_ATTR_DISPOFF); - return; - } - break; - case 4: - fn_1_40C0(&var_r30->unk_00); - var_f31 = arg0->unk_1A8.x - arg0->unk_190.x; - var_f30 = arg0->unk_1A8.z - arg0->unk_190.z; - arg0->unk_190.x += 0.05f * var_f31; - arg0->unk_190.y += 0.01f * (arg0->unk_1A8.y - arg0->unk_190.y); - arg0->unk_190.z += 0.05f * var_f30; - if (20.0f > sqrtf((var_f31 * var_f31) + (var_f30 * var_f30))) { - arg0->unk_19C = arg0->unk_190; - arg0->unk_1B4 = 0; - } - break; - } - if ((arg0->unk_1B4 > 0) && (arg0->unk_1B4 < 4)) { - if (arg0->unk_1B4 < 3) { - var_r30->unk_00.unk_6C = arg0->unk_19C; - fn_1_2DD4(&var_r30->unk_00); - } - var_f23 = 0.03f * (arg0->unk_1A8.y - arg0->unk_190.y); - arg0->unk_190.y += var_f23; - if (arg0->unk_1C0.y < arg0->unk_190.y) { - var_f26 = (arg0->unk_1A8.y - arg0->unk_190.y) / 900.0f; - if (0.1f > var_f26) { - var_f26 = 0.1f; - } - if (1.0f < var_f26) { - var_f26 = 1.0f; - } - var_f26 = 1.0f - var_f26; - arg0->unk_190.x += 0.03f * var_f26 * (arg0->unk_1A8.x - arg0->unk_190.x); - arg0->unk_190.z += 0.03f * var_f26 * (arg0->unk_1A8.z - arg0->unk_190.z); - } - } - Hu3DModelPosSet(arg0->unk_04->model[25], arg0->unk_190.x, arg0->unk_190.y, arg0->unk_190.z); - fn_1_1D18(arg0->unk_04->model[25], "g008m2_000-itemhook_sao", &arg0->unk_19C); -} - -void fn_1_7C1C(UnkBss0Struct *var_r31, UnkM432DllStruct *var_r30, UnkM432DllStruct *var_r29) -{ - float var_f31; - float var_f30; - - if ((var_r31->unk_7C == 0.0f) && ((0.0f < var_r31->unk_70) || (0.0f > var_r31->unk_74))) { - if (0.0f < var_r31->unk_70) { - var_r31->unk_28.y += 0.05f * (var_r31->unk_70 - var_r31->unk_28.y); - if (2.0f - > (0.0f > (var_r31->unk_70 - var_r31->unk_28.y) ? -(var_r31->unk_70 - var_r31->unk_28.y) : var_r31->unk_70 - var_r31->unk_28.y)) { - var_r31->unk_28.y = var_r31->unk_70; - var_r31->unk_70 = 0.0f; - } - } - if (0.0f > var_r31->unk_74) { - var_r31->unk_28.z += 0.05f * (var_r31->unk_74 - var_r31->unk_28.z); - if (2.0f - > (0.0f > (var_r31->unk_74 - var_r31->unk_28.z) ? -(var_r31->unk_74 - var_r31->unk_28.z) : var_r31->unk_74 - var_r31->unk_28.z)) { - var_r31->unk_28.z = var_r31->unk_74; - var_r31->unk_74 = 0.0f; - } - } - } - else { - var_f30 = var_r31->unk_1EC / var_r31->unk_1E8; - if (265.0f > var_f30) { - var_f31 = 0.2f * (265.0f - var_f30); - if (1.0f <= ABS(var_f31)) { - var_r31->unk_28.z -= var_f31; - } - } - switch (var_r31->unk_18) { - case 0: - if ((-7100.0f > var_r31->unk_28.z) && ((-7750.0f < var_r31->unk_1F0[0]) || (-7750.0f < var_r31->unk_1F0[1]))) { - var_r31->unk_28.z = -7100.0f; - } - if ((-7750.0f >= var_r31->unk_1F0[0]) && (-7750.0f >= var_r31->unk_1F0[1])) { - var_r31->unk_18++; - var_r31->unk_74 = -8700.0f; - var_r30->unk_17C += 3; - var_r30->unk_15C = -7750.0f; - var_r29->unk_17C += 3; - var_r29->unk_15C = -7750.0f; - fn_1_1D18(var_r31->unk_04->model[3], "m432_00-n1", &var_r31->unk_1C0); - return; - } - break; - case 1: - if ((-9500.0f > var_r31->unk_28.z) && ((-10200.0f < var_r31->unk_1F0[0]) || (-10200.0f < var_r31->unk_1F0[1]))) { - var_r31->unk_28.z = -9500.0f; - } - if ((-10200.0f >= var_r31->unk_1F0[0]) && (-10200.0f >= var_r31->unk_1F0[1])) { - var_r31->unk_18++; - var_r31->unk_74 = -11100.0f; - var_r30->unk_17C += 3; - var_r30->unk_15C = -10200.0f; - var_r29->unk_17C += 3; - var_r29->unk_15C = -10200.0f; - return; - } - break; - case 2: - if ((-11500.0f > var_r31->unk_28.z) && ((-12300.0f < var_r31->unk_1F0[0]) || (-12300.0f < var_r31->unk_1F0[1]))) { - var_r31->unk_28.z = -11500.0f; - } - if ((NULL != var_r30->unk_C8) && (var_r30->unk_C8->unk_14 & 8) && (NULL != var_r29->unk_C8) && ((var_r29->unk_C8->unk_14 & 8) != 0) - && (var_r30->unk_00.unk_38 == 0) && (var_r29->unk_00.unk_38 == 0)) { - var_r31->unk_18++; - var_r31->unk_1E4 = var_r30->unk_C8->unk_2C.y; - var_r31->unk_74 = -13500.0f; - var_r31->unk_70 = var_r30->unk_C8->unk_2C.y; - var_r30->unk_17C += 6; - var_r29->unk_17C += 6; - return; - } - break; - case 3: - if ((-13700.0f > var_r31->unk_28.z) && ((-14400.0f < var_r31->unk_1F0[0]) || (-14400.0f < var_r31->unk_1F0[1]))) { - var_r31->unk_28.z = -13700.0f; - } - if ((NULL != var_r30->unk_C8) && (var_r30->unk_C8->unk_14 & 0x10) && (NULL != var_r29->unk_C8) && (var_r29->unk_C8->unk_14 & 0x10) - && (var_r30->unk_00.unk_38 == 0) && (var_r29->unk_00.unk_38 == 0)) { - var_r31->unk_18++; - var_r31->unk_1E4 = var_r30->unk_C8->unk_2C.y; - var_r31->unk_74 = -15700.0f; - var_r31->unk_78 = 0.0f; - var_r31->unk_7C = 120.0f; - var_r31->unk_4C = var_r31->unk_28; - var_r31->unk_34 = var_r31->unk_1C; - var_r31->unk_58.x = var_r31->unk_28.x; - var_r31->unk_58.y = 400.0f + var_r30->unk_C8->unk_2C.y; - var_r31->unk_58.z = -15700.0f; - var_r31->unk_40 = var_r31->unk_58; - var_r31->unk_40.y = 800.0f + var_r30->unk_C8->unk_2C.y; - var_r31->unk_40.z += 3800.0f; - var_r30->unk_17C += 0xA; - var_r30->unk_148 = 0.0f; - fn_1_52B8(&lbl_1_bss_0[var_r30->unk_184 >> 1].unk_10[var_r30->unk_184 & 1][0x1B], &var_r30->unk_13C); - var_r29->unk_17C += 0xA; - var_r29->unk_148 = 0.0f; - fn_1_52B8(&lbl_1_bss_0[var_r29->unk_184 >> 1].unk_10[var_r29->unk_184 & 1][0x1B], &var_r29->unk_13C); - } - break; - } - } -} - -s32 fn_1_8540(UnkM432DllStruct *arg0) -{ - if (arg0->unk_17C >= 0x1F) { - return -1; - } - if (arg0->unk_17C >= 0x1B) { - return 3; - } - if (arg0->unk_17C >= 0xB) { - return 2; - } - if (arg0->unk_17C >= 5) { - return 1; - } - if (arg0->unk_17C >= 1) { - return 0; - } - return -1; -} - -UnkM432DllBss0SubStruct *fn_1_85AC(UnkM432DllStruct *arg0, UnkBss0Struct *arg1) -{ - UnkM432DllBss0SubStruct *var_r31 = arg1->unk_10[arg0->unk_184 & 1]; - s32 var_r30; - for (var_r30 = 0; var_r30 < 0x1F; var_r30++, var_r31++) { - if ((arg0->unk_17C <= var_r30) && (var_r31->unk_14 & 0xF00)) { - return var_r31; - } - } - return NULL; -} - -float fn_1_861C(UnkM432DllStruct *arg0, UnkBss0Struct *arg1, Vec *arg2) -{ - float var_f31; - float var_f30; - float var_f27; - float var_f28; - s32 var_r31; - - var_f28 = 100000.0f; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_f31 = arg0->unk_00.unk_6C.x - arg1->unk_88[var_r31][1].x; - var_f30 = arg0->unk_00.unk_6C.z - arg1->unk_88[var_r31][1].z; - var_f27 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (var_f28 > var_f27) { - var_f28 = var_f27; - *arg2 = arg1->unk_88[var_r31][1]; - } - } - return var_f28; -} - -void fn_1_8814(UnkM432DllStruct *arg0, s32 arg1, Vec *arg2) -{ - float var_f31; - float var_f30; - float var_f28; - float var_f27; - - var_f27 = 72.0f * arg0->unk_CC->unk_04; - var_f31 = arg2->x - arg0->unk_00.unk_6C.x; - var_f30 = arg2->z - arg0->unk_00.unk_6C.z; - var_f31 *= 4.0f; - var_f30 *= 4.0f; - var_f28 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (var_f27 < var_f28) { - var_f31 = var_f27 * (var_f31 / var_f28); - var_f30 = var_f27 * (var_f30 / var_f28); - } - arg0->unk_00.unk_20 = var_f31; - arg0->unk_00.unk_24 = -var_f30; -} - -void fn_1_8A14(UnkM432DllStruct *arg0, s32 arg1, UnkM432DllBss0SubStruct *arg2) -{ - Vec spC; - - if (NULL != arg2) { - spC = arg2->unk_2C; - if (arg2->unk_14 & 0xF00) { - fn_1_52B8(arg2, &spC); - } - fn_1_8814(arg0, 0, &spC); - } -} - -UnkM432DllBss0SubStruct *fn_1_8CB4(UnkM432DllStruct *arg0, UnkM432DllStruct *arg1, UnkBss0Struct *arg2) -{ - s32 var_r30; - UnkM432DllBss0SubStruct *var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r21; - s32 var_r20; - s32 var_r19; - - var_r29 = NULL; - if (arg0->unk_17C < 0x1F) { - var_r29 = &arg2->unk_10[arg0->unk_184 & 1][arg0->unk_17C]; - } - if (NULL == var_r29) { - return NULL; - } - if (var_r29->unk_14 & 2) { - var_r28 = 5; - var_r27 = arg2->unk_1B8; - var_r26 = 0; - var_r25 = 5; - } - else { - var_r28 = 9; - var_r27 = arg2->unk_1BC; - var_r26 = 0; - var_r25 = 9; - if (-14100.0f < arg0->unk_00.unk_6C.z) { - var_r26 = 3; - var_r25 = 9; - } - if (-13700.0f < arg0->unk_00.unk_6C.z) { - var_r26 = 0; - var_r25 = 6; - } - if (-13300.0f < arg0->unk_00.unk_6C.z) { - var_r26 = 0; - var_r25 = 3; - } - } - var_r30 = frandmod(var_r28); - for (var_r21 = 0; var_r21 < var_r28; var_r21++) { - var_r30 = (var_r30 + 1) % var_r28; - if ((var_r26 <= var_r30) && (var_r25 > var_r30) - && ((arg0->unk_100 != 0) || ((var_r27 != var_r30) && (((var_r29->unk_14 & 4) == 0) || (var_r30 <= 3))))) { - var_r24 = arg0->unk_FC; - var_r19 = 0; - for (var_r20 = 0; var_r20 < arg0->unk_CC->unk_18; var_r20++) { - var_r24--; - if (var_r24 < 0) { - var_r24 += 0xA; - } - if (var_r30 == arg0->unk_D4[var_r24]) { - var_r19 = 1; - } - } - if (var_r19 == 0) { - break; - } - } - } - if ((var_r21 == var_r28) || (var_r27 == var_r30)) { - var_r30 = frandmod(var_r28); - while (var_r30 == var_r27) { - var_r30 = (var_r30 + 1) % var_r28; - } - } - if (arg0->unk_CC->unk_1C < arg0->unk_100) { - var_r30 = var_r27; - } - if (NULL != arg1->unk_C8) { - if (var_r29->unk_14 & 2) { - if (arg1->unk_C8->unk_14 & 8) { - var_r30 = var_r27; - } - } - else if (arg1->unk_C8->unk_14 & 0x10) { - var_r30 = var_r27; - } - } - arg0->unk_100++; - (void)var_r26; - (void)var_r25; - return &var_r29[var_r30]; -} - -void fn_1_8F3C(UnkM432DllStruct *arg0, UnkBss0Struct *arg1, UnkM432DllBss0SubStruct *arg2, Vec *arg3) -{ - *arg3 = arg2->unk_2C; - if (arg0->unk_00.unk_48 >= 0x14) { - if (-12200.0f < arg0->unk_00.unk_6C.z) { - arg3->x = arg1->unk_28.x; - } - else if ((-13300.0f < arg0->unk_00.unk_6C.z) && (-13400.0f > arg2->unk_2C.z)) { - arg3->x = arg1->unk_28.x - 500.0f; - } - else if ((-13700.0f < arg0->unk_00.unk_6C.z) && (-13800.0f > arg2->unk_2C.z)) { - arg3->x = 500.0f + arg1->unk_28.x; - } - else if ((-13500.0f > arg0->unk_00.unk_6C.z) && (-13400.0f < arg2->unk_2C.z)) { - arg3->x = 500.0f + arg1->unk_28.x; - return; - } - } -} - -void fn_1_906C(UnkM432DllStruct *var_r31, UnkM432DllBss0SubStruct *var_r27) -{ - float var_f31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r30 = 0; - var_r29 = 0; - var_r28 = 0; - switch (var_r27->unk_14 & 0xF00) { - case 0x100: - var_r30 = 0x200; - var_r29 = 0x200; - break; - case 0x400: - var_r30 = 0x800; - var_r29 = 0x800; - var_r28 = 1; - break; - case 0x200: - var_r30 = 0x400; - var_r29 = 0x400; - var_r28 = 1; - break; - case 0x800: - if ((var_r31->unk_CC->unk_14 >= var_r31->unk_154) && (var_r31->unk_CC->unk_10 > var_r31->unk_158)) { - var_r31->unk_00.unk_34 = 0x96; - } - else if ((var_r31->unk_CC->unk_10 <= var_r31->unk_154) && (var_r31->unk_CC->unk_14 >= var_r31->unk_158)) { - var_r31->unk_00.unk_34 = 0x96; - } - else { - var_r31->unk_00.unk_30 = 0x96; - } - if (var_r31->unk_CC->unk_0C < frandf()) { - var_r31->unk_104 *= 0.99f; - } - if (var_r31->unk_CC->unk_00 > lbl_1_bss_57C) { - var_r31->unk_104 *= 0.99f; - } - else { - var_r31->unk_104 *= 1.01f; - } - if (0.5f > var_r31->unk_104) { - var_r31->unk_104 = 0.5f; - } - if (1.0f < var_r31->unk_104) { - var_r31->unk_104 = 1.0f; - } - var_r31->unk_00.unk_30 = var_r31->unk_00.unk_30 * var_r31->unk_104; - var_r31->unk_00.unk_34 = var_r31->unk_00.unk_34 * var_r31->unk_104; - break; - } - var_r31->unk_108 -= 1.0f; - if (0.0f > var_r31->unk_108) { - var_f31 = var_r31->unk_CC->unk_08; - if ((var_r28 != 0) && (GWPlayerCfg[var_r31->unk_188].diff == 3)) { - var_f31 = lbl_1_data_17D4.unk_08; - } - var_r31->unk_108 = var_f31 * (0.9f + (frandf() / 2)); - var_r31->unk_00.unk_28 |= var_r30; - var_r31->unk_00.unk_2C |= var_r29; - } -} - -void fn_1_93BC(UnkM432DllStruct *arg0) -{ - Vec spF8; - float spD0; - - float var_f31; - float var_f30; - - UnkM432DllBss0SubStruct *var_r30; - UnkBss0Struct *var_r29; - UnkM432DllBss0SubStruct *var_r28; - UnkM432DllStruct *var_r27; - s32 var_r20; - - if (NULL != arg0->unk_CC) { - var_r27 = fn_1_51A8(arg0->unk_184 ^ 1); - var_r29 = &lbl_1_bss_0[arg0->unk_184 >> 1]; - var_r20 = 1; - switch (fn_1_8540(arg0)) { - case 0: - var_r30 = fn_1_85AC(arg0, var_r29); - fn_1_8A14(arg0, 0, var_r30); - break; - case 1: - var_r28 = fn_1_85AC(arg0, var_r29); - if (NULL != var_r28) { - var_r30 = var_r28; - if (((NULL == arg0->unk_C8) && (NULL != var_r27->unk_C8)) || ((var_r28->unk_2C.z - 400.0f) > arg0->unk_00.unk_6C.z)) { - var_r30++; - } - else if ((var_r28->unk_2C.z - 1350.0f) > var_r27->unk_00.unk_6C.z) { - var_r30++; - var_r20 = 0; - } - if ((1400.0f < (var_r28->unk_2C.z - arg0->unk_00.unk_6C.z)) && (1400.0f < (var_r28->unk_2C.z - var_r27->unk_00.unk_6C.z))) { - var_r20 = 0; - arg0->unk_00.unk_24 = 0x48; - } - else { - if (((var_r28->unk_2C.z - 175.0f) > arg0->unk_00.unk_6C.z) && ((var_r28->unk_2C.z - 1350.0f) < arg0->unk_00.unk_6C.z)) { - if (((var_r29->unk_28.x - 20.0f) < arg0->unk_00.unk_6C.x) && ((20.0f + var_r29->unk_28.x) > arg0->unk_00.unk_6C.x) - && ((var_r28->unk_2C.z - 1000.0f) > arg0->unk_00.unk_6C.z)) { - arg0->unk_00.unk_24 = 0x48; - } - if ((var_r28->unk_2C.z - 1100.0f) > arg0->unk_00.unk_6C.z) { - arg0->unk_00.unk_28 |= 0x100; - arg0->unk_00.unk_2C |= 0x100; - fn_1_8A14(arg0, 0, var_r30); - } - else { - spD0 = fn_1_861C(arg0, var_r29, &spF8); - if ((arg0->unk_00.unk_BC < spD0) && (400.0f > spD0)) { - arg0->unk_00.unk_28 |= 0x100; - arg0->unk_00.unk_2C |= 0x100; - fn_1_8814(arg0, 0, &spF8); - } - } - } - else { - fn_1_8A14(arg0, 0, var_r30); - } - if (((var_r28->unk_2C.z - 175.0f) < arg0->unk_00.unk_6C.z) && (arg0->unk_00.unk_A8 < arg0->unk_00.unk_6C.y)) { - arg0->unk_00.unk_20 = 0; - arg0->unk_00.unk_24 = 0; - } - } - } - break; - case 2: - var_r20 = 0; - arg0->unk_10C -= 1.0f; - if (NULL == arg0->unk_D0) { - arg0->unk_D0 = fn_1_8CB4(arg0, var_r27, var_r29); - } - if (arg0->unk_10C == 1.0f) { - arg0->unk_D0 = fn_1_8CB4(arg0, var_r27, var_r29); - } - if (NULL != arg0->unk_D0) { - fn_1_8F3C(arg0, var_r29, arg0->unk_D0, &spF8); - fn_1_8814(arg0, 0, &spF8); - if (arg0->unk_00.unk_3C & 1) { - arg0->unk_10C = 20.0f + (20.0f * (arg0->unk_184 & 1)); - } - var_f31 = arg0->unk_00.unk_6C.x - arg0->unk_D0->unk_2C.x; - var_f30 = arg0->unk_00.unk_6C.z - arg0->unk_D0->unk_2C.z; - spD0 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if ((200.0f > spD0) || (arg0->unk_00.unk_4C > 0x14) || (arg0->unk_00.unk_48 > 0xC8)) { - arg0->unk_00.unk_28 |= 0x100; - arg0->unk_00.unk_2C |= 0x100; - } - if (50.0f > spD0) { - arg0->unk_00.unk_20 = 0; - arg0->unk_00.unk_24 = 0; - } - if (0.0f < arg0->unk_10C) { - arg0->unk_00.unk_20 = 0; - arg0->unk_00.unk_24 = 0; - arg0->unk_00.unk_28 &= 0xFFFFFEFF; - arg0->unk_00.unk_2C &= 0xFFFFFEFF; - } - } - break; - case 3: - var_r30 = fn_1_85AC(arg0, var_r29); - break; - } - if ((var_r20 != 0) && (NULL != var_r30)) { - fn_1_906C(arg0, var_r30); - } - } -} - -float fn_1_A974(UnkM432DllStruct *var_r31) -{ - Vec sp14; - Vec sp8; - - sp14 = var_r31->unk_00.unk_6C; - sp14.y = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_28.y; - Hu3D3Dto2D(&sp14, lbl_1_data_A0[var_r31->unk_184 >> 1], &sp8); - return sp8.y; -} - -WorkPlayerOld *fn_1_AA00(int no) -{ - return &((UnkM432DllStruct *)lbl_1_bss_410[no]->data)->unk_00; -} - -void fn_1_AA1C(omObjData *object) -{ - float var_f31; - UnkM432DllStruct *var_r31; - UnkM432DllBss0SubStruct *var_r30; - s32 var_r29; - - var_r31 = object->data; - var_f31 = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_28.z - 750.0f; - if (var_f31 > var_r31->unk_00.unk_6C.z) { - var_r31->unk_00.unk_6C.z = var_f31; - } - var_f31 = 900.0f + lbl_1_bss_0[var_r31->unk_184 >> 1].unk_28.z; - if (var_f31 < var_r31->unk_00.unk_6C.z) { - var_r31->unk_00.unk_6C.z = var_f31; - } - if (var_r31->unk_15C < var_r31->unk_00.unk_6C.z) { - var_r31->unk_00.unk_6C.z = var_r31->unk_15C; - } - var_r30 = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_10[var_r31->unk_184 & 1]; - if ((var_r31->unk_184 & 1) != 0) { - lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1E0 = 0.0f; - } - for (var_r29 = 0; var_r29 < 0x1F; var_r29++, var_r30++) { - if ((var_r31->unk_17C <= var_r29) && ((var_r30->unk_14 & 1) != 0)) { - var_f31 = 170.0f + var_r30->unk_2C.z; - if (var_f31 > var_r31->unk_00.unk_6C.z) { - var_r31->unk_00.unk_6C.z = var_f31; - } - if ((var_r31->unk_184 & 1) && (lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1E0 > (var_r30->unk_2C.z - 170.0f))) { - lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1E0 = var_r30->unk_2C.z - 170.0f; - } - } - } - if (((var_r31->unk_184 & 1) == 0) && (lbl_1_bss_0[var_r31->unk_184 >> 1].unk_28.x < var_r31->unk_00.unk_6C.x) - && (0.0f > lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1E0) && (lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1E0 < var_r31->unk_00.unk_6C.z)) { - var_r31->unk_00.unk_6C.z = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1E0; - } -} - -Vec *fn_1_ACC8(omObjData *object) -{ - float var_f31; - float var_f30; - float var_f27; - - UnkM432DllStruct *var_r31; - UnkBss0Struct *var_r30; - s32 var_r29; - UnkM432DllStruct *var_r28; - - var_r28 = object->data; - var_r31 = var_r28; - var_r30 = &lbl_1_bss_0[var_r28->unk_184 >> 1]; - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if ((var_r31->unk_00.unk_6C.y <= var_r30->unk_88[var_r29][1].y) - && ((var_r31->unk_00.unk_6C.y + (var_r31->unk_00.unk_BC / 2)) >= var_r30->unk_88[var_r29][1].y)) { - var_f31 = var_r31->unk_00.unk_6C.x - var_r30->unk_88[var_r29][1].x; - var_f30 = var_r31->unk_00.unk_6C.z - var_r30->unk_88[var_r29][1].z; - var_f27 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (var_f27 < (var_r31->unk_00.unk_BC + var_r30->unk_88[var_r29][2].y)) { - return &var_r30->unk_88[var_r29][0]; - } - } - } - return NULL; -} - -void fn_1_AF28(omObjData *object) -{ - UnkM432DllStruct *var_r31 = object->data; - var_r31->unk_16C = 0; - var_r31->unk_00.unk_3C &= 0xFFFFFFEF; - fn_1_4ED8(&var_r31->unk_00, 0); -} - -#include "src/REL/executor.c" - -void fn_1_B234(void) -{ - UnkM432DllStruct *var_r31; - s32 var_r30; - u32 var_r29; - u32 var_r28; - - if (HuPadBtn[0] & 2) { - lbl_1_bss_57C = 300 * REFRESH_RATE; - } - print8(0x18, 0x20, 1.5f, "COUNT:%d MODE:%d MES:%d", lbl_1_bss_580, lbl_1_bss_41C->work[0], lbl_1_bss_576); - print8(0x18, 0x30, 1.5f, "%f %f %f %f", lbl_1_bss_0[0].unk_64, lbl_1_bss_0[0].unk_68, lbl_1_bss_0[0].unk_6C, lbl_1_bss_0[0].unk_28.z); - print8(0x18, 0x40, 1.5f, "%f %f %f %f", lbl_1_bss_0[1].unk_64, lbl_1_bss_0[1].unk_68, lbl_1_bss_0[1].unk_6C, lbl_1_bss_0[0].unk_28.z); - print8(0x18, 0x50, 1.5f, "%x %x", HuMemHeapSizeGet(HEAP_SYSTEM) - HuMemUsedMallocSizeGet(HEAP_SYSTEM), - HuMemHeapSizeGet(HEAP_DATA) - HuMemUsedMallocSizeGet(HEAP_DATA)); - for (var_r30 = 0; var_r30 < 4; var_r30++) { - var_r31 = lbl_1_bss_410[var_r30]->data; - print8(0x18, (var_r30 * 0x10) + 0x70, 1.5f, "%d %d %04x %.3f (%.3f %.3f %.3f)", var_r31->unk_180, var_r31->unk_00.unk_38, - var_r31->unk_00.unk_3C, var_r31->unk_00.unk_A8, var_r31->unk_00.unk_6C.x, var_r31->unk_00.unk_6C.y, var_r31->unk_00.unk_6C.z); - } -} - -void fn_1_B458(omObjData *object) -{ - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - fn_1_24(0x1000, object->model[0]); - omDelObjEx(lbl_1_bss_5B4, object); - lbl_1_bss_402--; -} - -void fn_1_B518(omObjData *object) -{ - float var_f31; - float var_f30; - float var_f29; - float var_f28; - - UnkM432DllStruct2 *var_r31; - - var_r31 = object->data; - var_r31->unk_10 += 1.0f; - if (30.0f <= var_r31->unk_10) { - fn_1_B458(object); - return; - } - if (10.0f > var_r31->unk_10) { - var_f31 = var_r31->unk_10 / 10.0f; - var_f30 = 0.0f; - } - else { - var_f31 = 1.0f; - var_f30 = (var_r31->unk_10 - 10.0f) / 20.0f; - } - var_f29 = sind((90.0f * var_f31)) * sind((90.0f * var_f31)); - var_f28 = sind((90.0f * var_f30)) * sind((90.0f * var_f30)); - omSetTra(object, var_r31->unk_00.x + (var_r31->unk_14 * var_f29), var_r31->unk_00.y, var_r31->unk_00.z + (var_r31->unk_18 * var_f28)); -} - -void fn_1_B7E4(omObjData *object) -{ - UnkM432DllStruct2 *var_r30; - UnkBss5D0Struct *var_r29; - UnkBss5D0Struct *var_r28; - UnkBss5D0Struct *var_r27; - s16 var_r26; - s16 var_r25; - s16 var_r24; - - var_r26 = fn_1_AC(0x1000); - if (var_r26 < 0) { - object->model[0] = Hu3DModelLink(lbl_1_bss_400); - } - else { - object->model[0] = var_r26; - } - var_r30 = object->data; - var_r30->unk_10 = 0.0f; - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(object->model[0], 3); - omSetTra(object, var_r30->unk_00.x, var_r30->unk_00.y, var_r30->unk_00.z); - omSetRot(object, 0.0f, 0.0f, 0.0f); - omSetSca(object, var_r30->unk_0C, var_r30->unk_0C, var_r30->unk_0C); - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - object->func = fn_1_B518; -} - -void fn_1_B974(Vec *arg0, float arg8, float arg9) -{ - UnkM432DllStruct2 *var_r31; - omObjData *var_r30; - - if (lbl_1_bss_402 < 0xF0) { - lbl_1_bss_402++; - var_r30 = omAddObjEx(lbl_1_bss_5B4, 0x67, 1, 0, 3, fn_1_B7E4); - var_r30->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM432DllStruct2), 0x10000000); - var_r31 = var_r30->data; - var_r31->unk_00 = *arg0; - var_r31->unk_00.x += 30.0f * arg9; - var_r31->unk_0C = 1.0f + arg8; - var_r31->unk_14 = 70.0f * arg9; - var_r31->unk_18 = -675.0f; - } -} - -void fn_1_BAA8(UnkM432DllStruct *arg0) -{ - Vec sp20; - Vec sp14; - float var_f31; - float var_f30; - - s32 *var_r29; - s32 var_r27; - - sp20 = arg0->unk_00.unk_6C; - sp20.y += 220.0f; - fn_1_1A60(&sp20, lbl_1_data_A0[arg0->unk_184 >> 1], &sp14); - - arg0->unk_110 = sp14.x; - arg0->unk_114 = sp14.y; - if (NULL != arg0->unk_C4) { - var_f31 = 0.0f; - var_f30 = 0.0f; - for (var_r29 = arg0->unk_C4, var_r27 = 1; var_r29[0] >= 0; var_r29 += 3) { - espPosSet(arg0->unk_118[var_r29[0]], var_r29[1] + (arg0->unk_110 + var_f31), var_r29[2] + (arg0->unk_114 + var_f30)); - espDispOn(arg0->unk_118[var_r29[0]]); - if (var_r27 != 0) { - var_r27 = 0; - var_f31 = var_r29[1]; - var_f30 = var_r29[2]; - } - } - } -} - -s32 fn_1_BF08(UnkM432DllStruct *arg0) -{ - switch (arg0->unk_C8->unk_14 & 0xF00) { - case 0x100: - if (arg0->unk_00.unk_28 & 0x200) { - return 0x7D4; - } - break; - case 0x400: - if (arg0->unk_00.unk_28 & 0x800) { - return 0x7D5; - } - break; - case 0x200: - if (arg0->unk_00.unk_28 & 0x400) { - return 0x7D5; - } - break; - case 0x800: - return 0x7D6; - } - return 0x7D3; -} - -void fn_1_BF9C(UnkM432DllStruct *arg0) -{ - Vec spC; - float var_f31; - float var_f30; - float var_f26; - - UnkM432DllStruct *var_r31; - - var_r31 = arg0; - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, 180.0f + arg0->unk_C8->unk_18, 0.4f); - fn_1_52B8(arg0->unk_C8, &spC); - var_f31 = spC.x - var_r31->unk_00.unk_6C.x; - var_f30 = spC.z - var_r31->unk_00.unk_6C.z; - var_f26 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (10.0f <= var_f26) { - var_f31 = 10.0f * (var_f31 / var_f26); - var_f30 = 10.0f * (var_f30 / var_f26); - } - var_r31->unk_00.unk_6C.x += var_f31; - var_r31->unk_00.unk_6C.z += var_f30; -} - -void fn_1_C33C(UnkM432DllStruct *arg0) -{ - Vec spC; - float sp8; - float var_f31; - float var_f30; - float var_f27; - UnkM432DllBss0SubStruct *var_r30; - s32 var_r29; - s32 *var_r28; - UnkM432DllStruct *var_r27; - - var_r28 = NULL; - if (arg0->unk_00.unk_38 == 0) { - for (var_r30 = lbl_1_bss_0[arg0->unk_184 >> 1].unk_10[arg0->unk_184 & 1], var_r29 = 0; var_r29 < 0x1F; var_r29++, var_r30++) - if ((arg0->unk_17C <= var_r29) && (var_r30->unk_14 & 0xF00) && (((var_r30->unk_14 & 0x700) == 0) || !(20.0f < arg0->unk_00.unk_6C.y))) { - fn_1_52B8(var_r30, &spC); - var_f31 = spC.x - arg0->unk_00.unk_6C.x; - var_f30 = spC.z - arg0->unk_00.unk_6C.z; - var_f27 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (arg0->unk_00.unk_BC > var_f27) { - var_r27 = fn_1_51A8(arg0->unk_184 ^ 1); - if ((NULL == var_r27->unk_C8) || (var_r30->unk_08 != var_r27->unk_C8->unk_08)) { - arg0->unk_C8 = var_r30; - switch (var_r30->unk_14 & 0xF00) { - case 0x100: - var_r28 = lbl_1_data_2AC; - break; - case 0x200: - var_r28 = lbl_1_data_2D0; - break; - case 0x400: - var_r28 = lbl_1_data_2F4; - break; - case 0x800: - var_r28 = lbl_1_data_318; - break; - } - break; - } - } - } - } - - if (arg0->unk_C4 != var_r28) { - arg0->unk_C4 = var_r28; - if (NULL == var_r28) { - arg0->unk_C8 = NULL; - } - for (var_r29 = 0; var_r29 < 9; var_r29++) { - espDispOff(arg0->unk_118[var_r29]); - } - } -} - -void fn_1_C724(UnkM432DllStruct *var_r31, omObjData *var_r25, omObjData *var_r24) -{ - Vec spC; - float var_f25; - - UnkBss0Struct *var_r30; - UnkM432DllStruct *var_r29; - s32 var_r28; - void *var_r27; - s32 var_r26; - float var_f19; - - var_r30 = &lbl_1_bss_0[var_r31->unk_184 >> 1]; - fn_1_BF9C(var_r31); - if (fn_1_BF08(var_r31) == 0x7D4) { - var_r30->unk_1D4 += 1.0f - (2.0f * (var_r31->unk_14C / REFRESH_RATE)); - if (0.0f > var_r30->unk_1D4) { - var_r30->unk_1D4 = 0.0f; - } - if (1.0f < var_r30->unk_1D4) { - var_r30->unk_1D4 = 1.0f; - } - var_r31->unk_14C = 0.0f; - if (25.0f <= (var_r31->unk_C8->unk_38 += 1.0f)) { - var_r31->unk_C8->unk_38 = 25.0f; - } - omVibrate(var_r31->unk_188, 0xC, 6, 6); - } - else { - var_r31->unk_14C += 1.0f; - var_r30->unk_1D4 -= 1.0f / REFRESH_RATE; - if (0.0f > var_r30->unk_1D4) { - var_r30->unk_1D4 = 0.0f; - } - if (20.0f <= var_r31->unk_14C) { - var_r31->unk_14C = 0.0f; - if (0.0f >= (var_r31->unk_C8->unk_38 -= 1.0f)) { - var_r31->unk_C8->unk_38 = 0.0f; - } - } - } - HuAudFXPitchSet(var_r30->unk_1CC, (s32)(8191.0f * var_r30->unk_1D4)); - HuAudFXPitchSet(var_r30->unk_1D0, (s32)(8191.0f * (1.0f - (var_r31->unk_C8->unk_38 / 25.0f)))); - if (Hu3DMotionShiftIDGet(var_r25->model[0]) < 0) { - var_f25 = var_r31->unk_C8->unk_38 * (Hu3DMotionMaxTimeGet(var_r25->model[0]) / 25.0f); - Hu3DMotionTimeSet(var_r25->model[0], var_f25); - var_f25 = var_r31->unk_C8->unk_38 * (Hu3DMotionMaxTimeGet((var_r24->model[var_r31->unk_C8->unk_08])) / 25.0f); - Hu3DMotionTimeSet(var_r24->model[var_r31->unk_C8->unk_08], var_f25); - } - if ((25.0f <= var_r31->unk_C8->unk_38) || (var_r31->unk_C8->unk_38 == 0.0f)) { - if (25.0f <= var_r31->unk_C8->unk_38) { - var_r31->unk_17C++; - } - var_r31->unk_180 = 0x7D3; - fn_1_4ED8(&var_r31->unk_00, 0); - HuAudFXStop(var_r30->unk_1CC); - HuAudFXStop(var_r30->unk_1D0); - var_r30->unk_1CC = -1; - var_r30->unk_1D0 = -1; - } -} - -void fn_1_D0E0(UnkM432DllStruct *arg0, omObjData *arg1, omObjData *arg2) -{ - fn_1_BF9C(arg0); - if (fn_1_BF08(arg0) == 0x7D5) { - lbl_1_bss_0[arg0->unk_184 >> 1].unk_1DC += 1.0f - (2.0f * (arg0->unk_14C / REFRESH_RATE)); - if (0.0f > lbl_1_bss_0[arg0->unk_184 >> 1].unk_1DC) { - lbl_1_bss_0[arg0->unk_184 >> 1].unk_1DC = 0.0f; - } - if (1.0f < lbl_1_bss_0[arg0->unk_184 >> 1].unk_1DC) { - lbl_1_bss_0[arg0->unk_184 >> 1].unk_1DC = 1.0f; - } - arg0->unk_14C = 0.0f; - arg0->unk_C8->unk_3C += 3.0f; - omVibrate(arg0->unk_188, 0xC, 6, 6); - } - else { - arg0->unk_14C += 1.0f; - } - if (Hu3DMotionShiftIDGet(arg1->model[0]) < 0) { - Hu3DMotionTimeSet(arg1->model[0], 120.0 * (fmod(arg0->unk_C8->unk_38, 360.0) / 360.0)); - Hu3DMotionTimeSet( - arg2->model[arg0->unk_C8->unk_08], Hu3DMotionMaxTimeGet(arg2->model[arg0->unk_C8->unk_08]) * (fmod(arg0->unk_C8->unk_38, 360.0) / 360.0)); - } - if (20.0f <= arg0->unk_14C) { - arg0->unk_180 = 0x7D3; - fn_1_4ED8(&arg0->unk_00, 0); - } - else if (lbl_1_bss_0[arg0->unk_184 >> 1].unk_1D8 < 0) { - lbl_1_bss_0[arg0->unk_184 >> 1].unk_1DC = 0.5f; - lbl_1_bss_0[arg0->unk_184 >> 1].unk_1D8 = HuAudFXPlay((arg0->unk_184 & 2) == 0 ? 0x68E : 0x68F); - } -} - -void fn_1_D9EC(UnkM432DllStruct *arg0, omObjData *arg1, omObjData *arg2) -{ - float var_f28; - float var_f27; - float var_f23; - - fn_1_BF9C(arg0); - if ((arg0->unk_00.unk_30 <= 0) || (arg0->unk_00.unk_34 <= 0)) { - var_f27 = 0.0f; - if (arg0->unk_00.unk_30 > 0) { - var_f27 = -(arg0->unk_00.unk_30 / 150.0f); - } - if (arg0->unk_00.unk_34 > 0) { - var_f27 = arg0->unk_00.unk_34 / 150.0f; - } - if (var_f27 != 0.0f) { - if ((0.0f > var_f27 ? -1 : 1) != (0.0f > arg0->unk_150 ? -1 : 1)) { - var_f28 = arg0->unk_158 - arg0->unk_154; - if (0.0f < var_f28) { - if (0.98f < var_f28) { - var_f28 += 0.6f; - if ((arg0->unk_184 & 2) == 0) { - HuAudFXPlay(0x692); - } - else { - HuAudFXPlay(0x693); - } - } - arg0->unk_C8->unk_38 += 10.0f * var_f28; - var_f23 = var_f28; - if (0.5f > var_f23) { - var_f23 = 0.0f; - } - fn_1_B974(&arg0->unk_C8->unk_2C, var_f23 / 2, (arg0->unk_184 & 1) ? -1.0f : 1.0f); - } - arg0->unk_154 = arg0->unk_158; - } - arg0->unk_150 = var_f27; - arg0->unk_158 = arg0->unk_158 + (0.1f * arg0->unk_150); - if (0.0f > arg0->unk_158) { - arg0->unk_158 = 0.0f; - } - if (1.0f < arg0->unk_158) { - arg0->unk_158 = 1.0f; - } - } - } - if (Hu3DMotionShiftIDGet(arg1->model[0]) < 0) { - Hu3DMotionTimeSet(arg1->model[0], arg0->unk_158 * Hu3DMotionMaxTimeGet(arg1->model[0])); - Hu3DMotionTimeSet(arg2->model[arg0->unk_C8->unk_08], arg0->unk_158 * Hu3DMotionMaxTimeGet(arg2->model[arg0->unk_C8->unk_08])); - } - if (1000.0f <= lbl_1_bss_0[arg0->unk_184 >> 1].unk_124) { - arg0->unk_180 = 0x7D3; - fn_1_4ED8(&arg0->unk_00, 0); - } -} - -void fn_1_E3B4(UnkM432DllStruct *arg0, omObjData *arg1) -{ - float var_f31; - float var_f30; - s32 var_r28; - - if (arg0->unk_00.unk_38 != 0) { - fn_1_40C0(&arg0->unk_00); - return; - } - if (arg0->unk_C8->unk_14 & 0x18) { - if (((arg0->unk_C8->unk_14 & 8) && (arg0->unk_178 <= 0)) || ((arg0->unk_C8->unk_14 & 0x10) && (arg0->unk_178 <= 1))) { - arg0->unk_178++; - omVibrate(arg0->unk_188, 0xC, 4, 2); - if ((arg0->unk_184 & 2) == 0) { - HuAudFXPlay(0x690); - } - else { - HuAudFXPlay(0x691); - } - } - if ((arg0->unk_184 & 1) != 0) { - var_r28 = 1; - } - else { - var_r28 = -1; - } - arg0->unk_170 = var_r28 * 0x18; - arg0->unk_174 = 0x48; - arg0->unk_00.unk_9C = 180.0f; - if ((((arg0->unk_C8->unk_14 & 8) == 0) || !(-11100.0f < lbl_1_bss_0[arg0->unk_184 >> 1].unk_28.z)) - && (((arg0->unk_C8->unk_14 & 0x10) == 0) || !(-13500.0f < lbl_1_bss_0[arg0->unk_184 >> 1].unk_28.z))) { - var_f30 = 800.0f - (400.0f * (arg0->unk_184 & 1)); - if (0.0f > (lbl_1_bss_0[arg0->unk_184 >> 1].unk_74 - lbl_1_bss_0[arg0->unk_184 >> 1].unk_28.z)) { - var_f31 = -(lbl_1_bss_0[arg0->unk_184 >> 1].unk_74 - lbl_1_bss_0[arg0->unk_184 >> 1].unk_28.z); - } - else { - var_f31 = lbl_1_bss_0[arg0->unk_184 >> 1].unk_74 - lbl_1_bss_0[arg0->unk_184 >> 1].unk_28.z; - } - if (!(var_f30 < var_f31)) { - fn_1_5148(arg0); - HuAudCharVoicePlay(arg0->unk_18C, 0x122); - goto block_26; - } - } - } - else { - arg0->unk_170 = 0; - arg0->unk_174 = -0x48; - arg0->unk_00.unk_9C = 0.0f; - block_26: - arg0->unk_D0 = 0; - arg0->unk_D4[arg0->unk_FC] = arg0->unk_C8->unk_44 - arg0->unk_17C; - arg0->unk_FC = (arg0->unk_FC + 1) % 10; - arg0->unk_180 = 0x7D8; - arg0->unk_00.unk_6C = arg0->unk_C8->unk_2C; - arg0->unk_00.unk_6C.y -= 200.0f; - fn_1_4ED8(&arg0->unk_00, 3); - arg0->unk_00.unk_3C |= 8; - } -} - -void fn_1_E9E4(UnkM432DllStruct *arg0) -{ - float var_f31; - float var_f30; - float var_f28; - - arg0->unk_00.unk_20 = arg0->unk_170; - arg0->unk_00.unk_24 = arg0->unk_174; - arg0->unk_00.unk_28 = 0x100; - arg0->unk_00.unk_2C = 0x100; - fn_1_40C0(&arg0->unk_00); - var_f31 = arg0->unk_C8->unk_2C.x - arg0->unk_00.unk_6C.x; - var_f30 = arg0->unk_C8->unk_2C.z - arg0->unk_00.unk_6C.z; - if (sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)) < 100.0f) { - var_f28 = 0.0f; - if (arg0->unk_174 > 0) { - var_f28 = 100.0f; - } - if ((arg0->unk_C8->unk_2C.y + var_f28) > arg0->unk_00.unk_6C.y) { - arg0->unk_00.unk_84.y = _1606_BY_REFRESH_RATE; - arg0->unk_00.unk_A4 = 1.0f; - return; - } - arg0->unk_00.unk_3C &= 0xFFFFFFF7; - return; - } - if ((0.0f > arg0->unk_00.unk_84.y) && ((100.0f + arg0->unk_C8->unk_2C.y) > arg0->unk_00.unk_6C.y)) { - arg0->unk_180 = 0x7D3; - HuAudCharVoicePlay(arg0->unk_18C, 0x10D); - } -} - -void fn_1_EC7C(UnkM432DllStruct *arg0, omObjData *arg1) -{ - if ((lbl_1_bss_0[arg0->unk_184 >> 1].unk_1E4 - (arg0->unk_00.unk_BC / 2)) > arg0->unk_00.unk_6C.y) { - Hu3DModelShadowDispOff(arg1->model[0]); - return; - } - Hu3DModelShadowDispOn(arg1->model[0]); -} - -void fn_1_ED0C(omObjData *object) -{ - float var_f31; - float var_f30; - float var_f26; - UnkBss0Struct *var_r28; - UnkM432DllStruct *var_r31; - s32 var_r26; - s32 var_r22; - - var_r31 = object->data; - var_r28 = &lbl_1_bss_0[var_r31->unk_184 >> 1]; - if (lbl_1_bss_41C->work[0] >= 0x3EC) { - if (lbl_1_bss_3FC != (var_r31->unk_184 & 2)) { - var_r26 = 1; - if (var_r31->unk_00.unk_A8 < var_r31->unk_00.unk_6C.y) { - var_r26 = 0; - } - if (var_r31->unk_180 == 0x7D7) { - var_r26 = 0; - } - if (var_r31->unk_180 == 0x7D8) { - var_r26 = 0; - } - if (var_r31->unk_180 == 0x7D9) { - var_r26 = 0; - } - if ((var_r31->unk_180 == 0x7D3) && (var_r31->unk_00.unk_38 == 1)) { - var_r26 = 0; - } - if (var_r26 != 0) { - var_r31->unk_180 = 0x7DA; - if (lbl_1_bss_3FC >= 0) { - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DMotionShiftSet(object->model[0], object->motion[10], 0.0f, 8.0f, HU3D_ATTR_NONE); - } - else { - var_r31->unk_168 = 1; - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DMotionShiftSet(object->model[0], object->motion[0], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - } - } - else { - var_r31->unk_180 = 0x7DB; - var_r31->unk_13C.x += 100.0f * (var_r31->unk_184 & 1 ? -1.0f : 1.0f); - var_r31->unk_13C.z += -475.0f; - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DMotionShiftSet(object->model[0], object->motion[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - if (var_r31->unk_180 >= 0x7DA) { - for (var_r22 = 0; var_r22 < 9; var_r22++) { - espDispOff(var_r31->unk_118[var_r22]); - } - if (lbl_1_bss_3FC == (var_r31->unk_184 & 2)) { - GWPlayerCoinWinSet(var_r31->unk_188, 10); - } - object->func = fn_1_10250; - return; - } - } - if (GWPlayerCfg[var_r31->unk_188].iscom != 0) { - var_r31->unk_00.unk_20 = 0; - var_r31->unk_00.unk_24 = 0; - var_r31->unk_00.unk_28 = 0; - var_r31->unk_00.unk_2C = 0; - var_r31->unk_00.unk_30 = 0; - var_r31->unk_00.unk_34 = 0; - fn_1_93BC(var_r31); - } - else { - var_r31->unk_00.unk_20 = HuPadStkX[var_r31->unk_190]; - var_r31->unk_00.unk_24 = HuPadStkY[var_r31->unk_190]; - var_r31->unk_00.unk_28 = HuPadBtnDown[var_r31->unk_190]; - var_r31->unk_00.unk_2C = HuPadBtn[var_r31->unk_190]; - var_r31->unk_00.unk_30 = HuPadTrigL[var_r31->unk_190]; - var_r31->unk_00.unk_34 = HuPadTrigR[var_r31->unk_190]; - } - if ((var_r31->unk_180 == 0x7D3) && ((var_r31->unk_13C.x != 0.0f) || (var_r31->unk_13C.z != 0.0f))) { - var_f30 = var_r31->unk_13C.x - var_r31->unk_00.unk_6C.x; - var_f31 = var_r31->unk_13C.z - var_r31->unk_00.unk_6C.z; - if (var_r31->unk_00.unk_BC < ABS(var_f31)) { - var_f30 = 0.0f; - } - var_f26 = sqrtf((var_f30 * var_f30) + (var_f31 * var_f31)); - if (10.0f <= var_f26) { - var_f30 /= var_f26; - var_f31 /= var_f26; - } - else { - var_f30 = 0.0f; - var_f31 = 0.0f; - var_r31->unk_00.unk_9C = var_r31->unk_148; - } - var_r31->unk_00.unk_20 = 72.0f * var_f30; - var_r31->unk_00.unk_24 = 72.0f * -var_f31; - var_r31->unk_00.unk_28 = 0; - var_r31->unk_00.unk_2C = 0; - var_r31->unk_00.unk_30 = 0; - var_r31->unk_00.unk_34 = 0; - } - switch (var_r31->unk_180) { - case 0x7D3: - if ((var_r31->unk_16C != 0) && ((var_r31->unk_00.unk_3C & 0x101) != 0)) { - var_r31->unk_16C = 0; - var_r31->unk_00.unk_3C &= 0xFFFFFFEF; - fn_1_4ED8(&var_r31->unk_00, 0); - } - fn_1_40C0(&var_r31->unk_00); - fn_1_C33C(var_r31); - if ((NULL != var_r31->unk_C4) && (NULL != var_r31->unk_C8)) { - var_r31->unk_180 = fn_1_BF08(var_r31); - switch (var_r31->unk_180) { - case 0x7D4: - var_r31->unk_14C = 0.0f; - var_r31->unk_C8->unk_38 = 1.0f; - var_r28->unk_1D4 = 0.5f; - if (var_r28->unk_1CC < 0) { - var_r28->unk_1CC = HuAudFXPlay((var_r31->unk_184 & 2) == 0 ? 0x68C : 0x68D); - } - if (var_r28->unk_1D0 < 0) { - var_r28->unk_1D0 = HuAudFXPlay((var_r31->unk_184 & 2) == 0 ? 0x695 : 0x696); - } - Hu3DMotionShiftSet(object->model[0], object->motion[5], 0.0f, 8.0f, HU3D_MOTATTR_PAUSE); - break; - case 0x7D5: - var_r31->unk_14C = 0.0f; - var_r31->unk_C8->unk_3C += 3.0f; - if (var_r28->unk_1D8 < 0) { - var_r28->unk_1DC = 0.5f; - var_r28->unk_1D8 = HuAudFXPlay((var_r31->unk_184 & 2) == 0 ? 0x68E : 0x68F); - } - Hu3DMotionShiftSet( - object->model[0], object->motion[7], 120.0 * (fmod(var_r31->unk_C8->unk_38, 360.0) / 360.0), 8.0f, HU3D_MOTATTR_PAUSE); - break; - case 0x7D6: - var_r31->unk_14C = 0.0f; - var_r31->unk_150 = -1.0f; - var_r31->unk_158 = 0.0f; - var_r31->unk_154 = 0.0f; - Hu3DMotionShiftSet(object->model[0], object->motion[8], 0.0f, 8.0f, HU3D_MOTATTR_PAUSE); - break; - } - } - else if (-800.0f > var_r31->unk_00.unk_6C.y) { - var_r31->unk_00.unk_3C |= 0x10; - if (NULL == lbl_1_bss_0[var_r31->unk_184 >> 1].unk_08) { - lbl_1_bss_0[var_r31->unk_184 >> 1].unk_08 = object; - lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1B4 = -1; - } - else { - lbl_1_bss_0[var_r31->unk_184 >> 1].unk_0C = object; - } - } - break; - case 0x7D4: - fn_1_C724(var_r31, object, lbl_1_bss_0[var_r31->unk_184 >> 1].unk_04); - break; - case 0x7D5: - fn_1_D0E0(var_r31, object, lbl_1_bss_0[var_r31->unk_184 >> 1].unk_04); - break; - case 0x7D6: - fn_1_D9EC(var_r31, object, lbl_1_bss_0[var_r31->unk_184 >> 1].unk_04); - break; - case 0x7D7: - fn_1_E3B4(var_r31, object); - break; - case 0x7D8: - fn_1_E9E4(var_r31); - break; - case 0x7D9: - break; - default: - OSReport("*** player mode error(%d)!!\n", var_r31->unk_180); - break; - } - fn_1_EC7C(var_r31, object); - fn_1_BAA8(var_r31); - - lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1E8 += 1.0f; - - lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1EC += fn_1_A974(var_r31); - lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1F0[var_r31->unk_184 & 1] = var_r31->unk_00.unk_6C.z; - fn_1_2DD4(&var_r31->unk_00); -} - -void fn_1_10250(omObjData *object) -{ - float var_f31; - float var_f30; - float var_f24; - UnkM432DllStruct *var_r31; - omObjData *var_r29; - - var_r31 = object->data; - var_r29 = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_04; - switch (var_r31->unk_180) { - case 0x7D0: - if (lbl_1_bss_41C->work[0] >= 0x3E9) { - var_r31->unk_180++; - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - HuAudCharVoicePlay(var_r31->unk_18C, 0x125); - } - break; - case 0x7D1: - var_r31->unk_00.unk_20 = 0; - var_r31->unk_00.unk_24 = 0x48; - var_r31->unk_00.unk_28 = 0x100; - var_r31->unk_00.unk_2C = 0x100; - fn_1_40C0(&var_r31->unk_00); - if (200.0f > var_r31->unk_00.unk_6C.y) { - var_r31->unk_00.unk_84.y = _1606_BY_REFRESH_RATE; - var_r31->unk_00.unk_A4 = 1.0f; - } - else { - var_r31->unk_180++; - } - break; - case 0x7D2: - var_r31->unk_00.unk_20 = 0; - var_r31->unk_00.unk_24 = 0; - var_r31->unk_00.unk_28 = 0; - var_r31->unk_00.unk_2C = 0; - if (var_r31->unk_00.unk_38 == 1) { - var_r31->unk_00.unk_24 = 0x48; - } - fn_1_40C0(&var_r31->unk_00); - if ((var_r31->unk_00.unk_38 == 0) && (lbl_1_bss_41C->work[0] >= 0x3EB)) { - var_r31->unk_180++; - object->func = fn_1_ED0C; - } - break; - case 0x7DA: - if ((var_r31->unk_168 != 0) && (lbl_1_bss_3FC < 0) && (lbl_1_bss_41C->work[0] >= 0x3F1)) { - var_r31->unk_168 = 0; - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DMotionShiftSet(object->model[0], object->motion[10], 0.0f, 8.0f, HU3D_ATTR_NONE); - } - break; - case 0x7DB: - var_f31 = var_r31->unk_13C.x - var_r31->unk_00.unk_6C.x; - var_f30 = var_r31->unk_13C.z - var_r31->unk_00.unk_6C.z; - if (1.0f > ABS(var_f31)) { - if (1.0f > ABS(var_f30)) { - var_r31->unk_180++; - var_r31->unk_160 = 0.0f; - var_r31->unk_164 = var_r31->unk_00.unk_6C.y; - Hu3DMotionShiftSet(object->model[0], object->motion[3], 0.0f, 8.0f, HU3D_ATTR_NONE); - break; - } - } - if (1.0f < ABS(var_f31)) { - var_f30 = 0.0f; - } - var_f24 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (10.0f < var_f24) { - var_f31 = 10.0f * (var_f31 / var_f24); - var_f30 = 10.0f * (var_f30 / var_f24); - } - var_r31->unk_00.unk_6C.x += var_f31; - var_r31->unk_00.unk_6C.z += var_f30; - - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, atan2d(var_f31, var_f30), 0.4f); - break; - case 0x7DC: - var_r31->unk_160 += 5.0f; - var_r31->unk_00.unk_6C.z -= 10.0f; - var_r31->unk_00.unk_6C.y = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_118.y + (120.0 * sind(var_r31->unk_160)); - if (180.0f <= var_r31->unk_160) { - var_r31->unk_180++; - Hu3DMotionShiftSet(object->model[0], object->motion[4], 0.0f, 8.0f, HU3D_ATTR_NONE); - } - break; - case 0x7DD: - if ((Hu3DMotionShiftIDGet(object->model[0]) < 0) && (Hu3DMotionEndCheck(object->model[0]) != 0)) { - var_r31->unk_180++; - Hu3DMotionShiftSet(object->model[0], object->motion[0], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(var_r29->model[9], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(var_r29->model[15], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(var_r29->model[23], HU3D_MOTATTR_PAUSE); - HuAudFXPlay(0x694); - } - break; - case 0x7DE: - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, 0.0f, 0.4f); - if ((Hu3DMotionEndCheck(var_r29->model[9]) != 0) && (Hu3DMotionEndCheck(var_r29->model[15]) != 0)) { - var_r31->unk_180++; - } - break; - case 0x7DF: - var_r31->unk_00.unk_6C.y = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_118.y; - if (lbl_1_bss_41C->work[0] >= 0x3F1) { - var_r31->unk_180++; - Hu3DMotionShiftSet(object->model[0], object->motion[9], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - HuAudCharVoicePlay(var_r31->unk_18C, 0x125); - } - break; - case 0x7E0: - var_r31->unk_00.unk_6C.y = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_118.y; - break; - case 0x7D3: - case 0x7D4: - case 0x7D5: - case 0x7D6: - case 0x7D7: - case 0x7D8: - case 0x7D9: - default: - OSReport("*** player mode error(%d)!!\n", var_r31->unk_180); - break; - } - fn_1_EC7C(var_r31, object); - fn_1_2DD4(&var_r31->unk_00); -} - -void fn_1_10CCC(omObjData *object) -{ - Vec sp8; - - UnkM432DllStruct *var_r31; - s32 var_r29; - s32 var_r28; - s32 var_r27; - UnkM432DllBss0SubStruct *var_r26; - s32 var_r24; - s32 var_r23; - - var_r31 = object->data; - var_r26 = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_10[var_r31->unk_184 & 1]; - var_r31->unk_18C = GWPlayerCfg[var_r31->unk_188].character; - var_r31->unk_190 = GWPlayerCfg[var_r31->unk_188].pad_idx; - var_r31->unk_180 = 0x7D0; - var_r31->unk_168 = 0; - var_r31->unk_CC = NULL; - var_r31->unk_C4 = NULL; - var_r31->unk_C8 = NULL; - var_r31->unk_150 = 0.0f; - var_r31->unk_158 = 0.0f; - var_r31->unk_154 = 0.0f; - var_r31->unk_17C = 0; - var_r31->unk_15C = 10000.0f; - var_r31->unk_178 = 0; - var_r31->unk_16C = 0; - var_r31->unk_104 = 0.5f; - var_r31->unk_108 = 0.0f; - fn_1_5148(var_r31); - sp8 = var_r26[var_r31->unk_17C++].unk_2C; - sp8.y -= 200.0f; - fn_1_2C1C(&var_r31->unk_00, object, var_r31->unk_188, var_r31->unk_18C, lbl_1_data_268, 0, &sp8, 180.0f); - var_r31->unk_00.unk_04 = fn_1_AA1C; - var_r31->unk_00.unk_08 = fn_1_ACC8; - fn_1_2DC8(&var_r31->unk_00, 1, (var_r31->unk_184 & 2) == 0 ? lbl_1_data_354 : lbl_1_data_36C); - var_r31->unk_00.unk_0C = fn_1_AF28; - var_r31->unk_13C.x = 0.0f; - var_r31->unk_13C.y = 0.0f; - var_r31->unk_13C.z = 0.0f; - object->model[0] = CharModelCreate(lbl_1_data_0[var_r31->unk_18C], 4); - CharModelStepTypeSet(lbl_1_data_0[var_r31->unk_18C], 0); - for (var_r29 = 0; var_r29 < 0xB; var_r29++) { - object->motion[var_r29] = CharModelMotionCreate(lbl_1_data_0[var_r31->unk_18C], lbl_1_data_108[var_r31->unk_18C][var_r29]); - CharModelMotionSet(lbl_1_data_0[var_r31->unk_18C], object->motion[var_r29]); - } - Hu3DModelCameraSet(object->model[0], lbl_1_data_A0[var_r31->unk_184 >> 1]); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(object->model[0], 2); - Hu3DMotionSet(object->model[0], object->motion[0]); - Hu3DModelShadowSet(object->model[0]); - fn_1_2DD4(&var_r31->unk_00); - for (var_r29 = 0; var_r29 < 9; var_r29++) { - var_r31->unk_118[var_r29] = espEntry(lbl_1_data_288[var_r29], 0, 0); - espDrawNoSet(var_r31->unk_118[var_r29], 0); - espDispOff(var_r31->unk_118[var_r29]); - espAttrSet(var_r31->unk_118[var_r29], HUSPR_ATTR_NOANIM); - espBankSet(var_r31->unk_118[var_r29], 0); - espPriSet(var_r31->unk_118[var_r29], 0x80 - var_r29); - } - espTPLvlSet(var_r31->unk_118[0], 0.9f); - espTPLvlSet(var_r31->unk_118[1], 0.9f); - if (GWPlayerCfg[var_r31->unk_188].iscom != 0) { - switch (GWPlayerCfg[var_r31->unk_188].diff) { - case 0: - var_r31->unk_CC = &lbl_1_data_1794; - break; - case 1: - var_r31->unk_CC = &lbl_1_data_17B4; - break; - case 2: - var_r31->unk_CC = &lbl_1_data_17D4; - break; - case 3: - default: - var_r31->unk_CC = &lbl_1_data_17F4; - break; - } - } - CharModelLayerSetAll2(5); - CharModelMotionDataClose(lbl_1_data_0[var_r31->unk_18C]); - object->func = fn_1_10250; -} - -void fn_1_113F0(omObjData *object) { } - -void fn_1_113F4(omObjData *var_r31) -{ - s32 sp48; - - UnkM432DllBss0SubStruct *var_r30; - s32 var_r28; - UnkBss0Struct *var_r22; - - var_r22 = &lbl_1_bss_0[var_r31->work[0]]; - var_r31->model[0] = fn_1_46C(DATA_MAKE_NUM(DATADIR_M432, 0x02)); - Hu3DModelCameraSet(var_r31->model[0], lbl_1_data_A0[var_r31->work[0]]); - Hu3DModelAttrSet(var_r31->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(var_r31->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(var_r31->model[0], 0); - - var_r31->model[1] = fn_1_46C(DATA_MAKE_NUM(DATADIR_M432, 0x04)); - Hu3DModelCameraSet(var_r31->model[1], lbl_1_data_A0[var_r31->work[0]]); - Hu3DModelAttrSet(var_r31->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->model[1], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(var_r31->model[1], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(var_r31->model[1], 0); - - var_r31->model[2] = fn_1_46C(lbl_1_data_528[var_r31->work[0]]); - Hu3DModelCameraSet(var_r31->model[2], lbl_1_data_A0[var_r31->work[0]]); - Hu3DModelAttrSet(var_r31->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->model[2], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(var_r31->model[2], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(var_r31->model[2], 1); - - var_r31->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M432, 0x01)); - Hu3DModelCameraSet(var_r31->model[3], lbl_1_data_A0[var_r31->work[0]]); - Hu3DModelAttrSet(var_r31->model[3], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->model[3], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(var_r31->model[3], HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(var_r31->model[3], 0); - - var_r31->model[24] = fn_1_46C(DATA_MAKE_NUM(DATADIR_M432, 0x03)); - Hu3DModelCameraSet(var_r31->model[24], lbl_1_data_A0[var_r31->work[0]]); - Hu3DModelLayerSet(var_r31->model[24], 0); - Hu3DModelPosSet(var_r31->model[24], 0.0f, 0.0f, 0.0f); - Hu3DModelRotSet(var_r31->model[24], 0.0f, 0.0f, 0.0f); - Hu3DModelAttrSet(var_r31->model[24], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->model[24], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(var_r31->model[24], HU3D_MOTATTR_LOOP); - - var_r31->model[25] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M432, 0x07)); - Hu3DMotionSet(var_r31->model[25], Hu3DJointMotionFile(var_r31->model[25], DATA_MAKE_NUM(DATADIR_M432, 0x08))); - Hu3DModelCameraSet(var_r31->model[25], lbl_1_data_A0[var_r31->work[0]]); - Hu3DModelAttrSet(var_r31->model[25], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->model[25], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(var_r31->model[25], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(var_r31->model[25], 2); - Hu3DModelShadowSet(var_r31->model[25]); - omSetTra(var_r31, var_r22->unk_28.x, 0.0f, 0.0f); - omSetRot(var_r31, 0.0f, 0.0f, 0.0f); - for (var_r28 = 0; var_r28 < 0x1A; var_r28++) { - Hu3DModelPosSet(var_r31->model[var_r28], var_r22->unk_28.x, 0.0f, 0.0f); - Hu3DModelRotSet(var_r31->model[var_r28], 0.0f, 0.0f, 0.0f); - } - for (var_r28 = 0; var_r28 < 2; var_r28++) { - var_r22->unk_10[var_r28] = HuMemDirectMallocNum(HEAP_SYSTEM, 31 * sizeof(UnkM432DllBss0SubStruct), MEMORY_DEFAULT_NUM); - memcpy(var_r22->unk_10[var_r28], var_r28 == 0 ? &lbl_1_data_5EC : &lbl_1_data_EDC, 31 * sizeof(UnkM432DllBss0SubStruct)); - for (var_r30 = var_r22->unk_10[var_r28], sp48 = 0; sp48 < 0x1F; sp48++, var_r30++) { - fn_1_1D18(var_r31->model[3], var_r30->unk_00, &var_r30->unk_20); - var_r30->unk_2C = var_r30->unk_20; - var_r30->unk_38 = 0.0f; - var_r30->unk_3C = 0.0f; - var_r30->unk_40 = -1; - var_r30->unk_44 = sp48; - if ((var_r30->unk_08 > 0) && (var_r30->unk_0C[var_r31->work[0]] != 0)) { - var_r31->model[var_r30->unk_08] = fn_1_46C(var_r30->unk_0C[var_r31->work[0]]); - Hu3DModelCameraSet(var_r31->model[var_r30->unk_08], lbl_1_data_A0[var_r31->work[0]]); - Hu3DModelLayerSet(var_r31->model[var_r30->unk_08], 0); - Hu3DModelPosSet(var_r31->model[var_r30->unk_08], var_r30->unk_2C.x, var_r30->unk_2C.y, var_r30->unk_2C.z); - Hu3DModelRotSet(var_r31->model[var_r30->unk_08], 0.0f, var_r30->unk_18, 0.0f); - Hu3DModelAttrSet(var_r31->model[var_r30->unk_08], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(var_r31->model[var_r30->unk_08], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(var_r31->model[var_r30->unk_08], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(var_r31->model[var_r30->unk_08], HU3D_ATTR_DISPOFF); - } - } - } - for (var_r28 = 0; var_r28 < 4; var_r28++) { - lbl_1_bss_0[var_r31->work[0]].unk_88[var_r28][2].y = 35.0f; - } - fn_1_1D18(var_r31->model[3], "m432_00-d0", &lbl_1_bss_0[var_r31->work[0]].unk_88[0][0]); - fn_1_1D18(var_r31->model[3], "m432_00-d0", &lbl_1_bss_0[var_r31->work[0]].unk_88[1][0]); - fn_1_1D18(var_r31->model[3], "m432_00-d1", &lbl_1_bss_0[var_r31->work[0]].unk_88[2][0]); - fn_1_1D18(var_r31->model[3], "m432_00-d1", &lbl_1_bss_0[var_r31->work[0]].unk_88[3][0]); - - fn_1_5364(var_r31->work[0], var_r31); - - fn_1_1D18(var_r31->model[3], "m432_00-h0", &lbl_1_bss_0[var_r31->work[0]].unk_118); - for (var_r28 = 0; var_r28 < 8; var_r28++) { - fn_1_1D18(var_r31->model[3], lbl_1_data_3DC[var_r28], &lbl_1_bss_0[var_r31->work[0]].unk_130[var_r28]); - if ((var_r28 % 4) < 2) { - lbl_1_bss_0[var_r31->work[0]].unk_130[var_r28].z -= 150.0f; - } - } - fn_1_1D18(var_r31->model[3], "m432_00-n0", &lbl_1_bss_0[var_r31->work[0]].unk_1C0); - Hu3DModelShadowMapSet(var_r31->model[0]); - Hu3DModelShadowMapSet(var_r31->model[20]); - Hu3DModelShadowMapSet(var_r31->model[21]); - Hu3DModelAttrReset(var_r31->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r31->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r31->model[2], HU3D_ATTR_DISPOFF); - var_r31->func = fn_1_113F0; -} - -void fn_1_12800(omObjData *object) { } - -void fn_1_12804(omObjData *object) -{ - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M432, 0x00)); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - omSetTra(object, lbl_1_bss_0[object->work[0]].unk_28.x, 0.0f, 0.0f); - omSetRot(object, 0.0f, 0.0f, 0.0f); - object->func = fn_1_12800; -} - -void fn_1_128C8(omObjData *object) -{ - s32 var_r31; - UnkM432DllStruct *var_r30; - UnkM432DllStruct *var_r29; - s32 var_r28; - s32 var_r27; - void *var_r26; - void *var_r25; - omObjData *var_r24; - void *var_r23; - void *var_r22; - - if (lbl_1_bss_41C->work[0] >= 0x3EB) { - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r24 = lbl_1_bss_0[var_r31].unk_04; - var_r30 = fn_1_51A8(var_r31 * 2); - var_r29 = fn_1_51A8(var_r31 * 2 + 1); - if ((var_r30->unk_180 == 0x7DF) && (var_r29->unk_180 == 0x7DF)) { - lbl_1_bss_0[var_r31].unk_12C += 0.05f; - if (12.0f < lbl_1_bss_0[var_r31].unk_12C) { - lbl_1_bss_0[var_r31].unk_12C = 12.0f; - } - lbl_1_bss_0[var_r31].unk_118.y += lbl_1_bss_0[var_r31].unk_12C; - Hu3DModelPosSet(var_r24->model[22], lbl_1_bss_0[var_r31].unk_118.x, lbl_1_bss_0[var_r31].unk_118.y, lbl_1_bss_0[var_r31].unk_118.z); - lbl_1_bss_0[var_r31].unk_28.y += 0.1f * ((500.0f + lbl_1_bss_0[var_r31].unk_118.y) - lbl_1_bss_0[var_r31].unk_28.y); - lbl_1_bss_0[var_r31].unk_1C.y += 0.01f * (1000.0f - lbl_1_bss_0[var_r31].unk_1C.y); - lbl_1_bss_0[var_r31].unk_1C.z += 0.002f * ((4000.0f + lbl_1_bss_0[var_r31].unk_118.z) - lbl_1_bss_0[var_r31].unk_1C.z); - Hu3DCameraPosSetV(lbl_1_data_A0[var_r31], &lbl_1_bss_0[var_r31].unk_1C, &lbl_1_data_C8, &lbl_1_bss_0[var_r31].unk_28); - } - else { - fn_1_623C(&lbl_1_bss_0[var_r31], var_r31, var_r30, var_r29); - if (NULL != lbl_1_bss_0[var_r31].unk_08) { - fn_1_6F28(&lbl_1_bss_0[var_r31]); - } - if ((2.0f <= lbl_1_bss_0[var_r31].unk_1E8) && (lbl_1_bss_0[var_r31].unk_1EC != 0.0f)) { - fn_1_7C1C(&lbl_1_bss_0[var_r31], var_r30, var_r29); - } - lbl_1_bss_0[var_r31].unk_0C = NULL; - lbl_1_bss_0[var_r31].unk_1E8 = 0.0f; - lbl_1_bss_0[var_r31].unk_1EC = 0.0f; - lbl_1_bss_0[var_r31].unk_1F0[0] = 0.0f; - lbl_1_bss_0[var_r31].unk_1F0[1] = 0.0f; - } - } -#if VERSION_NTSC - if (lbl_1_bss_41C->work[0] >= 0x3EC) { - for (var_r31 = 0; var_r31 < 2; var_r31++) { - if (lbl_1_bss_0[var_r31].unk_1CC >= 0) { - HuAudFXStop(lbl_1_bss_0[var_r31].unk_1CC); - } - if (lbl_1_bss_0[var_r31].unk_1D0 >= 0) { - HuAudFXStop(lbl_1_bss_0[var_r31].unk_1D0); - } - if (lbl_1_bss_0[var_r31].unk_1D8 >= 0) { - HuAudFXStop(lbl_1_bss_0[var_r31].unk_1D8); - } - lbl_1_bss_0[var_r31].unk_1CC = -1; - lbl_1_bss_0[var_r31].unk_1D0 = -1; - lbl_1_bss_0[var_r31].unk_1D8 = -1; - } - } -#endif - } -} - -void fn_1_12EA8(void) -{ - float var_f31; - float var_f30; - - UnkBss0Struct *var_r31; - s32 var_r30; - - for (var_r30 = 0; var_r30 < 2; var_r30++) { - var_r31 = &lbl_1_bss_0[var_r30]; - if (var_r31->unk_7C == 0.0f) { - var_r31->unk_1C = var_r31->unk_28; - var_r31->unk_1C.x = var_r31->unk_1C.x + (var_r31->unk_68 * sind(var_r31->unk_64)); - var_r31->unk_1C.y += var_r31->unk_6C; - var_r31->unk_1C.z = var_r31->unk_1C.z + (var_r31->unk_68 * cosd(var_r31->unk_64)); - } - else { - var_r31->unk_78 += 1.0f; - var_f30 = var_r31->unk_78 / var_r31->unk_7C; - var_f31 = sind((90.0f * var_f30)) * sind((90.0f * var_f30)); - - var_r31->unk_1C.x = var_r31->unk_34.x + (var_f31 * (var_r31->unk_40.x - var_r31->unk_34.x)); - var_r31->unk_1C.y = var_r31->unk_34.y + (var_f31 * (var_r31->unk_40.y - var_r31->unk_34.y)); - var_r31->unk_1C.z = var_r31->unk_34.z + (var_f31 * (var_r31->unk_40.z - var_r31->unk_34.z)); - var_r31->unk_28.x = var_r31->unk_4C.x + (var_f31 * (var_r31->unk_58.x - var_r31->unk_4C.x)); - var_r31->unk_28.y = var_r31->unk_4C.y + (var_f31 * (var_r31->unk_58.y - var_r31->unk_4C.y)); - var_r31->unk_28.z = var_r31->unk_4C.z + (var_f31 * (var_r31->unk_58.z - var_r31->unk_4C.z)); - if (var_r31->unk_7C <= var_r31->unk_78) { - var_r31->unk_68 = var_r31->unk_1C.z - var_r31->unk_28.z; - var_r31->unk_6C = var_r31->unk_1C.y - var_r31->unk_28.y; - var_r31->unk_78 = 0.0f; - var_r31->unk_7C = 0.0f; - } - } - Hu3DCameraPosSetV(lbl_1_data_A0[var_r30], &var_r31->unk_1C, &lbl_1_data_C8, &var_r31->unk_28); - } -} - -void fn_1_131A8(omObjData *var_r28) -{ - Vec sp98; - Vec sp8C; - Vec sp80; - UnkM432DllStruct *sp7C[1]; - - float var_f31; - float var_f30; - float var_f27; - float var_f26; - float var_f22; - float var_f21; - - UnkBss0Struct *var_r29; - s32 var_r26; - s32 var_r17; - - if (omSysExitReq != 0) { - fn_1_1F58(-1); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x3C); - var_r28->func = fn_1_1615C; - } - lbl_1_bss_580++; - switch (var_r28->work[0]) { - case 0x3E8: - if (WipeStatGet() == 0) { - var_r28->work[0]++; - lbl_1_bss_3F0 = 0.0f; - } - break; - case 0x3E9: - lbl_1_bss_3F0 += 1.0f; - var_f31 = lbl_1_bss_3F0 / 60.0f; - var_f30 = sind((90.0f * var_f31)) * sind((90.0f * var_f31)); - for (var_r26 = 0; var_r26 < 2; var_r26++) { - lbl_1_bss_0[var_r26].unk_28.z = -300.0f + (-400.0f * var_f30); - } - fn_1_12EA8(); - if (60.0f <= lbl_1_bss_3F0) { - var_r28->work[0]++; - lbl_1_bss_3F0 = 0.0f; - } - break; - case 0x3EA: - if (lbl_1_bss_576 < 0) { - lbl_1_bss_576 = MGSeqCreate(3, 0); - } - else { - if ((lbl_1_bss_570 < 0) && ((MGSeqStatGet(lbl_1_bss_576) & 0x10) != 0)) { - fn_1_1F24(0x46); - } - if (MGSeqStatGet(lbl_1_bss_576) == 0) { - var_r28->work[0]++; - lbl_1_bss_57C = 0; - lbl_1_bss_576 = -1; - lbl_1_bss_3F0 = 0.0f; - } - } - break; - case 0x3EB: - lbl_1_bss_57C++; - if (lbl_1_bss_574 >= 0) { - MGSeqParamSet(lbl_1_bss_574, 1, (300 * REFRESH_RATE + REFRESH_RATE - 1 - lbl_1_bss_57C) / REFRESH_RATE); - } - else if (lbl_1_bss_57C > 270 * REFRESH_RATE) { - lbl_1_bss_574 = MGSeqCreate(1, (300 * REFRESH_RATE + REFRESH_RATE - 1 - lbl_1_bss_57C) / REFRESH_RATE, -1, -1); - MGSeqPosSet(lbl_1_bss_574, 288.0f, 400.0f); - } - fn_1_580(lbl_1_bss_528, 0, lbl_1_bss_57C); - - fn_1_12EA8(); - if ((lbl_1_bss_57C >= 300 * REFRESH_RATE) || (lbl_1_bss_3FC >= 0)) { - var_r28->work[0] = 0x3EC; - lbl_1_bss_3F0 = 0.0f; - } - break; - case 0x3EC: - if (lbl_1_bss_576 < 0) { - if (lbl_1_bss_574 >= 0) { - MGSeqParamSet(lbl_1_bss_574, 2, -1); - } - lbl_1_bss_574 = -1; - lbl_1_bss_3F8 = 0; - lbl_1_bss_576 = MGSeqCreate(3, 1); - fn_1_1F58(0x64); - } - else { - var_r17 = 0; - for (var_r26 = 0; var_r26 < 4; var_r26++) { - if (((UnkM432DllStruct *)lbl_1_bss_410[var_r26]->data)->unk_180 >= 0x7DA) { - var_r17++; - } - } - if (++lbl_1_bss_3F8 > 0x78) { - var_r17 = 4; - } - lbl_1_bss_3F0 += 1.0f; - if ((var_r17 >= 4) && (60.0f <= lbl_1_bss_3F0) && (MGSeqStatGet(lbl_1_bss_576) == 0)) { - var_r28->work[0] = 0x3EE; - if ((lbl_1_bss_3FC >= 0) && (lbl_1_bss_57C < (VERSION_NTSC ? 5400 : 5250))) { - if (GWPlayerCfg[fn_1_51A8(lbl_1_bss_3FC)->unk_188].iscom != 0) { - if (GWPlayerCfg[fn_1_51A8(lbl_1_bss_3FC + 1)->unk_188].iscom == 0) { - goto block_81; - } - } - else { - block_81: - GWGameStat.present[0x32] = 1; - } - } - if ((lbl_1_bss_3FC >= 0) && (lbl_1_bss_578 > lbl_1_bss_57C)) { - if (GWPlayerCfg[fn_1_51A8(lbl_1_bss_3FC)->unk_188].iscom != 0) { - if (GWPlayerCfg[fn_1_51A8(lbl_1_bss_3FC + 1)->unk_188].iscom == 0) { - goto block_98; - } - } - else { - block_98: - var_r28->work[0] = 0x3ED; - fn_1_798(3); - } - } - lbl_1_bss_576 = -1; - lbl_1_bss_3F0 = 0.0f; - } - } - break; - case 0x3ED: - if (lbl_1_bss_576 < 0) { - lbl_1_bss_576 = MGSeqCreate(0xE, lbl_1_bss_578); - } - else if (MGSeqStatGet(lbl_1_bss_576) == 0) { - var_r28->work[0]++; - lbl_1_bss_3F0 = 0.0f; - lbl_1_bss_576 = -1; - } - break; - case 0x3EE: - if (lbl_1_bss_3FC < 0) { - var_r28->work[0] = 0x3F1; - lbl_1_bss_3F0 = 0.0f; - } - else if (2000.0f < lbl_1_bss_0[lbl_1_bss_3FC >> 1].unk_118.y) { - var_r28->work[0]++; - WipeColorSet(0xFF, 0xFF, 0xFF); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - } - break; - case 0x3EF: - if (WipeStatGet() == 0) { - var_r28->work[0]++; - lbl_1_bss_3F0 = 0.0f; - omDelObjEx(lbl_1_bss_5B4, lbl_1_bss_414); - Hu3DCameraKill(lbl_1_data_A0[(lbl_1_bss_3FC >> 1) ^ 1]); - Hu3DCameraPerspectiveSet(lbl_1_data_A0[lbl_1_bss_3FC >> 1], 20.0f, 20.0f, 20000.0f, 1.2f); - Hu3DCameraViewportSet(lbl_1_data_A0[lbl_1_bss_3FC >> 1], 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(lbl_1_data_A0[lbl_1_bss_3FC >> 1], 0, 0, 0x280, 0x1E0); - var_r29 = &lbl_1_bss_0[lbl_1_bss_3FC >> 1]; - var_r29->unk_118.y = 5000.0f; - Hu3DModelPosSet(var_r29->unk_04->model[22], var_r29->unk_118.x, var_r29->unk_118.y, var_r29->unk_118.z); - Hu3DModelPosSet(var_r29->unk_04->model[24], var_r29->unk_118.x, var_r29->unk_118.y, var_r29->unk_118.z); - Hu3DModelAttrReset(var_r29->unk_04->model[24], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r29->unk_04->model[24], HU3D_MOTATTR_PAUSE); - var_r29->unk_28.y = 8000.0f; - var_r29->unk_1C.y = 8000.0f; - var_r29->unk_1C.z = 5000.0f + var_r29->unk_118.z; - Hu3DCameraPosSetV(lbl_1_data_A0[lbl_1_bss_3FC >> 1], &var_r29->unk_1C, &lbl_1_data_C8, &var_r29->unk_28); - var_r29->unk_4C = var_r29->unk_28; - var_r29->unk_58 = var_r29->unk_28; - var_r29->unk_34 = var_r29->unk_1C; - var_r29->unk_40 = var_r29->unk_1C; - var_r29->unk_58.y = 5200.0f; - var_r29->unk_40.y = 5200.0f; - var_r29->unk_40.z = 2000.0f + var_r29->unk_118.z; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 0x3C); - lbl_1_bss_3F4 = HuAudFXPlay(0x69B); - } - break; - case 0x3F0: - var_r29 = &lbl_1_bss_0[lbl_1_bss_3FC >> 1]; - lbl_1_bss_3F0 += 1.0f; - var_f31 = lbl_1_bss_3F0 / (3.0f * REFRESH_RATE); - var_f30 = sind((90.0f * var_f31)) * sind((90.0f * var_f31)); - var_r29->unk_28.y = var_r29->unk_4C.y + (var_f30 * (var_r29->unk_58.y - var_r29->unk_4C.y)); - var_r29->unk_1C.y = var_r29->unk_34.y + (var_f30 * (var_r29->unk_40.y - var_r29->unk_34.y)); - if ((1.5f * REFRESH_RATE) < lbl_1_bss_3F0) { - var_f31 = (lbl_1_bss_3F0 - 1.5f * REFRESH_RATE) / (1.5f * REFRESH_RATE); - var_f30 = sind((90.0f * var_f31)) * sind((90.0f * var_f31)); - var_r29->unk_1C.z = var_r29->unk_34.z + (var_f30 * (var_r29->unk_40.z - var_r29->unk_34.z)); - } - Hu3DCameraPosSetV(lbl_1_data_A0[lbl_1_bss_3FC >> 1], &var_r29->unk_1C, &lbl_1_data_C8, &var_r29->unk_28); - if ((3 * REFRESH_RATE) <= lbl_1_bss_3F0) { - var_r28->work[0]++; - lbl_1_bss_3F0 = 0.0f; - } - break; - case 0x3F1: - if (lbl_1_bss_576 < 0) { - if (lbl_1_bss_3FC < 0) { - lbl_1_bss_576 = MGSeqCreate(3, 2); - HuAudSStreamPlay(4); - } - else { - lbl_1_bss_576 = MGSeqCreate(5, 3, fn_1_51A8(lbl_1_bss_3FC)->unk_18C, fn_1_51A8(lbl_1_bss_3FC + 1)->unk_18C, -1, -1); - HuAudSStreamPlay(1); - } - } - else { - lbl_1_bss_3F0 += 1.0f; - if (0 <= lbl_1_bss_3FC) { } - if ((210.0f < lbl_1_bss_3F0) && (MGSeqStatGet(lbl_1_bss_576) == 0)) { - fn_1_1F58(-1); - lbl_1_bss_576 = -1; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x3C); - var_r28->func = fn_1_1615C; - } - } - break; - default: - OSReport("*** main mode error(%d)!!\n", var_r28->work[0]); - break; - } - fn_1_A40(); - if ((lbl_1_bss_3FC >= 0) && (var_r28->work[0] >= 0x3F0)) { - var_r29 = &lbl_1_bss_0[lbl_1_bss_3FC >> 1]; - var_r29->unk_118.y = 5000.0 + (10.0 * sind((lbl_1_bss_580 * 4))); - Hu3DModelPosSet(var_r29->unk_04->model[22], var_r29->unk_118.x, var_r29->unk_118.y, var_r29->unk_118.z); - } - sp98.x = 0.0f; - sp98.y = 0.0f; - sp98.z = 0.0f; - for (var_r26 = 0; var_r26 < 4; var_r26++) { - sp7C[0] = lbl_1_bss_410[var_r26]->data; - sp98.x += sp7C[0]->unk_00.unk_6C.x; - sp98.z += sp7C[0]->unk_00.unk_6C.z; - } - sp98.x *= 0.25f; - sp98.z *= 0.25f; - var_f27 = 0.0f; - for (var_r26 = 0; var_r26 < 4; var_r26++) { - var_f26 = VECDistance(&sp98, &((UnkM432DllStruct *)lbl_1_bss_410[var_r26]->data)->unk_00.unk_6C); - if (var_f27 < var_f26) { - var_f27 = var_f26; - } - } - - fn_1_52B8_inline(&sp80, sp98.x, 0.0f, sp98.z); - - sp98.y = 6.0f * var_f27; - sp98.z += 1000.0f; - VECNormalize(&sp98, &sp8C); - Hu3DShadowPosSet(&sp98, &sp8C, &sp80); - fn_1_2D8(); -} - -void fn_1_15320(omObjData *object) -{ - s32 var_r31; - object->work[0] = 0x3E8; - fn_1_B4C(80.0f, DATA_MAKE_NUM(DATADIR_M432, 0x1E)); - fn_1_9EC(); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_131A8; -} - -void ObjectSetup(void) -{ - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - - UnkBss0Struct *var_r31; - s32 var_r30; - float *var_r29; - UnkM432DllStruct *var_r28; - omObjData *var_r27; - s32 var_r26; - s32 var_r24; - s32 var_r23; - s32 var_r22; - s32 var_r21; - s32 var_r20; - - OSReport("******* M432 ObjectSetup *********\n"); - lbl_1_bss_5B4 = omInitObjMan(0x258, 0x2000); - omGameSysInit(lbl_1_bss_5B4); - nMap = 0; - nChar = 0; - lbl_1_bss_580 = 0; - lbl_1_bss_576 = -1; - lbl_1_bss_574 = -1; - lbl_1_bss_3FC = -1; - lbl_1_bss_3F8 = 0; - lbl_1_bss_570 = -1; - lbl_1_bss_3F4 = -1; - lbl_1_bss_57C = 0; - lbl_1_bss_578 = GWMGRecordGet(3); - lbl_1_bss_568 = -1.0f; - if (lbl_1_bss_578 == 0) { - lbl_1_bss_578 = 120 * REFRESH_RATE; - } - fn_1_414(); - for (var_r30 = 0; var_r30 < 2; var_r30++) { - lbl_1_bss_0[var_r30].unk_08 = NULL; - lbl_1_bss_0[var_r30].unk_18 = 0; - lbl_1_bss_0[var_r30].unk_28.x = -800.0f + (1600.0f * var_r30); - lbl_1_bss_0[var_r30].unk_28.y = 0.0f; - lbl_1_bss_0[var_r30].unk_28.z = -300.0f; - lbl_1_bss_0[var_r30].unk_1E4 = 0.0f; - lbl_1_bss_0[var_r30].unk_64 = 0.0f; - lbl_1_bss_0[var_r30].unk_68 = 3900.0f; - lbl_1_bss_0[var_r30].unk_6C = 3250.0f; - lbl_1_bss_0[var_r30].unk_1E8 = 0.0f; - lbl_1_bss_0[var_r30].unk_70 = 0.0f; - lbl_1_bss_0[var_r30].unk_74 = 0.0f; - lbl_1_bss_0[var_r30].unk_78 = 0.0f; - lbl_1_bss_0[var_r30].unk_7C = 0.0f; - lbl_1_bss_0[var_r30].unk_80 = 0.0f; - lbl_1_bss_0[var_r30].unk_84 = 0.0f; - lbl_1_bss_0[var_r30].unk_124 = 0.0f; - lbl_1_bss_0[var_r30].unk_128 = 0.0f; - lbl_1_bss_0[var_r30].unk_12C = 0.0f; - lbl_1_bss_0[var_r30].unk_1B8 = frandmod(5); - lbl_1_bss_0[var_r30].unk_1BC = frandmod(9); - lbl_1_bss_0[var_r30].unk_1CC = -1; - lbl_1_bss_0[var_r30].unk_1D0 = -1; - lbl_1_bss_0[var_r30].unk_1D4 = 0.0f; - lbl_1_bss_0[var_r30].unk_1D8 = -1; - lbl_1_bss_0[var_r30].unk_1DC = 0.0f; - } - Hu3DCameraCreate(3); - Hu3DCameraPerspectiveSet(3, 20.0f, 20.0f, 20000.0f, 0.6f); - fn_1_12EA8(); - for (var_r29 = lbl_1_data_A8, var_r30 = 0; var_r30 < 2; var_r30++, var_r29 += 4) { - Hu3DCameraViewportSet(lbl_1_data_A0[var_r30], var_r29[0], var_r29[1], var_r29[2], var_r29[3], 0.0f, 1.0f); - Hu3DCameraScissorSet(lbl_1_data_A0[var_r30], var_r29[0], var_r29[1], var_r29[2], var_r29[3]); - } - var_r20 = Hu3DGLightCreateV(&lbl_1_data_D4, &lbl_1_data_E0, &lbl_1_data_EC); - Hu3DGLightStaticSet(var_r20, 0); - Hu3DGLightInfinitytSet(var_r20); - Hu3DShadowCreate(30.0f, 20.0f, 20000.0f); - Hu3DShadowTPLvlSet(0.5f); - VECNormalize(&lbl_1_data_F0, &sp8); - Hu3DShadowPosSet(&lbl_1_data_F0, &sp8, &lbl_1_data_FC); - fn_1_2C00(fn_1_AA00, 0.0f); - omMakeGroupEx(lbl_1_bss_5B4, 2, 4); - lbl_1_bss_410 = omGetGroupMemberListEx(lbl_1_bss_5B4, 2); - for (var_r30 = 0; var_r30 < 4; var_r30++) { - var_r27 = omAddObjEx(lbl_1_bss_5B4, 0x68, 1, 0xB, 2, fn_1_10CCC); - var_r27->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM432DllStruct), MEMORY_DEFAULT_NUM); - var_r27->work[0] = var_r30; - var_r28 = var_r27->data; - var_r28->unk_184 = -1; - var_r28->unk_188 = var_r27->work[0]; - var_r28->unk_194 = GWPlayerCfg[var_r28->unk_188].group; - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - var_r22 = -1; - var_r21 = 0x28; - for (var_r26 = 0; var_r26 < 4; var_r26++) { - var_r28 = lbl_1_bss_410[var_r26]->data; - if (var_r28->unk_184 < 0) { - var_r23 = var_r28->unk_188 + (var_r28->unk_194 * 4); - if (var_r21 > var_r23) { - var_r21 = var_r23; - var_r22 = var_r26; - } - } - } - ((UnkM432DllStruct *)lbl_1_bss_410[var_r22]->data)->unk_184 = var_r30; - } - for (var_r30 = 0; var_r30 < 2; var_r30++) { - lbl_1_bss_0[var_r30].unk_04 = omAddObjEx(lbl_1_bss_5B4, 0x64, 0x1A, 0, 0, fn_1_113F4); - lbl_1_bss_0[var_r30].unk_04->work[0] = var_r30; - lbl_1_bss_0[var_r30].unk_00 = omAddObjEx(lbl_1_bss_5B4, 0x65, 1, 0, 1, fn_1_12804); - lbl_1_bss_0[var_r30].unk_00->work[0] = var_r30; - MapObject[nMap++] = lbl_1_bss_0[var_r30].unk_00; - } - fn_1_150(); - lbl_1_bss_408 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M432, 0x28)); - HuSprAnimLock(lbl_1_bss_408); - lbl_1_bss_404 = Hu3DParManCreate(lbl_1_bss_408, 0x1F4, &lbl_1_data_1814); - Hu3DParManAttrSet(lbl_1_bss_404, 1); - lbl_1_bss_402 = 0; - fn_1_0(); - omMakeGroupEx(lbl_1_bss_5B4, 3, 0xF0); - lbl_1_bss_418 = omGetGroupMemberListEx(lbl_1_bss_5B4, 3); - lbl_1_bss_400 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M432, 0x09)); - Hu3DModelAttrSet(lbl_1_bss_400, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_400, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - lbl_1_bss_414 = omAddObjEx(lbl_1_bss_5B4, 0x66, 0, 0, -1, fn_1_128C8); - lbl_1_bss_41C = omAddObjEx(lbl_1_bss_5B4, 0x69, 0x1A, 0, -1, fn_1_15320); - lbl_1_bss_41C->work[0] = 0x3E8; -} - -void fn_1_1615C(omObjData *arg0) -{ - s32 var_r31; - - if (lbl_1_bss_3F4 >= 0) { - lbl_1_bss_3F4 = -1; - HuAudFXStop(lbl_1_bss_3F4); - } - if (WipeStatGet() == 0) { - if (lbl_1_bss_576 >= 0) { - MGSeqKill(lbl_1_bss_576); - } - if (lbl_1_bss_574 >= 0) { - MGSeqKill(lbl_1_bss_574); - } - MGSeqKillAll(); - HuAudAllStop(); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - CharModelKill(lbl_1_data_0[GWPlayerCfg[var_r31].character]); - } - omOvlReturnEx(1, 1); - } -} diff --git a/src/REL/m433Dll/main.c b/src/REL/m433Dll/main.c deleted file mode 100644 index 6e36fe20..00000000 --- a/src/REL/m433Dll/main.c +++ /dev/null @@ -1,476 +0,0 @@ -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" -#include "string.h" - -#include "REL/m433Dll.h" - -void fn_1_4C0(omObjData *object); -void fn_1_618(omObjData *object); -void fn_1_798(omObjData *object); -void fn_1_AD4(omObjData *object); -void fn_1_E2C(omObjData *object); -void fn_1_1040(omObjData *object); -void fn_1_13FC(omObjData *object); -void fn_1_16D0(omObjData *object); -omObjFunc fn_1_1A3C(Process *process, omObjData *object); -void fn_1_1A48(omObjData *object); -float fn_1_26C4(float arg8, float arg9, float argA); - -Vec lbl_1_data_0 = { 100.0f, 800.0f, -100.0f }; -Vec lbl_1_data_C = { 0.3f, -0.8f, 0.3f }; -Vec lbl_1_data_18 = { 10.0f, 45.0f, 3500.0f }; -GXColor lbl_1_data_24 = { 0xFF, 0xFF, 0xFF, 0xFF }; -Vec lbl_1_data_28 = { 50.0f, 150000.0f, 50.0f }; -Vec lbl_1_data_34 = { 0.0f, 1.0f, 0.0f }; -Vec lbl_1_data_40 = { 0.0f, 0.0f, 0.0f }; -Vec lbl_1_data_4C = { 0.0f, 170.0f, 0.0f }; -Vec lbl_1_data_58 = { 0.0f, -22.0f, 850.0f }; - -char lbl_1_bss_34[0x4]; -char lbl_1_bss_30[0x4]; -char lbl_1_bss_2C[0x4]; -Process *lbl_1_bss_28; -omObjData *lbl_1_bss_24; -omObjData *lbl_1_bss_20; -char lbl_1_bss_18[8]; -s16 lbl_1_bss_16; -s16 lbl_1_bss_14; -s16 lbl_1_bss_12; -s16 lbl_1_bss_10; -s32 lbl_1_bss_C; -s32 lbl_1_bss_8; -s32 lbl_1_bss_4; -s32 lbl_1_bss_0; - -void ObjectSetup(void) -{ - Vec sp14; - Vec sp8; - Process *var_r31; - LightData *var_r30; - - HuAudSndGrpSet(0x3A); - lbl_1_bss_C = lbl_1_bss_8 = -1; - lbl_1_bss_4 = lbl_1_bss_0 = -1; - lbl_1_data_28.x = 200.0f; - lbl_1_data_28.y = 1200.0f; - lbl_1_data_28.z = 160.0f; - lbl_1_data_34.x = 0.0f; - lbl_1_data_34.y = 1.0f; - lbl_1_data_34.z = 0.0f; - lbl_1_data_40.x = 0.0f; - lbl_1_data_40.y = 0.0f; - lbl_1_data_40.z = 0.0f; - Hu3DShadowCreate(30.0f, 20.0f, 25000.0f); - Hu3DShadowTPLvlSet(0.625f); - Hu3DShadowPosSet(&lbl_1_data_28, &lbl_1_data_34, &lbl_1_data_40); - lbl_1_bss_16 = Hu3DGLightCreateV(&lbl_1_data_0, &lbl_1_data_C, &lbl_1_data_24); - Hu3DGLightInfinitytSet(lbl_1_bss_16); - var_r30 = &Hu3DGlobalLight[lbl_1_bss_16]; - var_r30->unk_00 |= 0x8000; - lbl_1_data_18.x = 55.74f; - lbl_1_data_18.y = 0.0f; - lbl_1_data_18.z = 3500.0f; - sp14.x = sp14.y = sp14.z = 0.0f; - sp8.x = sp8.z = 0.0f; - sp8.y = lbl_1_data_18.z; - sp8.x = 0.0f; - sp8.y = 3480.0002f; - sp8.z = 900.00006f; - Hu3DGLightPosAimSetV(lbl_1_bss_16, &sp8, &sp14); - Hu3DShadowPosSet(&sp8, &lbl_1_data_34, &sp14); - lbl_1_bss_14 = lbl_1_bss_12 = lbl_1_bss_10 = -1; - var_r31 = omInitObjMan(0x32, 0x2000); - lbl_1_bss_28 = var_r31; - omGameSysInit(var_r31); - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, -1.0f, 10.0f, 10000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - lbl_1_bss_20 = omAddObjEx(var_r31, 0x7FDA, 0, 0, -1, omOutView); - lbl_1_bss_24 = omAddObjEx(var_r31, 0xA, 0, 0, -1, fn_1_4C0); - fn_1_2894(var_r31); - fn_1_5904(var_r31); -} - -void fn_1_4C0(omObjData *object) -{ - M433DllWork *work; - - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M433DllWork), MEMORY_DEFAULT_NUM); - work = object->data; - memset(work, 0, sizeof(M433DllWork)); - work->unk_00 = 0; - work->unk_04 = 0; - work->unk_0C = 0; - work->unk_10 = 0; - work->unk_14 = 0; - work->unk_18 = 0; - work->unk_24 = 0; - work->unk_28 = 0; - work->unk_08 = 0; - work->unk_34 = 2; - work->unk_38 = 0; - work->unk_3C = 0; - object->func = fn_1_798; -} - -void fn_1_584(omObjData *object) -{ - M433DllWork *work = object->data; - work->unk_04++; - work->unk_10++; - work->unk_18++; - work->unk_28++; - if ((omSysExitReq != 0) && (work->unk_00 != 5)) { - work->unk_00 = 4; - fn_1_618(object); - } -} - -void fn_1_618(omObjData *object) -{ - M433DllWork *work = object->data; - if (work->unk_08 == 0) { - switch (work->unk_00) { - case 0: - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - Hu3DCameraPerspectiveSet(1, 41.5f, 10.0f, 10000.0f, 1.2f); - lbl_1_bss_C = HuAudFXPlay(0x6AC); - work->unk_00 = 1; - work->unk_10 = 0; - object->func = fn_1_29A4(lbl_1_bss_28, object); - break; - case 1: - work->unk_00 = 2; - work->unk_18 = 0; - object->func = fn_1_1040; - break; - case 2: - work->unk_00 = 3; - work->unk_28 = 0; - object->func = fn_1_1A3C(lbl_1_bss_28, object); - break; - case 3: - case 4: - work->unk_08 = 1; - work->unk_00 = 5; - object->func = fn_1_AD4; - break; - case 5: - default: - work->unk_00 = 5; - object->func = fn_1_E2C; - break; - } - work->unk_04 = 0; - } -} - -void fn_1_798(omObjData *object) -{ - fn_1_584(object); - fn_1_618(object); -} - -void fn_1_AD4(omObjData *object) -{ - M433DllWork *work = object->data; - - fn_1_584(object); - if (WipeStatGet() == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - work->unk_08 = 0; - fn_1_618(object); - } -} - -void fn_1_E2C(omObjData *object) -{ - fn_1_584(object); - if (WipeStatGet() == 0) { - fn_1_5B74(); - fn_1_2984(); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - } -} - -void fn_1_1040(omObjData *object) -{ - M433DllWork *work = object->data; - fn_1_584(object); - switch (work->unk_14) { - case 0: - HuAudFXFadeOut(lbl_1_bss_C, 0x1E); - work->unk_1C = 0x1E; - work->unk_20 = 0x3C; - lbl_1_bss_14 = MGSeqCreate(3, 0); - MGSeqPosSet(lbl_1_bss_14, 320.0f, 240.0f); - Center.x = 0.0f; - Center.y = 200.0f; - Center.z = 0.0f; - CRot.x = -30.0f; - CRot.y = 0.0f; - CRot.z = 0.0f; - CZoom = 1900.0f; - work->unk_14 = 1; - work->unk_18 = 0; - break; - case 1: - if ((lbl_1_bss_4 < 0) && ((MGSeqStatGet(lbl_1_bss_14) & 0x10) != 0)) { - lbl_1_bss_4 = HuAudSeqPlay(0x47); - } - if ((MGSeqStatGet(lbl_1_bss_14) == 0) && (work->unk_08 == 0)) { - work->unk_14 = 2; - work->unk_18 = 0; - object->func = fn_1_13FC; - } - break; - } -} - -void fn_1_13FC(omObjData *object) -{ - - M433DllWork *work = object->data; - s32 var_r27 = 0; - fn_1_584(object); - work->unk_20++; - if (--work->unk_20 == 0) { - work->unk_20 = 0x3C; - work->unk_1C--; - if (work->unk_1C == 0) { - var_r27 = 1; - } - } - if (work->unk_34 != 2) { - var_r27 = 1; - } - if (var_r27 != 0) { - lbl_1_bss_12 = MGSeqCreate(3, 1); - MGSeqPosSet(lbl_1_bss_12, 320.0f, 240.0f); - HuAudSeqFadeOut(lbl_1_bss_4, 0x64); - work->unk_14 = 3; - work->unk_18 = 0; - if (work->unk_08 == 0) { - object->func = fn_1_16D0; - } - lbl_1_bss_8 = HuAudFXPlay(0x6AC); - } -} - -void fn_1_16D0(omObjData *object) -{ - M433DllWork *work = object->data; - fn_1_584(object); - if ((MGSeqStatGet(lbl_1_bss_12) == 0) && ((work->unk_38 + 0xFFFF0000) == 0x1111)) { - work->unk_14 = 4; - work->unk_18 = 0; - fn_1_618(object); - } -} - -omObjFunc fn_1_1A3C(Process *process, omObjData *object) -{ - return fn_1_1A48; -} - -static inline s32 fn_1_1A48_inline(void) -{ - return GWSystem.mg_type; -} - -void fn_1_1A48(omObjData *object) -{ - M433DllWork *work = object->data; - float var_f31 = lbl_1_data_58.y; - if (fn_1_10FA4(1) != 0) { - var_f31 *= -1.0f; - } - Center.x += 0.15f * (lbl_1_data_4C.x - Center.x); - Center.y += 0.15f * (lbl_1_data_4C.y - Center.y); - Center.z += 0.15f * (lbl_1_data_4C.z - Center.z); - CRot.x = fn_1_26C4(CRot.x, lbl_1_data_58.x, 0.15f); - CRot.y = fn_1_26C4(CRot.y, var_f31, 0.15f); - CZoom += 0.15f * (lbl_1_data_58.z - CZoom); - fn_1_584(object); - work->unk_24 = 1; - if (lbl_1_bss_0 < 0) { - lbl_1_bss_0 = HuAudSStreamPlay(1); - } - if (lbl_1_bss_10 < 0) { - s32 spC[4] = { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }; - s32 var_r26; - s32 var_r25 = 0; - s32 var_r24; - for (var_r26 = 0; var_r26 < 2; var_r26++) { - if (work->unk_2C[var_r26] >= 0) { - spC[var_r25++] = GWPlayerCfg[work->unk_2C[var_r26]].character; - GWPlayerCoinWinAdd(work->unk_2C[var_r26], 10); - } - } - if (spC[0] == -1) { - lbl_1_bss_10 = MGSeqCreate(5, 2); - return; - } - var_r24 = 3; - if (fn_1_1A48_inline() == 0) { - if (fn_1_10FA4(0) != 0) { - var_r24 = 5; - } - } - lbl_1_bss_10 = MGSeqCreate(5, var_r24, spC[0], spC[1], spC[2], spC[3]); - return; - } - if ((MGSeqStatGet(lbl_1_bss_10) == 0) && (work->unk_28 >= 210.0f)) { - HuAudFXFadeOut(lbl_1_bss_8, 0x1E); - work->unk_24 = 2; - fn_1_618(object); - } -} - -s32 fn_1_213C(void) -{ - return OM_GET_DATA_PTR(lbl_1_bss_24, M433DllWork)->unk_00; -} - -s32 fn_1_2154(void) -{ - return OM_GET_DATA_PTR(lbl_1_bss_24, M433DllWork)->unk_0C; -} - -u32 fn_1_216C(void) -{ - return OM_GET_DATA_PTR(lbl_1_bss_24, M433DllWork)->unk_14; -} - -u32 fn_1_2184(void) -{ - return OM_GET_DATA_PTR(lbl_1_bss_24, M433DllWork)->unk_24; -} - -void fn_1_219C(s32 arg0, s32 arg1, s32 arg2) -{ - M433DllWork *work = lbl_1_bss_24->data; - work->unk_34 = arg0; - work->unk_2C[0] = arg1; - work->unk_2C[1] = arg2; -} - -s32 fn_1_21CC(void) -{ - return OM_GET_DATA_PTR(lbl_1_bss_24, M433DllWork)->unk_34; -} - -void fn_1_21E4(s32 arg0) -{ - OM_GET_DATA_PTR(lbl_1_bss_24, M433DllWork)->unk_38 |= (1 << ((arg0 & 7) * 4)); -} - -void fn_1_2214(s32 arg0) -{ - OM_GET_DATA_PTR(lbl_1_bss_24, M433DllWork)->unk_3C |= (1 << ((arg0 & 3) * 4)); -} - -s32 fn_1_2244(void) -{ - return MGSeqStatGet(lbl_1_bss_12) == 0; -} - -void fn_1_227C(Vec *arg0, Vec *arg1) -{ - Vec sp10; - - VECSubtract(arg1, arg0, &sp10); - Center = *arg1; - CRot.x = atan2d(sp10.y, sqrtf((sp10.x * sp10.x) + (sp10.z * sp10.z))); - CRot.y = atan2d(-sp10.x, -sp10.z); - CRot.z = 0.0f; - CZoom = VECMag(&sp10); -} - -void fn_1_2484(float arg8, float arg9, float argA, float argB, float argC, float argD) -{ - Vec sp3C; - Vec sp30; - - sp3C.x = arg8; - sp3C.y = arg9; - sp3C.z = argA; - sp30.x = argB; - sp30.y = argC; - sp30.z = argD; - fn_1_227C(&sp3C, &sp30); -} - -float fn_1_26C4(float arg8, float arg9, float argA) -{ - float var_f31; - float var_f30; - float var_f29; - - var_f30 = fmod(arg9 - arg8, 360.0); - var_f31 = var_f30; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - var_f29 = fmod(arg8 + (argA * var_f31), 360.0); - var_f31 = var_f29; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - return var_f31; -} - -float fn_1_27E0(float arg8, float arg9) -{ - float var_f31; - float var_f30; - - var_f30 = fmod(arg9 - arg8, 360.0); - var_f31 = var_f30; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - return var_f31; -} - -s32 lbl_1_data_64[] = { - 0x00000000, - 0x00000000, - 0x45ABE000, - 0xC576E000, - 0x00000000, - 0xBF333333, - 0x3F19999A, - 0xFFFFFFFF, - 0x00000000, - 0x45ABE000, - 0xC576E000, - 0x00000000, - 0x3F800000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; diff --git a/src/REL/m433Dll/map.c b/src/REL/m433Dll/map.c deleted file mode 100644 index 40aab323..00000000 --- a/src/REL/m433Dll/map.c +++ /dev/null @@ -1,827 +0,0 @@ -#include "dolphin/mtx.h" -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/flag.h" -#include "game/frand.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" -#include "string.h" - -#include "REL/m433Dll.h" - -typedef struct M433DllBss38Struct { - /* 0x00 */ u8 unk_00; - /* 0x01 */ char unk01[2]; - /* 0x03 */ u8 unk_03; - /* 0x04 */ u8 unk_04; - /* 0x05 */ char unk05[3]; - /* 0x08 */ float unk_08; - /* 0x0C */ Vec unk_0C; - /* 0x18 */ Vec unk_18; - /* 0x24 */ Vec unk_24; - /* 0x30 */ Vec unk_30; - /* 0x3C */ char unk3C[0xC]; - /* 0x48 */ Vec unk_48; - union { - struct { - /* 0x54 */ float unk_54; - /* 0x58 */ float unk_58; - char unk5C[4]; - /* 0x60 */ float unk_60; - }; - struct { - /* 0x54 */ s16 unk_54_s16[0x20]; - }; - }; -} M433DllBss38Struct; /* size = 0x94 */ - -typedef struct M433DllMapWork { - char unk00; - u8 unk_01; - u8 unk_02; - char unk03; - u8 unk_04; - char unk08[4]; - Vec unk_0C; - Vec unk_18; - char unk24[0xC]; - Vec unk_30; - Vec unk_3C; - char unk48[0xC]; - s16 unk_54; - char unk56[0x3E]; -} M433DllMapWork; /* size 0x94 */ - -typedef struct M433DllMapWork2 { - u8 unk_00; - Vec unk_04; - Vec unk_10; - Vec unk_1C; - Vec unk_28; - Vec unk_34; - Vec unk_40; - char unk4C[0xE4]; - float unk_130; - float unk_134; - float unk_138; - char unk13C[4]; - float unk_140; - float unk_144; - float unk_148; - float unk_14C[3]; - float unk_158[3]; - float unk_164[3]; - float unk_170[3]; - float unk_17C[3]; - u16 unk_188[3]; -} M433DllMapWork2; /* size 0x190 */ - -typedef struct M433DllUnkStruct { - s16 unk_00; - s16 unk_02; - s16 unk_04; - char unk06[0x42]; -} M433DllUnkStruct; /* size 0x48 */ - -void fn_1_2AC4(omObjData *object); -void fn_1_2CE0(omObjData *object); -void fn_1_32CC(omObjData *object); -void fn_1_39AC(omObjData *object); -void fn_1_3C1C(omObjData *object); -s16 fn_1_3E5C(s32 arg0, s16 arg1, ParticleHook arg2); -void fn_1_3F14(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_4A94(omObjData *object); -void fn_1_4BA0(omObjData *object); -void fn_1_4ED4(float arg8, Vec *arg0, Vec *arg1, float arg9); -void fn_1_5068(void); -void *fn_1_50A8(s32 arg0); -void fn_1_51DC(void); -s32 fn_1_5260(void); -float fn_1_52B4(float arg8, float arg9, float argA); -void fn_1_541C(Mtx arg0, float arg8, float arg9, float argA); -void fn_1_553C(Mtx arg0, Vec *arg1); -extern s32 lbl_1_bss_34; - -omObjData *lbl_1_bss_7B0; -omObjData *lbl_1_bss_7AC; -omObjData *lbl_1_bss_7A8; -void *lbl_1_bss_728[0x20]; -M433DllBss38Struct lbl_1_bss_38[0xC]; - -void fn_1_2894(Process *process) -{ - s32 var_r31; - s32 var_r29; - - lbl_1_bss_34 = 1; - lbl_1_bss_7AC = omAddObjEx(process, 0x1E, 8, 0, -1, fn_1_2CE0); - lbl_1_bss_7A8 = omAddObjEx(process, 0x1F, 3, 6, -1, fn_1_39AC); - lbl_1_bss_7B0 = omAddObjEx(process, 0x1D, 1, 0, -1, fn_1_4A94); - var_r29 = frand() & 0x1F; - for (var_r31 = 0; var_r31 < var_r29; var_r31++) { - fn_1_5260(); - } - fn_1_5068(); -} - -void fn_1_2984(void) -{ - fn_1_51DC(); -} - -omObjFunc fn_1_29A4(Process *process, omObjData *object) -{ - M433DllWork *work = object->data; - CRot.x = 54.3f; - CRot.y = 22.3f; - CRot.z = 0.0f; - Center.x = -130.1f; - Center.y = 885.0f; - Center.z = -900.3f; - CZoom = 1100.0f; - fn_1_4ED4(0.0f, &Center, &CRot, CZoom); - object->work[0] = 0xB4; - work->unk_0C = 1; - return fn_1_2AC4; -} - -void fn_1_2AC4(omObjData *object) -{ - Vec sp14; - Vec sp8; - float var_f31; - M433DllWork *work = object->data; - - fn_1_584(object); - if (object->work[0] == 120.0f) { - sp14.x = 0.0f; - sp14.y = -10.0f; - sp14.z = -207.5f; - sp8.x = -26.5f; - sp8.y = 0.0f; - sp8.z = 0.0f; - var_f31 = 1400.0f; - fn_1_4ED4(90.0f, &sp14, &sp8, var_f31); - } - if (object->work[0] == 48.0f) { - sp14.x = 0.0f; - sp14.y = 200.0f; - sp14.z = 0.0f; - sp8.x = -30.0f; - sp8.y = 0.0f; - sp8.z = 0.0f; - var_f31 = 1900.0f; - fn_1_4ED4(object->work[0], &sp14, &sp8, var_f31); - } - if (--object->work[0] == 0) { - work->unk_0C = 2; - fn_1_618(object); - lbl_1_bss_7B0->func = NULL; - } -} - -void fn_1_2CE0(omObjData *object) -{ - Vec sp8[0x10] = { - { 475.0f, 800.0f, -1400.0f }, - { -300.0f, 700.0f, -1400.0f }, - { 300.0f, 875.0f, -1450.0f }, - { -575.0f, 850.0f, -1550.0f }, - { 350.0f, 750.0f, -1500.0f }, - { -450.0f, 775.0f, -1550.0f }, - { 325.0f, 725.0f, -1450.0f }, - { -525.0f, 725.0f, -1500.0f }, - { 575.0f, 850.0f, -1550.0f }, - { -350.0f, 750.0f, -1500.0f }, - { 450.0f, 775.0f, -1550.0f }, - { -325.0f, 725.0f, -1450.0f }, - { 525.0f, 725.0f, -1500.0f }, - { -475.0f, 800.0f, -1400.0f }, - { 300.0f, 700.0f, -1400.0f }, - { -300.0f, 875.0f, -1450.0f }, - }; - M433DllBss38Struct *var_r31; - s32 var_r30; - M433DllUnkStruct *var_r28; - s32 i; - s32 var_r26; - - var_r30 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M433, 0xCD)); - object->model[0] = var_r30; - var_r30 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M433, 0xCE)); - object->model[1] = var_r30; - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - Hu3DMotionSpeedSet(var_r30, 0.5f); - var_r30 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M433, 0xCF)); - object->model[2] = var_r30; - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - var_r30 = fn_1_3E5C(DATA_MAKE_NUM(DATADIR_M425, 0x05), 1, fn_1_3F14); - object->model[3] = var_r30; - Hu3DParticleBlendModeSet(var_r30, 1); - Hu3DModelLayerSet(var_r30, 6); - var_r28 = ((ParticleData *)Hu3DData[var_r30].unk_120)->unk_1C; - var_r28->unk_02 = 0; - HuDataDirClose(DATA_MAKE_NUM(DATADIR_M425, 0x05)); - var_r30 = fn_1_3E5C(DATA_MAKE_NUM(DATADIR_M433, 0xD3), 0xA, fn_1_3F14); - object->model[4] = var_r30; - Hu3DParticleBlendModeSet(var_r30, 1); - Hu3DModelLayerSet(var_r30, 6); - var_r28 = ((ParticleData *)Hu3DData[var_r30].unk_120)->unk_1C; - var_r28->unk_02 = 1; - var_r30 = fn_1_3E5C(DATA_MAKE_NUM(DATADIR_M433, 0xD2), 4, fn_1_3F14); - object->model[5] = var_r30; - Hu3DParticleBlendModeSet(var_r30, 1); - Hu3DModelLayerSet(var_r30, 6); - var_r28 = ((ParticleData *)Hu3DData[var_r30].unk_120)->unk_1C; - var_r28->unk_02 = 2; - var_r30 = fn_1_3E5C(DATA_MAKE_NUM(DATADIR_M433, 0xD1), 6, fn_1_3F14); - object->model[6] = var_r30; - Hu3DParticleBlendModeSet(var_r30, 1); - Hu3DModelLayerSet(var_r30, 6); - var_r28 = ((ParticleData *)Hu3DData[var_r30].unk_120)->unk_1C; - var_r28->unk_02 = 3; - for (i = 0; i < 0xC; i++) { - var_r31 = &lbl_1_bss_38[i]; - var_r30 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M425, 0x02)); - var_r31->unk_00 = var_r30; - var_r31->unk_0C.x = sp8[i].x; - var_r31->unk_0C.y = sp8[i].y - 300.0f; - var_r31->unk_0C.z = 800.0f + sp8[i].z; - Hu3DModelPosSet(var_r30, var_r31->unk_0C.x, var_r31->unk_0C.y, var_r31->unk_0C.z); - Hu3DMotionSpeedSet(var_r30, 6.0f); - var_r31->unk_03 = var_r31->unk_04 = 0; - var_r31->unk_18.x = var_r31->unk_18.y = var_r31->unk_18.z = 0.0f; - var_r31->unk_24.x = var_r31->unk_24.y = var_r31->unk_24.z = 1.0f; - var_r31->unk_48.x = var_r31->unk_48.y = var_r31->unk_48.z = 0.0f; - var_r31->unk_30.x = var_r31->unk_0C.x; - var_r31->unk_30.y = var_r31->unk_0C.y; - var_r31->unk_30.z = var_r31->unk_0C.z; - if ((i & 1) != 0) { - var_r31->unk_18.y = 90.0f; - var_r31->unk_0C.y += 650.0; - var_r31->unk_0C.x -= 1000.0 + (200.0f * ((fn_1_5260() - 0x8000) / 32768.0f)); - } - else { - var_r31->unk_18.y = 90.0f; - var_r31->unk_0C.x += 200.0f * ((fn_1_5260() - 0x8000) / 32768.0f); - } - var_r31->unk_18.y += 10.0f * ((fn_1_5260() - 0x8000) / 32768.0f); - var_r31->unk_0C.z = var_r31->unk_0C.z - 400.0; - var_r31->unk_08 = 100.0f * (0.1f + (0.02f * (fn_1_5260() / 65536.0f))); - for (var_r26 = 0; var_r26 < 0x20; var_r26++) { - var_r31->unk_54_s16[var_r26] = 0; - } - var_r31->unk_60 = var_r31->unk_08; - } - HuDataDirClose(DATA_MAKE_NUM(DATADIR_M425, 0x02)); - HuAudFXPlayVol(0x6A3, 0x41); - object->func = fn_1_32CC; -} - -void fn_1_32CC(omObjData *object) -{ - Mtx sp14; - Vec sp8; - M433DllBss38Struct *var_r31; - s32 i; - - for (i = 0; i < 0xC; i++) { - var_r31 = &lbl_1_bss_38[i]; - switch (var_r31->unk_04) { - case 0: - if (var_r31->unk_08 < var_r31->unk_60) { - var_r31->unk_08 += 0.4f; - } - if ((s32)(64.0f * (fn_1_5260() / 65536.0f)) == 0) { - Hu3DMotionTimeSet(var_r31->unk_00, 0.0f); - } - if (Hu3DMotionEndCheck(var_r31->unk_00) != 0) { - var_r31->unk_48.y = -3.8933334f; - } - else { - var_r31->unk_48.y = -1.2166667f; - } - var_r31->unk_54 += 0.1f * ((fn_1_5260() - 0x8000) / 32768.0f); - var_r31->unk_58 += var_r31->unk_54; - if (var_r31->unk_58 > 180.0f) { - var_r31->unk_58 -= 180.0f; - } - if (var_r31->unk_58 < -180.0f) { - var_r31->unk_58 += 180.0f; - } - var_r31->unk_18.x = -30.0 * sind(var_r31->unk_58) * sind(var_r31->unk_18.y); - var_r31->unk_18.z = -30.0 * sind(var_r31->unk_58) * cosd(var_r31->unk_18.y); - if (var_r31->unk_0C.y <= 500.0f || fabs(var_r31->unk_0C.x) > 1600.0) { - var_r31->unk_48.y = 0.0f; - var_r31->unk_54_s16[6] = 0xB4; - var_r31->unk_08 *= 0.75f; - var_r31->unk_04++; - } - break; - case 1: - var_r31->unk_18.y += 1.0f; - var_r31->unk_18.x = 0.0f; - var_r31->unk_18.z = 60.0 * sind(var_r31->unk_54_s16[6]) * cosd(var_r31->unk_18.y); - if (--var_r31->unk_54_s16[6] == 0) { - Hu3DModelAttrSet(var_r31->unk_00, HU3D_MOTATTR_LOOP); - Hu3DMotionSpeedSet(var_r31->unk_00, 6.0f); - var_r31->unk_48.y = 4.866667f; - var_r31->unk_04++; - } - break; - case 2: - if (var_r31->unk_08 > 4.0f) { - var_r31->unk_08 -= 0.1f; - var_r31->unk_48.y += 0.73f; - } - var_r31->unk_48.y += -0.5475f; - if (var_r31->unk_48.y < 0.0f) { - Hu3DModelAttrReset(var_r31->unk_00, HU3D_MOTATTR_LOOP); - Hu3DMotionSpeedSet(var_r31->unk_00, 2.0f); - var_r31->unk_60 = 100.0f * (0.1f + (0.02f * (fn_1_5260() / 65536.0f))); - var_r31->unk_04 = 0; - } - break; - } - var_r31->unk_48.x = var_r31->unk_08 * sind(var_r31->unk_18.y); - var_r31->unk_48.z = var_r31->unk_08 * cosd(var_r31->unk_18.y); - var_r31->unk_0C.x += var_r31->unk_48.x; - var_r31->unk_0C.y += var_r31->unk_48.y; - var_r31->unk_0C.z += var_r31->unk_48.z; - if (var_r31->unk_0C.z >= -500.0f) { - var_r31->unk_0C.z = -500.0f; - } - Hu3DModelPosSet(var_r31->unk_00, var_r31->unk_0C.x, var_r31->unk_0C.y, var_r31->unk_0C.z); - fn_1_541C(sp14, var_r31->unk_18.x, -var_r31->unk_18.y, var_r31->unk_18.z); - fn_1_553C(sp14, &sp8); - Hu3DModelRotSetV(var_r31->unk_00, &sp8); - } -} - -void fn_1_39AC(omObjData *object) -{ - s32 var_r29; - s32 var_r28; - - s32 sp18[4] = { 0x004000D4, 0x004000D5, 0x004000D6, 0x004000D7 }; - s32 sp8[4] = { 0x0040000C, 0x00400010, 0x0040000F, 0x0040000E }; - M433DllMapWork *work = fn_1_50A8(sizeof(M433DllMapWork)); - object->data = work; - if (lbl_1_bss_34 != 0) { - var_r28 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M433, 0x0B)); - } - else { - var_r28 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M433, 0x62)); - } - object->model[0] = var_r28; - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (lbl_1_bss_34 != 0) { - object->motion[var_r29] = Hu3DJointMotionFile(var_r28, sp8[var_r29]); - } - else { - object->motion[var_r29] = Hu3DJointMotionFile(var_r28, sp18[var_r29]); - } - } - Hu3DMotionSet(var_r28, object->motion[0]); - Hu3DModelAttrSet(var_r28, HU3D_MOTATTR_LOOP); - work->unk_01 = work->unk_02 = 0; - work->unk_04 = 0; - work->unk_54 = 0; - work->unk_0C.x = 0.0f; - work->unk_0C.y = 180.0f; - work->unk_0C.z = -490.0f; - work->unk_30 = work->unk_0C; - work->unk_18.x = work->unk_18.y = work->unk_18.z = 0.0f; - work->unk_3C = work->unk_18; - omSetTra(object, work->unk_0C.x, work->unk_0C.y, work->unk_0C.z); - omSetRot(object, work->unk_18.x, work->unk_18.y, work->unk_18.z); - object->func = fn_1_3C1C; -} - -void fn_1_3C1C(omObjData *object) -{ - M433DllMapWork *work; - s32 var_r29; - s32 var_r28; - - work = object->data; - var_r28 = object->model[0]; - switch (work->unk_04) { - case 0: - work->unk_01 = 0; - var_r29 = 0x40000001; - break; - case 1: - work->unk_3C.y = 0.0f; - work->unk_01 = 1; - var_r29 = 0x40000001; - if (work->unk_54++ >= 0x5A) { - work->unk_54 = 0; - work->unk_04 = 0; - } - break; - case 2: - work->unk_3C.y = 0.0f; - work->unk_01 = 2; - var_r29 = 0; - if (Hu3DMotionEndCheck(var_r28) != 0) { - work->unk_04 = 0; - } - break; - case 3: - work->unk_3C.y = 0.0f; - work->unk_01 = 3; - var_r29 = 0x40000001; - break; - case 4: - work->unk_3C.y = 0.0f; - work->unk_04 = 0; - break; - case 5: - work->unk_3C.y = 50.0f; - work->unk_04 = 0; - break; - case 6: - work->unk_3C.y = -50.0f; - work->unk_04 = 0; - break; - } - if (work->unk_01 != work->unk_02) { - work->unk_02 = work->unk_01; - Hu3DMotionShiftSet(var_r28, object->motion[work->unk_01], 0.0f, 8.0f, var_r29); - switch (work->unk_01) { - case 1: - HuAudFXPlay(0x43); - break; - case 2: - HuAudFXPlay(0x45); - break; - } - } - work->unk_18.y = fn_1_52B4(work->unk_18.y, work->unk_3C.y, 0.9f); - omSetTra(object, work->unk_0C.x, work->unk_0C.y, work->unk_0C.z); - omSetRot(object, work->unk_18.x, work->unk_18.y, work->unk_18.z); -} - -s16 fn_1_3E5C(s32 sp8, s16 spC, ParticleHook sp10) -{ - M433DllUnkStruct *var_r31; - s32 var_r30; - ParticleData *var_r29; - AnimData *var_r28; - - var_r28 = HuSprAnimRead(HuDataReadNum(sp8, MEMORY_DEFAULT_NUM)); - var_r30 = Hu3DParticleCreate(var_r28, spC); - Hu3DParticleHookSet(var_r30, sp10); - var_r29 = Hu3DData[var_r30].unk_120; - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M433DllUnkStruct), MEMORY_DEFAULT_NUM); - var_r29->unk_1C = var_r31; - var_r31->unk_00 = var_r30; - var_r31->unk_04 = 0; - return var_r30; -} - -void fn_1_3F14(ModelData *model, ParticleData *var_r30, Mtx matrix) -{ - float var_f29; - float var_f26; - float var_f25; - float var_f24; - HsfanimStruct01 *var_r31; - s32 var_r28; - float sp54[4] = { 1000.0f, 200.0f, 600.0f, 1200.0f }; - float sp44[4] = { 1.0f, 0.6f, 0.3f, 0.425f }; - Vec sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - s16 sp8 = 0; - M433DllUnkStruct *var_r29 = var_r30->unk_1C; - switch (var_r29->unk_04) { - case 0: - var_r30->unk_00 = 0x54; - var_r31 = var_r30->unk_48; - if (var_r29->unk_02 != 0) { - sp14.x = 0.0f; - sp14.y = -4700.0f; - sp14.z = 4450.0f; - var_f29 = 1.0f / sqrtf((sp14.z * sp14.z) + ((sp14.x * sp14.x) + (sp14.y * sp14.y))); - sp14.x *= var_f29; - sp14.y *= var_f29; - sp14.z *= var_f29; - var_f24 = 4000.0f / var_r30->unk_30; - for (var_r28 = 0; var_r28 < var_r30->unk_30; var_r28++, var_r31++) { - var_f26 = 500.0f + ((var_f24 * var_r28) + (0.25f * var_f24 * (fn_1_5260() / 65536.0f))); - var_f25 = var_f26 / 4000.0f; - var_r31->unk14.x = var_f26; - var_r31->unk34.x = var_f26 * sp14.x; - var_r31->unk34.y = 5500.0f + (var_f26 * sp14.y); - var_r31->unk34.z = -3950.0f + (var_f26 * sp14.z); - var_r31->unk2C = (0.3f + (0.7f * (var_f25 * var_f25))) * (sp54[var_r29->unk_02] * (0.7f + (0.3f * (fn_1_5260() / 65536.0f)))); - var_r31->unk40.r = (s32)(160.0f * (fn_1_5260() / 65536.0f)) + 0x20; - var_r31->unk40.g = (s32)(96.0f * (fn_1_5260() / 65536.0f)) + 0x20; - var_r31->unk40.b = (s32)(128.0f * (fn_1_5260() / 65536.0f)) + 0x20; - var_r31->unk40.a = ((1.0 - (0.4 * var_f25)) * (255.0f * sp44[var_r29->unk_02])) - (s32)(16.0f * (fn_1_5260() / 65536.0f)); - } - var_r29->unk_04++; - } - else { - var_r31->unk34.x = 0.0f; - var_r31->unk34.y = 5500.0f; - var_r31->unk34.z = -3950.0f; - var_r31->unk2C = 1000.0f; - } - break; - case 1: - sp38.x = sind(CRot.y) * cosd(CRot.x); - sp38.y = -sind(CRot.x); - sp38.z = cosd(CRot.y) * cosd(CRot.x); - sp2C.x = -(Center.x + (1.25f * (sp38.x * CZoom))); - sp2C.y = 5500.0f - (Center.y + (sp38.y * CZoom)); - sp2C.z = -3950.0f - (Center.z + (1.25f * (sp38.z * CZoom))); - var_f29 = 1.0f / sqrtf((sp2C.z * sp2C.z) + ((sp2C.x * sp2C.x) + (sp2C.y * sp2C.y))); - sp2C.x *= var_f29; - sp2C.y *= var_f29; - sp2C.z *= var_f29; - var_f29 = -((-sp2C.z * -sp38.z) + ((-sp2C.x * -sp38.x) + (-sp2C.y * -sp38.y))); - sp20.x = -sp38.x + (-2.0f * sp2C.x * var_f29); - sp20.y = -sp38.y + (-2.0f * sp2C.y * var_f29); - sp20.z = -sp38.z + (-2.0f * sp2C.z * var_f29); - for (var_r31 = var_r30->unk_48, var_r28 = 0; var_r28 < var_r30->unk_30; var_r28++, var_r31++) { - var_r31->unk34.x = sp20.x * var_r31->unk14.x; - var_r31->unk34.y = 5500.0f + (sp20.y * var_r31->unk14.x); - var_r31->unk34.z = -3950.0f + (sp20.z * var_r31->unk14.x); - if (var_r30->unk_00 < 0xA) { - var_r31->unk40.a *= 0.8f; - } - } - var_r30->unk_00--; - if (var_r30->unk_00 == 0) { - Hu3DModelAttrReset(var_r29->unk_00, HU3D_ATTR_PARTICLE_KILL); - Hu3DModelKill(var_r29->unk_00); - return; - } - break; - } - DCFlushRange(var_r30->unk_48, var_r30->unk_30 * sizeof(HsfanimStruct01)); -} - -void fn_1_4A94(omObjData *var_r30) -{ - M433DllMapWork2 *work = fn_1_50A8(sizeof(M433DllMapWork2)); - var_r30->data = work; - work->unk_148 = work->unk_144 = 0.0f; - work->unk_140 = 1.0f; - work->unk_10.x = work->unk_28.x = -30.0f; - work->unk_10.y = work->unk_28.y = 0.0f; - work->unk_10.z = work->unk_28.z = 0.0f; - work->unk_04.x = work->unk_1C.x = 0.0f; - work->unk_04.y = work->unk_1C.y = 200.0f; - work->unk_04.z = work->unk_1C.z = 0.0f; - work->unk_130 = work->unk_134 = 1900.0f; - work->unk_188[0] = work->unk_188[1] = work->unk_188[2] = 0; - var_r30->func = fn_1_4BA0; -} - -void fn_1_4BA0(omObjData *object) -{ - float var_f31; - s32 var_r30; - M433DllMapWork2 *work = object->data; - if (work->unk_148 > 0.0f) { - work->unk_148 = work->unk_148 - work->unk_140; - var_f31 = (work->unk_144 - work->unk_148) / work->unk_144; - var_f31 = sind((90.0f * var_f31)); - if (work->unk_00 == 0) { - work->unk_04.x = work->unk_1C.x + (var_f31 * (work->unk_34.x - work->unk_1C.x)); - work->unk_04.y = work->unk_1C.y + (var_f31 * (work->unk_34.y - work->unk_1C.y)); - work->unk_04.z = work->unk_1C.z + (var_f31 * (work->unk_34.z - work->unk_1C.z)); - work->unk_10.x = work->unk_28.x + (var_f31 * (work->unk_40.x - work->unk_28.x)); - work->unk_10.y = work->unk_28.y + (var_f31 * (work->unk_40.y - work->unk_28.y)); - work->unk_10.z = work->unk_28.z + (var_f31 * (work->unk_40.z - work->unk_28.z)); - work->unk_130 = work->unk_134 + (var_f31 * (work->unk_138 - work->unk_134)); - } - } - CRot.x = work->unk_10.x; - CRot.y = work->unk_10.y; - CRot.z = work->unk_10.z; - Center.x = work->unk_04.x; - Center.y = work->unk_04.y; - Center.z = work->unk_04.z; - CZoom = work->unk_130; - for (var_r30 = 0; var_r30 < 3; var_r30++) { - work->unk_17C[var_r30] = 0.0f; - if (work->unk_188[var_r30] != 0) { - work->unk_17C[var_r30] = work->unk_14C[var_r30] * sind(work->unk_164[var_r30]); - work->unk_164[var_r30] += work->unk_170[var_r30]; - work->unk_14C[var_r30] *= work->unk_158[var_r30]; - work->unk_188[var_r30] -= 1; - } - } - Center.x += work->unk_17C[0]; - Center.y += work->unk_17C[1]; - Center.z += work->unk_17C[2]; -} - -void fn_1_4ED4(float arg8, Vec *arg0, Vec *arg1, float arg9) -{ - M433DllMapWork2 *work = lbl_1_bss_7B0->data; - work->unk_00 = 0; - work->unk_144 = arg8; - work->unk_148 = arg8; - if (arg8 == 0.0f) { - work->unk_04.x = arg0->x; - work->unk_04.y = arg0->y; - work->unk_04.z = arg0->z; - work->unk_10.x = arg1->x; - work->unk_10.y = arg1->y; - work->unk_10.z = arg1->z; - work->unk_130 = arg9; - return; - } - work->unk_1C = work->unk_04; - work->unk_34.x = arg0->x; - work->unk_34.y = arg0->y; - work->unk_34.z = arg0->z; - work->unk_28 = work->unk_10; - work->unk_40.x = arg1->x; - work->unk_40.y = arg1->y; - work->unk_40.z = arg1->z; - work->unk_134 = work->unk_130; - work->unk_138 = arg9; -} - -void fn_1_4FC0(float arg8) -{ - M433DllMapWork2 *var_r31 = lbl_1_bss_7B0->data; - var_r31->unk_140 = arg8; -} - -void fn_1_4FE8(u8 arg0, u16 arg1, float arg8, float arg9, float argA) -{ - M433DllMapWork2 *var_r31 = lbl_1_bss_7B0->data; - var_r31->unk_188[arg0] = arg1; - var_r31->unk_14C[arg0] = arg8; - var_r31->unk_158[arg0] = arg9; - var_r31->unk_170[arg0] = argA; - var_r31->unk_164[arg0] = 90.0f; -} - -void fn_1_5068(void) -{ - s32 i; - for (i = 0; i < 0x20; i++) { - lbl_1_bss_728[i] = NULL; - } -} - -void *fn_1_50A8(s32 arg0) -{ - s32 i; - - for (i = 0; i < 0x20; i++) { - if (!lbl_1_bss_728[i]) { - break; - } - } - if (i == 0x20) { - return NULL; - } - lbl_1_bss_728[i] = HuMemDirectMallocNum(HEAP_SYSTEM, arg0, MEMORY_DEFAULT_NUM); - return lbl_1_bss_728[i]; -} - -void fn_1_5148(u32 sp8) -{ - s32 i; - - for (i = 0; i < 0x20; i++) { - if (lbl_1_bss_728[i] == (void *)sp8) { - break; - } - } - if (i != 0x20) { - HuMemDirectFree(lbl_1_bss_728[i]); - lbl_1_bss_728[i] = NULL; - } -} - -void fn_1_51DC(void) -{ - s32 i; - - for (i = 0; i < 0x20; i++) { - if (lbl_1_bss_728[i]) { - HuMemDirectFree(lbl_1_bss_728[i]); - lbl_1_bss_728[i] = NULL; - } - } -} - -u32 lbl_1_data_C4 = 0x41C64E6D; - -s32 fn_1_5260(void) -{ - lbl_1_data_C4 *= 0x41C64E6D; - lbl_1_data_C4 += 0x3039; - return lbl_1_data_C4 >> 0x10; -} - -float fn_1_52B4(float arg8, float arg9, float argA) -{ - float var_f31; - - if (arg8 > 180.0f) { - arg8 -= 360.0f; - } - else if (arg8 <= -180.0f) { - arg8 += 360.0f; - } - if (arg9 > 180.0f) { - arg9 -= 360.0f; - } - else if (arg9 <= -180.0f) { - arg9 += 360.0f; - } - var_f31 = arg8 - arg9; - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - else if (var_f31 <= -180.0f) { - var_f31 += 360.0f; - } - arg8 = arg9 + (var_f31 * argA); - if (arg8 > 180.0f) { - return arg8 - 360.0f; - } - if (arg8 <= -180.0f) { - arg8 += 360.0f; - } - return arg8; -} - -void fn_1_541C(Mtx arg0, float arg8, float arg9, float argA) -{ - Mtx sp38; - Mtx sp8; - - if (argA != 0.0f) { - MTXRotRad(arg0, 0x5A, MTXDegToRad(argA)); - } - else { - MTXIdentity(arg0); - } - if (arg8 != 0.0f) { - MTXRotRad(sp38, 0x58, MTXDegToRad(arg8)); - MTXConcat(sp38, arg0, arg0); - } - if (arg9 != 0.0f) { - MTXRotRad(sp8, 0x59, MTXDegToRad(arg9)); - MTXConcat(sp8, arg0, arg0); - } -} - -void fn_1_553C(Mtx arg0, Vec *arg1) -{ - float var_f29; - float var_f28; - - arg1->x = atan2d(arg0[1][2], arg0[2][2]); - if (arg1->x < 0.0f) { - arg1->x += 360.0f; - } - arg1->z = atan2d(arg0[0][1], arg0[0][0]); - if (arg1->z < 0.0f) { - arg1->z += 360.0f; - } - var_f29 = -arg0[0][2]; - var_f28 = sqrtf((1.0 - (var_f29 * var_f29)) < 0.0 ? (-(1.0 - (var_f29 * var_f29))) : (1.0 - (var_f29 * var_f29))); - if ((arg1->x > 90.0f) && (arg1->x < 270.0f) && (arg1->z > 90.0f) && (arg1->z < 270.0f)) { - arg1->x = fmod(180.0f + arg1->x, 360.0); - arg1->z = fmod(180.0f + arg1->z, 360.0); - var_f28 = -var_f28; - } - arg1->y = atan2d(var_f29, var_f28); - if (arg1->y < 0.0f) { - arg1->y += 360.0f; - } -} - -void fn_1_58D8(s32 arg0) -{ - M433DllMapWork *work = lbl_1_bss_7A8->data; - work->unk_04 = arg0; -} diff --git a/src/REL/m433Dll/player.c b/src/REL/m433Dll/player.c deleted file mode 100644 index b6ef317c..00000000 --- a/src/REL/m433Dll/player.c +++ /dev/null @@ -1,3584 +0,0 @@ -#include "datadir_enum.h" -#include "dolphin/mtx.h" -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/flag.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" -#include "string.h" - -#include "REL/m433Dll.h" - -#ifndef __MWERKS__ -#include "game/esprite.h" -#include "game/frand.h" -#endif - -typedef struct M433PlayerWork { - s32 unk_00; - s32 unk_04; - s32 unk_08; - s32 unk_0C; - u32 unk_10; - u32 unk_14; - u32 unk_18; - u32 unk_1C; - s32 unk_20; - float unk_24; - float unk_28; - s32 unk_2C; - s32 unk_30; - s32 unk_34; - s32 unk_38; - s32 unk_3C; - s32 unk_40; - s32 unk_44; - s32 unk_48; - s32 unk_4C; - char unk50[4]; - s32 unk_54; - s32 unk_58; - s32 unk_5C; - s32 unk_60; - s32 unk_64; - s32 unk_68; - s32 unk_6C; - s32 unk_70; - u32 unk_74; - u32 unk_78; - u32 unk_7C; - u32 unk_80; - u32 unk_84; - u32 unk_88; - s32 unk_8C; - u32 unk_90; - char unk94[4]; - float unk_98; - s16 unk_9C; - char unk9E[6]; - float unk_A4; - float unk_A8; - float unk_AC; - float unk_B0; - float unk_B4; - float unk_B8; - float unk_BC; - float unk_C0; - char unkC4[8]; - u32 unk_CC; - u32 unk_D0; - u32 unk_D4; - u32 unk_D8; - float unk_DC; - float unk_E0; - s32 unk_E4; - s32 unk_E8; - s32 unk_EC; - s32 unk_F0; - s32 unk_F4; - u32 unk_F8; - Vec unk_FC; - Vec unk_108; - Vec unk_114; - float unk_120; - float unk_124; - Vec unk_128; - Vec unk_134; - Vec unk_140; - omObjData *unk_14C; -} M433PlayerWork; /* size = 0x150 */ - -typedef struct M433PlayerWork2Sub { - float unk_00; - float unk_04; - float unk_08; - float unk_0C; - float unk_10; - float unk_14; - float unk_18; - float unk_1C; - float unk_20; - float unk_24; - float unk_28; - Vec unk_2C; - Vec unk_38; -} M433PlayerWork2Sub; /* size = 0x44 */ - -typedef struct M433PlayerWork2 { - s32 unk_00; - s32 unk_04; - s32 unk_08; - s32 unk_0C; - s32 unk_10; - char unk14[4]; - u16 unk_18; - char unk1A[0x16]; - Vec unk_30; - Vec unk_3C; - float unk_48; - Vec unk_4C; - char unk58[0x14]; - u32 unk_6C; - s32 unk_70; - s32 unk_74; - u32 unk_78; - float unk_7C[2]; - float unk_84[2]; - s32 unk_8C; - u32 unk_90; - u32 unk_94; - s32 unk_98; - float unk_9C; - float unk_A0; - float unk_A4; - float unk_A8; - Vec unk_AC; - float unk_B8; - Vec unk_BC; - Mtx unk_C8; - M433PlayerWork2Sub unk_F8; -} M433PlayerWork2; /* size = 0x13C */ - -typedef struct M433PlayerWork3Sub { - s16 unk_00; - s16 unk_02[5]; -} M433PlayerWork3Sub; /* size = 0xC */ - -typedef struct M433PlayerWork3Sub2Sub { - s16 unk_00[2]; - float unk_04[2]; - float unk_0C; - float unk_10; - float unk_14; - float unk_18; - float unk_1C; - float unk_20; - float unk_24; - float unk_28; -} M433PlayerWork3Sub2Sub; /* size 0x2C */ - -typedef struct M433PlayerWork3Sub2Sub2 { - s32 unk_00[2]; - char unk08[8]; -} M433PlayerWork3Sub2Sub2; /* size 0x10 */ - -typedef struct M433PlayerWork3Sub2 { - s32 unk_00; - u32 unk_04; - u32 unk_08; - s32 unk_0C; - s32 unk_10; - s32 unk_14[2]; - u32 unk_1C; - M433PlayerWork3Sub2Sub unk_20[4]; - M433PlayerWork3Sub2Sub2 unk_D0[3][0x14]; - M433PlayerWork3Sub2Sub2 unk_490; -} M433PlayerWork3Sub2; /* size = 0x4A0 */ - -typedef struct M433PlayerWork3 { - u32 uGameEvent; - s32 sWinGrp; - u32 uServeGrp; - u32 uPointGrp; - u32 auServeCel[2]; - u32 auEvents[2]; - u32 unk_20[2]; - u32 unk_28; - s32 unk_2C; - s32 unk_30; - u32 uContactCnt; - s32 sGroundGrp; - u32 uContactGrp; - u32 uContactCel; - u32 uTargetGrp; - u32 unk_48; - M433PlayerWork3Sub unk_4C[2]; - M433PlayerWork3Sub2 unk_64; -} M433PlayerWork3; /* size = 0x504 */ - -typedef struct M433DllPlayerData24CStruct { - /* 0x00 */ u16 unk_00; - /* 0x04 */ float unk_04; - /* 0x08 */ float unk_08; - /* 0x0C */ float unk_0C; - /* 0x10 */ u32 unk_10; -} M433DllPlayerData24CStruct; /* size = 0x14 */ - -typedef struct M433DllPlayerData794Struct { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ s32 unk_08; -} M433DllPlayerData794Struct; /* size = 0x0C */ - -void fn_1_10130(Vec *arg0, u32 arg1); -void fn_1_10260(float arg8, float arg9, u32 arg0, u32 arg1, Vec *arg2); -s32 fn_1_10614(Vec *arg0); -void fn_1_1070C(void); -u32 fn_1_10740(Vec *arg0); -u32 fn_1_107B0(Vec *arg0); -float fn_1_10848(void); -u32 fn_1_108C4(void); -u32 fn_1_10900(void); -float fn_1_10B20(float arg8, Vec *arg0); -s32 fn_1_10D24(Vec *arg0); -u32 fn_1_10EA4(void); -u32 fn_1_10ECC(u32 arg0); -s32 fn_1_10F00(u32 arg0); -u32 fn_1_10F38(u32 arg0); -s32 fn_1_10F6C(u32 arg0); -u32 fn_1_10FDC(void); -s32 fn_1_11004(u32 arg0, s32 arg1); -s32 fn_1_11060(u32 arg0); -float fn_1_11130(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3); -void fn_1_5B98(omObjData *object); -void fn_1_6070(omObjData *object); -void fn_1_60C0(omObjData *object); -void fn_1_682C(omObjData *object); -void fn_1_722C(omObjData *object); -void fn_1_74D4(omObjData *object); -void fn_1_8408(omObjData *object); -void fn_1_873C(omObjData *object); -s32 fn_1_8938(u32 arg0, Vec *arg1); -void fn_1_8BD0(omObjData *object); -void fn_1_8F80(omObjData *object); -void fn_1_9688(omObjData *object); -void fn_1_A618(omObjData *object); -void fn_1_AB88(omObjData *object); -void fn_1_B194(omObjData *object); -void fn_1_B4D4(omObjData *object, u32 arg1); -s32 fn_1_B6E0(omObjData *object); -s32 fn_1_B7AC(omObjData *object); -s32 fn_1_BAE0(omObjData *object, u32 arg1); -void fn_1_BD48(omObjData *object); -void fn_1_C240(omObjData *object); -void fn_1_C6AC(omObjData *object); -s32 fn_1_C6B0(omObjData *object); -void fn_1_CB98(omObjData *object); -void fn_1_CDB8(M433PlayerWork2Sub *arg0, Vec *arg1, Vec *arg2, u32 arg3, float arg8); -void fn_1_D180(M433PlayerWork2Sub *arg0); -void fn_1_D338(M433PlayerWork2Sub *arg0); -s32 fn_1_D4E0(M433PlayerWork2Sub *arg0, Vec *arg1, Vec *arg2, float arg8); -void fn_1_D6A8(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_D888(Vec *arg0, float arg8); -void fn_1_DD70(Vec *arg0); -void fn_1_DE28(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_DF44(omObjData *object); -void fn_1_E11C(omObjData *object); -void fn_1_E5C0(M433PlayerWork3Sub *arg0, M433PlayerWork3Sub2 *arg1); -void fn_1_ECFC(M433PlayerWork3Sub *arg0, M433PlayerWork3Sub2 *arg1); -void fn_1_FE64(M433PlayerWork3Sub2 *arg0, s32 arg1, s32 arg2, u32 arg3); -void fn_1_FE8C(Vec *arg0, u32 arg1, u32 arg2, s32 arg3); - -s32 lbl_1_data_C8[6] = { 0, 1, 2, 3, 4, 5 }; -float lbl_1_data_E0[0xE] = { - 130.0f, - 130.0f, - 160.0f, - 130.0f, - 130.0f, - 160.0f, - 160.0f, - 180.0f, - 240.00002f, - 100.0f, - 130.0f, - 130.0f, - 120.00001f, - 130.0f, -}; -float lbl_1_data_118[0xE] = { - 50.0f, - 50.0f, - 50.0f, - 50.0f, - 50.0f, - 70.0f, - 50.0f, - 70.0f, - 110.0f, - 50.0f, - 50.0f, - 50.0f, - 50.0f, - 50.0f, -}; -s32 lbl_1_data_150[6][2] = { - { 0x3A, 0x3B }, - { 0x36, 0x38 }, - { 0x40, 0x42 }, - { 0x4B, 0x4D }, - { 0x46, 0x48 }, - { 0x3E, 0x3F }, -}; -s32 lbl_1_data_180[0x11] = { - DATA_MAKE_NUM(DATADIR_M433, 97), - DATA_MAKE_NUM(DATADIR_M433, 98), - DATA_MAKE_NUM(DATADIR_M433, 99), - DATA_MAKE_NUM(DATADIR_M433, 100), - DATA_MAKE_NUM(DATADIR_M433, 101), - DATA_MAKE_NUM(DATADIR_M433, 102), - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -}; -u32 lbl_1_data_1C4[0x11] = { - 0, - 2, - 3, - DATA_MAKE_NUM(DATADIR_M433, 0x11), - DATA_MAKE_NUM(DATADIR_M433, 0x19), - DATA_MAKE_NUM(DATADIR_M433, 0x21), - DATA_MAKE_NUM(DATADIR_M433, 0x29), - DATA_MAKE_NUM(DATADIR_M433, 0x31), - DATA_MAKE_NUM(DATADIR_M433, 0x39), - DATA_MAKE_NUM(DATADIR_M433, 0x41), - DATA_MAKE_NUM(DATADIR_M433, 0x49), - DATA_MAKE_NUM(DATADIR_M433, 0x51), - DATA_MAKE_NUM(DATADIR_M433, 0x59), - 0x17, - 0x18, - 0x48, - 0x49, -}; -s32 lbl_1_data_208[0x11] = { - DATA_MAKE_NUM(DATADIR_M433, 0x67), - DATA_MAKE_NUM(DATADIR_M433, 0x6D), - DATA_MAKE_NUM(DATADIR_M433, 0x73), - DATA_MAKE_NUM(DATADIR_M433, 0x79), - DATA_MAKE_NUM(DATADIR_M433, 0x7F), - DATA_MAKE_NUM(DATADIR_M433, 0x85), - DATA_MAKE_NUM(DATADIR_M433, 0x8B), - DATA_MAKE_NUM(DATADIR_M433, 0x91), - DATA_MAKE_NUM(DATADIR_M433, 0x97), - DATA_MAKE_NUM(DATADIR_M433, 0x9D), - DATA_MAKE_NUM(DATADIR_M433, 0xA3), - DATA_MAKE_NUM(DATADIR_M433, 0xA9), - DATA_MAKE_NUM(DATADIR_M433, 0xAF), - DATA_MAKE_NUM(DATADIR_M433, 0xB5), - DATA_MAKE_NUM(DATADIR_M433, 0xC1), - DATA_MAKE_NUM(DATADIR_M433, 0xBB), - DATA_MAKE_NUM(DATADIR_M433, 0xC7), -}; -M433DllPlayerData24CStruct lbl_1_data_24C[0x15] = { - { 0, 0.2f, 0.0f, -1.0f, 0x40000001 }, - { 1, 0.2f, 0.0f, -1.0f, 0x40000001 }, - { 2, 0.2f, 0.0f, -1.0f, 0x40000001 }, - { 3, 0.15f, 0.0f, 0.0f, 0 }, - { 3, 0.02f, 0.0f, -1.0f, 0 }, - { 4, 0.02f, 0.2f, -1.0f, 0 }, - { 5, 0.05f, 0.25f, -1.0f, 0 }, - { 6, 0.1f, 0.0f, -1.0f, 0 }, - { 7, 0.02f, 0.0f, -1.0f, 0 }, - { 0xB, 0.02f, 0.4f, -1.0f, 0 }, - { 0xC, 0.02f, 0.36666667f, -1.0f, 0 }, - { 8, 0.01f, 0.2f, -1.0f, 0 }, - { 9, 0.02f, 0.0f, -1.0f, 0 }, - { 0xA, 0.02f, 0.0f, -1.0f, 0 }, - { 5, 0.08f, 0.0f, 0.25f, 0 }, - { 0xB, 0.2f, 0.0f, 0.4f, 0 }, - { 0xC, 0.08f, 0.0f, 0.3f, 0 }, - { 0xD, 0.2f, 0.0f, -1.0f, 0 }, - { 0xE, 0.2f, 0.0f, -1.0f, 0 }, - { 0xF, 0.2f, 0.0f, -1.0f, 0 }, - { 0x10, 0.2f, 0.0f, -1.0f, 0 }, -}; -u32 lbl_1_data_3F0[0xE] = { - 0x32, - 0x32, - 0x3C, - 0x32, - 0x32, - 0x5A, - 0x32, - 0x3C, - 0x64, - 0x1E, - 0x32, - 0x1E, - 0x28, - 0x32, -}; - -// M433PlayerWork -omObjData *lbl_1_bss_7D0[5]; -// M433PlayerWork2 -omObjData *lbl_1_bss_7CC; -// M433PlayerWork3 -omObjData *lbl_1_bss_7C8; -u32 lbl_1_bss_7B8[4]; - -void fn_1_5904(Process *process) -{ - u32 sp18[4]; - s32 sp8[4]; - - s16 var_r31; - s16 var_r30; - u32 var_r28; - omObjData *var_r27; - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - sp18[var_r31] = GWPlayerCfg[var_r31].group; - sp8[var_r31] = var_r31; - } - for (var_r31 = 0; var_r31 < 3; var_r31++) { - for (var_r30 = var_r31 + 1; var_r30 < 4; var_r30++) { - if (sp18[var_r31] > sp18[var_r30]) { - var_r28 = sp18[var_r31]; - sp18[var_r31] = sp18[var_r30]; - sp18[var_r30] = var_r28; - var_r28 = sp8[var_r31]; - sp8[var_r31] = sp8[var_r30]; - sp8[var_r30] = var_r28; - } - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_7B8[sp8[var_r31]] = var_r31; - } - lbl_1_bss_7C8 = omAddObjEx(process, 0x14, 0, 0, 0, fn_1_DF44); - lbl_1_bss_7CC = omAddObjEx(process, 0x15, 0x1F, 0, 0, fn_1_BD48); - omMakeGroupEx(process, 0, 4); - omGetGroupMemberListEx(process, 0); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r27 = lbl_1_bss_7D0[var_r31] = omAddObjEx(process, 0x28, 2, 0x11, 0, fn_1_5B98); - var_r27->work[0] = var_r31; - } -} - -void fn_1_5B74(void) -{ - CharModelKill(-1); -} - -void fn_1_5B98(omObjData *object) -{ - s32 sp8; - M433PlayerWork *work; - s16 var_r29; - u32 var_r28; - s32 var_r27; - - float spC[4] = { 0.25f, 0.5f, 0.75f, 1.0f }; - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M433PlayerWork), MEMORY_DEFAULT_NUM); - work = object->data; - memset(work, 0, sizeof(M433PlayerWork)); - var_r27 = object->work[0]; - var_r28 = GWPlayerCfg[var_r27].character; - work->unk_00 = var_r28; - work->unk_04 = -1; - if (var_r28 >= 8) { - work->unk_04 = var_r28 - 8; - } - sp8 = work->unk_08 = 0; - work->unk_14 = (lbl_1_bss_7B8[object->work[0]] >> 1) & 1; - work->unk_18 = lbl_1_bss_7B8[object->work[0]] & 1; - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if ((var_r29 != object->work[0]) && (work->unk_14 == ((lbl_1_bss_7B8[var_r29] >> 1) & 1))) { - break; - } - } - work->unk_14C = lbl_1_bss_7D0[var_r29]; - work->unk_C0 = spC[GWPlayerCfg[var_r27].diff & 3]; - work->unk_2C = GWPlayerCfg[object->work[0]].iscom; - if (work->unk_04 < 0) { - object->model[0] = CharModelCreate(var_r28, 4); - CharModelStepTypeSet(var_r28, 2); - } - else { - object->model[0] = Hu3DModelCreateFile(lbl_1_data_180[work->unk_04]); - } - Hu3DModelShadowSet(object->model[0]); - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M433, 8)); - Hu3DModelLayerSet(object->model[1], 1); - for (var_r29 = 0; var_r29 < 0x11; var_r29++) { - if (work->unk_04 < 0) { - if (lbl_1_data_1C4[var_r29] < 0x10000) { - object->motion[var_r29] = CharModelMotionCreate(var_r28, lbl_1_data_1C4[var_r29]); - } - else { - object->motion[var_r29] = Hu3DJointMotionFile(object->model[0], var_r28 + lbl_1_data_1C4[var_r29]); - } - } - else { - object->motion[var_r29] = Hu3DJointMotionFile(object->model[0], work->unk_04 + lbl_1_data_208[var_r29]); - } - } - if (work->unk_04 < 0) { - CharModelVoiceEnableSet(var_r28, object->motion[16], 0); - CharModelMotionDataClose(var_r28); - } - else { - CharModelEffectNpcInitSilent(object->model[0], object->motion[1], 0); - CharModelEffectNpcInitSilent(object->model[0], object->motion[2], 1); - } - object->trans.x = work->unk_128.x = (0.4f * (700.0f * (object->work[0] + 1))) - 700.0f; - object->trans.y = work->unk_128.y = 0.0f; - object->trans.z = work->unk_128.z = 0.0f; - work->unk_134.x = work->unk_134.y = work->unk_134.z = 0.0f; - work->unk_A4 = work->unk_A8 = 0.0f; - work->unk_AC = 0.0f; - work->unk_B0 = 0.02f; - work->unk_120 = lbl_1_data_118[var_r28]; - work->unk_0C = -1; - work->unk_70 = -1; - fn_1_B4D4(object, 0); - work->unk_74 = 0; - object->func = fn_1_6070; -} - -void fn_1_6070(omObjData *object) -{ - M433PlayerWork *work = object->data; - fn_1_722C(object); - work->unk_74 = 0; - object->func = fn_1_60C0; -} - -void fn_1_60C0(omObjData *object) -{ - Vec spC; - float var_f31; - float var_f30; - - M433PlayerWork *work = object->data; - s32 var_r29 = 0; - M433PlayerWork *var_r28 = work->unk_14C->data; - work->unk_1C = 0; - work->unk_20 = 0; - work->unk_28 = 0.0f; - work->unk_24 = 0.0f; - if ((work->unk_30 == 0) && (work->unk_70 != fn_1_10ECC(work->unk_14))) { - work->unk_70 = fn_1_10ECC(work->unk_14); - switch (fn_1_10ECC(work->unk_14)) { - case 0: - work->unk_6C = 0; - work->unk_134.x = work->unk_134.y = work->unk_134.z = 0.0f; - work->unk_74 = 0; - work->unk_38 = 0; - work->unk_3C = work->unk_40 = 0; - work->unk_128.y = 0.0f; - if (work->unk_18 == fn_1_10F38(work->unk_14)) { - if (fn_1_10F00(work->unk_14) != 0) { - work->unk_128.z = 0.0f; - work->unk_128.x = 840.00006f; - work->unk_74 = 1; - work->unk_38 = 1; - } - else { - work->unk_128.z = 140.0f; - work->unk_128.x = 540.2f; - } - } - else { - work->unk_128.z = -140.0f; - work->unk_128.x = 385.1f; - } - work->unk_A4 = work->unk_A8 = -90.0f; - work->unk_AC = 1.0f; - work->unk_B0 = 1.0f; - if (work->unk_14 == 0) { - work->unk_128.x *= -1.0f; - work->unk_A4 = work->unk_A8 = 90.0f; - } - work->unk_0C = -1; - work->unk_34 = 1; - work->unk_88 = work->unk_8C = 0; - work->unk_7C = work->unk_78 = work->unk_80 = 0; - break; - case 1: - case 2: - if (work->unk_74 == 1) { - work->unk_34 = 0; - }; - break; - case 3: - work->unk_74 = 2; - work->unk_7C = work->unk_78 = work->unk_80 = 0; - work->unk_34 = 0; - break; - case 4: - case 5: - work->unk_74 = 3; - break; - case 6: - case 7: - if (fn_1_10F6C(work->unk_14) != 0) { - fn_1_B4D4(object, 0x13); - if (work->unk_04 >= 0) { - HuAudFXPlay(lbl_1_data_150[work->unk_04][0]); - } - VECSubtract(&var_r28->unk_128, &work->unk_128, &spC); - work->unk_A8 = atan2d(spC.x, spC.z); - work->unk_AC = 0.15f; - work->unk_B0 = 0.0f; - } - else { - fn_1_B4D4(object, 0x14); - } - work->unk_74 = 4; - break; - default: - break; - } - } - if (fn_1_216C() == 2) { - if (work->unk_2C != 0) { - fn_1_74D4(object); - } - else { - work->unk_20 = HuPadBtn[GWPlayerCfg[object->work[0]].pad_idx]; - work->unk_1C = HuPadBtnDown[GWPlayerCfg[object->work[0]].pad_idx]; - var_f31 = HuPadStkX[GWPlayerCfg[object->work[0]].pad_idx]; - var_f30 = -HuPadStkY[GWPlayerCfg[object->work[0]].pad_idx]; - work->unk_28 = atan2d(var_f31, var_f30); - work->unk_24 = 0.013888889f * sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (work->unk_24 > 1.0f) { - work->unk_24 = 1.0f; - } - } - } - switch (work->unk_74) { - case 0: - fn_1_B4D4(object, 0); - var_r29 = 1; - break; - case 1: - fn_1_8F80(object); - break; - case 2: - fn_1_8BD0(object); - fn_1_AB88(object); - fn_1_9688(object); - break; - case 3: - fn_1_8BD0(object); - fn_1_A618(object); - fn_1_9688(object); - break; - case 4: - work->unk_134.x = work->unk_134.y = work->unk_134.z = 0.0f; - work->unk_30 = 0; - if (fn_1_B6E0(object) != 0) { - work->unk_30 = 0; - work->unk_74 = 0; - } - break; - } - VECAdd(&work->unk_128, &work->unk_134, &work->unk_128); - if (fn_1_10ECC(work->unk_14) >= 2) { - fn_1_B194(object); - } - fn_1_722C(object); - if ((fn_1_216C() == 3) && (var_r29 != 0)) { - work->unk_74 = 0; - object->func = fn_1_682C; - } -} - -void fn_1_682C(omObjData *object) -{ - Vec sp1C; - Vec sp10; - float sp8[2]; - float var_f31; - M433PlayerWork *var_r30; - M433PlayerWork *var_r29; - M433PlayerWork *var_r27; - Vec *var_r26; - s32 var_r25; - M433PlayerWork *var_r24; - s32 var_r23; - - M433PlayerWork *work = object->data; - { - Vec sp40[2] = { { 130.0f, 0.0f, -50.0f }, { 250.0f, 0.0f, 50.0f } }; - Vec sp28[2] = { { 150.0f, 0.0f, 100.0f }, { 300.0f, 0.0f, -100.0f } }; - var_r27 = work->unk_14C->data; - VECAdd(&work->unk_128, &work->unk_134, &work->unk_128); - fn_1_B194(object); - fn_1_722C(object); - switch (work->unk_74) { - case 0: - fn_1_B4D4(object, 0); - if (fn_1_2244() != 0) { - if (work->unk_18 == 0) { - var_r23 = 1; - if (work->unk_14 == 0) { - sp40[0].x *= -1.0f; - sp40[1].x *= -1.0f; - sp28[0].x *= -1.0f; - sp28[1].x *= -1.0f; - } - var_r30 = work; - var_r29 = var_r27; - var_r26 = sp40; - work->unk_84 = var_r27->unk_84 = 0; - if (lbl_1_data_3F0[var_r30->unk_00] != lbl_1_data_3F0[var_r29->unk_00]) { - if (lbl_1_data_3F0[var_r30->unk_00] < lbl_1_data_3F0[var_r29->unk_00]) { - var_r24 = var_r30; - var_r30 = var_r29; - var_r29 = var_r24; - } - var_f31 = fn_1_11130(&var_r30->unk_128, &sp40[0], &var_r29->unk_128, &sp40[1]); - sp8[0] = 0.8f * (var_r30->unk_120 + var_r29->unk_120); - if (var_f31 < sp8[0]) { - var_r26 = sp28; - work->unk_84 = var_r27->unk_84 = 1; - OSReport("Escape!\n"); - } - else { - var_r23 = 0; - OSReport("Direct!\n"); - } - } - if (var_r23 != 0) { - var_r30 = work; - var_r29 = var_r27; - for (var_r25 = 0; var_r25 < 2; var_r25++) { - sp8[var_r25] = fn_1_11130(&var_r30->unk_128, &var_r26[var_r25 & 1], &var_r29->unk_128, &var_r26[(var_r25 + 1) & 1]); - } - if (sp8[0] < sp8[1]) { - var_r24 = var_r30; - var_r30 = var_r29; - var_r29 = var_r24; - } - } - var_r30->unk_140 = var_r26[0]; - var_r30->unk_140.z -= var_r30->unk_120; - var_r29->unk_140 = var_r26[1]; - } - work->unk_30 = work->unk_60 = work->unk_34 = 0; - if (work->unk_84 != 0) { - work->unk_74++; - } - else { - work->unk_74 += 2; - } - work->unk_88 = 0; - break; - } - break; - case 1: - if (work->unk_84 == 1) { - VECSubtract(&work->unk_140, &work->unk_128, &sp10); - sp10.y = 0.0f; - var_f31 = VECMag(&sp10); - if (var_f31 < 20.0f) { - var_f31 = 0.01f; - work->unk_84++; - } - else { - if (VECMag(&sp10) >= 100.0f) { - var_f31 = 100.0f; - } - var_f31 = 0.2f + (0.008f * var_f31); - } - work->unk_28 = 180.0 * (atan2(sp10.x, sp10.z) / 3.141592653589793); - work->unk_24 = var_f31; - fn_1_8BD0(object); - } - else if (work->unk_84 == 2) { - fn_1_BAE0(object, 0); - if ((work->unk_18 == 0) && (var_r27->unk_84 != 0)) { - if (work->unk_14 == 0) { - sp40[0].x *= -1.0f; - sp40[1].x *= -1.0f; - } - var_r30 = work; - var_r29 = var_r27; - if (lbl_1_data_3F0[var_r30->unk_00] < lbl_1_data_3F0[var_r29->unk_00]) { - var_r24 = var_r30; - var_r30 = var_r29; - var_r29 = var_r24; - } - var_r30->unk_140 = sp40[0]; - var_r30->unk_140.z -= var_r30->unk_120; - var_r29->unk_140 = sp40[1]; - work->unk_84 = var_r27->unk_84 = 3; - } - } - if (work->unk_84 == 3) { - work->unk_74++; - work->unk_88 = 0; - return; - } - break; - case 2: - VECSubtract(&work->unk_140, &work->unk_128, &sp10); - sp10.y = 0.0f; - var_f31 = VECMag(&sp10); - if (var_f31 < 10.0f) { - var_f31 = 0.01f; - } - else { - if (VECMag(&sp10) >= 100.0f) { - var_f31 = 100.0f; - } - var_f31 = 0.2f + (0.008f * var_f31); - } - work->unk_28 = atan2d(sp10.x, sp10.z); - work->unk_24 = var_f31; - fn_1_8BD0(object); - if ((work->unk_24 < 0.02f) || (work->unk_88 > 300.0f)) { - work->unk_A8 = 0.0f; - work->unk_AC = 0.15f; - work->unk_B0 = 0.0f; - work->unk_134.x = work->unk_134.y = work->unk_134.z = 0.0f; - fn_1_21E4(object->work[0]); - work->unk_74++; - return; - } - break; - case 3: - if (fn_1_2184() == 1) { - if (fn_1_10FA4(work->unk_14) != 0) { - fn_1_B4D4(object, 0x11); - if (work->unk_04 >= 0) { - HuAudFXPlay(lbl_1_data_150[work->unk_04][0]); - } - } - else { - fn_1_B4D4(object, 0x12); - if (work->unk_04 >= 0) { - HuAudFXPlay(lbl_1_data_150[work->unk_04][1]); - } - } - work->unk_74++; - return; - } - fn_1_BAE0(object, 0); - return; - case 4: - if (fn_1_10FA4(work->unk_14) != 0) { - sp1C.x = Center.x + (CZoom * (sind(CRot.y) * cosd(CRot.x))); - sp1C.y = Center.y + (CZoom * -sind(CRot.x)); - sp1C.z = Center.z + (CZoom * (cosd(CRot.y) * cosd(CRot.x))); - VECSubtract(&sp1C, &work->unk_128, &sp10); - work->unk_A8 = atan2d(sp10.x, sp10.z); - } - if (fn_1_B6E0(object) != 0) { - fn_1_2214(object->work[0]); - work->unk_74++; - } - break; - } - } -} - -char *lbl_1_data_450[6] = { - "itemhook_R", - "itemhook_r", - "itemhook_R", - "itemhook_R", - "itemhook_r", - "itemhook_r", -}; -s32 lbl_1_data_468[9] = { 0, 0, 1, 1, 1, 1, 1, 0, 1 }; -float lbl_1_data_48C[0x12] = { - 0.0f, - 0.6666667f, - 2.1666667f, - 2.0f, - 1.0f, - 7.0000005f, - 1.5000001f, - 1.5000001f, - 3.0000002f, - 0.0f, - 0.0f, - 1e-45f, - 0.0f, - 0.0f, - 1e-45f, - 0.0f, - 0.0f, - 1e-45f, -}; -Vec lbl_1_data_4D4[9] = { - { 0.0f, 0.0f, 1.0f }, - { 0.0f, 1.5f, 1.0f }, - { 236.5f, 0.0f, 1300.0f }, - { 0.0f, 1.5f, 1.0f }, - { 0.0f, 1.8f, 1.0f }, - { 231.0f, 0.0f, 1500.0f }, - { 231.0f, 0.0f, 1000.0f }, - { 0.0f, 1.2f, 1.0f }, - { 0.0f, 0.8f, 1.0f }, -}; -float lbl_1_data_540[9] = { 1.0f, 1.0f, 3.0f, 1.0f, 1.0f, 4.0f, 2.0f, 1.0f, 1.0f }; - -void fn_1_722C(omObjData *object) -{ - Vec sp8; - - M433PlayerWork *work = object->data; - work->unk_9C++; - work->unk_88++; - object->trans.x = work->unk_128.x; - object->trans.y = work->unk_128.y; - object->trans.z = work->unk_128.z; - work->unk_AC = work->unk_AC + work->unk_B0; - if (work->unk_AC > 0.45f) { - work->unk_AC = 0.45f; - } - work->unk_A4 = fn_1_26C4(work->unk_A4, work->unk_A8, work->unk_AC); - object->rot.y = work->unk_A4; - Hu3DModelPosSet(object->model[1], work->unk_128.x, 11.0f, work->unk_128.z); - work->unk_BC += 3.0000002f; - if (work->unk_BC >= 360.0f) { - work->unk_BC -= 360.0f; - } - Hu3DModelRotSet(object->model[1], 0.0f, work->unk_BC, 0.0f); - work->unk_B8 = 0.0f; - if (fn_1_216C() == 2) { - if (((fn_1_10EA4() == 4) || (fn_1_10EA4() == 3)) && (work->unk_14 == fn_1_10740(&sp8)) && (fn_1_10FDC() != 0) && (fn_1_10FDC() < 3) - && (work->unk_60 == 0) && (fn_1_11004(work->unk_14, work->unk_18) != 0)) { - work->unk_B8 = 1.0f; - } - if (work->unk_74 == 1) { - work->unk_B8 = 1.0f; - } - } - work->unk_B4 += 0.1f * (work->unk_B8 - work->unk_B4); - Hu3DModelScaleSet(object->model[1], work->unk_B4, 1.0f, work->unk_B4); - if ((work->unk_B8 <= 0.0f) && (work->unk_B4 < 0.1f)) { - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - work->unk_B4 = 0.0f; - return; - } - Hu3DModelAttrReset(object->model[1], HU3D_ATTR_DISPOFF); -} - -void fn_1_74D4(omObjData *object) -{ - Vec sp1C; - Vec sp10; - M433PlayerWork *spC; - float var_f31; - - M433PlayerWork *work = object->data; - s32 var_r29 = 1; - s32 sp8 = 0; - spC = work->unk_14C->data; - switch (work->unk_74) { - case 0: - work->unk_6C = 0; - fn_1_873C(object); - break; - case 1: - if (work->unk_3C != 0) { - work->unk_1C = work->unk_1C | 0x100; - work->unk_DC = frandmod(0x168); - work->unk_E0 = 0.3f + (0.00040000002f * (work->unk_C0 * frandmod(0x3E8))); - work->unk_E4 = 0; - if (frandmod(0x3E8) > (300.0f + (500.0f * work->unk_C0))) { - work->unk_E4 = 1; - } - } - if (fn_1_10614(&sp1C) != 0) { - if (work->unk_E4 != 0) { - if ((fabs(sp1C.z) > 1.100000023841858) || (sp1C.x > 1.1f)) { - work->unk_E0 = 0.0f; - } - } - else { - if ((fabs(sp1C.z) > 0.949999988079071) || (sp1C.x > 0.95f)) { - work->unk_E0 = 0.0f; - } - } - } - work->unk_28 = work->unk_DC; - work->unk_24 = work->unk_E0; - if (work->unk_40 != 0) { - if (work->unk_D0++ >= work->unk_CC) { - work->unk_1C = work->unk_1C | 0x100; - } - } - else if (work->unk_60 != 0) { - work->unk_CC = ((60.0f * (0.35f * work->unk_C0)) / 1000.0f) * frandmod(0x3E8); - work->unk_D0 = 0; - } - fn_1_873C(object); - break; - case 2: - work->unk_F0 = 0; - if (frandmod(0x3E8) < (300.0f * work->unk_C0)) { - work->unk_F0 = 1; - } - fn_1_8408(object); - if (work->unk_F4 != 0) { - if (fn_1_10EA4() == 2) { - work->unk_F4 = 0; - work->unk_F8 = 0; - } - if (work->unk_14 == fn_1_107B0(&sp1C)) { - work->unk_D8++; - } - if ((work->unk_14 == fn_1_107B0(&sp1C)) && (work->unk_F8 == 0)) { - fn_1_10B20(0.9f, &work->unk_108); - work->unk_108.x = 115.0f; - if (work->unk_14 == 0) { - work->unk_108.x *= -1.0f; - } - work->unk_F8++; - } - if (work->unk_F8 == 1) { - if ((work->unk_D8 >= (0.5f * work->unk_D4)) && (fn_1_10D24(&work->unk_108) != 0)) { - work->unk_108.x = 115.0f; - if (work->unk_14 == 0) { - work->unk_108.x *= -1.0f; - } - work->unk_F8++; - } - } - else if ((work->unk_F8 == 2) && ((work->unk_D8 >= work->unk_D4) || (work->unk_14 == fn_1_10740(&sp1C)))) { - work->unk_1C = work->unk_1C | 0x200; - work->unk_F4 = 0; - work->unk_F8 = 0; - } - } - if ((work->unk_14 == fn_1_107B0(&sp1C)) && (fn_1_10900() >= (60.0f * (0.8f - (0.4f * work->unk_C0)))) && (work->unk_6C != 0)) { - VECSubtract(&sp1C, &work->unk_128, &sp10); - sp10.y = 0.0f; - var_f31 = VECMag(&sp10); - if (VECMag(&sp10) >= 20.0f) { - if (var_f31 >= 50.0f) { - var_f31 = 50.0f; - } - work->unk_28 = atan2d(sp10.x, sp10.z); - work->unk_24 = var_f31 / 50.0f; - } - if ((fn_1_10848() < (0.8f - (0.6f * work->unk_C0))) && ((work->unk_44 != 0) || ((work->unk_48 != 0) && (work->unk_EC != 0)))) { - work->unk_1C = work->unk_1C | 0x100; - } - var_r29 = 0; - } - if (work->unk_F8 != 0) { - VECSubtract(&work->unk_108, &work->unk_128, &sp10); - sp10.y = 0.0f; - var_f31 = VECMag(&sp10); - if (var_f31 >= 10.0f) { - if (var_f31 >= 50.0f) { - var_f31 = 50.0f; - } - work->unk_28 = atan2d(sp10.x, sp10.z); - work->unk_24 = var_f31 / 50.0f; - } - else { - work->unk_28 = 90.0f; - if (work->unk_14 != 0) { - work->unk_28 *= -1.0f; - } - work->unk_24 = 0.01f; - } - var_r29 = 0; - } - if (var_r29 != 0) { - VECSubtract(&work->unk_FC, &work->unk_128, &sp10); - sp10.y = 0.0f; - var_f31 = VECMag(&sp10); - var_f31 -= 100.0f * (1.25f * (2.0f - work->unk_C0)); - if (var_f31 >= 10.0f) { - if (var_f31 >= 70.0f) { - var_f31 = 70.0f; - } - work->unk_28 = atan2d(sp10.x, sp10.z); - work->unk_24 = var_f31 / 70.0f; - break; - } - work->unk_28 = 90.0f; - if (work->unk_14 != 0) { - work->unk_28 *= -1.0f; - break; - } - } - break; - case 3: - fn_1_8408(object); - fn_1_873C(object); - if (work->unk_14 == fn_1_10740(&sp1C)) { - if (work->unk_68 == 0) { - if (fn_1_11004(work->unk_14, work->unk_18) != 0) { - VECSubtract(&sp1C, &work->unk_128, &sp10); - sp10.y = 0.0f; - var_f31 = VECMag(&sp10); - if (var_f31 >= 30.000002f) { - if (var_f31 >= 70.0f) { - var_f31 = 70.0f; - } - work->unk_24 = var_f31 / 70.0f; - work->unk_28 = atan2d(sp10.x, sp10.z); - } - } - if ((((work->unk_6C == 0) && (fn_1_10EA4() == 3) && (work->unk_F0 != 0)) || ((work->unk_6C != 0) && (fn_1_10EA4() == 4))) - && (work->unk_5C != 0)) { - work->unk_1C = work->unk_1C | 0x200; - work->unk_E8 = 0; - if (frandmod(0x3E8) < (s32)(300.0f * (work->unk_C0 - 0.4f))) { - work->unk_E8 = fn_1_8938(work->unk_14, &work->unk_114); - work->unk_DC = 0.0f; - work->unk_E0 = 0.0f; - work->unk_E4 = 0; - } - if (work->unk_E8 == 0) { - work->unk_DC = frandmod(0x168); - work->unk_E0 = 0.3f + (0.00040000002f * (work->unk_C0 * frandmod(0x3E8))); - work->unk_E4 = 0; - if (frandmod(0x3E8) > (300.0f + (500.0f * work->unk_C0))) { - work->unk_E4 = 1; - } - } - } - if ((work->unk_4C != 0) || (work->unk_44 != 0) || (work->unk_48 != 0)) { - work->unk_1C = work->unk_1C | 0x100; - break; - } - } - else { - if (fn_1_10614(&sp1C) != 0) { - if (work->unk_E8 != 0) { - VECSubtract(&work->unk_114, &sp1C, &sp10); - sp10.y = 0.0f; - var_f31 = VECMag(&sp10); - if (var_f31 < 0.05f) { - work->unk_DC = 0.0f; - work->unk_E0 = 0.0f; - } - else { - if (work->unk_14 != 0) { - sp10.x *= -1.0f; - } - work->unk_DC = atan2d(sp10.x, sp10.z); - work->unk_E0 = 1.0f; - } - } - if (work->unk_E4 != 0) { - if ((fabs(sp1C.z) > 1.100000023841858) || (sp1C.x > 1.1f)) { - work->unk_E0 = 0.0f; - } - } - else { - if ((fabs(sp1C.z) > 0.949999988079071) || (sp1C.x > 0.95f)) { - work->unk_E0 = 0.0f; - } - } - } - work->unk_28 = work->unk_DC; - work->unk_24 = work->unk_E0; - if (work->unk_54 != 0) { - if (work->unk_D0++ >= work->unk_CC) { - work->unk_1C |= 0x100; - break; - } - } - else { - work->unk_CC = ((60.0f * (0.35f * work->unk_C0)) / 1000.0f) * frandmod(0x3E8); - work->unk_D0 = 0; - } - } - } - break; - } -} - -void fn_1_8408(omObjData *object) -{ - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - - M433PlayerWork *work = object->data; - M433PlayerWork *var_r30 = work->unk_14C->data; - - if (var_r30->unk_2C == 0) { - var_r30->unk_C0 = work->unk_C0 - 0.1f; - } - if ((work->unk_14 == fn_1_107B0(&sp14)) && (fn_1_108C4() >= 12.0f)) { - if (((var_r30->unk_6C == 0) && (work->unk_6C == 0)) || (fn_1_108C4() < 0x3E8)) { - if ((work->unk_30 == 0) || (var_r30->unk_30 == 0)) { - VECSubtract(&sp14, &work->unk_128, &sp8); - sp8.y = 0.0f; - var_f31 = VECMag(&sp8) - (100.0f * (2.0f * work->unk_C0)); - VECSubtract(&sp14, &var_r30->unk_128, &sp8); - sp8.y = 0.0f; - var_f30 = VECMag(&sp8) - (100.0f * (2.0f * var_r30->unk_C0)); - if ((work->unk_30 != 0) || (work->unk_60 != 0)) { - var_f31 = 2000.0f; - } - if ((var_r30->unk_30 != 0) || (var_r30->unk_60 != 0)) { - var_f30 = 2000.0f; - } - if (var_f31 >= 300.0f) { - var_r30->unk_F4 = 0; - } - if (var_f30 >= 300.0f) { - work->unk_F4 = 0; - } - if (work->unk_F4 != 0) { - var_f31 += 300.0f; - } - if (var_r30->unk_F4 != 0) { - var_f30 += 300.0f; - } - var_r30->unk_6C = work->unk_6C = 0; - if (var_f31 <= var_f30) { - work->unk_6C = 1; - work->unk_F4 = 0; - } - else { - var_r30->unk_6C = 1; - var_r30->unk_F4 = 0; - } - if (work->unk_F4 == 0) { - work->unk_F8 = 0; - } - if (var_r30->unk_F4 == 0) { - var_r30->unk_F8 = 0; - } - } - } - else if (fn_1_10FDC() == 1) { - work->unk_6C = fn_1_11004(work->unk_14, work->unk_18) == 0; - var_r30->unk_6C = work->unk_6C == 0; - } - } - else if (work->unk_14 != fn_1_10740(&sp14)) { - var_r30->unk_6C = work->unk_6C = 0; - } -} - -void fn_1_873C(omObjData *object) -{ - M433PlayerWork *work = object->data; - work->unk_EC = 0; - if (frandmod(0x3E8) < (600.0f * work->unk_C0)) { - work->unk_EC = 1; - } - work->unk_F4 = 0; - work->unk_F8 = 0; - if ((work->unk_18 != fn_1_10F38(work->unk_14)) && (work->unk_74 != 0) && (frandmod(0x3E8) < (500.0f * work->unk_C0))) { - work->unk_F4 = 1; - work->unk_D4 = ((60.0f * (0.5f * work->unk_C0)) / 1000.0f) * frandmod(0x3E8); - work->unk_D8 = 0; - } - if (work->unk_18 == fn_1_10F38(work->unk_14)) { - work->unk_FC.z = 140.0f; - work->unk_FC.x = 540.2f; - } - else { - work->unk_FC.z = -140.0f; - work->unk_FC.x = 300.5f; - } - if (work->unk_14 == 0) { - work->unk_FC.x *= -1.0f; - } -} - -s32 fn_1_8938(u32 var_r27, Vec *var_r29) -{ - Vec sp2C[2]; - Vec sp20; - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - u32 var_r31; - u32 var_r30; - - for (var_r31 = 0, var_r30 = 0; (var_r30 < 4) && (var_r31 < 2); var_r30++) { - M433PlayerWork *work = lbl_1_bss_7D0[var_r30]->data; - if (work->unk_14 != var_r27) { - sp2C[var_r31] = work->unk_128; - sp2C[var_r31].y = 0.0f; - var_r31++; - } - } - if (var_r31 < 2) { - return 0; - } - if (var_r27 == 1) { - sp2C[0].x *= -1.0f; - sp2C[1].x *= -1.0f; - } - var_f29 = 47.0f; - var_f28 = 70.0f; - var_f30 = -1.0f; - sp14.z = -350.0f; - sp14.y = 0.0f; - for (var_r30 = 0; var_r30 <= 0xA; var_r30++) { - sp14.x = 230.0f; - for (var_r31 = 0; var_r31 <= 0xA; var_r31++) { - VECSubtract(&sp14, &sp2C[0], &sp20); - var_f31 = VECMag(&sp20); - VECSubtract(&sp14, &sp2C[1], &sp20); - var_f31 *= VECMag(&sp20); - if (var_f31 > var_f30) { - var_f30 = var_f31; - sp8 = sp14; - } - sp14.x += var_f29; - } - sp14.z += var_f28; - } - *var_r29 = sp8; - var_r29->x -= 465.0f; - var_r29->x *= 0.004255319f; - var_r29->z *= 0.0028571428f; - return 1; -} - -void fn_1_8BD0(omObjData *object) -{ - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - - M433PlayerWork *work = object->data; - s32 var_r29 = 1; - if ((work->unk_30 == 0) && (work->unk_60 == 0)) { - if ((work->unk_24 > 0.0f) && (work->unk_34 == 0)) { - work->unk_A8 = work->unk_28; - } - if ((work->unk_24 > 0.05f) && (work->unk_34 == 0)) { - work->unk_134.x = 0.01666666753590107 * (550.0 * (work->unk_24 * sind(work->unk_28))); - work->unk_134.z = 0.01666666753590107 * (550.0 * (work->unk_24 * cosd(work->unk_28))); - if (work->unk_2C != 0) { - work->unk_AC = 0.1f; - } - else { - work->unk_AC = 0.2f; - } - work->unk_B0 = 0.0f; - if (fn_1_B7AC(object) != 0) { - var_f30 = 0.5f; - if (work->unk_0C == 2) { - var_f30 = 0.45f; - } - if (work->unk_24 > var_f30) { - fn_1_B4D4(object, 2); - var_f31 = work->unk_24; - } - else { - fn_1_B4D4(object, 1); - var_f31 = work->unk_24 / var_f30; - } - if (work->unk_04 < 0) { - CharModelMotionSpeedSet(work->unk_00, var_f31); - } - else { - Hu3DMotionSpeedSet(object->model[0], var_f31); - } - } - if ((work->unk_24 > 0.5f) && (((work->unk_88 + 0xF) & 0xF) == 0)) { - fn_1_D888(&work->unk_128, 0.2f); - } - } - else { - work->unk_134.x = work->unk_134.y = work->unk_134.z = 0.0f; - if ((work->unk_5C != 0) && (fn_1_10FDC() >= 2)) { - fn_1_B4D4(object, 0x10); - } - else if (work->unk_4C != 0) { - fn_1_B4D4(object, 0xF); - } - else if (work->unk_44 != 0) { - fn_1_B4D4(object, 0xE); - } - else { - fn_1_BAE0(object, 0); - } - if ((var_r29 != 0) && (work->unk_24 == 0.0f)) { - fn_1_10B20(0.0f, &sp14); - VECSubtract(&sp14, &work->unk_128, &sp8); - work->unk_A8 = atan2d(sp8.x, sp8.z); - work->unk_AC = 0.1f; - work->unk_B0 = 0.0f; - } - } - } -} - -void fn_1_8F80(omObjData *object) -{ - Vec sp1C; - Vec sp10; - float var_f31; - float var_f30; - - M433PlayerWork *work = object->data; - s32 var_r29 = work->unk_40; - { - s32 sp8[2] = { 0x6A4, 0x6A5 }; - work->unk_3C = 0; - work->unk_40 = 0; - if (work->unk_04 < 0) { - char *var_r28 = CharModelHookNameGet(work->unk_00, 4, 0); - Hu3DModelObjPosGet(object->model[0], var_r28, &sp10); - } - else { - Hu3DModelObjPosGet(object->model[0], lbl_1_data_450[work->unk_04], &sp10); - } - switch (work->unk_8C) { - case 0: - work->unk_134.x = work->unk_134.y = work->unk_134.z = 0.0f; - work->unk_8C++; - work->unk_88 = 0; - - case 1: - work->unk_30 = 0; - work->unk_38 = 1; - fn_1_B4D4(object, 3); - fn_1_FE8C(&sp10, 0, work->unk_14, work->unk_18); - if (fn_1_10ECC(work->unk_14) != 1) { - work->unk_88 = 0; - break; - } - if (work->unk_34 == 0) { - work->unk_3C = 1; - if ((work->unk_1C & 0x100) || (work->unk_88 > 300.0f)) { - fn_1_B4D4(object, 4); - work->unk_30 = 1; - work->unk_8C++; - work->unk_88 = 0; - } - } - break; - case 2: - if (work->unk_60 == 0) { - work->unk_134.x = 1.6666667461395264 * (2.0 * sind((10.0f + (4.285714f * work->unk_88)))); - if (work->unk_14 != 0) { - work->unk_134.x *= -1.0f; - } - } - if ((work->unk_88 >= 9.0f) && (work->unk_38 != 0)) { - if (work->unk_14 != 0) { - var_f30 = -1.0f; - } - else { - var_f30 = 1.0f; - } - sp1C.x = object->trans.x + (250.0f * var_f30); - sp1C.y = 80.0f + object->trans.y; - sp1C.z = sp10.z; - fn_1_FE8C(&sp1C, 1, work->unk_14, work->unk_18); - work->unk_38 = 0; - } - else if (work->unk_88 >= 28.0f) { - var_f31 = 0.5f; - work->unk_124 = (2.0f * -(350.0f - lbl_1_data_E0[work->unk_00])) / (var_f31 * var_f31); - work->unk_134.y = 0.016666668f * (-work->unk_124 * var_f31); - work->unk_60 = 1; - work->unk_8C++; - work->unk_88 = 0; - fn_1_D888(&work->unk_128, 0.5f); - } - if (work->unk_38 == 0) { - fn_1_10260(work->unk_28, work->unk_24, work->unk_14, 0, &sp1C); - break; - } - fn_1_FE8C(&sp10, 0, work->unk_14, work->unk_18); - break; - case 3: - work->unk_134.y += 0.016666668f * (0.016666668f * work->unk_124); - if ((work->unk_88 > 27.0f) && (work->unk_88 < 51.0f)) { - work->unk_40 = 1; - } - fn_1_10260(work->unk_28, work->unk_24, work->unk_14, work->unk_40, &sp1C); - if (((work->unk_40 != 0) && ((work->unk_1C & 0x100) != 0)) || ((work->unk_40 == 0) && (var_r29 != 0))) { - fn_1_B4D4(object, 5); - if (work->unk_40 == 0) { - fn_1_1070C(); - } - fn_1_FE8C(&sp1C, 2, work->unk_14, work->unk_18); - work->unk_40 = 0; - work->unk_8C = 5; - work->unk_88 = 0; - HuAudFXPlay(sp8[work->unk_14]); - } - break; - case 4: - if (work->unk_88 >= 12.0f) { - work->unk_60 = 0; - work->unk_8C = 1; - work->unk_88 = 0; - } - break; - case 5: - work->unk_134.y += 0.016666668f * (0.016666668f * work->unk_124); - if (work->unk_128.y <= 0.0f) { - work->unk_60 = 0; - fn_1_D888(&work->unk_128, 0.5f); - work->unk_30 = 0; - work->unk_134.x = work->unk_134.y = work->unk_134.z = 0.0f; - } - break; - } - } -} - -void fn_1_9688(omObjData *object) -{ - Vec sp2C; - Vec sp20; - float var_f31; - float var_f30; - float var_f29; - - M433PlayerWork *work = object->data; - s32 sp38[3][3] = { { 3, 4, 6 }, { 3, 4, 6 }, { 3, 4, 7 } }; - s32 sp18[2] = { 0x6AD, 0x6AE }; - s32 sp10[2] = { 0x6A6, 0x6A7 }; - s32 sp8[2] = { 0x6AA, 0x6AB }; - M433PlayerWork *var_r29 = work->unk_14C->data; - - work->unk_4C = 0; - work->unk_44 = 0; - work->unk_48 = 0; - if (work->unk_60 == 0) { - switch (work->unk_7C) { - case 0: - if ((work->unk_7C == 0) && (work->unk_78 == 0) && (work->unk_80 == 0) - && (work->unk_30 = 0, work->unk_64 = 0, ((work->unk_34 == 0) != 0)) && (work->unk_14 == fn_1_10740(&sp2C)) - && (fn_1_11004(work->unk_14, work->unk_18) != 0) && (fn_1_10FDC() < 3)) { - work->unk_140 = sp2C; - var_f31 = fn_1_10848(); - if ((var_f31 <= 0.8f) && (var_f31 >= 0.02f) && (var_r29->unk_64 == 0)) { - VECSubtract(&sp2C, &work->unk_128, &sp20); - sp20.y = 0.0f; - var_f30 = VECMag(&sp20); - work->unk_98 = var_f30; - if (var_f30 <= 200.0f) { - if ((var_f31 >= 0.2f) && (var_f30 <= 70.0f) && (var_f31 >= (0.2f + (0.001f * var_f30))) && (fn_1_10FDC() >= 1)) { - work->unk_4C = 1; - } - if ((var_f31 >= 0.02f) && (var_f30 <= 100.0f) && (var_f31 >= (0.02f + (0.001f * var_f30)))) { - work->unk_44 = 1; - } - if ((var_f31 >= 0.1f) && (var_f31 <= 0.3f) && (var_f30 > 100.0f) && (var_f30 <= 200.0f) - && (var_f31 >= (0.1f + (0.0002f * (var_f30 - 100.0f))))) { - work->unk_48 = 1; - } - } - } - if ((work->unk_1C & 0x100) != 0) { - work->unk_134.x = work->unk_134.y = work->unk_134.z = 0.0f; - if (work->unk_4C != 0) { - work->unk_7C = 1; - var_f31 -= 0.12f; - work->unk_98 *= 0.014285714f; - fn_1_B4D4(object, 0xF); - fn_1_10B20(0.0f, &sp2C); - } - else if (work->unk_44 != 0) { - work->unk_7C = 2; - var_f31 -= 0.03f; - work->unk_98 *= 0.01f; - fn_1_B4D4(object, 0xE); - fn_1_10B20(0.0f, &sp2C); - } - else if (work->unk_48 != 0) { - work->unk_7C = 3; - var_f31 -= 0.03f; - work->unk_98 *= 0.005f; - fn_1_B4D4(object, 7); - fn_1_D888(&work->unk_128, 0.75f); - HuAudFXPlay(sp8[work->unk_14]); - } - else { - if (fn_1_10FDC() >= 1) { - fn_1_B4D4(object, 9); - } - else { - fn_1_B4D4(object, 6); - } - work->unk_7C = 4; - } - if (work->unk_7C < 4) { - work->unk_64 = 1; - if (var_f31 < 0.0f) { - var_f31 = 0.0f; - } - work->unk_90 = 60.0f * var_f31; - } - VECSubtract(&sp2C, &work->unk_128, &sp20); - work->unk_A8 = atan2d(sp20.x, sp20.z); - work->unk_AC = 0.2f; - work->unk_B0 = 0.0f; - work->unk_30 = 1; - work->unk_88 = 0; - } - } - break; - case 1: - if (work->unk_88 >= work->unk_90) { - if (work->unk_64 != 0) { - if (fn_1_10FDC() >= 2) { - sp2C.x = 350.0f; - sp2C.y = 11.0f; - sp2C.z = 0.0f; - if (work->unk_14 != 0) { - sp2C.x *= -1.0f; - } - } - else { - sp2C = var_r29->unk_128; - sp2C.y = 11.0f; - sp2C.x *= 0.5f; - } - var_f29 = frandmod(0x168); - var_f30 = 200.0f * work->unk_98; - sp2C.x += var_f30 * sind(var_f29); - sp2C.z += var_f30 * cosd(var_f29); - if (fn_1_10FDC() < 2) { - fn_1_10130(&sp2C, work->unk_14); - } - fn_1_FE8C(&sp2C, sp38[0][fn_1_10FDC()], work->unk_14, work->unk_18); - fn_1_D888(&work->unk_128, 0.0f); - HuAudFXPlay(sp10[work->unk_14]); - } - work->unk_64 = 0; - fn_1_B4D4(object, 9); - VECSubtract(&sp2C, &work->unk_128, &sp20); - work->unk_A8 = atan2d(sp20.x, sp20.z); - work->unk_AC = 0.1f; - work->unk_90 = 0x186A0; - work->unk_88 = 0; - break; - } - if (work->unk_90 < 0x2710) { - work->unk_134.x = 0.07f * (work->unk_140.x - work->unk_128.x); - work->unk_134.z = 0.07f * (work->unk_140.z - work->unk_128.z); - if (work->unk_64 == 0) { - work->unk_90 = 0; - } - } - else { - work->unk_134.x *= 0.7f; - work->unk_134.z *= 0.7f; - if (fn_1_B6E0(object) != 0) { - work->unk_7C = 0; - } - } - break; - case 2: - if (work->unk_88 >= work->unk_90) { - if (work->unk_64 != 0) { - switch (fn_1_10FDC()) { - case 0: - sp2C = var_r29->unk_128; - sp2C.y = 11.0f; - break; - case 1: - sp2C = var_r29->unk_128; - sp2C.y = 11.0f; - sp2C.x *= 0.5f; - break; - case 2: - default: - sp2C.x = 350.0f; - sp2C.y = 11.0f; - sp2C.z = 0.0f; - if (work->unk_14 != 0) { - sp2C.x *= -1.0f; - } - break; - } - var_f29 = frandmod(0x168); - var_f30 = 200.0f * work->unk_98; - sp2C.x += var_f30 * sind(var_f29); - sp2C.z += var_f30 * cosd(var_f29); - if (fn_1_10FDC() < 2) { - fn_1_10130(&sp2C, work->unk_14); - } - fn_1_FE8C(&sp2C, sp38[1][fn_1_10FDC()], work->unk_14, work->unk_18); - fn_1_D888(&work->unk_128, 0.0f); - if (fn_1_10FDC() < 1) { - HuAudFXPlay(sp18[work->unk_14]); - } - else { - HuAudFXPlay(sp10[work->unk_14]); - } - } - work->unk_64 = 0; - fn_1_B4D4(object, 6); - VECSubtract(&sp2C, &work->unk_128, &sp20); - work->unk_A8 = atan2d(sp20.x, sp20.z); - work->unk_AC = 0.1f; - work->unk_90 = 0x186A0; - work->unk_88 = 0; - break; - } - if (work->unk_90 < 0x2710) { - work->unk_134.x = 0.07f * (work->unk_140.x - work->unk_128.x); - work->unk_134.z = 0.07f * (work->unk_140.z - work->unk_128.z); - if (work->unk_64 == 0) { - work->unk_90 = 0; - break; - } - } - else { - work->unk_134.x *= 0.7f; - work->unk_134.z *= 0.7f; - if (fn_1_B6E0(object) != 0) { - work->unk_7C = 0; - break; - } - } - break; - case 3: - if (work->unk_88 >= work->unk_90) { - if (work->unk_64 != 0) { - sp2C = work->unk_128; - sp2C.y = 11.0f; - VECSubtract(&var_r29->unk_128, &work->unk_128, &sp20); - var_f29 = 180.0 + (atan2d(sp20.x, sp20.z)); - var_f29 += frandmod(0xB4) - 90.0f; - var_f30 = 200.0f * work->unk_98; - sp2C.x += var_f30 * sind(var_f29); - sp2C.z += var_f30 * cosd(var_f29); - fn_1_10130(&sp2C, work->unk_14); - fn_1_FE8C(&sp2C, sp38[2][fn_1_10FDC()], work->unk_14, work->unk_18); - if (fn_1_10FDC() < 1) { - HuAudFXPlay(sp18[work->unk_14]); - } - else { - HuAudFXPlay(sp10[work->unk_14]); - } - } - work->unk_64 = 0; - work->unk_90 = 0x186A0; - work->unk_88 = 0; - fn_1_D888(&work->unk_128, 1.3f); - break; - } - if (work->unk_90 < 0x2710) { - work->unk_134.x = 0.15f * (work->unk_140.x - work->unk_128.x); - work->unk_134.z = 0.15f * (work->unk_140.z - work->unk_128.z); - break; - } - work->unk_134.x *= 0.95f; - work->unk_134.z *= 0.95f; - if (fn_1_B6E0(object) != 0) { - fn_1_B4D4(object, 8); - work->unk_7C = 4; - } - break; - case 4: - work->unk_134.x *= 0.95f; - work->unk_134.z *= 0.95f; - if (fn_1_B6E0(object) != 0) { - work->unk_7C = 0; - } - break; - } - } -} - -void fn_1_A618(omObjData *object) -{ - Vec sp20; - Vec sp14; - M433PlayerWork *sp8; - float var_f31; - float var_f30; - float var_f29; - M433PlayerWork *work = object->data; - s32 spC[2] = { 0x6A8, 0x6A9 }; - sp8 = work->unk_14C->data; - work->unk_54 = 0; - work->unk_5C = 0; - switch (work->unk_80) { - case 0: - if ((work->unk_7C == 0) && (work->unk_78 == 0) && (work->unk_80 == 0) && (work->unk_30 = 0, work->unk_68 = 0, ((work->unk_34 == 0) != 0)) - && (fn_1_11004(work->unk_14, work->unk_18) != 0) && (fn_1_10FDC() < 3) && (work->unk_14 == fn_1_10740(&sp20))) { - VECSubtract(&sp20, &work->unk_128, &sp14); - sp14.y = 0.0f; - if (!(VECMag(&sp14) > 500.0f)) { - fn_1_10B20(0.5f, &sp20); - sp20.y -= lbl_1_data_E0[work->unk_00]; - VECSubtract(&sp20, &work->unk_128, &sp14); - sp14.y = 0.0f; - if ((VECMag(&sp14) < 200.0f) && (sp20.y >= 50.0f)) { - work->unk_5C = 1; - } - if (((work->unk_1C & 0x200) != 0) && (work->unk_5C != 0)) { - work->unk_134.x = work->unk_134.y = work->unk_134.z = 0.0f; - fn_1_B4D4(object, 0xA); - work->unk_80 = 1; - work->unk_88 = 0; - work->unk_30 = 1; - if (work->unk_5C != 0) { - var_f30 = 0.5f; - work->unk_124 = (2.0f * -sp20.y) / (var_f30 * var_f30); - work->unk_134.y = 0.016666668f * (-work->unk_124 * var_f30); - VECSubtract(&sp20, &work->unk_128, &sp14); - sp14.y = 0.0f; - work->unk_134.x = 0.016666668f * (sp14.x / 0.5f); - work->unk_134.z = 0.016666668f * (sp14.z / 0.5f); - if (work->unk_14 != 0) { - var_f29 = -90.0f; - } - else { - var_f29 = 90.0f; - } - work->unk_A8 = var_f29; - work->unk_AC = 0.2f; - work->unk_B0 = 0.0f; - work->unk_68 = 1; - } - else { - work->unk_134.y = 14.833334f; - } - work->unk_60 = 1; - fn_1_D888(&work->unk_128, 0.75f); - } - } - } - break; - case 1: - work->unk_134.y += 0.016666668f * (0.016666668f * work->unk_124); - if (work->unk_68 != 0) { - var_f31 = (0.016666668f * work->unk_88) - 0.35f; - if ((var_f31 >= 0.0f) && (var_f31 < 0.4)) { - work->unk_54 = 1; - if ((work->unk_1C & 0x100) != 0) { - fn_1_B4D4(object, 0xB); - fn_1_10260(work->unk_28, work->unk_24, work->unk_14, work->unk_54, &sp20); - fn_1_FE8C(&sp20, 5, work->unk_14, work->unk_18); - work->unk_68 = 0; - work->unk_54 = 0; - HuAudFXPlay(spC[work->unk_14]); - } - } - else if (var_f31 > 0.0f) { - work->unk_68 = 0; - work->unk_54 = 0; - } - fn_1_10260(work->unk_28, work->unk_24, work->unk_14, work->unk_54, &sp20); - } - if (work->unk_128.y <= 0.0f) { - fn_1_D888(&work->unk_128, 0.75f); - work->unk_30 = 0; - work->unk_80 = 0; - work->unk_134.x = work->unk_134.y = work->unk_134.z = 0.0f; - work->unk_60 = 0; - work->unk_68 = 0; - } - break; - } -} - -void fn_1_AB88(omObjData *object) -{ - Vec sp1C; - Vec sp10; - float var_f29; - float var_f28; - - M433PlayerWork *work = object->data; - s32 var_r30 = 0; - s32 sp8[2] = { 0x6A8, 0x6A9 }; - M433PlayerWork *var_r28 = work->unk_14C->data; - - work->unk_58 = 0; - switch (work->unk_78) { - case 0: - if ((work->unk_7C == 0) && (work->unk_78 == 0) && (work->unk_80 == 0) && (work->unk_30 = 0, work->unk_68 = 0, ((work->unk_34 == 0) != 0)) - && (work->unk_14 == fn_1_107B0(&sp1C)) && (fn_1_11060(work->unk_14) == 0)) { - float var_f31 = work->unk_128.x; - float var_f30; - if (work->unk_14 == 0) { - var_f31 *= -1.0f; - } - if (!(var_f31 > 230.0f) && (fn_1_10EA4() != 2)) { - if (fn_1_10D24(&sp1C) != 0) { - var_r30 = 1; - } - if (var_r30 != 0) { - var_f31 = sp1C.z - work->unk_128.z; - if (var_f31 > 100.0f) { - var_f31 = 100.0f; - } - else if (var_f31 < -100.0f) { - var_f31 = -100.0f; - } - else { - work->unk_58 = 1; - } - } - if ((work->unk_1C & 0x200) != 0) { - work->unk_134.x = work->unk_134.y = work->unk_134.z = 0.0f; - fn_1_B4D4(object, 0xA); - work->unk_78 = 1; - work->unk_88 = 0; - work->unk_30 = 1; - if (work->unk_14 != 0) { - var_f28 = -90.0f; - } - else { - var_f28 = 90.0f; - } - work->unk_A8 = var_f28; - work->unk_AC = 0.2f; - work->unk_B0 = 0.0f; - fn_1_D888(&work->unk_128, 0.75f); - var_f30 = 0.5f; - work->unk_124 = (2.0f * -(350.0f - lbl_1_data_E0[work->unk_00])) / (var_f30 * var_f30); - work->unk_134.y = 0.016666668f * (-work->unk_124 * var_f30); - work->unk_134.x = 0.016666668f * (-work->unk_128.x / 0.75f); - if (var_r30 != 0) { - work->unk_134.z = 0.016666668f * (var_f31 / 0.5f); - } - work->unk_60 = 1; - work->unk_58 = 0; - } - } - } - break; - case 1: - work->unk_134.y += 0.016666668f * (0.016666668f * work->unk_124); - if ((work->unk_14 == fn_1_10740(&sp1C)) && (fn_1_10FDC() == 0)) { - fn_1_10B20(0.0f, &sp1C); - if ((sp1C.x * work->unk_128.x) > 0.0f) { - sp1C.y = work->unk_128.y; - VECSubtract(&sp1C, &work->unk_128, &sp10); - if (VECMag(&sp10) < 60.000004f) { - if (frandmod(0x64) < 0x1E) { - fn_1_10740(&sp1C); - sp1C.x *= -0.5f; - fn_1_FE8C(&sp1C, 5, work->unk_14, work->unk_18); - HuAudFXPlay(sp8[work->unk_14]); - } - else { - fn_1_10740(&sp1C); - var_f29 = frandmod(0x168); - sp1C.x += 100.0 * (2.0 * sind(var_f29)); - sp1C.z += 100.0 * (2.0 * cosd(var_f29)); - fn_1_10130(&sp1C, work->unk_14); - fn_1_FE8C(&sp1C, 8, work->unk_14, work->unk_18); - HuAudFXPlay(sp8[work->unk_14]); - } - fn_1_B4D4(object, 0xD); - var_r28->unk_64 = 0; - } - } - } - if (work->unk_128.y <= 0.0f) { - fn_1_D888(&work->unk_128, 0.75f); - work->unk_30 = 0; - work->unk_78 = 0; - work->unk_134.x = work->unk_134.y = work->unk_134.z = 0.0f; - work->unk_60 = 0; - } - break; - } -} - -void fn_1_B194(omObjData *object) -{ - Vec sp8; - float var_f31; - M433PlayerWork *var_r31; - M433PlayerWork *var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - for (var_r27 = 0; var_r27 < 2; var_r27++) { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - var_r31 = lbl_1_bss_7D0[var_r29]->data; - for (var_r28 = 0; var_r28 < 4; var_r28++) { - if (var_r29 != var_r28) { - var_r30 = lbl_1_bss_7D0[var_r28]->data; - VECSubtract(&var_r31->unk_128, &var_r30->unk_128, &sp8); - sp8.y = 0.0f; - var_f31 = VECMag(&sp8); - if (var_f31 < (var_r31->unk_120 + var_r30->unk_120)) { - if (var_f31 > 0.0f) { - var_f31 = 0.5f * ((var_r31->unk_120 + var_r30->unk_120) - var_f31); - } - else { - var_f31 = 0.5f * (var_r31->unk_120 + var_r30->unk_120); - sp8.x = frandmod(0x3E8) - 0x1F4; - sp8.z = frandmod(0x3E8) - 0x1F4; - } - VECNormalize(&sp8, &sp8); - VECScale(&sp8, &sp8, var_f31); - VECAdd(&var_r31->unk_128, &sp8, &var_r31->unk_128); - VECSubtract(&var_r30->unk_128, &sp8, &var_r30->unk_128); - } - } - } - if (var_r31->unk_128.y < 0.0f) { - var_r31->unk_128.y = 0.0f; - } - if ((var_r31->unk_128.z - var_r31->unk_120) < -500.0f) { - var_r31->unk_128.z = -500.0f + var_r31->unk_120; - } - else if ((var_r31->unk_128.z + var_r31->unk_120) > 500.0f) { - var_r31->unk_128.z = 500.0f - var_r31->unk_120; - } - if (var_r31->unk_14 == 0) { - var_r31->unk_128.x *= -1.0f; - } - if ((var_r31->unk_128.x - var_r31->unk_120) < 20.0f) { - var_r31->unk_128.x = 20.0f + var_r31->unk_120; - } - else if ((60.000004f + var_r31->unk_128.x) > 800.0f) { - var_r31->unk_128.x = 740.0f; - } - if (var_r31->unk_14 == 0) { - var_r31->unk_128.x *= -1.0f; - } - } - } -} - -void fn_1_B4D4(omObjData *object, u32 arg1) -{ - M433PlayerWork *work = object->data; - if ((work->unk_0C != arg1) && (arg1 < 0x15)) { - float var_f31 = 60.0f * lbl_1_data_24C[arg1].unk_04; - if (work->unk_0C < 0) { - var_f31 = 0.0f; - } - work->unk_0C = arg1; - if (work->unk_04 < 0) { - CharModelMotionShiftSet( - work->unk_00, object->motion[lbl_1_data_24C[arg1].unk_00], 60.0f * lbl_1_data_24C[arg1].unk_08, var_f31, lbl_1_data_24C[arg1].unk_10); - } - else { - Hu3DMotionShiftSet(object->model[0], object->motion[lbl_1_data_24C[arg1].unk_00], 60.0f * lbl_1_data_24C[arg1].unk_08, var_f31, - lbl_1_data_24C[arg1].unk_10); - } - if (lbl_1_data_24C[arg1].unk_0C >= 0.0f) { - Hu3DMotionShiftStartEndSet(object->model[0], 60.0f * lbl_1_data_24C[arg1].unk_08, 60.0f * lbl_1_data_24C[arg1].unk_0C); - } - work->unk_10 = 0; - } -} - -s32 fn_1_B6E0(omObjData *object) -{ - M433PlayerWork *work = object->data; - s32 var_r29 = 0; - if (work->unk_04 < 0) { - if (((CharModelMotionEndCheck(work->unk_00) != 0) || (work->unk_10 != 0)) && (CharModelMotionShiftIDGet(work->unk_00) < 0)) { - var_r29 = 1; - } - } - else if (((Hu3DMotionEndCheck(object->model[0]) != 0) || (work->unk_10 != 0)) && (Hu3DMotionShiftIDGet(object->model[0]) < 0)) { - var_r29 = 1; - } - return var_r29; -} - -s32 fn_1_B7AC(omObjData *object) -{ - M433PlayerWork *work = object->data; - s32 var_r30 = 0; - if (work->unk_04 < 0) { - if (CharModelMotionShiftIDGet(work->unk_00) < 0) { - var_r30 = 1; - } - } - else if (Hu3DMotionShiftIDGet(object->model[0]) < 0) { - var_r30 = 1; - } - return var_r30; -} - -s32 fn_1_B838(omObjData *object, u32 arg1) -{ - s32 var_r26 = 0; - if (fn_1_B6E0(object)) { - fn_1_B4D4(object, arg1); - var_r26 = 1; - } - return var_r26; -} - -s32 fn_1_BAE0(omObjData *object, u32 arg1) -{ - s32 var_r26 = 0; - if (fn_1_B7AC(object)) { - fn_1_B4D4(object, arg1); - var_r26 = 1; - } - return var_r26; -} - -void fn_1_BD48(omObjData *object) -{ - M433PlayerWork2 *work; - s32 var_r29; - s32 var_r28; - HsfanimStruct01 *var_r27; - - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M433PlayerWork2), MEMORY_DEFAULT_NUM); - work = object->data; - memset(work, 0, sizeof(M433PlayerWork2)); - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M433, 0)); - Hu3DModelShadowSet(object->model[0]); - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M433, 4)); - Hu3DModelAttrSet(object->model[1], HU3D_MOTATTR_LOOP); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M433, 4)); - Hu3DModelAttrSet(object->model[2], HU3D_MOTATTR_LOOP); - object->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M433, 3)); - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); - object->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M433, 7)); - Hu3DModelAttrSet(object->model[4], HU3D_ATTR_DISPOFF); - object->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M433, 5)); - Hu3DModelAttrSet(object->model[6], HU3D_ATTR_DISPOFF); - Hu3DModelScaleSet(object->model[6], 0.75f, 0.75f, 0.75f); - Hu3DModelLayerSet(object->model[6], 2); - object->model[7] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M433, 6)); - Hu3DModelAttrSet(object->model[7], HU3D_ATTR_DISPOFF); - Hu3DModelScaleSet(object->model[7], 0.75f, 0.75f, 0.75f); - Hu3DModelLayerSet(object->model[7], 2); - var_r28 = Hu3DParticleCreate(HuSprAnimRead(HuDataReadNum(0x120002, MEMORY_DEFAULT_NUM)), 1); - object->model[8] = var_r28; - Hu3DModelLayerSet(var_r28, 2); - Hu3DParticleHookSet(var_r28, fn_1_DE28); - Hu3DModelAttrSet(var_r28, HU3D_ATTR_DISPOFF); - var_r28 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M433, 9)), 0xC8); - object->model[5] = var_r28; - Hu3DModelLayerSet(var_r28, 2); - Hu3DParticleHookSet(var_r28, fn_1_D6A8); - for (var_r27 = ((ParticleData *)Hu3DData[var_r28].unk_120)->unk_48, var_r29 = 0; var_r29 < 0xC8; var_r29++, var_r27++) { - var_r27->unk2C = 0.0f; - var_r27->unk40.a = 0; - var_r27->unk00 = 0; - } - object->model[9] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M433, 2)); - Hu3DModelScaleSet(object->model[9], 1.05f, 1.05f, 1.05f); - Hu3DModelAttrSet(object->model[9], HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(object->model[9], 1); - Hu3DModelShadowSet(object->model[9]); - for (var_r29 = 1; var_r29 < 0x15; var_r29++) { - if (var_r29 == 0xA) { - object->model[var_r29 + 9] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M433, 1)); - } - else { - object->model[var_r29 + 9] = Hu3DModelLink(object->model[9]); - Hu3DModelLayerSet(object->model[var_r29 + 9], 1); - } - Hu3DModelShadowSet(object->model[var_r29 + 9]); - Hu3DModelScaleSet(object->model[var_r29 + 9], 1.05f, 1.05f, 1.05f); - Hu3DModelAttrSet(object->model[var_r29 + 9], HU3D_ATTR_DISPOFF); - } - object->trans.x = work->unk_30.x = 0.0f; - object->trans.y = work->unk_30.y = 0.0f; - object->trans.z = work->unk_30.z = 0.0f; - work->unk_B8 = 0.0f; - work->unk_BC.x = work->unk_BC.y = 0.0f; - work->unk_BC.z = 1.0f; - MTXIdentity(work->unk_C8); - work->unk_18 = 0; - object->func = fn_1_C240; -} - -void fn_1_C240(omObjData *object) -{ - s32 var_r29; - - M433PlayerWork2 *work = object->data; - s32 sp8 = 0; - work->unk_00 = 0; - switch (work->unk_18) { - case 0: - work->unk_04 = 1; - break; - case 1: - work->unk_B8 = 0.0f; - work->unk_BC.x = work->unk_BC.y = 0.0f; - work->unk_BC.z = 1.0f; - MTXIdentity(work->unk_C8); - work->unk_00 = 1; - break; - case 10: - work->unk_00 = 1; - break; - } - work->unk_8C++; - if (work->unk_90 != 0) { - work->unk_A0 = 1.0f; - if (work->unk_94 == 2) { - work->unk_A4 += 12.000001f; - if (work->unk_A4 >= 360.0f) { - work->unk_A4 -= 360.0f; - } - work->unk_A0 = 1.5f; - work->unk_A8 += 0.015000001f; - Hu3DMotionSpeedSet(object->model[3], 2.5f); - } - else { - Hu3DMotionTimeSet(object->model[3], 0.0f); - Hu3DMotionSpeedSet(object->model[3], 0.0f); - } - Hu3DModelRotSet(object->model[3], 0.0f, work->unk_A4, 0.0f); - Hu3DModelAttrReset(object->model[3], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(object->model[3], work->unk_AC.x, 3.0f + work->unk_AC.y, work->unk_AC.z); - work->unk_98++; - work->unk_90 = 0; - } - else if (work->unk_94 != 0) { - work->unk_94 = 0; - work->unk_A0 = 0.0f; - } - work->unk_9C = work->unk_9C + (0.2f * (work->unk_A0 - work->unk_9C)); - Hu3DModelScaleSet(object->model[3], work->unk_9C, 1.0f, work->unk_9C); - if ((work->unk_A0 <= 0.0f) && (work->unk_9C < 0.1f)) { - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); - work->unk_9C = 0.0f; - } - for (var_r29 = 0; var_r29 < 2; var_r29++) { - work->unk_7C[var_r29] += (0.3f * (work->unk_84[var_r29] - work->unk_7C[var_r29])); - if (work->unk_84[var_r29] > 0.0f) { - Hu3DModelAttrReset(object->model[var_r29 + 1], HU3D_ATTR_DISPOFF); - } - else if (work->unk_7C[var_r29] < 0.1f) { - Hu3DModelAttrSet(object->model[var_r29 + 1], HU3D_ATTR_DISPOFF); - } - Hu3DModelScaleSet(object->model[var_r29 + 1], work->unk_7C[var_r29], 1.0f, work->unk_7C[var_r29]); - } - fn_1_C6B0(object); - fn_1_CB98(object); - object->trans.x = work->unk_30.x; - object->trans.y = work->unk_30.y; - object->trans.z = work->unk_30.z; - if ((fn_1_216C() >= 3) && (work->unk_04 != 0) && (fn_1_2244() != 0)) { - fn_1_DD70(&work->unk_30); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - object->func = fn_1_C6AC; - } -} - -void fn_1_C6AC(omObjData *object) { } - -s32 fn_1_C6B0(omObjData *object) -{ - Mtx sp14; - Vec sp8; - M433PlayerWork3 *var_r29; - s32 var_r28; - - M433PlayerWork2 *work = object->data; - if ((work->unk_00 == 0) && (work->unk_04 == 0) && (work->unk_08 == 0)) { - if (work->unk_10 == 0) { - fn_1_CDB8(&work->unk_F8, &work->unk_30, &work->unk_3C, work->unk_6C, work->unk_A8); - fn_1_D338(&work->unk_F8); - fn_1_D180(&work->unk_F8); - work->unk_B8 = work->unk_A8 * (8.0f * lbl_1_data_48C[work->unk_6C]); - VECSubtract(&work->unk_3C, &work->unk_30, &sp8); - sp8.y = 0.0f; - if (VECMag(&sp8) <= 0.0f) { - work->unk_BC.x = work->unk_BC.y = 0.0f; - work->unk_BC.z = 1.0f; - } - else { - VECNormalize(&sp8, &sp8); - work->unk_BC.x = -sp8.z; - work->unk_BC.y = 0.0f; - work->unk_BC.z = sp8.x; - } - work->unk_48 = 0.0f; - var_r28 = 0; - if (work->unk_84[0] > 0.0f) { - var_r28++; - } - Hu3DModelPosSet(object->model[var_r28 + 1], work->unk_F8.unk_38.x, 3.0f + work->unk_F8.unk_38.y, work->unk_F8.unk_38.z); - if (work->unk_9C <= 0.0f) { - work->unk_8C = 9; - } - if (lbl_1_data_468[work->unk_6C] != 0) { - work->unk_84[var_r28] = 1.0f; - } - work->unk_84[1 - var_r28] = 0.0f; - } - work->unk_10 = 1; - if (work->unk_B8 != 0.0f) { - MTXRotAxisRad(sp14, &work->unk_BC, 0.017453292f * work->unk_B8); - MTXConcat(sp14, work->unk_C8, work->unk_C8); - MTXCopy(work->unk_C8, Hu3DData[object->model[0]].unk_F0); - } - work->unk_48 += 0.016666668f; - work->unk_08 = fn_1_D4E0(&work->unk_F8, &work->unk_30, &work->unk_4C, work->unk_48); - if (work->unk_08 != 0) { - work->unk_84[0] = work->unk_84[1] = 0.0f; - if (work->unk_30.y <= 12.0f) { - var_r29 = lbl_1_bss_7C8->data; - work->unk_78 = 0; - Hu3DModelPosSetV(object->model[4], &work->unk_30); - Hu3DMotionTimeSet(object->model[4], 0.0f); - if ((work->unk_6C == 5) || (work->unk_6C == 2)) { - Hu3DMotionSpeedSet(object->model[4], 1.5f); - fn_1_D888(&work->unk_30, 1.0f); - } - else { - Hu3DMotionSpeedSet(object->model[4], 1.0f); - fn_1_D888(&work->unk_30, 0.5f); - work->unk_30.y += 11.0f; - } - work->unk_6C = 0; - work->unk_04 = 1; - var_r29->unk_2C = 1; - var_r29->sGroundGrp = -1; - if (fabs(work->unk_30.z) < 350.0) { - if (fabs(work->unk_30.x) < 700.0) { - var_r29->sGroundGrp = 0; - if (work->unk_30.x >= 0.0f) { - var_r29->sGroundGrp = 1; - } - } - } - } - } - } - else { - work->unk_10 = 0; - } - return work->unk_08; -} - -void fn_1_CB98(omObjData *object) -{ - Mtx sp50; - Mtx sp20; - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - s32 var_r29; - - M433PlayerWork2 *work = object->data; - if (work->unk_78 != 0) { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - var_f30 = work->unk_F8.unk_04; - var_f29 = var_f30; - var_f31 = var_f29 - (0.020000001f * work->unk_A8); - if (var_f31 < 0.0f) { - var_f31 = 0.0f; - } - var_f31 = (var_f30 - var_f31) / 21.0f; - MTXCopy(work->unk_C8, sp20); - var_f28 = (work->unk_B8 * (1.2f * work->unk_A8)) / 21.0f; - MTXRotAxisRad(sp50, &work->unk_BC, MTXDegToRad(-var_f28)); - for (var_r29 = 0; var_r29 < 0x15; var_r29++) { - Hu3DModelAttrReset(object->model[var_r29 + 9], HU3D_ATTR_DISPOFF); - fn_1_D4E0(&work->unk_F8, &sp14, &sp8, var_f30); - Hu3DModelPosSetV(object->model[var_r29 + 9], &sp14); - MTXCopy(sp20, Hu3DData[object->model[var_r29 + 9]].unk_F0); - MTXConcat(sp50, sp20, sp20); - var_f30 -= var_f31; - } - work->unk_F8.unk_04 = var_f29; - return; - } - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - for (var_r29 = 0; var_r29 < 0x15; var_r29++) { - Hu3DModelAttrSet(object->model[var_r29 + 9], HU3D_ATTR_DISPOFF); - } -} - -void fn_1_CDB8(M433PlayerWork2Sub *arg0, Vec *arg1, Vec *arg2, u32 arg3, float arg8) -{ - Vec sp18; - Vec spC; - float var_f31; - float var_f30; - float var_f29; - - arg0->unk_0C = 0.0f; - arg0->unk_08 = 0.0f; - var_f31 = lbl_1_data_4D4[arg3].y; - arg0->unk_00 = var_f31; - if (arg0->unk_00 <= 0.0f) { - if (((arg2->x * arg1->x) < 0.0f) && (arg1->x != 0.0f) && (lbl_1_data_4D4[arg3].x > 0.0f)) { - arg0->unk_0C = lbl_1_data_4D4[arg3].x; - arg0->unk_08 = fabs(arg1->x / (arg2->x - arg1->x)); - var_f29 = arg1->y + (arg0->unk_08 * (arg2->y - arg1->y)); - if (var_f29 < arg0->unk_0C) { - spC.x = arg1->x + (arg0->unk_08 * (arg2->x - arg1->x)); - spC.y = arg0->unk_0C; - spC.z = arg1->z + (arg0->unk_08 * (arg2->z - arg1->z)); - VECSubtract(arg2, &spC, &sp18); - var_f30 = VECMag(&sp18); - VECSubtract(&spC, arg1, &sp18); - var_f30 += VECMag(&sp18); - } - else { - VECSubtract(arg2, arg1, &sp18); - var_f30 = VECMag(&sp18); - } - } - else { - VECSubtract(arg2, arg1, &sp18); - var_f30 = VECMag(&sp18); - } - var_f31 = var_f30 / (arg8 * lbl_1_data_4D4[arg3].z); - arg0->unk_00 = var_f31; - } - arg0->unk_04 = 0.0f; - arg0->unk_2C = *arg1; - arg0->unk_38 = *arg2; - arg0->unk_1C = arg2->y - arg1->y; - arg0->unk_24 = -980.0f; - VECSubtract(arg2, arg1, &sp18); - sp18.y = 0.0f; - arg0->unk_10 = VECMag(&sp18); - arg0->unk_18 = 0.0f; - if (var_f31 > 0.0f) { - arg0->unk_20 = (arg0->unk_1C - (0.5f * (-980.0f * (var_f31 * var_f31)))) / var_f31; - arg0->unk_14 = arg0->unk_10 / var_f31; - } - else { - arg0->unk_20 = arg0->unk_1C; - arg0->unk_14 = arg0->unk_10; - } - arg0->unk_28 = lbl_1_data_540[arg3]; -} - -void fn_1_D180(M433PlayerWork2Sub *arg0) -{ - float sp8; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - float var_f25; - s32 var_r31; - - if (!(arg0->unk_0C <= 0.0f)) { - var_f31 = arg0->unk_00; - var_f28 = arg0->unk_00; - var_f27 = 10.0f * arg0->unk_00; - for (var_r31 = 0; var_r31 < 0x10; var_r31++) { - var_f30 = 1.0f / var_f31; - sp8 = arg0->unk_10 * var_f30; - var_f26 = (arg0->unk_1C * var_f30) - (0.5f * arg0->unk_24 * var_f31); - var_f29 = arg0->unk_08 * var_f31; - var_f25 = arg0->unk_2C.y + ((var_f29 * (0.5f * arg0->unk_24 * var_f29)) + (var_f26 * var_f29)); - if (arg0->unk_0C > var_f25) { - var_f28 = var_f31; - } - else { - var_f27 = var_f31; - } - var_f31 = 0.5f * (var_f28 + var_f27); - } - var_f30 = 1.0f / var_f31; - arg0->unk_00 = var_f31; - arg0->unk_14 = arg0->unk_10 * var_f30; - arg0->unk_20 = (arg0->unk_1C * var_f30) - (0.5f * arg0->unk_24 * var_f31); - } -} - -void fn_1_D338(M433PlayerWork2Sub *arg0) -{ - float sp8; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - float var_f25; - s32 var_r31; - - if (!(arg0->unk_0C <= 0.0f)) { - var_f29 = arg0->unk_08 * arg0->unk_00; - var_f30 = 1.0f / arg0->unk_00; - var_f31 = arg0->unk_24; - var_f28 = arg0->unk_24; - var_f27 = arg0->unk_24 * arg0->unk_28; - for (var_r31 = 0; var_r31 < 0x10; var_r31++) { - sp8 = arg0->unk_10 * var_f30; - var_f26 = (arg0->unk_1C * var_f30) - (0.5f * var_f31 * arg0->unk_00); - var_f25 = arg0->unk_2C.y + ((var_f29 * (0.5f * var_f31 * var_f29)) + (var_f26 * var_f29)); - if (arg0->unk_0C > var_f25) { - var_f28 = var_f31; - } - else { - var_f27 = var_f31; - } - var_f31 = 0.5f * (var_f28 + var_f27); - } - arg0->unk_24 = var_f31; - arg0->unk_14 = arg0->unk_10 * var_f30; - arg0->unk_20 = (arg0->unk_1C * var_f30) - (0.5f * arg0->unk_24 * arg0->unk_00); - } -} - -s32 fn_1_D4E0(M433PlayerWork2Sub *arg0, Vec *arg1, Vec *arg2, float arg8) -{ - Vec sp18; - Vec spC; - float var_f30; - float var_f29; - - if (arg8 < 0.0f) { - arg8 = 0.0f; - } - if (arg8 > arg0->unk_00) { - arg8 = arg0->unk_00; - } - arg0->unk_04 = arg8; - if (arg0->unk_10 > 0.0f) { - VECSubtract(&arg0->unk_38, &arg0->unk_2C, &spC); - spC.y = 0.0f; - VECNormalize(&spC, &spC); - } - else { - spC.x = spC.y = spC.z = 0.0f; - } - sp18 = *arg1; - var_f30 = (arg8 * (0.5f * arg0->unk_18 * arg8)) + (arg0->unk_14 * arg8); - var_f29 = (arg8 * (0.5f * arg0->unk_24 * arg8)) + (arg0->unk_20 * arg8); - arg1->x = arg0->unk_2C.x + (spC.x * var_f30); - arg1->y = arg0->unk_2C.y + var_f29; - arg1->z = arg0->unk_2C.z + (spC.z * var_f30); - VECSubtract(arg1, &sp18, arg2); - if (arg8 >= arg0->unk_00) { - return 1; - } - return 0; -} - -void fn_1_D6A8(ModelData *model, ParticleData *particle, Mtx matrix) -{ - HsfanimStruct01 *var_r31; - s32 var_r29; - - for (var_r31 = particle->unk_48, var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - if (var_r31->unk00 != 0) { - VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); - var_r31->unk08.x *= 0.92f; - var_r31->unk08.z *= 0.92f; - var_r31->unk08.y += -0.27222225f; - var_r31->unk2C += 2.0f; - var_r31->unk40.a *= 0.99f; - if (var_r31->unk00 < 24.0f) { - var_r31->unk40.a = 0.9f * var_r31->unk40.a; - } - if (--var_r31->unk00 == 0) { - var_r31->unk00 = 0; - var_r31->unk2C = 0.0f; - var_r31->unk40.a = 0; - } - } - } - DCStoreRange(particle->unk_48, particle->unk_30 * 0x44); -} - -void fn_1_D888(Vec *arg0, float arg8) -{ - Vec sp8; - float var_f31; - float var_f30; - HsfanimStruct01 *var_r31; - s32 var_r29; - u32 var_r28; - - var_r31 = ((ParticleData *)Hu3DData[lbl_1_bss_7CC->model[5]].unk_120)->unk_48; - var_r28 = 3.0f + (12.0f * arg8); - for (var_r29 = 0; var_r29 < 0xC8; var_r29++, var_r31++) { - if (var_r31->unk00 == 0) { - var_r31->unk00 = 60.0f * (0.6f + (0.0006f * frandmod(0x3E8))); - var_f30 = frandmod(0x168); - sp8.x = sind(var_f30); - sp8.y = 0.0f; - sp8.z = cosd(var_f30); - var_f31 = 0.030000001f * frandmod(0x3E8); - var_r31->unk34.x = arg0->x + (sp8.x * var_f31); - var_r31->unk34.y = 10.0f + (arg0->y + (0.030000001f * frandmod(0x3E8))); - var_r31->unk34.z = arg0->z + (sp8.z * var_f31); - var_f31 = 0.8333334f + (0.0016666667f * frandmod(0x3E8)); - var_f31 *= 1.0f + arg8; - var_r31->unk08.x = sp8.x * var_f31; - var_r31->unk08.z = sp8.z * var_f31; - var_r31->unk08.y = 0.50000006f + (0.0011666667f * frandmod(0x3E8)); - var_r31->unk08.y *= (1.0f + arg8); - var_r31->unk30 = frandmod(0x168); - var_r31->unk2C = 60.0f + frandmod(0x1E); - var_r31->unk40.a = frandmod(0x64) + 0x78; - var_f31 = 0.001f * frandmod(0x3E8); - var_r31->unk40.r = 235.0f + (20.0f * var_f31); - var_r31->unk40.g = 180.0f + (75.0f * var_f31); - var_r31->unk40.b = 155.0f + (100.0f * var_f31); - if (--var_r28 < 1) { - break; - } - } - } -} - -void fn_1_DD70(Vec *arg0) -{ - HsfanimStruct01 *var_r30; - - ParticleData *var_r31 = Hu3DData[lbl_1_bss_7CC->model[8]].unk_120; - Hu3DModelAttrReset(lbl_1_bss_7CC->model[8], HU3D_ATTR_DISPOFF); - var_r30 = var_r31->unk_48; - var_r31->unk_00 = 0; - var_r31->unk_02 = 0x3C; - var_r30->unk2C = 100.0f; - var_r30->unk34 = *arg0; -} - -void fn_1_DE28(ModelData *var_r27, ParticleData *var_r31, Mtx matrix) -{ - HsfanimStruct01 *var_r30; - s32 var_r29; - s8 var_r28; - - if (var_r31->unk_00 == 0) { - var_r31->unk_00 = 1; - for (var_r30 = (HsfanimStruct01 *)&var_r31->unk_48, var_r29 = 0; var_r29 < var_r31->unk_30; var_r29++, var_r30++) { - var_r30->unk2C = 0.0f; - } - } - var_r28 = 0.016666668f * (var_r31->unk_02 * 0xFF); - for (var_r30 = var_r31->unk_48, var_r29 = 0; var_r29 < var_r31->unk_30; var_r29++, var_r30++) { - var_r30->unk40.a = var_r28; - } - if (--var_r31->unk_02 == 0) { - var_r27->attr |= 1; - } - DCStoreRange(var_r31->unk_48, var_r31->unk_30 * sizeof(HsfanimStruct01)); -} - -void fn_1_DF44(omObjData *object) -{ - M433PlayerWork3 *work; - - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M433PlayerWork3), MEMORY_DEFAULT_NUM); - work = object->data; - memset(work, 0, sizeof(M433PlayerWork3)); - work->uGameEvent = 0; - work->sWinGrp = -1; - work->uServeGrp = 0; - work->auEvents[0] = work->auEvents[1] = 0; - work->unk_2C = work->unk_30 = 0; - fn_1_E5C0(work->unk_4C, &work->unk_64); - object->func = fn_1_E11C; -} - -void fn_1_DFE4(omObjData *var_r30) -{ - M433PlayerWork3 *work = var_r30->data; - OSReport("\n"); - OSReport("uGameEvent %d\n", work->uGameEvent); - OSReport("sWinGrp %d\n", work->sWinGrp); - OSReport("uServeGrp %d\n", work->uServeGrp); - OSReport("uPointGrp %d\n", work->uPointGrp); - OSReport("auServeCel[2] %d,%d\n", work->auServeCel[0], work->auServeCel[1]); - OSReport("auEvents[2] %d,%d\n", work->auEvents[0], work->auEvents[1]); - OSReport("uContactCnt %d\n", work->uContactCnt); - OSReport("sGroundGrp %d\n", work->sGroundGrp); - OSReport("uContactGrp %d\n", work->uContactGrp); - OSReport("sContactCel %d\n", work->uContactCel); - OSReport("uTargetGrp %d\n", work->uTargetGrp); - OSReport("\n"); -} - -void fn_1_E11C(omObjData *object) -{ - s32 spC[4]; - u32 var_r30; - s32 var_r29; - s32 var_r27; - s16 var_r26; - s16 var_r25; - - M433PlayerWork3 *work = object->data; - s32 sp8 = 0; - s32 var_r28 = 0; - work->unk_28++; - work->unk_4C[0].unk_00 = work->unk_20[0]; - work->unk_4C[1].unk_00 = work->unk_20[1]; - if (fn_1_216C() >= 2) { - fn_1_ECFC(work->unk_4C, &work->unk_64); - } - switch (work->uGameEvent) { - case 0: - work->uContactCnt = 0; - work->uContactCel = -1; - if (work->unk_28 == 0xC) { - fn_1_58D8(1); - } - if ((work->unk_28 >= 30.0f) && (fn_1_216C() >= 2)) { - work->uGameEvent = 1; - work->unk_28 = 0; - work->auEvents[0] = work->auEvents[1] = 1; - } - break; - case 1: - if (work->unk_30 != 0) { - work->unk_48 = 0; - work->uContactCel = -1; - work->uContactCnt = 0; - work->uGameEvent = 2; - work->unk_28 = 0; - work->auEvents[0] = work->auEvents[1] = 3; - if (work->uTargetGrp != 0) { - var_r26 = 5; - } - else { - var_r26 = 6; - } - fn_1_58D8(var_r26); - } - break; - case 2: - case 5: - if (work->unk_30 != 0) { - if (work->uContactCnt != 0) { - work->unk_48++; - work->uGameEvent = 3; - work->auEvents[work->uContactGrp] = 4; - if ((work->unk_48 >= 6) && ((work->unk_48 % 3) == 0)) { - fn_1_58D8(3); - } - } - work->unk_28 = 0; - } - var_r28 = 1; - break; - case 3: - case 4: - if (work->unk_30 != 0) { - if (work->uContactGrp == work->uTargetGrp) { - work->uGameEvent = 4; - work->auEvents[work->uContactGrp] = 5; - } - else { - work->uContactCel = -1; - work->uContactCnt = 0; - work->uGameEvent = 5; - work->auEvents[work->uContactGrp] = 3; - if (work->uTargetGrp != 0) { - var_r25 = 5; - } - else { - var_r25 = 6; - } - fn_1_58D8(var_r25); - } - work->unk_28 = 0; - } - var_r28 = 1; - break; - case 6: - if (work->unk_28 >= 120.0f) { - work->uGameEvent = 0; - work->unk_28 = 0; - work->auEvents[0] = work->auEvents[1] = 0; - } - break; - case 7: - break; - } - if ((work->unk_2C != 0) && (var_r28 != 0)) { - if (work->sGroundGrp >= 0) { - var_r30 = 1 - work->sGroundGrp; - fn_1_58D8(1); - } - else { - var_r30 = 1 - work->uContactGrp; - fn_1_58D8(2); - } - work->uPointGrp = var_r30; - work->unk_20[var_r30]++; - if (work->uServeGrp != var_r30) { - work->uServeGrp = var_r30; - work->auServeCel[work->uServeGrp] = 1 - work->auServeCel[work->uServeGrp]; - } - if (work->unk_20[var_r30] >= 5) { - work->sWinGrp = var_r30; - work->uGameEvent = 7; - work->auEvents[0] = work->auEvents[1] = 7; - var_r27 = 0; - for (var_r29 = 0; var_r29 < 4; var_r29++) { - spC[var_r29] = -1; - if (work->sWinGrp == OM_GET_DATA_PTR(lbl_1_bss_7D0[var_r29], M433PlayerWork)->unk_14) { - spC[var_r27++] = lbl_1_bss_7D0[var_r29]->work[0]; - } - } - fn_1_219C(1, spC[0], spC[1]); - fn_1_21E4(4); - } - else { - work->uGameEvent = 6; - work->auEvents[0] = work->auEvents[1] = 6; - fn_1_FE64(&work->unk_64, work->unk_20[0], work->unk_20[1], var_r30); - HuAudFXPlay(0x16); - } - work->unk_28 = 0; - } - work->unk_2C = 0; - work->unk_30 = 0; -} - -u16 lbl_1_data_674[6] = { 0, 1, 2, 3, 3, 0 }; -s32 lbl_1_data_680[2] = { 0x61001E, 0x61001F }; -Vec2f lbl_1_data_688[5] = { - { 0.0f, 0.0f }, - { 0.0f, 0.0f }, - { -23.0f, 0.0f }, - { 1.0f, 0.0f }, - { 21.0f, 0.0f }, -}; -Vec2f lbl_1_data_6B0[2] = { { 72.0f, 56.0f }, { 504.0f, 56.0f } }; -s32 lbl_1_data_6C0[0xB][4] = { - { 0x13000B, 0, 0, 0 }, - { 0x13000C, 0, 0, 0 }, - { 0x13000D, 0, 0, 0 }, - { 0x13000E, 0, 0, 0 }, - { 0x13000F, 0, 0, 0 }, - { 0x130010, 0, 0, 0 }, - { 0x130011, 0, 0, 0 }, - { 0x130012, 0, 0, 0 }, - { 0x130013, 0, 0, 0 }, - { 0x130014, 0, 0, 0 }, - { 0x130099, 0, 0, 0 }, -}; -s32 lbl_1_data_770[9] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; -M433DllPlayerData794Struct lbl_1_data_794[9] = { - { 0, 0, 0 }, - { 0, 0, 0 }, - { 1, 1, 0 }, - { 1, 0, 1 }, - { 1, 0, 1 }, - { 1, 1, 0 }, - { 1, 1, 0 }, - { 1, 0, 1 }, - { 1, 0, 1 }, -}; -u32 lbl_1_data_800[9] = { 0, 1, 2, 1, 1, 2, 1, 1, 1 }; - -void fn_1_E5C0(M433PlayerWork3Sub *arg0, M433PlayerWork3Sub2 *arg1) -{ - s32 var_r31; - s32 var_r28; - s32 var_r27; - - for (var_r28 = 0; var_r28 < 2; var_r28++, arg0++) { - for (var_r31 = 0; (u32)var_r31 < 5; var_r31++) { - switch (lbl_1_data_674[var_r31]) { - case 0: - arg0->unk_02[var_r31] = espEntry(lbl_1_data_680[var_r28], 1, 0); - espPriSet(arg0->unk_02[var_r31], 0x100); - break; - case 1: - arg0->unk_02[var_r31] = espEntry(0x610020, 1, 0); - espPriSet(arg0->unk_02[var_r31], 0x101); - espColorSet(arg0->unk_02[var_r31], 0, 0, 0); - espTPLvlSet(arg0->unk_02[var_r31], 0.5); - break; - case 2: - arg0->unk_02[var_r31] = espEntry(DATA_MAKE_NUM(DATADIR_M433, 10), 1, 0); - espPriSet(arg0->unk_02[var_r31], 0xFF); - break; - case 3: - arg0->unk_02[var_r31] = espEntry(0x610033, 1, 0); - espPriSet(arg0->unk_02[var_r31], 0xFF); - break; - } - espDispOff(arg0->unk_02[var_r31]); - espDrawNoSet(arg0->unk_02[var_r31], 0); - espAttrSet(arg0->unk_02[var_r31], HUSPR_ATTR_NOANIM); - espAttrSet(arg0->unk_02[var_r31], HUSPR_ATTR_LINEAR); - espPosSet( - arg0->unk_02[var_r31], lbl_1_data_6B0[var_r28].x + lbl_1_data_688[var_r31].x, lbl_1_data_6B0[var_r28].y + lbl_1_data_688[var_r31].y); - } - } - HuDataDirClose(0x610000); - for (var_r28 = 0; var_r28 < 3; var_r28++) { - for (var_r31 = 0; var_r31 < 0x14; var_r31++) { - for (var_r27 = 0; var_r27 < 2; var_r27++) { - if (lbl_1_data_6C0[var_r31 % 10][var_r27] != 0) { - arg1->unk_D0[var_r28][var_r31].unk_00[var_r27] = espEntry(lbl_1_data_6C0[var_r31 % 10][var_r27], 2, 0); - espAttrSet(arg1->unk_D0[var_r28][var_r31].unk_00[var_r27], HUSPR_ATTR_LINEAR); - espDispOff(arg1->unk_D0[var_r28][var_r31].unk_00[var_r27]); - } - else { - arg1->unk_D0[var_r28][var_r31].unk_00[var_r27] = -1; - } - } - } - } - for (var_r27 = 0; var_r27 < 2; var_r27++) { - if (lbl_1_data_6C0[10][var_r27] != 0) { - arg1->unk_490.unk_00[var_r27] = espEntry(lbl_1_data_6C0[10][var_r27], 2, 0); - espAttrSet(arg1->unk_490.unk_00[var_r27], HUSPR_ATTR_LINEAR); - espDispOff(arg1->unk_490.unk_00[var_r27]); - } - else { - arg1->unk_490.unk_00[var_r27] = -1; - } - } - for (var_r28 = 0; var_r28 < 2; var_r28++) { - arg1->unk_20[var_r28].unk_00[0] = -1; - arg1->unk_20[var_r28].unk_00[1] = -1; - } - arg1->unk_20[2].unk_00[0] = -1; - arg1->unk_20[2].unk_00[1] = -1; - arg1->unk_20[3].unk_00[0] = -1; - arg1->unk_20[3].unk_00[1] = -1; - HuDataDirClose(lbl_1_data_6C0[0][0]); -} - -void fn_1_EA8C(M433PlayerWork3Sub2Sub *var_r31) -{ - float var_f31; - float var_f30; - s32 var_r30; - - for (var_r30 = 0; var_r30 < 2; var_r30++) { - if (var_r31->unk_00[var_r30] >= 0) { - espDispOn(var_r31->unk_00[var_r30]); - var_f31 = (var_r31->unk_04[var_r30] * var_r31->unk_1C) * cosd(var_r31->unk_28); - var_f30 = (var_r31->unk_04[var_r30] * var_r31->unk_1C) * sind(var_r31->unk_28); - espPosSet(var_r31->unk_00[var_r30], var_r31->unk_0C + var_f31, var_r31->unk_10 + var_f30); - espZRotSet(var_r31->unk_00[var_r30], var_r31->unk_28); - espScaleSet(var_r31->unk_00[var_r30], var_r31->unk_1C, var_r31->unk_20); - espTPLvlSet(var_r31->unk_00[var_r30], var_r31->unk_24); - } - } -} - -void fn_1_EBE4(M433PlayerWork3Sub2Sub2 *arg0, M433PlayerWork3Sub2Sub *arg1, u32 arg2) -{ - u32 var_r31; - u32 var_r30; - - var_r31 = arg2 % 10; - var_r30 = arg2 / 10; - if (var_r30 == 0) { - arg1->unk_00[0] = arg0[var_r31].unk_00[0]; - arg1->unk_00[1] = -1; - arg1->unk_04[0] = 0.0f; - } - else { - arg1->unk_00[0] = arg0[var_r30 + 0xA].unk_00[0]; - arg1->unk_00[1] = arg0[var_r31].unk_00[0]; - arg1->unk_04[0] = -23.039999f; - arg1->unk_04[1] = 23.039999f; - } - arg1->unk_0C = arg1->unk_10 = 0.0f; - arg1->unk_14 = arg1->unk_18 = 0.0f; - arg1->unk_1C = arg1->unk_20 = 1.5f; - arg1->unk_24 = 1.0f; - arg1->unk_28 = 0.0f; -} - -void fn_1_ECFC(M433PlayerWork3Sub *arg0, M433PlayerWork3Sub2 *arg1) -{ - float var_f31; - float var_f30; - float var_f29; - float var_f28; - M433PlayerWork3Sub2Sub *var_r30; - M433PlayerWork3Sub2Sub2 *var_r29; - s32 var_r28; - s32 var_r22; - - for (var_r28 = 0; var_r28 < 2; var_r28++, arg0++) { - for (var_r22 = 0; var_r22 < 5; var_r22++) { - espDispOn(arg0->unk_02[var_r22]); - } - espBankSet(arg0->unk_02[3], arg0->unk_00 / 10); - espBankSet(arg0->unk_02[4], arg0->unk_00 % 10); - } - var_f28 = 2.88f; - if (arg1->unk_1C == 0) { - var_r30 = arg1->unk_20; - } - else { - var_r30 = &arg1->unk_20[1]; - var_f28 *= -1.0f; - } - switch (arg1->unk_00) { - case 0: - break; - case 1: - fn_1_EBE4(&arg1->unk_D0[0][0], &arg1->unk_20[0], arg1->unk_0C); - fn_1_EBE4(&arg1->unk_D0[1][0], &arg1->unk_20[1], arg1->unk_10); - fn_1_EBE4(&arg1->unk_490, &arg1->unk_20[2], 0); - fn_1_EBE4(&arg1->unk_D0[2][0], &arg1->unk_20[3], arg1->unk_14[arg1->unk_1C]); - - var_f30 = -48.0f; - arg1->unk_20[0].unk_0C = 172.8f; - arg1->unk_20[0].unk_10 = 360.0f - var_f30; - arg1->unk_20[1].unk_0C = 403.19998f; - arg1->unk_20[1].unk_10 = 360.0f - var_f30; - arg1->unk_20[2].unk_0C = 288.0f; - arg1->unk_20[2].unk_10 = 360.0f - var_f30; - arg1->unk_20[0].unk_24 = arg1->unk_20[1].unk_24 = arg1->unk_20[2].unk_24 = 0.0f; - var_f30 = var_f30 / 19.199999f; - arg1->unk_20[0].unk_18 = var_f30; - arg1->unk_20[1].unk_18 = var_f30; - arg1->unk_20[2].unk_18 = var_f30; - arg1->unk_20[3].unk_0C = 806.39996f; - arg1->unk_20[3].unk_10 = 144.0f; - arg1->unk_20[3].unk_1C += 0.5f; - arg1->unk_20[3].unk_20 -= 0.5f; - arg1->unk_20[3].unk_14 = (403.19998f - arg1->unk_20[3].unk_0C) / 24.0f; - arg1->unk_20[3].unk_18 = (360.0f - arg1->unk_20[3].unk_10) / 24.0f; - if (arg1->unk_1C == 0) { - arg1->unk_20[3].unk_0C = -230.40001f; - arg1->unk_20[3].unk_14 *= -1.0f; - } - arg1->unk_00++; - arg1->unk_04 = 0; - break; - case 2: - var_f31 = arg1->unk_20[0].unk_24; - var_f31 += 0.055555556f; - if (var_f31 > 0.95f) { - var_f31 = 1.0f; - } - arg1->unk_20[2].unk_24 = var_f31; - arg1->unk_20[1].unk_24 = var_f31; - arg1->unk_20[0].unk_24 = var_f31; - arg1->unk_20[0].unk_10 += arg1->unk_20[0].unk_18; - arg1->unk_20[1].unk_10 += arg1->unk_20[1].unk_18; - arg1->unk_20[2].unk_10 += arg1->unk_20[2].unk_18; - arg1->unk_20[3].unk_0C += arg1->unk_20[3].unk_14; - arg1->unk_20[3].unk_10 += arg1->unk_20[3].unk_18; - if (arg1->unk_04 >= 19.199999f) { - var_r30->unk_14 = var_f28; - var_r30->unk_18 = -16.0f; - arg1->unk_00++; - arg1->unk_08 = 0; - } - break; - case 3: - if (arg1->unk_04 <= 24.0f) { - arg1->unk_20[3].unk_0C += arg1->unk_20[3].unk_14; - arg1->unk_20[3].unk_10 += arg1->unk_20[3].unk_18; - } - if (arg1->unk_08 < 24.0f) { - arg1->unk_08++; - var_f31 = 33.75f * arg1->unk_08; - var_f29 = 0.041666668f * arg1->unk_08; - var_f29 = 0.5f * (1.0f - (var_f29 * var_f29)); - if (arg1->unk_08 == 24.0f) { - var_f29 = 0.0f; - } - arg1->unk_20[3].unk_1C = 1.5 + (var_f29 * cosd(var_f31)); - arg1->unk_20[3].unk_20 = 1.5 + (var_f29 * sind((var_f31 - 90.0f))); - } - var_r30->unk_1C = arg1->unk_20[3].unk_20; - var_r30->unk_20 = arg1->unk_20[3].unk_1C; - var_r30->unk_0C += var_r30->unk_14; - var_r30->unk_10 += var_r30->unk_18; - var_r30->unk_18 += 0.80000013f; - var_r30->unk_28 += 8.333334f; - var_r30->unk_24 -= 0.017833335f; - if (var_r30->unk_24 < 0.0f) { - var_r30->unk_24 = 0.0f; - } - if (fn_1_10EA4() == 0) { - arg1->unk_00++; - arg1->unk_04 = 0; - } - break; - case 4: - var_f31 = arg1->unk_20[3].unk_24; - var_f31 -= 0.055555556f; - if (var_f31 < 0.05f) { - var_f31 = 0.0f; - arg1->unk_00++; - arg1->unk_04 = 0; - } - arg1->unk_20[3].unk_24 = var_f31; - arg1->unk_20[2].unk_24 = var_f31; - arg1->unk_20[1].unk_24 = var_f31; - arg1->unk_20[0].unk_24 = var_f31; - break; - default: - for (var_r28 = 0; var_r28 < 2; var_r28++) { - arg1->unk_20[var_r28].unk_00[0] = -1; - arg1->unk_20[var_r28].unk_00[1] = -1; - } - arg1->unk_20[2].unk_00[0] = -1; - arg1->unk_20[2].unk_00[1] = -1; - arg1->unk_20[3].unk_00[0] = -1; - arg1->unk_20[3].unk_00[1] = -1; - arg1->unk_00 = 0; - break; - } - for (var_r28 = 0; var_r28 < 3; var_r28++) { - var_r29 = &arg1->unk_D0[var_r28][0]; - for (var_r22 = 0; var_r22 < 0x14; var_r22++, var_r29++) { - if (var_r29->unk_00[0] >= 0) { - espDispOff(var_r29->unk_00[0]); - } - if (var_r29->unk_00[1] >= 0) { - espDispOff(var_r29->unk_00[1]); - } - } - } - var_r29 = &arg1->unk_490; - if (var_r29->unk_00[0] >= 0) { - espDispOff(var_r29->unk_00[0]); - } - if (var_r29->unk_00[1] >= 0) { - espDispOff(var_r29->unk_00[1]); - } - fn_1_EA8C(&arg1->unk_20[0]); - fn_1_EA8C(&arg1->unk_20[1]); - fn_1_EA8C(&arg1->unk_20[2]); - fn_1_EA8C(&arg1->unk_20[3]); - arg1->unk_04++; -} - -void fn_1_FE64(M433PlayerWork3Sub2 *arg0, s32 arg1, s32 arg2, u32 arg3) -{ - arg0->unk_00 = 1; - arg0->unk_0C = arg0->unk_14[0]; - arg0->unk_10 = arg0->unk_14[1]; - arg0->unk_14[0] = arg1; - arg0->unk_14[1] = arg2; - arg0->unk_1C = arg3; -} - -void fn_1_FE8C(Vec *arg0, u32 arg1, u32 arg2, s32 arg3) -{ - M433PlayerWork2 *var_r31 = lbl_1_bss_7CC->data; - var_r31->unk_18 = 0; - if (arg1 < 9) { - var_r31->unk_18 = lbl_1_data_770[arg1]; - if (lbl_1_data_794[arg1].unk_00 != 0) { - M433PlayerWork3 *var_r30 = lbl_1_bss_7C8->data; - var_r30->unk_30 = 1; - var_r30->uContactGrp = arg2; - var_r30->uContactCel = arg3; - var_r30->uTargetGrp = arg2; - if (lbl_1_data_794[arg1].unk_04 != 0) { - var_r30->uTargetGrp = 1 - var_r30->uTargetGrp; - } - if (lbl_1_data_794[arg1].unk_08 != 0) { - var_r30->uContactCnt++; - } - } - } - if (arg1 == 5) { - s32 var_r28 = 6; - if (var_r31->unk_6C == 5) { - var_r28++; - } - Hu3DModelPosSetV(lbl_1_bss_7CC->model[var_r28], &var_r31->unk_30); - Hu3DModelAttrReset(lbl_1_bss_7CC->model[var_r28], HU3D_ATTR_DISPOFF); - Hu3DMotionTimeSet(lbl_1_bss_7CC->model[var_r28], 0.0f); - Hu3DMotionShapeTimeSet(lbl_1_bss_7CC->model[var_r28], 0.0f); - } - else if (arg1 != 2) { - var_r31->unk_A8 = 1.0f; - } - var_r31->unk_0C = 1; - var_r31->unk_10 = 0; - var_r31->unk_04 = 0; - var_r31->unk_08 = 0; - var_r31->unk_6C = arg1; - var_r31->unk_70 = arg2; - var_r31->unk_74 = arg3; - if (lbl_1_data_800[arg1] != 0) { - var_r31->unk_78 = lbl_1_data_800[arg1]; - } - else if (var_r31->unk_78 != 0) { - var_r31->unk_78--; - } - var_r31->unk_3C = *arg0; - if (arg1 == 0) { - var_r31->unk_30 = var_r31->unk_3C; - } - var_r31->unk_F8.unk_00 = 1.0f; - var_r31->unk_F8.unk_00 = 0.0f; -} - -void fn_1_10130(Vec *arg0, u32 arg1) -{ - float var_f31 = 44.0f; - if ((arg0->z - var_f31) < -500.0f) { - arg0->z = -500.0f + var_f31; - } - else if ((arg0->z + var_f31) > 500.0f) { - arg0->z = 500.0f - var_f31; - } - if (arg1 == 0) { - arg0->x *= -1.0f; - } - if ((arg0->x - var_f31) < 20.0f) { - arg0->x = 20.0f + var_f31; - } - else if ((arg0->x + var_f31) > 800.0f) { - arg0->x = 800.0f - var_f31; - } - if (arg1 == 0) { - arg0->x *= -1.0f; - } -} - -void fn_1_10260(float var_f29, float var_f30, u32 var_r30, u32 sp8, Vec *var_r29) -{ - M433PlayerWork2 *var_r31 = lbl_1_bss_7CC->data; - if (var_f30 > 1.0f) { - var_f30 = 1.0f; - } - if (var_r31->unk_94 == 0) { - var_r31->unk_AC.x = 465.0f; - var_r31->unk_AC.y = 11.0f; - var_r31->unk_AC.z = 0.0f; - if (var_r30 != 0) { - var_r31->unk_AC.x *= -1.0f; - } - var_r31->unk_94 = 1; - var_r31->unk_98 = 0; - var_r31->unk_A4 = 0.0f; - var_r31->unk_8C = 0; - var_r31->unk_A8 = 1.0f; - } - if (sp8 != 0) { - var_r31->unk_94 = 2; - var_f30 *= 1.5f; - } - var_r31->unk_90 = 1; - var_r31->unk_AC.x += 0.01666666753590107 * (800.0 * (var_f30 * sind(var_f29))); - var_r31->unk_AC.z += 0.01666666753590107 * (800.0 * (var_f30 * cosd(var_f29))); - if (var_r30 != 0) { - var_r31->unk_AC.x *= -1.0f; - } - if (var_r31->unk_AC.x < 230.0f) { - var_r31->unk_AC.x = 230.0f; - } - if (var_r30 != 0) { - var_r31->unk_AC.x *= -1.0f; - } - fn_1_10130(&var_r31->unk_AC, 1 - var_r30); - *var_r29 = var_r31->unk_AC; -} - -s32 fn_1_10614(Vec *arg0) -{ - M433PlayerWork2 *work = lbl_1_bss_7CC->data; - - arg0->x = arg0->y = arg0->z = 0.0f; - if (work->unk_94 == 0) { - return 0; - } - *arg0 = work->unk_AC; - arg0->x = fabs(arg0->x); - arg0->x -= 465.0f; - arg0->x *= 0.004255319f; - arg0->z *= 0.0028571428f; - return 1; -} - -void fn_1_1070C(void) -{ - M433PlayerWork2 *work = lbl_1_bss_7CC->data; - work->unk_A8 = 1.0f; -} - -u32 fn_1_10740(Vec *arg0) -{ - u32 var_r30; - M433PlayerWork2 *work = lbl_1_bss_7CC->data; - *arg0 = work->unk_3C; - if (work->unk_3C.x >= 0.0f) { - var_r30 = 1; - } - else { - var_r30 = 0; - } - return var_r30; -} - -u32 fn_1_107B0(Vec *arg0) -{ - u32 var_r30; - M433PlayerWork2 *var_r31 = lbl_1_bss_7CC->data; - if (var_r31->unk_94 != 0) { - *arg0 = var_r31->unk_AC; - } - else { - *arg0 = var_r31->unk_3C; - } - if (arg0->x >= 0.0f) { - var_r30 = 1; - } - else { - var_r30 = 0; - } - return var_r30; -} - -float fn_1_10848(void) -{ - M433PlayerWork2 *var_r31 = lbl_1_bss_7CC->data; - return var_r31->unk_F8.unk_00 - var_r31->unk_F8.unk_04; -} - -float fn_1_10878(void) -{ - M433PlayerWork2 *var_r31 = lbl_1_bss_7CC->data; - if (var_r31->unk_94 != 0) { - return 1.5f; - } - return var_r31->unk_F8.unk_00 - var_r31->unk_F8.unk_04; -} - -u32 fn_1_108C4(void) -{ - M433PlayerWork2 *var_r31 = lbl_1_bss_7CC->data; - if (var_r31->unk_94 != 0) { - return var_r31->unk_98; - } - return 0x2710; -} - -u32 fn_1_10900(void) -{ - M433PlayerWork2 *var_r31 = lbl_1_bss_7CC->data; - return var_r31->unk_8C; -} - -float fn_1_10928(float arg8) -{ - float var_f30; - float var_f28; - float var_f26; - M433PlayerWork2Sub *var_r31; - M433PlayerWork2 *var_r30; - - var_r30 = lbl_1_bss_7CC->data; - var_r31 = &var_r30->unk_F8; - var_f28 = 1.0f / var_r31->unk_24; - var_f30 = -var_r31->unk_20 * var_f28; - var_f26 = var_r31->unk_2C.y + ((var_f30 * (0.5f * var_r31->unk_24 * var_f30)) + (var_r31->unk_20 * var_f30)); - if (arg8 > (var_f26)) { - return -1.0f; - } - var_f30 = var_f28 * (-var_r31->unk_20 - sqrtf((var_r31->unk_20 * var_r31->unk_20) - (2.0f * var_r31->unk_24 * (var_r31->unk_2C.y - arg8)))); - var_f30 -= var_r31->unk_04; - return var_f30; -} - -float fn_1_10B20(float arg8, Vec *arg0) -{ - Vec sp20; - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - M433PlayerWork2Sub *var_r31; - M433PlayerWork2 *var_r29; - - var_r29 = lbl_1_bss_7CC->data; - var_r31 = &var_r29->unk_F8; - var_f30 = var_r31->unk_04; - var_f31 = var_f30 + arg8; - if (var_f31 < 0.0f) { - var_f31 = 0.0f; - } - if (var_f31 > var_r31->unk_00) { - var_f31 = var_r31->unk_00; - } - var_r31->unk_04 = var_f31; - if (var_r31->unk_10 > 0.0f) { - VECSubtract(&var_r31->unk_38, &var_r31->unk_2C, &sp14); - sp14.y = 0.0f; - VECNormalize(&sp14, &sp14); - } - else { - sp14.x = sp14.y = sp14.z = 0.0f; - } - sp8 = *arg0; - var_f29 = (var_f31 * (0.5f * var_r31->unk_18 * var_f31)) + (var_r31->unk_14 * var_f31); - var_f28 = (var_f31 * (0.5f * var_r31->unk_24 * var_f31)) + (var_r31->unk_20 * var_f31); - arg0->x = var_r31->unk_2C.x + (sp14.x * var_f29); - arg0->y = var_r31->unk_2C.y + var_f28; - arg0->z = var_r31->unk_2C.z + (sp14.z * var_f29); - VECSubtract(arg0, &sp8, &sp20); - var_f31 >= var_r31->unk_00; - var_r31->unk_04 = var_f30; - return var_f30 + arg8; -} - -static inline float fn_1_10D24_inline(Vec *arg0) -{ - M433PlayerWork2 *var_r31 = lbl_1_bss_7CC->data; - if (var_r31->unk_94 != 0) { - *arg0 = var_r31->unk_AC; - } - else { - *arg0 = var_r31->unk_3C; - } -} - -s32 fn_1_10D24(Vec *sp8) -{ - Vec sp18; - Vec spC; - float var_f31; - float var_f30; - M433PlayerWork2 *var_r31; - M433PlayerWork2 *var_r30; - - var_r31 = lbl_1_bss_7CC->data; - fn_1_10D24_inline(&spC); - VECSubtract(&spC, &var_r31->unk_30, &sp18); - if ((spC.x * var_r31->unk_30.x) >= 0.0f) { - return 0; - } - if ((var_r31->unk_30.x == 0.0f) || (sp18.x == 0.0f)) { - return 0; - } - var_f31 = fabs(var_r31->unk_30.x / sp18.x); - VECScale(&sp18, &sp18, var_f31); - VECAdd(&var_r31->unk_30, &sp18, sp8); - return 1; -} - -u32 fn_1_10EA4(void) -{ - M433PlayerWork3 *var_r31 = lbl_1_bss_7C8->data; - return var_r31->uGameEvent; -} - -u32 fn_1_10ECC(u32 arg0) -{ - M433PlayerWork3 *work = lbl_1_bss_7C8->data; - return work->auEvents[arg0 & 1]; -} - -s32 fn_1_10F00(u32 arg0) -{ - M433PlayerWork3 *var_r31 = lbl_1_bss_7C8->data; - return var_r31->uServeGrp == (arg0 & 1); -} - -u32 fn_1_10F38(u32 arg0) -{ - M433PlayerWork3 *var_r31 = lbl_1_bss_7C8->data; - return var_r31->auServeCel[arg0 & 1]; -} - -s32 fn_1_10F6C(u32 arg0) -{ - M433PlayerWork3 *work = lbl_1_bss_7C8->data; - return work->uPointGrp == (arg0 & 1); -} - -s32 fn_1_10FA4(s32 arg0) -{ - M433PlayerWork3 *work = lbl_1_bss_7C8->data; - return work->sWinGrp == (arg0 & 1); -} - -u32 fn_1_10FDC(void) -{ - M433PlayerWork3 *var_r31 = lbl_1_bss_7C8->data; - return var_r31->uContactCnt; -} - -s32 fn_1_11004(u32 arg0, s32 arg1) -{ - M433PlayerWork3 *work = lbl_1_bss_7C8->data; - return !((work->uContactGrp == (arg0 & 1)) && (work->uContactCel == (arg1 & 1))); -} - -s32 fn_1_11060(u32 arg0) -{ - M433PlayerWork3 *work = lbl_1_bss_7C8->data; - return work->uContactGrp == (arg0 & 1); -} - -float fn_1_11098(Vec *arg0, Vec *arg1, Vec *arg2) -{ - Vec sp10; - float var_f31; - float var_f30; - - VECSubtract(arg1, arg0, &sp10); - var_f31 = VECDotProduct(&sp10, arg2); - var_f30 = -VECSquareMag(arg2); - if (var_f30 != 0.0f) { - var_f31 /= var_f30; - } - return var_f31; -} - -float fn_1_11130(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3) -{ - Vec sp34; - Vec sp28; - Vec sp1C; - Vec sp10; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - - VECSubtract(arg1, arg0, &sp28); - VECSubtract(arg3, arg2, &sp1C); - VECSubtract(&sp28, &sp1C, &sp28); - if (VECMag(&sp28) <= 0.0f) { - sp34 = *arg0; - } - else { - VECSubtract(arg0, arg2, &sp10); - var_f30 = VECDotProduct(&sp10, &sp28); - var_f29 = -VECSquareMag(&sp28); - if (var_f29 != 0.0f) { - var_f30 /= var_f29; - } - var_f28 = var_f30; - var_f31 = var_f28; - if (var_f31 < 0.0f) { - var_f31 = 0.0f; - } - else if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - VECScale(&sp28, &sp1C, var_f31); - VECAdd(arg0, &sp1C, &sp34); - } - VECSubtract(arg2, &sp34, &sp28); - return VECMag(&sp28); -} diff --git a/src/REL/m434Dll/fish.c b/src/REL/m434Dll/fish.c index b5940faa..12c5df8c 100644 --- a/src/REL/m434Dll/fish.c +++ b/src/REL/m434Dll/fish.c @@ -1,26 +1,23 @@ -#include "game/audio.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" #include "game/object.h" #include "game/objsub.h" +#include "game/hsfman.h" +#include "game/hsfmotion.h" +#include "game/audio.h" #include "game/wipe.h" - -#include "REL/m434Dll.h" -#include "ext_math.h" -#include "game/gamework_data.h" #include "game/minigame_seq.h" +#include "game/gamework_data.h" +#include "REL/m434Dll.h" #include "math.h" -#include "version.h" - +#include "ext_math.h" typedef struct bss_7480_struct { - s32 unk0; - s32 unk4; - s32 unk8; - float unkC; - float unk10; - Vec unk14; + s32 unk0; + s32 unk4; + s32 unk8; + float unkC; + float unk10; + Vec unk14; } Bss7480Struct; omObjData *lbl_1_bss_7880; @@ -35,57 +32,60 @@ void fn_1_6A88(omObjData *object); void fn_1_6860(Process *objman) { - float temp_f31; - Vec spC; - s32 temp_r31; - s32 temp_r30; - s32 temp_r29; - omObjData *temp_r28; - for (temp_r31 = 0; temp_r31 < 32; temp_r31++) { - lbl_1_bss_7480[temp_r31].unk4 = lbl_1_bss_7480[temp_r31].unk0 = 0; - lbl_1_bss_7480[temp_r31].unkC = lbl_1_bss_7480[temp_r31].unk10 = 0; - lbl_1_bss_7480[temp_r31].unk8 = -1; - } - spC.y = 0; - spC.z = -650; - for (temp_r31 = 0; temp_r31 < 32; temp_r31++) { - temp_r30 = temp_r31 * 32; - spC.x = -650.0f; - for (temp_r29 = 0; temp_r29 < 32; temp_r29++, temp_r30++) { - lbl_1_bss_6480[temp_r30] = 0; - lbl_1_bss_6080[temp_r30] = 0; - lbl_1_bss_5880[temp_r30] = 0; - temp_f31 = VECMag(&spC); - if (temp_f31 < 522.0f) { - lbl_1_bss_6080[temp_r30] = 1; - } - spC.x += (1300.0f / 32.0f); - } - spC.z += (1300.0f / 32.0f); - } - temp_r28 = lbl_1_bss_7880 = omAddObjEx(objman, 30, 1, 0, -1, fn_1_6A88); - temp_r28->work[0] = 0; + float temp_f31; + Vec spC; + s32 temp_r31; + s32 temp_r30; + s32 temp_r29; + omObjData *temp_r28; + for(temp_r31=0; temp_r31<32; temp_r31++) { + lbl_1_bss_7480[temp_r31].unk4 = lbl_1_bss_7480[temp_r31].unk0 = 0; + lbl_1_bss_7480[temp_r31].unkC = lbl_1_bss_7480[temp_r31].unk10 = 0; + lbl_1_bss_7480[temp_r31].unk8 = -1; + } + spC.y = 0; + spC.z = -650; + for(temp_r31=0; temp_r31<32; temp_r31++) { + temp_r30 = temp_r31*32; + spC.x = -650.0f; + for(temp_r29=0; temp_r29<32; temp_r29++, temp_r30++) { + lbl_1_bss_6480[temp_r30] = 0; + lbl_1_bss_6080[temp_r30] = 0; + lbl_1_bss_5880[temp_r30] = 0; + temp_f31 = VECMag(&spC); + if(temp_f31 < 522.0f) { + lbl_1_bss_6080[temp_r30] = 1; + } + spC.x += (1300.0f/32.0f); + } + spC.z += (1300.0f/32.0f); + } + temp_r28 = lbl_1_bss_7880 = omAddObjEx(objman, 30, 1, 0, -1, fn_1_6A88); + temp_r28->work[0] = 0; } -void fn_1_6A84(void) { } +void fn_1_6A84(void) +{ + +} typedef struct work_6A88 { - s16 unk0; - s16 unk2; - s16 unk4; - s16 unk6; - s16 unk8; - s16 unkA; - s16 unkC; - s16 unkE; - s32 unk10; - s32 unk14; - s32 unk18; - Vec unk1C; - Vec unk28; - Vec unk34; - Vec unk40; - float unk4C; + s16 unk0; + s16 unk2; + s16 unk4; + s16 unk6; + s16 unk8; + s16 unkA; + s16 unkC; + s16 unkE; + s32 unk10; + s32 unk14; + s32 unk18; + Vec unk1C; + Vec unk28; + Vec unk34; + Vec unk40; + float unk4C; } Work6A88; void fn_1_6D7C(ModelData *model, Mtx mtx); @@ -95,67 +95,73 @@ s32 fn_1_8254(s32 arg0, Vec *arg1); void fn_1_6A88(omObjData *object) { - float temp_f31; - float temp_f30; - s16 sp8[2]; - Work6A88 *temp_r31; - s32 temp_r30; - s32 temp_r28; - Work6A88 *temp_r27; - temp_r27 = HuMemDirectMallocNum(HEAP_SYSTEM, 20 * sizeof(Work6A88), MEMORY_DEFAULT_NUM); - object->data = temp_r27; - memset(temp_r27, 0, 20 * sizeof(Work6A88)); - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - sp8[temp_r30] = Hu3DModelCreateFile(lbl_1_data_2C0[temp_r30]); - } - temp_r31 = temp_r27; - for (temp_r30 = 0; temp_r30 < 20; temp_r30++, temp_r31++) { - temp_r28 = 0; - if (temp_r30 >= 15) { - temp_r28++; - } - temp_r31->unk0 = temp_r28 + 1; - temp_r31->unk2 = Hu3DModelLink(sp8[temp_r28]); - Hu3DModelCameraSet(temp_r31->unk2, 4); - Hu3DModelLayerSet(temp_r31->unk2, 4); - temp_f31 = frandmod(360); - temp_f30 = frandmod(464); - temp_r31->unk4C = temp_f31; - temp_r31->unk1C.x = temp_f30 * sind(temp_f31); - temp_r31->unk1C.y = -50.0f; - temp_r31->unk1C.z = temp_f30 * cosd(temp_f31); - temp_r31->unk34.z = frandmod(360); - temp_r31->unk40.y = 1.0f; - temp_r31->unk40.z = 0; - temp_r31->unk10 = 1; - temp_r31->unk14 = 0; - temp_r31->unkE = -1; - temp_r31->unkC = 0; - temp_r31->unk18 = fn_1_8254(-1, &temp_r31->unk1C); - temp_r31->unkA = 20; - } - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - if (sp8[temp_r30] > 0) { - Hu3DModelKill(sp8[temp_r30]); - } - } - object->work[1] = 140; - object->model[0] = Hu3DHookFuncCreate(fn_1_6D7C); - Hu3DModelCameraSet(object->model[0], 8); - Hu3DModelLayerSet(object->model[0], 7); - object->func = fn_1_6DB8; + float temp_f31; + float temp_f30; + s16 sp8[2]; + Work6A88 *temp_r31; + s32 temp_r30; + s32 temp_r28; + Work6A88 *temp_r27; + temp_r27 = HuMemDirectMallocNum(HEAP_SYSTEM, 20*sizeof(Work6A88), MEMORY_DEFAULT_NUM); + object->data = temp_r27; + memset(temp_r27, 0, 20*sizeof(Work6A88)); + for(temp_r30=0; temp_r30<2; temp_r30++) { + sp8[temp_r30] = Hu3DModelCreateFile(lbl_1_data_2C0[temp_r30]); + } + temp_r31 = temp_r27; + for(temp_r30=0; temp_r30<20; temp_r30++, temp_r31++) { + temp_r28 = 0; + if(temp_r30 >= 15) { + temp_r28++; + } + temp_r31->unk0 = temp_r28+1; + temp_r31->unk2 = Hu3DModelLink(sp8[temp_r28]); + Hu3DModelCameraSet(temp_r31->unk2, 4); + Hu3DModelLayerSet(temp_r31->unk2, 4); + temp_f31 = frandmod(360); + temp_f30 = frandmod(464); + temp_r31->unk4C = temp_f31; + temp_r31->unk1C.x = temp_f30*sind(temp_f31); + temp_r31->unk1C.y = -50.0f; + temp_r31->unk1C.z = temp_f30*cosd(temp_f31); + temp_r31->unk34.z = frandmod(360); + temp_r31->unk40.y = 1.0f; + temp_r31->unk40.z = 0; + temp_r31->unk10 = 1; + temp_r31->unk14 = 0; + temp_r31->unkE = -1; + temp_r31->unkC = 0; + temp_r31->unk18 = fn_1_8254(-1, &temp_r31->unk1C); + temp_r31->unkA = 20; + } + for(temp_r30=0; temp_r30<2; temp_r30++) { + if(sp8[temp_r30] > 0) { + Hu3DModelKill(sp8[temp_r30]); + } + + + } + object->work[1] = 140; + object->model[0] = Hu3DHookFuncCreate(fn_1_6D7C); + Hu3DModelCameraSet(object->model[0], 8); + Hu3DModelLayerSet(object->model[0], 7); + object->func = fn_1_6DB8; } void fn_1_6DBC(omObjData *object); void fn_1_6D7C(ModelData *model, Mtx mtx) { - if (!omPauseChk()) { - fn_1_6DBC(lbl_1_bss_7880); - } + if(!omPauseChk()) { + fn_1_6DBC(lbl_1_bss_7880); + } } -void fn_1_6DB8(omObjData *object) { } + +void fn_1_6DB8(omObjData *object) +{ + +} void fn_1_7DF0(void); s32 fn_1_84D0(Work6A88 *arg0); @@ -163,613 +169,648 @@ void fn_1_85C4(Work6A88 *arg0, Vec *arg1); void fn_1_6DBC(omObjData *object) { - Vec sp8; - float temp_f31; - float temp_f30; - Work6A88 *temp_r31; - s32 temp_r30; - s32 temp_r29; - s32 temp_r27; - s32 temp_r26; - s32 temp_r25; - s32 temp_r24; - Work6A88 *temp_r23; - temp_r23 = object->data; - fn_1_7DF0(); - if (object->work[1]) { - object->work[1]--; - return; - } - temp_r26 = 0; - temp_r31 = temp_r23; - for (temp_r27 = 0; temp_r27 < 20; temp_r27++, temp_r31++) { - temp_r30 = 0; - temp_r24 = 0; - switch (temp_r31->unk4) { - case 0: - if (temp_r31->unkC == 0) { - temp_r24 = fn_1_84D0(temp_r31); - if (temp_r24) { - temp_r30 = 1; - temp_r31->unkC = 60; - } - } - else { - temp_r31->unkC--; - } - if (temp_r31->unkC == 0 && temp_r31->unk40.y > temp_r31->unk40.z) { - temp_r30 = 1; - } - else { - VECSubtract(&temp_r31->unk28, &temp_r31->unk1C, &sp8); - temp_f31 = VECMag(&sp8); - if (temp_f31 < 50.0f) { - temp_r30 = 1; - } - } - if (temp_r30) { - if (temp_r31->unkC == 0) { - temp_f31 = frandmod(1000); - temp_f30 = frandmod(1000); - if (temp_f31 > temp_f30) { - temp_f30 = temp_f31; - } - temp_f30 = 0.53f * temp_f30; - temp_f31 = temp_r31->unk4C + ((0.06f * frandmod(1000)) - 30); - temp_r31->unk4C = temp_f31; - temp_r31->unk28.x = temp_f30 * sind(temp_f31); - temp_r31->unk28.z = temp_f30 * cosd(temp_f31); - } - else { - fn_1_85C4(temp_r31, &temp_r31->unk28); - } - temp_r31->unk28.y = temp_r31->unk1C.y; - temp_r31->unk40.y = 0; - temp_r31->unk40.z = frandmod(200) + 100.0f; - temp_r31->unk34.y = 200; - if (temp_r31->unkC) { - temp_r31->unk34.y *= 2.0f; - } - } - VECSubtract(&temp_r31->unk28, &temp_r31->unk1C, &sp8); - temp_r31->unk40.x = atan2d(sp8.x, sp8.z); - if (temp_r31->unkC != 0) { - temp_r31->unk34.z = fn_1_6690(temp_r31->unk34.z, temp_r31->unk40.x, 0.15f); - temp_r31->unk4C = atan2d(temp_r31->unk28.x, temp_r31->unk28.z); - } - else { - temp_r31->unk34.z = fn_1_6690(temp_r31->unk34.z, temp_r31->unk40.x, 0.07f); - } - if (temp_r31->unkC != 0) { - temp_r31->unk34.y += (300.0f - temp_r31->unk34.y) * 0.02f; - } - else { - temp_r31->unk34.y += (75.0f - temp_r31->unk34.y) * 0.02f; - } - temp_r31->unk34.x += (temp_r31->unk34.y - temp_r31->unk34.x) * 0.2f; - temp_r31->unk1C.x += sind(temp_r31->unk34.z) * ((1.0f / REFRESH_RATE) * temp_r31->unk34.x); - temp_r31->unk1C.z += cosd(temp_r31->unk34.z) * ((1.0f / REFRESH_RATE) * temp_r31->unk34.x); - temp_r31->unk40.y += (1.0f / REFRESH_RATE) * temp_r31->unk34.x; - temp_r31->unk18 = fn_1_8254(temp_r31->unk18, &temp_r31->unk1C); - Hu3DModelPosSetV(temp_r31->unk2, &temp_r31->unk1C); - Hu3DModelRotSet(temp_r31->unk2, 0, temp_r31->unk34.z, 0); - break; - - case 1: - temp_r31->unk34.z += 1.0f / REFRESH_RATE * 180.0f; - Hu3DModelPosSetV(temp_r31->unk2, &temp_r31->unk1C); - Hu3DModelRotSet(temp_r31->unk2, 0, temp_r31->unk34.z, 0); - if (fn_1_1D54() == 4) { - Hu3DModelAttrSet(temp_r31->unk2, HU3D_ATTR_DISPOFF); - } - break; - - case 2: - if (temp_r31->unk14) { - if (temp_r31->unk8 == 0) { - sp8.x = (0.1f * frandmod(1000) + 500.0f) - 50.0f; - sp8.y = temp_r31->unk1C.y; - sp8.z = (0.1f * frandmod(1000) + 500.0f) - 50.0f; - if (temp_r31->unk1C.x < 0.0f) { - sp8.x = -sp8.x; - } - VECSubtract(&sp8, &temp_r31->unk1C, &sp8); - temp_r31->unk40.x = temp_r31->unk34.z = atan2d(sp8.x, sp8.z); - temp_r31->unk28.x = (1.0f / REFRESH_RATE) * sp8.x; - temp_r31->unk28.y = VERSION_NTSC ? 6.666667f : 8.0f; - temp_r31->unk28.z = (1.0f / REFRESH_RATE) * sp8.z; - temp_r31->unk8++; - HuAudFXPlay(1734); - } - temp_r29 = 0; - if (temp_r31->unk1C.y <= -15.000001f) { - temp_r29 = 1; - } - temp_r31->unk28.y += VERSION_NTSC ? -0.27222225f : -0.392f; - VECAdd(&temp_r31->unk1C, &temp_r31->unk28, &temp_r31->unk1C); - if (!temp_r29 && temp_r31->unk1C.y <= -15.000001f) { - fn_1_43AC(&temp_r31->unk1C); - if (temp_r31->unkE >= 0) { - omVibrate(temp_r31->unkE, 12, 6, 6); - temp_r31->unkE = -1; - } - HuAudFXPlay(1741); - } - sp8 = temp_r31->unk28; - sp8.y = 0; - temp_f31 = VECMag(&sp8); - temp_f31 = atan2d(temp_r31->unk28.y, temp_f31); - Hu3DModelPosSetV(temp_r31->unk2, &temp_r31->unk1C); - Hu3DModelRotSet(temp_r31->unk2, -temp_f31, temp_r31->unk34.z, 0); - if (temp_r31->unk1C.y <= -50.0) { - temp_r31->unk14 = 0; - temp_r31->unk40.z = 0; - temp_r31->unk40.y = 1; - temp_r31->unk4++; - } - } - - break; - - case 3: - if (temp_r31->unk40.y > temp_r31->unk40.z) { - temp_r30 = 1; - } - VECSubtract(&temp_r31->unk28, &temp_r31->unk1C, &sp8); - temp_f31 = VECMag(&sp8); - if (temp_f31 < 30.000002f) { - temp_r30 = 1; - } - if (temp_r30) { - temp_f31 = frandmod(360); - temp_f30 = (0.08f * frandmod(1000)) + 20; - temp_r31->unk28.x = temp_f30 * sind(temp_f31); - temp_r31->unk28.z = temp_f30 * cosd(temp_f31); - temp_r31->unk28.y = -50; - temp_r31->unk1C.y = temp_r31->unk28.y; - temp_r31->unk28.x += 480.00003f; - temp_r31->unk28.z += 480.00003f; - if (temp_r31->unk1C.x < 0.0f) { - temp_r31->unk28.x *= -1.0f; - } - temp_r31->unk40.y = 0; - temp_r31->unk40.z = frandmod(100) + 100.0f; - temp_r31->unk34.y = 100; - if (frandmod(100) < 5) { - temp_r31->unk4++; - temp_r31->unk8 = 0; - HuAudFXPlay(1740); - } - } - VECSubtract(&temp_r31->unk28, &temp_r31->unk1C, &sp8); - temp_r31->unk40.x = atan2d(sp8.x, sp8.z); - temp_r31->unk34.z = fn_1_6690(temp_r31->unk34.z, temp_r31->unk40.x, 0.07f); - temp_r31->unk34.y += (50.0f - temp_r31->unk34.y) * 0.02f; - temp_r31->unk34.x += (temp_r31->unk34.y - temp_r31->unk34.x) * 0.2f; - temp_r31->unk1C.x += sind(temp_r31->unk34.z) * ((1.0f / REFRESH_RATE) * temp_r31->unk34.x); - temp_r31->unk1C.z += cosd(temp_r31->unk34.z) * ((1.0f / REFRESH_RATE) * temp_r31->unk34.x); - temp_r31->unk40.y += (1.0f / REFRESH_RATE) * temp_r31->unk34.x; - Hu3DModelPosSetV(temp_r31->unk2, &temp_r31->unk1C); - Hu3DModelRotSet(temp_r31->unk2, 0, temp_r31->unk34.z, 0); - - break; - - case 4: - if (temp_r31->unk8 == 0) { - sp8.x = (0.1f * frandmod(1000) + 480.00003f) - 50.0f; - sp8.y = temp_r31->unk1C.y; - sp8.z = (0.1f * frandmod(1000) + 480.00003f) - 50.0f; - if (temp_r31->unk1C.x < 0) { - sp8.x = -sp8.x; - } - VECSubtract(&sp8, &temp_r31->unk1C, &sp8); - temp_r31->unk40.x = temp_r31->unk34.z = atan2d(sp8.x, sp8.z); - temp_r31->unk28.x = (1.0f / REFRESH_RATE) * sp8.x; - temp_r31->unk28.y = VERSION_NTSC ? 6.666667f : 8.0f; - temp_r31->unk28.z = (1.0f / REFRESH_RATE) * sp8.z; - temp_r31->unk8++; - } - temp_r29 = temp_r25 = 0; - if (temp_r31->unk1C.y <= -15.000001f) { - temp_r29 = 1; - } - temp_r31->unk28.y += VERSION_NTSC ? -0.27222225f : -0.392f; - VECAdd(&temp_r31->unk1C, &temp_r31->unk28, &temp_r31->unk1C); - if (temp_r31->unk1C.y <= -15.000001f) { - temp_r25 = 1; - } - if (temp_r29 != temp_r25) { - fn_1_43AC(&temp_r31->unk1C); - if (temp_r31->unk28.y < 0.0f) { - HuAudFXPlay(1741); - } - } - sp8 = temp_r31->unk28; - sp8.y = 0; - temp_f31 = VECMag(&sp8); - temp_f31 = atan2d(temp_r31->unk28.y * 0.3f, temp_f31); - Hu3DModelPosSetV(temp_r31->unk2, &temp_r31->unk1C); - Hu3DModelRotSet(temp_r31->unk2, -temp_f31, temp_r31->unk34.z, 0); - if (temp_r31->unk1C.y <= -50.0) { - temp_r31->unk40.z = 0; - temp_r31->unk40.y = 1; - temp_r31->unk4--; - } - break; - } - if (temp_r31->unk4 < 2) { - temp_r26++; - } - } - if (temp_r26 == 0) { - fn_1_1D9C(); - } + Vec sp8; + float temp_f31; + float temp_f30; + Work6A88 *temp_r31; + s32 temp_r30; + s32 temp_r29; + s32 temp_r27; + s32 temp_r26; + s32 temp_r25; + s32 temp_r24; + Work6A88 *temp_r23; + temp_r23 = object->data; + fn_1_7DF0(); + if(object->work[1]) { + object->work[1]--; + return; + } + temp_r26 = 0; + temp_r31 = temp_r23; + for(temp_r27=0; temp_r27<20; temp_r27++, temp_r31++) { + temp_r30 = 0; + temp_r24 = 0; + switch(temp_r31->unk4) { + case 0: + if(temp_r31->unkC == 0) { + temp_r24 = fn_1_84D0(temp_r31); + if(temp_r24) { + temp_r30 = 1; + temp_r31->unkC = 60; + } + } else { + temp_r31->unkC--; + } + if(temp_r31->unkC == 0 && temp_r31->unk40.y > temp_r31->unk40.z) { + temp_r30 = 1; + } else { + VECSubtract(&temp_r31->unk28, &temp_r31->unk1C, &sp8); + temp_f31 = VECMag(&sp8); + if(temp_f31 < 50.0f) { + temp_r30 = 1; + } + } + if(temp_r30) { + if(temp_r31->unkC == 0) { + temp_f31 = frandmod(1000); + temp_f30 = frandmod(1000); + if(temp_f31 > temp_f30) { + temp_f30 = temp_f31; + } + temp_f30 = 0.53f*temp_f30; + temp_f31 = temp_r31->unk4C+((0.06f*frandmod(1000))-30); + temp_r31->unk4C = temp_f31; + temp_r31->unk28.x = temp_f30*sind(temp_f31); + temp_r31->unk28.z = temp_f30*cosd(temp_f31); + } else { + fn_1_85C4(temp_r31, &temp_r31->unk28); + } + temp_r31->unk28.y = temp_r31->unk1C.y; + temp_r31->unk40.y = 0; + temp_r31->unk40.z = frandmod(200)+100.0f; + temp_r31->unk34.y = 200; + if(temp_r31->unkC) { + temp_r31->unk34.y *= 2.0f; + } + } + VECSubtract(&temp_r31->unk28, &temp_r31->unk1C, &sp8); + temp_r31->unk40.x = atan2d(sp8.x, sp8.z); + if(temp_r31->unkC != 0) { + temp_r31->unk34.z = fn_1_6690(temp_r31->unk34.z, temp_r31->unk40.x, 0.15f); + temp_r31->unk4C = atan2d(temp_r31->unk28.x, temp_r31->unk28.z); + } else { + temp_r31->unk34.z = fn_1_6690(temp_r31->unk34.z, temp_r31->unk40.x, 0.07f); + } + if(temp_r31->unkC != 0) { + temp_r31->unk34.y += (300.0f-temp_r31->unk34.y)*0.02f; + } else { + temp_r31->unk34.y += (75.0f-temp_r31->unk34.y)*0.02f; + } + temp_r31->unk34.x += (temp_r31->unk34.y-temp_r31->unk34.x)*0.2f; + temp_r31->unk1C.x += sind(temp_r31->unk34.z)*((1.0f/60.0f)*temp_r31->unk34.x); + temp_r31->unk1C.z += cosd(temp_r31->unk34.z)*((1.0f/60.0f)*temp_r31->unk34.x); + temp_r31->unk40.y += (1.0f/60.0f)*temp_r31->unk34.x; + temp_r31->unk18 = fn_1_8254(temp_r31->unk18, &temp_r31->unk1C); + Hu3DModelPosSetV(temp_r31->unk2, &temp_r31->unk1C); + Hu3DModelRotSet(temp_r31->unk2, 0, temp_r31->unk34.z, 0); + break; + + case 1: + temp_r31->unk34.z += 3.0000002f; + Hu3DModelPosSetV(temp_r31->unk2, &temp_r31->unk1C); + Hu3DModelRotSet(temp_r31->unk2, 0, temp_r31->unk34.z, 0); + if(fn_1_1D54() == 4) { + Hu3DModelAttrSet(temp_r31->unk2, 1); + } + break; + + case 2: + if(temp_r31->unk14) { + if(temp_r31->unk8 == 0) { + sp8.x = (0.1f*frandmod(1000)+500.0f)-50.0f; + sp8.y = temp_r31->unk1C.y; + sp8.z = (0.1f*frandmod(1000)+500.0f)-50.0f; + if(temp_r31->unk1C.x < 0.0f) { + sp8.x = -sp8.x; + } + VECSubtract(&sp8, &temp_r31->unk1C, &sp8); + temp_r31->unk40.x = temp_r31->unk34.z = atan2d(sp8.x, sp8.z); + temp_r31->unk28.x = (1.0f/60.0f)*sp8.x; + temp_r31->unk28.y = 6.666667f; + temp_r31->unk28.z = (1.0f/60.0f)*sp8.z; + temp_r31->unk8++; + HuAudFXPlay(1734); + } + temp_r29 = 0; + if(temp_r31->unk1C.y <= -15.000001f) { + temp_r29 = 1; + } + temp_r31->unk28.y += -0.27222225f; + VECAdd(&temp_r31->unk1C, &temp_r31->unk28, &temp_r31->unk1C); + if(!temp_r29 && temp_r31->unk1C.y <= -15.000001f) { + fn_1_43AC(&temp_r31->unk1C); + if(temp_r31->unkE >= 0) { + omVibrate(temp_r31->unkE, 12, 6, 6); + temp_r31->unkE = -1; + } + HuAudFXPlay(1741); + } + sp8 = temp_r31->unk28; + sp8.y = 0; + temp_f31 = VECMag(&sp8); + temp_f31 = atan2d(temp_r31->unk28.y, temp_f31); + Hu3DModelPosSetV(temp_r31->unk2, &temp_r31->unk1C); + Hu3DModelRotSet(temp_r31->unk2, -temp_f31, temp_r31->unk34.z, 0); + if(temp_r31->unk1C.y <= -50.0) { + temp_r31->unk14 = 0; + temp_r31->unk40.z = 0; + temp_r31->unk40.y = 1; + temp_r31->unk4++; + } + } + + break; + + case 3: + if(temp_r31->unk40.y > temp_r31->unk40.z) { + temp_r30 = 1; + } + VECSubtract(&temp_r31->unk28, &temp_r31->unk1C, &sp8); + temp_f31 = VECMag(&sp8); + if(temp_f31 < 30.000002f) { + temp_r30 = 1; + } + if(temp_r30) { + temp_f31 = frandmod(360); + temp_f30 = (0.08f*frandmod(1000))+20; + temp_r31->unk28.x = temp_f30*sind(temp_f31); + temp_r31->unk28.z = temp_f30*cosd(temp_f31); + temp_r31->unk28.y = -50; + temp_r31->unk1C.y = temp_r31->unk28.y; + temp_r31->unk28.x += 480.00003f; + temp_r31->unk28.z += 480.00003f; + if(temp_r31->unk1C.x < 0.0f) { + temp_r31->unk28.x *= -1.0f; + } + temp_r31->unk40.y = 0; + temp_r31->unk40.z = frandmod(100)+100.0f; + temp_r31->unk34.y = 100; + if(frandmod(100) < 5) { + temp_r31->unk4++; + temp_r31->unk8 = 0; + HuAudFXPlay(1740); + } + } + VECSubtract(&temp_r31->unk28, &temp_r31->unk1C, &sp8); + temp_r31->unk40.x = atan2d(sp8.x, sp8.z); + temp_r31->unk34.z = fn_1_6690(temp_r31->unk34.z, temp_r31->unk40.x, 0.07f); + temp_r31->unk34.y += (50.0f-temp_r31->unk34.y)*0.02f; + temp_r31->unk34.x += (temp_r31->unk34.y-temp_r31->unk34.x)*0.2f; + temp_r31->unk1C.x += sind(temp_r31->unk34.z)*((1.0f/60.0f)*temp_r31->unk34.x); + temp_r31->unk1C.z += cosd(temp_r31->unk34.z)*((1.0f/60.0f)*temp_r31->unk34.x); + temp_r31->unk40.y += (1.0f/60.0f)*temp_r31->unk34.x; + Hu3DModelPosSetV(temp_r31->unk2, &temp_r31->unk1C); + Hu3DModelRotSet(temp_r31->unk2, 0, temp_r31->unk34.z, 0); + + break; + + case 4: + if(temp_r31->unk8 == 0) { + sp8.x = (0.1f*frandmod(1000)+480.00003f)-50.0f; + sp8.y = temp_r31->unk1C.y; + sp8.z = (0.1f*frandmod(1000)+480.00003f)-50.0f; + if(temp_r31->unk1C.x < 0) { + sp8.x = -sp8.x; + } + VECSubtract(&sp8, &temp_r31->unk1C, &sp8); + temp_r31->unk40.x = temp_r31->unk34.z = atan2d(sp8.x, sp8.z); + temp_r31->unk28.x = (1.0f/60.0f)*sp8.x; + temp_r31->unk28.y = 6.666667f; + temp_r31->unk28.z = (1.0f/60.0f)*sp8.z; + temp_r31->unk8++; + } + temp_r29 = temp_r25 = 0; + if(temp_r31->unk1C.y <= -15.000001f) { + temp_r29 = 1; + } + temp_r31->unk28.y += -0.27222225f; + VECAdd(&temp_r31->unk1C, &temp_r31->unk28, &temp_r31->unk1C); + if(temp_r31->unk1C.y <= -15.000001f) { + temp_r25 = 1; + } + if(temp_r29 != temp_r25) { + fn_1_43AC(&temp_r31->unk1C); + if(temp_r31->unk28.y < 0.0f) { + HuAudFXPlay(1741); + } + } + sp8 = temp_r31->unk28; + sp8.y = 0; + temp_f31 = VECMag(&sp8); + temp_f31 = atan2d(temp_r31->unk28.y*0.3f, temp_f31); + Hu3DModelPosSetV(temp_r31->unk2, &temp_r31->unk1C); + Hu3DModelRotSet(temp_r31->unk2, -temp_f31, temp_r31->unk34.z, 0); + if(temp_r31->unk1C.y <= -50.0) { + temp_r31->unk40.z = 0; + temp_r31->unk40.y = 1; + temp_r31->unk4--; + } + break; + } + if(temp_r31->unk4 < 2) { + temp_r26++; + } + } + if(temp_r26 == 0) { + fn_1_1D9C(); + } } void fn_1_7DF0(void) { - Vec sp14; - Vec sp8; - float temp_f31; - float temp_f30; - - Bss7480Struct *temp_r31; - s32 temp_r30; - s32 temp_r29; - s32 temp_r28; - s32 temp_r27; - s32 temp_r26; - s32 temp_r25; - s32 temp_r24; - - temp_r31 = lbl_1_bss_7480; - temp_r31 = lbl_1_bss_7480; - for (temp_r30 = 0; temp_r30 < 32; temp_r30++, temp_r31++) { - if (temp_r31->unk0 == 0) { - continue; - } - temp_r31->unk0--; - if (temp_r31->unk4) { - temp_r31->unk4--; - temp_r31->unkC += (temp_r31->unk10 - temp_r31->unkC) * 0.2f; - } - else { - if (temp_r31->unk0 < 100.0f) { - temp_r31->unkC *= 0.98f; - } - } - } - for (temp_r30 = 0; temp_r30 < 1024; temp_r30++) { - lbl_1_bss_6480[temp_r30] = 0; - } - temp_r31 = lbl_1_bss_7480; - for (temp_r30 = 0; temp_r30 < 32; temp_r30++, temp_r31++) { - if (temp_r31->unk0 == 0) { - continue; - } - temp_r28 = (16.0f / 650.0f) * (650.0f + (temp_r31->unk14.x - temp_r31->unkC)); - temp_r25 = 1.0f + (temp_r28 + ((16.0f / 650.0f) * (2.0f * temp_r31->unkC))); - temp_r29 = (16.0f / 650.0f) * (650.0f + (temp_r31->unk14.z - temp_r31->unkC)); - temp_r24 = 1.0f + (temp_r29 + ((16.0f / 650.0f) * (2.0f * temp_r31->unkC))); - if (temp_r28 < 0) { - temp_r28 = 0; - } - if (temp_r25 > 32) { - temp_r25 = 32; - } - if (temp_r29 < 0) { - temp_r29 = 0; - } - if (temp_r24 > 32) { - temp_r24 = 32; - } - temp_f30 = 1.0f / temp_r31->unkC; - sp14.y = 0; - sp14.z = ((1300.0f / 32.0f) * temp_r29) - 650.0f; - while (temp_r29 < temp_r24) { - sp14.x = ((1300.0f / 32.0f) * temp_r28) - 650.0f; - temp_r26 = temp_r28 + (32 * temp_r29); - for (temp_r27 = temp_r28; temp_r27 < temp_r25; temp_r27++, temp_r26++) { - VECSubtract(&temp_r31->unk14, &sp14, &sp8); - temp_f31 = 1.0f - (temp_f30 * VECMag(&sp8)); - if (temp_f31 > 0.0f) { - lbl_1_bss_6480[temp_r26] += temp_f31; - } - sp14.x += (1300.0f / 32.0f); - } - sp14.z += (1300.0f / 32.0f); - temp_r29++; - } - } + Vec sp14; + Vec sp8; + float temp_f31; + float temp_f30; + + Bss7480Struct *temp_r31; + s32 temp_r30; + s32 temp_r29; + s32 temp_r28; + s32 temp_r27; + s32 temp_r26; + s32 temp_r25; + s32 temp_r24; + + temp_r31 = lbl_1_bss_7480; + temp_r31 = lbl_1_bss_7480; + for(temp_r30=0; temp_r30<32; temp_r30++, temp_r31++) { + if(temp_r31->unk0 == 0) { + continue; + } + temp_r31->unk0--; + if(temp_r31->unk4) { + temp_r31->unk4--; + temp_r31->unkC += (temp_r31->unk10-temp_r31->unkC)*0.2f; + } else { + if(temp_r31->unk0 < 100.0f) { + temp_r31->unkC *= 0.98f; + } + } + } + for(temp_r30=0; temp_r30<1024; temp_r30++) { + lbl_1_bss_6480[temp_r30] = 0; + } + temp_r31 = lbl_1_bss_7480; + for(temp_r30=0; temp_r30<32; temp_r30++, temp_r31++) { + if(temp_r31->unk0 == 0) { + continue; + } + temp_r28 = (16.0f/650.0f)*(650.0f+(temp_r31->unk14.x-temp_r31->unkC)); + temp_r25 = 1.0f+(temp_r28+((16.0f/650.0f)*(2.0f*temp_r31->unkC))); + temp_r29 = (16.0f/650.0f)*(650.0f+(temp_r31->unk14.z-temp_r31->unkC)); + temp_r24 = 1.0f+(temp_r29+((16.0f/650.0f)*(2.0f*temp_r31->unkC))); + if(temp_r28 < 0) { + temp_r28 = 0; + } + if(temp_r25 > 32) { + temp_r25 = 32; + } + if(temp_r29 < 0) { + temp_r29 = 0; + } + if(temp_r24 > 32) { + temp_r24 = 32; + } + temp_f30 = 1.0f/temp_r31->unkC; + sp14.y = 0; + sp14.z = ((1300.0f/32.0f)*temp_r29)-650.0f; + while(temp_r29unk14, &sp14, &sp8); + temp_f31 = 1.0f-(temp_f30*VECMag(&sp8)); + if(temp_f31 > 0.0f) { + lbl_1_bss_6480[temp_r26] += temp_f31; + } + sp14.x += (1300.0f/32.0f); + } + sp14.z += (1300.0f/32.0f); + temp_r29++; + } + } + } void fn_1_83C8(s32 arg0); s32 fn_1_8254(s32 arg0, Vec *arg1) { - s32 temp_r31; - s32 temp_r30; - s32 temp_r29; - s32 temp_r28; - s32 temp_r27; - s32 sp8[9][2] = { -1, -1, 0, -1, 1, -1, -1, 0, 0, 0, 1, 0, -1, 1, 0, 1, 1, 1 }; - fn_1_83C8(arg0); - arg0 = -1; - temp_r29 = (16.0f / 650.0f) * (650.0f + arg1->x); - temp_r30 = (16.0f / 650.0f) * (650.0f + arg1->z); - if (temp_r29 >= 0 && temp_r29 < 32 && temp_r30 >= 0 && temp_r30 < 32) { - arg0 = temp_r29 + (32 * temp_r30); - for (temp_r31 = 0; temp_r31 < 9; temp_r31++) { - temp_r28 = temp_r29 + sp8[temp_r31][0]; - temp_r27 = temp_r30 + sp8[temp_r31][1]; - if (temp_r28 >= 0 && temp_r28 < 32 && temp_r27 >= 0 && temp_r27 < 32) { - lbl_1_bss_5880[temp_r28 + (32 * temp_r27)]++; - } - } - } - return arg0; + s32 temp_r31; + s32 temp_r30; + s32 temp_r29; + s32 temp_r28; + s32 temp_r27; + s32 sp8[9][2] = { + -1,-1, + 0,-1, + 1,-1, + -1,0, + 0,0, + 1,0, + -1,1, + 0,1, + 1,1 + }; + fn_1_83C8(arg0); + arg0 = -1; + temp_r29 = (16.0f/650.0f)*(650.0f+arg1->x); + temp_r30 = (16.0f/650.0f)*(650.0f+arg1->z); + if(temp_r29 >= 0 && temp_r29 < 32 && temp_r30 >= 0 && temp_r30 < 32) { + arg0 = temp_r29+(32*temp_r30); + for(temp_r31=0; temp_r31<9; temp_r31++) { + temp_r28 = temp_r29+sp8[temp_r31][0]; + temp_r27 = temp_r30+sp8[temp_r31][1]; + if(temp_r28 >= 0 && temp_r28 < 32 && temp_r27 >= 0 && temp_r27 < 32) { + lbl_1_bss_5880[temp_r28+(32*temp_r27)]++; + } + } + } + return arg0; } void fn_1_83C8(s32 arg0) { - s32 temp_r31; - s32 temp_r30; - s32 temp_r29; - s32 temp_r28; - s32 temp_r27; - s32 sp8[9][2] = { -1, -1, 0, -1, 1, -1, -1, 0, 0, 0, 1, 0, -1, 1, 0, 1, 1, 1 }; - if (arg0 < 0 || arg0 >= 1024) { - return; - } - temp_r28 = arg0 % 32; - temp_r27 = (arg0 - temp_r28) / 32; - for (temp_r31 = 0; temp_r31 < 9; temp_r31++) { - temp_r30 = temp_r28 + sp8[temp_r31][0]; - temp_r29 = temp_r27 + sp8[temp_r31][1]; - if (temp_r30 >= 0 && temp_r30 < 32 && temp_r29 >= 0 && temp_r29 < 32) { - lbl_1_bss_5880[temp_r30 + (32 * temp_r29)]--; - } - } + s32 temp_r31; + s32 temp_r30; + s32 temp_r29; + s32 temp_r28; + s32 temp_r27; + s32 sp8[9][2] = { + -1,-1, + 0,-1, + 1,-1, + -1,0, + 0,0, + 1,0, + -1,1, + 0,1, + 1,1 + }; + if(arg0 < 0 || arg0 >= 1024) { + return; + } + temp_r28 = arg0%32; + temp_r27 = (arg0-temp_r28)/32; + for(temp_r31=0; temp_r31<9; temp_r31++) { + temp_r30 = temp_r28+sp8[temp_r31][0]; + temp_r29 = temp_r27+sp8[temp_r31][1]; + if(temp_r30 >= 0 && temp_r30 < 32 && temp_r29 >= 0 && temp_r29 < 32) { + lbl_1_bss_5880[temp_r30+(32*temp_r29)]--; + } + } } s32 fn_1_84D0(Work6A88 *arg0) { - float temp_f31; - Vec spC; - Bss7480Struct *temp_r31; - s32 temp_r30; - s32 temp_r29; - s32 temp_r28; - temp_r31 = lbl_1_bss_7480; - temp_r28 = 0; - temp_r31 = lbl_1_bss_7480; - for (temp_r29 = 0; temp_r29 < 32; temp_r29++, temp_r31++) { - if (temp_r31->unk0 == 0) { - continue; - } - VECSubtract(&temp_r31->unk14, &arg0->unk1C, &spC); - temp_f31 = 1.0f - (VECMag(&spC) / temp_r31->unkC); - if (temp_f31 < 0.3f) { - continue; - } - temp_r30 = 1; - if (temp_r31->unk4) { - temp_r30++; - } - if (temp_r28 < temp_r30) { - temp_r28 = temp_r30; - } - } - return temp_r28; + float temp_f31; + Vec spC; + Bss7480Struct *temp_r31; + s32 temp_r30; + s32 temp_r29; + s32 temp_r28; + temp_r31 = lbl_1_bss_7480; + temp_r28 = 0; + temp_r31 = lbl_1_bss_7480; + for(temp_r29=0; temp_r29<32; temp_r29++, temp_r31++) { + if(temp_r31->unk0 == 0) { + continue; + } + VECSubtract(&temp_r31->unk14, &arg0->unk1C, &spC); + temp_f31 = 1.0f-(VECMag(&spC)/temp_r31->unkC); + if(temp_f31 < 0.3f) { + continue; + } + temp_r30 = 1; + if(temp_r31->unk4) { + temp_r30++; + } + if(temp_r28 < temp_r30) { + temp_r28 = temp_r30; + } + } + return temp_r28; } void fn_1_85C4(Work6A88 *arg0, Vec *arg1) { - Vec sp24; - Vec sp18; - Vec spC; - float temp_f31; - float temp_f30; - s32 temp_r31; - s32 temp_r30; - s32 temp_r29; - sp18.x = sp18.y = sp18.z = 0; - temp_f30 = 5000; - sp24.y = 0; - sp24.z = -650; - for (temp_r30 = 0; temp_r30 < 32; temp_r30++) { - temp_r31 = 32 * temp_r30; - sp24.x = -650; - for (temp_r29 = 0; temp_r29 < 32; temp_r29++, temp_r31++) { - if (lbl_1_bss_6480[temp_r31] < 0.15f && lbl_1_bss_6080[temp_r31]) { - VECSubtract(&arg0->unk1C, &sp24, &spC); - temp_f31 = VECMag(&spC); - if (temp_f31 > 81.25f) { - temp_f31 += 162.5f * lbl_1_bss_5880[temp_r31]; - if (temp_f31 < temp_f30) { - temp_f30 = temp_f31; - sp18 = sp24; - } - } - } - sp24.x += (1300.0f / 32.0f); - } - sp24.z += (1300.0f / 32.0f); - } - sp18.x += ((1300.0f / 32000.0f) * frandmod(1000)) - (1300.0f / 64.0f); - sp18.z += ((1300.0f / 32000.0f) * frandmod(1000)) - (1300.0f / 64.0f); - *arg1 = sp18; + Vec sp24; + Vec sp18; + Vec spC; + float temp_f31; + float temp_f30; + s32 temp_r31; + s32 temp_r30; + s32 temp_r29; + sp18.x = sp18.y = sp18.z = 0; + temp_f30 = 5000; + sp24.y = 0; + sp24.z = -650; + for(temp_r30=0; temp_r30<32; temp_r30++) { + temp_r31 = 32*temp_r30; + sp24.x = -650; + for(temp_r29=0; temp_r29<32; temp_r29++, temp_r31++) { + if(lbl_1_bss_6480[temp_r31] < 0.15f && lbl_1_bss_6080[temp_r31]) { + VECSubtract(&arg0->unk1C, &sp24, &spC); + temp_f31 = VECMag(&spC); + if(temp_f31 > 81.25f) { + temp_f31 += 162.5f*lbl_1_bss_5880[temp_r31]; + if(temp_f31 < temp_f30) { + temp_f30 = temp_f31; + sp18 = sp24; + } + } + } + sp24.x += (1300.0f/32.0f); + } + sp24.z += (1300.0f/32.0f); + } + sp18.x += ((1300.0f/32000.0f)*frandmod(1000))-(1300.0f/64.0f); + sp18.z += ((1300.0f/32000.0f)*frandmod(1000))-(1300.0f/64.0f); + *arg1 = sp18; } s32 fn_1_8884(Vec *arg0, float arg1, float arg2, float arg3, float arg4, float arg5, s32 arg6, s32 arg7) { - float temp_f31; - float temp_f30; - Vec sp24; - Work6A88 *temp_r31; - s32 temp_r30; - s32 temp_r28; - Work6A88 *temp_r23; - temp_r23 = lbl_1_bss_7880->data; - temp_r30 = -1; - temp_r31 = temp_r23; - for (temp_r28 = 0; temp_r28 < 20; temp_r28++, temp_r31++) { - if (temp_r31->unk10 == 0) { - continue; - } - VECSubtract(&temp_r31->unk1C, arg0, &sp24); - temp_f30 = VECMag(&sp24); - if (temp_f30 < arg1 || temp_f30 > arg2) { - continue; - } - temp_f31 = atan2d(sp24.x, sp24.z); - temp_f31 = fn_1_67AC(arg3, temp_f31); - if (temp_f31 < arg4 || temp_f31 > arg5) { - continue; - } - temp_r30++; - if (arg6) { - temp_r31->unk14 = 1; - temp_r31->unk10 = 0; - temp_r31->unk4 = 1; - fn_1_83C8(temp_r31->unk18); - temp_r31->unk18 = -1; - temp_r31->unkE = arg7; - HuAudFXPlay(1733); - temp_r30 = temp_r28; - break; - } - } - if (!arg6) { - temp_r30++; - } - return temp_r30; + float temp_f31; + float temp_f30; + Vec sp24; + Work6A88 *temp_r31; + s32 temp_r30; + s32 temp_r28; + Work6A88 *temp_r23; + temp_r23 = lbl_1_bss_7880->data; + temp_r30 = -1; + temp_r31 = temp_r23; + for(temp_r28=0; temp_r28<20; temp_r28++, temp_r31++) { + if(temp_r31->unk10 == 0) { + continue; + } + VECSubtract(&temp_r31->unk1C, arg0, &sp24); + temp_f30 = VECMag(&sp24); + if(temp_f30 < arg1 || temp_f30 > arg2) { + continue; + } + temp_f31 = atan2d(sp24.x, sp24.z); + temp_f31 = fn_1_67AC(arg3, temp_f31); + if(temp_f31 < arg4 || temp_f31 > arg5) { + continue; + } + temp_r30++; + if(arg6) { + temp_r31->unk14 = 1; + temp_r31->unk10 = 0; + temp_r31->unk4 = 1; + fn_1_83C8(temp_r31->unk18); + temp_r31->unk18 = -1; + temp_r31->unkE = arg7; + HuAudFXPlay(1733); + temp_r30 = temp_r28; + break; + } + + } + if(!arg6) { + temp_r30++; + } + return temp_r30; } void fn_1_8AEC(s16 arg0, Vec *arg1) { - Work6A88 *temp_r31; - Work6A88 *temp_r30 = lbl_1_bss_7880->data; - if (arg0 < 0 || arg0 >= 20) { - return; - } - temp_r31 = &temp_r30[arg0]; - temp_r31->unk1C = *arg1; + Work6A88 *temp_r31; + Work6A88 *temp_r30 = lbl_1_bss_7880->data; + if(arg0 < 0 || arg0 >= 20) { + return; + } + temp_r31 = &temp_r30[arg0]; + temp_r31->unk1C = *arg1; } void fn_1_8B58(s16 arg0) { - Work6A88 *temp_r31; - s32 temp_r30; - Work6A88 *temp_r28 = lbl_1_bss_7880->data; - if (arg0 < 0 || arg0 >= 20) { - return; - } - temp_r31 = &temp_r28[arg0]; - temp_r31->unk4 = 2; - temp_r31->unk8 = 0; - if (temp_r31->unk1C.x >= 0.0f) { - temp_r30 = 1; - } - else { - temp_r30 = 0; - } - fn_1_1C44(temp_r30, temp_r31->unk0); + Work6A88 *temp_r31; + s32 temp_r30; + Work6A88 *temp_r28 = lbl_1_bss_7880->data; + if(arg0 < 0 || arg0 >= 20) { + return; + } + temp_r31 = &temp_r28[arg0]; + temp_r31->unk4 = 2; + temp_r31->unk8 = 0; + if(temp_r31->unk1C.x >= 0.0f) { + temp_r30 = 1; + } else { + temp_r30 = 0; + } + fn_1_1C44(temp_r30, temp_r31->unk0); } void fn_1_8C14(s32 arg0, Vec *arg1, float arg2) { - Bss7480Struct *temp_r31; - s32 temp_r30; - temp_r31 = lbl_1_bss_7480; - for (temp_r30 = 0; temp_r30 < 32; temp_r30++, temp_r31++) { - if (temp_r31->unk0 && temp_r31->unk8 == arg0) { - temp_r31->unk0 *= 0.8f; - } - } - temp_r31 = lbl_1_bss_7480; - for (temp_r30 = 0; temp_r30 < 32; temp_r30++, temp_r31++) { - if (!temp_r31->unk0) { - temp_r31->unk4 = 0.5 * REFRESH_RATE; - temp_r31->unk0 = (REFRESH_RATE * (3.0f * arg2)) + 2.5f * REFRESH_RATE; - temp_r31->unk8 = arg0; - temp_r31->unk14 = *arg1; - temp_r31->unkC = 0; - temp_r31->unk10 = 150.0f + (250.0f * arg2); - break; - } - } + Bss7480Struct *temp_r31; + s32 temp_r30; + temp_r31 = lbl_1_bss_7480; + for(temp_r30=0; temp_r30<32; temp_r30++, temp_r31++) { + if(temp_r31->unk0 && temp_r31->unk8 == arg0) { + temp_r31->unk0 *= 0.8f; + } + } + temp_r31 = lbl_1_bss_7480; + for(temp_r30=0; temp_r30<32; temp_r30++, temp_r31++) { + if(!temp_r31->unk0) { + temp_r31->unk4 = 30; + temp_r31->unk0 = (60.0f*(3.0f*arg2))+150.0f; + temp_r31->unk8 = arg0; + temp_r31->unk14 = *arg1; + temp_r31->unkC = 0; + temp_r31->unk10 = 150.0f+(250.0f*arg2); + break; + } + } } s32 fn_1_8D78(Vec *arg0) { - s32 temp_r31; - s32 temp_r30; - s32 temp_r29 = -1; - temp_r31 = (16.0f / 650.0f) * (670.3125f + arg0->x); - temp_r30 = (16.0f / 650.0f) * (670.3125f + arg0->z); - if (temp_r31 >= 0 && temp_r31 < 32 && temp_r30 >= 0 && temp_r30 < 32) { - temp_r29 = temp_r31 + (32 * temp_r30); - } - return temp_r29; + s32 temp_r31; + s32 temp_r30; + s32 temp_r29 = -1; + temp_r31 = (16.0f/650.0f)*(670.3125f+arg0->x); + temp_r30 = (16.0f/650.0f)*(670.3125f+arg0->z); + if(temp_r31 >= 0 && temp_r31 < 32 && temp_r30 >= 0 && temp_r30 < 32) { + temp_r29 = temp_r31+(32*temp_r30); + } + return temp_r29; } s32 fn_1_8E2C(s32 arg0, Vec *arg1) { - s32 temp_r31; - s32 temp_r30; - if (arg0 < 0 || arg0 >= 1024) { - arg1->x = arg1->y = arg1->z = 0; - return 0; - } - temp_r31 = arg0 % 32; - temp_r30 = (arg0 - temp_r31) / 32; - arg1->x = ((1300.0f / 32.0f) * temp_r31) - 670.3125f; - arg1->y = 0; - arg1->z = ((1300.0f / 32.0f) * temp_r30) - 670.3125f; - return 1; + s32 temp_r31; + s32 temp_r30; + if(arg0 < 0 || arg0 >= 1024) { + arg1->x = arg1->y = arg1->z = 0; + return 0; + } + temp_r31 = arg0%32; + temp_r30 = (arg0-temp_r31)/32; + arg1->x = ((1300.0f/32.0f)*temp_r31)-670.3125f; + arg1->y = 0; + arg1->z = ((1300.0f/32.0f)*temp_r30)-670.3125f; + return 1; } s32 fn_1_8F3C(s32 arg0) { - s32 sp8[9][2] = { -1, -1, 0, -1, 1, -1, -1, 0, 0, 0, 1, 0, -1, 1, 0, 1, 1, 1 }; - if (arg0 < 0 || arg0 >= 1024) { - return 0; - } - return lbl_1_bss_5880[arg0]; + s32 sp8[9][2] = { + -1,-1, + 0,-1, + 1,-1, + -1,0, + 0,0, + 1,0, + -1,1, + 0,1, + 1,1 + }; + if(arg0 < 0 || arg0 >= 1024) { + return 0; + } + return lbl_1_bss_5880[arg0]; } s32 fn_1_8FA0(Vec *arg0) { - s32 sp24[9][2] = { -1, -1, 0, -1, 1, -1, -1, 0, 0, 0, 1, 0, -1, 1, 0, 1, 1, 1 }; - Vec sp18; - Vec spC; - s32 temp_r31; - s32 temp_r30; - s32 temp_r29; - s32 temp_r28; - s32 temp_r27 = -1; - float temp_f31; - float temp_f30 = 5000; - sp18.y = 0; - sp18.z = -650; - for (temp_r31 = 0; temp_r31 < 32; temp_r31++) { - temp_r30 = temp_r31 * 32; - sp18.x = -650; - for (temp_r29 = 0; temp_r29 < 32; temp_r29++, temp_r30++) { - temp_r28 = lbl_1_bss_5880[temp_r30]; - if (temp_r28 > 0) { - VECSubtract(arg0, &sp18, &spC); - temp_f31 = VECMag(&spC) + (0.2f * frandmod(1000)); - temp_f31 -= 50.0f * temp_r28; - if (temp_f31 < temp_f30) { - temp_f30 = temp_f31; - temp_r27 = temp_r30; - } - } - sp18.x += (1300.0f / 32.0f); - } - sp18.z += (1300.0f / 32.0f); - } - return temp_r27; -} + s32 sp24[9][2] = { + -1,-1, + 0,-1, + 1,-1, + -1,0, + 0,0, + 1,0, + -1,1, + 0,1, + 1,1 + }; + Vec sp18; + Vec spC; + s32 temp_r31; + s32 temp_r30; + s32 temp_r29; + s32 temp_r28; + s32 temp_r27 = -1; + float temp_f31; + float temp_f30 = 5000; + sp18.y = 0; + sp18.z = -650; + for(temp_r31=0; temp_r31<32; temp_r31++) { + temp_r30 = temp_r31*32; + sp18.x = -650; + for(temp_r29=0; temp_r29<32; temp_r29++, temp_r30++) { + temp_r28 = lbl_1_bss_5880[temp_r30]; + if(temp_r28 > 0) { + VECSubtract(arg0, &sp18, &spC); + temp_f31 = VECMag(&spC)+(0.2f*frandmod(1000)); + temp_f31 -= 50.0f*temp_r28; + if(temp_f31 < temp_f30) { + temp_f30 = temp_f31; + temp_r27 = temp_r30; + } + } + sp18.x += (1300.0f/32.0f); + } + sp18.z += (1300.0f/32.0f); + } + return temp_r27; +} \ No newline at end of file diff --git a/src/REL/m434Dll/main.c b/src/REL/m434Dll/main.c index bfe8d0df..70261dd1 100644 --- a/src/REL/m434Dll/main.c +++ b/src/REL/m434Dll/main.c @@ -1,26 +1,23 @@ -#include "game/audio.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" #include "game/object.h" #include "game/objsub.h" -#include "game/sprite.h" +#include "game/hsfman.h" +#include "game/hsfmotion.h" +#include "game/audio.h" #include "game/wipe.h" -#include "REL/m434Dll.h" -#include "ext_math.h" -#include "game/gamework_data.h" #include "game/minigame_seq.h" +#include "game/gamework_data.h" +#include "REL/m434Dll.h" #include "math.h" -#include "version.h" +#include "ext_math.h" + +#include "rel_sqrt_consts.h" -#ifndef __MWERKS__ -#include "game/esprite.h" -#endif typedef struct camera_view { - float zoom; - Vec pos; - Vec rot; + float zoom; + Vec pos; + Vec rot; } CameraView; Vec lbl_1_data_0 = { -700, 2500, -700 }; @@ -31,6 +28,7 @@ Vec lbl_1_data_28 = { -700, 2500, 700 }; Vec lbl_1_data_34 = { 0, 1, 0 }; Vec lbl_1_data_40 = { 0, 0, 0 }; + omObjData *lbl_1_bss_3D4; omObjData *lbl_1_bss_3D0; omObjData *lbl_1_bss_3CC; @@ -63,58 +61,58 @@ void fn_1_16B4(void); void ObjectSetup(void) { - s32 i; - Process *objman; - OSReport("******* M434ObjectSetup *********\n"); - objman = omInitObjMan(50, 8192); - omGameSysInit(objman); - CZoom = 2097.6f; - Center.x = 0; - Center.y = 172; - Center.z = 361; - CRot.x = -32; - CRot.y = 0; - CRot.z = 0; - for (i = 0; i < 4; i++) { - CZoomM[i] = CZoom; - CenterM[i] = Center; - CRotM[i] = CRot; - } - fn_1_16B4(); - Hu3DCameraCreate(15); - Hu3DCameraPerspectiveSet(2, 30, 20, 25000, 1.2f); - Hu3DCameraViewportSet(2, 0, 0, 320, 240, 0, 1); - Hu3DCameraPerspectiveSet(13, 30, 20, 25000, 1.2f); - Hu3DCameraViewportSet(13, 0, 0, 640, 480, 0, 1); - lbl_1_bss_3CC = omAddObjEx(objman, 32730, 0, 0, -1, omOutViewMulti); - lbl_1_bss_3CC->work[0] = 4; - HuAudSndGrpSet(59); - lbl_1_data_C.x = -lbl_1_data_0.x; - lbl_1_data_C.y = -lbl_1_data_0.y; - lbl_1_data_C.z = -lbl_1_data_0.z; - VECNormalize(&lbl_1_data_C, &lbl_1_data_C); - lbl_1_bss_3B0 = Hu3DGLightCreateV(&lbl_1_data_0, &lbl_1_data_C, &lbl_1_data_24); - Hu3DGLightInfinitytSet(lbl_1_bss_3B0); - Hu3DGLightStaticSet(lbl_1_bss_3B0, 1); - for (i = 0; i < 4; i++) { - lbl_1_bss_3A0[i] = GWPlayerCfg[i].group; - } - lbl_1_bss_3D4 = omAddObjEx(objman, 0, 0, 0, -1, fn_1_4FC); - lbl_1_bss_3D0 = omAddObjEx(objman, 0, 1, 0, -1, fn_1_CC8); - fn_1_1DB0(objman); - fn_1_4854(objman); - fn_1_6860(objman); - fn_1_1104(objman); + s32 i; + Process *objman; + OSReport("******* M434ObjectSetup *********\n"); + objman = omInitObjMan(50, 8192); + omGameSysInit(objman); + CZoom = 2097.6f; + Center.x = 0; + Center.y = 172; + Center.z = 361; + CRot.x = -32; + CRot.y = 0; + CRot.z = 0; + for(i=0; i<4; i++) { + CZoomM[i] = CZoom; + CenterM[i] = Center; + CRotM[i] = CRot; + } + fn_1_16B4(); + Hu3DCameraCreate(15); + Hu3DCameraPerspectiveSet(2, 30, 20, 25000, 1.2f); + Hu3DCameraViewportSet(2, 0, 0, 320, 240, 0, 1); + Hu3DCameraPerspectiveSet(13, 30, 20, 25000, 1.2f); + Hu3DCameraViewportSet(13, 0, 0, 640, 480, 0, 1); + lbl_1_bss_3CC = omAddObjEx(objman, 32730, 0, 0, -1, omOutViewMulti); + lbl_1_bss_3CC->work[0] = 4; + HuAudSndGrpSet(59); + lbl_1_data_C.x = -lbl_1_data_0.x; + lbl_1_data_C.y = -lbl_1_data_0.y; + lbl_1_data_C.z = -lbl_1_data_0.z; + VECNormalize(&lbl_1_data_C, &lbl_1_data_C); + lbl_1_bss_3B0 = Hu3DGLightCreateV(&lbl_1_data_0, &lbl_1_data_C, &lbl_1_data_24); + Hu3DGLightInfinitytSet(lbl_1_bss_3B0); + Hu3DGLightStaticSet(lbl_1_bss_3B0, 1); + for(i=0; i<4; i++) { + lbl_1_bss_3A0[i] = GWPlayerCfg[i].group; + } + lbl_1_bss_3D4 = omAddObjEx(objman, 0, 0, 0, -1, fn_1_4FC); + lbl_1_bss_3D0 = omAddObjEx(objman, 0, 1, 0, -1, fn_1_CC8); + fn_1_1DB0(objman); + fn_1_4854(objman); + fn_1_6860(objman); + fn_1_1104(objman); } void fn_1_558(omObjData *object); void fn_1_4FC(omObjData *object) { - fn_1_1D64(0); - lbl_1_bss_3AA = 0; - lbl_1_bss_3A8 = 0; - object->func = fn_1_558; + fn_1_1D64(0); + lbl_1_bss_3AA = 0; + lbl_1_bss_3A8 = 0; + object->func = fn_1_558; } s32 lbl_1_data_70 = -1; @@ -124,138 +122,138 @@ void fn_1_1638(s32 arg0); void fn_1_558(omObjData *object) { - s32 temp_r31; - s32 temp_r29; - s32 sp10[2][4]; - s32 sp8[2]; - - switch (fn_1_1D54()) { - case 0: - lbl_1_bss_3C2 = 60; - lbl_1_bss_3C0 = REFRESH_RATE; - fn_1_1D64(1); - lbl_1_bss_10[1] = REFRESH_RATE; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - HuAudFXPlay(1736); - break; - - case 1: - if (fn_1_10F4() == 2) { - if (lbl_1_bss_10[1] != 0) { - if (--lbl_1_bss_10[1] == 0) { - lbl_1_bss_3BC = MGSeqStartCreate(); - HuAudStreamPlay("sound/mu_047a.adp", 1); - } - } - else { - if (MGSeqStatGet(lbl_1_bss_3BC) == 0) { - fn_1_1D64(2); - HuAudFXPlay(1738); - lbl_1_bss_3B8 = MGSeqTimerCreate(60); - fn_1_1638(1); - } - if (lbl_1_data_70 < 0 && (MGSeqStatGet(lbl_1_bss_3BC) & 0x10)) { - lbl_1_data_70 = HuAudSeqPlay(67); - } - } - } - break; - - case 2: - if (--lbl_1_bss_3C0 == 0) { - lbl_1_bss_3C2--; - MGSeqParamSet(lbl_1_bss_3B8, 1, lbl_1_bss_3C2); - lbl_1_bss_3C0 = REFRESH_RATE; - } - if (!lbl_1_bss_3C2 || lbl_1_bss_3A8 == 1) { - fn_1_1D64(3); - lbl_1_bss_10[1] = 60; - lbl_1_bss_3BC = MGSeqFinishCreate(); - HuAudStreamFadeOut(30); - HuAudSeqFadeOut(lbl_1_data_70, 100); - } - break; - - case 3: - if (lbl_1_bss_3B8 >= 0) { - MGSeqParamSet(lbl_1_bss_3B8, 2, -1); - lbl_1_bss_3B8 = -1; - } - if (MGSeqStatGet(lbl_1_bss_3BC) == 0) { - fn_1_1D64(4); - lbl_1_bss_10[1] = REFRESH_RATE; - } - break; - - case 4: - if (--lbl_1_bss_10[1] == 0) { - sp8[0] = sp8[1] = 0; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r29 = fn_1_1D74(temp_r31); - sp10[temp_r29][sp8[temp_r29]++] = temp_r31; - } - lbl_1_bss_3AA = fn_1_1CB8(); - switch (lbl_1_bss_3AA) { - case -1: - lbl_1_bss_3AC[0] = GWPlayerCfg[sp10[0][0]].character; - lbl_1_bss_3AC[1] = GWPlayerCfg[sp10[0][1]].character; - MGSeqWinCreate(lbl_1_bss_3AC[0], lbl_1_bss_3AC[1], -1, -1); - GWPlayerCoinWinSet(sp10[0][0], 10); - GWPlayerCoinWinSet(sp10[0][1], 10); - HuAudSStreamPlay(1); - break; - - case 0: - MGSeqDrawCreate(); - HuAudSStreamPlay(4); - break; - - case 1: - lbl_1_bss_3AC[0] = GWPlayerCfg[sp10[1][0]].character; - lbl_1_bss_3AC[1] = GWPlayerCfg[sp10[1][1]].character; - MGSeqWinCreate(lbl_1_bss_3AC[0], lbl_1_bss_3AC[1], -1, -1); - GWPlayerCoinWinSet(sp10[1][0], 10); - GWPlayerCoinWinSet(sp10[1][1], 10); - HuAudSStreamPlay(1); - break; - } - fn_1_1D64(5); - lbl_1_bss_10[1] = 3.5 * REFRESH_RATE; - } - break; - - case 5: - if (--lbl_1_bss_10[1] == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_C64; - } - - break; - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - CZoomM[temp_r31] = CZoom; - CRotM[temp_r31] = CRot; - CenterM[temp_r31] = Center; - } - if (omSysExitReq && !WipeStatGet()) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_C64; - } + s32 temp_r31; + s32 temp_r29; + s32 sp10[2][4]; + s32 sp8[2]; + + switch(fn_1_1D54()) { + case 0: + lbl_1_bss_3C2 = 60; + lbl_1_bss_3C0 = 60; + fn_1_1D64(1); + lbl_1_bss_10[1] = 60; + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + HuAudFXPlay(1736); + break; + + case 1: + if(fn_1_10F4() == 2) { + if(lbl_1_bss_10[1] != 0) { + if(--lbl_1_bss_10[1] == 0) { + lbl_1_bss_3BC = MGSeqStartCreate(); + HuAudStreamPlay("sound/mu_047a.adp", 1); + } + } else { + if(MGSeqStatGet(lbl_1_bss_3BC) == 0) { + fn_1_1D64(2); + HuAudFXPlay(1738); + lbl_1_bss_3B8 = MGSeqTimerCreate(60); + fn_1_1638(1); + } + if(lbl_1_data_70 < 0 && (MGSeqStatGet(lbl_1_bss_3BC) & 0x10)) { + lbl_1_data_70 = HuAudSeqPlay(67); + } + } + } + break; + + case 2: + if(--lbl_1_bss_3C0 == 0) { + lbl_1_bss_3C2--; + MGSeqParamSet(lbl_1_bss_3B8, 1, lbl_1_bss_3C2); + lbl_1_bss_3C0 = 60; + } + if(!lbl_1_bss_3C2 || lbl_1_bss_3A8 == 1) { + fn_1_1D64(3); + lbl_1_bss_10[1] = 60; + lbl_1_bss_3BC = MGSeqFinishCreate(); + HuAudStreamFadeOut(30); + HuAudSeqFadeOut(lbl_1_data_70, 100); + } + break; + + case 3: + if(lbl_1_bss_3B8 >= 0) { + MGSeqParamSet(lbl_1_bss_3B8, 2, -1); + lbl_1_bss_3B8 = -1; + } + if(MGSeqStatGet(lbl_1_bss_3BC) == 0) { + fn_1_1D64(4); + lbl_1_bss_10[1] = 60; + } + break; + + case 4: + if(--lbl_1_bss_10[1] == 0) { + sp8[0] = sp8[1] = 0; + for(temp_r31=0; temp_r31<4; temp_r31++) { + temp_r29 = fn_1_1D74(temp_r31); + sp10[temp_r29][sp8[temp_r29]++] = temp_r31; + } + lbl_1_bss_3AA = fn_1_1CB8(); + switch(lbl_1_bss_3AA) { + case -1: + lbl_1_bss_3AC[0] = GWPlayerCfg[sp10[0][0]].character; + lbl_1_bss_3AC[1] = GWPlayerCfg[sp10[0][1]].character; + MGSeqWinCreate(lbl_1_bss_3AC[0], lbl_1_bss_3AC[1], -1, -1); + GWPlayerCoinWinSet(sp10[0][0], 10); + GWPlayerCoinWinSet(sp10[0][1], 10); + HuAudSStreamPlay(1); + break; + + case 0: + MGSeqDrawCreate(); + HuAudSStreamPlay(4); + break; + + case 1: + lbl_1_bss_3AC[0] = GWPlayerCfg[sp10[1][0]].character; + lbl_1_bss_3AC[1] = GWPlayerCfg[sp10[1][1]].character; + MGSeqWinCreate(lbl_1_bss_3AC[0], lbl_1_bss_3AC[1], -1, -1); + GWPlayerCoinWinSet(sp10[1][0], 10); + GWPlayerCoinWinSet(sp10[1][1], 10); + HuAudSStreamPlay(1); + break; + } + fn_1_1D64(5); + lbl_1_bss_10[1] = 210; + } + break; + + case 5: + if(--lbl_1_bss_10[1] == 0) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + object->func = fn_1_C64; + } + + break; + } + for(temp_r31=0; temp_r31<4; temp_r31++) { + CZoomM[temp_r31] = CZoom; + CRotM[temp_r31] = CRot; + CenterM[temp_r31] = Center; + + } + if(omSysExitReq && !WipeStatGet()) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + object->func = fn_1_C64; + } } void fn_1_C64(omObjData *object) { - if (WipeStatGet()) { - return; - } - fn_1_1E44(); - fn_1_4964(); - fn_1_6A84(); - fn_1_1684(); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - OSReport("******* M434Exit *********\n"); + if(WipeStatGet()) { + return; + } + fn_1_1E44(); + fn_1_4964(); + fn_1_6A84(); + fn_1_1684(); + MGSeqKillAll(); + HuAudFadeOut(1); + omOvlReturnEx(1, 1); + OSReport("******* M434Exit *********\n"); } void fn_1_E44(omObjData *object); @@ -266,19 +264,20 @@ void fn_1_1A10(float arg0); void fn_1_CC8(omObjData *object) { - lbl_1_bss_8[0] = 0; - lbl_1_bss_8[1] = 140; - fn_1_16D8(); - fn_1_1950(302, 0, 125, -188, -24, 28, 0); - fn_1_1A00(1); - object->func = fn_1_E44; - omSetStatBit(object, 0x100); - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M434, 0x07)); - Hu3DModelCameraSet(object->model[0], 4); - Hu3DModelLayerSet(object->model[0], 4); - Hu3DModelPosSet(object->model[0], -50, -40, -540); - Hu3DMotionSpeedSet(object->model[0], 1); - Hu3DModelRotSet(object->model[0], 0, 70, 0); + lbl_1_bss_8[0] = 0; + lbl_1_bss_8[1] = 140; + fn_1_16D8(); + fn_1_1950(302, 0, 125, -188, -24, 28, 0); + fn_1_1A00(1); + object->func = fn_1_E44; + omSetStatBit(object, 0x100); + object->model[0] = Hu3DModelCreateFile(0x410007); + Hu3DModelCameraSet(object->model[0], 4); + Hu3DModelLayerSet(object->model[0], 4); + Hu3DModelPosSet(object->model[0], -50, -40, -540); + Hu3DMotionSpeedSet(object->model[0], 1); + Hu3DModelRotSet(object->model[0], 0, 70, 0); + } s32 lbl_1_data_A4[] = { 74, 98 }; @@ -288,327 +287,335 @@ void fn_1_10BC(omObjData *object); void fn_1_E44(omObjData *object) { - ModelData *temp_r31; - s32 temp_r30; - Vec sp8; - switch (lbl_1_bss_8[0]) { - case 0: - if (--lbl_1_bss_8[1] == 0) { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - lbl_1_bss_8[0] = 1; - } - for (temp_r30 = 0; temp_r30 < 2u; temp_r30++) { - if (lbl_1_bss_4 == lbl_1_data_A4[temp_r30]) { - temp_r31 = &Hu3DData[object->model[0]]; - sp8.x = temp_r31->pos.x + (lbl_1_data_AC[temp_r30] * cosd(temp_r31->rot.y)); - sp8.y = -15.000001f; - sp8.z = temp_r31->pos.z - (lbl_1_data_AC[temp_r30] * sind(temp_r31->rot.y)); - if (temp_r30 == 0) { - fn_1_47EC(&sp8); - HuAudFXPlay(1731); - } - else { - fn_1_43AC(&sp8); - HuAudFXPlay(1739); - } - } - } - lbl_1_bss_4++; - break; - - case 1: - lbl_1_bss_0 += 0.02f; - if (lbl_1_bss_0 >= 1.0f) { - lbl_1_bss_8[0] = 2; - lbl_1_bss_0 = 1.0f; - object->func = fn_1_10BC; - } - fn_1_1A10(lbl_1_bss_0); - break; - } + ModelData *temp_r31; + s32 temp_r30; + Vec sp8; + switch(lbl_1_bss_8[0]) { + case 0: + if(--lbl_1_bss_8[1] == 0) { + Hu3DModelAttrSet(object->model[0], 1); + lbl_1_bss_8[0] = 1; + } + for(temp_r30=0; temp_r30<2u; temp_r30++) { + if(lbl_1_bss_4 == lbl_1_data_A4[temp_r30]) { + temp_r31 = &Hu3DData[object->model[0]]; + sp8.x = temp_r31->pos.x+(lbl_1_data_AC[temp_r30]*cosd(temp_r31->rot.y)); + sp8.y = -15.000001f; + sp8.z = temp_r31->pos.z-(lbl_1_data_AC[temp_r30]*sind(temp_r31->rot.y)); + if(temp_r30 == 0) { + fn_1_47EC(&sp8); + HuAudFXPlay(1731); + } else { + fn_1_43AC(&sp8); + HuAudFXPlay(1739); + } + } + } + lbl_1_bss_4++; + break; + + case 1: + lbl_1_bss_0 += 0.02f; + if(lbl_1_bss_0 >= 1.0f) { + lbl_1_bss_8[0] = 2; + lbl_1_bss_0 = 1.0f; + object->func = fn_1_10BC; + } + fn_1_1A10(lbl_1_bss_0); + break; + } } void fn_1_1788(void); void fn_1_10BC(omObjData *object) { - fn_1_1788(); - fn_1_1788(); - object->func = NULL; + fn_1_1788(); + fn_1_1788(); + object->func = NULL; } s32 fn_1_10F4(void) { - return lbl_1_bss_8[0]; + return lbl_1_bss_8[0]; } void fn_1_1150(omObjData *object); -u16 lbl_1_data_B4[6] = { 0, 1, 2, 3, 4, 4 }; +u16 lbl_1_data_B4[6] = { + 0, 1, 2, 3, 4, 4 +}; -float lbl_1_data_C0[6][2] = { 0, 0, 0, 0, -33, -2, -9, -2, 11, -2, 31, -2 }; +float lbl_1_data_C0[6][2] = { + 0,0, + 0,0, + -33,-2, + -9,-2, + 11,-2, + 31,-2 +}; -float lbl_1_data_F0[2][2] = { 104, 56, 472, 56 }; +float lbl_1_data_F0[2][2] = { + 104, 56, + 472, 56 +}; typedef struct work_1150 { - s32 unk0; - s16 unk4; - s16 unk6[6]; - u16 unk12; + s32 unk0; + s16 unk4; + s16 unk6[6]; + u16 unk12; } Work1150; void fn_1_1104(Process *objman) { - lbl_1_bss_3C4 = omAddObjEx(objman, 0, 0, 0, -1, fn_1_1150); + lbl_1_bss_3C4 = omAddObjEx(objman, 0, 0, 0, -1, fn_1_1150); } void fn_1_1470(omObjData *object); void fn_1_1150(omObjData *object) { - Work1150 *temp_r31; - u32 temp_r30; - s32 temp_r29; - temp_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 2 * sizeof(Work1150), MEMORY_DEFAULT_NUM); - object->data = temp_r31; - memset(object->data, 0, 2 * sizeof(Work1150)); - for (temp_r29 = 0; temp_r29 < 2; temp_r31++, temp_r29++) { - for (temp_r30 = 0; temp_r30 < 6; temp_r30++) { - switch (lbl_1_data_B4[temp_r30]) { - case 0: - temp_r31->unk6[temp_r30] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x1D), 1, 0); - espPriSet(temp_r31->unk6[temp_r30], 256); - espColorSet(temp_r31->unk6[temp_r30], 0, 0, 0); - espTPLvlSet(temp_r31->unk6[temp_r30], 0.5); - break; - - case 1: - temp_r31->unk6[temp_r30] - = espEntry((temp_r29 == 0) ? DATA_MAKE_NUM(DATADIR_MGCONST, 0x1B) : DATA_MAKE_NUM(DATADIR_MGCONST, 0x1C), 1, 0); - espPriSet(temp_r31->unk6[temp_r30], 256); - break; - - case 2: - temp_r31->unk6[temp_r30] = espEntry(DATA_MAKE_NUM(DATADIR_M434, 0x0C), 1, 0); - espPriSet(temp_r31->unk6[temp_r30], 256); - espScaleSet(temp_r31->unk6[temp_r30], 0.75, 0.75); - break; - - case 3: - temp_r31->unk6[temp_r30] = espEntry(DATA_MAKE_NUM(DATADIR_M434, 0x0D), 1, 0); - espPriSet(temp_r31->unk6[temp_r30], 256); - break; - - case 4: - temp_r31->unk6[temp_r30] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x33), 1, 0); - espPriSet(temp_r31->unk6[temp_r30], 255); - break; - } - espDispOff(temp_r31->unk6[temp_r30]); - espDrawNoSet(temp_r31->unk6[temp_r30], 0); - espAttrSet(temp_r31->unk6[temp_r30], HUSPR_ATTR_NOANIM); - espPosSet(temp_r31->unk6[temp_r30], lbl_1_data_F0[temp_r29][0] + lbl_1_data_C0[temp_r30][0], - lbl_1_data_F0[temp_r29][1] + lbl_1_data_C0[temp_r30][1]); - } - temp_r31->unk0 = -1; - } - HuDataDirClose(DATADIR_MGCONST); - object->func = fn_1_1470; + Work1150 *temp_r31; + u32 temp_r30; + s32 temp_r29; + temp_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 2*sizeof(Work1150), MEMORY_DEFAULT_NUM); + object->data = temp_r31; + memset(object->data, 0, 2*sizeof(Work1150)); + for(temp_r29=0; temp_r29<2; temp_r31++, temp_r29++) { + for(temp_r30=0; temp_r30<6; temp_r30++) { + switch(lbl_1_data_B4[temp_r30]) { + case 0: + temp_r31->unk6[temp_r30] = espEntry(0x61001D, 1, 0); + espPriSet(temp_r31->unk6[temp_r30], 256); + espColorSet(temp_r31->unk6[temp_r30], 0, 0, 0); + espTPLvlSet(temp_r31->unk6[temp_r30], 0.5); + break; + + case 1: + temp_r31->unk6[temp_r30] = espEntry((temp_r29 == 0) ? 0x61001B : 0x61001C, 1, 0); + espPriSet(temp_r31->unk6[temp_r30], 256); + break; + + case 2: + temp_r31->unk6[temp_r30] = espEntry(0x41000C, 1, 0); + espPriSet(temp_r31->unk6[temp_r30], 256); + espScaleSet(temp_r31->unk6[temp_r30], 0.75, 0.75); + break; + + case 3: + temp_r31->unk6[temp_r30] = espEntry(0x41000D, 1, 0); + espPriSet(temp_r31->unk6[temp_r30], 256); + break; + + case 4: + temp_r31->unk6[temp_r30] = espEntry(0x610033, 1, 0); + espPriSet(temp_r31->unk6[temp_r30], 255); + break; + } + espDispOff(temp_r31->unk6[temp_r30]); + espDrawNoSet(temp_r31->unk6[temp_r30], 0); + espAttrSet(temp_r31->unk6[temp_r30], 1); + espPosSet(temp_r31->unk6[temp_r30], lbl_1_data_F0[temp_r29][0]+lbl_1_data_C0[temp_r30][0], lbl_1_data_F0[temp_r29][1]+lbl_1_data_C0[temp_r30][1]); + } + temp_r31->unk0 = -1; + } + HuDataDirClose(0x610000); + object->func = fn_1_1470; } void fn_1_1470(omObjData *object) { - float temp_f31; - Work1150 *temp_r31; - s32 temp_r30; - s32 temp_r29; - temp_r31 = object->data; - for (temp_r29 = 0; temp_r29 < 2; temp_r29++, temp_r31++) { - if (temp_r31->unk0 >= 0) { - if (temp_r31->unk0 == 0) { - for (temp_r30 = 0; temp_r30 < 6; temp_r30++) { - espDispOn(temp_r31->unk6[temp_r30]); - } - temp_r31->unk0++; - } - if (temp_r31->unk12) { - temp_r31->unk12--; - temp_f31 = (0.5 * sind((180.0f * temp_r31->unk12) / 16.0f)) + 1.0; - espScaleSet(temp_r31->unk6[4], temp_f31, temp_f31); - espScaleSet(temp_r31->unk6[5], temp_f31, temp_f31); - } - espBankSet(temp_r31->unk6[4], temp_r31->unk4 / 10); - espBankSet(temp_r31->unk6[5], temp_r31->unk4 % 10); - } - } + float temp_f31; + Work1150 *temp_r31; + s32 temp_r30; + s32 temp_r29; + temp_r31 = object->data; + for(temp_r29=0; temp_r29<2; temp_r29++, temp_r31++) { + if(temp_r31->unk0 >= 0) { + if(temp_r31->unk0 == 0) { + for(temp_r30=0; temp_r30<6; temp_r30++) { + espDispOn(temp_r31->unk6[temp_r30]); + } + temp_r31->unk0++; + } + if(temp_r31->unk12) { + temp_r31->unk12--; + temp_f31 = (0.5*sind((180.0f*temp_r31->unk12)/16.0f))+1.0; + espScaleSet(temp_r31->unk6[4], temp_f31, temp_f31); + espScaleSet(temp_r31->unk6[5], temp_f31, temp_f31); + } + espBankSet(temp_r31->unk6[4], temp_r31->unk4/10); + espBankSet(temp_r31->unk6[5], temp_r31->unk4%10); + } + } } void fn_1_1638(s32 arg0) { - Work1150 *temp_r31; - s32 temp_r30; - temp_r31 = lbl_1_bss_3C4->data; - for (temp_r30 = 0; temp_r30 < 2; temp_r30++, temp_r31++) { - temp_r31->unk0 = 0; - } + Work1150 *temp_r31; + s32 temp_r30; + temp_r31 = lbl_1_bss_3C4->data; + for(temp_r30=0; temp_r30<2; temp_r30++, temp_r31++) { + temp_r31->unk0 = 0; + } } void fn_1_1684(void) { - HuMemDirectFree(lbl_1_bss_3C4->data); + HuMemDirectFree(lbl_1_bss_3C4->data); } void fn_1_16B4(void) { - lbl_1_bss_39C = 0; - lbl_1_bss_18 = 0; + lbl_1_bss_39C = 0; + lbl_1_bss_18 = 0; } void fn_1_16D8(void) { - CameraView *temp_r31 = &lbl_1_bss_1C[lbl_1_bss_39C++]; - temp_r31->zoom = CZoom; - temp_r31->pos.x = Center.x; - temp_r31->pos.y = Center.y; - temp_r31->pos.z = Center.z; - temp_r31->rot.x = CRot.x; - temp_r31->rot.y = CRot.y; - temp_r31->rot.z = CRot.z; + CameraView *temp_r31 = &lbl_1_bss_1C[lbl_1_bss_39C++]; + temp_r31->zoom = CZoom; + temp_r31->pos.x = Center.x; + temp_r31->pos.y = Center.y; + temp_r31->pos.z = Center.z; + temp_r31->rot.x = CRot.x; + temp_r31->rot.y = CRot.y; + temp_r31->rot.z = CRot.z; } void fn_1_1788(void) { - CameraView *temp_r31 = &lbl_1_bss_1C[--lbl_1_bss_39C]; - CZoom = temp_r31->zoom; - Center.x = temp_r31->pos.x; - Center.y = temp_r31->pos.y; - Center.z = temp_r31->pos.z; - CRot.x = temp_r31->rot.x; - CRot.y = temp_r31->rot.y; - CRot.z = temp_r31->rot.z; + CameraView *temp_r31 = &lbl_1_bss_1C[--lbl_1_bss_39C]; + CZoom = temp_r31->zoom; + Center.x = temp_r31->pos.x; + Center.y = temp_r31->pos.y; + Center.z = temp_r31->pos.z; + CRot.x = temp_r31->rot.x; + CRot.y = temp_r31->rot.y; + CRot.z = temp_r31->rot.z; } void fn_1_1838(CameraView *arg0) { - CameraView *temp_r30; - CameraView sp8; - sp8 = lbl_1_bss_1C[lbl_1_bss_39C++]; - temp_r30 = &sp8; - memcpy(temp_r30, arg0, sizeof(CameraView)); - CZoom = arg0->zoom; - Center.x = arg0->pos.x; - Center.y = arg0->pos.y; - Center.z = arg0->pos.z; - CRot.x = arg0->rot.x; - CRot.y = arg0->rot.y; - CRot.z = arg0->rot.z; + CameraView *temp_r30; + CameraView sp8; + sp8 = lbl_1_bss_1C[lbl_1_bss_39C++]; + temp_r30 = &sp8; + memcpy(temp_r30, arg0, sizeof(CameraView)); + CZoom = arg0->zoom; + Center.x = arg0->pos.x; + Center.y = arg0->pos.y; + Center.z = arg0->pos.z; + CRot.x = arg0->rot.x; + CRot.y = arg0->rot.y; + CRot.z = arg0->rot.z; } void fn_1_1950(float arg0, float arg1, float arg2, float arg3, float arg4, float arg5, float arg6) { - CameraView *temp_r31 = &lbl_1_bss_1C[lbl_1_bss_39C++]; - temp_r31->zoom = CZoom = arg0; - temp_r31->pos.x = Center.x = arg1; - temp_r31->pos.y = Center.y = arg2; - temp_r31->pos.z = Center.z = arg3; - temp_r31->rot.x = CRot.x = arg4; - temp_r31->rot.y = CRot.y = arg5; - temp_r31->rot.z = CRot.z = arg6; + CameraView *temp_r31 = &lbl_1_bss_1C[lbl_1_bss_39C++]; + temp_r31->zoom = CZoom = arg0; + temp_r31->pos.x = Center.x = arg1; + temp_r31->pos.y = Center.y = arg2; + temp_r31->pos.z = Center.z = arg3; + temp_r31->rot.x = CRot.x = arg4; + temp_r31->rot.y = CRot.y = arg5; + temp_r31->rot.z = CRot.z = arg6; } void fn_1_1A00(s32 arg0) { - lbl_1_bss_18 = arg0; + lbl_1_bss_18 = arg0; } -#define LERP_PARAM(view1, view2, field, weight) ((view1)->field +) +#define LERP_PARAM(view1, view2, field, weight) ((view1)->field+) void fn_1_1A10(float arg0) { - float weight; - CameraView *view1 = &lbl_1_bss_1C[lbl_1_bss_39C - 1]; - CameraView *view2 = view1 - 1; - if (lbl_1_bss_39C < 2) { - return; - } - switch (lbl_1_bss_18) { - case 0: - weight = arg0; - break; - - case 1: - weight = sind(90.0f * arg0); - break; - - case 2: - weight = sind(90.0f * arg0); - weight *= weight; - break; - } - - CZoom = view1->zoom + (weight * (view2->zoom - view1->zoom)); - Center.x = view1->pos.x + (weight * (view2->pos.x - view1->pos.x)); - Center.y = view1->pos.y + (weight * (view2->pos.y - view1->pos.y)); - Center.z = view1->pos.z + (weight * (view2->pos.z - view1->pos.z)); - CRot.x = view1->rot.x + (weight * (view2->rot.x - view1->rot.x)); - CRot.y = view1->rot.y + (weight * (view2->rot.y - view1->rot.y)); - CRot.z = view1->rot.z + (weight * (view2->rot.z - view1->rot.z)); + float weight; + CameraView *view1 = &lbl_1_bss_1C[lbl_1_bss_39C-1]; + CameraView *view2 = view1-1; + if(lbl_1_bss_39C < 2) { + return; + } + switch(lbl_1_bss_18) { + case 0: + weight = arg0; + break; + + case 1: + weight = sind(90.0f*arg0); + break; + + case 2: + weight = sind(90.0f*arg0); + weight *= weight; + break; + } + + CZoom = view1->zoom+(weight*(view2->zoom-view1->zoom)); + Center.x = view1->pos.x+(weight*(view2->pos.x-view1->pos.x)); + Center.y = view1->pos.y+(weight*(view2->pos.y-view1->pos.y)); + Center.z = view1->pos.z+(weight*(view2->pos.z-view1->pos.z)); + CRot.x = view1->rot.x+(weight*(view2->rot.x-view1->rot.x)); + CRot.y = view1->rot.y+(weight*(view2->rot.y-view1->rot.y)); + CRot.z = view1->rot.z+(weight*(view2->rot.z-view1->rot.z)); } void fn_1_1C44(s32 arg0, s32 arg1) { - Work1150 *temp_r31 = &((Work1150 *)lbl_1_bss_3C4->data)[arg0]; - temp_r31->unk4 += arg1; - temp_r31->unk12 = 16; + Work1150 *temp_r31 = &((Work1150 *)lbl_1_bss_3C4->data)[arg0]; + temp_r31->unk4 += arg1; + temp_r31->unk12 = 16; } s32 fn_1_1C88(s32 arg0) { - Work1150 *temp_r31 = &((Work1150 *)lbl_1_bss_3C4->data)[arg0]; - return temp_r31->unk4; + Work1150 *temp_r31 = &((Work1150 *)lbl_1_bss_3C4->data)[arg0]; + return temp_r31->unk4; } s32 fn_1_1CB8(void) { - s32 temp_r31 = fn_1_1C88(0); - s32 temp_r30 = fn_1_1C88(1); - if (temp_r31 == temp_r30) { - return 0; - } - if (temp_r31 > temp_r30) { - return -1; - } - else { - return 1; - } + s32 temp_r31 = fn_1_1C88(0); + s32 temp_r30 = fn_1_1C88(1); + if(temp_r31 == temp_r30) { + return 0; + } + if(temp_r31 > temp_r30) { + return -1; + } else { + return 1; + } } s16 fn_1_1D44(void) { - return lbl_1_bss_3C2; + return lbl_1_bss_3C2; } s32 fn_1_1D54(void) { - return lbl_1_bss_10[0]; + return lbl_1_bss_10[0]; } void fn_1_1D64(s32 arg0) { - lbl_1_bss_10[0] = arg0; + lbl_1_bss_10[0] = arg0; } s32 fn_1_1D74(s32 arg0) { - return lbl_1_bss_3A0[arg0]; + return lbl_1_bss_3A0[arg0]; } s32 fn_1_1D8C(void) { - return lbl_1_bss_3AA; + return lbl_1_bss_3AA; } void fn_1_1D9C(void) { - lbl_1_bss_3A8 = 1; + lbl_1_bss_3A8 = 1; } diff --git a/src/REL/m434Dll/map.c b/src/REL/m434Dll/map.c index ee77f381..ff42bdf1 100644 --- a/src/REL/m434Dll/map.c +++ b/src/REL/m434Dll/map.c @@ -1,57 +1,57 @@ -#include "game/hsfdraw.h" -#include "game/hsfman.h" #include "game/object.h" #include "game/objsub.h" +#include "game/hsfman.h" +#include "game/hsfdraw.h" -#include "game/audio.h" -#include "game/frand.h" #include "game/hsfmotion.h" -#include "game/sprite.h" +#include "game/audio.h" #include "game/wipe.h" +#include "game/sprite.h" +#include "game/frand.h" -#include "REL/m434Dll.h" -#include "ext_math.h" -#include "game/gamework_data.h" #include "game/minigame_seq.h" +#include "game/gamework_data.h" +#include "REL/m434Dll.h" #include "math.h" -#include "version.h" +#include "ext_math.h" typedef struct bss_2468_data { - Vec unk0; - u16 unkC; + Vec unk0; + u16 unkC; } Bss2468Data; typedef struct bss_450_data { - void *unk0; - u32 unk4; + void *unk0; + u32 unk4; } Bss450Data; typedef struct bss_3F0_data { - void *unk0; - u16 unk4; - u16 unk6; - u16 unk8; - u16 unkA; - u32 unkC; - s32 unk10; + void *unk0; + u16 unk4; + u16 unk6; + u16 unk8; + u16 unkA; + u32 unkC; + s32 unk10; } Bss3F0Data; typedef struct struct_data100 { - u16 unk0; - u16 unk2; - u16 unk4; - u16 unk6; - u16 unk8; + u16 unk0; + u16 unk2; + u16 unk4; + u16 unk6; + u16 unk8; } StructData100; StructData100 lbl_1_data_100[5] = { - { 200, 200, 200, 200, 0 }, - { 320, 240, 160, 120, 1 }, - { 640, 480, 320, 240, 1 }, - { 640, 480, 640, 480, 0 }, - { 0, 0, 0, 0, 0 }, + { 200, 200, 200, 200, 0 }, + { 320, 240, 160, 120, 1 }, + { 640, 480, 320, 240, 1 }, + { 640, 480, 640, 480, 0 }, + { 0, 0, 0, 0, 0 }, }; + omObjData *lbl_1_bss_5868; Vec lbl_1_bss_2868[1024]; Bss2468Data lbl_1_bss_2468[64]; @@ -70,17 +70,17 @@ void fn_1_1E64(omObjData *object); void fn_1_1DB0(Process *objman) { - "\0"; // Force lbl_1_data_132 to 0 - lbl_1_bss_5868 = omAddObjEx(objman, 10, 16, 0, -1, fn_1_1E64); - CenterM[1].y = -CenterM[2].y + -15.000001f; - CRotM[1].x = -CRotM[2].x; + "\0"; //Force lbl_1_data_132 to 0 + lbl_1_bss_5868 = omAddObjEx(objman, 10, 16, 0, -1, fn_1_1E64); + CenterM[1].y = -CenterM[2].y + -15.000001f; + CRotM[1].x = -CRotM[2].x; } void fn_1_28F0(void); void fn_1_1E44(void) { - fn_1_28F0(); + fn_1_28F0(); } void fn_1_26A4(omObjData *object); @@ -98,376 +98,384 @@ void fn_1_443C(ModelData *model, ParticleData *particle, Mtx matrix); void fn_1_1E64(omObjData *object) { - s32 temp_r30; - Vec *temp_r29; - HsfVector2f *temp_r28; - s32 temp_r27; - AnimData *temp_r26; - - object->model[9] = Hu3DHookFuncCreate(fn_1_3CC8); - Hu3DModelLayerSet(object->model[9], 1); - Hu3DModelCameraSet(object->model[9], 1); - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M434, 0x02)); - Hu3DModelLayerSet(object->model[1], 2); - Hu3DModelCameraSet(object->model[1], 2); - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M434, 0x00)); - Hu3DModelLayerSet(object->model[0], 2); - Hu3DModelCameraSet(object->model[0], 8); - object->model[8] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M434, 0x01)); - Hu3DModelLayerSet(object->model[8], 2); - Hu3DModelCameraSet(object->model[8], 4); - object->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M434, 0x08)); - Hu3DModelClusterAttrSet(object->model[3], 0, 0xC0000001); - Hu3DModelLayerSet(object->model[3], 2); - Hu3DModelCameraSet(object->model[3], 8); - object->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M434, 0x09)); - Hu3DModelClusterAttrSet(object->model[4], 0, 0xC0000001); - Hu3DModelLayerSet(object->model[4], 2); - Hu3DModelCameraSet(object->model[4], 8); - object->model[2] = Hu3DHookFuncCreate(fn_1_2978); - Hu3DModelLayerSet(object->model[2], 3); - Hu3DModelCameraSet(object->model[2], 8); - temp_r29 = lbl_1_bss_2868; - for (temp_r30 = 0; temp_r30 < 32; temp_r30++) { - for (temp_r27 = 0; temp_r27 < 32; temp_r29++, temp_r27++) { - temp_r29->x = -700.0f + ((1400.0f * temp_r27) / 31.0f); - temp_r29->y = -15.000001f; - temp_r29->z = -600.0f + ((1200.0f * temp_r30) / 31.0f); - if (temp_r30 & 0x1) { - temp_r29->x += 700.0f / 31.0f; - } - } - } - DCFlushRangeNoSync(lbl_1_bss_2868, sizeof(lbl_1_bss_2868)); - temp_r28 = lbl_1_bss_464; - for (temp_r30 = 0; temp_r30 < 1024; temp_r30++, temp_r28++) { - temp_r28->x = 360.0f * ((1.0f / 256.0f) * frand8()); - temp_r28->y = 2.0f * ((1.0f / 256.0f) * frand8()) + 0.5f; - } - memset(lbl_1_bss_2468, 0, sizeof(lbl_1_bss_2468)); - lbl_1_bss_2464 = 0; - lbl_1_bss_450.unk4 = 16384; - lbl_1_bss_450.unk0 = HuMemDirectMallocNum(HEAP_SYSTEM, lbl_1_bss_450.unk4, MEMORY_DEFAULT_NUM); - DCInvalidateRange(lbl_1_bss_450.unk0, lbl_1_bss_450.unk4); - fn_1_3004(); - lbl_1_bss_440.unk4 = 16384; - lbl_1_bss_440.unk0 = HuMemDirectMallocNum(HEAP_SYSTEM, lbl_1_bss_440.unk4, MEMORY_DEFAULT_NUM); - fn_1_3128(); - lbl_1_bss_45C = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M430, 0x19)); - lbl_1_bss_458 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M434, 0x0A)); - HuDataDirClose(DATADIR_M430); - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - lbl_1_bss_3F0[temp_r30].unk4 = lbl_1_data_100[temp_r30].unk0; - lbl_1_bss_3F0[temp_r30].unk6 = lbl_1_data_100[temp_r30].unk2; - lbl_1_bss_3F0[temp_r30].unk8 = lbl_1_data_100[temp_r30].unk4; - lbl_1_bss_3F0[temp_r30].unkA = lbl_1_data_100[temp_r30].unk6; - lbl_1_bss_3F0[temp_r30].unk10 = lbl_1_data_100[temp_r30].unk8; - lbl_1_bss_3F0[temp_r30].unkC = GXGetTexBufferSize(lbl_1_bss_3F0[temp_r30].unk8, lbl_1_bss_3F0[temp_r30].unkA, GX_TF_RGB565, GX_FALSE, 0); - lbl_1_bss_3F0[temp_r30].unk0 = HuMemDirectMallocNum(HEAP_SYSTEM, lbl_1_bss_3F0[temp_r30].unkC, MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_3F0[temp_r30].unk0, 0, lbl_1_bss_3F0[temp_r30].unkC); - } - object->model[5] = Hu3DHookFuncCreate(fn_1_33A4); - Hu3DModelLayerSet(object->model[5], 3); - Hu3DModelCameraSet(object->model[5], 2); - object->model[6] = Hu3DHookFuncCreate(fn_1_349C); - Hu3DModelLayerSet(object->model[6], 3); - Hu3DModelCameraSet(object->model[6], 4); - object->model[7] = Hu3DHookFuncCreate(fn_1_3594); - Hu3DModelLayerSet(object->model[7], 5); - Hu3DModelCameraSet(object->model[7], 4); - temp_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M434, 0x0B)); - object->model[10] = Hu3DParticleCreate(temp_r26, 100); - Hu3DParticleHookSet(object->model[10], fn_1_443C); - Hu3DModelAttrSet(object->model[10], HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(object->model[10], 4); - Hu3DModelCameraSet(object->model[10], 8); - object->func = fn_1_26A4; + s32 temp_r30; + Vec *temp_r29; + HsfVector2f *temp_r28; + s32 temp_r27; + AnimData *temp_r26; + + object->model[9] = Hu3DHookFuncCreate(fn_1_3CC8); + Hu3DModelLayerSet(object->model[9], 1); + Hu3DModelCameraSet(object->model[9], 1); + object->model[1] = Hu3DModelCreateFile(0x410002); + Hu3DModelLayerSet(object->model[1], 2); + Hu3DModelCameraSet(object->model[1], 2); + object->model[0] = Hu3DModelCreateFile(0x410000); + Hu3DModelLayerSet(object->model[0], 2); + Hu3DModelCameraSet(object->model[0], 8); + object->model[8] = Hu3DModelCreateFile(0x410001); + Hu3DModelLayerSet(object->model[8], 2); + Hu3DModelCameraSet(object->model[8], 4); + object->model[3] = Hu3DModelCreateFile(0x410008); + Hu3DModelClusterAttrSet(object->model[3], 0, 0xC0000001); + Hu3DModelLayerSet(object->model[3], 2); + Hu3DModelCameraSet(object->model[3], 8); + object->model[4] = Hu3DModelCreateFile(0x410009); + Hu3DModelClusterAttrSet(object->model[4], 0, 0xC0000001); + Hu3DModelLayerSet(object->model[4], 2); + Hu3DModelCameraSet(object->model[4], 8); + object->model[2] = Hu3DHookFuncCreate(fn_1_2978); + Hu3DModelLayerSet(object->model[2], 3); + Hu3DModelCameraSet(object->model[2], 8); + temp_r29 = lbl_1_bss_2868; + for(temp_r30=0; temp_r30<32; temp_r30++) { + for(temp_r27=0; temp_r27<32; temp_r29++, temp_r27++) { + temp_r29->x = -700.0f+((1400.0f*temp_r27)/31.0f); + temp_r29->y = -15.000001f; + temp_r29->z = -600.0f+((1200.0f*temp_r30)/31.0f); + if(temp_r30 & 0x1) { + temp_r29->x += 700.0f/31.0f; + } + } + } + DCFlushRangeNoSync(lbl_1_bss_2868, sizeof(lbl_1_bss_2868)); + temp_r28 = lbl_1_bss_464; + for(temp_r30=0; temp_r30<1024; temp_r30++, temp_r28++) { + temp_r28->x = 360.0f*((1.0f/256.0f)*frand8()); + temp_r28->y = 2.0f*((1.0f/256.0f)*frand8())+0.5f; + } + memset(lbl_1_bss_2468, 0, sizeof(lbl_1_bss_2468)); + lbl_1_bss_2464 = 0; + lbl_1_bss_450.unk4 = 16384; + lbl_1_bss_450.unk0 = HuMemDirectMallocNum(HEAP_SYSTEM, lbl_1_bss_450.unk4, MEMORY_DEFAULT_NUM); + DCInvalidateRange(lbl_1_bss_450.unk0, lbl_1_bss_450.unk4); + fn_1_3004(); + lbl_1_bss_440.unk4 = 16384; + lbl_1_bss_440.unk0 = HuMemDirectMallocNum(HEAP_SYSTEM, lbl_1_bss_440.unk4, MEMORY_DEFAULT_NUM); + fn_1_3128(); + lbl_1_bss_45C = HuSprAnimReadFile(0x3D0019); + lbl_1_bss_458 = HuSprAnimReadFile(0x41000A); + HuDataDirClose(0x3D0000); + for(temp_r30=0; temp_r30<4; temp_r30++) { + lbl_1_bss_3F0[temp_r30].unk4 = lbl_1_data_100[temp_r30].unk0; + lbl_1_bss_3F0[temp_r30].unk6 = lbl_1_data_100[temp_r30].unk2; + lbl_1_bss_3F0[temp_r30].unk8 = lbl_1_data_100[temp_r30].unk4; + lbl_1_bss_3F0[temp_r30].unkA = lbl_1_data_100[temp_r30].unk6; + lbl_1_bss_3F0[temp_r30].unk10 = lbl_1_data_100[temp_r30].unk8; + lbl_1_bss_3F0[temp_r30].unkC = GXGetTexBufferSize(lbl_1_bss_3F0[temp_r30].unk8, lbl_1_bss_3F0[temp_r30].unkA, GX_TF_RGB565, GX_FALSE, 0); + lbl_1_bss_3F0[temp_r30].unk0 = HuMemDirectMallocNum(HEAP_SYSTEM, lbl_1_bss_3F0[temp_r30].unkC, MEMORY_DEFAULT_NUM); + memset(lbl_1_bss_3F0[temp_r30].unk0, 0, lbl_1_bss_3F0[temp_r30].unkC); + } + object->model[5] = Hu3DHookFuncCreate(fn_1_33A4); + Hu3DModelLayerSet(object->model[5], 3); + Hu3DModelCameraSet(object->model[5], 2); + object->model[6] = Hu3DHookFuncCreate(fn_1_349C); + Hu3DModelLayerSet(object->model[6], 3); + Hu3DModelCameraSet(object->model[6], 4); + object->model[7] = Hu3DHookFuncCreate(fn_1_3594); + Hu3DModelLayerSet(object->model[7], 5); + Hu3DModelCameraSet(object->model[7], 4); + temp_r26 = HuSprAnimReadFile(0x41000B); + object->model[10] = Hu3DParticleCreate(temp_r26, 100); + Hu3DParticleHookSet(object->model[10], fn_1_443C); + Hu3DModelAttrSet(object->model[10], 1); + Hu3DModelLayerSet(object->model[10], 4); + Hu3DModelCameraSet(object->model[10], 8); + object->func = fn_1_26A4; } HsfAttribute *fn_1_2608(s16 model, char *name) { - HsfData *temp_r31; - HsfAttribute *temp_r30; - s32 temp_r29; - ModelData *temp_r28; - HsfBitmap *temp_r27; - temp_r28 = &Hu3DData[model]; - temp_r31 = temp_r28->hsfData; - temp_r30 = temp_r31->attribute; - for (temp_r29 = 0; temp_r29 < temp_r31->attributeCnt; temp_r29++, temp_r30++) { - temp_r27 = temp_r30->bitmap; - if (strcmp(name, temp_r27->name) == 0) { - break; - } - } - if (temp_r29 >= temp_r31->attributeCnt) { - return NULL; - } - return temp_r30; + HsfData *temp_r31; + HsfAttribute *temp_r30; + s32 temp_r29; + ModelData *temp_r28; + HsfBitmap *temp_r27; + temp_r28 = &Hu3DData[model]; + temp_r31 = temp_r28->hsfData; + temp_r30 = temp_r31->attribute; + for(temp_r29=0; temp_r29attributeCnt; temp_r29++, temp_r30++) { + temp_r27 = temp_r30->bitmap; + if(strcmp(name, temp_r27->name) == 0) { + break; + } + } + if(temp_r29 >= temp_r31->attributeCnt) { + return NULL; + } + return temp_r30; } void fn_1_26A4(omObjData *object) { - s32 temp_r31; - Bss2468Data *temp_r30; - HsfVector2f *temp_r29; - HsfAttribute *temp_r27; - Vec *temp_r25; - s32 temp_r23; - s32 temp_r22; - Bss2468Data *sp8[64]; - - temp_r27 = fn_1_2608(object->model[1], "sora"); - if (temp_r27 != NULL) { - temp_r27->unk30 += 0.0001f; - temp_r27->unk34 -= 0.00005f; - } - temp_r30 = lbl_1_bss_2468; - temp_r22 = 0; - for (temp_r31 = 0; temp_r31 < 64; temp_r31++, temp_r30++) { - if (temp_r30->unkC) { - sp8[temp_r22++] = temp_r30; - } - } - temp_r25 = lbl_1_bss_2868; - temp_r29 = lbl_1_bss_464; - for (temp_r31 = 0; temp_r31 < 32; temp_r31++) { - for (temp_r23 = 0; temp_r23 < 32; temp_r23++, temp_r25++, temp_r29++) { - temp_r25->y = -15.000001f + (2.0f * sind(temp_r29->x)); - temp_r29->x += temp_r29->y; - } - } - DCFlushRangeNoSync(lbl_1_bss_2868, sizeof(lbl_1_bss_2868)); - for (temp_r31 = 0; temp_r31 < temp_r22; temp_r31++) { - temp_r30 = sp8[temp_r31]; - temp_r30->unkC--; - } - CenterM[1].y = -15.000001f + (-CenterM[2].y); - CRotM[1].x = -CRotM[2].x; + s32 temp_r31; + Bss2468Data *temp_r30; + HsfVector2f *temp_r29; + HsfAttribute *temp_r27; + Vec *temp_r25; + s32 temp_r23; + s32 temp_r22; + Bss2468Data *sp8[64]; + + temp_r27 = fn_1_2608(object->model[1], "sora"); + if(temp_r27 != NULL) { + temp_r27->unk30 += 0.0001f; + temp_r27->unk34 -= 0.00005f; + } + temp_r30 = lbl_1_bss_2468; + temp_r22 = 0; + for(temp_r31=0; temp_r31<64; temp_r31++, temp_r30++) { + if(temp_r30->unkC) { + sp8[temp_r22++] = temp_r30; + } + } + temp_r25 = lbl_1_bss_2868; + temp_r29 = lbl_1_bss_464; + for(temp_r31=0; temp_r31<32; temp_r31++) { + for(temp_r23=0; temp_r23<32; temp_r23++, temp_r25++, temp_r29++) { + temp_r25->y = -15.000001f+(2.0f*sind(temp_r29->x)); + temp_r29->x += temp_r29->y; + } + } + DCFlushRangeNoSync(lbl_1_bss_2868, sizeof(lbl_1_bss_2868)); + for(temp_r31=0; temp_r31unkC--; + } + CenterM[1].y = -15.000001f+(-CenterM[2].y); + CRotM[1].x = -CRotM[2].x; } void fn_1_28F0(void) { - s32 temp_r31; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - if (lbl_1_bss_3F0[temp_r31].unk0 != NULL) { - HuMemDirectFree(lbl_1_bss_3F0[temp_r31].unk0); - lbl_1_bss_3F0[temp_r31].unk0 = NULL; - } - } + s32 temp_r31; + for(temp_r31=0; temp_r31<4; temp_r31++) { + if(lbl_1_bss_3F0[temp_r31].unk0 != NULL) { + HuMemDirectFree(lbl_1_bss_3F0[temp_r31].unk0); + lbl_1_bss_3F0[temp_r31].unk0 = NULL; + } + } } GXColor lbl_1_data_139 = { 255, 255, 255, 64 }; -float lbl_1_data_140[2][3] = { 0.012f, 0, 0, 0, 0.012f, 0 }; +float lbl_1_data_140[2][3] = { + 0.012f, 0, 0, + 0, 0.012f, 0 +}; -float lbl_1_data_158[2][3] = { 0, 0, 0.5f, 0, 0.5f, 0 }; +float lbl_1_data_158[2][3] = { + 0, 0, 0.5f, + 0, 0.5f, 0 +}; void fn_1_2978(ModelData *model, Mtx mtx) { - float temp_f31; - - Mtx sp1AC; - Mtx sp17C; - Mtx sp14C; - Mtx sp11C; - Mtx spEC; - Mtx spBC; - Mtx sp8C; - Mtx sp5C; - Mtx sp2C; - GXTexObj spC; - GXLoadPosMtxImm(mtx, GX_PNMTX0); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - GXSetNumTexGens(4); - GXInitTexObj(&spC, lbl_1_bss_3F0[2].unk0, lbl_1_bss_3F0[2].unk8, lbl_1_bss_3F0[2].unkA, GX_TF_RGB565, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXLoadTexObj(&spC, GX_TEXMAP0); - GXInitTexObj(&spC, lbl_1_bss_3F0[1].unk0, lbl_1_bss_3F0[1].unk8, lbl_1_bss_3F0[1].unkA, GX_TF_RGB565, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXLoadTexObj(&spC, GX_TEXMAP1); - MTXLightPerspective(sp1AC, 30.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); - MTXInverse(Hu3DCameraMtx, spBC); - MTXConcat(spBC, mtx, spBC); - MTXConcat(sp1AC, Hu3DCameraMtx, sp8C); - MTXConcat(sp8C, spBC, spBC); - GXLoadTexMtxImm(spBC, GX_TEXMTX0, GX_MTX3x4); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0); - MTXLightPerspective(sp1AC, 30.0f, 1.2f, 0.5f, 0.5f, 0.5f, 0.5f); - MTXInverse(Hu3DCameraMtx, sp5C); - MTXConcat(sp5C, mtx, sp5C); - MTXConcat(sp1AC, Hu3DCameraMtx, sp2C); - MTXConcat(sp2C, sp5C, sp5C); - GXLoadTexMtxImm(sp5C, GX_TEXMTX1, GX_MTX3x4); - GXSetTexCoordGen(GX_TEXCOORD1, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX1); - GXSetNumTevStages(2); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_CPREV, GX_CC_TEXC, GX_CC_A0, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); - GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevColor(GX_TEVSTAGE1, lbl_1_data_139); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); - HuSprTexLoad(lbl_1_bss_45C, 0, GX_TEXMAP2, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXInitTexObj(&spC, lbl_1_bss_3F0[0].unk0, lbl_1_bss_3F0[0].unk8, lbl_1_bss_3F0[0].unkA, GX_TF_RGB565, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXLoadTexObj(&spC, GX_TEXMAP3); - GXSetNumIndStages(2); - MTXRotDeg(sp11C, 'X', -90.0f); - temp_f31 = 1.0f / 600.0f; - MTXScale(sp14C, temp_f31, temp_f31, temp_f31); - MTXConcat(sp14C, sp11C, sp17C); - sp17C[0][1] = -0.03f; - GXLoadTexMtxImm(sp17C, GX_TEXMTX2, GX_MTX2x4); - GXSetTexCoordGen(GX_TEXCOORD2, GX_TG_MTX2x4, GX_TG_POS, GX_TEXMTX2); - GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD2, GX_TEXMAP2); - GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); - GXSetIndTexMtx(GX_ITM_0, lbl_1_data_140, 0); - GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, GX_TRUE, GX_FALSE, GX_ITM_0); - MTXRotDeg(sp11C, 'X', -90.0f); - temp_f31 = 1.0f / 1200.0f; - MTXScale(sp14C, temp_f31, temp_f31, temp_f31); - MTXConcat(sp14C, sp11C, sp17C); - MTXTrans(spEC, 0.5f, 0.5f, 0.0f); - MTXConcat(spEC, sp17C, sp17C); - GXLoadTexMtxImm(sp17C, GX_TEXMTX3, GX_MTX2x4); - GXSetTexCoordGen(GX_TEXCOORD3, GX_TG_MTX2x4, GX_TG_POS, GX_TEXMTX3); - GXSetIndTexOrder(GX_INDTEXSTAGE1, GX_TEXCOORD3, GX_TEXMAP3); - GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1); - GXSetIndTexMtx(GX_ITM_1, lbl_1_data_158, 0); - GXSetTevIndWarp(GX_TEVSTAGE1, GX_INDTEXSTAGE1, GX_TRUE, GX_FALSE, GX_ITM_1); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, lbl_1_bss_2868, sizeof(Vec)); - GXSetCullMode(GX_CULL_BACK); - GXCallDisplayList(lbl_1_bss_450.unk0, lbl_1_bss_450.unk4); - GXSetNumIndStages(0); - GXSetTevDirect(GX_TEVSTAGE0); - GXSetTevDirect(GX_TEVSTAGE1); + float temp_f31; + + Mtx sp1AC; + Mtx sp17C; + Mtx sp14C; + Mtx sp11C; + Mtx spEC; + Mtx spBC; + Mtx sp8C; + Mtx sp5C; + Mtx sp2C; + GXTexObj spC; + GXLoadPosMtxImm(mtx, GX_PNMTX0); + GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); + GXSetNumTexGens(4); + GXInitTexObj(&spC, lbl_1_bss_3F0[2].unk0, lbl_1_bss_3F0[2].unk8, lbl_1_bss_3F0[2].unkA, GX_TF_RGB565, GX_CLAMP, GX_CLAMP, GX_FALSE); + GXLoadTexObj(&spC, GX_TEXMAP0); + GXInitTexObj(&spC, lbl_1_bss_3F0[1].unk0, lbl_1_bss_3F0[1].unk8, lbl_1_bss_3F0[1].unkA, GX_TF_RGB565, GX_CLAMP, GX_CLAMP, GX_FALSE); + GXLoadTexObj(&spC, GX_TEXMAP1); + MTXLightPerspective(sp1AC, 30.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); + MTXInverse(Hu3DCameraMtx, spBC); + MTXConcat(spBC, mtx, spBC); + MTXConcat(sp1AC, Hu3DCameraMtx, sp8C); + MTXConcat(sp8C, spBC, spBC); + GXLoadTexMtxImm(spBC, GX_TEXMTX0, GX_MTX3x4); + GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0); + MTXLightPerspective(sp1AC, 30.0f, 1.2f, 0.5f, 0.5f, 0.5f, 0.5f); + MTXInverse(Hu3DCameraMtx, sp5C); + MTXConcat(sp5C, mtx, sp5C); + MTXConcat(sp1AC, Hu3DCameraMtx, sp2C); + MTXConcat(sp2C, sp5C, sp5C); + GXLoadTexMtxImm(sp5C, GX_TEXMTX1, GX_MTX3x4); + GXSetTexCoordGen(GX_TEXCOORD1, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX1); + GXSetNumTevStages(2); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR0A0); + GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_CPREV, GX_CC_TEXC, GX_CC_A0, GX_CC_ZERO); + GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); + GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevColor(GX_TEVSTAGE1, lbl_1_data_139); + GXSetNumChans(1); + GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); + HuSprTexLoad(lbl_1_bss_45C, 0, GX_TEXMAP2, GX_REPEAT, GX_REPEAT, GX_LINEAR); + GXInitTexObj(&spC, lbl_1_bss_3F0[0].unk0, lbl_1_bss_3F0[0].unk8, lbl_1_bss_3F0[0].unkA, GX_TF_RGB565, GX_CLAMP, GX_CLAMP, GX_FALSE); + GXLoadTexObj(&spC, GX_TEXMAP3); + GXSetNumIndStages(2); + MTXRotDeg(sp11C, 'X', -90.0f); + temp_f31 = 1.0f/600.0f; + MTXScale(sp14C, temp_f31, temp_f31, temp_f31); + MTXConcat(sp14C, sp11C, sp17C); + sp17C[0][1] = -0.03f; + GXLoadTexMtxImm(sp17C, GX_TEXMTX2, GX_MTX2x4); + GXSetTexCoordGen(GX_TEXCOORD2, GX_TG_MTX2x4, GX_TG_POS, GX_TEXMTX2); + GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD2, GX_TEXMAP2); + GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); + GXSetIndTexMtx(GX_ITM_0, lbl_1_data_140, 0); + GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, GX_TRUE, GX_FALSE, GX_ITM_0); + MTXRotDeg(sp11C, 'X', -90.0f); + temp_f31 = 1.0f/1200.0f; + MTXScale(sp14C, temp_f31, temp_f31, temp_f31); + MTXConcat(sp14C, sp11C, sp17C); + MTXTrans(spEC, 0.5f, 0.5f, 0.0f); + MTXConcat(spEC, sp17C, sp17C); + GXLoadTexMtxImm(sp17C, GX_TEXMTX3, GX_MTX2x4); + GXSetTexCoordGen(GX_TEXCOORD3, GX_TG_MTX2x4, GX_TG_POS, GX_TEXMTX3); + GXSetIndTexOrder(GX_INDTEXSTAGE1, GX_TEXCOORD3, GX_TEXMAP3); + GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1); + GXSetIndTexMtx(GX_ITM_1, lbl_1_data_158, 0); + GXSetTevIndWarp(GX_TEVSTAGE1, GX_INDTEXSTAGE1, GX_TRUE, GX_FALSE, GX_ITM_1); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX16); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + GXSetArray(GX_VA_POS, lbl_1_bss_2868, sizeof(Vec)); + GXSetCullMode(GX_CULL_BACK); + GXCallDisplayList(lbl_1_bss_450.unk0, lbl_1_bss_450.unk4); + GXSetNumIndStages(0); + GXSetTevDirect(GX_TEVSTAGE0); + GXSetTevDirect(GX_TEVSTAGE1); } void fn_1_3004(void) { - s32 temp_r31; - s32 temp_r30; - s32 temp_r29; - GXBeginDisplayList(lbl_1_bss_450.unk0, lbl_1_bss_450.unk4); - for (temp_r30 = 0; temp_r30 < 31; temp_r30++) { - temp_r29 = temp_r30 * 32; - GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 64); - if (temp_r30 & 0x1) { - for (temp_r31 = 0; temp_r31 < 32; temp_r31++) { - GXPosition1x16(temp_r29 + temp_r31 + 32); - GXPosition1x16(temp_r29 + temp_r31); - } - } - else { - for (temp_r31 = 31; temp_r31 >= 0; temp_r31--) { - GXPosition1x16(temp_r29 + temp_r31); - GXPosition1x16(temp_r29 + temp_r31 + 32); - } - } - } - lbl_1_bss_450.unk4 = GXEndDisplayList(); - DCFlushRangeNoSync(lbl_1_bss_450.unk0, lbl_1_bss_450.unk4); + s32 temp_r31; + s32 temp_r30; + s32 temp_r29; + GXBeginDisplayList(lbl_1_bss_450.unk0, lbl_1_bss_450.unk4); + for(temp_r30=0; temp_r30<31; temp_r30++) { + temp_r29 = temp_r30*32; + GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 64); + if(temp_r30 & 0x1) { + for(temp_r31=0; temp_r31<32; temp_r31++) { + GXPosition1x16(temp_r29+temp_r31+32); + GXPosition1x16(temp_r29+temp_r31); + } + } else { + for(temp_r31=31; temp_r31>=0; temp_r31--) { + GXPosition1x16(temp_r29+temp_r31); + GXPosition1x16(temp_r29+temp_r31+32); + + } + } + } + lbl_1_bss_450.unk4 = GXEndDisplayList(); + DCFlushRangeNoSync(lbl_1_bss_450.unk0, lbl_1_bss_450.unk4); } void fn_1_3128(void) { - GXBeginDisplayList(lbl_1_bss_440.unk0, lbl_1_bss_440.unk4); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition2f32(-0.5f, -0.5f); - GXTexCoord2f32(0, 0); - GXPosition2f32(0.5f, -0.5f); - GXTexCoord2f32(1, 0); - GXPosition2f32(0.5f, 0.5f); - GXTexCoord2f32(1, 1); - GXPosition2f32(-0.5f, 0.5f); - GXTexCoord2f32(0, 1); - GXEnd(); - lbl_1_bss_440.unk4 = GXEndDisplayList(); - DCFlushRangeNoSync(lbl_1_bss_440.unk0, lbl_1_bss_440.unk4); + GXBeginDisplayList(lbl_1_bss_440.unk0, lbl_1_bss_440.unk4); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition2f32(-0.5f, -0.5f); + GXTexCoord2f32(0, 0); + GXPosition2f32(0.5f, -0.5f); + GXTexCoord2f32(1, 0); + GXPosition2f32(0.5f, 0.5f); + GXTexCoord2f32(1, 1); + GXPosition2f32(-0.5f, 0.5f); + GXTexCoord2f32(0, 1); + GXEnd(); + lbl_1_bss_440.unk4 = GXEndDisplayList(); + DCFlushRangeNoSync(lbl_1_bss_440.unk0, lbl_1_bss_440.unk4); } void fn_1_32DC(Bss3F0Data *arg0, GXBool arg1) { - GXSetZMode(GX_FALSE, GX_LEQUAL, GX_TRUE); - GXSetTexCopySrc(0, 0, arg0->unk4, arg0->unk6); - GXSetTexCopyDst(arg0->unk8, arg0->unkA, GX_TF_RGB565, arg0->unk10); - GXSetCopyClear(BGColor, 0xFFFFFF); - GXCopyTex(arg0->unk0, arg1); - GXPixModeSync(); - DCFlushRange(arg0->unk0, arg0->unkC); + GXSetZMode(GX_FALSE, GX_LEQUAL, GX_TRUE); + GXSetTexCopySrc(0, 0, arg0->unk4, arg0->unk6); + GXSetTexCopyDst(arg0->unk8, arg0->unkA, GX_TF_RGB565, arg0->unk10); + GXSetCopyClear(BGColor, 0xFFFFFF); + GXCopyTex(arg0->unk0, arg1); + GXPixModeSync(); + DCFlushRange(arg0->unk0, arg0->unkC); + } void fn_1_33A4(ModelData *model, Mtx mtx) { - fn_1_32DC(&lbl_1_bss_3F0[1], GX_TRUE); + fn_1_32DC(&lbl_1_bss_3F0[1], GX_TRUE); + } void fn_1_349C(ModelData *model, Mtx mtx) { - fn_1_32DC(&lbl_1_bss_3F0[2], GX_TRUE); + fn_1_32DC(&lbl_1_bss_3F0[2], GX_TRUE); } void fn_1_3594(ModelData *model, Mtx mtx) { - Mtx sp90; - Mtx sp60; - Mtx sp30; - GXTexObj sp10; - - fn_1_32DC(&lbl_1_bss_3F0[3], GX_FALSE); - GXLoadPosMtxImm(mtx, GX_PNMTX0); - MTXLightPerspective(sp90, 30.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); - MTXInverse(Hu3DCameraMtx, sp60); - MTXConcat(sp60, mtx, sp60); - MTXConcat(sp90, Hu3DCameraMtx, sp30); - MTXConcat(sp30, sp60, sp60); - GXLoadTexMtxImm(sp60, GX_TEXMTX0, GX_MTX3x4); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); - GXSetNumTexGens(1); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - GXSetZMode(GX_TRUE, GX_GREATER, GX_FALSE); - GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0); - GXSetNumTevStages(1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); - GXInitTexObj(&sp10, lbl_1_bss_3F0[2].unk0, lbl_1_bss_3F0[2].unk8, lbl_1_bss_3F0[2].unkA, GX_TF_RGB565, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXLoadTexObj(&sp10, GX_TEXMAP0); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(-1000.0f, -5.000001f, -1000.0f); - GXPosition3f32(1000.0f, -5.000001f, -1000.0f); - GXPosition3f32(1000.0f, -5.000001f, 1000.0f); - GXPosition3f32(-1000.0f, -5.000001f, 1000.0f); - GXEnd(); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(-1000.0f, -70.0f, -1000.0f); - GXPosition3f32(1000.0f, -70.0f, -1000.0f); - GXPosition3f32(1000.0f, -70.0f, 1000.0f); - GXPosition3f32(-1000.0f, -70.0f, 1000.0f); - GXEnd(); - fn_1_32DC(&lbl_1_bss_3F0[2], GX_FALSE); - GXInitTexObj(&sp10, lbl_1_bss_3F0[3].unk0, lbl_1_bss_3F0[3].unk8, lbl_1_bss_3F0[3].unkA, GX_TF_RGB565, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXLoadTexObj(&sp10, GX_TEXMAP0); - GXSetZMode(GX_TRUE, GX_GREATER, GX_FALSE); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(-1000.0f, -5.000001f, -1000.0f); - GXPosition3f32(1000.0f, -5.000001f, -1000.0f); - GXPosition3f32(1000.0f, -5.000001f, 1000.0f); - GXPosition3f32(-1000.0f, -5.000001f, 1000.0f); - GXEnd(); + Mtx sp90; + Mtx sp60; + Mtx sp30; + GXTexObj sp10; + + fn_1_32DC(&lbl_1_bss_3F0[3], GX_FALSE); + GXLoadPosMtxImm(mtx, GX_PNMTX0); + MTXLightPerspective(sp90, 30.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); + MTXInverse(Hu3DCameraMtx, sp60); + MTXConcat(sp60, mtx, sp60); + MTXConcat(sp90, Hu3DCameraMtx, sp30); + MTXConcat(sp30, sp60, sp60); + GXLoadTexMtxImm(sp60, GX_TEXMTX0, GX_MTX3x4); + GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0); + GXSetNumChans(1); + GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); + GXSetNumTexGens(1); + GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0); + GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); + GXSetZMode(GX_TRUE, GX_GREATER, GX_FALSE); + GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0); + GXSetNumTevStages(1); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); + GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); + GXInitTexObj(&sp10, lbl_1_bss_3F0[2].unk0, lbl_1_bss_3F0[2].unk8, lbl_1_bss_3F0[2].unkA, GX_TF_RGB565, GX_CLAMP, GX_CLAMP, GX_FALSE); + GXLoadTexObj(&sp10, GX_TEXMAP0); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition3f32(-1000.0f, -5.000001f, -1000.0f); + GXPosition3f32(1000.0f, -5.000001f, -1000.0f); + GXPosition3f32(1000.0f, -5.000001f, 1000.0f); + GXPosition3f32(-1000.0f, -5.000001f, 1000.0f); + GXEnd(); + GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition3f32(-1000.0f, -70.0f, -1000.0f); + GXPosition3f32(1000.0f, -70.0f, -1000.0f); + GXPosition3f32(1000.0f, -70.0f, 1000.0f); + GXPosition3f32(-1000.0f, -70.0f, 1000.0f); + GXEnd(); + fn_1_32DC(&lbl_1_bss_3F0[2], GX_FALSE); + GXInitTexObj(&sp10, lbl_1_bss_3F0[3].unk0, lbl_1_bss_3F0[3].unk8, lbl_1_bss_3F0[3].unkA, GX_TF_RGB565, GX_CLAMP, GX_CLAMP, GX_FALSE); + GXLoadTexObj(&sp10, GX_TEXMAP0); + GXSetZMode(GX_TRUE, GX_GREATER, GX_FALSE); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition3f32(-1000.0f, -5.000001f, -1000.0f); + GXPosition3f32(1000.0f, -5.000001f, -1000.0f); + GXPosition3f32(1000.0f, -5.000001f, 1000.0f); + GXPosition3f32(-1000.0f, -5.000001f, 1000.0f); + GXEnd(); } GXColor lbl_1_data_170 = { 255, 0, 0, 255 }; @@ -476,132 +484,133 @@ GXColor lbl_1_data_178 = { 0, 126, 126, 255 }; void fn_1_3CC8(ModelData *model, Mtx mtx) { - - float temp_f31; - Mtx sp44; - Mtx sp14; - Bss2468Data *temp_r31; - s32 temp_r30; - s32 temp_r29; - - MTXOrtho(sp44, 0, 480, 0, 640, 0, 100); - GXSetProjection(sp44, GX_ORTHOGRAPHIC); - MTXIdentity(sp14); - GXLoadPosMtxImm(sp14, GX_PNMTX0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); - GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_178); - GXSetNumTexGens(0); - HuSprTexLoad(lbl_1_bss_458, 0, GX_TEXMAP0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - - GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0); - GXSetNumTevStages(1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR); - GXSetScissor(0, 0, lbl_1_bss_3F0[0].unk8, lbl_1_bss_3F0[0].unkA); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_U16, 0); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition2u16(0, 0); - GXPosition2u16(lbl_1_bss_3F0[0].unk8, 0); - GXPosition2u16(lbl_1_bss_3F0[0].unk8, lbl_1_bss_3F0[0].unkA); - GXPosition2u16(0, lbl_1_bss_3F0[0].unkA); - GXEnd(); - GXSetNumTexGens(1); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); - GXSetNumTevStages(1); - - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXClearVtxDesc(); - - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); - temp_r29 = lbl_1_bss_2464; - for (temp_r30 = 0; temp_r30 < 64; temp_r29 = (temp_r29 + 1) % 64, temp_r30++) { - temp_r31 = &lbl_1_bss_2468[temp_r29]; - if (temp_r31->unkC == 0) { - continue; - } - temp_f31 = (0.2f + cosd((90.0f * temp_r31->unkC) / REFRESH_RATE)) * 128.0f; - lbl_1_data_174.a = 255.0f * sind((90.0f * temp_r31->unkC) / REFRESH_RATE); - GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_174); - MTXScale(sp14, 0.5f * temp_f31, 0.5f * temp_f31, 1.0f); - mtxTransCat(sp14, (200.0f * (600.0f + temp_r31->unk0.x)) / 1200.0f, (200.0f * (600.0f + temp_r31->unk0.z)) / 1200.0f, 0); - GXLoadPosMtxImm(sp14, GX_PNMTX0); - GXCallDisplayList(lbl_1_bss_440.unk0, lbl_1_bss_440.unk4); - } - fn_1_32DC(&lbl_1_bss_3F0[0], GX_TRUE); + + float temp_f31; + Mtx sp44; + Mtx sp14; + Bss2468Data *temp_r31; + s32 temp_r30; + s32 temp_r29; + + MTXOrtho(sp44, 0, 480, 0, 640, 0, 100); + GXSetProjection(sp44, GX_ORTHOGRAPHIC); + MTXIdentity(sp14); + GXLoadPosMtxImm(sp14, GX_PNMTX0); + GXSetNumChans(1); + GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); + GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_178); + GXSetNumTexGens(0); + HuSprTexLoad(lbl_1_bss_458, 0, GX_TEXMAP0, GX_REPEAT, GX_REPEAT, GX_LINEAR); + GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); + GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); + + GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0); + GXSetNumTevStages(1); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); + GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR); + GXSetScissor(0, 0, lbl_1_bss_3F0[0].unk8, lbl_1_bss_3F0[0].unkA); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_U16, 0); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition2u16(0, 0); + GXPosition2u16(lbl_1_bss_3F0[0].unk8, 0); + GXPosition2u16(lbl_1_bss_3F0[0].unk8, lbl_1_bss_3F0[0].unkA); + GXPosition2u16(0, lbl_1_bss_3F0[0].unkA); + GXEnd(); + GXSetNumTexGens(1); + GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); + GXSetNumTevStages(1); + + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); + GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXClearVtxDesc(); + + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); + GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); + temp_r29 = lbl_1_bss_2464; + for(temp_r30=0; temp_r30<64; temp_r29 = (temp_r29+1)%64, temp_r30++) { + temp_r31 = &lbl_1_bss_2468[temp_r29]; + if(temp_r31->unkC == 0) { + continue; + } + temp_f31 = (0.2f+cosd((90.0f*temp_r31->unkC)/60.0f))*128.0f; + lbl_1_data_174.a = 255.0f*sind((90.0f*temp_r31->unkC)/60.0f); + GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_174); + MTXScale(sp14, 0.5f*temp_f31, 0.5f*temp_f31, 1.0f); + mtxTransCat(sp14, (200.0f*(600.0f+temp_r31->unk0.x))/1200.0f, (200.0f*(600.0f+temp_r31->unk0.z))/1200.0f, 0); + GXLoadPosMtxImm(sp14, GX_PNMTX0); + GXCallDisplayList(lbl_1_bss_440.unk0, lbl_1_bss_440.unk4); + } + fn_1_32DC(&lbl_1_bss_3F0[0], GX_TRUE); } void fn_1_43AC(Vec *arg0) { - Bss2468Data *temp_r31; - temp_r31 = &lbl_1_bss_2468[lbl_1_bss_2464]; - if (temp_r31->unkC == 0) { - temp_r31->unk0.x = arg0->x; - temp_r31->unk0.y = arg0->y; - temp_r31->unk0.z = arg0->z; - temp_r31->unkC = REFRESH_RATE; - lbl_1_bss_2464 = (lbl_1_bss_2464 + 1) % 64; - return; - } + Bss2468Data *temp_r31; + temp_r31 = &lbl_1_bss_2468[lbl_1_bss_2464]; + if(temp_r31->unkC == 0) { + temp_r31->unk0.x = arg0->x; + temp_r31->unk0.y = arg0->y; + temp_r31->unk0.z = arg0->z; + temp_r31->unkC = 60; + lbl_1_bss_2464 = (lbl_1_bss_2464+1)%64; + return; + } } void fn_1_443C(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - float temp_f30; - HsfanimStruct01 *temp_r31; - s32 temp_r29; - s32 temp_r28; - if (particle->unk_00 == 0) { - particle->unk_00 = 1; - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r31++, temp_r29++) { - temp_r31->unk2C = 10; - temp_f31 = ((1.0f / 256.0f) * frand8()) * 360.0f; - temp_r31->unk34.x = (0.2f * sind(temp_f31)) * 100.0f; - temp_r31->unk34.y = 0; - temp_r31->unk34.z = (0.2f * cosd(temp_f31)) * 100.0f; - temp_f30 = (100.0f * (0.025f * ((1.0f / 256.0f) * frand8()))) + 2.5f; - temp_r31->unk08.x = temp_f30 * sind(temp_f31); - temp_r31->unk08.y = (100.0f * (0.025f * (((1.0f / 256.0f) * (s32)(frand() & 0x1FF)) - 1.0f))) + 7.5000005f; - temp_r31->unk08.z = temp_f30 * cosd(temp_f31); - temp_r31->unk40.r = temp_r31->unk40.g = temp_r31->unk40.b = 255; - temp_r31->unk40.a = (frand() & 0x1F) + 16; - } - } - temp_r28 = 0; - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - if (temp_r31->unk40.a == 0) { - temp_r28++; - continue; - } - temp_r31->unk34.x += temp_r31->unk08.x; - temp_r31->unk34.y += temp_r31->unk08.y; - temp_r31->unk34.z += temp_r31->unk08.z; - temp_r31->unk08.y += -0.5f; - temp_r31->unk40.a--; - } - if (temp_r28 == particle->unk_30) { - model->attr |= 0x1; - } - DCStoreRangeNoSync(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); + float temp_f31; + float temp_f30; + HsfanimStruct01 *temp_r31; + s32 temp_r29; + s32 temp_r28; + if(particle->unk_00 == 0) { + particle->unk_00 = 1; + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r31++, temp_r29++) { + temp_r31->unk2C = 10; + temp_f31 = ((1.0f/256.0f)*frand8())*360.0f; + temp_r31->unk34.x = (0.2f*sind(temp_f31))*100.0f; + temp_r31->unk34.y = 0; + temp_r31->unk34.z = (0.2f*cosd(temp_f31))*100.0f; + temp_f30 = (100.0f*(0.025f*((1.0f/256.0f)*frand8())))+2.5f; + temp_r31->unk08.x = temp_f30*sind(temp_f31); + temp_r31->unk08.y = (100.0f*(0.025f*(((1.0f/256.0f)*(s32)(frand() & 0x1FF))-1.0f)))+7.5000005f; + temp_r31->unk08.z = temp_f30*cosd(temp_f31); + temp_r31->unk40.r = temp_r31->unk40.g = temp_r31->unk40.b = 255; + temp_r31->unk40.a = (frand() & 0x1F)+16; + } + } + temp_r28 = 0; + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(temp_r31->unk40.a == 0) { + temp_r28++; + continue; + } + temp_r31->unk34.x += temp_r31->unk08.x; + temp_r31->unk34.y += temp_r31->unk08.y; + temp_r31->unk34.z += temp_r31->unk08.z; + temp_r31->unk08.y += -0.5f; + temp_r31->unk40.a--; + } + if(temp_r28 == particle->unk_30) { + model->attr |= 0x1; + } + DCStoreRangeNoSync(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); } void fn_1_47EC(Vec *arg0) { - Hu3DModelPosSet(lbl_1_bss_5868->model[10], arg0->x, arg0->y, arg0->z); - Hu3DModelAttrReset(lbl_1_bss_5868->model[10], HU3D_ATTR_DISPOFF); -} + Hu3DModelPosSet(lbl_1_bss_5868->model[10], arg0->x, arg0->y, arg0->z); + Hu3DModelAttrReset(lbl_1_bss_5868->model[10], 1); + +} \ No newline at end of file diff --git a/src/REL/m434Dll/player.c b/src/REL/m434Dll/player.c index 55ae04c8..7d1988e9 100644 --- a/src/REL/m434Dll/player.c +++ b/src/REL/m434Dll/player.c @@ -1,130 +1,143 @@ -#include "game/audio.h" -#include "game/chrman.h" -#include "game/hsfman.h" -#include "game/hsfdraw.h" -#include "game/hsfmotion.h" #include "game/object.h" #include "game/objsub.h" -#include "game/pad.h" +#include "game/hsfman.h" +#include "game/hsfmotion.h" +#include "game/audio.h" #include "game/wipe.h" +#include "game/chrman.h" +#include "game/pad.h" - -#include "REL/m434Dll.h" -#include "ext_math.h" -#include "game/gamework_data.h" #include "game/minigame_seq.h" +#include "game/gamework_data.h" +#include "REL/m434Dll.h" #include "math.h" -#include "version.h" - +#include "ext_math.h" typedef struct data_224_struct { - u16 unk0; - u16 unk2; - float unk4; - float unk8; - u32 unkC; + u16 unk0; + u16 unk2; + float unk4; + float unk8; + u32 unkC; } Data224Struct; omObjData *lbl_1_bss_5870[4]; char *lbl_1_data_190[8] = { - "dmy-itemhook-r", - "dmy-itemhook-r", - "dmy-itemhook-r", - "dmy-itemhook-r", - "dmy-itemhook-r", - "dmy-itemhook-r", - "dmy-itemhook-r", - "dmy-itemhook-r", + "dmy-itemhook-r", + "dmy-itemhook-r", + "dmy-itemhook-r", + "dmy-itemhook-r", + "dmy-itemhook-r", + "dmy-itemhook-r", + "dmy-itemhook-r", + "dmy-itemhook-r", }; char *lbl_1_data_1BC[8] = { - "itemhook-r", - "itemhook-r", - "itemhook-r", - "itemhook-r", - "itemhook-r", - "itemhook-r", - "itemhook-r", - "itemhook-r", + "itemhook-r", + "itemhook-r", + "itemhook-r", + "itemhook-r", + "itemhook-r", + "itemhook-r", + "itemhook-r", + "itemhook-r", }; -s32 lbl_1_data_1DC[2] = { 0x410003, 0x410004 }; +s32 lbl_1_data_1DC[2] = { + 0x410003, + 0x410004 +}; -Vec lbl_1_data_1E4[2] = { { -550, 0, 550 }, { 550, 0, 550 } }; +Vec lbl_1_data_1E4[2] = { + { -550, 0, 550 }, + { 550, 0, 550 } +}; -u32 lbl_1_data_1FC[10] = { 0, 2, 23, 133, 0x41000E, 0x410016, 0x41001E, 0x410026, 0x41002E, 0x410036 }; +u32 lbl_1_data_1FC[10] = { + 0, + 2, + 23, + 133, + 0x41000E, + 0x410016, + 0x41001E, + 0x410026, + 0x41002E, + 0x410036 +}; Data224Struct lbl_1_data_224[9] = { - { 0, 4, 0.2f * REFRESH_RATE, 0, HU3D_MOTATTR_LOOP }, - { 1, 6, 0.1f * REFRESH_RATE, 0, HU3D_MOTATTR_LOOP }, - { 0, 8, 0.1f * REFRESH_RATE, 0, HU3D_MOTATTR_NONE }, - { 0, 5, 0.1f * REFRESH_RATE, 0, HU3D_MOTATTR_LOOP }, - { 1, 5, 0.1f * REFRESH_RATE, 0, HU3D_MOTATTR_LOOP }, - { 0, 8, 0.1f * REFRESH_RATE, 0.5f * REFRESH_RATE, HU3D_MOTATTR_NONE }, - { 0, 9, 0.1f * REFRESH_RATE, 0, HU3D_MOTATTR_NONE }, - { 2, 0, 0.2f * REFRESH_RATE, 0, HU3D_MOTATTR_NONE }, - { 3, 0, 0.2f * REFRESH_RATE, 0, HU3D_MOTATTR_NONE }, + { 0, 4, 12, 0, 0x40000001 }, + { 1, 6, 6, 0, 0x40000001 }, + { 0, 8, 6, 0, 0 }, + { 0, 5, 6, 0, 0x40000001 }, + { 1, 5, 6, 0, 0x40000001 }, + { 0, 8, 6, 30, 0 }, + { 0, 9, 6, 0, 0 }, + { 2, 0, 12, 0, 0 }, + { 3, 0, 12, 0, 0 }, }; void fn_1_4988(omObjData *object); void fn_1_4854(Process *objman) { - s16 temp_r31; - omObjData *temp_r30; - s16 temp_r29; - s32 sp8[2] = { 0, 0 }; - omMakeGroupEx(objman, 0, 4); - omGetGroupMemberListEx(objman, 0); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r30 = lbl_1_bss_5870[temp_r31] = omAddObjEx(objman, 40, 2, 10, 0, fn_1_4988); - temp_r30->work[0] = temp_r31; - temp_r29 = fn_1_1D74(temp_r31); - temp_r30->work[1] = (temp_r29 * 2) + sp8[temp_r29]; - sp8[temp_r29]++; - } + s16 temp_r31; + omObjData *temp_r30; + s16 temp_r29; + s32 sp8[2] = { 0, 0 }; + omMakeGroupEx(objman, 0, 4); + omGetGroupMemberListEx(objman, 0); + for(temp_r31=0; temp_r31<4; temp_r31++) { + temp_r30 = lbl_1_bss_5870[temp_r31] = omAddObjEx(objman, 40, 2, 10, 0, fn_1_4988); + temp_r30->work[0] = temp_r31; + temp_r29 = fn_1_1D74(temp_r31); + temp_r30->work[1] = (temp_r29*2)+sp8[temp_r29]; + sp8[temp_r29]++; + } } void fn_1_4964(void) { - CharModelKill(-1); + CharModelKill(-1); } typedef struct work_4988 { - s32 unk0; - s32 unk4; - s32 unk8; - s32 unkC; - s32 unk10; - u32 unk14; - u32 unk18; - float unk1C; - float unk20; - s32 unk24; - Vec unk28; - float unk34; - u16 unk38; - s16 unk3A; - s16 unk3C; - s16 unk3E; - float unk40; - float unk44; - float unk48; - float unk4C; - float unk50; - s32 unk54; - s16 unk58[3]; - s32 unk60; - float unk64; - s32 unk68; - u16 unk6C; - s32 unk70; - Vec unk74; - s16 unk80; - float unk84; - Vec unk88; - Vec unk94; + s32 unk0; + s32 unk4; + s32 unk8; + s32 unkC; + s32 unk10; + u32 unk14; + u32 unk18; + float unk1C; + float unk20; + s32 unk24; + Vec unk28; + float unk34; + u16 unk38; + s16 unk3A; + s16 unk3C; + s16 unk3E; + float unk40; + float unk44; + float unk48; + float unk4C; + float unk50; + s32 unk54; + s16 unk58[3]; + s32 unk60; + float unk64; + s32 unk68; + u16 unk6C; + s32 unk70; + Vec unk74; + s16 unk80; + float unk84; + Vec unk88; + Vec unk94; } Work4988; void fn_1_4DF4(omObjData *object); @@ -132,65 +145,64 @@ void fn_1_60AC(omObjData *arg0, u32 arg1); void fn_1_4988(omObjData *object) { - Work4988 *temp_r31; - s16 temp_r29; - s32 temp_r28; - s32 temp_r27; - - float sp1C[4] = { 0.5f, 0.65f, 0.8f, 1.0f }; - s32 spC[4] = { 1, 1, 2, 2 }; - s32 sp8; - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work4988), MEMORY_DEFAULT_NUM); - temp_r31 = object->data; - memset(temp_r31, 0, sizeof(Work4988)); - temp_r27 = object->work[0]; - temp_r28 = GWPlayerCfg[temp_r27].character; - temp_r31->unk8 = temp_r28; - sp8 = temp_r31->unkC = 0; - temp_r31->unk0 = (object->work[1] >> 1) & 0x1; - temp_r31->unk4 = object->work[1] & 0x1; - temp_r31->unk6C = 0; - temp_r31->unk64 = sp1C[GWPlayerCfg[temp_r27].diff & 0x3]; - temp_r31->unk68 = spC[GWPlayerCfg[temp_r27].diff & 0x3]; - object->model[0] = CharModelCreate(temp_r28, 8); - CharModelStepTypeSet(temp_r28, 3); - Hu3DModelCameraSet(object->model[0], 4); - Hu3DModelLayerSet(object->model[0], 4); - object->model[1] = Hu3DModelCreateFile(lbl_1_data_1DC[temp_r31->unk0]); - Hu3DModelCameraSet(object->model[1], 4); - Hu3DModelLayerSet(object->model[1], 4); - Hu3DModelHookSet(object->model[0], lbl_1_data_190[temp_r31->unkC], object->model[1]); - Hu3DModelClusterAttrSet(object->model[1], 0, 0xC0000001); - for (temp_r29 = 0; temp_r29 < 10; temp_r29++) { - if (lbl_1_data_1FC[temp_r29] < 0x10000) { - object->motion[temp_r29] = CharModelMotionCreate(temp_r28, lbl_1_data_1FC[temp_r29]); - } - else { - object->motion[temp_r29] = Hu3DJointMotionFile(object->model[0], temp_r28 + lbl_1_data_1FC[temp_r29]); - } - } - CharModelMotionDataClose(temp_r28); - object->trans.x = temp_r31->unk88.x = ((2.0f * object->work[1]) * 100.0f) - 300.0f; - object->trans.y = temp_r31->unk88.y = -70; - object->trans.z = temp_r31->unk88.z = 0; - temp_r31->unk94.x = temp_r31->unk94.y = temp_r31->unk94.z = 0; - temp_r31->unk40 = temp_r31->unk44 = 0; - temp_r31->unk48 = 0; - temp_r31->unk4C = 0.02f; - temp_r31->unk84 = 55; - temp_r31->unk28 = lbl_1_data_1E4[temp_r31->unk0]; - temp_r31->unk28.y = object->trans.y; - temp_r31->unk34 = 400; - temp_r31->unk54 = 0; - for (temp_r29 = 0; temp_r29 < 3; temp_r29++) { - temp_r31->unk58[temp_r29] = -1; - } - temp_r31->unk50 = 0; - temp_r31->unk10 = -1; - temp_r31->unk60 = 0; - fn_1_60AC(object, 0); - temp_r31->unk38 = 0; - object->func = fn_1_4DF4; + Work4988 *temp_r31; + s16 temp_r29; + s32 temp_r28; + s32 temp_r27; + + float sp1C[4] = { 0.5f, 0.65f, 0.8f, 1.0f }; + s32 spC[4] = { 1, 1, 2, 2 }; + s32 sp8; + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work4988), MEMORY_DEFAULT_NUM); + temp_r31 = object->data; + memset(temp_r31, 0, sizeof(Work4988)); + temp_r27 = object->work[0]; + temp_r28 = GWPlayerCfg[temp_r27].character; + temp_r31->unk8 = temp_r28; + sp8 = temp_r31->unkC = 0; + temp_r31->unk0 = (object->work[1] >> 1) & 0x1; + temp_r31->unk4 = object->work[1] & 0x1; + temp_r31->unk6C = 0; + temp_r31->unk64 = sp1C[GWPlayerCfg[temp_r27].diff & 0x3]; + temp_r31->unk68 = spC[GWPlayerCfg[temp_r27].diff & 0x3]; + object->model[0] = CharModelCreate(temp_r28, 8); + CharModelStepTypeSet(temp_r28, 3); + Hu3DModelCameraSet(object->model[0], 4); + Hu3DModelLayerSet(object->model[0], 4); + object->model[1] = Hu3DModelCreateFile(lbl_1_data_1DC[temp_r31->unk0]); + Hu3DModelCameraSet(object->model[1], 4); + Hu3DModelLayerSet(object->model[1], 4); + Hu3DModelHookSet(object->model[0], lbl_1_data_190[temp_r31->unkC], object->model[1]); + Hu3DModelClusterAttrSet(object->model[1], 0, 0xC0000001); + for(temp_r29=0; temp_r29<10; temp_r29++) { + if(lbl_1_data_1FC[temp_r29] < 0x10000) { + object->motion[temp_r29] = CharModelMotionCreate(temp_r28, lbl_1_data_1FC[temp_r29]); + } else { + object->motion[temp_r29] = Hu3DJointMotionFile(object->model[0], temp_r28+lbl_1_data_1FC[temp_r29]); + } + } + CharModelMotionDataClose(temp_r28); + object->trans.x = temp_r31->unk88.x = ((2.0f*object->work[1])*100.0f)-300.0f; + object->trans.y = temp_r31->unk88.y = -70; + object->trans.z = temp_r31->unk88.z = 0; + temp_r31->unk94.x = temp_r31->unk94.y = temp_r31->unk94.z = 0; + temp_r31->unk40 = temp_r31->unk44 = 0; + temp_r31->unk48 = 0; + temp_r31->unk4C = 0.02f; + temp_r31->unk84 = 55; + temp_r31->unk28 = lbl_1_data_1E4[temp_r31->unk0]; + temp_r31->unk28.y = object->trans.y; + temp_r31->unk34 = 400; + temp_r31->unk54 = 0; + for(temp_r29=0; temp_r29<3; temp_r29++) { + temp_r31->unk58[temp_r29] = -1; + } + temp_r31->unk50 = 0; + temp_r31->unk10 = -1; + temp_r31->unk60 = 0; + fn_1_60AC(object, 0); + temp_r31->unk38 = 0; + object->func = fn_1_4DF4; } void fn_1_4E50(omObjData *object); @@ -198,11 +210,11 @@ void fn_1_5BEC(omObjData *object); void fn_1_4DF4(omObjData *object) { - Work4988 *temp_r31 = object->data; - fn_1_5BEC(object); - temp_r31->unk3C++; - temp_r31->unk38 = 0; - object->func = fn_1_4E50; + Work4988 *temp_r31 = object->data; + fn_1_5BEC(object); + temp_r31->unk3C++; + temp_r31->unk38 = 0; + object->func = fn_1_4E50; } void fn_1_5AB0(omObjData *object); @@ -212,463 +224,453 @@ void fn_1_64C0(omObjData *object); float fn_1_67AC(float arg0, float arg1); +//Issues with assignment of temp_f30 +//Scratch is at https://decomp.me/scratch/EqCuG void fn_1_4E50(omObjData *object) { - float temp_f31; - float temp_f30; - float temp_f28; - Work4988 *temp_r31 = object->data; - - s32 temp_r29; - s32 temp_r28; - s32 temp_r27 = 0; - Mtx sp2C; - Vec sp20; - char *sp14[3] = { "f0", "f1", "f2" }; - float spC[2] = { 0.05, 0.02 }; - temp_r31->unk14 = 0; - temp_r31->unk18 = 0; - temp_r31->unk20 = 0; - temp_r31->unk1C = 0; - if (fn_1_1D54() == 2) { - if (GWPlayerCfg[object->work[0]].iscom) { - fn_1_5C98(object); - } - else { - temp_r31->unk18 = HuPadBtn[GWPlayerCfg[object->work[0]].pad_idx]; - temp_r31->unk14 = HuPadBtnDown[GWPlayerCfg[object->work[0]].pad_idx]; - temp_f31 = HuPadStkX[GWPlayerCfg[object->work[0]].pad_idx]; - temp_f30 = -HuPadStkY[GWPlayerCfg[object->work[0]].pad_idx]; - - temp_r31->unk20 = atan2d(temp_f31, temp_f30); - temp_r31->unk1C = (1.0f / 72.0f) * VECMagPoint(temp_f31, temp_f30, 0); - if (temp_r31->unk1C > 1.0f) { - temp_r31->unk1C = 1.0f; - } - } - } - temp_r31->unk60 = 0; - switch (temp_r31->unk38) { - case 0: - temp_r27 = 1; - if (temp_r31->unk1C > spC[temp_r31->unk24]) { - temp_r31->unk24 = 1; - temp_r31->unk44 = temp_r31->unk20; - temp_r31->unk94.x += 225.0f * (temp_r31->unk1C * sind(temp_r31->unk20)) * (1.0f / REFRESH_RATE); - temp_r31->unk94.z += 225.0f * (temp_r31->unk1C * cosd(temp_r31->unk20)) * (1.0f / REFRESH_RATE); - temp_r31->unk48 = 0.2f; - temp_r31->unk4C = 0; - if (CharModelMotionShiftIDGet(temp_r31->unk8) < 0) { - fn_1_60AC(object, 1); - CharModelMotionSpeedSet(temp_r31->unk8, temp_r31->unk1C); - } - if (temp_r31->unk1C > 0.75f && (temp_r31->unk3A & 0x7) == 0) { - fn_1_8C14(object->work[0], &temp_r31->unk88, temp_r31->unk1C); - if ((temp_r31->unk3A & 0xF) == 0) { - fn_1_43AC(&temp_r31->unk88); - } - } - } - else { - temp_r31->unk24 = 0; - if (CharModelMotionShiftIDGet(temp_r31->unk8) < 0) { - fn_1_60AC(object, 0); - } - } - if (temp_r31->unk14 & PAD_BUTTON_A) { - temp_r31->unk38 = 1; - temp_r31->unk3C = 0; - } - else if (temp_r31->unk14 & PAD_BUTTON_B) { - temp_r31->unk38 = 3; - temp_r31->unk3C = 0; - temp_r31->unk3A = 0; - } - else { - temp_r31->unk60 = 1; - } - break; - - case 1: - temp_r31->unk24 = 0; - if (temp_r31->unk3C == 0) { - fn_1_60AC(object, 2); - temp_r31->unk3A = 0; - temp_r31->unk3C++; - } - else if (temp_r31->unk3C == 1 && temp_r31->unk3A > (0.5f * REFRESH_RATE)) { - if (temp_r31->unk54 < 3) { - temp_r28 = fn_1_8884(&temp_r31->unk88, 20, 150, temp_r31->unk40, -30, 30, 1, object->work[0]); - if (temp_r28 >= 0) { - temp_r31->unk58[temp_r31->unk54++] = temp_r28; - omVibrate(object->work[0], 12, 6, 6); - } - } - temp_r31->unk38 = 2; - temp_r31->unk3A = 0; - temp_r31->unk3C = 0; - } - break; - - case 2: - if (temp_r31->unk3C == 0) { - if (!(temp_r31->unk18 & PAD_BUTTON_A)) { - temp_r31->unk24 = 0; - fn_1_60AC(object, 5); - temp_r31->unk3A = 0; - temp_r31->unk3C++; - } - else { - temp_f28 = fn_1_67AC(temp_r31->unk40, temp_r31->unk20); - if (temp_f28 > 10.0f) { - temp_f28 = 10.0f; - } - else if (temp_f28 < -10.0f) { - temp_f28 = -10.0f; - } - if (temp_r31->unk1C > spC[temp_r31->unk24] && fabs(temp_f28) > 5.0) { - temp_r31->unk24 = 1; - temp_r31->unk44 = temp_r31->unk40 + temp_f28; - temp_r31->unk48 = 0.2f; - temp_r31->unk4C = 0; - if (CharModelMotionShiftIDGet(temp_r31->unk8) < 0) { - fn_1_60AC(object, 4); - CharModelMotionSpeedSet(temp_r31->unk8, 0.5f); - } - if (temp_r31->unk54 < 3) { - temp_r28 = fn_1_8884(&temp_r31->unk88, 20, 150, temp_r31->unk40, -15, 15, 1, object->work[0]); - if (temp_r28 >= 0) { - temp_r31->unk58[temp_r31->unk54++] = temp_r28; - omVibrate(object->work[0], 12, 6, 6); - } - } - } - else { - temp_r31->unk24 = 0; - if (CharModelMotionShiftIDGet(temp_r31->unk8) < 0) { - fn_1_60AC(object, 3); - } - } - } - } - else { - if (temp_r31->unk3A > (0.5f * REFRESH_RATE)) { - temp_r31->unk38 = 0; - } - } - break; - - case 3: - temp_r31->unk24 = 0; - if (temp_r31->unk3C == 0) { - temp_r31->unk3E = 0; - VECSubtract(&temp_r31->unk28, &temp_r31->unk88, &sp20); - temp_r31->unk44 = atan2d(sp20.x, sp20.z); - temp_f28 = VECMag(&sp20); - if (temp_f28 < temp_r31->unk34) { - temp_r31->unk3E++; - fn_1_60AC(object, 6); - } - else { - fn_1_60AC(object, 0); - } - temp_r31->unk3A = 0; - temp_r31->unk3C++; - } - if (temp_r31->unk3E) { - if (temp_r31->unk3A > (VERSION_NTSC ? 36.0f : 30.000002f)) { - for (temp_r29 = 0; temp_r29 < temp_r31->unk54; temp_r29++) { - fn_1_8B58(temp_r31->unk58[temp_r29]); - } - temp_r31->unk54 = 0; - temp_r31->unk3E = 0; - } - } - if (temp_r31->unk3A > 1.0f * REFRESH_RATE) { - temp_r31->unk38 = 0; - } - break; - } - VECAdd(&temp_r31->unk88, &temp_r31->unk94, &temp_r31->unk88); - temp_r31->unk94.x = temp_r31->unk94.y = temp_r31->unk94.z = 0; - fn_1_64C0(object); - temp_f28 = 0; - if (temp_r31->unk54) { - temp_f28 = (temp_r31->unk54 * 10) + 10; - } - temp_r31->unk50 += (temp_f28 - temp_r31->unk50) * 0.3f; - Hu3DData[object->model[1]].unk_A4[0] = temp_r31->unk50; - Hu3DModelObjMtxGet(object->model[0], lbl_1_data_190[temp_r31->unkC], sp2C); - for (temp_r29 = 0; temp_r29 < temp_r31->unk54; temp_r29++) { - Hu3DModelObjPosGet(object->model[1], sp14[temp_r29], &sp20); - MTXMultVec(sp2C, &sp20, &sp20); - fn_1_8AEC(temp_r31->unk58[temp_r29], &sp20); - } - fn_1_5BEC(object); - if (fn_1_1D54() == 5 && temp_r27) { - temp_r31->unk38 = 0; - object->func = fn_1_5AB0; - } + float temp_f31; + float temp_f30; + float temp_f28; + Work4988 *temp_r31 = object->data; + + s32 temp_r29; + s32 temp_r28; + s32 temp_r27 = 0; + Mtx sp2C; + Vec sp20; + char *sp14[3] = { + "f0", + "f1", + "f2" + }; + float spC[2] = { 0.05, 0.02 }; + temp_r31->unk14 = 0; + temp_r31->unk18 = 0; + temp_r31->unk20 = 0; + temp_r31->unk1C = 0; + if(fn_1_1D54() == 2) { + if(GWPlayerCfg[object->work[0]].iscom) { + fn_1_5C98(object); + } else { + temp_r31->unk18 = HuPadBtn[GWPlayerCfg[object->work[0]].pad_idx]; + temp_r31->unk14 = HuPadBtnDown[GWPlayerCfg[object->work[0]].pad_idx]; + temp_f31 = HuPadStkX[GWPlayerCfg[object->work[0]].pad_idx]; + temp_f30 = -HuPadStkY[GWPlayerCfg[object->work[0]].pad_idx]; + + temp_r31->unk20 = atan2d(temp_f31, temp_f30); + temp_r31->unk1C = (1.0f/72.0f)*VECMagPoint(temp_f31, temp_f30, 0); + if(temp_r31->unk1C > 1.0f) { + temp_r31->unk1C = 1.0f; + } + } + } + temp_r31->unk60 = 0; + switch(temp_r31->unk38) { + case 0: + temp_r27 = 1; + if(temp_r31->unk1C > spC[temp_r31->unk24]) { + temp_r31->unk24 = 1; + temp_r31->unk44 = temp_r31->unk20; + temp_r31->unk94.x += 225.0f*(temp_r31->unk1C*sind(temp_r31->unk20))*(1.0f/60.0f); + temp_r31->unk94.z += 225.0f*(temp_r31->unk1C*cosd(temp_r31->unk20))*(1.0f/60.0f); + temp_r31->unk48 = 0.2f; + temp_r31->unk4C = 0; + if(CharModelMotionShiftIDGet(temp_r31->unk8) < 0) { + fn_1_60AC(object, 1); + CharModelMotionSpeedSet(temp_r31->unk8, temp_r31->unk1C); + } + if(temp_r31->unk1C > 0.75f && (temp_r31->unk3A & 0x7) == 0) { + fn_1_8C14(object->work[0], &temp_r31->unk88, temp_r31->unk1C); + if((temp_r31->unk3A & 0xF) == 0) { + fn_1_43AC(&temp_r31->unk88); + } + } + } else { + temp_r31->unk24 = 0; + if(CharModelMotionShiftIDGet(temp_r31->unk8) < 0) { + fn_1_60AC(object, 0); + } + } + if(temp_r31->unk14 & PAD_BUTTON_A) { + temp_r31->unk38 = 1; + temp_r31->unk3C = 0; + } else if(temp_r31->unk14 & PAD_BUTTON_B) { + temp_r31->unk38 = 3; + temp_r31->unk3C = 0; + temp_r31->unk3A = 0; + } else { + temp_r31->unk60 = 1; + } + break; + + case 1: + temp_r31->unk24 = 0; + if(temp_r31->unk3C == 0) { + fn_1_60AC(object, 2); + temp_r31->unk3A = 0; + temp_r31->unk3C++; + } else if(temp_r31->unk3C == 1 && temp_r31->unk3A > 30.0f) { + if(temp_r31->unk54 < 3) { + temp_r28 = fn_1_8884(&temp_r31->unk88, 20, 150, temp_r31->unk40, -30, 30, 1, object->work[0]); + if(temp_r28 >= 0) { + temp_r31->unk58[temp_r31->unk54++] = temp_r28; + omVibrate(object->work[0], 12, 6, 6); + } + } + temp_r31->unk38 = 2; + temp_r31->unk3A = 0; + temp_r31->unk3C = 0; + } + break; + + case 2: + if(temp_r31->unk3C == 0) { + if(!(temp_r31->unk18 & PAD_BUTTON_A)) { + temp_r31->unk24 = 0; + fn_1_60AC(object, 5); + temp_r31->unk3A = 0; + temp_r31->unk3C++; + } else { + temp_f28 = fn_1_67AC(temp_r31->unk40, temp_r31->unk20); + if(temp_f28 > 10.0f) { + temp_f28 = 10.0f; + } else if(temp_f28 < -10.0f) { + temp_f28 = -10.0f; + } + if(temp_r31->unk1C > spC[temp_r31->unk24] && fabs(temp_f28) > 5.0) { + temp_r31->unk24 = 1; + temp_r31->unk44 = temp_r31->unk40+temp_f28; + temp_r31->unk48 = 0.2f; + temp_r31->unk4C = 0; + if(CharModelMotionShiftIDGet(temp_r31->unk8) < 0) { + fn_1_60AC(object, 4); + CharModelMotionSpeedSet(temp_r31->unk8, 0.5f); + } + if(temp_r31->unk54 < 3) { + temp_r28 = fn_1_8884(&temp_r31->unk88, 20, 150, temp_r31->unk40, -15, 15, 1, object->work[0]); + if(temp_r28 >= 0) { + temp_r31->unk58[temp_r31->unk54++] = temp_r28; + omVibrate(object->work[0], 12, 6, 6); + } + } + } else { + temp_r31->unk24 = 0; + if(CharModelMotionShiftIDGet(temp_r31->unk8) < 0) { + fn_1_60AC(object, 3); + } + } + } + } else { + if(temp_r31->unk3A > 30.0f) { + temp_r31->unk38 = 0; + } + } + break; + + case 3: + temp_r31->unk24 = 0; + if(temp_r31->unk3C == 0) { + temp_r31->unk3E = 0; + VECSubtract(&temp_r31->unk28, &temp_r31->unk88, &sp20); + temp_r31->unk44 = atan2d(sp20.x, sp20.z); + temp_f28 = VECMag(&sp20); + if(temp_f28 < temp_r31->unk34) { + temp_r31->unk3E++; + fn_1_60AC(object, 6); + } else { + fn_1_60AC(object, 0); + } + temp_r31->unk3A = 0; + temp_r31->unk3C++; + } + if(temp_r31->unk3E) { + if(temp_r31->unk3A > 36.0f) { + for(temp_r29=0; temp_r29unk54; temp_r29++) { + fn_1_8B58(temp_r31->unk58[temp_r29]); + } + temp_r31->unk54 = 0; + temp_r31->unk3E = 0; + } + } + if(temp_r31->unk3A > 60.0f) { + temp_r31->unk38 = 0; + } + break; + } + VECAdd(&temp_r31->unk88, &temp_r31->unk94, &temp_r31->unk88); + temp_r31->unk94.x = temp_r31->unk94.y = temp_r31->unk94.z = 0; + fn_1_64C0(object); + temp_f28 = 0; + if(temp_r31->unk54) { + temp_f28 = (temp_r31->unk54*10)+10; + } + temp_r31->unk50 += (temp_f28-temp_r31->unk50)*0.3f; + Hu3DData[object->model[1]].unk_A4[0] = temp_r31->unk50; + Hu3DModelObjMtxGet(object->model[0], lbl_1_data_190[temp_r31->unkC], sp2C); + for(temp_r29=0; temp_r29unk54; temp_r29++) { + Hu3DModelObjPosGet(object->model[1], sp14[temp_r29], &sp20); + MTXMultVec(sp2C, &sp20, &sp20); + fn_1_8AEC(temp_r31->unk58[temp_r29], &sp20); + } + fn_1_5BEC(object); + if(fn_1_1D54() == 5 && temp_r27) { + temp_r31->unk38 = 0; + object->func = fn_1_5AB0; + } } s32 fn_1_6248(omObjData *object); void fn_1_5AB0(omObjData *object) { - Work4988 *temp_r31 = object->data; - s32 sp8[2] = { -1, 1 }; - fn_1_5BEC(object); - switch (temp_r31->unk38) { - case 0: - temp_r31->unk38++; - break; - - case 1: - Hu3DModelHookReset(object->model[0]); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - if (sp8[temp_r31->unk0] == fn_1_1D8C()) { - fn_1_60AC(object, 7); - } - else { - fn_1_60AC(object, 8); - } - temp_r31->unk44 = 0; - temp_r31->unk48 = 0; - temp_r31->unk4C = 0.005f; - temp_r31->unk38++; - break; - - case 2: - if (fn_1_6248(object)) { - temp_r31->unk38++; - } - break; - } + Work4988 *temp_r31 = object->data; + s32 sp8[2] = { -1, 1 }; + fn_1_5BEC(object); + switch(temp_r31->unk38) { + case 0: + temp_r31->unk38++; + break; + + case 1: + Hu3DModelHookReset(object->model[0]); + Hu3DModelAttrSet(object->model[1], 1); + if(sp8[temp_r31->unk0] == fn_1_1D8C()) { + fn_1_60AC(object, 7); + } else { + fn_1_60AC(object, 8); + } + temp_r31->unk44 = 0; + temp_r31->unk48 = 0; + temp_r31->unk4C = 0.005f; + temp_r31->unk38++; + break; + + case 2: + if(fn_1_6248(object)) { + temp_r31->unk38++; + } + break; + } } float fn_1_6690(float arg0, float arg1, float arg2); void fn_1_5BEC(omObjData *object) { - Work4988 *temp_r31 = object->data; - temp_r31->unk3A++; - object->trans.x = temp_r31->unk88.x; - object->trans.y = temp_r31->unk88.y; - object->trans.z = temp_r31->unk88.z; - temp_r31->unk48 += temp_r31->unk4C; - if (temp_r31->unk48 > 0.45f) { - temp_r31->unk48 = 0.45f; - } - temp_r31->unk40 = fn_1_6690(temp_r31->unk40, temp_r31->unk44, temp_r31->unk48); - object->rot.y = temp_r31->unk40; + Work4988 *temp_r31 = object->data; + temp_r31->unk3A++; + object->trans.x = temp_r31->unk88.x; + object->trans.y = temp_r31->unk88.y; + object->trans.z = temp_r31->unk88.z; + temp_r31->unk48 += temp_r31->unk4C; + if(temp_r31->unk48 > 0.45f) { + temp_r31->unk48 = 0.45f; + } + temp_r31->unk40 = fn_1_6690(temp_r31->unk40, temp_r31->unk44, temp_r31->unk48); + object->rot.y = temp_r31->unk40; } void fn_1_5C98(omObjData *object) { - Vec sp8; - Work4988 *temp_r31 = object->data; - s32 temp_r30; - s32 temp_r29 = 0; - s32 temp_r28; - switch (temp_r31->unk6C) { - case 0: - if (temp_r31->unk60) { - temp_r31->unk70 = fn_1_8FA0(&temp_r31->unk88); - if (temp_r31->unk70 < 0 || temp_r31->unk54 >= temp_r31->unk68 || fn_1_1D44() < 10) { - temp_r29 = 1; - } - if (temp_r31->unk54 && temp_r29) { - temp_r31->unk6C = 3; - temp_r31->unk80 = 0; - } - else if (temp_r31->unk70 >= 0) { - temp_r31->unk6C = 1; - temp_r31->unk80 = 0; - fn_1_8E2C(temp_r31->unk70, &temp_r31->unk74); - temp_r31->unk74.y = temp_r31->unk88.y; - } - } - break; - - case 1: - temp_r31->unk1C = 0.73f * temp_r31->unk64; - if (temp_r31->unk54 && fn_1_1D44() < 10) { - temp_r31->unk6C = 0; - } - else { - temp_r28 = fn_1_8D78(&temp_r31->unk88); - if (fn_1_8F3C(temp_r28) > 0) { - temp_r31->unk6C = 2; - temp_r31->unk80 = 0; - } - else { - VECSubtract(&temp_r31->unk74, &temp_r31->unk88, &sp8); - temp_r31->unk20 = fn_1_6690(temp_r31->unk40, atan2d(sp8.x, sp8.z), temp_r31->unk64 * 0.25f); - temp_r30 = 0; - if (VECMag(&sp8) < 50.0f) { - temp_r30 = 1; - } - if (temp_r30 && fn_1_8F3C(temp_r31->unk70) > 0) { - temp_r31->unk6C = 2; - temp_r31->unk80 = 0; - } - else { - temp_r31->unk80++; - if (temp_r30 || temp_r31->unk80 > (1.0f * REFRESH_RATE)) { - if (temp_r30 || frandmod(1000) < 10) { - temp_r31->unk70 = fn_1_8FA0(&temp_r31->unk88); - fn_1_8E2C(temp_r31->unk70, &temp_r31->unk74); - temp_r31->unk74.y = temp_r31->unk88.y; - temp_r31->unk80 = 0; - if (temp_r31->unk70 < 0) { - temp_r31->unk6C = 0; - } - } - } - } - } - } - break; - - case 2: - temp_r31->unk80++; - if (temp_r31->unk80 < (2 * REFRESH_RATE) * temp_r31->unk64) { - temp_r31->unk1C = 0.4f; - temp_r31->unk20 = temp_r31->unk40 + 10.0f; - temp_r31->unk14 = temp_r31->unk18 = PAD_BUTTON_A; - } - else { - temp_r31->unk6C = 0; - } - break; - - case 3: - temp_r31->unk1C = 0.75f + (0.25f * temp_r31->unk64); - VECSubtract(&temp_r31->unk28, &temp_r31->unk88, &sp8); - temp_r31->unk20 = fn_1_6690(temp_r31->unk40, atan2d(sp8.x, sp8.z), 0.2f); - if (VECMag(&sp8) < temp_r31->unk34 - 30.000002f) { - temp_r31->unk14 = temp_r31->unk18 = PAD_BUTTON_B; - temp_r31->unk6C = 0; - } - break; - } + Vec sp8; + Work4988 *temp_r31 = object->data; + s32 temp_r30; + s32 temp_r29 = 0; + s32 temp_r28; + switch(temp_r31->unk6C) { + case 0: + if(temp_r31->unk60) { + temp_r31->unk70 = fn_1_8FA0(&temp_r31->unk88); + if(temp_r31->unk70 < 0 || temp_r31->unk54 >= temp_r31->unk68 || fn_1_1D44() < 10) { + temp_r29 = 1; + } + if(temp_r31->unk54 && temp_r29) { + temp_r31->unk6C = 3; + temp_r31->unk80 = 0; + } else if(temp_r31->unk70 >= 0) { + temp_r31->unk6C = 1; + temp_r31->unk80 = 0; + fn_1_8E2C(temp_r31->unk70, &temp_r31->unk74); + temp_r31->unk74.y = temp_r31->unk88.y; + } + } + break; + + case 1: + temp_r31->unk1C = 0.73f*temp_r31->unk64; + if(temp_r31->unk54 && fn_1_1D44() < 10) { + temp_r31->unk6C = 0; + } else { + temp_r28 = fn_1_8D78(&temp_r31->unk88); + if(fn_1_8F3C(temp_r28) > 0) { + temp_r31->unk6C = 2; + temp_r31->unk80 = 0; + } else { + VECSubtract(&temp_r31->unk74, &temp_r31->unk88, &sp8); + temp_r31->unk20 = fn_1_6690(temp_r31->unk40, atan2d(sp8.x, sp8.z), temp_r31->unk64*0.25f); + temp_r30 = 0; + if(VECMag(&sp8) < 50.0f) { + temp_r30 = 1; + } + if(temp_r30 && fn_1_8F3C(temp_r31->unk70) > 0) { + temp_r31->unk6C = 2; + temp_r31->unk80 = 0; + } else { + temp_r31->unk80++; + if(temp_r30 || temp_r31->unk80 > 60.0f) { + if(temp_r30 || frandmod(1000) < 10) { + temp_r31->unk70 = fn_1_8FA0(&temp_r31->unk88); + fn_1_8E2C(temp_r31->unk70, &temp_r31->unk74); + temp_r31->unk74.y = temp_r31->unk88.y; + temp_r31->unk80 = 0; + if(temp_r31->unk70 < 0) { + temp_r31->unk6C = 0; + } + } + } + } + } + } + break; + + case 2: + temp_r31->unk80++; + if(temp_r31->unk80 < 120*temp_r31->unk64) { + temp_r31->unk1C = 0.4f; + temp_r31->unk20 = temp_r31->unk40+10.0f; + temp_r31->unk14 = temp_r31->unk18 = PAD_BUTTON_A; + } else { + temp_r31->unk6C = 0; + } + break; + + case 3: + temp_r31->unk1C = 0.75f+(0.25f*temp_r31->unk64); + VECSubtract(&temp_r31->unk28, &temp_r31->unk88, &sp8); + temp_r31->unk20 = fn_1_6690(temp_r31->unk40, atan2d(sp8.x, sp8.z), 0.2f); + if(VECMag(&sp8) < temp_r31->unk34-30.000002f) { + temp_r31->unk14 = temp_r31->unk18 = PAD_BUTTON_B; + temp_r31->unk6C = 0; + } + break; + } } void fn_1_60AC(omObjData *arg0, u32 arg1) { - float temp_f31; - Work4988 *temp_r30 = arg0->data; - if (temp_r30->unk10 != arg1 && arg1 < 9) { - temp_f31 = lbl_1_data_224[arg1].unk4; - if (temp_r30->unk10 < 0) { - temp_f31 = 0; - } - temp_r30->unk10 = arg1; - CharModelMotionShiftSet(temp_r30->unk8, arg0->motion[lbl_1_data_224[arg1].unk0], 0, temp_f31, lbl_1_data_224[arg1].unkC); - CharModelMotionSpeedSet(temp_r30->unk8, 1.0f); - if (lbl_1_data_224[arg1].unk2) { - Hu3DMotionOverlaySet(arg0->model[0], arg0->motion[lbl_1_data_224[arg1].unk2]); - Hu3DMotionOverlayTimeSet(arg0->model[0], lbl_1_data_224[arg1].unk8); - Hu3DData[arg0->model[0]].unk_78 = 1.0f; - } - else { - Hu3DMotionOverlayReset(arg0->model[0]); - } - } + float temp_f31; + Work4988 *temp_r30 = arg0->data; + if(temp_r30->unk10 != arg1 && arg1 < 9) { + temp_f31 = lbl_1_data_224[arg1].unk4; + if(temp_r30->unk10 < 0) { + temp_f31 = 0; + } + temp_r30->unk10 = arg1; + CharModelMotionShiftSet(temp_r30->unk8, arg0->motion[lbl_1_data_224[arg1].unk0], 0, temp_f31, lbl_1_data_224[arg1].unkC); + CharModelMotionSpeedSet(temp_r30->unk8, 1.0f); + if(lbl_1_data_224[arg1].unk2) { + Hu3DMotionOverlaySet(arg0->model[0], arg0->motion[lbl_1_data_224[arg1].unk2]); + Hu3DMotionOverlayTimeSet(arg0->model[0], lbl_1_data_224[arg1].unk8); + Hu3DData[arg0->model[0]].unk_78 = 1.0f; + } else { + Hu3DMotionOverlayReset(arg0->model[0]); + } + } } s32 fn_1_6248(omObjData *object) { - Work4988 *temp_r31 = object->data; - s32 temp_r30 = 0; - if (CharModelMotionEndCheck(temp_r31->unk8) && CharModelMotionShiftIDGet(temp_r31->unk8) < 0) { - temp_r30 = 1; - } - return temp_r30; + Work4988 *temp_r31 = object->data; + s32 temp_r30 = 0; + if(CharModelMotionEndCheck(temp_r31->unk8) && CharModelMotionShiftIDGet(temp_r31->unk8) < 0) { + temp_r30 = 1; + } + return temp_r30; } s32 fn_1_62BC(omObjData *arg0, u32 arg1) { - s32 result = 0; - if (fn_1_6248(arg0)) { - fn_1_60AC(arg0, arg1); - result = 1; - } - return result; + s32 result = 0; + if(fn_1_6248(arg0)) { + fn_1_60AC(arg0, arg1); + result = 1; + } + return result; } s32 fn_1_649C(omObjData *object) { - Work4988 *sp8 = object->data; - s32 temp_r31 = 0; - return temp_r31; + Work4988 *sp8 = object->data; + s32 temp_r31 = 0; + return temp_r31; } + void fn_1_64C0(omObjData *object) { - float temp_f31; - Vec sp8; - Work4988 *temp_r31; - Work4988 *temp_r30; - s32 temp_r29; - s32 temp_r28; - s32 temp_r27; - for (temp_r27 = 0; temp_r27 < 2; temp_r27++) { - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - temp_r31 = lbl_1_bss_5870[temp_r29]->data; - for (temp_r28 = 0; temp_r28 < 4; temp_r28++) { - if (temp_r29 == temp_r28) { - continue; - } - temp_r30 = lbl_1_bss_5870[temp_r28]->data; - VECSubtract(&temp_r31->unk88, &temp_r30->unk88, &sp8); - temp_f31 = VECMag(&sp8); - if (temp_f31 < temp_r31->unk84 + temp_r30->unk84) { - temp_f31 = 0.5f * ((temp_r31->unk84 + temp_r30->unk84) - temp_f31); - VECNormalize(&sp8, &sp8); - VECScale(&sp8, &sp8, temp_f31); - VECAdd(&temp_r31->unk88, &sp8, &temp_r31->unk88); - VECSubtract(&temp_r30->unk88, &sp8, &temp_r30->unk88); - } - } - sp8 = temp_r31->unk88; - sp8.y = 0; - temp_f31 = VECMag(&sp8); - if (temp_f31 > 510.0f - temp_r31->unk84) { - VECNormalize(&sp8, &sp8); - VECScale(&sp8, &sp8, -(temp_f31 - (510.0f - temp_r31->unk84))); - VECAdd(&sp8, &temp_r31->unk88, &temp_r31->unk88); - } - } - } + float temp_f31; + Vec sp8; + Work4988 *temp_r31; + Work4988 *temp_r30; + s32 temp_r29; + s32 temp_r28; + s32 temp_r27; + for(temp_r27=0; temp_r27<2; temp_r27++) { + for(temp_r29=0; temp_r29<4; temp_r29++) { + temp_r31 = lbl_1_bss_5870[temp_r29]->data; + for(temp_r28=0; temp_r28<4; temp_r28++) { + if(temp_r29 == temp_r28) { + continue; + } + temp_r30 = lbl_1_bss_5870[temp_r28]->data; + VECSubtract(&temp_r31->unk88, &temp_r30->unk88, &sp8); + temp_f31 = VECMag(&sp8); + if(temp_f31 < temp_r31->unk84+temp_r30->unk84) { + temp_f31 = 0.5f*((temp_r31->unk84+temp_r30->unk84)-temp_f31); + VECNormalize(&sp8, &sp8); + VECScale(&sp8, &sp8, temp_f31); + VECAdd(&temp_r31->unk88, &sp8, &temp_r31->unk88); + VECSubtract(&temp_r30->unk88, &sp8, &temp_r30->unk88); + } + } + sp8 = temp_r31->unk88; + sp8.y = 0; + temp_f31 = VECMag(&sp8); + if(temp_f31 > 510.0f-temp_r31->unk84) { + VECNormalize(&sp8, &sp8); + VECScale(&sp8, &sp8, -(temp_f31-(510.0f-temp_r31->unk84))); + VECAdd(&sp8, &temp_r31->unk88, &temp_r31->unk88); + } + } + } } float fn_1_6690(float arg0, float arg1, float arg2) { - float temp_f31; - temp_f31 = fmodf(arg1 - arg0, 360.0); - if (temp_f31 < 0.0f) { - temp_f31 += 360.0f; - } - if (temp_f31 > 180.0f) { - temp_f31 -= 360.0f; - } - temp_f31 = fmodf((arg2 * temp_f31) + arg0, 360.0); - if (temp_f31 < 0.0f) { - temp_f31 += 360.0f; - } - return temp_f31; + float temp_f31; + temp_f31 = fmodf(arg1-arg0, 360.0); + if(temp_f31 < 0.0f) { + temp_f31 += 360.0f; + } + if(temp_f31 > 180.0f) { + temp_f31 -= 360.0f; + } + temp_f31 = fmodf((arg2*temp_f31)+arg0, 360.0); + if(temp_f31 < 0.0f) { + temp_f31 += 360.0f; + } + return temp_f31; } float fn_1_67AC(float arg0, float arg1) { - float temp_f31; - temp_f31 = fmodf(arg1 - arg0, 360.0); - if (temp_f31 < 0.0f) { - temp_f31 += 360.0f; - } - if (temp_f31 > 180.0f) { - temp_f31 -= 360.0f; - } - return temp_f31; -} + float temp_f31; + temp_f31 = fmodf(arg1-arg0, 360.0); + if(temp_f31 < 0.0f) { + temp_f31 += 360.0f; + } + if(temp_f31 > 180.0f) { + temp_f31 -= 360.0f; + } + return temp_f31; +} \ No newline at end of file diff --git a/src/REL/m435Dll/main.c b/src/REL/m435Dll/main.c deleted file mode 100755 index df551b13..00000000 --- a/src/REL/m435Dll/main.c +++ /dev/null @@ -1,4271 +0,0 @@ -#include "REL/m435Dll.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/esprite.h" -#include "game/gamework.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/process.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - -#include "ext_math.h" - -typedef struct { - /* 0x00 */ omObjData* unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ s32 unk20; - /* 0x24 */ s32 unk24; - /* 0x28 */ s32 unk28; - /* 0x2C */ s32 unk2C; - /* 0x30 */ s32 unk30; - /* 0x34 */ s32 unk34; - /* 0x38 */ s32 unk38; - /* 0x3C */ float unk3C; - /* 0x40 */ float unk40; - /* 0x44 */ float unk44; - /* 0x48 */ float unk48; - /* 0x4C */ float unk4C; - /* 0x50 */ float unk50; - /* 0x54 */ float unk54; - /* 0x58 */ StructFn19894 unk58; -} StructBssE88; // Size 0x4D8 - -typedef struct { - /* 0x00 */ omObjData* unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ s32 unk20; -} StructBssDE4; // Size 0x24 - -typedef struct { - /* 0x000 */ omObjData* unk00; - /* 0x004 */ s32 unk04; - /* 0x008 */ s32 unk08; - /* 0x00C */ s32 unk0C; - /* 0x010 */ s32 unk10; - /* 0x014 */ s32 unk14[3]; - /* 0x020 */ s32 unk20; - /* 0x024 */ s32 unk24; - /* 0x028 */ s32 unk28; - /* 0x02C */ s32 unk2C[3]; - /* 0x038 */ s32 unk38[3]; - /* 0x044 */ s32 unk44[3]; - /* 0x050 */ s32 unk50[3]; - /* 0x05C */ s32 unk5C[3]; - /* 0x068 */ s32 unk68[3]; - /* 0x074 */ float unk74; - /* 0x078 */ float unk78; - /* 0x07C */ float unk7C[3]; - /* 0x088 */ float unk88[3]; - /* 0x094 */ float unk94[3]; - /* 0x0A0 */ float unkA0[3]; - /* 0x0AC */ Vec unkAC[3]; - /* 0x0D0 */ Vec unkD0[3]; - /* 0x0F4 */ Vec unkF4[3]; - /* 0x118 */ Vec unk118[3]; - /* 0x13C */ Vec unk13C[3]; - /* 0x160 */ Vec unk160[3]; - /* 0x184 */ Vec unk184[3]; - /* 0x1A8 */ float unk1A8[3]; -} StructBssC30; // Size 0x1B4 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ char unk08[0xC]; - /* 0x14 */ s32 unk14; - /* 0x18 */ char unk18[0x20]; -} StructBss4F10; // Size 0x38 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; -} StructBss4EE8; // Size 0x20 - -typedef struct { - /* 0x00 */ omObjData* unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; -} StructBssC1C; // Size 0x14 - -typedef struct { - /* 0x000 */ omObjData* unk00; - /* 0x004 */ Vec unk04; - /* 0x010 */ Vec unk10; - /* 0x01C */ s32 unk1C; - /* 0x020 */ s32 unk20; - /* 0x024 */ s32 unk24; - /* 0x028 */ s32 unk28; - /* 0x02C */ s32 unk2C; - /* 0x030 */ s32 unk30; - /* 0x034 */ s32 unk34; - /* 0x038 */ s32 unk38; - /* 0x03C */ StructFn19894 unk3C; -} StructBss2A4; // Size 0x4BC - -typedef struct { - /* 0x00 */ omObjData* unk00; - /* 0x04 */ s32 unk04[6]; - /* 0x1C */ char unk1C[0x10]; - /* 0x2C */ s32 unk2C; - /* 0x30 */ s32 unk30; - /* 0x34 */ s32 unk34; - /* 0x38 */ s32 unk38; - /* 0x3C */ s32 unk3C; - /* 0x40 */ s32 unk40; - /* 0x44 */ s32 unk44; - /* 0x48 */ s32 unk48; - /* 0x4C */ float unk4C; - /* 0x50 */ s32 unk50; - /* 0x54 */ s32 unk54; -} StructBss144; // Size 0x58 - -typedef struct { - /* 0x00 */ omObjData* unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ float unk08[6]; - /* 0x20 */ char unk20[8]; - /* 0x28 */ float unk28[6]; - /* 0x40 */ char unk40[8]; - /* 0x48 */ float unk48[6]; - /* 0x60 */ char unk60[8]; - /* 0x68 */ float unk68[6]; - /* 0x80 */ char unk80[8]; - /* 0x88 */ float unk88[6]; - /* 0xA0 */ char unkA0[8]; -} StructBss9C; // Size 0xA8 - -void fn_1_3AF4(s32 arg0); -void fn_1_4104(s32 arg0); -void fn_1_7D50(s32 arg0); -void fn_1_8544(s32 arg0); -s32 fn_1_8E48(s32 arg0); -s32 fn_1_8F34(s32 arg0); - -StructBss4F10 lbl_1_bss_4F10; -s32 lbl_1_bss_4F08[2]; -StructBss4EE8 lbl_1_bss_4EE8; -char lbl_1_bss_21E8_pad[0x2D00]; // unused -StructBssE88 lbl_1_bss_E88[4]; -StructBssE08 lbl_1_bss_E08; -StructBssDE4 lbl_1_bss_DE4; -StructBssC30 lbl_1_bss_C30; -StructBssC1C lbl_1_bss_C1C; -StructBss2A4 lbl_1_bss_2A4[2]; -StructBss144 lbl_1_bss_144[4]; -StructBss9C lbl_1_bss_9C; -StructBss84 lbl_1_bss_84; -StructBss84 lbl_1_bss_6C; -Vec lbl_1_bss_3C[4]; -StructBss84 lbl_1_bss_24; -s32 lbl_1_bss_20; -s32 lbl_1_bss_1C; -s32 lbl_1_bss_18; // unused -s32 lbl_1_bss_14; -s32 lbl_1_bss_10; -s32 lbl_1_bss_C; -s32 lbl_1_bss_8; -s32 lbl_1_bss_4; -Process* lbl_1_bss_0; - -s32 lbl_1_data_0[][3] = { - { DATA_MAKE_NUM(DATADIR_M435, 27), DATA_MAKE_NUM(DATADIR_M435, 26), DATA_MAKE_NUM(DATADIR_MGCONST, 0) }, - { DATA_MAKE_NUM(DATADIR_M435, 28), DATA_MAKE_NUM(DATADIR_M435, 26), DATA_MAKE_NUM(DATADIR_MGCONST, 1) }, - { DATA_MAKE_NUM(DATADIR_M435, 30), DATA_MAKE_NUM(DATADIR_M435, 26), DATA_MAKE_NUM(DATADIR_MGCONST, 2) }, - { DATA_MAKE_NUM(DATADIR_M435, 29), DATA_MAKE_NUM(DATADIR_M435, 26), DATA_MAKE_NUM(DATADIR_MGCONST, 3) }, - { DATA_MAKE_NUM(DATADIR_M435, 32), DATA_MAKE_NUM(DATADIR_M435, 26), DATA_MAKE_NUM(DATADIR_MGCONST, 4) }, - { DATA_MAKE_NUM(DATADIR_M435, 31), DATA_MAKE_NUM(DATADIR_M435, 26), DATA_MAKE_NUM(DATADIR_MGCONST, 5) }, - { DATA_MAKE_NUM(DATADIR_M435, 33), DATA_MAKE_NUM(DATADIR_M435, 26), DATA_MAKE_NUM(DATADIR_MGCONST, 6) }, - { DATA_MAKE_NUM(DATADIR_M435, 34), DATA_MAKE_NUM(DATADIR_M435, 26), DATA_MAKE_NUM(DATADIR_MGCONST, 7) } -}; - -char* lbl_1_data_E0[] = { - "c000m1-ske_head", - "c001m1-ske_head", - "c002m1-ske_head", - "c003m1-ske_head", - "c004m1-ske_head", - "c005m1-ske_head", - "c006m1-ske_head", - "c007m1-ske_head" -}; - -s32 lbl_1_data_100[][2] = { - { 0x00000100, 0x00000001 }, - { 0x00000100, 0x00000001 }, - { 0x00000080, 0x00000000 }, - { 0x00000080, 0x00000000 }, - { 0x00000080, 0x00000000 }, - { 0x00000100, 0x00000001 }, - { 0x00000080, 0x00000000 }, - { 0x00000080, 0x00000000 } -}; - -s32 lbl_1_data_140[][5] = { - { 91, 105, 126, 141, -1 }, - { 91, 105, 126, 141, -1 }, - { 124, 137, -1, -1, -1 }, - { 85, 100, 127, -1, -1 }, - { 124, 139, -1, -1, -1 }, - { 85, 97, 127, 139, -1 }, - { 127, 137, -1, -1, -1 }, - { 79, 95, 109, 127, -1 } -}; - -s32 lbl_1_data_1E0 = -1; -s32 lbl_1_data_1E4 = -1; -s32 lbl_1_data_1E8 = -1; - -void fn_1_0(void) { - s32 i; - - while (TRUE) { - HuPrcVSleep(); - if (lbl_1_data_1E0 == -1 || lbl_1_data_1E4 == -1 || lbl_1_data_1E8 == -1 || lbl_1_data_1E4 != Hu3DMotionIDGet(lbl_1_data_1E0)) { - continue; - } - for (i = 0; i < 5; i++) { - if (lbl_1_data_140[lbl_1_data_1E8][i] != -1 && Hu3DMotionTimeGet(lbl_1_data_1E0) >= lbl_1_data_140[lbl_1_data_1E8][i]) { - OSReport("KE-System CHR:%d TIME:%d\n", lbl_1_data_1E8, lbl_1_data_140[lbl_1_data_1E8][i]); - HuAudFXPlay(0x6D8); - lbl_1_data_140[lbl_1_data_1E8][i] = -1; - } - } - } -} - -void fn_1_1A8(void) { - s32 var_r31; - - var_r31 = Hu3DGLightCreate(0.0f, 1000.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0xFF, 0xFF, 0xFF); - Hu3DGLightInfinitytSet(var_r31); -} - -void fn_1_230(s32 arg0, s32 arg1, float arg2) { - StructBssE08* var_r31; - - var_r31 = &lbl_1_bss_E08; - var_r31->unk48[arg0] = arg1; - if (var_r31->unk64[arg0] < 0.0f) { - var_r31->unk64[arg0] = -arg2; - } - else { - var_r31->unk64[arg0] = arg2; - } -} - -void fn_1_298(s32 arg0, float arg1) { - fn_1_230(arg0, -1, arg1); -} - -float fn_1_304(s32 arg0) { - StructBssE08* var_r31; - - var_r31 = &lbl_1_bss_E08; - if (var_r31->unk64[arg0] != 0.0f) { - var_r31->unk64[arg0] *= -0.9f; - if (var_r31->unk48[arg0] == -1) { - if (var_r31->unk64[arg0] >= -0.5f && var_r31->unk64[arg0] <= 0.5f) { - var_r31->unk64[arg0] = 0.0f; - } - } - else { - var_r31->unk48[arg0]--; - if (var_r31->unk48[arg0] <= 0) { - var_r31->unk48[arg0] = 0; - var_r31->unk64[arg0] = 0.0f; - } - } - } - return var_r31->unk64[arg0]; -} - -void fn_1_434(void) { - StructBssE08* var_r31; - - var_r31 = &lbl_1_bss_E08; - if (HuPadBtn[0] & 0x200) { - if (HuPadBtn[0] & 0x100) { - var_r31->unk14 -= HuPadStkY[0] / 10.0f; - } - else { - var_r31->unk0C += HuPadStkX[0] / 10.0f; - var_r31->unk10 += HuPadStkY[0] / 10.0f; - } - } - if (HuPadBtn[0] & 0x800) { - var_r31->unk24 -= HuPadStkY[0] / 100.0f; - var_r31->unk28 += HuPadStkX[0] / 100.0f; - if (var_r31->unk24 < 0.0f) { - var_r31->unk24 += 360.0f; - } - if (var_r31->unk24 >= 360.0f) { - var_r31->unk24 -= 360.0f; - } - if (var_r31->unk28 < 0.0f) { - var_r31->unk28 += 360.0f; - } - if (var_r31->unk28 >= 360.0f) { - var_r31->unk28 -= 360.0f; - } - } - if (HuPadBtn[0] & 0x400) { - var_r31->unk3C -= HuPadStkY[0] / 10.0f; - } - print8(16, 100, 1.0f, ">>>>>>>>>> CAMERA TEST <<<<<<<<<<"); - print8(16, 110, 1.0f, "CENTER : %.2f, %.2f, %.2f", var_r31->unk0C, var_r31->unk10, var_r31->unk14); - print8(16, 120, 1.0f, "ROT : %.2f, %.2f, %.2f", var_r31->unk24, var_r31->unk28, var_r31->unk2C); - print8(16, 130, 1.0f, "ZOOM : %.2f", var_r31->unk3C); -} - -void fn_1_818(void) { - StructBssE08* var_r31; - - var_r31 = &lbl_1_bss_E08; - var_r31->unk0C = 0.0f; - var_r31->unk10 = 225.0f; - var_r31->unk14 = 1740.0f; - var_r31->unk24 = -10.0f; - var_r31->unk28 = 0.0f; - var_r31->unk2C = 0.0f; - var_r31->unk3C = 300.0f; -} - -void fn_1_8A4(void (*arg0)(void)) { - StructBssE08* var_r31; - - var_r31 = &lbl_1_bss_E08; - var_r31->unk04 = arg0; -} - -void fn_1_8C4(void (*arg0)(void)) { - StructBssE08* var_r31; - - var_r31 = &lbl_1_bss_E08; - var_r31->unk08 = arg0; -} - -void fn_1_8E4(omObjData* arg0) { - StructBssE08* var_r31; - - var_r31 = &lbl_1_bss_E08; - if (var_r31->unk04 != NULL) { - var_r31->unk04(); - } -} - -void fn_1_92C(omObjData* arg0) { - StructBssE08* var_r23; - - var_r23 = &lbl_1_bss_E08; - fn_1_8E4(arg0); - Center.x = var_r23->unk0C + fn_1_304(0); - Center.y = var_r23->unk10 + fn_1_304(1); - Center.z = var_r23->unk14 + fn_1_304(2); - CRot.x = var_r23->unk24 + fn_1_304(3); - CRot.y = var_r23->unk28 + fn_1_304(4); - CRot.z = var_r23->unk2C + fn_1_304(5); - CZoom = var_r23->unk3C + fn_1_304(6); -} - -void fn_1_FDC(void) { - Hu3DCameraCreate(1); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraPerspectiveSet(1, 45.0f, 0.1f, 10000.0f, 1.2f); - fn_1_8A4(fn_1_818); - fn_1_8C4(fn_1_434); - omAddObjEx(lbl_1_bss_0, 0x7FDA, 0, 0, -1, omOutView); - omAddObjEx(lbl_1_bss_0, 0x7FD9, 0, 0, -1, fn_1_92C); -} - -void fn_1_1110(void) { - Vec sp20 = { 0.0f, 2500.0f, 1.0f }; - Vec sp14 = { 0.0f, 0.0f, 0.0f }; - Vec sp8 = { 0.0f, 1.0f, 0.0f }; - - Hu3DShadowCreate(45.0f, 2000.0f, 25000.0f); - Hu3DShadowTPLvlSet(0.8f); - Hu3DShadowPosSet(&sp20, &sp8, &sp14); -} - -void fn_1_11D4(s32 arg0, float arg1, float arg2, s32 arg3) { - WindowData* temp_r29; - float temp_f29; - float temp_f28; - float temp_f25; - float temp_f24; - float temp_f27; - float temp_f26; - float var_f31; - float var_f30; - float var_f23; - float var_f22; - float var_f21; - float var_f20; - s32 i; - - temp_r29 = &winData[arg0]; - temp_f29 = temp_r29->pos_x; - temp_f28 = temp_r29->pos_y; - temp_f25 = temp_r29->w; - temp_f24 = temp_r29->h; - var_f31 = temp_f29 + temp_f25 * arg1; - temp_f27 = 4.0f / temp_f25; - if (var_f31 + 4.0f - (temp_f29 + temp_f25) >= 0.0f) { - var_f31 = temp_f29 + temp_f25 - 4.0f; - } - else { - if (temp_f29 - (var_f31 - 2.0f) >= 0.0f) { - var_f31 = temp_f29; - } - else { - var_f31 -= 2.0f; - } - } - var_f30 = temp_f28 + temp_f24 * arg2; - temp_f26 = 4.0f / temp_f24; - if (var_f30 + 4.0f - (temp_f28 + temp_f24) >= 0.0f) { - var_f30 = temp_f28 + temp_f24 - 4.0f; - } - else { - if (temp_f28 - (var_f30 - 2.0f) >= 0.0f) { - var_f30 = temp_f28; - } - else { - var_f30 -= 2.0f; - } - } - if (arg3 != 0) { - HuWinPosSet(arg0, var_f31, var_f30); - HuWinScaleSet(arg0, temp_f27, temp_f26); - var_f23 = var_f31; - var_f21 = temp_f27; - var_f22 = var_f30; - var_f20 = temp_f26; - } - else { - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - var_f23 = temp_f29; - var_f21 = 1.0f; - var_f22 = temp_f28; - var_f20 = 1.0f; - } - HuWinDispOn(arg0); - for (i = 0; i <= 15; i++) { - HuPrcVSleep(); - if (arg3 != 0) { - if (i <= 10) { - var_f23 = fn_1_152D4(var_f31, temp_f29, i, 10.0f); - var_f21 = fn_1_152D4(temp_f27, 1.0f, i, 10.0f); - } - else { - var_f22 = fn_1_152D4(var_f30, temp_f28, i - 10, 5.0f); - var_f20 = fn_1_152D4(temp_f26, 1.0f, i - 10, 5.0f); - } - } - else { - if (i <= 10) { - var_f22 = fn_1_152D4(temp_f28, var_f30, i, 10.0f); - var_f20 = fn_1_152D4(1.0f, temp_f26, i, 10.0f); - } - else { - var_f23 = fn_1_152D4(temp_f29, var_f31, i - 10, 5.0f); - var_f21 = fn_1_152D4(1.0f, temp_f27, i - 10, 5.0f); - } - } - HuWinPosSet(arg0, var_f23, var_f22); - HuWinScaleSet(arg0, var_f21, var_f20); - } - if (arg3 != 0) { - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - } - else { - HuWinPosSet(arg0, var_f31, var_f30); - HuWinScaleSet(arg0, temp_f27, temp_f26); - } - HuPrcVSleep(); -} - -void fn_1_1818(void) { - HuWinInit(1); -} - -void fn_1_183C(s32 arg0, float arg1, float arg2) { - WindowData* temp_r31; - float temp_f29; - float temp_f28; - float temp_f27; - float temp_f26; - float temp_f25; - float temp_f24; - float var_f31; - float var_f30; - float temp_f23; - float temp_f22; - float temp_f21; - float temp_f20; - s32 i; - - temp_r31 = &winData[arg0]; - temp_f29 = temp_r31->pos_x; - temp_f28 = temp_r31->pos_y; - temp_f27 = temp_r31->w; - temp_f26 = temp_r31->h; - var_f31 = temp_f29 + temp_f27 * arg1; - temp_f25 = 4.0f / temp_f27; - if (var_f31 + 4.0f - (temp_f29 + temp_f27) >= 0.0f) { - var_f31 = temp_f29 + temp_f27 - 4.0f; - } - else { - if (temp_f29 - (var_f31 - 2.0f) >= 0.0f) { - var_f31 = temp_f29; - } - else { - var_f31 -= 2.0f; - } - } - var_f30 = temp_f28 + temp_f26 * arg2; - temp_f24 = 4.0f / temp_f26; - if (var_f30 + 4.0f - (temp_f28 + temp_f26) >= 0.0f) { - var_f30 = temp_f28 + temp_f26 - 4.0f; - } - else { - if (temp_f28 - (var_f30 - 2.0f) >= 0.0f) { - var_f30 = temp_f28; - } - else { - var_f30 -= 2.0f; - } - } - HuWinPosSet(arg0, var_f31, var_f30); - HuWinScaleSet(arg0, temp_f25, temp_f24); - HuPrcVSleep(); - for (i = 0; i < 10; i++) { - temp_f23 = fn_1_152D4(var_f31, temp_f29, i, 10.0f); - temp_f21 = fn_1_152D4(temp_f25, 1.0f, i, 10.0f); - temp_f22 = fn_1_152D4(var_f30, temp_f28, i, 10.0f); - temp_f20 = fn_1_152D4(temp_f24, 1.0f, i, 10.0f); - HuWinPosSet(arg0, temp_f23, temp_f22); - HuWinScaleSet(arg0, temp_f21, temp_f20); - HuPrcVSleep(); - } - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - HuPrcVSleep(); -} - -s32 fn_1_1C94(float arg0, float arg1, float arg2, float arg3, s32 arg4) { - s32 var_r31; - s32 sp18[][6] = { - { 0xFF, 0xFF, 0xCC, 0x00, 0x09, 0x09 }, - { 0xCC, 0xFF, 0xFF, 0x00, 0x09, 0x09 }, - { 0xFF, 0xCC, 0xFF, 0x00, 0x09, 0x09 } - }; - - var_r31 = HuWinCreate(arg0, arg1, arg2, arg3, 1); - HuSprColorSet(winData[var_r31].group, 0, sp18[arg4][0], sp18[arg4][1], sp18[arg4][2]); - winData[var_r31].mess_color = sp18[arg4][3]; - winData[var_r31].mess_shadow_color = sp18[arg4][4]; - winData[var_r31].attr |= 0x80; - HuWinBGTPLvlSet(var_r31, sp18[arg4][5] / 10.0f); - winData[var_r31].active_pad = 0; - fn_1_11D4(var_r31, 0.5f, 0.5f, 1); - return var_r31; -} - -s32 fn_1_1E80(float arg0, float arg1, float arg2, float arg3, s32 arg4) { - return fn_1_1C94(arg0, arg1, arg2, arg3, arg4); -} - -void fn_1_206C(s32 arg0, float arg1, float arg2) { - WindowData* temp_r31; - float temp_f29; - float temp_f28; - float temp_f27; - float temp_f26; - float temp_f25; - float temp_f24; - float var_f31; - float var_f30; - float temp_f23; - float temp_f22; - float temp_f21; - float temp_f20; - s32 i; - - temp_r31 = &winData[arg0]; - temp_f29 = temp_r31->pos_x; - temp_f28 = temp_r31->pos_y; - temp_f27 = temp_r31->w; - temp_f26 = temp_r31->h; - var_f31 = temp_f29 + temp_f27 * arg1; - temp_f25 = 4.0f / temp_f27; - if (var_f31 + 4.0f - (temp_f29 + temp_f27) >= 0.0f) { - var_f31 = temp_f29 + temp_f27 - 4.0f; - } - else { - if (temp_f29 - (var_f31 - 2.0f) >= 0.0f) { - var_f31 = temp_f29; - } - else { - var_f31 = var_f31 - 2.0f; - } - } - var_f30 = temp_f28 + temp_f26 * arg2; - temp_f24 = 4.0f / temp_f26; - if (var_f30 + 4.0f - (temp_f28 + temp_f26) >= 0.0f) { - var_f30 = temp_f28 + temp_f26 - 4.0f; - } - else { - if (temp_f28 - (var_f30 - 2.0f) >= 0.0f) { - var_f30 = temp_f28; - } - else { - var_f30 = var_f30 - 2.0f; - } - } - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - HuPrcVSleep(); - for (i = 0; i < 10; i++) { - temp_f23 = fn_1_1539C(temp_f29, var_f31, i, 10.0f); - temp_f21 = fn_1_1539C(1.0f, temp_f25, i, 10.0f); - temp_f22 = fn_1_1539C(temp_f28, var_f30, i, 10.0f); - temp_f20 = fn_1_1539C(1.0f, temp_f24, i, 10.0f); - HuWinPosSet(arg0, temp_f23, temp_f22); - HuWinScaleSet(arg0, temp_f21, temp_f20); - HuPrcVSleep(); - } - HuWinPosSet(arg0, var_f31, var_f30); - HuWinScaleSet(arg0, temp_f25, temp_f24); - HuPrcVSleep(); -} - -void fn_1_24C4(s32 arg0) { - HuWinMesSet(arg0, MAKE_MESSID(29, 22)); - HuPrcVSleep(); - fn_1_11D4(arg0, 0.5f, 0.5f, 0); - HuWinKill(arg0); -} - -void fn_1_252C(s32 arg0) { - fn_1_24C4(arg0); -} - -void fn_1_2594(s32 arg0, s32 arg1) { - s32 i; - s32 var_r30; - s32 temp_r28; - - var_r30 = 0; - temp_r28 = GWMessDelayGet(); - if (arg1 > 0) { - HuPrcSleep(arg1); - return; - } - HuWinComKeyReset(); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_E88[i].unk2C == 0) { - var_r30 = 1; - winData[arg0].active_pad = 0xF; - } - } - if (var_r30 == 0) { - winData[arg0].active_pad = 0xF; - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, temp_r28); - } - HuWinMesWait(arg0); - HuWinComKeyReset(); -} - -void fn_1_267C(s32 arg0) { - s32 var_r31; - s32 temp_r28; - s32 i; - - var_r31 = 0; - temp_r28 = GWMessDelayGet(); - HuWinComKeyReset(); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_E88[i].unk2C == 0) { - var_r31 = 1; - winData[arg0].active_pad = 0xF; - } - } - if (var_r31 == 0) { - winData[arg0].active_pad = 0xF; - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, temp_r28); - } - var_r31 = HuWinChoiceGet(arg0, 1); - if (var_r31 == -1 || var_r31 == 1) { - lbl_1_bss_8 = 0; - } - else { - lbl_1_bss_8 = 1; - } - HuWinComKeyReset(); -} - -void fn_1_2798(s32 arg0, s32 arg1) { - winData[arg0].mess_color = 0; - winData[arg0].mess_shadow_color = 9; - winData[arg0].attr |= 0x80; - HuWinMesSet(arg0, arg1); -} - -void fn_1_281C(float* arg0, s32 arg1) { - float spC[2]; - - HuWinMesMaxSizeGet(1, spC, arg1); - if (spC[0] > arg0[0]) { - arg0[0] = spC[0]; - } - if (spC[1] > arg0[1]) { - arg0[1] = spC[1]; - } -} - -void fn_1_288C(s32 arg0) { - if (lbl_1_bss_10 == 0) { - lbl_1_bss_10 = 1; - lbl_1_bss_C = arg0 * 60; - } -} - -s32 fn_1_28C4(void) { - if (lbl_1_bss_10 == 3) { - return 1; - } else { - return 0; - } -} - -s32 fn_1_28E8(void) { - if (lbl_1_bss_10 == 2) { - lbl_1_bss_10 = 3; - lbl_1_bss_C = 30; - } -} - -s32 lbl_1_data_26C = -1; - -void fn_1_2920(omObjData* arg0) { - switch (lbl_1_bss_10) { - case 1: - if (lbl_1_data_26C == -1) { - lbl_1_data_26C = MGSeqCreate(1, lbl_1_bss_C / 60, -1, -1); - } - lbl_1_bss_10 = 2; - break; - case 2: - lbl_1_bss_C--; - if (lbl_1_data_26C != -1) { - MGSeqParamSet(lbl_1_data_26C, 1, (lbl_1_bss_C + 59) / 60); - } - if (lbl_1_bss_C <= 0) { - lbl_1_bss_C = 30; - lbl_1_bss_10 = 3; - } - break; - case 3: - if (lbl_1_data_26C != -1) { - MGSeqParamSet(lbl_1_data_26C, 2, -1); - lbl_1_data_26C = -1; - } - lbl_1_bss_C = 0; - lbl_1_bss_10 = 0; - break; - } -} - -void fn_1_2AF0(void) { - lbl_1_bss_C = 0; - lbl_1_bss_10 = 0; - omAddObjEx(lbl_1_bss_0, 0x2000, 0, 0, -1, fn_1_2920); -} - -void fn_1_2B54(omObjData* arg0) { - s32 i; - - for (i = 0; i < 3; i++) { - Hu3DData[arg0->model[i + 5]].rot.y += 360.0f / (2500.0f + 2500.0f * i); - } -} - -void fn_1_2BFC(s32 arg0) { - StructBssDE4* var_r31; - - var_r31 = &lbl_1_bss_DE4; - var_r31->unk04 = arg0; -} - -void fn_1_2C1C(omObjData* arg0) { - StructBssDE4* var_r30; - - var_r30 = &lbl_1_bss_DE4; - switch (var_r30->unk04) { - case 2: - fn_1_157BC(arg0, 9, 9, 1, 0); - Hu3DModelAttrReset(arg0->model[9], 1); - var_r30->unk1C = 0; - fn_1_230(1, 10, 4.0f); - HuAudFXPlay(0x6CF); - /* fallthrough */ - case 1: - fn_1_157BC(arg0, 0, 0, 1, 0); - fn_1_157BC(arg0, 3, 3, 1, 0); - fn_1_157BC(arg0, 4, 4, 1, 0); - fn_1_157BC(arg0, 5, 5, 1, 0); - fn_1_157BC(arg0, 6, 6, 1, 0); - fn_1_157BC(arg0, 7, 7, 1, 0); - if (var_r30->unk04 == 1) { - HuAudFXPlay(0x6CE); - } - var_r30->unk04 = 20; - break; - case 3: - var_r30->unk04 = 10; - fn_1_157BC(arg0, 0, 0, 1, 0); - fn_1_157BC(arg0, 1, 1, 1, 0); - fn_1_157BC(arg0, 2, 2, 1, 0); - fn_1_157BC(arg0, 3, 3, 1, 0); - fn_1_157BC(arg0, 4, 4, 1, 0); - fn_1_157BC(arg0, 5, 5, 1, 0); - fn_1_157BC(arg0, 6, 6, 1, 0); - fn_1_157BC(arg0, 7, 7, 1, 0); - fn_1_157BC(arg0, 8, 8, 0, 0); - HuAudFXPlay(0x6D0); - Hu3DModelAttrReset(arg0->model[8], 1); - break; - case 10: - fn_1_230(6, -1, 8.0f); - if (Hu3DMotionTimeGet(arg0->model[3]) >= 30.0f) { - var_r30->unk04 = 20; - fn_1_3AF4(1); - fn_1_230(6, -1, 128.0f); - HuAudFXPlay(0x6DA); - omVibrate(fn_1_8E48(0), 12, 12, 0); - omVibrate(fn_1_8E48(1), 12, 12, 0); - omVibrate(fn_1_8E48(2), 12, 12, 0); - omVibrate(fn_1_8E48(3), 12, 12, 0); - } - break; - case 20: - if (Hu3DMotionEndCheck(arg0->model[3])) { - var_r30->unk04 = 0; - fn_1_157BC(arg0, 3, 10, 1, 1); - fn_1_157BC(arg0, 4, 11, 1, 1); - Hu3DModelAttrSet(arg0->model[8], 1); - Hu3DModelAttrSet(arg0->model[9], 1); - } - break; - } - if (Hu3DMotionTimeGet(arg0->model[9]) >= 25.0f && var_r30->unk1C == 0) { - var_r30->unk1C = 1; - fn_1_230(1, 10, 4.0f); - } else if (Hu3DMotionTimeGet(arg0->model[9]) >= 40.0f && var_r30->unk1C == 1) { - var_r30->unk1C = 2; - fn_1_230(1, 10, 4.0f); - } - if (var_r30->unk04 == 0) { - if (var_r30->unk14++ >= 300) { - var_r30->unk14 = 0; - if (rand8() % 2 != 0) { - fn_1_2BFC(1); - } - } - } -} - -void fn_1_31BC(omObjData* arg0) { - fn_1_2B54(arg0); - fn_1_2C1C(arg0); -} - -void fn_1_3288(StructBssDE4* arg0) { - omObjData* temp_r31; - - temp_r31 = arg0->unk00; - fn_1_157BC(temp_r31, 0, 0, 1, 2); - Hu3DModelPosSet(temp_r31->model[1], 0.0f, 0.0f, -680.0f); - fn_1_157BC(temp_r31, 1, 1, 1, 2); - Hu3DModelPosSet(temp_r31->model[2], 0.0f, 0.0f, -680.0f); - fn_1_157BC(temp_r31, 2, 2, 1, 2); - Hu3DModelPosSet(temp_r31->model[3], 525.0f, 0.0f, -1150.0f); - fn_1_157BC(temp_r31, 3, 10, 1, 1); - Hu3DModelPosSet(temp_r31->model[4], -525.0f, 0.0f, -1150.0f); - fn_1_157BC(temp_r31, 4, 11, 1, 1); - Hu3DModelPosSet(temp_r31->model[5], 50.0f, 150.0f, 50.0f); - fn_1_157BC(temp_r31, 5, 5, 1, 2); - Hu3DModelPosSet(temp_r31->model[6], 0.0f, 150.0f, 0.0f); - fn_1_157BC(temp_r31, 6, 6, 1, 2); - Hu3DModelPosSet(temp_r31->model[7], 0.0f, 150.0f, 0.0f); - fn_1_157BC(temp_r31, 7, 7, 1, 2); - Hu3DModelAttrSet(temp_r31->model[8], 1); - fn_1_157BC(temp_r31, 8, 8, 1, 2); - Hu3DModelAttrSet(temp_r31->model[9], 1); - fn_1_157BC(temp_r31, 9, 9, 1, 2); - temp_r31->work[0] = temp_r31->work[1] = temp_r31->work[2] = temp_r31->work[3] = 0; - arg0->unk04 = arg0->unk08 = arg0->unk0C = arg0->unk10 = 0; - arg0->unk14 = arg0->unk18 = arg0->unk1C = arg0->unk20 = 0; -} - -void fn_1_3558(omObjData* arg0) { - StructBssDE4* var_r30; - - var_r30 = &lbl_1_bss_DE4; - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M435, 39)); - arg0->motion[0] = Hu3DMotionIDGet(arg0->model[0]); - Hu3DModelShadowMapSet(arg0->model[0]); - fn_1_157BC(arg0, 0, 0, 1, 2); - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M435, 40)); - arg0->motion[1] = Hu3DMotionIDGet(arg0->model[1]); - Hu3DModelPosSet(arg0->model[1], 0.0f, 0.0f, -680.0f); - Hu3DModelShadowMapSet(arg0->model[1]); - fn_1_157BC(arg0, 1, 1, 1, 2); - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M435, 41)); - arg0->motion[2] = Hu3DMotionIDGet(arg0->model[2]); - Hu3DModelPosSet(arg0->model[2], 0.0f, 0.0f, -680.0f); - Hu3DModelShadowSet(arg0->model[2]); - fn_1_157BC(arg0, 2, 2, 1, 2); - arg0->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M435, 42)); - arg0->motion[3] = Hu3DMotionIDGet(arg0->model[3]); - arg0->motion[10] = Hu3DJointMotionFile(arg0->model[3], DATA_MAKE_NUM(DATADIR_M435, 44)); - Hu3DModelPosSet(arg0->model[3], 525.0f, 0.0f, -1150.0f); - Hu3DModelShadowSet(arg0->model[3]); - fn_1_157BC(arg0, 3, 10, 1, 1); - arg0->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M435, 43)); - arg0->motion[4] = Hu3DMotionIDGet(arg0->model[4]); - arg0->motion[11] = Hu3DJointMotionFile(arg0->model[4], DATA_MAKE_NUM(DATADIR_M435, 45)); - Hu3DModelPosSet(arg0->model[4], -525.0f, 0.0f, -1150.0f); - Hu3DModelShadowSet(arg0->model[4]); - fn_1_157BC(arg0, 4, 11, 1, 1); - arg0->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M435, 36)); - arg0->motion[5] = Hu3DMotionIDGet(arg0->model[5]); - Hu3DModelPosSet(arg0->model[5], 50.0f, 150.0f, 50.0f); - fn_1_157BC(arg0, 5, 5, 1, 2); - arg0->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M435, 37)); - arg0->motion[6] = Hu3DMotionIDGet(arg0->model[6]); - Hu3DModelPosSet(arg0->model[6], 0.0f, 150.0f, 0.0f); - fn_1_157BC(arg0, 6, 6, 1, 2); - arg0->model[7] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M435, 38)); - arg0->motion[7] = Hu3DMotionIDGet(arg0->model[7]); - Hu3DModelPosSet(arg0->model[7], 0.0f, 150.0f, 0.0f); - fn_1_157BC(arg0, 7, 7, 1, 2); - arg0->model[8] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M435, 46)); - arg0->motion[8] = Hu3DMotionIDGet(arg0->model[8]); - Hu3DModelAttrSet(arg0->model[8], 1); - Hu3DModelLayerSet(arg0->model[8], 1); - fn_1_157BC(arg0, 8, 8, 1, 2); - arg0->model[9] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M435, 47)); - arg0->motion[9] = Hu3DMotionIDGet(arg0->model[9]); - Hu3DModelAttrSet(arg0->model[9], 1); - Hu3DModelLayerSet(arg0->model[9], 1); - fn_1_157BC(arg0, 9, 9, 1, 2); - arg0->work[0] = arg0->work[1] = arg0->work[2] = arg0->work[3] = 0; - var_r30->unk04 = var_r30->unk08 = var_r30->unk0C = var_r30->unk10 = 0; - var_r30->unk14 = var_r30->unk18 = var_r30->unk1C = var_r30->unk20 = 0; - arg0->func = fn_1_31BC; -} - -void fn_1_3AF4(s32 arg0) { - StructBssC30* var_r31; - - var_r31 = &lbl_1_bss_C30; - var_r31->unk04 = arg0; -} - -float lbl_1_data_2C4 = 270.0f; - -void fn_1_3B14(omObjData* arg0) { - Vec sp14; - Vec sp8; - ModelData* temp_r30; - StructBssC30* var_r29; - s32 var_r28; - - temp_r30 = &Hu3DData[arg0->model[1]]; - var_r29 = &lbl_1_bss_C30; - if (var_r29->unk04 == 1) { - var_r29->unk04 = 0; - fn_1_157BC(arg0, 0, 0, 1, 0); - fn_1_157BC(arg0, 1, 2, 1, 0); - Hu3DModelAttrReset(arg0->model[0], 1); - Hu3DModelAttrReset(arg0->model[1], 1); - } else if (var_r29->unk04 >= 2) { - temp_r30->pos.x = 750.0 * cosd(lbl_1_data_2C4); - temp_r30->pos.z = 500.0 + 750.0 * sind(lbl_1_data_2C4); - temp_r30->rot.y += 0.2f; - if (var_r29->unk04 == 2) { - var_r29->unk04 = 3; - lbl_1_bss_4F10.unk00 = HuAudFXPlay(0x6DB); - fn_1_157BC(arg0, 1, 1, 1, 1); - } - lbl_1_data_2C4 -= 0.2f; - if (lbl_1_data_2C4 < 180.0f) { - var_r29->unk04 = 0; - HuAudFXStop(lbl_1_bss_4F10.unk00); - lbl_1_bss_4F10.unk00 = -1; - lbl_1_data_2C4 = 270.0f; - Hu3DModelPosSet(arg0->model[1], -750.0f, 0.0f, 500.0f); - Hu3DModelRotSet(arg0->model[1], 0.0f, 90.0f, 0.0f); - fn_1_157BC(arg0, 1, 1, 1, 2); - fn_1_7D50(6); - } - } - sp14.x = temp_r30->pos.x; - sp14.y = temp_r30->pos.y; - sp14.z = temp_r30->pos.z; - Hu3D3Dto2D(&sp14, 1, &sp8); - var_r28 = 32.0f + sp8.x * 0.1f; - if (var_r28 <= 32) { - var_r28 = 32; - } else if (var_r28 >= 96) { - var_r28 = 96; - } - if (lbl_1_bss_4F10.unk00 != -1) { - HuAudFXPanning(lbl_1_bss_4F10.unk00, var_r28); - } -} - -void fn_1_3E84(s32 arg0) { - StructBssC30* var_r31; - - var_r31 = &lbl_1_bss_C30; - var_r31->unk08 = arg0; -} - -void fn_1_3EA4(omObjData* arg0) { - StructBssC30* var_r31; - s32 i; - - var_r31 = &lbl_1_bss_C30; - switch (var_r31->unk08) { - case 0: - var_r31->unk10 = 0; - var_r31->unk78 = 7.5f; - var_r31->unk74 = var_r31->unk74; - break; - case 1: - if (lbl_1_bss_4F10.unk14 == 0) { - lbl_1_bss_4F10.unk14 = 1; - lbl_1_bss_4F10.unk04 = HuAudFXPlay(0x6DE); - } - fn_1_4104(1); - var_r31->unk74 -= var_r31->unk78; - if (var_r31->unk74 < 0.0f) { - var_r31->unk74 += 360.0f; - } - break; - case 2: - if (lbl_1_bss_4F10.unk14 == 1) { - lbl_1_bss_4F10.unk14 = 0; - HuAudFXStop(lbl_1_bss_4F10.unk04); - } - for (i = 0; i < 3; i++) { - if (var_r31->unk2C[i] != 7) { - break; - } - } - var_r31->unk74 -= var_r31->unk78; - if (var_r31->unk74 < 0.0f) { - var_r31->unk74 += 360.0f; - } - if (i == 3) { - var_r31->unk08 = 3; - } - break; - case 3: - var_r31->unk74 -= var_r31->unk78; - if (var_r31->unk74 < 0.0f) { - var_r31->unk74 += 360.0f; - } - var_r31->unk78 -= 0.025f; - if (var_r31->unk78 < 0.0f) { - var_r31->unk78 = 0.0f; - } - break; - } - omSetRot(arg0, 0.0f, 0.0f, var_r31->unk74); -} - -void fn_1_4104(s32 arg0) { - StructBssC30* var_r31; - - var_r31 = &lbl_1_bss_C30; - if (var_r31->unk10 == 0) { - var_r31->unk10 = arg0; - } -} - -void fn_1_4130(omObjData* arg0) { - Vec spC; - StructBss4EE8* sp8; - StructBssC30* var_r31; - ModelData* temp_r28; - ModelData* temp_r29; - s32 temp_r26; - s32 i; - - sp8 = &lbl_1_bss_4EE8; - var_r31 = &lbl_1_bss_C30; - temp_r26 = lbl_1_bss_4EE8.unk10 - 1; - switch (var_r31->unk10) { - case 1: - var_r31->unk10 = 2; - if (temp_r26 < 0) { - var_r31->unk10 = 0; - break; - } - for (i = 0; i < 3; i++) { - temp_r28 = &Hu3DData[arg0->model[i + temp_r26 * 3 + 2]]; - var_r31->unk13C[i].x = temp_r28->pos.x; - var_r31->unk13C[i].y = temp_r28->pos.y; - var_r31->unk13C[i].z = temp_r28->pos.z; - var_r31->unk160[i].x = var_r31->unk13C[i].x + rand8() % 50; - var_r31->unk160[i].y = 7.5f; - var_r31->unk160[i].z = var_r31->unk13C[i].z + (rand8() % 150 - 75); - var_r31->unk184[i].x = 0.0f; - var_r31->unk184[i].y = rand8() % 120; - if (rand8() % 2 == 0) { - var_r31->unk184[i].y *= -1.0f; - } - var_r31->unk184[i].z = 5.0f + rand8() % 5; - var_r31->unk14[i] = rand8() % 10 + 15; - } - var_r31->unk20 = 0; - break; - case 2: - for (i = 0; i < 3; i++) { - temp_r29 = &Hu3DData[arg0->model[i + temp_r26 * 3 + 2]]; - spC.x = fn_1_1539C(var_r31->unk13C[i].x, var_r31->unk160[i].x, var_r31->unk20, var_r31->unk14[i]); - spC.y = fn_1_1539C(var_r31->unk13C[i].y, var_r31->unk160[i].y, var_r31->unk20, var_r31->unk14[i]); - spC.z = fn_1_1539C(var_r31->unk13C[i].z, var_r31->unk160[i].z, var_r31->unk20, var_r31->unk14[i]); - Hu3DModelPosSet(arg0->model[i + temp_r26 * 3 + 2], spC.x, spC.y, spC.z); - if (var_r31->unk20 <= var_r31->unk14[i]) { - temp_r29->rot.y = fn_1_15294(temp_r29->rot.y, var_r31->unk184[i].y, 15.0f); - temp_r29->rot.z = fn_1_15294(temp_r29->rot.z, 90.0f, 15.0f); - } else { - temp_r29->rot.z = fn_1_15294(temp_r29->rot.z, 0.0f, 3.0f); - } - } - var_r31->unk20++; - if (var_r31->unk20 >= 60) { - var_r31->unk20 = 0; - var_r31->unk10 = 3; - } - break; - } -} - -s32 fn_1_46D8(float arg0, float arg1) { - s32 sp8[] = { 90, 5, 70, 30, 50, 1, 100, 10 }; - s32 var_r31; - - if (arg0 >= 0.0f && arg0 < 45.0f) { - var_r31 = sp8[0]; - } else if (arg0 >= 45.0f && arg0 < 90.0f) { - var_r31 = sp8[1]; - } else if (arg0 >= 90.0f && arg0 < 135.0f) { - var_r31 = sp8[2]; - } else if (arg0 >= 135.0f && arg0 < 180.0f) { - var_r31 = sp8[3]; - } else if (arg0 >= 180.0f && arg0 < 225.0f) { - var_r31 = sp8[4]; - } else if (arg0 >= 225.0f && arg0 < 270.0f) { - var_r31 = sp8[5]; - } else if (arg0 >= 270.0f && arg0 < 315.0f) { - var_r31 = sp8[6]; - } else if (arg0 >= 315.0f && arg0 < 360.0f) { - var_r31 = sp8[7]; - } - if (arg1 > 75.0f) { - var_r31 = 0; - } - if (arg1 < 25.0f) { - var_r31 = -999; - } - return var_r31; -} - -void fn_1_4904(s32 arg0) { - Vec spC; - StructBssC30* var_r31; - - var_r31 = &lbl_1_bss_C30; - spC.x = -675.0f; - spC.y = var_r31->unkD0[arg0].y - 175.0f; - spC.z = var_r31->unkD0[arg0].z - 500.0f; - var_r31->unk7C[arg0] = var_r31->unk1A8[arg0] + sqrtf(spC.y * spC.y + spC.z * spC.z); - var_r31->unk94[arg0] = var_r31->unk74 - var_r31->unk78 * (var_r31->unk50[arg0] + 2) + atan2d(spC.y, spC.z); - if (var_r31->unk94[arg0] >= 360.0f) { - var_r31->unk94[arg0] -= 360.0f; - } else if (var_r31->unk94[arg0] < 0.0f) { - var_r31->unk94[arg0] += 360.0f; - } - if (var_r31->unk94[arg0] >= 360.0f) { - var_r31->unk94[arg0] -= 360.0f; - } else if (var_r31->unk94[arg0] < 0.0f) { - var_r31->unk94[arg0] += 360.0f; - } - if (var_r31->unk94[arg0] >= 360.0f) { - var_r31->unk94[arg0] -= 360.0f; - } else if (var_r31->unk94[arg0] < 0.0f) { - var_r31->unk94[arg0] += 360.0f; - } - var_r31->unk5C[arg0] = fn_1_46D8(var_r31->unk94[arg0], var_r31->unk7C[arg0]); -} - -void fn_1_4CEC(s32 arg0) { - StructBssC30* var_r31; - - var_r31 = &lbl_1_bss_C30; - if ((var_r31->unk7C[arg0] >= 23.0f && var_r31->unk7C[arg0] <= 27.0f) - || (var_r31->unk7C[arg0] >= 73.0f && var_r31->unk7C[arg0] <= 77.0f)) - { - var_r31->unk1A8[arg0] = 5.0f; - if (rand8() % 2 == 0) { - var_r31->unk1A8[arg0] *= -1.0f; - } - } -} - -void fn_1_4E08(s32 arg0) { - StructBssC30* var_r31; - float temp_f31; - - var_r31 = &lbl_1_bss_C30; - temp_f31 = var_r31->unk94[arg0]; - if ((temp_f31 >= -2.0f && temp_f31 < 2.0f) - || (temp_f31 >= 43.0f && temp_f31 < 47.0f) - || (temp_f31 >= 88.0f && temp_f31 < 92.0f) - || (temp_f31 >= 133.0f && temp_f31 < 137.0f) - || (temp_f31 >= 178.0f && temp_f31 < 182.0f) - || (temp_f31 >= 223.0f && temp_f31 < 227.0f) - || (temp_f31 >= 268.0f && temp_f31 < 272.0f) - || (temp_f31 >= 313.0f && temp_f31 < 317.0f)) - { - var_r31->unk50[arg0]++; - } -} - -s32 fn_1_4FB4(void) { - StructBssC30* var_r29; - s32 var_r28; - s32 i; - - var_r28 = 0; - var_r29 = &lbl_1_bss_C30; - for (i = 0; i < 3; i++) { - var_r28 += var_r29->unk5C[i]; - } - if (var_r28 < 0) { - return 1; - } - if (var_r29->unk24 == var_r28) { - for (i = 0; i < 3; i++) { - var_r29->unk50[i] += 3; - fn_1_4904(i); - } - return 0; - } - if (var_r29->unk24 > var_r28) { - var_r29->unk24 = var_r28; - } - return 1; -} - -s32 fn_1_5438(void) { - Vec spC; - float var_f28; - StructBssC30* var_r30; - s32 var_r29; - s32 i; - - var_r29 = 1; - var_r30 = &lbl_1_bss_C30; - for (i = 0; i < 3; i++) { - spC.x = -675.0f; - spC.y = var_r30->unkD0[i].y - 175.0f; - spC.z = var_r30->unkD0[i].z - 500.0f; - var_f28 = sqrtf(spC.y * spC.y + spC.z * spC.z); - if (var_f28 <= 30.0f) { - var_r29 = 0; - } - } - return var_r29; -} - -void fn_1_5600(s32 arg0) { - StructBssC30* var_r30; - s32 i; - - var_r30 = &lbl_1_bss_C30; - for (i = 0; i < 3; i++) { - var_r30->unk2C[i] = arg0; - } -} - -void fn_1_5644(omObjData* arg0) { - Vec sp2C; - float temp_f27; - float temp_f23; - StructBssC30* var_r31; - s32 temp_r26; - s32 i; - - var_r31 = &lbl_1_bss_C30; - temp_r26 = lbl_1_bss_4EE8.unk14; - for (i = 0; i < 3; i++) { - switch (var_r31->unk2C[i]) { - case 1: - var_r31->unkAC[i].x = var_r31->unkD0[i].x = -675.0f; - var_r31->unkAC[i].y = var_r31->unkD0[i].y = 175.0f; - var_r31->unkAC[i].z = var_r31->unkD0[i].z = 500.0f; - var_r31->unk38[i] = 0; - var_r31->unkF4[i].x = 0.0f; - var_r31->unkF4[i].y = -325.0f; - var_r31->unkF4[i].z = 500.0f; - var_r31->unk118[i].x = var_r31->unk118[i].y = var_r31->unk118[i].z = 0.0f; - var_r31->unk44[i] = 0; - var_r31->unk50[i] = i + 15; - var_r31->unk7C[i] = var_r31->unk88[i] = 0.0f; - var_r31->unk94[i] = var_r31->unkA0[i] = 0.0f; - var_r31->unk5C[i] = var_r31->unk68[i] = 0; - var_r31->unk1A8[i] = 0.0f; - Hu3DModelPosSet(arg0->model[i + temp_r26 * 3 + 2], var_r31->unkF4[i].x, var_r31->unkF4[i].y, var_r31->unkF4[i].z); - Hu3DModelRotSet(arg0->model[i + temp_r26 * 3 + 2], 0.0f, 0.0f, 0.0f); - /* fallthrough */ - case 2: - var_r31->unk2C[i] = 2; - temp_f27 = fn_1_152D4(1.5f, 0.5f, var_r31->unk38[i], 15.0f); - temp_f23 = fn_1_152D4(0.0f, 1.0f, var_r31->unk38[i], 10.0f); - Hu3DModelAttrReset(arg0->model[i + temp_r26 * 3 + 14], 1); - Hu3DModelScaleSet(arg0->model[i + temp_r26 * 3 + 14], temp_f27, temp_f27, temp_f27); - Hu3DModelTPLvlSet(arg0->model[i + temp_r26 * 3 + 14], temp_f23); - Hu3DModelPosSet(arg0->model[i + temp_r26 * 3 + 14], var_r31->unkD0[i].x, var_r31->unkD0[i].y, var_r31->unkD0[i].z); - if (var_r31->unk38[i]++ >= 20) { - var_r31->unk38[i] = 0; - var_r31->unk2C[i] = 3; - } - break; - case 3: - if (var_r31->unk38[i]++ >= 30) { - var_r31->unk38[i] = 0; - temp_f23 = 100.0f - i * 15; - temp_f27 = 2.0f * (rand8() % 180); - var_r31->unkAC[i].x = -675.0f; - var_r31->unkAC[i].y = 175.0 + temp_f23 * sind(temp_f27); - var_r31->unkAC[i].z = 500.0 + temp_f23 * cosd(temp_f27); - } - var_r31->unkD0[i].x = var_r31->unkAC[i].x; - var_r31->unkD0[i].y = fn_1_15294(var_r31->unkD0[i].y, var_r31->unkAC[i].y, 30.0f); - var_r31->unkD0[i].z = fn_1_15294(var_r31->unkD0[i].z, var_r31->unkAC[i].z, 30.0f); - Hu3DModelPosSet(arg0->model[i + temp_r26 * 3 + 14], var_r31->unkD0[i].x, var_r31->unkD0[i].y, var_r31->unkD0[i].z); - break; - case 4: - var_r31->unk2C[i] = 100; - fn_1_4904(i); - fn_1_4CEC(i); - fn_1_4E08(i); - fn_1_4904(i); - var_r31->unk28 = 0; - HuAudFXPlay(0x6DC); - /* fallthrough */ - case 100: - var_r31->unk2C[i] = 5; - if (var_r31->unk28 == 1) { - var_r31->unk2C[i] = 5; - } - if (i == 2) { - while (fn_1_4FB4() == 0) { - } - var_r31->unk28 = 1; - } - Hu3DModelAttrReset(arg0->model[i + temp_r26 * 3 + 2], 1); - break; - case 5: - var_r31->unkF4[i].x = fn_1_1526C(0.0f, -675.0f, var_r31->unk44[i], var_r31->unk50[i]); - var_r31->unkF4[i].y = fn_1_1526C(175.0f, var_r31->unkD0[i].y, var_r31->unk44[i], var_r31->unk50[i]); - var_r31->unkF4[i].z = fn_1_1526C(500.0f, var_r31->unkD0[i].z, var_r31->unk44[i], var_r31->unk50[i]); - var_r31->unk118[i].x -= 360.0f / var_r31->unk50[i]; - if (var_r31->unk118[i].x >= 360.0f) { - var_r31->unk118[i].x -= 360.0f; - } else if (var_r31->unk118[i].x < 0.0f) { - var_r31->unk118[i].x += 360.0f; - } - Hu3DModelPosSet(arg0->model[i + temp_r26 * 3 + 2], var_r31->unkF4[i].x, var_r31->unkF4[i].y, var_r31->unkF4[i].z); - Hu3DModelRotSet(arg0->model[i + temp_r26 * 3 + 2], var_r31->unk118[i].x, 0.0f, 0.0f); - if (var_r31->unk44[i]++ >= var_r31->unk50[i]) { - var_r31->unk2C[i] = 6; - var_r31->unk38[i] = 0; - } - break; - case 6: - var_r31->unk2C[i] = 7; - sp2C.x = -675.0f; - sp2C.y = var_r31->unkF4[i].y - 175.0f; - sp2C.z = var_r31->unkF4[i].z - 500.0f; - var_r31->unk88[i] = var_r31->unk1A8[i] + sqrtf(sp2C.y * sp2C.y + sp2C.z * sp2C.z); - var_r31->unkA0[i] = var_r31->unk74 + atan2d(sp2C.y, sp2C.z); - if (var_r31->unkA0[i] >= 360.0f) { - var_r31->unkA0[i] -= 360.0f; - } else if (var_r31->unkA0[i] < 0.0f) { - var_r31->unkA0[i] += 360.0f; - } - var_r31->unk118[i].y = atan2d(sp2C.y, sp2C.z); - var_r31->unk68[i] = fn_1_46D8(var_r31->unkA0[i], var_r31->unk88[i]); - if (var_r31->unk68[i] >= 0) { - HuAudFXPlay(0x6DD); - } else { - HuAudFXPlay(0x6DF); - } - fn_1_8544(7); - fn_1_3E84(2); - omVibrate(fn_1_8E48(lbl_1_bss_4EE8.unk14), 12, 6, 6); - /* fallthrough */ - case 7: - temp_f27 = fn_1_152D4(0.5f, 1.5f, var_r31->unk38[i], 15.0f); - temp_f23 = fn_1_152D4(1.0f, 0.0f, var_r31->unk38[i], 10.0f); - Hu3DModelScaleSet(arg0->model[i + temp_r26 * 3 + 14], temp_f27, temp_f27, temp_f27); - Hu3DModelTPLvlSet(arg0->model[i + temp_r26 * 3 + 14], temp_f23); - if (var_r31->unk38[i]++ >= 20) { - Hu3DModelAttrSet(arg0->model[i + temp_r26 * 3 + 14], 1); - } - var_r31->unkF4[i].x = -675.0f; - var_r31->unkF4[i].y = 175.0 + var_r31->unk88[i] * sind(var_r31->unk118[i].y); - var_r31->unkF4[i].z = 500.0 + var_r31->unk88[i] * cosd(var_r31->unk118[i].y); - Hu3DModelPosSet(arg0->model[i + temp_r26 * 3 + 2], var_r31->unkF4[i].x, var_r31->unkF4[i].y, var_r31->unkF4[i].z); - Hu3DModelRotSet(arg0->model[i + temp_r26 * 3 + 2], var_r31->unk118[i].x, 0.0f, 0.0f); - var_r31->unk118[i].z = var_r31->unk118[i].y + var_r31->unk74; - if (var_r31->unk118[i].z >= 360.0f) { - var_r31->unk118[i].z -= 360.0f; - } else if (var_r31->unk118[i].z < 0.0f) { - var_r31->unk118[i].z += 360.0f; - } - var_r31->unk118[i].x -= var_r31->unk78; - if (var_r31->unk118[i].x >= 360.0f) { - var_r31->unk118[i].x -= 360.0f; - } else if (var_r31->unk118[i].x < 0.0f) { - var_r31->unk118[i].x += 360.0f; - } - var_r31->unk118[i].y += var_r31->unk78; - if (var_r31->unk118[i].y >= 360.0f) { - var_r31->unk118[i].y -= 360.0f; - } else if (var_r31->unk118[i].y < 0.0f) { - var_r31->unk118[i].y += 360.0f; - } - break; - } - } -} - -void fn_1_725C(omObjData* arg0) { - fn_1_3B14(arg0); - fn_1_3EA4(arg0); - fn_1_5644(arg0); - fn_1_4130(arg0); -} - -void fn_1_72A4(StructBssC30* arg0) { - omObjData* temp_r29; - s32 i; - s32 j; - - temp_r29 = arg0->unk00; - Hu3DModelRotSet(temp_r29->model[0], 0.0f, 0.0f, 0.0f); - Hu3DModelAttrSet(temp_r29->model[0], 1); - Hu3DModelPosSet(temp_r29->model[1], 0.0f, 0.0f, -250.0f); - Hu3DModelRotSet(temp_r29->model[1], 0.0f, 0.0f, 0.0f); - Hu3DModelAttrSet(temp_r29->model[1], 1); - for (i = 0; i < 4; i++) { - for (j = 0; j < 3; j++) { - Hu3DModelPosSet(temp_r29->model[i + 2], 0.0f, -325.0f, 500.0f); - Hu3DModelAttrSet(temp_r29->model[j + i * 3 + 2], 1); - Hu3DModelAttrSet(temp_r29->model[j + i * 3 + 14], 1); - } - } - arg0->unk74 = 0.0f; - for (i = 0; i < 3; i++) { - arg0->unk2C[i] = 0; - arg0->unkAC[i].x = arg0->unkD0[i].x = -675.0f; - arg0->unkAC[i].y = arg0->unkD0[i].y = 175.0f; - arg0->unkAC[i].z = arg0->unkD0[i].z = 500.0f; - arg0->unk38[i] = 0; - arg0->unkF4[i].x = 0.0f; - arg0->unkF4[i].y = -325.0f; - arg0->unkF4[i].z = 500.0f; - arg0->unk118[i].x = arg0->unk118[i].y = arg0->unk118[i].z = 0.0f; - arg0->unk44[i] = 0; - arg0->unk50[i] = 0; - arg0->unk7C[i] = arg0->unk88[i] = 0.0f; - arg0->unk94[i] = arg0->unkA0[i] = 0.0f; - arg0->unk5C[i] = arg0->unk68[i] = 0; - } - arg0->unk24 = 9999; - temp_r29->work[0] = temp_r29->work[1] = temp_r29->work[2] = temp_r29->work[3] = 0; - arg0->unk04 = arg0->unk08 = arg0->unk0C = arg0->unk10 = 0; - arg0->unk14[0] = arg0->unk14[1] = arg0->unk14[2] = arg0->unk20 = 0; -} - -void fn_1_7628(omObjData* arg0) { - StructBssC30* var_r30; - s32 i; - s32 j; - - var_r30 = &lbl_1_bss_C30; - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M435, 24)); - arg0->motion[0] = Hu3DMotionIDGet(arg0->model[0]); - Hu3DModelRotSet(arg0->model[0], 0.0f, 0.0f, 0.0f); - Hu3DModelAttrSet(arg0->model[0], 1U); - Hu3DModelLayerSet(arg0->model[0], 1); - Hu3DModelShadowSet(arg0->model[0]); - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M435, 25)); - arg0->motion[1] = Hu3DMotionIDGet(arg0->model[1]); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[1], DATA_MAKE_NUM(DATADIR_M435, 35)); - Hu3DModelPosSet(arg0->model[1], 0.0f, 0.0f, -250.0f); - Hu3DModelRotSet(arg0->model[1], 0.0f, 0.0f, 0.0f); - Hu3DModelAttrSet(arg0->model[1], 1); - Hu3DModelLayerSet(arg0->model[1], 1); - Hu3DModelShadowSet(arg0->model[1]); - Hu3DModelHookSet(arg0->model[1], "m435a02-itemfook_d", arg0->model[0]); - for (i = 0; i < 4; i++) { - for (j = 0; j < 3; j++) { - arg0->model[j + i * 3 + 2] = Hu3DModelCreateFile(lbl_1_data_0[fn_1_8F34(i)][0]); - Hu3DModelAttrSet(arg0->model[j + i * 3 + 2], 1); - Hu3DModelShadowSet(arg0->model[j + i * 3 + 2]); - arg0->model[j + i * 3 + 14] = Hu3DModelCreateFile(lbl_1_data_0[fn_1_8F34(i)][1]); - Hu3DModelRotSet(arg0->model[j + i * 3 + 14], 0.0f, 90.0f, 0.0f); - Hu3DModelAttrSet(arg0->model[j + i * 3 + 14], 1); - } - } - arg0->work[0] = arg0->work[1] = arg0->work[2] = arg0->work[3] = 0; - var_r30->unk04 = var_r30->unk08 = var_r30->unk0C = var_r30->unk10 = 0; - var_r30->unk14[0] = var_r30->unk14[1] = var_r30->unk14[2] = var_r30->unk20 = 0; - arg0->func = fn_1_725C; -} - -void fn_1_799C(s32 arg0) { - StructBssC1C* var_r31; - - var_r31 = &lbl_1_bss_C1C; - var_r31->unk00->work[0] = arg0; -} - -void fn_1_79C0(omObjData* arg0) { - switch (arg0->work[0]) { - case 1: - arg0->work[0] = 0; - fn_1_157BC(arg0, 0, 1, 30, 1); - break; - case 2: - arg0->work[0] = 0; - fn_1_157BC(arg0, 0, 2, 10, 0); - break; - case 3: - arg0->work[0] = 0; - fn_1_157BC(arg0, 0, 3, 10, 0); - break; - } -} - -void fn_1_7A78(StructBssC1C* arg0) { - omObjData* temp_r31; - - temp_r31 = arg0->unk00; - omSetTra(temp_r31, 0.0f, 37.0f, -565.0f); - omSetSca(temp_r31, 1.5f, 1.5f, 1.5f); - fn_1_157BC(temp_r31, 0, 1, 1, 1); - temp_r31->work[0] = temp_r31->work[1] = temp_r31->work[2] = temp_r31->work[3] = 0; - arg0->unk04 = arg0->unk08 = arg0->unk0C = arg0->unk10 = 0; -} - -void fn_1_7B44(omObjData* arg0) { - StructBssC1C* var_r30; - - var_r30 = &lbl_1_bss_C1C; - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M435, 48)); - arg0->motion[0] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 53)); - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 49)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 50)); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 51)); - arg0->motion[4] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 52)); - omSetTra(arg0, 0.0f, 37.0f, -565.0f); - omSetSca(arg0, 1.5f, 1.5f, 1.5f); - Hu3DModelShadowSet(arg0->model[0]); - fn_1_157BC(arg0, 0, 1, 1, 1); - arg0->work[0] = arg0->work[1] = arg0->work[2] = arg0->work[3] = 0; - var_r30->unk04 = var_r30->unk08 = var_r30->unk0C = var_r30->unk10 = 0; - arg0->func = fn_1_79C0; -} - -void fn_1_7D28(s32 arg0, s32 arg1) { - StructBss2A4* temp_r31; - - temp_r31 = &lbl_1_bss_2A4[arg0]; - temp_r31->unk1C = arg1; -} - -void fn_1_7D50(s32 arg0) { - StructBss2A4* temp_r31; - - temp_r31 = &lbl_1_bss_2A4[1]; - temp_r31->unk20 = arg0; -} - -void fn_1_7D74(omObjData* arg0) { - StructBss2A4* temp_r30; - - temp_r30 = &lbl_1_bss_2A4[arg0->work[0]]; - switch (temp_r30->unk1C) { - case 1: - temp_r30->unk1C = 0; - if (arg0->work[0] != 0) { - fn_1_157BC(arg0, 0, 0, 30, 1); - } else { - fn_1_157BC(arg0, 0, 0, 30, 1); - fn_1_157BC(arg0, 1, 5, 30, 1); - } - break; - case 2: - temp_r30->unk1C = 0; - if (arg0->work[0] != 0) { - fn_1_157BC(arg0, 0, 4, 10, 0); - } else { - fn_1_157BC(arg0, 0, 2, 10, 0); - fn_1_157BC(arg0, 1, 5, 10, 2); - } - break; - case 3: - temp_r30->unk1C = 0; - if (arg0->work[0] != 0) { - fn_1_157BC(arg0, 0, 9, 5, 0); - } - break; - } -} - -void fn_1_7ED4(omObjData* arg0) { - StructBss2A4* temp_r31; - Mtx sp38; - Mtx sp8; - - temp_r31 = &lbl_1_bss_2A4[arg0->work[0]]; - switch (temp_r31->unk20) { - case 1: - case 3: - case 6: - temp_r31->unk04.x = arg0->trans.x; - temp_r31->unk04.y = arg0->trans.y; - temp_r31->unk04.z = arg0->trans.z; - Hu3DModelObjMtxGet(lbl_1_bss_C30.unk00->model[1], "435a02-point00", sp38); - temp_r31->unk10.x = sp38[0][3]; - temp_r31->unk10.y = sp38[1][3]; - temp_r31->unk10.z = sp38[2][3]; - if (temp_r31->unk20 == 1) { - temp_r31->unk10.x = temp_r31->unk04.x - 30.0f; - } else if (temp_r31->unk20 == 6) { - temp_r31->unk10.x = (120.0f + sp38[0][3]); - temp_r31->unk10.z = (sp38[2][3] - 50.0f); - } - temp_r31->unk2C = 0; - temp_r31->unk20++; - break; - case 2: - fn_1_15934(arg0, 0, 1, 10, 1); - fn_1_195F4(arg0, 0, &temp_r31->unk04, &temp_r31->unk10, 5, temp_r31->unk2C++, 0xF); - if (temp_r31->unk2C > 15) { - temp_r31->unk20++; - } - break; - case 4: - if (temp_r31->unk2C == 25) { - fn_1_15934(arg0, 0, 0, 5, 1); - } else if (temp_r31->unk2C == 40) { - fn_1_15934(arg0, 0, 5, 30, 1); - } - fn_1_195F4(arg0, 0, &temp_r31->unk04, &temp_r31->unk10, 10, temp_r31->unk2C++, 25); - if (temp_r31->unk2C > 60) { - fn_1_3AF4(2); - temp_r31->unk20++; - } - break; - case 5: - Hu3DModelObjMtxGet(lbl_1_bss_C30.unk00->model[1], "435a02-point00", sp8); - omSetTra(arg0, sp8[0][3], sp8[1][3], sp8[2][3]); - omSetRot(arg0, 0.0f, Hu3DData[lbl_1_bss_C30.unk00->model[1]].rot.y - 90.0f, 0.0f); - break; - case 7: - fn_1_15934(arg0, 0, 1, 10, 1); - fn_1_19530(arg0, 0, &temp_r31->unk04, &temp_r31->unk10, 5, temp_r31->unk2C++, 15); - fn_1_19658(arg0, 0, 90.0f, 5); - if (temp_r31->unk2C > 15) { - temp_r31->unk20++; - } - break; - case 8: - fn_1_15934(arg0, 0, 0, 5, 1); - lbl_1_bss_14 = 1; - temp_r31->unk20 = temp_r31->unk2C = 0; - break; - } -} - -void fn_1_8250(s32 arg0) { - StructBss2A4* temp_r31; - - temp_r31 = &lbl_1_bss_2A4[1]; - temp_r31->unk24 = arg0; -} - -void fn_1_8274(omObjData* arg0) { - StructBss2A4* temp_r31; - Mtx sp8; - - temp_r31 = &lbl_1_bss_2A4[arg0->work[0]]; - switch (temp_r31->unk24) { - case 1: - case 3: - case 5: - fn_1_15934(temp_r31->unk00, 0, 1, 10, 1); - temp_r31->unk04.x = arg0->trans.x; - temp_r31->unk04.y = arg0->trans.y; - temp_r31->unk04.z = arg0->trans.z; - if (temp_r31->unk24 == 1) { - temp_r31->unk10.x = -400.0f; - temp_r31->unk10.y = arg0->trans.y; - temp_r31->unk10.z = -310.0f; - } else if (temp_r31->unk24 == 3) { - temp_r31->unk10.x = 400.0f; - temp_r31->unk10.y = arg0->trans.y; - temp_r31->unk10.z = arg0->trans.z; - } else if (temp_r31->unk24 == 5) { - temp_r31->unk10.x = 400.0f; - temp_r31->unk10.y = 37.0f; - temp_r31->unk10.z = -425.0f; - } - temp_r31->unk2C = 0; - temp_r31->unk24++; - break; - case 2: - fn_1_195F4(arg0, 0, &temp_r31->unk04, &temp_r31->unk10, 10, temp_r31->unk2C++, 90); - if (temp_r31->unk2C > 90) { - temp_r31->unk24++; - } - break; - case 4: - fn_1_195F4(arg0, 0, &temp_r31->unk04, &temp_r31->unk10, 10, temp_r31->unk2C++, 90); - if (temp_r31->unk2C > 90) { - temp_r31->unk24++; - } - break; - case 6: - fn_1_195F4(arg0, 0, &temp_r31->unk04, &temp_r31->unk10, 10, temp_r31->unk2C++, 15); - if (temp_r31->unk2C > 15) { - temp_r31->unk24++; - temp_r31->unk2C = 0; - } - break; - case 7: - fn_1_19658(arg0, 0, -15.0f, 5); - if (temp_r31->unk2C++ > 15) { - temp_r31->unk24++; - } - break; - case 8: - fn_1_15934(temp_r31->unk00, 0, 0, 10, 1); - temp_r31->unk24 = 0; - break; - case 10: - temp_r31->unk24 = 0; - Hu3DModelObjMtxGet(lbl_1_bss_C30.unk00->model[1], "435a02-point00", sp8); - arg0->trans.x = sp8[0][3]; - arg0->trans.y = sp8[1][3]; - arg0->trans.z = sp8[2][3]; - break; - } -} - -void fn_1_8544(s32 arg0) { - StructBss2A4* temp_r31; - - temp_r31 = &lbl_1_bss_2A4[1]; - fn_1_15934(temp_r31->unk00, 0, arg0, 1, 0); -} - -void fn_1_8590(omObjData* arg0) { - StructBss2A4* temp_r29; - - temp_r29 = &lbl_1_bss_2A4[arg0->work[0]]; - if (temp_r29->unk1C != 0) { - fn_1_7D74(arg0); - } - if (temp_r29->unk20 != 0) { - fn_1_7ED4(arg0); - } - fn_1_8274(arg0); -} - -void fn_1_8734(StructBss2A4* arg0) { - omObjData* temp_r30; - - temp_r30 = arg0->unk00; - if (temp_r30->work[0] != 0) { - omSetTra(temp_r30, 400.0f, 37.0f, -425.0f); - omSetRot(temp_r30, 0.0f, -15.0f, 0.0f); - fn_1_157BC(temp_r30, 0, 0, 1, 1); - fn_1_19974(&arg0->unk3C, 0); - fn_1_198F8(&arg0->unk3C, -1); - fn_1_19968(&arg0->unk3C, -1); - } else { - omSetTra(temp_r30, -400.0f, 37.0f, -425.0f); - fn_1_157BC(temp_r30, 0, 0, 1, 1); - fn_1_157BC(temp_r30, 1, 5, 1, 1); - } - temp_r30->work[1] = temp_r30->work[2] = temp_r30->work[3] = 0; - arg0->unk1C = arg0->unk20 = arg0->unk24 = arg0->unk28 = 0; - arg0->unk2C = arg0->unk30 = arg0->unk34 = arg0->unk38 = 0; - lbl_1_bss_14 = 0; -} - -void fn_1_88B0(omObjData* arg0) { - StructBss2A4* temp_r30; - s32 var_r29; - - var_r29 = arg0->work[0]; - temp_r30 = &lbl_1_bss_2A4[var_r29]; - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M435, 56)); - if (arg0->work[0] != 0) { - arg0->motion[0] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 57)); - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 58)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 62)); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 63)); - arg0->motion[4] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 64)); - arg0->motion[5] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 65)); - arg0->motion[6] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 66)); - arg0->motion[7] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 67)); - arg0->motion[8] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 68)); - arg0->motion[9] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 69)); - arg0->motion[10] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 70)); - arg0->motion[11] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 71)); - arg0->motion[12] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 72)); - omSetTra(arg0, 400.0f, 37.0f, -425.0f); - omSetRot(arg0, 0.0f, -15.0f, 0.0f); - fn_1_157BC(arg0, 0, 0, 1, 1); - fn_1_1A33C(lbl_1_bss_0, &temp_r30->unk3C, arg0->model[0], "g007m0-skl_at", 0x100, 0); - fn_1_19974(&temp_r30->unk3C, 0); - fn_1_198F8(&temp_r30->unk3C, -1); - fn_1_19968(&temp_r30->unk3C, -1); - } else { - arg0->motion[0] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 59)); - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 60)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 61)); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 73)); - omSetTra(arg0, -400.0f, 37.0f, -425.0f); - fn_1_157BC(arg0, 0, 0, 1, 1); - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M435, 74)); - arg0->motion[5] = Hu3DJointMotionFile(arg0->model[1], DATA_MAKE_NUM(DATADIR_M435, 75)); - arg0->motion[6] = Hu3DJointMotionFile(arg0->model[1], DATA_MAKE_NUM(DATADIR_M435, 76)); - Hu3DModelHookSet(arg0->model[0], "g007m0-itemhook_r", arg0->model[1]); - Hu3DModelLayerSet(arg0->model[0], 2); - Hu3DModelLayerSet(arg0->model[1], 2); - fn_1_157BC(arg0, 1, 5, 1, 1); - } - Hu3DModelShadowSet(arg0->model[0]); - arg0->work[1] = arg0->work[2] = arg0->work[3] = 0; - temp_r30->unk1C = temp_r30->unk20 = temp_r30->unk24 = temp_r30->unk28 = 0; - temp_r30->unk2C = temp_r30->unk30 = temp_r30->unk34 = temp_r30->unk38 = 0; - lbl_1_bss_14 = 0; - arg0->func = fn_1_8590; -} - -s32 fn_1_8E48(s32 arg0) { - StructBssE88* temp_r31; - - temp_r31 = &lbl_1_bss_E88[arg0]; - return temp_r31->unk24; -} - -s32 fn_1_8E70(void) { - s32 var_r30; - s32 i; - - var_r30 = 0; - for (i = 0; i < 4; i++) { - if (lbl_1_bss_E88[i].unk2C != 0) { - var_r30++; - } - } - return var_r30; -} - -s32 fn_1_8EC8(s32 arg0) { - if (lbl_1_bss_E88[arg0].unk2C != 0) { - return 1; - } else { - return 0; - } -} - -s32 fn_1_8EF4(s32 arg0) { - if (HuPadBtnDown[lbl_1_bss_E88[arg0].unk38] == 0x100) { - return 1; - } else { - return 0; - } -} - -s32 fn_1_8F34(s32 arg0) { - return lbl_1_bss_E88[arg0].unk34; -} - -void fn_1_8F4C(void) { - StructBssE88* temp_r31; - s32 sp8[4]; - s32 i; - - sp8[0] = GWPlayerCurrGet(); - for (i = 1; i < 4; i++) { - sp8[i] = sp8[i - 1] + 1; - if (sp8[i] >= 4) { - sp8[i] = 0; - } - } - for (i = 0; i < 4; i++) { - temp_r31 = &lbl_1_bss_E88[i]; - temp_r31->unk24 = sp8[i]; - temp_r31->unk28 = GWPlayerCfg[temp_r31->unk24].group; - temp_r31->unk2C = GWPlayerCfg[temp_r31->unk24].iscom; - temp_r31->unk30 = GWPlayerCfg[temp_r31->unk24].diff; - temp_r31->unk34 = GWPlayerCfg[temp_r31->unk24].character; - temp_r31->unk38 = GWPlayerCfg[temp_r31->unk24].pad_idx; - } -} - -void fn_1_909C(omObjData* arg0, Vec arg1, float arg2, float arg3, float arg4, float arg5, s32 arg6) { - StructBssE88* sp18; - float temp_f31; - float temp_f30; - float var_f26; - float var_f27; - - sp18 = &lbl_1_bss_E88[arg0->work[0]]; - temp_f31 = arg1.x - arg0->trans.x; - temp_f30 = arg0->trans.z - arg1.z; - var_f26 = 90.0 + atan2d(temp_f30, temp_f31); - var_f27 = sqrtf(temp_f31 * temp_f31 + temp_f30 * temp_f30); - if (var_f27 <= arg4) { - temp_f31 = temp_f30 = 0.0f; - } else { - temp_f31 = 72.0f * (temp_f31 / var_f27); - temp_f30 = 72.0f * (temp_f30 / var_f27); - } - var_f27 = arg3 * (sqrtf(temp_f31 * temp_f31 + temp_f30 * temp_f30) / 72.0f); - if (var_f27 >= arg3) { - var_f27 = arg3; - } else if (var_f27 <= 1.0f) { - temp_f31 = temp_f30 = var_f27 = 0.0f; - } - if (temp_f31 != 0.0f || temp_f30 != 0.0f || arg2 >= 0.0f) { - if (arg2 >= 0.0f && temp_f31 == 0.0f && temp_f30 == 0.0f) { - var_f26 = arg2; - } - if (var_f26 >= 180.0f) { - if (arg0->rot.y - var_f26 >= 180.0f) { - arg0->rot.y -= 360.0f; - } - if (arg0->rot.y - var_f26 < -180.0f) { - arg0->rot.y += 360.0f; - } - } else { - if (arg0->rot.y - var_f26 > 180.0f) { - arg0->rot.y -= 360.0f; - } - if (arg0->rot.y - var_f26 <= -180.0f) { - arg0->rot.y += 360.0f; - } - } - arg0->rot.y = (var_f26 + arg0->rot.y * (arg5 - 1.0f)) / arg5; - } - arg0->trans.x += var_f27 * sind(arg0->rot.y); - arg0->trans.z += var_f27 * cosd(arg0->rot.y); - if (var_f27 >= 6.75f) { - if (arg6 != 0) { - fn_1_15934(arg0, 0, 5, 10, 1); - } else { - fn_1_15934(arg0, 0, 2, 10, 1); - } - } else { - if (var_f27 > 0.0f) { - fn_1_15934(arg0, 0, 2, 10, 1); - } else { - fn_1_15934(arg0, 0, 0, 10, 1); - } - } -} - -void fn_1_9768(s32 arg0, s32 arg1) { - StructBssE88* temp_r31; - - temp_r31 = &lbl_1_bss_E88[arg0]; - temp_r31->unk04 = arg1; -} - -void fn_1_9790(omObjData* arg0) { - StructBssE88* temp_r31; - - temp_r31 = &lbl_1_bss_E88[arg0->work[0]]; - switch (temp_r31->unk04) { - case 0: - temp_r31->unk04 = 99; - Hu3DModelAttrSet(arg0->model[0], 1); - break; - case 1: - temp_r31->unk04 = 99; - Hu3DModelAttrReset(arg0->model[0], 1); - break; - } -} - -void fn_1_9824(s32 arg0, s32 arg1) { - StructBssE88* temp_r31; - - temp_r31 = &lbl_1_bss_E88[arg0]; - temp_r31->unk08 = arg1; -} - -void fn_1_984C(omObjData* arg0) { - StructBssE88* temp_r30; - HsfMaterial* var_r31; - HsfData* temp_r28; - char** temp_r27; - s32 var_r23; - s32 i, j; - ModelData* temp_r25; - HsfAttribute* temp_r24; - - temp_r30 = &lbl_1_bss_E88[arg0->work[0]]; - if (temp_r30->unk08 != 1) { - return; - } - var_r23 = 1; - temp_r25 = &Hu3DData[arg0->model[0]]; - temp_r28 = temp_r25->hsfData; - var_r31 = temp_r28->material; - if (temp_r30->unk34 == 3) { - for (i = 0; i < temp_r25->hsfData->materialCnt; i++, var_r31++) { - if (i == 1 || i == 2) { - continue; - } - var_r31->color[0] *= temp_r30->unk3C; - if (var_r31->color[0] == 0) { - var_r31->color[0] = 0; - } - var_r31->color[1] *= temp_r30->unk3C; - if (var_r31->color[1] == 0) { - var_r31->color[1] = 0; - } - var_r31->color[2] *= temp_r30->unk3C; - if (var_r31->color[2] == 0) { - var_r31->color[2] = 0; - } - } - } else { - temp_r27 = CharModelTexNameGet(temp_r30->unk34, 2); - for (i = 0; i < temp_r28->materialCnt; i++, var_r31++) { - var_r23 = 1; - for (j = 0; j < var_r31->numAttrs; j++) { - temp_r24 = &temp_r28->attribute[var_r31->attrs[j]]; - if (strcmp(temp_r27[0], temp_r24->bitmap->name) == 0 || strcmp(temp_r27[1], temp_r24->bitmap->name) == 0) { - var_r23 = 0; - } - } - if (var_r23 == 0) { - continue; - } - var_r31->color[0] *= temp_r30->unk3C; - if (var_r31->color[0] == 0) { - var_r31->color[0] = 0; - } - var_r31->color[1] *= temp_r30->unk3C; - if (var_r31->color[1] == 0) { - var_r31->color[1] = 0; - } - var_r31->color[2] *= temp_r30->unk3C; - if (var_r31->color[2] == 0) { - var_r31->color[2] = 0; - } - } - } - temp_r30->unk3C -= 0.01; - if (temp_r30->unk3C < 0.0f) { - temp_r30->unk08 = 99; - temp_r30->unk3C = 0.0f; - } -} - -void fn_1_9BCC(s32 arg0, s32 arg1) { - StructBssE88* temp_r31; - - temp_r31 = &lbl_1_bss_E88[arg0]; - temp_r31->unk0C = arg1; - temp_r31->unk1C = 15 - arg1 * 5; - temp_r31->unk20 = 0; -} - -void fn_1_9C08(omObjData* arg0) { - StructBssE88* temp_r31 = &lbl_1_bss_E88[arg0->work[0]]; - Vec sp14[] = { - { 0.0f, 0.0f, 0.0f }, - { 600.0f, 0.0f, 800.0f }, - { -200.0f, 0.0f, 800.0f }, - { -1000.0f, 0.0f, 400.0f } - }; - - if (temp_r31->unk0C >= 1) { - if (temp_r31->unk1C-- <= 0) { - temp_r31->unk20 = 1; - } - if (temp_r31->unk20 != 0) { - fn_1_909C(arg0, sp14[temp_r31->unk0C], -1.0f, 7.0f + temp_r31->unk0C, 30.0f, 5.0f, 1); - } - } -} - -void fn_1_9D88(omObjData* arg0) { - fn_1_9790(arg0); - fn_1_984C(arg0); - fn_1_9C08(arg0); -} - -void fn_1_9F7C(StructBssE88* arg0) { - omObjData* temp_r30 = arg0->unk00; - Vec sp8[] = { - { 0.0f, 0.0f, 500.0f }, - { 200.0f, 0.0f, 300.0f }, - { 200.0f, 0.0f, 450.0f }, - { 200.0f, 0.0f, 600.0f } - }; - s32 temp_r29; - - temp_r29 = temp_r30->work[0]; - omSetTra(temp_r30, sp8[temp_r29].x, sp8[temp_r29].y, sp8[temp_r29].z); - omSetRot(temp_r30, 0.0f, -90.0f, 0.0f); - Hu3DModelAttrSet(temp_r30->model[0], 1); - fn_1_15934(temp_r30, 0, 0, 0, 1); - fn_1_19974(&arg0->unk58, 0); - fn_1_198F8(&arg0->unk58, -1); - fn_1_19968(&arg0->unk58, -1); - temp_r30->work[1] = temp_r30->work[2] = temp_r30->work[3] = 0; - arg0->unk04 = arg0->unk08 = arg0->unk0C = arg0->unk10 = 0; - arg0->unk14 = arg0->unk18 = arg0->unk1C = arg0->unk20 = 0; - arg0->unk40 = arg0->unk44 = arg0->unk48 = 0.0f; - arg0->unk4C = arg0->unk50 = arg0->unk54 = 0.0f; - arg0->unk3C = 1.0f; -} - -void fn_1_A148(omObjData* arg0) { - s32 temp_r29 = arg0->work[0]; - StructBssE88* temp_r31 = &lbl_1_bss_E88[temp_r29]; - Vec sp8[] = { - { 0.0f, 0.0f, 500.0f }, - { 200.0f, 0.0f, 300.0f }, - { 200.0f, 0.0f, 450.0f }, - { 200.0f, 0.0f, 600.0f } - }; - - arg0->model[0] = CharModelCreate(temp_r31->unk34, 2); - arg0->motion[0] = CharModelMotionCreate(temp_r31->unk34, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0)); - arg0->motion[1] = CharModelMotionCreate(temp_r31->unk34, DATA_MAKE_NUM(DATADIR_MARIOMOT, 2)); - arg0->motion[2] = CharModelMotionCreate(temp_r31->unk34, DATA_MAKE_NUM(DATADIR_MARIOMOT, 3)); - arg0->motion[6] = CharModelMotionCreate(temp_r31->unk34, DATA_MAKE_NUM(DATADIR_MARIOMOT, 28)); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, temp_r31->unk34)); - arg0->motion[4] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 8 + temp_r31->unk34)); - arg0->motion[5] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M435, 16 + temp_r31->unk34)); - omSetTra(arg0, sp8[temp_r29].x, sp8[temp_r29].y, sp8[temp_r29].z); - omSetRot(arg0, 0.0f, -90.0f, 0.0f); - Hu3DModelShadowSet(arg0->model[0]); - Hu3DModelAttrSet(arg0->model[0], 1); - fn_1_15934(arg0, 0, 0, 0, 1); - fn_1_1A33C(lbl_1_bss_0, &temp_r31->unk58, arg0->model[0], lbl_1_data_E0[temp_r31->unk34], lbl_1_data_100[temp_r31->unk34][0], lbl_1_data_100[temp_r31->unk34][1]); - fn_1_19974(&temp_r31->unk58, 0); - fn_1_198F8(&temp_r31->unk58, -1); - fn_1_19968(&temp_r31->unk58, -1); - arg0->work[1] = arg0->work[2] = arg0->work[3] = 0; - temp_r31->unk04 = temp_r31->unk08 = temp_r31->unk0C = temp_r31->unk10 = 0; - temp_r31->unk14 = temp_r31->unk18 = temp_r31->unk1C = temp_r31->unk20 = 0; - temp_r31->unk40 = temp_r31->unk44 = temp_r31->unk48 = 0.0f; - temp_r31->unk4C = temp_r31->unk50 = temp_r31->unk54 = 0.0f; - temp_r31->unk3C = 1.0f; - CharModelMotionDataClose(temp_r31->unk34); - arg0->func = fn_1_9D88; -} - -void fn_1_A4B8(s32 arg0, s32 arg1) { - StructBss144* var_r31; - - var_r31 = &lbl_1_bss_144[arg0]; - var_r31->unk2C = arg1; -} - -void fn_1_A4E0(omObjData* arg0) { - StructBss144* temp_r31; - s32 i; - - temp_r31 = &lbl_1_bss_144[arg0->work[0]]; - switch (temp_r31->unk2C) { - case 0: - temp_r31->unk4C -= 0.1f; - if (temp_r31->unk4C < 0.0f) { - temp_r31->unk4C = 0.0f; - } - break; - case 1: - temp_r31->unk4C += 0.1f; - if (temp_r31->unk4C > 1.0f) { - temp_r31->unk4C = 1.0f; - } - break; - } - for (i = 0; i < 6; i++) { - if (temp_r31->unk4C > 0.0f) { - espDispOn(temp_r31->unk04[i]); - } else { - espDispOff(temp_r31->unk04[i]); - } - if (i == 5) { - espTPLvlSet(temp_r31->unk04[i], 0.5f * temp_r31->unk4C); - } else { - espTPLvlSet(temp_r31->unk04[i], temp_r31->unk4C); - } - } -} - -void fn_1_A670(s32 arg0, s32 arg1) { - StructBss144* temp_r31; - - temp_r31 = &lbl_1_bss_144[arg0]; - temp_r31->unk54 = temp_r31->unk50; - temp_r31->unk50 = arg1; - if (temp_r31->unk50 < 0) { - temp_r31->unk50 = 0; - } else if (temp_r31->unk50 > 999) { - temp_r31->unk50 = 999; - } - temp_r31->unk3C = 0; -} - -void fn_1_A6D4(omObjData* arg0) { - StructBss144* temp_r31; - s32 temp_r30; - s32 var_r29; - - temp_r31 = &lbl_1_bss_144[arg0->work[0]]; - if (temp_r31->unk3C <= 60) { - var_r29 = fn_1_152D4(temp_r31->unk54, temp_r31->unk50, temp_r31->unk3C++, 60.0f); - } else { - var_r29 = temp_r31->unk54 = temp_r31->unk50; - } - if ((temp_r30 = var_r29 / 100) == 0) { - espDispOff(temp_r31->unk04[0]); - } - espBankSet(temp_r31->unk04[0], temp_r30); - if ((temp_r30 = (var_r29 % 100) / 10) == 0 && var_r29 / 100 == 0) { - espDispOff(temp_r31->unk04[1]); - } - espBankSet(temp_r31->unk04[1], temp_r30); - temp_r30 = var_r29 % 10; - espBankSet(temp_r31->unk04[2], temp_r30); -} - -void fn_1_A8C4(omObjData* arg0) { - fn_1_A4E0(arg0); - fn_1_A6D4(arg0); -} - -void fn_1_ABFC(StructBss144* arg0) { - omObjData* temp_r30; - - temp_r30 = arg0->unk00; - espTPLvlSet(arg0->unk04[5], 0.0f); - espDispOff(arg0->unk04[5]); - espTPLvlSet(arg0->unk04[4], 0.0f); - espDispOff(arg0->unk04[4]); - espTPLvlSet(arg0->unk04[3], 0.0f); - espDispOff(arg0->unk04[3]); - espTPLvlSet(arg0->unk04[2], 0.0f); - espDispOff(arg0->unk04[2]); - espTPLvlSet(arg0->unk04[1], 0.0f); - espDispOff(arg0->unk04[1]); - espTPLvlSet(arg0->unk04[0], 0.0f); - espDispOff(arg0->unk04[0]); - temp_r30->work[1] = temp_r30->work[2] = temp_r30->work[3] = 0; - arg0->unk4C = 0.0f; - arg0->unk50 = arg0->unk54 = 0; - arg0->unk2C = arg0->unk30 = arg0->unk34 = arg0->unk38 = 0; - arg0->unk3C = arg0->unk40 = arg0->unk44 = arg0->unk48 = 0; -} - -void fn_1_AD5C(omObjData* arg0) { - StructBss144* temp_r31; - StructBssE88* var_r26; - s32 temp_r27; - s32 var_r28; - s32 var_r29; - - temp_r27 = arg0->work[0]; - var_r28 = 62; - temp_r31 = &lbl_1_bss_144[temp_r27]; - var_r26 = &lbl_1_bss_E88[temp_r27]; - if (temp_r27 < 2) { - var_r29 = temp_r27 * 118 + 84; - } else { - var_r29 = (temp_r27 - 2) * 118 + 390; - } - temp_r31->unk04[5] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 21), 100, 0); - espPosSet(temp_r31->unk04[5], var_r29, var_r28); - espColorSet(temp_r31->unk04[5], 1, 1, 1); - espTPLvlSet(temp_r31->unk04[5], 0.0f); - espDispOff(temp_r31->unk04[5]); - temp_r31->unk04[4] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 20), 100, 0); - espPosSet(temp_r31->unk04[4], var_r29, var_r28); - espTPLvlSet(temp_r31->unk04[4], 0.0f); - espDispOff(temp_r31->unk04[4]); - temp_r31->unk04[3] = espEntry(lbl_1_data_0[var_r26->unk34][2], 100, 0); - espPosSet(temp_r31->unk04[3], var_r29 - 46, var_r28 - 2); - espTPLvlSet(temp_r31->unk04[3], 0.0f); - espDispOff(temp_r31->unk04[3]); - temp_r31->unk04[0] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 51), 100, 0); - espPosSet(temp_r31->unk04[0], var_r29 - 14, var_r28 + 2); - espTPLvlSet(temp_r31->unk04[2], 0.0f); - espDispOff(temp_r31->unk04[2]); - temp_r31->unk04[1] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 51), 100, 0); - espPosSet(temp_r31->unk04[1], var_r29 + 6, var_r28 + 2); - espTPLvlSet(temp_r31->unk04[1], 0.0f); - espDispOff(temp_r31->unk04[1]); - temp_r31->unk04[2] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 51), 100, 0); - espPosSet(temp_r31->unk04[2], var_r29 + 26, var_r28 + 2); - espTPLvlSet(temp_r31->unk04[0], 0.0f); - espDispOff(temp_r31->unk04[0]); - arg0->work[1] = arg0->work[2] = arg0->work[3] = 0; - temp_r31->unk4C = 0.0f; - temp_r31->unk50 = temp_r31->unk54 = 0; - temp_r31->unk2C = temp_r31->unk30 = temp_r31->unk34 = temp_r31->unk38 = 0; - temp_r31->unk3C = temp_r31->unk40 = temp_r31->unk44 = temp_r31->unk48 = 0; - arg0->func = fn_1_A8C4; -} - -s32 fn_1_B1F4(omObjData* arg0) { - StructBss4EE8* var_r25; - StructBss9C* var_r31; - StructBssC1C* var_r28; - StructBssE88* temp_r26; - Mtx sp8; - s32 i; - - var_r25 = &lbl_1_bss_4EE8; - var_r31 = &lbl_1_bss_9C; - var_r28 = &lbl_1_bss_C1C; - temp_r26 = &lbl_1_bss_E88[var_r25->unk10]; - if (arg0->work[3] == 1) { - arg0->work[3] = 0; - arg0->work[1] = 1; - arg0->work[2] = 0; - var_r31->unk04 = 1; - for (i = 0; i < 6; i++) { - var_r31->unk08[i] = -(50.0f * i); - } - } - switch (arg0->work[1]) { - case 1: - arg0->work[1] = 2; - fn_1_19974(&temp_r26->unk58, 0); - fn_1_157BC(var_r28->unk00, 0, 4, 5, 0); - break; - case 2: - if (Hu3DMotionTimeGet(var_r28->unk00->model[0]) == 90.0f) { - arg0->work[1] = 3; - fn_1_157BC(temp_r26->unk00, 0, 6, 5, 0); - Hu3DMotionTimeSet(var_r28->unk00->model[0], 90.0f); - Hu3DMotionSpeedSet(var_r28->unk00->model[0], 0.0f); - HuAudCharVoicePlay(temp_r26->unk34, 0x123); - HuAudFXPlay(0x6D5); - omVibrate(temp_r26->unk24, 120, 12, 0); - } - break; - case 3: - Hu3DModelObjMtxGet(var_r28->unk00->model[0], "g000m0-itemhook_M", sp8); - fn_1_9824(var_r25->unk10, 1); - for (i = 0; i < 6; i++) { - if (var_r31->unk04 == 1 || (var_r31->unk04 == 0 && var_r31->unk08[i] > 0.0f)) { - var_r31->unk08[i] += 10.0f; - } - if (var_r31->unk08[i] > 0.0f) { - var_r31->unk48[i] += 0.1f; - var_r31->unk28[i] -= 5.0f; - if (var_r31->unk88[i] == 0.0f) { - fn_1_157BC(arg0, i + 1, i + 1, 1, 1); - } - if (var_r31->unk88[i] < 8.0f) { - var_r31->unk68[i] += 0.025f; - } else if (var_r31->unk88[i] < 23.0f) { - var_r31->unk68[i] = 0.7f; - } else if (var_r31->unk88[i] < 31.0f) { - var_r31->unk68[i] -= 0.1f; - if (var_r31->unk68[i] < 0.0f) { - var_r31->unk68[i] = 0.0f; - } - } - var_r31->unk88[i] += 1.0f; - } - Hu3DModelPosSet(arg0->model[i + 1], sp8[0][3], sp8[1][3] + var_r31->unk28[i], sp8[2][3] + var_r31->unk08[i]); - Hu3DModelScaleSet(arg0->model[i + 1], 1.5f * var_r31->unk48[i], 1.5f * var_r31->unk48[i], 1.5f * var_r31->unk48[i]); - Hu3DModelTPLvlSet(arg0->model[i + 1], var_r31->unk68[i]); - if (var_r31->unk88[i] == 31.0f) { - var_r31->unk08[i] = 0.0f; - var_r31->unk28[i] = 0.0f; - var_r31->unk48[i] = 0.0f; - var_r31->unk68[i] = 0.5f; - var_r31->unk88[i] = 0.0f; - } - } - if (arg0->work[2]++ >= 120) { - var_r31->unk04 = 0; - Hu3DMotionSpeedSet(var_r28->unk00->model[0], 1.0f); - } - if (arg0->work[2] >= 10 && arg0->work[2] <= 120) { - fn_1_230(6, -1, 8.0f); - } - break; - } -} - -void fn_1_B828(StructBss9C* arg0) { - omObjData* temp_r29; - s32 i; - - temp_r29 = arg0->unk00; - for (i = 0; i < 6; i++) { - fn_1_157BC(temp_r29, i + 1, i + 1, 5, 1); - arg0->unk08[i] = -(50.0f * i); - arg0->unk28[i] = 0.0f; - arg0->unk48[i] = 0.0f; - arg0->unk68[i] = 0.5f; - arg0->unk88[i] = 0.0f; - } - arg0->unk04 = 1; - temp_r29->work[0] = temp_r29->work[1] = temp_r29->work[2] = temp_r29->work[3] = 0; -} - -void fn_1_B950(omObjData *arg0) { - StructBss9C* var_r29; - s32 i; - - var_r29 = &lbl_1_bss_9C; - for (i = 0; i < 6; i++) { - if (i % 2 == 0) { - arg0->model[i + 1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M435, 54)); - arg0->motion[i + 1] = Hu3DMotionIDGet(arg0->model[i + 1]); - } - else { - arg0->model[i + 1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M435, 55)); - arg0->motion[i + 1] = Hu3DMotionIDGet(arg0->model[i + 1]); - } - fn_1_157BC(arg0, i + 1, i + 1, 5, 1); - Hu3DModelPosSet(arg0->model[i + 1], 0.0f, 0.0f, 0.0f); - Hu3DModelRotSet(arg0->model[i + 1], 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[i + 1], 0.0f, 0.0f, 0.0f); - Hu3DModelLayerSet(arg0->model[i + 1], 2); - var_r29->unk08[i] = -(50.0f * i); - var_r29->unk28[i] = 0.0f; - var_r29->unk48[i] = 0.0f; - var_r29->unk68[i] = 0.5f; - var_r29->unk88[i] = 0.0f; - } - var_r29->unk04 = 1; - arg0->func = (void*) fn_1_B1F4; // fn_1_B1F4 must return s32 to match -} - -void fn_1_BBE8(void) { - StructBssE08* var_r31; - - var_r31 = &lbl_1_bss_E08; - var_r31->unk18 = 0.0f; - var_r31->unk1C = 300.0f; - var_r31->unk20 = 1740.0f; - var_r31->unk30 = -10.0f; - var_r31->unk34 = 0.0f; - var_r31->unk38 = 0.0f; - var_r31->unk40 = 300.0f; - fn_1_161B0(var_r31, 200.0f); -} - -void fn_1_BC98(void) { - StructBssE08* var_r31; - StructBssE08 sp8; - - var_r31 = &lbl_1_bss_E08; - sp8.unk0C = 0.0f; - sp8.unk10 = 200.0f; - sp8.unk14 = -50.0f; - sp8.unk24 = 5.0f; - sp8.unk28 = 0.0f; - sp8.unk2C = 0.0f; - sp8.unk3C = 200.0f; - fn_1_188E0(var_r31, &sp8, var_r31->unk44++, 30.0f, 5.0f); -} - -void fn_1_BD70(void) { - StructBssE08* var_r31; - - var_r31 = &lbl_1_bss_E08; - var_r31->unk18 = 0.0f; - var_r31->unk1C = 200.0f; - var_r31->unk20 = -50.0f; - var_r31->unk30 = 5.0f; - var_r31->unk34 = 0.0f; - var_r31->unk38 = 0.0f; - var_r31->unk40 = 200.0f; - fn_1_161B0(var_r31, 200.0f); -} - -void fn_1_BE20(void) { - StructBssE08* var_r31; - - var_r31 = &lbl_1_bss_E08; - var_r31->unk18 = 0.0f; - var_r31->unk1C = 300.0f; - var_r31->unk20 = -550.0f; - var_r31->unk30 = -15.0f; - var_r31->unk34 = 0.0f; - var_r31->unk38 = 0.0f; - var_r31->unk40 = 1200.0f; - fn_1_161B0(var_r31, 45.0f); -} - -void fn_1_BED0(void) { - StructBssE08* var_r31; - - var_r31 = &lbl_1_bss_E08; - var_r31->unk18 = 0.0f; - var_r31->unk1C = 150.0f; - var_r31->unk20 = -550.0f; - var_r31->unk30 = -15.0f; - var_r31->unk34 = 0.0f; - var_r31->unk38 = 0.0f; - var_r31->unk40 = 1200.0f; - fn_1_161B0(var_r31, 30.0f); -} - -void fn_1_BF80(void) { - StructBssC30* var_r29; - StructBss2A4* sp8; - StructBssE08* var_r31; - ModelData* temp_r30; - - var_r29 = &lbl_1_bss_C30; - sp8 = &lbl_1_bss_2A4[1]; - var_r31 = &lbl_1_bss_E08; - temp_r30 = &Hu3DData[var_r29->unk00->model[1]]; - var_r31->unk18 = temp_r30->pos.x; - var_r31->unk1C = temp_r30->pos.y + 175.0f; - var_r31->unk20 = temp_r30->pos.z; - var_r31->unk30 = -5.0f; - var_r31->unk34 = temp_r30->rot.y; - var_r31->unk38 = 0.0f; - var_r31->unk40 = 600.0f; - fn_1_161B0(var_r31, 15.0f); -} - -void fn_1_C064(void) { - StructBssE08* var_r31; - StructBssE08 sp8; - - var_r31 = &lbl_1_bss_E08; - sp8.unk0C = 0.0f; - sp8.unk10 = 175.0f; - sp8.unk14 = -250.0f; - sp8.unk24 = -5.0f; - sp8.unk28 = 0.0f; - sp8.unk2C = 0.0f; - sp8.unk3C = 600.0f; - fn_1_17804(var_r31, &sp8, var_r31->unk44++, 10.0f, 5.0f); -} - -void fn_1_C13C(void) { - StructBssE08* var_r31; - StructBssE08 sp8; - - var_r31 = &lbl_1_bss_E08; - sp8.unk0C = 0.0f; - sp8.unk10 = 145.0f; - sp8.unk14 = 500.0f; - sp8.unk24 = -15.0f; - sp8.unk28 = 90.0f; - sp8.unk2C = 0.0f; - sp8.unk3C = 800.0f; - fn_1_17804(var_r31, &sp8, var_r31->unk44++, 60.0f, 5.0f); -} - -void fn_1_C214(void) { - StructBssE08* var_r31; - StructBssE08 sp8; - - var_r31 = &lbl_1_bss_E08; - sp8.unk0C = -1000.0f; - sp8.unk10 = 150.0f; - sp8.unk14 = 435.0f; - sp8.unk24 = 0.0f; - sp8.unk28 = 90.0f; - sp8.unk2C = 0.0f; - sp8.unk3C = 800.0f; - fn_1_188E0(var_r31, &sp8, var_r31->unk44++, 30.0f, 15.0f); -} - -void fn_1_C2EC(void) { - StructBssE08* var_r31; - StructBssE08 sp8; - - var_r31 = &lbl_1_bss_E08; - sp8.unk0C = -1000.0f; - sp8.unk10 = 200.0f; - sp8.unk14 = 500.0f; - sp8.unk24 = 10.0f; - sp8.unk28 = 105.0f; - sp8.unk2C = 0.0f; - sp8.unk3C = 800.0f; - fn_1_17804(var_r31, &sp8, var_r31->unk44++, 30.0f, 15.0f); -} - -void fn_1_C3C4(void) { - StructBssE08* var_r31; - StructBssE08 sp8; - - var_r31 = &lbl_1_bss_E08; - sp8.unk0C = -1000.0f; - sp8.unk10 = 200.0f; - sp8.unk14 = 500.0f; - sp8.unk24 = 10.0f; - sp8.unk28 = 105.0f; - sp8.unk2C = 0.0f; - sp8.unk3C = 800.0f; - fn_1_188E0(var_r31, &sp8, var_r31->unk44++, 10.0f, 5.0f); -} - -void fn_1_C49C(void) { - StructBssE08* var_r31; - - var_r31 = &lbl_1_bss_E08; - var_r31->unk18 = 0.0f; - var_r31->unk1C = 150.0f; - var_r31->unk20 = -550.0f; - var_r31->unk30 = -15.0f; - var_r31->unk34 = 0.0f; - var_r31->unk38 = 0.0f; - var_r31->unk40 = 1200.0f; - fn_1_161B0(var_r31, 20.0f); -} - -void fn_1_C54C(void) { - StructBssE08* var_r31; - - var_r31 = &lbl_1_bss_E08; - var_r31->unk18 = 0.0f; - var_r31->unk1C = 300.0f; - var_r31->unk20 = -550.0f; - var_r31->unk30 = -15.0f; - var_r31->unk34 = 0.0f; - var_r31->unk38 = 0.0f; - var_r31->unk40 = 1200.0f; - fn_1_161B0(var_r31, 20.0f); -} - -void fn_1_C5FC(s32 arg0) { - StructBssE08* var_r20; - - var_r20 = &lbl_1_bss_E08; - fn_1_15E50(var_r20); - switch (arg0) { - case 0: - fn_1_8A4(fn_1_BBE8); - break; - case 1: - fn_1_8A4(fn_1_BC98); - break; - case 2: - fn_1_8A4(fn_1_BD70); - break; - case 3: - fn_1_8A4(fn_1_BE20); - break; - case 4: - fn_1_8A4(fn_1_BED0); - break; - case 5: - fn_1_8A4(fn_1_BF80); - break; - case 6: - fn_1_8A4(fn_1_C064); - break; - case 7: - fn_1_8A4(fn_1_C13C); - break; - case 8: - fn_1_8A4(fn_1_C214); - break; - case 10: - fn_1_8A4(fn_1_C49C); - break; - case 11: - fn_1_8A4(fn_1_C54C); - break; - } -} - -void fn_1_C764(void) { - float sp1C[] = { 0.0f, 0.0f }; - s32 sp8; - - lbl_1_bss_4 = 0; - fn_1_281C(sp1C, MAKE_MESSID(29, 0)); - fn_1_281C(sp1C, MAKE_MESSID(29, 1)); - sp8 = fn_1_1E80((580.0f - sp1C[0]) / 2, 80.0f, sp1C[0], sp1C[1], 2); - HuAudFXPlay(0x6D1); - fn_1_799C(2); - fn_1_2798(sp8, MAKE_MESSID(29, 0)); - fn_1_2594(sp8, 0); - fn_1_799C(2); - fn_1_2798(sp8, MAKE_MESSID(29, 1)); - fn_1_2594(sp8, 0); - fn_1_799C(1); - fn_1_24C4(sp8); - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_CCBC(void) { - float sp1C[] = { 0.0f, 0.0f }; - s32 sp8; - - lbl_1_bss_4 = 0; - fn_1_281C(sp1C, MAKE_MESSID(29, 2)); - sp8 = fn_1_1E80((580.0f - sp1C[0]) / 2, 100.0f, sp1C[0], sp1C[1], 2); - HuAudFXPlay(0x6D2); - fn_1_799C(3); - fn_1_2798(sp8, MAKE_MESSID(29, 2)); - fn_1_2594(sp8, 60); - fn_1_2BFC(3); - fn_1_2594(sp8, 60); - fn_1_799C(1); - fn_1_24C4(sp8); - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_D05C(void) { - float sp1C[] = { 0.0f, 0.0f }; - s32 sp8; - - lbl_1_bss_4 = 0; - fn_1_281C(sp1C, MAKE_MESSID(29, 64)); - sp8 = fn_1_1E80(550.0f - sp1C[0], 340.0f, sp1C[0], sp1C[1], 1); - fn_1_7D28(1, 2); - HuAudFXPlayVolPan(0x65, 0x7F, 0x60); - fn_1_2798(sp8, MAKE_MESSID(29, 64)); - fn_1_267C(sp8); - fn_1_7D28(1, 1); - fn_1_24C4(sp8); - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_D498(s32 arg0) { - float sp1C[] = { 0.0f, 0.0f }; - s32 sp10[] = { - MAKE_MESSID(29, 6), - MAKE_MESSID(29, 39), - MAKE_MESSID(29, 41), - MAKE_MESSID(29, 43), - MAKE_MESSID(29, 45), - MAKE_MESSID(29, 47), - MAKE_MESSID(29, 49), - MAKE_MESSID(29, 51), - -1 - }; - s32 sp8; - - if (sp10[arg0] == -1) { - return; - } - fn_1_7D28(0, 2); - HuPrcSleep(15); - fn_1_281C(sp1C, sp10[arg0]); - sp8 = fn_1_1E80(20.0f, 360.0f, sp1C[0], sp1C[1], 0); - HuAudFXPlayVolPan(0x3E, 0x7F, 0x20); - fn_1_2798(sp8, sp10[arg0]); - fn_1_2594(sp8, 0); - fn_1_7D28(0, 1); - fn_1_24C4(sp8); -} - -void fn_1_D8BC(void) { - float sp64[] = { 0.0f, 0.0f }; - s32 sp10[] = { - MAKE_MESSID(29, 5), - MAKE_MESSID(29, 38), - MAKE_MESSID(29, 40), - MAKE_MESSID(29, 42), - MAKE_MESSID(29, 44), - MAKE_MESSID(29, 46), - MAKE_MESSID(29, 48), - MAKE_MESSID(29, 50), - MAKE_MESSID(29, 52) - }; - s32 var_r30; - s32 i; - - lbl_1_bss_4 = 0; - for (i = 0; i < 9; i++) { - fn_1_281C(sp64, sp10[i]); - } - var_r30 = fn_1_1E80(550.0f - sp64[0], 340.0f, sp64[0], sp64[1], 1); - HuAudFXPlayVolPan(0x65, 0x7F, 0x60); - for (i = 0; i < 9; i++) { - fn_1_7D28(1, 2); - fn_1_2798(var_r30, sp10[i]); - fn_1_2594(var_r30, 0); - fn_1_D498(i); - } - fn_1_7D28(1, 1); - fn_1_24C4(var_r30); - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_E190(void) { - float sp1C[] = { 0.0f, 0.0f }; - s32 sp8; - - lbl_1_bss_4 = 0; - fn_1_281C(sp1C, MAKE_MESSID(29, 53)); - sp8 = fn_1_1E80((580.0f - sp1C[0]) / 2, 80.0f, sp1C[0], sp1C[1], 2); - omVibrate(fn_1_8E48(0), 12, 4, 2); - omVibrate(fn_1_8E48(1), 12, 4, 2); - omVibrate(fn_1_8E48(2), 12, 4, 2); - omVibrate(fn_1_8E48(3), 12, 4, 2); - HuAudFXPlay(0x6D2); - fn_1_799C(2); - fn_1_2798(sp8, MAKE_MESSID(29, 53)); - fn_1_2594(sp8, 0); - fn_1_799C(1); - fn_1_24C4(sp8); - lbl_1_bss_4++; - HuPrcEnd(); -} - -void fn_1_E670(void) { - float sp1C[] = { 0.0f, 0.0f }; - StructBss2A4* var_r27; - s32 sp8; - - lbl_1_bss_4 = 0; - fn_1_281C(sp1C, MAKE_MESSID(29, 54)); - sp8 = fn_1_1E80(580.0f - sp1C[0] - 40.0f, 260.0f, sp1C[0], sp1C[1], 1); - var_r27 = &lbl_1_bss_2A4[1]; - fn_1_157BC(var_r27->unk00, 0, 12, 1, 0); - HuAudFXPlayVolPan(0x3E, 0x7F, 0x20); - fn_1_2798(sp8, MAKE_MESSID(29, 54)); - fn_1_2594(sp8, 15); - fn_1_7D50(1); - fn_1_2594(sp8, 15); - fn_1_24C4(sp8); - fn_1_C5FC(5); - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_EA54(void) { - float sp1C[] = { 0.0f, 0.0f }; - StructBss2A4* var_r27; - s32 sp8; - - fn_1_281C(sp1C, MAKE_MESSID(29, 55)); - sp8 = fn_1_1E80(40.0f, 260.0f, sp1C[0], sp1C[1], 0); - var_r27 = &lbl_1_bss_2A4[0]; - fn_1_157BC(var_r27->unk00, 0, 3, 1, 0); - HuAudFXPlayVolPan(0x65, 0x7F, 0x60); - fn_1_2798(sp8, MAKE_MESSID(29, 55)); - fn_1_2594(sp8, 15); - fn_1_7D28(0, 1); - fn_1_2594(sp8, 15); - fn_1_24C4(sp8); - HuPrcEnd(); -} - -void fn_1_ED94(void) { - float sp1C[] = { 0.0f, 0.0f }; - s32 sp8; - - lbl_1_bss_4 = 0; - fn_1_281C(sp1C, MAKE_MESSID(29, 56)); - fn_1_C5FC(6); - sp8 = fn_1_1E80((580.0f - sp1C[0]) / 2, 320.0f, sp1C[0], sp1C[1], 2); - HuAudFXPlay(0x6D2); - fn_1_799C(2); - fn_1_2798(sp8, MAKE_MESSID(29, 56)); - fn_1_2594(sp8, 0); - fn_1_799C(1); - fn_1_24C4(sp8); - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_F1DC(void) { -} - -s32 fn_1_F1E0(void) { - if (fn_1_15670(&lbl_1_bss_84, 0) == 80) { - fn_1_C5FC(1); - lbl_1_bss_4F08[0] = HuAudSeqPlay(6); - } - if (fn_1_15670(&lbl_1_bss_84, 0) == 115) { - fn_1_C5FC(2); - } - if (fn_1_15670(&lbl_1_bss_84, 0) == 180) { - fn_1_C5FC(3); - } - if (fn_1_15670(&lbl_1_bss_84, 0) == 0) { - fn_1_2BFC(2); - } - if (fn_1_15670(&lbl_1_bss_84, 0) == 150) { - fn_1_2BFC(1); - } - if (fn_1_15670(&lbl_1_bss_84, 1) != 0) { - return fn_1_15520(&lbl_1_bss_84); - } - return 0; -} - -void fn_1_F36C(void) { - HuPrcChildCreate(fn_1_C764, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_F3A8(void) { - if (lbl_1_bss_4 != 0 && fn_1_15670(&lbl_1_bss_84, 1) != 0) { - return fn_1_15520(&lbl_1_bss_84); - } - return 0; -} - -void fn_1_F404(void) { - s32 i; - - HuPrcChildCreate(fn_1_CCBC, 100, 0x2000, 0, HuPrcCurrentGet()); - for (i = 0; i < 4; i++) { - fn_1_9768(i, 1); - } -} - -s32 fn_1_F47C(void) { - if (lbl_1_bss_4 != 0 && fn_1_15670(&lbl_1_bss_84, 1) != 0) { - return fn_1_15520(&lbl_1_bss_84); - } - return 0; -} - -void fn_1_F4D8(void) { - StructBssC1C* sp8; - - sp8 = &lbl_1_bss_C1C; - fn_1_C5FC(10); -} - -s32 fn_1_F534(void) { - if (fn_1_15670(&lbl_1_bss_84, 1) != 0) { - return fn_1_15520(&lbl_1_bss_84); - } - return 0; -} - -void fn_1_F57C(void) { - HuPrcChildCreate(fn_1_D05C, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_F5B8(void) { - if (lbl_1_bss_4 != 0 && fn_1_15670(&lbl_1_bss_84, 1) != 0) { - if (lbl_1_bss_8 != 0) { - return fn_1_15520(&lbl_1_bss_84); - } - fn_1_1561C(&lbl_1_bss_84, 6); - } - return 0; -} - -void fn_1_F638(void) { - StructBssC1C* var_r31; - - var_r31 = &lbl_1_bss_C1C; - fn_1_157BC(var_r31->unk00, 0, 0, 60, 1); - HuPrcChildCreate(fn_1_D8BC, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_F69C(void) { - if (lbl_1_bss_4 != 0 && fn_1_15670(&lbl_1_bss_84, 1) != 0) { - return fn_1_15520(&lbl_1_bss_84); - } - return 0; -} - -void fn_1_F6F8(void) { - StructBssC1C* var_r31; - - var_r31 = &lbl_1_bss_C1C; - fn_1_C5FC(11); - fn_1_157BC(var_r31->unk00, 0, 1, 60, 1); -} - -s32 fn_1_F768(void) { - if (fn_1_15670(&lbl_1_bss_84, 1) != 0) { - return fn_1_15520(&lbl_1_bss_84); - } - return 0; -} - -void fn_1_F7B0(void) { - StructBssC1C* var_r30; - StructBss2A4* var_r31; - - lbl_1_bss_4 = 0; - HuPrcChildCreate(fn_1_E190, 100, 0x2000, 0, HuPrcCurrentGet()); - var_r31 = &lbl_1_bss_2A4[1]; - var_r30 = &lbl_1_bss_C1C; - fn_1_19974(&var_r31->unk3C, 1); - fn_1_198F8(&var_r31->unk3C, -1); - fn_1_19968(&var_r31->unk3C, -1); - fn_1_19960(&var_r31->unk3C, var_r30->unk00->model[0]); -} - -s32 fn_1_F858(void) { - if (lbl_1_bss_4 != 0) { - return fn_1_15520(&lbl_1_bss_84); - } - return 0; -} - -void fn_1_F89C(void) { - HuPrcChildCreate(fn_1_E670, 100, 0x2000, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_EA54, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_F8F8(void) { - if (lbl_1_bss_4 != 0 && fn_1_15670(&lbl_1_bss_84, 1) != 0) { - return fn_1_15520(&lbl_1_bss_84); - } - return 0; -} - -void fn_1_F954(void) { -} - -s32 fn_1_F958(void) { - if (fn_1_15670(&lbl_1_bss_84, 1) != 0) { - return fn_1_15520(&lbl_1_bss_84); - } - return 0; -} - -void fn_1_F9A0(void) { - lbl_1_bss_4 = 0; - HuPrcChildCreate(fn_1_ED94, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_F9EC(void) { - if (lbl_1_bss_4 != 0 && fn_1_15670(&lbl_1_bss_84, 1) != 0) { - return fn_1_15520(&lbl_1_bss_84); - } - return 0; -} - -void fn_1_FA48(void) { - s32 i; - StructBssC30* var_r28; - StructBssC1C* var_r27; - StructBssE88* temp_r30; - StructBss2A4* var_r29; - - var_r28 = &lbl_1_bss_C30; - var_r27 = &lbl_1_bss_C1C; - fn_1_157BC(var_r27->unk00, 0, 0, 60, 1); - fn_1_C5FC(7); - for (i = 0; i < 4; i++) { - temp_r30 = &lbl_1_bss_E88[i]; - fn_1_19974(&temp_r30->unk58, 1); - fn_1_198F8(&temp_r30->unk58, -1); - fn_1_19968(&temp_r30->unk58, -1); - fn_1_19960(&temp_r30->unk58, var_r28->unk00->model[1]); - } - var_r29 = &lbl_1_bss_2A4[1]; - fn_1_19974(&var_r29->unk3C, 0); - fn_1_198F8(&var_r29->unk3C, -1); - fn_1_19968(&var_r29->unk3C, -1); -} - -s32 fn_1_FB50(void) { - if (fn_1_15670(&lbl_1_bss_84, 1) != 0 && lbl_1_bss_14 != 0) { - return fn_1_15520(&lbl_1_bss_84); - } - return 0; -} - -void fn_1_FBAC(void) { - StructBss4EE8* var_r31; - StructBss2A4* var_r30; - StructBssE88* temp_r29; - - var_r31 = &lbl_1_bss_4EE8; - var_r30 = &lbl_1_bss_2A4[1]; - temp_r29 = &lbl_1_bss_E88[var_r31->unk10]; - var_r31->unk0C = 0; - fn_1_157BC(var_r30->unk00, 0, 6, 10, 0); - fn_1_157BC(temp_r29->unk00, 0, 4, 60, 1); - var_r31->unk14 = var_r31->unk10; - HuAudSeqFadeOut(lbl_1_bss_4F08[0], 1000); -} - -s32 fn_1_FC5C(void) { - StructBss4EE8* var_r29; - StructBss2A4* var_r30; - StructBssC30* var_r26; - StructBss2A4* var_r28; - s32 i; - - var_r29 = &lbl_1_bss_4EE8; - var_r30 = &lbl_1_bss_2A4[1]; - if (fn_1_156AC(var_r30->unk00, 0, 6, 50, 0) != 0) { - fn_1_19658(var_r30->unk00, 0, 0.0f, 10); - } else if (fn_1_156AC(var_r30->unk00, 0, 6, 50, 1) != 0) { - fn_1_19658(var_r30->unk00, 0, 90.0f, 10); - if (var_r29->unk0C == 0) { - var_r29->unk0C = 1; - for (i = 0; i < 4; i++) { - fn_1_A4B8(i, 1); - } - fn_1_3E84(1); - fn_1_5600(1); - } - } - if (fn_1_15670(&lbl_1_bss_84, 1) != 0) { - var_r26 = &lbl_1_bss_C30; - var_r28 = &lbl_1_bss_2A4[1]; - fn_1_19974(&var_r28->unk3C, 1); - fn_1_198F8(&var_r28->unk3C, -1); - fn_1_19968(&var_r28->unk3C, -1); - for (i = 0; i < 3; i++) { - fn_1_19894(&var_r28->unk3C, var_r26->unk00->model[i + var_r29->unk10 * 3 + 2]); - } - fn_1_C5FC(8); - return fn_1_15520(&lbl_1_bss_84); - } - return 0; -} - -StructData3A0 lbl_1_data_3A0[] = { - { fn_1_F1DC, fn_1_F1E0, 300 }, - { fn_1_F36C, fn_1_F3A8, 60 }, - { fn_1_F404, fn_1_F47C, 60 }, - { fn_1_F4D8, fn_1_F534, 45 }, - { fn_1_F57C, fn_1_F5B8, 60 }, - { fn_1_F638, fn_1_F69C, 60 }, - { fn_1_F6F8, fn_1_F768, 45 }, - { fn_1_F7B0, fn_1_F858, 60 }, - { fn_1_F89C, fn_1_F8F8, 60 }, - { fn_1_F954, fn_1_F958, 90 }, - { fn_1_F9A0, fn_1_F9EC, 60 }, - { fn_1_FA48, fn_1_FB50, 180 }, - { fn_1_FBAC, fn_1_FC5C, 180 }, - { NULL, NULL, -1 } -}; - -void fn_1_FE64(void) { - fn_1_154C4(&lbl_1_bss_84, lbl_1_data_3A0); -} - -s32 fn_1_FE94(void) { - s32 var_r31; - - var_r31 = 0; - if (lbl_1_bss_84.unk10 != NULL) { - lbl_1_bss_84.unk10(); - lbl_1_bss_84.unk10 = NULL; - } - if (lbl_1_bss_84.unk14 != NULL) { - var_r31 = lbl_1_bss_84.unk14(); - } - return var_r31; -} - -s32 fn_1_FF2C(s32 arg0, s32 arg1) { - s32 var_r31; - StructBssE88* temp_r30; - - var_r31 = 0; - temp_r30 = &lbl_1_bss_E88[arg0]; - if (temp_r30->unk2C != 0) { - switch (temp_r30->unk30) { - case 0: - if (arg1 % 60 == 1 && fn_1_5438()) { - var_r31 = 1; - } - break; - case 1: - if (arg1 % 45 == 1 && fn_1_5438()) { - var_r31 = 1; - } - break; - case 2: - if (arg1 % 30 == 1 && fn_1_5438()) { - var_r31 = 1; - } - break; - case 3: - if (arg1 % 15 == 1 && fn_1_5438()) { - var_r31 = 1; - } - break; - } - } else if (HuPadBtnDown[temp_r30->unk38] & 0x100) { - var_r31 = 1; - } - return var_r31; -} - -void fn_1_10734(void) { - StructBss2A4* spC; - StructBssE08* sp8; - - spC = &lbl_1_bss_2A4[1]; - sp8 = &lbl_1_bss_E08; -} - -void fn_1_1075C(void) { - StructBssE08 sp8; - StructBssE08* var_r31; - - var_r31 = &lbl_1_bss_E08; - sp8.unk0C = 0.0f; - sp8.unk10 = 200.0f; - sp8.unk14 = -550.0f; - sp8.unk24 = 5.0f; - sp8.unk28 = 0.0f; - sp8.unk2C = 0.0f; - sp8.unk3C = 1300.0f; - fn_1_169F4(var_r31, &sp8, var_r31->unk44++, 90.0f, 10.0f); -} - -void fn_1_10834(void) { - StructBssE08 sp8; - StructBssE08* var_r31; - - var_r31 = &lbl_1_bss_E08; - sp8.unk0C = 0.0f; - sp8.unk10 = 200.0f; - sp8.unk14 = -850.0f; - sp8.unk24 = 5.0f; - sp8.unk28 = 0.0f; - sp8.unk2C = 0.0f; - sp8.unk3C = 1300.0f; - fn_1_169F4(var_r31, &sp8, var_r31->unk44++, 120.0f, 10.0f); -} - -void fn_1_1090C(s32 arg0) { - StructBssE08* var_r24; - - var_r24 = &lbl_1_bss_E08; - fn_1_15E50(var_r24); - switch (arg0) { - case 0: - fn_1_8A4(fn_1_C13C); - break; - case 1: - fn_1_8A4(fn_1_C214); - break; - case 2: - fn_1_8A4(fn_1_C2EC); - break; - case 3: - fn_1_8A4(fn_1_C3C4); - break; - case 4: - fn_1_8A4(fn_1_10734); - break; - case 5: - fn_1_8A4(fn_1_1075C); - break; - case 6: - fn_1_8A4(fn_1_10834); - break; - } -} - -void fn_1_10A14(void) { - char sp18[8]; - float sp10[] = { 0.0f, 0.0f }; - StructBss4EE8* var_r29; - StructBssE88* temp_r27; - s32 sp8; - - var_r29 = &lbl_1_bss_4EE8; - temp_r27 = &lbl_1_bss_E88[var_r29->unk10]; - lbl_1_bss_4 = 0; - sprintf(sp18, "%d", var_r29->unk04); - HuWinInsertMesSizeGet(temp_r27->unk34, 0); - HuWinInsertMesSizeGet(MAKE_MESSID_PTR(sp18), 1); - HuWinMesMaxSizeGet(1, sp10, MAKE_MESSID(29, 63)); - sp8 = fn_1_1E80(550.0f - sp10[0], 180.0f, sp10[0], sp10[1], 1); - HuAudFXPlayVolPan(0x65, 0x7F, 0x60); - fn_1_A670(var_r29->unk10, var_r29->unk04); - HuWinInsertMesSet(sp8, MAKE_MESSID_PTR(temp_r27->unk34), 0); - HuWinInsertMesSet(sp8, MAKE_MESSID_PTR(sp18), 1); - fn_1_7D28(1, 2); - fn_1_2798(sp8, MAKE_MESSID(29, 63)); - fn_1_2594(sp8, 120); - fn_1_7D28(1, 1); - fn_1_24C4(sp8); - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_10E1C(void) { - float sp14[] = { 0.0f, 0.0f }; - s32 sp1C[][2] = { - { MAKE_MESSID(29, 60), 9 }, - { MAKE_MESSID(29, 61), 11 } - }; - StructBss2A4* var_r27; - s32 sp8; - s32 i; - - lbl_1_bss_4 = 0; - for (i = 0; i < 2; i++) { - if (i == 1) { - var_r27 = &lbl_1_bss_2A4[1]; - fn_1_19974(&var_r27->unk3C, 0); - fn_1_198F8(&var_r27->unk3C, -1); - fn_1_19968(&var_r27->unk3C, -1); - } - fn_1_281C(sp14, sp1C[i][0]); - sp8 = fn_1_1E80(550.0f - sp14[0], 180.0f, sp14[0], sp14[1], 1); - HuAudFXPlayVolPan(0x65, 0x7F, 0x60); - fn_1_8544(sp1C[i][1]); - fn_1_2798(sp8, sp1C[i][0]); - fn_1_2594(sp8, 120); - fn_1_24C4(sp8); - } - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_11220(void) { - float sp10[] = { 0.0f, 0.0f }; - float temp_f31; - float temp_f30; - s32 var_r22; - s32 sp8; - s32 i; - StructBssC1C* var_r27; - StructBss2A4* var_r28; - - lbl_1_bss_4 = 0; - fn_1_281C(sp10, MAKE_MESSID(29, 62)); - temp_f31 = 640.0f; - temp_f30 = (580.0f - sp10[0]) / 2 - 1.0f; - sp8 = fn_1_1E80(temp_f31, 100.0f, sp10[0], sp10[1], 2); - fn_1_8544(9); - var_r27 = &lbl_1_bss_C1C; - var_r28 = &lbl_1_bss_2A4[1]; - fn_1_19974(&var_r28->unk3C, 1); - fn_1_198F8(&var_r28->unk3C, -1); - fn_1_19968(&var_r28->unk3C, -1); - fn_1_19960(&var_r28->unk3C, var_r27->unk00->model[0]); - var_r22 = HuAudFXPlay(0x6D6); - HuAudFXPanning(var_r22, 0x60); - fn_1_799C(2); - fn_1_2798(sp8, MAKE_MESSID(29, 62)); - HuPrcSleep(5); - for (i = 0; i < 120; i++) { - temp_f31 = fn_1_1539C(640.0f, temp_f30, i, 30.0f); - HuWinPosSet(sp8, temp_f31, 100.0f); - HuPrcVSleep(); - } - HuPrcSleep(60); - fn_1_799C(1); - fn_1_24C4(sp8); - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_116A8(void) { - float sp10[] = { 0.0f, 0.0f }; - float temp_f31; - float temp_f30; - s32 var_r22; - s32 sp8; - s32 i; - StructBssC1C* var_r27; - StructBss2A4* var_r28; - - lbl_1_bss_4 = 0; - fn_1_281C(sp10, MAKE_MESSID(29, 57)); - temp_f31 = 640.0f; - temp_f30 = (580.0f - sp10[0]) / 2 - 1.0f; - sp8 = fn_1_1E80(temp_f31, 100.0f, sp10[0], sp10[1], 2); - var_r27 = &lbl_1_bss_C1C; - var_r28 = &lbl_1_bss_2A4[1]; - fn_1_19974(&var_r28->unk3C, 1); - fn_1_198F8(&var_r28->unk3C, -1); - fn_1_19968(&var_r28->unk3C, -1); - fn_1_19960(&var_r28->unk3C, var_r27->unk00->model[0]); - var_r22 = HuAudFXPlay(0x6D2); - HuAudFXPanning(var_r22, 0x60); - fn_1_799C(2); - fn_1_2798(sp8, MAKE_MESSID(29, 57)); - HuPrcSleep(5); - for (i = 0; i < 120; i++) { - temp_f31 = fn_1_1539C(640.0f, temp_f30, i, 30.0f); - HuWinPosSet(sp8, temp_f31, 100.0f); - HuPrcVSleep(); - } - fn_1_799C(1); - fn_1_24C4(sp8); - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_11B04(void) { - float sp14[] = { 0.0f, 0.0f }; - s32 sp1C[] = { - MAKE_MESSID(29, 58), - MAKE_MESSID(29, 59) - }; - StructBss2A4* var_r25; - StructBss2A4* var_r28; - StructBss9C* var_r24; - s32 sp8; - s32 i; - - lbl_1_bss_4 = 0; - for (i = 0; i < 2; i++) { - if (i == 1) { - var_r25 = &lbl_1_bss_2A4[1]; - var_r28 = &lbl_1_bss_2A4[0]; - var_r24 = &lbl_1_bss_9C; - var_r24->unk00->work[3] = 1; - fn_1_157BC(var_r28->unk00, 0, 1, 30, 1); - fn_1_157BC(var_r28->unk00, 1, 6, 30, 1); - fn_1_157BC(var_r25->unk00, 0, 10, 60, 0); - lbl_1_bss_4 = 1; - } - fn_1_281C(sp14, sp1C[i]); - sp8 = fn_1_1E80((580.0f - sp14[0]) / 2 - 1.0f, 75.0f, sp14[0], sp14[1], 2); - HuAudFXPlay(0x6D6); - if (i == 0) { - fn_1_799C(2); - } - fn_1_2798(sp8, sp1C[i]); - fn_1_2594(sp8, 60); - if (i == 0) { - fn_1_799C(1); - } - if (i == 1) { - fn_1_2594(sp8, 60); - } - fn_1_24C4(sp8); - } - HuPrcEnd(); -} - -void fn_1_11F7C(void) { -} - -s32 fn_1_11F80(void) { - if (fn_1_15670(&lbl_1_bss_6C, 1) != 0) { - return fn_1_15520(&lbl_1_bss_6C); - } - return 0; -} - -void fn_1_11FC8(void) { - StructBss4EE8* var_r31; - StructBss2A4* var_r30; - StructBssE88* temp_r29; - - var_r31 = &lbl_1_bss_4EE8; - var_r30 = &lbl_1_bss_2A4[1]; - temp_r29 = &lbl_1_bss_E88[var_r31->unk10]; - var_r31->unk0C = 0; - fn_1_157BC(var_r30->unk00, 0, 6, 10, 0); - fn_1_157BC(temp_r29->unk00, 0, 4, 60, 1); - var_r31->unk14 = var_r31->unk10; -} - -s32 fn_1_12064(void) { - s32 i; - StructBss4EE8* var_r29; - StructBss2A4* var_r30; - StructBssC30* var_r26; - StructBss2A4* var_r28; - - var_r29 = &lbl_1_bss_4EE8; - var_r30 = &lbl_1_bss_2A4[1]; - if (fn_1_156AC(var_r30->unk00, 0, 6, 50, 0) != 0) { - fn_1_19658(var_r30->unk00, 0, 0.0f, 10); - } else if (fn_1_156AC(var_r30->unk00, 0, 6, 50, 1) != 0) { - fn_1_19658(var_r30->unk00, 0, 90.0f, 10); - if (var_r29->unk0C == 0) { - var_r29->unk0C = 1; - fn_1_3E84(1); - fn_1_5600(1); - } - } - if (fn_1_15670(&lbl_1_bss_6C, 1) != 0) { - var_r26 = &lbl_1_bss_C30; - var_r28 = &lbl_1_bss_2A4[1]; - fn_1_19974(&var_r28->unk3C, 1); - fn_1_198F8(&var_r28->unk3C, -1); - fn_1_19968(&var_r28->unk3C, -1); - for (i = 0; i < 3; i++) { - fn_1_19960(&var_r28->unk3C, var_r26->unk00->model[i + var_r29->unk10 * 3 + 2]); - } - return fn_1_15520(&lbl_1_bss_6C); - } - return 0; -} - -void fn_1_12210(void) { - fn_1_1090C(1); -} - -s32 fn_1_12260(void) { - if (fn_1_15670(&lbl_1_bss_6C, 1) != 0) { - return fn_1_15520(&lbl_1_bss_6C); - } - return 0; -} - -void fn_1_122A8(void) { - if (lbl_1_bss_10 == 0) { - lbl_1_bss_10 = 1; - lbl_1_bss_C = 300; - } -} - -s32 fn_1_122E0(void) { - s32 var_r30; - StructBss4EE8* var_r29; - - var_r30 = 0; - var_r29 = &lbl_1_bss_4EE8; - fn_1_15670(&lbl_1_bss_6C, 1); - if (fn_1_15670(&lbl_1_bss_6C, 0) <= 10) { - return 0; - } - if (fn_1_FF2C(var_r29->unk10, fn_1_15670(&lbl_1_bss_6C, 0)) != 0) { - var_r30 = 1; - fn_1_28E8(); - } - if (var_r30 != 0 || fn_1_28C4() != 0) { - fn_1_5600(4); - return fn_1_15520(&lbl_1_bss_6C); - } - return 0; -} - -void fn_1_12414(void) { - StructBss4EE8* var_r31; - - var_r31 = &lbl_1_bss_4EE8; - var_r31->unk00 = var_r31->unk04 = var_r31->unk08 = 0; -} - -s32 fn_1_12440(void) { - s32 i; - s32 j; - StructBss4EE8* var_r31; - StructBssC30* var_r28; - - var_r31 = &lbl_1_bss_4EE8; - var_r28 = &lbl_1_bss_C30; - if (var_r31->unk00 == 0) { - for (i = 0; i < 3; i++) { - if (var_r28->unk2C[i] != 7) { - break; - } - } - if (i == 3) { - var_r31->unk00 = 1; - for (j = 0; j < 3; j++) { - var_r31->unk04 += var_r28->unk68[j]; - } - } - } else if (var_r31->unk00 == 1) { - if (var_r31->unk04 < 0) { - var_r31->unk08 = 1; - fn_1_1561C(&lbl_1_bss_6C, 9); - fn_1_1090C(3); - } else if (fn_1_15670(&lbl_1_bss_6C, 1) != 0) { - return fn_1_15520(&lbl_1_bss_6C); - } - } - return 0; -} - -void fn_1_12574(void) { - StructBss2A4* temp_r31; - - temp_r31 = &lbl_1_bss_2A4[1]; - fn_1_157BC(temp_r31->unk00, 0, 8, 10, 1); -} - -s32 fn_1_125BC(void) { - if (fn_1_15670(&lbl_1_bss_6C, 1) != 0) { - return fn_1_15520(&lbl_1_bss_6C); - } - return 0; -} - -void fn_1_12604(void) { - StructBss4EE8* var_r30; - StructBssE88* spC; - StructBss2A4* var_r29; - StructBssC30* sp8; - StructBss2A4* var_r31; - - var_r30 = &lbl_1_bss_4EE8; - spC = &lbl_1_bss_E88[var_r30->unk10]; - var_r29 = &lbl_1_bss_2A4[1]; - fn_1_157BC(var_r29->unk00, 0, 0, 10, 1); - HuPrcChildCreate(fn_1_10A14, 100, 0x2000, 0, HuPrcCurrentGet()); - fn_1_1090C(3); - sp8 = &lbl_1_bss_C30; - var_r31 = &lbl_1_bss_2A4[1]; - fn_1_19974(&var_r31->unk3C, 0); - fn_1_198F8(&var_r31->unk3C, -1); - fn_1_19968(&var_r31->unk3C, -1); -} - -s32 fn_1_126F4(void) { - StructBss4EE8* var_r31; - StructBssE88* var_r30; - - var_r31 = &lbl_1_bss_4EE8; - if (lbl_1_bss_4 != 0 && fn_1_15670(&lbl_1_bss_6C, 1) != 0) { - var_r30 = &lbl_1_bss_E88[var_r31->unk10]; - fn_1_157BC(var_r30->unk00, 0, 0, 1, 1); - if (var_r31->unk10 == 3) { - fn_1_1561C(&lbl_1_bss_6C, 11); - } else { - return fn_1_15520(&lbl_1_bss_6C); - } - } - return 0; -} - -void fn_1_127B4(void) { - StructBss4EE8* sp8; - - sp8 = &lbl_1_bss_4EE8; - fn_1_1090C(0); -} - -s32 fn_1_12810(void) { - if (fn_1_15670(&lbl_1_bss_6C, 1) != 0) { - return fn_1_15520(&lbl_1_bss_6C); - } - return 0; -} - -void fn_1_12858(void) { - StructBss4EE8* var_r28; - StructBssE88* temp_r31; - s32 var_r30; - s32 i; - - var_r28 = &lbl_1_bss_4EE8; - var_r30 = var_r28->unk10 + 1; - if (var_r30 >= 4) { - var_r30 = 0; - } - for (i = 0; i < 4; i++) { - temp_r31 = &lbl_1_bss_E88[var_r30]; - lbl_1_bss_3C[i].x = temp_r31->unk00->trans.x; - lbl_1_bss_3C[i].y = temp_r31->unk00->trans.y; - lbl_1_bss_3C[i].z = temp_r31->unk00->trans.z; - temp_r31->unk14 = 0; - fn_1_15934(temp_r31->unk00, 0, 2, 10, 1); - var_r30++; - if (var_r30 >= 4) { - var_r30 = 0; - } - } -} - -s32 fn_1_12958(void) { - StructBss4EE8* var_r30 = &lbl_1_bss_4EE8; - StructBssE88* temp_r31; - s32 var_r28; - s32 var_r29; - Vec sp8[] = { - { 0.0f, 0.0f, 500.0f }, - { 200.0f, 0.0f, 300.0f }, - { 200.0f, 0.0f, 450.0f }, - { 200.0f, 0.0f, 600.0f } - }; - - var_r29 = var_r30->unk10 + 1; - if (var_r29 >= 4) { - var_r29 = 0; - } - for (var_r28 = 0; var_r28 < 4; var_r28++) { - temp_r31 = &lbl_1_bss_E88[var_r29]; - if (temp_r31->unk14++ <= 30) { - fn_1_195F4(temp_r31->unk00, 0, &lbl_1_bss_3C[var_r28], &sp8[var_r28], 5, temp_r31->unk14, 30); - } else { - fn_1_19658(temp_r31->unk00, 0, -90.0f, 10); - if (temp_r31->unk14 >= 40) { - fn_1_15934(temp_r31->unk00, 0, 0, 10, 1); - } - } - var_r29++; - if (var_r29 == 4) { - var_r29 = 0; - } - } - if (fn_1_15670(&lbl_1_bss_6C, 1) != 0) { - var_r30->unk10++; - if (var_r30->unk10 >= 4) { - var_r30->unk10 = 0; - } - fn_1_3E84(0); - fn_1_5600(0); - fn_1_1561C(&lbl_1_bss_6C, 0); - } - return 0; -} - -void fn_1_12B50(void) { - HuPrcChildCreate(fn_1_10E1C, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_12B8C(void) { - if (lbl_1_bss_4 != 0 && fn_1_15670(&lbl_1_bss_6C, 1) != 0) { - return fn_1_15520(&lbl_1_bss_6C); - } - return 0; -} - -void fn_1_12BE8(void) { - HuPrcChildCreate(fn_1_11220, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_12C24(void) { - if (lbl_1_bss_4 != 0 && fn_1_15670(&lbl_1_bss_6C, 1) != 0) { - fn_1_1561C(&lbl_1_bss_6C, 12); - } - return 0; -} - -void fn_1_12C80(void) { - HuPrcChildCreate(fn_1_116A8, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_12CBC(void) { - if (lbl_1_bss_4 != 0 && fn_1_15670(&lbl_1_bss_6C, 1) != 0) { - return fn_1_15520(&lbl_1_bss_6C); - } - return 0; -} - -void fn_1_12D18(void) { - StructBss4EE8* var_r28; - StructBssC1C* sp10; - StructBss144* temp_r27; - s32 var_r30; - s32 i; - - var_r30 = 999; - var_r28 = &lbl_1_bss_4EE8; - sp10 = &lbl_1_bss_C1C; - for (i = 0; i < 4; i++) { - fn_1_A4B8(i, 0); - } - fn_1_8250(1); - if (var_r28->unk08 != 1) { - for (i = 0; i < 4; i++) { - temp_r27 = &lbl_1_bss_144[i]; - if (var_r30 > temp_r27->unk50) { - var_r30 = temp_r27->unk50; - var_r28->unk10 = i; - } - } - } - { - StructBssE88* temp_r29; - StructBss2A4* var_r24; - Vec sp14[] = { - { 0.0f, 0.0f, -225.0f }, - { -200.0f, 0.0f, -225.0f }, - { 200.0f, 0.0f, -225.0f }, - { 400.0f, 0.0f, -225.0f } - }; - - var_r30 = var_r28->unk10; - for (i = 0; i < 4; i++) { - temp_r29 = &lbl_1_bss_E88[var_r30]; - omSetTra(temp_r29->unk00, sp14[i].x, sp14[i].y, sp14[i].z); - omSetRot(temp_r29->unk00, 0.0f, 180.0f, 0.0f); - fn_1_157BC(temp_r29->unk00, 0, 0, 10, 1); - var_r30++; - if (var_r30 >= 4) { - var_r30 = 0; - } - var_r24 = &lbl_1_bss_2A4[1]; - fn_1_19960(&temp_r29->unk58, var_r24->unk00->model[0]); - } - } - fn_1_1090C(5); - - // Hack required to match. - if (0) { - s32 var_r25; - s32 var_r26; - - (void) var_r26; - (void) var_r26; - (void) var_r26; - (void) var_r26; - (void) var_r25; - (void) var_r25; - (void) var_r25; - (void) var_r25; - } -} - -// Unused. Mirrors the Vec array defined in fn_1_12D18. -const Vec lbl_1_rodata_48C[] = { - { 0.0f, 0.0f, -225.0f }, - { -200.0f, 0.0f, -225.0f }, - { 200.0f, 0.0f, -225.0f }, - { 400.0f, 0.0f, -225.0f } -}; - -static inline void fn_1_12F48_inline_hack(s32 arg0) { - StructBss4EE8* var_r27; - - var_r27 = &lbl_1_bss_4EE8; - (void) var_r27; - (void) var_r27; - (void) var_r27; - (void) var_r27; - - if (arg0) { - s32 var_r31; - s32 var_r30; - s32 var_r26; - s32 var_r23; - s32 var_r22; - s32 var_r21; - s32 var_r20; - s32 var_r19; - s32 var_r18; - s32 var_r17; - - (void) var_r31; - (void) var_r31; - (void) var_r31; - (void) var_r31; - (void) var_r31; - (void) var_r31; - (void) var_r30; - (void) var_r30; - (void) var_r30; - (void) var_r30; - (void) var_r30; - (void) var_r30; - (void) var_r26; - (void) var_r26; - (void) var_r26; - (void) var_r26; - (void) var_r23; - (void) var_r23; - (void) var_r23; - (void) var_r22; - (void) var_r22; - (void) var_r22; - (void) var_r21; - (void) var_r21; - (void) var_r21; - (void) var_r20; - (void) var_r20; - (void) var_r20; - (void) var_r19; - (void) var_r19; - (void) var_r19; - (void) var_r18; - (void) var_r18; - (void) var_r18; - (void) var_r17; - (void) var_r17; - (void) var_r17; - } -} - -s32 fn_1_12F48(void) { - StructBssC1C* var_r25; - StructBssC30* var_r24; - StructBssE88* sp8; - s32 var_r29; - s32 var_r28; - - fn_1_12F48_inline_hack(0); // Required to match. - if (fn_1_15670(&lbl_1_bss_6C, 0) == 180) { - var_r25 = &lbl_1_bss_C1C; - for (var_r29 = 0; var_r29 < 4; var_r29++) { - sp8 = &lbl_1_bss_E88[var_r29]; - fn_1_19960(&sp8->unk58, var_r25->unk00->model[0]); - } - } - if (fn_1_15670(&lbl_1_bss_6C, 1) != 0) { - var_r24 = &lbl_1_bss_C30; - for (var_r28 = 0; var_r28 < 14; var_r28++) { - Hu3DModelAttrSet(var_r24->unk00->model[var_r28], 1); - } - return fn_1_15520(&lbl_1_bss_6C); - } - return 0; -} - -void fn_1_1303C(void) { - lbl_1_bss_4 = 0; - HuPrcChildCreate(fn_1_11B04, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_13088(void) { - s32 var_r31; - s32 i; - StructBss4EE8* var_r28; - StructBssE88* temp_r29; - - var_r28 = &lbl_1_bss_4EE8; - var_r31 = var_r28->unk10; - if (var_r31 == 4) { - var_r31 = 0; - } - if (lbl_1_bss_4 != 0 && fn_1_15670(&lbl_1_bss_6C, 0) == 20) { - fn_1_1090C(6); - for (i = 0; i < 4; i++) { - if (i != 0) { - temp_r29 = &lbl_1_bss_E88[var_r31]; - temp_r29->unk0C = i; - temp_r29->unk1C = 15 - i * 5; - temp_r29->unk20 = 0; - } - var_r31++; - if (var_r31 >= 4) { - var_r31 = 0; - } - } - } - if (lbl_1_bss_4 != 0 && fn_1_15670(&lbl_1_bss_6C, 1) != 0) { - return fn_1_15520(&lbl_1_bss_6C); - } - return 0; -} - -StructData3A0 lbl_1_data_468[] = { - { fn_1_11F7C, fn_1_11F80, 1 }, - { fn_1_11FC8, fn_1_12064, 120 }, - { fn_1_12210, fn_1_12260, 90 }, - { fn_1_122A8, fn_1_122E0, 120 }, - { fn_1_12414, fn_1_12440, -1 }, - { fn_1_12574, fn_1_125BC, 120 }, - { fn_1_12604, fn_1_126F4, 60 }, - { fn_1_127B4, fn_1_12810, 30 }, - { fn_1_12858, fn_1_12958, 120 }, - { fn_1_12B50, fn_1_12B8C, 60 }, - { fn_1_12BE8, fn_1_12C24, 60 }, - { fn_1_12C80, fn_1_12CBC, 60 }, - { fn_1_12D18, fn_1_12F48, 300 }, - { fn_1_1303C, fn_1_13088, 60 }, - { NULL, NULL, -1 } -}; - -void fn_1_131B0(void) { - fn_1_154C4(&lbl_1_bss_6C, lbl_1_data_468); - fn_1_1561C(&lbl_1_bss_6C, 3); -} - -s32 fn_1_131F0(void) { - s32 var_r31; - - var_r31 = 0; - if (lbl_1_bss_6C.unk10 != NULL) { - lbl_1_bss_6C.unk10(); - lbl_1_bss_6C.unk10 = NULL; - } - if (lbl_1_bss_6C.unk14 != NULL) { - var_r31 = lbl_1_bss_6C.unk14(); - } - return var_r31; -} - -void fn_1_13288(void) { - StructBss4EE8* var_r30; - StructBssE88* temp_r31; - - var_r30 = &lbl_1_bss_4EE8; - temp_r31 = &lbl_1_bss_E88[var_r30->unk10]; - var_r30->unk1C = 0; - lbl_1_data_1E0 = temp_r31->unk00->model[0]; - lbl_1_data_1E4 = temp_r31->unk00->motion[3]; - lbl_1_data_1E8 = temp_r31->unk34; - HuPrcChildCreate(fn_1_0, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_13338(void) { - StructBss4EE8* var_r31; - StructBssE88* temp_r30; - - var_r31 = &lbl_1_bss_4EE8; - temp_r30 = &lbl_1_bss_E88[var_r31->unk10]; - if (fn_1_15670(&lbl_1_bss_24, 0) == 120) { - fn_1_157BC(temp_r30->unk00, 0, 3, 30, 0); - HuAudSStreamPlay(3); - } - if (fn_1_15670(&lbl_1_bss_24, 1) != 0) { - return fn_1_15520(&lbl_1_bss_24); - } - return 0; -} - -StructData3A0 lbl_1_data_51C[] = { - { fn_1_13288, fn_1_13338, 360 }, - { NULL, NULL, -1 } -}; - -void fn_1_133E4(void) { - fn_1_154C4(&lbl_1_bss_24, lbl_1_data_51C); -} - -s32 fn_1_13414(void) { - s32 var_r31; - - var_r31 = 0; - if (lbl_1_bss_24.unk10 != NULL) { - lbl_1_bss_24.unk10(); - lbl_1_bss_24.unk10 = NULL; - } - if (lbl_1_bss_24.unk14 != NULL) { - var_r31 = lbl_1_bss_24.unk14(); - } - return var_r31; -} - -void fn_1_134AC(omObjData* arg0) { - StructBss4EE8* var_r30; - StructBssE88* temp_r29; - s32 i; - - if (WipeStatGet() == 0) { - CharModelKill(-1); - MGSeqKillAll(); - HuAudFadeOut(1); - var_r30 = &lbl_1_bss_4EE8; - temp_r29 = &lbl_1_bss_E88[var_r30->unk10]; - for (i = 0; i < 4; i++) { - GWPlayerCoinWinSet(i, 0); - } - GWPlayerCoinWinSet(temp_r29->unk24, 1); - omOvlReturnEx(1, 1); - arg0->func = NULL; - } -} - -void fn_1_135A0(omObjData* arg0) { - if (omSysExitReq == 1) { - HuAudSeqAllFadeOut(250); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - arg0->func = fn_1_134AC; - } -} - -void fn_1_13600(void) { - StructBss4EE8* var_r29; - s32 i; - - fn_1_3288(&lbl_1_bss_DE4); - fn_1_72A4(&lbl_1_bss_C30); - fn_1_7A78(&lbl_1_bss_C1C); - for (i = 0; i < 2; i++) { - fn_1_8734(&lbl_1_bss_2A4[i]); - } - for (i = 0; i < 4; i++) { - fn_1_9F7C(&lbl_1_bss_E88[i]); - } - for (i = 0; i < 4; i++) { - fn_1_ABFC(&lbl_1_bss_144[i]); - } - fn_1_B828(&lbl_1_bss_9C); - var_r29 = &lbl_1_bss_4EE8; - var_r29->unk00 = var_r29->unk04 = var_r29->unk08 = var_r29->unk0C = 0; - var_r29->unk10 = var_r29->unk14 = var_r29->unk18 = var_r29->unk1C = 0; - fn_1_FE64(); - fn_1_131B0(); - fn_1_133E4(); - fn_1_C5FC(0); - HuAudFXPlay(0x6D7); -} - -void fn_1_14384(omObjData* arg0) { - StructBssDE4* var_r25; - - switch (lbl_1_bss_1C) { - case 0: - fn_1_13600(); - lbl_1_bss_1C = 1; - break; - case 1: - if (WipeStatGet() == 0) { - lbl_1_bss_1C = 2; - } - break; - case 2: - if (fn_1_FE94()) { - lbl_1_bss_1C = 3; - } - break; - case 3: - lbl_1_bss_20 = MGSeqStartCreate(); - lbl_1_bss_1C = 4; - lbl_1_bss_4F08[1] = -1; - break; - case 4: - if ((MGSeqStatGet(lbl_1_bss_20) & 0x10) && lbl_1_bss_4F08[1] == -1) { - lbl_1_bss_4F08[1] = HuAudSeqPlay(0x4D); - } - if (MGSeqStatGet(lbl_1_bss_20) == 0) { - lbl_1_bss_1C = 5; - } - break; - case 5: - if (fn_1_131F0()) { - lbl_1_bss_1C = 6; - } - break; - case 6: - lbl_1_bss_20 = MGSeqFinishCreate(); - lbl_1_bss_1C = 7; - HuAudSeqPauseAll(0); - HuAudSeqAllFadeOut(250); - break; - case 7: - if (MGSeqStatGet(lbl_1_bss_20) == 0) { - lbl_1_bss_1C = 8; - } - break; - case 8: - var_r25 = &lbl_1_bss_DE4; - var_r25->unk04 = 999; - if (fn_1_13414()) { - lbl_1_bss_1C = 9; - } - break; - case 9: - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - arg0->func = fn_1_134AC; - break; - } - fn_1_135A0(arg0); - - // Hack required to match. - if (0) { - s32 var_r31; - s32 var_r28; - - (void) var_r31; - (void) var_r31; - (void) var_r31; - (void) var_r31; - (void) var_r28; - (void) var_r28; - (void) var_r28; - } -} - -void fn_1_14760(omObjData* arg0) { - s32 i; - - lbl_1_bss_DE4.unk00 = omAddObjEx(lbl_1_bss_0, 0x200, 16, 16, -1, fn_1_3558); - lbl_1_bss_C30.unk00 = omAddObjEx(lbl_1_bss_0, 0x300, 32, 32, -1, fn_1_7628); - lbl_1_bss_C1C.unk00 = omAddObjEx(lbl_1_bss_0, 0x400, 16, 16, -1, fn_1_7B44); - for (i = 0; i < 2; i++) { - lbl_1_bss_2A4[i].unk00 = omAddObjEx(lbl_1_bss_0, 0x500, 16, 16, -1, fn_1_88B0); - lbl_1_bss_2A4[i].unk00->work[0] = i; - } - for (i = 0; i < 4; i++) { - lbl_1_bss_E88[i].unk00 = omAddObjEx(lbl_1_bss_0, 0x50, 16, 16, -1, fn_1_A148); - lbl_1_bss_E88[i].unk00->work[0] = i; - } - for (i = 0; i < 4; i++) { - lbl_1_bss_144[i].unk00 = omAddObjEx(lbl_1_bss_0, 0x800, 16, 16, -1, fn_1_AD5C); - lbl_1_bss_144[i].unk00->work[0] = i; - } - lbl_1_bss_9C.unk00 = omAddObjEx(lbl_1_bss_0, 0x700, 16, 16, -1, fn_1_B950); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - arg0->func = fn_1_14384; -} - -#include "src/REL/executor.c" - -void fn_1_14A54(void) { - lbl_1_bss_0 = omInitObjMan(62, 0x2000); - omGameSysInit(lbl_1_bss_0); - fn_1_1A8(); - fn_1_FDC(); - fn_1_1110(); - fn_1_1818(); - fn_1_2AF0(); - fn_1_8F4C(); - omAddObjEx(lbl_1_bss_0, 0x1000, 0, 0, -1, fn_1_14760); -} - -void ObjectSetup(void) { - fn_1_14A54(); -} diff --git a/src/REL/m435Dll/sequence.c b/src/REL/m435Dll/sequence.c deleted file mode 100755 index 704c4c34..00000000 --- a/src/REL/m435Dll/sequence.c +++ /dev/null @@ -1,540 +0,0 @@ -#include "REL/m435Dll.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" - -#include "ext_math.h" -#include "string.h" - -float fn_1_1526C(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg2 / arg3) * (arg1 - arg0); -} - -float fn_1_15294(float arg0, float arg1, float arg2) { - if (arg2 <= 1.0f) { - return arg1; - } - return (arg1 + arg0 * (arg2 - 1.0f)) / arg2; -} - -float fn_1_152D4(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg1 - arg0) * sind((90.0f / arg3) * arg2); -} - -float fn_1_1539C(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg1 - arg0) * (1.0 - cosd((90.0f / arg3) * arg2)); -} - -void fn_1_15474(StructBss84* arg0) { - arg0->unk04 = 0; - arg0->unk08 = arg0->unk0C[arg0->unk00].unk08; - arg0->unk10 = arg0->unk0C[arg0->unk00].unk00; - arg0->unk14 = arg0->unk0C[arg0->unk00].unk04; -} - -void fn_1_154C4(StructBss84* arg0, StructData3A0* arg1) { - arg0->unk00 = 0; - arg0->unk0C = arg1; - fn_1_15474(arg0); -} - -s32 fn_1_15520(StructBss84* arg0) { - arg0->unk00++; - fn_1_15474(arg0); - if (arg0->unk10 == NULL && arg0->unk14 == NULL) { - return 1; - } - return 0; -} - -s32 fn_1_155A8(StructBss84* arg0) { - arg0->unk00--; - if (arg0->unk00 < 0) { - return 1; - } - fn_1_15474(arg0); - return 0; -} - -void fn_1_1561C(StructBss84* arg0, s32 arg1) { - arg0->unk00 = arg1; - fn_1_15474(arg0); -} - -s32 fn_1_15670(StructBss84* arg0, s32 arg1) { - if (arg1 == 0) { - return arg0->unk04; - } - arg0->unk04 += arg1; - if (arg0->unk04 >= arg0->unk08) { - return 1; - } - return 0; -} - -s32 fn_1_156AC(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - if (arg0->motion[arg2] == Hu3DMotionIDGet(arg0->model[0])) { - if (arg4 != 0) { - if (Hu3DMotionTimeGet(arg0->model[arg1]) >= arg3) { - return 1; - } - } else if (Hu3DMotionTimeGet(arg0->model[arg1]) <= arg3) { - return 1; - } - } - return 0; -} - -void fn_1_157BC(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - switch (arg4) { - case 0: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_NONE); - break; - case 1: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_LOOP); - break; - case 2: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_PAUSE); - break; - } -} - -void fn_1_15934(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - if (arg0->motion[arg2] != Hu3DMotionIDGet(arg0->model[arg1]) && arg0->motion[arg2] != Hu3DMotionShiftIDGet(arg0->model[arg1])) { - fn_1_157BC(arg0, arg1, arg2, arg3, arg4); - } -} - -void fn_1_15AFC(StructBssE08* arg0, Vec* arg1, Vec* arg2) { - float temp_f31; - float temp_f29; - float temp_f30; - float temp_f27; - - temp_f31 = arg1->x - arg2->x; - temp_f29 = arg1->y - arg2->y; - temp_f30 = arg1->z - arg2->z; - arg0->unk18 = arg2->x; - arg0->unk1C = arg2->y; - arg0->unk20 = arg2->z; - arg0->unk40 = sqrtf(temp_f31 * temp_f31 + temp_f29 * temp_f29 + temp_f30 * temp_f30); - temp_f27 = atan2d(temp_f30, temp_f31); - arg0->unk30 = -atan2d(temp_f29, temp_f31 * cosd(-temp_f27) + temp_f30 * -sind(-temp_f27)); - arg0->unk34 = -(temp_f27 - 90.0f); - arg0->unk38 = 0.0f; -} - -void fn_1_15E14(StructBssE08* arg0) { - arg0->unk0C = arg0->unk18; - arg0->unk10 = arg0->unk1C; - arg0->unk14 = arg0->unk20; - arg0->unk24 = arg0->unk30; - arg0->unk28 = arg0->unk34; - arg0->unk2C = arg0->unk38; - arg0->unk3C = arg0->unk40; -} - -void fn_1_15E50(StructBssE08* arg0) { - arg0->unk44 = 0.0f; - arg0->unk18 = arg0->unk0C; - arg0->unk1C = arg0->unk10; - arg0->unk20 = arg0->unk14; - arg0->unk30 = arg0->unk24; - arg0->unk34 = arg0->unk28; - arg0->unk38 = arg0->unk2C; - arg0->unk40 = arg0->unk3C; -} - -void fn_1_15E9C(StructBssE08* arg0, StructBssE08* arg1, float arg2) { - arg0->unk0C = fn_1_15294(arg0->unk0C, arg1->unk18, arg2); - arg0->unk10 = fn_1_15294(arg0->unk10, arg1->unk1C, arg2); - arg0->unk14 = fn_1_15294(arg0->unk14, arg1->unk20, arg2); - arg0->unk24 = fn_1_15294(arg0->unk24, arg1->unk30, arg2); - arg0->unk28 = fn_1_15294(arg0->unk28, arg1->unk34, arg2); - arg0->unk2C = fn_1_15294(arg0->unk2C, arg1->unk38, arg2); - arg0->unk3C = fn_1_15294(arg0->unk3C, arg1->unk40, arg2); -} - -void fn_1_161B0(StructBssE08* arg0, float arg1) { - fn_1_15E9C(arg0, arg0, arg1); -} - -void fn_1_164C4(StructBssE08* arg0, StructBssE08* arg1, float arg2, float arg3) { - arg1->unk18 = fn_1_1526C(arg0->unk18, arg1->unk0C, arg2, arg3); - arg1->unk1C = fn_1_1526C(arg0->unk1C, arg1->unk10, arg2, arg3); - arg1->unk20 = fn_1_1526C(arg0->unk20, arg1->unk14, arg2, arg3); - arg1->unk30 = fn_1_1526C(arg0->unk30, arg1->unk24, arg2, arg3); - arg1->unk34 = fn_1_1526C(arg0->unk34, arg1->unk28, arg2, arg3); - arg1->unk38 = fn_1_1526C(arg0->unk38, arg1->unk2C, arg2, arg3); - arg1->unk40 = fn_1_1526C(arg0->unk40, arg1->unk3C, arg2, arg3); -} - -void fn_1_16740(StructBssE08* arg0, StructBssE08* arg1, float arg2, float arg3) { - fn_1_164C4(arg0, arg1, arg2, arg3); - arg0->unk0C = arg1->unk18; - arg0->unk10 = arg1->unk1C; - arg0->unk14 = arg1->unk20; - arg0->unk24 = arg1->unk30; - arg0->unk28 = arg1->unk34; - arg0->unk2C = arg1->unk38; - arg0->unk3C = arg1->unk40; -} - -void fn_1_169F4(StructBssE08* arg0, StructBssE08* arg1, float arg2, float arg3, float arg4) { - fn_1_164C4(arg0, arg1, arg2, arg3); - fn_1_15E9C(arg0, arg1, arg4); -} - -void fn_1_16F24(StructBssE08* arg0, StructBssE08* arg1, float arg2, float arg3) { - arg1->unk18 = fn_1_152D4(arg0->unk18, arg1->unk0C, arg2, arg3); - arg1->unk1C = fn_1_152D4(arg0->unk1C, arg1->unk10, arg2, arg3); - arg1->unk20 = fn_1_152D4(arg0->unk20, arg1->unk14, arg2, arg3); - arg1->unk30 = fn_1_152D4(arg0->unk30, arg1->unk24, arg2, arg3); - arg1->unk34 = fn_1_152D4(arg0->unk34, arg1->unk28, arg2, arg3); - arg1->unk38 = fn_1_152D4(arg0->unk38, arg1->unk2C, arg2, arg3); - arg1->unk40 = fn_1_152D4(arg0->unk40, arg1->unk3C, arg2, arg3); -} - -void fn_1_17378(StructBssE08* arg0, StructBssE08* arg1, float arg2, float arg3) { - fn_1_16F24(arg0, arg1, arg2, arg3); - arg0->unk0C = arg1->unk18; - arg0->unk10 = arg1->unk1C; - arg0->unk14 = arg1->unk20; - arg0->unk24 = arg1->unk30; - arg0->unk28 = arg1->unk34; - arg0->unk2C = arg1->unk38; - arg0->unk3C = arg1->unk40; -} - -void fn_1_17804(StructBssE08* arg0, StructBssE08* arg1, float arg2, float arg3, float arg4) { - fn_1_16F24(arg0, arg1, arg2, arg3); - fn_1_15E9C(arg0, arg1, arg4); -} - -void fn_1_17F20(StructBssE08* arg0, StructBssE08* arg1, float arg2, float arg3) { - arg1->unk18 = fn_1_1539C(arg0->unk18, arg1->unk0C, arg2, arg3); - arg1->unk1C = fn_1_1539C(arg0->unk1C, arg1->unk10, arg2, arg3); - arg1->unk20 = fn_1_1539C(arg0->unk20, arg1->unk14, arg2, arg3); - arg1->unk30 = fn_1_1539C(arg0->unk30, arg1->unk24, arg2, arg3); - arg1->unk34 = fn_1_1539C(arg0->unk34, arg1->unk28, arg2, arg3); - arg1->unk38 = fn_1_1539C(arg0->unk38, arg1->unk2C, arg2, arg3); - arg1->unk40 = fn_1_1539C(arg0->unk40, arg1->unk3C, arg2, arg3); -} - -void fn_1_183E4(StructBssE08* arg0, StructBssE08* arg1, float arg2, float arg3) { - fn_1_17F20(arg0, arg1, arg2, arg3); - arg0->unk0C = arg1->unk18; - arg0->unk10 = arg1->unk1C; - arg0->unk14 = arg1->unk20; - arg0->unk24 = arg1->unk30; - arg0->unk28 = arg1->unk34; - arg0->unk2C = arg1->unk38; - arg0->unk3C = arg1->unk40; -} - -void fn_1_188E0(StructBssE08* arg0, StructBssE08* arg1, float arg2, float arg3, float arg4) { - fn_1_17F20(arg0, arg1, arg2, arg3); - fn_1_15E9C(arg0, arg1, arg4); -} - -void fn_1_1906C(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8) { - Vec sp2C; - Vec sp20; - Vec sp14; - float var_f31; - float var_f30; - float temp_f29; - float temp_f28; - - sp2C.x = arg2->x; - sp2C.y = arg2->y; - sp2C.z = arg2->z; - sp20.x = arg3->x; - sp20.y = arg3->y; - sp20.z = arg3->z; - var_f31 = Hu3DData[arg0->model[arg1]].rot.y; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } else if (var_f31 >= 360.0f) { - var_f31 -= 360.0f; - } - temp_f29 = arg5; - temp_f28 = arg6; - if (arg7 != 0) { - sp14.x = fn_1_1526C(sp2C.x, sp20.x, temp_f29, temp_f28); - sp14.y = fn_1_1526C(sp2C.y, sp20.y, temp_f29, temp_f28); - sp14.z = fn_1_1526C(sp2C.z, sp20.z, temp_f29, temp_f28); - if (arg1 == 0) { - omSetTra(arg0, sp14.x, sp14.y, sp14.z); - } else { - Hu3DModelPosSet(arg0->model[arg1], sp14.x, sp14.y, sp14.z); - } - } - if (arg8 == 0) { - return; - } - var_f30 = -(atan2d(sp20.z - sp2C.z, sp20.x - sp2C.x) - 90.0); - if (var_f30 < 0.0f) { - var_f30 += 360.0f; - } else if (var_f30 >= 360.0f) { - var_f30 -= 360.0f; - } - if (var_f30 >= 180.0f) { - if (var_f31 - var_f30 >= 180.0f) { - var_f31 -= 360.0f; - } - if (var_f31 - var_f30 < -180.0f) { - var_f31 += 360.0f; - } - } else { - if (var_f31 - var_f30 > 180.0f) { - var_f31 -= 360.0f; - } - if (var_f31 - var_f30 <= -180.0f) { - var_f31 += 360.0f; - } - } - var_f31 = (var_f30 + var_f31 * (arg4 - 1)) / arg4; - if (arg1 == 0) { - arg0->rot.y = var_f31; - } else { - Hu3DData[arg0->model[arg1]].rot.y = var_f31; - } -} - -void fn_1_19530(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6) { - fn_1_1906C(arg0, arg1, arg2, arg3, 0, arg5, arg6, 1, 0); -} - -void fn_1_19590(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6) { - fn_1_1906C(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 0, 1); -} - -void fn_1_195F4(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6) { - fn_1_1906C(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 1, 1); -} - -void fn_1_19658(omObjData* arg0, s32 arg1, float arg2, s32 arg3) { - float var_f31; - float var_f30; - - var_f31 = Hu3DData[arg0->model[arg1]].rot.y; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } else if (var_f31 >= 360.0f) { - var_f31 -= 360.0f; - } - var_f30 = arg2; - if (var_f30 < 0.0f) { - var_f30 += 360.0f; - } else if (var_f30 >= 360.0f) { - var_f30 -= 360.0f; - } - if (var_f30 >= 180.0f) { - if (var_f31 - var_f30 >= 180.0f) { - var_f31 -= 360.0f; - } - if (var_f31 - var_f30 < -180.0f) { - var_f31 += 360.0f; - } - } else { - if (var_f31 - var_f30 > 180.0f) { - var_f31 -= 360.0f; - } - if (var_f31 - var_f30 <= -180.0f) { - var_f31 += 360.0f; - } - } - var_f31 = (var_f30 + var_f31 * (arg3 - 1)) / arg3; - if (arg1 == 0) { - arg0->rot.y = var_f31; - } else { - Hu3DData[arg0->model[arg1]].rot.y = var_f31; - } -} - -void fn_1_19894(StructFn19894* arg0, s32 arg1) { - s32 var_r30; - s32 i; - - var_r30 = -1; - for (i = 0; i < 20; i++) { - if (arg0->unk414[i] == -1) { - var_r30 = i; - break; - } - } - if (var_r30 != -1) { - arg0->unk414[var_r30] = arg1; - } -} - -void fn_1_198F8(StructFn19894* arg0, s32 arg1) { - s32 i; - - for (i = 0; i < 20; i++) { - if (arg1 == -1) { - arg0->unk414[i] = -1; - } else if (arg0->unk414[i] == arg1) { - arg0->unk414[i] = -1; - } - } -} - -void fn_1_19960(StructFn19894* arg0, s32 arg1) { - arg0->unk464 = arg1; -} - -void fn_1_19968(StructFn19894* arg0, s32 arg1) { - arg0->unk464 = -1; -} - -void fn_1_19974(StructFn19894* arg0, s32 arg1) { - arg0->unk04 = arg1; -} - -float fn_1_1997C(s32 arg0, s32 arg1, s32 arg2) { - Vec sp20; - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - - sp20.x = Hu3DData[arg0].pos.x; - sp20.z = Hu3DData[arg0].pos.z; - sp14.x = Hu3DData[arg1].pos.x; - sp14.z = Hu3DData[arg1].pos.z; - sp8.x = sp14.x - sp20.x; - sp8.z = sp14.z - sp20.z; - var_f30 = Hu3DData[arg0].rot.y; - if (var_f30 >= 360.0f) { - var_f30 -= 360.0f; - } else if (var_f30 < 0.0f) { - var_f30 += 360.0f; - } - if (var_f30 >= 360.0f) { - var_f30 -= 360.0f; - } else if (var_f30 < 0.0f) { - var_f30 += 360.0f; - } - if (var_f30 >= 360.0f) { - var_f30 -= 360.0f; - } else if (var_f30 < 0.0f) { - var_f30 += 360.0f; - } - var_f31 = atan2d(sp8.z, sp8.x) - 90.0; - if (arg2 == 0) { - var_f31 *= -1.0f; - } - if (arg2 != 0) { - var_f31 += var_f30; - } else { - var_f31 -= var_f30; - } - if (var_f31 >= 180.0f) { - var_f31 -= 360.0f; - } else if (var_f31 < -180.0f) { - var_f31 += 360.0f; - } - if (var_f31 >= 180.0f) { - var_f31 -= 360.0f; - } else if (var_f31 < -180.0f) { - var_f31 += 360.0f; - } - if (var_f31 >= 180.0f) { - var_f31 -= 360.0f; - } else if (var_f31 < -180.0f) { - var_f31 += 360.0f; - } - return var_f31; -} - -float fn_1_19CC0(s32 arg0, s32 arg1) { - Vec sp24; - Vec sp18; - Vec spC; - - sp24.x = Hu3DData[arg0].pos.x; - sp24.z = Hu3DData[arg0].pos.z; - sp18.x = Hu3DData[arg1].pos.x; - sp18.z = Hu3DData[arg1].pos.z; - spC.x = sp18.x - sp24.x; - spC.z = sp18.z - sp24.z; - return sqrtf(spC.x * spC.x + spC.z * spC.z); -} - -void fn_1_19E50(omObjData* arg0) { - StructFn19894* temp_r31; - float var_f30; - float var_f27; - float var_f28; - float var_f24; - s32 i; - - temp_r31 = arg0->data; - var_f30 = 0.0f; - var_f27 = 0.0f; - var_f28 = 0.0f; - var_f24 = temp_r31->unk474; - if (temp_r31->unk04 != 11) { - if (temp_r31->unk04 == 0 || temp_r31->unk04 == 10) { - temp_r31->unk04 = 10; - temp_r31->unk47C = fn_1_15294(temp_r31->unk47C, 0.0f, 5.0f); - Hu3DMotionForceSet(temp_r31->unk08, temp_r31->unk10, temp_r31->unk468, temp_r31->unk47C); - if (temp_r31->unk410++ >= 10) { - temp_r31->unk410 = 0; - temp_r31->unk04 = 11; - Hu3DMotionNoMotReset(temp_r31->unk08, temp_r31->unk10, temp_r31->unk468); - } - return; - } - if (temp_r31->unk464 >= 0) { - var_f30 = fn_1_1997C(temp_r31->unk08, temp_r31->unk464, temp_r31->unk46C); - if (var_f30 >= temp_r31->unk478 || var_f30 <= -temp_r31->unk478) { - var_f30 = 0.0f; - } - temp_r31->unk47C = fn_1_15294(temp_r31->unk47C, var_f30, temp_r31->unk470); - } else { - for (i = 0; i < 20; i++) { - if (temp_r31->unk414[i] < 0) { - continue; - } - var_f28 = fn_1_19CC0(temp_r31->unk08, temp_r31->unk414[i]); - if (var_f28 <= temp_r31->unk474) { - var_f30 = fn_1_1997C(temp_r31->unk08, temp_r31->unk414[i], temp_r31->unk46C); - if (var_f30 <= temp_r31->unk478 && var_f30 >= -temp_r31->unk478 && var_f28 <= var_f24) { - var_f27 = var_f30; - var_f24 = var_f28; - } - } - } - temp_r31->unk47C = fn_1_15294(temp_r31->unk47C, var_f27, temp_r31->unk470); - } - Hu3DMotionForceSet(temp_r31->unk08, temp_r31->unk10, temp_r31->unk468, temp_r31->unk47C); - } -} - -void fn_1_1A33C(Process* arg0, StructFn19894* arg1, s32 arg2, char* arg3, s32 arg4, s32 arg5) { - fn_1_19974(arg1, 1); - arg1->unk08 = arg2; - strcpy(arg1->unk10, arg3); - fn_1_19968(arg1, -1); - fn_1_198F8(arg1, -1); - arg1->unk470 = 5.0f; - arg1->unk474 = 10000.0f; - arg1->unk478 = 90.0f; - arg1->unk410 = 0; - arg1->unk47C = 0.0f; - arg1->unk468 = arg4; - arg1->unk46C = arg5; - arg1->unk00 = omAddObjEx(arg0, 0x3000, 0, 0, -1, fn_1_19E50); - arg1->unk00->data = arg1; -} diff --git a/src/REL/m436Dll/main.c b/src/REL/m436Dll/main.c deleted file mode 100755 index 95440203..00000000 --- a/src/REL/m436Dll/main.c +++ /dev/null @@ -1,3301 +0,0 @@ -#include "REL/m436Dll.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/gamework_data.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/process.h" -#include "game/window.h" -#include "game/wipe.h" - -#include "ext_math.h" -#include "version.h" - -typedef struct { - /* 0x00 */ omObjData *unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ s32 unk20; - /* 0x24 */ s32 unk24; - /* 0x28 */ s32 unk28; - /* 0x2C */ float unk2C; -} StructBss3E4; // Size 0x30 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; -} StructBss4A4; // Size 0x10 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ float unk04; - /* 0x08 */ s32 unk08[15]; - /* 0x44 */ s32 unk44[15]; - /* 0x80 */ float unk80[15][2]; -} StructBss234; // Size 0xF8 - -typedef struct { - /* 0x00 */ omObjData *unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ char unk08[0xC]; -} StructBss220; // Size 0x14 - -typedef struct { - /* 0x00 */ omObjData *unk00; - /* 0x04 */ Vec unk04[8]; -} StructBss1BC; // Size 0x64 - -typedef struct { - /* 0x00 */ omObjData *unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ float unk08[6]; - /* 0x20 */ char unk20[8]; - /* 0x28 */ float unk28[6]; - /* 0x40 */ char unk40[8]; - /* 0x48 */ float unk48[6]; - /* 0x60 */ char unk60[8]; - /* 0x68 */ float unk68[6]; - /* 0x80 */ char unk80[8]; - /* 0x88 */ float unk88[6]; - /* 0xA0 */ char unkA0[8]; -} StructBssD8; // Size 0xA8 - -typedef struct { - /* 0x00 */ omObjData *unk00; - /* 0x04 */ char unk04[0x10]; -} StructBss1A8; // Size 0x14 - -typedef struct { - /* 0x00 */ omObjData *unk00; - /* 0x04 */ char unk04[0x10]; -} StructBss180; // Size 0x14 - -typedef struct { - /* 0x00 */ char unk00[0x28]; - /* 0x28 */ s32 unk28; - /* 0x2C */ char unk2C[0xC]; -} StructBss3AC; // Size 0x38 - -s32 fn_1_538C(s32 arg0); - -StructBss4A4 lbl_1_bss_4A4; -StructBss3E4 lbl_1_bss_3E4[4]; -StructBss3AC lbl_1_bss_3AC; -s32 lbl_1_bss_3A4[2]; -StructBss32C lbl_1_bss_32C; -StructBss234 lbl_1_bss_234; -StructBss220 lbl_1_bss_220; -StructBss1BC lbl_1_bss_1BC; -StructBss1A8 lbl_1_bss_1A8; -StructBss180 lbl_1_bss_180[2]; -StructBssD8 lbl_1_bss_D8; -StructBssC0 lbl_1_bss_C0; -StructBssC0 lbl_1_bss_A8; -Mtx lbl_1_bss_78; -Mtx lbl_1_bss_48; -Vec lbl_1_bss_3C; -StructBssC0 lbl_1_bss_24; -s32 lbl_1_bss_20_pad; // unused -s32 lbl_1_bss_1C; -s32 lbl_1_bss_18; -s32 lbl_1_bss_14; -s32 lbl_1_bss_10; -s32 lbl_1_bss_C; -s32 lbl_1_bss_8; -s32 lbl_1_bss_4; -Process *lbl_1_bss_0; - -s32 lbl_1_data_0[] - = { DATA_MAKE_NUM(DATADIR_M436, 13), DATA_MAKE_NUM(DATADIR_M436, 14), DATA_MAKE_NUM(DATADIR_M436, 15), DATA_MAKE_NUM(DATADIR_M436, 16), - DATA_MAKE_NUM(DATADIR_M436, 17), DATA_MAKE_NUM(DATADIR_M436, 18), DATA_MAKE_NUM(DATADIR_M436, 19), DATA_MAKE_NUM(DATADIR_M436, 20) }; - -s32 lbl_1_data_20[] = { MAKE_MESSID(29, 23), MAKE_MESSID(29, 24), MAKE_MESSID(29, 30), MAKE_MESSID(29, 26), MAKE_MESSID(29, 28), MAKE_MESSID(29, 27), - MAKE_MESSID(29, 25), MAKE_MESSID(29, 29) }; - -s32 lbl_1_data_40[][5] = { { 91, 105, 126, 141, -1 }, { 91, 105, 126, 141, -1 }, { 124, 137, -1, -1, -1 }, { 85, 100, 127, -1, -1 }, - { 124, 139, -1, -1, -1 }, { 85, 97, 127, 139, -1 }, { 127, 137, -1, -1, -1 }, { 79, 95, 109, 127, -1 } }; - -s32 lbl_1_data_E0 = -1; -s32 lbl_1_data_E4 = -1; -s32 lbl_1_data_E8 = -1; - -void fn_1_0(void) -{ - s32 i; - - while (TRUE) { - HuPrcVSleep(); - if (lbl_1_data_E0 == -1 || lbl_1_data_E4 == -1 || lbl_1_data_E8 == -1 || lbl_1_data_E4 != Hu3DMotionIDGet(lbl_1_data_E0)) { - continue; - } - for (i = 0; i < 5; i++) { - if (lbl_1_data_40[lbl_1_data_E8][i] != -1 && Hu3DMotionTimeGet(lbl_1_data_E0) >= lbl_1_data_40[lbl_1_data_E8][i]) { - OSReport("KE-System CHR:%d TIME:%d\n", lbl_1_data_E8, lbl_1_data_40[lbl_1_data_E8][i]); - HuAudFXPlay(0x6D8); - lbl_1_data_40[lbl_1_data_E8][i] = -1; - } - } - } -} - -void fn_1_1A8(void) -{ - s32 var_r31; - - var_r31 = Hu3DGLightCreate(0.0f, 1000.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0xFF, 0xFF, 0xFF); - Hu3DGLightInfinitytSet(var_r31); -} - -void fn_1_230(void) -{ - StructBss32C *var_r31; - - var_r31 = &lbl_1_bss_32C; - if (HuPadBtn[0] & 0x200) { - if (HuPadBtn[0] & 0x100) { - var_r31->unk0C -= HuPadStkY[0] / 10.0f; - } - else { - var_r31->unk04 += HuPadStkX[0] / 10.0f; - var_r31->unk08 += HuPadStkY[0] / 10.0f; - } - } - if (HuPadBtn[0] & 0x800) { - var_r31->unk1C -= HuPadStkY[0] / 100.0f; - var_r31->unk20 += HuPadStkX[0] / 100.0f; - } - if (HuPadBtn[0] & 0x400) { - var_r31->unk34 -= HuPadStkY[0] / 10.0f; - } - if (var_r31->unk1C >= 360.0f) { - var_r31->unk1C -= 360.0f; - } - if (var_r31->unk1C < 0.0f) { - var_r31->unk1C += 360.0f; - } - if (var_r31->unk20 >= 360.0f) { - var_r31->unk20 -= 360.0f; - } - if (var_r31->unk20 < 0.0f) { - var_r31->unk20 += 360.0f; - } - print8(16, 100, 1.0f, ">>>>>>>>>> CAMERA TEST <<<<<<<<<<"); - print8(16, 110, 1.0f, "CENTER : %.2f, %.2f, %.2f", var_r31->unk04, var_r31->unk08, var_r31->unk0C); - print8(16, 120, 1.0f, "ROT : %.2f, %.2f, %.2f", var_r31->unk1C, var_r31->unk20, var_r31->unk24); - print8(16, 130, 1.0f, "ZOOM : %.2f", var_r31->unk34); -} - -void fn_1_614(s32 arg0, s32 arg1, float arg2) -{ - StructBss32C *var_r31; - - var_r31 = &lbl_1_bss_32C; - var_r31->unk40[arg0] = arg1; - if (var_r31->unk5C[arg0] < 0.0f) { - var_r31->unk5C[arg0] = -arg2; - } - else { - var_r31->unk5C[arg0] = arg2; - } -} - -void fn_1_67C(s32 arg0, float arg1) -{ - fn_1_614(arg0, -1, arg1); -} - -float fn_1_6E8(s32 arg0) -{ - StructBss32C *var_r31; - - var_r31 = &lbl_1_bss_32C; - if (var_r31->unk5C[arg0] != 0.0f) { - var_r31->unk5C[arg0] *= -0.9f; - if (var_r31->unk40[arg0] == -1) { - if (var_r31->unk5C[arg0] >= -0.5f && var_r31->unk5C[arg0] <= 0.5f) { - var_r31->unk5C[arg0] = 0.0f; - } - } - else { - var_r31->unk40[arg0]--; - if (var_r31->unk40[arg0] <= 0) { - var_r31->unk40[arg0] = 0; - var_r31->unk5C[arg0] = 0.0f; - } - } - } - return var_r31->unk5C[arg0]; -} - -void fn_1_818(void) -{ - StructBss32C *var_r31; - - var_r31 = &lbl_1_bss_32C; - var_r31->unk04 = 0.0f; - var_r31->unk08 = 225.0f; - var_r31->unk0C = 1740.0f; - var_r31->unk1C = -10.0f; - var_r31->unk20 = 0.0f; - var_r31->unk24 = 0.0f; - var_r31->unk34 = 300.0f; -} - -void fn_1_8A4(void (*arg0)(void)) -{ - StructBss32C *var_r31; - - var_r31 = &lbl_1_bss_32C; - var_r31->unk00 = arg0; -} - -void fn_1_8C4(omObjData *arg0) -{ - StructBss32C *var_r31; - - var_r31 = &lbl_1_bss_32C; - if (var_r31->unk00 != NULL) { - var_r31->unk00(); - } - Center.x = var_r31->unk04 + fn_1_6E8(0); - Center.y = var_r31->unk08 + fn_1_6E8(1); - Center.z = var_r31->unk0C + fn_1_6E8(2); - CRot.x = var_r31->unk1C + fn_1_6E8(3); - CRot.y = var_r31->unk20 + fn_1_6E8(4); - CRot.z = var_r31->unk24 + fn_1_6E8(5); - CZoom = var_r31->unk34 + fn_1_6E8(6); -} - -void fn_1_F6C(void) -{ - Hu3DCameraCreate(1); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraPerspectiveSet(1, 45.0f, 0.1f, 10000.0f, 1.2f); - fn_1_8A4(fn_1_818); - omAddObjEx(lbl_1_bss_0, 0x7FDA, 0, 0, -1, omOutView); - omAddObjEx(lbl_1_bss_0, 0x7FD9, 0, 0, -1, fn_1_8C4); -} - -void fn_1_1084(void) -{ - Vec sp20 = { 0.0f, 2500.0f, 1.0f }; - Vec sp14 = { 0.0f, 0.0f, 0.0f }; - Vec sp8 = { 0.0f, 1.0f, 0.0f }; - - Hu3DShadowCreate(45.0f, 2000.0f, 25000.0f); - Hu3DShadowTPLvlSet(0.8f); - Hu3DShadowPosSet(&sp20, &sp8, &sp14); -} - -void fn_1_1148(s32 arg0, float arg1, float arg2, s32 arg3) -{ - WindowData *temp_r29; - float temp_f29; - float temp_f28; - float temp_f25; - float temp_f24; - float temp_f27; - float temp_f26; - float var_f31; - float var_f30; - float var_f23; - float var_f22; - float var_f21; - float var_f20; - s32 i; - - temp_r29 = &winData[arg0]; - temp_f29 = temp_r29->pos_x; - temp_f28 = temp_r29->pos_y; - temp_f25 = temp_r29->w; - temp_f24 = temp_r29->h; - var_f31 = temp_f29 + temp_f25 * arg1; - temp_f27 = 4.0f / temp_f25; - if (var_f31 + 4.0f - (temp_f29 + temp_f25) >= 0.0f) { - var_f31 = temp_f29 + temp_f25 - 4.0f; - } - else { - if (temp_f29 - (var_f31 - 2.0f) >= 0.0f) { - var_f31 = temp_f29; - } - else { - var_f31 -= 2.0f; - } - } - var_f30 = temp_f28 + temp_f24 * arg2; - temp_f26 = 4.0f / temp_f24; - if (var_f30 + 4.0f - (temp_f28 + temp_f24) >= 0.0f) { - var_f30 = temp_f28 + temp_f24 - 4.0f; - } - else { - if (temp_f28 - (var_f30 - 2.0f) >= 0.0f) { - var_f30 = temp_f28; - } - else { - var_f30 -= 2.0f; - } - } - if (arg3 != 0) { - HuWinPosSet(arg0, var_f31, var_f30); - HuWinScaleSet(arg0, temp_f27, temp_f26); - var_f23 = var_f31; - var_f21 = temp_f27; - var_f22 = var_f30; - var_f20 = temp_f26; - } - else { - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - var_f23 = temp_f29; - var_f21 = 1.0f; - var_f22 = temp_f28; - var_f20 = 1.0f; - } - HuWinDispOn(arg0); - for (i = 0; i <= 15; i++) { - HuPrcVSleep(); - if (arg3 != 0) { - if (i <= 10) { - var_f23 = fn_1_11164(var_f31, temp_f29, i, 10.0f); - var_f21 = fn_1_11164(temp_f27, 1.0f, i, 10.0f); - } - else { - var_f22 = fn_1_11164(var_f30, temp_f28, i - 10, 5.0f); - var_f20 = fn_1_11164(temp_f26, 1.0f, i - 10, 5.0f); - } - } - else { - if (i <= 10) { - var_f22 = fn_1_11164(temp_f28, var_f30, i, 10.0f); - var_f20 = fn_1_11164(1.0f, temp_f26, i, 10.0f); - } - else { - var_f23 = fn_1_11164(temp_f29, var_f31, i - 10, 5.0f); - var_f21 = fn_1_11164(1.0f, temp_f27, i - 10, 5.0f); - } - } - HuWinPosSet(arg0, var_f23, var_f22); - HuWinScaleSet(arg0, var_f21, var_f20); - } - if (arg3 != 0) { - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - } - else { - HuWinPosSet(arg0, var_f31, var_f30); - HuWinScaleSet(arg0, temp_f27, temp_f26); - } - HuPrcVSleep(); -} - -void fn_1_178C(void) -{ - HuWinInit(1); -} - -void fn_1_17B0(s32 arg0, float arg1, float arg2) -{ - WindowData *temp_r31; - float temp_f29; - float temp_f28; - float temp_f27; - float temp_f26; - float temp_f25; - float temp_f24; - float var_f31; - float var_f30; - float temp_f23; - float temp_f22; - float temp_f21; - float temp_f20; - s32 i; - - temp_r31 = &winData[arg0]; - temp_f29 = temp_r31->pos_x; - temp_f28 = temp_r31->pos_y; - temp_f27 = temp_r31->w; - temp_f26 = temp_r31->h; - var_f31 = temp_f29 + temp_f27 * arg1; - temp_f25 = 4.0f / temp_f27; - if (var_f31 + 4.0f - (temp_f29 + temp_f27) >= 0.0f) { - var_f31 = temp_f29 + temp_f27 - 4.0f; - } - else { - if (temp_f29 - (var_f31 - 2.0f) >= 0.0f) { - var_f31 = temp_f29; - } - else { - var_f31 = var_f31 - 2.0f; - } - } - var_f30 = temp_f28 + temp_f26 * arg2; - temp_f24 = 4.0f / temp_f26; - if (var_f30 + 4.0f - (temp_f28 + temp_f26) >= 0.0f) { - var_f30 = temp_f28 + temp_f26 - 4.0f; - } - else { - if (temp_f28 - (var_f30 - 2.0f) >= 0.0f) { - var_f30 = temp_f28; - } - else { - var_f30 = var_f30 - 2.0f; - } - } - HuWinPosSet(arg0, var_f31, var_f30); - HuWinScaleSet(arg0, temp_f25, temp_f24); - HuPrcVSleep(); - for (i = 0; i < 10; i++) { - temp_f23 = fn_1_11164(var_f31, temp_f29, i, 10.0f); - temp_f21 = fn_1_11164(temp_f25, 1.0f, i, 10.0f); - temp_f22 = fn_1_11164(var_f30, temp_f28, i, 10.0f); - temp_f20 = fn_1_11164(temp_f24, 1.0f, i, 10.0f); - HuWinPosSet(arg0, temp_f23, temp_f22); - HuWinScaleSet(arg0, temp_f21, temp_f20); - HuPrcVSleep(); - } - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - HuPrcVSleep(); -} - -void fn_1_1C08(s32 arg0, float arg1, float arg2) -{ - WindowData *temp_r31; - float temp_f29; - float temp_f28; - float temp_f27; - float temp_f26; - float temp_f25; - float temp_f24; - float var_f31; - float var_f30; - float temp_f23; - float temp_f22; - float temp_f21; - float temp_f20; - s32 i; - - temp_r31 = &winData[arg0]; - temp_f29 = temp_r31->pos_x; - temp_f28 = temp_r31->pos_y; - temp_f27 = temp_r31->w; - temp_f26 = temp_r31->h; - var_f31 = temp_f29 + temp_f27 * arg1; - temp_f25 = 4.0f / temp_f27; - if (var_f31 + 4.0f - (temp_f29 + temp_f27) >= 0.0f) { - var_f31 = temp_f29 + temp_f27 - 4.0f; - } - else { - if (temp_f29 - (var_f31 - 2.0f) >= 0.0f) { - var_f31 = temp_f29; - } - else { - var_f31 = var_f31 - 2.0f; - } - } - var_f30 = temp_f28 + temp_f26 * arg2; - temp_f24 = 4.0f / temp_f26; - if (var_f30 + 4.0f - (temp_f28 + temp_f26) >= 0.0f) { - var_f30 = temp_f28 + temp_f26 - 4.0f; - } - else { - if (temp_f28 - (var_f30 - 2.0f) >= 0.0f) { - var_f30 = temp_f28; - } - else { - var_f30 = var_f30 - 2.0f; - } - } - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - HuPrcVSleep(); - for (i = 0; i < 10; i++) { - temp_f23 = fn_1_112F4(temp_f29, var_f31, i, 10.0f); - temp_f21 = fn_1_112F4(1.0f, temp_f25, i, 10.0f); - temp_f22 = fn_1_112F4(temp_f28, var_f30, i, 10.0f); - temp_f20 = fn_1_112F4(1.0f, temp_f24, i, 10.0f); - HuWinPosSet(arg0, temp_f23, temp_f22); - HuWinScaleSet(arg0, temp_f21, temp_f20); - HuPrcVSleep(); - } - HuWinPosSet(arg0, var_f31, var_f30); - HuWinScaleSet(arg0, temp_f25, temp_f24); - HuPrcVSleep(); -} - -s32 fn_1_2060(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s32 arg4) -{ - s32 sp20[][5] = { { 0xFF, 0xFF, 0xCC, 0x00, 0x09 }, { 0xCC, 0xFF, 0xFF, 0x00, 0x09 }, { 0xFF, 0xCC, 0xFF, 0x00, 0x09 } }; - float sp14[] = { 0.9f, 0.9f, 0.9f }; - GXColor sp10; - s32 temp_r31; - - temp_r31 = HuWinCreate(arg0, arg1, arg2, arg3, 1); - sp10.r = sp20[arg4][0]; - sp10.g = sp20[arg4][1]; - sp10.b = sp20[arg4][2]; - HuWinBGColSet(temp_r31, &sp10); - HuWinBGTPLvlSet(temp_r31, sp14[arg4]); - fn_1_1148(temp_r31, 0.5f, 0.5f, 1); - return temp_r31; -} - -s32 fn_1_2230(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s32 arg4) -{ - return fn_1_2060(arg0, arg1, arg2, arg3, arg4); -} - -void fn_1_2400(s32 arg0) -{ - HuWinMesSet(arg0, MAKE_MESSID(29, 22)); - HuPrcVSleep(); - fn_1_1148(arg0, 0.5f, 0.5f, 0); - HuWinKill(arg0); -} - -void fn_1_2468(s32 arg0) -{ - fn_1_2400(arg0); -} - -void fn_1_24D0(s32 arg0, s32 arg1) -{ - s32 i; - s32 var_r30; - s32 temp_r28; - - var_r30 = 0; - temp_r28 = GWMessDelayGet(); - if (arg1 > 0) { - HuPrcSleep(arg1); - return; - } - HuWinComKeyReset(); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_3E4[i].unk0C == 0) { - var_r30 = 1; - winData[arg0].active_pad = 0xF; - } - } - if (var_r30 == 0) { - winData[arg0].active_pad = 0xF; - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, temp_r28); - } - HuWinMesWait(arg0); - HuWinComKeyReset(); -} - -void fn_1_25B8(s32 arg0) -{ - s32 var_r31; - s32 temp_r28; - s32 i; - - var_r31 = 0; - temp_r28 = GWMessDelayGet(); - HuWinComKeyReset(); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_3E4[i].unk0C == 0) { - var_r31 = 1; - winData[arg0].active_pad = 0xF; - } - } - if (var_r31 == 0) { - winData[arg0].active_pad = 0xF; - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, temp_r28); - } - var_r31 = HuWinChoiceGet(arg0, 1); - if (var_r31 == -1 || var_r31 == 1) { - lbl_1_bss_8 = 0; - } - else { - lbl_1_bss_8 = 1; - } - HuWinComKeyReset(); -} - -void fn_1_26D4(float *arg0, s32 arg1) -{ - float spC[2]; - - HuWinMesMaxSizeGet(1, spC, arg1); - if (spC[0] > arg0[0]) { - arg0[0] = spC[0]; - } - if (spC[1] > arg0[1]) { - arg0[1] = spC[1]; - } -} - -void fn_1_2744(s32 arg0, s32 arg1) -{ - winData[arg0].mess_color = 0; - winData[arg0].mess_shadow_color = 9; - winData[arg0].attr |= 0x80; - HuWinMesSet(arg0, arg1); -} - -void fn_1_27C8(s32 arg0) -{ - if (lbl_1_bss_10 == 0) { - lbl_1_bss_10 = 1; - lbl_1_bss_C = arg0 * REFRESH_RATE; - } -} - -s32 fn_1_2800(void) -{ - if (lbl_1_bss_10 == 3) { - return 1; - } - else { - return 0; - } -} - -void fn_1_2824(void) -{ - if (lbl_1_bss_10 == 2) { - lbl_1_bss_10 = 3; - lbl_1_bss_C = 30; - } -} - -s32 lbl_1_data_16C = -1; - -void fn_1_285C(omObjData *arg0) -{ - switch (lbl_1_bss_10) { - case 1: - if (lbl_1_data_16C == -1) { - lbl_1_data_16C = MGSeqCreate(1, lbl_1_bss_C / REFRESH_RATE, -1, -1); - } - lbl_1_bss_10 = 2; - break; - case 2: - lbl_1_bss_C--; - if (lbl_1_data_16C != -1) { - MGSeqParamSet(lbl_1_data_16C, 1, (lbl_1_bss_C + REFRESH_RATE - 1) / REFRESH_RATE); - } - if (lbl_1_bss_C <= 0) { - lbl_1_bss_C = 30; - lbl_1_bss_10 = 3; - } - break; - case 3: - if (lbl_1_data_16C != -1) { - MGSeqParamSet(lbl_1_data_16C, 2, -1); - lbl_1_data_16C = -1; - } - lbl_1_bss_C = 0; - lbl_1_bss_10 = 0; - break; - } -} - -void fn_1_2A2C(void) -{ - lbl_1_bss_C = 0; - lbl_1_bss_10 = 0; - omAddObjEx(lbl_1_bss_0, 0x2000, 0, 0, -1, fn_1_285C); -} - -void fn_1_2A90(s32 arg0) -{ - float spC[2]; - float temp_f31; - float temp_f30; - float temp_f28; - float temp_f29; - WindowData *temp_r29; - StructBss234 *var_r31; - s32 i; - - temp_r29 = &winData[arg0]; - var_r31 = &lbl_1_bss_234; - temp_f31 = temp_r29->pos_x; - temp_f30 = temp_r29->pos_y; - temp_f28 = temp_r29->h; - temp_f29 = temp_r29->w; - for (i = 0; i < var_r31->unk00; i++) { - HuWinMesMaxSizeGet(1, spC, lbl_1_data_20[var_r31->unk44[i]]); - var_r31->unk08[i] - = HuWinCreate(temp_f31 + temp_f29 + 16.0f + var_r31->unk80[i][0], temp_f30 + 26.0f + var_r31->unk80[i][1], spC[0], spC[1], 1); - winData[var_r31->unk08[i]].mess_shadow_color = 9; - HuWinMesColSet(var_r31->unk08[i], 0); - HuWinScissorSet(var_r31->unk08[i], temp_f31 + 20.0f, temp_f30, temp_f29 + 20.0f, temp_f28); - HuWinBGTPLvlSet(var_r31->unk08[i], 0.0f); - HuPrcVSleep(); - fn_1_2744(var_r31->unk08[i], lbl_1_data_20[var_r31->unk44[i]]); - } - var_r31->unk04 = 4.0f; - HuPrcVSleep(); -} - -void fn_1_2D94(s32 arg0) -{ - float sp10[2]; - float temp_f31; - float temp_f29; - float spC; - float temp_f30; - WindowData *temp_r30; - StructBss234 *var_r31; - s32 i; - - temp_r30 = &winData[arg0]; - var_r31 = &lbl_1_bss_234; - temp_f31 = temp_r30->pos_x; - temp_f29 = temp_r30->pos_y; - spC = temp_r30->h; - temp_f30 = temp_r30->w; - while (TRUE) { - for (i = 0; i < var_r31->unk00; i++) { - var_r31->unk80[i][0] -= var_r31->unk04; - HuWinPosSet(var_r31->unk08[i], temp_f31 + temp_f30 + 16.0f + var_r31->unk80[i][0], 26.0f + temp_f29 + var_r31->unk80[i][1]); - } - if (var_r31->unk00 >= 2) { - HuWinMesMaxSizeGet(1, sp10, lbl_1_data_20[var_r31->unk44[2]]); - if (temp_f31 + temp_f30 + 16.0f + var_r31->unk80[2][0] + sp10[0] <= temp_f31 + temp_f30 - 16.0f) { - var_r31->unk04 += 0.75f; - } - } - HuWinMesMaxSizeGet(1, sp10, lbl_1_data_20[var_r31->unk44[var_r31->unk00 - 1]]); - if (temp_f31 + temp_f30 + 16.0f + var_r31->unk80[var_r31->unk00 - 1][0] + sp10[0] <= temp_f31 - 16.0f) { - break; - } - HuPrcVSleep(); - } - HuPrcVSleep(); -} - -void fn_1_3020(void) -{ - s32 i; - StructBss234 *var_r30; - - var_r30 = &lbl_1_bss_234; - for (i = 0; i < var_r30->unk00; i++) { - HuWinKill(var_r30->unk08[i]); - HuPrcVSleep(); - } - HuPrcVSleep(); -} - -void fn_1_3088(void) -{ - float sp8[2]; - StructBss234 *var_r31; - s32 i; - - var_r31 = &lbl_1_bss_234; - var_r31->unk00 = rand8() % 2 + 10; - if (var_r31->unk00 >= 15) { - var_r31->unk00 = 15; - } - for (i = 0; i < 15; i++) { - var_r31->unk44[i] = -1; - } - for (i = 0; i < var_r31->unk00; i++) { - var_r31->unk44[i] = rand8() % 8; - } - var_r31->unk80[0][0] = 0.0f; - var_r31->unk80[0][1] = 0.0f; - for (i = 1; i < var_r31->unk00; i++) { - HuWinMesMaxSizeGet(1, sp8, lbl_1_data_20[var_r31->unk44[i - 1]]); - var_r31->unk80[i][0] = var_r31->unk80[i - 1][0] + sp8[0] + 8.0f; - var_r31->unk80[i][1] = var_r31->unk80[0][1]; - } -} - -void fn_1_31FC(omObjData *arg0) -{ - StructBss220 *var_r29; - ModelData *temp_r30; - s32 i; - - var_r29 = &lbl_1_bss_220; - temp_r30 = &Hu3DData[arg0->model[8]]; - for (i = 0; i < 3; i++) { - Hu3DData[arg0->model[i + 5]].rot.y += 360.0f / (2500.0f + 2500.0f * i); - } - if (arg0->work[0] == 0 && arg0->work[2]++ >= 600) { - arg0->work[2] = 0; - if (rand8() % 2 == 0) { - arg0->work[0] = 1; - } - } - switch (arg0->work[0]) { - case 10: - var_r29->unk04 = 11; - fn_1_11818(arg0, 10, 12, 1, 0); - Hu3DModelAttrReset(arg0->model[10], HU3D_ATTR_DISPOFF); - fn_1_614(1, 10, 4.0f); - HuAudFXPlay(0x6CF); - /* fallthrough */ - case 1: - case 11: - fn_1_11818(arg0, 0, 0, 1, 0); - fn_1_11818(arg0, 3, 3, 1, 0); - fn_1_11818(arg0, 4, 4, 1, 0); - fn_1_11818(arg0, 5, 5, 1, 0); - fn_1_11818(arg0, 6, 6, 1, 0); - fn_1_11818(arg0, 7, 7, 1, 0); - if (arg0->work[0] == 1) { - HuAudFXPlay(0x6CE); - } - arg0->work[0] = 99; - break; - case 2: - arg0->work[0] = 3; - fn_1_11818(arg0, 0, 0, 1, 0); - fn_1_11818(arg0, 1, 1, 1, 0); - fn_1_11818(arg0, 2, 2, 1, 0); - fn_1_11818(arg0, 3, 3, 1, 0); - fn_1_11818(arg0, 4, 4, 1, 0); - fn_1_11818(arg0, 5, 5, 1, 0); - fn_1_11818(arg0, 6, 6, 1, 0); - fn_1_11818(arg0, 7, 7, 1, 0); - fn_1_11818(arg0, 9, 9, 1, 0); - Hu3DModelAttrReset(arg0->model[9], HU3D_ATTR_DISPOFF); - HuAudFXPlay(0x6D0); - break; - case 3: - fn_1_614(6, -1, 8.0f); - if (Hu3DMotionTimeGet(arg0->model[3]) >= 30.0f) { - arg0->work[0] = 99; - fn_1_11818(arg0, 8, 8, 0, 0); - fn_1_614(6, -1, 128.0f); - HuAudFXPlay(0x6DA); - omVibrate(fn_1_538C(0), 12, 12, 0); - omVibrate(fn_1_538C(1), 12, 12, 0); - omVibrate(fn_1_538C(2), 12, 12, 0); - omVibrate(fn_1_538C(3), 12, 12, 0); - Hu3DModelAttrReset(arg0->model[8], HU3D_ATTR_DISPOFF); - } - break; - case 99: - if (Hu3DMotionEndCheck(arg0->model[3]) != 0) { - arg0->work[0] = 0; - fn_1_11818(arg0, 3, 10, 1, 1); - fn_1_11818(arg0, 4, 11, 1, 1); - Hu3DModelAttrSet(arg0->model[9], HU3D_ATTR_DISPOFF); - } - break; - } - if (Hu3DMotionTimeGet(arg0->model[10]) >= 25.0f && var_r29->unk04 == 0) { - var_r29->unk04 = 1; - fn_1_614(1, 10, 4.0f); - } - else if (Hu3DMotionTimeGet(arg0->model[10]) >= 40.0f && var_r29->unk04 == 1) { - var_r29->unk04 = 2; - fn_1_614(1, 10, 4.0f); - } - switch (arg0->work[1]) { - case 1: - if (arg0->work[3] >= 360.0f) { - arg0->work[3] = 0; - } - temp_r30->pos.y = fn_1_110FC(temp_r30->pos.y, fn_1_1122C(210.0f, 220.0f, arg0->work[3]++, 360.0f), 30.0f); - break; - case 2: - temp_r30->pos.y = fn_1_110FC(temp_r30->pos.y, 60.0f, 20.0f); - arg0->work[3] = 0; - break; - case 3: - temp_r30->pos.y = fn_1_110FC(temp_r30->pos.y, 260.0f, 20.0f); - arg0->work[3] = 0; - break; - } -} - -void fn_1_39B4(omObjData *arg0) -{ - fn_1_11818(arg0, 0, 0, 1, 2); - Hu3DModelPosSet(arg0->model[1], 0.0f, 0.0f, -680.0f); - fn_1_11818(arg0, 1, 1, 1, 2); - Hu3DModelPosSet(arg0->model[2], 0.0f, 0.0f, -680.0f); - fn_1_11818(arg0, 2, 2, 1, 2); - Hu3DModelPosSet(arg0->model[3], 525.0f, 0.0f, -1150.0f); - fn_1_11818(arg0, 3, 10, 1, 1); - Hu3DModelPosSet(arg0->model[4], -525.0f, 0.0f, -1150.0f); - fn_1_11818(arg0, 4, 11, 1, 1); - fn_1_11818(arg0, 5, 5, 1, 2); - fn_1_11818(arg0, 6, 6, 1, 2); - fn_1_11818(arg0, 7, 7, 1, 2); - Hu3DModelPosSet(arg0->model[8], 0.0f, 210.0f, -320.0f); - Hu3DModelAttrSet(arg0->model[8], HU3D_ATTR_DISPOFF); - fn_1_11818(arg0, 8, 8, 1, 1); - Hu3DModelAttrSet(arg0->model[9], HU3D_ATTR_DISPOFF); - fn_1_11818(arg0, 9, 9, 1, 2); - arg0->work[0] = arg0->work[1] = arg0->work[2] = arg0->work[3] = 0; -} - -void fn_1_3BF0(omObjData *arg0) -{ - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 21)); - arg0->motion[0] = Hu3DMotionIDGet(arg0->model[0]); - Hu3DModelShadowMapSet(arg0->model[0]); - fn_1_11818(arg0, 0, 0, 1, 2); - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 22)); - arg0->motion[1] = Hu3DMotionIDGet(arg0->model[1]); - Hu3DModelPosSet(arg0->model[1], 0.0f, 0.0f, -680.0f); - Hu3DModelShadowMapSet(arg0->model[1]); - fn_1_11818(arg0, 1, 1, 1, 2); - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 23)); - arg0->motion[2] = Hu3DMotionIDGet(arg0->model[2]); - Hu3DModelPosSet(arg0->model[2], 0.0f, 0.0f, -680.0f); - Hu3DModelShadowSet(arg0->model[2]); - fn_1_11818(arg0, 2, 2, 1, 2); - arg0->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 24)); - arg0->motion[3] = Hu3DMotionIDGet(arg0->model[3]); - arg0->motion[10] = Hu3DJointMotionFile(arg0->model[3], DATA_MAKE_NUM(DATADIR_M436, 26)); - Hu3DModelPosSet(arg0->model[3], 525.0f, 0.0f, -1150.0f); - Hu3DModelShadowSet(arg0->model[3]); - fn_1_11818(arg0, 3, 10, 1, 1); - arg0->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 25)); - arg0->motion[4] = Hu3DMotionIDGet(arg0->model[4]); - arg0->motion[11] = Hu3DJointMotionFile(arg0->model[4], DATA_MAKE_NUM(DATADIR_M436, 27)); - Hu3DModelPosSet(arg0->model[4], -525.0f, 0.0f, -1150.0f); - Hu3DModelShadowSet(arg0->model[4]); - fn_1_11818(arg0, 4, 11, 1, 1); - arg0->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 10)); - arg0->motion[5] = Hu3DMotionIDGet(arg0->model[5]); - Hu3DModelPosSet(arg0->model[5], 0.0f, 150.0f, 0.0f); - Hu3DModelLayerSet(arg0->model[5], 1); - fn_1_11818(arg0, 5, 5, 1, 2); - arg0->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 11)); - arg0->motion[6] = Hu3DMotionIDGet(arg0->model[6]); - Hu3DModelPosSet(arg0->model[6], 0.0f, 150.0f, 0.0f); - fn_1_11818(arg0, 6, 6, 1, 2); - arg0->model[7] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 12)); - arg0->motion[7] = Hu3DMotionIDGet(arg0->model[7]); - Hu3DModelPosSet(arg0->model[7], 0.0f, 150.0f, 0.0f); - fn_1_11818(arg0, 7, 7, 1, 2); - arg0->model[8] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 8)); - arg0->motion[8] = Hu3DMotionIDGet(arg0->model[8]); - Hu3DModelPosSet(arg0->model[8], 0.0f, 210.0f, -320.0f); - Hu3DModelShadowSet(arg0->model[8]); - Hu3DModelAttrSet(arg0->model[8], HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(arg0->model[8], 2); - fn_1_11818(arg0, 8, 8, 1, 1); - arg0->model[9] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 28)); - arg0->motion[9] = Hu3DMotionIDGet(arg0->model[9]); - Hu3DModelAttrSet(arg0->model[9], HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(arg0->model[9], 2); - fn_1_11818(arg0, 9, 9, 1, 2); - arg0->model[10] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 29)); - arg0->motion[12] = Hu3DMotionIDGet(arg0->model[10]); - Hu3DModelAttrSet(arg0->model[10], HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(arg0->model[10], 2); - fn_1_11818(arg0, 10, 12, 1, 2); - arg0->work[0] = arg0->work[1] = arg0->work[2] = arg0->work[3] = 0; - arg0->func = fn_1_31FC; -} - -void fn_1_420C(omObjData *arg0) -{ - s32 i; - - switch (arg0->work[0]) { - case 1: - arg0->work[0] = 0; - for (i = 0; i < 8; i++) { - Hu3DModelAttrReset(arg0->model[i + 1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(arg0->model[i + 9], HU3D_ATTR_DISPOFF); - fn_1_11818(arg0, i + 1, i + 1, 1, 0); - } - break; - case 2: - arg0->work[0] = 0; - Hu3DModelAttrReset(arg0->model[arg0->work[1] + 1], HU3D_ATTR_DISPOFF); - fn_1_11818(arg0, arg0->work[1] + 1, arg0->work[1] + 1, 1, 0); - break; - } -} - -void fn_1_4304(omObjData *arg0) -{ - StructBss1BC *var_r30; - s32 i; - - var_r30 = &lbl_1_bss_1BC; - for (i = 0; i < 8; i++) { - var_r30->unk04[i].x = -2000.0 * cosd(287.5f - 5.0f * i); - var_r30->unk04[i].y = 0.0f; - var_r30->unk04[i].z = -2000.0 * sind(287.5f - 5.0f * i) - 1500.0; - } - for (i = 0; i < 8; i++) { - Hu3DModelPosSet(arg0->model[i + 1], var_r30->unk04[i].x, var_r30->unk04[i].y + 65.0f, var_r30->unk04[i].z); - Hu3DModelAttrSet(arg0->model[i + 1], HU3D_ATTR_DISPOFF); - fn_1_11818(arg0, i + 1, i + 1, 1, 2); - } - for (i = 0; i < 8; i++) { - Hu3DModelPosSet(arg0->model[i + 9], var_r30->unk04[i].x, var_r30->unk04[i].y, var_r30->unk04[i].z); - Hu3DModelAttrSet(arg0->model[i + 9], HU3D_ATTR_DISPOFF); - } - arg0->work[0] = arg0->work[1] = arg0->work[2] = arg0->work[3] = 0; -} - -void fn_1_4594(omObjData *arg0) -{ - StructBss1BC *var_r30; - s32 i; - - var_r30 = &lbl_1_bss_1BC; - for (i = 0; i < 8; i++) { - var_r30->unk04[i].x = -2000.0 * cosd(287.5f - 5.0f * i); - var_r30->unk04[i].y = 0.0f; - var_r30->unk04[i].z = -2000.0 * sind(287.5f - 5.0f * i) - 1500.0; - } - for (i = 0; i < 8; i++) { - arg0->model[i + 1] = Hu3DModelCreateFile(lbl_1_data_0[i]); - arg0->motion[i + 1] = Hu3DMotionIDGet(arg0->model[i + 1]); - Hu3DModelPosSet(arg0->model[i + 1], var_r30->unk04[i].x, 65.0f + var_r30->unk04[i].y, var_r30->unk04[i].z); - Hu3DModelAttrSet(arg0->model[i + 1], HU3D_ATTR_DISPOFF); - fn_1_11818(arg0, i + 1, i + 1, 1, 2); - } - for (i = 0; i < 8; i++) { - arg0->model[i + 9] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 9)); - Hu3DModelPosSet(arg0->model[i + 9], var_r30->unk04[i].x, var_r30->unk04[i].y, var_r30->unk04[i].z); - Hu3DModelShadowSet(arg0->model[i + 9]); - } - arg0->work[0] = arg0->work[1] = arg0->work[2] = arg0->work[3] = 0; - arg0->func = fn_1_420C; -} - -void fn_1_48AC(omObjData *arg0) -{ - StructBss1A8 *sp8; - - sp8 = &lbl_1_bss_1A8; - switch (arg0->work[3]) { - case 1: - arg0->work[3] = 0; - fn_1_11818(arg0, 0, 2, 5, 0); - break; - case 2: - arg0->work[3] = 0; - fn_1_11818(arg0, 0, 1, 30, 1); - break; - case 3: - arg0->work[3] = 0; - fn_1_11818(arg0, 0, 3, 5, 0); - break; - case 4: - arg0->work[3] = 0; - fn_1_11818(arg0, 0, 2, 5, 1); - break; - case 5: - arg0->work[3] = 0; - fn_1_11818(arg0, 0, 2, 5, 0); - break; - } - if (arg0->work[2] == 1) { - arg0->work[2] = 0; - fn_1_11818(arg0, 1, 11, 1, 0); - Hu3DModelAttrReset(arg0->model[1], HU3D_ATTR_DISPOFF); - } -} - -void fn_1_49FC(omObjData *arg0) -{ - omSetTra(arg0, 0.0f, 37.0f, -565.0f); - omSetSca(arg0, 1.5f, 1.5f, 1.5f); - Hu3DModelHookReset(arg0->model[0]); - fn_1_11818(arg0, 0, 1, 1, 1); - arg0->work[0] = arg0->work[1] = arg0->work[2] = arg0->work[3] = 0; -} - -void fn_1_4AB4(s32 arg0) -{ - ModelData *var_r28; - HsfData *temp_r31; - HsfMaterial *var_r30; - s32 i; - - var_r28 = &Hu3DData[arg0]; - temp_r31 = var_r28->hsfData; - var_r30 = temp_r31->material; - for (i = 0; i < temp_r31->materialCnt; i++, var_r30++) { - var_r30->flags = 0x10; - } -} - -void fn_1_4B1C(omObjData *arg0) -{ - StructBss1A8 *sp8; - - sp8 = &lbl_1_bss_1A8; - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 31)); - arg0->motion[0] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 32)); - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 33)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 34)); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 35)); - arg0->motion[4] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 36)); - arg0->motion[5] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 37)); - arg0->motion[6] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 38)); - arg0->motion[7] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 39)); - arg0->motion[8] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 40)); - arg0->motion[9] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 41)); - arg0->motion[10] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 42)); - arg0->motion[12] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 43)); - omSetTra(arg0, 0.0f, 37.0f, -565.0f); - omSetSca(arg0, 1.5f, 1.5f, 1.5f); - Hu3DModelShadowSet(arg0->model[0]); - fn_1_11818(arg0, 0, 1, 1, 1); - arg0->work[0] = arg0->work[1] = arg0->work[2] = arg0->work[3] = 0; - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 30)); - arg0->motion[11] = Hu3DMotionIDGet(arg0->model[1]); - fn_1_11818(arg0, 0, 11, 1, 2); - Hu3DModelPosSet(arg0->model[1], 0.0f, 300.0f, -770.0f); - Hu3DModelAttrSet(arg0->model[1], HU3D_ATTR_DISPOFF); - arg0->func = fn_1_48AC; -} - -void fn_1_4EA8(omObjData *arg0) -{ - switch (arg0->work[3]) { - case 1: - arg0->work[3] = 0; - if (arg0->work[0] == 0) { - fn_1_11818(arg0, 0, 2, 5, 0); - fn_1_11818(arg0, 1, 5, 5, 2); - } - else { - fn_1_11818(arg0, 0, 3, 5, 0); - } - break; - case 2: - arg0->work[3] = 0; - if (arg0->work[0] == 0) { - fn_1_11818(arg0, 0, 0, 30, 1); - fn_1_11818(arg0, 1, 5, 30, 1); - } - else { - fn_1_11818(arg0, 0, 0, 30, 1); - } - break; - } -} - -void fn_1_4FB0(omObjData *arg0) -{ - s32 temp_r30; - - temp_r30 = arg0->work[0]; - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 46)); - if (temp_r30 == 0) { - arg0->motion[0] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 48)); - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 49)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 50)); - omSetTra(arg0, -400.0f, 37.0f, -425.0f); - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 58)); - arg0->motion[5] = Hu3DJointMotionFile(arg0->model[1], DATA_MAKE_NUM(DATADIR_M436, 59)); - arg0->motion[6] = Hu3DJointMotionFile(arg0->model[1], DATA_MAKE_NUM(DATADIR_M436, 60)); - Hu3DModelHookSet(arg0->model[0], "g007m0-itemhook_r", arg0->model[1]); - Hu3DModelLayerSet(arg0->model[0], 2); - Hu3DModelLayerSet(arg0->model[1], 2); - fn_1_11818(arg0, 0, 0, 1, 1); - fn_1_11818(arg0, 1, 5, 1, 1); - } - else { - arg0->motion[0] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 47)); - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 51)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 52)); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 53)); - arg0->motion[4] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 54)); - arg0->motion[5] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 55)); - arg0->motion[6] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 56)); - arg0->motion[7] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 57)); - omSetTra(arg0, 400.0f, 37.0f, -475.0f); - omSetRot(arg0, 0.0f, -15.0f, 0.0f); - fn_1_11818(arg0, 0, 0, 1, 1); - } - Hu3DModelShadowSet(arg0->model[0]); - arg0->func = fn_1_4EA8; -} - -s32 fn_1_538C(s32 arg0) -{ - StructBss3E4 *temp_r31; - - temp_r31 = &lbl_1_bss_3E4[arg0]; - return temp_r31->unk04; -} - -s32 fn_1_53B4(void) -{ - StructBss3E4 *temp_r29; - s32 var_r30; - s32 i; - - var_r30 = 0; - for (i = 0; i < 4; i++) { - temp_r29 = &lbl_1_bss_3E4[i]; - if (temp_r29->unk0C != 0) { - var_r30++; - } - } - return var_r30; -} - -s32 fn_1_5414(s32 arg0) -{ - StructBss3E4 *temp_r31; - - temp_r31 = &lbl_1_bss_3E4[arg0]; - if (temp_r31->unk0C != 0) { - return 1; - } - return 0; -} - -s32 fn_1_5450(s32 arg0) -{ - StructBss3E4 *temp_r31; - - temp_r31 = &lbl_1_bss_3E4[arg0]; - if (HuPadBtnDown[temp_r31->unk18] == 0x100) { - return 1; - } - return 0; -} - -void fn_1_54A0(void) -{ - StructBss3E4 *temp_r31; - s32 sp8[4]; - s32 i; - - sp8[0] = GWPlayerCurrGet(); - for (i = 1; i < 4; i++) { - sp8[i] = sp8[i - 1] + 1; - if (sp8[i] >= 4) { - sp8[i] = 0; - } - } - for (i = 0; i < 4; i++) { - temp_r31 = &lbl_1_bss_3E4[i]; - temp_r31->unk04 = sp8[i]; - temp_r31->unk08 = GWPlayerCfg[temp_r31->unk04].group; - temp_r31->unk0C = GWPlayerCfg[temp_r31->unk04].iscom; - if (temp_r31->unk0C != 0) { - temp_r31->unk10 = GWPlayerCfg[temp_r31->unk04].diff; - } - else { - temp_r31->unk10 = 0; - } - temp_r31->unk14 = GWPlayerCfg[temp_r31->unk04].character; - temp_r31->unk18 = GWPlayerCfg[temp_r31->unk04].pad_idx; - } -} - -s32 fn_1_5608(omObjData *arg0, Vec arg1, float arg2, float arg3, float arg4, float arg5, s32 arg6) -{ - float var_f31; - float var_f30; - float var_f27; - float var_f26; - s32 var_r30; - StructBss3E4 *sp18; - - var_r30 = 0; - sp18 = &lbl_1_bss_3E4[arg0->work[0]]; - var_f31 = arg1.x - arg0->trans.x; - var_f30 = arg0->trans.z - arg1.z; - var_f26 = 90.0 + atan2d(var_f30, var_f31); - var_f27 = sqrtf(var_f31 * var_f31 + var_f30 * var_f30); - if (var_f27 <= arg4) { - var_f31 = var_f30 = 0.0f; - var_r30 = 1; - } - else { - var_f31 = 72.0f * (var_f31 / var_f27); - var_f30 = 72.0f * (var_f30 / var_f27); - } - var_f27 = arg3 * (sqrtf(var_f31 * var_f31 + var_f30 * var_f30) / 72.0f); - if (var_f27 >= arg3) { - var_f27 = arg3; - } - else if (var_f27 <= 1.0f) { - var_f31 = var_f30 = var_f27 = 0.0f; - var_r30 = 1; - } - if (var_f31 != 0.0f || var_f30 != 0.0f || arg2 >= 0.0f) { - if (arg2 >= 0.0f && var_f31 == 0.0f && var_f30 == 0.0f) { - var_f26 = arg2; - } - if (var_f26 >= 180.0f) { - if (arg0->rot.y - var_f26 >= 180.0f) { - arg0->rot.y -= 360.0f; - } - if (arg0->rot.y - var_f26 < -180.0f) { - arg0->rot.y += 360.0f; - } - } - else { - if (arg0->rot.y - var_f26 > 180.0f) { - arg0->rot.y -= 360.0f; - } - if (arg0->rot.y - var_f26 <= -180.0f) { - arg0->rot.y += 360.0f; - } - } - arg0->rot.y = (var_f26 + arg0->rot.y * (arg5 - 1.0f)) / arg5; - } - arg0->trans.x += var_f27 * sind(arg0->rot.y); - arg0->trans.z += var_f27 * cosd(arg0->rot.y); - if (arg6 == 0) { - if (var_f27 >= 6.75f) { - fn_1_11B18(arg0, 0, 2, 15, 1); - } - else if (var_f27 > 0.0f) { - fn_1_11B18(arg0, 0, 1, 15, 1); - } - else { - fn_1_11B18(arg0, 0, 0, 15, 1); - } - } - return var_r30; -} - -void fn_1_5CD0(omObjData *arg0) -{ - StructBss3E4 *sp8; - char **temp_r26; - s32 var_r22; - s32 i, j; - ModelData *temp_r24; - HsfData *temp_r27; - HsfMaterial *var_r31; - StructBss3E4 *temp_r30; - HsfAttribute *temp_r23; - - sp8 = &lbl_1_bss_3E4[arg0->work[0]]; - if (arg0->work[2] != 1) { - return; - } - var_r22 = 1; - temp_r24 = &Hu3DData[arg0->model[0]]; - temp_r27 = temp_r24->hsfData; - var_r31 = temp_r27->material; - temp_r30 = &lbl_1_bss_3E4[arg0->work[0]]; - if (temp_r30->unk14 == 3) { - for (i = 0; i < temp_r24->hsfData->materialCnt; i++, var_r31++) { - if (i != 1 && i != 2) { - var_r31->color[0] *= temp_r30->unk2C; - if (var_r31->color[0] == 0) { - var_r31->color[0] = 0; - } - var_r31->color[1] *= temp_r30->unk2C; - if (var_r31->color[1] == 0) { - var_r31->color[1] = 0; - } - var_r31->color[2] *= temp_r30->unk2C; - if (var_r31->color[2] == 0) { - var_r31->color[2] = 0; - } - } - } - } - else { - temp_r26 = CharModelTexNameGet(temp_r30->unk14, 2); - for (i = 0; i < temp_r27->materialCnt; i++, var_r31++) { - var_r22 = 1; - for (j = 0; j < var_r31->numAttrs; j++) { - temp_r23 = &temp_r27->attribute[var_r31->attrs[j]]; - if (strcmp(temp_r26[0], temp_r23->bitmap->name) == 0 || strcmp(temp_r26[1], temp_r23->bitmap->name) == 0) { - var_r22 = 0; - } - } - if (var_r22 != 0) { - var_r31->color[0] *= temp_r30->unk2C; - if (var_r31->color[0] == 0) { - var_r31->color[0] = 0; - } - var_r31->color[1] *= temp_r30->unk2C; - if (var_r31->color[1] == 0) { - var_r31->color[1] = 0; - } - var_r31->color[2] *= temp_r30->unk2C; - if (var_r31->color[2] == 0) { - var_r31->color[2] = 0; - } - } - } - } - temp_r30->unk2C -= 0.01; - if (temp_r30->unk2C < 0.0f) { - temp_r30->unk2C = 0.0f; - } -} - -void fn_1_6060(omObjData *arg0) -{ - u32 temp_r29 = arg0->work[0]; - StructBss3E4 *temp_r30 = &lbl_1_bss_3E4[temp_r29]; - Vec sp8[] = { { -600.0f, 0.0f, 300.0f }, { -600.0f, 0.0f, 150.0f }, { -450.0f, 0.0f, 150.0f }, { -300.0f, 0.0f, 150.0f } }; - - arg0->model[0] = CharModelCreate(temp_r30->unk14, 2); - arg0->motion[0] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0)); - arg0->motion[1] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 2)); - arg0->motion[2] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 3)); - arg0->motion[3] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 88)); - arg0->motion[4] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 89)); - arg0->motion[5] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 90)); - arg0->motion[6] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 72)); - arg0->motion[7] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 28)); - arg0->motion[8] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, temp_r30->unk14)); - Hu3DModelShadowSet(arg0->model[0]); - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); - fn_1_11B18(arg0, 0, 0, 0, 1); - omSetTra(arg0, sp8[temp_r29].x, sp8[temp_r29].y, sp8[temp_r29].z); - CharModelMotionDataClose(temp_r30->unk14); - temp_r30->unk2C = 1.0f; - arg0->func = fn_1_5CD0; -} - -// unused -s16 gap_04_00000182_data[] = { 0, 0x43, 0, 0x43, 1, 0x43, 2, 0x43, 3, 0x43, 4, 0x43, 5, 0x43, 6, 0x43, 7 }; - -s32 fn_1_62C4(omObjData *arg0) -{ - Mtx sp8; - StructBss4A4 *var_r25; - StructBssD8 *var_r31; - StructBss1A8 *var_r28; - StructBss3E4 *temp_r27; - s32 i; - - var_r25 = &lbl_1_bss_4A4; - var_r31 = &lbl_1_bss_D8; - var_r28 = &lbl_1_bss_1A8; - temp_r27 = &lbl_1_bss_3E4[var_r25->unk00]; - if (arg0->work[3] == 1) { - arg0->work[3] = 0; - arg0->work[1] = 1; - arg0->work[2] = 0; - var_r31->unk04 = 1; - for (i = 0; i < 6; i++) { - var_r31->unk08[i] = -(50.0f * i); - } - } - switch (arg0->work[1]) { - case 1: - arg0->work[1] = 2; - fn_1_11818(var_r28->unk00, 0, 8, 5, 0); - break; - case 2: - if (Hu3DMotionTimeGet(var_r28->unk00->model[0]) == 90.0f) { - arg0->work[1] = 3; - fn_1_11818(temp_r27->unk00, 0, 7, 5, 0); - Hu3DMotionTimeSet(var_r28->unk00->model[0], 90.0f); - Hu3DMotionSpeedSet(var_r28->unk00->model[0], 0.0f); - HuAudCharVoicePlay(temp_r27->unk14, 0x123); - HuAudFXPlay(0x6D5); - omVibrate(temp_r27->unk04, 120, 12, 0); - } - break; - case 3: - Hu3DModelObjMtxGet(var_r28->unk00->model[0], "g000m0-itemhook_M", sp8); - temp_r27->unk00->work[2] = 1; - for (i = 0; i < 6; i++) { - if (var_r31->unk04 == 1 || (var_r31->unk04 == 0 && var_r31->unk08[i] > 0.0f)) { - var_r31->unk08[i] += 10.0f; - } - if (var_r31->unk08[i] > 0.0f) { - var_r31->unk48[i] += 0.1f; - var_r31->unk28[i] -= 5.0f; - if (var_r31->unk88[i] == 0.0f) { - fn_1_11818(arg0, i + 1, i + 1, 1, 1); - } - if (var_r31->unk88[i] < 8.0f) { - var_r31->unk68[i] += 0.025f; - } - else if (var_r31->unk88[i] < 23.0f) { - var_r31->unk68[i] = 0.7f; - } - else if (var_r31->unk88[i] < 31.0f) { - var_r31->unk68[i] -= 0.1f; - if (var_r31->unk68[i] < 0.0f) { - var_r31->unk68[i] = 0.0f; - } - } - var_r31->unk88[i] += 1.0f; - } - Hu3DModelPosSet(arg0->model[i + 1], sp8[0][3], sp8[1][3] + var_r31->unk28[i], sp8[2][3] + var_r31->unk08[i]); - Hu3DModelScaleSet(arg0->model[i + 1], 1.5f * var_r31->unk48[i], 1.5f * var_r31->unk48[i], 1.5f * var_r31->unk48[i]); - Hu3DModelTPLvlSet(arg0->model[i + 1], var_r31->unk68[i]); - if (var_r31->unk88[i] == 31.0f) { - var_r31->unk08[i] = 0.0f; - var_r31->unk28[i] = 0.0f; - var_r31->unk48[i] = 0.0f; - var_r31->unk68[i] = 0.5f; - var_r31->unk88[i] = 0.0f; - } - } - if (arg0->work[2]++ >= 120) { - var_r31->unk04 = 0; - Hu3DMotionSpeedSet(var_r28->unk00->model[0], 1.0f); - temp_r27->unk00->work[2] = 0; - } - if (arg0->work[2] >= 10 && arg0->work[2] <= 120) { - fn_1_67C(6, 8.0f); - } - break; - } -} - -void fn_1_68E8(omObjData *arg0) -{ - StructBss1A8 *var_r30; - - var_r30 = &lbl_1_bss_1A8; - fn_1_11818(var_r30->unk00, 0, 8, 5, 0); - arg0->func = (void *)fn_1_62C4; // fn_1_62C4 must return s32 to match -} - -void fn_1_6944(omObjData *arg0) -{ - StructBssD8 *var_r29; - s32 i; - - var_r29 = &lbl_1_bss_D8; - for (i = 0; i < 6; i++) { - if (i % 2 == 0) { - arg0->model[i + 1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 44)); - arg0->motion[i + 1] = Hu3DMotionIDGet(arg0->model[i + 1]); - } - else { - arg0->model[i + 1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 45)); - arg0->motion[i + 1] = Hu3DMotionIDGet(arg0->model[i + 1]); - } - fn_1_11818(arg0, i + 1, i + 1, 5, 1); - Hu3DModelPosSet(arg0->model[i + 1], 0.0f, 0.0f, 0.0f); - Hu3DModelRotSet(arg0->model[i + 1], 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[i + 1], 0.0f, 0.0f, 0.0f); - Hu3DModelLayerSet(arg0->model[i + 1], 2); - var_r29->unk08[i] = -(50.0f * i); - var_r29->unk28[i] = 0.0f; - var_r29->unk48[i] = 0.0f; - var_r29->unk68[i] = 0.5f; - var_r29->unk88[i] = 0.0f; - } - var_r29->unk04 = 1; - arg0->func = (void *)fn_1_62C4; // fn_1_62C4 must return s32 to match -} - -void fn_1_6BDC(void) -{ - StructBss32C *var_r31; - - var_r31 = &lbl_1_bss_32C; - var_r31->unk10 = 0.0f; - var_r31->unk14 = 300.0f; - var_r31->unk18 = 1740.0f; - var_r31->unk28 = -10.0f; - var_r31->unk2C = 0.0f; - var_r31->unk30 = 0.0f; - var_r31->unk38 = 300.0f; - fn_1_125F4(var_r31, 200.0f); -} - -void fn_1_6C8C(void) -{ - StructBss32C *var_r31; - StructBss32C sp8; - - var_r31 = &lbl_1_bss_32C; - sp8.unk04 = 0.0f; - sp8.unk08 = 200.0f; - sp8.unk0C = -50.0f; - sp8.unk1C = 5.0f; - sp8.unk20 = 0.0f; - sp8.unk24 = 0.0f; - sp8.unk34 = 200.0f; - fn_1_14D24(var_r31, &sp8, var_r31->unk3C++, 30.0f, 5.0f); -} - -void fn_1_6D64(void) -{ - StructBss32C *var_r31; - - var_r31 = &lbl_1_bss_32C; - var_r31->unk10 = 0.0f; - var_r31->unk14 = 200.0f; - var_r31->unk18 = -50.0f; - var_r31->unk28 = 5.0f; - var_r31->unk2C = 0.0f; - var_r31->unk30 = 0.0f; - var_r31->unk38 = 200.0f; - fn_1_125F4(var_r31, 200.0f); -} - -void fn_1_6E14(void) -{ - StructBss32C *var_r31; - - var_r31 = &lbl_1_bss_32C; - var_r31->unk10 = 0.0f; - var_r31->unk14 = 300.0f; - var_r31->unk18 = -550.0f; - var_r31->unk28 = -15.0f; - var_r31->unk2C = 0.0f; - var_r31->unk30 = 0.0f; - var_r31->unk38 = 1200.0f; - fn_1_125F4(var_r31, 45.0f); -} - -void fn_1_6EC4(void) -{ - StructBss32C *var_r31; - - var_r31 = &lbl_1_bss_32C; - var_r31->unk10 = 0.0f; - var_r31->unk14 = 150.0f; - var_r31->unk18 = -550.0f; - var_r31->unk28 = -15.0f; - var_r31->unk2C = 0.0f; - var_r31->unk30 = 0.0f; - var_r31->unk38 = 1200.0f; - fn_1_125F4(var_r31, 30.0f); -} - -void fn_1_6F74(void) -{ - StructBss32C *var_r31; - StructBss32C sp8; - - var_r31 = &lbl_1_bss_32C; - sp8.unk04 = 0.0f; - sp8.unk08 = 100.0f; - sp8.unk0C = -550.0f; - sp8.unk1C = -20.0f; - sp8.unk20 = 0.0f; - sp8.unk24 = 0.0f; - sp8.unk34 = 2400.0f; - fn_1_13C48(var_r31, &sp8, var_r31->unk3C++, 10.0f, 5.0f); -} - -void fn_1_704C(void) -{ - StructBss32C *var_r31; - - var_r31 = &lbl_1_bss_32C; - var_r31->unk10 = 0.0f; - var_r31->unk14 = 150.0f; - var_r31->unk18 = -550.0f; - var_r31->unk28 = -15.0f; - var_r31->unk2C = 0.0f; - var_r31->unk30 = 0.0f; - var_r31->unk38 = 1200.0f; - fn_1_125F4(var_r31, 20.0f); -} - -void fn_1_70FC(void) -{ - StructBss32C *var_r31; - - var_r31 = &lbl_1_bss_32C; - var_r31->unk10 = 0.0f; - var_r31->unk14 = 300.0f; - var_r31->unk18 = -550.0f; - var_r31->unk28 = -15.0f; - var_r31->unk2C = 0.0f; - var_r31->unk30 = 0.0f; - var_r31->unk38 = 1200.0f; - fn_1_125F4(var_r31, 20.0f); -} - -void fn_1_71AC(s32 arg0) -{ - StructBss32C *var_r23; - - var_r23 = &lbl_1_bss_32C; - fn_1_12294(var_r23); - switch (arg0) { - case 0: - fn_1_8A4(fn_1_6E14); - break; - case 1: - fn_1_8A4(fn_1_6EC4); - break; - case 2: - fn_1_8A4(fn_1_6F74); - break; - case 3: - fn_1_8A4(fn_1_6C8C); - break; - case 4: - fn_1_8A4(fn_1_6BDC); - break; - case 5: - fn_1_8A4(fn_1_6D64); - break; - case 10: - fn_1_8A4(fn_1_704C); - break; - case 11: - fn_1_8A4(fn_1_70FC); - break; - } -} - -void fn_1_72CC(void) -{ - float sp18[] = { 0.0f, 0.0f }; - StructBss1A8 *var_r30; - s32 var_r31; - - var_r30 = &lbl_1_bss_1A8; - fn_1_26D4(sp18, MAKE_MESSID(29, 0)); - fn_1_26D4(sp18, MAKE_MESSID(29, 1)); - var_r31 = fn_1_2230((580.0f - sp18[0]) / 2, 80.0f, sp18[0], sp18[1], 2); - HuAudFXPlay(0x6D1); - var_r30->unk00->work[3] = 1; - fn_1_2744(var_r31, MAKE_MESSID(29, 0)); - fn_1_24D0(var_r31, 0); - var_r30->unk00->work[3] = 2; - var_r30->unk00->work[3] = 1; - fn_1_2744(var_r31, MAKE_MESSID(29, 1)); - fn_1_24D0(var_r31, 0); - var_r30->unk00->work[3] = 2; - fn_1_2468(var_r31); - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_77F0(void) -{ - float sp18[] = { 0.0f, 0.0f }; - StructBss1A8 *var_r30; - s32 var_r31; - - var_r30 = &lbl_1_bss_1A8; - fn_1_26D4(sp18, MAKE_MESSID(29, 3)); - var_r31 = fn_1_2230((580.0f - sp18[0]) / 2, 100.0f, sp18[0], sp18[1], 2); - HuAudFXPlay(0x6D2); - var_r30->unk00->work[3] = 3; - fn_1_2744(var_r31, MAKE_MESSID(29, 3)); - fn_1_24D0(var_r31, REFRESH_RATE); - lbl_1_bss_4 = 2; - fn_1_24D0(var_r31, REFRESH_RATE); - var_r30->unk00->work[3] = 2; - fn_1_2468(var_r31); - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_7B58(s32 arg0) -{ - float sp10[2] = { 0.0f, 0.0f }; - StructBss180 *var_r30 = &lbl_1_bss_180[0]; - s32 sp18[] = { MAKE_MESSID(29, 6), MAKE_MESSID(29, 8), MAKE_MESSID(29, 10), MAKE_MESSID(29, 12), MAKE_MESSID(29, 15), MAKE_MESSID(29, 17) }; - s32 var_r31; - - var_r30->unk00->work[3] = 1; - HuPrcSleep(15); - fn_1_26D4(sp10, sp18[arg0]); - HuAudFXPlayVolPan(0x3E, 0x7F, 0x20); - var_r31 = fn_1_2230(20.0f, 360.0f, sp10[0], sp10[1], 0); - fn_1_2744(var_r31, sp18[arg0]); - fn_1_24D0(var_r31, 0); - var_r30->unk00->work[3] = 2; - fn_1_2468(var_r31); -} - -void fn_1_7F1C(void) -{ - float sp2D8[2] = { 0.0f, 0.0f }; - StructBss180 *var_r30; - s32 var_r31; - - var_r30 = &lbl_1_bss_180[1]; - fn_1_26D4(sp2D8, MAKE_MESSID(29, 5)); - fn_1_26D4(sp2D8, MAKE_MESSID(29, 7)); - fn_1_26D4(sp2D8, MAKE_MESSID(29, 9)); - fn_1_26D4(sp2D8, MAKE_MESSID(29, 11)); - fn_1_26D4(sp2D8, MAKE_MESSID(29, 13)); - fn_1_26D4(sp2D8, MAKE_MESSID(29, 14)); - fn_1_26D4(sp2D8, MAKE_MESSID(29, 16)); - var_r31 = fn_1_2230(550.0f - sp2D8[0], 340.0f, sp2D8[0], sp2D8[1], 1); - HuAudFXPlayVolPan(0x65, 0x7F, 0x60); - var_r30->unk00->work[3] = 1; - fn_1_2744(var_r31, MAKE_MESSID(29, 5)); - fn_1_24D0(var_r31, 0); - var_r30->unk00->work[3] = 2; - fn_1_7B58(0); - var_r30->unk00->work[3] = 1; - fn_1_2744(var_r31, MAKE_MESSID(29, 7)); - fn_1_24D0(var_r31, 0); - var_r30->unk00->work[3] = 2; - fn_1_7B58(1); - var_r30->unk00->work[3] = 1; - fn_1_2744(var_r31, MAKE_MESSID(29, 9)); - fn_1_24D0(var_r31, 0); - var_r30->unk00->work[3] = 2; - fn_1_7B58(2); - var_r30->unk00->work[3] = 1; - fn_1_2744(var_r31, MAKE_MESSID(29, 11)); - fn_1_24D0(var_r31, 0); - var_r30->unk00->work[3] = 2; - fn_1_7B58(3); - var_r30->unk00->work[3] = 1; - fn_1_2744(var_r31, MAKE_MESSID(29, 13)); - fn_1_24D0(var_r31, 0); - var_r30->unk00->work[3] = 2; - var_r30->unk00->work[3] = 1; - fn_1_2744(var_r31, MAKE_MESSID(29, 14)); - fn_1_24D0(var_r31, 0); - var_r30->unk00->work[3] = 2; - fn_1_7B58(4); - var_r30->unk00->work[3] = 1; - fn_1_2744(var_r31, MAKE_MESSID(29, 16)); - fn_1_24D0(var_r31, 0); - var_r30->unk00->work[3] = 2; - fn_1_7B58(5); - var_r30->unk00->work[3] = 1; - fn_1_2744(var_r31, MAKE_MESSID(29, 18)); - fn_1_24D0(var_r31, 0); - var_r30->unk00->work[3] = 2; - fn_1_2468(var_r31); - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_A5A8(void) -{ - float sp9C[2] = { 0.0f, 0.0f }; - StructBss220 *sp68; - StructBss1A8 *var_r28; - s32 var_r31; - - sp68 = &lbl_1_bss_220; - var_r28 = &lbl_1_bss_1A8; - fn_1_26D4(sp9C, MAKE_MESSID(29, 19)); - fn_1_26D4(sp9C, MAKE_MESSID(29, 20)); - fn_1_26D4(sp9C, MAKE_MESSID(29, 21)); - fn_1_26D4(sp9C, MAKE_MESSID(29, 22)); - fn_1_26D4(sp9C, MAKE_MESSID(29, 37)); - var_r31 = fn_1_2230((580.0f - sp9C[0]) / 2, 80.0f, sp9C[0], sp9C[1], 2); - HuAudFXPlay(0x6D2); - var_r28->unk00->work[3] = 1; - fn_1_2744(var_r31, MAKE_MESSID(29, 19)); - fn_1_24D0(var_r31, 0); - var_r28->unk00->work[3] = 2; - var_r28->unk00->work[3] = 1; - fn_1_2744(var_r31, MAKE_MESSID(29, 20)); - fn_1_24D0(var_r31, 0); - var_r28->unk00->work[3] = 2; - var_r28->unk00->work[3] = 1; - fn_1_2744(var_r31, MAKE_MESSID(29, 21)); - fn_1_24D0(var_r31, 3 * REFRESH_RATE); - var_r28->unk00->work[3] = 2; - sp68->unk00->work[0] = 10; - fn_1_2744(var_r31, MAKE_MESSID(29, 22)); - fn_1_24D0(var_r31, REFRESH_RATE); - var_r28->unk00->work[3] = 4; - fn_1_2A90(var_r31); - fn_1_2D94(var_r31); - fn_1_3020(); - var_r28->unk00->work[3] = 2; - HuPrcSleep(2 * REFRESH_RATE); - var_r28->unk00->work[3] = 1; - fn_1_2744(var_r31, MAKE_MESSID(29, 37)); - fn_1_24D0(var_r31, 0); - var_r28->unk00->work[3] = 2; - fn_1_2468(var_r31); - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_B3D4(void) -{ - float sp1C[2] = { 0.0f, 0.0f }; - StructBss180 *var_r30; - s32 var_r31; - - var_r30 = &lbl_1_bss_180[1]; - lbl_1_bss_4 = 0; - fn_1_26D4(sp1C, MAKE_MESSID(29, 64)); - var_r31 = fn_1_2230(550.0f - sp1C[0], 340.0f, sp1C[0], sp1C[1], 1); - HuAudFXPlayVolPan(0x65, 0x7F, 0x60); - var_r30->unk00->work[3] = 1; - fn_1_2744(var_r31, MAKE_MESSID(29, 64)); - fn_1_25B8(var_r31); - var_r30->unk00->work[3] = 2; - fn_1_2468(var_r31); - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_B7E0(void) { } - -s32 fn_1_B7E4(void) -{ - StructBss220 *var_r31; - - var_r31 = &lbl_1_bss_220; - if (fn_1_11F04(&lbl_1_bss_C0, 0) == 80) { - fn_1_71AC(3); - lbl_1_bss_3A4[0] = HuAudSeqPlay(6); - } - if (fn_1_11F04(&lbl_1_bss_C0, 0) == 115) { - fn_1_71AC(5); - } - if (fn_1_11F04(&lbl_1_bss_C0, 0) == 180) { - fn_1_71AC(0); - } - if (fn_1_11F04(&lbl_1_bss_C0, 0) == 0) { - var_r31->unk00->work[0] = 10; - } - if (fn_1_11F04(&lbl_1_bss_C0, 0) == 150) { - var_r31->unk00->work[0] = 1; - } - if (fn_1_11F04(&lbl_1_bss_C0, 1) != 0) { - return fn_1_11D74(&lbl_1_bss_C0); - } - return 0; -} - -void fn_1_B968(void) -{ - lbl_1_bss_4 = 0; - HuPrcChildCreate(fn_1_72CC, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_B9B4(void) -{ - if (lbl_1_bss_4 == 1 && fn_1_11F04(&lbl_1_bss_C0, 1) != 0) { - return fn_1_11D74(&lbl_1_bss_C0); - } - return 0; -} - -void fn_1_BA10(void) -{ - StructBss3E4 *var_r30; - s32 i; - - lbl_1_bss_4 = 0; - HuPrcChildCreate(fn_1_77F0, 100, 0x2000, 0, HuPrcCurrentGet()); - for (i = 0; i < 4; i++) { - var_r30 = &lbl_1_bss_3E4[i]; - Hu3DModelAttrReset(var_r30->unk00->model[0], HU3D_ATTR_DISPOFF); - } -} - -s32 fn_1_BAA4(void) -{ - StructBss220 *var_r31; - StructBss1BC *var_r30; - StructBss220 *var_r29; - - var_r31 = &lbl_1_bss_220; - var_r30 = &lbl_1_bss_1BC; - if (lbl_1_bss_4 == 2) { - lbl_1_bss_4 = 0; - var_r31->unk00->work[0] = 2; - var_r30->unk00->work[0] = 1; - } - if (lbl_1_bss_4 == 1 && fn_1_11F04(&lbl_1_bss_C0, 0) == 0) { - var_r29 = &lbl_1_bss_220; - var_r29->unk00->work[1] = 1; - } - if (lbl_1_bss_4 == 1 && fn_1_11F04(&lbl_1_bss_C0, 1) != 0) { - return fn_1_11D74(&lbl_1_bss_C0); - } - return 0; -} - -void fn_1_BBA4(void) -{ - fn_1_71AC(10); -} - -s32 fn_1_BBF4(void) -{ - if (fn_1_11F04(&lbl_1_bss_C0, 1) != 0) { - return fn_1_11D74(&lbl_1_bss_C0); - } - return 0; -} - -void fn_1_BC3C(void) -{ - HuPrcChildCreate(fn_1_B3D4, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_BC78(void) -{ - if (lbl_1_bss_4 != 0 && fn_1_11F04(&lbl_1_bss_C0, 1) != 0) { - if (lbl_1_bss_8 != 0) { - return fn_1_11D74(&lbl_1_bss_C0); - } - fn_1_11E70(&lbl_1_bss_C0, 6); - } - return 0; -} - -void fn_1_BCF8(void) -{ - StructBss1A8 *var_r31; - - var_r31 = &lbl_1_bss_1A8; - fn_1_11818(var_r31->unk00, 0, 12, 60, 1); - lbl_1_bss_4 = 0; - HuPrcChildCreate(fn_1_7F1C, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_BD6C(void) -{ - StructBss1A8 *var_r31; - - var_r31 = &lbl_1_bss_1A8; - if (lbl_1_bss_4 == 1 && fn_1_11F04(&lbl_1_bss_C0, 0) == 0) { - fn_1_11818(var_r31->unk00, 0, 1, 60, 1); - } - if (lbl_1_bss_4 == 1 && fn_1_11F04(&lbl_1_bss_C0, 1) != 0) { - return fn_1_11D74(&lbl_1_bss_C0); - } - return 0; -} - -void fn_1_BE1C(void) -{ - fn_1_71AC(11); -} - -s32 fn_1_BE6C(void) -{ - if (fn_1_11F04(&lbl_1_bss_C0, 1) != 0) { - return fn_1_11D74(&lbl_1_bss_C0); - } - return 0; -} - -void fn_1_BEB4(void) -{ - lbl_1_bss_4 = 0; - HuPrcChildCreate(fn_1_A5A8, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_BF00(void) -{ - if (lbl_1_bss_4 == 1) { - lbl_1_bss_4 = 2; - HuAudSeqFadeOut(lbl_1_bss_3A4[0], 1000); - } - if (lbl_1_bss_4 != 0 && fn_1_11F04(&lbl_1_bss_C0, 1) != 0) { - fn_1_71AC(2); - return fn_1_11D74(&lbl_1_bss_C0); - } - return 0; -} - -StructData1E8 lbl_1_data_1E8[] = { { fn_1_B7E0, fn_1_B7E4, 300 }, { fn_1_B968, fn_1_B9B4, 60 }, { fn_1_BA10, fn_1_BAA4, 60 }, - { fn_1_BBA4, fn_1_BBF4, 45 }, { fn_1_BC3C, fn_1_BC78, 60 }, { fn_1_BCF8, fn_1_BD6C, 60 }, { fn_1_BE1C, fn_1_BE6C, 45 }, - { fn_1_BEB4, fn_1_BF00, 15 }, { NULL, NULL, -1 } }; - -void fn_1_BFC8(void) -{ - fn_1_11D18(&lbl_1_bss_C0, lbl_1_data_1E8); -} - -s32 fn_1_BFF8(void) -{ - s32 var_r31; - - var_r31 = 0; - if (lbl_1_bss_C0.unk10 != NULL) { - lbl_1_bss_C0.unk10(); - lbl_1_bss_C0.unk10 = NULL; - } - if (lbl_1_bss_C0.unk14 != NULL) { - var_r31 = lbl_1_bss_C0.unk14(); - } - return var_r31; -} - -s32 fn_1_C090(s32 arg0, s32 arg1, s32 arg2) -{ - StructBss4A4 *var_r28; - StructBss3E4 *temp_r31; - StructBss1BC *var_r27; - StructBss234 *var_r26; - s32 var_r29; - s32 var_r30; - s32 spC; - s32 var_r23; - s32 temp_r22; - s32 i; - - var_r29 = 0; - var_r30 = arg1; - spC = arg1; - var_r28 = &lbl_1_bss_4A4; - temp_r31 = &lbl_1_bss_3E4[arg0]; - var_r27 = &lbl_1_bss_1BC; - var_r26 = &lbl_1_bss_234; - if (temp_r31->unk0C != 0) { - if (arg2 % 27 == 2 && temp_r31->unk24 == 0) { - switch (temp_r31->unk10) { - case 0: - if (arg2 <= 2 * REFRESH_RATE) { - var_r29 = 0; - } - else if (var_r28->unk04 <= 3) { - temp_r31->unk24 = var_r29 = 1; - } - else { - var_r29 = 0; - } - break; - case 1: - if (arg2 <= 2 * REFRESH_RATE) { - var_r29 = 0; - } - else if (var_r28->unk04 <= 6) { - temp_r31->unk24 = var_r29 = 1; - } - else { - var_r29 = 0; - } - break; - case 2: - if (arg2 <= REFRESH_RATE) { - var_r29 = 0; - } - else if (var_r28->unk04 <= 9) { - temp_r31->unk24 = var_r29 = 1; - } - else { - var_r29 = 0; - } - break; - case 3: - if (arg2 <= REFRESH_RATE) { - var_r29 = 0; - } - else if (var_r28->unk04 <= 12) { - temp_r31->unk24 = var_r29 = 1; - } - else { - var_r29 = 0; - } - break; - } - if (var_r29 == 0) { - temp_r31->unk28 = rand8() % 8; - } - else { - var_r23 = 0; - for (i = 0; i <= temp_r31->unk10; i++) { - temp_r22 = rand8() % 10; - if (var_r26->unk44[temp_r22] != -1) { - temp_r31->unk28 = var_r26->unk44[temp_r22]; - var_r23 = 1; - break; - } - } - if (var_r23 == 0) { - temp_r31->unk28 = rand8() % 8; - } - } - } - if (temp_r31->unk24 == 1 && temp_r31->unk28 == var_r30) { - var_r30 = 99; - } - else if (temp_r31->unk28 > var_r30 && temp_r31->unk00->trans.x >= var_r27->unk04[var_r30].x - 7.5f && var_r30 < 7) { - var_r30++; - } - else if (temp_r31->unk28 < var_r30 && temp_r31->unk00->trans.x <= var_r27->unk04[var_r30].x + 7.5f && var_r30 > 0) { - var_r30--; - } - } - else { - var_r30 = arg1; - if (HuPadStkX[temp_r31->unk18] > 20.0f && temp_r31->unk00->trans.x >= var_r27->unk04[var_r30].x - 7.5f && var_r30 < 7) { - var_r30++; - } - else if (HuPadStkX[temp_r31->unk18] < -20.0f && temp_r31->unk00->trans.x <= var_r27->unk04[var_r30].x + 7.5f && var_r30 > 0) { - var_r30--; - } - else if (HuPadBtnDown[temp_r31->unk18] & 0x100) { - var_r30 = 99; - } - } - return var_r30; -} - -void fn_1_C4E8(void) -{ - StructBss4A4 *var_r29; - StructBss3E4 *temp_r30; - StructBss1BC *var_r28; - StructBss32C *var_r31; - - var_r29 = &lbl_1_bss_4A4; - temp_r30 = &lbl_1_bss_3E4[var_r29->unk00]; - var_r28 = &lbl_1_bss_1BC; - var_r31 = &lbl_1_bss_32C; - var_r31->unk10 = temp_r30->unk00->trans.x; - var_r31->unk14 = temp_r30->unk00->trans.y + 75.0f; - var_r31->unk18 = var_r28->unk04[0].z - 100.0f; - var_r31->unk28 = -10.0f; - var_r31->unk2C = 0.0f; - var_r31->unk30 = 0.0f; - var_r31->unk38 = 750.0f; - fn_1_125F4(var_r31, 10.0f); -} - -void fn_1_C5E4(void) -{ - StructBss32C *var_r31; - - var_r31 = &lbl_1_bss_32C; - var_r31->unk10 = 0.0f; - var_r31->unk14 = 100.0f; - var_r31->unk18 = -550.0f; - var_r31->unk28 = -20.0f; - var_r31->unk2C = 0.0f; - var_r31->unk30 = 0.0f; - var_r31->unk38 = 2400.0f; - fn_1_125F4(var_r31, 360.0f); -} - -void fn_1_C694(void) -{ - StructBss32C *var_r31; - StructBss32C sp8; - - var_r31 = &lbl_1_bss_32C; - sp8.unk04 = 0.0f; - sp8.unk08 = 200.0f; - sp8.unk0C = -550.0f; - sp8.unk1C = -15.0f; - sp8.unk20 = 0.0f; - sp8.unk24 = 0.0f; - sp8.unk34 = 1200.0f; - fn_1_13C48(var_r31, &sp8, var_r31->unk3C++, 10.0f, 5.0f); -} - -void fn_1_C76C(void) -{ - StructBss32C *var_r31; - StructBss32C sp8; - - var_r31 = &lbl_1_bss_32C; - sp8.unk04 = 0.0f; - sp8.unk08 = 100.0f; - sp8.unk0C = -550.0f; - sp8.unk1C = -20.0f; - sp8.unk20 = 0.0f; - sp8.unk24 = 0.0f; - sp8.unk34 = 2400.0f; - fn_1_13C48(var_r31, &sp8, var_r31->unk3C++, 60.0f, 10.0f); -} - -void fn_1_C844(s32 arg0) -{ - StructBss32C *var_r27; - - var_r27 = &lbl_1_bss_32C; - fn_1_12294(var_r27); - switch (arg0) { - case 0: - fn_1_8A4(fn_1_C4E8); - break; - case 1: - fn_1_8A4(fn_1_C5E4); - break; - case 2: - fn_1_8A4(fn_1_C694); - break; - case 3: - fn_1_8A4(fn_1_C76C); - break; - } -} - -void fn_1_C90C(void) -{ - float sp28[] = { 0.0f, 0.0f }; - s32 var_r28; - s32 var_r31; - StructBss1A8 *var_r27 = &lbl_1_bss_1A8; - s32 sp3C[] = { MAKE_MESSID(29, 31), MAKE_MESSID(29, 32), MAKE_MESSID(29, 33) }; - - var_r28 = rand8() % 3; - HuPrcSleep(REFRESH_RATE + 10); - fn_1_26D4(sp28, sp3C[var_r28]); - var_r31 = fn_1_2230((580.0f - sp28[0]) / 2, 60.0f, sp28[0], sp28[1], 2); - var_r27->unk00->work[2] = 1; - HuAudFXPlay(0x6D2); - HuAudFXPlay(0x6E3); - fn_1_2744(var_r31, sp3C[var_r28]); - fn_1_24D0(var_r31, 2 * REFRESH_RATE); - fn_1_2468(var_r31); - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_CCA4(void) -{ - float sp2C[] = { 0.0f, 0.0f }; - s32 var_r28; - s32 var_r31; - s32 sp24[] = { MAKE_MESSID(29, 34), MAKE_MESSID(29, 35) }; - - var_r28 = rand8() % 2; - HuPrcSleep(40); - fn_1_26D4(sp2C, sp24[var_r28]); - var_r31 = fn_1_2230((580.0f - sp2C[0]) / 2, 60.0f, sp2C[0], sp2C[1], 2); - HuAudFXPlay(0x6D6); - HuAudFXPlay(0x6D9); - HuAudSeqAllFadeOut(100); - fn_1_2744(var_r31, sp24[var_r28]); - fn_1_24D0(var_r31, 2 * REFRESH_RATE); - fn_1_2468(var_r31); - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_D018(void) -{ - float sp2C[] = { 0.0f, 0.0f }; - s32 var_r31; - - HuPrcSleep(40); - fn_1_26D4(sp2C, MAKE_MESSID(29, 36)); - var_r31 = fn_1_2230((580.0f - sp2C[0]) / 2, 60.0f, sp2C[0], sp2C[1], 2); - HuAudFXPlay(0x6D6); - HuAudFXPlay(0x6D9); - HuAudSeqAllFadeOut(100); - fn_1_2744(var_r31, MAKE_MESSID(29, 36)); - fn_1_24D0(var_r31, 2 * REFRESH_RATE); - fn_1_2468(var_r31); - lbl_1_bss_4 = 1; - HuPrcEnd(); -} - -void fn_1_D344(void) -{ - StructBss4A4 *var_r30; - StructBss3E4 *temp_r31; - StructBss1A8 *var_r29; - - var_r30 = &lbl_1_bss_4A4; - temp_r31 = &lbl_1_bss_3E4[var_r30->unk00]; - temp_r31->unk1C = temp_r31->unk20 = temp_r31->unk24 = temp_r31->unk28 = 0; - var_r29 = &lbl_1_bss_1A8; - fn_1_11818(var_r29->unk00, 0, 12, 60, 1); - fn_1_C844(0); - fn_1_27C8(5); -} - -s32 fn_1_D418(void) -{ - Vec sp14; - StructBss4A4 *var_r30; - StructBss3E4 *temp_r31; - StructBss1BC *var_r28; - StructBss180 *var_r26; - StructBss3E4 *var_r25; - s32 var_r27; - s32 i; - - var_r27 = 0; - var_r30 = &lbl_1_bss_4A4; - temp_r31 = &lbl_1_bss_3E4[var_r30->unk00]; - var_r28 = &lbl_1_bss_1BC; - fn_1_11F04(&lbl_1_bss_A8, 1); - if (fn_1_11F04(&lbl_1_bss_A8, 0) < 10) { - return 0; - } - if (temp_r31->unk20 == 0) { - if (fn_1_2800()) { - temp_r31->unk20 = 1; - temp_r31->unk24 = 0; - } - else { - var_r27 = fn_1_C090(var_r30->unk00, temp_r31->unk1C, fn_1_11F04(&lbl_1_bss_A8, 0)); - if (var_r27 == 99) { - temp_r31->unk20 = 1; - temp_r31->unk24 = 0; - fn_1_2824(); - } - else { - temp_r31->unk1C = var_r27; - } - } - } - else if (temp_r31->unk24++ >= 60) { - return fn_1_11D74(&lbl_1_bss_A8); - } - sp14.x = var_r28->unk04[temp_r31->unk1C].x; - sp14.y = temp_r31->unk00->trans.y; - sp14.z = var_r28->unk04[0].z - 100.0f; - fn_1_5608(temp_r31->unk00, sp14, 0.0f, 9.0f, 5.0f, 2.0f, 0); - if (temp_r31->unk00->trans.z > sp14.z) { - temp_r31->unk00->trans.z = sp14.z; - } - if (temp_r31->unk00->trans.z < sp14.z) { - temp_r31->unk00->trans.z = sp14.z; - } - var_r26 = &lbl_1_bss_180[1]; - fn_1_113CC(var_r26->unk00, 0, temp_r31->unk00, 0); - for (i = 0; i < 4; i++) { - if (var_r30->unk00 != i) { - var_r25 = &lbl_1_bss_3E4[i]; - fn_1_113CC(var_r25->unk00, 0, temp_r31->unk00, 0); - } - } - return 0; -} - -void fn_1_D6C0(void) -{ - StructBss4A4 *var_r30; - - var_r30 = &lbl_1_bss_4A4; - var_r30->unk0C = 0; -} - -s32 fn_1_D6E4(void) -{ - StructBss4A4 *var_r29; - StructBss3E4 *temp_r31; - StructBss1BC *var_r30; - StructBss180 *var_r26; - StructBss3E4 *var_r25; - s32 i; - - var_r29 = &lbl_1_bss_4A4; - temp_r31 = &lbl_1_bss_3E4[var_r29->unk00]; - var_r30 = &lbl_1_bss_1BC; - if (fn_1_11F04(&lbl_1_bss_A8, 0) < 30) { - if (var_r30->unk04[temp_r31->unk1C].z - 100.0f > temp_r31->unk00->trans.z) { - temp_r31->unk00->trans.z += 9.0f; - fn_1_11B18(temp_r31->unk00, 0, 1, 10, 1); - if (var_r30->unk04[temp_r31->unk1C].z - 100.0f < temp_r31->unk00->trans.z) { - temp_r31->unk00->trans.z = var_r30->unk04[temp_r31->unk1C].z - 100.0f; - fn_1_11B18(temp_r31->unk00, 0, 0, 10, 1); - } - } - else { - fn_1_11B18(temp_r31->unk00, 0, 0, 10, 1); - } - } - else if (fn_1_11F04(&lbl_1_bss_A8, 0) == 30) { - fn_1_11990(temp_r31->unk00, 0, 5, 30, 0); - } - else if (fn_1_11708(temp_r31->unk00, 0, 5, 35, 1) != 0 && var_r29->unk0C == 0) { - var_r29->unk0C = 1; - Hu3DModelHookSet(temp_r31->unk00->model[0], CharModelHookNameGet(temp_r31->unk14, 2, 0), var_r30->unk00->model[temp_r31->unk1C + 1]); - if (temp_r31->unk14 != 7) { - Hu3DModelPosSet(var_r30->unk00->model[temp_r31->unk1C + 1], 0.0f, 5.0f, 0.0f); - } - else { - Hu3DModelPosSet(var_r30->unk00->model[temp_r31->unk1C + 1], 0.0f, -15.0f, 0.0f); - } - Hu3DModelScaleSet(var_r30->unk00->model[temp_r31->unk1C + 1], 0.75f, 0.75f, 0.75f); - omVibrate(temp_r31->unk04, 12, 4, 2); - } - var_r26 = &lbl_1_bss_180[1]; - fn_1_113CC(var_r26->unk00, 0, temp_r31->unk00, 0); - for (i = 0; i < 4; i++) { - if (var_r29->unk00 != i) { - var_r25 = &lbl_1_bss_3E4[i]; - fn_1_113CC(var_r25->unk00, 0, temp_r31->unk00, 0); - } - } - if (fn_1_11F04(&lbl_1_bss_A8, 1) != 0) { - return fn_1_11D74(&lbl_1_bss_A8); - } - // Required to match. - if (0) { - s32 var_r28 = 0; - (void)var_r28; - (void)var_r28; - (void)var_r28; - (void)var_r28; - (void)var_r28; - (void)var_r28; - } - return 0; -} - -void fn_1_DA60(void) -{ - StructBss4A4 *var_r30; - StructBss1A8 *sp8; - StructBss3E4 *temp_r31; - - var_r30 = &lbl_1_bss_4A4; - temp_r31 = &lbl_1_bss_3E4[var_r30->unk00]; - sp8 = &lbl_1_bss_1A8; - var_r30->unk0C = 0; - temp_r31->unk20 = temp_r31->unk24 = temp_r31->unk28 = 0; - Hu3DMotionOverlaySet(temp_r31->unk00->model[0], temp_r31->unk00->motion[4]); - Hu3DModelAttrSet(temp_r31->unk00->model[0], HU3D_MOTATTR_OVL_LOOP); -} - -Vec lbl_1_data_254 = { 0.0f, 0.0f, 0.0f }; -Vec lbl_1_data_260 = { 0.0f, 0.0f, 0.0f }; // unused - -s32 fn_1_DB00(void) -{ - StructBss4A4 *var_r30; - StructBss220 *var_r28; - StructBss1BC *sp8; - StructBss3E4 *temp_r31; - StructBss1A8 *var_r27; - StructBss180 *var_r26; - StructBss3E4 *var_r25; - s32 i; - - var_r30 = &lbl_1_bss_4A4; - var_r28 = &lbl_1_bss_220; - sp8 = &lbl_1_bss_1BC; - var_r27 = &lbl_1_bss_1A8; - temp_r31 = &lbl_1_bss_3E4[var_r30->unk00]; - if (temp_r31->unk20 == 0 && fn_1_11F04(&lbl_1_bss_A8, 0) <= 180) { - lbl_1_data_254.x = 0.0f; - lbl_1_data_254.y = temp_r31->unk00->trans.y; - lbl_1_data_254.z = 300.0f; - } - else if (temp_r31->unk20 == 1 && fn_1_11F04(&lbl_1_bss_A8, 0) <= 320) { - lbl_1_data_254.x = 0.0f; - lbl_1_data_254.y = temp_r31->unk00->trans.y; - lbl_1_data_254.z = -240.0f; - } - temp_r31->unk20 += fn_1_5608(temp_r31->unk00, lbl_1_data_254, 180.0f, 8.0f, 30.0f, 5.0f, 0); - if (temp_r31->unk20 == 1 && var_r30->unk0C == 0) { - var_r30->unk0C = 1; - fn_1_C844(1); - fn_1_11B18(var_r27->unk00, 0, 1, 60, 0); - var_r28->unk00->work[1] = 2; - } - var_r26 = &lbl_1_bss_180[1]; - fn_1_113CC(var_r26->unk00, 0, temp_r31->unk00, 0); - for (i = 0; i < 4; i++) { - if (var_r30->unk00 != i) { - var_r25 = &lbl_1_bss_3E4[i]; - fn_1_113CC(var_r25->unk00, 0, temp_r31->unk00, 0); - } - } - fn_1_11F04(&lbl_1_bss_A8, 1); - if (temp_r31->unk20 == 2) { - Hu3DModelAttrReset(*temp_r31->unk00->model, HU3D_MOTATTR_OVL_LOOP); - return fn_1_11D74(&lbl_1_bss_A8); - } - return 0; -} - -void fn_1_DDBC(void) -{ - StructBss4A4 *var_r30; - StructBss1A8 *var_r29; - StructBss3E4 *temp_r31; - - var_r30 = &lbl_1_bss_4A4; - var_r29 = &lbl_1_bss_1A8; - temp_r31 = &lbl_1_bss_3E4[var_r30->unk00]; - var_r30->unk0C = 0; - var_r29->unk00->work[3] = 0; - Hu3DMotionSet(temp_r31->unk00->model[0], temp_r31->unk00->motion[5]); - Hu3DMotionTimeSet(temp_r31->unk00->model[0], 999.0f); - Hu3DModelAttrReset(temp_r31->unk00->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(temp_r31->unk00->model[0], HU3D_MOTATTR_REV); - Hu3DMotionOverlayReset(temp_r31->unk00->model[0]); - temp_r31->unk20 = temp_r31->unk24 = temp_r31->unk28 = 0; -} - -s32 fn_1_DEB0(void) -{ - StructBss4A4 *var_r30; - StructBss220 *var_r28; - StructBss1BC *var_r29; - StructBss3E4 *temp_r31; - ModelData *temp_r27; - ModelData *temp_r26; - StructBss180 *var_r25; - - var_r30 = &lbl_1_bss_4A4; - var_r28 = &lbl_1_bss_220; - var_r29 = &lbl_1_bss_1BC; - temp_r31 = &lbl_1_bss_3E4[var_r30->unk00]; - temp_r27 = &Hu3DData[var_r28->unk00->model[8]]; - if (fn_1_11708(temp_r31->unk00, 0, 5, 30, 0) != 0 && var_r30->unk0C == 0) { - Hu3DModelHookReset(temp_r31->unk00->model[0]); - Hu3DModelPosSet(var_r29->unk00->model[temp_r31->unk1C + 1], 0.0f, temp_r27->pos.y, -355.0f); - Hu3DModelScaleSet(var_r29->unk00->model[temp_r31->unk1C + 1], 1.0f, 1.0f, 1.0f); - var_r30->unk0C = temp_r31->unk20 = 1; - } - if (temp_r31->unk20 == 1 && temp_r31->unk24++ >= REFRESH_RATE) { - temp_r26 = &Hu3DData[var_r29->unk00->model[temp_r31->unk1C + 1]]; - var_r28->unk00->work[1] = 3; - temp_r26->pos.y = temp_r27->pos.y; - if (var_r30->unk0C == 1) { - var_r30->unk0C = 2; - var_r25 = &lbl_1_bss_180[1]; - fn_1_11818(var_r25->unk00, 0, 6, 60, 1); - } - } - if (temp_r31->unk20 == 1 && fn_1_11F04(&lbl_1_bss_A8, 1) != 0) { - return fn_1_11D74(&lbl_1_bss_A8); - } - return 0; -} - -void fn_1_E0B0(void) -{ - StructBss4A4 *var_r31; - StructBss1A8 *var_r30; - StructBss3E4 *var_r29; - - var_r31 = &lbl_1_bss_4A4; - var_r30 = &lbl_1_bss_1A8; - var_r29 = &lbl_1_bss_3E4[var_r31->unk00]; - var_r31->unk08 = var_r31->unk0C = 0; - fn_1_11990(var_r29->unk00, 0, 0, 30, 1); - fn_1_11818(var_r30->unk00, 0, 4, 1, 0); -} - -s32 fn_1_E144(void) -{ - StructBss4A4 *var_r31; - StructBss220 *var_r28; - StructBss1BC *var_r30; - StructBss1A8 *var_r27; - StructBss3E4 *temp_r29; - StructBss180 *var_r25; - - var_r31 = &lbl_1_bss_4A4; - var_r28 = &lbl_1_bss_220; - var_r30 = &lbl_1_bss_1BC; - var_r27 = &lbl_1_bss_1A8; - temp_r29 = &lbl_1_bss_3E4[var_r31->unk00]; - if (fn_1_11708(var_r27->unk00, 0, 4, 80, 1) != 0 && var_r31->unk0C == 0) { - var_r31->unk0C = 1; - Hu3DModelHookSet(var_r27->unk00->model[0], "g000m0-itemhook_R", var_r30->unk00->model[temp_r29->unk1C + 1]); - Hu3DModelPosSet(var_r30->unk00->model[temp_r29->unk1C + 1], 0.0f, 0.0f, 0.0f); - Hu3DModelRotSet(var_r30->unk00->model[temp_r29->unk1C + 1], 0.0f, 90.0f, 0.0f); - Hu3DModelScaleSet(var_r30->unk00->model[temp_r29->unk1C + 1], 0.5f, 0.5f, 0.5f); - var_r28->unk00->work[1] = 1; - } - if (fn_1_11F04(&lbl_1_bss_A8, 0) == 180) { - fn_1_C844(2); - } - if (var_r31->unk0C == 1) { - var_r25 = &lbl_1_bss_180[1]; - var_r25->unk00->rot.y = fn_1_110FC(var_r25->unk00->rot.y, 280.0f, 10.0f); - } - if (fn_1_11F04(&lbl_1_bss_A8, 1) != 0) { - var_r28->unk00->work[0] = 10; - return fn_1_11D74(&lbl_1_bss_A8); - } - return 0; -} - -void fn_1_E38C(void) -{ - StructBss4A4 *var_r31; - StructBss220 *sp8; - StructBss1A8 *var_r30; - - sp8 = &lbl_1_bss_220; - var_r31 = &lbl_1_bss_4A4; - var_r30 = &lbl_1_bss_1A8; - if (var_r31->unk08 == 0) { - var_r31->unk08 = 1; - if (var_r31->unk04 > 3) { - fn_1_11818(var_r30->unk00, 0, 9, 15, 0); - } - if (var_r31->unk04 > 3 && rand8() % 2 == 0) { - var_r31->unk08 = 2; - } - } - else if (var_r31->unk08 == 2) { - var_r31->unk08 = 1; - fn_1_11818(var_r30->unk00, 0, 10, 15, 0); - if (var_r31->unk04 > 6 && rand8() % 2 == 0) { - var_r31->unk08 = 3; - } - } - else if (var_r31->unk08 == 3) { - var_r31->unk08 = 1; - fn_1_11818(var_r30->unk00, 0, 10, 15, 0); - } -} - -s32 fn_1_E4CC(void) -{ - StructBss4A4 *var_r31; - StructBss1A8 *var_r30; - - var_r31 = &lbl_1_bss_4A4; - var_r30 = &lbl_1_bss_1A8; - if (Hu3DMotionEndCheck(var_r30->unk00->model[0]) && fn_1_11F04(&lbl_1_bss_A8, 1) != 0) { - if (var_r31->unk08 != 1) { - return fn_1_11E70(&lbl_1_bss_A8, 5); - } - else { - return fn_1_11D74(&lbl_1_bss_A8); - } - } - return 0; -} - -void fn_1_E56C(void) -{ - StructBss4A4 *var_r31; - StructBss234 *var_r30; - StructBss3E4 *var_r28; - s32 i; - - var_r31 = &lbl_1_bss_4A4; - var_r30 = &lbl_1_bss_234; - var_r28 = &lbl_1_bss_3E4[var_r31->unk00]; - var_r31->unk08 = 1; - for (i = 0; i < var_r30->unk00; i++) { - if (var_r30->unk44[i] == var_r28->unk1C) { - var_r31->unk08 = 0; - var_r30->unk44[i] = -1; - break; - } - } - if (var_r30->unk00 == var_r31->unk04) { - var_r31->unk08 = 2; - } -} - -s32 fn_1_E628(void) -{ - StructBss4A4 *var_r31; - - var_r31 = &lbl_1_bss_4A4; - if (var_r31->unk08 != 0) { - fn_1_11E70(&lbl_1_bss_A8, 10); - } - else { - fn_1_11D74(&lbl_1_bss_A8); - } -} - -void fn_1_E680(void) -{ - StructBss4A4 *var_r31; - StructBss1A8 *var_r30; - - var_r31 = &lbl_1_bss_4A4; - var_r30 = &lbl_1_bss_1A8; - var_r31->unk08 = var_r31->unk0C = 0; - fn_1_11818(var_r30->unk00, 0, 7, 15, 0); - lbl_1_bss_4 = 0; - HuPrcChildCreate(fn_1_C90C, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_E710(void) -{ - StructBss4A4 *var_r29; - StructBss1A8 *var_r28; - StructBss1BC *var_r31; - StructBss3E4 *temp_r30; - StructBss180 *var_r27; - - var_r29 = &lbl_1_bss_4A4; - var_r31 = &lbl_1_bss_1BC; - var_r28 = &lbl_1_bss_1A8; - temp_r30 = &lbl_1_bss_3E4[var_r29->unk00]; - if (fn_1_11708(var_r28->unk00, 0, 7, 30, 1) != 0 && var_r29->unk08 == 0) { - var_r29->unk08 = 1; - } - if (fn_1_11708(var_r28->unk00, 0, 7, 40, 1) != 0 && var_r29->unk0C == 0) { - var_r29->unk0C = 1; - var_r27 = &lbl_1_bss_180[1]; - fn_1_11818(var_r27->unk00, 0, 7, 10, 0); - Hu3DModelHookReset(var_r28->unk00->model[0]); - Hu3DModelPosSet(var_r31->unk00->model[temp_r30->unk1C + 1], var_r31->unk04[temp_r30->unk1C].x, var_r31->unk04[temp_r30->unk1C].y + 65.0f, - var_r31->unk04[temp_r30->unk1C].z); - Hu3DModelRotSet(var_r31->unk00->model[temp_r30->unk1C + 1], 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(var_r31->unk00->model[temp_r30->unk1C + 1], 1.0f, 1.0f, 1.0f); - } - if (lbl_1_bss_4 == 1) { - lbl_1_bss_4 = 2; - } - if (fn_1_11F04(&lbl_1_bss_A8, 1) != 0) { - return fn_1_11D74(&lbl_1_bss_A8); - } - return 0; -} - -void fn_1_E930(void) -{ - StructBss4A4 *var_r29; - StructBss3E4 *var_r28; - StructBss180 *var_r31; - s32 var_r30; - - var_r29 = &lbl_1_bss_4A4; - var_r30 = var_r29->unk00 + 1; - if (var_r30 == 4) { - var_r30 = 0; - } - var_r28 = &lbl_1_bss_3E4[var_r30]; - fn_1_11990(var_r28->unk00, 0, 1, 15, 1); - var_r31 = &lbl_1_bss_180[1]; - fn_1_11818(var_r31->unk00, 0, 0, 1, 1); - Hu3DMotionSpeedSet(var_r31->unk00->model[0], 1.0f); - fn_1_C844(3); -} - -s32 fn_1_EA04(void) -{ - Vec sp14[] = { { -600.0f, 0.0f, 300.0f }, { -600.0f, 0.0f, 150.0f }, { -450.0f, 0.0f, 150.0f }, { -300.0f, 0.0f, 150.0f } }; - StructBss4A4 *var_r30; - StructBss1BC *var_r27; - StructBss3E4 *temp_r31; - StructBss3E4 *temp_r26; - s32 i; - s32 var_r28; - - var_r30 = &lbl_1_bss_4A4; - var_r27 = &lbl_1_bss_1BC; - var_r28 = var_r30->unk00 + 1; - if (var_r28 == 4) { - var_r28 = 0; - } - for (i = 0; i < 4; i++) { - temp_r31 = &lbl_1_bss_3E4[var_r28]; - if (i != 0) { - fn_1_5608(temp_r31->unk00, sp14[i], 0.0f, 9.0f, 10.0f, 8.0f, 0); - } - else { - temp_r31->unk00->trans.x -= 1.0f; - temp_r31->unk00->trans.z += 5.0f; - temp_r31->unk00->rot.y = fn_1_110FC(temp_r31->unk00->rot.y, 0.0f, 10.0f); - if (temp_r31->unk00->trans.x <= -600.0f) { - temp_r31->unk00->trans.x = -600.0f; - } - if (temp_r31->unk00->trans.z >= var_r27->unk04[0].z - 100.0f) { - fn_1_11B18(temp_r31->unk00, 0, 0, 15, 1); - temp_r31->unk00->trans.z = var_r27->unk04[0].z - 100.0f; - } - } - if (i != 0 && i != 3) { - if (temp_r31->unk00->trans.z > 150.0f) { - temp_r31->unk00->trans.z = 150.0f; - } - if (temp_r31->unk00->trans.z < 150.0f) { - temp_r31->unk00->trans.z = 150.0f; - } - } - var_r28++; - if (var_r28 == 4) { - var_r28 = 0; - } - } - if (fn_1_11F04(&lbl_1_bss_A8, 1) != 0) { - temp_r26 = &lbl_1_bss_3E4[var_r30->unk00]; - temp_r26->unk00->rot.y = 0.0f; - var_r30->unk00++; - if (var_r30->unk00 == 4) { - var_r30->unk00 = 0; - } - var_r30->unk04++; - return fn_1_11E70(&lbl_1_bss_A8, 0); - } - return 0; -} - -void fn_1_ED4C(void) -{ - StructBss4A4 *var_r31; - StructBss1A8 *var_r30; - - var_r31 = &lbl_1_bss_4A4; - var_r30 = &lbl_1_bss_1A8; - fn_1_11818(var_r30->unk00, 0, 6, 1, 0); - lbl_1_bss_4 = 0; - if (var_r31->unk08 == 1) { - HuPrcChildCreate(fn_1_CCA4, 100, 0x2000, 0, HuPrcCurrentGet()); - } - else { - HuPrcChildCreate(fn_1_D018, 100, 0x2000, 0, HuPrcCurrentGet()); - } - var_r31->unk04 = var_r31->unk08 = var_r31->unk0C = 0; -} - -s32 fn_1_EE10(void) -{ - StructBss4A4 *var_r30; - StructBss220 *var_r26; - StructBss1BC *var_r29; - StructBss1A8 *var_r27; - StructBss180 *var_r31; - StructBss3E4 *temp_r28; - - var_r30 = &lbl_1_bss_4A4; - var_r26 = &lbl_1_bss_220; - var_r29 = &lbl_1_bss_1BC; - var_r27 = &lbl_1_bss_1A8; - var_r31 = &lbl_1_bss_180[1]; - temp_r28 = &lbl_1_bss_3E4[var_r30->unk00]; - lbl_1_bss_48[0][3] = 400.0f; - lbl_1_bss_48[1][3] = 91.0f; - lbl_1_bss_48[2][3] = -436.0f; - var_r31->unk00->rot.y = fn_1_110FC(var_r31->unk00->rot.y, 360.0f, 10.0f); - if (fn_1_11708(var_r27->unk00, 0, 6, 40, 1) != 0 && var_r30->unk0C == 0) { - var_r30->unk0C = 1; - Hu3DModelHookReset(var_r27->unk00->model[0]); - Hu3DModelObjMtxGet(var_r27->unk00->model[0], "g000m0-itemhook_R", lbl_1_bss_78); - Hu3DModelPosSet(var_r29->unk00->model[temp_r28->unk1C + 1], lbl_1_bss_78[0][3], lbl_1_bss_78[1][3], lbl_1_bss_78[2][3]); - Hu3DModelRotSet(var_r29->unk00->model[temp_r28->unk1C + 1], 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(var_r29->unk00->model[temp_r28->unk1C + 1], 1.0f, 1.0f, 1.0f); - Hu3DMotionSpeedSet(var_r26->unk00->model[8], -1.0f); - var_r30->unk04 = 1; - HuAudFXPlay(0x6E0); - } - if (var_r30->unk04 == 1) { - lbl_1_bss_3C.x = fn_1_1113C(lbl_1_bss_78[0][3], lbl_1_bss_48[0][3], lbl_1_bss_14, 30.0f); - if (lbl_1_bss_14 < 13) { - lbl_1_bss_3C.y = fn_1_11164(lbl_1_bss_78[1][3], 500.0f, lbl_1_bss_14, 13.0f); - } - else { - lbl_1_bss_3C.y = fn_1_112F4(500.0f, lbl_1_bss_48[1][3], lbl_1_bss_14 - 13, 17.0f); - } - lbl_1_bss_3C.z = fn_1_1113C(lbl_1_bss_78[2][3], lbl_1_bss_48[2][3], lbl_1_bss_14, 30.0f); - if (lbl_1_bss_14 == 10) { - fn_1_11818(var_r31->unk00, 0, 4, 1, 0); - Hu3DMotionSpeedSet(var_r31->unk00->model[0], 1.0f); - } - if (fn_1_11708(var_r31->unk00, 0, 4, 21, 1) != 0 && var_r30->unk08 == 0) { - var_r30->unk08 = 1; - Hu3DMotionSpeedSet(var_r31->unk00->model[0], 0.0f); - } - else { - Hu3DModelPosSet(var_r29->unk00->model[temp_r28->unk1C + 1], lbl_1_bss_3C.x, lbl_1_bss_3C.y, lbl_1_bss_3C.z); - } - if (lbl_1_bss_14++ >= 30) { - var_r30->unk04 = 2; - } - } - else if (var_r30->unk04 == 2) { - Hu3DModelHookSet(var_r31->unk00->model[0], "g007m0-itemhook_c", var_r29->unk00->model[temp_r28->unk1C + 1]); - Hu3DModelPosSet(var_r29->unk00->model[temp_r28->unk1C + 1], 0.0f, 0.0f, 0.0f); - Hu3DMotionSpeedSet(var_r31->unk00->model[0], 1.0f); - } - if (lbl_1_bss_4 == 1 && Hu3DMotionEndCheck(var_r31->unk00->model[0])) { - lbl_1_bss_14 = 0; - fn_1_11818(var_r31->unk00, 0, 5, 1, 0); - return fn_1_11D74(&lbl_1_bss_A8); - } - return 0; -} - -void fn_1_F404(void) -{ - StructBss4A4 *var_r29; - StructBss1A8 *spC; - StructBssD8 *var_r28; - StructBss180 *var_r31; - StructBss180 *var_r30; - StructBss3E4 *sp8; - - var_r29 = &lbl_1_bss_4A4; - spC = &lbl_1_bss_1A8; - var_r28 = &lbl_1_bss_D8; - var_r31 = &lbl_1_bss_180[1]; - var_r30 = &lbl_1_bss_180[0]; - sp8 = &lbl_1_bss_3E4[var_r29->unk00]; - var_r28->unk00->work[3] = 1; - var_r31->unk00->rot.y = 0.0f; - fn_1_11818(var_r31->unk00, 0, 5, 30, 1); - fn_1_11818(var_r30->unk00, 0, 1, 30, 1); - fn_1_11818(var_r30->unk00, 1, 6, 30, 1); -} - -s32 fn_1_F4F0(void) -{ - if (fn_1_11F04(&lbl_1_bss_A8, 1) != 0) { - return fn_1_11D74(&lbl_1_bss_A8); - } - return 0; -} - -StructData1E8 lbl_1_data_290[] - = { { fn_1_D344, fn_1_D418, 600 }, { fn_1_D6C0, fn_1_D6E4, 90 }, { fn_1_DA60, fn_1_DB00, 300 }, { fn_1_DDBC, fn_1_DEB0, 150 }, - { fn_1_E0B0, fn_1_E144, 240 }, { fn_1_E38C, fn_1_E4CC, 90 }, { fn_1_E56C, fn_1_E628, 120 }, { fn_1_E680, fn_1_E710, 120 }, - { fn_1_E930, fn_1_EA04, 120 }, { NULL, NULL, -1 }, { fn_1_ED4C, fn_1_EE10, -1 }, { fn_1_F404, fn_1_F4F0, 60 }, { NULL, NULL, -1 } }; - -void fn_1_F538(void) -{ - fn_1_11D18(&lbl_1_bss_A8, lbl_1_data_290); -} - -s32 fn_1_F568(void) -{ - s32 var_r31; - - var_r31 = 0; - if (lbl_1_bss_A8.unk10 != NULL) { - lbl_1_bss_A8.unk10(); - lbl_1_bss_A8.unk10 = NULL; - } - if (lbl_1_bss_A8.unk14 != NULL) { - var_r31 = lbl_1_bss_A8.unk14(); - } - return var_r31; -} - -void fn_1_F600(void) -{ - StructBss4A4 *var_r30; - StructBss3E4 *temp_r31; - - var_r30 = &lbl_1_bss_4A4; - temp_r31 = &lbl_1_bss_3E4[var_r30->unk00]; - var_r30->unk0C = 0; - lbl_1_data_E0 = temp_r31->unk00->model[0]; - lbl_1_data_E4 = temp_r31->unk00->motion[8]; - lbl_1_data_E8 = temp_r31->unk14; - HuPrcChildCreate(fn_1_0, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_F6B0(void) -{ - StructBss4A4 *var_r31; - StructBss3E4 *temp_r30; - - var_r31 = &lbl_1_bss_4A4; - temp_r30 = &lbl_1_bss_3E4[var_r31->unk00]; - if (fn_1_11F04(&lbl_1_bss_24, 0) == 120) { - fn_1_11818(temp_r30->unk00, 0, 8, 30, 0); - HuAudSStreamPlay(3); - } - if (fn_1_11F04(&lbl_1_bss_24, 1) != 0) { - return fn_1_11D74(&lbl_1_bss_24); - } - return 0; -} - -StructData1E8 lbl_1_data_32C[] = { { fn_1_F600, fn_1_F6B0, 360 }, { NULL, NULL, -1 } }; - -void fn_1_F75C(void) -{ - fn_1_11D18(&lbl_1_bss_24, lbl_1_data_32C); -} - -s32 fn_1_F78C(void) -{ - s32 var_r31; - - var_r31 = 0; - if (lbl_1_bss_24.unk10 != NULL) { - lbl_1_bss_24.unk10(); - lbl_1_bss_24.unk10 = NULL; - } - if (lbl_1_bss_24.unk14 != NULL) { - var_r31 = lbl_1_bss_24.unk14(); - } - return var_r31; -} - -void fn_1_F824(omObjData *arg0) -{ - StructBss1A8 *sp8; - StructBss4A4 *var_r30; - StructBss3E4 *temp_r29; - s32 i; - - sp8 = &lbl_1_bss_1A8; - if (WipeStatGet() == 0) { - CharModelKill(-1); - MGSeqKillAll(); - HuAudFadeOut(1); - var_r30 = &lbl_1_bss_4A4; - temp_r29 = &lbl_1_bss_3E4[var_r30->unk00]; - for (i = 0; i < 4; i++) { - GWPlayerCoinWinSet(i, 0); - } - GWPlayerCoinWinSet(temp_r29->unk04, 1); - omOvlReturnEx(1, 1); - arg0->func = NULL; - } -} - -void fn_1_F924(omObjData *arg0) -{ - if (omSysExitReq == 1) { - HuAudSeqAllFadeOut(250); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - arg0->func = fn_1_F824; - } -} - -void fn_1_F984(void) -{ - StructBss180 *var_r21; - StructBss4A4 *var_r22; - StructBss3E4 *temp_r25; - s32 i; - - fn_1_3088(); - fn_1_39B4(lbl_1_bss_220.unk00); - fn_1_4304(lbl_1_bss_1BC.unk00); - fn_1_49FC(lbl_1_bss_1A8.unk00); - var_r21 = &lbl_1_bss_180[1]; - Hu3DModelHookReset(var_r21->unk00->model[0]); - fn_1_11818(var_r21->unk00, 0, 0, 1, 1); - var_r22 = &lbl_1_bss_4A4; - var_r22->unk00 = var_r22->unk04 = var_r22->unk08 = var_r22->unk0C = 0; - { - StructBss1BC *var_r20 = &lbl_1_bss_1BC; - Vec sp18[] = { { -600.0f, 0.0f, 300.0f }, { -600.0f, 0.0f, 150.0f }, { -450.0f, 0.0f, 150.0f }, { -300.0f, 0.0f, 150.0f } }; - - sp18[0].z = var_r20->unk04[0].z - 100.0f; - for (i = 0; i < 4; i++) { - temp_r25 = &lbl_1_bss_3E4[i]; - if (i == 0) { - sp18[i].z = var_r20->unk04[0].z - 100.0f; - } - omSetTra(temp_r25->unk00, sp18[i].x, sp18[i].y, sp18[i].z); - omSetRot(temp_r25->unk00, 0.0f, 0.0f, 0.0f); - omSetSca(temp_r25->unk00, 1.0f, 1.0f, 1.0f); - temp_r25->unk1C = temp_r25->unk20 = temp_r25->unk24 = temp_r25->unk28 = 0; - } - } - fn_1_BFC8(); - fn_1_F538(); - fn_1_F75C(); - fn_1_71AC(4); - lbl_1_bss_3AC.unk28 = HuAudFXPlay(0x6D7); -} - -void fn_1_1026C(omObjData *arg0) -{ - switch (lbl_1_bss_18) { - case 0: - fn_1_F984(); - lbl_1_bss_18 = 1; - break; - case 1: - if (WipeStatGet() == 0) { - lbl_1_bss_18 = 2; - } - break; - case 2: - if (fn_1_BFF8()) { - lbl_1_bss_18 = 3; - } - break; - case 3: - lbl_1_bss_1C = MGSeqStartCreate(); - lbl_1_bss_18 = 4; - lbl_1_bss_3A4[1] = -1; - break; - case 4: - if ((MGSeqStatGet(lbl_1_bss_1C) & 0x10) && lbl_1_bss_3A4[1] == -1) { - lbl_1_bss_3A4[1] = HuAudSeqPlay(0x4D); - } - if (MGSeqStatGet(lbl_1_bss_1C) == 0) { - lbl_1_bss_18 = 5; - } - break; - case 5: - if (fn_1_F568()) { - lbl_1_bss_18 = 6; - } - break; - case 6: - lbl_1_bss_1C = MGSeqFinishCreate(); - lbl_1_bss_18 = 7; - HuAudSeqPauseAll(0); - HuAudSeqAllFadeOut(250); - break; - case 7: - if (MGSeqStatGet(lbl_1_bss_1C) == 0) { - lbl_1_bss_18 = 8; - } - break; - case 8: - lbl_1_bss_220.unk00->work[0] = 999; - if (fn_1_F78C()) { - lbl_1_bss_18 = 9; - } - break; - case 9: - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - arg0->func = fn_1_F824; - HuAudFXFadeOut(lbl_1_bss_3AC.unk28, 500); - break; - } - fn_1_F924(arg0); -} - -void fn_1_10670(omObjData *arg0) -{ - StructBss220 *var_r28; - StructBss1BC *var_r27; - StructBss1A8 *var_r26; - StructBss180 *temp_r30; - StructBss3E4 *temp_r29; - StructBssD8 *var_r25; - s32 i; - - var_r28 = &lbl_1_bss_220; - var_r28->unk00 = omAddObjEx(lbl_1_bss_0, 0x100, 16, 16, -1, fn_1_3BF0); - var_r27 = &lbl_1_bss_1BC; - var_r27->unk00 = omAddObjEx(lbl_1_bss_0, 0x200, 20, 20, -1, fn_1_4594); - var_r26 = &lbl_1_bss_1A8; - var_r26->unk00 = omAddObjEx(lbl_1_bss_0, 0x300, 16, 16, -1, fn_1_4B1C); - for (i = 0; i < 2; i++) { - temp_r30 = &lbl_1_bss_180[i]; - temp_r30->unk00 = omAddObjEx(lbl_1_bss_0, 0x400, 16, 16, -1, fn_1_4FB0); - temp_r30->unk00->work[0] = i; - } - for (i = 0; i < 4; i++) { - temp_r29 = &lbl_1_bss_3E4[i]; - temp_r29->unk00 = omAddObjEx(lbl_1_bss_0, 0x500, 16, 16, -1, fn_1_6060); - temp_r29->unk00->work[0] = i; - } - var_r25 = &lbl_1_bss_D8; - var_r25->unk00 = omAddObjEx(lbl_1_bss_0, 0x600, 16, 16, -1, fn_1_6944); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - arg0->func = fn_1_1026C; -} - -#include "src/REL/executor.c" - -void fn_1_108DC(void) -{ - lbl_1_bss_0 = omInitObjMan(62, 0x2000); - omGameSysInit(lbl_1_bss_0); - fn_1_1A8(); - fn_1_F6C(); - fn_1_1084(); - fn_1_178C(); - fn_1_2A2C(); - fn_1_54A0(); - omAddObjEx(lbl_1_bss_0, 0x1000, 0, 0, -1, fn_1_10670); -} - -void ObjectSetup(void) -{ - fn_1_108DC(); -} diff --git a/src/REL/m436Dll/sequence.c b/src/REL/m436Dll/sequence.c deleted file mode 100755 index 3bf58b80..00000000 --- a/src/REL/m436Dll/sequence.c +++ /dev/null @@ -1,308 +0,0 @@ -#include "REL/m436Dll.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" - -#include "ext_math.h" - -float fn_1_110FC(float arg0, float arg1, float arg2) { - if (arg2 <= 1.0f) { - return arg1; - } - return (arg1 + arg0 * (arg2 - 1.0f)) / arg2; -} - -float fn_1_1113C(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg2 / arg3) * (arg1 - arg0); -} - -float fn_1_11164(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg1 - arg0) * sind((90.0f / arg3) * arg2); -} - -float fn_1_1122C(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg1 - arg0) * sind((360.0f / arg3) * arg2); -} - -float fn_1_112F4(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg1 - arg0) * (1.0 - cosd((90.0f / arg3) * arg2)); -} - -void fn_1_113CC(omObjData* arg0, s32 arg1, omObjData* arg2, s32 arg3) { - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - - sp20.x = Hu3DData[arg0->model[arg1]].pos.x; - sp20.z = Hu3DData[arg0->model[arg1]].pos.z; - sp2C.x = Hu3DData[arg2->model[arg3]].pos.x; - sp2C.z = Hu3DData[arg2->model[arg3]].pos.z; - sp14.y = Hu3DData[arg0->model[arg1]].rot.y; - sp8.x = sp2C.x - sp20.x; - sp8.z = sp2C.z - sp20.z; - sp14.x = -(atan2d(sp8.z, sp8.x) - 90.0); - if (sp14.x >= 360.0f) { - sp14.x -= 360.0f; - } - if (sp14.x < 0.0f) { - sp14.x += 360.0f; - } - if (sp14.x >= 180.0f) { - if (sp14.y - sp14.x >= 180.0f) { - sp14.y -= 360.0f; - } - if (sp14.y - sp14.x < -180.0f) { - sp14.y += 360.0f; - } - } else { - if (sp14.y - sp14.x > 180.0f) { - sp14.y -= 360.0f; - } - if (sp14.y - sp14.x <= -180.0f) { - sp14.y += 360.0f; - } - } - sp14.y = (9.0f * sp14.y + sp14.x) / 10.0f; - if (arg1 == 0) { - arg0->rot.y = sp14.y; - } else { - Hu3DData[arg0->model[arg1]].rot.y = sp14.y; - } -} - -s32 fn_1_11708(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - if (arg0->motion[arg2] == Hu3DMotionIDGet(arg0->model[0])) { - if (arg4 != 0) { - if (Hu3DMotionTimeGet(arg0->model[arg1]) >= arg3) { - return 1; - } - } else if (Hu3DMotionTimeGet(arg0->model[arg1]) <= arg3) { - return 1; - } - } - return 0; -} - -void fn_1_11818(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - switch (arg4) { - case 0: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_NONE); - break; - case 1: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_LOOP); - break; - case 2: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_PAUSE); - break; - } -} - -void fn_1_11990(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - arg0->work[3] = arg0->motion[arg2]; - fn_1_11818(arg0, arg1, arg2, arg3, arg4); -} - -void fn_1_11B18(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - if (arg0->work[3] != arg0->motion[arg2]) { - arg0->work[3] = arg0->motion[arg2]; - fn_1_11990(arg0, arg1, arg2, arg3, arg4); - } -} - -void fn_1_11CC8(StructBssC0* arg0) { - arg0->unk08 = 0; - arg0->unk0C = arg0->unk04[arg0->unk00].unk08; - arg0->unk10 = arg0->unk04[arg0->unk00].unk00; - arg0->unk14 = arg0->unk04[arg0->unk00].unk04; -} - -void fn_1_11D18(StructBssC0* arg0, StructData1E8* arg1) { - arg0->unk00 = 0; - arg0->unk04 = arg1; - fn_1_11CC8(arg0); -} - -s32 fn_1_11D74(StructBssC0* arg0) { - arg0->unk00++; - fn_1_11CC8(arg0); - if (arg0->unk10 == NULL && arg0->unk14 == NULL) { - return 1; - } - return 0; -} - -s32 fn_1_11DFC(StructBssC0* arg0) { - arg0->unk00--; - if (arg0->unk00 < 0) { - return 1; - } - fn_1_11CC8(arg0); - return 0; -} - -s32 fn_1_11E70(StructBssC0* arg0, s32 arg1) { - arg0->unk00 = arg1; - if (arg0->unk00 < 0) { - return 1; - } - fn_1_11CC8(arg0); - if (arg0->unk10 == NULL && arg0->unk14 == NULL) { - return 1; - } - return 0; -} - -s32 fn_1_11F04(StructBssC0* arg0, s32 arg1) { - if (arg1 == 0) { - return arg0->unk08; - } - arg0->unk08 += arg1; - if (arg0->unk08 >= arg0->unk0C) { - return 1; - } - return 0; -} - -void fn_1_11F40(StructBss32C* arg0, float* arg1, float* arg2) { - float temp_f31; - float temp_f29; - float temp_f30; - float temp_f27; - - temp_f31 = arg1[0] - arg2[0]; - temp_f29 = arg1[1] - arg2[1]; - temp_f30 = arg1[2] - arg2[2]; - arg0->unk10 = arg2[0]; - arg0->unk14 = arg2[1]; - arg0->unk18 = arg2[2]; - arg0->unk38 = sqrtf(temp_f31 * temp_f31 + temp_f29 * temp_f29 + temp_f30 * temp_f30); - temp_f27 = atan2d(temp_f30, temp_f31); - arg0->unk28 = -(atan2d(temp_f29, temp_f31 * cosd(-temp_f27) + temp_f30 * -sind(-temp_f27))); - arg0->unk2C = -(temp_f27 - 90.0f); - arg0->unk30 = 0.0f; -} - -void fn_1_12258(StructBss32C* arg0) { - arg0->unk04 = arg0->unk10; - arg0->unk08 = arg0->unk14; - arg0->unk0C = arg0->unk18; - arg0->unk1C = arg0->unk28; - arg0->unk20 = arg0->unk2C; - arg0->unk24 = arg0->unk30; - arg0->unk34 = arg0->unk38; -} - -void fn_1_12294(StructBss32C* arg0) { - arg0->unk3C = 0.0f; - arg0->unk10 = arg0->unk04; - arg0->unk14 = arg0->unk08; - arg0->unk18 = arg0->unk0C; - arg0->unk28 = arg0->unk1C; - arg0->unk2C = arg0->unk20; - arg0->unk30 = arg0->unk24; - arg0->unk38 = arg0->unk34; -} - -void fn_1_122E0(StructBss32C* arg0, StructBss32C* arg1, float arg2) { - arg0->unk04 = fn_1_110FC(arg0->unk04, arg1->unk10, arg2); - arg0->unk08 = fn_1_110FC(arg0->unk08, arg1->unk14, arg2); - arg0->unk0C = fn_1_110FC(arg0->unk0C, arg1->unk18, arg2); - arg0->unk1C = fn_1_110FC(arg0->unk1C, arg1->unk28, arg2); - arg0->unk20 = fn_1_110FC(arg0->unk24, arg1->unk2C, arg2); - arg0->unk24 = fn_1_110FC(arg0->unk20, arg1->unk30, arg2); - arg0->unk34 = fn_1_110FC(arg0->unk34, arg1->unk38, arg2); -} - -void fn_1_125F4(StructBss32C* arg0, float arg1) { - fn_1_122E0(arg0, arg0, arg1); -} - -void fn_1_12908(StructBss32C* arg0, StructBss32C* arg1, float arg2, float arg3) { - arg1->unk10 = fn_1_1113C(arg0->unk10, arg1->unk04, arg2, arg3); - arg1->unk14 = fn_1_1113C(arg0->unk14, arg1->unk08, arg2, arg3); - arg1->unk18 = fn_1_1113C(arg0->unk18, arg1->unk0C, arg2, arg3); - arg1->unk28 = fn_1_1113C(arg0->unk28, arg1->unk1C, arg2, arg3); - arg1->unk2C = fn_1_1113C(arg0->unk30, arg1->unk20, arg2, arg3); - arg1->unk30 = fn_1_1113C(arg0->unk2C, arg1->unk24, arg2, arg3); - arg1->unk38 = fn_1_1113C(arg0->unk38, arg1->unk34, arg2, arg3); -} - -void fn_1_12B84(StructBss32C* arg0, StructBss32C* arg1, float arg2, float arg3) { - fn_1_12908(arg0, arg1, arg2, arg3); - arg0->unk04 = arg1->unk10; - arg0->unk08 = arg1->unk14; - arg0->unk0C = arg1->unk18; - arg0->unk1C = arg1->unk28; - arg0->unk20 = arg1->unk2C; - arg0->unk24 = arg1->unk30; - arg0->unk34 = arg1->unk38; -} - -void fn_1_12E38(StructBss32C* arg0, StructBss32C* arg1, float arg2, float arg3, float arg4) { - fn_1_12908(arg0, arg1, arg2, arg3); - fn_1_122E0(arg0, arg1, arg4); -} - -void fn_1_13368(StructBss32C* arg0, StructBss32C* arg1, float arg2, float arg3) { - arg1->unk10 = fn_1_11164(arg0->unk10, arg1->unk04, arg2, arg3); - arg1->unk14 = fn_1_11164(arg0->unk14, arg1->unk08, arg2, arg3); - arg1->unk18 = fn_1_11164(arg0->unk18, arg1->unk0C, arg2, arg3); - arg1->unk28 = fn_1_11164(arg0->unk28, arg1->unk1C, arg2, arg3); - arg1->unk2C = fn_1_11164(arg0->unk30, arg1->unk20, arg2, arg3); - arg1->unk30 = fn_1_11164(arg0->unk2C, arg1->unk24, arg2, arg3); - arg1->unk38 = fn_1_11164(arg0->unk38, arg1->unk34, arg2, arg3); -} - -void fn_1_137BC(StructBss32C* arg0, StructBss32C* arg1, float arg2, float arg3) { - fn_1_13368(arg0, arg1, arg2, arg3); - arg0->unk04 = arg1->unk10; - arg0->unk08 = arg1->unk14; - arg0->unk0C = arg1->unk18; - arg0->unk1C = arg1->unk28; - arg0->unk20 = arg1->unk2C; - arg0->unk24 = arg1->unk30; - arg0->unk34 = arg1->unk38; -} - -void fn_1_13C48(StructBss32C* arg0, StructBss32C* arg1, float arg2, float arg3, float arg4) { - fn_1_13368(arg0, arg1, arg2, arg3); - fn_1_122E0(arg0, arg1, arg4); -} - -void fn_1_14364(StructBss32C* arg0, StructBss32C* arg1, float arg2, float arg3) { - arg1->unk10 = fn_1_112F4(arg0->unk10, arg1->unk04, arg2, arg3); - arg1->unk14 = fn_1_112F4(arg0->unk14, arg1->unk08, arg2, arg3); - arg1->unk18 = fn_1_112F4(arg0->unk18, arg1->unk0C, arg2, arg3); - arg1->unk28 = fn_1_112F4(arg0->unk28, arg1->unk1C, arg2, arg3); - arg1->unk2C = fn_1_112F4(arg0->unk30, arg1->unk20, arg2, arg3); - arg1->unk30 = fn_1_112F4(arg0->unk2C, arg1->unk24, arg2, arg3); - arg1->unk38 = fn_1_112F4(arg0->unk38, arg1->unk34, arg2, arg3); -} - -void fn_1_14828(StructBss32C* arg0, StructBss32C* arg1, float arg2, float arg3) { - fn_1_14364(arg0, arg1, arg2, arg3); - arg0->unk04 = arg1->unk10; - arg0->unk08 = arg1->unk14; - arg0->unk0C = arg1->unk18; - arg0->unk1C = arg1->unk28; - arg0->unk20 = arg1->unk2C; - arg0->unk24 = arg1->unk30; - arg0->unk34 = arg1->unk38; -} - -void fn_1_14D24(StructBss32C* arg0, StructBss32C* arg1, float arg2, float arg3, float arg4) { - fn_1_14364(arg0, arg1, arg2, arg3); - fn_1_122E0(arg0, arg1, arg4); -} diff --git a/src/REL/m437Dll/main.c b/src/REL/m437Dll/main.c deleted file mode 100755 index 5ca6de46..00000000 --- a/src/REL/m437Dll/main.c +++ /dev/null @@ -1,3464 +0,0 @@ -#include "REL/m437Dll.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/gamework.h" -#include "game/gamework_data.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/process.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - -#include "dolphin.h" -#include "math.h" -#include "string.h" -#include "version.h" - -typedef struct { - /* 0x000 */ omObjData *unk00; - /* 0x004 */ s32 unk04; - /* 0x008 */ s32 unk08; - /* 0x00C */ s32 unk0C; - /* 0x010 */ s32 unk10; - /* 0x014 */ s32 unk14; - /* 0x018 */ char unk18[4]; - /* 0x01C */ s32 unk1C; - /* 0x020 */ s32 unk20; - /* 0x024 */ s32 unk24; - /* 0x028 */ s32 unk28; - /* 0x02C */ s32 unk2C; - /* 0x030 */ s32 unk30; - /* 0x034 */ s32 unk34; - /* 0x038 */ s32 unk38; - /* 0x03C */ s32 unk3C; - /* 0x040 */ s32 unk40; - /* 0x044 */ float unk44; - /* 0x048 */ float unk48; - /* 0x04C */ float unk4C; - /* 0x050 */ StructFn15CD0 unk50; -} StructBss1DC; // Size 0x138 - -typedef struct { - /* 0x00 */ omObjData *unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ s32 unk20; -} StructBss920; // Size 0x24 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; -} StructFn3410; // Size 0x14 - -typedef struct { - /* 0x00 */ omObjData *unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ s32 unk20; - /* 0x24 */ float unk24; -} StructBss8D4; // Size 0x28 - -typedef struct { - /* 0x000 */ omObjData *unk00; - /* 0x004 */ s32 unk04; - /* 0x008 */ s32 unk08; - /* 0x00C */ s32 unk0C; - /* 0x010 */ s32 unk10; - /* 0x014 */ s32 unk14; - /* 0x018 */ s32 unk18; - /* 0x01C */ s32 unk1C; - /* 0x020 */ s32 unk20; - /* 0x024 */ StructFn15CD0 unk24; -} StructBss6BC; // Size 0x10C - -typedef struct { - /* 0x00 */ omObjData *unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ s32 unk20; -} StructBss8FC; // Size 0x24 - -typedef struct { - /* 0x00 */ omObjData *unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ s32 unk20; - /* 0x24 */ float unk24[7]; - /* 0x40 */ char unk40[4]; - /* 0x44 */ float unk44[7]; - /* 0x60 */ char unk60[4]; - /* 0x64 */ float unk64[7]; - /* 0x80 */ char unk80[4]; - /* 0x84 */ float unk84[7]; - /* 0xA0 */ char unkA0[4]; - /* 0xA4 */ float unkA4[7]; - /* 0xC0 */ char unkC0[4]; - /* 0xC4 */ float unkC4[7]; - /* 0xE0 */ char unkE0[4]; -} StructBss68; // Size 0xE4 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ s32 unk20; -} StructBss944; // Size 0x24 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ char unk08[0x38]; -} StructBss968; // Size 0x40 - -void fn_1_0(void); -void fn_1_1A8(void); -void fn_1_230(s32 arg0, s32 arg1, float arg2); -void fn_1_298(s32 arg0, float arg1); -float fn_1_304(s32 arg0); -void fn_1_434(void); -void fn_1_4C0(void); -void fn_1_8A4(void (*arg0)(void)); -void fn_1_8C4(void (*arg0)(void)); -void fn_1_8E4(omObjData *arg0); -void fn_1_F8C(void); -void fn_1_10C0(void); -void fn_1_1184(s32 arg0); -s32 fn_1_11BC(void); -void fn_1_11E0(void); -void fn_1_1218(omObjData *arg0); -void fn_1_13E8(void); -void fn_1_144C(s32 arg0, float arg1, float arg2, s32 arg3); -void fn_1_1A90(void); -void fn_1_1AB4(s32 arg0, float arg1, float arg2); -s32 fn_1_1F0C(float arg0, float arg1, float arg2, float arg3, s32 arg4); -s32 fn_1_20F8(float arg0, float arg1, float arg2, float arg3, s32 arg4); -void fn_1_22E4(s32 arg0, float arg1, float arg2); -void fn_1_273C(s32 arg0); -void fn_1_27A4(s32 arg0); -void fn_1_280C(s32 arg0, s32 arg1); -void fn_1_28F4(s32 arg0); -void fn_1_2A10(s32 arg0, s32 arg1); -void fn_1_2A94(float *arg0, s32 arg1); -void fn_1_2B04(omObjData *arg0); -void fn_1_2BAC(s32 arg0); -void fn_1_2BBC(omObjData *arg0); -void fn_1_3194(omObjData *arg0); -void fn_1_3260(StructBss920 *arg0); -void fn_1_3410(omObjData *arg0); -float fn_1_3694(void); -float fn_1_36B4(void); -void fn_1_37D4(s32 arg0); -void fn_1_37E8(omObjData *arg0); -s32 fn_1_3990(void); -void fn_1_39C4(float arg0); -void fn_1_39E4(omObjData *arg0); -void fn_1_3B50(void); -void fn_1_3B64(omObjData *arg0); -void fn_1_3CB8(s32 arg0); -void fn_1_3D40(omObjData *arg0); -void fn_1_3F44(omObjData *arg0); -void fn_1_4538(StructBss8FC *arg0); -void fn_1_46C0(omObjData *arg0); -void fn_1_4928(s32 arg0); -void fn_1_4938(omObjData *arg0); -void fn_1_4AF8(s32 arg0); -void fn_1_4BAC(s32 arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_4C40(omObjData *arg0); -void fn_1_4E00(StructBss8D4 *arg0); -void fn_1_4EE0(omObjData *arg0); -void fn_1_5148(s32 arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_51DC(s32 arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_5270(s32 arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_5304(s32 arg0); -void fn_1_532C(omObjData *arg0); -void fn_1_5658(omObjData *arg0); -void fn_1_5984(StructBss6BC *arg0); -void fn_1_5AD8(omObjData *arg0); -void fn_1_5FBC(void); -void fn_1_610C(s32 arg0, s32 arg1); -void fn_1_6134(omObjData *arg0); -void fn_1_6198(s32 arg0, s32 arg1); -void fn_1_6200(omObjData *arg0); -void fn_1_6580(s32 arg0, s32 arg1, s32 arg2); -void fn_1_65E0(omObjData *arg0); -void fn_1_70F8(s32 arg0, s32 arg1); -void fn_1_7134(omObjData *arg0); -void fn_1_72CC(omObjData *arg0); -void fn_1_74B0(StructBss1DC *arg0); -void fn_1_7678(omObjData *arg0); -void fn_1_79E0(void); -void fn_1_7A14(omObjData *arg0); -void fn_1_82E0(omObjData *arg0); -void fn_1_8308(StructBss68 *arg0); -void fn_1_84C4(omObjData *arg0); -void fn_1_8684(void); -void fn_1_8734(void); -void fn_1_8824(void); -void fn_1_88D4(void); -void fn_1_8984(void); -void fn_1_8A34(void); -void fn_1_8B24(void); -void fn_1_8BD4(void); -void fn_1_8C84(s32 arg0); -void fn_1_8DA4(void); -void fn_1_9320(void); -void fn_1_96D8(void); -void fn_1_9B2C(s32 arg0); -void fn_1_9FA0(void); -void fn_1_A440(void); -void fn_1_A860(void); -s32 fn_1_A864(void); -void fn_1_A9E8(void); -s32 fn_1_AA24(void); -void fn_1_AA80(void); -s32 fn_1_AABC(void); -void fn_1_AB18(void); -s32 fn_1_AB68(void); -void fn_1_ABB0(void); -s32 fn_1_ABEC(void); -void fn_1_AC70(void); -s32 fn_1_ACCC(void); -void fn_1_AD28(void); -s32 fn_1_AD98(void); -void fn_1_ADE0(void); -s32 fn_1_AE1C(void); -void fn_1_AE78(void); -s32 fn_1_AF4C(void); -void fn_1_B194(void); -s32 fn_1_B1C4(void); -float fn_1_B250(void); -void fn_1_B270(void); -s32 fn_1_B3F0(s32 arg0); -float fn_1_B4F4(s32 arg0, s32 arg1); -void fn_1_B7E0(void); -void fn_1_B8D0(void); -void fn_1_BC18(void); -void fn_1_BCC8(void); -void fn_1_BDB8(s32 arg0); -void fn_1_BE80(void); -void fn_1_C248(void); -void fn_1_C610(void); -void fn_1_C9C4(void); -void fn_1_CD20(void); -void fn_1_D03C(void); -void fn_1_D3C0(void); -void fn_1_D754(void); -s32 fn_1_D930(void); -void fn_1_DCEC(void); -s32 fn_1_DEC4(void); -void fn_1_E2A8(void); -s32 fn_1_E598(void); -void fn_1_E634(void); -s32 fn_1_E944(void); -void fn_1_E9A0(void); -s32 fn_1_EAA4(void); -void fn_1_EB38(void); -s32 fn_1_EC10(void); -void fn_1_EDD4(void); -s32 fn_1_EEA0(void); -void fn_1_EFCC(void); -s32 fn_1_F0B8(void); -void fn_1_F0F8(void); -s32 fn_1_F144(void); -void fn_1_F18C(void); -s32 fn_1_F294(void); -void fn_1_F3D8(void); -s32 fn_1_F494(void); -void fn_1_F4D4(void); -s32 fn_1_F504(void); -void fn_1_F590(void); -s32 fn_1_F640(void); -void fn_1_F6EC(void); -s32 fn_1_F71C(void); -void fn_1_F7A8(omObjData *arg0); -s32 fn_1_F89C(void); -void fn_1_F8AC(void); -void fn_1_1043C(omObjData *arg0); -void fn_1_108A4(omObjData *arg0); -void fn_1_10B30(void); - -StructBss968 lbl_1_bss_968; -StructBss944 lbl_1_bss_944; -StructBss920 lbl_1_bss_920; -StructBss8FC lbl_1_bss_8FC; -StructBss8D4 lbl_1_bss_8D4; -StructBss6BC lbl_1_bss_6BC[2]; -StructBss1DC lbl_1_bss_1DC[4]; -StructBss160 lbl_1_bss_160; -float lbl_1_bss_15C; -float lbl_1_bss_158; -float lbl_1_bss_154; -float lbl_1_bss_150; -float lbl_1_bss_14C; -StructBss68 lbl_1_bss_68; -StructBss50 lbl_1_bss_50; -StructBss50 lbl_1_bss_38; -StructBss50 lbl_1_bss_20; -s32 lbl_1_bss_1C; -s32 lbl_1_bss_18; -float lbl_1_bss_14; -s32 lbl_1_bss_10; -s32 lbl_1_bss_C; -s32 lbl_1_bss_8; -s32 lbl_1_bss_4; -Process *lbl_1_bss_0; - -s32 lbl_1_data_0[][5] = { { 91, 105, 126, 141, -1 }, { 91, 105, 126, 141, -1 }, { 124, 137, -1, -1, -1 }, { 85, 100, 127, -1, -1 }, - { 124, 139, -1, -1, -1 }, { 85, 97, 127, 139, -1 }, { 127, 137, -1, -1, -1 }, { 79, 95, 109, 127, -1 } }; - -s32 lbl_1_data_A0 = -1; -s32 lbl_1_data_A4 = -1; -s32 lbl_1_data_A8 = -1; - -void fn_1_0(void) -{ - s32 i; - - while (TRUE) { - HuPrcVSleep(); - if (lbl_1_data_A0 == -1 || lbl_1_data_A4 == -1 || lbl_1_data_A8 == -1 || lbl_1_data_A4 != Hu3DMotionIDGet(lbl_1_data_A0)) { - continue; - } - for (i = 0; i < 5; i++) { - if (lbl_1_data_0[lbl_1_data_A8][i] != -1 && Hu3DMotionTimeGet(lbl_1_data_A0) >= lbl_1_data_0[lbl_1_data_A8][i]) { - OSReport("KE-System CHR:%d TIME:%d\n", lbl_1_data_A8, lbl_1_data_0[lbl_1_data_A8][i]); - HuAudFXPlay(0x6D8); - lbl_1_data_0[lbl_1_data_A8][i] = -1; - } - } - } -} - -void fn_1_1A8(void) -{ - s32 var_r31; - - var_r31 = Hu3DGLightCreate(0.0f, 1000.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0xFF, 0xFF, 0xFF); - Hu3DGLightInfinitytSet(var_r31); -} - -void fn_1_230(s32 arg0, s32 arg1, float arg2) -{ - StructBss160 *var_r31; - - var_r31 = &lbl_1_bss_160; - var_r31->unk44[arg0] = arg1; - if (var_r31->unk60[arg0] < 0.0f) { - var_r31->unk60[arg0] = -arg2; - } - else { - var_r31->unk60[arg0] = arg2; - } -} - -void fn_1_298(s32 arg0, float arg1) -{ - fn_1_230(arg0, -1, arg1); -} - -float fn_1_304(s32 arg0) -{ - StructBss160 *var_r31; - - var_r31 = &lbl_1_bss_160; - if (var_r31->unk60[arg0] != 0.0f) { - var_r31->unk60[arg0] *= -0.9f; - if (var_r31->unk44[arg0] == -1) { - if (var_r31->unk60[arg0] >= -0.5f && var_r31->unk60[arg0] <= 0.5f) { - var_r31->unk60[arg0] = 0.0f; - } - } - else { - var_r31->unk44[arg0]--; - if (var_r31->unk44[arg0] <= 0) { - var_r31->unk44[arg0] = 0; - var_r31->unk60[arg0] = 0.0f; - } - } - } - return var_r31->unk60[arg0]; -} - -void fn_1_434(void) -{ - StructBss160 *var_r31; - - var_r31 = &lbl_1_bss_160; - var_r31->unk08 = 0.0f; - var_r31->unk0C = 225.0f; - var_r31->unk10 = 1740.0f; - var_r31->unk20 = -10.0f; - var_r31->unk24 = 0.0f; - var_r31->unk28 = 0.0f; - var_r31->unk38 = 300.0f; -} - -void fn_1_4C0(void) -{ - StructBss160 *var_r31; - - var_r31 = &lbl_1_bss_160; - if (HuPadBtn[0] & 0x200) { - if (HuPadBtn[0] & 0x100) { - var_r31->unk10 -= HuPadStkY[0] / 10.0f; - } - else { - var_r31->unk08 += HuPadStkX[0] / 10.0f; - var_r31->unk0C += HuPadStkY[0] / 10.0f; - } - } - if (HuPadBtn[0] & 0x800) { - var_r31->unk20 -= HuPadStkY[0] / 100.0f; - var_r31->unk24 += HuPadStkX[0] / 100.0f; - if (var_r31->unk20 < 0.0f) { - var_r31->unk20 += 360.0f; - } - if (var_r31->unk20 >= 360.0f) { - var_r31->unk20 -= 360.0f; - } - if (var_r31->unk24 < 0.0f) { - var_r31->unk24 += 360.0f; - } - if (var_r31->unk24 >= 360.0f) { - var_r31->unk24 -= 360.0f; - } - } - if (HuPadBtn[0] & 0x400) { - var_r31->unk38 -= HuPadStkY[0] / 10.0f; - } - print8(16, 100, 1.0f, ">>>>>>>>>> CAMERA TEST <<<<<<<<<<"); - print8(16, 110, 1.0f, "CENTER : %.2f, %.2f, %.2f", var_r31->unk08, var_r31->unk0C, var_r31->unk10); - print8(16, 120, 1.0f, "ROT : %.2f, %.2f, %.2f", var_r31->unk20, var_r31->unk24, var_r31->unk28); - print8(16, 130, 1.0f, "ZOOM : %.2f", var_r31->unk38); -} - -void fn_1_8A4(void (*arg0)(void)) -{ - StructBss160 *var_r31; - - var_r31 = &lbl_1_bss_160; - var_r31->unk00 = arg0; -} - -void fn_1_8C4(void (*arg0)(void)) -{ - StructBss160 *var_r31; - - var_r31 = &lbl_1_bss_160; - var_r31->unk04 = arg0; -} - -void fn_1_8E4(omObjData *arg0) -{ - StructBss160 *var_r31; - - var_r31 = &lbl_1_bss_160; - if (var_r31->unk00 != NULL) { - var_r31->unk00(); - } - Center.x = var_r31->unk08 + fn_1_304(0); - Center.y = var_r31->unk0C + fn_1_304(1); - Center.z = var_r31->unk10 + fn_1_304(2); - CRot.x = var_r31->unk20 + fn_1_304(3); - CRot.y = var_r31->unk24 + fn_1_304(4); - CRot.z = var_r31->unk28 + fn_1_304(5); - CZoom = var_r31->unk38 + fn_1_304(6); -} - -void fn_1_F8C(void) -{ - Hu3DCameraCreate(1); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraPerspectiveSet(1, 45.0f, 0.1f, 10000.0f, 1.2f); - fn_1_8A4(fn_1_434); - fn_1_8C4(fn_1_4C0); - omAddObjEx(lbl_1_bss_0, 0x7FDA, 0, 0, -1, omOutView); - omAddObjEx(lbl_1_bss_0, 0x7FD9, 0, 0, -1, fn_1_8E4); -} - -void fn_1_10C0(void) -{ - Vec sp20 = { 0.0f, 3000.0f, 1.0f }; - Vec sp14 = { 0.0f, 0.0f, 0.0f }; - Vec sp8 = { 0.0f, 1.0f, 0.0f }; - - Hu3DShadowCreate(45.0f, 2000.0f, 25000.0f); - Hu3DShadowTPLvlSet(0.8f); - Hu3DShadowPosSet(&sp20, &sp8, &sp14); -} - -void fn_1_1184(s32 arg0) -{ - if (lbl_1_bss_8 == 0) { - lbl_1_bss_8 = 1; - lbl_1_bss_4 = arg0 * REFRESH_RATE; - } -} - -s32 fn_1_11BC(void) -{ - if (lbl_1_bss_8 == 3) { - return 1; - } - else { - return 0; - } -} - -void fn_1_11E0(void) -{ - if (lbl_1_bss_8 == 2) { - lbl_1_bss_8 = 3; - lbl_1_bss_4 = 30; - } -} - -s32 lbl_1_data_12C = -1; - -void fn_1_1218(omObjData *arg0) -{ - switch (lbl_1_bss_8) { - case 1: - if (lbl_1_data_12C == -1) { - lbl_1_data_12C = MGSeqCreate(1, lbl_1_bss_4 / REFRESH_RATE, -1, -1); - } - lbl_1_bss_8 = 2; - break; - case 2: - lbl_1_bss_4--; - if (lbl_1_data_12C != -1) { - MGSeqParamSet(lbl_1_data_12C, 1, (lbl_1_bss_4 + REFRESH_RATE - 1) / REFRESH_RATE); - } - if (lbl_1_bss_4 <= 0) { - lbl_1_bss_4 = 30; - lbl_1_bss_8 = 3; - } - break; - case 3: - if (lbl_1_data_12C != -1) { - MGSeqParamSet(lbl_1_data_12C, 2, -1); - lbl_1_data_12C = -1; - } - lbl_1_bss_4 = 0; - lbl_1_bss_8 = 0; - break; - } -} - -void fn_1_13E8(void) -{ - lbl_1_bss_4 = 0; - lbl_1_bss_8 = 0; - omAddObjEx(lbl_1_bss_0, 0x2000, 0, 0, -1, fn_1_1218); -} - -// Identical to mgmodedll/main.c::fn_1_245CC -void fn_1_144C(s32 arg0, float arg1, float arg2, s32 arg3) -{ - WindowData *temp_r29; - float temp_f29; - float temp_f28; - float temp_f25; - float temp_f24; - float temp_f27; - float temp_f26; - float var_f31; - float var_f30; - float var_f23; - float var_f22; - float var_f21; - float var_f20; - s32 i; - - temp_r29 = &winData[arg0]; - temp_f29 = temp_r29->pos_x; - temp_f28 = temp_r29->pos_y; - temp_f25 = temp_r29->w; - temp_f24 = temp_r29->h; - var_f31 = temp_f29 + temp_f25 * arg1; - temp_f27 = 4.0f / temp_f25; - if (var_f31 + 4.0f - (temp_f29 + temp_f25) >= 0.0f) { - var_f31 = temp_f29 + temp_f25 - 4.0f; - } - else { - if (temp_f29 - (var_f31 - 2.0f) >= 0.0f) { - var_f31 = temp_f29; - } - else { - var_f31 -= 2.0f; - } - } - var_f30 = temp_f28 + temp_f24 * arg2; - temp_f26 = 4.0f / temp_f24; - if (var_f30 + 4.0f - (temp_f28 + temp_f24) >= 0.0f) { - var_f30 = temp_f28 + temp_f24 - 4.0f; - } - else { - if (temp_f28 - (var_f30 - 2.0f) >= 0.0f) { - var_f30 = temp_f28; - } - else { - var_f30 -= 2.0f; - } - } - if (arg3 != 0) { - HuWinPosSet(arg0, var_f31, var_f30); - HuWinScaleSet(arg0, temp_f27, temp_f26); - var_f23 = var_f31; - var_f21 = temp_f27; - var_f22 = var_f30; - var_f20 = temp_f26; - } - else { - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - var_f23 = temp_f29; - var_f21 = 1.0f; - var_f22 = temp_f28; - var_f20 = 1.0f; - } - HuWinDispOn(arg0); - for (i = 0; i <= 15; i++) { - HuPrcVSleep(); - if (arg3 != 0) { - if (i <= 10) { - var_f23 = fn_1_113B0(var_f31, temp_f29, i, 10.0f); - var_f21 = fn_1_113B0(temp_f27, 1.0f, i, 10.0f); - } - else { - var_f22 = fn_1_113B0(var_f30, temp_f28, i - 10, 5.0f); - var_f20 = fn_1_113B0(temp_f26, 1.0f, i - 10, 5.0f); - } - } - else { - if (i <= 10) { - var_f22 = fn_1_113B0(temp_f28, var_f30, i, 10.0f); - var_f20 = fn_1_113B0(1.0f, temp_f26, i, 10.0f); - } - else { - var_f23 = fn_1_113B0(temp_f29, var_f31, i - 10, 5.0f); - var_f21 = fn_1_113B0(1.0f, temp_f27, i - 10, 5.0f); - } - } - HuWinPosSet(arg0, var_f23, var_f22); - HuWinScaleSet(arg0, var_f21, var_f20); - } - if (arg3 != 0) { - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - } - else { - HuWinPosSet(arg0, var_f31, var_f30); - HuWinScaleSet(arg0, temp_f27, temp_f26); - } - HuPrcVSleep(); -} - -void fn_1_1A90(void) -{ - HuWinInit(1); -} - -void fn_1_1AB4(s32 arg0, float arg1, float arg2) -{ - WindowData *temp_r31; - float temp_f29; - float temp_f28; - float temp_f27; - float temp_f26; - float temp_f25; - float temp_f24; - float var_f31; - float var_f30; - float temp_f23; - float temp_f22; - float temp_f21; - float temp_f20; - s32 i; - - temp_r31 = &winData[arg0]; - temp_f29 = temp_r31->pos_x; - temp_f28 = temp_r31->pos_y; - temp_f27 = temp_r31->w; - temp_f26 = temp_r31->h; - var_f31 = temp_f29 + temp_f27 * arg1; - temp_f25 = 4.0f / temp_f27; - if (var_f31 + 4.0f - (temp_f29 + temp_f27) >= 0.0f) { - var_f31 = temp_f29 + temp_f27 - 4.0f; - } - else { - if (temp_f29 - (var_f31 - 2.0f) >= 0.0f) { - var_f31 = temp_f29; - } - else { - var_f31 = var_f31 - 2.0f; - } - } - var_f30 = temp_f28 + temp_f26 * arg2; - temp_f24 = 4.0f / temp_f26; - if (var_f30 + 4.0f - (temp_f28 + temp_f26) >= 0.0f) { - var_f30 = temp_f28 + temp_f26 - 4.0f; - } - else { - if (temp_f28 - (var_f30 - 2.0f) >= 0.0f) { - var_f30 = temp_f28; - } - else { - var_f30 = var_f30 - 2.0f; - } - } - HuWinPosSet(arg0, var_f31, var_f30); - HuWinScaleSet(arg0, temp_f25, temp_f24); - HuPrcVSleep(); - for (i = 0; i < 10; i++) { - temp_f23 = fn_1_113B0(var_f31, temp_f29, i, 10.0f); - temp_f21 = fn_1_113B0(temp_f25, 1.0f, i, 10.0f); - temp_f22 = fn_1_113B0(var_f30, temp_f28, i, 10.0f); - temp_f20 = fn_1_113B0(temp_f24, 1.0f, i, 10.0f); - HuWinPosSet(arg0, temp_f23, temp_f22); - HuWinScaleSet(arg0, temp_f21, temp_f20); - HuPrcVSleep(); - } - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - HuPrcVSleep(); -} - -s32 fn_1_1F0C(float arg0, float arg1, float arg2, float arg3, s32 arg4) -{ - s32 var_r31; - s32 sp18[][6] = { { 0xFF, 0xFF, 0xCC, 0x00, 0x09, 0x09 }, { 0xCC, 0xFF, 0xFF, 0x00, 0x09, 0x09 }, { 0xFF, 0xCC, 0xFF, 0x00, 0x09, 0x09 } }; - - var_r31 = HuWinCreate(arg0, arg1, arg2, arg3, 1); - HuSprColorSet(winData[var_r31].group, 0, sp18[arg4][0], sp18[arg4][1], sp18[arg4][2]); - winData[var_r31].mess_color = sp18[arg4][3]; - winData[var_r31].mess_shadow_color = sp18[arg4][4]; - winData[var_r31].attr |= 0x80; - HuWinBGTPLvlSet(var_r31, sp18[arg4][5] / 10.0f); - winData[var_r31].active_pad = 0; - fn_1_144C(var_r31, 0.5f, 0.5f, 1); - return var_r31; -} - -s32 fn_1_20F8(float arg0, float arg1, float arg2, float arg3, s32 arg4) -{ - return fn_1_1F0C(arg0, arg1, arg2, arg3, arg4); -} - -void fn_1_22E4(s32 arg0, float arg1, float arg2) -{ - WindowData *temp_r31; - float temp_f29; - float temp_f28; - float temp_f27; - float temp_f26; - float temp_f25; - float temp_f24; - float var_f31; - float var_f30; - float temp_f23; - float temp_f22; - float temp_f21; - float temp_f20; - s32 i; - - temp_r31 = &winData[arg0]; - temp_f29 = temp_r31->pos_x; - temp_f28 = temp_r31->pos_y; - temp_f27 = temp_r31->w; - temp_f26 = temp_r31->h; - var_f31 = temp_f29 + temp_f27 * arg1; - temp_f25 = 4.0f / temp_f27; - if (var_f31 + 4.0f - (temp_f29 + temp_f27) >= 0.0f) { - var_f31 = temp_f29 + temp_f27 - 4.0f; - } - else { - if (temp_f29 - (var_f31 - 2.0f) >= 0.0f) { - var_f31 = temp_f29; - } - else { - var_f31 = var_f31 - 2.0f; - } - } - var_f30 = temp_f28 + temp_f26 * arg2; - temp_f24 = 4.0f / temp_f26; - if (var_f30 + 4.0f - (temp_f28 + temp_f26) >= 0.0f) { - var_f30 = temp_f28 + temp_f26 - 4.0f; - } - else { - if (temp_f28 - (var_f30 - 2.0f) >= 0.0f) { - var_f30 = temp_f28; - } - else { - var_f30 = var_f30 - 2.0f; - } - } - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - HuPrcVSleep(); - for (i = 0; i < 10; i++) { - temp_f23 = fn_1_11540(temp_f29, var_f31, i, 10.0f); - temp_f21 = fn_1_11540(1.0f, temp_f25, i, 10.0f); - temp_f22 = fn_1_11540(temp_f28, var_f30, i, 10.0f); - temp_f20 = fn_1_11540(1.0f, temp_f24, i, 10.0f); - HuWinPosSet(arg0, temp_f23, temp_f22); - HuWinScaleSet(arg0, temp_f21, temp_f20); - HuPrcVSleep(); - } - HuWinPosSet(arg0, var_f31, var_f30); - HuWinScaleSet(arg0, temp_f25, temp_f24); - HuPrcVSleep(); -} - -void fn_1_273C(s32 arg0) -{ - HuWinMesSet(arg0, MAKE_MESSID(29, 22)); - HuPrcVSleep(); - fn_1_144C(arg0, 0.5f, 0.5f, 0); - HuWinKill(arg0); -} - -void fn_1_27A4(s32 arg0) -{ - fn_1_273C(arg0); -} - -void fn_1_280C(s32 arg0, s32 arg1) -{ - s32 var_r30; - s32 temp_r28; - s32 i; - - var_r30 = 0; - temp_r28 = GWMessDelayGet(); - if (arg1 > 0) { - HuPrcSleep(arg1); - return; - } - HuWinComKeyReset(); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1DC[i].unk34 == 0) { - var_r30 = 1; - winData[arg0].active_pad = 0xF; - } - } - if (var_r30 == 0) { - winData[arg0].active_pad = 0xF; - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, temp_r28); - } - HuWinMesWait(arg0); - HuWinComKeyReset(); -} - -void fn_1_28F4(s32 arg0) -{ - s32 var_r31; - s32 temp_r28; - s32 i; - - var_r31 = 0; - temp_r28 = GWMessDelayGet(); - HuWinComKeyReset(); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1DC[i].unk34 == 0) { - var_r31 = 1; - winData[arg0].active_pad = 0xF; - } - } - if (var_r31 == 0) { - winData[arg0].active_pad = 0xF; - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, temp_r28); - } - var_r31 = HuWinChoiceGet(arg0, 1); - if (var_r31 == -1 || var_r31 == 1) { - lbl_1_bss_10 = 0; - } - else { - lbl_1_bss_10 = 1; - } - HuWinComKeyReset(); -} - -void fn_1_2A10(s32 arg0, s32 arg1) -{ - winData[arg0].mess_color = 0; - winData[arg0].mess_shadow_color = 9; - winData[arg0].attr |= 0x80; - HuWinMesSet(arg0, arg1); -} - -void fn_1_2A94(float *arg0, s32 arg1) -{ - float spC[2]; - - HuWinMesMaxSizeGet(1, spC, arg1); - if (spC[0] > arg0[0]) { - arg0[0] = spC[0]; - } - if (spC[1] > arg0[1]) { - arg0[1] = spC[1]; - } -} - -void fn_1_2B04(omObjData *arg0) -{ - s32 i; - - for (i = 0; i < 3; i++) { - Hu3DData[arg0->model[i + 5]].rot.y += 360.0f / (2500.0f + 2500.0f * i); - } -} - -void fn_1_2BAC(s32 arg0) -{ - lbl_1_bss_920.unk04 = arg0; -} - -void fn_1_2BBC(omObjData *arg0) -{ - StructBss920 *temp_r30; - - temp_r30 = arg0->data; - switch (temp_r30->unk04) { - case 2: - fn_1_119A0(arg0, 9, 9, 1, 0); - Hu3DModelAttrReset(arg0->model[9], HU3D_ATTR_DISPOFF); - temp_r30->unk1C = 0; - fn_1_230(1, 10, 4.0f); - HuAudFXPlay(0x6CF); - /* fallthrough */ - case 1: - fn_1_119A0(arg0, 0, 0, 1, 0); - fn_1_119A0(arg0, 3, 3, 1, 0); - fn_1_119A0(arg0, 4, 4, 1, 0); - fn_1_119A0(arg0, 5, 5, 1, 0); - fn_1_119A0(arg0, 6, 6, 1, 0); - fn_1_119A0(arg0, 7, 7, 1, 0); - if (temp_r30->unk04 == 1) { - HuAudFXPlay(0x6CE); - } - temp_r30->unk04 = 10; - break; - case 3: - temp_r30->unk04 = 30; - fn_1_119A0(arg0, 0, 0, 1, 0); - fn_1_119A0(arg0, 1, 1, 1, 0); - fn_1_119A0(arg0, 2, 2, 1, 0); - fn_1_119A0(arg0, 3, 3, 1, 0); - fn_1_119A0(arg0, 4, 4, 1, 0); - fn_1_119A0(arg0, 5, 5, 1, 0); - fn_1_119A0(arg0, 6, 6, 1, 0); - fn_1_119A0(arg0, 7, 7, 1, 0); - fn_1_119A0(arg0, 8, 8, 0, 0); - Hu3DModelAttrReset(arg0->model[8], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(arg0->model[9], HU3D_ATTR_DISPOFF); - HuAudFXPlay(0x6D0); - break; - case 10: - if (Hu3DMotionEndCheck(arg0->model[3])) { - temp_r30->unk04 = 0; - fn_1_119A0(arg0, 3, 13, 1, 1); - fn_1_119A0(arg0, 4, 14, 1, 1); - Hu3DModelAttrSet(arg0->model[8], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[9], HU3D_ATTR_DISPOFF); - } - break; - case 30: - fn_1_230(6, -1, 8.0f); - if (Hu3DMotionTimeGet(arg0->model[3]) >= 30.0f) { - temp_r30->unk04 = 10; - fn_1_230(6, -1, 128.0f); - HuAudFXPlay(0x6DA); - omVibrate(lbl_1_bss_1DC[0].unk2C, 12, 12, 0); - omVibrate(lbl_1_bss_1DC[1].unk2C, 12, 12, 0); - omVibrate(lbl_1_bss_1DC[2].unk2C, 12, 12, 0); - omVibrate(lbl_1_bss_1DC[3].unk2C, 12, 12, 0); - fn_1_37D4(1); - } - break; - } - if (Hu3DMotionTimeGet(arg0->model[9]) >= 25.0f && temp_r30->unk1C == 0) { - temp_r30->unk1C = 1; - fn_1_230(1, 10, 4.0f); - } - else if (Hu3DMotionTimeGet(arg0->model[9]) >= 40.0f && temp_r30->unk1C == 1) { - temp_r30->unk1C = 2; - fn_1_230(1, 10, 4.0f); - } - if (temp_r30->unk04 == 0) { - if (temp_r30->unk14++ >= 5 * REFRESH_RATE) { - temp_r30->unk14 = 0; - if (rand8() % 2 != 0) { - fn_1_2BAC(1); - } - } - } -} - -void fn_1_3194(omObjData *arg0) -{ - fn_1_2B04(arg0); - fn_1_2BBC(arg0); -} - -void fn_1_3260(StructBss920 *arg0) -{ - omObjData *temp_r29 = arg0->unk00; - s32 sp80[][3] = { { 2, -1, 0 }, { 2, -1, 0 }, { 2, -1, 0 }, { 1, 1, 0 }, { 1, 1, 0 }, { 2, -1, 0 }, { 2, -1, 0 }, { 2, -1, 0 }, { 2, -1, 1 }, - { 2, -1, 1 } }; - Vec sp8[] = { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, -680.0f }, { 0.0f, 0.0f, -680.0f }, { 525.0f, 0.0f, -1150.0f }, { -525.0f, 0.0f, -1150.0f }, - { 0.0f, 150.0f, 50.0f }, { 0.0f, 150.0f, 0.0f }, { 0.0f, 150.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } }; - s32 i; - - for (i = 0; i < 10; i++) { - Hu3DModelPosSet(temp_r29->model[i], sp8[i].x, sp8[i].y, sp8[i].z); - if (sp80[i][2] == 1) { - Hu3DModelAttrSet(temp_r29->model[i], HU3D_ATTR_DISPOFF); - } - if (sp80[i][1] != -1) { - fn_1_119A0(temp_r29, i, i + 10, 1, sp80[i][1]); - } - else { - fn_1_119A0(temp_r29, i, i, 1, sp80[i][1]); - } - } - temp_r29->work[0] = temp_r29->work[1] = temp_r29->work[2] = temp_r29->work[3] = 0; - arg0->unk14 = arg0->unk18 = arg0->unk1C = arg0->unk20 = 0; - arg0->unk04 = arg0->unk08 = arg0->unk0C = arg0->unk10 = 0; -} - -void fn_1_3410(omObjData *arg0) -{ - StructFn3410 sp80[] = { { DATA_MAKE_NUM(DATADIR_M437, 36), 2, -1, 1, 0 }, { DATA_MAKE_NUM(DATADIR_M437, 37), 2, -1, 1, 0 }, - { DATA_MAKE_NUM(DATADIR_M437, 38), 2, -1, 2, 0 }, { DATA_MAKE_NUM(DATADIR_M437, 39), 1, DATA_MAKE_NUM(DATADIR_M437, 41), 2, 0 }, - { DATA_MAKE_NUM(DATADIR_M437, 40), 1, DATA_MAKE_NUM(DATADIR_M437, 42), 2, 0 }, { DATA_MAKE_NUM(DATADIR_M437, 33), 2, -1, 0, 0 }, - { DATA_MAKE_NUM(DATADIR_M437, 34), 2, -1, 0, 0 }, { DATA_MAKE_NUM(DATADIR_M437, 35), 2, -1, 0, 0 }, - { DATA_MAKE_NUM(DATADIR_M437, 43), 2, -1, 0, 1 }, { DATA_MAKE_NUM(DATADIR_M437, 44), 2, -1, 0, 1 } }; - Vec sp8[] = { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, -680.0f }, { 0.0f, 0.0f, -680.0f }, { 525.0f, 0.0f, -1150.0f }, { -525.0f, 0.0f, -1150.0f }, - { 0.0f, 150.0f, 50.0f }, { 0.0f, 150.0f, 0.0f }, { 0.0f, 150.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } }; - s32 i; - - for (i = 0; i < 10; i++) { - arg0->model[i] = Hu3DModelCreateFile(sp80[i].unk00); - arg0->motion[i] = Hu3DMotionIDGet(arg0->model[i]); - if (sp80[i].unk08 != -1) { - arg0->motion[i + 10] = Hu3DJointMotionFile(arg0->model[i], sp80[i].unk08); - } - Hu3DModelPosSet(arg0->model[i], sp8[i].x, sp8[i].y, sp8[i].z); - if (sp80[i].unk0C == 1) { - Hu3DModelShadowMapSet(arg0->model[i]); - } - else if (sp80[i].unk0C == 2) { - Hu3DModelShadowSet(arg0->model[i]); - } - if (sp80[i].unk10 == 1) { - Hu3DModelAttrSet(arg0->model[i], HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(arg0->model[i], 1); - } - if (sp80[i].unk08 != -1) { - fn_1_119A0(arg0, i, i + 10, 1, sp80[i].unk04); - } - else { - fn_1_119A0(arg0, i, i, 1, sp80[i].unk04); - } - } - arg0->data = &lbl_1_bss_920; - arg0->func = fn_1_3194; -} - -float fn_1_3694(void) -{ - return lbl_1_bss_150 / lbl_1_bss_154; -} - -float fn_1_36B4(void) -{ - float temp_f31; - StructBss6BC *sp8; - - temp_f31 = lbl_1_bss_150 / lbl_1_bss_154; - sp8 = &lbl_1_bss_6BC[1]; - if (lbl_1_bss_8D4.unk08 == 0) { - if (temp_f31 > 0.875f) { - fn_1_4AF8(3); - fn_1_5304(3); - fn_1_5148(3, 5, 0, 0); - fn_1_5270(5, 10, 2, 1); - } - else if (temp_f31 > 0.75f) { - fn_1_4AF8(2); - fn_1_5304(2); - } - else if (temp_f31 > 0.5f) { - fn_1_4AF8(1); - fn_1_5304(1); - } - else { - fn_1_4AF8(0); - fn_1_5304(0); - } - } - return temp_f31; -} - -void fn_1_37D4(s32 arg0) -{ - lbl_1_bss_8FC.unk04 = 1; -} - -void fn_1_37E8(omObjData *arg0) -{ - Mtx sp8; - StructBss8FC *var_r30; - - var_r30 = &lbl_1_bss_8FC; - switch (var_r30->unk04) { - case 1: - var_r30->unk04 = 2; - Hu3DModelAttrReset(arg0->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(arg0->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(arg0->model[2], HU3D_ATTR_DISPOFF); - fn_1_119A0(arg0, 0, 3, 1, 0); - fn_1_119A0(arg0, 2, 10, 1, 0); - break; - case 2: - if (Hu3DMotionTimeGet(arg0->model[0]) >= 20.0f) { - arg0->trans.y -= 20.0f; - if (arg0->trans.y <= 0.0f) { - arg0->trans.y = 0.0f; - var_r30->unk04 = 3; - } - } - break; - case 3: - if (Hu3DMotionEndCheck(arg0->model[0])) { - var_r30->unk04 = 4; - Hu3DModelHookReset(arg0->model[2]); - Hu3DModelObjMtxGet(arg0->model[0], "m437a01-balloon-point", sp8); - Hu3DModelPosSet(arg0->model[1], sp8[0][3], 0.0f, -250.0f); - } - break; - } -} - -s32 fn_1_3990(void) -{ - if (lbl_1_bss_15C <= lbl_1_bss_158) { - return 1; - } - else { - return 0; - } -} - -void fn_1_39C4(float arg0) -{ - lbl_1_bss_158 += arg0; -} - -void fn_1_39E4(omObjData *arg0) -{ - if (lbl_1_bss_15C > lbl_1_bss_158) { - lbl_1_bss_150 = lbl_1_bss_158 * (lbl_1_bss_154 / lbl_1_bss_15C); - lbl_1_bss_14C = fn_1_11370(lbl_1_bss_14C, lbl_1_bss_150, 5.0f); - Hu3DMotionTimeSet(arg0->model[1], lbl_1_bss_14C); - } - else { - lbl_1_bss_158 = lbl_1_bss_15C; - lbl_1_bss_150 = lbl_1_bss_158 * (lbl_1_bss_154 / lbl_1_bss_15C); - lbl_1_bss_14C = fn_1_11370(lbl_1_bss_14C, lbl_1_bss_150, 5.0f); - Hu3DMotionTimeSet(arg0->model[1], lbl_1_bss_14C); - } -} - -void fn_1_3B50(void) -{ - lbl_1_bss_8FC.unk08 = 1; -} - -void fn_1_3B64(omObjData *arg0) -{ - Mtx sp8; - StructBss8FC *var_r30; - - var_r30 = &lbl_1_bss_8FC; - if (var_r30->unk08 == 1) { - var_r30->unk08 = 0; - Hu3DModelAttrReset(arg0->model[3], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelObjMtxGet(arg0->model[0], "m437a01-balloon-point", sp8); - Hu3DModelPosSet(arg0->model[3], sp8[0][3], 0.0f, -250.0f); - fn_1_119A0(arg0, 3, 6, 1, 0); - omVibrate(lbl_1_bss_1DC[0].unk2C, 12, 12, 0); - omVibrate(lbl_1_bss_1DC[1].unk2C, 12, 12, 0); - omVibrate(lbl_1_bss_1DC[2].unk2C, 12, 12, 0); - omVibrate(lbl_1_bss_1DC[3].unk2C, 12, 12, 0); - HuAudFXPlay(0x6F4); - HuAudSeqAllFadeOut(100); - } -} - -void fn_1_3CB8(s32 arg0) -{ - lbl_1_bss_14 += arg0; - if (lbl_1_bss_14 >= 3.0f) { - lbl_1_bss_14 = 3.0f; - } -} - -void fn_1_3D40(omObjData *arg0) -{ - float temp_f31; - StructBss8FC *sp8; - s32 temp_r31; - - sp8 = &lbl_1_bss_8FC; - temp_r31 = 100.0f * fn_1_3694(); - temp_f31 = fn_1_11478(0.0f, lbl_1_bss_14, lbl_1_bss_8FC.unk1C++, temp_r31); - if (lbl_1_bss_8FC.unk1C >= temp_r31) { - lbl_1_bss_8FC.unk1C = 0; - lbl_1_bss_14 -= 0.5f; - if (lbl_1_bss_14 <= 0.0f) { - lbl_1_bss_14 = 0.0f; - } - } - if (fn_1_3694() >= 0.2f) { - Hu3DModelRotSet(arg0->model[1], 0.0f, 0.0f, temp_f31); - } -} - -void fn_1_3F44(omObjData *arg0) -{ - fn_1_37E8(arg0); - fn_1_39E4(arg0); - fn_1_3D40(arg0); - fn_1_3B64(arg0); -} - -void fn_1_4538(StructBss8FC *arg0) -{ - omObjData *temp_r31; - - temp_r31 = arg0->unk00; - omSetTra(temp_r31, 0.0f, 210.0f, -250.0f); - Hu3DModelAttrSet(temp_r31->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(temp_r31->model[1], HU3D_ATTR_DISPOFF); - lbl_1_bss_150 = 0.0f; - lbl_1_bss_154 = Hu3DMotionMaxTimeGet(temp_r31->model[1]); - lbl_1_bss_14C = 0.0f; - lbl_1_bss_158 = 0.0f; - lbl_1_bss_15C = rand8() % 7 + 30; - Hu3DModelAttrSet(temp_r31->model[2], HU3D_ATTR_DISPOFF); - temp_r31->work[0] = temp_r31->work[1] = temp_r31->work[2] = temp_r31->work[3] = 0; - arg0->unk14 = arg0->unk18 = arg0->unk1C = arg0->unk20 = 0; - arg0->unk04 = arg0->unk08 = arg0->unk0C = arg0->unk10 = 0; -} - -void fn_1_46C0(omObjData *arg0) -{ - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M437, 24)); - arg0->motion[0] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 28)); - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 29)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 30)); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 31)); - Hu3DModelShadowMapSet(arg0->model[0]); - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M437, 26)); - arg0->motion[5] = Hu3DMotionIDGet(arg0->model[1]); - Hu3DModelLayerSet(arg0->model[1], 2); - fn_1_119A0(arg0, 1, 5, 1, 2); - lbl_1_bss_15C = Hu3DMotionMaxTimeGet(arg0->model[1]); - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M437, 25)); - arg0->motion[10] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 32)); - Hu3DModelShadowMapSet(arg0->model[0]); - Hu3DModelHookSet(arg0->model[0], "m437a01-balloon-point", arg0->model[2]); - Hu3DModelHookSet(arg0->model[2], "m437test04-b_point", arg0->model[1]); - arg0->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M437, 27)); - arg0->motion[6] = Hu3DMotionIDGet(arg0->model[3]); - Hu3DModelLayerSet(arg0->model[3], 2); - Hu3DModelAttrSet(arg0->model[3], HU3D_ATTR_DISPOFF); - arg0->func = fn_1_3F44; -} - -void fn_1_4928(s32 arg0) -{ - lbl_1_bss_8D4.unk04 = arg0; -} - -void fn_1_4938(omObjData *arg0) -{ - float sp8; - StructBss8D4 *temp_r31; - - sp8 = 0.0f; - temp_r31 = arg0->data; - switch (temp_r31->unk04) { - case 1: - temp_r31->unk04 = 2; - temp_r31->unk14 = temp_r31->unk18 = 0; - temp_r31->unk24 = 0.0f; - /* fallthrough */ - case 2: - temp_r31->unk24 = fn_1_11478(0.0f, 10.0f, temp_r31->unk14, 30.0f); - if (temp_r31->unk14++ >= 30) { - temp_r31->unk14 = 0; - temp_r31->unk18++; - if (temp_r31->unk18 >= 2) { - temp_r31->unk04 = 3; - } - } - break; - case 3: - temp_r31->unk24 = fn_1_11370(temp_r31->unk24, 0.0f, 5.0f); - if (temp_r31->unk14++ >= 15) { - temp_r31->unk04 = 0; - temp_r31->unk14 = temp_r31->unk18 = 0; - temp_r31->unk24 = 0.0f; - Hu3DMotionNoMotReset(arg0->model[0], "g000m0-ns_ago", 0x200); - } - break; - } - if (temp_r31->unk04 != 0) { - Hu3DMotionForceSet(arg0->model[0], "g000m0-ns_ago", 0x200, temp_r31->unk24); - } -} - -void fn_1_4AF8(s32 arg0) -{ - s32 sp8[] = { 4, 5, 6, 7, 8 }; - - if (arg0 <= 3) { - fn_1_11B18(lbl_1_bss_8D4.unk00, 0, sp8[arg0], 120, 1); - } - else { - fn_1_11B18(lbl_1_bss_8D4.unk00, 0, sp8[arg0], 5, 0); - } -} - -void fn_1_4BAC(s32 arg0, s32 arg1, s32 arg2, s32 arg3) -{ - if (arg3 != 0) { - fn_1_119A0(lbl_1_bss_8D4.unk00, 0, arg0, arg1, arg2); - } - else { - fn_1_11B18(lbl_1_bss_8D4.unk00, 0, arg0, arg1, arg2); - } -} - -void fn_1_4C40(omObjData *arg0) -{ - fn_1_4938(arg0); -} - -void fn_1_4E00(StructBss8D4 *arg0) -{ - omObjData *temp_r30; - - temp_r30 = arg0->unk00; - omSetTra(temp_r30, 0.0f, 37.0f, -565.0f); - omSetSca(temp_r30, 1.5f, 1.5f, 1.5f); - fn_1_119A0(temp_r30, 0, 0, 1, 1); - temp_r30->work[0] = temp_r30->work[1] = temp_r30->work[2] = temp_r30->work[3] = 0; - arg0->unk14 = arg0->unk18 = arg0->unk1C = arg0->unk20 = 0; - arg0->unk04 = arg0->unk08 = arg0->unk0C = arg0->unk10 = 0; -} - -void fn_1_4EE0(omObjData *arg0) -{ - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M437, 45)); - arg0->motion[0] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 46)); - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 47)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 48)); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 49)); - arg0->motion[4] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 50)); - arg0->motion[5] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 51)); - arg0->motion[6] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 52)); - arg0->motion[7] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 53)); - arg0->motion[8] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 54)); - omSetTra(arg0, 0.0f, 37.0f, -565.0f); - omSetSca(arg0, 1.5f, 1.5f, 1.5f); - Hu3DModelShadowSet(arg0->model[0]); - fn_1_119A0(arg0, 0, 0, 1, 1); - arg0->data = &lbl_1_bss_8D4; - arg0->func = fn_1_4C40; -} - -void fn_1_5148(s32 arg0, s32 arg1, s32 arg2, s32 arg3) -{ - if (arg3 != 0) { - fn_1_119A0(lbl_1_bss_6BC[0].unk00, 0, arg0, arg1, arg2); - } - else { - fn_1_11B18(lbl_1_bss_6BC[0].unk00, 0, arg0, arg1, arg2); - } -} - -void fn_1_51DC(s32 arg0, s32 arg1, s32 arg2, s32 arg3) -{ - if (arg3 != 0) { - fn_1_119A0(lbl_1_bss_6BC[1].unk00, 0, arg0, arg1, arg2); - } - else { - fn_1_11B18(lbl_1_bss_6BC[1].unk00, 0, arg0, arg1, arg2); - } -} - -void fn_1_5270(s32 arg0, s32 arg1, s32 arg2, s32 arg3) -{ - if (arg3 != 0) { - fn_1_119A0(lbl_1_bss_6BC[0].unk00, 1, arg0, arg1, arg2); - } - else { - fn_1_11B18(lbl_1_bss_6BC[0].unk00, 1, arg0, arg1, arg2); - } -} - -void fn_1_5304(s32 arg0) -{ - StructBss6BC *var_r31; - - var_r31 = &lbl_1_bss_6BC[1]; - var_r31->unk04 = arg0 + 1; -} - -void fn_1_532C(omObjData *arg0) -{ - StructBss6BC *temp_r31 = arg0->data; - Vec sp38[] = { { 480.0f, 0.0f, -1250.0f }, { 400.0f, 37.0f, -850.0f }, { 400.0f, 37.0f, -600.0f }, { 400.0f, 37.0f, -425.0f } }; - - if (arg0->work[0] == 0) { - return; - } - if (temp_r31->unk04 == 7) { - temp_r31->unk08 = temp_r31->unk04; - } - if (temp_r31->unk04 != 4 || temp_r31->unk08 <= 4) { - temp_r31->unk08 = temp_r31->unk04; - } - switch (temp_r31->unk08) { - case 1: - case 2: - case 3: - fn_1_11CE0(arg0, sp38[4 - temp_r31->unk08], 0.0f, 6.0f, 10.0f, 10.0f, 1); - temp_r31->unk00->trans.x = 400.0f; - break; - case 4: - fn_1_11CE0(arg0, sp38[0], 0.0f, 6.0f, 10.0f, 10.0f, 1); - temp_r31->unk00->trans.x = 400.0f; - if (temp_r31->unk18++ >= 60) { - temp_r31->unk08 = 5; - temp_r31->unk18 = 0; - } - break; - case 5: - fn_1_11CE0(arg0, sp38[0], 0.0f, 6.0f, 10.0f, 10.0f, 1); - if (temp_r31->unk18++ >= 60) { - temp_r31->unk08 = 6; - temp_r31->unk18 = 0; - } - break; - case 6: - fn_1_11B18(arg0, 0, 6, 10, 0); - break; - case 7: - fn_1_11CE0(arg0, sp38[3], -15.0f, 6.0f, 10.0f, 10.0f, 1); - break; - } -} - -void fn_1_5658(omObjData *arg0) -{ - fn_1_532C(arg0); -} - -void fn_1_5984(StructBss6BC *arg0) -{ - s32 var_r29; - omObjData *temp_r30; - - var_r29 = arg0->unk00->work[0]; - temp_r30 = arg0->unk00; - if (var_r29 != 0) { - omSetTra(temp_r30, 400.0f, 37.0f, -425.0f); - omSetRot(temp_r30, 0.0f, -15.0f, 0.0f); - fn_1_119A0(temp_r30, 0, 0, 1, 1); - } - else { - omSetTra(temp_r30, -400.0f, 37.0f, -425.0f); - fn_1_119A0(temp_r30, 0, 0, 1, 1); - fn_1_119A0(temp_r30, 1, 5, 1, 1); - } - temp_r30->work[1] = temp_r30->work[2] = temp_r30->work[3] = 0; - arg0->unk14 = arg0->unk18 = arg0->unk1C = arg0->unk20 = 0; - arg0->unk04 = arg0->unk08 = arg0->unk0C = arg0->unk10 = 0; -} - -void fn_1_5AD8(omObjData *arg0) -{ - StructBss6BC *temp_r29; - s32 temp_r30; - - temp_r30 = arg0->work[0]; - temp_r29 = &lbl_1_bss_6BC[temp_r30]; - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M437, 57)); - if (temp_r30 != 0) { - arg0->motion[0] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 58)); - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 59)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 63)); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 64)); - arg0->motion[4] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 65)); - arg0->motion[5] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 66)); - arg0->motion[6] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 67)); - arg0->motion[7] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 68)); - arg0->motion[8] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 69)); - arg0->motion[9] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 71)); - omSetTra(arg0, 400.0f, 37.0f, -425.0f); - omSetRot(arg0, 0.0f, -15.0f, 0.0f); - fn_1_119A0(arg0, 0, 0, 1, 1); - fn_1_164B0(lbl_1_bss_0, &temp_r29->unk24, arg0->model[0], "g007m0-skl_at"); - fn_1_15DC8(&temp_r29->unk24); - } - else { - arg0->motion[0] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 60)); - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 61)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 62)); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 70)); - arg0->motion[4] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 72)); - omSetTra(arg0, -400.0f, 37.0f, -425.0f); - fn_1_119A0(arg0, 0, 0, 1, 1); - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M437, 73)); - arg0->motion[5] = Hu3DJointMotionFile(arg0->model[1], DATA_MAKE_NUM(DATADIR_M437, 74)); - arg0->motion[6] = Hu3DJointMotionFile(arg0->model[1], DATA_MAKE_NUM(DATADIR_M437, 75)); - Hu3DModelHookSet(arg0->model[0], "g007m0-itemhook_r", arg0->model[1]); - Hu3DModelLayerSet(arg0->model[0], 2); - Hu3DModelLayerSet(arg0->model[1], 2); - fn_1_119A0(arg0, 1, 5, 1, 1); - } - Hu3DModelShadowSet(arg0->model[0]); - arg0->data = &lbl_1_bss_6BC[temp_r30]; - arg0->func = fn_1_5658; -} - -void fn_1_5FBC(void) -{ - StructBss1DC *temp_r31; - s32 sp8[4]; - s32 i; - - sp8[0] = GWPlayerCurrGet(); - for (i = 1; i < 4; i++) { - sp8[i] = sp8[i - 1] + 1; - if (sp8[i] >= 4) { - sp8[i] = 0; - } - } - for (i = 0; i < 4; i++) { - temp_r31 = &lbl_1_bss_1DC[i]; - temp_r31->unk2C = sp8[i]; - temp_r31->unk30 = GWPlayerCfg[temp_r31->unk2C].group; - temp_r31->unk34 = GWPlayerCfg[temp_r31->unk2C].iscom; - temp_r31->unk38 = GWPlayerCfg[temp_r31->unk2C].diff; - temp_r31->unk3C = GWPlayerCfg[temp_r31->unk2C].character; - temp_r31->unk40 = GWPlayerCfg[temp_r31->unk2C].pad_idx; - } -} - -void fn_1_610C(s32 arg0, s32 arg1) -{ - StructBss1DC *temp_r31; - - temp_r31 = &lbl_1_bss_1DC[arg0]; - temp_r31->unk04 = arg1; -} - -void fn_1_6134(omObjData *arg0) -{ - StructBss1DC *var_r30; - - var_r30 = arg0->data; - if (var_r30->unk04 != 0) { - Hu3DModelAttrReset(arg0->model[0], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); - } -} - -void fn_1_6198(s32 arg0, s32 arg1) -{ - StructBss1DC *temp_r31; - - temp_r31 = &lbl_1_bss_1DC[arg0]; - temp_r31->unk08 = arg1; - fn_1_15DC8(&temp_r31->unk50); - fn_1_11B18(temp_r31->unk00, 0, 2, 10, 0); -} - -void fn_1_6200(omObjData *arg0) -{ - StructBss1DC *temp_r30; - HsfMaterial *var_r31; - HsfData *temp_r28; - char **temp_r27; - s32 var_r23; - s32 i, j; - ModelData *temp_r25; - HsfAttribute *temp_r24; - - temp_r30 = &lbl_1_bss_1DC[arg0->work[0]]; - if (temp_r30->unk08 != 1) { - return; - } - var_r23 = 1; - temp_r25 = &Hu3DData[arg0->model[0]]; - temp_r28 = temp_r25->hsfData; - var_r31 = temp_r28->material; - if (temp_r30->unk3C == 3) { - for (i = 0; i < temp_r25->hsfData->materialCnt; i++, var_r31++) { - if (i == 1 || i == 2) { - continue; - } - var_r31->color[0] *= temp_r30->unk44; - if (var_r31->color[0] == 0) { - var_r31->color[0] = 0; - } - var_r31->color[1] *= temp_r30->unk44; - if (var_r31->color[1] == 0) { - var_r31->color[1] = 0; - } - var_r31->color[2] *= temp_r30->unk44; - if (var_r31->color[2] == 0) { - var_r31->color[2] = 0; - } - } - } - else { - temp_r27 = CharModelTexNameGet(temp_r30->unk3C, 2); - for (i = 0; i < temp_r28->materialCnt; i++, var_r31++) { - var_r23 = 1; - for (j = 0; j < var_r31->numAttrs; j++) { - temp_r24 = &temp_r28->attribute[var_r31->attrs[j]]; - if (strcmp(temp_r27[0], temp_r24->bitmap->name) == 0 || strcmp(temp_r27[1], temp_r24->bitmap->name) == 0) { - var_r23 = 0; - } - } - if (var_r23 == 0) { - continue; - } - var_r31->color[0] *= temp_r30->unk44; - if (var_r31->color[0] == 0) { - var_r31->color[0] = 0; - } - var_r31->color[1] *= temp_r30->unk44; - if (var_r31->color[1] == 0) { - var_r31->color[1] = 0; - } - var_r31->color[2] *= temp_r30->unk44; - if (var_r31->color[2] == 0) { - var_r31->color[2] = 0; - } - } - } - temp_r30->unk44 -= 0.01; - if (temp_r30->unk44 < 0.0f) { - temp_r30->unk08 = 99; - temp_r30->unk44 = 0.0f; - } -} - -void fn_1_6580(s32 arg0, s32 arg1, s32 arg2) -{ - StructBss1DC *temp_r31; - - temp_r31 = &lbl_1_bss_1DC[arg0]; - if (temp_r31->unk0C == 0) { - temp_r31->unk0C = arg1; - temp_r31->unk10 = arg2; - temp_r31->unk28 = 0; - } - else if (temp_r31->unk0C == 2) { - temp_r31->unk10 = 0; - temp_r31->unk28 = 1; - } -} - -float lbl_1_data_188 = -1.0f; - -void fn_1_65E0(omObjData *arg0) -{ - Mtx sp60; - StructBss1DC *temp_r31; - StructBss1DC *var_r26; - StructBss1DC *temp_r27; - StructBss8FC *var_r28; - StructBss8FC *spC; - s32 var_r29; - - temp_r31 = arg0->data; - switch (temp_r31->unk0C) { - case 1: - temp_r31->unk0C = 2; - temp_r31->unk48 = -1.5f; - lbl_1_data_188 = -1.0f; - fn_1_119A0(arg0, 0, 5, 15, 0); - break; - case 2: - if (temp_r31->unk48 >= 1.7f) { - temp_r31->unk48 = 1.7f; - } - arg0->trans.y += temp_r31->unk48 * temp_r31->unk48 * (temp_r31->unk48 >= 0.0f ? -25.0f : 25.0f); - if (temp_r31->unk28 != 0 && arg0->trans.y >= 25.0f + temp_r31->unk4C && temp_r31->unk10 == 0) { - temp_r31->unk0C = 5; - temp_r31->unk48 = 0.0f; - lbl_1_data_188 = arg0->trans.y - temp_r31->unk4C; - fn_1_11B18(arg0, 0, 7, 15, 0); - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (var_r29 != arg0->work[0]) { - var_r26 = &lbl_1_bss_1DC[var_r29]; - var_r26->unk00->work[2] = rand8() % 10; - } - } - } - if (((!(HuPadBtn[temp_r31->unk40] & 0x100) && temp_r31->unk10 == 0) || temp_r31->unk10 == 2) && temp_r31->unk48 < -0.8f) { - temp_r31->unk48 = -0.8f; - } - if (arg0->trans.y <= temp_r31->unk4C && temp_r31->unk48 > 0.0f) { - arg0->trans.y = temp_r31->unk4C; - temp_r31->unk0C = 4; - temp_r31->unk48 = 0.0f; - fn_1_11B18(arg0, 0, 6, 5, 0); - } - temp_r31->unk48 += 0.09f; - break; - case 4: - if (temp_r31->unk48++ >= 15.0f) { - temp_r31->unk0C = 0; - temp_r31->unk28 = 0; - fn_1_11B18(arg0, 0, 0, 15, 1); - } - break; - case 5: - if (fn_1_36B4() > 0.75f) { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (var_r29 != arg0->work[0]) { - temp_r27 = &lbl_1_bss_1DC[var_r29]; - if (temp_r27->unk00->work[2]-- == 0) { - fn_1_11B18(temp_r27->unk00, 0, 11, 5, 0); - } - } - } - } - if (temp_r31->unk48++ >= 25.0f) { - temp_r31->unk0C = 6; - } - break; - case 6: - if (temp_r31->unk48 >= 1.7f) { - temp_r31->unk48 = 1.7f; - } - arg0->trans.y += temp_r31->unk48 * temp_r31->unk48 * (temp_r31->unk48 >= 0.0f ? -17.5f : 17.5f); - if (arg0->trans.y <= temp_r31->unk4C && temp_r31->unk48 > 0.0f) { - arg0->trans.y = temp_r31->unk4C; - temp_r31->unk0C = 7; - temp_r31->unk48 = 0.0f; - var_r28 = &lbl_1_bss_8FC; - if (lbl_1_data_188 <= 135.0f) { - fn_1_119A0(var_r28->unk00, 0, 2, 5, 0); - } - else if (lbl_1_data_188 <= 245.0f) { - fn_1_119A0(var_r28->unk00, 0, 1, 5, 0); - } - else { - fn_1_119A0(var_r28->unk00, 0, 0, 5, 0); - } - HuAudFXPlay(0x6F5); - omVibrate(temp_r31->unk2C, 12, 6, 6); - fn_1_11B18(arg0, 0, 8, 15, 0); - } - temp_r31->unk48 += 0.1f; - break; - case 7: - if (temp_r31->unk48++ >= 15.0f) { - spC = &lbl_1_bss_8FC; - if (lbl_1_data_188 <= 135.0f) { - fn_1_39C4(1.0f); - fn_1_3CB8(1.0f); - HuAudFXPlay(0x6F6); - } - else if (lbl_1_data_188 <= 245.0f) { - fn_1_39C4(2.0f); - fn_1_3CB8(2.0f); - HuAudFXPlay(0x6F7); - } - else { - fn_1_39C4(3.0f); - fn_1_3CB8(3.0f); - HuAudFXPlay(0x6F8); - } - fn_1_11B18(arg0, 0, 9, 15, 0); - temp_r31->unk48 = 0.0f; - temp_r31->unk0C = 4; - } - break; - } - if ((temp_r31->unk0C == 4 || temp_r31->unk0C == 7) && temp_r31->unk10 == 0) { - StructBss8FC *temp = &lbl_1_bss_8FC; - Hu3DModelObjMtxGet(temp->unk00->model[0], "m437a01-chara-point", sp60); - arg0->trans.y = sp60[1][3]; - } -} - -void fn_1_70F8(s32 arg0, s32 arg1) -{ - StructBss1DC *temp_r31; - - temp_r31 = &lbl_1_bss_1DC[arg0]; - temp_r31->unk14 = arg1; - temp_r31->unk24 = 15 - arg1 * 5; - temp_r31->unk28 = 0; -} - -void fn_1_7134(omObjData *arg0) -{ - StructBss1DC *temp_r31 = &lbl_1_bss_1DC[arg0->work[0]]; - Vec sp14[] = { { 0.0f, 0.0f, 0.0f }, { -1000.0f, 0.0f, 800.0f }, { -200.0f, 0.0f, 800.0f }, { 1000.0f, 0.0f, 800.0f } }; - - if (temp_r31->unk14 < 1) { - return; - } - if (temp_r31->unk24-- <= 0) { - fn_1_11B18(arg0, 0, 4, 15, 1); - temp_r31->unk28 = 1; - } - if (temp_r31->unk28 != 0) { - fn_1_11CE0(arg0, sp14[temp_r31->unk14], -1.0f, temp_r31->unk0C + 7.0f, 30.0f, 5.0f, 0); - } -} - -void fn_1_72CC(omObjData *arg0) -{ - fn_1_6134(arg0); - fn_1_6200(arg0); - fn_1_65E0(arg0); - fn_1_7134(arg0); -} - -void fn_1_74B0(StructBss1DC *arg0) -{ - s32 var_r29; - omObjData *temp_r30; - - var_r29 = arg0->unk00->work[0]; - temp_r30 = arg0->unk00; - omSetTra(temp_r30, var_r29 * -150 - (rand8() % 100) * 2, 0.0f, (rand8() % 100) * 2 + 250); - omSetRot(temp_r30, 0.0f, 180.0f, 0.0f); - fn_1_119A0(temp_r30, 0, 0, 1, 1); - fn_1_15DC8(&arg0->unk50); - fn_1_15CD0(&arg0->unk50, lbl_1_bss_8FC.unk00->model[0]); - arg0->unk44 = 1.0f; - temp_r30->work[1] = temp_r30->work[2] = temp_r30->work[3] = 0; - arg0->unk1C = arg0->unk20 = arg0->unk24 = arg0->unk28 = 0; - arg0->unk04 = arg0->unk08 = arg0->unk0C = arg0->unk10 = 0; - arg0->unk14 = 0; -} - -void fn_1_7678(omObjData *arg0) -{ - StructBss1DC *temp_r30; - s32 temp_r29; - - temp_r29 = arg0->work[0]; - temp_r30 = &lbl_1_bss_1DC[temp_r29]; - arg0->model[0] = CharModelCreate(temp_r30->unk3C, 2); - arg0->motion[0] = CharModelMotionCreate(temp_r30->unk3C, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0)); - arg0->motion[1] = CharModelMotionCreate(temp_r30->unk3C, DATA_MAKE_NUM(DATADIR_MARIOMOT, 3)); - arg0->motion[2] = CharModelMotionCreate(temp_r30->unk3C, DATA_MAKE_NUM(DATADIR_MARIOMOT, 28)); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, temp_r30->unk3C)); - arg0->motion[4] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M437, 8 + temp_r30->unk3C)); - arg0->motion[5] = CharModelMotionCreate(temp_r30->unk3C, DATA_MAKE_NUM(DATADIR_MARIOMOT, 5)); - arg0->motion[6] = CharModelMotionCreate(temp_r30->unk3C, DATA_MAKE_NUM(DATADIR_MARIOMOT, 6)); - arg0->motion[7] = CharModelMotionCreate(temp_r30->unk3C, DATA_MAKE_NUM(DATADIR_MARIOMOT, 8)); - arg0->motion[8] = CharModelMotionCreate(temp_r30->unk3C, DATA_MAKE_NUM(DATADIR_MARIOMOT, 10)); - arg0->motion[9] = CharModelMotionCreate(temp_r30->unk3C, DATA_MAKE_NUM(DATADIR_MARIOMOT, 9)); - arg0->motion[10] = CharModelMotionCreate(temp_r30->unk3C, DATA_MAKE_NUM(DATADIR_MARIOMOT, 2)); - arg0->motion[11] = CharModelMotionCreate(temp_r30->unk3C, DATA_MAKE_NUM(DATADIR_MARIOMOT, 78)); - arg0->motion[12] = CharModelMotionCreate(temp_r30->unk3C, DATA_MAKE_NUM(DATADIR_MARIOMOT, 27)); - omSetTra(arg0, temp_r29 * -150 + (rand8() % 100) * 5, 0.0f, (rand8() % 100) * 5 + 250); - omSetRot(arg0, 0.0f, 180.0f, 0.0f); - Hu3DModelShadowSet(arg0->model[0]); - fn_1_119A0(arg0, 0, 0, 1, 1); - CharModelMotionDataClose(temp_r30->unk3C); - fn_1_1660C(lbl_1_bss_0, &temp_r30->unk50, arg0->model[0], temp_r30->unk3C); - fn_1_15DC8(&temp_r30->unk50); - temp_r30->unk04 = 1; - arg0->data = &lbl_1_bss_1DC[temp_r29]; - arg0->func = fn_1_72CC; -} - -void fn_1_79E0(void) -{ - lbl_1_bss_68.unk04 = 1; - lbl_1_bss_68.unk08 = 1; - lbl_1_bss_68.unk14 = 0; -} - -void fn_1_7A14(omObjData *arg0) -{ - Mtx sp8; - StructBss68 *temp_r31; - StructBss8D4 *var_r29; - StructBss6BC *var_r25; - s32 var_r24; - s32 i; - - temp_r31 = arg0->data; - var_r29 = &lbl_1_bss_8D4; - switch (temp_r31->unk04) { - case 1: - temp_r31->unk04 = 2; - for (i = 1; i < 7; i++) { - Hu3DModelPosSet(arg0->model[i], 0.0f, 0.0f, 0.0f); - Hu3DModelRotSet(arg0->model[i], 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[i], 0.0f, 0.0f, 0.0f); - temp_r31->unk24[i] = -1.0f + rand8() % 3; - temp_r31->unk44[i] = 0.0f; - temp_r31->unk64[i] = -(50.0f * (i - 1)); - temp_r31->unk84[i] = 0.0f; - temp_r31->unkA4[i] = 0.5f; - temp_r31->unkC4[i] = 0.0f; - } - fn_1_119A0(var_r29->unk00, 0, 3, 10, 0); - var_r25 = &lbl_1_bss_6BC[0]; - fn_1_119A0(var_r25->unk00, 0, 1, 60, 1); - fn_1_119A0(var_r25->unk00, 1, 6, 60, 1); - break; - case 2: - if (fn_1_11890(var_r29->unk00, 0, 3, 90, 1) != 0) { - temp_r31->unk04 = 3; - Hu3DMotionTimeSet(var_r29->unk00->model[0], 90.0f); - Hu3DMotionSpeedSet(var_r29->unk00->model[0], 0.0f); - HuAudCharVoicePlay(lbl_1_bss_1DC[lbl_1_bss_944.unk10].unk3C, 0x123); - HuAudFXPlay(0x6D5); - omVibrate(lbl_1_bss_1DC[lbl_1_bss_944.unk10].unk2C, 120, 12, 0); - } - break; - case 3: - Hu3DModelObjMtxGet(var_r29->unk00->model[0], "g000m0-itemhook_M", sp8); - var_r24 = lbl_1_bss_944.unk10; - fn_1_6198(var_r24, 1); - for (i = 1; i < 7; i++) { - if (temp_r31->unk08 == 1 || (temp_r31->unk08 == 0 && temp_r31->unk64[i] > 0.0f)) { - temp_r31->unk64[i] += 10.0f; - } - if (temp_r31->unk64[i] > 0.0f) { - temp_r31->unk84[i] += 0.1f; - temp_r31->unk24[i] += rand8() % 5 - 2; - temp_r31->unk44[i] -= rand8() % 5 - 2 + 2.5f; - if (temp_r31->unkC4[i] == 0.0f) { - fn_1_119A0(arg0, i, i, 1, 1); - } - if (temp_r31->unkC4[i] < 8.0f) { - temp_r31->unkA4[i] += 0.025f; - } - else if (temp_r31->unkC4[i] < 23.0f) { - temp_r31->unkA4[i] = 0.7f; - } - else if (temp_r31->unkC4[i] < 31.0f) { - temp_r31->unkA4[i] -= 0.1f; - if (temp_r31->unkA4[i] < 0.0f) { - temp_r31->unkA4[i] = 0.0f; - } - } - temp_r31->unkC4[i] += 1.0f; - } - Hu3DModelPosSet(arg0->model[i], sp8[0][3] + temp_r31->unk24[i], sp8[1][3] + temp_r31->unk44[i], sp8[2][3] + temp_r31->unk64[i]); - Hu3DModelScaleSet(arg0->model[i], 1.5f * temp_r31->unk84[i], 1.5f * temp_r31->unk84[i], 1.5f * temp_r31->unk84[i]); - Hu3DModelTPLvlSet(arg0->model[i], temp_r31->unkA4[i]); - if (temp_r31->unkC4[i] >= 31.0f) { - temp_r31->unk24[i] = 0.0f; - temp_r31->unk44[i] = 0.0f; - temp_r31->unk64[i] = 0.0f; - temp_r31->unk84[i] = 0.0f; - temp_r31->unkA4[i] = 0.5f; - temp_r31->unkC4[i] = 0.0f; - } - } - if (temp_r31->unk14++ == 120) { - temp_r31->unk08 = 0; - Hu3DMotionSpeedSet(var_r29->unk00->model[0], 1.0f); - } - else if (temp_r31->unk14 >= 180) { - temp_r31->unk04 = 4; - } - break; - case 4: - temp_r31->unk04 = 0; - fn_1_119A0(var_r29->unk00, 0, 0, 30, 1); - break; - } - if (temp_r31->unk14 >= 10 && temp_r31->unk14 <= 120) { - fn_1_298(6, 8.0f); - } -} - -void fn_1_82E0(omObjData *arg0) -{ - fn_1_7A14(arg0); -} - -void fn_1_8308(StructBss68 *arg0) -{ - omObjData *temp_r29; - s32 i; - - temp_r29 = arg0->unk00; - for (i = 1; i < 7; i++) { - Hu3DModelPosSet(temp_r29->model[i], 0.0f, 0.0f, 0.0f); - Hu3DModelRotSet(temp_r29->model[i], 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(temp_r29->model[i], 0.0f, 0.0f, 0.0f); - fn_1_119A0(temp_r29, i, i, 1, 2); - arg0->unk24[i] = 0.0f; - arg0->unk44[i] = 0.0f; - arg0->unk64[i] = 0.0f; - arg0->unk84[i] = 0.0f; - arg0->unkA4[i] = 0.0f; - arg0->unkC4[i] = 0.0f; - } - arg0->unk04 = arg0->unk08 = arg0->unk0C = arg0->unk10 = 0; - arg0->unk14 = arg0->unk18 = arg0->unk1C = arg0->unk20 = 0; -} - -void fn_1_84C4(omObjData *arg0) -{ - s32 i; - - for (i = 1; i < 7; i++) { - if (i % 2 == 0) { - arg0->model[i] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M437, 55)); - arg0->motion[i] = Hu3DMotionIDGet(arg0->model[i]); - } - else { - arg0->model[i] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M437, 56)); - arg0->motion[i] = Hu3DMotionIDGet(arg0->model[i]); - } - Hu3DModelPosSet(arg0->model[i], 0.0f, 0.0f, 0.0f); - Hu3DModelRotSet(arg0->model[i], 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[i], 0.0f, 0.0f, 0.0f); - fn_1_119A0(arg0, i, i, 1, 2); - Hu3DModelLayerSet(arg0->model[i], 2); - } - arg0->data = &lbl_1_bss_68; - arg0->func = fn_1_82E0; -} - -void fn_1_8684(void) -{ - StructBss160 *var_r31; - - var_r31 = &lbl_1_bss_160; - var_r31->unk14 = 0.0f; - var_r31->unk18 = 300.0f; - var_r31->unk1C = 1740.0f; - var_r31->unk2C = -10.0f; - var_r31->unk30 = 0.0f; - var_r31->unk34 = 0.0f; - var_r31->unk3C = 300.0f; - fn_1_12E14(var_r31, 200.0f); -} - -void fn_1_8734(void) -{ - StructBss160 *var_r31; - StructBss160 sp8; - - var_r31 = &lbl_1_bss_160; - sp8.unk08 = 0.0f; - sp8.unk0C = 200.0f; - sp8.unk10 = -50.0f; - sp8.unk20 = 5.0f; - sp8.unk24 = 0.0f; - sp8.unk28 = 0.0f; - sp8.unk38 = 200.0f; - fn_1_15544(var_r31, &sp8, var_r31->unk40++, 30.0f, 5.0f); -} - -void fn_1_8824(void) -{ - StructBss160 *var_r31; - - var_r31 = &lbl_1_bss_160; - var_r31->unk14 = 0.0f; - var_r31->unk18 = 200.0f; - var_r31->unk1C = -50.0f; - var_r31->unk2C = 5.0f; - var_r31->unk30 = 0.0f; - var_r31->unk34 = 0.0f; - var_r31->unk3C = 200.0f; - fn_1_12E14(var_r31, 200.0f); -} - -void fn_1_88D4(void) -{ - StructBss160 *var_r31; - - var_r31 = &lbl_1_bss_160; - var_r31->unk14 = 0.0f; - var_r31->unk18 = 300.0f; - var_r31->unk1C = -550.0f; - var_r31->unk2C = -15.0f; - var_r31->unk30 = 0.0f; - var_r31->unk34 = 0.0f; - var_r31->unk3C = 1200.0f; - fn_1_12E14(var_r31, 45.0f); -} - -void fn_1_8984(void) -{ - StructBss160 *var_r31; - - var_r31 = &lbl_1_bss_160; - var_r31->unk14 = 0.0f; - var_r31->unk18 = 150.0f; - var_r31->unk1C = -550.0f; - var_r31->unk2C = -15.0f; - var_r31->unk30 = 0.0f; - var_r31->unk34 = 0.0f; - var_r31->unk3C = 1200.0f; - fn_1_12E14(var_r31, 30.0f); -} - -void fn_1_8A34(void) -{ - StructBss160 *var_r31; - StructBss160 sp8; - - var_r31 = &lbl_1_bss_160; - sp8.unk08 = 0.0f; - sp8.unk0C = 300.0f; - sp8.unk10 = 0.0f; - sp8.unk20 = 0.0f; - sp8.unk24 = 0.0f; - sp8.unk28 = 0.0f; - sp8.unk38 = 1200.0f; - fn_1_13658(var_r31, &sp8, var_r31->unk40++, 30.0f, 10.0f); -} - -void fn_1_8B24(void) -{ - StructBss160 *var_r31; - - var_r31 = &lbl_1_bss_160; - var_r31->unk14 = 0.0f; - var_r31->unk18 = 150.0f; - var_r31->unk1C = -550.0f; - var_r31->unk2C = -15.0f; - var_r31->unk30 = 0.0f; - var_r31->unk34 = 0.0f; - var_r31->unk3C = 1200.0f; - fn_1_12E14(var_r31, 20.0f); -} - -void fn_1_8BD4(void) -{ - StructBss160 *var_r31; - - var_r31 = &lbl_1_bss_160; - var_r31->unk14 = 0.0f; - var_r31->unk18 = 300.0f; - var_r31->unk1C = -550.0f; - var_r31->unk2C = -15.0f; - var_r31->unk30 = 0.0f; - var_r31->unk34 = 0.0f; - var_r31->unk3C = 1200.0f; - fn_1_12E14(var_r31, 20.0f); -} - -void fn_1_8C84(s32 arg0) -{ - StructBss160 *var_r23; - - var_r23 = &lbl_1_bss_160; - fn_1_12ABC(var_r23); - switch (arg0) { - case 0: - fn_1_8A4(fn_1_8684); - break; - case 1: - fn_1_8A4(fn_1_8734); - break; - case 2: - fn_1_8A4(fn_1_8824); - break; - case 3: - fn_1_8A4(fn_1_88D4); - break; - case 4: - fn_1_8A4(fn_1_8984); - break; - case 5: - fn_1_8A4(fn_1_8A34); - break; - case 10: - fn_1_8A4(fn_1_8B24); - break; - case 11: - fn_1_8A4(fn_1_8BD4); - break; - } -} - -void fn_1_8DA4(void) -{ - float sp18[] = { 0.0f, 0.0f }; - s32 var_r31; - - lbl_1_bss_C = 0; - fn_1_2A94(sp18, MAKE_MESSID(29, 0)); - fn_1_2A94(sp18, MAKE_MESSID(29, 1)); - var_r31 = fn_1_20F8((580.0f - sp18[0]) / 2, 80.0f, sp18[0], sp18[1], 2); - HuAudFXPlay(0x6D1); - fn_1_4BAC(1, 10, 0, 1); - fn_1_2A10(var_r31, MAKE_MESSID(29, 0)); - fn_1_280C(var_r31, 0); - fn_1_4BAC(1, 10, 0, 1); - fn_1_2A10(var_r31, MAKE_MESSID(29, 1)); - fn_1_280C(var_r31, 0); - fn_1_4BAC(0, 10, 1, 1); - fn_1_27A4(var_r31); - lbl_1_bss_C = 1; - HuPrcEnd(); -} - -void fn_1_9320(void) -{ - float sp10[] = { 0.0f, 0.0f }; - s32 var_r31; - - lbl_1_bss_C = 0; - fn_1_2A94(sp10, MAKE_MESSID(29, 4)); - var_r31 = fn_1_20F8((580.0f - sp10[0]) / 2, 100.0f, sp10[0], sp10[1], 2); - HuAudFXPlay(0x6D2); - fn_1_4BAC(2, 10, 0, 1); - fn_1_2A10(var_r31, MAKE_MESSID(29, 4)); - fn_1_280C(var_r31, REFRESH_RATE); - fn_1_2BAC(3); - fn_1_280C(var_r31, REFRESH_RATE); - fn_1_4BAC(0, 30, 1, 1); - fn_1_27A4(var_r31); - lbl_1_bss_C = 1; - HuPrcEnd(); -} - -void fn_1_96D8(void) -{ - float sp10[] = { 0.0f, 0.0f }; - s32 var_r31; - - lbl_1_bss_C = 0; - fn_1_2A94(sp10, MAKE_MESSID(29, 64)); - var_r31 = fn_1_20F8(550.0f - sp10[0], 340.0f, sp10[0], sp10[1], 1); - HuAudFXPlayVolPan(0x65, 0x7F, 0x60); - fn_1_51DC(4, 10, 0, 1); - fn_1_2A10(var_r31, MAKE_MESSID(29, 64)); - fn_1_28F4(var_r31); - fn_1_51DC(0, 10, 1, 1); - fn_1_27A4(var_r31); - lbl_1_bss_C = 1; - HuPrcEnd(); -} - -void fn_1_9B2C(s32 arg0) -{ - float sp10[2] = { 0.0f, 0.0f }; - s32 sp18[] = { MAKE_MESSID(29, 6), MAKE_MESSID(29, 66), MAKE_MESSID(29, 68), MAKE_MESSID(29, 70), MAKE_MESSID(29, 72), MAKE_MESSID(29, 74), - MAKE_MESSID(29, 76), -1 }; - s32 var_r31; - - if (sp18[arg0] == -1) { - return; - } - fn_1_2A94(sp10, sp18[arg0]); - var_r31 = fn_1_20F8(20.0f, 360.0f, sp10[0], sp10[1], 0); - HuAudFXPlayVolPan(0x3E, 0x7F, 0x20); - fn_1_5148(2, 10, 0, 1); - fn_1_5270(5, 10, 2, 1); - fn_1_2A10(var_r31, sp18[arg0]); - fn_1_280C(var_r31, 0); - fn_1_5148(0, 10, 1, 1); - fn_1_5270(5, 10, 1, 1); - fn_1_27A4(var_r31); -} - -void fn_1_9FA0(void) -{ - float sp10[2] = { 0.0f, 0.0f }; - s32 sp18[] = { MAKE_MESSID(29, 5), MAKE_MESSID(29, 65), MAKE_MESSID(29, 67), MAKE_MESSID(29, 69), MAKE_MESSID(29, 71), MAKE_MESSID(29, 73), - MAKE_MESSID(29, 75), MAKE_MESSID(29, 77) }; - s32 i; - s32 var_r30; - - lbl_1_bss_C = 0; - for (i = 0; i < 8; i++) { - fn_1_2A94(sp10, sp18[i]); - } - var_r30 = fn_1_20F8(550.0f - sp10[0], 340.0f, sp10[0], sp10[1], 1); - HuAudFXPlayVolPan(0x65, 0x7F, 0x60); - for (i = 0; i < 8; i++) { - fn_1_51DC(4, 10, 0, 1); - fn_1_2A10(var_r30, sp18[i]); - fn_1_280C(var_r30, 0); - fn_1_51DC(0, 10, 1, 1); - fn_1_9B2C(i); - } - fn_1_27A4(var_r30); - lbl_1_bss_C = 1; - HuPrcEnd(); -} - -void fn_1_A440(void) -{ - float sp10[] = { 0.0f, 0.0f }; - s32 var_r31; - - lbl_1_bss_C = 0; - fn_1_2A94(sp10, MAKE_MESSID(29, 78)); - var_r31 = fn_1_20F8((580.0f - sp10[0]) / 2, 80.0f, sp10[0], sp10[1], 2); - HuAudFXPlay(0x6D2); - fn_1_4BAC(1, 10, 0, 1); - fn_1_2A10(var_r31, MAKE_MESSID(29, 78)); - fn_1_280C(var_r31, 0); - fn_1_4BAC(0, 10, 1, 1); - fn_1_27A4(var_r31); - lbl_1_bss_C = 1; - HuPrcEnd(); -} - -void fn_1_A860(void) { } - -s32 fn_1_A864(void) -{ - if (fn_1_11854(&lbl_1_bss_50, 0) == 80) { - fn_1_8C84(1); - lbl_1_bss_968.unk00 = HuAudSeqPlay(6); - } - if (fn_1_11854(&lbl_1_bss_50, 0) == 115) { - fn_1_8C84(2); - } - if (fn_1_11854(&lbl_1_bss_50, 0) == 180) { - fn_1_8C84(3); - } - if (fn_1_11854(&lbl_1_bss_50, 0) == 0) { - fn_1_2BAC(2); - } - if (fn_1_11854(&lbl_1_bss_50, 0) == 150) { - fn_1_2BAC(1); - } - if (fn_1_11854(&lbl_1_bss_50, 1) != 0) { - return fn_1_116C4(&lbl_1_bss_50); - } - return 0; -} - -void fn_1_A9E8(void) -{ - HuPrcChildCreate(fn_1_8DA4, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_AA24(void) -{ - if (lbl_1_bss_C != 0 && fn_1_11854(&lbl_1_bss_50, 1) != 0) { - return fn_1_116C4(&lbl_1_bss_50); - } - return 0; -} - -void fn_1_AA80(void) -{ - HuPrcChildCreate(fn_1_9320, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_AABC(void) -{ - if (lbl_1_bss_C != 0 && fn_1_11854(&lbl_1_bss_50, 1) != 0) { - return fn_1_116C4(&lbl_1_bss_50); - } - return 0; -} - -void fn_1_AB18(void) -{ - fn_1_8C84(10); -} - -s32 fn_1_AB68(void) -{ - if (fn_1_11854(&lbl_1_bss_50, 1) != 0) { - return fn_1_116C4(&lbl_1_bss_50); - } - return 0; -} - -void fn_1_ABB0(void) -{ - HuPrcChildCreate(fn_1_96D8, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_ABEC(void) -{ - if (lbl_1_bss_C != 0 && fn_1_11854(&lbl_1_bss_50, 1) != 0) { - if (lbl_1_bss_10 != 0) { - return fn_1_116C4(&lbl_1_bss_50); - } - else { - return fn_1_117C0(&lbl_1_bss_50, 6); - } - } - return 0; -} - -void fn_1_AC70(void) -{ - fn_1_4BAC(4, 60, 1, 1); - HuPrcChildCreate(fn_1_9FA0, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_ACCC(void) -{ - if (lbl_1_bss_C != 0 && fn_1_11854(&lbl_1_bss_50, 1) != 0) { - return fn_1_116C4(&lbl_1_bss_50); - } - return 0; -} - -void fn_1_AD28(void) -{ - fn_1_8C84(11); - fn_1_4BAC(0, 60, 1, 0); -} - -s32 fn_1_AD98(void) -{ - if (fn_1_11854(&lbl_1_bss_50, 1) != 0) { - return fn_1_116C4(&lbl_1_bss_50); - } - return 0; -} - -void fn_1_ADE0(void) -{ - HuPrcChildCreate(fn_1_A440, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_AE1C(void) -{ - if (lbl_1_bss_C != 0 && fn_1_11854(&lbl_1_bss_50, 1) != 0) { - return fn_1_116C4(&lbl_1_bss_50); - } - return 0; -} - -void fn_1_AE78(void) -{ - StructBss6BC *var_r30; - StructBss1DC *sp8; - StructBss8FC *var_r29; - s32 i; - - fn_1_8C84(5); - for (i = 0; i < 4; i++) { - fn_1_610C(i, 1); - } - var_r30 = &lbl_1_bss_6BC[1]; - sp8 = &lbl_1_bss_1DC[i]; - var_r29 = &lbl_1_bss_8FC; - fn_1_15DC8(&var_r30->unk24); - fn_1_15CD0(&var_r30->unk24, var_r29->unk00->model[2]); - HuAudSeqFadeOut(lbl_1_bss_968.unk00, 1000); -} - -s32 fn_1_AF4C(void) -{ - Vec sp20[] = { { -200.0f, 0.0f, -250.0f }, { -340.0f, 0.0f, -250.0f }, { -490.0f, 0.0f, -250.0f }, { -640.0f, 0.0f, -250.0f } }; - s32 i; - - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1DC[i].unk3C == 7) { - fn_1_11CE0(lbl_1_bss_1DC[i].unk00, sp20[i], 90.0f, 9.0f, 30.0f, 15.0f, 3); - } - else { - fn_1_11CE0(lbl_1_bss_1DC[i].unk00, sp20[i], 90.0f, 9.0f, 30.0f, 15.0f, 1); - } - } - if (fn_1_11854(&lbl_1_bss_50, 1) != 0) { - fn_1_4BAC(4, 60, 1, 1); - for (i = 0; i < 4; i++) { - fn_1_11B18(lbl_1_bss_1DC[i].unk00, 0, 0, 10, 1); - } - return fn_1_116C4(&lbl_1_bss_50); - } - return 0; -} - -StructData204 lbl_1_data_204[] = { { fn_1_A860, fn_1_A864, 300 }, { fn_1_A9E8, fn_1_AA24, 60 }, { fn_1_AA80, fn_1_AABC, 60 }, - { fn_1_AB18, fn_1_AB68, 45 }, { fn_1_ABB0, fn_1_ABEC, 60 }, { fn_1_AC70, fn_1_ACCC, 60 }, { fn_1_AD28, fn_1_AD98, 45 }, - { fn_1_ADE0, fn_1_AE1C, 60 }, { fn_1_AE78, fn_1_AF4C, 120 }, { NULL, NULL, -1 } }; - -void fn_1_B194(void) -{ - fn_1_11668(&lbl_1_bss_50, lbl_1_data_204); -} - -s32 fn_1_B1C4(void) -{ - if (lbl_1_bss_50.unk08 != NULL) { - lbl_1_bss_50.unk08(); - lbl_1_bss_50.unk08 = NULL; - } - if (lbl_1_bss_50.unk0C != NULL) { - return lbl_1_bss_50.unk0C(); - } - return 0; -} - -float fn_1_B250(void) -{ - return lbl_1_bss_15C - lbl_1_bss_158; -} - -void fn_1_B270(void) -{ - StructBss944 *var_r30; - StructBss1DC *temp_r31; - - var_r30 = &lbl_1_bss_944; - temp_r31 = &lbl_1_bss_1DC[var_r30->unk10]; - if (fn_1_B250() <= 3.0f) { - temp_r31->unk00->work[1] = fn_1_B250() - 1.0f; - if (temp_r31->unk00->work[1] == 0) { - temp_r31->unk00->work[1] = rand8() % 3 + 1; - } - } - else { - temp_r31->unk00->work[1] = rand8() % 3 + 1; - } - temp_r31->unk00->work[2] = 0; - temp_r31->unk00->work[3] = rand8() % 60 + 60; -} - -s32 fn_1_B3F0(s32 arg0) -{ - StructBss944 *var_r30; - StructBss1DC *temp_r31; - float temp_f31; - - var_r30 = &lbl_1_bss_944; - temp_r31 = &lbl_1_bss_1DC[var_r30->unk10]; - temp_f31 = temp_r31->unk00->trans.y - temp_r31->unk4C; - switch (arg0) { - case 1: - if (temp_f31 > 80.0f && temp_f31 <= 135.0f) { - return 1; - } - break; - case 2: - if (temp_f31 > 190.0f && temp_f31 <= 245.0f) { - return 1; - } - break; - case 3: - if (temp_f31 > 300.0f) { - return 1; - } - break; - } - return 0; -} - -float fn_1_B4F4(s32 arg0, s32 arg1) -{ - StructBss1DC *temp_r31; - - temp_r31 = &lbl_1_bss_1DC[arg0]; - if (temp_r31->unk34 != 0) { - if (arg1 > temp_r31->unk00->work[3]) { - if (temp_r31->unk00->work[2] == 0) { - temp_r31->unk00->work[2] = 1; - fn_1_6580(arg0, 1, 1); - } - else if (fn_1_B3F0(temp_r31->unk00->work[1]) != 0) { - fn_1_6580(arg0, 1, 0); - } - } - } - else if ((HuPadBtnDown[temp_r31->unk40] & 0x100) || ((HuPadBtnDown[temp_r31->unk40] & 0x40) && temp_r31->unk0C == 2)) { - fn_1_6580(arg0, 1, 0); - } - return temp_r31->unk0C; -} - -void fn_1_B7E0(void) -{ - StructBss160 *var_r31; - StructBss160 sp8; - - var_r31 = &lbl_1_bss_160; - sp8.unk08 = 0.0f; - sp8.unk0C = 300.0f; - sp8.unk10 = 0.0f; - sp8.unk20 = 0.0f; - sp8.unk24 = 0.0f; - sp8.unk28 = 0.0f; - sp8.unk38 = 1200.0f; - fn_1_13658(var_r31, &sp8, var_r31->unk40++, 30.0f, 10.0f); -} - -void fn_1_B8D0(void) -{ - StructBss160 *var_r31; - - var_r31 = &lbl_1_bss_160; - var_r31->unk14 = 0.0f; - var_r31->unk18 = 300.0f; - var_r31->unk1C = -350.0f + 450.0f * fn_1_36B4(); - var_r31->unk2C = 0.0f; - var_r31->unk30 = 0.0f; - var_r31->unk34 = 0.0f; - var_r31->unk3C = 1200.0f; - fn_1_12E14(var_r31, 10.0f); -} - -void fn_1_BC18(void) -{ - StructBss160 *var_r31; - - var_r31 = &lbl_1_bss_160; - var_r31->unk14 = 0.0f; - var_r31->unk18 = 300.0f; - var_r31->unk1C = -50.0f; - var_r31->unk2C = -15.0f; - var_r31->unk30 = 0.0f; - var_r31->unk34 = 0.0f; - var_r31->unk3C = 1200.0f; - fn_1_12E14(var_r31, 5.0f); -} - -void fn_1_BCC8(void) -{ - StructBss160 *var_r31; - StructBss160 sp8; - - var_r31 = &lbl_1_bss_160; - sp8.unk08 = 0.0f; - sp8.unk0C = 225.0f; - sp8.unk10 = -800.0f; - sp8.unk20 = 0.0f; - sp8.unk24 = 0.0f; - sp8.unk28 = 0.0f; - sp8.unk38 = 1200.0f; - fn_1_15544(var_r31, &sp8, var_r31->unk40++, 30.0f, 10.0f); -} - -void fn_1_BDB8(s32 arg0) -{ - StructBss160 *var_r27; - - var_r27 = &lbl_1_bss_160; - fn_1_12ABC(var_r27); - switch (arg0) { - case 0: - fn_1_8A4(fn_1_B7E0); - break; - case 1: - fn_1_8A4(fn_1_B8D0); - break; - case 2: - fn_1_8A4(fn_1_BC18); - break; - case 3: - fn_1_8A4(fn_1_BCC8); - break; - } -} - -void fn_1_BE80(void) -{ - s32 sp1C[] = { MAKE_MESSID(29, 79), MAKE_MESSID(29, 80), MAKE_MESSID(29, 81), MAKE_MESSID(29, 82) }; - float sp14[2] = { 0.0f, 0.0f }; - s32 temp_r27; - s32 var_r30; - - temp_r27 = rand8() % 4; - lbl_1_bss_C = 0; - fn_1_2A94(sp14, sp1C[temp_r27]); - var_r30 = fn_1_20F8((580.0f - sp14[0]) / 2, 100.0f, sp14[0], sp14[1], 2); - HuAudFXPlay(0x6D2); - fn_1_4928(1); - fn_1_2A10(var_r30, sp1C[temp_r27]); - fn_1_280C(var_r30, REFRESH_RATE); - lbl_1_bss_C = 1; - fn_1_280C(var_r30, REFRESH_RATE); - fn_1_27A4(var_r30); - HuPrcEnd(); -} - -void fn_1_C248(void) -{ - s32 sp1C[] = { MAKE_MESSID(29, 83), MAKE_MESSID(29, 84), MAKE_MESSID(29, 85) }; - float sp14[2] = { 0.0f, 0.0f }; - s32 temp_r27; - s32 var_r31; - - temp_r27 = rand8() % 3; - lbl_1_bss_C = 0; - fn_1_2A94(sp14, sp1C[temp_r27]); - var_r31 = fn_1_20F8((580.0f - sp14[0]) / 2, 100.0f, sp14[0], sp14[1], 2); - HuAudFXPlay(0x6D2); - fn_1_4928(1); - fn_1_2A10(var_r31, sp1C[temp_r27]); - fn_1_280C(var_r31, REFRESH_RATE); - lbl_1_bss_C = 1; - fn_1_280C(var_r31, REFRESH_RATE); - fn_1_27A4(var_r31); - HuPrcEnd(); -} - -void fn_1_C610(void) -{ - float sp14[2] = { 0.0f, 0.0f }; - s32 var_r31; - - lbl_1_bss_C = 0; - fn_1_2A94(sp14, MAKE_MESSID(29, 86)); - var_r31 = fn_1_20F8((580.0f - sp14[0]) / 2, 80.0f, sp14[0], sp14[1], 2); - HuAudFXPlay(0x6D2); - fn_1_4AF8(4); - lbl_1_bss_C = 1; - fn_1_2A10(var_r31, MAKE_MESSID(29, 86)); - fn_1_280C(var_r31, 30); - fn_1_27A4(var_r31); - lbl_1_bss_C = 2; - HuPrcEnd(); -} - -void fn_1_C9C4(void) -{ - float sp10[] = { 0.0f, 0.0f }; - s32 var_r31; - - fn_1_2A94(sp10, MAKE_MESSID(29, 87)); - var_r31 = fn_1_20F8(580.0f - sp10[0] - 40.0f, 200.0f, sp10[0], sp10[1], 1); - HuAudFXPlayVolPan(0x65, 0x7F, 0x60); - fn_1_51DC(9, 10, 0, 0); - fn_1_2A10(var_r31, MAKE_MESSID(29, 87)); - fn_1_280C(var_r31, 30); - fn_1_27A4(var_r31); - HuPrcEnd(); -} - -void fn_1_CD20(void) -{ - float sp10[] = { 0.0f, 0.0f }; - s32 var_r31; - - fn_1_2A94(sp10, MAKE_MESSID(29, 88)); - var_r31 = fn_1_20F8(40.0f, 200.0f, sp10[0], sp10[1], 0); - HuAudFXPlayVolPan(0x3E, 0x7F, 0x20); - fn_1_5148(4, 10, 0, 0); - fn_1_2A10(var_r31, MAKE_MESSID(29, 88)); - fn_1_280C(var_r31, 30); - fn_1_27A4(var_r31); - HuPrcEnd(); -} - -void fn_1_D03C(void) -{ - s32 sp18[] = { MAKE_MESSID(29, 89), MAKE_MESSID(29, 90), MAKE_MESSID(29, 91) }; - float sp10[2] = { 0.0f, 0.0f }; - s32 temp_r28; - s32 var_r31; - - temp_r28 = rand8() % 3; - fn_1_2A94(sp10, sp18[temp_r28]); - var_r31 = fn_1_20F8((580.0f - sp10[0]) / 2, 100.0f, sp10[0], sp10[1], 2); - HuAudFXPlay(0x6D6); - fn_1_2A10(var_r31, sp18[temp_r28]); - fn_1_280C(var_r31, 2 * REFRESH_RATE); - fn_1_27A4(var_r31); - HuPrcEnd(); -} - -void fn_1_D3C0(void) -{ - float sp10[] = { 0.0f, 0.0f }; - s32 var_r31; - - lbl_1_bss_C = 0; - fn_1_2A94(sp10, MAKE_MESSID(29, 92)); - var_r31 = fn_1_20F8((580.0f - sp10[0]) / 2, 80.0f, sp10[0], sp10[1], 2); - HuAudFXPlay(0x6D6); - fn_1_4BAC(1, 10, 0, 1); - fn_1_2A10(var_r31, MAKE_MESSID(29, 92)); - fn_1_280C(var_r31, 2 * REFRESH_RATE); - fn_1_4BAC(0, 30, 1, 1); - fn_1_27A4(var_r31); - lbl_1_bss_C = 1; - HuPrcEnd(); -} - -void fn_1_D754(void) -{ - Mtx sp8; - s32 var_r26; - s32 i; - StructBss944 *var_r29; - StructBss8FC *var_r24; - StructBss1DC *temp_r27; - StructBss1DC *temp_r25; - StructBss1DC *var_r23; - - var_r29 = &lbl_1_bss_944; - var_r24 = &lbl_1_bss_8FC; - temp_r27 = &lbl_1_bss_1DC[var_r29->unk10]; - for (i = 0; i < 4; i++) { - if (i != var_r29->unk10) { - temp_r25 = &lbl_1_bss_1DC[i]; - fn_1_15DC8(&temp_r25->unk50); - fn_1_15CD0(&temp_r25->unk50, temp_r27->unk00->model[0]); - temp_r25->unk50.unkE4->trans.z = 10.0f; - } - else { - fn_1_15DC8(&temp_r27->unk50); - } - } - if (var_r29->unk20 != 0) { - lbl_1_bss_38.unk14 = 180; - var_r26 = var_r29->unk10 - 1; - if (var_r26 < 0) { - var_r26 = 3; - } - var_r23 = &lbl_1_bss_1DC[var_r26]; - var_r23->unk4C = 0.0f; - fn_1_6580(var_r26, 1, 2); - } - Hu3DModelObjMtxGet(var_r24->unk00->model[0], "m437a01-chara-point", sp8); - temp_r27->unk4C = sp8[1][3]; - fn_1_6580(var_r29->unk10, 1, 1); -} - -s32 fn_1_D930(void) -{ - s32 var_r25 = 4; - StructBss944 *var_r31 = &lbl_1_bss_944; - Vec sp5C[] = { { 5.0f, 0.0f, -250.0f }, { -175.0f, 0.0f, -250.0f }, { -325.0f, 0.0f, -250.0f }, { -490.0f, 0.0f, -250.0f } }; - StructBss1DC *temp_r27; - StructBss1DC *temp_r30; - s32 var_r28; - s32 var_r26; - s32 i; - - var_r28 = var_r31->unk10; - if (var_r31->unk20 != 0) { - var_r25 = 3; - } - for (i = 0; i < var_r25; i++) { - temp_r27 = &lbl_1_bss_1DC[var_r28]; - if (i == 0) { - fn_1_11CE0(temp_r27->unk00, sp5C[i], 0.0f, 4.5f, 10.0f, 5.0f, 0); - } - else if (fn_1_11854(&lbl_1_bss_38, 0) >= i * 5 + 10) { - fn_1_11CE0(temp_r27->unk00, sp5C[i], 90.0f, 9.0f, 30.0f, 15.0f, 2); - } - var_r28++; - if (var_r28 >= 4) { - var_r28 = 0; - } - } - if (var_r31->unk20 != 0) { - Vec sp44[] = { { 0.0f, 0.0f, -50.0f }, { -510.0f, 0.0f, -250.0f } }; - - var_r26 = var_r31->unk10 - 1; - if (var_r26 < 0) { - var_r26 = 3; - } - temp_r30 = &lbl_1_bss_1DC[var_r26]; - if (fn_1_11854(&lbl_1_bss_38, 0) <= 60) { - fn_1_11CE0(temp_r30->unk00, sp44[0], -1.0f, 9.0f, 10.0f, 15.0f, 0); - } - else if (temp_r30->unk3C == 7) { - fn_1_11CE0(temp_r30->unk00, sp44[1], 90.0f, 9.0f, 30.0f, 15.0f, 3); - } - else { - fn_1_11CE0(temp_r30->unk00, sp44[1], 90.0f, 9.0f, 30.0f, 15.0f, 1); - } - } - if (fn_1_11854(&lbl_1_bss_38, 1) != 0) { - var_r31->unk20 = 1; - return fn_1_116C4(&lbl_1_bss_38); - } -} - -void fn_1_DCEC(void) -{ - fn_1_B270(); - fn_1_BDB8(1); - fn_1_1184(5); -} - -s32 fn_1_DEC4(void) -{ - StructBss944 *var_r24; - - var_r24 = &lbl_1_bss_944; - fn_1_11854(&lbl_1_bss_38, 1); - if (fn_1_11854(&lbl_1_bss_38, 0) <= 10) { - return 0; - } - if (fn_1_11BC() != 0) { - return fn_1_117C0(&lbl_1_bss_38, 8); - } - if (fn_1_B4F4(var_r24->unk10, fn_1_11854(&lbl_1_bss_38, 0)) == 5.0f) { - fn_1_11E0(); - return fn_1_116C4(&lbl_1_bss_38); - } - return 0; -} - -void fn_1_E2A8(void) -{ - if (fn_1_36B4() < 0.75f) { - lbl_1_bss_38.unk14 = 60; - } - else { - lbl_1_bss_38.unk14 = 120; - } -} - -s32 fn_1_E598(void) -{ - if (fn_1_11854(&lbl_1_bss_38, 1) != 0) { - if (fn_1_3990()) { - return fn_1_117C0(&lbl_1_bss_38, 5); - } - else { - return fn_1_116C4(&lbl_1_bss_38); - } - } - return 0; -} - -void fn_1_E634(void) -{ - if (fn_1_36B4() < 0.75f) { - HuPrcChildCreate(fn_1_BE80, 100, 0x2000, 0, HuPrcCurrentGet()); - } - else { - HuPrcChildCreate(fn_1_C248, 100, 0x2000, 0, HuPrcCurrentGet()); - } -} - -s32 fn_1_E944(void) -{ - if (lbl_1_bss_C != 0 && fn_1_11854(&lbl_1_bss_38, 1) != 0) { - return fn_1_116C4(&lbl_1_bss_38); - } - return 0; -} - -void fn_1_E9A0(void) -{ - StructBss944 *var_r30; - StructBss1DC *temp_r29; - s32 i; - - var_r30 = &lbl_1_bss_944; - temp_r29 = &lbl_1_bss_1DC[var_r30->unk10]; - fn_1_BDB8(0); - for (i = 0; i < 4; i++) { - if (i != var_r30->unk10) { - StructBss1DC *var_r28 = &lbl_1_bss_1DC[i]; - - fn_1_15DC8(&temp_r29->unk50); - fn_1_15CD0(&temp_r29->unk50, var_r28->unk00->model[0]); - } - } - for (i = 0; i < 4; i++) { - if (i != temp_r29->unk00->work[0]) { - StructBss1DC *var_r27 = &lbl_1_bss_1DC[i]; - - fn_1_11B18(var_r27->unk00, 0, 0, 15, 0); - } - } -} - -s32 fn_1_EAA4(void) -{ - StructBss944 *var_r30; - StructBss1DC *sp8; - - var_r30 = &lbl_1_bss_944; - sp8 = &lbl_1_bss_1DC[var_r30->unk10]; - if (fn_1_11854(&lbl_1_bss_38, 1) != 0) { - var_r30->unk10++; - if (var_r30->unk10 >= 4) { - var_r30->unk10 = 0; - } - return fn_1_117C0(&lbl_1_bss_38, 0); - } - return 0; -} - -void fn_1_EB38(void) -{ - StructBss8D4 *sp8; - StructBss6BC *var_r31; - - lbl_1_bss_8D4.unk08 = 1; - var_r31 = &lbl_1_bss_6BC[1]; - var_r31->unk04 = 0; - var_r31->unk08 = 0; - var_r31->unk14 = 0; - lbl_1_bss_C = 0; - fn_1_3B50(); - HuPrcChildCreate(fn_1_C610, 100, 0x2000, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_C9C4, 100, 0x2000, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_CD20, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_EC10(void) -{ - StructBss1DC *var_r29; - StructBss8D4 *var_r31; - s32 i; - - if (lbl_1_bss_C == 1) { - lbl_1_bss_C = 0; - for (i = 0; i < 4; i++) { - var_r29 = &lbl_1_bss_1DC[i]; - fn_1_119A0(var_r29->unk00, 0, 12, 1, 0); - } - } - var_r31 = &lbl_1_bss_8D4; - if (var_r31->unk00->motion[8] == Hu3DMotionIDGet(var_r31->unk00->model[0]) && Hu3DMotionTimeGet(var_r31->unk00->model[0]) >= 5.0f) { - Hu3DMotionTimeSet(var_r31->unk00->model[0], 5.0f); - Hu3DMotionSpeedSet(var_r31->unk00->model[0], 0.0f); - fn_1_5148(0, 30, 1, 0); - fn_1_51DC(0, 30, 1, 0); - fn_1_5270(5, 10, 1, 1); - } - if (lbl_1_bss_C == 2 && fn_1_11854(&lbl_1_bss_38, 1) != 0) { - return fn_1_116C4(&lbl_1_bss_38); - } - return 0; -} - -void fn_1_EDD4(void) -{ - StructBss944 *var_r30; - StructBss8D4 *var_r29; - StructBss1DC *temp_r31; - - var_r30 = &lbl_1_bss_944; - var_r29 = &lbl_1_bss_8D4; - temp_r31 = &lbl_1_bss_1DC[var_r30->unk10]; - fn_1_4BAC(0, 60, 1, 1); - Hu3DMotionSpeedSet(var_r29->unk00->model[0], 1.0f); - temp_r31->unk00->rot.y = 0.0f; - temp_r31->unk1C = 0; - fn_1_BDB8(3); -} - -s32 fn_1_EEA0(void) -{ - StructBss944 *var_r30; - StructBss1DC *temp_r31; - - var_r30 = &lbl_1_bss_944; - temp_r31 = &lbl_1_bss_1DC[var_r30->unk10]; - if (temp_r31->unk1C++ == 0) { - fn_1_11B18(temp_r31->unk00, 0, 10, 30, 1); - } - else if (temp_r31->unk1C > 0) { - temp_r31->unk00->rot.y = fn_1_11348(0.0f, 180.0f, temp_r31->unk1C, 30.0f); - if (temp_r31->unk1C >= 30) { - fn_1_11B18(temp_r31->unk00, 0, 0, 30, 1); - } - } - if (fn_1_11854(&lbl_1_bss_38, 1) != 0) { - return fn_1_116C4(&lbl_1_bss_38); - } - return 0; -} - -void fn_1_EFCC(void) -{ - StructBss944 *var_r28; - s32 var_r29; - s32 i; - - fn_1_79E0(); - var_r28 = &lbl_1_bss_944; - var_r29 = var_r28->unk10; - for (i = 0; i < 4; i++) { - if (i >= 1) { - fn_1_70F8(var_r29, i); - } - var_r29++; - if (var_r29 >= 4) { - var_r29 = 0; - } - } - HuPrcChildCreate(fn_1_D03C, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_F0B8(void) -{ - if (fn_1_11854(&lbl_1_bss_38, 1) != 0) { - return 1; - } - return 0; -} - -void fn_1_F0F8(void) -{ - lbl_1_bss_8D4.unk08 = 1; - fn_1_4BAC(0, 60, 1, 1); -} - -s32 fn_1_F144(void) -{ - if (fn_1_11854(&lbl_1_bss_38, 1) != 0) { - return fn_1_116C4(&lbl_1_bss_38); - } - return 0; -} - -void fn_1_F18C(void) -{ - StructBss944 *var_r30; - StructBss1DC *temp_r31; - - var_r30 = &lbl_1_bss_944; - temp_r31 = &lbl_1_bss_1DC[var_r30->unk10]; - HuPrcChildCreate(fn_1_D3C0, 100, 0x2000, 0, HuPrcCurrentGet()); - temp_r31->unk00->rot.y = 0.0f; - temp_r31->unk1C = 0; - fn_1_5148(0, 10, 1, 0); - fn_1_51DC(0, 10, 1, 0); - fn_1_5270(5, 10, 1, 1); - fn_1_BDB8(3); -} - -s32 fn_1_F294(void) -{ - StructBss944 *var_r30; - StructBss1DC *temp_r31; - - var_r30 = &lbl_1_bss_944; - temp_r31 = &lbl_1_bss_1DC[var_r30->unk10]; - if (temp_r31->unk1C++ == 60) { - fn_1_11B18(temp_r31->unk00, 0, 10, 30, 1); - } - else if (temp_r31->unk1C > 60) { - temp_r31->unk00->rot.y = fn_1_11348(0.0f, 180.0f, temp_r31->unk1C - 60, 30.0f); - if (temp_r31->unk1C >= 90) { - fn_1_11B18(temp_r31->unk00, 0, 0, 30, 1); - } - } - if (lbl_1_bss_C != 0 && (fn_1_11854(&lbl_1_bss_38, 1) != 0)) { - return fn_1_116C4(&lbl_1_bss_38); - } - return 0; -} - -void fn_1_F3D8(void) -{ - StructBss944 *var_r28; - s32 var_r29; - s32 i; - - fn_1_79E0(); - var_r28 = &lbl_1_bss_944; - var_r29 = var_r28->unk10; - for (i = 0; i < 4; i++) { - if (i >= 1) { - fn_1_70F8(var_r29, i); - } - var_r29++; - if (var_r29 >= 4) { - var_r29 = 0; - } - } -} - -s32 fn_1_F494(void) -{ - if (fn_1_11854(&lbl_1_bss_38, 1) != 0) { - return 1; - } - return 0; -} - -StructData204 lbl_1_data_27C[] = { { fn_1_D754, fn_1_D930, 60 }, { fn_1_DCEC, fn_1_DEC4, 60 }, { fn_1_E2A8, fn_1_E598, 60 }, - { fn_1_E634, fn_1_E944, 10 }, { fn_1_E9A0, fn_1_EAA4, 30 }, { fn_1_EB38, fn_1_EC10, 60 }, { fn_1_EDD4, fn_1_EEA0, 60 }, - { fn_1_EFCC, fn_1_F0B8, 90 }, { fn_1_F0F8, fn_1_F144, 60 }, { fn_1_F18C, fn_1_F294, 60 }, { fn_1_F3D8, fn_1_F494, 90 }, { NULL, NULL, -1 } }; - -void fn_1_F4D4(void) -{ - fn_1_11668(&lbl_1_bss_38, lbl_1_data_27C); -} - -s32 fn_1_F504(void) -{ - if (lbl_1_bss_38.unk08 != NULL) { - lbl_1_bss_38.unk08(); - lbl_1_bss_38.unk08 = NULL; - } - if (lbl_1_bss_38.unk0C != NULL) { - return lbl_1_bss_38.unk0C(); - } - return 0; -} - -void fn_1_F590(void) -{ - StructBss944 *var_r30; - StructBss1DC *temp_r31; - - var_r30 = &lbl_1_bss_944; - temp_r31 = &lbl_1_bss_1DC[var_r30->unk10]; - var_r30->unk1C = 0; - lbl_1_data_A0 = temp_r31->unk00->model[0]; - lbl_1_data_A4 = temp_r31->unk00->motion[3]; - lbl_1_data_A8 = temp_r31->unk3C; - HuPrcChildCreate(fn_1_0, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -s32 fn_1_F640(void) -{ - StructBss944 *var_r31; - StructBss1DC *temp_r30; - - var_r31 = &lbl_1_bss_944; - temp_r30 = &lbl_1_bss_1DC[var_r31->unk10]; - if (fn_1_11854(&lbl_1_bss_20, 0) == 120) { - fn_1_119A0(temp_r30->unk00, 0, 3, 30, 0); - HuAudSStreamPlay(3); - } - if (fn_1_11854(&lbl_1_bss_20, 1) != 0) { - return fn_1_116C4(&lbl_1_bss_20); - } - return 0; -} - -StructData204 lbl_1_data_30C[] = { { fn_1_F590, fn_1_F640, 360 }, { NULL, NULL, -1 } }; - -void fn_1_F6EC(void) -{ - fn_1_11668(&lbl_1_bss_20, lbl_1_data_30C); -} - -s32 fn_1_F71C(void) -{ - if (lbl_1_bss_20.unk08 != NULL) { - lbl_1_bss_20.unk08(); - lbl_1_bss_20.unk08 = NULL; - } - if (lbl_1_bss_20.unk0C != NULL) { - return lbl_1_bss_20.unk0C(); - } - return 0; -} - -void fn_1_F7A8(omObjData *arg0) -{ - StructBss944 *var_r30; - StructBss1DC *temp_r29; - s32 i; - - if (WipeStatGet() == 0) { - HuAudFadeOut(1); - CharModelKill(-1); - MGSeqKillAll(); - var_r30 = &lbl_1_bss_944; - temp_r29 = &lbl_1_bss_1DC[var_r30->unk10]; - for (i = 0; i < 4; i++) { - GWPlayerCoinWinSet(i, 0); - } - GWPlayerCoinWinSet(temp_r29->unk2C, 1); - omOvlReturnEx(1, 1); - arg0->func = NULL; - } -} - -s32 fn_1_F89C(void) -{ - return omSysExitReq; -} - -void fn_1_F8AC(void) -{ - StructBss944 *var_r29; - s32 i; - - fn_1_3260(&lbl_1_bss_920); - fn_1_4538(&lbl_1_bss_8FC); - fn_1_4E00(&lbl_1_bss_8D4); - for (i = 0; i < 2; i++) { - fn_1_5984(&lbl_1_bss_6BC[i]); - } - for (i = 0; i < 4; i++) { - fn_1_74B0(&lbl_1_bss_1DC[i]); - } - fn_1_8308(&lbl_1_bss_68); - var_r29 = &lbl_1_bss_944; - var_r29->unk00 = var_r29->unk04 = var_r29->unk08 = var_r29->unk0C = 0; - var_r29->unk10 = var_r29->unk14 = var_r29->unk18 = var_r29->unk1C = 0; - fn_1_B194(); - fn_1_F4D4(); - fn_1_F6EC(); - fn_1_8C84(0); - HuAudFXPlay(0x6D7); -} - -void fn_1_1043C(omObjData *arg0) -{ - StructBss920 *var_r30; - - switch (lbl_1_bss_18) { - case 0: - fn_1_F8AC(); - lbl_1_bss_18++; - break; - case 1: - if (WipeStatGet() == 0) { - lbl_1_bss_18++; - } - break; - case 2: - if (fn_1_B1C4() != 0) { - lbl_1_bss_18++; - } - break; - case 3: - lbl_1_bss_1C = MGSeqStartCreate(); - lbl_1_bss_18++; - lbl_1_bss_968.unk04 = -1; - break; - case 4: - if ((MGSeqStatGet(lbl_1_bss_1C) & 0x10) && lbl_1_bss_968.unk04 == -1) { - lbl_1_bss_968.unk04 = HuAudSeqPlay(0x4D); - } - if (MGSeqStatGet(lbl_1_bss_1C) == 0) { - lbl_1_bss_18++; - } - break; - case 5: - if (fn_1_F504() != 0) { - lbl_1_bss_18++; - } - break; - case 6: - lbl_1_bss_1C = MGSeqFinishCreate(); - lbl_1_bss_18++; - HuAudSeqPauseAll(0); - HuAudSeqAllFadeOut(0xFA); - break; - case 7: - if (MGSeqStatGet(lbl_1_bss_1C) == 0) { - lbl_1_bss_18++; - } - break; - case 8: - var_r30 = &lbl_1_bss_920; - var_r30->unk04 = 999; - if (fn_1_F71C() != 0) { - lbl_1_bss_18++; - } - break; - case 9: - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - arg0->func = fn_1_F7A8; - break; - case 10: - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - arg0->func = fn_1_F7A8; - break; - } - if (omSysExitReq != 0) { - HuAudSeqAllFadeOut(0xFA); - lbl_1_bss_18 = 10; - } -} - -void fn_1_108A4(omObjData *arg0) -{ - s32 i; - - lbl_1_bss_920.unk00 = omAddObjEx(lbl_1_bss_0, 0x100, 16, 16, -1, fn_1_3410); - lbl_1_bss_8FC.unk00 = omAddObjEx(lbl_1_bss_0, 0x200, 16, 16, -1, fn_1_46C0); - lbl_1_bss_8D4.unk00 = omAddObjEx(lbl_1_bss_0, 0x300, 16, 16, -1, fn_1_4EE0); - for (i = 0; i < 2; i++) { - lbl_1_bss_6BC[i].unk00 = omAddObjEx(lbl_1_bss_0, 0x400, 16, 16, -1, fn_1_5AD8); - lbl_1_bss_6BC[i].unk00->work[0] = i; - } - for (i = 0; i < 4; i++) { - lbl_1_bss_1DC[i].unk00 = omAddObjEx(lbl_1_bss_0, 0x500, 16, 16, -1, fn_1_7678); - lbl_1_bss_1DC[i].unk00->work[0] = i; - } - lbl_1_bss_68.unk00 = omAddObjEx(lbl_1_bss_0, 0x600, 16, 16, -1, fn_1_84C4); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - arg0->func = fn_1_1043C; -} - -#include "src/REL/executor.c" - -void fn_1_10B30(void) -{ - lbl_1_bss_0 = omInitObjMan(62, 0x2000); - omGameSysInit(lbl_1_bss_0); - fn_1_1A8(); - fn_1_F8C(); - fn_1_10C0(); - fn_1_13E8(); - fn_1_1A90(); - fn_1_5FBC(); - omAddObjEx(lbl_1_bss_0, 0x1000, 0, 0, -1, fn_1_108A4); -} - -void ObjectSetup(void) -{ - fn_1_10B30(); -} diff --git a/src/REL/m437Dll/sequence.c b/src/REL/m437Dll/sequence.c deleted file mode 100755 index 9159a819..00000000 --- a/src/REL/m437Dll/sequence.c +++ /dev/null @@ -1,586 +0,0 @@ -#include "REL/m437Dll.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" - -#include "ext_math.h" -#include "string.h" - -void fn_1_11618(StructBss50* arg0); -s32 fn_1_1174C(StructBss50* arg0); -void fn_1_12494(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8); -void fn_1_12958(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6); -void fn_1_129B8(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6); -void fn_1_12A1C(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6); -void fn_1_12A80(StructBss160* arg0); -void fn_1_12B00(StructBss160* arg0, StructBss160* arg1, float arg2); -void fn_1_13128(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3); -void fn_1_133A4(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3); -void fn_1_13B88(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3); -void fn_1_13FDC(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3); -void fn_1_14468(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3, float arg4); -void fn_1_14B84(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3); -void fn_1_15048(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3); -void fn_1_15D3C(StructFn15CD0* arg0, s32 arg1); -void fn_1_15DA4(StructFn15CD0* arg0, s32 arg1); -void fn_1_15DB4(StructFn15CD0* arg0); -void fn_1_15DC0(StructFn15CD0* arg0, s32 arg1); -float fn_1_15E10(s32 arg0, s32 arg1, s32 arg2); -float fn_1_16154(s32 arg0, s32 arg1); -float fn_1_162E4(s32 arg0, float arg1, float arg2); -void fn_1_16348(omObjData* arg0); -void fn_1_1634C(Process* arg0, StructFn15CD0* arg1, s32 arg2, const char* arg3, s32 arg4, s32 arg5); - -const char* lbl_1_data_3D0[] = { - "c000m1-ske_head", - "c001m1-ske_head", - "c002m1-ske_head", - "c003m1-ske_head", - "c004m1-ske_head", - "c005m1-ske_head", - "c006m1-ske_head", - "c007m1-ske_head" -}; - -s32 lbl_1_data_3F0[][2] = { - { 0x100, 1 }, - { 0x100, 1 }, - { 0x80, 0 }, - { 0x80, 0 }, - { 0x80, 0 }, - { 0x100, 1 }, - { 0x80, 0 }, - { 0x80, 0 } -}; - -// Similar to mgmodedll/main.c::fn_1_240E4 (identical in behavior) -float fn_1_11348(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg2 / arg3) * (arg1 - arg0); -} - -float fn_1_11370(float arg0, float arg1, float arg2) { - if (arg2 <= 1.0f) { - return arg1; - } - return (arg1 + arg0 * (arg2 - 1.0f)) / arg2; -} - -// Identical to mgmodedll/main.c::fn_1_24204 -float fn_1_113B0(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg1 - arg0) * sind((90.0f / arg3) * arg2); -} - -// Identical to mgmodedll/main.c::fn_1_242CC -float fn_1_11478(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg1 - arg0) * sind((360.0f / arg3) * arg2); -} - -// Identical to mgmodedll/main.c::fn_1_2412C -float fn_1_11540(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg1 - arg0) * (1.0 - cosd((90.0f / arg3) * arg2)); -} - -void fn_1_11618(StructBss50* arg0) { - arg0->unk10 = 0; - arg0->unk14 = arg0->unk04[arg0->unk00].unk08; - arg0->unk08 = arg0->unk04[arg0->unk00].unk00; - arg0->unk0C = arg0->unk04[arg0->unk00].unk04; -} - -void fn_1_11668(StructBss50* arg0, StructData204* arg1) { - arg0->unk00 = 0; - arg0->unk04 = arg1; - fn_1_11618(arg0); -} - -s32 fn_1_116C4(StructBss50* arg0) { - arg0->unk00++; - fn_1_11618(arg0); - if (arg0->unk08 == NULL && arg0->unk0C == NULL) { - return 1; - } - return 0; -} - -s32 fn_1_1174C(StructBss50* arg0) { - arg0->unk00--; - if (arg0->unk00 < 0) { - return 1; - } - fn_1_11618(arg0); - return 0; -} - -s32 fn_1_117C0(StructBss50* arg0, s32 arg1) { - arg0->unk00 = arg1; - if (arg0->unk00 < 0) { - return 1; - } - fn_1_11618(arg0); - if (arg0->unk08 == NULL && arg0->unk0C == NULL) { - return 1; - } - return 0; -} - -s32 fn_1_11854(StructBss50* arg0, s32 arg1) { - if (arg1 != 0) { - arg0->unk10 += arg1; - if (arg0->unk10 >= arg0->unk14) { - return 1; - } - } else { - return arg0->unk10; - } - return 0; -} - -s32 fn_1_11890(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - if (arg0->motion[arg2] == Hu3DMotionIDGet(arg0->model[0])) { - if (arg4 != 0) { - if (Hu3DMotionTimeGet(arg0->model[arg1]) >= arg3) { - return 1; - } - } else if (Hu3DMotionTimeGet(arg0->model[arg1]) <= arg3) { - return 1; - } - } - return 0; -} - -void fn_1_119A0(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - switch (arg4) { - case 0: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_NONE); - break; - case 1: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_LOOP); - break; - case 2: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_PAUSE); - break; - } -} - -void fn_1_11B18(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - if (arg0->motion[arg2] != Hu3DMotionIDGet(arg0->model[arg1]) && arg0->motion[arg2] != Hu3DMotionShiftIDGet(arg0->model[arg1])) { - fn_1_119A0(arg0, arg1, arg2, arg3, arg4); - } -} - -s32 fn_1_11CE0(omObjData* arg0, Vec arg1, float arg2, float arg3, float arg4, float arg5, s32 arg6) { - float var_f31; - float var_f30; - float var_f26; - float var_f27; - - var_f31 = arg1.x - arg0->trans.x; - var_f30 = arg0->trans.z - arg1.z; - var_f26 = 90.0 + atan2d(var_f30, var_f31); - var_f27 = sqrtf(var_f31 * var_f31 + var_f30 * var_f30); - if (var_f27 <= arg4) { - var_f31 = var_f30 = 0.0f; - } else { - var_f31 = 72.0f * (var_f31 / var_f27); - var_f30 = 72.0f * (var_f30 / var_f27); - } - var_f27 = arg3 * (sqrtf(var_f31 * var_f31 + var_f30 * var_f30) / 72.0f); - if (var_f27 >= arg3) { - var_f27 = arg3; - } else if (var_f27 <= 1.0f) { - var_f31 = var_f30 = var_f27 = 0.0f; - } - if (var_f31 != 0.0f || var_f30 != 0.0f || arg2 >= 0.0f) { - if (arg2 >= 0.0f && var_f31 == 0.0f && var_f30 == 0.0f) { - var_f26 = arg2; - } - if (var_f26 >= 180.0f) { - if (arg0->rot.y - var_f26 >= 180.0f) { - arg0->rot.y -= 360.0f; - } - if (arg0->rot.y - var_f26 < -180.0f) { - arg0->rot.y += 360.0f; - } - } else { - if (arg0->rot.y - var_f26 > 180.0f) { - arg0->rot.y -= 360.0f; - } - if (arg0->rot.y - var_f26 <= -180.0f) { - arg0->rot.y += 360.0f; - } - } - arg0->rot.y = (var_f26 + arg0->rot.y * (arg5 - 1.0f)) / arg5; - } - arg0->trans.x += var_f27 * sind(arg0->rot.y); - arg0->trans.z += var_f27 * cosd(arg0->rot.y); - if (arg6 != 0) { - if (var_f27 > 0.0f) { - if (arg6 == 1 || arg6 == 3) { - if (arg0->motion[1] != Hu3DMotionIDGet(arg0->model[0]) && arg0->motion[1] != Hu3DMotionShiftIDGet(arg0->model[0])) { - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[1], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - } - } else if (arg0->motion[10] != Hu3DMotionIDGet(arg0->model[0]) && arg0->motion[10] != Hu3DMotionShiftIDGet(arg0->model[0])) { - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[10], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - } - } else { - if (arg0->motion[0] != Hu3DMotionIDGet(arg0->model[0]) && arg0->motion[0] != Hu3DMotionShiftIDGet(arg0->model[0])) { - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[0], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - } - return 1; - } - } - return 0; -} - -void fn_1_12494(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8) { - Vec sp2C; - Vec sp20; - Vec sp14; - float var_f31; - float var_f30; - float temp_f29; - float temp_f28; - - sp2C.x = arg2->x; - sp2C.y = arg2->y; - sp2C.z = arg2->z; - sp20.x = arg3->x; - sp20.y = arg3->y; - sp20.z = arg3->z; - var_f31 = Hu3DData[arg0->model[arg1]].rot.y; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } else if (var_f31 >= 360.0f) { - var_f31 -= 360.0f; - } - temp_f29 = arg5; - temp_f28 = arg6; - if (arg7 != 0) { - sp14.x = fn_1_11348(sp2C.x, sp20.x, temp_f29, temp_f28); - sp14.y = fn_1_11348(sp2C.y, sp20.y, temp_f29, temp_f28); - sp14.z = fn_1_11348(sp2C.z, sp20.z, temp_f29, temp_f28); - if (arg1 == 0) { - omSetTra(arg0, sp14.x, sp14.y, sp14.z); - } else { - Hu3DModelPosSet(arg0->model[arg1], sp14.x, sp14.y, sp14.z); - } - } - if (arg8 == 0) { - return; - } - var_f30 = -(atan2d(sp20.z - sp2C.z, sp20.x - sp2C.x) - 90.0); - if (var_f30 < 0.0f) { - var_f30 += 360.0f; - } else if (var_f30 >= 360.0f) { - var_f30 -= 360.0f; - } - if (var_f30 >= 180.0f) { - if (var_f31 - var_f30 >= 180.0f) { - var_f31 -= 360.0f; - } - if (var_f31 - var_f30 < -180.0f) { - var_f31 += 360.0f; - } - } else { - if (var_f31 - var_f30 > 180.0f) { - var_f31 -= 360.0f; - } - if (var_f31 - var_f30 <= -180.0f) { - var_f31 += 360.0f; - } - } - var_f31 = (var_f30 + var_f31 * (arg4 - 1)) / arg4; - if (arg1 == 0) { - arg0->rot.y = var_f31; - } else { - Hu3DData[arg0->model[arg1]].rot.y = var_f31; - } -} - -void fn_1_12958(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6) { - fn_1_12494(arg0, arg1, arg2, arg3, 0, arg5, arg6, 1, 0); -} - -void fn_1_129B8(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6) { - fn_1_12494(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 0, 1); -} - -void fn_1_12A1C(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6) { - fn_1_12494(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 1, 1); -} - -void fn_1_12A80(StructBss160* arg0) { - arg0->unk08 = arg0->unk14; - arg0->unk0C = arg0->unk18; - arg0->unk10 = arg0->unk1C; - arg0->unk20 = arg0->unk2C; - arg0->unk24 = arg0->unk30; - arg0->unk28 = arg0->unk34; - arg0->unk38 = arg0->unk3C; -} - -void fn_1_12ABC(StructBss160* arg0) { - arg0->unk40 = 0; - arg0->unk14 = arg0->unk08; - arg0->unk18 = arg0->unk0C; - arg0->unk1C = arg0->unk10; - arg0->unk2C = arg0->unk20; - arg0->unk30 = arg0->unk24; - arg0->unk34 = arg0->unk28; - arg0->unk3C = arg0->unk38; -} - -void fn_1_12B00(StructBss160* arg0, StructBss160* arg1, float arg2) { - arg0->unk08 = fn_1_11370(arg0->unk08, arg1->unk14, arg2); - arg0->unk0C = fn_1_11370(arg0->unk0C, arg1->unk18, arg2); - arg0->unk10 = fn_1_11370(arg0->unk10, arg1->unk1C, arg2); - arg0->unk20 = fn_1_11370(arg0->unk20, arg1->unk2C, arg2); - arg0->unk24 = fn_1_11370(arg0->unk24, arg1->unk30, arg2); - arg0->unk28 = fn_1_11370(arg0->unk28, arg1->unk34, arg2); - arg0->unk38 = fn_1_11370(arg0->unk38, arg1->unk3C, arg2); -} - -void fn_1_12E14(StructBss160* arg0, float arg1) { - fn_1_12B00(arg0, arg0, arg1); -} - -void fn_1_13128(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3) { - arg1->unk14 = fn_1_11348(arg0->unk14, arg1->unk08, arg2, arg3); - arg1->unk18 = fn_1_11348(arg0->unk18, arg1->unk0C, arg2, arg3); - arg1->unk1C = fn_1_11348(arg0->unk1C, arg1->unk10, arg2, arg3); - arg1->unk2C = fn_1_11348(arg0->unk2C, arg1->unk20, arg2, arg3); - arg1->unk30 = fn_1_11348(arg0->unk30, arg1->unk24, arg2, arg3); - arg1->unk34 = fn_1_11348(arg0->unk34, arg1->unk28, arg2, arg3); - arg1->unk3C = fn_1_11348(arg0->unk3C, arg1->unk38, arg2, arg3); -} - -void fn_1_133A4(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3) { - fn_1_13128(arg0, arg1, arg2, arg3); - arg0->unk08 = arg1->unk14; - arg0->unk0C = arg1->unk18; - arg0->unk10 = arg1->unk1C; - arg0->unk20 = arg1->unk2C; - arg0->unk24 = arg1->unk30; - arg0->unk28 = arg1->unk34; - arg0->unk38 = arg1->unk3C; -} - -void fn_1_13658(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3, float arg4) { - fn_1_13128(arg0, arg1, arg2, arg3); - fn_1_12B00(arg0, arg1, arg4); -} - -void fn_1_13B88(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3) { - arg1->unk14 = fn_1_113B0(arg0->unk14, arg1->unk08, arg2, arg3); - arg1->unk18 = fn_1_113B0(arg0->unk18, arg1->unk0C, arg2, arg3); - arg1->unk1C = fn_1_113B0(arg0->unk1C, arg1->unk10, arg2, arg3); - arg1->unk2C = fn_1_113B0(arg0->unk2C, arg1->unk20, arg2, arg3); - arg1->unk30 = fn_1_113B0(arg0->unk30, arg1->unk24, arg2, arg3); - arg1->unk34 = fn_1_113B0(arg0->unk34, arg1->unk28, arg2, arg3); - arg1->unk3C = fn_1_113B0(arg0->unk3C, arg1->unk38, arg2, arg3); -} - -void fn_1_13FDC(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3) { - fn_1_13B88(arg0, arg1, arg2, arg3); - arg0->unk08 = arg1->unk14; - arg0->unk0C = arg1->unk18; - arg0->unk10 = arg1->unk1C; - arg0->unk20 = arg1->unk2C; - arg0->unk24 = arg1->unk30; - arg0->unk28 = arg1->unk34; - arg0->unk38 = arg1->unk3C; -} - -void fn_1_14468(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3, float arg4) { - fn_1_13B88(arg0, arg1, arg2, arg3); - fn_1_12B00(arg0, arg1, arg4); -} - -void fn_1_14B84(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3) { - arg1->unk14 = fn_1_11540(arg0->unk14, arg1->unk08, arg2, arg3); - arg1->unk18 = fn_1_11540(arg0->unk18, arg1->unk0C, arg2, arg3); - arg1->unk1C = fn_1_11540(arg0->unk1C, arg1->unk10, arg2, arg3); - arg1->unk2C = fn_1_11540(arg0->unk2C, arg1->unk20, arg2, arg3); - arg1->unk30 = fn_1_11540(arg0->unk30, arg1->unk24, arg2, arg3); - arg1->unk34 = fn_1_11540(arg0->unk34, arg1->unk28, arg2, arg3); - arg1->unk3C = fn_1_11540(arg0->unk3C, arg1->unk38, arg2, arg3); -} - -void fn_1_15048(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3) { - fn_1_14B84(arg0, arg1, arg2, arg3); - arg0->unk08 = arg1->unk14; - arg0->unk0C = arg1->unk18; - arg0->unk10 = arg1->unk1C; - arg0->unk20 = arg1->unk2C; - arg0->unk24 = arg1->unk30; - arg0->unk28 = arg1->unk34; - arg0->unk38 = arg1->unk3C; -} - -void fn_1_15544(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3, float arg4) { - fn_1_14B84(arg0, arg1, arg2, arg3); - fn_1_12B00(arg0, arg1, arg4); -} - -void fn_1_15CD0(StructFn15CD0* arg0, s32 arg1) { - s32 var_r30; - s32 i; - - var_r30 = -1; - for (i = 0; i < 20; i++) { - if (arg0->unk94[i] == -1) { - var_r30 = i; - break; - } - } - if (var_r30 != -1) { - arg0->unk94[var_r30] = arg1; - arg0->unk00 = 1; - } -} - -void fn_1_15D3C(StructFn15CD0* arg0, s32 arg1) { - s32 i; - - for (i = 0; i < 20; i++) { - if (arg1 == -1) { - arg0->unk94[i] = -1; - } else if (arg0->unk94[i] == arg1) { - arg0->unk94[i] = -1; - } - } -} - -void fn_1_15DA4(StructFn15CD0* arg0, s32 arg1) { - arg0->unk90 = arg1; - arg0->unk00 = 1; -} - -void fn_1_15DB4(StructFn15CD0* arg0) { - arg0->unk90 = -1; -} - -void fn_1_15DC0(StructFn15CD0* arg0, s32 arg1) { - arg0->unk00 = arg1; -} - -void fn_1_15DC8(StructFn15CD0* arg0) { - fn_1_15DC0(arg0, 0); - fn_1_15D3C(arg0, -1); - fn_1_15DB4(arg0); -} - -float fn_1_15E10(s32 arg0, s32 arg1, s32 arg2) { - Vec sp20; - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - - sp20.x = Hu3DData[arg0].pos.x; - sp20.z = Hu3DData[arg0].pos.z; - sp14.x = Hu3DData[arg1].pos.x; - sp14.z = Hu3DData[arg1].pos.z; - sp8.x = sp14.x - sp20.x; - sp8.z = sp14.z - sp20.z; - var_f30 = Hu3DData[arg0].rot.y; - if (var_f30 >= 360.0f) { - var_f30 -= 360.0f; - } else if (var_f30 < 0.0f) { - var_f30 += 360.0f; - } - if (var_f30 >= 360.0f) { - var_f30 -= 360.0f; - } else if (var_f30 < 0.0f) { - var_f30 += 360.0f; - } - if (var_f30 >= 360.0f) { - var_f30 -= 360.0f; - } else if (var_f30 < 0.0f) { - var_f30 += 360.0f; - } - var_f31 = atan2d(sp8.z, sp8.x) - 90.0; - if (arg2 == 0) { - var_f31 *= -1.0f; - } - if (arg2 != 0) { - var_f31 += var_f30; - } else { - var_f31 -= var_f30; - } - if (var_f31 >= 180.0f) { - var_f31 -= 360.0f; - } else if (var_f31 < -180.0f) { - var_f31 += 360.0f; - } - if (var_f31 >= 180.0f) { - var_f31 -= 360.0f; - } else if (var_f31 < -180.0f) { - var_f31 += 360.0f; - } - if (var_f31 >= 180.0f) { - var_f31 -= 360.0f; - } else if (var_f31 < -180.0f) { - var_f31 += 360.0f; - } - return var_f31; -} - -float fn_1_16154(s32 arg0, s32 arg1) { - Vec sp24; - Vec sp18; - Vec spC; - - sp24.x = Hu3DData[arg0].pos.x; - sp24.z = Hu3DData[arg0].pos.z; - sp18.x = Hu3DData[arg1].pos.x; - sp18.z = Hu3DData[arg1].pos.z; - spC.x = sp18.x - sp24.x; - spC.z = sp18.z - sp24.z; - return sqrtf(spC.x * spC.x + spC.z * spC.z); -} - -float fn_1_162E4(s32 arg0, float arg1, float arg2) { - return (arg2 + arg1 * (arg0 - 1)) / arg0; -} - -void fn_1_16348(omObjData* arg0) { -} - -void fn_1_1634C(Process* arg0, StructFn15CD0* arg1, s32 arg2, const char* arg3, s32 arg4, s32 arg5) { - arg1->unk00 = 0; - arg1->unk84 = arg2; - strcpy(arg1->unk04, arg3); - arg1->unk88 = arg4; - arg1->unk8C = arg5; - arg1->unk90 = -1; - fn_1_15D3C(arg1, -1); - arg1->unkE4 = omAddObjEx(arg0, 0x3000, 0, 0, -1, fn_1_16348); - arg1->unkE4->data = arg1; - arg1->unkE4->trans.x = 10.0f; - arg1->unkE4->trans.y = 10000.0f; - arg1->unkE4->trans.z = 10.0f; - arg1->unkE4->rot.x = 0.0f; - arg1->unkE4->rot.y = 0.0f; - arg1->unkE4->rot.z = 0.0f; - arg1->unkE4->work[0] = arg1->unkE4->work[1] = arg1->unkE4->work[2] = arg1->unkE4->work[3] = 0; -} - -void fn_1_164B0(Process* arg0, StructFn15CD0* arg1, s32 arg2, const char* arg3) { - fn_1_1634C(arg0, arg1, arg2, arg3, 0x100, 0); -} - -void fn_1_1660C(Process* arg0, StructFn15CD0* arg1, s32 arg2, s32 arg3) { - fn_1_1634C(arg0, arg1, arg2, lbl_1_data_3D0[arg3], lbl_1_data_3F0[arg3][0], lbl_1_data_3F0[arg3][1]); -} diff --git a/src/REL/m438Dll/fire.c b/src/REL/m438Dll/fire.c index 349febca..e69de29b 100644 --- a/src/REL/m438Dll/fire.c +++ b/src/REL/m438Dll/fire.c @@ -1,1554 +0,0 @@ -#include "REL/m438Dll.h" - -#include "game/hsfdraw.h" -#define HUSPR_USE_OLD_DEFS -#include "game/sprite.h" - -extern u8 texMtxTbl[]; - -// PROTO -void fn_1_E790(M438UnkStruct2*); -void fn_1_F538(ModelData*, Mtx); -void fn_1_FAB8(M438UnkStruct*); -void fn_1_FD40(M438UnkStruct2*); -void fn_1_10F0C(s16); -s32 fn_1_110B4(s16, u8, s16); - -void fn_1_E658(s16 arg0, s16 arg1) { - M438UnkStruct2* var_r29; - s32 var_r31; - M438UnkStruct3* var_r30; - - lbl_1_bss_DE4.unk_34 = Hu3DHookFuncCreate(fn_1_F538); - Hu3DModelLayerSet(lbl_1_bss_DE4.unk_34, 6); - lbl_1_bss_DE4.unk_30 = arg0; - var_r29 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(M438UnkStruct2), 0x10000000); - lbl_1_bss_DE4.unk_40 = var_r29; - lbl_1_bss_DE4.unk_32 = arg1; - var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(M438UnkStruct3), 0x10000000); - lbl_1_bss_DE4.unk_3C = var_r30; - - for (var_r31 = 0; var_r31 < arg0; var_r31++, var_r29++) { - var_r29->unk_08 = 0; - } - - for (var_r31 = 0; var_r31 < arg1; var_r31++, var_r30++) { - var_r30->unk_06 = 0; - var_r30->unk_08 = 0; - } - lbl_1_bss_DE4.unk_36 = lbl_1_bss_DE4.unk_38 = lbl_1_bss_DE4.unk_3A = 0; -} - -void fn_1_E790(M438UnkStruct2* arg0) { - ModelData sp120; - Mtx spF0; - Mtx spC0; - Mtx sp90; - Mtx sp60; - Mtx sp30; - GXColor sp2C; - s16 sp8; - M438UnkStruct* var_r31; - s16 var_r29; - s16 var_r28; - s32 var_r27; - M438UnkStruct3* temp_r26; - s32 var_r25; - s32 var_r24; - s16 temp_r23; - s32 var_r22; - s32 var_r21; - s32 var_r20; - s32 var_r19; - - mtxRot(sp60, arg0->unk_18.x, arg0->unk_18.y, arg0->unk_18.z); - PSMTXScale(sp90, arg0->unk_24.x, arg0->unk_24.y, arg0->unk_24.z); - PSMTXConcat(sp60, sp90, sp90); - mtxTransCat(sp90, arg0->unk_0C.x, arg0->unk_0C.y, arg0->unk_0C.z); - PSMTXConcat(Hu3DCameraMtx, sp90, spC0); - var_r29 = 0; - var_r28 = 0; - sp8 = 0; - for (var_r27 = GX_TEXMAP0; var_r27 < arg0->unk_04; var_r27++) { - if (arg0->unk_34[var_r27] != 0) { - temp_r26 = &lbl_1_bss_DE4.unk_3C[arg0->unk_34[var_r27]]; - PSMTXCopy(temp_r26->unk_18, sp30); - mtxTransCat(sp30, temp_r26->unk_0C.x, temp_r26->unk_0C.y, temp_r26->unk_0C.z); - switch (temp_r26->unk_04) { - case 0: - GXLoadTexMtxImm(sp30, texMtxTbl[var_r28], GX_MTX2x4); - var_r22 = texMtxTbl[var_r28]; - GXSetTexCoordGen2(var_r28, GX_TG_MTX2x4, var_r27 + 4, var_r22, 0, 0x7D); - GXSetTevOrder(var_r29, var_r28, var_r27, GX_COLOR0A0); - if (var_r27 == GX_TEXMAP0) { - if ((temp_r26->unk_00->bmp->dataFmt == 7) || (temp_r26->unk_00->bmp->dataFmt == 8)) { - GXSetTevColor(GX_TEVREG2, temp_r26->unk_48); - GXSetTevColorIn(var_r29, GX_CC_ZERO, GX_CC_C2, GX_CC_RASC, GX_CC_ZERO); - } else { - GXSetTevColorIn(var_r29, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); - } - GXSetTevAlphaIn(var_r29, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); - } else { - sp2C.a = temp_r26->unk_48.a; - GXSetTevColor(GX_TEVREG2, sp2C); - GXSetTevColorIn(var_r29, GX_CC_CPREV, GX_CC_TEXC, GX_CC_A2, GX_CC_ZERO); - GXSetTevAlphaIn(var_r29, GX_CA_ZERO, GX_CA_TEXA, GX_CA_APREV, GX_CA_ZERO); - } - GXSetTevColorOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevAlphaOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - break; - case 1: - GXLoadTexMtxImm(sp30, texMtxTbl[var_r28], GX_MTX2x4); - var_r21 = texMtxTbl[var_r28]; - GXSetTexCoordGen2(var_r28, GX_TG_MTX2x4, var_r27 + 4, var_r21, 0, 0x7D); - GXSetTevOrder(var_r29, var_r28, var_r27, GX_COLOR0A0); - GXSetTevColorIn(var_r29, GX_CC_ZERO, GX_CC_CPREV, GX_CC_TEXA, GX_CC_ZERO); - GXSetTevAlphaIn(var_r29, GX_CA_ZERO, GX_CA_TEXA, GX_CA_APREV, GX_CA_ZERO); - GXSetTevColorOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevAlphaOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - break; - case 2: - sp2C.a = 0xE0; - GXSetTevColor(GX_TEVREG1, sp2C); - GXSetTexCoordGen2(var_r28 + 1, GX_TG_BUMP0, var_r28, 0x3C, 0, 0x7D); - GXSetTevOrder(var_r29, var_r28, var_r27, GX_COLOR0A0); - GXSetTevColorIn(var_r29, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A1, GX_CC_RASC); - GXSetTevColorOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevAlphaIn(var_r29, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 0, GX_TEVPREV); - var_r29++; - GXSetTevOrder(var_r29, var_r28 + 1, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(var_r29, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A1, GX_CC_CPREV); - GXSetTevColorOp(var_r29, GX_TEV_SUB, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevAlphaIn(var_r29, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 0, GX_TEVPREV); - break; - case 3: - var_r28--; - GXLoadTexMtxImm(sp30, texMtxTbl[var_r28], GX_MTX2x4); - var_r20 = texMtxTbl[var_r28]; - GXSetTexCoordGen2(var_r28, GX_TG_MTX2x4, var_r27 + 4, var_r20, 0, 0x7D); - GXSetTevOrder(var_r29, var_r28, var_r27, GX_COLOR0A0); - GXSetTevColorIn(var_r29, GX_CC_ZERO, GX_CC_CPREV, GX_CC_TEXC, GX_CC_ZERO); - GXSetTevColorOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevAlphaIn(var_r29, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_TEXA); - GXSetTevAlphaOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - var_r28++; - break; - case 4: - mtxRot(sp60, arg0->unk_18.x, arg0->unk_18.y, arg0->unk_18.z); - PSMTXScale(sp90, arg0->unk_24.x, arg0->unk_24.y, arg0->unk_24.z); - PSMTXConcat(sp60, sp90, sp90); - mtxTransCat(sp90, arg0->unk_0C.x, arg0->unk_0C.y, arg0->unk_0C.z); - PSMTXConcat(Hu3DCameraMtx, sp90, sp30); - PSMTXInverse(Hu3DCameraMtx, sp60); - PSMTXConcat(sp60, sp30, sp60); - PSMTXConcat(Hu3DShadowData.unk_68, Hu3DShadowData.unk_38, sp90); - PSMTXConcat(sp90, sp60, sp30); - GXLoadTexMtxImm(sp30, texMtxTbl[var_r28], GX_MTX3x4); - var_r19 = texMtxTbl[var_r28]; - GXSetTexCoordGen2(var_r28, GX_TG_MTX3x4, GX_TG_POS, var_r19, 0, 0x7D); - GXSetTevOrder(var_r29, var_r28, var_r27, GX_COLOR0A0); - if (var_r27 == GX_TEXMAP0) { - GXSetTevColorIn(var_r29, GX_CC_ONE, GX_CC_ZERO, GX_CC_TEXC, GX_CC_ZERO); - GXSetTevAlphaIn(var_r29, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_TEXA); - } else { - GXSetTevColorIn(var_r29, GX_CC_CPREV, GX_CC_ZERO, GX_CC_TEXC, GX_CC_ZERO); - GXSetTevAlphaIn(var_r29, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_APREV); - } - GXSetTevColorOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV); - GXSetTevAlphaOp(var_r29, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 0, GX_TEVPREV); - break; - } - var_r29++; - var_r28++; - if (temp_r26->unk_4D != 0) { - HuSprTexLoad(temp_r26->unk_00, 0, var_r27, 1, 1, 1); - } else { - HuSprTexLoad(temp_r26->unk_00, 0, var_r27, 0, 0, 1); - } - } - } - GXSetNumTevStages((s16)var_r29); - GXSetNumTexGens((s16)var_r28); - var_r31 = arg0->unk_3C; - for (var_r24 = 0; var_r24 < arg0->unk_02; var_r24++, var_r31++) { - if ((var_r31->unk_38 != 0) && ((var_r31->unk_38 & 4) == 0)) { - switch (var_r31->unk_30) { - case 0: - mtxRot(sp60, var_r31->unk_0C.x, var_r31->unk_0C.y, var_r31->unk_0C.z); - if (var_r31->unk_31 == 2) { - PSMTXConcat(lbl_1_bss_DE4.unk_00, sp60, sp60); - } else if (var_r31->unk_31 == 1) { - PSMTXRotRad(sp90, 0x59, MTXDegToRad(CRot.y)); - PSMTXConcat(sp90, sp60, sp60); - } - PSMTXScale(sp90, var_r31->unk_18.x, var_r31->unk_18.y, var_r31->unk_18.z); - PSMTXTrans(sp30, var_r31->unk_24.x, var_r31->unk_24.y, var_r31->unk_24.z); - PSMTXConcat(sp90, sp30, sp90); - PSMTXConcat(sp60, sp90, sp90); - mtxTransCat(sp90, var_r31->unk_00.x, var_r31->unk_00.y, var_r31->unk_00.z); - PSMTXConcat(Hu3DCameraMtx, sp90, spF0); - break; - case 1: - mtxRot(sp60, var_r31->unk_0C.x, var_r31->unk_0C.y, var_r31->unk_0C.z); - if (var_r31->unk_31 == 2) { - if (HmfInverseMtxF3X3(spC0, sp90) == 0) { - PSMTXIdentity(sp90); - } - PSMTXConcat(sp90, sp60, sp60); - } else if (var_r31->unk_31 == 1) { - PSMTXRotRad(sp90, 0x59, MTXDegToRad(CRot.y)); - PSMTXConcat(sp90, sp60, sp60); - } - PSMTXScale(sp90, var_r31->unk_18.x, var_r31->unk_18.y, var_r31->unk_18.z); - PSMTXTrans(sp30, var_r31->unk_24.x, var_r31->unk_24.y, var_r31->unk_24.z); - PSMTXConcat(sp90, sp30, sp90); - PSMTXConcat(sp60, sp90, sp90); - mtxTransCat(sp90, var_r31->unk_00.x, var_r31->unk_00.y, var_r31->unk_00.z); - PSMTXConcat(spC0, sp90, spF0); - break; - } - GXLoadPosMtxImm(spF0, 0); - PSMTXInverse(spF0, sp90); - PSMTXTranspose(sp90, sp60); - GXLoadNrmMtxImm(sp60, 0); - GXSetChanAmbColor(GX_COLOR0A0, var_r31->unk_50); - GXSetChanMatColor(GX_COLOR0A0, var_r31->unk_54); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZCompLoc(0); - switch (var_r31->unk_33) { - case 0: - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - break; - case 1: - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); - break; - case 2: - GXSetBlendMode(GX_BM_BLEND, GX_BL_ZERO, GX_BL_INVDSTCLR, GX_LO_NOOP); - break; - } - if ((var_r31->unk_38 & 0x10) != 0) { - GXSetZMode(0, GX_LEQUAL, 1); - } else { - GXSetZMode(1, GX_LEQUAL, 0); - } - sp120.attr = 0; - temp_r23 = Hu3DLightSet(&sp120, &Hu3DCameraMtx, &Hu3DCameraMtxXPose, 0.0f); - GXSetNumChans(1); - if ((var_r31->unk_38 & 8) != 0) { - var_r25 = GX_SRC_VTX; - } else { - var_r25 = GX_SRC_REG; - } - switch (var_r31->unk_32) { - case 0: - GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, var_r25, 0, GX_DF_CLAMP, GX_AF_NONE); - break; - case 1: - GXSetChanCtrl(GX_COLOR0A0, 1, GX_SRC_REG, var_r25, temp_r23, GX_DF_CLAMP, GX_AF_SPOT); - break; - case 2: - GXSetChanCtrl(GX_COLOR0A0, 1, GX_SRC_REG, var_r25, temp_r23, GX_DF_CLAMP, GX_AF_SPEC); - break; - } - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0); - GXSetArray(GX_VA_POS, var_r31->unk_44, 12); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, var_r31->unk_48, 4); - for (var_r27 = 0; var_r27 < var_r31->unk_34; var_r27++) { - GXSetVtxDesc(var_r27 + GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, var_r27 + GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0); - GXSetArray(var_r27 + GX_VA_TEX0, &var_r31->unk_58[var_r27].unk_04, 8); - } - GXSetVtxDesc(GX_VA_NRM, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGBA6, 0U); - GXSetArray(GX_VA_NRM, var_r31->unk_4C, 12); - GXCallDisplayList(var_r31->unk_40, var_r31->unk_3C); - } - } -} - -void fn_1_F538(ModelData* arg0, Mtx arg1) { - Mtx sp38; - Mtx sp8; - M438UnkStruct2* var_r31; - s32 var_r30; - - var_r31 = lbl_1_bss_DE4.unk_40; - GXLoadPosMtxImm(arg1, 0); - PSMTXInverse(arg1, sp38); - PSMTXTranspose(sp38, sp8); - GXLoadNrmMtxImm(sp8, 0); - HmfInverseMtxF3X3(Hu3DCameraMtx, lbl_1_bss_DE4.unk_00); - - for (var_r30 = 0; var_r30 < lbl_1_bss_DE4.unk_30; var_r30++, var_r31++) { - if ((var_r31->unk_08 != 0) && ((var_r31->unk_08 & 2) != 0) && ((var_r31->unk_08 & 4) == 0)) { - if ((u8)omPauseChk() == 0) { - if (var_r31->unk_30) { - var_r31->unk_30(var_r31); - } - if (var_r31->unk_08 == 0) continue; - fn_1_FD40(var_r31); - if (var_r31->unk_08 == 0) continue; - } - fn_1_E790(var_r31); - } - } -} - -M438UnkStruct2* fn_1_F664(s16 arg0) { - return &lbl_1_bss_DE4.unk_40[arg0]; -} - -M438UnkStruct* fn_1_F680(s16 arg0, s16 arg1) { - return &lbl_1_bss_DE4.unk_40[arg0].unk_3C[arg1]; -} - -M438UnkStruct3* fn_1_F6AC(s16 arg0) { - return &lbl_1_bss_DE4.unk_3C[arg0]; -} - -void fn_1_F6C8(M438FireStruct** arg0, s16 arg1, f32 arg8, f32 arg9) { - s32 var_r30; - M438FireStruct* var_r31; - - var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(M438FireStruct), 0x10000000); - - for (var_r30 = 0; var_r30 < arg1; var_r31++, var_r30++) { - var_r31->unk0.x = (-0.5f * arg8); - var_r31->unk0.y = (0.5f * arg9); - var_r31->unk0.z = 0.0f; - var_r31->unkC.x = (0.5f * arg8); - var_r31->unkC.y = (0.5f * arg9); - var_r31->unkC.z = 0.0f; - var_r31->unk18.x = (0.5f * arg8); - var_r31->unk18.y = (-0.5f * arg9); - var_r31->unk18.z = 0.0f; - var_r31->unk24.x = (-0.5f * arg8); - var_r31->unk24.y = (-0.5f * arg9); - var_r31->unk24.z = 0.0f; - } -} - -void fn_1_F84C(M438FireStruct** arg0, s16 arg1, Vec* arg2) { - Vec* var_r31; - s32 var_r29; - s32 var_r28; - - var_r31 = (Vec*)*arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(M438FireStruct), 0x10000000); - - for (var_r29 = 0; var_r29 < arg1; var_r29++) { - for (var_r28 = 0; var_r28 < 4; var_r31++, arg2++, var_r28++) { - var_r31->x = arg2->x; - var_r31->y = arg2->y; - var_r31->z = arg2->z; - } - } -} - -void fn_1_F8EC(M438FireStruct2** arg0, s16 arg1, GXColor* arg2) { - GXColor* var_r31; - s32 var_r29; - s32 var_r28; - - var_r31 = (GXColor*)*arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(M438FireStruct2), 0x10000000U); - - for (var_r29 = 0; var_r29 < arg1; var_r29++) { - for (var_r28 = 0; var_r28 < 4; var_r31++, arg2++, var_r28++) { - var_r31->r = arg2->r; - var_r31->g = arg2->g; - var_r31->b = arg2->b; - var_r31->a = arg2->a; - } - } -} - -void fn_1_F994(Vec** arg0, s16 arg1, Vec* arg2) { - s32 var_r29; - Vec* var_r31; - - var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(Vec), 0x10000000); - - for (var_r29 = 0; var_r29 < arg1; var_r31++, arg2++, var_r29++) { - var_r31->x = arg2->x; - var_r31->y = arg2->y; - var_r31->z = arg2->z; - } -} - -void fn_1_FA20(M438FireStruct3** arg0, s16 arg1, HsfVector2f* arg2) { - HsfVector2f* var_r31; - s32 var_r29; - s32 var_r28; - - var_r31 = (HsfVector2f*)*arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(M438FireStruct3), 0x10000000); - - for (var_r29 = 0; var_r29 < arg1; var_r29++) { - for (var_r28 = 0; var_r28 < 4; var_r31++, arg2++, var_r28++) { - var_r31->x = arg2->x; - var_r31->y = arg2->y; - } - } -} - -void fn_1_FAB8(M438UnkStruct* arg0) { - Vec sp1C[4] = { - { -50.0f, 50.0f, 0.0f }, - { 50.0f, 50.0f, 0.0f }, - { 50.0f, -50.0f, 0.0f }, - { -50.0f, -50.0f, 0.0f } - }; - GXColor spC[4] = { - { 0xFF, 0xFF, 0xFF, 0xFF }, - { 0xFF, 0xFF, 0xFF, 0xFF }, - { 0xFF, 0xFF, 0xFF, 0xFF }, - { 0xFF, 0xFF, 0xFF, 0xFF } - }; - - void* sp8; - s32 var_r31; - s32 var_r29; - void* temp_r28; - - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - arg0->unk_44[var_r31] = sp1C[var_r31]; - } - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - arg0->unk_48[var_r31] = spC[var_r31]; - } - arg0->unk_4C->x = 0.0f; - arg0->unk_4C->y = 0.0f; - arg0->unk_4C->z = 1.0f; - temp_r28 = arg0->unk_40; - sp8 = temp_r28; - GXBeginDisplayList(temp_r28, 0x100); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - GXPosition1x16(var_r31); - GXColor1x16(0); - GXNormal1x16(var_r31); - for (var_r29 = 0; var_r29 < arg0->unk_34; var_r29++) { - GXTexCoord1x16(var_r31); - } - } - arg0->unk_3C = GXEndDisplayList(); -} - -void fn_1_FD40(M438UnkStruct2* arg0) { - M438UnkStruct* var_r28; - M438UnkStruct3* temp_r30; - M438UnkSubStruct* var_r31; - s32 temp_r0; - s32 var_r25; - s32 var_r26; - s32 var_r27; - - var_r27 = 0; - - var_r28 = arg0->unk_3C; - for (var_r25 = 0; var_r25 < arg0->unk_02; var_r25++, var_r28++) { - if ((var_r28->unk_38 & 4) != 0) { - var_r27++; - } else { - var_r31 = var_r28->unk_58; - for (var_r26 = 0; var_r26 < var_r28->unk_34; var_r26++, var_r31++) { - temp_r30 = &lbl_1_bss_DE4.unk_3C[arg0->unk_34[var_r26]]; - var_r31->unk_24 &= ~4; - switch (var_r31->unk_24 & 0xF) { - case 1: - var_r31->unk_2C += var_r31->unk_28; - if (var_r31->unk_2C >= 1.0f) { - var_r31->unk_00++; - var_r31->unk_2C -= 1.0f; - } - break; - case 2: - var_r31->unk_2C += var_r31->unk_28; - if (var_r31->unk_2C >= 1.0f) { - var_r31->unk_00 -= 1; - var_r31->unk_2C -= 1.0f; - } - break; - } - if (var_r31->unk_00 >= temp_r30->unk_4C) { - if ((var_r31->unk_24 & 0x10) != 0) { - var_r31->unk_24 |= 8; - var_r31->unk_00 -= 1; - } else if ((var_r31->unk_24 & 0x40) != 0) { - var_r31->unk_24 = (var_r31->unk_24 & 0xF0) | 2; - var_r31->unk_00 -= 2; - } else if ((var_r31->unk_24 & 0x20) != 0) { - var_r31->unk_00 = 0; - } - var_r31->unk_24 |= 4; - } else if (var_r31->unk_00 < 0) { - if ((var_r31->unk_24 & 0x10) != 0) { - var_r31->unk_24 |= 8; - var_r31->unk_00 = 0; - } else if ((var_r31->unk_24 & 0x20) != 0) { - if ((var_r31->unk_24 & 0x40) != 0) { - var_r31->unk_24 = (var_r31->unk_24 & 0xF0) | 1; - var_r31->unk_00 = 1; - } else { - var_r31->unk_00 = temp_r30->unk_4C - 1; - } - } else if ((var_r31->unk_24 & 0x40) != 0) { - var_r31->unk_24 |= 8; - var_r31->unk_00 = 0; - } - var_r31->unk_24 |= 4; - } else { - var_r31->unk_24 &= ~8; - } - if (var_r31->unk_00 != var_r31->unk_01) { - var_r31->unk_08 = (var_r31->unk_00 * temp_r30->unk_58); - var_r31->unk_10 = (var_r31->unk_00 * temp_r30->unk_58); - var_r31->unk_18 = ((var_r31->unk_00 + 1) * temp_r30->unk_58); - var_r31->unk_20 = ((var_r31->unk_00 + 1) * temp_r30->unk_58); - if ((var_r31->unk_00 + 1) < temp_r30->unk_4C) { - var_r31->unk_18 -= temp_r30->unk_60; - var_r31->unk_20 -= temp_r30->unk_60; - } - var_r31->unk_01 = var_r31->unk_00; - DCFlushRangeNoSync(&var_r31->unk_04, 0x20); - } - if ((var_r31->unk_24 & 8) != 0) { - if ((var_r28->unk_38 & 0x40000000) != 0) { - var_r28->unk_38 |= 4; - if ((var_r31->unk_24 & 0x40) == 0) { - if (var_r31->unk_00 <= 0) { - var_r31->unk_00 = temp_r30->unk_4C; - } else { - var_r31->unk_00 = 0; - } - } - } else if ((var_r28->unk_38 & 0x80000000) != 0) { - fn_1_107BC(arg0->unk_00); - } - var_r27++; - } - } - } - } - if (var_r27 >= arg0->unk_02) { - if ((arg0->unk_08 & 0x40000000) != 0) { - arg0->unk_08 |= 4; - } else if ((arg0->unk_08 & 0x80000000) != 0) { - fn_1_107BC(arg0->unk_00); - } - } - PPCSync(); -} - -s16 fn_1_10258(u8 arg0, u8 arg1) { - M438UnkStruct* var_r30; - M438UnkStruct2* var_r31; - s32 var_r29; - s32 var_r28; - void* temp_r25; - - var_r31 = &lbl_1_bss_DE4.unk_40[1]; - - for (var_r29 = 1; var_r29 < lbl_1_bss_DE4.unk_30; var_r29++, var_r31++) { - if (var_r31->unk_08 == 0) break; - } - if (var_r29 == lbl_1_bss_DE4.unk_30) { - OSReport("OVER BILL\n"); - return 0; - } - var_r31->unk_00 = var_r29; - var_r31->unk_08 = 1; - var_r31->unk_30 = NULL; - var_r31->unk_02 = arg0; - var_r31->unk_04 = arg1; - var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 0x98, 0x10000000); - var_r31->unk_3C = var_r30; - var_r31->unk_34 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * 2, 0x10000000); - var_r31->unk_48 = 0; - var_r31->unk_4C = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 << 8, 0x10000000); - var_r31->unk_50 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 0x30, 0x10000000); - var_r31->unk_54 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 0x10, 0x10000000); - var_r31->unk_58 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 0xC, 0x10000000); - var_r31->unk_5C = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * (arg0 * 0x30), 0x10000000); - DCFlushRangeNoSync(var_r31->unk_4C, arg0 << 8); - var_r31->unk_0C.x = var_r31->unk_0C.y = var_r31->unk_0C.z = 0.0f; - var_r31->unk_18.x = var_r31->unk_18.y = var_r31->unk_18.z = 0.0f; - var_r31->unk_24.x = var_r31->unk_24.y = var_r31->unk_24.z = 1.0f; - var_r31->unk_70.x = var_r31->unk_70.y = var_r31->unk_70.z = 0.0f; - var_r31->unk_64.x = var_r31->unk_64.y = var_r31->unk_64.z = 0.0f; - var_r31->unk_60 = 0; - - for (var_r29 = 0; var_r29 < 0x20; var_r29++) { - var_r31->unk_7Ca[var_r29] = 0; - } - - for (var_r29 = 0; var_r29 < arg1; var_r29++) { - var_r31->unk_34[var_r29] = 0; - } - - for (var_r29 = 0; var_r29 < arg0; var_r29++, var_r30++) { - var_r30->unk_38 = 1; - var_r30->unk_34 = arg1; - var_r30->unk_30 = 0; - var_r30->unk_31 = 2; - var_r30->unk_32 = 0; - var_r30->unk_33 = 0; - var_r30->unk_50.r = var_r30->unk_50.g = var_r30->unk_50.b = 0; - var_r30->unk_50.a = 0xFF; - var_r30->unk_54.r = var_r30->unk_54.g = var_r30->unk_54.b = 0xFF; - var_r30->unk_54.a = 0xFF; - var_r30->unk_58 = &var_r31->unk_5C[var_r29 * arg1]; - - for (var_r28 = 0; var_r28 < arg1; var_r28++) { - var_r30->unk_58[var_r28].unk_00 = var_r30->unk_58[var_r28].unk_01 = 0; - var_r30->unk_58[var_r28].unk_28 = 1.0f; - var_r30->unk_58[var_r28].unk_2C = 0.0f; - } - var_r30->unk_00.x = var_r30->unk_00.y = var_r30->unk_00.z = 0.0f; - var_r30->unk_0C.x = var_r30->unk_0C.y = var_r30->unk_0C.z = 0.0f; - var_r30->unk_18.x = var_r30->unk_18.y = var_r30->unk_18.z = 1.0f; - var_r30->unk_6C.x = var_r30->unk_6C.y = var_r30->unk_6C.z = 0.0f; - var_r30->unk_24.x = var_r30->unk_24.y = var_r30->unk_24.z = 0.0f; - var_r30->unk_60.x = var_r30->unk_60.y = var_r30->unk_60.z = 0.0f; - var_r30->unk_5C = 0; - - for (var_r28 = 0; var_r28 < 0x10; var_r28++) { - var_r30->unk_78[var_r28] = 0; - } - var_r30->unk_44 = &var_r31->unk_50[var_r29 * 4]; - var_r30->unk_48 = &var_r31->unk_54[var_r29 * 4]; - var_r30->unk_4C = &var_r31->unk_58[var_r29]; - var_r30->unk_40 = ((char*)var_r31->unk_4C) + var_r31->unk_48; - fn_1_FAB8(var_r30); - var_r31->unk_48 += var_r30->unk_3C; - } - temp_r25 = var_r31->unk_4C; - var_r31->unk_4C = HuMemDirectMallocNum(HEAP_SYSTEM, var_r31->unk_48, 0x10000000); - memcpy(var_r31->unk_4C, temp_r25, var_r31->unk_48); - HuMemDirectFree(temp_r25); - DCFlushRangeNoSync(var_r31->unk_50, arg0 * 0x30); - DCFlushRangeNoSync(var_r31->unk_54, arg0 * 0x10); - DCFlushRangeNoSync(var_r31->unk_58, arg0 * 0xC); - DCFlushRangeNoSync(var_r31->unk_4C, var_r31->unk_48); - var_r30 = var_r31->unk_3C; - var_r31->unk_48 = 0; - - for (var_r29 = 0; var_r29 < arg0; var_r29++, var_r30++) { - var_r30->unk_40 = ((char*)var_r31->unk_4C) + var_r31->unk_48; - var_r31->unk_48 += var_r30->unk_3C; - } - lbl_1_bss_DE4.unk_36 = var_r31->unk_00; - lbl_1_bss_DE4.unk_38 = 0; - lbl_1_bss_DE4.unk_3A = 0; - PPCSync(); - return var_r31->unk_00; -} - -void fn_1_107BC(s16 arg0) { - M438UnkStruct2* temp_r31; - s32 var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - if ((u32) temp_r31->unk_08 != 0) { - if (temp_r31->unk_50 != NULL) { - HuMemDirectFree(temp_r31->unk_50); - } - if (temp_r31->unk_54 != NULL) { - HuMemDirectFree(temp_r31->unk_54); - } - if (temp_r31->unk_58 != NULL) { - HuMemDirectFree(temp_r31->unk_58); - } - if (temp_r31->unk_4C != NULL) { - HuMemDirectFree(temp_r31->unk_4C); - } - if (temp_r31->unk_5C != NULL) { - HuMemDirectFree(temp_r31->unk_5C); - } - - for (var_r30 = 0; var_r30 < temp_r31->unk_04; var_r30++) { - fn_1_10F0C(temp_r31->unk_34[var_r30]); - } - HuMemDirectFree(temp_r31->unk_3C); - HuMemDirectFree(temp_r31->unk_34); - temp_r31->unk_08 = 0; - temp_r31->unk_00 = 0; - } - } -} - -void fn_1_108E4(s16 arg0, s16 arg1, u8 arg2) { - lbl_1_bss_DE4.unk_36 = arg0; - lbl_1_bss_DE4.unk_38 = arg1; - lbl_1_bss_DE4.unk_3A = arg2; -} - -#include "game/sprite.h" - -s16 fn_1_10910(u32 arg0, s16 arg1, s16 arg2) { - f32 var_f31; - f32 var_f30; - AnimData* var_r30; - M438UnkStruct3* var_r31; - s32 var_r29; - - var_r31 = &lbl_1_bss_DE4.unk_3C[1]; - for (var_r29 = 1; var_r29 < lbl_1_bss_DE4.unk_32; var_r29++, var_r31++) { - if ((var_r31->unk_06 != 0) && (var_r31->unk_08 == arg0)) break; - } - if (var_r29 < lbl_1_bss_DE4.unk_32) { - var_r31->unk_06++; - return var_r29; - } - - var_r31 = &lbl_1_bss_DE4.unk_3C[1]; - for (var_r29 = 1; var_r29 < lbl_1_bss_DE4.unk_32; var_r29++, var_r31++) { - if (var_r31->unk_06 == 0) break; - } - var_r31->unk_08 = arg0; - var_r31->unk_06 = 1; - if (((arg0 & 0xFFFF0000) + 0x10000) == 0) { - var_r30 = HuSprAnimMake(arg1, arg2, 2); - var_r30->bmp->data = HuMemDirectMallocNum(HEAP_SYSTEM, arg2 * (arg1 * 2), 0x10000000); - arg1 = arg2 = 0; - } else { - var_r30 = HuSprAnimRead(HuDataReadNum(arg0, 0x10000000)); - } - if ((arg1 == 0) || (arg2 == 0)) { - arg1 = var_r30->bmp->sizeX; - arg2 = var_r30->bmp->sizeY; - var_f31 = var_f30 = 1.0f; - } else { - var_f31 = arg1 / (f32)var_r30->bmp->sizeX; - var_f30 = arg2 / (f32)var_r30->bmp->sizeY; - } - var_r31->unk_00 = var_r30; - var_r31->unk_4E = arg1; - var_r31->unk_50 = arg2; - var_r31->unk_54 = var_f31; - var_r31->unk_58 = var_f30; - var_r31->unk_5C = 1.0f / var_r30->bmp->sizeX; - var_r31->unk_60 = 1.0f / var_r30->bmp->sizeY; - var_r31->unk_04 = 0; - var_r31->unk_4C = var_r30->bmp->sizeY / arg2; - if (var_r31->unk_4C < 1) { - var_r31->unk_4C = 1; - } - var_r31->unk_4D = 0; - if ((arg1 > var_r30->bmp->sizeX) || (arg2 > var_r30->bmp->sizeY)) { - var_r31->unk_4D = 1; - } - var_r31->unk_48.r = var_r31->unk_48.g = var_r31->unk_48.b = 0xFF; - var_r31->unk_48.a = 0xFF; - PSMTXIdentity(var_r31->unk_18); - var_r31->unk_0C.x = var_r31->unk_0C.y = var_r31->unk_0C.z = 0.0f; - return var_r29; -} - -void fn_1_10CB8(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4, s16 arg5) { - f32 var_f31; - f32 var_f30; - M438UnkStruct3* temp_r31; - AnimData* temp_r30; - - temp_r31 = &lbl_1_bss_DE4.unk_3C[arg0]; - HuSprAnimKill(temp_r31->unk_00); - temp_r31->unk_08 |= 0xFFFF0000; - temp_r30 = HuSprAnimMake(arg2, arg3, arg1); - temp_r30->bmp->data = HuMemDirectMallocNum(HEAP_SYSTEM, arg3 * (temp_r30->bmp->pixSize * arg2), 0x10000000U); - var_f31 = arg4 / (f32) temp_r30->bmp->sizeX; - var_f30 = arg5 / (f32) temp_r30->bmp->sizeY; - temp_r31->unk_00 = temp_r30; - temp_r31->unk_4E = arg2; - temp_r31->unk_50 = arg3; - temp_r31->unk_54 = var_f31; - temp_r31->unk_58 = var_f30; - temp_r31->unk_5C = 1.0f / (f32) temp_r30->bmp->sizeX; - temp_r31->unk_60 = 1.0f / (f32) temp_r30->bmp->sizeY; - temp_r31->unk_04 = 0; - temp_r31->unk_4C = temp_r30->bmp->sizeY / arg5; - temp_r31->unk_4D = 0; - temp_r31->unk_48.r = temp_r31->unk_48.g = temp_r31->unk_48.b = 0xFF; - temp_r31->unk_48.a = 0xFF; -} - -void fn_1_10F0C(s16 arg0) { - M438UnkStruct3* temp_r31; - - temp_r31 = &lbl_1_bss_DE4.unk_3C[arg0]; - if (temp_r31->unk_08 != 0) { - if (temp_r31->unk_06 != 0) { - temp_r31->unk_06 -= 1; - } - if (temp_r31->unk_06 == 0) { - HuSprAnimKill(temp_r31->unk_00); - temp_r31->unk_08 = 0; - } - } -} - -u8 fn_1_10F8C(s16 arg0, u8 arg1, u32 arg2, s16 arg3, s16 arg4) { - s32 var_r31; - - if (arg0 == 0) return 0; - - var_r31 = fn_1_10910(arg2, arg3, arg4); - if (var_r31 == 0) return 0; - - fn_1_110B4(arg0, arg1, var_r31); - return var_r31; -} - -u8 fn_1_11018(s16 arg0, u8 arg1, u32 arg2) { - u8 var_r31; - - var_r31 = fn_1_10F8C(arg0, arg1, arg2, 0, 0); - - return var_r31; -} - -s32 fn_1_110B4(s16 arg0, u8 arg1, s16 arg2) { - M438UnkStruct* var_r29; - M438UnkStruct2* temp_r28; - M438UnkStruct3* temp_r30; - M438UnkSubStruct* temp_r31; - s32 var_r26; - - if (arg2 == 0) { - return 0; - } - if (arg0 == 0) { - return 0; - } - temp_r28 = &lbl_1_bss_DE4.unk_40[arg0]; - temp_r28->unk_08 |= 2; - if (arg2 == temp_r28->unk_34[arg1]) { - return 1; - } - temp_r28->unk_34[arg1] = arg2; - temp_r30 = &lbl_1_bss_DE4.unk_3C[arg2]; - - var_r29 = temp_r28->unk_3C; - for (var_r26 = 0; var_r26 < temp_r28->unk_02; var_r26++, var_r29++) { - if (arg1 == 0) { - var_r29->unk_44[0].x = -0.5f * temp_r30->unk_4E; - var_r29->unk_44[0].y = 0.5f * temp_r30->unk_50; - var_r29->unk_44[1].x = (0.5f * temp_r30->unk_4E); - var_r29->unk_44[1].y = (0.5f * temp_r30->unk_50); - var_r29->unk_44[2].x = (0.5f * temp_r30->unk_4E); - var_r29->unk_44[2].y = (-0.5f * temp_r30->unk_50); - var_r29->unk_44[3].x = (-0.5f * temp_r30->unk_4E); - var_r29->unk_44[3].y = (-0.5f * temp_r30->unk_50); - var_r29->unk_44[0].z = var_r29->unk_44[1].z = var_r29->unk_44[2].z = var_r29->unk_44[3].z = 0.0f; - } - temp_r31 = &var_r29->unk_58[arg1]; - temp_r31->unk_24 = 0; - temp_r31->unk_00 = temp_r31->unk_01 = 0; - temp_r31->unk_28 = 1.0f; - temp_r31->unk_2C = 0.0f; - temp_r31->unk_04 = temp_r31->unk_00 * temp_r30->unk_54; - temp_r31->unk_08 = temp_r31->unk_00 * temp_r30->unk_58; - temp_r31->unk_0C = (temp_r31->unk_00 + 1) * temp_r30->unk_54; - temp_r31->unk_10 = temp_r31->unk_00 * temp_r30->unk_58; - temp_r31->unk_14 = (temp_r31->unk_00 + 1) * temp_r30->unk_54; - temp_r31->unk_18 = (temp_r31->unk_00 + 1) * temp_r30->unk_58; - temp_r31->unk_1C = (temp_r31->unk_00 * temp_r30->unk_54); - temp_r31->unk_20 = (temp_r31->unk_00 + 1) * temp_r30->unk_58; - if ((temp_r31->unk_00 + 1) < temp_r30->unk_4C) { - temp_r31->unk_18 -= temp_r30->unk_60; - temp_r31->unk_20 -= temp_r30->unk_60; - } - DCFlushRangeNoSync(&temp_r31->unk_04, 0x20); - } - lbl_1_bss_DE4.unk_36 = arg0; - lbl_1_bss_DE4.unk_3A = arg1; - PPCSync(); - return 1; -} - -void fn_1_11658(void) { - M438UnkStruct2* temp_r31; - M438UnkStruct3* temp_r30; - M438UnkStruct3* temp_r29; - s32 var_r28; - s32 var_r27; - s16 var_r26; - - for (var_r28 = 1; var_r28 < lbl_1_bss_DE4.unk_30; var_r28++) { - if ((s16)var_r28 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[(s16)var_r28]; - if (temp_r31->unk_08 != 0) { - if (temp_r31->unk_50 != NULL) { - HuMemDirectFree(temp_r31->unk_50); - } - if (temp_r31->unk_54 != NULL) { - HuMemDirectFree(temp_r31->unk_54); - } - if (temp_r31->unk_58 != NULL) { - HuMemDirectFree(temp_r31->unk_58); - } - if (temp_r31->unk_4C != NULL) { - HuMemDirectFree(temp_r31->unk_4C); - } - if (temp_r31->unk_5C != NULL) { - HuMemDirectFree(temp_r31->unk_5C); - } - - for (var_r27 = 0; var_r27 < temp_r31->unk_04; var_r27++) { - var_r26 = temp_r31->unk_34[var_r27]; - temp_r29 = &lbl_1_bss_DE4.unk_3C[var_r26]; - if (temp_r29->unk_08 != 0) { - if (temp_r29->unk_06 != 0) { - temp_r29->unk_06 -= 1; - } - if (temp_r29->unk_06 == 0) { - HuSprAnimKill(temp_r29->unk_00); - temp_r29->unk_08 = 0; - } - } - } - HuMemDirectFree(temp_r31->unk_3C); - HuMemDirectFree(temp_r31->unk_34); - temp_r31->unk_08 = 0; - temp_r31->unk_00 = 0; - } - } - } - - for (var_r28 = 1; var_r28 < lbl_1_bss_DE4.unk_32; var_r28++) { - temp_r30 = &lbl_1_bss_DE4.unk_3C[(s16)var_r28]; - if (temp_r30->unk_08 != 0U) { - if (temp_r30->unk_06 != 0) { - temp_r30->unk_06 -= 1; - } - if (temp_r30->unk_06 == 0) { - HuSprAnimKill(temp_r30->unk_00); - temp_r30->unk_08 = 0; - } - } - } - HuMemDirectFree(lbl_1_bss_DE4.unk_40); - HuMemDirectFree(lbl_1_bss_DE4.unk_3C); - Hu3DModelKill(lbl_1_bss_DE4.unk_34); -} - -void fn_1_11890(s16 arg0, f32 arg8, f32 arg9, f32 argA) { - M438UnkStruct2* temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - temp_r31->unk_0C.x = arg8; - temp_r31->unk_0C.y = arg9; - temp_r31->unk_0C.z = argA; - if (temp_r31->unk_02 == 1) { - temp_r31->unk_3C->unk_00 = temp_r31->unk_0C; - } - } -} - -void fn_1_118FC(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) { - M438UnkStruct* temp_r31; - M438UnkStruct2* temp_r30; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r30->unk_02 > arg1) { - temp_r31 = &temp_r30->unk_3C[arg1]; - temp_r31->unk_00.x = arg8; - temp_r31->unk_00.y = arg9; - temp_r31->unk_00.z = argA; - } - } -} - -void fn_1_1196C(s16 arg0, f32 arg8, f32 arg9, f32 argA) { - M438UnkStruct* var_r31; - M438UnkStruct2* temp_r30; - s32 var_r29; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_DE4.unk_40[arg0]; - var_r31 = temp_r30->unk_3C; - for (var_r29 = 0; var_r29 < temp_r30->unk_02; var_r29++, var_r31++) { - var_r31->unk_00.x = arg8; - var_r31->unk_00.y = arg9; - var_r31->unk_00.z = argA; - } - } -} - -void fn_1_119E0(s16 arg0, f32 arg8, f32 arg9, f32 argA) { - M438UnkStruct2* temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - temp_r31->unk_0C.x += arg8; - temp_r31->unk_0C.y += arg9; - temp_r31->unk_0C.z += argA; - if (temp_r31->unk_02 == 1) { - temp_r31->unk_3C->unk_00 = temp_r31->unk_0C; - } - } -} - -void fn_1_11A64(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) { - M438UnkStruct* temp_r31; - M438UnkStruct2* temp_r30; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r30->unk_02 > arg1) { - temp_r31 = &temp_r30->unk_3C[arg1]; - temp_r31->unk_00.x += arg8; - temp_r31->unk_00.y += arg9; - temp_r31->unk_00.z += argA; - } - } -} - -void fn_1_11AEC(s16 arg0, f32 arg8, f32 arg9, f32 argA) { - M438UnkStruct* var_r31; - M438UnkStruct2* temp_r30; - s32 var_r29; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_DE4.unk_40[arg0]; - var_r31 = temp_r30->unk_3C; - for (var_r29 = 0; var_r29 < temp_r30->unk_02; var_r29++, var_r31++) { - var_r31->unk_00.x += arg8; - var_r31->unk_00.y += arg9; - var_r31->unk_00.z += argA; - } - } -} - -void fn_1_11B78(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) { - M438UnkStruct* temp_r31; - M438UnkStruct2* temp_r30; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r30->unk_02 > arg1) { - temp_r31 = &temp_r30->unk_3C[arg1]; - temp_r31->unk_24.x = arg8; - temp_r31->unk_24.y = arg9; - temp_r31->unk_24.z = argA; - } - } -} - -void fn_1_11BE8(s16 arg0, f32 arg8, f32 arg9, f32 argA) { - M438UnkStruct* var_r31; - M438UnkStruct2* temp_r30; - s32 var_r29; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_DE4.unk_40[arg0]; - var_r31 = temp_r30->unk_3C; - for (var_r29 = 0; var_r29 < temp_r30->unk_02; var_r29++, var_r31++) { - var_r31->unk_24.x = arg8; - var_r31->unk_24.y = arg9; - var_r31->unk_24.z = argA; - } - } -} - -void fn_1_11C5C(s16 arg0, f32 arg8, f32 arg9, f32 argA) { - M438UnkStruct2* temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - temp_r31->unk_70.x = arg8; - temp_r31->unk_70.y = arg9; - temp_r31->unk_70.z = argA; - if (temp_r31->unk_02 == 1) { - temp_r31->unk_3C->unk_6C = temp_r31->unk_70; - } - } -} - -void fn_1_11CC8(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) { - M438UnkStruct* temp_r31; - M438UnkStruct2* temp_r30; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r30->unk_02 > arg1) { - temp_r31 = &temp_r30->unk_3C[arg1]; - temp_r31->unk_6C.x = arg8; - temp_r31->unk_6C.y = arg9; - temp_r31->unk_6C.z = argA; - } - } -} - -void fn_1_11D38(s16 arg0, f32 arg8, f32 arg9, f32 argA) { - M438UnkStruct* var_r31; - M438UnkStruct2* temp_r30; - s32 var_r29; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_DE4.unk_40[arg0]; - var_r31 = temp_r30->unk_3C; - for (var_r29 = 0; var_r29 < temp_r30->unk_02; var_r29++, var_r31++) { - var_r31->unk_6C.x = arg8; - var_r31->unk_6C.y = arg9; - var_r31->unk_6C.z = argA; - } - } -} - -void fn_1_11DAC(s16 arg0, f32 arg8, f32 arg9, f32 argA) { - M438UnkStruct2* temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - temp_r31->unk_18.x = arg8; - temp_r31->unk_18.y = arg9; - temp_r31->unk_18.z = argA; - if (temp_r31->unk_02 == 1) { - temp_r31->unk_3C->unk_0C = temp_r31->unk_18; - } - } -} - -void fn_1_11E18(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) { - M438UnkStruct* temp_r31; - M438UnkStruct2* temp_r30; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r30->unk_02 > arg1) { - temp_r31 = &temp_r30->unk_3C[arg1]; - temp_r31->unk_0C.x = arg8; - temp_r31->unk_0C.y = arg9; - temp_r31->unk_0C.z = argA; - } - } -} - -void fn_1_11E88(s16 arg0, f32 arg8, f32 arg9, f32 argA) { - M438UnkStruct* var_r31; - M438UnkStruct2* temp_r30; - s32 var_r29; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_DE4.unk_40[arg0]; - var_r31 = temp_r30->unk_3C; - for (var_r29 = 0; var_r29 < temp_r30->unk_02; var_r29++, var_r31++) { - var_r31->unk_0C.x = arg8; - var_r31->unk_0C.y = arg9; - var_r31->unk_0C.z = argA; - } - } -} - -void fn_1_11EFC(s16 arg0, f32 arg8, f32 arg9, f32 argA) { - M438UnkStruct2* temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - temp_r31->unk_24.x = arg8; - temp_r31->unk_24.y = arg9; - temp_r31->unk_24.z = argA; - if (temp_r31->unk_02 == 1) { - temp_r31->unk_3C->unk_18 = temp_r31->unk_24; - } - } -} - -void fn_1_11F68(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA) { - M438UnkStruct* temp_r31; - M438UnkStruct2* temp_r30; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r30->unk_02 > arg1) { - temp_r31 = &temp_r30->unk_3C[arg1]; - temp_r31->unk_18.x = arg8; - temp_r31->unk_18.y = arg9; - temp_r31->unk_18.z = argA; - } - } -} - -void fn_1_11FD8(s16 arg0, f32 arg8, f32 arg9, f32 argA) { - M438UnkStruct* var_r31; - M438UnkStruct2* temp_r30; - s32 var_r29; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_DE4.unk_40[arg0]; - var_r31 = temp_r30->unk_3C; - for (var_r29 = 0; var_r29 < temp_r30->unk_02; var_r29++, var_r31++) { - var_r31->unk_18.x = arg8; - var_r31->unk_18.y = arg9; - var_r31->unk_18.z = argA; - } - } -} - -void fn_1_1204C(s16 arg0, s32 arg1) { - M438UnkStruct2* temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - temp_r31->unk_08 |= arg1; - } -} - -void fn_1_12090(s16 arg0, s16 arg1, s32 arg2) { - M438UnkStruct* temp_r30; - M438UnkStruct2* temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r31->unk_02 > arg1) { - temp_r30 = &temp_r31->unk_3C[arg1]; - temp_r30->unk_38 |= arg2; - } - } -} - -void fn_1_12100(s16 arg0, s32 arg1) { - M438UnkStruct2* temp_r31; - M438UnkStruct* var_r30; - s32 var_r29; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - var_r30 = temp_r31->unk_3C; - for (var_r29 = 0; var_r29 < temp_r31->unk_02; var_r29++, var_r30++) { - var_r30->unk_38 |= arg1; - } - } -} - -void fn_1_12174(s16 arg0, u32 arg1) { - M438UnkStruct2* temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - temp_r31->unk_08 &= ~arg1; - } -} - -void fn_1_121B8(s16 arg0, s16 arg1, u32 arg2) { - M438UnkStruct* temp_r30; - M438UnkStruct2* temp_r31; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - if ((s16) temp_r31->unk_02 > arg1) { - temp_r30 = &temp_r31->unk_3C[arg1]; - temp_r30->unk_38 &= ~arg2; - } - } -} - -void fn_1_12228(s16 arg0, u32 arg1) { - M438UnkStruct2* temp_r31; - M438UnkStruct* var_r30; - s32 var_r29; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - var_r30 = temp_r31->unk_3C; - for (var_r29 = 0; var_r29 < temp_r31->unk_02; var_r29++, var_r30++) { - var_r30->unk_38 &= ~arg1; - } - } -} - -s32 fn_1_1229C(s16 arg0, s32 arg1) { - M438UnkStruct2* var_r31; - - if (arg0 == 0) { - return 0; - } - - var_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - if ((var_r31->unk_08 & arg1) != 0) { - return 1; - } - return 0; -} - -s16 fn_1_122F8(s16 arg0, s16 arg1, s32 arg2) { - M438UnkStruct2* temp_r31; - M438UnkStruct* var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r31->unk_02 > arg1) { - var_r30 = &temp_r31->unk_3C[arg1]; - if ((var_r30->unk_38 & arg2) != 0) { - return 1; - } - arg0 = 0; - } - } - return arg0; -} - -void fn_1_12378(s16 arg0, s16 arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5) { - M438UnkStruct* temp_r31; - M438UnkStruct2* temp_r30; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r30->unk_02 > arg1) { - temp_r31 = &temp_r30->unk_3C[arg1]; - temp_r31->unk_54.r = arg2; - temp_r31->unk_54.g = arg3; - temp_r31->unk_54.b = arg4; - temp_r31->unk_54.a = arg5; - } - } -} - -void fn_1_123EC(s16 arg0, u8 arg1, u8 arg2, u8 arg3, u8 arg4) { - M438UnkStruct* var_r31; - M438UnkStruct2* temp_r30; - s32 var_r29; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_DE4.unk_40[arg0]; - var_r31 = temp_r30->unk_3C; - for (var_r29 = 0; var_r29 < temp_r30->unk_02; var_r29++, var_r31++) { - var_r31->unk_54.r = arg1; - var_r31->unk_54.g = arg2; - var_r31->unk_54.b = arg3; - var_r31->unk_54.a = arg4; - } - } -} - -void fn_1_12464(s16 arg0, s16 arg1, u8 arg2) { - M438UnkStruct2* temp_r31; - M438UnkStruct* var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r31->unk_02 > arg1) { - var_r30 = &temp_r31->unk_3C[arg1]; - var_r30->unk_30 = arg2; - } - } -} - -void fn_1_124CC(s16 arg0, u8 arg1) { - M438UnkStruct2* temp_r31; - M438UnkStruct* var_r30; - s32 var_r29; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - var_r30 = temp_r31->unk_3C; - for (var_r29 = 0; var_r29 < temp_r31->unk_02; var_r29++, var_r30++) { - var_r30->unk_30 = arg1; - } - } -} - -void fn_1_12538(s16 arg0, s16 arg1, u8 arg2) { - M438UnkStruct2* temp_r31; - M438UnkStruct* var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r31->unk_02 > arg1) { - var_r30 = &temp_r31->unk_3C[arg1]; - var_r30->unk_31 = arg2; - } - } -} - -void fn_1_125A0(s16 arg0, u8 arg1) { - M438UnkStruct2* temp_r31; - M438UnkStruct* var_r30; - s32 var_r29; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - var_r30 = temp_r31->unk_3C; - for (var_r29 = 0; var_r29 < temp_r31->unk_02; var_r29++, var_r30++) { - var_r30->unk_31 = arg1; - } - } -} - -void fn_1_1260C(s16 arg0, s16 arg1, u8 arg2) { - M438UnkStruct2* temp_r31; - M438UnkStruct* var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r31->unk_02 > arg1) { - var_r30 = &temp_r31->unk_3C[arg1]; - var_r30->unk_33 = arg2; - } - } -} - -void fn_1_12674(s16 arg0, u8 arg1) { - M438UnkStruct2* temp_r31; - M438UnkStruct* var_r30; - s32 var_r29; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - var_r30 = temp_r31->unk_3C; - for (var_r29 = 0; var_r29 < temp_r31->unk_02; var_r29++, var_r30++) { - var_r30->unk_33 = arg1; - } - } -} - -void fn_1_126E0(s16 arg0, s16 arg1, u8 arg2) { - M438UnkStruct2* temp_r31; - M438UnkStruct* var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r31->unk_02 > arg1) { - var_r30 = &temp_r31->unk_3C[arg1]; - var_r30->unk_58[0].unk_24 = arg2; - } - } -} - -void fn_1_1274C(s16 arg0, s16 arg1, u8 arg2, u8 arg3) { - M438UnkStruct2* temp_r31; - M438UnkStruct* var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r31->unk_02 > arg1) { - var_r30 = &temp_r31->unk_3C[arg1]; - var_r30->unk_58[arg2].unk_24 = arg3; - } - } -} - -void fn_1_127C4(s16 arg0, u8 arg1) { - M438UnkStruct* var_r31; - M438UnkStruct2* temp_r29; - s32 var_r28; - s32 var_r30; - - if (arg0 != 0) { - temp_r29 = &lbl_1_bss_DE4.unk_40[arg0]; - var_r31 = (M438UnkStruct*)&temp_r29->unk_3C; //! bug - for (var_r28 = 0; var_r28 < temp_r29->unk_02; var_r28++, var_r31++) { - for (var_r30 = 0; var_r30 < var_r31->unk_34; var_r30++) { - var_r31->unk_58[var_r30].unk_24 = arg1; - } - } - } -} - -void fn_1_1285C(s16 arg0, s16 arg1, f32 arg8) { - M438UnkStruct2* temp_r31; - M438UnkStruct* var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r31->unk_02 > arg1) { - var_r30 = &temp_r31->unk_3C[arg1]; - var_r30->unk_58[0].unk_28 = arg8; - } - } -} - -void fn_1_128C8(s16 arg0, s16 arg1, u8 arg2, f32 arg8) { - M438UnkStruct2* temp_r31; - M438UnkStruct* var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r31->unk_02 > arg1) { - var_r30 = &temp_r31->unk_3C[arg1]; - var_r30->unk_58[arg2].unk_28 = arg8; - } - } -} - -void fn_1_12940(s16 arg0, f32 arg8) { - M438UnkStruct* var_r31; - M438UnkStruct2* temp_r30; - s32 var_r28; - s32 var_r29; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_DE4.unk_40[arg0]; - var_r31 = temp_r30->unk_3C; - - for (var_r28 = 0; var_r28 < temp_r30->unk_02; var_r28++, var_r31++) { - for (var_r29 = 0; var_r29 < var_r31->unk_34; var_r29++) { - var_r31->unk_58[var_r29].unk_28 = arg8; - } - } - } -} - -void fn_1_129D8(s16 arg0, s16 arg1, u8 arg2) { - M438UnkStruct2* temp_r31; - M438UnkStruct* var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r31->unk_02 > arg1) { - var_r30 = &temp_r31->unk_3C[arg1]; - var_r30->unk_58[0].unk_00 = arg2; - } - } -} - -void fn_1_12A48(s16 arg0, s16 arg1, u8 arg2, u8 arg3) { - M438UnkStruct2* temp_r31; - M438UnkStruct* var_r30; - - if (arg0 != 0) { - temp_r31 = &lbl_1_bss_DE4.unk_40[arg0]; - if (temp_r31->unk_02 > arg1) { - var_r30 = &temp_r31->unk_3C[arg1]; - var_r30->unk_58[arg2].unk_00 = arg3; - } - } -} - -void fn_1_12AC0(s16 arg0, u8 arg1) { - M438UnkStruct* var_r31; - M438UnkStruct2* temp_r30; - s32 var_r28; - s32 var_r29; - - if (arg0 != 0) { - temp_r30 = &lbl_1_bss_DE4.unk_40[arg0]; - var_r31 = temp_r30->unk_3C; - - for (var_r28 = 0; var_r28 < temp_r30->unk_02; var_r28++, var_r31++) { - for (var_r29 = 0; var_r29 < var_r31->unk_34; var_r29++) { - var_r31->unk_58[var_r29].unk_00 = arg1; - } - } - } -} - -void fn_1_12B58(s16 arg0, u8 arg1) { - M438UnkStruct3* var_r31; - - if (arg0 != 0) { - var_r31 = &lbl_1_bss_DE4.unk_3C[arg0]; - var_r31->unk_04 = arg1; - } -} diff --git a/src/REL/m438Dll/main.c b/src/REL/m438Dll/main.c index 861c653d..de52de93 100644 --- a/src/REL/m438Dll/main.c +++ b/src/REL/m438Dll/main.c @@ -5,16 +5,14 @@ #include "game/hsfman.h" #include "game/hsfmotion.h" #include "game/minigame_seq.h" -#include "game/object.h" #include "game/objsub.h" #include "game/pad.h" #include "game/sprite.h" #include "game/wipe.h" +#include "rel_sqrt_consts.h" #include "REL/m438Dll.h" -#define BOARD_FABS(value) ((value < 0.0f) ? -(value) : (value)) - typedef struct M438MainWork { u8 unk_00; u8 unk_01; @@ -85,11 +83,7 @@ typedef struct M438MainWork2 { typedef struct M438MainWork3 { u8 unk_00; - s16 unk_02; - union { - Vec unk_04; - s32 unk_04s; - }; + Vec unk_04; Vec unk_10; Vec unk_1C; Vec unk_28; @@ -119,7 +113,24 @@ typedef struct M438MainWork3 { float unk_170[3]; float unk_17C[3]; u16 unk_188[3]; -} M438MainWork3; /* size = 0x190 */ +} M438MainWork3; /* size = */ + +typedef struct M438MainWork4 { + s8 unk_00; + char unk04[11]; + float unk_0C; + float unk_10; + float unk_14; + float unk_18; + float unk_1C; + float unk_20; + float unk_24; + char unk28[4]; + float unk_2C; + char unk30[4]; + Vec unk_34; + char unk40[0xC]; +} M438MainWork4; /* size = 0x4C */ typedef struct M438StructBss298 { /* 0x00 */ u8 unk_00; @@ -137,11 +148,37 @@ typedef struct M438StructBss298 { Vec unk_24; } M438StructBss298; /* size = 0x30 */ -typedef u8 M438UnkType[0x30]; +typedef struct M438UnkStruct { + char unk00[0x5C]; + s8 unk_5C; + char unk5D[0x3B]; +} M438UnkStruct; /* size = 0x98 */ + +typedef struct M438UnkStruct2 { + char unk00[0x30]; + void *unk_30; // TODO type + char unk34[8]; + M438UnkStruct *unk_3C; + char unk40[0x3C]; + s16 unk_7C; + s16 unk_7E; + float unk_80; + float unk_84; + float unk_88; + float unk_8C; + float unk_90; + char unk94[0x28]; +} M438UnkStruct2; /* size = 0xBC */ + +typedef struct M438StructBssDE4 { + /* 0x00 */ char unk00[0x36]; + s16 unk_36; + s16 unk_38; + s16 unk_3A; + char unk3C[4]; + M438UnkStruct2 *unk_40; +} M438StructBssDE4; /* size = */ -void fn_1_4DC(omObjData *object); -void fn_1_4FC(omObjData *object); -void fn_1_974(omObjData *object); void fn_1_1174(omObjData *object); void fn_1_1204(omObjData *object); void fn_1_13A0(omObjData *object); @@ -157,12 +194,14 @@ void fn_1_35C0(omObjData *object); void fn_1_4374(omObjData *object); void fn_1_4724(omObjData *object); void fn_1_4984(omObjData *object); +void fn_1_4DC(omObjData *object); void fn_1_4F50(omObjData *object); -void fn_1_5D4C(M438UnkStruct2 *arg0); -void fn_1_62BC(M438UnkStruct2 *arg0); -void fn_1_63B0(M438UnkStruct2 *arg0); -void fn_1_6A3C(M438UnkStruct2 *arg0); -void fn_1_7300(M438UnkStruct2 *arg0); +void fn_1_4FC(omObjData *object); +void fn_1_5D4C(void *arg0); +void fn_1_62BC(void *arg0); +void fn_1_63B0(void *arg0); +void fn_1_6A3C(void *arg0); +void fn_1_7300(void *arg0); void fn_1_7B58(omObjData *object); void fn_1_7BBC(void); void *fn_1_7BFC(s32 arg0); @@ -170,18 +209,19 @@ void fn_1_7D30(void); s32 fn_1_7DB4(void); void fn_1_7DD8(s32 arg0, s32 *arg1); float fn_1_7EDC(float arg8, float arg9, float argA); -void fn_1_8164(Mtx arg0, Vec *arg1); +void fn_1_8164(float *arg0, Vec *arg1); void fn_1_8C34(float *arg0, float *arg1, float *arg2, s32 arg3); -float fn_1_8EEC(float arg8, float *arg0, float *arg1, float *arg2, s32 arg3); +float fn_1_8EEC(float *arg0, float *arg1, float *arg2, float arg8); void fn_1_9040(float *arg0, Vec *arg1, float arg2[3][3], s32 arg3); -void fn_1_9420(float arg8, float *arg0, float *arg1, float arg2[3][3], float arg3[3][3], s32 arg4); +void fn_1_9420(float *arg0, float *arg1, float arg2[3][3], float arg3[3][3], s32 arg4, float arg8); float fn_1_9634(Vec *arg0); +void fn_1_974(omObjData *object); float fn_1_9960(Vec *arg0, Vec *arg1, Vec *arg2); float fn_1_A14C(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3); void fn_1_A60C(omObjData *object); void fn_1_A688(omObjData *object); void fn_1_A68C(ModelData *model, Mtx matrix); -s32 fn_1_AE18(u32 arg0, float arg8, Vec *arg1, Vec *arg2); +s32 fn_1_AE18(u32 arg0, Vec *arg1, Vec *arg2); float fn_1_B440(Vec *arg0, Vec *arg1, Vec *arg2); Vec lbl_1_data_0 = { 1000.0f, 3000.0f, 1000.0f }; @@ -191,6 +231,106 @@ Vec lbl_1_data_1C = { 500.0f, 3000.0f, 500.0f }; Vec lbl_1_data_28 = { 0.0f, 1.0f, 0.0f }; Vec lbl_1_data_34 = { 0.0f, 0.0f, 0.0f }; +s32 lbl_1_data_64 = -1; +Vec lbl_1_data_68[10][8]; // TODO not right +s32 lbl_1_data_488[0xB] = { 0, 2, 3, 8, 0xA, 9, 0x13, 0xD, 0x10, 0x17, 0x18 }; + +Vec lbl_1_data_4B4[4] = { + { -400.0f, 1600.0f, -400.0f }, + { 400.0f, 1600.0f, -400.0f }, + { -400.0f, 1600.0f, 400.0f }, + { 400.0f, 1600.0f, 400.0f }, +}; + +Vec lbl_1_data_514 = { -850.0f, 0.0f, -850.0f }; + +s32 lbl_1_data_520[0x19] = { + 0xFFFFFF9E, + 0xFFFFFF9F, + 0xFFFFFFA0, + 0xFFFFFFA1, + 0xFFFFFFA2, + 0xFFFFFFCE, + 0xFFFFFFCF, + 0xFFFFFFD0, + 0xFFFFFFD1, + 0xFFFFFFD2, + 0xFFFFFFFE, + 0xFFFFFFFF, + 0, + 1, + 2, + 0x2E, + 0x2F, + 0x30, + 0x31, + 0x32, + 0x5E, + 0x5F, + 0x60, + 0x61, + 0x62, +}; + +u32 lbl_1_data_584[0x19] = { + 0x50, + 0x64, + 0x78, + 0x64, + 0x50, + 0x64, + 0x8C, + 0xA0, + 0x8C, + 0x64, + 0x78, + 0xA0, + 0xB4, + 0xA0, + 0x78, + 0x64, + 0x8C, + 0xA0, + 0x8C, + 0x64, + 0x50, + 0x64, + 0x78, + 0x64, + 0x50, +}; + +s32 lbl_1_data_5E8[9] = { 0, 0xFFFFFFCF, 0xFFFFFFD0, 0xFFFFFFD1, 0xFFFFFFFF, 1, 0x2F, 0x30, 0x31 }; + +Vec lbl_1_data_60C[9] = { + { 0.0f, 0.0f, 0.0f }, + { -35.416668f, 0.0f, -35.416668f }, + { 0.0f, 0.0f, -35.416668f }, + { 35.416668f, 0.0f, -35.416668f }, + { -35.416668f, 0.0f, 0.0f }, + { 35.416668f, 0.0f, 0.0f }, + { -35.416668f, 0.0f, 35.416668f }, + { 0.0f, 0.0f, 35.416668f }, + { 35.416668f, 0.0f, 35.416668f }, +}; + +s32 lbl_1_data_678[9] = { 0, 0xFFFFFF9E, 0xFFFFFF70, 0xFFFFFFA2, 0xFFFFFFFD, 3, 0x5E, 0x90, 0x62 }; + +Vec lbl_1_data_69C[9] = { + { 0.0f, 0.0f, 0.0f }, + { -70.833336f, 0.0f, -70.833336f }, + { 0.0f, 0.0f, -106.25f }, + { 70.833336f, 0.0f, -70.833336f }, + { -106.25f, 0.0f, 0.0f }, + { 106.25f, 0.0f, 0.0f }, + { -70.833336f, 0.0f, 70.833336f }, + { 0.0f, 0.0f, 106.25f }, + { 70.833336f, 0.0f, 70.833336f }, +}; + +s32 lbl_1_data_708[9] = { 0, 0xFFFFFFED, 0xFFFFFFEE, 0xFFFFFFEF, 0xFFFFFFFF, 1, 0x11, 0x12, 0x13 }; +s32 lbl_1_data_72C[9] = { 0, 0xFFFFFFDA, 0xFFFFFFCA, 0xFFFFFFDE, 0xFFFFFFFD, 3, 0x22, 0x36, 0x26 }; + M438StructBssDE4 lbl_1_bss_DE4; omObjData *lbl_1_bss_DE0; omObjData *lbl_1_bss_DDC; @@ -208,13 +348,12 @@ s16 lbl_1_bss_DAA[4]; s16 lbl_1_bss_DA8; s32 lbl_1_bss_DA4; void *lbl_1_bss_BA4[0x80]; -u32 lbl_1_bss_B98[3]; +u32 lbl_1_bss_B98; M438StructBss298 lbl_1_bss_298[48]; s32 lbl_1_bss_294; u16 lbl_1_bss_C[0x144]; s32 lbl_1_bss_8; s32 lbl_1_bss_4; -static u32 lbl_1_bss_0; void ObjectSetup(void) { @@ -269,7 +408,7 @@ void ObjectSetup(void) fn_1_B4D8(var_r31); omGameSysInit(var_r31); HuAudSndGrpSet(0x40); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + WipeCreate(1, 0, 60); fn_1_7BBC(); fn_1_E658(0x60, 0x40); } @@ -339,12 +478,11 @@ void fn_1_4FC(omObjData *object) break; } if (omSysExitReq != 0 && WipeStatGet() == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + WipeCreate(2, 0, 60); object->func = fn_1_1174; } } -s32 lbl_1_data_64 = -1; void fn_1_974(omObjData *object) { s32 var_r31; @@ -377,7 +515,7 @@ void fn_1_974(omObjData *object) if (lbl_1_data_64 == -1 && (MGSeqStatGet(lbl_1_bss_DB6) & 0x10) != 0) { lbl_1_data_64 = HuAudSeqPlay(0x49); } - lbl_1_bss_B98[0] = 0x12C; + lbl_1_bss_B98 = 0x12C; break; case 7: var_r29 = 0; @@ -400,8 +538,8 @@ void fn_1_974(omObjData *object) } break; case 8: - if (lbl_1_bss_B98[0] != 0) { - lbl_1_bss_B98[0]--; + if (lbl_1_bss_B98 != 0) { + lbl_1_bss_B98--; } var_r24 = 0; for (var_r31 = 0; var_r31 < 4; var_r31++) { @@ -421,7 +559,7 @@ void fn_1_974(omObjData *object) } HuAudSeqFadeOut(lbl_1_data_64, 0x3C); } - else if ((MGSeqStatGet(lbl_1_bss_DB6) == 0) && (var_r24 == 0 || lbl_1_bss_B98[0] == 0)) { + else if ((MGSeqStatGet(lbl_1_bss_DB6) == 0) && (var_r24 == 0 || lbl_1_bss_B98 == 0)) { lbl_1_bss_DB6 = -1; lbl_1_bss_DB2 = 0x3C; lbl_1_bss_DBA += 1; @@ -483,12 +621,12 @@ void fn_1_974(omObjData *object) } break; case 11: - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + WipeCreate(2, 0, 0x3C); object->func = fn_1_1174; break; } if (omSysExitReq != 0 && WipeStatGet() == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + WipeCreate(2, 0, 0x3C); object->func = fn_1_1174; } } @@ -511,51 +649,6 @@ void fn_1_1174(omObjData *object) } } -Vec lbl_1_data_68[11][8] = { { - { -528.6f, 0.0f, 350.7f }, - { -375.7f, 0.0f, 243.0f }, - { -214.2f, 0.0f, 331.4f }, - { -173.3f, 0.0f, 523.7f }, - { 15.000001f, 0.0f, 505.7f }, - { 148.59999f, 0.0f, 393.0f }, - { 0.0f, 1.0f, 0.0f }, - }, - { - { -198.7f, 0.0f, -122.899994f }, - { -11.599999f, 0.0f, -177.1f }, - { 63.4f, 0.0f, -349.7f }, - { 277.09999f, 0.0f, -296.4f }, - { 397.5f, 0.0f, -470.2f }, - { 0.0f, 1.0f, 0.0f }, - }, - { - { -421.0f, 0.0f, -471.3f }, - { -270.1f, 0.0f, -460.0f }, - { -153.1f, 0.0f, -356.5f }, - { 12.4f, 0.0f, -473.99997f }, - { 0.0f, 1.0f, 0.0f }, - }, - { - { -545.10004f, 0.0f, -318.9f }, - { -469.0f, 0.0f, -154.1f }, - { -313.4, 0.0f, -170.09999f }, - { -250.0f, 0.0f, -32.8f }, - { 0.0f, 1.0f, 0.0f }, - }, - { { -155.6f, 0.0f, 19.5f }, { -34.3f, 0.0f, 96.6f }, { -63.9f, 0.0f, 240.00002f }, { 37.5f, 0.0f, 402.8f }, { 0.0f, 1.0f, 0.0f } }, - { { 207.5f, 0.0f, -163.2f }, { 270.1f, 0.0f, -104.799995f }, { 402.19998f, 0.0f, -102.4f }, { 511.49997f, 0.0f, -25.099998f }, - { 627.3f, 0.0f, -142.0f }, { 0.0f, 1.0f, 0.0f } }, - { - { -601.0f, 0.0f, 97.799995f }, - { -516.80005f, 0.0f, 60.000004f }, - { -417.7f, 0.0f, 92.9f }, - { -309.40002f, 0.0f, 76.1f }, - { 0.0f, 1.0f, 0.0f }, - }, - { { 82.8f, 0.0f, 164.2f }, { 179.40001f, 0.0f, 179.8f }, { 241.00002f, 0.0f, 87.1f }, { 323.0f, 0.0f, 38.800003f }, { 0.0f, 1.0f, 0.0f } }, - { { 243.4f, 0.0f, 573.5f }, { 227.7f, 0.0f, 461.2f }, { 319.30002f, 0.0f, 400.6f }, { 342.30002f, 0.0f, 310.0f }, { 0.0f, 1.0f, 0.0f } }, - { { 357.69998f, 0.0f, 146.8f }, { 418.80002f, 0.0f, 225.0f }, { 503.2f, 0.0f, 234.69998f }, { 548.1f, 0.0f, 321.19998f }, { 0.0f, 1.0f, 0.0f } }, - { { -100.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, -100.0f }, { 100.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f } } }; void fn_1_1204(omObjData *object) { M438StructBss298 *var_r31; @@ -575,9 +668,9 @@ void fn_1_1204(omObjData *object) var_r31->unk_01 = var_r28 + 1; var_r31->unk_18 = lbl_1_data_68[var_r30][var_r29]; - VECSubtract(&lbl_1_data_68[var_r30][var_r29 + 1], &lbl_1_data_68[var_r30][var_r29], &var_r31->unk_24); - var_r31->unk_14 = VECMag(&var_r31->unk_24); - VECNormalize(&var_r31->unk_24, &var_r31->unk_24); + PSVECSubtract(&lbl_1_data_68[var_r30][var_r29 + 1], &lbl_1_data_68[var_r30][var_r29], &var_r31->unk_24); + var_r31->unk_14 = PSVECMag(&var_r31->unk_24); + PSVECNormalize(&var_r31->unk_24, &var_r31->unk_24); var_r31->unk_08 = var_r31->unk_0A = 0; var_r31->unk_06 = 0; var_r31->unk_0C = 0.0f; @@ -608,8 +701,9 @@ void fn_1_13A0(omObjData *object) switch (lbl_1_bss_DBA) { case 0: case 1: + case 2: + case 3: case 4: - case 5: break; case 6: lbl_1_bss_294 = 0x1E; @@ -636,7 +730,7 @@ void fn_1_13A0(omObjData *object) } for (var_r28 = 0, var_r26 = 0; var_r26 < var_r27; var_r28++) { var_r25 = sp8[var_r28]; - var_r24 = (s32)(80.0f * ((1.0f / 65536.0f) * fn_1_7DB4())) + 0x3C; + var_r24 = (s32)(80.0f * (0.000015258789f * fn_1_7DB4())) + 0x3C; for (var_r31 = lbl_1_bss_298, var_r30 = 0; var_r30 < 0x30; var_r30++, var_r31++) { if (var_r31->unk_02 == var_r25) { if (var_r31->unk_00 != 0) { @@ -777,7 +871,7 @@ u8 fn_1_1D60(omObjData *object) s32 var_r29; var_r30 = object->data; - sp8 = VECMag(&var_r30->unk_84); + sp8 = PSVECMag(&var_r30->unk_84); for (var_r31 = lbl_1_bss_298, var_r29 = 0; var_r29 < 0x30; var_r29++, var_r31++) { if (var_r31->unk_00 > 2 && var_r31->unk_00 < 5) { spC.x = var_r31->unk_24.x * var_r31->unk_14; @@ -852,9 +946,9 @@ void fn_1_2070(omObjData *object) var_r31->unk_130 = var_r31->unk_134 + (var_f31 * (var_r31->unk_138 - var_r31->unk_134)); } else { - fn_1_9420(2.0f * var_f31, (float *)&var_r31->unk_04, var_r31->unk_F4, (float(*)[3]) & var_r31->unk_64, var_r31->unk_88, 3); - fn_1_9420(2.0f * var_f31, (float *)&var_r31->unk_10, var_r31->unk_100, (float(*)[3]) & var_r31->unk_AC, var_r31->unk_D0, 3); - var_r31->unk_130 = fn_1_8EEC(2.0f * var_f31, var_r31->unk_124, var_r31->unk_10C, var_r31->unk_118, 3); + fn_1_9420((float *)&var_r31->unk_04, var_r31->unk_F4, (float(*)[3]) & var_r31->unk_64, var_r31->unk_88, 3, 2.0f * var_f31); + fn_1_9420((float *)&var_r31->unk_10, var_r31->unk_100, (float(*)[3]) & var_r31->unk_AC, var_r31->unk_D0, 3, 2.0f * var_f31); + var_r31->unk_130 = fn_1_8EEC(var_r31->unk_124, var_r31->unk_10C, var_r31->unk_118, 2.0f * var_f31); } } CRot.x = var_r31->unk_10.x; @@ -985,13 +1079,6 @@ void fn_1_28E4(u8 arg0, u16 arg1, float arg9, float argA, float arg4) var_r31->unk_164[arg0] = 90.0f; } -s32 lbl_1_data_488[11] = { 0, 2, 3, 8, 0xA, 9, 0x13, 0xD, 0x10, 0x17, 0x18 }; -Vec lbl_1_data_4B4[4] = { - { -400.0f, 1600.0f, -400.0f }, - { 400.0f, 1600.0f, -400.0f }, - { -400.0f, 1600.0f, 400.0f }, - { 400.0f, 1600.0f, 400.0f }, -}; void fn_1_2964(omObjData *object) { M438MainWork *var_r31; @@ -1027,7 +1114,7 @@ void fn_1_2964(omObjData *object) var_r31->unk_0A = 0; var_r28 = object->work[1]; var_r31->unk_6C.x = lbl_1_data_4B4[var_r28].x; - var_r31->unk_6C.y = lbl_1_data_4B4[var_r28].y + 100.0f * ((1.0f / 32768.0f) * (fn_1_7DB4() - 0x8000)); + var_r31->unk_6C.y = lbl_1_data_4B4[var_r28].y + 100.0f * (0.000030517578f * (fn_1_7DB4() - 0x8000)); var_r31->unk_6C.z = lbl_1_data_4B4[var_r28].z; var_r31->unk_84 = var_r31->unk_88 = var_r31->unk_8C = 0.0f; var_r31->unk_78 = var_r31->unk_7C = var_r31->unk_80 = 0.0f; @@ -1038,7 +1125,7 @@ void fn_1_2964(omObjData *object) memset(var_r31->unk_F0, 0, sizeof(var_r31->unk_F0)); var_r27 = CharModelCreate(var_r31->unk_01, 8); object->model[0] = var_r27; - Hu3DModelAttrSet(var_r27, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r27, 0x40000001); Hu3DModelShadowSet(var_r27); CharModelStepTypeSet(var_r31->unk_01, 0); var_r31->unk_A4 = -1; @@ -1136,7 +1223,7 @@ void fn_1_2E4C(omObjData *object) if (var_r31->unk_20 != 7) { sp30 = var_r31->unk_6C; sp30.y = 0.0f; - var_f30 = VECMag(&sp30); + var_f30 = PSVECMag(&sp30); if (var_f30 > 700.0f) { var_f29 = -100.0f; } @@ -1172,7 +1259,7 @@ void fn_1_2E4C(omObjData *object) if (sp30.z < 0.0f) { sp30.z *= 0.25f; } - var_f30 = VECMag(&sp30); + var_f30 = PSVECMag(&sp30); Hu3D3Dto2D(&var_r31->unk_6C, 1, &sp24); sp24.x = sp24.x - 288.0f; sp24.y -= 240.0f; @@ -1182,7 +1269,7 @@ void fn_1_2E4C(omObjData *object) } if (var_r31->unk_10 != 0) { var_r31->unk_07 = 0; - Hu3DModelAttrSet(var_r25, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r25, 1); object->func = fn_1_35BC; } } @@ -1257,7 +1344,7 @@ void fn_1_35C0(omObjData *object) if (lbl_1_bss_DBA == 7) { var_r31->unk_38++; if (var_r31->unk_38 > var_r31->unk_34) { - VECSubtract(&var_r23->unk_34, &var_r31->unk_6C, &sp10); + PSVECSubtract(&var_r23->unk_34, &var_r31->unk_6C, &sp10); var_f29 = atan2d(sp10.x, sp10.z); if (fabs(fn_1_E5A4(var_r31->unk_7C, var_f29)) > 10.0) { var_r28 = 1; @@ -1352,10 +1439,10 @@ void fn_1_35C0(omObjData *object) } if ((var_r31->unk_07 & 4) != 0) { if ((var_r31->unk_0B & 2) != 0) { - Hu3DModelAttrSet(var_r25, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r25, 1); } else { - Hu3DModelAttrReset(var_r25, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r25, 1); } if (--var_r31->unk_0B == 0) { var_r31->unk_07 = var_r31->unk_07 & 0xFFFFFFFB; @@ -1374,17 +1461,11 @@ void fn_1_35C0(omObjData *object) var_r31->unk_20 = var_r28; CharModelMotionShiftSet(var_r31->unk_01, object->motion[8], 0.0f, 8.0f, var_r27); } - else { - switch (var_r28) { - case 0: - case 1: - case 2: - if (var_r31->unk_20 != 0 && CharModelMotionShiftIDGet(var_r31->unk_01) >= 0) - break; - default: - var_r31->unk_22 = var_r28; - var_r31->unk_20 = var_r28; - CharModelMotionShiftSet(var_r31->unk_01, object->motion[var_r31->unk_20], 0.0f, 8.0f, var_r27); + else if (var_r28 < 3) { + if (var_r28 < 0 || var_r31->unk_20 == 0 || CharModelMotionShiftIDGet(var_r31->unk_01) < 0) { + var_r31->unk_22 = var_r28; + var_r31->unk_20 = var_r28; + CharModelMotionShiftSet(var_r31->unk_01, object->motion[var_r31->unk_20], 0.0f, 8.0f, var_r27); } } var_r31->unk_30 = CharModelMotionMaxTimeGet(var_r31->unk_01); @@ -1430,10 +1511,10 @@ void fn_1_4374(omObjData *object) var_r31->unk_44 -= 0xB4; } if (var_r31->unk_64) { - VECSubtract(&var_r31->unk_58, &var_r31->unk_4C, &sp1C); - VECSubtract(&sp1C, &var_r31->unk_6C, &sp10); + PSVECSubtract(&var_r31->unk_58, &var_r31->unk_4C, &sp1C); + PSVECSubtract(&sp1C, &var_r31->unk_6C, &sp10); sp10.y = 0.0f; - var_f30 = VECMag(&sp10); + var_f30 = PSVECMag(&sp10); if (var_f30 > 10.0f) { if (var_f30 > 20.0f) { var_f30 = 20.0f; @@ -1474,715 +1555,871 @@ void fn_1_4724(omObjData *object) Hu3DModelScaleSet(var_r29, 1.5f, 1.5f, 1.5f); Hu3DMotionSet(var_r29, object->motion[0]); Hu3DMotionSpeedSet(var_r29, 2.0f); - Hu3DModelAttrSet(var_r29, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r29, 0x40000001); Hu3DModelShadowSet(var_r29); var_r31 = fn_1_7BFC(sizeof(M438MainWork4)); object->data = var_r31; memset(var_r31, 0, sizeof(M438MainWork4)); - var_r31->unk_10.x = 0.0f; - var_r31->unk_10.y = -450.0f; - var_r31->unk_10.z = -1550.0f; - var_r31->unk_1C.x = var_r31->unk_1C.y = var_r31->unk_1C.z = 0.0f; - var_r31->unk_28.y = 35.0f; + var_r31->unk_10 = 0.0f; + var_r31->unk_14 = -450.0f; + var_r31->unk_18 = -1550.0f; + var_r31->unk_1C = var_r31->unk_20 = var_r31->unk_24 = 0.0f; + var_r31->unk_2C = 35.0f; var_r31->unk_0C = 0.0f; var_r31->unk_00 = 0; - omSetTra(object, var_r31->unk_10.x, var_r31->unk_10.y, var_r31->unk_10.z); - omSetRot(object, var_r31->unk_1C.x, var_r31->unk_1C.y, var_r31->unk_1C.z); + omSetTra(object, var_r31->unk_10, var_r31->unk_14, var_r31->unk_18); + omSetRot(object, var_r31->unk_1C, var_r31->unk_20, var_r31->unk_24); omSetSca(object, 1.25f, 1.25f, 1.25f); object->func = fn_1_4984; } -void fn_1_4984(omObjData *object) -{ - Vec sp8; - float var_f31; - s32 var_r27; - M438MainWork3 *var_r28; - M438MainWork3 *var_r30; - M438MainWork3 *var_r31; +// void fn_1_4984(omObjData *object) +// { +// float sp10; +// float spC; +// float sp8; +// float temp_f0; +// float temp_f0_2; +// float var_f31; +// omObjData *var_r29; +// s16 var_r27; +// void *var_r28; +// void *var_r30; +// void *var_r31; - var_r31 = object->data; - switch (lbl_1_bss_DBA) { - case 1: - if (lbl_1_bss_4 == 0) { - lbl_1_bss_4 = fn_1_10258(0x90, 1); - fn_1_11018(lbl_1_bss_4, 0, 0x45000A); - lbl_1_bss_DE4.unk_40[lbl_1_bss_4].unk_30 = fn_1_6A3C; - fn_1_11890(lbl_1_bss_4, var_r31->unk_10.x, -80.0f, var_r31->unk_10.z); - fn_1_12100(lbl_1_bss_4, 4); - fn_1_124CC(lbl_1_bss_4, 1); - lbl_1_bss_DE4.unk_40[lbl_1_bss_4].unk_7C = 0; - } - break; - case 2: - var_r31->unk_10.y += var_r31->unk_28.y; - var_r31->unk_28.y -= -2.0416667f; - if (var_r31->unk_10.y >= -350.0f) { - HuAudFXPlay(0x6FA); - lbl_1_bss_DE4.unk_40[lbl_1_bss_4].unk_7C = 1; - } - if (var_r31->unk_10.y > 0.0f) { - HuAudFXEmiterPlay(0x700, &var_r31->unk_10); - lbl_1_bss_DB2 = 0x78; - lbl_1_bss_DBA += 1; - var_r31->unk_28.z = 20.0f; - } - break; - case 3: - var_r31->unk_10.y += var_r31->unk_28.y; - var_r31->unk_10.z += var_r31->unk_28.z; - var_r31->unk_28.y += -2.0416667f; - if (var_r31->unk_10.y < 0.0f) { - var_r31->unk_28.z -= 0.5f; - if (var_r31->unk_28.z < 0.0f) { - var_r31->unk_28.z = 0.0f; - } - var_r31->unk_10.y = 0.0f; - if (lbl_1_bss_8 == 0) { - HuAudFXPlay(0x6FE); - fn_1_28E4(1, 0x3C, 25.0f, 0.95f, 90.0f); - for (var_r27 = 0; var_r27 < 4; var_r27++) { - omVibrate(var_r27, 0x36, 0xC, 0); - } - lbl_1_bss_4 = fn_1_10258(0x3C, 1); - fn_1_11018(lbl_1_bss_4, 0, 0x45000F); - lbl_1_bss_DE4.unk_40[lbl_1_bss_4].unk_30 = fn_1_5D4C; - fn_1_11890(lbl_1_bss_4, var_r31->unk_10.x, 50.0f + var_r31->unk_10.y, var_r31->unk_10.z); - fn_1_124CC(lbl_1_bss_4, 1); - lbl_1_bss_8++; - } - } - sp8 = var_r31->unk_10; - sp8.y += 120.00001f; - sp8.z -= 300.0f; - var_f31 = CZoom; - var_r30 = lbl_1_bss_DD8->data; - var_r30->unk_00 = 0; - var_r30->unk_148 = var_r30->unk_144 = 1.0f; - var_r30->unk_1C = var_r30->unk_04; - var_r30->unk_34.x = sp8.x; - var_r30->unk_34.y = sp8.y; - var_r30->unk_34.z = sp8.z; - var_r30->unk_28 = var_r30->unk_10; - var_r30->unk_40.x = CRot.x; - var_r30->unk_40.y = CRot.y; - var_r30->unk_40.z = CRot.z; - var_r30->unk_134 = var_r30->unk_130; - var_r30->unk_138 = var_f31; - break; - case 5: - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_REV); - object->func = fn_1_4F50; - object->work[0] = 10; - object->work[1] = 0; - break; - } - omSetTra(object, var_r31->unk_10.x, var_r31->unk_10.y, var_r31->unk_10.z); - omSetRot(object, var_r31->unk_1C.x, var_r31->unk_1C.y, var_r31->unk_1C.z); +// var_r29 = object; +// var_r31 = var_r29->data; +// switch (lbl_1_bss_DBA) { +// case 1: +// if (lbl_1_bss_4 == 0) { +// lbl_1_bss_4 = fn_1_10258(0x90, 1); +// fn_1_11018(lbl_1_bss_4, 0, 0x45000A); +// *(lbl_1_bss_DE4.unk_40 + ((lbl_1_bss_4 * 0xBC) + 0x30)) = fn_1_6A3C; +// fn_1_11890(lbl_1_bss_4, var_r31->unk_10, -80.0f, var_r31->unk_18); +// fn_1_12100(lbl_1_bss_4, 4); +// fn_1_124CC(lbl_1_bss_4, 1); +// *(lbl_1_bss_DE4.unk_40 + ((lbl_1_bss_4 * 0xBC) + 0x7C)) = 0; +// } +// break; +// case 2: +// var_r31->unk_14 = var_r31->unk_14 + var_r31->unk_2C; +// var_r31->unk_2C = var_r31->unk_2C - -2.0416667f; +// if (var_r31->unk_14 >= -350.0f) { +// HuAudFXPlay(0x6FA); +// *(lbl_1_bss_DE4.unk_40 + ((lbl_1_bss_4 * 0xBC) + 0x7C)) = 1; +// } +// if (var_r31->unk_14 > 0.0f) { +// HuAudFXEmiterPlay(0x700, var_r31 + 0x10); +// lbl_1_bss_DB2 = 0x78; +// lbl_1_bss_DBA += 1; +// var_r31->unk_30 = 20.0f; +// } +// break; +// case 3: +// var_r31->unk_14 = var_r31->unk_14 + var_r31->unk_2C; +// var_r31->unk_18 = var_r31->unk_18 + var_r31->unk_30; +// var_r31->unk_2C = var_r31->unk_2C + -2.0416667f; +// if (var_r31->unk_14 < 0.0f) { +// var_r31->unk_30 = var_r31->unk_30 - 0.5f; +// if (var_r31->unk_30 < 0.0f) { +// var_r31->unk_30 = 0.0f; +// } +// var_r31->unk_14 = 0.0f; +// if (lbl_1_bss_8 == 0) { +// HuAudFXPlay(0x6FE); +// var_r28 = lbl_1_bss_DD8->data; +// var_r28->unk_18A = 0x3C; +// var_r28->unk_150 = 25.0f; +// var_r28->unk_15C = 0.95f; +// var_r28->unk_174 = 90.0f; +// var_r28->unk_168 = 90.0f; +// for (var_r27 = 0; var_r27 < 4; var_r27++) { +// omVibrate(var_r27, 0x36, 0xC, 0); +// } +// lbl_1_bss_4 = fn_1_10258(0x3C, 1); +// fn_1_11018(lbl_1_bss_4, 0, 0x45000F); +// *(lbl_1_bss_DE4.unk_40 + ((lbl_1_bss_4 * 0xBC) + 0x30)) = fn_1_5D4C; +// fn_1_11890(lbl_1_bss_4, var_r31->unk_10, 50.0f + var_r31->unk_14, var_r31->unk_18); +// fn_1_124CC(lbl_1_bss_4, 1); +// lbl_1_bss_8++; +// } +// } +// sp8 = var_r31->unk_10; +// spC = var_r31->unk_14; +// sp10 = var_r31->unk_18; +// temp_f0 = spC + 120.00001f; +// spC = temp_f0; +// temp_f0_2 = sp10 - 300.0f; +// sp10 = temp_f0_2; +// var_f31 = CZoom; +// var_r30 = lbl_1_bss_DD8->data; +// var_r30->unk_00 = 0; +// var_r30->unk_144 = 1.0f; +// var_r30->unk_148 = 1.0f; +// var_r30->unk_1C = var_r30->unk_04; +// var_r30->unk_20 = var_r30->unk_08; +// var_r30->unk_24 = var_r30->unk_0C; +// var_r30->unk_34 = sp8; +// var_r30->unk_38 = temp_f0; +// var_r30->unk_3C = temp_f0_2; +// var_r30->unk_28 = var_r30->unk_10; +// var_r30->unk_2C = var_r30->unk_14; +// var_r30->unk_30 = var_r30->unk_18; +// var_r30->unk_40 = CRot.x; +// var_r30->unk_44 = CRot.y; +// var_r30->unk_48 = CRot.z; +// var_r30->unk_134 = var_r30->unk_130; +// var_r30->unk_138 = var_f31; +// break; +// case 5: +// Hu3DModelAttrReset(*var_r29->model, 0x40000001); +// Hu3DModelAttrSet(*var_r29->model, 0x40000004); +// var_r29->func = fn_1_4F50; +// var_r29->work[0] = 0xA; +// var_r29->work[1] = 0; +// break; +// } +// omSetTra(var_r29, var_r31->unk_10, var_r31->unk_14, var_r31->unk_18); +// omSetRot(var_r29, var_r31->unk_1C, var_r31->unk_20, var_r31->unk_24); +// } + +// void fn_1_4F50(omObjData *object) +// { +// Vec sp18; +// float var_f24; +// float var_f25; +// float var_f26; +// float var_f27; +// float var_f28; +// float var_f29; +// float var_f30; +// float var_f31; +// omObjData *var_r30; +// s16 temp_r0; +// s16 temp_r3_3; +// s16 temp_r6; +// s16 var_r28; +// s32 temp_r3_2; +// s32 var_r26; +// u8 temp_r3; +// void *var_r27; +// void *var_r29; +// void *var_r31; + +// var_r30 = object; +// var_r31 = var_r30->data; +// switch (lbl_1_bss_DBA) { +// case 7: +// temp_r3 = var_r31->unk_00; +// switch (temp_r3) { +// case 0: +// var_r31->unk_34 = var_r31->unk_10; +// var_r31->unk_38 = var_r31->unk_14; +// var_r31->unk_3C = var_r31->unk_18; +// Hu3DMotionShiftSet(*var_r30->model, var_r30->motion->unk_06, 0.0f, 8.0f, 0); +// var_r31->unk_00 = var_r31->unk_00 + 1; + +// case 1: +// var_r31->unk_34 = var_r31->unk_10; +// var_r31->unk_38 = var_r31->unk_14; +// var_r31->unk_3C = var_r31->unk_18; +// var_r28 = 0; +// var_r26 = 0; +// loop_21: +// if (var_r28 < 4) { +// var_r29 = lbl_1_bss_DC4[var_r28]->data; +// if ((var_r29->unk_07 != 0) && ((var_r29->unk_07 & 2) == 0)) { +// PSVECSubtract(var_r29 + 0x6C, var_r31 + 0x10, &sp18); +// temp_r3_2 = var_r26; +// var_r26++; +// (&sp8[0])[temp_r3_2] = atan2d(sp18, sp18.z); +// } +// var_r28++; +// goto loop_21; +// } +// var_r31->unk_20 = var_r31->unk_20 + (18.0f + var_r30->work[1]); +// if (var_r31->unk_20 > 180.0f) { +// var_r31->unk_20 = var_r31->unk_20 - 360.0f; +// } +// if (var_r31->unk_20 <= -180.0f) { +// var_r31->unk_20 = var_r31->unk_20 + 360.0f; +// } +// var_r28 = 0; +// loop_35: +// if (var_r28 >= var_r26) { } +// else { +// var_f31 = fn_1_E5A4((&sp8[0])[var_r28], var_r30->rot.y); +// if (var_f31 < 0.0f) { +// var_f27 = -var_f31; +// } +// else { +// var_f27 = var_f31; +// } +// if (!(var_f27 > (20.0f + var_r30->work[1])) +// && ((var_r30->work[0] -= 1, ((var_r30->work[0] == 0) != 0)) || ((fn_1_7DB4() & 0xF) == 0))) { +// var_r31->unk_08 = (&sp8[0])[var_r28]; +// var_r31->unk_20 = (&sp8[0])[var_r28]; +// var_r31->unk_2C = 16.333334f; +// var_r31->unk_0C = 6.0 + (0.5 * var_r30->work[1]); +// var_r31->unk_34 = var_r31->unk_10; +// var_r31->unk_38 = var_r31->unk_14; +// var_r31->unk_3C = var_r31->unk_18; +// var_r31->unk_40 = 20.0f; +// var_r31->unk_44 = 0.0f; +// var_r31->unk_02 = 0x1E; +// Hu3DMotionShiftSet(*var_r30->model, var_r30->motion->unk_00, 0.0f, 8.0f, 0x40000002); +// var_r31->unk_00 = var_r31->unk_00 + 1; +// } +// else { +// var_r28++; +// goto loop_35; +// } +// } +// break; +// case 2: +// var_r31->unk_44 = var_r31->unk_44 + 10.0f; +// if (var_r31->unk_44 > 90.0f) { +// var_r31->unk_44 = 0.0f; +// } +// var_f29 = cosd(var_r31->unk_44); +// var_r31->unk_1C = var_r31->unk_40 * var_f29; +// var_r31->unk_10 = var_r31->unk_34 + ((50.0f * var_f29) * sind(var_r31->unk_20)); +// var_r31->unk_18 = var_r31->unk_3C + ((50.0f * var_f29) * cosd(var_r31->unk_20)); +// temp_r0 = var_r31->unk_02 - 1; +// var_r31->unk_02 = temp_r0; +// if (temp_r0 == 0) { +// HuAudFXEmiterPlay(0x700, var_r31 + 0x10); +// Hu3DModelAttrReset(*var_r30->model, 0x40000002); +// Hu3DModelAttrSet(*var_r30->model, 0x40000001); +// var_r31->unk_1C = 0.0f; +// var_r31->unk_00 = var_r31->unk_00 + 1; +// } +// break; +// case 3: +// var_r31->unk_0C = var_r31->unk_0C + 0.5; +// var_r31->unk_2C = var_r31->unk_2C + -3.0625f; +// var_f28 = var_r31->unk_0C + (0.8f * var_r31->unk_2C); +// var_r31->unk_28 = var_f28 * sind(var_r31->unk_08); +// var_r31->unk_30 = var_f28 * cosd(var_r31->unk_08); +// var_r31->unk_10 = var_r31->unk_10 + var_r31->unk_28; +// var_r31->unk_14 = var_r31->unk_14 + var_r31->unk_2C; +// var_r31->unk_18 = var_r31->unk_18 + var_r31->unk_30; +// var_r31->unk_34 = var_r31->unk_10; +// var_r31->unk_38 = var_r31->unk_14; +// var_r31->unk_3C = var_r31->unk_18; +// if (var_r31->unk_14 < 0.0f) { +// var_r31->unk_14 = 0.0f; +// var_r31->unk_2C = 16.333334f; +// } +// sp18 = var_r31->unk_10; +// sp18.y = var_r31->unk_14; +// sp18.z = var_r31->unk_18; +// sp18.y = 0.0f; +// var_f30 = PSVECMag(&sp18); +// if (!(var_f30 <= 700.0f)) { +// var_r31->unk_02 = 1; +// if (fn_1_DA64(atan2d(sp18, sp18.z)) != 0) { +// var_r31->unk_02 = 0x78; +// for (var_r28 = 0; var_r28 < 4; var_r28++) { +// var_r29 = lbl_1_bss_DC4[var_r28]->data; +// if ((var_r29->unk_07 != 0) && ((var_r29->unk_07 & 2) == 0)) { +// omVibrate(var_r28, 0xC, 4, 2); +// } +// } +// var_r27 = lbl_1_bss_DD8->data; +// var_r27->unk_188 = 0x3C; +// var_r27->unk_14C = 25.0f; +// var_r27->unk_158 = 0.95f; +// var_r27->unk_170 = 90.0f; +// var_r27->unk_164 = 90.0f; +// HuAudFXEmiterPlay(0x6FC, var_r31 + 0x10); +// HuAudFXPlay(0x6FE); +// } +// fn_1_9634(&sp18); +// var_r31->unk_10 = 700.0f * sp18; +// var_r31->unk_18 = 700.0f * sp18.z; +// var_r31->unk_40 = var_r31->unk_1C; +// var_r31->unk_44 = var_r31->unk_20; +// var_r31->unk_48 = var_r31->unk_24; +// var_r31->unk_00 = var_r31->unk_00 + 1; +// } +// break; +// case 4: +// var_r31->unk_2C = var_r31->unk_2C + -3.0625f; +// var_r31->unk_14 = var_r31->unk_14 + var_r31->unk_2C; +// if (!(var_r31->unk_14 > 0.0f)) { +// var_r31->unk_14 = 0.0f; +// var_r31->unk_34 = var_r31->unk_10; +// var_r31->unk_38 = var_r31->unk_14; +// var_r31->unk_3C = var_r31->unk_18; +// Hu3DModelAttrReset(*var_r30->model, 0x40000001); +// Hu3DModelAttrSet(*var_r30->model, 0x40000004); +// var_r31->unk_44 = var_r31->unk_44 + 8.0f; +// var_r31->unk_40 = 10.0 * sind(var_r31->unk_44); +// var_r31->unk_48 = 10.0 * cosd(var_r31->unk_44); +// mtxRot(&sp24[0], 0.0f, 360.0f - var_r31->unk_08, var_r31->unk_48); +// mtxRotCat(&sp24[0], var_r31->unk_40, 0.0f, 0.0f); +// fn_1_8164(&sp24[0], var_r31 + 0x1C); +// temp_r3_3 = var_r31->unk_02 - 1; +// var_r31->unk_02 = temp_r3_3; +// if (temp_r3_3 == 0) { +// var_r31->unk_24 = 0.0f; +// var_r31->unk_1C = 0.0f; +// var_r31->unk_20 = var_r31->unk_08; +// var_r30->work[0] = 0.5f * (lbl_1_bss_DB4 / 60.0f); +// var_r30->work[1] += 1; +// var_r31->unk_00 = 0; +// } +// } +// break; +// } +// break; +// case 8: +// var_r31->unk_24 = 0.0f; +// var_r31->unk_1C = 0.0f; +// Hu3DModelAttrReset(*var_r30->model, 0x40000001); +// Hu3DModelAttrSet(*var_r30->model, 0x40000004); +// break; +// case 9: +// var_r31->unk_20 = fn_1_7EDC(var_r31->unk_20, 0.0f, 0.9f); +// break; +// case 10: +// if (var_r31->unk_04 == 0) { +// Hu3DModelAttrReset(*var_r30->model, 0x40000006); +// Hu3DMotionSet(*var_r30->model, var_r30->motion->unk_02); +// Hu3DMotionSpeedSet(*var_r30->model, 1.0f); +// Hu3DModelAttrSet(*var_r30->model, 0x40000001); +// var_r31->unk_04 = 1; +// } +// break; +// } +// if (lbl_1_bss_DBA == 7) { +// var_r28 = 0; +// var_r26 = 0; +// loop_72: +// if (var_r28 < 4) { +// var_r29 = lbl_1_bss_DC4[var_r28]->data; +// PSVECSubtract(var_r29 + 0x6C, var_r31 + 0x10, &sp18); +// var_f30 = PSVECMag(&sp18); +// if (!(var_f30 >= 200.0f) && (var_r29->unk_20 != 7)) { +// omVibrate(var_r29->unk_00, 0xC, 4, 2); +// var_r29->unk_07 = var_r29->unk_07 | 2; +// var_r29->unk_0D = 0; +// var_r29->unk_20 = 7; +// var_r29->unk_28 = atan2d(sp18, sp18.z); +// if (var_r29->unk_28 >= 360.0f) { +// var_r29->unk_28 = var_r29->unk_28 - 360.0f; +// } +// var_f26 = fn_1_E5A4(var_r29->unk_28, var_r29->unk_7C); +// var_f25 = fabs(var_f26); +// var_f24 = var_f25; +// if (var_f24 > 90.0) { +// var_r29->unk_7C = 180.0f + var_r29->unk_28; +// var_r29->unk_14 = 0; +// } +// else { +// var_r29->unk_7C = var_r29->unk_28; +// var_r29->unk_14 = 1; +// } +// var_r29->unk_24 = 10.0f; +// var_r29->unk_88 = 53.083336f; +// if (lbl_1_bss_DAA[var_r28] == 0) { +// temp_r6 = lbl_1_bss_DA8; +// lbl_1_bss_DA8 = temp_r6 - 1; +// lbl_1_bss_DAA[var_r28] = temp_r6; +// } +// } +// var_r28++; +// goto loop_72; +// } +// } +// omSetTra(var_r30, var_r31->unk_10, var_r31->unk_14, var_r31->unk_18); +// omSetRot(var_r30, var_r31->unk_1C, var_r31->unk_20, var_r31->unk_24); +// } + +// void fn_1_5D4C(void *arg0) +// { +// s16 sp8; +// float var_f26; +// float var_f27; +// float var_f28; +// float var_f29; +// float var_f30; +// float var_f31; +// s32 var_r29; +// u8 temp_r0; +// void *var_r30; +// void *var_r31; + +// var_r30 = arg0; +// sp8 = 0; +// temp_r0 = var_r30->unk_60; +// switch (temp_r0) { +// case 0: +// var_f27 = 360.0f / var_r30->unk_02; +// for (var_r31 = var_r30->unk_3C; var_r29 = 0; var_r31 < var_r30->unk_02; var_r29++; var_r31 += 0x98) { +// var_f26 = 0.8f + (0.1f * (2.0f * (0.000030517578f * (fn_1_7DB4() - 0x8000)))); +// var_r31->unk_6C = sind((var_f27 * var_r29)) * var_f26; +// var_r31->unk_70 = 0.0f; +// var_f26 = 0.8f + (0.1f * (2.0f * (0.000030517578f * (fn_1_7DB4() - 0x8000)))); +// var_r31->unk_74 = cosd((var_f27 * var_r29)) * var_f26; +// var_r31->unk_00 = 40.0f * var_r31->unk_6C; +// var_r31->unk_04 = 6.0f; +// var_r31->unk_08 = 40.0f * var_r31->unk_74; +// var_f29 = 0.01f * (100.0f * (0.000015258789f * fn_1_7DB4())); +// var_r31->unk_54 = 80.0f + (60.0f * var_f29); +// var_r31->unk_55 = 64.0f + (60.0f * var_f29); +// var_r31->unk_56 = 56.0f + (60.0f * var_f29); +// } +// var_r30->unk_7C = 0x30; +// var_r30->unk_60 = var_r30->unk_60 + 1; + +// case 1: +// var_r30->unk_7C = var_r30->unk_7C - 1; +// var_f31 = (48.0f - var_r30->unk_7C) / 48.0f; +// var_f28 = var_r30->unk_7C / 48.0f; +// for (var_r31 = var_r30->unk_3C; var_r29 = 0; var_r31 < var_r30->unk_02; var_r29++; var_r31 += 0x98) { +// var_r31->unk_00 = var_r31->unk_00 + (12.5f * var_f28 * var_r31->unk_6C); +// var_r31->unk_08 = var_r31->unk_08 + (12.5f * var_f28 * var_r31->unk_74); +// var_f30 = 2.4f + (6.0f * var_f31); +// var_r31->unk_18 = var_f30; +// var_r31->unk_1C = var_f30; +// var_r31->unk_20 = var_f30; +// var_r31->unk_57 = 96.0f * (1.0f - (var_f31 * var_f31)); +// } +// if (var_r30->unk_7C == 0) { +// var_r30->unk_60 = var_r30->unk_60 + 1; +// return; +// } +// return; +// case 2: +// fn_1_107BC(var_r30->unk_00); +// break; +// } +// } + +void fn_1_62BC(void *arg0) +{ + // s16 sp8; + + // void *var_r31; + // void *var_r30; + + // var_r30 = arg0; + // sp8 = 0; + // switch (var_r30->unk_60) { + // case 0: + // var_r31 = var_r30->unk_3C; + // var_r31->unk_70 = 5.0f; + // var_r31->unk_6C *= -2.0f; + // var_r31->unk_74 *= -2.0f; + // var_r30->unk_60++; + + // case 1: + // var_r31 = var_r30->unk_3C; + // var_r31->unk_00 += var_r31->unk_6C; + // var_r31->unk_04 += var_r31->unk_70; + // var_r31->unk_08 += var_r31->unk_74; + // return; + // case 2: + // fn_1_107BC(var_r30->unk_00); + // return; + // } } -void fn_1_4F50(omObjData *object) -{ - Mtx sp24; - Vec sp18; - float sp8[4]; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f25; - s32 var_r26; - M438MainWork3 *var_r27; - s32 var_r28; - M438MainWork *var_r29; - M438MainWork3 *var_r31; +// void fn_1_63B0(void *arg0) +// { +// float sp10; +// float spC; +// float sp8; +// float temp_f0; +// float temp_f0_2; +// float temp_f0_3; +// float var_f28; +// float var_f29; +// float var_f30; +// float var_f31; +// double var_f27; +// s16 temp_r0_2; +// s32 var_r29; +// u8 temp_r0; +// void *var_r30; +// void *var_r31; - var_r31 = object->data; - switch (lbl_1_bss_DBA) { - case 7: - switch (var_r31->unk_00) { - case 0: - var_r31->unk_34 = var_r31->unk_10; - Hu3DMotionShiftSet(object->model[0], object->motion[3], 0.0f, 8.0f, 0); - var_r31->unk_00++; - case 1: - var_r31->unk_34 = var_r31->unk_10; +// var_r30 = arg0; +// for (var_r31 = var_r30->unk_3C; var_r29 = 0; var_r31 < var_r30->unk_02; var_r29++; var_r31 += 0x98) { +// temp_r0 = var_r31->unk_5C; +// switch (temp_r0) { +// case 0: +// if ((atan2d(var_r30->unk_80, var_r30->unk_84)) < 0.0) { +// var_f27 = -(atan2d(var_r30->unk_80, var_r30->unk_84)); +// } +// else { +// var_f27 = atan2d(var_r30->unk_80, var_r30->unk_84); +// } +// var_f29 = var_f27; +// if (var_f29 > 90.0f) { +// var_f29 = 180.0f - var_f29; +// } +// var_f28 = 40.0f * (0.1f + ((0.9f * var_f29) / 90.0f)); +// var_f31 = (0.5f * var_f28) + ((var_r30->unk_88 - var_f28) * (0.000015258789f * fn_1_7DB4())); +// temp_f0 = var_f31 * var_r30->unk_80; +// sp8 = temp_f0; +// temp_f0_2 = var_f31 * var_r30->unk_84; +// sp10 = temp_f0_2; +// var_r31->unk_00 = temp_f0; +// var_r31->unk_04 = 0.0f; +// var_r31->unk_08 = temp_f0_2; +// var_f31 = 0.0f; +// spC = 0.0f; +// loop_14: +// if (var_f31 < (var_r30->unk_8C - 40.0f)) { +// temp_f0_3 = spC + 0.8f; +// spC = temp_f0_3; +// var_f31 += temp_f0_3; +// goto loop_14; +// } +// var_r31->unk_6C = 0.0f; +// var_r31->unk_70 = spC + (1.5f * (0.000015258789f * fn_1_7DB4())); +// var_r31->unk_74 = 0.0f; +// if ((fn_1_7DB4() & 7) != 0) { +// var_r31->unk_33 = 1; +// var_r31->unk_54 = 0x40; +// var_r31->unk_55 = 0x10; +// var_r31->unk_56 = 4; +// var_r31->unk_57 = 0xFF; +// var_f30 = 3.75f + (1.75f * (0.000015258789f * fn_1_7DB4())); +// var_r31->unk_60 = var_f30 * (0.1f + ((0.9f * var_f29) / 90.0f)); +// var_r31->unk_68 = var_f30; +// var_r31->unk_64 = var_f30; +// } +// else { +// var_r31->unk_33 = 0; +// var_r31->unk_54 = 0; +// var_r31->unk_55 = 0; +// var_r31->unk_56 = 0; +// var_r31->unk_57 = 0xFF; +// var_f30 = 0.25f + (0.25f * (0.000015258789f * fn_1_7DB4())); +// var_r31->unk_64 = 1.5f * var_f30; +// var_r31->unk_68 = var_f30; +// var_r31->unk_60 = var_f30; +// } +// var_r31->unk_58->unk_24 = 0; +// var_r31->unk_78 = (60.0f * (0.000015258789f * fn_1_7DB4())) + 1; +// var_r31->unk_5C = var_r31->unk_5C + 1; - for (var_r28 = 0, var_r26 = 0; var_r28 < 4; var_r28++) { - var_r29 = lbl_1_bss_DC4[var_r28]->data; - if ((var_r29->unk_07 != 0) && ((var_r29->unk_07 & 2) == 0)) { - VECSubtract(&var_r29->unk_6C, &var_r31->unk_10, &sp18); - sp8[var_r26++] = atan2d(sp18.x, sp18.z); - } - } - var_r31->unk_1C.y += 18.0f + object->work[1]; - if (var_r31->unk_1C.y > 180.0f) { - var_r31->unk_1C.y -= 360.0f; - } - if (var_r31->unk_1C.y <= -180.0f) { - var_r31->unk_1C.y += 360.0f; - } +// case 1: +// temp_r0_2 = var_r31->unk_78 - 1; +// var_r31->unk_78 = temp_r0_2; +// if (temp_r0_2 == 0) { +// var_r31->unk_58->unk_24 = 0x11; +// var_r31->unk_58->unk_28 = 0.5f; +// var_r31->unk_58->unk_2C = 0.0f; +// var_r31->unk_58->unk_00 = 0; +// var_r31->unk_5C = var_r31->unk_5C + 1; +// } +// break; +// case 2: +// var_r31->unk_00 = var_r31->unk_00 + var_r31->unk_6C; +// var_r31->unk_04 = var_r31->unk_04 + var_r31->unk_70; +// var_r31->unk_08 = var_r31->unk_08 + var_r31->unk_74; +// if (var_r31->unk_04 < 0.0f) { +// var_r31->unk_04 = 0.0f; +// } +// var_r31->unk_60 = var_r31->unk_60 * 0.95f; +// var_r31->unk_64 = var_r31->unk_64 * 0.95f; +// var_r31->unk_68 = var_r31->unk_68 * 0.95f; +// var_r31->unk_70 = var_r31->unk_70 - 0.8f; +// if ((var_r31->unk_58->unk_24 & 8) != 0) { +// var_r31->unk_5C = 0; +// } +// break; +// } +// var_r31->unk_18 = var_r31->unk_60 * var_r30->unk_90; +// var_r31->unk_1C = var_r31->unk_64 * var_r30->unk_90; +// var_r31->unk_20 = var_r31->unk_68 * var_r30->unk_90; +// } +// } - for (var_r28 = 0; var_r28 < var_r26; var_r28++) { - var_f31 = fn_1_E5A4(sp8[var_r28], object->rot.y); - if (var_f31 < 0.0f) { - var_f27 = -var_f31; - } - else { - var_f27 = var_f31; - } - if (var_f27 > (20.0f + object->work[1])) - continue; - object->work[0]--; - if (object->work[0] != 0 && ((fn_1_7DB4() & 0xF) != 0)) - continue; - var_r31->unk_04.y = sp8[var_r28]; - var_r31->unk_1C.y = sp8[var_r28]; - var_r31->unk_28.y = 16.333334f; - var_r31->unk_04.z = 6.0 + (0.5 * object->work[1]); - var_r31->unk_34 = var_r31->unk_10; - var_r31->unk_40.x = 20.0f; - var_r31->unk_40.y = 0.0f; - var_r31->unk_02 = 30; - Hu3DMotionShiftSet(object->model[0], object->motion[0], 0.0f, 8.0f, 0x40000002); - var_r31->unk_00++; - break; - } - break; - case 2: - var_r31->unk_40.y += 10.0f; - if (var_r31->unk_40.y > 90.0f) { - var_r31->unk_40.y = 0.0f; - } - var_f29 = cosd(var_r31->unk_40.y); - var_r31->unk_1C.x = var_r31->unk_40.x * var_f29; - var_r31->unk_10.x = var_r31->unk_34.x + ((50.0f * var_f29) * sind(var_r31->unk_1C.y)); - var_r31->unk_10.z = var_r31->unk_34.z + ((50.0f * var_f29) * cosd(var_r31->unk_1C.y)); - if (--var_r31->unk_02 == 0) { - HuAudFXEmiterPlay(0x700, &var_r31->unk_10); - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - var_r31->unk_1C.x = 0.0f; - var_r31->unk_00++; - } - break; - case 3: - var_r31->unk_04.z += 0.5; - var_r31->unk_28.y += -3.0625f; - var_f28 = var_r31->unk_04.z + (0.8f * var_r31->unk_28.y); - var_r31->unk_28.x = var_f28 * sind(var_r31->unk_04.y); - var_r31->unk_28.z = var_f28 * cosd(var_r31->unk_04.y); - var_r31->unk_10.x += var_r31->unk_28.x; - var_r31->unk_10.y += var_r31->unk_28.y; - var_r31->unk_10.z += var_r31->unk_28.z; - var_r31->unk_34 = var_r31->unk_10; - if (var_r31->unk_10.y < 0.0f) { - var_r31->unk_10.y = 0.0f; - var_r31->unk_28.y = 16.333334f; - } - sp18 = var_r31->unk_10; - sp18.y = 0.0f; - var_f30 = VECMag(&sp18); - if (var_f30 <= 700.0f) - break; - var_r31->unk_02 = 1; - if (fn_1_DA64(atan2d(sp18.x, sp18.z)) != 0) { - var_r31->unk_02 = 0x78; - for (var_r28 = 0; var_r28 < 4; var_r28++) { - var_r29 = lbl_1_bss_DC4[var_r28]->data; - if ((var_r29->unk_07 != 0) && ((var_r29->unk_07 & 2) == 0)) { - omVibrate(var_r28, 0xC, 4, 2); - } - } - fn_1_28E4(0, 0x3C, 25.0f, 0.95f, 90.0f); - HuAudFXEmiterPlay(0x6FC, &var_r31->unk_10); - HuAudFXPlay(0x6FE); - } - fn_1_9634(&sp18); - var_r31->unk_10.x = 700.0f * sp18.x; - var_r31->unk_10.z = 700.0f * sp18.z; - var_r31->unk_40 = var_r31->unk_1C; - var_r31->unk_00++; - break; - case 4: - var_r31->unk_28.y += -3.0625f; - var_r31->unk_10.y += var_r31->unk_28.y; - if (var_r31->unk_10.y > 0.0f) - break; - var_r31->unk_10.y = 0.0f; - var_r31->unk_34 = var_r31->unk_10; - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_REV); - var_r31->unk_40.y += 8.0f; - var_r31->unk_40.x = 10.0 * sind(var_r31->unk_40.y); - var_r31->unk_40.z = 10.0 * cosd(var_r31->unk_40.y); - mtxRot(sp24, 0.0f, 360.0f - var_r31->unk_04.y, var_r31->unk_40.z); - mtxRotCat(sp24, var_r31->unk_40.x, 0.0f, 0.0f); - fn_1_8164(sp24, &var_r31->unk_1C); - if (--var_r31->unk_02 == 0) { - var_r31->unk_1C.x = var_r31->unk_1C.z = 0.0f; - var_r31->unk_1C.y = var_r31->unk_04.y; - object->work[0] = 0.5f * (lbl_1_bss_DB4 / 60.0f); - object->work[1]++; - var_r31->unk_00 = 0; - } - break; - } - break; - case 8: - var_r31->unk_1C.x = var_r31->unk_1C.z = 0.0f; - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_REV); - break; - case 9: - var_r31->unk_1C.y = fn_1_7EDC(var_r31->unk_1C.y, 0.0f, 0.9f); - break; - case 10: - if (var_r31->unk_04s == 0) { - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_REV); - Hu3DMotionSet(object->model[0], object->motion[1]); - Hu3DMotionSpeedSet(object->model[0], 1.0f); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - var_r31->unk_04s = 1; - } - break; - } - if (lbl_1_bss_DBA == 7) { - for (var_r28 = 0, var_r26 = 0; var_r28 < 4; var_r28++) { - var_r29 = lbl_1_bss_DC4[var_r28]->data; - VECSubtract(&var_r29->unk_6C, &var_r31->unk_10, &sp18); - var_f30 = VECMag(&sp18); - if (var_f30 >= 200.0f || var_r29->unk_20 == 7) - continue; - omVibrate(var_r29->unk_00, 0xC, 4, 2); - var_r29->unk_07 |= 2; - var_r29->unk_0D = 0; - var_r29->unk_20 = 7; - var_r29->unk_28 = atan2d(sp18.x, sp18.z); - if (var_r29->unk_28 >= 360.0f) { - var_r29->unk_28 -= 360.0f; - } - if (fabs(fn_1_E5A4(var_r29->unk_28, var_r29->unk_7C)) > 90.0) { - var_r29->unk_7C = 180.0f + var_r29->unk_28; - var_r29->unk_14 = 0; - } - else { - var_r29->unk_7C = var_r29->unk_28; - var_r29->unk_14 = 1; - } - var_r29->unk_24 = 10.0f; - var_r29->unk_88 = 53.083336f; - if (lbl_1_bss_DAA[var_r28] == 0) { - lbl_1_bss_DAA[var_r28] = lbl_1_bss_DA8--; - } - } - } - omSetTra(object, var_r31->unk_10.x, var_r31->unk_10.y, var_r31->unk_10.z); - omSetRot(object, var_r31->unk_1C.x, var_r31->unk_1C.y, var_r31->unk_1C.z); -} +// void fn_1_6A3C(void *arg0) +// { +// float sp10; +// float spC; +// float sp8; +// float temp_f0; +// float temp_f0_2; +// float temp_f0_3; +// float temp_f0_4; +// float var_f29; +// float var_f30; +// float var_f31; +// s16 temp_r0_2; +// s16 var_r29; +// s32 var_r27; +// s32 var_r28; +// u8 temp_r0; +// void *var_r30; +// void *var_r31; -void fn_1_5D4C(M438UnkStruct2 *arg0) -{ - s16 sp8; - f32 temp_f31; - f32 temp_f30; - f32 temp_f29; - f32 temp_f28; - f32 temp_f27; - s32 var_r29; - M438UnkStruct *var_r31; +// var_r30 = arg0; +// var_r31 = var_r30->unk_3C; +// var_r28 = 0; +// var_r27 = 0; +// loop_35: +// if (var_r27 < var_r30->unk_02) { +// if ((var_r30->unk_7C != 0) && (var_r31->unk_7A == 0)) { +// var_r31->unk_5C = 0; +// } +// temp_r0 = var_r31->unk_5C; +// switch (temp_r0) { +// case 0: +// if (var_r30->unk_7C != 0) { +// var_f30 = (180.0f * (0.000015258789f * fn_1_7DB4())) - 90.0f; +// var_f29 = 125.0f; +// temp_f0 = sind(var_f30); +// sp8 = temp_f0; +// temp_f0_2 = cosd(var_f30); +// sp10 = temp_f0_2; +// var_r31->unk_00 = 125.0f * temp_f0; +// var_r31->unk_04 = 0.0f; +// var_r31->unk_08 = 125.0f * temp_f0_2; +// spC = 25.0f; +// var_r31->unk_6C = 100.0f * (0.1f * temp_f0); +// var_r31->unk_70 = 25.0f + (2.5f * (0.000015258789f * fn_1_7DB4())); +// var_r31->unk_74 = 100.0f * (0.1f * temp_f0_2); +// var_r31->unk_78 = (24.0f * (0.000015258789f * fn_1_7DB4())) + 1; +// var_r31->unk_7A = 1; +// } +// else { +// var_f30 = (180.0f * (0.000015258789f * fn_1_7DB4())) - 90.0f; +// var_f29 = 125.0f * (0.000015258789f * fn_1_7DB4()); +// temp_f0_3 = sind(var_f30); +// sp8 = temp_f0_3; +// temp_f0_4 = cosd(var_f30); +// sp10 = temp_f0_4; +// var_r31->unk_00 = var_f29 * temp_f0_3; +// var_r31->unk_04 = 0.0f; +// var_r31->unk_08 = var_f29 * temp_f0_4; +// spC = 5.0f; +// var_r31->unk_6C = 100.0 * (0.015 * temp_f0_3); +// var_r31->unk_70 = 5.0f + (0.000015258789f * fn_1_7DB4()); +// var_r31->unk_74 = 100.0f * (0.015f * temp_f0_4); +// var_r31->unk_78 = (60.0f * (0.000015258789f * fn_1_7DB4())) + 1; +// var_r31->unk_7A = 0; +// } +// var_r31->unk_38 = var_r31->unk_38 & 0xFFFFFFFB; +// if ((fn_1_7DB4() & 0xF) != 0) { +// var_r31->unk_33 = 1; +// var_r31->unk_54 = 0x40; +// var_r31->unk_55 = 0x10; +// var_r31->unk_56 = 4; +// var_r31->unk_57 = 0xFF; +// var_f31 = 1.8f + (0.000015258789f * fn_1_7DB4()); +// var_r31->unk_18 = var_f31; +// var_r31->unk_1C = var_f31; +// var_r31->unk_20 = var_f31; +// goto block_19; +// } +// if (var_r30->unk_7C != 0) { +// var_r31->unk_33 = 0; +// var_r31->unk_54 = 0; +// var_r31->unk_55 = 0; +// var_r31->unk_56 = 0; +// var_r31->unk_57 = 0xFF; +// var_f31 = 0.25f + (0.25f * (0.000015258789f * fn_1_7DB4())); +// var_r31->unk_18 = var_f31; +// var_r31->unk_1C = 1.5f * var_f31; +// var_r31->unk_20 = var_f31; +// block_19: +// var_r31->unk_58->unk_24 = 0; +// var_r31->unk_5C = var_r31->unk_5C + 1; +// } +// else { +// var_r29 = fn_1_10258(8, 1); +// fn_1_11018(var_r29, 0, 0x45000A); +// *(lbl_1_bss_DE4.unk_40 + ((var_r29 * 0xBC) + 0x30)) = fn_1_7300; +// fn_1_11890(var_r29, var_r30->unk_0C + var_r31->unk_00, var_r30->unk_10 + var_r31->unk_04, var_r30->unk_14 + var_r31->unk_08); +// fn_1_12100(var_r29, 4); +// fn_1_124CC(var_r29, 1); +// var_r31->unk_38 = var_r31->unk_38 | 4; +// } +// break; +// case 1: +// if (var_r31->unk_7A != 0) { +// var_r31->unk_70 = var_r31->unk_70 - 0.5f; +// } +// temp_r0_2 = var_r31->unk_78 - 1; +// var_r31->unk_78 = temp_r0_2; +// if (temp_r0_2 == 0) { +// var_r31->unk_58->unk_24 = 0x11; +// if (var_r31->unk_7A != 0) { +// var_r31->unk_58->unk_28 = 0.5f; +// } +// else { +// var_r31->unk_58->unk_28 = 0.5f; +// } +// var_r31->unk_58->unk_2C = 0.0f; +// var_r31->unk_58->unk_00 = 0; +// var_r31->unk_5C = var_r31->unk_5C + 1; +// } +// break; +// case 2: +// var_r31->unk_00 = var_r31->unk_00 + var_r31->unk_6C; +// var_r31->unk_04 = var_r31->unk_04 + var_r31->unk_70; +// var_r31->unk_08 = var_r31->unk_08 + var_r31->unk_74; +// if (var_r31->unk_04 < 0.0f) { +// var_r31->unk_04 = 0.0f; +// } +// var_r31->unk_18 = var_r31->unk_18 * 0.95f; +// var_r31->unk_1C = var_r31->unk_1C * 0.95f; +// var_r31->unk_20 = var_r31->unk_20 * 0.95f; +// var_r31->unk_70 = var_r31->unk_70 - 1.5f; +// if ((var_r31->unk_58->unk_24 & 8) != 0) { +// if (var_r31->unk_7A != 0) { +// var_r31->unk_5C = 3; +// } +// else { +// var_r31->unk_5C = 0; +// } +// } +// break; +// case 3: +// var_r28++; +// break; +// } +// var_r27++; +// var_r31 += 0x98; +// goto loop_35; +// } +// if (var_r28 >= var_r30->unk_02) { +// fn_1_107BC(var_r30->unk_00); +// } +// } - sp8 = 0; - switch (arg0->unk_60) { /* irregular */ - case 0: - temp_f27 = 360.0f / arg0->unk_02; +// void fn_1_7300(void *arg0) +// { +// float sp10; +// float spC; +// float sp8; +// float temp_f0; +// float temp_f0_2; +// float temp_f0_3; +// float var_f29; +// float var_f30; +// float var_f31; +// s16 temp_r0_2; +// s32 var_r28; +// s32 var_r29; +// u8 temp_r0; +// u8 temp_r0_3; +// void *var_r30; +// void *var_r31; - var_r31 = &arg0->unk_3C[0]; - for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) { - var_r31->unk_6C.x = sind(temp_f27 * var_r29) * (0.8f + (0.1f * (2.0f * ((1.0f / 32768.0f) * (fn_1_7DB4() - 0x8000))))); - var_r31->unk_6C.y = 0.0f; - var_r31->unk_6C.z = cosd(temp_f27 * var_r29) * (0.8f + (0.1f * (2.0f * ((1.0f / 32768.0f) * (fn_1_7DB4() - 0x8000))))); - var_r31->unk_00.x = (40.0f * var_r31->unk_6C.x); - var_r31->unk_00.y = 6.0f; - var_r31->unk_00.z = (40.0f * var_r31->unk_6C.z); - temp_f29 = 0.01f * (100.0f * ((1.0f / 65536.0f) * fn_1_7DB4())); - var_r31->unk_54.r = (80.0f + 60.0f * temp_f29); - var_r31->unk_54.g = (64.0f + 60.0f * temp_f29); - var_r31->unk_54.b = (56.0f + 60.0f * temp_f29); - } - arg0->unk_7C = 0x30; - arg0->unk_60++; - case 1: - arg0->unk_7C--; - temp_f31 = (48.0f - arg0->unk_7C) / 48.0f; - temp_f28 = arg0->unk_7C / 48.0f; +// var_r30 = arg0; +// var_r31 = var_r30->unk_3C; +// temp_r0 = var_r30->unk_60; +// switch (temp_r0) { +// case 0: +// var_f31 = 0.01f; +// var_r30->unk_2C = 0.01f; +// var_r30->unk_28 = 0.01f; +// var_r30->unk_24 = 0.01f; +// var_r30->unk_7C = Hu3DModelCreateFile(0x45000B); +// var_r30->unk_7E = (30.0f * (0.000015258789f * fn_1_7DB4())) + 0x1E; +// var_r29 = 0; +// loop_6: +// if (var_r29 < var_r30->unk_02) { +// var_r31->unk_38 = var_r31->unk_38 | 4; +// var_r29++; +// var_r31 += 0x98; +// goto loop_6; +// } +// var_r30->unk_60 = var_r30->unk_60 + 1; - var_r31 = arg0->unk_3C; - for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) { - var_r31->unk_00.x += 12.5f * temp_f28 * var_r31->unk_6C.x; - var_r31->unk_00.z += 12.5f * temp_f28 * var_r31->unk_6C.z; - temp_f30 = 2.4f + (6.0f * temp_f31); - var_r31->unk_18.x = temp_f30; - var_r31->unk_18.y = temp_f30; - var_r31->unk_18.z = temp_f30; - var_r31->unk_54.a = (96.0f * (1.0f - (temp_f31 * temp_f31))); - } - if (arg0->unk_7C == 0) { - arg0->unk_60++; - } - break; - case 2: - fn_1_107BC(arg0->unk_00); - return; - } -} - -void fn_1_62BC(M438UnkStruct2 *arg0) -{ - s16 sp8; - - M438UnkStruct *var_r31; - - sp8 = 0; - switch (arg0->unk_60) { - case 0: - var_r31 = arg0->unk_3C; - var_r31->unk_6C.y = 5.0f; - var_r31->unk_6C.x *= -2.0f; - var_r31->unk_6C.z *= -2.0f; - arg0->unk_60++; - - case 1: - var_r31 = arg0->unk_3C; - var_r31->unk_00.x += var_r31->unk_6C.x; - var_r31->unk_00.y += var_r31->unk_6C.y; - var_r31->unk_00.z += var_r31->unk_6C.z; - return; - case 2: - fn_1_107BC(arg0->unk_00); - return; - } -} - -void fn_1_63B0(M438UnkStruct2 *arg0) -{ - Vec sp8; - M438UnkStruct *var_r31; - f32 var_f31; - f32 temp_f30; - f32 var_f29; - f32 temp_f28; - s32 var_r29; - - var_r31 = arg0->unk_3C; - for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) { - switch (var_r31->unk_5C) { - case 0: - var_f29 = atan2d(arg0->unk_80, arg0->unk_84) < 0 ? -atan2d(arg0->unk_80, arg0->unk_84) : atan2d(arg0->unk_80, arg0->unk_84); - - if (var_f29 > 90.0f) { - var_f29 = 180.0f - var_f29; - } - temp_f28 = 40.0f * (0.1f + ((0.9f * var_f29) / 90.0f)); - var_f31 = (0.5f * temp_f28) + ((arg0->unk_88 - temp_f28) * ((1.0f / 65536.0f) * fn_1_7DB4())); - sp8.x = var_f31 * arg0->unk_80; - sp8.z = var_f31 * arg0->unk_84; - var_r31->unk_00.x = sp8.x; - var_r31->unk_00.y = 0.0f; - var_r31->unk_00.z = sp8.z; - - for (var_f31 = 0.0f, sp8.y = 0.0f; var_f31 < (arg0->unk_8C - 40.0f); var_f31 += sp8.y) { - sp8.y += 0.8f; - } - var_r31->unk_6C.x = 0.0f; - var_r31->unk_6C.y = sp8.y + (1.5f * ((1.0f / 65536.0f) * fn_1_7DB4())); - var_r31->unk_6C.z = 0.0f; - if ((fn_1_7DB4() & 7) != 0) { - var_r31->unk_33 = 1; - var_r31->unk_54.r = 0x40; - var_r31->unk_54.g = 0x10; - var_r31->unk_54.b = 4; - var_r31->unk_54.a = 0xFF; - temp_f30 = 3.75f + (1.75f * ((1.0f / 65536.0f) * fn_1_7DB4())); - var_r31->unk_60.x = (temp_f30 * (0.1f + ((0.9f * var_f29) / 90.0f))); - var_r31->unk_60.y = var_r31->unk_60.z = temp_f30; - } - else { - var_r31->unk_33 = 0; - var_r31->unk_54.r = 0; - var_r31->unk_54.g = 0; - var_r31->unk_54.b = 0; - var_r31->unk_54.a = 0xFF; - temp_f30 = 0.25f + (0.25f * ((1.0f / 65536.0f) * fn_1_7DB4())); - var_r31->unk_60.y = (1.5f * temp_f30); - var_r31->unk_60.x = var_r31->unk_60.z = temp_f30; - } - var_r31->unk_58->unk_24 = 0; - var_r31->unk_78[0] = (s32)((60.0f * ((1.0f / 65536.0f) * fn_1_7DB4()))) + 1; - var_r31->unk_5C++; - case 1: - if (--var_r31->unk_78[0] == 0) { - var_r31->unk_58->unk_24 = 0x11U; - var_r31->unk_58->unk_28 = 0.5f; - var_r31->unk_58->unk_2C = 0.0f; - var_r31->unk_58->unk_00 = 0; - var_r31->unk_5C++; - } - break; - case 2: - var_r31->unk_00.x += var_r31->unk_6C.x; - var_r31->unk_00.y += var_r31->unk_6C.y; - var_r31->unk_00.z += var_r31->unk_6C.z; - if (var_r31->unk_00.y < 0.0f) { - var_r31->unk_00.y = 0.0f; - } - var_r31->unk_60.x *= 0.95f; - var_r31->unk_60.y *= 0.95f; - var_r31->unk_60.z *= 0.95f; - var_r31->unk_6C.y -= 0.8f; - if ((var_r31->unk_58->unk_24 & 8) != 0) { - var_r31->unk_5C = 0; - } - break; - } - var_r31->unk_18.x = var_r31->unk_60.x * arg0->unk_90; - var_r31->unk_18.y = var_r31->unk_60.y * arg0->unk_90; - var_r31->unk_18.z = var_r31->unk_60.z * arg0->unk_90; - } -} - -void fn_1_6A3C(M438UnkStruct2 *arg0) -{ - Vec sp8; - M438UnkStruct *var_r31; - f32 temp_f31; - f32 temp_f30; - f32 temp_f29; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - var_r31 = arg0->unk_3C; - var_r28 = 0; - - for (var_r27 = 0; var_r27 < arg0->unk_02; var_r27++, var_r31++) { - if ((arg0->unk_7C != 0) && (var_r31->unk_78[1] == 0)) { - var_r31->unk_5C = 0; - } - switch (var_r31->unk_5C) { - case 0: - if (arg0->unk_7C != 0) { - temp_f30 = (180.0f * ((1.0f / 65536.0f) * fn_1_7DB4())) - 90.0f; - temp_f29 = 125.0f; - sp8.x = sind(temp_f30); - sp8.z = cosd(temp_f30); - var_r31->unk_00.x = temp_f29 * sp8.x; - var_r31->unk_00.y = 0.0f; - var_r31->unk_00.z = temp_f29 * sp8.z; - sp8.y = 25.0f; - var_r31->unk_6C.x = 100.0f * (0.1f * sp8.x); - var_r31->unk_6C.y = sp8.y + (2.5f * ((1.0f / 65536.0f) * fn_1_7DB4())); - var_r31->unk_6C.z = 100.0f * (0.1f * sp8.z); - var_r31->unk_78[0] = (s32)(24.0f * ((1.0f / 65536.0f) * fn_1_7DB4())) + 1; - var_r31->unk_78[1] = 1; - } - else { - temp_f30 = (180.0f * ((1.0f / 65536.0f) * fn_1_7DB4())) - 90.0f; - temp_f29 = 125.0f * ((1.0f / 65536.0f) * fn_1_7DB4()); - sp8.x = sind(temp_f30); - sp8.z = cosd(temp_f30); - var_r31->unk_00.x = temp_f29 * sp8.x; - var_r31->unk_00.y = 0.0f; - var_r31->unk_00.z = temp_f29 * sp8.z; - sp8.y = 5.0f; - var_r31->unk_6C.x = (100.0 * (0.015 * sp8.x)); - var_r31->unk_6C.y = sp8.y + ((1.0f / 65536.0f) * fn_1_7DB4()); - var_r31->unk_6C.z = 100.0f * (0.015f * sp8.z); - var_r31->unk_78[0] = (s32)(60.0f * ((1.0f / 65536.0f) * fn_1_7DB4())) + 1; - var_r31->unk_78[1] = 0; - } - var_r31->unk_38 &= ~4; - if ((fn_1_7DB4() & 0xF) != 0) { - var_r31->unk_33 = 1; - var_r31->unk_54.r = 0x40; - var_r31->unk_54.g = 0x10; - var_r31->unk_54.b = 4; - var_r31->unk_54.a = 0xFF; - temp_f31 = 1.8f + ((1.0f / 65536.0f) * fn_1_7DB4()); - var_r31->unk_18.x = temp_f31; - var_r31->unk_18.y = temp_f31; - var_r31->unk_18.z = temp_f31; - } - else if (arg0->unk_7C != 0) { - var_r31->unk_33 = 0; - var_r31->unk_54.r = 0; - var_r31->unk_54.g = 0; - var_r31->unk_54.b = 0; - var_r31->unk_54.a = 0xFF; - temp_f31 = 0.25f + (0.25f * ((1.0f / 65536.0f) * fn_1_7DB4())); - var_r31->unk_18.x = temp_f31; - var_r31->unk_18.y = 1.5f * temp_f31; - var_r31->unk_18.z = temp_f31; - } - else { - var_r29 = fn_1_10258(8, 1); - fn_1_11018(var_r29, 0, 0x45000A); - lbl_1_bss_DE4.unk_40[var_r29].unk_30 = (void (*)(M438UnkStruct2 *))fn_1_7300; - fn_1_11890(var_r29, arg0->unk_0C.x + var_r31->unk_00.x, arg0->unk_0C.y + var_r31->unk_00.y, arg0->unk_0C.z + var_r31->unk_00.z); - fn_1_12100(var_r29, 4); - fn_1_124CC(var_r29, 1); - var_r31->unk_38 |= 4; - break; - } - var_r31->unk_58->unk_24 = 0; - var_r31->unk_5C++; - break; - case 1: - if (var_r31->unk_78[1] != 0) { - var_r31->unk_6C.y -= 0.5f; - } - if (--var_r31->unk_78[0] == 0) { - var_r31->unk_58->unk_24 = 0x11; - if (var_r31->unk_78[1] != 0) { - var_r31->unk_58->unk_28 = 0.5f; - } - else { - var_r31->unk_58->unk_28 = 0.5f; - } - var_r31->unk_58->unk_2C = 0.0f; - var_r31->unk_58->unk_00 = 0; - var_r31->unk_5C++; - } - break; - case 2: - var_r31->unk_00.x += var_r31->unk_6C.x; - var_r31->unk_00.y += var_r31->unk_6C.y; - var_r31->unk_00.z += var_r31->unk_6C.z; - if (var_r31->unk_00.y < 0.0f) { - var_r31->unk_00.y = 0.0f; - } - var_r31->unk_18.x *= 0.95f; - var_r31->unk_18.y *= 0.95f; - var_r31->unk_18.z *= 0.95f; - var_r31->unk_6C.y -= 1.5f; - if ((var_r31->unk_58->unk_24 & 8) != 0) { - if (var_r31->unk_78[1] != 0) { - var_r31->unk_5C = 3; - } - else { - var_r31->unk_5C = 0; - } - } - break; - case 3: - var_r28++; - break; - } - } - if (var_r28 >= arg0->unk_02) { - fn_1_107BC(arg0->unk_00); - } -} - -void fn_1_7300(M438UnkStruct2 *arg0) -{ - Vec sp8; - M438UnkStruct *var_r31; - f32 temp_f29; - f32 temp_f30; - f32 temp_f31; - s32 var_r28; - s32 var_r29; - - var_r31 = arg0->unk_3C; - - switch (arg0->unk_60) { - case 0: - arg0->unk_24.x = arg0->unk_24.y = arg0->unk_24.z = temp_f31 = 0.01f; - arg0->unk_7C = Hu3DModelCreateFile(0x45000B); - arg0->unk_7E = (s32)(30.0f * ((1.0f / 65536.0f) * fn_1_7DB4())) + 30; - - for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) { - var_r31->unk_38 |= 4; - } - arg0->unk_60++; - case 1: - arg0->unk_24.z += 0.008f; - - arg0->unk_24.x = arg0->unk_24.y = arg0->unk_24.z; - Hu3DModelPosSetV(arg0->unk_7C, &arg0->unk_0C); - Hu3DModelScaleSetV(arg0->unk_7C, &arg0->unk_24); - if (--arg0->unk_7E == 0) { - Hu3DModelKill(arg0->unk_7C); - arg0->unk_7C = 0; - - for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) { - var_r31->unk_5C = 1; - } - arg0->unk_80 = arg0->unk_24.x; - - arg0->unk_24.x = arg0->unk_24.y = arg0->unk_24.z = 1.0f; - arg0->unk_60++; - } - break; - } - var_r28 = 0; - var_r31 = arg0->unk_3C; - - for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) { - switch (var_r31->unk_5C) { - case 1: - var_r31->unk_38 &= ~4; - var_r31->unk_33 = 1; - var_r31->unk_54.r = 0x60; - var_r31->unk_54.g = 0x20; - var_r31->unk_54.b = 0x10; - var_r31->unk_54.a = 0xFF; - temp_f31 = 0.4f + (0.15f * ((1.0f / 65536.0f) * fn_1_7DB4())); - var_r31->unk_18.x = temp_f31; - var_r31->unk_18.y = temp_f31; - var_r31->unk_18.z = temp_f31; - temp_f29 = 360.0f * ((1.0f / 65536.0f) * fn_1_7DB4()); - temp_f30 = 50.0f * arg0->unk_80; - sp8.x = sind(temp_f29); - sp8.z = cosd(temp_f29); - var_r31->unk_00.x = temp_f30 * sp8.x; - var_r31->unk_00.y = temp_f30; - var_r31->unk_00.z = temp_f30 * sp8.z; - sp8.y = 6.0f; - var_r31->unk_6C.x = 100.0f * (0.015f * sp8.x); - var_r31->unk_6C.y = sp8.y + (1.5f * ((1.0f / 65536.0f) * fn_1_7DB4())); - var_r31->unk_6C.z = 100.0f * (0.015f * sp8.z); - var_r31->unk_58->unk_24 = 0x11; - var_r31->unk_58->unk_28 = 0.75f; - var_r31->unk_5C++; - break; - case 2: - var_r31->unk_00.x += var_r31->unk_6C.x; - var_r31->unk_00.y += var_r31->unk_6C.y; - var_r31->unk_00.z += var_r31->unk_6C.z; - var_r31->unk_6C.y -= 0.75f; - if ((var_r31->unk_58->unk_24 & 8) != 0) { - var_r31->unk_5C++; - } - break; - case 3: - var_r28++; - break; - } - } - if (var_r28 >= arg0->unk_02) { - fn_1_107BC(arg0->unk_00); - } - if (lbl_1_bss_DBA == 2) { - if (arg0->unk_7C != 0) { - Hu3DModelKill(arg0->unk_7C); - } - fn_1_107BC(arg0->unk_00); - } -} +// case 1: +// var_r30->unk_2C = var_r30->unk_2C + 0.008f; +// temp_f0 = var_r30->unk_2C; +// var_r30->unk_28 = temp_f0; +// var_r30->unk_24 = temp_f0; +// Hu3DModelPosSetV(var_r30->unk_7C, var_r30 + 0xC); +// Hu3DModelScaleSetV(var_r30->unk_7C, var_r30 + 0x24); +// temp_r0_2 = var_r30->unk_7E - 1; +// var_r30->unk_7E = temp_r0_2; +// if (temp_r0_2 == 0) { +// Hu3DModelKill(var_r30->unk_7C); +// var_r30->unk_7C = 0; +// var_r29 = 0; +// loop_11: +// if (var_r29 < var_r30->unk_02) { +// var_r31->unk_5C = 1; +// var_r29++; +// var_r31 += 0x98; +// goto loop_11; +// } +// var_r30->unk_80 = var_r30->unk_24; +// var_r30->unk_2C = 1.0f; +// var_r30->unk_28 = 1.0f; +// var_r30->unk_24 = 1.0f; +// var_r30->unk_60 = var_r30->unk_60 + 1; +// } +// break; +// } +// var_r28 = 0; +// for (var_r31 = var_r30->unk_3C; var_r29 = 0; var_r31 < var_r30->unk_02; var_r29++; var_r31 += 0x98) { +// temp_r0_3 = var_r31->unk_5C; +// switch (temp_r0_3) { +// case 1: +// var_r31->unk_38 = var_r31->unk_38 & 0xFFFFFFFB; +// var_r31->unk_33 = 1; +// var_r31->unk_54 = 0x60; +// var_r31->unk_55 = 0x20; +// var_r31->unk_56 = 0x10; +// var_r31->unk_57 = 0xFF; +// var_f31 = 0.4f + (0.15f * (0.000015258789f * fn_1_7DB4())); +// var_r31->unk_18 = var_f31; +// var_r31->unk_1C = var_f31; +// var_r31->unk_20 = var_f31; +// var_f29 = 360.0f * (0.000015258789f * fn_1_7DB4()); +// var_f30 = 50.0f * var_r30->unk_80; +// temp_f0_2 = sind(var_f29); +// sp8 = temp_f0_2; +// temp_f0_3 = cosd(var_f29); +// sp10 = temp_f0_3; +// var_r31->unk_00 = var_f30 * temp_f0_2; +// var_r31->unk_04 = var_f30; +// var_r31->unk_08 = var_f30 * temp_f0_3; +// spC = 6.0f; +// var_r31->unk_6C = 100.0f * (0.015f * temp_f0_2); +// var_r31->unk_70 = 6.0f + (1.5f * (0.000015258789f * fn_1_7DB4())); +// var_r31->unk_74 = 100.0f * (0.015f * temp_f0_3); +// var_r31->unk_58->unk_24 = 0x11; +// var_r31->unk_58->unk_28 = 0.75f; +// var_r31->unk_5C = var_r31->unk_5C + 1; +// break; +// case 2: +// var_r31->unk_00 = var_r31->unk_00 + var_r31->unk_6C; +// var_r31->unk_04 = var_r31->unk_04 + var_r31->unk_70; +// var_r31->unk_08 = var_r31->unk_08 + var_r31->unk_74; +// var_r31->unk_70 = var_r31->unk_70 - 0.75f; +// if ((var_r31->unk_58->unk_24 & 8) != 0) { +// var_r31->unk_5C = var_r31->unk_5C + 1; +// } +// break; +// case 3: +// var_r28++; +// break; +// } +// } +// if (var_r28 >= var_r30->unk_02) { +// fn_1_107BC(var_r30->unk_00); +// } +// if (lbl_1_bss_DBA == 2) { +// if (var_r30->unk_7C != 0) { +// Hu3DModelKill(var_r30->unk_7C); +// } +// fn_1_107BC(var_r30->unk_00); +// } +// } void fn_1_7858(omObjData *object) { @@ -2204,8 +2441,8 @@ void fn_1_7858(omObjData *object) if (var_r31->unk_07 == 0 || (var_r31->unk_07 & 2) != 0) { return; } - VECSubtract(&var_r31->unk_6C, &var_r31->unk_90, &sp2C); - var_f29 = VECMag(&sp2C); + PSVECSubtract(&var_r31->unk_6C, &var_r31->unk_90, &sp2C); + var_f29 = PSVECMag(&sp2C); if (var_f29 == 0.0f) { return; } @@ -2226,15 +2463,15 @@ void fn_1_7858(omObjData *object) sp8.y = var_r30->unk_6C.y; sp8.z = var_r30->unk_6C.z; sp8.y = 0.0f; - VECSubtract(&sp14, &sp8, &sp2C); - var_f31 = VECMag(&sp2C); + PSVECSubtract(&sp14, &sp8, &sp2C); + var_f31 = PSVECMag(&sp2C); if (var_f31 >= 119.40001f) { continue; } - VECSubtract(&var_r30->unk_6C, &var_r30->unk_90, &sp2C); - var_f28 = VECMag(&sp2C); - VECSubtract(&sp14, &sp8, &sp20); - VECNormalize(&sp20, &sp20); + PSVECSubtract(&var_r30->unk_6C, &var_r30->unk_90, &sp2C); + var_f28 = PSVECMag(&sp2C); + PSVECSubtract(&sp14, &sp8, &sp20); + PSVECNormalize(&sp20, &sp20); var_f31 = 120.00001f - var_f31; var_f30 = ((0.6f * var_f28) + (0.4f * var_f29)) / (var_f29 + var_f28); var_r31->unk_6C.x = var_r31->unk_6C.x + (var_f30 * (var_f31 * sp20.x)); @@ -2341,6 +2578,7 @@ void fn_1_7DD8(s32 arg0, s32 *arg1) float fn_1_7EDC(float arg8, float arg9, float argA) { + float var_f1; float var_f31; if (arg8 > 180.0f) { @@ -2362,123 +2600,257 @@ float fn_1_7EDC(float arg8, float arg9, float argA) else if (var_f31 <= -180.0f) { var_f31 += 360.0f; } - arg8 = arg9 + (var_f31 * argA); - if (arg8 > 180.0f) { - arg8 -= 360.0f; + var_f1 = arg9 + (var_f31 * argA); + if (var_f1 > 180.0f) { + return var_f1 - 360.0f; } - else if (arg8 <= -180.0f) { - arg8 += 360.0f; + if (var_f1 <= -180.0f) { + var_f1 += 360.0f; } - return arg8; + return var_f1; } -void fn_1_8044(Mtx arg0, f32 arg8, f32 arg9, f32 argA) -{ - Mtx sp38; - Mtx sp8; +// void fn_1_8044(Mtx arg0, float arg8, float arg9, float argA) +// { +// Mtx var_r31; +// float var_f29; +// float var_f30; +// float var_f31; - if (0.0f != argA) { - MTXRotRad(arg0, 0x5A, MTXDegToRad(argA)); - } - else { - MTXIdentity(arg0); - } - if (0.0f != arg8) { - MTXRotRad(sp38, 0x58, MTXDegToRad(arg8)); - MTXConcat(sp38, arg0, arg0); - } - if (0.0f != arg9) { - MTXRotRad(sp8, 0x59, MTXDegToRad(arg9)); - MTXConcat(sp8, arg0, arg0); - } -} +// var_r31 = arg0; +// var_f29 = arg8; +// var_f30 = arg9; +// var_f31 = argA; +// if (var_f31 != 0.0f) { +// PSMTXRotRad(var_r31, 0x5A, 0.017453292f * var_f31); +// } +// else { +// PSMTXIdentity(var_r31); +// } +// if (var_f29 != 0.0f) { +// PSMTXRotRad(&sp38[0], 0x58, 0.017453292f * var_f29); +// PSMTXConcat(&sp38[0], var_r31, var_r31); +// } +// if (var_f30 != 0.0f) { +// PSMTXRotRad(&sp8[0], 0x59, 0.017453292f * var_f30); +// PSMTXConcat(&sp8[0], var_r31, var_r31); +// } +// } -void fn_1_8164(Mtx arg0, Vec *arg1) -{ - f32 temp_f29; - f32 var_f28; +// void fn_1_8164(float *arg0, Vec *arg1) +// { +// float sp8; +// Vec *var_r31; +// float *var_r30; +// float var_f27; +// float var_f28; +// float var_f29; +// double var_f30; +// double var_f31; - arg1->x = atan2d(arg0[1][2], arg0[2][2]); - if (arg1->x < 0.0f) { - arg1->x += 360.0f; - } - arg1->z = atan2d(arg0[0][1], arg0[0][0]); - if (arg1->z < 0.0f) { - arg1->z += 360.0f; - } - temp_f29 = -arg0[0][2]; - var_f28 = sqrtf(BOARD_FABS(1.0 - temp_f29 * temp_f29)); - if ((arg1->x > 90.0f) && (arg1->x < 270.0f) && (arg1->z > 90.0f) && (arg1->z < 270.0f)) { - arg1->x = fmod((180.0f + arg1->x), 360.0); - arg1->z = fmod((180.0f + arg1->z), 360.0); - var_f28 = -var_f28; - } - arg1->y = atan2d(temp_f29, var_f28); - if (arg1->y < 0.0f) { - arg1->y += 360.0f; - } -} +// var_r30 = arg0; +// var_r31 = arg1; +// var_r31->x = atan2d(var_r30->unk_18, var_r30->unk_28); +// if (var_r31->x < 0.0f) { +// var_r31->x += 360.0f; +// } +// var_r31->z = atan2d(var_r30->unk_04, var_r30->unk_00); +// if (var_r31->z < 0.0f) { +// var_r31->z += 360.0f; +// } +// var_f29 = -var_r30->unk_08; +// if ((1.0 - (var_f29 * var_f29)) < 0.0) { +// var_f30 = -(1.0 - (var_f29 * var_f29)); +// } +// else { +// var_f30 = 1.0 - (var_f29 * var_f29); +// } +// if (var_f30 > 0.0f) { +// var_f31 = __frsqrte(var_f30); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// sp8 = var_f30 * var_f31; +// var_f27 = sp8; +// } +// else { +// var_f27 = var_f30; +// } +// var_f28 = var_f27; +// if ((var_r31->x > 90.0f) && (var_r31->x < 270.0f) && (var_r31->z > 90.0f) && (var_r31->z < 270.0f)) { +// var_r31->x = fmod(180.0f + var_r31->x, 360.0); +// var_r31->z = fmod(180.0f + var_r31->z, 360.0); +// var_f28 = -var_f28; +// } +// var_r31->y = atan2d(var_f29, var_f28); +// if (var_r31->y < 0.0f) { +// var_r31->y += 360.0f; +// } +// } -void fn_1_8500(Mtx arg0, Vec *arg1) -{ - f32 temp_f29; - f32 var_f28; +// void fn_1_8500(void *arg0, void *arg1) +// { +// float sp8; +// float var_f27; +// float var_f28; +// float var_f29; +// double var_f30; +// double var_f31; +// void *var_r30; +// void *var_r31; - arg1->z = atan2d(arg0[0][1], arg0[1][1]); - arg1->y = atan2d(arg0[2][0], arg0[2][2]); - temp_f29 = -arg0[2][1]; - var_f28 = sqrtf(BOARD_FABS(1.0 - temp_f29 * temp_f29)); - arg1->x = atan2d(temp_f29, var_f28); -} +// var_r31 = arg0; +// var_r30 = arg1; +// var_r30->unk_08 = atan2d(var_r31->unk_04, var_r31->unk_14); +// var_r30->unk_04 = atan2d(var_r31->unk_20, var_r31->unk_28); +// var_f29 = -var_r31->unk_24; +// if ((1.0 - (var_f29 * var_f29)) < 0.0) { +// var_f30 = -(1.0 - (var_f29 * var_f29)); +// } +// else { +// var_f30 = 1.0 - (var_f29 * var_f29); +// } +// if (var_f30 > 0.0f) { +// var_f31 = __frsqrte(var_f30); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// sp8 = var_f30 * var_f31; +// var_f28 = sp8; +// } +// else { +// var_f28 = var_f30; +// } +// var_f27 = var_f28; +// var_r30->unk_00 = atan2d(var_f29, var_f27); +// } -f32 fn_1_8750(f32 arg8, f32 arg9, f32 argA, f32 argB) -{ - f32 temp_f31; - f32 var_f30; +// double fn_1_8750(double arg8, float arg9, float argA, float argB) +// { +// double var_f30; +// double var_f31; - temp_f31 = (1.0 - arg8); - var_f30 = ((temp_f31 * temp_f31) * arg9) + (temp_f31 * arg8 * argA * 2.0) + ((arg8 * arg8) * argB); - return var_f30; -} +// var_f31 = 1.0 - arg8; +// var_f31 = var_f31; +// var_f30 = (argB * (arg8 * arg8)) + ((arg9 * (var_f31 * var_f31)) + (2.0 * (argA * (var_f31 * arg8)))); +// var_f30 = var_f30; +// return var_f30; +// } -void fn_1_87C8(f32 *arg0, f32 *arg1, f32 *arg2, f32 *arg3, f32 arg8) -{ - s32 var_r31; +// void fn_1_87C8(float *arg0, float *arg1, float *arg2, float *arg3, double arg8) +// { +// float *var_r3; +// float *var_r4; +// float *var_r5; +// float *var_r6; +// float var_f26; +// float var_f27; +// float var_f28; +// float var_f29; +// double var_f24; +// double var_f25; +// double var_f30; +// double var_f31; +// s32 var_r31; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - *arg3++ = fn_1_8750(arg8, *arg0++, *arg1++, *arg2++); - } -} +// var_r3 = arg0; +// var_r4 = arg1; +// var_r5 = arg2; +// var_r6 = arg3; +// for (var_r31 = 0; var_r31 < 3; var_r31++) { +// var_f27 = *var_r5; +// var_r5 += 4; +// var_f28 = *var_r4; +// var_r4 += 4; +// var_f29 = *var_r3; +// var_r3 += 4; +// var_f26 = var_f29; +// var_f31 = 1.0 - arg8; +// var_f31 = var_f31; +// var_f30 = (var_f27 * (arg8 * arg8)) + ((var_f29 * (var_f31 * var_f31)) + (2.0 * (var_f28 * (var_f31 * arg8)))); +// var_f30 = var_f30; +// var_f25 = var_f30; +// var_f24 = var_f25; +// *var_r6 = var_f24; +// var_r6 += 4; +// } +// } -f32 fn_1_88E4(f32 arg8, f32 arg9, f32 argA, f32 argB) -{ - f32 var_f31; +// double fn_1_88E4(float arg8, double arg9, double argA, float argB) +// { +// double var_f31; - var_f31 = 2.0 * ((arg8 - 1.0) * arg9 + (1.0 - (2.0 * arg8)) * argA + (arg8 * argB)); - return var_f31; -} +// var_f31 = 2.0 * ((arg8 * argB) + (((arg8 - 1.0) * arg9) + ((1.0 - (2.0 * arg8)) * argA))); +// var_f31 = var_f31; +// return var_f31; +// } -void fn_1_895C(f32 *arg0, f32 *arg1, f32 *arg2, f32 *arg3, f32 arg8) -{ - f32 spC[3]; - f32 var_f29; - s32 var_r31; +// void fn_1_895C(float *arg0, float *arg1, float *arg2, float *arg3, float arg8) +// { +// float sp8; +// float *temp_r6; +// float *var_r3; +// float *var_r4; +// float *var_r5; +// float *var_r6; +// float var_f23; +// float var_f24; +// float var_f25; +// float var_f26; +// float var_f28; +// float var_f29; +// float var_f30; +// double var_f21; +// double var_f22; +// double var_f27; +// double var_f31; +// s32 var_r31; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - spC[var_r31] = fn_1_88E4(arg8, *arg0++, *arg1++, *arg2++); - } - var_f29 = sqrtf((spC[0] * spC[0]) + (spC[1] * spC[1]) + (spC[2] * spC[2])); - if (var_f29) { - var_f29 = (1.0 / var_f29); - for (var_r31 = 0; var_r31 < 3; var_r31++) { - *arg3++ = var_f29 * spC[var_r31]; - } - return; - } - *arg3++ = 0.0f; - *arg3++ = 0.0f; - *arg3++ = 1.0f; -} +// var_r3 = arg0; +// var_r4 = arg1; +// var_r5 = arg2; +// var_r6 = arg3; +// for (var_r31 = 0; var_r31 < 3; var_r31++) { +// var_f24 = *var_r5; +// var_r5 += 4; +// var_f25 = *var_r4; +// var_r4 += 4; +// var_f26 = *var_r3; +// var_r3 += 4; +// var_f23 = var_f26; +// var_f27 = 2.0 * ((arg8 * var_f24) + (((arg8 - 1.0) * var_f26) + ((1.0 - (2.0 * arg8)) * var_f25))); +// var_f27 = var_f27; +// var_f22 = var_f27; +// var_f21 = var_f22; +// (&spC[0])[var_r31] = var_f21; +// } +// var_f30 = (sp14 * sp14) + ((spC[0] * spC[0]) + (sp10 * sp10)); +// if (var_f30 > 0.0f) { +// var_f31 = __frsqrte(var_f30); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// sp8 = var_f30 * var_f31; +// var_f28 = sp8; +// } +// else { +// var_f28 = var_f30; +// } +// var_f29 = var_f28; +// if (var_f29 != 0.0f) { +// var_f29 = 1.0 / var_f29; +// var_f29 = var_f29; +// for (var_r31 = 0; var_r31 < 3; var_r31++) { +// *var_r6 = var_f29 * (&spC[0])[var_r31]; +// var_r6 += 4; +// } +// return; +// } +// *var_r6 = 0.0f; +// temp_r6 = var_r6 + 4; +// *temp_r6 = 0.0f; +// *(temp_r6 + 4) = 1.0f; +// } void fn_1_8C34(float *arg0, float *arg1, float *arg2, s32 arg3) { @@ -2519,7 +2891,7 @@ void fn_1_8C34(float *arg0, float *arg1, float *arg2, s32 arg3) } } -float fn_1_8EEC(float arg8, float *arg0, float *arg1, float *arg2, s32 arg3) +float fn_1_8EEC(float *arg0, float *arg1, float *arg2, float arg8) { float var_f31; float var_f30; @@ -2556,8 +2928,8 @@ void fn_1_9040(float *arg0, Vec *arg1, float arg2[3][3], s32 arg3) arg0[0] = 0.0f; for (var_r30 = 1; var_r30 < arg3; var_r30++) { - VECSubtract(&arg1[var_r30], &arg1[var_r30 - 1], &sp8); - arg0[var_r30] = arg0[var_r30 - 1] + VECMag(&sp8); + PSVECSubtract(&arg1[var_r30], &arg1[var_r30 - 1], &sp8); + arg0[var_r30] = arg0[var_r30 - 1] + PSVECMag(&sp8); } for (var_r27 = 0; var_r27 < 3; var_r27++) { for (var_r30 = 0; var_r30 < arg3; var_r30++) { @@ -2596,7 +2968,7 @@ void fn_1_9040(float *arg0, Vec *arg1, float arg2[3][3], s32 arg3) } } -void fn_1_9420(float arg8, float *arg0, float *arg1, float arg2[3][3], float arg3[3][3], s32 arg4) +void fn_1_9420(float *arg0, float *arg1, float arg2[3][3], float arg3[3][3], s32 arg4, float arg8) { float sp48[16]; float sp8[16]; @@ -2611,195 +2983,361 @@ void fn_1_9420(float arg8, float *arg0, float *arg1, float arg2[3][3], float arg sp48[var_r30] = arg2[var_r30][var_r29]; sp8[var_r30] = arg3[var_r30][var_r29]; } - arg0[var_r29] = fn_1_8EEC(arg8, arg1, sp48, sp8, arg4); + arg0[var_r29] = fn_1_8EEC(arg1, sp48, sp8, arg8); } } -f32 fn_1_9634(Vec *arg0) -{ - f32 var_f30; - f32 var_f29; - var_f30 = (arg0->x * arg0->x) + (arg0->y * arg0->y) + (arg0->z * arg0->z); - var_f30 = sqrtf(var_f30); - if (var_f30 != 0.0f) { - var_f29 = 1.0f / var_f30; - arg0->x *= var_f29; - arg0->y *= var_f29; - arg0->z *= var_f29; - } - else { - arg0->x = arg0->y = arg0->z = 0.0f; - } - return var_f30; -} +// float fn_1_9634(Vec *arg0) +// { +// float sp8; +// float var_f28; +// float var_f29; +// float var_f30; +// double var_f31; -f32 fn_1_97CC(Vec arg0, Vec arg1, Vec *arg2, f32 arg8) -{ - if (arg8 <= 0.0f) { - arg2->x = arg0.x; - arg2->y = arg0.y; - arg2->z = arg0.z; - arg8 = 0.0f; - } - else if (arg8 >= 1.0f) { - arg2->x = (arg0.x + arg1.x); - arg2->y = (arg0.y + arg1.y); - arg2->z = (arg0.z + arg1.z); - arg8 = 1.0f; - } - else { - arg2->x = (arg0.x + (arg8 * arg1.x)); - arg2->y = (arg0.y + (arg8 * arg1.y)); - arg2->z = (arg0.z + (arg8 * arg1.z)); - } - return arg8; -} +// var_f30 = (arg0->z * arg0->z) + ((arg0->x * arg0->x) + (arg0->y * arg0->y)); +// if (var_f30 > 0.0f) { +// var_f31 = __frsqrte(var_f30); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// sp8 = var_f30 * var_f31; +// var_f28 = sp8; +// } +// else { +// var_f28 = var_f30; +// } +// var_f30 = var_f28; +// if (var_f30 != 0.0f) { +// var_f29 = 1.0f / var_f30; +// arg0->x *= var_f29; +// arg0->y *= var_f29; +// arg0->z *= var_f29; +// } +// else { +// arg0->z = 0.0f; +// arg0->y = 0.0f; +// arg0->x = 0.0f; +// } +// return var_f30; +// } -f32 fn_1_98A4(Vec arg0, Vec arg1, Vec arg2) -{ - f32 temp_f30; - f32 var_f31; +// float fn_1_97CC(void *arg0, void *arg1, void *arg2, float arg8) +// { +// if (arg8 <= 0.0f) { +// arg2->unk_00 = arg0->unk_00; +// arg2->unk_04 = arg0->unk_04; +// arg2->unk_08 = arg0->unk_08; +// return 0.0f; +// } +// if (arg8 >= 1.0f) { +// arg2->unk_00 = arg0->unk_00 + arg1->unk_00; +// arg2->unk_04 = arg0->unk_04 + arg1->unk_04; +// arg2->unk_08 = arg0->unk_08 + arg1->unk_08; +// return 1.0f; +// } +// arg2->unk_00 = arg0->unk_00 + (arg8 * arg1->unk_00); +// arg2->unk_04 = arg0->unk_04 + (arg8 * arg1->unk_04); +// arg2->unk_08 = arg0->unk_08 + (arg8 * arg1->unk_08); +// return arg8; +// } - var_f31 = (arg2.z * (arg1.z - arg0.z)) + ((arg2.x * (arg1.x - arg0.x)) + (arg2.y * (arg1.y - arg0.y))); - temp_f30 = -((arg2.z * arg2.z) + ((arg2.x * arg2.x) + (arg2.y * arg2.y))); - if (0.0f != temp_f30) { - var_f31 /= temp_f30; - } - return var_f31; -} +// float fn_1_98A4(void *arg0, void *arg1, void *arg2) +// { +// float var_f30; +// float var_f31; -f32 fn_1_9960(Vec *arg0, Vec *arg1, Vec *arg2) -{ - Vec sp44; - f32 var_f31; - f32 var_f30; - f32 temp_f29; +// var_f31 = (arg2->unk_08 * (arg1->unk_08 - arg0->unk_08)) +// + ((arg2->unk_00 * (arg1->unk_00 - arg0->unk_00)) + (arg2->unk_04 * (arg1->unk_04 - arg0->unk_04))); +// var_f30 = -((arg2->unk_08 * arg2->unk_08) + ((arg2->unk_00 * arg2->unk_00) + (arg2->unk_04 * arg2->unk_04))); +// if (var_f30 != 0.0f) { +// var_f31 /= var_f30; +// } +// return var_f31; +// } - if (0.0f == ((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y)))) { - return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) - + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y))); - } - var_f31 = fn_1_98A4(*arg0, *arg1, *arg2); - fn_1_97CC(*arg1, *arg2, &sp44, var_f31); - return ((arg0->z - sp44.z) * (arg0->z - sp44.z)) + (((arg0->x - sp44.x) * (arg0->x - sp44.x)) + ((arg0->y - sp44.y) * (arg0->y - sp44.y))); -} +// float fn_1_9960(Vec *arg0, Vec *arg1, Vec *arg2) +// { +// float sp4C; +// float sp48; +// float sp44; +// float sp40; +// float sp3C; +// float sp38; +// float sp34; +// float sp30; +// float sp2C; +// float sp28; +// float sp24; +// float sp20; +// float sp1C; +// float sp18; +// float sp14; +// float sp10; +// float spC; +// float sp8; +// float var_f27; +// float var_f28; +// float var_f29; +// float var_f30; +// float var_f31; -f32 fn_1_9C9C(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, Vec *arg4) -{ - f32 sp44; - f32 sp40; - f32 sp3C; - f32 sp38; - f32 sp34; - f32 sp30; - f32 sp2C; - f32 sp28; - f32 sp24; - Vec sp18; - f32 sp14; - f32 sp10; - f32 spC; - f32 sp8; - f32 temp_f25; - f32 temp_f26; - f32 temp_f28; - f32 var_f24; - f32 var_f27; - f64 temp_f31; - f64 temp_f31_2; - f64 temp_f31_3; +// if (((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y))) == 0.0f) { +// return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) +// + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y))); +// } +// sp38 = arg0->x; +// sp3C = arg0->y; +// sp40 = arg0->z; +// sp2C = arg1->x; +// sp30 = arg1->y; +// sp34 = arg1->z; +// sp20 = arg2->x; +// sp24 = arg2->y; +// sp28 = arg2->z; +// var_f30 = (sp28 * (sp34 - sp40)) + ((sp20 * (sp2C - sp38)) + (sp24 * (sp30 - sp3C))); +// var_f29 = -((sp28 * sp28) + ((sp20 * sp20) + (sp24 * sp24))); +// if (var_f29 != 0.0f) { +// var_f30 /= var_f29; +// } +// var_f27 = var_f30; +// var_f28 = var_f27; +// var_f31 = var_f28; +// sp8 = arg2->x; +// spC = arg2->y; +// sp10 = arg2->z; +// sp14 = arg1->x; +// sp18 = arg1->y; +// sp1C = arg1->z; +// if (var_f31 <= 0.0f) { +// sp44 = sp14; +// sp48 = sp18; +// sp4C = sp1C; +// var_f31 = 0.0f; +// } +// else if (var_f31 >= 1.0f) { +// sp44 = sp14 + sp8; +// sp48 = sp18 + spC; +// sp4C = sp1C + sp10; +// var_f31 = 1.0f; +// } +// else { +// sp44 = sp14 + (var_f31 * sp8); +// sp48 = sp18 + (var_f31 * spC); +// sp4C = sp1C + (var_f31 * sp10); +// } +// return ((arg0->z - sp4C) * (arg0->z - sp4C)) + (((arg0->x - sp44) * (arg0->x - sp44)) + ((arg0->y - sp48) * (arg0->y - sp48))); +// } - if (0.0f == ((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y)))) { - return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) - + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y))); - } - var_f27 = fn_1_98A4(*arg0, *arg1, *arg2); - fn_1_97CC(*arg1, *arg2, arg3, var_f27); - arg4->x = (arg0->x - arg3->x); - arg4->y = (arg0->y - arg3->y); - arg4->z = (arg0->z - arg3->z); +// float fn_1_9C9C(void *arg0, void *arg1, void *arg2, void *arg3, void *arg4) +// { +// float sp44; +// float sp40; +// float sp3C; +// float sp38; +// float sp34; +// float sp30; +// float sp2C; +// float sp28; +// float sp24; +// float sp20; +// float sp1C; +// float sp18; +// float sp14; +// float sp10; +// float spC; +// float sp8; +// float var_f22; +// float var_f23; +// float var_f24; +// float var_f25; +// float var_f26; +// float var_f27; +// float var_f28; +// float var_f29; +// float var_f30; +// double var_f31; - return fn_1_9634(arg4); -} +// if (((arg2->unk_08 * arg2->unk_08) + ((arg2->unk_00 * arg2->unk_00) + (arg2->unk_04 * arg2->unk_04))) == 0.0f) { +// return ((arg0->unk_08 - arg1->unk_08) * (arg0->unk_08 - arg1->unk_08)) +// + (((arg0->unk_00 - arg1->unk_00) * (arg0->unk_00 - arg1->unk_00)) + ((arg0->unk_04 - arg1->unk_04) * (arg0->unk_04 - +// arg1->unk_04))); +// } +// sp3C = arg0->unk_00; +// sp40 = arg0->unk_04; +// sp44 = arg0->unk_08; +// sp30 = arg1->unk_00; +// sp34 = arg1->unk_04; +// sp38 = arg1->unk_08; +// sp24 = arg2->unk_00; +// sp28 = arg2->unk_04; +// sp2C = arg2->unk_08; +// var_f27 = (sp2C * (sp38 - sp44)) + ((sp24 * (sp30 - sp3C)) + (sp28 * (sp34 - sp40))); +// var_f25 = -((sp2C * sp2C) + ((sp24 * sp24) + (sp28 * sp28))); +// if (var_f25 != 0.0f) { +// var_f27 /= var_f25; +// } +// var_f22 = var_f27; +// var_f23 = var_f22; +// var_f30 = var_f23; +// spC = arg2->unk_00; +// sp10 = arg2->unk_04; +// sp14 = arg2->unk_08; +// sp18 = arg1->unk_00; +// sp1C = arg1->unk_04; +// sp20 = arg1->unk_08; +// if (var_f30 <= 0.0f) { +// arg3->unk_00 = sp18; +// arg3->unk_04 = sp1C; +// arg3->unk_08 = sp20; +// var_f30 = 0.0f; +// } +// else if (var_f30 >= 1.0f) { +// arg3->unk_00 = sp18 + spC; +// arg3->unk_04 = sp1C + sp10; +// arg3->unk_08 = sp20 + sp14; +// var_f30 = 1.0f; +// } +// else { +// arg3->unk_00 = sp18 + (var_f30 * spC); +// arg3->unk_04 = sp1C + (var_f30 * sp10); +// arg3->unk_08 = sp20 + (var_f30 * sp14); +// } +// arg4->unk_00 = arg0->unk_00 - arg3->unk_00; +// arg4->unk_04 = arg0->unk_04 - arg3->unk_04; +// arg4->unk_08 = arg0->unk_08 - arg3->unk_08; +// var_f28 = (arg4->unk_08 * arg4->unk_08) + ((arg4->unk_00 * arg4->unk_00) + (arg4->unk_04 * arg4->unk_04)); +// var_f29 = var_f28; +// if (var_f29 > 0.0f) { +// var_f31 = __frsqrte(var_f29); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f29 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f29 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f29 * (var_f31 * var_f31))); +// sp8 = var_f29 * var_f31; +// var_f24 = sp8; +// } +// else { +// var_f24 = var_f29; +// } +// var_f28 = var_f24; +// if (var_f28 != 0.0f) { +// var_f26 = 1.0f / var_f28; +// arg4->unk_00 = arg4->unk_00 * var_f26; +// arg4->unk_04 = arg4->unk_04 * var_f26; +// arg4->unk_08 = arg4->unk_08 * var_f26; +// } +// else { +// arg4->unk_08 = 0.0f; +// arg4->unk_04 = 0.0f; +// arg4->unk_00 = 0.0f; +// } +// return var_f28; +// } -f32 fn_1_A14C(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3) -{ - f32 temp_f31; - f32 var_f30; - f32 var_f29; - f32 var_f28; - f32 var_f27; - f32 var_f26; - s32 var_r31; - s32 var_r30; - s32 var_r29; +// float fn_1_A14C(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3) +// { +// float var_f23; +// float var_f24; +// float var_f25; +// float var_f26; +// float var_f27; +// float var_f28; +// float var_f29; +// float var_f30; +// float var_f31; +// s32 var_r29; +// s32 var_r30; +// s32 var_r31; - var_f30 = -1.0f; - var_r31 = 0; - - var_f28 = BOARD_FABS(arg3->x); - var_f27 = BOARD_FABS(arg3->y); - var_f26 = BOARD_FABS(arg3->z); - if (var_f28 >= var_f27) { - if (var_f28 >= var_f26) { - var_r30 = 1; - } - else { - var_r30 = 0x100; - } - var_r31 = var_r30; - } - else { - if (var_f27 >= var_f26) { - var_r29 = 0x10; - } - else { - var_r29 = 0x100; - } - var_r31 = var_r29; - } - if ((var_r31 & 3) != 0) { - if ((0.0f != arg1->x) || (0.0f != arg1->z)) { - if (0.0f == (temp_f31 = (arg3->x * arg1->z) - (arg3->z * arg1->x))) { - return var_f30; - } - var_f29 = ((arg3->z * (arg0->x - arg2->x)) - (arg3->x * (arg0->z - arg2->z))) / temp_f31; - } - else if (0.0f == (temp_f31 = (arg3->y * arg1->x) - (arg3->x * arg1->y))) { - return var_f30; - } - else { - var_f29 = ((arg3->x * (arg0->y - arg2->y)) - (arg3->y * (arg0->x - arg2->x))) / temp_f31; - } - } - else if ((var_r31 & 0x30) != 0) { - if ((0.0f != arg1->x) || (0.0f != arg1->y)) { - if (0.0f == (temp_f31 = (arg3->y * arg1->x) - (arg3->x * arg1->y))) { - return var_f30; - } - var_f29 = ((arg3->x * (arg0->y - arg2->y)) - (arg3->y * (arg0->x - arg2->x))) / temp_f31; - } - else if (0.0f == (temp_f31 = (arg3->z * arg1->y) - (arg3->y * arg1->z))) { - return var_f30; - } - else { - var_f29 = ((arg3->y * (arg0->z - arg2->z)) - (arg3->z * (arg0->y - arg2->y))) / temp_f31; - } - } - else if ((0.0f != arg1->x) || (0.0f != arg1->z)) { - if (0.0f == (temp_f31 = (arg3->x * arg1->z) - (arg3->z * arg1->x))) { - return var_f30; - } - var_f29 = ((arg3->z * (arg0->x - arg2->x)) - (arg3->x * (arg0->z - arg2->z))) / temp_f31; - } - else if (0.0f == (temp_f31 = (arg3->z * arg1->y) - (arg3->y * arg1->z))) { - return var_f30; - } - else { - var_f29 = ((arg3->y * (arg0->z - arg2->z)) - (arg3->z * (arg0->y - arg2->y))) / temp_f31; - } - return var_f29; -} +// var_f30 = -1.0f; +// var_r31 = 0; +// if (arg3->unk_00 < 0.0f) { +// var_f25 = -arg3->unk_00; +// } +// else { +// var_f25 = arg3->unk_00; +// } +// var_f28 = var_f25; +// if (arg3->unk_04 < 0.0f) { +// var_f24 = -arg3->unk_04; +// } +// else { +// var_f24 = arg3->unk_04; +// } +// var_f27 = var_f24; +// if (arg3->unk_08 < 0.0f) { +// var_f23 = -arg3->unk_08; +// } +// else { +// var_f23 = arg3->unk_08; +// } +// var_f26 = var_f23; +// if (var_f28 >= var_f27) { +// if (var_f28 >= var_f26) { +// var_r30 = 1; +// } +// else { +// var_r30 = 0x100; +// } +// var_r31 = var_r30; +// } +// else { +// if (var_f27 >= var_f26) { +// var_r29 = 0x10; +// } +// else { +// var_r29 = 0x100; +// } +// var_r31 = var_r29; +// } +// if ((var_r31 & 3) != 0) { +// if ((arg1->x != 0.0f) || (arg1->z != 0.0f)) { +// var_f31 = (arg3->unk_00 * arg1->z) - (arg3->unk_08 * arg1->x); +// if (var_f31 == 0.0f) { +// return -1.0f; +// } +// var_f29 = ((arg3->unk_08 * (arg0->x - arg2->x)) - (arg3->unk_00 * (arg0->z - arg2->z))) / var_f31; +// goto block_44; +// } +// var_f31 = (arg3->unk_04 * arg1->x) - (arg3->unk_00 * arg1->y); +// if (var_f31 == 0.0f) { +// return -1.0f; +// } +// var_f29 = ((arg3->unk_00 * (arg0->y - arg2->y)) - (arg3->unk_04 * (arg0->x - arg2->x))) / var_f31; +// goto block_44; +// } +// if ((var_r31 & 0x30) != 0) { +// if ((arg1->x != 0.0f) || (arg1->y != 0.0f)) { +// var_f31 = (arg3->unk_04 * arg1->x) - (arg3->unk_00 * arg1->y); +// if (var_f31 == 0.0f) { +// return -1.0f; +// } +// var_f29 = ((arg3->unk_00 * (arg0->y - arg2->y)) - (arg3->unk_04 * (arg0->x - arg2->x))) / var_f31; +// goto block_44; +// } +// var_f31 = (arg3->unk_08 * arg1->y) - (arg3->unk_04 * arg1->z); +// if (var_f31 == 0.0f) { +// return -1.0f; +// } +// var_f29 = ((arg3->unk_04 * (arg0->z - arg2->z)) - (arg3->unk_08 * (arg0->y - arg2->y))) / var_f31; +// goto block_44; +// } +// if ((arg1->x != 0.0f) || (arg1->z != 0.0f)) { +// var_f31 = (arg3->unk_00 * arg1->z) - (arg3->unk_08 * arg1->x); +// if (var_f31 == 0.0f) { +// return -1.0f; +// } +// var_f29 = ((arg3->unk_08 * (arg0->x - arg2->x)) - (arg3->unk_00 * (arg0->z - arg2->z))) / var_f31; +// goto block_44; +// } +// var_f31 = (arg3->unk_08 * arg1->y) - (arg3->unk_04 * arg1->z); +// if (var_f31 == 0.0f) { +// return -1.0f; +// } +// var_f29 = ((arg3->unk_04 * (arg0->z - arg2->z)) - (arg3->unk_08 * (arg0->y - arg2->y))) / var_f31; +// block_44: +// return var_f29; +// } void fn_1_A60C(omObjData *object) { @@ -2810,363 +3348,330 @@ void fn_1_A60C(omObjData *object) object->func = fn_1_A688; } -u32 lbl_1_data_510 = 0x41C64E6D; - void fn_1_A688(omObjData *object) { } -Vec lbl_1_data_514 = { -850.0f, 0.0f, -850.0f }; -s32 lbl_1_data_520[25] = { - -0x62, - -0x61, - -0x60, - -0x5F, - -0x5E, - -0x32, - -0x31, - -0x30, - -0x2F, - -0x2E, - -0x2, - -0x1, - 0x0, - 0x1, - 0x2, - 0x2E, - 0x2F, - 0x30, - 0x31, - 0x32, - 0x5E, - 0x5F, - 0x60, - 0x61, - 0x62, -}; +// void fn_1_A68C(ModelData *model, Mtx matrix) +// { +// Vec sp14; +// Vec sp8; +// ? *var_r30; +// float var_f31; +// omObjData *var_r27; +// s32 var_r24; +// s32 var_r28; +// s32 var_r29; +// u8 *var_r26; +// void *var_r25; +// void *var_r31; -u32 lbl_1_data_584[25] = { - 0x50, - 0x64, - 0x78, - 0x64, - 0x50, - 0x64, - 0x8C, - 0xA0, - 0x8C, - 0x64, - 0x78, - 0xA0, - 0xB4, - 0xA0, - 0x78, - 0x64, - 0x8C, - 0xA0, - 0x8C, - 0x64, - 0x50, - 0x64, - 0x78, - 0x64, - 0x50, -}; +// if (omPauseChk() == 0) { +// memset(lbl_1_bss_DBC->data, 0, 0x900); +// if (lbl_1_bss_DBA == 7) { +// for (var_r30 = &lbl_1_bss_298; var_r29 = 0; var_r30 < 0x30; var_r29++; var_r30 += 0x30) { +// if ((var_r30->unk_00 > 1) && (var_r30->unk_00 < 5)) { +// var_f31 = 0.0f; +// for (var_f31 = 0.0f; var_f31 < (35.416668f + var_r30->unk_14); var_f31 += 35.416668f) { +// PSVECScale(var_r30 + 0x24, &sp8, var_f31); +// PSVECAdd(var_r30 + 0x18, &sp8, &sp14); +// PSVECSubtract(&sp14, &lbl_1_data_514, &sp14); +// var_r24 = (0.028235294f * sp14.z) * 0x30; +// var_r25 = (0.028235294f * sp14) + var_r24; +// var_r25 += lbl_1_bss_DBC->data; +// for (var_r28 = 0; var_r28 < 0x19; var_r28++) { +// var_r26 = var_r25 + lbl_1_data_520[var_r28]; +// if (*var_r26 < lbl_1_data_584[var_r28]) { +// *var_r26 = lbl_1_data_584[var_r28]; +// } +// } +// } +// } +// } +// for (var_r29 = 0; var_r29 < 4; var_r29++) { +// if (lbl_1_bss_DC4[var_r29] != NULL) { +// var_r27 = lbl_1_bss_DC4[var_r29]; +// var_r31 = var_r27->data; +// if ((var_r31 != NULL) && (var_r31->unk_68 != 0)) { +// var_r31->unk_68 = 0; +// PSVECAdd(var_r31 + 0x6C, var_r31 + 0x4C, &sp14); +// var_r31->unk_64 = fn_1_AE18(var_r27->work[0], &sp14, var_r31 + 0x58); +// } +// } +// } +// } +// } +// } -#define getData(v, off) \ - &(&(*OM_GET_DATA_PTR(lbl_1_bss_DBC, M438UnkType))[(u32)(0.028235294f * (v.x - off))])[(u32)(0.028235294f * (v.z - off)) * 0x30] +// u16 fn_1_A8FC(Vec *arg0, float arg8) +// { +// s32 sp34; +// float sp30; +// s32 sp2C; +// Vec sp20; +// Vec sp14; +// float sp10; +// float spC; +// float sp8; +// Vec *var_r29; +// float var_f25; +// float var_f28; +// float var_f29; +// float var_f30; +// float var_f31; +// double var_f26; +// double var_f27; +// s32 var_r28; +// u16 var_r30; +// u8 temp_r0; +// void *var_r31; -void fn_1_A68C(ModelData *model, Mtx matrix) -{ - Vec sp14; - Vec sp8; - M438StructBss298 *var_r30; - f32 var_f31; - omObjData *temp_r27; - s32 var_r28; - s32 var_r29; - u8 *temp_r26; - u8 *var_r25; - M438MainWork *temp_r31; +// var_r29 = arg0; +// var_f25 = arg8; +// var_r30 = 0; +// var_r28 = 0; +// var_f28 = 100.0f * (4.5f - (2.0f * var_f25)); +// var_f31 = PSVECMag(var_r29); +// if (var_f31 > 280.0f) { +// if (var_f31 > 560.0f) { +// var_r28 = 1; +// PSVECNormalize(var_r29, &sp14); +// } +// var_f31 -= 280.0f; +// var_f31 *= 0.12987013f; +// if (var_f31 > 50.0f) { +// var_f31 = 500.0f; +// } +// var_r30 = var_f31; +// } +// if (lbl_1_bss_DBA == 7) { +// var_r31 = lbl_1_bss_DC0->data; +// sp2C = var_r31->unk_34; +// sp30 = var_r31->unk_38; +// sp34 = var_r31->unk_3C; +// sp30 = 0.0f; +// temp_r0 = var_r31->unk_00; +// if (temp_r0 < 4) { +// if (temp_r0 < 2) { +// goto block_18; +// } +// sp8 = sind(var_r31->unk_08); +// spC = 0.0f; +// sp10 = cosd(var_r31->unk_08); +// PSVECScale(&sp8, &sp20, 600.0f + (100.0f * (8.0f * var_f25))); +// var_f30 = fn_1_B440(var_r29, &sp2C, &sp20); +// if ((var_f30 > -0.2f) && (var_f30 < 1.0f)) { +// PSVECScale(&sp20, &sp20, var_f30); +// PSVECAdd(&sp2C, &sp20, &sp2C); +// PSVECSubtract(&sp2C, var_r29, &sp20); +// var_f31 = PSVECMag(&sp20); +// if (var_f31 < var_f28) { +// var_f29 = 0.0f; +// if (var_r28 != 0) { +// var_f29 = PSVECDotProduct(&sp14, &sp8); +// var_f27 = fabs(var_f29); +// var_f29 = 1.0 - var_f27; +// var_f29 = var_f29; +// } +// var_f31 = (1.0f / var_f28) * (var_f28 - var_f31); +// var_f31 = 0.5f * (var_f31 + (1.0f - ((1.0f - var_f31) * (1.0f - var_f31)))); +// var_f31 += (1.0f - var_f31) * var_f29; +// var_f31 = 100.0f + (50.0f * var_f31); +// var_f26 = fabs(var_f30); +// var_f30 = 0.5 + (0.5 * (1.0 - var_f26)); +// var_f30 = var_f30; +// var_f31 *= var_f30; +// if (var_f31 > 150.0f) { +// var_f31 = 150.0f; +// } +// var_r30 = var_r30 + var_f31; +// } +// } +// } +// else { +// block_18: +// PSVECSubtract(var_r29, &sp2C, &sp20); +// var_f31 = PSVECMag(&sp20); +// if (var_f31 < 600.0f) { +// var_f31 = 800.0f - var_f31; +// var_f31 = 20.0f + (0.1f * var_f31); +// if (var_f31 > 100.0f) { +// var_f31 = 100.0f; +// } +// var_r30 = var_r30 + var_f31; +// } +// } +// } +// return var_r30; +// } - if ((u8)omPauseChk() == 0) { - memset(lbl_1_bss_DBC->data, 0, 0x900); - if (lbl_1_bss_DBA == 7) { - var_r30 = lbl_1_bss_298; - for (var_r29 = 0; var_r29 < 0x30; var_r29++, var_r30++) { - if ((var_r30->unk_00 > 1U) && (var_r30->unk_00 < 5U)) { +// s32 fn_1_AE18(u32 arg0, Vec *arg1, Vec *arg2) +// { +// Vec sp4C; +// float sp48; +// float sp44; +// float sp40; +// Vec sp34; +// float sp30; +// float sp2C; +// s32 sp28; +// Vec sp1C; +// void *sp18; +// u32 sp14; +// u32 sp10; +// Vec *spC; +// u32 sp8; +// Vec *var_r20; +// float temp_r0; +// float temp_r3; +// float var_f22; +// float var_f23; +// float var_f24; +// float var_f25; +// float var_f26; +// float var_f27; +// float var_f28; +// float var_f29; +// float var_f30; +// float var_f31; +// s32 var_r18; +// s32 var_r23; +// s32 var_r26; +// s32 var_r28; +// s32 var_r30; +// u16 *var_r21; +// u16 *var_r27; +// u16 var_r31; +// u32 temp_r3_2; +// u32 var_r19; +// u32 var_r29; +// u8 *var_r24; +// void *var_r17; +// void *var_r22; +// void *var_r25; - var_f31 = 0.0f; - for (var_f31 = 0.0f; var_f31 < (35.416668f + var_r30->unk_14); var_f31 += 35.416668f) { - VECScale(&var_r30->unk_24, &sp8, var_f31); - VECAdd(&var_r30->unk_18, &sp8, &sp14); - VECSubtract(&sp14, &lbl_1_data_514, &sp14); +// sp8 = arg0; +// spC = arg1; +// var_r20 = arg2; +// memset(lbl_1_bss_C, 0, 0x288); +// temp_r3 = arg1->x; +// sp40 = temp_r3; +// sp44 = arg1->y; +// temp_r0 = arg1->z; +// sp48 = temp_r0; +// temp_r3_2 = 0.028235294f * (sp40 - -850.0f); +// sp10 = temp_r3_2; +// sp14 = 0.028235294f * (sp48 - -850.0f); +// var_r17 = temp_r3_2 + (sp14 * 0x30); +// var_r17 += lbl_1_bss_DBC->data; +// sp44 = 0.0f; +// var_r20->x = temp_r3; +// var_r20->y = sp44; +// var_r20->z = temp_r0; +// var_r25 = lbl_1_bss_DC4[sp8]->data; +// var_f28 = var_r25->unk_3C; +// var_r19 = 0x2710; +// var_r18 = 0; +// for (var_r30 = 0; var_r30 < 9; var_r30++) { +// PSVECAdd(&sp40, &lbl_1_data_60C[var_r30], &sp34); +// sp18 = var_r17 + lbl_1_data_5E8[var_r30]; +// var_r21 = &lbl_1_bss_C[lbl_1_data_708[var_r30]] + 0x156; +// var_f31 = 0.0f; +// var_r29 = 0; +// var_r22 = sp18; +// sp28 = sp34; +// sp2C = sp34.y; +// sp30 = sp34.z; +// for (var_r23 = 0; var_r23 < 3; var_r23++) { +// for (var_r28 = 0; var_r28 < 9; var_r28++) { +// var_r24 = var_r22 + lbl_1_data_5E8[var_r28]; +// PSVECAdd(&sp28, &lbl_1_data_60C[var_r28], &sp4C); +// if ((lbl_1_bss_DBC->data <= var_r24) && ((lbl_1_bss_DBC->data + 0x900) > var_r24)) { +// var_f27 = sp4C; +// var_f25 = fabs(var_f27); +// var_f24 = var_f25; +// if (var_f24 < 850.0) { +// var_f26 = sp4C.z; +// var_f23 = fabs(var_f26); +// var_f22 = var_f23; +// if (var_f22 < 850.0) { +// var_f31 += 1.0f; +// var_r27 = &var_r21[lbl_1_data_708[var_r28]]; +// if (*var_r27 == 0) { +// var_r31 = fn_1_A8FC(&sp4C, var_f28); +// var_r31 += *var_r24; +// var_f29 = 0.0f; +// if (var_r31 < 0x3C) { +// var_f29 = 0.016666668f * (0x3C - var_r31); +// } +// var_f29 = 80.0f + (100.0f * (2.5f * var_f29)); +// for (var_r26 = 0; var_r26 < 4; var_r26++) { +// if (var_r26 != sp8) { +// var_r25 = lbl_1_bss_DC4[var_r26]->data; +// PSVECSubtract(&sp4C, var_r25 + 0x6C, &sp1C); +// sp1C.y = 0.0f; +// var_f30 = PSVECMag(&sp1C); +// if (var_f30 < var_f29) { +// var_f30 = var_f29 - var_f30; +// var_f30 *= 40.0f / var_f29; +// var_r31 = var_r31 + var_f30; +// } +// } +// } +// var_r31++; +// *var_r27 = var_r31; +// } +// else { +// var_r31 = *var_r27; +// } +// var_r29 += var_r31; +// if ((var_r28 == 0) && (var_r23 == 0)) { +// var_r29 += var_r31 * 3; +// var_f31 += 3.0f; +// } +// } +// } +// } +// } +// PSVECAdd(&sp28, &lbl_1_data_69C[var_r30], &sp28); +// var_r22 += lbl_1_data_678[var_r30]; +// var_r21 = &var_r21[lbl_1_data_72C[var_r30]]; +// var_f31 *= 2.0f; +// var_r29 = var_r29 * 2.0f; +// } +// if (var_f31 > 1.0f) { +// var_r29 = var_r29 / var_f31; +// } +// if (var_r19 > var_r29) { +// var_r18 = var_r30; +// var_r19 = var_r29; +// var_r20->x = sp34; +// var_r20->y = sp34.y; +// var_r20->z = sp34.z; +// } +// (&sp58[0])[var_r30] = var_r29; +// } +// if (var_r18 != 0) { +// return 1; +// } +// return 0; +// } - // @todo make this look nicer - // var_r25 = getData(sp14, 0); - var_r25 = getData(sp14, 0); - for (var_r28 = 0; var_r28 < 0x19; var_r28++) { - temp_r26 = &var_r25[lbl_1_data_520[var_r28]]; - if (temp_r26[0] < lbl_1_data_584[var_r28]) { - temp_r26[0] = lbl_1_data_584[var_r28]; - } - } - } - } - } - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if ((omObjData *)lbl_1_bss_DC4[var_r29]) { - temp_r27 = lbl_1_bss_DC4[var_r29]; - temp_r31 = temp_r27->data; - if ((temp_r31) && (temp_r31->unk_68 != 0)) { - temp_r31->unk_68 = 0; - VECAdd(&temp_r31->unk_6C, &temp_r31->unk_4C, &sp14); - temp_r31->unk_64 = fn_1_AE18(temp_r27->work[0], temp_r31->unk_7C, &sp14, &temp_r31->unk_58); - } - } - } - } - } -} +// float fn_1_B440(Vec *arg0, Vec *arg1, Vec *arg2) +// { +// Vec sp10; +// Vec *spC; +// Vec *sp8; +// Vec *var_r31; +// float var_f30; +// float var_f31; -u32 fn_1_A8FC(Vec *arg0, f32 arg8) -{ - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - f32 var_f31; - f32 var_f30; - f32 var_f29; - f32 temp_f28; - s32 var_r28; - u32 var_r30; - M438MainWork4 *temp_r31; - - var_r30 = 0; - var_r28 = 0; - temp_f28 = 100.0f * (4.5f - (2.0f * arg8)); - var_f31 = VECMag(arg0); - if (var_f31 > 280.0f) { - if (var_f31 > 560.0f) { - var_r28 = 1; - VECNormalize(arg0, &sp14); - } - var_f31 -= 280.0f; - var_f31 *= 0.12987013f; - if (var_f31 > 50.0f) { - var_f31 = 500.0f; - } - var_r30 = var_f31; - } - if (lbl_1_bss_DBA == 7) { - temp_r31 = lbl_1_bss_DC0->data; - sp2C = temp_r31->unk_34; - sp2C.y = 0.0f; - switch (temp_r31->unk_00) { - case 2: - case 3: - sp8.x = sind(temp_r31->unk_08); - sp8.y = 0.0f; - sp8.z = cosd(temp_r31->unk_08); - VECScale(&sp8, &sp20, 600.0f + (100.0f * (8.0f * arg8))); - var_f30 = fn_1_B440(arg0, &sp2C, &sp20); - if (var_f30 > -0.2f && var_f30 < 1.0f) { - VECScale(&sp20, &sp20, var_f30); - VECAdd(&sp2C, &sp20, &sp2C); - VECSubtract(&sp2C, arg0, &sp20); - var_f31 = VECMag(&sp20); - if (var_f31 < temp_f28) { - var_f29 = 0.0f; - if (var_r28 != 0) { - var_f29 = VECDotProduct(&sp14, &sp8); - var_f29 = 1.0 - fabs(var_f29); - } - var_f31 = (1.0f / temp_f28) * (temp_f28 - var_f31); - var_f31 = 0.5f * (var_f31 + (1.0f - ((1.0f - var_f31) * (1.0f - var_f31)))); - var_f31 += (1.0f - var_f31) * var_f29; - var_f31 = 100.0f + 50.0f * var_f31; - var_f30 = 0.5 + 0.5 * (1.0 - fabs(var_f30)); - var_f31 *= var_f30; - if (var_f31 > 150.0f) { - var_f31 = 150.0f; - } - var_r30 += var_f31; - } - } - break; - default: - VECSubtract(arg0, &sp2C, &sp20); - var_f31 = VECMag(&sp20); - if (var_f31 < 600.0f) { - var_f31 = 800.0f - var_f31; - var_f31 = 20.0f + (0.1f * var_f31); - if (var_f31 > 100.0f) { - var_f31 = 100.0f; - } - var_r30 += var_f31; - } - break; - } - } - return var_r30; -} - -s32 lbl_1_data_5E8[9] = { 0, -49, -48, -47, -1, 1, 0x2F, 0x30, 0x31 }; - -Vec lbl_1_data_60C[9] = { - { 0.0f, 0.0f, 0.0f }, - { -35.416668f, 0.0f, -35.416668f }, - { 0.0f, 0.0f, -35.416668f }, - { 35.416668f, 0.0f, -35.416668f }, - { -35.416668f, 0.0f, 0.0f }, - { 35.416668f, 0.0f, 0.0f }, - { -35.416668f, 0.0f, 35.416668f }, - { 0.0f, 0.0f, 35.416668f }, - { 35.416668f, 0.0f, 35.416668f }, -}; - -s32 lbl_1_data_678[9] = { 0, -98, -144, -94, -3, 3, 0x5E, 0x90, 0x62 }; - -Vec lbl_1_data_69C[9] = { - { 0.0f, 0.0f, 0.0f }, - { -70.833336f, 0.0f, -70.833336f }, - { 0.0f, 0.0f, -106.25f }, - { 70.833336f, 0.0f, -70.833336f }, - { -106.25f, 0.0f, 0.0f }, - { 106.25f, 0.0f, 0.0f }, - { -70.833336f, 0.0f, 70.833336f }, - { 0.0f, 0.0f, 106.25f }, - { 70.833336f, 0.0f, 70.833336f }, -}; - -s32 lbl_1_data_708[9] = { 0, -19, -18, -17, -1, 1, 0x11, 0x12, 0x13 }; -s32 lbl_1_data_72C[9] = { 0, -38, -54, -34, -3, 3, 0x22, 0x36, 0x26 }; - -s32 fn_1_AE18(u32 arg0, f32 arg8, Vec *arg1, Vec *arg2) -{ - s32 sp58[9]; - Vec sp4C; - Vec sp40; - Vec sp34; - Vec sp28; - Vec sp1C; - u8 *sp18; - u32 sp14; - u32 sp10; - f32 var_f31; - f32 var_f30; - f32 var_f29; - f32 temp_f28; - s32 var_r31; - s32 var_r30; - u32 var_r29; - s32 var_r28; - u16 *temp_r27; - s32 var_r26; - M438MainWork *var_r25; - u8 *temp_r24; - s32 var_r23; - u8 *var_r22; - u16 *var_r21; - u32 var_r19; - u32 var_r18; - u8 *temp_r17; - - memset(lbl_1_bss_C, 0, 0x288); - sp40 = *arg1; - sp10 = 0.028235294f * (sp40.x - -850.0f); - sp14 = 0.028235294f * (sp40.z - -850.0f); - temp_r17 = &(&(*OM_GET_DATA_PTR(lbl_1_bss_DBC, M438UnkType))[sp10])[sp14 * 0x30]; - sp40.y = 0.0f; - *arg2 = sp40; - var_r25 = lbl_1_bss_DC4[arg0]->data; - temp_f28 = var_r25->unk_3C; - var_r19 = 0x2710; - var_r18 = 0; - - for (var_r30 = 0; var_r30 < 9; var_r30++) { - VECAdd(&sp40, &lbl_1_data_60C[var_r30], &sp34); - sp18 = temp_r17 + lbl_1_data_5E8[var_r30]; - (void)temp_r17; - var_r21 = &(&lbl_1_bss_C[lbl_1_data_708[var_r30]])[0xAB]; - var_f31 = 0.0f; - var_r29 = 0; - var_r22 = sp18; - sp28 = sp34; - - for (var_r23 = 0; var_r23 < 3; var_r23++) { - for (var_r28 = 0; var_r28 < 9; var_r28++) { - temp_r24 = var_r22 + lbl_1_data_5E8[var_r28]; - VECAdd(&sp28, &lbl_1_data_60C[var_r28], &sp4C); - if ((lbl_1_bss_DBC->data <= temp_r24) - && (((u8 *)lbl_1_bss_DBC->data + 0x900 > temp_r24) && (fabs(sp4C.x) < 850.0) && (fabs(sp4C.z) < 850.0))) { - var_f31++; - temp_r27 = &var_r21[lbl_1_data_708[var_r28]]; - if (*temp_r27 == 0) { - var_r31 = fn_1_A8FC(&sp4C, temp_f28); - var_r31 += *temp_r24; - var_f29 = 0.0f; - if (var_r31 < 0x3C) { - var_f29 = (1.0f / 60.0f) * (0x3C - var_r31); - } - var_f29 = 80.0f + (100.0f * (2.5f * var_f29)); - for (var_r26 = 0; var_r26 < 4; var_r26++) { - if (var_r26 != arg0) { - var_r25 = lbl_1_bss_DC4[var_r26]->data; - VECSubtract(&sp4C, &var_r25->unk_6C, &sp1C); - sp1C.y = 0.0f; - var_f30 = VECMag(&sp1C); - if (var_f30 < var_f29) { - var_f30 = var_f29 - var_f30; - var_f30 *= (40.0f / var_f29); - var_r31 += var_f30; - } - } - } - *temp_r27 = ++var_r31; - } - else { - var_r31 = *temp_r27; - } - var_r29 += var_r31; - if ((var_r28 == 0) && (var_r23 == 0)) { - var_r29 += var_r31 * 3; - var_f31 += 3.0f; - } - } - } - VECAdd(&sp28, &lbl_1_data_69C[var_r30], &sp28); - var_r22 += lbl_1_data_678[var_r30]; - var_r21 = &var_r21[lbl_1_data_72C[var_r30]]; - var_f31 *= 2.0f; - var_r29 *= 2.0f; - } - if (var_f31 > 1.0f) { - var_r29 /= var_f31; - } - if (var_r19 > var_r29) { - var_r18 = var_r30; - var_r19 = var_r29; - *arg2 = sp34; - } - sp58[var_r30] = var_r29; - } - if (var_r18 != 0) { - return 1; - } - return 0; -} - -f32 fn_1_B440(Vec *arg0, Vec *arg1, Vec *arg2) -{ - Vec sp10; - f32 temp_f30; - f32 var_f31; - - VECSubtract(arg1, arg0, &sp10); - var_f31 = VECDotProduct(&sp10, arg2); - temp_f30 = -VECSquareMag(arg2); - if (temp_f30 != 0.0f) { - var_f31 /= temp_f30; - } - return var_f31; -} +// sp8 = arg0; +// spC = arg1; +// var_r31 = arg2; +// PSVECSubtract(spC, sp8, &sp10); +// var_f31 = PSVECDotProduct(&sp10, var_r31); +// var_f30 = -PSVECSquareMag(var_r31); +// if (var_f30 != 0.0f) { +// var_f31 /= var_f30; +// } +// return var_f31; +// } diff --git a/src/REL/m438Dll/map.c b/src/REL/m438Dll/map.c index ea4ba2d0..e69de29b 100644 --- a/src/REL/m438Dll/map.c +++ b/src/REL/m438Dll/map.c @@ -1,705 +0,0 @@ -#include "REL/m438Dll.h" - -#include "ext_math.h" -#include "game/hsfanim.h" -#include "game/hsfmotion.h" -#include "game/sprite.h" -#include "game/wipe.h" -#include "string.h" - - -// STRUCT -typedef struct M438MapStruct { - s32 unk0; - s32 unk4; - s32 unk8; - Vec unkC; - f32 unk18; - f32 unk1C; - f32 unk20; -} M438MapStruct; - -typedef struct M438MapStruct2 { - s32 unk0; - s32 unk4; - f32 unk8; - f32 unkC; - f32 unk10; - f32 unk14; - f32 unk18; - f32 unk1C; - f32 unk20; - Vec unk24; - Vec unk30; - Vec unk3C; - union { - M438MainWork4 *unk48; - HsfObject *unk48o; - }; -} M438MapStruct2; - -typedef struct M438MapStruct3 { - u32 unk0; - M438MapStruct2 unk4; - char unk4C[0x934]; - M438MapStruct unk984; -} M438MapStruct3; - -// BSS -omObjData *lbl_1_bss_108C[6]; -HsfanimStruct01 *lbl_1_bss_E34[0x96]; -s32 lbl_1_bss_E30; -s32 lbl_1_bss_E2C; -s32 lbl_1_bss_E28; - -// DATA -char *lbl_1_data_848[] = { "iwa_s1", "iwa_s2", "iwa_s3", "iwa_s4", "iwa_s5", "iwa_s6", "iwa_s7", "iwa_s8", "iwa_s9", "iwa_s10", "iwa_s11", "iwa_s12", - "iwa_s13", "iwa_s14", "iwa_s15", "iwa_s16", "iwa_s17", "iwa_s18", "iwa_s19", "iwa_s20", "iwa_s21", "iwa_s22", "iwa_s23", "iwa_s24", "iwa_s25", - "iwa_s26", "iwa_s27", "iwa_s28", "iwa_s29", "iwa_s30", "iwa_s31", "iwa_s32" }; - -// PROTO -void fn_1_B54C(omObjData *); -void fn_1_BF20(omObjData *); -void fn_1_CAB0(f32); -void fn_1_C764(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_C8E8(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_D3FC(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_D57C(Vec *, f32); -void fn_1_E034(Mtx, Vec *); - -void fn_1_B4D8(Process *arg0) -{ - omObjData *var_r31; - - lbl_1_bss_E30 = 0; - var_r31 = lbl_1_bss_108C[0] = omAddObjEx(arg0, 0x20, 8, 0, -1, fn_1_B54C); - var_r31->work[0] = 0; -} - -void fn_1_B548(void) { } - -void fn_1_B54C(omObjData *arg0) -{ - Vec sp20; - Vec sp14; - Vec sp8; - s32 var_r30; - s32 var_r29; - HsfObject *var_r26; - s32 var_r27; - M438MapStruct2 *var_r28; - HsfanimStruct01 *var_r25; - M438MapStruct *var_r24; - M438MapStruct3 *temp_r23; - - arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x108C, 0x10000000); - temp_r23 = arg0->data; - memset(temp_r23, 0, 0x108C); - arg0->model[0] = Hu3DModelCreateFile(0x450000); - Hu3DModelLayerSet(arg0->model[0], 0); - Hu3DModelAttrSet(arg0->model[0], 0x40000001); - Hu3DModelShadowMapSet(arg0->model[0]); - arg0->model[1] = Hu3DModelCreateFile(0x450001); - Hu3DModelLayerSet(arg0->model[1], 1); - Hu3DModelPosSet(arg0->model[1], 0.0f, -80.0f, 0.0f); - arg0->model[2] = Hu3DModelCreateFile(0x450002); - Hu3DModelLayerSet(arg0->model[2], 0); - Hu3DModelPosSet(arg0->model[2], 0.0f, -50.0f, 0.0f); - Hu3DModelAttrSet(arg0->model[2], 0x40000001); - Hu3DMotionSpeedSet(arg0->model[2], 0.1f); - var_r29 = Hu3DTexScrollCreate(arg0->model[1], "lavafall"); - Hu3DTexScrollPosMoveSet(var_r29, 0.0f, -0.025000002f, 0.0f); - var_r29 = Hu3DTexScrollCreate(arg0->model[1], "lafall"); - Hu3DTexScrollPosMoveSet(var_r29, 0.0f, -(1.0f / 60.0f), 0.0f); - var_r29 = 0; - - var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x45000C), 0x32); - arg0->model[3] = var_r27; - Hu3DModelLayerSet(var_r27, 3); - Hu3DParticleHookSet(var_r27, fn_1_C764); - for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r29++) { - lbl_1_bss_E34[var_r29] = &((ParticleData *)(Hu3DData[var_r27].unk_120))->unk_48[var_r30]; - } - - var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x45000D), 0x32); - arg0->model[4] = var_r27; - Hu3DModelLayerSet(var_r27, 3); - Hu3DParticleHookSet(var_r27, fn_1_C764); - for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r29++) { - lbl_1_bss_E34[var_r29] = &((ParticleData *)(Hu3DData[var_r27].unk_120))->unk_48[var_r30]; - } - - var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x45000E), 0x32); - arg0->model[5] = var_r27; - Hu3DModelLayerSet(var_r27, 3); - Hu3DParticleHookSet(var_r27, fn_1_C764); - for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r29++) { - lbl_1_bss_E34[var_r29] = &((ParticleData *)(Hu3DData[var_r27].unk_120))->unk_48[var_r30]; - } - for (var_r30 = 0; var_r30 < 0x95; var_r30++) { - for (var_r29 = 1; var_r29 < 0x96; var_r29++) { - if (frandmod(0x3E8) < 0x1C2) { - var_r25 = lbl_1_bss_E34[var_r30]; - lbl_1_bss_E34[var_r30] = lbl_1_bss_E34[var_r29]; - lbl_1_bss_E34[var_r29] = var_r25; - } - } - } - - for (var_r30 = 0; var_r30 < 0x96; var_r30++) { - lbl_1_bss_E34[var_r30]->unk2C = 0.0f; - lbl_1_bss_E34[var_r30]->unk40.a = 0; - lbl_1_bss_E34[var_r30]->unk00 = 0; - } - - var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x45000F), 0x32); - arg0->model[6] = var_r27; - Hu3DModelLayerSet(var_r27, 3); - Hu3DParticleHookSet(var_r27, fn_1_C8E8); - var_r25 = &((ParticleData *)(Hu3DData[var_r27].unk_120))->unk_48[0]; - for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r25++) { - var_r25->unk2C = 0.0f; - var_r25->unk40.a = 0; - var_r25->unk00 = 0; - } - - var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x450010), 0x1F4); - arg0->model[7] = var_r27; - Hu3DModelLayerSet(var_r27, 2); - Hu3DParticleBlendModeSet(var_r27, 1); - Hu3DParticleHookSet(var_r27, fn_1_D3FC); - var_r25 = &((ParticleData *)(Hu3DData[var_r27].unk_120))->unk_48[0]; - for (var_r30 = 0; var_r30 < 0x1F4; var_r30++, var_r25++) { - var_r25->unk2C = 0.0f; - var_r25->unk40.a = 0; - var_r25->unk00 = 0; - } - var_r28 = &temp_r23->unk4; - for (var_r30 = 0; var_r30 < 0x20; var_r30++, var_r28++) { - var_r28->unk0 = 1; - var_r28->unk4 = 0; - var_r28->unkC = var_r28->unk10 = 0.0f; - var_r28->unk14 = var_r28->unk18 = 0.0f; - var_r28->unk1C = var_r28->unk20 = 0.0f; - var_r26 = Hu3DModelObjPtrGet(arg0->model[0], lbl_1_data_848[var_r30]); - var_r28->unk48o = var_r26; - sp14.x = sp14.y = sp14.z = -100000.0f; - sp8.x = sp8.y = sp8.z = 100000.0f; - - for (var_r29 = 0; var_r29 < var_r26->data.vertex->count; var_r29++) { - if (((Vec *)var_r26->data.vertex->data)[var_r29].x > sp14.x) { - sp14.x = ((Vec *)var_r26->data.vertex->data)[var_r29].x; - } - if (((Vec *)var_r26->data.vertex->data)[var_r29].y > sp14.y) { - sp14.y = ((Vec *)var_r26->data.vertex->data)[var_r29].y; - } - if (((Vec *)var_r26->data.vertex->data)[var_r29].z > sp14.z) { - sp14.z = ((Vec *)var_r26->data.vertex->data)[var_r29].z; - } - if (((Vec *)var_r26->data.vertex->data)[var_r29].x < sp8.x) { - sp8.x = ((Vec *)var_r26->data.vertex->data)[var_r29].x; - } - if (((Vec *)var_r26->data.vertex->data)[var_r29].y < sp8.y) { - sp8.y = ((Vec *)var_r26->data.vertex->data)[var_r29].y; - } - if (((Vec *)var_r26->data.vertex->data)[var_r29].z < sp8.z) { - sp8.z = ((Vec *)var_r26->data.vertex->data)[var_r29].z; - } - } - VECAdd(&sp14, &sp8, &sp20); - VECScale(&sp20, &sp20, 0.5f); - var_r28->unk24 = sp20; - var_r28->unk30 = var_r28->unk24; - var_r28->unk8 = (360.0 + atan2d(sp20.x, sp20.z)); - if (var_r28->unk8 >= 360.0f) { - var_r28->unk8 -= 360.0f; - } - } - var_r27 = Hu3DModelCreateFile(0x45000B); - Hu3DModelLayerSet(var_r27, 2); - var_r24 = &temp_r23->unk984; - for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r24++) { - var_r24->unk0 = 0; - var_r24->unk8 = 0; - var_r24->unk18 = 0.0f; - var_r24->unk1C = var_r24->unk20 = 0.0f; - var_r24->unk4 = Hu3DModelLink(var_r27); - Hu3DModelLayerSet(var_r24->unk4, 2); - Hu3DModelAttrSet(var_r24->unk4, 1); - } - Hu3DModelKill(var_r27); - arg0->func = fn_1_BF20; -} - -Vec lbl_1_data_8D8[4][2] = { - { - { -967.0f, -80.0f, -312.0f }, - { -867.0f, -80.0f, -485.0f }, - }, - { - { -917.0f, -80.0f, -857.0f }, - { -817.0f, -80.0f, -1030.0f }, - }, - { - { 967.0f, -80.0f, -312.0f }, - { 867.0f, -80.0f, -485.0f }, - }, - { - { 917.0f, -80.0f, -857.0f }, - { 817.0f, -80.0f, -1030.0f }, - }, -}; - -void fn_1_BF20(omObjData *arg0) -{ - Mtx sp5C; - Mtx sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - f32 temp_f29; - f32 temp_f30; - f32 temp_f31; - s32 var_r29; - M438MapStruct2 *var_r31; - M438MapStruct *var_r30; - M438MapStruct3 *temp_r28; - - temp_r28 = arg0->data; - temp_r28->unk0++; - var_r31 = &temp_r28->unk4; - - for (var_r29 = 0; var_r29 < 0x20; var_r29++, var_r31++) { - if ((var_r31->unk0 == 0) && (var_r31->unk4 != 0)) { - temp_f29 = var_r31->unk30.y; - VECAdd(&var_r31->unk30, &var_r31->unk3C, &var_r31->unk30); - var_r31->unk3C.x *= 0.92f; - var_r31->unk3C.z *= 0.92f; - var_r31->unk3C.y += -0.27222225f; - if (temp_f29 > 0.0) { - if (var_r31->unk30.y <= 0.0) { - HuAudFXEmiterPlay(0x6FF, &var_r31->unk30); - } - } - var_r31->unkC += var_r31->unk10; - var_r31->unk14 += var_r31->unk18; - var_r31->unk1C += var_r31->unk20; - sp14.x = sind(90.0f + var_r31->unk8); - sp14.z = cosd(90.0f + var_r31->unk8); - sp14.y = 0.0f; - MTXRotAxisRad(sp5C, &sp14, MTXDegToRad(var_r31->unkC)); - sp14.x = sp14.z = 0.0f; - sp14.y = 1.0f; - MTXRotAxisRad(sp2C, &sp14, MTXDegToRad(var_r31->unk14)); - MTXConcat(sp2C, sp5C, sp5C); - sp14.x = sind(var_r31->unk8); - sp14.z = cosd(var_r31->unk8); - sp14.y = 0.0f; - MTXRotAxisRad(sp2C, &sp14, MTXDegToRad(var_r31->unk1C)); - MTXConcat(sp2C, sp5C, sp5C); - fn_1_E034(sp5C, &sp20); - var_r31->unk48->unk_28.x = sp20.x; - var_r31->unk48->unk_28.y = sp20.y; - var_r31->unk48->unk_28.z = sp20.z; - MTXInverse(sp5C, sp5C); - MTXMultVec(sp5C, &var_r31->unk24, &sp8); - var_r31->unk48->unk_1C.x = (var_r31->unk30.x - sp8.x); - var_r31->unk48->unk_1C.y = (var_r31->unk30.y - sp8.y); - var_r31->unk48->unk_1C.z = (var_r31->unk30.z - sp8.z); - if (var_r31->unk30.y < -500.0f) { - var_r31->unk4 = 0; - } - } - } - if ((temp_r28->unk0 & 1) == 0) { - var_r30 = &temp_r28->unk984; - - for (var_r29 = 0; var_r29 < 0x32; var_r29++, var_r30++) { - if (var_r30->unk0 != 0) - continue; - var_r30->unk0 = 1; - var_r30->unk18 = frandmod(0x168); - if (frandmod(0x64) < 0x14) { - var_r30->unkC.x = (0.8f * (frandmod(0x7D0) - 0x3E8)); - var_r30->unkC.y = -80.0f; - var_r30->unkC.z = ((-1.2f * frandmod(0x3E8)) - 1000.0f); - } - else { - temp_f31 = frandmod(0x168); - temp_f30 = 800.0f + (0.25f * frandmod(0x3E8)); - var_r30->unkC.x = (temp_f30 * sind(temp_f31)); - var_r30->unkC.y = -80.0f; - var_r30->unkC.z = (temp_f30 * cosd(temp_f31)); - } - var_r30->unk20 = (0.1f + (0.0005f * frandmod(0x3E8))); - var_r30->unk1C = 0.0f; - Hu3DModelAttrReset(var_r30->unk4, 1); - Hu3DModelPosSetV(var_r30->unk4, &var_r30->unkC); - Hu3DModelRotSet(var_r30->unk4, 0.0f, var_r30->unk18, 0.0f); - Hu3DModelScaleSet(var_r30->unk4, var_r30->unk1C, var_r30->unk1C, var_r30->unk1C); - break; - } - } - var_r30 = &temp_r28->unk984; - for (var_r29 = 0; var_r29 < 0x32; var_r29++, var_r30++) { - if (var_r30->unk0 != 0) { - var_r30->unk1C += 0.005f; - if (var_r30->unk1C > var_r30->unk20) { - var_r30->unk0 = 0; - Hu3DModelAttrSet(var_r30->unk4, 1); - fn_1_D57C(&Hu3DData[var_r30->unk4].pos, var_r30->unk20); - } - Hu3DModelScaleSet(var_r30->unk4, var_r30->unk1C, var_r30->unk1C, var_r30->unk1C); - } - } - - for (var_r29 = 0; var_r29 < 4; var_r29++) { - VECSubtract(&lbl_1_data_8D8[var_r29][1], &lbl_1_data_8D8[var_r29][0], &sp14); - temp_f31 = 0.001f * frandmod(0x3E8); - VECScale(&sp14, &sp14, temp_f31); - VECAdd(&lbl_1_data_8D8[var_r29][0], &sp14, &sp8); - VECScale(&sp8, &sp8, 0.98f); - fn_1_D57C(&sp8, 0.03f); - } - if ((lbl_1_bss_E30 == 0) && (WipeStatGet() == 0)) { - HuAudFXPlay(0x6F9); - HuAudFXPlay(0x6FD); - lbl_1_bss_E30 = 1; - } -} - -void fn_1_C764(ModelData *model, ParticleData *particle, Mtx matrix) -{ - HsfanimStruct01 *var_r31; - s32 var_r29; - u16 temp_r0; - - var_r31 = particle->unk_48; - - for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - if (var_r31->unk00 != 0) { - VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); - var_r31->unk08.x *= 0.95f; - var_r31->unk08.z *= 0.95f; - var_r31->unk08.y += -0.27222225f; - if (var_r31->unk00 < 24.0f) { - var_r31->unk40.a = 0.9f * var_r31->unk40.a; - } - if (--var_r31->unk00 == 0) { - var_r31->unk00 = 0; - var_r31->unk2C = 0.0f; - var_r31->unk40.a = 0; - } - } - } - DCStoreRange(particle->unk_48, particle->unk_30 * 0x44); -} - -void fn_1_C8E8(ModelData *model, ParticleData *particle, Mtx matrix) -{ - HsfanimStruct01 *var_r31; - s32 var_r29; - u16 temp_r0; - - var_r31 = particle->unk_48; - - for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - if (var_r31->unk00 != 0) { - VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); - var_r31->unk08.x *= 0.92f; - var_r31->unk08.z *= 0.92f; - var_r31->unk2C += 5.0f; - var_r31->unk40.a *= 0.99f; - if (var_r31->unk00 < 24.0f) { - var_r31->unk40.a = 0.9f * var_r31->unk40.a; - } - if (--var_r31->unk00 == 0) { - var_r31->unk00 = 0; - var_r31->unk2C = 0.0f; - var_r31->unk40.a = 0; - } - } - } - DCStoreRange(particle->unk_48, particle->unk_30 * 0x44); -} - -void fn_1_CAB0(f32 arg8) -{ - Vec sp8; - f32 temp_f31; - f32 temp_f30; - f32 temp_f28; - f32 temp_f27; - HsfanimStruct01 *var_r31; - s32 var_r30; - u32 var_r29; - - temp_f28 = 20.0f; - temp_f27 = 7.0f; - var_r29 = 0x19; - - for (var_r30 = 0; var_r30 < 0x96; var_r30++) { - var_r31 = lbl_1_bss_E34[var_r30]; - if (var_r31->unk00 == 0) { - var_r31->unk00 = 60.0f * (0.6f + (0.0006f * frandmod(0x3E8))); - temp_f31 = ((0.002f * frandmod(0x3E8)) - 1.0f); - temp_f31 = arg8 + (temp_f31 * temp_f28); - sp8.x = sind(temp_f31); - sp8.y = 0.0f; - sp8.z = cosd(temp_f31); - - temp_f31 = arg8 + (((0.002f * frandmod(0x3E8)) - 1.0f)) * temp_f27; - var_r31->unk34.x = 7.5 * sind(temp_f31) * 100.0; - var_r31->unk34.y = 0.2f * frandmod(0x3E8); - var_r31->unk34.z = 7.5 * cosd(temp_f31) * 100.0; - - temp_f30 = 1.6666667f * (4.0f + (0.014f * frandmod(0x3E8))); - var_r31->unk08.x = sp8.x * temp_f30; - var_r31->unk08.z = sp8.z * temp_f30; - var_r31->unk08.y = temp_f30 * ((0.0006f * frandmod(0x3E8)) - 0.2f); - - var_r31->unk30 = frandmod(0x168); - var_r31->unk2C = 10.0f + frandmod(0x32); - var_r31->unk40.a = 0xFA; - var_r31->unk40.r = var_r31->unk40.g = var_r31->unk40.b = 0xFF; - - var_r29--; - if (var_r29 < 1) - break; - } - } - var_r31 = ((ParticleData *)(Hu3DData[lbl_1_bss_108C[0]->model[6]].unk_120))->unk_48; - var_r29 = 0xF; - for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r31++) { - if (var_r31->unk00 == 0) { - var_r31->unk00 = 60.0f * (0.6f + (0.0006f * frandmod(0x3E8))); - temp_f31 = ((0.002f * frandmod(0x3E8)) - 1.0f); - temp_f31 = arg8 + (temp_f31 * temp_f28); - sp8.x = sind(temp_f31); - sp8.y = 0.0f; - sp8.z = cosd(temp_f31); - - temp_f31 = arg8 + (((0.002f * frandmod(0x3E8)) - 1.0f)) * temp_f27; - var_r31->unk34.x = 7.5 * sind(temp_f31) * 100.0; - var_r31->unk34.y = 0.2f * frandmod(0x3E8); - var_r31->unk34.z = 7.5 * cosd(temp_f31) * 100.0; - - temp_f30 = 1.6666667f * -(0.01f * frandmod(0x3E8)); - var_r31->unk08.x = sp8.x * temp_f30; - var_r31->unk08.z = sp8.z * temp_f30; - var_r31->unk08.y = temp_f30 * -((0.00020000001f * frandmod(0x3E8)) + 0.05f); - - var_r31->unk30 = frandmod(0x168); - var_r31->unk2C = 100.0f + frandmod(0x64); - var_r31->unk40.a = 0x50 + frandmod(0x50); - temp_f31 = frandmod(0x3E8) * 0.001f; - var_r31->unk40.r = (60.0f * temp_f31) + 80.0f; - var_r31->unk40.g = (60.0f * temp_f31) + 61.0f; - var_r31->unk40.b = (60.0f * temp_f31) + 54.0f; - - var_r29--; - if (var_r29 < 1) - break; - } - } -} - -void fn_1_D3FC(ModelData *model, ParticleData *particle, Mtx matrix) -{ - HsfanimStruct01 *var_r31; - s32 var_r29; - u16 temp_r0; - - lbl_1_bss_E2C = 0; - var_r31 = particle->unk_48; - for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - if (var_r31->unk00 != 0) { - VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); - var_r31->unk08.y += -0.27222225f; - if (var_r31->unk00 < 12.0f) { - var_r31->unk40.a = (0.8f * var_r31->unk40.a); - } - if (--var_r31->unk00 == 0) { - var_r31->unk00 = 0; - var_r31->unk2C = 0.0f; - var_r31->unk40.a = 0; - } - lbl_1_bss_E2C++; - } - } - DCStoreRange(particle->unk_48, particle->unk_30 * 0x44); -} - -void fn_1_D57C(Vec *arg0, f32 arg1) -{ - Vec sp8; - f32 temp_f31; - f32 temp_f29; - HsfanimStruct01 *var_r31; - s32 var_r30; - u32 var_r29; - - var_r31 = ((ParticleData *)(Hu3DData[lbl_1_bss_108C[0]->model[7]].unk_120))->unk_48; - var_r29 = (u32)(3.0f + (15.0f * arg1)); - - for (var_r30 = 0; var_r30 < 0x1F4; var_r30++, var_r31++) { - if (var_r31->unk00 == 0) { - var_r31->unk00 = 60.0f * (0.3f + (0.0003f * frandmod(0x3E8))); - var_r31->unk34 = *arg0; - var_r31->unk34.x += arg1 * (0.07f * (frandmod(0x3E8) - 0x1F4)); - var_r31->unk34.z += arg1 * (0.07f * (frandmod(0x3E8) - 0x1F4)); - - temp_f31 = frandmod(0x168); - sp8.x = sind(temp_f31); - sp8.y = 0.0f; - sp8.z = cosd(temp_f31); - - temp_f29 = 1.6666667f * (0.5f + (0.001f * frandmod(0x3E8))); - var_r31->unk08.x = sp8.x * temp_f29; - var_r31->unk08.z = sp8.z * temp_f29; - var_r31->unk08.y = 1.6666667f * ((2.0f * arg1) + (1.0f + (0.002f * frandmod(0x3E8)))); - var_r31->unk30 = frandmod(0x168); - var_r31->unk2C = (20.0f + frandmod(0x14)); - var_r31->unk40.a = (frandmod(0x46) + 0x64); - - temp_f31 = 0.001f * frandmod(0x3E8); - var_r31->unk40.r = 177.0f + (78.0f * temp_f31); - var_r31->unk40.g = 60.0f + (129.0f * temp_f31); - var_r31->unk40.b = 30.0f + (122.0f * temp_f31); - - var_r29--; - if (var_r29 < 1) - break; - } - } -} - -s32 fn_1_DA64(f32 arg8) -{ - M438MapStruct3 *var_r28; - s32 var_r29; - s32 var_r30; - M438MapStruct2 *var_r31; - float var_f31; - float var_f29; - - var_r28 = lbl_1_bss_108C[0]->data; - var_r29 = 0; - var_r31 = &var_r28->unk4; - - for (var_r30 = 0; var_r30 < 0x20; var_r30++, var_r31++) { - var_f31 = fn_1_E5A4(var_r31->unk8, arg8); - if ((fabs(var_f31) < 12.0) && (var_r31->unk0 != 0)) { - var_r31->unk0 = 0; - var_r31->unk4 = 1; - var_r31->unk30 = var_r31->unk24; - var_r31->unk3C.y = (1.6666667f * (2.0f + (0.002f * frandmod(0x3E8)))); - var_r31->unk3C.x = (1.6666667461395264f * (sind(var_r31->unk8) * (10.0f + (0.006f * frandmod(0x3E8))))); - var_r31->unk3C.z = (1.6666667461395264f * (cosd(var_r31->unk8) * (10.0f + (0.006f * frandmod(0x3E8))))); - var_r31->unkC = var_r31->unk14 = var_r31->unk1C = 0.0f; - var_r31->unk10 = (0.016666668f * (10.0f + (0.05f * frandmod(0x3E8)))); - var_r31->unk18 = (0.016666668f * (30.0f + (0.05f * frandmod(0x3E8)))); - var_r31->unk20 = (0.016666668f * (10.0f + (0.02f * frandmod(0x3E8)))); - if (frandmod(0x64) < 0x50) { - var_r31->unk10 *= -1.0f; - } - if (frandmod(0x64) < 0x32) { - var_r31->unk18 *= -1.0f; - } - if (frandmod(0x64) < 0x32) { - var_r31->unk20 *= -1.0f; - } - fn_1_CAB0(var_r31->unk8); - var_r29 = 1; - } - } - return var_r29; -} - -s32 fn_1_DEA0(f32 arg8) -{ - M438MapStruct3 *var_r28; - s32 var_r29; - s32 var_r30; - M438MapStruct2 *var_r31; - f32 var_f31; - - var_r28 = lbl_1_bss_108C[0]->data; - var_r29 = 0; - var_r31 = &var_r28->unk4; - - for (var_r30 = 0; var_r30 < 0x20; var_r30++, var_r31++) { - var_f31 = fn_1_E5A4(var_r31->unk8, arg8); - if ((fabs(var_f31) < 8.0) && (var_r31->unk0 != 0)) { - var_r29 = 1; - break; - } - } - return var_r29; -} - -f32 fn_1_DF70(f32 arg8, f32 arg9) -{ - f32 temp_f30; - f32 var_f31; - - temp_f30 = 360.0f; - var_f31 = 180.0 * (atan2f(arg9, arg8) / M_PI); - if (var_f31 < 0.0f) { - var_f31 += temp_f30; - - } - else if (var_f31 >= temp_f30) { - var_f31 -= temp_f30; - } - return var_f31; -} - -void fn_1_E034(Mtx arg0, Vec *arg1) -{ - f32 var_f26; - f32 temp_f25; - - arg1->x = fn_1_DF70(arg0[2][2], arg0[1][2]); - arg1->z = fn_1_DF70(arg0[0][0], arg0[0][1]); - temp_f25 = -arg0[0][2]; - var_f26 = sqrtf(fabs(1.0 - (temp_f25 * temp_f25))); - if ((arg1->x > 90.0f) && (arg1->x < 270.0f) && (arg1->z > 90.0f) && (arg1->z < 270.0f)) { - arg1->x = fmod((180.0f + arg1->x), 360.0); - arg1->z = fmod((180.0f + arg1->z), 360.0); - var_f26 = -var_f26; - } - arg1->y = fn_1_DF70(var_f26, temp_f25); -} - -f32 fn_1_E488(f32 arg8, f32 arg9, f32 argA) -{ - f32 var_f31; - - var_f31 = fmodf((arg9 - arg8), 360.0); - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - var_f31 = fmodf((arg8 + (argA * var_f31)), 360.0); - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - return var_f31; -} - -f32 fn_1_E5A4(f32 arg8, f32 arg9) -{ - f32 var_f31; - - var_f31 = fmodf((arg9 - arg8), 360.0); - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - return var_f31; -} diff --git a/src/REL/m439Dll/main.c b/src/REL/m439Dll/main.c index 44c7927b..7cfee7b4 100644 --- a/src/REL/m439Dll/main.c +++ b/src/REL/m439Dll/main.c @@ -1,9 +1,9 @@ -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" #include "game/object.h" #include "game/objsub.h" +#include "game/hsfman.h" +#include "game/hsfanim.h" +#include "game/hsfmotion.h" +#include "game/hsfdraw.h" #include "game/init.h" @@ -11,41 +11,142 @@ #include "game/audio.h" #include "game/chrman.h" -#include "game/frand.h" -#include "game/gamework_data.h" -#include "game/minigame_seq.h" -#include "game/pad.h" -#include "game/sprite.h" #include "game/wipe.h" +#include "game/minigame_seq.h" +#include "game/gamework_data.h" +#include "game/sprite.h" +#include "game/frand.h" +#include "game/pad.h" #include "ext_math.h" +#include "rel_sqrt_consts.h" + #include "REL/m439data.h" -#include "version.h" typedef struct camera_params { - float zoom; - Vec pos; - Vec rot; + float zoom; + Vec pos; + Vec rot; } CameraViewParams; CameraViewParams lbl_1_data_741C[] = { - { VERSION_NTSC ? 4775.0f : 4500.0f, -2800.0f, 0.0f, -7700.0f, 343.0f, 20.0f, 0.0f }, - { 5000.0f, 0.f, 0.0f, 0.0f, 290.0f, 0.0f, 0.0f }, - { 2800.0f, 0.f, 0.0f, -7600.0f, 347.0f, 0.0f, 0.0f }, - { 2800.0f, 0.f, 0.0f, -7600.0f, 290.0f, 0.0f, 0.0f }, + { + 4775, + -2800, 0, -7700, + 343, 20, 0, + }, + { + 5000, + 0, 0, 0, + 290, 0, 0, + }, + { + 2800, + 0, 0, -7600, + 347, 0, 0, + }, + { + 2800, + 0, 0, -7600, + 290, 0, 0 + } }; + typedef struct struct_data_748C { - s32 unk0; - s32 unk4; - s32 unk8; - s32 unkC[2]; + s32 unk0; + s32 unk4; + s32 unk8; + s32 unkC[2]; } StructData748C; -StructData748C lbl_1_data_748C[16] = { { 0, -1, 1, { 1, 0 } }, { 1, 0, 2, { 2, 3 } }, { 2, 1, 1, { 4, 0 } }, { 2, 1, 1, { 5, 0 } }, - { 3, 2, 2, { 6, 7 } }, { 3, 3, 2, { 8, 9 } }, { 4, 4, 1, { 10, 0 } }, { 4, 4, 1, { 11, 0 } }, { 4, 5, 1, { 12, 0 } }, { 4, 5, 1, { 13, 0 } }, - { 5, 6, 0, { 0, 0 } }, { 5, 7, 0, { 0, 0 } }, { 5, 8, 0, { 0, 0 } }, { 5, 9, 0, { 0, 0 } } }; +StructData748C lbl_1_data_748C[16] = { + { + 0, + -1, + 1, + { 1, 0 } + }, + { + 1, + 0, + 2, + { 2, 3 } + }, + { + 2, + 1, + 1, + { 4, 0 } + }, + { + 2, + 1, + 1, + { 5, 0 } + }, + { + 3, + 2, + 2, + { 6, 7 } + }, + { + 3, + 3, + 2, + { 8, 9 } + }, + { + 4, + 4, + 1, + { 10, 0 } + }, + { + 4, + 4, + 1, + { 11, 0 } + }, + { + 4, + 5, + 1, + { 12, 0 } + }, + { + 4, + 5, + 1, + { 13, 0 } + }, + { + 5, + 6, + 0, + { 0, 0 } + }, + { + 5, + 7, + 0, + { 0, 0 } + }, + { + 5, + 8, + 0, + { 0, 0 } + }, + { + 5, + 9, + 0, + { 0, 0 } + } +}; float lbl_1_data_75CC[5] = { -700, -2200, -3600, -5200, -6600 }; s32 lbl_1_data_75E0[4] = { 1, 2, 4, 8 }; @@ -55,6 +156,7 @@ GXColor lbl_1_data_7608 = { 255, 255, 255, 255 }; Vec lbl_1_data_760C = { 700, 2500, -700 }; Vec lbl_1_data_7618 = { 0, 1, 0 }; + omObjData *lbl_1_bss_170; omObjData *lbl_1_bss_16C; omObjData *lbl_1_bss_168; @@ -93,59 +195,60 @@ void fn_1_73F4(Process *objman); void fn_1_6C08(omObjData *object); + void ObjectSetup(void) { - Process *objman; - s16 light; - - CameraData *camera = &Hu3DCamera[0]; - OSReport("******* M439ObjectSetup *********\n"); - objman = omInitObjMan(50, 8192); - omGameSysInit(objman); - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 10, 100, 15000, 1.2); - Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); - lbl_1_bss_168 = omAddObjEx(objman, 32730, 0, 0, -1, omOutViewMulti); - lbl_1_bss_168->work[0] = 1; - lbl_1_bss_34.x = lbl_1_data_75FC.x - lbl_1_data_75F0.x; - lbl_1_bss_34.y = lbl_1_data_75FC.y - lbl_1_data_75F0.y; - lbl_1_bss_34.z = lbl_1_data_75FC.z - lbl_1_data_75F0.z; - VECNormalize(&lbl_1_bss_34, &lbl_1_bss_34); - light = Hu3DGLightCreateV(&lbl_1_data_75F0, &lbl_1_bss_34, &lbl_1_data_7608); - Hu3DGLightInfinitytSet(light); - Hu3DGLightStaticSet(light, 1); - Hu3DShadowCreate(20, 200, 10000); - Hu3DShadowTPLvlSet(0.625f); - Hu3DShadowPosSet(&lbl_1_data_760C, &lbl_1_data_7618, &lbl_1_data_75FC); - HuAudSndGrpSet(65); - lbl_1_bss_170 = omAddObjEx(objman, 0, 0, 0, -1, fn_1_384); - lbl_1_bss_16C = omAddObjEx(objman, 10, 0, 0, -1, fn_1_6C08); - fn_1_A18(objman); - fn_1_49C8(objman); - fn_1_5BA0(objman); - fn_1_73F4(objman); + Process *objman; + s16 light; + + CameraData *camera = &Hu3DCamera[0]; + OSReport("******* M439ObjectSetup *********\n"); + objman = omInitObjMan(50, 8192); + omGameSysInit(objman); + Hu3DCameraCreate(1); + Hu3DCameraPerspectiveSet(1, 10, 100, 15000, 1.2); + Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); + lbl_1_bss_168 = omAddObjEx(objman, 32730, 0, 0, -1, omOutViewMulti); + lbl_1_bss_168->work[0] = 1; + lbl_1_bss_34.x = lbl_1_data_75FC.x-lbl_1_data_75F0.x; + lbl_1_bss_34.y = lbl_1_data_75FC.y-lbl_1_data_75F0.y; + lbl_1_bss_34.z = lbl_1_data_75FC.z-lbl_1_data_75F0.z; + VECNormalize(&lbl_1_bss_34, &lbl_1_bss_34); + light = Hu3DGLightCreateV(&lbl_1_data_75F0, &lbl_1_bss_34, &lbl_1_data_7608); + Hu3DGLightInfinitytSet(light); + Hu3DGLightStaticSet(light, 1); + Hu3DShadowCreate(20, 200, 10000); + Hu3DShadowTPLvlSet(0.625f); + Hu3DShadowPosSet(&lbl_1_data_760C, &lbl_1_data_7618, &lbl_1_data_75FC); + HuAudSndGrpSet(65); + lbl_1_bss_170 = omAddObjEx(objman, 0, 0, 0, -1, fn_1_384); + lbl_1_bss_16C = omAddObjEx(objman, 10, 0, 0, -1, fn_1_6C08); + fn_1_A18(objman); + fn_1_49C8(objman); + fn_1_5BA0(objman); + fn_1_73F4(objman); } void fn_1_364(s32 arg0) { - lbl_1_bss_160 = arg0; + lbl_1_bss_160 = arg0; } s32 fn_1_374(void) { - return lbl_1_bss_160; + return lbl_1_bss_160; } void fn_1_408(omObjData *object); void fn_1_384(omObjData *object) { - fn_1_364(0); - lbl_1_bss_14C = REFRESH_RATE; - lbl_1_bss_12E = 60; - lbl_1_bss_12C = REFRESH_RATE; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_408; + fn_1_364(0); + lbl_1_bss_14C = 60; + lbl_1_bss_12E = 60; + lbl_1_bss_12C = 60; + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + object->func = fn_1_408; } s32 lbl_1_data_7648 = -1; @@ -158,111 +261,111 @@ void fn_1_C00(void); void fn_1_408(omObjData *object) { - switch (fn_1_374()) { - case 0: - if (lbl_1_bss_14C == REFRESH_RATE) { - HuAudFXPlay(1797); - } - if (--lbl_1_bss_14C == 0) { - fn_1_364(1); - lbl_1_bss_14C = 2 * REFRESH_RATE; - } - break; - - case 1: - if (--lbl_1_bss_14C == 0) { - WipeColorSet(0, 0, 0); - fn_1_364(2); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - } - break; - - case 2: - if (!WipeStatGet()) { - fn_1_364(3); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - lbl_1_data_764C = HuAudFXPlay(1798); - } - break; - - case 3: - if (!WipeStatGet()) { - fn_1_364(4); - lbl_1_bss_32 = MGSeqStartCreate(); - } - break; - - case 4: - if (!MGSeqStatGet(lbl_1_bss_32)) { - fn_1_364(5); - lbl_1_bss_30 = MGSeqTimerCreate(60); - } - if (lbl_1_data_7648 < 0 && (MGSeqStatGet(lbl_1_bss_32) & 0x10)) { - lbl_1_data_7648 = HuAudSeqPlay(75); - } - break; - - case 5: - if (--lbl_1_bss_12C == 0) { - lbl_1_bss_12E--; - MGSeqParamSet(lbl_1_bss_30, 1, lbl_1_bss_12E); - lbl_1_bss_12C = REFRESH_RATE; - } - if (lbl_1_bss_130 >= 3 || lbl_1_bss_12E == 0) { - fn_1_364(6); - lbl_1_bss_32 = MGSeqFinishCreate(); - HuAudSeqFadeOut(lbl_1_data_7648, 100); - } - break; - - case 6: - if (lbl_1_bss_30 >= 0) { - MGSeqParamSet(lbl_1_bss_30, 2, -1); - lbl_1_bss_30 = -1; - } - if (!MGSeqStatGet(lbl_1_bss_32)) { - fn_1_364(7); - lbl_1_bss_14C = REFRESH_RATE; - } - break; - - case 7: - if (fn_1_B7C() && --lbl_1_bss_14C == 0) { - fn_1_C00(); - fn_1_364(9); - if (lbl_1_bss_130) { - HuAudSStreamPlay(1); - } - else { - HuAudSStreamPlay(4); - } - lbl_1_bss_14C = 3.5f * REFRESH_RATE; - } - break; - - case 9: - if (--lbl_1_bss_14C == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - WipeColorSet(255, 255, 255); - HuAudFXStop(lbl_1_data_764C); - object->func = fn_1_9BC; - } - break; - } - if (lbl_1_bss_13A) { - s32 i; - for (i = 0; i < lbl_1_bss_13A; i++) { - GWPlayerCoinWinSet(lbl_1_bss_132[i], lbl_1_bss_13C); - } - lbl_1_bss_13C += lbl_1_bss_13A; - lbl_1_bss_130 += lbl_1_bss_13A; - lbl_1_bss_13A = 0; - } - if (omSysExitReq && !WipeStatGet()) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - WipeColorSet(255, 255, 255); - object->func = fn_1_9BC; - } + switch(fn_1_374()) { + case 0: + if(lbl_1_bss_14C == 60) { + HuAudFXPlay(1797); + } + if(--lbl_1_bss_14C == 0) { + fn_1_364(1); + lbl_1_bss_14C = 120; + } + break; + + case 1: + if(--lbl_1_bss_14C == 0) { + WipeColorSet(0, 0, 0); + fn_1_364(2); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + } + break; + + case 2: + if(!WipeStatGet()) { + fn_1_364(3); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); + lbl_1_data_764C = HuAudFXPlay(1798); + } + break; + + case 3: + if(!WipeStatGet()) { + fn_1_364(4); + lbl_1_bss_32 = MGSeqStartCreate(); + + } + break; + + case 4: + if(!MGSeqStatGet(lbl_1_bss_32)) { + fn_1_364(5); + lbl_1_bss_30 = MGSeqTimerCreate(60); + } + if(lbl_1_data_7648 < 0 && (MGSeqStatGet(lbl_1_bss_32) & 0x10)) { + lbl_1_data_7648 = HuAudSeqPlay(75); + } + break; + + case 5: + if(--lbl_1_bss_12C == 0) { + lbl_1_bss_12E--; + MGSeqParamSet(lbl_1_bss_30, 1, lbl_1_bss_12E); + lbl_1_bss_12C = 60; + } + if(lbl_1_bss_130 >= 3 || lbl_1_bss_12E == 0) { + fn_1_364(6); + lbl_1_bss_32 = MGSeqFinishCreate(); + HuAudSeqFadeOut(lbl_1_data_7648, 100); + } + break; + + case 6: + if(lbl_1_bss_30 >= 0) { + MGSeqParamSet(lbl_1_bss_30, 2, -1); + lbl_1_bss_30 = -1; + } + if(!MGSeqStatGet(lbl_1_bss_32)) { + fn_1_364(7); + lbl_1_bss_14C = 60; + } + break; + + case 7: + if(fn_1_B7C() && --lbl_1_bss_14C == 0) { + fn_1_C00(); + fn_1_364(9); + if(lbl_1_bss_130) { + HuAudSStreamPlay(1); + } else { + HuAudSStreamPlay(4); + } + lbl_1_bss_14C = 210; + } + break; + + case 9: + if(--lbl_1_bss_14C == 0) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + WipeColorSet(255, 255, 255); + HuAudFXStop(lbl_1_data_764C); + object->func = fn_1_9BC; + } + break; + } + if(lbl_1_bss_13A) { + s32 i; + for(i=0; ifunc = fn_1_9BC; + } } void fn_1_B20(void); @@ -270,125 +373,133 @@ void fn_1_5CAC(void); void fn_1_9BC(omObjData *object) { - if (!WipeStatGet()) { - fn_1_B20(); - fn_1_5CAC(); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - OSReport("******* M439Exit *********\n"); - } + if(!WipeStatGet()) { + fn_1_B20(); + fn_1_5CAC(); + MGSeqKillAll(); + HuAudFadeOut(1); + omOvlReturnEx(1, 1); + OSReport("******* M439Exit *********\n"); + + } } void fn_1_D0C(omObjData *object); void fn_1_A18(Process *objman) { - s32 i; - lbl_1_bss_150[0] = lbl_1_bss_150[1] = lbl_1_bss_150[2] = lbl_1_bss_150[3] = -1; - lbl_1_bss_148 = 0; - lbl_1_bss_13C = 0; - lbl_1_bss_13A = 0; - lbl_1_bss_130 = 0; - omMakeGroupEx(objman, 0, 4); - for (i = 0; i < 4; i++) { - omAddObjEx(objman, 5, 3, 50, 0, fn_1_D0C); - } - lbl_1_bss_40 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M439, 0x16), MEMORY_DEFAULT_NUM)); + s32 i; + lbl_1_bss_150[0] = lbl_1_bss_150[1] = lbl_1_bss_150[2] = lbl_1_bss_150[3] = -1; + lbl_1_bss_148 = 0; + lbl_1_bss_13C = 0; + lbl_1_bss_13A = 0; + lbl_1_bss_130 = 0; + omMakeGroupEx(objman, 0, 4); + for(i=0; i<4; i++) { + omAddObjEx(objman, 5, 3, 50, 0, fn_1_D0C); + } + lbl_1_bss_40 = HuSprAnimRead(HuDataReadNum(0x460016, MEMORY_DEFAULT_NUM)); + } void fn_1_4978(omObjData *object); void fn_1_B20(void) { - omObjData **objList = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - s32 i; - for (i = 0; i < 4; i++) { - fn_1_4978(objList[i]); - } + omObjData **objList = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + s32 i; + for(i=0; i<4; i++) { + fn_1_4978(objList[i]); + + } } typedef struct work_d0c { - u16 unk0_field0 : 1; - u16 unk0_field1 : 1; - u16 unk0_field2 : 1; - u16 unk0_field3 : 1; - u16 unk0_field4 : 1; - u16 unk0_field5 : 1; - u16 unk0_field6 : 1; - u16 unk0_field7 : 1; - u16 unk0_field8 : 1; - s16 unk2; - s16 unk4; - s8 unk6; - s8 unk7; - u16 unk8; - u16 unkA; - s16 unkC; - s16 unkE; - s16 unk10; - s16 unk12; - Vec unk14; - Vec unk20; - s32 unk2C; - u32 unk30; - float unk34; - float unk38; - s16 unk3C; - s16 unk3E; - float unk40; - s16 unk44; - s16 unk46; - float unk48; - float unk4C; - Vec unk50; - Vec unk5C; - Vec unk68; - Vec unk74; - u16 unk80; - Vec unk84; - float unk90; - float unk94; - Vec unk98; - float unkA4; - float unkA8; + u16 unk0_field0 : 1; + u16 unk0_field1 : 1; + u16 unk0_field2 : 1; + u16 unk0_field3 : 1; + u16 unk0_field4 : 1; + u16 unk0_field5 : 1; + u16 unk0_field6 : 1; + u16 unk0_field7 : 1; + u16 unk0_field8 : 1; + s16 unk2; + s16 unk4; + s8 unk6; + s8 unk7; + u16 unk8; + u16 unkA; + s16 unkC; + s16 unkE; + s16 unk10; + s16 unk12; + Vec unk14; + Vec unk20; + s32 unk2C; + u32 unk30; + float unk34; + float unk38; + s16 unk3C; + s16 unk3E; + float unk40; + s16 unk44; + s16 unk46; + float unk48; + float unk4C; + Vec unk50; + Vec unk5C; + Vec unk68; + Vec unk74; + u16 unk80; + Vec unk84; + float unk90; + float unk94; + Vec unk98; + float unkA4; + float unkA8; } WorkD0C; s32 fn_1_B7C(void) { - omObjData **objList = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - s32 i; - for (i = 0; i < 4; i++) { - WorkD0C *work = objList[i]->data; - if (!work->unk0_field7) { - return 0; - } - } - return 1; + omObjData **objList = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + s32 i; + for(i=0; i<4; i++) { + WorkD0C *work = objList[i]->data; + if(!work->unk0_field7) { + return 0; + } + } + return 1; } void fn_1_C00(void) { - omObjData **objList = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - s32 i; - if (lbl_1_bss_13C == 0) { - for (i = 0; i < 4; i++) { - GWPlayerCoinWinSet(i, 3); - } - } - else { - for (i = 0; i < 4; i++) { - WorkD0C *work = objList[i]->data; - if (!work->unk0_field0) { - GWPlayerCoinWinSet(i, lbl_1_bss_13C); - } - } - } + omObjData **objList = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + s32 i; + if(lbl_1_bss_13C == 0) { + for(i=0; i<4; i++) { + GWPlayerCoinWinSet(i, 3); + } + } else { + for(i=0; i<4; i++) { + WorkD0C *work = objList[i]->data; + if(!work->unk0_field0) { + GWPlayerCoinWinSet(i, lbl_1_bss_13C); + } + } + } } -s32 lbl_1_data_7694[7] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x14), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x50), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x72) }; +s32 lbl_1_data_7694[7] = { + 0x5F0000, + 0x5F0002, + 0x5F0003, + 0x5F0014, + 0x5F0050, + 0x5F0017, + 0x5F0072 +}; void fn_1_4528(ModelData *model, ParticleData *particle, Mtx matrix); @@ -396,63 +507,63 @@ void fn_1_2BB4(omObjData *object); void fn_1_D0C(omObjData *object) { - WorkD0C *work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkD0C), MEMORY_DEFAULT_NUM); - u32 i; - s32 charNo; - object->data = work; - memset(work, 0, sizeof(WorkD0C)); - work->unk2 = lbl_1_bss_148++; - work->unk4 = GWPlayerCfg[work->unk2].pad_idx; - charNo = GWPlayerCfg[work->unk2].character; - work->unkC = charNo; - work->unkE = GWPlayerCfg[work->unk2].diff; - work->unk10 = GWPlayerCfg[work->unk2].group; - object->model[0] = CharModelCreate(charNo, 8); - if (work->unk2 == 0) { - Hu3DModelShadowSet(object->model[0]); - } - Hu3DModelCameraSet(object->model[0], lbl_1_data_75E0[work->unk2]); - work->unk2C = 0; - work->unk30 = HU3D_MOTATTR_LOOP; - for (i = 0; i < 7; i++) { - object->motion[i] = CharModelMotionCreate(work->unkC, lbl_1_data_7694[i]); - } - Hu3DMotionSet(object->model[0], object->motion[0]); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - CharModelVoiceEnableSet(work->unkC, object->motion[4], 0); - CharModelDataClose(work->unkC); - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M439, 0x12)); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelCameraSet(object->model[1], lbl_1_data_75E0[work->unk2]); - work->unk0_field3 = 1; - work->unk44 = 0; - work->unk46 = 0; - work->unk40 = 1000; - work->unk14.x = 0; - work->unk94 = work->unkA4 = 0.5f; - object->rot.y = 180; - object->model[2] = Hu3DParticleCreate(lbl_1_bss_40, 10); - Hu3DParticleHookSet(object->model[2], fn_1_4528); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelCameraSet(object->model[2], lbl_1_data_75E0[work->unk2]); - object->func = fn_1_2BB4; + WorkD0C *work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkD0C), MEMORY_DEFAULT_NUM); + u32 i; + s32 charNo; + object->data = work; + memset(work, 0, sizeof(WorkD0C)); + work->unk2 = lbl_1_bss_148++; + work->unk4 = GWPlayerCfg[work->unk2].pad_idx; + charNo = GWPlayerCfg[work->unk2].character; + work->unkC = charNo; + work->unkE = GWPlayerCfg[work->unk2].diff; + work->unk10 = GWPlayerCfg[work->unk2].group; + object->model[0] = CharModelCreate(charNo, 8); + if(work->unk2 == 0) { + Hu3DModelShadowSet(object->model[0]); + } + Hu3DModelCameraSet(object->model[0], lbl_1_data_75E0[work->unk2]); + work->unk2C = 0; + work->unk30 = 0x40000001; + for(i=0; i<7; i++) { + object->motion[i] = CharModelMotionCreate(work->unkC, lbl_1_data_7694[i]); + } + Hu3DMotionSet(object->model[0], object->motion[0]); + Hu3DModelAttrSet(object->model[0], 0x40000001); + CharModelVoiceEnableSet(work->unkC, object->motion[4], 0); + CharModelDataClose(work->unkC); + object->model[1] = Hu3DModelCreateFile(0x460012); + Hu3DModelAttrSet(object->model[1], 1); + Hu3DModelCameraSet(object->model[1], lbl_1_data_75E0[work->unk2]); + work->unk0_field3 = 1; + work->unk44 = 0; + work->unk46 = 0; + work->unk40 = 1000; + work->unk14.x = 0; + work->unk94 = work->unkA4 = 0.5f; + object->rot.y = 180; + object->model[2] = Hu3DParticleCreate(lbl_1_bss_40, 10); + Hu3DParticleHookSet(object->model[2], fn_1_4528); + Hu3DModelAttrSet(object->model[2], 1); + Hu3DModelCameraSet(object->model[2], lbl_1_data_75E0[work->unk2]); + object->func = fn_1_2BB4; } float fn_1_1024(float arg0, float arg1, float arg2) { - float temp_f31 = fmod(arg1 - arg0, 360); - float temp_f30; - if (temp_f31 < 0.0f) { - temp_f31 += 360.0f; - } - if (temp_f31 > 180.0f) { - temp_f31 -= 360.0f; - } - temp_f30 = fmod(arg0 + (arg2 * temp_f31), 360.0); - if (temp_f30 < 0.0f) { - temp_f30 += 360.0f; - } - return temp_f30; + float temp_f31 = fmod(arg1-arg0, 360); + float temp_f30; + if(temp_f31 < 0.0f) { + temp_f31 += 360.0f; + } + if(temp_f31 > 180.0f) { + temp_f31 -= 360.0f; + } + temp_f30 = fmod(arg0+(arg2*temp_f31), 360.0); + if(temp_f30 < 0.0f) { + temp_f30 += 360.0f; + } + return temp_f30; } float lbl_1_data_76B0[11][2] = { @@ -471,277 +582,281 @@ float lbl_1_data_76B0[11][2] = { s32 fn_1_1128(Vec *arg0) { - float sp20[2]; - float sp18[2]; - float sp10[2]; - float temp_f29; - - u32 i; - for (i = 0; i < 10; i++) { - s32 temp_r30 = i + 1; - - float temp_f26; - sp20[0] = lbl_1_data_76B0[temp_r30][0] - lbl_1_data_76B0[i][0]; - sp20[1] = lbl_1_data_76B0[temp_r30][1] - lbl_1_data_76B0[i][1]; - temp_f26 = (((arg0->z * sp20[1]) + ((arg0->x * sp20[0]) - (sp20[0] * lbl_1_data_76B0[i][0]))) - (sp20[1] * lbl_1_data_76B0[i][1])) - / ((sp20[0] * sp20[0]) + (sp20[1] * sp20[1])); - if (temp_f26 >= 0.0f && temp_f26 < 1.0f) { - sp10[0] = lbl_1_data_76B0[i][0] + (sp20[0] * temp_f26); - sp10[1] = lbl_1_data_76B0[i][1] + (sp20[1] * temp_f26); - sp18[0] = arg0->x - sp10[0]; - sp18[1] = arg0->z - sp10[1]; - temp_f29 = sqrtf((sp18[0] * sp18[0]) + (sp18[1] * sp18[1])); - if (temp_f29 < 130.0f) { - if (temp_f29 != 0.0f) { - sp18[0] /= temp_f29; - sp18[1] /= temp_f29; - } - else { - sp18[0] = 0; - sp18[1] = 1; - } - arg0->x = sp10[0] + (130.0f * sp18[0]); - arg0->z = sp10[1] + (130.0f * sp18[1]); - } - } - } - for (i = 0; i < 11; i++) { - sp20[0] = arg0->x - lbl_1_data_76B0[i][0]; - sp20[1] = arg0->z - lbl_1_data_76B0[i][1]; - temp_f29 = sqrtf((sp20[0] * sp20[0]) + (sp20[1] * sp20[1])); - if (temp_f29 < 130.0f) { - if (temp_f29 != 0.0f) { - sp20[0] /= temp_f29; - sp20[1] /= temp_f29; - } - else { - sp20[0] = 0; - sp20[1] = 1; - } - arg0->x = lbl_1_data_76B0[i][0] + (130.0f * sp20[0]); - arg0->z = lbl_1_data_76B0[i][1] + (130.0f * sp20[1]); - } - } + float sp20[2]; + float sp18[2]; + float sp10[2]; + float temp_f29; + + u32 i; + for(i=0; i<10; i++) { + s32 temp_r30 = i+1; + + float temp_f26; + sp20[0] = lbl_1_data_76B0[temp_r30][0]-lbl_1_data_76B0[i][0]; + sp20[1] = lbl_1_data_76B0[temp_r30][1]-lbl_1_data_76B0[i][1]; + temp_f26 = (((arg0->z*sp20[1])+((arg0->x*sp20[0])-(sp20[0]*lbl_1_data_76B0[i][0])))-(sp20[1]*lbl_1_data_76B0[i][1]))/((sp20[0]*sp20[0])+(sp20[1]*sp20[1])); + if(temp_f26 >= 0.0f && temp_f26 < 1.0f) { + sp10[0] = lbl_1_data_76B0[i][0]+(sp20[0]*temp_f26); + sp10[1] = lbl_1_data_76B0[i][1]+(sp20[1]*temp_f26); + sp18[0] = arg0->x-sp10[0]; + sp18[1] = arg0->z-sp10[1]; + temp_f29 = sqrtf((sp18[0]*sp18[0])+(sp18[1]*sp18[1])); + if(temp_f29 < 130.0f) { + if(temp_f29 != 0.0f) { + sp18[0] /= temp_f29; + sp18[1] /= temp_f29; + } else { + sp18[0] = 0; + sp18[1] = 1; + } + arg0->x = sp10[0]+(130.0f*sp18[0]); + arg0->z = sp10[1]+(130.0f*sp18[1]); + } + } + } + for(i=0; i<11; i++) { + sp20[0] = arg0->x-lbl_1_data_76B0[i][0]; + sp20[1] = arg0->z-lbl_1_data_76B0[i][1]; + temp_f29 = sqrtf((sp20[0]*sp20[0])+(sp20[1]*sp20[1])); + if(temp_f29 < 130.0f) { + if(temp_f29 != 0.0f) { + sp20[0] /= temp_f29; + sp20[1] /= temp_f29; + } else { + sp20[0] = 0; + sp20[1] = 1; + } + arg0->x = lbl_1_data_76B0[i][0]+(130.0f*sp20[0]); + arg0->z = lbl_1_data_76B0[i][1]+(130.0f*sp20[1]); + } + } } -float lbl_1_data_7708[3][2][2] = { -99.8, -1431.8, 77.2, -1437.8, -1499.8, -4571.8, -1322.8, -4577.8, 1300.2, -4571.8, 1477.2, -4577.8 }; + +float lbl_1_data_7708[3][2][2] = { + -99.8, -1431.8, 77.2, -1437.8, + -1499.8, -4571.8, -1322.8, -4577.8, + 1300.2, -4571.8, 1477.2, -4577.8 +}; s32 fn_1_16B0(Vec *arg0) { - s32 i; - for (i = 0; i < 3; i++) { - float sp20[2]; - float sp18[2]; - float sp10[2]; - float temp_f29; - float temp_f26; - s32 j; - sp20[0] = lbl_1_data_7708[i][1][0] - lbl_1_data_7708[i][0][0]; - sp20[1] = lbl_1_data_7708[i][1][1] - lbl_1_data_7708[i][0][1]; - temp_f26 = (((arg0->z * sp20[1]) + ((arg0->x * sp20[0]) - (sp20[0] * lbl_1_data_7708[i][0][0]))) - (sp20[1] * lbl_1_data_7708[i][0][1])) - / ((sp20[0] * sp20[0]) + (sp20[1] * sp20[1])); - if (temp_f26 >= 0.0f && temp_f26 < 1.0f) { - sp10[0] = lbl_1_data_7708[i][0][0] + (sp20[0] * temp_f26); - sp10[1] = lbl_1_data_7708[i][0][1] + (sp20[1] * temp_f26); - sp18[0] = arg0->x - sp10[0]; - sp18[1] = arg0->z - sp10[1]; - temp_f29 = sqrtf((sp18[0] * sp18[0]) + (sp18[1] * sp18[1])); - if (temp_f29 < 50.0f) { - if (temp_f29 != 0.0f) { - sp18[0] /= temp_f29; - sp18[1] /= temp_f29; - } - else { - sp18[0] = 0; - sp18[1] = 1; - } - arg0->x = sp10[0] + (50.0f * sp18[0]); - arg0->z = sp10[1] + (50.0f * sp18[1]); - } - } - for (j = 0; j < 2; j++) { - sp20[0] = arg0->x - lbl_1_data_7708[i][j][0]; - sp20[1] = arg0->z - lbl_1_data_7708[i][j][1]; - temp_f29 = sqrtf((sp20[0] * sp20[0]) + (sp20[1] * sp20[1])); - if (temp_f29 < 50.0f) { - if (temp_f29 != 0.0f) { - sp20[0] /= temp_f29; - sp20[1] /= temp_f29; - } - else { - sp20[0] = 0; - sp20[1] = 1; - } - arg0->x = lbl_1_data_7708[i][j][0] + (50.0f * sp20[0]); - arg0->z = lbl_1_data_7708[i][j][1] + (50.0f * sp20[1]); - } - } - } + s32 i; + for(i=0; i<3; i++) { + float sp20[2]; + float sp18[2]; + float sp10[2]; + float temp_f29; + float temp_f26; + s32 j; + sp20[0] = lbl_1_data_7708[i][1][0]-lbl_1_data_7708[i][0][0]; + sp20[1] = lbl_1_data_7708[i][1][1]-lbl_1_data_7708[i][0][1]; + temp_f26 = (((arg0->z*sp20[1])+((arg0->x*sp20[0])-(sp20[0]*lbl_1_data_7708[i][0][0])))-(sp20[1]*lbl_1_data_7708[i][0][1]))/((sp20[0]*sp20[0])+(sp20[1]*sp20[1])); + if(temp_f26 >= 0.0f && temp_f26 < 1.0f) { + sp10[0] = lbl_1_data_7708[i][0][0]+(sp20[0]*temp_f26); + sp10[1] = lbl_1_data_7708[i][0][1]+(sp20[1]*temp_f26); + sp18[0] = arg0->x-sp10[0]; + sp18[1] = arg0->z-sp10[1]; + temp_f29 = sqrtf((sp18[0]*sp18[0])+(sp18[1]*sp18[1])); + if(temp_f29 < 50.0f) { + if(temp_f29 != 0.0f) { + sp18[0] /= temp_f29; + sp18[1] /= temp_f29; + } else { + sp18[0] = 0; + sp18[1] = 1; + } + arg0->x = sp10[0]+(50.0f*sp18[0]); + arg0->z = sp10[1]+(50.0f*sp18[1]); + } + } + for(j=0; j<2; j++) { + sp20[0] = arg0->x-lbl_1_data_7708[i][j][0]; + sp20[1] = arg0->z-lbl_1_data_7708[i][j][1]; + temp_f29 = sqrtf((sp20[0]*sp20[0])+(sp20[1]*sp20[1])); + if(temp_f29 < 50.0f) { + if(temp_f29 != 0.0f) { + sp20[0] /= temp_f29; + sp20[1] /= temp_f29; + } else { + sp20[0] = 0; + sp20[1] = 1; + } + arg0->x = lbl_1_data_7708[i][j][0]+(50.0f*sp20[0]); + arg0->z = lbl_1_data_7708[i][j][1]+(50.0f*sp20[1]); + } + } + } } float fn_1_1C54(s32 arg0, Vec *arg1, Vec *arg2) { - Vec *temp_r31; - Vec *temp_r30; - s32 i; - Vec sp24; - Vec sp18; - s32 sp14 = -1; - float sp10 = 1000; - float *temp_r28 = lbl_1_data_108C[arg0]; - VECSubtract(arg2, arg1, &sp18); - temp_r31 = lbl_1_data_1014[arg0][0]; - temp_r30 = lbl_1_data_1014[arg0][1]; - for (i = 0; i < lbl_1_data_1074[arg0] - 1; i++, temp_r31++, temp_r30++) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - VECSubtract(&temp_r31[1], &temp_r31[0], &sp24); - temp_f31 = VECMag2Point(&sp24); - if (temp_f31 == 0.0f) { - continue; - } - temp_f29 - = ((sp18.x * sp24.x) - (temp_r31->x * sp24.x) + (sp18.y * sp24.y) - (temp_r31->y * sp24.y) + (sp18.z * sp24.z) - (temp_r31->z * sp24.z)) - / temp_f31; - VECSubtract(&temp_r30[1], &temp_r30[0], &sp24); - temp_f31 = VECMag2Point(&sp24); - if (temp_f31 == 0.0f) { - continue; - } - temp_f28 - = ((sp18.x * sp24.x) - (temp_r30->x * sp24.x) + (sp18.y * sp24.y) - (temp_r30->y * sp24.y) + (sp18.z * sp24.z) - (temp_r30->z * sp24.z)) - / temp_f31; - temp_f30 = 0.5f * (temp_f29 + temp_f28); - if (temp_f30 < 0.0f || temp_f30 >= 1.0f) { - continue; - } - else { - return temp_r28[i] + (temp_f30 * (temp_r28[i + 1] - temp_r28[i])); - } - } - return -1; + Vec *temp_r31; + Vec *temp_r30; + s32 i; + Vec sp24; + Vec sp18; + s32 sp14 = -1; + float sp10 = 1000; + float *temp_r28 = lbl_1_data_108C[arg0]; + VECSubtract(arg2, arg1, &sp18); + temp_r31 = lbl_1_data_1014[arg0][0]; + temp_r30 = lbl_1_data_1014[arg0][1]; + for(i=0; ix*sp24.x)+(sp18.y*sp24.y)-(temp_r31->y*sp24.y)+(sp18.z*sp24.z)-(temp_r31->z*sp24.z))/temp_f31; + VECSubtract(&temp_r30[1], &temp_r30[0], &sp24); + temp_f31 = VECMag2Point(&sp24); + if(temp_f31 == 0.0f) { + continue; + } + temp_f28 = ((sp18.x*sp24.x)-(temp_r30->x*sp24.x)+(sp18.y*sp24.y)-(temp_r30->y*sp24.y)+(sp18.z*sp24.z)-(temp_r30->z*sp24.z))/temp_f31; + temp_f30 = 0.5f*(temp_f29+temp_f28); + if(temp_f30 < 0.0f || temp_f30 >= 1.0f) { + continue; + } else { + return temp_r28[i]+(temp_f30*(temp_r28[i+1]-temp_r28[i])); + + } + } + return -1; } void fn_1_1F3C(s32 arg0, Vec *arg1, float arg2, float arg3, Vec *arg4) { - float *temp_r30 = lbl_1_data_108C[arg0]; - s32 i; - for (i = 0; i < lbl_1_data_1074[arg0] - 1; i++) { - if (arg2 < temp_r30[i + 1]) { - break; - } - } - if (i < lbl_1_data_1074[arg0] - 1) { - float temp_f31 = (arg2 - temp_r30[i]) / (temp_r30[i + 1] - temp_r30[i]); - Vec *temp_r29 = &lbl_1_data_1014[arg0][0][i]; - Vec *temp_r28 = &lbl_1_data_1014[arg0][1][i]; - Vec sp20; - Vec sp14; - Vec sp8; - VECSubtract(&temp_r29[1], &temp_r29[0], &sp8); - sp20.x = temp_r29->x + (temp_f31 * sp8.x); - sp20.y = temp_r29->y + (temp_f31 * sp8.y); - sp20.z = temp_r29->z + (temp_f31 * sp8.z); - VECSubtract(&temp_r28[1], &temp_r28[0], &sp8); - sp14.x = temp_r28->x + (temp_f31 * sp8.x); - sp14.y = temp_r28->y + (temp_f31 * sp8.y); - sp14.z = temp_r28->z + (temp_f31 * sp8.z); - arg4->x = (arg1->x + sp20.x) + (arg3 * (sp14.x - sp20.x)); - arg4->y = (arg1->y + sp20.y) + (arg3 * (sp14.y - sp20.y)); - arg4->z = (arg1->z + sp20.z) + (arg3 * (sp14.z - sp20.z)); - } + float *temp_r30 = lbl_1_data_108C[arg0]; + s32 i; + for(i=0; ix+(temp_f31*sp8.x); + sp20.y = temp_r29->y+(temp_f31*sp8.y); + sp20.z = temp_r29->z+(temp_f31*sp8.z); + VECSubtract(&temp_r28[1], &temp_r28[0], &sp8); + sp14.x = temp_r28->x+(temp_f31*sp8.x); + sp14.y = temp_r28->y+(temp_f31*sp8.y); + sp14.z = temp_r28->z+(temp_f31*sp8.z); + arg4->x = (arg1->x+sp20.x)+(arg3*(sp14.x-sp20.x)); + arg4->y = (arg1->y+sp20.y)+(arg3*(sp14.y-sp20.y)); + arg4->z = (arg1->z+sp20.z)+(arg3*(sp14.z-sp20.z)); + } } float fn_1_2184(s32 arg0, float arg1) { - float *temp_r30 = lbl_1_data_108C[arg0]; - s32 i; - for (i = 0; i < lbl_1_data_1074[arg0] - 1; i++) { - if (arg1 < temp_r30[i + 1]) { - break; - } - } - if (i >= lbl_1_data_1074[arg0] - 1) { - return -1; - } - else { - return temp_r30[i + 1] - temp_r30[i]; - } + float *temp_r30 = lbl_1_data_108C[arg0]; + s32 i; + for(i=0; i= lbl_1_data_1074[arg0]-1) { + return -1; + } else { + return temp_r30[i+1]-temp_r30[i]; + } } -s16 lbl_1_data_7738[10][3] = { 1, 0, 0, 2, 1, 2, 2, 3, 4, 1, 5, 0, 1, 6, 0, 1, 7, 0, 1, 8, 0, 1, 9, 0, 1, 10, 0, 1, 11, 0 }; +s16 lbl_1_data_7738[10][3] = { + 1, 0, 0, + 2, 1, 2, + 2, 3, 4, + 1, 5, 0, + 1, 6, 0, + 1, 7, 0, + 1, 8, 0, + 1, 9, 0, + 1, 10, 0, + 1, 11, 0 +}; s32 lbl_1_data_7774[8] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x01), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x14), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x50), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18), + 0x005F0000, + 0x005F0001, + 0x005F0002, + 0x005F0003, + 0x005F0014, + 0x005F0050, + 0x005F0017, + 0x005F0018 }; typedef struct work_5cb0 { - s16 unk0; - Vec unk4; - StructData748C unk10; + s16 unk0; + Vec unk4; + StructData748C unk10; } Work5CB0; + void fn_1_223C(omObjData *object) { - float temp_f29; - WorkD0C *temp_r31; - Work5CB0 *temp_r18; - Vec sp58; - s32 sp18; - omObjData **sp14; - temp_r31 = object->data; - if (temp_r31->unk0_field4) { - temp_r31->unk0_field4 = 0; - sp14 = omGetGroupMemberListEx(HuPrcCurrentGet(), 1); - temp_r18 = sp14[temp_r31->unk2]->data; - sp18 = temp_r18[temp_r31->unk44].unk0; - temp_r31->unk80 = lbl_1_data_7738[sp18][((lbl_1_data_7738[sp18][0] * frand8()) >> 8) + 1]; - temp_r31->unk84 = temp_r18[temp_r31->unk44].unk4; - temp_r31->unk90 = fn_1_1C54(temp_r31->unk80, &temp_r31->unk84, &object->trans); - if (temp_r31->unk90 < 0.0f) { - temp_r31->unk90 = 105.0f; - } - temp_r31->unk90 += 20.0f; - } - else { - if (temp_r31->unk0_field5) { - temp_r31->unk94 = temp_r31->unkA4 = 0.5f; - temp_r31->unk0_field5 = 0; - temp_r31->unk0_field6 = 1; - } - else { - VECSubtract(&temp_r31->unk98, &object->trans, &sp58); - if (VECMag(&sp58) < 20.0f) { - temp_r31->unk90 += 20.0f; - temp_r31->unk0_field6 = 0; - } - } - } - if (object->trans.z < -500.0f && !temp_r31->unk0_field6 && frand8() == 0) { - temp_r31->unkA4 = (0.55f * ((((s32)frand() & 0x1FF) - 256.0f) / 256.0f)) + 0.5f; - } - temp_r31->unk94 += 0.05f * (temp_r31->unkA4 - temp_r31->unk94); - fn_1_1F3C(temp_r31->unk80, &temp_r31->unk84, temp_r31->unk90, temp_r31->unk94, &temp_r31->unk98); - if (temp_r31->unk98.z > temp_r31->unk40) { - temp_r31->unk98.z = temp_r31->unk40; - } - VECSubtract(&temp_r31->unk98, &object->trans, &sp58); - VECNormalize(&sp58, &sp58); - temp_f29 = 10.0 + (((18.0 + (6.0f * temp_r31->unkE)) * fn_1_2184(temp_r31->unk80, temp_r31->unk90)) / 200.0); - if (temp_f29 > 72) { - temp_f29 = 72; - } - temp_r31->unk6 = sp58.x * temp_f29; - temp_r31->unk7 = -sp58.z * temp_f29; + float temp_f29; + WorkD0C *temp_r31; + Work5CB0 *temp_r18; + Vec sp58; + s32 sp18; + omObjData **sp14; + temp_r31 = object->data; + if(temp_r31->unk0_field4) { + temp_r31->unk0_field4 = 0; + sp14 = omGetGroupMemberListEx(HuPrcCurrentGet(), 1); + temp_r18 = sp14[temp_r31->unk2]->data; + sp18 = temp_r18[temp_r31->unk44].unk0; + temp_r31->unk80 = lbl_1_data_7738[sp18][((lbl_1_data_7738[sp18][0]*frand8()) >> 8)+1]; + temp_r31->unk84 = temp_r18[temp_r31->unk44].unk4; + temp_r31->unk90 = fn_1_1C54(temp_r31->unk80, &temp_r31->unk84, &object->trans); + if(temp_r31->unk90 < 0.0f) { + temp_r31->unk90 = 105.0f; + } + temp_r31->unk90 += 20.0f; + } else { + if(temp_r31->unk0_field5) { + temp_r31->unk94 = temp_r31->unkA4 = 0.5f; + temp_r31->unk0_field5 = 0; + temp_r31->unk0_field6 = 1; + } else { + VECSubtract(&temp_r31->unk98, &object->trans, &sp58); + if(VECMag(&sp58) < 20.0f) { + temp_r31->unk90 += 20.0f; + temp_r31->unk0_field6 = 0; + } + } + } + if(object->trans.z < -500.0f && !temp_r31->unk0_field6 && frand8() == 0) { + temp_r31->unkA4 = (0.55f*((((s32)frand() & 0x1FF)-256.0f)/256.0f))+0.5f; + } + temp_r31->unk94 += 0.05f*(temp_r31->unkA4-temp_r31->unk94); + fn_1_1F3C(temp_r31->unk80, &temp_r31->unk84, temp_r31->unk90, temp_r31->unk94, &temp_r31->unk98); + if(temp_r31->unk98.z > temp_r31->unk40) { + temp_r31->unk98.z = temp_r31->unk40; + } + VECSubtract(&temp_r31->unk98, &object->trans, &sp58); + VECNormalize(&sp58, &sp58); + temp_f29 = 10.0+(((18.0+(6.0f*temp_r31->unkE))*fn_1_2184(temp_r31->unk80, temp_r31->unk90))/200.0); + if(temp_f29 > 72) { + temp_f29 = 72; + } + temp_r31->unk6 = sp58.x*temp_f29; + temp_r31->unk7 = -sp58.z*temp_f29; } void fn_1_2C84(omObjData *object); @@ -750,405 +865,394 @@ s32 fn_1_62E0(float arg0); void fn_1_2BB4(omObjData *object) { - WorkD0C *work = object->data; - Hu3DModelAttrReset(object->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(object->model[1], CenterM[work->unk2].x, CenterM[work->unk2].y, CenterM[work->unk2].z); - if (fn_1_374() == 3) { - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - object->func = fn_1_2C84; - } + WorkD0C *work = object->data; + Hu3DModelAttrReset(object->model[1], 1); + Hu3DModelPosSet(object->model[1], CenterM[work->unk2].x, CenterM[work->unk2].y, CenterM[work->unk2].z); + if(fn_1_374() == 3) { + Hu3DModelAttrSet(object->model[1], 1); + object->func = fn_1_2C84; + } } typedef struct work_4aa8 { - u8 unk0 : 1; - s16 unk2; - s16 unk4; - float unk8[2]; - float unk10; - float unk14[4]; - s16 unk24; - s16 unk26; - Vec unk28; - Vec unk34; - Vec unk40; + u8 unk0 : 1; + s16 unk2; + s16 unk4; + float unk8[2]; + float unk10; + float unk14[4]; + s16 unk24; + s16 unk26; + Vec unk28; + Vec unk34; + Vec unk40; } Work4AA8; + void fn_1_3C1C(omObjData *object); s32 fn_1_6328(omObjData *object); s32 fn_1_67B4(Vec *arg0, s32 arg1, s32 arg2, Vec *arg3, Vec *arg4); void fn_1_2C84(omObjData *object) { - WorkD0C *temp_r31; - s32 temp_r29; - s32 temp_r28; - omObjData *temp_r27; - u32 temp_r26; - omObjData **temp_r25; - Work4AA8 *temp_r24; - ParticleData *temp_r23; - float temp_f31; - float temp_f30; - float temp_f28; - float temp_f26; - float temp_f25; - float temp_f23; - - Vec spC; - temp_r31 = object->data; - temp_r28 = temp_r31->unk2C; - temp_f25 = temp_r31->unk34; - temp_r26 = temp_r31->unk30; - if (fn_1_374() >= 6 && !temp_r31->unk0_field2) { - temp_r31->unk0_field7 = 1; - temp_r31->unk12 = 2; - temp_r31->unk3E = 2 * REFRESH_RATE; - object->func = fn_1_3C1C; - return; - } - if (fn_1_374() < 5) { - return; - } - switch (temp_r31->unk12) { - case 0: - if (GWPlayerCfg[temp_r31->unk2].iscom == 0) { - temp_r31->unk6 = HuPadStkX[temp_r31->unk4]; - temp_r31->unk7 = HuPadStkY[temp_r31->unk4]; - temp_r31->unk8 = HuPadBtn[temp_r31->unk4]; - temp_r31->unkA = HuPadBtnDown[temp_r31->unk4]; - } - else { - temp_r31->unk8 = temp_r31->unkA = 0; - temp_r31->unk6 = temp_r31->unk7 = 0; - fn_1_223C(object); - } - temp_f31 = temp_r31->unk6; - temp_f30 = -(float)temp_r31->unk7; - temp_f26 = VECMagPoint(temp_f31, temp_f30, 0); - if (temp_f26 > 0.0f) { - temp_f31 /= temp_f26; - temp_f30 /= temp_f26; - if (temp_f26 > 72) { - temp_f26 = 72; - } - temp_f23 = ((600.0f / REFRESH_RATE) * temp_f26) / 72.0f; - temp_r31->unk20.x = temp_f31 * temp_f23; - temp_r31->unk20.z = temp_f30 * temp_f23; - temp_r31->unk14.y = temp_f23; - object->rot.y = fn_1_1024(object->rot.y, atan2d(temp_r31->unk20.x, temp_r31->unk20.z), 0.2f); - if (temp_r31->unk14.y < (450.0f / REFRESH_RATE)) { - temp_r28 = 1; - temp_f25 = temp_r31->unk14.y / (450.0f / REFRESH_RATE); - } - else { - temp_r28 = 2; - temp_f25 = temp_r31->unk14.y / (600.0f / REFRESH_RATE); - } - } - else { - temp_r31->unk20.x = temp_r31->unk20.z = 0; - temp_r28 = 0; - temp_f25 = 1; - } - VECAdd(&object->trans, &temp_r31->unk20, &object->trans); - fn_1_1128(&object->trans); - fn_1_16B0(&object->trans); - if (object->trans.z > temp_r31->unk40) { - object->trans.z = temp_r31->unk40; - } - else { - if (object->trans.z < -7300) { - temp_r31->unk0_field0 = 1; - temp_r31->unk0_field7 = 1; - temp_r31->unk12 = 0; - if (lbl_1_bss_130 == 0) { - temp_r31->unk0_field8 = 1; - } - lbl_1_bss_132[lbl_1_bss_13A++] = temp_r31->unk2; - object->func = fn_1_3C1C; - return; - } - } - if (fn_1_67B4(&object->trans, temp_r31->unk2, temp_r31->unk44, &temp_r31->unk5C, &temp_r31->unk74) && !temp_r31->unk0_field6) { - temp_r31->unk0_field2 = 1; - temp_r31->unk0_field1 = 1; - temp_r31->unk0_field5 = 1; - temp_r31->unk0_field3 = 0; - temp_r31->unk50.x = object->trans.x; - temp_r31->unk50.y = object->trans.y; - temp_r31->unk50.z = object->trans.z; - temp_r31->unk68.y = -2000; - temp_r31->unk12 = 2; - temp_r31->unk3E = 0.2f * REFRESH_RATE; - temp_r23 = Hu3DData[object->model[2]].unk_120; - temp_r23->unk_00 = 0; - VECSubtract(&temp_r31->unk5C, &object->trans, &temp_r23->unk_04); - Hu3DModelAttrReset(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(object->model[2], object->trans.x, object->trans.y, object->trans.z); - temp_r25 = omGetGroupMemberListEx(HuPrcCurrentGet(), 2); - temp_r25[temp_r31->unk2]->work[3] = 1; - } - else { - spC.x = CenterM[temp_r31->unk2].x; - spC.z = CenterM[temp_r31->unk2].z; - spC.x += 0.1f * (object->trans.x - spC.x); - spC.z += 0.1f * (object->trans.z - spC.z); - temp_r29 = fn_1_62E0(spC.z - 350.0f); - if (temp_r29 != temp_r31->unk46 && temp_r29 > 1 && temp_r29 < 6) { - spC.z = lbl_1_data_75CC[temp_r29 - 1] + 350.0f; - } - else { - temp_r29 = fn_1_62E0(spC.z + 350.0f); - if (temp_r29 != temp_r31->unk46 && temp_r31->unk46 > 1 && temp_r31->unk46 < 6) { - spC.z = lbl_1_data_75CC[temp_r31->unk46 - 1] - 350.0f; - } - } - CenterM[temp_r31->unk2].x = spC.x; - CenterM[temp_r31->unk2].z = spC.z; - temp_r29 = fn_1_62E0(object->trans.z); - if (temp_r29 != temp_r31->unk46) { - temp_r31->unk46 = temp_r29; - temp_r31->unk44 = fn_1_6328(object); - temp_r31->unk0_field4 = 01; - if (temp_r29 > 1 && temp_r29 < 6) { - temp_r31->unk12++; - temp_r31->unk3E = 0.5f * REFRESH_RATE; - temp_r31->unk48 = CenterM[temp_r31->unk2].z; - temp_r31->unk4C = object->trans.z - 350.0f; - temp_r31->unk40 = lbl_1_data_75CC[temp_r31->unk46 - 1]; - } - } - } - break; - - case 1: - if (--temp_r31->unk3E == 0) { - temp_r31->unk12 = 0; - } - CenterM[temp_r31->unk2].z = temp_r31->unk48 + ((temp_r31->unk4C - temp_r31->unk48) * cosd((temp_r31->unk3E * 90.0f) / (0.5f * REFRESH_RATE))); - temp_r28 = 0; - temp_f25 = 1; - break; - - case 2: - temp_r25 = omGetGroupMemberListEx(HuPrcCurrentGet(), 2); - temp_r27 = temp_r25[temp_r31->unk2]; - temp_r24 = temp_r27->data; - switch (temp_r24->unk4) { - case 1: - temp_f28 = 1.0f - (temp_r24->unk24 / (1.5f * REFRESH_RATE)); - object->trans.x = temp_r31->unk50.x + (temp_f28 * (temp_r31->unk5C.x - temp_r31->unk50.x)); - object->trans.y = 100 + (-2000.0f * (temp_f28 - 0.1f)) * (temp_f28 - 0.1f); - object->trans.z = temp_r31->unk50.z + (temp_f28 * (temp_r31->unk5C.z - temp_r31->unk50.z)); - temp_r28 = 3; - temp_r26 = HU3D_MOTATTR_NONE; - break; - - case 2: - case 3: - if (temp_r24->unk0) { - object->trans.x = temp_r27->trans.x; - object->trans.y = temp_r27->trans.y - 150; - object->trans.z = temp_r27->trans.z; - temp_r28 = 4; - temp_r26 = HU3D_MOTATTR_NONE; - } - else { - if (temp_r31->unk3E) { - temp_r31->unk3E--; - } - temp_f28 = sind((temp_r31->unk3E / (0.5f * REFRESH_RATE)) * 90.0f); - object->trans.x = temp_r31->unk74.x - (temp_f28 * (temp_r31->unk74.x - temp_r31->unk68.x)); - object->trans.y = temp_r31->unk74.y - (temp_f28 * (temp_r31->unk74.y - temp_r31->unk68.y)); - object->trans.z = temp_r31->unk74.z - (temp_f28 * (temp_r31->unk74.z - temp_r31->unk68.z)); - temp_r28 = 0; - temp_r26 = HU3D_MOTATTR_LOOP; - } - break; - } - if (!temp_r31->unk0_field1) { - temp_r31->unk0_field2 = 0; - temp_r31->unk12 = 0; - temp_r31->unk20.y = 0; - } - break; - } - if ((temp_r28 >= 0 && temp_r28 != temp_r31->unk2C) || temp_r26 != temp_r31->unk30) { - temp_r31->unk2C = temp_r28; - temp_r31->unk30 = temp_r26; - CharModelMotionShiftSet(temp_r31->unkC, object->motion[temp_r31->unk2C], 0, 8, temp_r26); - } - CharModelMotionSpeedSet(temp_r31->unkC, temp_f25); - temp_r31->unk34 = temp_f25; - if (temp_r31->unk2 == 0) { - Hu3DShadowData.unk_20.x = object->trans.x; - Hu3DShadowData.unk_20.y = object->trans.y; - Hu3DShadowData.unk_20.z = object->trans.z; - Hu3DShadowData.unk_14.x = 700 + Hu3DShadowData.unk_20.x; - Hu3DShadowData.unk_14.y = 2500 + Hu3DShadowData.unk_20.y; - Hu3DShadowData.unk_14.z = Hu3DShadowData.unk_20.z - 700; - } - else { - lbl_1_bss_D4[temp_r31->unk2 - 1].x = object->trans.x; - lbl_1_bss_D4[temp_r31->unk2 - 1].y = object->trans.y; - lbl_1_bss_D4[temp_r31->unk2 - 1].z = object->trans.z; - lbl_1_bss_F8[temp_r31->unk2 - 1].x = 700 + lbl_1_bss_D4[temp_r31->unk2 - 1].x; - lbl_1_bss_F8[temp_r31->unk2 - 1].y = 2500 + lbl_1_bss_D4[temp_r31->unk2 - 1].y; - lbl_1_bss_F8[temp_r31->unk2 - 1].z = lbl_1_bss_D4[temp_r31->unk2 - 1].z - 700; - } + WorkD0C *temp_r31; + s32 temp_r29; + s32 temp_r28; + omObjData *temp_r27; + u32 temp_r26; + omObjData **temp_r25; + Work4AA8 *temp_r24; + ParticleData *temp_r23; + float temp_f31; + float temp_f30; + float temp_f28; + float temp_f26; + float temp_f25; + float temp_f23; + + Vec spC; + temp_r31 = object->data; + temp_r28 = temp_r31->unk2C; + temp_f25 = temp_r31->unk34; + temp_r26 = temp_r31->unk30; + if(fn_1_374() >= 6 && !temp_r31->unk0_field2) { + temp_r31->unk0_field7 = 1; + temp_r31->unk12 = 2; + temp_r31->unk3E = 120; + object->func = fn_1_3C1C; + return; + } + if(fn_1_374() < 5) { + return; + } + switch(temp_r31->unk12){ + case 0: + if(GWPlayerCfg[temp_r31->unk2].iscom == 0) { + temp_r31->unk6 = HuPadStkX[temp_r31->unk4]; + temp_r31->unk7 = HuPadStkY[temp_r31->unk4]; + temp_r31->unk8 = HuPadBtn[temp_r31->unk4]; + temp_r31->unkA = HuPadBtnDown[temp_r31->unk4]; + } else { + temp_r31->unk8 = temp_r31->unkA = 0; + temp_r31->unk6 = temp_r31->unk7 = 0; + fn_1_223C(object); + } + temp_f31 = temp_r31->unk6; + temp_f30 = -(float)temp_r31->unk7; + temp_f26 = VECMagPoint(temp_f31, temp_f30, 0); + if(temp_f26 > 0.0f) { + temp_f31 /= temp_f26; + temp_f30 /= temp_f26; + if(temp_f26 > 72) { + temp_f26 = 72; + } + temp_f23 = (10.0f*temp_f26)/72.0f; + temp_r31->unk20.x = temp_f31*temp_f23; + temp_r31->unk20.z = temp_f30*temp_f23; + temp_r31->unk14.y = temp_f23; + object->rot.y = fn_1_1024(object->rot.y, atan2d(temp_r31->unk20.x, temp_r31->unk20.z), 0.2f); + if(temp_r31->unk14.y < 7.5f) { + temp_r28 = 1; + temp_f25 = temp_r31->unk14.y/7.5f; + } else { + temp_r28 = 2; + temp_f25 = temp_r31->unk14.y/10.0f; + } + } else { + temp_r31->unk20.x = temp_r31->unk20.z = 0; + temp_r28 = 0; + temp_f25 = 1; + } + VECAdd(&object->trans, &temp_r31->unk20, &object->trans); + fn_1_1128(&object->trans); + fn_1_16B0(&object->trans); + if(object->trans.z > temp_r31->unk40) { + object->trans.z = temp_r31->unk40; + } else { + if(object->trans.z < -7300) { + temp_r31->unk0_field0 = 1; + temp_r31->unk0_field7 = 1; + temp_r31->unk12 = 0; + if(lbl_1_bss_130 == 0) { + temp_r31->unk0_field8 = 1; + } + lbl_1_bss_132[lbl_1_bss_13A++] = temp_r31->unk2; + object->func = fn_1_3C1C; + return; + } + } + if(fn_1_67B4(&object->trans, temp_r31->unk2, temp_r31->unk44, &temp_r31->unk5C, &temp_r31->unk74) && !temp_r31->unk0_field6) { + temp_r31->unk0_field2 = 1; + temp_r31->unk0_field1 = 1; + temp_r31->unk0_field5 = 1; + temp_r31->unk0_field3 = 0; + temp_r31->unk50.x = object->trans.x; + temp_r31->unk50.y = object->trans.y; + temp_r31->unk50.z = object->trans.z; + temp_r31->unk68.y = -2000; + temp_r31->unk12 = 2; + temp_r31->unk3E = 12; + temp_r23 = Hu3DData[object->model[2]].unk_120; + temp_r23->unk_00 = 0; + VECSubtract(&temp_r31->unk5C, &object->trans, &temp_r23->unk_04); + Hu3DModelAttrReset(object->model[2], 1); + Hu3DModelPosSet(object->model[2], object->trans.x, object->trans.y, object->trans.z); + temp_r25 = omGetGroupMemberListEx(HuPrcCurrentGet(), 2); + temp_r25[temp_r31->unk2]->work[3] = 1; + } else { + spC.x = CenterM[temp_r31->unk2].x; + spC.z = CenterM[temp_r31->unk2].z; + spC.x += 0.1f*(object->trans.x-spC.x); + spC.z += 0.1f*(object->trans.z-spC.z); + temp_r29 = fn_1_62E0(spC.z-350.0f); + if(temp_r29 != temp_r31->unk46 && temp_r29 > 1 && temp_r29 < 6) { + spC.z = lbl_1_data_75CC[temp_r29-1]+350.0f; + } else { + temp_r29 = fn_1_62E0(spC.z+350.0f); + if(temp_r29 != temp_r31->unk46 && temp_r31->unk46 > 1 && temp_r31->unk46 < 6) { + spC.z = lbl_1_data_75CC[temp_r31->unk46-1]-350.0f; + } + } + CenterM[temp_r31->unk2].x = spC.x; + CenterM[temp_r31->unk2].z = spC.z; + temp_r29 = fn_1_62E0(object->trans.z); + if(temp_r29 != temp_r31->unk46) { + temp_r31->unk46 = temp_r29; + temp_r31->unk44 = fn_1_6328(object); + temp_r31->unk0_field4 = 01; + if(temp_r29 > 1 && temp_r29 < 6) { + temp_r31->unk12++; + temp_r31->unk3E = 30; + temp_r31->unk48 = CenterM[temp_r31->unk2].z; + temp_r31->unk4C = object->trans.z-350.0f; + temp_r31->unk40 = lbl_1_data_75CC[temp_r31->unk46-1]; + } + } + } + break; + + case 1: + if(--temp_r31->unk3E == 0) { + temp_r31->unk12 = 0; + } + CenterM[temp_r31->unk2].z = temp_r31->unk48+((temp_r31->unk4C-temp_r31->unk48)*cosd((temp_r31->unk3E*90.0f)/30.0f)); + temp_r28 = 0; + temp_f25 = 1; + break; + + case 2: + temp_r25 = omGetGroupMemberListEx(HuPrcCurrentGet(), 2); + temp_r27 = temp_r25[temp_r31->unk2]; + temp_r24 = temp_r27->data; + switch(temp_r24->unk4) { + case 1: + temp_f28 = 1.0f-(temp_r24->unk24/90.0f); + object->trans.x = temp_r31->unk50.x+(temp_f28*(temp_r31->unk5C.x-temp_r31->unk50.x)); + object->trans.y = 100+(-2000.0f*(temp_f28-0.1f))*(temp_f28-0.1f); + object->trans.z = temp_r31->unk50.z+(temp_f28*(temp_r31->unk5C.z-temp_r31->unk50.z)); + temp_r28 = 3; + temp_r26 = 0; + break; + + case 2: + case 3: + if(temp_r24->unk0) { + object->trans.x = temp_r27->trans.x; + object->trans.y = temp_r27->trans.y-150; + object->trans.z = temp_r27->trans.z; + temp_r28 = 4; + temp_r26 = 0; + } else { + if(temp_r31->unk3E) { + temp_r31->unk3E--; + } + temp_f28 = sind((temp_r31->unk3E/30.0f)*90.0f); + object->trans.x = temp_r31->unk74.x-(temp_f28*(temp_r31->unk74.x-temp_r31->unk68.x)); + object->trans.y = temp_r31->unk74.y-(temp_f28*(temp_r31->unk74.y-temp_r31->unk68.y)); + object->trans.z = temp_r31->unk74.z-(temp_f28*(temp_r31->unk74.z-temp_r31->unk68.z)); + temp_r28 = 0; + temp_r26 = 0x40000001; + } + break; + } + if(!temp_r31->unk0_field1) { + temp_r31->unk0_field2 = 0; + temp_r31->unk12 = 0; + temp_r31->unk20.y = 0; + } + break; + } + if((temp_r28 >= 0 && temp_r28 != temp_r31->unk2C) || temp_r26 != temp_r31->unk30) { + temp_r31->unk2C = temp_r28; + temp_r31->unk30 = temp_r26; + CharModelMotionShiftSet(temp_r31->unkC, object->motion[temp_r31->unk2C], 0, 8, temp_r26); + } + CharModelMotionSpeedSet(temp_r31->unkC, temp_f25); + temp_r31->unk34 = temp_f25; + if(temp_r31->unk2 == 0) { + Hu3DShadowData.unk_20.x = object->trans.x; + Hu3DShadowData.unk_20.y = object->trans.y; + Hu3DShadowData.unk_20.z = object->trans.z; + Hu3DShadowData.unk_14.x = 700+Hu3DShadowData.unk_20.x; + Hu3DShadowData.unk_14.y = 2500+Hu3DShadowData.unk_20.y; + Hu3DShadowData.unk_14.z = Hu3DShadowData.unk_20.z-700; + } else { + lbl_1_bss_D4[temp_r31->unk2-1].x = object->trans.x; + lbl_1_bss_D4[temp_r31->unk2-1].y = object->trans.y; + lbl_1_bss_D4[temp_r31->unk2-1].z = object->trans.z; + lbl_1_bss_F8[temp_r31->unk2-1].x = 700+lbl_1_bss_D4[temp_r31->unk2-1].x; + lbl_1_bss_F8[temp_r31->unk2-1].y = 2500+lbl_1_bss_D4[temp_r31->unk2-1].y; + lbl_1_bss_F8[temp_r31->unk2-1].z = lbl_1_bss_D4[temp_r31->unk2-1].z-700; + } } void fn_1_3C1C(omObjData *object) { - WorkD0C *temp_r31; - s32 temp_r29; - u32 temp_r28; - float temp_f29; - temp_r31 = object->data; - temp_r29 = temp_r31->unk2C; - temp_f29 = temp_r31->unk34; - temp_r28 = temp_r31->unk30; - switch (temp_r31->unk12) { - case 0: - if (object->trans.z > -7600.0f) { - object->trans.z -= 225.0f / REFRESH_RATE; - } - else { - temp_r31->unk12++; - } - object->rot.y = fn_1_1024(object->rot.y, 180.0f, 0.2f); - temp_r29 = 1; - temp_f29 = 1.0f; - temp_r28 = HU3D_MOTATTR_LOOP; - break; - - case 1: - if (fn_1_374() >= 9) { - temp_r29 = (temp_r31->unk0_field8) ? 5 : 6; - temp_f29 = 1.0f; - temp_r28 = HU3D_MOTATTR_NONE; - } - else { - object->rot.y = fn_1_1024(object->rot.y, 0.0f, 0.2f); - temp_r29 = 0; - temp_f29 = 1.0f; - temp_r28 = HU3D_MOTATTR_LOOP; - } - break; - - case 2: - if (--temp_r31->unk3E == 0 || fn_1_374() == 7) { - temp_r31->unk12 = 1; - } - temp_r29 = 0; - temp_f29 = 1.0f; - temp_r28 = HU3D_MOTATTR_LOOP; - break; - } - if (temp_r31->unk0_field0) { - CZoomM[temp_r31->unk2] += (lbl_1_data_741C[2].zoom - CZoomM[temp_r31->unk2]) * 0.1f; - CenterM[temp_r31->unk2].x += (object->trans.x - CenterM[temp_r31->unk2].x) * 0.1f; - CenterM[temp_r31->unk2].y += ((object->trans.y + 100) - CenterM[temp_r31->unk2].y) * 0.1f; - CenterM[temp_r31->unk2].z += (object->trans.z - CenterM[temp_r31->unk2].z) * 0.1f; - CRotM[temp_r31->unk2].x += (lbl_1_data_741C[2].rot.x - CRotM[temp_r31->unk2].x) * 0.1f; - CRotM[temp_r31->unk2].y += (lbl_1_data_741C[2].rot.y - CRotM[temp_r31->unk2].y) * 0.1f; - CRotM[temp_r31->unk2].z += (lbl_1_data_741C[2].rot.z - CRotM[temp_r31->unk2].z) * 0.1f; - Hu3DModelAttrReset(object->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(object->model[1], object->trans.x, object->trans.y + 200, object->trans.z); - } - else { - CZoomM[temp_r31->unk2] += (lbl_1_data_741C[3].zoom - CZoomM[temp_r31->unk2]) * 0.1f; - CenterM[temp_r31->unk2].x += (object->trans.x - CenterM[temp_r31->unk2].x) * 0.1f; - CenterM[temp_r31->unk2].y += ((object->trans.y + 100) - CenterM[temp_r31->unk2].y) * 0.1f; - CenterM[temp_r31->unk2].z += (object->trans.z - CenterM[temp_r31->unk2].z) * 0.1f; - CRotM[temp_r31->unk2].x += (lbl_1_data_741C[3].rot.x - CRotM[temp_r31->unk2].x) * 0.1f; - CRotM[temp_r31->unk2].y += (lbl_1_data_741C[3].rot.y - CRotM[temp_r31->unk2].y) * 0.1f; - CRotM[temp_r31->unk2].z += (lbl_1_data_741C[3].rot.z - CRotM[temp_r31->unk2].z) * 0.1f; - } - if ((temp_r29 >= 0 && temp_r29 != temp_r31->unk2C) || temp_r28 != temp_r31->unk30) { - temp_r31->unk2C = temp_r29; - temp_r31->unk30 = temp_r28; - CharModelMotionShiftSet(temp_r31->unkC, object->motion[temp_r31->unk2C], 0, 8, temp_r28); - } - CharModelMotionSpeedSet(temp_r31->unkC, temp_f29); - temp_r31->unk34 = temp_f29; + WorkD0C *temp_r31; + s32 temp_r29; + u32 temp_r28; + float temp_f29; + temp_r31 = object->data; + temp_r29 = temp_r31->unk2C; + temp_f29 = temp_r31->unk34; + temp_r28 = temp_r31->unk30; + switch(temp_r31->unk12) { + case 0: + if(object->trans.z > -7600.0f) { + object->trans.z -= 3.75f; + } else { + temp_r31->unk12++; + } + object->rot.y = fn_1_1024(object->rot.y, 180.0f, 0.2f); + temp_r29 = 1; + temp_f29 = 1.0f; + temp_r28 = 0x40000001; + break; + + case 1: + if(fn_1_374() >= 9) { + temp_r29 = (temp_r31->unk0_field8) ? 5 : 6; + temp_f29 = 1.0f; + temp_r28 = 0; + } else { + object->rot.y = fn_1_1024(object->rot.y, 0.0f, 0.2f); + temp_r29 = 0; + temp_f29 = 1.0f; + temp_r28 = 0x40000001; + } + break; + + case 2: + if(--temp_r31->unk3E == 0 || fn_1_374() == 7) { + temp_r31->unk12 = 1; + } + temp_r29 = 0; + temp_f29 = 1.0f; + temp_r28 = 0x40000001; + break; + } + if(temp_r31->unk0_field0) { + CZoomM[temp_r31->unk2] += (lbl_1_data_741C[2].zoom-CZoomM[temp_r31->unk2])*0.1f; + CenterM[temp_r31->unk2].x += (object->trans.x-CenterM[temp_r31->unk2].x)*0.1f; + CenterM[temp_r31->unk2].y += ((object->trans.y+100)-CenterM[temp_r31->unk2].y)*0.1f; + CenterM[temp_r31->unk2].z += (object->trans.z-CenterM[temp_r31->unk2].z)*0.1f; + CRotM[temp_r31->unk2].x += (lbl_1_data_741C[2].rot.x-CRotM[temp_r31->unk2].x)*0.1f; + CRotM[temp_r31->unk2].y += (lbl_1_data_741C[2].rot.y-CRotM[temp_r31->unk2].y)*0.1f; + CRotM[temp_r31->unk2].z += (lbl_1_data_741C[2].rot.z-CRotM[temp_r31->unk2].z)*0.1f; + Hu3DModelAttrReset(object->model[1], 1); + Hu3DModelPosSet(object->model[1], object->trans.x, object->trans.y+200, object->trans.z); + } else { + CZoomM[temp_r31->unk2] += (lbl_1_data_741C[3].zoom-CZoomM[temp_r31->unk2])*0.1f; + CenterM[temp_r31->unk2].x += (object->trans.x-CenterM[temp_r31->unk2].x)*0.1f; + CenterM[temp_r31->unk2].y += ((object->trans.y+100)-CenterM[temp_r31->unk2].y)*0.1f; + CenterM[temp_r31->unk2].z += (object->trans.z-CenterM[temp_r31->unk2].z)*0.1f; + CRotM[temp_r31->unk2].x += (lbl_1_data_741C[3].rot.x-CRotM[temp_r31->unk2].x)*0.1f; + CRotM[temp_r31->unk2].y += (lbl_1_data_741C[3].rot.y-CRotM[temp_r31->unk2].y)*0.1f; + CRotM[temp_r31->unk2].z += (lbl_1_data_741C[3].rot.z-CRotM[temp_r31->unk2].z)*0.1f; + } + if((temp_r29 >= 0 && temp_r29 != temp_r31->unk2C) || temp_r28 != temp_r31->unk30) { + temp_r31->unk2C = temp_r29; + temp_r31->unk30 = temp_r28; + CharModelMotionShiftSet(temp_r31->unkC, object->motion[temp_r31->unk2C], 0, 8, temp_r28); + } + CharModelMotionSpeedSet(temp_r31->unkC, temp_f29); + temp_r31->unk34 = temp_f29; } void fn_1_4528(ModelData *model, ParticleData *particle, Mtx matrix) { - float temp_f31; - float temp_f30; - float temp_f29; - HsfanimStruct01 *temp_r31; - s32 temp_r29; - s32 temp_r28; - if (particle->unk_00 == 0) { - particle->unk_00 = 1; - temp_r31 = particle->unk_48; - temp_f29 = atan2d(particle->unk_04.x, particle->unk_04.z); - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r31++, temp_r29++) { - temp_r31->unk2C = ((20.0f * frand8()) + 50.0f) / 256.0f; - temp_f31 = (frand8() * 360.0f) / 256.0f; - temp_r31->unk34.x = 100.0f * (0.2f * sind(temp_f31)); - temp_r31->unk34.y = 0; - temp_r31->unk34.z = 100.0f * (0.2f * cosd(temp_f31)); - temp_f30 = ((frand8() * (150.0f / REFRESH_RATE)) / 256.0f) + (100.0f / REFRESH_RATE); - temp_f31 = temp_f29 + (30.0f * (((s32)frand() & 0x1FF) - 256.0f) / 256.0f); - temp_r31->unk08.x = temp_f30 * sind(temp_f31); - temp_r31->unk08.z = temp_f30 * cosd(temp_f31); - temp_r31->unk08.y = (frand8() * (1000.0f / REFRESH_RATE)) / 256.0f; - temp_r31->unk40.r = temp_r31->unk40.g = temp_r31->unk40.b = temp_r31->unk40.a = 255; - } - } - temp_r28 = 0; - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - if (temp_r31->unk34.y < -2000.0f) { - temp_r28++; - } - else { - temp_r31->unk08.y += VERSION_NTSC ? -0.50000006f : -0.6f; // -3.0f / REFRESH_RATE - temp_r31->unk34.x += temp_r31->unk08.x; - temp_r31->unk34.y += temp_r31->unk08.y; - temp_r31->unk34.z += temp_r31->unk08.z; - } - } - if (temp_r28 == particle->unk_30) { - model->attr |= 0x1; - } - DCStoreRangeNoSync(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); + float temp_f31; + float temp_f30; + float temp_f29; + HsfanimStruct01 *temp_r31; + s32 temp_r29; + s32 temp_r28; + if(particle->unk_00 == 0) { + particle->unk_00 = 1; + temp_r31 = particle->unk_48; + temp_f29 = atan2d(particle->unk_04.x, particle->unk_04.z); + for(temp_r29=0; temp_r29unk_30; temp_r31++, temp_r29++) { + temp_r31->unk2C = ((20.0f*frand8())+50.0f)/256.0f; + temp_f31 = (frand8()*360.0f)/256.0f; + temp_r31->unk34.x = 100.0f*(0.2f*sind(temp_f31)); + temp_r31->unk34.y = 0; + temp_r31->unk34.z = 100.0f*(0.2f*cosd(temp_f31)); + temp_f30 = ((frand8()*2.5f)/256.0f)+(5.0f/3.0f); + temp_f31 = temp_f29+(30.0f*(((s32)frand() & 0x1FF)-256.0f)/256.0f); + temp_r31->unk08.x = temp_f30*sind(temp_f31); + temp_r31->unk08.z = temp_f30*cosd(temp_f31); + temp_r31->unk08.y = (frand8()*(50.0f/3.0f))/256.0f; + temp_r31->unk40.r = temp_r31->unk40.g = temp_r31->unk40.b = temp_r31->unk40.a = 255; + } + } + temp_r28 = 0; + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(temp_r31->unk34.y < -2000.0f) { + temp_r28++; + } else { + temp_r31->unk08.y += -0.50000006f; + temp_r31->unk34.x += temp_r31->unk08.x; + temp_r31->unk34.y += temp_r31->unk08.y; + temp_r31->unk34.z += temp_r31->unk08.z; + } + } + if(temp_r28 == particle->unk_30) { + model->attr |= 0x1; + } + DCStoreRangeNoSync(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); } void fn_1_4978(omObjData *object) { - WorkD0C *work = object->data; - if (object->data != NULL) { - HuMemDirectFree(object->data); - object->data = NULL; - } + WorkD0C *work = object->data; + if(object->data != NULL) { + HuMemDirectFree(object->data); + object->data = NULL; + } } void fn_1_4AA8(omObjData *object); void fn_1_49C8(Process *objman) { - s32 i; - lbl_1_bss_140 = 0; - omMakeGroupEx(objman, 2, 4); - for (i = 0; i < 4; i++) { - omAddObjEx(objman, 6, 4, 50, 2, fn_1_4AA8); - } + s32 i; + lbl_1_bss_140 = 0; + omMakeGroupEx(objman, 2, 4); + for(i=0; i<4; i++) { + omAddObjEx(objman, 6, 4, 50, 2, fn_1_4AA8); + } } void fn_1_5B9C(omObjData *object); void fn_1_4A4C(void) { - omObjData **objList = omGetGroupMemberListEx(HuPrcCurrentGet(), 2); - s32 i; - for (i = 0; i < 4; i++) { - fn_1_5B9C(objList[i]); - } + omObjData **objList = omGetGroupMemberListEx(HuPrcCurrentGet(), 2); + s32 i; + for(i=0; i<4; i++) { + fn_1_5B9C(objList[i]); + } } s32 lbl_1_data_7794[1] = { 0x460014 }; @@ -1158,35 +1262,35 @@ void fn_1_4F54(omObjData *object); void fn_1_4AA8(omObjData *object) { - Work4AA8 *work; - u32 i; - work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work4AA8), MEMORY_DEFAULT_NUM); - object->data = work; - memset(work, 0, sizeof(Work4AA8)); - work->unk2 = lbl_1_bss_140; - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M439, 0x13)); - Hu3DModelCameraSet(object->model[0], lbl_1_data_75E0[lbl_1_bss_140]); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - for (i = 0; i < 1; i++) { - object->motion[i] = Hu3DJointMotionFile(object->model[0], lbl_1_data_7794[i]); - } - Hu3DMotionSet(object->model[0], object->motion[0]); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - object->trans.y = 500.0f; - object->scale.x = object->scale.y = object->scale.z = 0.25f; - if (work->unk2 == 0) { - object->trans.x = -1800; - object->trans.y = 50; - object->trans.z = -8500; - object->rot.y = -90; - object->func = fn_1_4CC0; - Hu3DMotionSpeedSet(object->model[0], 2.0f); - work->unk24 = REFRESH_RATE; - } - else { - object->func = fn_1_4F54; - } - lbl_1_bss_140++; + Work4AA8 *work; + u32 i; + work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work4AA8), MEMORY_DEFAULT_NUM); + object->data = work; + memset(work, 0, sizeof(Work4AA8)); + work->unk2 = lbl_1_bss_140; + object->model[0] = Hu3DModelCreateFile(0x460013); + Hu3DModelCameraSet(object->model[0], lbl_1_data_75E0[lbl_1_bss_140]); + Hu3DModelAttrSet(object->model[0], 1); + for(i=0; i<1; i++) { + object->motion[i] = Hu3DJointMotionFile(object->model[0], lbl_1_data_7794[i]); + + } + Hu3DMotionSet(object->model[0], object->motion[0]); + Hu3DModelAttrSet(object->model[0], 0x40000001); + object->trans.y = 500; + object->scale.x = object->scale.y = object->scale.z = 0.25f; + if(work->unk2 == 0) { + object->trans.x = -1800; + object->trans.y = 50; + object->trans.z = -8500; + object->rot.y = -90; + object->func = fn_1_4CC0; + Hu3DMotionSpeedSet(object->model[0], 2.0f); + work->unk24 = 60; + } else { + object->func = fn_1_4F54; + } + lbl_1_bss_140++; } s32 lbl_1_data_7798 = 2; @@ -1194,443 +1298,498 @@ s32 lbl_1_data_779C = -1; void fn_1_4CC0(omObjData *object) { - Work4AA8 *work = object->data; - float pan; - Vec pos2D; - if ((VERSION_NTSC ? 42.0f : 35.0f) == work->unk24) { - HuAudFXPlay(1795); - } - if (work->unk24 == 0) { - object->trans.x -= 1500.0f / REFRESH_RATE; - } - else { - if (--work->unk24 == 0) { - lbl_1_data_779C = HuAudFXPlay(1796); - lbl_1_data_7798--; - } - } - if (lbl_1_data_779C >= 0) { - if (HuAudFXStatusGet(lbl_1_data_779C) == 0) { - if (lbl_1_data_7798 > 0) { - lbl_1_data_779C = HuAudFXPlay(1796); - lbl_1_data_7798--; - } - else { - lbl_1_data_779C = -1; - } - } - if (lbl_1_data_779C >= 0) { - Hu3D3Dto2D(&object->trans, 1, &pos2D); - pan = 64.0f + ((32.0f * pos2D.x) / 576.0f); - if (pan < 32.0f) { - pan = 32.0f; - } - else if (pan > 96.0f) { - pan = 96.0f; - } - HuAudFXPanning(lbl_1_data_779C, pan); - } - } - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - if (fn_1_374() == 3) { - Hu3DMotionSpeedSet(object->model[0], 1.0f); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - object->func = fn_1_4F54; - } + Work4AA8 *work = object->data; + float pan; + Vec pos2D; + if(42.0f == work->unk24) { + HuAudFXPlay(1795); + } + if(work->unk24 == 0) { + object->trans.x -= 25.0f; + } else { + if(--work->unk24 == 0) { + lbl_1_data_779C = HuAudFXPlay(1796); + lbl_1_data_7798--; + } + } + if(lbl_1_data_779C >= 0) { + if(HuAudFXStatusGet(lbl_1_data_779C) == 0) { + if(lbl_1_data_7798 > 0) { + lbl_1_data_779C = HuAudFXPlay(1796); + lbl_1_data_7798--; + } else { + lbl_1_data_779C = -1; + } + } + if(lbl_1_data_779C >= 0) { + Hu3D3Dto2D(&object->trans, 1, &pos2D); + pan = 64.0f+((32.0f*pos2D.x)/576.0f); + if(pan < 32.0f) { + pan = 32.0f; + } else if(pan > 96.0f) { + pan = 96.0f; + } + HuAudFXPanning(lbl_1_data_779C, pan); + } + } + Hu3DModelAttrReset(object->model[0], 1); + if(fn_1_374() == 3) { + Hu3DMotionSpeedSet(object->model[0], 1.0f); + Hu3DModelAttrSet(object->model[0], 1); + object->func = fn_1_4F54; + } } void fn_1_71EC(Vec *arg0, Vec *arg1, float arg2); void fn_1_4F54(omObjData *object) { - Work4AA8 *work = object->data; - omObjData **temp_r29; - WorkD0C *temp_r28; - Vec sp4C; - Vec sp40; - switch (work->unk4) { - case 0: - if (object->work[3]) { - work->unk4++; - work->unk24 = work->unk26 = 1.5f * REFRESH_RATE; - temp_r29 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - object->trans.x = work->unk28.x = temp_r29[work->unk2]->trans.x; - object->trans.y = work->unk28.y = 2000; - object->trans.z = work->unk28.z = temp_r29[work->unk2]->trans.z - 100; - object->rot.y = 180; - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - } - break; - - case 1: - temp_r29 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - work->unk34.x = temp_r29[work->unk2]->trans.x; - work->unk34.y = 1500; - work->unk34.z = temp_r29[work->unk2]->trans.z; - work->unk40.x = temp_r29[work->unk2]->trans.x; - work->unk40.y = temp_r29[work->unk2]->trans.y; - work->unk40.z = temp_r29[work->unk2]->trans.z; - fn_1_71EC(&work->unk28, &sp40, 1.0f - ((float)work->unk24 / (float)work->unk26)); - VECSubtract(&sp40, &object->trans, &sp4C); - object->rot.x = fn_1_1024(object->rot.x, atan2d(-sp4C.y, VECMagXZ(&sp4C)), 0.2f); - object->rot.y = fn_1_1024(object->rot.y, atan2d(sp4C.x, sp4C.z), 0.2f); - object->trans.x = sp40.x; - object->trans.y = sp40.y; - object->trans.z = sp40.z; - if (--work->unk24 == 0) { - work->unk0 = 1; - work->unk4++; - work->unk24 = 1.5f * REFRESH_RATE; - work->unk10 = (200.0f - object->trans.y) / work->unk24; - object->rot.x = 0; - } - if (1.0f * REFRESH_RATE == work->unk24) { - HuAudFXPlay(1796); - } - break; - - case 2: - object->trans.y += work->unk10; - if (--work->unk24 == 0) { - work->unk4++; - work->unk24 = work->unk26 = 0.8f * REFRESH_RATE; - work->unk28.x = object->trans.x; - work->unk28.y = object->trans.y; - work->unk28.z = object->trans.z; - temp_r29 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - temp_r28 = temp_r29[work->unk2]->data; - work->unk34.x = temp_r28->unk50.x; - work->unk34.y = 250; - work->unk34.z = temp_r28->unk50.z; - temp_r29 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - temp_r28 = temp_r29[work->unk2]->data; - temp_r28->unk0_field3 = 1; - VECSubtract(&work->unk34, &work->unk28, &sp4C); - VECNormalize(&sp4C, &sp4C); - VECScale(&sp4C, &work->unk40, 2000.0f); - work->unk40.y = 300; - VECAdd(&work->unk28, &work->unk40, &work->unk40); - } - break; - - case 3: - fn_1_71EC(&work->unk28, &sp40, 1.0f - ((float)work->unk24 / (float)work->unk26)); - VECSubtract(&sp40, &object->trans, &sp4C); - object->rot.x = fn_1_1024(object->rot.x, atan2d(-sp4C.y, VECMagXZ(&sp4C)), 0.2f); - object->rot.y = fn_1_1024(object->rot.y, atan2d(sp4C.x, sp4C.z), 0.2f); - object->trans.x = sp40.x; - object->trans.y = sp40.y; - object->trans.z = sp40.z; - if (--work->unk24 == 0) { - temp_r29 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - temp_r28 = temp_r29[work->unk2]->data; - temp_r28->unk0_field1 = 0; - work->unk4 = 0; - object->work[3] = 0; - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - } - if (work->unk24 == (int)(work->unk26 - (0.2f * REFRESH_RATE))) { - work->unk0 = 0; - temp_r29 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - temp_r28 = temp_r29[work->unk2]->data; - temp_r28->unk68.x = object->trans.x; - temp_r28->unk68.y = object->trans.y; - temp_r28->unk68.z = object->trans.z; - } - break; - } + Work4AA8 *work = object->data; + omObjData **temp_r29; + WorkD0C *temp_r28; + Vec sp4C; + Vec sp40; + switch(work->unk4) { + case 0: + if(object->work[3]) { + work->unk4++; + work->unk24 = work->unk26 = 90; + temp_r29 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + object->trans.x = work->unk28.x = temp_r29[work->unk2]->trans.x; + object->trans.y = work->unk28.y = 2000; + object->trans.z = work->unk28.z = temp_r29[work->unk2]->trans.z-100; + object->rot.y = 180; + Hu3DModelAttrReset(object->model[0], 1); + } + break; + + case 1: + temp_r29 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + work->unk34.x = temp_r29[work->unk2]->trans.x; + work->unk34.y = 1500; + work->unk34.z = temp_r29[work->unk2]->trans.z; + work->unk40.x = temp_r29[work->unk2]->trans.x; + work->unk40.y = temp_r29[work->unk2]->trans.y; + work->unk40.z = temp_r29[work->unk2]->trans.z; + fn_1_71EC(&work->unk28, &sp40, 1.0f-((float)work->unk24/(float)work->unk26)); + VECSubtract(&sp40, &object->trans, &sp4C); + object->rot.x = fn_1_1024(object->rot.x, atan2d(-sp4C.y, VECMagXZ(&sp4C)), 0.2f); + object->rot.y = fn_1_1024(object->rot.y, atan2d(sp4C.x, sp4C.z), 0.2f); + object->trans.x = sp40.x; + object->trans.y = sp40.y; + object->trans.z = sp40.z; + if(--work->unk24 == 0) { + work->unk0 = 1; + work->unk4++; + work->unk24 = 90; + work->unk10 = (200.0f-object->trans.y)/work->unk24; + object->rot.x = 0; + } + if(60.0f == work->unk24) { + HuAudFXPlay(1796); + } + break; + + case 2: + object->trans.y += work->unk10; + if(--work->unk24 == 0) { + work->unk4++; + work->unk24 = work->unk26 = 48; + work->unk28.x = object->trans.x; + work->unk28.y = object->trans.y; + work->unk28.z = object->trans.z; + temp_r29 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + temp_r28 = temp_r29[work->unk2]->data; + work->unk34.x = temp_r28->unk50.x; + work->unk34.y = 250; + work->unk34.z = temp_r28->unk50.z; + temp_r29 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + temp_r28 = temp_r29[work->unk2]->data; + temp_r28->unk0_field3 = 1; + VECSubtract(&work->unk34, &work->unk28, &sp4C); + VECNormalize(&sp4C, &sp4C); + VECScale(&sp4C, &work->unk40, 2000.0f); + work->unk40.y = 300; + VECAdd(&work->unk28, &work->unk40, &work->unk40); + + } + break; + + case 3: + fn_1_71EC(&work->unk28, &sp40, 1.0f-((float)work->unk24/(float)work->unk26)); + VECSubtract(&sp40, &object->trans, &sp4C); + object->rot.x = fn_1_1024(object->rot.x, atan2d(-sp4C.y, VECMagXZ(&sp4C)), 0.2f); + object->rot.y = fn_1_1024(object->rot.y, atan2d(sp4C.x, sp4C.z), 0.2f); + object->trans.x = sp40.x; + object->trans.y = sp40.y; + object->trans.z = sp40.z; + if(--work->unk24 == 0) { + temp_r29 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + temp_r28 = temp_r29[work->unk2]->data; + temp_r28->unk0_field1 = 0; + work->unk4 = 0; + object->work[3] = 0; + Hu3DModelAttrSet(object->model[0], 1); + } + if(work->unk24 == (int)(work->unk26-12.0f)) { + work->unk0 = 0; + temp_r29 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + temp_r28 = temp_r29[work->unk2]->data; + temp_r28->unk68.x = object->trans.x; + temp_r28->unk68.y = object->trans.y; + temp_r28->unk68.z = object->trans.z; + } + break; + } } -void fn_1_5B9C(omObjData *object) { } +void fn_1_5B9C(omObjData *object) +{ + +} -s32 lbl_1_data_77A0[10] = { 0x00460000, 0x00460001, 0x00460002, 0x00460003, 0x00460004, 0x00460005, 0x00460006, 0x00460007, 0x00460008, 0x00460009 }; +s32 lbl_1_data_77A0[10] = { + 0x00460000, + 0x00460001, + 0x00460002, + 0x00460003, + 0x00460004, + 0x00460005, + 0x00460006, + 0x00460007, + 0x00460008, + 0x00460009 +}; void fn_1_5CB0(omObjData *object); void fn_1_6520(omObjData *object); void fn_1_5BA0(Process *objman) { - s32 i; - lbl_1_bss_144 = 0; - omMakeGroupEx(objman, 1, 4); - for (i = 0; i < 4; i++) { - omAddObjEx(objman, 10, 28, 0, 1, fn_1_5CB0); - } - for (i = 0; i < 10; i++) { - lbl_1_bss_10[i] = Hu3DModelCreateFile(lbl_1_data_77A0[i]); - Hu3DModelAttrSet(lbl_1_bss_10[i], HU3D_ATTR_DISPOFF); - } - omAddObjEx(objman, 10, 4, 0, 1, fn_1_6520); + s32 i; + lbl_1_bss_144 = 0; + omMakeGroupEx(objman, 1, 4); + for(i=0; i<4; i++) { + omAddObjEx(objman, 10, 28, 0, 1, fn_1_5CB0); + } + for(i=0; i<10; i++) { + lbl_1_bss_10[i] = Hu3DModelCreateFile(lbl_1_data_77A0[i]); + Hu3DModelAttrSet(lbl_1_bss_10[i], 1); + } + omAddObjEx(objman, 10, 4, 0, 1, fn_1_6520); } -void fn_1_5CAC(void) { } +void fn_1_5CAC(void) +{ + +} -float lbl_1_data_77C8[][2] = { 0, 0, 0, -700, -1400, -2200, 1400, -2200, -1400, -3600, 1400, -3600, -2800, -5200, 0, -5200, 0, -5200, 2800, -5200, - -2800, -6600, 0, -6600, 0, -6600, 2800, -6600 }; +float lbl_1_data_77C8[][2] = { + 0, 0, + 0, -700, + -1400, -2200, + 1400, -2200, + -1400, -3600, + 1400, -3600, + -2800, -5200, + 0, -5200, + 0, -5200, + 2800, -5200, + -2800, -6600, + 0, -6600, + 0, -6600, + 2800, -6600 +}; -s16 lbl_1_data_7838[] = { 0, 1, -1, -1, 2, 2, -1, -1, -1, -1, 3, 3, 3, 3 }; +s16 lbl_1_data_7838[] = { + 0, 1, -1, -1, + 2, 2, -1, -1, + -1, -1, 3, 3, + 3, 3 +}; void fn_1_6068(omObjData *object); void fn_1_5CB0(omObjData *object) { - u16 sp8[6] = { 4, 7, 5, 8, 6, 9 }; - char *sp14[10][2] = { "road0", NULL, "road1", "bridge1", "road2", "bridge2", "road3", NULL, "road4", NULL, "road5", NULL, "road6", NULL, "road7", - NULL, "road8", NULL, "road9", NULL }; - Work5CB0 *work; - s32 i; - s32 temp; - s32 temp_r27; - s32 temp_r26; - s32 temp_r25; - s32 temp_r24; - omSetStatBit(object, 0x100); - work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work5CB0) * 14, MEMORY_DEFAULT_NUM); - object->data = work; - memset(work, 0, sizeof(Work5CB0) * 14); - for (i = 0; i < 100; i++) { - temp_r27 = ((frand8() * 3) >> 8) * 2; - temp_r25 = ((frand8() * 3) >> 8) * 2; - temp = sp8[temp_r27]; - sp8[temp_r27] = sp8[temp_r25]; - sp8[temp_r25] = temp; - temp_r27 = (((frand8() * 3) >> 8) * 2) + 1; - temp_r25 = (((frand8() * 3) >> 8) * 2) + 1; - temp = sp8[temp_r27]; - sp8[temp_r27] = sp8[temp_r25]; - sp8[temp_r25] = temp; - } - for (i = 0; i < 100; i++) { - temp_r27 = ((frand8() * 3) >> 8) * 2; - temp = sp8[temp_r27 + 1]; - sp8[temp_r27 + 1] = sp8[temp_r27]; - sp8[temp_r27] = temp; - } - temp_r24 = 0; - for (i = 0; i < 14; i++, work++) { - temp_r26 = lbl_1_data_7838[i]; - if (temp_r26 < 0) { - temp_r26 = sp8[temp_r24++]; - } - object->model[i] = Hu3DModelLink(lbl_1_bss_10[temp_r26]); - Hu3DModelPosSet(object->model[i], lbl_1_data_77C8[i][0], 0, lbl_1_data_77C8[i][1]); - Hu3DModelAttrReset(object->model[i], HU3D_ATTR_DISPOFF); - for (temp = 0; temp < 2; temp++) { - if (sp14[temp_r26][temp]) { - Hu3DModelShadowMapObjSet(object->model[i], sp14[temp_r26][temp]); - } - } - work->unk0 = temp_r26; - work->unk4.x = lbl_1_data_77C8[i][0]; - work->unk4.y = 0; - work->unk4.z = lbl_1_data_77C8[i][1]; - memcpy(&work->unk10, &lbl_1_data_748C[i], sizeof(StructData748C)); - } - object->work[0] = lbl_1_bss_144; - lbl_1_bss_144++; - object->func = fn_1_6068; + u16 sp8[6] = { + 4, 7, 5, 8, 6, 9 + }; + char *sp14[10][2] = { + "road0", NULL, + "road1", "bridge1", + "road2", "bridge2", + "road3", NULL, + "road4", NULL, + "road5", NULL, + "road6", NULL, + "road7", NULL, + "road8", NULL, + "road9", NULL + }; + Work5CB0 *work; + s32 i; + s32 temp; + s32 temp_r27; + s32 temp_r26; + s32 temp_r25; + s32 temp_r24; + omSetStatBit(object, 0x100); + work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work5CB0)*14, MEMORY_DEFAULT_NUM); + object->data = work; + memset(work, 0, sizeof(Work5CB0)*14); + for(i=0; i<100; i++) { + temp_r27 = ((frand8()*3) >> 8)*2; + temp_r25 = ((frand8()*3) >> 8)*2; + temp = sp8[temp_r27]; + sp8[temp_r27] = sp8[temp_r25]; + sp8[temp_r25] = temp; + temp_r27 = (((frand8()*3) >> 8)*2)+1; + temp_r25 = (((frand8()*3) >> 8)*2)+1; + temp = sp8[temp_r27]; + sp8[temp_r27] = sp8[temp_r25]; + sp8[temp_r25] = temp; + } + for(i=0; i<100; i++) { + temp_r27 = ((frand8()*3) >> 8)*2; + temp = sp8[temp_r27+1]; + sp8[temp_r27+1] = sp8[temp_r27]; + sp8[temp_r27] = temp; + } + temp_r24 = 0; + for(i=0; i<14; i++, work++) { + temp_r26 = lbl_1_data_7838[i]; + if(temp_r26 < 0) { + temp_r26 = sp8[temp_r24++]; + } + object->model[i] = Hu3DModelLink(lbl_1_bss_10[temp_r26]); + Hu3DModelPosSet(object->model[i], lbl_1_data_77C8[i][0], 0, lbl_1_data_77C8[i][1]); + Hu3DModelAttrReset(object->model[i], 1); + for(temp=0; temp<2; temp++) { + if(sp14[temp_r26][temp]) { + Hu3DModelShadowMapObjSet(object->model[i], sp14[temp_r26][temp]); + } + } + work->unk0 = temp_r26; + work->unk4.x = lbl_1_data_77C8[i][0]; + work->unk4.y = 0; + work->unk4.z = lbl_1_data_77C8[i][1]; + memcpy(&work->unk10, &lbl_1_data_748C[i], sizeof(StructData748C)); + + } + object->work[0] = lbl_1_bss_144; + lbl_1_bss_144++; + object->func = fn_1_6068; } void fn_1_6120(omObjData *object); void fn_1_6068(omObjData *object) { - s32 i; - for (i = 0; i < 14; i++) { - if (object->work[0] == 0 && i == 10) { - Hu3DModelCameraSet(object->model[i], lbl_1_data_75E0[0]); - } - else { - Hu3DModelCameraSet(object->model[i], 0); - } - } - if (fn_1_374() == 3) { - object->func = fn_1_6120; - } + s32 i; + for(i=0; i<14; i++) { + if(object->work[0] == 0 && i == 10) { + Hu3DModelCameraSet(object->model[i], lbl_1_data_75E0[0]); + } else { + Hu3DModelCameraSet(object->model[i], 0); + } + } + if(fn_1_374() == 3) { + object->func = fn_1_6120; + } } void fn_1_6120(omObjData *object) { - s32 i; - WorkD0C *temp_r29; - omObjData **temp_r28; - Work5CB0 *work = object->data; - s16 sp8[14]; - for (i = 0; i < 14; i++) { - sp8[i] = 0; - } - temp_r28 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - temp_r29 = temp_r28[object->work[0]]->data; - lbl_1_bss_C = &work[temp_r29->unk44].unk10; - sp8[temp_r29->unk44] |= lbl_1_data_75E0[object->work[0]]; - if (lbl_1_bss_C->unk4 >= 0) { - sp8[lbl_1_bss_C->unk4] |= lbl_1_data_75E0[object->work[0]]; - } - for (i = 0; i < lbl_1_bss_C->unk8; i++) { - sp8[lbl_1_bss_C->unkC[i]] |= lbl_1_data_75E0[object->work[0]]; - } - for (i = 0; i < 14; i++) { - Hu3DModelCameraSet(object->model[i], sp8[i]); - } + s32 i; + WorkD0C *temp_r29; + omObjData **temp_r28; + Work5CB0 *work = object->data; + s16 sp8[14]; + for(i=0; i<14; i++) { + sp8[i] = 0; + } + temp_r28 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + temp_r29 = temp_r28[object->work[0]]->data; + lbl_1_bss_C = &work[temp_r29->unk44].unk10; + sp8[temp_r29->unk44] |= lbl_1_data_75E0[object->work[0]]; + if(lbl_1_bss_C->unk4 >= 0) { + sp8[lbl_1_bss_C->unk4] |= lbl_1_data_75E0[object->work[0]]; + } + for(i=0; iunk8; i++) { + sp8[lbl_1_bss_C->unkC[i]] |= lbl_1_data_75E0[object->work[0]]; + } + for(i=0; i<14; i++) { + Hu3DModelCameraSet(object->model[i], sp8[i]); + } } s32 fn_1_62E0(float arg0) { - s32 i; - for (i = 0; i < 5; i++) { - if (arg0 > lbl_1_data_75CC[i]) { - break; - } - } - return i; + s32 i; + for(i=0; i<5; i++) { + if(arg0 > lbl_1_data_75CC[i]) { + break; + } + } + return i; } s32 fn_1_6328(omObjData *object) { - WorkD0C *work = object->data; - omObjData **temp_r28 = omGetGroupMemberListEx(HuPrcCurrentGet(), 1); - Work5CB0 *temp_r29 = temp_r28[work->unk2]->data; - s32 i; - ModelData *temp_r26; - s32 temp_r25; - float temp_f31; - float temp_f30; - lbl_1_bss_8 = &temp_r29[work->unk44].unk10; - if (lbl_1_bss_8->unk8 > 0 && work->unk46 == temp_r29[lbl_1_bss_8->unkC[0]].unk10.unk0) { - temp_r25 = -1; - temp_f30 = 9999; - for (i = 0; i < lbl_1_bss_8->unk8; i++) { - temp_r26 = &Hu3DData[temp_r28[work->unk2]->model[lbl_1_bss_8->unkC[i]]]; - temp_f31 = fabs(object->trans.x - temp_r26->pos.x); - if (temp_f31 < temp_f30) { - temp_f30 = temp_f31; - temp_r25 = lbl_1_bss_8->unkC[i]; - } - } - (void)i; - return temp_r25; - } - else { - if (work->unk46 == temp_r29[lbl_1_bss_8->unk4].unk10.unk0) { - return lbl_1_bss_8->unk4; - } - else { - return -1; - } - } + WorkD0C *work = object->data; + omObjData **temp_r28 = omGetGroupMemberListEx(HuPrcCurrentGet(), 1); + Work5CB0 *temp_r29 = temp_r28[work->unk2]->data; + s32 i; + ModelData *temp_r26; + s32 temp_r25; + float temp_f31; + float temp_f30; + lbl_1_bss_8 = &temp_r29[work->unk44].unk10; + if(lbl_1_bss_8->unk8 > 0 && work->unk46 == temp_r29[lbl_1_bss_8->unkC[0]].unk10.unk0) { + temp_r25 = -1; + temp_f30 = 9999; + for(i=0; iunk8; i++) { + temp_r26 = &Hu3DData[temp_r28[work->unk2]->model[lbl_1_bss_8->unkC[i]]]; + temp_f31 = fabs(object->trans.x-temp_r26->pos.x); + if(temp_f31 < temp_f30) { + temp_f30 = temp_f31; + temp_r25 = lbl_1_bss_8->unkC[i]; + } + } + (void)i; + return temp_r25; + } else { + if(work->unk46 == temp_r29[lbl_1_bss_8->unk4].unk10.unk0) { + return lbl_1_bss_8->unk4; + } else { + return -1; + } + } } -s32 lbl_1_data_78A0[8] = { 0x0046000A, 0x0046000B, 0x0046000C, 0x0046000D, 0x0046000E, 0x0046000F, 0x00460010, 0x00460011 }; +s32 lbl_1_data_78A0[8] = { + 0x0046000A, + 0x0046000B, + 0x0046000C, + 0x0046000D, + 0x0046000E, + 0x0046000F, + 0x00460010, + 0x00460011 +}; -Vec lbl_1_data_78C0[4] = { { -2800, 0, -7700 }, { 0, 0, -7700 }, { 0, 0, -7700 }, { 2800, 0, -7700 } }; +Vec lbl_1_data_78C0[4] = { + { -2800, 0, -7700 }, + { 0, 0, -7700 }, + { 0, 0, -7700 }, + { 2800, 0, -7700 } +}; void fn_1_661C(omObjData *object); void fn_1_6520(omObjData *object) { - s32 i; - omSetStatBit(object, 0x100); - for (i = 0; i < object->mdlcnt; i++) { - object->model[i] = Hu3DModelCreateFile(lbl_1_data_78A0[GWPlayerCfg[i].character]); - Hu3DModelCameraSet(object->model[i], lbl_1_data_75E0[i]); - Hu3DModelClusterAttrSet(object->model[i], 0, 0xC0000001); - Hu3DModelAttrSet(object->model[i], HU3D_ATTR_DISPOFF); - } - object->func = fn_1_661C; + s32 i; + omSetStatBit(object, 0x100); + for(i=0; imdlcnt; i++) { + object->model[i] = Hu3DModelCreateFile(lbl_1_data_78A0[GWPlayerCfg[i].character]); + Hu3DModelCameraSet(object->model[i], lbl_1_data_75E0[i]); + Hu3DModelClusterAttrSet(object->model[i], 0, 0xC0000001); + Hu3DModelAttrSet(object->model[i], 1); + } + object->func = fn_1_661C; } void fn_1_66BC(omObjData *object); void fn_1_661C(omObjData *object) { - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(object->model[0], -2800, 0, -7700); - if (fn_1_374() == 3) { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - object->func = fn_1_66BC; - } + Hu3DModelAttrReset(object->model[0], 1); + Hu3DModelPosSet(object->model[0], -2800, 0, -7700); + if(fn_1_374() == 3) { + Hu3DModelAttrSet(object->model[0], 1); + object->func = fn_1_66BC; + } } void fn_1_66BC(omObjData *object) { - omObjData **objList = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - s32 i; - for (i = 0; i < 4; i++) { - WorkD0C *work = objList[i]->data; - if (work->unk44 >= 10 && work->unk44 <= 13) { - s32 goalNo = work->unk44 - 10; - Hu3DModelPosSet(object->model[i], lbl_1_data_78C0[goalNo].x, lbl_1_data_78C0[goalNo].y, lbl_1_data_78C0[goalNo].z); - Hu3DModelAttrReset(object->model[i], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(object->model[i], HU3D_ATTR_DISPOFF); - } - } + omObjData **objList = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); + s32 i; + for(i=0; i<4; i++) { + WorkD0C *work = objList[i]->data; + if(work->unk44 >= 10 && work->unk44 <= 13) { + s32 goalNo = work->unk44-10; + Hu3DModelPosSet(object->model[i], lbl_1_data_78C0[goalNo].x, lbl_1_data_78C0[goalNo].y, lbl_1_data_78C0[goalNo].z); + Hu3DModelAttrReset(object->model[i], 1); + } else { + Hu3DModelAttrSet(object->model[i], 1); + } + } } s32 fn_1_67B4(Vec *arg0, s32 arg1, s32 arg2, Vec *arg3, Vec *arg4) { - omObjData **temp_r21 = omGetGroupMemberListEx(HuPrcCurrentGet(), 1); - Work5CB0 *temp_r28 = temp_r21[arg1]->data; - s32 i; - s32 temp_r25; - - Vec sp34; - VECSubtract(arg0, &temp_r28[arg2].unk4, &sp34); - temp_r25 = temp_r28[arg2].unk0; - for (i = 0; i < lbl_1_data_73B8[temp_r25]; i++) { - Vec *temp_r29 = (lbl_1_data_73CC[temp_r25])[i * 3]; - Vec *temp_r31 = *((&lbl_1_data_73CC[temp_r25][i * 3]) + 1); - Vec *temp_r30 = *((&lbl_1_data_73CC[temp_r25][i * 3]) + 2); - s32 j; - for (j = 0; j < lbl_1_data_73F4[temp_r25][i] - 1; j++, temp_r29++, temp_r31++, temp_r30++) { - Vec sp28; - Vec sp1C; - Vec sp10; - float temp_f31; - float temp_f30; - VECSubtract(&temp_r29[1], &temp_r29[0], &sp28); - VECSubtract(&sp34, &temp_r29[1], &sp1C); - VECCrossProduct(&sp28, &sp1C, &sp10); - if (sp10.y < 0.0f) { - continue; - } - VECSubtract(&temp_r31[1], &temp_r29[1], &sp28); - VECSubtract(&sp34, &temp_r31[1], &sp1C); - VECCrossProduct(&sp28, &sp1C, &sp10); - if (sp10.y < 0.0f) { - continue; - } - VECSubtract(&temp_r31[0], &temp_r31[1], &sp28); - VECSubtract(&sp34, &temp_r31[0], &sp1C); - VECCrossProduct(&sp28, &sp1C, &sp10); - if (sp10.y < 0.0f) { - continue; - } - VECSubtract(&temp_r29[0], &temp_r31[0], &sp28); - VECSubtract(&sp34, &temp_r29[0], &sp1C); - VECCrossProduct(&sp28, &sp1C, &sp10); - if (sp10.y < 0.0f) { - continue; - } - VECSubtract(&temp_r29[1], &temp_r29[0], &sp28); - temp_f30 = VECMag2Point(&sp28); - if (0.0f == temp_f30) { - continue; - } - temp_f31 = ((sp34.x * sp28.x) - (temp_r29->x * sp28.x) + (sp34.y * sp28.y) - (temp_r29->y * sp28.y) + (sp34.z * sp28.z) - - (temp_r29->z * sp28.z)) - / temp_f30; - arg3->x = (temp_r31[0].x + temp_r28[arg2].unk4.x) + (temp_f31 * (temp_r31[1].x - temp_r31[0].x)); - arg3->y = (temp_r31[0].y + temp_r28[arg2].unk4.y) + (temp_f31 * (temp_r31[1].y - temp_r31[0].y)); - arg3->z = (temp_r31[0].z + temp_r28[arg2].unk4.z) + (temp_f31 * (temp_r31[1].z - temp_r31[0].z)); - arg4->x = (temp_r30[0].x + temp_r28[arg2].unk4.x) + (temp_f31 * (temp_r30[1].x - temp_r30[0].x)); - arg4->y = (temp_r30[0].y + temp_r28[arg2].unk4.y) + (temp_f31 * (temp_r30[1].y - temp_r30[0].y)); - arg4->z = (temp_r30[0].z + temp_r28[arg2].unk4.z) + (temp_f31 * (temp_r30[1].z - temp_r30[0].z)); - return 1; - } - } - return 0; + omObjData **temp_r21 = omGetGroupMemberListEx(HuPrcCurrentGet(), 1); + Work5CB0 *temp_r28 = temp_r21[arg1]->data; + s32 i; + s32 temp_r25; + + Vec sp34; + VECSubtract(arg0, &temp_r28[arg2].unk4, &sp34); + temp_r25 = temp_r28[arg2].unk0; + for(i=0; ix*sp28.x)+(sp34.y*sp28.y)-(temp_r29->y*sp28.y)+(sp34.z*sp28.z)-(temp_r29->z*sp28.z))/temp_f30; + arg3->x = (temp_r31[0].x+temp_r28[arg2].unk4.x)+(temp_f31*(temp_r31[1].x-temp_r31[0].x)); + arg3->y = (temp_r31[0].y+temp_r28[arg2].unk4.y)+(temp_f31*(temp_r31[1].y-temp_r31[0].y)); + arg3->z = (temp_r31[0].z+temp_r28[arg2].unk4.z)+(temp_f31*(temp_r31[1].z-temp_r31[0].z)); + arg4->x = (temp_r30[0].x+temp_r28[arg2].unk4.x)+(temp_f31*(temp_r30[1].x-temp_r30[0].x)); + arg4->y = (temp_r30[0].y+temp_r28[arg2].unk4.y)+(temp_f31*(temp_r30[1].y-temp_r30[0].y)); + arg4->z = (temp_r30[0].z+temp_r28[arg2].unk4.z)+(temp_f31*(temp_r30[1].z-temp_r30[0].z)); + return 1; + } + } + return 0; } void fn_1_6CD0(s32 arg0, s32 arg1); @@ -1638,253 +1797,250 @@ void fn_1_6DEC(omObjData *object); void fn_1_6C08(omObjData *object) { - fn_1_6CD0(0, 0); - object->work[3] = espEntry(0x460015, 32768, 0); - espPosSet(object->work[3], 288, 240); - espDispOff(object->work[3]); - espScaleSet(object->work[3], 2.0f, 2.0f); - espColorSet(object->work[3], 0, 0, 0); - object->func = fn_1_6DEC; + fn_1_6CD0(0, 0); + object->work[3] = espEntry(0x460015, 32768, 0); + espPosSet(object->work[3], 288, 240); + espDispOff(object->work[3]); + espScaleSet(object->work[3], 2.0f, 2.0f); + espColorSet(object->work[3], 0, 0, 0); + object->func = fn_1_6DEC; } void fn_1_6CD0(s32 arg0, s32 arg1) { - CZoomM[arg0] = lbl_1_data_741C[arg1].zoom; - CenterM[arg0].x = lbl_1_data_741C[arg1].pos.x; - CenterM[arg0].y = lbl_1_data_741C[arg1].pos.y; - CenterM[arg0].z = lbl_1_data_741C[arg1].pos.z; - CRotM[arg0].x = lbl_1_data_741C[arg1].rot.x; - CRotM[arg0].y = lbl_1_data_741C[arg1].rot.y; - CRotM[arg0].z = lbl_1_data_741C[arg1].rot.z; + CZoomM[arg0] = lbl_1_data_741C[arg1].zoom; + CenterM[arg0].x = lbl_1_data_741C[arg1].pos.x; + CenterM[arg0].y = lbl_1_data_741C[arg1].pos.y; + CenterM[arg0].z = lbl_1_data_741C[arg1].pos.z; + CRotM[arg0].x = lbl_1_data_741C[arg1].rot.x; + CRotM[arg0].y = lbl_1_data_741C[arg1].rot.y; + CRotM[arg0].z = lbl_1_data_741C[arg1].rot.z; } void fn_1_6DEC(omObjData *object) { - CameraData *camera = &Hu3DCamera[0]; - s32 i; - switch (object->work[0]) { - case 0: - if (fn_1_374() <= 3) { - CRotM[0].y -= 10.0f / REFRESH_RATE; - } - if (fn_1_374() == 3) { - Hu3DCameraCreate(15); - Hu3DCameraPerspectiveSet(15, 10, 20, 25000, 1.2); - Hu3DCameraViewportSet(1, 0, 0, 320, 240, 0, 1); - Hu3DCameraViewportSet(2, 320, 0, 320, 240, 0, 1); - Hu3DCameraViewportSet(4, 0, 240, 320, 240, 0, 1); - Hu3DCameraViewportSet(8, 320, 240, 320, 240, 0, 1); - Hu3DCameraScissorSet(1, 0, 0, 320, 240); - Hu3DCameraScissorSet(2, 320, 0, 640, 240); - Hu3DCameraScissorSet(4, 0, 240, 320, 480); - Hu3DCameraScissorSet(8, 320, 240, 640, 480); - for (i = 0; i < 4; i++) { - fn_1_6CD0(i, 1); - } - lbl_1_bss_168->work[0] = 4; - object->work[0]++; - espDispOn(object->work[3]); - } - break; - } + CameraData *camera = &Hu3DCamera[0]; + s32 i; + switch(object->work[0]) { + case 0: + if(fn_1_374() <= 3) { + CRotM[0].y -= 10.0f/60.0f; + } + if(fn_1_374() == 3) { + Hu3DCameraCreate(15); + Hu3DCameraPerspectiveSet(15, 10, 20, 25000, 1.2); + Hu3DCameraViewportSet(1, 0, 0, 320, 240, 0, 1); + Hu3DCameraViewportSet(2, 320, 0, 320, 240, 0, 1); + Hu3DCameraViewportSet(4, 0, 240, 320, 240, 0, 1); + Hu3DCameraViewportSet(8, 320, 240, 320, 240, 0, 1); + Hu3DCameraScissorSet(1, 0, 0, 320, 240); + Hu3DCameraScissorSet(2, 320, 0, 640, 240); + Hu3DCameraScissorSet(4, 0, 240, 320, 480); + Hu3DCameraScissorSet(8, 320, 240, 640, 480); + for(i=0; i<4; i++) { + fn_1_6CD0(i, 1); + } + lbl_1_bss_168->work[0] = 4; + object->work[0]++; + espDispOn(object->work[3]); + } + break; + } } float fn_1_7190(float arg0, float arg1, float arg2, float arg3) { - float temp_f31 = 1.0f - arg3; - return (arg0 * (temp_f31 * temp_f31)) + ((2.0f * temp_f31) * arg3 * arg1) + (arg2 * (arg3 * arg3)); + float temp_f31 = 1.0f-arg3; + return (arg0*(temp_f31*temp_f31))+((2.0f*temp_f31)*arg3*arg1)+(arg2*(arg3*arg3)); + } void fn_1_71EC(Vec *arg0, Vec *arg1, float arg2) { - arg1->x = fn_1_7190(arg0[0].x, arg0[1].x, arg0[2].x, arg2); - arg1->y = fn_1_7190(arg0[0].y, arg0[1].y, arg0[2].y, arg2); - arg1->z = fn_1_7190(arg0[0].z, arg0[1].z, arg0[2].z, arg2); + arg1->x = fn_1_7190(arg0[0].x, arg0[1].x, arg0[2].x, arg2); + arg1->y = fn_1_7190(arg0[0].y, arg0[1].y, arg0[2].y, arg2); + arg1->z = fn_1_7190(arg0[0].z, arg0[1].z, arg0[2].z, arg2); } void fn_1_7578(s16 layer); void fn_1_73F4(Process *objman) { - s32 i; - s32 dataSize = Hu3DShadowData.unk_02 * Hu3DShadowData.unk_02; - lbl_1_bss_128 = objman; - for (i = 0; i < 3; i++) { - lbl_1_bss_11C[i] = HuMemDirectMallocNum(HEAP_SYSTEM, dataSize, MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_11C[i], 0, dataSize); - lbl_1_bss_D4[i].x = Hu3DShadowData.unk_20.x; - lbl_1_bss_D4[i].y = Hu3DShadowData.unk_20.y; - lbl_1_bss_D4[i].z = Hu3DShadowData.unk_20.z; - lbl_1_bss_F8[i].x = Hu3DShadowData.unk_14.x; - lbl_1_bss_F8[i].y = Hu3DShadowData.unk_14.y; - lbl_1_bss_F8[i].z = Hu3DShadowData.unk_14.z; - } - Hu3DLayerHookSet(0, fn_1_7578); + s32 i; + s32 dataSize = Hu3DShadowData.unk_02*Hu3DShadowData.unk_02; + lbl_1_bss_128 = objman; + for(i=0; i<3; i++) { + lbl_1_bss_11C[i] = HuMemDirectMallocNum(HEAP_SYSTEM, dataSize, MEMORY_DEFAULT_NUM); + memset(lbl_1_bss_11C[i], 0, dataSize); + lbl_1_bss_D4[i].x = Hu3DShadowData.unk_20.x; + lbl_1_bss_D4[i].y = Hu3DShadowData.unk_20.y; + lbl_1_bss_D4[i].z = Hu3DShadowData.unk_20.z; + lbl_1_bss_F8[i].x = Hu3DShadowData.unk_14.x; + lbl_1_bss_F8[i].y = Hu3DShadowData.unk_14.y; + lbl_1_bss_F8[i].z = Hu3DShadowData.unk_14.z; + } + Hu3DLayerHookSet(0, fn_1_7578); + } void fn_1_77E4(s32 shadowNo); void fn_1_7578(s16 layer) { - omObjData **playerList; - s32 i; - s32 dataSize = Hu3DShadowData.unk_02 * Hu3DShadowData.unk_02; - if (fn_1_374() < 3) { - return; - } - if (Hu3DCameraNo == 0) { - WorkD0C *playerWork; - GXDrawDone(); - playerList = omGetGroupMemberListEx(lbl_1_bss_128, 0); - if (Hu3DData[playerList[0]->model[0]].attr & 0x4) { - Hu3DModelShadowReset(playerList[0]->model[0]); - } - for (i = 0; i < 3; i++) { - playerWork = playerList[i + 1]->data; - if (playerWork->unk0_field3) { - Hu3DModelShadowSet(playerList[i + 1]->model[0]); - } - fn_1_77E4(i); - GXDrawDone(); - DCFlushRangeNoSync(lbl_1_bss_11C[i], dataSize); - if (playerWork->unk0_field3) { - Hu3DModelShadowReset(playerList[i + 1]->model[0]); - } - } - playerWork = playerList[0]->data; - if (playerWork->unk0_field3) { - Hu3DModelShadowSet(playerList[0]->model[0]); - } - else { - memset(Hu3DShadowData.unk_04, 0, dataSize); - DCFlushRangeNoSync(Hu3DShadowData.unk_04, dataSize); - } - if (Hu3DShadowCamBit < 1) { - Hu3DShadowCamBit = 1; - } - } - else { - MTXCopy(lbl_1_bss_44[Hu3DCameraNo - 1], Hu3DShadowData.unk_38); - memcpy(Hu3DShadowData.unk_04, lbl_1_bss_11C[Hu3DCameraNo - 1], dataSize); - DCFlushRangeNoSync(Hu3DShadowData.unk_04, dataSize); - } + omObjData **playerList; + s32 i; + s32 dataSize = Hu3DShadowData.unk_02*Hu3DShadowData.unk_02; + if(fn_1_374() < 3) { + return; + } + if(Hu3DCameraNo == 0) { + WorkD0C *playerWork; + GXDrawDone(); + playerList = omGetGroupMemberListEx(lbl_1_bss_128, 0); + if(Hu3DData[playerList[0]->model[0]].attr & 0x4) { + Hu3DModelShadowReset(playerList[0]->model[0]); + } + for(i=0; i<3; i++) { + playerWork = playerList[i+1]->data; + if(playerWork->unk0_field3) { + Hu3DModelShadowSet(playerList[i+1]->model[0]); + } + fn_1_77E4(i); + GXDrawDone(); + DCFlushRangeNoSync(lbl_1_bss_11C[i], dataSize); + if(playerWork->unk0_field3) { + Hu3DModelShadowReset(playerList[i+1]->model[0]); + } + } + playerWork = playerList[0]->data; + if(playerWork->unk0_field3) { + Hu3DModelShadowSet(playerList[0]->model[0]); + } else { + memset(Hu3DShadowData.unk_04, 0, dataSize); + DCFlushRangeNoSync(Hu3DShadowData.unk_04, dataSize); + } + if(Hu3DShadowCamBit < 1) { + Hu3DShadowCamBit = 1; + } + } else { + MTXCopy(lbl_1_bss_44[Hu3DCameraNo-1], Hu3DShadowData.unk_38); + memcpy(Hu3DShadowData.unk_04, lbl_1_bss_11C[Hu3DCameraNo-1], dataSize); + DCFlushRangeNoSync(Hu3DShadowData.unk_04, dataSize); + } } void fn_1_77E4(s32 shadowNo) { - ModelData *model; - s32 dataSize; - s16 i; - Mtx transform[3]; - Mtx44 proj; - GXColor clearColor = { 0, 0, 0, 0 }; - - Hu3DDrawPreInit(); - GXSetCopyClear(clearColor, 0xFFFFFF); - MTXPerspective(proj, Hu3DShadowData.unk_08.x, 1.2f, Hu3DShadowData.unk_08.y, Hu3DShadowData.unk_08.z); - GXSetProjection(proj, GX_PERSPECTIVE); - if (Hu3DShadowData.unk_02 <= 240) { - GXSetScissor(2, 2, (Hu3DShadowData.unk_02 * 2) - 4, (Hu3DShadowData.unk_02 * 2) - 4); - GXSetViewport(0, 0, Hu3DShadowData.unk_02 * 2, Hu3DShadowData.unk_02 * 2, 0, 1); - dataSize = (Hu3DShadowData.unk_02 / 2) * (Hu3DShadowData.unk_02 / 2); - } - else { - GXSetScissor(1, 1, Hu3DShadowData.unk_02 - 2, Hu3DShadowData.unk_02 - 2); - GXSetViewport(0, 0, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, 0, 1); - dataSize = Hu3DShadowData.unk_02 * Hu3DShadowData.unk_02; - } - MTXLookAt(Hu3DCameraMtx, &lbl_1_bss_F8[shadowNo], &Hu3DShadowData.unk_2C, &lbl_1_bss_D4[shadowNo]); - MTXCopy(Hu3DCameraMtx, lbl_1_bss_44[shadowNo]); - model = &Hu3DData[0]; - shadowModelDrawF = 1; - GXInvalidateTexAll(); - GXSetFog(0, 0, 0, 0, 0, BGColor); - for (i = 0; i < 512; i++, model++) { - s32 clusterF; - if (model->hsfData && (model->attr & 0x4) && (model->attr & 0x1) == 0 && (model->attr & 0x8000) == 0) { - if (model->attr & 0x8) { - clusterF = 0; - if (model->unk_08 != -1) { - Hu3DMotionExec(i, model->unk_08, model->unk_64, 0); - } - if (model->unk_0C != -1) { - Hu3DSubMotionExec(i); - } - if (model->unk_0A != -1) { - Hu3DMotionExec(i, model->unk_0A, model->unk_74, 1); - } - if (model->attr & 0x400) { - ClusterMotionExec(model); - clusterF = 1; - } - if (model->unk_0E != -1) { - if (model->unk_08 == -1) { - Hu3DMotionExec(i, model->unk_0E, model->unk_94, 0); - } - else { - Hu3DMotionExec(i, model->unk_0E, model->unk_94, 1); - } - } - if ((model->attr & 0x90) == 0 || (model->motion_attr & 0x40000002) == 0) { - clusterF = 1; - InitVtxParm(model->hsfData); - if (model->unk_0E != -1) { - ShapeProc(model->hsfData); - } - if (model->attr & 0x400) { - ClusterProc(model); - } - if (model->hsfData->cenvCnt) { - EnvelopeProc(model->hsfData); - } - PPCSync(); - } - model->attr |= 0x800; - } - mtxRot(transform[0], model->rot.x, model->rot.y, model->rot.z); - MTXScale(transform[2], model->scale.x, model->scale.y, model->scale.z); - MTXConcat(transform[0], transform[2], transform[2]); - mtxTransCat(transform[2], model->pos.x, model->pos.y, model->pos.z); - MTXConcat(Hu3DCameraMtx, transform[2], transform[1]); - MTXConcat(transform[1], model->unk_F0, transform[1]); - Hu3DDraw(model, transform[1], &model->scale); - } - } - Hu3DDrawPost(); - shadowModelDrawF = 0; - if (Hu3DShadowData.unk_02 <= 240) { - GXSetTexCopySrc(0, 0, Hu3DShadowData.unk_02 * 2, Hu3DShadowData.unk_02 * 2); - GXSetTexCopyDst(Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, GX_CTF_R8, GX_TRUE); - } - else { - GXSetTexCopySrc(0, 0, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02); - GXSetTexCopyDst(Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, GX_CTF_R8, GX_FALSE); - } - GXCopyTex(lbl_1_bss_11C[shadowNo], GX_TRUE); - GXSetViewport(0, 0, RenderMode->fbWidth, RenderMode->xfbHeight, 0, 1); - GXSetScissor(0, 0, RenderMode->fbWidth, RenderMode->efbHeight); - MTXOrtho(proj, 0, 1, 0, 1, 0, 1); - GXSetProjection(proj, GX_ORTHOGRAPHIC); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_U8, 0); - GXSetTevColor(GX_TEVREG0, BGColor); - GXSetNumTexGens(0); - GXSetNumTevStages(1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumChans(0); - MTXIdentity(transform[1]); - GXLoadPosMtxImm(transform[1], GX_PNMTX0); - GXSetZMode(GX_FALSE, GX_ALWAYS, GX_TRUE); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3u8(0, 0, 0); - GXPosition3u8(1, 0, 0); - GXPosition3u8(1, 1, 0); - GXPosition3u8(0, 1, 0); + ModelData *model; + s32 dataSize; + s16 i; + Mtx transform[3]; + Mtx44 proj; + GXColor clearColor = { 0, 0, 0, 0 }; + + Hu3DDrawPreInit(); + GXSetCopyClear(clearColor, 0xFFFFFF); + MTXPerspective(proj, Hu3DShadowData.unk_08.x, 1.2f, Hu3DShadowData.unk_08.y, Hu3DShadowData.unk_08.z); + GXSetProjection(proj, GX_PERSPECTIVE); + if(Hu3DShadowData.unk_02 <= 240) { + GXSetScissor(2, 2, (Hu3DShadowData.unk_02*2)-4, (Hu3DShadowData.unk_02*2)-4); + GXSetViewport(0, 0, Hu3DShadowData.unk_02*2, Hu3DShadowData.unk_02*2, 0, 1); + dataSize = (Hu3DShadowData.unk_02/2)*(Hu3DShadowData.unk_02/2); + } else { + GXSetScissor(1, 1, Hu3DShadowData.unk_02-2, Hu3DShadowData.unk_02-2); + GXSetViewport(0, 0, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, 0, 1); + dataSize = Hu3DShadowData.unk_02*Hu3DShadowData.unk_02; + } + MTXLookAt(Hu3DCameraMtx, &lbl_1_bss_F8[shadowNo], &Hu3DShadowData.unk_2C, &lbl_1_bss_D4[shadowNo]); + MTXCopy(Hu3DCameraMtx, lbl_1_bss_44[shadowNo]); + model = &Hu3DData[0]; + shadowModelDrawF = 1; + GXInvalidateTexAll(); + GXSetFog(0, 0, 0, 0, 0, BGColor); + for(i=0; i<512; i++, model++) { + s32 clusterF; + if(model->hsfData && (model->attr & 0x4) && (model->attr & 0x1) == 0 && (model->attr & 0x8000) == 0) { + if(model->attr & 0x8) { + clusterF = 0; + if(model->unk_08 != -1) { + Hu3DMotionExec(i, model->unk_08, model->unk_64, 0); + } + if(model->unk_0C != -1) { + Hu3DSubMotionExec(i); + } + if(model->unk_0A != -1) { + Hu3DMotionExec(i, model->unk_0A, model->unk_74, 1); + } + if(model->attr & 0x400) { + ClusterMotionExec(model); + clusterF = 1; + } + if(model->unk_0E != -1) { + if(model->unk_08 == -1) { + Hu3DMotionExec(i, model->unk_0E, model->unk_94, 0); + } else { + Hu3DMotionExec(i, model->unk_0E, model->unk_94, 1); + } + } + if((model->attr & 0x90) == 0 || (model->motion_attr & 0x40000002) == 0) { + clusterF = 1; + InitVtxParm(model->hsfData); + if(model->unk_0E != -1) { + ShapeProc(model->hsfData); + } + if(model->attr & 0x400) { + ClusterProc(model); + } + if(model->hsfData->cenvCnt) { + EnvelopeProc(model->hsfData); + } + PPCSync(); + } + model->attr |= 0x800; + } + mtxRot(transform[0], model->rot.x, model->rot.y, model->rot.z); + MTXScale(transform[2], model->scale.x, model->scale.y, model->scale.z); + MTXConcat(transform[0], transform[2], transform[2]); + mtxTransCat(transform[2], model->pos.x, model->pos.y, model->pos.z); + MTXConcat(Hu3DCameraMtx, transform[2], transform[1]); + MTXConcat(transform[1], model->unk_F0, transform[1]); + Hu3DDraw(model, transform[1], &model->scale); + } + } + Hu3DDrawPost(); + shadowModelDrawF = 0; + if(Hu3DShadowData.unk_02 <= 240) { + GXSetTexCopySrc(0, 0, Hu3DShadowData.unk_02*2, Hu3DShadowData.unk_02*2); + GXSetTexCopyDst(Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, GX_CTF_R8, GX_TRUE); + } else { + GXSetTexCopySrc(0, 0, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02); + GXSetTexCopyDst(Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, GX_CTF_R8, GX_FALSE); + } + GXCopyTex(lbl_1_bss_11C[shadowNo], GX_TRUE); + GXSetViewport(0, 0, RenderMode->fbWidth, RenderMode->xfbHeight, 0, 1); + GXSetScissor(0, 0, RenderMode->fbWidth, RenderMode->efbHeight); + MTXOrtho(proj, 0, 1, 0, 1, 0, 1); + GXSetProjection(proj, GX_ORTHOGRAPHIC); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_U8, 0); + GXSetTevColor(GX_TEVREG0, BGColor); + GXSetNumTexGens(0); + GXSetNumTevStages(1); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetNumChans(0); + MTXIdentity(transform[1]); + GXLoadPosMtxImm(transform[1], GX_PNMTX0); + GXSetZMode(GX_FALSE, GX_ALWAYS, GX_TRUE); + GXSetNumChans(1); + GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition3u8(0, 0, 0); + GXPosition3u8(1, 0, 0); + GXPosition3u8(1, 1, 0); + GXPosition3u8(0, 1, 0); } diff --git a/src/REL/m440Dll/main.c b/src/REL/m440Dll/main.c index 85db113d..a8b56af9 100644 --- a/src/REL/m440Dll/main.c +++ b/src/REL/m440Dll/main.c @@ -1,29 +1,28 @@ #include "REL/m440Dll.h" +#include "rel_sqrt_consts.h" +#include "math.h" #include "ext_math.h" -#include "game/audio.h" +#include "string.h" #include "game/frand.h" #include "game/hsfdraw.h" #include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" #include "game/wipe.h" -#include "math.h" - -#include "string.h" -#include "version.h" +#include "game/audio.h" +#include "game/objsub.h" +#include "game/minigame_seq.h" +#include "game/sprite.h" +#include "game/printfunc.h" +#include "game/pad.h" // bss -omObjData *lbl_1_bss_6C; -omObjData *lbl_1_bss_68; -unkStruct6 *lbl_1_bss_64; +omObjData* lbl_1_bss_6C; +omObjData* lbl_1_bss_68; +unkStruct6* lbl_1_bss_64; s16 lbl_1_bss_60; Mtx lbl_1_bss_30; s16 lbl_1_bss_2C; -void *lbl_1_bss_28; +void* lbl_1_bss_28; u32 lbl_1_bss_24; s16 lbl_1_bss_10[10]; s16 lbl_1_bss_E; @@ -43,7 +42,10 @@ s16 lbl_1_data_14[6] = { 1, 1, 1, 1, 1 }; Vec lbl_1_data_20 = { 0.0f, 0.0f, 0.0f }; Vec lbl_1_data_2C = { 800.0f, 1300.0f, 1000.0f }; Vec lbl_1_data_38 = { 0.0f, 0.0f, 0.0f }; -unkStruct7 lbl_1_data_44 = { 0xFF, 0xFF, 0xFF, 0xFF, 10.0f, 45.0f, 0.0f }; +unkStruct7 lbl_1_data_44 = { + 0xFF, 0xFF, 0xFF, 0xFF, + 10.0f, 45.0f, 0.0f +}; Vec lbl_1_data_54 = { 1300.0f, 2500.0f, 1300.0f }; Vec lbl_1_data_60 = { 0.0f, 1.0f, 0.0f }; Vec lbl_1_data_6C = { 0.0f, 0.0f, -500.0f }; @@ -53,11 +55,10 @@ unkStruct lbl_1_data_78[3] = { { 1040.0f, { 200.0f, 21.0f, 0.0f }, { -6.0f, 0.0f, 0.0f } }, }; -void ObjectSetup(void) -{ +void ObjectSetup(void) { Vec sp8; - LightData *var_r30; - Process *var_r31; + LightData* var_r30; + Process* var_r31; Hu3DLightAllKill(); lbl_1_bss_E = Hu3DGLightCreateV(&lbl_1_data_2C, &lbl_1_data_38, &lbl_1_data_44.unk0); @@ -90,16 +91,14 @@ void ObjectSetup(void) fn_1_AE08(var_r31); } -void fn_1_3C4(omObjData *object) -{ +void fn_1_3C4(omObjData* object) { if ((omSysExitReq != 0) || (lbl_1_bss_0 != 0)) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + WipeCreate(2, 0, 0x3C); object->func = &fn_1_434; } } -void fn_1_434(omObjData *object) -{ +void fn_1_434(omObjData* object) { if ((WipeStatGet() == 0) && (MGSeqDoneCheck() != 0)) { HuMemDirectFree(lbl_1_bss_64); fn_1_9AB0(lbl_1_bss_10[0]); @@ -109,8 +108,7 @@ void fn_1_434(omObjData *object) } } -s32 fn_1_4A4(void) -{ +s32 fn_1_4A4(void) { f32 var_f31; unkStruct *var_r31; s32 var_r30; @@ -118,14 +116,14 @@ s32 fn_1_4A4(void) var_r31 = &lbl_1_data_78[0]; var_r30 = 0; lbl_1_bss_4++; - var_f31 = lbl_1_bss_4 / (2 * REFRESH_RATE_F); + var_f31 = lbl_1_bss_4 / 120.0f; if (var_f31 > 1.0f) { lbl_1_bss_4 = 0; var_f31 = 1.0f; var_r30 = 1; } - - var_f31 = sind(90.0f * var_f31) * sind(90.0f * var_f31); + + var_f31 = (sin((M_PI * (90.0f * var_f31)) / 180.0) * sin((M_PI * (90.0f * var_f31)) / 180.0)); CZoom = fn_1_93C0(var_r31[0].zoom, var_r31[1].zoom, var_f31); Center.x = fn_1_93C0(var_r31[0].center.x, var_r31[1].center.x, var_f31); Center.y = fn_1_93C0(var_r31[0].center.y, var_r31[1].center.y, var_f31); @@ -136,8 +134,7 @@ s32 fn_1_4A4(void) return var_r30; } -s32 fn_1_6C8(void) -{ +s32 fn_1_6C8(void) { f32 var_f31; unkStruct *var_r31; s32 var_r30; @@ -145,14 +142,14 @@ s32 fn_1_6C8(void) var_r31 = &lbl_1_data_78[1]; var_r30 = 0; lbl_1_bss_4++; - var_f31 = lbl_1_bss_4 / (2 * REFRESH_RATE_F); + var_f31 = lbl_1_bss_4 / 120.0f; if (var_f31 > 1.0f) { lbl_1_bss_4 = 0; var_f31 = 1.0f; var_r30 = 1; } - - var_f31 = (sind(90.0f * var_f31) * sind(90.0f * var_f31)); + + var_f31 = (sin((M_PI * (90.0f * var_f31)) / 180.0) * sin((M_PI * (90.0f * var_f31)) / 180.0)); CZoom = fn_1_93C0(var_r31[0].zoom, var_r31[1].zoom, var_f31); Center.x = fn_1_93C0(var_r31[0].center.x, var_r31[1].center.x, var_f31); Center.y = fn_1_93C0(var_r31[0].center.y, var_r31[1].center.y, var_f31); @@ -163,50 +160,47 @@ s32 fn_1_6C8(void) return var_r30; } -void fn_1_8F0(omObjData *arg0) -{ +void fn_1_8F0(omObjData* arg0) { s16 var_r30; - unkStruct2 *temp_r31; + unkStruct2* temp_r31; AnimData *anim; - arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x10, MEMORY_DEFAULT_NUM); - temp_r31 = (unkStruct2 *)arg0->data; + arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x10, 0x10000000); + temp_r31 = (unkStruct2*)arg0->data; temp_r31->unk0 = 1; temp_r31->unk4 = -1; temp_r31->unk8 = -1; - temp_r31->unk6 = 5 * REFRESH_RATE; + temp_r31->unk6 = 0x12C; temp_r31->unkA = 0; temp_r31->unkC = -1; - + for (var_r30 = 1; var_r30 < 4; var_r30++) { - lbl_1_bss_10[var_r30] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M440, 0x0A)); - Hu3DModelAttrSet(lbl_1_bss_10[var_r30], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_10[var_r30], HU3D_MOTATTR_PAUSE); + lbl_1_bss_10[var_r30] = Hu3DModelCreate(HuDataSelHeapReadNum(0x47000A, 0x10000000, HEAP_DATA)); + Hu3DModelAttrSet(lbl_1_bss_10[var_r30], 1); + Hu3DModelAttrSet(lbl_1_bss_10[var_r30], 0x40000002); Hu3DModelLayerSet(lbl_1_bss_10[var_r30], 7); Hu3DModelScaleSet(lbl_1_bss_10[var_r30], 3.0f, 3.0f, 3.0f); } - - anim = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M440, 0x0B), MEMORY_DEFAULT_NUM)); + + anim = HuSprAnimRead(HuDataReadNum(0x47000B, 0x10000000)); lbl_1_bss_10[0] = fn_1_956C(anim, 0x40, 50.0f, 0x40, 0x40); fn_1_9B94(lbl_1_bss_10[0], fn_1_2240); Hu3DModelLayerSet(lbl_1_bss_10[0], 7); arg0->func = &fn_1_AE0; } -void fn_1_AE0(omObjData *arg0) -{ +void fn_1_AE0(omObjData* arg0) { f32 temp_f31; - unkStruct2 *temp_r31; + unkStruct2* temp_r31; temp_r31 = arg0->data; switch (fn_1_23E4(7)) { case 1: if (lbl_1_bss_A == 0) { - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + WipeCreate(1, 0, 0x3C); lbl_1_bss_A = 1; } - if (WipeStatGet() != 0) - break; + if (WipeStatGet() != 0) break; fn_1_2428(7, 2); break; case 2: @@ -216,7 +210,7 @@ void fn_1_AE0(omObjData *arg0) break; case 3: if (temp_r31->unk8 != -1) { - MGSeqParamSet(temp_r31->unk8, 1, ((temp_r31->unk6 + REFRESH_RATE - 1) / REFRESH_RATE)); + MGSeqParamSet(temp_r31->unk8, 1, ((temp_r31->unk6 + 0x3B) / 60)); } if ((temp_r31->unkC < 0) && ((MGSeqStatGet(temp_r31->unk4) & 0x10) != 0)) { temp_r31->unkC = HuAudSeqPlay(0x49); @@ -227,12 +221,11 @@ void fn_1_AE0(omObjData *arg0) temp_f31 = (((rand8() << 8) | rand8()) % 361); Center.x = (lbl_1_data_78[1].center.x + (10.0 * sind(temp_f31))); Center.y = (lbl_1_data_78[1].center.y + (10.0 * cosd(temp_f31))); - if (temp_r31->unkA > (2 * REFRESH_RATE / 3)) { + if (temp_r31->unkA > 0x28) { temp_r31->unkA = 0; return; } - } - else { + } else { Center.x = lbl_1_data_78[1].center.x; Center.y = lbl_1_data_78[1].center.y; Center.z = lbl_1_data_78[1].center.z; @@ -252,10 +245,9 @@ void fn_1_AE0(omObjData *arg0) } } -u8 fn_1_E14(omObjData *arg0) -{ +u8 fn_1_E14(omObjData* arg0) { f32 var_f31; - unkStruct *var_r31; + unkStruct* var_r31; u8 var_r30; switch (lbl_1_bss_6) { @@ -266,7 +258,7 @@ u8 fn_1_E14(omObjData *arg0) lbl_1_bss_6++; break; case 1: - if (++lbl_1_bss_8 > (s16)(0.5f * REFRESH_RATE_F)) { + if (++lbl_1_bss_8 > 0x1E) { fn_1_F168(); lbl_1_bss_8 = 0; lbl_1_bss_6++; @@ -276,13 +268,13 @@ u8 fn_1_E14(omObjData *arg0) var_r31 = lbl_1_data_78; var_r30 = 0; lbl_1_bss_4++; - var_f31 = lbl_1_bss_4 / (2 * REFRESH_RATE_F); + var_f31 = lbl_1_bss_4 / 120.0f; if (var_f31 > 1.0f) { lbl_1_bss_4 = 0; var_f31 = 1.0f; var_r30 = 1; } - var_f31 = (sind(90.0f * var_f31) * sind(90.0f * var_f31)); + var_f31 = (sin((M_PI * (90.0f * var_f31)) / 180.0) * sin((M_PI * (90.0f * var_f31)) / 180.0)); CZoom = fn_1_93C0(var_r31[0].zoom, var_r31[1].zoom, var_f31); Center.x = fn_1_93C0(var_r31[0].center.x, var_r31[1].center.x, var_f31); Center.y = fn_1_93C0(var_r31[0].center.y, var_r31[1].center.y, var_f31); @@ -300,86 +292,83 @@ u8 fn_1_E14(omObjData *arg0) return 0; } -u8 fn_1_1138(omObjData *object) -{ - unkStruct2 *sp8; +u8 fn_1_1138(omObjData* object) { + unkStruct2* sp8; f32 var_f31; f32 var_f30; s16 temp_r29; u8 var_r28; - unkStruct3 *temp_r30; - unkStruct *var_r31; + unkStruct3* temp_r30; + unkStruct* var_r31; - sp8 = (unkStruct2 *)lbl_1_bss_6C->data; + sp8 = (unkStruct2*)lbl_1_bss_6C->data; temp_r29 = fn_1_F0FC(); - temp_r30 = (unkStruct3 *)lbl_1_bss_C0[temp_r29]->data; + temp_r30 = (unkStruct3*)lbl_1_bss_C0[temp_r29]->data; switch (lbl_1_bss_6) { - case 0: - if (lbl_1_bss_8 == 0) { - Hu3DMotionShiftSet(lbl_1_bss_C0[temp_r29]->model[0], lbl_1_bss_C0[temp_r29]->motion[1], 0.0f, 7.0f, HU3D_MOTATTR_LOOP); - temp_r30->unk40 = temp_r30->unk34; + case 0: + if (lbl_1_bss_8 == 0) { + Hu3DMotionShiftSet(lbl_1_bss_C0[temp_r29]->model[0], lbl_1_bss_C0[temp_r29]->motion[1], 0.0f, 7.0f, 0x40000001); + temp_r30->unk40 = temp_r30->unk34; + } + lbl_1_bss_8++; + var_f30 = lbl_1_bss_8 / 30.0f; + if (var_f30 >= 1.0f) { + var_f30 = 1.0f; + if (lbl_1_bss_B == 0) { + lbl_1_bss_B = 1; + Hu3DMotionShiftSet(lbl_1_bss_C0[temp_r29]->model[0], lbl_1_bss_C0[temp_r29]->motion[0], 0.0f, 7.0f, 0x40000001); } - lbl_1_bss_8++; - var_f30 = lbl_1_bss_8 / (0.5f * REFRESH_RATE_F); - if (var_f30 >= 1.0f) { - var_f30 = 1.0f; - if (lbl_1_bss_B == 0) { - lbl_1_bss_B = 1; - Hu3DMotionShiftSet(lbl_1_bss_C0[temp_r29]->model[0], lbl_1_bss_C0[temp_r29]->motion[0], 0.0f, 7.0f, HU3D_MOTATTR_LOOP); - } - } - temp_r30->unk34 = (temp_r30->unk40 + (var_f30 * (360.0f - temp_r30->unk40))); - var_r31 = &lbl_1_data_78[1]; // could be fn_1_6C8 - var_r28 = 0; - lbl_1_bss_4++; - var_f31 = lbl_1_bss_4 / (2 * REFRESH_RATE_F); - if (var_f31 > 1.0f) { - lbl_1_bss_4 = 0; - var_f31 = 1.0f; - var_r28 = 1; - } - var_f31 = (sind(90.0f * var_f31) * sind(90.0f * var_f31)); - CZoom = fn_1_93C0(var_r31[0].zoom, var_r31[1].zoom, var_f31); - Center.x = fn_1_93C0(var_r31[0].center.x, var_r31[1].center.x, var_f31); - Center.y = fn_1_93C0(var_r31[0].center.y, var_r31[1].center.y, var_f31); - Center.z = fn_1_93C0(var_r31[0].center.z, var_r31[1].center.z, var_f31); - CRot.x = fn_1_93C0(var_r31[0].rot.x, var_r31[1].rot.x, var_f31); - CRot.y = fn_1_93C0(var_r31[0].rot.y, var_r31[1].rot.y, var_f31); - CRot.z = fn_1_93C0(var_r31[0].rot.z, var_r31[1].rot.z, var_f31); - if (var_r28 != 0) { - lbl_1_bss_8 = 0; - lbl_1_bss_6++; - } - break; - case 1: - Hu3DMotionShiftSet(lbl_1_bss_C0[temp_r29]->model[0], lbl_1_bss_C0[temp_r29]->motion[5], 0.0f, 7.0f, HU3D_MOTATTR_NONE); - HuAudSStreamPlay(1); - lbl_1_bss_6++; + } + temp_r30->unk34 = (temp_r30->unk40 + (var_f30 * (360.0f - temp_r30->unk40))); + var_r31 = &lbl_1_data_78[1]; // could be fn_1_6C8 + var_r28 = 0; + lbl_1_bss_4++; + var_f31 = lbl_1_bss_4 / 120.0f; + if (var_f31 > 1.0f) { + lbl_1_bss_4 = 0; + var_f31 = 1.0f; + var_r28 = 1; + } + var_f31 = (sin((M_PI * (90.0f * var_f31)) / 180.0) * sin((M_PI * (90.0f * var_f31)) / 180.0)); + CZoom = fn_1_93C0(var_r31[0].zoom, var_r31[1].zoom, var_f31); + Center.x = fn_1_93C0(var_r31[0].center.x, var_r31[1].center.x, var_f31); + Center.y = fn_1_93C0(var_r31[0].center.y, var_r31[1].center.y, var_f31); + Center.z = fn_1_93C0(var_r31[0].center.z, var_r31[1].center.z, var_f31); + CRot.x = fn_1_93C0(var_r31[0].rot.x, var_r31[1].rot.x, var_f31); + CRot.y = fn_1_93C0(var_r31[0].rot.y, var_r31[1].rot.y, var_f31); + CRot.z = fn_1_93C0(var_r31[0].rot.z, var_r31[1].rot.z, var_f31); + if (var_r28 != 0) { lbl_1_bss_8 = 0; - break; - case 2: - if (++lbl_1_bss_8 > (3.5f * REFRESH_RATE)) { - lbl_1_bss_6 = 0; - return 1; - } - break; + lbl_1_bss_6++; + } + break; + case 1: + Hu3DMotionShiftSet(lbl_1_bss_C0[temp_r29]->model[0], lbl_1_bss_C0[temp_r29]->motion[5], 0.0f, 7.0f, 0); + HuAudSStreamPlay(1); + lbl_1_bss_6++; + lbl_1_bss_8 = 0; + break; + case 2: + if (++lbl_1_bss_8 > 210.0f) { + lbl_1_bss_6 = 0; + return 1; + } + break; } return 0; } -void fn_1_16D8(void) -{ - unkStruct2 *temp_r31; +void fn_1_16D8(void) { + unkStruct2* temp_r31; - temp_r31 = (unkStruct2 *)lbl_1_bss_6C->data; + temp_r31 = (unkStruct2*)lbl_1_bss_6C->data; temp_r31->unk6--; } -void fn_1_1708(void) -{ - unkStruct2 *temp_r31; +void fn_1_1708(void) { + unkStruct2* temp_r31; - temp_r31 = (unkStruct2 *)lbl_1_bss_6C->data; + temp_r31 = (unkStruct2*)lbl_1_bss_6C->data; if (temp_r31->unk8 != -1) { MGSeqParamSet(temp_r31->unk8, 2, -1); temp_r31->unk8 = -1; @@ -387,82 +376,72 @@ void fn_1_1708(void) } } -void fn_1_1768(void) -{ - unkStruct2 *temp_r31; +void fn_1_1768(void) { + unkStruct2* temp_r31; - temp_r31 = (unkStruct2 *)lbl_1_bss_6C->data; + temp_r31 = (unkStruct2*)lbl_1_bss_6C->data; if (temp_r31->unk8 == -1) { - temp_r31->unk6 = 5 * REFRESH_RATE; + temp_r31->unk6 = 0x12C; temp_r31->unk8 = MGSeqCreate(1, 5, -1, -1); } } -s16 fn_1_17CC(void) -{ - unkStruct2 *var_r31; +s16 fn_1_17CC(void) { + unkStruct2* var_r31; - var_r31 = (unkStruct2 *)lbl_1_bss_6C->data; + var_r31 = (unkStruct2*)lbl_1_bss_6C->data; return var_r31->unk6; } -s16 fn_1_17F4(void) -{ - unkStruct2 *var_r31; +s16 fn_1_17F4(void) { + unkStruct2* var_r31; - var_r31 = (unkStruct2 *)lbl_1_bss_6C->data; + var_r31 = (unkStruct2*)lbl_1_bss_6C->data; return var_r31->unk8; } -void fn_1_181C(void) -{ - unkStruct2 *temp_r31; +void fn_1_181C(void) { + unkStruct2* temp_r31; - temp_r31 = (unkStruct2 *)lbl_1_bss_6C->data; + temp_r31 = (unkStruct2*)lbl_1_bss_6C->data; if (temp_r31->unk4 == -1) { temp_r31->unk4 = MGSeqCreate(3, 0); MGSeqPosSet(temp_r31->unk4, 320.0f, 240.0f); } } -u8 fn_1_1890(void) -{ - unkStruct2 *temp_r31; +u8 fn_1_1890(void) { + unkStruct2* temp_r31; - temp_r31 = (unkStruct2 *)lbl_1_bss_6C->data; + temp_r31 = (unkStruct2*)lbl_1_bss_6C->data; if (temp_r31->unk4 != -1) { return MGSeqStatGet(temp_r31->unk4); - } - else { + } else { return 0; } } -void fn_1_18E0(void) -{ - unkStruct2 *temp_r31; +void fn_1_18E0(void) { + unkStruct2* temp_r31; - temp_r31 = (unkStruct2 *)lbl_1_bss_6C->data; + temp_r31 = (unkStruct2*)lbl_1_bss_6C->data; temp_r31->unk4 = MGSeqCreate(3, 1); MGSeqPosSet(temp_r31->unk4, 320.0f, 240.0f); HuAudSeqFadeOut(temp_r31->unkC, 0x64); } -u8 fn_1_1954(void) -{ - unkStruct2 *sp8; +u8 fn_1_1954(void) { + unkStruct2* sp8; - sp8 = (unkStruct2 *)lbl_1_bss_6C->data; + sp8 = (unkStruct2*)lbl_1_bss_6C->data; if ((lbl_1_bss_2 != 0) || (lbl_1_bss_1 != 0)) { return 0; - } - else { + } else { return 1; } } -void fn_1_19B0(void) -{ +void fn_1_19B0(void) { f32 temp_f29; f32 var_f28; f32 var_f27; @@ -471,33 +450,31 @@ void fn_1_19B0(void) s16 var_r31; var_f30 = (((rand8() << 8) | rand8()) % 361); - - for (var_r31 = 1; var_r31 < 4; var_r31++, var_f30 += 120.0f) { + + for (var_r31 = 1; var_r31 < 4; var_r31++, var_f30+=120.0f) { temp_f31 = 0.01f * ((((rand8() << 8) | rand8()) % 51) + 50); temp_f29 = (temp_f31 * (200.0 * sind(var_f30))); - var_f28 = (temp_f31 * (200.0 * cosd(var_f30))); + var_f28 = (temp_f31 * (200.0 * cosd(var_f30))); var_f27 = 0.0f; Hu3DModelPosSet(lbl_1_bss_10[var_r31], temp_f29, 300.0f + var_f28, var_f27); temp_f31 = 0.1f * ((((rand8() << 8) | rand8()) % 11) + 25); Hu3DModelScaleSet(lbl_1_bss_10[var_r31], temp_f31, temp_f31, temp_f31); - Hu3DModelAttrReset(lbl_1_bss_10[var_r31], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_10[var_r31], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(lbl_1_bss_10[var_r31], 1); + Hu3DModelAttrReset(lbl_1_bss_10[var_r31], 0x40000002); } } -void fn_1_1CAC(void) -{ +void fn_1_1CAC(void) { s16 var_r31; - + for (var_r31 = 1; var_r31 < 4; var_r31++) { Hu3DMotionTimeSet(lbl_1_bss_10[var_r31], 0.0f); - Hu3DModelAttrSet(lbl_1_bss_10[var_r31], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_10[var_r31], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(lbl_1_bss_10[var_r31], 1); + Hu3DModelAttrSet(lbl_1_bss_10[var_r31], 0x40000002); } } -void fn_1_1D54(f32 arg8, f32 arg9, f32 argA, s16 arg0, f32 argB, s16 arg1) -{ +void fn_1_1D54(f32 arg8, f32 arg9, f32 argA, s16 arg0, f32 argB, s16 arg1) { Vec sp30; Vec sp24; GXColor sp1E; @@ -505,8 +482,8 @@ void fn_1_1D54(f32 arg8, f32 arg9, f32 argA, s16 arg0, f32 argB, s16 arg1) f32 temp_f29; f32 temp_f31; s16 var_r30; - unkStruct4 *var_r31; - + unkStruct4* var_r31; + for (var_r30 = 0; var_r30 < arg0; var_r30++) { temp_f31 = argB + ((((rand8() << 8) | rand8()) % 11) - 5); temp_f30 = sind(temp_f31); @@ -518,9 +495,8 @@ void fn_1_1D54(f32 arg8, f32 arg9, f32 argA, s16 arg0, f32 argB, s16 arg1) sp1E.r = sp1E.g = sp1E.b = 0xFF; sp1E.a = 0x80; var_r31 = fn_1_942C(arg1, &sp30, &sp24, 0.0f, &sp1E); - if (!var_r31) - break; - + if (!var_r31) break; + var_r31->unk34 = 0; var_r31->unk36 = ((rand8() << 8) | rand8()) % 2 + 2; var_r31->unk0.x = (temp_f30 * (0.1f * ((((rand8() << 8) | rand8()) % 41) + 0x28))); @@ -535,15 +511,14 @@ void fn_1_1D54(f32 arg8, f32 arg9, f32 argA, s16 arg0, f32 argB, s16 arg1) } } -void fn_1_2240(ModelData *data, unkStruct5 *arg1, Mtx arg2) -{ - unkStruct4 *var_r31; - GXColor *var_r30; +void fn_1_2240(ModelData* data, unkStruct5* arg1, Mtx arg2) { + unkStruct4* var_r31; + GXColor* var_r30; s16 var_r29; var_r31 = arg1->unk18; var_r30 = arg1->unk24; - + for (var_r29 = 0; var_r29 < arg1->unk0; var_r29++, var_r31++, var_r30++) { if (var_r31->unk62 != 0) { var_r31->unk54.x += var_r31->unk0.x; @@ -569,55 +544,52 @@ void fn_1_2240(ModelData *data, unkStruct5 *arg1, Mtx arg2) } } -u16 fn_1_23E4(u16 arg0) -{ - unkStruct2 *temp_r31; +u16 fn_1_23E4(u16 arg0) { + unkStruct2* temp_r31; - temp_r31 = (unkStruct2 *)lbl_1_bss_6C->data; + temp_r31 = (unkStruct2*)lbl_1_bss_6C->data; if (!temp_r31) { return 0; } return temp_r31->unk0 & arg0; } -void fn_1_2428(u16 arg0, u16 arg1) -{ - unkStruct2 *temp_r31; +void fn_1_2428(u16 arg0, u16 arg1) { + unkStruct2* temp_r31; - temp_r31 = (unkStruct2 *)lbl_1_bss_6C->data; + temp_r31 = (unkStruct2*)lbl_1_bss_6C->data; temp_r31->unk0 = (temp_r31->unk0 & ~arg0); temp_r31->unk0 = (temp_r31->unk0 | arg1); } -void fn_1_2470(omObjData *arg0) -{ - ModelData *temp_r29; - HsfObject *temp_r28; +void fn_1_2470(omObjData* arg0) { + ModelData* temp_r29; + HsfObject* temp_r28; f32 temp_f31; f32 var_f30; f32 var_f29; s16 temp_r26; s16 var_r30; - unkStruct2 *temp_r27; + unkStruct2* temp_r27; - arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x34, MEMORY_DEFAULT_NUM); + arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x34, 0x10000000); temp_r27 = arg0->data; arg0->stat |= 0x100; - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M440, 0x08)); - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M440, 0x09)); - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M440, 0x00)); - arg0->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M440, 0x02)); - arg0->model[8] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M440, 0x03)); - arg0->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M440, 0x04)); - arg0->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M440, 0x05)); - arg0->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M440, 0x06)); - arg0->model[7] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M440, 0x07)); - temp_r26 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M440, 0x01)); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(arg0->model[2], HU3D_ATTR_HILITE); - Hu3DModelAttrSet(arg0->model[2], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(temp_r26, HU3D_ATTR_DISPOFF); - + arg0->model[0] = Hu3DModelCreateFile(0x470008); + arg0->model[1] = Hu3DModelCreateFile(0x470009); + arg0->model[2] = Hu3DModelCreateFile(0x470000); + arg0->model[3] = Hu3DModelCreateFile(0x470002); + arg0->model[8] = Hu3DModelCreateFile(0x470003); + arg0->model[6] = Hu3DModelCreateFile(0x470004); + arg0->model[4] = Hu3DModelCreateFile(0x470005); + arg0->model[5] = Hu3DModelCreateFile(0x470006); + arg0->model[7] = Hu3DModelCreateFile(0x470007); + temp_r26 = Hu3DModelCreateFile(0x470001); + Hu3DModelAttrSet(arg0->model[0], 0x40000001); + Hu3DModelAttrSet(arg0->model[2], 0x20000); + Hu3DModelAttrSet(arg0->model[2], 0x40000002); + Hu3DModelAttrSet(temp_r26, 1); + for (var_r30 = 0; var_r30 < 8; var_r30++) { Hu3DModelLayerSet(arg0->model[var_r30], 1); } @@ -626,32 +598,32 @@ void fn_1_2470(omObjData *arg0) Hu3DModelShadowSet(arg0->model[2]); Hu3DModelShadowSet(arg0->model[3]); Hu3DModelShadowMapSet(arg0->model[0]); - + for (var_r30 = 0; var_r30 < 5; var_r30++) { - temp_f31 = 450.0 * cosd(lbl_1_data_0[var_r30]); - var_f29 = 450.0 * sind(lbl_1_data_0[var_r30]); - Hu3DModelPosSet(arg0->model[var_r30 + 4], temp_f31, 0.0f, var_f29); + temp_f31 = (450.0 * cos(M_PI * lbl_1_data_0[var_r30] / 180.0)); + var_f29 = (450.0 * sin(M_PI * lbl_1_data_0[var_r30] / 180.0)); + Hu3DModelPosSet(arg0->model[var_r30+4], temp_f31, 0.0f, var_f29); var_f30 = 90.0f - lbl_1_data_0[var_r30]; - Hu3DModelRotSet(arg0->model[var_r30 + 4], 0.0f, var_f30, 0.0f); - Hu3DMotionSpeedSet(arg0->model[var_r30 + 4], 0.0f); + Hu3DModelRotSet(arg0->model[var_r30+4], 0.0f, var_f30, 0.0f); + Hu3DMotionSpeedSet(arg0->model[var_r30+4], 0.0f); } temp_r27->unk0 = 0; temp_r27->unk1C = 5; temp_r29 = &Hu3DData[temp_r26]; temp_r28 = temp_r29->hsfData->root; lbl_1_bss_60 = temp_r28->data.childrenCount; - lbl_1_bss_64 = HuMemDirectMalloc(HEAP_DATA, lbl_1_bss_60 * sizeof(unkStruct6)); + lbl_1_bss_64 = HuMemDirectMalloc(HEAP_DATA, lbl_1_bss_60 * 64); OSReport("Koopa Object Count %d\n", temp_r29->hsfData->objectCnt); - + for (var_r30 = 0; var_r30 < lbl_1_bss_60; var_r30++) { lbl_1_bss_64[var_r30].unk20 = 0; } - + for (var_r30 = 0; var_r30 < lbl_1_bss_60; var_r30++) { lbl_1_bss_64[var_r30].unk4 = var_r30; fn_1_5C2C(temp_r26, temp_r28->data.children[var_r30], &lbl_1_bss_64[var_r30], 2); if (lbl_1_bss_64[var_r30].unk20 != 0) { - Hu3DModelAttrSet(lbl_1_bss_64[var_r30].unk0, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(lbl_1_bss_64[var_r30].unk0, 1); Hu3DModelPosSet(lbl_1_bss_64[var_r30].unk0, 0.0f, 250.0f, 0.0f); lbl_1_bss_64[var_r30].unk38 = &fn_1_57B4; } @@ -659,65 +631,61 @@ void fn_1_2470(omObjData *arg0) arg0->func = &fn_1_2A74; } -void fn_1_2A74(omObjData *object) -{ +void fn_1_2A74(omObjData* object) { fn_1_2AB4(object); fn_1_2CA8(object); fn_1_4660(object); } -void fn_1_2AB4(omObjData *object) -{ - unkStruct2 *sp8; - - sp8 = (unkStruct2 *)object->data; +void fn_1_2AB4(omObjData* object) { + unkStruct2* sp8; + sp8 = (unkStruct2*)object->data; + switch (fn_1_4EA8(0x20)) { case 0x20: fn_1_2B04(object); } } -s16 lbl_1_data_E4[2] = { 0, 0 }; -s16 lbl_1_data_E8[2] = { 0, 0 }; -s16 lbl_1_data_EC[2] = { 0, 0 }; -s16 lbl_1_data_F0[2] = { 0, 0 }; +s16 lbl_1_data_E4[2] = {0, 0}; +s16 lbl_1_data_E8[2] = {0, 0}; +s16 lbl_1_data_EC[2] = {0, 0}; +s16 lbl_1_data_F0[2] = {0, 0}; s32 lbl_1_data_F4[4] = { 20, 60, 100, 140 }; -s16 lbl_1_data_104[2] = { 0, 0 }; -s16 lbl_1_data_108[2] = { 0, 0 }; +s16 lbl_1_data_104[2] = {0, 0}; +s16 lbl_1_data_108[2] = {0, 0}; s16 lbl_1_data_10C[9] = { 0, 3, 1, 0, 2, 3, 1, 3, 2 }; -void fn_1_2B04(omObjData *object) -{ +void fn_1_2B04(omObjData* object) { f32 temp_f31; - unkStruct *temp_r31; + unkStruct* temp_r31; - temp_r31 = (unkStruct *)object->data; + temp_r31 = (unkStruct*)object->data; switch (lbl_1_data_E4[0]) { case 0: lbl_1_data_E8[0]++; - temp_f31 = lbl_1_data_E8[0] / (6 * REFRESH_RATE_F); + temp_f31 = lbl_1_data_E8[0] / 360.0f; if (temp_f31 > 1.0f) { temp_f31 = 1.0f; - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[3], 1); lbl_1_data_E8[0] = 0; lbl_1_data_E4[0] = 0; fn_1_4EEC(0x20, 0); return; } - temp_f31 = sind(90.0f * temp_f31); + temp_f31 = sin((M_PI * (90.0f * temp_f31)) / 180.0); temp_r31->center.y = (250.0f + (1750.0f * temp_f31)); } Hu3DModelPosSet(object->model[3], temp_r31->center.x, temp_r31->center.y, temp_r31->center.z); Hu3DModelRotSet(object->model[3], temp_r31->rot.x, temp_r31->rot.y, temp_r31->rot.z); } -void fn_1_2CA8(omObjData *arg0) -{ - unkStruct2 *sp8; - - sp8 = (unkStruct2 *)arg0->data; +void fn_1_2CA8(omObjData* arg0) { + unkStruct2* sp8; + sp8 = (unkStruct2*)arg0->data; + switch (fn_1_4EA8(7)) { case 1: fn_1_2D28(arg0); @@ -731,52 +699,51 @@ void fn_1_2CA8(omObjData *arg0) } } -void fn_1_2D28(omObjData *object) -{ +void fn_1_2D28(omObjData* object) { f32 var_f31; - unkStruct *temp_r31; + unkStruct* temp_r31; - temp_r31 = (unkStruct *)object->data; + temp_r31 = (unkStruct*)object->data; switch (lbl_1_data_EC[0]) { case 0x0: temp_r31->center.x = temp_r31->center.z = 0.0f; temp_r31->center.y = 2000.0f; temp_r31->rot.x = temp_r31->rot.y = temp_r31->rot.z = 0.0f; - Hu3DModelAttrReset(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[3], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[3], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(object->model[2], 1); + Hu3DModelAttrReset(object->model[3], 1); + Hu3DModelAttrSet(object->model[3], 0x40000002); Hu3DMotionTimeSet(object->model[3], 0.0f); - lbl_1_data_EC[0]++; + lbl_1_data_EC[0] ++; lbl_1_data_F0[0] = 0; HuAudFXPlay(0x709); HuAudFXPlay(0x711); break; case 0x1: - lbl_1_data_F0[0]++; - var_f31 = lbl_1_data_F0[0] / (2 * REFRESH_RATE_F); + lbl_1_data_F0[0] ++; + var_f31 = lbl_1_data_F0[0] / 120.0f; if (var_f31 > 1.0f) { var_f31 = 1.0f; lbl_1_data_F0[0] = 0; - lbl_1_data_F0[1] = REFRESH_RATE / 4; + lbl_1_data_F0[1] = 0xF; lbl_1_data_EC[1] = (lbl_1_data_EC[0] + 1); lbl_1_data_EC[0] = 0x63; } - if ((11 * REFRESH_RATE_F / 6) == lbl_1_data_F0[0]) { + if (110.0f == lbl_1_data_F0[0]) { HuAudFXPlay(0x70A); } - var_f31 = sind(90.0f * var_f31); + var_f31 = sin((M_PI * (90.0f * var_f31)) / 180.0); temp_r31->center.y = (2000.0f + (-1750.0f * var_f31)); break; case 0x2: if (lbl_1_data_F0[0] == 0) { HuAudFXPlay(0x713); } - lbl_1_data_F0[0]++; - var_f31 = lbl_1_data_F0[0] / REFRESH_RATE_F; + lbl_1_data_F0[0] ++; + var_f31 = lbl_1_data_F0[0] / 60.0f; if (var_f31 > 1.0f) { var_f31 = 1.0f; lbl_1_data_F0[0] = 0; - lbl_1_data_F0[1] = REFRESH_RATE / 4; + lbl_1_data_F0[1] = 0xF; lbl_1_data_EC[1] = lbl_1_data_EC[0] + 1; lbl_1_data_EC[0] = 0x63; HuAudFXPlay(0x714); @@ -784,12 +751,12 @@ void fn_1_2D28(omObjData *object) temp_r31->rot.y = (360.0f * var_f31); break; case 0x3: - Hu3DModelAttrReset(object->model[3], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(object->model[3], 0x40000002); Hu3DMotionSpeedSet(object->model[3], 2.0f); if (lbl_1_data_F0[0] == 0) { HuAudFXPlay(0x711); } - if (++lbl_1_data_F0[0] > (0.2 * REFRESH_RATE)) { + if (++lbl_1_data_F0[0] > 12.0) { if (fn_1_4EA8(0x40) != 0) { fn_1_4EEC(0x40, 0); fn_1_F228(); @@ -802,16 +769,16 @@ void fn_1_2D28(omObjData *object) break; case 0x4: lbl_1_data_F0[0]++; - var_f31 = lbl_1_data_F0[0] / (6 * REFRESH_RATE_F); + var_f31 = lbl_1_data_F0[0] / 360.0f; if (var_f31 > 1.0f) { var_f31 = 1.0f; - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[3], 1); lbl_1_data_F0[0] = 0; lbl_1_data_EC[0] = 0; fn_1_4EEC(7, 2); return; } - var_f31 = sind(90.0f * var_f31); + var_f31 = sin((M_PI * (90.0f * var_f31)) / 180.0); temp_r31->center.y = (250.0f + (1750.0f * var_f31)); break; case 0x63: @@ -828,11 +795,10 @@ void fn_1_2D28(omObjData *object) return; } -void fn_1_33D4(omObjData *object) -{ - unkStruct2 *sp10; +void fn_1_33D4(omObjData* object) { + unkStruct2* sp10; - sp10 = (unkStruct2 *)object->data; + sp10 = (unkStruct2*)object->data; switch (lbl_1_data_EC[0]) { case 0: fn_1_1D54(30.0f, 500.0f, 200.0f, 12, 135.0f, lbl_1_bss_10[0]); @@ -843,50 +809,48 @@ void fn_1_33D4(omObjData *object) } } -void fn_1_3DD8(omObjData *object) -{ - unkStruct *sp8; +void fn_1_3DD8(omObjData* object) { + unkStruct* sp8; f32 var_f29; f32 var_f28; f32 var_f27; f32 var_f26; f32 var_f30; f32 var_f31; - unkStruct2 *var_r25; - omObjData **var_r24; + unkStruct2* var_r25; + omObjData** var_r24; s16 var_r29; s16 var_r31; s32 var_r23; - s32 *var_r26; - unkStruct2 *var_r28; + s32* var_r26; + unkStruct2* var_r28; s16 var_r27; - var_r25 = (unkStruct2 *)lbl_1_bss_6C->data; - sp8 = (unkStruct *)object->data; + var_r25 = (unkStruct2*)lbl_1_bss_6C->data; + sp8 = (unkStruct*)object->data; switch (lbl_1_data_EC[0]) { case 0: - Hu3DModelAttrReset(object->model[2], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(object->model[2], 0x40000002); lbl_1_data_EC[0]++; return; case 1: if (++lbl_1_data_F0[0] == 0x1E) { fn_1_4EEC(0x100, 0x100); - } - else if (lbl_1_data_F0[0] == 0x32) { + } else if (lbl_1_data_F0[0] == 0x32) { fn_1_EE78(); } var_f26 = Hu3DMotionMaxTimeGet(object->model[2]); if (Hu3DMotionTimeGet(object->model[2]) >= var_f26) { - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[2], 1); for (var_r31 = 0; var_r31 < lbl_1_bss_60; var_r31++) { - Hu3DModelAttrReset(lbl_1_bss_64[var_r31].unk0, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(lbl_1_bss_64[var_r31].unk0, 1); fn_1_57B4(&lbl_1_bss_64[var_r31]); } lbl_1_data_F0[0] = 0; lbl_1_data_EC[0]++; HuAudFXPlay(0x70C); } - + for (var_r31 = 0; var_r31 < 4U; var_r31++) { if (lbl_1_data_F0[0] == lbl_1_data_F4[var_r31] * 2) { HuAudFXPlay(0x70D); @@ -895,7 +859,7 @@ void fn_1_3DD8(omObjData *object) return; case 2: var_f30 = (((rand8() << 8) | rand8()) % 361); - + for (var_r29 = 1; var_r29 < 4; var_r29++, var_f30 += 120.0f) { var_f31 = 0.01f * ((((rand8() << 8) | rand8()) % 51) + 0x32); var_f27 = (var_f31 * (200.0 * sind(var_f30))); @@ -904,8 +868,8 @@ void fn_1_3DD8(omObjData *object) Hu3DModelPosSet(lbl_1_bss_10[var_r29], var_f27, 300.0f + var_f28, var_f29); var_f31 = 0.1f * ((((rand8() << 8) | rand8()) % 11) + 0x19); Hu3DModelScaleSet(lbl_1_bss_10[var_r29], var_f31, var_f31, var_f31); - Hu3DModelAttrReset(lbl_1_bss_10[var_r29], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_10[var_r29], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(lbl_1_bss_10[var_r29], 1); + Hu3DModelAttrReset(lbl_1_bss_10[var_r29], 0x40000002); } fn_1_45BC(object); fn_1_4EEC(7, 5); @@ -914,7 +878,7 @@ void fn_1_3DD8(omObjData *object) var_r24 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); for (var_r31 = 0; var_r31 < 4; var_r31++) { if (fn_1_F4FC(var_r31) >= 0) { - var_r28 = (unkStruct2 *)var_r24[fn_1_F4FC(var_r31)]->data; + var_r28 = (unkStruct2*)var_r24[fn_1_F4FC(var_r31)]->data; switch (var_r28->unk0 & 0xF) { case 6: omVibrate(var_r28->unk4, 0x30, 0xC, 0); @@ -930,13 +894,13 @@ void fn_1_3DD8(omObjData *object) if (lbl_1_bss_64[0].unk3C == 0) { for (var_r27 = 1; var_r27 < 4; var_r27++) { Hu3DMotionTimeSet(lbl_1_bss_10[var_r27], 0.0f); - Hu3DModelAttrSet(lbl_1_bss_10[var_r27], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_10[var_r27], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(lbl_1_bss_10[var_r27], 1); + Hu3DModelAttrSet(lbl_1_bss_10[var_r27], 0x40000002); } - Hu3DModelAttrSet(object->model[2], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(object->model[2], 0x40000002); Hu3DMotionTimeSet(object->model[2], 0.0f); for (var_r31 = 0; var_r31 < lbl_1_bss_60; var_r31++) { - Hu3DModelAttrSet(lbl_1_bss_64[var_r31].unk0, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(lbl_1_bss_64[var_r31].unk0, 1); } fn_1_4558(object); if (lbl_1_data_1D8 >= 0) { @@ -945,8 +909,7 @@ void fn_1_3DD8(omObjData *object) fn_1_4EEC(0x40, 0x40); fn_1_4EEC(7, 1); HuAudFXPlay(0x70E); - } - else { + } else { fn_1_4EEC(7, 2); var_r26 = lbl_1_bss_6C->data; var_r26[0] &= 0xFFFFFFF8; @@ -957,8 +920,7 @@ void fn_1_3DD8(omObjData *object) } } -void fn_1_4558(omObjData *object) -{ +void fn_1_4558(omObjData* object) { s16 var_r31; for (var_r31 = 0; var_r31 < lbl_1_bss_60; var_r31++) { @@ -966,23 +928,21 @@ void fn_1_4558(omObjData *object) } } -void fn_1_45BC(omObjData *object) -{ +void fn_1_45BC(omObjData* object) { Vec sp8; s16 var_r31; sp8.x = 0.0f; sp8.y = 250.0f; sp8.z = 0.0f; - + for (var_r31 = 0; var_r31 < lbl_1_bss_60; var_r31++) { fn_1_5010(&lbl_1_bss_64[var_r31], &sp8, 1500.0f); } } -void fn_1_4660(omObjData *object) -{ - void *sp8; +void fn_1_4660(omObjData* object) { + void* sp8; s16 temp_r3; sp8 = object->data; @@ -998,19 +958,18 @@ void fn_1_4660(omObjData *object) } } -void fn_1_46E0(omObjData *object) -{ +void fn_1_46E0(omObjData* object) { f32 var_f31; s16 temp_r0; s16 var_r30; s32 temp_r28; - unkStruct2 *temp_r31; + unkStruct2* temp_r31; - temp_r31 = (unkStruct2 *)object->data; + temp_r31 = (unkStruct2*)object->data; switch (lbl_1_data_104[0]) { case 0x0: fn_1_4E00(-1, 0.0f); - + for (var_r30 = 0; var_r30 < 5; var_r30++) { Hu3DMotionTimeSet(object->model[var_r30 + 4], 0.0f); lbl_1_data_14[var_r30] = 0; @@ -1022,7 +981,7 @@ void fn_1_46E0(omObjData *object) break; case 0x1: lbl_1_data_108[0]++; - var_f31 = lbl_1_data_108[0] / REFRESH_RATE_F; + var_f31 = lbl_1_data_108[0] / 60.0f; if (var_f31 > 1.0f) { var_f31 = 1.0f; lbl_1_data_108[0] = 0; @@ -1030,7 +989,7 @@ void fn_1_46E0(omObjData *object) fn_1_4EEC(0x18, 0x10); HuAudFXPlay(0x70F); } - var_f31 = sind(90.0f * var_f31); + var_f31 = sin((M_PI * (90.0f * var_f31)) / 180.0); temp_r31->unk24 = (150.0f * var_f31); break; case 0x63: @@ -1040,7 +999,7 @@ void fn_1_46E0(omObjData *object) } break; } - + for (var_r30 = 0; var_r30 < temp_r31->unk1C; var_r30++) { Hu3DData[object->model[var_r30 + 4]].pos.y = temp_r31->unk24; lbl_1_data_14[var_r30] = 1; @@ -1048,14 +1007,13 @@ void fn_1_46E0(omObjData *object) Hu3DData[object->model[1]].pos.y = temp_r31->unk24; } -void fn_1_4A20(omObjData *object) -{ - ModelData *temp_r31; +void fn_1_4A20(omObjData* object) { + ModelData* temp_r31; s16 temp_r28; - unkStruct2 *temp_r30; + unkStruct2* temp_r30; f32 var_f31; - temp_r30 = (unkStruct2 *)object->data; + temp_r30 = (unkStruct2*)object->data; temp_r28 = temp_r30->unk2E; if (temp_r28 != -1) { temp_r31 = &Hu3DData[object->model[temp_r28 + 4]]; @@ -1066,36 +1024,34 @@ void fn_1_4A20(omObjData *object) temp_r31->unk_64 = 0.0f; } } - } - else { + } else { var_f31 = Hu3DMotionMaxTimeGet(object->model[temp_r28 + 4]); temp_r31->unk_64 = var_f31 * temp_r30->unk30; } } } -void fn_1_4B44(omObjData *object) -{ +void fn_1_4B44(omObjData* object) { f32 var_f31; s16 var_r30; - unkStruct2 *temp_r31; + unkStruct2* temp_r31; - temp_r31 = (unkStruct2 *)object->data; + temp_r31 = (unkStruct2*)object->data; switch (lbl_1_data_104[0]) { case 0: lbl_1_data_108[0]++; - var_f31 = lbl_1_data_108[0] / REFRESH_RATE_F; + var_f31 = lbl_1_data_108[0] / 60.0f; if (var_f31 > 1.0f) { var_f31 = 1.0f; lbl_1_data_108[0] = 0; lbl_1_data_104[0]++; } - var_f31 = sind(90.0f * var_f31); + var_f31 = sin((M_PI * (90.0f * var_f31)) / 180.0); temp_r31->unk24 = (150.0f + (-150.0f * var_f31)); break; case 1: lbl_1_data_108[0]++; - var_f31 = (lbl_1_data_108[0] / (0.5f * REFRESH_RATE_F)); + var_f31 = (lbl_1_data_108[0] / 30.0f); if (var_f31 >= 1.0f) { lbl_1_data_108[0] = 0; lbl_1_data_104[0] = 0; @@ -1106,7 +1062,7 @@ void fn_1_4B44(omObjData *object) } break; } - + for (var_r30 = 0; var_r30 < temp_r31->unk1C; var_r30++) { Hu3DData[object->model[var_r30 + 4]].pos.y = temp_r31->unk24; lbl_1_data_14[var_r30] = 1; @@ -1114,28 +1070,25 @@ void fn_1_4B44(omObjData *object) Hu3DData[object->model[1]].pos.y = temp_r31->unk24; } -void fn_1_4E00(s16 arg0, f32 arg8) -{ - unkStruct2 *temp_r31; +void fn_1_4E00(s16 arg0, f32 arg8) { + unkStruct2* temp_r31; - temp_r31 = (unkStruct2 *)lbl_1_bss_68->data; + temp_r31 = (unkStruct2*)lbl_1_bss_68->data; temp_r31->unk2E = arg0; temp_r31->unk30 = arg8; } -s16 fn_1_4E2C(void) -{ - unkStruct2 *var_r31; +s16 fn_1_4E2C(void) { + unkStruct2* var_r31; - var_r31 = (unkStruct2 *)lbl_1_bss_68->data; + var_r31 = (unkStruct2*)lbl_1_bss_68->data; return var_r31->unk1C; } -s16 fn_1_4E54(s16 arg0) -{ - unkStruct2 *temp_r31; +s16 fn_1_4E54(s16 arg0) { + unkStruct2* temp_r31; - temp_r31 = (unkStruct2 *)lbl_1_bss_68->data; + temp_r31 = (unkStruct2*)lbl_1_bss_68->data; if (arg0 == -1) { return temp_r31->unk2C; } @@ -1145,30 +1098,27 @@ s16 fn_1_4E54(s16 arg0) return 0; } -u16 fn_1_4EA8(u16 arg0) -{ - unkStruct2 *temp_r31; +u16 fn_1_4EA8(u16 arg0) { + unkStruct2* temp_r31; - temp_r31 = (unkStruct2 *)lbl_1_bss_68->data; + temp_r31 = (unkStruct2*)lbl_1_bss_68->data; if (!temp_r31) { return 0; } return temp_r31->unk0 & arg0; } -void fn_1_4EEC(u16 arg0, u16 arg1) -{ - unkStruct2 *temp_r31; +void fn_1_4EEC(u16 arg0, u16 arg1) { + unkStruct2* temp_r31; - temp_r31 = (unkStruct2 *)lbl_1_bss_68->data; + temp_r31 = (unkStruct2*)lbl_1_bss_68->data; temp_r31->unk0 &= ~arg0; temp_r31->unk0 |= arg1; } -void fn_1_4F34(unkStruct6 *arg0) -{ +void fn_1_4F34(unkStruct6* arg0) { s16 var_r30; - unkStruct8 *var_r31; + unkStruct8* var_r31; var_r31 = arg0->unk24; if (arg0->unk20 != 0) { @@ -1185,22 +1135,21 @@ void fn_1_4F34(unkStruct6 *arg0) } } -void fn_1_5010(unkStruct6 *arg0, Vec *arg1, f32 arg8) -{ +void fn_1_5010(unkStruct6* arg0, Vec* arg1, f32 arg8) { Vec sp14; - ModelData *temp_r29; + ModelData* temp_r29; f32 var_f25; f32 var_f28; f32 var_f27; f32 var_f26; s32 var_r27; - unkStruct8 *var_r31; - + unkStruct8* var_r31; + var_r31 = arg0->unk24; if (arg0->unk20 != 0) { temp_r29 = &Hu3DData[arg0->unk0]; arg0->unk2 |= 4; - + for (var_r27 = 0; var_r27 < arg0->unk20; var_r27++, var_r31++) { sp14.x = (var_r31->unk7C.x + temp_r29->pos.x) - arg1->x; sp14.y = (var_r31->unk7C.y + temp_r29->pos.y) - arg1->y; @@ -1209,7 +1158,7 @@ void fn_1_5010(unkStruct6 *arg0, Vec *arg1, f32 arg8) sp14.x /= var_f25; sp14.y /= var_f25; sp14.z /= var_f25; - + var_f25 = (1.0f - (var_f25 / arg8)); if (var_f25 < 0.0f) { var_f25 = 0.0f; @@ -1230,19 +1179,18 @@ void fn_1_5010(unkStruct6 *arg0, Vec *arg1, f32 arg8) } } -void fn_1_57B4(unkStruct6 *arg0) -{ +void fn_1_57B4(unkStruct6* arg0) { Mtx sp14; Vec sp8; s16 var_r29; - Vec *temp_r26; + Vec* temp_r26; s32 var_r27; s32 var_r28; - unkStruct8 *var_r31; + unkStruct8* var_r31; var_r31 = arg0->unk24; temp_r26 = arg0->unk10; - + for (var_r27 = 0; var_r27 < arg0->unk20; var_r27++, var_r31++) { var_r31->unkAC.y = (var_r31->unkAC.y - var_r31->unkC4.y); var_r31->unk94.x = (var_r31->unk94.x + var_r31->unkAC.x); @@ -1267,8 +1215,7 @@ void fn_1_57B4(unkStruct6 *arg0) var_r31->unkAC.z = 0.0f; var_r31->unkB8.x = 0.0f; var_r31->unkB8.z = 0.0f; - } - else { + } else { var_r31->unkAC.x *= 0.5f; var_r31->unkAC.y = -(0.3f * var_r31->unkAC.y); var_r31->unkAC.z *= 0.5f; @@ -1276,56 +1223,54 @@ void fn_1_57B4(unkStruct6 *arg0) var_r31->unkB8.z *= 0.5f; } } - MTXScale(sp14, var_r31->unk88.x, var_r31->unk88.y, var_r31->unk88.z); + PSMTXScale(sp14, var_r31->unk88.x, var_r31->unk88.y, var_r31->unk88.z); mtxTransCat(sp14, -var_r31->unk7C.x, -var_r31->unk7C.y, -var_r31->unk7C.z); mtxRotCat(sp14, var_r31->unkA0.x, var_r31->unkA0.y, var_r31->unkA0.z); mtxTransCat(sp14, var_r31->unk94.x + var_r31->unk7C.x, var_r31->unk94.y + var_r31->unk7C.y, var_r31->unk94.z + var_r31->unk7C.z); - + for (var_r28 = 0; var_r28 < 3; var_r28++) { if ((arg0->unk2 & 1) != 0) { var_r29 = var_r31->unk0[var_r28].unk0; - } - else { + } else { var_r29 = var_r31->unk18[var_r28]; } - MTXMultVec(sp14, &temp_r26[var_r29], &sp8); + PSMTXMultVec(sp14, &temp_r26[var_r29], &sp8); arg0->unkC[var_r29].x = sp8.x; arg0->unkC[var_r29].y = sp8.y; arg0->unkC[var_r29].z = sp8.z; } if ((arg0->unk2 & 2) != 0) { var_r29 = var_r31->unk1E; - MTXMultVec(sp14, &temp_r26[var_r29], &sp8); + PSMTXMultVec(sp14, &temp_r26[var_r29], &sp8); arg0->unkC[var_r29].x = sp8.x; arg0->unkC[var_r29].y = sp8.y; arg0->unkC[var_r29].z = sp8.z; } } if ((arg0->unk2 & 4) != 0) { - if (++arg0->unk3E > (4 * REFRESH_RATE / 3)) { + if (++arg0->unk3E > 0x50) { arg0->unk3C = ((arg0->unk3C - 10) < 0) ? 0 : arg0->unk3C - 10; } } DCFlushRangeNoSync(arg0->unkC, arg0->unk8 * 0xC); } -void fn_1_5C2C(s16 arg0, HsfObject *arg1, unkStruct6 *arg2, u16 arg3) -{ +void fn_1_5C2C(s16 arg0, HsfObject* arg1, unkStruct6* arg2, u16 arg3) { Mtx sp68; Vec sp44[3]; Vec sp38; Vec sp2C; - ModelData *sp1C; + ModelData* sp1C; GXColor sp18 = { 0xFF, 0xFF, 0xFF, 0xFF }; - Vec *var_r21; - Vec *var_r19; + Vec* var_r21; + Vec* var_r19; s16 var_r20; - HsfVector2f *var_r22; + HsfVector2f* var_r22; s16 var_r24; s16 var_r23; - HsfTransform *var_r25; + HsfTransform* var_r25; s16 var_r27; - ModelData *var_r29; + ModelData* var_r29; s16 var_r28; s16 var_r30; @@ -1336,10 +1281,10 @@ void fn_1_5C2C(s16 arg0, HsfObject *arg1, unkStruct6 *arg2, u16 arg3) arg2->unk0 = var_r30; Hu3DModelLayerSet(var_r30, 1); var_r29 = &Hu3DData[var_r30]; - var_r29->unk_120 = (ParticleData *)arg2; + var_r29->unk_120 = (ParticleData* ) arg2; var_r29->unk_58.x = var_r29->unk_58.z = var_r29->unk_58.y = 1.0f; arg2->unk2 = arg3; - arg2->unk28 = &arg1->data.material[((s16 *)(arg1->data.face->data))[1] & 0xFFF]; + arg2->unk28 = &arg1->data.material[((s16*)(arg1->data.face->data))[1] & 0xFFF]; arg2->unk2C = arg1->data.attribute; arg2->unk38 = NULL; arg2->unk3C = 0xFF; @@ -1353,29 +1298,27 @@ void fn_1_5C2C(s16 arg0, HsfObject *arg1, unkStruct6 *arg2, u16 arg3) if (arg2->unk28->numAttrs != 0) { arg2->unk1C = HuMemDirectMallocNum(HEAP_DATA, arg1->data.st->count * 8, var_r29->unk_48); var_r22 = arg1->data.st->data; - } - else { + } else { arg2->unk1C = NULL; var_r22 = NULL; } var_r25 = &arg1->data.base; - MTXScale(sp68, var_r25->scale.x, var_r25->scale.y, var_r25->scale.z); + PSMTXScale(sp68, var_r25->scale.x, var_r25->scale.y, var_r25->scale.z); mtxRotCat(sp68, var_r25->rot.x, var_r25->rot.y, var_r25->rot.z); mtxTransCat(sp68, var_r25->pos.x, var_r25->pos.y, var_r25->pos.z); for (var_r30 = 0; var_r30 < arg2->unk20; var_r30++) { sp2C.x = sp2C.y = sp2C.z = 0.0f; - + for (var_r28 = 0; var_r28 < 3; var_r28++) { if ((arg2->unk2 & 1) != 0) { var_r23 = arg2->unk24[var_r30].unk0[var_r28].unk0; var_r27 = var_r23; - } - else { + } else { var_r27 = arg2->unk24[var_r30].unk18[var_r28]; var_r23 = arg2->unk24[var_r30].unk0[var_r28].unk0; } - MTXMultVec(sp68, &((Vec *)(arg1->data.vertex->data))[var_r23], &sp38); + PSMTXMultVec(sp68, &((Vec*)(arg1->data.vertex->data))[var_r23], &sp38); arg2->unkC[var_r27] = sp38; sp44[var_r28] = arg2->unkC[var_r27]; arg2->unk14[var_r27] = arg2->unk18[var_r23]; @@ -1410,14 +1353,13 @@ void fn_1_5C2C(s16 arg0, HsfObject *arg1, unkStruct6 *arg2, u16 arg3) GXBeginDisplayList(var_r19, 0x20000); if ((arg2->unk2 & 2) != 0) { GXBegin(GX_TRIANGLES, GX_VTXFMT0, (arg2->unk20 * 0xC)); - + for (var_r30 = 0; var_r30 < arg2->unk20; var_r30++) { - + for (var_r28 = 0; var_r28 < 3; var_r28++) { if ((arg2->unk2 & 1) != 0) { var_r27 = arg2->unk24[var_r30].unk0[var_r28].unk0; - } - else { + } else { var_r27 = arg2->unk24[var_r30].unk18[var_r28]; } GXPosition1x16(var_r27); @@ -1426,7 +1368,7 @@ void fn_1_5C2C(s16 arg0, HsfObject *arg1, unkStruct6 *arg2, u16 arg3) GXTexCoord1x16(arg2->unk24[var_r30].unk0[var_r28].unk6); } } - + for (var_r24 = 0; var_r24 < 9; var_r24++) { if (var_r20 < arg2->unk24[var_r30].unk20[var_r24].unk0) { var_r20 = arg2->unk24[var_r30].unk20[var_r24].unk0; @@ -1438,15 +1380,13 @@ void fn_1_5C2C(s16 arg0, HsfObject *arg1, unkStruct6 *arg2, u16 arg3) } } } - } - else { + } else { GXBegin(GX_TRIANGLES, GX_VTXFMT0, (arg2->unk20 * 3)); for (var_r30 = 0; var_r30 < arg2->unk20; var_r30++) { for (var_r28 = 0; var_r28 < 3; var_r28++) { if ((arg2->unk2 & 1) != 0) { var_r27 = arg2->unk24[var_r30].unk0[var_r28].unk0; - } - else { + } else { var_r27 = arg2->unk24[var_r30].unk18[var_r28]; } GXPosition1x16(var_r27); @@ -1466,29 +1406,28 @@ void fn_1_5C2C(s16 arg0, HsfObject *arg1, unkStruct6 *arg2, u16 arg3) } } -void fn_1_6554(unkStruct6 *arg0, HsfObject *arg1) -{ +void fn_1_6554(unkStruct6* arg0, HsfObject* arg1) { Vec sp20[3]; f32 spC[5]; f32 var_f28; - HsfBuffer *temp_r26; + HsfBuffer* temp_r26; s16 var_r28; s16 var_r29; - unkStruct10 *var_r30; + unkStruct10* var_r30; temp_r26 = arg1->data.face; - + for (var_r28 = 0; var_r28 < arg1->data.vertex->count; var_r28++) { arg0->unk18[var_r28].x = 0.0f; arg0->unk18[var_r28].y = 0.0f; arg0->unk18[var_r28].z = 0.0f; } - var_r30 = (unkStruct10 *)temp_r26->data; - + var_r30 = (unkStruct10*)temp_r26->data; + for (var_r28 = 0; var_r28 < temp_r26->count; var_r28++, var_r30++) { - sp20[0] = ((Vec *)(arg1->data.vertex->data))[var_r30->unk4[0].unk0]; - sp20[1] = ((Vec *)(arg1->data.vertex->data))[var_r30->unk4[1].unk0]; - sp20[2] = ((Vec *)(arg1->data.vertex->data))[var_r30->unk4[2].unk0]; + sp20[0] = ((Vec*)(arg1->data.vertex->data))[var_r30->unk4[0].unk0]; + sp20[1] = ((Vec*)(arg1->data.vertex->data))[var_r30->unk4[1].unk0]; + sp20[2] = ((Vec*)(arg1->data.vertex->data))[var_r30->unk4[2].unk0]; fn_1_91A4(&sp20[0], &sp20[1], &sp20[2], spC); spC[0] = -spC[0]; spC[1] = -spC[1]; @@ -1522,7 +1461,7 @@ void fn_1_6554(unkStruct6 *arg0, HsfObject *arg1) break; } } - + for (var_r28 = 0; var_r28 < arg1->data.vertex->count; var_r28++) { sp20[0].x = arg0->unk18[var_r28].x; sp20[0].y = arg0->unk18[var_r28].y; @@ -1534,25 +1473,24 @@ void fn_1_6554(unkStruct6 *arg0, HsfObject *arg1) } } -void fn_1_6B58(unkStruct6 *arg0, HsfObject *arg1) -{ - HsfBuffer *temp_r25; +void fn_1_6B58(unkStruct6* arg0, HsfObject* arg1) { + HsfBuffer* temp_r25; s32 var_r28; s32 var_r30; u8 var_r24; - ModelData *var_r22; - unkStruct8 *var_r31; + ModelData* var_r22; + unkStruct8* var_r31; unkStruct11 *temp_r26; - unkStruct10 *var_r29; + unkStruct10* var_r29; var_r22 = &Hu3DData[arg0->unk0]; temp_r25 = arg1->data.face; var_r24 = ((arg0->unk2 & 1) != 0) ? 1 : 0; arg0->unk20 = 0; - + var_r28 = 0; - var_r29 = (unkStruct10 *)temp_r25->data; - for (; var_r28 < temp_r25->count; var_r28++, var_r29++) { + var_r29 = (unkStruct10*)temp_r25->data; + for (;var_r28 < temp_r25->count;var_r28++, var_r29++) { switch (var_r29->unk0 & 7) { case 2: arg0->unk20 += 1; @@ -1569,14 +1507,13 @@ void fn_1_6B58(unkStruct6 *arg0, HsfObject *arg1) var_r31 = arg0->unk24; if (var_r24 != 0) { var_r30 = arg1->data.vertex->count; - } - else { + } else { var_r30 = 0; } - + var_r28 = 0; - var_r29 = (unkStruct10 *)temp_r25->data; - for (; var_r28 < temp_r25->count; var_r28++, var_r29++) { + var_r29 = (unkStruct10*)temp_r25->data;\ + for (;var_r28 < temp_r25->count; var_r28++, var_r29++) { switch (var_r29->unk0 & 7) { case 2: var_r31->unk0[0] = var_r29->unk4[0]; @@ -1625,24 +1562,21 @@ void fn_1_6B58(unkStruct6 *arg0, HsfObject *arg1) var_r31++; var_r28 = 0; temp_r26 = var_r29->unk20; - for (; var_r28 < var_r29->unk1C; var_r28++) { + for (;var_r28 < var_r29->unk1C; var_r28++) { if (var_r28 == 0) { var_r31->unk0[0] = var_r31->unk0[1]; var_r31->unk0[1] = var_r31->unk0[2]; var_r31->unk0[2] = temp_r26[0]; - } - else if (var_r28 == 1) { + } else if (var_r28 == 1) { var_r31->unk0[0] = var_r31->unk0[2]; var_r31->unk0[1] = temp_r26[1]; var_r31->unk0[2] = temp_r26[0]; - } - else { + } else { if ((var_r28 % 2) != 0) { var_r31->unk0[0] = temp_r26[var_r28 - 2]; var_r31->unk0[1] = temp_r26[var_r28 - 0]; var_r31->unk0[2] = temp_r26[var_r28 - 1]; - } - else { + } else { var_r31->unk0[0] = temp_r26[var_r28 - 2]; var_r31->unk0[1] = temp_r26[var_r28 - 1]; var_r31->unk0[2] = temp_r26[var_r28 - 0]; @@ -1662,26 +1596,24 @@ void fn_1_6B58(unkStruct6 *arg0, HsfObject *arg1) arg0->unk8 = var_r30; } -void fn_1_71FC(unkStruct6 *arg0, Vec *arg1, s16 arg2, Vec arg3) -{ +void fn_1_71FC(unkStruct6* arg0, Vec* arg1, s16 arg2, Vec arg3) { Vec sp40; Vec sp34; Vec sp28[3]; Vec sp1C; - unkStruct8 *temp_r30 = &arg0->unk24[arg2]; + unkStruct8* temp_r30 = &arg0->unk24[arg2]; s16 sp10[3][2] = { { 0, 1 }, { 0, 2 }, { 1, 2 } }; f32 var_f31; f32 var_f30; f32 var_f29; f32 var_f27; s16 var_r31; - + if ((arg0->unk2 & 1) != 0) { sp28[0] = arg0->unkC[temp_r30->unk0[0].unk0]; sp28[1] = arg0->unkC[temp_r30->unk0[1].unk0]; sp28[2] = arg0->unkC[temp_r30->unk0[2].unk0]; - } - else { + } else { sp28[0] = arg0->unkC[temp_r30->unk18[0]]; sp28[1] = arg0->unkC[temp_r30->unk18[1]]; sp28[2] = arg0->unkC[temp_r30->unk18[2]]; @@ -1689,18 +1621,22 @@ void fn_1_71FC(unkStruct6 *arg0, Vec *arg1, s16 arg2, Vec arg3) sp1C.x = temp_r30->unk68[0]; sp1C.y = temp_r30->unk68[1]; sp1C.z = temp_r30->unk68[2]; - VECNormalize(&sp1C, &sp1C); + PSVECNormalize(&sp1C, &sp1C); var_f31 = var_f30 = var_f29 = 0.0f; - + for (var_r31 = 0; var_r31 < 3; var_r31++) { - var_f31 += (sp28[sp10[var_r31][0]].x - sp28[sp10[var_r31][1]].x < 0.0f) ? -(sp28[sp10[var_r31][0]].x - sp28[sp10[var_r31][1]].x) - : (sp28[sp10[var_r31][0]].x - sp28[sp10[var_r31][1]].x); + var_f31 += (sp28[sp10[var_r31][0]].x - sp28[sp10[var_r31][1]].x < 0.0f) + ? -(sp28[sp10[var_r31][0]].x - sp28[sp10[var_r31][1]].x) + : (sp28[sp10[var_r31][0]].x - sp28[sp10[var_r31][1]].x); + + + var_f30 += (sp28[sp10[var_r31][0]].y - sp28[sp10[var_r31][1]].y < 0.0f) + ? -(sp28[sp10[var_r31][0]].y - sp28[sp10[var_r31][1]].y) + : (sp28[sp10[var_r31][0]].y - sp28[sp10[var_r31][1]].y); - var_f30 += (sp28[sp10[var_r31][0]].y - sp28[sp10[var_r31][1]].y < 0.0f) ? -(sp28[sp10[var_r31][0]].y - sp28[sp10[var_r31][1]].y) - : (sp28[sp10[var_r31][0]].y - sp28[sp10[var_r31][1]].y); - - var_f29 += (sp28[sp10[var_r31][0]].z - sp28[sp10[var_r31][1]].z < 0.0f) ? -(sp28[sp10[var_r31][0]].z - sp28[sp10[var_r31][1]].z) - : (sp28[sp10[var_r31][0]].z - sp28[sp10[var_r31][1]].z); + var_f29 += (sp28[sp10[var_r31][0]].z - sp28[sp10[var_r31][1]].z < 0.0f) + ? -(sp28[sp10[var_r31][0]].z - sp28[sp10[var_r31][1]].z) + : (sp28[sp10[var_r31][0]].z - sp28[sp10[var_r31][1]].z); } var_f31 *= 0.3333f; var_f30 *= 0.3333f; @@ -1714,17 +1650,16 @@ void fn_1_71FC(unkStruct6 *arg0, Vec *arg1, s16 arg2, Vec arg3) arg1->z = (sp28[0].z - (sp1C.z * var_f27)); } -void fn_1_7934(unkStruct6 *arg0, unkStruct8 *arg1, Vec *arg2) -{ +void fn_1_7934(unkStruct6* arg0, unkStruct8* arg1, Vec* arg2) { Vec sp2C[3]; f32 sp18[5]; s16 sp10[4]; s16 sp8[4]; s16 var_r28; - Vec *temp_r30; - Vec *temp_r4; - Vec *temp_r4_2; - Vec *temp_r4_3; + Vec* temp_r30; + Vec* temp_r4; + Vec* temp_r4_2; + Vec* temp_r4_3; arg1->unk88.x = arg1->unk88.y = arg1->unk88.z = 1.0f; arg1->unk94.x = arg1->unk94.y = arg1->unk94.z = 0.0f; @@ -1732,13 +1667,12 @@ void fn_1_7934(unkStruct6 *arg0, unkStruct8 *arg1, Vec *arg2) arg1->unkAC.x = arg1->unkAC.y = arg1->unkAC.z = 0.0f; arg1->unkB8.x = arg1->unkB8.y = arg1->unkB8.z = 0.0f; arg1->unkC4.x = arg1->unkC4.y = arg1->unkC4.z = 0.0f; - + if ((arg0->unk2 & 2) != 0) { arg2->x *= 0.25f; arg2->y *= 0.25f; arg2->z *= 0.25f; - } - else { + } else { arg2->x /= 3.0f; arg2->y /= 3.0f; arg2->z /= 3.0f; @@ -1751,8 +1685,7 @@ void fn_1_7934(unkStruct6 *arg0, unkStruct8 *arg1, Vec *arg2) sp10[0] = arg1->unk0[0].unk0; sp10[1] = arg1->unk0[1].unk0; sp10[2] = arg1->unk0[2].unk0; - } - else { + } else { sp10[0] = arg1->unk18[0]; sp10[1] = arg1->unk18[1]; sp10[2] = arg1->unk18[2]; @@ -1762,14 +1695,14 @@ void fn_1_7934(unkStruct6 *arg0, unkStruct8 *arg1, Vec *arg2) sp8[1] = arg1->unk0[1].unk6; sp8[2] = arg1->unk0[2].unk6; sp8[3] = arg1->unk0[0].unk6; - + for (var_r28 = 0; var_r28 < 9; var_r28++) { arg1->unk20[var_r28].unk0 = sp10[lbl_1_data_10C[var_r28]]; arg1->unk20[var_r28].unk6 = sp8[lbl_1_data_10C[var_r28]]; } temp_r30 = &arg0->unk14[arg1->unk1E]; temp_r30->x = temp_r30->y = temp_r30->z = 0.0f; - + for (var_r28 = 0; var_r28 < 3; var_r28++) { sp2C[0] = arg0->unkC[sp10[lbl_1_data_10C[var_r28]]]; sp2C[1] = arg0->unkC[sp10[lbl_1_data_10C[var_r28 + 1]]]; @@ -1785,8 +1718,7 @@ void fn_1_7934(unkStruct6 *arg0, unkStruct8 *arg1, Vec *arg2) } } -void fn_1_7D60(unkStruct15 *arg0, unkStruct13 *arg1, s16 arg2) -{ +void fn_1_7D60(unkStruct15* arg0, unkStruct13* arg1, s16 arg2) { GXTexObj sp1C; GXTlutObj sp10; s32 sp8; @@ -1818,8 +1750,7 @@ void fn_1_7D60(unkStruct15 *arg0, unkStruct13 *arg1, s16 arg2) GXInitTlutObj(&sp10, arg0->unk14, GX_TL_RGB565, arg0->unkE); GXLoadTlut(&sp10, arg2); GXInitTexObjCI(&sp1C, arg0->unk1C, temp_r29, temp_r28, GX_TF_C4, var_r27, var_r26, GX_FALSE, arg2); - } - else { + } else { GXInitTlutObj(&sp10, arg0->unk14, GX_TL_RGB565, arg0->unkE); GXLoadTlut(&sp10, arg2); GXInitTexObjCI(&sp1C, arg0->unk1C, temp_r29, temp_r28, GX_TF_C8, var_r27, var_r26, GX_FALSE, arg2); @@ -1830,8 +1761,7 @@ void fn_1_7D60(unkStruct15 *arg0, unkStruct13 *arg1, s16 arg2) GXInitTlutObj(&sp10, arg0->unk14, GX_TL_RGB5A3, arg0->unkE); GXLoadTlut(&sp10, arg2); GXInitTexObjCI(&sp1C, arg0->unk1C, temp_r29, temp_r28, GX_TF_C4, var_r27, var_r26, GX_FALSE, arg2); - } - else { + } else { GXInitTlutObj(&sp10, arg0->unk14, GX_TL_RGB5A3, arg0->unkE); GXLoadTlut(&sp10, arg2); GXInitTexObjCI(&sp1C, arg0->unk1C, temp_r29, temp_r28, GX_TF_C8, var_r27, var_r26, GX_FALSE, arg2); @@ -1846,21 +1776,20 @@ void fn_1_7D60(unkStruct15 *arg0, unkStruct13 *arg1, s16 arg2) return; } -void fn_1_806C(ModelData *arg0, Mtx arg1) -{ +void fn_1_806C(ModelData* arg0, Mtx arg1) { Mtx sp14; GXColor sp10; - unkStruct13 *temp_r29; - unkStruct14 *temp_r31; + unkStruct13* temp_r29; + unkStruct14* temp_r31; m440Func14 temp_r27; - temp_r31 = (unkStruct14 *)arg0->unk_120; + temp_r31 = (unkStruct14*)arg0->unk_120; if (((u8)omPauseChk() == 0) && (temp_r31->unk38)) { temp_r27 = temp_r31->unk38; temp_r27(temp_r31); } GXLoadPosMtxImm(arg1, 0); - MTXInvXpose(arg1, sp14); + PSMTXInvXpose(arg1, sp14); GXLoadNrmMtxImm(sp14, 0); fn_1_8AC4(arg1); sp10.r = (temp_r31->unk28->unkB[0] * arg0->unk_58.x); @@ -1875,11 +1804,11 @@ void fn_1_806C(ModelData *arg0, Mtx arg1) GXSetChanMatColor(GX_COLOR0A0, sp10); GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, temp_r31->unkC, 12); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0); + GXSetArray(GX_VA_POS, temp_r31->unkC, 0xC); GXSetVtxDesc(GX_VA_NRM, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0); - GXSetArray(GX_VA_NRM, temp_r31->unk14, 12); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_TEX_S, GX_RGBA6, 0); + GXSetArray(GX_VA_NRM, temp_r31->unk14, 0xC); lbl_1_bss_C = temp_r31->unk3C; if (temp_r31->unk28->unk34 == 0) { GXSetNumTevStages(1); @@ -1890,10 +1819,9 @@ void fn_1_806C(ModelData *arg0, Mtx arg1) GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); GXSetNumTexGens(0); GXSetNumChans(0); - } - else { + } else { GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0); GXSetArray(GX_VA_TEX0, temp_r31->unk1C, 8); temp_r29 = &temp_r31->unk2C[temp_r31->unk28->unk38[0]]; fn_1_7D60(temp_r29->unk80, temp_r29, 0); @@ -1908,8 +1836,7 @@ void fn_1_806C(ModelData *arg0, Mtx arg1) GXCallDisplayList(temp_r31->unk30, temp_r31->unk34); } -void fn_1_8470(unkStruct12 *arg0, unkStruct13 *arg1) -{ +void fn_1_8470(unkStruct12* arg0, unkStruct13* arg1) { ModelData sp40; Mtx sp10; GXColor spC; @@ -1927,13 +1854,11 @@ void fn_1_8470(unkStruct12 *arg0, unkStruct13 *arg1) temp_r24 = arg0->unk30; if ((arg0->unkA == 2) || (arg0->unkA == 3)) { var_r27 = 1; - } - else { + } else { var_r27 = 0; if ((arg0->unkA == 0) || (arg0->unkA == 5)) { var_r25 = 0; - } - else { + } else { var_r25 = 1; } } @@ -1948,16 +1873,14 @@ void fn_1_8470(unkStruct12 *arg0, unkStruct13 *arg1) GXSetTevAlphaIn(var_r31, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); GXSetTevAlphaOp(var_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); var_r31++; - } - else { + } else { GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); } - } - else { + } else { GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR); } if (var_r27 != 0) { @@ -1974,20 +1897,18 @@ void fn_1_8470(unkStruct12 *arg0, unkStruct13 *arg1) if (var_f31 < 0.1) { var_f31 = 0.1f; } - MTXCopy(lbl_1_bss_30, sp10); + PSMTXCopy(lbl_1_bss_30, sp10); mtxScaleCat(sp10, var_f31, var_f31, var_f31); GXLoadTexMtxImm(sp10, 0x24, GX_MTX2x4); var_r31++; var_r28++; var_r27 = 0; var_r25 = 1; - } - else { + } else { if (1.0f == arg1->unk20) { GXSetTevOrder(var_r31, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR1A1); GXSetTevColorIn(var_r31, GX_CC_CPREV, GX_CC_ONE, GX_CC_RASC, GX_CC_ZERO); - } - else { + } else { GXSetTevOrder(var_r31, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR1A1); GXSetTevColorIn(var_r31, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_CPREV); } @@ -1996,8 +1917,7 @@ void fn_1_8470(unkStruct12 *arg0, unkStruct13 *arg1) GXSetTevAlphaOp(var_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); var_r31++; } - } - else if (0.0f != arg0->unk1C) { + } else if (0.0f != arg0->unk1C) { GXSetTevOrder(var_r31, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); GXSetTevColorIn(var_r31, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_CPREV); GXSetTevColorOp(var_r31, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); @@ -2009,8 +1929,7 @@ void fn_1_8470(unkStruct12 *arg0, unkStruct13 *arg1) GXSetNumTevStages(var_r31); if (var_r27 != 0) { var_f30 = arg0->unk14; - } - else { + } else { var_f30 = 0.0f; } temp_r29 = Hu3DLightSet(&sp40, &Hu3DCameraMtx, &Hu3DCameraMtxXPose, var_f30); @@ -2033,71 +1952,67 @@ void fn_1_8470(unkStruct12 *arg0, unkStruct13 *arg1) GXSetChanCtrl(GX_COLOR0A0, var_r25, GX_SRC_REG, GX_SRC_REG, temp_r29, GX_DF_CLAMP, GX_AF_SPOT); } -void fn_1_8AC4(Mtx arg0) -{ +void fn_1_8AC4(Mtx arg0) { Mtx spA0; Mtx sp70; Mtx sp40; Vec sp34; Vec sp28; Vec sp1C; - Vec sp10 = { 0, 0, -1 }; + Vec sp10 = {0, 0, -1}; f32 var_f29; f32 var_f30; - LightData *var_r29; + LightData* var_r29; s16 temp_r31; var_r29 = &Hu3DGlobalLight[0]; sp34 = var_r29->unk_28; if ((var_r29->unk_00 & 0x8000) != 0) { - MTXMultVecSR(Hu3DCameraMtx, &sp34, &sp34); + PSMTXMultVecSR(Hu3DCameraMtx, &sp34, &sp34); } - var_f30 = VECDotProduct(&sp34, &sp10); + var_f30 = PSVECDotProduct(&sp34, &sp10); var_f30 *= 10000.0f; OSf32tos16(&var_f30, &temp_r31); if (temp_r31 == -0x2710) { - MTXScale(lbl_1_bss_30, 0.0f, 0.0f, 0.0f); + PSMTXScale(lbl_1_bss_30, 0.0f, 0.0f, 0.0f); return; } - C_VECHalfAngle(&sp34, &sp10, &sp28); + C_VECHalfAngle( &sp34, &sp10, &sp28); sp28.x = -sp28.x; sp28.y = -sp28.y; sp28.z = -sp28.z; - MTXInvXpose(arg0, sp70); + PSMTXInvXpose(arg0, sp70); if (temp_r31 == 0x2710) { - MTXIdentity(sp40); + PSMTXIdentity(sp40); + } else { + PSVECCrossProduct(&sp28, &sp10, &sp1C); + var_f29 = acosf(PSVECDotProduct(&sp10, &sp28)); + PSMTXRotAxisRad(sp40, &sp1C, var_f29); } - else { - VECCrossProduct(&sp28, &sp10, &sp1C); - var_f29 = acosf(VECDotProduct(&sp10, &sp28)); - MTXRotAxisRad(sp40, &sp1C, var_f29); - } - MTXConcat(sp40, sp70, spA0); - MTXTrans(sp40, 0.5f, 0.5f, 0.0f); - MTXConcat(sp40, spA0, lbl_1_bss_30); + PSMTXConcat(sp40, sp70, spA0); + PSMTXTrans(sp40, 0.5f, 0.5f, 0.0f); + PSMTXConcat(sp40, spA0, lbl_1_bss_30); } -void fn_1_8D1C(void) -{ +void fn_1_8D1C(void) { Mtx44 sp60; Mtx sp30; GXTexObj sp10; GXColor spC; u16 var_r30; - unkStruct2 *temp_r31; + unkStruct2* temp_r31; - temp_r31 = (unkStruct2 *)lbl_1_bss_68->data; + temp_r31 = (unkStruct2*)lbl_1_bss_68->data; if (!temp_r31) { var_r30 = 0; - } - else { + } else { var_r30 = temp_r31->unk0 & 7; } - + if (var_r30 == 5) { C_MTXOrtho(sp60, 0.0f, 480.0f, 0.0f, 640.0f, 0.0f, 10.0f); GXSetProjection(sp60, GX_ORTHOGRAPHIC); - MTXIdentity(sp30); + PSMTXIdentity(sp30); GXLoadPosMtxImm(sp30, 0); GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_DIRECT); @@ -2134,8 +2049,7 @@ void fn_1_8D1C(void) DCFlushRange(lbl_1_bss_28, lbl_1_bss_24); } -void fn_1_91A4(Vec *arg0, Vec *arg1, Vec *arg2, f32 arg3[5]) -{ +void fn_1_91A4(Vec* arg0, Vec* arg1, Vec* arg2, f32 arg3[5]) { Vec sp14; Vec sp8; @@ -2150,29 +2064,25 @@ void fn_1_91A4(Vec *arg0, Vec *arg1, Vec *arg2, f32 arg3[5]) arg3[2] = -((sp14.x * sp8.y) - (sp14.y * sp8.x)); } -f32 fn_1_927C(f32 arg8, f32 arg9, f32 argA) -{ +f32 fn_1_927C(f32 arg8, f32 arg9, f32 argA) { f32 var_f31; var_f31 = arg9 - arg8; if (var_f31 > 180.0f) { var_f31 -= 360.0f; - } - else if (var_f31 < -180.0f) { + } else if (var_f31 < -180.0f) { var_f31 += 360.0f; } var_f31 = arg8 + (var_f31 * argA); if (var_f31 >= 360.0f) { var_f31 -= 360.0f; - } - else if (var_f31 < 0.0f) { + } else if (var_f31 < 0.0f) { var_f31 += 360.0f; } return var_f31; } -void fn_1_9344(Mtx arg0, Mtx arg1) -{ +void fn_1_9344(Mtx arg0, Mtx arg1) { arg1[0][0] = arg0[0][0]; arg1[1][0] = arg0[0][1]; arg1[2][0] = arg0[0][2]; @@ -2187,33 +2097,29 @@ void fn_1_9344(Mtx arg0, Mtx arg1) arg1[2][3] = 0.0f; } -f32 fn_1_93C0(f32 arg0, f32 arg1, f32 arg2) -{ +f32 fn_1_93C0(f32 arg0, f32 arg1, f32 arg2) { return arg0 + (arg2 * (arg1 - arg0)); } -f32 fn_1_93D0(f32 arg8, f32 arg9, f32 argA, f32 argB) -{ +f32 fn_1_93D0(f32 arg8, f32 arg9, f32 argA, f32 argB) { f32 temp_f31; temp_f31 = 1.0f - argB; return (argA * (argB * argB)) + ((arg8 * (temp_f31 * temp_f31)) + (arg9 * (2.0f * temp_f31 * argB))); } -unkStruct4 *fn_1_942C(s16 arg0, Vec *arg1, Vec *arg2, f32 arg3, GXColor *arg4) -{ - ModelData *var_r28; +unkStruct4* fn_1_942C(s16 arg0, Vec* arg1, Vec* arg2, f32 arg3, GXColor* arg4) { + ModelData* var_r28; s16 var_r29; - unkStruct4 *var_r31; - unkStruct14 *temp_r30; + unkStruct4* var_r31; + unkStruct14* temp_r30; var_r28 = &Hu3DData[arg0]; temp_r30 = var_r28->unk_120; var_r29 = 0; var_r31 = temp_r30->unk18; - for (; var_r29 < temp_r30->unk0; var_r29++, var_r31++) { - if (var_r31->unk62 == 0) - break; + for (;var_r29 < temp_r30->unk0; var_r29++, var_r31++) { + if (var_r31->unk62 == 0) break; } if (var_r29 == temp_r30->unk0) { return NULL; @@ -2232,21 +2138,20 @@ unkStruct4 *fn_1_942C(s16 arg0, Vec *arg1, Vec *arg2, f32 arg3, GXColor *arg4) return var_r31; } -s16 fn_1_956C(AnimData *arg0, s16 arg1, f32 arg2, s16 arg3, s16 arg4) -{ - ModelData *temp_r28; +s16 fn_1_956C(AnimData* arg0, s16 arg1, f32 arg2, s16 arg3, s16 arg4) { + ModelData* temp_r28; s16 var_r20; s16 var_r22; s16 var_r19; - HsfVector2f *var_r29; + HsfVector2f* var_r29; s16 var_r30; - unkStruct5 *var_r31; - void *var_r21; - void *var_r18; - unkStruct4 *var_r24; - Vec *var_r25; - GXColor *var_r27; - + unkStruct5* var_r31; + void* var_r21; + void* var_r18; + unkStruct4* var_r24; + Vec* var_r25; + GXColor* var_r27; + var_r20 = Hu3DHookFuncCreate(fn_1_9C04); temp_r28 = &Hu3DData[var_r20]; var_r31 = HuMemDirectMallocNum(HEAP_DATA, 0x68, temp_r28->unk_48); @@ -2258,26 +2163,26 @@ s16 fn_1_956C(AnimData *arg0, s16 arg1, f32 arg2, s16 arg3, s16 arg4) var_r31->unkC = NULL; var_r24 = HuMemDirectMallocNum(HEAP_DATA, arg1 * 0x64, temp_r28->unk_48); var_r31->unk18 = var_r24; - + for (var_r30 = 0; var_r30 < arg1; var_r30++, var_r24++) { var_r24->unk60 = -1; var_r24->unk62 = 0; } var_r25 = HuMemDirectMallocNum(HEAP_DATA, arg1 * 0xC * 4, temp_r28->unk_48); var_r31->unk1C = var_r25; - + for (var_r30 = 0; var_r30 < (arg1 * 4); var_r30++, var_r25++) { var_r25->x = var_r25->y = var_r25->z = 0.0f; } var_r27 = HuMemDirectMallocNum(HEAP_DATA, arg1 * 4, temp_r28->unk_48); var_r31->unk24 = var_r27; - + for (var_r30 = 0; var_r30 < arg1; var_r30++, var_r27++) { var_r27->r = var_r27->g = var_r27->b = var_r27->a = 0xFF; } var_r29 = HuMemDirectMallocNum(HEAP_DATA, arg1 * 8 * 4, temp_r28->unk_48); var_r31->unk20 = var_r29; - + for (var_r30 = 0; var_r30 < arg1; var_r30++) { var_r29->x = 0.0f; var_r29->y = 0.0f; @@ -2298,8 +2203,7 @@ s16 fn_1_956C(AnimData *arg0, s16 arg1, f32 arg2, s16 arg3, s16 arg4) var_r31->unk14 = (var_r22 * var_r19); var_r31->unk60 = (1.0f / var_r22); var_r31->unk64 = (1.0f / var_r19); - } - else { + } else { var_r22 = 1; var_r31->unk14 = 1; var_r31->unk60 = 1.0f; @@ -2314,7 +2218,7 @@ s16 fn_1_956C(AnimData *arg0, s16 arg1, f32 arg2, s16 arg3, s16 arg4) var_r18 = var_r21; GXBeginDisplayList(var_r18, 0x20000); GXBegin(GX_QUADS, GX_VTXFMT0, (arg1 * 4)); - + for (var_r30 = 0; var_r30 < arg1; var_r30++) { GXPosition1x16(var_r30 * 4); GXColor1x16(var_r30); @@ -2338,33 +2242,30 @@ s16 fn_1_956C(AnimData *arg0, s16 arg1, f32 arg2, s16 arg3, s16 arg4) return var_r20; } -void fn_1_9AB0(s16 arg0) -{ - ModelData *data; - unkStruct5 *temp2; +void fn_1_9AB0(s16 arg0) { + ModelData* data; + unkStruct5* temp2; data = &Hu3DData[arg0]; - temp2 = (unkStruct5 *)data->unk_120; + temp2 = (unkStruct5*)data->unk_120; HuSprAnimKill(temp2->unk10); Hu3DModelKill(arg0); } -unkStruct5 *fn_1_9B10(s16 arg0) -{ - ModelData *data; +unkStruct5* fn_1_9B10(s16 arg0) { + ModelData* data; data = &Hu3DData[arg0]; - return (unkStruct5 *)data->unk_120; + return (unkStruct5*)data->unk_120; } -unkStruct4 *fn_1_9B3C(s16 arg0, s16 arg1) -{ - ModelData *data; - unkStruct5 *temp; +unkStruct4* fn_1_9B3C(s16 arg0, s16 arg1) { + ModelData* data; + unkStruct5* temp; data = &Hu3DData[arg0]; - temp = (unkStruct5 *)data->unk_120; - + temp = (unkStruct5*)data->unk_120; + if (arg1 == -1) { return 0; } @@ -2372,28 +2273,25 @@ unkStruct4 *fn_1_9B3C(s16 arg0, s16 arg1) return &temp->unk18[arg1]; } -void fn_1_9B94(s16 arg0, m440Func5 arg1) -{ - ModelData *data; - unkStruct5 *temp; +void fn_1_9B94(s16 arg0, m440Func5 arg1) { + ModelData* data; + unkStruct5* temp; data = &Hu3DData[arg0]; - temp = (unkStruct5 *)data->unk_120; + temp = (unkStruct5*)data->unk_120; temp->unkC = arg1; } -void fn_1_9BCC(s16 arg0, u8 arg1) -{ - ModelData *data; - unkStruct5 *temp; +void fn_1_9BCC(s16 arg0, u8 arg1) { + ModelData* data; + unkStruct5* temp; data = &Hu3DData[arg0]; - temp = (unkStruct5 *)data->unk_120; + temp = (unkStruct5*)data->unk_120; temp->unk8 = arg1; } -void fn_1_9C04(ModelData *arg0, Mtx arg1) -{ +void fn_1_9C04(ModelData* arg0, Mtx arg1) { Mtx sp128; ROMtx spF8; Mtx spC8; @@ -2407,16 +2305,16 @@ void fn_1_9C04(ModelData *arg0, Mtx arg1) Vec sp20; Vec sp14; Vec sp8; - Vec *var_r31; + Vec* var_r31; s16 temp_r0; u8 temp_r0_2; - unkStruct5 *temp_r30; - HsfVector2f *var_r27; + unkStruct5* temp_r30; + HsfVector2f* var_r27; s16 var_r26; - unkStruct4 *var_r29; + unkStruct4* var_r29; m440Func5 var_r23; - temp_r30 = (unkStruct5 *)arg0->unk_120; + temp_r30 = (unkStruct5*)arg0->unk_120; GXLoadPosMtxImm(arg1, 0); GXSetNumTevStages(1); GXSetNumTexGens(1); @@ -2425,8 +2323,7 @@ void fn_1_9C04(ModelData *arg0, Mtx arg1) temp_r0 = temp_r30->unk10->bmp->dataFmt & 0xF; if ((temp_r0 == 7) || (temp_r0 == 8)) { GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXA, GX_CC_RASC, GX_CC_ZERO); - } - else { + } else { GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); } GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); @@ -2468,9 +2365,9 @@ void fn_1_9C04(ModelData *arg0, Mtx arg1) var_r29 = temp_r30->unk18; var_r31 = temp_r30->unk1C; var_r27 = temp_r30->unk20; - PSMTXROMultVecArray(spF8, &temp_r30->unk2C, (Vec *)&sp68[0], 4); - - for (var_r26 = 0; var_r26 < temp_r30->unk0; var_r26++, var_r29++, var_r27 += 4) { + PSMTXROMultVecArray(spF8, &temp_r30->unk2C, (Vec*)&sp68[0], 4); + + for (var_r26 = 0; var_r26 < temp_r30->unk0; var_r26++, var_r29++, var_r27+=4) { if (var_r29->unk62 == 0) { var_r31->x = var_r31->y = var_r31->z = 0.0f; var_r31++; @@ -2480,24 +2377,22 @@ void fn_1_9C04(ModelData *arg0, Mtx arg1) var_r31++; var_r31->x = var_r31->y = var_r31->z = 0.0f; var_r31++; - } - else { + } else { if (0.0f == var_r29->unk44) { - fn_1_A328((Vec *)&sp68[0], &sp38, &var_r29->unk48, 4); - VECAdd(&sp38, &var_r29->unk54, var_r31++); - VECAdd(&sp44, &var_r29->unk54, var_r31++); - VECAdd(&sp50, &var_r29->unk54, var_r31++); - VECAdd(&sp5C, &var_r29->unk54, var_r31++); - } - else { + fn_1_A328((Vec*)&sp68[0], &sp38, &var_r29->unk48, 4); + PSVECAdd(&sp38, &var_r29->unk54, var_r31++); + PSVECAdd(&sp44, &var_r29->unk54, var_r31++); + PSVECAdd(&sp50, &var_r29->unk54, var_r31++); + PSVECAdd(&sp5C, &var_r29->unk54, var_r31++); + } else { fn_1_A328(&temp_r30->unk2C, &sp38, &var_r29->unk48, 4); - MTXRotRad(spC8, 0x5A, 0.017453292f * var_r29->unk44); - MTXConcat(sp128, spC8, sp98); - MTXMultVecArray(sp98, &sp38, &sp8, 4); - VECAdd(&sp8, &var_r29->unk54, var_r31++); - VECAdd(&sp14, &var_r29->unk54, var_r31++); - VECAdd(&sp20, &var_r29->unk54, var_r31++); - VECAdd(&sp2C, &var_r29->unk54, var_r31++); + PSMTXRotRad(spC8, 0x5A, 0.017453292f * var_r29->unk44); + PSMTXConcat(sp128, spC8, sp98); + PSMTXMultVecArray(sp98, &sp38, &sp8, 4); + PSVECAdd(&sp8, &var_r29->unk54, var_r31++); + PSVECAdd(&sp14, &var_r29->unk54, var_r31++); + PSVECAdd(&sp20, &var_r29->unk54, var_r31++); + PSVECAdd(&sp2C, &var_r29->unk54, var_r31++); } if (var_r29->unk60 != -1) { fn_1_A284(var_r27, temp_r30->unk5C, var_r29->unk60, temp_r30->unk60, temp_r30->unk64); @@ -2509,12 +2404,11 @@ void fn_1_9C04(ModelData *arg0, Mtx arg1) GXCallDisplayList(temp_r30->unk28, temp_r30->unk4); } -void fn_1_A1B8(HsfVector2f *arg0, s16 arg1, s16 arg2, f32 arg8, f32 arg9) -{ +void fn_1_A1B8(HsfVector2f* arg0, s16 arg1, s16 arg2, f32 arg8, f32 arg9) { s16 var_r31; s16 var_r30; s16 var_r29; - + for (var_r31 = 0; var_r31 < arg1; var_r31++, arg0++) { var_r30 = (var_r31 % arg2); var_r29 = (var_r31 / arg2); @@ -2523,8 +2417,7 @@ void fn_1_A1B8(HsfVector2f *arg0, s16 arg1, s16 arg2, f32 arg8, f32 arg9) } } -void fn_1_A284(HsfVector2f *arg0, HsfVector2f *arg1, s16 arg2, f32 arg3, f32 arg4) -{ +void fn_1_A284(HsfVector2f* arg0, HsfVector2f* arg1, s16 arg2, f32 arg3, f32 arg4) { arg0[0].x = arg1[arg2].x; arg0[0].y = arg1[arg2].y; arg0[1].x = (arg3 + arg1[arg2].x); @@ -2535,10 +2428,9 @@ void fn_1_A284(HsfVector2f *arg0, HsfVector2f *arg1, s16 arg2, f32 arg3, f32 arg arg0[3].y = (arg4 + arg1[arg2].y); } -void fn_1_A328(Vec *arg0, Vec *arg1, Vec *arg2, s16 arg3) -{ +void fn_1_A328(Vec* arg0, Vec* arg1, Vec* arg2, s16 arg3) { s16 var_r31; - + for (var_r31 = 0; var_r31 < arg3; var_r31++, arg0++, arg1++) { arg1->x = (arg0->x * arg2->x); arg1->y = (arg0->y * arg2->y); @@ -2548,15 +2440,13 @@ void fn_1_A328(Vec *arg0, Vec *arg1, Vec *arg2, s16 arg3) static s8 lbl_1_data_148 = 0xFF; -void fn_1_A390(ModelData *arg0, Mtx arg1) -{ +void fn_1_A390(ModelData* arg0, Mtx arg1) { if (lbl_1_bss_2 == 0) { if ((HuPadBtnDown[0] & 0x10) != 0) { lbl_1_bss_1 ^= 1; } - if (lbl_1_bss_1 == 0) - return; - + if (lbl_1_bss_1 == 0) return; + if ((HuPadBtn[0] & 1) != 0) { lbl_1_data_20.x -= 4.0f; } @@ -2572,8 +2462,7 @@ void fn_1_A390(ModelData *arg0, Mtx arg1) lbl_1_data_20.y += 4.0f; } lbl_1_data_2C.y += HuPadSubStkY[0]; - } - else { + } else { if ((HuPadBtn[0] & 8) != 0) { lbl_1_data_20.z -= 4.0f; } @@ -2592,7 +2481,7 @@ void fn_1_A390(ModelData *arg0, Mtx arg1) Hu3DGLightPosAimSetV(lbl_1_bss_E, &lbl_1_data_2C, &lbl_1_data_20); Hu3DShadowPosSet(&lbl_1_data_54, &lbl_1_data_60, &lbl_1_data_6C); } - + print8(8, 0x64, 1.5f, "InterXYZ: %.2f %.2f %.2f", lbl_1_data_20.x, lbl_1_data_20.y, lbl_1_data_20.z); print8(8, 0x70, 1.5f, "PositionXYZ: %.2f %.2f %.2f", lbl_1_data_2C.x, lbl_1_data_2C.y, lbl_1_data_2C.z); GXLoadPosMtxImm(arg1, 0); @@ -2600,7 +2489,7 @@ void fn_1_A390(ModelData *arg0, Mtx arg1) GXSetVtxDesc(GX_VA_POS, GX_DIRECT); GXSetVtxDesc(GX_VA_CLR0, GX_DIRECT); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0); GXSetNumTevStages(1); GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_RASC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); @@ -2617,8 +2506,7 @@ void fn_1_A390(ModelData *arg0, Mtx arg1) GXColor4u8(0xFF, 0x00, 0x00, 0xFF); } -void fn_1_AA94(void) -{ +void fn_1_AA94(void) { if ((HuPadBtnDown[0] & 0x40) != 0) { lbl_1_bss_2 ^= 1; } @@ -2638,8 +2526,7 @@ void fn_1_AA94(void) Center.x += HuPadSubStkX[0]; if ((HuPadBtn[0] & 0x20) != 0) { Center.y += HuPadSubStkY[0]; - } - else { + } else { Center.z += HuPadSubStkY[0]; } if ((HuPadBtn[0] & 0x400) != 0) { diff --git a/src/REL/m440Dll/object.c b/src/REL/m440Dll/object.c index 5eb6cb5c..d26d048a 100644 --- a/src/REL/m440Dll/object.c +++ b/src/REL/m440Dll/object.c @@ -1,21 +1,16 @@ #include "REL/m440Dll.h" +#include "string.h" +#include "math.h" #include "ext_math.h" -#include "game/chrman.h" #include "game/flag.h" #include "game/gamework_data.h" +#include "game/chrman.h" #include "game/hsfmotion.h" #include "game/pad.h" -#include "math.h" -#include "string.h" -#include "version.h" - -#ifdef __MWERKS__ -#include "game/audio.h" -#endif // bss -omObjData *lbl_1_bss_C0[4]; +omObjData* lbl_1_bss_C0[4]; s16 lbl_1_bss_B8[4]; Vec lbl_1_bss_88[4]; f32 lbl_1_bss_84; @@ -27,21 +22,29 @@ s16 lbl_1_bss_70; // data s16 lbl_1_data_1D8 = 2; s16 lbl_1_data_1DA = -1; -u32 lbl_1_data_1DC[8][2] = { { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), 0 }, { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02), 0 }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03), 0 }, { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x38), 0 }, { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x48), 0 }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), 0 }, { 0x47000C, 1 }, { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x36), 0 } }; -f32 lbl_1_data_21C[4] = { 210.0f, 190.0f, 170.0f, 0.0f }; +u32 lbl_1_data_1DC[8][2] = { + { 0x5F0000, 0 }, + { 0x5F0002, 0 }, + { 0x5F0003, 0 }, + { 0x5F0038, 0 }, + { 0x5F0048, 0 }, + { 0x5F0017, 0 }, + { 0x47000C, 1 }, + { 0x5F0036, 0 } +}; +f32 lbl_1_data_21C[4] = { + 210.0f, 190.0f, 170.0f, 0.0f +}; // prototypes -void fn_1_B180(omObjData *); +void fn_1_B180(omObjData*); -void fn_1_AE08(Process *arg0) -{ +void fn_1_AE08(Process* arg0) { s16 var_r31; omMakeGroupEx(arg0, 0, 4); omGetGroupMemberListEx(arg0, 0); - + for (var_r31 = 0; var_r31 < 4; var_r31++) { lbl_1_bss_C0[var_r31] = omAddObjEx(arg0, 0x64, 9, 8, 0, fn_1_AEE4); lbl_1_bss_C0[var_r31]->work[0] = var_r31; @@ -49,15 +52,14 @@ void fn_1_AE08(Process *arg0) omAddObjEx(arg0, 0x65, 0, 0, -1, fn_1_B180); } -void fn_1_AEE4(omObjData *arg0) -{ +void fn_1_AEE4(omObjData* arg0) { f32 var_f31; s32 temp_r28; s16 var_r29; - unkObjStruct *temp_r31; + unkObjStruct* temp_r31; - arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x78, MEMORY_DEFAULT_NUM); - temp_r31 = (unkObjStruct *)arg0->data; + arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x78, 0x10000000); + temp_r31 = (unkObjStruct*)arg0->data; memset(temp_r31, 0, 0x78); arg0->stat |= 0x100; temp_r31->unk4 = arg0->work[0]; @@ -66,12 +68,11 @@ void fn_1_AEE4(omObjData *arg0) arg0->model[0] = CharModelCreate(temp_r31->unk8, 4); Hu3DModelLayerSet(arg0->model[0], 1); Hu3DModelShadowSet(arg0->model[0]); - + for (var_r29 = 0; var_r29 < 8; var_r29++) { if (lbl_1_data_1DC[var_r29][1] == 0) { arg0->motion[var_r29] = CharModelMotionCreate(temp_r31->unk8, lbl_1_data_1DC[var_r29][0]); - } - else { + } else { arg0->motion[var_r29] = CharModelMotionCreate(temp_r31->unk8, temp_r31->unk8 + lbl_1_data_1DC[var_r29][0]); } } @@ -82,12 +83,11 @@ void fn_1_AEE4(omObjData *arg0) temp_r31->unk30.x = temp_r31->unk30.y = temp_r31->unk30.z = 0.0f; temp_r31->unk3C.y = 90.0f; temp_r31->unkC = 0; - temp_r31->unkE = 2 * REFRESH_RATE_F; + temp_r31->unkE = 0x78; temp_r31->unk10 = temp_r31->unk12 = temp_r31->unk14 = 0; if (temp_r31->unk8 == 5) { var_f31 = 350.0f; - } - else { + } else { var_f31 = 410.0f; } temp_r31->unk5C = var_f31; @@ -98,39 +98,37 @@ void fn_1_AEE4(omObjData *arg0) arg0->func = fn_1_B17C; } -void fn_1_B17C(omObjData *arg0) -{ +void fn_1_B17C(omObjData* arg0) { return; } -void fn_1_B180(omObjData *arg0) -{ +void fn_1_B180(omObjData* arg0) { s16 var_r29; s16 var_r31; s32 var_r28; u32 temp_r0; u32 temp_r3; u32 temp_r3_2; - unkObjStruct *temp_r30; + unkObjStruct* temp_r30; var_r28 = GWSystem.player_curr; if (var_r28 < 0) { var_r28 = 0; } var_r29 = var_r28; - + for (var_r31 = 0; var_r31 < 4; var_r31++) { lbl_1_bss_B8[var_r31] = var_r29; var_r29 = (var_r29 + 1) % 4; } - lbl_1_bss_88->x = (700.0f * cos(M_PI / 2 - M_PI / 9)); - lbl_1_bss_88->z = (700.0f * sin(M_PI / 2 - M_PI / 9)); - + lbl_1_bss_88->x = (700.0f * cos(M_PI/2 - M_PI/9)); + lbl_1_bss_88->z = (700.0f * sin(M_PI/2 - M_PI/9)); + for (var_r31 = 1; var_r31 < 4; var_r31++) { lbl_1_bss_88[var_r31].x = lbl_1_bss_88[var_r31 - 1].x - 150.0f; lbl_1_bss_88[var_r31].z = lbl_1_bss_88->z; } - + for (var_r31 = 0; var_r31 < 4; var_r31++) { temp_r30 = lbl_1_bss_C0[lbl_1_bss_B8[var_r31]]->data; temp_r30->unkA = var_r31; @@ -141,22 +139,21 @@ void fn_1_B180(omObjData *arg0) arg0->func = fn_1_B3A4; } -void fn_1_B3A4(omObjData *arg0) -{ +void fn_1_B3A4(omObjData* arg0) { f32 sp14; - ModelData *sp8; + ModelData* sp8; f32 var_f31; s16 var_r28; s16 var_r29; - omObjData *var_r30; - unkObjStruct *var_r31; - + omObjData* var_r30; + unkObjStruct* var_r31; + for (var_r29 = 0; var_r29 < 4; var_r29++) { if (lbl_1_bss_B8[var_r29] != -1) { var_r30 = lbl_1_bss_C0[lbl_1_bss_B8[var_r29]]; sp8 = &Hu3DData[var_r30->model[0]]; - var_r31 = (unkObjStruct *)var_r30->data; - switch (var_r31->unk0 & 0xF) { + var_r31 = (unkObjStruct*)var_r30->data; + switch(var_r31->unk0 & 0xF) { case 1: var_r31->unkC++; var_f31 = (f32)var_r31->unkC / var_r31->unkE; @@ -166,10 +163,9 @@ void fn_1_B3A4(omObjData *arg0) if (lbl_1_bss_72 == 0) { lbl_1_bss_72 = 1; fn_1_F228(); - } - else { + } else { fn_1_F4D4(var_r31, 15, 7); - Hu3DMotionShiftSet(var_r30->model[0], var_r30->motion[1], 0.0f, 7.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(var_r30->model[0], var_r30->motion[1], 0.0f, 7.0f, 0x40000001); } } var_r28 = (var_r31->unkA == -1) ? 0 : var_r31->unkA; @@ -177,7 +173,7 @@ void fn_1_B3A4(omObjData *arg0) var_r31->unk18.y = 0.0f; var_r31->unk18.z = var_r31->unk24.z + (lbl_1_bss_88[var_r28].z - var_r31->unk24.z) * var_f31; var_r31->unk14++; - var_f31 = var_r31->unk14 / (REFRESH_RATE_F / 3.0f); + var_f31 = var_r31->unk14 / 20.0f; if (var_f31 >= 1.0f) { var_f31 = 1.0f; } @@ -185,12 +181,12 @@ void fn_1_B3A4(omObjData *arg0) break; case 7: var_r31->unkC++; - var_f31 = (f32)var_r31->unkC / (2.0f * REFRESH_RATE_F / 3); + var_f31 = (f32)var_r31->unkC / 40.0f; if (var_f31 >= 1.0f) { var_f31 = 1.0f; var_r31->unkC = 0; fn_1_F4D4(var_r31, 15, 8); - Hu3DMotionShiftSet(var_r30->model[0], var_r30->motion[0], 0.0f, 7.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(var_r30->model[0], var_r30->motion[0], 0.0f, 7.0f, 0x40000001); } var_r31->unk30.y = 90.0f + (lbl_1_data_21C[var_r31->unkA] - 90.0f) * var_f31; var_r31->unk3C = var_r31->unk30; @@ -229,9 +225,8 @@ void fn_1_B3A4(omObjData *arg0) f32 lbl_1_data_250 = 70.0f; -void fn_1_B884(omObjData *arg0, unkObjStruct *arg1) -{ - s16 sp8[5] = { 3, 1, 0, 2, 4 }; +void fn_1_B884(omObjData* arg0, unkObjStruct* arg1) { + s16 sp8[5] = {3, 1, 0, 2, 4}; f32 var_f29; f32 var_f28; f32 var_f31; @@ -243,7 +238,7 @@ void fn_1_B884(omObjData *arg0, unkObjStruct *arg1) switch (lbl_1_bss_74) { case 0: - lbl_1_data_250 -= (REFRESH_RATE_F / 120); + lbl_1_data_250 -= 0.5f; if (lbl_1_data_250 <= 45.0f) { lbl_1_data_250 = 45.0f; lbl_1_bss_74++; @@ -253,7 +248,7 @@ void fn_1_B884(omObjData *arg0, unkObjStruct *arg1) arg1->unk18.z = (700.0 * sind(lbl_1_data_250)); var_f29 = (arg1->unk18.x - arg1->unk24.x); var_f28 = (arg1->unk18.z - arg1->unk24.z); - var_f30 = atan2d(var_f29, var_f28); + var_f30 = (180.0 * (atan2(var_f29, var_f28) / M_PI)); if (var_f30 < 0.0f) { var_f30 += 360.0f; } @@ -262,19 +257,19 @@ void fn_1_B884(omObjData *arg0, unkObjStruct *arg1) return; case 1: arg1->unkE++; - var_f31 = arg1->unkE / (REFRESH_RATE_F / 6.0f); + var_f31 = arg1->unkE / 10.0f; if (var_f31 >= 1.0f) { var_f31 = 1.0f; } var_f30 = 225.0f; arg1->unk30.y = arg1->unk68 + (var_f31 * (var_f30 - arg1->unk68)); arg1->unkC++; - var_f31 = arg1->unkC / (5.0f * REFRESH_RATE_F / 6.0f); + var_f31 = arg1->unkC / 50.0f; if (var_f31 >= 1.0f) { var_f31 = 1.0f; arg1->unkC = arg1->unkE = 0; arg1->unk68 = arg1->unk30.y; - + for (var_r30 = 0; var_r30 < 5; var_r30++) { if (lbl_1_data_14[sp8[var_r30]] != 0) { arg1->unk4A = arg1->unk60 = sp8[var_r30]; @@ -284,8 +279,8 @@ void fn_1_B884(omObjData *arg0, unkObjStruct *arg1) lbl_1_bss_74++; } var_f29 = 700.0f + ((arg1->unk5C - 700.0f) * var_f31); - arg1->unk18.x = (var_f29 * cos(M_PI / 4)); - arg1->unk18.z = (var_f29 * sin(M_PI / 4)); + arg1->unk18.x = (var_f29 * cos(M_PI/4)); + arg1->unk18.z = (var_f29 * sin(M_PI/4)); var_f29 = 0.1f; var_f28 = 0.6f; if (var_f31 >= var_f29) { @@ -298,7 +293,7 @@ void fn_1_B884(omObjData *arg0, unkObjStruct *arg1) } break; case 2: - lbl_1_data_250 += REFRESH_RATE_F / 60.0f; + lbl_1_data_250++; if (lbl_1_data_250 >= lbl_1_data_0[arg1->unk60]) { lbl_1_data_250 = lbl_1_data_0[arg1->unk60]; lbl_1_bss_74++; @@ -308,35 +303,34 @@ void fn_1_B884(omObjData *arg0, unkObjStruct *arg1) arg1->unk18.z = (arg1->unk5C * sind(lbl_1_data_250)); var_f29 = (arg1->unk18.x - arg1->unk24.x); var_f28 = (arg1->unk18.z - arg1->unk24.z); - var_f30 = atan2d(var_f29, var_f28); + var_f30 = (180.0 * (atan2(var_f29, var_f28) / M_PI)); if (var_f30 < 0.0f) { var_f30 += 360.0f; } arg1->unkC++; - var_f31 = arg1->unkC / (REFRESH_RATE_F / 6.0f); + var_f31 = arg1->unkC / 10.0f; if (var_f31 < 1.0f) { arg1->unk30.y = arg1->unk68 + (var_f31 * (var_f30 - arg1->unk68)); - } - else { + } else { arg1->unk30.y = var_f30; } arg1->unk6C = arg1->unk30.y; return; case 3: arg1->unkE++; - var_f31 = arg1->unkE / (REFRESH_RATE_F / 6.0f); + var_f31 = arg1->unkE / 10.0f; if (var_f31 >= 1.0f) { var_f31 = 1.0f; arg1->unkC = arg1->unkE = 0; lbl_1_bss_74++; - Hu3DMotionShiftSet(*arg0->model, *arg0->motion, 0.0f, 7.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(*arg0->model, *arg0->motion, 0.0f, 7.0f, 0x40000001U); } var_f30 = 90.0f - lbl_1_data_0[arg1->unk60]; arg1->unk30.y = fn_1_927C(arg1->unk6C, var_f30, var_f31); return; case 4: - if (++arg1->unkC > (REFRESH_RATE / 4)) { + if (++arg1->unkC > 15) { lbl_1_bss_74++; } break; @@ -351,8 +345,7 @@ void fn_1_B884(omObjData *arg0, unkObjStruct *arg1) lbl_1_data_1DA++; return; } - } - else { + } else { lbl_1_bss_74 = 0; lbl_1_data_250 = 70.0f; arg1->unk48 = 0; @@ -368,8 +361,7 @@ void fn_1_B884(omObjData *arg0, unkObjStruct *arg1) } } -void fn_1_C1D4(omObjData *arg0, unkObjStruct *arg1) -{ +void fn_1_C1D4(omObjData* arg0, unkObjStruct* arg1) { s16 sp12[5]; s16 sp8[5]; f32 var_f28; @@ -389,18 +381,18 @@ void fn_1_C1D4(omObjData *arg0, unkObjStruct *arg1) HuPadTrigR[arg1->unk6] = 0; HuPadBtn[arg1->unk6] = 0; switch (GWPlayerCfg[arg1->unk4].diff) { - case 0: - var_f31 = 0.3f; - break; - case 1: - var_f31 = 0.3f; - break; - case 2: - var_f31 = 0.3f; - break; - case 3: - var_f31 = 0.3f; - break; + case 0: + var_f31 = 0.3f; + break; + case 1: + var_f31 = 0.3f; + break; + case 2: + var_f31 = 0.3f; + break; + case 3: + var_f31 = 0.3f; + break; } var_f31 += (0.1f * lbl_1_bss_70); @@ -413,8 +405,7 @@ void fn_1_C1D4(omObjData *arg0, unkObjStruct *arg1) if (arg1->unk50 == -1) { if (arg1->unk4C < var_f31) { arg1->unk50 = fn_1_4E54(-1); - } - else { + } else { for (var_r30 = 0, var_r28 = 0; var_r30 < 5; var_r30++) { if ((var_r30 != fn_1_4E54(-1)) && (lbl_1_data_14[var_r30] != 0)) { sp12[var_r28++] = var_r30; @@ -441,13 +432,12 @@ void fn_1_C1D4(omObjData *arg0, unkObjStruct *arg1) if (arg1->unk68 > lbl_1_data_0[arg1->unk50]) { HuPadStkX[arg1->unk6] = 0x2D; } - } - else { + } else { var_f30 = ABS(arg1->unk68 - lbl_1_data_0[arg1->unk52]); if (var_f30 < 5.0f) { if (arg1->unk5A != 0) { arg1->unk56++; - var_f31 = arg1->unk56 / (2.0f * REFRESH_RATE_F / 3.0f); + var_f31 = arg1->unk56 / 40.0f; if (var_f31 > 1.0f) { var_f31 = 1.0f; arg1->unk5A = 0; @@ -455,7 +445,7 @@ void fn_1_C1D4(omObjData *arg0, unkObjStruct *arg1) var_r30 = (((rand8() << 8) | rand8()) % (s16)(var_r29 + 1)); arg1->unk52 = sp8[var_r30]; } - HuPadTrigR[arg1->unk6] = (u8)(arg1->unk58 * var_f31); + HuPadTrigR[arg1->unk6] = (u8) (arg1->unk58 * var_f31); return; } if ((((rand8() << 8) | rand8()) % 101) < 0x32) { @@ -480,8 +470,7 @@ void fn_1_C1D4(omObjData *arg0, unkObjStruct *arg1) } } -void fn_1_C944(omObjData *arg0, unkObjStruct *arg1) -{ +void fn_1_C944(omObjData* arg0, unkObjStruct* arg1) { s16 sp8; f32 var_f26; f32 var_f25; @@ -500,8 +489,7 @@ void fn_1_C944(omObjData *arg0, unkObjStruct *arg1) HuPadStkY[arg1->unk6] = 0; HuPadTrigR[arg1->unk6] = 0x96; HuPadBtn[arg1->unk6] = 0x20; - } - else { + } else { var_r29 = HuPadStkX[arg1->unk6]; sp8 = HuPadStkY[arg1->unk6]; } @@ -509,13 +497,11 @@ void fn_1_C944(omObjData *arg0, unkObjStruct *arg1) var_r30 = -1; if (ABS(var_r29) < 7) { var_r30 = fn_1_CFAC(arg1, 0); - } - else { + } else { if (var_r29 > 0) { arg1->unk48 = arg1->unk48 & 0xFFFFFFFD; arg1->unk48 = arg1->unk48 | 1; - } - else { + } else { arg1->unk48 = arg1->unk48 & 0xFFFFFFFE; arg1->unk48 = arg1->unk48 | 2; } @@ -527,15 +513,14 @@ void fn_1_C944(omObjData *arg0, unkObjStruct *arg1) } } if ((arg1->unk48 & 1) != 0) { - arg1->unk68 -= REFRESH_RATE_F / 60.0f; + arg1->unk68 -= 1.0f; if ((var_r30 != -1) && (lbl_1_data_0[var_r30] > arg1->unk68)) { arg1->unk68 = lbl_1_data_0[var_r30]; arg1->unk4A = var_r30; arg1->unk48 = arg1->unk48 & 0xFFFFFFFE; } - } - else if ((arg1->unk48 & 2) != 0) { - arg1->unk68 += REFRESH_RATE_F / 60.0f; + } else if ((arg1->unk48 & 2) != 0) { + arg1->unk68++; if ((var_r30 != -1) && (lbl_1_data_0[var_r30] < arg1->unk68)) { arg1->unk68 = lbl_1_data_0[var_r30]; arg1->unk4A = var_r30; @@ -549,13 +534,12 @@ void fn_1_C944(omObjData *arg0, unkObjStruct *arg1) arg1->unk48 = arg1->unk48 & ~4; var_f26 = (arg1->unk18.x - arg1->unk24.x); var_f25 = (arg1->unk18.z - arg1->unk24.z); - var_f29 = atan2d(var_f26, var_f25); + var_f29 = (180.0 * (atan2(var_f26, var_f25) / M_PI)); if (var_f29 < 0.0f) { var_f29 += 360.0f; } fn_1_D24C(arg1, arg1->unk30.y, var_f29); - } - else { + } else { arg1->unk48 |= 4; var_f29 = 90.0f - lbl_1_data_0[arg1->unk4A]; fn_1_D24C(arg1, arg1->unk30.y, var_f29); @@ -566,14 +550,12 @@ void fn_1_C944(omObjData *arg0, unkObjStruct *arg1) arg1->unkC = arg1->unkE; var_f28 = 1.0f; if ((arg1->unk48 & 4) != 0) { - fn_1_ED88(arg0, 0, HU3D_MOTATTR_LOOP); + fn_1_ED88(arg0, 0, 0x40000001); + } else { + fn_1_ED88(arg0, 2, 0x40000001); } - else { - fn_1_ED88(arg0, 2, HU3D_MOTATTR_LOOP); - } - } - else { - fn_1_ED88(arg0, 2, HU3D_MOTATTR_LOOP); + } else { + fn_1_ED88(arg0, 2, 0x40000001); } if ((arg1->unk48 & 4) != 0) { arg1->unk30.y = fn_1_927C(arg1->unk6C, arg1->unk70, var_f28); @@ -585,15 +567,13 @@ void fn_1_C944(omObjData *arg0, unkObjStruct *arg1) if (var_f31 > temp_f27) { var_f31 -= 360.0f; } - } - else if (((arg1->unk48 & 2) != 0) && (var_f31 < temp_f27)) { + } else if (((arg1->unk48 & 2) != 0) && (var_f31 < temp_f27)) { var_f31 += 360.0f; } var_f30 = var_f31 + (var_f28 * (temp_f27 - var_f31)); if (var_f30 < 0.0f) { var_f30 += 360.0f; - } - else { + } else { if (var_f30 >= 360.0f) { var_f30 -= 360.0f; } @@ -602,8 +582,7 @@ void fn_1_C944(omObjData *arg0, unkObjStruct *arg1) } } -s16 fn_1_CFAC(unkObjStruct *arg0, u8 arg1) -{ +s16 fn_1_CFAC(unkObjStruct* arg0, u8 arg1) { f32 var_f31; s16 var_r30; s16 var_r31; @@ -617,8 +596,7 @@ s16 fn_1_CFAC(unkObjStruct *arg0, u8 arg1) if (lbl_1_data_0[var_r31] > arg0->unk68) { continue; } - } - else if (lbl_1_data_0[var_r31] >= arg0->unk68) { + } else if (lbl_1_data_0[var_r31] >= arg0->unk68) { continue; } if (var_f31 > (arg0->unk68 - lbl_1_data_0[var_r31])) { @@ -627,16 +605,14 @@ s16 fn_1_CFAC(unkObjStruct *arg0, u8 arg1) } } } - } - else if ((arg0->unk48 & 2) != 0) { + } else if ((arg0->unk48 & 2) != 0) { for (var_r31 = 0; var_r31 < 5; var_r31++) { if (lbl_1_data_14[var_r31] != 0) { if (arg1 == 0) { if (lbl_1_data_0[var_r31] < arg0->unk68) { continue; } - } - else if (lbl_1_data_0[var_r31] <= arg0->unk68) { + } else if (lbl_1_data_0[var_r31] <= arg0->unk68) { continue; } if (var_f31 > (lbl_1_data_0[var_r31] - arg0->unk68)) { @@ -656,14 +632,13 @@ s16 fn_1_CFAC(unkObjStruct *arg0, u8 arg1) return var_r30; } -void fn_1_D24C(unkObjStruct *arg0, f32 arg1, f32 arg2) -{ +void fn_1_D24C(unkObjStruct* arg0, f32 arg1, f32 arg2) { f32 var_f28; f32 var_f29; f32 var_f30; f32 var_f31; - var_f28 = REFRESH_RATE_F / 6.0f; + var_f28 = 10.0f; arg0->unk6C = arg1; arg0->unk70 = arg2; var_f31 = ABS(arg1 - arg2); @@ -675,9 +650,8 @@ void fn_1_D24C(unkObjStruct *arg0, f32 arg1, f32 arg2) arg0->unkE = ((var_f28 / 90.0f) * var_f31); } -void fn_1_D34C(omObjData *arg0, unkObjStruct *arg1) -{ - ModelData *temp_r30; +void fn_1_D34C(omObjData* arg0, unkObjStruct* arg1) { + ModelData* temp_r30; f32 temp_f28; f32 temp_f29; f32 temp_f30; @@ -690,23 +664,22 @@ void fn_1_D34C(omObjData *arg0, unkObjStruct *arg1) temp_f30 = HuPadTrigR[arg1->unk6]; if ((temp_r30->unk_0C == -1) && (temp_r30->unk_08 == arg0->motion[0]) && ((arg1->unk48 & 8) == 0) && (temp_f30 > 10.0f)) { arg1->unk48 |= 8; - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[3], 0.0f, 7.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[3], 0.0f, 7.0f, 0U); } if ((arg1->unk48 & 8) != 0) { if (temp_f30 <= 10.0f) { fn_1_4E00(arg1->unk4A, -1.0f); arg1->unk48 &= ~8; temp_r30->unk_68 = 1.0f; - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[0], 0.0f, 7.0f, HU3D_MOTATTR_LOOP); - } - else if (temp_f30 > 10.0f) { + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[0], 0.0f, 7.0f, 0x40000001U); + } else if (temp_f30 > 10.0f) { if ((HuPadBtn[arg1->unk6] & 0x20) != 0) { arg1->unk60 = 0; arg1->unk68 = temp_f30; arg1->unk6C = 0.0f; arg1->unk48 = 0; lbl_1_data_14[arg1->unk4A] = 0; - if (fn_1_17CC() < (4.5f * REFRESH_RATE)) { + if (fn_1_17CC() < 270.0f) { fn_1_1708(); } fn_1_F4D4(arg1, 15, 4); @@ -724,8 +697,7 @@ void fn_1_D34C(omObjData *arg0, unkObjStruct *arg1) } if (temp_r30->unk_64 < var_f31) { temp_r30->unk_64 += 1.0f; - } - else if (temp_r30->unk_64 > var_f31) { + } else if (temp_r30->unk_64 > var_f31) { temp_r30->unk_64 -= 1.0f; } var_f31 = (temp_r30->unk_64 - temp_f29) / temp_f28; @@ -737,9 +709,8 @@ void fn_1_D34C(omObjData *arg0, unkObjStruct *arg1) } } -void fn_1_D7F8(omObjData *arg0, unkObjStruct *arg1) -{ - ModelData *temp_r29; +void fn_1_D7F8(omObjData* arg0, unkObjStruct* arg1) { + ModelData* temp_r29; f32 temp_f28; f32 temp_f29; f32 var_f26; @@ -761,8 +732,7 @@ void fn_1_D7F8(omObjData *arg0, unkObjStruct *arg1) var_f30 = 0.01f * (arg1->unk68 - 130.0f); if (var_f30 > 0.19999999f) { var_f30 = 0.19999999f; - } - else if (var_f30 < 0.0f) { + } else if (var_f30 < 0.0f) { var_f30 = 0.0f; } var_f31 += var_f30; @@ -773,8 +743,7 @@ void fn_1_D7F8(omObjData *arg0, unkObjStruct *arg1) } if (temp_r29->unk_64 < var_f31) { temp_r29->unk_64 += 3.0f; - } - else if (temp_r29->unk_64 > var_f31) { + } else if (temp_r29->unk_64 > var_f31) { temp_r29->unk_64 -= 3.0f; } var_f31 = (temp_r29->unk_64 - temp_f29) / temp_f28; @@ -797,14 +766,13 @@ void fn_1_D7F8(omObjData *arg0, unkObjStruct *arg1) } break; case 1: - if (++arg1->unkC > (REFRESH_RATE / 6)) { + if (++arg1->unkC > 0xA) { arg1->unkC = 0; Hu3DMotionSpeedSet(arg0->model[0], 2.0f); if ((arg1->unk6C - arg1->unk68) > 0.0f) { - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[7], 64.0f, 7.0f, HU3D_MOTATTR_NONE); - } - else { - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[7], 4.0f, 7.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[7], 64.0f, 7.0f, 0U); + } else { + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[7], 4.0f, 7.0f, 0U); } Hu3DMotionShiftSpeedSet(arg0->model[0], 2.0f); arg1->unk60++; @@ -812,16 +780,15 @@ void fn_1_D7F8(omObjData *arg0, unkObjStruct *arg1) break; case 2: arg1->unkC++; - var_f31 = arg1->unkC / (0.5f * REFRESH_RATE_F); + var_f31 = arg1->unkC / 30.0f; arg1->unk18.x = ((410.0f + (var_f31 * (arg1->unk5C - 410.0f))) * cosd(lbl_1_data_0[arg1->unk4A])); arg1->unk18.z = ((410.0f + (var_f31 * (arg1->unk5C - 410.0f))) * sind(lbl_1_data_0[arg1->unk4A])); if (var_f31 >= 1.0f) { arg1->unkC = 0; var_f31 = 1.0f; - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[0], 0.0f, 7.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[0], 0.0f, 7.0f, 0x40000001U); arg1->unk60++; - } - else if (((arg1->unk6C - arg1->unk68) < 0.0f) && (Hu3DMotionShiftIDGet(arg0->model[0]) < 0)) { + } else if (((arg1->unk6C - arg1->unk68) < 0.0f) && (Hu3DMotionShiftIDGet(arg0->model[0]) < 0)) { if (Hu3DMotionTimeGet(arg0->model[0]) >= 60.0f) { Hu3DMotionSpeedSet(arg0->model[0], 0.0f); } @@ -829,11 +796,10 @@ void fn_1_D7F8(omObjData *arg0, unkObjStruct *arg1) arg1->unk30.y = fn_1_927C(arg1->unk68, arg1->unk6C, var_f31); break; case 3: - if (++arg1->unkC > (s32)REFRESH_RATE_F) { + if (++arg1->unkC > 0x3C) { if (fn_1_4E54(arg1->unk4A) == 0) { fn_1_4EEC(7U, 3U); - } - else { + } else { fn_1_4EEC(7U, 4U); } arg1->unkC = 0; @@ -845,8 +811,7 @@ void fn_1_D7F8(omObjData *arg0, unkObjStruct *arg1) fn_1_4EEC(0x100U, 0U); if (fn_1_4E54(arg1->unk4A) == 0) { fn_1_F4D4(arg1, 15, 5); - } - else { + } else { fn_1_F4D4(arg1, 15, 6); } arg1->unkC = arg1->unkE = 0; @@ -856,7 +821,7 @@ void fn_1_D7F8(omObjData *arg0, unkObjStruct *arg1) break; } if (fn_1_17F4() >= 0) { - if (fn_1_17CC() < (4.5f * REFRESH_RATE)) { + if (fn_1_17CC() < 270.0f) { fn_1_1708(); return; } @@ -864,9 +829,8 @@ void fn_1_D7F8(omObjData *arg0, unkObjStruct *arg1) } } -void fn_1_E034(omObjData *arg0, unkObjStruct *arg1) -{ - ModelData *temp_r27; +void fn_1_E034(omObjData* arg0, unkObjStruct* arg1) { + ModelData* temp_r27; f32 var_f28; f32 var_f29; f32 var_f30; @@ -878,20 +842,16 @@ void fn_1_E034(omObjData *arg0, unkObjStruct *arg1) switch (arg1->unk60) { case 0: lbl_1_bss_84 = lbl_1_data_0[arg1->unk4A]; -#if VERSION_NTSC - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[4], 0.0f, 7.0f, HU3D_MOTATTR_LOOP); -#else - Hu3DMotionSet(arg0->model[0], arg0->motion[4]); -#endif + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[4], 0.0f, 7.0f, 0x40000001); HuAudCharVoicePlay(arg1->unk8, 0x125); arg1->unk60++; break; case 1: if (temp_r27->unk_64 >= (Hu3DMotionMaxTimeGet(arg0->model[0]) - 1.0f)) { - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[2], 0.0f, 7.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[2], 0.0f, 7.0f, 0x40000001U); arg1->unkC = arg1->unkE = 0; arg1->unk68 = arg1->unk30.y; - + for (var_r29 = 0, var_r28 = -1; var_r29 < 5; var_r29++) { if (lbl_1_data_14[var_r29] != 0) { var_r28++; @@ -906,7 +866,7 @@ void fn_1_E034(omObjData *arg0, unkObjStruct *arg1) } break; case 2: - lbl_1_bss_84 += REFRESH_RATE_F / 60.0f; + lbl_1_bss_84++; if (lbl_1_bss_84 >= 135.0f) { lbl_1_bss_84 = 135.0f; arg1->unkE = arg1->unk10 = 0; @@ -918,12 +878,12 @@ void fn_1_E034(omObjData *arg0, unkObjStruct *arg1) arg1->unk18.z = (arg1->unk5C * sind(lbl_1_bss_84)); var_f29 = (arg1->unk18.x - arg1->unk24.x); var_f28 = (arg1->unk18.z - arg1->unk24.z); - var_f30 = atan2d(var_f29, var_f28); + var_f30 = (180.0 * (atan2(var_f29, var_f28) / M_PI)); if (var_f30 < 0.0f) { var_f30 += 360.0f; } arg1->unkC++; - var_f31 = arg1->unkC / (REFRESH_RATE_F / 6.0f); + var_f31 = arg1->unkC / 10.0f; if (var_f31 >= 1.0f) { var_f31 = 1.0f; } @@ -932,14 +892,14 @@ void fn_1_E034(omObjData *arg0, unkObjStruct *arg1) break; case 3: arg1->unkE++; - var_f31 = arg1->unkE / (REFRESH_RATE_F / 6.0f); + var_f31 = arg1->unkE / 10.0f; if (var_f31 >= 1.0f) { var_f31 = 1.0f; } var_f30 = 315.0f; arg1->unk30.y = arg1->unk6C + (var_f31 * (var_f30 - arg1->unk6C)); arg1->unk10++; - var_f31 = arg1->unk10 / (5.0f * REFRESH_RATE_F / 6.0f); + var_f31 = arg1->unk10 / 50.0f; if (var_f31 >= 1.0f) { var_f31 = 1.0f; arg1->unkC = arg1->unkE = arg1->unk10 = 0; @@ -947,8 +907,8 @@ void fn_1_E034(omObjData *arg0, unkObjStruct *arg1) arg1->unk60++; } var_f29 = arg1->unk5C + ((700.0f - arg1->unk5C) * var_f31); - arg1->unk18.x = var_f29 * cosd(135); - arg1->unk18.z = var_f29 * sind(135); + arg1->unk18.x = (var_f29 * cos(2.356194490192345)); // atan2(1.0, -1.0) + arg1->unk18.z = (var_f29 * sin(2.356194490192345)); var_f29 = 0.3f; var_f28 = 0.6f; if (var_f31 >= var_f29) { @@ -961,12 +921,12 @@ void fn_1_E034(omObjData *arg0, unkObjStruct *arg1) } break; case 4: - lbl_1_bss_84 -= REFRESH_RATE_F / 120; + lbl_1_bss_84 -= 0.5f; if (lbl_1_bss_84 <= 110.0f) { lbl_1_bss_84 = 110.0f; arg1->unk60 = 0; arg1->unkC = 0; - arg1->unkE = (3 - lbl_1_data_1D8) * (s32)(0.5f * REFRESH_RATE_F); + arg1->unkE = (3 - lbl_1_data_1D8) * 0x1E; arg1->unk14 = 0; arg1->unk3C.y = 90.0f; fn_1_F4D4(arg1, 15, 1); @@ -976,12 +936,12 @@ void fn_1_E034(omObjData *arg0, unkObjStruct *arg1) arg1->unk18.z = (700.0 * sind(lbl_1_bss_84)); var_f29 = (arg1->unk18.x - arg1->unk24.x); var_f28 = (arg1->unk18.z - arg1->unk24.z); - var_f30 = atan2d(var_f29, var_f28); + var_f30 = (180.0 * (atan2(var_f29, var_f28) / M_PI)); if (var_f30 < 0.0f) { var_f30 += 360.0f; } arg1->unk10++; - var_f31 = arg1->unk10 / (REFRESH_RATE_F / 6.0f); + var_f31 = arg1->unk10 / 10.0f; if (var_f31 >= 1.0f) { var_f31 = 1.0f; } @@ -990,9 +950,8 @@ void fn_1_E034(omObjData *arg0, unkObjStruct *arg1) } } -u8 fn_1_E8AC(omObjData *arg0, unkObjStruct *arg1) -{ - ModelData *temp_r29; +u8 fn_1_E8AC(omObjData* arg0, unkObjStruct* arg1) { + ModelData* temp_r29; f32 var_f31; s32 temp_r28; s16 temp_r27; @@ -1001,13 +960,13 @@ u8 fn_1_E8AC(omObjData *arg0, unkObjStruct *arg1) switch (arg1->unk60) { case 0: lbl_1_bss_70 = 0; - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[6], 0.0f, 7.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[6], 0.0f, 7.0f, 0); HuAudCharVoicePlay(arg1->unk8, 0x12E); arg1->unk60++; break; case 1: if (fn_1_4EA8(7U) == 5) { - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[0], 0.0f, 7.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(arg0->model[0], arg0->motion[0], 0.0f, 7.0f, 0x40000001); arg1->unkC = 0; arg1->unk68 = arg1->unk30.y; var_f31 = lbl_1_data_0[arg1->unk4A]; @@ -1016,14 +975,13 @@ u8 fn_1_E8AC(omObjData *arg0, unkObjStruct *arg1) arg1->unk24.x = (840.0000610351563 * cosd(var_f31)); arg1->unk24.y = 0.0f; arg1->unk24.z = (840.0000610351563 * sind(var_f31)); - } - else { + } else { arg1->unk24.x = (1050.0 * cosd(var_f31)); arg1->unk24.y = 0.0f; arg1->unk24.z = (1050.0 * sind(var_f31)); } arg1->unk30.y = 0.0f; - MTXRotRad(temp_r29->unk_F0, 0x59, 0.017453292f * arg1->unk68); + PSMTXRotRad(temp_r29->unk_F0, 0x59, 0.017453292f * arg1->unk68); arg1->unk60++; if (lbl_1_data_1D8 == 0) { fn_1_18E0(); @@ -1033,7 +991,7 @@ u8 fn_1_E8AC(omObjData *arg0, unkObjStruct *arg1) case 2: arg1->unkC++; arg1->unk68 += 40.0f; - var_f31 = arg1->unkC / (1.5f * REFRESH_RATE_F); + var_f31 = arg1->unkC / 90.0f; if (var_f31 >= 1.0f) { var_f31 = 1.0f; arg1->unk60++; @@ -1042,11 +1000,11 @@ u8 fn_1_E8AC(omObjData *arg0, unkObjStruct *arg1) arg1->unk18.y = fn_1_93D0(lbl_1_bss_78.y, 1400.0f + lbl_1_bss_78.y, 0.0f, var_f31); arg1->unk18.z = lbl_1_bss_78.z + (var_f31 * (arg1->unk24.z - lbl_1_bss_78.x)); arg1->unk30.x = 180.0f * var_f31; - MTXRotRad(temp_r29->unk_F0, 0x59, 0.017453292f * arg1->unk68); + PSMTXRotRad(temp_r29->unk_F0, 0x59, 0.017453292f * arg1->unk68); break; case 3: fn_1_F4D4(arg1, 15, 8); - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->model[0], 1); temp_r27 = lbl_1_data_1D8 + 1; temp_r28 = arg1->unk4; GWPlayerCoinWinSet(temp_r28, temp_r27); @@ -1056,8 +1014,7 @@ u8 fn_1_E8AC(omObjData *arg0, unkObjStruct *arg1) return 0; } -s32 fn_1_ED88(omObjData *arg0, s16 arg1, u32 arg2) -{ +s32 fn_1_ED88(omObjData* arg0, s16 arg1, u32 arg2) { s16 var_r28; s16 var_r29; @@ -1068,42 +1025,39 @@ s32 fn_1_ED88(omObjData *arg0, s16 arg1, u32 arg2) } } -void fn_1_EE78(void) -{ +void fn_1_EE78(void) { s16 var_r31; - unkObjStruct *var_r30; - + unkObjStruct* var_r30; + for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = (unkObjStruct *)lbl_1_bss_C0[var_r31]->data; + var_r30 = (unkObjStruct*)lbl_1_bss_C0[var_r31]->data; if (fn_1_F4C0(var_r30, 15) == 8) { - Hu3DMotionShiftSet(lbl_1_bss_C0[var_r31]->model[0], lbl_1_bss_C0[var_r31]->motion[6], 0.0f, 7.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(lbl_1_bss_C0[var_r31]->model[0], lbl_1_bss_C0[var_r31]->motion[6], 0.0f, 7.0f, 0); } } } -void fn_1_EF50(void) -{ - unkObjStruct *var_r30; +void fn_1_EF50(void) { + unkObjStruct* var_r30; s16 var_r28; s16 var_r29; s16 var_r31; - + for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = (unkObjStruct *)lbl_1_bss_C0[var_r31]->data; + var_r30 = (unkObjStruct*)lbl_1_bss_C0[var_r31]->data; if (fn_1_F4C0(var_r30, 15) == 8) { var_r28 = Hu3DData[lbl_1_bss_C0[var_r31]->model[0]].unk_08; var_r29 = Hu3DData[lbl_1_bss_C0[var_r31]->model[0]].unk_0C; if ((var_r29 != lbl_1_bss_C0[var_r31]->motion[0]) && (var_r28 != lbl_1_bss_C0[var_r31]->motion[0])) { - Hu3DMotionShiftSet(lbl_1_bss_C0[var_r31]->model[0], lbl_1_bss_C0[var_r31]->motion[0], 0.0f, 7.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(lbl_1_bss_C0[var_r31]->model[0], lbl_1_bss_C0[var_r31]->motion[0], 0.0f, 7.0f, 0x40000001); } } } } -s16 fn_1_F0FC(void) -{ +s16 fn_1_F0FC(void) { s16 var_r31; - + for (var_r31 = 0; var_r31 < 4; var_r31++) { if (lbl_1_bss_B8[var_r31] != -1) { return lbl_1_bss_B8[var_r31]; @@ -1112,23 +1066,21 @@ s16 fn_1_F0FC(void) return 0; } -void fn_1_F168(void) -{ - omObjData *temp_r31; +void fn_1_F168(void) { + omObjData* temp_r31; s16 var_r30; - unkObjStruct *var_r29; - + unkObjStruct* var_r29; + for (var_r30 = 0; var_r30 < 4; var_r30++) { temp_r31 = lbl_1_bss_C0[lbl_1_bss_B8[var_r30]]; - var_r29 = (unkObjStruct *)temp_r31->data; + var_r29 = (unkObjStruct*)temp_r31->data; fn_1_F4D4(var_r29, 15, 1); - Hu3DMotionShiftSet(temp_r31->model[0], temp_r31->motion[2], 0.0f, 7.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(temp_r31->model[0], temp_r31->motion[2], 0.0f, 7.0f, 0x40000001); } } -void fn_1_F228(void) -{ - omObjData *temp_r30; +void fn_1_F228(void) { + omObjData* temp_r30; s16 temp_r0; s16 var_r29; s32 temp_r27; @@ -1137,12 +1089,12 @@ void fn_1_F228(void) u32 temp_r0_2; u32 temp_r3; u32 temp_r3_2; - unkObjStruct *temp_r31; - + unkObjStruct* temp_r31; + for (var_r29 = 0; var_r29 < 4; var_r29++) { if (lbl_1_bss_B8[var_r29] != -1) { temp_r30 = lbl_1_bss_C0[lbl_1_bss_B8[var_r29]]; - temp_r31 = (unkObjStruct *)temp_r30->data; + temp_r31 = (unkObjStruct*)temp_r30->data; if (temp_r31->unkA == 0) { switch (GWPlayerCfg[temp_r31->unk4].diff) { case 0: @@ -1165,37 +1117,32 @@ void fn_1_F228(void) temp_r31->unkA = -1; temp_r31->unkC = temp_r31->unkE = 0; fn_1_F4D4(temp_r31, 15, 2); - } - else if (temp_r31->unkA == -1) { + } else if (temp_r31->unkA == -1) { temp_r31->unkA = lbl_1_data_1D8; - } - else { + } else { temp_r31->unkA--; temp_r31->unk24 = temp_r31->unk18; temp_r31->unkC = 0; - temp_r31->unkE = (s32)(0.5f * REFRESH_RATE_F); + temp_r31->unkE = 0x1E; temp_r31->unk14 = 0; fn_1_F4D4(temp_r31, 15, 1); } if (temp_r30->motion[2] != Hu3DData[temp_r30->model[0]].unk_08) { - Hu3DMotionShiftSet(temp_r30->model[0], temp_r30->motion[2], 0.0f, 7.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(temp_r30->model[0], temp_r30->motion[2], 0.0f, 7.0f, 0x40000001U); } } } } -u16 fn_1_F4C0(unkObjStruct *arg0, u16 arg1) -{ +u16 fn_1_F4C0(unkObjStruct* arg0, u16 arg1) { return arg0->unk0 & arg1; } -void fn_1_F4D4(unkObjStruct *arg0, u16 arg1, u16 arg2) -{ +void fn_1_F4D4(unkObjStruct* arg0, u16 arg1, u16 arg2) { arg0->unk0 &= ~arg1; arg0->unk0 |= arg2; } -s32 fn_1_F4FC(s32 arg0) -{ +s32 fn_1_F4FC(s32 arg0) { return lbl_1_bss_B8[arg0]; -} +} \ No newline at end of file diff --git a/src/REL/m441Dll/main.c b/src/REL/m441Dll/main.c index bc0d7e77..b5545366 100644 --- a/src/REL/m441Dll/main.c +++ b/src/REL/m441Dll/main.c @@ -1,27 +1,28 @@ #include "REL/executor.h" #include "game/chrman.h" -#include "game/frand.h" -#include "game/minigame_seq.h" #include "game/object.h" #include "game/objsub.h" +#include "game/frand.h" #include "game/wipe.h" +#include "game/minigame_seq.h" #include "game/gamework_data.h" -#include "game/mapspace.h" #include "game/pad.h" #include "game/printfunc.h" +#include "game/mapspace.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" #include "game/hsfman.h" #include "game/hsfmotion.h" +#include "game/hsfanim.h" +#include "game/hsfdraw.h" #include "game/esprite.h" #include "game/sprite.h" #include "ext_math.h" -#include "version.h" +#include "rel_sqrt_consts.h" + #undef ABS #define ABS(x) ((0 > (x)) ? -(x) : (x)) @@ -65,14 +66,12 @@ float lbl_1_bss_190; s32 lbl_1_bss_150[16]; UnkBss1B0Struct lbl_1_bss_50[32]; -void fn_1_0(void) -{ +void fn_1_0(void) { lbl_1_bss_1F8.unk04 = NULL; lbl_1_bss_1F8.unk08 = NULL; } -void fn_1_24(u16 arg0, s16 arg1) -{ +void fn_1_24(u16 arg0, s16 arg1) { UnkBss1F8Struct *temp_r31; UnkBss1F8Struct *temp_r30; UnkBss1F8Struct *temp_r29; @@ -90,8 +89,7 @@ void fn_1_24(u16 arg0, s16 arg1) temp_r31->unk08 = temp_r29; } -s16 fn_1_AC(s16 arg0) -{ +s16 fn_1_AC(s16 arg0) { UnkBss1F8Struct *var_r31; UnkBss1F8Struct *temp_r29; UnkBss1F8Struct *temp_r30; @@ -115,14 +113,12 @@ s16 fn_1_AC(s16 arg0) return -1; } -void fn_1_150(void) -{ +void fn_1_150(void) { lbl_1_bss_1E0.unk10 = NULL; lbl_1_bss_1E0.unk14 = NULL; } -void fn_1_174(s16 arg0, HsfanimStruct00 *arg1, s32 arg2, s32 arg3, s32 arg4, Vec *arg5, u8 arg6) -{ +void fn_1_174(s16 arg0, HsfanimStruct00 *arg1, s32 arg2, s32 arg3, s32 arg4, Vec *arg5, u8 arg6) { UnkBss1E0Struct *temp_r27; UnkBss1E0Struct *var_r31; UnkBss1E0Struct *temp_r28; @@ -152,8 +148,7 @@ void fn_1_174(s16 arg0, HsfanimStruct00 *arg1, s32 arg2, s32 arg3, s32 arg4, Vec var_r31->unk14 = temp_r27; } -void fn_1_2D8(void) -{ +void fn_1_2D8(void) { UnkBss1E0Struct *var_r31; UnkBss1E0Struct *temp_r28; UnkBss1E0Struct *temp_r29; @@ -188,8 +183,7 @@ void fn_1_2D8(void) } } -void fn_1_414(void) -{ +void fn_1_414(void) { s32 i; for (i = 0; i < 32; i++) { @@ -198,8 +192,7 @@ void fn_1_414(void) } } -s16 fn_1_46C(s32 arg0) -{ +s16 fn_1_46C(s32 arg0) { s32 i; for (i = 0; i < 32; i++) { @@ -217,40 +210,37 @@ s16 fn_1_46C(s32 arg0) return Hu3DModelCreateFile(arg0); } -void fn_1_580(s32 *arg0, s32 arg1, s32 arg2) -{ +void fn_1_580(s32 *arg0, s32 arg1, s32 arg2) { s32 var_r30; espBankSet(arg0[arg1 + 1], 10); espBankSet(arg0[arg1 + 4], 11); - if (600 * REFRESH_RATE <= arg2) { - arg2 = 600 * REFRESH_RATE - 1; + if (36000 <= arg2) { + arg2 = 35999; } - var_r30 = arg2 / (60 * REFRESH_RATE); - arg2 -= var_r30 * (60 * REFRESH_RATE); + var_r30 = arg2 / 3600; + arg2 -= var_r30 * 3600; if (var_r30 > 9) { var_r30 = 9; } espBankSet(arg0[arg1], var_r30); - var_r30 = arg2 / REFRESH_RATE; - arg2 -= var_r30 * REFRESH_RATE; + var_r30 = arg2 / 60; + arg2 -= var_r30 * 60; espBankSet(arg0[arg1 + 2], var_r30 / 10); espBankSet(arg0[arg1 + 3], var_r30 % 10); - var_r30 = 101.5f * arg2 / REFRESH_RATE; + var_r30 = 101.5f * arg2 / 60.0f; espBankSet(arg0[arg1 + 5], var_r30 / 10); espBankSet(arg0[arg1 + 6], var_r30 % 10); } -void fn_1_798(s32 arg0) -{ +void fn_1_798(s32 arg0) { lbl_1_bss_190 = 0.0f; lbl_1_bss_1A0 = lbl_1_bss_1A4; GWMGRecordSet(arg0, lbl_1_bss_1A0); fn_1_580(lbl_1_bss_150, 7, lbl_1_bss_1A4); } -void fn_1_9EC(void) -{ +void fn_1_9EC(void) { s32 i; for (i = 0; i < 16; i++) { @@ -258,8 +248,7 @@ void fn_1_9EC(void) } } -void fn_1_A40(void) -{ +void fn_1_A40(void) { float temp_f31; s32 i; @@ -272,8 +261,7 @@ void fn_1_A40(void) } } -void fn_1_B4C(float arg0, s32 arg1) -{ +void fn_1_B4C(float arg0, s32 arg1) { float temp_f30; float temp_f31; s32 i; @@ -310,8 +298,7 @@ void fn_1_B4C(float arg0, s32 arg1) } } -void fn_1_11F4(float arg0, Vec *arg1, Vec *arg2, Vec *arg3) -{ +void fn_1_11F4(float arg0, Vec *arg1, Vec *arg2, Vec *arg3) { float temp_f31; if (1.0f < arg0) { @@ -323,15 +310,13 @@ void fn_1_11F4(float arg0, Vec *arg1, Vec *arg2, Vec *arg3) arg3->z = arg1->z + temp_f31 * (arg2->z - arg1->z); } -void fn_1_1350(Vec *arg0, Vec *arg1, Vec *arg2) -{ +void fn_1_1350(Vec *arg0, Vec *arg1, Vec *arg2) { Hu3DCameraPosSetV(1, arg0, arg1, arg2); lbl_1_bss_1D0 = *arg0; lbl_1_bss_1B8 = *arg2; } -s32 fn_1_13DC(float arg0, Vec *arg1) -{ +s32 fn_1_13DC(float arg0, Vec *arg1) { Vec sp18; Vec spC; @@ -340,15 +325,13 @@ s32 fn_1_13DC(float arg0, Vec *arg1) Hu3DCameraPosSetV(1, &sp18, arg1, &spC); if (1.0f <= arg0) { return 1; - } - else { + } else { lbl_1_bss_194 = 1; return 0; } } -void fn_1_1710(float arg0, Vec *arg1) -{ +void fn_1_1710(float arg0, Vec *arg1) { Vec sp18; Vec spC; @@ -358,8 +341,7 @@ void fn_1_1710(float arg0, Vec *arg1) lbl_1_bss_194 = 1; } -void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2) -{ +void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2) { Mtx sp1C; Vec sp10; float temp_f30; @@ -386,8 +368,7 @@ void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2) arg2->z = 0.0f; } -void fn_1_1D18(s16 arg0, char *arg1, Vec *arg2) -{ +void fn_1_1D18(s16 arg0, char *arg1, Vec *arg2) { Mtx sp10; Hu3DModelObjMtxGet(arg0, arg1, sp10); @@ -396,24 +377,22 @@ void fn_1_1D18(s16 arg0, char *arg1, Vec *arg2) arg2->z = sp10[2][3]; } -void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3) -{ +void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3) { Mtx spC; ModelData *var_r30; var_r30 = &Hu3DData[arg0]; Hu3DModelObjMtxGet(arg0, arg1, spC); - MTXConcat(var_r30->unk_F0, spC, spC); + PSMTXConcat(var_r30->unk_F0, spC, spC); if (NULL != arg3) { - MTXCopy(spC, arg3); + PSMTXCopy(spC, arg3); } arg2->x = spC[0][3]; arg2->y = spC[1][3]; arg2->z = spC[2][3]; } -float fn_1_1E20(float arg0, float arg1, float arg2) -{ +float fn_1_1E20(float arg0, float arg1, float arg2) { float var_f31; float var_f30; @@ -431,13 +410,11 @@ float fn_1_1E20(float arg0, float arg1, float arg2) return var_f30; } -void fn_1_1F24(s32 arg0) -{ +void fn_1_1F24(s32 arg0) { lbl_1_bss_198 = HuAudSeqPlay((s32)arg0); } -void fn_1_1F58(s32 arg0) -{ +void fn_1_1F58(s32 arg0) { if (lbl_1_bss_198 >= 0) { if (arg0 < 0) { arg0 = 1000; @@ -447,8 +424,7 @@ void fn_1_1F58(s32 arg0) lbl_1_bss_198 = -1; } -void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) -{ +void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) { Vec sp18; float var_f28; s32 var_r30; @@ -457,7 +433,7 @@ void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) sp18.y = 0.0f; sp18.z = 0.0f; sp18.x = arg2 / 4.0f; - sp18.z = -(float)arg3 / 4.0f; + sp18.z = -(float) arg3 / 4.0f; var_r30 = 0; var_f28 = VECMagXZ(&sp18); if (0.5f <= var_f28) { @@ -471,12 +447,11 @@ void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) *arg1 = fn_1_1E20(*arg1, atan2d(sp18.x, sp18.z), 0.4f); if (8.0f <= var_f28) { var_r30 = 2; - } - else { + } else { var_r30 = 1; } } - VECAdd((Vec *)&arg0, &sp18, (Vec *)&arg0); + PSVECAdd((Vec*) &arg0, &sp18, (Vec*) &arg0); } omObjData *lbl_1_bss_4C; @@ -500,7 +475,10 @@ float lbl_1_bss_8; float lbl_1_bss_4; float lbl_1_bss_0; -s16 lbl_1_data_0[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; +s16 lbl_1_data_0[8] = { + 0, 1, 2, 3, + 4, 5, 6, 7 +}; Vec lbl_1_data_10 = { 0, 100, 400 }; Vec lbl_1_data_1C = { 0, 1, 0 }; @@ -518,498 +496,572 @@ Vec lbl_1_data_98 = { 0, 3000, 1000 }; Vec lbl_1_data_A4 = { 0, 0, 0 }; s32 lbl_1_data_B0[8][16] = { - { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_M441, 0x00), - DATA_MAKE_NUM(DATADIR_M441, 0x08), - DATA_MAKE_NUM(DATADIR_M441, 0x10), - DATA_MAKE_NUM(DATADIR_M441, 0x18), - DATA_MAKE_NUM(DATADIR_M441, 0x20), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_M441, 0x30), - DATA_MAKE_NUM(DATADIR_M441, 0x28), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18), - }, - { - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_M441, 0x01), - DATA_MAKE_NUM(DATADIR_M441, 0x09), - DATA_MAKE_NUM(DATADIR_M441, 0x11), - DATA_MAKE_NUM(DATADIR_M441, 0x19), - DATA_MAKE_NUM(DATADIR_M441, 0x21), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_M441, 0x31), - DATA_MAKE_NUM(DATADIR_M441, 0x29), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x17), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x18), - }, - { - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x00), - DATA_MAKE_NUM(DATADIR_M441, 0x02), - DATA_MAKE_NUM(DATADIR_M441, 0x0A), - DATA_MAKE_NUM(DATADIR_M441, 0x12), - DATA_MAKE_NUM(DATADIR_M441, 0x1A), - DATA_MAKE_NUM(DATADIR_M441, 0x22), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x00), - DATA_MAKE_NUM(DATADIR_M441, 0x32), - DATA_MAKE_NUM(DATADIR_M441, 0x2A), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x17), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x18), - }, - { - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_M441, 0x03), - DATA_MAKE_NUM(DATADIR_M441, 0x0B), - DATA_MAKE_NUM(DATADIR_M441, 0x13), - DATA_MAKE_NUM(DATADIR_M441, 0x1B), - DATA_MAKE_NUM(DATADIR_M441, 0x23), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_M441, 0x33), - DATA_MAKE_NUM(DATADIR_M441, 0x2B), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x17), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x18), - }, - { - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_M441, 0x04), - DATA_MAKE_NUM(DATADIR_M441, 0x0C), - DATA_MAKE_NUM(DATADIR_M441, 0x14), - DATA_MAKE_NUM(DATADIR_M441, 0x1C), - DATA_MAKE_NUM(DATADIR_M441, 0x24), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_M441, 0x34), - DATA_MAKE_NUM(DATADIR_M441, 0x2C), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x17), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x18), - }, - { - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_M441, 0x05), - DATA_MAKE_NUM(DATADIR_M441, 0x0D), - DATA_MAKE_NUM(DATADIR_M441, 0x15), - DATA_MAKE_NUM(DATADIR_M441, 0x1D), - DATA_MAKE_NUM(DATADIR_M441, 0x25), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_M441, 0x35), - DATA_MAKE_NUM(DATADIR_M441, 0x2D), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x17), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x18), - }, - { - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_M441, 0x06), - DATA_MAKE_NUM(DATADIR_M441, 0x0E), - DATA_MAKE_NUM(DATADIR_M441, 0x16), - DATA_MAKE_NUM(DATADIR_M441, 0x1E), - DATA_MAKE_NUM(DATADIR_M441, 0x26), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_M441, 0x36), - DATA_MAKE_NUM(DATADIR_M441, 0x2E), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x17), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x18), - }, - { - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_M441, 0x07), - DATA_MAKE_NUM(DATADIR_M441, 0x0F), - DATA_MAKE_NUM(DATADIR_M441, 0x17), - DATA_MAKE_NUM(DATADIR_M441, 0x1F), - DATA_MAKE_NUM(DATADIR_M441, 0x27), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_M441, 0x37), - DATA_MAKE_NUM(DATADIR_M441, 0x2F), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x17), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x18), - }, + { + 0x005F0000, + 0x00480000, + 0x00480008, + 0x00480010, + 0x00480018, + 0x00480020, + 0x005F0000, + 0x00480030, + 0x00480028, + 0x005F0017, + 0x005F0018 + }, + { + 0x001A0000, + 0x00480001, + 0x00480009, + 0x00480011, + 0x00480019, + 0x00480021, + 0x001A0000, + 0x00480031, + 0x00480029, + 0x001A0017, + 0x001A0018 + }, + { + 0x006D0000, + 0x00480002, + 0x0048000A, + 0x00480012, + 0x0048001A, + 0x00480022, + 0x006D0000, + 0x00480032, + 0x0048002A, + 0x006D0017, + 0x006D0018 + }, + { + 0x008A0000, + 0x00480003, + 0x0048000B, + 0x00480013, + 0x0048001B, + 0x00480023, + 0x008A0000, + 0x00480033, + 0x0048002B, + 0x008A0017, + 0x008A0018 + }, + { + 0x00850000, + 0x00480004, + 0x0048000C, + 0x00480014, + 0x0048001C, + 0x00480024, + 0x00850000, + 0x00480034, + 0x0048002C, + 0x00850017, + 0x00850018 + }, + { + 0x00110000, + 0x00480005, + 0x0048000D, + 0x00480015, + 0x0048001D, + 0x00480025, + 0x00110000, + 0x00480035, + 0x0048002D, + 0x00110017, + 0x00110018 + }, + { + 0x000D0000, + 0x00480006, + 0x0048000E, + 0x00480016, + 0x0048001E, + 0x00480026, + 0x000D0000, + 0x00480036, + 0x0048002E, + 0x000D0017, + 0x000D0018 + }, + { + 0x00810000, + 0x00480007, + 0x0048000F, + 0x00480017, + 0x0048001F, + 0x00480027, + 0x00810000, + 0x00480037, + 0x0048002F, + 0x00810017, + 0x00810018 + } }; -s32 lbl_1_data_2B0[2] = { DATA_MAKE_NUM(DATADIR_M441, 0x40), DATA_MAKE_NUM(DATADIR_M441, 0x41) }; +s32 lbl_1_data_2B0[2] = { + 0x00480040, + 0x00480041 +}; s32 lbl_1_data_2B8[3] = { - DATA_MAKE_NUM(DATADIR_M441, 0x43), - DATA_MAKE_NUM(DATADIR_M441, 0x44), - DATA_MAKE_NUM(DATADIR_M441, 0x45), + 0x00480043, + 0x00480044, + 0x00480045 }; s32 lbl_1_data_2C4[4] = { - DATA_MAKE_NUM(DATADIR_MGCONST, 0x22), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x21), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x2F), - DATA_MAKE_NUM(DATADIR_MGCONST, 0x2F), + 0x00610022, + 0x00610021, + 0x0061002F, + 0x0061002F }; -float lbl_1_data_2D4[4][4] = { -350, 0, 350, 135, 350, 0, 350, 225, 350, 0, -350, 315, -350, 0, -350, 45 }; +float lbl_1_data_2D4[4][4] = { + -350, 0, 350, 135, + 350, 0, 350, 225, + 350, 0, -350, 315, + -350, 0, -350, 45 +}; s32 lbl_1_data_314[3] = { - DATA_MAKE_NUM(DATADIR_M441, 0x3D), - DATA_MAKE_NUM(DATADIR_M441, 0x3C), - DATA_MAKE_NUM(DATADIR_M441, 0x3B), + 0x0048003D, + 0x0048003C, + 0x0048003B }; s16 lbl_1_data_320[3] = { 10, 5, 2 }; s16 lbl_1_data_326[3] = { 1, 2, 3 }; -Vec lbl_1_data_32C[3] = { { 0.5f, 0.5f, 0.5f }, { 0.7f, 0.7f, 0.7f }, { 0.9f, 0.9f, 0.9f } }; +Vec lbl_1_data_32C[3] = { + { 0.5f, 0.5f, 0.5f }, + { 0.7f, 0.7f, 0.7f }, + { 0.9f, 0.9f, 0.9f } +}; -float lbl_1_data_350[3][2] = { 0.5f, 4.0f, 0.5f, 4.0f, 2.0f, 6.0f }; +float lbl_1_data_350[3][2] = { + 0.5f, 4.0f, + 0.5f, 4.0f, + 2.0f, 6.0f +}; -s32 lbl_1_data_368[1] = { DATA_MAKE_NUM(DATADIR_M441, 0x3E) }; +s32 lbl_1_data_368[1] = { 0x0048003E }; float lbl_1_data_36C[3] = { 0.7f, 85.0f, 22.0f }; float lbl_1_data_378[3] = { 0.8f, 70.0f, 27.0f }; float lbl_1_data_384[3] = { 0.9f, 55.0f, 32.0f }; float lbl_1_data_390[3] = { 1.0f, 40.0f, 37.0f }; -HsfanimStruct00 lbl_1_data_39C = { 20, { 0, 0 }, 1, 30, 0, { 0, -0.05f, 0 }, 1.0f, 0.99f, 20.0f, 0.98f, 4, - { { 128, 128, 128, 255 }, { 255, 0, 255, 255 }, { 0, 255, 255, 255 }, { 255, 255, 255, 255 } }, - { { 128, 128, 128, 0 }, { 255, 0, 255, 0 }, { 0, 255, 255, 0 }, { 255, 255, 255, 0 } } }; +HsfanimStruct00 lbl_1_data_39C = { + 20, + { 0, 0 }, + 1, + 30, + 0, + { 0, -0.05f, 0 }, + 1.0f, + 0.99f, + 20.0f, + 0.98f, + 4, + { + { 128, 128, 128, 255 }, + { 255, 0, 255, 255 }, + { 0, 255, 255, 255 }, + { 255, 255, 255, 255 } + }, + { + { 128, 128, 128, 0 }, + { 255, 0, 255, 0 }, + { 0, 255, 255, 0 }, + { 255, 255, 255, 0 } + } +}; -HsfanimStruct00 lbl_1_data_3EC = { 30, { 0, 0 }, 1, 0, 360, { 0, -0.05f, 0 }, 10.0f, 0.98f, 20.0f, 1.05f, 4, - { { 128, 128, 128, 255 }, { 255, 0, 255, 255 }, { 0, 255, 255, 255 }, { 255, 255, 255, 255 } }, - { { 128, 128, 128, 0 }, { 255, 0, 255, 0 }, { 0, 255, 255, 0 }, { 255, 255, 255, 0 } } }; +HsfanimStruct00 lbl_1_data_3EC = { + 30, + { 0, 0 }, + 1, + 0, + 360, + { 0, -0.05f, 0 }, + 10.0f, + 0.98f, + 20.0f, + 1.05f, + 4, + { + { 128, 128, 128, 255 }, + { 255, 0, 255, 255 }, + { 0, 255, 255, 255 }, + { 255, 255, 255, 255 } + }, + { + { 128, 128, 128, 0 }, + { 255, 0, 255, 0 }, + { 0, 255, 255, 0 }, + { 255, 255, 255, 0 } + } +}; HsfanimStruct00 lbl_1_data_43C = { - 60, - { 0, 0 }, - 1, - 0, - 360, - { 0, -0.05f, 0 }, - 10.0f, - 0.99f, - 30.0f, - 0.98f, - 1, - { { 255, 255, 255, 255 }, { 255, 255, 255, 255 }, { 255, 255, 255, 255 }, { 255, 255, 255, 255 } }, - { { 255, 255, 255, 0 }, { 255, 255, 255, 0 }, { 255, 255, 255, 0 }, { 255, 255, 255, 0 } }, + 60, + { 0, 0 }, + 1, + 0, + 360, + { 0, -0.05f, 0 }, + 10.0f, + 0.99f, + 30.0f, + 0.98f, + 1, + { + { 255, 255, 255, 255 }, + { 255, 255, 255, 255 }, + { 255, 255, 255, 255 }, + { 255, 255, 255, 255 } + }, + { + { 255, 255, 255, 0 }, + { 255, 255, 255, 0 }, + { 255, 255, 255, 0 }, + { 255, 255, 255, 0 } + }, }; HsfanimStruct00 lbl_1_data_48C = { - 30, - { 0, 0 }, - 1, - 10, - 360, - { 0, 0.1f, 0 }, - 1.0f, - 1.0f, - 30.0f, - 1.05f, - 1, - { { 255, 255, 255, 255 }, { 255, 255, 255, 255 }, { 255, 255, 255, 255 }, { 255, 255, 255, 255 } }, - { { 255, 255, 255, 0 }, { 255, 255, 255, 0 }, { 255, 255, 255, 0 }, { 255, 255, 255, 0 } }, + 30, + { 0, 0 }, + 1, + 10, + 360, + { 0, 0.1f, 0 }, + 1.0f, + 1.0f, + 30.0f, + 1.05f, + 1, + { + { 255, 255, 255, 255 }, + { 255, 255, 255, 255 }, + { 255, 255, 255, 255 }, + { 255, 255, 255, 255 } + }, + { + { 255, 255, 255, 0 }, + { 255, 255, 255, 0 }, + { 255, 255, 255, 0 }, + { 255, 255, 255, 0 } + }, }; #include "src/REL/executor.c" void fn_1_2454(omObjData *object) { - HuSysVWaitSet(1); - if (HuPadBtn[0] & PAD_BUTTON_X) { - lbl_1_bss_1A4 = -1; - } - print8(24, 32, 1.5f, "COUNT:%d MODE:%d MES:%d", lbl_1_bss_1A8, lbl_1_bss_4C->work[0], lbl_1_bss_19E); - print8(24, 48, 1.5f, "%f %f %f", lbl_1_bss_0, lbl_1_bss_8, lbl_1_bss_4); - print8(24, 64, 1.5f, "%x %x", HuMemHeapSizeGet(HEAP_SYSTEM) - HuMemUsedMallocSizeGet(HEAP_SYSTEM), - HuMemHeapSizeGet(HEAP_DATA) - HuMemUsedMallocSizeGet(HEAP_DATA)); - lbl_1_bss_4 -= HuPadSubStkX[0] / 59.0f; - lbl_1_bss_8 -= 4.0f * (HuPadSubStkY[0] / 59.0f); - lbl_1_bss_0 -= (HuPadTrigL[0] / 150.0f) * 4.0f; - lbl_1_bss_0 += (HuPadTrigR[0] / 150.0f) * 4.0f; + HuSysVWaitSet(1); + if(HuPadBtn[0] & PAD_BUTTON_X) { + lbl_1_bss_1A4 = -1; + } + print8(24, 32, 1.5f, "COUNT:%d MODE:%d MES:%d", lbl_1_bss_1A8, lbl_1_bss_4C->work[0], lbl_1_bss_19E); + print8(24, 48, 1.5f, "%f %f %f", lbl_1_bss_0, lbl_1_bss_8, lbl_1_bss_4); + print8(24, 64, 1.5f, "%x %x", HuMemHeapSizeGet(HEAP_SYSTEM)-HuMemUsedMallocSizeGet(HEAP_SYSTEM), HuMemHeapSizeGet(HEAP_DATA)-HuMemUsedMallocSizeGet(HEAP_DATA)); + lbl_1_bss_4 -= HuPadSubStkX[0]/59.0f; + lbl_1_bss_8 -= 4.0f*(HuPadSubStkY[0]/59.0f); + lbl_1_bss_0 -= (HuPadTrigL[0]/150.0f)*4.0f; + lbl_1_bss_0 += (HuPadTrigR[0]/150.0f)*4.0f; } typedef struct work_53E8 { - float *unk0; - Vec unk4; - Vec unk10; - Vec unk1C; - Vec unk28; - Vec unk34; - Vec unk40; - Vec unk4C; - float unk58; - float unk5C; - float unk60; - Vec unk64; - Vec unk70; - Vec unk7C; - float unk88; - float unk8C; - s32 unk90; - s32 unk94; - s32 unk98; - s32 unk9C; - s32 unkA0; - s32 unkA4; - s32 unkA8; - s32 unkAC; - s32 unkB0; - s32 unkB4; - s32 unkB8; - s32 unkBC; - s32 unkC0; - s32 unkC4[3]; - s32 unkD0[4]; - s16 unkE0; - float unkE4; + float *unk0; + Vec unk4; + Vec unk10; + Vec unk1C; + Vec unk28; + Vec unk34; + Vec unk40; + Vec unk4C; + float unk58; + float unk5C; + float unk60; + Vec unk64; + Vec unk70; + Vec unk7C; + float unk88; + float unk8C; + s32 unk90; + s32 unk94; + s32 unk98; + s32 unk9C; + s32 unkA0; + s32 unkA4; + s32 unkA8; + s32 unkAC; + s32 unkB0; + s32 unkB4; + s32 unkB8; + s32 unkBC; + s32 unkC0; + s32 unkC4[3]; + s32 unkD0[4]; + s16 unkE0; + float unkE4; } Work53E8; + void fn_1_273C(Work53E8 *arg0) { - float temp_f31 = arg0->unk4.x; - float temp_f30 = arg0->unk4.z; - float temp_f28 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - if (600.0f - arg0->unk60 < temp_f28) { - temp_f31 /= temp_f28; - temp_f30 /= temp_f28; - arg0->unk4.x = temp_f31 * (600.0f - arg0->unk60); - arg0->unk4.z = temp_f30 * (600.0f - arg0->unk60); - } + float temp_f31 = arg0->unk4.x; + float temp_f30 = arg0->unk4.z; + float temp_f28 = sqrtf((temp_f31*temp_f31)+(temp_f30*temp_f30)); + if(600.0f-arg0->unk60 < temp_f28) { + temp_f31 /= temp_f28; + temp_f30 /= temp_f28; + arg0->unk4.x = temp_f31*(600.0f-arg0->unk60); + arg0->unk4.z = temp_f30*(600.0f-arg0->unk60); + } } void fn_1_2904(Work53E8 *arg0, s32 arg1) { - s32 i; - for (i = 0; i < 4; i++) { - Work53E8 *temp_r31 = lbl_1_bss_48[i]->data; - if (arg0->unkB0 != temp_r31->unkB0) { - float temp_f31 = arg0->unk4.x - temp_r31->unk4.x; - float temp_f30 = arg0->unk4.z - temp_r31->unk4.z; - float temp_f28 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - if (temp_f28 < arg0->unk60 + temp_r31->unk60) { - if (arg1 && arg0->unk1C.z == temp_r31->unk1C.z) { - arg0->unk1C.z += 55.0f * ((0 > arg0->unk4.z) ? -1 : 1); - } - if (0.0f == temp_f28) { - temp_f31 = 0.0f; - temp_f30 = -1.0f; - } - else { - temp_f31 /= temp_f28; - temp_f30 /= temp_f28; - } - arg0->unk4.x = temp_r31->unk4.x + (temp_f31 * (arg0->unk60 + temp_r31->unk60)); - arg0->unk4.z = temp_r31->unk4.z + (temp_f30 * (arg0->unk60 + temp_r31->unk60)); - } - } - } + s32 i; + for(i=0; i<4; i++) { + Work53E8 *temp_r31 = lbl_1_bss_48[i]->data; + if(arg0->unkB0 != temp_r31->unkB0) { + float temp_f31 = arg0->unk4.x-temp_r31->unk4.x; + float temp_f30 = arg0->unk4.z-temp_r31->unk4.z; + float temp_f28 = sqrtf((temp_f31*temp_f31)+(temp_f30*temp_f30)); + if(temp_f28 < arg0->unk60+temp_r31->unk60) { + if(arg1 && arg0->unk1C.z == temp_r31->unk1C.z) { + arg0->unk1C.z += 55.0f*((0 > arg0->unk4.z) ? -1 : 1); + } + if(0.0f == temp_f28) { + temp_f31 = 0.0f; + temp_f30 = -1.0f; + } else { + temp_f31 /= temp_f28; + temp_f30 /= temp_f28; + } + arg0->unk4.x = temp_r31->unk4.x+(temp_f31*(arg0->unk60+temp_r31->unk60)); + arg0->unk4.z = temp_r31->unk4.z+(temp_f30*(arg0->unk60+temp_r31->unk60)); + } + } + + } } void fn_1_2BD4(Work53E8 *arg0, omObjData *arg1, s32 arg2) { - s32 temp_r29; - if (!arg2) { - arg0->unk10.x = 0; - arg0->unk10.y = 0; - arg0->unk10.z = 0; - arg0->unk10.x = arg0->unkA4 / 4.0f; - arg0->unk10.z = -((float)arg0->unkA8) / 4.0f; - } - temp_r29 = 1; - arg0->unk5C = VECMagXZ(&arg0->unk10); - if (0.5f <= arg0->unk5C) { - if (10.0f <= arg0->unk5C) { - arg0->unk10.x /= arg0->unk5C; - arg0->unk10.z /= arg0->unk5C; - arg0->unk5C = 10.0f; - arg0->unk10.x = 10.0f * arg0->unk10.x; - arg0->unk10.z = 10.0f * arg0->unk10.z; - } - arg0->unk58 = fn_1_1E20(arg0->unk58, atan2d(arg0->unk10.x, arg0->unk10.z), 0.4f); - if (8.0f <= arg0->unk5C) { - temp_r29 = 3; - } - else { - temp_r29 = 2; - } - } - VECAdd(&arg0->unk4, &arg0->unk10, &arg0->unk4); - fn_1_273C(arg0); - fn_1_2904(arg0, arg2); - if (arg2) { - temp_r29 += 6; - if (temp_r29 > 6) { - temp_r29 = 7; - } - } - if (temp_r29 >= 0 && arg0->unk9C != temp_r29) { - arg0->unk9C = temp_r29; - Hu3DMotionShiftSet(arg1->model[0], arg1->motion[arg0->unk9C], 0, 8, HU3D_MOTATTR_LOOP); - } + s32 temp_r29; + if(!arg2) { + arg0->unk10.x = 0; + arg0->unk10.y = 0; + arg0->unk10.z = 0; + arg0->unk10.x = arg0->unkA4/4.0f; + arg0->unk10.z = -((float)arg0->unkA8)/4.0f; + } + temp_r29 = 1; + arg0->unk5C = VECMagXZ(&arg0->unk10); + if(0.5f <= arg0->unk5C) { + if(10.0f <= arg0->unk5C) { + arg0->unk10.x /= arg0->unk5C; + arg0->unk10.z /= arg0->unk5C; + arg0->unk5C = 10.0f; + arg0->unk10.x = 10.0f*arg0->unk10.x; + arg0->unk10.z = 10.0f*arg0->unk10.z; + } + arg0->unk58 = fn_1_1E20(arg0->unk58, atan2d(arg0->unk10.x, arg0->unk10.z), 0.4f); + if(8.0f <= arg0->unk5C) { + temp_r29 = 3; + } else { + temp_r29 = 2; + } + } + VECAdd(&arg0->unk4, &arg0->unk10, &arg0->unk4); + fn_1_273C(arg0); + fn_1_2904(arg0, arg2); + if(arg2) { + temp_r29 += 6; + if(temp_r29 > 6) { + temp_r29 = 7; + } + } + if(temp_r29 >= 0 && arg0->unk9C != temp_r29) { + arg0->unk9C = temp_r29; + Hu3DMotionShiftSet(arg1->model[0], arg1->motion[arg0->unk9C], 0, 8, 0x40000001); + } } void fn_1_3404(Work53E8 *arg0) { - float temp_f31; - float temp_f30; - float temp_f27; - float temp_f26; - float temp_f25; - - if (NULL == arg0->unk0) { - return; - } - temp_f31 = 0; - temp_f30 = 0; - if (arg0->unk94 == 0) { - temp_f31 = arg0->unk7C.x - arg0->unk4.x; - temp_f30 = arg0->unk7C.z - arg0->unk4.z; - temp_f27 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - if (10.0f <= temp_f27) { - temp_f31 /= temp_f27; - temp_f30 /= temp_f27; - } - else { - temp_f31 = 0; - temp_f30 = 0; - } - if (170.0f < temp_f27 && 224.0f > temp_f27) { - if (200.0f > arg0->unk7C.y) { - arg0->unkAC |= PAD_BUTTON_B; - } - else { - arg0->unkAC |= PAD_BUTTON_A; - } - arg0->unk94 = 1; - arg0->unk8C = arg0->unk0[1] + ((frandf() * arg0->unk0[1]) / 2); - temp_f25 = 1.0f - (lbl_1_bss_1A4 / (60.0f * REFRESH_RATE)); - if (0.25f < temp_f25) { - arg0->unk8C *= arg0->unk90 / (arg0->unk0[2] * temp_f25); - } - if (arg0->unk8C < frandmod(100)) { - arg0->unk94 = 0; - } - } - } - else { - if (arg0->unk94 == 1) { - arg0->unk94 = 2; - temp_f26 = 360.0f * frandf(); - temp_f27 = (600.0f - arg0->unk60) * frandf(); - arg0->unk70.x = temp_f27 * sind(temp_f26); - arg0->unk70.y = 0; - arg0->unk70.z = temp_f27 * cosd(temp_f26); - } - temp_f31 = arg0->unk70.x - arg0->unk4.x; - temp_f30 = arg0->unk70.z - arg0->unk4.z; - temp_f27 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - if (10.0f <= temp_f27) { - temp_f31 /= temp_f27; - temp_f30 /= temp_f27; - } - else { - temp_f31 = 0; - temp_f30 = 0; - arg0->unk94 = 1; - } - arg0->unk8C--; - if (0.0f > arg0->unk8C) { - arg0->unk94 = 0; - } - } - arg0->unkA4 = (72.0f * temp_f31) * arg0->unk0[0]; - arg0->unkA8 = (72.0f * -temp_f30) * arg0->unk0[0]; - if (ABS(arg0->unkA4) > 72) { - arg0->unkA4 = ((arg0->unkA4 < 0) ? -1 : 1) * 72; - } - if (ABS(arg0->unkA8) > 72) { - arg0->unkA8 = ((arg0->unkA8 < 0) ? -1 : 1) * 72; - } + float temp_f31; + float temp_f30; + float temp_f27; + float temp_f26; + float temp_f25; + + if(NULL == arg0->unk0) { + return; + } + temp_f31 = 0; + temp_f30 = 0; + if(arg0->unk94 == 0) { + temp_f31 = arg0->unk7C.x-arg0->unk4.x; + temp_f30 = arg0->unk7C.z-arg0->unk4.z; + temp_f27 = sqrtf((temp_f31*temp_f31)+(temp_f30*temp_f30)); + if(10.0f <= temp_f27) { + temp_f31 /= temp_f27; + temp_f30 /= temp_f27; + } else { + temp_f31 = 0; + temp_f30 = 0; + } + if(170.0f < temp_f27 && 224.0f > temp_f27) { + if(200.0f > arg0->unk7C.y) { + arg0->unkAC |= PAD_BUTTON_B; + } else { + arg0->unkAC |= PAD_BUTTON_A; + } + arg0->unk94 = 1; + arg0->unk8C = arg0->unk0[1]+((frandf()*arg0->unk0[1])/2); + temp_f25 = 1.0f-(lbl_1_bss_1A4/3600.0f); + if(0.25f < temp_f25) { + arg0->unk8C *= arg0->unk90/(arg0->unk0[2]*temp_f25); + } + if(arg0->unk8C < frandmod(100)) { + arg0->unk94 = 0; + } + } + } else { + if(arg0->unk94 == 1) { + arg0->unk94 = 2; + temp_f26 = 360.0f*frandf(); + temp_f27 = (600.0f-arg0->unk60)*frandf(); + arg0->unk70.x = temp_f27*sind(temp_f26); + arg0->unk70.y = 0; + arg0->unk70.z = temp_f27*cosd(temp_f26); + } + temp_f31 = arg0->unk70.x-arg0->unk4.x; + temp_f30 = arg0->unk70.z-arg0->unk4.z; + temp_f27 = sqrtf((temp_f31*temp_f31)+(temp_f30*temp_f30)); + if(10.0f <= temp_f27) { + temp_f31 /= temp_f27; + temp_f30 /= temp_f27; + } else { + temp_f31 = 0; + temp_f30 = 0; + arg0->unk94 = 1; + } + arg0->unk8C--; + if(0.0f > arg0->unk8C) { + arg0->unk94 = 0; + } + } + arg0->unkA4 = (72.0f*temp_f31)*arg0->unk0[0]; + arg0->unkA8 = (72.0f*-temp_f30)*arg0->unk0[0]; + if(ABS(arg0->unkA4) > 72) { + arg0->unkA4 = ((arg0->unkA4 < 0) ? -1 : 1)*72; + } + if(ABS(arg0->unkA8) > 72) { + arg0->unkA8 = ((arg0->unkA8 < 0) ? -1 : 1)*72; + } } void fn_1_3B04(Work53E8 *arg0, omObjData *arg1) { - arg0->unk64.z++; - if (10.0f >= arg0->unk64.z) { - float temp_f31 = (0.3f * sind(180.0f * (arg0->unk64.z / 10.0f))) + 1.5f; - Hu3DModelScaleSet(arg1->model[2], temp_f31, temp_f31, temp_f31); - } + arg0->unk64.z++; + if(10.0f >= arg0->unk64.z) { + float temp_f31 = (0.3f*sind(180.0f*(arg0->unk64.z/10.0f)))+1.5f; + Hu3DModelScaleSet(arg1->model[2], temp_f31, temp_f31, temp_f31); + } } void fn_1_40A8(omObjData *object); void fn_1_3C00(omObjData *object) { - Work53E8 *work = object->data; - Mtx hookMtx; - Vec netOfs; - if (work->unk98 == 2004 && lbl_1_bss_4C->work[0] >= 1005) { - work->unk98 = 2007; - work->unk64.x = 20; - Hu3DMotionShiftSet(object->model[0], object->motion[1], 0, 20, HU3D_MOTATTR_LOOP); - object->func = fn_1_40A8; - return; - } - work->unk88 = 10000; - if (GWPlayerCfg[work->unkB0].iscom) { - work->unkA4 = 0; - work->unkA8 = 0; - work->unkAC = 0; - fn_1_3404(work); - } - else { - work->unkA4 = HuPadStkX[work->unkB8]; - work->unkA8 = HuPadStkY[work->unkB8]; - work->unkAC = HuPadBtnDown[work->unkB8]; - } - switch (work->unk98) { - case 2004: - fn_1_2BD4(work, object, 0); - if (work->unkAC & PAD_BUTTON_A) { - work->unk98 = 2005; - work->unk64.x = 10; - work->unkE4 = 0; - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSet(object->model[0], object->motion[4], 0, 8, HU3D_MOTATTR_NONE); - Hu3DMotionSet(object->model[1], object->motion[11]); - HuAudFXEmiterPlay(1814, &work->unk4); - } - if (work->unkAC & PAD_BUTTON_B) { - work->unk98 = 2005; - work->unk64.x = 10; - work->unkE4 = 0; - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSet(object->model[0], object->motion[5], 0, 8, HU3D_MOTATTR_NONE); - Hu3DMotionSet(object->model[1], object->motion[11]); - HuAudFXEmiterPlay(1814, &work->unk4); - } - break; - - case 2005: - work->unk64.x--; - if (0.0f > work->unk64.x && 20.0f < Hu3DMotionTimeGet(object->model[0])) { - work->unk98++; - } - work->unkE4++; - if (240.0f < work->unkE4) { - work->unk98 = 2006; - } - break; - - case 2006: - work->unkE4++; - if (240.0f < work->unkE4 || Hu3DMotionEndCheck(object->model[0])) { - work->unk98 = 2004; - work->unk9C = 1; - Hu3DMotionShiftSet(object->model[0], object->motion[1], 0, 8, HU3D_MOTATTR_LOOP); - } - break; - - default: - OSReport("*** player mode error(%d)!!\n", work->unk98); - break; - } - omSetTra(object, work->unk4.x, work->unk4.y, work->unk4.z); - omSetRot(object, 0, work->unk58, 0); - netOfs.x = 0; - netOfs.y = 0; - netOfs.z = 170; - Hu3DModelObjMtxGet(object->model[0], CharModelHookNameGet(work->unkB4, 2, 0), hookMtx); - MTXMultVec(hookMtx, &netOfs, &work->unk28); + Work53E8 *work = object->data; + Mtx hookMtx; + Vec netOfs; + if(work->unk98 == 2004 && lbl_1_bss_4C->work[0] >= 1005) { + work->unk98 = 2007; + work->unk64.x = 20; + Hu3DMotionShiftSet(object->model[0], object->motion[1], 0, 20, 0x40000001); + object->func = fn_1_40A8; + return; + } + work->unk88 = 10000; + if(GWPlayerCfg[work->unkB0].iscom) { + work->unkA4 = 0; + work->unkA8 = 0; + work->unkAC = 0; + fn_1_3404(work); + } else { + work->unkA4 = HuPadStkX[work->unkB8]; + work->unkA8 = HuPadStkY[work->unkB8]; + work->unkAC = HuPadBtnDown[work->unkB8]; + } + switch(work->unk98) { + case 2004: + fn_1_2BD4(work, object, 0); + if(work->unkAC & PAD_BUTTON_A) { + work->unk98 = 2005; + work->unk64.x = 10; + work->unkE4 = 0; + Hu3DModelAttrReset(object->model[0], 0x40000001); + Hu3DMotionShiftSet(object->model[0], object->motion[4], 0, 8, 0); + Hu3DMotionSet(object->model[1], object->motion[11]); + HuAudFXEmiterPlay(1814, &work->unk4); + } + if(work->unkAC & PAD_BUTTON_B) { + work->unk98 = 2005; + work->unk64.x = 10; + work->unkE4 = 0; + Hu3DModelAttrReset(object->model[0], 0x40000001); + Hu3DMotionShiftSet(object->model[0], object->motion[5], 0, 8, 0); + Hu3DMotionSet(object->model[1], object->motion[11]); + HuAudFXEmiterPlay(1814, &work->unk4); + } + break; + + case 2005: + work->unk64.x--; + if(0.0f > work->unk64.x && 20.0f < Hu3DMotionTimeGet(object->model[0])) { + work->unk98++; + } + work->unkE4++; + if(240.0f < work->unkE4) { + work->unk98 = 2006; + } + break; + + case 2006: + work->unkE4++; + if(240.0f < work->unkE4 || Hu3DMotionEndCheck(object->model[0])) { + work->unk98 = 2004; + work->unk9C = 1; + Hu3DMotionShiftSet(object->model[0], object->motion[1], 0, 8, 0x40000001); + } + break; + + default: + OSReport("*** player mode error(%d)!!\n", work->unk98); + break; + } + omSetTra(object, work->unk4.x, work->unk4.y, work->unk4.z); + omSetRot(object, 0, work->unk58, 0); + netOfs.x = 0; + netOfs.y = 0; + netOfs.z = 170; + Hu3DModelObjMtxGet(object->model[0], CharModelHookNameGet(work->unkB4, 2, 0), hookMtx); + MTXMultVec(hookMtx, &netOfs, &work->unk28); + } -static inline void fn_1_40A8InlineFunc(Vec *arg0, float arg1, float arg2, float arg3) -{ +static inline void fn_1_40A8InlineFunc(Vec *arg0, float arg1, float arg2, float arg3) { arg0->x = arg1; arg0->y = arg2; arg0->z = arg3; @@ -1019,1103 +1071,1089 @@ void fn_1_892C(s16 arg0, s16 arg1, Vec *arg2); void fn_1_40A8(omObjData *object) { - float angle; - Mtx hookMtx; - Vec pos3D; - Vec pos2D; - Work53E8 *work = object->data; - s32 i; + float angle; + Mtx hookMtx; + Vec pos3D; + Vec pos2D; + Work53E8 *work = object->data; + s32 i; + + switch(work->unk98) { + case 2000: + if(lbl_1_bss_4C->work[0] == 1002 && 90.0f < lbl_1_bss_28) { + work->unk98++; + work->unk64.x = 10.0f; + Hu3DModelAttrReset(object->model[0], 0x40000003); + Hu3DMotionShiftSet(object->model[0], object->motion[4], 0, 10, 0); + Hu3DMotionSet(object->model[1], object->motion[11]); + HuAudFXEmiterPlay(1814, &work->unk4); + } + break; + + case 2001: + work->unk64.x--; + if(0.0f > work->unk64.x && Hu3DMotionEndCheck(object->model[0])) { + work->unk98++; + work->unk64.x = 10.0f; + Hu3DMotionShiftSet(object->model[0], object->motion[5], 0, 10, 0); + Hu3DMotionSet(object->model[1], object->motion[11]); + HuAudFXEmiterPlay(1814, &work->unk4); + } + break; + + case 2002: + work->unk64.x--; + if(0.0f > work->unk64.x && Hu3DMotionEndCheck(object->model[0])) { + work->unk98++; + Hu3DMotionShiftSet(object->model[0], object->motion[1], 0, 10, 0x40000001); + } + break; + + case 2003: + if(lbl_1_bss_4C->work[0] >= 1004) { + work->unk98++; + object->func = fn_1_3C00; + } + break; + + case 2007: + work->unk64.x--; + if(0.0f > work->unk64.x && lbl_1_bss_4C->work[0] == 1006) { + work->unk98++; + work->unk64.x = 40; + Hu3DModelObjMtxGet(object->model[0], CharModelHookNameGet(work->unkB4, 2, 0), hookMtx); + Hu3DMtxTransGet(hookMtx, &work->unk28); + Hu3DMtxRotGet(hookMtx, &work->unk34); + Hu3DMtxScaleGet(hookMtx, &work->unk40); + Hu3DModelPosSet(object->model[1], work->unk28.x, work->unk28.y, work->unk28.z); + Hu3DModelRotSet(object->model[1], work->unk34.x, work->unk34.y, work->unk34.z); + Hu3DModelScaleSet(object->model[1], work->unk40.x, work->unk40.y, work->unk40.z); + Hu3DModelHookObjReset(object->model[0], CharModelHookNameGet(work->unkB4, 2, 0)); + } + break; + + case 2008: + work->unk28.y += 4; + work->unk34.x += 24.0f; + work->unk40.x *= 0.95f; + work->unk40.y *= 0.95f; + work->unk40.z *= 0.95f; + Hu3DModelPosSet(object->model[1], work->unk28.x, work->unk28.y, work->unk28.z); + Hu3DModelRotSet(object->model[1], work->unk34.x, work->unk34.y, work->unk34.z); + Hu3DModelScaleSet(object->model[1], work->unk40.x, work->unk40.y, work->unk40.z); + work->unk64.x--; + if(0.0f > work->unk64.x) { + float temp_f24; + work->unk98++; + work->unk64.x = 0; + temp_f24 = (work->unkB0*160.0f)-240.0f; + work->unk1C.x = temp_f24; + work->unk1C.y = 0; + work->unk1C.z = 0; + Hu3DModelAttrSet(object->model[1], 1); + work->unkE0 = Hu3DParManLink(lbl_1_bss_2C, &lbl_1_data_48C); + Hu3DParManPosSet(work->unkE0, work->unk28.x, work->unk28.y, work->unk28.z); + Hu3DParManAttrReset(work->unkE0, 1); + Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(work->unkE0), 1); + Hu3DModelLayerSet(Hu3DParManModelIDGet(work->unkE0), 4); + HuAudFXPlay(1815); + + } + break; + + case 2009: + work->unk64.x++; + if(10.0f == work->unk64.x) { + Hu3DParManAttrSet(work->unkE0, 1); + } + work->unk10.x = 0; + work->unk10.y = 0; + work->unk10.z = 0; + work->unk10.x = work->unk1C.x-work->unk4.x; + work->unk10.z = work->unk1C.z-work->unk4.z; + if(10.0f < work->unk64.x && 0.0f == work->unk10.x && 0.0f == work->unk10.z && 0.0f == work->unk1C.z) { + work->unk98++; + work->unkA0 = 1; + } else { + fn_1_2BD4(work, object, 1); + if(0.0f != work->unk1C.z) { + work->unk1C.z -= ((0.0f > work->unk1C.z) ? -1 : 1)*5.0f; + } + } + break; + + case 2010: + work->unk58 = fn_1_1E20(work->unk58, 0.0f, 0.5f); + angle = fmod(-work->unk58, 360.0f); + if(-180.0f > angle) { + angle += 360.0f; + } + if(work->unkA0) { + if(8.0f > ABS(angle)) { + work->unkA0 = 0; + Hu3DModelPosSet(object->model[2], 0, 0, -10); + Hu3DMotionShiftSet(object->model[0], object->motion[6], 0, 4, 0x40000001); + } + } + if(lbl_1_bss_4C->work[0] == 1007) { + work->unk98++; + work->unk64.x = 10.0f; + Hu3DModelAttrReset(object->model[0], 0x40000001); + Hu3DMotionShiftSet(object->model[0], object->motion[8], 0, 8, 0); + work->unk64.y = -90; + fn_1_40A8InlineFunc(&pos3D, work->unk4.x, 250, work->unk4.z); + Hu3D3Dto2D(&pos3D, 1, &pos2D); + espTPLvlSet(work->unkD0[0], 0.5f); + espPosSet(work->unkD0[0], pos2D.x, pos2D.y); + espPosSet(work->unkD0[1], pos2D.x, pos2D.y); + espPosSet(work->unkD0[2], pos2D.x-14, 10+pos2D.y); + espPosSet(work->unkD0[3], (pos2D.x-14)+28, 10+pos2D.y); + for(i=0; i<4; i++) { + espScaleSet(work->unkD0[i], 0.1f, 0.1f); + espBankSet(work->unkD0[i], 0); + espDispOn(work->unkD0[i]); + } + work->unkE0 = Hu3DParManLink(lbl_1_bss_34, &lbl_1_data_43C); + Hu3DParManPosSet(work->unkE0, pos3D.x, pos3D.y, pos3D.z); + } + break; + + case 2011: + work->unk64.y += 18.0f; + if(180.0f >= work->unk64.y) { + for(i=0; i<4; i++) { + espScaleSet(work->unkD0[i], sind(work->unk64.y)+1, sind(work->unk64.y)+1); + } + } + work->unk64.x--; + if(0.0f > work->unk64.x) { + float motTime = Hu3DMotionTimeGet(object->model[0]); + if(18.0f == motTime) { + Hu3DParManAttrSet(work->unkE0, 1); + Hu3DModelPosSet(object->model[2], 0, 0, 0); + Hu3DModelHookObjReset(object->model[0], CharModelHookNameGet(work->unkB4, 2, 4)); + Hu3DModelHookSet(object->model[0], CharModelHookNameGet(work->unkB4, 2, 0), object->model[2]); + } + if(40.0f == motTime) { + work->unk64.z = 0; + Hu3DModelHookObjReset(object->model[0], CharModelHookNameGet(work->unkB4, 2, 0)); + fn_1_1D18(object->model[0], CharModelHookNameGet(work->unkB4, 2, 0), &work->unk4C); + work->unk4C.z += 20.0f; + Hu3DModelPosSet(object->model[2], work->unk4C.x, work->unk4C.y, work->unk4C.z); + } + if(40.0f <= motTime) { + work->unk64.z++; + if(12.0f >= work->unk64.z) { + float scale = sind(150.0f*(work->unk64.z/12.0f))+1.0; + Hu3DModelScaleSet(object->model[2], scale, scale, scale); + } + } + if(Hu3DMotionEndCheck(object->model[0])) { + work->unk98++; + Hu3DModelAttrSet(object->model[0], 0x40000001); + Hu3DMotionSet(object->model[0], object->motion[0]); + Hu3DMotionSet(object->model[2], object->motion[14]); + for(i=0; i<4; i++) { + espScaleSet(work->unkD0[i], 1.0f, 1.0f); + } + } + } + break; + + case 2012: + if(Hu3DMotionEndCheck(object->model[2])) { + work->unk98++; + work->unk64.x = 0; + } + break; + + case 2013: + work->unk64.x--; + if(0.0f > work->unk64.x) { + s32 choType; + work->unk64.x = (20.0f*frandf())+20.0f; + choType = -1; + for(i=0; i<3; i++) { + if(choType < 0 && work->unkC4[i] > 0) { + choType = i; + } + } + if(choType < 0) { + work->unk98++; + work->unk64.x = 0; + } else { + lbl_1_bss_20++; + work->unkBC += lbl_1_data_326[choType]; + if(work->unkBC > 99) { + work->unkBC = 99; + } + work->unkC4[choType]--; + fn_1_892C(work->unkB0, choType, &work->unk4C); + HuAudFXPlay(1816); + espBankSet(work->unkD0[2], work->unkBC/10); + espBankSet(work->unkD0[3], work->unkBC%10); + work->unk64.z = 0; + } + } + break; + + case 2014: + work->unk64.x++; + if(30.0f == work->unk64.x) { + Hu3DModelAttrSet(object->model[2], 1); + work->unkE0 = Hu3DParManLink(lbl_1_bss_2C, &lbl_1_data_48C); + Hu3DParManPosSet(work->unkE0, work->unk4C.x, work->unk4C.y+20, work->unk4C.z); + Hu3DParManAttrReset(work->unkE0, 1); + Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(work->unkE0), 1); + Hu3DModelLayerSet(Hu3DParManModelIDGet(work->unkE0), 4); + HuAudFXPlay(1815); + } + if(40.0f == work->unk64.x) { + Hu3DParManAttrSet(work->unkE0, 1); + } + if(60.0f < work->unk64.x && work->unkC0 >= 0) { + work->unk98++; + if(work->unkC0 == 1) { + Hu3DMotionShiftSet(object->model[0], object->motion[9], 0, 20, 0); + } else { + Hu3DMotionShiftSet(object->model[0], object->motion[10], 0, 20, 0); + } + } + break; + + default: + OSReport("*** player mode error(%d)!!\n", work->unk98); + break; - switch (work->unk98) { - case 2000: - if (lbl_1_bss_4C->work[0] == 1002 && 90.0f < lbl_1_bss_28) { - work->unk98++; - work->unk64.x = 10.0f; - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DMotionShiftSet(object->model[0], object->motion[4], 0, 10, HU3D_MOTATTR_NONE); - Hu3DMotionSet(object->model[1], object->motion[11]); - HuAudFXEmiterPlay(1814, &work->unk4); - } - break; - - case 2001: - work->unk64.x--; - if (0.0f > work->unk64.x && Hu3DMotionEndCheck(object->model[0])) { - work->unk98++; - work->unk64.x = 10.0f; - Hu3DMotionShiftSet(object->model[0], object->motion[5], 0, 10, HU3D_MOTATTR_NONE); - Hu3DMotionSet(object->model[1], object->motion[11]); - HuAudFXEmiterPlay(1814, &work->unk4); - } - break; - - case 2002: - work->unk64.x--; - if (0.0f > work->unk64.x && Hu3DMotionEndCheck(object->model[0])) { - work->unk98++; - Hu3DMotionShiftSet(object->model[0], object->motion[1], 0, 10, HU3D_MOTATTR_LOOP); - } - break; - - case 2003: - if (lbl_1_bss_4C->work[0] >= 1004) { - work->unk98++; - object->func = fn_1_3C00; - } - break; - - case 2007: - work->unk64.x--; - if (0.0f > work->unk64.x && lbl_1_bss_4C->work[0] == 1006) { - work->unk98++; - work->unk64.x = 40; - Hu3DModelObjMtxGet(object->model[0], CharModelHookNameGet(work->unkB4, 2, 0), hookMtx); - Hu3DMtxTransGet(hookMtx, &work->unk28); - Hu3DMtxRotGet(hookMtx, &work->unk34); - Hu3DMtxScaleGet(hookMtx, &work->unk40); - Hu3DModelPosSet(object->model[1], work->unk28.x, work->unk28.y, work->unk28.z); - Hu3DModelRotSet(object->model[1], work->unk34.x, work->unk34.y, work->unk34.z); - Hu3DModelScaleSet(object->model[1], work->unk40.x, work->unk40.y, work->unk40.z); - Hu3DModelHookObjReset(object->model[0], CharModelHookNameGet(work->unkB4, 2, 0)); - } - break; - - case 2008: - work->unk28.y += 4; - work->unk34.x += 24.0f; - work->unk40.x *= 0.95f; - work->unk40.y *= 0.95f; - work->unk40.z *= 0.95f; - Hu3DModelPosSet(object->model[1], work->unk28.x, work->unk28.y, work->unk28.z); - Hu3DModelRotSet(object->model[1], work->unk34.x, work->unk34.y, work->unk34.z); - Hu3DModelScaleSet(object->model[1], work->unk40.x, work->unk40.y, work->unk40.z); - work->unk64.x--; - if (0.0f > work->unk64.x) { - float temp_f24; - work->unk98++; - work->unk64.x = 0; - temp_f24 = (work->unkB0 * 160.0f) - 240.0f; - work->unk1C.x = temp_f24; - work->unk1C.y = 0; - work->unk1C.z = 0; - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - work->unkE0 = Hu3DParManLink(lbl_1_bss_2C, &lbl_1_data_48C); - Hu3DParManPosSet(work->unkE0, work->unk28.x, work->unk28.y, work->unk28.z); - Hu3DParManAttrReset(work->unkE0, 1); - Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(work->unkE0), 1); - Hu3DModelLayerSet(Hu3DParManModelIDGet(work->unkE0), 4); - HuAudFXPlay(1815); - } - break; - - case 2009: - work->unk64.x++; - if (10.0f == work->unk64.x) { - Hu3DParManAttrSet(work->unkE0, 1); - } - work->unk10.x = 0; - work->unk10.y = 0; - work->unk10.z = 0; - work->unk10.x = work->unk1C.x - work->unk4.x; - work->unk10.z = work->unk1C.z - work->unk4.z; - if (10.0f < work->unk64.x && 0.0f == work->unk10.x && 0.0f == work->unk10.z && 0.0f == work->unk1C.z) { - work->unk98++; - work->unkA0 = 1; - } - else { - fn_1_2BD4(work, object, 1); - if (0.0f != work->unk1C.z) { - work->unk1C.z -= ((0.0f > work->unk1C.z) ? -1 : 1) * 5.0f; - } - } - break; - - case 2010: - work->unk58 = fn_1_1E20(work->unk58, 0.0f, 0.5f); - angle = fmod(-work->unk58, 360.0f); - if (-180.0f > angle) { - angle += 360.0f; - } - if (work->unkA0) { - if (8.0f > ABS(angle)) { - work->unkA0 = 0; - Hu3DModelPosSet(object->model[2], 0, 0, -10); - Hu3DMotionShiftSet(object->model[0], object->motion[6], 0, 4, HU3D_MOTATTR_LOOP); - } - } - if (lbl_1_bss_4C->work[0] == 1007) { - work->unk98++; - work->unk64.x = 10.0f; - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSet(object->model[0], object->motion[8], 0, 8, HU3D_MOTATTR_NONE); - work->unk64.y = -90; - fn_1_40A8InlineFunc(&pos3D, work->unk4.x, 250, work->unk4.z); - Hu3D3Dto2D(&pos3D, 1, &pos2D); - espTPLvlSet(work->unkD0[0], 0.5f); - espPosSet(work->unkD0[0], pos2D.x, pos2D.y); - espPosSet(work->unkD0[1], pos2D.x, pos2D.y); - espPosSet(work->unkD0[2], pos2D.x - 14, 10 + pos2D.y); - espPosSet(work->unkD0[3], (pos2D.x - 14) + 28, 10 + pos2D.y); - for (i = 0; i < 4; i++) { - espScaleSet(work->unkD0[i], 0.1f, 0.1f); - espBankSet(work->unkD0[i], 0); - espDispOn(work->unkD0[i]); - } - work->unkE0 = Hu3DParManLink(lbl_1_bss_34, &lbl_1_data_43C); - Hu3DParManPosSet(work->unkE0, pos3D.x, pos3D.y, pos3D.z); - } - break; - - case 2011: - work->unk64.y += 18.0f; - if (180.0f >= work->unk64.y) { - for (i = 0; i < 4; i++) { - espScaleSet(work->unkD0[i], sind(work->unk64.y) + 1, sind(work->unk64.y) + 1); - } - } - work->unk64.x--; - if (0.0f > work->unk64.x) { - float motTime = Hu3DMotionTimeGet(object->model[0]); - if (18.0f == motTime) { - Hu3DParManAttrSet(work->unkE0, 1); - Hu3DModelPosSet(object->model[2], 0, 0, 0); - Hu3DModelHookObjReset(object->model[0], CharModelHookNameGet(work->unkB4, 2, 4)); - Hu3DModelHookSet(object->model[0], CharModelHookNameGet(work->unkB4, 2, 0), object->model[2]); - } - if (40.0f == motTime) { - work->unk64.z = 0; - Hu3DModelHookObjReset(object->model[0], CharModelHookNameGet(work->unkB4, 2, 0)); - fn_1_1D18(object->model[0], CharModelHookNameGet(work->unkB4, 2, 0), &work->unk4C); - work->unk4C.z += 20.0f; - Hu3DModelPosSet(object->model[2], work->unk4C.x, work->unk4C.y, work->unk4C.z); - } - if (40.0f <= motTime) { - work->unk64.z++; - if (12.0f >= work->unk64.z) { - float scale = sind(150.0f * (work->unk64.z / 12.0f)) + 1.0; - Hu3DModelScaleSet(object->model[2], scale, scale, scale); - } - } - if (Hu3DMotionEndCheck(object->model[0])) { - work->unk98++; - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DMotionSet(object->model[0], object->motion[0]); - Hu3DMotionSet(object->model[2], object->motion[14]); - for (i = 0; i < 4; i++) { - espScaleSet(work->unkD0[i], 1.0f, 1.0f); - } - } - } - break; - - case 2012: - if (Hu3DMotionEndCheck(object->model[2])) { - work->unk98++; - work->unk64.x = 0; - } - break; - - case 2013: - work->unk64.x--; - if (0.0f > work->unk64.x) { - s32 choType; - work->unk64.x = (20.0f * frandf()) + 20.0f; - choType = -1; - for (i = 0; i < 3; i++) { - if (choType < 0 && work->unkC4[i] > 0) { - choType = i; - } - } - if (choType < 0) { - work->unk98++; - work->unk64.x = 0; - } - else { - lbl_1_bss_20++; - work->unkBC += lbl_1_data_326[choType]; - if (work->unkBC > 99) { - work->unkBC = 99; - } - work->unkC4[choType]--; - fn_1_892C(work->unkB0, choType, &work->unk4C); - HuAudFXPlay(1816); - espBankSet(work->unkD0[2], work->unkBC / 10); - espBankSet(work->unkD0[3], work->unkBC % 10); - work->unk64.z = 0; - } - } - break; - - case 2014: - work->unk64.x++; - if (30.0f == work->unk64.x) { - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - work->unkE0 = Hu3DParManLink(lbl_1_bss_2C, &lbl_1_data_48C); - Hu3DParManPosSet(work->unkE0, work->unk4C.x, work->unk4C.y + 20, work->unk4C.z); - Hu3DParManAttrReset(work->unkE0, 1); - Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(work->unkE0), 1); - Hu3DModelLayerSet(Hu3DParManModelIDGet(work->unkE0), 4); - HuAudFXPlay(1815); - } - if (40.0f == work->unk64.x) { - Hu3DParManAttrSet(work->unkE0, 1); - } - if (60.0f < work->unk64.x && work->unkC0 >= 0) { - work->unk98++; - if (work->unkC0 == 1) { - Hu3DMotionShiftSet(object->model[0], object->motion[9], 0, 20, HU3D_MOTATTR_NONE); - } - else { - Hu3DMotionShiftSet(object->model[0], object->motion[10], 0, 20, HU3D_MOTATTR_NONE); - } - } - break; - - default: - OSReport("*** player mode error(%d)!!\n", work->unk98); - break; - - case 2015: - break; - } - omSetTra(object, work->unk4.x, work->unk4.y, work->unk4.z); - omSetRot(object, 0, work->unk58, 0); + case 2015: + break; + } + omSetTra(object, work->unk4.x, work->unk4.y, work->unk4.z); + omSetRot(object, 0, work->unk58, 0); } void fn_1_53E8(omObjData *object) { - Work53E8 *work = object->data; - s32 i; - - work->unk0 = NULL; - work->unk88 = 10000; - work->unk8C = 0; - work->unk90 = 0; - work->unk94 = 0; - work->unk7C.x = 0; - work->unk7C.y = 0; - work->unk7C.z = 0; - work->unkB0 = object->work[0]; - work->unkB4 = GWPlayerCfg[work->unkB0].character; - work->unkB8 = GWPlayerCfg[work->unkB0].pad_idx; - work->unk98 = 2000; - work->unkBC = 0; - work->unkC0 = -1; - for (i = 0; i < 3; i++) { - work->unkC4[i] = 0; - } - work->unk9C = 1; - work->unk60 = 50; - work->unk4.x = lbl_1_data_2D4[work->unkB0][0]; - work->unk4.y = lbl_1_data_2D4[work->unkB0][1]; - work->unk4.z = lbl_1_data_2D4[work->unkB0][2]; - work->unk58 = lbl_1_data_2D4[work->unkB0][3]; - work->unk4C.x = 0; - work->unk4C.y = 0; - work->unk4C.z = 0; - object->model[0] = CharModelCreate(lbl_1_data_0[work->unkB4], 2); - CharModelStepTypeSet(lbl_1_data_0[work->unkB4], 0); - for (i = 0; i < 16; i++) { - object->motion[i] = CharModelMotionCreate(lbl_1_data_0[work->unkB4], lbl_1_data_B0[work->unkB4][i]); - CharModelMotionSet(lbl_1_data_0[work->unkB4], object->motion[i]); - } - CharModelMotionIndexSet(work->unkB4, object->motion[2], DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02)); - CharModelMotionIndexSet(work->unkB4, object->motion[7], DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02)); - CharModelMotionIndexSet(work->unkB4, object->motion[3], DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03)); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(object->model[0], 2); - Hu3DMotionSet(object->model[0], object->motion[1]); - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M441, 0x3F)); - for (i = 11; i <= 12; i++) { - object->motion[i] = Hu3DJointMotionFile(object->model[1], lbl_1_data_2B0[i - 11]); - } - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[1], HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(object->model[1], 2); - Hu3DModelHookSet(object->model[0], CharModelHookNameGet(work->unkB4, 2, 0), object->model[1]); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M441, 0x42)); - for (i = 13; i <= 15; i++) { - object->motion[i] = Hu3DJointMotionFile(object->model[2], lbl_1_data_2B8[i - 13]); - } - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[2], HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(object->model[2], 2); - Hu3DModelHookSet(object->model[0], CharModelHookNameGet(work->unkB4, 2, 4), object->model[2]); - for (i = 0; i < 4; i++) { - work->unkD0[i] = espEntry(lbl_1_data_2C4[i], 0, 0); - espDrawNoSet(work->unkD0[i], 0x40); - espDispOff(work->unkD0[i]); - espAttrSet(work->unkD0[i], HUSPR_ATTR_NOANIM); - espBankSet(work->unkD0[i], 0); - espPriSet(work->unkD0[i], 128 - i); - espPosSet(work->unkD0[i], 0, 0); - if (i == 0) { - espColorSet(work->unkD0[i], 0, 0, 0); - } - } - omSetTra(object, work->unk4.x, work->unk4.y, work->unk4.z); - omSetRot(object, 0, work->unk58, 0); - for (i = 0; i < 3; i++) { - Hu3DModelShadowSet(object->model[i]); - } - for (i = 0; i < 3; i++) { - Hu3DModelAttrReset(object->model[i], HU3D_ATTR_DISPOFF); - } - if (GWPlayerCfg[work->unkB0].iscom) { - switch (GWPlayerCfg[work->unkB0].diff) { - case 0: - work->unk0 = lbl_1_data_36C; - break; - - case 1: - work->unk0 = lbl_1_data_378; - break; - - case 2: - work->unk0 = lbl_1_data_384; - break; - - case 3: - default: - work->unk0 = lbl_1_data_390; - break; - } - } - CharModelLayerSetAll2(6); - CharModelMotionDataClose(lbl_1_data_0[work->unkB4]); - object->func = fn_1_40A8; + Work53E8 *work = object->data; + s32 i; + + work->unk0 = NULL; + work->unk88 = 10000; + work->unk8C = 0; + work->unk90 = 0; + work->unk94 = 0; + work->unk7C.x = 0; + work->unk7C.y = 0; + work->unk7C.z = 0; + work->unkB0 = object->work[0]; + work->unkB4 = GWPlayerCfg[work->unkB0].character; + work->unkB8 = GWPlayerCfg[work->unkB0].pad_idx; + work->unk98 = 2000; + work->unkBC = 0; + work->unkC0 = -1; + for(i=0; i<3; i++) { + work->unkC4[i] = 0; + } + work->unk9C = 1; + work->unk60 = 50; + work->unk4.x = lbl_1_data_2D4[work->unkB0][0]; + work->unk4.y = lbl_1_data_2D4[work->unkB0][1]; + work->unk4.z = lbl_1_data_2D4[work->unkB0][2]; + work->unk58 = lbl_1_data_2D4[work->unkB0][3]; + work->unk4C.x = 0; + work->unk4C.y = 0; + work->unk4C.z = 0; + object->model[0] = CharModelCreate(lbl_1_data_0[work->unkB4], 2); + CharModelStepTypeSet(lbl_1_data_0[work->unkB4], 0); + for(i=0; i<16; i++) { + object->motion[i] = CharModelMotionCreate(lbl_1_data_0[work->unkB4], lbl_1_data_B0[work->unkB4][i]); + CharModelMotionSet(lbl_1_data_0[work->unkB4], object->motion[i]); + } + CharModelMotionIndexSet(work->unkB4, object->motion[2], 0x5F0002); + CharModelMotionIndexSet(work->unkB4, object->motion[7], 0x5F0002); + CharModelMotionIndexSet(work->unkB4, object->motion[3], 0x5F0003); + Hu3DModelAttrSet(object->model[0], 1); + Hu3DModelAttrSet(object->model[0], 0x40000001); + Hu3DModelLayerSet(object->model[0], 2); + Hu3DMotionSet(object->model[0], object->motion[1]); + object->model[1] = Hu3DModelCreateFile(0x48003F); + for(i=11; i<=12; i++) { + object->motion[i] = Hu3DJointMotionFile(object->model[1], lbl_1_data_2B0[i-11]); + } + Hu3DModelAttrSet(object->model[1], 1); + Hu3DModelAttrReset(object->model[1], 0x40000001); + Hu3DModelLayerSet(object->model[1], 2); + Hu3DModelHookSet(object->model[0], CharModelHookNameGet(work->unkB4, 2, 0), object->model[1]); + object->model[2] = Hu3DModelCreateFile(0x480042); + for(i=13; i<=15; i++) { + object->motion[i] = Hu3DJointMotionFile(object->model[2], lbl_1_data_2B8[i-13]); + } + Hu3DModelAttrSet(object->model[2], 1); + Hu3DModelAttrReset(object->model[2], 0x40000001); + Hu3DModelLayerSet(object->model[2], 2); + Hu3DModelHookSet(object->model[0], CharModelHookNameGet(work->unkB4, 2, 4), object->model[2]); + for(i=0; i<4; i++) { + work->unkD0[i] = espEntry(lbl_1_data_2C4[i], 0, 0); + espDrawNoSet(work->unkD0[i], 0x40); + espDispOff(work->unkD0[i]); + espAttrSet(work->unkD0[i], HUSPR_ATTR_NOANIM); + espBankSet(work->unkD0[i], 0); + espPriSet(work->unkD0[i], 128-i); + espPosSet(work->unkD0[i], 0, 0); + if(i == 0) { + espColorSet(work->unkD0[i], 0, 0, 0); + } + } + omSetTra(object, work->unk4.x, work->unk4.y, work->unk4.z); + omSetRot(object, 0, work->unk58, 0); + for(i=0; i<3; i++) { + Hu3DModelShadowSet(object->model[i]); + } + for(i=0; i<3; i++) { + Hu3DModelAttrReset(object->model[i], 1); + } + if(GWPlayerCfg[work->unkB0].iscom) { + switch(GWPlayerCfg[work->unkB0].diff) { + case 0: + work->unk0 = lbl_1_data_36C; + break; + + case 1: + work->unk0 = lbl_1_data_378; + break; + + case 2: + work->unk0 = lbl_1_data_384; + break; + + case 3: + default: + work->unk0 = lbl_1_data_390; + break; + } + } + CharModelLayerSetAll2(6); + CharModelMotionDataClose(lbl_1_data_0[work->unkB4]); + object->func = fn_1_40A8; } typedef struct work_713C { - Vec unk0; - Vec unkC; - Vec unk18; - Vec unk24; - s16 unk30; - s32 unk34; - s32 unk38; + Vec unk0; + Vec unkC; + Vec unk18; + Vec unk24; + s16 unk30; + s32 unk34; + s32 unk38; } Work713C; void fn_1_5B2C(omObjData *object) { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - fn_1_24(object->work[0] + 4096, object->model[0]); - lbl_1_bss_18[object->work[0]]--; - Hu3DParManKill(((Work713C *)object->data)->unk30); - omDelObjEx(lbl_1_bss_1DC, object); + Hu3DModelAttrSet(object->model[0], 1); + fn_1_24(object->work[0]+4096, object->model[0]); + lbl_1_bss_18[object->work[0]]--; + Hu3DParManKill(((Work713C *)object->data)->unk30); + omDelObjEx(lbl_1_bss_1DC, object); } void fn_1_74F4(s32 arg0); void fn_1_5C04(omObjData *object) { - Work713C *temp_r31; - Work53E8 *temp_r29; - omObjData *temp_r28; - float *temp_r24; - - s32 temp_r23; - s32 temp_r22; - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f23; - float sp78; - temp_r31 = object->data; - if (lbl_1_bss_4C->work[0] < 1002) { - return; - } - if (temp_r31->unk38) { - if (lbl_1_bss_4C->work[0] >= 1006) { - fn_1_5B2C(object); - } - else { - temp_r31->unk24.z--; - if (20.0f == temp_r31->unk24.z) { - Hu3DParManAttrSet(temp_r31->unk30, 1); - } - if (0.0f > temp_r31->unk24.z) { - fn_1_5B2C(object); - fn_1_74F4(1); - } - } - return; - } - else { - if (lbl_1_bss_4C->work[0] >= 1006) { - temp_r31->unk18.y += 0.1f; - temp_r31->unk18.x = fn_1_1E20(temp_r31->unk18.x, (180.0f > temp_r31->unk18.x) ? 90.0f : 270.0f, 0.05f); - temp_r31->unk0.x += temp_r31->unk18.y * sind(temp_r31->unk18.x); - temp_r31->unk0.z += temp_r31->unk18.y * cosd(temp_r31->unk18.x); - if (1200.0f < ABS(temp_r31->unk0.x)) { - fn_1_5B2C(object); - return; - } - } - else { - if (temp_r31->unk34) { - temp_f31 = -temp_r31->unk0.x; - temp_f30 = -temp_r31->unk0.z; - temp_r31->unk18.x = fn_1_1E20(temp_r31->unk18.x, atan2d(temp_f31, temp_f30), 0.05f); - temp_r31->unk0.x += temp_r31->unk18.y * sind(temp_r31->unk18.x); - temp_r31->unk0.z += temp_r31->unk18.y * cosd(temp_r31->unk18.x); - temp_f31 = -temp_r31->unk0.x; - temp_f30 = -temp_r31->unk0.z; - temp_f23 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - if (600.0f >= temp_f23) { - temp_r31->unk34 = 0; - } - } - else { - temp_r31->unk18.x += ((frandf() * 2.0f) - 1.0f) * 3.0f; - temp_r31->unk18.y += ((frandf() * 2.0f) - 1.0f) * 0.1f; - temp_r24 = &lbl_1_data_350[object->work[0]][0]; - if (temp_r24[0] > temp_r31->unk18.y) { - temp_r31->unk18.y = temp_r24[0]; - } - if (temp_r24[1] < temp_r31->unk18.y) { - temp_r31->unk18.y = temp_r24[1]; - } - temp_r31->unk0.x += temp_r31->unk18.y * sind(temp_r31->unk18.x); - temp_r31->unk0.z += temp_r31->unk18.y * cosd(temp_r31->unk18.x); - temp_f31 = -temp_r31->unk0.x; - temp_f30 = -temp_r31->unk0.z; - temp_f23 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)); - if (600.0f < temp_f23) { - temp_r31->unk18.x = fn_1_1E20(temp_r31->unk18.x, atan2d(temp_f31, temp_f30), 0.05f); - } - } - } - temp_f23 = ABS(temp_r31->unk24.y - temp_r31->unk0.y); - if (2.0f > temp_f23) { - temp_r31->unk24.x--; - if (0.0f > temp_r31->unk24.x) { - temp_r31->unk24.x = 1.0f * REFRESH_RATE; - if (frandmod(100) > 50) { - temp_r31->unk24.y = (frandf() * 220.0f) + 80.0f; - } - } - } - else { - temp_r31->unk0.y += (temp_r31->unk24.y > temp_r31->unk0.y) ? 1.0f : -1.0f; - } - temp_r31->unk18.z += (frandf() * 4.0f) + 4.0f; - omSetTra(object, temp_r31->unk0.x, (sind(temp_r31->unk18.z) * 10.0) + temp_r31->unk0.y, temp_r31->unk0.z); - omSetRot(object, 0, temp_r31->unk18.x + 180.0f, 0); - if (temp_r31->unk30 >= 0) { - temp_f31 = sind(temp_r31->unk18.x + 180.0f) * 30; - temp_f30 = cosd(temp_r31->unk18.x + 180.0f) * 30; - Hu3DParManPosSet(temp_r31->unk30, temp_r31->unk0.x + temp_f31, temp_r31->unk0.y, temp_r31->unk0.z + temp_f30); - Hu3DParManVecSet( - temp_r31->unk30, temp_r31->unk18.y * sind(temp_r31->unk18.x + 180.0f), 0, temp_r31->unk18.y * cosd(temp_r31->unk18.x + 180.0f)); - } - temp_r22 = -1; - for (temp_r23 = 0; temp_r23 < 4; temp_r23++) { - temp_r29 = lbl_1_bss_48[temp_r23]->data; - if (600.0f > VECMagXZ(&temp_r31->unk0)) { - temp_f31 = temp_r29->unk4.x - temp_r31->unk0.x; - temp_f30 = temp_r29->unk4.z - temp_r31->unk0.z; - temp_f23 = sqrtf((temp_f31 * temp_f31) + (temp_f30 * temp_f30)) - 170; - if (0.0f < temp_f23 && temp_r29->unk88 > temp_f23) { - temp_r29->unk88 = temp_f23; - temp_r29->unk7C = temp_r31->unk0; - } - } - if (temp_r29->unk98 == 2005) { - temp_f31 = temp_r29->unk28.x - temp_r31->unk0.x; - temp_f29 = temp_r29->unk28.y - temp_r31->unk0.y; - temp_f30 = temp_r29->unk28.z - temp_r31->unk0.z; - temp_f23 = VECMagPoint(temp_f31, temp_f29, temp_f30); - if (60.0f > temp_f23) { - if (temp_r22 < 0) { - temp_r22 = temp_r23; - } - else if (frandmod(100) > 50) { - temp_r22 = temp_r23; - } - } - } - } - if (temp_r22 >= 0) { - temp_r31->unk38 = 1; - temp_r31->unk24.z = 30; - Hu3DParManKill(temp_r31->unk30); - temp_r31->unk30 = Hu3DParManLink(lbl_1_bss_34, &lbl_1_data_3EC); - Hu3DParManPosSet(temp_r31->unk30, temp_r31->unk0.x, temp_r31->unk0.y, temp_r31->unk0.z); - Hu3DParManColorSet(temp_r31->unk30, object->work[0]); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - temp_r28 = lbl_1_bss_48[temp_r22]; - temp_r29 = temp_r28->data; - temp_r29->unkC4[object->work[0]]++; - temp_r29->unk90 += lbl_1_data_326[object->work[0]]; - sp78 = Hu3DMotionTimeGet(temp_r28->model[1]); - Hu3DMotionSet(temp_r28->model[1], temp_r28->motion[12]); - Hu3DMotionTimeSet(temp_r28->model[1], sp78); - Hu3DMotionSet(temp_r28->model[2], temp_r28->motion[13]); - omVibrate(temp_r29->unkB0, 12, 6, 6); - HuAudFXEmiterPlay(1813, &temp_r31->unk0); - } - } + Work713C *temp_r31; + Work53E8 *temp_r29; + omObjData *temp_r28; + float *temp_r24; + + s32 temp_r23; + s32 temp_r22; + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f23; + float sp78; + temp_r31 = object->data; + if(lbl_1_bss_4C->work[0] < 1002) { + return; + } + if(temp_r31->unk38) { + if(lbl_1_bss_4C->work[0] >= 1006) { + fn_1_5B2C(object); + } else { + temp_r31->unk24.z--; + if(20.0f == temp_r31->unk24.z) { + Hu3DParManAttrSet(temp_r31->unk30, 1); + } + if(0.0f > temp_r31->unk24.z) { + fn_1_5B2C(object); + fn_1_74F4(1); + } + } + return; + } else { + if(lbl_1_bss_4C->work[0] >= 1006) { + temp_r31->unk18.y += 0.1f; + temp_r31->unk18.x = fn_1_1E20(temp_r31->unk18.x, (180.0f > temp_r31->unk18.x) ? 90.0f : 270.0f, 0.05f); + temp_r31->unk0.x += temp_r31->unk18.y*sind(temp_r31->unk18.x); + temp_r31->unk0.z += temp_r31->unk18.y*cosd(temp_r31->unk18.x); + if(1200.0f < ABS(temp_r31->unk0.x)) { + fn_1_5B2C(object); + return; + } + } else { + if(temp_r31->unk34) { + temp_f31 = -temp_r31->unk0.x; + temp_f30 = -temp_r31->unk0.z; + temp_r31->unk18.x = fn_1_1E20(temp_r31->unk18.x, atan2d(temp_f31, temp_f30), 0.05f); + temp_r31->unk0.x += temp_r31->unk18.y*sind(temp_r31->unk18.x); + temp_r31->unk0.z += temp_r31->unk18.y*cosd(temp_r31->unk18.x); + temp_f31 = -temp_r31->unk0.x; + temp_f30 = -temp_r31->unk0.z; + temp_f23 = sqrtf((temp_f31*temp_f31)+(temp_f30*temp_f30)); + if(600.0f >= temp_f23) { + temp_r31->unk34 = 0; + } + } else { + temp_r31->unk18.x += ((frandf()*2.0f)-1.0f)*3.0f; + temp_r31->unk18.y += ((frandf()*2.0f)-1.0f)*0.1f; + temp_r24 = &lbl_1_data_350[object->work[0]][0]; + if(temp_r24[0] > temp_r31->unk18.y) { + temp_r31->unk18.y = temp_r24[0]; + } + if(temp_r24[1] < temp_r31->unk18.y) { + temp_r31->unk18.y = temp_r24[1]; + } + temp_r31->unk0.x += temp_r31->unk18.y*sind(temp_r31->unk18.x); + temp_r31->unk0.z += temp_r31->unk18.y*cosd(temp_r31->unk18.x); + temp_f31 = -temp_r31->unk0.x; + temp_f30 = -temp_r31->unk0.z; + temp_f23 = sqrtf((temp_f31*temp_f31)+(temp_f30*temp_f30)); + if(600.0f < temp_f23) { + temp_r31->unk18.x = fn_1_1E20(temp_r31->unk18.x, atan2d(temp_f31, temp_f30), 0.05f); + } + } + } + temp_f23 = ABS(temp_r31->unk24.y-temp_r31->unk0.y); + if(2.0f > temp_f23) { + temp_r31->unk24.x--; + if(0.0f > temp_r31->unk24.x) { + temp_r31->unk24.x = 60.0f; + if(frandmod(100) > 50) { + temp_r31->unk24.y = (frandf()*220.0f)+80.0f; + } + } + } else { + temp_r31->unk0.y += (temp_r31->unk24.y > temp_r31->unk0.y) ? 1.0f : -1.0f; + } + temp_r31->unk18.z += (frandf()*4.0f)+4.0f; + omSetTra(object, temp_r31->unk0.x, (sind(temp_r31->unk18.z)*10.0)+temp_r31->unk0.y, temp_r31->unk0.z); + omSetRot(object, 0, temp_r31->unk18.x+180.0f, 0); + if(temp_r31->unk30 >= 0) { + temp_f31 = sind(temp_r31->unk18.x+180.0f)*30; + temp_f30 = cosd(temp_r31->unk18.x+180.0f)*30; + Hu3DParManPosSet(temp_r31->unk30, temp_r31->unk0.x+temp_f31, temp_r31->unk0.y, temp_r31->unk0.z+temp_f30); + Hu3DParManVecSet(temp_r31->unk30, temp_r31->unk18.y*sind(temp_r31->unk18.x+180.0f), 0, temp_r31->unk18.y*cosd(temp_r31->unk18.x+180.0f)); + } + temp_r22 = -1; + for(temp_r23=0; temp_r23<4; temp_r23++) { + temp_r29 = lbl_1_bss_48[temp_r23]->data; + if(600.0f > VECMagXZ(&temp_r31->unk0)) { + temp_f31 = temp_r29->unk4.x-temp_r31->unk0.x; + temp_f30 = temp_r29->unk4.z-temp_r31->unk0.z; + temp_f23 = sqrtf((temp_f31*temp_f31)+(temp_f30*temp_f30))-170; + if(0.0f < temp_f23 && temp_r29->unk88 > temp_f23) { + temp_r29->unk88 = temp_f23; + temp_r29->unk7C = temp_r31->unk0; + } + } + if(temp_r29->unk98 == 2005) { + temp_f31 = temp_r29->unk28.x-temp_r31->unk0.x; + temp_f29 = temp_r29->unk28.y-temp_r31->unk0.y; + temp_f30 = temp_r29->unk28.z-temp_r31->unk0.z; + temp_f23 = VECMagPoint(temp_f31, temp_f29, temp_f30); + if(60.0f > temp_f23) { + if(temp_r22 < 0) { + temp_r22 = temp_r23; + } else if(frandmod(100) > 50) { + temp_r22 = temp_r23; + } + } + } + } + if(temp_r22 >= 0) { + temp_r31->unk38 = 1; + temp_r31->unk24.z = 30; + Hu3DParManKill(temp_r31->unk30); + temp_r31->unk30 = Hu3DParManLink(lbl_1_bss_34, &lbl_1_data_3EC); + Hu3DParManPosSet(temp_r31->unk30, temp_r31->unk0.x, temp_r31->unk0.y, temp_r31->unk0.z); + Hu3DParManColorSet(temp_r31->unk30, object->work[0]); + Hu3DModelAttrSet(object->model[0], 1); + temp_r28 = lbl_1_bss_48[temp_r22]; + temp_r29 = temp_r28->data; + temp_r29->unkC4[object->work[0]]++; + temp_r29->unk90 += lbl_1_data_326[object->work[0]]; + sp78 = Hu3DMotionTimeGet(temp_r28->model[1]); + Hu3DMotionSet(temp_r28->model[1], temp_r28->motion[12]); + Hu3DMotionTimeSet(temp_r28->model[1], sp78); + Hu3DMotionSet(temp_r28->model[2], temp_r28->motion[13]); + omVibrate(temp_r29->unkB0, 12, 6, 6); + HuAudFXEmiterPlay(1813, &temp_r31->unk0); + } + } } void fn_1_713C(omObjData *object) { - Work713C *work = object->data; - s16 mdlId = fn_1_AC(object->work[0] + 4096); - Vec *scale; - if (mdlId < 0) { - object->model[0] = Hu3DModelLink(lbl_1_bss_12[object->work[0]]); - } - else { - object->model[0] = mdlId; - } - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(object->model[0], 3); - Hu3DModelShadowSet(object->model[0]); - scale = &lbl_1_data_32C[object->work[0]]; - omSetTra(object, work->unk0.x, work->unk0.y, work->unk0.z); - omSetRot(object, 0, work->unk18.x + 180, 0); - omSetSca(object, scale->x, scale->y, scale->z); - work->unk30 = Hu3DParManLink(lbl_1_bss_34, &lbl_1_data_39C); - if (work->unk30 >= 0) { - float x = sind(work->unk18.x + 180) * 30.0; - float y = cosd(work->unk18.x + 180) * 30.0; - Hu3DParManPosSet(work->unk30, work->unk0.x + x, work->unk0.y, work->unk0.z + y); - Hu3DParManVecSet(work->unk30, work->unk18.y * sind(work->unk18.x + 180.0f), 0, work->unk18.y * cosd(work->unk18.x + 180.0f)); - Hu3DParManAttrSet(work->unk30, 0x804); - Hu3DParManAttrReset(work->unk30, 1); - Hu3DParManColorSet(work->unk30, object->work[0]); - Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(work->unk30), 1); - Hu3DModelLayerSet(Hu3DParManModelIDGet(work->unk30), 4); - } - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - object->func = fn_1_5C04; + Work713C *work = object->data; + s16 mdlId = fn_1_AC(object->work[0]+4096); + Vec *scale; + if(mdlId < 0) { + object->model[0] = Hu3DModelLink(lbl_1_bss_12[object->work[0]]); + } else { + object->model[0] = mdlId; + } + Hu3DModelAttrSet(object->model[0], 1); + Hu3DModelAttrSet(object->model[0], 0x40000003); + Hu3DModelLayerSet(object->model[0], 3); + Hu3DModelShadowSet(object->model[0]); + scale = &lbl_1_data_32C[object->work[0]]; + omSetTra(object, work->unk0.x, work->unk0.y, work->unk0.z); + omSetRot(object, 0, work->unk18.x+180, 0); + omSetSca(object, scale->x, scale->y, scale->z); + work->unk30 = Hu3DParManLink(lbl_1_bss_34, &lbl_1_data_39C); + if(work->unk30 >= 0) { + float x = sind(work->unk18.x+180)*30.0; + float y = cosd(work->unk18.x+180)*30.0; + Hu3DParManPosSet(work->unk30, work->unk0.x+x, work->unk0.y, work->unk0.z+y); + Hu3DParManVecSet(work->unk30, work->unk18.y*sind(work->unk18.x+180.0f), 0, work->unk18.y*cosd(work->unk18.x+180.0f)); + Hu3DParManAttrSet(work->unk30, 0x804); + Hu3DParManAttrReset(work->unk30, 1); + Hu3DParManColorSet(work->unk30, object->work[0]); + Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(work->unk30), 1); + Hu3DModelLayerSet(Hu3DParManModelIDGet(work->unk30), 4); + + } + Hu3DModelAttrReset(object->model[0], 0x40000002); + Hu3DModelAttrReset(object->model[0], 1); + object->func = fn_1_5C04; } void fn_1_74F4(s32 arg0) { - s16 no = -1; - s16 i; - omObjData *object; - Work713C *work; - float radius; - for (i = 0; i < 3; i++) { - if (lbl_1_data_320[i] > lbl_1_bss_18[i]) { - no = i; - } - } - if (no < 0) { - return; - } - lbl_1_bss_18[no]++; - object = omAddObjEx(lbl_1_bss_1DC, 101, 1, 0, 1, fn_1_713C); - object->work[0] = no; - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work713C), MEMORY_DEFAULT_NUM); - work = object->data; - work->unk34 = arg0; - work->unk18.z = 0; - work->unk38 = 0; - work->unk18.y = 2; - work->unk24.x = (frandf() * (3.0f * REFRESH_RATE)) + (3.0f * REFRESH_RATE); - if (arg0) { - work->unk18.y = 3; - work->unk18.x = 180.0f - (frandf() * 120.0f); - if (frandmod(100) > 50) { - work->unk18.x = 360.0f - work->unk18.x; - } - radius = 1200; - work->unk0.x = radius * sind(work->unk18.x + 180.0f); - work->unk0.y = (frandf() * 220.0f) + 80.0f; - work->unk0.z = radius * cosd(work->unk18.x + 180.0f); - } - else { - if (lbl_1_bss_C) { - lbl_1_bss_C = 0; - work->unk18.x = 45.0f + (frandf() * 90.0f); - if (frandmod(100) > 50) { - work->unk18.x += 180.0f; - } - work->unk0.x = 0; - work->unk0.y = 80; - work->unk0.z = 0; - } - else { - repeat: - radius = 300; - radius += radius * frandf(); - work->unk18.x = 360.0f * frandf(); - work->unk0.x = radius * sind(work->unk18.x); - work->unk0.y = (frandf() * 220.0f) + 80.0f; - work->unk0.z = radius * cosd(work->unk18.x); - if (0.0f < work->unk0.y) { - if (150.0f > ABS(work->unk0.x)) { - goto repeat; - } - } - } - } - work->unk24.y = work->unk0.y; + s16 no = -1; + s16 i; + omObjData *object; + Work713C *work; + float radius; + for(i=0; i<3; i++) { + if(lbl_1_data_320[i] > lbl_1_bss_18[i]) { + no = i; + } + } + if(no < 0) { + return; + } + lbl_1_bss_18[no]++; + object = omAddObjEx(lbl_1_bss_1DC, 101, 1, 0, 1, fn_1_713C); + object->work[0] = no; + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work713C), MEMORY_DEFAULT_NUM); + work = object->data; + work->unk34 = arg0; + work->unk18.z = 0; + work->unk38 = 0; + work->unk18.y = 2; + work->unk24.x = (frandf()*180.0f)+180.0f; + if(arg0) { + work->unk18.y = 3; + work->unk18.x = 180.0f-(frandf()*120.0f); + if(frandmod(100) > 50) { + work->unk18.x = 360.0f-work->unk18.x; + } + radius = 1200; + work->unk0.x = radius*sind(work->unk18.x+180.0f); + work->unk0.y = (frandf()*220.0f)+80.0f; + work->unk0.z = radius*cosd(work->unk18.x+180.0f); + } else { + if(lbl_1_bss_C) { + lbl_1_bss_C = 0; + work->unk18.x = 45.0f+(frandf()*90.0f); + if(frandmod(100) > 50) { + work->unk18.x += 180.0f; + } + work->unk0.x = 0; + work->unk0.y = 80; + work->unk0.z = 0; + } else { + repeat: + radius = 300; + radius += radius*frandf(); + work->unk18.x = 360.0f*frandf(); + work->unk0.x = radius*sind(work->unk18.x); + work->unk0.y = (frandf()*220.0f)+80.0f; + work->unk0.z = radius*cosd(work->unk18.x); + if(0.0f < work->unk0.y) { + if(150.0f > ABS(work->unk0.x)) { + goto repeat; + } + } + } + } + work->unk24.y = work->unk0.y; } void fn_1_7958(omObjData *object) { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - fn_1_24(object->work[0] + 4096, object->model[0]); - Hu3DParManKill(((Work713C *)object->data)->unk30); - omDelObjEx(lbl_1_bss_1DC, object); - lbl_1_bss_1E--; + Hu3DModelAttrSet(object->model[0], 1); + fn_1_24(object->work[0]+4096, object->model[0]); + Hu3DParManKill(((Work713C *)object->data)->unk30); + omDelObjEx(lbl_1_bss_1DC, object); + lbl_1_bss_1E--; } void fn_1_7A2C(omObjData *object) { - Work713C *work = object->data; - float x = work->unkC.x - work->unk0.x; - float y = work->unkC.y - work->unk0.y; - float len = sqrtf((x * x) + (y * y)); - if (10.0f > len) { - work->unk18.y--; - if (0.0f > work->unk18.y) { - work->unk18.y = 0; - } - work->unk18.x = fn_1_1E20(work->unk18.x, 0.0f, 0.05f); - } - else { - work->unk18.y += 0.1f; - if (3.0f < work->unk18.y) { - work->unk18.y = 3.0f; - } - work->unk18.x = fn_1_1E20(work->unk18.x, atan2d(-x, y), 0.05f); - } - work->unk0.x -= work->unk18.y * sind(work->unk18.x); - work->unk0.y += work->unk18.y * cosd(work->unk18.x); - omSetTra(object, work->unk0.x, work->unk0.y, work->unk0.z); - omSetRot(object, 90, 0, work->unk18.x); - if (work->unk30 >= 0) { - Hu3DParManPosSet(work->unk30, work->unk0.x, work->unk0.y, work->unk0.z); - Hu3DParManVecSet(work->unk30, -2 * sind(work->unk18.x + 180.0f), 2 * cosd(work->unk18.x + 180.0f), 0); - } + Work713C *work = object->data; + float x = work->unkC.x-work->unk0.x; + float y = work->unkC.y-work->unk0.y; + float len = sqrtf((x*x)+(y*y)); + if(10.0f > len) { + work->unk18.y--; + if(0.0f > work->unk18.y) { + work->unk18.y = 0; + } + work->unk18.x = fn_1_1E20(work->unk18.x, 0.0f, 0.05f); + } else { + work->unk18.y += 0.1f; + if(3.0f < work->unk18.y) { + work->unk18.y = 3.0f; + } + work->unk18.x = fn_1_1E20(work->unk18.x, atan2d(-x, y), 0.05f); + } + work->unk0.x -= work->unk18.y*sind(work->unk18.x); + work->unk0.y += work->unk18.y*cosd(work->unk18.x); + omSetTra(object, work->unk0.x, work->unk0.y, work->unk0.z); + omSetRot(object, 90, 0, work->unk18.x); + if(work->unk30 >= 0) { + Hu3DParManPosSet(work->unk30, work->unk0.x, work->unk0.y, work->unk0.z); + Hu3DParManVecSet(work->unk30, -2*sind(work->unk18.x+180.0f), 2*cosd(work->unk18.x+180.0f), 0); + } } void fn_1_803C(omObjData *object) { - Work713C *work = object->data; - float x; - float y; - work->unk18.y -= 0.1f; - if (2.0f > work->unk18.y) { - work->unk18.y = 2.0f; - if (work->unkC.y > work->unk0.y) { - x = work->unkC.x - work->unk0.x; - y = work->unkC.y - work->unk0.y; - work->unk18.x = fn_1_1E20(work->unk18.x, atan2d(-x, y), 0.05f); - } - } - - work->unk0.x -= work->unk18.y * sind(work->unk18.x); - work->unk0.y += work->unk18.y * cosd(work->unk18.x); - omSetTra(object, work->unk0.x, work->unk0.y, work->unk0.z); - omSetRot(object, 90, 0, work->unk18.x); - if (work->unk30 >= 0) { - x = sind(work->unk18.x + 180) * -20.0; - y = cosd(work->unk18.x + 180) * 20.0; - Hu3DParManPosSet(work->unk30, work->unk0.x + x, work->unk0.y + y, work->unk0.z); - Hu3DParManVecSet(work->unk30, -work->unk18.y * sind(work->unk18.x + 180.0f), work->unk18.y * cosd(work->unk18.x + 180.0f), 0); - } - if (450.0f < work->unk0.y) { - fn_1_7958(object); - } + Work713C *work = object->data; + float x; + float y; + work->unk18.y -= 0.1f; + if(2.0f > work->unk18.y) { + work->unk18.y = 2.0f; + if(work->unkC.y > work->unk0.y) { + x = work->unkC.x-work->unk0.x; + y = work->unkC.y-work->unk0.y; + work->unk18.x = fn_1_1E20(work->unk18.x, atan2d(-x, y), 0.05f); + } + } + + work->unk0.x -= work->unk18.y*sind(work->unk18.x); + work->unk0.y += work->unk18.y*cosd(work->unk18.x); + omSetTra(object, work->unk0.x, work->unk0.y, work->unk0.z); + omSetRot(object, 90, 0, work->unk18.x); + if(work->unk30 >= 0) { + x = sind(work->unk18.x+180)*-20.0; + y = cosd(work->unk18.x+180)*20.0; + Hu3DParManPosSet(work->unk30, work->unk0.x+x, work->unk0.y+y, work->unk0.z); + Hu3DParManVecSet(work->unk30, -work->unk18.y*sind(work->unk18.x+180.0f), work->unk18.y*cosd(work->unk18.x+180.0f), 0); + } + if(450.0f < work->unk0.y) { + fn_1_7958(object); + } } void fn_1_8518(omObjData *object) { - Work713C *work; - s16 mdlId = fn_1_AC(object->work[0] + 4096); - Vec *scale; - if (mdlId < 0) { - object->model[0] = Hu3DModelLink(lbl_1_bss_12[object->work[0]]); - } - else { - object->model[0] = mdlId; - } - work = object->data; - work->unk18.y = 6.0f; - work->unk18.x = (frandf() * 60.0f) - 30.0f; - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(object->model[0], 3); - Hu3DModelShadowSet(object->model[0]); - scale = &lbl_1_data_32C[object->work[0]]; - omSetTra(object, work->unk0.x, work->unk0.y, work->unk0.z); - omSetRot(object, 90, 0, work->unk18.x); - omSetSca(object, scale->x * 0.5f, scale->y * 0.5f, scale->z * 0.5f); - work->unk30 = Hu3DParManLink(lbl_1_bss_34, &lbl_1_data_39C); - if (work->unk30 >= 0) { - float x = sind(work->unk18.x + 180) * -20.0; - float y = cosd(work->unk18.x + 180) * 20.0; - Hu3DParManPosSet(work->unk30, work->unk0.x + x, work->unk0.y + y, work->unk0.z); - Hu3DParManVecSet(work->unk30, -work->unk18.y * sind(work->unk18.x + 180.0f), work->unk18.y * cosd(work->unk18.x + 180.0f), 0); - Hu3DParManAttrSet(work->unk30, 0x804); - Hu3DParManAttrReset(work->unk30, 1); - Hu3DParManColorSet(work->unk30, object->work[0]); - Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(work->unk30), 1); - Hu3DModelLayerSet(Hu3DParManModelIDGet(work->unk30), 4); - } - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - object->func = fn_1_803C; + Work713C *work; + s16 mdlId = fn_1_AC(object->work[0]+4096); + Vec *scale; + if(mdlId < 0) { + object->model[0] = Hu3DModelLink(lbl_1_bss_12[object->work[0]]); + } else { + object->model[0] = mdlId; + } + work = object->data; + work->unk18.y = 6.0f; + work->unk18.x = (frandf()*60.0f)-30.0f; + Hu3DModelAttrSet(object->model[0], 1); + Hu3DModelAttrSet(object->model[0], 0x40000003); + Hu3DModelLayerSet(object->model[0], 3); + Hu3DModelShadowSet(object->model[0]); + scale = &lbl_1_data_32C[object->work[0]]; + omSetTra(object, work->unk0.x, work->unk0.y, work->unk0.z); + omSetRot(object, 90, 0, work->unk18.x); + omSetSca(object, scale->x*0.5f, scale->y*0.5f, scale->z*0.5f); + work->unk30 = Hu3DParManLink(lbl_1_bss_34, &lbl_1_data_39C); + if(work->unk30 >= 0) { + float x = sind(work->unk18.x+180)*-20.0; + float y = cosd(work->unk18.x+180)*20.0; + Hu3DParManPosSet(work->unk30, work->unk0.x+x, work->unk0.y+y, work->unk0.z); + Hu3DParManVecSet(work->unk30, -work->unk18.y*sind(work->unk18.x+180.0f), work->unk18.y*cosd(work->unk18.x+180.0f), 0); + Hu3DParManAttrSet(work->unk30, 0x804); + Hu3DParManAttrReset(work->unk30, 1); + Hu3DParManColorSet(work->unk30, object->work[0]); + Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(work->unk30), 1); + Hu3DModelLayerSet(Hu3DParManModelIDGet(work->unk30), 4); + + } + Hu3DModelAttrReset(object->model[0], 0x40000002); + Hu3DModelAttrReset(object->model[0], 1); + object->func = fn_1_803C; } void fn_1_892C(s16 arg0, s16 arg1, Vec *arg2) { - omObjData *object; - Work713C *work; - float x; - float y; - float z; - if (lbl_1_bss_1E >= 400) { - OSReport("over!!\n"); - return; - } - lbl_1_bss_1E++; - object = omAddObjEx(lbl_1_bss_1DC, 102, 1, 0, 2, fn_1_8518); - object->work[0] = arg1; - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work713C), MEMORY_DEFAULT_NUM); - work = object->data; - fn_1_40A8InlineFunc(&work->unk0, arg2->x, arg2->y + 10, arg2->z + 8); - fn_1_40A8InlineFunc(&work->unkC, arg2->x, 250, arg2->z); + omObjData *object; + Work713C *work; + float x; + float y; + float z; + if(lbl_1_bss_1E >= 400) { + OSReport("over!!\n"); + return; + } + lbl_1_bss_1E++; + object = omAddObjEx(lbl_1_bss_1DC, 102, 1, 0, 2, fn_1_8518); + object->work[0] = arg1; + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work713C), MEMORY_DEFAULT_NUM); + work = object->data; + fn_1_40A8InlineFunc(&work->unk0, arg2->x, arg2->y+10, arg2->z+8); + fn_1_40A8InlineFunc(&work->unkC, arg2->x, 250, arg2->z); } s32 fn_1_8AA0(s32 arg0) { - float angle = 12.0f * (arg0 % 30); - float radius = 730.0f + (60.0f * (arg0 / 30)); - if (arg0 / 30 >= 2 && (100.0f > angle || 260.0f < angle)) { - return 0; - } - else { - s16 model = Hu3DModelLink(lbl_1_bss_10[0]); - Hu3DModelAttrSet(model, HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(model, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(model, 1); - Hu3DMotionTimeSet(model, Hu3DMotionMaxTimeGet(model) * frandf()); - Hu3DModelPosSet(model, ((radius * sind(angle)) + (frandf() * 20.0f)) - 10, -60.0f, radius * cosd(angle)); - Hu3DModelScaleSet(model, 2, 2, 2); - Hu3DModelAttrReset(model, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(model, HU3D_ATTR_DISPOFF); - return 1; - } + float angle = 12.0f*(arg0%30); + float radius = 730.0f+(60.0f*(arg0/30)); + if(arg0/30 >= 2 && (100.0f > angle || 260.0f < angle)) { + return 0; + } else { + s16 model = Hu3DModelLink(lbl_1_bss_10[0]); + Hu3DModelAttrSet(model, 0x4001); + Hu3DModelAttrSet(model, 0x40000003); + Hu3DModelLayerSet(model, 1); + Hu3DMotionTimeSet(model, Hu3DMotionMaxTimeGet(model)*frandf()); + Hu3DModelPosSet(model, ((radius*sind(angle))+(frandf()*20.0f))-10, -60.0f, radius*cosd(angle)); + Hu3DModelScaleSet(model, 2, 2, 2); + Hu3DModelAttrReset(model, 0x40000002); + Hu3DModelAttrReset(model, 1); + return 1; + } } void fn_1_AA4C(omObjData *object); void fn_1_8D58(omObjData *object) { - Vec sp38; - s32 i; - - if (omSysExitReq) { - fn_1_1F58(-1); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_AA4C; - } - lbl_1_bss_24 += (1.0f / REFRESH_RATE); - if (360.0f <= lbl_1_bss_24) { - lbl_1_bss_24 -= 360.0f; - } - Hu3DModelRotSet(object->model[2], 0, lbl_1_bss_24, 0); - lbl_1_bss_1A8++; - switch (object->work[0]) { - case 1000: - if (!WipeStatGet()) { - object->work[0]++; - lbl_1_bss_28 = 0; - } - break; - - case 1001: - lbl_1_bss_28++; - if (60.0f < lbl_1_bss_28) { - object->work[0]++; - lbl_1_bss_28 = 0; - lbl_1_bss_1C4 = lbl_1_data_34; - lbl_1_bss_1AC = lbl_1_data_4C; - VECSubtract(&lbl_1_bss_1AC, &lbl_1_bss_1C4, &sp38); - VECNormalize(&sp38, &sp38); - HuAudFXListnerSetEX(&lbl_1_bss_1C4, &sp38, 10000.0, 36000.0, 0.0, 300.0, 300.0); - } - break; - - case 1002: - lbl_1_bss_28++; - fn_1_13DC(lbl_1_bss_28 / (3.0f * REFRESH_RATE), &lbl_1_data_40); - if ((3.0f * REFRESH_RATE) <= lbl_1_bss_28) { - object->work[0]++; - fn_1_1350(&lbl_1_data_34, &lbl_1_data_40, &lbl_1_data_4C); - } - - break; - - case 1003: - if (lbl_1_bss_19E < 0) { - lbl_1_bss_19E = MGSeqStartCreate(); - Hu3DModelAttrSet(lbl_1_bss_4C->model[2], HU3D_ATTR_DISPOFF); - } - else { - if (lbl_1_bss_198 < 0 && (MGSeqStatGet(lbl_1_bss_19E) & 0x10)) { - fn_1_1F24(69); - } - if (!MGSeqStatGet(lbl_1_bss_19E)) { - object->work[0]++; - lbl_1_bss_1A4 = 60 * REFRESH_RATE; - lbl_1_bss_19C = MGSeqTimerCreate(lbl_1_bss_1A4 / REFRESH_RATE); - lbl_1_bss_19E = -1; - } - } - break; - - case 1004: - MGSeqParamSet(lbl_1_bss_19C, 1, (lbl_1_bss_1A4 + REFRESH_RATE - 1) / REFRESH_RATE); - lbl_1_bss_1A4--; - if (lbl_1_bss_1A4 < 0) { - object->work[0] = 1005; - lbl_1_bss_1A4 = 60 * REFRESH_RATE; - lbl_1_bss_28 = 0; - } - break; - - case 1005: - if (lbl_1_bss_19E < 0) { - MGSeqParamSet(lbl_1_bss_19C, 2, -1); - lbl_1_bss_19C = -1; - lbl_1_bss_19E = MGSeqFinishCreate(); - fn_1_1F58(100); - Hu3DModelAttrReset(lbl_1_bss_4C->model[2], HU3D_ATTR_DISPOFF); - } - else { - for (i = 0; i < 4; i++) { - if (OM_GET_DATA_PTR(lbl_1_bss_48[i], Work53E8)->unk98 != 2007) { - break; - } - } - if (i == 4 && !MGSeqStatGet(lbl_1_bss_19E)) { - object->work[0]++; - lbl_1_bss_19E = -1; - lbl_1_bss_20 = 0; - lbl_1_bss_28 = 0; - lbl_1_bss_1C4 = lbl_1_data_58; - lbl_1_bss_1AC = lbl_1_data_70; - } - } - break; - - case 1006: - lbl_1_bss_28++; - fn_1_13DC(lbl_1_bss_28 / (2.0f * REFRESH_RATE), &lbl_1_data_64); - if ((2.0f * REFRESH_RATE) <= lbl_1_bss_28) { - lbl_1_bss_28 = 2.0f * REFRESH_RATE; - for (i = 0; i < 4; i++) { - float temp; - if (OM_GET_DATA_PTR(lbl_1_bss_48[i], Work53E8)->unk98 != 2010) { - break; - } - temp = OM_GET_DATA_PTR(lbl_1_bss_48[i], Work53E8)->unk58; - if (2.0f < temp && 358.0f > temp) { - break; - } - } - if (i == 4) { - object->work[0]++; - lbl_1_bss_28 = 60; - } - } - break; - - case 1007: - for (i = 0; i < 4; i++) { - if (OM_GET_DATA_PTR(lbl_1_bss_48[i], Work53E8)->unk98 != 2014) { - break; - } - } - if (i == 4) { - if (0.0f > lbl_1_bss_28--) { - object->work[0]++; - lbl_1_bss_28 = 0; - if (lbl_1_bss_20 == 0) { - HuAudSStreamPlay(4); - for (i = 0; i < 4; i++) { - OM_GET_DATA_PTR(lbl_1_bss_48[i], Work53E8)->unkC0 = 4; - } - } - else { - s32 temp_r27; - HuAudSStreamPlay(1); - temp_r27 = -1; - for (i = 0; i < 4; i++) { - s32 temp_r22 = -1; - s32 temp_r26 = -1; - Work53E8 *temp_r29; - s32 j; - for (j = 0; j < 4; j++) { - temp_r29 = lbl_1_bss_48[j]->data; - if (temp_r29->unkC0 < 0 && temp_r22 < temp_r29->unkBC) { - temp_r22 = temp_r29->unkBC; - temp_r26 = j; - } - } - temp_r29 = lbl_1_bss_48[temp_r26]->data; - temp_r29->unkC0 = i + 1; - if (temp_r27 >= 0 && temp_r29->unkBC == OM_GET_DATA_PTR(lbl_1_bss_48[temp_r27], Work53E8)->unkBC) { - temp_r29->unkC0 = OM_GET_DATA_PTR(lbl_1_bss_48[temp_r27], Work53E8)->unkC0; - } - temp_r27 = temp_r26; - } - } - for (i = 0; i < 4; i++) { - GWPlayerCoinWinSet(OM_GET_DATA_PTR(lbl_1_bss_48[i], Work53E8)->unkB0, OM_GET_DATA_PTR(lbl_1_bss_48[i], Work53E8)->unkC0 - 1); - } - } - } - break; - - case 1008: - lbl_1_bss_28++; - if (210.0f < lbl_1_bss_28) { - fn_1_1F58(-1); - lbl_1_bss_19E = -1; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_AA4C; - } - - break; - - default: - OSReport("*** main mode error(%d)!!\n", object->work[0]); - break; - } + Vec sp38; + s32 i; + + if(omSysExitReq) { + fn_1_1F58(-1); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + object->func = fn_1_AA4C; + } + lbl_1_bss_24 += (1.0f/60.0f); + if(360.0f <= lbl_1_bss_24) { + lbl_1_bss_24 -= 360.0f; + } + Hu3DModelRotSet(object->model[2], 0, lbl_1_bss_24, 0); + lbl_1_bss_1A8++; + switch(object->work[0]) { + case 1000: + if(!WipeStatGet()) { + object->work[0]++; + lbl_1_bss_28 = 0; + } + break; + + case 1001: + lbl_1_bss_28++; + if(60.0f < lbl_1_bss_28) { + object->work[0]++; + lbl_1_bss_28 = 0; + lbl_1_bss_1C4 = lbl_1_data_34; + lbl_1_bss_1AC = lbl_1_data_4C; + VECSubtract(&lbl_1_bss_1AC, &lbl_1_bss_1C4, &sp38); + VECNormalize(&sp38, &sp38); + HuAudFXListnerSetEX(&lbl_1_bss_1C4, &sp38, 10000.0, 36000.0, 0.0, 300.0, 300.0); + } + break; + + case 1002: + lbl_1_bss_28++; + fn_1_13DC(lbl_1_bss_28/180.0f, &lbl_1_data_40); + if(180.0f <= lbl_1_bss_28) { + object->work[0]++; + fn_1_1350(&lbl_1_data_34, &lbl_1_data_40, &lbl_1_data_4C); + } + + break; + + case 1003: + if(lbl_1_bss_19E < 0) { + lbl_1_bss_19E = MGSeqStartCreate(); + Hu3DModelAttrSet(lbl_1_bss_4C->model[2], 1); + } else { + if(lbl_1_bss_198 < 0 && (MGSeqStatGet(lbl_1_bss_19E) & 0x10)) { + fn_1_1F24(69); + } + if(!MGSeqStatGet(lbl_1_bss_19E)) { + object->work[0]++; + lbl_1_bss_1A4 = 3600; + lbl_1_bss_19C = MGSeqTimerCreate(lbl_1_bss_1A4/60); + lbl_1_bss_19E = -1; + } + } + break; + + case 1004: + MGSeqParamSet(lbl_1_bss_19C, 1, (lbl_1_bss_1A4+59)/60); + lbl_1_bss_1A4--; + if(lbl_1_bss_1A4 < 0) { + object->work[0] = 1005; + lbl_1_bss_1A4 = 3600; + lbl_1_bss_28 = 0; + } + break; + + case 1005: + if(lbl_1_bss_19E < 0) { + MGSeqParamSet(lbl_1_bss_19C, 2, -1); + lbl_1_bss_19C = -1; + lbl_1_bss_19E = MGSeqFinishCreate(); + fn_1_1F58(100); + Hu3DModelAttrReset(lbl_1_bss_4C->model[2], 1); + } else { + for(i=0; i<4; i++) { + if(OM_GET_DATA_PTR(lbl_1_bss_48[i], Work53E8)->unk98 != 2007) { + break; + } + } + if(i == 4 && !MGSeqStatGet(lbl_1_bss_19E)) { + object->work[0]++; + lbl_1_bss_19E = -1; + lbl_1_bss_20 = 0; + lbl_1_bss_28 = 0; + lbl_1_bss_1C4 = lbl_1_data_58; + lbl_1_bss_1AC = lbl_1_data_70; + } + } + break; + + case 1006: + lbl_1_bss_28++; + fn_1_13DC(lbl_1_bss_28/120.0f, &lbl_1_data_64); + if(120.0f <= lbl_1_bss_28) { + lbl_1_bss_28 = 120.0f; + for(i=0; i<4; i++) { + float temp; + if(OM_GET_DATA_PTR(lbl_1_bss_48[i], Work53E8)->unk98 != 2010) { + break; + } + temp = OM_GET_DATA_PTR(lbl_1_bss_48[i], Work53E8)->unk58; + if(2.0f < temp && 358.0f > temp) { + break; + } + } + if(i == 4) { + object->work[0]++; + lbl_1_bss_28 = 60; + } + } + break; + + case 1007: + for(i=0; i<4; i++) { + if(OM_GET_DATA_PTR(lbl_1_bss_48[i], Work53E8)->unk98 != 2014) { + break; + } + } + if(i == 4) { + if(0.0f > lbl_1_bss_28--) { + object->work[0]++; + lbl_1_bss_28 = 0; + if(lbl_1_bss_20 == 0) { + HuAudSStreamPlay(4); + for(i=0; i<4; i++) { + OM_GET_DATA_PTR(lbl_1_bss_48[i], Work53E8)->unkC0 = 4; + } + } else { + s32 temp_r27; + HuAudSStreamPlay(1); + temp_r27 = -1; + for(i=0; i<4; i++) { + s32 temp_r22 = -1; + s32 temp_r26 = -1; + Work53E8 *temp_r29; + s32 j; + for(j=0; j<4; j++) { + temp_r29 = lbl_1_bss_48[j]->data; + if(temp_r29->unkC0 < 0 && temp_r22 < temp_r29->unkBC) { + temp_r22 = temp_r29->unkBC; + temp_r26 = j; + } + } + temp_r29 = lbl_1_bss_48[temp_r26]->data; + temp_r29->unkC0 = i+1; + if(temp_r27 >= 0 && temp_r29->unkBC == OM_GET_DATA_PTR(lbl_1_bss_48[temp_r27], Work53E8)->unkBC) { + temp_r29->unkC0 = OM_GET_DATA_PTR(lbl_1_bss_48[temp_r27], Work53E8)->unkC0; + } + temp_r27 = temp_r26; + } + } + for(i=0; i<4; i++) { + GWPlayerCoinWinSet(OM_GET_DATA_PTR(lbl_1_bss_48[i], Work53E8)->unkB0, OM_GET_DATA_PTR(lbl_1_bss_48[i], Work53E8)->unkC0-1); + } + } + + } + break; + + case 1008: + lbl_1_bss_28++; + if(210.0f < lbl_1_bss_28) { + fn_1_1F58(-1); + lbl_1_bss_19E = -1; + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + object->func = fn_1_AA4C; + } + + break; + + default: + OSReport("*** main mode error(%d)!!\n", object->work[0]); + break; + } } void fn_1_9F40(omObjData *object) { - s32 singleNo; - s32 i; - s32 angleNo; - lbl_1_bss_24 = 0; - object->work[0] = 1000; - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M441, 0x38)); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(object->model[0], 0); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelShadowMapSet(object->model[0]); - omSetTra(object, 0, -31, 0); - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M441, 0x39)); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(object->model[1], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(object->model[1], 0); - Hu3DModelPosSet(object->model[1], 0, -31, 0); - Hu3DModelAttrReset(object->model[1], HU3D_ATTR_DISPOFF); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M441, 0x3A)); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(object->model[2], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(object->model[2], 0); - Hu3DModelPosSet(object->model[2], 0, -31, 0); - Hu3DModelAttrReset(object->model[2], HU3D_ATTR_DISPOFF); - for (singleNo = 0; singleNo < 1; singleNo++) { - lbl_1_bss_10[singleNo] = Hu3DModelCreateFile(lbl_1_data_368[singleNo]); - Hu3DModelAttrSet(lbl_1_bss_10[singleNo], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(lbl_1_bss_10[singleNo], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - } - for (i = 0, angleNo = 0; i < 30;) { - if (fn_1_8AA0(angleNo++) != 0) { - i++; - } - } - HuAudFXPlay(1818); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_8D58; + s32 singleNo; + s32 i; + s32 angleNo; + lbl_1_bss_24 = 0; + object->work[0] = 1000; + object->model[0] = Hu3DModelCreateFile(0x480038); + Hu3DModelAttrSet(object->model[0], 0x4001); + Hu3DModelAttrSet(object->model[0], 0x40000002); + Hu3DModelLayerSet(object->model[0], 0); + Hu3DModelAttrReset(object->model[0], 1); + Hu3DModelShadowMapSet(object->model[0]); + omSetTra(object, 0, -31, 0); + object->model[1] = Hu3DModelCreateFile(0x480039); + Hu3DModelAttrSet(object->model[1], 0x4001); + Hu3DModelAttrSet(object->model[1], 0x40000002); + Hu3DModelLayerSet(object->model[1], 0); + Hu3DModelPosSet(object->model[1], 0, -31, 0); + Hu3DModelAttrReset(object->model[1], 1); + object->model[2] = Hu3DModelCreateFile(0x48003A); + Hu3DModelAttrSet(object->model[2], 0x4001); + Hu3DModelAttrSet(object->model[2], 0x40000002); + Hu3DModelLayerSet(object->model[2], 0); + Hu3DModelPosSet(object->model[2], 0, -31, 0); + Hu3DModelAttrReset(object->model[2], 1); + for(singleNo=0; singleNo<1; singleNo++) { + lbl_1_bss_10[singleNo] = Hu3DModelCreateFile(lbl_1_data_368[singleNo]); + Hu3DModelAttrSet(lbl_1_bss_10[singleNo], 0x4001); + Hu3DModelAttrSet(lbl_1_bss_10[singleNo], 0x40000003); + } + for(i=0, angleNo=0; i<30;) { + if(fn_1_8AA0(angleNo++) != 0) { + i++; + } + } + HuAudFXPlay(1818); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + object->func = fn_1_8D58; } void ObjectSetup(void) { - Vec shadowDir; - s32 i; - omObjData *object; - s32 glight; - OSReport("******* M441 ObjectSetup *********\n"); - lbl_1_bss_1DC = omInitObjMan(600, 8192); - omGameSysInit(lbl_1_bss_1DC); - lbl_1_bss_1A8 = 0; - lbl_1_bss_19E = -1; - lbl_1_bss_19C = -1; - lbl_1_bss_1E = 0; - lbl_1_bss_198 = -1; - lbl_1_bss_4 = 0; - lbl_1_bss_8 = 2100; - lbl_1_bss_0 = 1200; - Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); - Hu3DCameraPerspectiveSet(1, 30, 20, 20000, 1.2); - fn_1_1350(&lbl_1_data_10, &lbl_1_data_1C, &lbl_1_data_28); + Vec shadowDir; + s32 i; + omObjData *object; + s32 glight; + OSReport("******* M441 ObjectSetup *********\n"); + lbl_1_bss_1DC = omInitObjMan(600, 8192); + omGameSysInit(lbl_1_bss_1DC); + lbl_1_bss_1A8 = 0; + lbl_1_bss_19E = -1; + lbl_1_bss_19C = -1; + lbl_1_bss_1E = 0; + lbl_1_bss_198 = -1; + lbl_1_bss_4 = 0; + lbl_1_bss_8 = 2100; + lbl_1_bss_0 = 1200; + Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); + Hu3DCameraPerspectiveSet(1, 30, 20, 20000, 1.2); + fn_1_1350(&lbl_1_data_10, &lbl_1_data_1C, &lbl_1_data_28); - glight = Hu3DGLightCreateV(&lbl_1_data_7C, &lbl_1_data_88, &lbl_1_data_94); - Hu3DGLightStaticSet(glight, 1); - Hu3DGLightInfinitytSet(glight); - Hu3DShadowCreate(30, 20, 20000); - Hu3DShadowTPLvlSet(0.8); - VECNormalize(&lbl_1_data_98, &shadowDir); - Hu3DShadowPosSet(&lbl_1_data_98, &shadowDir, &lbl_1_data_A4); - HuSprExecLayerSet(64, 5); - omMakeGroupEx(lbl_1_bss_1DC, 0, 4); - lbl_1_bss_48 = omGetGroupMemberListEx(lbl_1_bss_1DC, 0); - for (i = 0; i < 4; i++) { - object = omAddObjEx(lbl_1_bss_1DC, 100, 3, 16, 0, fn_1_53E8); - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work53E8), MEMORY_DEFAULT_NUM); - object->work[0] = i; - } - fn_1_0(); - lbl_1_bss_C = 1; - omMakeGroupEx(lbl_1_bss_1DC, 1, 20); - lbl_1_bss_44 = omGetGroupMemberListEx(lbl_1_bss_1DC, 1); - for (i = 0; i < 3; i++) { - lbl_1_bss_18[i] = 0; - lbl_1_bss_12[i] = Hu3DModelCreateFile(lbl_1_data_314[i]); - Hu3DModelAttrSet(lbl_1_bss_12[i], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_12[i], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - } - for (i = 0; i < 20; i++) { - fn_1_74F4(0); - } - omMakeGroupEx(lbl_1_bss_1DC, 2, 400); - lbl_1_bss_40 = omGetGroupMemberListEx(lbl_1_bss_1DC, 2); - lbl_1_bss_38 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M441, 0x46)); - HuSprAnimLock(lbl_1_bss_38); - lbl_1_bss_34 = Hu3DParManCreate(lbl_1_bss_38, 500, &lbl_1_data_39C); - Hu3DParManAttrSet(lbl_1_bss_34, 1); - lbl_1_bss_30 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M441, 0x47)); - HuSprAnimLock(lbl_1_bss_30); - lbl_1_bss_2C = Hu3DParManCreate(lbl_1_bss_30, 20, &lbl_1_data_48C); - Hu3DParManAttrSet(lbl_1_bss_2C, 1); - lbl_1_bss_4C = omAddObjEx(lbl_1_bss_1DC, 103, 3, 0, -1, fn_1_9F40); + glight = Hu3DGLightCreateV(&lbl_1_data_7C, &lbl_1_data_88, &lbl_1_data_94); + Hu3DGLightStaticSet(glight, 1); + Hu3DGLightInfinitytSet(glight); + Hu3DShadowCreate(30, 20, 20000); + Hu3DShadowTPLvlSet(0.8); + VECNormalize(&lbl_1_data_98, &shadowDir); + Hu3DShadowPosSet(&lbl_1_data_98, &shadowDir, &lbl_1_data_A4); + HuSprExecLayerSet(64, 5); + omMakeGroupEx(lbl_1_bss_1DC, 0, 4); + lbl_1_bss_48 = omGetGroupMemberListEx(lbl_1_bss_1DC, 0); + for(i=0; i<4; i++) { + object = omAddObjEx(lbl_1_bss_1DC, 100, 3, 16, 0, fn_1_53E8); + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work53E8), MEMORY_DEFAULT_NUM); + object->work[0] = i; + } + fn_1_0(); + lbl_1_bss_C = 1; + omMakeGroupEx(lbl_1_bss_1DC, 1, 20); + lbl_1_bss_44 = omGetGroupMemberListEx(lbl_1_bss_1DC, 1); + for(i=0; i<3; i++) { + lbl_1_bss_18[i] = 0; + lbl_1_bss_12[i] = Hu3DModelCreateFile(lbl_1_data_314[i]); + Hu3DModelAttrSet(lbl_1_bss_12[i], 1); + Hu3DModelAttrSet(lbl_1_bss_12[i], 0x40000003); + } + for(i=0; i<20; i++) { + fn_1_74F4(0); + } + omMakeGroupEx(lbl_1_bss_1DC, 2, 400); + lbl_1_bss_40 = omGetGroupMemberListEx(lbl_1_bss_1DC, 2); + lbl_1_bss_38 = HuSprAnimReadFile(0x480046); + HuSprAnimLock(lbl_1_bss_38); + lbl_1_bss_34 = Hu3DParManCreate(lbl_1_bss_38, 500, &lbl_1_data_39C); + Hu3DParManAttrSet(lbl_1_bss_34, 1); + lbl_1_bss_30 = HuSprAnimReadFile(0x480047); + HuSprAnimLock(lbl_1_bss_30); + lbl_1_bss_2C = Hu3DParManCreate(lbl_1_bss_30, 20, &lbl_1_data_48C); + Hu3DParManAttrSet(lbl_1_bss_2C, 1); + lbl_1_bss_4C = omAddObjEx(lbl_1_bss_1DC, 103, 3, 0, -1, fn_1_9F40); } void fn_1_AA4C(omObjData *object) { - s32 i; - if (WipeStatGet()) { - return; - } - if (lbl_1_bss_19E >= 0) { - MGSeqKill(lbl_1_bss_19E); - } - if (lbl_1_bss_19C >= 0) { - MGSeqKill(lbl_1_bss_19C); - } - MGSeqKillAll(); - HuAudAllStop(); - for (i = 0; i < 4; i++) { - CharModelKill(lbl_1_data_0[GWPlayerCfg[i].character]); - } - omOvlReturnEx(1, 1); + s32 i; + if(WipeStatGet()) { + return; + } + if(lbl_1_bss_19E >= 0) { + MGSeqKill(lbl_1_bss_19E); + } + if(lbl_1_bss_19C >= 0) { + MGSeqKill(lbl_1_bss_19C); + } + MGSeqKillAll(); + HuAudAllStop(); + for(i=0; i<4; i++) { + CharModelKill(lbl_1_data_0[GWPlayerCfg[i].character]); + } + omOvlReturnEx(1, 1); + } diff --git a/src/REL/m442Dll/main.c b/src/REL/m442Dll/main.c index 53dd649a..dd8dfc2d 100644 --- a/src/REL/m442Dll/main.c +++ b/src/REL/m442Dll/main.c @@ -1,10 +1,7 @@ -#include "version.h" #define HUSPR_USE_OLD_DEFS #include "ext_math.h" #include "game/audio.h" #include "game/chrman.h" -#include "game/gamework.h" - #include "game/gamework_data.h" #include "game/hsfdraw.h" #include "game/hsfmotion.h" @@ -13,6 +10,7 @@ #include "game/pad.h" #include "game/sprite.h" #include "game/wipe.h" +#include "rel_sqrt_consts.h" #include "REL/m442Dll.h" @@ -125,6 +123,9 @@ typedef struct M442MainWork2 { /* 0x18 */ float unk_18; } M442MainWork2; /* size = 0x1C */ +void GWMGRecordSet(s32 index, s32 value); +u32 GWMGRecordGet(s32 index); + void fn_1_A30(omObjData *object); void fn_1_A90(Process *arg0); void fn_1_D9C(void); @@ -214,9 +215,6 @@ M442StructBssC084 lbl_1_bss_C084[11][11]; M442StructBssC05C lbl_1_bss_C05C[2]; M442StructBss5C lbl_1_bss_5C[0x400]; float lbl_1_bss_20[0xF]; -#if VERSION_PAL -s32 lbl_1_bss_20_pal; -#endif Vec lbl_1_bss_14; s16 lbl_1_bss_12; s16 lbl_1_bss_10; @@ -239,7 +237,7 @@ void ObjectSetup(void) lbl_1_bss_14.x = lbl_1_data_60.x - lbl_1_data_54.x; lbl_1_bss_14.y = lbl_1_data_60.y - lbl_1_data_54.y; lbl_1_bss_14.z = lbl_1_data_60.z - lbl_1_data_54.z; - VECNormalize(&lbl_1_bss_14, &lbl_1_bss_14); + PSVECNormalize(&lbl_1_bss_14, &lbl_1_bss_14); var_r29 = Hu3DGLightCreateV(&lbl_1_data_54, &lbl_1_bss_14, &lbl_1_data_6C); Hu3DGLightInfinitytSet(var_r29); Hu3DGLightStaticSet(var_r29, 1); @@ -252,7 +250,7 @@ void ObjectSetup(void) fn_1_A90(var_r31); fn_1_3E64(var_r31); fn_1_6BB4(var_r31); - if (GWMGRecordGet(4) == 0) { + if (!GWMGRecordGet(4)) { GWMGRecordSet(4, 0); } fn_1_91AC(var_r31, GWMGRecordGet(4)); @@ -272,13 +270,13 @@ u32 fn_1_384(void) void fn_1_394(omObjData *object) { lbl_1_bss_11F30 = 0; - lbl_1_bss_11F24 = REFRESH_RATE; + lbl_1_bss_11F24 = 60; lbl_1_bss_11F1C = 60; - lbl_1_bss_11F1A = REFRESH_RATE; + lbl_1_bss_11F1A = 60; lbl_1_bss_11F18 = -1; lbl_1_bss_11F16 = 0; lbl_1_bss_11EE8 = 0; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + WipeCreate(1, 0, 60); object->func = fn_1_448; } @@ -290,19 +288,19 @@ void fn_1_448(omObjData *object) switch (lbl_1_bss_11F30) { case 0: - if (lbl_1_bss_11F24 == REFRESH_RATE) { + if (lbl_1_bss_11F24 == 60) { HuAudFXPlay(0x71B); HuAudFXPlay(0x71F); } if (--lbl_1_bss_11F24 == 0) { lbl_1_bss_11F30 = 1; - lbl_1_bss_11F24 = 2 * REFRESH_RATE; + lbl_1_bss_11F24 = 0x78; } break; case 1: if (--lbl_1_bss_11F24 == 0) { lbl_1_bss_11F30 = 2; - lbl_1_bss_11F24 = 2 * REFRESH_RATE; + lbl_1_bss_11F24 = 0x78; } break; case 2: @@ -324,7 +322,7 @@ void fn_1_448(omObjData *object) if (--lbl_1_bss_11F1A == 0) { lbl_1_bss_11F1C -= 1; MGSeqParamSet(lbl_1_bss_10, 1, lbl_1_bss_11F1C); - lbl_1_bss_11F1A = REFRESH_RATE; + lbl_1_bss_11F1A = 0x3C; } if (lbl_1_bss_11F1C == 0 || lbl_1_bss_11EE4 == 0) { lbl_1_bss_11F30 = 5; @@ -341,13 +339,13 @@ void fn_1_448(omObjData *object) if (GWMGRecordGet(4) < lbl_1_bss_11EE8) { GWMGRecordSet(4, lbl_1_bss_11EE8); lbl_1_bss_11F30 = 6; - lbl_1_bss_11F24 = REFRESH_RATE; + lbl_1_bss_11F24 = 60; lbl_1_bss_12 = MGSeqCreate(0xE, lbl_1_bss_11EE8); fn_1_94AC(1); } else { lbl_1_bss_11F30 = 9; - lbl_1_bss_11F24 = REFRESH_RATE; + lbl_1_bss_11F24 = 60; } mgRecordExtra = lbl_1_bss_11EE8; } @@ -355,7 +353,7 @@ void fn_1_448(omObjData *object) case 6: if (MGSeqStatGet(lbl_1_bss_12) == 0) { lbl_1_bss_11F30 = 9; - lbl_1_bss_11F24 = REFRESH_RATE; + lbl_1_bss_11F24 = 60; } break; case 9: @@ -367,12 +365,12 @@ void fn_1_448(omObjData *object) else { HuAudSStreamPlay(4); } - lbl_1_bss_11F24 = 3.5f * REFRESH_RATE; + lbl_1_bss_11F24 = 0xD2; } break; case 11: if (--lbl_1_bss_11F24 == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + WipeCreate(2, 0, 0x3C); object->func = fn_1_A30; } break; @@ -385,7 +383,7 @@ void fn_1_448(omObjData *object) lbl_1_bss_11F16 = 0; } if ((omSysExitReq != 0) && (WipeStatGet() == 0)) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + WipeCreate(2, 0, 0x3C); object->func = fn_1_A30; } } @@ -414,10 +412,6 @@ void fn_1_A90(Process *arg0) lbl_1_bss_11F28[0] = lbl_1_bss_11F28[1] = lbl_1_bss_11F28[2] = lbl_1_bss_11F28[3] = -1; lbl_1_bss_11F20 = 0; -#if VERSION_PAL - lbl_1_bss_20_pal = fn_1_90FC(); -#endif - for (var_r31 = 0; var_r31 < 4; var_r31++) { if (GWPlayerCfg[var_r31].iscom != 1) { break; @@ -428,7 +422,7 @@ void fn_1_A90(Process *arg0) for (var_r31 = 0; var_r31 < 1; var_r31++) { omAddObjEx(arg0, 5, 0xA, 0x32, 0, fn_1_E88); } - lbl_1_bss_11F00 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M442, 0x0A), MEMORY_DEFAULT_NUM)); + lbl_1_bss_11F00 = HuSprAnimRead(HuDataReadNum(0x49000A, MEMORY_DEFAULT_NUM)); for (var_r31 = 0; var_r31 < 4; var_r31++) { lbl_1_bss_11EEC[var_r31] = HuSprAnimRead(HuDataReadNum(sp8[var_r31], MEMORY_DEFAULT_NUM)); } @@ -472,13 +466,13 @@ s32 fn_1_E04(void) } s32 lbl_1_data_FC[7] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x05), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x2B), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x48), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18), + 0x5F0000, + 0x5F0002, + 0x5F0003, + 0x5F0005, + 0x5F002B, + 0x5F0048, + 0x5F0018, }; s32 lbl_1_data_118[2] = { 0x490010, 0x490018 }; @@ -503,11 +497,7 @@ void fn_1_E88(omObjData *object) memset(var_r30, 0, sizeof(M442MainWork)); var_r30->unk_02 = lbl_1_bss_11F20++; var_r30->unk_04 = GWPlayerCfg[var_r30->unk_02].pad_idx; -#if VERSION_NTSC var_r30->unk_0C = fn_1_90FC(); -#else - var_r30->unk_0C = lbl_1_bss_20_pal; -#endif var_r26 = GWPlayerCfg[var_r30->unk_02].character; var_r30->unk_10 = var_r26; var_r30->unk_12 = GWPlayerCfg[var_r30->unk_02].diff; @@ -515,7 +505,7 @@ void fn_1_E88(omObjData *object) object->model[0] = CharModelCreate(var_r26, 8); Hu3DModelLayerSet(object->model[0], 1); Hu3DModelShadowSet(object->model[0]); - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M442, 0x01)); + object->model[1] = Hu3DModelCreateFile(0x490001); Hu3DModelHookSet(object->model[0], "test11_tex_we-itemhook-r", object->model[1]); var_r30->unk_30 = 0; for (var_r29 = 0; var_r29 < 7; var_r29++) { @@ -525,7 +515,7 @@ void fn_1_E88(omObjData *object) object->motion[var_r29 + var_r28] = CharModelMotionCreate(var_r30->unk_10, var_r30->unk_10 + lbl_1_data_118[var_r28]); } Hu3DMotionSet(object->model[0], object->motion[0]); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(object->model[0], 0x40000001); Hu3DMotionOverlaySet(object->model[0], object->motion[7]); CharModelVoiceEnableSet(var_r30->unk_10, object->motion[5], 0); object->trans.x = lbl_1_data_120[var_r30->unk_02].x; @@ -533,13 +523,13 @@ void fn_1_E88(omObjData *object) object->trans.z = lbl_1_data_120[var_r30->unk_02].z; object->model[2] = Hu3DParticleCreate(lbl_1_bss_11F00, 0x32); Hu3DParticleHookSet(object->model[2], fn_1_7890); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[2], 1); Hu3DModelLayerSet(object->model[2], 1); var_r30->unk_5C = -1; var_r30->unk_40 = -1; object->model[3] = Hu3DHookFuncCreate(fn_1_5EDC); Hu3DModelLayerSet(object->model[3], 7); - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[3], 1); var_r27 = &Hu3DData[object->model[3]]; var_r27->unk_120 = var_r30; CharModelDataClose(var_r30->unk_10); @@ -607,8 +597,8 @@ void fn_1_1230(omObjData *object) var_r30 = object->data; var_f28 = 1.0f; - VECSubtract(&var_r30->unk_70, &object->trans, &sp18); - var_f30 = VECMag(&sp18); + PSVECSubtract(&var_r30->unk_70, &object->trans, &sp18); + var_f30 = PSVECMag(&sp18); if (var_f30 < 300.0f) { if (var_f30 < 140.0f) { if ((frand() & 1) == 0) { @@ -620,7 +610,7 @@ void fn_1_1230(omObjData *object) } else { var_f29 = 32.0f; - VECNormalize(&sp18, &sp18); + PSVECNormalize(&sp18, &sp18); var_r30->unk_06 = sp18.x * var_f29; var_r30->unk_07 = -sp18.z * var_f29; } @@ -637,8 +627,8 @@ void fn_1_1230(omObjData *object) var_r27 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); for (var_r28 = 0; var_r28 < 1; var_r28++) { if (var_r27[var_r28] != object) { - VECSubtract(&lbl_1_bss_C084[var_r31 + 1][var_r29 + 1].unk_00, &var_r27[var_r28]->trans, &sp18); - var_f30 = VECMag(&sp18); + PSVECSubtract(&lbl_1_bss_C084[var_r31 + 1][var_r29 + 1].unk_00, &var_r27[var_r28]->trans, &sp18); + var_f30 = PSVECMag(&sp18); if (var_f30 < 800.0f) { var_f31 = cosd(((90.0f * var_f30) / 800.0f)); var_f31 *= var_f31; @@ -652,8 +642,8 @@ void fn_1_1230(omObjData *object) for (var_r28 = 0; var_r28 < 15; var_r28++) { var_r19 = var_r27[var_r28]->data; if (var_r19->unk_00_field0) { - VECSubtract(&lbl_1_bss_C084[var_r31 + 1][var_r29 + 1].unk_00, &var_r27[var_r28]->trans, &sp18); - var_f30 = VECMag(&sp18); + PSVECSubtract(&lbl_1_bss_C084[var_r31 + 1][var_r29 + 1].unk_00, &var_r27[var_r28]->trans, &sp18); + var_f30 = PSVECMag(&sp18); if (var_f30 < 800.0f) { var_f31 = cosd(((90.0f * var_f30) / 800.0f)); var_f31 *= var_f31; @@ -745,14 +735,14 @@ void fn_1_1230(omObjData *object) } } } while (var_r22 != 0); - VECSubtract(&lbl_1_bss_C084[sp24[3] + 1][sp24[2] + 1].unk_00, &object->trans, &sp18); - var_f30 = VECMag(&sp18); + PSVECSubtract(&lbl_1_bss_C084[sp24[3] + 1][sp24[2] + 1].unk_00, &object->trans, &sp18); + var_f30 = PSVECMag(&sp18); var_f29 = 64.0f + (0.2f * (32.0f * var_r30->unk_12)); var_r30->unk_18 = fn_1_85E8(var_r30->unk_18, atan2d(sp18.x, sp18.z), 0.1f); var_r30->unk_06 = var_f29 * sind(var_r30->unk_18); var_r30->unk_07 = var_f29 * -cosd(var_r30->unk_18); - if (++var_r30->unk_7C > 5 * REFRESH_RATE) { + if (++var_r30->unk_7C > 300) { var_r30->unk_00_field2 = 1; var_r30->unk_7C = 0; } @@ -875,18 +865,18 @@ void fn_1_2254(omObjData *object) if (var_f27 > 72.0f) { var_f27 = 72.0f; } - var_f26 = ((VERSION_NTSC ? 10.0f : 12.0f) * var_f27) / 72.0f; + var_f26 = (10.0f * var_f27) / 72.0f; var_r31->unk_24.x = var_f31 * var_f26; var_r31->unk_24.z = var_f30 * var_f26; var_r31->unk_1C = var_f26; object->rot.y = fn_1_85E8(object->rot.y, atan2d(var_r31->unk_24.x, var_r31->unk_24.z), 0.5f); - if (var_r31->unk_1C < (450.0f / REFRESH_RATE)) { + if (var_r31->unk_1C < 7.5f) { var_r29 = 1; - var_f28 = var_r31->unk_1C / (450.0f / REFRESH_RATE); + var_f28 = var_r31->unk_1C / 7.5f; } else { var_r29 = 2; - var_f28 = var_r31->unk_1C / (VERSION_NTSC ? 10.0f : 12.0f); + var_f28 = var_r31->unk_1C / 10.0f; } } else { @@ -894,7 +884,7 @@ void fn_1_2254(omObjData *object) var_r29 = 0; var_f28 = 1.0f; } - var_r28 = HU3D_MOTATTR_LOOP; + var_r28 = 0x40000001; object->trans.x += var_r31->unk_24.x; object->trans.z += var_r31->unk_24.z; fn_1_37B8(object); @@ -910,7 +900,7 @@ void fn_1_2254(omObjData *object) else { spC = lbl_1_bss_C9F8[var_r31->unk_48].unk_00; } - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[3], 1); if ((fn_1_3AE4(object, &spC) == 1) && ((var_r31->unk_48 >= 0 && ((lbl_1_bss_C9F8[var_r31->unk_48].unk_10 == object) || (lbl_1_bss_C9F8[var_r31->unk_48].unk_10 == NULL))) @@ -947,7 +937,7 @@ void fn_1_2254(omObjData *object) } if ((var_r31->unk_48 >= 0) && (lbl_1_bss_C9F8[var_r31->unk_48].unk_0C < 3)) { lbl_1_bss_C9F8[var_r31->unk_48].unk_0C += 1; - lbl_1_bss_C9F8[var_r31->unk_48].unk_0E = 2 * REFRESH_RATE; + lbl_1_bss_C9F8[var_r31->unk_48].unk_0E = 120; HuAudFXPlay(0x71C); if (lbl_1_bss_C9F8[var_r31->unk_48].unk_0C == 3) { var_r31->unk_00_field2 = 1; @@ -958,14 +948,14 @@ void fn_1_2254(omObjData *object) var_r26 = Hu3DData[object->model[2]].unk_120; *(s16 *)var_r26 = 0; (void)var_r26; - Hu3DModelAttrReset(object->model[2], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(object->model[2], 1); Hu3DModelPosSet(object->model[2], object->trans.x + (140.0 * sind(object->rot.y)), object->trans.y, object->trans.z + (140.0 * cosd(object->rot.y))); } } var_r29 = 8; var_f28 = 1.0f; - var_r28 = HU3D_MOTATTR_NONE; + var_r28 = 0; object->trans.x += 0.2f * (var_r31->unk_4C - object->trans.x); object->trans.z += 0.2f * (var_r31->unk_54 - object->trans.z); object->rot.y = fn_1_85E8(object->rot.y, var_r31->unk_58, 0.2f); @@ -980,7 +970,7 @@ void fn_1_2254(omObjData *object) } var_r29 = 8; var_f28 = var_r31->unk_3C < (var_r31->unk_3E / 2) ? 0.0f : 1.0f; - var_r28 = HU3D_MOTATTR_NONE; + var_r28 = 0; object->trans.x += 0.2f * (var_r31->unk_4C - object->trans.x); object->trans.z += 0.2f * (var_r31->unk_54 - object->trans.z); object->rot.y = fn_1_85E8(object->rot.y, var_r31->unk_58, 0.2f); @@ -1006,38 +996,32 @@ void fn_1_2254(omObjData *object) } if (var_r31->unk_40 >= 0) { if (var_r31->unk_0C == 0) { - Hu3DModelAttrReset(object->model[3], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(object->model[3], 1); } switch (var_r31->unk_40) { case 0: - var_r31->unk_44 = 0.75 + sind(((90.0f * (var_r31->unk_42 % (REFRESH_RATE / 4))) / (float)(REFRESH_RATE / 4))); - if (VERSION_NTSC ? 1 : var_r31->unk_0C == 1) { - if ((var_r31->unk_42 % (REFRESH_RATE / 3)) == 0) { - omVibrate(var_r31->unk_02, 0xC, 0xC, 0); - } + var_r31->unk_44 = 0.75 + sind(((90.0f * (var_r31->unk_42 % 15)) / 15.0f)); + if ((var_r31->unk_42 % 20) == 0) { + omVibrate(var_r31->unk_02, 0xC, 0xC, 0); } break; case 1: - var_r31->unk_44 = 0.75 + (0.75 * sind(((90.0f * (var_r31->unk_42 % (REFRESH_RATE / 2))) / (0.5f * REFRESH_RATE)))); - if (VERSION_NTSC ? 1 : var_r31->unk_0C == 1) { - if ((var_r31->unk_42 % (REFRESH_RATE / 3)) == 0) { - omVibrate(var_r31->unk_02, 0xC, 4, 2); - } + var_r31->unk_44 = 0.75 + (0.75 * sind(((90.0f * (var_r31->unk_42 % 30)) / 30.0f))); + if ((var_r31->unk_42 % 20) == 0) { + omVibrate(var_r31->unk_02, 0xC, 4, 2); } break; case 2: - var_r31->unk_44 = 0.75 + (0.5 * sind(((90.0f * (var_r31->unk_42 % REFRESH_RATE)) / (1.0f * REFRESH_RATE)))); - if (VERSION_NTSC ? 1 : var_r31->unk_0C == 1) { - if ((var_r31->unk_42 % (REFRESH_RATE / 3)) == 0) { - omVibrate(var_r31->unk_02, 12, 6, 6); - } + var_r31->unk_44 = 0.75 + (0.5 * sind(((90.0f * (var_r31->unk_42 % 60)) / 60.0f))); + if ((var_r31->unk_42 % 20) == 0) { + omVibrate(var_r31->unk_02, 12, 6, 6); } break; } var_r31->unk_42++; } else { - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[3], 1); } Hu3DModelPosSet(object->model[3], object->trans.x, 300.0f + object->trans.y, object->trans.z); if ((var_r29 >= 0 && var_r29 != var_r31->unk_30) || var_r28 != var_r31->unk_34) { @@ -1077,11 +1061,11 @@ s16 fn_1_31FC(omObjData *object) sp20.z = object->trans.z + (140.0f * sp8.z); if (sp20.x >= -800.0f && sp20.x < 800.0f && sp20.z >= -800.0f && sp20.z < 800.0f) { for (var_r27 = lbl_1_bss_C9F8, var_r28 = 0; var_r28 < lbl_1_bss_119F8; var_r28++, var_r27++) { - VECSubtract(&var_r27->unk_00, &sp20, &sp14); - var_f31 = VECMag(&sp14); - VECSubtract(&var_r27->unk_00, &object->trans, &sp14); - VECNormalize(&sp14, &sp14); - var_f29 = VECDotProduct(&sp14, &sp8); + PSVECSubtract(&var_r27->unk_00, &sp20, &sp14); + var_f31 = PSVECMag(&sp14); + PSVECSubtract(&var_r27->unk_00, &object->trans, &sp14); + PSVECNormalize(&sp14, &sp14); + var_f29 = PSVECDotProduct(&sp14, &sp8); if (var_f31 < var_f30 && var_f29 >= 0.0f) { var_f30 = var_f31; var_r29 = var_r28; @@ -1092,8 +1076,8 @@ s16 fn_1_31FC(omObjData *object) var_r26 = 1; } if (var_r29 >= 0 && lbl_1_bss_C9F8[var_r29].unk_0C < 3) { - VECSubtract(&object->trans, &lbl_1_bss_C9F8[var_r29].unk_00, &sp14); - VECNormalize(&sp14, &sp14); + PSVECSubtract(&object->trans, &lbl_1_bss_C9F8[var_r29].unk_00, &sp14); + PSVECNormalize(&sp14, &sp14); var_r31->unk_4C = (140.0f * sp14.x) + lbl_1_bss_C9F8[var_r29].unk_00.x; var_r31->unk_50 = 0.0f; var_r31->unk_54 = (140.0f * sp14.z) + lbl_1_bss_C9F8[var_r29].unk_00.z; @@ -1148,12 +1132,12 @@ void fn_1_3658(omObjData *object) for (var_r30 = 0; var_r30 < 15; var_r30++) { var_r28 = var_r29[var_r30]->data; if (var_r28->unk_00_field0) { - VECSubtract(&object->trans, &var_r29[var_r30]->trans, &spC); - var_f31 = VECMag(&spC); + PSVECSubtract(&object->trans, &var_r29[var_r30]->trans, &spC); + var_f31 = PSVECMag(&spC); if (var_f31 < 70.0f) { var_f30 = 70.0f - var_f31; if (var_f31 != 0.0f) { - VECNormalize(&spC, &spC); + PSVECNormalize(&spC, &spC); } else { spC.x = 0.0f; @@ -1185,12 +1169,12 @@ void fn_1_37B8(omObjData *object) var_r29 = var_r28[var_r30]; if (object != var_r29) { sp8 = var_r29->data; - VECSubtract(&object->trans, &var_r29->trans, &sp10); - var_f31 = VECMag(&sp10); + PSVECSubtract(&object->trans, &var_r29->trans, &sp10); + var_f31 = PSVECMag(&sp10); if (var_f31 < 100.0f) { var_f30 = 100.0f - var_f31; if (var_f31 != 0.0f) { - VECNormalize(&sp10, &sp10); + PSVECNormalize(&sp10, &sp10); } else { sp10.x = 0.0f; @@ -1226,12 +1210,12 @@ void fn_1_3908(omObjData *object) var_r31 = var_r28[var_r29]; if (object != var_r31) { var_r26 = var_r31->data; - VECSubtract(&object->trans, &var_r31->trans, &sp8); - var_f27 = VECMag(&sp8); + PSVECSubtract(&object->trans, &var_r31->trans, &sp8); + var_f27 = PSVECMag(&sp8); if (var_f27 < 100.0f) { var_f31 = 100.0f - var_f27; - var_f29 = VECMag(&var_r27->unk_24); - var_f26 = VECMag(&var_r26->unk_24); + var_f29 = PSVECMag(&var_r27->unk_24); + var_f26 = PSVECMag(&var_r26->unk_24); if (var_f29 + var_f26 == 0.0f) { var_f30 = var_f28 = 0.5f; } @@ -1239,7 +1223,7 @@ void fn_1_3908(omObjData *object) var_f30 = var_f29 / (var_f29 + var_f26); var_f28 = 1.0f - var_f30; } - VECNormalize(&sp8, &sp8); + PSVECNormalize(&sp8, &sp8); object->trans.x += var_f28 * (sp8.x * var_f31); object->trans.z += var_f28 * (sp8.z * var_f31); var_r31->trans.x += var_f30 * (-sp8.x * var_f31); @@ -1263,17 +1247,17 @@ s32 fn_1_3AE4(omObjData *object, Vec *arg1) s32 var_r28; sp8 = object->data; - VECSubtract(arg1, &object->trans, &spC); - VECNormalize(&spC, &spC); + PSVECSubtract(arg1, &object->trans, &spC); + PSVECNormalize(&spC, &spC); var_r30 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); var_r28 = 1; for (var_r31 = 0; var_r31 < 1; var_r31++) { if (object != var_r30[var_r31]) { - VECSubtract(&var_r30[var_r31]->trans, arg1, &sp18); - var_f30 = VECMag(&sp18); - VECSubtract(&var_r30[var_r31]->trans, &object->trans, &sp18); - VECNormalize(&sp18, &sp18); - var_f31 = VECDotProduct(&sp18, &spC); + PSVECSubtract(&var_r30[var_r31]->trans, arg1, &sp18); + var_f30 = PSVECMag(&sp18); + PSVECSubtract(&var_r30[var_r31]->trans, &object->trans, &sp18); + PSVECNormalize(&sp18, &sp18); + var_f31 = PSVECDotProduct(&sp18, &spC); if (var_f31 >= 0.0f && var_f30 < 80.0f) { var_r28 = 0; } @@ -1289,9 +1273,9 @@ void fn_1_3C20(omObjData *object) var_r30 = object->data; Hu3DMotionOverlayReset(object->model[0]); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); - var_r30->unk_3C = REFRESH_RATE / 5.5; + Hu3DModelAttrSet(object->model[1], 1); + Hu3DModelAttrSet(object->model[3], 1); + var_r30->unk_3C = 10; object->func = fn_1_3C94; } @@ -1312,14 +1296,14 @@ void fn_1_3C94(omObjData *object) if (var_r27 < 11) { var_r29 = 0; var_f31 = 1.0f; - var_r28 = HU3D_MOTATTR_LOOP; + var_r28 = 0x40000001; } else { object->rot.y = fn_1_85E8(object->rot.y, 0.0f, 0.2f); if (lbl_1_bss_11EE8 != 0) { var_r29 = 5; var_f31 = 1.0f; - var_r28 = HU3D_MOTATTR_NONE; + var_r28 = 0; if (var_r31->unk_3C != 0) { if (--var_r31->unk_3C == 0) { HuAudCharVoicePlay(var_r31->unk_10, 0x125); @@ -1329,7 +1313,7 @@ void fn_1_3C94(omObjData *object) else { var_r29 = 6; var_f31 = 1.0f; - var_r28 = HU3D_MOTATTR_NONE; + var_r28 = 0; } } if ((var_r29 >= 0 && var_r29 != var_r31->unk_30) || var_r28 != var_r31->unk_34) { @@ -1402,7 +1386,7 @@ void fn_1_3EC0(omObjData *object) fn_1_4444(var_r31); } object->model[3] = Hu3DHookFuncCreate(fn_1_485C); - lbl_1_bss_11F10 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M442, 0x0B)); + lbl_1_bss_11F10 = HuSprAnimRead(HuDataSelHeapReadNum(0x49000B, MEMORY_DEFAULT_NUM, HEAP_DATA)); object->model[4] = Hu3DHookFuncCreate(fn_1_54C8); Hu3DModelLayerSet(object->model[4], 6); for (var_r31 = 0; var_r31 < 15; var_r31++) { @@ -1410,7 +1394,7 @@ void fn_1_3EC0(omObjData *object) } memset(lbl_1_bss_119FC, 0, 0x271); for (var_r31 = 0; var_r31 < 3; var_r31++) { - lbl_1_bss_11F04[var_r31] = HuSprAnimReadFile(lbl_1_data_1A0[var_r31]); + lbl_1_bss_11F04[var_r31] = HuSprAnimRead(HuDataSelHeapReadNum(lbl_1_data_1A0[var_r31], MEMORY_DEFAULT_NUM, HEAP_DATA)); } object->model[5] = Hu3DHookFuncCreate(fn_1_5A48); Hu3DModelLayerSet(object->model[5], 2); @@ -1432,7 +1416,7 @@ void fn_1_4444(s32 arg0) lbl_1_bss_5C[arg0].unk_04 = 0.0f; lbl_1_bss_5C[arg0].unk_08 = 100.0f * (18.0f * ((frand() & 0x1FF) - 256.0f)) / 256; lbl_1_bss_5C[arg0].unk_0C = lbl_1_bss_5C[arg0].unk_00; - lbl_1_bss_5C[arg0].unk_10 = (25.0f / REFRESH_RATE) + ((100.0f / REFRESH_RATE) * (frand() & 0xFF) / 256); + lbl_1_bss_5C[arg0].unk_10 = 0.41666666f + (1.6666666f * (frand() & 0xFF) / 256); lbl_1_bss_5C[arg0].unk_18 = lbl_1_bss_5C[arg0].unk_1A = (frand() & 0x3F) + 0x20; lbl_1_bss_5C[arg0].unk_1C = 0.1f + (0.9f * (frand() & 0xFF) / 256); lbl_1_bss_5C[arg0].unk_20 = 360.0f * (frand() & 0xFF) / 256; @@ -1489,7 +1473,7 @@ void fn_1_485C(ModelData *model, Mtx mtx) var_r29 = Hu3DCamera; C_MTXOrtho(sp100, 0.0f, 480.0f, 0.0f, 640.0f, 0.0f, 100.0f); GXSetProjection(sp100, GX_ORTHOGRAPHIC); - MTXIdentity(spD0); + PSMTXIdentity(spD0); GXLoadPosMtxImm(spD0, 0); GXSetNumChans(1); GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); @@ -1529,7 +1513,7 @@ void fn_1_485C(ModelData *model, Mtx mtx) GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); C_MTXPerspective(sp40, var_r29->fov, var_r29->aspect, var_r29->near, var_r29->far); GXSetProjection(sp40, GX_PERSPECTIVE); - MTXInverse(mtx, spA0); + PSMTXInverse(mtx, spA0); spA0[0][3] = spA0[1][3] = spA0[2][3] = 0.0f; PSMTXReorder(spA0, sp70); PSMTXROMultVecArray(sp70, &lbl_1_data_1C0[0], &sp10, 4); @@ -1585,7 +1569,7 @@ void fn_1_54C8(ModelData *model, Mtx mtx) fn_1_8520(&lbl_1_bss_C05C[1], 0); C_MTXOrtho(sp5C, 0.0f, 480.0f, 0.0f, 640.0f, 0.0f, 100.0f); GXSetProjection(sp5C, GX_ORTHOGRAPHIC); - MTXIdentity(sp2C); + PSMTXIdentity(sp2C); GXLoadPosMtxImm(sp2C, 0); GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); GXSetNumTexGens(2); @@ -1655,8 +1639,8 @@ s32 fn_1_59C0(Vec *arg0) s32 var_r31; for (var_r31 = 0; var_r31 < lbl_1_bss_119F8; var_r31++) { - VECSubtract(&lbl_1_bss_C9F8[var_r31].unk_00, arg0, &spC); - if (VECMag(&spC) < 50.0f) { + PSVECSubtract(&lbl_1_bss_C9F8[var_r31].unk_00, arg0, &spC); + if (PSVECMag(&spC) < 50.0f) { return var_r31; } } @@ -1734,9 +1718,9 @@ void fn_1_5EDC(ModelData *model, float (*mtx)[4]) s32 var_r30; var_r31 = model->unk_120; - MTXInverse(mtx, spC); + PSMTXInverse(mtx, spC); spC[0][3] = spC[1][3] = spC[2][3] = 0.0f; - MTXConcat(mtx, &spC[0], mtx); + PSMTXConcat(mtx, &spC[0], mtx); GXLoadPosMtxImm(mtx, 0); GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); GXSetNumTexGens(1); @@ -1820,7 +1804,7 @@ void fn_1_64B4(ModelData *model, ParticleData *particle, Mtx matrix) var_r31->unk08.x = 20.0f; var_r31->unk08.y = 100.0f; var_r31->unk08.z = 0.0f; - VECNormalize(&var_r31->unk08, &var_r31->unk08); + PSVECNormalize(&var_r31->unk08, &var_r31->unk08); var_r31->unk40.r = var_r31->unk40.g = var_r31->unk40.b = var_r31->unk40.a = 0xFF; } var_r31 = var_r29->unk_48; @@ -1856,7 +1840,7 @@ void fn_1_64B4(ModelData *model, ParticleData *particle, Mtx matrix) sp20.x = sp38.x + (2500.0f * sp8.x); sp20.y = sp38.y + (2500.0f * sp8.y); sp20.z = sp38.z + (2500.0f * sp8.z); - var_f31 = -VECDotProduct(&var_r31->unk08, &sp14); + var_f31 = -PSVECDotProduct(&var_r31->unk08, &sp14); if (var_f31 >= 0.0f) { espTPLvlSet(particle->unk_02, 0.5f * var_f31 * var_f31); } @@ -1929,14 +1913,14 @@ void fn_1_6D24(omObjData *object) memset(var_r29, 0, sizeof(M442MainWork2)); var_r29->unk_16 = lbl_1_bss_11EE0++; var_r29->unk_18 = 1.0f; - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M442, 0x02)); + object->model[0] = Hu3DModelCreateFile(0x490002); Hu3DModelLayerSet(object->model[0], 7); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[0], 0x40000001); + Hu3DModelAttrSet(object->model[0], 1); object->model[1] = Hu3DParticleCreate(lbl_1_bss_11EFC, 0x64); Hu3DParticleHookSet(object->model[1], fn_1_7EBC); Hu3DModelLayerSet(object->model[1], 7); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[1], 1); for (var_r27 = 0, var_r30 = 1; var_r30 < 24; var_r30++) { for (var_r28 = 1; var_r28 < 24; var_r28++) { if (*(lbl_1_bss_11C6D + (var_r30 * 0x19) + var_r28) == 0) { @@ -1979,11 +1963,11 @@ void fn_1_72C4(omObjData *object) switch (var_r31->unk_02) { case 0: if (var_r31->unk_00_field0) { - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(object->model[0], 1); + Hu3DModelAttrReset(object->model[1], 1); var_r31->unk_02 = 1; var_r31->unk_18 = 0.0f; - var_r31->unk_0C = REFRESH_RATE; + var_r31->unk_0C = 60; } break; case 1: @@ -1991,7 +1975,7 @@ void fn_1_72C4(omObjData *object) var_r31->unk_18 += 0.05f; } var_r31->unk_02 = 2; - var_r31->unk_0C = var_r31->unk_0E = 0.75 * REFRESH_RATE; + var_r31->unk_0C = var_r31->unk_0E = 45; var_r31->unk_10 = HuAudFXPlay(lbl_1_data_23C[var_r31->unk_14]); break; case 2: @@ -2032,8 +2016,8 @@ s32 fn_1_75DC(Vec *arg0) for (var_r30 = 0; var_r30 < 15; var_r30++) { var_r28 = var_r29[var_r30]->data; if (var_r28->unk_00_field0 == 0) { - VECSubtract(&var_r29[var_r30]->trans, arg0, &spC); - var_f31 = VECMag(&spC); + PSVECSubtract(&var_r29[var_r30]->trans, arg0, &spC); + var_f31 = PSVECMag(&spC); if (var_f31 < 100.0f) { return var_r30; } @@ -2088,11 +2072,11 @@ void fn_1_7890(ModelData *model, ParticleData *particle, Mtx matrix) var_r31->unk34.x = 100.0 * (0.20000000298023224 * sind(var_f31)); var_r31->unk34.y = 0.0f; var_r31->unk34.z = 100.0 * (0.20000000298023224 * cosd(var_f31)); - var_f30 = (100.0f / REFRESH_RATE) + ((150.0f / REFRESH_RATE) * (frand() & 0xFF) / 256); + var_f30 = 1.6666666f + (2.5f * (frand() & 0xFF) / 256); var_f31 = 360.0f * (frand() & 0xFF) / 256; var_r31->unk08.x = var_f30 * sind(var_f31); var_r31->unk08.z = var_f30 * cosd(var_f31); - var_r31->unk08.y = (1000.0f / REFRESH_RATE) * (frand() & 0xFF) / 256; + var_r31->unk08.y = 16.666666f * (frand() & 0xFF) / 256; var_r31->unk40.r = var_r31->unk40.g = var_r31->unk40.b = var_r31->unk40.a = 0xFF; } } @@ -2103,7 +2087,7 @@ void fn_1_7890(ModelData *model, ParticleData *particle, Mtx matrix) var_r28++; } else { - var_r31->unk08.y += VERSION_NTSC ? -0.50000006f : -0.6f; + var_r31->unk08.y += -0.50000006f; var_r31->unk34.x += var_r31->unk08.x; var_r31->unk34.y += var_r31->unk08.y; var_r31->unk34.z += var_r31->unk08.z; @@ -2228,7 +2212,7 @@ void fn_1_8988(omObjData *arg0) case 1: fn_1_8738(0, 1, sind((90.0f * lbl_1_data_250[0]))); if (lbl_1_data_250[0] < 1.0f) { - lbl_1_data_250[0] += 1.0f / REFRESH_RATE; + lbl_1_data_250[0] += 0.016666668f; if (lbl_1_data_250[0] > 1.0f) { lbl_1_data_250[0] = 1.0f; return; @@ -2240,7 +2224,7 @@ void fn_1_8988(omObjData *arg0) case 2: fn_1_8738(1, 2, 1.0 - cosd((90.0f * lbl_1_data_250[1]))); if (lbl_1_data_250[1] < 1.0f) { - lbl_1_data_250[1] += 1.0f / REFRESH_RATE; + lbl_1_data_250[1] += 0.016666668f; if (lbl_1_data_250[1] > 1.0f) { lbl_1_data_250[1] = 1.0f; return; diff --git a/src/REL/m442Dll/score.c b/src/REL/m442Dll/score.c index 6fd5b7c8..08e37259 100644 --- a/src/REL/m442Dll/score.c +++ b/src/REL/m442Dll/score.c @@ -39,25 +39,25 @@ s32 fn_1_91AC(Process *arg0, s16 arg1) var_r31 = lbl_1_bss_11F48->data; var_r31->unk_08 = arg1; var_r31->unk_0A = 0; - var_r31->unk_18 = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x23), 2, 0); + var_r31->unk_18 = espEntry(0x610023, 2, 0); espTPLvlSet(var_r31->unk_18, 0.5f); espPosSet(var_r31->unk_18, 508.0f, 64.0f); espColorSet(var_r31->unk_18, 0, 0, 0); - var_r31->unk_1A = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x37), 1, 0); + var_r31->unk_1A = espEntry(0x610037, 1, 0); espPosSet(var_r31->unk_1A, 480.0f, 56.0f); for (var_r30 = 0; var_r30 < 3; var_r30++) { - var_r31->unk_0C[var_r30] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x30), 0, 0); + var_r31->unk_0C[var_r30] = espEntry(0x610030, 0, 0); espPosSet(var_r31->unk_0C[var_r30], (var_r30 * 0x10) + 0x1F4, 56.0f); espDispOff(var_r31->unk_0C[var_r30]); } for (var_r30 = 0; var_r30 < 3; var_r30++) { - var_r31->unk_0C[var_r30 + 3] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x31), 1, 0); + var_r31->unk_0C[var_r30 + 3] = espEntry(0x610031, 1, 0); espPosSet(var_r31->unk_0C[var_r30 + 3], (var_r30 * 0x10) + 0x1F4, 74.0f); } for (var_r30 = 0; var_r30 < 8; var_r30++) { espDispOff(var_r31->unk_0C[var_r30]); } - HuDataDirClose(DATADIR_MGCONST); + HuDataDirClose(0x610000); return fn_1_9520(0); } diff --git a/src/REL/m443Dll/main.c b/src/REL/m443Dll/main.c deleted file mode 100644 index acf8f914..00000000 --- a/src/REL/m443Dll/main.c +++ /dev/null @@ -1,1164 +0,0 @@ -#include "dolphin/gx/GXVert.h" -#include "ext_math.h" -#include "game/audio.h" -#include "game/flag.h" -#include "game/gamework.h" -#include "game/hsfman.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/sprite.h" -#include "game/wipe.h" -#include "math.h" - -#include "string.h" - -#ifndef __MWERKS__ -#include "game/esprite.h" -#include "game/frand.h" -#endif - -#include "REL/m443Dll.h" - -typedef struct M443DllWork { - u32 unk_00; - s32 unk_04; - s32 unk_08; - s32 unk_0C; - s32 unk_10; - u32 unk_14; - u32 unk_18; - u32 unk_1C; - u32 unk_20; - char unk24[4]; - s32 unk_28; - u32 unk_2C; - s32 unk_30; - s32 unk_34[4]; - float unk_44[4]; - u32 unk_54; - u32 unk_58; - s32 unk_5C; -} M443DllWork; /* size = 0x60 */ - -typedef struct M443DllData108Struct { - u32 unk_00; - s32 unk_04; -} M443DllData108Struct; /* size = 0x08 */ - -typedef struct M443DllUnkStruct { - s32 unk_00; - s32 unk_04; - float unk_08; - float unk_0C; - u32 unk_10; - u32 unk_14; - u32 unk_18; - s16 unk_1C[0x10]; -} M443DllUnkStruct; /* size = 0x3C */ - -void fn_1_1294(omObjData *); -void fn_1_17D8(omObjData *arg0); -omObjFunc fn_1_1C98(Process *arg0, omObjData *arg1); -void fn_1_1D8C(omObjData *); -omObjFunc fn_1_2490(Process *arg0, omObjData *arg1); -void fn_1_25A4(omObjData *); -void fn_1_2DD8(M443DllUnkStruct *arg0); -void fn_1_2F54(M443DllUnkStruct *arg0); -void fn_1_32C0(Process *arg0); -void fn_1_3370(omObjData *object); -void fn_1_3710(omObjData *); -void fn_1_3770(omObjData *object); -void fn_1_3D78(ModelData *, float[3][4]); -void fn_1_420(omObjData *object); -void fn_1_584(omObjData *arg0); -void fn_1_6D0(omObjData *); -void fn_1_9B0(omObjData *); -void fn_1_CE0(omObjData *); -void fn_1_ECC(omObjData *); - -Vec lbl_1_data_0 = { 100.0f, 800.0f, -100.0f }; - -Vec lbl_1_data_C = { 0.3f, -0.8f, 0.3f }; - -Vec lbl_1_data_18 = { 10.0f, 45.0f, 3500.0f }; - -GXColor lbl_1_data_24 = { 0xFF, 0xFF, 0xFF, 0xFF }; - -Vec lbl_1_data_28 = { 50.0f, 150000.0f, 50.0f }; - -Vec lbl_1_data_34 = { 0.0f, 1.0f, 0.0f }; - -Vec lbl_1_data_40 = { 0.0f, 0.0f, 0.0f }; - -Process *lbl_1_bss_74; -omObjData *lbl_1_bss_70; -omObjData *lbl_1_bss_6C; -omObjData *lbl_1_bss_68; -s16 lbl_1_bss_64; -s16 lbl_1_bss_5C[4]; -s16 lbl_1_bss_5A; -s16 lbl_1_bss_58; -s16 lbl_1_bss_56; -s16 lbl_1_bss_54; -s32 lbl_1_bss_50; -M443DllUnkStruct lbl_1_bss_14; -s16 lbl_1_bss_10[1]; // why only 1 long? -s32 lbl_1_bss_C; -s32 lbl_1_bss_8; -s32 lbl_1_bss_4; -s32 lbl_1_bss_0; - -void ObjectSetup(void) -{ - Vec sp14; - Vec sp8; - Process *var_r31; - LightData *var_r30; - - HuAudSndGrpSet(0x45); - lbl_1_bss_C = lbl_1_bss_8 = -1; - lbl_1_bss_4 = lbl_1_bss_0 = -1; - lbl_1_bss_5C[0] = Hu3DGLightCreateV(&lbl_1_data_0, &lbl_1_data_C, &lbl_1_data_24); - Hu3DGLightInfinitytSet(lbl_1_bss_5C[0]); - var_r30 = &Hu3DGlobalLight[lbl_1_bss_5C[0]]; - var_r30->unk_00 |= 0x8000; - - lbl_1_data_18.x = 55.74f; - lbl_1_data_18.y = 0.0f; - lbl_1_data_18.z = 3500.0f; - - sp14.x = sp14.y = sp14.z = 0.0f; - sp8.x = sp8.z = 0.0f; - sp8.y = lbl_1_data_18.z; - sp8.x = 0.0f; - sp8.y = 3480.0002f; - sp8.z = 900.00006f; - Hu3DGLightPosAimSetV(lbl_1_bss_5C[0], &sp8, &sp14); - - lbl_1_data_28.x = 100.0f; - lbl_1_data_28.y = 2000.0f; - lbl_1_data_28.z = 2000.0f; - lbl_1_data_34.x = 0.0f; - lbl_1_data_34.y = 1.0f; - lbl_1_data_34.z = 0.0f; - lbl_1_data_40.x = 0.0f; - lbl_1_data_40.y = 0.0f; - lbl_1_data_40.z = 700.0f; - Hu3DShadowCreate(30.0f, 20.0f, 25000.0f); - Hu3DShadowTPLvlSet(0.625f); - Hu3DShadowPosSet(&lbl_1_data_28, &lbl_1_data_34, &lbl_1_data_40); - lbl_1_bss_5A = lbl_1_bss_58 = lbl_1_bss_56 = lbl_1_bss_54 = -1; - lbl_1_bss_50 = 0; - var_r31 = omInitObjMan(0x32, 0x2000); - lbl_1_bss_74 = var_r31; - omGameSysInit(var_r31); - fn_1_2DD8(&lbl_1_bss_14); - fn_1_32C0(var_r31); - lbl_1_bss_70 = omAddObjEx(var_r31, 0xA, 0, 0, -1, fn_1_420); - fn_1_4A5C(var_r31); - fn_1_5444(var_r31); -} - -void fn_1_420(omObjData *object) -{ - M443DllWork *var_r31; - - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M443DllWork), MEMORY_DEFAULT_NUM); - var_r31 = object->data; - memset(var_r31, 0, sizeof(M443DllWork)); - var_r31->unk_00 = 0; - var_r31->unk_04 = 0; - var_r31->unk_0C = 0; - var_r31->unk_10 = 0; - var_r31->unk_14 = 0; - var_r31->unk_18 = 0; - var_r31->unk_28 = 0; - var_r31->unk_2C = 0; - var_r31->unk_08 = 0; - var_r31->unk_54 = 2; - var_r31->unk_58 = 0; - var_r31->unk_5C = 0; - object->func = fn_1_6D0; -} - -void fn_1_4E4(omObjData *object) -{ - M443DllWork *var_r31; - - var_r31 = object->data; - var_r31->unk_04++; - var_r31->unk_10++; - var_r31->unk_18++; - var_r31->unk_2C++; - fn_1_2F54(&lbl_1_bss_14); - if ((omSysExitReq != 0) && (var_r31->unk_00 != 5)) { - var_r31->unk_00 = 4; - fn_1_584(object); - } -} - -void fn_1_584(omObjData *object) -{ - M443DllWork *var_r31 = object->data; - - if (var_r31->unk_08 == 0) { - switch (var_r31->unk_00) { - case 0: - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - lbl_1_bss_14.unk_00 = 1; - var_r31->unk_00 = 1; - var_r31->unk_10 = 0; - object->func = fn_1_1C98(lbl_1_bss_74, object); - break; - case 1: - var_r31->unk_00 = 2; - var_r31->unk_18 = 0; - fn_1_3FE8(4); - object->func = fn_1_ECC; - break; - case 2: - var_r31->unk_00 = 3; - var_r31->unk_2C = 0; - object->func = fn_1_2490(lbl_1_bss_74, object); - break; - case 3: - case 4: - var_r31->unk_08 = 1; - var_r31->unk_00 = 5; - object->func = fn_1_9B0; - break; - case 5: - default: - var_r31->unk_00 = 5; - object->func = fn_1_CE0; - break; - } - var_r31->unk_04 = 0; - } -} - -void fn_1_6D0(omObjData *object) -{ - fn_1_4E4(object); - fn_1_584(object); -} - -void fn_1_9B0(omObjData *object) -{ - M443DllWork *var_r27 = object->data; - - fn_1_4E4(object); - - if (WipeStatGet() == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - if (lbl_1_bss_8 >= 0) { - HuAudFXStop(lbl_1_bss_8); - lbl_1_bss_8 = -1; - } - var_r27->unk_08 = 0; - fn_1_584(object); - } -} - -void fn_1_CE0(omObjData *object) -{ - fn_1_4E4(object); - - if (WipeStatGet() == 0) { - fn_1_565C(); - fn_1_4AB0(); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - } -} - -void fn_1_ECC(omObjData *object) -{ - M443DllWork *var_r29 = object->data; - - fn_1_4E4(object); - switch (var_r29->unk_14) { - case 0: - var_r29->unk_1C = 0x12C; - var_r29->unk_20 = 0x3C; - lbl_1_bss_5A = MGSeqCreate(3, 0); - MGSeqPosSet(lbl_1_bss_5A, 320.0f, 240.0f); - lbl_1_bss_64 = -1; - Center.x = 0.0f; - Center.y = 200.0f; - Center.z = 0.0f; - CRot.x = -30.0f; - CRot.y = 0.0f; - CRot.z = 0.0f; - CZoom = 1900.0f; - lbl_1_bss_14.unk_00 = 1; - var_r29->unk_14 = 1; - var_r29->unk_18 = 0; - break; - case 1: - if ((var_r29->unk_18 > 60.0f) && (lbl_1_bss_C >= 0)) { - HuAudFXFadeOut(lbl_1_bss_C, 0x1E); - lbl_1_bss_C = -1; - } - if ((MGSeqStatGet(lbl_1_bss_5A) == 0) && (var_r29->unk_08 == 0)) { - var_r29->unk_14 = 2; - var_r29->unk_18 = 0; - object->func = fn_1_1294; - } - break; - } -} - -void fn_1_1294(omObjData *object) -{ - s32 sp8[4]; - - float var_f31; - - s32 var_r30; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - - M443DllWork *var_r31 = object->data; - var_r25 = 0; - fn_1_4E4(object); - lbl_1_bss_14.unk_14++; - if (--var_r31->unk_20 == 0) { - var_r31->unk_20 = 0x3C; - var_r31->unk_1C--; - if (var_r31->unk_1C == 0) { - var_r31->unk_54 = 0; - var_r25 = 1; - } - } - if (var_r31->unk_1C <= 5) { - if (lbl_1_bss_64 < 0) { - lbl_1_bss_64 = MGSeqCreate(1, var_r31->unk_1C, -1, -1); - } - MGSeqParamSet(lbl_1_bss_64, 1, var_r31->unk_1C); - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if (var_r31->unk_44[var_r30] >= 40000.0f) { - var_r31->unk_54 = 1; - } - } - if (var_r31->unk_54 != 2) { - var_r25 = 1; - } - if (var_r25 != 0) { - if (var_r31->unk_54 == 1) { - for (var_r30 = 0; var_r30 < 4; var_r30++) { - sp8[var_r30] = var_r30; - } - for (var_r24 = 0; var_r24 < 0xA; var_r24++) { - for (var_r30 = 0; var_r30 < 3; var_r30++) { - for (var_r26 = var_r30 + 1; var_r26 < 4; var_r26++) { - if ((var_r31->unk_44[var_r30] < var_r31->unk_44[var_r26]) - || ((var_r31->unk_44[var_r30] == var_r31->unk_44[var_r26]) && (frandmod(0x3E8) < 0x2BC))) { - var_f31 = var_r31->unk_44[var_r30]; - var_r31->unk_44[var_r30] = var_r31->unk_44[var_r26]; - var_r31->unk_44[var_r26] = var_f31; - var_r23 = sp8[var_r30]; - sp8[var_r30] = sp8[var_r26]; - sp8[var_r26] = var_r23; - } - } - } - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - var_r31->unk_34[sp8[var_r30]] = var_r30; - } - var_r31->unk_30 = sp8[0]; - } - lbl_1_bss_58 = MGSeqCreate(3, 1); - MGSeqPosSet(lbl_1_bss_58, 320.0f, 240.0f); - if (GWPlayerCfg[var_r31->unk_30].iscom == 0) { - if (lbl_1_bss_14.unk_14 < lbl_1_bss_14.unk_10) { - GWMGRecordSet(5, lbl_1_bss_14.unk_14); - lbl_1_bss_50 = 1; - } - if (lbl_1_bss_14.unk_14 <= 0x258) { - GWGameStat.present[0x39] = 1; - OSReport("Present For You!!!\n"); - } - } - lbl_1_bss_8 = HuAudFXPlay(0x735); - fn_1_3FE8(3); - var_r31->unk_14 = 3; - var_r31->unk_18 = 0; - if (var_r31->unk_08 == 0) { - object->func = fn_1_17D8; - } - } -} - -void fn_1_17D8(omObjData *object) -{ - M443DllWork *var_r27 = object->data; - s32 var_r25 = 0; - - if (lbl_1_bss_64 >= 0) { - MGSeqParamSet(lbl_1_bss_64, 2, -1); - lbl_1_bss_64 = -1; - } - fn_1_4E4(object); - if (var_r27->unk_14 == 3) { - if (var_r27->unk_54 == 1) { - M443DllCameraStruct *var_r31 = fn_1_4148(var_r27->unk_30 + 1); - if (var_r31->unk_A0 == 0) { - var_r31->unk_78 = var_r31->unk_44; - var_r31->unk_7C = var_r31->unk_48; - var_r31->unk_80 = var_r31->unk_40; - var_r31->unk_04 = 0x3E8; - } - if (var_r31->unk_A0 <= 0x3C) { - float var_f31 = 0.016666668f * var_r31->unk_A0; - var_r31->unk_44 = var_r31->unk_78 + ((320.0f - var_r31->unk_78) * var_f31); - var_r31->unk_48 = var_r31->unk_7C + ((240.0f - var_r31->unk_7C) * var_f31); - var_r31->unk_40 = var_r31->unk_80 + ((2.0f - var_r31->unk_80) * var_f31); - } - else { - var_r25 = 1; - } - var_r31->unk_A0 = var_r31->unk_A0 + 1; - } - else { - var_r25 = 1; - } - if ((MGSeqStatGet(lbl_1_bss_58) == 0) && (var_r27->unk_58 == 0x1111) && (var_r25 != 0)) { - if (var_r27->unk_08 == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - } - var_r27->unk_14 = 4; - var_r27->unk_18 = 0; - } - } - else if (WipeStatGet() == 0) { - var_r27->unk_14 = 5; - var_r27->unk_18 = 0; - fn_1_584(object); - } -} - -omObjFunc fn_1_1C98(Process *process, omObjData *object) -{ - CRot.x = -80.5f; - CRot.y = CRot.z = 0.0f; - Center.x = 0.0f; - Center.y = 0.0f; - Center.z = 0.0f; - CZoom = 1000.0f; - object->work[0] = object->work[1] = 0; - fn_1_3FE8(1); - lbl_1_bss_C = HuAudFXPlay(0x734); - - return fn_1_1D8C; -} - -Vec lbl_1_data_60[6] = { - { -500.0f, 150.0f, 350.0f }, - { -500.0f, 150.0f, 350.0f }, - { 500.0f, 150.0f, 350.0f }, - { 500.0f, 150.0f, 350.0f }, - { 0.0f, 150.0f, 350.0f }, - { 0.0f, 150.0f, 350.0f }, -}; - -Vec lbl_1_data_A8[6] = { - { -1.5f, -40.0f, 880.0f }, - { -1.5f, -40.0f, 880.0f }, - { -20.0f, 40.0f, 1000.0f }, - { -40.0f, 130.0f, 1300.0f }, - { -40.0f, 180.0f, 1500.0f }, - { -40.0f, 180.0f, 1500.0f }, -}; - -s32 lbl_1_data_F0[6] = { 0x3C, 0x5A, 0x6C, 0x96, 0x6C, 0 }; - -void fn_1_1D8C(omObjData *object) -{ - Vec sp8; - - float var_f31; - M443DllCameraStruct *var_r27; - - M443DllWork *var_r26 = object->data; - fn_1_4E4(object); - var_r26->unk_0C = 1; - object->work[0]++; - if ((object->work[1] == 1) && (lbl_1_bss_4 < 0)) { - lbl_1_bss_4 = HuAudSStreamPlay(0xB); - } - var_f31 = (float)object->work[0] / lbl_1_data_F0[object->work[1]]; - VECSubtract(&lbl_1_data_60[object->work[1] + 1], &lbl_1_data_60[object->work[1]], &sp8); - VECScale(&sp8, &sp8, var_f31); - VECAdd(&lbl_1_data_60[object->work[1]], &sp8, &sp8); - Center.x = sp8.x; - Center.y = sp8.y; - Center.z = sp8.z; - VECSubtract(&lbl_1_data_A8[object->work[1] + 1], &lbl_1_data_A8[object->work[1]], &sp8); - VECScale(&sp8, &sp8, var_f31); - VECAdd(&lbl_1_data_A8[object->work[1]], &sp8, &sp8); - CRot.x = sp8.x; - CRot.y = sp8.y; - CRot.z = 0.0f; - CZoom = sp8.z; - var_r27 = fn_1_4148(0); - var_r27->unk_1C = Center; - var_r27->unk_28 = CRot; - var_r27->unk_34 = CZoom; - if (object->work[1] == 3) { - fn_1_3FE8(2); - } - if (var_f31 >= 1.0f) { - object->work[0] = 0; - object->work[1] += 1; - if (lbl_1_data_F0[object->work[1]] == 0) { - var_r26->unk_0C = 2; - fn_1_584(object); - } - } -} - -omObjFunc fn_1_2490(Process *process, omObjData *object) -{ - M443DllCameraStruct *var_r31; - M443DllWork *var_r30 = object->data; - - if (var_r30->unk_08 == 0) { - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - } - fn_1_3FE8(1); - var_r31 = fn_1_4148(0); - if (var_r30->unk_54 == 1) { - var_r31->unk_1C.x = 70.0f; - var_r31->unk_1C.y = 250.0f; - var_r31->unk_1C.z = 500.0f; - } - else { - var_r31->unk_1C.x = 0.0f; - var_r31->unk_1C.y = 150.0f; - var_r31->unk_1C.z = 1000.0f; - } - var_r31->unk_28.x = -10.0f; - var_r31->unk_28.y = 0.0f; - - var_r31->unk_34 = 800.0f; - return fn_1_25A4; -} - -void fn_1_25A4(omObjData *object) -{ - M443DllWork *var_r28 = object->data; - s32 var_r22 = 1; - - fn_1_4E4(object); - if (lbl_1_bss_50 != 0) { - var_r22 = 0; - if (lbl_1_bss_56 < 0) { - lbl_1_bss_56 = MGSeqCreate(0xE, lbl_1_bss_14.unk_14); - lbl_1_bss_14.unk_04 = 1; - } - else if (MGSeqStatGet(lbl_1_bss_56) == 0) { - var_r22 = 1; - lbl_1_bss_50 = 0; - } - } - if ((WipeStatGet() != 0) || (var_r22 == 0)) { - var_r28->unk_2C = 0; - return; - } - var_r28->unk_28 = 1; - if (lbl_1_bss_0 < 0) { - if (var_r28->unk_54 == 1) { - lbl_1_bss_0 = HuAudSStreamPlay(1); - } - else { - lbl_1_bss_0 = HuAudSStreamPlay(4); - } - } - if (lbl_1_bss_54 < 0) { - if (var_r28->unk_54 == 1) { - lbl_1_bss_54 = MGSeqCreate(5, 3, GWPlayerCfg[var_r28->unk_30].character, -1, -1, -1); - GWPlayerCoinWinAdd(var_r28->unk_30, 10); - } - else { - lbl_1_bss_54 = MGSeqCreate(5, 2); - } - } - else if ((MGSeqStatGet(lbl_1_bss_54) == 0) && (var_r28->unk_2C >= 210.0f)) { - var_r28->unk_28 = 2; - fn_1_584(object); - } -} - -M443DllData108Struct lbl_1_data_108[0x10] = { - { 0x4A001F, 0x10E }, - { 0x610037, 0xFA }, - { 0x610030, 0xFA }, - { 0x610030, 0xFA }, - { 0x610030, 0xFA }, - { 0x610030, 0xFA }, - { 0x610030, 0xFA }, - { 0x610030, 0xFA }, - { 0x610030, 0xFA }, - { 0x610031, 0xFA }, - { 0x610031, 0xFA }, - { 0x610031, 0xFA }, - { 0x610031, 0xFA }, - { 0x610031, 0xFA }, - { 0x610031, 0xFA }, - { 0x610031, 0xFA }, -}; - -void fn_1_2DD8(M443DllUnkStruct *arg0) -{ - s32 var_r30; - - memset(arg0, 0, sizeof(M443DllUnkStruct)); - arg0->unk_10 = GWMGRecordGet(5); - if (arg0->unk_10 == 0) { - arg0->unk_10 = 0xE10; - } - arg0->unk_08 = 320.0f; - arg0->unk_0C = 64.0f; - for (var_r30 = 0; var_r30 < 0x10; var_r30++) { - arg0->unk_1C[var_r30] = -1; - if (lbl_1_data_108[var_r30].unk_00 != 0) { - arg0->unk_1C[var_r30] = espEntry(lbl_1_data_108[var_r30].unk_00, lbl_1_data_108[var_r30].unk_04, 0); - espAttrSet(arg0->unk_1C[var_r30], HUSPR_ATTR_LINEAR); - espDispOff(arg0->unk_1C[var_r30]); - } - } - espColorSet(arg0->unk_1C[0], 0, 0, 0); - espTPLvlSet(arg0->unk_1C[0], 0.699999988079071); - espBankSet(arg0->unk_1C[7], 0xB); - espBankSet(arg0->unk_1C[8], 0xA); - espBankSet(arg0->unk_1C[14], 0xB); - espBankSet(arg0->unk_1C[15], 0xA); -} - -Vec2f lbl_1_data_188[0x10] = { - { 0.0f, 0.0f }, - { -52.0f, -9.0f }, - { 53.0f, -8.0f }, - { 35.0f, -8.0f }, - { 9.0f, -8.0f }, - { -9.0f, -8.0f }, - { -31.0f, -8.0f }, - { 23.0f, -8.0f }, - { -17.0f, -8.0f }, - { 53.0f, 8.0f }, - { 35.0f, 8.0f }, - { 9.0f, 8.0f }, - { -9.0f, 8.0f }, - { -31.0f, 8.0f }, - { 23.0f, 8.0f }, - { -17.0f, 8.0f }, -}; - -void fn_1_2F54(M443DllUnkStruct *arg0) -{ - u32 sp8[3]; - float var_f31; - - s32 var_r30; - u32 var_r29; - s32 var_r28; - s32 var_r27; - - for (var_r30 = 0; var_r30 < 0x10; var_r30++) { - if (arg0->unk_1C[var_r30] >= 0) { - if (arg0->unk_00 == 0) { - espDispOff(arg0->unk_1C[var_r30]); - } - else { - espDispOn(arg0->unk_1C[var_r30]); - espPosSet(arg0->unk_1C[var_r30], 0.9f * (arg0->unk_08 + lbl_1_data_188[var_r30].x), arg0->unk_0C + lbl_1_data_188[var_r30].y); - } - } - } - arg0->unk_18++; - if (arg0->unk_04 != 0) { - var_r29 = arg0->unk_14; - arg0->unk_10 = var_r29; - var_f31 = 1.100000023841858 + (0.10000000149011612 * sind((22.5f * (arg0->unk_18 & 0xF)))); - espScaleSet(arg0->unk_1C[1], var_f31, var_f31); - for (var_r30 = 2; var_r30 <= 6; var_r30++) { - espScaleSet(arg0->unk_1C[var_r30], var_f31, var_f31); - } - for (var_r30 = 7; var_r30 <= 8; var_r30++) { - espScaleSet(arg0->unk_1C[var_r30], var_f31, var_f31); - } - } - for (var_r30 = 0; var_r30 < 2; var_r30++) { - if (var_r30 != 0) { - var_r29 = arg0->unk_14; - var_r27 = 9; - } - else { - var_r29 = arg0->unk_10; - var_r27 = 2; - } - sp8[0] = var_r29 % 60; - var_r29 = (var_r29 - sp8[0]) / 60; - sp8[0] = 100.0f * (0.016666668f * sp8[0]); - sp8[1] = var_r29 % 60; - var_r29 = (var_r29 - sp8[1]) / 60; - sp8[2] = var_r29; - for (var_r28 = 0; var_r28 < 3; var_r28++) { - espBankSet(arg0->unk_1C[var_r27++], sp8[var_r28] % 10); - if (var_r28 < 2) { - espBankSet(arg0->unk_1C[var_r27++], sp8[var_r28] / 10); - } - } - } -} - -void fn_1_32C0(Process *process) -{ - Hu3DCameraCreate(0x1F); - lbl_1_bss_6C = omAddObjEx(process, 0x7FDA, 0, 0, -1, omOutViewMulti); - lbl_1_bss_6C->work[0] = 5; - lbl_1_bss_68 = omAddObjEx(process, 0xC, 1, 0, -1, fn_1_3370); - lbl_1_bss_68->work[0] = 0; -} - -void fn_1_3370(omObjData *object) -{ - M443DllCameraStruct *var_r31; - s32 var_r30; - M443DllCameraStruct *var_r28; - - float sp1C[5][4] = { - { 320.0f, 240.0f, 640.0f, 416.0f }, - { 160.0f, 136.0f, 320.0f, 208.0f }, - { 480.0f, 136.0f, 320.0f, 208.0f }, - { 160.0f, 344.0f, 320.0f, 208.0f }, - { 480.0f, 344.0f, 320.0f, 208.0f }, - }; - s32 sp8[5] = { 1, 2, 4, 8, 16 }; - - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, 10 * sizeof(M443DllCameraStruct), MEMORY_DEFAULT_NUM); - var_r28 = object->data; - memset(var_r28, 0, 10 * sizeof(M443DllCameraStruct)); - object->model[0] = Hu3DHookFuncCreate(fn_1_3D78); - Hu3DModelLayerSet(*object->model, 0); - Hu3DModelCameraSet(*object->model, 0x1E); - for (var_r31 = var_r28, var_r30 = 0; var_r30 < 5; var_r30++, var_r31++) { - var_r31->unk_00 = 1; - var_r31->unk_04 = var_r30 * 0x64; - var_r31->unk_10 = 41.5f; - var_r31->unk_14 = 100.0f; - var_r31->unk_18 = 60000.0f; - var_r31->unk_1C.x = 0.0f; - var_r31->unk_1C.y = 0.0f; - var_r31->unk_1C.z = 0.0f; - var_r31->unk_28.x = -15.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_34 = 1000.0f; - var_r31->unk_40 = 1.0f; - var_r31->unk_44 = sp1C[var_r30][0]; - var_r31->unk_48 = sp1C[var_r30][1]; - var_r31->unk_4C = sp1C[var_r30][2]; - var_r31->unk_50 = sp1C[var_r30][3]; - var_r31->unk_3C = var_r31->unk_0C = sp8[var_r30]; - var_r31->unk_08 = var_r30; - var_r31->unk_38 = var_r30; - } - object->work[1] = 0; - for (var_r30 = 0; var_r30 < 2; var_r30++) { - lbl_1_bss_10[var_r30] = espEntry(0x4A001E, 0x12C, 0); - espPosSet(lbl_1_bss_10[var_r30], 288.0, 240.0); - if (var_r30 != 0) { - espScaleSet(lbl_1_bss_10[var_r30], 0.22499999403953552, 60.0); - } - else { - espScaleSet(lbl_1_bss_10[var_r30], 72.0, 0.25); - } - espColorSet(lbl_1_bss_10[var_r30], 0, 0, 0); - espTPLvlSet(lbl_1_bss_10[var_r30], 1.0); - espDispOff(lbl_1_bss_10[var_r30]); - } - object->work[0]++; - fn_1_3770(object); - object->func = fn_1_3710; -} - -void fn_1_3710(omObjData *arg0) -{ - M443DllWork *sp8 = arg0->data; - s32 spC[4] = { 0x100, 0x200, 0x400, 0x800 }; - fn_1_3770(arg0); -} - -void fn_1_3770(omObjData *arg0) -{ - float var_f31; - - M443DllCameraStruct *var_r31; - s32 var_r30; - s32 var_r29; - M443DllCameraStruct *var_r28; - s32 var_r26; - u32 var_r25; - s32 var_r24; - s32 var_r23; - u32 var_r22; - u32 var_r21; - - var_r28 = arg0->data; - { - s32 sp40[4] = { 2, 4, 8, 16 }; - u32 sp30[4]; - s32 sp20[4]; - float sp18[2]; - float sp10[2]; - float sp8[2]; - - var_r24 = 0; - var_r26 = 0; - memcpy(&var_r28[5], var_r28, 5 * sizeof(M443DllCameraStruct)); - switch (arg0->work[1]) { - case 0: - break; - case 1: - var_r26 |= 1; - break; - case 2: - var_r26 |= 1; - case 3: - var_r24 = 1; - case 4: - var_r26 |= 0x1E; - break; - } - if (var_r24 != 0) { - Hu3DModelAttrReset(arg0->model[0], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - sp30[var_r30] = var_r28[var_r30 + 6].unk_04; - sp20[var_r30] = var_r30; - } - for (var_r30 = 0; var_r30 < 3; var_r30++) { - for (var_r29 = var_r30 + 1; var_r29 < 4; var_r29++) { - if ((var_r30 != var_r29) && (sp30[var_r30] > sp30[var_r29])) { - var_r25 = sp30[var_r30]; - sp30[var_r30] = sp30[var_r29]; - sp30[var_r29] = var_r25; - var_r25 = sp20[var_r30]; - sp20[var_r30] = sp20[var_r29]; - sp20[var_r29] = var_r25; - } - } - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - var_r28[sp20[var_r30] + 6].unk_3C = sp40[var_r30]; - var_r28[sp20[var_r30] + 6].unk_38 = var_r30 + 1; - } - Hu3DCamera[5].fov = -1.0f; - for (var_r31 = &var_r28[5], var_r30 = 0; var_r30 < 5; var_r30++, var_r31++) { - if ((var_r31->unk_00 == 0) || ((var_r26 & var_r31->unk_0C) == 0)) { - Hu3DCamera[var_r31->unk_38].fov = -1.0f; - } - else { - var_f31 = 1.2f * ((var_r31->unk_4C / 640.0f) / (var_r31->unk_50 / 480.0f)); - sp18[0] = var_r31->unk_4C * var_r31->unk_40; - sp18[1] = var_r31->unk_50 * var_r31->unk_40; - Hu3DCameraPerspectiveSet(var_r31->unk_3C, var_r31->unk_10, var_r31->unk_14, var_r31->unk_18, var_f31); - Hu3DCameraViewportSet( - var_r31->unk_3C, var_r31->unk_44 - (0.5f * sp18[0]), var_r31->unk_48 - (0.5f * sp18[1]), sp18[0], sp18[1], 0.0f, 1.0f); - sp10[0] = var_r31->unk_44 - (0.5f * sp18[0]); - sp10[1] = var_r31->unk_48 - (0.5f * sp18[1]); - sp8[0] = var_r31->unk_44 + (0.5f * sp18[0]); - sp8[1] = var_r31->unk_48 + (0.5f * sp18[1]); - if (sp10[0] < 0.0f) { - sp10[0] = 0.0f; - } - if (sp10[1] < 0.0f) { - sp10[1] = 0.0f; - } - if (sp8[0] > 640.0f) { - sp8[0] = 640.0f; - } - if (sp8[1] > 480.0f) { - sp8[1] = 480.0f; - } - sp8[0] -= sp10[0]; - sp8[1] -= sp10[1]; - Hu3DCameraScissorSet(var_r31->unk_3C, sp10[0], sp10[1], sp8[0], sp8[1]); - var_r29 = var_r31->unk_38; - CenterM[var_r29].x = var_r31->unk_1C.x; - CenterM[var_r29].y = var_r31->unk_1C.y; - CenterM[var_r29].z = var_r31->unk_1C.z; - CRotM[var_r29].x = var_r31->unk_28.x; - CRotM[var_r29].y = var_r31->unk_28.y; - CRotM[var_r29].z = var_r31->unk_28.z; - CZoomM[var_r29] = var_r31->unk_34; - } - } - } - if (arg0->work[1] == 4) { - espDispOn(lbl_1_bss_10[0]); - espDispOn(lbl_1_bss_10[1]); - return; - } - espDispOff(lbl_1_bss_10[0]); - espDispOff(lbl_1_bss_10[1]); -} - -GXColor lbl_1_data_208 = { 0x00, 0x00, 0x00, 0x00 }; - -void fn_1_3D78(ModelData *arg0, Mtx arg1) -{ - Mtx spC; - - MTXIdentity(spC); - GXLoadPosMtxImm(spC, 0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - GXSetNumTexGens(0); - GXSetNumTevStages(1); - GXSetTevColor(GX_TEVREG0, lbl_1_data_208); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetBlendMode(GX_BM_NONE, GX_BL_ONE, GX_BL_ZERO, GX_LO_SET); - GXSetZMode(GX_TRUE, GX_ALWAYS, GX_TRUE); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(-45000.0f, 30000.0f, -59900.0f); - GXPosition3f32(45000.0f, 30000.0f, -59900.0f); - GXPosition3f32(45000.0f, -30000.0f, -59900.0f); - GXPosition3f32(-45000.0f, -30000.0f, -59900.0f); -} - -void fn_1_3FE8(u32 arg0) -{ - lbl_1_bss_68->work[1] = arg0; -} - -u32 fn_1_3FFC(void) -{ - return lbl_1_bss_68->work[1]; -} - -M443DllCameraStruct *fn_1_4010(s32 arg0) -{ - M443DllCameraStruct *var_r31; - s32 var_r30; - M443DllCameraStruct *var_r29; - - var_r29 = lbl_1_bss_68->data; - for (var_r31 = var_r29, var_r30 = 0; var_r30 < 5; var_r30++, var_r31++) { - if (var_r31->unk_0C & arg0) { - break; - } - } - if (var_r30 >= 5) { - OSReport("M443:Camera Flag Error!!\n"); - return NULL; - } - return var_r31; -} - -M443DllCameraStruct *fn_1_40AC(s32 arg0) -{ - M443DllCameraStruct *var_r31; - s32 var_r30; - M443DllCameraStruct *var_r29; - - var_r29 = lbl_1_bss_68->data; - for (var_r31 = &var_r29[5], var_r30 = 0; var_r30 < 5; var_r30++, var_r31++) { - if (var_r31->unk_0C & arg0) { - break; - } - } - if (var_r30 >= 5) { - OSReport("M443:Camera Flag Error!!\n"); - return NULL; - } - return var_r31; -} - -// Get camera -M443DllCameraStruct *fn_1_4148(u32 arg0) -{ - M443DllCameraStruct *var_r31 = lbl_1_bss_68->data; - if (arg0 >= 5) { - OSReport("M443:Camera No. Error!!\n"); - return NULL; - } - return &var_r31[arg0]; -} - -M443DllCameraStruct *fn_1_41B0(u32 arg0) -{ - M443DllCameraStruct *var_r31 = lbl_1_bss_68->data; - if (arg0 >= 5) { - OSReport("M443:Camera No. Error!!\n"); - return NULL; - } - return &var_r31[arg0 + 5]; -} - -void fn_1_421C(s32 arg0, s32 arg1) -{ - M443DllCameraStruct *var_r31; - s32 var_r30; - M443DllCameraStruct *var_r28; - M443DllCameraStruct *var_r27; - - s32 var_r29 = 0; - if (arg0 >= 0) { - var_r27 = lbl_1_bss_68->data; - var_r28 = &var_r27[5]; - for (var_r31 = var_r28, var_r30 = 0; var_r30 < 5; var_r30++, var_r31++) { - if (var_r31->unk_0C & arg1) { - var_r29 |= var_r31->unk_3C; - } - } - Hu3DModelCameraSet(arg0, var_r29); - } -} - -s32 fn_1_42B4(void) -{ - return ((M443DllWork *)lbl_1_bss_70->data)->unk_00; -} - -u32 fn_1_42CC(void) -{ - return ((M443DllWork *)lbl_1_bss_70->data)->unk_0C; -} - -u32 fn_1_42E4(void) -{ - return ((M443DllWork *)lbl_1_bss_70->data)->unk_14; -} - -u32 fn_1_42FC(void) -{ - return ((M443DllWork *)lbl_1_bss_70->data)->unk_28; -} - -void fn_1_4314(s32 arg0, float arg8) -{ - M443DllWork *var_r31 = lbl_1_bss_70->data; - - if (fn_1_42E4() == 2) { - var_r31->unk_44[arg0] = arg8; - } -} - -s32 fn_1_4368(s32 arg0) -{ - M443DllWork *var_r31 = lbl_1_bss_70->data; - - if (var_r31->unk_54 == 1) { - return var_r31->unk_34[arg0]; - } - return -1; -} - -void fn_1_43AC(s32 arg0) -{ - ((M443DllWork *)lbl_1_bss_70->data)->unk_58 |= (1 << ((arg0 & 7) * 4)); -} - -void fn_1_43DC(s32 arg0) -{ - ((M443DllWork *)lbl_1_bss_70->data)->unk_5C |= (1 << ((arg0 & 3) * 4)); -} - -s32 fn_1_440C(void) -{ - return MGSeqStatGet(lbl_1_bss_58) == 0; -} - -void fn_1_4444(Vec *arg0, Vec *arg1) -{ - Vec sp10; - float var_f30; - - VECSubtract(arg1, arg0, &sp10); - Center = *arg1; - var_f30 = (sp10.x * sp10.x) + (sp10.z * sp10.z); - CRot.x = atan2d(sp10.y, sqrtf(var_f30)); - CRot.y = atan2d(-sp10.x, -sp10.z); - CRot.z = 0.0f; - CZoom = VECMag(&sp10); -} - -void fn_1_464C(float arg8, float arg9, float argA, float argB, float argC, float argD) -{ - Vec sp3C; - Vec sp30; - Vec sp24; - float var_f30; - - sp3C.x = arg8; - sp3C.y = arg9; - sp3C.z = argA; - sp30.x = argB; - sp30.y = argC; - sp30.z = argD; - VECSubtract(&sp30, &sp3C, &sp24); - Center = sp30; - var_f30 = (sp24.x * sp24.x) + (sp24.z * sp24.z); - CRot.x = atan2d(sp24.y, sqrtf(var_f30)); - CRot.y = atan2d(-sp24.x, -sp24.z); - CRot.z = 0.0f; - CZoom = VECMag(&sp24); -} - -float fn_1_488C(float arg8, float arg9, float argA) -{ - float var_f31; - float var_f30; - float var_f29; - - var_f30 = fmod(arg9 - arg8, 360.0); - var_f31 = var_f30; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - var_f29 = fmod(arg8 + (argA * var_f31), 360.0); - var_f31 = var_f29; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - return var_f31; -} - -float fn_1_49A8(float arg8, float arg9) -{ - float var_f31; - float var_f30; - - var_f30 = fmod(arg9 - arg8, 360.0); - var_f31 = var_f30; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - return var_f31; -} diff --git a/src/REL/m443Dll/map.c b/src/REL/m443Dll/map.c deleted file mode 100644 index d79414dc..00000000 --- a/src/REL/m443Dll/map.c +++ /dev/null @@ -1,183 +0,0 @@ -#include "datadir_enum.h" -#include "ext_math.h" -#include "game/audio.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" - -#include "REL/m443Dll.h" - -void fn_1_4AB4(omObjData *object); -void fn_1_4D14(omObjData *object); - -s32 lbl_1_data_240[5] = { 1, 2, 4, 8, 0x10 }; - -void fn_1_4A5C(Process *process) -{ - omObjData *var_r31 = omAddObjEx(process, 0x1E, 0xD, 0, -1, fn_1_4AB4); - var_r31->work[0] = 0; -} - -void fn_1_4AB0(void) { } - -void fn_1_4AB4(omObjData *object) -{ - s32 var_r30; - - omSetTra(object, 0.0f, 0.0f, 0.0f); - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M443, 0)); - Hu3DModelLayerSet(object->model[0], 2); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M443, 2)); - Hu3DModelLayerSet(object->model[2], 2); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - object->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M443, 4)); - Hu3DModelLayerSet(object->model[3], 2); - Hu3DMotionSpeedSet(object->model[3], 0.0f); - object->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M443, 3)); - Hu3DModelLayerSet(object->model[4], 2); - for (var_r30 = 0; var_r30 < 4; var_r30++) { - object->model[var_r30 + 5] = Hu3DModelLink(object->model[4]); - Hu3DModelLayerSet(object->model[var_r30 + 5], 2); - Hu3DModelScaleSet(object->model[var_r30 + 5], 0.93f, 0.93f, 0.93f); - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - object->model[var_r30 + 9] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M443, 1)); - Hu3DModelLayerSet(object->model[var_r30 + 9], 2); - Hu3DMotionSpeedSet(object->model[var_r30 + 9], 0.0f); - } - object->work[0] = 0; - object->work[1] = 0; - object->work[2] = 0; - object->work[3] = 0; - object->func = fn_1_4D14; -} - -typedef struct M443DllMapUnkStruct { - Vec unk_00[4]; - float unk_30; -} M443DllMapUnkStruct; /* size = 0x34 */ - -void fn_1_4D14(omObjData *object) -{ - float var_f31; - float var_f30; - - M443DllCameraStruct *var_r30; - s32 var_r29; - s32 var_r28; - - var_r28 = 1; - { - Mtx sp5C; - Vec sp20; - Vec sp14; - Vec sp8 = { 0.0f, 0.0f, 0.0f }; - Vec sp2C[4] = { - { -50.0f, 0.0f, -150.0f }, - { 50.0f, 0.0f, -150.0f }, - { -50.0f, 0.0f, -150.0f }, - { 50.0f, 0.0f, -150.0f }, - }; - - for (var_r29 = 0; var_r29 < 5; var_r29++) { - var_r30 = fn_1_40AC(lbl_1_data_240[var_r29]); - sp20.x = var_r30->unk_1C.x + (var_r30->unk_34 * (sind(var_r30->unk_28.y) * cosd(var_r30->unk_28.x))); - sp20.y = var_r30->unk_1C.y + (var_r30->unk_34 * -sind(var_r30->unk_28.x)); - sp20.z = var_r30->unk_1C.z + (var_r30->unk_34 * (cosd(var_r30->unk_28.y) * cosd(var_r30->unk_28.x))); - Hu3DModelPosSetV(object->model[var_r29 + 4], &sp20); - fn_1_421C(object->model[var_r29 + 4], lbl_1_data_240[var_r29]); - } - object->work[1] += 1; - var_f31 = 150.0f; - switch (object->work[0]) { - case 0: - if (fn_1_3FFC() == 4) { - object->work[0] += 1; - object->work[1] = 0; - } - break; - case 1: - var_f30 = 1.0f - (0.016666668f * object->work[1]); - if (var_f30 <= 0.0f) { - object->work[0] += 1; - object->work[1] = 0; - var_f30 = 0.0f; - } - var_f31 = var_f31 * var_f30; - break; - case 2: - var_f31 = 0.0f; - if (fn_1_42E4() < 2) { - object->work[1] = 0; - } - if (object->work[1] >= 60.0f) { - object->work[0] += 1; - object->work[1] = 0; - } - break; - case 3: - var_f30 = 0.016666668f * object->work[1]; - if (var_f30 > 1.0f) { - object->work[0] += 1; - object->work[1] = 0; - var_r28 = 0; - } - var_f31 = var_f31 * var_f30; - break; - default: - var_r28 = 0; - break; - } - for (var_r29 = 0; var_r29 < 4; var_r29++) { - var_r30 = fn_1_40AC(lbl_1_data_240[var_r29 + 1]); - mtxRot(sp5C, var_r30->unk_28.x, var_r30->unk_28.y, 0.0f); - sp8.z = var_r30->unk_34; - MTXMultVec(sp5C, &sp8, &sp14); - VECAdd(&var_r30->unk_1C, &sp14, &sp20); - sp2C[var_r29].y += var_f31; - MTXMultVec(sp5C, &sp2C[var_r29], &sp14); - VECAdd(&sp20, &sp14, &sp20); - Hu3DModelPosSetV(object->model[var_r29 + 9], &sp20); - Hu3DModelRotSet(object->model[var_r29 + 9], var_r30->unk_28.x, var_r30->unk_28.y, 0.0f); - Hu3DModelScaleSet(object->model[var_r29 + 9], 0.15f, 0.15f, 0.15f); - fn_1_421C(object->model[var_r29 + 9], lbl_1_data_240[var_r29 + 1]); - if (fn_1_42E4() >= 1) { - if (object->work[2] == 0) { - object->work[2] = 1; - object->work[3] = 0; - } - Hu3DMotionSpeedSet(object->model[var_r29 + 9], 0.95f); - if (var_r28 == 0) { - Hu3DModelAttrSet(object->model[var_r29 + 9], HU3D_ATTR_DISPOFF); - } - } - } - if (object->work[2] != 0) { - object->work[3] += 1; - if (object->work[3] >= 60.0f) { - switch (object->work[2]) { - case 1: - case 2: - HuAudFXPlay(0x725); - break; - case 3: - HuAudFXPlay(0x726); - break; - } - object->work[2] += 1; - object->work[3] = 0; - } - } - if (fn_1_42E4() == 2) { - Hu3DMotionSpeedSet(object->model[3], 1.0f); - } - else if (fn_1_42E4() == 5) { - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); - } - if (fn_1_42E4() == 5) { - Hu3DModelAttrReset(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelShadowMapSet(object->model[0]); - Hu3DModelShadowMapSet(object->model[2]); - } - } -} diff --git a/src/REL/m443Dll/player.c b/src/REL/m443Dll/player.c deleted file mode 100644 index 9ed45b12..00000000 --- a/src/REL/m443Dll/player.c +++ /dev/null @@ -1,1226 +0,0 @@ -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "string.h" - -#ifndef __MWERKS__ -#include "game/esprite.h" -#endif - -#include "REL/m443Dll.h" - -typedef struct M443DllUnkStruct { - s32 unk0; - s32 unk4; - s32 unk8; - Vec2f unkC; - s16 unk14[11]; -} M443DllUnkStruct; - -typedef struct M443DllWorkStruct { - s32 unk0; - s32 unk4; - s32 unk8; - s32 unkC; - u32 unk10; - s32 unk14; - f32 unk18; - s32 unk1C; - s32 unk20; - s32 unk24; - char unk28[0xC]; - u16 unk34; - s32 unk38; - char unk3C[0x4]; - s16 unk40; - f32 unk44; - f32 unk48; - f32 unk4C; - f32 unk50; - f32 unk54; - f32 unk58; - f32 unk5C; - s32 unk60; - f32 unk64; - u32 unk68; - f32 unk6C; - f32 unk70; - u32 unk74; - f32 unk78; - f32 unk7C; - u32 unk80; - u32 unk84; - f32 unk88; - char unk8C[0x4]; - f32 unk90; - f32 unk94; - f32 unk98; - f32 unk9C; - f32 unkA0; - f32 unkA4; - s32 unkA8; - s32 unkAC; - s32 unkB0; - s32 unkB4; - s32 unkB8; - f32 unkBC; - f32 unkC0; - Vec unkC4; - Vec unkD0; - Vec unkDC; - Vec unkE8; - char unkF4[0xC]; - M443DllCameraStruct *unk100; - M443DllCameraStruct *unk104; - union { - M443DllUnkStruct unk108s; - struct { - s32 unk108; - s32 unk10C; - }; - }; -} M443DllWorkStruct; /* size = 0x134 */ - -typedef struct M443DllStruct8 { - u16 unk0; - f32 unk4; - f32 unk8; - f32 unkC; - u32 unk10; -} M443DllStruct8; // copy of UnkM417Struct8 - -void fn_1_5680(omObjData *object); -void fn_1_5BD4(omObjData *object); -void fn_1_6458(omObjData *object); -void fn_1_6674(omObjData *object); -void fn_1_6750(omObjData *object); -void fn_1_69B4(omObjData *object); -void fn_1_6B90(omObjData *object); -void fn_1_6DA8(omObjData *object); -void fn_1_7130(omObjData *object); -void fn_1_7340(omObjData *object); -void fn_1_8138(omObjData *, u32); -s32 fn_1_82C4(omObjData *object); -void fn_1_8508(omObjData *); -void fn_1_8680(omObjData *object); -f32 fn_1_8AC8(u32, f32); -f32 fn_1_8C68(f32); -f32 fn_1_8C8C(s32, f32); -f32 fn_1_8D00(u32, f32); -f32 fn_1_8D74(f32); -void fn_1_8E34(s32); -void fn_1_8FFC(u32, Vec *, f32, f32); -void fn_1_95A4(u32); - -omObjData *lbl_1_bss_90[4]; -s32 lbl_1_bss_78[6]; - -char *lbl_1_data_264[0x8] = { "itemhook-r", "itemhook-r", "itemhook-r", "itemhook-r", "itemhook-r", "itemhook-r", "itemhook-r", "itemhook-r" }; -u32 lbl_1_data_284[8][2] = { - { 0x4A0005, 0x4A0006 }, - { 0x4A0007, 0x4A0008 }, - { 0x4A0009, 0x4A000A }, - { 0x4A000B, 0x4A000C }, - { 0x4A000D, 0x4A000E }, - { 0x4A000F, 0x4A0010 }, - { 0x4A0011, 0x4A0012 }, - { 0x4A0013, 0x4A0014 }, -}; -u32 lbl_1_data_2C4[4] = { 0, 0x4A0020, 0x17, 0x72 }; - -M443DllStruct8 lbl_1_data_2D4[4] = { { 0x0, 0.2f, 0.0f, -1.0f, 0x40000001 }, { 0x1, 0.2f, 0.0f, -1.0f, 0x40000001 }, { 0x2, 0.2f, 0.0f, -1.0f, 0x0 }, - { 0x3, 0.2f, 0.0f, -1.0f, 0x0 } }; - -s32 lbl_1_data_324[4] = { - 0x727, - 0x728, - 0x729, - 0x72A, -}; -s32 lbl_1_data_334[4] = { - 0x72B, - 0x72C, - 0x72D, - 0x72E, -}; -s32 lbl_1_data_344[4] = { - 0x72F, - 0x730, - 0x731, - 0x732, -}; -s32 lbl_1_data_354[4] = { - 0x736, - 0x737, - 0x738, - 0x739, -}; -Vec lbl_1_data_364[4] = { { 0.0f, 180.0f, 500.0f }, { -150.0f, 110.0f, 500.0f }, { 170.0f, 80.0f, 500.0f }, { 350.0f, 0.0f, 500.0f } }; -Vec lbl_1_data_394[4] = { { -225.0f, 0.0f, 1000.0f }, { -75.0f, 0.0f, 1000.0f }, { 75.0f, 0.0f, 1000.0f }, { 225.0f, 0.0f, 1000.0f } }; -Vec lbl_1_data_3C4[4] = { { 250.0f, 0.0f, -1000.0f }, { -350.0f, 0.0f, -1700.0f }, { 450.0f, 0.0f, -2200.0f }, { 0.0f, 0.0f, -3000.0f } }; - -void fn_1_5444(Process *arg0) -{ - u32 sp18[4]; - u32 sp8[4]; - omObjData *var_r28; - u32 var_r29; - s16 var_r30; - s16 var_r31; - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - sp18[var_r31] = GWPlayerCfg[var_r31].group; - sp8[var_r31] = var_r31; - } - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - for (var_r30 = var_r31 + 1; var_r30 < 4; var_r30++) { - if (sp18[var_r31] > sp18[var_r30]) { - var_r29 = sp18[var_r31]; - sp18[var_r31] = sp18[var_r30]; - sp18[var_r30] = var_r29; - var_r29 = sp8[var_r31]; - sp8[var_r31] = sp8[var_r30]; - sp8[var_r30] = var_r29; - } - } - } - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_78[sp8[var_r31]] = (s16)var_r31; - } - omMakeGroupEx(arg0, 0, 4); - omGetGroupMemberListEx(arg0, 0); - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r28 = lbl_1_bss_90[var_r31] = omAddObjEx(arg0, 0x28, 5, 4, 0, fn_1_5680); - var_r28->work[0] = var_r31; - } -} - -void fn_1_565C(void) -{ - CharModelKill(-1); -} - -void fn_1_5680(omObjData *object) -{ - f32 spC[4] = { 0.25f, 0.5f, 0.75f, 1.0f }; - s32 sp8; - f32 temp_f0; - s32 temp_r27; - s32 temp_r3; - s32 var_r29; - u32 temp_r25; - M443DllWorkStruct *temp_r31; - HsfanimStruct01 *var_r28; - - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x134, MEMORY_DEFAULT_NUM); - temp_r31 = object->data; - memset(temp_r31, 0, 0x134); - object->stat |= 0x100; - temp_r25 = object->work[0]; - temp_r27 = GWPlayerCfg[temp_r25].character; - temp_r31->unk0 = temp_r27; - sp8 = temp_r31->unk4 = 0; - temp_r31->unkC = lbl_1_bss_78[object->work[0]]; - temp_r31->unk5C = spC[GWPlayerCfg[temp_r25].diff & 3]; - temp_r31->unk24 = GWPlayerCfg[object->work[0]].iscom; - object->model[0] = CharModelCreate(temp_r27, 8); - Hu3DModelLayerSet(object->model[0], 4); - object->model[1] = Hu3DModelCreateFile(lbl_1_data_284[temp_r27][0]); - Hu3DModelLayerSet(object->model[1], 4); - Hu3DMotionSpeedSet(object->model[1], 0.0f); - object->model[2] = Hu3DModelCreateFile(lbl_1_data_284[temp_r27][1]); - Hu3DModelLayerSet(object->model[2], 4); - Hu3DMotionSpeedSet(object->model[2], 0.0f); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (lbl_1_data_2C4[var_r29] < 0x10000) { - object->motion[var_r29] = CharModelMotionCreate(temp_r27, lbl_1_data_2C4[var_r29]); - } - else { - object->motion[var_r29] - = Hu3DJointMotion(object->model[0], HuDataSelHeapReadNum(temp_r27 + lbl_1_data_2C4[var_r29], 0x10000000, HEAP_DATA)); - } - } - CharModelMotionDataClose(temp_r27); - temp_r3 = Hu3DParticleCreate(HuSprAnimReadFile(0x4A001D), 0xC8); - object->model[3] = temp_r3; - Hu3DModelLayerSet(temp_r3, 4); - var_r28 = ((ParticleData *)Hu3DData[temp_r3].unk_120)->unk_48; - - for (var_r29 = 0; var_r29 < 0xC8; var_r29++, var_r28++) { - var_r28->unk2C = 0.0f; - var_r28->unk40.a = 0; - var_r28->unk00 = 0; - } - - object->trans.x = temp_r31->unkC4.x = temp_r31->unkDC.x = (100.0f * (4.0f * object->work[0])) - 600.0f; - object->trans.y = temp_r31->unkC4.y = temp_r31->unkDC.y = 0.0f; - object->trans.z = temp_r31->unkC4.z = temp_r31->unkDC.z = 0.0f; - - temp_r31->unkD0.x = temp_r31->unkD0.y = temp_r31->unkD0.z = 0.0f; - temp_r31->unkE8.x = temp_r31->unkE8.y = temp_r31->unkE8.z = 0.0f; - temp_r31->unk48 = temp_r31->unk4C = 0.0f; - temp_r31->unk50 = 0.0f; - temp_r31->unk54 = 0.02f; - temp_r31->unk58 = 180.0f; - temp_r31->unkC0 = 50.0f; - temp_r31->unkBC = 350.0f; - temp_r31->unk8 = -1; - temp_r31->unk1C = 1; - temp_r31->unk20 = 0; - temp_r31->unk9C = 1.0f; - temp_r31->unk98 = 0.0f; - temp_r31->unkA0 = 0.0f; - temp_r31->unkA4 = 0.0f; - temp_r31->unk88 = 1000.0f; - temp_r31->unk90 = fn_1_8C8C(temp_r31->unk80, temp_r31->unk88); - temp_r31->unkA8 = temp_r31->unkAC = -1; - temp_r31->unkB0 = temp_r31->unkB4 = temp_r31->unkB8 = -1; - temp_r31->unkB4 = HuAudFXPlay(lbl_1_data_334[object->work[0]]); - temp_r31->unk68 = -1; - temp_r31->unk60 = 0; - temp_r31->unk100 = fn_1_4148(object->work[0] + 1); - temp_r31->unk104 = fn_1_41B0(object->work[0] + 1); - temp_r31->unk100->unk_00 = 0; - fn_1_8508(object); - temp_r31->unk34 = 0; - object->func = fn_1_5BD4; -} - -void fn_1_5BD4(omObjData *object) -{ - Vec sp8; - f32 var_f29; - f32 var_f30; - f32 var_f31; - M443DllWorkStruct *temp_r31; - - temp_r31 = object->data; - temp_r31->unk10 = 0; - temp_r31->unk14 = 0; - temp_r31->unk18 = 0.0f; - if (temp_r31->unk108 != 0) { - if (temp_r31->unk24 != 0) { - fn_1_6DA8(object); - } - else { - temp_r31->unk14 = HuPadBtn[GWPlayerCfg[object->work[0]].pad_idx]; - temp_r31->unk10 = HuPadBtnDown[GWPlayerCfg[object->work[0]].pad_idx]; - var_f29 = HuPadTrigR[GWPlayerCfg[object->work[0]].pad_idx]; - if (var_f29 > 140.0f) { - var_f29 = 140.0f; - } - temp_r31->unk18 = (1.0f / 140.0f) * var_f29; - } - } - switch (temp_r31->unk34) { - case 0: - temp_r31->unk100->unk_1C = temp_r31->unkDC; - temp_r31->unk100->unk_54.y = 150.0f; - temp_r31->unk100->unk_1C.y += temp_r31->unk100->unk_54.y; - temp_r31->unk100->unk_28.x = -30.0f; - temp_r31->unk100->unk_28.y = 90.0f; - temp_r31->unk100->unk_34 = 500.0f; - temp_r31->unk100->unk_6C = -20.0f - frandmod(10); - temp_r31->unk100->unk_70 = 160.0f + frandmod(0x28); - temp_r31->unk100->unk_78 = temp_r31->unk100->unk_44; - temp_r31->unk100->unk_7C = temp_r31->unk100->unk_48; - temp_r31->unk100->unk_80 = temp_r31->unk100->unk_40; - if ((temp_r31->unk40 < 120.0f) && ((temp_r31->unk40 % 60) > 10)) { - temp_r31->unk18 = 1.0f; - } - if (fn_1_3FFC() == 2) { - temp_r31->unk34++; - temp_r31->unk40 = 0; - temp_r31->unkB0 = HuAudFXPlay(lbl_1_data_324[object->work[0]]); - } - break; - case 1: - temp_r31->unk100->unk_00 = 1; - var_f31 = (5.0f / 600.0f) * temp_r31->unk40; - if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - var_f30 = 2.0f * (var_f31 - 0.5f); - if (var_f30 < 0.0f) { - var_f30 = 0.0f; - } - var_f30 = var_f30 * var_f30; - sp8.x = 320.0 + 160.0 * (var_f31 * cosd(450.0f * var_f31 + 90.0f * object->work[0])); - sp8.y = 240.0 + 120.0 * (var_f31 * sind(450.0f * var_f31 + 90.0f * object->work[0])); - temp_r31->unk100->unk_44 = sp8.x + (var_f30 * (temp_r31->unk100->unk_78 - sp8.x)); - temp_r31->unk100->unk_48 = sp8.y + (var_f30 * (temp_r31->unk100->unk_7C - sp8.y)); - temp_r31->unk100->unk_40 = 0.01f + ((temp_r31->unk100->unk_80 - 0.01f) * var_f31); - temp_r31->unk100->unk_28.y = 90.0f + ((temp_r31->unk100->unk_70 - 90.0f) * var_f31); - temp_r31->unk100->unk_34 = 500.0f + (-200.0f * var_f30); - if (var_f31 >= 1.0f) { - temp_r31->unk108 = 1; - if (temp_r31->unk40 >= 150.0f) { - fn_1_3FE8(4); - temp_r31->unk34++; - temp_r31->unk40 = 0; - } - } - break; - case 2: - var_f31 = (5.0f / 600.0f) * temp_r31->unk40; - if (var_f31 > 0.2f) { - var_f31 = 0.2f; - } - temp_r31->unk100->unk_28.x = fn_1_488C(temp_r31->unk100->unk_28.x, -12.0f, var_f31); - temp_r31->unk100->unk_28.y = fn_1_488C(temp_r31->unk100->unk_28.y, 0.0f, var_f31); - temp_r31->unk100->unk_34 += ((1000.0f - temp_r31->unk100->unk_34) * (0.5f * var_f31)); - break; - } - fn_1_7340(object); - VECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4); - fn_1_7130(object); - fn_1_69B4(object); - - if (fn_1_42CC() == 2) { - temp_r31->unk100->unk_1C = temp_r31->unkDC; - temp_r31->unk100->unk_1C.y += 150.0f; - temp_r31->unk100->unk_54.y = 150.0f; - temp_r31->unk100->unk_28.x = -12.0f; - temp_r31->unk100->unk_28.y = 0.0f; - temp_r31->unk100->unk_34 = 1000.0f; - temp_r31->unk34 = 0; - object->func = &fn_1_6458; - } -} - -void fn_1_6458(omObjData *object) -{ - f32 var_f31; - s32 var_r29; - M443DllWorkStruct *temp_r31; - void *temp_r4; - - temp_r31 = object->data; - var_r29 = 0; - temp_r31->unk10 = 0; - temp_r31->unk14 = 0; - temp_r31->unk18 = 0.0f; - if (temp_r31->unk24 != 0) { - fn_1_6DA8(object); - } - else { - temp_r31->unk14 = HuPadBtn[GWPlayerCfg[object->work[0]].pad_idx]; - temp_r31->unk10 = HuPadBtnDown[GWPlayerCfg[object->work[0]].pad_idx]; - var_f31 = HuPadTrigR[GWPlayerCfg[object->work[0]].pad_idx]; - if (var_f31 > 140.0f) { - var_f31 = 140.0f; - } - temp_r31->unk18 = (1.0f / 140.0f) * var_f31; - } - switch (temp_r31->unk34) { - case 0: - fn_1_8138(object, 1); - var_r29 = 1; - } - fn_1_7340(object); - VECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4); - fn_1_7130(object); - fn_1_69B4(object); - temp_r31->unk100->unk_1C = temp_r31->unkDC; - VECAdd(&temp_r31->unk100->unk_1C, &temp_r31->unk100->unk_54, &temp_r31->unk100->unk_1C); - if ((fn_1_42E4() == 3) && (var_r29 != 0)) { - fn_1_43AC(object->work[0]); - temp_r31->unk108 = 0; - temp_r31->unk34 = 0; - object->func = fn_1_6674; - } -} - -void fn_1_6674(omObjData *object) -{ - M443DllWorkStruct *temp_r31; - void *temp_r4; - - temp_r31 = object->data; - temp_r31->unk10 = 0; - temp_r31->unk14 = 0; - temp_r31->unk18 = 0.0f; - fn_1_7340(object); - VECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4); - fn_1_7130(object); - fn_1_69B4(object); - temp_r31->unk100->unk_1C = temp_r31->unkDC; - VECAdd(&temp_r31->unk100->unk_1C, &temp_r31->unk100->unk_54, &temp_r31->unk100->unk_1C); - if (fn_1_42E4() == 5) { - temp_r31->unk1C = 0; - temp_r31->unk34 = 0; - object->func = fn_1_6750; - } -} - -void fn_1_6750(omObjData *object) -{ - M443DllWorkStruct *temp_r31; - - temp_r31 = object->data; - VECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4); - fn_1_7130(object); - fn_1_69B4(object); - switch (temp_r31->unk34) { - case 0: - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); - fn_1_95A4(object->work[0]); - Hu3DModelShadowSet(object->model[0]); - temp_r31->unk8 = -1; - fn_1_8138(object, 0); - if (fn_1_4368(object->work[0]) >= 0) { - temp_r31->unkC4 = lbl_1_data_364[fn_1_4368(object->work[0])]; - temp_r31->unkDC = lbl_1_data_3C4[fn_1_4368(object->work[0])]; - temp_r31->unk58 = 30.0f; - } - else { - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - temp_r31->unkC4 = lbl_1_data_394[object->work[0]]; - } - temp_r31->unk34++; - break; - case 1: - temp_r31->unk4C = 0.0f; - temp_r31->unk50 = 0.15f; - temp_r31->unk54 = 0.0f; - temp_r31->unkD0.x = temp_r31->unkD0.y = temp_r31->unkD0.z = 0.0f; - fn_1_43AC(object->work[0]); - temp_r31->unk34++; - break; - case 2: - if (fn_1_42FC() == 1) { - if (fn_1_4368(object->work[0]) == 0) { - fn_1_8138(object, 2); - } - else { - fn_1_8138(object, 3); - } - temp_r31->unk34++; - } - break; - case 3: - if (fn_1_82C4(object) != 0) { - fn_1_43DC(object->work[0]); - temp_r31->unk34++; - } - break; - } -} - -void fn_1_69B4(omObjData *object) -{ - M443DllWorkStruct *temp_r31; - - temp_r31 = object->data; - temp_r31->unk40++; - temp_r31->unk38++; - object->trans.x = temp_r31->unkC4.x; - object->trans.y = temp_r31->unkC4.y; - object->trans.z = temp_r31->unkC4.z; - temp_r31->unk50 += temp_r31->unk54; - if (temp_r31->unk50 > 0.45f) { - temp_r31->unk50 = 0.45f; - } - temp_r31->unk48 = fn_1_488C(temp_r31->unk48, temp_r31->unk4C, temp_r31->unk50); - object->rot.y = temp_r31->unk48; - if (temp_r31->unk1C != 0) { - if (temp_r31->unk20 == 0) { - Hu3DModelHookSet(object->model[1], "hook", object->model[0]); - } - - temp_r31->unkDC.z = temp_r31->unkC4.z = -(temp_r31->unk78 - temp_r31->unkBC); - fn_1_8138(object, 1); - } - else { - if (temp_r31->unk20 != 0) { - Hu3DModelHookReset(object->model[1]); - } - Hu3DModelPosSetV(object->model[0], &temp_r31->unkC4); - Hu3DModelRotSet(object->model[0], 0.0f, temp_r31->unk48, 0.0f); - } - temp_r31->unk20 = temp_r31->unk1C; - Hu3DModelPosSetV(object->model[1], &temp_r31->unkDC); - Hu3DModelRotSet(object->model[1], 0.0f, temp_r31->unk58, 0.0f); - Hu3DModelPosSetV(object->model[2], &temp_r31->unkDC); - Hu3DModelRotSet(object->model[2], 0.0f, temp_r31->unk58, 0.0f); -} - -void fn_1_6B90(omObjData *object) -{ - M443DllWorkStruct *temp_r29; - M443DllWorkStruct *temp_r27 = object->data; - s32 sp28[4][4] = { - { 0, 1, 2, 3 }, - { 1, 0, 1, 2 }, - { 2, 1, 0, 1 }, - { 3, 2, 1, 0 }, - }; - f32 sp18[4] = { 0.0f, -700.0f, 600.0f, 1200.0f }; - s32 sp14; - s32 sp10; - s32 spC; - s32 sp8[4] = { 2, 4, 8, 16 }; - f32 var_f31; - s32 var_r28; - u32 var_r30; - - var_r28 = sp8[object->work[0]] | 1; - - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if (var_r30 != object->work[0]) { - temp_r29 = lbl_1_bss_90[var_r30]->data; - var_f31 = temp_r29->unk78; - if (temp_r29->unk74 != temp_r27->unk74) { - var_f31 += 1.6666667f * temp_r29->unk7C; - } - var_f31 = temp_r27->unk78 - var_f31; - if (var_f31 > sp18[sp28[object->work[0]][var_r30]]) { - var_r28 |= sp8[var_r30]; - } - } - } - fn_1_421C(object->model[0], var_r28); - fn_1_421C(object->model[1], var_r28); - fn_1_421C(object->model[2], var_r28); - fn_1_421C(object->model[3], var_r28); -} - -void fn_1_6DA8(omObjData *object) -{ - f32 var_f31; - M443DllWorkStruct *temp_r31; - - temp_r31 = object->data; - switch (temp_r31->unk60) { - case 0: - var_f31 = 1.25f - temp_r31->unk5C; - var_f31 *= 0.6f + (0.00040000002f * frandmod(0x3E8)); - if (frandmod(0x3E8) < 0x1F4) { - var_f31 *= -1.0f; - } - temp_r31->unk64 = (3000.0f + (2000.0f * var_f31)); - temp_r31->unk60++; - /* fallthrough */ - case 1: - if (temp_r31->unk88 < temp_r31->unk64) { - temp_r31->unk18 = 1.0f; - } - if (temp_r31->unkA0 >= 1.0f) { - temp_r31->unk60 = (s32)(temp_r31->unk60 + 1); - } - break; - case 2: - temp_r31->unk18 = 1.0f; - if (temp_r31->unk80 != temp_r31->unk68) { - temp_r31->unk6C = temp_r31->unk70 = 0.0f; - if (frandmod(0x3E8) < 0x1F4) { - var_f31 = 1.2f - temp_r31->unk5C; - var_f31 *= (0.5f + 0.0005f * frandmod(0x3E8)); - temp_r31->unk6C = 8000.0f - 1500.0f * var_f31; - } - else { - var_f31 = 1.2f - temp_r31->unk5C; - var_f31 *= (0.5f + 0.0005f * frandmod(0x3E8)); - temp_r31->unk70 = 0.016666668f + var_f31; - } - } - temp_r31->unk68 = temp_r31->unk80; - if (temp_r31->unk6C > 0.0f) { - if (temp_r31->unk88 > temp_r31->unk6C) { - temp_r31->unk10 = (s32)(temp_r31->unk10 | 0x100); - temp_r31->unk6C = 0.0f; - break; - } - } - else if (temp_r31->unk70 > 0.0f) { - if (temp_r31->unk88 >= 8000.0f) { - temp_r31->unk70 = (temp_r31->unk70 - 0.016666668f); - if (temp_r31->unk70 <= 0.0f) { - temp_r31->unk10 = (s32)(temp_r31->unk10 | 0x100); - temp_r31->unk70 = 0.0f; - } - } - } - break; - } -} - -void fn_1_7130(omObjData *object) -{ - Vec sp8; - f32 var_f31; - s32 var_r27; - s32 var_r29; - s32 var_r28; - M443DllWorkStruct *temp_r30; - M443DllWorkStruct *temp_r31; - - for (var_r27 = 0; var_r27 < 2; var_r27++) { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - temp_r31 = lbl_1_bss_90[var_r29]->data; - - for (var_r28 = 0; var_r28 < 4; var_r28++) { - if (var_r29 != var_r28) { - temp_r30 = lbl_1_bss_90[var_r28]->data; - VECSubtract(&temp_r31->unkC4, &temp_r30->unkC4, &sp8); - sp8.y = 0.0f; - var_f31 = VECMag(&sp8); - if (var_f31 < (temp_r31->unkC0 + temp_r30->unkC0)) { - if (var_f31 > 0.0f) { - var_f31 = 0.5f * ((temp_r31->unkC0 + temp_r30->unkC0) - var_f31); - } - else { - var_f31 = 0.5f * (temp_r31->unkC0 + temp_r30->unkC0); - sp8.x = (frandmod(0x3E8) - 0x1F4); - sp8.z = (frandmod(0x3E8) - 0x1F4); - } - VECNormalize(&sp8, &sp8); - VECScale(&sp8, &sp8, var_f31); - VECAdd(&temp_r31->unkC4, &sp8, &temp_r31->unkC4); - VECSubtract(&temp_r30->unkC4, &sp8, &temp_r30->unkC4); - } - } - } - if (temp_r31->unkC4.y < 0.0f) { - temp_r31->unkC4.y = 0.0f; - } - } - } -} - -void fn_1_7340(omObjData *object) -{ - M443DllWorkStruct *temp_r31 = object->data; - HsfObject *var_r29; - f32 sp28[8] = { 0.0f, 40.0f, 0.0f, 0.0f, -16.0f, 40.0f, -16.0f, 0.0f }; - f32 var_f31; - f32 var_f29; - u32 temp_r24; - - temp_r24 = temp_r31->unk80; - if (temp_r31->unk88 > 3300.0f) { - if (fn_1_42E4() == 2) { - temp_r31->unk10C = 0; - if (temp_r31->unk84 == 0) { - if ((temp_r31->unk10 & 0x100) != 0) { - if (temp_r31->unk80 < 3) { - temp_r31->unk80++; - temp_r31->unk84 = 30; - } - } - else { - if (temp_r31->unk88 >= 8000.0f) { - temp_r31->unk10C = 1; - } - } - } - else { - temp_r31->unk84--; - } - } - } - else if ((temp_r31->unk88 < 1500.0f) && (temp_r31->unk80 != 0)) { - temp_r31->unk80--; - temp_r31->unk84 = 30; - } - if (temp_r31->unk80 != temp_r24) { - temp_r31->unk88 = fn_1_8D00(temp_r31->unk80, temp_r31->unk90); - omVibrate(object->work[0], 0xC, 4, 2); - } - var_f31 = (1.5f * temp_r31->unk18) - 0.5f; - if (var_f31 < -0.4f) { - var_f31 = -1.0f; - } - var_f29 = 0.75f; - if ((var_f31 > -0.5f) && (temp_r31->unkA0 < 1.0f)) { - var_f29 += 0.25f * (1.0f - temp_r31->unkA0); - } - var_f31 = var_f31 * fn_1_8AC8(temp_r31->unk80, temp_r31->unk88); - var_f31 -= temp_r31->unkA0 * fn_1_8D74(fn_1_8C8C(temp_r31->unk80, temp_r31->unk88)); - var_f31 = var_f29 * fn_1_8C68(var_f31); - temp_r31->unk90 += 0.016666668f * var_f31; - temp_r31->unk7C += temp_r31->unkA0 * (temp_r31->unk90 - temp_r31->unk7C); - var_f31 = temp_r31->unk90 + temp_r31->unkA0 * (temp_r31->unk7C - temp_r31->unk90); - temp_r31->unk88 = fn_1_8D00(temp_r31->unk80, var_f31); - if (fn_1_42E4() <= 2) { - if (fn_1_42E4() == 2) { - if (temp_r31->unk18 <= 0.0f) { - temp_r31->unk90 *= 0.98f; - } - } - if ((temp_r31->unk88 > 8000.0f) && ((temp_r31->unk40 & 0xF) == 0)) { - omVibrate(object->work[0], 0xC, 6, 6); - } - } - if (temp_r31->unk88 > 9500.0f) { - temp_r31->unk88 = 9000.0f; - temp_r31->unk90 = fn_1_8C8C(temp_r31->unk80, temp_r31->unk88); - } - else if (temp_r31->unk88 < 1000.0f) { - temp_r31->unk88 = 1000.0f; - temp_r31->unk90 = fn_1_8C8C(temp_r31->unk80, temp_r31->unk88); - } - temp_r31->unk94 = (0.31206876f * temp_r31->unk90); - if (temp_r31->unkA0 < 1.0f) { - var_f31 = temp_r31->unk90 - temp_r31->unk7C; - if (var_f31 > 2.0f) { - var_f31 = 1.0f - (0.02f * var_f31); - if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - if (var_f31 < 0.0f) { - var_f31 = 0.0f; - } - var_f31 = (1.0f - var_f31 * var_f31); - temp_r31->unkA0 += (1.0f / 3000.0f) * (1.0f - 1.5f * var_f31); - if (temp_r31->unkA0 > 0.9f) { - temp_r31->unkA0 = 1.0f; - } - if (temp_r31->unkA0 < 0.0001f) { - temp_r31->unkA0 = 0.0001f; - } - } - else { - temp_r31->unkA0 = 1.0f; - } - } - temp_r31->unk78 += 1.6666667f * temp_r31->unk7C; - if (fn_1_42E4() < 2) { - temp_r31->unk7C = 0.0f; - temp_r31->unk78 = 0.0f; - temp_r31->unkA0 = 0.0f; - } - if (temp_r31->unk78 >= 40000.0f) { - if (temp_r31->unk7C >= 30.0f) { - Hu3DMotionSpeedSet(object->model[2], 1.0f); - Hu3DModelAttrReset(object->model[2], HU3D_ATTR_DISPOFF); - if (fn_1_42E4() == 2) { - HuAudFXPlay(0x733); - } - } - } - fn_1_8680(object); - temp_r31->unk74 = 1 - temp_r31->unk74; - var_f31 = 22.5f * (temp_r31->unk40 & 0xF); - var_r29 = Hu3DModelObjPtrGet(object->model[2], "ballon"); - var_r29->data.base.rot.z = var_f31; - var_r29 = Hu3DModelObjPtrGet(object->model[1], "r_tire"); - if ((temp_r31->unk7C <= 0.0f) && (temp_r31->unk94 < 1.5f)) { - temp_r31->unk94 = 0.0f; - } - var_r29->data.base.rot.x += 6.0000005f * temp_r31->unk94; - var_r29->data.base.rot.x = fmod(var_r29->data.base.rot.x, 360.0); - var_r29 = Hu3DModelObjPtrGet(object->model[1], "f_tire"); - var_r29->data.base.rot.x += 6.0000005f * (0.003978877f * (100.0f * temp_r31->unk7C)); - var_r29->data.base.rot.x = fmod(var_r29->data.base.rot.x, 360.0); - var_f31 = 0.110999994f * temp_r31->unk94; - if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - Hu3DMotionTimeSet(object->model[1], 30.0f * var_f31); - fn_1_4314(object->work[0], temp_r31->unk78); - fn_1_6B90(object); - if (temp_r31->unkA0 < 1.0f) { - var_f31 = (320.4422f * temp_r31->unk94) - (100.0f * temp_r31->unk7C); - if (var_f31 > 0.0f) { - var_f31 *= 0.0002f; - if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - fn_1_8FFC(object->work[0], &temp_r31->unkDC, var_f31, 100.0f * temp_r31->unk7C); - } - } - fn_1_8E34(object->model[3]); - if (temp_r31->unkB4 >= 0) { - HuAudFXPitchSet(temp_r31->unkB4, (8191.0f * (0.0001f * temp_r31->unk88))); - if (fn_1_42E4() >= 5) { - HuAudFXFadeOut(temp_r31->unkB4, 0x3C); - temp_r31->unkB4 = -1; - } - } - if (fn_1_42E4() < 2) { - if (temp_r31->unkA8 < 0) { - temp_r31->unkA8 = HuAudFXPlay(lbl_1_data_344[object->work[0]]); - } - if (temp_r31->unkA8 >= 0) { - var_f31 = fn_1_8C8C(temp_r31->unk80, 10000.0f); - var_f31 = (1.0f / (0.31206876f * var_f31)); - HuAudFXPitchSet(temp_r31->unkA8, (8191.0f * (temp_r31->unk94 * var_f31))); - var_f31 = 127.0f; - if (temp_r31->unk94 < 0.1f) { - var_f31 = 0.0f; - } - HuAudFXVolSet(temp_r31->unkA8, var_f31); - } - } - else if (fn_1_42E4() <= 2) { - if (temp_r31->unkA8 < 0) { - temp_r31->unkA8 = HuAudFXPlay(lbl_1_data_344[object->work[0]]); - } - if (temp_r31->unkA8 >= 0) { - HuAudFXPitchSet(temp_r31->unkA8, (8191.0f * (0.0001f * temp_r31->unk88) * (1.0f - temp_r31->unkA0))); - var_f31 = 127.0f; - if (temp_r31->unkA0 >= 1.0f) { - var_f31 = 0.0f; - } - HuAudFXVolSet(temp_r31->unkA8, var_f31); - } - } - else if (temp_r31->unkA8 >= 0) { - HuAudFXStop(temp_r31->unkA8); - temp_r31->unkA8 = -1; - } - if ((fn_1_42E4() >= 1) && (temp_r31->unkB0 >= 0)) { - HuAudFXFadeOut(temp_r31->unkB0, 30); - temp_r31->unkB0 = -1; - } - if ((fn_1_42E4() == 2) && (temp_r31->unkB8 < 0)) { - temp_r31->unkB8 = HuAudFXPlay(lbl_1_data_354[object->work[0]]); - } - if (temp_r31->unkB8 >= 0) { - var_f31 = 0.012048192f * temp_r31->unk7C; - HuAudFXPitchSet(temp_r31->unkB8, ((2.0f * (8191.0f * var_f31)) - 8191.0f)); - HuAudFXVolSet(temp_r31->unkB8, (127.0f * var_f31)); - if (fn_1_42E4() >= 5U) { - HuAudFXFadeOut(temp_r31->unkB8, 0x3C); - temp_r31->unkB8 = -1; - } - } -} - -void fn_1_8138(omObjData *object, u32 arg1) -{ // near replica of fn_1_B8A0 of m417Dll - f32 var_f31; - M443DllWorkStruct *temp_r30; - - temp_r30 = object->data; - if ((temp_r30->unk8 != arg1) && (arg1 < 4)) { - var_f31 = 60.0f * lbl_1_data_2D4[arg1].unk4; - if (temp_r30->unk8 < 0) { - var_f31 = 0.0f; - } - temp_r30->unk8 = arg1; - CharModelMotionShiftSet( - temp_r30->unk0, object->motion[lbl_1_data_2D4[arg1].unk0], 60.0f * lbl_1_data_2D4[arg1].unk8, var_f31, lbl_1_data_2D4[arg1].unk10); - if (lbl_1_data_2D4[arg1].unkC >= 0.0f) { - Hu3DMotionShiftStartEndSet(object->model[0], 60.0f * lbl_1_data_2D4[arg1].unk8, 60.0f * lbl_1_data_2D4[arg1].unkC); - } - } -} - -s32 fn_1_82C4(omObjData *object) -{ - s32 var_r30; - M443DllWorkStruct *temp_r31; - - temp_r31 = object->data; - var_r30 = 0; - if ((CharModelMotionEndCheck(temp_r31->unk0) != 0) && (CharModelMotionShiftIDGet(temp_r31->unk0) < 0)) { - var_r30 = 1; - } - return var_r30; -} - -s32 fn_1_8338(omObjData *object, u32 arg1) -{ - s32 var_r27; - s32 var_r26; - M443DllWorkStruct *temp_r31; - - var_r27 = 0; - temp_r31 = object->data; - var_r26 = 0; - if ((CharModelMotionEndCheck(temp_r31->unk0) != 0) && (CharModelMotionShiftIDGet(temp_r31->unk0) < 0)) { - var_r26 = 1; - } - - if (var_r26 != 0) { - fn_1_8138(object, arg1); - var_r27 = 1; - } - return var_r27; -} - -u32 lbl_1_data_410[11][2] = { - { 0x4A0015, 0xFA }, - { 0x4A0016, 0xF0 }, - { 0x4A0017, 0xE6 }, - { 0x4A0018, 0xF0 }, - { 0x4A0019, 0xF0 }, - { 0x4A001A, 0xF0 }, - { 0x4A001B, 0xF0 }, - { 0x61002E, 0xF0 }, - { 0x61002E, 0xF0 }, - { 0x61002E, 0xF0 }, - { 0x4A001C, 0xF0 }, -}; - -Vec2f lbl_1_data_468[4] = { - { 64.0f, 54.0f }, - { 46.0f, 54.0f }, - { 64.0f, 44.0f }, - { 46.0f, 44.0f }, -}; - -void fn_1_8508(omObjData *object) -{ - s32 var_r30; - M443DllWorkStruct *temp_r28; - M443DllUnkStruct *temp_r31; - f32 *temp_r4; - - temp_r28 = object->data; - temp_r31 = &temp_r28->unk108s; - - for (var_r30 = 0; var_r30 < 11; var_r30++) { - temp_r31->unk14[var_r30] = -1; - if (lbl_1_data_410[var_r30][0] != 0) { - temp_r31->unk14[var_r30] = espEntry(lbl_1_data_410[var_r30][0], lbl_1_data_410[var_r30][1], 0); - espAttrSet(temp_r31->unk14[var_r30], HUSPR_ATTR_LINEAR); - espDispOff(temp_r31->unk14[var_r30]); - } - } - espColorSet(temp_r31->unk14[0], 0, 0, 0); - espTPLvlSet(temp_r31->unk14[0], 0.5); - espScaleSet(temp_r31->unk14[1], 0.75, 0.75); - espScaleSet(temp_r31->unk14[2], 0.75, 0.75); - temp_r31->unkC = lbl_1_data_468[object->work[0]]; -} - -f32 lbl_1_data_488[][2] = { - { 20.0f, 4.0f }, - { 18.0f, 6.0f }, - { 46.0f, 33.0f }, - { 72.0f, 32.0f }, - { 72.0f, 14.0f }, - { 72.0f, -4.0f }, - { 72.0f, -22.0f }, - { -140.0f, 32.0f }, - { -158.0f, 32.0f }, - { -176.0f, 32.0f }, - { -96.0f, 32.0f }, -}; - -void fn_1_8680(omObjData *object) -{ - f32 var_f31; - s32 var_r27; - s32 var_r30; - u32 var_r28; - M443DllWorkStruct *temp_r29; - M443DllUnkStruct *temp_r31; - - temp_r29 = object->data; - temp_r31 = &temp_r29->unk108s; - temp_r31->unk8++; - - for (var_r30 = 0; var_r30 < 11; var_r30++) { - if (temp_r31->unk14[var_r30] >= 0) { - if (temp_r31->unk0 == 0) { - espDispOff(temp_r31->unk14[var_r30]); - } - else { - espDispOn(temp_r31->unk14[var_r30]); - espPosSet(temp_r31->unk14[var_r30], 0.9f * (temp_r29->unk104->unk_44 + temp_r31->unkC.x + lbl_1_data_488[var_r30][0]), - temp_r29->unk104->unk_48 + temp_r31->unkC.y + lbl_1_data_488[var_r30][1]); - } - } - } - var_f31 = 0.0f; - if (temp_r29->unk88 > 8000.0f) { - var_f31 = (0.004f * frandmod(0x3E8)) - 2.0f; - } - espZRotSet(temp_r31->unk14[2], (90.0f * (0.0001f * temp_r29->unk88)) + var_f31); - - for (var_r30 = 0; var_r30 < 4; var_r30++) { - var_r27 = 0; - if (temp_r29->unk80 == var_r30) { - var_r27 = 2; - } - else if (((temp_r29->unk80 + 1) == var_r30) && (temp_r31->unk4 != 0)) { - var_r27 += (temp_r31->unk8 >> 1) & 1; - } - espBankSet(temp_r31->unk14[var_r30 + 3], var_r27); - } - var_r28 = (3.6f * temp_r29->unk7C); - var_r30 = var_r28 % 10; - espBankSet(temp_r31->unk14[7], var_r30); - var_r28 = (var_r28 - var_r30) / 10; - var_r30 = var_r28 % 10; - espBankSet(temp_r31->unk14[8], var_r30); - var_r28 = (var_r28 - var_r30) / 10; - var_r30 = var_r28 % 10; - espBankSet(temp_r31->unk14[9], var_r30); -} - -f32 lbl_1_data_4E0[4] = { 18.5f, 9.25f, 6.66f, 5.55f }; - -f32 fn_1_8958(u32 arg0) -{ - if (arg0 >= 4) { - if (arg0 >= 4) { } - } - return lbl_1_data_4E0[arg0]; -} - -f32 fn_1_8990(f32 arg8) -{ - f32 var_f30; - f32 var_f31; - - var_f30 = 0.8f * (0.00016666666f * (6000.0f - arg8)); - var_f30 = 0.6f * (1.0f - (var_f30 * var_f30)); - var_f31 = 0.000400000002f * (6500.0f - arg8); - var_f31 = 0.4f * (1.0f - (var_f31 * var_f31)); - if (var_f31 > 0.0f) { - var_f30 += var_f31; - } - var_f31 = arg8 - 8000.0f; - if (var_f31 > 0.0f) { - var_f31 = 1.0f - (0.00033333333f * var_f31); - var_f30 = var_f31 * (var_f30 * var_f31); - } - return 55.0f * var_f30; -} - -f32 fn_1_8AC8(u32 arg0, f32 arg1) -{ - return 1.7647059f * (fn_1_8990(arg1) * fn_1_8958(arg0)); -} - -f32 fn_1_8C68(f32 arg0) -{ - return 9.8f * (0.0012820513f * arg0); -} - -f32 fn_1_8C8C(s32 arg0, f32 arg1) -{ - return 3.204422f * ((0.016666668f * arg1) / fn_1_8958(arg0)); -} - -f32 fn_1_8D00(u32 arg0, f32 arg1) -{ - return 0.31206876f * (60.0f * arg1) * fn_1_8958(arg0); -} - -f32 fn_1_8D74(f32 arg0) -{ - return 0.024899999f * (arg0 * arg0); -} - -f32 fn_1_8D8C(u32 arg0, f32 arg8) -{ - return arg8 / fn_1_8958(arg0); -} -f32 fn_1_8DE0(u32 arg0, f32 arg8) -{ - return arg8 * fn_1_8958(arg0); -} - -void fn_1_8E34(s32 arg0) -{ - s32 var_r29; - ParticleData *temp_r30; - HsfanimStruct01 *var_r31; - - temp_r30 = Hu3DData[arg0].unk_120; - var_r31 = temp_r30->unk_48; - - for (var_r29 = 0; var_r29 < temp_r30->unk_30; var_r29++, var_r31++) { - if (var_r31->unk00 != 0) { - VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); - var_r31->unk08.z -= 0.3f; - var_r31->unk2C += 2.0f; - var_r31->unk40.a *= 0.98f; - if (var_r31->unk00 < 24.0f) { - var_r31->unk40.a = var_r31->unk40.a * 0.9f; - } - if (--var_r31->unk00 == 0) { - var_r31->unk00 = 0; - var_r31->unk2C = 0.0f; - var_r31->unk40.a = 0; - } - } - } - DCStoreRange(temp_r30->unk_48, temp_r30->unk_30 * 0x44); -} - -static inline f32 isEven(u32 arg) -{ - if ((arg & 1) != 0) { - return 1.0f; - } - else { - return -1.0f; - } -} - -void fn_1_8FFC(u32 arg0, Vec *arg1, f32 arg2, f32 arg3) -{ - f32 temp_f31; - f32 var_f29; - ParticleData *temp_r29; - s32 var_r28; - u32 var_r27; - HsfanimStruct01 *var_r31; - - temp_r29 = Hu3DData[lbl_1_bss_90[arg0]->model[3]].unk_120; - if (frandmod(0x3E8) > 1000.0f * arg2) - return; - - var_r27 = 2; - var_r31 = temp_r29->unk_48; - - for (var_r28 = 0; var_r28 < temp_r29->unk_30; var_r28++, var_r31++) { - if (var_r31->unk00 != 0) - continue; - - var_r31->unk00 = (60.0f * (0.6f + (0.0005f * frandmod(0x3E8)))); - var_f29 = isEven(var_r27); - temp_f31 = 0.030000001f * frandmod(0x3E8); - var_r31->unk34.x = arg1->x + var_f29 * (70.0f + (0.07f * frandmod(0x3E8))); - var_r31->unk34.y = 10.0f + (arg1->y + (0.02f * frandmod(0x3E8))); - var_r31->unk34.z = (250.0f + arg1->z); - temp_f31 = 0.8333334f + 0.0016666667f * frandmod(0x3E8); - temp_f31 *= 1.0f + arg2; - var_r31->unk08.x = (0.0025f * frandmod(0x3E8) - 1.25f); - var_r31->unk08.y = (3.3333335f + 0.0016666667f * frandmod(0x3E8)); - var_r31->unk08.z = ((4.166667f + (0.0016666667f * frandmod(0x3E8))) - (0.016666668f * (0.5f * arg3))); - var_r31->unk30 = frandmod(0x168); - temp_f31 = 0.001f * frandmod(0x3E8); - var_r31->unk2C = (50.0f + (100.0f * temp_f31)); - var_r31->unk40.a = (70.0f + (80.0f * (1.0f - temp_f31))); - var_r31->unk40.r = (50.0f + (145.0f * temp_f31)); - var_r31->unk40.g = (55.0f + (140.0f * temp_f31)); - var_r31->unk40.b = (70.0f + (125.0f * temp_f31)); - if (--var_r27 < 1) - break; - } -} - -void fn_1_95A4(u32 arg0) -{ - s32 var_r29; - ParticleData *temp_r30; - HsfanimStruct01 *var_r31; - - temp_r30 = Hu3DData[lbl_1_bss_90[arg0]->model[3]].unk_120; - var_r31 = temp_r30->unk_48; - - for (var_r29 = 0; var_r29 < temp_r30->unk_30; var_r29++, var_r31++) { - var_r31->unk00 = 0; - var_r31->unk2C = 0.0f; - var_r31->unk40.a = 0; - } -} diff --git a/src/REL/m444dll/datalist.c b/src/REL/m444dll/datalist.c index 6d2e69f2..3b4fbbaf 100644 --- a/src/REL/m444dll/datalist.c +++ b/src/REL/m444dll/datalist.c @@ -1,9 +1,5 @@ #include "REL/m444dll.h" -#ifndef __MWERKS__ -#include "game/esprite.h" -#endif - s16 lbl_1_bss_199C2[90]; s16 lbl_1_bss_1990E[90]; s16 lbl_1_bss_1990A[2]; @@ -181,4 +177,4 @@ void fn_1_D950(void) espKill(lbl_1_bss_1990A[i]); } } -} +} \ No newline at end of file diff --git a/src/REL/m444dll/main.c b/src/REL/m444dll/main.c index 27ef0821..60a338ec 100644 --- a/src/REL/m444dll/main.c +++ b/src/REL/m444dll/main.c @@ -1,69 +1,75 @@ -#include "game/hsfman.h" -#include "game/hsfmotion.h" #include "game/object.h" #include "game/objsub.h" +#include "game/hsfman.h" +#include "game/hsfmotion.h" #include "game/pad.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/esprite.h" #include "game/window.h" #include "game/wipe.h" +#include "game/audio.h" +#include "game/esprite.h" +#include "game/chrman.h" #include "game/board/ui.h" -#include "game/gamework.h" #include "game/gamework_data.h" +#include "game/gamework.h" #include "REL/m444dll.h" #include "ext_math.h" #include "math.h" +#include "rel_sqrt_consts.h" + typedef struct camera_view_params { - Vec rot; - Vec pos; - float zoom; + Vec rot; + Vec pos; + float zoom; } CameraViewParams; CameraViewParams lbl_1_data_0[] = { - { { -55, 0, 0 }, { 0, 60, -57 }, 806 }, - { { -71, 0, 0 }, { 0, 100, -131 }, 900 }, - { { -87, 0, 0 }, { 0, 46, -117 }, 566 }, - { { -87, 0, 0 }, { 0, 46, -117 }, 566 }, - { { -90, 0, 0 }, { -22, 39, -153 }, 432 }, - { { -40, 0, 0 }, { 0, 130, -186 }, 6530 }, - { { -23, 0, 0 }, { -9, 1, -70 }, 1318 }, - { { -25, 0, 0 }, { 0, 242, 90 }, 343 }, - { { -30, 0, 0 }, { 0, 223, -60 }, 505 }, - { { -23, 0, 0 }, { 0, 65, -97 }, 1318 }, + { { -55, 0, 0 }, { 0, 60, -57 }, 806 }, + { { -71, 0, 0 }, { 0, 100, -131 }, 900 }, + { { -87, 0, 0 }, { 0, 46, -117 }, 566 }, + { { -87, 0, 0 }, { 0, 46, -117 }, 566 }, + { { -90, 0, 0 }, { -22, 39, -153 }, 432 }, + { { -40, 0, 0 }, { 0, 130, -186 }, 6530 }, + { { -23, 0, 0 }, { -9, 1, -70 }, 1318 }, + { { -25, 0, 0 }, { 0, 242, 90 }, 343 }, + { { -30, 0, 0 }, { 0, 223, -60 }, 505 }, + { { -23, 0, 0 }, { 0, 65, -97 }, 1318 }, }; DataListSprite lbl_1_data_118[] = { - { DATA_MAKE_NUM(DATADIR_M444, 0x22), 0, 10, 288, -200, { 255, 255, 255, 255 } }, - { 0, 0, 0, 0, 0, { 0, 0, 0, 0 } }, + { 0x4B0022, 0, 10, 288, -200, { 255, 255, 255, 255 } }, + { 0, 0, 0, 0, 0, { 0, 0, 0, 0 } } }; -float lbl_1_data_140[] = { 90, 250, 420 }; +float lbl_1_data_140[] = { + 90, 250, 420 +}; Vec lbl_1_data_14C[] = { - { -75, -300, 0 }, - { 25, -300, 0 }, - { -75, -300, 0 }, - { 25, -300, 0 }, - { -25, -400, 0 }, + { -75, -300, 0 }, + { 25, -300, 0 }, + { -75, -300, 0 }, + { 25, -300, 0 }, + { -25, -400, 0 }, }; -s16 lbl_1_data_188[] = { 1, 1, 2, 2, 2 }; +s16 lbl_1_data_188[] = { + 1, 1, 2, 2, 2 +}; s32 lbl_1_data_194[] = { - DATA_MAKE_NUM(DATADIR_M444, 0x24), - DATA_MAKE_NUM(DATADIR_M444, 0x25), - DATA_MAKE_NUM(DATADIR_M444, 0x26), - DATA_MAKE_NUM(DATADIR_M444, 0x27), - DATA_MAKE_NUM(DATADIR_M444, 0x28), - DATA_MAKE_NUM(DATADIR_M444, 0x29), - DATA_MAKE_NUM(DATADIR_M444, 0x2A), - DATA_MAKE_NUM(DATADIR_M444, 0x2B), + 0x4B0024, + 0x4B0025, + 0x4B0026, + 0x4B0027, + 0x4B0028, + 0x4B0029, + 0x4B002A, + 0x4B002B }; omObjData *lbl_1_bss_30C; @@ -86,7 +92,6 @@ Vec lbl_1_bss_290[2]; float lbl_1_bss_288[2]; s16 lbl_1_bss_148[20][8]; s16 lbl_1_bss_8[20][8]; -s16 lbl_1_bss_6; s16 lbl_1_bss_4; s32 lbl_1_bss_0; @@ -97,42 +102,39 @@ void fn_1_7290(omObjData *object); void ObjectSetup(void) { - s32 light; - OSReport("******* M444 ObjectSetup *********\n"); - lbl_1_bss_308 = omInitObjMan(50, 8192); - omGameSysInit(lbl_1_bss_308); - lbl_1_bss_2A8[0].x = -70; - lbl_1_bss_2A8[0].y = 0; - lbl_1_bss_2A8[0].z = 0; - lbl_1_bss_290[0].x = 0; - lbl_1_bss_290[0].y = 130; - lbl_1_bss_290[0].z = -186; - lbl_1_bss_288[0] = 1360; - lbl_1_bss_2F0 = lbl_1_bss_2A8[0]; - lbl_1_bss_2E4 = lbl_1_bss_290[0]; - lbl_1_bss_2E0 = lbl_1_bss_288[0]; - lbl_1_bss_2FC = 0; - lbl_1_bss_2D6 = -2; - lbl_1_bss_2D4 = -2; - lbl_1_bss_2D2 = -2; - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 30, 20, 15000, 1.2f); - Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); - light = Hu3DGLightCreate(-1000, 1000, 0, 1, -1, 0, 255, 255, 255); - Hu3DGLightInfinitytSet(light); - Hu3DGLightStaticSet(light, 1); - light = Hu3DGLightCreate(0, 50, 1000, 0, -0.05f, -1, 96, 96, 96); - Hu3DGLightInfinitytSet(light); - HuPrcChildCreate(fn_1_470, 100, 12288, 0, lbl_1_bss_308); - HuPrcChildCreate(fn_1_6E3C, 200, 4096, 0, lbl_1_bss_308); - lbl_1_bss_30C = omAddObjEx(lbl_1_bss_308, 32730, 0, 0, -1, fn_1_6EDC); - omAddObjEx(lbl_1_bss_308, 0, 32, 32, -1, fn_1_7290); - Hu3DBGColorSet(0, 0, 0); -#if VERSION_JP - GWGameStat.language = 0; -#endif - HuWinInit(1); - BoardStatusCreate(); + s32 light; + OSReport("******* M444 ObjectSetup *********\n"); + lbl_1_bss_308 = omInitObjMan(50, 8192); + omGameSysInit(lbl_1_bss_308); + lbl_1_bss_2A8[0].x = -70; + lbl_1_bss_2A8[0].y = 0; + lbl_1_bss_2A8[0].z = 0; + lbl_1_bss_290[0].x = 0; + lbl_1_bss_290[0].y = 130; + lbl_1_bss_290[0].z = -186; + lbl_1_bss_288[0] = 1360; + lbl_1_bss_2F0 = lbl_1_bss_2A8[0]; + lbl_1_bss_2E4 = lbl_1_bss_290[0]; + lbl_1_bss_2E0 = lbl_1_bss_288[0]; + lbl_1_bss_2FC = 0; + lbl_1_bss_2D6 = -2; + lbl_1_bss_2D4 = -2; + lbl_1_bss_2D2 = -2; + Hu3DCameraCreate(1); + Hu3DCameraPerspectiveSet(1, 30, 20, 15000, 1.2f); + Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); + light = Hu3DGLightCreate(-1000, 1000, 0, 1, -1, 0, 255, 255, 255); + Hu3DGLightInfinitytSet(light); + Hu3DGLightStaticSet(light, 1); + light = Hu3DGLightCreate(0, 50, 1000, 0, -0.05f, -1, 96, 96, 96); + Hu3DGLightInfinitytSet(light); + HuPrcChildCreate(fn_1_470, 100, 12288, 0, lbl_1_bss_308); + HuPrcChildCreate(fn_1_6E3C, 200, 4096, 0, lbl_1_bss_308); + lbl_1_bss_30C = omAddObjEx(lbl_1_bss_308, 32730, 0, 0, -1, fn_1_6EDC); + omAddObjEx(lbl_1_bss_308, 0, 32, 32, -1, fn_1_7290); + Hu3DBGColorSet(0, 0, 0); + HuWinInit(1); + BoardStatusCreate(); } void fn_1_3B7C(void); @@ -148,808 +150,796 @@ float fn_1_82FC(void); void fn_1_470(void) { - float temp_f31; - float temp_f30; - - s16 temp_r31; - s16 temp_r30; - s16 temp_r29; - u32 temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - u32 temp_r24; - ModelData *temp_r23; - - Vec sp1C; - Vec sp10; - float sp8[2]; - - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - if (GWPlayerCfg[temp_r31].group == 0) { - break; - } - } - lbl_1_bss_2DC = temp_r31; - lbl_1_bss_2D8 = GWPlayerCfg[temp_r31].pad_idx; - lbl_1_bss_2DA = GWPlayerCfg[temp_r31].character; - fn_1_655C(); - fn_1_8210(5); - fn_1_8180(6); - Hu3DModelPosSet(lbl_1_bss_2D0, 0, 0, 250); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - HuAudSeqPlay(76); - while (WipeStatGet()) { - HuPrcVSleep(); - } - while (fn_1_82FC() > 10.0f) { - HuPrcVSleep(); - } - Hu3DModelAttrReset(lbl_1_bss_199C2[18], HU3D_ATTR_DISPOFF); - Hu3DMotionSet(lbl_1_bss_199C2[18], lbl_1_bss_1990E[20]); - Hu3DModelRotSet(lbl_1_bss_199C2[18], 0, 90, 0); - for (temp_r31 = 0; temp_r31 <= 60; temp_r31++) { - if (temp_r31 <= 30) { - espPosSet(lbl_1_bss_1990A[0], 288, (200.0 * sind(3.0 * temp_r31)) - 100.0); - } - Hu3DModelPosSet(lbl_1_bss_199C2[18], (-300.0 * cosd(1.5 * temp_r31)) + (-160.0), 0, 155); - HuPrcVSleep(); - } - for (temp_r31 = 0; temp_r31 <= 30; temp_r31++) { - if (temp_r31 <= 20) { - Hu3DModelRotSet(lbl_1_bss_199C2[18], 0, (30.0 * (1.0 - (temp_r31 / 20.0f))) + 60.0, 0); - } - if (temp_r31 > 10) { - temp_r29 = temp_r31 - 10; - Hu3DModelRotSet(lbl_1_bss_2D0, 0, (-(temp_r29 / 20.0f)) * 120.0f, 0); - } - if (temp_r31 == 10) { - Hu3DMotionShiftSet(lbl_1_bss_199C2[18], lbl_1_bss_1990E[19], 0, 16, HU3D_MOTATTR_LOOP); - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 8, HU3D_MOTATTR_LOOP); - } - HuPrcVSleep(); - } - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0], 0, 8, HU3D_MOTATTR_LOOP); - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x1C, 0x00)); - temp_r30 = HuWinExCreateStyled(-10000, 340, sp8[0], sp8[1], -1, 1); - HuWinExAnimIn(temp_r30); - HuWinMesPalSet(temp_r30, 7, 0, 0, 0); - fn_1_6D80(temp_r30); - HuWinMesSet(temp_r30, MAKE_MESSID(0x1C, 0x00)); - HuWinMesWait(temp_r30); - HuWinExAnimOut(temp_r30); - HuWinExCleanup(temp_r30); - HuWinComKeyReset(); - Hu3DMotionShiftSet(lbl_1_bss_199C2[18], lbl_1_bss_1990E[20], 0, 10, HU3D_MOTATTR_LOOP); - for (temp_r31 = 0; temp_r31 <= 20; temp_r31++) { - HuPrcVSleep(); - } - for (temp_r31 = 0; temp_r31 <= 30; temp_r31++) { - if (temp_r31 <= 10) { - Hu3DModelRotSet(lbl_1_bss_199C2[18], 0, 30.0f - ((temp_r31 / 10.0f) * 120.0f), 0); - } - if (temp_r31 <= 20) { - espPosSet(lbl_1_bss_1990A[0], 288, (200.0 * cosd(temp_r31 * 4.5)) - 100.0); - } - Hu3DModelPosSet(lbl_1_bss_199C2[18], ((1.0 - cosd(temp_r31 * 3.0)) * -200.0) + -160.0, 0, 155); - HuPrcVSleep(); - } - Hu3DModelAttrSet(lbl_1_bss_199C2[18], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_199C2[22], HU3D_ATTR_DISPOFF); - Hu3DMotionSet(lbl_1_bss_199C2[22], lbl_1_bss_1990E[24]); - Hu3DModelRotSet(lbl_1_bss_199C2[22], 0, 90, 0); - for (temp_r31 = 0; temp_r31 <= 60; temp_r31++) { - Hu3DModelPosSet(lbl_1_bss_199C2[22], (-300.0 * cosd(1.5 * temp_r31)) + (-160.0), 0, 155); - if (temp_r31 > 20) { - temp_r29 = temp_r31 - 40; - Hu3DModelRotSet(lbl_1_bss_199C2[22], 0, (30.0 * (1.0 - (temp_r29 / 20.0f))) + 60.0, 0); - } - if (temp_r31 == 50) { - Hu3DMotionShiftSet(lbl_1_bss_199C2[22], lbl_1_bss_1990E[23], 0, 10, HU3D_MOTATTR_LOOP); - } - if (temp_r31 > 40) { - temp_r29 = temp_r31 - 40; - for (temp_r27 = 0; temp_r27 < 3; temp_r27++) { - lbl_1_bss_34C[temp_r27].y = (180.0 * sind(4.5 * temp_r29)) - 100.0; - } - } - HuPrcVSleep(); - } - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x1C, 0x01)); - temp_r30 = HuWinExCreateStyled(-10000, 340, sp8[0], sp8[1], -1, 1); - HuWinExAnimIn(temp_r30); - HuWinMesPalSet(temp_r30, 7, 0, 0, 0); - fn_1_6D80(temp_r30); - HuWinMesSet(temp_r30, MAKE_MESSID(0x1C, 0x01)); - HuWinMesWait(temp_r30); - HuWinExAnimOut(temp_r30); - HuWinExCleanup(temp_r30); - HuWinComKeyReset(); - Hu3DModelAttrReset(lbl_1_bss_199C2[11], HU3D_MOTATTR_PAUSE); - HuAudFXPlay(1854); - Hu3DMotionShiftSet(lbl_1_bss_199C2[22], lbl_1_bss_1990E[24], 0, 10, HU3D_MOTATTR_LOOP); - for (temp_r31 = 0; temp_r31 < 20; temp_r31++) { - temp_f31 = temp_r31 / 20.0f; - Hu3DModelRotSet(lbl_1_bss_199C2[22], 0, (150.0f * temp_f31) + 30.0f, 0); - HuPrcVSleep(); - } - Hu3DMotionShiftSet(lbl_1_bss_199C2[22], lbl_1_bss_1990E[23], 0, 10, HU3D_MOTATTR_LOOP); - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 10, HU3D_MOTATTR_LOOP); - for (temp_r31 = 0; temp_r31 < 20; temp_r31++) { - temp_f31 = temp_r31 / 20.0f; - Hu3DModelRotSet(lbl_1_bss_2D0, 0, -120.0f - (60.0f * temp_f31), 0); - HuPrcVSleep(); - } - HuAudFXPlay(1855); - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0], 0, 10, HU3D_MOTATTR_LOOP); - while (Hu3DMotionEndCheck(lbl_1_bss_199C2[11]) == 0) { - HuPrcVSleep(); - } - HuAudFXPlay(1856); - fn_1_861C(0); - Hu3DModelAttrReset(lbl_1_bss_199C2[9], HU3D_MOTATTR_PAUSE); - HuAudFXPlay(1863); - while (Hu3DMotionTimeGet(lbl_1_bss_199C2[9]) < lbl_1_data_140[0]) { - HuPrcVSleep(); - } - HuAudFXPlay(1857); - Hu3DMotionTimeSet(lbl_1_bss_199C2[9], lbl_1_data_140[0]); - Hu3DModelAttrSet(lbl_1_bss_199C2[9], HU3D_MOTATTR_PAUSE); - HuPrcSleep(20); - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 8, HU3D_MOTATTR_LOOP); - sp1C.x = 124; - sp1C.y = 0; - sp1C.z = -180; - for (temp_r31 = 0; temp_r31 <= 40; temp_r31++) { - temp_f31 = temp_r31 / 40.0f; - Hu3DModelPosSet(lbl_1_bss_2D0, temp_f31 * sp1C.x, temp_f31 * sp1C.y, (temp_f31 * sp1C.z) + 250.0f); - if (temp_r31 <= 20) { - temp_f30 = atan2d(sp1C.x, sp1C.z) - 180.0; - Hu3DModelRotSet(lbl_1_bss_2D0, 0, (temp_f30 * (temp_r31 / 20.0)) + 180.0, 0); - } - if (temp_r31 > 30) { - temp_r29 = temp_r31 - 30; - temp_f30 = atan2d(sp1C.x, sp1C.z) - 180.0; - Hu3DModelRotSet(lbl_1_bss_2D0, 0, (temp_f30 * (1.0 - (temp_r29 / 10.0))) + 180.0, 0); - } - HuPrcVSleep(); - } - lbl_1_bss_2D6 = -1; - fn_1_9418(0); - temp_r26 = fn_1_8DD0(0); - lbl_1_bss_2D6 = lbl_1_bss_320[temp_r26]; - HuAudFXPlay(1859); - fn_1_9CAC(0, temp_r26); - for (temp_r31 = 0; temp_r31 <= 60; temp_r31++) { - lbl_1_bss_328[0].x = lbl_1_bss_328[0].y = lbl_1_bss_328[0].z = (0.1 * sind(temp_r31 * 18.0)) + 0.3; - HuPrcVSleep(); - } - HuPrcSleep(40); - Hu3DModelAttrSet(lbl_1_bss_199C2[64], HU3D_ATTR_DISPOFF); - fn_1_8180(9); - Hu3DMotionShiftSet(lbl_1_bss_199C2[22], lbl_1_bss_1990E[24], 0, 10, HU3D_MOTATTR_LOOP); - for (temp_r31 = 0; temp_r31 <= 30; temp_r31++) { - if (temp_r31 <= 10) { - Hu3DModelRotSet(lbl_1_bss_199C2[22], 0, (90.0 * (temp_r31 / 10.0)) + 180.0, 0); - } - if (temp_r31 == 10) { - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 10, HU3D_MOTATTR_LOOP); - } - if (temp_r31 > 10 && temp_r31 <= 25) { - temp_r29 = temp_r31 - 10; - Hu3DModelRotSet(lbl_1_bss_2D0, 0, (90.0 * (temp_r29 / 15.0)) + 180.0, 0); - } - if (temp_r31 == 25) { - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0], 0, 10, HU3D_MOTATTR_LOOP); - } - Hu3DModelPosSet(lbl_1_bss_199C2[22], (-300.0 * (1.0 - cosd(3.0 * temp_r31))) + (-160.0), 0, 155); - HuPrcVSleep(); - } - Hu3DModelAttrSet(lbl_1_bss_199C2[22], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_199C2[26], HU3D_ATTR_DISPOFF); - Hu3DMotionSet(lbl_1_bss_199C2[26], lbl_1_bss_1990E[28]); - Hu3DModelRotSet(lbl_1_bss_199C2[26], 0, 90, 0); - for (temp_r31 = 0; temp_r31 <= 60; temp_r31++) { - Hu3DModelPosSet(lbl_1_bss_199C2[26], (-300.0 * cosd(1.5 * temp_r31)) + (-160.0), 0, 155); - if (temp_r31 == 50) { - Hu3DMotionShiftSet(lbl_1_bss_199C2[26], lbl_1_bss_1990E[27], 0, 10, HU3D_MOTATTR_LOOP); - } - HuPrcVSleep(); - } - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x1C, 0x02)); - temp_r30 = HuWinExCreateStyled(-10000, 340, sp8[0], sp8[1], -1, 1); - HuWinExAnimIn(temp_r30); - HuWinMesPalSet(temp_r30, 7, 0, 0, 0); - fn_1_6D80(temp_r30); - HuWinInsertMesSet(temp_r30, GWPlayerCfg[lbl_1_bss_2D6].character, 0); - HuWinMesSet(temp_r30, MAKE_MESSID(0x1C, 0x02)); - HuWinMesWait(temp_r30); - HuWinExAnimOut(temp_r30); - HuWinExCleanup(temp_r30); - HuWinComKeyReset(); - Hu3DMotionShiftSet(lbl_1_bss_199C2[26], lbl_1_bss_1990E[28], 0, 10, HU3D_MOTATTR_LOOP); - for (temp_r31 = 0; temp_r31 < 20; temp_r31++) { - temp_f31 = temp_r31 / 20.0f; - Hu3DModelRotSet(lbl_1_bss_199C2[26], 0, (temp_f31 * 90.0f) + 90.0f, 0); - HuPrcVSleep(); - } - Hu3DMotionShiftSet(lbl_1_bss_199C2[26], lbl_1_bss_1990E[27], 0, 10, HU3D_MOTATTR_LOOP); - fn_1_861C(1); - Hu3DModelAttrReset(lbl_1_bss_199C2[9], HU3D_MOTATTR_PAUSE); - HuAudFXPlay(1862); - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 10, HU3D_MOTATTR_LOOP); - for (temp_r31 = 0; temp_r31 < 20; temp_r31++) { - temp_f31 = 1.0 - (temp_r31 / 20.0f); - Hu3DModelRotSet(lbl_1_bss_2D0, 0, (temp_f31 * 90.0f) + 180.0f, 0); - HuPrcVSleep(); - } - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0], 0, 10, HU3D_MOTATTR_LOOP); - while (Hu3DMotionTimeGet(lbl_1_bss_199C2[9]) < lbl_1_data_140[1]) { - if (Hu3DMotionTimeGet(lbl_1_bss_199C2[9]) == 128.0f) { - HuAudFXPlay(1850); - } - if (Hu3DMotionTimeGet(lbl_1_bss_199C2[9]) == 200.0f) { - HuAudFXPlay(1863); - } - HuPrcVSleep(); - } - HuAudFXPlay(1857); - Hu3DMotionTimeSet(lbl_1_bss_199C2[9], lbl_1_data_140[1]); - Hu3DModelAttrSet(lbl_1_bss_199C2[9], HU3D_MOTATTR_PAUSE); - HuPrcSleep(20); - lbl_1_bss_2D4 = -1; - fn_1_9418(1); - temp_r26 = fn_1_8DD0(1); - lbl_1_bss_2D4 = lbl_1_bss_320[temp_r26]; - HuAudFXPlay(1860); - fn_1_9CAC(1, temp_r26); - for (temp_r31 = 0; temp_r31 <= 60; temp_r31++) { - lbl_1_bss_328[1].x = lbl_1_bss_328[1].y = lbl_1_bss_328[1].z = (0.1 * sind(temp_r31 * 18.0)) + 0.3; - HuPrcVSleep(); - } - HuPrcSleep(40); - Hu3DModelAttrSet(lbl_1_bss_199C2[64], HU3D_ATTR_DISPOFF); - fn_1_8180(9); - Hu3DMotionShiftSet(lbl_1_bss_199C2[26], lbl_1_bss_1990E[28], 0, 10, HU3D_MOTATTR_LOOP); - for (temp_r31 = 0; temp_r31 <= 30; temp_r31++) { - if (temp_r31 <= 10) { - Hu3DModelRotSet(lbl_1_bss_199C2[26], 0, (90.0 * (temp_r31 / 10.0)) + 180.0, 0); - } - if (temp_r31 == 10) { - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 10, HU3D_MOTATTR_LOOP); - } - if (temp_r31 > 10 && temp_r31 <= 25) { - temp_r29 = temp_r31 - 10; - Hu3DModelRotSet(lbl_1_bss_2D0, 0, (90.0 * (temp_r29 / 15.0)) + 180.0, 0); - } - if (temp_r31 == 25) { - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0], 0, 10, HU3D_MOTATTR_LOOP); - } - Hu3DModelPosSet(lbl_1_bss_199C2[26], (-400.0 * (1.0 - cosd(3.0 * temp_r31))) + (-160.0), 0, 155); - HuPrcVSleep(); - } - Hu3DModelAttrSet(lbl_1_bss_199C2[26], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_199C2[30], HU3D_ATTR_DISPOFF); - Hu3DMotionSet(lbl_1_bss_199C2[30], lbl_1_bss_1990E[32]); - Hu3DModelRotSet(lbl_1_bss_199C2[30], 0, 90, 0); - for (temp_r31 = 0; temp_r31 <= 60; temp_r31++) { - Hu3DModelPosSet(lbl_1_bss_199C2[30], (-400.0 * cosd(1.5 * temp_r31)) + (-160.0), 100, 155); - if (temp_r31 == 50) { - Hu3DMotionShiftSet(lbl_1_bss_199C2[30], lbl_1_bss_1990E[31], 0, 10, HU3D_MOTATTR_LOOP); - } - HuPrcVSleep(); - } - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x1C, 0x03)); - temp_r30 = HuWinExCreateStyled(-10000, 340, sp8[0], sp8[1], -1, 1); - HuWinExAnimIn(temp_r30); - HuWinMesPalSet(temp_r30, 7, 0, 0, 0); - fn_1_6D80(temp_r30); - HuWinInsertMesSet(temp_r30, GWPlayerCfg[lbl_1_bss_2D6].character, 0); - HuWinInsertMesSet(temp_r30, GWPlayerCfg[lbl_1_bss_2D4].character, 2); - HuWinMesSet(temp_r30, MAKE_MESSID(0x1C, 0x03)); - HuWinMesWait(temp_r30); - HuWinExAnimOut(temp_r30); - HuWinExCleanup(temp_r30); - HuWinComKeyReset(); - Hu3DMotionShiftSet(lbl_1_bss_199C2[30], lbl_1_bss_1990E[32], 0, 10, HU3D_MOTATTR_LOOP); - for (temp_r31 = 0; temp_r31 < 20; temp_r31++) { - temp_f31 = temp_r31 / 20.0f; - Hu3DModelRotSet(lbl_1_bss_199C2[30], 0, (temp_f31 * 90.0f) + 90.0f, 0); - HuPrcVSleep(); - } - Hu3DMotionShiftSet(lbl_1_bss_199C2[30], lbl_1_bss_1990E[31], 0, 10, HU3D_MOTATTR_LOOP); - fn_1_861C(2); - Hu3DModelAttrReset(lbl_1_bss_199C2[9], HU3D_MOTATTR_PAUSE); - HuAudFXPlay(1862); - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 10, HU3D_MOTATTR_LOOP); - for (temp_r31 = 0; temp_r31 < 20; temp_r31++) { - temp_f31 = 1.0 - (temp_r31 / 20.0f); - Hu3DModelRotSet(lbl_1_bss_2D0, 0, (temp_f31 * 90.0f) + 180.0f, 0); - HuPrcVSleep(); - } - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0], 0, 10, HU3D_MOTATTR_LOOP); - while (Hu3DMotionTimeGet(lbl_1_bss_199C2[9]) < lbl_1_data_140[2]) { - if (Hu3DMotionTimeGet(lbl_1_bss_199C2[9]) == 300.0f) { - HuAudFXPlay(1850); - } - if (Hu3DMotionTimeGet(lbl_1_bss_199C2[9]) == 372.0f) { - HuAudFXPlay(1863); - } - HuPrcVSleep(); - } - HuAudFXPlay(1857); - Hu3DMotionTimeSet(lbl_1_bss_199C2[9], lbl_1_data_140[2]); - Hu3DModelAttrSet(lbl_1_bss_199C2[9], HU3D_MOTATTR_PAUSE); - HuPrcSleep(20); - lbl_1_bss_2D2 = -1; - fn_1_9418(2); - temp_r26 = fn_1_8DD0(2); - lbl_1_bss_2D2 = temp_r26; - HuAudFXPlay(1861); - fn_1_9CAC(2, temp_r26); - for (temp_r31 = 0; temp_r31 <= 60; temp_r31++) { - lbl_1_bss_328[2].x = lbl_1_bss_328[2].y = lbl_1_bss_328[2].z = (0.1 * sind(temp_r31 * 18.0)) + 0.3; - HuPrcVSleep(); - } - HuPrcSleep(40); - Hu3DModelAttrSet(lbl_1_bss_199C2[64], HU3D_ATTR_DISPOFF); - fn_1_8180(9); - Hu3DMotionShiftSet(lbl_1_bss_199C2[30], lbl_1_bss_1990E[32], 0, 10, HU3D_MOTATTR_LOOP); - for (temp_r31 = 0; temp_r31 <= 30; temp_r31++) { - if (temp_r31 <= 10) { - Hu3DModelRotSet(lbl_1_bss_199C2[30], 0, (90.0 * (temp_r31 / 10.0)) + 180.0, 0); - } - if (temp_r31 == 10) { - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 10, HU3D_MOTATTR_LOOP); - } - if (temp_r31 > 10 && temp_r31 <= 25) { - temp_r29 = temp_r31 - 10; - Hu3DModelRotSet(lbl_1_bss_2D0, 0, (90.0 * (temp_r29 / 15.0)) + 180.0, 0); - } - if (temp_r31 == 25) { - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0], 0, 10, HU3D_MOTATTR_LOOP); - } - Hu3DModelPosSet(lbl_1_bss_199C2[30], (-400.0 * (1.0 - cosd(3.0 * temp_r31))) + (-160.0), 100, 155); - HuPrcVSleep(); - } - HuAudFXPlay(1862); - Hu3DModelAttrReset(lbl_1_bss_199C2[9], HU3D_MOTATTR_PAUSE); - while (Hu3DMotionEndCheck(lbl_1_bss_199C2[9]) == 0) { - HuPrcVSleep(); - } - Hu3DModelAttrReset(lbl_1_bss_199C2[11], HU3D_MOTATTR_PAUSE); - HuAudFXPlay(1855); - Hu3DModelAttrSet(lbl_1_bss_199C2[11], HU3D_MOTATTR_REV); - while (Hu3DMotionTimeGet(lbl_1_bss_199C2[11]) > 0.0f) { - if (Hu3DMotionTimeGet(lbl_1_bss_199C2[11]) == 25.0f) { - HuAudFXPlay(1854); - } - HuPrcVSleep(); - } - HuAudFXPlay(1856); - Hu3DModelAttrReset(lbl_1_bss_199C2[34], HU3D_ATTR_DISPOFF); - Hu3DMotionSet(lbl_1_bss_199C2[34], lbl_1_bss_1990E[36]); - Hu3DModelRotSet(lbl_1_bss_199C2[34], 0, 90, 0); - for (temp_r31 = 0; temp_r31 <= 60; temp_r31++) { - Hu3DModelPosSet(lbl_1_bss_199C2[34], -154.0 + (-500.0 * (1.0 - (temp_r31 / 60.0f))), 0, -403); - if (temp_r31 > 20) { - temp_r29 = temp_r31 - 40; - Hu3DModelRotSet(lbl_1_bss_199C2[34], 0, (30.0 * (1.0 - (temp_r29 / 20.0f))) + 60.0, 0); - } - if (temp_r31 == 50) { - Hu3DMotionShiftSet(lbl_1_bss_199C2[34], lbl_1_bss_1990E[35], 0, 10, HU3D_MOTATTR_LOOP); - } - if (temp_r31 == 40) { - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 10, HU3D_MOTATTR_LOOP); - } - if (temp_r31 >= 40) { - temp_r29 = temp_r31 - 40; - Hu3DModelRotSet(lbl_1_bss_2D0, 0, -90.0 - (45.0 * (temp_r29 / 20.0)), 0); - } - HuPrcVSleep(); - } - fn_1_8180(7); - temp_r23 = &Hu3DData[lbl_1_bss_2D0]; - sp1C.x = 0; - sp1C.y = 0; - sp1C.z = -200; - sp10 = temp_r23->pos; - VECSubtract(&sp1C, &sp10, &sp1C); - for (temp_r31 = 0; temp_r31 <= 30; temp_r31++) { - temp_f31 = temp_r31 / 30.0; - Hu3DModelPosSet(lbl_1_bss_2D0, (temp_f31 * sp1C.x) + sp10.x, (temp_f31 * sp1C.y) + sp10.y, (temp_f31 * sp1C.z) + sp10.z); - HuPrcVSleep(); - } - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0], 0, 10, HU3D_MOTATTR_LOOP); - BoardStatusShowSet(lbl_1_bss_2D6, 1); - BoardStatusShowSet(lbl_1_bss_2D4, 1); - sp1C.x = -112; - sp1C.y = 200; - sp1C.z = 0; - BoardStatusPosSet(lbl_1_bss_2D6, &sp1C); - sp1C.x = 688; - sp1C.y = 200; - sp1C.z = 0; - BoardStatusPosSet(lbl_1_bss_2D4, &sp1C); - for (temp_r31 = 0; temp_r31 <= 20; temp_r31++) { - if (temp_r31 > 10) { - temp_r29 = temp_r31 - 10; - sp1C.x = 138.0 - (250.0 * cosd(temp_r29 * 9.0)); - sp1C.y = 200; - sp1C.z = 0; - BoardStatusTargetPosSet(lbl_1_bss_2D6, &sp1C); - sp1C.x = 438.0 + (250.0 * cosd(temp_r29 * 9.0)); - sp1C.y = 200; - sp1C.z = 0; - BoardStatusTargetPosSet(lbl_1_bss_2D4, &sp1C); - } - HuPrcVSleep(); - } - temp_r25 = 1; - switch (lbl_1_bss_2D2) { - case 0: - if (GWPlayer[lbl_1_bss_2D6].coins <= 0 && GWPlayer[lbl_1_bss_2D4].coins <= 0) { - temp_r28 = MAKE_MESSID(0x1C, 0x16); - temp_r25 = 0; - } - else { - temp_r28 = MAKE_MESSID(0x1C, 0x06); - } - temp_r24 = MAKE_MESSID(0x1C, 0x09); - break; - - case 1: - if (GWPlayer[lbl_1_bss_2D6].coins <= 0 && GWPlayer[lbl_1_bss_2D4].coins <= 0 && GWPlayer[lbl_1_bss_2D6].stars <= 0 - && GWPlayer[lbl_1_bss_2D4].stars <= 0) { - temp_r25 = 0; - temp_r28 = MAKE_MESSID(0x1C, 0x17); - } - else { - temp_r28 = MAKE_MESSID(0x1C, 0x06); - } - temp_r24 = MAKE_MESSID(0x1C, 0x0D); - break; - - case 2: - if (GWPlayer[lbl_1_bss_2D6].stars > 0) { - temp_r28 = MAKE_MESSID(0x1C, 0x04); - } - else { - temp_r28 = MAKE_MESSID(0x1C, 0x08); - temp_r25 = 0; - } - temp_r24 = MAKE_MESSID(0x1C, 0x0A); - break; - - case 3: - if (GWPlayer[lbl_1_bss_2D6].stars <= 0 && GWPlayer[lbl_1_bss_2D4].stars <= 0) { - temp_r25 = 0; - temp_r28 = MAKE_MESSID(0x1C, 0x15); - } - else { - temp_r28 = MAKE_MESSID(0x1C, 0x06); - } - temp_r24 = MAKE_MESSID(0x1C, 0x0E); - break; - - case 4: - if (GWPlayer[lbl_1_bss_2D6].stars > 0) { - temp_r28 = MAKE_MESSID(0x1C, 0x04); - } - else { - temp_r28 = MAKE_MESSID(0x1C, 0x08); - temp_r25 = 0; - } - temp_r24 = MAKE_MESSID(0x1C, 0x0C); - break; - - case 5: - case 6: - if (GWPlayer[lbl_1_bss_2D6].coins > 0) { - temp_r28 = MAKE_MESSID(0x1C, 0x04); - } - else { - temp_r28 = MAKE_MESSID(0x1C, 0x07); - temp_r25 = 0; - } - temp_r24 = MAKE_MESSID(0x1C, 0x0B); - break; - - default: - break; - } - HuWinInsertMesSizeGet((8 + GWPlayerCfg[lbl_1_bss_2D6].character) - 8, 0); - HuWinInsertMesSizeGet(temp_r24, 1); - HuWinInsertMesSizeGet((8 + GWPlayerCfg[lbl_1_bss_2D4].character) - 8, 2); - HuWinMesMaxSizeGet(1, sp8, temp_r28); - temp_r30 = HuWinExCreateStyled(-10000, 340, sp8[0], sp8[1], -1, 1); - HuWinExAnimIn(temp_r30); - HuWinMesPalSet(temp_r30, 7, 0, 0, 0); - HuWinInsertMesSet(temp_r30, GWPlayerCfg[lbl_1_bss_2D6].character, 0); - HuWinInsertMesSet(temp_r30, temp_r24, 1); - HuWinInsertMesSet(temp_r30, GWPlayerCfg[lbl_1_bss_2D4].character, 2); - fn_1_6D80(temp_r30); - HuWinMesSet(temp_r30, temp_r28); - HuWinMesWait(temp_r30); - HuWinExAnimOut(temp_r30); - HuWinExCleanup(temp_r30); - HuWinComKeyReset(); - if (temp_r25) { - fn_1_4DEC(); - HuPrcSleep(60); - } - else { - HuPrcSleep(30); - } - sp1C.x = -112; - sp1C.y = 200; - sp1C.z = 0; - BoardStatusTargetPosSet(lbl_1_bss_2D6, &sp1C); - sp1C.x = 688; - sp1C.y = 200; - sp1C.z = 0; - BoardStatusTargetPosSet(lbl_1_bss_2D4, &sp1C); - while (!BoardStatusStopCheck(lbl_1_bss_2D6)) { - HuPrcVSleep(); - } - for (temp_r31 = 0; temp_r31 <= 20; temp_r31++) { - for (temp_r27 = 0; temp_r27 < 3; temp_r27++) { - lbl_1_bss_34C[temp_r27].y = (180.0 * cosd(4.5 * temp_r31)) - 100.0; - } - HuPrcVSleep(); - } - fn_1_3B7C(); - lbl_1_bss_2FC = 1; - while (1) { - lbl_1_bss_288[0] += 10.0f; - HuPrcVSleep(); - } + float temp_f31; + float temp_f30; + + s16 temp_r31; + s16 temp_r30; + s16 temp_r29; + u32 temp_r28; + s16 temp_r27; + s16 temp_r26; + s16 temp_r25; + u32 temp_r24; + ModelData *temp_r23; + + Vec sp1C; + Vec sp10; + float sp8[2]; + + for(temp_r31=0; temp_r31<4; temp_r31++) { + if(GWPlayerCfg[temp_r31].group == 0) { + break; + } + } + lbl_1_bss_2DC = temp_r31; + lbl_1_bss_2D8 = GWPlayerCfg[temp_r31].pad_idx; + lbl_1_bss_2DA = GWPlayerCfg[temp_r31].character; + fn_1_655C(); + fn_1_8210(5); + fn_1_8180(6); + Hu3DModelPosSet(lbl_1_bss_2D0, 0, 0, 250); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); + HuAudSeqPlay(76); + while(WipeStatGet()) { + HuPrcVSleep(); + } + while(fn_1_82FC() > 10.0f) { + HuPrcVSleep(); + } + Hu3DModelAttrReset(lbl_1_bss_199C2[18], 1); + Hu3DMotionSet(lbl_1_bss_199C2[18], lbl_1_bss_1990E[20]); + Hu3DModelRotSet(lbl_1_bss_199C2[18], 0, 90, 0); + for(temp_r31=0; temp_r31<=60; temp_r31++) { + if(temp_r31 <= 30) { + espPosSet(lbl_1_bss_1990A[0], 288, (200.0*sind(3.0*temp_r31))-100.0); + } + Hu3DModelPosSet(lbl_1_bss_199C2[18], (-300.0*cosd(1.5*temp_r31))+(-160.0), 0, 155); + HuPrcVSleep(); + } + for(temp_r31=0; temp_r31<=30; temp_r31++) { + if(temp_r31 <= 20) { + Hu3DModelRotSet(lbl_1_bss_199C2[18], 0, (30.0*(1.0-(temp_r31/20.0f)))+60.0, 0); + } + if(temp_r31 > 10) { + temp_r29 = temp_r31-10; + Hu3DModelRotSet(lbl_1_bss_2D0, 0, (-(temp_r29/20.0f))*120.0f, 0); + } + if(temp_r31 == 10) { + Hu3DMotionShiftSet(lbl_1_bss_199C2[18], lbl_1_bss_1990E[19], 0, 16, 0x40000001); + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 8, 0x40000001); + } + HuPrcVSleep(); + } + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0], 0, 8, 0x40000001); + HuWinMesMaxSizeGet(1, sp8, 0x1C0000); + temp_r30 = HuWinExCreateStyled(-10000, 340, sp8[0], sp8[1], -1, 1); + HuWinExAnimIn(temp_r30); + HuWinMesPalSet(temp_r30, 7, 0, 0, 0); + fn_1_6D80(temp_r30); + HuWinMesSet(temp_r30, 0x1C0000); + HuWinMesWait(temp_r30); + HuWinExAnimOut(temp_r30); + HuWinExCleanup(temp_r30); + HuWinComKeyReset(); + Hu3DMotionShiftSet(lbl_1_bss_199C2[18], lbl_1_bss_1990E[20], 0, 10, 0x40000001); + for(temp_r31=0; temp_r31<=20; temp_r31++) { + HuPrcVSleep(); + } + for(temp_r31=0; temp_r31<=30; temp_r31++) { + if(temp_r31 <= 10) { + Hu3DModelRotSet(lbl_1_bss_199C2[18], 0, 30.0f-((temp_r31/10.0f)*120.0f), 0); + } + if(temp_r31 <= 20) { + espPosSet(lbl_1_bss_1990A[0], 288, (200.0*cosd(temp_r31*4.5))-100.0); + } + Hu3DModelPosSet(lbl_1_bss_199C2[18], ((1.0-cosd(temp_r31*3.0))*-200.0)+ -160.0, 0, 155); + HuPrcVSleep(); + } + Hu3DModelAttrSet(lbl_1_bss_199C2[18], 1); + Hu3DModelAttrReset(lbl_1_bss_199C2[22], 1); + Hu3DMotionSet(lbl_1_bss_199C2[22], lbl_1_bss_1990E[24]); + Hu3DModelRotSet(lbl_1_bss_199C2[22], 0, 90, 0); + for(temp_r31=0; temp_r31<=60; temp_r31++) { + Hu3DModelPosSet(lbl_1_bss_199C2[22], (-300.0*cosd(1.5*temp_r31))+(-160.0), 0, 155); + if(temp_r31 > 20) { + temp_r29 = temp_r31-40; + Hu3DModelRotSet(lbl_1_bss_199C2[22], 0, (30.0*(1.0-(temp_r29/20.0f)))+60.0, 0); + } + if(temp_r31 == 50) { + Hu3DMotionShiftSet(lbl_1_bss_199C2[22], lbl_1_bss_1990E[23], 0, 10, 0x40000001); + } + if(temp_r31 > 40) { + temp_r29 = temp_r31-40; + for(temp_r27=0; temp_r27<3; temp_r27++) { + lbl_1_bss_34C[temp_r27].y = (180.0*sind(4.5*temp_r29))-100.0; + } + } + HuPrcVSleep(); + } + HuWinMesMaxSizeGet(1, sp8, 0x1C0001); + temp_r30 = HuWinExCreateStyled(-10000, 340, sp8[0], sp8[1], -1, 1); + HuWinExAnimIn(temp_r30); + HuWinMesPalSet(temp_r30, 7, 0, 0, 0); + fn_1_6D80(temp_r30); + HuWinMesSet(temp_r30, 0x1C0001); + HuWinMesWait(temp_r30); + HuWinExAnimOut(temp_r30); + HuWinExCleanup(temp_r30); + HuWinComKeyReset(); + Hu3DModelAttrReset(lbl_1_bss_199C2[11], 0x40000002); + HuAudFXPlay(1854); + Hu3DMotionShiftSet(lbl_1_bss_199C2[22], lbl_1_bss_1990E[24], 0, 10, 0x40000001); + for(temp_r31=0; temp_r31<20; temp_r31++) { + temp_f31 = temp_r31/20.0f; + Hu3DModelRotSet(lbl_1_bss_199C2[22], 0, (150.0f*temp_f31)+30.0f, 0); + HuPrcVSleep(); + } + Hu3DMotionShiftSet(lbl_1_bss_199C2[22], lbl_1_bss_1990E[23], 0, 10, 0x40000001); + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 10, 0x40000001); + for(temp_r31=0; temp_r31<20; temp_r31++) { + temp_f31 = temp_r31/20.0f; + Hu3DModelRotSet(lbl_1_bss_2D0, 0, -120.0f-(60.0f*temp_f31), 0); + HuPrcVSleep(); + } + HuAudFXPlay(1855); + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0], 0, 10, 0x40000001); + while(Hu3DMotionEndCheck(lbl_1_bss_199C2[11]) == 0) { + HuPrcVSleep(); + } + HuAudFXPlay(1856); + fn_1_861C(0); + Hu3DModelAttrReset(lbl_1_bss_199C2[9], 0x40000002); + HuAudFXPlay(1863); + while(Hu3DMotionTimeGet(lbl_1_bss_199C2[9]) < lbl_1_data_140[0]) { + HuPrcVSleep(); + } + HuAudFXPlay(1857); + Hu3DMotionTimeSet(lbl_1_bss_199C2[9], lbl_1_data_140[0]); + Hu3DModelAttrSet(lbl_1_bss_199C2[9], 0x40000002); + HuPrcSleep(20); + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 8, 0x40000001); + sp1C.x = 124; + sp1C.y = 0; + sp1C.z = -180; + for(temp_r31=0; temp_r31<=40; temp_r31++) { + temp_f31 = temp_r31/40.0f; + Hu3DModelPosSet(lbl_1_bss_2D0, temp_f31*sp1C.x, temp_f31*sp1C.y, (temp_f31*sp1C.z)+250.0f); + if(temp_r31 <= 20) { + temp_f30 = atan2d(sp1C.x, sp1C.z)-180.0; + Hu3DModelRotSet(lbl_1_bss_2D0, 0, (temp_f30*(temp_r31/20.0))+180.0, 0); + } + if(temp_r31 > 30) { + temp_r29 = temp_r31-30; + temp_f30 = atan2d(sp1C.x, sp1C.z)-180.0; + Hu3DModelRotSet(lbl_1_bss_2D0, 0, (temp_f30*(1.0-(temp_r29/10.0)))+180.0, 0); + } + HuPrcVSleep(); + } + lbl_1_bss_2D6 = -1; + fn_1_9418(0); + temp_r26 = fn_1_8DD0(0); + lbl_1_bss_2D6 = lbl_1_bss_320[temp_r26]; + HuAudFXPlay(1859); + fn_1_9CAC(0, temp_r26); + for(temp_r31=0; temp_r31<=60; temp_r31++) { + lbl_1_bss_328[0].x = lbl_1_bss_328[0].y = lbl_1_bss_328[0].z = (0.1*sind(temp_r31*18.0))+0.3; + HuPrcVSleep(); + } + HuPrcSleep(40); + Hu3DModelAttrSet(lbl_1_bss_199C2[64], 1); + fn_1_8180(9); + Hu3DMotionShiftSet(lbl_1_bss_199C2[22], lbl_1_bss_1990E[24], 0, 10, 0x40000001); + for(temp_r31=0; temp_r31<=30; temp_r31++) { + if(temp_r31 <= 10) { + Hu3DModelRotSet(lbl_1_bss_199C2[22], 0, (90.0*(temp_r31/10.0))+180.0, 0); + } + if(temp_r31 == 10) { + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 10, 0x40000001); + } + if(temp_r31 > 10 && temp_r31 <= 25) { + temp_r29 = temp_r31-10; + Hu3DModelRotSet(lbl_1_bss_2D0, 0, (90.0*(temp_r29/15.0))+180.0, 0); + } + if(temp_r31 == 25) { + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0], 0, 10, 0x40000001); + } + Hu3DModelPosSet(lbl_1_bss_199C2[22], (-300.0*(1.0-cosd(3.0*temp_r31)))+(-160.0), 0, 155); + HuPrcVSleep(); + } + Hu3DModelAttrSet(lbl_1_bss_199C2[22], 1); + Hu3DModelAttrReset(lbl_1_bss_199C2[26], 1); + Hu3DMotionSet(lbl_1_bss_199C2[26], lbl_1_bss_1990E[28]); + Hu3DModelRotSet(lbl_1_bss_199C2[26], 0, 90, 0); + for(temp_r31=0; temp_r31<=60; temp_r31++) { + Hu3DModelPosSet(lbl_1_bss_199C2[26], (-300.0*cosd(1.5*temp_r31))+(-160.0), 0, 155); + if(temp_r31 == 50) { + Hu3DMotionShiftSet(lbl_1_bss_199C2[26], lbl_1_bss_1990E[27], 0, 10, 0x40000001); + } + HuPrcVSleep(); + } + HuWinMesMaxSizeGet(1, sp8, 0x1C0002); + temp_r30 = HuWinExCreateStyled(-10000, 340, sp8[0], sp8[1], -1, 1); + HuWinExAnimIn(temp_r30); + HuWinMesPalSet(temp_r30, 7, 0, 0, 0); + fn_1_6D80(temp_r30); + HuWinInsertMesSet(temp_r30, GWPlayerCfg[lbl_1_bss_2D6].character, 0); + HuWinMesSet(temp_r30, 0x1C0002); + HuWinMesWait(temp_r30); + HuWinExAnimOut(temp_r30); + HuWinExCleanup(temp_r30); + HuWinComKeyReset(); + Hu3DMotionShiftSet(lbl_1_bss_199C2[26], lbl_1_bss_1990E[28], 0, 10, 0x40000001); + for(temp_r31=0; temp_r31<20; temp_r31++) { + temp_f31 = temp_r31/20.0f; + Hu3DModelRotSet(lbl_1_bss_199C2[26], 0, (temp_f31*90.0f)+90.0f, 0); + HuPrcVSleep(); + } + Hu3DMotionShiftSet(lbl_1_bss_199C2[26], lbl_1_bss_1990E[27], 0, 10, 0x40000001); + fn_1_861C(1); + Hu3DModelAttrReset(lbl_1_bss_199C2[9], 0x40000002); + HuAudFXPlay(1862); + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 10, 0x40000001); + for(temp_r31=0; temp_r31<20; temp_r31++) { + temp_f31 = 1.0-(temp_r31/20.0f); + Hu3DModelRotSet(lbl_1_bss_2D0, 0, (temp_f31*90.0f)+180.0f, 0); + HuPrcVSleep(); + } + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0], 0, 10, 0x40000001); + while(Hu3DMotionTimeGet(lbl_1_bss_199C2[9]) < lbl_1_data_140[1]) { + if(Hu3DMotionTimeGet(lbl_1_bss_199C2[9]) == 128.0f) { + HuAudFXPlay(1850); + } + if(Hu3DMotionTimeGet(lbl_1_bss_199C2[9]) == 200.0f) { + HuAudFXPlay(1863); + } + HuPrcVSleep(); + } + HuAudFXPlay(1857); + Hu3DMotionTimeSet(lbl_1_bss_199C2[9], lbl_1_data_140[1]); + Hu3DModelAttrSet(lbl_1_bss_199C2[9], 0x40000002); + HuPrcSleep(20); + lbl_1_bss_2D4 = -1; + fn_1_9418(1); + temp_r26 = fn_1_8DD0(1); + lbl_1_bss_2D4 = lbl_1_bss_320[temp_r26]; + HuAudFXPlay(1860); + fn_1_9CAC(1, temp_r26); + for(temp_r31=0; temp_r31<=60; temp_r31++) { + lbl_1_bss_328[1].x = lbl_1_bss_328[1].y = lbl_1_bss_328[1].z = (0.1*sind(temp_r31*18.0))+0.3; + HuPrcVSleep(); + } + HuPrcSleep(40); + Hu3DModelAttrSet(lbl_1_bss_199C2[64], 1); + fn_1_8180(9); + Hu3DMotionShiftSet(lbl_1_bss_199C2[26], lbl_1_bss_1990E[28], 0, 10, 0x40000001); + for(temp_r31=0; temp_r31<=30; temp_r31++) { + if(temp_r31 <= 10) { + Hu3DModelRotSet(lbl_1_bss_199C2[26], 0, (90.0*(temp_r31/10.0))+180.0, 0); + } + if(temp_r31 == 10) { + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 10, 0x40000001); + } + if(temp_r31 > 10 && temp_r31 <= 25) { + temp_r29 = temp_r31-10; + Hu3DModelRotSet(lbl_1_bss_2D0, 0, (90.0*(temp_r29/15.0))+180.0, 0); + } + if(temp_r31 == 25) { + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0], 0, 10, 0x40000001); + } + Hu3DModelPosSet(lbl_1_bss_199C2[26], (-400.0*(1.0-cosd(3.0*temp_r31)))+(-160.0), 0, 155); + HuPrcVSleep(); + } + Hu3DModelAttrSet(lbl_1_bss_199C2[26], 1); + Hu3DModelAttrReset(lbl_1_bss_199C2[30], 1); + Hu3DMotionSet(lbl_1_bss_199C2[30], lbl_1_bss_1990E[32]); + Hu3DModelRotSet(lbl_1_bss_199C2[30], 0, 90, 0); + for(temp_r31=0; temp_r31<=60; temp_r31++) { + Hu3DModelPosSet(lbl_1_bss_199C2[30], (-400.0*cosd(1.5*temp_r31))+(-160.0), 100, 155); + if(temp_r31 == 50) { + Hu3DMotionShiftSet(lbl_1_bss_199C2[30], lbl_1_bss_1990E[31], 0, 10, 0x40000001); + } + HuPrcVSleep(); + } + HuWinMesMaxSizeGet(1, sp8, 0x1C0003); + temp_r30 = HuWinExCreateStyled(-10000, 340, sp8[0], sp8[1], -1, 1); + HuWinExAnimIn(temp_r30); + HuWinMesPalSet(temp_r30, 7, 0, 0, 0); + fn_1_6D80(temp_r30); + HuWinInsertMesSet(temp_r30, GWPlayerCfg[lbl_1_bss_2D6].character, 0); + HuWinInsertMesSet(temp_r30, GWPlayerCfg[lbl_1_bss_2D4].character, 2); + HuWinMesSet(temp_r30, 0x1C0003); + HuWinMesWait(temp_r30); + HuWinExAnimOut(temp_r30); + HuWinExCleanup(temp_r30); + HuWinComKeyReset(); + Hu3DMotionShiftSet(lbl_1_bss_199C2[30], lbl_1_bss_1990E[32], 0, 10, 0x40000001); + for(temp_r31=0; temp_r31<20; temp_r31++) { + temp_f31 = temp_r31/20.0f; + Hu3DModelRotSet(lbl_1_bss_199C2[30], 0, (temp_f31*90.0f)+90.0f, 0); + HuPrcVSleep(); + } + Hu3DMotionShiftSet(lbl_1_bss_199C2[30], lbl_1_bss_1990E[31], 0, 10, 0x40000001); + fn_1_861C(2); + Hu3DModelAttrReset(lbl_1_bss_199C2[9], 0x40000002); + HuAudFXPlay(1862); + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 10, 0x40000001); + for(temp_r31=0; temp_r31<20; temp_r31++) { + temp_f31 = 1.0-(temp_r31/20.0f); + Hu3DModelRotSet(lbl_1_bss_2D0, 0, (temp_f31*90.0f)+180.0f, 0); + HuPrcVSleep(); + } + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0], 0, 10, 0x40000001); + while(Hu3DMotionTimeGet(lbl_1_bss_199C2[9]) < lbl_1_data_140[2]) { + if(Hu3DMotionTimeGet(lbl_1_bss_199C2[9]) == 300.0f) { + HuAudFXPlay(1850); + } + if(Hu3DMotionTimeGet(lbl_1_bss_199C2[9]) == 372.0f) { + HuAudFXPlay(1863); + } + HuPrcVSleep(); + } + HuAudFXPlay(1857); + Hu3DMotionTimeSet(lbl_1_bss_199C2[9], lbl_1_data_140[2]); + Hu3DModelAttrSet(lbl_1_bss_199C2[9], 0x40000002); + HuPrcSleep(20); + lbl_1_bss_2D2 = -1; + fn_1_9418(2); + temp_r26 = fn_1_8DD0(2); + lbl_1_bss_2D2 = temp_r26; + HuAudFXPlay(1861); + fn_1_9CAC(2, temp_r26); + for(temp_r31=0; temp_r31<=60; temp_r31++) { + lbl_1_bss_328[2].x = lbl_1_bss_328[2].y = lbl_1_bss_328[2].z = (0.1*sind(temp_r31*18.0))+0.3; + HuPrcVSleep(); + } + HuPrcSleep(40); + Hu3DModelAttrSet(lbl_1_bss_199C2[64], 1); + fn_1_8180(9); + Hu3DMotionShiftSet(lbl_1_bss_199C2[30], lbl_1_bss_1990E[32], 0, 10, 0x40000001); + for(temp_r31=0; temp_r31<=30; temp_r31++) { + if(temp_r31 <= 10) { + Hu3DModelRotSet(lbl_1_bss_199C2[30], 0, (90.0*(temp_r31/10.0))+180.0, 0); + } + if(temp_r31 == 10) { + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 10, 0x40000001); + } + if(temp_r31 > 10 && temp_r31 <= 25) { + temp_r29 = temp_r31-10; + Hu3DModelRotSet(lbl_1_bss_2D0, 0, (90.0*(temp_r29/15.0))+180.0, 0); + } + if(temp_r31 == 25) { + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0], 0, 10, 0x40000001); + } + Hu3DModelPosSet(lbl_1_bss_199C2[30], (-400.0*(1.0-cosd(3.0*temp_r31)))+(-160.0), 100, 155); + HuPrcVSleep(); + } + HuAudFXPlay(1862); + Hu3DModelAttrReset(lbl_1_bss_199C2[9], 0x40000002); + while(Hu3DMotionEndCheck(lbl_1_bss_199C2[9]) == 0) { + HuPrcVSleep(); + } + Hu3DModelAttrReset(lbl_1_bss_199C2[11], 0x40000002); + HuAudFXPlay(1855); + Hu3DModelAttrSet(lbl_1_bss_199C2[11], 0x40000004); + while(Hu3DMotionTimeGet(lbl_1_bss_199C2[11]) > 0.0f) { + if(Hu3DMotionTimeGet(lbl_1_bss_199C2[11]) == 25.0f) { + HuAudFXPlay(1854); + } + HuPrcVSleep(); + } + HuAudFXPlay(1856); + Hu3DModelAttrReset(lbl_1_bss_199C2[34], 1); + Hu3DMotionSet(lbl_1_bss_199C2[34], lbl_1_bss_1990E[36]); + Hu3DModelRotSet(lbl_1_bss_199C2[34], 0, 90, 0); + for(temp_r31=0; temp_r31<=60; temp_r31++) { + Hu3DModelPosSet(lbl_1_bss_199C2[34], -154.0+(-500.0*(1.0-(temp_r31/60.0f))), 0, -403); + if(temp_r31 > 20) { + temp_r29 = temp_r31-40; + Hu3DModelRotSet(lbl_1_bss_199C2[34], 0, (30.0*(1.0-(temp_r29/20.0f)))+60.0, 0); + } + if(temp_r31 == 50) { + Hu3DMotionShiftSet(lbl_1_bss_199C2[34], lbl_1_bss_1990E[35], 0, 10, 0x40000001); + } + if(temp_r31 == 40) { + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[1], 0, 10, 0x40000001); + } + if(temp_r31 >= 40) { + temp_r29 = temp_r31-40; + Hu3DModelRotSet(lbl_1_bss_2D0, 0, -90.0-(45.0*(temp_r29/20.0)), 0); + } + HuPrcVSleep(); + } + fn_1_8180(7); + temp_r23 = &Hu3DData[lbl_1_bss_2D0]; + sp1C.x = 0; + sp1C.y = 0; + sp1C.z = -200; + sp10 = temp_r23->pos; + VECSubtract(&sp1C, &sp10, &sp1C); + for(temp_r31=0; temp_r31<=30; temp_r31++) { + temp_f31 = temp_r31/30.0; + Hu3DModelPosSet(lbl_1_bss_2D0, (temp_f31*sp1C.x)+sp10.x, (temp_f31*sp1C.y)+sp10.y, (temp_f31*sp1C.z)+sp10.z); + HuPrcVSleep(); + } + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0], 0, 10, 0x40000001); + BoardStatusShowSet(lbl_1_bss_2D6, 1); + BoardStatusShowSet(lbl_1_bss_2D4, 1); + sp1C.x = -112; + sp1C.y = 200; + sp1C.z = 0; + BoardStatusPosSet(lbl_1_bss_2D6, &sp1C); + sp1C.x = 688; + sp1C.y = 200; + sp1C.z = 0; + BoardStatusPosSet(lbl_1_bss_2D4, &sp1C); + for(temp_r31=0; temp_r31<=20; temp_r31++) { + if(temp_r31 > 10) { + temp_r29 = temp_r31-10; + sp1C.x = 138.0-(250.0*cosd(temp_r29*9.0)); + sp1C.y = 200; + sp1C.z = 0; + BoardStatusTargetPosSet(lbl_1_bss_2D6, &sp1C); + sp1C.x = 438.0+(250.0*cosd(temp_r29*9.0)); + sp1C.y = 200; + sp1C.z = 0; + BoardStatusTargetPosSet(lbl_1_bss_2D4, &sp1C); + } + HuPrcVSleep(); + } + temp_r25 = 1; + switch(lbl_1_bss_2D2) { + case 0: + if(GWPlayer[lbl_1_bss_2D6].coins <= 0 && GWPlayer[lbl_1_bss_2D4].coins <= 0) { + temp_r28 = 0x1C0016; + temp_r25 = 0; + + } else { + temp_r28 = 0x1C0006; + } + temp_r24 = 0x1C0009; + break; + + case 1: + if(GWPlayer[lbl_1_bss_2D6].coins <= 0 && GWPlayer[lbl_1_bss_2D4].coins <= 0 + && GWPlayer[lbl_1_bss_2D6].stars <= 0 && GWPlayer[lbl_1_bss_2D4].stars <= 0) { + temp_r25 = 0; + temp_r28 = 0x1C0017; + } else { + temp_r28 = 0x1C0006; + } + temp_r24 = 0x1C000D; + break; + + case 2: + if(GWPlayer[lbl_1_bss_2D6].stars > 0) { + temp_r28 = 0x1C0004; + } else { + temp_r28 = 0x1C0008; + temp_r25 = 0; + } + temp_r24 = 0x1C000A; + break; + + case 3: + if(GWPlayer[lbl_1_bss_2D6].stars <= 0 && GWPlayer[lbl_1_bss_2D4].stars <= 0) { + temp_r25 = 0; + temp_r28 = 0x1C0015; + } else { + temp_r28 = 0x1C0006; + } + temp_r24 = 0x1C000E; + break; + + case 4: + if(GWPlayer[lbl_1_bss_2D6].stars > 0) { + temp_r28 = 0x1C0004; + } else { + temp_r28 = 0x1C0008; + temp_r25 = 0; + } + temp_r24 = 0x1C000C; + break; + + case 5: + case 6: + if(GWPlayer[lbl_1_bss_2D6].coins > 0) { + temp_r28 = 0x1C0004; + } else { + temp_r28 = 0x1C0007; + temp_r25 = 0; + } + temp_r24 = 0x1C000B; + break; + + default: + break; + } + HuWinInsertMesSizeGet((u32)GWPlayerCfg[lbl_1_bss_2D6].character, 0); + HuWinInsertMesSizeGet(temp_r24, 1); + HuWinInsertMesSizeGet((u32)GWPlayerCfg[lbl_1_bss_2D4].character, 2); + HuWinMesMaxSizeGet(1, sp8, temp_r28); + temp_r30 = HuWinExCreateStyled(-10000, 340, sp8[0], sp8[1], -1, 1); + HuWinExAnimIn(temp_r30); + HuWinMesPalSet(temp_r30, 7, 0, 0, 0); + HuWinInsertMesSet(temp_r30, GWPlayerCfg[lbl_1_bss_2D6].character, 0); + HuWinInsertMesSet(temp_r30, temp_r24, 1); + HuWinInsertMesSet(temp_r30, GWPlayerCfg[lbl_1_bss_2D4].character, 2); + fn_1_6D80(temp_r30); + HuWinMesSet(temp_r30, temp_r28); + HuWinMesWait(temp_r30); + HuWinExAnimOut(temp_r30); + HuWinExCleanup(temp_r30); + HuWinComKeyReset(); + if(temp_r25) { + fn_1_4DEC(); + HuPrcSleep(60); + } else { + HuPrcSleep(30); + } + sp1C.x = -112; + sp1C.y = 200; + sp1C.z = 0; + BoardStatusTargetPosSet(lbl_1_bss_2D6, &sp1C); + sp1C.x = 688; + sp1C.y = 200; + sp1C.z = 0; + BoardStatusTargetPosSet(lbl_1_bss_2D4, &sp1C); + while(!BoardStatusStopCheck(lbl_1_bss_2D6)) { + HuPrcVSleep(); + } + for(temp_r31=0; temp_r31<=20; temp_r31++) { + for(temp_r27=0; temp_r27<3; temp_r27++) { + lbl_1_bss_34C[temp_r27].y = (180.0*cosd(4.5*temp_r29))-100.0; + } + HuPrcVSleep(); + } + fn_1_3B7C(); + lbl_1_bss_2FC = 1; + while(1) { + lbl_1_bss_288[0] += 10.0f; + HuPrcVSleep(); + } } void fn_1_3B7C(void) { - float temp_f31; - s16 temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - float sp8[2]; - fn_1_8180(8); - for (temp_r30 = 0; temp_r30 < 100; temp_r30++) { - temp_r31 = temp_r30; - if (temp_r31 == 0) { - Hu3DMotionShiftSet(lbl_1_bss_199C2[34], lbl_1_bss_1990E[36], 0, 10, HU3D_MOTATTR_LOOP); - } - if (temp_r31 <= 20) { - Hu3DModelRotSet(lbl_1_bss_199C2[34], 0, (30.0 * (temp_r31 / 20.0)) + 60.0, 0); - } - if (temp_r31 > 10 && temp_r31 <= 60) { - temp_r29 = temp_r31 - 10; - Hu3DModelPosSet(lbl_1_bss_199C2[34], -154.0f + (354.0 * (temp_r29 / 50.0)), 0, -403); - } - if (temp_r31 > 50 && temp_r31 <= 70) { - temp_r29 = temp_r31 - 50; - Hu3DModelRotSet(lbl_1_bss_199C2[34], 0, (110.0 * (1.0 - (temp_r29 / 20.0))) + -20.0, 0); - } - if (temp_r31 == 70) { - Hu3DMotionShiftSet(lbl_1_bss_199C2[34], lbl_1_bss_1990E[35], 0, 10, HU3D_MOTATTR_LOOP); - } - temp_r31 = temp_r30; - if (temp_r31 == 0) { - Hu3DMotionSet(lbl_1_bss_199C2[18], lbl_1_bss_1990E[20]); - temp_f31 = atan2d(400.0, 200.0) + 180.0; - Hu3DModelRotSet(lbl_1_bss_199C2[18], 0, temp_f31, 0); - Hu3DModelAttrReset(lbl_1_bss_199C2[18], HU3D_ATTR_DISPOFF); - } - if (temp_r31 <= 50) { - Hu3DModelPosSet(lbl_1_bss_199C2[18], 400.0 * (1.0 - (temp_r31 / 50.0)), 0, -553.0 + (200.0 * (1.0 - (temp_r31 / 50.0)))); - } - if (temp_r31 > 40 && temp_r31 <= 60) { - temp_r29 = temp_r31 - 40; - temp_f31 = atan2d(400.0, 200.0) + 180.0; - Hu3DModelRotSet(lbl_1_bss_199C2[18], 0, temp_f31 * (1.0 - (temp_r29 / 20.0)), 0); - } - if (temp_r31 == 60) { - Hu3DMotionShiftSet(lbl_1_bss_199C2[18], lbl_1_bss_1990E[19], 0, 10, HU3D_MOTATTR_LOOP); - } - if (temp_r30 >= 20) { - temp_r31 = temp_r30 - 20; - if (temp_r31 == 0) { - Hu3DMotionSet(lbl_1_bss_199C2[26], lbl_1_bss_1990E[28]); - temp_f31 = atan2d(-300.0, 200.0) + 180.0; - Hu3DModelRotSet(lbl_1_bss_199C2[26], 0, temp_f31, 0); - Hu3DModelAttrReset(lbl_1_bss_199C2[26], HU3D_ATTR_DISPOFF); - } - if (temp_r31 <= 40) { - Hu3DModelPosSet(lbl_1_bss_199C2[26], -100.0 + (-300.0 * (1.0 - (temp_r31 / 40.0))), 0, -478.0 + (200.0 * (1.0 - (temp_r31 / 40.0)))); - } - if (temp_r31 > 30 && temp_r31 <= 50) { - temp_r29 = temp_r31 - 30; - temp_f31 = atan2d(-300.0, 200.0) + 180.0; - Hu3DModelRotSet(lbl_1_bss_199C2[26], 0, (temp_f31 - 10.0f) * (1.0 - (temp_r29 / 20.0)) + 10.0, 0); - } - if (temp_r31 == 50) { - Hu3DMotionShiftSet(lbl_1_bss_199C2[26], lbl_1_bss_1990E[27], 0, 10, HU3D_MOTATTR_LOOP); - } - } - if (temp_r30 >= 30) { - temp_r31 = temp_r30 - 30; - if (temp_r31 == 0) { - Hu3DMotionSet(lbl_1_bss_199C2[30], lbl_1_bss_1990E[32]); - temp_f31 = atan2d(200.0, 500.0) + 180.0; - Hu3DModelRotSet(lbl_1_bss_199C2[30], 0, temp_f31, 0); - Hu3DModelAttrReset(lbl_1_bss_199C2[30], HU3D_ATTR_DISPOFF); - } - if (temp_r31 <= 40) { - Hu3DModelPosSet(lbl_1_bss_199C2[30], 100.0 + (200.0 * (1.0 - (temp_r31 / 40.0))), 100, -478.0 + (500.0 * (1.0 - (temp_r31 / 40.0)))); - } - if (temp_r31 > 30 && temp_r31 <= 50) { - temp_r29 = temp_r31 - 30; - temp_f31 = atan2d(200.0, 500.0) + 180.0; - Hu3DModelRotSet(lbl_1_bss_199C2[30], 0, (temp_f31 - -10.0f) * (1.0 - (temp_r29 / 20.0)) + -10.0, 0); - } - if (temp_r31 == 50) { - Hu3DMotionShiftSet(lbl_1_bss_199C2[30], lbl_1_bss_1990E[31], 0, 10, HU3D_MOTATTR_LOOP); - } - } - if (temp_r30 >= 40) { - temp_r31 = temp_r30 - 40; - if (temp_r31 == 0) { - Hu3DMotionSet(lbl_1_bss_199C2[22], lbl_1_bss_1990E[24]); - temp_f31 = atan2d(-300.0, 100.0) + 180.0; - Hu3DModelRotSet(lbl_1_bss_199C2[22], 0, temp_f31, 0); - Hu3DModelAttrReset(lbl_1_bss_199C2[22], HU3D_ATTR_DISPOFF); - } - if (temp_r31 <= 40) { - Hu3DModelPosSet(lbl_1_bss_199C2[22], -200.0 + (-300.0 * (1.0 - (temp_r31 / 40.0))), 0, -403.0 + (100.0 * (1.0 - (temp_r31 / 40.0)))); - } - if (temp_r31 > 30 && temp_r31 <= 50) { - temp_r29 = temp_r31 - 30; - temp_f31 = atan2d(-300.0, 100.0) + 180.0; - Hu3DModelRotSet(lbl_1_bss_199C2[22], 0, (temp_f31 - 20.0f) * (1.0 - (temp_r29 / 20.0)) + 20.0, 0); - } - if (temp_r31 == 50) { - Hu3DMotionShiftSet(lbl_1_bss_199C2[22], lbl_1_bss_1990E[23], 0, 10, HU3D_MOTATTR_LOOP); - } - } - if (temp_r30 >= 30) { - temp_r31 = temp_r30 - 30; - if (temp_r31 == 0) { - Hu3DMotionShiftSet(lbl_1_bss_2D0, lbl_1_bss_2C0[1], 0, 10, HU3D_MOTATTR_LOOP); - } - if (temp_r31 <= 20) { - Hu3DModelRotSet(lbl_1_bss_2D0, 0, -135.0 - (45.0 * (temp_r31 / 20.0)), 0); - } - if (temp_r31 == 20) { - Hu3DMotionShiftSet(lbl_1_bss_2D0, lbl_1_bss_2C0[0], 0, 10, HU3D_MOTATTR_LOOP); - } - } - HuPrcVSleep(); - } - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x1C, 0x05)); - temp_r28 = HuWinExCreateStyled(-10000, 340, sp8[0], sp8[1], -1, 1); - HuWinExAnimIn(temp_r28); - HuWinMesPalSet(temp_r28, 7, 0, 0, 0); - fn_1_6D80(temp_r28); - HuAudFXPlay(55); - HuAudFXPlay(64); - HuAudFXPlay(67); - HuAudFXPlay(70); - HuAudFXPlay(75); - HuWinMesSet(temp_r28, MAKE_MESSID(0x1C, 0x05)); - HuWinMesWait(temp_r28); - HuWinExAnimOut(temp_r28); - HuWinExCleanup(temp_r28); - HuWinComKeyReset(); - Hu3DMotionShiftSet(lbl_1_bss_199C2[18], lbl_1_bss_1990E[21], 0, 10, HU3D_MOTATTR_LOOP); - HuPrcSleep(5); - Hu3DMotionShiftSet(lbl_1_bss_199C2[22], lbl_1_bss_1990E[25], 0, 10, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSet(lbl_1_bss_199C2[26], lbl_1_bss_1990E[29], 0, 10, HU3D_MOTATTR_LOOP); - HuPrcSleep(10); - Hu3DMotionShiftSet(lbl_1_bss_199C2[30], lbl_1_bss_1990E[33], 0, 10, HU3D_MOTATTR_LOOP); - HuPrcSleep(10); - Hu3DMotionShiftSet(lbl_1_bss_199C2[34], lbl_1_bss_1990E[37], 0, 10, HU3D_MOTATTR_LOOP); + float temp_f31; + s16 temp_r31; + s16 temp_r30; + s16 temp_r29; + s16 temp_r28; + float sp8[2]; + fn_1_8180(8); + for(temp_r30=0; temp_r30<100; temp_r30++) { + temp_r31 = temp_r30; + if(temp_r31 == 0) { + Hu3DMotionShiftSet(lbl_1_bss_199C2[34], lbl_1_bss_1990E[36], 0, 10, 0x40000001); + } + if(temp_r31 <= 20) { + Hu3DModelRotSet(lbl_1_bss_199C2[34], 0, (30.0*(temp_r31/20.0))+60.0, 0); + } + if(temp_r31 > 10 && temp_r31 <= 60) { + temp_r29 = temp_r31-10; + Hu3DModelPosSet(lbl_1_bss_199C2[34], -154.0f+(354.0*(temp_r29/50.0)), 0, -403); + } + if(temp_r31 > 50 && temp_r31 <= 70) { + temp_r29 = temp_r31-50; + Hu3DModelRotSet(lbl_1_bss_199C2[34], 0, (110.0*(1.0-(temp_r29/20.0)))+ -20.0, 0); + } + if(temp_r31 == 70) { + Hu3DMotionShiftSet(lbl_1_bss_199C2[34], lbl_1_bss_1990E[35], 0, 10, 0x40000001); + } + temp_r31 = temp_r30; + if(temp_r31 == 0) { + Hu3DMotionSet(lbl_1_bss_199C2[18], lbl_1_bss_1990E[20]); + temp_f31 = atan2d(400.0, 200.0)+180.0; + Hu3DModelRotSet(lbl_1_bss_199C2[18], 0, temp_f31, 0); + Hu3DModelAttrReset(lbl_1_bss_199C2[18], 1); + } + if(temp_r31 <= 50) { + Hu3DModelPosSet(lbl_1_bss_199C2[18], 400.0*(1.0-(temp_r31/50.0)), 0, -553.0+(200.0*(1.0-(temp_r31/50.0)))); + } + if(temp_r31 > 40 && temp_r31 <= 60) { + temp_r29 = temp_r31-40; + temp_f31 = atan2d(400.0, 200.0)+180.0; + Hu3DModelRotSet(lbl_1_bss_199C2[18], 0, temp_f31*(1.0-(temp_r29/20.0)), 0); + } + if(temp_r31 == 60) { + Hu3DMotionShiftSet(lbl_1_bss_199C2[18], lbl_1_bss_1990E[19], 0, 10, 0x40000001); + } + if(temp_r30 >= 20) { + temp_r31 = temp_r30-20; + if(temp_r31 == 0) { + Hu3DMotionSet(lbl_1_bss_199C2[26], lbl_1_bss_1990E[28]); + temp_f31 = atan2d(-300.0, 200.0)+180.0; + Hu3DModelRotSet(lbl_1_bss_199C2[26], 0, temp_f31, 0); + Hu3DModelAttrReset(lbl_1_bss_199C2[26], 1); + } + if(temp_r31 <= 40) { + Hu3DModelPosSet(lbl_1_bss_199C2[26], -100.0+(-300.0*(1.0-(temp_r31/40.0))), 0, -478.0+(200.0*(1.0-(temp_r31/40.0)))); + } + if(temp_r31 > 30 && temp_r31 <= 50) { + temp_r29 = temp_r31-30; + temp_f31 = atan2d(-300.0, 200.0)+180.0; + Hu3DModelRotSet(lbl_1_bss_199C2[26], 0, (temp_f31-10.0f)*(1.0-(temp_r29/20.0))+10.0, 0); + } + if(temp_r31 == 50) { + Hu3DMotionShiftSet(lbl_1_bss_199C2[26], lbl_1_bss_1990E[27], 0, 10, 0x40000001); + } + } + if(temp_r30 >= 30) { + temp_r31 = temp_r30-30; + if(temp_r31 == 0) { + Hu3DMotionSet(lbl_1_bss_199C2[30], lbl_1_bss_1990E[32]); + temp_f31 = atan2d(200.0, 500.0)+180.0; + Hu3DModelRotSet(lbl_1_bss_199C2[30], 0, temp_f31, 0); + Hu3DModelAttrReset(lbl_1_bss_199C2[30], 1); + } + if(temp_r31 <= 40) { + Hu3DModelPosSet(lbl_1_bss_199C2[30], 100.0+(200.0*(1.0-(temp_r31/40.0))), 100, -478.0+(500.0*(1.0-(temp_r31/40.0)))); + } + if(temp_r31 > 30 && temp_r31 <= 50) { + temp_r29 = temp_r31-30; + temp_f31 = atan2d(200.0, 500.0)+180.0; + Hu3DModelRotSet(lbl_1_bss_199C2[30], 0, (temp_f31- -10.0f)*(1.0-(temp_r29/20.0))+ -10.0, 0); + } + if(temp_r31 == 50) { + Hu3DMotionShiftSet(lbl_1_bss_199C2[30], lbl_1_bss_1990E[31], 0, 10, 0x40000001); + } + } + if(temp_r30 >= 40) { + temp_r31 = temp_r30-40; + if(temp_r31 == 0) { + Hu3DMotionSet(lbl_1_bss_199C2[22], lbl_1_bss_1990E[24]); + temp_f31 = atan2d(-300.0, 100.0)+180.0; + Hu3DModelRotSet(lbl_1_bss_199C2[22], 0, temp_f31, 0); + Hu3DModelAttrReset(lbl_1_bss_199C2[22], 1); + } + if(temp_r31 <= 40) { + Hu3DModelPosSet(lbl_1_bss_199C2[22], -200.0+(-300.0*(1.0-(temp_r31/40.0))), 0, -403.0+(100.0*(1.0-(temp_r31/40.0)))); + } + if(temp_r31 > 30 && temp_r31 <= 50) { + temp_r29 = temp_r31-30; + temp_f31 = atan2d(-300.0, 100.0)+180.0; + Hu3DModelRotSet(lbl_1_bss_199C2[22], 0, (temp_f31-20.0f)*(1.0-(temp_r29/20.0))+20.0, 0); + } + if(temp_r31 == 50) { + Hu3DMotionShiftSet(lbl_1_bss_199C2[22], lbl_1_bss_1990E[23], 0, 10, 0x40000001); + } + } + if(temp_r30 >= 30) { + temp_r31 = temp_r30-30; + if(temp_r31 == 0) { + Hu3DMotionShiftSet(lbl_1_bss_2D0, lbl_1_bss_2C0[1], 0, 10, 0x40000001); + } + if(temp_r31 <= 20) { + Hu3DModelRotSet(lbl_1_bss_2D0, 0, -135.0-(45.0*(temp_r31/20.0)), 0); + } + if(temp_r31 == 20) { + Hu3DMotionShiftSet(lbl_1_bss_2D0, lbl_1_bss_2C0[0], 0, 10, 0x40000001); + } + } + HuPrcVSleep(); + } + HuWinMesMaxSizeGet(1, sp8, 0x1C0005); + temp_r28 = HuWinExCreateStyled(-10000, 340, sp8[0], sp8[1], -1, 1); + HuWinExAnimIn(temp_r28); + HuWinMesPalSet(temp_r28, 7, 0, 0, 0); + fn_1_6D80(temp_r28); + HuAudFXPlay(55); + HuAudFXPlay(64); + HuAudFXPlay(67); + HuAudFXPlay(70); + HuAudFXPlay(75); + HuWinMesSet(temp_r28, 0x1C0005); + HuWinMesWait(temp_r28); + HuWinExAnimOut(temp_r28); + HuWinExCleanup(temp_r28); + HuWinComKeyReset(); + Hu3DMotionShiftSet(lbl_1_bss_199C2[18], lbl_1_bss_1990E[21], 0, 10, 0x40000001); + HuPrcSleep(5); + Hu3DMotionShiftSet(lbl_1_bss_199C2[22], lbl_1_bss_1990E[25], 0, 10, 0x40000001); + Hu3DMotionShiftSet(lbl_1_bss_199C2[26], lbl_1_bss_1990E[29], 0, 10, 0x40000001); + HuPrcSleep(10); + Hu3DMotionShiftSet(lbl_1_bss_199C2[30], lbl_1_bss_1990E[33], 0, 10, 0x40000001); + HuPrcSleep(10); + Hu3DMotionShiftSet(lbl_1_bss_199C2[34], lbl_1_bss_1990E[37], 0, 10, 0x40000001); } void fn_1_55B0(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s32 arg4); void fn_1_4DEC(void) { - s16 coins; - s16 stars; - switch (lbl_1_bss_2D2) { - case 0: - lbl_1_bss_4 = 2; - if (GWPlayer[lbl_1_bss_2D6].coins >= GWPlayer[lbl_1_bss_2D4].coins) { - fn_1_55B0(2, lbl_1_bss_2D6, lbl_1_bss_2D4, GWPlayer[lbl_1_bss_2D6].coins, 1); - fn_1_55B0(3, lbl_1_bss_2D4, lbl_1_bss_2D6, GWPlayer[lbl_1_bss_2D4].coins, 0); - } - else { - fn_1_55B0(2, lbl_1_bss_2D6, lbl_1_bss_2D4, GWPlayer[lbl_1_bss_2D6].coins, 0); - fn_1_55B0(3, lbl_1_bss_2D4, lbl_1_bss_2D6, GWPlayer[lbl_1_bss_2D4].coins, 1); - } - break; - - case 1: - lbl_1_bss_4 = 2; - if (GWPlayer[lbl_1_bss_2D6].coins >= GWPlayer[lbl_1_bss_2D4].coins) { - fn_1_55B0(2, lbl_1_bss_2D6, lbl_1_bss_2D4, GWPlayer[lbl_1_bss_2D6].coins, 1); - fn_1_55B0(3, lbl_1_bss_2D4, lbl_1_bss_2D6, GWPlayer[lbl_1_bss_2D4].coins, 0); - } - else { - fn_1_55B0(2, lbl_1_bss_2D6, lbl_1_bss_2D4, GWPlayer[lbl_1_bss_2D6].coins, 0); - fn_1_55B0(3, lbl_1_bss_2D4, lbl_1_bss_2D6, GWPlayer[lbl_1_bss_2D4].coins, 1); - } - while (lbl_1_bss_4 != 0) { - HuPrcVSleep(); - } - lbl_1_bss_4 = 2; - if (GWPlayer[lbl_1_bss_2D6].stars >= GWPlayer[lbl_1_bss_2D4].stars) { - fn_1_55B0(0, lbl_1_bss_2D6, lbl_1_bss_2D4, GWPlayer[lbl_1_bss_2D6].stars, 1); - fn_1_55B0(1, lbl_1_bss_2D4, lbl_1_bss_2D6, GWPlayer[lbl_1_bss_2D4].stars, 0); - } - else { - fn_1_55B0(0, lbl_1_bss_2D6, lbl_1_bss_2D4, GWPlayer[lbl_1_bss_2D6].stars, 0); - fn_1_55B0(1, lbl_1_bss_2D4, lbl_1_bss_2D6, GWPlayer[lbl_1_bss_2D4].stars, 1); - } - break; - - case 2: - lbl_1_bss_4 = 1; - fn_1_55B0(0, lbl_1_bss_2D6, lbl_1_bss_2D4, 1, 1); - break; - - case 3: - lbl_1_bss_4 = 2; - if (GWPlayer[lbl_1_bss_2D6].stars >= GWPlayer[lbl_1_bss_2D4].stars) { - fn_1_55B0(0, lbl_1_bss_2D6, lbl_1_bss_2D4, GWPlayer[lbl_1_bss_2D6].stars, 1); - fn_1_55B0(1, lbl_1_bss_2D4, lbl_1_bss_2D6, GWPlayer[lbl_1_bss_2D4].stars, 0); - } - else { - fn_1_55B0(0, lbl_1_bss_2D6, lbl_1_bss_2D4, GWPlayer[lbl_1_bss_2D6].stars, 0); - fn_1_55B0(1, lbl_1_bss_2D4, lbl_1_bss_2D6, GWPlayer[lbl_1_bss_2D4].stars, 1); - } - break; - - case 4: - lbl_1_bss_4 = 1; - if (GWPlayer[lbl_1_bss_2D6].stars < 2) { - stars = GWPlayer[lbl_1_bss_2D6].stars; - } - else { - stars = 2; - } - fn_1_55B0(1, lbl_1_bss_2D6, lbl_1_bss_2D4, stars, 1); - break; - - case 5: - case 6: - lbl_1_bss_4 = 1; - if (GWPlayer[lbl_1_bss_2D6].coins < 20) { - coins = GWPlayer[lbl_1_bss_2D6].coins; - } - else { - coins = 20; - } - fn_1_55B0(2, lbl_1_bss_2D6, lbl_1_bss_2D4, coins, 1); - break; - - default: - break; - } - while (lbl_1_bss_4 > 0) { - HuPrcVSleep(); - } + s16 coins; + s16 stars; + switch(lbl_1_bss_2D2) { + case 0: + lbl_1_bss_4 = 2; + if(GWPlayer[lbl_1_bss_2D6].coins >= GWPlayer[lbl_1_bss_2D4].coins) { + fn_1_55B0(2, lbl_1_bss_2D6, lbl_1_bss_2D4, GWPlayer[lbl_1_bss_2D6].coins, 1); + fn_1_55B0(3, lbl_1_bss_2D4, lbl_1_bss_2D6, GWPlayer[lbl_1_bss_2D4].coins, 0); + } else { + fn_1_55B0(2, lbl_1_bss_2D6, lbl_1_bss_2D4, GWPlayer[lbl_1_bss_2D6].coins, 0); + fn_1_55B0(3, lbl_1_bss_2D4, lbl_1_bss_2D6, GWPlayer[lbl_1_bss_2D4].coins, 1); + } + break; + + case 1: + lbl_1_bss_4 = 2; + if(GWPlayer[lbl_1_bss_2D6].coins >= GWPlayer[lbl_1_bss_2D4].coins) { + fn_1_55B0(2, lbl_1_bss_2D6, lbl_1_bss_2D4, GWPlayer[lbl_1_bss_2D6].coins, 1); + fn_1_55B0(3, lbl_1_bss_2D4, lbl_1_bss_2D6, GWPlayer[lbl_1_bss_2D4].coins, 0); + } else { + fn_1_55B0(2, lbl_1_bss_2D6, lbl_1_bss_2D4, GWPlayer[lbl_1_bss_2D6].coins, 0); + fn_1_55B0(3, lbl_1_bss_2D4, lbl_1_bss_2D6, GWPlayer[lbl_1_bss_2D4].coins, 1); + } + while(lbl_1_bss_4 != 0) { + HuPrcVSleep(); + } + lbl_1_bss_4 = 2; + if(GWPlayer[lbl_1_bss_2D6].stars >= GWPlayer[lbl_1_bss_2D4].stars) { + fn_1_55B0(0, lbl_1_bss_2D6, lbl_1_bss_2D4, GWPlayer[lbl_1_bss_2D6].stars, 1); + fn_1_55B0(1, lbl_1_bss_2D4, lbl_1_bss_2D6, GWPlayer[lbl_1_bss_2D4].stars, 0); + } else { + fn_1_55B0(0, lbl_1_bss_2D6, lbl_1_bss_2D4, GWPlayer[lbl_1_bss_2D6].stars, 0); + fn_1_55B0(1, lbl_1_bss_2D4, lbl_1_bss_2D6, GWPlayer[lbl_1_bss_2D4].stars, 1); + } + break; + + case 2: + lbl_1_bss_4 = 1; + fn_1_55B0(0, lbl_1_bss_2D6, lbl_1_bss_2D4, 1, 1); + break; + + case 3: + lbl_1_bss_4 = 2; + if(GWPlayer[lbl_1_bss_2D6].stars >= GWPlayer[lbl_1_bss_2D4].stars) { + fn_1_55B0(0, lbl_1_bss_2D6, lbl_1_bss_2D4, GWPlayer[lbl_1_bss_2D6].stars, 1); + fn_1_55B0(1, lbl_1_bss_2D4, lbl_1_bss_2D6, GWPlayer[lbl_1_bss_2D4].stars, 0); + } else { + fn_1_55B0(0, lbl_1_bss_2D6, lbl_1_bss_2D4, GWPlayer[lbl_1_bss_2D6].stars, 0); + fn_1_55B0(1, lbl_1_bss_2D4, lbl_1_bss_2D6, GWPlayer[lbl_1_bss_2D4].stars, 1); + } + break; + + case 4: + lbl_1_bss_4 = 1; + if(GWPlayer[lbl_1_bss_2D6].stars < 2) { + stars = GWPlayer[lbl_1_bss_2D6].stars; + } else { + stars = 2; + } + fn_1_55B0(1, lbl_1_bss_2D6, lbl_1_bss_2D4, stars, 1); + break; + + case 5: + case 6: + lbl_1_bss_4 = 1; + if(GWPlayer[lbl_1_bss_2D6].coins < 20) { + coins = GWPlayer[lbl_1_bss_2D6].coins; + } else { + coins = 20; + } + fn_1_55B0(2, lbl_1_bss_2D6, lbl_1_bss_2D4, coins, 1); + break; + + default: + break; + } + while(lbl_1_bss_4 > 0) { + HuPrcVSleep(); + } } typedef struct work_5774 { - s16 unk0; - s16 unk2; - s16 unk4; - s16 unk6[20]; - s16 unk2E[20]; - float unk58; - s32 unk5C; + s16 unk0; + s16 unk2; + s16 unk4; + s16 unk6[20]; + s16 unk2E[20]; + float unk58; + s32 unk5C; } Work5774; void fn_1_5774(void); @@ -957,558 +947,552 @@ void fn_1_5E68(void); void fn_1_55B0(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s32 arg4) { - Work5774 *work; - Process *newProcess; - float temp_f31; - - if (arg3 == 0) { - lbl_1_bss_4--; - return; - } - switch (arg0) { - case 0: - newProcess = HuPrcChildCreate(fn_1_5774, 100, 8192, 0, lbl_1_bss_308); - temp_f31 = -100; - break; - - case 1: - newProcess = HuPrcChildCreate(fn_1_5774, 100, 8192, 0, lbl_1_bss_308); - temp_f31 = -50; - break; - - case 2: - newProcess = HuPrcChildCreate(fn_1_5E68, 100, 8192, 0, lbl_1_bss_308); - temp_f31 = -100; - break; - - case 3: - newProcess = HuPrcChildCreate(fn_1_5E68, 100, 8192, 0, lbl_1_bss_308); - temp_f31 = -50; - break; - } - work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work5774), MEMORY_DEFAULT_NUM); - newProcess->user_data = work; - work->unk0 = arg1; - work->unk2 = arg2; - work->unk4 = arg3; - work->unk58 = temp_f31; - work->unk5C = arg4; + Work5774 *work; + Process *newProcess; + float temp_f31; + + if(arg3 == 0) { + lbl_1_bss_4--; + return; + } + switch(arg0) { + case 0: + newProcess = HuPrcChildCreate(fn_1_5774, 100, 8192, 0, lbl_1_bss_308); + temp_f31 = -100; + break; + + case 1: + newProcess = HuPrcChildCreate(fn_1_5774, 100, 8192, 0, lbl_1_bss_308); + temp_f31 = -50; + break; + + case 2: + newProcess = HuPrcChildCreate(fn_1_5E68, 100, 8192, 0, lbl_1_bss_308); + temp_f31 = -100; + break; + + case 3: + newProcess = HuPrcChildCreate(fn_1_5E68, 100, 8192, 0, lbl_1_bss_308); + temp_f31 = -50; + break; + } + work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work5774), MEMORY_DEFAULT_NUM); + newProcess->user_data = work; + work->unk0 = arg1; + work->unk2 = arg2; + work->unk4 = arg3; + work->unk58 = temp_f31; + work->unk5C = arg4; } void fn_1_5774(void) { - float temp_f31; - float temp_f30; - - Work5774 *temp_r31; - s16 temp_r30; - s16 temp_r29; - Process *temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - s16 temp_r24; - s16 temp_r23; - s32 temp_r22; - s32 temp_r21; - - Vec sp20; - Vec sp14; - Vec sp8; - - temp_r28 = HuPrcCurrentGet(); - temp_r31 = temp_r28->user_data; - temp_r23 = 0; - BoardStatusPosGet(temp_r31->unk0, &sp20); - BoardStatusPosGet(temp_r31->unk2, &sp14); - for (temp_r30 = 0; temp_r30 < 20; temp_r30++) { - temp_r31->unk6[temp_r30] = -1; - } - temp_r25 = temp_r31->unk4; - temp_r27 = temp_r25; - temp_f31 = 300 / temp_r27; - if (temp_f31 < 15.0f) { - temp_r24 = 1; - } - else { - temp_r24 = 3; - } - temp_f31 -= temp_r24 + 1; - if (temp_f31 < 15.0f) { - temp_f31 = 15.0f; - } - if (temp_f31 > 40.0f) { - temp_f31 = 40.0f; - } - if (temp_r31->unk5C) { - temp_r22 = HuAudFXPlay(1864); - temp_r21 = HuAudFXPlay(24); - } - while (1) { - if (temp_r25 > 0) { - if (((temp_r23++) & temp_r24) == 0) { - for (temp_r30 = 0; temp_r30 < 20; temp_r30++) { - if (lbl_1_bss_148[temp_r30][1] == 0) { - break; - } - } - if (temp_r30 != 20) { - for (temp_r29 = 0; temp_r29 < 20; temp_r29++) { - if (temp_r31->unk6[temp_r29] == -1) { - lbl_1_bss_148[temp_r30][1] = 1; - temp_r31->unk6[temp_r29] = temp_r30; - temp_r31->unk2E[temp_r29] = 0; - GWStarsSet(temp_r31->unk0, GWPlayer[temp_r31->unk0].stars - 1); - temp_r25--; - break; - } - } - } - } - } - for (temp_r30 = 0; temp_r30 < 20; temp_r30++) { - if (temp_r31->unk6[temp_r30] == -1) { - continue; - } - temp_r26 = lbl_1_bss_148[temp_r31->unk6[temp_r30]][0]; - Hu3DModelAttrReset(temp_r26, HU3D_ATTR_DISPOFF); - temp_r31->unk2E[temp_r30]++; - if (temp_r31->unk2E[temp_r30] > temp_f31) { - Hu3DModelAttrSet(temp_r26, HU3D_ATTR_DISPOFF); - lbl_1_bss_148[temp_r31->unk6[temp_r30]][1] = 0; - temp_r31->unk6[temp_r30] = -1; - GWStarsSet(temp_r31->unk2, GWPlayer[temp_r31->unk2].stars + 1); - temp_r27--; - } - else { - temp_f30 = 0.1f; - if (temp_r31->unk2E[temp_r30] < temp_f31 / 2.0f) { - temp_f30 = 0.1 * sind((90.0 / (temp_f31 / 2.0f)) * temp_r31->unk2E[temp_r30]); - } - if (temp_r31->unk2E[temp_r30] > temp_f31 / 2.0f) { - temp_f30 = 0.1 * cosd((90.0 / (temp_f31 / 2.0f)) * (temp_r31->unk2E[temp_r30] - (temp_f31 / 2.0f))); - } - Hu3DModelScaleSet(temp_r26, temp_f30, temp_f30, temp_f30); - sp8.x = (sp14.x - sp20.x) * (temp_r31->unk2E[temp_r30] / temp_f31) + sp20.x; - sp8.y = sp20.y + (temp_r31->unk58 * sind((180.0 / temp_f31) * temp_r31->unk2E[temp_r30])); - sp8.z = 200; - Hu3D2Dto3D(&sp8, 1, &sp8); - Hu3DModelPosSetV(temp_r26, &sp8); - } - } - if (temp_r27 <= 0) { - break; - } - HuPrcVSleep(); - } - HuAudFXPlay(8); - if (temp_r31->unk5C) { - HuAudFXStop(temp_r22); - HuAudFXStop(temp_r21); - } - lbl_1_bss_4--; - HuMemDirectFree(temp_r28->user_data); - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } + float temp_f31; + float temp_f30; + + Work5774 *temp_r31; + s16 temp_r30; + s16 temp_r29; + Process *temp_r28; + s16 temp_r27; + s16 temp_r26; + s16 temp_r25; + s16 temp_r24; + s16 temp_r23; + s32 temp_r22; + s32 temp_r21; + + Vec sp20; + Vec sp14; + Vec sp8; + + temp_r28 = HuPrcCurrentGet(); + temp_r31 = temp_r28->user_data; + temp_r23 = 0; + BoardStatusPosGet(temp_r31->unk0, &sp20); + BoardStatusPosGet(temp_r31->unk2, &sp14); + for(temp_r30=0; temp_r30<20; temp_r30++) { + temp_r31->unk6[temp_r30] = -1; + } + temp_r25 = temp_r31->unk4; + temp_r27 = temp_r25; + temp_f31 = 300/temp_r27; + if(temp_f31 < 15.0f) { + temp_r24 = 1; + } else { + temp_r24 = 3; + } + temp_f31 -= temp_r24+1; + if(temp_f31 < 15.0f) { + temp_f31 = 15.0f; + } + if(temp_f31 > 40.0f) { + temp_f31 = 40.0f; + } + if(temp_r31->unk5C) { + temp_r22 = HuAudFXPlay(1864); + temp_r21 = HuAudFXPlay(24); + } + while(1) { + if(temp_r25 > 0) { + if(((temp_r23++) & temp_r24) == 0) { + for(temp_r30=0; temp_r30<20; temp_r30++) { + if(lbl_1_bss_148[temp_r30][1] == 0) { + break; + } + } + if(temp_r30 != 20) { + for(temp_r29=0; temp_r29<20; temp_r29++) { + if(temp_r31->unk6[temp_r29] == -1) { + lbl_1_bss_148[temp_r30][1] = 1; + temp_r31->unk6[temp_r29] = temp_r30; + temp_r31->unk2E[temp_r29] = 0; + GWStarsSet(temp_r31->unk0, GWPlayer[temp_r31->unk0].stars-1); + temp_r25--; + break; + } + } + } + } + } + for(temp_r30=0; temp_r30<20; temp_r30++) { + if(temp_r31->unk6[temp_r30] == -1) { + continue; + } + temp_r26 = lbl_1_bss_148[temp_r31->unk6[temp_r30]][0]; + Hu3DModelAttrReset(temp_r26, 1); + temp_r31->unk2E[temp_r30]++; + if(temp_r31->unk2E[temp_r30] > temp_f31) { + Hu3DModelAttrSet(temp_r26, 1); + lbl_1_bss_148[temp_r31->unk6[temp_r30]][1] = 0; + temp_r31->unk6[temp_r30] = -1; + GWStarsSet(temp_r31->unk2, GWPlayer[temp_r31->unk2].stars+1); + temp_r27--; + } else { + temp_f30 = 0.1f; + if(temp_r31->unk2E[temp_r30] < temp_f31/2.0f) { + temp_f30 = 0.1*sind((90.0/(temp_f31/2.0f))*temp_r31->unk2E[temp_r30]); + } + if(temp_r31->unk2E[temp_r30] > temp_f31/2.0f) { + temp_f30 = 0.1*cosd((90.0/(temp_f31/2.0f))*(temp_r31->unk2E[temp_r30]-(temp_f31/2.0f))); + } + Hu3DModelScaleSet(temp_r26, temp_f30, temp_f30, temp_f30); + sp8.x = (sp14.x-sp20.x)*(temp_r31->unk2E[temp_r30]/temp_f31)+sp20.x; + sp8.y = sp20.y+(temp_r31->unk58*sind((180.0/temp_f31)*temp_r31->unk2E[temp_r30])); + sp8.z = 200; + Hu3D2Dto3D(&sp8, 1, &sp8); + Hu3DModelPosSetV(temp_r26, &sp8); + } + } + if(temp_r27 <= 0) { + break; + } + HuPrcVSleep(); + } + HuAudFXPlay(8); + if(temp_r31->unk5C) { + HuAudFXStop(temp_r22); + HuAudFXStop(temp_r21); + } + lbl_1_bss_4--; + HuMemDirectFree(temp_r28->user_data); + HuPrcEnd(); + while(1) { + HuPrcVSleep(); + } } void fn_1_5E68(void) { - float temp_f31; - float temp_f30; - - Work5774 *temp_r31; - s16 temp_r30; - s16 temp_r29; - Process *temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - s16 temp_r24; - s16 temp_r23; - s32 temp_r22; - s32 temp_r21; - - Vec sp20; - Vec sp14; - Vec sp8; - - temp_r28 = HuPrcCurrentGet(); - temp_r31 = temp_r28->user_data; - temp_r23 = 0; - BoardStatusPosGet(temp_r31->unk0, &sp20); - BoardStatusPosGet(temp_r31->unk2, &sp14); - for (temp_r30 = 0; temp_r30 < 20; temp_r30++) { - temp_r31->unk6[temp_r30] = -1; - } - temp_r25 = temp_r31->unk4; - temp_r27 = temp_r25; - temp_f31 = 300 / temp_r27; - if (temp_f31 < 15.0f) { - temp_r24 = 1; - } - else { - temp_r24 = 3; - } - temp_f31 -= temp_r24 + 1; - if (temp_f31 < 15.0f) { - temp_f31 = 15.0f; - } - if (temp_f31 > 40.0f) { - temp_f31 = 40.0f; - } - if (temp_r31->unk5C) { - temp_r22 = HuAudFXPlay(1864); - temp_r21 = HuAudFXPlay(23); - } - while (1) { - if (temp_r25 > 0) { - if (((temp_r23++) & temp_r24) == 0) { - for (temp_r30 = 0; temp_r30 < 20; temp_r30++) { - if (lbl_1_bss_8[temp_r30][1] == 0) { - break; - } - } - if (temp_r30 != 20) { - for (temp_r29 = 0; temp_r29 < 20; temp_r29++) { - if (temp_r31->unk6[temp_r29] == -1) { - lbl_1_bss_8[temp_r30][1] = 1; - temp_r31->unk6[temp_r29] = temp_r30; - temp_r31->unk2E[temp_r29] = 0; - GWCoinsSet(temp_r31->unk0, GWPlayer[temp_r31->unk0].coins - 1); - temp_r25--; - break; - } - } - } - } - } - for (temp_r30 = 0; temp_r30 < 20; temp_r30++) { - if (temp_r31->unk6[temp_r30] == -1) { - continue; - } - temp_r26 = lbl_1_bss_8[temp_r31->unk6[temp_r30]][0]; - Hu3DModelAttrReset(temp_r26, HU3D_ATTR_DISPOFF); - temp_r31->unk2E[temp_r30]++; - if (temp_r31->unk2E[temp_r30] > temp_f31) { - Hu3DModelAttrSet(temp_r26, HU3D_ATTR_DISPOFF); - lbl_1_bss_8[temp_r31->unk6[temp_r30]][1] = 0; - temp_r31->unk6[temp_r30] = -1; - GWCoinsSet(temp_r31->unk2, GWPlayer[temp_r31->unk2].coins + 1); - temp_r27--; - } - else { - temp_f30 = 0.1f; - if (temp_r31->unk2E[temp_r30] < temp_f31 / 2.0f) { - temp_f30 = 0.1 * sind((90.0 / (temp_f31 / 2.0f)) * temp_r31->unk2E[temp_r30]); - } - if (temp_r31->unk2E[temp_r30] > temp_f31 / 2.0f) { - temp_f30 = 0.1 * cosd((90.0 / (temp_f31 / 2.0f)) * (temp_r31->unk2E[temp_r30] - (temp_f31 / 2.0f))); - } - Hu3DModelScaleSet(temp_r26, temp_f30, temp_f30, temp_f30); - sp8.x = (sp14.x - sp20.x) * (temp_r31->unk2E[temp_r30] / temp_f31) + sp20.x; - sp8.y = sp20.y + (temp_r31->unk58 * sind((180.0 / temp_f31) * temp_r31->unk2E[temp_r30])); - sp8.z = 200; - Hu3D2Dto3D(&sp8, 1, &sp8); - Hu3DModelPosSetV(temp_r26, &sp8); - } - } - if (temp_r27 <= 0) { - break; - } - HuPrcVSleep(); - } - HuAudFXPlay(7); - if (temp_r31->unk5C) { - HuAudFXStop(temp_r22); - HuAudFXStop(temp_r21); - } - lbl_1_bss_4--; - HuMemDirectFree(temp_r28->user_data); - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } + float temp_f31; + float temp_f30; + + Work5774 *temp_r31; + s16 temp_r30; + s16 temp_r29; + Process *temp_r28; + s16 temp_r27; + s16 temp_r26; + s16 temp_r25; + s16 temp_r24; + s16 temp_r23; + s32 temp_r22; + s32 temp_r21; + + Vec sp20; + Vec sp14; + Vec sp8; + + temp_r28 = HuPrcCurrentGet(); + temp_r31 = temp_r28->user_data; + temp_r23 = 0; + BoardStatusPosGet(temp_r31->unk0, &sp20); + BoardStatusPosGet(temp_r31->unk2, &sp14); + for(temp_r30=0; temp_r30<20; temp_r30++) { + temp_r31->unk6[temp_r30] = -1; + } + temp_r25 = temp_r31->unk4; + temp_r27 = temp_r25; + temp_f31 = 300/temp_r27; + if(temp_f31 < 15.0f) { + temp_r24 = 1; + } else { + temp_r24 = 3; + } + temp_f31 -= temp_r24+1; + if(temp_f31 < 15.0f) { + temp_f31 = 15.0f; + } + if(temp_f31 > 40.0f) { + temp_f31 = 40.0f; + } + if(temp_r31->unk5C) { + temp_r22 = HuAudFXPlay(1864); + temp_r21 = HuAudFXPlay(23); + } + while(1) { + if(temp_r25 > 0) { + if(((temp_r23++) & temp_r24) == 0) { + for(temp_r30=0; temp_r30<20; temp_r30++) { + if(lbl_1_bss_8[temp_r30][1] == 0) { + break; + } + } + if(temp_r30 != 20) { + for(temp_r29=0; temp_r29<20; temp_r29++) { + if(temp_r31->unk6[temp_r29] == -1) { + lbl_1_bss_8[temp_r30][1] = 1; + temp_r31->unk6[temp_r29] = temp_r30; + temp_r31->unk2E[temp_r29] = 0; + GWCoinsSet(temp_r31->unk0, GWPlayer[temp_r31->unk0].coins-1); + temp_r25--; + break; + } + } + } + } + } + for(temp_r30=0; temp_r30<20; temp_r30++) { + if(temp_r31->unk6[temp_r30] == -1) { + continue; + } + temp_r26 = lbl_1_bss_8[temp_r31->unk6[temp_r30]][0]; + Hu3DModelAttrReset(temp_r26, 1); + temp_r31->unk2E[temp_r30]++; + if(temp_r31->unk2E[temp_r30] > temp_f31) { + Hu3DModelAttrSet(temp_r26, 1); + lbl_1_bss_8[temp_r31->unk6[temp_r30]][1] = 0; + temp_r31->unk6[temp_r30] = -1; + GWCoinsSet(temp_r31->unk2, GWPlayer[temp_r31->unk2].coins+1); + temp_r27--; + } else { + temp_f30 = 0.1f; + if(temp_r31->unk2E[temp_r30] < temp_f31/2.0f) { + temp_f30 = 0.1*sind((90.0/(temp_f31/2.0f))*temp_r31->unk2E[temp_r30]); + } + if(temp_r31->unk2E[temp_r30] > temp_f31/2.0f) { + temp_f30 = 0.1*cosd((90.0/(temp_f31/2.0f))*(temp_r31->unk2E[temp_r30]-(temp_f31/2.0f))); + } + Hu3DModelScaleSet(temp_r26, temp_f30, temp_f30, temp_f30); + sp8.x = (sp14.x-sp20.x)*(temp_r31->unk2E[temp_r30]/temp_f31)+sp20.x; + sp8.y = sp20.y+(temp_r31->unk58*sind((180.0/temp_f31)*temp_r31->unk2E[temp_r30])); + sp8.z = 200; + Hu3D2Dto3D(&sp8, 1, &sp8); + Hu3DModelPosSetV(temp_r26, &sp8); + } + } + if(temp_r27 <= 0) { + break; + } + HuPrcVSleep(); + } + HuAudFXPlay(7); + if(temp_r31->unk5C) { + HuAudFXStop(temp_r22); + HuAudFXStop(temp_r21); + } + lbl_1_bss_4--; + HuMemDirectFree(temp_r28->user_data); + HuPrcEnd(); + while(1) { + HuPrcVSleep(); + } } void fn_1_655C(void) { - s16 i; - s16 model; - - Vec pos; - Vec target; - Vec up; - Hu3DShadowCreate(20, 100, 5000); - Hu3DShadowTPLvlSet(0.3f); - Hu3DShadowSizeSet(192); - target.x = target.y = target.z = 0; - pos.x = -800; - pos.z = 1600; - pos.y = 3200; - up.x = 0; - up.y = 1; - up.z = 0; - Hu3DShadowPosSet(&pos, &up, &target); - Hu3DReflectMapSet(HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M444, 0x23), MEMORY_DEFAULT_NUM, HEAP_DATA)); - for (i = 0; i < 4; i++) { - lbl_1_data_470[i + 47].datanum = lbl_1_data_470[i + 51].datanum = lbl_1_data_194[GWPlayerCfg[i].character]; - } - fn_1_D588(lbl_1_data_470); - fn_1_D818(lbl_1_data_118); - Hu3DModelHookSet(lbl_1_bss_199C2[9], "itemhook1", lbl_1_bss_199C2[3]); - Hu3DModelHookSet(lbl_1_bss_199C2[9], "itemhook2", lbl_1_bss_199C2[5]); - Hu3DModelHookSet(lbl_1_bss_199C2[9], "itemhook3", lbl_1_bss_199C2[7]); - Hu3DModelHookSet(lbl_1_bss_199C2[3], "d1_itemhook1", lbl_1_bss_199C2[47]); - Hu3DModelHookSet(lbl_1_bss_199C2[3], "d1_itemhook2", lbl_1_bss_199C2[48]); - Hu3DModelHookSet(lbl_1_bss_199C2[3], "d1_itemhook3", lbl_1_bss_199C2[49]); - Hu3DModelHookSet(lbl_1_bss_199C2[3], "d1_itemhook4", lbl_1_bss_199C2[50]); - Hu3DModelHookSet(lbl_1_bss_199C2[11], "L_itemhook", lbl_1_bss_199C2[13]); - Hu3DModelHookSet(lbl_1_bss_199C2[11], "R_itemhook", lbl_1_bss_199C2[14]); - Hu3DModelAttrSet(lbl_1_bss_199C2[13], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(lbl_1_bss_199C2[14], HU3D_MOTATTR_LOOP); - for (i = 0; i < 4; i++) { - Hu3DModelAttrSet(lbl_1_bss_199C2[i + 51], HU3D_ATTR_DISPOFF); - } - fn_1_D1E0(lbl_1_bss_199C2[4]); - model = CharModelCreate(lbl_1_bss_2DA, 2); - lbl_1_bss_2D0 = model; - lbl_1_bss_2C0[0] = CharModelMotionCreate(lbl_1_bss_2DA, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00)); - lbl_1_bss_2C0[1] = CharModelMotionCreate(lbl_1_bss_2DA, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02)); - lbl_1_bss_2C0[2] = CharModelMotionCreate(lbl_1_bss_2DA, lbl_1_bss_2DA + DATA_MAKE_NUM(DATADIR_M444, 0x45)); - lbl_1_bss_2C0[3] = CharModelMotionCreate(lbl_1_bss_2DA, lbl_1_bss_2DA + DATA_MAKE_NUM(DATADIR_M444, 0x4D)); - CharModelMotionSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0]); - Hu3DModelPosSet(model, 0, 0, 200); - Hu3DModelAttrSet(model, HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(model); - HuPrcChildCreate(fn_1_C214, 50, 12288, 0, lbl_1_bss_308); - HuPrcChildCreate(fn_1_A060, 50, 12288, 0, lbl_1_bss_308); - Hu3DModelAttrSet(lbl_1_bss_199C2[18], HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(lbl_1_bss_199C2[18]); - Hu3DModelAttrSet(lbl_1_bss_199C2[26], HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(lbl_1_bss_199C2[26]); - Hu3DModelAttrSet(lbl_1_bss_199C2[30], HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(lbl_1_bss_199C2[30]); - Hu3DModelAttrSet(lbl_1_bss_199C2[22], HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(lbl_1_bss_199C2[22]); - Hu3DModelAttrSet(lbl_1_bss_199C2[34], HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(lbl_1_bss_199C2[34]); - Hu3DModelShadowMapSet(lbl_1_bss_199C2[15]); - Hu3DModelShadowMapSet(lbl_1_bss_199C2[9]); - Hu3DModelShadowMapSet(lbl_1_bss_199C2[11]); - Hu3DModelShadowMapSet(lbl_1_bss_199C2[3]); - Hu3DModelShadowMapSet(lbl_1_bss_199C2[5]); - Hu3DModelShadowMapSet(lbl_1_bss_199C2[7]); - CharModelLayerSetAll(1); - CharModelEffectNpcInit(lbl_1_bss_199C2[18], lbl_1_bss_1990E[20], 0, 9); - CharModelEffectNpcInit(lbl_1_bss_199C2[26], lbl_1_bss_1990E[28], 0, 10); - CharModelEffectNpcInit(lbl_1_bss_199C2[22], lbl_1_bss_1990E[24], 0, 14); - CharModelEffectNpcInit(lbl_1_bss_199C2[34], lbl_1_bss_1990E[36], 0, 12); - fn_1_8424(); - for (i = 0; i < 20; i++) { - if (i == 0) { - model = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M444, 0x13)); - } - else { - model = Hu3DModelLink(lbl_1_bss_148[0][0]); - } - lbl_1_bss_148[i][0] = model; - lbl_1_bss_148[i][1] = 0; - Hu3DModelAttrSet(model, HU3D_ATTR_DISPOFF); - Hu3DModelScaleSet(model, 0.2, 0.2, 0.2); - Hu3DModelLayerSet(model, 7); - } - for (i = 0; i < 20; i++) { - if (i == 0) { - model = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M444, 0x12)); - } - else { - model = Hu3DModelLink(lbl_1_bss_8[0][0]); - } - lbl_1_bss_8[i][0] = model; - lbl_1_bss_8[i][1] = 0; - Hu3DModelAttrSet(model, HU3D_ATTR_DISPOFF); - Hu3DModelScaleSet(model, 0.2, 0.2, 0.2); - Hu3DModelLayerSet(model, 7); - } - fn_1_D9C8(); + s16 i; + s16 model; + + Vec pos; + Vec target; + Vec up; + Hu3DShadowCreate(20, 100, 5000); + Hu3DShadowTPLvlSet(0.3f); + Hu3DShadowSizeSet(192); + target.x = target.y = target.z = 0; + pos.x = -800; + pos.z = 1600; + pos.y = 3200; + up.x = 0; + up.y = 1; + up.z = 0; + Hu3DShadowPosSet(&pos, &up, &target); + Hu3DReflectMapSet(HuDataSelHeapReadNum(0x4B0023, MEMORY_DEFAULT_NUM, HEAP_DATA)); + for(i=0; i<4; i++) { + lbl_1_data_470[i+47].datanum = lbl_1_data_470[i+51].datanum = lbl_1_data_194[GWPlayerCfg[i].character]; + } + fn_1_D588(lbl_1_data_470); + fn_1_D818(lbl_1_data_118); + Hu3DModelHookSet(lbl_1_bss_199C2[9], "itemhook1", lbl_1_bss_199C2[3]); + Hu3DModelHookSet(lbl_1_bss_199C2[9], "itemhook2", lbl_1_bss_199C2[5]); + Hu3DModelHookSet(lbl_1_bss_199C2[9], "itemhook3", lbl_1_bss_199C2[7]); + Hu3DModelHookSet(lbl_1_bss_199C2[3], "d1_itemhook1", lbl_1_bss_199C2[47]); + Hu3DModelHookSet(lbl_1_bss_199C2[3], "d1_itemhook2", lbl_1_bss_199C2[48]); + Hu3DModelHookSet(lbl_1_bss_199C2[3], "d1_itemhook3", lbl_1_bss_199C2[49]); + Hu3DModelHookSet(lbl_1_bss_199C2[3], "d1_itemhook4", lbl_1_bss_199C2[50]); + Hu3DModelHookSet(lbl_1_bss_199C2[11], "L_itemhook", lbl_1_bss_199C2[13]); + Hu3DModelHookSet(lbl_1_bss_199C2[11], "R_itemhook", lbl_1_bss_199C2[14]); + Hu3DModelAttrSet(lbl_1_bss_199C2[13], 0x40000001); + Hu3DModelAttrSet(lbl_1_bss_199C2[14], 0x40000001); + for(i=0; i<4; i++) { + Hu3DModelAttrSet(lbl_1_bss_199C2[i+51], 1); + } + fn_1_D1E0(lbl_1_bss_199C2[4]); + model = CharModelCreate(lbl_1_bss_2DA, 2); + lbl_1_bss_2D0 = model; + lbl_1_bss_2C0[0] = CharModelMotionCreate(lbl_1_bss_2DA, 0x5F0000); + lbl_1_bss_2C0[1] = CharModelMotionCreate(lbl_1_bss_2DA, 0x5F0002); + lbl_1_bss_2C0[2] = CharModelMotionCreate(lbl_1_bss_2DA, lbl_1_bss_2DA+0x4B0045); + lbl_1_bss_2C0[3] = CharModelMotionCreate(lbl_1_bss_2DA, lbl_1_bss_2DA+0x4B004D); + CharModelMotionSet(lbl_1_bss_2DA, lbl_1_bss_2C0[0]); + Hu3DModelPosSet(model, 0, 0, 200); + Hu3DModelAttrSet(model, 0x40000001); + Hu3DModelShadowSet(model); + HuPrcChildCreate(fn_1_C214, 50, 12288, 0, lbl_1_bss_308); + HuPrcChildCreate(fn_1_A060, 50, 12288, 0, lbl_1_bss_308); + Hu3DModelAttrSet(lbl_1_bss_199C2[18], 1); + Hu3DModelShadowSet(lbl_1_bss_199C2[18]); + Hu3DModelAttrSet(lbl_1_bss_199C2[26], 1); + Hu3DModelShadowSet(lbl_1_bss_199C2[26]); + Hu3DModelAttrSet(lbl_1_bss_199C2[30], 1); + Hu3DModelShadowSet(lbl_1_bss_199C2[30]); + Hu3DModelAttrSet(lbl_1_bss_199C2[22], 1); + Hu3DModelShadowSet(lbl_1_bss_199C2[22]); + Hu3DModelAttrSet(lbl_1_bss_199C2[34], 1); + Hu3DModelShadowSet(lbl_1_bss_199C2[34]); + Hu3DModelShadowMapSet(lbl_1_bss_199C2[15]); + Hu3DModelShadowMapSet(lbl_1_bss_199C2[9]); + Hu3DModelShadowMapSet(lbl_1_bss_199C2[11]); + Hu3DModelShadowMapSet(lbl_1_bss_199C2[3]); + Hu3DModelShadowMapSet(lbl_1_bss_199C2[5]); + Hu3DModelShadowMapSet(lbl_1_bss_199C2[7]); + CharModelLayerSetAll(1); + CharModelEffectNpcInit(lbl_1_bss_199C2[18], lbl_1_bss_1990E[20], 0, 9); + CharModelEffectNpcInit(lbl_1_bss_199C2[26], lbl_1_bss_1990E[28], 0, 10); + CharModelEffectNpcInit(lbl_1_bss_199C2[22], lbl_1_bss_1990E[24], 0, 14); + CharModelEffectNpcInit(lbl_1_bss_199C2[34], lbl_1_bss_1990E[36], 0, 12); + fn_1_8424(); + for(i=0; i<20; i++) { + if(i == 0) { + model = Hu3DModelCreateFile(0x4B0013); + } else { + model = Hu3DModelLink(lbl_1_bss_148[0][0]); + } + lbl_1_bss_148[i][0] = model; + lbl_1_bss_148[i][1] = 0; + Hu3DModelAttrSet(model, 1); + Hu3DModelScaleSet(model, 0.2, 0.2, 0.2); + Hu3DModelLayerSet(model, 7); + } + for(i=0; i<20; i++) { + if(i == 0) { + model = Hu3DModelCreateFile(0x4B0012); + } else { + model = Hu3DModelLink(lbl_1_bss_8[0][0]); + } + lbl_1_bss_8[i][0] = model; + lbl_1_bss_8[i][1] = 0; + Hu3DModelAttrSet(model, 1); + Hu3DModelScaleSet(model, 0.2, 0.2, 0.2); + Hu3DModelLayerSet(model, 7); + } + fn_1_D9C8(); } void fn_1_6D80(s16 window) { - s16 i; - WindowData *winPtr = &winData[window]; - winPtr->active_pad = 1 << lbl_1_bss_2D8; - if (GWPlayerCfg[lbl_1_bss_2DC].iscom) { - for (i = 0; i < 10; i++) { - HuWinComKeyWait(256, 256, 256, 256, GWMessDelayGet()); - } - } + s16 i; + WindowData *winPtr = &winData[window]; + winPtr->active_pad = 1 << lbl_1_bss_2D8; + if(GWPlayerCfg[lbl_1_bss_2DC].iscom) { + for(i=0; i<10; i++) { + HuWinComKeyWait(256, 256, 256, 256, GWMessDelayGet()); + } + } } void fn_1_6E3C(void) { - while (1) { - if (lbl_1_bss_2FC || omSysExitReq) { - break; - } - HuPrcVSleep(); - } - WipeColorSet(255, 255, 255); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuAudFadeOut(1000); - while (WipeStatGet()) { - HuPrcVSleep(); - } - BoardStatusKill(); - omOvlReturnEx(1, 1); - HuPrcEnd(); + while(1) { + if(lbl_1_bss_2FC || omSysExitReq) { + break; + } + HuPrcVSleep(); + } + WipeColorSet(255, 255, 255); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + HuAudFadeOut(1000); + while(WipeStatGet()) { + HuPrcVSleep(); + } + BoardStatusKill(); + omOvlReturnEx(1, 1); + HuPrcEnd(); } -u16 lbl_1_data_240[] = { 1, 2 }; +u16 lbl_1_data_240[] = { + 1, 2 +}; + void fn_1_6EDC(omObjData *object) { - s16 i; - for (i = 0; i < 1; i++) { - Vec pos, target, up; - float x, y, z; - - x = lbl_1_bss_2A8[i].x; - y = lbl_1_bss_2A8[i].y; - z = lbl_1_bss_2A8[i].z; - - pos.x = (((sind(y) * cosd(x)) * lbl_1_bss_288[i]) + lbl_1_bss_290[i].x); - pos.y = (-sind(x) * lbl_1_bss_288[i]) + lbl_1_bss_290[i].y; - pos.z = ((cosd(y) * cosd(x)) * lbl_1_bss_288[i]) + lbl_1_bss_290[i].z; - target.x = lbl_1_bss_290[i].x; - target.y = lbl_1_bss_290[i].y; - target.z = lbl_1_bss_290[i].z; - up.x = sind(y) * sind(x); - up.y = cosd(x); - up.z = cosd(y) * sind(x); - Hu3DCameraPosSet(lbl_1_data_240[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z); - } + s16 i; + for(i=0; i<1; i++) { + Vec pos, target, up; + float x, y, z; + + x = lbl_1_bss_2A8[i].x; + y = lbl_1_bss_2A8[i].y; + z = lbl_1_bss_2A8[i].z; + + pos.x = (((sind(y)*cosd(x))*lbl_1_bss_288[i])+lbl_1_bss_290[i].x); + pos.y = (-sind(x)*lbl_1_bss_288[i])+lbl_1_bss_290[i].y; + pos.z = ((cosd(y)*cosd(x))*lbl_1_bss_288[i])+lbl_1_bss_290[i].z; + target.x = lbl_1_bss_290[i].x; + target.y = lbl_1_bss_290[i].y; + target.z = lbl_1_bss_290[i].z; + up.x = sind(y)*sind(x); + up.y = cosd(x); + up.z = cosd(y)*sind(x); + Hu3DCameraPosSet(lbl_1_data_240[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z); + } } void fn_1_7EBC(void); void fn_1_7290(omObjData *object) { - Vec pos; + Vec pos; Vec offset; Vec dir; Vec y_offset; - + f32 z_rot; s8 stick_pos; - if (lbl_1_bss_0 == 0) { - fn_1_7EBC(); - return; - } - lbl_1_bss_2A8[0].y += 0.1f * HuPadStkX[0]; - lbl_1_bss_2A8[0].x += 0.1f * HuPadStkY[0]; - lbl_1_bss_288[0] += HuPadTrigL[0] / 2; - lbl_1_bss_288[0] -= HuPadTrigR[0] / 2; - if (HuPadBtnDown[0] & PAD_BUTTON_B) { - OSReport("%f,%f,%f\n", lbl_1_bss_2A8[0].x, lbl_1_bss_2A8[0].y, lbl_1_bss_2A8[0].z); - OSReport("%f,%f,%f\n", lbl_1_bss_290[0].x, lbl_1_bss_290[0].y, lbl_1_bss_290[0].z); - OSReport("%f\n", lbl_1_bss_288[0]); - } - if (lbl_1_bss_288[0] < 100.0f) { - lbl_1_bss_288[0] = 100.0f; - } - pos.x = lbl_1_bss_290[0].x + (lbl_1_bss_288[0] * (sind(lbl_1_bss_2A8[0].y) * cosd(lbl_1_bss_2A8[0].x))); - pos.y = (lbl_1_bss_290[0].y + (lbl_1_bss_288[0] * -sind(lbl_1_bss_2A8[0].x))); - pos.z = (lbl_1_bss_290[0].z + (lbl_1_bss_288[0] * (cosd(lbl_1_bss_2A8[0].y) * cosd(lbl_1_bss_2A8[0].x)))); - offset.x = lbl_1_bss_290[0].x - pos.x; - offset.y = lbl_1_bss_290[0].y - pos.y; - offset.z = lbl_1_bss_290[0].z - pos.z; - dir.x = (sind(lbl_1_bss_2A8[0].y) * sind(lbl_1_bss_2A8[0].x)); - dir.y = cosd(lbl_1_bss_2A8[0].x); - dir.z = (cosd(lbl_1_bss_2A8[0].y) * sind(lbl_1_bss_2A8[0].x)); - z_rot = lbl_1_bss_2A8[0].z; - y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cosd(z_rot)) - + dir.y * (offset.x * offset.y * (1.0f - cosd(z_rot)) - offset.z * sind(z_rot)) - + dir.z * (offset.x * offset.z * (1.0f - cosd(z_rot)) + offset.y * sind(z_rot)); + if(lbl_1_bss_0 == 0) { + fn_1_7EBC(); + return; + } + lbl_1_bss_2A8[0].y += 0.1f * HuPadStkX[0]; + lbl_1_bss_2A8[0].x += 0.1f * HuPadStkY[0]; + lbl_1_bss_288[0] += HuPadTrigL[0] / 2; + lbl_1_bss_288[0] -= HuPadTrigR[0] / 2; + if(HuPadBtnDown[0] & PAD_BUTTON_B) { + OSReport("%f,%f,%f\n", lbl_1_bss_2A8[0].x, lbl_1_bss_2A8[0].y, lbl_1_bss_2A8[0].z); + OSReport("%f,%f,%f\n", lbl_1_bss_290[0].x, lbl_1_bss_290[0].y, lbl_1_bss_290[0].z); + OSReport("%f\n", lbl_1_bss_288[0]); + } + if (lbl_1_bss_288[0] < 100.0f) { + lbl_1_bss_288[0] = 100.0f; + } + pos.x = lbl_1_bss_290[0].x + (lbl_1_bss_288[0] * (sind(lbl_1_bss_2A8[0].y) * cosd(lbl_1_bss_2A8[0].x))); + pos.y = (lbl_1_bss_290[0].y + (lbl_1_bss_288[0] * -sind(lbl_1_bss_2A8[0].x))); + pos.z = (lbl_1_bss_290[0].z + (lbl_1_bss_288[0] * (cosd(lbl_1_bss_2A8[0].y) * cosd(lbl_1_bss_2A8[0].x)))); + offset.x = lbl_1_bss_290[0].x - pos.x; + offset.y = lbl_1_bss_290[0].y - pos.y; + offset.z = lbl_1_bss_290[0].z - pos.z; + dir.x = (sind(lbl_1_bss_2A8[0].y) * sind(lbl_1_bss_2A8[0].x)); + dir.y = cosd(lbl_1_bss_2A8[0].x); + dir.z = (cosd(lbl_1_bss_2A8[0].y) * sind(lbl_1_bss_2A8[0].x)); + z_rot = lbl_1_bss_2A8[0].z; + y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cosd(z_rot)) + + dir.y * (offset.x * offset.y * (1.0f - cosd(z_rot)) - offset.z * sind(z_rot)) + + dir.z * (offset.x * offset.z * (1.0f - cosd(z_rot)) + offset.y * sind(z_rot)); - y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cosd(z_rot)) - + dir.x * (offset.x * offset.y * (1.0f - cosd(z_rot)) + offset.z * sind(z_rot)) - + dir.z * (offset.y * offset.z * (1.0f - cosd(z_rot)) - offset.x * sind(z_rot)); + y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cosd(z_rot)) + + dir.x * (offset.x * offset.y * (1.0f - cosd(z_rot)) + offset.z * sind(z_rot)) + + dir.z * (offset.y * offset.z * (1.0f - cosd(z_rot)) - offset.x * sind(z_rot)); + + y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cosd(z_rot)) + + (dir.x * (offset.x * offset.z * (1.0 - cosd(z_rot)) - offset.y * sind(z_rot)) + + dir.y * (offset.y * offset.z * (1.0 - cosd(z_rot)) + offset.x * sind(z_rot))); - y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cosd(z_rot)) - + (dir.x * (offset.x * offset.z * (1.0 - cosd(z_rot)) - offset.y * sind(z_rot)) - + dir.y * (offset.y * offset.z * (1.0 - cosd(z_rot)) + offset.x * sind(z_rot))); - - VECCrossProduct(&dir, &offset, &offset); - VECNormalize(&offset, &offset); - stick_pos = (HuPadSubStkX[0] & 0xF8); - if (stick_pos != 0) { - lbl_1_bss_290[0].x += 0.05f * (offset.x * stick_pos); - lbl_1_bss_290[0].y += 0.05f * (offset.y * stick_pos); - lbl_1_bss_290[0].z += 0.05f * (offset.z * stick_pos); - } - VECNormalize(&y_offset, &offset); - stick_pos = -(HuPadSubStkY[0] & 0xF8); - if (stick_pos != 0) { - lbl_1_bss_290[0].x += 0.05f * (offset.x * stick_pos); - lbl_1_bss_290[0].y += 0.05f * (offset.y * stick_pos); - lbl_1_bss_290[0].z += 0.05f * (offset.z * stick_pos); - } + PSVECCrossProduct(&dir, &offset, &offset); + PSVECNormalize(&offset, &offset); + stick_pos = (HuPadSubStkX[0] & 0xF8); + if (stick_pos != 0) { + lbl_1_bss_290[0].x += 0.05f * (offset.x * stick_pos); + lbl_1_bss_290[0].y += 0.05f * (offset.y * stick_pos); + lbl_1_bss_290[0].z += 0.05f * (offset.z * stick_pos); + } + PSVECNormalize(&y_offset, &offset); + stick_pos = -(HuPadSubStkY[0] & 0xF8); + if (stick_pos != 0) { + lbl_1_bss_290[0].x += 0.05f * (offset.x * stick_pos); + lbl_1_bss_290[0].y += 0.05f * (offset.y * stick_pos); + lbl_1_bss_290[0].z += 0.05f * (offset.z * stick_pos); + } } void fn_1_7EBC(void) { - Vec dist; - float dist_zoom; - if (lbl_1_bss_2FC != 0) { - return; - } - VECSubtract(&lbl_1_bss_2F0, &lbl_1_bss_2A8[0], &dist); - if (VECMag(&dist) > 0.2) { - VECScale(&dist, &dist, 0.05f); - VECAdd(&lbl_1_bss_2A8[0], &dist, &lbl_1_bss_2A8[0]); - } - else { - lbl_1_bss_2A8[0] = lbl_1_bss_2F0; - } - VECSubtract(&lbl_1_bss_2E4, &lbl_1_bss_290[0], &dist); - if (VECMag(&dist) > 0.2) { - VECScale(&dist, &dist, 0.05f); - VECAdd(&lbl_1_bss_290[0], &dist, &lbl_1_bss_290[0]); - } - else { - lbl_1_bss_290[0] = lbl_1_bss_2E4; - } - dist_zoom = lbl_1_bss_2E0 - lbl_1_bss_288[0]; - if (sqrtf(dist_zoom * dist_zoom) > 0.2) { - dist_zoom *= 0.05f; - lbl_1_bss_288[0] += dist_zoom; - } - else { - lbl_1_bss_288[0] = lbl_1_bss_2E0; - } + Vec dist; + float dist_zoom; + if(lbl_1_bss_2FC != 0) { + return; + } + VECSubtract(&lbl_1_bss_2F0, &lbl_1_bss_2A8[0], &dist); + if(VECMag(&dist) > 0.2) { + VECScale(&dist, &dist, 0.05f); + VECAdd(&lbl_1_bss_2A8[0], &dist, &lbl_1_bss_2A8[0]); + } else { + lbl_1_bss_2A8[0] = lbl_1_bss_2F0; + } + VECSubtract(&lbl_1_bss_2E4, &lbl_1_bss_290[0], &dist); + if(VECMag(&dist) > 0.2) { + VECScale(&dist, &dist, 0.05f); + VECAdd(&lbl_1_bss_290[0], &dist, &lbl_1_bss_290[0]); + } else { + lbl_1_bss_290[0] = lbl_1_bss_2E4; + } + dist_zoom = lbl_1_bss_2E0-lbl_1_bss_288[0]; + if(sqrtf(dist_zoom*dist_zoom) > 0.2) { + dist_zoom *= 0.05f; + lbl_1_bss_288[0] += dist_zoom; + } else { + lbl_1_bss_288[0] = lbl_1_bss_2E0; + } } void fn_1_8180(s16 view) { - lbl_1_bss_2F0 = lbl_1_data_0[view].rot; - lbl_1_bss_2E4 = lbl_1_data_0[view].pos; - lbl_1_bss_2E0 = lbl_1_data_0[view].zoom; + lbl_1_bss_2F0 = lbl_1_data_0[view].rot; + lbl_1_bss_2E4 = lbl_1_data_0[view].pos; + lbl_1_bss_2E0 = lbl_1_data_0[view].zoom; } void fn_1_8210(s16 view) { - lbl_1_bss_2A8[0] = lbl_1_data_0[view].rot; - lbl_1_bss_2F0 = lbl_1_bss_2A8[0]; - lbl_1_bss_290[0] = lbl_1_data_0[view].pos; - lbl_1_bss_2E4 = lbl_1_bss_290[0]; - lbl_1_bss_2E0 = lbl_1_bss_288[0] = lbl_1_data_0[view].zoom; + lbl_1_bss_2A8[0] = lbl_1_data_0[view].rot; + lbl_1_bss_2F0 = lbl_1_bss_2A8[0]; + lbl_1_bss_290[0] = lbl_1_data_0[view].pos; + lbl_1_bss_2E4 = lbl_1_bss_290[0]; + lbl_1_bss_2E0 = lbl_1_bss_288[0] = lbl_1_data_0[view].zoom; } float fn_1_82FC(void) { - float zoom = lbl_1_bss_2E0 - lbl_1_bss_288[0]; - return sqrtf(zoom * zoom); + float zoom = lbl_1_bss_2E0-lbl_1_bss_288[0]; + return sqrtf(zoom*zoom); } diff --git a/src/REL/m444dll/pinball.c b/src/REL/m444dll/pinball.c index a455a9f4..e4f9b3d7 100644 --- a/src/REL/m444dll/pinball.c +++ b/src/REL/m444dll/pinball.c @@ -1,29 +1,27 @@ -#include "game/hsfdraw.h" -#include "game/hsfex.h" -#include "game/hsfman.h" #include "game/object.h" #include "game/objsub.h" +#include "game/hsfman.h" +#include "game/hsfdraw.h" +#include "game/hsfex.h" #include "game/hsfmotion.h" #include "game/pad.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/esprite.h" #include "game/window.h" #include "game/wipe.h" +#include "game/audio.h" +#include "game/esprite.h" +#include "game/chrman.h" #include "game/board/ui.h" -#include "game/gamework.h" #include "game/gamework_data.h" +#include "game/gamework.h" #include "REL/m444dll.h" #include "ext_math.h" -#include "version.h" #include "math.h" - s16 lbl_1_bss_198F0[5][2]; Vec lbl_1_bss_D8F0[4096]; Vec lbl_1_bss_18F0[4096]; @@ -47,117 +45,125 @@ Vec lbl_1_bss_314; s16 lbl_1_bss_312; u8 lbl_1_bss_310; -float lbl_1_data_258[3] = { 90, 250, 420 }; +float lbl_1_data_258[3] = { + 90, 250, 420 +}; -Vec lbl_1_data_264[5] = { { -75, -300, 0 }, { 25, -300, 0 }, { -75, -300, 0 }, { 25, -300, 0 }, { -25, -400, 0 } }; +Vec lbl_1_data_264[5] = { + { -75, -300, 0 }, + { 25, -300, 0 }, + { -75, -300, 0 }, + { 25, -300, 0 }, + { -25, -400, 0 } +}; -float lbl_1_data_2A0[5 * 2] = { -100, -60, 10, 50, -100, -60, 10, 50, -50, 0 }; +float lbl_1_data_2A0[5*2] = { + -100, -60, + 10, 50, + -100, -60, + 10, 50, + -50, 0 +}; s16 lbl_1_data_2C8[5] = { - 1, - 1, - 2, - 2, - 2, + 1, 1, 2, 2, 2, }; void fn_1_8424(void) { - s16 i; - for (i = 0; i < 5; i++) { - lbl_1_bss_18B4[i] = lbl_1_data_264[i]; - lbl_1_bss_824[i].x = lbl_1_bss_18B4[i].x; - lbl_1_bss_824[i].y = 215; - lbl_1_bss_824[i].z = lbl_1_bss_18B4[i].y; - lbl_1_bss_198F0[i][0] = 10; - lbl_1_bss_198F0[i][1] = 0; - } - for (i = 0; i < 3; i++) { - lbl_1_bss_860[i].x = 128; - lbl_1_bss_860[i].y = 230; - lbl_1_bss_860[i].z = -100; - MTXIdentity(lbl_1_bss_794[i]); - lbl_1_bss_788[i] = 0; - } + s16 i; + for(i=0; i<5; i++) { + lbl_1_bss_18B4[i] = lbl_1_data_264[i]; + lbl_1_bss_824[i].x = lbl_1_bss_18B4[i].x; + lbl_1_bss_824[i].y = 215; + lbl_1_bss_824[i].z = lbl_1_bss_18B4[i].y; + lbl_1_bss_198F0[i][0] = 10; + lbl_1_bss_198F0[i][1] = 0; + } + for(i=0; i<3; i++) { + lbl_1_bss_860[i].x = 128; + lbl_1_bss_860[i].y = 230; + lbl_1_bss_860[i].z = -100; + MTXIdentity(lbl_1_bss_794[i]); + lbl_1_bss_788[i] = 0; + } } void fn_1_861C(s16 arg0) { - s16 temp_r31; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - lbl_1_bss_312 = 0; - for (temp_r31 = 0; temp_r31 < 256; temp_r31++) { - lbl_1_bss_370[temp_r31] = 1000000.0f; - } - lbl_1_bss_1894.x = 128; - lbl_1_bss_1894.y = -100; - lbl_1_bss_1894.z = 0; - lbl_1_bss_1888.x = lbl_1_bss_1888.z = 0; - lbl_1_bss_1888.y = -30; - lbl_1_bss_860[arg0].x = lbl_1_bss_1894.x; - lbl_1_bss_860[arg0].y = 230; - lbl_1_bss_860[arg0].z = lbl_1_bss_1894.y; - fn_1_D1E0(lbl_1_bss_199C2[(arg0 * 2) + 4]); - if (arg0 == 0) { - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - lbl_1_bss_320[temp_r31] = temp_r31; - } - for (temp_r31 = 0; temp_r31 < 20; temp_r31++) { - temp_r29 = frandmod(4); - temp_r28 = frandmod(4); - temp_r27 = lbl_1_bss_320[temp_r29]; - lbl_1_bss_320[temp_r29] = lbl_1_bss_320[temp_r28]; - lbl_1_bss_320[temp_r28] = temp_r27; - } - Hu3DModelHookSet(lbl_1_bss_199C2[3], "d1_itemhook1", lbl_1_bss_199C2[lbl_1_bss_320[0] + 47]); - Hu3DModelHookSet(lbl_1_bss_199C2[3], "d1_itemhook2", lbl_1_bss_199C2[lbl_1_bss_320[1] + 47]); - Hu3DModelHookSet(lbl_1_bss_199C2[3], "d1_itemhook3", lbl_1_bss_199C2[lbl_1_bss_320[2] + 47]); - Hu3DModelHookSet(lbl_1_bss_199C2[3], "d1_itemhook4", lbl_1_bss_199C2[lbl_1_bss_320[3] + 47]); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - Hu3DModelAttrSet(lbl_1_bss_199C2[temp_r31 + 51], HU3D_ATTR_DISPOFF); - } - } - else if (arg0 == 1) { - for (temp_r31 = temp_r29 = 0; temp_r31 < 4; temp_r31++) { - if (temp_r31 != lbl_1_bss_2D6) { - lbl_1_bss_320[temp_r29] = temp_r31; - temp_r29++; - } - } - for (temp_r31 = 0; temp_r31 < 20; temp_r31++) { - temp_r29 = frandmod(3); - temp_r28 = frandmod(3); - temp_r27 = lbl_1_bss_320[temp_r29]; - lbl_1_bss_320[temp_r29] = lbl_1_bss_320[temp_r28]; - lbl_1_bss_320[temp_r28] = temp_r27; - } - Hu3DModelAttrReset(lbl_1_bss_199C2[lbl_1_bss_320[0] + 51], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_199C2[lbl_1_bss_320[1] + 51], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_199C2[lbl_1_bss_320[2] + 51], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_199C2[lbl_1_bss_2D6 + 51], HU3D_ATTR_DISPOFF); - Hu3DModelHookSet(lbl_1_bss_199C2[5], "d2_itemhook1", lbl_1_bss_199C2[lbl_1_bss_320[0] + 51]); - Hu3DModelHookSet(lbl_1_bss_199C2[5], "d2_itemhook2", lbl_1_bss_199C2[lbl_1_bss_320[1] + 51]); - Hu3DModelHookSet(lbl_1_bss_199C2[5], "d2_itemhook3", lbl_1_bss_199C2[lbl_1_bss_320[2] + 51]); - } - Hu3DModelAttrSet(lbl_1_bss_199C2[arg0 + 65], HU3D_MOTATTR_PAUSE); - Hu3DMotionTimeSet(lbl_1_bss_199C2[arg0 + 65], 0); - Hu3DModelAttrSet(lbl_1_bss_199C2[arg0 + 55], HU3D_MOTATTR_PAUSE); - Hu3DMotionTimeSet(lbl_1_bss_199C2[arg0 + 55], 0); - Hu3DMotionSpeedSet(lbl_1_bss_199C2[arg0 + 55], 2); - Hu3DMotionSet(lbl_1_bss_199C2[arg0 + 58], lbl_1_bss_1990E[61]); - Hu3DModelAttrSet(lbl_1_bss_199C2[arg0 + 58], HU3D_MOTATTR_LOOP); - for (temp_r31 = 0; temp_r31 < 5; temp_r31++) { - if (arg0 == lbl_1_data_2C8[temp_r31]) { - lbl_1_bss_18A0[temp_r31] = 1; - } - else { - lbl_1_bss_18A0[temp_r31] = 0; - } - lbl_1_bss_198F0[temp_r31][0] = 10; - lbl_1_bss_198F0[temp_r31][1] = 0; - } + s16 temp_r31; + s16 temp_r29; + s16 temp_r28; + s16 temp_r27; + lbl_1_bss_312 = 0; + for(temp_r31=0; temp_r31<256; temp_r31++) { + lbl_1_bss_370[temp_r31] = 1000000.0f; + } + lbl_1_bss_1894.x = 128; + lbl_1_bss_1894.y = -100; + lbl_1_bss_1894.z = 0; + lbl_1_bss_1888.x = lbl_1_bss_1888.z = 0; + lbl_1_bss_1888.y = -30; + lbl_1_bss_860[arg0].x = lbl_1_bss_1894.x; + lbl_1_bss_860[arg0].y = 230; + lbl_1_bss_860[arg0].z = lbl_1_bss_1894.y; + fn_1_D1E0(lbl_1_bss_199C2[(arg0*2)+4]); + if(arg0 == 0) { + for(temp_r31=0; temp_r31<4; temp_r31++) { + lbl_1_bss_320[temp_r31] = temp_r31; + } + for(temp_r31=0; temp_r31<20; temp_r31++) { + temp_r29 = frandmod(4); + temp_r28 = frandmod(4); + temp_r27 = lbl_1_bss_320[temp_r29]; + lbl_1_bss_320[temp_r29] = lbl_1_bss_320[temp_r28]; + lbl_1_bss_320[temp_r28] = temp_r27; + } + Hu3DModelHookSet(lbl_1_bss_199C2[3], "d1_itemhook1", lbl_1_bss_199C2[lbl_1_bss_320[0]+47]); + Hu3DModelHookSet(lbl_1_bss_199C2[3], "d1_itemhook2", lbl_1_bss_199C2[lbl_1_bss_320[1]+47]); + Hu3DModelHookSet(lbl_1_bss_199C2[3], "d1_itemhook3", lbl_1_bss_199C2[lbl_1_bss_320[2]+47]); + Hu3DModelHookSet(lbl_1_bss_199C2[3], "d1_itemhook4", lbl_1_bss_199C2[lbl_1_bss_320[3]+47]); + for(temp_r31=0; temp_r31<4; temp_r31++) { + Hu3DModelAttrSet(lbl_1_bss_199C2[temp_r31+51], 1); + } + } else if(arg0 == 1) { + for(temp_r31=temp_r29=0; temp_r31<4; temp_r31++) { + if(temp_r31 != lbl_1_bss_2D6) { + lbl_1_bss_320[temp_r29] = temp_r31; + temp_r29++; + } + } + for(temp_r31=0; temp_r31<20; temp_r31++) { + temp_r29 = frandmod(3); + temp_r28 = frandmod(3); + temp_r27 = lbl_1_bss_320[temp_r29]; + lbl_1_bss_320[temp_r29] = lbl_1_bss_320[temp_r28]; + lbl_1_bss_320[temp_r28] = temp_r27; + } + Hu3DModelAttrReset(lbl_1_bss_199C2[lbl_1_bss_320[0]+51], 1); + Hu3DModelAttrReset(lbl_1_bss_199C2[lbl_1_bss_320[1]+51], 1); + Hu3DModelAttrReset(lbl_1_bss_199C2[lbl_1_bss_320[2]+51], 1); + Hu3DModelAttrSet(lbl_1_bss_199C2[lbl_1_bss_2D6+51], 1); + Hu3DModelHookSet(lbl_1_bss_199C2[5], "d2_itemhook1", lbl_1_bss_199C2[lbl_1_bss_320[0]+51]); + Hu3DModelHookSet(lbl_1_bss_199C2[5], "d2_itemhook2", lbl_1_bss_199C2[lbl_1_bss_320[1]+51]); + Hu3DModelHookSet(lbl_1_bss_199C2[5], "d2_itemhook3", lbl_1_bss_199C2[lbl_1_bss_320[2]+51]); + } + Hu3DModelAttrSet(lbl_1_bss_199C2[arg0+65], 0x40000002); + Hu3DMotionTimeSet(lbl_1_bss_199C2[arg0+65], 0); + Hu3DModelAttrSet(lbl_1_bss_199C2[arg0+55], 0x40000002); + Hu3DMotionTimeSet(lbl_1_bss_199C2[arg0+55], 0); + Hu3DMotionSpeedSet(lbl_1_bss_199C2[arg0+55], 2); + Hu3DMotionSet(lbl_1_bss_199C2[arg0+58], lbl_1_bss_1990E[61]); + Hu3DModelAttrSet(lbl_1_bss_199C2[arg0+58], 0x40000001); + for(temp_r31=0; temp_r31<5; temp_r31++) { + if(arg0 == lbl_1_data_2C8[temp_r31]) { + lbl_1_bss_18A0[temp_r31] = 1; + } else { + lbl_1_bss_18A0[temp_r31] = 0; + } + lbl_1_bss_198F0[temp_r31][0] = 10; + lbl_1_bss_198F0[temp_r31][1] = 0; + } } void fn_1_ABD0(s16 arg0, s16 arg1); @@ -165,550 +171,552 @@ s16 fn_1_B1E8(Vec *arg0, Vec *arg1, s16 arg2); s16 fn_1_8DD0(s16 arg0) { - s16 temp_r30; - s16 temp_r29; - s32 temp_r28; - s16 temp_r27; - Mtx sp24; - Vec sp18; - Vec spC; - float sp8 = 0; - Hu3DMotionTimeSet(lbl_1_bss_199C2[9], lbl_1_data_258[arg0]); - Hu3DModelAttrSet(lbl_1_bss_199C2[9], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(lbl_1_bss_199C2[arg0 + 65], HU3D_MOTATTR_PAUSE); - Hu3DMotionSpeedSet(lbl_1_bss_199C2[arg0 + 65], 0.1 * (-lbl_1_bss_1888.y - 14.0f) + 1.0); - temp_r28 = 0; - spC.z = spC.y = spC.x = 0; - fn_1_8180(1); - while (1) { - temp_r27 = fn_1_B1E8(&lbl_1_bss_1894, &lbl_1_bss_1888, arg0); - lbl_1_bss_860[arg0].x = lbl_1_bss_1894.x; - lbl_1_bss_860[arg0].y = 230; - lbl_1_bss_860[arg0].z = lbl_1_bss_1894.y; - if (VECMag(&lbl_1_bss_1888)) { - sp18.x = 0; - sp18.y = 0; - sp18.z = 1; - VECCrossProduct(&sp18, &lbl_1_bss_1888, &sp18); - sp18.z = sp18.y; - sp18.y = 0; - MTXRotAxisDeg(sp24, &sp18, 360.0 * (VECMag(&lbl_1_bss_1888) / 81.68140899333463)); - MTXConcat(lbl_1_bss_794[arg0], sp24, lbl_1_bss_794[arg0]); - } - lbl_1_bss_2E4.z = lbl_1_bss_860[arg0].z; - for (temp_r30 = temp_r29 = 0; temp_r30 < 5; temp_r30++) { - if (arg0 == lbl_1_data_2C8[temp_r30]) { - fn_1_ABD0(temp_r30, arg0); - if (lbl_1_bss_198F0[temp_r30][1] & 0x2) { - temp_r29++; - } - } - } - if (temp_r29) { - if (Hu3DMotionIDGet(lbl_1_bss_199C2[arg0 + 58]) != lbl_1_bss_1990E[62]) { - Hu3DMotionSet(lbl_1_bss_199C2[arg0 + 58], lbl_1_bss_1990E[62]); - } - } - else { - if (Hu3DMotionIDGet(lbl_1_bss_199C2[arg0 + 58]) != lbl_1_bss_1990E[61]) { - Hu3DMotionSet(lbl_1_bss_199C2[arg0 + 58], lbl_1_bss_1990E[61]); - } - } - if (temp_r27 != -1) { - break; - } - if (lbl_1_bss_1894.x < 85.0f && temp_r28 == 0) { - lbl_1_bss_D8F0[lbl_1_bss_1884].x = 100; - lbl_1_bss_D8F0[lbl_1_bss_1884].y = 100; - lbl_1_bss_D8F0[lbl_1_bss_1884].z = 0; - lbl_1_bss_18F0[lbl_1_bss_1884].x = 100; - lbl_1_bss_18F0[lbl_1_bss_1884].y = -500; - lbl_1_bss_18F0[lbl_1_bss_1884].z = 0; - lbl_1_bss_1884++; - Hu3DModelAttrReset(lbl_1_bss_199C2[arg0 + 55], HU3D_MOTATTR_PAUSE); - Hu3DMotionTimeSet(lbl_1_bss_199C2[arg0 + 55], 0); - temp_r28 = 1; - } - HuPrcVSleep(); - } - for (temp_r30 = 0; temp_r30 < 5; temp_r30++) { - if (arg0 == lbl_1_data_2C8[temp_r30]) { - lbl_1_bss_198F0[temp_r30][1] = 4; - fn_1_ABD0(temp_r30, arg0); - } - } - HuAudFXPlay(1851); - return temp_r27; + s16 temp_r30; + s16 temp_r29; + s32 temp_r28; + s16 temp_r27; + Mtx sp24; + Vec sp18; + Vec spC; + float sp8 = 0; + Hu3DMotionTimeSet(lbl_1_bss_199C2[9], lbl_1_data_258[arg0]); + Hu3DModelAttrSet(lbl_1_bss_199C2[9], 0x40000002); + Hu3DModelAttrReset(lbl_1_bss_199C2[arg0+65], 0x40000002); + Hu3DMotionSpeedSet(lbl_1_bss_199C2[arg0+65], 0.1*(-lbl_1_bss_1888.y-14.0f)+1.0); + temp_r28 = 0; + spC.z = spC.y = spC.x = 0; + fn_1_8180(1); + while(1) { + temp_r27 = fn_1_B1E8(&lbl_1_bss_1894, &lbl_1_bss_1888, arg0); + lbl_1_bss_860[arg0].x = lbl_1_bss_1894.x; + lbl_1_bss_860[arg0].y = 230; + lbl_1_bss_860[arg0].z = lbl_1_bss_1894.y; + if(VECMag(&lbl_1_bss_1888)) { + sp18.x = 0; + sp18.y = 0; + sp18.z = 1; + VECCrossProduct(&sp18, &lbl_1_bss_1888, &sp18); + sp18.z = sp18.y; + sp18.y = 0; + MTXRotAxisDeg(sp24, &sp18, 360.0*(VECMag(&lbl_1_bss_1888)/81.68140899333463)); + MTXConcat(lbl_1_bss_794[arg0], sp24, lbl_1_bss_794[arg0]); + } + lbl_1_bss_2E4.z = lbl_1_bss_860[arg0].z; + for(temp_r30=temp_r29=0; temp_r30<5; temp_r30++) { + if(arg0 == lbl_1_data_2C8[temp_r30]) { + fn_1_ABD0(temp_r30, arg0); + if(lbl_1_bss_198F0[temp_r30][1] & 0x2) { + temp_r29++; + } + } + } + if(temp_r29) { + if(Hu3DMotionIDGet(lbl_1_bss_199C2[arg0+58]) != lbl_1_bss_1990E[62]) { + Hu3DMotionSet(lbl_1_bss_199C2[arg0+58], lbl_1_bss_1990E[62]); + } + } else { + if(Hu3DMotionIDGet(lbl_1_bss_199C2[arg0+58]) != lbl_1_bss_1990E[61]) { + Hu3DMotionSet(lbl_1_bss_199C2[arg0+58], lbl_1_bss_1990E[61]); + } + } + if(temp_r27 != -1) { + break; + } + if(lbl_1_bss_1894.x < 85.0f && temp_r28 == 0) { + lbl_1_bss_D8F0[lbl_1_bss_1884].x = 100; + lbl_1_bss_D8F0[lbl_1_bss_1884].y = 100; + lbl_1_bss_D8F0[lbl_1_bss_1884].z = 0; + lbl_1_bss_18F0[lbl_1_bss_1884].x = 100; + lbl_1_bss_18F0[lbl_1_bss_1884].y = -500; + lbl_1_bss_18F0[lbl_1_bss_1884].z = 0; + lbl_1_bss_1884++; + Hu3DModelAttrReset(lbl_1_bss_199C2[arg0+55], 0x40000002); + Hu3DMotionTimeSet(lbl_1_bss_199C2[arg0+55], 0); + temp_r28 = 1; + } + HuPrcVSleep(); + } + for(temp_r30=0; temp_r30<5; temp_r30++) { + if(arg0 == lbl_1_data_2C8[temp_r30]) { + lbl_1_bss_198F0[temp_r30][1] = 4; + fn_1_ABD0(temp_r30, arg0); + } + } + HuAudFXPlay(1851); + return temp_r27; } void fn_1_9418(s16 arg0) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - - s16 temp_r31; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - s16 temp_r24; - s16 temp_r23; - float sp8[2]; - temp_f31 = 0; - fn_1_8180(0); - Hu3DModelPosSet(lbl_1_bss_2D0, 124, 0, 70); - Hu3DModelRotSet(lbl_1_bss_2D0, 0, 180, 0); - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[3], 0, 4, HU3D_MOTATTR_SHIFT_REV); - HuPrcSleep(12); - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x1C, 0x0F)); - temp_r29 = HuWinCreate(-10000, 340, sp8[0], sp8[1], 1); - HuWinMesSpeedSet(temp_r29, 0); - HuWinBGTPLvlSet(temp_r29, 0); - HuWinMesSet(temp_r29, MAKE_MESSID(0x1C, 0x0F)); - CharModelMotionSet(lbl_1_bss_2DA, lbl_1_bss_2C0[2]); - Hu3DModelAttrSet(lbl_1_bss_2D0, HU3D_MOTATTR_PAUSE); - temp_f29 = Hu3DMotionTimeGet(lbl_1_bss_2D0); - temp_f28 = Hu3DMotionMaxTimeGet(lbl_1_bss_2D0); - if (GWPlayerCfg[lbl_1_bss_2DC].iscom) { - temp_r27 = frandmod(100) + 20; - } - while (1) { - temp_r26 = HuPadBtnDown[lbl_1_bss_2D8]; - temp_r23 = HuPadBtn[lbl_1_bss_2D8]; - temp_r25 = HuPadStkY[lbl_1_bss_2D8]; - if (GWPlayerCfg[lbl_1_bss_2DC].iscom) { - temp_r23 = 0; - if (temp_r27 != 0) { - temp_r27--; - temp_r25 = -72; - } - else { - temp_r26 = PAD_BUTTON_A; - } - } - if ((temp_r26 & PAD_BUTTON_A) && lbl_1_bss_788[arg0] > 0) { - break; - } - if (HuPadTrigR[lbl_1_bss_2D8] > 10) { - if (temp_f31 < 90.0f) { - temp_f31 += 5.0f; - } - fn_1_8180(arg0 + 2); - } - else { - fn_1_8180(0); - if (temp_f31 > 0.0f) { - temp_f31 -= 5.0f; - } - } - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - lbl_1_bss_34C[temp_r31].y = 80.0 - (150.0 * sind(temp_f31)); - } - temp_f30 = -(temp_r25 >> 3); - temp_f30 /= 20.0f; - if (temp_f30) { - if (temp_f30 + lbl_1_bss_788[arg0] < 0.0f) { - temp_f30 = -lbl_1_bss_788[arg0]; - } - else { - if (temp_f30 + lbl_1_bss_788[arg0] > 50.0f) { - temp_f30 = 50.0f - lbl_1_bss_788[arg0]; - } - } - temp_f29 += temp_f30; - if (temp_f29 >= temp_f28) { - temp_f29 -= temp_f28; - } - } - else { - temp_f30 = -0.3f; - if (temp_f30 + lbl_1_bss_788[arg0] < 0.0f) { - temp_f30 = -lbl_1_bss_788[arg0]; - } - } - Hu3DMotionTimeSet(lbl_1_bss_2D0, temp_f29); - lbl_1_bss_788[arg0] += temp_f30; - Hu3DModelPosSet(lbl_1_bss_2D0, 124, 0, 70 + lbl_1_bss_788[arg0]); - for (temp_r31 = 0; temp_r31 < 5; temp_r31++) { - if (arg0 == lbl_1_data_2C8[temp_r31]) { - fn_1_ABD0(temp_r31, arg0); - } - } - HuPrcVSleep(); - } - if (temp_f31 > 0) { - fn_1_8180(0); - for (temp_r28 = 0; temp_r28 < 10; temp_r28++) { - temp_f31 -= 10.0f; - if (temp_f31 < 0.0f) { - temp_f31 = 0.0f; - } - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - lbl_1_bss_34C[temp_r31].y = 80.0 - (150.0 * sind(temp_f31)); - } - if (temp_f31 == 0.0f) { - break; - } - HuPrcVSleep(); - } - } - CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[3], 0, 8, HU3D_MOTATTR_NONE); - HuPrcSleep(4); - temp_r24 = lbl_1_bss_788[arg0] / 4; - lbl_1_bss_1888.y = (-15 - temp_r24) + (0.1 * (float)frandmod(10)); - lbl_1_bss_788[arg0] = 0; - HuWinExCleanup(temp_r29); - HuAudFXPlay(1852); + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + + s16 temp_r31; + s16 temp_r29; + s16 temp_r28; + s16 temp_r27; + s16 temp_r26; + s16 temp_r25; + s16 temp_r24; + s16 temp_r23; + float sp8[2]; + temp_f31 = 0; + fn_1_8180(0); + Hu3DModelPosSet(lbl_1_bss_2D0, 124, 0, 70); + Hu3DModelRotSet(lbl_1_bss_2D0, 0, 180, 0); + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[3], 0, 4, 0x40000020); + HuPrcSleep(12); + HuWinMesMaxSizeGet(1, sp8, 0x1C000F); + temp_r29 = HuWinCreate(-10000, 340, sp8[0], sp8[1], 1); + HuWinMesSpeedSet(temp_r29, 0); + HuWinBGTPLvlSet(temp_r29, 0); + HuWinMesSet(temp_r29, 0x1C000F); + CharModelMotionSet(lbl_1_bss_2DA, lbl_1_bss_2C0[2]); + Hu3DModelAttrSet(lbl_1_bss_2D0, 0x40000002); + temp_f29 = Hu3DMotionTimeGet(lbl_1_bss_2D0); + temp_f28 = Hu3DMotionMaxTimeGet(lbl_1_bss_2D0); + if(GWPlayerCfg[lbl_1_bss_2DC].iscom) { + temp_r27 = frandmod(100)+20; + } + while(1) { + temp_r26 = HuPadBtnDown[lbl_1_bss_2D8]; + temp_r23 = HuPadBtn[lbl_1_bss_2D8]; + temp_r25 = HuPadStkY[lbl_1_bss_2D8]; + if(GWPlayerCfg[lbl_1_bss_2DC].iscom) { + temp_r23 = 0; + if(temp_r27 != 0) { + temp_r27--; + temp_r25 = -72; + } else { + temp_r26 = PAD_BUTTON_A; + } + } + if((temp_r26 & PAD_BUTTON_A) && lbl_1_bss_788[arg0] > 0) { + break; + } + if(HuPadTrigR[lbl_1_bss_2D8] > 10) { + if(temp_f31 < 90.0f) { + temp_f31 += 5.0f; + } + fn_1_8180(arg0+2); + } else { + fn_1_8180(0); + if(temp_f31 > 0.0f) { + temp_f31 -= 5.0f; + } + } + for(temp_r31=0; temp_r31<3; temp_r31++) { + lbl_1_bss_34C[temp_r31].y = 80.0-(150.0*sind(temp_f31)); + } + temp_f30 = -(temp_r25 >> 3); + temp_f30 /= 20.0f; + if(temp_f30) { + if(temp_f30+lbl_1_bss_788[arg0] < 0.0f) { + temp_f30 = -lbl_1_bss_788[arg0]; + } else { + if(temp_f30+lbl_1_bss_788[arg0] > 50.0f) { + temp_f30 = 50.0f-lbl_1_bss_788[arg0]; + } + } + temp_f29 += temp_f30; + if(temp_f29 >= temp_f28) { + temp_f29 -= temp_f28; + } + } else { + temp_f30 = -0.3f; + if(temp_f30+lbl_1_bss_788[arg0] < 0.0f) { + temp_f30 = -lbl_1_bss_788[arg0]; + } + } + Hu3DMotionTimeSet(lbl_1_bss_2D0, temp_f29); + lbl_1_bss_788[arg0] += temp_f30; + Hu3DModelPosSet(lbl_1_bss_2D0, 124, 0, 70+lbl_1_bss_788[arg0]); + for(temp_r31=0; temp_r31<5; temp_r31++) { + if(arg0 == lbl_1_data_2C8[temp_r31]) { + fn_1_ABD0(temp_r31, arg0); + } + } + HuPrcVSleep(); + } + if(temp_f31 > 0) { + fn_1_8180(0); + for(temp_r28=0; temp_r28<10; temp_r28++) { + temp_f31 -= 10.0f; + if(temp_f31 < 0.0f) { + temp_f31 = 0.0f; + } + for(temp_r31=0; temp_r31<3; temp_r31++) { + lbl_1_bss_34C[temp_r31].y = 80.0-(150.0*sind(temp_f31)); + } + if(temp_f31 == 0.0f) { + break; + } + HuPrcVSleep(); + } + } + CharModelMotionShiftSet(lbl_1_bss_2DA, lbl_1_bss_2C0[3], 0, 8, 0x0); + HuPrcSleep(4); + temp_r24 = lbl_1_bss_788[arg0]/4; + lbl_1_bss_1888.y = (-15-temp_r24)+(0.1*(float)frandmod(10)); + lbl_1_bss_788[arg0] = 0; + HuWinExCleanup(temp_r29); + HuAudFXPlay(1852); } void fn_1_9CAC(s16 arg0, s16 arg1) { - Mtx sp38; - Mtx sp8; - ModelData *temp_r29; - - Hu3DMotionSet(lbl_1_bss_199C2[arg0 + 58], lbl_1_bss_1990E[63]); - Hu3DModelAttrSet(lbl_1_bss_199C2[arg0 + 58], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(lbl_1_bss_199C2[64], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_199C2[64], HU3D_MOTATTR_LOOP); - Hu3DMotionTimeSet(lbl_1_bss_199C2[64], 0); - MTXTrans(sp8, 0, -150, 0); - if (arg0 == 0) { - switch (arg1) { - case 0: - Hu3DModelObjMtxGet(lbl_1_bss_199C2[3], "d1_itemhook1", sp38); - break; - - case 1: - Hu3DModelObjMtxGet(lbl_1_bss_199C2[3], "d1_itemhook2", sp38); - break; - - case 2: - Hu3DModelObjMtxGet(lbl_1_bss_199C2[3], "d1_itemhook3", sp38); - break; - - case 3: - Hu3DModelObjMtxGet(lbl_1_bss_199C2[3], "d1_itemhook4", sp38); - break; - } - } - else if (arg0 == 1) { - switch (arg1) { - case 0: - Hu3DModelObjMtxGet(lbl_1_bss_199C2[5], "d2_itemhook1", sp38); - break; - - case 1: - Hu3DModelObjMtxGet(lbl_1_bss_199C2[5], "d2_itemhook2", sp38); - break; - - case 2: - Hu3DModelObjMtxGet(lbl_1_bss_199C2[5], "d2_itemhook3", sp38); - break; - } - } - else { - switch (arg1) { - case 0: - Hu3DModelObjMtxGet(lbl_1_bss_199C2[7], "d3_itemhook1", sp38); - break; - - case 1: - Hu3DModelObjMtxGet(lbl_1_bss_199C2[7], "d3_itemhook4", sp38); - break; - - case 2: - Hu3DModelObjMtxGet(lbl_1_bss_199C2[7], "d3_itemhook2", sp38); - break; - - case 3: - Hu3DModelObjMtxGet(lbl_1_bss_199C2[7], "d3_itemhook7", sp38); - break; - - case 4: - Hu3DModelObjMtxGet(lbl_1_bss_199C2[7], "d3_itemhook6", sp38); - break; - - case 5: - Hu3DModelObjMtxGet(lbl_1_bss_199C2[7], "d3_itemhook3", sp38); - break; - - case 6: - Hu3DModelObjMtxGet(lbl_1_bss_199C2[7], "d3_itemhook5", sp38); - break; - } - mtxScaleCat(sp8, 0.8, 1, 0.8); - } - temp_r29 = &Hu3DData[lbl_1_bss_199C2[64]]; - MTXConcat(sp38, sp8, sp38); - MTXCopy(sp38, temp_r29->unk_F0); + Mtx sp38; + Mtx sp8; + ModelData *temp_r29; + + Hu3DMotionSet(lbl_1_bss_199C2[arg0+58], lbl_1_bss_1990E[63]); + Hu3DModelAttrSet(lbl_1_bss_199C2[arg0+58], 0x40000001); + Hu3DModelAttrReset(lbl_1_bss_199C2[64], 0x1); + Hu3DModelAttrSet(lbl_1_bss_199C2[64], 0x40000001); + Hu3DMotionTimeSet(lbl_1_bss_199C2[64], 0); + MTXTrans(sp8, 0, -150, 0); + if(arg0 == 0) { + switch(arg1) { + case 0: + Hu3DModelObjMtxGet(lbl_1_bss_199C2[3], "d1_itemhook1", sp38); + break; + + case 1: + Hu3DModelObjMtxGet(lbl_1_bss_199C2[3], "d1_itemhook2", sp38); + break; + + case 2: + Hu3DModelObjMtxGet(lbl_1_bss_199C2[3], "d1_itemhook3", sp38); + break; + + case 3: + Hu3DModelObjMtxGet(lbl_1_bss_199C2[3], "d1_itemhook4", sp38); + break; + } + } else if(arg0 == 1) { + switch(arg1) { + case 0: + Hu3DModelObjMtxGet(lbl_1_bss_199C2[5], "d2_itemhook1", sp38); + break; + + case 1: + Hu3DModelObjMtxGet(lbl_1_bss_199C2[5], "d2_itemhook2", sp38); + break; + + case 2: + Hu3DModelObjMtxGet(lbl_1_bss_199C2[5], "d2_itemhook3", sp38); + break; + } + } else { + switch(arg1) { + case 0: + Hu3DModelObjMtxGet(lbl_1_bss_199C2[7], "d3_itemhook1", sp38); + break; + + case 1: + Hu3DModelObjMtxGet(lbl_1_bss_199C2[7], "d3_itemhook4", sp38); + break; + + case 2: + Hu3DModelObjMtxGet(lbl_1_bss_199C2[7], "d3_itemhook2", sp38); + break; + + case 3: + Hu3DModelObjMtxGet(lbl_1_bss_199C2[7], "d3_itemhook7", sp38); + break; + + case 4: + Hu3DModelObjMtxGet(lbl_1_bss_199C2[7], "d3_itemhook6", sp38); + break; + + case 5: + Hu3DModelObjMtxGet(lbl_1_bss_199C2[7], "d3_itemhook3", sp38); + break; + + case 6: + Hu3DModelObjMtxGet(lbl_1_bss_199C2[7], "d3_itemhook5", sp38); + break; + } + mtxScaleCat(sp8, 0.8, 1, 0.8); + } + temp_r29 = &Hu3DData[lbl_1_bss_199C2[64]]; + MTXConcat(sp38, sp8, sp38); + MTXCopy(sp38, temp_r29->unk_F0); } void fn_1_A060(void) { - s16 temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - Vec sp20; - Vec sp14; - float sp8[3] = { 0, 40, 60 }; - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - lbl_1_bss_34C[temp_r30].y = -100; - lbl_1_bss_34C[temp_r30].z = 200; - lbl_1_bss_328[temp_r30].x = lbl_1_bss_328[temp_r30].y = lbl_1_bss_328[temp_r30].z = 0.3f; - Hu3DModelAttrReset(lbl_1_bss_199C2[temp_r30 + 71], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_199C2[temp_r30 + 71], HU3D_MOTATTR_LOOP); - } - lbl_1_bss_34C[0].x = 188; - lbl_1_bss_34C[1].x = 388; - lbl_1_bss_34C[2].x = 288; - temp_r29 = temp_r27 = 0; - while (1) { - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - sp14 = lbl_1_bss_34C[temp_r30]; - sp14.y += 5.0 * sind(sp8[temp_r30]); - Hu3D2Dto3D(&sp14, 1, &sp20); - Hu3DModelPosSet(lbl_1_bss_199C2[temp_r30 + 71], sp20.x, sp20.y, sp20.z); - Hu3DModelRotSet(lbl_1_bss_199C2[temp_r30 + 71], lbl_1_bss_2A8[0].x, lbl_1_bss_2A8[0].y, lbl_1_bss_2A8[0].z); - Hu3DModelScaleSet( - lbl_1_bss_199C2[temp_r30 + 71], lbl_1_bss_328[temp_r30].x / 2.0, lbl_1_bss_328[temp_r30].y / 2.0, lbl_1_bss_328[temp_r30].z / 2.0); - switch (temp_r30) { - case 0: - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - Hu3DModelScaleSet(lbl_1_bss_199C2[temp_r31 + 74], lbl_1_bss_328[temp_r30].x * 1.2, lbl_1_bss_328[temp_r30].y * 1.2, - lbl_1_bss_328[temp_r30].z * 1.2); - } - if (lbl_1_bss_2D6 != -2) { - if (lbl_1_bss_2D6 == -1) { - if ((temp_r27 & 0x7) == 0 && (++temp_r29) >= 4) { - temp_r29 = 0; - } - temp_r27++; - temp_r28 = lbl_1_bss_199C2[temp_r29 + 74]; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - Hu3DModelAttrSet(lbl_1_bss_199C2[temp_r31 + 74], HU3D_ATTR_DISPOFF); - } - Hu3DModelAttrReset(temp_r28, HU3D_ATTR_DISPOFF); - } - else { - temp_r28 = lbl_1_bss_199C2[lbl_1_bss_2D6 + 74]; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - Hu3DModelAttrSet(lbl_1_bss_199C2[temp_r31 + 74], HU3D_ATTR_DISPOFF); - } - Hu3DModelAttrReset(temp_r28, HU3D_ATTR_DISPOFF); - } - Hu3DModelPosSet(temp_r28, sp20.x, sp20.y, sp20.z); - Hu3DModelRotSet(temp_r28, 90.0f + lbl_1_bss_2A8[0].x, lbl_1_bss_2A8[0].y, lbl_1_bss_2A8[0].z); - } - break; - - case 1: - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - if (temp_r31 == lbl_1_bss_2D6) { - continue; - } - Hu3DModelScaleSet(lbl_1_bss_199C2[temp_r31 + 74], lbl_1_bss_328[temp_r30].x * 1.2, lbl_1_bss_328[temp_r30].y * 1.2, - lbl_1_bss_328[temp_r30].z * 1.2); - } - if (lbl_1_bss_2D4 != -2) { - if (lbl_1_bss_2D4 == -1) { - if ((temp_r27 & 0x7) == 0) { - temp_r29++; - if (temp_r29 == lbl_1_bss_2D6) { - temp_r29++; - } - if (temp_r29 >= 4) { - temp_r29 = 0; - if (lbl_1_bss_2D6 == 0) { - temp_r29++; - } - } - } - else { - if (temp_r29 == lbl_1_bss_2D6) { - temp_r29++; - if (temp_r29 >= 4) { - temp_r29 = 0; - } - } - } - temp_r27++; - temp_r28 = lbl_1_bss_199C2[temp_r29 + 74]; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - if (temp_r31 != lbl_1_bss_2D6) { - Hu3DModelAttrSet(lbl_1_bss_199C2[temp_r31 + 74], HU3D_ATTR_DISPOFF); - } - } - Hu3DModelAttrReset(temp_r28, HU3D_ATTR_DISPOFF); - } - else { - temp_r28 = lbl_1_bss_199C2[lbl_1_bss_2D4 + 74]; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - if (temp_r31 != lbl_1_bss_2D6) { - Hu3DModelAttrSet(lbl_1_bss_199C2[temp_r31 + 74], HU3D_ATTR_DISPOFF); - } - } - Hu3DModelAttrReset(temp_r28, HU3D_ATTR_DISPOFF); - } - Hu3DModelPosSet(temp_r28, sp20.x, sp20.y, sp20.z); - Hu3DModelRotSet(temp_r28, 90.0f + lbl_1_bss_2A8[0].x, lbl_1_bss_2A8[0].y, lbl_1_bss_2A8[0].z); - } - break; - - case 2: - for (temp_r31 = 0; temp_r31 < 7; temp_r31++) { - Hu3DModelScaleSet(lbl_1_bss_199C2[temp_r31 + 78], lbl_1_bss_328[temp_r30].x * 1.2, lbl_1_bss_328[temp_r30].y * 1.2, - lbl_1_bss_328[temp_r30].z * 1.2); - } - if (lbl_1_bss_2D2 != -2) { - if (lbl_1_bss_2D2 == -1) { - if ((temp_r27 & 0x7) == 0 && (++temp_r29) >= 7) { - temp_r29 = 0; - } - temp_r27++; - temp_r28 = lbl_1_bss_199C2[temp_r29 + 78]; - for (temp_r31 = 0; temp_r31 < 7; temp_r31++) { - Hu3DModelAttrSet(lbl_1_bss_199C2[temp_r31 + 78], HU3D_ATTR_DISPOFF); - } - Hu3DModelAttrReset(temp_r28, HU3D_ATTR_DISPOFF); - } - else { - temp_r28 = lbl_1_bss_199C2[lbl_1_bss_2D2 + 78]; - for (temp_r31 = 0; temp_r31 < 7; temp_r31++) { - Hu3DModelAttrSet(lbl_1_bss_199C2[temp_r31 + 78], HU3D_ATTR_DISPOFF); - } - Hu3DModelAttrReset(temp_r28, HU3D_ATTR_DISPOFF); - } - Hu3DModelPosSet(temp_r28, sp20.x, sp20.y, sp20.z); - Hu3DModelRotSet(temp_r28, 90.0f + lbl_1_bss_2A8[0].x, lbl_1_bss_2A8[0].y, lbl_1_bss_2A8[0].z); - } - break; - } - sp8[temp_r30] += 4.0 * (1.0 + (temp_r30 * 0.05)); - if (sp8[temp_r30] > 360.0f) { - sp8[temp_r30] -= 360.0f; - } - } - HuPrcVSleep(); - } + s16 temp_r31; + s16 temp_r30; + s16 temp_r29; + s16 temp_r28; + s16 temp_r27; + Vec sp20; + Vec sp14; + float sp8[3] = { 0, 40, 60 }; + for(temp_r30=0; temp_r30<3; temp_r30++) { + lbl_1_bss_34C[temp_r30].y = -100; + lbl_1_bss_34C[temp_r30].z = 200; + lbl_1_bss_328[temp_r30].x = lbl_1_bss_328[temp_r30].y = lbl_1_bss_328[temp_r30].z = 0.3f; + Hu3DModelAttrReset(lbl_1_bss_199C2[temp_r30+71], 1); + Hu3DModelAttrSet(lbl_1_bss_199C2[temp_r30+71], 0x40000001); + } + lbl_1_bss_34C[0].x = 188; + lbl_1_bss_34C[1].x = 388; + lbl_1_bss_34C[2].x = 288; + temp_r29 = temp_r27 = 0; + while(1) { + for(temp_r30=0; temp_r30<3; temp_r30++) { + sp14 = lbl_1_bss_34C[temp_r30]; + sp14.y += 5.0*sind(sp8[temp_r30]); + Hu3D2Dto3D(&sp14, 1, &sp20); + Hu3DModelPosSet(lbl_1_bss_199C2[temp_r30+71], sp20.x, sp20.y, sp20.z); + Hu3DModelRotSet(lbl_1_bss_199C2[temp_r30+71], lbl_1_bss_2A8[0].x , lbl_1_bss_2A8[0].y, lbl_1_bss_2A8[0].z); + Hu3DModelScaleSet(lbl_1_bss_199C2[temp_r30+71], lbl_1_bss_328[temp_r30].x/2.0, lbl_1_bss_328[temp_r30].y/2.0, lbl_1_bss_328[temp_r30].z/2.0); + switch(temp_r30) { + case 0: + for(temp_r31=0; temp_r31<4; temp_r31++) { + Hu3DModelScaleSet(lbl_1_bss_199C2[temp_r31+74], lbl_1_bss_328[temp_r30].x*1.2, lbl_1_bss_328[temp_r30].y*1.2, lbl_1_bss_328[temp_r30].z*1.2); + } + if(lbl_1_bss_2D6 != -2) { + if(lbl_1_bss_2D6 == -1) { + if((temp_r27 & 0x7) == 0 && (++temp_r29) >= 4) { + temp_r29 = 0; + } + temp_r27++; + temp_r28 = lbl_1_bss_199C2[temp_r29+74]; + for(temp_r31=0; temp_r31<4; temp_r31++) { + Hu3DModelAttrSet(lbl_1_bss_199C2[temp_r31+74], 1); + } + Hu3DModelAttrReset(temp_r28, 1); + } else { + temp_r28 = lbl_1_bss_199C2[lbl_1_bss_2D6+74]; + for(temp_r31=0; temp_r31<4; temp_r31++) { + Hu3DModelAttrSet(lbl_1_bss_199C2[temp_r31+74], 1); + } + Hu3DModelAttrReset(temp_r28, 1); + } + Hu3DModelPosSet(temp_r28, sp20.x, sp20.y, sp20.z); + Hu3DModelRotSet(temp_r28, 90.0f+lbl_1_bss_2A8[0].x , lbl_1_bss_2A8[0].y, lbl_1_bss_2A8[0].z); + } + break; + + case 1: + for(temp_r31=0; temp_r31<4; temp_r31++) { + if(temp_r31 == lbl_1_bss_2D6) { + continue; + } + Hu3DModelScaleSet(lbl_1_bss_199C2[temp_r31+74], lbl_1_bss_328[temp_r30].x*1.2, lbl_1_bss_328[temp_r30].y*1.2, lbl_1_bss_328[temp_r30].z*1.2); + } + if(lbl_1_bss_2D4 != -2) { + if(lbl_1_bss_2D4 == -1) { + if((temp_r27 & 0x7) == 0) { + temp_r29++; + if(temp_r29 == lbl_1_bss_2D6) { + temp_r29++; + } + if(temp_r29 >= 4) { + temp_r29 = 0; + if(lbl_1_bss_2D6 == 0) { + temp_r29++; + } + } + + } else { + if(temp_r29 == lbl_1_bss_2D6) { + temp_r29++; + if(temp_r29 >= 4) { + temp_r29 = 0; + } + } + } + temp_r27++; + temp_r28 = lbl_1_bss_199C2[temp_r29+74]; + for(temp_r31=0; temp_r31<4; temp_r31++) { + if(temp_r31 != lbl_1_bss_2D6) { + Hu3DModelAttrSet(lbl_1_bss_199C2[temp_r31+74], 1); + } + + } + Hu3DModelAttrReset(temp_r28, 1); + } else { + temp_r28 = lbl_1_bss_199C2[lbl_1_bss_2D4+74]; + for(temp_r31=0; temp_r31<4; temp_r31++) { + if(temp_r31 != lbl_1_bss_2D6) { + Hu3DModelAttrSet(lbl_1_bss_199C2[temp_r31+74], 1); + } + + } + Hu3DModelAttrReset(temp_r28, 1); + } + Hu3DModelPosSet(temp_r28, sp20.x, sp20.y, sp20.z); + Hu3DModelRotSet(temp_r28, 90.0f+lbl_1_bss_2A8[0].x , lbl_1_bss_2A8[0].y, lbl_1_bss_2A8[0].z); + } + break; + + case 2: + for(temp_r31=0; temp_r31<7; temp_r31++) { + Hu3DModelScaleSet(lbl_1_bss_199C2[temp_r31+78], lbl_1_bss_328[temp_r30].x*1.2, lbl_1_bss_328[temp_r30].y*1.2, lbl_1_bss_328[temp_r30].z*1.2); + } + if(lbl_1_bss_2D2 != -2) { + if(lbl_1_bss_2D2 == -1) { + if((temp_r27 & 0x7) == 0 && (++temp_r29) >= 7) { + temp_r29 = 0; + } + temp_r27++; + temp_r28 = lbl_1_bss_199C2[temp_r29+78]; + for(temp_r31=0; temp_r31<7; temp_r31++) { + Hu3DModelAttrSet(lbl_1_bss_199C2[temp_r31+78], 1); + } + Hu3DModelAttrReset(temp_r28, 1); + } else { + temp_r28 = lbl_1_bss_199C2[lbl_1_bss_2D2+78]; + for(temp_r31=0; temp_r31<7; temp_r31++) { + Hu3DModelAttrSet(lbl_1_bss_199C2[temp_r31+78], 1); + } + Hu3DModelAttrReset(temp_r28, 1); + } + Hu3DModelPosSet(temp_r28, sp20.x, sp20.y, sp20.z); + Hu3DModelRotSet(temp_r28, 90.0f+lbl_1_bss_2A8[0].x , lbl_1_bss_2A8[0].y, lbl_1_bss_2A8[0].z); + } + break; + } + sp8[temp_r30] += 4.0*(1.0+(temp_r30*0.05)); + if(sp8[temp_r30] > 360.0f) { + sp8[temp_r30] -= 360.0f; + } + } + HuPrcVSleep(); + } + } void fn_1_ABD0(s16 arg0, s16 arg1) { - float temp_f31; - float temp_f30; - float temp_f29; - s16 *temp_r31; - s16 temp_r29; - s16 temp_r28; - Vec sp14; - Vec sp8; - temp_r31 = &lbl_1_bss_198F0[arg0][0]; - temp_r29 = lbl_1_bss_199C2[arg0 + 38]; - if (temp_r31[1] & 0x2) { - if (temp_r31[0] == 85) { - if (Hu3DMotionIDGet(temp_r29) != lbl_1_bss_1990E[45] && Hu3DMotionShiftIDGet(temp_r29) != lbl_1_bss_1990E[45]) { - Hu3DMotionShiftSet(temp_r29, lbl_1_bss_1990E[45], 0, 8, HU3D_MOTATTR_NONE); - } - } - else { - if (Hu3DMotionIDGet(temp_r29) != lbl_1_bss_1990E[46] && Hu3DMotionShiftIDGet(temp_r29) != lbl_1_bss_1990E[46]) { - Hu3DMotionShiftSet(temp_r29, lbl_1_bss_1990E[46], 0, 8, HU3D_MOTATTR_LOOP); - } - } - temp_r31[0]--; - if (temp_r31[0] <= 0) { - temp_r31[1] &= ~0x2; - temp_r31[1] |= 0x4; - temp_r31[0] = 20; - } - } - else { - if (temp_r31[1] & 0x4) { - if (Hu3DMotionIDGet(temp_r29) != lbl_1_bss_1990E[43] && Hu3DMotionShiftIDGet(temp_r29) != lbl_1_bss_1990E[43]) { - Hu3DMotionShiftSet(temp_r29, lbl_1_bss_1990E[43], 0, 16, HU3D_MOTATTR_LOOP); - } - temp_r31[0]--; - if (temp_r31[0] <= 0) { - temp_r31[1] &= ~0x4; - temp_r31[0] = frandmod(30) + 30; - } - } - else { - temp_r31[0]--; - if (temp_r31[0] <= 0) { - temp_r31[1] |= 4; - temp_r31[0] = 60; - } - else { - if (Hu3DMotionIDGet(temp_r29) != lbl_1_bss_1990E[44]) { - Hu3DMotionSet(temp_r29, lbl_1_bss_1990E[44]); - } - if (temp_r31[1] & 0x1) { - temp_f31 = -1; - temp_f30 = -90; - } - else { - temp_f31 = 1; - temp_f30 = 90; - } - sp8 = lbl_1_bss_18B4[arg0]; - sp8.x += temp_f31; - for (temp_r28 = 0; temp_r28 < 5; temp_r28++) { - if (temp_r28 == arg0 || lbl_1_bss_18A0[temp_r28] == 0) { - continue; - } - VECSubtract(&sp8, &lbl_1_bss_18B4[temp_r28], &sp14); - if (VECMag(&sp14) < 55.0f) { - break; - } - } - if (temp_r28 == 5) { - lbl_1_bss_18B4[arg0].x += temp_f31; - if (lbl_1_bss_18B4[arg0].x < lbl_1_data_2A0[(arg0 * 2)]) { - lbl_1_bss_18B4[arg0].x = lbl_1_data_2A0[(arg0 * 2)]; - temp_r31[1] ^= 0x1; - temp_r31[1] |= 0x4; - temp_r31[0] = 60; - } - if (lbl_1_bss_18B4[arg0].x > lbl_1_data_2A0[(arg0 * 2) + 1]) { - lbl_1_bss_18B4[arg0].x = lbl_1_data_2A0[(arg0 * 2) + 1]; - temp_r31[1] ^= 0x1; - temp_r31[1] |= 0x4; - temp_r31[0] = 60; - } - } - else { - temp_r31[1] ^= 0x1; - temp_r31[1] |= 0x4; - temp_r31[0] = 60; - } - } - } - } - lbl_1_bss_824[arg0].x = lbl_1_bss_18B4[arg0].x; - lbl_1_bss_824[arg0].y = 215; - lbl_1_bss_824[arg0].z = lbl_1_bss_18B4[arg0].y; + float temp_f31; + float temp_f30; + float temp_f29; + s16 *temp_r31; + s16 temp_r29; + s16 temp_r28; + Vec sp14; + Vec sp8; + temp_r31 = &lbl_1_bss_198F0[arg0][0]; + temp_r29 = lbl_1_bss_199C2[arg0+38]; + if(temp_r31[1] & 0x2) { + if(temp_r31[0] == 85) { + if(Hu3DMotionIDGet(temp_r29) != lbl_1_bss_1990E[45] && Hu3DMotionShiftIDGet(temp_r29) != lbl_1_bss_1990E[45]) { + Hu3DMotionShiftSet(temp_r29, lbl_1_bss_1990E[45], 0, 8, 0); + } + } else { + if(Hu3DMotionIDGet(temp_r29) != lbl_1_bss_1990E[46] && Hu3DMotionShiftIDGet(temp_r29) != lbl_1_bss_1990E[46]) { + Hu3DMotionShiftSet(temp_r29, lbl_1_bss_1990E[46], 0, 8, 0x40000001); + } + } + temp_r31[0]--; + if(temp_r31[0] <= 0) { + temp_r31[1] &= ~0x2; + temp_r31[1] |= 0x4; + temp_r31[0] = 20; + } + } else { + if(temp_r31[1] & 0x4) { + if(Hu3DMotionIDGet(temp_r29) != lbl_1_bss_1990E[43] && Hu3DMotionShiftIDGet(temp_r29) != lbl_1_bss_1990E[43]) { + Hu3DMotionShiftSet(temp_r29, lbl_1_bss_1990E[43], 0, 16, 0x40000001); + } + temp_r31[0]--; + if(temp_r31[0] <= 0) { + temp_r31[1] &= ~0x4; + temp_r31[0] = frandmod(30)+30; + } + } else { + temp_r31[0]--; + if(temp_r31[0] <= 0) { + temp_r31[1] |= 4; + temp_r31[0] = 60; + } else { + if(Hu3DMotionIDGet(temp_r29) != lbl_1_bss_1990E[44] ) { + Hu3DMotionSet(temp_r29, lbl_1_bss_1990E[44]); + } + if(temp_r31[1] & 0x1) { + temp_f31 = -1; + temp_f30 = -90; + } else { + temp_f31 = 1; + temp_f30 = 90; + } + sp8 = lbl_1_bss_18B4[arg0]; + sp8.x += temp_f31; + for(temp_r28=0; temp_r28<5; temp_r28++) { + if(temp_r28 == arg0 || lbl_1_bss_18A0[temp_r28] == 0) { + continue; + } + VECSubtract(&sp8, &lbl_1_bss_18B4[temp_r28], &sp14); + if(VECMag(&sp14) < 55.0f) { + break; + } + } + if(temp_r28 == 5) { + lbl_1_bss_18B4[arg0].x += temp_f31; + if(lbl_1_bss_18B4[arg0].x < lbl_1_data_2A0[(arg0*2)]) { + lbl_1_bss_18B4[arg0].x = lbl_1_data_2A0[(arg0*2)]; + temp_r31[1] ^= 0x1; + temp_r31[1] |= 0x4; + temp_r31[0] = 60; + } + if(lbl_1_bss_18B4[arg0].x > lbl_1_data_2A0[(arg0*2)+1]) { + lbl_1_bss_18B4[arg0].x = lbl_1_data_2A0[(arg0*2)+1]; + temp_r31[1] ^= 0x1; + temp_r31[1] |= 0x4; + temp_r31[0] = 60; + } + } else { + temp_r31[1] ^= 0x1; + temp_r31[1] |= 0x4; + temp_r31[0] = 60; + } + } + } + } + lbl_1_bss_824[arg0].x = lbl_1_bss_18B4[arg0].x; + lbl_1_bss_824[arg0].y = 215; + lbl_1_bss_824[arg0].z = lbl_1_bss_18B4[arg0].y; } -s16 lbl_1_data_3A4[] = { 4, 3, 7 }; - -Vec lbl_1_data_3AC[] = { { -118.75, -70, 0 }, { -56.25, -70, 0 }, { 6.25, -70, 0 }, { 68.75, -70, 0 } }; - -Vec lbl_1_data_3DC[] = { - { -108.35, -70, 0 }, - { -25.05, -70, 0 }, - { 58.25, -70, 0 }, +s16 lbl_1_data_3A4[] = { + 4, 3, 7 }; -Vec lbl_1_data_400[] = { { -125, -70, 0 }, { -75, -70, 0 }, { -25, -70, 0 }, { 25, -70, 0 }, { 75, -70, 0 }, { -85, -190, 0 }, { 35, -190, 0 } }; +Vec lbl_1_data_3AC[] = { + { -118.75, -70, 0}, + { -56.25, -70, 0 }, + { 6.25, -70, 0 }, + { 68.75, -70, 0} +}; -Vec *lbl_1_data_454[] = { lbl_1_data_3AC, lbl_1_data_3DC, lbl_1_data_400 }; +Vec lbl_1_data_3DC[] = { + { -108.35, -70, 0}, + { -25.05, -70, 0 }, + { 58.25, -70, 0 }, +}; + +Vec lbl_1_data_400[] = { + { -125, -70, 0 }, + { -75, -70, 0 }, + { -25, -70, 0 }, + { 25, -70, 0 }, + { 75, -70, 0 }, + { -85, -190, 0 }, + { 35, -190, 0 } +}; + +Vec *lbl_1_data_454[] = { + lbl_1_data_3AC, + lbl_1_data_3DC, + lbl_1_data_400 +}; Vec *fn_1_CA30(Vec *arg0, Vec *arg1, Vec *arg2); @@ -716,509 +724,478 @@ float fn_1_CB70(Vec *arg0, Vec *arg1, Vec *arg2); s16 fn_1_B1E8(Vec *arg0, Vec *arg1, s16 arg2) { - Vec sp4C; - Vec sp40; - Vec sp34; - Vec sp28; - Vec sp1C; - Vec sp10; - s32 spC; - - float temp_f31; - float temp_f30; - float temp_f28; - float temp_f27; - - s16 temp_r30; - Vec *temp_r28; - s32 temp_r27; - Vec *temp_r25; - u8 temp_r24; - - s16 temp_r23 = -1; - spC = 1; - temp_f28 = VECMag(arg1); - sp1C = *arg1; - temp_r27 = 0; - sp10 = *arg0; - temp_r24 = lbl_1_bss_310 - 120; - for (temp_r30 = temp_f30 = 0; temp_r30 < 120; temp_r30++, temp_r24++) { - temp_f30 += lbl_1_bss_370[temp_r24]; - } - if (temp_f30 < 120.0f * sqrtf(6.0f)) { - lbl_1_bss_312 = 10; - } - while (temp_f28 > 0.0f) { - if (temp_f28 > 3.0f) { - temp_f28 -= 3.0f; - temp_f31 = 3.0f; - } - else { - temp_f31 = temp_f28; - temp_f28 = 0; - } - VECNormalize(&sp1C, &sp1C); - VECScale(&sp1C, &sp1C, temp_f31); - VECAdd(arg0, &sp1C, &sp4C); - temp_f31 = VECMag(&sp1C); - if (lbl_1_bss_312 == 0) { - for (temp_r30 = 0; temp_r30 < 5; temp_r30++) { - if (lbl_1_bss_18A0[temp_r30] == 0) { - continue; - } - VECSubtract(&sp4C, &lbl_1_bss_18B4[temp_r30], &sp34); - temp_f30 = VECMag(&sp34); - if (temp_f30 < 33.0) { - VECNormalize(&sp34, &sp34); - VECScale(&sp34, &sp28, 33.0f); - VECAdd(&lbl_1_bss_18B4[temp_r30], &sp28, &sp4C); - VECScale(&sp1C, &sp28, -1.0f); - temp_f27 = (sp28.x * sp34.x) + (sp28.y * sp34.y); - sp34.x = (2.0 * sp34.x * temp_f27) - sp28.x; - sp34.y = (2.0 * sp34.y * temp_f27) - sp28.y; - sp34.z = 0; - VECNormalize(&sp34, &sp34); - VECScale(&sp34, &sp1C, temp_f31); - VECAdd(&sp4C, &sp1C, &sp34); - temp_f30 = VECSquareDistance(&sp34, &lbl_1_bss_18B4[temp_r30]); - if (temp_f30 < 1089.0) { - VECScale(&sp1C, &sp1C, -1.0f); - } - lbl_1_bss_198F0[temp_r30][1] = 2; - lbl_1_bss_198F0[temp_r30][0] = 100; - temp_r27 = 1; - } - } - } - else { - lbl_1_bss_312--; - } - for (temp_r30 = 0; temp_r30 < lbl_1_bss_1884; temp_r30++) { - if (VECSquareDistance(&lbl_1_bss_D8F0[temp_r30], &sp4C) <= 169.0f) { - VECSubtract(&sp4C, &lbl_1_bss_D8F0[temp_r30], &sp34); - VECNormalize(&sp34, &sp34); - VECScale(&sp34, &sp34, 13.05f); - VECAdd(&lbl_1_bss_D8F0[temp_r30], &sp34, &sp4C); - VECScale(arg1, arg1, 0.96f); - temp_r27 = 1; - } - else { - if (VECSquareDistance(&lbl_1_bss_18F0[temp_r30], &sp4C) <= 169.0f) { - VECSubtract(&sp4C, &lbl_1_bss_18F0[temp_r30], &sp34); - VECNormalize(&sp34, &sp34); - VECScale(&sp34, &sp34, 13.05f); - VECAdd(&lbl_1_bss_18F0[temp_r30], &sp34, &sp4C); - VECScale(arg1, arg1, 0.96f); - temp_r27 = 1; - } - else { - continue; - } - } - *arg0 = sp4C; - break; - } - if (temp_f31 == 0.0) { - continue; - } - for (temp_r30 = 0; temp_r30 < lbl_1_bss_1884; temp_r30++) { - VECSubtract(&lbl_1_bss_18F0[temp_r30], &lbl_1_bss_D8F0[temp_r30], &sp40); - temp_f30 = fn_1_CB70(&sp4C, &lbl_1_bss_D8F0[temp_r30], &sp40); - if (temp_f30 < 13.0f) { - temp_r25 = fn_1_CA30(&sp4C, &lbl_1_bss_D8F0[temp_r30], &sp40); - if (VECSquareDistance(&lbl_1_bss_D8F0[temp_r30], &sp4C) >= 169.0f && VECSquareDistance(&lbl_1_bss_18F0[temp_r30], &sp4C) >= 169.0f) { - VECSubtract(temp_r25, &lbl_1_bss_D8F0[temp_r30], &sp34); - if (VECMag2Point(&sp34) > VECMag2Point(&sp40)) { - continue; - } - VECSubtract(temp_r25, &lbl_1_bss_18F0[temp_r30], &sp34); - if (VECMag2Point(&sp34) > VECMag2Point(&sp40)) { - continue; - } - } - VECSubtract(&sp4C, temp_r25, &sp34); - VECNormalize(&sp34, &sp34); - VECScale(&sp34, &sp34, 13.0f); - VECAdd(temp_r25, &sp34, &sp4C); - VECSubtract(arg0, &sp4C, &sp34); - *arg0 = sp4C; - temp_f31 -= VECMag(&sp34); - if (temp_f31 < 0.0f) { - temp_f28 -= temp_f31; - temp_f31 = ABS(temp_f31); -#if VERSION_REV1 - if (temp_f31 == 0.0) { - sp1C.x = sp1C.y = sp1C.z = 0.0f; - break; - } -#endif - } - sp34 = sp40; - sp34.z = 1; - VECCrossProduct(&sp34, &sp40, &sp34); - VECNormalize(&sp34, &sp34); - VECScale(&sp1C, &sp28, -1.0f); - temp_f27 = (sp28.x * sp34.x) + (sp28.y * sp34.y); - sp34.x = (1.5 * sp34.x * temp_f27) - sp28.x; - sp34.y = (1.5 * sp34.y * temp_f27) - sp28.y; - sp34.z = 0; - VECNormalize(&sp34, &sp34); - VECScale(&sp34, &sp1C, temp_f31); - lbl_1_bss_884[temp_r30] = 10; - VECScale(arg1, arg1, 0.96f); - VECNormalize(&sp1C, &sp34); - VECNormalize(arg1, &sp28); - if (VECDotProduct(&sp34, &sp28) < 0.5) { - temp_r27 = 1; - } - } - } - VECAdd(arg0, &sp1C, arg0); - if (arg0->x >= lbl_1_bss_77C.x - 13.0f) { - arg0->x = lbl_1_bss_77C.x - 13.0f - 1.0f; - } - if (arg0->y >= lbl_1_bss_77C.y - 13.0f) { - arg0->y = lbl_1_bss_77C.y - 13.0f - 1.0f; - } - if (arg0->x <= lbl_1_bss_770.x + 13.0f) { - arg0->x = lbl_1_bss_770.x + 13.0f + 1.0f; - } - if (arg0->y <= lbl_1_bss_770.y + 13.0f) { - arg0->y = lbl_1_bss_770.y + 13.0f + 1.0f; - } - } - temp_f31 = VECMag(arg1); -#if VERSION_REV1 - if (VECMag(&sp1C) == 0.0) { - sp1C.x = 0.0f; - sp1C.y = 1.0f; - sp1C.z = 0.0f; - } -#endif - VECNormalize(&sp1C, &sp1C); - VECScale(&sp1C, arg1, temp_f31); - if (temp_r27 != 0) { - HuAudFXPlay(1853); - } - if (arg2 < 0 || arg2 >= 3) { - arg2 = 0; - } - temp_r28 = lbl_1_data_454[arg2]; - for (temp_r30 = 0; temp_r30 < lbl_1_data_3A4[arg2]; temp_r30++, temp_r28++) { - VECSubtract(temp_r28, arg0, &sp34); - temp_f30 = VECMag(&sp34); - if (temp_f30 < 3.0f && VECMag(arg1) < 1.0f) { - arg1->x = arg1->y = arg1->z = 0.0f; - *arg0 = *temp_r28; - temp_r23 = temp_r30; - break; - } - if (temp_f30 < 20.0f -#if VERSION_REV1 - && !(temp_f30 < 0.000001) -#endif - ) { - VECScale(arg1, arg1, 0.9f); - VECNormalize(&sp34, &sp34); - VECScale(&sp34, &sp34, 0.1 * (20.0f - temp_f30)); - VECAdd(arg1, &sp34, arg1); - break; - } - } - if (temp_r30 == lbl_1_data_3A4[arg2]) { - arg1->y += 0.3; -#if VERSION_REV1 - if (VECMag((Vec *)&arg1) < 0.000001) { - arg1->y += 0.3; - } -#endif - } - if (arg0->x >= lbl_1_bss_77C.x - 13.0f) { - arg0->x = lbl_1_bss_77C.x - 13.0f - 1.0f; - } - if (arg0->y >= lbl_1_bss_77C.y - 13.0f) { - arg0->y = lbl_1_bss_77C.y - 13.0f - 1.0f; - } - if (arg0->x <= lbl_1_bss_770.x + 13.0f) { - arg0->x = lbl_1_bss_770.x + 13.0f + 1.0f; - } - if (arg0->y <= lbl_1_bss_770.y + 13.0f) { - arg0->y = lbl_1_bss_770.y + 13.0f + 1.0f; - } - VECSubtract(arg0, &sp10, &sp34); - lbl_1_bss_370[lbl_1_bss_310++] = VECMag(&sp34); - return temp_r23; + float temp_f31; + float temp_f30; + float temp_f28; + float temp_f27; + + s16 temp_r30; + Vec *temp_r28; + s32 temp_r27; + Vec *temp_r25; + u8 temp_r24; + s16 temp_r23; + Vec sp4C; + + Vec sp40; + Vec sp34; + Vec sp28; + Vec sp1C; + Vec sp10; + s32 spC; + + temp_r23 = -1; + spC = 1; + temp_f28 = VECMag(arg1); + sp1C = *arg1; + temp_r27 = 0; + sp10 = *arg0; + temp_r24 = lbl_1_bss_310-120; + for(temp_r30=temp_f30=0; temp_r30<120; temp_r30++, temp_r24++) { + temp_f30 += lbl_1_bss_370[temp_r24]; + } + if(temp_f30 < 120.0f*sqrtf(6.0f)) { + lbl_1_bss_312 = 10; + } + while(temp_f28 > 0.0f) { + if(temp_f28 > 3.0f) { + temp_f28 -= 3.0f; + temp_f31 = 3.0f; + } else { + temp_f31 = temp_f28; + temp_f28 = 0; + } + VECNormalize(&sp1C, &sp1C); + VECScale(&sp1C, &sp1C, temp_f31); + VECAdd(arg0, &sp1C, &sp4C); + temp_f31 = VECMag(&sp1C); + if(lbl_1_bss_312 == 0) { + for(temp_r30=0; temp_r30<5; temp_r30++) { + if(lbl_1_bss_18A0[temp_r30] == 0) { + continue; + } + VECSubtract(&sp4C, &lbl_1_bss_18B4[temp_r30], &sp34); + temp_f30 = VECMag(&sp34); + if(temp_f30 < 33.0) { + VECNormalize(&sp34, &sp34); + VECScale(&sp34, &sp28, 33.0f); + VECAdd(&lbl_1_bss_18B4[temp_r30], &sp28, &sp4C); + VECScale(&sp1C, &sp28, -1.0f); + temp_f27 = (sp28.x*sp34.x)+(sp28.y*sp34.y); + sp34.x = (2.0*sp34.x*temp_f27)-sp28.x; + sp34.y = (2.0*sp34.y*temp_f27)-sp28.y; + sp34.z = 0; + VECNormalize(&sp34, &sp34); + VECScale(&sp34, &sp1C, temp_f31); + VECAdd(&sp4C, &sp1C, &sp34); + temp_f30 = VECSquareDistance(&sp34, &lbl_1_bss_18B4[temp_r30]); + if(temp_f30 < 1089.0) { + VECScale(&sp1C, &sp1C, -1.0f); + } + lbl_1_bss_198F0[temp_r30][1] = 2; + lbl_1_bss_198F0[temp_r30][0] = 100; + temp_r27 = 1; + } + } + } else { + lbl_1_bss_312--; + } + for(temp_r30=0; temp_r30= 169.0f && VECSquareDistance(&lbl_1_bss_18F0[temp_r30], &sp4C) >= 169.0f) { + VECSubtract(temp_r25, &lbl_1_bss_D8F0[temp_r30], &sp34); + if(VECMag2Point(&sp34) > VECMag2Point(&sp40)) { + continue; + } + VECSubtract(temp_r25, &lbl_1_bss_18F0[temp_r30], &sp34); + if(VECMag2Point(&sp34) > VECMag2Point(&sp40)) { + continue; + } + } + VECSubtract(&sp4C, temp_r25, &sp34); + VECNormalize(&sp34, &sp34); + VECScale(&sp34, &sp34, 13.0f); + VECAdd(temp_r25, &sp34, &sp4C); + VECSubtract(arg0, &sp4C, &sp34); + *arg0 = sp4C; + temp_f31 -= VECMag(&sp34); + if(temp_f31 < 0.0f) { + temp_f28 -= temp_f31; + temp_f31 = ABS(temp_f31); + } + sp34 = sp40; + sp34.z = 1; + VECCrossProduct(&sp34, &sp40, &sp34); + VECNormalize(&sp34, &sp34); + VECScale(&sp1C, &sp28, -1.0f); + temp_f27 = (sp28.x*sp34.x)+(sp28.y*sp34.y); + sp34.x = (1.5*sp34.x*temp_f27)-sp28.x; + sp34.y = (1.5*sp34.y*temp_f27)-sp28.y; + sp34.z = 0; + VECNormalize(&sp34, &sp34); + VECScale(&sp34, &sp1C, temp_f31); + lbl_1_bss_884[temp_r30] = 10; + VECScale(arg1, arg1, 0.96f); + VECNormalize(&sp1C, &sp34); + VECNormalize(arg1, &sp28); + if(VECDotProduct(&sp34, &sp28) < 0.5) { + temp_r27 = 1; + } + } + } + VECAdd(arg0, &sp1C, arg0); + if(arg0->x >= lbl_1_bss_77C.x-13.0f) { + arg0->x = lbl_1_bss_77C.x-13.0f-1.0f; + } + if(arg0->y >= lbl_1_bss_77C.y-13.0f) { + arg0->y = lbl_1_bss_77C.y-13.0f-1.0f; + } + if(arg0->x <= lbl_1_bss_770.x+13.0f) { + arg0->x = lbl_1_bss_770.x+13.0f+1.0f; + } + if(arg0->y <= lbl_1_bss_770.y+13.0f) { + arg0->y = lbl_1_bss_770.y+13.0f+1.0f; + } + } + temp_f31 = VECMag(arg1); + VECNormalize(&sp1C, &sp1C); + VECScale(&sp1C, arg1, temp_f31); + if(temp_r27 != 0) { + HuAudFXPlay(1853); + } + if(arg2 < 0 || arg2 >= 3) { + arg2 = 0; + } + temp_r28 = lbl_1_data_454[arg2]; + for(temp_r30=0; temp_r30x = arg1->y = arg1->z = 0; + *arg0 = *temp_r28; + temp_r23= temp_r30; + break; + } + if(temp_f30 < 20.0f) { + VECScale(arg1, arg1, 0.9f); + VECNormalize(&sp34, &sp34); + VECScale(&sp34, &sp34, 0.1*(20.0f-temp_f30)); + VECAdd(arg1, &sp34, arg1); + break; + } + } + if(temp_r30 == lbl_1_data_3A4[arg2]) { + arg1->y += 0.3; + } + if(arg0->x >= lbl_1_bss_77C.x-13.0f) { + arg0->x = lbl_1_bss_77C.x-13.0f-1.0f; + } + if(arg0->y >= lbl_1_bss_77C.y-13.0f) { + arg0->y = lbl_1_bss_77C.y-13.0f-1.0f; + } + if(arg0->x <= lbl_1_bss_770.x+13.0f) { + arg0->x = lbl_1_bss_770.x+13.0f+1.0f; + } + if(arg0->y <= lbl_1_bss_770.y+13.0f) { + arg0->y = lbl_1_bss_770.y+13.0f+1.0f; + } + VECSubtract(arg0, &sp10, &sp34); + lbl_1_bss_370[lbl_1_bss_310++] = VECMag(&sp34); + return temp_r23; } void fn_1_C214(void) { - Mtx sp98; - Mtx sp68; - Mtx sp38; - Mtx sp8; - ModelData *temp_r31; - s16 temp_r30; - s16 temp_r29; - MTXRotDeg(sp8, 'z', 120); - while (1) { - temp_r31 = &Hu3DData[lbl_1_bss_199C2[9]]; - Hu3DMotionExec(lbl_1_bss_199C2[9], temp_r31->unk_08, temp_r31->unk_64, 0); - Hu3DModelObjMtxGet(lbl_1_bss_199C2[9], "kaitendai-r_dai", sp38); - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - temp_r31 = &Hu3DData[lbl_1_bss_199C2[temp_r30]]; - MTXTrans(sp68, lbl_1_bss_860[temp_r30].x, lbl_1_bss_860[temp_r30].y, lbl_1_bss_860[temp_r30].z); - MTXConcat(sp68, lbl_1_bss_794[temp_r30], sp68); - MTXConcat(sp38, sp68, sp98); - MTXCopy(sp98, temp_r31->unk_F0); - temp_r31 = &Hu3DData[lbl_1_bss_199C2[temp_r30 + 55]]; - MTXTrans(sp68, 0, 150, 0); - MTXConcat(sp38, sp68, sp98); - MTXCopy(sp98, temp_r31->unk_F0); - temp_r31 = &Hu3DData[lbl_1_bss_199C2[temp_r30 + 58]]; - MTXTrans(sp68, 0, 150, 0); - MTXConcat(sp38, sp68, sp98); - MTXCopy(sp98, temp_r31->unk_F0); - temp_r31 = &Hu3DData[lbl_1_bss_199C2[temp_r30 + 65]]; - MTXTrans(sp68, 0, 150, 0); - MTXConcat(sp38, sp68, sp98); - MTXCopy(sp98, temp_r31->unk_F0); - temp_r31 = &Hu3DData[lbl_1_bss_199C2[temp_r30 + 68]]; - MTXTrans(sp68, 0, 150, lbl_1_bss_788[temp_r30] - 5.0f); - MTXConcat(sp38, sp68, sp98); - MTXCopy(sp98, temp_r31->unk_F0); - for (temp_r29 = 0; temp_r29 < 5; temp_r29++) { - if (temp_r30 != lbl_1_data_2C8[temp_r29]) { - continue; - } - temp_r31 = &Hu3DData[lbl_1_bss_199C2[temp_r29 + 38]]; - MTXTrans(sp68, lbl_1_bss_824[temp_r29].x, lbl_1_bss_824[temp_r29].y, lbl_1_bss_824[temp_r29].z); - mtxScaleCat(sp68, 0.35f, 0.35f, 0.35f); - MTXConcat(sp38, sp68, sp98); - MTXCopy(sp98, temp_r31->unk_F0); - temp_r31 = &Hu3DData[lbl_1_bss_199C2[temp_r29 + 85]]; - MTXTrans(sp68, lbl_1_bss_824[temp_r29].x, lbl_1_bss_824[temp_r29].y + 1.0f, lbl_1_bss_824[temp_r29].z); - mtxScaleCat(sp68, 0.5f, 0.5f, 0.5f); - MTXConcat(sp38, sp68, sp98); - MTXCopy(sp98, temp_r31->unk_F0); - } - MTXConcat(sp38, sp8, sp38); - } - HuPrcVSleep(); - } + Mtx sp98; + Mtx sp68; + Mtx sp38; + Mtx sp8; + ModelData *temp_r31; + s16 temp_r30; + s16 temp_r29; + MTXRotDeg(sp8, 'z', 120); + while(1) { + temp_r31 = &Hu3DData[lbl_1_bss_199C2[9]]; + Hu3DMotionExec(lbl_1_bss_199C2[9], temp_r31->unk_08, temp_r31->unk_64, 0); + Hu3DModelObjMtxGet(lbl_1_bss_199C2[9], "kaitendai-r_dai", sp38); + for(temp_r30=0; temp_r30<3; temp_r30++) { + temp_r31 = &Hu3DData[lbl_1_bss_199C2[temp_r30]]; + MTXTrans(sp68, lbl_1_bss_860[temp_r30].x, lbl_1_bss_860[temp_r30].y, lbl_1_bss_860[temp_r30].z); + MTXConcat(sp68, lbl_1_bss_794[temp_r30], sp68); + MTXConcat(sp38, sp68, sp98); + MTXCopy(sp98, temp_r31->unk_F0); + temp_r31 = &Hu3DData[lbl_1_bss_199C2[temp_r30+55]]; + MTXTrans(sp68, 0, 150, 0); + MTXConcat(sp38, sp68, sp98); + MTXCopy(sp98, temp_r31->unk_F0); + temp_r31 = &Hu3DData[lbl_1_bss_199C2[temp_r30+58]]; + MTXTrans(sp68, 0, 150, 0); + MTXConcat(sp38, sp68, sp98); + MTXCopy(sp98, temp_r31->unk_F0); + temp_r31 = &Hu3DData[lbl_1_bss_199C2[temp_r30+65]]; + MTXTrans(sp68, 0, 150, 0); + MTXConcat(sp38, sp68, sp98); + MTXCopy(sp98, temp_r31->unk_F0); + temp_r31 = &Hu3DData[lbl_1_bss_199C2[temp_r30+68]]; + MTXTrans(sp68, 0, 150, lbl_1_bss_788[temp_r30]-5.0f); + MTXConcat(sp38, sp68, sp98); + MTXCopy(sp98, temp_r31->unk_F0); + for(temp_r29=0; temp_r29<5; temp_r29++) { + if(temp_r30 != lbl_1_data_2C8[temp_r29]) { + continue; + } + temp_r31 = &Hu3DData[lbl_1_bss_199C2[temp_r29+38]]; + MTXTrans(sp68, lbl_1_bss_824[temp_r29].x, lbl_1_bss_824[temp_r29].y, lbl_1_bss_824[temp_r29].z); + mtxScaleCat(sp68, 0.35f, 0.35f, 0.35f); + MTXConcat(sp38, sp68, sp98); + MTXCopy(sp98, temp_r31->unk_F0); + temp_r31 = &Hu3DData[lbl_1_bss_199C2[temp_r29+85]]; + MTXTrans(sp68, lbl_1_bss_824[temp_r29].x, lbl_1_bss_824[temp_r29].y+1.0f, lbl_1_bss_824[temp_r29].z); + mtxScaleCat(sp68, 0.5f, 0.5f, 0.5f); + MTXConcat(sp38, sp68, sp98); + MTXCopy(sp98, temp_r31->unk_F0); + } + MTXConcat(sp38, sp8, sp38); + } + HuPrcVSleep(); + } + } void fn_1_C73C(ModelData *model, Mtx matrix) { - s16 temp_r31; - u8 temp_r30; - u8 temp_r29; - u8 temp_r28; - - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_CLR0, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGB, GX_S8, 0); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_RASC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumTexGens(0); - GXSetNumTevStages(1); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - GXLoadPosMtxImm(matrix, GX_PNMTX0); - temp_r30 = temp_r29 = temp_r28 = 255; - for (temp_r31 = 0; temp_r31 < lbl_1_bss_1884; temp_r31++) { - if (lbl_1_bss_884[temp_r31]) { - temp_r30 = 255; - temp_r29 = temp_r28 = 0; - } - else { - temp_r30 = temp_r29 = temp_r28 = 255; - } - GXBegin(GX_LINES, GX_VTXFMT0, 2); - GXPosition3f32(lbl_1_bss_D8F0[temp_r31].x, 150, lbl_1_bss_D8F0[temp_r31].y); - GXColor3u8(temp_r30, temp_r29, temp_r28); - GXPosition3f32(lbl_1_bss_18F0[temp_r31].x, 150, lbl_1_bss_18F0[temp_r31].y); - GXColor3u8(temp_r30, temp_r29, temp_r28); - } + s16 temp_r31; + u8 temp_r30; + u8 temp_r29; + u8 temp_r28; + + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + GXSetVtxDesc(GX_VA_CLR0, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGB, GX_S8, 0); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_RASC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetNumTexGens(0); + GXSetNumTevStages(1); + GXSetNumChans(1); + GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); + GXLoadPosMtxImm(matrix, GX_PNMTX0); + temp_r30 = temp_r29 = temp_r28 = 255; + for(temp_r31=0; temp_r31x * (b)->x) - ((a)->x * (c)->x)) + (((a)->y * (b)->y) - ((a)->y * (c)->y)) + (((a)->z * (b)->z) - ((a)->z * (c)->z))) +#define VECDistance2XYZ3(a, b, c) ((((a)->x*(b)->x)-((a)->x*(c)->x))+(((a)->y*(b)->y)-((a)->y*(c)->y))+(((a)->z*(b)->z)-((a)->z*(c)->z))) Vec *fn_1_CA30(Vec *arg0, Vec *arg1, Vec *arg2) { - float temp_f31; - Vec spC; - VECNormalize(arg2, &spC); - temp_f31 = -VECDistance2XYZ3(&spC, arg1, arg0); - temp_f31 /= VECMag2Point(&spC); - lbl_1_bss_314.x = (arg1->x + (spC.x * temp_f31)); - lbl_1_bss_314.y = (arg1->y + (spC.y * temp_f31)); - lbl_1_bss_314.z = (arg1->z + (spC.z * temp_f31)); - return &lbl_1_bss_314; + float temp_f31; + Vec spC; + VECNormalize(arg2, &spC); + temp_f31 = -VECDistance2XYZ3(&spC, arg1, arg0); + temp_f31 /= VECMag2Point(&spC); + lbl_1_bss_314.x = (arg1->x+(spC.x*temp_f31)); + lbl_1_bss_314.y = (arg1->y+(spC.y*temp_f31)); + lbl_1_bss_314.z = (arg1->z+(spC.z*temp_f31)); + return &lbl_1_bss_314; } float fn_1_CB70(Vec *arg0, Vec *arg1, Vec *arg2) { - Vec *temp_r31 = fn_1_CA30(arg0, arg1, arg2); - temp_r31->x -= arg0->x; - temp_r31->y -= arg0->y; - temp_r31->z -= arg0->z; - return sqrtf(VECMag2Point(temp_r31)); + Vec *temp_r31 = fn_1_CA30(arg0, arg1, arg2); + temp_r31->x -= arg0->x; + temp_r31->y -= arg0->y; + temp_r31->z -= arg0->z; + return sqrtf(VECMag2Point(temp_r31)); + } s32 fn_1_CE08(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, Vec *arg4) { - float temp_f31; - float temp_f30; - s32 sp8 = 1; - temp_f31 = (arg1->x * (arg2->y - arg0->y)) - (arg1->y * (arg2->x - arg0->x)); - if (0.0f != (arg3->x * arg1->y) - (arg3->y * arg1->x)) { - temp_f31 /= (arg3->x * arg1->y) - (arg3->y * arg1->x); - } - else { - return 0; - } - if (arg1->x != 0.0) { - temp_f30 = (((temp_f31 * arg3->x) + arg2->x) - arg0->x) / arg1->x; - } - else if (arg1->y != 0.0) { - temp_f30 = (((temp_f31 * arg3->y) + arg2->y) - arg0->y) / arg1->y; - } - else { - temp_f30 = (((temp_f31 * arg3->z) + arg2->z) - arg0->z) / arg1->z; - } - arg4->x = (temp_f30 * arg1->x) + arg0->x; - arg4->y = (temp_f30 * arg1->y) + arg0->y; - arg4->z = (temp_f30 * arg1->z) + arg0->z; - return 1; + float temp_f31; + float temp_f30; + s32 sp8 = 1; + temp_f31 = (arg1->x*(arg2->y-arg0->y))-(arg1->y*(arg2->x-arg0->x)); + if(0.0f != (arg3->x*arg1->y)-(arg3->y*arg1->x)) { + temp_f31 /= (arg3->x*arg1->y)-(arg3->y*arg1->x); + } else { + return 0; + } + if(arg1->x != 0.0) { + temp_f30 = (((temp_f31*arg3->x)+arg2->x)-arg0->x)/arg1->x; + } else if(arg1->y != 0.0) { + temp_f30 = (((temp_f31*arg3->y)+arg2->y)-arg0->y)/arg1->y; + } else { + temp_f30 = (((temp_f31*arg3->z)+arg2->z)-arg0->z)/arg1->z; + } + arg4->x = (temp_f30*arg1->x)+arg0->x; + arg4->y = (temp_f30*arg1->y)+arg0->y; + arg4->z = (temp_f30*arg1->z)+arg0->z; + return 1; } s32 fn_1_CF9C(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, Vec *arg4) { - float temp_f31; - float temp_f30; - Vec sp14; - Vec sp8; - sp14.x = arg1->x - arg0->x; - sp14.y = arg1->y - arg0->y; - sp14.z = arg1->z - arg0->z; - sp8.x = arg3->x - arg2->x; - sp8.y = arg3->y - arg2->y; - sp8.z = arg3->z - arg2->z; - temp_f31 = (sp14.x * (arg2->y - arg0->y)) - (sp14.y * (arg2->x - arg0->x)); - if (0.0f != (sp8.x * sp14.y) - (sp8.y * sp14.x)) { - temp_f31 /= (sp8.x * sp14.y) - (sp8.y * sp14.x); - } - else { - return 0; - } - if (sp14.x != 0.0) { - temp_f30 = (((temp_f31 * sp8.x) + arg2->x) - arg0->x) / sp14.x; - } - else if (sp14.y != 0.0) { - temp_f30 = (((temp_f31 * sp8.y) + arg2->y) - arg0->y) / sp14.y; - } - else { - temp_f30 = (((temp_f31 * sp8.z) + arg2->z) - arg0->z) / sp14.z; - } - if (temp_f30 < 0.0f || temp_f30 > 1.0f || temp_f31 < 0.0f || temp_f31 > 1.0f) { - return 0; - } - arg4->x = (temp_f30 * sp14.x) + arg0->x; - arg4->y = (temp_f30 * sp14.y) + arg0->y; - arg4->z = (temp_f30 * sp14.z) + arg0->z; - return 1; + float temp_f31; + float temp_f30; + Vec sp14; + Vec sp8; + sp14.x = arg1->x-arg0->x; + sp14.y = arg1->y-arg0->y; + sp14.z = arg1->z-arg0->z; + sp8.x = arg3->x-arg2->x; + sp8.y = arg3->y-arg2->y; + sp8.z = arg3->z-arg2->z; + temp_f31 = (sp14.x*(arg2->y-arg0->y))-(sp14.y*(arg2->x-arg0->x)); + if(0.0f != (sp8.x*sp14.y)-(sp8.y*sp14.x)) { + temp_f31 /= (sp8.x*sp14.y)-(sp8.y*sp14.x); + } else { + return 0; + } + if(sp14.x != 0.0) { + temp_f30 = (((temp_f31*sp8.x)+arg2->x)-arg0->x)/sp14.x; + } else if(sp14.y != 0.0) { + temp_f30 = (((temp_f31*sp8.y)+arg2->y)-arg0->y)/sp14.y; + } else { + temp_f30 = (((temp_f31*sp8.z)+arg2->z)-arg0->z)/sp14.z; + } + if(temp_f30 < 0.0f || temp_f30 > 1.0f || temp_f31 < 0.0f || temp_f31 > 1.0f) { + return 0; + } + arg4->x = (temp_f30*sp14.x)+arg0->x; + arg4->y = (temp_f30*sp14.y)+arg0->y; + arg4->z = (temp_f30*sp14.z)+arg0->z; + return 1; } void fn_1_D1E0(s16 model) { - Vec sp14[4]; - Vec sp8; - s32 temp_r31; - s32 temp_r30; - HsfData *temp_r29; - HsfBuffer *temp_r28; - HsfFace *temp_r27; - s32 temp_r26; - s32 temp_r25; - s32 temp_r24; - s32 temp_r23; - HsfBuffer *temp_r22; - temp_r29 = Hu3DData[model].hsfData; - lbl_1_bss_77C.x = lbl_1_bss_77C.y = -100000; - lbl_1_bss_770.x = lbl_1_bss_770.y = 100000; - temp_r28 = temp_r29->face; - for (temp_r24 = temp_r31 = 0; temp_r24 < temp_r29->faceCnt; temp_r24++, temp_r28++) { - temp_r27 = temp_r28->data; - for (temp_r23 = 0; temp_r23 < temp_r28->count; temp_r23++, temp_r27++) { - switch (temp_r27->type & 0x7) { - case 0: - case 1: - case 2: - break; - - case 3: - temp_r22 = temp_r29->vertex; - for (temp_r26 = temp_r25 = 0; temp_r26 < 4; temp_r26++) { - sp8 = ((Vec *)temp_r22->data)[temp_r27->indices[temp_r26][0]]; - for (temp_r30 = 0; temp_r30 < temp_r25; temp_r30++) { - if (sp8.y != sp14[temp_r30].y) { - break; - } - } - if (temp_r30 == temp_r25) { - sp14[temp_r30].x = sp8.x; - sp14[temp_r30].y = sp8.y; - sp14[temp_r30].z = sp8.z; - temp_r25++; - } - } - lbl_1_bss_D8F0[temp_r31].x = sp14[0].x; - lbl_1_bss_D8F0[temp_r31].y = sp14[0].z; - lbl_1_bss_D8F0[temp_r31].z = 0; - if (sp14[0].x > lbl_1_bss_77C.x) { - lbl_1_bss_77C.x = sp14[0].x; - } - if (sp14[0].z > lbl_1_bss_77C.y) { - lbl_1_bss_77C.y = sp14[0].z; - } - if (sp14[0].x < lbl_1_bss_770.x) { - lbl_1_bss_770.x = sp14[0].x; - } - if (sp14[0].z < lbl_1_bss_770.y) { - lbl_1_bss_770.y = sp14[0].z; - } - lbl_1_bss_18F0[temp_r31].x = sp14[1].x; - lbl_1_bss_18F0[temp_r31].y = sp14[1].z; - lbl_1_bss_18F0[temp_r31].z = 0; - - if (sp14[1].x > lbl_1_bss_77C.x) { - lbl_1_bss_77C.x = sp14[1].x; - } - if (sp14[1].z > lbl_1_bss_77C.y) { - lbl_1_bss_77C.y = sp14[1].z; - } - if (sp14[1].x < lbl_1_bss_770.x) { - lbl_1_bss_770.x = sp14[1].x; - } - if (sp14[1].z < lbl_1_bss_770.y) { - lbl_1_bss_770.y = sp14[1].z; - } - temp_r31++; - break; - - case 4: - break; - - default: - break; - } - } - } - lbl_1_bss_1884 = temp_r31; -} + Vec sp14[4]; + Vec sp8; + s32 temp_r31; + s32 temp_r30; + HsfData *temp_r29; + HsfBuffer *temp_r28; + HsfFace *temp_r27; + s32 temp_r26; + s32 temp_r25; + s32 temp_r24; + s32 temp_r23; + HsfBuffer *temp_r22; + temp_r29 = Hu3DData[model].hsfData; + lbl_1_bss_77C.x = lbl_1_bss_77C.y = -100000; + lbl_1_bss_770.x = lbl_1_bss_770.y = 100000; + temp_r28 = temp_r29->face; + for(temp_r24=temp_r31=0; temp_r24faceCnt; temp_r24++, temp_r28++) { + temp_r27 = temp_r28->data; + for(temp_r23=0; temp_r23count; temp_r23++, temp_r27++) { + switch(temp_r27->type & 0x7) { + case 0: + case 1: + case 2: + break; + + case 3: + temp_r22 = temp_r29->vertex; + for(temp_r26=temp_r25=0; temp_r26<4; temp_r26++) { + sp8 = ((Vec *)temp_r22->data)[temp_r27->indices[temp_r26][0]]; + for(temp_r30=0; temp_r30 lbl_1_bss_77C.x) { + lbl_1_bss_77C.x = sp14[0].x; + } + if(sp14[0].z > lbl_1_bss_77C.y) { + lbl_1_bss_77C.y = sp14[0].z; + } + if(sp14[0].x < lbl_1_bss_770.x) { + lbl_1_bss_770.x = sp14[0].x; + } + if(sp14[0].z < lbl_1_bss_770.y) { + lbl_1_bss_770.y = sp14[0].z; + } + lbl_1_bss_18F0[temp_r31].x = sp14[1].x; + lbl_1_bss_18F0[temp_r31].y = sp14[1].z; + lbl_1_bss_18F0[temp_r31].z = 0; + + if(sp14[1].x > lbl_1_bss_77C.x) { + lbl_1_bss_77C.x = sp14[1].x; + } + if(sp14[1].z > lbl_1_bss_77C.y) { + lbl_1_bss_77C.y = sp14[1].z; + } + if(sp14[1].x < lbl_1_bss_770.x) { + lbl_1_bss_770.x = sp14[1].x; + } + if(sp14[1].z < lbl_1_bss_770.y) { + lbl_1_bss_770.y = sp14[1].z; + } + temp_r31++; + break; + + case 4: + break; + + default: + break; + } + } + } + lbl_1_bss_1884 = temp_r31; +} \ No newline at end of file diff --git a/src/REL/m444dll/shadow.c b/src/REL/m444dll/shadow.c deleted file mode 100644 index 9351f3e6..00000000 --- a/src/REL/m444dll/shadow.c +++ /dev/null @@ -1,59 +0,0 @@ -#include "game/hsfman.h" -#include "game/object.h" - -#include "game/window.h" - -#include "ext_math.h" - -void fn_1_D9F4(s16); - -void fn_1_D9C8(void) -{ - Hu3DLayerHookSet(7, fn_1_D9F4); -} - -void fn_1_D9F4(s16 arg0) -{ - Mtx44 sp64; - Mtx sp34; - Vec sp28; - Vec sp1C; - Vec sp10; - GXColor spC; - CameraData *var_r31; - - var_r31 = &Hu3DCamera[0]; - C_MTXPerspective(sp64, var_r31->fov, var_r31->aspect, var_r31->near, var_r31->far); - GXSetProjection(sp64, GX_PERSPECTIVE); - GXSetViewport(0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - GXSetScissor(0, 0, 0x280, 0x1E0); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - spC.a = 0xFF; - GXSetTevColor(GX_TEVREG0, spC); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumTexGens(0); - GXSetNumTevStages(1); - GXSetCullMode(GX_CULL_NONE); - GXSetAlphaCompare(GX_GEQUAL, 0, GX_AOP_AND, GX_GEQUAL, 0); - GXSetZMode(GX_TRUE, GX_ALWAYS, GX_TRUE); - sp28.x = sp28.y = sp28.z = 0.0f; - sp1C.x = sp1C.y = 0.0f; - sp1C.z = -100.0f; - sp10.x = sp10.z = 0.0f; - sp10.y = 1.0f; - C_MTXLookAt(sp34, &sp28, &sp10, &sp1C); - GXLoadPosMtxImm(sp34, 0); - sp28.x = 1.2f * (10000.0 * -sin(var_r31->fov / 2)); - sp28.y = (2.5f / 3) * (10000.0 * -sin(var_r31->fov / 2)); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(-sp28.x, -sp28.y, -10000.0f); - GXPosition3f32(sp28.x, -sp28.y, -10000.0f); - GXPosition3f32(sp28.x, sp28.y, -10000.0f); - GXPosition3f32(-sp28.x, sp28.y, -10000.0f); -} diff --git a/src/REL/m445Dll/main.c b/src/REL/m445Dll/main.c deleted file mode 100755 index 831d1e69..00000000 --- a/src/REL/m445Dll/main.c +++ /dev/null @@ -1,2107 +0,0 @@ -#include "REL/executor.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/mapspace.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/process.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - -#include "dolphin.h" -#include "ext_math.h" - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02[3]; - /* 0x08 */ char unk08[4]; - /* 0x0C */ s16 unk0C; - /* 0x0E */ s16 unk0E; - /* 0x10 */ s16 unk10; - /* 0x12 */ char unk12[2]; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ s32 unk20[2]; - /* 0x28 */ s32 unk28; - /* 0x2C */ s32 unk2C; - /* 0x30 */ s32 unk30; - /* 0x34 */ s32 unk34; - /* 0x38 */ s32 unk38; - /* 0x3C */ s32 unk3C; - /* 0x40 */ s32 unk40; - /* 0x44 */ s32 unk44; - /* 0x48 */ float unk48; - /* 0x4C */ float unk4C; - /* 0x50 */ float unk50[2]; - /* 0x58 */ float unk58[2]; -} UnkM445Struct_00; // Size 0x60 - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ s16 unk04; - /* 0x06 */ s16 unk06; - /* 0x08 */ s16 unk08[16]; - /* 0x28 */ s16 unk28; - /* 0x2A */ char unk2A[2]; - /* 0x2C */ s32 unk2C; - /* 0x30 */ s32 unk30; - /* 0x34 */ s32 unk34; -} UnkM445Struct_01; // Size 0x38 - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ s16 unk04; - /* 0x06 */ s16 unk06; - /* 0x08 */ s16 unk08[8]; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ s32 unk20; - /* 0x24 */ s32 unk24; - /* 0x28 */ s32 unk28; - /* 0x2C */ s32 unk2C; - /* 0x30 */ s32 unk30; - /* 0x34 */ float unk34; - /* 0x38 */ float unk38; - /* 0x3C */ float unk3C; - /* 0x40 */ float unk40; - /* 0x44 */ float unk44; - /* 0x48 */ float unk48; - /* 0x4C */ float unk4C; - /* 0x50 */ float unk50; - /* 0x54 */ float unk54; - /* 0x58 */ float unk58; - /* 0x5C */ float unk5C; - /* 0x60 */ float unk60; - /* 0x64 */ char unk64[0xC]; - /* 0x70 */ Vec unk70; - /* 0x7C */ s8 unk7C; - /* 0x7D */ s8 unk7D; - /* 0x7E */ s8 unk7E; - /* 0x7F */ s8 unk7F; - /* 0x80 */ u16 unk80; - /* 0x82 */ u16 unk82; - /* 0x84 */ float unk84; - /* 0x88 */ float unk88; - /* 0x8C */ char unk8C[4]; - /* 0x90 */ s32 unk90; - /* 0x94 */ char unk94[4]; - /* 0x98 */ s32 unk98; -} UnkM445Struct_02; // Size 0x9C - -typedef struct { - /* 0x00 */ char unk00[0x18]; - /* 0x18 */ float unk18; - /* 0x1C */ char unk1C[4]; - /* 0x20 */ float unk20; -} UnkM445Struct_03; // Size unknown - -typedef struct { - /* 0x00 */ UnkM445Struct_03 *unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; -} UnkM445Struct_04; // Size unknown - -void ObjectSetup(void); -void fn_1_4B8(float arg0, float arg1, s32 arg2); -void fn_1_50C(omObjData *arg0); -void fn_1_510(omObjData *arg0); -BOOL fn_1_520(s32 arg0); -void fn_1_550(void); -float fn_1_1858(float arg0); -UnkM445Struct_01 *fn_1_18D8(void); -void fn_1_1934(void); -void fn_1_1968(void); -s32 fn_1_1AD0(s32 arg0); -void fn_1_1B0C(void); -void fn_1_1C64(void); -s8 fn_1_2BF4(s32 arg0, s32 arg1); -void fn_1_2CAC(Vec *arg0, float arg1, float arg2); -s8 fn_1_2E68(s32 arg0, s32 arg1); -u8 fn_1_2F38(s32 arg0, s32 arg1); -u16 fn_1_3010(s32 arg0); -u16 fn_1_3094(s32 arg0); -s32 fn_1_3114(UnkM445Struct_02 *arg0, float arg1, float arg2, float arg3); -s32 fn_1_3334(UnkM445Struct_02 *arg0, s32 *arg1); -void fn_1_3548(UnkM445Struct_02 *arg0); -float fn_1_42A0(float arg0, float arg1, float arg2); -BOOL fn_1_43A4(UnkM445Struct_02 *arg0, float arg1, float arg2); -void fn_1_45D0(UnkM445Struct_02 *arg0); -void fn_1_557C(void); -void fn_1_55F0(void); -void fn_1_5664(UnkM445Struct_02 *arg0, s32 arg1); -void fn_1_5700(UnkM445Struct_02 *arg0); -void fn_1_6268(void); -void fn_1_7FC0(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_8320(void); -void fn_1_8938(void); -void fn_1_89B8(void); -void fn_1_8A18(void); - -s16 lbl_1_bss_6E6; -char lbl_1_bss_6E4_pad[2]; // Unused. -s16 lbl_1_bss_6E2; -s16 lbl_1_bss_6E0; -s32 lbl_1_bss_6DC; -s32 lbl_1_bss_6D8; -s32 lbl_1_bss_6CC[3]; -s32 lbl_1_bss_6C8; -s32 lbl_1_bss_6C4; -char lbl_1_bss_6C0_pad[4]; // Unused. -UnkM445Struct_02 lbl_1_bss_588[2]; -UnkM445Struct_00 lbl_1_bss_288[8]; -UnkM445Struct_01 lbl_1_bss_58[10]; -Process *lbl_1_bss_54; -char lbl_1_bss_30_pad[0x24]; // Unused. -omObjData *lbl_1_bss_2C; -Vec lbl_1_bss_20; -Vec lbl_1_bss_14; -Vec lbl_1_bss_8; -s32 lbl_1_bss_4; -float lbl_1_bss_0; - -s32 lbl_1_data_0[] = { 0, 1, 2, 3, 4, 5, 6, 7 }; - -// Unused. -s32 lbl_1_data_20[] = { DATADIR_MARIOMOT, DATADIR_LUIGIMOT, DATADIR_PEACHMOT, DATADIR_YOSHIMOT, DATADIR_WARIOMOT, DATADIR_DONKEYMOT, DATADIR_DAISYMOT, - DATADIR_WALUIGIMOT }; - -s32 lbl_1_data_40[] - = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), DATA_MAKE_NUM(DATADIR_MARIOMOT, 2), DATA_MAKE_NUM(DATADIR_MARIOMOT, 3), DATA_MAKE_NUM(DATADIR_M445, 0), - DATA_MAKE_NUM(DATADIR_M445, 8), DATA_MAKE_NUM(DATADIR_M445, 16), DATA_MAKE_NUM(DATADIR_MARIOMOT, 75), DATA_MAKE_NUM(DATADIR_MARIOMOT, 24) }; - -Vec lbl_1_data_60[] = { { -100.0f, 75.0f, 60.0f }, { 100.0f, 75.0f, -60.0f } }; - -Vec lbl_1_data_78[] = { { 0.0f, 0.0f, -79.5f }, { 180.0f, 0.0f, -100.5f } }; - -float lbl_1_data_90[][2] = { { 471.0f, 280.0f }, { -461.5f, 299.5f }, { 271.7f, -482.6f }, { -373.1f, -457.1f }, { 462.8f, -128.5f }, - { 0.0f, -495.4f }, { -40.8f, 632.3f }, { -477.7f, -110.0f } }; - -float lbl_1_data_D0[][2] = { { 467.0f, 393.0f }, { -461.5f, 395.5f }, { 367.7f, -492.1f }, { -268.9f, -467.0f }, { 462.8f, -128.5f }, - { 0.0f, -495.4f }, { -40.8f, 632.3f }, { -477.7f, -110.0f } }; - -s32 lbl_1_data_110[][2] = { { 360, 306 }, { -360, 341 }, { 326, -360 }, { -326, -360 }, { 321, -122 }, { 0, -332 }, { -50, 500 }, { -334, -110 } }; - -char *lbl_1_data_220[][2] = { { "tansu_w_itemhook1", "tansu_w_itemhook2" }, { "sidebord_itemhook1", "sidebord_itemhook2" }, - { "pinkshelf_itemhook1", "pinkshelf_itemhook2" }, { "green_itemhook1", "green_itemhook2" }, { "bookshelf_itemhook", "bookshelf_itemhook" }, - { "clock_itemhook", "clock_itemhook" }, { "book_itemhook", "book_itemhook" }, { "tv_itemhook", "tv_itemhook" } }; - -s32 lbl_1_data_260[] = { 2, 2, 2, 2, 1, 1, 1, 1 }; - -void ObjectSetup(void) -{ - lbl_1_bss_54 = omInitObjMan(50, 0x2000); - omGameSysInit(lbl_1_bss_54); - HuWinInit(1); - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 40.0f, 20.0f, 25000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(1, 0, 0, 640, 480); - lbl_1_bss_2C = omAddObjEx(lbl_1_bss_54, 32730, 0, 0, -1, omOutViewMulti); - lbl_1_bss_2C->work[0] = 1; - CRotM[0].x = -12.5f; - CRotM[0].y = 0.0f; - CRotM[0].z = 0.0f; - CenterM[0].x = 0.0f; - CenterM[0].y = 345.0f; - CenterM[0].z = -250.0f; - CZoomM[0] = 520.0f; - Hu3DLighInit(); - lbl_1_bss_6E6 = Hu3DGLightCreate(10000.0f, 0.0f, 10000.0f, -1.0f, 0.0f, -1.0f, 0xFF, 0xFF, 0xFF); - Hu3DGLightPosAimSet(lbl_1_bss_6E6, 0.0f, 4330.13f, 2500.0f, 0.0f, 0.0f, 0.0f); - Hu3DGLightInfinitytSet(lbl_1_bss_6E6); - lbl_1_bss_20.x = -200.0f; - lbl_1_bss_20.y = 4000.0f; - lbl_1_bss_20.z = 0.0f; - lbl_1_bss_14.x = lbl_1_bss_14.z = 0.0f; - lbl_1_bss_14.y = 1.0f; - lbl_1_bss_8.x = 0.0f; - lbl_1_bss_8.y = 0.0f; - lbl_1_bss_8.z = 0.0f; - Hu3DShadowCreate(30.0f, 20.0f, 10000.0f); - Hu3DShadowTPLvlSet(0.3f); - Hu3DShadowPosSet(&lbl_1_bss_20, &lbl_1_bss_14, &lbl_1_bss_8); - Hu3DBGColorSet(0, 0, 0); - fn_1_550(); - HuPrcChildCreate(fn_1_8A18, 0x1000, 0x2000, 0, HuPrcCurrentGet()); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); -} - -void fn_1_4B8(float arg0, float arg1, s32 arg2) -{ - Vec sp14; - - sp14.x = arg0; - sp14.y = 0.0f; - sp14.z = arg1; - HuAudFXEmiterPlay(arg2, &sp14); -} - -void fn_1_50C(omObjData *arg0) { } - -void fn_1_510(omObjData *arg0) -{ - arg0->func = fn_1_50C; -} - -BOOL fn_1_520(s32 arg0) -{ - return (GWPlayerCfg[arg0].character == 9); -} - -void fn_1_550(void) -{ - float var_f31; - float var_f30; - float var_f29; - UnkM445Struct_00 *temp_r26; - UnkM445Struct_01 *temp_r25; - UnkM445Struct_02 *temp_r31; - omObjData *temp_r24; - Process *var_r22; - AnimData *var_r20; - AnimData *sp38[4]; - void *var_r29; - s16 var_r30; - s32 var_r23; - s32 var_r21; - Vec sp2C; - Vec sp20; - s32 i; - s32 j; - - nMap = 0; - HuAudSndGrpSet(0x47); - sp2C.x = 0.0f; - sp2C.y = 998.0f; - sp2C.z = 1551.0f; - sp20.x = 0.0f; - sp20.y = -0.5f; - sp20.z = -1.0f; - HuAudFXListnerSetEX(&sp2C, &sp20, 10000.0f, 0.5666667f, 0.0f, 300.0f, 300.0f); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 24), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - Hu3DModelLayerSet(var_r30, 0); - Hu3DModelShadowMapSet(var_r30); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 25), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); - temp_r24 = omAddObjEx(lbl_1_bss_54, 0x100, 1, 0, -1, fn_1_510); - MapObject[nMap++] = temp_r24; - temp_r24->model[0] = var_r30; - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 26), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - Hu3DModelLayerSet(var_r30, 0); - Hu3DModelShadowSet(var_r30); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 27), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - Hu3DModelLayerSet(var_r30, 0); - Hu3DModelShadowMapSet(var_r30); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 28), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); - temp_r24 = omAddObjEx(lbl_1_bss_54, 0x100, 1, 0, -1, fn_1_510); - MapObject[nMap++] = temp_r24; - temp_r24->model[0] = var_r30; - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 100), MEMORY_DEFAULT_NUM, HEAP_DATA); - lbl_1_bss_6E0 = Hu3DModelCreate(var_r29); - Hu3DModelAttrSet(lbl_1_bss_6E0, HU3D_ATTR_DISPOFF); - for (i = 0; i < 8; i++) { - temp_r26 = &lbl_1_bss_288[i]; - temp_r26->unk14 = i; - temp_r26->unk30 = 0; - var_r23 = DATA_MAKE_NUM(DATADIR_M445, 38 + i * 5); - var_r29 = HuDataSelHeapReadNum(var_r23, MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - temp_r26->unk00 = var_r30; - for (j = 0, var_r23++; j < 3; j++) { - var_r29 = HuDataSelHeapReadNum(var_r23++, MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r26->unk02[j] = Hu3DJointMotion(var_r30, var_r29); - } - Hu3DModelShadowSet(var_r30); - Hu3DMotionSet(var_r30, temp_r26->unk02[0]); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - temp_r26->unk48 = lbl_1_data_110[i][0]; - temp_r26->unk4C = lbl_1_data_110[i][1]; - temp_r26->unk50[0] = lbl_1_data_90[i][0]; - temp_r26->unk58[0] = lbl_1_data_90[i][1]; - temp_r26->unk50[1] = lbl_1_data_D0[i][0]; - temp_r26->unk58[1] = lbl_1_data_D0[i][1]; - if (i == 5) { - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 81), MEMORY_DEFAULT_NUM, HEAP_DATA); - lbl_1_bss_6E2 = Hu3DJointMotion(var_r30, var_r29); - Hu3DMotionSet(var_r30, lbl_1_bss_6E2); - Hu3DMotionTimeSet(var_r30, 61.0f); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_PAUSE); - } - if (i == 6) { - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 78), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r26->unk0E = Hu3DJointMotion(var_r30, var_r29); - } - if (i == 7) { - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 79), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r26->unk0E = Hu3DJointMotion(var_r30, var_r29); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 80), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r26->unk10 = Hu3DJointMotion(var_r30, var_r29); - } - temp_r26->unk18 = nMap; - var_r29 = HuDataSelHeapReadNum(var_r23, MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); - temp_r24 = MapObject[nMap++] = omAddObjEx(lbl_1_bss_54, 0x100, 1, 0, -1, fn_1_510); - temp_r24->model[0] = var_r30; - temp_r24->trans.x = temp_r26->unk48; - temp_r24->trans.y = 0.0f; - temp_r24->trans.z = temp_r26->unk4C; - var_r22 = HuPrcChildCreate(fn_1_1C64, 0x2000, 0x2000, 0, HuPrcCurrentGet()); - var_r22->user_data = temp_r26; - } - HuPrcChildCreate(fn_1_1B0C, 0x2000, 0x2000, 0, HuPrcCurrentGet()); - for (i = 0; i < 10; i++) { - temp_r25 = &lbl_1_bss_58[i]; - temp_r25->unk2C = i; - temp_r25->unk30 = -1; - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 82), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - temp_r25->unk00 = var_r30; - for (j = 0; j < 4; j++) { - var_r29 = HuDataSelHeapReadNum(j + DATA_MAKE_NUM(DATADIR_M445, 83), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r25->unk08[j] = Hu3DJointMotion(var_r30, var_r29); - } - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 82), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - temp_r25->unk04 = var_r30; - for (j = 0; j < 4; j++) { - var_r29 = HuDataSelHeapReadNum(j + DATA_MAKE_NUM(DATADIR_M445, 87), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r25->unk08[j + 4] = Hu3DJointMotion(var_r30, var_r29); - } - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 91), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - temp_r25->unk02 = var_r30; - for (j = 0; j < 4; j++) { - var_r29 = HuDataSelHeapReadNum(j + DATA_MAKE_NUM(DATADIR_M445, 92), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r25->unk08[j + 8] = Hu3DJointMotion(var_r30, var_r29); - } - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 91), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - temp_r25->unk06 = var_r30; - for (j = 0; j < 4; j++) { - var_r29 = HuDataSelHeapReadNum(j + DATA_MAKE_NUM(DATADIR_M445, 96), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r25->unk08[j + 12] = Hu3DJointMotion(var_r30, var_r29); - } - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); - } - for (i = 0; i < 2; i++) { - temp_r31 = &lbl_1_bss_588[i]; - temp_r31->unk18 = i; - temp_r31->unk1C = i; - temp_r31->unk20 = GWPlayerCfg[i].pad_idx; - if (fn_1_520(temp_r31->unk18) == FALSE) { - temp_r31->unk00 = CharModelCreate(lbl_1_data_0[GWPlayerCfg[i].character], 2); - } - else { - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 29), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unk00 = Hu3DModelCreate(var_r29); - } - Hu3DModelLayerSet(temp_r31->unk00, 0); - CharModelStepTypeSet(lbl_1_data_0[GWPlayerCfg[i].character], 1); - CharModelLayerSetAll(3); - temp_r31->unk48 = temp_r31->unk50 = 0.0f; - if (i != 0) { - var_f31 = temp_r31->unk4C = fn_1_1858(-90.0f); - } - else { - temp_r31->unk4C = var_f31 = 90.0f; - } - temp_r31->unk60 = temp_r31->unk4C; - if (i != 0) { - var_f30 = temp_r31->unk34 = 160.0f; - } - else { - var_f30 = temp_r31->unk34 = -160.0f; - } - temp_r31->unk38 = 0.0f; - if (i != 0) { - var_f29 = temp_r31->unk3C = -45.0f; - } - else { - var_f29 = temp_r31->unk3C = 45.0f; - } - temp_r31->unk54 = 50.0f; - temp_r31->unk5C = temp_r31->unk58 = 0.0f; - HuSetVecF(&temp_r31->unk70, 0.0, 0.0, 0.0); - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk34, temp_r31->unk38, temp_r31->unk3C); - Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk48, temp_r31->unk4C, temp_r31->unk50); - Hu3DModelShadowSet(temp_r31->unk00); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 37), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - temp_r31->unk06 = var_r30; - Hu3DModelLayerSet(var_r30, 0); - Hu3DModelShadowSet(var_r30); - Hu3DModelPosSet(var_r30, lbl_1_data_60[i].x, lbl_1_data_60[i].y, lbl_1_data_60[i].z); - Hu3DModelRotSet(var_r30, lbl_1_data_78[i].x, lbl_1_data_78[i].y, lbl_1_data_78[i].z); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 101), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r29); - temp_r31->unk02 = var_r30; - Hu3DMotionSpeedSet(var_r30, 1.4f); - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); - if (fn_1_520(temp_r31->unk18) == FALSE) { - for (j = 0; j < 8; j++) { - var_r21 = lbl_1_data_40[j]; - if ((var_r21 & ~0xFFFF) == DATADIR_M445) { - var_r21 += GWPlayerCfg[i].character; - } - temp_r31->unk08[j] = CharModelMotionCreate(lbl_1_data_0[GWPlayerCfg[i].character], var_r21); - } - CharModelMotionSet(lbl_1_data_0[GWPlayerCfg[i].character], temp_r31->unk08[0]); - } - else { - for (j = 0; j < 7; j++) { - var_r29 = HuDataSelHeapReadNum(j + DATA_MAKE_NUM(DATADIR_M445, 30), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unk08[j] = Hu3DJointMotion(temp_r31->unk00, var_r29); - } - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk08[0]); - CharModelEffectNpcInit(temp_r31->unk00, temp_r31->unk08[1], 0, 9); - CharModelEffectNpcInit(temp_r31->unk00, temp_r31->unk08[2], 1, 9); - } - Hu3DModelAttrSet(temp_r31->unk00, HU3D_MOTATTR_LOOP); - if (i == 0) { - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 22), MEMORY_DEFAULT_NUM, HEAP_DATA); - sp38[0] = HuSprAnimRead(var_r29); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 23), MEMORY_DEFAULT_NUM, HEAP_DATA); - sp38[1] = HuSprAnimRead(var_r29); - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 51), MEMORY_DEFAULT_NUM, HEAP_DATA); - sp38[3] = HuSprAnimRead(var_r29); - } - if (fn_1_520(temp_r31->unk18) == FALSE) { - var_r29 = HuDataSelHeapReadNum(GWPlayerCfg[i].character + DATADIR_MGCONST, MEMORY_DEFAULT_NUM, HEAP_DATA); - } - else { - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 102), MEMORY_DEFAULT_NUM, HEAP_DATA); - } - sp38[2] = HuSprAnimRead(var_r29); - temp_r31->unk04 = HuSprGrpCreate(5); - var_r30 = HuSprCreate(sp38[0], 0x1000, 0); - HuSprGrpMemberSet(temp_r31->unk04, 0, var_r30); - HuSprPosSet(temp_r31->unk04, 0, 0.0f, 0.0f); - var_r30 = HuSprCreate(sp38[1], 0x1001, 0); - HuSprGrpMemberSet(temp_r31->unk04, 1, var_r30); - HuSprPosSet(temp_r31->unk04, 1, 0.0f, 0.0f); - HuSprTPLvlSet(temp_r31->unk04, 1, 0.5f); - HuSprColorSet(temp_r31->unk04, 1, 0, 0, 0); - var_r30 = HuSprCreate(sp38[2], 0x1000, 0); - HuSprGrpMemberSet(temp_r31->unk04, 2, var_r30); - HuSprPosSet(temp_r31->unk04, 2, -36.0f, -2.0f); - var_r30 = HuSprCreate(sp38[3], 0x1000, 0); - HuSprGrpMemberSet(temp_r31->unk04, 3, var_r30); - HuSprPosSet(temp_r31->unk04, 3, 16.0f, 2.0f); - var_r30 = HuSprCreate(sp38[3], 0x1000, 0); - HuSprGrpMemberSet(temp_r31->unk04, 4, var_r30); - HuSprPosSet(temp_r31->unk04, 4, -4.0f, 2.0f); - HuSprAttrSet(temp_r31->unk04, 4, 4); - HuSprGrpPosSet(temp_r31->unk04, i * 438 + 73, 61.0f); - temp_r31->unk30 = 0; - fn_1_5664(temp_r31, temp_r31->unk30); - fn_1_55F0(); - CharModelMotionDataClose(lbl_1_data_0[GWPlayerCfg[i].character]); - var_r22 = HuPrcChildCreate(fn_1_6268, 0x2000, 0x3000, 0, HuPrcCurrentGet()); - var_r22->user_data = temp_r31; - } - var_r20 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 3), MEMORY_DEFAULT_NUM)); - var_r30 = Hu3DParticleCreate(var_r20, 3); - Hu3DModelPosSet(var_r30, 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(var_r30, 1.0f, 1.0f, 1.0f); - Hu3DModelLayerSet(var_r30, 4); - Hu3DParticleColSet(var_r30, 0xFF, 0xFF, 0xFF); - Hu3DParticleScaleSet(var_r30, 0.0f); - Hu3DParticleHookSet(var_r30, fn_1_7FC0); - HuDataDirClose(DATADIR_EFFECT); - lbl_1_bss_6C8 = 0; - lbl_1_bss_6CC[0] = frandmod(25); - lbl_1_bss_6CC[1] = frandmod(25) + 30; - lbl_1_bss_6CC[2] = 1000; - HuPrcChildCreate(fn_1_89B8, 0x1000, 0x1000, 0, HuPrcCurrentGet()); -} - -float fn_1_1858(float arg0) -{ - while (arg0 >= 360.0f || arg0 < 0.0f) { - if (arg0 >= 360.0f) { - arg0 -= 360.0f; - } - if (arg0 < 0.0f) { - arg0 += 360.0f; - } - } - return arg0; -} - -UnkM445Struct_01 *fn_1_18D8(void) -{ - UnkM445Struct_01 *var_r30; - s32 i; - - for (i = 0; i < 10; i++) { - var_r30 = &lbl_1_bss_58[i]; - if (var_r30->unk30 == -1) { - break; - } - } - if (i >= 10) { - var_r30 = NULL; - } - return var_r30; -} - -void fn_1_1934(void) -{ - UnkM445Struct_04 *var_r31; - - var_r31 = HuPrcCurrentGet()->user_data; - HuMemDirectFree(var_r31); -} - -void fn_1_1968(void) -{ - float var_f31; - float var_f30; - UnkM445Struct_04 *temp_r31; - s32 i; - - temp_r31 = HuPrcCurrentGet()->user_data; - HuPrcDestructorSet(fn_1_1934); - switch (temp_r31->unk04) { - case 0: - var_f31 = -140.0f / temp_r31->unk0C; - var_f30 = 0.0f / temp_r31->unk0C; - break; - default: - var_f31 = 0.0f; - var_f30 = 0.0f; - break; - } - for (i = temp_r31->unk0C; i != 0; i--) { - temp_r31->unk00->unk18 += var_f31; - temp_r31->unk00->unk20 += var_f30; - HuPrcVSleep(); - } - while (temp_r31->unk08 == 0) { - HuPrcVSleep(); - } - for (i = temp_r31->unk0C; i != 0; i--) { - temp_r31->unk00->unk18 -= var_f31; - temp_r31->unk00->unk20 -= var_f30; - HuPrcVSleep(); - } - HuPrcKill(HuPrcCurrentGet()); - while (TRUE) { - HuPrcVSleep(); - } -} - -s32 fn_1_1AD0(s32 arg0) -{ - s32 var_r31; - - if (arg0 < 20) { - var_r31 = 3; - } - else if (arg0 < 40) { - var_r31 = 4; - } - else { - var_r31 = 5; - } - return var_r31; -} - -void fn_1_1B0C(void) -{ - UnkM445Struct_00 *temp_r30; - s32 spC; - s32 sp8; - s32 var_r29; - s32 var_r28; - s32 i; - - spC = -1; - sp8 = 0; - while (lbl_1_bss_6DC < 3) { - HuPrcVSleep(); - } - while (TRUE) { - if (lbl_1_bss_6DC >= 4) { - break; - } - for (i = 0, var_r28 = 0; i < 8; i++) { - temp_r30 = &lbl_1_bss_288[i]; - if (temp_r30->unk34 != 0) { - var_r28++; - } - } - if (var_r28 < fn_1_1AD0(lbl_1_bss_6D8 / 60)) { - var_r29 = frandmod(8) + 1; - i = 0; - while (TRUE) { - temp_r30 = &lbl_1_bss_288[i]; - if (temp_r30->unk34 == 0) { - var_r29--; - } - if (var_r29 == 0) { - break; - } - i++; - if (i >= 8) { - i = 0; - } - } - temp_r30->unk34 = 1; - HuPrcSleep(60); - } - HuPrcVSleep(); - } - HuPrcKill(HuPrcCurrentGet()); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_1C64(void) -{ - UnkM445Struct_00 *temp_r31; - UnkM445Struct_01 *var_r25; - UnkM445Struct_01 *var_r29; - s32 var_r23; - s32 var_r26; - - temp_r31 = HuPrcCurrentGet()->user_data; - temp_r31->unk1C = 0; - temp_r31->unk34 = 0; - while (TRUE) { - while (temp_r31->unk34 == 0) { - HuPrcVSleep(); - } - temp_r31->unk20[0] = temp_r31->unk20[1] = 0; - temp_r31->unk0C = 0; - if (temp_r31->unk14 == 5 || temp_r31->unk14 == 7) { - temp_r31->unk0C = 4; - } - var_r25 = fn_1_18D8(); - var_r25->unk30 = temp_r31->unk14; - var_r25->unk34 = 0; - temp_r31->unk3C = var_r25->unk2C; - temp_r31->unk40 = -1; - if (lbl_1_bss_6CC[lbl_1_bss_6C8] < lbl_1_bss_6D8 / 60) { - temp_r31->unk38 = 1; - if (lbl_1_data_260[temp_r31->unk14] == 1) { - lbl_1_bss_6C8++; - } - if (temp_r31->unk14 == 5 || temp_r31->unk14 == 7) { - var_r25->unk28 = var_r25->unk04; - } - else { - var_r25->unk28 = var_r25->unk00; - } - } - else { - temp_r31->unk38 = 0; - if (temp_r31->unk14 == 5 || temp_r31->unk14 == 7) { - var_r25->unk28 = var_r25->unk06; - } - else { - var_r25->unk28 = var_r25->unk02; - } - temp_r31->unk0C += 8; - } - Hu3DModelAttrReset(var_r25->unk28, HU3D_ATTR_DISPOFF); - Hu3DModelHookSet(temp_r31->unk00, lbl_1_data_220[temp_r31->unk14][0], var_r25->unk28); - Hu3DMotionSet(var_r25->unk28, var_r25->unk08[temp_r31->unk0C]); - if (lbl_1_data_260[temp_r31->unk14] > 1) { - var_r29 = fn_1_18D8(); - var_r29->unk30 = temp_r31->unk14; - var_r29->unk34 = 0; - temp_r31->unk40 = var_r29->unk2C; - if (lbl_1_bss_6CC[lbl_1_bss_6C8] < lbl_1_bss_6D8 / 60) { - lbl_1_bss_6C8++; - if (temp_r31->unk14 == 5 || temp_r31->unk14 == 7) { - var_r29->unk28 = var_r29->unk04; - } - else { - var_r29->unk28 = var_r29->unk00; - } - } - else { - if (temp_r31->unk14 == 5 || temp_r31->unk14 == 7) { - var_r29->unk28 = var_r29->unk06; - } - else { - var_r29->unk28 = var_r29->unk02; - } - } - Hu3DModelAttrReset(var_r29->unk28, HU3D_ATTR_DISPOFF); - Hu3DModelHookSet(temp_r31->unk00, lbl_1_data_220[temp_r31->unk14][1], var_r29->unk28); - Hu3DMotionSet(var_r29->unk28, var_r29->unk08[temp_r31->unk0C]); - } - temp_r31->unk1C = 1; - temp_r31->unk44 = 0; - switch (temp_r31->unk14) { - case 0: - case 1: - case 3: - fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x751); - break; - case 6: - fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x753); - break; - default: - fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x752); - break; - } - if (temp_r31->unk14 == 7 && temp_r31->unk38 == 0) { - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk0E); - } - else { - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk02[1]); - } - Hu3DModelAttrReset(temp_r31->unk00, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_REV); - while (!Hu3DMotionEndCheck(temp_r31->unk00)) { - temp_r31->unk44++; - HuPrcVSleep(); - } - if (lbl_1_bss_6DC >= 4) { - break; - } - if (temp_r31->unk14 == 7 && temp_r31->unk38 == 0) { - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk10); - } - else if (temp_r31->unk14 == 6 && temp_r31->unk38 == 0) { - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk0E); - } - else { - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk02[2]); - } - var_r23 = 150; - Hu3DMotionSet(var_r25->unk28, var_r25->unk08[temp_r31->unk0C + 1]); - Hu3DModelAttrSet(var_r25->unk28, HU3D_MOTATTR_PAUSE); - if (temp_r31->unk14 == 6) { - HuPrcSleep(12); - Hu3DModelAttrReset(var_r25->unk28, HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_REV); - if (temp_r31->unk38 != 0) { - fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x758); - } - else { - fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x757); - } - } - if (temp_r31->unk14 == 7) { - HuPrcSleep(11); - Hu3DModelAttrReset(var_r25->unk28, HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_REV); - fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x754); - Hu3DModelAttrReset(lbl_1_bss_6E0, HU3D_ATTR_DISPOFF); - Hu3DMotionTimeSet(lbl_1_bss_6E0, 0.0f); - } - while (!Hu3DMotionEndCheck(temp_r31->unk00)) { - temp_r31->unk44++; - HuPrcVSleep(); - } - if (temp_r31->unk14 != 6) { - if (temp_r31->unk38 != 0) { - fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x758); - } - else { - fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x757); - } - Hu3DModelAttrReset(var_r25->unk28, HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_REV); - if (lbl_1_data_260[temp_r31->unk14] > 1) { - Hu3DMotionSet(var_r29->unk28, var_r29->unk08[temp_r31->unk0C + 1]); - Hu3DModelAttrReset(var_r29->unk28, HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_REV); - } - } - while (!Hu3DMotionEndCheck(var_r25->unk28)) { - HuPrcVSleep(); - } - var_r25->unk34 = 1; - Hu3DMotionSet(var_r25->unk28, var_r25->unk08[temp_r31->unk0C + 2]); - Hu3DModelAttrSet(var_r25->unk28, HU3D_MOTATTR_LOOP); - if (lbl_1_data_260[temp_r31->unk14] > 1) { - var_r29->unk34 = 1; - Hu3DMotionSet(var_r29->unk28, var_r29->unk08[temp_r31->unk0C + 2]); - Hu3DModelAttrSet(var_r29->unk28, HU3D_MOTATTR_LOOP); - } - temp_r31->unk1C = 2; - var_r26 = var_r23; - while (TRUE) { - if (temp_r31->unk20[0] == 1) { - temp_r31->unk20[0] = 2; - Hu3DMotionSet(var_r25->unk28, var_r25->unk08[temp_r31->unk0C + 3]); - Hu3DModelAttrReset(var_r25->unk28, HU3D_MOTATTR_LOOP); - if (temp_r31->unk38 != 0) { - if (temp_r31->unk28 != 0) { - fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x75C); - } - else { - fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x75A); - } - } - else { - if (temp_r31->unk28 != 0) { - fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x75B); - } - else { - fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x759); - } - } - } - if (temp_r31->unk20[1] == 1) { - temp_r31->unk20[1] = 2; - Hu3DMotionSet(var_r29->unk28, var_r29->unk08[temp_r31->unk0C + 3]); - Hu3DModelAttrReset(var_r29->unk28, HU3D_MOTATTR_LOOP); - if (temp_r31->unk38 != 0) { - if (temp_r31->unk2C != 0) { - fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x75C); - } - else { - fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x75A); - } - } - else { - if (temp_r31->unk2C != 0) { - fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x75B); - } - else { - fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x759); - } - } - } - if (temp_r31->unk14 == 6 && temp_r31->unk20[0] == 2 && Hu3DMotionTimeGet(var_r25->unk28) == 12.0f) { - break; - } - if (lbl_1_data_260[temp_r31->unk14] > 1) { - if (var_r26 <= 0) { - break; - } - if (Hu3DMotionEndCheck(var_r25->unk28) && Hu3DMotionEndCheck(var_r29->unk28)) { - break; - } - } - else { - if (var_r26 <= 0) { - break; - } - if (Hu3DMotionEndCheck(var_r25->unk28)) { - break; - } - } - HuPrcVSleep(); - var_r26--; - } - temp_r31->unk1C = 0; - var_r25->unk34 = 0; - if (temp_r31->unk14 != 6) { - if (temp_r31->unk20[0] == 0) { - Hu3DMotionSet(var_r25->unk28, var_r25->unk08[temp_r31->unk0C + 1]); - Hu3DMotionTimeSet(var_r25->unk28, Hu3DMotionMaxTimeGet(var_r25->unk28)); - Hu3DMotionSpeedSet(var_r25->unk28, 2.0f); - Hu3DModelAttrSet(var_r25->unk28, HU3D_MOTATTR_REV); - Hu3DModelAttrReset(var_r25->unk28, HU3D_MOTATTR_LOOP); - } - if (lbl_1_data_260[temp_r31->unk14] > 1 && temp_r31->unk20[1] == 0) { - var_r29->unk34 = 0; - Hu3DMotionSet(var_r29->unk28, var_r29->unk08[temp_r31->unk0C + 1]); - Hu3DMotionTimeSet(var_r29->unk28, Hu3DMotionMaxTimeGet(var_r29->unk28)); - Hu3DMotionSpeedSet(var_r29->unk28, 2.0f); - Hu3DModelAttrSet(var_r29->unk28, HU3D_MOTATTR_REV); - Hu3DModelAttrReset(var_r29->unk28, HU3D_MOTATTR_LOOP); - } - if (lbl_1_data_260[temp_r31->unk14] > 1) { - while (!Hu3DMotionEndCheck(var_r25->unk28) || !Hu3DMotionEndCheck(var_r29->unk28)) { - HuPrcVSleep(); - } - } - else { - while (!Hu3DMotionEndCheck(var_r25->unk28)) { - HuPrcVSleep(); - } - } - } - Hu3DMotionSpeedSet(var_r25->unk28, 1.0f); - if (lbl_1_data_260[temp_r31->unk14] > 1) { - Hu3DMotionSpeedSet(var_r29->unk28, 1.0f); - } - Hu3DModelAttrSet(temp_r31->unk00, HU3D_MOTATTR_REV); - if (temp_r31->unk14 == 6 && temp_r31->unk20[0] == 0) { - HuPrcSleep(26); - Hu3DMotionSet(var_r25->unk28, var_r25->unk08[temp_r31->unk0C + 1]); - Hu3DMotionTimeSet(var_r25->unk28, Hu3DMotionMaxTimeGet(var_r25->unk28)); - Hu3DMotionSpeedSet(var_r25->unk28, 2.0f); - Hu3DModelAttrSet(var_r25->unk28, HU3D_MOTATTR_REV); - Hu3DModelAttrReset(var_r25->unk28, HU3D_MOTATTR_LOOP); - } - while (!Hu3DMotionEndCheck(temp_r31->unk00)) { - HuPrcVSleep(); - } - var_r25->unk30 = -1; - Hu3DModelAttrSet(var_r25->unk28, HU3D_ATTR_DISPOFF); - if (lbl_1_data_260[temp_r31->unk14] > 1) { - var_r29->unk30 = -1; - Hu3DModelAttrSet(var_r29->unk28, HU3D_ATTR_DISPOFF); - } - Hu3DModelHookReset(temp_r31->unk00); - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk02[0]); - Hu3DModelAttrSet(temp_r31->unk00, HU3D_MOTATTR_LOOP); - temp_r31->unk34 = 0; - HuPrcVSleep(); - } -} - -// identical to m411Dll/main.c::fn_1_5D58 -s8 fn_1_2BF4(s32 arg0, s32 arg1) -{ - UnkM445Struct_02 *temp_r31; - s8 var_r30; - - temp_r31 = &lbl_1_bss_588[arg0]; - if (!GWPlayerCfg[arg0].iscom) { - (arg1 != 0) ? (var_r30 = HuPadStkY[temp_r31->unk20]) : (var_r30 = HuPadStkX[temp_r31->unk20]); - } - else { - (arg1 != 0) ? (var_r30 = temp_r31->unk7D) : (var_r30 = temp_r31->unk7C); - } - return var_r30; -} - -void fn_1_2CAC(Vec *arg0, float arg1, float arg2) -{ - float temp_f29; - - temp_f29 = sqrtf(arg0->x * arg0->x + arg0->z * arg0->z); - temp_f29 *= arg2; - arg0->x = temp_f29 * sind(arg1); - arg0->z = temp_f29 * cosd(arg1); -} - -// similar to m414Dll/main.c::fn_1_5554 -// TODO: update other files (m414 and m411). -s8 fn_1_2E68(s32 arg0, s32 arg1) -{ - UnkM445Struct_02 *temp_r31; - s8 var_r30; - - temp_r31 = &lbl_1_bss_588[arg0]; - var_r30 = 0; - if (!GWPlayerCfg[arg0].iscom && lbl_1_bss_6DC < 4) { - (arg1 != 0) ? (var_r30 = HuPadStkY[temp_r31->unk20]) : (var_r30 = HuPadStkX[temp_r31->unk20]); - } - else { - (arg1 != 0) ? (var_r30 = temp_r31->unk7D) : (var_r30 = temp_r31->unk7C); - } - return var_r30; -} - -u8 fn_1_2F38(s32 arg0, s32 arg1) -{ - UnkM445Struct_02 *temp_r31; - s8 var_r30; - - temp_r31 = &lbl_1_bss_588[arg0]; - var_r30 = 0; - if (lbl_1_bss_6DC < 4) { - if (!GWPlayerCfg[arg0].iscom) { - (arg1 != 0) ? (var_r30 = HuPadTrigR[temp_r31->unk20]) : (var_r30 = HuPadTrigL[temp_r31->unk20]); - } - else { - (arg1 != 0) ? (var_r30 = temp_r31->unk7E) : (var_r30 = temp_r31->unk7F); - } - } - return var_r30; -} - -u16 fn_1_3010(s32 arg0) -{ - UnkM445Struct_02 *temp_r31; - u16 var_r30; - - temp_r31 = &lbl_1_bss_588[arg0]; - var_r30 = 0; - if (lbl_1_bss_6DC < 4) { - if (!GWPlayerCfg[arg0].iscom) { - var_r30 = HuPadBtnDown[temp_r31->unk20]; - } - else { - var_r30 = temp_r31->unk82; - } - } - return var_r30; -} - -u16 fn_1_3094(s32 arg0) -{ - UnkM445Struct_02 *temp_r31; - u16 var_r30; - - temp_r31 = &lbl_1_bss_588[arg0]; - if (lbl_1_bss_6DC < 4) { - if (!GWPlayerCfg[arg0].iscom) { - var_r30 = HuPadBtn[temp_r31->unk20]; - } - else { - var_r30 = temp_r31->unk80; - } - } - return var_r30; -} - -s32 fn_1_3114(UnkM445Struct_02 *arg0, float arg1, float arg2, float arg3) -{ - Vec sp30; - Vec sp24; - Vec sp18; - s32 var_r28; - float var_f27; - float var_f28; - UnkM445Struct_02 *temp_r31; - s32 i; - - var_r28 = -1; - for (i = 0, var_f28 = 10000.0f; i < 2; i++) { - if (i == arg0->unk18) { - continue; - } - temp_r31 = &lbl_1_bss_588[i]; - HuSetVecF(&sp30, arg1, arg2, arg3); - HuSetVecF(&sp24, temp_r31->unk34, temp_r31->unk38, temp_r31->unk3C); - HuSubVecF(&sp18, &sp30, &sp24); - if ((var_f27 = sqrtf(sp18.x * sp18.x + sp18.y * sp18.y + sp18.z * sp18.z)) < arg0->unk54 + temp_r31->unk54 && var_f27 < var_f28) { - var_f28 = var_f27; - var_r28 = i; - } - } - return var_r28; -} - -s32 fn_1_3334(UnkM445Struct_02 *arg0, s32 *arg1) -{ - Vec sp30; - Vec sp24; - Vec sp18; - float var_f27; - float var_f28; - UnkM445Struct_02 *temp_r31; - s32 var_r27; - s32 var_r28; - s32 i; - - var_r27 = -1; - for (i = 0, var_f28 = 10000.0f, var_r28 = 0; i < 2; i++) { - if (i == arg0->unk18) { - continue; - } - temp_r31 = &lbl_1_bss_588[i]; - HuSetVecF(&sp30, arg0->unk34, arg0->unk38, arg0->unk3C); - HuSetVecF(&sp24, temp_r31->unk34, temp_r31->unk38, temp_r31->unk3C); - HuSubVecF(&sp18, &sp30, &sp24); - if ((var_f27 = sqrtf(sp18.x * sp18.x + sp18.y * sp18.y + sp18.z * sp18.z)) < arg0->unk54 + temp_r31->unk54) { - var_r28++; - if (var_f27 < var_f28) { - var_f28 = var_f27; - var_r27 = i; - } - } - } - *arg1 = var_r28; - return var_r27; -} - -void fn_1_3548(UnkM445Struct_02 *arg0) -{ - Vec spA8; - Vec sp9C; - Vec sp90; - s32 sp68; - s32 var_r25; - s32 temp_r24; - float sp64; - float sp60; - float sp5C; - float sp58; - float sp54; - float sp50; - float sp4C; - float var_f20; - float var_f27; - float var_f26; - float var_f25; - UnkM445Struct_02 *var_r30; - UnkM445Struct_02 *temp_r27; - s32 i; - - temp_r24 = fn_1_3334(arg0, &sp68); - if (temp_r24 == -1) { - return; - } - var_f20 = fn_1_1858(atan2d(arg0->unk34 - arg0->unk40, arg0->unk3C - arg0->unk44)); - sp58 = var_f27 = arg0->unk40; - sp54 = var_f26 = arg0->unk44; - sp4C = 1.0f; - var_r25 = 1.0f + 10.0f / sp4C; - while (var_r25 != 0) { - var_f27 += sp4C * sind(var_f20); - var_f26 += sp4C * cosd(var_f20); - HuSetVecF(&spA8, var_f27, arg0->unk38, var_f26); - for (i = 0; i < 2; i++) { - if (i != arg0->unk18) { - var_r30 = &lbl_1_bss_588[i]; - HuSetVecF(&sp9C, var_r30->unk34, var_r30->unk38, var_r30->unk3C); - HuSubVecF(&sp90, &spA8, &sp9C); - if (sqrtf(sp90.x * sp90.x + sp90.y * sp90.y + sp90.z * sp90.z) < arg0->unk54 + var_r30->unk54) { - break; - } - } - } - if (i < 2) { - break; - } - AddX = 0.0f; - AddZ = 0.0f; - MapWall(arg0->unk54, var_f27, arg0->unk38 + arg0->unk54, var_f26); - if (AddX + AddZ != 0.0f) { - goto block_end; - } - sp58 = var_f27; - sp54 = var_f26; - var_r25--; - } - var_f20 = fn_1_1858(atan2d(arg0->unk34 - arg0->unk40, arg0->unk3C - arg0->unk44)); - var_f25 = fn_1_1858(atan2d(var_r30->unk34 - arg0->unk40, var_r30->unk3C - arg0->unk44)); - sp60 = var_f20 - var_f25; - if (sp60 > 0.0f) { - sp5C = -0.5f; - } - else { - sp5C = 0.5f; - } - if (ABS_INV(var_f20 - var_f25) > 180.0f) { - sp5C = -sp5C; - } - var_f25 = fn_1_1858(atan2d(arg0->unk40 - var_r30->unk34, arg0->unk44 - var_r30->unk3C)); - sp50 = 0.8f * arg0->unk58; - temp_r24 = var_r30->unk18; - sp64 = arg0->unk54 + var_r30->unk54 + 1.0f; - while (TRUE) { - var_f27 = var_r30->unk34 + sp64 * sind(var_f25); - var_f26 = var_r30->unk3C + sp64 * cosd(var_f25); - HuSetVecF(&spA8, var_f27, 0.0, var_f26); - for (i = 0; i < 2; i++) { - if (i != arg0->unk18 && i != temp_r24) { - temp_r27 = &lbl_1_bss_588[i]; - HuSetVecF(&sp9C, temp_r27->unk34, 0.0, temp_r27->unk3C); - HuSubVecF(&sp90, &spA8, &sp9C); - if (sqrtf(sp90.x * sp90.x + sp90.z * sp90.z) < arg0->unk54 + temp_r27->unk54) { - break; - } - } - } - if (i < 2) { - break; - } - AddX = 0.0f; - AddZ = 0.0f; - MapWall(arg0->unk54, var_f27, arg0->unk38 + arg0->unk54, var_f26); - if (AddX + AddZ >= 5.0f) { - break; - } - sp58 = var_f27; - sp54 = var_f26; - HuSetVecF(&spA8, arg0->unk40, 0.0, arg0->unk44); - HuSetVecF(&sp9C, var_f27, 0.0, var_f26); - HuSubVecF(&sp90, &spA8, &sp9C); - if (sqrtf(sp90.x * sp90.x + sp90.z * sp90.z) > sp50) { - break; - } - var_f25 += sp5C; - } -block_end: - arg0->unk34 = sp58; - arg0->unk3C = sp54; -} - -float fn_1_42A0(float arg0, float arg1, float arg2) -{ - float var_f31; - float var_f30; - - var_f31 = fmod(arg1 - arg0, 360.0); - if (0.0f > var_f31) { - var_f31 += 360.0f; - } - if (180.0f < var_f31) { - var_f31 -= 360.0f; - } - var_f30 = fmod(arg0 + var_f31 * arg2, 360.0); - if (0.0f > var_f30) { - var_f30 += 360.0f; - } - return var_f30; -} - -BOOL fn_1_43A4(UnkM445Struct_02 *arg0, float arg1, float arg2) -{ - Vec sp2C; - Vec sp20; - Vec sp14; - BOOL var_r30; - - var_r30 = FALSE; - HuSetVecF(&sp2C, arg0->unk34 + 120.0 * sind(arg0->unk4C), 0.0, arg0->unk3C + 120.0 * cosd(arg0->unk4C)); - HuSetVecF(&sp20, arg1, 0.0, arg2); - HuSubVecF(&sp14, &sp2C, &sp20); - if (sqrtf(sp14.x * sp14.x + sp14.z * sp14.z) < 80.0f) { - var_r30 = TRUE; - } - return var_r30; -} - -void fn_1_45D0(UnkM445Struct_02 *arg0) -{ - Vec spC8; - Vec spBC; - Vec spB0; - float sp64; - float sp60; - float sp5C; - float sp58; - float sp54; - float var_f24; - UnkM445Struct_00 *temp_r30; - UnkM445Struct_02 *var_r28; - u32 var_r27; - s32 i; - - arg0->unk7C = arg0->unk7D = 0; - arg0->unk7F = arg0->unk7E = 0; - arg0->unk80 = arg0->unk82 = 0; - if (arg0->unk18 != 0) { - var_r28 = &lbl_1_bss_588[0]; - } - else { - var_r28 = &lbl_1_bss_588[1]; - } - switch (GWPlayerCfg[arg0->unk18].diff) { - case 0: - var_r27 = 90; - sp58 = 90.0f; - sp54 = 0.4f; - break; - case 1: - var_r27 = 95; - sp58 = 60.0f; - sp54 = 0.6f; - break; - case 2: - var_r27 = 99; - sp58 = 30.0f; - sp54 = 0.8f; - break; - default: - var_r27 = 100; - sp58 = 10.0f; - sp54 = 1.0f; - break; - } - for (i = 0, sp5C = 10000.0f; i < 8; i++) { - temp_r30 = &lbl_1_bss_288[i]; - if (temp_r30->unk1C >= 1 && !(temp_r30->unk44 < sp58)) { - HuSetVecF(&spC8, arg0->unk34, 0.0, arg0->unk3C); - HuSetVecF(&spBC, temp_r30->unk48, 0.0, temp_r30->unk4C); - HuSubVecF(&spB0, &spC8, &spBC); - var_f24 = sqrtf(spB0.x * spB0.x + spB0.z * spB0.z); - sp60 = sqrtf(arg0->unk34 * arg0->unk34 + arg0->unk3C * arg0->unk3C); - if (sp60 < 200.0f) { - sp60 = 400.0f; - } - else { - sp60 = 600.0f; - } - if (sp5C > var_f24 && var_f24 < sp60) { - HuSetVecF(&spC8, var_r28->unk34, 0.0, var_r28->unk3C); - HuSetVecF(&spBC, temp_r30->unk48, 0.0, temp_r30->unk4C); - HuSubVecF(&spB0, &spC8, &spBC); - if (sqrtf(spB0.x * spB0.x + spB0.z * spB0.z) > 50.0f) { - arg0->unk98 = i; - sp5C = var_f24; - } - } - } - } - if (arg0->unk98 == -1) { - for (i = 0, sp5C = 10000.0f; i < 8; i++) { - temp_r30 = &lbl_1_bss_288[i]; - HuSetVecF(&spC8, arg0->unk34, 0.0, arg0->unk3C); - HuSetVecF(&spBC, temp_r30->unk48, 0.0, temp_r30->unk4C); - HuSubVecF(&spB0, &spC8, &spBC); - var_f24 = sqrtf(spB0.x * spB0.x + spB0.z * spB0.z); - if (sp5C > var_f24 && var_f24 > 200.0f) { - arg0->unk98 = i; - sp5C = var_f24; - sp54 = 0.3f; - } - } - } - if (arg0->unk98 != -1) { - temp_r30 = &lbl_1_bss_288[arg0->unk98]; - arg0->unk84 = temp_r30->unk48; - arg0->unk88 = temp_r30->unk4C; - HuSetVecF(&spC8, arg0->unk34, 0.0, arg0->unk3C); - HuSetVecF(&spBC, arg0->unk84, 0.0, arg0->unk88); - HuSubVecF(&spB0, &spC8, &spBC); - var_f24 = sqrtf(spB0.x * spB0.x + spB0.z * spB0.z); - if (var_f24 > 20.0f) { - sp64 = atan2d(arg0->unk84 - arg0->unk34, arg0->unk88 - arg0->unk3C); - arg0->unk7C = 50.0 * sind(sp64) * sp54; - arg0->unk7D = -50.0 * cosd(sp64) * sp54; - } - else { - if (temp_r30->unk1C == 2) { - for (i = 0; i < lbl_1_data_260[temp_r30->unk14]; i++) { - if (temp_r30->unk20[i] == 0) { - sp64 = atan2d(temp_r30->unk50[i] - arg0->unk34, temp_r30->unk58[i] - arg0->unk3C); - arg0->unk7C = 15.0 * sind(sp64); - arg0->unk7D = -15.0 * cosd(sp64); - } - } - } - if (frandmod(100) > var_r27) { - arg0->unk82 |= 0x100; - } - arg0->unk98 = -1; - } - if (temp_r30->unk1C == 2) { - if (fn_1_43A4(arg0, temp_r30->unk50[0], temp_r30->unk58[0]) && temp_r30->unk20[0] == 0) { - arg0->unk82 |= 0x100; - } - if (lbl_1_data_260[temp_r30->unk14] > 1 && fn_1_43A4(arg0, temp_r30->unk50[1], temp_r30->unk58[1]) && temp_r30->unk20[1] == 0) { - arg0->unk82 |= 0x100; - } - } - } -} - -void fn_1_557C(void) -{ - s32 j; - s32 i; - - for (i = 0; i < 2; i++) { - for (j = 0; j < 5; j++) { - HuSprAttrReset(lbl_1_bss_588[i].unk04, j, HUSPR_ATTR_DISPOFF); - } - } -} - -void fn_1_55F0(void) -{ - s32 j; - s32 i; - - for (i = 0; i < 2; i++) { - for (j = 0; j < 5; j++) { - HuSprAttrSet(lbl_1_bss_588[i].unk04, j, HUSPR_ATTR_DISPOFF); - } - } -} - -void fn_1_5664(UnkM445Struct_02 *arg0, s32 arg1) -{ - HuSprBankSet(arg0->unk04, 3, arg1 % 10); - HuSprBankSet(arg0->unk04, 4, arg1 / 10); - HuSprAttrReset(arg0->unk04, 4, HUSPR_ATTR_DISPOFF); -} - -void fn_1_5700(UnkM445Struct_02 *arg0) -{ - Vec sp38; - Vec sp2C; - Vec sp20; - float temp_f27; - float var_f26; - float var_f21; - float var_f20; - UnkM445Struct_02 *var_r27; - s32 i; - s32 var_r28; - - if (lbl_1_bss_6DC == 4) { - arg0->unk28 = 1; - for (i = 10, var_f21 = 1.0f; i != 0; i--, var_f21 -= 0.1f) { - Hu3DModelScaleSet(arg0->unk06, var_f21, var_f21, var_f21); - HuPrcVSleep(); - } - Hu3DModelAttrSet(arg0->unk06, HU3D_ATTR_DISPOFF); - arg0->unk06 = -1; - Hu3DMotionOverlayReset(arg0->unk00); - if (lbl_1_bss_588[0].unk06 == -1 && lbl_1_bss_588[1].unk06 == -1) { - lbl_1_bss_6DC = 5; - } - return; - } - Hu3DMotionOverlayReset(arg0->unk00); - arg0->unk7C = arg0->unk7D = 0; - arg0->unk7F = arg0->unk7E = 0; - arg0->unk80 = arg0->unk82 = 0; - var_r28 = 0; - if (arg0->unk18 == 0) { - if (arg0->unk34 <= -152.0f) { - arg0->unk84 = -230.0f; - arg0->unk88 = 45.0f; - var_r28 = 1; - } - else if (arg0->unk3C > 203.0f || arg0->unk3C < -203.0f) { - arg0->unk84 = -170.0f; - arg0->unk88 = arg0->unk3C; - } - else { - arg0->unk84 = arg0->unk34; - if (arg0->unk3C > 0.0f) { - arg0->unk88 = 210.0f; - } - else { - arg0->unk88 = -210.0f; - } - } - } - else { - if (arg0->unk34 >= 152.0f) { - arg0->unk84 = 230.0f; - arg0->unk88 = -45.0f; - var_r28 = 1; - } - else if (arg0->unk3C > 203.0f || arg0->unk3C < -203.0f) { - arg0->unk84 = 170.0f; - arg0->unk88 = arg0->unk3C; - } - else { - arg0->unk84 = arg0->unk34; - if (arg0->unk3C > 0.0f) { - arg0->unk88 = 210.0f; - } - else { - arg0->unk88 = -210.0f; - } - } - } - var_r27 = (arg0->unk18 != 0) ? &lbl_1_bss_588[0] : &lbl_1_bss_588[1]; - HuSetVecF(&sp38, arg0->unk34, 0.0, arg0->unk3C); - HuSetVecF(&sp2C, var_r27->unk34, 0.0, var_r27->unk3C); - HuSubVecF(&sp20, &sp38, &sp2C); - var_f26 = sqrtf(sp20.x * sp20.x + sp20.z * sp20.z); - if (var_f26 <= 110.0f) { - var_f26 = sqrtf(arg0->unk34 * arg0->unk34 + arg0->unk3C * arg0->unk3C); - var_f20 = sqrtf(var_r27->unk34 * var_r27->unk34 + var_r27->unk3C * var_r27->unk3C); - if (lbl_1_bss_4 == -1) { - temp_f27 = atan2d(arg0->unk34, arg0->unk3C); - if (var_f26 < 400.0f) { - if (var_f26 > var_f20) { - lbl_1_bss_4 = arg0->unk18; - lbl_1_bss_0 = temp_f27; - arg0->unk84 = arg0->unk34 + 100.0 * sind(temp_f27); - arg0->unk88 = arg0->unk3C + 100.0 * cosd(temp_f27); - } - } - else { - if (var_f26 < var_f20) { - temp_f27 += 180.0f; - lbl_1_bss_4 = arg0->unk18; - lbl_1_bss_0 = temp_f27; - arg0->unk84 = arg0->unk34 + 100.0 * sind(temp_f27); - arg0->unk88 = arg0->unk3C + 100.0 * cosd(temp_f27); - } - } - } - else if (arg0->unk18 == lbl_1_bss_4) { - OSReport("pno %d dir %f\n", arg0->unk18, lbl_1_bss_0); - arg0->unk84 = arg0->unk34 + 100.0 * sind(lbl_1_bss_0); - arg0->unk88 = arg0->unk3C + 100.0 * cosd(lbl_1_bss_0); - } - } - HuSetVecF(&sp38, arg0->unk34, 0.0, arg0->unk3C); - HuSetVecF(&sp2C, arg0->unk84, 0.0, arg0->unk88); - HuSubVecF(&sp20, &sp38, &sp2C); - var_f26 = sqrtf(sp20.x * sp20.x + sp20.z * sp20.z); - if (var_f26 < 20.0f && var_r28 != 0) { - arg0->unk24 = 4; - } - temp_f27 = atan2d(arg0->unk84 - arg0->unk34, arg0->unk88 - arg0->unk3C); - arg0->unk7C = 50.0 * sind(temp_f27); - arg0->unk7D = -50.0 * cosd(temp_f27); -} - -void fn_1_6268(void) -{ - Vec sp1D8; - s32 sp120; - float sp11C; - float var_f19; - UnkM445Struct_02 *temp_r31; - UnkM445Struct_00 *temp_r30; - u32 var_r24; - s32 var_r26; - s32 var_r28; - s32 i; - - temp_r31 = HuPrcCurrentGet()->user_data; - temp_r31->unk24 = 0; - temp_r31->unk90 = 0; - temp_r31->unk98 = -1; - temp_r31->unk28 = 1; - lbl_1_bss_4 = -1; - while (lbl_1_bss_6DC == 0) { - HuPrcVSleep(); - } - lbl_1_bss_6DC = 2; - while (lbl_1_bss_6DC == 2) { - HuPrcVSleep(); - } - while (TRUE) { - temp_r31->unk40 = temp_r31->unk34; - temp_r31->unk44 = temp_r31->unk3C; - if (GWPlayerCfg[temp_r31->unk18].iscom == 1) { - fn_1_45D0(temp_r31); - } - if (lbl_1_bss_6DC >= 4) { - fn_1_5700(temp_r31); - } - switch (temp_r31->unk24) { - case 4: - goto block_exit_loop; - } - if (fn_1_3010(temp_r31->unk18) & 0x100) { - if (fn_1_520(temp_r31->unk18) == FALSE) { - Hu3DMotionOverlayReset(temp_r31->unk00); - CharModelMotionSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk18].character], temp_r31->unk08[5]); - } - else { - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk08[4]); - Hu3DMotionSpeedSet(temp_r31->unk00, 1.0f); - } - Hu3DModelAttrReset(temp_r31->unk00, HU3D_MOTATTR_LOOP); - HuPrcSleep(15); - if (temp_r31->unk18 != 0) { - fn_1_4B8(temp_r31->unk34, temp_r31->unk3C, 0x75F); - } - else { - fn_1_4B8(temp_r31->unk34, temp_r31->unk3C, 0x75E); - } - HuPrcSleep(15); - HuSetVecF(&sp1D8, temp_r31->unk34 + 120.0 * sind(temp_r31->unk4C), 0.0, temp_r31->unk3C + 120.0 * cosd(temp_r31->unk4C)); - for (i = 0; i < 8; i++) { - temp_r30 = &lbl_1_bss_288[i]; - if (temp_r30->unk1C == 2) { - sp120 = 0; - if (fn_1_43A4(temp_r31, temp_r30->unk50[0], temp_r30->unk58[0]) && temp_r30->unk20[0] == 0) { - sp120 = 1; - temp_r30->unk20[0] = 1; - temp_r30->unk28 = temp_r31->unk18; - if (temp_r31->unk18 != 0) { - fn_1_4B8(temp_r30->unk48, temp_r30->unk4C, 0x75D); - } - else { - fn_1_4B8(temp_r30->unk48, temp_r30->unk4C, 0x750); - } - Hu3DModelAttrReset(temp_r31->unk02, HU3D_ATTR_DISPOFF); - Hu3DMotionTimeSet(temp_r31->unk02, 0.0f); - Hu3DModelPosSet(temp_r31->unk02, sp1D8.x, 160.0f, sp1D8.z + 100.0f); - if (temp_r30->unk38 != 0) { - temp_r31->unk30 += 2; - } - else { - temp_r31->unk30++; - } - fn_1_5664(temp_r31, temp_r31->unk30); - } - if (lbl_1_data_260[temp_r30->unk14] > 1 && fn_1_43A4(temp_r31, temp_r30->unk50[1], temp_r30->unk58[1]) - && temp_r30->unk20[1] == 0) { - temp_r30->unk20[1] = 1; - temp_r30->unk2C = temp_r31->unk18; - if (temp_r31->unk18 != 0) { - fn_1_4B8(temp_r30->unk48, temp_r30->unk4C, 0x75D); - } - else { - fn_1_4B8(temp_r30->unk48, temp_r30->unk4C, 0x750); - } - Hu3DModelAttrReset(temp_r31->unk02, HU3D_ATTR_DISPOFF); - Hu3DMotionTimeSet(temp_r31->unk02, 0.0f); - Hu3DModelPosSet(temp_r31->unk02, sp1D8.x, 160.0f, sp1D8.z + 100.0f); - if (temp_r30->unk38 != 0) { - temp_r31->unk30 += 2; - } - else { - temp_r31->unk30++; - } - fn_1_5664(temp_r31, temp_r31->unk30); - } - } - } - while (!Hu3DMotionEndCheck(temp_r31->unk00)) { - HuPrcVSleep(); - } - temp_r31->unk24 = 0; - if (fn_1_520(temp_r31->unk18) == FALSE) { - CharModelMotionSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk18].character], temp_r31->unk08[0]); - Hu3DModelAttrSet(temp_r31->unk00, HU3D_MOTATTR_OVL_LOOP); - if (lbl_1_bss_6DC < 5) { - Hu3DMotionOverlaySet(temp_r31->unk00, temp_r31->unk08[4]); - Hu3DModelAttrSet(temp_r31->unk00, HU3D_MOTATTR_OVL_LOOP); - } - } - else { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk08[0], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSpeedSet(temp_r31->unk00, 1.0f); - } - } - else { - HuSetVecF(&sp1D8, fn_1_2E68(temp_r31->unk18, 0) / 4.0f, 0.0, -fn_1_2E68(temp_r31->unk18, 1) / 4.0f); - temp_r31->unk5C = sqrtf(sp1D8.x * sp1D8.x + sp1D8.y * sp1D8.y + sp1D8.z * sp1D8.z); - if (temp_r31->unk5C >= 0.5f) { - if (temp_r31->unk5C >= 10.0f) { - sp1D8.x /= temp_r31->unk5C; - sp1D8.z /= temp_r31->unk5C; - temp_r31->unk5C = 10.0f; - sp1D8.x = 10.0f * sp1D8.x; - sp1D8.z = 10.0f * sp1D8.z; - } - temp_r31->unk4C = fn_1_1858(fn_1_42A0(temp_r31->unk4C, atan2d(sp1D8.x, sp1D8.z), 0.4f)); - if (temp_r31->unk5C >= 8.0f) { - if (temp_r31->unk24 != 2) { - temp_r31->unk24 = 2; - if (fn_1_520(temp_r31->unk18) == FALSE) { - CharModelMotionShiftSet( - lbl_1_data_0[GWPlayerCfg[temp_r31->unk18].character], temp_r31->unk08[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - if (lbl_1_bss_6DC < 5) { - Hu3DMotionOverlaySet(temp_r31->unk00, temp_r31->unk08[4]); - Hu3DModelAttrSet(temp_r31->unk00, HU3D_MOTATTR_OVL_LOOP); - } - } - else { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk08[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); - } - } - } - else if (temp_r31->unk24 != 1) { - temp_r31->unk24 = 1; - if (fn_1_520(temp_r31->unk18) == FALSE) { - CharModelMotionShiftSet( - lbl_1_data_0[GWPlayerCfg[temp_r31->unk18].character], temp_r31->unk08[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - if (lbl_1_bss_6DC < 5) { - Hu3DMotionOverlaySet(temp_r31->unk00, temp_r31->unk08[4]); - Hu3DModelAttrSet(temp_r31->unk00, HU3D_MOTATTR_OVL_LOOP); - } - } - else { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk08[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); - } - } - } - else if (temp_r31->unk24 != 0) { - temp_r31->unk24 = 0; - if (fn_1_520(temp_r31->unk18) == FALSE) { - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk18].character], temp_r31->unk08[0], 0.0f, 0.0f, HU3D_MOTATTR_LOOP); - if (lbl_1_bss_6DC < 5) { - Hu3DMotionOverlaySet(temp_r31->unk00, temp_r31->unk08[4]); - Hu3DModelAttrSet(temp_r31->unk00, HU3D_MOTATTR_OVL_LOOP); - } - } - else { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk08[0], 0.0f, 0.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSpeedSet(temp_r31->unk00, 1.0f); - } - } - temp_r31->unk70.x = sp1D8.x; - temp_r31->unk70.z = sp1D8.z; - temp_r31->unk58 = temp_r31->unk5C; - temp_r31->unk34 += temp_r31->unk70.x; - temp_r31->unk3C += temp_r31->unk70.z; - } - if ((temp_r31->unk2C = fn_1_3114(temp_r31, temp_r31->unk34, temp_r31->unk38, temp_r31->unk3C)) != -1) { - fn_1_3548(temp_r31); - } - AddX = 0.0f; - AddZ = 0.0f; - MapWall(temp_r31->unk54, temp_r31->unk34, temp_r31->unk38 + temp_r31->unk54, temp_r31->unk3C); - temp_r31->unk34 += AddX; - temp_r31->unk3C += AddZ; - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk34, temp_r31->unk38, temp_r31->unk3C); - Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk48, temp_r31->unk4C, temp_r31->unk50); - HuPrcVSleep(); - } -block_exit_loop: - lbl_1_bss_6DC = 6; - if (fn_1_520(temp_r31->unk18) == FALSE) { - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk18].character], temp_r31->unk08[0], 0.0f, 2.0f, HU3D_MOTATTR_LOOP); - } - else { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk08[0], 0.0f, 0.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSpeedSet(temp_r31->unk00, 1.0f); - } - var_f19 = 10.0f; - i = (360.0f - fn_1_1858(temp_r31->unk4C)) / var_f19; - if (temp_r31->unk4C < 180.0f) { - i = fn_1_1858(temp_r31->unk4C) / var_f19; - var_f19 = -var_f19; - } - for (; i != 0; i--) { - temp_r31->unk4C += var_f19; - Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk48, temp_r31->unk4C, temp_r31->unk50); - HuPrcVSleep(); - } - Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk48, 0.0f, temp_r31->unk50); - while (lbl_1_bss_6DC < 7) { - HuPrcVSleep(); - } - if (lbl_1_bss_588->unk30 == lbl_1_bss_588[1].unk30) { - var_r26 = -1; - } - if (lbl_1_bss_588->unk30 < lbl_1_bss_588[1].unk30) { - var_r26 = 1; - } - if (lbl_1_bss_588->unk30 > lbl_1_bss_588[1].unk30) { - var_r26 = 0; - } - var_r24 = HU3D_MOTATTR_NONE; - if (temp_r31->unk18 != 0) { - if (fn_1_520(1) == FALSE) { - if (var_r26 != -1) { - HuAudSStreamPlay(1); - } - else { - HuAudSStreamPlay(4); - } - } - else { - if (var_r26 == 0) { - HuAudSStreamPlay(1); - } - else { - HuAudSStreamPlay(3); - } - } - } - if (var_r26 == -1) { - if (fn_1_520(temp_r31->unk18) == FALSE) { - var_r28 = 7; - } - else { - var_r28 = 6; - } - } - else { - GWPlayerCoinWinSet(var_r26, 10); - if (var_r26 == temp_r31->unk18) { - var_r28 = 6; - } - else { - var_r28 = 7; - } - } - if (fn_1_520(temp_r31->unk18) == FALSE) { - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk18].character], temp_r31->unk08[var_r28], 0.0f, 8.0f, var_r24); - } - else { - if (var_r28 == 6) { - var_r28 = 5; - var_r24 = HU3D_MOTATTR_LOOP; - } - else { - var_r28 = 6; - var_r24 = HU3D_MOTATTR_NONE; - } - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk08[var_r28], 0.0f, 8.0f, var_r24); - if (var_r28 == 6) { - for (i = 10, sp11C = 30.0f / i; i != 0; i--) { - temp_r31->unk4C += sp11C; - Hu3DModelRotSet(temp_r31->unk00, 0.0f, temp_r31->unk4C, 0.0f); - HuPrcVSleep(); - } - } - } - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_7FC0(ModelData *model, ParticleData *particle, Mtx matrix) -{ - HsfanimStruct01 *var_r31; - UnkM445Struct_02 *temp_r29; - float var_f31; - s16 var_r27; - s16 var_r28; - - if (particle->unk_34 == 0) { - var_r31 = particle->unk_48; - for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { - var_r31->unk14.x = var_r31->unk2C = 0.0f; - } - } - var_r31 = particle->unk_48; - for (var_r27 = 0; var_r27 < 2; var_r27++) { - temp_r29 = &lbl_1_bss_588[var_r27]; - if (temp_r29->unk28 != 0) { - for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { - if (var_r31->unk14.x == 0.0f) { - break; - } - } - if (var_r28 == particle->unk_30) { - break; - } - var_r31->unk34.x = temp_r29->unk34 + 50.0 * sind(temp_r29->unk4C - 90.0f); - var_r31->unk34.y = temp_r29->unk38 + 98.0f; - var_r31->unk34.z = temp_r29->unk3C + 50.0 * cosd(temp_r29->unk4C - 90.0f); - var_r31->unk14.x = 30.0f; - var_r31->unk2C = 100.0f; - var_r31->unk14.y = 10.0f; - var_r31->unk40.a = 200; - var_r31->unk14.z = 17.0f; - temp_r29->unk28 = 0; - } - } - var_r31 = particle->unk_48; - for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { - if (0.0f != var_r31->unk14.x) { - var_r31->unk2C += var_r31->unk14.y; - if (var_r31->unk14.y > 2.0f) { - var_r31->unk14.y -= 0.2f; - } - var_f31 = var_r31->unk40.a; - var_f31 -= var_r31->unk14.z; - if (var_r31->unk14.z > 3.0f) { - var_r31->unk14.z -= 1.0f; - } - if (var_f31 < 0.0f) { - var_f31 = 0.0f; - var_r31->unk14.x = 0.0f; - } - var_r31->unk40.a = var_f31; - if (0.0f == var_r31->unk14.x) { - var_r31->unk2C = 0.0f; - } - } - } -} - -void fn_1_8320(void) -{ - float sp20[2]; - GXColor sp1C; - WindowData *var_r26; - UnkM445Struct_02 *temp_r31; - s16 temp_r25; - s16 var_r29; - u32 var_r27; - s32 temp_r28; - s32 var_r24; - s32 i; - - HuPrcSleep(30); - HuAudFXPlay(0x755); - temp_r28 = lbl_1_bss_288[5].unk00; - Hu3DModelAttrReset(temp_r28, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - while (!Hu3DMotionEndCheck(temp_r28)) { - HuPrcVSleep(); - } - HuAudFXPlay(0x756); - Hu3DMotionSet(temp_r28, lbl_1_bss_288[5].unk02[0]); - Hu3DModelAttrSet(temp_r28, HU3D_MOTATTR_LOOP); - HuPrcSleep(30); - for (i = 30; i != 0; i--) { - CRotM[0].x += -0.55f; - CenterM[0].y += -11.5f; - CZoomM[0] += 51.333332f; - HuPrcVSleep(); - } - if (fn_1_520(1) == TRUE) { - temp_r25 = HuAudSeqPlay(0x3D); - HuWinMesMaxSizeGet(8, sp20, MAKE_MESSID(41, 1), MAKE_MESSID(41, 2), MAKE_MESSID(41, 3), MAKE_MESSID(41, 4), MAKE_MESSID(41, 5), - MAKE_MESSID(41, 6), MAKE_MESSID(41, 7), MAKE_MESSID(41, 8)); - var_r29 = HuWinCreate(-10000.0f, 40.0f, sp20[0], sp20[1], 1); - HuWinPriSet(var_r29, 0x100); - sp1C.r = sp1C.g = sp1C.b = 0xFF; - HuWinBGColSet(var_r29, &sp1C); - HuWinBGTPLvlSet(var_r29, 0.9f); - HuWinMesColSet(var_r29, 0); - var_r26 = &winData[var_r29]; - var_r26->mess_shadow_color = 9; - HuWinMesSpeedSet(var_r29, 0); - HuWinDisablePlayerSet(var_r29, (1 << GWPlayerCfg->pad_idx) ^ 0xF); - HuWinExAnimIn(var_r29); - HuWinMesSet(var_r29, MAKE_MESSID(41, 1)); - HuWinMesWait(var_r29); - HuWinMesColSet(var_r29, 0); - HuWinMesSet(var_r29, MAKE_MESSID(41, 2)); - var_r24 = HuWinChoiceGet(var_r29, 0); - if (var_r24 == 0) { - i = 5; - var_r27 = MAKE_MESSID(41, 3); - } - else { - i = 1; - var_r27 = MAKE_MESSID(41, 8); - } - for (; i != 0; i--) { - HuWinMesColSet(var_r29, 0); - HuWinMesSet(var_r29, var_r27++); - HuWinMesWait(var_r29); - } - HuAudSeqFadeOut(temp_r25, 1000); - HuWinExAnimOut(var_r29); - HuWinAllKill(); - } - for (i = 0; i < 2; i++) { - temp_r31 = &lbl_1_bss_588[i]; - if (fn_1_520(temp_r31->unk18) == FALSE) { - CharModelMotionSet(lbl_1_data_0[GWPlayerCfg[i].character], temp_r31->unk08[3]); - } - else { - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk08[3]); - } - Hu3DModelAttrReset(temp_r31->unk00, HU3D_MOTATTR_LOOP); - } - HuPrcSleep(20); - for (i = 0; i < 2; i++) { - temp_r31 = &lbl_1_bss_588[i]; - Hu3DModelPosSet(temp_r31->unk06, 0.0f, 0.0f, 0.0f); - Hu3DModelRotSet(temp_r31->unk06, 0.0f, 0.0f, 0.0f); - if (fn_1_520(temp_r31->unk18) == FALSE) { - Hu3DModelHookSet(temp_r31->unk00, CharModelHookNameGet(GWPlayerCfg[i].character, 2, 0), temp_r31->unk06); - } - else { - Hu3DModelHookSet(temp_r31->unk00, "itemhook_r", temp_r31->unk06); - } - } - HuPrcSleep(20); - for (i = 0; i < 2; i++) { - temp_r31 = &lbl_1_bss_588[i]; - if (fn_1_520(temp_r31->unk18) == FALSE) { - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk18].character], temp_r31->unk08[0], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionOverlaySet(temp_r31->unk00, temp_r31->unk08[4]); - } - else { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk08[0], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - } -} - -void fn_1_8938(void) -{ - s32 i; - - while (lbl_1_bss_6DC < 6) { - HuPrcVSleep(); - } - for (i = 30; i != 0; i--) { - CZoomM[0] += -27.7f; - HuPrcVSleep(); - } -} - -void fn_1_89B8(void) -{ - while (TRUE) { - if (omSysExitReq == 1) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuAudFadeOut(1000); - HuPrcSleep(60); - MGSeqKillAll(); - omOvlReturnEx(1, 1); - while (TRUE) { - HuPrcVSleep(); - } - } - HuPrcVSleep(); - } -} - -void fn_1_8A18(void) -{ - s16 temp_r28; - s16 var_r31; - s16 temp_r26; - s32 var_r25; - s32 i; - - lbl_1_bss_6DC = 0; - fn_1_8320(); - HuPrcSleep(30); - lbl_1_bss_6DC = 1; - while (lbl_1_bss_6DC == 1) { - HuPrcVSleep(); - } - var_r25 = HuAudSeqPlay(0x3E); - temp_r28 = MGSeqStartCreate(); - while (MGSeqStatGet(temp_r28) != 0) { - HuPrcVSleep(); - } - fn_1_557C(); - var_r31 = 3659; - temp_r26 = MGSeqTimerCreate(var_r31 / 60); - lbl_1_bss_6DC = 3; - while (TRUE) { - if (var_r31 < 59) { - break; - } - MGSeqParamSet(temp_r26, 1, var_r31-- / 60); - lbl_1_bss_6D8++; - HuPrcVSleep(); - } - lbl_1_bss_6C4 = -1; - if (lbl_1_bss_588->unk30 != lbl_1_bss_588[1].unk30) { - lbl_1_bss_6C4 = 0; - if (lbl_1_bss_588->unk30 < lbl_1_bss_588[1].unk30) { - lbl_1_bss_6C4 = 1; - } - } - lbl_1_bss_6DC = 4; - HuAudSeqFadeOut(var_r25, 100); - MGSeqParamSet(temp_r26, 2, -1); - temp_r28 = MGSeqFinishCreate(); - while (MGSeqStatGet(temp_r28) != 0) { - HuPrcVSleep(); - } - while (lbl_1_bss_588->unk24 != 4 || lbl_1_bss_588[1].unk24 != 4) { - HuPrcVSleep(); - } - while (lbl_1_bss_6DC < 6) { - HuPrcVSleep(); - } - for (i = 30; i != 0; i--) { - CZoomM[0] += -27.7f; - HuPrcVSleep(); - } - lbl_1_bss_6DC = 7; - HuPrcSleep(210); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuPrcSleep(60); - HuAudFadeOut(1); - MGSeqKillAll(); - omOvlReturnEx(1, 1); - while (TRUE) { - HuPrcVSleep(); - } -} diff --git a/src/REL/m446Dll/camera.c b/src/REL/m446Dll/camera.c index 8a49a82f..ef322bf3 100644 --- a/src/REL/m446Dll/camera.c +++ b/src/REL/m446Dll/camera.c @@ -51,7 +51,7 @@ void fn_1_68DC(void) { f32 temp_f31; if (lbl_1_bss_38 != 0) { - temp_f31 = sind(90.0f * lbl_1_bss_40); + temp_f31 = sin((M_PI * (90.0f * lbl_1_bss_40)) / 180.0); temp_f31 *= temp_f31; lbl_1_bss_8C.x = lbl_1_bss_54.x + (temp_f31 * (lbl_1_bss_70.x - lbl_1_bss_54.x)); lbl_1_bss_8C.y = lbl_1_bss_54.y + (temp_f31 * (lbl_1_bss_70.y - lbl_1_bss_54.y)); @@ -138,4 +138,4 @@ void fn_1_709C(void) { print8(0x20, 0x84, 1.5f, "LOOKAT : x=%.2f y=%.2f z=%.2f", lbl_1_bss_8C.x, lbl_1_bss_8C.y, lbl_1_bss_8C.z); print8(0x20, 0x94, 1.5f, "ANGLE : x=%.2f y=%.2f z=%.2f", lbl_1_bss_80.x, lbl_1_bss_80.y, lbl_1_bss_80.z); print8(0x20, 0xA4, 1.5f, "ZOOM : %.2f", lbl_1_bss_7C); -} +} \ No newline at end of file diff --git a/src/REL/m446Dll/card.c b/src/REL/m446Dll/card.c index fa45170f..8f4c5f72 100644 --- a/src/REL/m446Dll/card.c +++ b/src/REL/m446Dll/card.c @@ -1,25 +1,24 @@ #include "REL/m446Dll.h" #include "game/hsfman.h" -#include "ext_math.h" +#include "math.h" // data -m446Func4 lbl_1_data_150[3] = { NULL, fn_1_2AA8, fn_1_2DA8 }; -static const s32 lbl_1_rodata_58[5] = { 0x4D0001, 0x4D0002, 0x4D0003, 0x4D0004, 0x4D0000 }; -static const s32 lbl_1_rodata_6C[5] = { 0x4D001B, 0x4D001C, 0x4D001D, 0x4D001E, 0x4D001E }; +m446Func4 lbl_1_data_150[3] = {NULL, fn_1_2AA8, fn_1_2DA8}; +static const s32 lbl_1_rodata_58[5] = {0x4D0001, 0x4D0002, 0x4D0003, 0x4D0004, 0x4D0000}; +static const s32 lbl_1_rodata_6C[5] = {0x4D001B, 0x4D001C, 0x4D001D, 0x4D001E, 0x4D001E}; // bss -unkStruct3 *lbl_1_bss_18; +unkStruct3* lbl_1_bss_18; -unkStruct2 *fn_1_1C64(s32 arg0) -{ - unkStruct2 *temp_r3; +unkStruct2* fn_1_1C64(s32 arg0) { + unkStruct2* temp_r3; - temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xC, MEMORY_DEFAULT_NUM); + temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xC, 0x10000000U); if (!temp_r3) { return NULL; } - temp_r3->unk0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 4, MEMORY_DEFAULT_NUM); + temp_r3->unk0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 4, 0x10000000U); if (!temp_r3->unk0) { HuMemDirectFree(temp_r3); return NULL; @@ -29,64 +28,54 @@ unkStruct2 *fn_1_1C64(s32 arg0) return temp_r3; } -void fn_1_1CF8(unkStruct2 *arg0) -{ +void fn_1_1CF8(unkStruct2* arg0) { HuMemDirectFree(arg0->unk0); HuMemDirectFree(arg0); } -s32 fn_1_1D30(unkStruct2 *arg0, void *arg1) -{ +s32 fn_1_1D30(unkStruct2* arg0, void* arg1) { if (arg0->unk4 <= arg0->unk8) { return 0; - } - else { + } else { arg0->unk0[arg0->unk8] = arg1; arg0->unk8++; return 1; } } -s32 fn_1_1D6C(unkStruct2 *arg0, unkStruct4 **arg1) -{ +s32 fn_1_1D6C(unkStruct2* arg0, unkStruct4** arg1) { if (arg0->unk8 <= 0) { return 0; - } - else { + } else { arg0->unk8--; *arg1 = arg0->unk0[arg0->unk8]; return 1; } } -s32 fn_1_1DA8(unkStruct2 *arg0, void **arg1) -{ +s32 fn_1_1DA8(unkStruct2* arg0, void** arg1) { if (arg0->unk8 <= 0) { return 0; - } - else { + } else { *arg1 = *(&arg0->unk0[arg0->unk8] - 1); return 1; } } -BOOL fn_1_1DDC(unkStruct2 *arg0) -{ +BOOL fn_1_1DDC(unkStruct2* arg0) { return arg0->unk8 == 0; } -s32 fn_1_1DEC(unkStruct2 *arg0) -{ +s32 fn_1_1DEC(unkStruct2* arg0) { return arg0->unk8; } #pragma dont_inline on -unkStruct3 *fn_1_1DF4(void *arg0) -{ - unkStruct3 *temp_r3; +unkStruct3* fn_1_1DF4(void* arg0) { + unkStruct3* temp_r3; - temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xC, MEMORY_DEFAULT_NUM); + temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xC, 0x10000000); if (!temp_r3) { return NULL; } @@ -96,20 +85,17 @@ unkStruct3 *fn_1_1DF4(void *arg0) return temp_r3; } -void fn_1_1E5C(unkStruct3 *arg0) -{ +void fn_1_1E5C(unkStruct3* arg0) { HuMemDirectFree(arg0); } -void fn_1_1E84(unkStruct3 **arg0) -{ +void fn_1_1E84(unkStruct3** arg0) { unkStruct3 *temp = *arg0; HuMemDirectFree(temp); *arg0 = NULL; } -void fn_1_1EC8(unkStruct3 *arg0, unkStruct3 *arg1) -{ +void fn_1_1EC8(unkStruct3* arg0, unkStruct3* arg1) { if (arg0) { arg1->unk8 = arg0->unk8; arg1->unk4 = arg0; @@ -117,15 +103,13 @@ void fn_1_1EC8(unkStruct3 *arg0, unkStruct3 *arg1) if (arg1->unk8) { arg1->unk8->unk4 = arg1; } - } - else { + } else { arg1->unk4 = arg1; arg1->unk8 = arg1; } } -void fn_1_1F04(unkStruct3 *arg0) -{ +void fn_1_1F04(unkStruct3* arg0) { if (arg0->unk8) { arg0->unk8->unk4 = arg0->unk4; } @@ -136,10 +120,9 @@ void fn_1_1F04(unkStruct3 *arg0) #pragma dont_inline reset -void fn_1_1F38(u8 *arg0, u8 *arg1, s32 arg2) -{ - u8 *var_r30 = arg0; - u8 *var_r31 = arg1; +void fn_1_1F38(u8* arg0, u8* arg1, s32 arg2) { + u8* var_r30 = arg0; + u8* var_r31 = arg1; if (arg2 <= 0) { return; } @@ -149,9 +132,8 @@ void fn_1_1F38(u8 *arg0, u8 *arg1, s32 arg2) } } -void fn_1_1F84(u8 *arg0, s8 arg1, s32 arg2) -{ - u8 *var_r30 = arg0; +void fn_1_1F84(u8* arg0, s8 arg1, s32 arg2) { + u8* var_r30 = arg0; if (arg2 <= 0) { return; } @@ -161,9 +143,8 @@ void fn_1_1F84(u8 *arg0, s8 arg1, s32 arg2) } } -void fn_1_1FC0(u8 *arg0, s32 arg1) -{ - u8 *var_r30 = arg0; +void fn_1_1FC0(u8* arg0, s32 arg1) { + u8* var_r30 = arg0; if (arg1 <= 0) { return; } @@ -173,11 +154,10 @@ void fn_1_1FC0(u8 *arg0, s32 arg1) } } -s32 fn_1_1FFC(s8 *arg0, s8 *arg1, s32 arg2) -{ - s8 *var_r30 = arg0; - s8 *var_r31 = arg1; - +s32 fn_1_1FFC(s8* arg0, s8* arg1, s32 arg2) { + s8* var_r30 = arg0; + s8* var_r31 = arg1; + if (arg2 <= 0) { return 0; } @@ -188,16 +168,14 @@ s32 fn_1_1FFC(s8 *arg0, s8 *arg1, s32 arg2) return *var_r30 - *var_r31; } -s32 fn_1_2064(void) -{ +s32 fn_1_2064(void) { lbl_1_bss_18 = 0; return 1; } -void fn_1_207C(void) -{ - unkStruct4 *var_r30; - unkStruct3 *var_r31; +void fn_1_207C(void) { + unkStruct4* var_r30; + unkStruct3* var_r31; var_r31 = lbl_1_bss_18; if (var_r31) { @@ -209,13 +187,12 @@ void fn_1_207C(void) } } -void fn_1_20D4(void) -{ +void fn_1_20D4(void) { m446Func1 *temp_r4; f32 temp_f31; s32 temp_r5; - unkStruct4 *temp_r31; - unkStruct3 *var_r30; + unkStruct4* temp_r31; + unkStruct3* var_r30; var_r30 = lbl_1_bss_18; if (var_r30) { @@ -227,9 +204,8 @@ void fn_1_20D4(void) if (temp_r31->unk70 != 0) { if (temp_r31->unk7C > 0) { temp_r31->unk7C--; - } - else { - temp_f31 = sind(90.0f * temp_r31->unk80); + } else { + temp_f31 = sin((M_PI * (90.0f * temp_r31->unk80)) / 180.0); temp_r31->unk10.x = temp_r31->unk1C.x + (temp_f31 * (temp_r31->unk28.x - temp_r31->unk1C.x)); temp_r31->unk10.y = temp_r31->unk1C.y + (temp_f31 * (temp_r31->unk28.y - temp_r31->unk1C.y)); temp_r31->unk10.z = temp_r31->unk1C.z + (temp_f31 * (temp_r31->unk28.z - temp_r31->unk1C.z)); @@ -243,7 +219,7 @@ void fn_1_20D4(void) } } if (temp_r31->unk74 != 0) { - temp_f31 = sind(90.0f * temp_r31->unk88); + temp_f31 = sin((M_PI * (90.0f * temp_r31->unk88)) / 180.0); temp_r31->unk34.x = (temp_r31->unk40.x + (temp_f31 * (temp_r31->unk4C.x - temp_r31->unk40.x))); temp_r31->unk34.y = (temp_r31->unk40.y + (temp_f31 * (temp_r31->unk4C.y - temp_r31->unk40.y))); temp_r31->unk34.z = (temp_r31->unk40.z + (temp_f31 * (temp_r31->unk4C.z - temp_r31->unk40.z))); @@ -256,7 +232,7 @@ void fn_1_20D4(void) } } if (temp_r31->unk78 != 0) { - temp_f31 = sind(90.0f * temp_r31->unk90); + temp_f31 = sin((M_PI * (90.0f * temp_r31->unk90)) / 180.0); temp_r31->unk58 = (temp_r31->unk5C + (temp_f31 * (temp_r31->unk60 - temp_r31->unk5C))); temp_r31->unk90 = (temp_r31->unk90 + temp_r31->unk94); if (temp_r31->unk90 >= 1.0f) { @@ -270,12 +246,11 @@ void fn_1_20D4(void) } } -unkStruct4 *m446CardCreate(s32 arg0) -{ - unkStruct4 *temp_r31; - unkStruct3 *temp_r30; +unkStruct4* m446CardCreate(s32 arg0) { + unkStruct4* temp_r31; + unkStruct3* temp_r30; - temp_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x98, MEMORY_DEFAULT_NUM); + temp_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x98, 0x10000000U); if (!temp_r31) { OSReport("[!] m446CardCreate ERROR...\n"); return NULL; @@ -302,7 +277,7 @@ unkStruct4 *m446CardCreate(s32 arg0) Hu3DModelLayerSet(temp_r31->unkA[0], 0); temp_r31->unkA[1] = Hu3DModelCreateFile(lbl_1_rodata_6C[arg0]); Hu3DModelAmbSet(temp_r31->unkA[1], 1.0f, 1.0f, 1.0f); - Hu3DModelAttrSet(temp_r31->unkA[1], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(temp_r31->unkA[1], 0x40000001U); Hu3DModelLayerSet(temp_r31->unkA[0], 0); fn_1_2A58(temp_r31); fn_1_2EC0(temp_r31, 1); @@ -314,16 +289,14 @@ unkStruct4 *m446CardCreate(s32 arg0) } if (lbl_1_bss_18) { fn_1_1EC8(lbl_1_bss_18, temp_r30); - } - else { + } else { lbl_1_bss_18 = temp_r30; } return temp_r31; } -void fn_1_2688(unkStruct4 *arg0) -{ - unkStruct3 *var_r31 = lbl_1_bss_18; +void fn_1_2688(unkStruct4* arg0) { + unkStruct3* var_r31 = lbl_1_bss_18; do { if (arg0 == var_r31->unk0) { if (var_r31 == lbl_1_bss_18) { @@ -340,8 +313,7 @@ void fn_1_2688(unkStruct4 *arg0) } while (var_r31); } -void fn_1_272C(unkStruct4 *arg0) -{ +void fn_1_272C(unkStruct4* arg0) { Vec sp8; sp8 = arg0->unk34; @@ -350,8 +322,7 @@ void fn_1_272C(unkStruct4 *arg0) fn_1_2928(arg0, &sp8, 0x1E); } -void fn_1_2794(unkStruct4 *arg0) -{ +void fn_1_2794(unkStruct4* arg0) { Vec sp8; sp8 = arg0->unk34; @@ -360,8 +331,7 @@ void fn_1_2794(unkStruct4 *arg0) fn_1_2928(arg0, &sp8, 0x3C); } -void fn_1_27FC(unkStruct4 *arg0, Vec *arg1, s32 arg2) -{ +void fn_1_27FC(unkStruct4* arg0, Vec* arg1, s32 arg2) { arg0->unk7C = 0; arg0->unk28 = *arg1; arg0->unk1C = arg0->unk10; @@ -370,8 +340,7 @@ void fn_1_27FC(unkStruct4 *arg0, Vec *arg1, s32 arg2) arg0->unk70 = 1; } -void fn_1_2890(unkStruct4 *arg0, Vec *arg1, s32 arg2, s32 arg3) -{ +void fn_1_2890(unkStruct4* arg0, Vec* arg1, s32 arg2, s32 arg3) { arg0->unk7C = 0; arg0->unk28 = *arg1; arg0->unk1C = arg0->unk10; @@ -381,8 +350,7 @@ void fn_1_2890(unkStruct4 *arg0, Vec *arg1, s32 arg2, s32 arg3) arg0->unk7C = arg3; } -void fn_1_2928(unkStruct4 *arg0, Vec *arg1, s32 arg2) -{ +void fn_1_2928(unkStruct4* arg0, Vec* arg1, s32 arg2) { arg0->unk4C = *arg1; arg0->unk40 = arg0->unk34; arg0->unk88 = 0.0f; @@ -390,8 +358,7 @@ void fn_1_2928(unkStruct4 *arg0, Vec *arg1, s32 arg2) arg0->unk74 = 1; } -void fn_1_29B4(unkStruct4 *arg0, f32 arg8, s32 arg1) -{ +void fn_1_29B4(unkStruct4* arg0, f32 arg8, s32 arg1) { arg0->unk60 = arg8; arg0->unk5C = arg0->unk58; arg0->unk90 = 0.0f; @@ -399,32 +366,28 @@ void fn_1_29B4(unkStruct4 *arg0, f32 arg8, s32 arg1) arg0->unk78 = 1; } -void fn_1_2A1C(unkStruct4 *arg0) -{ - Hu3DModelAttrReset(arg0->unkA[1], HU3D_ATTR_DISPOFF); +void fn_1_2A1C(unkStruct4* arg0) { + Hu3DModelAttrReset(arg0->unkA[1], 1); arg0->unk6C = 1; } -void fn_1_2A58(unkStruct4 *arg0) -{ - Hu3DModelAttrSet(arg0->unkA[1], HU3D_ATTR_DISPOFF); +void fn_1_2A58(unkStruct4* arg0) { + Hu3DModelAttrSet(arg0->unkA[1], 1); arg0->unk6C = 0; } -void fn_1_2A94(unkStruct4 *arg0) -{ +void fn_1_2A94(unkStruct4* arg0) { arg0->unk4 = 1; arg0->unk8 = 0; } -void fn_1_2AA8(unkStruct4 *arg0) -{ +void fn_1_2AA8(unkStruct4* arg0) { Vec sp8; - + switch (arg0->unk8) { case 0: arg0->unk8 = 1; - Hu3DModelAttrReset(arg0->unkA[1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->unkA[1], 1); arg0->unk6C = 1; arg0->unk8 = 1; // ? case 1: @@ -435,10 +398,9 @@ void fn_1_2AA8(unkStruct4 *arg0) arg0->unk78 = 1; arg0->unk8 = 2; // ????? break; - + case 2: - if (arg0->unk78 != 0) - break; + if (arg0->unk78 != 0) break; arg0->unk8 = 3; // ?????????? case 3: arg0->unk60 = 1.5f; @@ -448,10 +410,9 @@ void fn_1_2AA8(unkStruct4 *arg0) arg0->unk78 = 1; arg0->unk8 = 4; break; - + case 4: - if (arg0->unk78 != 0) - break; + if (arg0->unk78 != 0) break; arg0->unk8 = 5; case 5: arg0->unk60 = 2.5f; @@ -461,10 +422,9 @@ void fn_1_2AA8(unkStruct4 *arg0) arg0->unk78 = 1; arg0->unk8 = 6; break; - + case 6: - if (arg0->unk78 != 0) - break; + if (arg0->unk78 != 0) break; arg0->unk8 = 8; case 7: arg0->unk60 = 1.5f; @@ -474,8 +434,7 @@ void fn_1_2AA8(unkStruct4 *arg0) arg0->unk78 = 1; arg0->unk8 = 8; case 8: - if (arg0->unk78 != 0) - break; + if (arg0->unk78 != 0) break; arg0->unk8 = 9; case 9: sp8 = arg0->unk34; @@ -493,27 +452,24 @@ void fn_1_2AA8(unkStruct4 *arg0) arg0->unk8 = 10; break; case 10: - if (arg0->unk78 != 0) - break; + if (arg0->unk78 != 0) break; arg0->unk4 = 0; arg0->unk8 = 0; - Hu3DModelAttrSet(arg0->unkA[1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->unkA[1], 1); arg0->unk6C = 0; return; } } -void fn_1_2D94(unkStruct4 *arg0) -{ +void fn_1_2D94(unkStruct4* arg0) { arg0->unk4 = 2; arg0->unk8 = 0; } -void fn_1_2DA8(unkStruct4 *arg0) -{ +void fn_1_2DA8(unkStruct4* arg0) { f32 var_f31; f32 var_f30; - + switch (arg0->unk8) { case 0: arg0->unk8 = 1; @@ -542,8 +498,7 @@ void fn_1_2DA8(unkStruct4 *arg0) } } -void fn_1_2EC0(unkStruct4 *arg0, s32 arg1) -{ +void fn_1_2EC0(unkStruct4* arg0, s32 arg1) { if (arg1 != 0) { Hu3DModelShadowDispOn(arg0->unkA[0]); Hu3DModelAmbSet(arg0->unkA[0], 0.0f, 0.0f, 0.0f); @@ -553,13 +508,11 @@ void fn_1_2EC0(unkStruct4 *arg0, s32 arg1) Hu3DModelAmbSet(arg0->unkA[0], 1.0f, 1.0f, 1.0f); } -void fn_1_2F64(unkStruct4 *arg0) -{ +void fn_1_2F64(unkStruct4* arg0) { if ((arg0->unk58 > 1.0f) || (arg0->unk58 < 1.0f)) { Hu3DModelLayerSet(arg0->unkA[0], 1); Hu3DModelLayerSet(arg0->unkA[1], 1); - } - else { + } else { Hu3DModelLayerSet(arg0->unkA[0], 0); Hu3DModelLayerSet(arg0->unkA[1], 0); } @@ -568,4 +521,4 @@ void fn_1_2F64(unkStruct4 *arg0) Hu3DModelScaleSet(arg0->unkA[0], arg0->unk58, arg0->unk58, arg0->unk58); Hu3DModelScaleSet(arg0->unkA[1], arg0->unk58, arg0->unk58, arg0->unk58); Hu3DModelRotSet(arg0->unkA[0], arg0->unk34.x, arg0->unk34.y, arg0->unk34.z); -} +} \ No newline at end of file diff --git a/src/REL/m446Dll/cursor.c b/src/REL/m446Dll/cursor.c index c57da258..6c67c262 100644 --- a/src/REL/m446Dll/cursor.c +++ b/src/REL/m446Dll/cursor.c @@ -1,25 +1,27 @@ #include "REL/m446Dll.h" +#include "math.h" #include "game/hsfman.h" #include "game/hsfmotion.h" -#include "ext_math.h" // bss -unkStruct3 *lbl_1_bss_98; +unkStruct3* lbl_1_bss_98; // data -s32 lbl_1_data_3C8[9] = { 0x4D0012, 0x4D0013, 0x4D0014, 0x4D0015, 0x4D0016, 0x4D0017, 0x4D0018, 0x4D0019, 0x4D001A }; +s32 lbl_1_data_3C8[9] = { + 0x4D0012, 0x4D0013, 0x4D0014, + 0x4D0015, 0x4D0016, 0x4D0017, + 0x4D0018, 0x4D0019, 0x4D001A +}; -s32 fn_1_72E0(void) -{ +s32 fn_1_72E0(void) { lbl_1_bss_98 = NULL; return 1; } -void fn_1_72F8(void) -{ - unkStruct3 *var_r31; - unkStruct7 *var_r30; +void fn_1_72F8(void) { + unkStruct3* var_r31; + unkStruct7* var_r30; var_r31 = lbl_1_bss_98; if (var_r31) { @@ -31,18 +33,17 @@ void fn_1_72F8(void) } } -void fn_1_7350(void) -{ +void fn_1_7350(void) { f32 temp_f31; - unkStruct3 *var_r30; - unkStruct7 *temp_r31; + unkStruct3* var_r30; + unkStruct7* temp_r31; var_r30 = lbl_1_bss_98; if (var_r30) { do { temp_r31 = var_r30->unk0; if (temp_r31->field00_bit1 != 0) { - temp_f31 = sind(90.0f * temp_r31->unk4C); + temp_f31 = sin((M_PI * (90.0f * temp_r31->unk4C)) / 180.0); temp_f31 *= temp_f31; temp_r31->unk20.x = (temp_r31->unk2C.x + (temp_f31 * (temp_r31->unk38.x - temp_r31->unk2C.x))); temp_r31->unk20.y = (temp_r31->unk2C.y + (temp_f31 * (temp_r31->unk38.y - temp_r31->unk2C.y))); @@ -64,13 +65,12 @@ void fn_1_7350(void) } } -unkStruct7 *m446CursorCreate(s32 arg0) -{ +unkStruct7* m446CursorCreate(s32 arg0) { s32 var_r30; - unkStruct7 *var_r31; - unkStruct3 *var_r29; + unkStruct7* var_r31; + unkStruct3* var_r29; - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x54, MEMORY_DEFAULT_NUM); + var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x54, 0x10000000); if (!var_r31) { return NULL; } @@ -84,7 +84,7 @@ unkStruct7 *m446CursorCreate(s32 arg0) var_r31->field00_bit3 = 0; var_r31->unk8 = arg0; var_r31->unk48 = 0; - var_r31->unkC[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M446, 0x09)); + var_r31->unkC[0] = Hu3DModelCreateFile(0x4D0009); Hu3DModelLayerSet(var_r31->unkC[0], 6); if (var_r31->unk8 == 0) { for (var_r30 = 0; var_r30 < 9; var_r30++) { @@ -101,17 +101,15 @@ unkStruct7 *m446CursorCreate(s32 arg0) } if (lbl_1_bss_98) { fn_1_1EC8(lbl_1_bss_98, var_r29); - } - else { + } else { lbl_1_bss_98 = var_r29; } return var_r31; } -void fn_1_76E8(unkStruct7 *arg0) -{ +void fn_1_76E8(unkStruct7* arg0) { s32 var_r29; - unkStruct3 *var_r31; + unkStruct3* var_r31; var_r31 = lbl_1_bss_98; if (var_r31) { @@ -136,40 +134,36 @@ void fn_1_76E8(unkStruct7 *arg0) } } -void fn_1_77C8(unkStruct7 *arg0, u8 arg1) -{ +void fn_1_77C8(unkStruct7* arg0, u8 arg1) { s32 var_r30; arg0->field00_bit0 = 1; arg0->unk48 = arg1; - Hu3DModelAttrReset(arg0->unkC[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->unkC[0], 1); if (arg0->unk8 == 0) { for (var_r30 = 0; var_r30 < 9; var_r30++) { if (var_r30 == arg1) { - Hu3DModelAttrReset(arg0->unkC[var_r30 + 1], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(arg0->unkC[var_r30 + 1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->unkC[var_r30 + 1], 1); + } else { + Hu3DModelAttrSet(arg0->unkC[var_r30 + 1], 1); } } } } -void fn_1_7884(unkStruct7 *arg0) -{ +void fn_1_7884(unkStruct7* arg0) { s32 var_r30; arg0->field00_bit0 = 0; - Hu3DModelAttrSet(arg0->unkC[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->unkC[0], 1); if (arg0->unk8 == 0) { for (var_r30 = 0; var_r30 < 9; var_r30++) { - Hu3DModelAttrSet(arg0->unkC[var_r30 + 1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->unkC[var_r30 + 1], 1); } } } -void fn_1_7908(unkStruct7 *arg0, Vec *arg1, s32 arg2) -{ +void fn_1_7908(unkStruct7* arg0, Vec* arg1, s32 arg2) { arg0->unk38 = *arg1; arg0->unk2C = arg0->unk20; arg0->unk4C = 0.0f; @@ -177,33 +171,30 @@ void fn_1_7908(unkStruct7 *arg0, Vec *arg1, s32 arg2) arg0->field00_bit1 = 1; } -void fn_1_799C(unkStruct7 *arg0) -{ +void fn_1_799C(unkStruct7* arg0) { s32 var_r30; if (arg0->unk8 == 0) { for (var_r30 = 0; var_r30 < 9; var_r30++) { - Hu3DModelAttrReset(arg0->unkC[var_r30 + 1], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(arg0->unkC[var_r30 + 1], 0x40000002); Hu3DMotionTimeSet(arg0->unkC[var_r30 + 1], 0.0f); } } arg0->field00_bit3 = 1; } -void fn_1_7A38(unkStruct7 *arg0) -{ +void fn_1_7A38(unkStruct7* arg0) { s32 var_r31; if (arg0->unk8 == 0) { for (var_r31 = 0; var_r31 < 9; var_r31++) { - Hu3DModelAttrSet(arg0->unkC[var_r31 + 1], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(arg0->unkC[var_r31 + 1], 0x40000002); } } arg0->field00_bit3 = 0; } -void fn_1_7AB4(unkStruct7 *arg0) -{ +void fn_1_7AB4(unkStruct7* arg0) { f32 var_f31; s32 temp_r29; s32 var_r30; @@ -217,11 +208,10 @@ void fn_1_7AB4(unkStruct7 *arg0) Hu3DModelScaleSet(arg0->unkC[temp_r29], arg0->unk44, arg0->unk44, arg0->unk44); if (arg0->field00_bit2 != 0) { var_f31 = 180.0f; - } - else { + } else { var_f31 = 0.0f; } Hu3DModelRotSet(arg0->unkC[temp_r29], 0.0f, var_f31, 0.0f); } } -} +} \ No newline at end of file diff --git a/src/REL/m446Dll/deck.c b/src/REL/m446Dll/deck.c index 83e541ee..dfa9d846 100644 --- a/src/REL/m446Dll/deck.c +++ b/src/REL/m446Dll/deck.c @@ -18,7 +18,7 @@ unkStruct5* fn_1_3064(void) { s32 var_r30; unkStruct5* temp_r3; - temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x10, MEMORY_DEFAULT_NUM); + temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x10, 0x10000000); if (!temp_r3) { return NULL; } @@ -184,4 +184,4 @@ void fn_1_38E0(u32 arg0) { s32 fn_1_38F0(void) { return ((lbl_1_bss_20 = (lbl_1_bss_20 * 0x41C64E6D) + 0x3039) >> 16) % 32768; -} +} \ No newline at end of file diff --git a/src/REL/m446Dll/main.c b/src/REL/m446Dll/main.c index b73f19e3..c81335ae 100644 --- a/src/REL/m446Dll/main.c +++ b/src/REL/m446Dll/main.c @@ -1,22 +1,22 @@ #include "REL/m446Dll.h" -#include "math.h" +#include "rel_sqrt_consts.h" -#include "game/audio.h" -#include "game/frand.h" #include "game/gamework_data.h" #include "game/hsfman.h" +#include "game/audio.h" #include "game/jmp.h" -#include "game/minigame_seq.h" #include "game/window.h" #include "game/wipe.h" +#include "game/frand.h" +#include "game/minigame_seq.h" // bss s32 lbl_1_bss_14; s32 lbl_1_bss_10; -Process *lbl_1_bss_C; +Process* lbl_1_bss_C; omObjData *lbl_1_bss_8; s32 lbl_1_bss_4; -unkStruct *lbl_1_bss_0; +unkStruct* lbl_1_bss_0; // data Vec lbl_1_data_0 = { 0.0f, 90.0f, 0.0f }; @@ -25,13 +25,18 @@ f32 lbl_1_data_18 = 1260.0f; Vec lbl_1_data_1C = { 0.0f, 90.0f, 0.0f }; Vec lbl_1_data_28 = { -90.0f, 0.0f, 0.0f }; f32 lbl_1_data_34 = 260.0f; -Vec lbl_1_data_38[2] = { { 0.0f, 100.0f, 120.0f }, { 0.0f, 100.0f, 120.0f } }; -Vec lbl_1_data_50[2] = { { -30.0f, 0.0f, 0.0f }, { -30.0f, 0.0f, 0.0f } }; +Vec lbl_1_data_38[2] = { + { 0.0f, 100.0f, 120.0f }, + { 0.0f, 100.0f, 120.0f } +}; +Vec lbl_1_data_50[2] = { + { -30.0f, 0.0f, 0.0f }, + { -30.0f, 0.0f, 0.0f } +}; f32 lbl_1_data_68[2] = { 600.0f, 600.0f }; s32 lbl_1_data_70[2][2] = { { 0x46, 0x1A4 }, { 0x1F4, 0x3C } }; -void ObjectSetup(void) -{ +void ObjectSetup(void) { lbl_1_bss_C = omInitObjMan(5, 0x2000); omGameSysInit(lbl_1_bss_C); lbl_1_bss_8 = omAddObjEx(lbl_1_bss_C, 0x3E8, 0x32U, 0x32U, 0, fn_1_13C); @@ -39,8 +44,7 @@ void ObjectSetup(void) lbl_1_bss_4 = 0; } -void fn_1_13C(omObjData *arg0) -{ +void fn_1_13C(omObjData* arg0) { switch (lbl_1_bss_4) { case 0: HuWinInit(1); @@ -64,10 +68,9 @@ void fn_1_13C(omObjData *arg0) fn_1_7350(); fn_1_20D4(); fn_1_68DC(); - if (lbl_1_bss_0->unk0 != 5) - break; + if (lbl_1_bss_0->unk0 != 5) break; lbl_1_bss_4 = 3; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + WipeCreate(2, 0, 0x3C); case 2: break; case 3: @@ -89,12 +92,11 @@ void fn_1_13C(omObjData *arg0) } } -unkStruct *m446FlowCreate(void) -{ +unkStruct* m446FlowCreate(void) { s32 var_r30; - unkStruct *temp_r3; + unkStruct* temp_r3; - temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x9C, MEMORY_DEFAULT_NUM); + temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x9C, 0x10000000); if (temp_r3 == 0) { OSReport("[!] m446FlowCreate() ERROR...\n"); return NULL; @@ -106,14 +108,14 @@ unkStruct *m446FlowCreate(void) temp_r3->unk10 = 0; temp_r3->unk98 = NULL; temp_r3->unk18 = -1; - + for (var_r30 = 0; var_r30 < 23; var_r30++) { temp_r3->unk38[var_r30] = 0; } temp_r3->unk24 = m446StageCreate(); temp_r3->unk20 = fn_1_39D0(); lbl_1_bss_10 = 0; - + for (var_r30 = 0; var_r30 < 2; var_r30++) { temp_r3->unk2C[var_r30] = m446PlayerCreate(var_r30, temp_r3->unk20); if (temp_r3->unk2C[var_r30]->unk68 != 0) { @@ -121,12 +123,11 @@ unkStruct *m446FlowCreate(void) } } temp_r3->unk28 = fn_1_3064(); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + WipeCreate(1, 0, 0x3C); return temp_r3; } -void fn_1_3FC(unkStruct *arg0) -{ +void fn_1_3FC(unkStruct* arg0) { s32 var_r30; if (arg0->unk98) { @@ -138,7 +139,7 @@ void fn_1_3FC(unkStruct *arg0) if (arg0->unk6 == -1) { MGSeqParamSet(arg0->unk6, 2, -1); } - + for (var_r30 = 0; var_r30 < 2; var_r30++) { fn_1_509C(arg0->unk2C[var_r30]); } @@ -148,10 +149,9 @@ void fn_1_3FC(unkStruct *arg0) HuMemDirectFree(arg0); } -m446Func1 lbl_1_data_A0[5] = { fn_1_53C, fn_1_B78, fn_1_CA0, fn_1_C0C, fn_1_958 }; +m446Func1 lbl_1_data_A0[5] = {fn_1_53C, fn_1_B78, fn_1_CA0, fn_1_C0C, fn_1_958}; -void fn_1_4B4(unkStruct *arg0) -{ +void fn_1_4B4(unkStruct* arg0) { if (lbl_1_data_A0[arg0->unk0]) { lbl_1_data_A0[arg0->unk0](arg0); } @@ -160,11 +160,10 @@ void fn_1_4B4(unkStruct *arg0) } } -void fn_1_53C(unkStruct *arg0) -{ +void fn_1_53C(unkStruct* arg0) { s32 var_r30; s32 var_r29; - + switch (arg0->unk10) { case 0: fn_1_6EA0(&lbl_1_data_0); @@ -178,13 +177,11 @@ void fn_1_53C(unkStruct *arg0) if (arg0->unk14 == 20) { fn_1_84AC(arg0->unk24); } - if (arg0->unk14++ < 0xB4) - break; + if (arg0->unk14++ < 0xB4) break; arg0->unk18 = HuAudSeqPlay(0x3D); if (arg0->unk2C[1]->unk64 == 8) { arg0->unk10 = 2; - } - else { + } else { arg0->unk10 = 4; } break; @@ -204,8 +201,7 @@ void fn_1_53C(unkStruct *arg0) arg0->unk10 = 5; break; case 5: - if (fn_1_708C()) - break; + if (fn_1_708C()) break; fn_1_860C(arg0->unk24); for (var_r30 = 0; var_r30 < 2; var_r30++) { fn_1_637C(arg0->unk2C[var_r30], 1); @@ -218,15 +214,13 @@ void fn_1_53C(unkStruct *arg0) arg0->unk14 = 0; break; case 7: - if (arg0->unk14++ < 0x78) - break; + if (arg0->unk14++ < 0x78) break; fn_1_34A0(arg0->unk28, &arg0->unk38[0], arg0->unk94, 1); arg0->unk10 = 8; arg0->unk14 = 0; break; case 8: - if (arg0->unk14++ < 0x78) - break; + if (arg0->unk14++ < 0x78) break; for (var_r29 = 0; var_r29 < 2; var_r29++) { for (var_r30 = 0; var_r30 < 3; var_r30++) { @@ -239,14 +233,10 @@ void fn_1_53C(unkStruct *arg0) arg0->unk10 = 9; break; case 9: - if (arg0->unk34->unk70 != 0) - break; - if (arg0->unk34->unk78 != 0) - break; - if (arg0->unk34->unk74 != 0) - break; - if (arg0->unk34->unk4 != 0) - break; + if (arg0->unk34->unk70 != 0) break; + if (arg0->unk34->unk78 != 0) break; + if (arg0->unk34->unk74 != 0) break; + if (arg0->unk34->unk4 != 0) break; for (var_r29 = 0; var_r29 < 2; var_r29++) { for (var_r30 = 0; var_r30 < 3; var_r30++) { @@ -257,14 +247,10 @@ void fn_1_53C(unkStruct *arg0) arg0->unk10 = 10; break; case 10: - if (arg0->unk34->unk70 != 0) - break; - if (arg0->unk34->unk78 != 0) - break; - if (arg0->unk34->unk74 != 0) - break; - if (arg0->unk34->unk4 != 0) - break; + if (arg0->unk34->unk70 != 0) break; + if (arg0->unk34->unk78 != 0) break; + if (arg0->unk34->unk74 != 0) break; + if (arg0->unk34->unk4 != 0) break; fn_1_46AC(arg0->unk20); while (m446DeckPopCard(&arg0->unk28->unk0, &arg0->unk34) != 0) { @@ -278,16 +264,14 @@ void fn_1_53C(unkStruct *arg0) arg0->unk14 = 0; break; case 11: - if (arg0->unk14++ < 0x78) - break; + if (arg0->unk14++ < 0x78) break; arg0->unk0 = 1; arg0->unk10 = 0; break; } } -void fn_1_958(unkStruct *arg0) -{ +void fn_1_958(unkStruct* arg0) { s32 temp_r3; s32 temp_r3_2; s32 temp_r3_3; @@ -316,24 +300,20 @@ void fn_1_958(unkStruct *arg0) if (arg0->unk2C[1]->unk64 == 8) { fn_1_5B34(arg0->unk2C[1]); HuAudSStreamPlay(3); - } - else { + } else { fn_1_5C10(arg0->unk2C[1]); HuAudSStreamPlay(4); } - } - else if (arg0->unk2C[0]->unk24 != 0) { + } else if (arg0->unk2C[0]->unk24 != 0) { fn_1_5B34(arg0->unk2C[0]); fn_1_5C10(arg0->unk2C[1]); HuAudSStreamPlay(1); - } - else if (arg0->unk2C[1]->unk24 != 0) { + } else if (arg0->unk2C[1]->unk24 != 0) { fn_1_5B34(arg0->unk2C[1]); fn_1_5C10(arg0->unk2C[0]); if (arg0->unk2C[1]->unk64 == 8) { HuAudSStreamPlay(3); - } - else { + } else { HuAudSStreamPlay(1); } } @@ -350,8 +330,7 @@ void fn_1_958(unkStruct *arg0) } } -void fn_1_B78(unkStruct *arg0) -{ +void fn_1_B78(unkStruct* arg0) { switch (arg0->unk10) { case 0: arg0->unk18 = HuAudSeqPlay(0x3F); @@ -369,8 +348,7 @@ void fn_1_B78(unkStruct *arg0) } } -void fn_1_C0C(unkStruct *arg0) -{ +void fn_1_C0C(unkStruct* arg0) { switch (arg0->unk10) { case 0: HuAudSeqFadeOut(arg0->unk18, 0x64); @@ -388,8 +366,7 @@ void fn_1_C0C(unkStruct *arg0) } } -void fn_1_CA0(unkStruct *arg0) -{ +void fn_1_CA0(unkStruct* arg0) { s32 var_r29; unkStruct8 *var_r30; @@ -413,8 +390,7 @@ void fn_1_CA0(unkStruct *arg0) arg0->unk10 = 3; arg0->unk14 = 0; } - } - else { + } else { arg0->unk10 = 4; } break; @@ -444,9 +420,7 @@ void fn_1_CA0(unkStruct *arg0) MGSeqPosSet(arg0->unk6, lbl_1_data_70[arg0->unk1C][0], lbl_1_data_70[arg0->unk1C][1]); fn_1_4000(arg0->unk20, arg0->unk1C == 1 >> 5); arg0->unk10 = 7; - } - else - break; + } else break; case 7: if (fn_1_4088(arg0->unk20, var_r30->unk64, var_r30->unk66, arg0->unk1C == 1, &arg0->unk34, 0) == 0) { if ((--arg0->unkC % 60) == 0) { @@ -459,9 +433,7 @@ void fn_1_CA0(unkStruct *arg0) arg0->unk14 = 0; break; } - } - else - break; + } else break; } arg0->unk10 = 9; break; @@ -483,8 +455,7 @@ void fn_1_CA0(unkStruct *arg0) if (arg0->unk34->unk70 == 0 && arg0->unk34->unk78 == 0 && arg0->unk34->unk74 == 0 && arg0->unk34->unk4 == 0) { if (arg0->unk34->unk0 == 4) { arg0->unk10 = 13; - } - else { + } else { m446PlayerAppendCard(var_r30, arg0->unk34, 4); arg0->unk10 = 11; } @@ -494,8 +465,7 @@ void fn_1_CA0(unkStruct *arg0) if (arg0->unk34->unk70 == 0 && arg0->unk34->unk78 == 0 && arg0->unk34->unk74 == 0 && arg0->unk34->unk4 == 0) { if (var_r30->unk24 != 0) { arg0->unk10 = 24; - } - else { + } else { arg0->unk10 = 12; } } @@ -505,11 +475,9 @@ void fn_1_CA0(unkStruct *arg0) arg0->unk1C = 1; arg0->unk10 = 25; break; - } - else if (arg0->unk1C == 0) { + } else if (arg0->unk1C == 0) { arg0->unk1C = 1; - } - else { + } else { arg0->unk1C = 0; } arg0->unk10 = 1; @@ -631,29 +599,24 @@ void fn_1_CA0(unkStruct *arg0) } } -s32 fn_1_17FC(unkStruct *arg0) -{ +s32 fn_1_17FC(unkStruct* arg0) { return MGSeqStatGet(arg0->unk4) != 0; } -void fn_1_183C(unkStruct *arg0) -{ +void fn_1_183C(unkStruct* arg0) { MGSeqKill(arg0->unk4); arg0->unk4 = -1; } -void fn_1_1874(unkStruct *arg0) -{ +void fn_1_1874(unkStruct* arg0) { arg0->unk4 = MGSeqCreate(3, 0); } -void fn_1_18B0(unkStruct *arg0) -{ +void fn_1_18B0(unkStruct* arg0) { arg0->unk4 = MGSeqCreate(3, 1); } -void fn_1_18EC(s16 arg0, s32 arg1) -{ +void fn_1_18EC(s16 arg0, s32 arg1) { HuWinComKeyReset(); if (lbl_1_bss_10 == 2) { HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, arg1); @@ -662,23 +625,22 @@ void fn_1_18EC(s16 arg0, s32 arg1) HuWinMesWait(arg0); } -s32 fn_1_1970(s16 arg0, s32 arg1, s32 arg2, s32 arg3) -{ +s32 fn_1_1970(s16 arg0, s32 arg1, s32 arg2, s32 arg3) { if (lbl_1_bss_10 == 2) { HuPrcSleep(arg3); return arg2; - } - else { + } else { return HuWinChoiceGet(arg0, arg1); } } -static const s32 lbl_1_rodata_18[12] = { MAKE_MESSID(0x18, 0x03), MAKE_MESSID(0x18, 0x04), MAKE_MESSID(0x18, 0x05), MAKE_MESSID(0x18, 0x06), - MAKE_MESSID(0x18, 0x07), MAKE_MESSID(0x18, 0x08), MAKE_MESSID(0x18, 0x09), MAKE_MESSID(0x18, 0x0A), MAKE_MESSID(0x18, 0x0B), - MAKE_MESSID(0x18, 0x0C), MAKE_MESSID(0x18, 0x0D), 0 }; +static const s32 lbl_1_rodata_18[12] = { + 0x180003, 0x180004, 0x180005, 0x180006, + 0x180007, 0x180008, 0x180009, 0x18000A, + 0x18000B, 0x18000C, 0x18000D, 0 +}; -void fn_1_19D4(void) -{ +void fn_1_19D4(void) { s16 temp_r3; s16 var_r30; s32 temp_r0; @@ -690,14 +652,13 @@ void fn_1_19D4(void) HuWinBGTPLvlSet(temp_r3, 0.8f); HuWinMesSpeedSet(temp_r3, 1); HuWinMesColSet(temp_r3, 0); - HuWinMesSet(temp_r3, MAKE_MESSID(0x18, 0x01)); + HuWinMesSet(temp_r3, 0x180001); fn_1_18EC(temp_r3, 0x3C); if (lbl_1_bss_10 < 2) { HuWinMesColSet(temp_r3, 0); - HuWinMesSet(temp_r3, MAKE_MESSID(0x18, 0x02)); + HuWinMesSet(temp_r3, 0x180002); var_r30 = fn_1_1970(temp_r3, 0, 1, 0x3C); - } - else { + } else { var_r30 = 1; } if (var_r30 == 0) { @@ -707,10 +668,9 @@ void fn_1_19D4(void) HuWinMesSet(temp_r3, temp_r27); fn_1_18EC(temp_r3, 0x3C); } - } - else { + } else { HuWinMesColSet(temp_r3, 0); - HuWinMesSet(temp_r3, MAKE_MESSID(0x18, 0x0D)); + HuWinMesSet(temp_r3, 0x18000D); fn_1_18EC(temp_r3, 0x3C); } HuWinExAnimOut(temp_r3); diff --git a/src/REL/m446Dll/player.c b/src/REL/m446Dll/player.c index ecf62fa9..6055f092 100644 --- a/src/REL/m446Dll/player.c +++ b/src/REL/m446Dll/player.c @@ -1,102 +1,48 @@ #include "REL/m446Dll.h" -#include "game/chrman.h" +#include "math.h" #include "game/gamework_data.h" #include "game/hsfman.h" #include "game/hsfmotion.h" -#include "game/objsub.h" +#include "game/chrman.h" #include "game/pad.h" -#include "ext_math.h" +#include "game/objsub.h" // cursor.c extern unkStruct7 *m446CursorCreate(s32); -extern void fn_1_76E8(unkStruct7 *); -extern void fn_1_77C8(unkStruct7 *, u8); +extern void fn_1_76E8(unkStruct7*); +extern void fn_1_77C8(unkStruct7*, u8); // bss unkStruct3 *lbl_1_bss_30; // data s32 lbl_1_data_228[9] = { - DATA_MAKE_NUM(DATADIR_M446, 10), - DATA_MAKE_NUM(DATADIR_M446, 11), - DATA_MAKE_NUM(DATADIR_M446, 12), - DATA_MAKE_NUM(DATADIR_M446, 13), - DATA_MAKE_NUM(DATADIR_M446, 14), - DATA_MAKE_NUM(DATADIR_M446, 15), - DATA_MAKE_NUM(DATADIR_M446, 16), - DATA_MAKE_NUM(DATADIR_M446, 17), - DATA_MAKE_NUM(DATADIR_M446, 33), + 0x4D000A, 0x4D000B, 0x4D000C, + 0x4D000D, 0x4D000E, 0x4D000F, + 0x4D0010, 0x4D0011, 0x4D0021 }; - s32 lbl_1_data_24C[9][4] = { - { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 54), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 23), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 114), - }, - { - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 54), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 23), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 114), - }, - { - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 54), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 23), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 114), - }, - { - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 54), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 23), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 114), - }, - { - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 54), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 23), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 114), - }, - { - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 54), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 23), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 114), - }, - { - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 54), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 23), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 114), - }, - { - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 54), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 23), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 114), - }, - { - DATA_MAKE_NUM(DATADIR_M446, 0x22), - DATA_MAKE_NUM(DATADIR_M446, 0x23), - DATA_MAKE_NUM(DATADIR_M446, 0x25), - DATA_MAKE_NUM(DATADIR_M446, 0x24), - }, + { 0x5F0000, 0x5F0036, 0x5F0017, 0x5F0072 }, + { 0x1A0000, 0x1A0036, 0x1A0017, 0x1A0072 }, + { 0x6D0000, 0x6D0036, 0x6D0017, 0x6D0072 }, + { 0x8A0000, 0x8A0036, 0x8A0017, 0x8A0072 }, + { 0x850000, 0x850036, 0x850017, 0x850072 }, + { 0x110000, 0x110036, 0x110017, 0x110072 }, + { 0x0D0000, 0x0D0036, 0x0D0017, 0x0D0072 }, + { 0x810000, 0x810036, 0x810017, 0x810072 }, + { 0x4D0022, 0x4D0023, 0x4D0025, 0x4D0024 } }; -m446Func8 lbl_1_data_2DC[5] = { NULL, fn_1_5B48, fn_1_5C24, fn_1_5D00, fn_1_6074 }; +m446Func8 lbl_1_data_2DC[5] = {NULL, fn_1_5B48, fn_1_5C24, fn_1_5D00, fn_1_6074}; -s32 fn_1_480C(void) -{ +s32 fn_1_480C(void) { lbl_1_bss_30 = 0; return 1; } -void fn_1_4824(void) -{ - unkStruct3 *var_r31; - void *var_r30; +void fn_1_4824(void) { + unkStruct3* var_r31; + void* var_r30; var_r31 = lbl_1_bss_30; if (var_r31) { @@ -108,11 +54,10 @@ void fn_1_4824(void) } } -void fn_1_487C(void) -{ +void fn_1_487C(void) { f32 temp_f31; - unkStruct8 *temp_r31; - unkStruct3 *var_r30; + unkStruct8* temp_r31; + unkStruct3* var_r30; var_r30 = lbl_1_bss_30; if (var_r30) { @@ -122,7 +67,7 @@ void fn_1_487C(void) lbl_1_data_2DC[temp_r31->unk18](temp_r31); } if (temp_r31->unkB4 != 0) { - temp_f31 = sind(90.0f * temp_r31->unkC0); + temp_f31 = sin((M_PI * (90.0f * temp_r31->unkC0)) / 180.0); temp_f31 *= temp_f31; temp_r31->unk48.x = (temp_r31->unk9C.x + (temp_f31 * (temp_r31->unkA8.x - temp_r31->unk9C.x))); temp_r31->unk48.y = (temp_r31->unk9C.y + (temp_f31 * (temp_r31->unkA8.y - temp_r31->unk9C.y))); @@ -136,7 +81,7 @@ void fn_1_487C(void) } } if (temp_r31->unk98 != 0) { - temp_f31 = sind(90.0f * temp_r31->unkB8); + temp_f31 = sin((M_PI * (90.0f * temp_r31->unkB8)) / 180.0); temp_f31 *= temp_f31; temp_r31->unk54.x = (temp_r31->unk80.x + (temp_f31 * (temp_r31->unk8C.x - temp_r31->unk80.x))); temp_r31->unk54.y = (temp_r31->unk80.y + (temp_f31 * (temp_r31->unk8C.y - temp_r31->unk80.y))); @@ -155,48 +100,43 @@ void fn_1_487C(void) } } -unkStruct8 *m446PlayerCreate(s32 arg0, unkStruct6 *arg1) -{ +unkStruct8* m446PlayerCreate(s32 arg0, unkStruct6* arg1) { f32 var_f31; s32 var_r27; s32 var_r26; s16 var_r25; s16 var_r24; - unkStruct3 *var_r28; + unkStruct3* var_r28; s32 var_r30; - unkStruct8 *var_r31; + unkStruct8* var_r31; - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xCC, MEMORY_DEFAULT_NUM); + var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xCC, 0x10000000); if (!var_r31) { return NULL; } var_r31->unk0 = arg0; if (GWPlayerCfg[arg0].iscom != 0) { var_r27 = 1; - } - else { + } else { var_r27 = 0; } var_r31->unk68 = var_r27; var_r31->unk4 = arg1; if (GWPlayerCfg[arg0].character == 0xB) { var_r26 = 1; - } - else { + } else { var_r26 = 0; } var_r31->unk70 = var_r26; if (var_r31->unk70 != 0) { var_r25 = 8; - } - else { + } else { var_r25 = GWPlayerCfg[arg0].character; } var_r31->unk64 = var_r25; if (var_r31->unk68 != 0) { var_r24 = 4; - } - else { + } else { var_r24 = GWPlayerCfg[arg0].pad_idx; } var_r31->unk66 = var_r24; @@ -207,8 +147,7 @@ unkStruct8 *m446PlayerCreate(s32 arg0, unkStruct6 *arg1) var_r31->unk48.x = 0.0f; if (var_r31->unk70 != 0) { var_f31 = 70.0f; - } - else { + } else { var_f31 = 0.0f; } var_r31->unk48.y = var_f31; @@ -224,7 +163,7 @@ unkStruct8 *m446PlayerCreate(s32 arg0, unkStruct6 *arg1) var_r31->unk1C = 0; var_r31->unk98 = 0; var_r31->unkB4 = 0; - + for (var_r30 = 0; var_r30 < 3; var_r30++) { var_r31->unk2C[var_r30] = NULL; } @@ -235,20 +174,19 @@ unkStruct8 *m446PlayerCreate(s32 arg0, unkStruct6 *arg1) } fn_1_7884(var_r31->unk8); switch (var_r31->unk0) { - case 0: - var_r31->unk48.z = 150.0f; - var_r31->unk54.y = 180.0f; - break; - case 1: - var_r31->unk48.z = -150.0f; - var_r31->unk54.y = 0.0f; - break; + case 0: + var_r31->unk48.z = 150.0f; + var_r31->unk54.y = 180.0f; + break; + case 1: + var_r31->unk48.z = -150.0f; + var_r31->unk54.y = 0.0f; + break; } if (var_r31->unk70 != 0) { - var_r31->unk3C[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M446, 0x20)); - var_r31->unk3C[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M446, 0x21)); - } - else { + var_r31->unk3C[0] = Hu3DModelCreateFile(0x4D0020); + var_r31->unk3C[1] = Hu3DModelCreateFile(0x4D0021); + } else { var_r31->unk3C[0] = CharModelCreate(var_r31->unk64, 2); var_r31->unk3C[1] = Hu3DModelCreateFile(lbl_1_data_228[var_r31->unk64]); } @@ -257,16 +195,15 @@ unkStruct8 *m446PlayerCreate(s32 arg0, unkStruct6 *arg1) Hu3DModelShadowSet(var_r31->unk3C[0]); Hu3DModelShadowSet(var_r31->unk3C[1]); Hu3DModelPosSet(var_r31->unk3C[1], 0.0f, 100.0f, 0.0f); - Hu3DModelAttrReset(var_r31->unk3C[1], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(var_r31->unk3C[1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r31->unk3C[1], 0x40000001); + Hu3DModelAttrSet(var_r31->unk3C[1], 1); Hu3DModelPosSet(var_r31->unk3C[1], 2000.0f, 2000.0f, 2000.0f); fn_1_637C(var_r31, 0); - + for (var_r30 = 0; var_r30 < 4; var_r30++) { if (var_r31->unk70 != 0) { var_r31->unk40[var_r30] = Hu3DJointMotionFile(var_r31->unk3C[0], lbl_1_data_24C[var_r31->unk64][var_r30]); - } - else { + } else { var_r31->unk40[var_r30] = CharModelMotionCreate(var_r31->unk64, lbl_1_data_24C[var_r31->unk64][var_r30]); } } @@ -275,11 +212,10 @@ unkStruct8 *m446PlayerCreate(s32 arg0, unkStruct6 *arg1) } if (var_r31->unk70 != 0) { Hu3DMotionSet(var_r31->unk3C[0], var_r31->unk40[0]); - } - else { + } else { CharModelMotionSet(var_r31->unk64, var_r31->unk40[0]); } - Hu3DModelAttrSet(var_r31->unk3C[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r31->unk3C[0], 0x40000001); var_r28 = fn_1_1DF4(var_r31); if (!var_r28) { OSReport("[!] m446PlayerCreate ERROR...\n"); @@ -288,20 +224,18 @@ unkStruct8 *m446PlayerCreate(s32 arg0, unkStruct6 *arg1) } if (lbl_1_bss_30) { fn_1_1EC8(lbl_1_bss_30, var_r28); - } - else { + } else { lbl_1_bss_30 = var_r28; } return var_r31; } -void fn_1_509C(unkStruct8 *arg0) -{ +void fn_1_509C(unkStruct8* arg0) { s32 var_r29; - unkStruct3 *var_r30; + unkStruct3* var_r30; var_r30 = lbl_1_bss_30; - + do { if (arg0 == var_r30->unk0) { if (var_r30 == lbl_1_bss_30) { @@ -309,20 +243,18 @@ void fn_1_509C(unkStruct8 *arg0) } fn_1_1F04(var_r30); fn_1_1E5C(var_r30); - + for (var_r29 = 0; var_r29 < 4; var_r29++) { if (arg0->unk70 != 0) { Hu3DMotionKill(arg0->unk40[var_r29]); - } - else { + } else { CharModelMotionKill(arg0->unk64, arg0->unk40[var_r29]); } } if (arg0->unk70 != 0) { Hu3DModelKill(arg0->unk3C[0]); Hu3DModelKill(arg0->unk3C[1]); - } - else { + } else { CharModelKill(arg0->unk64); Hu3DModelKill(arg0->unk3C[1]); } @@ -334,8 +266,7 @@ void fn_1_509C(unkStruct8 *arg0) } while (var_r30); } -s32 m446PlayerAppendCard(unkStruct8 *arg0, unkStruct4 *arg1, s32 arg2) -{ +s32 m446PlayerAppendCard(unkStruct8* arg0, unkStruct4* arg1, s32 arg2) { Vec sp18; Vec spC; s32 temp_r0_2; @@ -347,13 +278,13 @@ s32 m446PlayerAppendCard(unkStruct8 *arg0, unkStruct4 *arg1, s32 arg2) OSReport("m446PlayerAppendCard ERROR...\n"); return 0; } - + for (var_r29 = 0; var_r29 < 3; var_r29++) { if (!arg0->unk2C[var_r29]) { break; } } - + if (var_r29 == 3) { OSReport("m446PlayerAppendCard ERROR...\n"); return 0; @@ -371,15 +302,15 @@ s32 m446PlayerAppendCard(unkStruct8 *arg0, unkStruct4 *arg1, s32 arg2) sp18.z = -45.0f; break; } - + spC = arg1->unk34; switch (arg0->unk0) { - case 0: - spC.y = 0.0f; - break; - case 1: - spC.y = 180.0f; - break; + case 0: + spC.y = 0.0f; + break; + case 1: + spC.y = 180.0f; + break; } switch (arg2) { case 0: @@ -405,16 +336,14 @@ s32 m446PlayerAppendCard(unkStruct8 *arg0, unkStruct4 *arg1, s32 arg2) if ((arg0->unk24 != 0) && (temp_r28 == 0)) { HuAudFXPlay(0x76B); fn_1_64BC(arg0, 1, 0x3C); - } - else if ((arg0->unk20 != 0) && (temp_r27 == 0)) { + } else if ((arg0->unk20 != 0) && (temp_r27 == 0)) { HuAudFXPlay(0x76B); fn_1_64BC(arg0, 0, 0x3C); } return 1; } -s32 m446PlayerRemoveCard(unkStruct8 *arg0, unkStruct4 *arg1, s32 arg2) -{ +s32 m446PlayerRemoveCard(unkStruct8* arg0, unkStruct4* arg1, s32 arg2) { Vec spC; s32 var_r30; @@ -422,7 +351,7 @@ s32 m446PlayerRemoveCard(unkStruct8 *arg0, unkStruct4 *arg1, s32 arg2) OSReport("m446PlayerRemoveCard ERROR...\n"); return 0; } - + for (var_r30 = 0; var_r30 < 3; var_r30++) { if (arg0->unk2C[var_r30] == arg1) { break; @@ -448,8 +377,7 @@ s32 m446PlayerRemoveCard(unkStruct8 *arg0, unkStruct4 *arg1, s32 arg2) return 1; } -s32 fn_1_5648(unkStruct8 *arg0, s32 arg1, unkStruct4 **arg2) -{ +s32 fn_1_5648(unkStruct8* arg0, s32 arg1, unkStruct4** arg2) { if ((arg1 < 0) || (arg1 >= 3)) { return 0; } @@ -457,8 +385,7 @@ s32 fn_1_5648(unkStruct8 *arg0, s32 arg1, unkStruct4 **arg2) return 1; } -s32 fn_1_5678(unkStruct8 *arg0, unkStruct4 **arg1, s32 arg2) -{ +s32 fn_1_5678(unkStruct8* arg0, unkStruct4** arg1, s32 arg2) { s32 sp14[3]; Vec sp8; s32 var_r28; @@ -467,7 +394,7 @@ s32 fn_1_5678(unkStruct8 *arg0, unkStruct4 **arg1, s32 arg2) s32 var_r24; s32 var_r27; s32 var_r26; - unkStruct4 *var_r29; + unkStruct4* var_r29; var_r27 = 0; var_r26 = 0; @@ -485,15 +412,14 @@ s32 fn_1_5678(unkStruct8 *arg0, unkStruct4 **arg1, s32 arg2) break; } } - } - else { + } else { for (var_r30 = 0; var_r30 < 3; var_r30++) { var_r29 = arg0->unk2C[var_r30]; if (var_r29->unk0 != arg0->unk28) { break; } } - + var_r24 = fn_1_4720(arg0->unk4, var_r29->unk0); if (var_r24 >= 2) { for (var_r30 = 0; var_r30 < 3; var_r30++) { @@ -503,13 +429,11 @@ s32 fn_1_5678(unkStruct8 *arg0, unkStruct4 **arg1, s32 arg2) break; } } - } - else { + } else { arg0->unk74 = (fn_1_38F0() % 3); } } - } - else { + } else { for (var_r30 = 0; var_r30 < 3; var_r30++) { var_r29 = arg0->unk2C[var_r30]; sp14[var_r30] = fn_1_4720(arg0->unk4, var_r29->unk0); @@ -526,8 +450,7 @@ s32 fn_1_5678(unkStruct8 *arg0, unkStruct4 **arg1, s32 arg2) } if (var_r28 == 5) { arg0->unk74 = (fn_1_38F0() % 3); - } - else { + } else { arg0->unk74 = var_r30; } } @@ -536,24 +459,22 @@ s32 fn_1_5678(unkStruct8 *arg0, unkStruct4 **arg1, s32 arg2) } if (arg0->unk7C > 0) { arg0->unk7C--; - } - else { + } else { var_r27 = arg0->unk74 < arg0->unk10; var_r26 = arg0->unk74 > arg0->unk10; var_r25 = arg0->unk74 == arg0->unk10; arg0->unk7C = 0x12; } - } - else { + } else { switch (arg0->unk0) { - case 0: - var_r27 = (HuPadDStkRep[arg0->unk66] & 1) != 0; - var_r26 = (HuPadDStkRep[arg0->unk66] & 2) != 0; - break; - case 1: - var_r27 = (HuPadDStkRep[arg0->unk66] & 2) != 0; - var_r26 = (HuPadDStkRep[arg0->unk66] & 1) != 0; - break; + case 0: + var_r27 = (HuPadDStkRep[arg0->unk66] & 1) != 0; + var_r26 = (HuPadDStkRep[arg0->unk66] & 2) != 0; + break; + case 1: + var_r27 = (HuPadDStkRep[arg0->unk66] & 2) != 0; + var_r26 = (HuPadDStkRep[arg0->unk66] & 1) != 0; + break; } var_r25 = (HuPadBtnDown[arg0->unk66] & 0x100) != 0; } @@ -592,23 +513,20 @@ s32 fn_1_5678(unkStruct8 *arg0, unkStruct4 **arg1, s32 arg2) return 0; } -void fn_1_5B34(unkStruct8 *arg0) -{ +void fn_1_5B34(unkStruct8* arg0) { arg0->unk18 = 1; arg0->unk1C = 0; } -static const s32 lbl_1_rodata_1C8[4] = { 0, 1, 2, 3 }; +static const s32 lbl_1_rodata_1C8[4] = {0, 1, 2, 3}; -void fn_1_5B48(unkStruct8 *arg0) -{ +void fn_1_5B48(unkStruct8* arg0) { switch (arg0->unk1C) { case 0: if (arg0->unk70 != 0) { - Hu3DMotionShiftSet(arg0->unk3C[0], arg0->unk40[2], 0.0f, 10.0f, HU3D_MOTATTR_NONE); - } - else { - CharModelMotionShiftSet(arg0->unk64, arg0->unk40[2], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(arg0->unk3C[0], arg0->unk40[2], 0.0f, 10.0f, 0); + } else { + CharModelMotionShiftSet(arg0->unk64, arg0->unk40[2], 0.0f, 10.0f, 0); } arg0->unk1C = 1; break; @@ -619,21 +537,18 @@ void fn_1_5B48(unkStruct8 *arg0) } } -void fn_1_5C10(unkStruct8 *arg0) -{ +void fn_1_5C10(unkStruct8* arg0) { arg0->unk18 = 2; arg0->unk1C = 0; } -void fn_1_5C24(unkStruct8 *arg0) -{ +void fn_1_5C24(unkStruct8* arg0) { switch (arg0->unk1C) { case 0: if (arg0->unk70 != 0) { - Hu3DMotionShiftSet(arg0->unk3C[0], arg0->unk40[3], 0.0f, 10.0f, HU3D_MOTATTR_NONE); - } - else { - CharModelMotionShiftSet(arg0->unk64, arg0->unk40[3], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + Hu3DMotionShiftSet(arg0->unk3C[0], arg0->unk40[3], 0.0f, 10.0f, 0); + } else { + CharModelMotionShiftSet(arg0->unk64, arg0->unk40[3], 0.0f, 10.0f, 0); } arg0->unk1C = 1; break; @@ -644,14 +559,12 @@ void fn_1_5C24(unkStruct8 *arg0) } } -void fn_1_5CEC(unkStruct8 *arg0) -{ +void fn_1_5CEC(unkStruct8* arg0) { arg0->unk18 = 3; arg0->unk1C = 0; } -void fn_1_5D00(unkStruct8 *arg0) -{ +void fn_1_5D00(unkStruct8* arg0) { Vec sp8; sp8 = arg0->unk54; @@ -659,10 +572,9 @@ void fn_1_5D00(unkStruct8 *arg0) case 0: Hu3DModelAmbSet(arg0->unk3C[0], 0.8f, 0.8f, 0.8f); if (arg0->unk70 != 0) { - Hu3DMotionShiftSet(arg0->unk3C[0], arg0->unk40[1], 0.0f, 10.0f, HU3D_MOTATTR_NONE); - } - else { - CharModelMotionShiftSet(arg0->unk64, arg0->unk40[1], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(arg0->unk3C[0], arg0->unk40[1], 0.0f, 10.0f, 0U); + } else { + CharModelMotionShiftSet(arg0->unk64, arg0->unk40[1], 0.0f, 10.0f, 0x40000001U); Hu3DMotionStartEndSet(arg0->unk3C[0], 0.0f, 59.0f); } sp8.y = 0.0f; @@ -677,8 +589,7 @@ void fn_1_5D00(unkStruct8 *arg0) } } -void fn_1_5E54(unkStruct8 *arg0, s32 arg1) -{ +void fn_1_5E54(unkStruct8* arg0, s32 arg1) { Vec sp14; Vec sp8; f32 var_f31; @@ -687,12 +598,11 @@ void fn_1_5E54(unkStruct8 *arg0, s32 arg1) if (arg0->unk70 != 0) { var_f31 = 95.0f; - } - else { + } else { var_f31 = 80.0f; } sp14.y = var_f31; - + switch (arg0->unk0) { case 0: sp14.x = -30.0f + (30.0f * arg1); @@ -705,16 +615,14 @@ void fn_1_5E54(unkStruct8 *arg0, s32 arg1) sp14.x = 30.0f - (30.0f * arg1); if (arg0->unk70 != 0) { var_f30 = 30.0f; - } - else { + } else { var_f30 = 55.0f; } sp14.z = -50.0f - var_f30; sp8.x = 0.0f; if (arg0->unk70 != 0) { var_f29 = 180.0f; - } - else { + } else { var_f29 = -90.0f; } sp8.y = var_f29; @@ -727,12 +635,11 @@ void fn_1_5E54(unkStruct8 *arg0, s32 arg1) arg0->unk1C = 0; } -void fn_1_6074(unkStruct8 *arg0) -{ +void fn_1_6074(unkStruct8* arg0) { Vec sp8; f32 var_f31; f32 var_f30; - + switch (arg0->unk1C) { case 0: arg0->unk1C = 1; @@ -741,8 +648,7 @@ void fn_1_6074(unkStruct8 *arg0) sp8 = arg0->unk48; if (arg0->unk0 == 0) { var_f31 = -25.0f; - } - else { + } else { var_f31 = 25.0f; } sp8.z += var_f31; @@ -752,27 +658,24 @@ void fn_1_6074(unkStruct8 *arg0) arg0->unk14 = 0; break; case 2: - if (arg0->unk14++ < 0x1E) - break; + if (arg0->unk14++ < 0x1E) break; arg0->unk1C = 3; case 3: - Hu3DModelAttrSet(arg0->unk3C[1], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(arg0->unk3C[1], 0x40000001); arg0->unk1C = 4; arg0->unk14 = 0; break; case 4: if (arg0->unk14 == 1) { - Hu3DModelAttrReset(arg0->unk3C[1], HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(arg0->unk3C[1], 0x40000001); } - if (arg0->unk14++ < 0x1E) - break; + if (arg0->unk14++ < 0x1E) break; arg0->unk1C = 5; case 5: sp8 = arg0->unk48; if (arg0->unk0 == 0) { var_f30 = -50.0f; - } - else { + } else { var_f30 = 50.0f; } sp8.z -= var_f30; @@ -788,8 +691,7 @@ void fn_1_6074(unkStruct8 *arg0) } } -void fn_1_6264(unkStruct8 *arg0, Vec *arg1, s32 arg2) -{ +void fn_1_6264(unkStruct8* arg0, Vec* arg1, s32 arg2) { arg0->unk8C = *arg1; arg0->unk80 = arg0->unk54; arg0->unkB8 = 0.0f; @@ -797,8 +699,7 @@ void fn_1_6264(unkStruct8 *arg0, Vec *arg1, s32 arg2) arg0->unk98 = 1; } -void fn_1_62F0(unkStruct8 *arg0, Vec *arg1, s32 arg2) -{ +void fn_1_62F0(unkStruct8* arg0, Vec* arg1, s32 arg2) { arg0->unkA8 = *arg1; arg0->unk9C = arg0->unk48; arg0->unkC0 = 0.0f; @@ -806,21 +707,19 @@ void fn_1_62F0(unkStruct8 *arg0, Vec *arg1, s32 arg2) arg0->unkB4 = 1; } -void fn_1_637C(unkStruct8 *arg0, s32 arg1) -{ +void fn_1_637C(unkStruct8* arg0, s32 arg1) { f32 var_f31; arg0->unkC8 = arg1; switch (arg1) { case 0: - Hu3DModelAttrReset(arg0->unk3C[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->unk3C[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(arg0->unk3C[1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->unk3C[0], 1); + Hu3DModelAttrSet(arg0->unk3C[0], 0x40000001); + Hu3DModelAttrSet(arg0->unk3C[1], 1); arg0->unk48.x = 0.0f; if (arg0->unk70 != 0) { var_f31 = 70.0f; - } - else { + } else { var_f31 = 0.0f; } arg0->unk48.y = var_f31; @@ -833,44 +732,40 @@ void fn_1_637C(unkStruct8 *arg0, s32 arg1) arg0->unk48.z = -150.0f; arg0->unk54.y = 0.0f; return; - } - break; + } + break; case 1: - Hu3DModelAttrReset(arg0->unk3C[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->unk3C[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->unk3C[1], 1); + Hu3DModelAttrSet(arg0->unk3C[0], 1); break; } } -void fn_1_64BC(unkStruct8 *arg0, s32 arg1, s32 arg2) -{ +void fn_1_64BC(unkStruct8* arg0, s32 arg1, s32 arg2) { if (arg0->unk70 == 0) { switch (arg1) { - case 0: - omVibrate(arg0->unk0, arg2, 6, 6); - return; - case 1: - omVibrate(arg0->unk0, arg2, 4, 2); - return; - case 2: - omVibrate(arg0->unk0, arg2, 12, 0); - break; + case 0: + omVibrate(arg0->unk0, arg2, 6, 6); + return; + case 1: + omVibrate(arg0->unk0, arg2, 4, 2); + return; + case 2: + omVibrate(arg0->unk0, arg2, 12, 0); + break; } } } -static inline unkStruct8UnkC8(unkStruct8 *arg0) -{ +static inline unkStruct8UnkC8(unkStruct8* arg0) { if (arg0->unkC8 == 0) { return 0; - } - else { + } else { return 1; } } -void fn_1_6578(unkStruct8 *arg0) -{ +void fn_1_6578(unkStruct8* arg0) { s32 var_r30; var_r30 = unkStruct8UnkC8(arg0); @@ -879,17 +774,16 @@ void fn_1_6578(unkStruct8 *arg0) Hu3DModelScaleSet(arg0->unk3C[var_r30], arg0->unk60, arg0->unk60, arg0->unk60); } -void fn_1_6620(unkStruct8 *arg0) -{ +void fn_1_6620(unkStruct8* arg0) { s32 var_r26; - unkStruct4 *temp_r27; - unkStruct4 *temp_r30; + unkStruct4* temp_r27; + unkStruct4* temp_r30; s32 var_r29; s32 var_r28; arg0->unk20 = 0; arg0->unk24 = 0; - + for (var_r29 = 0; var_r29 < 3; var_r29++) { temp_r30 = arg0->unk2C[var_r29]; if (temp_r30) { @@ -900,7 +794,7 @@ void fn_1_6620(unkStruct8 *arg0) var_r26 = 0; temp_r30 = arg0->unk2C[var_r29]; if (temp_r30) { - + for (var_r28 = 0; var_r28 < 3; var_r28++) { temp_r27 = arg0->unk2C[var_r28]; if ((var_r29 != var_r28) && (temp_r27) && (temp_r30->unk0 == temp_r27->unk0)) { @@ -911,11 +805,10 @@ void fn_1_6620(unkStruct8 *arg0) arg0->unk28 = temp_r30->unk0; if (var_r26 == 1) { arg0->unk20 = 1; - } - else if (var_r26 == 2) { + } else if (var_r26 == 2) { arg0->unk24 = 1; } - + for (var_r28 = 0; var_r28 < 3; var_r28++) { temp_r27 = arg0->unk2C[var_r28]; if ((temp_r27) && (temp_r30->unk0 == temp_r27->unk0)) { @@ -926,4 +819,4 @@ void fn_1_6620(unkStruct8 *arg0) } } } -} +} \ No newline at end of file diff --git a/src/REL/m446Dll/stage.c b/src/REL/m446Dll/stage.c index 19f9d91f..11fbfee3 100644 --- a/src/REL/m446Dll/stage.c +++ b/src/REL/m446Dll/stage.c @@ -4,7 +4,7 @@ #include "game/hsfmotion.h" // bss -unkStruct3 *lbl_1_bss_A0; +unkStruct3* lbl_1_bss_A0; // data s32 lbl_1_data_410[5] = { 0x4D0008, 0x4D0007, 0x4D0006, 0x4D001F, 0x4D001F }; @@ -15,41 +15,52 @@ Vec lbl_1_data_424[5] = { { 160.0f, 160.0f, 0.0f }, { -160.0f, 160.0f, 0.0f }, }; -unkStruct10 lbl_1_data_460[3] = { { { 160.0f, 160.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0xFF, 0xFF, 0xFF, 0xFF } }, - { { -160.0f, 160.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0xFF, 0xFF, 0xFF, 0xFF } }, - { { 0.0f, 160.0f, 500.0f }, { 0.0f, 0.0f, 0.0f }, { 0xB0, 0xB0, 0xB0, 0xFF } } }; +unkStruct10 lbl_1_data_460[3] = { + { + { 160.0f, 160.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + { 0xFF, 0xFF, 0xFF, 0xFF } + }, + { + { -160.0f, 160.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + { 0xFF, 0xFF, 0xFF, 0xFF } + }, + { + { 0.0f, 160.0f, 500.0f }, + { 0.0f, 0.0f, 0.0f }, + { 0xB0, 0xB0, 0xB0, 0xFF } + } +}; Vec lbl_1_data_4B4[3] = { { 1.0f, 3000.0f, 1.0f }, { 0.0f, 1.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, }; -s32 fn_1_7BF0(void) -{ +s32 fn_1_7BF0(void) { lbl_1_bss_A0 = 0; return 1; } -void fn_1_7C08(void) -{ - unkStruct3 *var_r31; - unkStruct9 *var_r30; +void fn_1_7C08(void) { + unkStruct3* var_r31; + unkStruct9* var_r30; var_r31 = lbl_1_bss_A0; if (var_r31) { do { var_r30 = var_r31->unk0; - fn_1_2688((unkStruct4 *)var_r30); // ??? + fn_1_2688((unkStruct4*)var_r30); // ??? var_r31 = var_r31->unk8; } while (var_r31); } } -void fn_1_7C60(void) -{ +void fn_1_7C60(void) { s32 var_r30; - unkStruct3 *var_r29; - unkStruct9 *temp_r31; + unkStruct3* var_r29; + unkStruct9* temp_r31; var_r29 = lbl_1_bss_A0; if (var_r29) { @@ -59,8 +70,7 @@ void fn_1_7C60(void) if ((temp_r31->unk14 += 0.002f) > 1.0f) { temp_r31->unk14 = 1.0f; } - Hu3DGLightColorSet(temp_r31->unkA[2], lbl_1_data_460[2].unk18.r * temp_r31->unk14, lbl_1_data_460[2].unk18.g * temp_r31->unk14, - lbl_1_data_460[2].unk18.b * temp_r31->unk14, lbl_1_data_460[2].unk18.a * temp_r31->unk14); + Hu3DGLightColorSet(temp_r31->unkA[2], lbl_1_data_460[2].unk18.r * temp_r31->unk14, lbl_1_data_460[2].unk18.g * temp_r31->unk14, lbl_1_data_460[2].unk18.b * temp_r31->unk14, lbl_1_data_460[2].unk18.a * temp_r31->unk14); } if (temp_r31->unk24 != 0) { for (var_r30 = 0; var_r30 <= 1; var_r30++) { @@ -68,24 +78,22 @@ void fn_1_7C60(void) if ((temp_r31->unk10 += 0.002f) > 1.0f) { temp_r31->unk10 = 1.0f; } - Hu3DGLightColorSet(temp_r31->unkA[var_r30], temp_r31->unk10 * lbl_1_data_460[var_r30].unk18.r, - temp_r31->unk10 * lbl_1_data_460[var_r30].unk18.g, temp_r31->unk10 * lbl_1_data_460[var_r30].unk18.b, - temp_r31->unk10 * lbl_1_data_460[var_r30].unk18.a); + Hu3DGLightColorSet(temp_r31->unkA[var_r30], temp_r31->unk10 * lbl_1_data_460[var_r30].unk18.r, temp_r31->unk10 * lbl_1_data_460[var_r30].unk18.g, temp_r31->unk10 * lbl_1_data_460[var_r30].unk18.b, temp_r31->unk10 * lbl_1_data_460[var_r30].unk18.a); } } if ((temp_r31->unk18 == 0) && (Hu3DMotionEndCheck(temp_r31->unk0[2]) != 0)) { Hu3DMotionStartEndSet(temp_r31->unk0[2], 180.0f, 359.0f); - Hu3DModelAttrSet(temp_r31->unk0[2], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(temp_r31->unk0[2], 0x40000001); temp_r31->unk18 = 1; } if ((temp_r31->unk1C == 0) && (Hu3DMotionEndCheck(temp_r31->unk0[3]) != 0)) { Hu3DMotionStartEndSet(temp_r31->unk0[3], 120.0f, 159.0f); - Hu3DModelAttrSet(temp_r31->unk0[3], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(temp_r31->unk0[3], 0x40000001); temp_r31->unk1C = 1; } if ((temp_r31->unk20 == 0) && (Hu3DMotionEndCheck(temp_r31->unk0[4]) != 0)) { Hu3DMotionStartEndSet(temp_r31->unk0[4], 120.0f, 159.0f); - Hu3DModelAttrSet(temp_r31->unk0[4], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(temp_r31->unk0[4], 0x40000001); temp_r31->unk20 = 1; } } @@ -94,14 +102,13 @@ void fn_1_7C60(void) } } -unkStruct9 *m446StageCreate(void) -{ +unkStruct9* m446StageCreate(void) { s32 var_r30; - unkStruct3 *var_r29; - unkStruct3 *temp_ret; - unkStruct9 *var_r31; + unkStruct3* var_r29; + unkStruct3* temp_ret; + unkStruct9* var_r31; - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x30, MEMORY_DEFAULT_NUM); + var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x30, 0x10000000); if (!var_r31) { return NULL; } @@ -113,19 +120,19 @@ unkStruct9 *m446StageCreate(void) var_r31->unk24 = 0; var_r31->unk28 = 0; var_r31->unk2C = 0; - + for (var_r30 = 0; var_r30 < 5; var_r30++) { var_r31->unk0[var_r30] = Hu3DModelCreateFile(lbl_1_data_410[var_r30]); Hu3DModelPosSet(var_r31->unk0[var_r30], lbl_1_data_424[var_r30].x, lbl_1_data_424[var_r30].y, lbl_1_data_424[var_r30].z); } - Hu3DModelAttrSet(var_r31->unk0[3], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->unk0[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->unk0[3], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(var_r31->unk0[4], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(var_r31->unk0[3], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(var_r31->unk0[4], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(var_r31->unk0[2], HU3D_MOTATTR_LOOP); - + Hu3DModelAttrSet(var_r31->unk0[3], 1); + Hu3DModelAttrSet(var_r31->unk0[4], 1); + Hu3DModelAttrSet(var_r31->unk0[3], 0x40000002); + Hu3DModelAttrSet(var_r31->unk0[4], 0x40000002); + Hu3DModelAttrReset(var_r31->unk0[3], 0x40000001); + Hu3DModelAttrReset(var_r31->unk0[4], 0x40000001); + Hu3DModelAttrReset(var_r31->unk0[2], 0x40000001); + for (var_r30 = 0; var_r30 < 3; var_r30++) { var_r31->unkA[var_r30] = Hu3DGLightCreateV(&lbl_1_data_460[var_r30].unk0, &lbl_1_data_460[var_r30].unkC, &lbl_1_data_460[var_r30].unk18); Hu3DGLightStaticSet(var_r31->unkA[var_r30], 1); @@ -145,17 +152,15 @@ unkStruct9 *m446StageCreate(void) } if (lbl_1_bss_A0) { fn_1_1EC8(lbl_1_bss_A0, var_r29); - } - else { + } else { lbl_1_bss_A0 = var_r29; } return var_r31; } -void fn_1_83F0(unkStruct9 *arg0) -{ +void fn_1_83F0(unkStruct9* arg0) { s32 var_r30; - unkStruct3 *var_r31; + unkStruct3* var_r31; var_r31 = lbl_1_bss_A0; do { @@ -165,35 +170,33 @@ void fn_1_83F0(unkStruct9 *arg0) } fn_1_1F04(var_r31); fn_1_1E5C(var_r31); - + for (var_r30 = 0; var_r30 < 5; var_r30++) { Hu3DModelKill(arg0->unk0[var_r30]); } HuMemDirectFree(arg0); return; - } - var_r31 = var_r31->unk8; + } + var_r31 = var_r31->unk8; } while (var_r31); } -void fn_1_84AC(unkStruct9 *arg0) -{ - Hu3DModelAttrReset(arg0->unk0[3], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(arg0->unk0[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(arg0->unk0[3], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(arg0->unk0[4], HU3D_MOTATTR_PAUSE); +void fn_1_84AC(unkStruct9* arg0) { + Hu3DModelAttrReset(arg0->unk0[3], 1); + Hu3DModelAttrReset(arg0->unk0[4], 1); + Hu3DModelAttrReset(arg0->unk0[3], 0x40000002); + Hu3DModelAttrReset(arg0->unk0[4], 0x40000002); arg0->unk24 = 1; arg0->unk1C = 0; arg0->unk20 = 0; arg0->unk18 = 0; } -void fn_1_852C(unkStruct9 *arg0) -{ - Hu3DModelAttrSet(arg0->unk0[3], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->unk0[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->unk0[3], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(arg0->unk0[4], HU3D_MOTATTR_PAUSE); +void fn_1_852C(unkStruct9* arg0) { + Hu3DModelAttrSet(arg0->unk0[3], 1U); + Hu3DModelAttrSet(arg0->unk0[4], 1U); + Hu3DModelAttrSet(arg0->unk0[3], 0x40000002U); + Hu3DModelAttrSet(arg0->unk0[4], 0x40000002U); Hu3DMotionStartEndSet(arg0->unk0[2], 0.0f, 359.0f); Hu3DMotionStartEndSet(arg0->unk0[3], 0.0f, 119.0f); Hu3DMotionStartEndSet(arg0->unk0[4], 0.0f, 119.0f); @@ -203,7 +206,6 @@ void fn_1_852C(unkStruct9 *arg0) arg0->unk18 = 0; } -void fn_1_860C(unkStruct9 *arg0) -{ +void fn_1_860C(unkStruct9* arg0) { arg0->unk28 = 1; -} +} \ No newline at end of file diff --git a/src/REL/m446Dll/table.c b/src/REL/m446Dll/table.c index ea79e3b9..56d45462 100644 --- a/src/REL/m446Dll/table.c +++ b/src/REL/m446Dll/table.c @@ -3,18 +3,16 @@ #include "game/pad.h" // bss -unkStruct3 *lbl_1_bss_28; +unkStruct3* lbl_1_bss_28; -s32 fn_1_3924(void) -{ +s32 fn_1_3924(void) { lbl_1_bss_28 = NULL; return 1; } -void fn_1_393C(void) -{ - unkStruct3 *var_r31; - unkStruct6 *var_r30; +void fn_1_393C(void) { + unkStruct3* var_r31; + unkStruct6* var_r30; var_r31 = lbl_1_bss_28; if (var_r31) { @@ -26,10 +24,9 @@ void fn_1_393C(void) } } -void fn_1_3994(void) -{ - unkStruct4 *sp8; - unkStruct3 *var_r31; +void fn_1_3994(void) { + unkStruct4* sp8; + unkStruct3* var_r31; var_r31 = lbl_1_bss_28; if (var_r31) { @@ -40,17 +37,16 @@ void fn_1_3994(void) } } -unkStruct6 *fn_1_39D0(void) -{ +unkStruct6* fn_1_39D0(void) { s32 var_r30; - unkStruct3 *var_r29; - unkStruct6 *var_r31; + unkStruct3* var_r29; + unkStruct6* var_r31; - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x70, MEMORY_DEFAULT_NUM); + var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x70, 0x10000000); if (!var_r31) { return NULL; } - var_r31->unk4 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M446, 0x05)); + var_r31->unk4 = Hu3DModelCreateFile(0x4D0005); Hu3DModelAmbSet(var_r31->unk4, 0.0f, 0.0f, 0.0f); Hu3DModelShadowMapSet(var_r31->unk4); Hu3DModelLayerSet(var_r31->unk4, 0); @@ -59,7 +55,7 @@ unkStruct6 *fn_1_39D0(void) var_r31->unk60 = 10; var_r31->unk5C = 0; var_r31->unk6C = 0; - + for (var_r30 = 0; var_r30 < 21; var_r30++) { var_r31->unk8[var_r30] = NULL; } @@ -72,16 +68,14 @@ unkStruct6 *fn_1_39D0(void) } if (lbl_1_bss_28) { fn_1_1EC8(lbl_1_bss_28, var_r29); - } - else { + } else { lbl_1_bss_28 = var_r29; } return var_r31; } -void fn_1_3B4C(unkStruct6 *arg0) -{ - unkStruct3 *var_r31; +void fn_1_3B4C(unkStruct6* arg0) { + unkStruct3* var_r31; var_r31 = lbl_1_bss_28; do { @@ -100,12 +94,11 @@ void fn_1_3B4C(unkStruct6 *arg0) } while (var_r31); } -s32 fn_1_3BF0(unkStruct6 *arg0, unkStruct4 *arg1, s32 arg2) -{ +s32 fn_1_3BF0(unkStruct6* arg0, unkStruct4* arg1, s32 arg2) { Vec sp18; Vec spC; s32 temp_r29; - + if (arg0->unk5C >= 21) { return 0; } @@ -145,11 +138,10 @@ s32 fn_1_3BF0(unkStruct6 *arg0, unkStruct4 *arg1, s32 arg2) return 1; } -s32 fn_1_3EB4(unkStruct6 *arg0, unkStruct4 *arg1, s32 arg2) -{ +s32 fn_1_3EB4(unkStruct6* arg0, unkStruct4* arg1, s32 arg2) { Vec spC; s32 var_r31; - + for (var_r31 = 0; var_r31 < 0x15; var_r31++) { if (arg0->unk8[var_r31] == arg1) { arg0->unk8[var_r31] = NULL; @@ -173,8 +165,7 @@ s32 fn_1_3EB4(unkStruct6 *arg0, unkStruct4 *arg1, s32 arg2) return 1; } -s32 fn_1_3FD0(unkStruct6 *arg0, s32 arg1, unkStruct4 **arg2) -{ +s32 fn_1_3FD0(unkStruct6* arg0, s32 arg1, unkStruct4** arg2) { if ((arg1 < 0) || (arg1 >= 0x15)) { return 0; } @@ -182,24 +173,21 @@ s32 fn_1_3FD0(unkStruct6 *arg0, s32 arg1, unkStruct4 **arg2) return 1; } -void fn_1_4000(unkStruct6 *arg0, s32 arg1) -{ +void fn_1_4000(unkStruct6* arg0, s32 arg1) { s32 var_r31; - unkStruct4 *var_r30; + unkStruct4* var_r30; for (var_r31 = 0; var_r31 < 21; var_r31++) { if (arg1 != 0) { var_r30 = arg0->unk8[20 - var_r31]; - } - else { + } else { var_r30 = arg0->unk8[var_r31]; } if ((var_r30) && (var_r30->unk64 == 0)) { if (arg1 != 0) { arg0->unk60 = (0x14 - var_r31); return; - } - else { + } else { arg0->unk60 = var_r31; return; } @@ -207,12 +195,11 @@ void fn_1_4000(unkStruct6 *arg0, s32 arg1) } } -s32 fn_1_4088(unkStruct6 *arg0, u8 arg1, u8 arg2, s32 arg3, unkStruct4 **arg4, s32 arg5) -{ +s32 fn_1_4088(unkStruct6* arg0, u8 arg1, u8 arg2, s32 arg3, unkStruct4** arg4, s32 arg5) { Vec sp10; s32 var_r28; s32 var_r27; - unkStruct4 *temp_r26; + unkStruct4* temp_r26; s32 var_r25; s32 var_r24; s32 var_r23; @@ -227,22 +214,19 @@ s32 fn_1_4088(unkStruct6 *arg0, u8 arg1, u8 arg2, s32 arg3, unkStruct4 **arg4, s *arg4 = NULL; if (arg2 >= 4) { if (arg0->unk6C == 0) { - arg0->unk64 = (s32)(fn_1_38F0() % 21); + arg0->unk64 = (s32) (fn_1_38F0() % 21); do { if (!(temp_r26 = arg0->unk8[arg0->unk64]) || temp_r26->unk64 != 0) { arg0->unk64 = ++arg0->unk64 % 21; - } - else - break; + } else break; (void)temp_r26; } while (TRUE); arg0->unk6C = 1; arg0->unk68 = 0x1E; } if ((arg0->unk68 > 0) && (arg5 == 0)) { - arg0->unk68--; - } - else { + arg0->unk68 = (arg0->unk68 - 1); + } else { var_r28 = (arg0->unk64 / 7) < (arg0->unk60 / 7); var_r27 = (arg0->unk64 / 7) > (arg0->unk60 / 7); if ((var_r28 == 0) && (var_r27 == 0)) { @@ -252,8 +236,7 @@ s32 fn_1_4088(unkStruct6 *arg0, u8 arg1, u8 arg2, s32 arg3, unkStruct4 **arg4, s var_r23 = arg0->unk64 == arg0->unk60; arg0->unk68 = 0x12; } - } - else if (arg5 == 0) { + } else if (arg5 == 0) { var_r25 = (HuPadDStkRep[arg2] & 1) != 0; var_r24 = (HuPadDStkRep[arg2] & 2) != 0; var_r28 = (HuPadDStkRep[arg2] & 8) != 0; @@ -263,8 +246,7 @@ s32 fn_1_4088(unkStruct6 *arg0, u8 arg1, u8 arg2, s32 arg3, unkStruct4 **arg4, s if (var_r25 != 0) { if ((arg0->unk60 % 7) == 0) { arg0->unk60 = (arg0->unk60 + 6); - } - else { + } else { arg0->unk60 = (arg0->unk60 - 1); } HuAudFXPlay(0); @@ -272,8 +254,7 @@ s32 fn_1_4088(unkStruct6 *arg0, u8 arg1, u8 arg2, s32 arg3, unkStruct4 **arg4, s if (var_r24 != 0) { if ((arg0->unk60 % 7) == 6) { arg0->unk60 = (arg0->unk60 - 6); - } - else { + } else { arg0->unk60 = (arg0->unk60 + 1); } HuAudFXPlay(0); @@ -281,8 +262,7 @@ s32 fn_1_4088(unkStruct6 *arg0, u8 arg1, u8 arg2, s32 arg3, unkStruct4 **arg4, s if (var_r28 != 0) { if ((arg0->unk60 / 7) == 0) { arg0->unk60 = (arg0->unk60 + 0xE); - } - else { + } else { arg0->unk60 = (arg0->unk60 - 7); } HuAudFXPlay(0); @@ -290,8 +270,7 @@ s32 fn_1_4088(unkStruct6 *arg0, u8 arg1, u8 arg2, s32 arg3, unkStruct4 **arg4, s if (var_r27 != 0) { if ((arg0->unk60 / 7) == 2) { arg0->unk60 = (arg0->unk60 - 0xE); - } - else { + } else { arg0->unk60 = (arg0->unk60 + 7); } HuAudFXPlay(0); @@ -316,39 +295,36 @@ s32 fn_1_4088(unkStruct6 *arg0, u8 arg1, u8 arg2, s32 arg3, unkStruct4 **arg4, s return 1; } HuAudFXPlay(4); - } - else { - HuAudFXPlay(4); + } else { + HuAudFXPlay(4); } } return 0; } -void fn_1_46AC(unkStruct6 *arg0) -{ - arg0->unk8[0] = (unkStruct4 *)-1; - arg0->unk8[6] = (unkStruct4 *)-1; - arg0->unk8[14] = (unkStruct4 *)-1; - arg0->unk8[20] = (unkStruct4 *)-1; +void fn_1_46AC(unkStruct6* arg0) { + arg0->unk8[0] = (unkStruct4*)-1; + arg0->unk8[6] = (unkStruct4*)-1; + arg0->unk8[14] = (unkStruct4*)-1; + arg0->unk8[20] = (unkStruct4*)-1; } -void fn_1_46D0(unkStruct6 *arg0) -{ +void fn_1_46D0(unkStruct6* arg0) { s32 var_r31; - + for (var_r31 = 0; var_r31 < 21; var_r31++) { - if (arg0->unk8[var_r31] == (unkStruct4 *)-1) { + if (arg0->unk8[var_r31] == (unkStruct4*)-1) { arg0->unk8[var_r31] = 0; } } } -s32 fn_1_4720(unkStruct6 *arg0, s32 arg1) -{ +s32 fn_1_4720(unkStruct6* arg0, s32 arg1) { s32 var_r29; s32 var_r30; - unkStruct4 *temp_r31; + unkStruct4* temp_r31; + for (var_r29 = 0, var_r30 = 0; var_r30 < 21; var_r30++) { temp_r31 = arg0->unk8[var_r30]; if ((temp_r31) && (temp_r31->unk64 == 0) && ((temp_r31->unk0 == arg1) || (arg1 == 5))) { @@ -358,15 +334,15 @@ s32 fn_1_4720(unkStruct6 *arg0, s32 arg1) return var_r29; } -void fn_1_4798(unkStruct6 *arg0) -{ - unkStruct4 *temp_r31; +void fn_1_4798(unkStruct6* arg0) { + unkStruct4* temp_r31; s32 var_r30; + for (var_r30 = 0; var_r30 < 0x15; var_r30++) { temp_r31 = arg0->unk8[var_r30]; if (temp_r31 && (temp_r31->unk64 != 0)) { fn_1_2794(temp_r31); } } -} +} \ No newline at end of file diff --git a/src/REL/m447dll/block.c b/src/REL/m447dll/block.c deleted file mode 100755 index 335a8091..00000000 --- a/src/REL/m447dll/block.c +++ /dev/null @@ -1,451 +0,0 @@ -#include "REL/m447dll.h" -#include "game/audio.h" -#include "game/hsfanim.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/sprite.h" - -#include "ext_math.h" - -void fn_1_8F7C(void *arg0); -void fn_1_910C(void); -void fn_1_9158(UnkM447Struct_01 *arg0); -void fn_1_9320(UnkM447Struct_01 *arg0); -void fn_1_9374(UnkM447Struct_01 *arg0); -void fn_1_9538(UnkM447Struct_01 *arg0); -void fn_1_953C(UnkM447Struct_01 *arg0); -void fn_1_9758(UnkM447Struct_01 *arg0); -void fn_1_991C(UnkM447Struct_01 *arg0); -void fn_1_9BCC(UnkM447Struct_01 *arg0); -void fn_1_9CEC(UnkM447Struct_01 *arg0); -void fn_1_9EEC(UnkM447Struct_01 *arg0); -void fn_1_9F40(ModelData *model, ParticleData *particle, Mtx matrix); - -u32 lbl_1_bss_B8; // Maybe part of another file with fn_1_A230 and fn_1_A240. -UnkM447Struct_01 *lbl_1_bss_A4[5]; -s32 lbl_1_bss_A0; - -const s32 lbl_1_rodata_5F8[] - = { DATA_MAKE_NUM(DATADIR_M447, 12), DATA_MAKE_NUM(DATADIR_M447, 13), DATA_MAKE_NUM(DATADIR_M447, 10), DATA_MAKE_NUM(DATADIR_M447, 11), - DATA_MAKE_NUM(DATADIR_M447, 4), DATA_MAKE_NUM(DATADIR_M447, 5), DATA_MAKE_NUM(DATADIR_M447, 16), DATA_MAKE_NUM(DATADIR_M447, 17), - DATA_MAKE_NUM(DATADIR_M447, 8), DATA_MAKE_NUM(DATADIR_M447, 9), DATA_MAKE_NUM(DATADIR_M447, 6), DATA_MAKE_NUM(DATADIR_M447, 7), - DATA_MAKE_NUM(DATADIR_M447, 18), DATA_MAKE_NUM(DATADIR_M447, 19), DATA_MAKE_NUM(DATADIR_M447, 20), DATA_MAKE_NUM(DATADIR_M447, 21), - DATA_MAKE_NUM(DATADIR_M447, 22), DATA_MAKE_NUM(DATADIR_M447, 23), DATA_MAKE_NUM(DATADIR_M447, 14), DATA_MAKE_NUM(DATADIR_M447, 15) }; - -const float lbl_1_rodata_648[20] - = { 30.0f, 30.0f, 80.0f, 30.0f, 80.0f, 80.0f, 60.0f, 60.0f, 80.0f, 80.0f, 30.0f, 30.0f, 45.0f, 45.0f, 50.0f, 50.0f, 30.0f, 30.0f, 75.0f, 50.0f }; - -UnkM447Struct_01 *fn_1_8DF8(void) -{ - UnkM447Struct_01 *temp_r3; - - temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(*temp_r3), MEMORY_DEFAULT_NUM); - if (!temp_r3) { - OSReport("M447BlockCreate ERROR...\n"); - return NULL; - } - temp_r3->unk04 = 0; - temp_r3->unk00 = 0; - temp_r3->unk08 = 0; - temp_r3->unk0C = 0; - temp_r3->unk10.x = 0.0f; - temp_r3->unk10.y = 0.0f; - temp_r3->unk10.z = 0.0f; - temp_r3->unk40 = 0.0f; - temp_r3->unk44 = 0.0f; - temp_r3->unk48 = 0.0f; - temp_r3->unk4C = 0.0f; - temp_r3->unk50 = 0.0f; - temp_r3->unk54 = 0.0f; - temp_r3->unk1C.x = 0.0f; - temp_r3->unk1C.y = 0.0f; - temp_r3->unk1C.z = 0.0f; - temp_r3->unk8C = 1.0f; - fn_1_9158(temp_r3); - temp_r3->unkA4 = HuPrcChildCreate(fn_1_910C, 105, 0x3000, 0, lbl_1_bss_4); - temp_r3->unkA4->user_data = temp_r3; - return temp_r3; -} - -void fn_1_8F7C(void *arg0) -{ - fn_1_8F7C(arg0); - HuMemDirectFree(arg0); -} - -void fn_1_8FF4(UnkM447Struct_01 *arg0, s32 arg1) -{ - arg0->unk04 = arg1; - arg0->unk0C = 0; -} - -void fn_1_9004(UnkM447Struct_01 *arg0, s32 arg1, s32 arg2) -{ - if (lbl_1_bss_A0 != 0) { - arg0->unk00 = arg1 * 2 + (arg2 != 0 ? 0 : 1); - } - else { - arg0->unk00 = arg1 * 2 + (arg2 != 0 ? 1 : 0); - } - arg0->unk08 = arg2; - arg0->unk8C = 1.0f; - arg0->unk4C = 1.0f; - arg0->unk50 = 1.0f; - arg0->unk54 = 1.0f; - Hu3DModelAttrSet(arg0->unk58[arg0->unk00], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->unk58[21], HU3D_ATTR_DISPOFF); -} - -void fn_1_90FC(s32 arg0) -{ - lbl_1_bss_A0 = arg0; -} - -void (*lbl_1_data_294[])(UnkM447Struct_01 *) = { fn_1_9538, fn_1_953C, fn_1_9758, fn_1_991C, fn_1_9BCC, fn_1_9CEC }; - -void fn_1_910C(void) -{ - UnkM447Struct_01 *temp_r31; - - temp_r31 = HuPrcCurrentGet()->user_data; - while (TRUE) { - lbl_1_data_294[temp_r31->unk04](temp_r31); - fn_1_9374(temp_r31); - HuPrcVSleep(); - } -} - -void fn_1_9158(UnkM447Struct_01 *arg0) -{ - s32 i; - - for (i = 0; i <= 19; i++) { - arg0->unk58[i] = Hu3DModelCreateFile(lbl_1_rodata_5F8[i]); - Hu3DModelAttrSet(arg0->unk58[i], HU3D_ATTR_ZWRITE_OFF); - Hu3DModelLayerSet(arg0->unk58[i], 7); - } - arg0->unk58[20] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M447, 30)); - Hu3DModelLayerSet(arg0->unk58[20], 7); - arg0->unk58[21] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M447, 25)); - Hu3DModelLayerSet(arg0->unk58[21], 7); - arg0->unkA0 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M447, 57)); - arg0->unk58[22] = Hu3DParticleCreate(arg0->unkA0, 64); - Hu3DParticleHookSet(arg0->unk58[22], fn_1_9F40); - Hu3DParticleBlendModeSet(arg0->unk58[22], 1); - Hu3DModelLayerSet(arg0->unk58[22], 6); - Hu3DModelAttrSet(arg0->unk58[22], HU3D_ATTR_DISPOFF); - for (i = 0; i <= 19; i++) { - Hu3DModelAttrSet(arg0->unk58[i], HU3D_ATTR_DISPOFF); - } - Hu3DModelAttrReset(arg0->unk58[arg0->unk00], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->unk58[20], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->unk58[21], HU3D_ATTR_DISPOFF); - for (i = 0; i <= 19; i++) { - Hu3DModelShadowSet(arg0->unk58[i]); - } -} - -void fn_1_9320(UnkM447Struct_01 *arg0) -{ - s32 i; - - for (i = 0; i < 23; i++) { - Hu3DModelKill(arg0->unk58[i]); - } -} - -void fn_1_9374(UnkM447Struct_01 *arg0) -{ - ModelData *temp_r30; - Mtx sp8; - - temp_r30 = &Hu3DData[arg0->unk58[arg0->unk00]]; - MTXIdentity(temp_r30->unk_F0); - MTXRotRad(sp8, 'x', MTXDegToRad(arg0->unk1C.x)); - MTXConcat(temp_r30->unk_F0, sp8, temp_r30->unk_F0); - MTXRotRad(sp8, 'y', MTXDegToRad(arg0->unk1C.y)); - MTXConcat(temp_r30->unk_F0, sp8, temp_r30->unk_F0); - MTXRotRad(sp8, 'z', MTXDegToRad(arg0->unk1C.z)); - MTXConcat(temp_r30->unk_F0, sp8, temp_r30->unk_F0); - Hu3DModelPosSet(arg0->unk58[arg0->unk00], arg0->unk10.x, arg0->unk10.y, arg0->unk10.z); - Hu3DModelPosSet(arg0->unk58[20], arg0->unk10.x, arg0->unk10.y - 100.0f, arg0->unk10.z); - Hu3DModelPosSet(arg0->unk58[21], arg0->unk10.x, arg0->unk10.y, arg0->unk10.z + 120.0f * arg0->unk54); - Hu3DModelRotSet(arg0->unk58[arg0->unk00], arg0->unk40, arg0->unk44, arg0->unk48); - Hu3DModelScaleSet(arg0->unk58[arg0->unk00], arg0->unk4C, arg0->unk50, arg0->unk54); - Hu3DModelScaleSet(arg0->unk58[21], arg0->unk4C, arg0->unk50, arg0->unk54); - Hu3DModelTPLvlSet(arg0->unk58[arg0->unk00], arg0->unk8C); -} - -void fn_1_9538(UnkM447Struct_01 *arg0) { } - -void fn_1_953C(UnkM447Struct_01 *arg0) -{ - float temp_f31; - - switch (arg0->unk0C) { - case 0: - arg0->unk90 = 0.0f; - arg0->unk98 = 0.016666668f; - arg0->unk10.y = -100.0f; - arg0->unk44 = 0.0f; - arg0->unk4C = 0.0f; - arg0->unk50 = 0.0f; - arg0->unk54 = 0.0f; - arg0->unk88 = -50.0f; - Hu3DModelAttrReset(arg0->unk58[arg0->unk00], HU3D_ATTR_DISPOFF); - arg0->unk0C = 1; - /* fallthrough */ - case 1: - arg0->unk44 += arg0->unk88; - temp_f31 = sind(90.0f * arg0->unk90); - arg0->unk10.y = -100.0f + 500.0f * temp_f31; - arg0->unk4C = arg0->unk90; - arg0->unk50 = arg0->unk90; - arg0->unk54 = arg0->unk90; - arg0->unk8C = temp_f31; - arg0->unk90 += arg0->unk98; - if (arg0->unk90 < 1.0f) { - break; - } - arg0->unk10.y = 400.0f; - arg0->unk4C = 1.0f; - arg0->unk50 = 1.0f; - arg0->unk54 = 1.0f; - arg0->unk8C = 1.0f; - arg0->unk0C = 2; - /* fallthrough */ - case 2: - fn_1_8FF4(arg0, 2); - break; - } -} - -void fn_1_9758(UnkM447Struct_01 *arg0) -{ - float temp_f31; - - switch (arg0->unk0C) { - case 0: - arg0->unk90 = 0.1f * (fn_1_A240() % 10); - arg0->unk98 = 0.011111111f; - arg0->unk0C = 1; - /* fallthrough */ - case 1: - if (arg0->unk88 < -8.0f) { - arg0->unk88 += 0.05f; - } - temp_f31 = sind(180.0f * arg0->unk90); - temp_f31 *= temp_f31; - arg0->unk10.y = 400.0f + temp_f31 * 25.0f; - arg0->unk44 += arg0->unk88; - arg0->unk90 += arg0->unk98; - if (arg0->unk90 < 1.0f) { - break; - } - arg0->unk90 = 0.0f; - break; - case 2: - fn_1_8FF4(arg0, 0); - break; - } -} - -void fn_1_991C(UnkM447Struct_01 *arg0) -{ - float temp_f31; - - switch (arg0->unk0C) { - case 0: - arg0->unk90 = 0.0f; - arg0->unk98 = 0.5f; - arg0->unk94 = 0.0f; - arg0->unk9C = 0.05f; - arg0->unk8C = 1.0f; - arg0->unk10.y = 400.0f; - arg0->unk28 = arg0->unk1C; - arg0->unk34 = 0.0f; - arg0->unk38 = arg0->unk1C.y; - arg0->unk3C = 0.0f; - arg0->unk0C = 1; - /* fallthrough */ - case 1: - temp_f31 = arg0->unk94; - arg0->unk1C.x = arg0->unk28.x + temp_f31 * (arg0->unk34 - arg0->unk28.x); - arg0->unk1C.y = arg0->unk28.y + temp_f31 * (arg0->unk38 - arg0->unk28.y); - arg0->unk1C.z = arg0->unk28.z + temp_f31 * (arg0->unk3C - arg0->unk28.z); - if (arg0->unk94 < 1.0f) { - arg0->unk94 += arg0->unk9C; - if (arg0->unk94 > 1.0f) { - arg0->unk94 = 1.0f; - } - } - temp_f31 = arg0->unk90; - arg0->unk10.y = 400.0 + 50.0f * temp_f31 * sind(90) - 4.9f * temp_f31 * temp_f31; - arg0->unk90 += arg0->unk98; - if (arg0->unk10.y >= lbl_1_rodata_648[arg0->unk00]) { - break; - } - arg0->unk10.y = lbl_1_rodata_648[arg0->unk00]; - HuAudFXPlay(0x785); - fn_1_1FEC(lbl_1_bss_10, 30); - arg0->unk0C = 2; - /* fallthrough */ - case 2: - Hu3DModelAttrReset(arg0->unk58[20], HU3D_ATTR_DISPOFF); - Hu3DMotionTimeSet(arg0->unk58[20], 0.0f); - fn_1_8FF4(arg0, 4); - break; - } -} - -void fn_1_9BCC(UnkM447Struct_01 *arg0) -{ - switch (arg0->unk0C) { - case 0: - arg0->unk90 = 0.0f; - arg0->unk98 = 0.016666668f; - arg0->unk0C = 1; - /* fallthrough */ - case 1: - arg0->unk8C = 1.0 - sind(90.0f * arg0->unk90); - arg0->unk90 += arg0->unk98; - if (arg0->unk90 < 1.0f) { - break; - } - arg0->unk0C = 2; - /* fallthrough */ - case 2: - Hu3DModelAttrSet(arg0->unk58[arg0->unk00], HU3D_ATTR_DISPOFF); - fn_1_8FF4(arg0, 0); - break; - } -} - -void fn_1_9CEC(UnkM447Struct_01 *arg0) -{ - float temp_f31; - - switch (arg0->unk0C) { - case 0: - arg0->unk90 = 0.0f; - arg0->unk98 = 0.008333334f; - Hu3DModelAttrReset(arg0->unk58[21], HU3D_ATTR_DISPOFF); - Hu3DMotionTimeSet(arg0->unk58[21], 0.0f); - Hu3DModelAttrSet(arg0->unk58[21], HU3D_MOTATTR_LOOP); - arg0->unkA8 = arg0->unk10; - arg0->unkB4 = 0.0f; - arg0->unkB8 = 200.0f; - arg0->unkBC = -700.0f - arg0->unk10.z / 2; - arg0->unkC0 = 0.0f; - arg0->unkC4 = 400.0f; - arg0->unkC8 = -700.0f; - fn_1_9EEC(arg0); - HuAudFXPlay(0x781); - arg0->unk0C = 1; - /* fallthrough */ - case 1: - temp_f31 = arg0->unk90; - arg0->unk4C = 1.0f - temp_f31; - arg0->unk50 = 1.0f - temp_f31; - arg0->unk54 = 1.0f - temp_f31; - fn_1_7B54(&arg0->unk10, &arg0->unkA8, 3, temp_f31); - arg0->unk90 += arg0->unk98; - if (arg0->unk90 < 1.0f) { - break; - } - arg0->unk0C = 2; - /* fallthrough */ - case 2: - fn_1_1EB0(lbl_1_bss_10, 2); - fn_1_8FF4(arg0, 0); - break; - } -} - -void fn_1_9EEC(UnkM447Struct_01 *arg0) -{ - ModelData *temp_r30; - ParticleData *temp_r31; - - temp_r30 = &Hu3DData[arg0->unk58[22]]; - temp_r31 = temp_r30->unk_120; - temp_r30->attr &= ~1; - temp_r31->unk_00 = 0; - temp_r31->unk_02 = 1; - temp_r31->unk_1C = arg0; -} - -void fn_1_9F40(ModelData *model, ParticleData *particle, Mtx matrix) -{ - GXColor sp8 = { 0xFF, 0xFF, 0xFF, 0xFF }; - UnkM447Struct_01 *temp_r29; - HsfanimStruct01 *var_r31; - s32 var_r27; - s32 i; - - if (particle->unk_02 == 0) { - return; - } - temp_r29 = particle->unk_1C; - if (particle->unk_00 == 0) { - particle->unk_00 = 1; - for (i = 0, var_r31 = particle->unk_48; i < particle->unk_30; i++, var_r31++) { - var_r31->unk00 = i * 5; - var_r31->unk02 = 0; - var_r31->unk2C = 0.0f; - var_r31->unk40.r = sp8.r; - var_r31->unk40.g = sp8.g; - var_r31->unk40.b = sp8.b; - var_r31->unk40.a = sp8.a; - } - } - for (i = 0, var_r27 = 0, var_r31 = particle->unk_48; i < particle->unk_30; i++, var_r31++) { - if (var_r31->unk00 > 0 && --var_r31->unk00 > 0) { - continue; - } - if (var_r31->unk02 == 0 && temp_r29->unk04 == 5 && temp_r29->unk10.z > -700.0f) { - var_r31->unk34.x = temp_r29->unk10.x; - var_r31->unk34.y = temp_r29->unk10.y; - var_r31->unk34.z = temp_r29->unk10.z; - var_r31->unk2C = 20.0f; - var_r31->unk02 = 1; - } - else if (var_r31->unk02 == 1) { - var_r31->unk34.y -= 1.0f; - var_r31->unk34.z += 3.0f; - var_r31->unk2C = 20.0f + fn_1_A240() % 60; - if (var_r31->unk40.a > 10) { - var_r31->unk40.a -= 4; - } - else { - var_r31->unk40.a = 0; - var_r31->unk02 = 2; - } - } - else { - var_r27++; - } - } - if (var_r27 == particle->unk_30) { - OSReport("*****************************************************\n"); - OSReport("*****************************************************\n"); - OSReport("*****************************************************\n"); - OSReport("*****************************************************\n"); - OSReport("*****************************************************\n"); - OSReport("*****************************************************\n"); - OSReport("*****************************************************\n"); - OSReport("*****************************************************\n"); - particle->unk_02 = 0; - } -} - -void fn_1_A230(s32 arg0) -{ - lbl_1_bss_B8 = arg0; -} - -s32 fn_1_A240(void) -{ - return ((lbl_1_bss_B8 = lbl_1_bss_B8 * 0x41C64E6D + 0x3039) >> 16) % (1 << 15); -} diff --git a/src/REL/m447dll/camera.c b/src/REL/m447dll/camera.c deleted file mode 100755 index 25e58b5b..00000000 --- a/src/REL/m447dll/camera.c +++ /dev/null @@ -1,151 +0,0 @@ -#include "REL/m447dll.h" -#include "game/hsfman.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/process.h" - -#include "ext_math.h" - -typedef struct { - /* 0x00 */ Vec unk00; - /* 0x0C */ Vec unk0C; - /* 0x18 */ float unk18; -} UnkM447Struct_05; // Size 0x1C - -void fn_1_3564(void); -void fn_1_3C7C(void); -void fn_1_3EA8(void); - -Process* lbl_1_bss_90; -UnkM447Struct_05 lbl_1_bss_74; -UnkM447Struct_05 lbl_1_bss_58; -UnkM447Struct_05 lbl_1_bss_3C; -s32 lbl_1_bss_38; -s32 lbl_1_bss_34; -s32 lbl_1_bss_30; -float lbl_1_bss_2C; -float lbl_1_bss_28; -float lbl_1_bss_24; -float lbl_1_bss_20; -float lbl_1_bss_1C; -float lbl_1_bss_18; - -s32 fn_1_3130(void) { - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraPerspectiveSet(1, 55.0f, 10.0f, 8000.0f, 1.2f); - lbl_1_bss_74.unk00.x = 0.0f; - lbl_1_bss_74.unk00.y = 400.0f; - lbl_1_bss_74.unk00.z = 0.0f; - lbl_1_bss_74.unk0C.x = 0.0f; - lbl_1_bss_74.unk0C.y = 0.0f; - lbl_1_bss_74.unk0C.z = 0.0f; - lbl_1_bss_74.unk18 = 200.0f; - lbl_1_bss_38 = 0; - lbl_1_bss_34 = 0; - lbl_1_bss_30 = 0; - lbl_1_bss_90 = HuPrcChildCreate(fn_1_3564, 100, 0x2000, 0, lbl_1_bss_4); - return 1; -} - -void fn_1_32E0(void) { - HuPrcKill(lbl_1_bss_90); -} - -void fn_1_330C(const Vec* arg0, s32 arg1) { - lbl_1_bss_3C.unk00 = *arg0; - lbl_1_bss_58.unk00 = lbl_1_bss_74.unk00; - lbl_1_bss_2C = 0.0f; - lbl_1_bss_20 = 1.0f / arg1; - lbl_1_bss_38 = 1; -} - -void fn_1_33C8(const Vec* arg0, s32 arg1) { - lbl_1_bss_3C.unk0C = *arg0; - lbl_1_bss_58.unk0C = lbl_1_bss_74.unk0C; - lbl_1_bss_28 = 0.0f; - lbl_1_bss_1C = 1.0f / arg1; - lbl_1_bss_34 = 1; -} - -void fn_1_3484(float arg0, s32 arg1) { - lbl_1_bss_3C.unk18 = arg0; - lbl_1_bss_58.unk18 = lbl_1_bss_74.unk18; - lbl_1_bss_24 = 0.0f; - lbl_1_bss_18 = 1.0f / arg1; - lbl_1_bss_30 = 1; -} - -void fn_1_351C(Vec* arg0) { - *arg0 = lbl_1_bss_74.unk00; -} - -void fn_1_3540(Vec* arg0) { - lbl_1_bss_74.unk00 = *arg0; -} - -void fn_1_3564(void) { - Vec sp28; - Vec sp1C; - Vec sp10; - float temp_f31; - - while (TRUE) { - if (lbl_1_bss_38 != 0) { - temp_f31 = sind(90.0f * lbl_1_bss_2C); - temp_f31 *= temp_f31; - lbl_1_bss_74.unk00.x = lbl_1_bss_58.unk00.x + temp_f31 * (lbl_1_bss_3C.unk00.x - lbl_1_bss_58.unk00.x); - lbl_1_bss_74.unk00.y = lbl_1_bss_58.unk00.y + temp_f31 * (lbl_1_bss_3C.unk00.y - lbl_1_bss_58.unk00.y); - lbl_1_bss_74.unk00.z = lbl_1_bss_58.unk00.z + temp_f31 * (lbl_1_bss_3C.unk00.z - lbl_1_bss_58.unk00.z); - if ((lbl_1_bss_2C += lbl_1_bss_20) >= 1.0f) { - lbl_1_bss_74.unk00 = lbl_1_bss_3C.unk00; - lbl_1_bss_38 = 0; - } - } - if (lbl_1_bss_34 != 0) { - temp_f31 = sind(90.0f * lbl_1_bss_28); - temp_f31 *= temp_f31; - lbl_1_bss_74.unk0C.x = lbl_1_bss_58.unk0C.x + temp_f31 * (lbl_1_bss_3C.unk0C.x - lbl_1_bss_58.unk0C.x); - lbl_1_bss_74.unk0C.y = lbl_1_bss_58.unk0C.y + temp_f31 * (lbl_1_bss_3C.unk0C.y - lbl_1_bss_58.unk0C.y); - lbl_1_bss_74.unk0C.z = lbl_1_bss_58.unk0C.z + temp_f31 * (lbl_1_bss_3C.unk0C.z - lbl_1_bss_58.unk0C.z); - if ((lbl_1_bss_28 += lbl_1_bss_1C) >= 1.0f) { - lbl_1_bss_74.unk0C = lbl_1_bss_3C.unk0C; - lbl_1_bss_34 = 0; - } - } - if (lbl_1_bss_30 != 0) { - temp_f31 = sind(90.0f * lbl_1_bss_24); - temp_f31 *= temp_f31; - lbl_1_bss_74.unk18 = lbl_1_bss_58.unk18 + temp_f31 * (lbl_1_bss_3C.unk18 - lbl_1_bss_58.unk18); - if ((lbl_1_bss_24 += lbl_1_bss_18) >= 1.0f) { - lbl_1_bss_74.unk18 = lbl_1_bss_3C.unk18; - lbl_1_bss_30 = 0; - } - } - sp28.x = lbl_1_bss_74.unk00.x + sind(lbl_1_bss_74.unk0C.y) * cosd(lbl_1_bss_74.unk0C.x) * lbl_1_bss_74.unk18; - sp28.y = lbl_1_bss_74.unk00.y + -sind(lbl_1_bss_74.unk0C.x) * lbl_1_bss_74.unk18; - sp28.z = lbl_1_bss_74.unk00.z + cosd(lbl_1_bss_74.unk0C.y) * cosd(lbl_1_bss_74.unk0C.x) * lbl_1_bss_74.unk18; - sp10.x = sind(lbl_1_bss_74.unk0C.y) * sind(lbl_1_bss_74.unk0C.x); - sp10.y = cosd(lbl_1_bss_74.unk0C.x); - sp10.z = cosd(lbl_1_bss_74.unk0C.y) * sind(lbl_1_bss_74.unk0C.x); - sp1C = lbl_1_bss_74.unk00; - Hu3DCameraPosSet(1, sp28.x, sp28.y, sp28.z, sp10.x, sp10.y, sp10.z, sp1C.x, sp1C.y, sp1C.z); - HuPrcVSleep(); - } -} - -void fn_1_3C7C(void) { - if (HuPadBtn[0] & 4) { - lbl_1_bss_74.unk00.x += 0.02f * HuPadStkX[0]; - lbl_1_bss_74.unk00.y += 0.02f * HuPadStkY[0]; - lbl_1_bss_74.unk0C.y -= 0.02f * HuPadSubStkX[0]; - lbl_1_bss_74.unk0C.x += 0.02f * HuPadSubStkY[0]; - lbl_1_bss_74.unk18 += 0.02f * HuPadTrigL[0]; - lbl_1_bss_74.unk18 -= 0.02f * HuPadTrigR[0]; - } -} - -void fn_1_3EA8(void) { - print8(32, 132, 1.5f, "LOOKAT : x=%.2f y=%.2f z=%.2f", lbl_1_bss_74.unk00.x, lbl_1_bss_74.unk00.y, lbl_1_bss_74.unk00.z); - print8(32, 148, 1.5f, "ANGLE : x=%.2f y=%.2f z=%.2f", lbl_1_bss_74.unk0C.x, lbl_1_bss_74.unk0C.y, lbl_1_bss_74.unk0C.z); - print8(32, 164, 1.5f, "ZOOM : x=%.2f", lbl_1_bss_74.unk18); -} diff --git a/src/REL/m447dll/main.c b/src/REL/m447dll/main.c deleted file mode 100755 index eeb86fd4..00000000 --- a/src/REL/m447dll/main.c +++ /dev/null @@ -1,713 +0,0 @@ -#include "REL/m447dll.h" -#include "REL/executor.h" -#include "game/esprite.h" -#include "game/frand.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/window.h" -#include "game/wipe.h" - -#include "math.h" - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ char unk02[2]; - /* 0x04 */ float unk04; - /* 0x08 */ float unk08; -} UnkM447Struct_03; // Size 0xC - -void fn_1_12C(void); -UnkM447Struct_00* fn_1_1B8(void); -void fn_1_43C(UnkM447Struct_00* arg0); -BOOL fn_1_490(UnkM447Struct_00* arg0); -void fn_1_4A0(UnkM447Struct_00* arg0, s32 arg1); -void fn_1_4B0(void); -void fn_1_544(UnkM447Struct_00* arg0); -void fn_1_7A8(UnkM447Struct_00* arg0); -void fn_1_B5C(UnkM447Struct_00* arg0); -void fn_1_F34(UnkM447Struct_00* arg0); -void fn_1_1068(UnkM447Struct_00* arg0); -void fn_1_1394(UnkM447Struct_00* arg0, s16 arg1, s32 arg2); -s32 fn_1_141C(UnkM447Struct_00* arg0, s16 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_1484(void); -void fn_1_1754(UnkM447Struct_00* arg0); -void fn_1_1830(UnkM447Struct_00* arg0); -void fn_1_1884(UnkM447Struct_00* arg0); -void fn_1_1AFC(UnkM447Struct_00* arg0, s32 arg1, s32 arg2); -void fn_1_1BF8(void); -void fn_1_1CE0(UnkM447Struct_00* arg0); -void fn_1_1D34(UnkM447Struct_00* arg0); - -UnkM447Struct_06* lbl_1_bss_10; -char lbl_1_bss_C_pad[4]; -UnkM447Struct_00* lbl_1_bss_8; -Process* lbl_1_bss_4; -Process* lbl_1_bss_0; - -const s32 lbl_1_rodata_10[] = { - DATA_MAKE_NUM(DATADIR_M447, 53), - DATA_MAKE_NUM(DATADIR_M447, 53), - DATA_MAKE_NUM(DATADIR_M447, 54), - DATA_MAKE_NUM(DATADIR_M447, 54), - DATA_MAKE_NUM(DATADIR_M447, 55), - DATA_MAKE_NUM(DATADIR_M447, 55), - DATA_MAKE_NUM(DATADIR_M447, 55), - DATA_MAKE_NUM(DATADIR_M447, 56), - DATA_MAKE_NUM(DATADIR_M447, 56), - DATA_MAKE_NUM(DATADIR_M447, 56), - DATA_MAKE_NUM(DATADIR_M447, 55), - DATA_MAKE_NUM(DATADIR_M447, 55), - DATA_MAKE_NUM(DATADIR_M447, 55), - DATA_MAKE_NUM(DATADIR_M447, 56), - DATA_MAKE_NUM(DATADIR_M447, 56), - DATA_MAKE_NUM(DATADIR_M447, 56), - DATA_MAKE_NUM(DATADIR_M447, 44), - DATA_MAKE_NUM(DATADIR_M447, 45), - DATA_MAKE_NUM(DATADIR_M447, 46), - DATA_MAKE_NUM(DATADIR_M447, 47), - DATA_MAKE_NUM(DATADIR_M447, 48), - DATA_MAKE_NUM(DATADIR_M447, 49), - DATA_MAKE_NUM(DATADIR_M447, 50), - DATA_MAKE_NUM(DATADIR_M447, 51), - DATA_MAKE_NUM(DATADIR_M447, 52) -}; - -void ObjectSetup(void) { - lbl_1_bss_4 = omInitObjMan(10, 0x2000); - omGameSysInit(lbl_1_bss_4); - HuWinInit(1); - lbl_1_bss_0 = HuPrcChildCreate(fn_1_12C, 1000, 0x2000, 0, lbl_1_bss_4); - lbl_1_bss_8 = fn_1_1B8(); -} - -void fn_1_12C(void) { - while (omSysExitReq == 0) { - HuPrcVSleep(); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - HuAudFadeOut(100); - fn_1_43C(lbl_1_bss_8); - HuPrcVSleep(); - omOvlReturnEx(1, 1); - HuPrcEnd(); -} - -UnkM447Struct_00* fn_1_1B8(void) { - Vec sp2C; - Vec sp20 = { 0.0f, 3000.0f, 1.0f }; - Vec sp14 = { 0.0f, 1.0f, 0.0f }; - Vec sp8 = { 0.0f, 0.0f, 0.0f }; - UnkM447Struct_00* temp_r3; - s32 i; - - temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(*temp_r3), MEMORY_DEFAULT_NUM); - if (!temp_r3) { - OSReport("M447FlowCreate ERROR...\n"); - return NULL; - } - Hu3DShadowCreate(30.0f, 20.0f, 5000.0f); - Hu3DShadowTPLvlSet(0.45f); - Hu3DShadowPosSet(&sp20, &sp14, &sp8); - fn_1_A230(frand()); - temp_r3->unk08 = 0; - fn_1_3130(); - lbl_1_bss_10 = fn_1_1D90(); - sp2C.x = 0.0f; - sp2C.y = -1000.0f; - sp2C.z = 0.0f; - for (i = 0; i < 5; i++) { - lbl_1_bss_A4[i] = fn_1_8DF8(); - lbl_1_bss_A4[i]->unk10 = sp2C; - } - fn_1_3F84(); - for (i = 0; i < 2; i++) { - lbl_1_bss_98[i] = fn_1_3FC4(i); - } - fn_1_1D34(temp_r3); - fn_1_1754(temp_r3); - temp_r3->unk14 = 0; - temp_r3->unk1C = 0; - temp_r3->unk24 = 0; - temp_r3->unk28 = 0; - temp_r3->unk2C = 0; - temp_r3->unk10 = 0; - temp_r3->unk70 = -1; - temp_r3->unk30 = -1; - temp_r3->unk32 = -1; - temp_r3->unk00 = HuPrcChildCreate(fn_1_4B0, 100, 0x4000, 0, lbl_1_bss_4); - temp_r3->unk00->user_data = temp_r3; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - return temp_r3; -} - -void fn_1_43C(UnkM447Struct_00* arg0) { - fn_1_1830(arg0); - fn_1_1E70(lbl_1_bss_10); - fn_1_32E0(); - HuPrcKill(arg0->unk00); - HuMemDirectFree(arg0); -} - -BOOL fn_1_490(UnkM447Struct_00* arg0) { - return arg0->unk08 == 0; -} - -void fn_1_4A0(UnkM447Struct_00* arg0, s32 arg1) { - arg0->unk14 = arg1; - arg0->unk1C = 0; -} - -void (*lbl_1_data_1C[])(UnkM447Struct_00*) = { - fn_1_544, - fn_1_7A8, - fn_1_B5C, - fn_1_F34, - fn_1_1068 -}; - -void fn_1_4B0(void) { - UnkM447Struct_00* temp_r31; - - temp_r31 = HuPrcCurrentGet()->user_data; - while (omSysExitReq == 0 || !fn_1_490(temp_r31)) { - lbl_1_data_1C[temp_r31->unk14](temp_r31); - HuPrcVSleep(); - } - omSysExitReq = 1; - temp_r31->unk08 = 1; - HuPrcEnd(); -} - -const Vec lbl_1_rodata_B0[2] = { - { 0.0f, 300.0f, 0.0f }, - { -0.12f, 176.0f, 0.0f } -}; - -void fn_1_544(UnkM447Struct_00* arg0) { - s32 i; - - switch (arg0->unk1C) { - case 0: - arg0->unk20 = 0; - arg0->unk1C = 1; - break; - case 1: - WipeStatGet(); - arg0->unk1C = 2; - break; - case 2: - if (arg0->unk20++ >= 60) { - arg0->unk1C = 3; - } - break; - case 3: - fn_1_1EB0(lbl_1_bss_10, 1); - arg0->unk20 = 0; - arg0->unk1C = 4; - break; - case 4: - if (!fn_1_1EC0(lbl_1_bss_10)) { - arg0->unk1C = 5; - } - break; - case 5: - if (lbl_1_bss_98[1]->unk18 == 8) { - arg0->unk70 = HuAudSeqPlay(0x3D); - } - fn_1_3484(860.0f, 60); - fn_1_330C(&lbl_1_rodata_B0[1], 60); - arg0->unk20 = 0; - arg0->unk1C = 6; - break; - case 6: - if (arg0->unk20++ >= 60) { - if (lbl_1_bss_98[1]->unk18 == 8) { - arg0->unk1C = 7; - } else { - arg0->unk1C = 9; - } - } - break; - case 7: - arg0->unk04 = HuPrcChildCreate(fn_1_1484, 100, 0x2000, 0, lbl_1_bss_4); - arg0->unk04->user_data = arg0; - arg0->unk0C = 1; - arg0->unk1C = 8; - break; - case 8: - if (arg0->unk0C != 0) { - break; - } - arg0->unk04 = NULL; - arg0->unk1C = 9; - /* fallthrough */ - case 9: - if (arg0->unk70 != -1) { - HuAudSeqFadeOut(arg0->unk70, 1000); - } - fn_1_3484(1150.0f, 60); - fn_1_330C(&lbl_1_rodata_B0[0], 60); - for (i = 0; i < 2; i++) { - fn_1_43CC(lbl_1_bss_98[i], 6); - } - fn_1_4A0(arg0, 1); - break; - } -} - -void fn_1_7A8(UnkM447Struct_00* arg0) { - Vec sp14; - Vec sp8; - s32 temp_r29; - s32 temp_r28; - s32 i; - - switch (arg0->unk1C) { - case 0: - arg0->unk1C = 1; - /* fallthrough */ - case 1: - fn_1_1EB0(lbl_1_bss_10, 3); - arg0->unk20 = 0; - arg0->unk1C = 2; - /* fallthrough */ - case 2: - if (arg0->unk20++ < 110) { - break; - } - arg0->unk1C = 3; - /* fallthrough */ - case 3: - fn_1_90FC(fn_1_A240() % 10 > 5); - temp_r29 = arg0->unk2C * 2 + fn_1_A240() % 2; - temp_r28 = fn_1_A240() % 5; - for (i = 0; i < 5; i++) { - fn_1_9004(lbl_1_bss_A4[i], temp_r29, temp_r28 == i); - fn_1_1ED4(i, &sp8); - lbl_1_bss_A4[i]->unk10 = sp8; - sp14.x = fn_1_A240() % 360; - sp14.y = 0.0f; - sp14.z = fn_1_A240() % 360; - lbl_1_bss_A4[i]->unk1C = sp14; - fn_1_8FF4(lbl_1_bss_A4[i], 1); - } - arg0->unk20 = 0; - arg0->unk1C = 4; - /* fallthrough */ - case 4: - if (arg0->unk20++ < 60) { - break; - } - for (i = 0; i < 5; i++) { - fn_1_8FF4(lbl_1_bss_A4[i], 2); - } - /* fallthrough */ - arg0->unk1C = 5; - case 5: - fn_1_1EB0(lbl_1_bss_10, 4); - arg0->unk20 = 0; - arg0->unk1C = 6; - /* fallthrough */ - case 6: - if (!fn_1_1EC0(lbl_1_bss_10)) { - if (arg0->unk10 != 0) { - arg0->unk1C = 9; - } else { - arg0->unk1C = 7; - } - } - break; - case 7: - arg0->unk70 = HuAudSeqPlay(0x3E); - arg0->unk30 = MGSeqStartCreate(); - arg0->unk1C = 8; - /* fallthrough */ - case 8: - if (MGSeqStatGet(arg0->unk30) != 0) { - break; - } - arg0->unk10 = 1; - arg0->unk1C = 9; - /* fallthrough */ - case 9: - fn_1_4A0(arg0, 2); - break; - } -} - -void fn_1_B5C(UnkM447Struct_00* arg0) { - s32 temp_r26; - s32 var_r27; - s32 i; - - switch (arg0->unk1C) { - case 0: - fn_1_1884(arg0); - arg0->unk24 = 900; - arg0->unk32 = MGSeqCreate(1, arg0->unk24 / 60, -1, -1); - for (i = 0; i < 2; i++) { - fn_1_43CC(lbl_1_bss_98[i], 1); - lbl_1_bss_98[i]->unk04 = 1; - } - arg0->unk1C = 1; - /* fallthrough */ - case 1: - temp_r26 = fn_1_1F9C(lbl_1_bss_10); - if (arg0->unk24 > 0 && temp_r26 > 0 && --arg0->unk24 % 60 == 0) { - MGSeqParamSet(arg0->unk32, 1, arg0->unk24 / 60); - } - if (arg0->unk24 > 0 && temp_r26 > 0) { - break; - } - arg0->unk1C = 2; - /* fallthrough */ - case 2: - for (i = 0; i < 2; i++) { - lbl_1_bss_98[i]->unk04 = 0; - fn_1_7A6C(lbl_1_bss_98[i]); - } - arg0->unk1C = 3; - break; - case 3: - if (arg0->unk32 != -1) { - MGSeqParamSet(arg0->unk32, 2, -1); - arg0->unk32 = -1; - } - for (i = 0; i < 2; i++) { - if (lbl_1_bss_98[i]->unk24 != 1 && lbl_1_bss_98[i]->unk24 != 0) { - return; - } - } - for (i = 0; i < 5; i++) { - if (lbl_1_bss_A4[i]->unk04 != 0 && lbl_1_bss_A4[i]->unk04 != 2) { - return; - } - } - arg0->unk1C = 4; - /* fallthrough */ - case 4: - for (i = 0; i < 2; i++) { - if (lbl_1_bss_98[i]->unk14 != 0) { - fn_1_1AFC(arg0, i, lbl_1_bss_98[i]->unk1B - 1); - } - } - arg0->unk2C++; - for (i = 0, var_r27 = 0; i < 2; i++) { - if (lbl_1_bss_98[i]->unk1B > var_r27) { - var_r27 = lbl_1_bss_98[i]->unk1B; - } - } - if (var_r27 >= 3 || arg0->unk2C >= 5) { - fn_1_4A0(lbl_1_bss_8, 4); - } else { - fn_1_4A0(lbl_1_bss_8, 3); - } - break; - } -} - -void fn_1_F34(UnkM447Struct_00* arg0) { - s32 i; - - switch (arg0->unk1C) { - case 0: - for (i = 0; i < 2; i++) { - fn_1_43CC(lbl_1_bss_98[i], 6); - } - arg0->unk1C = 1; - /* fallthrough */ - case 1: - for (i = 0; i < 5; i++) { - if (lbl_1_bss_A4[i]->unk04 != 0) { - fn_1_8FF4(lbl_1_bss_A4[i], 4); - } - } - arg0->unk20 = 0; - arg0->unk1C = 2; - /* fallthrough */ - case 2: - if (arg0->unk20++ < 160) { - break; - } - arg0->unk1C = 3; - /* fallthrough */ - case 3: - fn_1_4A0(lbl_1_bss_8, 1); - break; - } -} - -const Vec lbl_1_rodata_D8 = { 0.0f, 150.0f, 0.0f }; -const Vec lbl_1_rodata_E4 = { 6.0f, 0.0f, 0.0f }; - -void fn_1_1068(UnkM447Struct_00* arg0) { - s32 temp_r29; - s32 temp_r28; - s32 i; - - switch (arg0->unk1C) { - case 0: - for (i = 0; i < 5; i++) { - if (lbl_1_bss_A4[i]->unk04 != 0) { - fn_1_8FF4(lbl_1_bss_A4[i], 4); - } - } - arg0->unk1C = 1; - /* fallthrough */ - case 1: - // Bug: HuAudSeqFadeOut takes two arguments. - HuAudSeqFadeOut(arg0->unk70); - arg0->unk30 = MGSeqCreate(3, 1); - arg0->unk1C = 2; - /* fallthrough */ - case 2: - if (MGSeqStatGet(arg0->unk30) != 0) { - break; - } - arg0->unk1C = 3; - /* fallthrough */ - case 3: - for (i = 0; i < 2; i++) { - fn_1_43CC(lbl_1_bss_98[i], 7); - } - fn_1_330C(&lbl_1_rodata_D8, 180); - fn_1_3484(300.0f, 180); - fn_1_33C8(&lbl_1_rodata_E4, 180); - arg0->unk20 = 0; - arg0->unk1C = 4; - /* fallthrough */ - case 4: - if (arg0->unk20++ < 180) { - break; - } - arg0->unk1C = 5; - /* fallthrough */ - case 5: - temp_r29 = lbl_1_bss_98[0]->unk1B; - temp_r28 = lbl_1_bss_98[1]->unk1B; - if (lbl_1_bss_98[1]->unk18 != 8 && temp_r29 == temp_r28) { - fn_1_43CC(lbl_1_bss_98[0], 10); - fn_1_43CC(lbl_1_bss_98[1], 10); - HuAudSStreamPlay(4); - } else if (temp_r29 > temp_r28) { - fn_1_43CC(lbl_1_bss_98[0], 9); - fn_1_43CC(lbl_1_bss_98[1], 10); - GWPlayerCoinWinAdd(0, 10); - HuAudSStreamPlay(1); - } else { - fn_1_43CC(lbl_1_bss_98[0], 10); - fn_1_43CC(lbl_1_bss_98[1], 9); - GWPlayerCoinWinAdd(1, 10); - if (lbl_1_bss_98[1]->unk18 == 8) { - HuAudSStreamPlay(3); - } else { - HuAudSStreamPlay(1); - } - } - arg0->unk20 = 0; - arg0->unk1C = 6; - /* fallthrough */ - case 6: - if (arg0->unk20++ < 210) { - break; - } - arg0->unk1C = 7; - /* fallthrough */ - case 7: - omSysExitReq = 1; - arg0->unk08 = 1; - break; - } -} - -void fn_1_1394(UnkM447Struct_00* arg0, s16 arg1, s32 arg2) { - HuWinComKeyReset(); - if (arg0->unk18 == 2) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, arg2); - } - winData[arg1].active_pad = 1; - HuWinMesWait(arg1); -} - -s32 fn_1_141C(UnkM447Struct_00* arg0, s16 arg1, s32 arg2, s32 arg3, s32 arg4) { - if (arg0->unk18 == 2) { - HuPrcSleep(arg4); - return arg3; - } - return HuWinChoiceGet(arg1, arg2); -} - -const s32 lbl_1_rodata_F4[] = { - MAKE_MESSID(42, 3), - MAKE_MESSID(42, 4), - MAKE_MESSID(42, 5), - MAKE_MESSID(42, 6), - MAKE_MESSID(42, 7), - 0 -}; - -void fn_1_1484(void) { - UnkM447Struct_00* temp_r30; - s16 temp_r3; - s16 var_r29; - s32 var_r28; - u32 temp_r26; - - temp_r30 = HuPrcCurrentGet()->user_data; - temp_r3 = HuWinExCreateStyled(-10000.0f, 40.0f, 280, 120, -1, 1); - HuWinExAnimIn(temp_r3); - HuWinBGTPLvlSet(temp_r3, 0.8f); - HuWinMesSpeedSet(temp_r3, 1); - HuWinMesColSet(temp_r3, 0); - HuWinMesSet(temp_r3, MAKE_MESSID(42, 1)); - fn_1_1394(temp_r30, temp_r3, 60); - if (temp_r30->unk18 < 2) { - HuWinMesColSet(temp_r3, 0); - HuWinMesSet(temp_r3, MAKE_MESSID(42, 2)); - var_r29 = fn_1_141C(temp_r30, temp_r3, 0, 1, 60); - } else { - var_r29 = 1; - } - if (var_r29 == 0) { - var_r28 = 0; - while ((temp_r26 = lbl_1_rodata_F4[var_r28++]) != 0) { - HuWinMesColSet(temp_r3, 0); - HuWinMesSet(temp_r3, temp_r26); - fn_1_1394(temp_r30, temp_r3, 60); - } - HuWinMesColSet(temp_r3, 0); - HuWinMesSet(temp_r3, MAKE_MESSID(42, 8)); - fn_1_1394(temp_r30, temp_r3, 60); - } else { - HuWinMesColSet(temp_r3, 0); - HuWinMesSet(temp_r3, MAKE_MESSID(42, 9)); - fn_1_1394(temp_r30, temp_r3, 60); - } - HuWinExAnimOut(temp_r3); - HuWinExCleanup(temp_r3); - temp_r30->unk0C = 0; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_1754(UnkM447Struct_00* arg0) { - s32 i; - - for (i = 0; i < 25; i++) { - arg0->unk34[i] = espEntry(lbl_1_rodata_10[i], 0, 0); - espDispOff(arg0->unk34[i]); - espPriSet(arg0->unk34[i], 100); - } - espPriSet(arg0->unk34[7], 99); - espPriSet(arg0->unk34[8], 99); - espPriSet(arg0->unk34[9], 99); - espPriSet(arg0->unk34[13], 99); - espPriSet(arg0->unk34[14], 99); - espPriSet(arg0->unk34[15], 99); -} - -void fn_1_1830(UnkM447Struct_00* arg0) { - s32 i; - - for (i = 0; i < 25; i++) { - espKill(arg0->unk34[i]); - } -} - -void fn_1_1884(UnkM447Struct_00* arg0) { - s16 temp_r28; - s32 sp8; - s32 i; - s32 j; - - espDispOn(arg0->unk34[0]); - espPosSet(arg0->unk34[0], 96.0f, 64.0f); - espDispOn(arg0->unk34[2]); - espPosSet(arg0->unk34[2], 96.0f, 63.0f); - espTPLvlSet(arg0->unk34[2], 0.5f); - espColorSet(arg0->unk34[2], 0, 0, 0); - espDispOn(arg0->unk34[1]); - espPosSet(arg0->unk34[1], 480.0f, 64.0f); - espDispOn(arg0->unk34[3]); - espPosSet(arg0->unk34[3], 480.0f, 63.0f); - espTPLvlSet(arg0->unk34[3], 0.5f); - espColorSet(arg0->unk34[3], 0, 0, 0); - for (i = 0; i < 2; i++) { - temp_r28 = lbl_1_bss_98[i]->unk18 + 16; - espDispOn(arg0->unk34[temp_r28]); - espPosSet(arg0->unk34[temp_r28], i * 384 + 46, 63.0f); - } - for (j = 0; j < 2; j++) { - sp8 = lbl_1_bss_98[j]->unk1B; - for (i = 0; i < 3; i++) { - temp_r28 = i + 4 + j * 6; - espDispOn(arg0->unk34[temp_r28]); - espPosSet(arg0->unk34[temp_r28], j * 384 + 80 + i * 32, 63.0f); - } - } -} - -void fn_1_1AFC(UnkM447Struct_00* arg0, s32 arg1, s32 arg2) { - UnkM447Struct_03* temp_r3; - Process* var_r30; - - temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(*temp_r3), MEMORY_DEFAULT_NUM); - temp_r3->unk00 = arg0->unk34[arg2 + 7 + arg1 * 6]; - espPosSet(temp_r3->unk00, arg1 * 384 + 80 + arg2 * 32, 63.0f); - temp_r3->unk04 = 0.0f; - temp_r3->unk08 = 0.05f; - var_r30 = HuPrcChildCreate(fn_1_1BF8, 100, 0x1000, 0, lbl_1_bss_4); - var_r30->user_data = temp_r3; -} - -void fn_1_1BF8(void) { - float temp_f31; - UnkM447Struct_03* temp_r31; - - temp_r31 = HuPrcCurrentGet()->user_data; - espDispOn(temp_r31->unk00); - while (TRUE) { - if ((temp_r31->unk04 += temp_r31->unk08) > 1.0f) { - temp_r31->unk04 = 1.0f; - break; - } - temp_f31 = 1.0f + 1.5f * (1.0f - temp_r31->unk04); - espScaleSet(temp_r31->unk00, temp_f31, temp_f31); - HuPrcVSleep(); - } - espScaleSet(temp_r31->unk00, 1.0f, 1.0f); - HuAudFXPlay(9); - HuMemDirectFree(temp_r31); - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_1CE0(UnkM447Struct_00* arg0) { - s32 i; - - for (i = 0; i <= 25; i++) { - espDispOff(arg0->unk34[i]); - } -} - -void fn_1_1D34(UnkM447Struct_00* arg0) { - s32 i; - - arg0->unk18 = 0; - for (i = 0; i < 2; i++) { - if (lbl_1_bss_98[i]->unk08 != 0) { - arg0->unk18++; - } - } -} diff --git a/src/REL/m447dll/player.c b/src/REL/m447dll/player.c deleted file mode 100755 index a4744d53..00000000 --- a/src/REL/m447dll/player.c +++ /dev/null @@ -1,1018 +0,0 @@ -#include "REL/m447dll.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/esprite.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/process.h" - -#include "ext_math.h" - -void fn_1_4300(UnkM447Struct_04 *arg0); -float fn_1_43DC(UnkM447Struct_04 *arg0); -void fn_1_43F8(void); -void fn_1_4444(UnkM447Struct_04 *arg0); -void fn_1_44B0(UnkM447Struct_04 *arg0); -void fn_1_4590(UnkM447Struct_04 *arg0); -void fn_1_4638(UnkM447Struct_04 *arg0); -void fn_1_4680(UnkM447Struct_04 *arg0); -void fn_1_470C(UnkM447Struct_04 *arg0); -void fn_1_4760(UnkM447Struct_04 *arg0); -void fn_1_4764(UnkM447Struct_04 *arg0); -void fn_1_4C84(UnkM447Struct_04 *arg0); -float fn_1_4F7C(float arg0, float arg1, float arg2); -void fn_1_5080(UnkM447Struct_04 *arg0); -void fn_1_5298(UnkM447Struct_04 *arg0); -void fn_1_5520(UnkM447Struct_04 *arg0); -void fn_1_5760(UnkM447Struct_04 *arg0); -void fn_1_59D8(UnkM447Struct_04 *arg0); -void fn_1_5AF0(UnkM447Struct_04 *arg0); -void fn_1_5BD0(UnkM447Struct_04 *arg0); -void fn_1_5C78(UnkM447Struct_04 *arg0); -void fn_1_671C(UnkM447Struct_04 *arg0); -void fn_1_70BC(UnkM447Struct_04 *arg0); -void fn_1_717C(UnkM447Struct_04 *arg0, s32 arg1, s32 arg2); -void fn_1_71FC(UnkM447Struct_04 *arg0, s32 arg1, float arg2, float arg3, s32 arg4); -void fn_1_72A8(UnkM447Struct_04 *arg0); -void fn_1_7688(UnkM447Struct_04 *arg0); -void fn_1_78A8(UnkM447Struct_04 *arg0); -s32 fn_1_7984(UnkM447Struct_04 *arg0); -void fn_1_7A34(UnkM447Struct_04 *arg0); - -UnkM447Struct_04 *lbl_1_bss_98[2]; - -const s32 lbl_1_rodata_2A0[][9] - = { { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), DATA_MAKE_NUM(DATADIR_MARIOMOT, 2), DATA_MAKE_NUM(DATADIR_MARIOMOT, 3), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 113), DATA_MAKE_NUM(DATADIR_MARIOMOT, 31), DATA_MAKE_NUM(DATADIR_MARIOMOT, 28), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 72), DATA_MAKE_NUM(DATADIR_MARIOMOT, 23), DATA_MAKE_NUM(DATADIR_MARIOMOT, 24) }, - { DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 2), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 3), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 113), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 31), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 28), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 72), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 23), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 24) }, - { DATA_MAKE_NUM(DATADIR_PEACHMOT, 0), DATA_MAKE_NUM(DATADIR_PEACHMOT, 2), DATA_MAKE_NUM(DATADIR_PEACHMOT, 3), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 113), DATA_MAKE_NUM(DATADIR_PEACHMOT, 31), DATA_MAKE_NUM(DATADIR_PEACHMOT, 28), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 72), DATA_MAKE_NUM(DATADIR_PEACHMOT, 23), DATA_MAKE_NUM(DATADIR_PEACHMOT, 24) }, - { DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0), DATA_MAKE_NUM(DATADIR_YOSHIMOT, 2), DATA_MAKE_NUM(DATADIR_YOSHIMOT, 3), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 113), DATA_MAKE_NUM(DATADIR_YOSHIMOT, 31), DATA_MAKE_NUM(DATADIR_YOSHIMOT, 28), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 72), DATA_MAKE_NUM(DATADIR_YOSHIMOT, 23), DATA_MAKE_NUM(DATADIR_YOSHIMOT, 24) }, - { DATA_MAKE_NUM(DATADIR_WARIOMOT, 0), DATA_MAKE_NUM(DATADIR_WARIOMOT, 2), DATA_MAKE_NUM(DATADIR_WARIOMOT, 3), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 113), DATA_MAKE_NUM(DATADIR_WARIOMOT, 31), DATA_MAKE_NUM(DATADIR_WARIOMOT, 28), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 72), DATA_MAKE_NUM(DATADIR_WARIOMOT, 23), DATA_MAKE_NUM(DATADIR_WARIOMOT, 24) }, - { DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 2), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 3), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 113), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 31), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 28), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 72), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 23), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 24) }, - { DATA_MAKE_NUM(DATADIR_DAISYMOT, 0), DATA_MAKE_NUM(DATADIR_DAISYMOT, 2), DATA_MAKE_NUM(DATADIR_DAISYMOT, 3), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 113), DATA_MAKE_NUM(DATADIR_DAISYMOT, 31), DATA_MAKE_NUM(DATADIR_DAISYMOT, 28), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 72), DATA_MAKE_NUM(DATADIR_DAISYMOT, 23), DATA_MAKE_NUM(DATADIR_DAISYMOT, 24) }, - { DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 2), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 3), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 113), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 31), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 28), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 72), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 23), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 24) }, - { DATA_MAKE_NUM(DATADIR_M447, 32), DATA_MAKE_NUM(DATADIR_M447, 33), DATA_MAKE_NUM(DATADIR_M447, 34), DATA_MAKE_NUM(DATADIR_M447, 41), - DATA_MAKE_NUM(DATADIR_M447, 39), DATA_MAKE_NUM(DATADIR_M447, 38), DATA_MAKE_NUM(DATADIR_M447, 37), DATA_MAKE_NUM(DATADIR_M447, 36), - DATA_MAKE_NUM(DATADIR_M447, 40) } }; - -const float lbl_1_rodata_3E4[] = { 150.0f, 170.0f, 188.0f, 169.0f, 164.0f, 140.0f, 180.0f, 145.0f, 150.0f }; - -const float lbl_1_rodata_408[][6] = { { -150.0f, 0.0f, 350.0f, 0.0f, 90.0f, 0.0f }, { 150.0f, 0.0f, 350.0f, 0.0f, -90.0f, 0.0f }, - { -150.0f, 0.0f, -200.0f, 0.0f, 90.0f, 0.0f }, { 150.0f, 0.0f, -200.0f, 0.0f, -90.0f, 0.0f } }; - -const u8 lbl_1_rodata_468[][5] = { { 5, 6, 7, 8, 9 }, { 4, 5, 6, 7, 8 }, { 3, 4, 5, 6, 7 }, { 2, 3, 4, 5, 6 } }; - -void fn_1_3F84(void) -{ - s32 i; - - for (i = 0; i < 2; i++) { - lbl_1_bss_98[i] = NULL; - } -} - -UnkM447Struct_04 *fn_1_3FC4(s32 arg0) -{ - UnkM447Struct_04 *temp_r3; - s16 var_r28; - s16 var_r27; - s32 i; - - temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(*temp_r3), MEMORY_DEFAULT_NUM); - if (!temp_r3) { - OSReport("M447PlayerCreate ERROR...\n"); - return NULL; - } - temp_r3->unk00 = arg0; - temp_r3->unk19 = GWPlayerCfg[arg0].diff; - temp_r3->unk08 = GWPlayerCfg[arg0].iscom; - if (temp_r3->unk08 != 0) { - var_r28 = 4; - } - else { - var_r28 = GWPlayerCfg[arg0].pad_idx; - } - temp_r3->unk1A = var_r28; - temp_r3->unk1C = (GWPlayerCfg[arg0].character == 10); - if (temp_r3->unk1C != 0) { - var_r27 = 8; - } - else { - var_r27 = GWPlayerCfg[arg0].character; - } - temp_r3->unk18 = var_r27; - temp_r3->unk24 = 0; - temp_r3->unk20 = 0; - temp_r3->unk1B = 0; - temp_r3->unk28.x = lbl_1_rodata_408[arg0][0]; - temp_r3->unk28.y = lbl_1_rodata_408[arg0][1]; - temp_r3->unk28.z = lbl_1_rodata_408[arg0][2]; - temp_r3->unk34 = lbl_1_rodata_408[arg0][3]; - temp_r3->unk38 = lbl_1_rodata_408[arg0][4]; - temp_r3->unk3C = lbl_1_rodata_408[arg0][5]; - temp_r3->unk44 = 0.0f; - temp_r3->unk48 = 0.0f; - temp_r3->unk4C = 0.0f; - temp_r3->unk50 = 50.0f; - temp_r3->unk04 = 0; - temp_r3->unkB0 = NULL; - temp_r3->unkB4 = NULL; - fn_1_4444(temp_r3); - Hu3DModelLayerSet(temp_r3->unk68, 6); - fn_1_44B0(temp_r3); - fn_1_4590(temp_r3); - fn_1_717C(temp_r3, 0, 0x40000001); - if (temp_r3->unk1C == 0) { - CharModelMotionDataClose(temp_r3->unk18); - } - if (temp_r3->unk1C != 0) { - temp_r3->unkB0 = (Process *)CharModelEffectNpcInit(temp_r3->unk68, temp_r3->unk6A[2], 1, 10); - temp_r3->unkB4 = (Process *)CharModelEffectNpcInit(temp_r3->unk68, temp_r3->unk6A[1], 0, 10); - } - CharModelLayerSetAll(2); - temp_r3->unkAC = HuPrcChildCreate(fn_1_43F8, 102, 0x3000, 0, lbl_1_bss_4); - temp_r3->unkAC->user_data = temp_r3; - for (i = 0; i < 2; i++) { - if (!lbl_1_bss_98[i]) { - lbl_1_bss_98[i] = temp_r3; - break; - } - } - return temp_r3; -} - -void fn_1_4300(UnkM447Struct_04 *arg0) -{ - s32 i; - - if (arg0->unkB0) { - HuPrcKill(arg0->unkB0); - } - if (arg0->unkB4) { - HuPrcKill(arg0->unkB4); - } - fn_1_470C(arg0); - fn_1_4680(arg0); - fn_1_4638(arg0); - HuPrcKill(arg0->unkAC); - for (i = 0; i < 2; i++) { - if (lbl_1_bss_98[i] == arg0) { - lbl_1_bss_98[i] = NULL; - break; - } - } - HuMemDirectFree(arg0); -} - -void fn_1_43CC(UnkM447Struct_04 *arg0, s32 arg1) -{ - arg0->unk24 = arg1; - arg0->unk20 = 0; -} - -float fn_1_43DC(UnkM447Struct_04 *arg0) -{ - return lbl_1_rodata_3E4[arg0->unk18]; -} - -void (*lbl_1_data_1CC[])(UnkM447Struct_04 *) - = { fn_1_4760, fn_1_4764, fn_1_5080, fn_1_5298, fn_1_5520, fn_1_5760, fn_1_5C78, fn_1_671C, fn_1_59D8, fn_1_5AF0, fn_1_5BD0 }; - -void fn_1_43F8(void) -{ - UnkM447Struct_04 *temp_r31; - - temp_r31 = HuPrcCurrentGet()->user_data; - while (TRUE) { - lbl_1_data_1CC[temp_r31->unk24](temp_r31); - fn_1_70BC(temp_r31); - HuPrcVSleep(); - } -} - -void fn_1_4444(UnkM447Struct_04 *arg0) -{ - if (arg0->unk1C != 0) { - arg0->unk68 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M447, 31)); - } - else { - arg0->unk68 = CharModelCreate(arg0->unk18, 2); - } - Hu3DModelShadowSet(arg0->unk68); -} - -void fn_1_44B0(UnkM447Struct_04 *arg0) -{ - s32 i; - - if (arg0->unk1C != 0) { - for (i = 0; i < 9; i++) { - arg0->unk6A[i] = Hu3DJointMotionFile(arg0->unk68, lbl_1_rodata_2A0[arg0->unk18][i]); - } - } - else { - for (i = 0; i < 9; i++) { - arg0->unk6A[i] = CharModelMotionCreate(arg0->unk18, lbl_1_rodata_2A0[arg0->unk18][i]); - } - } -} - -void fn_1_4590(UnkM447Struct_04 *arg0) -{ - arg0->unk7C[0] = espEntry(DATA_MAKE_NUM(DATADIR_M447, 42), 0, 0); - espPriSet(arg0->unk7C[0], arg0->unk00 * 10); - arg0->unk7C[1] = espEntry(DATA_MAKE_NUM(DATADIR_M447, 43), 0, 0); - espPriSet(arg0->unk7C[1], arg0->unk00 * 10 + 1); - espDispOff(arg0->unk7C[0]); - espDispOff(arg0->unk7C[1]); - espTPLvlSet(arg0->unk7C[1], 0.8f); -} - -void fn_1_4638(UnkM447Struct_04 *arg0) -{ - if (arg0->unk1C != 0) { - Hu3DModelKill(arg0->unk68); - } - else { - CharModelKill(arg0->unk18); - } -} - -void fn_1_4680(UnkM447Struct_04 *arg0) -{ - s32 i; - - if (arg0->unk1C != 0) { - for (i = 0; i < 9; i++) { - Hu3DMotionKill(arg0->unk6A[i]); - } - } - else { - for (i = 0; i < 9; i++) { - CharModelMotionKill(arg0->unk18, arg0->unk6A[i]); - } - } -} - -void fn_1_470C(UnkM447Struct_04 *arg0) -{ - s32 i; - - for (i = 0; i < 2; i++) { - espKill(arg0->unk7C[i]); - } -} - -void fn_1_4760(UnkM447Struct_04 *arg0) { } - -void fn_1_4764(UnkM447Struct_04 *arg0) -{ - Vec sp8; - float temp_f31; - s32 var_r29; - s32 var_r28; - s32 i; - - switch (arg0->unk20) { - case 0: - arg0->unk0C = 0; - arg0->unk10 = 0; - arg0->unk28.y = 0.0f; - arg0->unk20 = 1; - arg0->unk14 = 0; - /* fallthrough */ - case 1: - if (arg0->unk04 != 0) { - if (arg0->unk08 != 0) { - if (arg0->unk0C == 0 && arg0->unk10 == 0) { - arg0->unk44 = 0.0f; - arg0->unk48 = 0.0f; - arg0->unk4C = 0.0f; - if (fn_1_A240() % lbl_1_rodata_468[arg0->unk19][lbl_1_bss_8->unk2C] == 0) { - var_r29 = 5; - for (i = 0; i < 5; i++) { - if (lbl_1_bss_10->unk54[i] == 0 && lbl_1_bss_A4[i]->unk08 != 0) { - var_r29 = i; - break; - } - } - } - else { - for (i = 0; i < 10; i++) { - var_r29 = fn_1_A240() % 5; - if (lbl_1_bss_10->unk54[var_r29] == 0) { - break; - } - } - if (i == 10) { - var_r29 = 5; - } - } - if (var_r29 < 5) { - fn_1_1ED4(var_r29, &sp8); - temp_f31 = 10.0f - 0.1f * (fn_1_A240() % 10); - arg0->unk44 = (sp8.x - arg0->unk28.x) / temp_f31; - arg0->unk4C = (sp8.z - arg0->unk28.z) / temp_f31; - arg0->unk48 = 0.0f; - arg0->unk64 = fn_1_A240() % 20 + 10; - arg0->unk0C = 1; - } - } - } - else { - arg0->unk44 = (float)HuPadStkX[arg0->unk1A] / 4; - arg0->unk4C = -(float)HuPadStkY[arg0->unk1A] / 4; - } - var_r28 = 0; - var_r29 = fn_1_7984(arg0); - if (var_r29 != 5) { - if (lbl_1_bss_10->unk68[var_r29] == 0) { - fn_1_7A34(arg0); - if (arg0->unk08 != 0) { - arg0->unk10 = 1; - arg0->unk44 = 0.0f; - arg0->unk48 = 0.0f; - arg0->unk4C = 0.0f; - if (arg0->unk64-- <= 0) { - var_r28 = 1; - } - } - else if (HuPadBtnDown[arg0->unk1A] & 0x100) { - var_r28 = 1; - } - if (var_r28 != 0) { - arg0->unk44 = 0.0f; - arg0->unk4C = 0.0f; - lbl_1_bss_10->unk68[var_r29] = 1; - fn_1_43CC(arg0, 2); - arg0->unk10 = 0; - } - } - } - else { - if (arg0->unk10 != 0) { - arg0->unk10 = 0; - arg0->unk0C = 0; - } - fn_1_7A6C(arg0); - } - } - else { - arg0->unk44 = 0.0f; - arg0->unk48 = 0.0f; - arg0->unk4C = 0.0f; - } - fn_1_4C84(arg0); - break; - } -} - -void fn_1_4C84(UnkM447Struct_04 *arg0) -{ - s16 var_r30; - - var_r30 = 0; - arg0->unk40 = sqrtf(arg0->unk44 * arg0->unk44 + arg0->unk4C * arg0->unk4C); - if (0.5f <= arg0->unk40) { - if (10.0f <= arg0->unk40) { - arg0->unk44 /= arg0->unk40; - arg0->unk4C /= arg0->unk40; - arg0->unk40 = 10.0f; - arg0->unk44 = arg0->unk44 * 10.0f; - arg0->unk4C = arg0->unk4C * 10.0f; - } - arg0->unk38 = fn_1_4F7C(arg0->unk38, atan2d(arg0->unk44, arg0->unk4C), 0.4f); - if (8.0f <= arg0->unk40) { - var_r30 = 2; - } - else { - var_r30 = 1; - } - } - arg0->unk28.x += arg0->unk44; - arg0->unk28.z += arg0->unk4C; - switch (arg0->unk24) { - case 1: - fn_1_72A8(arg0); - fn_1_78A8(arg0); - fn_1_7688(arg0); - break; - case 6: - case 7: - fn_1_78A8(arg0); - fn_1_7688(arg0); - break; - } - if (var_r30 >= 0 && arg0->unkA4 != var_r30) { - fn_1_71FC(arg0, var_r30, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } -} - -float fn_1_4F7C(float arg0, float arg1, float arg2) -{ - float var_f31; - float var_f30; - - var_f31 = fmod(arg1 - arg0, 360.0); - if (0.0f > var_f31) { - var_f31 += 360.0f; - } - if (180.0f < var_f31) { - var_f31 -= 360.0f; - } - var_f30 = fmod(arg0 + var_f31 * arg2, 360.0); - if (0.0f > var_f30) { - var_f30 += 360.0f; - } - return var_f30; -} - -void fn_1_5080(UnkM447Struct_04 *arg0) -{ - Vec sp14; - Vec sp8; - s32 var_r30; - - switch (arg0->unk20) { - case 0: - fn_1_7A6C(arg0); - var_r30 = fn_1_7984(arg0); - fn_1_1ED4(var_r30, &sp14); - VECSubtract(&sp14, &arg0->unk28, &sp8); - arg0->unk38 = fn_1_4F7C(arg0->unk38, atan2d(sp8.x, sp8.z), 1.0f); - fn_1_71FC(arg0, 3, 0.0f, 8.0f, HU3D_MOTATTR_NONE); - arg0->unk20 = 1; - /* fallthrough */ - case 1: - if (!Hu3DMotionEndCheck(arg0->unk68)) { - break; - } - arg0->unk20 = 2; - /* fallthrough */ - case 2: - fn_1_43CC(arg0, 3); - break; - } -} - -void fn_1_5298(UnkM447Struct_04 *arg0) -{ - Vec sp8; - s32 temp_r29; - UnkM447Struct_01 *temp_r28; - s32 i; - - switch (arg0->unk20) { - case 0: - temp_r29 = fn_1_7984(arg0); - fn_1_717C(arg0, 0, 0x40000001); - fn_1_1ED4(temp_r29, &sp8); - arg0->unk28.x = sp8.x; - arg0->unk28.z = sp8.z; - arg0->unk28.y = 30.0f; - fn_1_1F00(lbl_1_bss_10, temp_r29); - HuAudFXPlay(0x784); - arg0->unk60 = 0; - arg0->unk20 = 1; - /* fallthrough */ - case 1: - arg0->unk28.y -= 1.0f; - if (arg0->unk60++ >= 30) { - arg0->unk28.y = 2.0f; - arg0->unk20 = 2; - temp_r29 = fn_1_7984(arg0); - arg0->unkA8 = lbl_1_bss_A4[temp_r29]; - if (arg0->unkA8->unk08 != 0) { - fn_1_8FF4(arg0->unkA8, 5); - for (i = 0; i < 5; i++) { - temp_r28 = lbl_1_bss_A4[i]; - if (temp_r28 != arg0->unkA8 && lbl_1_bss_10->unk68[i] == 0) { - fn_1_1F00(lbl_1_bss_10, i); - if (temp_r28->unk04 == 2) { - fn_1_8FF4(temp_r28, 4); - } - } - } - for (i = 0; i < 2; i++) { - if (lbl_1_bss_98[i] != arg0) { - lbl_1_bss_98[i]->unk04 = 0; - } - } - arg0->unk1B++; - arg0->unk14 = 1; - fn_1_43CC(arg0, 5); - } - else { - fn_1_8FF4(arg0->unkA8, 3); - fn_1_43CC(arg0, 4); - } - } - break; - case 2: - fn_1_43CC(arg0, 1); - break; - } -} - -const s32 lbl_1_rodata_4EC[] = { 0x0000012A, 0x0000016A, 0x000001AA, 0x000001EA, 0x0000022A, 0x0000026A, 0x000002AA, 0x000002EA }; - -void fn_1_5520(UnkM447Struct_04 *arg0) -{ - Vec sp8; - float var_f31; - float var_f30; - - switch (arg0->unk20) { - case 0: - fn_1_71FC(arg0, 5, 0.0f, 8.0f, HU3D_MOTATTR_NONE); - arg0->unk60 = 0; - arg0->unk20 = 1; - /* fallthrough */ - case 1: - var_f30 = lbl_1_rodata_3E4[arg0->unk18]; - var_f31 = var_f30; // inline? - sp8 = arg0->unkA8->unk10; - if (var_f31 + lbl_1_rodata_648[arg0->unkA8->unk00] + 120.0f < sp8.y) { - break; - } - arg0->unk20 = 2; - /* fallthrough */ - case 2: - fn_1_717C(arg0, 4, 0); - arg0->unk60 = 0; - arg0->unk20 = 3; - fn_1_7AA4(arg0, 1, 60); - if (arg0->unk18 == 8) { - HuAudFXPlay(0x42); - } - else { - HuAudFXPlay(lbl_1_rodata_4EC[arg0->unk18]); - } - /* fallthrough */ - case 3: - if (arg0->unk60++ < 40) { - break; - } - arg0->unk60 = 0; - arg0->unk20 = 4; - /* fallthrough */ - case 4: - Hu3DModelAttrSet(arg0->unk68, HU3D_MOTATTR_PAUSE); - arg0->unk60 = 0; - arg0->unk20 = 5; - /* fallthrough */ - case 5: - if (arg0->unk60++ < 20) { - break; - } - arg0->unk20 = 6; - /* fallthrough */ - case 6: - Hu3DModelAttrReset(arg0->unk68, HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(arg0->unk68, HU3D_MOTATTR_LOOP); - arg0->unk60 = 0; - arg0->unk20 = 7; - /* fallthrough */ - case 7: - if (arg0->unk60++ < 40) { - break; - } - arg0->unk20 = 8; - case 8: - /* fallthrough */ - fn_1_43CC(arg0, 1); - break; - } -} - -void fn_1_5760(UnkM447Struct_04 *arg0) -{ - Vec sp14; - Vec sp8; - s32 var_r30; - - switch (arg0->unk20) { - case 0: - Hu3DModelAttrReset(arg0->unk68, HU3D_MOTATTR_LOOP); - fn_1_71FC(arg0, 5, 0.0f, 8.0f, HU3D_MOTATTR_NONE); - arg0->unk60 = 0; - arg0->unk20 = 1; - /* fallthrough */ - case 1: - var_r30 = fn_1_7984(arg0); - sp14 = lbl_1_bss_A4[var_r30]->unk10; - VECSubtract(&sp14, &arg0->unk28, &sp8); - arg0->unk38 = fn_1_4F7C(arg0->unk38, atan2d(sp8.x, sp8.z), 0.1f); - if (arg0->unk60++ < 30) { - break; - } - arg0->unk20 = 2; - case 2: - fn_1_71FC(arg0, 0, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - fn_1_43CC(arg0, 8); - break; - } -} - -const s32 lbl_1_rodata_510[] = { 0x00000122, 0x00000162, 0x000001A2, 0x000001E2, 0x00000222, 0x00000262, 0x000002A2, 0x000002E2, 0x00000124, - 0x00000164, 0x000001A4, 0x000001E4, 0x00000224, 0x00000264, 0x000002A4, 0x000002E4, 0x00000121, 0x00000161, 0x000001A1, 0x000001E1, 0x00000221, - 0x00000261, 0x000002A1, 0x000002E1 }; - -void fn_1_59D8(UnkM447Struct_04 *arg0) -{ - switch (arg0->unk20) { - case 0: - if (arg0->unk18 == 8) { - HuAudFXPlay(0x40); - } - else { - HuAudFXPlay(lbl_1_rodata_510[arg0->unk18]); - } - fn_1_71FC(arg0, 6, 0.0f, 8.0f, HU3D_MOTATTR_NONE); - arg0->unk20 = 1; - /* fallthrough */ - case 1: - if (!Hu3DMotionEndCheck(arg0->unk68)) { - break; - } - arg0->unk20 = 2; - /* fallthrough */ - case 2: - fn_1_71FC(arg0, 0, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - fn_1_43CC(arg0, 0); - fn_1_7AA4(arg0, 0, 60); - break; - } -} - -void fn_1_5AF0(UnkM447Struct_04 *arg0) -{ - switch (arg0->unk20) { - case 0: - if (arg0->unk1C != 0) { - HuAudFXPlay(0x40); - } - fn_1_71FC(arg0, 7, 0.0f, 8.0f, (arg0->unk1C != 0) ? HU3D_MOTATTR_LOOP : HU3D_MOTATTR_NONE); - arg0->unk20 = 1; - /* fallthrough */ - case 1: - if (!Hu3DMotionEndCheck(arg0->unk68)) { - break; - } - arg0->unk20 = 2; - /* fallthrough */ - case 2: - fn_1_43CC(arg0, 0); - break; - } -} - -void fn_1_5BD0(UnkM447Struct_04 *arg0) -{ - switch (arg0->unk20) { - case 0: - fn_1_71FC(arg0, 8, 0.0f, 8.0f, HU3D_MOTATTR_NONE); - arg0->unk20 = 1; - /* fallthrough */ - case 1: - if (!Hu3DMotionEndCheck(arg0->unk68)) { - break; - } - arg0->unk20 = 2; - /* fallthrough */ - case 2: - fn_1_43CC(arg0, 0); - break; - } -} - -void fn_1_5C78(UnkM447Struct_04 *arg0) -{ - float temp_f22; - float temp_f21; - float temp_f25; - - switch (arg0->unk20) { - case 0: - fn_1_7A6C(arg0); - temp_f22 = arg0->unk28.x - lbl_1_rodata_408[arg0->unk00][0]; - temp_f21 = arg0->unk28.z - lbl_1_rodata_408[arg0->unk00][2] - 25.0f; - if (ABS(temp_f22) < 5.0f && ABS(temp_f21) < 5.0f && 180.0f == arg0->unk38) { - arg0->unk20 = 3; - } - else { - arg0->unk20 = 1; - } - /* fallthrough */ - case 1: - temp_f25 = 8.0f; - arg0->unk44 = (lbl_1_rodata_408[arg0->unk00][0] - arg0->unk28.x) / temp_f25; - arg0->unk4C = (lbl_1_rodata_408[arg0->unk00][2] - arg0->unk28.z) / temp_f25; - arg0->unk48 = 0.0f; - if (!(arg0->unk44 > -0.1f && arg0->unk44 < 0.1f && arg0->unk4C > -0.1f && arg0->unk4C < 0.1f)) { - fn_1_4C84(arg0); - break; - } - arg0->unk20 = 2; - /* fallthrough */ - case 2: - temp_f25 = 8.0f; - arg0->unk44 = (lbl_1_rodata_408[arg0->unk00][0] - arg0->unk28.x) / temp_f25; - arg0->unk4C = (lbl_1_rodata_408[arg0->unk00][2] - 25.0f - arg0->unk28.z) / temp_f25; - arg0->unk48 = 0.0f; - if (!(arg0->unk44 > -0.1f && arg0->unk44 < 0.1f && arg0->unk4C > -0.1f && arg0->unk4C < 0.1f)) { - fn_1_4C84(arg0); - break; - } - arg0->unk20 = 3; - /* fallthrough */ - case 3: - fn_1_43CC(arg0, 1); - break; - } -} - -void fn_1_671C(UnkM447Struct_04 *arg0) -{ - float var_f25; - - switch (arg0->unk20) { - case 0: - fn_1_7A6C(arg0); - arg0->unk20 = 1; - /* fallthrough */ - case 1: - var_f25 = 8.0f; - arg0->unk44 = (lbl_1_rodata_408[arg0->unk00][12] - arg0->unk28.x) / var_f25; - arg0->unk4C = (lbl_1_rodata_408[arg0->unk00][14] - 25.0f - arg0->unk28.z) / var_f25; - arg0->unk48 = 0.0f; - fn_1_4C84(arg0); - if (!(arg0->unk44 > -0.1f && arg0->unk44 < 0.1f && arg0->unk4C > -0.1f && arg0->unk4C < 0.1f)) { - break; - } - arg0->unk20 = 2; - /* fallthrough */ - case 2: - var_f25 = 8.0f; - arg0->unk44 = (lbl_1_rodata_408[arg0->unk00][12] - arg0->unk28.x) / var_f25; - arg0->unk4C = (lbl_1_rodata_408[arg0->unk00][14] - arg0->unk28.z) / var_f25; - arg0->unk48 = 0.0f; - fn_1_4C84(arg0); - if (!(arg0->unk44 > -0.1f && arg0->unk44 < 0.1f && arg0->unk4C > -0.1f && arg0->unk4C < 0.1f)) { - break; - } - arg0->unk20 = 3; - /* fallthrough */ - case 3: - fn_1_43CC(arg0, 1); - break; - } -} - -void fn_1_70BC(UnkM447Struct_04 *arg0) -{ - Vec sp14; - Vec sp8; - - Hu3DModelPosSet(arg0->unk68, arg0->unk28.x, arg0->unk28.y, arg0->unk28.z); - Hu3DModelRotSet(arg0->unk68, arg0->unk34, arg0->unk38, arg0->unk3C); - sp14 = arg0->unk28; - sp14.y += 300.0f; - Hu3D3Dto2D(&sp14, 1, &sp8); - espPosSet(arg0->unk7C[1], sp8.x, sp8.y + 3.0f); - espPosSet(arg0->unk7C[0], sp8.x, sp8.y); -} - -void fn_1_717C(UnkM447Struct_04 *arg0, s32 arg1, s32 arg2) -{ - if (arg0->unk1C != 0) { - Hu3DMotionSet(arg0->unk68, arg0->unk6A[arg1]); - } - else { - CharModelMotionSet(arg0->unk18, arg0->unk6A[arg1]); - } - Hu3DModelAttrSet(arg0->unk68, arg2); - arg0->unkA4 = arg1; -} - -void fn_1_71FC(UnkM447Struct_04 *arg0, s32 arg1, float arg2, float arg3, s32 arg4) -{ - if (arg0->unk1C != 0) { - Hu3DMotionShiftSet(arg0->unk68, arg0->unk6A[arg1], arg2, arg3, arg4); - } - else { - CharModelMotionShiftSet(arg0->unk18, arg0->unk6A[arg1], arg2, arg3, arg4); - } - arg0->unkA4 = arg1; -} - -float lbl_1_data_21C[][4] = { { -700.0f, -700.0f, -700.0f, 700.0f }, { 700.0f, -700.0f, 700.0f, 700.0f }, { -800.0f, 450.0f, 800.0f, 450.0f }, - { -700.0f, -700.0f, 700.0f, -700.0f } }; - -// Vec[]? -float lbl_1_data_25C[][3] = { { -700.0f, -700.0f, 200.0f }, { 700.0f, -700.0f, 200.0f } }; - -void fn_1_72A8(UnkM447Struct_04 *arg0) -{ - float sp28[3]; // Vec? - float sp18[4]; - float spC[3]; // Vec? - float temp_f31; - float temp_f30; - float var_f28; - s32 i; - - sp28[0] = arg0->unk28.x; - sp28[1] = arg0->unk28.z; - sp28[2] = 95.0f; - for (i = 0; i < 4; i++) { - if (fn_1_80BC(sp28, lbl_1_data_21C[i], sp18) == 0) { - continue; - } - if (i / 2 == 0) { - if (lbl_1_data_21C[i][0] < 0.0f) { - arg0->unk28.x = sp28[2] + lbl_1_data_21C[i][0]; - } - else { - arg0->unk28.x = lbl_1_data_21C[i][0] - sp28[2]; - } - } - else { - if (lbl_1_data_21C[i][1] < 0.0f) { - arg0->unk28.z = sp28[2] + lbl_1_data_21C[i][1]; - } - else { - arg0->unk28.z = lbl_1_data_21C[i][1] - sp28[2]; - } - } - arg0->unk0C = 0; - } - spC[0] = arg0->unk28.x; - spC[1] = arg0->unk28.z; - spC[2] = arg0->unk50; - for (i = 0; i < 2; i++) { - if (fn_1_879C(spC, lbl_1_data_25C[i], 1, 0) != 0) { - arg0->unk28.x = spC[0]; - arg0->unk28.z = spC[1]; - arg0->unk0C = 0; - } - } - if (arg0->unk28.z > 0.0f) { - temp_f31 = arg0->unk28.x; - temp_f30 = arg0->unk28.z - -120.0f; - var_f28 = sqrtf(temp_f31 * temp_f31 + temp_f30 * temp_f30); - if (700.0f - arg0->unk50 < var_f28) { - temp_f31 /= var_f28; - temp_f30 /= var_f28; - arg0->unk28.x = temp_f31 * (700.0f - arg0->unk50); - arg0->unk28.z = -120.0f + temp_f30 * (700.0f - arg0->unk50); - } - } -} - -void fn_1_7688(UnkM447Struct_04 *arg0) -{ - float sp14[3]; // Vec? - float sp8[3]; // Vec? - UnkM447Struct_04 *temp_r30; - s32 var_r26; - s32 i; - - for (i = 0; i < 2; i++) { - temp_r30 = lbl_1_bss_98[i]; - if (!temp_r30 || temp_r30 == arg0) { - continue; - } - sp14[0] = arg0->unk28.x; - sp14[1] = arg0->unk28.z; - sp14[2] = arg0->unk50; - sp8[0] = temp_r30->unk28.x; - sp8[1] = temp_r30->unk28.z; - sp8[2] = temp_r30->unk50; - var_r26 = (temp_r30->unk24 == 1) ? 1 : 0; - if (fn_1_879C(sp14, sp8, 1, var_r26) == 0) { - continue; - } - switch (arg0->unk24) { - case 1: - arg0->unk28.x = sp14[0]; - arg0->unk28.z = sp14[1]; - temp_r30->unk28.x = sp8[0]; - temp_r30->unk28.z = sp8[1]; - arg0->unk0C = 0; - break; - case 6: - case 7: - arg0->unk28.x = sp14[0]; - arg0->unk28.z = sp14[1]; - if (ABS(arg0->unk28.z - temp_r30->unk28.z) < 2.0f) { - arg0->unk28.z += 55.0f * (0.0f > arg0->unk28.z ? -1 : 1); - } - arg0->unk0C = 0; - break; - } - switch (arg0->unk24) { - case 1: - fn_1_72A8(arg0); - fn_1_72A8(temp_r30); - break; - } - } -} - -void fn_1_78A8(UnkM447Struct_04 *arg0) -{ - float sp20[3]; // Vec? - float sp14[3]; // Vec? - Vec sp8; - s32 i; - - sp20[0] = arg0->unk28.x; - sp20[1] = arg0->unk28.z; - sp20[2] = arg0->unk50; - for (i = 0; i < 5; i++) { - if (lbl_1_bss_10->unk54[i] != 0) { - continue; - } - fn_1_1ED4(i, &sp8); - sp14[0] = sp8.x; - sp14[1] = sp8.z; - sp14[2] = 35.0f; - if (fn_1_879C(sp20, sp14, 1, 0) != 0) { - arg0->unk28.x = sp20[0]; - arg0->unk28.z = sp20[1]; - arg0->unk0C = 0; - } - } -} - -s32 fn_1_7984(UnkM447Struct_04 *arg0) -{ - float sp20[3]; // Vec? - float sp14[3]; // Vec? - Vec sp8; - s32 i; - - sp20[0] = arg0->unk28.x; - sp20[1] = arg0->unk28.z; - sp20[2] = arg0->unk50; - for (i = 0; i < 5; i++) { - fn_1_1ED4(i, &sp8); - sp14[0] = sp8.x; - sp14[1] = sp8.z; - sp14[2] = 40.0f; - if (fn_1_879C(sp20, sp14, 0, 0) != 0) { - return i; - } - } - return 5; -} - -void fn_1_7A34(UnkM447Struct_04 *arg0) -{ - espDispOn(arg0->unk7C[1]); - espDispOn(arg0->unk7C[0]); -} - -void fn_1_7A6C(UnkM447Struct_04 *arg0) -{ - espDispOff(arg0->unk7C[1]); - espDispOff(arg0->unk7C[0]); -} - -void fn_1_7AA4(UnkM447Struct_04 *arg0, s32 arg1, s32 arg2) -{ - if (arg0->unk1C == 0) { - switch (arg1) { - case 0: - omVibrate(arg0->unk00, arg2, 6, 6); - return; - case 1: - omVibrate(arg0->unk00, arg2, 4, 2); - return; - case 2: - omVibrate(arg0->unk00, arg2, 12, 0); - break; - } - } -} diff --git a/src/REL/m447dll/player_col.c b/src/REL/m447dll/player_col.c deleted file mode 100755 index 0bd2216a..00000000 --- a/src/REL/m447dll/player_col.c +++ /dev/null @@ -1,199 +0,0 @@ -#include "REL/m447dll.h" - -#include "ext_math.h" - -float fn_1_7D94(float* arg0, float* arg1); -void fn_1_7F64(float* arg0, float arg1, float* arg2, float* arg3); -s32 fn_1_89BC(float* arg0, float* arg1); - -void fn_1_7B54(Vec* arg0, Vec* arg1, s32 arg2, float arg3) { - float temp_f29; - float var_f30; - float var_f31; - s32 temp_r29; - s32 var_r30; - s32 i; - - temp_r29 = arg2 - 1; - arg0->x = 0.0f; - arg0->y = 0.0f; - arg0->z = 0.0f; - arg3 = (arg2 + 1) * arg3 - 1.0f; - for (i = -2; i <= temp_r29 + 2; i++) { - var_r30 = i; - if (i < 0) { - var_r30 = 0; - } - if (i > temp_r29) { - var_r30 = temp_r29; - } - var_f31 = arg3 - i; - if (var_f31 < 0.0f) { - var_f31 = -var_f31; - } - if (var_f31 < 1.0f) { - var_f30 = (3.0f * var_f31 * var_f31 * var_f31 - 6.0f * var_f31 * var_f31 + 4.0f) / 6.0f; - } else if (var_f31 < 2.0f) { - temp_f29 = var_f31 - 2.0f; - var_f30 = -temp_f29 * temp_f29 * temp_f29 / 6.0f; - } else { - var_f30 = 0.0f; - } - arg0->x += var_f30 * arg1[var_r30].x; - arg0->y += var_f30 * arg1[var_r30].y; - arg0->z += var_f30 * arg1[var_r30].z; - } -} - -float fn_1_7D94(float* arg0, float* arg1) { - float var_f30; - float var_f31; - float temp_f29; - float var_f28; - s32 var_r31; - - var_f30 = arg1[0] - arg0[0]; - var_f31 = arg1[1] - arg0[1]; - if (var_f30 >= 0.0f) { - if (var_f31 >= 0.0f) { - var_r31 = 0; - } else { - var_r31 = 3; - temp_f29 = var_f30; - var_f30 = -var_f31; - var_f31 = temp_f29; - } - } else { - if (var_f31 >= 0.0f) { - var_r31 = 1; - temp_f29 = var_f30; - var_f30 = var_f31; - var_f31 = -temp_f29; - } else { - var_r31 = 2; - var_f30 = -var_f30; - var_f31 = -var_f31; - } - } - if (var_f31 > var_f30) { - var_f28 = M_PI / 2 - atan2d(var_f30, var_f31); - } else { - var_f28 = atan2d(var_f31, var_f30); - } - return var_f28 + (M_PI / 2) * var_r31; -} - -void fn_1_7F64(float* arg0, float arg1, float* arg2, float* arg3) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - - // 57.29578 = 180 / M_PI (1 rad in degrees) - temp_f31 = cosd(-(57.29578f * arg1)); - temp_f30 = sind(-(57.29578f * arg1)); - temp_f29 = arg2[0] - arg0[0]; - temp_f28 = arg2[1] - arg0[1]; - arg3[0] = temp_f29 * temp_f31 + temp_f28 * temp_f30 + arg0[0]; - arg3[1] = -temp_f29 * temp_f30 + temp_f28 * temp_f31 + arg0[1]; -} - -s32 fn_1_80BC(float* arg0, float* arg1, float* arg2) { - float sp40[2]; - float sp38[2]; - float sp30[2]; - float sp2C; - float var_f26; - - sp40[0] = 0.0f; - sp40[1] = 0.0f; - sp38[0] = arg0[0] - arg1[0]; - sp38[1] = arg0[1] - arg1[1]; - sp2C = fn_1_7D94(arg1, &arg1[2]); - fn_1_7F64(sp40, -sp2C, sp38, sp30); - if (ABS(sp30[1]) > arg0[2]) { - return 0; - } - var_f26 = sqrtf(arg0[2] * arg0[2] - sp30[1] * sp30[1]); - sp38[0] = arg0[0] + var_f26; - sp38[1] = arg0[1] - sp30[1]; - fn_1_7F64(arg0, sp2C, sp38, arg2); - if (var_f26 == 0.0f) { - return 1; - } - sp38[0] = arg0[0] - var_f26; - sp38[1] = arg0[1] - sp30[1]; - fn_1_7F64(arg0, sp2C, sp38, &arg2[2]); - return 2; -} - -s32 fn_1_879C(float* arg0, float* arg1, s32 arg2, s32 arg3) { - float spC[2]; - float var_f28; - - spC[0] = arg0[0] - arg1[0]; - spC[1] = arg0[1] - arg1[1]; - var_f28 = sqrtf(spC[0] * spC[0] + spC[1] * spC[1]); - if (var_f28 < arg0[2] + arg1[2]) { - if (var_f28 == 0.0f) { - spC[0] = 0.0f; - spC[1] = -1.0f; - } else { - spC[0] /= var_f28; - spC[1] /= var_f28; - if (arg3 != 0) { - arg1[0] -= spC[0]; - arg1[1] -= spC[1]; - } - } - if (arg2 != 0) { - arg0[0] = arg1[0] + spC[0] * (arg0[2] + arg1[2]); - arg0[1] = arg1[1] + spC[1] * (arg0[2] + arg1[2]); - } - return 1; - } - return 0; -} - -s32 fn_1_89BC(float* arg0, float* arg1) { - float temp_f30; - float temp_f29; - float temp_f28; - float temp_f26; - float temp_f27; - float temp_f24; - - temp_f26 = arg0[2] * arg0[2] - 2.0f * arg0[0] * arg0[2] + arg0[0] * arg0[0] + arg0[3] * arg0[3] - 2.0f * arg0[1] * arg0[3] + arg0[1] * arg0[1]; - temp_f27 = 2.0f * (arg0[0] * arg0[2] - arg0[2] * arg1[0] + arg0[0] * arg0[0] + arg0[1] * arg0[3] - arg0[3] * arg1[1] + arg0[1] * arg0[1]); - temp_f24 = arg0[0] * arg0[0] - 2.0f * arg0[0] * arg1[0] + arg1[0] * arg1[0] + arg0[1] * arg0[1] - 2.0f * arg0[1] * arg1[1] + arg1[1] * arg1[1] - arg1[2] * arg1[2]; - if (temp_f26 == 0.0f) { - if (temp_f27 != 0.0f) { - return 1; - } else { - return 0; - } - } - temp_f30 = temp_f27 * temp_f27 - 4.0f * temp_f26 * temp_f24; - if (temp_f30 < 0.0f) { - return 0; - } - temp_f30 = sqrtf(temp_f30); - temp_f29 = (-temp_f27 + temp_f30) / (2.0f * temp_f26); - temp_f28 = (-temp_f27 - temp_f30) / (2.0f * temp_f26); - if (temp_f29 < temp_f28) { - if (temp_f29 >= 0.0f && temp_f29 > 1.0f) { - return 1; - } - if (temp_f28 >= 0.0f && temp_f28 < 1.0f) { - return 1; - } - } else { - if (temp_f28 >= 0.0f && temp_f28 < 1.0f) { - return 1; - } - if (temp_f29 >= 0.0f && temp_f29 < 1.0f) { - return 1; - } - } - return 0; -} diff --git a/src/REL/m447dll/stage.c b/src/REL/m447dll/stage.c deleted file mode 100755 index f1a456fa..00000000 --- a/src/REL/m447dll/stage.c +++ /dev/null @@ -1,461 +0,0 @@ -#include "REL/m447dll.h" -#include "game/audio.h" -#include "game/data.h" -#include "game/hsfanim.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/process.h" -#include "game/sprite.h" - -#include "ext_math.h" - -typedef struct { - /* 0x00 */ Vec unk00; - /* 0x0C */ Vec unk0C; - /* 0x18 */ GXColor unk18; -} UnkM447Struct_07; // Size 0x1C - -void fn_1_1FF4(void); -void fn_1_2164(UnkM447Struct_06 *arg0); -void fn_1_231C(UnkM447Struct_06 *arg0); -void fn_1_236C(UnkM447Struct_06 *arg0); -void fn_1_2490(UnkM447Struct_06 *arg0); -void fn_1_2494(UnkM447Struct_06 *arg0); -void fn_1_25E4(UnkM447Struct_06 *arg0); -void fn_1_2700(UnkM447Struct_06 *arg0); -void fn_1_2A3C(UnkM447Struct_06 *arg0); -void fn_1_2D08(UnkM447Struct_06 *arg0); -void fn_1_2DAC(ModelData *model, ParticleData *particle, Mtx matrix); - -const s32 lbl_1_rodata_138[] = { DATA_MAKE_NUM(DATADIR_M447, 0), DATA_MAKE_NUM(DATADIR_M447, 2), DATA_MAKE_NUM(DATADIR_M447, 3), - DATA_MAKE_NUM(DATADIR_M447, 1), DATA_MAKE_NUM(DATADIR_M447, 1), DATA_MAKE_NUM(DATADIR_M447, 1), DATA_MAKE_NUM(DATADIR_M447, 1), - DATA_MAKE_NUM(DATADIR_M447, 1), DATA_MAKE_NUM(DATADIR_M447, 24), DATA_MAKE_NUM(DATADIR_M447, 24), DATA_MAKE_NUM(DATADIR_M447, 24), - DATA_MAKE_NUM(DATADIR_M447, 24), DATA_MAKE_NUM(DATADIR_M447, 24), DATA_MAKE_NUM(DATADIR_M447, 25), DATA_MAKE_NUM(DATADIR_M447, 26), - DATA_MAKE_NUM(DATADIR_M447, 28), DATA_MAKE_NUM(DATADIR_M447, 29), DATA_MAKE_NUM(DATADIR_M447, 29), DATA_MAKE_NUM(DATADIR_M447, 29), - DATA_MAKE_NUM(DATADIR_M447, 29), DATA_MAKE_NUM(DATADIR_M447, 29), 0 }; - -const Vec lbl_1_rodata_190[] - = { { 0.0f, 0.1f, 0.0f }, { 400.0f, 0.1f, 0.0f }, { -400.0f, 0.1f, 0.0f }, { 200.0f, 0.1f, -400.0f }, { -200.0f, 0.1f, -400.0f } }; - -UnkM447Struct_07 lbl_1_data_A0[] = { { { 0.0f, 2500.0f, 0.0f }, { 0.0f, -0.5f, 0.0f }, { 0xFF, 0xFF, 0xFF, 0xFF } }, - { { 0.0f, -100.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, { 0xFF, 0xFF, 0xFF, 0xFF } }, - { { 400.0f, -100.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, { 0xFF, 0xFF, 0xFF, 0xFF } }, - { { -400.0f, -100.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, { 0xFF, 0xFF, 0xFF, 0xFF } }, - { { 200.0f, -100.0f, -400.0f }, { 0.0f, 1.0f, 0.0f }, { 0xFF, 0xFF, 0xFF, 0xFF } }, - { { -200.0f, -100.0f, -400.0f }, { 0.0f, 1.0f, 0.0f }, { 0xFF, 0xFF, 0xFF, 0xFF } } }; - -UnkM447Struct_06 *fn_1_1D90(void) -{ - UnkM447Struct_06 *temp_r3; - s32 i; - - temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(*temp_r3), MEMORY_DEFAULT_NUM); - if (!temp_r3) { - return NULL; - } - temp_r3->unk38 = 0; - temp_r3->unk50 = NULL; - temp_r3->unk44 = 0; - for (i = 0; i < 5; i++) { - temp_r3->unk54[i] = 0; - temp_r3->unk68[i] = 0; - } - fn_1_2164(temp_r3); - fn_1_236C(temp_r3); - temp_r3->unk7C = HuPrcChildCreate(fn_1_1FF4, 0x65, 0x3000, 0, lbl_1_bss_4); - temp_r3->unk7C->user_data = temp_r3; - return temp_r3; -} - -void fn_1_1E70(UnkM447Struct_06 *arg0) -{ - fn_1_231C(arg0); - HuPrcKill(arg0->unk7C); - HuMemDirectFree(arg0); -} - -void fn_1_1EB0(UnkM447Struct_06 *arg0, s32 arg1) -{ - arg0->unk38 = arg1; - arg0->unk3C = 0; -} - -BOOL fn_1_1EC0(UnkM447Struct_06 *arg0) -{ - return arg0->unk38 != 0; -} - -void fn_1_1ED4(s32 arg0, Vec *arg1) -{ - *arg1 = lbl_1_rodata_190[arg0]; -} - -void fn_1_1F00(UnkM447Struct_06 *arg0, s32 arg1) -{ - s16 temp_r31; - - temp_r31 = arg0->unk00[arg1 + 3]; - Hu3DModelAttrReset(temp_r31, HU3D_MOTATTR_PAUSE); - Hu3DMotionTimeSet(temp_r31, 0.0f); - Hu3DMotionStartEndSet(temp_r31, 0.0f, 40.0f); - arg0->unk54[arg1] = 1; -} - -s32 fn_1_1F9C(UnkM447Struct_06 *arg0) -{ - s32 var_r30; - s32 i; - - var_r30 = 0; - for (i = 0; i < 5; i++) { - if (arg0->unk54[i] == 0) { - var_r30++; - } - } - return var_r30; -} - -void fn_1_1FEC(UnkM447Struct_06 *arg0, s32 arg1) -{ - arg0->unk44 = arg1; -} - -void (*lbl_1_data_148[])(UnkM447Struct_06 *) = { - fn_1_2490, fn_1_2494, fn_1_25E4, fn_1_2700, fn_1_2A3C, - NULL // padding? -}; - -void fn_1_1FF4(void) -{ - Vec sp8; - UnkM447Struct_06 *temp_r31; - s16 temp_r29; - s32 i; - - temp_r31 = HuPrcCurrentGet()->user_data; - while (TRUE) { - if (lbl_1_data_148[temp_r31->unk38]) { - lbl_1_data_148[temp_r31->unk38](temp_r31); - } - for (i = 0; i < 5; i++) { - temp_r29 = temp_r31->unk00[i + 3]; - if (Hu3DMotionEndCheck(temp_r29)) { - Hu3DMotionStartEndSet(temp_r29, 20.0f, 40.0f); - Hu3DModelAttrSet(temp_r29, HU3D_MOTATTR_LOOP); - } - } - if (temp_r31->unk44 > 0) { - fn_1_351C(&sp8); - if (--temp_r31->unk44 == 0) { - sp8.y = 300.0f; - } - else { - sp8.y = fn_1_A240() % 20 - 10 + 300.0f; - } - fn_1_3540(&sp8); - } - HuPrcVSleep(); - } -} - -void fn_1_2164(UnkM447Struct_06 *arg0) -{ - s32 i; - - for (i = 0; i <= 20; i++) { - arg0->unk00[i] = Hu3DModelCreateFile(lbl_1_rodata_138[i]); - Hu3DModelLayerSet(arg0->unk00[i], 0); - } - arg0->unk50 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M447, 57)); - arg0->unk00[21] = Hu3DParticleCreate(arg0->unk50, 64); - Hu3DParticleHookSet(arg0->unk00[21], fn_1_2DAC); - Hu3DParticleBlendModeSet(arg0->unk00[21], 1); - Hu3DModelLayerSet(arg0->unk00[21], 0); - Hu3DModelAttrSet(arg0->unk00[21], HU3D_ATTR_DISPOFF); - Hu3DModelShadowMapSet(arg0->unk00[2]); - for (i = 0; i < 5; i++) { - Hu3DModelPosSet(arg0->unk00[i + 3], lbl_1_rodata_190[i].x, lbl_1_rodata_190[i].y, lbl_1_rodata_190[i].z); - Hu3DModelAttrSet(arg0->unk00[i + 3], HU3D_MOTATTR_PAUSE); - Hu3DModelShadowMapSet(arg0->unk00[i + 3]); - } - for (i = 8; i <= 15; i++) { - Hu3DModelAttrSet(arg0->unk00[i], HU3D_ATTR_DISPOFF); - } - for (i = 16; i <= 20; i++) { - Hu3DModelAttrSet(arg0->unk00[i], HU3D_ATTR_DISPOFF); - } -} - -void fn_1_231C(UnkM447Struct_06 *arg0) -{ - s32 i; - - for (i = 0; i < 22; i++) { - Hu3DModelKill(arg0->unk00[i]); - } -} - -void fn_1_236C(UnkM447Struct_06 *arg0) -{ - s32 i; - - Hu3DLighInit(); - for (i = 0; i < 6; i++) { - arg0->unk2C[i] = Hu3DGLightCreateV(&lbl_1_data_A0[i].unk00, &lbl_1_data_A0[i].unk0C, &lbl_1_data_A0[i].unk18); - switch (i) { - case 0: - Hu3DGLightInfinitytSet(arg0->unk2C[i]); - Hu3DGLightStaticSet(arg0->unk2C[i], 1); - break; - case 1: - case 2: - case 3: - case 4: - case 5: - Hu3DGLightStaticSet(arg0->unk2C[i], 1); - Hu3DGLightSpotSet(arg0->unk2C[i], 20.0f, 2); - Hu3DGLightColorSet(arg0->unk2C[i], 0, 0, 0, 0); - break; - } - } -} - -void fn_1_2490(UnkM447Struct_06 *arg0) { } - -void fn_1_2494(UnkM447Struct_06 *arg0) -{ - s32 i; - - switch (arg0->unk3C) { - case 0: - arg0->unk3C = 1; - break; - case 1: - Hu3DModelPosSet(arg0->unk00[14], 0.0f, 0.0f, 0.0f); - Hu3DMotionTimeSet(arg0->unk00[14], 0.0f); - Hu3DModelAttrReset(arg0->unk00[14], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->unk00[14], HU3D_MOTATTR_LOOP); - arg0->unk40 = 0; - arg0->unk3C = 2; - HuAudFXPlay(0x77E); - for (i = 0; i < 2; i++) { - fn_1_7AA4(lbl_1_bss_98[i], 0, 0x3C); - } - break; - case 2: - if (arg0->unk40++ >= 60) { - arg0->unk3C = 3; - } - break; - case 3: - Hu3DModelAttrSet(arg0->unk00[14], HU3D_ATTR_DISPOFF); - arg0->unk38 = 0; - arg0->unk3C = 0; - break; - } -} - -void fn_1_25E4(UnkM447Struct_06 *arg0) -{ - switch (arg0->unk3C) { - case 0: - arg0->unk3C = 1; - break; - case 1: - fn_1_2D08(arg0); - Hu3DModelPosSet(arg0->unk00[15], 0.0f, 0.0f, 0.0f); - Hu3DMotionTimeSet(arg0->unk00[15], 0.0f); - Hu3DModelAttrReset(arg0->unk00[15], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->unk00[15], HU3D_MOTATTR_LOOP); - arg0->unk40 = 0; - arg0->unk3C = 2; - HuAudFXPlay(0x782); - break; - case 2: - if (arg0->unk40++ >= 60) { - arg0->unk3C = 3; - } - break; - case 3: - Hu3DModelAttrSet(arg0->unk00[15], HU3D_ATTR_DISPOFF); - arg0->unk38 = 0; - arg0->unk3C = 0; - break; - } -} - -void fn_1_2700(UnkM447Struct_06 *arg0) -{ - float temp_f31; - s16 temp_r29; - s32 i; - - switch (arg0->unk3C) { - case 0: - arg0->unk48 = 0.0f; - arg0->unk4C = 0.011111111f; - arg0->unk3C = 1; - HuAudFXPlay(0x77F); - break; - case 1: - temp_f31 = -90.0f * arg0->unk48; - for (i = 0; i < 5; i++) { - Hu3DModelPosSet(arg0->unk00[i + 3], lbl_1_rodata_190[i].x, temp_f31, lbl_1_rodata_190[i].z); - } - arg0->unk48 += arg0->unk4C; - if (arg0->unk48 < 1.0f) { - break; - } - for (i = 0; i < 5; i++) { - Hu3DMotionTimeSet(arg0->unk00[i + 3], 0.0f); - Hu3DModelAttrSet(arg0->unk00[i + 3], HU3D_MOTATTR_PAUSE); - arg0->unk54[i] = 0; - arg0->unk68[i] = 0; - } - arg0->unk3C = 2; - break; - case 2: - for (i = 0; i < 5; i++) { - temp_r29 = arg0->unk00[i + 8]; - Hu3DModelPosSet(temp_r29, lbl_1_rodata_190[i].x, lbl_1_rodata_190[i].y, lbl_1_rodata_190[i].z); - Hu3DMotionTimeSet(temp_r29, 0.0f); - Hu3DModelAttrReset(temp_r29, HU3D_ATTR_DISPOFF); - Hu3DGLightColorSet(arg0->unk2C[i + 1], lbl_1_data_A0[i + 1].unk18.r, lbl_1_data_A0[i + 1].unk18.g, lbl_1_data_A0[i + 1].unk18.b, - lbl_1_data_A0[i + 1].unk18.a); - } - arg0->unk40 = 0; - arg0->unk3C = 3; - HuAudFXPlay(0x780); - break; - case 3: - if (arg0->unk40++ >= 60) { - for (i = 0; i < 5; i++) { - Hu3DModelAttrSet(arg0->unk00[i + 8], HU3D_ATTR_DISPOFF); - Hu3DGLightColorSet(arg0->unk2C[i + 1], 0, 0, 0, 0); - } - arg0->unk3C = 4; - } - break; - case 4: - arg0->unk38 = 0; - arg0->unk3C = 0; - break; - } -} - -void fn_1_2A3C(UnkM447Struct_06 *arg0) -{ - float temp_f31; - s16 temp_r29; - s32 i; - - switch (arg0->unk3C) { - case 0: - arg0->unk48 = 0.0f; - arg0->unk4C = 0.033333335f; - arg0->unk3C = 1; - HuAudFXPlay(0x77F); - break; - case 1: - temp_f31 = 90.0f * arg0->unk48 + -90.0f + 0.1f; - for (i = 0; i < 5; i++) { - Hu3DModelPosSet(arg0->unk00[i + 3], lbl_1_rodata_190[i].x, temp_f31, lbl_1_rodata_190[i].z); - } - arg0->unk48 += arg0->unk4C; - if (arg0->unk48 < 1.0f) { - break; - } - for (i = 0; i < 5; i++) { - Hu3DModelPosSet(arg0->unk00[i + 3], lbl_1_rodata_190[i].x, lbl_1_rodata_190[i].y, lbl_1_rodata_190[i].z); - } - HuAudFXPlay(0x783); - arg0->unk3C = 2; - break; - case 2: - for (i = 0; i < 5; i++) { - temp_r29 = arg0->unk00[i + 16]; - Hu3DModelPosSet(temp_r29, lbl_1_rodata_190[i].x, lbl_1_rodata_190[i].y, lbl_1_rodata_190[i].z); - Hu3DMotionTimeSet(temp_r29, 0.0f); - Hu3DModelAttrReset(temp_r29, HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(temp_r29, HU3D_ATTR_DISPOFF); - } - arg0->unk40 = 0; - arg0->unk3C = 3; - break; - case 3: - if (arg0->unk40++ >= 20) { - for (i = 0; i < 5; i++) { - Hu3DModelAttrSet(arg0->unk00[i + 16], HU3D_ATTR_DISPOFF); - } - arg0->unk3C = 4; - break; - } - break; - case 4: - arg0->unk38 = 0; - arg0->unk3C = 0; - break; - } -} - -void fn_1_2D08(UnkM447Struct_06 *arg0) -{ - ModelData *temp_r30; - ParticleData *temp_r31; - - temp_r30 = &Hu3DData[arg0->unk00[21]]; - temp_r31 = temp_r30->unk_120; - temp_r30->attr &= ~1; - temp_r31->unk_00 = 0; - temp_r31->unk_02 = 1; - temp_r31->unk_04.x = 0.0f; - temp_r31->unk_04.y = 350.0f; - temp_r31->unk_04.z = -700.0f; - HuAudFXPlay(0x780); -} - -void fn_1_2DAC(ModelData *model, ParticleData *particle, Mtx matrix) -{ - GXColor sp8 = { 0xFF, 0xFF, 0xFF, 0xFF }; - HsfanimStruct01 *var_r31; - s32 i; - - if (particle->unk_02 == 0) { - return; - } - if (particle->unk_00 == 0) { - particle->unk_00 = 1; - particle->unk_04.z = 0.0f; - particle->unk_10.z = 0.016666668f; - for (i = 0, var_r31 = particle->unk_48; i < particle->unk_30; i++, var_r31++) { - var_r31->unk00 = 0; - var_r31->unk2C = 20.0f; - var_r31->unk40.r = sp8.r; - var_r31->unk40.g = sp8.g; - var_r31->unk40.b = sp8.b; - var_r31->unk40.a = sp8.a; - var_r31->unk34.x = particle->unk_04.x; - var_r31->unk34.y = particle->unk_04.y; - var_r31->unk34.z = particle->unk_04.z; - var_r31->unk08.x = -8.0f + 0.1f * (fn_1_A240() % 160); - var_r31->unk08.y = -8.0f + 0.1f * (fn_1_A240() % 160); - var_r31->unk08.z = 0.0f; - } - } - for (i = 0, var_r31 = particle->unk_48; i < particle->unk_30; i++, var_r31++) { - if (var_r31->unk00 < 0) { - continue; - } - var_r31->unk34.x += var_r31->unk08.x; - var_r31->unk34.y += var_r31->unk08.y; - var_r31->unk34.z = -700.0 + 500.0 * sind(90.0f * particle->unk_04.z); - var_r31->unk40.a = 255.0f * (1.0f - particle->unk_04.z); - var_r31->unk2C = 20.0f + fn_1_A240() % 30; - } - particle->unk_04.z += particle->unk_10.z; - if (particle->unk_04.z >= 1.0f) { - model->attr |= 1; - particle->unk_02 = 0; - } -} diff --git a/src/REL/m448Dll/main.c b/src/REL/m448Dll/main.c deleted file mode 100755 index 961f27be..00000000 --- a/src/REL/m448Dll/main.c +++ /dev/null @@ -1,1855 +0,0 @@ -#include "REL/executor.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/esprite.h" -#include "game/flag.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/process.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - -#include "dolphin.h" -#include "ext_math.h" -#include "version.h" - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ char unk14[4]; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ s32 unk20; - /* 0x24 */ s32 unk24; - /* 0x28 */ s32 unk28; - /* 0x2C */ s32 unk2C; - /* 0x30 */ s32 unk30; - /* 0x34 */ s32 unk34; - /* 0x38 */ s32 unk38; - /* 0x3C */ float unk3C; - /* 0x40 */ float unk40; - /* 0x44 */ float unk44; - /* 0x48 */ float unk48; -} UnkM448Struct_00; // Size 0x4C - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ float unk10; - /* 0x14 */ char unk14[4]; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ s32 unk20; -} UnkM448Struct_01; // Size 0x24 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ float unk04[3]; -} UnkM448Struct_02; // Size 0x10 - -void fn_1_A0(void); -void fn_1_38C(void); -void fn_1_478(void); -void fn_1_4FC(ModelData *model, Mtx matrix); -void fn_1_1338(omObjData *arg0); -void fn_1_4310(omObjData *arg0); -void fn_1_6DAC(void); -void fn_1_7148(omObjData *arg0); -void fn_1_7DC4(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_81C0(omObjData *arg0); -void fn_1_8DD0(omObjData *arg0); -void fn_1_9508(omObjData *arg0); -void ObjectSetup(void); -void fn_1_9B00(omObjData *arg0); - -UnkM448Struct_01 lbl_1_bss_16C[20]; -UnkM448Struct_02 lbl_1_bss_9C[13]; -omObjData *lbl_1_bss_98; -omObjData *lbl_1_bss_94; -omObjData *lbl_1_bss_8C[2]; -omObjData *lbl_1_bss_88; -s32 lbl_1_bss_84; -s32 lbl_1_bss_80; -s32 lbl_1_bss_7C; -s32 lbl_1_bss_78; -s32 lbl_1_bss_74; -Process *lbl_1_bss_70; -s32 lbl_1_bss_6C; -s32 lbl_1_bss_68; -s32 lbl_1_bss_64; -s32 lbl_1_bss_60; -GXTexObj lbl_1_bss_40; -char lbl_1_bss_3C_pad[4]; -float lbl_1_bss_38; -s32 lbl_1_bss_34; -char lbl_1_bss_30_pad[4]; -void *lbl_1_bss_2C; -void *lbl_1_bss_28; -s32 lbl_1_bss_24; -s32 lbl_1_bss_20; -s32 lbl_1_bss_1C; -s32 lbl_1_bss_18; -s32 lbl_1_bss_14; -s32 lbl_1_bss_10; -char lbl_1_bss_8_pad[8]; -s32 lbl_1_bss_4; -s32 lbl_1_bss_0; - -s32 lbl_1_data_0[] = { DATA_MAKE_NUM(DATADIR_MGCONST, 23), DATA_MAKE_NUM(DATADIR_MGCONST, 22), DATA_MAKE_NUM(DATADIR_MGCONST, 51), - DATA_MAKE_NUM(DATADIR_MGCONST, 51), DATADIR_MGCONST, DATA_MAKE_NUM(DATADIR_MGCONST, 23), DATA_MAKE_NUM(DATADIR_MGCONST, 22), - DATA_MAKE_NUM(DATADIR_MGCONST, 51), DATA_MAKE_NUM(DATADIR_MGCONST, 51), DATADIR_MGCONST }; - -s32 lbl_1_data_28[10] = { 0 }; - -s32 lbl_1_data_50[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), DATA_MAKE_NUM(DATADIR_MARIOMOT, 2), DATA_MAKE_NUM(DATADIR_MARIOMOT, 3), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 5), DATA_MAKE_NUM(DATADIR_MARIOMOT, 6), DATA_MAKE_NUM(DATADIR_MARIOMOT, 8), DATA_MAKE_NUM(DATADIR_MARIOMOT, 10), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 9), DATA_MAKE_NUM(DATADIR_MARIOMOT, 26), DATA_MAKE_NUM(DATADIR_MARIOMOT, 23), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 24) }; - -s32 lbl_1_data_7C[] = { DATA_MAKE_NUM(DATADIR_M448, 19), DATA_MAKE_NUM(DATADIR_M448, 20), DATA_MAKE_NUM(DATADIR_M448, 21), - DATA_MAKE_NUM(DATADIR_M448, 24), DATA_MAKE_NUM(DATADIR_M448, 25), DATA_MAKE_NUM(DATADIR_M448, 26), DATA_MAKE_NUM(DATADIR_M448, 27), - DATA_MAKE_NUM(DATADIR_M448, 28), DATA_MAKE_NUM(DATADIR_M448, 19), DATA_MAKE_NUM(DATADIR_M448, 22), DATA_MAKE_NUM(DATADIR_M448, 23) }; - -u8 lbl_1_data_A8[11] = { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1 }; -u8 lbl_1_data_B3[11] = { 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1 }; -s32 lbl_1_data_C0[11] = { 8, 8, 8, 0, 0, 0, 8, 8, 2, 8, 8 }; -s32 lbl_1_data_EC[11] = { 0, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0 }; -s32 lbl_1_data_118[11] = { 8, 8, 8, 0, 2, 0, 0, 0, 0, 8, 8 }; -s32 lbl_1_data_144[11] = { 0 }; // unused -s32 lbl_1_data_170[2] = { 0 }; -s32 lbl_1_data_178[] = { 1, 1, 0, 0, 0, 1, 0, 0 }; -s16 lbl_1_data_198 = -1; -s16 lbl_1_data_19A = -1; -s16 lbl_1_data_19C = -1; -s32 lbl_1_data_1A0 = -1; -s32 lbl_1_data_1A4[2] = { 0 }; -s32 lbl_1_data_1AC[2] = { 0 }; -s32 lbl_1_data_1B4[2] = { 0 }; - -float lbl_1_data_1BC[][4] = { { -90.0f, 2.0f, 525.0f, 180.0f }, { 90.0f, 2.0f, 525.0f, 180.0f } }; - -float lbl_1_data_1DC[] = { 0.0f, 0.0f, 0.0f, 1.0f }; - -void fn_1_A0(void) -{ - Center.x += 10.0 * (((HuPadBtn[0] & 2) != 0) - ((HuPadBtn[0] & 1) != 0)); - Center.z -= 10.0 * (((HuPadBtn[0] & 8) != 0) - ((HuPadBtn[0] & 4) != 0)); - Center.y += 30.0 * ((HuPadTrigL[0] - HuPadTrigR[0]) / 128.0); - CZoom += 25.0 * (((HuPadBtn[0] & 0x400) != 0) - ((HuPadBtn[0] & 0x800) != 0)); - CRot.y += HuPadSubStkX[0] / 16.0; - CRot.x += HuPadSubStkY[0] / -16.0; -} - -void fn_1_38C(void) -{ - lbl_1_bss_64 = GXGetTexBufferSize(640, 480, GX_TF_RGB565, GX_FALSE, 0); - lbl_1_bss_60 = GXGetTexBufferSize(160, 120, GX_TF_RGB565, GX_FALSE, 0); - lbl_1_bss_28 = HuMemDirectMallocNum(HEAP_SYSTEM, lbl_1_bss_64, MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_28, 0, lbl_1_bss_64); - lbl_1_bss_2C = HuMemDirectMallocNum(HEAP_SYSTEM, lbl_1_bss_60, MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_2C, 0, lbl_1_bss_60); -} - -void fn_1_478(void) -{ - if (lbl_1_bss_28) { - HuMemDirectFree(lbl_1_bss_28); - } - lbl_1_bss_28 = NULL; - if (lbl_1_bss_2C) { - HuMemDirectFree(lbl_1_bss_2C); - } - lbl_1_bss_2C = NULL; -} - -void fn_1_4FC(ModelData *model, Mtx matrix) -{ - Mtx spC8; - Mtx sp98; - float temp_f31; - float temp_f29; - float temp_f30; - float temp_f28; - s32 sp10; - void *spC; - s32 var_r29; - s32 var_r20; - void *var_r28; - s32 i; - s32 j; - - sp10 = lbl_1_bss_64; - spC = lbl_1_bss_28; - if (!lbl_1_bss_28) { - return; - } - GXSetScissor(0, 0, 640, 480); - GXSetViewport(0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - C_MTXOrtho(sp98, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f); - GXSetProjection(sp98, GX_ORTHOGRAPHIC); - MTXIdentity(spC8); - GXLoadPosMtxImm(spC8, GX_PNMTX0); - GXSetNumTevStages(1); - GXSetNumTexGens(1); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY); - GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_MODULATE); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_RASC, GX_CC_TEXC, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_RASA); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_CLAMP, GX_AF_NONE); - GXSetBlendMode(GX_BM_BLEND, GX_BL_ONE, GX_BL_ZERO, GX_LO_NOOP); - GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE); - GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_CLR0, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - for (i = 0; i < 0; i++) { - s32 sp84[5] = { 0, 1, 1, 0, 1 }; - float sp70[5] = { 1.0f, 2.0f, 2.5f, 0.0f, 0.0f }; - float sp5C[5] = { 1.0f, 4.0f, 5.0f, 1.0f, 5.0f }; - float sp48[5] = { 2.0f, 2.5f, 0.0f, 1.0f, 1.0f }; - float sp34[5] = { 0.5f, -0.5f, 0.0f, 0.0f, 0.0f }; - - var_r20 = (sp84[i] == 0) ? lbl_1_bss_64 : lbl_1_bss_60; - var_r28 = (sp84[i] == 0) ? lbl_1_bss_28 : lbl_1_bss_2C; - if (sp70[i] > 0.0f) { - GXSetTexCopySrc(0, 0, 640.0f / sp70[i], 480.0f / sp70[i]); - GXSetTexCopyDst( - (sp84[i] == 0 ? 640 : 320) / sp70[i], (sp84[i] == 0 ? 480 : 240) / sp70[i], GX_TF_RGB565, sp84[i] == 0 ? GX_FALSE : GX_TRUE); - GXSetCopyClear(BGColor, 0xFFFFFF); - GXCopyTex(var_r28, GX_FALSE); - DCFlushRange(var_r28, var_r20); - GXPixModeSync(); - } - if (sp48[i] > 0.0f) { - GXInitTexObj(&lbl_1_bss_40, var_r28, 640.0f / sp5C[i], 480.0f / sp5C[i], GX_TF_RGB565, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXLoadTexObj(&lbl_1_bss_40, GX_TEXMAP0); - for (j = 0; j < (i != 4 ? 1 : 4); j++) { - float sp24[4] = { 16.5f, -8.5f, -16.5f, 8.5f }; - float sp14[4] = { -8.5f, -16.5f, 8.5f, 16.5f }; - - temp_f31 = 0.0015625 * (0.5 * sp24[j]); - temp_f29 = 0.0f; - temp_f30 = 0.0015625 * (0.6666666666666666 * sp14[j]); - temp_f28 = 0.0f; - var_r29 = 16 - j * 5; - var_r29 = (i != 4) ? 0xFF : 0xB1; - if (i != 4) { - temp_f31 = 0.0f; - temp_f30 = 0.0f; - } - if (i == 3) { - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_RASC, GX_CC_TEXC, GX_CC_ZERO); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ZERO, GX_LO_NOOP); - } - else if (i == 4) { - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_SUBHALF, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetBlendMode(GX_BM_BLEND, GX_BL_ONE, GX_BL_ONE, GX_LO_NOOP); - } - else { - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_RASC, GX_CC_TEXC, GX_CC_ZERO); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ZERO, GX_LO_NOOP); - } - temp_f31 = 0.0015625 * sp34[i]; - temp_f30 = 0.0015625 * sp34[i]; - temp_f31 = 0.0f; - temp_f30 = 0.0f; - temp_f29 += 0.5 * (1.0f / (640.0f / sp5C[i])); - temp_f28 += 0.5 * (1.0f / (640.0f / sp5C[i])); - temp_f31 = temp_f30 = temp_f29 = temp_f28 = 0.0f; - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(temp_f31 + 1.25 * (0.0f / sp48[i]), temp_f30 + 1.25 * (0.0f / sp48[i]), 0.0f); - GXColor4u8(0xFF, 0xFF, 0xFF, var_r29); - GXPosition2f32(temp_f29 + 0.0, temp_f28 + 0.0); - GXPosition3f32(temp_f31 + 1.25 * (1.0f / sp48[i]), temp_f30 + 1.25 * (0.0f / sp48[i]), 0.0f); - GXColor4u8(0xFF, 0xFF, 0xFF, var_r29); - GXPosition2f32(temp_f29 + 1.25, temp_f28 + 0.0); - GXPosition3f32(temp_f31 + 1.25 * (1.0f / sp48[i]), temp_f30 + 1.25 * (1.0f / sp48[i]), 0.0f); - GXColor4u8(0xFF, 0xFF, 0xFF, var_r29); - GXPosition2f32(temp_f29 + 1.25, temp_f28 + 1.25); - GXPosition3f32(temp_f31 + 1.25 * (0.0f / sp48[i]), temp_f30 + 1.25 * (1.0f / sp48[i]), 0.0f); - GXColor4u8(0xFF, 0xFF, 0xFF, var_r29); - GXPosition2f32(temp_f29 + 0.0, temp_f28 + 1.25); - GXEnd(); - } - } - } -} - -const Vec lbl_1_rodata_100 = { 0.0f, 0.0f, 0.0f }; - -void fn_1_1338(omObjData *arg0) -{ - Mtx sp184; - Vec sp178; - s32 var_r24; - UnkM448Struct_00 *temp_r31; - UnkM448Struct_00 *sp11C; - UnkM448Struct_00 *temp_r23; - UnkM448Struct_00 *temp_r25; - UnkM448Struct_01 *temp_r28; - UnkM448Struct_01 *temp_r27; - float var_f29; - float var_f20; - float sp118; - float sp114; - float sp110; - float sp10C; - float sp108; - float sp104; - float sp100; - float spFC; - float spF8; - float spF4; - float spF0; - s32 var_r17; - s32 spEC; - float spE8; - s32 spE4; - float spE0; - float spDC; - float spD8; - float spD4; - float spD0; - float spCC; - float temp_f24; - float temp_f23; - float temp_f22; - float temp_f21; - float temp_f26; - float temp_f25; - float temp_f27; - float temp_f31; - float temp_f30; - float var_f28; - s16 var_r29; - s32 var_r21; - s32 var_r26; - s32 var_r20; - s32 var_r19; - s32 var_r18; - s32 var_r22; - - temp_r31 = arg0->data; - sp11C = lbl_1_bss_8C[1 - arg0->work[0]]->data; - var_f29 = 0.0f; - var_f20 = 0.0f; - sp118 = 0.0f; - sp114 = 0.0f; - sp110 = 0.0f; - var_r29 = -1; - if (temp_r31->unk20 != 3) { - temp_r31->unk40 = temp_r31->unk48 = 0.0f; - } - temp_r31->unk38++; - switch (temp_r31->unk34) { - case 0: - if (lbl_1_bss_80 == 1001 && lbl_1_bss_84 == 45 && temp_r31->unk08 != -1) { - var_r20 = 8; - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[var_r20], lbl_1_data_EC[var_r20], 45.0f, - (lbl_1_data_A8[var_r20] != 0) ? HU3D_MOTATTR_NONE : HU3D_MOTATTR_LOOP); - temp_r31->unk20 = var_r20; - } - if (lbl_1_bss_80 == 1001 && lbl_1_bss_84 == 210 && temp_r31->unk08 != -1) { - var_r19 = 0; - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[var_r19], lbl_1_data_EC[var_r19], 30.0f, - (lbl_1_data_A8[var_r19] != 0) ? HU3D_MOTATTR_NONE : HU3D_MOTATTR_LOOP); - temp_r31->unk20 = var_r19; - } - if (lbl_1_bss_80 == 1003 && temp_r31->unk08 != -1) { - arg0->rot.y = 0.9 * (arg0->rot.y - (temp_r31->unk00 == 0 ? 90 : -90)) + (temp_r31->unk00 == 0 ? 90 : -90); - } - if (lbl_1_bss_80 == 1005) { - temp_r31->unk34 = (lbl_1_bss_14 == temp_r31->unk00) ? 1 : 3; - } - break; - case 1: - if (temp_r31->unk38 == 1 && temp_r31->unk08 != -1) { - Hu3DMotionNoMotReset(arg0->model[0], "ske_head", (lbl_1_data_178[temp_r31->unk08] != 0) ? 0x100 : 0x80); - } - sp118 = (lbl_1_bss_1C < 90) ? 0 : 0x48; - if (arg0->trans.z < 250.0f) { - temp_r31->unk34 = 2; - lbl_1_bss_0 = 600; - if (lbl_1_data_19A != -1) { - MGSeqKill(lbl_1_data_19A); - } - lbl_1_data_19A = MGSeqCreate(1, lbl_1_bss_0 / 60, -1, -1); - for (var_r17 = 0; var_r17 < 10; var_r17++) { - espDispOn(lbl_1_data_28[var_r17]); - } - if (temp_r31->unk0C == -1) { - var_r24 = 0; - temp_r31->unk18 = temp_r31->unk1C = -1; - for (var_r26 = 0; var_r26 < 20; var_r26++) { - var_r24 += (lbl_1_bss_16C[var_r26].unk18 != 9); - } - if (var_r24 != 0) { - var_r24 = rand8() % var_r24; - for (var_r26 = 0; var_r26 < 20; var_r26++) { - if (lbl_1_bss_16C[var_r26].unk18 != 9) { - if (var_r24 <= 0) { - temp_r31->unk18 = lbl_1_bss_16C[var_r26].unk00; - temp_r31->unk1C = lbl_1_bss_16C[var_r26].unk04; - break; - } - var_r24--; - } - } - } - } - } - break; - case 6: - var_f20 = 4.0f * (0.5f + lbl_1_data_1BC[temp_r31->unk00][0] - arg0->trans.x); - sp118 = 4.0f * -(0.5f + lbl_1_data_1BC[temp_r31->unk00][2] - arg0->trans.z); - if (lbl_1_bss_80 == 1005) { - var_f20 = 0.0f; - } - if (arg0->trans.z >= lbl_1_data_1BC[temp_r31->unk00][2]) { - temp_r31->unk34 = (lbl_1_bss_80 < 1005) ? 0 : ((lbl_1_bss_68 == -1) ? 3 : 7); - temp_r31->unk38 = 0; - if (temp_r31->unk34 == 0) { - arg0->rot.y = 180.0f; - } - } - break; - case 2: - if (lbl_1_bss_14 != temp_r31->unk00) { - OSReport("m448 player turn error!\n"); - } - if (lbl_1_bss_0 > 0 && lbl_1_bss_18 < 18000) { - if (temp_r31->unk0C != -1) { - var_f20 = HuPadStkX[temp_r31->unk0C]; - sp118 = HuPadStkY[temp_r31->unk0C]; - sp114 = (HuPadBtn[temp_r31->unk0C] & 0x100) > 0; - sp110 = (HuPadBtnDown[temp_r31->unk0C] & (temp_r31->unk20 == 3 ? 320 : 256)) > 0; - sp178 = lbl_1_rodata_100; - sp178.x = var_f20; - sp178.z = -sp118; - MTXRotRad(sp184, 'y', MTXDegToRad(CRot.y)); - MTXMultVec(sp184, &sp178, &sp178); - var_f20 = sp178.x; - sp118 = -sp178.z; - } - else { - if (temp_r31->unk20 == 3) { - if (temp_r31->unk44 < 0.0f && temp_r31->unk08 != -1) { - sp110 = sp114 = 1.0f; - } - else { - sp114 = 1.0f; - } - } - if (temp_r31->unk18 != -1 && temp_r31->unk1C != -1) { - temp_f26 = 100.0 + 200.0 * (temp_r31->unk18 - 2.5) - arg0->trans.x; - temp_f25 = 100.0 + 200.0 * (temp_r31->unk1C - 2.0) - arg0->trans.z; - sp10C = sqrtf(temp_f26 * temp_f26 + temp_f25 * temp_f25); - if (temp_r31->unk08 != -1 && temp_r31->unk20 != 3) { - if (sp10C < 60.0f) { - sp110 = sp114 = 1.0f; - } - else { - var_f20 = temp_f26; - sp118 = -temp_f25; - } - } - else if (sp10C < 277.5) { - if (temp_r31->unk20 != 3) { - sp110 = sp114 = 1.0f; - } - var_f20 = (temp_f26 / 37.0) / 0.25; - sp118 = (-temp_f25 / 37.0) / 0.25; - } - else { - var_f20 = temp_f26; - sp118 = -temp_f25; - } - } - } - } - arg0->trans.x = (arg0->trans.x < -450.0f) ? -450.0f : (arg0->trans.x > 450.0f) ? 450.0f : arg0->trans.x; - arg0->trans.z = (arg0->trans.z < -350.0f) ? -350.0f : (arg0->trans.z > 350.0f) ? 350.0f : arg0->trans.z; - if ((lbl_1_bss_0 <= 0 || lbl_1_bss_18 >= 18000) && temp_r31->unk20 == 0) { - temp_r31->unk34 = 5; - temp_r31->unk38 = 0; - lbl_1_bss_1C = 0; - if (lbl_1_bss_18 >= 18000) { - temp_r23 = lbl_1_bss_8C[1 - temp_r31->unk00]->data; - lbl_1_bss_68 = (temp_r31->unk08 == -1) ? temp_r31->unk00 : (temp_r23->unk08 == -1) ? temp_r23->unk00 : 4; - temp_r23->unk34 = 7; - temp_r23->unk38 = 0; - } - } - break; - case 3: - spFC = (arg0->rot.y > 0.0f) ? -180 : 180; - sp104 = lbl_1_bss_8C[1 - temp_r31->unk00]->trans.x; - sp100 = lbl_1_bss_8C[1 - temp_r31->unk00]->trans.z; - sp108 = atan2d(sp104 - arg0->trans.x, sp100 - arg0->trans.z); - arg0->rot.y = 0.3 * (arg0->rot.y + spFC) - spFC; - if (temp_r31->unk08 != -1) { - Hu3DMotionForceSet(arg0->model[0], "ske_head", (lbl_1_data_178[temp_r31->unk08] != 0) ? 0x100 : 0x80, - (lbl_1_data_178[temp_r31->unk08] != 0) ? 180.0f + -sp108 : 180.0f + sp108); - } - break; - case 5: - if (arg0->trans.z >= 400.0f) { - temp_r25 = lbl_1_bss_8C[1 - temp_r31->unk00]->data; - temp_r31->unk34 = 6; - temp_r31->unk38 = 0; - sp118 = -40.0f; - if (lbl_1_bss_68 == -1) { - temp_r25->unk34 = 1; - temp_r25->unk38 = 0; - if (temp_r25->unk08 != -1) { - Hu3DMotionForceSet( - lbl_1_bss_8C[1 - temp_r31->unk00]->model[0], "ske_head", (lbl_1_data_178[temp_r25->unk08] != 0) ? 0x100 : 0x80, 180.0f); - Hu3DMotionNoMotReset( - lbl_1_bss_8C[1 - temp_r31->unk00]->model[0], "ske_head", (lbl_1_data_178[temp_r25->unk08] != 0) ? 0x100 : 0x80); - } - } - lbl_1_bss_14 = 1 - lbl_1_bss_14; - } - else { - spF8 = lbl_1_data_1BC[temp_r31->unk00][0] - arg0->trans.x; - spF4 = 400.0f - arg0->trans.z; - spF0 = atan2d(lbl_1_data_1BC[temp_r31->unk00][0] - arg0->trans.x, 400.0f - arg0->trans.z); - var_f20 = 10.0 * sind(spF0) / 0.25; - sp118 = 10.0 * -cosd(spF0) / 0.25; - if (fabs(var_f20) > fabs(4.0f * (lbl_1_data_1BC[temp_r31->unk00][0] - arg0->trans.x))) { - var_f20 = 4.0f * (lbl_1_data_1BC[temp_r31->unk00][0] - arg0->trans.x); - } - } - break; - case 7: - if (temp_r31->unk38 == 1 && temp_r31->unk08 != -1) { - Hu3DMotionForceSet(arg0->model[0], "ske_head", (lbl_1_data_178[temp_r31->unk08] != 0) ? 0x100 : 0x80, 180.0f); - Hu3DMotionNoMotReset(arg0->model[0], "ske_head", (lbl_1_data_178[temp_r31->unk08] != 0) ? 0x100 : 0x80); - } - arg0->rot.y *= 0.3; - if (lbl_1_bss_80 == 1007 && temp_r31->unk20 == 0) { - temp_r31->unk24 = (lbl_1_bss_68 == temp_r31->unk00) ? 9 : 10; - } - break; - } - switch (temp_r31->unk20) { - case 4: - case 7: - case 8: - if ((temp_r31->unk08 != -1) ? CharModelMotionEndCheck(temp_r31->unk08) : Hu3DMotionEndCheck(arg0->model[0])) { - var_r29 = 0; - } - /* fallthrough */ - case 0: - case 1: - case 2: - temp_f31 = 0.25 * var_f20; - temp_f30 = 0.25 * -sp118; - var_f29 = sqrtf(temp_f31 * temp_f31 + temp_f30 * temp_f30); - if (var_f29 >= 0.5f) { - if (var_f29 < 10.0f) { - temp_r31->unk40 = temp_f31; - temp_r31->unk48 += temp_f30; - } - else { - temp_f31 = temp_f31 / var_f29; - temp_f30 = temp_f30 / var_f29; - var_f29 = 10.0f; - if (temp_r31->unk20 != 3) { - temp_r31->unk40 = temp_f31 * var_f29; - temp_r31->unk48 = temp_f30 * var_f29; - } - else { - temp_r31->unk40 = 0.875 * temp_r31->unk40 + temp_f31 * var_f29 * 0.125; - temp_r31->unk48 = 0.875 * temp_r31->unk48 + temp_f30 * var_f29 * 0.125; - } - } - temp_r31->unk3C = var_f29; - arg0->rot.y = atan2d(temp_r31->unk40, temp_r31->unk48); - if (temp_r31->unk3C >= 8.0f) { - var_r29 = 2; - } - else { - var_r29 = 1; - } - } - else if (temp_r31->unk20 != 7 && temp_r31->unk20 != 4 && temp_r31->unk20 != 8) { - var_r29 = 0; - } - temp_r31->unk44 = 0.0f; - if (sp110) { - temp_r31->unk2C = 0; - temp_r31->unk28 = 1; - temp_r31->unk44 = 26.766666f; - var_r29 = 3; - } - break; - case 3: - if (temp_r31->unk08 != -1) { - temp_f31 = 0.25 * var_f20; - temp_f30 = 0.25 * -sp118; - var_f29 = sqrtf(temp_f31 * temp_f31 + temp_f30 * temp_f30); - if (var_f29 >= 0.5f) { - if (var_f29 < 10.0f) { - temp_r31->unk40 = temp_f31; - temp_r31->unk48 = temp_f30; - } - else { - temp_f31 = temp_f31 / var_f29; - temp_f30 = temp_f30 / var_f29; - var_f29 = 10.0f; - if (temp_r31->unk20 != 3) { - temp_r31->unk40 = temp_f31 * var_f29; - temp_r31->unk48 = temp_f30 * var_f29; - } - else { - temp_r31->unk40 = 0.875 * temp_r31->unk40 + temp_f31 * var_f29 * 0.125; - temp_r31->unk48 = 0.875 * temp_r31->unk48 + temp_f30 * var_f29 * 0.125; - } - } - temp_r31->unk3C = var_f29; - arg0->rot.y = atan2d(temp_r31->unk40, temp_r31->unk48); - } - else { - // Required to match. - 0.875 * temp_r31->unk40; - 0.875 * temp_r31->unk48; - } - } - if (temp_r31->unk28 != 0) { - if (sp114) { - if (++temp_r31->unk28 > 4) { - temp_r31->unk28 = 0; - } - else { - temp_r31->unk44 += 4.866667f; - } - } - else { - temp_r31->unk28 = 0; - } - } - temp_r31->unk44 += -2.4333334f; - if (temp_r31->unk2C != 0) { - temp_r31->unk44 = 0.0f; - temp_r31->unk2C = 1; - var_r29 = 4; - if (temp_r31->unk08 != -1) { - break; - } - temp_r31->unk44 = 9.733334f; - temp_r31->unk44 = 0.0f; - temp_r31->unk2C = 0; - var_r29 = 6; - if (temp_r31->unk34 != 2) { - break; - } - for (spEC = 0; spEC < 20; spEC++) { - temp_r28 = &lbl_1_bss_16C[spEC]; - temp_f24 = 100.0 + 200.0 * (temp_r28->unk00 - 2.5) - arg0->trans.x; - temp_f23 = 100.0 + 200.0 * (temp_r28->unk04 - 2.0) - arg0->trans.z; - spE8 = sqrtf(temp_f24 * temp_f24 + temp_f23 * temp_f23); - if (temp_r28->unk0C == -1 && spE8 <= 100.0) { - temp_r31->unk34 = 4; - temp_r31->unk38 = 0; - temp_r28->unk18 = 8; - temp_r28->unk1C = 0; - temp_r28->unk0C = temp_r31->unk00; - MGSeqParamSet(lbl_1_data_19A, 2, -1); - lbl_1_data_19A = -1; - lbl_1_bss_1C = 0; - } - } - } - else if (sp110) { - temp_r31->unk44 = 0.0f; - temp_r31->unk30 = 0; - var_r29 = 5; - } - break; - case 5: - if ((Hu3DData[arg0->model[0]].unk_0C == -1 && temp_r31->unk08 != -1) ? CharModelMotionEndCheck(temp_r31->unk08) - : Hu3DMotionEndCheck(arg0->model[0])) { - temp_r31->unk44 += -2.4333334f; - } - else { - temp_r31->unk44 = 0.0f; - } - if (temp_r31->unk44 < 0.0f && temp_r31->unk2C != 0) { - if (temp_r31->unk30 != 0) { - temp_r31->unk44 = 0.0f; - temp_r31->unk30 = 0; - var_r29 = 7; - } - else { - temp_r31->unk44 = 9.733334f; - temp_r31->unk2C = 0; - var_r29 = 6; - if (temp_r31->unk0C != -1) { - omVibrate(temp_r31->unk04, 12, 6, 6); - } - if (temp_r31->unk34 == 2) { - for (spE4 = 0; spE4 < 20; spE4++) { - temp_r27 = &lbl_1_bss_16C[spE4]; - temp_f22 = 100.0 + 200.0 * (temp_r27->unk00 - 2.5) - arg0->trans.x; - temp_f21 = 100.0 + 200.0 * (temp_r27->unk04 - 2.0) - arg0->trans.z; - spE0 = sqrtf(temp_f22 * temp_f22 + temp_f21 * temp_f21); - if (temp_r27->unk0C == -1 && spE0 <= 100.0) { - temp_r31->unk34 = 4; - temp_r31->unk38 = 0; - temp_r27->unk18 = 8; - temp_r27->unk1C = 0; - temp_r27->unk0C = temp_r31->unk00; - MGSeqParamSet(lbl_1_data_19A, 2, -1); - lbl_1_data_19A = -1; - lbl_1_bss_1C = 0; - } - } - } - } - } - break; - case 6: - temp_r31->unk44 += -2.4333334f; - if (temp_r31->unk2C != 0) { - if ((temp_r31->unk08 != -1) ? CharModelMotionEndCheck(temp_r31->unk08) : Hu3DMotionEndCheck(arg0->model[0])) { - var_r29 = 7; - } - } - break; - case 9: - case 10: - break; - } - arg0->trans.x += temp_r31->unk40; - if (temp_r31->unk2C == 0) { - arg0->trans.y += temp_r31->unk44; - } - arg0->trans.z += temp_r31->unk48; - for (var_r22 = 1; var_r22 < 2; var_r22++) { - temp_f27 = lbl_1_bss_8C[var_r22]->trans.x - arg0->trans.x; - var_f28 = lbl_1_bss_8C[var_r22]->trans.z - arg0->trans.z; - if (var_r22 != temp_r31->unk00) { - if (temp_f27 == 0.0f && var_f28 == 0.0f) { - var_f28 = -1.0f; - } - spDC = sqrtf(temp_f27 * temp_f27 + var_f28 * var_f28); - if (spDC < 100.0f) { - temp_f27 *= 100.0f / spDC; - var_f28 *= 100.0f / spDC; - arg0->trans.x = lbl_1_bss_8C[var_r22]->trans.x - temp_f27; - arg0->trans.z = lbl_1_bss_8C[var_r22]->trans.z - var_f28; - } - } - } - if (arg0->trans.y < 0.0f) { - arg0->trans.y = (temp_r31->unk34 == 7) ? 2.5f : 0.0f; - temp_r31->unk2C = 1; - } - if (temp_r31->unk24 >= 0) { - var_r29 = temp_r31->unk24; - } - if (var_r29 >= 0 && var_r29 != temp_r31->unk20) { - var_r18 = (temp_r31->unk08 == -1 && (var_r29 == 9 || var_r29 == 10)) ? 0 : var_r29; - if (temp_r31->unk08 != -1) { - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[var_r18], lbl_1_data_EC[var_r18], lbl_1_data_C0[var_r18], - (lbl_1_data_A8[var_r18] != 0) ? HU3D_MOTATTR_NONE : HU3D_MOTATTR_LOOP); - } - else { - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[var_r29], lbl_1_data_EC[var_r29], lbl_1_data_118[var_r29], - (lbl_1_data_B3[var_r29] != 0) ? HU3D_MOTATTR_NONE : HU3D_MOTATTR_LOOP); - if (var_r29 == 3) { - Hu3DMotionShiftSet(arg0->model[0], arg0->motion[5], 15.0f, 33.0f, HU3D_MOTATTR_PAUSE); - } - } - temp_r31->unk20 = var_r29; - } - espBankSet(lbl_1_data_28[temp_r31->unk00 * 5 + 2], lbl_1_data_1A4[temp_r31->unk00] % 10); - espBankSet(lbl_1_data_28[temp_r31->unk00 * 5 + 3], (lbl_1_data_1A4[temp_r31->unk00] / 10) % 10); - lbl_1_data_1B4[temp_r31->unk00] += (lbl_1_data_1B4[temp_r31->unk00] < 256) ? 1 : 0; - if (lbl_1_data_1B4[temp_r31->unk00] <= 15) { - spD8 = 1.0 - lbl_1_data_1B4[temp_r31->unk00] / 15.0; - spD4 = 1.0f; - spD0 = 0.0f; - spCC = 0.0f; - for (var_r21 = 0; var_r21 < 2; var_r21++) { - if (lbl_1_data_1AC[temp_r31->unk00] > 0) { - float sp1B4[21] = { 0.0f, 0.0f, 0.0f, 5.0f, 0.0f, 7.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, - 0.0f, 15.0f }; - - spD8 = (lbl_1_data_1B4[temp_r31->unk00] < 10) ? 1.0 - lbl_1_data_1B4[temp_r31->unk00] / 10.0 : 0.0; - spD4 = 1.0 + (spD8 * 0.5 + spD8 * spD8 * 0.5) * sp1B4[lbl_1_data_1AC[temp_r31->unk00]] / 10.0; - espScaleSet(lbl_1_data_28[(var_r21 == 0 ? 2 : 3) + temp_r31->unk00 * 5], spD4, spD4); - } - else if (lbl_1_data_1AC[temp_r31->unk00] < 0) { - s32 sp168[4] = { 100, 485, 16, -4 }; - - spD0 = spD8 * lbl_1_data_1AC[temp_r31->unk00] * (rand8() / 255.0 - 0.5); - spCC = spD8 * lbl_1_data_1AC[temp_r31->unk00] * (rand8() / 255.0 - 0.5); - espPosSet( - lbl_1_data_28[(var_r21 == 0 ? 2 : 3) + temp_r31->unk00 * 5], (&sp168[var_r21])[2] + sp168[temp_r31->unk00] + spD0, 72.0f + spCC); - } - } - } -} - -s32 lbl_1_data_25C = -1; -float lbl_1_data_260 = 2775.0f; -float lbl_1_data_264 = 314.0f; -float lbl_1_data_268 = -100.0f; -float lbl_1_data_26C = -38.75f; - -void fn_1_4310(omObjData *arg0) -{ - UnkM448Struct_00 *spC8[2]; - float spB0; - float spAC; - float temp_f19; - float var_f18; - float spA8; - float spA4; - float spA0; - float sp9C; - float sp98; - float sp94; - float sp90; - float sp8C; - float sp88; - float sp84; - float sp80; - float sp7C; - float sp78; - float sp74; - float sp70; - float sp6C; - ModelData *temp_r23; - ModelData *temp_r22; - ModelData *temp_r26; - ModelData *temp_r29; - UnkM448Struct_01 *temp_r31; - float temp_f21; - float temp_f20; - float temp_f26; - float temp_f30; - float temp_f29; - float var_f28; - float var_f27; - float var_f22; - float var_f23; - float var_f31; - s32 temp_r21; - s32 var_r25; - s32 var_r20; - s32 var_r19; - s32 var_r24; - s32 i; - - for (i = 0; i < 2; i++) { - spC8[i] = lbl_1_bss_8C[i]->data; - } - lbl_1_bss_4++; - lbl_1_bss_1C++; - if (lbl_1_bss_80 == 1005) { - lbl_1_bss_18++; - if (lbl_1_bss_18 == 16200) { - lbl_1_data_19C = MGSeqCreate(1, (18060 - lbl_1_bss_18) / 60, -1, -1); - MGSeqPosSet(lbl_1_data_19C, 288.0f, 400.0f); - } - if (lbl_1_data_19C != -1) { - MGSeqParamSet(lbl_1_data_19C, 1, (18060 - lbl_1_bss_18) / 60); - } - } - lbl_1_data_1DC[0] = lbl_1_data_1DC[1] = lbl_1_data_1DC[2] = 0.0f; - if (lbl_1_bss_80 == 1004 && lbl_1_bss_84 == 0) { - lbl_1_bss_84++; - lbl_1_bss_78 = 1; - lbl_1_bss_74 = 0; - for (i = 0; i < 20; i++) { - lbl_1_bss_16C[i].unk18 = 2; - lbl_1_bss_16C[i].unk1C = 0; - lbl_1_bss_16C[i].unk08 = rand8() % 16; - lbl_1_bss_16C[i].unk10 = -40.0f; - } - } - switch (lbl_1_bss_78) { - case 1: - lbl_1_bss_74++; - if (lbl_1_bss_74 == 1) { - spC8[0]->unk34 = spC8[1]->unk34 = 6; - spC8[0]->unk38 = spC8[1]->unk38 = 0; - } - var_r20 = 0; - for (i = 0; i < 20; i++) { - var_r20 += (lbl_1_bss_16C[i].unk10 == 0.0f); - } - if (var_r20 >= 20) { - lbl_1_bss_78 = 2; - lbl_1_bss_74 = 0; - } - break; - case 2: - lbl_1_bss_74++; - if (lbl_1_bss_74 >= 30) { - lbl_1_bss_78 = 0; - lbl_1_bss_74 = 0; - for (i = 0; i < 20; i++) { - lbl_1_bss_16C[i].unk18 = 3; - lbl_1_bss_16C[i].unk1C = 0; - } - if (lbl_1_bss_9C[8].unk00 < 3) { - lbl_1_bss_9C[8].unk04[lbl_1_bss_9C[8].unk00] = 0.0f; - lbl_1_bss_9C[8].unk00++; - } - } - break; - case 3: - lbl_1_bss_74++; - if (lbl_1_bss_74 == 1) { - s32 var_r27 = 0; - s32 sp170[20] = { 0 }; - - for (var_r27 = 0; var_r27 < 20; var_r27++) { - temp_r23 = &Hu3DData[arg0->model[var_r27 + 7]]; - temp_r22 = &Hu3DData[arg0->model[var_r27 + 27]]; - do { - do { - var_r25 = rand8(); - } while (var_r25 >= 240); - } while (sp170[var_r25 % 20] != 0); - sp170[var_r25 % 20] = 1; - lbl_1_bss_16C[var_r27].unk00 = (var_r25 % 20) % 5; - lbl_1_bss_16C[var_r27].unk04 = ((var_r25 % 20) / 5) % 4; - temp_r23->pos.x = temp_r22->pos.x = 100.0 + 200.0 * (lbl_1_bss_16C[var_r27].unk00 - 2.5); - temp_r23->pos.z = temp_r22->pos.z = 100.0 + 200.0 * (lbl_1_bss_16C[var_r27].unk04 - 2.0); - } - } - if (lbl_1_bss_74 >= 10) { - lbl_1_bss_78 = 4; - lbl_1_bss_74 = 0; - lbl_1_data_170[0] = 1; - } - break; - case 4: - if (lbl_1_bss_74 == 0 && lbl_1_bss_9C[0].unk00 < 3) { - lbl_1_bss_9C[0].unk04[lbl_1_bss_9C[0].unk00] = 0.0f; - lbl_1_bss_9C[0].unk00++; - } - lbl_1_bss_74++; - if (lbl_1_bss_74 % 4 == 1) { - spB0 = 10000.0f; - var_r24 = -1; - var_r19 = 0; - for (i = 0; i < 20; i++) { - var_r19 = (lbl_1_bss_16C[i].unk18 == 6 || !(lbl_1_bss_16C[i].unk00 == 0 && lbl_1_bss_16C[i].unk04 == 0)) ? 1 : var_r19; - if (lbl_1_bss_16C[i].unk18 != 6 && (lbl_1_bss_16C[i].unk00 != 0 || lbl_1_bss_16C[i].unk04 != 0)) { - temp_f20 = lbl_1_bss_16C[i].unk00 * lbl_1_bss_16C[i].unk00 + lbl_1_bss_16C[i].unk04 * lbl_1_bss_16C[i].unk04; - spAC = sqrtf(temp_f20) + (rand8() / 256.0) * 0.01; - if (spB0 > spAC) { - var_r24 = i; - spB0 = spAC; - } - } - } - if (var_r24 != -1) { - lbl_1_bss_16C[var_r24].unk18 = 6; - lbl_1_bss_16C[var_r24].unk1C = 0; - lbl_1_data_170[0]++; - lbl_1_bss_16C[var_r24].unk08 = lbl_1_data_170[0] - 1; - } - if (var_r19 == 0) { - lbl_1_bss_78 = 5; - lbl_1_bss_74 = 0; - } - } - break; - case 5: - lbl_1_bss_74++; - if (lbl_1_bss_74 == 5 && lbl_1_bss_9C[1].unk00 < 3) { - lbl_1_bss_9C[1].unk04[lbl_1_bss_9C[1].unk00] = 0.0f; - lbl_1_bss_9C[1].unk00++; - } - if (lbl_1_bss_74 == 5) { - s32 sp120[20] = { 0 }; - - for (i = 0; i < 20; i++) { - lbl_1_bss_16C[i].unk18 = 7; - lbl_1_bss_16C[i].unk1C = (19 - lbl_1_bss_16C[i].unk08) * 3; - do { - temp_r21 = rand8() % 20; - } while (sp120[temp_r21] != 0); - sp120[temp_r21] = 1; - lbl_1_bss_16C[i].unk00 = temp_r21 % 5; - lbl_1_bss_16C[i].unk04 = temp_r21 / 5; - } - } - if (lbl_1_bss_74 == 115 && lbl_1_data_1A0 != -1) { - HuAudSeqFadeOut(lbl_1_data_1A0, 1000); - lbl_1_data_1A0 = -1; - } - if (lbl_1_bss_74 == 145) { - lbl_1_bss_84++; - } - break; - } - for (i = 0; i < 20; i++) { - temp_r29 = &Hu3DData[arg0->model[i + 7]]; - temp_r26 = &Hu3DData[arg0->model[i + 27]]; - var_f18 = temp_r29->pos.x; - var_f31 = temp_r29->pos.y; - spA8 = temp_r29->pos.z; - var_f23 = temp_r29->rot.x; - spA4 = temp_r29->rot.y; - temp_r31 = &lbl_1_bss_16C[i]; - switch (lbl_1_bss_16C[i].unk18) { - case 2: - temp_r31->unk1C++; - temp_r31->unk08 -= (temp_r31->unk08 > 0); - var_f23 = 180.0f; - if (temp_r31->unk08 == 0) { - if (var_f31 > 0.0f && var_f31 + temp_r31->unk10 <= 0.0f && lbl_1_bss_9C[7].unk00 < 3) { - lbl_1_bss_9C[7].unk04[lbl_1_bss_9C[7].unk00] = 0.0f; - lbl_1_bss_9C[7].unk00++; - } - var_f31 += temp_r31->unk10; - } - if (var_f31 < 150.0 * sind(ABS(var_f23))) { - temp_r31->unk10 = 0.0f; - var_f31 = 150.0 * sind(ABS(var_f23)); - } - break; - case 3: - temp_r31->unk1C++; - var_f31 = 2.0 * (temp_r31->unk1C / 35.0) - 1.0; - var_f31 = 1.0f - var_f31 * var_f31; - var_f31 *= 200.0f; - var_f23 = 180.0 + 360.0 * (temp_r31->unk1C / 35.0) * 0.5; - if (temp_r31->unk1C >= 35) { - var_f31 = 0.0f; - temp_r31->unk18 = 4; - temp_r31->unk1C = 0; - } - break; - case 4: - temp_r31->unk1C++; - var_f23 = 0.0f; - if (lbl_1_bss_16C->unk18 == 4) { - temp_r31->unk1C = lbl_1_bss_16C->unk1C; - } - if (temp_r31->unk1C > 120) { - temp_r31->unk18++; - temp_r31->unk1C = 0; - } - break; - case 5: - if (i == 0 && temp_r31->unk1C == 0 && lbl_1_bss_9C[9].unk00 < 3) { - lbl_1_bss_9C[9].unk04[lbl_1_bss_9C[9].unk00] = 0.0f; - lbl_1_bss_9C[9].unk00++; - } - temp_r31->unk1C++; - var_f31 = 2.0 * (temp_r31->unk1C / 45.0) - 1.0; - var_f31 = 1.0f - var_f31 * var_f31; - var_f31 *= 200.0f; - var_f23 = 360.0 * (temp_r31->unk1C / 45.0) * 1.5; - if (temp_r31->unk1C >= 45) { - var_f31 = 0.0f; - lbl_1_bss_78 = 3; - lbl_1_bss_74 = 0; - temp_r31->unk18 = 0; - temp_r31->unk1C = 0; - } - break; - case 6: - temp_r31->unk1C++; - spA0 = 20.0f; - temp_f30 = 100.0 + 200.0 * (temp_r31->unk00 - 2.5); - temp_f29 = 100.0 + 200.0 * (temp_r31->unk04 - 2.0); - var_f28 = -400.0f; - var_f27 = -300.0f; - sp9C = sqrtf((temp_f30 - var_f28) * (temp_f30 - var_f28) + (temp_f29 - var_f27) * (temp_f29 - var_f27)); - temp_f19 = sp9C / spA0; - temp_f26 = temp_r31->unk1C * spA0; - temp_f26 = (temp_f26 >= sp9C) ? 1.0f : (temp_f26 / sp9C); - temp_f26 = 0.75 * temp_f26 + 0.25 * (1.0f - (1.0f - temp_f26) * (1.0f - temp_f26)); - sp98 = 1.0f - temp_f26; - var_f18 = temp_f30 * sp98 + var_f28 * temp_f26; - spA8 = temp_f29 * sp98 + var_f27 * temp_f26; - var_f31 = (temp_r31->unk08 * 10 < temp_r31->unk1C * spA0) ? temp_r31->unk08 * 10 : temp_r31->unk1C * spA0; - temp_f19 = 4.0f * (temp_r31->unk1C / temp_f19) - 2.0f; - temp_f19 = 4.0f - temp_f19 * temp_f19; - var_f31 = temp_f19 / 4.0 * temp_f26 * 0.5 * (temp_r31->unk08 * 10 + 100) + temp_f26 * temp_r31->unk08 * 10.0f; - if (temp_f26 >= 1.0f) { - temp_r31->unk18 = 0; - temp_r31->unk1C = 0; - temp_r31->unk00 = 0; - temp_r31->unk04 = 0; - var_f31 = temp_r31->unk08 * 10; - } - break; - case 7: - temp_r31->unk1C++; - if (temp_r31->unk1C == 60 && i != 0) { - lbl_1_data_170[0]--; - } - if (temp_r31->unk1C >= 60) { - sp94 = 100.0 + 200.0 * (temp_r31->unk00 - 2.5); - sp90 = 100.0 + 200.0 * (temp_r31->unk04 - 2.0); - sp8C = -400.0f; - sp88 = -300.0f; - temp_f21 = (temp_r31->unk1C - 60) / 50.0; - // Cast required to match. - temp_f21 = (double)(1.0f - (1.0f - temp_f21) * (1.0f - temp_f21)); - sp84 = 1.0f - temp_f21; - var_f18 = sp8C * sp84 + sp94 * temp_f21; - spA8 = sp88 * sp84 + sp90 * temp_f21; - var_f31 = temp_r31->unk08 * 10 * sp84; - if (temp_f21 >= 1.0f) { - temp_r31->unk18 = 0; - temp_r31->unk1C = 0; - temp_r31->unk08 = 0; - lbl_1_data_170[0] = 0; - } - } - break; - case 8: - if (temp_r31->unk1C == 0) { - if (lbl_1_bss_9C[(temp_r31->unk20 > 0) ? 3 : 4].unk00 < 3) { - lbl_1_bss_9C[(temp_r31->unk20 > 0) ? 3 : 4].unk04[lbl_1_bss_9C[(temp_r31->unk20 > 0) ? 3 : 4].unk00] = 0.0f; - lbl_1_bss_9C[(temp_r31->unk20 > 0) ? 3 : 4].unk00++; - } - } - temp_r31->unk1C++; - var_f31 = 2.0 * (temp_r31->unk1C / 75.0) - 1.0; - var_f31 = 1.0f - var_f31 * var_f31; - var_f31 *= 400.0f; - var_f23 = 360.0 * (temp_r31->unk1C / 75.0) * 3.0; - if (temp_r31->unk1C == 1) { - Hu3DParticleCntSet(lbl_1_bss_88->model[5], 0); - } - sp80 = 100.0 + 200.0 * (temp_r31->unk00 - 2.5); - sp7C = 100.0 + 200.0 * (temp_r31->unk04 - 2.0); - sp78 = (temp_r31->unk0C == 0) ? -640.0 : 640.0; - sp74 = (temp_r31->unk0C == 0) ? 0.0 : 0.0; - sp70 = temp_r31->unk1C / 75.0; - sp6C = 1.0f - sp70; - var_f31 += sp70 * (lbl_1_data_170[temp_r31->unk0C] * 10 + 33); - var_f18 = sp80 * sp6C + sp78 * sp70; - spA8 = sp7C * sp6C + sp74 * sp70; - lbl_1_data_1DC[0] = var_f18; - lbl_1_data_1DC[1] = var_f31; - lbl_1_data_1DC[2] = spA8; - if (temp_r31->unk1C >= 75) { - var_f31 = lbl_1_data_170[temp_r31->unk0C] * 10 + 33; - lbl_1_data_170[temp_r31->unk0C]++; - lbl_1_data_1A4[temp_r31->unk0C] += temp_r31->unk20; - lbl_1_data_1AC[temp_r31->unk0C] = temp_r31->unk20; - lbl_1_data_1B4[temp_r31->unk0C] = 0; - lbl_1_data_1A4[temp_r31->unk0C] = (lbl_1_data_1A4[temp_r31->unk0C] < 0) ? 0 : lbl_1_data_1A4[temp_r31->unk0C]; - spC8[temp_r31->unk0C]->unk34 = 5; - spC8[temp_r31->unk0C]->unk38 = 0; - temp_r31->unk18 = 9; - temp_r31->unk1C = 0; - if (lbl_1_bss_9C[(temp_r31->unk20) > 0 ? 5 : 6].unk00 < 3) { - lbl_1_bss_9C[(temp_r31->unk20) > 0 ? 5 : 6].unk04[lbl_1_bss_9C[(temp_r31->unk20) > 0 ? 5 : 6].unk00] = 0.0f; - lbl_1_bss_9C[(temp_r31->unk20) > 0 ? 5 : 6].unk00++; - } - if (lbl_1_data_1A4[temp_r31->unk0C] >= 50 || lbl_1_data_170[0] + lbl_1_data_170[1] >= 20) { - lbl_1_bss_68 = (lbl_1_data_1A4[temp_r31->unk0C] >= 50) ? temp_r31->unk0C - : (lbl_1_data_1A4[0] > lbl_1_data_1A4[1]) ? 0 - : (lbl_1_data_1A4[0] < lbl_1_data_1A4[1]) ? 1 - : 4; - spC8[1 - temp_r31->unk0C]->unk34 = 7; - spC8[1 - temp_r31->unk0C]->unk38 = 0; - } - } - break; - } - temp_r29->pos.x = temp_r26->pos.x = var_f18; - temp_r29->pos.y = var_f31; - temp_r29->pos.z = temp_r26->pos.z = spA8; - temp_r29->rot.x = temp_r26->rot.x = var_f23; - temp_r29->rot.y = spA4; - if (temp_r29->pos.y <= 0.0f || temp_r31->unk18 == 9) { - Hu3DModelAttrSet(arg0->model[i + 7], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(arg0->model[i + 27], HU3D_ATTR_DISPOFF); - temp_r26->pos.y = (temp_r31->unk18 != 9) ? 0.0f : temp_r29->pos.y; - } - else { - Hu3DModelAttrReset(arg0->model[i + 7], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[i + 27], HU3D_ATTR_DISPOFF); - } - } - { - s32 var_r18 = lbl_1_data_25C; - float spD0[][4] = { { 2500.0f, 0.0f, -100.0f, -40.0f }, { 2775.0f, 314.0f, -100.0f, -38.75f }, { 875.0f, 116.0f, -100.0f, -15.0f }, - { 1625.0f, -416.0f, -340.0f, -30.25f }, { 875.0f, 116.0f, -100.0f, -30.0f } }; - - if (lbl_1_data_25C == -1) { - lbl_1_data_25C = 1; - lbl_1_bss_34 = 0; - lbl_1_bss_38 = 0.0f; - } - if (lbl_1_bss_80 == 1003 && lbl_1_bss_84 == 1) { - lbl_1_data_25C = 2; - lbl_1_bss_34 = 0; - lbl_1_bss_38 = 0.0f; - } - if (lbl_1_bss_80 == 1004 && lbl_1_data_25C != 0) { - lbl_1_data_25C = 0; - lbl_1_bss_34 = 1; - lbl_1_bss_38 = 0.0f; - } - if (lbl_1_bss_80 == 1007 && lbl_1_bss_84 == 1) { - lbl_1_data_25C = 3; - lbl_1_bss_34 = 0; - lbl_1_bss_38 = 0.0f; - } - if (var_r18 != lbl_1_data_25C && var_r18 != -1) { - lbl_1_data_260 = CZoom; - lbl_1_data_264 = Center.y; - lbl_1_data_268 = Center.z; - lbl_1_data_26C = CRot.x; - } - if (lbl_1_bss_38 < 1.0f) { - if (lbl_1_bss_34 == 0) { - lbl_1_bss_38 = 1.0 - 0.95 * (1.0f - lbl_1_bss_38); - var_f22 = lbl_1_bss_38; - } - else { - lbl_1_bss_38 += 0.011111111111111112; - lbl_1_bss_38 = (lbl_1_bss_38 > 1.0f) ? 1.0f : lbl_1_bss_38; - var_f22 = 0.5 + -0.5 * cosd(180.0f * lbl_1_bss_38); - } - lbl_1_bss_38 = (lbl_1_bss_38 > 1.0f) ? 1.0f : lbl_1_bss_38; - CZoom = var_f22 * spD0[lbl_1_data_25C][0] + lbl_1_data_260 * (1.0f - var_f22); - Center.y = var_f22 * spD0[lbl_1_data_25C][1] + lbl_1_data_264 * (1.0f - var_f22); - Center.z = var_f22 * spD0[lbl_1_data_25C][2] + lbl_1_data_268 * (1.0f - var_f22); - CRot.x = var_f22 * spD0[lbl_1_data_25C][3] + lbl_1_data_26C * (1.0f - var_f22); - } - } -} - -const s32 lbl_1_rodata_408[] = { MAKE_MESSID(43, 3), MAKE_MESSID(43, 4), MAKE_MESSID(43, 5), MAKE_MESSID(43, 6), MAKE_MESSID(43, 7), - MAKE_MESSID(43, 8), MAKE_MESSID(43, 9), MAKE_MESSID(43, 10), 0 }; - -void fn_1_6DAC(void) -{ - UnkM448Struct_00 *sp8[2]; - s16 var_r29; - s16 temp_r31; - u32 temp_r26; - s32 i; - - var_r29 = 0; - for (i = 0; i < 2; i++) { - sp8[i] = lbl_1_bss_8C[i]->data; - } - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, 60); - HuWinComKeyReset(); - temp_r31 = HuWinExCreateStyled(-10000.0f, 60.0f, 280, 120, -1, 1); - HuWinExAnimIn(temp_r31); - HuWinBGTPLvlSet(temp_r31, 0.8f); - HuWinMesSpeedSet(temp_r31, 1); - HuWinDisablePlayerSet( - temp_r31, 0xF & ((sp8[0]->unk0C != -1) ? ~(1 << sp8[0]->unk0C) : 0xF) & ((sp8[1]->unk0C != -1) ? ~(1 << sp8[1]->unk0C) : 0xF)); - HuWinMesColSet(temp_r31, 0); - HuWinMesSet(temp_r31, MAKE_MESSID(43, 1)); - if (((sp8[0]->unk0C == -1) || (sp8[0]->unk08 == -1)) && ((sp8[1]->unk0C == -1) || (sp8[1]->unk08 == -1))) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, 60); - } - HuWinMesWait(temp_r31); - if (sp8[0]->unk0C != -1 || sp8[1]->unk0C != -1) { - HuWinMesColSet(temp_r31, 0); - HuWinMesSet(temp_r31, MAKE_MESSID(43, 2)); - if (sp8[0]->unk0C == -1 && sp8[1]->unk0C == -1) { - HuPrcSleep(60); - var_r29 = 1; - } - else { - var_r29 = HuWinChoiceGet(temp_r31, 0); - } - } - else { - var_r29 = 1; - } - if (var_r29 == 0) { - i = 0; - while ((temp_r26 = lbl_1_rodata_408[i++]) != 0) { - HuWinMesColSet(temp_r31, 0); - HuWinMesSet(temp_r31, temp_r26); - if ((sp8[0]->unk0C == -1 || sp8[0]->unk08 == -1) && (sp8[1]->unk0C == -1 || sp8[1]->unk08 == -1)) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, 60); - } - HuWinMesWait(temp_r31); - } - } - else { - HuWinMesColSet(temp_r31, 0); - HuWinMesSet(temp_r31, MAKE_MESSID(43, 10)); - if ((sp8[0]->unk0C == -1 || sp8[0]->unk08 == -1) && (sp8[1]->unk0C == -1 || sp8[1]->unk08 == -1)) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, 60); - } - HuWinMesWait(temp_r31); - } - HuWinExAnimOut(temp_r31); - HuWinExCleanup(temp_r31); - lbl_1_bss_10 = 0; - HuPrcEnd(); -} - -void fn_1_7148(omObjData *arg0) -{ - float temp_f31; - UnkM448Struct_00 *spC[2]; - s32 sp8; - s32 i; - - for (i = 0; i < 13; i++) { - s32 sp14[] = { 0x0000078E, 0x0000078F, 0x00000790, 0x00000791, 0x00000792, 0x00000793, 0x00000794, 0x00000795, 0x00000796, 0x00000797, - 0x00000798, 0x00000799, 0x0000079A }; - - if (lbl_1_bss_9C[i].unk00 > 3) { - lbl_1_bss_9C[i].unk00 = 3; - } - if (lbl_1_bss_9C[i].unk00 > 0) { - sp8 = HuAudFXPlay(sp14[i]); - lbl_1_bss_9C[i].unk00--; - } - } - for (i = 0; i < 2; i++) { - spC[i] = lbl_1_bss_8C[i]->data; - } - if (omSysExitReq != 0 && WipeStatGet() == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - arg0->func = fn_1_9B00; - } - switch (lbl_1_bss_80) { - case 1000: - if (WipeStatGet() == 0) { - lbl_1_bss_80++; - lbl_1_bss_84 = 0; - } - break; - case 1001: - lbl_1_bss_84++; - if (lbl_1_bss_84 == 1) { - Hu3DModelAttrReset(lbl_1_bss_88->model[1], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(lbl_1_bss_88->model[2], HU3D_MOTATTR_PAUSE); - } - if (lbl_1_bss_84 > 0 && lbl_1_bss_84 <= 40 && lbl_1_bss_84 % 10 == 0 && lbl_1_bss_9C[12].unk00 < 3) { - lbl_1_bss_9C[12].unk04[lbl_1_bss_9C[12].unk00] = 0.0f; - lbl_1_bss_9C[12].unk00++; - } - if (lbl_1_bss_84 == 50 && lbl_1_bss_9C[10].unk00 < 3) { - lbl_1_bss_9C[10].unk04[lbl_1_bss_9C[10].unk00] = 0.0f; - lbl_1_bss_9C[10].unk00++; - } - if (lbl_1_bss_84 == 200 && lbl_1_bss_9C[11].unk00 < 3) { - lbl_1_bss_9C[11].unk04[lbl_1_bss_9C[11].unk00] = 0.0f; - lbl_1_bss_9C[11].unk00++; - } - if (lbl_1_bss_84 >= 210) { - temp_f31 = (lbl_1_bss_84 - 210) / 30.0; - Hu3DModelAmbSet(lbl_1_bss_8C[0]->model[0], temp_f31, temp_f31, temp_f31); - Hu3DModelAmbSet(lbl_1_bss_8C[1]->model[0], temp_f31, temp_f31, temp_f31); - } - if (lbl_1_bss_84 > 240) { - lbl_1_bss_80++; - lbl_1_bss_84 = 0; - Hu3DModelAttrSet(lbl_1_bss_88->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_88->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_88->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAmbSet(lbl_1_bss_8C[0]->model[0], 1.0f, 1.0f, 1.0f); - Hu3DModelAmbSet(lbl_1_bss_8C[1]->model[0], 1.0f, 1.0f, 1.0f); - } - break; - case 1002: - lbl_1_bss_84++; - if (lbl_1_bss_84 > 60) { - lbl_1_bss_80++; - if (spC[0]->unk08 != -1 && spC[1]->unk08 != -1) { - lbl_1_bss_80++; - } - lbl_1_bss_7C = 0; - lbl_1_bss_84 = 0; - if (lbl_1_data_1A0 == -1) { - lbl_1_data_1A0 = HuAudSeqPlay(0x3D); - } - } - break; - case 1003: - lbl_1_bss_84++; - if (lbl_1_bss_84 == 1) { - HuPrcChildCreate(fn_1_6DAC, 100, 0x2000, 0, HuPrcCurrentGet()); - lbl_1_bss_10 = 1; - } - else if (lbl_1_bss_10 == 0) { - lbl_1_bss_80++; - lbl_1_bss_84 = 0; - } - break; - case 1004: - lbl_1_bss_84 += (lbl_1_bss_84 >= 2); - if (lbl_1_bss_84 == 5 && lbl_1_data_198 < 0) { - lbl_1_data_198 = MGSeqCreate(3, 0); - } - if (lbl_1_bss_84 >= 5 && lbl_1_data_1A0 == -1 && (MGSeqStatGet(lbl_1_data_198) & 0x10)) { - lbl_1_data_1A0 = HuAudSeqPlay(0x3E); - } - if (lbl_1_bss_84 >= 5 && MGSeqStatGet(lbl_1_data_198) == 0 && lbl_1_data_198 >= 0) { - lbl_1_bss_80++; - lbl_1_data_198 = -1; - lbl_1_bss_84 = 0; - } - break; - case 1005: - lbl_1_bss_84++; - if (lbl_1_data_19A != -1) { - MGSeqParamSet(lbl_1_data_19A, 1, ((lbl_1_bss_0 < 0 ? 0 : lbl_1_bss_0) + REFRESH_RATE - 1) / REFRESH_RATE); - lbl_1_bss_0--; - if (lbl_1_bss_0 <= -30) { - MGSeqParamSet(lbl_1_data_19A, 2, -1); - lbl_1_data_19A = -1; - } - } - if (lbl_1_bss_68 != -1) { - lbl_1_bss_80 = 1006; - lbl_1_bss_84 = 0; - } - break; - case 1006: - lbl_1_bss_84++; - if (lbl_1_data_198 < 0 && lbl_1_bss_84 == 1) { - if (lbl_1_data_19A != -1) { - MGSeqParamSet(lbl_1_data_19A, 2, -1); - } - if (lbl_1_data_19C != -1) { - MGSeqParamSet(lbl_1_data_19C, 2, -1); - } - lbl_1_data_198 = MGSeqCreate(3, 1); - if (lbl_1_data_1A0 == -1) { - break; - } - HuAudSeqFadeOut(lbl_1_data_1A0, 100); - lbl_1_data_1A0 = -1; - } - else if (MGSeqStatGet(lbl_1_data_198) == 0) { - lbl_1_bss_80++; - lbl_1_bss_84 = 0; - } - break; - case 1007: - lbl_1_bss_84++; - if (lbl_1_bss_84 == 1) { - if (lbl_1_bss_68 != 4) { - if (spC[lbl_1_bss_68]->unk08 != -1) { - HuAudSStreamPlay(1); - } - else { - HuAudSStreamPlay(3); - } - GWPlayerCoinWinSet(spC[lbl_1_bss_68]->unk04, 10); - } - else if (lbl_1_bss_68 == 4) { - HuAudSStreamPlay(4); - } - } - if (210.0f < lbl_1_bss_84) { - lbl_1_data_198 = -1; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - arg0->func = fn_1_9B00; - } - break; - } -} - -void fn_1_7DC4(ModelData *model, ParticleData *particle, Mtx matrix) -{ - HsfanimStruct01 *var_r31; - s16 i; - - if (particle->unk_34 == 0) { - var_r31 = particle->unk_48; - for (i = 0; i < particle->unk_30; i++, var_r31++) { - var_r31->unk00 = i * 2 + 100; - var_r31->unk40.a = 0; - var_r31->unk2C = 0.0f; - } - } - var_r31 = particle->unk_48; - for (i = 0; i < particle->unk_30; i++, var_r31++) { - if (!var_r31->unk2C) { - break; - } - } - var_r31 = particle->unk_48; - for (i = 0; i < particle->unk_30; i++, var_r31++) { - if (var_r31->unk00 == 100) { - var_r31->unk00 = (lbl_1_data_1DC[0] == 0.0f && lbl_1_data_1DC[1] == 0.0f && lbl_1_data_1DC[2] == 0.0f) ? 0 : var_r31->unk00; - var_r31->unk34.x = lbl_1_data_1DC[0] + 75.0 * (rand8() / 255.0); - var_r31->unk34.y = lbl_1_data_1DC[1] + 75.0 * (rand8() / 255.0); - var_r31->unk34.z = lbl_1_data_1DC[2] + 75.0 * (rand8() / 255.0); - var_r31->unk40.r = 0xFF; - var_r31->unk40.g = 0xF0; - var_r31->unk40.b = 0xA0; - var_r31->unk40.a = 0xFF; - var_r31->unk30 = 0.785f; - var_r31->unk2C = 40.0f; - } - if (var_r31->unk00 <= 100) { - var_r31->unk34.y -= 3.0f; - var_r31->unk2C = ((var_r31->unk00 > 50) ? (var_r31->unk00 - 50) / 50.0 : 0.0) * (rand8() * 80 / 255.0); - } - if (var_r31->unk00 == 0) { - var_r31->unk2C = 0.0f; - } - var_r31->unk00 -= (var_r31->unk00 > 0); - } -} - -void fn_1_81C0(omObjData *arg0) -{ - UnkM448Struct_00 *temp_r26; - UnkM448Struct_00 *temp_r23; - s32 temp_r29; - s32 temp_r25; - s32 i, j, k; - s32 var_r27; - - memset(lbl_1_bss_16C, 0, sizeof(lbl_1_bss_16C)); - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M448, 0)); - Hu3DModelShadowMapSet(arg0->model[0]); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(arg0->model[0], 0); - Hu3DMotionTimeSet(arg0->model[0], 20.0f); - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); - arg0->model[6] = Hu3DHookFuncCreate(fn_1_4FC); - Hu3DModelLayerSet(arg0->model[6], 6); - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M448, 1)); - Hu3DModelShadowMapSet(arg0->model[1]); - Hu3DModelLayerSet(arg0->model[1], 0); - Hu3DModelPosSet(arg0->model[1], 0.0f, 0.0f, 0.0f); - Hu3DModelAttrSet(arg0->model[1], HU3D_MOTATTR_PAUSE); - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M448, 2)); - Hu3DModelShadowMapSet(arg0->model[2]); - Hu3DModelLayerSet(arg0->model[2], 0); - Hu3DModelPosSet(arg0->model[2], 0.0f, 0.0f, 0.0f); - Hu3DModelAttrSet(arg0->model[2], HU3D_MOTATTR_PAUSE); - { - s32 sp9C[] = { DATA_MAKE_NUM(DATADIR_M448, 9), DATA_MAKE_NUM(DATADIR_M448, 10), DATA_MAKE_NUM(DATADIR_M448, 11), - DATA_MAKE_NUM(DATADIR_M448, 12), DATA_MAKE_NUM(DATADIR_M448, 13), DATA_MAKE_NUM(DATADIR_M448, 14), DATA_MAKE_NUM(DATADIR_M448, 16), - DATA_MAKE_NUM(DATADIR_M448, 15), DATA_MAKE_NUM(DATADIR_M448, 17) }; - - for (i = 0; i < 2; i++) { - temp_r26 = lbl_1_bss_8C[i]->data; - arg0->model[i + 3] = Hu3DModelCreateFile(sp9C[(temp_r26->unk08 == -1) ? 8 : temp_r26->unk08]); - Hu3DModelShadowMapSet(arg0->model[i + 3]); - Hu3DModelLayerSet(arg0->model[i + 3], 0); - Hu3DModelRotSet(arg0->model[i + 3], 0.0f, (temp_r26->unk08 == -1) ? (1 - i) * 180 : i * 180, 0.0f); - } - } - { - s32 sp110[] = { -10, -5, -5, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 10, 10, 10, 10, 10, 20, 20 }; - s32 spC0[] = { 0, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5 }; - s32 sp34[] = { DATA_MAKE_NUM(DATADIR_M448, 3), DATA_MAKE_NUM(DATADIR_M448, 4), DATA_MAKE_NUM(DATADIR_M448, 5), DATA_MAKE_NUM(DATADIR_M448, 6), - DATA_MAKE_NUM(DATADIR_M448, 7), DATA_MAKE_NUM(DATADIR_M448, 8) }; - s32 sp1C[] = { -1, -1, -1, -1, -1, -1 }; - - for (i = 0; i < 4; i++) { - for (j = 0; j < 5; j++) { - temp_r29 = j + i * 5; - lbl_1_bss_16C[temp_r29].unk00 = j; - lbl_1_bss_16C[temp_r29].unk04 = i; - lbl_1_bss_16C[temp_r29].unk08 = 0; - lbl_1_bss_16C[temp_r29].unk0C = -1; - lbl_1_bss_16C[temp_r29].unk18 = 1; - temp_r25 = 19 - temp_r29; - lbl_1_bss_16C[temp_r29].unk20 = sp110[temp_r25]; - sp110[temp_r25] = 0; - lbl_1_bss_16C[temp_r29].unk1C = 0; - for (k = 0; k < 2; k++) { - var_r27 = (k == 0) ? 7 : 27; - if (sp1C[spC0[temp_r25]] == -1) { - if (k == 1) { - sp1C[spC0[temp_r25]] = temp_r29; - } - arg0->model[var_r27 + temp_r29] = Hu3DModelCreateFile(sp34[spC0[temp_r25]]); - } - else { - arg0->model[var_r27 + temp_r29] = Hu3DModelLink(arg0->model[var_r27 + sp1C[spC0[temp_r25]]]); - } - Hu3DModelPosSet(arg0->model[var_r27 + temp_r29], 100.0 + 200.0 * (lbl_1_bss_16C[temp_r29].unk00 - 2.5), (k == 0) ? 4000 : 0, - 100.0 + 200.0 * (lbl_1_bss_16C[temp_r29].unk04 - 2.0)); - if (k == 0) { - Hu3DModelShadowSet(arg0->model[var_r27 + temp_r29]); - } - else { - Hu3DModelAttrSet(arg0->model[var_r27 + temp_r29], HU3D_ATTR_DISPOFF); - Hu3DModelShadowMapSet(arg0->model[var_r27 + temp_r29]); - } - } - } - } - } - arg0->model[5] = Hu3DParticleCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M448, 30), MEMORY_DEFAULT_NUM)), 70); - Hu3DModelPosSet(arg0->model[5], 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[5], 1.0f, 1.0f, 1.0f); - Hu3DModelLayerSet(arg0->model[5], 3); - Hu3DModelAttrReset(arg0->model[5], HU3D_ATTR_DISPOFF); - Hu3DParticleColSet(arg0->model[5], 0xFF, 0xFF, 0xFF); - Hu3DParticleScaleSet(arg0->model[5], 1.0f); - Hu3DParticleHookSet(arg0->model[5], fn_1_7DC4); - Hu3DParticleCntSet(arg0->model[5], 0); - Hu3DParticleBlendModeSet(arg0->model[5], 1); - for (i = 0; i < 10; i++) { - s32 sp14[] = { 100, 485 }; - s32 sp74[] = { 0, 0, 16, -4, -36, 0, 0, 16, -4, -36 }; - s32 sp4C[] = { 0, 0, 2, 2, -2, 0, 0, 2, 2, -2 }; - - if (lbl_1_data_0[i] == DATADIR_MGCONST) { - temp_r23 = lbl_1_bss_8C[i == 4 ? 0 : (i == 9 ? 1 : 0)]->data; - lbl_1_data_28[i] - = espEntry((temp_r23->unk08 == -1) ? DATA_MAKE_NUM(DATADIR_M448, 29) : DATA_MAKE_NUM(lbl_1_data_0[i], temp_r23->unk08), 0, 0); - } - else { - lbl_1_data_28[i] = espEntry(lbl_1_data_0[i], 0, 0); - } - espDrawNoSet(lbl_1_data_28[i], 0); - espAttrSet(lbl_1_data_28[i], HUSPR_ATTR_NOANIM | HUSPR_ATTR_DISPOFF); - espBankSet(lbl_1_data_28[i], 0); - espPriSet(lbl_1_data_28[i], 128 - i); - espPosSet(lbl_1_data_28[i], sp74[i] + sp14[i < 5 ? 0 : 1], sp4C[i] + 70); - if (((i >= 5) ? i - 5 : i) != 0) { - (void)1; // Required to match. - } - else { - espTPLvlSet(lbl_1_data_28[i], 0.5f); - espColorSet(lbl_1_data_28[i], 0, 0, 0); - } - } - arg0->func = fn_1_4310; -} - -void fn_1_8DD0(omObjData *arg0) -{ - s32 var_r28; - s32 var_r27; - UnkM448Struct_00 *temp_r31; - UnkM448Struct_00 *sp30; - s32 var_r26; - s32 i; - - var_r28 = -1; - var_r27 = -1; - temp_r31 = arg0->data; - sp30 = lbl_1_bss_8C[1 - arg0->work[0]]->data; - memset(temp_r31, 0, sizeof(*temp_r31)); - temp_r31->unk00 = arg0->work[0]; - if (GWPlayerCfg->character == 14 || GWPlayerCfg[1].character == 14 || GWPlayerCfg[2].character == 14 || GWPlayerCfg[3].character == 14) { - for (i = 0; i < 4; i++) { - if (GWPlayerCfg[i].character == 14) { - var_r28 = i; - } - } - var_r27 = (GWPlayerCfg[var_r28].group == 0) ? 1 : 0; - if (temp_r31->unk00 == 0) { - temp_r31->unk04 = var_r27; - var_r26 = var_r28; - } - else { - temp_r31->unk04 = var_r28; - var_r26 = var_r27; - } - } - else { - temp_r31->unk04 = (GWPlayerCfg[0].group == temp_r31->unk00) ? 0 - : GWPlayerCfg[1].group == temp_r31->unk00 ? 1 - : GWPlayerCfg[2].group == temp_r31->unk00 ? 2 - : GWPlayerCfg[3].group == temp_r31->unk00 ? 3 - : 4; - var_r26 = (GWPlayerCfg[0].group == 1 - temp_r31->unk00) ? 0 - : (GWPlayerCfg[1].group == 1 - temp_r31->unk00) ? 1 - : (GWPlayerCfg[2].group == 1 - temp_r31->unk00) ? 2 - : (GWPlayerCfg[3].group == 1 - temp_r31->unk00) ? 3 - : 4; - } - if (temp_r31->unk04 == 4) { - OSReport("m448:wrong player group\n"); - temp_r31->unk04 = temp_r31->unk00; - } - temp_r31->unk08 = (var_r28 != -1 && temp_r31->unk00 == 1) ? -1 : GWPlayerCfg[temp_r31->unk04].character; - temp_r31->unk0C = (temp_r31->unk08 == -1 || GWPlayerCfg[temp_r31->unk04].iscom) ? -1 : GWPlayerCfg[temp_r31->unk04].pad_idx; - temp_r31->unk10 = (temp_r31->unk0C != -1) ? 0 : GWPlayerCfg[temp_r31->unk04].diff; - temp_r31->unk34 = 0; - if (temp_r31->unk08 != -1) { - arg0->model[0] = CharModelCreate(temp_r31->unk08, 2); - } - else { - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M448, 18)); - } - Hu3DModelLayerSet(arg0->model[0], 0); - CharModelLayerSetAll2(1); - Hu3DModelShadowSet(arg0->model[0]); - Hu3DModelAmbSet(arg0->model[0], 0.0f, 0.0f, 0.0f); - for (i = 0; i < 11; i++) { - if (temp_r31->unk08 != -1) { - arg0->motion[i] = CharModelMotionCreate(temp_r31->unk08, lbl_1_data_50[i]); - } - else { - arg0->motion[i] = Hu3DJointMotionFile(arg0->model[0], lbl_1_data_7C[i]); - } - } - temp_r31->unk20 = (temp_r31->unk08 != -1) ? 0 : 0; - temp_r31->unk24 = -1; - Hu3DMotionSet(arg0->model[0], arg0->motion[temp_r31->unk20]); - if (temp_r31->unk08 != -1) { - Hu3DMotionTimeSet(arg0->model[0], (temp_r31->unk00 == 0) ? 0 : 80); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_LOOP); - } - else { - lbl_1_bss_20 = CharModelEffectNpcInit(arg0->model[0], arg0->motion[2], 1, 14); - lbl_1_bss_24 = CharModelEffectNpcInit(arg0->model[0], arg0->motion[6], 5, 14); - } - arg0->trans.x = lbl_1_data_1BC[temp_r31->unk00][0]; - arg0->trans.y = lbl_1_data_1BC[temp_r31->unk00][1]; - arg0->trans.z = 0.0f; - arg0->rot.y = (temp_r31->unk00 == 0) ? 90 : 270; - arg0->rot.y = (temp_r31->unk08 != -1) ? 0 : (temp_r31->unk00 == 0) ? 90 : 270; - arg0->scale.x = arg0->scale.y = arg0->scale.z = 1.0f; - arg0->rot.x = arg0->rot.z = 0.0f; - arg0->func = fn_1_1338; -} - -void fn_1_9508(omObjData *arg0) -{ - lbl_1_bss_80 = 1000; - lbl_1_bss_84 = 0; - lbl_1_bss_78 = 0; - lbl_1_bss_74 = 0; - lbl_1_bss_64 = GXGetTexBufferSize(640, 480, GX_TF_RGB565, GX_FALSE, 0); - lbl_1_bss_60 = GXGetTexBufferSize(160, 120, GX_TF_RGB565, GX_FALSE, 0U); - lbl_1_bss_28 = HuMemDirectMallocNum(HEAP_SYSTEM, lbl_1_bss_64, MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_28, 0, lbl_1_bss_64); - lbl_1_bss_2C = HuMemDirectMallocNum(HEAP_SYSTEM, lbl_1_bss_60, MEMORY_DEFAULT_NUM); - memset(lbl_1_bss_2C, 0, lbl_1_bss_60); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - arg0->func = fn_1_7148; -} - -void ObjectSetup(void) -{ - omObjData *var_r30; - s32 i; - - OSReport("******* M448 ObjectSetup *********\n"); - lbl_1_bss_70 = omInitObjMan(600, 0x2000); - omGameSysInit(lbl_1_bss_70); - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 30.0f, 20.0f, 25000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - CZoom = 2500.0f; - Center.x = 0.0f; - Center.y = 0.0f; - Center.z = -100.0f; - CRot.x = -40.0f; - CRot.y = 0.0f; - CRot.z = 0.0f; - { - Vec sp3C = { 0.0f, 10000.0f, 0.0f }; - Vec sp30 = { 0.0f, -1.0f, 0.0f }; - GXColor sp8 = { 0xFF, 0xFF, 0xFF, 0xFF }; - - lbl_1_bss_6C = Hu3DGLightCreateV(&sp3C, &sp30, &sp8); - Hu3DGLightStaticSet(lbl_1_bss_6C, 1); - Hu3DGLightInfinitytSet(lbl_1_bss_6C); - lbl_1_bss_6C = Hu3DGLightCreateV(&sp3C, &sp30, &sp8); - Hu3DGLightStaticSet(lbl_1_bss_6C, 1); - Hu3DGLightInfinitytSet(lbl_1_bss_6C); - } - { - Vec sp24; - Vec sp18; - Vec spC; - - sp24.x = 0.0f; - sp24.y = 10000.0f; - sp24.z = 0.0f; - sp18.x = 0.0f; - sp18.y = 1.0f; - sp18.z = 0.0f; - spC.x = 0.0f; - spC.y = 0.0f; - spC.z = 0.5f; - Hu3DShadowCreate(8.0f, 9000.0f, 11500.0f); - Hu3DShadowTPLvlSet(0.75f); - Hu3DShadowPosSet(&sp24, &sp18, &spC); - } - lbl_1_data_198 = -1; - lbl_1_bss_68 = -1; - HuWinInit(1); - lbl_1_bss_88 = omAddObjEx(lbl_1_bss_70, 101, 47, 0, 1, fn_1_81C0); - for (i = 0; i < 2; i++) { - var_r30 = lbl_1_bss_8C[i] = omAddObjEx(lbl_1_bss_70, 100, 1, 11, 0, fn_1_8DD0); - var_r30->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM448Struct_00), MEMORY_DEFAULT_NUM); - var_r30->work[0] = i; - } - lbl_1_bss_94 = omAddObjEx(lbl_1_bss_70, 32730, 0, 0, -1, omOutView); - lbl_1_bss_98 = omAddObjEx(lbl_1_bss_70, 103, 0, 0, -1, fn_1_9508); -} - -void fn_1_9B00(omObjData *arg0) -{ - s32 i; - UnkM448Struct_00 *temp_r30; - - if (WipeStatGet() != 0) { - return; - } - if (lbl_1_bss_28) { - HuMemDirectFree(lbl_1_bss_28); - } - lbl_1_bss_28 = NULL; - if (lbl_1_bss_2C) { - HuMemDirectFree(lbl_1_bss_2C); - } - lbl_1_bss_2C = NULL; - for (i = 0; i < 2; i++) { - temp_r30 = lbl_1_bss_8C[i]->data; - if (temp_r30->unk08 != -1) { - CharModelKill(temp_r30->unk08); - } - } - if (lbl_1_data_198 >= 0) { - MGSeqKill(lbl_1_data_198); - } - MGSeqKillAll(); - HuAudAllStop(); - omOvlReturnEx(1, 1); -} diff --git a/src/REL/m449Dll/main.c b/src/REL/m449Dll/main.c deleted file mode 100644 index 02d13d79..00000000 --- a/src/REL/m449Dll/main.c +++ /dev/null @@ -1,2014 +0,0 @@ -#include "dolphin/gx/GXEnum.h" -#include "dolphin/gx/GXVert.h" -#include "dolphin/pad.h" -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/esprite.h" -#include "game/flag.h" -#include "game/frand.h" -#include "game/gamework_data.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" -#include "string.h" - -#ifndef __MWERKS__ -#include "game/hsfex.h" -#endif - -s32 rand8(void); - -typedef struct UnkCameraStruct { - /* 0x00 */ float unk_00; - /* 0x04 */ float unk_04; - /* 0x08 */ float unk_08; - /* 0x0C */ float unk_0C; - /* 0x10 */ float unk_10; - /* 0x14 */ float unk_14; -} UnkCameraStruct; /* size = 0x18 */ - -typedef struct M449DllUnkStruct { - /* 0x00 */ s32 unk_00[4]; - /* 0x10 */ s32 unk_10[4]; -} M449DllUnkStruct; /* size = 0x20 */ - -typedef struct M449DllWork { - s32 unk_00; - s32 unk_04; - s32 unk_08; - s32 unk_0C; - s32 unk_10; - s32 unk_14; - s32 unk_18; - s32 unk_1C; - float unk_20; - float unk_24; - float unk_28; - float unk_2C; - s32 unk_30; - s32 unk_34; - s32 unk_38; - float unk_3C; - float unk_40; - s32 unk_44; - s32 unk_48; - s32 unk_4C; - s32 unk_50; - s32 unk_54; - float unk_58; - float unk_5C; - float unk_60[4]; - float unk_70[4]; - float unk_80[4]; - float unk_90[4]; - float unk_A0[4]; - float unk_B0[4]; - float unk_C0[4]; - float unk_D0[4]; - float unk_E0[4]; - s32 unk_F0[4]; - s32 unk_100[4]; - s32 unk_110[4]; - s32 unk_120[4]; - s32 unk_130[4]; - s32 unk_140[4]; - s32 unk_150[4]; - float unk_160[4]; - float unk_170[4]; - s32 unk_180[4]; - s32 unk_190; - float unk_194[4]; - float unk_1A4[4]; - s32 unk_1B4[4]; - s32 unk_1C4[4]; - char unk1D4[0x30]; - s32 unk_204; - s32 unk_208; - s32 unk_20C; - s32 unk_210; - s32 unk_214; -} M449DllWork; /* size = 0x218 */ - -typedef struct UnkBss64Struct { - /* 0x00 */ s32 unk_00; - /* 0x04 */ float unk_04[2]; -} UnkBss64Struct; /* size = 0x0C */ - -void fn_1_9A38(omObjData *arg0); - -s32 lbl_1_data_0[0x12] = { - 0x50001A, - 0x500019, - 0x500016, - 0x500016, - 0x500016, - 0x500017, - 0x500017, - 0x500017, - 0x610000, - 0x50001A, - 0x500019, - 0x500016, - 0x500016, - 0x500016, - 0x500017, - 0x500017, - 0x500017, - 0x610000, -}; -s32 lbl_1_data_48[0x12] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; -s32 lbl_1_data_90[4] - = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), 0x500000, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x85) }; -s32 lbl_1_data_A0[4] = { 0x50001C, 0x50001E, 0x50001D, 0x50001F }; -u8 lbl_1_data_B0[0x38] = { 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08 - -}; -char lbl_1_data_E8[4][20] = { - "m432_00-a00", - "m432_00-b00", - "m432_00-player00", - "m432_00-player01", -}; -char lbl_1_data_138[4][20] = { - "m449_01a-a00", - "m449_01a-a1", - "m449_01a-a2", - "m449_01a-a3", -}; -char lbl_1_data_188[4][20] = { - "m449_01a-b00", - "m449_01a-b1", - "m449_01a-b2", - "m449_01a-b3", -}; -char lbl_1_data_1D8[4][20] = { - "m449_01a-c00", - "m449_01a-c1", - "m449_01a-c2", - "m449_01a-c3", -}; -s16 lbl_1_data_228 = -1; -s16 lbl_1_data_22A = -1; -s32 lbl_1_data_22C = -1; -s32 lbl_1_data_230[3] = { -1, -1, -1 }; -s32 lbl_1_data_23C[0xA] = { - 0, - 1, - 0xC2B40000, - 0, - 0x44034000, - 0x43340000, - 0x42B40000, - 0, - 0x44034000, - 0x43340000, -}; - -UnkBss64Struct lbl_1_bss_64[12]; -omObjData *lbl_1_bss_60; -omObjData *lbl_1_bss_5C; -omObjData *lbl_1_bss_58; -omObjData *lbl_1_bss_54; -omObjData *lbl_1_bss_50; -s32 lbl_1_bss_4C; -s32 lbl_1_bss_48; -s32 lbl_1_bss_44; -s32 lbl_1_bss_40; -s32 lbl_1_bss_3C; -Process *lbl_1_bss_38; -s32 lbl_1_bss_34; -s32 lbl_1_bss_30; -s32 lbl_1_bss_2C; -float lbl_1_bss_28; -float lbl_1_bss_24; -float lbl_1_bss_20; -s32 lbl_1_bss_1C; -float lbl_1_bss_18; -s32 lbl_1_bss_14; -s32 lbl_1_bss_10; -s32 lbl_1_bss_C; -s32 lbl_1_bss_8; -s32 lbl_1_bss_4; -s32 lbl_1_bss_0; - -static const s32 lbl_1_rodata_10[4] = { 0x8C, 0x6E, 0x3C, 0 }; - -void fn_1_A0(void) -{ - if ((HuPadBtnDown[0] & PAD_BUTTON_B) != 0) { - Center.x = lbl_1_bss_54->trans.x; - Center.y = lbl_1_bss_54->trans.y; - Center.z = lbl_1_bss_54->trans.z; - } - Center.x += 10.0 * (((HuPadBtn[0] & PAD_BUTTON_RIGHT) != 0) - ((HuPadBtn[0] & PAD_BUTTON_LEFT) != 0)); - Center.z -= 10.0 * (((HuPadBtn[0] & PAD_BUTTON_UP) != 0) - ((HuPadBtn[0] & PAD_BUTTON_DOWN) != 0)); - Center.y += (30.0 * ((HuPadTrigL[0] - HuPadTrigR[0]) / 128.0)); - CZoom += 25.0 * (((HuPadBtn[0] & PAD_BUTTON_X) != 0) - ((HuPadBtn[0] & PAD_BUTTON_Y) != 0)); - CRot.y += HuPadSubStkX[0] / 16.0; - CRot.x += HuPadSubStkY[0] / -16.0; -} - -void fn_1_3F8(s32 arg0, Mtx sp8) -{ - float var_f31; - float var_f30; - s32 var_r31; - s32 var_r30; - - GXLoadPosMtxImm(sp8, 0); - GXSetNumTevStages(1); - GXSetNumTexGens(0); - GXSetZMode(1, GX_LEQUAL, 1); - GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_CLR0, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - for (var_r30 = 0; var_r30 < 2; var_r30++) { - GXBegin(GX_TRIANGLEFAN, GX_VTXFMT0, 0x12); - GXPosition3f32(0.0f, 0.0f, 0.0f); - GXColor4u8(0xFF, 0xFF, 0x00, 0xFF); - for (var_r31 = 0; var_r31 < 0x11; var_r31++) { - var_f30 = (var_r30 == 0 ? 1 : -1) * (75.0 * cosd((360.0 * (var_r31 / 16.0)))); - var_f31 = 75.0 * sind((360.0 * (var_r31 / 16.0))); - GXPosition3f32(var_f31, var_r30 * 10, var_f30); - GXColor4u8(0xFF, 0xFF, 0x00, 0xFF); - } - } -} - -void fn_1_758(omObjData *var_r29) -{ - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - float var_f25; - float var_f24; - float var_f23; - float var_f22; - float var_f21; - float var_f20; - float var_f19; - float var_f18; - - M449DllWork *var_r31; - s32 var_r30; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - ModelData *var_r24; - s32 var_r23; - s32 var_r22; - s32 var_r21; - s32 var_r20; - ModelData *var_r19; - s32 var_r18; - s32 var_r17; - - Vec sp3C4[3]; - Vec sp394[4]; - Mtx sp364; - Mtx sp334; - Mtx sp304; - Vec sp2D8; - Vec sp2CC; - Vec sp2C0; - Vec sp2B4; - Vec sp2A8; - void *sp238; - s32 sp234; - s32 sp230; - float sp22C; - float sp228; - float sp224; - s32 sp220; - float sp21C; - float sp218; - s32 sp214; - float sp210; - float sp20C; - float sp208; - s32 sp204; - s32 sp200; - s32 sp1FC; - float sp1F8; - s32 sp1F4; - float sp1F0; - float sp1EC; - float sp1E8; - float sp1E4; - float sp1E0; - float sp1DC; - float sp1D8; - float sp1D4; - float sp1D0; - float sp1CC; - float sp1C8; - float sp1C4; - float sp1C0; - float sp1BC; - float sp1B8; - float sp1B4; - float sp1B0; - float sp1AC; - float sp1A8; - float sp1A4; - float sp1A0; - float sp19C; - float sp198; - float sp194; - float sp190; - float sp18C; - float sp188; - float sp184; - float sp180; - float sp17C; - float sp178; - float sp174; - float sp170; - float sp16C; - float sp168; - float sp164; - s32 sp160; - float sp15C; - float sp158; - s32 sp154; - float sp150; - float sp14C; - float sp148; - float sp144; - float sp140; - float sp13C; - float sp138; - float sp134; - float sp130; - float sp12C; - float sp128; - float sp124; - - { - s32 sp568[4][4][3] = { - { - { 2, 5, 5 }, - { 2, 7, 11 }, - { 0, 4, 7 }, - { 0, 7, 8 }, - }, - { - { 1, 6, 3 }, - { 1, 1, 2 }, - { 8, 2, 3 }, - { 8, 12, 16 }, - }, - { - { 3, 5, 5 }, - { 1, 6, 13 }, - { 1, 3, 4 }, - { 3, 8, 12 }, - }, - { - { 2, 3, 4 }, - { 1, 2, 3 }, - { 0, 1, 3 }, - { 2, 3, 3 }, - }, - }; - s32 sp4A8[4][4][3] = { - { - { 0, 44, 23 }, - { 32, -64, -29 }, - { 0, 52, -60 }, - { 0, -51, 56 }, - }, - { - { -29, 28, -52 }, - { 32, 31, -22 }, - { 0, 20, -49 }, - { 0, 0, 0 }, - }, - { - { 56, 59, -37 }, - { -36, 33, 47 }, - { 27, 39, 28 }, - { 55, -31, 0 }, - }, - { - { -52, -61, 31 }, - { 42, -55, 30 }, - { 0, 22, -24 }, - { -48, 25, 61 }, - }, - }; - - s32 sp3E8[4][4][3] = { - { - { 0, -44, 23 }, - { -32, 64, 29 }, - { 0, -52, -60 }, - { 0, -51, -56 }, - }, - { - { -29, 28, 52 }, - { 32, -31, -22 }, - { 0, 20, 49 }, - { 0, 0, 0 }, - }, - { - { -56, 59, -37 }, - { 36, 33, -47 }, - { -27, 39, -28 }, - { -55, -31, 0 }, - }, - { - { 52, -61, -31 }, - { -42, 55, -30 }, - { 0, -22, -24 }, - { 48, 25, -61 }, - }, - }; - var_r31 = var_r29->data; - sp238 = (&lbl_1_bss_54)[1 - var_r29->work[0]]->data; - var_f29 = 0.0f; - var_f28 = 0.0f; - Hu3DModelObjPosGet(lbl_1_bss_50->model[1], lbl_1_data_E8[var_r31->unk_00], &sp2D8); - for (var_r30 = 0; var_r30 < (lbl_1_data_230[var_r31->unk_190] == 2 ? 2 : 3); var_r30++) { - Hu3DModelObjPosGet(var_r29->model[var_r31->unk_190 + 4], lbl_1_data_188[var_r30], &sp3C4[var_r30]); - sp3C4[var_r30].x -= sp2D8.x; - sp3C4[var_r30].y -= sp2D8.y; - sp3C4[var_r30].z -= sp2D8.z; - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - Hu3DModelObjPosGet(var_r29->model[var_r31->unk_190 + 4], lbl_1_data_1D8[var_r30], &sp394[var_r30]); - sp394[var_r30].x -= sp2D8.x; - sp394[var_r30].y -= sp2D8.y; - sp394[var_r30].z -= sp2D8.z; - } - switch (var_r31->unk_4C) { - case 0: - if (lbl_1_bss_48 == 0x3EC) { - var_r31->unk_4C = 1; - var_r31->unk_14 = var_r31->unk_204 % 4; - var_r31->unk_14 = var_r31->unk_1C = var_r31->unk_30 = var_r31->unk_34 = var_r31->unk_38 = 0; - var_r31->unk_18 = -1; - var_r31->unk_3C = var_r31->unk_40 = var_r31->unk_44 = var_r31->unk_48 = 0; - var_r31->unk_208 = var_r31->unk_0C == -1 ? 1 : 0; - if (var_r31->unk_0C == -1) { - var_r17 = lbl_1_data_23C[var_r31->unk_00]; - var_r31->unk_204 = sp568[lbl_1_data_230[var_r31->unk_190]][var_r31->unk_10][var_r17]; - var_r31->unk_20C = sp4A8[lbl_1_data_230[var_r31->unk_190]][var_r31->unk_10][var_r17]; - var_r31->unk_210 = sp3E8[lbl_1_data_230[var_r31->unk_190]][var_r31->unk_10][var_r17]; - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - var_r31->unk_90[var_r30] = var_r31->unk_A0[var_r30] = var_r31->unk_B0[var_r30] = var_r31->unk_D0[var_r30] - = var_r31->unk_E0[var_r30] = 0.0f; - var_r31->unk_F0[var_r30] = var_r31->unk_100[var_r30] = var_r31->unk_110[var_r30] = var_r31->unk_120[var_r30] - = var_r31->unk_130[var_r30] = var_r31->unk_140[var_r30] = 0; - var_r31->unk_160[var_r30] = var_r31->unk_170[var_r30] = var_r31->unk_150[var_r30] = 0; - } - } - break; - case 1: - if (lbl_1_bss_30 != -1) { - var_r31->unk_4C = 3; - if ((lbl_1_bss_30 == var_r31->unk_00) && (var_r31->unk_F0[0] != 0) && (var_r31->unk_F0[1] != 0) && (var_r31->unk_F0[2] != 0) - && (var_r31->unk_F0[3] != 0)) { - var_r31->unk_54 = 0x1E; - HuAudFXPlay(9); - } - } - else if ((var_r31->unk_190 < 2) && (var_r31->unk_F0[0] != 0) && (var_r31->unk_F0[1] != 0) && (var_r31->unk_F0[2] != 0) - && (var_r31->unk_F0[3] != 0)) { - if (lbl_1_bss_64[3].unk_00 < 2) { - lbl_1_bss_64[3].unk_04[lbl_1_bss_64[3].unk_00] = 0.0f; - lbl_1_bss_64[3].unk_00++; - } - var_r31->unk_4C = 2; - var_r31->unk_50 = 0; - Hu3DMotionSpeedSet(var_r29->model[var_r31->unk_190 + 1], -1.0f); - var_r31->unk_14 = var_r31->unk_1C = var_r31->unk_30 = var_r31->unk_34 = var_r31->unk_38 = 0; - var_r31->unk_18 = -1; - var_r31->unk_3C = var_r31->unk_40 = var_r31->unk_44 = var_r31->unk_48 = 0; - var_r31->unk_208 = var_r31->unk_0C == -1 ? 1 : 0; - if (var_r31->unk_0C == -1) { - sp234 = (var_r31->unk_190 + lbl_1_data_23C[var_r31->unk_00] + 1) % 3; - var_r31->unk_204 = sp568[lbl_1_data_230[var_r31->unk_190 + 1]][var_r31->unk_10][sp234]; - var_r31->unk_20C = sp4A8[lbl_1_data_230[var_r31->unk_190 + 1]][var_r31->unk_10][sp234]; - var_r31->unk_210 = sp3E8[lbl_1_data_230[var_r31->unk_190 + 1]][var_r31->unk_10][sp234]; - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - var_r31->unk_90[var_r30] = var_r31->unk_A0[var_r30] = var_r31->unk_B0[var_r30] = var_r31->unk_D0[var_r30] - = var_r31->unk_E0[var_r30] = 0.0f; - var_r31->unk_F0[var_r30] = var_r31->unk_100[var_r30] = var_r31->unk_110[var_r30] = var_r31->unk_120[var_r30] - = var_r31->unk_130[var_r30] = var_r31->unk_140[var_r30] = 0; - var_r31->unk_160[var_r30] = var_r31->unk_170[var_r30] = var_r31->unk_150[var_r30] = 0; - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - sp230 = -1; - sp22C = 10000.0f; - Hu3DModelObjPosGet(var_r29->model[4], lbl_1_data_138[var_r30], &sp2CC); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - sp228 = sp2CC.x - var_r31->unk_60[var_r28]; - sp224 = sp2CC.z - var_r31->unk_80[var_r28]; - if ((var_r31->unk_F0[var_r28] == 0) && (sqrtf((sp228 * sp228) + (sp224 * sp224)) < sp22C)) { - sp230 = var_r28; - sp22C = sqrtf((sp228 * sp228) + (sp224 * sp224)); - } - } - var_r31->unk_1B4[sp230] = var_r30; - var_r31->unk_F0[sp230] = 1; - var_r31->unk_194[var_r30] = var_r31->unk_60[var_r30]; - var_r31->unk_1A4[var_r30] = var_r31->unk_80[var_r30]; - } - var_r31->unk_F0[0] = var_r31->unk_F0[1] = var_r31->unk_F0[2] = var_r31->unk_F0[3] = 0; - for (var_r30 = 0; var_r30 < 4; var_r30++) { - sp220 = var_r30 + 7; - var_r19 = &Hu3DData[var_r29->model[var_r30 + 0xC]]; - Hu3DModelPosSet(var_r29->model[sp220], var_r19->pos.x, 0.0f, var_r19->pos.z); - Hu3DModelAttrReset(var_r29->model[sp220], HU3D_ATTR_DISPOFF); - Hu3DParticleCntSet(var_r29->model[sp220], 0); - } - if (lbl_1_bss_30 == -1) { - var_r31->unk_54 = 0x1E; - HuAudFXPlay(9); - } - } - break; - case 2: - var_r31->unk_50++; - if (var_r31->unk_50 == 0xA) { - for (var_r30 = 0; var_r30 < 4; var_r30++) { - Hu3DModelAttrSet(var_r29->model[var_r30 + 0xC], HU3D_ATTR_DISPOFF); - } - } - if (var_r31->unk_50 <= 0x3C) { - sp21C = var_r31->unk_50 / 60.0; - for (var_r30 = 0; var_r30 < 4; var_r30++) { } - } - var_r31->unk_50 == 0x3C; - if ((var_r31->unk_50 >= 0) && (var_r31->unk_50 <= 0x3C)) { - sp218 = var_r31->unk_50 / 60.0; - var_f21 = 0.5 + (-0.5 * cosd((180.0f * sp218))); - var_f21 = sp218 < 0.75 ? 0 : 1; - for (var_r30 = 0; var_r30 < 4; var_r30++) { - Hu3DModelObjPosGet(var_r29->model[var_r31->unk_190 + 5], lbl_1_data_138[var_r30], &sp2C0); - var_r31->unk_60[var_r30] = (var_f21 * (sp2C0.x - sp2D8.x)) + (var_r31->unk_194[var_r30] * (1.0f - var_f21)); - var_r31->unk_80[var_r30] = (var_f21 * (sp2C0.z - sp2D8.z)) + (var_r31->unk_1A4[var_r30] * (1.0f - var_f21)); - var_r31->unk_70[var_r30] = 300.0 * sind((180.0f * sp218)); - var_r31->unk_70[var_r30] = -25.0f * (1.0f - var_f21); - } - } - if (var_r31->unk_50 == 0x3C) { - Hu3DMotionSpeedSet(var_r29->model[var_r31->unk_190 + 1], 1.0f); - Hu3DModelAttrSet(var_r29->model[var_r31->unk_190 + 1], HU3D_ATTR_DISPOFF); - var_r31->unk_190++; - Hu3DModelAttrReset(var_r29->model[var_r31->unk_190 + 1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r29->model[var_r31->unk_190 + 1], HU3D_MOTATTR_LOOP); - Hu3DMotionTimeSet(var_r29->model[var_r31->unk_190 + 1], 0.0f); - for (var_r30 = 0; var_r30 < 4; var_r30++) { - sp214 = var_r30 + 7; - var_r24 = &Hu3DData[var_r29->model[var_r30 + 0xC]]; - Hu3DModelPosSet(var_r29->model[sp214], var_r24->pos.x, var_r24->pos.y, var_r24->pos.z); - Hu3DModelAttrReset(var_r29->model[sp214], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r29->model[var_r30 + 0xC], HU3D_ATTR_DISPOFF); - Hu3DModelScaleSet(var_r29->model[var_r30 + 0xC], 0.0f, 0.0f, 0.0f); - Hu3DParticleCntSet(var_r29->model[sp214], 0); - } - } - if ((var_r31->unk_50 >= 0x3E) && (var_r31->unk_50 <= 0x78)) { - sp210 = (var_r31->unk_50 - 0x3E) / 58.0; - sp20C = sp210 < 0.25 ? (sp210 / 0.25) : 1.0; - sp20C = var_r31->unk_50 < 0x46 ? 0 : 1; - for (var_r30 = 0; var_r30 < 4; var_r30++) { - Hu3DModelScaleSet(var_r29->model[var_r30 + 0xC], sp20C, sp20C, sp20C); - } - } - if (var_r31->unk_50 == 0x78) { - var_r31->unk_4C = 1; - var_r31->unk_50 = 0; - } - break; - case 3: - break; - } - if (var_r31->unk_54 > 0) { - var_f26 = 1.0 - ((var_r31->unk_54 - 1) / 30.0); - sp204 = var_r31->unk_190 + 5 + (var_r31->unk_00 * 9); - var_f26 = (0.5 * var_f26) + (0.5 * (1.0f - ((1.0f - var_f26) * (1.0f - var_f26)))); - sp208 = var_f26 < 0.75 ? (var_f26 / 0.75) : 1.0; - var_f26 = 1.0f - ((1.0f - var_f26) * (1.0f - var_f26)); - sp208 = 1.0f - ((1.0f - sp208) * (1.0f - sp208)); - if (var_r31->unk_54 == 0x1E) { - espDispOn(lbl_1_data_48[sp204]); - espDispOff(lbl_1_data_48[var_r31->unk_190 + 2 + (var_r31->unk_00 * 9)]); - } - espTPLvlSet(lbl_1_data_48[sp204], sp208); - espScaleSet(lbl_1_data_48[sp204], 4.0f - (3.0f * var_f26), 4.0f - (3.0f * var_f26)); - var_r31->unk_54--; - } - if (var_r31->unk_4C == 1) { - if (var_r31->unk_0C != -1) { - var_f29 = HuPadStkX[var_r31->unk_0C]; - var_f28 = HuPadStkY[var_r31->unk_0C]; - var_f29 /= 40.0f; - var_f28 /= 40.0f; - } - else if (var_r31->unk_208 != 0) { - var_f29 = 3.0f * -var_r31->unk_58; - var_f28 = -3.0f * -var_r31->unk_5C; - } - else if ((var_r31->unk_0C == -1) && ((var_r31->unk_20C != 0) || (var_r31->unk_210 != 0))) { - var_f29 = var_r31->unk_20C < 0 ? -1 : (var_r31->unk_20C > 0 ? 1 : 0); - var_f28 = var_r31->unk_210 < 0 ? -1 : (var_r31->unk_210 > 0 ? 1 : 0); - var_r31->unk_20C = var_r31->unk_20C + (var_r31->unk_20C < 0 ? 1 : (var_r31->unk_20C > 0 ? -1 : 0)); - var_r31->unk_210 = var_r31->unk_210 + (var_r31->unk_210 < 0 ? 1 : (var_r31->unk_210 > 0 ? -1 : 0)); - } - else if ((var_r31->unk_F0[0] == 0) || (var_r31->unk_F0[1] == 0) || (((var_r31->unk_F0[2] == 0) != 0)) || (var_r31->unk_F0[3] == 0)) { - if (var_r31->unk_F0[var_r31->unk_14] != 0) { - var_r23 = -1; - sp1FC = var_r31->unk_F0[3] + (var_r31->unk_F0[0] + var_r31->unk_F0[1] + var_r31->unk_F0[2]); - for (sp200 = 0; sp200 <= (sp1FC == 1 ? ((var_r31->unk_204 / 4) % 3) : (sp1FC == 2 ? (((var_r31->unk_204 / 4) / 3) % 2) : 0)); - sp200++) { - for (var_r23++; var_r31->unk_F0[var_r23] != 0; var_r23++) { } - } - var_r31->unk_14 = var_r23; - } - var_r25 = var_r31->unk_14; - if (var_r25 != -1) { - var_f30 = var_r31->unk_60[var_r25] + var_r31->unk_90[var_r25]; - var_f31 = var_r31->unk_80[var_r25] + var_r31->unk_B0[var_r25]; - var_r22 = -1; - sp1F8 = -1.0f; - sp1F4 = var_r31->unk_1C; - if (var_r31->unk_100[var_r31->unk_18] != 0) { - var_r31->unk_1C = 0; - var_r31->unk_18 = -1; - } - if (var_r31->unk_1C != 0) { - for (var_r26 = 0; var_r26 < 4; var_r26++) { - sp1F0 = var_r31->unk_60[var_r26] + var_r31->unk_90[var_r26]; - sp1EC = var_r31->unk_80[var_r26] + var_r31->unk_B0[var_r26]; - if (var_r31->unk_F0[var_r26] == 0) { - if (var_r31->unk_28 != 0.0f && !(var_r31->unk_28 < 0.0f ? (sp1F0 < var_r31->unk_20) : (sp1F0 > var_r31->unk_20))) { } - else { - if (var_r31->unk_2C != 0.0f - && !(var_r31->unk_2C < 0.0f ? (sp1EC < var_r31->unk_24) : (sp1EC > var_r31->unk_24))) { } - else { - var_r31->unk_1C = 0; - var_r31->unk_14 = var_r26; - var_r25 = var_r26; - var_f30 = sp1F0; - var_f31 = sp1EC; - } - } - } - } - } - switch (lbl_1_data_230[var_r31->unk_190]) { - case 0: - if ((var_r31->unk_100[0] != 0) && (var_r31->unk_18 == 1) && (var_f31 > 0.0f) && (var_f30 < 0.0f)) { - var_r31->unk_1C = 1; - var_r31->unk_20 = 150.0f; - var_r31->unk_24 = 150.0f; - var_r31->unk_28 = 1.0f; - var_r31->unk_2C = 1.0f; - } - if ((var_r31->unk_100[0] != 0) && (var_r31->unk_18 == 1) && (var_f31 > 100.0f) && (var_f30 < 150.0f)) { - var_r31->unk_1C = 1; - var_r31->unk_20 = 150.0f; - var_r31->unk_24 = 150.0f; - var_r31->unk_28 = 1.0f; - var_r31->unk_2C = 1.0f; - } - if ((var_r31->unk_100[0] != 0) && (var_r31->unk_1C == 0) && (sp1F4 == 1)) { - var_r31->unk_1C = 2; - var_r31->unk_24 = -50.0f; - var_r31->unk_28 = 0.0f; - var_r31->unk_2C = -1.0f; - } - if ((var_r31->unk_100[0] != 0) && (var_r31->unk_18 >= 2) && (var_f30 < -100.0f) && (var_f31 < -120.0f)) { - var_r31->unk_1C = 3; - var_r31->unk_24 = -120.0f; - var_r31->unk_28 = 0.0f; - var_r31->unk_2C = 1.0f; - } - if ((var_r31->unk_100[0] != 0) && (var_r31->unk_18 >= 2) && (var_r31->unk_1C == 0) && (var_f30 < 0.0f) - && (var_f31 < 0.0f)) { - var_r31->unk_1C = 4; - var_r31->unk_20 = 0.0f; - var_r31->unk_24 = -120.0f; - var_r31->unk_28 = 1.0f; - var_r31->unk_2C = 1.0f; - } - if ((var_r31->unk_100[0] != 0) && (var_r31->unk_18 >= 2) && (var_r31->unk_1C == 0) && (sp1F4 == 3)) { - var_r31->unk_1C = 5; - var_r31->unk_20 = 190.0f; - var_r31->unk_24 = 190.0f; - var_r31->unk_28 = 1.0f; - var_r31->unk_2C = 1.0f; - } - if ((var_r31->unk_100[0] != 0) && (var_r31->unk_1C == 0) && (sp1F4 == 5) && (var_r31->unk_18 == 3)) { - var_r31->unk_1C = 6; - var_r31->unk_20 = 0.0f; - var_r31->unk_28 = -1.0f; - var_r31->unk_2C = 0.0f; - } - break; - case 1: - if ((var_r31->unk_18 == 3) && (var_f31 > 75.0f) && ((var_f30 < -150.0f) || (var_f30 > 150.0f))) { - var_r31->unk_1C = 1; - var_r31->unk_24 = 75.0f; - var_r31->unk_28 = 0.0f; - var_r31->unk_2C = -1.0f; - } - if ((var_r31->unk_100[1] != 0) && (var_f31 < -120.0f) && (var_f30 > 100.0f)) { - var_r31->unk_1C = 2; - var_r31->unk_24 = -120.0f; - var_r31->unk_28 = 0.0f; - var_r31->unk_2C = 1.0f; - } - if ((var_r31->unk_18 == 2) && (var_r31->unk_100[0] != 0) && (var_f31 < -120.0f) && (var_f30 < -120.0f)) { - var_r31->unk_1C = 3; - if (var_f30 < var_f31) { - var_r31->unk_20 = -150.0f; - var_r31->unk_24 = -80.0f; - var_r31->unk_28 = -1.0f; - var_r31->unk_2C = 1.0f; - } - else { - var_r31->unk_24 = -150.0f; - var_r31->unk_20 = -80.0f; - var_r31->unk_2C = -1.0f; - var_r31->unk_28 = 1.0f; - } - } - break; - case 2: - if ((var_r31->unk_100[3] != 0) && (var_f31 > 100.0f) && (var_f30 < -75.0f)) { - var_r31->unk_1C = 1; - var_r31->unk_20 = -75.0f; - var_r31->unk_24 = 175.0f; - var_r31->unk_28 = 1.0f; - var_r31->unk_2C = 1.0f; - } - if ((var_r31->unk_100[3] != 0) && (var_f31 < -50.0f) && (var_f30 < -150.0f)) { - var_r31->unk_1C = 2; - var_r31->unk_20 = -200.0f; - var_r31->unk_24 = -25.0f; - var_r31->unk_28 = -1.0f; - var_r31->unk_2C = 1.0f; - } - if ((var_r31->unk_18 == 2) && (var_r31->unk_100[2] != 0) && ((var_f30 + var_f31) > 300.0f)) { - var_r31->unk_1C = 3; - if (var_f30 > var_f31) { - var_r31->unk_20 = 200.0f; - var_r31->unk_24 = 80.0f; - var_r31->unk_28 = 1.0f; - var_r31->unk_2C = -1.0f; - } - else { - var_r31->unk_24 = 200.0f; - var_r31->unk_20 = 80.0f; - var_r31->unk_2C = 1.0f; - var_r31->unk_28 = -1.0f; - } - } - if ((var_r31->unk_18 == 1) && (var_r31->unk_100[2] != 0) && ((var_f30 - var_f31) > 300.0f)) { - var_r31->unk_1C = 4; - if (var_f30 > -var_f31) { - var_r31->unk_20 = 200.0f; - var_r31->unk_24 = -80.0f; - var_r31->unk_28 = 1.0f; - var_r31->unk_2C = 1.0f; - } - else { - var_r31->unk_24 = -200.0f; - var_r31->unk_20 = 80.0f; - var_r31->unk_2C = -1.0f; - var_r31->unk_28 = -1.0f; - } - } - break; - case 3: - if ((var_f31 > 200.0f) && (var_f30 > 200.0f) && (var_r31->unk_18 != 3)) { - var_r31->unk_1C = 2; - if (var_r31->unk_18 == 2) { - var_r31->unk_20 = -150.0f; - var_r31->unk_24 = 150.0f; - var_r31->unk_28 = -1.0f; - var_r31->unk_2C = 1.0f; - } - else { - var_r31->unk_20 = 150.0f; - var_r31->unk_24 = -150.0f; - var_r31->unk_28 = 1.0f; - var_r31->unk_2C = -1.0f; - } - } - if ((var_f31 > 0.0f) && (var_f30 > 0.0f) && (!(var_f30 < 100.0f) || !(var_f31 < 100.0f)) && (var_r31->unk_18 != 3) - && (var_r31->unk_1C == 0)) { - var_r31->unk_1C = 1; - var_r31->unk_20 = 200.0f; - var_r31->unk_24 = 200.0f; - var_r31->unk_28 = 1.0f; - var_r31->unk_2C = 1.0f; - } - if ((var_f31 > 200.0f) && (var_f30 < -200.0f) && (var_r31->unk_18 != 2)) { - var_r31->unk_1C = 4; - if (var_r31->unk_18 == 3) { - var_r31->unk_20 = 150.0f; - var_r31->unk_24 = 150.0f; - var_r31->unk_28 = 1.0f; - var_r31->unk_2C = 1.0f; - } - else { - var_r31->unk_20 = -150.0f; - var_r31->unk_24 = -150.0f; - var_r31->unk_28 = -1.0f; - var_r31->unk_2C = -1.0f; - } - } - if ((var_f31 > 0.0f) && (var_f30 < 0.0f) && (var_r31->unk_18 != 2) && (var_r31->unk_1C == 0) - && ((var_r31->unk_100[0] != 0) || (var_r31->unk_18 == 3))) { - var_r31->unk_1C = 3; - var_r31->unk_20 = -200.0f; - var_r31->unk_24 = 200.0f; - var_r31->unk_28 = -1.0f; - var_r31->unk_2C = 1.0f; - } - if ((var_f31 < -200.0f) && (var_f30 > 200.0f) && (var_r31->unk_18 == 3) && (var_r31->unk_1C == 0)) { - var_r31->unk_1C = 9; - var_r31->unk_20 = 200.0f; - var_r31->unk_24 = 0.0; - var_r31->unk_28 = 1.0f; - var_r31->unk_2C = 1.0f; - } - if ((var_f31 < -200.0f) && (var_f30 < -200.0f) && (var_r31->unk_18 == 2) && (var_r31->unk_1C == 0)) { - var_r31->unk_1C = 8; - var_r31->unk_20 = -200.0f; - var_r31->unk_24 = 0.0f; - var_r31->unk_28 = -1.0f; - var_r31->unk_2C = 1.0f; - } - if ((var_f31 < -200.0f) && (var_r31->unk_18 >= 2) && (var_r31->unk_1C == 0)) { - var_r31->unk_1C = 7; - var_r31->unk_24 = -200.0f; - var_r31->unk_2C = -1.0f; - if (var_r31->unk_18 == 3) { - var_r31->unk_20 = 200.0f; - var_r31->unk_28 = 1.0f; - } - else { - var_r31->unk_20 = -200.0f; - var_r31->unk_28 = -1.0f; - } - } - if ((var_f31 < 0.0f) && (var_r31->unk_18 >= 2) && (var_r31->unk_1C == 0)) { - var_r31->unk_1C = 6; - var_r31->unk_24 = -200.0f; - var_r31->unk_28 = 0.0; - var_r31->unk_2C = -1.0f; - } - if ((var_f31 < -175.0f) && (var_f30 > 175.0f) && ((var_r31->unk_18 == 0) || (var_r31->unk_18 == 2)) - && (var_r31->unk_1C == 0)) { - var_r31->unk_1C = 0xA; - var_r31->unk_20 = 0.0f; - var_r31->unk_24 = -200.0f; - var_r31->unk_28 = -1.0f; - var_r31->unk_2C = -1.0f; - } - break; - } - if (var_r31->unk_18 == -1) { - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if ((var_r31->unk_100[var_r30] == 0) - && ((sp1E8 = sp394[var_r30].x - var_r31->unk_60[var_r25], sp1E4 = sp394[var_r30].z - var_r31->unk_80[var_r25], - ((var_r22 == -1) != 0)) - || (((sp1E8 * sp1E8) + (sp1E4 * sp1E4)) < sp1F8))) { - var_r22 = var_r30; - sp1F8 = (sp1E8 * sp1E8) + (sp1E4 * sp1E4); - } - } - if (var_r22 != -1) { - var_r31->unk_18 = var_r22; - } - } - else { - var_r22 = var_r31->unk_18; - } - if ((var_r31->unk_18 != -1) && (var_r31->unk_1C == 0)) { - if (((var_r31->unk_58 < -0.95) || (var_r31->unk_58 > 0.95)) && ((var_r31->unk_5C < -0.95) || (var_r31->unk_5C > 0.95)) - && (var_r31->unk_34 > 0xF) && (var_r31->unk_38 < 0x3C)) { - var_f29 = var_f30 < sp394[var_r31->unk_18].x ? 1 : (var_f30 > sp394[var_r31->unk_18].x ? -1 : 0); - var_f28 = var_f31 < sp394[var_r31->unk_18].z ? 1 : (var_f31 > sp394[var_r31->unk_18].z ? -1 : 0); - } - else { - var_f29 = var_f30 < sp394[var_r31->unk_18].x ? 1 : (var_f30 > sp394[var_r31->unk_18].x ? -1 : 0); - var_f28 = var_f31 < sp394[var_r31->unk_18].z ? 1 : (var_f31 > sp394[var_r31->unk_18].z ? -1 : 0); - } - } - else if (var_r31->unk_1C != 0) { - if (var_r31->unk_28 != 0.0f && !(var_r31->unk_28 < 0.0f ? (var_f30 < var_r31->unk_20) : (var_f30 > var_r31->unk_20))) { - var_f29 = var_r31->unk_28 < 0.0f ? (var_f30 > var_r31->unk_20 ? -1 : 0) : (var_f30 < var_r31->unk_20 ? 1 : 0); - } - else { - var_f29 = var_r31->unk_58 < -0.1 ? 1.0f : (var_r31->unk_58 > 0.1 ? -1.0f : (-10.0f * var_r31->unk_58)); - } - if (var_r31->unk_2C != 0.0f && (var_r31->unk_2C < 0.0f ? (var_f31 < var_r31->unk_24) : (var_f31 > var_r31->unk_24)) == 0) { - var_f28 = var_r31->unk_2C < 0.0f ? (var_f31 > var_r31->unk_24 ? -1 : 0) : (var_f31 < var_r31->unk_24 ? 1 : 0); - } - else { - var_f28 = var_r31->unk_5C < -0.1 ? 1.0f : (var_r31->unk_5C > 0.1 ? -1.0f : (-10.0f * var_r31->unk_5C)); - } - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - sp1E0 = var_r31->unk_60[var_r30] - var_r31->unk_160[var_r30]; - sp1DC = var_r31->unk_80[var_r30] - var_r31->unk_170[var_r30]; - if (((sp1E0 * sp1E0) + (sp1DC * sp1DC)) < 9.0f) { - var_r31->unk_150[var_r30]++; - } - else { - var_r31->unk_160[var_r30] = var_r31->unk_60[var_r30]; - var_r31->unk_170[var_r30] = var_r31->unk_80[var_r30]; - var_r31->unk_150[var_r30] = 0; - } - } - if (var_r31->unk_44 <= 0) { - var_r31->unk_3C = var_f29; - var_r31->unk_40 = var_f28; - var_r31->unk_44 = var_r31->unk_48; - var_r31->unk_48 -= (var_r31->unk_48 >= (var_r31->unk_48 / 10) ? (var_r31->unk_48 / 10) : 0); - } - else { - var_f29 = var_r31->unk_3C; - var_f28 = var_r31->unk_40; - var_r31->unk_44--; - } - var_f29 *= 0.5; - var_f28 *= -0.5; - } - } - if (((var_f29 * var_f29) + (var_f28 * var_f28)) > 1.0f) { - sp1D8 = sqrt((var_f29 * var_f29) + (var_f28 * var_f28)); - var_f29 *= 1.0f / sp1D8; - var_f28 *= 1.0f / sp1D8; - } - if ((((var_f29 * var_f29) + (var_f28 * var_f28)) < 0.0625) && (var_r31->unk_208 == 0)) { - var_f29 = 0.0f; - var_f28 = 0.0f; - } - } - sp1D4 = var_r31->unk_58; - sp1D0 = var_r31->unk_5C; - var_r31->unk_58 = var_r31->unk_58 + (var_f29 / 3.0f); - var_r31->unk_58 = var_r31->unk_58 < -1.0f ? -1.0f : (var_r31->unk_58 > 1.0f ? 1.0f : var_r31->unk_58); - var_r31->unk_5C = var_r31->unk_5C + (-var_f28 / 3.0f); - var_r31->unk_5C = var_r31->unk_5C < -1.0f ? -1.0f : (var_r31->unk_5C > 1.0f ? 1.0f : var_r31->unk_5C); - var_r31->unk_208 = ((var_r31->unk_58 == 0.0f) && (var_r31->unk_5C == 0.0f)) ? 0 : var_r31->unk_208; - if ((lbl_1_bss_48 == 0x3EC) && ((sp1D4 != var_r31->unk_58) || (sp1D0 != var_r31->unk_5C))) { - if (var_r31->unk_214 == -1) { - var_r31->unk_214 = HuAudFXPlay(0x7A6); - } - } - else { - if (var_r31->unk_214 != -1) { - HuAudFXStop(var_r31->unk_214); - } - var_r31->unk_214 = -1; - } - if (lbl_1_bss_48 >= 0x3ED) { - sp1CC = 0.666f; - sp1C8 = 0.9f; - var_r31->unk_5C = var_r31->unk_5C > sp1CC - ? ((var_r31->unk_5C * sp1C8) + (sp1CC * (1.0f - sp1C8))) - : (var_r31->unk_5C < -sp1CC ? ((var_r31->unk_5C * sp1C8) - (sp1CC * (1.0f - sp1C8))) : var_r31->unk_5C); - } - if (var_r31->unk_4C != 2) { - for (var_r18 = 0; var_r18 < 2; var_r18++) { - for (var_r30 = 0; var_r30 < 4; var_r30++) { - var_r31->unk_110[var_r30] = var_r31->unk_120[var_r30] = var_r31->unk_130[var_r30] = var_r31->unk_140[var_r30] = 0; - if (var_r31->unk_F0[var_r30] == 0) { - var_r31->unk_90[var_r30] += 0.13888888888888887 * var_r31->unk_58 * (var_r31->unk_208 != 0 ? 0 : 1) - * (var_r31->unk_70[var_r30] >= 0.0f ? 1.0f : (1.0f - (var_r31->unk_70[var_r30] / -25.0f))); - var_r31->unk_B0[var_r30] += 0.13888888888888887 * var_r31->unk_5C * (var_r31->unk_208 != 0 ? 0 : 1) - * (var_r31->unk_70[var_r30] >= 0.0f ? 1.0f : (1.0f - (var_r31->unk_70[var_r30] / -25.0f))); - var_r31->unk_70[var_r30] += var_r31->unk_A0[var_r30]; - var_r31->unk_38 += var_r31->unk_38 < 0x8000; - var_f27 - = sqrtf((var_r31->unk_90[var_r30] * var_r31->unk_90[var_r30]) + (var_r31->unk_B0[var_r30] * var_r31->unk_B0[var_r30])); - sp1C4 = var_r31->unk_90[var_r30]; - sp1C0 = var_r31->unk_B0[var_r30]; - if (var_f27 > 0.0f) { - if (var_f27 > 7.59375) { - var_r31->unk_90[var_r30] *= 7.5 / var_f27; - var_r31->unk_B0[var_r30] *= 7.5 / var_f27; - } - else { - var_r31->unk_90[var_r30] *= (var_f27 < 0.09375 ? 0.0 : (var_f27 - 0.09375)) / var_f27; - var_r31->unk_B0[var_r30] *= (var_f27 < 0.09375 ? 0.0 : (var_f27 - 0.09375)) / var_f27; - } - } - var_r31->unk_60[var_r30] += var_r31->unk_90[var_r30]; - var_r31->unk_80[var_r30] += var_r31->unk_B0[var_r30]; - var_f27 - = sqrtf((var_r31->unk_90[var_r30] * var_r31->unk_90[var_r30]) + (var_r31->unk_B0[var_r30] * var_r31->unk_B0[var_r30])); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - sp1BC = var_r31->unk_60[var_r30] - var_r31->unk_60[var_r28]; - sp1B8 = var_r31->unk_80[var_r30] - var_r31->unk_80[var_r28]; - var_f24 = sqrtf((sp1BC * sp1BC) + (sp1B8 * sp1B8)); - if ((var_r30 != var_r28) && (var_r31->unk_F0[var_r28] == 0) && (var_f24 > 0.0f) && (var_f24 < 62.5)) { - var_f20 = sp1BC / var_f24; - var_f19 = sp1B8 / var_f24; - sp1B4 = var_r31->unk_90[var_r30]; - sp1B0 = var_r31->unk_B0[var_r30]; - var_f18 = (var_r31->unk_90[var_r30] + var_r31->unk_90[var_r28]) / 2.0; - sp1A4 = (var_r31->unk_B0[var_r30] + var_r31->unk_B0[var_r28]) / 2.0; - sp1AC = (var_f20 * -(var_r31->unk_90[var_r30] - var_f18)) - (var_f19 * (var_r31->unk_B0[var_r30] - sp1A4)); - sp1A8 = (-var_f20 * -(var_r31->unk_90[var_r28] - var_f18)) - (-var_f19 * (var_r31->unk_B0[var_r28] - sp1A4)); - var_r31->unk_60[var_r30] += var_f20 * (0.1 + (62.5 - var_f24)) / 2.0; - var_r31->unk_80[var_r30] += var_f19 * (0.1 + (62.5 - var_f24)) / 2.0; - var_r31->unk_60[var_r28] -= var_f20 * (0.1 + (62.5 - var_f24)) / 2.0; - var_r31->unk_80[var_r28] -= var_f19 * (0.1 + (62.5 - var_f24)) / 2.0; - var_r31->unk_90[var_r30] = var_f18 + (0.75 * ((var_r31->unk_90[var_r30] - var_f18) + (2.0f * var_f20 * sp1AC))); - var_r31->unk_B0[var_r30] = sp1A4 + (0.75 * ((var_r31->unk_B0[var_r30] - sp1A4) + (2.0f * var_f19 * sp1AC))); - var_r31->unk_90[var_r28] = var_f18 + (0.75 * ((var_r31->unk_90[var_r28] - var_f18) + (2.0f * -var_f20 * sp1A8))); - var_r31->unk_B0[var_r28] = sp1A4 + (0.75 * ((var_r31->unk_B0[var_r28] - sp1A4) + (2.0f * -var_f19 * sp1A8))); - var_r31->unk_110[var_r30] = 1 << var_r28; - if (((var_r31->unk_90[var_r30] + var_r31->unk_B0[var_r30]) > 0.0) && (var_r31->unk_1C4[var_r30] > 0xF) - && (var_r31->unk_1C4[var_r28] > 0xF) && (lbl_1_bss_64[1].unk_00 < 2)) { - lbl_1_bss_64[1].unk_04[lbl_1_bss_64[1].unk_00] = 0.0f; - lbl_1_bss_64[1].unk_00++; - } - var_r31->unk_1C4[var_r30] = 0; - var_r31->unk_1C4[var_r28] = 0; - } - } - for (var_r28 = 0; var_r28 < 4; var_r28++) { - sp1A0 = var_r31->unk_60[var_r30] - var_r31->unk_60[var_r28]; - sp19C = var_r31->unk_80[var_r30] - var_r31->unk_80[var_r28]; - sp198 = sqrtf((sp1A0 * sp1A0) + (sp19C * sp19C)); - if ((var_r31->unk_F0[var_r28] != 0) && (var_f27 > 0.0f)) { - if (sp198 < 62.5) { - sp194 = sp1A0 / sp198; - sp190 = sp19C / sp198; - sp18C = var_r31->unk_90[var_r30]; - sp188 = var_r31->unk_B0[var_r30]; - sp184 = (-sp18C * sp194) - (sp188 * sp190); - var_r31->unk_60[var_r30] += sp194 * (0.1 + (62.5 - sp198)); - var_r31->unk_80[var_r30] += sp190 * (0.1 + (62.5 - sp198)); - var_r31->unk_90[var_r30] = 0.75 * (sp18C + (2.0f * sp194 * sp184)); - var_r31->unk_B0[var_r30] = 0.75 * (sp188 + (2.0f * sp190 * sp184)); - var_r31->unk_60[var_r30] += var_r31->unk_90[var_r30]; - var_r31->unk_80[var_r30] += var_r31->unk_B0[var_r30]; - var_r31->unk_34 = var_r31->unk_30 == (var_r28 + 1) ? (var_r31->unk_34 + 1) : 1; - var_r31->unk_30 = var_r28 + 1; - var_r31->unk_38 = 0; - var_r31->unk_120[var_r30] = 1 << var_r28; - if (((var_r31->unk_90[var_r30] + var_r31->unk_B0[var_r30]) > 0.0) && (var_r31->unk_1C4[var_r30] > 0xF) - && (var_r31->unk_1C4[var_r28] > 0xF) && (lbl_1_bss_64[1].unk_00 < 2)) { - lbl_1_bss_64[1].unk_04[lbl_1_bss_64[1].unk_00] = 0.0f; - lbl_1_bss_64[1].unk_00++; - } - var_r31->unk_1C4[var_r30] = 0; - var_r31->unk_1C4[var_r28] = 0; - } - } - } - for (var_r28 = 0; var_r28 < (lbl_1_data_230[var_r31->unk_190] == 2 ? 2 : 3); var_r28++) { - sp180 = var_r31->unk_60[var_r30] - sp3C4[var_r28].x; - sp17C = var_r31->unk_80[var_r30] - sp3C4[var_r28].z; - sp178 = sqrtf((sp180 * sp180) + (sp17C * sp17C)); - if ((sp178 > 0.0f) && (sp178 < 62.5)) { - sp174 = sp180 / sp178; - sp170 = sp17C / sp178; - sp16C = var_r31->unk_90[var_r30]; - sp168 = var_r31->unk_B0[var_r30]; - sp164 = (-sp16C * sp174) - (sp168 * sp170); - var_r31->unk_60[var_r30] += sp174 * (0.1 + (62.5 - sp178)); - var_r31->unk_80[var_r30] += sp170 * (0.1 + (62.5 - sp178)); - var_r31->unk_90[var_r30] = 0.75 * (sp16C + (2.0f * sp174 * sp164)); - var_r31->unk_B0[var_r30] = 0.75 * (sp168 + (2.0f * sp170 * sp164)); - var_r31->unk_60[var_r30] += var_r31->unk_90[var_r30]; - var_r31->unk_80[var_r30] += var_r31->unk_B0[var_r30]; - var_r31->unk_34 = var_r31->unk_30 == (var_r28 + 5) ? (var_r31->unk_34 + 1) : 1; - var_r31->unk_30 = var_r28 + 5; - var_r31->unk_38 = 0; - var_r31->unk_130[var_r30] = 1 << var_r28; - if (((var_r31->unk_90[var_r30] + var_r31->unk_B0[var_r30]) > 0.0) && (var_r31->unk_1C4[var_r30] > 0xF) - && (lbl_1_bss_64[1].unk_00 < 2)) { - lbl_1_bss_64[1].unk_04[lbl_1_bss_64[1].unk_00] = 0.0f; - lbl_1_bss_64[1].unk_00++; - } - var_r31->unk_1C4[var_r30] = 0; - } - } - if (((var_r31->unk_60[var_r30] - 37.5) < -250.0) || ((37.5 + var_r31->unk_60[var_r30]) > 250.0)) { - var_r31->unk_60[var_r30] = (var_r31->unk_60[var_r30] - 37.5) < -250.0 ? -212.5 : 212.5; - var_r31->unk_90[var_r30] *= -0.75; - var_r31->unk_60[var_r30] += var_r31->unk_90[var_r30]; - if (((var_r31->unk_90[var_r30] + var_r31->unk_B0[var_r30]) > 0.0) && (var_r31->unk_1C4[var_r30] > 0xF) - && (lbl_1_bss_64[1].unk_00 < 2)) { - lbl_1_bss_64[1].unk_04[lbl_1_bss_64[1].unk_00] = 0.0f; - lbl_1_bss_64[1].unk_00++; - } - var_r31->unk_1C4[var_r30] = 0; - } - if (((var_r31->unk_80[var_r30] - 37.5) < -250.0) || ((37.5 + var_r31->unk_80[var_r30]) > 250.0)) { - var_r31->unk_80[var_r30] = (var_r31->unk_80[var_r30] - 37.5) < -250.0 ? -212.5 : 212.5; - var_r31->unk_B0[var_r30] *= -0.75; - var_r31->unk_80[var_r30] += var_r31->unk_B0[var_r30]; - if (((var_r31->unk_90[var_r30] + var_r31->unk_B0[var_r30]) > 0.0) && (var_r31->unk_1C4[var_r30] > 0xF) - && (lbl_1_bss_64[1].unk_00 < 2)) { - lbl_1_bss_64[1].unk_04[lbl_1_bss_64[1].unk_00] = 0.0f; - lbl_1_bss_64[1].unk_00++; - } - var_r31->unk_1C4[var_r30] = 0; - } - var_r21 = 0; - for (var_r21 = 0; var_r21 < 0x10; var_r21++) { - var_r31->unk_1C4[var_r21]++; - } - sp160 = 0; - for (var_r28 = 0; var_r28 < 4; var_r28++) { - sp15C = var_r31->unk_60[var_r30] - sp394[var_r28].x; - sp158 = ((sp15C == 0.0f) && (var_r31->unk_80[var_r30] == sp394[var_r28].z)) - ? 1e-10 - : (var_r31->unk_80[var_r30] - sp394[var_r28].z); - var_f23 = sqrtf((sp15C * sp15C) + (sp158 * sp158)); - sp154 = 0; - for (var_r20 = 0; var_r20 < 4; var_r20++) { - if (((var_r31->unk_110[var_r30] & (1 << var_r20)) != 0) && (var_r31->unk_130[var_r20] != 0)) { - sp154 = 1; - } - } - if ((var_r31->unk_0C != -1) && (lbl_1_data_230[var_r31->unk_190] == 1) && (var_r28 == 3)) { - if (var_r31->unk_180[var_r30] > 0) { - var_f23 = 1000.0f; - var_r31->unk_180[var_r30]--; - } - for (var_r27 = 0; var_r27 < 4; var_r27++) { - if ((var_r31->unk_00 == 0) && ((HuPadBtn[0] & PAD_BUTTON_B) != 0)) { - OSReport("%d | %d\n%d | %d\n%f,%f\n%f,%f\n", var_r31->unk_110[var_r30], 1 << var_r27, - var_r31->unk_110[var_r27], 1 << var_r30, var_r31->unk_60[var_r30], var_r31->unk_80[var_r30], - var_r31->unk_60[var_r27], var_r31->unk_80[var_r27]); - } - if ((((var_r31->unk_110[var_r30] & (1 << var_r27)) != 0) || ((var_r31->unk_110[var_r27] & (1 << var_r30)) != 0)) - && (var_r31->unk_80[var_r27] > var_r31->unk_80[var_r30]) && (var_r31->unk_60[var_r30] < 100.0f) - && (var_r31->unk_60[var_r30] > -100.0f) && (var_r31->unk_80[var_r30] > 150.0f) - && (var_r31->unk_60[var_r27] < 100.0f) && (var_r31->unk_60[var_r27] > -100.0f) - && (var_r31->unk_80[var_r27] > 150.0f)) { - var_f23 = 1000.0f; - var_r31->unk_180[var_r30] = 3; - } - } - } - if ((sp154 == 0) && (var_f23 < 37.5)) { - sp150 = sp15C / var_f23; - sp14C = sp158 / var_f23; - sp148 = 37.5 * sind((90.0 * (-var_r31->unk_70[var_r30] / 37.5))); - sp144 = var_r31->unk_70[var_r30] <= -37.5 ? 90.0 : (asind(1.0 + (var_r31->unk_70[var_r30] / 37.5))); - var_r31->unk_140[var_r30] = 1 << var_r28; - sp140 = sqrtf((var_r31->unk_B0[var_r30] * var_r31->unk_B0[var_r30]) - + ((var_r31->unk_90[var_r30] * var_r31->unk_90[var_r30]) - + (var_r31->unk_A0[var_r30] * var_r31->unk_A0[var_r30]))); - sp13C = sqrtf( - (var_r31->unk_90[var_r30] * var_r31->unk_90[var_r30]) + (var_r31->unk_B0[var_r30] * var_r31->unk_B0[var_r30])); - sp138 = atan2d(var_r31->unk_A0[var_r30], sp13C); - var_r31->unk_90[var_r30] -= 0.375 * sp150; - var_r31->unk_B0[var_r30] -= 0.375 * sp14C; - var_r31->unk_60[var_r30] -= 0.375 * sp150; - var_r31->unk_80[var_r30] -= 0.375 * sp14C; - if (var_r31->unk_70[var_r30] < (-25.0 * sind((90.0 * (1.0 - (var_f23 / 37.5)))))) { - var_r31->unk_70[var_r30] = -25.0 * sind((90.0 * (1.0 - (var_f23 / 37.5)))); - } - if ((var_r31->unk_70[var_r30] <= -24.5) && (var_f23 < 0.75)) { - var_r31->unk_70[var_r30] = -25.0f; - var_r31->unk_A0[var_r30] = 0.0f; - var_r31->unk_F0[var_r30] = 1; - var_r31->unk_100[var_r28] = 1; - var_r31->unk_48 = lbl_1_rodata_10[var_r31->unk_10]; - if (lbl_1_bss_64[2].unk_00 < 2) { - lbl_1_bss_64[2].unk_04[lbl_1_bss_64[2].unk_00] = 0.0f; - lbl_1_bss_64[2].unk_00++; - } - omVibrate(var_r31->unk_04, 0xC, 6, 6); - } - } - else { - sp160++; - } - if (var_r28 == 3) { - if ((sp160 == 4) && (var_r31->unk_70[var_r30] < 0.0f)) { - var_r31->unk_70[var_r30] = 0.0f; - var_r31->unk_A0[var_r30] *= -0.0; - } - else { - var_r31->unk_A0[var_r30] += -0.1875; - } - } - } - sp134 = atan2d(sp1C4, sp1C0); - sp130 = atan2d(var_r31->unk_90[var_r30], var_r31->unk_B0[var_r30]); - var_f22 - = sqrtf((var_r31->unk_90[var_r30] * var_r31->unk_90[var_r30]) + (var_r31->unk_B0[var_r30] * var_r31->unk_B0[var_r30])); - var_f25 = sp130 - sp134; - var_f25 += var_f25 < -180.0f ? 0x168 : (var_f25 > 180.0f ? -0x168 : 0); - var_f25 += var_f25 < -180.0f ? 0x168 : (var_f25 > 180.0f ? -0x168 : 0); - var_f22 = var_f22 <= (1.03125 * sqrt(0.03858024691358024)) ? 0.0f : var_f22; - var_r31->unk_D0[var_r30] - -= (2.625 * ((var_f22 * (var_f25 < -90.0f ? -1.0 : (var_f25 > 90.0f ? 1.0 : (var_f25 / 90.0)))) / 3.75)); - var_r31->unk_D0[var_r30] = var_r31->unk_D0[var_r30] >= 7.875 ? 7.875 : var_r31->unk_D0[var_r30]; - var_r31->unk_C0[var_r30] += var_r31->unk_D0[var_r30]; - var_r31->unk_C0[var_r30] += var_r31->unk_C0[var_r30] < -180.0f ? 0xB4 : (var_r31->unk_C0[var_r30] > 180.0f ? -0xB4 : 0); - if (fabs(var_f22) < fabs(var_r31->unk_E0[var_r30])) { - var_r31->unk_D0[var_r30] - = var_r31->unk_E0[var_r30] == 0.0f ? 0.0f : ((var_r31->unk_D0[var_r30] * var_f22) / var_r31->unk_E0[var_r30]); - } - var_r31->unk_E0[var_r30] = var_f22; - } - } - } - } - Hu3DModelRotSet(var_r29->model[var_r31->unk_190 + 1], 10.0f * var_r31->unk_5C, 0.0f, 10.0f * -var_r31->unk_58); - Hu3DModelRotSet(var_r29->model[11], 10.0f * var_r31->unk_5C, 0.0f, 10.0f * -(var_r31->unk_58)); - if (lbl_1_bss_48 == 0x3EB) { - sp12C = var_r29->rot.y; - sp128 = 180.0 + ((8.0f * var_r31->unk_58) * (0.125 + ((0.6 + var_r31->unk_5C) / 0.875))); - var_r29->rot.y = (3.0f + sp12C) < sp128 ? (3.0f + sp12C) : ((sp12C - 3.0f) > sp128 ? (sp12C - 3.0f) : sp128); - if (lbl_1_bss_4C == 0xA) { - Hu3DMotionShiftSet(var_r29->model[0], var_r29->motion[1], 39.0 * (0.5 + (0.5 * var_r31->unk_5C)), 20.0f, HU3D_MOTATTR_PAUSE); - } - } - else if (lbl_1_bss_48 == 0x3EC) { - omSetRot(var_r29, 0.0f, 180.0 + ((8.0f * var_r31->unk_58) * (0.125 + ((0.6 + var_r31->unk_5C) / 0.875))), 0.0f); - Hu3DMotionTimeSet(var_r29->model[0], 39.0 * (0.5 + (0.5 * var_r31->unk_5C))); - } - else if (lbl_1_bss_48 == 0x3ED) { - if (lbl_1_bss_4C == 1) { - Hu3DModelAttrReset(var_r29->model[0], HU3D_MOTATTR_PAUSE); - Hu3DMotionShiftSet(var_r29->model[0], var_r29->motion[0], 0.0f, 12.0f, HU3D_MOTATTR_LOOP); - } - if (lbl_1_bss_4C >= 0x19) { - var_r29->rot.y *= 0.8; - } - } - else if (lbl_1_bss_48 >= 0x3EE) { - var_r29->rot.y = 0.0f; - if ((lbl_1_bss_4C == 1) && (lbl_1_bss_48 == 0x3EE)) { - if ((var_r31->unk_00 != lbl_1_bss_30) && (var_r31->unk_08 != -1)) { - s32 sp2E4[8] = { 0x121, 0x161, 0x1A1, 0x1E1, 0x221, 0x261, 0x2A1, 0x2E1 }; - HuAudFXPlay(sp2E4[var_r31->unk_08]); - } - Hu3DMotionShiftSet(var_r29->model[0], var_r29->motion[var_r31->unk_00 == lbl_1_bss_30 ? 2 : 3], 0.0f, 8.0f, - ((var_r31->unk_00 == lbl_1_bss_30) && (var_r31->unk_08 == -1)) ? 0x40000001 : 0); - } - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - lbl_1_bss_18 = var_r31->unk_C0[var_r30]; - lbl_1_bss_18 = lbl_1_bss_18 < -180.0f ? (360.0f + lbl_1_bss_18) : (lbl_1_bss_18 > 180.0f ? (lbl_1_bss_18 - 360.0f) : lbl_1_bss_18); - sp124 = ((-90.175 <= lbl_1_bss_18) && (lbl_1_bss_18 <= -90.0f)) != 0 - ? -90.175 - : ((-90.0f <= lbl_1_bss_18) && (lbl_1_bss_18 <= -89.825) ? -89.825 : lbl_1_bss_18); - MTXRotRad(sp304, 0x78, 0.017453292f * (10.0f * var_r31->unk_5C)); - MTXRotRad(sp364, 0x7A, 0.017453292f * (10.0f * -var_r31->unk_58)); - MTXConcat(sp364, sp304, sp364); - MTXRotRad(sp304, 0x79, 0.017453292f * sp124); - MTXRotRad(sp334, 0x78, 0.017453292f * (15.0f * var_r31->unk_5C)); - MTXConcat(sp334, sp304, sp334); - MTXRotRad(sp304, 0x7A, 0.017453292f * (15.0f * -var_r31->unk_58)); - MTXConcat(sp304, sp334, sp334); - Hu3DMtxRotGet(sp334, &sp2A8); - sp2B4.x = var_r31->unk_60[var_r30]; - sp2B4.y = var_r31->unk_70[var_r30]; - sp2B4.z = var_r31->unk_80[var_r30]; - MTXMultVec(sp364, &sp2B4, &sp2B4); - Hu3DModelPosSet(var_r29->model[var_r30 + 0xC], sp2D8.x + sp2B4.x, sp2D8.y + sp2B4.y, sp2D8.z + sp2B4.z); - Hu3DModelRotSet(var_r29->model[var_r30 + 0xC], 10.0f * var_r31->unk_5C, 0.0f, 10.0f * -var_r31->unk_58); - Hu3DModelRotSet(var_r29->model[var_r30 + 0xC], sp2A8.x, sp2A8.y, sp2A8.z); - } - } -} - -s32 lbl_1_data_284 = -1; -float lbl_1_data_288 = 700.0f; -float lbl_1_data_28C = 314.0f; -float lbl_1_data_290 = -100.0f; -float lbl_1_data_294 = -30.0f; - -void fn_1_6850(omObjData *object) -{ - M449DllWork *sp20[2]; - s32 sp1C; - s32 sp18; - s32 sp14; - s32 sp10; - s32 spC; - s32 sp8; - float var_f31; - float var_f30; - float var_f29; - - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - s32 var_r22; - s32 var_r21; - s32 var_r20; - - for (var_r31 = 0; var_r31 < 2; var_r31++) { - sp20[var_r31] = (&lbl_1_bss_54)[var_r31]->data; - } - lbl_1_bss_4++; - if (lbl_1_bss_48 == 0x3EC) { - lbl_1_bss_14++; - } - var_r27 = 0; - var_r26 = 0; - var_r25 = 0; - var_r24 = 0; - if ((sp20[0]->unk_190 == 2) && (sp20[0]->unk_F0[0] != 0)) { - var_r24 = 1; - } - if ((var_r24 != 0) && (sp20[0]->unk_F0[1] != 0)) { - var_r25 = 1; - } - if ((var_r25 != 0) && (sp20[0]->unk_F0[2] != 0)) { - var_r26 = 1; - } - if ((var_r26 != 0) && (sp20[0]->unk_F0[3] != 0)) { - var_r27 = 1; - } - var_r30 = var_r27; - var_r23 = 0; - var_r22 = 0; - var_r21 = 0; - var_r20 = 0; - if ((sp20[1]->unk_190 == 2) && (sp20[1]->unk_F0[0] != 0)) { - var_r20 = 1; - } - if ((var_r20 != 0) && (sp20[1]->unk_F0[1] != 0)) { - var_r21 = 1; - } - if ((var_r21 != 0) && (sp20[1]->unk_F0[2] != 0)) { - var_r22 = 1; - } - if ((var_r22 != 0) && (sp20[1]->unk_F0[3] != 0)) { - var_r23 = 1; - } - var_r29 = var_r23; - lbl_1_bss_30 = lbl_1_bss_30 == -1 ? ((var_r30 != 0) && (var_r29 != 0) ? (rand8() % 2) : (var_r30 != 0 ? 0 : (var_r29 != 0 ? 1 : lbl_1_bss_30))) - : lbl_1_bss_30; - lbl_1_bss_30 = ((lbl_1_bss_30 == -1) && (lbl_1_bss_14 >= 0x4650)) != 0 - ? (sp20[0]->unk_190 > sp20[1]->unk_190 ? 0 : (sp20[0]->unk_190 < sp20[1]->unk_190 ? 1 : 4)) - : lbl_1_bss_30; - var_r28 = lbl_1_data_284; - { - UnkCameraStruct sp28[4] = { - { 2500.0f, 0.0f, 0.0f, -100.0f, -40.0f, 0.0f }, - { 700.0f, 0.0f, 0.0f, -750.0f, -30.0f, 0.0f }, - { 775.0f, -350.0f, -27.0f, 400.0f, -25.0f, -7.0f }, - { 775.0f, 350.0f, -27.0f, 400.0f, -25.0f, 7.0f }, - }; - if (lbl_1_data_284 == -1) { - lbl_1_data_284 = 1; - lbl_1_bss_1C = 1; - lbl_1_bss_20 = 1.0f; - } - if ((lbl_1_bss_48 == 0x3E9) && (lbl_1_data_284 == 1)) { - lbl_1_data_284 = 0; - lbl_1_bss_1C = 1; - lbl_1_bss_20 = 0.0f; - } - if ((lbl_1_bss_48 == 0x3EE) && (lbl_1_bss_4C == 1) && (lbl_1_bss_30 == 0)) { - lbl_1_data_284 = 2; - lbl_1_bss_1C = 0; - lbl_1_bss_20 = 0.0f; - } - if ((lbl_1_bss_48 == 0x3EE) && (lbl_1_bss_4C == 1) && (lbl_1_bss_30 == 1) && (sp20[1]->unk_08 != -1)) { - lbl_1_data_284 = 3; - lbl_1_bss_1C = 0; - lbl_1_bss_20 = 0.0f; - } - if ((var_r28 != lbl_1_data_284) && (var_r28 != -1)) { - lbl_1_data_288 = CZoom; - lbl_1_data_28C = Center.y; - lbl_1_data_290 = Center.z; - lbl_1_data_294 = CRot.x; - } - if (lbl_1_bss_20 <= 1.0f) { - if (lbl_1_bss_1C == 0) { - lbl_1_bss_20 = 1.0 - (0.95 * (1.0f - lbl_1_bss_20)); - var_f31 = lbl_1_bss_20; - } - else { - lbl_1_bss_20 += 0.008333333333333333; - lbl_1_bss_20 = lbl_1_bss_20 > 1.0f ? 1.0f : lbl_1_bss_20; - var_f31 = 0.5 + (-0.5 * cosd((180.0f * lbl_1_bss_20))); - } - lbl_1_bss_20 = lbl_1_bss_20 > 1.0f ? 1.0f : lbl_1_bss_20; - CZoom = (var_f31 * sp28[lbl_1_data_284].unk_00) + (lbl_1_data_288 * (1.0f - var_f31)); - Center.x = (var_f31 * sp28[lbl_1_data_284].unk_04) + (lbl_1_bss_24 * (1.0f - var_f31)); - Center.y = (var_f31 * sp28[lbl_1_data_284].unk_08) + (lbl_1_data_28C * (1.0f - var_f31)); - Center.z = (var_f31 * sp28[lbl_1_data_284].unk_0C) + (lbl_1_data_290 * (1.0f - var_f31)); - CRot.x = (var_f31 * sp28[lbl_1_data_284].unk_10) + (lbl_1_data_294 * (1.0f - var_f31)); - CRot.y = (var_f31 * sp28[lbl_1_data_284].unk_14) + (lbl_1_bss_28 * (1.0f - var_f31)); - } - } -} - -static const u32 lbl_1_rodata_580[6] = { 0x2C0003, 0x2C0004, 0x2C0005, 0x2C0006, 0x2C0007, 0 }; - -void fn_1_71A8(void) -{ - M449DllWork *sp8[2]; - - s16 var_r31; - s32 var_r30; - s16 var_r29; - s32 var_r28; - s32 var_r27; - u32 var_r26; - - var_r29 = 0; - for (var_r30 = 0; var_r30 < 2; var_r30++) { - sp8[var_r30] = (&lbl_1_bss_54)[var_r30]->data; - } - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, 0x3C); - HuWinComKeyReset(); - var_r31 = HuWinExCreateStyled(-10000.0f, 60.0f, 0x118, 0x78, -1, 1); - HuWinExAnimIn(var_r31); - HuWinBGTPLvlSet(var_r31, 0.8f); - HuWinMesSpeedSet(var_r31, 1); - HuWinDisablePlayerSet( - var_r31, 0xF & ((sp8[0]->unk_0C != -1) ? ~(1 << sp8[0]->unk_0C) : 0xF) & ((sp8[1]->unk_0C != -1) ? ~(1 << sp8[1]->unk_0C) : 0xF)); - HuWinMesColSet(var_r31, 0); - HuWinMesSet(var_r31, 0x2C0001); - if (((sp8[0]->unk_0C == -1) || (sp8[0]->unk_08 == -1)) && ((sp8[1]->unk_0C == -1) || (sp8[1]->unk_08 == -1))) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, 0x3C); - } - HuWinMesWait(var_r31); - if ((sp8[0]->unk_0C != -1) || (sp8[1]->unk_0C != -1)) { - HuWinMesColSet(var_r31, 0); - HuWinMesSet(var_r31, 0x2C0002); - if ((sp8[0]->unk_0C == -1) && (sp8[1]->unk_0C == -1)) { - HuPrcSleep(0x3C); - var_r29 = 1; - } - else { - var_r29 = HuWinChoiceGet(var_r31, 0); - } - } - else { - var_r29 = 1; - } - if (var_r29 == 0) { - var_r30 = 0; - while ((var_r26 = lbl_1_rodata_580[var_r30++]) != 0) { - HuWinMesColSet(var_r31, 0); - HuWinMesSet(var_r31, var_r26); - if ((sp8[0]->unk_0C == -1 || sp8[0]->unk_08 == -1) && (sp8[1]->unk_0C == -1 || sp8[1]->unk_08 == -1)) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, 60); - } - HuWinMesWait(var_r31); - } - } - else { - HuWinMesColSet(var_r31, 0); - HuWinMesSet(var_r31, 0x2C0008); - if (((sp8[0]->unk_0C == -1) || (sp8[0]->unk_08 == -1)) && ((sp8[1]->unk_0C == -1) || (sp8[1]->unk_08 == -1))) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, 60); - } - HuWinMesWait(var_r31); - } - HuWinExAnimOut(var_r31); - HuWinExCleanup(var_r31); - lbl_1_bss_10 = 0; - HuPrcEnd(); -} - -void fn_1_7544(omObjData *var_r29) -{ - M449DllWork *spC[2]; - s32 sp8; - - s32 var_r31; - s32 var_r30; - - for (var_r31 = 0; var_r31 < 0xC; var_r31++) { - s32 sp14[12] = { 0x7A2, 0x7A3, 0x7A4, 0x7A5, 0, 0, 0, 0, 0, 0, 0, 0 }; - if (lbl_1_bss_64[var_r31].unk_00 > 3) { - lbl_1_bss_64[var_r31].unk_00 = 3; - } - if ((lbl_1_bss_64[var_r31].unk_00 > 0) && (var_r31 != 1)) { - sp8 = HuAudFXPlay(sp14[var_r31]); - lbl_1_bss_64[var_r31].unk_00--; - } - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - spC[var_r31] = (&lbl_1_bss_54)[var_r31]->data; - } - if ((omSysExitReq != 0) && (WipeStatGet() == 0)) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - var_r29->func = fn_1_9A38; - } - switch (lbl_1_bss_48) { - case 0x3E8: - if (WipeStatGet() == 0) { - lbl_1_bss_48++; - lbl_1_bss_4C = 0; - return; - } - break; - case 0x3E9: - lbl_1_bss_4C++; - if (lbl_1_bss_4C > 0x78) { - lbl_1_bss_48++; - if ((spC[0]->unk_08 != -1) && (spC[1]->unk_08 != -1)) { - lbl_1_bss_48++; - } - lbl_1_bss_44 = 0; - lbl_1_bss_4C = 0; - return; - } - break; - case 0x3EA: - lbl_1_bss_4C++; - if (lbl_1_bss_4C == 1) { - HuPrcChildCreate(fn_1_71A8, 0x64, 0x2000, 0, HuPrcCurrentGet()); - lbl_1_bss_10 = 1; - if (lbl_1_data_22C == -1) { - lbl_1_data_22C = HuAudSeqPlay(0x3D); - return; - } - } - else if (lbl_1_bss_10 == 0) { - lbl_1_bss_48++; - if (lbl_1_data_22C != -1) { - HuAudSeqFadeOut(lbl_1_data_22C, 0x3E8); - lbl_1_data_22C = -1; - } - lbl_1_bss_4C = 0; - return; - } - break; - case 0x3EB: - lbl_1_bss_4C++; - if ((lbl_1_bss_4C == 5) && (lbl_1_data_228 < 0)) { - lbl_1_data_228 = MGSeqCreate(3, 0); - } - if ((lbl_1_bss_4C >= 5) && (lbl_1_data_22C == -1) && ((MGSeqStatGet(lbl_1_data_228) & 0x10) != 0)) { - lbl_1_data_22C = HuAudSeqPlay(0x3E); - } - if ((lbl_1_bss_4C >= 5) && (MGSeqStatGet(lbl_1_data_228) == 0) && (lbl_1_data_228 >= 0)) { - for (var_r30 = 0; var_r30 < 0x12; var_r30++) { - if (((var_r30 % 9) < 5) || ((var_r30 % 9) > 7)) { - espDispOn(lbl_1_data_48[var_r30]); - } - } - lbl_1_bss_48++; - lbl_1_data_228 = -1; - lbl_1_bss_4C = 0; - return; - } - break; - case 0x3EC: - lbl_1_bss_4C++; - if (lbl_1_bss_14 == 0x3F48) { - lbl_1_data_22A = MGSeqCreate(1, 0x1E, -1, -1); - } - if (lbl_1_data_22A != -1) { - MGSeqParamSet(lbl_1_data_22A, 1, (0x468B - lbl_1_bss_14) / 60); - } - if (lbl_1_bss_30 != -1) { - lbl_1_bss_48 = 0x3ED; - lbl_1_bss_4C = 0; - return; - } - break; - case 0x3ED: - lbl_1_bss_4C++; - if ((lbl_1_data_228 < 0) && (lbl_1_bss_4C == 1)) { - if (lbl_1_data_22A != -1) { - MGSeqParamSet(lbl_1_data_22A, 2, -1); - } - lbl_1_data_228 = MGSeqCreate(3, 1); - if (lbl_1_data_22C != -1) { - HuAudSeqFadeOut(lbl_1_data_22C, 0x64); - lbl_1_data_22C = -1; - return; - } - } - else if (MGSeqStatGet(lbl_1_data_228) == 0) { - lbl_1_bss_48++; - lbl_1_bss_4C = 0; - if (lbl_1_bss_30 == 4) { - lbl_1_bss_30 = spC[0]->unk_08 == -1 ? 0 : (spC[1]->unk_08 == -1 ? 1 : lbl_1_bss_30); - return; - } - } - break; - case 0x3EE: - lbl_1_bss_4C++; - if (lbl_1_bss_4C == 1) { - if (lbl_1_bss_30 != 4) { - if (spC[lbl_1_bss_30]->unk_08 != -1) { - HuAudSStreamPlay(1); - } - else { - HuAudSStreamPlay(3); - } - GWPlayerCoinWinSet(spC[lbl_1_bss_30]->unk_04, 10); - } - else if (lbl_1_bss_30 == 4) { - HuAudSStreamPlay(4); - } - } - if ((210.0f + (lbl_1_bss_30 == 4 ? 0x1E : 0)) < lbl_1_bss_4C) { - lbl_1_data_228 = -1; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x3C); - var_r29->func = fn_1_9A38; - } - break; - } -} - -void fn_1_7ECC(omObjData *var_r31) -{ - var_r31->model[0] = Hu3DModelCreateFile(0x500008); - Hu3DModelAttrSet(var_r31->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelShadowMapSet(var_r31->model[0]); - var_r31->model[1] = Hu3DModelCreateFile(0x500009); - var_r31->model[2] = Hu3DModelCreateFile(0x50000A); - Hu3DModelAttrSet(var_r31->model[2], HU3D_MOTATTR_LOOP); - var_r31->func = fn_1_6850; -} - -void fn_1_7F94(ModelData *model, ParticleData *particle, Mtx matrix) -{ - float var_f31; - float var_f30; - float var_f29; - - HsfanimStruct01 *var_r31; - s16 var_r29; - - if (particle->unk_34 == 0) { - for (var_r31 = particle->unk_48, var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - var_r31->unk00 = 0; - var_r31->unk40.a = 0; - var_r31->unk2C = 0.0f; - } - } - if (particle->unk_34 >= 0xFF) { - for (var_r31 = particle->unk_48, var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - var_r31->unk00 = 0xFF; - var_r31->unk40.a = 0; - var_r31->unk2C = 0.0f; - } - } - for (var_r31 = particle->unk_48, var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - if (!var_r31->unk2C) { - break; - } - } - for (var_r31 = particle->unk_48, var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - if (var_r31->unk00 == 1) { - var_f31 = ((frand() & 0xFF) * 0x168) >> 8; - var_f30 = 0.5 + (1.5 * (rand8() / 256.0)); - var_r31->unk08.x = 2.5 * (var_f30 * sind(var_f31)); - var_r31->unk08.y = 4.5 * (var_f30 * cosd(var_f31)); - var_r31->unk08.y *= var_r31->unk08.y < 0.0f ? -0.5 : 1.0; - var_r31->unk08.x = (12.0 * (rand8() / 255.0)) - 6.0; - var_r31->unk08.y = 12.0 * (rand8() / 255.0); - var_r31->unk08.z = (rand8() / 255.0) - 0.5; - var_r31->unk34.x = 2.0f * var_r31->unk08.x; - var_r31->unk34.y = 10.0f + (2.0f * var_r31->unk08.y); - var_r31->unk34.z = 50.0f + (2.0f * var_r31->unk08.z); - var_r31->unk40.r = 0xFF; - var_r31->unk40.g = 0xFF; - var_r31->unk40.b = 0xFF; - var_r31->unk40.a = 0xFF; - var_r31->unk2C = 50.0f; - } - if (var_r31->unk00 < 0xF0) { - VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); - var_r31->unk08.x *= 0.9f; - var_r31->unk08.z *= 0.9f; - var_r31->unk08.y *= 0.9f; - var_r31->unk40.a = (var_r31->unk40.a * 0xB) / 12; - var_r31->unk2C += 1.01f; - if (var_r31->unk2C <= 0.0f) { - var_r31->unk2C = 0.0f; - } - if (var_r31->unk40.a == 0) { - var_r31->unk40.a = 0; - var_r31->unk2C = 0.0f; - } - } - var_r31->unk00 += var_r31->unk00 < 0x8000; - if (var_r31->unk00 >= 0xF0) { - var_r31->unk40.a = 0; - var_r31->unk2C = 0.0f; - } - } -} - -void fn_1_8538(omObjData *var_r30) -{ - Vec sp60; - Vec sp54; - void *sp48; - - M449DllWork *var_r31; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - M449DllWork *var_r25; - s32 var_r24; - s32 var_r23; - - var_r26 = -1; - var_r24 = -1; - var_r31 = var_r30->data; - sp48 = (&lbl_1_bss_54)[1 - var_r30->work[0]]->data; - memset(var_r31, 0, sizeof(M449DllWork)); - var_r31->unk_00 = var_r30->work[0]; - if ((GWPlayerCfg->character == 0xC) || (GWPlayerCfg[1].character == 0xC) || (GWPlayerCfg[2].character == 0xC) - || (GWPlayerCfg[3].character == 0xC)) { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (GWPlayerCfg[var_r29].character == 0xC) { - var_r26 = var_r29; - } - } - var_r24 = GWPlayerCfg[var_r26].group == 0 ? 1 : 0; - if (var_r31->unk_00 == 0) { - var_r31->unk_04 = var_r24; - var_r23 = var_r26; - } - else { - var_r31->unk_04 = var_r26; - var_r23 = var_r24; - } - } - else { - var_r31->unk_04 = GWPlayerCfg[0].group == var_r31->unk_00 - ? 0 - : (GWPlayerCfg[1].group == var_r31->unk_00 - ? 1 - : (GWPlayerCfg[2].group == var_r31->unk_00 ? 2 : (GWPlayerCfg[3].group == var_r31->unk_00 ? 3 : 4))); - var_r23 = GWPlayerCfg->group == (1 - var_r31->unk_00) - ? 0 - : (GWPlayerCfg[1].group == (1 - var_r31->unk_00) - ? 1 - : (GWPlayerCfg[2].group == (1 - var_r31->unk_00) ? 2 : (GWPlayerCfg[3].group == (1 - var_r31->unk_00) ? 3 : 4))); - } - if (var_r31->unk_04 == 4) { - OSReport("m448:wrong player group\n"); - var_r31->unk_04 = var_r31->unk_00; - } - var_r31->unk_08 = ((var_r26 != -1) && (var_r31->unk_00 == 1)) != 0 ? -1 : GWPlayerCfg[var_r31->unk_04].character; - var_r31->unk_0C = ((var_r31->unk_08 == -1) || (GWPlayerCfg[var_r31->unk_04].iscom != 0)) != 0 ? -1 : GWPlayerCfg[var_r31->unk_04].pad_idx; - var_r31->unk_10 = var_r31->unk_0C != -1 ? 0 : GWPlayerCfg[var_r31->unk_04].diff; - var_r31->unk_18 = -1; - var_r31->unk_1C = 0; - var_r31->unk_48 = lbl_1_rodata_10[var_r31->unk_10]; - var_r31->unk_4C = 0; - var_r31->unk_214 = -1; - if (var_r31->unk_08 != -1) { - var_r30->model[0] = CharModelCreate(var_r31->unk_08, 1); - } - else { - var_r30->model[0] = Hu3DModelCreateFile(0x50001B); - } - Hu3DModelObjPosGet(lbl_1_bss_50->model[1], lbl_1_data_E8[var_r31->unk_00 + 2], &sp54); - omSetTra(var_r30, sp54.x, sp54.y, sp54.z); - if (var_r30->trans.x == -360.0f) { - var_r30->trans.x = -350.0f; - } - omSetRot(var_r30, 0.0f, (var_r31->unk_00 * 0xB4) + 0x5A, 0.0f); - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (var_r31->unk_08 != -1) { - var_r30->motion[var_r29] - = CharModelMotionCreate(var_r31->unk_08, lbl_1_data_90[var_r29] + (lbl_1_data_B0[var_r29] != 0 ? var_r31->unk_08 : 0)); - } - else { - var_r30->motion[var_r29] = Hu3DJointMotionFile(var_r30->model[0], lbl_1_data_A0[var_r29]); - } - } - Hu3DMotionSet(var_r30->model[0], var_r30->motion[0]); - Hu3DMotionTimeSet(var_r30->model[0], 20.0f); - Hu3DModelAttrSet(var_r30->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(var_r30->model[0]); - CharModelVoiceEnableSet(var_r31->unk_08, var_r30->motion[3], 0); - lbl_1_data_23C[var_r31->unk_00] = var_r31->unk_00 == 0 ? (rand8() % 3) : ((lbl_1_data_23C[0] + ((rand8() % 2)) + 1) % 3); - if (var_r31->unk_00 == 0) { - for (var_r29 = 0; var_r29 < 3; var_r29++) { - M449DllUnkStruct sp6C = { - { 0x0050000B, 0x0050000D, 0x0050000F, 0x00500011 }, - { 0x0050000C, 0x0050000E, 0x00500010, 0x00500012 }, - }; - do { - while (TRUE) { - var_r27 = rand8() % 4; - if (lbl_1_data_230[0] == var_r27) { - continue; - } - if (lbl_1_data_230[1] == var_r27) { - continue; - } - break; - } - } while (lbl_1_data_230[2] == var_r27); - lbl_1_data_230[var_r29] = var_r27; - var_r30->model[var_r29 + 1] = Hu3DModelCreateFile(sp6C.unk_00[var_r27]); - var_r30->model[var_r29 + 4] = Hu3DModelCreateFile(sp6C.unk_10[var_r27]); - } - var_r30->model[11] = Hu3DModelCreateFile(0x500013); - } - else { - for (var_r29 = 0; var_r29 < 3; var_r29++) { - var_r30->model[var_r29 + 1] = Hu3DModelLink(lbl_1_bss_54->model[var_r29 + 1]); - var_r30->model[var_r29 + 4] = Hu3DModelLink(lbl_1_bss_54->model[var_r29 + 4]); - } - var_r30->model[11] = Hu3DModelLink(lbl_1_bss_54->model[11]); - } - Hu3DModelObjPosGet(lbl_1_bss_50->model[1], lbl_1_data_E8[var_r31->unk_00], &sp54); - for (var_r29 = 0; var_r29 < 3; var_r29++) { - if (var_r29 != 0) { - Hu3DModelAttrSet(var_r30->model[var_r29 + 1], HU3D_ATTR_DISPOFF); - } - Hu3DModelPosSet(var_r30->model[var_r29 + 1], sp54.x, sp54.y, sp54.z); - Hu3DModelPosSet(var_r30->model[var_r29 + 4], sp54.x, sp54.y, sp54.z); - Hu3DModelShadowSet(var_r30->model[var_r29 + 1]); - } - Hu3DModelPosSet(var_r30->model[11], sp54.x, sp54.y, sp54.z); - Hu3DModelShadowSet(var_r30->model[11]); - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (var_r29 == 0) { - var_r30->model[var_r29 + 0xC] = Hu3DModelCreateFile(var_r31->unk_00 == 0 ? 0x500014 : 0x500015); - } - else { - var_r30->model[var_r29 + 0xC] = Hu3DModelLink(var_r30->model[12]); - } - Hu3DModelObjPosGet(lbl_1_bss_50->model[1], lbl_1_data_E8[var_r31->unk_00], &sp54); - Hu3DModelObjPosGet(var_r30->model[4], lbl_1_data_138[var_r29], &sp60); - var_r31->unk_60[var_r29] = sp60.x - sp54.x; - var_r31->unk_80[var_r29] = sp60.z - sp54.z; - var_r31->unk_90[var_r29] = var_r31->unk_B0[var_r29] = 0.0f; - Hu3DModelPosSet(var_r30->model[var_r29 + 0xC], sp60.x, sp60.y, sp60.z); - } - for (var_r29 = 0; var_r29 < 4; var_r29++) { - var_r28 = var_r29 + 7; - Hu3DModelObjPosGet(var_r30->model[4], lbl_1_data_138[var_r29], &sp60); - var_r30->model[var_r28] = Hu3DParticleCreate(HuSprAnimRead(HuDataReadNum(0x120003, 0x10000000)), 0x32); - Hu3DModelPosSet(var_r30->model[var_r28], 2000.0f, -2000.0f, -2000.0f); - Hu3DModelScaleSet(var_r30->model[var_r28], 1.0f, 1.0f, 1.0f); - Hu3DModelLayerSet(var_r30->model[var_r28], 3); - Hu3DModelAttrReset(var_r30->model[var_r28], HU3D_ATTR_DISPOFF); - Hu3DParticleColSet(var_r30->model[var_r28], 0xFF, 0xFF, 0xFF); - Hu3DParticleScaleSet(var_r30->model[var_r28], 5.0f); - Hu3DParticleHookSet(var_r30->model[var_r28], fn_1_7F94); - Hu3DParticleCntSet(var_r30->model[var_r28], 0xFF); - } - if (var_r31->unk_00 == 1) { - for (var_r29 = 0; var_r29 < 0x12; var_r29++) { - s32 sp4C[2] = { 0x64, 0x1E5 }; - s32 spD4[0x12] = { 0, 0, -14, 16, 46, -14, 16, 46, -50, 0, 0, -14, 16, 46, -14, 16, 46, -50 }; - s32 sp8C[0x12] = { 0, 0, -2, -2, -2, -2, -2, -2, 0, 0, 0, -2, -2, -2, -2, -2, -2, 0 }; - if ((lbl_1_data_0[var_r29] + 0xFF9F0000) == 0) { - var_r25 = (&lbl_1_bss_54)[var_r29 == 8 ? 0 : (var_r29 == 0x11 ? 1 : 0)]->data; - lbl_1_data_48[var_r29] = espEntry(var_r25->unk_08 == -1 ? 0x500018 : (var_r25->unk_08 + lbl_1_data_0[var_r29]), 0, 0); - } - else { - lbl_1_data_48[var_r29] = espEntry(lbl_1_data_0[var_r29], 0, 0); - } - espDrawNoSet(lbl_1_data_48[var_r29], 0); - espAttrSet(lbl_1_data_48[var_r29], HUSPR_ATTR_NOANIM | HUSPR_ATTR_DISPOFF); - espBankSet(lbl_1_data_48[var_r29], 0); - espPriSet(lbl_1_data_48[var_r29], 0x80 - var_r29); - espPosSet(lbl_1_data_48[var_r29], spD4[var_r29] + sp4C[var_r29 < 9 ? 0 : 1], sp8C[var_r29] + 0x46); - if ((var_r29 >= 9 ? (var_r29 - 9) : var_r29) != 0) { - (void)var_r29; - continue; - } - else { - espTPLvlSet(lbl_1_data_48[var_r29], 0.5f); - espColorSet(lbl_1_data_48[var_r29], 0, 0, 0); - } - } - } - var_r30->func = fn_1_758; -} - -void fn_1_94F8(omObjData *var_r31) -{ - lbl_1_bss_48 = 0x3E8; - lbl_1_bss_4C = 0; - lbl_1_bss_40 = 0; - lbl_1_bss_3C = 0; - if (lbl_1_bss_64[0].unk_00 < 2) { - lbl_1_bss_64[0].unk_04[lbl_1_bss_64[0].unk_00] = 0.0f; - lbl_1_bss_64[0].unk_00++; - } - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - var_r31->func = fn_1_7544; -} - -void ObjectSetup(void) -{ - s32 var_r31; - omObjData *var_r30; - - OSReport("******* M449 ObjectSetup *********\n"); - lbl_1_bss_38 = omInitObjMan(0x258, 0x2000); - omGameSysInit(lbl_1_bss_38); - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 30.0f, 20.0f, 25000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - CZoom = 2500.0f; - Center.x = 0.0f; - Center.y = 0.0f; - Center.z = -100.0f; - CRot.x = -40.0f; - CRot.y = 0.0f; - CRot.z = 0.0f; - { - Vec sp3C = { 0.0f, 0.0f, 0.0f }; - Vec sp30 = { -0.5850064f, -0.788462f, 0.1545085f }; - Vec sp24; - Vec sp18; - Vec spC; - GXColor sp8 = { 0xFF, 0xFF, 0xFF, 0xFF }; - lbl_1_bss_34 = Hu3DGLightCreateV(&sp3C, &sp30, &sp8); - Hu3DGLightStaticSet(lbl_1_bss_34, 1); - Hu3DGLightInfinitytSet(lbl_1_bss_34); - sp24.x = 0.0f; - sp24.y = 10000.0f; - sp24.z = 0.0f; - sp18.x = 0.0f; - sp18.y = 1.0f; - sp18.z = 0.0f; - spC.x = 0.0f; - spC.y = 0.0f; - spC.z = 0.5f; - Hu3DShadowCreate(6.0f, 9000.0f, 11500.0f); - Hu3DShadowTPLvlSet(0.625f); - Hu3DShadowPosSet(&sp24, &sp18, &spC); - } - Hu3DShadowSizeSet(0xE0); - lbl_1_data_228 = -1; - lbl_1_bss_30 = -1; - HuWinInit(1); - lbl_1_bss_50 = omAddObjEx(lbl_1_bss_38, 0x64, 3, 0, 1, fn_1_7ECC); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r30 = (&lbl_1_bss_54)[var_r31] = omAddObjEx(lbl_1_bss_38, 0x65, 0x14, 4, 0, fn_1_8538); - var_r30->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M449DllWork), MEMORY_DEFAULT_NUM); - var_r30->work[0] = var_r31; - } - lbl_1_bss_5C = omAddObjEx(lbl_1_bss_38, 0x7FDA, 0, 0, -1, omOutView); - lbl_1_bss_60 = omAddObjEx(lbl_1_bss_38, 0x67, 0, 0, -1, fn_1_94F8); -} - -void fn_1_9A38(omObjData *arg0) -{ - void *sp8; - s32 var_r31; - - if (WipeStatGet() == 0) { - for (var_r31 = 0; var_r31 < 2; var_r31++) { - sp8 = (&lbl_1_bss_54)[var_r31]->data; - } - if (lbl_1_data_228 >= 0) { - MGSeqKill(lbl_1_data_228); - } - MGSeqKillAll(); - HuAudAllStop(); - omOvlReturnEx(1, 1); - } -} diff --git a/src/REL/m450Dll/main.c b/src/REL/m450Dll/main.c deleted file mode 100644 index 4610c4b3..00000000 --- a/src/REL/m450Dll/main.c +++ /dev/null @@ -1,7747 +0,0 @@ -#include "REL/executor.h" -#include "datadir_enum.h" -#include "dolphin/gx/GXEnum.h" -#include "dolphin/gx/GXStruct.h" -#include "dolphin/gx/GXVert.h" -#include "dolphin/mtx/GeoTypes.h" -#include "dolphin/pad.h" -#include "dolphin/types.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/frand.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/wipe.h" - -#include "game/gamework.h" -#include "game/gamework_data.h" - -#include "game/mapspace.h" -#include "game/pad.h" -#include "game/printfunc.h" - -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" - -#include "game/esprite.h" -#include "game/sprite.h" - -#include "ext_math.h" - -#include "game/window.h" -#include "string.h" -#include "version.h" - -#ifndef __MWERKS__ -#include "game/audio.h" -#include "game/hsfex.h" - -void HuSysVWaitSet(s16 vcount); -#endif - -#undef ABS -#define ABS(x) ((0 > (x)) ? -(x) : (x)) - -typedef struct unk_bss_358_struct { - /* 0x00 */ u16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ struct unk_bss_358_struct *unk04; - /* 0x08 */ struct unk_bss_358_struct *unk08; -} UnkBss358Struct; // Size 0xC - -typedef struct unk_bss_340_struct { - /* 0x00 */ HsfanimStruct00 *unk00; - /* 0x04 */ s32 *unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ struct unk_bss_340_struct *unk10; - /* 0x14 */ struct unk_bss_340_struct *unk14; -} UnkBss340Struct; // Size 0x18 - -typedef struct { - /* 0x00 */ u32 unk00; - /* 0x04 */ s16 unk04; -} UnkBss1B0Struct; // Size 8 - -UnkBss358Struct lbl_1_bss_358; -UnkBss340Struct lbl_1_bss_340; -Process *lbl_1_bss_33C; -Vec lbl_1_bss_330; -Vec lbl_1_bss_324; -Vec lbl_1_bss_318; -Vec lbl_1_bss_30C; -u32 lbl_1_bss_308; -s32 lbl_1_bss_304; -u32 lbl_1_bss_300; -s16 lbl_1_bss_2FE; -s16 lbl_1_bss_2FC; -s32 lbl_1_bss_2F8; -s32 lbl_1_bss_2F4; -float lbl_1_bss_2F0; -s32 lbl_1_bss_2B0[16]; -UnkBss1B0Struct lbl_1_bss_1B0[32]; - -void fn_1_0(void) -{ - lbl_1_bss_358.unk04 = NULL; - lbl_1_bss_358.unk08 = NULL; -} - -void fn_1_24(u16 arg0, s16 arg1) -{ - UnkBss358Struct *temp_r31; - UnkBss358Struct *temp_r30; - UnkBss358Struct *temp_r29; - - temp_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(*temp_r31), MEMORY_DEFAULT_NUM); - temp_r31->unk00 = arg0; - temp_r31->unk02 = arg1; - temp_r30 = &lbl_1_bss_358; - temp_r29 = temp_r30->unk08; - temp_r30->unk08 = temp_r31; - if (NULL != temp_r29) { - temp_r29->unk04 = temp_r31; - } - temp_r31->unk04 = temp_r30; - temp_r31->unk08 = temp_r29; -} - -s16 fn_1_AC(s16 arg0) -{ - UnkBss358Struct *var_r31; - UnkBss358Struct *temp_r29; - UnkBss358Struct *temp_r30; - s16 temp_r28; - - var_r31 = lbl_1_bss_358.unk08; - while (NULL != var_r31) { - if (arg0 == var_r31->unk00) { - temp_r28 = var_r31->unk02; - temp_r29 = var_r31->unk04; - temp_r30 = var_r31->unk08; - temp_r29->unk08 = temp_r30; - if (NULL != temp_r30) { - temp_r30->unk04 = temp_r29; - } - HuMemDirectFree(var_r31); - return temp_r28; - } - var_r31 = var_r31->unk08; - } - return -1; -} - -void fn_1_150(void) -{ - lbl_1_bss_340.unk10 = NULL; - lbl_1_bss_340.unk14 = NULL; -} - -void fn_1_174(s16 arg0, HsfanimStruct00 *arg1, s32 arg2, s32 arg3, s32 arg4, Vec *arg5, u8 arg6) -{ - UnkBss340Struct *temp_r27; - UnkBss340Struct *var_r31; - UnkBss340Struct *temp_r28; - s32 i; - - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(*var_r31), MEMORY_DEFAULT_NUM); - var_r31->unk00 = arg1; - var_r31->unk08 = arg3; - var_r31->unk0C = arg4; - var_r31->unk04 = HuMemDirectMallocNum(HEAP_SYSTEM, arg4 * sizeof(*var_r31->unk04), MEMORY_DEFAULT_NUM); - for (i = 0; i < arg4; i++, arg5++) { - var_r31->unk04[i] = Hu3DParManLink(arg0, arg1); - if (var_r31->unk04[i] >= 0) { - Hu3DParManAttrReset(var_r31->unk04[i], 1); - Hu3DParManPosSet(var_r31->unk04[i], arg5->x, arg5->y, arg5->z); - Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(var_r31->unk04[i]), arg6); - Hu3DModelLayerSet(Hu3DParManModelIDGet(var_r31->unk04[i]), arg2); - } - } - temp_r28 = &lbl_1_bss_340; - temp_r27 = temp_r28->unk14; - temp_r28->unk14 = var_r31; - if (NULL != temp_r27) { - temp_r27->unk10 = var_r31; - } - var_r31->unk10 = temp_r28; - var_r31->unk14 = temp_r27; -} - -void fn_1_2D8(void) -{ - UnkBss340Struct *var_r31; - UnkBss340Struct *temp_r28; - UnkBss340Struct *temp_r29; - s32 i; - - var_r31 = lbl_1_bss_340.unk14; - while (NULL != var_r31) { - var_r31->unk08--; - if (var_r31->unk08 == 0) { - for (i = 0; i < var_r31->unk0C; i++) { - if (var_r31->unk04[i] >= 0) { - Hu3DParManAttrSet(var_r31->unk04[i], 1); - } - } - } - temp_r28 = var_r31->unk10; - temp_r29 = var_r31->unk14; - if (-var_r31->unk00->unk00 > var_r31->unk08) { - for (i = 0; i < var_r31->unk0C; i++) { - if (var_r31->unk04[i] >= 0) { - Hu3DParManKill(var_r31->unk04[i]); - } - } - temp_r28->unk14 = temp_r29; - if (NULL != temp_r29) { - temp_r29->unk10 = temp_r28; - } - HuMemDirectFree(var_r31->unk04); - HuMemDirectFree(var_r31); - } - var_r31 = temp_r29; - } -} - -void fn_1_414(void) -{ - s32 i; - - for (i = 0; i < 32; i++) { - lbl_1_bss_1B0[i].unk00 = 0; - lbl_1_bss_1B0[i].unk04 = -1; - } -} - -s16 fn_1_46C(s32 arg0) -{ - s32 i; - - for (i = 0; i < 32; i++) { - if (arg0 == lbl_1_bss_1B0[i].unk00) { - return Hu3DModelLink(lbl_1_bss_1B0[i].unk04); - } - } - for (i = 0; i < 32; i++) { - if (lbl_1_bss_1B0[i].unk00 == 0) { - lbl_1_bss_1B0[i].unk00 = arg0; - lbl_1_bss_1B0[i].unk04 = Hu3DModelCreateFile(arg0); - return lbl_1_bss_1B0[i].unk04; - } - } - return Hu3DModelCreateFile(arg0); -} - -void fn_1_580(s32 *arg0, s32 arg1, s32 arg2) -{ - s32 var_r30; - - espBankSet(arg0[arg1 + 1], 10); - espBankSet(arg0[arg1 + 4], 11); - if (600 * REFRESH_RATE <= arg2) { - arg2 = 600 * REFRESH_RATE - 1; - } - var_r30 = arg2 / (60 * REFRESH_RATE); - arg2 -= var_r30 * (60 * REFRESH_RATE); - if (var_r30 > 9) { - var_r30 = 9; - } - espBankSet(arg0[arg1], var_r30); - var_r30 = arg2 / REFRESH_RATE; - arg2 -= var_r30 * REFRESH_RATE; - espBankSet(arg0[arg1 + 2], var_r30 / 10); - espBankSet(arg0[arg1 + 3], var_r30 % 10); - var_r30 = 101.5f * arg2 / REFRESH_RATE; - espBankSet(arg0[arg1 + 5], var_r30 / 10); - espBankSet(arg0[arg1 + 6], var_r30 % 10); -} - -void fn_1_798(s32 arg0) -{ - lbl_1_bss_2F0 = 0.0f; - lbl_1_bss_300 = lbl_1_bss_304; - GWMGRecordSet(arg0, lbl_1_bss_300); - fn_1_580(lbl_1_bss_2B0, 7, lbl_1_bss_304); -} - -void fn_1_9EC(void) -{ - s32 i; - - for (i = 0; i < 16; i++) { - espDispOn(lbl_1_bss_2B0[i]); - } -} - -void fn_1_A40(void) -{ - float temp_f31; - s32 i; - - if (0.0f <= lbl_1_bss_2F0) { - lbl_1_bss_2F0 += 16.0f; - temp_f31 = 1.0 + 0.2f * sind(lbl_1_bss_2F0); - for (i = 7; i <= 14; i++) { - espScaleSet(lbl_1_bss_2B0[i], temp_f31, temp_f31); - } - } -} - -void fn_1_B4C(float arg0, s32 arg1) -{ - float temp_f30; - float temp_f31; - s32 i; - - temp_f31 = 288.0f; - temp_f30 = arg0; - lbl_1_bss_2B0[15] = espEntry(arg1, 0, 0); - espTPLvlSet(lbl_1_bss_2B0[15], 0.5f); - espColorSet(lbl_1_bss_2B0[15], 0, 0, 0); - espPosSet(lbl_1_bss_2B0[15], temp_f31, temp_f30); - temp_f31 = 248.0f; - temp_f30 = arg0 - 8.0f; - lbl_1_bss_2B0[14] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 55), 0, 0); - espPosSet(lbl_1_bss_2B0[14], temp_f31 - 18.0f, temp_f30); - for (i = 7; i <= 13; i++) { - lbl_1_bss_2B0[i] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 48), 0, 0); - espPosSet(lbl_1_bss_2B0[i], temp_f31, temp_f30); - temp_f31 += 16.0f; - } - fn_1_580(lbl_1_bss_2B0, 7, lbl_1_bss_300); - temp_f31 = 248.0f; - temp_f30 = arg0 + 8.0f; - for (i = 0; i <= 6; i++) { - lbl_1_bss_2B0[i] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 49), 0, 0); - espPosSet(lbl_1_bss_2B0[i], temp_f31, temp_f30); - temp_f31 += 16.0f; - } - fn_1_580(lbl_1_bss_2B0, 0, 0); - for (i = 0; i < 16; i++) { - espDrawNoSet(lbl_1_bss_2B0[i], 0); - espDispOff(lbl_1_bss_2B0[i]); - espAttrSet(lbl_1_bss_2B0[i], HUSPR_ATTR_NOANIM); - espPriSet(lbl_1_bss_2B0[i], 0x80 + i); - } -} - -void fn_1_11F4(float arg0, Vec *arg1, Vec *arg2, Vec *arg3) -{ - float temp_f31; - - if (1.0f < arg0) { - arg0 = 1.0f; - } - temp_f31 = sind(90.0f * arg0) * sind(90.0f * arg0); - arg3->x = arg1->x + temp_f31 * (arg2->x - arg1->x); - arg3->y = arg1->y + temp_f31 * (arg2->y - arg1->y); - arg3->z = arg1->z + temp_f31 * (arg2->z - arg1->z); -} - -void fn_1_1350(Vec *arg0, Vec *arg1, Vec *arg2) -{ - Hu3DCameraPosSetV(1, arg0, arg1, arg2); - lbl_1_bss_330 = *arg0; - lbl_1_bss_318 = *arg2; -} - -s32 fn_1_13DC(float arg0, Vec *arg1) -{ - Vec sp18; - Vec spC; - - fn_1_11F4(arg0, &lbl_1_bss_330, &lbl_1_bss_324, &sp18); - fn_1_11F4(arg0, &lbl_1_bss_318, &lbl_1_bss_30C, &spC); - Hu3DCameraPosSetV(1, &sp18, arg1, &spC); - if (1.0f <= arg0) { - return 1; - } - else { - lbl_1_bss_2F4 = 1; - return 0; - } -} - -void fn_1_1710(float arg0, Vec *arg1) -{ - Vec sp18; - Vec spC; - - fn_1_11F4(arg0, &lbl_1_bss_330, &lbl_1_bss_324, &sp18); - fn_1_11F4(arg0, &lbl_1_bss_318, &lbl_1_bss_30C, &spC); - fn_1_1350(&sp18, arg1, &spC); - lbl_1_bss_2F4 = 1; -} - -void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2) -{ - Mtx sp1C; - Vec sp10; - float temp_f30; - float temp_f29; - float temp_f28; - float temp_f31; - CameraData *temp_r31; - s32 i; - - for (i = 0; i < 16; i++) { - if (arg1 & (1 << i)) { - break; - } - } - temp_r31 = &Hu3DCamera[i]; - MTXLookAt(sp1C, &temp_r31->pos, &temp_r31->up, &temp_r31->target); - MTXMultVec(sp1C, arg0, &sp10); - temp_f30 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)) * temp_r31->aspect; - temp_f29 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)); - temp_f28 = 0.9f * temp_r31->viewport_x; - temp_f31 = 0.9f * temp_r31->viewport_w; - arg2->x = temp_f31 / 2 + sp10.x * ((temp_f31 / 2) / -temp_f30) + temp_f28; - arg2->y = temp_r31->viewport_h / 2 + sp10.y * ((temp_r31->viewport_h / 2) / temp_f29) + temp_r31->viewport_y; - arg2->z = 0.0f; -} - -void fn_1_1D18(s16 arg0, char *arg1, Vec *arg2) -{ - Mtx sp10; - - Hu3DModelObjMtxGet(arg0, arg1, sp10); - arg2->x = sp10[0][3]; - arg2->y = sp10[1][3]; - arg2->z = sp10[2][3]; -} - -void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3) -{ - Mtx spC; - ModelData *var_r30; - - var_r30 = &Hu3DData[arg0]; - Hu3DModelObjMtxGet(arg0, arg1, spC); - MTXConcat(var_r30->unk_F0, spC, spC); - if (NULL != arg3) { - MTXCopy(spC, arg3); - } - arg2->x = spC[0][3]; - arg2->y = spC[1][3]; - arg2->z = spC[2][3]; -} - -float fn_1_1E20(float arg0, float arg1, float arg2) -{ - float var_f31; - float var_f30; - - var_f31 = fmod(arg1 - arg0, 360.0); - if (0.0f > var_f31) { - var_f31 += 360.0f; - } - if (180.0f < var_f31) { - var_f31 -= 360.0f; - } - var_f30 = fmod(arg0 + var_f31 * arg2, 360.0); - if (0.0f > var_f30) { - var_f30 += 360.0f; - } - return var_f30; -} - -void fn_1_1F24(s32 arg0) -{ - lbl_1_bss_2F8 = HuAudSeqPlay((s32)arg0); -} - -void fn_1_1F58(s32 arg0) -{ - if (lbl_1_bss_2F8 >= 0) { - if (arg0 < 0) { - arg0 = 1000; - } - HuAudSeqFadeOut(lbl_1_bss_2F8, arg0); - } - lbl_1_bss_2F8 = -1; -} - -void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) -{ - Vec sp18; - float var_f28; - s32 var_r30; - - sp18.x = 0.0f; - sp18.y = 0.0f; - sp18.z = 0.0f; - sp18.x = arg2 / 4.0f; - sp18.z = -(float)arg3 / 4.0f; - var_r30 = 0; - var_f28 = VECMagXZ(&sp18); - if (0.5f <= var_f28) { - if (10.0f <= var_f28) { - sp18.x /= var_f28; - sp18.z /= var_f28; - var_f28 = 10.0f; - sp18.x = 10.0f * sp18.x; - sp18.z = 10.0f * sp18.z; - } - *arg1 = fn_1_1E20(*arg1, atan2d(sp18.x, sp18.z), 0.4f); - if (8.0f <= var_f28) { - var_r30 = 2; - } - else { - var_r30 = 1; - } - } - VECAdd((Vec *)&arg0, &sp18, (Vec *)&arg0); -} - -typedef struct UnkData1380Struct { - /* 0x00 */ char **unk_00; - /* 0x04 */ float unk_04; - /* 0x08 */ s32 unk_08; - /* 0x0C */ s32 unk_0C; - /* 0x10 */ s32 unk_10; - /* 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 */ s32 *unk_2C; - /* 0x30 */ Vec *unk_30; - /* 0x34 */ Vec *unk_34; -} UnkData1380Struct; /* size = 0x38 */ - -typedef struct UnkData1450Struct { - /* 0x00 */ char *unk_00; - /* 0x04 */ Vec unk_04; - /* 0x10 */ float unk_10; - /* 0x14 */ float unk_14; - /* 0x18 */ s32 unk_18; - /* 0x1C */ s32 unk_1C; - /* 0x20 */ s32 unk_20; -} UnkData1450Struct; /* size = 0x24 */ - -typedef struct UnkData5CCStruct { - /* 0x00 */ char *unk_00; - /* 0x04 */ u32 unk_04; - /* 0x08 */ s32 unk_08; - /* 0x0C */ float unk_0C; -} UnkData5CCStruct; /* size = 0x10 */ - -typedef struct UnkDataA0CStruct { - /* 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; -} UnkDataA0CStruct; /* size = 0x1C */ - -typedef struct UnkData94CStruct { - /* 0x00 */ s32 unk_00; - /* 0x00 */ float unk_04; - /* 0x00 */ float unk_08; - /* 0x00 */ float unk_0C; - /* 0x00 */ u32 unk_10; -} UnkData94CStruct; /* size = 0x14 */ - -typedef struct UnkDataA80Struct { - char *unk_00; - Vec unk_04; - s32 unk_10; - float unk_14; - Vec unk_18; - s32 unk_24; - s32 unk_28; -} UnkDataA80Struct; /* size = 0x2C */ - -typedef struct UnkData204Struct { - float unk_00; - s32 unk_04; -} UnkData204Struct; /* size = 0x08 */ - -// these are copied from m461Dll/main.c -typedef void (*PlayerOldHook)(omObjData *obj); -typedef Vec *(*PlayerOldPosHook)(omObjData *obj); - -typedef struct work_playerold { - omObjData *unk_00; - PlayerOldHook unk_04; - PlayerOldPosHook unk_08; - PlayerOldHook unk_0C; - PlayerOldHook unk_10; - s32 *unk_14; - s32 unk_18; - s32 unk_1C; - s32 unk_20; - s32 unk_24; - s32 unk_28; - s32 unk_2C; - s32 unk_30; - s32 unk_34; - s32 unk_38; - s32 unk_3C; - s32 unk_40; - s32 unk_44; - s32 unk_48; - s32 unk_4C; - Vec *unk_50; - Vec unk_54; - float unk_60; - s32 unk_64; - Vec *unk_68; - Vec unk_6C; - Vec unk_78; - Vec unk_84; - Vec unk_90; - float unk_9C; - float unk_A0; - float unk_A4; - float unk_A8; - Vec unk_AC; - float unk_B8; - float unk_BC; - float unk_C0; -} WorkPlayerOld; - -typedef WorkPlayerOld *(*PlayerOldFind)(int no); - -typedef struct UnkM450Struct5 { - WorkPlayerOld unk_00; - UnkData94CStruct *unk_C4; - float unk_C8; - float unk_CC; - Vec unk_D0; - Vec unk_DC; - float unk_E8; - float unk_EC; - s32 unk_F0; - s32 unk_F4; - float unk_F8; - u32 unk_FC; - s32 unk_100; - s32 unk_104; - s32 unk_108; - s32 unk_10C; - s32 unk_110; - s32 unk_114; - s32 unk_118; - s32 unk_11C; - s32 unk_120; -} UnkM450Struct5; /* size = 0x124 */ - -typedef struct UnkM450Struct4 { - Vec unk_00; - Vec unk_0C; - Vec unk_18; - Vec unk_24; - Vec unk_30; - float unk_3C; - float unk_40; - float unk_44; - float unk_48; - float unk_4C; - float unk_50; - s32 unk_54; - s32 unk_58; - float unk_5C; - float unk_60; - Vec unk_64; - s32 unk_70; - s32 unk_74; - s32 unk_78; - s32 unk_7C; -} UnkM450Struct4; /* size = 0x80 */ - -typedef struct UnkM450Struct3 { - WorkPlayerOld unk_00; - UnkData204Struct *unk_C4; - Vec2f *unk_C8; - char *unk_CC; - float *unk_D0; - Vec unk_D4; - float unk_E0; - float unk_E4; - float unk_E8; - float unk_EC; - float unk_F0; - float unk_F4; - s32 unk_F8; - s32 unk_FC; - float unk_100; - float unk_104; - float unk_108; - s32 unk_10C; - s32 unk_110; - Vec unk_114; - Vec unk_120; - s32 unk_12C; - s32 unk_130; - s32 unk_134; - s32 unk_138; - s32 unk_13C; - s32 unk_140; - float unk_144; - s32 unk_148; - s32 unk_14C; - s32 unk_150; - u32 unk_154; -} UnkM450Struct3; /* size = 0x158 */ - -typedef struct UnkM450Struct2 { - s32 unk_00; - Vec unk_04; - float unk_10; - float unk_14; - float unk_18; - float unk_1C; - float unk_20; - float unk_24; - float unk_28; - float unk_2C; - Vec unk_30; - s16 unk_3C; - s16 unk_3E; -} UnkM450Struct2; /* size = 0x40 */ - -typedef void (*UnkM450ModelFunc)(ModelData *, struct UnkM450Struct *, Mtx); - -typedef struct UnkM450Struct { - UnkM450ModelFunc unk_00; - AnimData *unk_04; - Vec *unk_08; - float *unk_0C; - UnkM450Struct2 *unk_10; - Vec *unk_14; - Vec2f *unk_18; - Vec2f *unk_1C; - GXColor *unk_20; - void *unk_24; - Vec unk_28; - float unk_34; - float unk_38; - float unk_3C; - float unk_40; - float unk_44; - float unk_48; - float unk_4C; - float unk_50; - float unk_54; - u32 unk_58; - float unk_5C; - float unk_60; - s16 unk_64; - s16 unk_66; - s16 unk_68; - u8 unk_6A; - u8 unk_6B; -} UnkM450Struct; /* size = 0x6C */ - -s32 fn_1_125C0(s32 arg0, s32 arg1); -s32 fn_1_13B90(s32 arg0); -Vec *fn_1_16314(s32 arg0); -void fn_1_16BC4(Vec *arg0, Vec *arg1, s32 arg2); -void fn_1_17360(Vec *arg0, float arg8); -void fn_1_17970(s32 arg0, s32 arg1, float arg8); -void fn_1_18424(s32 arg0, Vec *arg1); -void fn_1_186A8(); -s32 fn_1_1964C(Vec *arg0, Vec *arg1); -s32 fn_1_19798(); -s32 fn_1_19A10(WorkPlayerOld *arg0, Vec *arg1); -s32 fn_1_1B4C8(UnkM450Struct5 *arg0); -void fn_1_1B510(s32 arg0); -s32 fn_1_1C39C(UnkM450Struct5 *arg0); -void fn_1_20170(omObjData *object); -void fn_1_2902C(); -void fn_1_298EC(omObjData *object); -void fn_1_A968(s32 arg0, float arg8, u32 arg1, s32 arg2, float arg9); -s32 fn_1_E0E8(s32 arg0, s32 arg1); -s32 fn_1_E178(s32 arg0, s32 arg1); -void fn_1_E1A8(s32 arg0, s32 arg1, float arg8, u32 arg2, s32 arg3, float arg9); - -s16 lbl_1_data_0[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; - -s32 lbl_1_data_10[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; - -float lbl_1_data_30[0xA] = { 70.0f, 70.0f, 70.0f, 70.0f, 70.0f, 70.0f, 70.0f, 70.0f, 70.0f, 100.0f }; - -float lbl_1_data_58[0xA] = { - 150.0f, - 170.0f, - 190.0f, - 170.0f, - 160.0f, - 150.0f, - 180.0f, - 200.0f, - 150.0f, - 200.0f, -}; - -PlayerOldFind lbl_1_bss_1AC; -float lbl_1_bss_1A8; -omObjData *lbl_1_bss_1A4; -omObjData *lbl_1_bss_1A0; -omObjData *lbl_1_bss_144[0x17]; -omObjData **lbl_1_bss_140; -omObjData **lbl_1_bss_13C; -// data: UnkM450Struct5 -omObjData *lbl_1_bss_138; -// data: UnkM450Struct3 -omObjData *lbl_1_bss_134; -// data: UnkM450Struct3 -omObjData **lbl_1_bss_130; -float lbl_1_bss_12C; -float lbl_1_bss_128; -float lbl_1_bss_124; -s32 lbl_1_bss_120; -s32 lbl_1_bss_11C; -s32 lbl_1_bss_118; -s32 lbl_1_bss_114; -s32 lbl_1_bss_110; -s32 lbl_1_bss_10C; -s32 lbl_1_bss_108; -UnkDataA80Struct *lbl_1_bss_104; -s32 lbl_1_bss_100; -UnkData1380Struct *lbl_1_bss_FC; -s32 lbl_1_bss_F8; -Vec lbl_1_bss_EC; -void *lbl_1_bss_E8[1]; -UnkM450Struct4 *lbl_1_bss_E4[1]; -UnkM450Struct4 *lbl_1_bss_DC[2]; -s32 lbl_1_bss_D8; -Vec lbl_1_bss_CC; -float lbl_1_bss_C8; -s32 lbl_1_bss_C4; -s32 lbl_1_bss_B8[3]; -Mtx lbl_1_bss_88; -Vec lbl_1_bss_4C[5]; -Vec lbl_1_bss_34[2]; -s16 lbl_1_bss_2C[4]; -AnimData *lbl_1_bss_28; -s16 lbl_1_bss_24; -s32 lbl_1_bss_20; -s32 lbl_1_bss_1C; -s32 lbl_1_bss_18; -AnimData *lbl_1_bss_14; -s32 lbl_1_bss_10; -s32 lbl_1_bss_C; -s32 lbl_1_bss_8; -s32 lbl_1_bss_4; -s32 lbl_1_bss_0; - -#if VERSION_NTSC -#define _1606_BY_REFRESH_RATE 26.766666f -#else -#define _1606_BY_REFRESH_RATE 32.120003f -#endif - -void fn_1_23B4(WorkPlayerOld *player) -{ - s32 i; - for (i = 0; i < 8; i++) { - if (player->unk_44 == player->unk_14[i]) { - player->unk_40 = lbl_1_data_10[i]; - return; - } - } - player->unk_40 = -1; -} - -void fn_1_2418(float *minDist, s32 *state, s32 stateNew, Vec *posA, float aYOfs, Vec *posB, float bYOfs) -{ - Vec pointA = *posA; - Vec pointB = *posB; - float dist; - pointA.y += aYOfs; - pointB.y += bYOfs; - dist = VECDistance(&pointA, &pointB); - if (*minDist > dist) { - *minDist = dist; - *state = stateNew; - } -} - -void fn_1_24F8(WorkPlayerOld *player1, WorkPlayerOld *player2, float *minDist, s32 *state) -{ - *minDist = 10 * (player1->unk_BC + player2->unk_BC); - fn_1_2418(minDist, state, 0, &player1->unk_6C, player1->unk_BC, &player2->unk_6C, player2->unk_BC); - fn_1_2418(minDist, state, 1, &player1->unk_6C, player1->unk_C0 - player1->unk_BC, &player2->unk_6C, player2->unk_C0 - player2->unk_BC); - fn_1_2418(minDist, state, 2, &player1->unk_6C, player1->unk_BC, &player2->unk_6C, player2->unk_C0 - player2->unk_BC); - fn_1_2418(minDist, state, 3, &player1->unk_6C, player1->unk_C0 - player1->unk_BC, &player2->unk_6C, player2->unk_BC); -} - -s32 fn_1_2824(WorkPlayerOld *player, WorkPlayerOld *player2) -{ - Vec dir; - Vec dir2; - float dist; - - player->unk_3C |= 0x1; - player->unk_90.x = player->unk_20 / 4.0f; - player->unk_90.z = -(float)player->unk_24 / 4.0f; - if (player->unk_90.x != 0.0f || player->unk_90.z != 0.0f) { - return; - } - VECSubtract(&player->unk_6C, &player2->unk_6C, &dir); - dist = VECMagXZ(&dir); - if (0.0f == dist) { - dir.x = 0; - dir.z = -1; - } - else { - dir.x /= dist; - dir.z /= dist; - } - VECSubtract(&player->unk_6C, &player->unk_78, &dir2); - dist = VECMagXZ(&dir2); - if (5 > dist) { - dist = 5; - } - player->unk_90.x = dir.x * dist; - player->unk_90.z = dir.z * dist; -} - -void fn_1_2BD0(WorkPlayerOld *player, float arg1, float arg2) -{ - player->unk_38 = 1; - player->unk_84.y = arg1; - player->unk_A4 = arg2; - if (player->unk_3C & 0x2) { - player->unk_3C &= ~0x2; - } -} - -void fn_1_2C00(PlayerOldFind find, float yDist) -{ - lbl_1_bss_1AC = find; - lbl_1_bss_1A8 = yDist; -} - -void fn_1_2C1C(WorkPlayerOld *player, omObjData *obj, s32 arg2, s32 arg3, s32 *arg4, s32 arg5, Vec *pos, float arg7) -{ - player->unk_00 = obj; - player->unk_18 = arg2; - player->unk_1C = arg3; - player->unk_14 = arg4; - player->unk_04 = NULL; - player->unk_08 = NULL; - player->unk_0C = NULL; - player->unk_10 = NULL; - player->unk_50 = NULL; - player->unk_64 = 0; - player->unk_68 = NULL; - player->unk_38 = 0; - player->unk_3C = 0; - player->unk_44 = arg5; - player->unk_48 = 0; - player->unk_4C = 0; - fn_1_23B4(player); - player->unk_9C = arg7; - player->unk_6C = *pos; - player->unk_78 = *pos; - player->unk_84.x = 0; - player->unk_84.y = 0; - player->unk_84.z = 0; - player->unk_B8 = 1; - player->unk_A8 = 0; - player->unk_BC = lbl_1_data_30[player->unk_1C]; - player->unk_C0 = lbl_1_data_58[player->unk_1C]; -} - -void fn_1_2DA8(WorkPlayerOld *player, PlayerOldHook func) -{ - player->unk_04 = func; -} - -void fn_1_2DB0(WorkPlayerOld *player, PlayerOldPosHook func) -{ - player->unk_08 = func; -} - -void fn_1_2DB8(WorkPlayerOld *player, PlayerOldHook func) -{ - player->unk_0C = func; -} - -void fn_1_2DC0(WorkPlayerOld *player, PlayerOldHook func) -{ - player->unk_10 = func; -} - -void fn_1_2DC8(WorkPlayerOld *player, s32 count, Vec *data) -{ - player->unk_64 = count; - player->unk_68 = data; -} - -void fn_1_2DD4(WorkPlayerOld *player) -{ - omSetTra(player->unk_00, player->unk_6C.x, player->unk_6C.y, player->unk_6C.z); - omSetRot(player->unk_00, 0.0f, player->unk_9C, 0.0f); -} - -void fn_1_2E34(WorkPlayerOld *player) -{ - BOOL addTime; - s32 i; - player->unk_3C &= ~0x100; - if (player->unk_3C & 0x8) { - return; - } - if (NULL == lbl_1_bss_1AC) { - return; - } - addTime = FALSE; - for (i = 0; i < 4; i++) { - WorkPlayerOld *player2 = lbl_1_bss_1AC(i); - BOOL fixPos; - float minDist; - s32 state; - if (player == player2) { - continue; - } - if (player2->unk_3C & 0x8) { - continue; - } - fixPos = FALSE; - fn_1_24F8(player, player2, &minDist, &state); - if (minDist < player->unk_BC + player2->unk_BC) { - if (state < 2) { - fixPos = TRUE; - if (player->unk_38 == 1) { - fn_1_2824(player, player2); - } - } - else { - if (state == 2 && player->unk_38 == 1) { - fn_1_2824(player, player2); - player->unk_3C |= 0x100; - player->unk_A4 = 0; - if (!(player2->unk_3C & 0x100)) { - player->unk_84.y = _1606_BY_REFRESH_RATE; - } - } - if (state == 3) { - fixPos = TRUE; - if (player->unk_38 == 1) { - if (0.0f < player->unk_84.y) { - player->unk_84.y = 0.0f; - } - player->unk_A4 = 0; - } - } - } - } - if (fixPos) { - Vec dir; - addTime = TRUE; - VECSubtract(&player->unk_6C, &player2->unk_6C, &dir); - if (0.0f == minDist) { - dir.x = 0; - dir.z = -1; - } - else { - dir.x /= minDist; - dir.z /= minDist; - } - player->unk_6C.x = player2->unk_6C.x + (dir.x * (player->unk_BC + player2->unk_BC)); - player->unk_6C.z = player2->unk_6C.z + (dir.z * (player->unk_BC + player2->unk_BC)); - } - } - if (addTime) { - player->unk_4C++; - } - else { - player->unk_4C = 0; - } -} - -float fn_1_39C4(WorkPlayerOld *player, float arg2) -{ - Vec *pos; - s32 i; - AddX = 0.0f; - AddZ = 0.0f; - MapWall(player->unk_BC, player->unk_6C.x, arg2 + player->unk_BC, player->unk_6C.z); - player->unk_6C.x += AddX; - player->unk_6C.z += AddZ; - if (NULL != player->unk_68) { - for (pos = player->unk_68, i = 0; i < player->unk_64; i++, pos += 2) { - int num = 0; - if (pos[0].x == pos[1].x || pos[0].x > player->unk_6C.x || pos[1].x < player->unk_6C.x) { - num++; - } - if (pos[0].y == pos[1].y || pos[0].y > player->unk_6C.y || pos[1].y < player->unk_6C.y) { - num++; - } - if (pos[0].z == pos[1].z || pos[0].z > player->unk_6C.z || pos[1].z < player->unk_6C.z) { - num++; - } - if (num == 3) { - if (pos[0].x != pos[1].x) { - if (pos[0].x > player->unk_6C.x) { - player->unk_6C.x = pos[0].x + player->unk_BC; - } - if (pos[1].x < player->unk_6C.x) { - player->unk_6C.x = pos[1].x - player->unk_BC; - } - } - if (pos[0].y != pos[1].y) { - if (pos[0].y > player->unk_6C.y) { - player->unk_6C.y = pos[0].y; - } - if (pos[1].y < player->unk_6C.y) { - player->unk_6C.y = pos[1].y; - } - } - if (pos[0].z != pos[1].z) { - if (pos[0].z > player->unk_6C.z) { - player->unk_6C.z = pos[0].z + player->unk_BC; - } - if (pos[1].z < player->unk_6C.z) { - player->unk_6C.z = pos[1].z - player->unk_BC; - } - } - } - } - } - return ABS(AddX) + ABS(AddZ); -} - -void fn_1_3CE0(WorkPlayerOld *player, s32 *state, u32 *motAttr) -{ - *motAttr = HU3D_MOTATTR_LOOP; - *state = 0; - if (0.5f <= player->unk_A0) { - if (7.0f <= player->unk_A0) { - *state = 2; - } - else { - *state = 1; - } - } - - if (player->unk_14[3] >= 0 && (player->unk_28 & 0x100)) { - fn_1_2BD0(player, _1606_BY_REFRESH_RATE, 1.0f); - *motAttr = HU3D_MOTATTR_NONE; - *state = 3; - } -} - -void fn_1_3DB8(WorkPlayerOld *player, s32 *state, u32 *motAttr) -{ - if (0.0f < player->unk_A4) { - if (player->unk_2C & 0x100) { - player->unk_A4++; - if (4.0f < player->unk_A4) { - player->unk_A4 = 0; - } - else { - player->unk_84.y += 219.0f / REFRESH_RATE; - } - } - else { - player->unk_A4 = 0; - } - } - player->unk_84.y += -146.0f / REFRESH_RATE; - if (player->unk_14[5] >= 0 && (player->unk_28 & 0x140)) { - player->unk_38 = 3; - player->unk_84.y = 0; - player->unk_3C &= ~0x3; - player->unk_3C |= 0x4; - *motAttr = HU3D_MOTATTR_NONE; - *state = 5; - } -} - -void fn_1_3ECC(WorkPlayerOld *player, s32 *state, u32 *motAttr) -{ - if ((player->unk_3C & 0x1000) || Hu3DMotionEndCheck(player->unk_00->model[0])) { - player->unk_3C &= ~0x3; - if (player->unk_40 == 6) { - player->unk_38 = 4; - *motAttr = HU3D_MOTATTR_NONE; - *state = 7; - } - else { - player->unk_38 = 0; - *motAttr = HU3D_MOTATTR_LOOP; - *state = 0; - } - } -} - -void fn_1_3F84(WorkPlayerOld *player, s32 *state, u32 *motAttr) -{ - if (Hu3DMotionShiftIDGet(player->unk_00->model[0]) < 0 && Hu3DMotionEndCheck(player->unk_00->model[0])) { - fn_1_2BD0(player, 0.0f, 0.0f); - } -} - -void fn_1_4024(WorkPlayerOld *player, s32 *state, u32 *motAttr) -{ - if (Hu3DMotionShiftIDGet(player->unk_00->model[0]) < 0 && Hu3DMotionEndCheck(player->unk_00->model[0])) { - player->unk_3C &= ~0x4; - player->unk_38 = 0; - *motAttr = HU3D_MOTATTR_LOOP; - *state = 0; - } -} - -void fn_1_40C0(WorkPlayerOld *player) -{ - u32 motAttr = HU3D_MOTATTR_NONE; - s32 state = -1; - float temp_f28; - float temp_f23; - float temp_f22; - Vec *pos; - BOOL temp_r27; - if (player->unk_3C & 0x1) { - player->unk_84.x = player->unk_90.x; - player->unk_84.z = player->unk_90.z; - } - else { - player->unk_84.x = player->unk_20 / 4.0f; - player->unk_84.z = -(float)player->unk_24 / 4.0f; - if (player->unk_38 == 1 && 0.0f == player->unk_84.x && 0.0f == player->unk_84.z) { - player->unk_84.x = 0.98f * (player->unk_6C.x - player->unk_78.x); - player->unk_84.z = 0.98f * (player->unk_6C.z - player->unk_78.z); - } - if (player->unk_3C & 0x14) { - player->unk_84.x = 0; - player->unk_84.z = 0; - player->unk_28 = 0; - } - } - player->unk_78 = player->unk_6C; - player->unk_A0 = VECMagXZ(&player->unk_84); - if (0.5f <= player->unk_A0) { - if (10.0f <= player->unk_A0) { - player->unk_84.x /= player->unk_A0; - player->unk_84.z /= player->unk_A0; - player->unk_A0 = 10; - player->unk_84.x = 10 * player->unk_84.x; - player->unk_84.z = 10 * player->unk_84.z; - } - } - else { - player->unk_84.x = 0; - player->unk_84.z = 0; - player->unk_A0 = 0; - } - player->unk_84.x *= player->unk_B8; - player->unk_84.z *= player->unk_B8; - player->unk_A0 *= player->unk_B8; - if (player->unk_3C & 0x800) { - player->unk_28 |= 0x100; - player->unk_2C |= 0x100; - if (player->unk_38 == 1) { - if (0.0f == player->unk_A4) { - player->unk_3C &= ~0x800; - } - } - } - switch (player->unk_38) { - case 0: - fn_1_3CE0(player, &state, &motAttr); - break; - - case 1: - fn_1_3DB8(player, &state, &motAttr); - break; - - case 2: - fn_1_3ECC(player, &state, &motAttr); - break; - - case 3: - fn_1_3F84(player, &state, &motAttr); - break; - - case 4: - fn_1_4024(player, &state, &motAttr); - break; - - default: - OSReport("*** player action error(%d)!!\n", player->unk_38); - break; - } - if (player->unk_3C & 0x2000) { - player->unk_84.y = 0; - } - temp_f28 = 0.0f; - if (50.0f < ABS(player->unk_84.y)) { - player->unk_84.y = 50.0f * ((0.0f > player->unk_84.y) ? -1 : 1); - } - if (player->unk_3C & 0x2) { - Mtx rotMtx; - MTXRotDeg(rotMtx, 'y', player->unk_50[2].x - player->unk_60); - MTXMultVec(rotMtx, &player->unk_54, &player->unk_54); - VECAdd(&player->unk_54, &player->unk_50[0], &player->unk_6C); - player->unk_9C += player->unk_50[2].x - player->unk_60; - } - temp_f22 = player->unk_6C.y; - VECAdd(&player->unk_6C, &player->unk_84, &player->unk_6C); - if ((player->unk_3C & 0x1) == 0 && (0.0f != player->unk_84.x || 0.0f != player->unk_84.z)) { - player->unk_9C = fn_1_1E20(player->unk_9C, atan2d(player->unk_84.x, player->unk_84.z), 0.4f * player->unk_B8); - } - temp_f28 += fn_1_39C4(player, temp_f22); - if (nMap == 0) { - player->unk_A8 = lbl_1_bss_1A8; - } - else { - player->unk_A8 = MapPos(player->unk_6C.x, player->unk_6C.y, player->unk_6C.z, player->unk_C0, &player->unk_AC); - } - temp_r27 = FALSE; - if (NULL != player->unk_08) { - pos = player->unk_08(player->unk_00); - if (NULL != pos) { - if (player->unk_A8 < pos[1].y) { - temp_r27 = TRUE; - player->unk_50 = pos; - player->unk_A8 = pos[1].y; - } - } - } - if (!temp_r27 && (player->unk_3C & 0x2)) { - player->unk_3C &= ~0x2; - } - if (player->unk_38 == 1 && player->unk_A8 >= player->unk_6C.y) { - player->unk_38 = 2; - player->unk_3C &= ~0x3; - player->unk_6C.y = player->unk_A8; - player->unk_84.y = 0; - motAttr = HU3D_MOTATTR_NONE; - state = 4; - if (player->unk_40 == 5) { - state = 6; - if (NULL != player->unk_10) { - player->unk_10(player->unk_00); - } - if (player->unk_18 < 4) { - omVibrate(player->unk_18, 12, 4, 2); - } - } - if (player->unk_3C & 0x200) { - state = -1; - if (NULL != player->unk_0C) { - player->unk_0C(player->unk_00); - } - } - if (temp_r27) { - player->unk_3C |= 0x2; - } - } - temp_f23 = player->unk_6C.y - player->unk_A8; - if (player->unk_38 == 0 && 10.0f < temp_f23) { - if ((player->unk_3C & 0x2000) == 0) { - if ((player->unk_3C & 0x400) != 0) { - player->unk_3C |= 0x800; - } - else { - fn_1_2BD0(player, 0.0f, 0.0f); - - motAttr = HU3D_MOTATTR_NONE; - state = 3; - } - } - } - else if (temp_r27) { - if (!(player->unk_3C & 0x2)) { - player->unk_6C.y = player->unk_A8; - player->unk_3C |= 0x2; - } - } - fn_1_2E34(player); - if (NULL != player->unk_04) { - player->unk_04(player->unk_00); - } - temp_f28 += fn_1_39C4(player, player->unk_6C.y); - if (player->unk_3C & 0x2) { - player->unk_60 = player->unk_50[2].x; - VECSubtract(&player->unk_6C, &player->unk_50[0], &player->unk_54); - } - if (0.0f != temp_f28) { - player->unk_48++; - } - else { - player->unk_48 = 0; - } - if (state >= 0 && player->unk_40 != state) { - player->unk_40 = state; - player->unk_44 = player->unk_14[player->unk_40]; - if (player->unk_44 >= 0 && !(player->unk_3C & 0x20)) { - Hu3DMotionShiftSet(player->unk_00->model[0], player->unk_00->motion[player->unk_44], 0, 8, motAttr); - } - } -} - -void fn_1_4ED8(WorkPlayerOld *player, s32 motNo) -{ - s32 i; - player->unk_44 = motNo; - player->unk_38 = 0; - player->unk_3C &= 0x1400; - player->unk_78 = player->unk_6C; - player->unk_84.x = 0; - player->unk_84.y = 0; - player->unk_84.z = 0; - fn_1_23B4(player); - if (player->unk_40 == 3) { - Hu3DModelAttrReset(player->unk_00->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DMotionSet(player->unk_00->model[0], player->unk_00->motion[player->unk_44]); - Hu3DMotionTimeSet(player->unk_00->model[0], Hu3DMotionMaxTimeGet(player->unk_00->model[0]) - 1); - } - else if (player->unk_40 == 5) { - player->unk_38 = 3; - player->unk_3C |= 0x4; - Hu3DModelAttrReset(player->unk_00->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DMotionSet(player->unk_00->model[0], player->unk_00->motion[player->unk_44]); - Hu3DMotionTimeSet(player->unk_00->model[0], Hu3DMotionMaxTimeGet(player->unk_00->model[0]) - 1); - } - else { - Hu3DModelAttrReset(player->unk_00->model[0], HU3D_MOTATTR_PAUSE); - Hu3DMotionShiftSet(player->unk_00->model[0], player->unk_00->motion[player->unk_44], 0, 8, HU3D_MOTATTR_LOOP); - } -} - -void fn_1_5128(WorkPlayerOld *player, s32 attr) -{ - player->unk_3C |= attr; -} - -void fn_1_5138(WorkPlayerOld *player, s32 attr) -{ - player->unk_3C &= ~attr; -} - -void fn_1_5148(ModelData *model, UnkM450Struct *arg1, Mtx matrix) -{ - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - - UnkM450Struct2 *var_r31; - WorkPlayerOld *var_r29; - GXColor *var_r28; - s16 var_r27; - UnkM450Struct5 *var_r26; - - var_r26 = lbl_1_bss_138->data; - var_r29 = &var_r26->unk_00; - var_r31 = arg1->unk_10; - var_r28 = arg1->unk_20; - arg1->unk_66 = 0; - for (var_r27 = 0; var_r27 < arg1->unk_64; var_r27++, var_r31++, var_r28++) { - if (var_r31->unk_3E >= 0) { - var_r31->unk_10 += var_r31->unk_1C; - if (var_r31->unk_20 < var_r31->unk_10) { - var_r31->unk_3E = -1; - } - else { - arg1->unk_66++; - if (NULL != arg1->unk_08) { - var_r31->unk_04 = *arg1->unk_08; - } - if (NULL != arg1->unk_0C) { - var_r31->unk_14 = *arg1->unk_0C; - } - var_r31->unk_30.x = var_r31->unk_04.x + (var_r31->unk_10 * sind((var_r31->unk_14 + var_r31->unk_18))); - var_r31->unk_30.y = var_r31->unk_30.y + (0.03f * (var_r31->unk_24 - var_r31->unk_30.y)); - var_r31->unk_30.z = var_r31->unk_04.z + (var_r31->unk_10 * cosd((var_r31->unk_14 + var_r31->unk_18))); - var_f31 = var_r31->unk_10 / var_r31->unk_20; - var_f29 = 512.0 * cosd((90.0f * var_f31)); - var_r28->a = 255.0f < var_f29 ? 255.0f : var_f29; - var_r31->unk_3C = arg1->unk_68 * var_f31; - if (arg1->unk_68 <= var_r31->unk_3C) { - var_r31->unk_3C = arg1->unk_68 - 1; - } - var_f31 *= 2.0f; - if (1.0f < var_f31) { - var_f31 = 1.0f; - } - var_r31->unk_2C = sind((100.0f * var_f31)); - var_f30 = (26.666666f * var_r31->unk_2C) + var_r29->unk_BC; - sp14 = var_r29->unk_6C; - sp14.y += var_f30; - sp8 = var_r29->unk_6C; - sp8.y += var_r29->unk_C0 - var_f30; - if ((var_r31->unk_3C < 0xC) - && ((var_f30 > VECDistance(&sp14, &var_r31->unk_30)) || (var_f30 > VECDistance(&sp8, &var_r31->unk_30)))) { - var_r26->unk_FC |= 0x20; - } - } - } - } -} -void fn_1_5548(Vec *arg0, float *arg1) -{ - arg1[0] = arg0[0].x; - arg1[4] = arg0[0].y; - arg1[8] = arg0[0].z; - arg1[1] = arg0[1].y; - arg1[5] = arg0[1].z; - arg1[9] = arg0[2].x; - arg1[2] = arg0[2].z; - arg1[6] = arg0[3].x; - arg1[10] = arg0[3].y; - arg1[3] = 0.0f; - arg1[7] = 0.0f; - arg1[11] = 0.0f; -} - -void fn_1_55C4(Vec *arg0, Vec *arg1, s16 arg2, float arg8) -{ - s16 var_r31; - for (var_r31 = 0; var_r31 < arg2; var_r31++, arg0++, arg1++) { - arg1->x = arg0->x * arg8; - arg1->y = arg0->y * arg8; - arg1->z = arg0->z * arg8; - } -} - -void fn_1_5620(Vec2f *arg0, Vec2f *arg1, s16 arg2, float arg8, float arg9) -{ - arg0[0].x = arg1[arg2].x; - arg0[0].y = arg1[arg2].y; - arg0[1].x = arg8 + arg1[arg2].x; - arg0[1].y = arg1[arg2].y; - arg0[2].x = arg8 + arg1[arg2].x; - arg0[2].y = arg9 + arg1[arg2].y; - arg0[3].x = arg1[arg2].x; - arg0[3].y = arg9 + arg1[arg2].y; -} - -void fn_1_56C4(ModelData *arg0, Mtx arg1) -{ - Mtx sp130; - ROMtx sp100; - Mtx spD0; - Mtx spA0; - Vec sp70[4]; - Vec sp64; - Vec sp58; - Vec sp4C; - Vec sp40; - Vec sp34; - Vec sp28; - Vec sp1C; - Vec sp10; - UnkM450ModelFunc spC; - s16 sp8; - - UnkM450Struct *var_r31; - Vec *var_r30; - UnkM450Struct2 *var_r29; - Vec2f *var_r27; - s16 var_r19; - - var_r31 = arg0->unk_120; - if ((var_r31->unk_6B == 0) || (var_r31->unk_66 != 0)) { - GXLoadPosMtxImm(arg1, 0); - GXSetNumTevStages(1); - GXSetNumTexGens(1); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3C, GX_FALSE, 0x7D); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - sp8 = var_r31->unk_04->bmp->dataFmt & 0xF; - if ((sp8 == 8) || (sp8 == 7)) { - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXA, GX_CC_RASC, GX_CC_ZERO); - } - else { - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); - } - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - if ((arg0->attr & 2) != 0) { - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - } - else { - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); - } - HuSprTexLoad(var_r31->unk_04, 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetZCompLoc(GX_FALSE); - switch (var_r31->unk_6A) { - case 0: - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - break; - case 1: - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); - break; - case 2: - GXSetBlendMode(GX_BM_BLEND, GX_BL_ZERO, GX_BL_INVDSTCLR, GX_LO_NOOP); - break; - } - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, var_r31->unk_14, 0xC); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, var_r31->unk_20, 4); - GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetArray(GX_VA_TEX0, var_r31->unk_18, 8); - sp130[0][0] = arg1[0][0]; - sp130[1][0] = arg1[0][1]; - sp130[2][0] = arg1[0][2]; - sp130[0][1] = arg1[1][0]; - sp130[1][1] = arg1[1][1]; - sp130[2][1] = arg1[1][2]; - sp130[0][2] = arg1[2][0]; - sp130[1][2] = arg1[2][1]; - sp130[2][2] = arg1[2][2]; - sp130[0][3] = 0.0f; - sp130[1][3] = 0.0f; - sp130[2][3] = 0.0f; - PSMTXReorder(sp130, sp100); - if ((omPauseChk() == 0) && (var_r31->unk_00)) { - spC = var_r31->unk_00; - spC(arg0, var_r31, arg1); - } - var_r29 = var_r31->unk_10; - var_r30 = var_r31->unk_14; - var_r27 = var_r31->unk_18; - PSMTXROMultVecArray(sp100, &var_r31->unk_28, sp70, 4); - for (var_r19 = 0; var_r19 < var_r31->unk_64; var_r19++, var_r29++, var_r27 += 4) { - if (var_r29->unk_3E < 0) { - var_r30->x = var_r30->y = var_r30->z = 0.0f; - var_r30++; - var_r30->x = var_r30->y = var_r30->z = 0.0f; - var_r30++; - var_r30->x = var_r30->y = var_r30->z = 0.0f; - var_r30++; - var_r30->x = var_r30->y = var_r30->z = 0.0f; - var_r30++; - } - else { - if (var_r29->unk_28 == 0.0f) { - fn_1_55C4(sp70, &sp40, 4, var_r29->unk_2C); - VECAdd(&sp40, &var_r29->unk_30, var_r30++); - VECAdd(&sp4C, &var_r29->unk_30, var_r30++); - VECAdd(&sp58, &var_r29->unk_30, var_r30++); - VECAdd(&sp64, &var_r29->unk_30, var_r30++); - } - else { - fn_1_55C4(&var_r31->unk_28, &sp40, 4, var_r29->unk_2C); - MTXRotRad(spD0, 0x5A, 0.017453292f * var_r29->unk_28); - MTXConcat(sp130, spD0, spA0); - MTXMultVecArray(spA0, &sp40, &sp10, 4); - VECAdd(&sp10, &var_r29->unk_30, var_r30++); - VECAdd(&sp1C, &var_r29->unk_30, var_r30++); - VECAdd(&sp28, &var_r29->unk_30, var_r30++); - VECAdd(&sp34, &var_r29->unk_30, var_r30++); - } - if (var_r29->unk_3C != -1) { - fn_1_5620(var_r27, var_r31->unk_1C, var_r29->unk_3C, var_r31->unk_5C, var_r31->unk_60); - } - } - } - DCFlushRangeNoSync(var_r31->unk_14, var_r31->unk_64 * 0xC * 4); - DCFlushRangeNoSync(var_r31->unk_18, var_r31->unk_64 * 8 * 4); - GXCallDisplayList(var_r31->unk_24, var_r31->unk_58); - } -} - -void fn_1_5E0C(Vec2f *arg0, s16 arg1, s16 arg2, float arg8, float arg9) -{ - s16 var_r31; - s16 var_r30; - s16 var_r29; - - (void)arg9; - (void)arg9; - (void)arg9; - (void)arg8; - (void)arg8; - (void)arg8; - - for (var_r31 = 0; var_r31 < arg1; var_r31++, arg0++) { - var_r30 = var_r31 % arg2; - var_r29 = var_r31 / arg2; - arg0->x = var_r30 * arg8; - arg0->y = var_r29 * arg9; - } -} - -s16 fn_1_5ED8(AnimData *arg0, Vec *arg1, float *arg2, s16 arg3, float arg8, s16 arg4, s16 arg5) -{ - void *sp1C; - - UnkM450Struct *var_r31; - s16 var_r30; - Vec2f *var_r29; - ModelData *var_r28; - GXColor *var_r26; - Vec *var_r25; - UnkM450Struct2 *var_r24; - s16 var_r21; - void *var_r19; - s16 var_r18; - s16 var_r17; - - var_r18 = Hu3DHookFuncCreate(fn_1_56C4); - var_r28 = &Hu3DData[var_r18]; - var_r28->unk_120 = HuMemDirectMallocNum(HEAP_DATA, sizeof(UnkM450Struct), var_r28->unk_48); - var_r31 = var_r28->unk_120; - arg0->useNum++; - var_r31->unk_04 = arg0; - var_r31->unk_08 = arg1; - var_r31->unk_0C = arg2; - var_r31->unk_64 = arg3; - var_r31->unk_6A = 0; - var_r31->unk_00 = 0; - var_r31->unk_66 = arg3; - var_r31->unk_6B = 0; - var_r31->unk_10 = HuMemDirectMallocNum(HEAP_DATA, arg3 * 0x40, var_r28->unk_48); - for (var_r24 = var_r31->unk_10, var_r30 = 0; var_r30 < arg3; var_r30++, var_r24++) { - var_r24->unk_3E = -1; - var_r24->unk_3C = -1; - } - var_r31->unk_14 = HuMemDirectMallocNum(HEAP_DATA, arg3 * sizeof(Vec) * 4, var_r28->unk_48); - for (var_r25 = var_r31->unk_14, var_r30 = 0; var_r30 < (arg3 * 4); var_r30++, var_r25++) { - var_r25->x = 0.0f; - var_r25->y = 0.0f; - var_r25->z = 0.0f; - } - var_r31->unk_20 = HuMemDirectMallocNum(HEAP_DATA, arg3 * sizeof(GXColor), var_r28->unk_48); - for (var_r26 = var_r31->unk_20, var_r30 = 0; var_r30 < arg3; var_r30++, var_r26++) { - var_r26->r = 0xFF; - var_r26->g = 0xFF; - var_r26->b = 0xFF; - var_r26->a = 0xFF; - } - var_r31->unk_18 = HuMemDirectMallocNum(HEAP_DATA, arg3 * sizeof(Vec2f) * 4, var_r28->unk_48); - var_r29 = var_r31->unk_18; - for (var_r30 = 0; var_r30 < arg3; var_r30++) { - var_r29->x = 0.0f; - var_r29->y = 0.0f; - var_r29++; - var_r29->x = 1.0f; - var_r29->y = 0.0f; - var_r29++; - var_r29->x = 1.0f; - var_r29->y = 1.0f; - var_r29++; - var_r29->x = 0.0f; - var_r29->y = 1.0f; - var_r29++; - } - if ((arg4 != 0) || (arg5 != 0)) { - var_r21 = arg0->bmp->sizeX / arg4; - var_r17 = arg0->bmp->sizeY / arg5; - var_r31->unk_68 = var_r21 * var_r17; - var_r31->unk_5C = 1.0f / var_r21; - var_r31->unk_60 = 1.0f / var_r17; - } - else { - var_r21 = 1; - var_r31->unk_68 = 1; - var_r31->unk_5C = 1.0f; - var_r31->unk_60 = 1.0f; - } - var_r31->unk_1C = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_68 * sizeof(Vec2f), var_r28->unk_48); - fn_1_5E0C(var_r31->unk_1C, var_r31->unk_68, var_r21, var_r31->unk_5C, var_r31->unk_60); - var_r31->unk_28.x = var_r31->unk_4C = var_r31->unk_44 = var_r31->unk_50 = -arg8; - var_r31->unk_38 = arg8; - var_r31->unk_28.y = arg8; - var_r31->unk_40 = arg8; - var_r31->unk_34 = arg8; - var_r31->unk_28.z = var_r31->unk_3C = var_r31->unk_48 = var_r31->unk_54 = 0.0f; - var_r19 = HuMemDirectMallocNum(HEAP_DATA, 0x20000, var_r28->unk_48); - sp1C = var_r19; - GXBeginDisplayList(sp1C, 0x20000); - GXBegin(GX_QUADS, GX_VTXFMT0, arg3 * 4); - for (var_r30 = 0; var_r30 < arg3; var_r30++) { - // TODO is this right? - GXPosition1x16(var_r30 * 4); - GXPosition1x16(var_r30); - GXPosition1x16(var_r30 * 4); - - GXPosition1x16(var_r30 * 4 + 1); - GXPosition1x16(var_r30); - GXPosition1x16(var_r30 * 4 + 1); - - GXPosition1x16(var_r30 * 4 + 2); - GXPosition1x16(var_r30); - GXPosition1x16(var_r30 * 4 + 2); - - GXPosition1x16(var_r30 * 4 + 3); - GXPosition1x16(var_r30); - GXPosition1x16(var_r30 * 4 + 3); - } - var_r31->unk_58 = GXEndDisplayList(); - DCFlushRangeNoSync(var_r19, var_r31->unk_58); - var_r31->unk_24 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_58, var_r28->unk_48); - memcpy(var_r31->unk_24, var_r19, var_r31->unk_58); - DCFlushRangeNoSync(var_r31->unk_24, var_r31->unk_58); - HuMemDirectFree(var_r19); - return var_r18; -} - -UnkM450Struct2 *fn_1_6530(s16 arg0, Vec *arg1, GXColor *arg2, float arg8, float arg9) -{ - UnkM450Struct2 *var_r31; - UnkM450Struct *var_r30; - s16 var_r29; - ModelData *var_r28; - - var_r28 = &Hu3DData[arg0]; - var_r30 = var_r28->unk_120; - if (var_r30->unk_6B != 0) { - return NULL; - } - - for (var_r29 = 0, var_r31 = var_r30->unk_10; var_r29 < var_r30->unk_64; var_r29++, var_r31++) { - if (var_r31->unk_3E < 0) { - break; - } - } - if (var_r29 == var_r30->unk_64) { - return NULL; - } - var_r30->unk_20[var_r29] = *arg2; - var_r31->unk_30 = *arg1; - var_r31->unk_2C = arg8; - var_r31->unk_28 = arg9; - var_r31->unk_3C = 0; - var_r31->unk_00 = 0; - var_r31->unk_3E = var_r29; - return var_r31; -} - -void fn_1_6638(s16 arg0, UnkM450ModelFunc arg1) -{ - ModelData *var_r31 = &Hu3DData[arg0]; - UnkM450Struct *var_r30 = var_r31->unk_120; - var_r30->unk_00 = arg1; -} - -void fn_1_6670(s16 arg0, u8 arg1) -{ - ModelData *var_r31 = &Hu3DData[arg0]; - ((UnkM450Struct *)var_r31->unk_120)->unk_6A = arg1; -} - -void fn_1_66A0(s16 arg0) -{ - ModelData *var_r31 = &Hu3DData[arg0]; - UnkM450Struct *var_r30 = var_r31->unk_120; - var_r30->unk_6B = 1; -} - -s32 fn_1_66DC(s16 arg0) -{ - ModelData *var_r30 = &Hu3DData[arg0]; - UnkM450Struct *var_r31 = var_r30->unk_120; - - if ((var_r31->unk_6B != 0) && (var_r31->unk_66 == 0)) { - HuMemDirectFree(var_r31->unk_10); - HuMemDirectFree(var_r31->unk_14); - HuMemDirectFree(var_r31->unk_20); - HuMemDirectFree(var_r31->unk_18); - HuMemDirectFree(var_r31->unk_1C); - HuMemDirectFree(var_r31->unk_24); - HuSprAnimKill(var_r31->unk_04); - HuMemDirectFree(var_r30->unk_120); - Hu3DModelKill(arg0); - return 1; - } - return 0; -} - -void fn_1_6798(s16 arg0, s16 arg1, Vec *arg2, float arg8, float arg9, float argA) -{ - UnkM450Struct2 *var_r31; - s16 var_r27; - - GXColor sp18 = { 0xFF, 0xFF, 0xFF, 0xFF }; - for (var_r27 = 0; var_r27 < arg1; var_r27++) { - var_r31 = fn_1_6530(arg0, arg2, &sp18, 0.0f, 0.0f); - if (!var_r31) { - break; - } - var_r31->unk_04 = *arg2; - var_r31->unk_10 = 0.0f; - var_r31->unk_14 = arg8; - var_r31->unk_1C = 5.0f; - var_r31->unk_20 = arg9; - var_r31->unk_24 = argA; - var_r31->unk_18 = (20.0f * frandf()) - 10.0f; - var_r31->unk_1C = var_r31->unk_1C * (0.8f + (0.4f * frandf())); - var_r31->unk_20 = var_r31->unk_20 * (0.9f + (0.3f * frandf())); - } -} - -s16 fn_1_69F8(Vec *arg0, float *arg1, s16 arg2) -{ - s16 var_r31; - void *var_r30; - ModelData *var_r29; - ModelData *var_r28; - - var_r31 = fn_1_5ED8(lbl_1_bss_14, arg0, arg1, arg2, 80.0f, 0x40, 0x40); - fn_1_6638(var_r31, fn_1_5148); - fn_1_6670(var_r31, 1); - Hu3DModelLayerSet(var_r31, 5); - return var_r31; -} - -float fn_1_6AC8(float arg8, float arg9, float argA, float argB) -{ - if (argA >= argB) { - return arg9; - } - return arg8 + ((arg9 - arg8) * sind(((90.0f / argB) * argA))); -} - -float fn_1_6B90(float arg8, float arg9, float argA, float argB) -{ - if (argA >= argB) { - return arg9; - } - return arg8 + ((arg9 - arg8) * (1.0 - cosd(((90.0f / argB) * argA)))); -} - -void fn_1_6C68(s32 arg0) -{ - lbl_1_bss_10 = 0; - lbl_1_bss_C = arg0; - HuWinInit(1); -} - -void fn_1_6CB0(void (*arg0)(), s32 arg1) -{ - if ((arg1 < 0) || (fn_1_13B90(arg1) == 0)) { - lbl_1_bss_10++; - HuPrcChildCreate(arg0, 0x64, 0x2000, 0, HuPrcCurrentGet()); - } -} - -void fn_1_6D2C(void) -{ - lbl_1_bss_10--; - HuPrcEnd(); -} - -void fn_1_6D68(float *arg0, s32 arg1) -{ - float spC[2]; - - HuWinMesMaxSizeGet(1, spC, arg1); - if (spC[0] > arg0[0]) { - arg0[0] = spC[0]; - } - if (spC[1] > arg0[1]) { - arg0[1] = spC[1]; - } -} - -GXColor lbl_1_data_9F[3] = { - { 0xFF, 0xFF, 0xCC, 0xE6 }, - { 0xCC, 0xFF, 0xFF, 0xE6 }, - { 0xFF, 0xCC, 0xFF, 0xE6 }, -}; - -s32 lbl_1_data_AC[2] = { DATA_MAKE_NUM(DATADIR_M450, 0x2C), DATA_MAKE_NUM(DATADIR_M450, 0x2D) }; - -s32 lbl_1_data_B4[0x13] = { - DATA_MAKE_NUM(DATADIR_M450, 0x2E), - DATA_MAKE_NUM(DATADIR_M450, 0x2F), - DATA_MAKE_NUM(DATADIR_M450, 0x30), - DATA_MAKE_NUM(DATADIR_M450, 0x31), - DATA_MAKE_NUM(DATADIR_M450, 0x32), - DATA_MAKE_NUM(DATADIR_M450, 0x33), - DATA_MAKE_NUM(DATADIR_M450, 0x34), - DATA_MAKE_NUM(DATADIR_M450, 0x35), - DATA_MAKE_NUM(DATADIR_M450, 0x36), - DATA_MAKE_NUM(DATADIR_M450, 0x37), - DATA_MAKE_NUM(DATADIR_M450, 0x38), - DATA_MAKE_NUM(DATADIR_M450, 0x39), - DATA_MAKE_NUM(DATADIR_M450, 0x3A), - DATA_MAKE_NUM(DATADIR_M450, 0x3B), - DATA_MAKE_NUM(DATADIR_M450, 0x3C), - DATA_MAKE_NUM(DATADIR_M450, 0x3D), - DATA_MAKE_NUM(DATADIR_M450, 0x3E), - DATA_MAKE_NUM(DATADIR_M450, 0x3F), - DATA_MAKE_NUM(DATADIR_M450, 0x40), -}; - -s32 lbl_1_data_100[5] = { - DATA_MAKE_NUM(DATADIR_M450, 0x41), - DATA_MAKE_NUM(DATADIR_M450, 0x42), - DATA_MAKE_NUM(DATADIR_M450, 0x43), - DATA_MAKE_NUM(DATADIR_M450, 0x44), - DATA_MAKE_NUM(DATADIR_M450, 0x45), -}; -s32 lbl_1_data_114[0xF] = { - DATA_MAKE_NUM(DATADIR_M450, 0x46), - DATA_MAKE_NUM(DATADIR_M450, 0x47), - DATA_MAKE_NUM(DATADIR_M450, 0x47), - DATA_MAKE_NUM(DATADIR_M450, 0x49), - DATA_MAKE_NUM(DATADIR_M450, 0x4A), - DATA_MAKE_NUM(DATADIR_M450, 0x4B), - DATA_MAKE_NUM(DATADIR_M450, 0x4C), - DATA_MAKE_NUM(DATADIR_M450, 0x4D), - DATA_MAKE_NUM(DATADIR_M450, 0x4E), - DATA_MAKE_NUM(DATADIR_M450, 0x4F), - DATA_MAKE_NUM(DATADIR_M450, 0x50), - DATA_MAKE_NUM(DATADIR_M450, 0x51), - DATA_MAKE_NUM(DATADIR_M450, 0x52), - DATA_MAKE_NUM(DATADIR_M450, 0x53), - DATA_MAKE_NUM(DATADIR_M450, 0x54), -}; -s32 lbl_1_data_150[0xF] = { - DATA_MAKE_NUM(DATADIR_M450, 0x55), - DATA_MAKE_NUM(DATADIR_M450, 0x56), - DATA_MAKE_NUM(DATADIR_M450, 0x56), - DATA_MAKE_NUM(DATADIR_M450, 0x58), - DATA_MAKE_NUM(DATADIR_M450, 0x59), - DATA_MAKE_NUM(DATADIR_M450, 0x5A), - DATA_MAKE_NUM(DATADIR_M450, 0x5B), - DATA_MAKE_NUM(DATADIR_M450, 0x55), - DATA_MAKE_NUM(DATADIR_M450, 0x5C), - DATA_MAKE_NUM(DATADIR_M450, 0x5D), - DATA_MAKE_NUM(DATADIR_M450, 0x5E), - DATA_MAKE_NUM(DATADIR_M450, 0x5F), - DATA_MAKE_NUM(DATADIR_M450, 0x60), - DATA_MAKE_NUM(DATADIR_M450, 0x61), - DATA_MAKE_NUM(DATADIR_M450, 0x62), -}; -s32 lbl_1_data_18C[8] = { 0, 1, 2, 1, 1, -1, -1, -1 }; -s32 lbl_1_data_1AC[8] = { 0, 1, 2, 1, 1, -1, -1, -1 }; -s32 lbl_1_data_1CC[4] = { 0x3E, 0x65, 0x3F, 0x66 }; -UnkData204Struct lbl_1_data_1DC[5] = { - { 8.5f * REFRESH_RATE, 0 }, - { 5.0f * REFRESH_RATE, 1 }, - { 5.0f * REFRESH_RATE, 0 }, - { 5.0f * REFRESH_RATE, 1 }, - { 0.0f, 0 }, -}; -UnkData204Struct lbl_1_data_204[6] = { - { 3.5f * REFRESH_RATE, 0 }, - { 5.0f * REFRESH_RATE, 1 }, - { 5.0f * REFRESH_RATE, 0 }, - { 5.0f * REFRESH_RATE, 1 }, - { 5.0f * REFRESH_RATE, 0 }, - { 0.0f, 0 }, -}; -Vec2f lbl_1_data_234[4] = { - { 5.0f * REFRESH_RATE, 5.0f * REFRESH_RATE }, - { 5.0f * REFRESH_RATE, 4.0f * REFRESH_RATE }, - { 5.0f * REFRESH_RATE, 3.5f * REFRESH_RATE }, - { 5.0f * REFRESH_RATE, 3.0f * REFRESH_RATE }, -}; -float lbl_1_data_254[5] = { 0.4f, 0.35f, 0.3f, 0.25f, 0.2f }; -float lbl_1_data_268[5] = { 0.45f, 0.4f, 0.35f, 0.3f, 0.25f }; -float lbl_1_data_27C[5] = { 0.5f, 0.45f, 0.4f, 0.35f, 0.3f }; -float lbl_1_data_290[5] = { 0.55f, 0.5f, 0.45f, 0.4f, 0.35f }; - -s32 fn_1_6DD8(float arg8, float arg9, float argA, float argB, s32 arg0) -{ - float spC[2]; - - float var_f30; - float var_f29; - float var_f25; - float var_f24; - float var_f19; - float var_f18; - - s32 var_r31; - WindowData *var_r30; - GXColor *var_r29; - s32 var_r28; - - if (555.0f < (arg8 + argA)) { - arg8 = 555.0f - argA; - } - if (21.0f > arg8) { - arg8 = 21.0f; - } - lbl_1_bss_10++; - var_r28 = HuWinCreate(arg8, arg9, argA, argB, 1); - var_r30 = &winData[var_r28]; - var_r29 = &lbl_1_data_9F[arg0]; - HuWinBGTPLvlSet(var_r28, var_r29->a / 255.0f); - HuSprColorSet(var_r30->group, 0, var_r29->r, var_r29->g, var_r29->b); - var_r30->mess_color = 0; - var_r30->mess_shadow_color = 9; - var_r30->attr |= 0x80; - var_r30->active_pad = 0; - var_f30 = arg8 + (0.5f * argA); - var_f25 = 4.0f / argA; - if (((4.0f + var_f30) - (arg8 + argA)) >= 0.0f) { - var_f30 = (arg8 + argA) - 4.0f; - } - else if ((arg8 - (var_f30 - 2.0f)) >= 0.0f) { - var_f30 = arg8; - } - else { - var_f30 -= 2.0f; - } - var_f29 = arg9 + (0.5f * argB); - var_f24 = 4.0f / argB; - if (((4.0f + var_f29) - (arg9 + argB)) >= 0.0f) { - var_f29 = (arg9 + argB) - 4.0f; - } - else if ((arg9 - (var_f29 - 2.0f)) >= 0.0f) { - var_f29 = arg9; - } - else { - var_f29 -= 2.0f; - } - for (var_r31 = 0; var_r31 < 0xA; var_r31++) { - var_f19 = fn_1_6AC8(var_f30, arg8, var_r31, 10.0f); - spC[1] = fn_1_6AC8(var_f25, 1.0f, var_r31, 10.0f); - var_f18 = fn_1_6AC8(var_f29, arg9, var_r31, 10.0f); - spC[0] = fn_1_6AC8(var_f24, 1.0f, var_r31, 10.0f); - HuWinPosSet(var_r28, var_f19, var_f18); - HuWinScaleSet(var_r28, spC[1], spC[0]); - HuPrcVSleep(); - } - HuWinPosSet(var_r28, arg8, arg9); - HuWinScaleSet(var_r28, 1.0f, 1.0f); - HuPrcVSleep(); - return var_r28; -} - -void fn_1_74EC(s32 arg0) -{ - float sp8[2]; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f25; - float var_f26; - float var_f24; - float var_f19; - float var_f18; - - s32 var_r31; - WindowData *var_r30; - - HuWinMesSet(arg0, 0x1D0016); - HuPrcVSleep(); - var_r30 = &winData[arg0]; - var_f29 = var_r30->pos_x; - var_f28 = var_r30->pos_y; - var_f27 = var_r30->w; - var_f26 = var_r30->h; - var_f31 = var_f29 + (0.5f * var_f27); - var_f25 = 4.0f / var_f27; - if (((4.0f + var_f31) - (var_f29 + var_f27)) >= 0.0f) { - var_f31 = (var_f29 + var_f27) - 4.0f; - } - else if ((var_f29 - (var_f31 - 2.0f)) >= 0.0f) { - var_f31 = var_f29; - } - else { - var_f31 -= 2.0f; - } - var_f30 = var_f28 + (0.5f * var_f26); - var_f24 = 4.0f / var_f26; - if (((4.0f + var_f30) - (var_f28 + var_f26)) >= 0.0f) { - var_f30 = (var_f28 + var_f26) - 4.0f; - } - else if ((var_f28 - (var_f30 - 2.0f)) >= 0.0f) { - var_f30 = var_f28; - } - else { - var_f30 -= 2.0f; - } - for (var_r31 = 0; var_r31 < 0xA; var_r31++) { - var_f19 = fn_1_6B90(var_f29, var_f31, var_r31, 10.0f); - sp8[1] = fn_1_6B90(1.0f, var_f25, var_r31, 10.0f); - var_f18 = fn_1_6B90(var_f28, var_f30, var_r31, 10.0f); - sp8[0] = fn_1_6B90(1.0f, var_f24, var_r31, 10.0f); - HuWinPosSet(arg0, var_f19, var_f18); - HuWinScaleSet(arg0, sp8[1], sp8[0]); - HuPrcVSleep(); - } - HuWinPosSet(arg0, var_f31, var_f30); - HuWinScaleSet(arg0, var_f25, var_f24); - HuPrcVSleep(); - HuWinKill(arg0); - lbl_1_bss_10--; -} - -void fn_1_7B90(s32 arg0, u32 arg1) -{ - winData[arg0].mess_color = 0; - winData[arg0].mess_shadow_color = 9; - winData[arg0].attr |= 0x80; - HuWinMesSet(arg0, arg1); -} - -void fn_1_7C14(s32 arg0, s32 arg1) -{ - HuWinComKeyReset(); - if (arg1 > 0) { - HuPrcSleep(arg1); - } - else { - winData[arg0].active_pad = 1 << lbl_1_bss_C; - HuWinMesWait(arg0); - } - HuWinComKeyReset(); -} - -void fn_1_7C98(s32 arg0) -{ - s32 var_r31; - - HuWinComKeyReset(); - winData[arg0].active_pad = 1 << lbl_1_bss_C; - var_r31 = HuWinChoiceGet(arg0, 1); - if ((var_r31 == -1) || (var_r31 == 1)) { - lbl_1_bss_8 = 0; - } - else { - lbl_1_bss_8 = 1; - } - HuWinComKeyReset(); -} - -void fn_1_7D40(void) -{ - Vec sp18; - float var_f31; - float var_f30; - float var_f29; - - s32 var_r31; - - float sp10[2] = { 0.0f, 0.0f }; - s32 sp24[22] = { - 0x002D0003, - 0x0000003E, - 0x002D0009, - 0x0000003E, - 0x002D000B, - 0x0000003E, - 0x002D000D, - 0x0000003E, - 0x002D000F, - 0x0000003E, - 0x002D0011, - 0x0000003E, - 0x002D0013, - 0x0000003E, - 0x002D0015, - 0x0000003E, - 0x002D0017, - 0x0000003E, - 0x002D0019, - 0x0000003E, - 0x002D001B, - 0x0000003F, - }; - fn_1_E178(0, 1); - fn_1_6D68(sp10, sp24[lbl_1_bss_4 * 2]); - sp18 = lbl_1_bss_34[0]; - sp18.y += 200.0f; - Hu3D3Dto2D(&sp18, 1, &sp18); - if (sp24[(lbl_1_bss_4 * 2) + 1] >= 0) { - var_f30 = 32.0f + (64.0f * (sp18.x / 576.0f)); - if (32.0f > var_f30) { - var_f30 = 32.0f; - } - if (96.0f < var_f30) { - var_f30 = 96.0f; - } - HuAudFXPanning(fn_1_E0E8(0, sp24[(lbl_1_bss_4 * 2) + 1]), (s32)var_f30); - } - var_f31 = sp18.x - (sp10[0] / 2); - var_f29 = 72.0f; - if (lbl_1_bss_4 >= 5) { - if (var_f29 > var_f31) { - var_f31 = var_f29; - } - if ((576.0f - var_f29) < (var_f31 + sp10[0])) { - var_f31 = (576.0f - var_f29) - sp10[0]; - } - } - var_r31 = fn_1_6DD8(var_f31, sp18.y - sp10[1], sp10[0], sp10[1], 0); - fn_1_7B90(var_r31, sp24[lbl_1_bss_4 * 2]); - fn_1_7C14(var_r31, lbl_1_bss_0); - fn_1_74EC(var_r31); - fn_1_E178(0, 0); - fn_1_6D2C(); -} - -void fn_1_8120(void) -{ - Vec sp18; - - float var_f31; - float var_f30; - float var_f29; - - s32 var_r31; - s32 var_r30; - s32 var_r29; - - float sp10[2] = { 0.0f, 0.0f }; - s32 sp24[22] = { - 0x002D0002, - 0x0000003E, - 0x002D0008, - 0x0000003E, - 0x002D000A, - 0x0000003E, - 0x002D000C, - 0x0000003E, - 0x002D000E, - 0x0000003E, - 0x002D0010, - 0x0000003E, - 0x002D0012, - 0x0000003E, - 0x002D0014, - 0x0000003E, - 0x002D0016, - 0x0000003E, - 0x002D0018, - 0x0000003F, - 0x002D001A, - 0x0000003F, - }; - fn_1_E178(1, 1); - fn_1_6D68(sp10, sp24[lbl_1_bss_4 * 2]); - sp18 = lbl_1_bss_34[1]; - sp18.y += 200.0f; - Hu3D3Dto2D(&sp18, 1, &sp18); - if (sp24[(lbl_1_bss_4 * 2) + 1] >= 0) { - var_f30 = 32.0f + (64.0f * (sp18.x / 576.0f)); - if (32.0f > var_f30) { - var_f30 = 32.0f; - } - if (96.0f < var_f30) { - var_f30 = 96.0f; - } - HuAudFXPanning(fn_1_E0E8(1, sp24[(lbl_1_bss_4 * 2) + 1]), (s32)var_f30); - } - var_f31 = sp18.x - (sp10[0] / 2); - var_f29 = 72.0f; - if (lbl_1_bss_4 >= 5) { - if (var_f29 > var_f31) { - var_f31 = var_f29; - } - if ((576.0f - var_f29) < (var_f31 + sp10[0])) { - var_f31 = (576.0f - var_f29) - sp10[0]; - } - } - var_r31 = fn_1_6DD8(var_f31, sp18.y - sp10[1], sp10[0], sp10[1], 1); - fn_1_7B90(var_r31, sp24[lbl_1_bss_4 * 2]); - fn_1_7C14(var_r31, lbl_1_bss_0); - fn_1_74EC(var_r31); - fn_1_E178(1, 0); - fn_1_6D2C(); -} - -void fn_1_8500(void) -{ - float sp28; - float sp20; - float sp18; - float sp10; - float sp8; - - s32 var_r31; - - float sp30[2] = { 0.0f, 0.0f }; - fn_1_6D68(sp30, 0x2D0001); - fn_1_6D68(sp30, 0x2D0004); - fn_1_6D68(sp30, 0x2D0005); - fn_1_6D68(sp30, 0x2D0006); - fn_1_6D68(sp30, 0x2D0007); - var_r31 = fn_1_6DD8((576.0f - sp30[0]) / 2, 48.0f, sp30[0], sp30[1], 2); - HuAudFXPlay(0x3A); - fn_1_A968(3, 8.0f, 0, 0, 0.0f); - fn_1_7B90(var_r31, 0x2D0001); - fn_1_7C14(var_r31, -1); - lbl_1_bss_4 = 0; - lbl_1_bss_0 = 0x78; - fn_1_E1A8(0, 8, 8.0f, 0, 7, 0.0f); - fn_1_E1A8(1, 8, 8.0f, 0, 7, 0.0f); - fn_1_6CB0(fn_1_7D40, -1); - fn_1_6CB0(fn_1_8120, -1); - - while (lbl_1_bss_10 > 2) { - HuPrcVSleep(); - } - HuAudFXPlay(0x3B); - fn_1_A968(4, 8.0f, 0, 0, REFRESH_RATE); - fn_1_E1A8(0, 9, 8.0f, 0, 7, REFRESH_RATE); - fn_1_E1A8(1, 9, 8.0f, 0, 7, REFRESH_RATE); - fn_1_7B90(var_r31, 0x2D0004); - fn_1_7C14(var_r31, -1); - HuAudFXPlay(0x3C); - fn_1_7B90(var_r31, 0x2D0005); - fn_1_7C14(var_r31, -1); - fn_1_7B90(var_r31, 0x2D0006); - fn_1_7C14(var_r31, -1); - HuAudFXPlay(0x3A); - fn_1_7B90(var_r31, 0x2D0007); - fn_1_7C14(var_r31, -1); - fn_1_74EC(var_r31); - fn_1_6D2C(); -} - -void fn_1_8BDC(void) -{ - s32 var_r31; - - lbl_1_bss_4 = 2; - lbl_1_bss_0 = -1; - fn_1_E1A8(1, 0xD, 8.0f, 0x40000001, -1, 0.0f); - fn_1_6CB0(fn_1_8120, -1); - - while (lbl_1_bss_10 > 1) { - HuPrcVSleep(); - } - fn_1_E1A8(1, 0, 8.0f, 0x40000001, -1, 0.0f); - fn_1_E1A8(0, 0xD, 8.0f, 0x40000001, -1, 0.0f); - fn_1_6CB0(fn_1_7D40, -1); - while (lbl_1_bss_10 > 1) { - HuPrcVSleep(); - } - fn_1_E1A8(0, 0, 8.0f, 0x40000001, -1, 0.0f); - lbl_1_bss_4 = 3; - lbl_1_bss_0 = -1; - fn_1_E1A8(1, 0xD, 8.0f, 0x40000001, -1, 0.0f); - fn_1_6CB0(fn_1_8120, -1); - while (lbl_1_bss_10 > 1) { - HuPrcVSleep(); - } - fn_1_E1A8(1, 0, 8.0f, 0x40000001, -1, 0.0f); - fn_1_E1A8(0, 0xD, 8.0f, 0x40000001, -1, 0.0f); - fn_1_6CB0(fn_1_7D40, -1); - while (lbl_1_bss_10 > 1) { - HuPrcVSleep(); - } - HuPrcSleep(0x1E); - fn_1_1F58(0x3E8); - lbl_1_bss_4 = 4; - lbl_1_bss_0 = 0x1E; - fn_1_E1A8(0, 0xC, 8.0f, 0x40000001, -1, 0.0f); - fn_1_E1A8(1, 0xC, 8.0f, 0x40000001, -1, 0.0f); - fn_1_6CB0(fn_1_7D40, -1); - fn_1_6CB0(fn_1_8120, -1); - while (lbl_1_bss_10 > 1) { - HuPrcVSleep(); - } - fn_1_6D2C(); -} - -void fn_1_9074(void) -{ - lbl_1_bss_4 = 5; - lbl_1_bss_0 = 0x1E; - fn_1_6CB0(fn_1_7D40, -1); - fn_1_6CB0(fn_1_8120, -1); - while (lbl_1_bss_10 > 1) { - HuPrcVSleep(); - } - lbl_1_bss_4 = 6; - lbl_1_bss_0 = -1; - fn_1_E1A8(1, 0xD, 8.0f, 0x40000001, -1, 0.0f); - fn_1_6CB0(fn_1_8120, -1); - while (lbl_1_bss_10 > 1) { - HuPrcVSleep(); - } - fn_1_E1A8(1, 0, 8.0f, 0x40000001, -1, 0.0f); - fn_1_E1A8(0, 0xD, 8.0f, 0x40000001, -1, 0.0f); - fn_1_6CB0(fn_1_7D40, -1); - while (lbl_1_bss_10 > 1) { - HuPrcVSleep(); - } - fn_1_E1A8(0, 0, 8.0f, 0x40000001, -1, 0.0f); - lbl_1_bss_4 = 7; - lbl_1_bss_0 = -1; - fn_1_E1A8(1, 0xD, 8.0f, 0x40000001, -1, 0.0f); - fn_1_6CB0(fn_1_8120, -1); - while (lbl_1_bss_10 > 1) { - HuPrcVSleep(); - } - fn_1_E1A8(1, 0, 8.0f, 0x40000001, -1, 0.0f); - fn_1_E1A8(0, 0xD, 8.0f, 0x40000001, -1, 0.0f); - fn_1_6CB0(fn_1_7D40, -1); - while (lbl_1_bss_10 > 1) { - HuPrcVSleep(); - } - fn_1_E1A8(0, 0, 8.0f, 0x40000001, -1, 0.0f); - lbl_1_bss_4 = 8; - lbl_1_bss_0 = -1; - fn_1_E1A8(1, 0xE, 8.0f, 0, -1, 0.0f); - fn_1_6CB0(fn_1_8120, -1); - while (lbl_1_bss_10 > 1) { - HuPrcVSleep(); - } - fn_1_E1A8(1, 0, 8.0f, 0x40000001, -1, 0.0f); - fn_1_E1A8(0, 0xE, 8.0f, 0, -1, 0.0f); - fn_1_6CB0(fn_1_7D40, -1); - while (lbl_1_bss_10 > 1) { - HuPrcVSleep(); - } - fn_1_E1A8(0, 0, 8.0f, 0x40000001, -1, 0.0f); - lbl_1_bss_4 = 9; - lbl_1_bss_0 = 0x1E; - fn_1_6CB0(fn_1_7D40, -1); - fn_1_6CB0(fn_1_8120, -1); - while (lbl_1_bss_10 > 1) { - HuPrcVSleep(); - } - fn_1_6D2C(); -} - -void fn_1_96C0(void) -{ - lbl_1_bss_4 = 0xA; - lbl_1_bss_0 = -1; - fn_1_E1A8(1, 4, 8.0f, 0, -1, 0.0f); - fn_1_6CB0(fn_1_8120, -1); - while (lbl_1_bss_10 > 1) { - HuPrcVSleep(); - } - fn_1_E1A8(0, 4, 8.0f, 0, -1, 0.0f); - fn_1_6CB0(fn_1_7D40, -1); - while (lbl_1_bss_10 > 1) { - HuPrcVSleep(); - } - fn_1_6D2C(); -} - -void fn_1_9824(void) -{ - s32 var_r31; - - float sp20[2] = { 0.0f, 0.0f }; - fn_1_6D68(sp20, 0x2D001C); - fn_1_6D68(sp20, 0x2D001D); - fn_1_6D68(sp20, 0x2D001E); - var_r31 = fn_1_6DD8((576.0f - sp20[0]) / 2, 132.0f, sp20[0], sp20[1], 2); - fn_1_A968(8, 8.0f, 0, 7, 0.0f); - HuAudFXPlay(0x3C); - fn_1_7B90(var_r31, 0x2D001C); - fn_1_7C14(var_r31, -1); - fn_1_7B90(var_r31, 0x2D001D); - fn_1_7C14(var_r31, -1); - HuAudFXPlay(0x3C); - fn_1_7B90(var_r31, 0x2D001E); - fn_1_7C14(var_r31, -1); - fn_1_74EC(var_r31); - fn_1_6D2C(); -} - -void fn_1_9BA4(void) -{ - s32 var_r31; - float sp20[2] = { 0.0f, 0.0f }; - - fn_1_6D68(sp20, 0x2D001F); - fn_1_6D68(sp20, 0x2D0020); - fn_1_6D68(sp20, 0x2D0021); - var_r31 = fn_1_6DD8((576.0f - sp20[0]) / 2, 48.0f, sp20[0], sp20[1], 2); - HuAudFXPlay(0x3C); - fn_1_7B90(var_r31, 0x2D001F); - fn_1_7C14(var_r31, -1); - fn_1_A968(5, 8.0f, 0, 6, 0.0f); - fn_1_7B90(var_r31, 0x2D0020); - fn_1_7C14(var_r31, -1); - HuAudFXPlay(0x3C); - fn_1_7B90(var_r31, 0x2D0021); - fn_1_7C14(var_r31, -1); - fn_1_A968(0, 8.0f, 0, -1, 0.0f); - fn_1_74EC(var_r31); - fn_1_6D2C(); -} - -void fn_1_9F4C(UnkM450Struct3 *arg0, s32 arg1, Vec *arg2, s8 arg3) -{ - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - float var_f25; - - s32 var_r29; - s32 var_r28; - s32 var_r27; - - if (90.0f <= arg0->unk_E4) { - arg0->unk_00.unk_6C.y -= 10.0f; - return; - } - var_r29 = 1; - if (arg3 == 0x78) { - if (arg2->x > arg0->unk_00.unk_6C.x) { - var_r29 = 0; - } - } - else if (arg2->z < arg0->unk_00.unk_6C.z) { - var_r29 = 0; - } - if (var_r29 != 0) { - arg0->unk_E4 += 5.0f; - if (0.0f > arg2->x) { - var_f30 = -arg2->x; - } - else { - var_f30 = arg2->x; - } - var_f31 = var_f30; - if (0.0f > arg2->y) { - var_f29 = -arg2->y; - } - else { - var_f29 = arg2->y; - } - if (var_f31 < var_f29) { - if (0.0f > arg2->y) { - var_f28 = -arg2->y; - } - else { - var_f28 = arg2->y; - } - var_f31 = var_f28; - } - if (0.0f > arg2->z) { - var_f27 = -arg2->z; - } - else { - var_f27 = arg2->z; - } - if (var_f31 < var_f27) { - if (0.0f > arg2->z) { - var_f26 = -arg2->z; - } - else { - var_f26 = arg2->z; - } - var_f31 = var_f26; - } - var_f31 = 1500.0f - var_f31; - if (arg3 == 0x78) { - if (0.0f > arg2->x) { - var_r28 = -1; - } - else { - var_r28 = 1; - } - arg0->unk_00.unk_6C.x = arg2->x + ((var_f31 * var_r28) * sind(arg0->unk_E4)); - } - else { - if (0.0f > arg2->z) { - var_r27 = -1; - } - else { - var_r27 = 1; - } - arg0->unk_00.unk_6C.z = arg2->z + ((var_f31 * var_r27) * sind(arg0->unk_E4)); - } - MTXRotRad(Hu3DData[arg1].unk_F0, 0x58, 0.017453292f * arg0->unk_E4); - arg0->unk_00.unk_6C.y = arg2->y + (var_f31 * cosd(arg0->unk_E4)); - return; - } - if (arg3 == 0x78) { - arg0->unk_00.unk_20 = 0x48; - } - else { - arg0->unk_00.unk_24 = 0x48; - } - if (arg0->unk_154 & 0x200) { - var_f31 = arg0->unk_F0 - arg0->unk_00.unk_6C.x; - if (0.0f > var_f31) { - var_f25 = -var_f31; - } - else { - var_f25 = var_f31; - } - if (10.0f > var_f25) { - arg0->unk_154 &= ~0x200; - } - if (0.0f <= var_f31) { - arg0->unk_00.unk_20 = 0x48; - } - else { - arg0->unk_00.unk_20 = -0x48; - } - } - fn_1_40C0(&arg0->unk_00); -} - -void fn_1_A3C4(omObjData *object, Vec *arg1, s32 arg2) -{ - s32 var_r31; - - if (1495.0f > arg1->y) { - for (var_r31 = 0; var_r31 < arg2; var_r31++) { - Hu3DModelShadowDispOff(object->model[var_r31]); - } - return; - } - for (var_r31 = 0; var_r31 < arg2; var_r31++) { - Hu3DModelShadowDispOn(object->model[var_r31]); - } -} - -void fn_1_A470(UnkM450Struct3 *arg0, omObjData *arg1, char *arg2, s32 arg3) -{ - s32 var_r30; - - arg0->unk_CC = arg2; - arg0->unk_154 |= 1; - omSetTra(arg1, 0.0f, 0.0f, 0.0f); - omSetRot(arg1, 0.0f, 0.0f, 0.0f); - omSetSca(arg1, 1.0f, 1.0f, 1.0f); - for (var_r30 = 0; var_r30 < arg3; var_r30++) { - Hu3DModelPosSet(arg1->model[var_r30], 0.0f, 0.0f, 0.0f); - Hu3DModelRotSet(arg1->model[var_r30], 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(arg1->model[var_r30], 1.0f, 1.0f, 1.0f); - } -} - -void fn_1_A600(UnkM450Struct3 *arg0, omObjData *arg1, char *arg2, s32 arg3) -{ - s32 var_r29; - - arg0->unk_CC = arg2; - arg0->unk_154 &= ~1; - fn_1_1D70(lbl_1_bss_1A0->model[0], arg0->unk_CC, &arg0->unk_00.unk_6C, NULL); - omSetTra(arg1, 0.0f, 0.0f, 0.0f); - omSetRot(arg1, 0.0f, 0.0f, 0.0f); - for (var_r29 = 0; var_r29 < arg3; var_r29++) { - MTXIdentity(Hu3DData[arg1->model[var_r29]].unk_F0); - Hu3DModelPosSet(arg1->model[var_r29], 0.0f, 0.0f, 0.0f); - Hu3DModelRotSet(arg1->model[var_r29], 0.0f, 0.0f, 0.0f); - } -} - -s32 fn_1_A7CC(UnkM450Struct3 *arg0) -{ - if (fn_1_19A10(&arg0->unk_00, &arg0->unk_D4) != 0) { - arg0->unk_150 += 1; - return 1; - } - fn_1_40C0(&arg0->unk_00); - return 0; -} - -void fn_1_A828(UnkM450Struct3 *arg0, float arg8, float arg9, float argA) -{ - float var_f31; - float var_f30; - - arg0->unk_E0 += 1.0f; - var_f31 = arg0->unk_E0 / arg8; - if (1.0f < var_f31) { - var_f31 = 1.0f; - } - var_f30 = sind((90.0f * var_f31)) * sind((90.0f * var_f31)); - arg0->unk_00.unk_6C.y = arg9 + ((var_f30) * (argA - arg9)); -} - -void fn_1_A968(s32 arg0, float arg8, u32 arg1, s32 arg2, float arg9) -{ - UnkM450Struct3 *var_r31; - - if (arg8 == 0.0f) { - Hu3DMotionSet(lbl_1_bss_134->model[0], lbl_1_bss_134->motion[arg0]); - } - else { - Hu3DMotionShiftSet(lbl_1_bss_134->model[0], lbl_1_bss_134->motion[arg0], 0.0f, arg8, arg1); - } - var_r31 = lbl_1_bss_134->data; - var_r31->unk_140 = -1; - var_r31->unk_154 &= ~0x2100; - if (arg2 >= 0) { - var_r31->unk_140 = arg2; - var_r31->unk_144 = arg9; - var_r31->unk_154 |= 0x100; - if (arg0 == 4 || arg0 == 5) { - var_r31->unk_154 |= 0x2000; - } - } -} - -s32 lbl_1_data_F6C[6]; -UnkDataA0CStruct lbl_1_data_A0C[2]; - -void fn_1_AAB0(UnkM450Struct3 *arg0, Vec2f *arg1, s32 arg2) -{ - float var_f30; - float var_f31 = 1.0f; - if (arg2 != 0) { - var_f31 = arg0->unk_F4; - if ((lbl_1_data_F6C[lbl_1_bss_118] - lbl_1_bss_304) > 60 * REFRESH_RATE) { - arg0->unk_F4 = arg0->unk_F4 - 0.1f; - if (0.0f > arg0->unk_F4) { - arg0->unk_F4 = 0.0f; - } - } - } - var_f30 = arg1->x - arg1->y; - arg0->unk_100 = arg1->y + (var_f30 * var_f31); -} - -float fn_1_AB88(UnkM450Struct3 *arg0) -{ - s32 var_r31 = lbl_1_data_A0C[1].unk_14 - 1; - if (var_r31 > 4) { - var_r31 = 4; - } - if (var_r31 < 0) { - var_r31 = 0; - } - return arg0->unk_D0[var_r31]; -} - -void fn_1_ABD0(omObjData *object) -{ - float var_f29; - UnkM450Struct3 *var_r31 = object->data; - - var_r31->unk_138 = 0; - var_f29 = sqrtf((var_r31->unk_00.unk_6C.x * var_r31->unk_00.unk_6C.x) + (var_r31->unk_00.unk_6C.z * var_r31->unk_00.unk_6C.z)); - if (680.0f < var_f29) { - var_r31->unk_138 = 1; - var_r31->unk_00.unk_6C.x = 680.0f * (var_r31->unk_00.unk_6C.x / var_f29); - var_r31->unk_00.unk_6C.z = 680.0f * (var_r31->unk_00.unk_6C.z / var_f29); - } -} - -void fn_1_AD58(omObjData *object) -{ - Mtx sp1F8; - Vec spFC; - Vec spF0; - Vec spE4; - Vec spD8; - float spCC; - float spC8; - - UnkM450Struct3 *var_r31; - Vec2f *var_r25; - s32 var_r20; - - var_r20 = 0; - spE4 = ((UnkM450Struct5 *)lbl_1_bss_138->data)->unk_00.unk_6C; - var_r31 = object->data; - var_r31->unk_00.unk_20 = 0; - var_r31->unk_00.unk_24 = 0; - var_r31->unk_00.unk_28 = 0; - var_r31->unk_00.unk_2C = 0; - var_r31->unk_00.unk_30 = 0; - var_r31->unk_00.unk_34 = 0; - switch (var_r31->unk_150) { - case 0xBB8: - if (lbl_1_bss_1A4->work[0] >= 0x3EF) { - var_r31->unk_150++; - var_r31->unk_E4 = 0.0f; - var_r31->unk_154 = var_r31->unk_154 & 0xFFFFFEFF; - } - break; - case 0xBB9: - fn_1_9F4C(var_r31, object->model[0], lbl_1_bss_4C, 0x7A); - if (1000.0f > var_r31->unk_00.unk_6C.y) { - var_r31->unk_150++; - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - } - break; - case 0xBBA: - if (lbl_1_bss_1A4->work[0] >= 0x402) { - var_r31->unk_150++; - var_r31->unk_E0 = 0.0f; - var_r31->unk_00.unk_9C = 270.0f; - fn_1_A470(var_r31, object, "m450mex06-s4kuppa", 2); - fn_1_4ED8(&var_r31->unk_00, 0); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - } - break; - case 0xBBB: - if (lbl_1_bss_1A4->work[0] >= 0x403) { - var_r31->unk_E0 += 1.0f; - if (30.0f < var_r31->unk_E0) { - var_r31->unk_150++; - var_r31->unk_E4 = 0.0f; - fn_1_A600(var_r31, object, "m450mex06-s4kuppa", 2); - omSetSca(object, 1.5f, 1.5f, 1.5f); - var_r31->unk_00.unk_9C = 270.0f; - var_r31->unk_00.unk_6C.y = 1505.0f; - } - } - break; - case 0xBBC: - fn_1_9F4C(var_r31, object->model[0], &lbl_1_bss_4C[3], 0x78); - if (1000.0f > var_r31->unk_00.unk_6C.y) { - var_r31->unk_150++; - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - lbl_1_bss_1A4->work[0] = 0x404; - lbl_1_bss_128 = 0.0f; - } - break; - case 0xBBD: - if (lbl_1_bss_1A4->work[0] >= 0x409) { - var_r31->unk_150++; - var_r31->unk_E0 = 0.0f; - var_r31->unk_E8 = 360.0f * frandf(); - var_r31->unk_154 |= 2; - MTXIdentity(Hu3DData[object->model[0]].unk_F0); - omSetSca(object, 1.0f, 1.0f, 1.0f); - Hu3DModelScaleSet(object->model[1], 1.5f, 1.5f, 1.5f); - Hu3DModelAttrReset(object->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[1], HU3D_MOTATTR_PAUSE); - Hu3DModelHookSet(object->model[1], "g000i00-itemhook_A", object->model[0]); - var_r31->unk_00.unk_6C.x = 0.0f; - var_r31->unk_00.unk_6C.y = 3000.0f; - var_r31->unk_00.unk_6C.z = 0.0f; - var_r31->unk_00.unk_9C = 270.0f; - fn_1_4ED8(&var_r31->unk_00, 0); - var_r31->unk_00.unk_3C |= 0x2020; - Hu3DMotionSet(object->model[0], object->motion[7]); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - } - break; - case 0xBBE: - fn_1_A828(var_r31, 2 * REFRESH_RATE, 3000.0f, 1605.0f); - if (lbl_1_bss_1A4->work[0] >= 0x40B) { - var_r31->unk_150++; - var_r31->unk_E0 = 0.0f; - var_r31->unk_D4.x = 1200.0f; - var_r31->unk_D4.y = var_r31->unk_00.unk_6C.y; - var_r31->unk_D4.z = 0.0f; - } - break; - case 0xBBF: - fn_1_A828(var_r31, 60.0f, var_r31->unk_D4.y, 1605.0f); - if ((fn_1_A7CC(var_r31) != 0) && (lbl_1_bss_1A4->work[0] < 0x40C)) { - lbl_1_bss_1A4->work[0] = 0x40C; - lbl_1_bss_128 = 0.0f; - } - break; - case 0xBC0: - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, 270.0f, 0.05f); - if (lbl_1_bss_1A4->work[0] >= 0x40D) { - var_r31->unk_150++; - var_r31->unk_EC = 0.0f; - var_r31->unk_104 = 0.0f; - fn_1_AAB0(var_r31, var_r31->unk_C8, 0); - var_r31->unk_D4 = var_r31->unk_00.unk_6C; - Hu3DMotionShiftSet(object->model[0], object->motion[9], 0.0f, 8.0f, 0x40000001); - } - break; - case 0xBC1: - if ((var_r31->unk_154 & 0x80) != 0) { - var_r31->unk_100 += 1.0f; - if ((Hu3DMotionShiftIDGet(object->model[0]) < 0) && (Hu3DMotionEndCheck(object->model[0]) != 0)) { - var_r31->unk_154 = var_r31->unk_154 & 0xFFFFFF7F; - Hu3DMotionShiftSet(object->model[0], object->motion[9], 0.0f, 8.0f, 0x40000001); - } - } - else if ((var_r31->unk_134 > lbl_1_data_A0C[0].unk_14) || (lbl_1_data_A0C[0].unk_14 <= 0)) { - var_r31->unk_100 += 1.0f; - var_r31->unk_154 |= 0x80; - Hu3DMotionShiftSet(object->model[0], object->motion[8], 0.0f, 8.0f, 0); - } - VECSubtract(&((UnkM450Struct5 *)lbl_1_bss_138->data)->unk_00.unk_6C, &var_r31->unk_00.unk_6C, &spF0); - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, atan2d(spF0.x, spF0.z), 0.4f); - var_r31->unk_100 -= 1.0f; - if (0.0f > var_r31->unk_100) { - var_r31->unk_150 = 0xBC2; - var_r31->unk_154 |= 0x10; - fn_1_AAB0(var_r31, var_r31->unk_C8, 0); - fn_1_17970(object->model[0], object->model[1], var_r31->unk_00.unk_9C - 45.0f); - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSet(object->model[0], object->motion[10], 0.0f, 8.0f, 0); - } - var_r31->unk_EC += 0.5f; - if (360.0f <= var_r31->unk_EC) { - var_r31->unk_EC -= 360.0f; - } - var_r31->unk_00.unk_6C.x - = var_r31->unk_D4.x - (400.0 * (1.0 - (0.0 > cosd(var_r31->unk_EC) ? -cosd(var_r31->unk_EC) : cosd(var_r31->unk_EC)))); - var_r31->unk_00.unk_6C.z = var_r31->unk_D4.z + (800.0 * sind(var_r31->unk_EC)); - if ((var_r31->unk_150 == 0xBC1) && (lbl_1_bss_1A4->work[0] >= 0x40E)) { - var_r31->unk_150 = 0xBC3; - var_r31->unk_D4 = var_r31->unk_00.unk_6C; - var_r31->unk_D4.z = -1800.0f; - Hu3DMotionShiftSet(object->model[0], object->motion[7], 0.0f, 8.0f, 0x40000001); - } - break; - case 0xBC2: - var_r31->unk_154 &= ~0x80; - if (((var_r31->unk_154 & 0x20) == 0) && (Hu3DMotionShiftIDGet(object->model[0]) < 0) && (Hu3DMotionEndCheck(object->model[0]) != 0)) { - var_r31->unk_154 |= 0x20; - Hu3DMotionShiftSet(object->model[0], object->motion[7], 0.0f, 8.0f, 0x40000001); - } - var_r31->unk_100 -= 1.0f; - if (0.0f > var_r31->unk_100) { - var_r31->unk_150 = 0xBC1; - var_r31->unk_154 &= ~0x30; - Hu3DMotionShiftSet(object->model[0], object->motion[9], 0.0f, 8.0f, 0x40000001); - fn_1_AAB0(var_r31, var_r31->unk_C8, 1); - } - break; - case 0xBC3: - if (lbl_1_bss_1A4->work[0] >= 0x40F) { - if ((var_r31->unk_154 & 0x1000) == 0) { - var_r31->unk_154 |= 0x1000; - HuAudFXPlay(0x3B); - } - if (fn_1_19A10(&var_r31->unk_00, &var_r31->unk_D4) != 0) { - var_r31->unk_150++; - var_r31->unk_154 &= ~2; - Hu3DModelHookObjReset(object->model[1], "g000i00-itemhook_A"); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - lbl_1_bss_1A4->work[0] = 0x410; - lbl_1_bss_128 = 0.0f; - } - fn_1_40C0(&var_r31->unk_00); - } - break; - case 0xBC4: - if (lbl_1_bss_1A4->work[0] >= 0x411) { - var_r31->unk_150++; - var_r31->unk_00.unk_9C = 0.0f; - fn_1_A470(var_r31, object, "m450mex06-s6kuppa01", 2); - fn_1_4ED8(&var_r31->unk_00, 0); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - } - break; - case 0xBC5: - if (lbl_1_bss_1A4->work[0] >= 0x415) { - var_r31->unk_150 = 0xBC7; - var_r31->unk_E0 = 0.0f; - fn_1_A600(var_r31, object, "m450mex06-s6kuppa01", 2); - omSetSca(object, 1.5f, 1.5f, 1.5f); - var_r31->unk_00.unk_9C = 0.0f; - var_r31->unk_00.unk_6C.y = 1505.0f; - fn_1_4ED8(&var_r31->unk_00, 0); - var_r31->unk_00.unk_04 = fn_1_ABD0; - } - break; - case 0xBC6: - var_r31->unk_E0 += 1.0f; - if (120.0f < var_r31->unk_E0) { - var_r31->unk_150++; - var_r31->unk_E0 = 0.0f; - var_r31->unk_00.unk_3C &= ~0x20; - fn_1_4ED8(&var_r31->unk_00, 0); - } - break; - case 0xBC7: - var_r31->unk_00.unk_B8 = fn_1_AB88(var_r31); - fn_1_19A10(&var_r31->unk_00, &spE4); - fn_1_40C0(&var_r31->unk_00); - var_r31->unk_E0 += 1.0f; - spC8 = (REFRESH_RATE * (3.0f + lbl_1_data_A0C[1].unk_14)); - if (spC8 < var_r31->unk_E0) { - var_r31->unk_150++; - var_r31->unk_154 &= ~0x70; - var_r31->unk_E0 = 0.0f; - var_r31->unk_114 = spE4; - if (frandmod(0x64) < 0x1E) { - var_r31->unk_110 = 0xBC9; - } - else if (500.0f > VECDistance(&var_r31->unk_00.unk_6C, &spE4)) { - var_r31->unk_110 = 0xBCA; - if (lbl_1_data_A0C[1].unk_14 <= 2) { - var_r31->unk_110 = 0xBCB; - } - } - else { - var_r31->unk_110 = 0xBCC; - } - fn_1_4ED8(&var_r31->unk_00, 0); - } - break; - case 0xBC8: - VECSubtract(&var_r31->unk_114, &var_r31->unk_00.unk_6C, &spF0); - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, atan2d(spF0.x, spF0.z), 0.4f); - var_r31->unk_E0 += 1.0f; - var_r31->unk_114 = spE4; - if (60.0f < var_r31->unk_E0) { - var_r31->unk_150 = var_r31->unk_110; - var_r31->unk_154 &= ~0x30; - var_r31->unk_E0 = 0.0f; - var_r31->unk_00.unk_3C |= 0x20; - } - break; - case 0xBC9: - if ((var_r31->unk_154 & 0x10) == 0) { - var_r31->unk_154 |= 0x10; - Hu3DMotionShiftSet(object->model[0], object->motion[15], 0.0f, 8.0f, 0x40000001); - } - else { - var_r31->unk_00.unk_B8 = 1.5f; - if ((fn_1_19A10(&var_r31->unk_00, &var_r31->unk_114) != 0) || (var_r31->unk_00.unk_48 > 0)) { - var_r31->unk_150 = 0xBC6; - var_r31->unk_E0 = 0.0f; - var_r31->unk_154 |= 0x20; - Hu3DMotionShiftSet(object->model[0], object->motion[0], 0.0f, 8.0f, 0x40000001); - } - else { - fn_1_40C0(&var_r31->unk_00); - } - } - break; - case 0xBCA: - if ((var_r31->unk_154 & 0x10) == 0) { - var_r31->unk_154 |= 0x10; - var_r31->unk_12C = fn_1_69F8(NULL, NULL, 0x200); - var_r31->unk_130 = HuAudFXPlay(0x7BC); - Hu3DMotionShiftSet(object->model[0], object->motion[12], 0.0f, 8.0f, 0); - } - else if (Hu3DMotionShiftIDGet(object->model[0]) < 0) { - if (45.0f < Hu3DMotionTimeGet(object->model[0])) { - var_r20 = 1; - } - if (var_r20 != 0) { - if ((Hu3DMotionShiftIDGet(object->model[0]) < 0) && (Hu3DMotionEndCheck(object->model[0]) != 0)) { - Hu3DMotionTimeSet(object->model[0], 50.0f); - } - var_r31->unk_E0 += 1.0f; - if (3 * REFRESH_RATE < var_r31->unk_E0) { - var_r31->unk_150 = 0xBC6; - var_r31->unk_E0 = 0.0f; - var_r31->unk_154 |= 0x20; - Hu3DMotionShiftSet(object->model[0], object->motion[0], 0.0f, 30.0f, 0x40000001); - fn_1_66A0(var_r31->unk_12C); - if (var_r31->unk_130 >= 0) { - HuAudFXStop(var_r31->unk_130); - var_r31->unk_130 = -1; - } - } - } - } - break; - case 0xBCB: - if ((var_r31->unk_154 & 0x10) == 0) { - var_r31->unk_154 |= 0x10; - var_r31->unk_12C = fn_1_69F8(NULL, NULL, 0x200); - var_r31->unk_130 = HuAudFXPlay(0x7BC); - Hu3DMotionShiftSet(object->model[0], object->motion[13], 0.0f, 8.0f, 0); - } - else if ((var_r31->unk_154 & 0x40) == 0) { - if (Hu3DMotionShiftIDGet(object->model[0]) < 0) { - if (52.0f < Hu3DMotionTimeGet(object->model[0])) { - var_r20 = 1; - } - if (Hu3DMotionEndCheck(object->model[0]) != 0) { - var_r31->unk_154 |= 0x40; - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DMotionSet(object->model[0], object->motion[14]); - } - } - } - else { - var_r20 = 1; - var_r31->unk_00.unk_B8 = 0.25f; - fn_1_19A10(&var_r31->unk_00, &spE4); - fn_1_40C0(&var_r31->unk_00); - var_r31->unk_E0 += 1.0f; - if (3 * REFRESH_RATE < var_r31->unk_E0) { - var_r31->unk_150 = 0xBC6; - var_r31->unk_E0 = 0.0f; - var_r31->unk_154 |= 0x20; - Hu3DMotionShiftSet(object->model[0], object->motion[0], 0.0f, 8.0f, 0x40000001); - fn_1_66A0(var_r31->unk_12C); - if (var_r31->unk_130 >= 0) { - HuAudFXStop(var_r31->unk_130); - var_r31->unk_130 = -1; - } - } - } - break; - case 0xBCC: - if ((var_r31->unk_154 & 0x10) == 0) { - var_r31->unk_154 |= 0x10; - fn_1_18424(object->model[0], &var_r31->unk_114); - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DMotionSet(object->model[0], object->motion[11]); - } - else if (((var_r31->unk_154 & 0x20) == 0) && (Hu3DMotionShiftIDGet(object->model[0]) < 0) - && (Hu3DMotionEndCheck(object->model[0]) != 0)) { - var_r31->unk_150 = 0xBC6; - var_r31->unk_E0 = 0.0f; - var_r31->unk_154 |= 0x20; - Hu3DMotionShiftSet(object->model[0], object->motion[0], 0.0f, 8.0f, 0x40000001); - if (((var_r31->unk_154 & 0x40) == 0) && (lbl_1_data_A0C[1].unk_14 <= 2)) { - var_r31->unk_150 = 0xBCD; - var_r31->unk_154 |= 0x40; - } - } - break; - case 0xBCD: - var_r31->unk_E0 += 1.0f; - if (10.0f < var_r31->unk_E0) { - var_r31->unk_150 = 0xBC8; - var_r31->unk_110 = 0xBCC; - var_r31->unk_114 = spE4; - var_r31->unk_154 &= ~0x30; - var_r31->unk_E0 = 0.0f; - } - break; - case 0xBCE: - if ((Hu3DMotionShiftIDGet(object->model[0]) < 0) && (Hu3DMotionEndCheck(object->model[0]) != 0)) { - var_r31->unk_150 = 0xBC6; - var_r31->unk_E0 = 0.0f; - var_r31->unk_154 &= ~0x8000; - Hu3DMotionShiftSet(object->model[0], object->motion[0], 0.0f, 8.0f, 0x40000001); - Hu3DModelAttrSet(lbl_1_bss_1A0->model[var_r31->unk_10C + 2], HU3D_ATTR_DISPOFF); - } - break; - case 0xBCF: - if ((var_r31->unk_154 & 0x2000) && (Hu3DMotionShiftIDGet(object->model[0]) < 0) && (128.0f < Hu3DMotionTimeGet(object->model[0]))) { - var_r31->unk_154 &= ~0x2000; - HuAudFXPlay(0x7BD); - } - break; - default: - OSReport("*** kuppa mode error(%d)!!\n", var_r31->unk_150); - break; - } - - if ((var_r31->unk_150 >= 0xBC6) && (var_r31->unk_150 <= 0xBCD)) { - if (var_r31->unk_154 & 0x8000) { - var_r31->unk_E0 = 0.0f; - if (var_r31->unk_12C >= 0) { - fn_1_66A0(var_r31->unk_12C); - } - if (var_r31->unk_130 >= 0) { - HuAudFXStop(var_r31->unk_130); - var_r31->unk_130 = -1; - } - if (fn_1_125C0(1, 1) <= 0) { - var_r31->unk_150 = 0xBCF; - var_r31->unk_154 |= 0x2000; - Hu3DMotionShiftSet(object->model[0], object->motion[17], 0.0f, 8.0f, 0); - HuAudFXPlay(0x3B); - } - else { - var_r31->unk_150 = 0xBCE; - Hu3DMotionShiftSet(object->model[0], object->motion[16], 0.0f, 8.0f, 0); - HuAudFXPlay(0x3B); - Hu3DModelPosSet(lbl_1_bss_1A0->model[var_r31->unk_10C + 2], var_r31->unk_00.unk_6C.x, var_r31->unk_00.unk_6C.y, - 150.0f + var_r31->unk_00.unk_6C.z); - Hu3DModelScaleSet(lbl_1_bss_1A0->model[var_r31->unk_10C + 2], 2.0f, 2.0f, 2.0f); - Hu3DMotionTimeSet(lbl_1_bss_1A0->model[var_r31->unk_10C + 2], 0.0f); - Hu3DModelAttrSet(lbl_1_bss_1A0->model[var_r31->unk_10C + 2], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(lbl_1_bss_1A0->model[var_r31->unk_10C + 2], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(lbl_1_bss_1A0->model[var_r31->unk_10C + 2], HU3D_ATTR_DISPOFF); - } - } - if (var_r31->unk_150 != 0xBCF) { - if ((var_r31->unk_150 < 0xBCE) && ((lbl_1_data_A0C[0].unk_14 <= 0) || (((UnkM450Struct5 *)lbl_1_bss_138->data)->unk_118 >= 0x7EB))) { - var_r31->unk_150 = 0xBCF; - Hu3DMotionShiftSet(object->model[0], object->motion[3], 0.0f, 8.0f, 0x40000001); - HuAudFXPlay(0x3A); - if (var_r31->unk_12C >= 0) { - fn_1_66A0(var_r31->unk_12C); - } - if (var_r31->unk_130 >= 0) { - HuAudFXStop(var_r31->unk_130); - var_r31->unk_130 = -1; - } - } - else if (((var_r31->unk_138 != 0) || (fn_1_19798() != 0)) && (var_r31->unk_150 == 0xBC9)) { - var_r31->unk_150 = 0xBC6; - var_r31->unk_E0 = 0.0f; - Hu3DMotionShiftSet(object->model[0], object->motion[0], 0.0f, 8.0f, 0x40000001); - } - } - } - if ((var_r31->unk_154 & 0x100) && (Hu3DMotionShiftIDGet(object->model[0]) < 0) && (Hu3DMotionEndCheck(object->model[0]) != 0)) { - if (var_r31->unk_154 & 0x2000) { - var_r31->unk_154 &= ~0x2000; - HuAudFXPlay(0x7BE); - } - var_r31->unk_144 -= 1.0f; - if (0.0f > var_r31->unk_144) { - var_r31->unk_154 &= ~0x100; - Hu3DMotionShiftSet(object->model[0], object->motion[var_r31->unk_140], 0.0f, 8.0f, 0x40000001); - } - } - if (var_r31->unk_12C >= 0) { - if (var_r20 != 0) { - fn_1_1D18(object->model[0], "g000m0-itemhook_M", &spFC); - fn_1_1D18(object->model[0], "g000m0-ns_hed", &spD8); - VECSubtract(&spFC, &spD8, &spF0); - fn_1_6798(var_r31->unk_12C, 1, &spFC, atan2d(spF0.x, spF0.z), 700.0f, 1550.0f); - } - if (fn_1_66DC(var_r31->unk_12C) != 0) { - var_r31->unk_12C = -1; - } - } - var_r31->unk_134 = lbl_1_data_A0C[0].unk_14; - spFC = var_r31->unk_00.unk_6C; - if (var_r31->unk_154 & 2) { - var_r31->unk_E8 += 4.0f; - if (360.0f <= var_r31->unk_E8) { - var_r31->unk_E8 -= 360.0f; - } - spCC = var_r31->unk_00.unk_6C.y + (8.0 * sind(var_r31->unk_E8)); - omSetTra(object, 0.0f, 0.0f, 0.0f); - omSetRot(object, 0.0f, 0.0f, 0.0f); - Hu3DModelPosSet(object->model[1], var_r31->unk_00.unk_6C.x, spCC, var_r31->unk_00.unk_6C.z); - Hu3DModelRotSet(object->model[1], 0.0f, var_r31->unk_00.unk_9C, 0.0f); - } - else if (var_r31->unk_154 & 1) { - fn_1_1D70(lbl_1_bss_1A0->model[0], var_r31->unk_CC, &spFC, Hu3DData[object->model[0]].unk_F0); - MTXScale(sp1F8, 1.5f, 1.5f, 1.5f); - MTXConcat(Hu3DData[object->model[0]].unk_F0, sp1F8, Hu3DData[object->model[0]].unk_F0); - } - else { - omSetTra(var_r31->unk_00.unk_00, var_r31->unk_00.unk_6C.x, var_r31->unk_00.unk_6C.y, var_r31->unk_00.unk_6C.z); - omSetRot(var_r31->unk_00.unk_00, 0.0f, var_r31->unk_00.unk_9C, 0.0f); - } - fn_1_A3C4(object, &spFC, 2); -} - -void fn_1_DBF0(omObjData *object) -{ - Vec sp8; - - UnkM450Struct3 *var_r31; - s32 var_r29; - - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM450Struct3), MEMORY_DEFAULT_NUM); - var_r31 = object->data; - var_r31->unk_150 = 0xBB8; - var_r31->unk_154 = 0; - var_r31->unk_14C = 0; - var_r31->unk_12C = -1; - var_r31->unk_130 = -1; - sp8.x = 0.0f; - sp8.y = 1500.0f; - sp8.z = -800.0f; - fn_1_2C1C(&var_r31->unk_00, object, 4, 9, lbl_1_data_18C, 0, &sp8, 0.0f); - for (var_r29 = 0; var_r29 < 2; var_r29++) { - object->model[var_r29] = Hu3DModelCreateFile(lbl_1_data_AC[var_r29]); - Hu3DModelAttrSet(object->model[var_r29], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(object->model[var_r29], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(object->model[var_r29], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(object->model[var_r29], 3); - Hu3DModelShadowSet(object->model[var_r29]); - } - for (var_r29 = 0; var_r29 < 0x13; var_r29++) { - object->motion[var_r29] = Hu3DJointMotion(object->model[0], HuDataSelHeapReadNum(lbl_1_data_B4[var_r29], MEMORY_DEFAULT_NUM, HEAP_DATA)); - } - Hu3DMotionSet(object->model[0], object->motion[0]); - CharModelEffectNpcInit(object->model[0], object->motion[1], 2, 8); - CharModelEffectNpcInit(object->model[0], object->motion[2], 1, 8); - CharModelEffectNpcInit(object->model[0], object->motion[15], 3, 8); - var_r31->unk_F4 = 1.0f; - switch (GWPlayerCfg[lbl_1_bss_120].diff) { - case 0: - var_r31->unk_C8 = &lbl_1_data_234[0]; - var_r31->unk_D0 = lbl_1_data_254; - break; - case 1: - var_r31->unk_C8 = &lbl_1_data_234[1]; - var_r31->unk_D0 = lbl_1_data_268; - break; - case 2: - var_r31->unk_C8 = &lbl_1_data_234[2]; - var_r31->unk_D0 = lbl_1_data_27C; - break; - case 3: - default: - var_r31->unk_C8 = &lbl_1_data_234[3]; - var_r31->unk_D0 = lbl_1_data_290; - break; - } - omSetTra(var_r31->unk_00.unk_00, var_r31->unk_00.unk_6C.x, var_r31->unk_00.unk_6C.y, var_r31->unk_00.unk_6C.z); - omSetRot(var_r31->unk_00.unk_00, 0.0f, var_r31->unk_00.unk_9C, 0.0f); - omSetSca(object, 1.5f, 1.5f, 1.5f); - Hu3DModelAttrReset(*object->model, HU3D_ATTR_DISPOFF); - object->func = (omObjFunc)fn_1_AD58; -} - -s32 fn_1_E0E8(s32 arg0, s32 arg1) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 2; var_r31++) { - if (arg1 == lbl_1_data_1CC[var_r31 * 2]) { - return HuAudFXPlay(lbl_1_data_1CC[arg0 + (var_r31 * 2)]); - } - } - - return -1; -} - -s32 fn_1_E178(s32 arg0, s32 arg1) -{ - UnkM450Struct3 *var_r31 = lbl_1_bss_130[arg0]->data; - var_r31->unk_14C = arg1; - return arg0; -} - -void fn_1_E1A8(s32 arg0, s32 arg1, float arg8, u32 arg2, s32 arg3, float arg9) -{ - UnkM450Struct3 *var_r31; - omObjData *var_r30; - - var_r30 = lbl_1_bss_130[arg0]; - if (arg8 == 0.0f) { - Hu3DMotionSet(var_r30->model[0], var_r30->motion[arg1]); - } - else { - Hu3DMotionShiftSet(var_r30->model[0], var_r30->motion[arg1], 0.0f, arg8, arg2); - } - var_r31 = var_r30->data; - var_r31->unk_140 = -1; - var_r31->unk_154 &= ~0x100; - if (arg3 >= 0) { - var_r31->unk_140 = arg3; - var_r31->unk_144 = arg9; - var_r31->unk_154 |= 0x100; - } - var_r31->unk_148 = arg1; -} - -void fn_1_E2BC(s32 arg0, s32 arg1, s32 arg2, s32 arg3) -{ - lbl_1_bss_4 = arg0; - lbl_1_bss_0 = arg1; - if (arg2 == 0) { - fn_1_6CB0(fn_1_7D40, arg3); - } - else { - fn_1_6CB0(fn_1_8120, arg3); - } -} - -void fn_1_E3C8(UnkM450Struct3 *arg0, omObjData *arg1, s32 arg2) -{ - s32 var_r30; - if (arg2 != 0) { - if (arg1->work[0] == 0) { - Hu3DModelAttrReset(arg1->model[1], HU3D_ATTR_DISPOFF); - } - Hu3DModelAttrReset(arg1->model[0], HU3D_ATTR_DISPOFF); - } - else { - for (var_r30 = 0; var_r30 < 5; var_r30++) { - Hu3DModelAttrSet(arg1->model[var_r30], HU3D_ATTR_DISPOFF); - } - } - arg0->unk_00.unk_3C &= ~0xC00; -} - -UnkData1380Struct lbl_1_data_1380; -UnkData1380Struct lbl_1_data_13B8; - -void fn_1_E478(UnkM450Struct3 *arg0, omObjData *arg1) -{ - s32 var_r29; - float var_f31; - UnkData1380Struct *var_r30 = &lbl_1_data_1380; - float var_f30; - - arg0->unk_F8 = -1; - arg0->unk_154 &= ~0x30; - arg0->unk_120.x = 0.0f; - arg0->unk_120.y = 0.0f; - arg0->unk_120.z = 0.0f; - if (arg1->work[0] != 0) { - var_r29 = frandmod(var_r30->unk_08); - while (var_r30->unk_24[var_r29] < 0) { - var_r29 = (var_r29 + 1) % var_r30->unk_08; - } - arg0->unk_F8 = var_r30->unk_24[var_r29]; - var_f31 = 200.0f * frandf(); - var_f30 = 360.0f * frandf(); - arg0->unk_120.x = var_f31 * sind(var_f30); - arg0->unk_120.z = var_f31 * cosd(var_f30); - } -} - -void fn_1_E604(UnkM450Struct3 *arg0, omObjData *arg1) -{ - Vec spC; - float sp8; - - arg0->unk_D4 = ((UnkM450Struct5 *)lbl_1_bss_138->data)->unk_00.unk_6C; - if (((arg0->unk_154 & 0x10) != 0) && ((arg0->unk_154 & 0x20) == 0)) { - if ((Hu3DMotionShiftIDGet(arg1->model[0]) < 0) && (20.0f < Hu3DMotionTimeGet(arg1->model[0]))) { - arg0->unk_154 |= 0x20; - spC = arg0->unk_00.unk_6C; - spC.x += (200.0 * sind(arg0->unk_00.unk_9C)); - spC.y += 100.0f; - spC.z += (200.0 * cosd(arg0->unk_00.unk_9C)); - fn_1_17360(&spC, arg0->unk_00.unk_9C); - } - } - else { - fn_1_19A10(&arg0->unk_00, &arg0->unk_D4); - fn_1_40C0(&arg0->unk_00); - VECSubtract(&arg0->unk_00.unk_6C, &arg0->unk_D4, &spC); - if ((300.0f > sqrtf((spC.x * spC.x) + (spC.z * spC.z))) && ((arg0->unk_154 & 0x10) == 0)) { - arg0->unk_154 |= 0x10; - Hu3DMotionShiftSet(arg1->model[0], arg1->motion[5], 0.0f, 8.0f, 0); - } - } -} - -void fn_1_E918(UnkM450Struct3 *arg0, omObjData *arg1) -{ - arg0->unk_D4 = *fn_1_16314(arg0->unk_F8); - VECAdd(&arg0->unk_120, &arg0->unk_D4, &arg0->unk_D4); - if ((arg0->unk_154 & 0x10) && ((arg0->unk_154 & 0x20) == 0) && (Hu3DMotionShiftIDGet(arg1->model[0]) < 0) - && (Hu3DMotionEndCheck(*arg1->model) != 0)) { - arg0->unk_154 |= 0x20; - fn_1_16BC4(&arg0->unk_00.unk_6C, &arg0->unk_120, arg0->unk_F8); - } - if (fn_1_19A10(&arg0->unk_00, &arg0->unk_D4) != 0) { - if ((arg0->unk_154 & 0x10) == 0) { - arg0->unk_154 |= 0x10; - Hu3DMotionShiftSet(*arg1->model, arg1->motion[5], 0.0f, 8.0f, 0); - } - } - else { - fn_1_40C0(&arg0->unk_00); - } -} - -void fn_1_EA50(UnkM450Struct3 *arg0, omObjData *arg1) -{ - arg0->unk_150 = 0xFAD; - arg0->unk_E0 = 0.0f; - Hu3DMotionShiftSet(*arg1->model, *arg1->motion, 0.0f, 8.0f, 0); - fn_1_1D70(lbl_1_bss_1A0->model[0], arg1->work[0] == 0 ? "m450mex06-s3mini2" : "m450mex06-s3mini1", &arg0->unk_D4, NULL); -} - -HsfanimStruct00 lbl_1_data_1504; - -void fn_1_EB6C(UnkM450Struct3 *arg0, omObjData *arg1) -{ - s32 var_r29; - s16 var_r28; - u32 var_r27; - - fn_1_1D18(arg1->model[4], "g007i03-itemhook_M", &arg0->unk_00.unk_6C); - Hu3DModelHookObjReset(arg1->model[4], "g007i03-itemhook_M"); - Hu3DModelAttrSet(arg1->model[4], HU3D_ATTR_DISPOFF); - arg0->unk_150 = 0xFAE; - arg0->unk_154 &= 0xFFFFFFFD; - arg0->unk_108 = 19.6f; - arg0->unk_E0 = 0.0f; - Hu3DMotionSet(arg1->model[0], arg1->motion[6]); - Hu3DModelAttrReset(arg1->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(arg1->model[0], HU3D_MOTATTR_PAUSE); - Hu3DMotionTimeSet(arg1->model[0], 1.0f); - arg0->unk_13C = Hu3DParManLink(lbl_1_bss_24, &lbl_1_data_1504); - Hu3DParManPosSet(arg0->unk_13C, arg0->unk_00.unk_6C.x, arg0->unk_00.unk_6C.y, arg0->unk_00.unk_6C.z); - Hu3DParManAttrReset(arg0->unk_13C, 1); - Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(arg0->unk_13C), 1); - Hu3DModelLayerSet(Hu3DParManModelIDGet(arg0->unk_13C), 5); - fn_1_E0E8(arg1->work[0], 0x3F); -} - -void fn_1_ED4C(omObjData *object) -{ - Vec spEC; - float spDC; - - UnkM450Struct3 *var_r31; - Vec *var_r29; - UnkM450Struct3 *var_r18; - - var_r18 = lbl_1_bss_130[object->work[0] ^ 1]->data; - var_r31 = object->data; - var_r31->unk_00.unk_20 = 0; - var_r31->unk_00.unk_24 = 0; - var_r31->unk_00.unk_28 = 0; - var_r31->unk_00.unk_2C = 0; - var_r31->unk_00.unk_30 = 0; - var_r31->unk_00.unk_34 = 0; - - switch (var_r31->unk_150) { - case 0xFA0: - if ((lbl_1_bss_1A4->work[0] >= 0x3EF) && (30.0f < lbl_1_bss_128)) { - var_r31->unk_150++; - var_r31->unk_E4 = 0.0f; - var_r31->unk_154 &= ~0x100; - var_r31->unk_154 |= 0x200; - var_r31->unk_F0 = var_r31->unk_00.unk_6C.x - (100.0f * (0.0f > var_r31->unk_00.unk_6C.x ? -1 : 1)); - } - if ((object->work[0] == 0) && (var_r31->unk_148 == 7)) { - var_r31->unk_00.unk_9C = 0.0f; - } - else { - VECSubtract(&((UnkM450Struct5 *)lbl_1_bss_138->data)->unk_00.unk_6C, &var_r31->unk_00.unk_6C, &spEC); - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, atan2d(spEC.x, spEC.z), 0.4f); - } - break; - case 0xFA1: - fn_1_9F4C(var_r31, object->model[0], lbl_1_bss_4C, 0x7A); - if (-1100.0f > var_r31->unk_00.unk_6C.z) { - var_r31->unk_150++; - fn_1_E2BC(1, 0x1E, object->work[0], 0); - fn_1_E1A8(object->work[0], 12, 8.0f, 0, 1, 0.0f); - } - break; - case 0xFA2: - if (lbl_1_bss_10 == 0) { - fn_1_9F4C(var_r31, object->model[0], lbl_1_bss_4C, 0x7A); - if (1000.0f > var_r31->unk_00.unk_6C.y) { - var_r31->unk_150++; - var_r31->unk_154 &= ~0x200; - fn_1_E3C8(var_r31, object, 0); - } - } - else { - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, 0.0f, 0.4f); - } - break; - case 0xFA3: - if (((UnkM450Struct5 *)lbl_1_bss_138->data)->unk_118 >= 0x7D5) { - var_r31->unk_150++; - fn_1_A470(var_r31, object, object->work[0] == 0 ? "m450mex06-s2kuppa01" : "m450mex06-s2kuppa02", 5); - fn_1_4ED8(&var_r31->unk_00, 0); - fn_1_E3C8(var_r31, object, 1); - } - break; - case 0xFA4: - if (lbl_1_bss_1A4->work[0] >= 0x3F2) { - var_r31->unk_150 = var_r31->unk_150 + 1; - var_r31->unk_00.unk_9C = 0.0f; - fn_1_A600(var_r31, object, object->work[0] == 0 ? "m450mex06-s2kuppa01" : "m450mex06-s2kuppa02", 5); - var_r31->unk_00.unk_6C.y = 1505.0f; - var_r31->unk_00.unk_3C |= 0x400; - fn_1_1D70(lbl_1_bss_1A0->model[0], "m450mex06-s2hook04", &var_r31->unk_D4, NULL); - var_r31->unk_D4.x += (-100.0f + (300.0f * (object->work[0] ^ 1))); - var_r31->unk_D4.z += (100.0f - (200.0f * (object->work[0] ^ 1))); - } - break; - case 0xFA5: - if (fn_1_A7CC(var_r31) != 0) { - var_r31->unk_D4.x = 1200.0f; - var_r31->unk_D4.z = 150.0f - (300.0f * (object->work[0] ^ 1)); - } - break; - case 0xFA6: - if (fn_1_A7CC(var_r31)) { - fn_1_E3C8(var_r31, object, 0); - } - break; - case 0xFA7: - if (lbl_1_bss_1A4->work[0] >= 0x3F7) { - var_r31->unk_150++; - var_r31->unk_E0 = 0.0f; - var_r31->unk_E8 = 360.0f * frandf(); - var_r31->unk_154 |= 2; - Hu3DModelAttrReset(object->model[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[4], HU3D_MOTATTR_PAUSE); - Hu3DModelHookSet(object->model[4], "g007i03-itemhook_M", object->model[0]); - var_r31->unk_00.unk_6C.x = 0.0f; - var_r31->unk_00.unk_6C.y = 3000.0f; - var_r31->unk_00.unk_6C.z = -300.0f + (600.0f * object->work[0]); - var_r31->unk_00.unk_9C = 270.0f; - fn_1_4ED8(&var_r31->unk_00, 0); - var_r31->unk_00.unk_3C |= 0x2020; - fn_1_E3C8(var_r31, object, 1); - } - break; - case 0xFA8: - fn_1_A828(var_r31, 2 * REFRESH_RATE, 3000.0f, 1605.0f); - if (lbl_1_bss_1A4->work[0] >= 0x3F9) { - var_r31->unk_150 = var_r31->unk_150 + 1; - var_r31->unk_E0 = 0.0f; - var_r31->unk_D4.x = 800.0f; - var_r31->unk_D4.y = var_r31->unk_00.unk_6C.y; - var_r31->unk_D4.z = -400.0f + (800.0f * object->work[0]); - } - break; - case 0xFA9: - fn_1_A828(var_r31, 60.0f, var_r31->unk_D4.y, 2055.0f); - if ((fn_1_A7CC(var_r31) != 0) && (lbl_1_bss_1A4->work[0] < 0x3FA)) { - lbl_1_bss_1A4->work[0] = 0x3FA; - lbl_1_bss_128 = 0.0f; - } - break; - case 0xFAA: - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, 270.0f, 0.05f); - if (lbl_1_bss_1A4->work[0] >= 0x3FB) { - var_r31->unk_150++; - var_r31->unk_FC = 0; - var_r31->unk_100 = var_r31->unk_C4[var_r31->unk_FC].unk_00; - var_r31->unk_D4 = var_r31->unk_00.unk_6C; - Hu3DMotionShiftSet(object->model[0], object->motion[10], 0.0f, 8.0f, 0x40000001); - } - break; - case 0xFAB: - if (var_r31->unk_154 & 0x80) { - var_r31->unk_100 += 1.0f; - if ((Hu3DMotionShiftIDGet(object->model[0]) < 0) && (Hu3DMotionEndCheck(object->model[0]) != 0)) { - var_r31->unk_154 = var_r31->unk_154 & 0xFFFFFF7F; - Hu3DMotionShiftSet(object->model[0], object->motion[10], 0.0f, 8.0f, 0x40000001); - } - } - else if ((var_r31->unk_134 > lbl_1_data_A0C[0].unk_14) || (lbl_1_data_A0C[0].unk_14 <= 0)) { - var_r31->unk_100 += 1.0f; - if (lbl_1_data_A0C[0].unk_14 > 0) { - var_r31->unk_154 |= 0x80; - Hu3DMotionShiftSet(object->model[0], object->motion[11], 0.0f, 8.0f, 0); - } - else { - var_r31->unk_150 = 0xFB0; - Hu3DMotionShiftSet(object->model[0], object->motion[3], 0.0f, 8.0f, 0); - } - } - var_r31->unk_154 &= ~4; - var_r31->unk_100 -= 1.0f; - if ((var_r18->unk_154 & 4) && (0.0f > var_r31->unk_100)) { - var_r31->unk_FC++; - if (var_r31->unk_C4[var_r31->unk_FC].unk_00 == 0.0f) { - var_r31->unk_FC -= 2; - } - var_r31->unk_100 = var_r31->unk_C4[var_r31->unk_FC].unk_00; - if (var_r31->unk_C4[var_r31->unk_FC].unk_04) { - var_r31->unk_150 = 0xFAC; - fn_1_E478(var_r31, object); - Hu3DMotionShiftSet(object->model[0], object->motion[10], 0.0f, 8.0f, 0); - } - } - else if (fn_1_19A10(&var_r31->unk_00, &var_r31->unk_D4) != 0) { - var_r31->unk_154 |= 4; - VECSubtract(&((UnkM450Struct5 *)lbl_1_bss_138->data)->unk_00.unk_6C, &var_r31->unk_00.unk_6C, &spEC); - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, atan2d(spEC.x, spEC.z), 0.4f); - } - else { - fn_1_40C0(&var_r31->unk_00); - } - if (lbl_1_bss_1A4->work[0] >= 0x3FC) { - fn_1_EA50(var_r31, object); - } - break; - case 0xFAC: - var_r31->unk_154 &= ~0x84; - var_r31->unk_100 -= 1.0f; - if (0.0f > var_r31->unk_100) { - var_r31->unk_FC++; - if (var_r31->unk_C4[var_r31->unk_FC].unk_00 == 0.0f) { - var_r31->unk_FC -= 2; - } - var_r31->unk_100 = var_r31->unk_C4[var_r31->unk_FC].unk_00; - if (var_r31->unk_C4[var_r31->unk_FC].unk_04 == 0) { - var_r31->unk_150 = 0xFAB; - Hu3DMotionShiftSet(object->model[0], object->motion[10], 0.0f, 8.0f, 0x40000001); - var_r31->unk_D4.x = 800.0f; - if (0.0f > var_r18->unk_00.unk_6C.z) { - var_r31->unk_D4.z = 200.0f; - } - else { - var_r31->unk_D4.z = -200.0f; - } - var_r31->unk_D4.z += var_r31->unk_D4.z * frandf(); - } - } - else { - if (object->work[0] == 0) { - fn_1_E604(var_r31, object); - } - else { - fn_1_E918(var_r31, object); - } - if ((((var_r31->unk_154 & 0x10) == 0) || (var_r31->unk_154 & 0x20)) && (lbl_1_bss_1A4->work[0] == 0x3E8)) { - var_r31->unk_100 = 0.0f; - } - } - if (lbl_1_bss_1A4->work[0] >= 0x3FC) { - fn_1_EA50(var_r31, object); - } - break; - case 0xFAD: - if (lbl_1_bss_1A4->work[0] >= 0x3FD) { - if (fn_1_19A10(&var_r31->unk_00, &var_r31->unk_D4) != 0) { - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, 270.0f, 0.4f); - if ((object->work[0] + 0x3FE) == lbl_1_bss_1A4->work[0]) { - lbl_1_bss_1A4->work[0] += 1; - lbl_1_bss_128 = 0; - } - if (lbl_1_bss_1A4->work[0] > 0x3FF) { - fn_1_EB6C(var_r31, object); - } - } - fn_1_40C0(&var_r31->unk_00); - } - break; - case 0xFAE: - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, 270.0f, 0.4f); - var_r31->unk_00.unk_6C.x += 0.1f * (var_r31->unk_D4.x - var_r31->unk_00.unk_6C.x); - var_r31->unk_00.unk_6C.z += 0.1f * (var_r31->unk_D4.z - var_r31->unk_00.unk_6C.z); - if (1505.0f < var_r31->unk_00.unk_6C.y) { - var_r31->unk_00.unk_6C.y += var_r31->unk_108; - var_r31->unk_108 = var_r31->unk_108 - 0.98f; - if (1505.0f >= var_r31->unk_00.unk_6C.y) { - var_r31->unk_00.unk_6C.y = 1505.0f; - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - } - } - else if (((var_r31->unk_154 & 0x400) == 0) && (Hu3DMotionEndCheck(object->model[0]) != 0)) { - var_r31->unk_154 |= 0x400; - Hu3DMotionShiftSet(object->model[0], object->motion[0], 0.0f, 8.0f, 0x40000001); - } - if (lbl_1_bss_1A4->work[0] >= 0x402) { - var_r31->unk_150 = var_r31->unk_150 + 1; - var_r31->unk_E0 = 0.0f; - var_r31->unk_00.unk_3C &= ~0x2020; - fn_1_A470(var_r31, object, object->work[0] == 0 ? "m450mex06-s3mini2" : "m450mex06-s3mini1", 5); - } - var_r31->unk_E0 += 1.0f; - if (var_r31->unk_E0 == 10.0f) { - Hu3DParManAttrSet(var_r31->unk_13C, 1); - } - break; - case 0xFAF: - if (lbl_1_bss_1A4->work[0] >= 0x403) { - var_r31->unk_150 = var_r31->unk_150 + 1; - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - } - break; - case 0xFB0: - break; - default: - OSReport("*** minik mode error(%d)!!\n", var_r31->unk_150); - break; - } - - if ((var_r31->unk_154 & 0x100) && (Hu3DMotionShiftIDGet(object->model[0]) < 0) && (Hu3DMotionEndCheck(object->model[0]) != 0)) { - var_r31->unk_144 -= 1.0f; - if (0.0f > var_r31->unk_144) { - var_r31->unk_154 &= ~0x100; - var_r31->unk_148 = var_r31->unk_140; - Hu3DMotionShiftSet(object->model[0], object->motion[var_r31->unk_140], 0.0f, 8.0f, 0x40000001); - } - } - var_r31->unk_134 = lbl_1_data_A0C[0].unk_14; - var_r29 = &lbl_1_bss_34[object->work[0]]; - if (var_r31->unk_154 & 2) { - *var_r29 = var_r31->unk_00.unk_6C; - var_r29->y += 100.0f; - var_r31->unk_E8 += 4.0f; - if (360.0f <= var_r31->unk_E8) { - var_r31->unk_E8 -= 360.0f; - } - spDC = var_r31->unk_00.unk_6C.y + (8.0 * sind(var_r31->unk_E8)); - omSetTra(object, 0.0f, 0.0f, 0.0f); - omSetRot(object, 0.0f, 0.0f, 0.0f); - Hu3DModelPosSet(object->model[4], var_r31->unk_00.unk_6C.x, spDC, var_r31->unk_00.unk_6C.z); - Hu3DModelRotSet(object->model[4], 0.0f, var_r31->unk_00.unk_9C, 0.0f); - } - else if ((var_r31->unk_154 & 1) != 0) { - fn_1_1D70(lbl_1_bss_1A0->model[0], var_r31->unk_CC, var_r29, Hu3DData[object->model[0]].unk_F0); - } - else { - *var_r29 = var_r31->unk_00.unk_6C; - omSetTra(var_r31->unk_00.unk_00, var_r31->unk_00.unk_6C.x, var_r31->unk_00.unk_6C.y, var_r31->unk_00.unk_6C.z); - omSetRot(var_r31->unk_00.unk_00, 0.0f, var_r31->unk_00.unk_9C, 0.0f); - } - fn_1_A3C4(object, var_r29, 5); - if (var_r31->unk_14C != 0) { - lbl_1_bss_D8++; - VECAdd(&lbl_1_bss_CC, &var_r31->unk_00.unk_6C, &lbl_1_bss_CC); - } -} - -void fn_1_11D5C(omObjData *object) -{ - Vec sp8; - - UnkM450Struct3 *var_r31; - s32 var_r29; - s32 var_r27; // ! - uninitialized - s32 *var_r26; - - (void)var_r27; - (void)var_r27; - (void)var_r27; - (void)var_r27; - - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM450Struct3), MEMORY_DEFAULT_NUM); - var_r31 = object->data; - var_r31->unk_150 = 0xFA0; - var_r31->unk_154 = 0; - var_r31->unk_14C = 0; - var_r31->unk_13C = -1; - var_r31->unk_148 = 7; - sp8.x = -300.0f + (600.0f * object->work[0]); - sp8.y = 1500.0f; - sp8.z = -600.0f; - fn_1_2C1C(&var_r31->unk_00, object, 4, 8, lbl_1_data_1AC, 0, &sp8, 0.0f); - var_r31->unk_00.unk_3C |= 0x1000; - for (var_r29 = 0; var_r29 < 5; var_r29++) { - object->model[var_r29] = Hu3DModelCreateFile(lbl_1_data_100[var_r29]); - Hu3DModelAttrSet(object->model[var_r29], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(object->model[var_r29], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(object->model[var_r29], 3); - Hu3DModelShadowSet(object->model[var_r29]); - } - var_r31->unk_F4 = 1.0f; - var_r31->unk_C4 = lbl_1_data_204; - var_r26 = lbl_1_data_150; - if (object->work[0] == 0) { - var_r31->unk_C4 = lbl_1_data_1DC; - var_r26 = lbl_1_data_114; - Hu3DModelHookSet(object->model[0], "g007m0-itemhook_r", object->model[1]); - } - for (var_r29 = 0; var_r29 < 0xF; var_r29++) { - object->motion[var_r29] = Hu3DJointMotionFile(object->model[0], var_r26[var_r29]); - } - Hu3DMotionSet(object->model[0], object->motion[7]); - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - if (object->work[0] == 0) { - CharModelEffectNpcInit(object->model[0], object->motion[1], 0, 0xD); - CharModelEffectNpcInit(object->model[0], object->motion[2], 1, 0xD); - } - else { - CharModelEffectNpcInit(object->model[0], object->motion[1], 2, 0xD); - CharModelEffectNpcInit(object->model[0], object->motion[2], 3, 0xD); - } - omSetTra(var_r31->unk_00.unk_00, var_r31->unk_00.unk_6C.x, var_r31->unk_00.unk_6C.y, var_r31->unk_00.unk_6C.z); - omSetRot(var_r31->unk_00.unk_00, 0.0f, var_r31->unk_00.unk_9C, 0.0f); - if (object->work[0] == 0) { - Hu3DModelAttrReset(object->model[1], HU3D_ATTR_DISPOFF); - } - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - var_r31->unk_00.unk_3C &= ~0xC00; - object->func = (omObjFunc)fn_1_ED4C; -} - -Vec lbl_1_data_464 = { 7000.0f, 7000.0f, 7000.0f }; -Vec lbl_1_data_470 = { 0.0f, 1.0f, 0.0f }; -Vec lbl_1_data_47C = { 0.0f, 0.0f, 0.0f }; -Vec lbl_1_data_488 = { 0.0f, 2200.0f, 1500.0f }; -Vec lbl_1_data_494 = { 0.0f, 1800.0f, 0.0f }; -Vec lbl_1_data_4A0 = { 0.0f, 1800.f, 650.0f }; -Vec lbl_1_data_4AC = { 0.0f, 1700.0f, -650.0f }; -Vec lbl_1_data_4B8 = { 0.0f, 1850.0f, 450.0f }; -Vec lbl_1_data_4C4 = { 0.0f, 1775.0f, -50.0f }; -Vec lbl_1_data_4D0 = { 0.0f, 1850.0f, 550.0f }; -Vec lbl_1_data_4DC = { 0.0f, 1775.0f, -50.0f }; -Vec lbl_1_data_4E8 = { 0.0f, 3000.0f, 1000.0f }; -Vec lbl_1_data_4F4 = { 0.0f, -3.0f, -1.0f }; -GXColor lbl_1_data_500 = { 0xFF, 0xFF, 0xFF, 0xFF }; -Vec lbl_1_data_504 = { 0.0f, 8000.0f, 1000.0f }; -Vec lbl_1_data_510 = { 0.0f, 0.0f, 0.0f }; -Vec lbl_1_data_51C[4] = { - { 1500.0f, 700.0f, 300.0f }, - { 1500.0f, 1200.0f, 200.0f }, - { 2400.0f, 1400.0f, 400.0f }, - { 2500.0f, 800.0f, -200.0f }, -}; - -s32 lbl_1_data_9EC[8]; - -void fn_1_12234(void) -{ - UnkDataA0CStruct *var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - lbl_1_data_A0C[0].unk_0C = lbl_1_data_9EC[GWPlayerCfg[lbl_1_bss_120].character]; - for (var_r31 = lbl_1_data_A0C, var_r29 = 0; var_r29 < 2; var_r29++, var_r31++) { - var_r27 = var_r31->unk_10 + 3; - var_r31->unk_18 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r27 * 4, MEMORY_DEFAULT_NUM); - var_r31->unk_18[0] = espEntry(var_r31->unk_00, 0, 0); - var_r31->unk_18[1] = espEntry(var_r31->unk_04, 0, 0); - var_r31->unk_18[2] = espEntry(var_r31->unk_0C, 0, 0); - for (var_r30 = 3; var_r30 < var_r27; var_r30++) { - var_r31->unk_18[var_r30] = espEntry(var_r31->unk_08, 0, 0); - } - var_r28 = 0x30; - if (var_r29 != 0) { - var_r28 = 0x210; - } - for (var_r30 = 0; var_r30 < var_r27; var_r30++) { - espDrawNoSet(var_r31->unk_18[var_r30], 0); - espDispOff(var_r31->unk_18[var_r30]); - espAttrSet(var_r31->unk_18[var_r30], HUSPR_ATTR_NOANIM); - espBankSet(var_r31->unk_18[var_r30], 0); - espPriSet(var_r31->unk_18[var_r30], 0x80 - var_r29); - espPosSet(var_r31->unk_18[var_r30], var_r28, 225.0f); - } - espTPLvlSet(var_r31->unk_18[0], 0.5f); - espColorSet(var_r31->unk_18[0], 0, 0, 0); - espPosSet(var_r31->unk_18[2], var_r28 - 2, 83.0f); - for (var_r30 = 3; var_r30 < var_r27; var_r30++) { - espPosSet(var_r31->unk_18[var_r30], var_r28 - 1, ((var_r30 - 3) * 0x1A) + 0x7B); - } - } -} - -void fn_1_12540(s32 arg0) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < (lbl_1_data_A0C[arg0].unk_10 + 3); var_r31++) { - espDispOn(lbl_1_data_A0C[arg0].unk_18[var_r31]); - } -} - -s32 fn_1_125C0(s32 arg0, s32 arg1) -{ - UnkDataA0CStruct *var_r31; - s32 var_r30; - - var_r31 = &lbl_1_data_A0C[arg0]; - if (arg1 == 0) { - arg1 = var_r31->unk_10 + 1; - } - var_r31->unk_14 -= arg1; - arg1 = var_r31->unk_14; - if (var_r31->unk_14 < 0) { - var_r31->unk_14 = 0; - } - for (var_r30 = 0; var_r30 < var_r31->unk_10; var_r30++) { - if (var_r31->unk_14 <= var_r30) { - espBankSet(var_r31->unk_18[var_r30 + 3], 1); - } - } - return arg1; -} - -void fn_1_12688(omObjData *object) -{ - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - - CameraData *var_r30; - - var_f30 = 1.0f; - var_f31 = 1.0f; - if (lbl_1_bss_1A4->work[0] > 0x3EC) { - var_f30 = 0.8f; - var_f31 = 0.4f; - } - if (object->work[0] != 0) { - if (lbl_1_bss_1A4->work[0] <= 0x3EB) { - object->work[0] = object->work[0] - (3.0f - (lbl_1_bss_128 / 120.0f)); - if (object->work[0] > 10 * REFRESH_RATE) { - object->work[0] = 1; - } - } - if (--object->work[0] == 0) { - var_r30 = Hu3DCamera; - VECSubtract(&var_r30->pos, &var_r30->target, &sp8); - var_f29 = (atan2d(sp8.x, sp8.z)) + ((90.0f * frandf()) - 45.0f); - omSetRot(object, 0.0f, var_f29, 0.0f); - omSetSca(object, var_f31, var_f30, var_f31); - Hu3DMotionTimeSet(object->model[0], 0.0f); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - HuAudFXPlay(0x7C0); - } - } - else if (Hu3DMotionEndCheck(object->model[0]) != 0) { - object->work[0] = frandmod(10 * REFRESH_RATE); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_PAUSE); - } -} - -void fn_1_1291C(omObjData *object) -{ - object->work[0] = frandmod(10 * REFRESH_RATE); - omSetTra(object, 0.0f, 0.0f, 0.0f); - omSetRot(object, 0.0f, 0.0f, 0.0f); - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M450, 0x22)); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(object->model[0], 1); - object->func = fn_1_12688; -} - -UnkData5CCStruct lbl_1_data_5CC[8] = { - { "c000m1-ske_head", 0x100, 1, 183.0f }, - { "c001m1-ske_head", 0x100, 1, 183.0f }, - { "c002m1-ske_head", 0x80, 0, 100.0f }, - { "c003m1-ske_head", 0x80, 0, 90.0f }, - { "c004m1-ske_head", 0x80, 0, 83.0f }, - { "c005m1-ske_head", 0x80, 0, 112.0f }, - { "c006m1-ske_head", 0x80, 0, 100.0f }, - { "c007m1-ske_head", 0x80, 0, 70.0f }, -}; -s32 lbl_1_data_64C[8][0x17] = { - { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x05), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x06), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x08), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x0A), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x09), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x13), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x16), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x19), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x1A), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x36), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x6D), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x1F), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x1C), - DATA_MAKE_NUM(DATADIR_M450, 0x00), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x0D), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x0E), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x10), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x11), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x7F), - }, - { - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x02), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x03), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x05), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x06), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x08), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x0A), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x09), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x13), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x16), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x19), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x1A), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x36), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x6D), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x1F), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x1C), - DATA_MAKE_NUM(DATADIR_M450, 0x01), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x0D), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x0E), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x10), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x11), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x17), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x7F), - }, - { - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x00), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x02), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x03), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x05), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x06), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x08), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x0A), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x09), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x13), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x16), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x19), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x1A), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x36), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x6D), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x1F), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x1C), - DATA_MAKE_NUM(DATADIR_M450, 0x02), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x0D), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x0E), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x10), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x11), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x17), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x7F), - }, - { - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x02), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x03), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x05), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x06), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x08), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x0A), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x09), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x13), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x16), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x19), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x1A), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x36), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x6D), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x1F), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x1C), - DATA_MAKE_NUM(DATADIR_M450, 0x03), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x0D), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x0E), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x10), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x11), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x17), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x7F), - }, - { - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x02), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x03), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x05), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x06), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x08), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x0A), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x09), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x13), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x16), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x19), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x1A), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x36), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x6D), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x1F), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x1C), - DATA_MAKE_NUM(DATADIR_M450, 0x04), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x0D), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x0E), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x10), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x11), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x17), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x7F), - }, - { - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x02), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x03), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x05), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x06), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x08), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x0A), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x09), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x13), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x16), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x19), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x1A), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x36), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x6D), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x1F), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x1C), - DATA_MAKE_NUM(DATADIR_M450, 0x05), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x0D), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x0E), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x10), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x11), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x17), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x7F), - }, - { - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x02), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x03), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x05), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x06), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x08), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x0A), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x09), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x13), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x16), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x19), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x1A), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x36), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x6D), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x1F), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x1C), - DATA_MAKE_NUM(DATADIR_M450, 0x06), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x0D), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x0E), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x10), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x11), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x17), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x7F), - }, - { - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x02), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x03), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x05), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x06), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x08), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x0A), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x09), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x13), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x16), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x19), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x1A), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x36), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x6D), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x1F), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x1C), - DATA_MAKE_NUM(DATADIR_M450, 0x07), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x0D), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x0E), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x10), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x11), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x17), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x7F), - }, -}; -s32 lbl_1_data_92C[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; -UnkData94CStruct lbl_1_data_94C[8] = { - { 9, 1.0f, 8.0f, 0.0f, 0 }, - { 0xA, 1.0f, 0.0f, 0.0f, 0 }, - { 0xB, 2.5f, 8.0f, 0.0f, 0 }, - { 0xC, 1.0f, 8.0f, 61.0f, 0x40000002 }, - { -1, 1.0f, 0.0f, 0.0f, 0 }, - { 0xD, 1.0f, 8.0f, 0.0f, 0 }, - { 0, 1.0f, 16.0f, 0.0f, 0x40000001 }, - { -1, 1.0f, 0.0f, 0.0f, 0 }, -}; -s32 lbl_1_data_9EC[8] = { - 0x610000, - 0x610001, - 0x610002, - 0x610003, - 0x610004, - 0x610005, - 0x610006, - 0x610007, -}; -UnkDataA0CStruct lbl_1_data_A0C[2] = { - { 0x00510065, DATA_MAKE_NUM(DATADIR_M450, 0x64), DATA_MAKE_NUM(DATADIR_M450, 0x68), DATA_MAKE_NUM(DATADIR_M450, 0x6B), 0xA, 0xA, NULL }, - { 0x00510067, DATA_MAKE_NUM(DATADIR_M450, 0x66), DATA_MAKE_NUM(DATADIR_M450, 0x69), DATA_MAKE_NUM(DATADIR_M450, 0x6A), 5, 5, NULL }, -}; -UnkDataA80Struct lbl_1_data_A80[9] = { - { "m450mex06-s2hook01", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 135.0f, 36.0f / REFRESH_RATE, 350.0f }, -1, 0 }, - { "m450mex06-s2hook01", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 315.0f, 36.0f / REFRESH_RATE, 350.0f }, -2, 0 }, - { "m450mex06-s2hook02", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 45.0f, -36.0f / REFRESH_RATE, 350.0f }, -1, 0 }, - { "m450mex06-s2hook02", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 225.0f, -36.0f / REFRESH_RATE, 350.0f }, -2, 0 }, - { "m450mex06-s2hook03", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 0.0f, 36.0f / REFRESH_RATE, 350.0f }, -1, 0 }, - { "m450mex06-s2hook03", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 120.0f, 36.0f / REFRESH_RATE, 350.0f }, -2, 0 }, - { "m450mex06-s2hook03", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 240.0f, 36.0f / REFRESH_RATE, 350.0f }, -2, 0 }, - { "m450mex06-s2hook04", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 0.0f, 36.0f / REFRESH_RATE, 300.0f }, -1, 0 }, - { "m450mex06-s2hook04", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 180.0f, 36.0f / REFRESH_RATE, 300.0f }, -2, 0 }, -}; -UnkDataA80Struct lbl_1_data_C58[0xA] = { - { "m450mex06-s4hook01", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 60.0f, -36.0f / REFRESH_RATE, 300.0f }, -1, 0 }, - { "m450mex06-s4hook01", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 180.0f, -36.0f / REFRESH_RATE, 300.0f }, -2, 0 }, - { "m450mex06-s4hook01", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 300.0f, -36.0f / REFRESH_RATE, 300.0f }, -2, 0 }, - { "m450mex06-s4hook03", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 135.0f, -72.0f / REFRESH_RATE, 300.0f }, -1, 0 }, - { "m450mex06-s4hook03", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 315.0f, -72.0f / REFRESH_RATE, 300.0f }, -2, 0 }, - { "m450mex06-s4hook02", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 225.0f, -36.0f / REFRESH_RATE, 300.0f }, -1, 0 }, - { "m450mex06-s4hook02", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 45.0f, -36.0f / REFRESH_RATE, 300.0f }, -2, 0 }, - { "m450mex06-s4hook04", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 0.0f, 72.0f / REFRESH_RATE, 300.0f }, -1, 0 }, - { "m450mex06-s4hook04", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 120.0f, 72.0f / REFRESH_RATE, 300.0f }, -2, 0 }, - { "m450mex06-s4hook04", { 0.0f, 0.0f, 0.0f }, -1, 0.0f, { 240.0f, 72.0f / REFRESH_RATE, 300.0f }, -2, 0 }, -}; -char *lbl_1_data_E68[5] = { - "m450m01-from1to2", - "m450m01-from2to3", - "m450m01-from3to4", - "m450m01-from4to5", - "m450m01-from5to6", -}; -s32 lbl_1_data_E7C[0x21] = { - DATA_MAKE_NUM(DATADIR_M450, 0x10), - DATA_MAKE_NUM(DATADIR_M450, 0x11), - DATA_MAKE_NUM(DATADIR_M450, 0x12), - DATA_MAKE_NUM(DATADIR_M450, 0x13), - DATA_MAKE_NUM(DATADIR_M450, 0x14), - DATA_MAKE_NUM(DATADIR_M450, 0x15), - DATA_MAKE_NUM(DATADIR_M450, 0x16), - DATA_MAKE_NUM(DATADIR_M450, 0x16), - DATA_MAKE_NUM(DATADIR_M450, 0x17), - DATA_MAKE_NUM(DATADIR_M450, 0x18), - DATA_MAKE_NUM(DATADIR_M450, 0x19), - DATA_MAKE_NUM(DATADIR_M450, 0x1A), - DATA_MAKE_NUM(DATADIR_M450, 0x1B), - DATA_MAKE_NUM(DATADIR_M450, 0x1C), - DATA_MAKE_NUM(DATADIR_M450, 0x1D), - DATA_MAKE_NUM(DATADIR_M450, 0x1E), - DATA_MAKE_NUM(DATADIR_M450, 0x1F), - DATA_MAKE_NUM(DATADIR_M450, 0x16), - DATA_MAKE_NUM(DATADIR_M450, 0x16), - DATA_MAKE_NUM(DATADIR_M450, 0x20), - DATA_MAKE_NUM(DATADIR_M450, 0x21), - DATA_MAKE_NUM(DATADIR_M450, 0x21), - DATA_MAKE_NUM(DATADIR_M450, 0x21), - DATA_MAKE_NUM(DATADIR_M450, 0x21), - DATA_MAKE_NUM(DATADIR_M450, 0x21), - DATA_MAKE_NUM(DATADIR_M450, 0x28), - DATA_MAKE_NUM(DATADIR_M450, 0x28), - DATA_MAKE_NUM(DATADIR_M450, 0x28), - DATA_MAKE_NUM(DATADIR_M450, 0x29), - DATA_MAKE_NUM(DATADIR_M450, 0x2A), - DATA_MAKE_NUM(DATADIR_M450, 0x2A), - DATA_MAKE_NUM(DATADIR_M450, 0x2B), - DATA_MAKE_NUM(DATADIR_M450, 0x2B), -}; -s32 lbl_1_data_F00[0x17] = { - DATA_MAKE_NUM(DATADIR_M450, 0x08), - DATA_MAKE_NUM(DATADIR_M450, 0x09), - DATA_MAKE_NUM(DATADIR_M450, 0x0B), - DATA_MAKE_NUM(DATADIR_M450, 0x0C), - DATA_MAKE_NUM(DATADIR_M450, 0x0E), - DATA_MAKE_NUM(DATADIR_M450, 0x0A), - DATA_MAKE_NUM(DATADIR_M450, 0x0A), - DATA_MAKE_NUM(DATADIR_M450, 0x0A), - DATA_MAKE_NUM(DATADIR_M450, 0x0A), - DATA_MAKE_NUM(DATADIR_M450, 0x0D), - DATA_MAKE_NUM(DATADIR_M450, 0x0D), - DATA_MAKE_NUM(DATADIR_M450, 0x0D), - DATA_MAKE_NUM(DATADIR_M450, 0x0D), - DATA_MAKE_NUM(DATADIR_M450, 0x0D), - DATA_MAKE_NUM(DATADIR_M450, 0x0D), - DATA_MAKE_NUM(DATADIR_M450, 0x0D), - DATA_MAKE_NUM(DATADIR_M450, 0x0D), - DATA_MAKE_NUM(DATADIR_M450, 0x0D), - DATA_MAKE_NUM(DATADIR_M450, 0x0F), - DATA_MAKE_NUM(DATADIR_M450, 0x0F), - DATA_MAKE_NUM(DATADIR_M450, 0x0F), - DATA_MAKE_NUM(DATADIR_M450, 0x0F), - DATA_MAKE_NUM(DATADIR_M450, 0x0F), -}; -s32 lbl_1_data_F5C[4] - = { DATA_MAKE_NUM(DATADIR_M450, 0x24), DATA_MAKE_NUM(DATADIR_M450, 0x25), DATA_MAKE_NUM(DATADIR_M450, 0x26), DATA_MAKE_NUM(DATADIR_M450, 0x27) }; -s32 lbl_1_data_F6C[6] = { 0, 60 * REFRESH_RATE, 300 * REFRESH_RATE, 60 * REFRESH_RATE, 300 * REFRESH_RATE, 300 * REFRESH_RATE }; -float lbl_1_data_F84[5] = { 1200.0f, 1500.0f, 0.0f, 200.0f, 300.0f }; -float lbl_1_data_F98[5] = { 1200.0f, 1500.0f, 0.0f, 200.0f, 300.0f }; -float *lbl_1_data_FAC[6] = { NULL, lbl_1_data_F84, NULL, lbl_1_data_F98, NULL, NULL }; -s32 lbl_1_data_FC4[5] = { 5, 4, 3, 2, 0 }; -s32 lbl_1_data_FD8[5] = { 3, 4, 5, 2, 2 }; -s32 lbl_1_data_FEC[5] = { 3, 4, 2, 5, 3 }; -s32 lbl_1_data_1000[5] = { 4, 2, 3, 5, 3 }; -s32 lbl_1_data_1014[0xA] = { 9, 0x10, 0xA, 8, 0xC, 0xD, 0xB, 0xE, 0xF, 1 }; -s32 lbl_1_data_103C[0xA] = { 9, 0x10, 0xA, 8, 0xB, 0xC, 0xE, 0xF, 0xD, 1 }; -s32 lbl_1_data_1064[0xA] = { 8, 0xC, 9, 0xB, 0xA, 0x10, 0xE, 0xF, 0xD, 5 }; -s32 lbl_1_data_108C[0xA] = { 8, 0xC, 9, 0xB, 0xF, 0xA, 0x10, 0xE, 0xD, 6 }; -s32 lbl_1_data_10B4[0xA] = { 8, 0xA, 0x10, 0xC, 9, 0xD, 0xB, 0xE, 0xF, 2 }; -s32 lbl_1_data_10DC[0xA] = { 8, 0xA, 0xC, 0xB, 9, 0xD, 0xE, 0xF, 0x10, 8 }; -s32 lbl_1_data_1104[0xA] = { 8, 0xC, 9, 0x10, 0xF, 0xA, 0xB, 0xE, 0xD, 3 }; -s32 lbl_1_data_112C[0xA] = { 0xB, 8, 0xA, 9, 0xD, 0x10, 0xE, 0xC, 0xF, 5 }; -s32 lbl_1_data_1154[0xA] = { 9, 0xC, 0xA, 8, 0xD, 0x10, 0xB, 0xE, 0xF, 5 }; -s32 lbl_1_data_117C[0xA] = { 9, 0xB, 0xA, 8, 0xF, 0xC, 0x10, 0xE, 0xD, 6 }; -s32 lbl_1_data_11A4[0xA] = { 8, 9, 0x10, 0xE, 0xD, 0xA, 0xC, 0xB, 0xF, 2 }; -s32 lbl_1_data_11CC[0xA] = { 0xB, 8, 0xA, 0xE, 9, 0xD, 0xC, 0xF, 0x10, 8 }; -s32 *lbl_1_data_11F4[4] = { lbl_1_data_FC4, lbl_1_data_FD8, lbl_1_data_FEC, lbl_1_data_1000 }; -s32 *lbl_1_data_1204[3] = { lbl_1_data_1014, lbl_1_data_103C, lbl_1_data_1064 }; -s32 *lbl_1_data_1210[3] = { lbl_1_data_108C, lbl_1_data_10B4, lbl_1_data_10DC }; -s32 *lbl_1_data_121C[3] = { lbl_1_data_1104, lbl_1_data_112C, lbl_1_data_1154 }; -s32 *lbl_1_data_1228[3] = { lbl_1_data_117C, lbl_1_data_11A4, lbl_1_data_11CC }; -s32 lbl_1_data_1234[8] = { 0xFFFFFFFF, 0, 1, 0, 0, 0xFFFFFFFF, 0, 1 }; - -char *lbl_1_data_12A0[4] = { - "m450mex06-s3hook01", - "m450mex06-s3hook02", - "m450mex06-s3hook03", - "m450mex06-s3hook04", -}; - -char *lbl_1_data_135C[9] = { - "m450mex06-s5hook03", - "m450mex06-s5hook02", - "m450mex06-s5hook01", - "m450mex06-s5hook06", - "m450mex06-s5hook05", - "m450mex06-s5hook04", - "m450mex06-s5hook09", - "m450mex06-s5hook08", - "m450mex06-s5hook07", -}; -UnkData1380Struct lbl_1_data_1380 = { lbl_1_data_12A0, 300.0f, 4, 2, -1, 0, 1, 0, 2, NULL, NULL, NULL, NULL, NULL }; -UnkData1380Struct lbl_1_data_13B8 = { lbl_1_data_135C, 200.0f, 9, 3, -1, 0, 1, 0, 8, NULL, NULL, NULL, NULL, NULL }; -UnkData1450Struct lbl_1_data_1450[5] = { - { "m450mex06-s6hook01", { 0.0f, 0.0f, 0.0f }, 0.0f, 0.0f, 0, 0, 0 }, - { "m450mex06-s6hook02", { 0.0f, 0.0f, 0.0f }, 0.0f, 0.0f, 0, 0, 0 }, - { "m450mex06-s6hook03", { 0.0f, 0.0f, 0.0f }, 0.0f, 0.0f, 0, 0, 0 }, - { "m450mex06-s6hook04", { 0.0f, 0.0f, 0.0f }, 0.0f, 0.0f, 0, 0, 0 }, - { "m450mex06-s6hook05", { 0.0f, 0.0f, 0.0f }, 0.0f, 0.0f, 0, 0, 0 }, -}; - -HsfanimStruct00 lbl_1_data_1504 = { - 0x1E, - { 0, 0 }, - 1.0f, - 30.0f, - 360.0f, - { 0.0f, 0.1f, 0.0f }, - 1.0f, - 1.0f, - 50.0f, - 1.08f, - 1, - { - { 0xFF, 0xFF, 0xFF, 0xFF }, - { 0xFF, 0xFF, 0xFF, 0xFF }, - { 0xFF, 0xFF, 0xFF, 0xFF }, - { 0xFF, 0xFF, 0xFF, 0xFF }, - }, - { - { 0xFF, 0xFF, 0xFF, 0 }, - { 0xFF, 0xFF, 0xFF, 0 }, - { 0xFF, 0xFF, 0xFF, 0 }, - { 0xFF, 0xFF, 0xFF, 0 }, - }, -}; - -void fn_1_12A1C(omObjData *object) -{ - float var_f31; - float var_f30; - - if (object->work[0] != 0) { - if (lbl_1_bss_108 != 0) { - if (--object->work[0] == 0) { - var_f31 = (1500.0f * frandf()) - 750.0f; - var_f30 = (1500.0f * frandf()) - 750.0f; - omSetTra(object, var_f31, 1380.0f, var_f30); - Hu3DMotionTimeSet(object->model[0], 0.0f); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - } - } - } - else if (Hu3DMotionEndCheck(object->model[0]) != 0) { - object->work[0] = frandmod(3 * REFRESH_RATE); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_PAUSE); - } -} - -void fn_1_12B80(omObjData *object) -{ - s32 var_r30; - s16 var_r29; - - object->work[0] = frandmod(3 * REFRESH_RATE); - omSetTra(object, 0.0f, 0.0f, 0.0f); - omSetRot(object, 0.0f, 0.0f, 0.0f); - - object->model[0] = fn_1_46C(DATA_MAKE_NUM(DATADIR_M450, 0x23)); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(object->model[0], 1); - object->func = fn_1_12A1C; -} - -void fn_1_12D78(omObjData *object) { } - -void fn_1_12D7C(omObjData *object) -{ - omSetTra(object, 0.0f, 0.0f, 0.0f); - omSetRot(object, 0.0f, 0.0f, 0.0f); - object->model[0] = Hu3DModelCreateFile(lbl_1_data_F00[object->work[0]]); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_PAUSE); - object->func = fn_1_12D78; -} - -void fn_1_12E5C(s32 var_r30, s32 var_r29, s32 var_r31) -{ - Vec sp8 = lbl_1_data_1450[var_r30].unk_04; - - VECAdd(&lbl_1_data_1450[var_r29].unk_04, &sp8, &sp8); - VECScale(&sp8, &sp8, 0.5f); - sp8.y = 1501.0f; - Hu3DModelPosSet(lbl_1_bss_1A0->model[var_r31], sp8.x, sp8.y, sp8.z); - Hu3DModelRotSet( - lbl_1_bss_1A0->model[var_r31], 0.0f, atan2d(lbl_1_data_1450[var_r30].unk_04.x - sp8.x, lbl_1_data_1450[var_r30].unk_04.z - sp8.z), 0.0f); - Hu3DModelScaleSet( - lbl_1_bss_1A0->model[var_r31], 1.0f, 1.0f, VECDistance(&lbl_1_data_1450[var_r30].unk_04, &lbl_1_data_1450[var_r29].unk_04) / 1000.0f); - Hu3DMotionTimeSet(lbl_1_bss_1A0->model[var_r31], 0.0f); - Hu3DModelAttrReset(lbl_1_bss_1A0->model[var_r31], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(lbl_1_bss_1A0->model[var_r31], HU3D_ATTR_DISPOFF); -} - -void fn_1_130A4(Vec *arg0, s32 var_r30) -{ - Hu3DModelPosSet(lbl_1_bss_1A0->model[var_r30], arg0->x, arg0->y, arg0->z); - Hu3DMotionTimeSet(lbl_1_bss_1A0->model[var_r30], 0.0f); - Hu3DModelAttrReset(lbl_1_bss_1A0->model[var_r30], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(lbl_1_bss_1A0->model[var_r30], HU3D_ATTR_DISPOFF); - HuAudFXPlay(0x7B7); -} - -void fn_1_13174(UnkData1380Struct *arg0) -{ - s32 var_r30; - s32 var_r27; - - if (arg0->unk_14 != 0) { - arg0->unk_14 = 0; - arg0->unk_18 = 0; - for (var_r30 = 0; var_r30 < arg0->unk_08; var_r30++) { - if (arg0->unk_24[var_r30] >= 0) { - var_r27 = lbl_1_bss_1A0->model[arg0->unk_24[var_r30]]; - MTXIdentity(Hu3DData[var_r27].unk_F0); - if (arg0->unk_08 == 4) { - Hu3DModelRotSet(lbl_1_bss_1A0->model[arg0->unk_24[var_r30]], 0.0f, 90.0f, 0.0f); - } - else { - Hu3DModelRotSet(lbl_1_bss_1A0->model[arg0->unk_24[var_r30]], 0.0f, -90.0f, 0.0f); - } - } - } - } - for (var_r30 = 0; var_r30 < arg0->unk_08; var_r30++) { - if (arg0->unk_18 != 0) { - if (arg0->unk_24[var_r30] < 0) { - fn_1_1D70(lbl_1_bss_1A0->model[0], arg0->unk_00[var_r30], &arg0->unk_30[var_r30], NULL); - } - else { - var_r27 = lbl_1_bss_1A0->model[arg0->unk_24[var_r30]]; - fn_1_1D70(lbl_1_bss_1A0->model[0], arg0->unk_00[var_r30], &arg0->unk_30[var_r30], Hu3DData[var_r27].unk_F0); - } - } - else if (arg0->unk_24[var_r30] >= 0) { - Hu3DModelPosSet(lbl_1_bss_1A0->model[arg0->unk_24[var_r30]], arg0->unk_30[var_r30].x, arg0->unk_30[var_r30].y, arg0->unk_30[var_r30].z); - } - } - for (var_r30 = 0; var_r30 < arg0->unk_08; var_r30++) { - if (arg0->unk_28[var_r30] >= 0) { - omSetTra(lbl_1_bss_144[arg0->unk_28[var_r30]], arg0->unk_30[var_r30].x, arg0->unk_30[var_r30].y, arg0->unk_30[var_r30].z); - } - } -} - -void fn_1_13560(UnkData1380Struct *arg0, s32 *arg1, s32 arg2) -{ - s32 var_r30; - Vec *var_r28; - - arg0->unk_30 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0->unk_08 * sizeof(Vec), MEMORY_DEFAULT_NUM); - arg0->unk_34 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0->unk_08 * sizeof(Vec), MEMORY_DEFAULT_NUM); - arg0->unk_24 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0->unk_08 * sizeof(s32), MEMORY_DEFAULT_NUM); - arg0->unk_28 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0->unk_08 * sizeof(s32), MEMORY_DEFAULT_NUM); - arg0->unk_2C = arg1; - for (var_r30 = 0; var_r30 < arg0->unk_08; var_r30++) { - arg0->unk_24[var_r30] = *arg1++; - arg0->unk_28[var_r30] = arg2++; - var_r28 = &arg0->unk_34[var_r30]; - var_r28->x = 0.0f; - var_r28->y = 0.0f; - var_r28->z = 0.0f; - } - arg0->unk_10 = arg0->unk_24[*arg1]; - arg0->unk_24[*arg1] = -1; - arg0->unk_28[*arg1] = -1; - fn_1_13174(arg0); - for (var_r30 = 0; var_r30 < arg0->unk_08; var_r30++) { - if (arg0->unk_24[var_r30] >= 0) { - Hu3DModelAttrReset(lbl_1_bss_1A0->model[arg0->unk_24[var_r30]], HU3D_ATTR_DISPOFF); - } - } -} - -void fn_1_13714(void) -{ - Vec sp8; - s32 var_r31; - s32 var_r30; - - if ((0 > lbl_1_bss_F8) || (NULL == lbl_1_bss_FC)) { - return; - } - VECSubtract(&lbl_1_bss_EC, &lbl_1_bss_FC->unk_30[lbl_1_bss_F8], &sp8); - if (10.0f < VECMag(&sp8)) { - VECNormalize(&sp8, &sp8); - VECScale(&sp8, &sp8, 10.0f); - } - lbl_1_bss_FC->unk_34[lbl_1_bss_F8] = sp8; - VECAdd(&sp8, &lbl_1_bss_FC->unk_30[lbl_1_bss_F8], &lbl_1_bss_FC->unk_30[lbl_1_bss_F8]); - if ((sp8.x == 0.0f) && (sp8.z == 0.0f)) { - for (var_r30 = lbl_1_bss_FC->unk_20, var_r31 = 0; var_r31 < lbl_1_bss_FC->unk_08; var_r31++, var_r30++) { - if ((lbl_1_bss_FC->unk_24[var_r31] >= 0) && (var_r30 != lbl_1_bss_FC->unk_24[var_r31])) { - break; - } - } - if (lbl_1_bss_FC->unk_08 == var_r31) { - lbl_1_bss_FC->unk_1C = 1; - } - lbl_1_bss_FC->unk_30[lbl_1_bss_F8] = lbl_1_bss_EC; - lbl_1_bss_F8 = -1; - lbl_1_bss_FC = NULL; - HuAudFXPlay(0x7B9); - } -} - -void fn_1_139B0(UnkData1380Struct *arg0, s32 arg1) -{ - s32 var_r30; - s32 var_r28; - - arg0->unk_18 = 1; - arg0->unk_24[arg0->unk_08 - 1] = arg1; - for (var_r30 = 0; var_r30 < arg0->unk_08; var_r30++) { - var_r28 = lbl_1_bss_1A0->model[arg0->unk_24[var_r30]]; - fn_1_1D70(lbl_1_bss_1A0->model[0], arg0->unk_00[var_r30], &arg0->unk_30[var_r30], Hu3DData[var_r28].unk_F0); - Hu3DModelPosSet(var_r28, 0.0f, 0.0f, 0.0f); - Hu3DModelRotSet(var_r28, 0.0f, 0.0f, 0.0f); - } -} - -void fn_1_13B4C(UnkData1380Struct *arg0) -{ - arg0->unk_14 = 1; -} - -void fn_1_13B58(s32 arg0) -{ - if (arg0 > GWMGTypeGet()) { - GWMGTypeSet(arg0); - } -} - -s32 fn_1_13B90(s32 arg0) -{ - if (arg0 > GWMGTypeGet()) { - return 0; - } - return 1; -} - -void fn_1_13BC4(s32 arg0) -{ - s32 var_r31; - UnkData1380Struct *var_r30; - s16 var_r29; - - nMap = 0; - lbl_1_bss_118 = arg0; - lbl_1_bss_F8 = -1; - lbl_1_bss_FC = NULL; - lbl_1_bss_110 = 1; - lbl_1_bss_304 = lbl_1_data_F6C[arg0]; - var_r30 = NULL; - switch (arg0) { - case 1: - MapObject[nMap++] = lbl_1_bss_144[0]; - break; - case 2: - lbl_1_bss_110 = 2; - var_r30 = &lbl_1_data_1380; - lbl_1_data_1380.unk_14 = 1; - MapObject[nMap++] = lbl_1_bss_144[1]; - break; - case 3: - MapObject[nMap++] = lbl_1_bss_144[2]; - break; - case 4: - lbl_1_bss_110 = 2; - var_r30 = &lbl_1_data_13B8; - lbl_1_data_13B8.unk_14 = 1; - MapObject[nMap++] = lbl_1_bss_144[3]; - break; - case 5: - lbl_1_bss_110 = 3; - MapObject[nMap++] = lbl_1_bss_144[4]; - for (var_r31 = 0; var_r31 < 5; var_r31++) { - MapObject[nMap++] = lbl_1_bss_144[var_r31 + 0x12]; - } - break; - } - fn_1_13B58(arg0); - if (NULL != var_r30) { - for (var_r31 = 0; var_r31 < var_r30->unk_08; var_r31++) { - if (var_r30->unk_28[var_r31] >= 0) { - MapObject[nMap++] = lbl_1_bss_144[var_r30->unk_28[var_r31]]; - } - } - } -} - -void fn_1_13F28(omObjData *object) -{ - Vec sp30; - float var_f31; - - UnkData1450Struct *var_r31; - s32 var_r29; - s32 var_r28; - Vec *var_r27; - Vec *var_r26; - - for (var_r29 = 0; var_r29 < lbl_1_data_1380.unk_08; var_r29++) { - var_r27 = &lbl_1_data_1380.unk_34[var_r29]; - var_r27->x = 0.0f; - var_r27->y = 0.0f; - var_r27->z = 0.0f; - } - for (var_r29 = 0; var_r29 < lbl_1_data_13B8.unk_08; var_r29++) { - var_r26 = &lbl_1_data_13B8.unk_34[var_r29]; - var_r26->x = 0.0f; - var_r26->y = 0.0f; - var_r26->z = 0.0f; - } - fn_1_13714(); - fn_1_13174(&lbl_1_data_1380); - fn_1_13174(&lbl_1_data_13B8); - var_r28 = object->model[6]; - fn_1_1D70(object->model[0], "m450mex06-s3hook06", &sp30, Hu3DData[var_r28].unk_F0); - var_r28 = object->model[7]; - fn_1_1D70(object->model[0], "m450mex06-s3hook05", &sp30, Hu3DData[var_r28].unk_F0); - var_r28 = object->model[17]; - fn_1_1D70(object->model[0], "m450mex06-s5hook11", &sp30, Hu3DData[var_r28].unk_F0); - var_r28 = object->model[18]; - fn_1_1D70(object->model[0], "m450mex06-s5hook10", &sp30, Hu3DData[var_r28].unk_F0); - var_r28 = object->model[19]; - fn_1_1D70(object->model[0], "m450m01-from5to6", &sp30, Hu3DData[var_r28].unk_F0); - for (var_r29 = 0; var_r29 < 5; var_r29++) { - var_r31 = &lbl_1_data_1450[var_r29]; - var_r31->unk_10 = var_r31->unk_04.y; - var_r28 = object->model[var_r29 + 0x14]; - fn_1_1D70(object->model[0], var_r31->unk_00, &var_r31->unk_04, Hu3DData[var_r28].unk_F0); - fn_1_1D18(object->model[var_r29 + 0x14], "m450_s6a1-s6a1hook", &sp30); - VECAdd(&sp30, &var_r31->unk_04, &var_r31->unk_04); - if (1560.0f > var_r31->unk_04.y) { - var_r31->unk_04.y = 1560.0f; - } - omSetTra(lbl_1_bss_144[var_r29 + 0x12], var_r31->unk_04.x, var_r31->unk_04.y, var_r31->unk_04.z); - var_r31->unk_10 = var_r31->unk_04.y - var_r31->unk_10; - if (var_r31->unk_18 != 0) { - if (var_r31->unk_1C != 0) { - var_f31 = Hu3DMotionTimeGet(object->model[var_r29 + 0x14]); - if ((10.0f <= var_f31) && (40.0f >= var_f31)) { - var_r31->unk_10 = 0.0f; - } - if (40.0f <= var_f31) { - Hu3DMotionTimeSet(object->model[var_r29 + 0x14], 10.0f); - if (var_r31->unk_20 != 0) { - var_r31->unk_20 = 0; - } - } - if (((UnkM450Struct5 *)lbl_1_bss_138->data)->unk_10C < 3) { - var_r31->unk_14 += 1.0f; - if (20 * REFRESH_RATE < var_r31->unk_14) { - var_r31->unk_1C = 0; - fn_1_1B510(var_r29); - } - } - } - else if (Hu3DMotionEndCheck(object->model[var_r29 + 0x14]) != 0) { - var_r31->unk_18 = 0; - } - } - } -} - -void fn_1_148B0(float arg8, s8 arg0) -{ - Mtx spC; - ModelData *var_r30; - s32 var_r31; - - if (lbl_1_bss_114 == 0) { - if (arg0 == 0x78) { - MTXRotRad(spC, 0x5A, 0.017453292f * arg8); - } - else { - MTXRotRad(spC, 0x58, 0.017453292f * arg8); - } - MTXConcat(spC, lbl_1_bss_88, spC); - for (var_r31 = 0; var_r31 <= 1; var_r31++) { - var_r30 = &Hu3DData[lbl_1_bss_1A0->model[var_r31]]; - MTXCopy(spC, var_r30->unk_F0); - } - fn_1_13F28(lbl_1_bss_1A0); - } -} - -void fn_1_149C0(s8 arg0) -{ - Mtx spC; - s32 var_r31; - ModelData *var_r30; - - lbl_1_bss_114 = 1; - if (arg0 == 0x78) { - MTXRotRad(spC, 0x5A, 1.5707964f); - } - else { - MTXRotRad(spC, 0x58, 1.5707964f); - } - MTXConcat(spC, lbl_1_bss_88, lbl_1_bss_88); - for (var_r31 = 0; var_r31 <= 1; var_r31++) { - var_r30 = &Hu3DData[lbl_1_bss_1A0->model[var_r31]]; - MTXCopy(lbl_1_bss_88, var_r30->unk_F0); - } - fn_1_13F28(lbl_1_bss_1A0); -} - -void fn_1_14AB8(void) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 5; var_r31++) { - fn_1_1D70(lbl_1_bss_1A0->model[0], lbl_1_data_E68[var_r31], &lbl_1_bss_4C[var_r31], NULL); - } -} - -void fn_1_14BC8(UnkDataA80Struct *arg0, s32 arg1) -{ - s32 var_r31; - - lbl_1_bss_104 = arg0; - lbl_1_bss_100 = arg1; - for (var_r31 = 0; var_r31 < lbl_1_bss_100; var_r31++, arg0++) { - arg0->unk_10 = -1; - arg0->unk_28 = 1; - } -} - -void fn_1_14C28(void) -{ - UnkDataA80Struct *var_r31; - s32 var_r30; - - if (NULL != lbl_1_bss_104) { - for (var_r31 = lbl_1_bss_104, var_r30 = 0; var_r30 < lbl_1_bss_100; var_r30++, var_r31++) { - if (var_r31->unk_10 >= 0) { - fn_1_66A0(var_r31->unk_10); - } - if (var_r31->unk_24 >= 0) { - HuAudFXStop(var_r31->unk_24); - var_r31->unk_24 = -2; - } - } - } -} - -void fn_1_14CE8(omObjData *object) -{ - UnkDataA80Struct *var_r31; - s32 var_r25; - s32 var_r22; - s32 var_r19; - s32 var_r18; - - if (NULL != lbl_1_bss_104) { - var_r19 = 1; - var_r18 = 1; - var_r25 = 0; - for (var_r31 = lbl_1_bss_104, var_r22 = 0; var_r22 < lbl_1_bss_100; var_r22++, var_r31++) { - if ((var_r18 != 0) && (var_r31->unk_28 != 0)) { - var_r25++; - var_r18 = 0; - var_r31->unk_28 = 0; - var_r31->unk_14 = var_r31->unk_18.x; - fn_1_1D70(lbl_1_bss_1A0->model[0], var_r31->unk_00, &var_r31->unk_04, NULL); - var_r31->unk_10 = fn_1_69F8(NULL, &var_r31->unk_14, 0x40); - } - else if (var_r31->unk_10 >= 0) { - var_r25++; - var_r31->unk_14 += var_r31->unk_18.y; - if (0.0f > var_r31->unk_14) { - var_r31->unk_14 += 360.0f; - } - if (360.0f <= var_r31->unk_14) { - var_r31->unk_14 -= 360.0f; - } - if ((lbl_1_bss_308 & 1) == 0) { - fn_1_6798(var_r31->unk_10, 1, &var_r31->unk_04, 0.0f, var_r31->unk_18.z, var_r31->unk_04.y); - if ((var_r19 != 0) && (var_r31->unk_24 < 0) && (var_r31->unk_24 > -2)) { - var_r19 = 0; - var_r31->unk_24 = HuAudFXEmiterPlay(var_r31->unk_18.z == 350.0f ? 0x7BF : 0x7AD, &var_r31->unk_04); - } - } - if (fn_1_66DC(var_r31->unk_10) != 0) { - var_r31->unk_10 = -1; - } - } - } - if (var_r25 == 0) { - lbl_1_bss_104 = NULL; - } - } - fn_1_13F28(object); - fn_1_186A8(); -} - -void fn_1_15308(omObjData *object) -{ - s32 var_r30; - s32 **var_r22; - - lbl_1_bss_104 = NULL; - MTXIdentity(lbl_1_bss_88); - omSetTra(object, 0.0f, 0.0f, 0.0f); - omSetRot(object, 0.0f, 0.0f, 0.0f); - for (var_r30 = 0; var_r30 < 0x21; var_r30++) { - object->model[var_r30] = Hu3DModelCreateFile(lbl_1_data_E7C[var_r30]); - Hu3DModelAttrSet(object->model[var_r30], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(object->model[var_r30], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(object->model[var_r30], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(object->model[var_r30], 0); - Hu3DModelPosSet(object->model[var_r30], 0.0f, 0.0f, 0.0f); - Hu3DModelRotSet(object->model[var_r30], 0.0f, 0.0f, 0.0f); - if (var_r30 != 1) { - Hu3DModelShadowMapSet(object->model[var_r30]); - } - } - Hu3DMotionSpeedSet(object->model[1], 0.1f); - switch (GWPlayerCfg[lbl_1_bss_120].diff) { - case 0: - var_r22 = lbl_1_data_1204; - break; - case 1: - var_r22 = lbl_1_data_1210; - break; - case 2: - var_r22 = lbl_1_data_121C; - break; - case 3: - default: - var_r22 = lbl_1_data_1228; - break; - } - fn_1_13560(&lbl_1_data_1380, lbl_1_data_11F4[frandmod(4)], 5); - fn_1_13560(&lbl_1_data_13B8, var_r22[frandmod(3)], 9); - fn_1_14AB8(); - - for (var_r30 = 0; var_r30 <= 1; var_r30++) { - Hu3DModelAttrReset(object->model[var_r30], HU3D_ATTR_DISPOFF); - } - Hu3DModelAttrReset(object->model[6], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[17], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[19], HU3D_ATTR_DISPOFF); - for (var_r30 = 0; var_r30 < 5; var_r30++) { - Hu3DModelAttrSet(object->model[var_r30 + 0x14], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(object->model[var_r30 + 0x14], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(object->model[var_r30 + 0x14], HU3D_ATTR_DISPOFF); - } - object->func = fn_1_14CE8; -} - -float fn_1_15B48(s32 arg0, float arg8, float arg9) -{ - return (arg9 + (arg8 * (arg0 - 1))) / arg0; -} - -void fn_1_15BAC(Vec *arg0, Vec *arg1, float arg8, s32 arg2, float *arg3, float *arg4) -{ - Vec sp14; - - VECSubtract(arg1, arg0, &sp14); - if (360.0f <= arg8) { - arg8 -= 360.0f; - } - else if (0.0f > arg8) { - arg8 += 360.0f; - } - if (360.0f <= arg8) { - arg8 -= 360.0f; - } - else if (0.0f > arg8) { - arg8 += 360.0f; - } - if (360.0f <= arg8) { - arg8 -= 360.0f; - } - else if (0.0f > arg8) { - arg8 += 360.0f; - } - *arg3 = (atan2d(sp14.z, sp14.x)) - 90.0; - *arg4 = atan2d(sp14.y, sqrtf((sp14.x * sp14.x) + (sp14.z * sp14.z))); - if (arg2 == 0) { - *arg3 *= -1.0f; - } - if (arg2 != 0) { - *arg3 += arg8; - } - else { - *arg3 -= arg8; - } - if (180.0f <= *arg3) { - *arg3 -= 360.0f; - } - else if (-180.0f > *arg3) { - *arg3 += 360.0f; - } - if (180.0f <= *arg3) { - *arg3 -= 360.0f; - } - else if (-180.0f > *arg3) { - *arg3 += 360.0f; - } - if (180.0f <= *arg3) { - *arg3 -= 360.0f; - } - else if (-180.0f > *arg3) { - *arg3 += 360.0f; - } - if (60.0f <= *arg3) { - *arg3 = 60.0f; - } - if (-60.0f >= *arg3) { - *arg3 = -60.0f; - } - if (45.0f <= *arg4) { - *arg4 = 45.0f; - } - if (-45.0f >= *arg4) { - *arg4 = -45.0f; - } -} - -void fn_1_160AC(UnkM450Struct5 *arg0, omObjData *object, Vec *arg2) -{ - float spC; - float sp8; - UnkData5CCStruct *var_r30; - - arg0->unk_FC |= 0x8000; - var_r30 = &lbl_1_data_5CC[arg0->unk_11C]; - if (NULL == arg2) { - spC = 0.0f; - sp8 = 0.0f; - } - else { - fn_1_15BAC(&arg0->unk_00.unk_6C, arg2, arg0->unk_00.unk_9C, var_r30->unk_08, &spC, &sp8); - } - arg0->unk_C8 = fn_1_15B48(10, arg0->unk_C8, spC); - arg0->unk_CC = fn_1_15B48(10, arg0->unk_CC, sp8); - Hu3DMotionForceSet(object->model[0], var_r30->unk_00, var_r30->unk_04, arg0->unk_C8); - Hu3DMotionForceSet(object->model[0], var_r30->unk_00, 0x200, var_r30->unk_0C - arg0->unk_CC); -} - -void fn_1_16280(UnkM450Struct5 *arg0, omObjData *object) -{ - UnkData5CCStruct *var_r31; - - if (arg0->unk_FC & 0x8000) { - arg0->unk_FC &= ~0x8000; - var_r31 = &lbl_1_data_5CC[arg0->unk_11C]; - Hu3DMotionNoMotReset(object->model[0], var_r31->unk_00, var_r31->unk_04); - Hu3DMotionNoMotReset(object->model[0], var_r31->unk_00, 0x200); - } -} - -Vec *fn_1_16314(s32 arg0) -{ - UnkData1380Struct *var_r31; - s32 var_r30; - - var_r31 = &lbl_1_data_1380; - for (var_r30 = 0; var_r30 < var_r31->unk_08; var_r30++) { - if (arg0 == var_r31->unk_24[var_r30]) { - return &var_r31->unk_30[var_r30]; - } - } - return var_r31->unk_30; -} - -void fn_1_16378(omObjData *object) -{ - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - - UnkM450Struct4 *var_r31; - s32 var_r30; - - var_r31 = object->data; - var_r31->unk_48 += 0.98f; - if (1555.0f < var_r31->unk_00.y) { - var_r31->unk_00.y -= var_r31->unk_48; - } - if (1555.0f >= var_r31->unk_00.y) { - if (10.0f < var_r31->unk_48) { - var_r31->unk_48 = 10.0f; - } - var_r31->unk_00.y = 1555.0f; - if (0.0f > (var_r31->unk_48 / 1.5f)) { - var_f30 = -(var_r31->unk_48 / 1.5f); - } - else { - var_f30 = var_r31->unk_48 / 1.5f; - } - var_r31->unk_48 = -var_f30; - if (0.0f > var_r31->unk_48) { - var_f29 = -var_r31->unk_48; - } - else { - var_f29 = var_r31->unk_48; - } - if (1.0f < var_f29) { - var_r31->unk_00.y += 1.0f; - } - if (var_r31->unk_74 != 0) { - var_r31->unk_74 = 0; - omVibrate(lbl_1_bss_120, 0xC, 4, 2); - HuAudFXPlay(0x7AE); - } - } - if (Hu3DMotionEndCheck(object->model[0]) != 0) { - var_r31->unk_78 = 1; - } - if ((var_r31->unk_74 == 0) && (lbl_1_bss_1A4->work[0] > 0x3FB)) { - var_r31->unk_78 = 1; - } - if ((var_r31->unk_74 == 0) && (lbl_1_bss_1A4->work[0] == 0x3E8)) { - var_r31->unk_78 = 1; - } - if (var_r31->unk_78 != 0) { - var_r31->unk_50 = var_r31->unk_50 - 1.0f; - if ((lbl_1_bss_308 & 1) != 0) { - for (var_r30 = 0; var_r30 < 2; var_r30++) { - Hu3DModelAttrSet(object->model[var_r30], HU3D_ATTR_DISPOFF); - } - } - else { - for (var_r30 = 0; var_r30 < 2; var_r30++) { - Hu3DModelAttrReset(object->model[var_r30], HU3D_ATTR_DISPOFF); - } - } - if (0.0f > var_r31->unk_50) { - Hu3DModelShadowReset(object->model[0]); - for (var_r30 = 0; var_r30 < 2; var_r30++) { - Hu3DModelAttrSet(object->model[var_r30], HU3D_ATTR_DISPOFF); - } - fn_1_24(0x1000, object->model[0]); - fn_1_24(0x2000, object->model[1]); - omDelObjEx(lbl_1_bss_33C, object); - return; - } - } - if (var_r31->unk_78 == 0) { - for (var_r30 = 0; var_r30 < 1; var_r30++) { - if (NULL == lbl_1_bss_E8[var_r30]) { - lbl_1_bss_E8[var_r30] = var_r31; - break; - } - } - } - var_f31 = (var_r31->unk_00.y - 1555.0f) / 300.0f; - if (1.0f < var_f31) { - var_f31 = 1.0f; - } - var_f31 = 1.0f - var_f31; - var_f31 = 1.0f; - sp8 = *fn_1_16314(var_r31->unk_70); - VECAdd(&var_r31->unk_64, &sp8, &sp8); - var_r31->unk_00.x += var_f31 * (sp8.x - var_r31->unk_00.x); - var_r31->unk_00.z += var_f31 * (sp8.z - var_r31->unk_00.z); - omSetTra(object, var_r31->unk_00.x, var_r31->unk_00.y, var_r31->unk_00.z); - for (var_r30 = 0; var_r30 < 2; var_r30++) { - Hu3DModelPosSet(object->model[var_r30], var_r31->unk_00.x, var_r31->unk_00.y, var_r31->unk_00.z); - } -} - -void fn_1_16910(omObjData *object) -{ - UnkM450Struct4 *var_r30; - s32 var_r27; - s32 var_r26; - - var_r30 = object->data; - var_r30->unk_48 = 0.0f; - var_r30->unk_50 = 30.0f; - var_r26 = fn_1_AC(0x1000); - if (var_r26 < 0) { - object->model[0] = Hu3DModelLink(lbl_1_bss_2C[0]); - } - else { - object->model[0] = var_r26; - } - var_r26 = fn_1_AC(0x2000); - if (var_r26 < 0) { - object->model[1] = Hu3DModelLink(lbl_1_bss_2C[1]); - } - else { - object->model[1] = var_r26; - } - for (var_r27 = 0; var_r27 < 2; var_r27++) { - Hu3DModelAttrSet(object->model[var_r27], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[var_r27], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(object->model[var_r27], 4); - Hu3DMotionTimeSet(object->model[var_r27], 0.0f); - Hu3DModelPosSet(object->model[var_r27], var_r30->unk_00.x, var_r30->unk_00.y, var_r30->unk_00.z); - Hu3DModelRotSet(object->model[var_r27], 0.0f, 0.0f, 0.0f); - } - omSetTra(object, var_r30->unk_00.x, var_r30->unk_00.y, var_r30->unk_00.z); - omSetRot(object, 0.0f, 0.0f, 0.0f); - Hu3DModelShadowSet(object->model[0]); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[1], HU3D_ATTR_DISPOFF); - object->func = fn_1_16378; -} - -void fn_1_16BC4(Vec *arg0, Vec *arg1, s32 arg2) -{ - UnkData1380Struct *spC; - - UnkM450Struct4 *var_r31; - s32 var_r30; - omObjData *var_r29; - - for (var_r30 = 0; var_r30 < 2; var_r30++) { - if (lbl_1_data_1CC[var_r30 * 2] == 0x3E) { - HuAudFXPlay(lbl_1_data_1CC[(var_r30 * 2) + 1]); - break; - } - } - var_r29 = omAddObjEx(lbl_1_bss_33C, 0x6A, 2, 0, -1, fn_1_16910); - var_r29->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM450Struct4), MEMORY_DEFAULT_NUM); - spC = &lbl_1_data_1380; - var_r31 = var_r29->data; - var_r31->unk_74 = 1; - var_r31->unk_78 = 0; - var_r31->unk_7C = 0; - var_r31->unk_70 = arg2; - var_r31->unk_00 = *arg0; - var_r31->unk_64 = *arg1; -} - -void fn_1_16CF4(omObjData *object) -{ - float spC; - float sp8; - - UnkM450Struct4 *var_r31 = object->data; - UnkM450Struct5 *var_r30 = lbl_1_bss_138->data; - spC = var_r30->unk_00.unk_6C.x - var_r31->unk_00.x; - sp8 = var_r30->unk_00.unk_6C.z - var_r31->unk_00.z; - var_r31->unk_00.y += (0.1f * (1505.0f - var_r31->unk_00.y)); - if ((lbl_1_bss_1A4->work[0] > 0x3FB) || (lbl_1_bss_1A4->work[0] == 0x3E8)) { - var_r31->unk_78 = 1; - } - if (var_r31->unk_78 != 0) { - var_r31->unk_40 = var_r31->unk_40 - 0.1f; - if (0.0f > var_r31->unk_40) { - Hu3DModelAttrSet(*object->model, HU3D_ATTR_DISPOFF); - fn_1_24(0x3000, object->model[0]); - omDelObjEx(lbl_1_bss_33C, object); - return; - } - } - else { - var_r31->unk_50 += 1.0f; - if (var_r31->unk_7C != 0) { - if (60.0f < var_r31->unk_50) { - var_r31->unk_78 = 1; - } - var_r31->unk_00.x += (0.1f * (var_r30->unk_00.unk_6C.x - var_r31->unk_00.x)); - var_r31->unk_00.z += (0.1f * (var_r30->unk_00.unk_6C.z - var_r31->unk_00.z)); - var_r31->unk_44 *= 1.01f; - } - else { - if (240.0f < var_r31->unk_50) { - var_r31->unk_78 = 1; - } - var_r31->unk_00.x += (11.0 * sind(var_r31->unk_3C)); - var_r31->unk_00.z += (11.0 * cosd(var_r31->unk_3C)); - var_r31->unk_3C = fn_1_1E20( - var_r31->unk_3C, atan2d(var_r30->unk_00.unk_6C.x - var_r31->unk_00.x, var_r30->unk_00.unk_6C.z - var_r31->unk_00.z), 0.05f); - } - } - if ((var_r31->unk_78 == 0) && (1605.0f > var_r31->unk_00.y)) { - s32 var_r27; - for (var_r27 = 0; var_r27 < 1; var_r27++) { - if (NULL == lbl_1_bss_E4[var_r27]) { - lbl_1_bss_E4[var_r27] = var_r31; - break; - } - } - } - Hu3DModelTPLvlSet(object->model[0], var_r31->unk_40); - omSetTra(object, var_r31->unk_00.x, var_r31->unk_00.y, var_r31->unk_00.z); - omSetSca(object, var_r31->unk_44, var_r31->unk_44, var_r31->unk_44); -} - -void fn_1_171C4(omObjData *object) -{ - UnkM450Struct4 *var_r29; - s16 var_r26; - - var_r29 = object->data; - var_r29->unk_40 = 1.0f; - var_r29->unk_44 = 1.0f; - var_r29->unk_50 = 0.0f; - var_r26 = fn_1_AC(0x3000); - if (var_r26 < 0) { - object->model[0] = Hu3DModelLink(lbl_1_bss_2C[2]); - } - else { - object->model[0] = var_r26; - } - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(object->model[0], 4); - omSetTra(object, var_r29->unk_00.x, var_r29->unk_00.y, var_r29->unk_00.z); - omSetRot(object, 0.0f, 0.0f, 0.0f); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - object->func = fn_1_16CF4; -} - -void fn_1_17360(Vec *arg0, float arg8) -{ - omObjData *var_r29; - s32 var_r30; - UnkM450Struct4 *var_r31; - - for (var_r30 = 0; var_r30 < 2; var_r30++) { - if (lbl_1_data_1CC[var_r30 * 2] == 0x3E) { - HuAudFXPlay(lbl_1_data_1CC[var_r30 * 2]); - break; - } - } - var_r29 = omAddObjEx(lbl_1_bss_33C, 0x6B, 1, 0, -1, fn_1_171C4); - var_r29->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM450Struct4), MEMORY_DEFAULT_NUM); - var_r31 = var_r29->data; - var_r31->unk_78 = 0; - var_r31->unk_7C = 0; - var_r31->unk_00 = *arg0; - var_r31->unk_3C = arg8; - HuAudFXPlay(0x7AF); -} - -void fn_1_17474(omObjData *object) -{ - Mtx spB0; - Mtx sp80; - Mtx sp50; - Vec sp14; - Vec sp8; - float var_f31; - - UnkM450Struct4 *var_r31 = object->data; - if (var_r31->unk_74 != 0) { - fn_1_1D18(var_r31->unk_54, "g000m0-itemhook_R", &sp8); - if (Hu3DMotionShiftIDGet(var_r31->unk_54) < 0) { - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - if (165.0f <= Hu3DMotionTimeGet(var_r31->unk_54)) { - HuAudFXPlay(0x7B0); - var_r31->unk_74 = 0; - var_r31->unk_3C = 0.0f; - var_r31->unk_4C = VECDistance(&sp8, &var_r31->unk_0C); - Hu3DModelObjMtxGet(var_r31->unk_58, "g000i00-itemhook_A", sp80); - Hu3DModelObjMtxGet(var_r31->unk_54, "g000m0-itemhook_R", sp50); - MTXConcat(sp80, sp50, sp80); - var_r31->unk_00.x = sp80[0][3]; - var_r31->unk_00.y = sp80[1][3]; - var_r31->unk_00.z = sp80[2][3]; - Hu3DModelHookObjReset(var_r31->unk_54, "g000m0-itemhook_R"); - MTXIdentity(Hu3DData[object->model[0]].unk_F0); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_HOOK); - } - } - var_r31->unk_0C = sp8; - } - if (var_r31->unk_74 == 0) { - if (lbl_1_bss_1A4->work[0] > 0x40D) { - var_r31->unk_40 = var_r31->unk_40 - 0.05f; - } - var_f31 = var_r31->unk_4C; - sp14.x = 0.0f; - sp14.y = 0.0f; - sp14.z = var_f31; - MTXRotRad(spB0, 0x59, 0.017453292f * (var_r31->unk_5C + var_r31->unk_60)); - MTXMultVec(spB0, &sp14, &sp14); - VECAdd(&var_r31->unk_00, &sp14, &var_r31->unk_00); - var_r31->unk_00.y += 0.1f * (1575.0f - var_r31->unk_00.y); - var_r31->unk_4C += 0.05f * (30.0f - var_r31->unk_4C); - var_r31->unk_3C += var_r31->unk_4C; - var_r31->unk_60 += 0.08f * var_r31->unk_4C; - if (360.0f <= var_r31->unk_60) { - var_r31->unk_60 = 360.0f; - } - sp14.x = 0.0f; - sp14.y = 1575.0f; - sp14.z = 0.0f; - if ((360.0f <= var_r31->unk_60) && (1500.0f < VECDistance(&sp14, &var_r31->unk_00))) { - var_r31->unk_40 = var_r31->unk_40 - 0.05f; - if (0.0f > var_r31->unk_40) { - Hu3DModelShadowReset(object->model[0]); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - fn_1_24(0x4000, object->model[0]); - omDelObjEx(lbl_1_bss_33C, object); - return; - } - } - if (1.0f <= var_r31->unk_40) { - s32 var_r28; - for (var_r28 = 0; var_r28 < 2; var_r28++) { - if (NULL == lbl_1_bss_DC[var_r28]) { - lbl_1_bss_DC[var_r28] = var_r31; - break; - } - } - } - omSetTra(object, var_r31->unk_00.x, var_r31->unk_00.y, var_r31->unk_00.z); - omSetRot(object, 0.0f, var_r31->unk_3C, 0.0f); - } - Hu3DModelShadowDispOn(object->model[0]); - Hu3DModelTPLvlSet(object->model[0], var_r31->unk_40); -} - -void fn_1_17970(s32 arg0, s32 arg1, float arg8) -{ - omObjData *var_r31; - UnkM450Struct4 *var_r30; - s16 var_r26; - - HuAudFXPlay(0x3A); - var_r31 = omAddObjEx(lbl_1_bss_33C, 0x6C, 1, 0, -1, fn_1_17474); - var_r31->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM450Struct4), MEMORY_DEFAULT_NUM); - var_r30 = var_r31->data; - var_r30->unk_40 = 1.0f; - var_r30->unk_50 = 0.0f; - var_r30->unk_74 = 1; - var_r30->unk_78 = 0; - var_r30->unk_7C = 0; - var_r30->unk_54 = arg0; - var_r30->unk_58 = arg1; - var_r30->unk_5C = arg8; - var_r30->unk_60 = 0.0f; - - var_r26 = fn_1_AC(0x4000); - if (var_r26 < 0) { - var_r31->model[0] = Hu3DModelLink(lbl_1_bss_2C[3]); - } - else { - var_r31->model[0] = var_r26; - } - Hu3DModelAttrSet(var_r31->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(var_r31->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(var_r31->model[0], 4); - omSetTra(var_r31, 0.0f, 0.0f, 0.0f); - omSetRot(var_r31, 0.0f, 0.0f, 0.0f); - Hu3DModelHookSet(var_r30->unk_54, "g000m0-itemhook_R", var_r31->model[0]); - Hu3DModelShadowSet(var_r31->model[0]); - Hu3DModelShadowDispOff(var_r31->model[0]); -} - -void fn_1_17BBC(omObjData *object) -{ - Mtx sp84; - Vec sp18; - Vec spC; - float sp8; - float var_f31; - float var_f30; - float var_f28; - - UnkM450Struct4 *var_r31; - s32 var_r27; - UnkM450Struct3 *var_r22; - - var_r31 = object->data; - var_r22 = lbl_1_bss_134->data; - if (var_r31->unk_74 != 0) { - fn_1_1D18(var_r31->unk_54, "g000m0-itemhook_R", &spC); - if ((Hu3DMotionShiftIDGet(var_r31->unk_54) < 0) && (165.0f <= Hu3DMotionTimeGet(var_r31->unk_54))) { - HuAudFXPlay(0x7B0); - var_r31->unk_74 = 0; - var_r31->unk_3C = 0.0f; - var_r31->unk_4C = VECDistance(&spC, &var_r31->unk_0C); - fn_1_1D18(var_r31->unk_54, "g000m0-itemhook_R", &var_r31->unk_00); - Hu3DModelHookObjReset(var_r31->unk_54, "g000m0-itemhook_R"); - MTXIdentity(Hu3DData[*object->model].unk_F0); - Hu3DModelAttrReset(*object->model, HU3D_ATTR_HOOK); - var_f31 = var_r31->unk_00.x - var_r31->unk_24.x; - var_f30 = var_r31->unk_00.z - var_r31->unk_24.z; - var_r31->unk_30.x = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)) / 2; - var_r31->unk_30.z = 150.0f + var_r31->unk_00.y; - VECAdd(&var_r31->unk_00, &var_r31->unk_24, &var_r31->unk_24); - VECScale(&var_r31->unk_24, &var_r31->unk_24, 0.5f); - var_r31->unk_24.y = var_r31->unk_00.y; - var_r31->unk_30.y = atan2d(var_r31->unk_00.x - var_r31->unk_24.x, var_r31->unk_00.z - var_r31->unk_24.z); - } - var_r31->unk_0C = spC; - if ((var_r31->unk_74 != 0) && (var_r22->unk_150 >= 0xBCE)) { - Hu3DModelShadowReset(object->model[0]); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelHookObjReset(var_r31->unk_54, "g000m0-itemhook_R"); - fn_1_24(0x4000, object->model[0]); - omDelObjEx(lbl_1_bss_33C, object); - return; - } - } - if (var_r31->unk_74 == 0) { - if (lbl_1_bss_1A4->work[0] > 0x415) { - var_r31->unk_40 = var_r31->unk_40 - 0.05f; - } - var_f28 = 1575.0f; - if (180.0f < var_r31->unk_60) { - var_f28 = var_r31->unk_30.z; - } - var_r31->unk_00.y += (0.05f * (var_f28 - var_r31->unk_00.y)); - var_r31->unk_4C += 0.05f * (30.0f - var_r31->unk_4C); - var_r31->unk_3C += var_r31->unk_4C; - var_r31->unk_60 += 0.08f * var_r31->unk_4C; - if (360.0f <= var_r31->unk_60) { - var_r31->unk_60 = 360.0f; - VECAdd(&var_r31->unk_18, &var_r31->unk_00, &var_r31->unk_00); - } - else { - spC = var_r31->unk_00; - sp18.x = (0.6666667f * var_r31->unk_30.x) * sind(var_r31->unk_60); - sp18.z = var_r31->unk_30.x * cosd(var_r31->unk_60); - MTXRotRad(sp84, 0x59, 0.017453292f * var_r31->unk_30.y); - MTXMultVec(sp84, &sp18, &sp18); - var_r31->unk_00.x = var_r31->unk_24.x + sp18.x; - var_r31->unk_00.z = var_r31->unk_24.z + sp18.z; - VECSubtract(&var_r31->unk_00, &spC, &var_r31->unk_18); - } - sp18.x = 0.0f; - sp18.y = 1575.0f; - sp18.z = 0.0f; - if ((360.0f <= var_r31->unk_60) && (1500.0f < VECDistance(&sp18, &var_r31->unk_00))) { - var_r31->unk_40 = var_r31->unk_40 - 0.05f; - if (0.0f > var_r31->unk_40) { - Hu3DModelShadowReset(*object->model); - Hu3DModelAttrSet(*object->model, HU3D_ATTR_DISPOFF); - fn_1_24(0x4000, object->model[0]); - omDelObjEx(lbl_1_bss_33C, object); - return; - } - } - if (1.0f <= var_r31->unk_40) { - for (var_r27 = 0; var_r27 < 2; var_r27++) { - if (NULL == lbl_1_bss_DC[var_r27]) { - lbl_1_bss_DC[var_r27] = var_r31; - break; - } - } - } - omSetTra(object, var_r31->unk_00.x, var_r31->unk_00.y, var_r31->unk_00.z); - omSetRot(object, 0.0f, var_r31->unk_3C, 0.0f); - omSetSca(object, 1.0f, 1.0f, 1.0f); - } - Hu3DModelShadowDispOn(object->model[0]); - Hu3DModelTPLvlSet(object->model[0], var_r31->unk_40); -} - -void fn_1_18424(s32 arg0, Vec *arg1) -{ - UnkBss358Struct *var_r27; - UnkBss358Struct *var_r28; - UnkBss358Struct *var_r29; - omObjData *var_r31; - s16 var_r24; - s16 var_r25; - s16 var_r26; - UnkM450Struct4 *var_r30; - - var_r31 = omAddObjEx(lbl_1_bss_33C, 0x6C, 1, 0, -1, fn_1_17BBC); - var_r31->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM450Struct4), MEMORY_DEFAULT_NUM); - var_r30 = var_r31->data; - var_r30->unk_54 = arg0; - var_r30->unk_40 = 1.0f; - var_r30->unk_50 = 0.0f; - var_r30->unk_74 = 1; - var_r30->unk_78 = 0; - var_r30->unk_7C = 0; - var_r30->unk_60 = 0.0f; - var_r30->unk_24 = *arg1; - - var_r26 = fn_1_AC(0x4000); - if (var_r26 < 0) { - var_r31->model[0] = Hu3DModelLink(lbl_1_bss_2C[3]); - } - else { - var_r31->model[0] = var_r26; - } - Hu3DModelAttrSet(var_r31->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(var_r31->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(var_r31->model[0], 4); - omSetTra(var_r31, 0.0f, 0.0f, 0.0f); - omSetRot(var_r31, 0.0f, 0.0f, 0.0f); - omSetSca(var_r31, 1.0f, 1.0f, 1.0f); - Hu3DModelHookSet(var_r30->unk_54, "g000m0-itemhook_R", var_r31->model[0]); - Hu3DModelAttrReset(var_r31->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(var_r31->model[0]); - Hu3DModelShadowDispOff(var_r31->model[0]); -} - -void fn_1_186A8(void) -{ - Vec sp14[3]; - Vec sp8; - float var_f31; - - s32 var_r31; - UnkM450Struct5 *var_r30; - UnkM450Struct3 *var_r29; - HsfBuffer *var_r28; - s32 var_r27; - ModelData *var_r26; - HsfObject *var_r25; - - if (lbl_1_bss_C4 >= 0) { - var_r30 = lbl_1_bss_138->data; - var_r29 = lbl_1_bss_134->data; - switch (lbl_1_bss_C4) { - case 0x1388: - for (var_r31 = 0x19; var_r31 <= 0x1B; var_r31++) { - if (Hu3DMotionEndCheck(lbl_1_bss_1A0->model[var_r31]) == 0) { - return; - } - } - lbl_1_bss_C4++; - lbl_1_bss_C8 = 0.0f; - Hu3DModelPosSet(lbl_1_bss_1A0->model[28], 0.0f, 1501.0f, 0.0f); - Hu3DModelAttrReset(lbl_1_bss_1A0->model[28], HU3D_ATTR_DISPOFF); - Hu3DModelTPLvlSet(lbl_1_bss_1A0->model[28], 0.0f); - var_r26 = &Hu3DData[lbl_1_bss_1A0->model[28]]; - var_r25 = var_r26->hsfData->object; - var_r28 = var_r25->data.vertex; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - ((Vec *)var_r28->data)[var_r31].x = lbl_1_data_1450[lbl_1_bss_B8[var_r31]].unk_04.x; - ((Vec *)var_r28->data)[var_r31].z = lbl_1_data_1450[lbl_1_bss_B8[var_r31]].unk_04.z; - DCFlushRange(&((Vec *)var_r28->data)[var_r31], sizeof(Vec)); - } - - break; - case 0x1389: - var_f31 = lbl_1_bss_C8 / 30.0f; - if (1.0f < var_f31) { - var_f31 = 1.0f; - } - Hu3DModelTPLvlSet(lbl_1_bss_1A0->model[28], var_f31); - lbl_1_bss_C8 += 1.0f; - if ((120.0f < lbl_1_bss_C8) && (var_r30->unk_00.unk_38 == 0)) { - lbl_1_bss_C4++; - lbl_1_bss_C8 = 0.0f; - var_r27 = 0; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - sp14[var_r31] = lbl_1_data_1450[lbl_1_bss_B8[var_r31]].unk_04; - } - if ((fn_1_1C39C(var_r30) != 0) && (fn_1_1964C(&var_r30->unk_00.unk_6C, sp14) != 0)) { - var_r27++; - var_r30->unk_110 = 0x1D; - var_r30->unk_FC |= 0x20000; - fn_1_130A4(&var_r30->unk_00.unk_6C, 29); - } - if (fn_1_1964C(&var_r29->unk_00.unk_6C, sp14) != 0) { - var_r27++; - var_r29->unk_10C = 0x1E; - var_r29->unk_154 |= 0x8000; - fn_1_130A4(&var_r29->unk_00.unk_6C, 30); - } - if (var_r27 == 0) { - sp8.x = 0.0f; - sp8.y = 0.0f; - sp8.z = 0.0f; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - VECAdd(&sp14[var_r31], &sp8, &sp8); - } - VECScale(&sp8, &sp8, 0.33333334f); - fn_1_130A4(&sp8, 29); - return; - } - } - break; - case 0x138A: - if (45.0f < lbl_1_bss_C8) { - var_f31 = (lbl_1_bss_C8 - 45.0f) / 15.0f; - if (1.0f < var_f31) { - var_f31 = 1.0f; - } - Hu3DModelTPLvlSet(lbl_1_bss_1A0->model[28], 1.0f - var_f31); - for (var_r31 = 0; var_r31 < 3; var_r31++) { - Hu3DModelTPLvlSet(lbl_1_bss_1A0->model[var_r31 + 0x19], 1.0f - var_f31); - } - } - lbl_1_bss_C8 += 1.0f; - if (60.0f <= lbl_1_bss_C8) { - lbl_1_bss_C4 = -1; - Hu3DModelAttrSet(lbl_1_bss_1A0->model[28], HU3D_ATTR_DISPOFF); - Hu3DModelTPLvlSet(lbl_1_bss_1A0->model[28], 1.0f); - Hu3DModelAttrSet(lbl_1_bss_1A0->model[29], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_1A0->model[30], HU3D_ATTR_DISPOFF); - for (var_r31 = 0; var_r31 < 3; var_r31++) { - lbl_1_data_1450[lbl_1_bss_B8[0]].unk_1C = 0; - fn_1_1B510(lbl_1_bss_B8[0]); - Hu3DModelAttrSet(lbl_1_bss_1A0->model[var_r31 + 0x19], HU3D_ATTR_DISPOFF); - Hu3DModelTPLvlSet(lbl_1_bss_1A0->model[var_r31 + 0x19], 1.0f); - } - fn_1_1B4C8(var_r30); - return; - } - break; - default: - OSReport("*** thunder attack mode error(%d)!!\n", lbl_1_bss_C4); - break; - } - } -} - -void fn_1_18F30(UnkM450Struct5 *arg0, Vec *arg1) -{ - Vec sp18; - Vec spC; - float var_f31; - float var_f30; - float var_f28; - float var_f27; - - if (NULL != arg1) { - sp18 = *arg1; - var_f27 = arg0->unk_00.unk_C0; - if ((arg0->unk_00.unk_38 == 3) || (arg0->unk_00.unk_38 == 4)) { - var_f27 *= 0.5f; - } - var_f31 = arg0->unk_00.unk_6C.x - sp18.x; - var_f30 = arg0->unk_00.unk_6C.z - sp18.z; - var_f28 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (((sp18.y - 50.0f) < (arg0->unk_00.unk_6C.y + var_f27)) && (arg0->unk_00.unk_BC > var_f28)) { - if (var_f28 == 0.0f) { - var_f31 = 0.0f; - var_f30 = -1.0f; - } - else { - var_f31 /= var_f28; - var_f30 /= var_f28; - } - arg0->unk_00.unk_6C.x = sp18.x + (var_f31 * arg0->unk_00.unk_BC); - arg0->unk_00.unk_6C.z = sp18.z + (var_f30 * arg0->unk_00.unk_BC); - } - if ((arg0->unk_FC & 0x220) == 0) { - spC = arg0->unk_00.unk_6C; - spC.y += var_f27 - arg0->unk_00.unk_BC; - var_f28 = VECDistance(&spC, &sp18); - if ((spC.y < sp18.y) && ((50.0f + arg0->unk_00.unk_BC) > var_f28)) { - arg0->unk_FC |= 0x200; - return; - } - spC = arg0->unk_00.unk_6C; - spC.y += arg0->unk_00.unk_BC; - var_f28 = VECDistance(&spC, &sp18); - if ((50.0f + arg0->unk_00.unk_BC) > var_f28) { - arg0->unk_FC |= 0x20; - } - } - } -} - -void fn_1_192AC(UnkM450Struct5 *arg0, UnkM450Struct4 *arg1) -{ - Vec sp8; - float var_f31; - - if ((NULL != arg1) && (arg0->unk_00.unk_38 == 0) && ((arg0->unk_FC & 0x2000) == 0)) { - sp8 = arg0->unk_00.unk_6C; - sp8.y += arg0->unk_00.unk_BC; - var_f31 = VECDistance(&sp8, &arg1->unk_00); - if ((50.0f + arg0->unk_00.unk_BC) > var_f31) { - arg0->unk_FC |= 0x2000; - arg1->unk_7C = 1; - arg1->unk_50 = 0.0f; - } - } -} - -void fn_1_19390(UnkM450Struct5 *var_r31, UnkM450Struct4 *var_r30) -{ - Vec sp8; - float var_f31; - - if ((NULL != var_r30) && ((var_r31->unk_FC & 0x20) == 0)) { - sp8 = var_r31->unk_00.unk_6C; - sp8.y += var_r31->unk_00.unk_BC; - var_f31 = VECDistance(&sp8, &var_r30->unk_00); - if ((70.0f + var_r31->unk_00.unk_BC) > var_f31) { - var_r31->unk_FC |= 0x20; - } - } -} - -void fn_1_19450(UnkM450Struct5 *var_r31) -{ - s32 var_r30; - - for (var_r30 = 0; var_r30 < 1; var_r30++) { - fn_1_18F30(var_r31, lbl_1_bss_E8[var_r30]); - } - for (var_r30 = 0; var_r30 < 1; var_r30++) { - fn_1_192AC(var_r31, lbl_1_bss_E4[var_r30]); - } - for (var_r30 = 0; var_r30 < 2; var_r30++) { - fn_1_19390(var_r31, lbl_1_bss_DC[var_r30]); - } -} - -s32 fn_1_1964C(Vec *arg0, Vec *arg1) -{ - Vec sp74; - Vec sp68; - Vec sp5C; - Vec sp50; - Vec sp44; - Vec sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - - VECSubtract(&arg1[1], &arg1[0], &sp74); - VECSubtract(&arg1[2], &arg1[1], &sp68); - VECSubtract(&arg1[0], &arg1[2], &sp5C); - VECCrossProduct(&sp74, &sp68, &sp50); - VECSubtract(arg0, &arg1[0], &sp44); - VECSubtract(arg0, &arg1[1], &sp38); - VECSubtract(arg0, &arg1[2], &sp2C); - VECCrossProduct(&sp74, &sp50, &sp20); - VECCrossProduct(&sp68, &sp50, &sp14); - VECCrossProduct(&sp5C, &sp50, &sp8); - if ((0.0f >= VECDotProduct(&sp20, &sp44)) && (0.0f >= VECDotProduct(&sp14, &sp38)) && (0.0f >= VECDotProduct(&sp8, &sp2C))) { - return 1; - } - return 0; -} - -s32 fn_1_19798(void) -{ - float sp8; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - - UnkM450Struct5 *var_r31 = lbl_1_bss_138->data; - UnkM450Struct3 *var_r30 = lbl_1_bss_134->data; - - var_f31 = var_r31->unk_00.unk_6C.x - var_r30->unk_00.unk_6C.x; - var_f30 = var_r31->unk_00.unk_6C.z - var_r30->unk_00.unk_6C.z; - var_f28 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if ((150.0f + var_r31->unk_00.unk_BC) > var_f28) { - if (var_f28 == 0.0f) { - var_f31 = 0.0f; - var_f30 = -1.0f; - } - else { - var_f31 /= var_f28; - var_f30 /= var_f28; - } - var_r31->unk_FC |= 0x200000; - if (var_r30->unk_150 != 0xBC9) { - var_r31->unk_FC |= 4; - } - var_r31->unk_00.unk_6C.x = var_r30->unk_00.unk_6C.x + (var_f31 * (150.0f + var_r31->unk_00.unk_BC)); - var_r31->unk_00.unk_6C.z = var_r30->unk_00.unk_6C.z + (var_f30 * (150.0f + var_r31->unk_00.unk_BC)); - return 1; - } - return 0; -} - -s32 fn_1_19A10(WorkPlayerOld *arg0, Vec *arg1) -{ - float var_f31; - float var_f30; - float var_f28; - - var_f31 = arg1->x - arg0->unk_6C.x; - var_f30 = arg1->z - arg0->unk_6C.z; - var_f28 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (10.0f <= var_f28) { - var_f31 /= var_f28; - var_f30 /= var_f28; - } - else { - var_f31 = 0.0f; - var_f30 = 0.0f; - return 1; - } - arg0->unk_20 = 72.0f * var_f31; - arg0->unk_24 = 72.0f * -var_f30; - return 0; -} - -void fn_1_19C18(omObjData *object) -{ - UnkM450Struct5 *var_r31 = object->data; - - if ((var_r31->unk_FC & 1) != 0) { - if (1250.0f < var_r31->unk_00.unk_6C.x) { - var_r31->unk_00.unk_6C.x = 1250.0f; - } - if (-1250.0f > var_r31->unk_00.unk_6C.x) { - var_r31->unk_00.unk_6C.x = -1250.0f; - } - if (1250.0f < var_r31->unk_00.unk_6C.z) { - var_r31->unk_00.unk_6C.z = 1250.0f; - } - if (-1250.0f > var_r31->unk_00.unk_6C.z) { - var_r31->unk_00.unk_6C.z = -1250.0f; - } - } -} - -void fn_1_19CE0(omObjData *object) -{ - UnkM450Struct5 *var_r31 = object->data; - - if (var_r31->unk_FC & 0x10) { - var_r31->unk_FC |= 0x42; - Hu3DMotionShiftSet(object->model[0], object->motion[10], 0.0f, 8.0f, 0x40000002); - } - if (var_r31->unk_FC & 0x100) { - var_r31->unk_FC |= 0x402; - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DMotionSet(object->model[0], object->motion[14]); - Hu3DMotionTimeSet(object->model[0], 48.0f); - } - if (var_r31->unk_FC & 0x1000) { - var_r31->unk_FC |= 0x4002; - Hu3DMotionShiftSet(object->model[0], object->motion[9], 0.0f, 8.0f, 0); - } - if (var_r31->unk_FC & 0x10000) { - var_r31->unk_FC |= 0x40002; - Hu3DMotionShiftSet(object->model[0], object->motion[16], 0.0f, 8.0f, 0); - Hu3DModelPosSet( - lbl_1_bss_1A0->model[var_r31->unk_110 + 2], var_r31->unk_00.unk_6C.x, var_r31->unk_00.unk_6C.y, 50.0f + var_r31->unk_00.unk_6C.z); - Hu3DMotionTimeSet(lbl_1_bss_1A0->model[var_r31->unk_110 + 2], 0.0f); - Hu3DModelAttrSet(lbl_1_bss_1A0->model[var_r31->unk_110 + 2], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(lbl_1_bss_1A0->model[var_r31->unk_110 + 2], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(lbl_1_bss_1A0->model[var_r31->unk_110 + 2], HU3D_ATTR_DISPOFF); - } - if (var_r31->unk_FC & 0x100000) { - var_r31->unk_FC |= 0x400002; - Hu3DMotionShiftSet(object->model[0], object->motion[9], 0.0f, 8.0f, 0); - } - var_r31->unk_FC &= ~0x30; - var_r31->unk_FC &= ~0x300; - var_r31->unk_FC &= ~0x3000; - var_r31->unk_FC &= ~0x30000; - var_r31->unk_FC &= ~0x300000; - var_r31->unk_100 = 2 * REFRESH_RATE; - var_r31->unk_F8 = 0.0f; - var_r31->unk_00.unk_3C &= ~0x210; -} - -void fn_1_1A014(omObjData *arg0) -{ - UnkM450Struct5 *var_r31 = arg0->data; - - if (var_r31->unk_FC & 0x555550) { - var_r31->unk_FC &= ~0x800; - return; - } - var_r31->unk_FC |= 0x800; -} - -void fn_1_1A060(void) -{ - Vec sp8; - - Vec *var_r31; - UnkM450Struct5 *var_r30 = lbl_1_bss_138->data; - - sp8 = var_r30->unk_00.unk_6C; - if (lbl_1_bss_10C == 0) { - sp8.y = 1500.0f; - } - lbl_1_bss_324 = sp8; - lbl_1_bss_30C = sp8; - var_r31 = &lbl_1_data_51C[lbl_1_bss_110]; - lbl_1_bss_324.x += (var_r31->x * sind((180.0f + var_r30->unk_00.unk_9C))); - lbl_1_bss_324.z += (var_r31->x * cosd((180.0f + var_r30->unk_00.unk_9C))); - lbl_1_bss_324.y += var_r31->y; - lbl_1_bss_30C.y += var_r31->z; -} - -void fn_1_1A21C(float var_f30, float var_f31) -{ - Vec sp8; - Vec *var_r31; - UnkM450Struct5 *var_r30 = lbl_1_bss_138->data; - - sp8 = var_r30->unk_00.unk_6C; - if (lbl_1_bss_10C == 0) { - sp8.y = 1500.0f; - } - if (var_f31 != 0.0f) { - sp8.y = var_f31; - } - lbl_1_bss_324 = sp8; - lbl_1_bss_30C = sp8; - var_r31 = &lbl_1_data_51C[lbl_1_bss_110]; - lbl_1_bss_324.x += var_r31->x * sind(var_f30); - lbl_1_bss_324.z += var_r31->x * cosd(var_f30); - lbl_1_bss_324.y += var_r31->y; - lbl_1_bss_30C.y += var_r31->z; -} - -void fn_1_1A3F0(void) -{ - float var_f31; - float var_f30; - float var_f28; - UnkM450Struct5 *var_r31 = lbl_1_bss_138->data; - UnkM450Struct3 *var_r30 = lbl_1_bss_134->data; - - var_f31 = var_r31->unk_00.unk_6C.x - var_r30->unk_00.unk_6C.x; - var_f30 = var_r31->unk_00.unk_6C.z - var_r30->unk_00.unk_6C.z; - var_f28 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - var_f31 = 800.0f * (var_f31 / var_f28); - var_f30 = 800.0f * (var_f30 / var_f28); - lbl_1_bss_324 = var_r31->unk_00.unk_6C; - lbl_1_bss_30C = var_r31->unk_00.unk_6C; - lbl_1_bss_324.x += var_f31; - lbl_1_bss_324.y += 350.0f; - lbl_1_bss_324.z += var_f30; - lbl_1_bss_30C.y += 150.0f; -} - -#include "src/REL/executor.c" - -void fn_1_1A714(void) -{ - UnkM450Struct5 *var_r31; - - HuSysVWaitSet(1); - if (HuPadBtn[0] & PAD_BUTTON_X) { - lbl_1_bss_304 = -1; - } - print8(0x18, 0x20, 1.5f, "%d COUNT:%d MODE:%d MES:%d CAM:%d", GWMGTypeGet(), lbl_1_bss_308, lbl_1_bss_1A4->work[0], lbl_1_bss_2FE, lbl_1_bss_110); - print8(0x18, 0x30, 1.5f, "%f %f %f", lbl_1_bss_330.x, lbl_1_bss_330.y, lbl_1_bss_330.z); - print8(0x18, 0x40, 1.5f, "%f %f %f", lbl_1_bss_318.x, lbl_1_bss_318.y, lbl_1_bss_318.z); - print8(0x18, 0x50, 1.5f, "H:%x M:%x", HuMemHeapSizeGet(HEAP_SYSTEM) - HuMemUsedMallocSizeGet(HEAP_SYSTEM), - HuMemHeapSizeGet(HEAP_DATA) - HuMemUsedMallocSizeGet(HEAP_DATA)); - var_r31 = lbl_1_bss_138->data; - print8(0x18, 0x60, 1.5f, "%f (%f %f %f)", var_r31->unk_00.unk_A8, var_r31->unk_00.unk_6C.x, var_r31->unk_00.unk_6C.y, var_r31->unk_00.unk_6C.z); - print8(0x18, 0x70, 1.5f, "%d %d", var_r31->unk_104, var_r31->unk_108); -} - -void fn_1_1A940(UnkM450Struct5 *var_r30, Vec *var_r31, s8 var_r27) -{ - Mtx spD0; - float var_f31; - - s32 var_r23; - - nMap = 0; - var_r23 = 1; - lbl_1_bss_10C = 1; - if (var_r30->unk_E8 == 0.0f) { - lbl_1_bss_114 = 0; - if (var_r27 == 0x78) { - if (var_r31->x > var_r30->unk_00.unk_6C.x) { - var_r23 = 0; - } - } - else if (var_r31->z < var_r30->unk_00.unk_6C.z) { - var_r23 = 0; - } - } - if (var_r23 != 0) { - CharModelEffectEnableSet(var_r30->unk_11C, 0); - var_r30->unk_E8 += 1.0f; - var_f31 = 0.0f > var_r31->x ? -var_r31->x : var_r31->x; - if (var_f31 < (0.0f > var_r31->y ? -var_r31->y : var_r31->y)) { - var_f31 = 0.0f > var_r31->y ? -var_r31->y : var_r31->y; - } - if (var_f31 < (0.0f > var_r31->z ? -var_r31->z : var_r31->z)) { - var_f31 = 0.0f > var_r31->z ? -var_r31->z : var_r31->z; - } - var_f31 = 1505.0f - var_f31; - if (var_r27 == 0x78) { - fn_1_148B0(var_r30->unk_E8, var_r27); - MTXRotRad(spD0, 0x5A, 0.017453292f * var_r30->unk_E8); - var_r30->unk_00.unk_6C.x = var_r31->x + ((var_f31 * (0.0f > var_r31->x ? -1 : 1)) * sind(var_r30->unk_E8)); - } - else { - fn_1_148B0(var_r30->unk_E8, var_r27); - MTXRotRad(spD0, 0x58, 0.017453292f * var_r30->unk_E8); - var_r30->unk_00.unk_6C.z = var_r31->z + ((var_f31 * (0.0f > var_r31->z ? -1 : 1)) * sind(var_r30->unk_E8)); - } - var_r30->unk_00.unk_6C.y = var_r31->y + (var_f31 * cosd(var_r30->unk_E8)); - MTXMultVec(&spD0[0], &var_r30->unk_00.unk_6C, &var_r30->unk_00.unk_6C); - } - else { - if (var_r27 == 0x78) { - var_r30->unk_00.unk_20 = 0x48; - } - else { - var_r30->unk_00.unk_24 = 0x48; - } - fn_1_40C0(&var_r30->unk_00); - } - if (90.0f <= var_r30->unk_E8) { - if (lbl_1_bss_114 == 0) { - fn_1_149C0(var_r27); - } - fn_1_14AB8(); - } -} - -s32 fn_1_1B0C4(float *arg0, UnkM450Struct5 *arg1) -{ - if (arg1->unk_00.unk_38 != 0) { - return 0; - } - if (((arg0[0] - arg0[3]) <= arg1->unk_00.unk_6C.x) && ((arg0[0] + arg0[3]) >= arg1->unk_00.unk_6C.x) - && ((arg0[2] - arg0[4]) <= arg1->unk_00.unk_6C.z) && ((arg0[2] + arg0[4]) >= arg1->unk_00.unk_6C.z)) { - return 1; - } - return 0; -} - -void fn_1_1B158(UnkM450Struct5 *arg0, UnkData1380Struct *arg1) -{ - s32 var_r31; - - arg0->unk_104 = -1; - if (NULL != arg1) { - if ((arg0->unk_00.unk_38 == 1) || (arg0->unk_00.unk_38 == 3)) { - return; - } - if ((!(1505.0f < arg0->unk_00.unk_6C.y) && !(1495.0f > arg0->unk_00.unk_6C.y)) || (arg0->unk_00.unk_38 == 1) || (arg0->unk_00.unk_38 == 3)) { - for (var_r31 = 0; var_r31 < arg1->unk_08; var_r31++) { - if ((0 <= arg1->unk_24[var_r31]) && ((arg1->unk_30[var_r31].x - arg1->unk_04) <= arg0->unk_00.unk_6C.x) - && ((arg1->unk_04 + arg1->unk_30[var_r31].x) >= arg0->unk_00.unk_6C.x) - && ((arg1->unk_30[var_r31].z - arg1->unk_04) <= arg0->unk_00.unk_6C.z) - && ((arg1->unk_04 + arg1->unk_30[var_r31].z) >= arg0->unk_00.unk_6C.z)) { - arg0->unk_104 = var_r31; - } - } - } - } -} - -void fn_1_1B2AC(UnkM450Struct5 *var_r30, UnkData1380Struct *var_r31) -{ - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - - if ((var_r30->unk_FC & 0x800) != 0) { - if ((NULL == var_r31) || (var_r30->unk_104 < 0) || (lbl_1_bss_F8 >= 0) || (var_r31->unk_1C != 0)) { - return; - } - var_r25 = var_r30->unk_104 % var_r31->unk_0C; - var_r24 = var_r30->unk_104 / var_r31->unk_0C; - for (var_r28 = 0; var_r28 < 4; var_r28++) { - var_r27 = var_r25 + lbl_1_data_1234[var_r28 * 2]; - var_r26 = var_r24 + lbl_1_data_1234[(var_r28 * 2) + 1]; - if ((var_r27 >= 0) && (var_r31->unk_0C > var_r27) && (var_r26 >= 0) && (var_r31->unk_0C > var_r26)) { - var_r29 = var_r27 + (var_r26 * var_r31->unk_0C); - if (var_r31->unk_24[var_r29] < 0) { - lbl_1_bss_FC = var_r31; - lbl_1_bss_F8 = var_r29; - var_r31->unk_24[var_r29] = var_r31->unk_24[var_r30->unk_104]; - var_r31->unk_24[var_r30->unk_104] = -1; - var_r31->unk_28[var_r29] = var_r31->unk_28[var_r30->unk_104]; - var_r31->unk_28[var_r30->unk_104] = -1; - lbl_1_bss_EC = var_r31->unk_30[var_r29]; - var_r31->unk_30[var_r29] = var_r31->unk_30[var_r30->unk_104]; - HuAudFXPlay(0x7B8); - return; - } - } - } - } -} - -s32 fn_1_1B4C8(UnkM450Struct5 *arg0) -{ - s32 var_r31; - - arg0->unk_10C = 0; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - lbl_1_bss_B8[var_r31] = -1; - } -} - -void fn_1_1B510(s32 sp8) -{ - s32 var_r31; - s32 var_r30; - UnkM450Struct5 *var_r29 = lbl_1_bss_138->data; - - for (var_r30 = 0; var_r30 < 3; var_r30++) { - if (sp8 == lbl_1_bss_B8[var_r30]) { - var_r29->unk_10C--; - lbl_1_bss_B8[var_r30] = -1; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - Hu3DModelAttrSet(lbl_1_bss_1A0->model[var_r31 + 0x19], HU3D_ATTR_DISPOFF); - } - for (var_r31 = var_r30; var_r31 < 2; var_r31++) { - lbl_1_bss_B8[var_r31] = lbl_1_bss_B8[var_r31 + 1]; - lbl_1_bss_B8[var_r31 + 1] = -1; - } - } - } -} - -void fn_1_1B644(UnkM450Struct5 *arg0) -{ - s32 var_r31; - - arg0->unk_108 = -1; - if (lbl_1_bss_118 == 5) { - if ((arg0->unk_00.unk_38 == 1) || (arg0->unk_00.unk_38 == 3)) { - return; - } - for (var_r31 = 0; var_r31 < 5; var_r31++) { - float var_f31; - float var_f30; - UnkData1450Struct *var_r30 = &lbl_1_data_1450[var_r31]; - var_f31 = arg0->unk_00.unk_6C.x - var_r30->unk_04.x; - var_f30 = arg0->unk_00.unk_6C.z - var_r30->unk_04.z; - if (100.0f > sqrtf((var_f31 * var_f31) + (var_f30 * var_f30))) { - arg0->unk_108 = var_r31; - } - } - } -} - -void fn_1_1B830(UnkM450Struct5 *arg0) -{ - s32 var_r30; - - if (arg0->unk_FC & 0x800) { - if ((lbl_1_bss_118 != 5) || (arg0->unk_108 < 0)) { - return; - } - if ((arg0->unk_10C < 3) && (lbl_1_data_1450[arg0->unk_108].unk_18 == 0)) { - for (var_r30 = 0; var_r30 < arg0->unk_10C; var_r30++) { - if (arg0->unk_108 == lbl_1_bss_B8[var_r30]) { - return; - } - } - lbl_1_data_1450[arg0->unk_108].unk_14 = 0.0f; - lbl_1_data_1450[arg0->unk_108].unk_18 = 1; - lbl_1_data_1450[arg0->unk_108].unk_1C = 1; - lbl_1_data_1450[arg0->unk_108].unk_20 = 1; - lbl_1_bss_B8[arg0->unk_10C++] = arg0->unk_108; - Hu3DMotionTimeSet(lbl_1_bss_1A0->model[arg0->unk_108 + 0x14], 0.0f); - Hu3DModelAttrReset(lbl_1_bss_1A0->model[arg0->unk_108 + 0x14], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - if (arg0->unk_10C == 2) { - fn_1_12E5C(lbl_1_bss_B8[0], lbl_1_bss_B8[1], 25); - HuAudFXPlay(0x7B4); - } - if (arg0->unk_10C == 3) { - lbl_1_bss_C8 = 0.0f; - lbl_1_bss_C4 = 0x1388; - fn_1_12E5C(lbl_1_bss_B8[0], lbl_1_bss_B8[2], 26); - fn_1_12E5C(lbl_1_bss_B8[1], lbl_1_bss_B8[2], 27); - HuAudFXPlay(0x7B5); - HuAudFXPlay(0x7B6); - } - } - } -} - -void fn_1_1C060(UnkM450Struct5 *arg0) -{ - UnkData1450Struct *var_r31; - - fn_1_1B644(arg0); - if (arg0->unk_108 >= 0) { - var_r31 = &lbl_1_data_1450[arg0->unk_108]; - if ((arg0->unk_00.unk_38 != 1) && (arg0->unk_00.unk_38 != 3) && (1560.0f > arg0->unk_00.unk_6C.y)) { - arg0->unk_00.unk_6C.y = 1565.0f; - arg0->unk_00.unk_78.y = 1565.0f; - } - if (0.0f != var_r31->unk_10) { - arg0->unk_00.unk_6C.y = 5.0f + var_r31->unk_04.y; - arg0->unk_00.unk_78.y = 5.0f + var_r31->unk_04.y; - } - } -} - -s32 fn_1_1C2D4(UnkM450Struct5 *arg0) -{ - if ((arg0->unk_FC & 0x50) != 0) { - return 0; - } - if ((arg0->unk_FC & 0x500) != 0) { - return 0; - } - if ((arg0->unk_FC & 0x5000) != 0) { - return 0; - } - if ((arg0->unk_FC & 0x50000) != 0) { - return 0; - } - if ((arg0->unk_FC & 0x500000) != 0) { - return 0; - } - if (lbl_1_data_A0C[0].unk_14 <= 0) { - return 0; - } - if ((arg0->unk_FC & 0x80000) != 0) { - return 0; - } - if (arg0->unk_00.unk_38 != 0) { - return 0; - } - return 1; -} - -s32 fn_1_1C39C(UnkM450Struct5 *arg0) -{ - if ((arg0->unk_FC & 0x50) != 0) { - return 0; - } - if ((arg0->unk_FC & 0x500) != 0) { - return 0; - } - if ((arg0->unk_FC & 0x5000) != 0) { - return 0; - } - if ((arg0->unk_FC & 0x50000) != 0) { - return 0; - } - if ((arg0->unk_FC & 0x500000) != 0) { - return 0; - } - if ((arg0->unk_FC & 2) != 0) { - return 0; - } - return 1; -} - -void fn_1_1C434(UnkM450Struct5 *arg0, omObjData *arg1) -{ - s32 var_r30; - - arg0->unk_118++; - lbl_1_bss_1A4->work[0] += 1; - lbl_1_bss_128 = 0.0f; - fn_1_4ED8(&arg0->unk_00, 0); - Hu3DModelAttrReset(arg1->model[0], HU3D_ATTR_DISPOFF); - arg1->func = fn_1_20170; -} - -void fn_1_1C6E4(void) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 1; var_r31++) { - lbl_1_bss_E8[var_r31] = NULL; - } - for (var_r31 = 0; var_r31 < 1; var_r31++) { - lbl_1_bss_E4[var_r31] = NULL; - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - lbl_1_bss_DC[var_r31] = NULL; - } -} - -void fn_1_1C77C(UnkM450Struct5 *arg0) -{ - Mtx sp20; - Vec sp14; - Vec sp8; - UnkM450Struct3 *var_r30 = lbl_1_bss_134->data; - - sp14.x = 0.0f; - sp14.y = 0.0f; - sp14.z = 1.0f; - MTXRotRad(sp20, 0x59, 0.017453292f * arg0->unk_00.unk_9C); - MTXMultVec(sp20, &sp14, &sp14); - VECNormalize(&sp14, &sp14); - VECSubtract(&arg0->unk_00.unk_6C, &var_r30->unk_00.unk_6C, &arg0->unk_DC); - VECNormalize(&arg0->unk_DC, &arg0->unk_DC); - VECSubtract(&var_r30->unk_00.unk_6C, &arg0->unk_00.unk_6C, &sp8); - VECNormalize(&sp8, &sp8); - if (0.0f <= VECDotProduct(&sp14, &sp8)) { - arg0->unk_114 = 0x11; - return; - } - arg0->unk_114 = 0x13; -} - -s32 fn_1_1C898(UnkM450Struct5 *var_r31, omObjData *var_r30) -{ - s32 sp3C; - float var_f31; - - if (var_r31->unk_FC & 2) { - if (var_r31->unk_FC & 0x40) { - var_r31->unk_F8 += 1.0f; - if (var_r31->unk_F8 == 15.0f) { - Hu3DModelAttrReset(var_r30->model[0], HU3D_MOTATTR_PAUSE); - } - if ((15.0f < var_r31->unk_F8) && (Hu3DMotionEndCheck(var_r30->model[0]) != 0)) { - var_r31->unk_FC &= ~0x40; - fn_1_4ED8(&var_r31->unk_00, 0); - } - return 0; - } - if (var_r31->unk_FC & 0x400) { - var_r31->unk_F8 += 1.0f; - if (var_r31->unk_F8 == 15.0f) { - Hu3DModelAttrReset(var_r30->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - } - if ((15.0f < var_r31->unk_F8) && (Hu3DMotionEndCheck(var_r30->model[0]) != 0)) { - var_r31->unk_FC &= ~0x400; - fn_1_4ED8(&var_r31->unk_00, 0); - } - return 0; - } - if (var_r31->unk_FC & 0x4000) { - var_r31->unk_F8 += 1.0f; - if (120.0f < var_r31->unk_F8) { - var_r31->unk_FC &= ~0x4000; - fn_1_4ED8(&var_r31->unk_00, 0); - } - return 0; - } - if (var_r31->unk_FC & 0x40000) { - var_r31->unk_F8 += 1.0f; - if (120.0f < var_r31->unk_F8) { - var_r31->unk_FC &= ~0x40000; - fn_1_4ED8(&var_r31->unk_00, 0); - Hu3DModelAttrSet(lbl_1_bss_1A0->model[var_r31->unk_110 + 2], HU3D_ATTR_DISPOFF); - } - return 0; - } - if (var_r31->unk_FC & 0x400000) { - if ((Hu3DMotionShiftIDGet(var_r30->model[0]) < 0) && (Hu3DMotionEndCheck(var_r30->model[0]) != 0)) { - if (var_r31->unk_F8 == 0.0f) { - var_r31->unk_F8 = 1.0f; - Hu3DMotionShiftSet(var_r30->model[0], var_r30->motion[var_r31->unk_114 + 1], 0.0f, 8.0f, 0); - } - else { - var_r31->unk_FC &= ~0x400000; - fn_1_4ED8(&var_r31->unk_00, 0); - } - } - return 0; - } - if ((var_r31->unk_100 & 1) == 0) { - Hu3DModelAttrSet(var_r30->model[0], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrReset(var_r30->model[0], HU3D_ATTR_DISPOFF); - } - if (--var_r31->unk_100 < 0) { - var_r31->unk_FC &= ~0x70; - var_r31->unk_FC &= ~0x700; - var_r31->unk_FC &= ~0x7000; - var_r31->unk_FC &= ~0x70000; - var_r31->unk_FC &= ~0x700004; - var_r31->unk_FC &= ~0x2; - Hu3DModelAttrReset(var_r30->model[0], HU3D_ATTR_DISPOFF); - } - return 1; - } - if (var_r31->unk_FC & 0x110) { - fn_1_40C0(&var_r31->unk_00); - return 0; - } - if ((var_r31->unk_FC & 0x1000) != 0) { - if ((Hu3DMotionShiftIDGet(var_r30->model[0]) < 0) && (Hu3DMotionEndCheck(var_r30->model[0]) != 0)) { - var_r31->unk_00.unk_9C += (10.0 + (8.0 * sind((180.0f * (var_r31->unk_F8 / 60.0f))))); - if (360.0f <= var_r31->unk_00.unk_9C) { - var_r31->unk_00.unk_9C -= 360.0f; - } - var_r31->unk_F8 += 1.0f; - if (60.0f < var_r31->unk_F8) { - fn_1_19CE0(var_r30); - } - } - return 0; - } - if (var_r31->unk_FC & 0x10000) { - fn_1_19CE0(var_r30); - return 0; - } - if (var_r31->unk_FC & 0x100000) { - var_r31->unk_00.unk_20 = 72.0f * var_r31->unk_DC.x; - var_r31->unk_00.unk_24 = -(72.0f * var_r31->unk_DC.z); - fn_1_40C0(&var_r31->unk_00); - return 0; - } - if ((var_r31->unk_FC & 0x20) != 0) { - if (lbl_1_bss_118 < 4) { - omVibrate(lbl_1_bss_120, 0xC, 4, 2); - } - else { - omVibrate(lbl_1_bss_120, 0xC, 0xC, 0); - } - HuAudCharVoicePlay(var_r31->unk_11C, 0x123); - var_r31->unk_FC |= 0x10; - var_r31->unk_00.unk_3C |= 0x210; - fn_1_2BD0(&var_r31->unk_00, VERSION_NTSC ? 48.179995f : 57.816f, 0.0f); - Hu3DMotionShiftSet(var_r30->model[0], var_r30->motion[8], 0.0f, 8.0f, 0); - if (fn_1_125C0(0, 1) <= 0) { - var_r31->unk_FC |= 0x80000; - } - return 0; - } - if (var_r31->unk_FC & 0x200) { - omVibrate(lbl_1_bss_120, 0xC, 4, 2); - HuAudCharVoicePlay(var_r31->unk_11C, 0x123); - var_r31->unk_FC |= 0x100; - var_r31->unk_00.unk_3C |= 0x210; - fn_1_2BD0(&var_r31->unk_00, 0.0f, 0.0f); - if (fn_1_125C0(0, 1) <= 0) { - var_r31->unk_FC |= 0x80000; - } - return 0; - } - if (var_r31->unk_FC & 0x2000) { - omVibrate(lbl_1_bss_120, 0xC, 4, 2); - HuAudCharVoicePlay(var_r31->unk_11C, 0x123); - var_r31->unk_F8 = 0.0f; - var_r31->unk_FC |= 0x1000; - var_r31->unk_00.unk_3C |= 0x10; - Hu3DMotionShiftSet(var_r30->model[0], var_r30->motion[15], 0.0f, 8.0f, 0); - if (fn_1_125C0(0, 1) <= 0) { - var_r31->unk_FC |= 0x80000; - } - return 0; - } - if (var_r31->unk_FC & 0x20000) { - omVibrate(lbl_1_bss_120, 0xC, 4, 2); - HuAudCharVoicePlay(var_r31->unk_11C, 0x123); - var_r31->unk_F8 = 0.0f; - var_r31->unk_FC |= 0x10000; - var_r31->unk_00.unk_3C |= 0x10; - if (fn_1_125C0(0, 1) <= 0) { - var_r31->unk_FC |= 0x80000; - } - return 0; - } - if ((var_r31->unk_FC & 0x200000) != 0) { - omVibrate(lbl_1_bss_120, 0xC, 0xC, 0); - HuAudCharVoicePlay(var_r31->unk_11C, 0x123); - var_r31->unk_F8 = 0.0f; - var_r31->unk_FC |= 0x100000; - var_r31->unk_00.unk_3C |= 0x200; - var_r31->unk_00.unk_3C &= ~0x10; - var_f31 = VERSION_NTSC ? 40.15f : 48.180005f; - if (var_r31->unk_FC & 4) { - var_f31 = var_f31 / 2; - } - fn_1_1C77C(var_r31); - fn_1_2BD0(&var_r31->unk_00, var_f31, 0.0f); - Hu3DMotionShiftSet(var_r30->model[0], var_r30->motion[var_r31->unk_114], 0.0f, 8.0f, 0); - sp3C = 1; - if ((var_r31->unk_FC & 4) != 0) { - sp3C = 1; - } - if (fn_1_125C0(0, sp3C) <= 0) { - var_r31->unk_FC |= 0x80000; - } - return 0; - } - return 1; -} - -void fn_1_1E150(omObjData *var_r29) -{ - s32 sp70; - float var_f20; - - UnkM450Struct5 *var_r31 = var_r29->data; - UnkData1380Struct *var_r30; - - var_r31->unk_FC |= 1; - var_r31->unk_FC &= 0xFFFFF7FF; - fn_1_1C060(var_r31); - sp70 = 1; - var_r31->unk_00.unk_20 = 0; - var_r31->unk_00.unk_24 = 0; - var_r31->unk_00.unk_28 = 0; - var_r31->unk_00.unk_2C = 0; - var_r31->unk_00.unk_30 = 0; - var_r31->unk_00.unk_34 = 0; - if (lbl_1_bss_118 == 5) { - fn_1_19798(); - } - sp70 = fn_1_1C898(var_r31, var_r29); - if (sp70 != 0) { - if (((var_r31->unk_FC & 0x80000) || (lbl_1_bss_304 < 0)) && (var_r31->unk_00.unk_38 == 0)) { - var_r31->unk_118 = 0x7EB; - Hu3DModelAttrReset(*var_r29->model, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DMotionShiftSet(*var_r29->model, var_r29->motion[22], 0.0f, 8.0f, 0); - Hu3DModelAttrReset(*var_r29->model, HU3D_ATTR_DISPOFF); - var_r29->func = fn_1_20170; - return; - } - if (NULL != lbl_1_data_FAC[lbl_1_bss_118]) { - if (fn_1_1B0C4(lbl_1_data_FAC[lbl_1_bss_118], var_r31) != 0) { - if (fn_1_1C2D4(var_r31) != 0) { - fn_1_1C434(var_r31, var_r29); - return; - } - } - } - var_r31->unk_00.unk_20 = HuPadStkX[var_r31->unk_120]; - var_r31->unk_00.unk_24 = HuPadStkY[var_r31->unk_120]; - var_r31->unk_00.unk_28 = HuPadBtnDown[var_r31->unk_120]; - var_r31->unk_00.unk_2C = HuPadBtn[var_r31->unk_120]; - var_r31->unk_00.unk_30 = HuPadTrigL[var_r31->unk_120]; - var_r31->unk_00.unk_34 = HuPadTrigR[var_r31->unk_120]; - if ((lbl_1_bss_118 >= 2) && (lbl_1_bss_118 <= 4)) { - var_r31->unk_00.unk_20 = HuPadStkY[var_r31->unk_120]; - var_r31->unk_00.unk_24 = -HuPadStkX[var_r31->unk_120]; - } - fn_1_40C0(&var_r31->unk_00); - } - if ((1490.0f > var_r31->unk_00.unk_6C.y) && (var_r31->unk_00.unk_38 != 1) && (var_r31->unk_00.unk_38 != 3)) { - omVibrate(lbl_1_bss_120, 0xC, 4, 2); - HuAudCharVoicePlay(var_r31->unk_11C, 0x123); - var_r31->unk_FC |= 0x800000; - var_r31->unk_118 = 0x7EB; - fn_1_2BD0(&var_r31->unk_00, VERSION_NTSC ? 53.533333f : 64.240005f, 0.0f); - Hu3DMotionSet(var_r29->model[0], var_r29->motion[8]); - Hu3DModelAttrReset(var_r29->model[0], HU3D_ATTR_DISPOFF); - fn_1_125C0(0, 0); - var_r29->func = fn_1_20170; - return; - } - fn_1_19450(var_r31); - - var_r30 = NULL; - if (lbl_1_bss_118 == 2) { - var_r30 = &lbl_1_data_1380; - } - if (lbl_1_bss_118 == 4) { - var_r30 = &lbl_1_data_13B8; - } - fn_1_1B158(var_r31, var_r30); - fn_1_1B2AC(var_r31, var_r30); - if (NULL != var_r30) { - if ((var_r31->unk_104 >= 0) && (((var_r30->unk_34[var_r31->unk_104].x) != 0.0f) || (var_r30->unk_34[var_r31->unk_104].z != 0.0f))) { - VECAdd(&var_r30->unk_34[var_r31->unk_104], &var_r31->unk_00.unk_6C, &var_r31->unk_00.unk_6C); - var_r31->unk_00.unk_78 = var_r31->unk_00.unk_6C; - } - if (var_r30->unk_1C != 0) { - if (fn_1_1C2D4(var_r31) != 0) { - fn_1_1C434(var_r31, var_r29); - return; - } - } - } - if ((lbl_1_bss_118 == 5) && (lbl_1_data_A0C[1].unk_14 <= 0)) { - if (fn_1_1C2D4(var_r31) != 0) { - lbl_1_bss_11C = lbl_1_bss_120; - fn_1_1C434(var_r31, var_r29); - fn_1_1F58(0x3E8); - return; - } - } - fn_1_1B644(var_r31); - fn_1_1B830(var_r31); - if (lbl_1_bss_118 < 5) { - var_f20 = 0.0; - if ((lbl_1_bss_118 >= 2) && (lbl_1_bss_118 <= 4)) { - var_f20 = 270.0f; - } - fn_1_1A21C(var_f20, 1500.0f); - fn_1_1710(0.5f, &lbl_1_data_470); - } - omSetTra(var_r31->unk_00.unk_00, var_r31->unk_00.unk_6C.x, var_r31->unk_00.unk_6C.y, var_r31->unk_00.unk_6C.z); - omSetRot(var_r31->unk_00.unk_00, 0.0f, var_r31->unk_00.unk_9C, 0.0f); - fn_1_1C6E4(); -} - -void fn_1_200BC(UnkM450Struct5 *arg0, omObjData *object) -{ - s32 var_r31; - - arg0->unk_118++; - arg0->unk_FC &= ~0x802; - arg0->unk_FC &= ~0x70; - arg0->unk_FC &= ~0x700; - arg0->unk_FC &= ~0x7000; - arg0->unk_FC &= ~0x70000; - arg0->unk_FC &= ~0x700004; - fn_1_1B4C8(arg0); - object->func = fn_1_1E150; -} - -void fn_1_20170(omObjData *var_r30) -{ - Vec sp1CC; - float sp1C8; - float sp1C4; - float var_f31; - float var_f30; - - UnkM450Struct5 *var_r31; - UnkM450Struct5 *var_r29; - UnkData94CStruct *var_r28; - s32 var_r25; - - var_r31 = var_r30->data; - var_r31->unk_FC &= 0xFFFFFFFE; - var_r31->unk_00.unk_20 = 0; - var_r31->unk_00.unk_24 = 0; - var_r31->unk_00.unk_28 = 0; - var_r31->unk_00.unk_2C = 0; - var_r31->unk_00.unk_30 = 0; - var_r31->unk_00.unk_34 = 0; - CharModelEffectEnableSet(var_r31->unk_11C, 1); - lbl_1_bss_10C = 0; - switch (var_r31->unk_118) { - case 0x7D0: - if (lbl_1_bss_1A4->work[0] > 0x3EC) { - var_r31->unk_118++; - Hu3DModelShadowSet(var_r30->model[0]); - if (fn_1_13B90(0) != 0) { - var_r31->unk_00.unk_9C = 180.0f; - fn_1_4ED8(&var_r31->unk_00, 0); - } - else { - var_r31->unk_00.unk_9C = 0.0f; - fn_1_4ED8(&var_r31->unk_00, 5); - } - var_r31->unk_00.unk_3C |= 0x20; - } - break; - case 0x7D1: - fn_1_40C0(&var_r31->unk_00); - if (var_r31->unk_00.unk_38 == 2) { - var_r31->unk_118++; - var_r31->unk_F0 = 0; - var_r31->unk_F4 = -1; - var_r31->unk_C4 = lbl_1_data_94C; - var_r31->unk_EC = 360.0f; - omVibrate(lbl_1_bss_120, 0xC, 0xC, 0); - if (fn_1_13B90(0) != 0) { - var_r31->unk_118 = 0x7D4; - var_r31->unk_E8 = 0.0f; - fn_1_4ED8(&var_r31->unk_00, 0); - } - var_r31->unk_00.unk_3C &= ~0x20; - } - break; - case 0x7D2: - case 0x7DA: - if (var_r31->unk_EC != 360.0f) { - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, var_r31->unk_EC, 0.05f); - } - if (var_r31->unk_F4 < 0) { - var_r31->unk_F4 = var_r31->unk_F0; - var_r31->unk_F0++; - var_r28 = &var_r31->unk_C4[var_r31->unk_F4]; - if (var_r28->unk_08 == 0.0f) { - Hu3DMotionSet(var_r30->model[0], var_r30->motion[var_r28->unk_00]); - Hu3DMotionTimeSet(var_r30->model[0], var_r28->unk_0C); - } - else { - Hu3DMotionShiftSet( - var_r30->model[0], var_r30->motion[var_r28->unk_00], var_r28->unk_0C, var_r28->unk_08, var_r28->unk_10 & 0xBFFFFFFD); - } - Hu3DMotionSpeedSet(var_r30->model[0], var_r28->unk_04); - Hu3DMotionShiftSpeedSet(var_r30->model[0], var_r28->unk_04); - if (var_r28->unk_10 & 0x40000003) { - var_r31->unk_118++; - Hu3DMotionSpeedSet(var_r30->model[0], 1.0f); - Hu3DMotionShiftSpeedSet(var_r30->model[0], 1.0f); - } - } - else if ((Hu3DMotionShiftIDGet(var_r30->model[0]) < 0) && (Hu3DMotionEndCheck(var_r30->model[0]) != 0)) { - var_r31->unk_F4 = -1; - if (var_r31->unk_C4[var_r31->unk_F0].unk_00 < 0) { - var_r31->unk_118++; - Hu3DMotionSpeedSet(var_r30->model[0], 1.0f); - Hu3DMotionShiftSpeedSet(var_r30->model[0], 1.0f); - } - } - break; - case 0x7D3: - if (Hu3DMotionShiftIDGet(var_r30->model[0]) < 0) { - sp1C4 = Hu3DMotionTimeGet(var_r30->model[0]) / Hu3DMotionMaxTimeGet(var_r30->model[0]); - if (0.5f > sp1C4) { - sp1C4 = 0.5f; - } - var_r31->unk_00.unk_9C = 180.0f * (2.0f * (sp1C4 - 0.5f)); - if (Hu3DMotionEndCheck(var_r30->model[0]) != 0) { - var_r31->unk_118++; - var_r31->unk_E8 = 0.0f; - fn_1_4ED8(&var_r31->unk_00, 0); - Hu3DMotionShiftSet(var_r30->model[0], var_r30->motion[0], 0.0f, 8.0f, 0x40000001); - } - } - break; - case 0x7D4: - if ((lbl_1_bss_1A4->work[0] >= 0x3EF) && (120.0f < lbl_1_bss_128)) { - var_r31->unk_118++; - } - break; - case 0x7D5: - if (90.0f > var_r31->unk_E8) { - fn_1_1A940(var_r31, lbl_1_bss_4C, 0x7A); - } - else { - if (lbl_1_bss_1A4->work[0] < 0x3F0) { - lbl_1_bss_1A4->work[0] = 0x3F0; - lbl_1_bss_128 = 0.0f; - lbl_1_bss_324 = lbl_1_data_4B8; - lbl_1_bss_30C = lbl_1_data_4C4; - } - if ((lbl_1_bss_4C->z - 100.0f) < var_r31->unk_00.unk_6C.z) { - var_r31->unk_00.unk_24 = 0x48; - fn_1_40C0(&var_r31->unk_00); - } - else { - var_r31->unk_118++; - fn_1_4ED8(&var_r31->unk_00, 0); - } - } - break; - case 0x7D6: - if (lbl_1_bss_1A4->work[0] >= 0x3F3) { - fn_1_200BC(var_r31, var_r30); - } - break; - case 0x7D8: - var_r31->unk_D0.x = 1200.0f; - var_r31->unk_D0.z = 0.0f; - if (fn_1_19A10(&var_r31->unk_00, &var_r31->unk_D0) != 0) { - if (lbl_1_bss_1A4->work[0] >= 0x3F5) { - var_r31->unk_118++; - var_r31->unk_E8 = 0.0f; - var_r31->unk_00.unk_6C.z = 0.0f; - } - else { - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, 90.0f, 0.4f); - var_r31->unk_00.unk_6C.z = 0.0f; - } - } - fn_1_40C0(&var_r31->unk_00); - break; - case 0x7D9: - if (90.0f > var_r31->unk_E8) { - fn_1_1A940(var_r31, &lbl_1_bss_4C[1], 0x78); - } - else { - if ((-1000.0f < var_r31->unk_00.unk_6C.x) && (lbl_1_bss_1A4->work[0] < 0x3F6)) { - lbl_1_bss_1A4->work[0] = 0x3F6; - lbl_1_bss_128 = 0.0f; - } - if (lbl_1_bss_1A4->work[0] >= 0x3F7) { - var_r31->unk_118 = 0x7DB; - fn_1_4ED8(&var_r31->unk_00, 0); - } - if (lbl_1_data_1380.unk_24[2] >= 0) { - var_r31->unk_D0 = lbl_1_data_1380.unk_30[2]; - } - else { - var_r31->unk_D0 = lbl_1_data_1380.unk_30[3]; - } - var_r31->unk_D0.z *= 0.5f; - fn_1_19A10(&var_r31->unk_00, &var_r31->unk_D0); - fn_1_40C0(&var_r31->unk_00); - } - break; - case 0x7DB: - if ((lbl_1_bss_1A4->work[0] <= 0x3F9) && (Hu3DMotionShiftIDGet(var_r30->model[0]) < 0) && (lbl_1_bss_D8 > 0)) { - VECScale(&lbl_1_bss_CC, &lbl_1_bss_CC, 1.0f / lbl_1_bss_D8); - fn_1_160AC(var_r31, var_r30, &lbl_1_bss_CC); - } - if (lbl_1_bss_1A4->work[0] >= 0x3FA) { - fn_1_160AC(var_r31, var_r30, NULL); - } - if (lbl_1_bss_1A4->work[0] >= 0x3FB) { - fn_1_16280(var_r31, var_r30); - fn_1_200BC(var_r31, var_r30); - } - break; - case 0x7DD: - var_r31->unk_D0.x = 300.0f; - var_r31->unk_D0.z = 0.0f; - if (lbl_1_bss_1A4->work[0] >= 0x3FD) { - if (fn_1_19A10(&var_r31->unk_00, &var_r31->unk_D0) != 0) { - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, 90.0f, 0.4f); - if (lbl_1_bss_1A4->work[0] <= 0x3FD) { - lbl_1_bss_1A4->work[0] += 1; - lbl_1_bss_128 = 0.0f; - } - if (lbl_1_bss_1A4->work[0] >= 0x402) { - var_r31->unk_118++; - var_r31->unk_E8 = 0.0f; - } - } - fn_1_40C0(&var_r31->unk_00); - } - break; - case 0x7DE: - if (90.0f > var_r31->unk_E8) { - fn_1_1A940(var_r31, &lbl_1_bss_4C[2], 0x78); - } - else if ((100.0f + lbl_1_bss_4C[2].x) > var_r31->unk_00.unk_6C.x) { - var_r31->unk_00.unk_20 = 0x48; - fn_1_40C0(&var_r31->unk_00); - } - else { - var_r31->unk_118++; - fn_1_4ED8(&var_r31->unk_00, 0); - lbl_1_bss_1A4->work[0] = 0x403; - lbl_1_bss_128 = 0.0f; - } - break; - case 0x7DF: - if (lbl_1_bss_1A4->work[0] >= 0x405) { - fn_1_200BC(var_r31, var_r30); - } - break; - case 0x7E1: - var_r31->unk_D0.x = 1200.0f; - var_r31->unk_D0.z = 0.0f; - if (fn_1_19A10(&var_r31->unk_00, &var_r31->unk_D0) != 0) { - if (lbl_1_bss_1A4->work[0] >= 0x407) { - var_r31->unk_118++; - var_r31->unk_E8 = 0.0f; - var_r31->unk_00.unk_6C.z = 0.0f; - } - else { - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, 90.0f, 0.4f); - var_r31->unk_00.unk_6C.z = 0.0f; - } - } - fn_1_40C0(&var_r31->unk_00); - break; - case 0x7E2: - if (90.0f > var_r31->unk_E8) { - fn_1_1A940(var_r31, &lbl_1_bss_4C[3], 0x78); - } - else { - if ((-1000.0f < var_r31->unk_00.unk_6C.x) && (lbl_1_bss_1A4->work[0] < 0x408)) { - lbl_1_bss_1A4->work[0] = 0x408; - lbl_1_bss_128 = 0.0f; - } - if (lbl_1_bss_1A4->work[0] >= 0x409) { - var_r31->unk_118++; - } - var_r31->unk_D0 = lbl_1_data_13B8.unk_30[7]; - - fn_1_19A10(&var_r31->unk_00, &var_r31->unk_D0); - fn_1_40C0(&var_r31->unk_00); - } - break; - case 0x7E3: - if (lbl_1_bss_1A4->work[0] >= 0x40D) { - fn_1_200BC(var_r31, var_r30); - } - break; - case 0x7E5: - var_r31->unk_D0.x = 0.0f; - var_r31->unk_D0.z = -400.0f; - if (lbl_1_bss_1A4->work[0] >= 0x410) { - if (fn_1_19A10(&var_r31->unk_00, &var_r31->unk_D0) != 0) { - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, 180.0f, 0.4f); - if ((lbl_1_bss_1A4->work[0] <= 0x410) && (120.0f <= lbl_1_bss_128)) { - lbl_1_bss_1A4->work[0] += 1; - lbl_1_bss_128 = 0.0f; - var_r31->unk_118++; - var_r31->unk_E8 = 0.0f; - - fn_1_139B0(&lbl_1_data_13B8, 0x10); - fn_1_1F58(0x3E8); - } - } - fn_1_40C0(&var_r31->unk_00); - } - break; - case 0x7E6: - if (90.0f > var_r31->unk_E8) { - fn_1_1A940(var_r31, &lbl_1_bss_4C[4], 0x7A); - } - else { - if (lbl_1_bss_1A4->work[0] <= 0x411) { - lbl_1_bss_1A4->work[0] = 0x412; - lbl_1_bss_128 = 0.0f; - fn_1_1350(&lbl_1_bss_324, &lbl_1_data_470, &lbl_1_bss_30C); - lbl_1_bss_324 = lbl_1_data_4D0; - lbl_1_bss_30C = lbl_1_data_4DC; - } - var_r31->unk_D0.x = 0.0f; - var_r31->unk_D0.z = 600.0f; - if (fn_1_19A10(&var_r31->unk_00, &var_r31->unk_D0) != 0) { - ++var_r31->unk_118; - fn_1_4ED8(&var_r31->unk_00, 0); - } - else { - fn_1_40C0(&var_r31->unk_00); - } - } - break; - case 0x7E7: - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, 180.0f, 0.4f); - if (lbl_1_bss_1A4->work[0] >= 0x415) { - fn_1_200BC(var_r31, var_r30); - } - break; - case 0x7E9: - if (lbl_1_bss_1A4->work[0] >= 0x417) { - if ((VERSION_NTSC ? 100.0f : 80.0f) < lbl_1_bss_128) { - var_r31->unk_118++; - GWPlayerCoinWinSet(lbl_1_bss_120, 10); - Hu3DMotionShiftSet(var_r30->model[0], var_r30->motion[21], 0.0f, 8.0f, 0); - lbl_1_bss_18 = HuAudSStreamPlay(0xD); - } - } - if ((lbl_1_bss_1A4->work[0] == 0x416) && (240.0f < lbl_1_bss_128)) { - lbl_1_bss_1A4->work[0] += 1; - lbl_1_bss_128 = 0.0f; - } - break; - case 0x7EA: - VECSubtract(&((UnkM450Struct3 *)lbl_1_bss_134->data)->unk_00.unk_6C, &var_r31->unk_00.unk_6C, &sp1CC); - var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, 180.0 + (atan2d(sp1CC.x, sp1CC.z)), 0.4f); - break; - case 0x7EB: - if (var_r31->unk_FC & 0x800000) { - var_r29 = var_r31; - var_r29->unk_00.unk_84.y += -146.0f / REFRESH_RATE; - var_r29->unk_00.unk_6C.y += var_r29->unk_00.unk_84.y; - var_r29->unk_00.unk_A8 = MapPos( - var_r29->unk_00.unk_6C.x, var_r29->unk_00.unk_6C.y, var_r29->unk_00.unk_6C.z, var_r29->unk_00.unk_C0, &var_r29->unk_00.unk_AC); - if (var_r29->unk_00.unk_A8 > var_r29->unk_00.unk_6C.y) { - fn_1_2BD0(&var_r31->unk_00, VERSION_NTSC ? 53.533333f : 64.240005f, 0.0f); - } - var_f31 = var_r29->unk_00.unk_6C.x; - var_f30 = var_r29->unk_00.unk_6C.z; - sp1C8 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (sp1C8 == 0.0f) { - var_f31 = 0.0f; - var_f30 = -1.0f; - } - else { - var_f31 /= sp1C8; - var_f30 /= sp1C8; - } - var_r29->unk_00.unk_84.x = 72.0f * var_f31 / 4; - var_r29->unk_00.unk_84.z = 72.0f * var_f30 / 4; - var_r29->unk_00.unk_6C.x += var_r29->unk_00.unk_84.x; - var_r29->unk_00.unk_6C.z += var_r29->unk_00.unk_84.z; - var_r29->unk_00.unk_9C = fn_1_1E20(var_r29->unk_00.unk_9C, atan2d(var_r29->unk_00.unk_84.x, var_r29->unk_00.unk_84.z), 0.4f); - } - break; - default: - OSReport("*** player mode error(%d)!!\n", var_r31->unk_118); - break; - } - if ((var_r31->unk_118 >= 0x7E9) && (var_r31->unk_118 <= 0x7EA)) { - fn_1_1C060(var_r31); - } - if (1495.0f > var_r31->unk_00.unk_6C.y) { - for (var_r25 = 0; var_r25 < 1; var_r25++) { - Hu3DModelShadowDispOff(var_r30->model[var_r25]); - } - } - else { - for (var_r25 = 0; var_r25 < 1; var_r25++) { - Hu3DModelShadowDispOn(var_r30->model[var_r25]); - } - } - omSetTra(var_r31->unk_00.unk_00, var_r31->unk_00.unk_6C.x, var_r31->unk_00.unk_6C.y, var_r31->unk_00.unk_6C.z); - omSetRot(var_r31->unk_00.unk_00, 0.0f, var_r31->unk_00.unk_9C, 0.0f); -} - -void fn_1_23330(omObjData *object) -{ - Vec sp8; - UnkM450Struct5 *var_r31; - s32 var_r29; - s32 var_r27; - s32 var_r26; - - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM450Struct5), MEMORY_DEFAULT_NUM); - var_r31 = object->data; - var_r31->unk_FC = 0; - var_r31->unk_11C = GWPlayerCfg[lbl_1_bss_120].character; - var_r31->unk_120 = GWPlayerCfg[lbl_1_bss_120].pad_idx; - var_r31->unk_118 = 0x7D0; - var_r31->unk_C8 = 0.0f; - var_r31->unk_CC = 0.0f; - sp8.x = 0.0f; - sp8.y = 4000.0f; - sp8.z = 0.0f; - var_r26 = var_r31->unk_11C; - var_r27 = lbl_1_bss_120; - fn_1_2C1C(&var_r31->unk_00, object, var_r27, var_r26, lbl_1_data_92C, 0, &sp8, 0.0f); - var_r31->unk_00.unk_04 = fn_1_19C18; - var_r31->unk_00.unk_0C = fn_1_19CE0; - var_r31->unk_00.unk_10 = fn_1_1A014; - object->model[0] = CharModelCreate(lbl_1_data_0[var_r31->unk_11C], 2); - CharModelStepTypeSet(lbl_1_data_0[var_r31->unk_11C], 0); - for (var_r29 = 0; var_r29 < 0x17; var_r29++) { - object->motion[var_r29] = CharModelMotionCreate(lbl_1_data_0[var_r31->unk_11C], lbl_1_data_64C[var_r31->unk_11C][var_r29]); - CharModelMotionSet(lbl_1_data_0[var_r31->unk_11C], object->motion[var_r29]); - } - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(object->model[0], 2); - Hu3DMotionSet(object->model[0], *object->motion); - omSetTra(var_r31->unk_00.unk_00, var_r31->unk_00.unk_6C.x, var_r31->unk_00.unk_6C.y, var_r31->unk_00.unk_6C.z); - omSetRot(var_r31->unk_00.unk_00, 0.0f, var_r31->unk_00.unk_9C, 0.0f); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - CharModelLayerSetAll2(6); - CharModelMotionDataClose(lbl_1_data_0[var_r31->unk_11C]); - object->func = fn_1_20170; -} - -void fn_1_23770(omObjData *object, s32 arg1) -{ - lbl_1_bss_108 = 1; - lbl_1_bss_128 += 1.0f; - if ((fn_1_13DC(lbl_1_bss_128 / 120.0f, &lbl_1_data_470) != 0) && (MGSeqStatGet(lbl_1_bss_2FE) == 0)) { - lbl_1_bss_2FE = -1; - object->work[0] += 1; - fn_1_1350(&lbl_1_bss_324, &lbl_1_data_470, &lbl_1_bss_30C); - fn_1_12540(0); - if (lbl_1_bss_118 == 5) { - fn_1_12540(1); - } - } - if ((arg1 >= 0) && (lbl_1_bss_2F8 < 0) && ((MGSeqStatGet(lbl_1_bss_2FE) & 0x10) != 0)) { - fn_1_1F24(arg1); - } -} - -void fn_1_23CA0(omObjData *arg0, float arg8, float arg9) -{ - lbl_1_bss_108 = 0; - lbl_1_bss_110 = 0; - if (lbl_1_bss_2FE < 0) { - nMap = 0; - fn_1_14C28(); - MGSeqParamSet(lbl_1_bss_2FC, 2, -1); - lbl_1_bss_128 = 0.0f; - lbl_1_bss_2FC = -1; - lbl_1_bss_2FE = MGSeqCreate(3, 1); - return; - } - lbl_1_bss_128 += 1.0f; - if (lbl_1_bss_118 < 5) { - fn_1_1A21C(arg8, 1500.0f); - } - else { - fn_1_1A3F0(); - } - fn_1_13DC(lbl_1_bss_128 / arg9, &lbl_1_data_470); - - if ((arg9 < lbl_1_bss_128) && (MGSeqStatGet(lbl_1_bss_2FE) == 0)) { - arg0->work[0] += 1; - lbl_1_bss_128 = 0.0f; - lbl_1_bss_124 = 0.0f; - lbl_1_bss_2FE = -1; - fn_1_1350(&lbl_1_bss_324, &lbl_1_data_470, &lbl_1_bss_30C); - } -} - -void fn_1_24620(omObjData *var_r31) -{ - Vec sp280; - s32 sp120; - s32 sp11C; - CameraData *sp118; - float var_f31; - UnkData1380Struct *var_r30; - - if (omSysExitReq != 0) { - fn_1_1F58(0x64); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - var_r31->func = fn_1_298EC; - } - lbl_1_bss_308++; - switch (var_r31->work[0]) { - case 0x3E8: - if (lbl_1_bss_2FE < 0) { - fn_1_1F58(0x64); - MGSeqParamSet(lbl_1_bss_2FC, 2, -1); - lbl_1_bss_2FC = -1; - lbl_1_bss_2FE = MGSeqCreate(3, 1); - lbl_1_bss_1C = -1; - } - else { - lbl_1_bss_128 += 1.0f; - sp11C = 0; - if (lbl_1_bss_1C < 0) { - if (120.0f < lbl_1_bss_128) { - lbl_1_bss_1C = HuAudSStreamPlay(3); - } - } - else if (HuAudSStreamStatGet(lbl_1_bss_1C) == 0) { - sp11C = 1; - } - if ((sp11C != 0) || (1200.0f < lbl_1_bss_128)) { - fn_1_1F58(0x64); - lbl_1_bss_2FE = -1; - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - var_r31->func = fn_1_298EC; - } - } - break; - case 0x3E9: - lbl_1_bss_128 += 1.0f; - if (60.0f < lbl_1_bss_128) { - var_r31->work[0] += 1; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - HuAudFXPlay(0x7B2); - } - break; - case 0x3EA: - if (WipeStatGet() == 0) { - var_r31->work[0] += 1; - lbl_1_bss_128 = 0.0f; - } - break; - case 0x3EB: - lbl_1_bss_128 += 1.0f; - if (120.0f < lbl_1_bss_128) { - var_r31->work[0] += 1; - lbl_1_bss_128 = 0.0f; - lbl_1_bss_324 = lbl_1_data_488; - lbl_1_bss_30C = lbl_1_data_494; - fn_1_1F24(0x41); - } - break; - case 0x3EC: - lbl_1_bss_128 += 1.0f; - if (fn_1_13DC(lbl_1_bss_128 / 120.0f, &lbl_1_data_470) != 0) { - var_r31->work[0] += 1; - lbl_1_bss_128 = 0; - fn_1_1350(&lbl_1_bss_324, &lbl_1_data_470, &lbl_1_bss_30C); - lbl_1_bss_324 = lbl_1_data_4A0; - lbl_1_bss_30C = lbl_1_data_4AC; - } - break; - case 0x3ED: - if (((UnkM450Struct5 *)lbl_1_bss_138->data)->unk_118 >= 0x7D3) { - lbl_1_bss_128 += 1.0f; - if (fn_1_13DC(lbl_1_bss_128 / 120.0f, &lbl_1_data_470) != 0) { - var_r31->work[0] += 1; - fn_1_1350(&lbl_1_bss_324, &lbl_1_data_470, &lbl_1_bss_30C); - fn_1_6CB0(fn_1_8500, 0); - } - } - break; - case 0x3EE: - case 0x3F1: - case 0x3F8: - case 0x401: - case 0x40A: - case 0x413: - if (lbl_1_bss_10 == 0) { - var_r31->work[0] += 1; - lbl_1_bss_128 = 0.0f; - } - break; - case 0x3EF: - lbl_1_bss_128 += 1.0f; - if (120.0f < lbl_1_bss_128) { - fn_1_1A060(); - fn_1_1710((lbl_1_bss_128 - 120.0f) / 240.0f, &lbl_1_data_470); - } - break; - case 0x3F0: - lbl_1_bss_128 += 1.0f; - if (fn_1_13DC(lbl_1_bss_128 / 120.0f, &lbl_1_data_470) != 0) { - var_r31->work[0] += 1; - fn_1_1350(&lbl_1_bss_324, &lbl_1_data_470, &lbl_1_bss_30C); - fn_1_6CB0(fn_1_8BDC, 1); - } - if (fn_1_13B90(1) != 0) { - fn_1_1F58(0x3E8); - } - break; - case 0x3F2: - if (lbl_1_bss_2FE < 0) { - lbl_1_bss_128 = 0.0f; - lbl_1_bss_2FE = MGSeqCreate(3, 0); - fn_1_14BC8(&lbl_1_data_A80[0], 9); - fn_1_13BC4(1); - fn_1_1A060(); - } - else { - fn_1_23770(var_r31, 0x40); - } - break; - case 0x3F3: - case 0x3FB: - case 0x405: - case 0x40D: - case 0x415: - if (lbl_1_bss_2FC >= 0) { - MGSeqParamSet(lbl_1_bss_2FC, 1, (lbl_1_bss_304 + REFRESH_RATE - 1) / REFRESH_RATE); - } - else { - sp120 = 0; - if ((lbl_1_bss_118 == 2) || (lbl_1_bss_118 == 4) || (lbl_1_bss_118 == 5)) { - if (lbl_1_bss_304 < 30 * REFRESH_RATE) { - sp120 = 1; - } - } - else { - sp120 = 1; - } - if (sp120 != 0) { - lbl_1_bss_2FC = MGSeqCreate(1, lbl_1_bss_304 / REFRESH_RATE, -1, -1); - } - } - lbl_1_bss_304--; - if (((UnkM450Struct5 *)lbl_1_bss_138->data)->unk_118 >= 0x7EB) { - var_r31->work[0] = 0x3E8; - lbl_1_bss_128 = 0.0f; - } - break; - case 0x3F4: - fn_1_23CA0(var_r31, 270.0f, 2 * REFRESH_RATE); - break; - case 0x3F5: - lbl_1_bss_128 += 1.0f; - fn_1_1A21C(270.0f, 0.0f); - fn_1_13DC(1.0f, &lbl_1_data_470); - break; - case 0x3F6: - lbl_1_bss_128 += 1.0f; - if (90.0f < lbl_1_bss_128) { - var_r31->work[0] += 1; - lbl_1_bss_128 = 0.0f; - } - fn_1_1350(&lbl_1_bss_324, &lbl_1_data_470, &lbl_1_bss_30C); - lbl_1_bss_20 = -1; - break; - case 0x3F7: - if (lbl_1_bss_20 < 0) { - lbl_1_bss_20 = HuAudFXPlay(0x7B1); - } - omVibrate(lbl_1_bss_120, 0xC, 6, 6); - lbl_1_bss_128 += 1.0f; - Hu3DModelPosSet(lbl_1_bss_1A0->model[6], 0.0f, -(2.0f * lbl_1_bss_128), 0.0f); - if (2 * REFRESH_RATE < lbl_1_bss_128) { - var_r31->work[0] += 1; - fn_1_6CB0(fn_1_9074, 2); - HuAudFXPlay(0x7BB); - } - break; - case 0x3F9: - break; - case 0x3FA: - if (lbl_1_bss_2FE < 0) { - lbl_1_bss_128 = 0.0f; - lbl_1_bss_2FE = MGSeqCreate(3, 0); - fn_1_13BC4(2); - fn_1_1A21C(270.0f, 0.0f); - } - else { - fn_1_23770(var_r31, -1); - } - break; - case 0x3FC: - var_f31 = lbl_1_bss_128 / (2 * REFRESH_RATE); - if (1.0f < var_f31) { - var_f31 = 1.0f; - } - var_r30 = &lbl_1_data_1380; - Hu3DModelAttrReset(lbl_1_bss_1A0->model[5], HU3D_ATTR_DISPOFF); - Hu3DModelRotSet(lbl_1_bss_1A0->model[5], 0.0f, 90.0f, 0.0f); - Hu3DModelPosSet(lbl_1_bss_1A0->model[5], var_r30->unk_30[3].x, var_r30->unk_30[3].y, var_r30->unk_30[3].z); - Hu3DModelTPLvlSet(lbl_1_bss_1A0->model[5], var_f31); - fn_1_23CA0(var_r31, 270.0f, 2 * REFRESH_RATE); - break; - case 0x3FD: - case 0x3FE: - case 0x3FF: - lbl_1_bss_124 += 1.0f; - fn_1_1A21C(270.0f, 0.0f); - fn_1_1710(lbl_1_bss_124 / 120.0f, &lbl_1_data_470); - lbl_1_bss_20 = -1; - break; - case 0x400: - lbl_1_bss_124 += 1.0f; - fn_1_1A21C(270.0f, 0.0f); - fn_1_1710(lbl_1_bss_124 / 120.0f, &lbl_1_data_470); - if (lbl_1_bss_20 < 0) { - lbl_1_bss_20 = HuAudFXPlay(0x7B1); - } - omVibrate(lbl_1_bss_120, 0xC, 6, 6); - lbl_1_bss_128 += 1.0f; - Hu3DModelAttrReset(lbl_1_bss_1A0->model[7], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(lbl_1_bss_1A0->model[7], 0.0f, -(60.0f - (lbl_1_bss_128 / 2)), 0.0f); - if (120.0f < lbl_1_bss_128) { - var_r31->work[0] += 1; - lbl_1_bss_128 = 0; - fn_1_6CB0(fn_1_96C0, -1); - fn_1_139B0(&lbl_1_data_1380, 5); - fn_1_1350(&lbl_1_bss_324, &lbl_1_data_470, &lbl_1_bss_30C); - HuAudFXPlay(0x7BB); - } - break; - case 0x402: - lbl_1_bss_128 += 1.0f; - fn_1_1A21C(270.0f, 0.0f); - fn_1_13DC(1.0f, &lbl_1_data_470); - break; - case 0x403: - fn_1_1350(&lbl_1_bss_324, &lbl_1_data_470, &lbl_1_bss_30C); - break; - case 0x404: - if (lbl_1_bss_2FE < 0) { - lbl_1_bss_128 = 0.0f; - lbl_1_bss_2FE = MGSeqCreate(3, 0); - fn_1_14BC8(&lbl_1_data_C58[0], 10); - fn_1_13BC4(3); - fn_1_1A21C(270.0f, 0.0f); - } - else { - fn_1_23770(var_r31, -1); - } - break; - case 0x406: - fn_1_23CA0(var_r31, 270.0f, 2 * REFRESH_RATE); - break; - case 0x407: - lbl_1_bss_128 += 1.0f; - fn_1_1A21C(270.0f, 0.0f); - fn_1_13DC(1.0f, &lbl_1_data_470); - break; - case 0x408: - lbl_1_bss_128 += 1.0f; - if (90.0f < lbl_1_bss_128) { - var_r31->work[0] += 1; - lbl_1_bss_128 = 0.0f; - } - fn_1_1350(&lbl_1_bss_324, &lbl_1_data_470, &lbl_1_bss_30C); - lbl_1_bss_20 = -1; - break; - case 0x409: - if (lbl_1_bss_20 < 0) { - lbl_1_bss_20 = HuAudFXPlay(0x7B1); - } - omVibrate(lbl_1_bss_120, 0xC, 6, 6); - lbl_1_bss_128 += 1.0f; - Hu3DModelPosSet(lbl_1_bss_1A0->model[17], 0.0f, -(2.0f * lbl_1_bss_128), 0.0f); - if (2 * REFRESH_RATE < lbl_1_bss_128) { - var_r31->work[0] += 1; - fn_1_6CB0(fn_1_9824, 4); - HuAudFXPlay(0x7BB); - } - break; - case 0x40B: - break; - case 0x40C: - if (lbl_1_bss_2FE < 0) { - lbl_1_bss_128 = 0.0f; - lbl_1_bss_2FE = MGSeqCreate(3, 0); - fn_1_13BC4(4); - fn_1_1A21C(270.0f, 0.0f); - } - else { - fn_1_23770(var_r31, -1); - } - break; - case 0x40E: - var_f31 = lbl_1_bss_128 / (2 * REFRESH_RATE); - if (1.0f < var_f31) { - var_f31 = 1.0f; - } - var_r30 = &lbl_1_data_13B8; - Hu3DModelAttrReset(lbl_1_bss_1A0->model[16], HU3D_ATTR_DISPOFF); - Hu3DModelRotSet(lbl_1_bss_1A0->model[16], 0.0f, -90.0f, 0.0f); - Hu3DModelPosSet(lbl_1_bss_1A0->model[16], var_r30->unk_30[8].x, var_r30->unk_30[8].y, var_r30->unk_30[8].z); - Hu3DModelTPLvlSet(lbl_1_bss_1A0->model[16], var_f31); - fn_1_23CA0(var_r31, 270.0f, 2 * REFRESH_RATE); - break; - case 0x40F: - lbl_1_bss_20 = -1; - break; - case 0x410: - if (lbl_1_bss_20 < 0) { - lbl_1_bss_20 = HuAudFXPlay(0x7B1); - } - omVibrate(lbl_1_bss_120, 0xC, 6, 6); - lbl_1_bss_128 += 1.0f; - if (120.0f <= lbl_1_bss_128) { - lbl_1_bss_128 = 120.0f; - } - Hu3DModelAttrReset(lbl_1_bss_1A0->model[18], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(lbl_1_bss_1A0->model[18], 0.0f, -(60.0f - (lbl_1_bss_128 / 2)), 0.0f); - fn_1_1A21C(0.0f, 0.0f); - fn_1_1710(lbl_1_bss_128 / 120.0f, &lbl_1_data_470); - break; - case 0x411: - if (lbl_1_bss_20 >= 0) { - lbl_1_bss_20 = -1; - HuAudFXPlay(0x7BB); - } - lbl_1_bss_128 += 1.0f; - fn_1_1A060(); - fn_1_13DC(1.0f, &lbl_1_data_470); - break; - case 0x412: - lbl_1_bss_128 += 1.0f; - if (fn_1_13DC(lbl_1_bss_128 / 120.0f, &lbl_1_data_470) != 0) { - var_r31->work[0] += 1; - fn_1_1350(&lbl_1_bss_324, &lbl_1_data_470, &lbl_1_bss_30C); - fn_1_6CB0(fn_1_9BA4, 5); - Hu3DModelAttrSet(lbl_1_bss_1A0->model[19], HU3D_ATTR_DISPOFF); - } - break; - case 0x414: - if (lbl_1_bss_2FE < 0) { - lbl_1_bss_128 = 0.0f; - lbl_1_bss_2FE = MGSeqCreate(3, 0); - fn_1_13BC4(5); - fn_1_1A21C(0.0f, 2000.0f); - fn_1_1F24(0x42); - } - else { - fn_1_23770(var_r31, -1); - } - break; - case 0x416: - lbl_1_bss_128 += 1.0f; - break; - case 0x417: - fn_1_23CA0(var_r31, 0.0f, 2 * REFRESH_RATE); - break; - case 0x418: - lbl_1_bss_128 += 1.0f; - sp11C = 0; - if (HuAudSStreamStatGet(lbl_1_bss_18) == 0) { - sp11C = 1; - } - if ((sp11C != 0) || (1200.0f < lbl_1_bss_128)) { - fn_1_1F58(0x64); - lbl_1_bss_2FE = -1; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - var_r31->func = fn_1_298EC; - } - break; - default: - OSReport("*** main mode error(%d)!!\n", var_r31->work[0]); - break; - } - - sp118 = Hu3DCamera; - VECSubtract(&sp118->target, &sp118->pos, &sp280); - VECNormalize(&sp280, &sp280); - HuAudFXListnerUpdate(&sp118->pos, &sp280); - lbl_1_bss_D8 = 0; - lbl_1_bss_CC.x = 0.0f; - lbl_1_bss_CC.y = 0.0f; - lbl_1_bss_CC.z = 0.0f; -} - -void ObjectSetup(void) -{ - Vec sp14; - Vec sp8; - s32 var_r31; - s32 var_r29; - omObjData *var_r28; - s32 var_r27; - - OSReport("******* M450 ObjectSetup *********\n"); - lbl_1_bss_33C = omInitObjMan(0x3E8, 0x2000); - omGameSysInit(lbl_1_bss_33C); - nMap = 0; - nChar = 0; - lbl_1_bss_120 = 0; - lbl_1_bss_11C = -1; - lbl_1_bss_118 = 0; - lbl_1_bss_110 = 0; - lbl_1_bss_10C = 0; - lbl_1_bss_108 = 0; - lbl_1_bss_308 = 0; - lbl_1_bss_2FE = -1; - lbl_1_bss_2FC = -1; - lbl_1_bss_2F8 = -1; - lbl_1_bss_1C = -1; - lbl_1_bss_18 = -1; - lbl_1_bss_D8 = 0; - lbl_1_bss_F8 = -1; - lbl_1_bss_FC = NULL; - lbl_1_bss_C4 = -1; - fn_1_1C6E4(); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraPerspectiveSet(1, 30.0f, 20.0f, 30000.0f, 1.2f); - fn_1_1350(&lbl_1_data_464, &lbl_1_data_470, &lbl_1_data_47C); - VECSubtract(&lbl_1_data_47C, &lbl_1_data_464, &sp8); - VECNormalize(&sp8, &sp8); - HuAudFXListnerSetEX(&lbl_1_data_464, &sp8, 5800.0, 1000.0, 100.0, 300.0, 300.0); - var_r27 = Hu3DGLightCreateV(&lbl_1_data_4E8, &lbl_1_data_4F4, &lbl_1_data_500); - Hu3DGLightStaticSet(var_r27, 1); - Hu3DGLightInfinitytSet(var_r27); - Hu3DShadowCreate(30.0f, 20.0f, 30000.0f); - Hu3DShadowTPLvlSet(0.5f); - VECNormalize(&lbl_1_data_504, &sp14); - Hu3DShadowPosSet(&lbl_1_data_504, &sp14, &lbl_1_data_510); - fn_1_6C68(lbl_1_bss_120); - lbl_1_bss_14 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M450, 0x63), 0x10000000)); - HuSprAnimLock(lbl_1_bss_14); - fn_1_12234(); - for (var_r29 = 0; var_r29 < 0x20; var_r29++) { - lbl_1_bss_1B0[var_r29].unk00 = 0; - lbl_1_bss_1B0[var_r29].unk04 = -1; - } - lbl_1_bss_1A0 = omAddObjEx(lbl_1_bss_33C, 0x64, 0x21, 0, -1, fn_1_15308); - for (var_r31 = 0; var_r31 < 0x17; var_r31++) { - lbl_1_bss_144[var_r31] = omAddObjEx(lbl_1_bss_33C, 0x65, 1, 0, -1, fn_1_12D7C); - lbl_1_bss_144[var_r31]->work[0] = var_r31; - } - omMakeGroupEx(lbl_1_bss_33C, 0, 1); - lbl_1_bss_140 = omGetGroupMemberListEx(lbl_1_bss_33C, 0); - for (var_r31 = 0; var_r31 < 1; var_r31++) { - var_r28 = omAddObjEx(lbl_1_bss_33C, 0x66, 1, 0, 0, fn_1_1291C); - } - omMakeGroupEx(lbl_1_bss_33C, 1, 0xA); - lbl_1_bss_13C = omGetGroupMemberListEx(lbl_1_bss_33C, 1); - for (var_r31 = 0; var_r31 < 0xA; var_r31++) { - var_r28 = omAddObjEx(lbl_1_bss_33C, 0x67, 1, 0, 1, fn_1_12B80); - } - fn_1_2C00(NULL, 1505.0f); - lbl_1_bss_138 = omAddObjEx(lbl_1_bss_33C, 0x6D, 1, 0x17, -1, fn_1_23330); - lbl_1_bss_134 = omAddObjEx(lbl_1_bss_33C, 0x68, 2, 0x13, -1, fn_1_DBF0); - omMakeGroupEx(lbl_1_bss_33C, 2, 2); - lbl_1_bss_130 = omGetGroupMemberListEx(lbl_1_bss_33C, 2); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r28 = omAddObjEx(lbl_1_bss_33C, 0x69, 5, 0xF, 2, fn_1_11D5C); - var_r28->work[0] = var_r31; - } - lbl_1_bss_358.unk04 = NULL; - lbl_1_bss_358.unk08 = NULL; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_2C[var_r31] = Hu3DModelCreateFile(lbl_1_data_F5C[var_r31]); - Hu3DModelAttrSet(lbl_1_bss_2C[var_r31], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_2C[var_r31], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - } - lbl_1_bss_28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M450, 0x6C)); - HuSprAnimLock(lbl_1_bss_28); - lbl_1_bss_24 = Hu3DParManCreate(lbl_1_bss_28, 0x14, &lbl_1_data_1504); - Hu3DParManAttrSet(lbl_1_bss_24, 1); - lbl_1_bss_1A4 = omAddObjEx(lbl_1_bss_33C, 0x6E, 0, 0, -1, fn_1_24620); - lbl_1_bss_1A4->work[0] = 0x3E9; - lbl_1_bss_128 = 0.0f; -} - -void fn_1_298EC(omObjData *object) -{ - s32 var_r31; - - if (WipeStatGet() == 0) { - if (lbl_1_bss_2FE >= 0) { - MGSeqKill(lbl_1_bss_2FE); - } - if (lbl_1_bss_2FC >= 0) { - MGSeqKill(lbl_1_bss_2FC); - } - MGSeqKillAll(); - HuAudAllStop(); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - CharModelKill(lbl_1_data_0[GWPlayerCfg[var_r31].character]); - } - omOvlReturnEx(1, 1); - } -} diff --git a/src/REL/m451Dll/m451.c b/src/REL/m451Dll/m451.c index 4f55107a..423baf5e 100644 --- a/src/REL/m451Dll/m451.c +++ b/src/REL/m451Dll/m451.c @@ -1,51 +1,53 @@ -#include "game/audio.h" #include "game/frand.h" -#include "game/hsfanim.h" +#include "game/object.h" #include "game/hsfman.h" +#include "game/wipe.h" +#include "game/sprite.h" +#include "game/audio.h" +#include "game/hsfanim.h" #include "game/hsfmotion.h" #include "game/minigame_seq.h" -#include "game/object.h" #include "game/pad.h" -#include "game/sprite.h" -#include "game/wipe.h" -#include "ext_math.h" #include "math.h" +#include "ext_math.h" -#include "game/gamework.h" #include "game/objsub.h" +#include "game/gamework.h" #include "game/gamework_data.h" +#include "rel_sqrt_consts.h" + typedef struct bss_348_data { - s16 unk0[5]; - s16 unkA; - s16 unkC[20]; - s32 unk34; - s32 unk38; - s32 unk3C; - s32 unk40; - s32 unk44; - float unk48[9]; - HsfObject *unk6C[40]; - HsfObject *unk10C[40]; - HsfObject *unk1AC[40]; - HsfTransform unk24C[40]; - u32 unk7EC[2]; - s8 unk7F4; - s8 unk7F5; - s8 unk7F6; - s8 unk7F7; - u16 unk7F8; - s16 unk7FA[5]; - s32 unk804; - s32 unk808; + s16 unk0[5]; + s16 unkA; + s16 unkC[20]; + s32 unk34; + s32 unk38; + s32 unk3C; + s32 unk40; + s32 unk44; + float unk48[9]; + HsfObject *unk6C[40]; + HsfObject *unk10C[40]; + HsfObject *unk1AC[40]; + HsfTransform unk24C[40]; + u32 unk7EC[2]; + s8 unk7F4; + s8 unk7F5; + s8 unk7F6; + s8 unk7F7; + u16 unk7F8; + s16 unk7FA[5]; + s32 unk804; + s32 unk808; } Bss348Data; typedef struct camera_view_params { - Vec rot; - Vec pos; - float zoom; + Vec rot; + Vec pos; + float zoom; } CameraViewParams; s16 lbl_1_bss_CB4; @@ -66,157 +68,177 @@ omObjData *lbl_1_bss_8; Process *lbl_1_bss_4[1]; s32 lbl_1_bss_0; -CameraViewParams lbl_1_data_0[3] - = { { { -64, 0, 0 }, { 0, 0, 0 }, 5000 }, { { -9.5, 0, 0 }, { 0, 0, -510 }, 1860 }, { { -5, 0, 0 }, { 0, 0, -2870 }, 5060 } }; -s32 lbl_1_data_54[3] = { DATA_MAKE_NUM(DATADIR_M451, 0x01), DATA_MAKE_NUM(DATADIR_M451, 0x02), DATA_MAKE_NUM(DATADIR_M451, 0x03) }; +CameraViewParams lbl_1_data_0[3] = { + { { -64, 0, 0 }, { 0, 0, 0 }, 5000 }, + { { -9.5, 0, 0 }, { 0, 0, -510 }, 1860 }, + { { -5, 0, 0 }, { 0, 0, -2870 }, 5060 } +}; -s32 lbl_1_data_60[3] = { DATA_MAKE_NUM(DATADIR_M451, 0x05), DATA_MAKE_NUM(DATADIR_M451, 0x06), DATA_MAKE_NUM(DATADIR_M451, 0x07) }; +s32 lbl_1_data_54[3] = { + 0x520001, + 0x520002, + 0x520003 +}; -char *lbl_1_data_78[3] = { "puzzle00", "puzzle00", "puzzle00" }; +s32 lbl_1_data_60[3] = { + 0x520005, + 0x520006, + 0x520007 +}; + +char *lbl_1_data_78[3] = { + "puzzle00", + "puzzle00", + "puzzle00" +}; char *lbl_1_data_464[3][40] = { - { - "puzzle2001", - "puzzle2002", - "puzzle2003", - "puzzle2004", - "puzzle2005", - "puzzle2006", - "puzzle2007", - "puzzle2008", - "puzzle2009", - "puzzle2010", - "puzzle2011", - "puzzle2012", - "puzzle2013", - "puzzle2014", - "puzzle2015", - "puzzle2016", - "puzzle2017", - "puzzle2018", - "puzzle2019", - "puzzle2020", - }, - { - "puzzle3001", - "puzzle3002", - "puzzle3003", - "puzzle3004", - "puzzle3005", - "puzzle3006", - "puzzle3007", - "puzzle3008", - "puzzle3009", - "puzzle3010", - "puzzle3011", - "puzzle3012", - "puzzle3013", - "puzzle3014", - "puzzle3015", - "puzzle3016", - "puzzle3017", - "puzzle3018", - "puzzle3019", - "puzzle3020", - "puzzle3021", - "puzzle3022", - "puzzle3023", - "puzzle3024", - "puzzle3025", - "puzzle3026", - "puzzle3027", - "puzzle3028", - "puzzle3029", - "puzzle3030", - }, - { - "puzzle4001", - "puzzle4002", - "puzzle4003", - "puzzle4004", - "puzzle4005", - "puzzle4006", - "puzzle4007", - "puzzle4008", - "puzzle4009", - "puzzle4010", - "puzzle4011", - "puzzle4012", - "puzzle4013", - "puzzle4014", - "puzzle4015", - "puzzle4016", - "puzzle4017", - "puzzle4018", - "puzzle4019", - "puzzle4020", - "puzzle4021", - "puzzle4022", - "puzzle4023", - "puzzle4024", - "puzzle4025", - "puzzle4026", - "puzzle4027", - "puzzle4028", - "puzzle4029", - "puzzle4030", - "puzzle4031", - "puzzle4032", - "puzzle4033", - "puzzle4034", - "puzzle4035", - "puzzle4036", - "puzzle4037", - "puzzle4038", - "puzzle4039", - "puzzle4040", - }, + { + "puzzle2001", + "puzzle2002", + "puzzle2003", + "puzzle2004", + "puzzle2005", + "puzzle2006", + "puzzle2007", + "puzzle2008", + "puzzle2009", + "puzzle2010", + "puzzle2011", + "puzzle2012", + "puzzle2013", + "puzzle2014", + "puzzle2015", + "puzzle2016", + "puzzle2017", + "puzzle2018", + "puzzle2019", + "puzzle2020", + }, + { + "puzzle3001", + "puzzle3002", + "puzzle3003", + "puzzle3004", + "puzzle3005", + "puzzle3006", + "puzzle3007", + "puzzle3008", + "puzzle3009", + "puzzle3010", + "puzzle3011", + "puzzle3012", + "puzzle3013", + "puzzle3014", + "puzzle3015", + "puzzle3016", + "puzzle3017", + "puzzle3018", + "puzzle3019", + "puzzle3020", + "puzzle3021", + "puzzle3022", + "puzzle3023", + "puzzle3024", + "puzzle3025", + "puzzle3026", + "puzzle3027", + "puzzle3028", + "puzzle3029", + "puzzle3030", + }, + { + "puzzle4001", + "puzzle4002", + "puzzle4003", + "puzzle4004", + "puzzle4005", + "puzzle4006", + "puzzle4007", + "puzzle4008", + "puzzle4009", + "puzzle4010", + "puzzle4011", + "puzzle4012", + "puzzle4013", + "puzzle4014", + "puzzle4015", + "puzzle4016", + "puzzle4017", + "puzzle4018", + "puzzle4019", + "puzzle4020", + "puzzle4021", + "puzzle4022", + "puzzle4023", + "puzzle4024", + "puzzle4025", + "puzzle4026", + "puzzle4027", + "puzzle4028", + "puzzle4029", + "puzzle4030", + "puzzle4031", + "puzzle4032", + "puzzle4033", + "puzzle4034", + "puzzle4035", + "puzzle4036", + "puzzle4037", + "puzzle4038", + "puzzle4039", + "puzzle4040", + }, }; s32 lbl_1_data_644[] = { - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - DATA_MAKE_NUM(DATADIR_MARIOMDL1, 0x00), - DATA_MAKE_NUM(DATADIR_LUIGIMDL1, 0x00), - DATA_MAKE_NUM(DATADIR_PEACHMDL1, 0x00), - DATA_MAKE_NUM(DATADIR_YOSHIMDL1, 0x00), - DATA_MAKE_NUM(DATADIR_WARIOMDL1, 0x00), - DATA_MAKE_NUM(DATADIR_DONKEYMDL1, 0x00), - DATA_MAKE_NUM(DATADIR_DAISYMDL1, 0x00), - DATA_MAKE_NUM(DATADIR_WALUIGIMDL1, 0x00), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x01), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x05), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x06), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x1B), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x20), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x21), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x00), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x00), + 0, 1, 2, 3, + 4, 5, 6, 7, + 0x5E0000, 0x190000, 0x6C0000, 0x890000, + 0x840000, 0x100000, 0x0C0000, 0x800000, + 0x5F0000, 0x5F0001, 0x5F0002, 0x5F0005, + 0x5F0006, 0x5F001B, 0x5F0020, 0x5F0021, + 0x5F0017, 0x5F0000, 0x1A0000, 0x6D0000, + 0x8A0000, 0x850000, 0x110000, 0x0D0000, + 0x810000, }; -s32 lbl_1_data_6C8[] = { 6, 7, 8 }; +s32 lbl_1_data_6C8[] = { + 6, + 7, + 8 +}; -float lbl_1_data_6D4[][2] = { -52, -9, 53, -8, 35, -8, 23, -8, 9, -8, -9, -8, -17, -8, -31, -8, 53, 8, 35, 8, 23, 8, 9, 8, -9, 8, -17, 8, -31, 8 }; +float lbl_1_data_6D4[][2] = { + -52, -9, + 53, -8, + 35, -8, + 23, -8, + 9, -8, + -9, -8, + -17, -8, + -31, -8, + 53, 8, + 35, 8, + 23, 8, + 9, 8, + -9, 8, + -17, 8, + -31, 8 +}; -s32 lbl_1_data_74C[] = { 3600, 7200, 10800 }; +s32 lbl_1_data_74C[] = { + 3600, + 7200, + 10800 +}; -s32 lbl_1_data_758[] = { 58, 54, 48 }; +s32 lbl_1_data_758[] = { + 58, + 54, + 48 +}; void fn_1_7BC(void); void fn_1_B2C(void); @@ -224,143 +246,141 @@ void fn_1_48C4(void); void ObjectSetup(void) { - Vec pos; - Vec up; - Vec target; - s32 i; - Process *objman; - s32 type; - type = GWSystem.mg_type; - lbl_1_bss_B60 = type; - if (type == -1) { - lbl_1_bss_B60 = frandmod(3); - } - lbl_1_bss_B5C = lbl_1_bss_B60; - switch (lbl_1_bss_B5C) { - case 0: - lbl_1_bss_B58 = 20; - break; - - case 1: - lbl_1_bss_B58 = 30; - break; - - default: - lbl_1_bss_B58 = 40; - break; - } - objman = omInitObjMan(50, 8192); - omGameSysInit(objman); - Hu3DCameraCreate(3); - Hu3DCameraPerspectiveSet(1, 15, 20, 25000, 1.2); - Hu3DCameraPerspectiveSet(2, 15, 20, 25000, 1.2); - Hu3DCameraViewportSet(1, 0, 0, 320, 240, 0, 1); - Hu3DCameraViewportSet(2, 0, 0, 640, 480, 0, 1); - Hu3DCameraScissorSet(1, 0, 0, 320, 240); - Hu3DCameraScissorSet(2, 0, 0, 640, 480); - lbl_1_bss_8 = omAddObjEx(objman, 32730, 0, 0, -1, omOutViewMulti); - lbl_1_bss_8->work[0] = 2; - for (i = 0; i < 1; i++) { - CRotM[i].x = lbl_1_data_0[lbl_1_bss_B60].rot.x; - CRotM[i].y = lbl_1_data_0[lbl_1_bss_B60].rot.y; - CRotM[i].z = lbl_1_data_0[lbl_1_bss_B60].rot.z; - CenterM[i].x = lbl_1_data_0[lbl_1_bss_B60].pos.x; - CenterM[i].y = lbl_1_data_0[lbl_1_bss_B60].pos.y; - CenterM[i].z = lbl_1_data_0[lbl_1_bss_B60].pos.z; - CZoomM[i] = lbl_1_data_0[lbl_1_bss_B60].zoom; - } - for (i = 1; i < lbl_1_bss_8->work[0]; i++) { - CRotM[i].x = 0; - CRotM[i].y = 0; - CRotM[i].z = 0; - CenterM[i].x = 0; - CenterM[i].y = 10; - CenterM[i].z = 0; - CZoomM[i] = 1900; - } - Hu3DLighInit(); - lbl_1_bss_CB4 = Hu3DGLightCreate(10000, 0, 10000, -1, 0, -1, 255, 255, 255); - Hu3DGLightPosAimSet(lbl_1_bss_CB4, 0, 6796.88f, 9706.95f, 0, 0, 0); - Hu3DGLightInfinitytSet(lbl_1_bss_CB4); - pos.x = -1800; - pos.y = 3600; - pos.z = 0; - up.x = up.z = 0; - up.y = 1; - target.x = -100; - target.y = 0; - target.z = 0; - Hu3DShadowCreate(30, 20, 10000); - Hu3DShadowTPLvlSet(0.4f); - Hu3DShadowPosSet(&pos, &up, &target); - Hu3DBGColorSet(0, 0, 0); - fn_1_B2C(); - HuPrcSetStat(HuPrcChildCreate(fn_1_7BC, 4096, 4096, 0, HuPrcCurrentGet()), 12); - HuPrcChildCreate(fn_1_48C4, 4096, 8192, 0, HuPrcCurrentGet()); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + Vec pos; + Vec up; + Vec target; + s32 i; + Process *objman; + s32 type; + type = GWSystem.mg_type; + lbl_1_bss_B60 = type; + if(type == -1) { + lbl_1_bss_B60 = frandmod(3); + } + lbl_1_bss_B5C = lbl_1_bss_B60; + switch(lbl_1_bss_B5C) { + case 0: + lbl_1_bss_B58 = 20; + break; + + case 1: + lbl_1_bss_B58 = 30; + break; + + default: + lbl_1_bss_B58 = 40; + break; + } + objman = omInitObjMan(50, 8192); + omGameSysInit(objman); + Hu3DCameraCreate(3); + Hu3DCameraPerspectiveSet(1, 15, 20, 25000, 1.2); + Hu3DCameraPerspectiveSet(2, 15, 20, 25000, 1.2); + Hu3DCameraViewportSet(1, 0, 0, 320, 240, 0, 1); + Hu3DCameraViewportSet(2, 0, 0, 640, 480, 0, 1); + Hu3DCameraScissorSet(1, 0, 0, 320, 240); + Hu3DCameraScissorSet(2, 0, 0, 640, 480); + lbl_1_bss_8 = omAddObjEx(objman, 32730, 0, 0, -1, omOutViewMulti); + lbl_1_bss_8->work[0] = 2; + for(i=0; i<1; i++) { + CRotM[i].x = lbl_1_data_0[lbl_1_bss_B60].rot.x; + CRotM[i].y = lbl_1_data_0[lbl_1_bss_B60].rot.y; + CRotM[i].z = lbl_1_data_0[lbl_1_bss_B60].rot.z; + CenterM[i].x = lbl_1_data_0[lbl_1_bss_B60].pos.x; + CenterM[i].y = lbl_1_data_0[lbl_1_bss_B60].pos.y; + CenterM[i].z = lbl_1_data_0[lbl_1_bss_B60].pos.z; + CZoomM[i] = lbl_1_data_0[lbl_1_bss_B60].zoom; + } + for(i=1; iwork[0]; i++) { + CRotM[i].x = 0; + CRotM[i].y = 0; + CRotM[i].z = 0; + CenterM[i].x = 0; + CenterM[i].y = 10; + CenterM[i].z = 0; + CZoomM[i] = 1900; + } + Hu3DLighInit(); + lbl_1_bss_CB4 = Hu3DGLightCreate(10000, 0, 10000, -1, 0, -1, 255, 255, 255); + Hu3DGLightPosAimSet(lbl_1_bss_CB4, 0, 6796.88f, 9706.95f, 0, 0, 0); + Hu3DGLightInfinitytSet(lbl_1_bss_CB4); + pos.x = -1800; + pos.y = 3600; + pos.z = 0; + up.x = up.z = 0; + up.y = 1; + target.x = -100; + target.y = 0; + target.z = 0; + Hu3DShadowCreate(30, 20, 10000); + Hu3DShadowTPLvlSet(0.4f); + Hu3DShadowPosSet(&pos, &up, &target); + Hu3DBGColorSet(0, 0, 0); + fn_1_B2C(); + HuPrcSetStat(HuPrcChildCreate(fn_1_7BC, 4096, 4096, 0, HuPrcCurrentGet()), 12); + HuPrcChildCreate(fn_1_48C4, 4096, 8192, 0, HuPrcCurrentGet()); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); } void fn_1_7BC(void) { - Bss348Data *data = &lbl_1_bss_348[0]; - while (1) { - if (omPauseChk()) { - Hu3DModelAttrSet(data->unk0[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(data->unk0[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(data->unk0[2], HU3D_ATTR_DISPOFF); - HuSprAttrSet(data->unkA, 0, HUSPR_ATTR_DISPOFF); - } - else { - Hu3DModelAttrReset(data->unk0[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(data->unk0[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(data->unk0[2], HU3D_ATTR_DISPOFF); - HuSprAttrReset(data->unkA, 0, HUSPR_ATTR_DISPOFF); - } - HuPrcVSleep(); - } + Bss348Data *data = &lbl_1_bss_348[0]; + while(1) { + if(omPauseChk()) { + Hu3DModelAttrSet(data->unk0[0], 1); + Hu3DModelAttrSet(data->unk0[1], 1); + Hu3DModelAttrSet(data->unk0[2], 1); + HuSprAttrSet(data->unkA, 0, HUSPR_ATTR_DISPOFF); + } else { + Hu3DModelAttrReset(data->unk0[0], 1); + Hu3DModelAttrReset(data->unk0[1], 1); + Hu3DModelAttrReset(data->unk0[2], 1); + HuSprAttrReset(data->unkA, 0, HUSPR_ATTR_DISPOFF); + } + HuPrcVSleep(); + } } void fn_1_858(void) { - s32 i; - float angle = 0; - while (1) { - float scale; - angle += 16.0f; - scale = (0.2f * sind(angle)) + 1.0; - for (i = 0; i < 8; i++) { - HuSprScaleSet(lbl_1_bss_CAE, i + 1, scale, scale); - } - HuPrcVSleep(); - } + s32 i; + float angle = 0; + while(1) { + float scale; + angle += 16.0f; + scale = (0.2f*sind(angle))+1.0; + for(i=0; i<8; i++) { + HuSprScaleSet(lbl_1_bss_CAE, i+1, scale, scale); + } + HuPrcVSleep(); + } } void fn_1_918(s16 group, s16 base_member, u32 value, s32 state) { - s32 member; - u32 time[3]; - if (state != 2) { - time[0] = (value % 60); - value = (value - time[0]) / 60; - time[0] = 100.0f * (time[0] / 60.0f); - time[1] = value % 60; - value = (value - time[1]) / 60; - time[2] = value; - } - else { - time[0] = 99; - time[1] = 59; - time[2] = 9; - } - member = base_member; - if (state != 0) { - member += 7; - } - HuSprBankSet(group, member, time[0] % 10); - HuSprBankSet(group, member + 1, time[0] / 10); - HuSprBankSet(group, member + 3, time[1] % 10); - HuSprBankSet(group, member + 4, time[1] / 10); - HuSprBankSet(group, member + 6, time[2] % 10); + s32 member; + u32 time[3]; + if(state != 2) { + time[0] = (value % 60); + value = (value-time[0])/60; + time[0] = 100.0f*(time[0]/60.0f); + time[1] = value%60; + value = (value-time[1])/60; + time[2] = value; + } else { + time[0] = 99; + time[1] = 59; + time[2] = 9; + } + member = base_member; + if(state != 0) { + member += 7; + } + HuSprBankSet(group, member, time[0]%10); + HuSprBankSet(group, member+1, time[0]/10); + HuSprBankSet(group, member+3, time[1]%10); + HuSprBankSet(group, member+4, time[1]/10); + HuSprBankSet(group, member+6, time[2]%10); } void fn_1_1B64(ModelData *model, ParticleData *particle, Mtx matrix); @@ -369,1054 +389,1030 @@ void fn_1_4864(void); void fn_1_B2C(void) { - Bss348Data *temp_r31; - s32 temp_r30; - void *temp_r29; - s32 temp_r28; - HsfTransform *temp_r27; - s16 temp_r26; - HsfTransform *temp_r25; - Process *temp_r18; - s32 temp_r17; - AnimData *sp2C[4]; - s32 sp10; - AnimData *spC; - AnimData *sp8; - HuAudSndGrpSet(36); - for (temp_r30 = 0; temp_r30 < 1; temp_r30++) { - temp_r31 = &lbl_1_bss_348[temp_r30]; - temp_r31->unk34 = temp_r30; - temp_r31->unk3C = GWPlayerCfg[temp_r30].pad_idx; - temp_r31->unk38 = temp_r30 + 1; - temp_r31->unk44 = 0; - temp_r31->unk804 = -1; - temp_r29 = HuDataSelHeapReadNum(lbl_1_data_54[lbl_1_bss_B5C], MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unk0[0] = Hu3DModelCreate(temp_r29); - temp_r29 = HuDataSelHeapReadNum(lbl_1_data_60[lbl_1_bss_B60], MEMORY_DEFAULT_NUM, HEAP_DATA); - Hu3DAnimCreate(temp_r29, temp_r31->unk0[0], lbl_1_data_78[lbl_1_bss_B5C]); - Hu3DModelCameraSet(temp_r31->unk0[0], 1 << temp_r31->unk38); - Hu3DModelPosSet(temp_r31->unk0[0], 0, 0, 0); - Hu3DModelRotSet(temp_r31->unk0[0], 0, 0, 0); - Hu3DModelAttrSet(temp_r31->unk0[0], HU3D_ATTR_NOCULL); - temp_r29 = HuDataSelHeapReadNum(lbl_1_data_54[lbl_1_bss_B5C], MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unk0[1] = Hu3DModelCreate(temp_r29); - temp_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M451, 0x0D), MEMORY_DEFAULT_NUM, HEAP_DATA); - Hu3DAnimCreate(temp_r29, temp_r31->unk0[1], lbl_1_data_78[lbl_1_bss_B5C]); - Hu3DModelCameraSet(temp_r31->unk0[1], 1 << temp_r31->unk38); - Hu3DModelPosSet(temp_r31->unk0[1], 0, 0, 0); - Hu3DModelRotSet(temp_r31->unk0[1], 0, 0, 0); - temp_r29 = HuDataSelHeapReadNum(lbl_1_data_54[lbl_1_bss_B5C], MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unk0[2] = Hu3DModelCreate(temp_r29); - Hu3DModelCameraSet(temp_r31->unk0[2], 1 << temp_r31->unk38); - Hu3DModelPosSet(temp_r31->unk0[2], 0, 0, 0); - Hu3DModelRotSet(temp_r31->unk0[2], 0, 0, 0); - Hu3DModelTPLvlSet(temp_r31->unk0[2], 128); - Hu3DModelAttrSet(temp_r31->unk0[2], HU3D_ATTR_NOCULL); - for (temp_r28 = 0; temp_r28 < lbl_1_bss_B58; temp_r28++) { - temp_r31->unk6C[temp_r28] = Hu3DModelObjPtrGet(temp_r31->unk0[0], lbl_1_data_464[lbl_1_bss_B5C][temp_r28]); - if (!temp_r31->unk6C[temp_r28]) { - OSReport("PeaceNo %d\n", lbl_1_bss_B5C); - OSReport("objname %s\n", lbl_1_data_464[lbl_1_bss_B5C][temp_r28]); - OSPanic("m451.c", 543, "ObjPtr1"); - } - temp_r25 = &temp_r31->unk24C[temp_r28]; - temp_r27 = &temp_r31->unk6C[temp_r28]->data.base; - temp_r27->pos.z += -10; - temp_r25->pos.x = temp_r27->pos.x; - temp_r25->pos.y = temp_r27->pos.y; - temp_r25->pos.z = temp_r27->pos.z; - temp_r25->rot.x = temp_r27->rot.x; - temp_r25->rot.y = temp_r27->rot.y; - temp_r25->rot.z = temp_r27->rot.z; - temp_r25->scale.x = temp_r27->scale.x; - temp_r25->scale.y = temp_r27->scale.y; - temp_r25->scale.z = temp_r27->scale.z; - temp_r31->unk10C[temp_r28] = Hu3DModelObjPtrGet(temp_r31->unk0[2], lbl_1_data_464[lbl_1_bss_B5C][temp_r28]); - if (!temp_r31->unk10C[temp_r28]) { - OSReport("objname %s\n", lbl_1_data_464[lbl_1_bss_B5C][temp_r28]); - OSPanic("m451.c", 555, "ObjPtr2"); - } - temp_r31->unk1AC[temp_r28] = Hu3DModelObjPtrGet(temp_r31->unk0[1], lbl_1_data_464[lbl_1_bss_B5C][temp_r28]); - if (!temp_r31->unk1AC[temp_r28]) { - OSReport("objname %s\n", lbl_1_data_464[lbl_1_bss_B5C][temp_r28]); - OSPanic("m451.c", 561, "ObjPtr3"); - } - } - temp_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M451, 0x00), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r26 = Hu3DModelCreate(temp_r29); - Hu3DModelCameraSet(temp_r26, 1 << temp_r31->unk38); - Hu3DModelPosSet(temp_r26, 0, 0, 0); - Hu3DModelRotSet(temp_r26, 0, 0, 0); - temp_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M451, 0x04), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unk0[4] = Hu3DModelCreate(temp_r29); - Hu3DModelCameraSet(temp_r31->unk0[4], 1 << temp_r31->unk38); - Hu3DModelPosSet(temp_r31->unk0[4], 0, 0, 0); - Hu3DModelRotSet(temp_r31->unk0[4], 0, 0, 0); - temp_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M451, 0x08) + lbl_1_bss_B5C, MEMORY_DEFAULT_NUM, HEAP_DATA); - Hu3DAnimCreate(temp_r29, temp_r31->unk0[4], "s3puzzle00"); - temp_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 0x38) + GWPlayerCfg[temp_r30].character, MEMORY_DEFAULT_NUM, HEAP_DATA); - spC = HuSprAnimRead(temp_r29); - temp_r26 = HuSprCreate(spC, 16384, 0); - temp_r31->unkA = HuSprGrpCreate(1); - HuSprGrpMemberSet(temp_r31->unkA, 0, temp_r26); - HuSprAttrSet(temp_r31->unkA, 0, 7); - sp8 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M451, 0x0C), MEMORY_DEFAULT_NUM)); - temp_r26 = Hu3DParticleCreate(sp8, 100); - Hu3DModelPosSet(temp_r26, 0, 0, 0); - Hu3DModelScaleSet(temp_r26, 1, 1, 1); - Hu3DModelLayerSet(temp_r26, 1); - Hu3DParticleHookSet(temp_r26, fn_1_1B64); - Hu3DModelCameraSet(temp_r26, 1 << temp_r31->unk38); - temp_r18 = HuPrcChildCreate(fn_1_37C4, 8192, 12288, 0, HuPrcCurrentGet()); - temp_r18->user_data = temp_r31; - lbl_1_bss_4[temp_r30] = temp_r18; - } - temp_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 0x30), MEMORY_DEFAULT_NUM, HEAP_DATA); - sp2C[0] = HuSprAnimRead(temp_r29); - temp_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 0x31), MEMORY_DEFAULT_NUM, HEAP_DATA); - sp2C[1] = HuSprAnimRead(temp_r29); - temp_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 0x37), MEMORY_DEFAULT_NUM, HEAP_DATA); - sp2C[2] = HuSprAnimRead(temp_r29); - temp_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M451, 0x0B), MEMORY_DEFAULT_NUM, HEAP_DATA); - sp2C[3] = HuSprAnimRead(temp_r29); - lbl_1_bss_CAE = HuSprGrpCreate(16); - temp_r26 = HuSprCreate(sp2C[3], 16385, 0); - HuSprGrpMemberSet(lbl_1_bss_CAE, 0, temp_r26); - HuSprPosSet(lbl_1_bss_CAE, 0, 0, 0); - HuSprTPLvlSet(lbl_1_bss_CAE, 0, 0.5f); - HuSprColorSet(lbl_1_bss_CAE, 0, 0, 0, 0); - for (temp_r30 = 0; temp_r30 < 14; temp_r30++) { - if (temp_r30 >= 7) { - temp_r26 = HuSprCreate(sp2C[1], 16384, 0); - } - else { - temp_r26 = HuSprCreate(sp2C[0], 16384, 0); - } - HuSprGrpMemberSet(lbl_1_bss_CAE, temp_r30 + 2, temp_r26); - HuSprPosSet(lbl_1_bss_CAE, temp_r30 + 2, lbl_1_data_6D4[temp_r30 + 1][0], lbl_1_data_6D4[temp_r30 + 1][1]); - temp_r28 = 0; - if (temp_r30 == 2 || temp_r30 == 9) { - temp_r28 = 11; - } - if (temp_r30 == 5 || temp_r30 == 12) { - temp_r28 = 10; - } - HuSprBankSet(lbl_1_bss_CAE, temp_r30 + 2, temp_r28); - } - temp_r26 = HuSprCreate(sp2C[2], 16384, 0); - HuSprGrpMemberSet(lbl_1_bss_CAE, 1, temp_r26); - HuSprPosSet(lbl_1_bss_CAE, 1, lbl_1_data_6D4[0][0], lbl_1_data_6D4[0][1]); - HuSprGrpPosSet(lbl_1_bss_CAE, 280, 61); - fn_1_918(lbl_1_bss_CAE, 2, GWMGRecordGet(lbl_1_data_6C8[lbl_1_bss_B5C]), 0); - fn_1_918(lbl_1_bss_CAE, 2, 0, 1); - for (temp_r30 = 0; temp_r30 < lbl_1_bss_B58; temp_r30++) { - lbl_1_bss_C04[temp_r30] = temp_r30; - lbl_1_bss_B64[temp_r30] = frandmod(4); - } - for (temp_r30 = 0; temp_r30 < 50; temp_r30++) { - temp_r28 = frandmod(lbl_1_bss_B58); - temp_r17 = frandmod(lbl_1_bss_B58); - sp10 = lbl_1_bss_C04[temp_r28]; - lbl_1_bss_C04[temp_r28] = lbl_1_bss_C04[temp_r17]; - lbl_1_bss_C04[temp_r17] = sp10; - } - HuPrcChildCreate(fn_1_4864, 4096, 4096, 0, HuPrcCurrentGet()); + Bss348Data *temp_r31; + s32 temp_r30; + void *temp_r29; + s32 temp_r28; + HsfTransform *temp_r27; + s16 temp_r26; + HsfTransform *temp_r25; + Process *temp_r18; + s32 temp_r17; + AnimData *sp2C[4]; + s32 sp10; + AnimData *spC; + AnimData *sp8; + HuAudSndGrpSet(36); + for(temp_r30=0; temp_r30<1; temp_r30++) { + temp_r31 = &lbl_1_bss_348[temp_r30]; + temp_r31->unk34 = temp_r30; + temp_r31->unk3C = GWPlayerCfg[temp_r30].pad_idx; + temp_r31->unk38 = temp_r30+1; + temp_r31->unk44 = 0; + temp_r31->unk804 = -1; + temp_r29 = HuDataSelHeapReadNum(lbl_1_data_54[lbl_1_bss_B5C], MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r31->unk0[0] = Hu3DModelCreate(temp_r29); + temp_r29 = HuDataSelHeapReadNum(lbl_1_data_60[lbl_1_bss_B60], MEMORY_DEFAULT_NUM, HEAP_DATA); + Hu3DAnimCreate(temp_r29, temp_r31->unk0[0], lbl_1_data_78[lbl_1_bss_B5C]); + Hu3DModelCameraSet(temp_r31->unk0[0], 1 << temp_r31->unk38); + Hu3DModelPosSet(temp_r31->unk0[0], 0, 0, 0); + Hu3DModelRotSet(temp_r31->unk0[0], 0, 0, 0); + Hu3DModelAttrSet(temp_r31->unk0[0], 0x4000); + temp_r29 = HuDataSelHeapReadNum(lbl_1_data_54[lbl_1_bss_B5C], MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r31->unk0[1] = Hu3DModelCreate(temp_r29); + temp_r29 = HuDataSelHeapReadNum(0x52000D, MEMORY_DEFAULT_NUM, HEAP_DATA); + Hu3DAnimCreate(temp_r29, temp_r31->unk0[1], lbl_1_data_78[lbl_1_bss_B5C]); + Hu3DModelCameraSet(temp_r31->unk0[1], 1 << temp_r31->unk38); + Hu3DModelPosSet(temp_r31->unk0[1], 0, 0, 0); + Hu3DModelRotSet(temp_r31->unk0[1], 0, 0, 0); + temp_r29 = HuDataSelHeapReadNum(lbl_1_data_54[lbl_1_bss_B5C], MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r31->unk0[2] = Hu3DModelCreate(temp_r29); + Hu3DModelCameraSet(temp_r31->unk0[2], 1 << temp_r31->unk38); + Hu3DModelPosSet(temp_r31->unk0[2], 0, 0, 0); + Hu3DModelRotSet(temp_r31->unk0[2], 0, 0, 0); + Hu3DModelTPLvlSet(temp_r31->unk0[2], 128); + Hu3DModelAttrSet(temp_r31->unk0[2], 0x4000); + for(temp_r28=0; temp_r28unk6C[temp_r28] = Hu3DModelObjPtrGet(temp_r31->unk0[0], lbl_1_data_464[lbl_1_bss_B5C][temp_r28]); + if(!temp_r31->unk6C[temp_r28]) { + OSReport("PeaceNo %d\n", lbl_1_bss_B5C); + OSReport("objname %s\n", lbl_1_data_464[lbl_1_bss_B5C][temp_r28]); + OSPanic("m451.c", 543, "ObjPtr1"); + } + temp_r25 = &temp_r31->unk24C[temp_r28]; + temp_r27 = &temp_r31->unk6C[temp_r28]->data.base; + temp_r27->pos.z += -10; + temp_r25->pos.x = temp_r27->pos.x; + temp_r25->pos.y = temp_r27->pos.y; + temp_r25->pos.z = temp_r27->pos.z; + temp_r25->rot.x = temp_r27->rot.x; + temp_r25->rot.y = temp_r27->rot.y; + temp_r25->rot.z = temp_r27->rot.z; + temp_r25->scale.x = temp_r27->scale.x; + temp_r25->scale.y = temp_r27->scale.y; + temp_r25->scale.z = temp_r27->scale.z; + temp_r31->unk10C[temp_r28] = Hu3DModelObjPtrGet(temp_r31->unk0[2], lbl_1_data_464[lbl_1_bss_B5C][temp_r28]); + if(!temp_r31->unk10C[temp_r28]) { + OSReport("objname %s\n", lbl_1_data_464[lbl_1_bss_B5C][temp_r28]); + OSPanic("m451.c", 555, "ObjPtr2"); + } + temp_r31->unk1AC[temp_r28] = Hu3DModelObjPtrGet(temp_r31->unk0[1], lbl_1_data_464[lbl_1_bss_B5C][temp_r28]); + if(!temp_r31->unk1AC[temp_r28]) { + OSReport("objname %s\n", lbl_1_data_464[lbl_1_bss_B5C][temp_r28]); + OSPanic("m451.c", 561, "ObjPtr3"); + } + } + temp_r29 = HuDataSelHeapReadNum(0x520000, MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r26 = Hu3DModelCreate(temp_r29); + Hu3DModelCameraSet(temp_r26, 1 << temp_r31->unk38); + Hu3DModelPosSet(temp_r26, 0, 0, 0); + Hu3DModelRotSet(temp_r26, 0, 0, 0); + temp_r29 = HuDataSelHeapReadNum(0x520004, MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r31->unk0[4] = Hu3DModelCreate(temp_r29); + Hu3DModelCameraSet(temp_r31->unk0[4], 1 << temp_r31->unk38); + Hu3DModelPosSet(temp_r31->unk0[4], 0, 0, 0); + Hu3DModelRotSet(temp_r31->unk0[4], 0, 0, 0); + temp_r29 = HuDataSelHeapReadNum(0x520008+lbl_1_bss_B5C, MEMORY_DEFAULT_NUM, HEAP_DATA); + Hu3DAnimCreate(temp_r29, temp_r31->unk0[4], "s3puzzle00"); + temp_r29 = HuDataSelHeapReadNum(0x610038+GWPlayerCfg[temp_r30].character, MEMORY_DEFAULT_NUM, HEAP_DATA); + spC = HuSprAnimRead(temp_r29); + temp_r26 = HuSprCreate(spC, 16384, 0); + temp_r31->unkA = HuSprGrpCreate(1); + HuSprGrpMemberSet(temp_r31->unkA, 0, temp_r26); + HuSprAttrSet(temp_r31->unkA, 0, 7); + sp8 = HuSprAnimRead(HuDataReadNum(0x52000C, MEMORY_DEFAULT_NUM)); + temp_r26 = Hu3DParticleCreate(sp8, 100); + Hu3DModelPosSet(temp_r26, 0, 0, 0); + Hu3DModelScaleSet(temp_r26, 1, 1, 1); + Hu3DModelLayerSet(temp_r26, 1); + Hu3DParticleHookSet(temp_r26, fn_1_1B64); + Hu3DModelCameraSet(temp_r26, 1 << temp_r31->unk38); + temp_r18 = HuPrcChildCreate(fn_1_37C4, 8192, 12288, 0, HuPrcCurrentGet()); + temp_r18->user_data = temp_r31; + lbl_1_bss_4[temp_r30] = temp_r18; + } + temp_r29 = HuDataSelHeapReadNum(0x610030, MEMORY_DEFAULT_NUM, HEAP_DATA); + sp2C[0] = HuSprAnimRead(temp_r29); + temp_r29 = HuDataSelHeapReadNum(0x610031, MEMORY_DEFAULT_NUM, HEAP_DATA); + sp2C[1] = HuSprAnimRead(temp_r29); + temp_r29 = HuDataSelHeapReadNum(0x610037, MEMORY_DEFAULT_NUM, HEAP_DATA); + sp2C[2] = HuSprAnimRead(temp_r29); + temp_r29 = HuDataSelHeapReadNum(0x52000B, MEMORY_DEFAULT_NUM, HEAP_DATA); + sp2C[3] = HuSprAnimRead(temp_r29); + lbl_1_bss_CAE = HuSprGrpCreate(16); + temp_r26 = HuSprCreate(sp2C[3], 16385, 0); + HuSprGrpMemberSet(lbl_1_bss_CAE, 0, temp_r26); + HuSprPosSet(lbl_1_bss_CAE, 0, 0, 0); + HuSprTPLvlSet(lbl_1_bss_CAE, 0, 0.5f); + HuSprColorSet(lbl_1_bss_CAE, 0, 0, 0, 0); + for(temp_r30=0; temp_r30<14; temp_r30++) { + if(temp_r30 >= 7) { + temp_r26 = HuSprCreate(sp2C[1], 16384, 0); + } else { + temp_r26 = HuSprCreate(sp2C[0], 16384, 0); + } + HuSprGrpMemberSet(lbl_1_bss_CAE, temp_r30+2, temp_r26); + HuSprPosSet(lbl_1_bss_CAE, temp_r30+2, lbl_1_data_6D4[temp_r30+1][0], lbl_1_data_6D4[temp_r30+1][1]); + temp_r28 = 0; + if(temp_r30 == 2 || temp_r30 == 9) { + temp_r28 = 11; + } + if(temp_r30 == 5 || temp_r30 == 12) { + temp_r28 = 10; + } + HuSprBankSet(lbl_1_bss_CAE, temp_r30+2, temp_r28); + } + temp_r26 = HuSprCreate(sp2C[2], 16384, 0); + HuSprGrpMemberSet(lbl_1_bss_CAE, 1, temp_r26); + HuSprPosSet(lbl_1_bss_CAE, 1, lbl_1_data_6D4[0][0], lbl_1_data_6D4[0][1]); + HuSprGrpPosSet(lbl_1_bss_CAE, 280, 61); + fn_1_918(lbl_1_bss_CAE, 2, GWMGRecordGet(lbl_1_data_6C8[lbl_1_bss_B5C]), 0); + fn_1_918(lbl_1_bss_CAE, 2, 0, 1); + for(temp_r30=0; temp_r30unk_34 == 0) { - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - temp_r31->unk14.x = temp_r31->unk2C = 0; - temp_r31->unk40.r = 255; - temp_r31->unk40.g = 255; - temp_r31->unk40.b = 0; - } - } - temp_r31 = particle->unk_48; - temp_r28 = &lbl_1_bss_348[0]; - if (temp_r28->unk44 == 1) { - for (temp_r27 = 0; temp_r27 < 4; temp_r27++) { - temp_f28 = 1.0f; - for (temp_r26 = 0, temp_f30 = 0; temp_r26 < 24; temp_r26++, temp_f30 += 15.0f) { - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - if (0.0f == temp_r31->unk14.x) { - break; - } - } - if (temp_r29 == particle->unk_30) { - break; - } - temp_f31 = temp_f30; - temp_f29 = temp_f28 + (5.0f * frandf()); - temp_r31->unk34.x = temp_r28->unk48[7] + ((temp_r27 * 10.0f) * sind(temp_f31)); - temp_r31->unk34.y = temp_r28->unk48[8] + ((temp_r27 * 10.0f) * cosd(temp_f31)); - temp_r31->unk34.z = 50; - temp_r31->unk08.x = temp_f29 * sind(temp_f31); - temp_r31->unk08.y = temp_f29 * cosd(temp_f31); - temp_r31->unk08.z = 0; - temp_r31->unk14.x = 30.0f; - temp_r31->unk14.y = 360.0f * frandf(); - temp_r31->unk14.z = 225; - temp_r31->unk2C = (5.0f * frandf()) + 25.0f; - temp_r31->unk40.r = 255; - temp_r31->unk40.g = 255; - temp_r31->unk40.b = 0; - temp_r31->unk40.a = 255; - } - } - temp_r28->unk44++; - DCStoreRangeNoSync(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); - } - temp_r31 = particle->unk_48; - for (temp_r29 = 0; temp_r29 < particle->unk_30; temp_r29++, temp_r31++) { - if (0.0f == temp_r31->unk14.x) { - continue; - } - VECAdd(&temp_r31->unk08, &temp_r31->unk34, &temp_r31->unk34); - temp_r31->unk08.x *= 0.95f; - temp_r31->unk08.y *= 0.95f; - temp_r31->unk14.y += 20.0f; - if (temp_r31->unk14.y >= 180.0f && temp_r31->unk14.y < 200.0f) { - temp_r31->unk14.z *= 0.4f; - } - if (temp_r31->unk14.y >= 360.0f && temp_r31->unk14.y < 380.0f) { - temp_r31->unk14.z *= 0.4f; - } - if (temp_r31->unk14.y >= 360.0f) { - temp_r31->unk14.y -= 360.0f; - } - temp_r25 = (30.0 * sind(temp_r31->unk14.y)) + temp_r31->unk14.z; - if (temp_r25 < 0) { - temp_r25 = 0; - temp_r31->unk14.x = 0; - } - temp_r31->unk40.a = temp_r25; - if (0.0f == temp_r31->unk14.x) { - temp_r31->unk2C = 0; - } - } - PPCSync(); + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + + HsfanimStruct01 *temp_r31; + s16 temp_r29; + Bss348Data *temp_r28; + s16 temp_r27; + s16 temp_r26; + s32 temp_r25; + + if(particle->unk_34 == 0) { + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + temp_r31->unk14.x = temp_r31->unk2C = 0; + temp_r31->unk40.r = 255; + temp_r31->unk40.g = 255; + temp_r31->unk40.b = 0; + } + } + temp_r31 = particle->unk_48; + temp_r28 = &lbl_1_bss_348[0]; + if(temp_r28->unk44 == 1) { + for(temp_r27=0; temp_r27<4; temp_r27++) { + temp_f28 = 1.0f; + for(temp_r26=0, temp_f30=0; temp_r26<24; temp_r26++, temp_f30 += 15.0f) { + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(0.0f == temp_r31->unk14.x) { + break; + } + } + if(temp_r29 == particle->unk_30) { + break; + } + temp_f31 = temp_f30; + temp_f29 = temp_f28+(5.0f*frandf()); + temp_r31->unk34.x = temp_r28->unk48[7]+((temp_r27*10.0f)*sind(temp_f31)); + temp_r31->unk34.y = temp_r28->unk48[8]+((temp_r27*10.0f)*cosd(temp_f31)); + temp_r31->unk34.z = 50; + temp_r31->unk08.x = temp_f29*sind(temp_f31); + temp_r31->unk08.y = temp_f29*cosd(temp_f31); + temp_r31->unk08.z = 0; + temp_r31->unk14.x = 30.0f; + temp_r31->unk14.y = 360.0f*frandf(); + temp_r31->unk14.z = 225; + temp_r31->unk2C = (5.0f*frandf())+25.0f; + temp_r31->unk40.r = 255; + temp_r31->unk40.g = 255; + temp_r31->unk40.b = 0; + temp_r31->unk40.a = 255; + + } + } + temp_r28->unk44++; + DCStoreRangeNoSync(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); + } + temp_r31 = particle->unk_48; + for(temp_r29=0; temp_r29unk_30; temp_r29++, temp_r31++) { + if(0.0f == temp_r31->unk14.x) { + continue; + } + VECAdd(&temp_r31->unk08, &temp_r31->unk34, &temp_r31->unk34); + temp_r31->unk08.x *= 0.95f; + temp_r31->unk08.y *= 0.95f; + temp_r31->unk14.y += 20.0f; + if(temp_r31->unk14.y >= 180.0f && temp_r31->unk14.y < 200.0f) { + temp_r31->unk14.z *= 0.4f; + } + if(temp_r31->unk14.y >= 360.0f && temp_r31->unk14.y < 380.0f) { + temp_r31->unk14.z *= 0.4f; + } + if(temp_r31->unk14.y >= 360.0f) { + temp_r31->unk14.y -= 360.0f; + } + temp_r25 = (30.0*sind(temp_r31->unk14.y))+temp_r31->unk14.z; + if(temp_r25 < 0) { + temp_r25 = 0; + temp_r31->unk14.x = 0; + } + temp_r31->unk40.a = temp_r25; + if(0.0f == temp_r31->unk14.x) { + temp_r31->unk2C = 0; + } + } + PPCSync(); } s8 fn_1_20FC(s32 arg0, s32 arg1) { - Bss348Data *temp_r31 = &lbl_1_bss_348[arg0]; - s8 temp_r30; - s8 temp_r29; - s8 temp_r28; - if (!GWPlayerCfg[arg0].iscom) { - if (arg1) { - temp_r29 = temp_r30 = HuPadStkY[temp_r31->unk3C]; - } - else { - temp_r29 = temp_r30 = HuPadStkX[temp_r31->unk3C]; - } - (void)temp_r29; - } - else { - if (arg1) { - temp_r28 = temp_r30 = temp_r31->unk7F5; - } - else { - temp_r28 = temp_r30 = temp_r31->unk7F4; - } - } - return temp_r30; + Bss348Data *temp_r31 = &lbl_1_bss_348[arg0]; + s8 temp_r30; + s8 temp_r29; + s8 temp_r28; + if(!GWPlayerCfg[arg0].iscom) { + if(arg1) { + temp_r29 = temp_r30 = HuPadStkY[temp_r31->unk3C]; + } else { + temp_r29 = temp_r30 = HuPadStkX[temp_r31->unk3C]; + } + (void)temp_r29; + } else { + if(arg1) { + temp_r28 = temp_r30 = temp_r31->unk7F5; + } else { + temp_r28 = temp_r30 = temp_r31->unk7F4; + } + } + return temp_r30; } u8 fn_1_21B4(s32 arg0, s32 arg1) { - Bss348Data *temp_r31 = &lbl_1_bss_348[arg0]; - s8 temp_r30; - s8 temp_r29; - s8 temp_r28; - if (!GWPlayerCfg[arg0].iscom) { - if (arg1) { - temp_r29 = temp_r30 = HuPadTrigR[temp_r31->unk3C]; - } - else { - temp_r29 = temp_r30 = HuPadTrigL[temp_r31->unk3C]; - } - (void)temp_r29; - } - else { - if (arg1) { - temp_r28 = temp_r30 = temp_r31->unk7F6; - } - else { - temp_r28 = temp_r30 = temp_r31->unk7F7; - } - } - return temp_r30; + Bss348Data *temp_r31 = &lbl_1_bss_348[arg0]; + s8 temp_r30; + s8 temp_r29; + s8 temp_r28; + if(!GWPlayerCfg[arg0].iscom) { + if(arg1) { + temp_r29 = temp_r30 = HuPadTrigR[temp_r31->unk3C]; + } else { + temp_r29 = temp_r30 = HuPadTrigL[temp_r31->unk3C]; + } + (void)temp_r29; + } else { + if(arg1) { + temp_r28 = temp_r30 = temp_r31->unk7F6; + } else { + temp_r28 = temp_r30 = temp_r31->unk7F7; + } + } + return temp_r30; } static inline s8 fn_1_20FC_inline(s32 arg0, s32 arg1) { - Bss348Data *temp_r31 = &lbl_1_bss_348[arg0]; - s8 temp_r30; - if (!GWPlayerCfg[arg0].iscom) { - if (arg1) { - temp_r30 = HuPadStkY[temp_r31->unk3C]; - } - else { - temp_r30 = HuPadStkX[temp_r31->unk3C]; - } - } - else { - if (arg1) { - temp_r30 = temp_r31->unk7F5; - } - else { - temp_r30 = temp_r31->unk7F4; - } - } - return temp_r30; + Bss348Data *temp_r31 = &lbl_1_bss_348[arg0]; + s8 temp_r30; + if(!GWPlayerCfg[arg0].iscom) { + if(arg1) { + temp_r30 = HuPadStkY[temp_r31->unk3C]; + } else { + temp_r30 = HuPadStkX[temp_r31->unk3C]; + } + } else { + if(arg1) { + temp_r30 = temp_r31->unk7F5; + } else { + temp_r30 = temp_r31->unk7F4; + } + } + return temp_r30; } static inline u8 fn_1_21B4_inline(s32 arg0, s32 arg1) { - Bss348Data *temp_r31 = &lbl_1_bss_348[arg0]; - s8 temp_r30; - if (!GWPlayerCfg[arg0].iscom) { - if (arg1) { - temp_r30 = HuPadTrigR[temp_r31->unk3C]; - } - else { - temp_r30 = HuPadTrigL[temp_r31->unk3C]; - } - } - else { - if (arg1) { - temp_r30 = temp_r31->unk7F6; - } - else { - temp_r30 = temp_r31->unk7F7; - } - } - return temp_r30; + Bss348Data *temp_r31 = &lbl_1_bss_348[arg0]; + s8 temp_r30; + if(!GWPlayerCfg[arg0].iscom) { + if(arg1) { + temp_r30 = HuPadTrigR[temp_r31->unk3C]; + } else { + temp_r30 = HuPadTrigL[temp_r31->unk3C]; + } + } else { + if(arg1) { + temp_r30 = temp_r31->unk7F6; + } else { + temp_r30 = temp_r31->unk7F7; + } + } + return temp_r30; } + u16 fn_1_2274(s32 arg0) { - Bss348Data *temp_r31 = &lbl_1_bss_348[arg0]; - u16 temp_r30; - - // Hacks to stop spilling in fn_1_37C4 - (void)temp_r31; - (void)temp_r31; - (void)temp_r31; - (void)temp_r31; - - if (!GWPlayerCfg[arg0].iscom) { - temp_r30 = HuPadBtnDown[temp_r31->unk3C]; - } - else { - temp_r30 = temp_r31->unk7F8; - } - return temp_r30; + Bss348Data *temp_r31 = &lbl_1_bss_348[arg0]; + u16 temp_r30; + + //Hacks to stop spilling in fn_1_37C4 + (void)temp_r31; + (void)temp_r31; + (void)temp_r31; + (void)temp_r31; + + if(!GWPlayerCfg[arg0].iscom) { + temp_r30 = HuPadBtnDown[temp_r31->unk3C]; + } else { + temp_r30 = temp_r31->unk7F8; + } + return temp_r30; } void fn_1_22E0(Bss348Data *arg0, s32 arg1) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - float temp_f27; - - Vec *temp_r31; - Vec *temp_r29; - Vec *temp_r28; - s32 temp_r27; - Vec *temp_r26; - s32 temp_r25; - - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - temp_r31 = &arg0->unk6C[arg1]->data.base.pos; - temp_r26 = &arg0->unk10C[arg1]->data.base.pos; - temp_r28 = &arg0->unk1AC[arg1]->data.base.pos; - temp_r29 = &arg0->unk24C[arg1].pos; - temp_f29 = (temp_r29->x - temp_r31->x) / 15.0f; - temp_f27 = (temp_r29->z - temp_r31->z) / 30.0f; - temp_f28 = (temp_r29->y - temp_r31->y) / 15.0f; - temp_f31 = 20; - temp_f30 = -20; - HuSprAttrSet(arg0->unkA, 0, 64); - omVibrate(arg0->unk34, 12, 6, 6); - temp_r25 = 0; - for (temp_r27 = 0; temp_r27 < 30; temp_r27++) { - temp_r31->z += temp_f27; - temp_r28->z = temp_r26->z = temp_r31->z - 5.0f; - if (temp_r27 < 15) { - temp_r31->x += temp_f29; - temp_r31->y += temp_f28; - temp_r28->x = temp_r31->x; - temp_r28->y = temp_r31->y; - sp2C.x = 30.0f + temp_r31->x; - sp2C.z = 50.0f; - sp2C.y = -30.0f + temp_r31->y; - Hu3D3Dto2D(&sp2C, (1 << arg0->unk38), &sp20); - HuSprGrpPosSet(arg0->unkA, sp20.x, sp20.y); - } - temp_r26->x = temp_r31->x + temp_f31; - temp_r26->y = temp_r31->y + temp_f30; - temp_f31 -= (4.0f / 7.0f); - temp_f30 -= (-4.0f / 7.0f); - temp_r28->z += 10.0f; - if (temp_r27 < 14) { - temp_r25 += 17; - } - else if (temp_r27 < 28) { - temp_r25 -= 17; - } - Hu3DModelTPLvlSet(arg0->unk0[1], 255 - temp_r25); - HuPrcVSleep(); - } - temp_r31->x = temp_r29->x; - temp_r31->y = temp_r29->y; - temp_r31->z = temp_r29->z; - sp14.x = 30.0f + temp_r31->x; - sp14.z = 50; - sp14.y = -30.0f + temp_r31->y; - Hu3D3Dto2D(&sp14, (1 << arg0->unk38), &sp8); - HuSprGrpPosSet(arg0->unkA, sp8.x, sp8.y); - temp_r28->x = 5000; + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + float temp_f27; + + Vec *temp_r31; + Vec *temp_r29; + Vec *temp_r28; + s32 temp_r27; + Vec *temp_r26; + s32 temp_r25; + + Vec sp2C; + Vec sp20; + Vec sp14; + Vec sp8; + temp_r31 = &arg0->unk6C[arg1]->data.base.pos; + temp_r26 = &arg0->unk10C[arg1]->data.base.pos; + temp_r28 = &arg0->unk1AC[arg1]->data.base.pos; + temp_r29 = &arg0->unk24C[arg1].pos; + temp_f29 = (temp_r29->x-temp_r31->x)/15.0f; + temp_f27 = (temp_r29->z-temp_r31->z)/30.0f; + temp_f28 = (temp_r29->y-temp_r31->y)/15.0f; + temp_f31 = 20; + temp_f30 = -20; + HuSprAttrSet(arg0->unkA, 0, 64); + omVibrate(arg0->unk34, 12, 6, 6); + temp_r25 =0; + for(temp_r27=0; temp_r27<30; temp_r27++) { + temp_r31->z += temp_f27; + temp_r28->z = temp_r26->z = temp_r31->z-5.0f; + if(temp_r27 < 15) { + temp_r31->x += temp_f29; + temp_r31->y += temp_f28; + temp_r28->x = temp_r31->x; + temp_r28->y = temp_r31->y; + sp2C.x = 30.0f+temp_r31->x; + sp2C.z = 50.0f; + sp2C.y = -30.0f+temp_r31->y; + Hu3D3Dto2D(&sp2C, (1 << arg0->unk38), &sp20); + HuSprGrpPosSet(arg0->unkA, sp20.x, sp20.y); + } + temp_r26->x = temp_r31->x+temp_f31; + temp_r26->y = temp_r31->y+temp_f30; + temp_f31 -= (4.0f/7.0f); + temp_f30 -= (-4.0f/7.0f); + temp_r28->z += 10.0f; + if(temp_r27 < 14) { + temp_r25 += 17; + } else if(temp_r27 < 28) { + temp_r25 -= 17; + } + Hu3DModelTPLvlSet(arg0->unk0[1], 255-temp_r25); + HuPrcVSleep(); + } + temp_r31->x = temp_r29->x; + temp_r31->y = temp_r29->y; + temp_r31->z = temp_r29->z; + sp14.x = 30.0f+temp_r31->x; + sp14.z = 50; + sp14.y = -30.0f+temp_r31->y; + Hu3D3Dto2D(&sp14, (1 << arg0->unk38), &sp8); + HuSprGrpPosSet(arg0->unkA, sp8.x, sp8.y); + temp_r28->x = 5000; } void fn_1_263C(Bss348Data *arg0, s32 arg1) { - HsfTransform *temp_r31; - HsfTransform *temp_r30; - HsfTransform *temp_r29; - float temp_f31; - temp_r31 = &arg0->unk6C[arg1]->data.base; - temp_r29 = &arg0->unk10C[arg1]->data.base; - temp_r30 = &arg0->unk24C[arg1]; - for (temp_f31 = 0; temp_f31 < 180; temp_f31 += 10) { - temp_r31->scale.x = (temp_r30->scale.x * 0.8f) + (0.2f * (temp_r30->scale.x * (1.0 - sind(temp_f31)))); - temp_r31->scale.y = (temp_r30->scale.y * 0.8f) + (0.2f * (temp_r30->scale.y * (1.0 - sind(temp_f31)))); - temp_r31->scale.z = (temp_r30->scale.z * 0.8f) + (0.2f * (temp_r30->scale.z * (1.0 - sind(temp_f31)))); - temp_r29->scale.x = temp_r31->scale.x; - temp_r29->scale.y = temp_r31->scale.y; - temp_r29->scale.z = 0.8f * temp_r31->scale.z; - HuPrcVSleep(); - } - for (temp_f31 = 180; temp_f31 < 360; temp_f31 += 20) { - temp_r31->scale.x = (temp_r30->scale.x * 0.9f) + (0.1f * (temp_r30->scale.x * (1.0 - sind(temp_f31)))); - temp_r31->scale.y = (temp_r30->scale.y * 0.9f) + (0.1f * (temp_r30->scale.y * (1.0 - sind(temp_f31)))); - temp_r31->scale.z = (temp_r30->scale.z * 0.9f) + (0.1f * (temp_r30->scale.z * (1.0 - sind(temp_f31)))); - temp_r29->scale.x = temp_r31->scale.x; - temp_r29->scale.y = temp_r31->scale.y; - temp_r29->scale.z = 0.8f * temp_r31->scale.z; - HuPrcVSleep(); - } - temp_r31->scale.x = temp_r30->scale.x; - temp_r31->scale.y = temp_r30->scale.y; - temp_r31->scale.z = temp_r30->scale.z; - temp_r29->scale.x = temp_r31->scale.x; - temp_r29->scale.y = temp_r31->scale.y; - temp_r29->scale.z = 0.8f * temp_r31->scale.z; + HsfTransform *temp_r31; + HsfTransform *temp_r30; + HsfTransform *temp_r29; + float temp_f31; + temp_r31 = &arg0->unk6C[arg1]->data.base; + temp_r29 = &arg0->unk10C[arg1]->data.base; + temp_r30 = &arg0->unk24C[arg1]; + for(temp_f31 = 0; temp_f31<180; temp_f31 += 10) { + temp_r31->scale.x = (temp_r30->scale.x*0.8f)+(0.2f*(temp_r30->scale.x*(1.0-sind(temp_f31)))); + temp_r31->scale.y = (temp_r30->scale.y*0.8f)+(0.2f*(temp_r30->scale.y*(1.0-sind(temp_f31)))); + temp_r31->scale.z = (temp_r30->scale.z*0.8f)+(0.2f*(temp_r30->scale.z*(1.0-sind(temp_f31)))); + temp_r29->scale.x = temp_r31->scale.x; + temp_r29->scale.y = temp_r31->scale.y; + temp_r29->scale.z = 0.8f*temp_r31->scale.z; + HuPrcVSleep(); + } + for(temp_f31 = 180; temp_f31<360; temp_f31 += 20) { + temp_r31->scale.x = (temp_r30->scale.x*0.9f)+(0.1f*(temp_r30->scale.x*(1.0-sind(temp_f31)))); + temp_r31->scale.y = (temp_r30->scale.y*0.9f)+(0.1f*(temp_r30->scale.y*(1.0-sind(temp_f31)))); + temp_r31->scale.z = (temp_r30->scale.z*0.9f)+(0.1f*(temp_r30->scale.z*(1.0-sind(temp_f31)))); + temp_r29->scale.x = temp_r31->scale.x; + temp_r29->scale.y = temp_r31->scale.y; + temp_r29->scale.z = 0.8f*temp_r31->scale.z; + HuPrcVSleep(); + } + temp_r31->scale.x = temp_r30->scale.x; + temp_r31->scale.y = temp_r30->scale.y; + temp_r31->scale.z = temp_r30->scale.z; + temp_r29->scale.x = temp_r31->scale.x; + temp_r29->scale.y = temp_r31->scale.y; + temp_r29->scale.z = 0.8f*temp_r31->scale.z; } void fn_1_2A34(Bss348Data *arg0, s32 arg1, s32 arg2) { - HsfTransform *temp_r31; - HsfTransform *temp_r30; - s32 temp_r28; - - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - - temp_r31 = &arg0->unk6C[arg1]->data.base; - temp_r30 = &arg0->unk10C[arg1]->data.base; - temp_f30 = temp_r31->scale.x; - temp_f29 = temp_r31->scale.y; - temp_f28 = temp_r31->scale.z; - temp_r31->scale.x = temp_r31->scale.y = temp_r31->scale.z = 0; - temp_r30->scale.x = temp_r30->scale.y = temp_r30->scale.z = 0; - for (temp_r28 = 0, temp_f31 = 0; temp_r28 < 30; temp_r28++, temp_f31 += (1.0f / 30.0f)) { - temp_r31->scale.x += temp_f30 / 30.0f; - temp_r31->scale.y += temp_f29 / 30.0f; - temp_r31->scale.z += temp_f28 / 30.0f; - temp_r30->scale.x = temp_r31->scale.x; - temp_r30->scale.y = temp_r31->scale.y; - temp_r30->scale.z = 0.8f * temp_r31->scale.z; - if (arg2 == 0) { - HuSprGrpScaleSet(arg0->unkA, temp_f31, temp_f31); - } - HuPrcVSleep(); - } - temp_r31->scale.x = temp_f30; - temp_r31->scale.y = temp_f29; - temp_r31->scale.z = temp_f28; - temp_r30->scale.x = temp_r31->scale.x; - temp_r30->scale.y = temp_r31->scale.y; - temp_r30->scale.z = 0.8f * temp_r31->scale.z; - if (arg2 == 0) { - HuSprAttrReset(arg0->unkA, 0, HUSPR_ATTR_NOANIM); - HuSprGrpScaleSet(arg0->unkA, 1, 1); - } - else { - HuSprAttrReset(arg0->unkA, 0, HUSPR_ATTR_REVERSE); - } + HsfTransform *temp_r31; + HsfTransform *temp_r30; + s32 temp_r28; + + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + + temp_r31 = &arg0->unk6C[arg1]->data.base; + temp_r30 = &arg0->unk10C[arg1]->data.base; + temp_f30 = temp_r31->scale.x; + temp_f29 = temp_r31->scale.y; + temp_f28 = temp_r31->scale.z; + temp_r31->scale.x = temp_r31->scale.y = temp_r31->scale.z = 0; + temp_r30->scale.x = temp_r30->scale.y = temp_r30->scale.z = 0; + for(temp_r28=0, temp_f31=0; temp_r28<30; temp_r28++, temp_f31 += (1.0f/30.0f)) { + temp_r31->scale.x += temp_f30/30.0f; + temp_r31->scale.y += temp_f29/30.0f; + temp_r31->scale.z += temp_f28/30.0f; + temp_r30->scale.x = temp_r31->scale.x; + temp_r30->scale.y = temp_r31->scale.y; + temp_r30->scale.z = 0.8f*temp_r31->scale.z; + if(arg2 == 0) { + HuSprGrpScaleSet(arg0->unkA, temp_f31, temp_f31); + } + HuPrcVSleep(); + } + temp_r31->scale.x = temp_f30; + temp_r31->scale.y = temp_f29; + temp_r31->scale.z = temp_f28; + temp_r30->scale.x = temp_r31->scale.x; + temp_r30->scale.y = temp_r31->scale.y; + temp_r30->scale.z = 0.8f*temp_r31->scale.z; + if(arg2 == 0) { + HuSprAttrReset(arg0->unkA, 0, 1); + HuSprGrpScaleSet(arg0->unkA, 1, 1); + } else { + HuSprAttrReset(arg0->unkA, 0, 64); + } } typedef struct work_2C50 { - Bss348Data *unk0; - s32 unk4; - s32 unk8; - s32 *unkC; + Bss348Data *unk0; + s32 unk4; + s32 unk8; + s32 *unkC; } Work2C50; void fn_1_2C50(void) { - HsfTransform *temp_r31; - Work2C50 *temp_r30; - s32 temp_r29; - HsfTransform *temp_r28; - s32 temp_r27; - - float temp_f31; - float temp_f30; - float temp_f29; - temp_r30 = HuPrcCurrentGet()->user_data; - temp_r31 = &temp_r30->unk0->unk6C[temp_r30->unk4]->data.base; - temp_r28 = &temp_r30->unk0->unk10C[temp_r30->unk4]->data.base; - HuAudFXPlay(1401); - if (temp_r30->unk8) { - temp_f30 = temp_r31->rot.z + 90.0f; - } - else { - temp_f30 = temp_r31->rot.z - 90.0f; - } - if (temp_f30 >= 360.0f) { - temp_f30 -= 360.0f; - } - if (temp_f30 < 0.0f) { - temp_f30 += 360.0f; - } - temp_f29 = temp_r31->rot.z; - temp_f31 = 0; - for (temp_r29 = 0, temp_r27 = 15; temp_r29 < temp_r27; temp_r29++) { - if (temp_r30->unk8) { - temp_r31->rot.z = temp_f29 + (100.0 * sind(temp_f31)); - } - else { - temp_r31->rot.z = temp_f29 - (100.0 * sind(temp_f31)); - } - temp_r28->rot.z = temp_r31->rot.z; - temp_f31 += 6.0f; - HuPrcVSleep(); - } - temp_f31 = 90.0f; - for (temp_r29 = 0, temp_r27 = 3; temp_r29 < temp_r27; temp_r29++) { - temp_f31 -= (25.0f / 3.0f); - if (temp_r30->unk8) { - temp_r31->rot.z = temp_f29 + (100.0 * sind(temp_f31)); - } - else { - temp_r31->rot.z = temp_f29 - (100.0 * sind(temp_f31)); - } - temp_r28->rot.z = temp_r31->rot.z; - HuPrcVSleep(); - } - temp_r31->rot.z = temp_r28->rot.z = temp_f30; - *temp_r30->unkC = 0; - HuPrcKill(HuPrcCurrentGet()); - while (1) { - HuPrcVSleep(); - } + HsfTransform *temp_r31; + Work2C50 *temp_r30; + s32 temp_r29; + HsfTransform *temp_r28; + s32 temp_r27; + + float temp_f31; + float temp_f30; + float temp_f29; + temp_r30 = HuPrcCurrentGet()->user_data; + temp_r31 = &temp_r30->unk0->unk6C[temp_r30->unk4]->data.base; + temp_r28 = &temp_r30->unk0->unk10C[temp_r30->unk4]->data.base; + HuAudFXPlay(1401); + if(temp_r30->unk8) { + temp_f30 = temp_r31->rot.z+90.0f; + } else { + temp_f30 = temp_r31->rot.z-90.0f; + } + if(temp_f30 >= 360.0f) { + temp_f30 -= 360.0f; + } + if(temp_f30 < 0.0f) { + temp_f30 += 360.0f; + } + temp_f29 = temp_r31->rot.z; + temp_f31 = 0; + for(temp_r29=0, temp_r27=15; temp_r29unk8) { + temp_r31->rot.z = temp_f29+(100.0*sind(temp_f31)); + } else { + temp_r31->rot.z = temp_f29-(100.0*sind(temp_f31)); + } + temp_r28->rot.z = temp_r31->rot.z; + temp_f31 += 6.0f; + HuPrcVSleep(); + } + temp_f31 = 90.0f; + for(temp_r29=0, temp_r27=3; temp_r29unk8) { + temp_r31->rot.z = temp_f29+(100.0*sind(temp_f31)); + } else { + temp_r31->rot.z = temp_f29-(100.0*sind(temp_f31)); + } + temp_r28->rot.z = temp_r31->rot.z; + HuPrcVSleep(); + } + temp_r31->rot.z = temp_r28->rot.z = temp_f30; + *temp_r30->unkC = 0; + HuPrcKill(HuPrcCurrentGet()); + while(1) { + HuPrcVSleep(); + } } void fn_1_2F08(void) { - Vec *temp_r31 = HuPrcCurrentGet()->user_data; - float temp_f31; - float temp_f30; - HuPrcSleep(frandmod(24)); - temp_f30 = temp_r31->x / 100.0f; - temp_f31 = -7.0f; - while (1) { - temp_r31->y -= temp_f31; - if (temp_r31->y < -500.0f) { - break; - } - temp_f31 += 0.5f; - if (temp_f31 > 20.0f) { - temp_f31 = 20.0f; - } - temp_r31->x += temp_f30; - temp_r31->z += 10.0f; - HuPrcVSleep(); - } - HuPrcKill(HuPrcCurrentGet()); - while (1) { - HuPrcVSleep(); - } + Vec *temp_r31 = HuPrcCurrentGet()->user_data; + float temp_f31; + float temp_f30; + HuPrcSleep(frandmod(24)); + temp_f30 = temp_r31->x/100.0f; + temp_f31 = -7.0f; + while(1) { + temp_r31->y -= temp_f31; + if(temp_r31->y < -500.0f) { + break; + } + temp_f31 += 0.5f; + if(temp_f31 > 20.0f) { + temp_f31 = 20.0f; + } + temp_r31->x += temp_f30; + temp_r31->z += 10.0f; + HuPrcVSleep(); + } + HuPrcKill(HuPrcCurrentGet()); + while(1) { + HuPrcVSleep(); + } } void fn_1_2FEC(Bss348Data *arg0, s32 arg1) { - Vec *temp_r31 = &arg0->unk6C[arg1]->data.base.pos; - if (temp_r31->x > 230.0f) { - temp_r31->x = 230.0f; - } - if (temp_r31->x < -230.0f) { - temp_r31->x = -230.0f; - } - if (temp_r31->y > 170.0f) { - temp_r31->y = 170.0f; - } - if (temp_r31->y < -170.0f) { - temp_r31->y = -170.0f; - } + Vec *temp_r31 = &arg0->unk6C[arg1]->data.base.pos; + if(temp_r31->x > 230.0f) { + temp_r31->x = 230.0f; + } + if(temp_r31->x < -230.0f) { + temp_r31->x = -230.0f; + } + if(temp_r31->y > 170.0f) { + temp_r31->y = 170.0f; + } + if(temp_r31->y < -170.0f) { + temp_r31->y = -170.0f; + } } void fn_1_30B0(s32 arg0, s32 arg1) { - switch (GWPlayerCfg[arg0].diff) { - case 0: - arg1 *= 8; - break; - - case 1: - arg1 *= 4; - break; - - case 2: - arg1 *= 2; - break; - } - if (arg1 <= 1) { - HuPrcVSleep(); - } - else { - HuPrcSleep(frandmod(arg1 / 2) + arg1); - } + switch(GWPlayerCfg[arg0].diff) { + case 0: + arg1 *= 8; + break; + + case 1: + arg1 *= 4; + break; + + case 2: + arg1 *= 2; + break; + } + if(arg1 <= 1) { + HuPrcVSleep(); + } else { + HuPrcSleep(frandmod(arg1/2)+arg1); + } } void fn_1_3154(Bss348Data *arg0, s32 arg1, s32 arg2) { - HsfTransform *temp_r30; - s32 temp_r29; - HsfTransform *temp_r25; - s32 temp_r23; - float temp_f29; - Vec sp24; - Vec sp18; - Vec spC; - arg1 = lbl_1_bss_C04[arg2]; - temp_r30 = &arg0->unk6C[arg1]->data.base; - arg0->unk7F4 = arg0->unk7F5 = 0; - arg0->unk7F7 = arg0->unk7F6 = 0; - arg0->unk7F8 = 0; - switch (GWPlayerCfg[arg0->unk34].diff) { - case 0: - temp_r29 = (arg2 * 2) + 60; - break; - - case 1: - temp_r29 = arg2 + 80; - break; - - case 2: - temp_r29 = arg2 + 90; - break; - - default: - temp_r29 = arg2 + 95; - break; - } - if (temp_r29 > 100) { - temp_r29 = 100; - } - if (arg0->unk804 == -1) { - if (frandmod(100) < temp_r29 || lbl_1_bss_B58 == arg2 + 1) { - arg0->unk804 = arg1; - } - else { - temp_r23 = frandmod(lbl_1_bss_B58 - arg2); - arg0->unk804 = lbl_1_bss_C04[arg2 + temp_r23]; - } - arg0->unk808 = -1; - if (GWPlayerCfg[arg0->unk34].diff == 2 || GWPlayerCfg[arg0->unk34].diff == 3) { - if (frandmod(100) < temp_r29 || lbl_1_bss_B58 == arg2 + 1) { - arg0->unk808 = 10; - } - } - fn_1_30B0(arg0->unk34, 10); - } - temp_r25 = &arg0->unk24C[arg0->unk804]; - HuSetVecF(&sp24, temp_r25->pos.x, temp_r25->pos.y, 0.0); - HuSetVecF(&sp18, temp_r30->pos.x, temp_r30->pos.y, 0.0); - HuSubVecF(&spC, &sp24, &sp18); - if (VECMagXY(&spC) >= 40.0f) { - temp_f29 = atan2d(spC.x, spC.y); - arg0->unk7F4 = 50 * sind(temp_f29); - arg0->unk7F5 = 50 * cosd(temp_f29); - if (arg0->unk808 >= 0 && arg0->unk808-- == 0 && temp_r30->rot.z != 0.0f) { - arg0->unk808 = 10; - if (0.0f == (temp_r30->rot.z - 90.0f)) { - arg0->unk7F6 = 50; - } - else { - arg0->unk7F7 = 50; - } - } - } - else { - fn_1_30B0(arg0->unk34, 1); - if (frandmod(100) < temp_r29 || lbl_1_bss_B58 == arg2 + 1) { - if (0.0f != temp_r30->rot.z) { - if (0.0f == (temp_r30->rot.z - 90.0f)) { - arg0->unk7F6 = 50; - } - else { - arg0->unk7F7 = 50; - } - } - else { - arg0->unk7F8 = PAD_BUTTON_A; - arg0->unk804 = -1; - } - } - else { - switch (frandmod(3)) { - case 0: - arg0->unk7F6 = 50; - break; - - case 1: - arg0->unk7F6 = 50; - break; - - default: - arg0->unk7F8 = PAD_BUTTON_A; - arg0->unk804 = -1; - break; - } - if (frandmod(100) < temp_r29) { - arg0->unk804 = -1; - } - } - } + HsfTransform *temp_r30; + s32 temp_r29; + HsfTransform *temp_r25; + s32 temp_r23; + float temp_f29; + Vec sp24; + Vec sp18; + Vec spC; + arg1 = lbl_1_bss_C04[arg2]; + temp_r30 = &arg0->unk6C[arg1]->data.base; + arg0->unk7F4 = arg0->unk7F5 = 0; + arg0->unk7F7 = arg0->unk7F6 = 0; + arg0->unk7F8 = 0; + switch(GWPlayerCfg[arg0->unk34].diff) { + case 0: + temp_r29 = (arg2*2)+60; + break; + + case 1: + temp_r29 = arg2+80; + break; + + case 2: + temp_r29 = arg2+90; + break; + + default: + temp_r29 = arg2+95; + break; + } + if(temp_r29 > 100) { + temp_r29 = 100; + } + if(arg0->unk804 == -1) { + if(frandmod(100) < temp_r29 || lbl_1_bss_B58 == arg2+1) { + arg0->unk804 = arg1; + } else { + temp_r23 = frandmod(lbl_1_bss_B58-arg2); + arg0->unk804 = lbl_1_bss_C04[arg2+temp_r23]; + } + arg0->unk808 = -1; + if(GWPlayerCfg[arg0->unk34].diff == 2 || GWPlayerCfg[arg0->unk34].diff == 3) { + if(frandmod(100) < temp_r29 || lbl_1_bss_B58 == arg2+1) { + arg0->unk808 = 10; + } + } + fn_1_30B0(arg0->unk34, 10); + } + temp_r25 = &arg0->unk24C[arg0->unk804]; + HuSetVecF(&sp24, temp_r25->pos.x, temp_r25->pos.y, 0.0); + HuSetVecF(&sp18, temp_r30->pos.x, temp_r30->pos.y, 0.0); + HuSubVecF(&spC, &sp24, &sp18); + if(VECMagXY(&spC) >= 40.0f) { + temp_f29 = atan2d(spC.x, spC.y); + arg0->unk7F4 = 50*sind(temp_f29); + arg0->unk7F5 = 50*cosd(temp_f29); + if(arg0->unk808 >= 0 && arg0->unk808-- == 0 && temp_r30->rot.z != 0.0f) { + arg0->unk808 = 10; + if(0.0f == (temp_r30->rot.z-90.0f)) { + arg0->unk7F6 = 50; + } else { + arg0->unk7F7 = 50; + } + } + } else { + fn_1_30B0(arg0->unk34, 1); + if(frandmod(100) < temp_r29 || lbl_1_bss_B58 == arg2+1) { + if(0.0f != temp_r30->rot.z) { + if(0.0f == (temp_r30->rot.z-90.0f)) { + arg0->unk7F6 = 50; + } else { + arg0->unk7F7 = 50; + } + } else { + arg0->unk7F8 = PAD_BUTTON_A; + arg0->unk804 = -1; + } + + } else { + switch(frandmod(3)) { + case 0: + arg0->unk7F6 = 50; + break; + + case 1: + arg0->unk7F6 = 50; + break; + + default: + arg0->unk7F8 = PAD_BUTTON_A; + arg0->unk804 = -1; + break; + } + if(frandmod(100) < temp_r29) { + arg0->unk804 = -1; + } + } + } } void fn_1_37C4(void) { - Bss348Data *temp_r31; - HsfTransform *temp_r30; - s32 temp_r29; - HsfTransform *temp_r28; - s32 temp_r26; - HsfTransform *temp_r25; - Process *temp_r24; - s32 temp_r23; - Vec spCC; - Vec spC0; - Vec spB4; - Work2C50 spA4; - Vec sp98; - Vec sp8C; - Vec sp80; - Vec sp74; - s32 sp70; - s32 sp58; - s32 sp48; - float temp_f27; - float temp_f26; - - temp_r31 = HuPrcCurrentGet()->user_data; - temp_r31->unk40 = 0; - for (temp_r29 = 0; temp_r29 < lbl_1_bss_B58; temp_r29++) { - temp_r30 = &temp_r31->unk10C[temp_r29]->data.base; - temp_r30->pos.x = 5000; - temp_r30 = &temp_r31->unk1AC[temp_r29]->data.base; - temp_r30->pos.x = 5000; - } - while (lbl_1_bss_CA8 == 0) { - HuPrcVSleep(); - } - HuPrcSleep(180); - HuAudFXPlay(1391); - for (temp_r29 = 0; temp_r29 < lbl_1_bss_B58; temp_r29++) { - temp_r30 = &temp_r31->unk6C[temp_r29]->data.base; - temp_f26 = atan2d(temp_r30->pos.x, temp_r30->pos.y); - temp_f27 = VECMagXY(&temp_r30->pos); - temp_f27 *= 1.05f; - temp_r30->pos.x = temp_f27 * sind(temp_f26); - temp_r30->pos.y = temp_f27 * cosd(temp_f26); - } - omVibrate(temp_r31->unk34, 12, 6, 6); - HuPrcSleep(30); - HuAudFXPlay(1387); - for (temp_r29 = 0; temp_r29 < lbl_1_bss_B58; temp_r29++) { - temp_r24 = HuPrcChildCreate(fn_1_2F08, 8192, 4096, 0, HuPrcCurrentGet()); - temp_r30 = &temp_r31->unk6C[temp_r29]->data.base; - temp_r24->user_data = temp_r30; - } - HuPrcSleep(120); - lbl_1_bss_CA8 = 2; - for (temp_r29 = 0; temp_r29 < lbl_1_bss_B58; temp_r29++) { - sp70 = 0; - temp_r31->unk44 = 0; - temp_r31->unk804 = -1; - temp_r26 = lbl_1_bss_C04[temp_r29]; - temp_r30 = &temp_r31->unk6C[temp_r26]->data.base; - temp_r28 = &temp_r31->unk10C[temp_r26]->data.base; - if (temp_r29 != 0) { - temp_r25 = &temp_r31->unk24C[lbl_1_bss_C04[temp_r29 - 1]]; - temp_r30->pos.x = temp_r25->pos.x; - temp_r30->pos.y = temp_r25->pos.y; - temp_r28->pos.x = 20 + temp_r30->pos.x; - temp_r28->pos.y = -20 + temp_r30->pos.y; - } - else { - temp_r30->pos.x = temp_r30->pos.y = 0; - temp_r28->pos.x = 20 + temp_r30->pos.x; - temp_r28->pos.y = -20 + temp_r30->pos.y; - sp98.x = temp_r30->pos.x + 30; - sp98.z = 50; - sp98.y = -30 + temp_r30->pos.y; - Hu3D3Dto2D(&sp98, (1 << temp_r31->unk38), &sp8C); - HuSprGrpPosSet(temp_r31->unkA, sp8C.x, sp8C.y); - HuSprAttrReset(temp_r31->unkA, 0, HUSPR_ATTR_DISPOFF); - } - temp_r30->pos.z = 50; - temp_r28->pos.z = temp_r30->pos.z - 5; - temp_r30->rot.z = temp_r28->rot.z = 90.0f * lbl_1_bss_B64[temp_r29]; - fn_1_2A34(temp_r31, temp_r26, temp_r29); - if (temp_r29 == 0) { - while (lbl_1_bss_CA8 != 3) { - HuPrcVSleep(); - } - } - while (1) { - if (GWPlayerCfg[temp_r31->unk34].iscom == 1) { - fn_1_3154(temp_r31, temp_r26, temp_r29); - } - if (!sp70) { - temp_r23 = -1; - if (fn_1_21B4_inline(temp_r31->unk34, 0) > 20) { - temp_r23 = 1; - } - if (fn_1_21B4_inline(temp_r31->unk34, 1) > 20) { - temp_r23 = 0; - } - if (temp_r23 != -1) { - sp70 = 1; - temp_r24 = HuPrcChildCreate(fn_1_2C50, 8192, 8192, 0, HuPrcCurrentGet()); - temp_r24->user_data = &spA4; - spA4.unk0 = temp_r31; - spA4.unk4 = temp_r26; - spA4.unk8 = temp_r23; - spA4.unkC = &sp70; - } - } - if ((fn_1_2274(temp_r31->unk34) & PAD_BUTTON_A) && !sp70) { - if (0.0f == temp_r30->rot.z) { - temp_r25 = &temp_r31->unk24C[temp_r26]; - HuSetVecF(&spCC, temp_r25->pos.x, temp_r25->pos.y, 0.0f); - HuSetVecF(&spC0, temp_r30->pos.x, temp_r30->pos.y, 0.0f); - HuSubVecF(&spB4, &spCC, &spC0); - if (VECMagXY(&spB4) < 40.0f) { - HuAudFXPlay(1402); - temp_r31->unk44 = 1; - temp_r31->unk48[7] = temp_r30->pos.x; - temp_r31->unk48[8] = temp_r30->pos.y; - fn_1_22E0(temp_r31, temp_r26); - goto end; - } - } - fn_1_263C(temp_r31, temp_r26); - } - temp_r31->unk48[6] = -1.0f; - if (ABS_INV(fn_1_20FC_inline(temp_r31->unk34, 0)) > 20 || ABS_INV(fn_1_20FC_inline(temp_r31->unk34, 1)) > 20) { - temp_r31->unk48[6] = atan2d(fn_1_20FC_inline(temp_r31->unk34, 0), fn_1_20FC_inline(temp_r31->unk34, 1)); - } - if (-1.0f != temp_r31->unk48[6]) { - temp_r30->pos.x += 5.0f * sind(temp_r31->unk48[6]); - temp_r30->pos.y += 5.0f * cosd(temp_r31->unk48[6]); - fn_1_2FEC(temp_r31, temp_r26); - temp_r28->pos.x = 20.0f + temp_r30->pos.x; - temp_r28->pos.y = -20.0f + temp_r30->pos.y; - sp80.x = 30.0f + temp_r30->pos.x; - sp80.z = 50; - sp80.y = -30.0f + temp_r30->pos.y; - Hu3D3Dto2D(&sp80, (1 << temp_r31->unk38), &sp74); - HuSprGrpPosSet(temp_r31->unkA, sp74.x, sp74.y); - } - HuPrcVSleep(); - } - - end: - (void)temp_r31; - } - temp_r31->unk40 = 4; - // Hacks to Stop Spilling - (void)temp_r26; - (void)temp_r26; - (void)temp_r24; - (void)temp_r24; - (void)temp_r24; - (void)temp_r23; - (void)temp_r23; - (void)temp_r23; - (void)temp_r23; - while (1) { - HuPrcVSleep(); - } + Bss348Data *temp_r31; + HsfTransform *temp_r30; + s32 temp_r29; + HsfTransform *temp_r28; + s32 temp_r26; + HsfTransform *temp_r25; + Process *temp_r24; + s32 temp_r23; + Vec spCC; + Vec spC0; + Vec spB4; + Work2C50 spA4; + Vec sp98; + Vec sp8C; + Vec sp80; + Vec sp74; + s32 sp70; + s32 sp58; + s32 sp48; + float temp_f27; + float temp_f26; + + + + temp_r31 = HuPrcCurrentGet()->user_data; + temp_r31->unk40 = 0; + for(temp_r29=0; temp_r29unk10C[temp_r29]->data.base; + temp_r30->pos.x = 5000; + temp_r30 = &temp_r31->unk1AC[temp_r29]->data.base; + temp_r30->pos.x = 5000; + } + while(lbl_1_bss_CA8 == 0) { + HuPrcVSleep(); + } + HuPrcSleep(180); + HuAudFXPlay(1391); + for(temp_r29=0; temp_r29unk6C[temp_r29]->data.base; + temp_f26 = atan2d(temp_r30->pos.x, temp_r30->pos.y); + temp_f27 = VECMagXY(&temp_r30->pos); + temp_f27 *= 1.05f; + temp_r30->pos.x = temp_f27*sind(temp_f26); + temp_r30->pos.y = temp_f27*cosd(temp_f26); + } + omVibrate(temp_r31->unk34, 12, 6, 6); + HuPrcSleep(30); + HuAudFXPlay(1387); + for(temp_r29=0; temp_r29unk6C[temp_r29]->data.base; + temp_r24->user_data = temp_r30; + } + HuPrcSleep(120); + lbl_1_bss_CA8 = 2; + for(temp_r29=0; temp_r29unk44 = 0; + temp_r31->unk804 = -1; + temp_r26 = lbl_1_bss_C04[temp_r29]; + temp_r30 = &temp_r31->unk6C[temp_r26]->data.base; + temp_r28 = &temp_r31->unk10C[temp_r26]->data.base; + if(temp_r29 != 0) { + temp_r25 = &temp_r31->unk24C[lbl_1_bss_C04[temp_r29-1]]; + temp_r30->pos.x = temp_r25->pos.x; + temp_r30->pos.y = temp_r25->pos.y; + temp_r28->pos.x = 20+temp_r30->pos.x; + temp_r28->pos.y = -20+temp_r30->pos.y; + } else { + temp_r30->pos.x = temp_r30->pos.y = 0; + temp_r28->pos.x = 20+temp_r30->pos.x; + temp_r28->pos.y = -20+temp_r30->pos.y; + sp98.x = temp_r30->pos.x+30; + sp98.z = 50; + sp98.y = -30+temp_r30->pos.y; + Hu3D3Dto2D(&sp98, (1 << temp_r31->unk38), &sp8C); + HuSprGrpPosSet(temp_r31->unkA, sp8C.x, sp8C.y); + HuSprAttrReset(temp_r31->unkA, 0, HUSPR_ATTR_DISPOFF); + } + temp_r30->pos.z = 50; + temp_r28->pos.z = temp_r30->pos.z-5; + temp_r30->rot.z = temp_r28->rot.z = 90.0f*lbl_1_bss_B64[temp_r29]; + fn_1_2A34(temp_r31, temp_r26, temp_r29); + if(temp_r29 == 0) { + while(lbl_1_bss_CA8 != 3) { + HuPrcVSleep(); + } + } + while(1) { + if(GWPlayerCfg[temp_r31->unk34].iscom == 1) { + fn_1_3154(temp_r31, temp_r26, temp_r29); + } + if(!sp70) { + temp_r23 = -1; + if(fn_1_21B4_inline(temp_r31->unk34, 0) > 20) { + temp_r23 = 1; + } + if(fn_1_21B4_inline(temp_r31->unk34, 1) > 20) { + temp_r23 = 0; + } + if(temp_r23 != -1) { + sp70 = 1; + temp_r24 = HuPrcChildCreate(fn_1_2C50, 8192, 8192, 0, HuPrcCurrentGet()); + temp_r24->user_data = &spA4; + spA4.unk0 = temp_r31; + spA4.unk4 = temp_r26; + spA4.unk8 = temp_r23; + spA4.unkC = &sp70; + } + } + if((fn_1_2274(temp_r31->unk34) & PAD_BUTTON_A) && !sp70) { + if(0.0f == temp_r30->rot.z) { + temp_r25 = &temp_r31->unk24C[temp_r26]; + HuSetVecF(&spCC, temp_r25->pos.x, temp_r25->pos.y, 0.0f); + HuSetVecF(&spC0, temp_r30->pos.x, temp_r30->pos.y, 0.0f); + HuSubVecF(&spB4, &spCC, &spC0); + if(VECMagXY(&spB4) < 40.0f) { + HuAudFXPlay(1402); + temp_r31->unk44 = 1; + temp_r31->unk48[7] = temp_r30->pos.x; + temp_r31->unk48[8] = temp_r30->pos.y; + fn_1_22E0(temp_r31, temp_r26); + goto end; + } + } + fn_1_263C(temp_r31, temp_r26); + } + temp_r31->unk48[6] = -1.0f; + if(ABS_INV(fn_1_20FC_inline(temp_r31->unk34, 0)) > 20 || ABS_INV(fn_1_20FC_inline(temp_r31->unk34,1)) > 20) { + temp_r31->unk48[6] = atan2d(fn_1_20FC_inline(temp_r31->unk34, 0), fn_1_20FC_inline(temp_r31->unk34, 1)); + } + if(-1.0f != temp_r31->unk48[6]) { + temp_r30->pos.x += 5.0f*sind(temp_r31->unk48[6]); + temp_r30->pos.y += 5.0f*cosd(temp_r31->unk48[6]); + fn_1_2FEC(temp_r31, temp_r26); + temp_r28->pos.x = 20.0f+temp_r30->pos.x; + temp_r28->pos.y = -20.0f+temp_r30->pos.y; + sp80.x = 30.0f+temp_r30->pos.x; + sp80.z = 50; + sp80.y = -30.0f+temp_r30->pos.y; + Hu3D3Dto2D(&sp80, (1 << temp_r31->unk38), &sp74); + HuSprGrpPosSet(temp_r31->unkA, sp74.x, sp74.y); + } + HuPrcVSleep(); + } + + end: + (void)temp_r31; + } + temp_r31->unk40 = 4; + //Hacks to Stop Spilling + (void)temp_r26; + (void)temp_r26; + (void)temp_r24; + (void)temp_r24; + (void)temp_r24; + (void)temp_r23; + (void)temp_r23; + (void)temp_r23; + (void)temp_r23; + while(1) { + HuPrcVSleep(); + } } void fn_1_4768(s32 arg0) { - float temp_f31; - s32 temp_r31; - s32 temp_r30; - Bss348Data *spC = &lbl_1_bss_348[arg0]; - Bss348Data *temp_r29; - - for (temp_r31 = 0, temp_f31 = 1; temp_r31 < 15; temp_r31++) { - temp_f31 -= (1.0f / 15.0f); - for (temp_r30 = 0; temp_r30 < 1; temp_r30++) { - temp_r29 = &lbl_1_bss_348[temp_r30]; - HuSprGrpScaleSet(temp_r29->unkA, temp_f31, temp_f31); - } - HuPrcVSleep(); - } - for (temp_r31 = 0; temp_r31 < 1; temp_r31++) { - HuSprAttrSet(lbl_1_bss_348[temp_r31].unkA, 0, HUSPR_ATTR_DISPOFF); - } + float temp_f31; + s32 temp_r31; + s32 temp_r30; + Bss348Data *spC = &lbl_1_bss_348[arg0]; + Bss348Data *temp_r29; + + for(temp_r31=0, temp_f31=1; temp_r31<15; temp_r31++) { + temp_f31 -= (1.0f/15.0f); + for(temp_r30=0; temp_r30<1; temp_r30++) { + temp_r29 = &lbl_1_bss_348[temp_r30]; + HuSprGrpScaleSet(temp_r29->unkA, temp_f31, temp_f31); + } + HuPrcVSleep(); + } + for(temp_r31=0; temp_r31<1; temp_r31++) { + HuSprAttrSet(lbl_1_bss_348[temp_r31].unkA, 0, HUSPR_ATTR_DISPOFF); + } } void fn_1_4864(void) { - while (1) { - if (omSysExitReq == 1) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuAudFadeOut(1000); - HuPrcSleep(60); - MGSeqKillAll(); - omOvlReturnEx(1, 1); - while (1) { - HuPrcVSleep(); - } - } - HuPrcVSleep(); - } + while(1) { + if(omSysExitReq == 1) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + HuAudFadeOut(1000); + HuPrcSleep(60); + MGSeqKillAll(); + omOvlReturnEx(1, 1); + while(1) { + HuPrcVSleep(); + } + } + HuPrcVSleep(); + } } void fn_1_48C4(void) { - u32 temp_r31; - s32 temp_r30; - s32 temp_r29; - s16 temp_r21; - s32 sp14; - s32 sp10; - - lbl_1_bss_CA8 = 0; - temp_r31 = 0; - lbl_1_bss_CA8 = 1; - while (lbl_1_bss_CA8 == 1) { - HuPrcVSleep(); - } - sp10 = HuAudSeqPlay(69); - temp_r21 = MGSeqStartCreate(); - while (MGSeqStatGet(temp_r21)) { - HuPrcVSleep(); - } - lbl_1_bss_CA8 = 3; - while (1) { - for (temp_r30 = 0, sp14 = 0; temp_r30 < 1; temp_r30++) { - if (lbl_1_bss_348[temp_r30].unk40 == 4) { - temp_r29 = temp_r30; - sp14++; - } - } - if (sp14 != 0) { - break; - } - temp_r31++; - fn_1_918(lbl_1_bss_CAE, 2, temp_r31, 1); - if (temp_r31 >= 35999) { - temp_r29 = -1; - break; - } - HuPrcVSleep(); - } - if (temp_r29 == -1) { - fn_1_918(lbl_1_bss_CAE, 2, 0, 2); - } - HuAudSeqFadeOut(sp10, 100); - for (temp_r30 = 0; temp_r30 < 1; temp_r30++) { - HuPrcKill(lbl_1_bss_4[temp_r30]); - } - temp_r21 = MGSeqFinishCreate(); - while (MGSeqStatGet(temp_r21)) { - HuPrcVSleep(); - } - if (temp_r29 == -1 || temp_r31 >= GWMGRecordGet(lbl_1_data_6C8[lbl_1_bss_B5C])) { - if (temp_r29 != -1) { - HuAudSStreamPlay(1); - } - else { - HuAudSStreamPlay(4); - } - } - if (temp_r29 != -1) { - lbl_1_bss_CA8 = 4; - lbl_1_bss_CA4 = temp_r29; - fn_1_4768(temp_r29); - } - mgRecordExtra = temp_r31; - if (temp_r29 != -1) { - if (lbl_1_data_74C[lbl_1_bss_B5C] >= temp_r31) { - GWGameStat.present[lbl_1_data_758[lbl_1_bss_B5C]] = 1; - OSReport("time %d no %d\n", lbl_1_data_74C[lbl_1_bss_B5C], lbl_1_data_758[lbl_1_bss_B5C]); - } - if (temp_r31 < GWMGRecordGet(lbl_1_data_6C8[lbl_1_bss_B5C])) { - GWMGRecordSet(lbl_1_data_6C8[lbl_1_bss_B5C], temp_r31); - temp_r21 = MGSeqRecordCreate(temp_r31); - HuPrcChildCreate(fn_1_858, 4096, 4096, 0, HuPrcCurrentGet()); - fn_1_918(lbl_1_bss_CAE, 2, temp_r31, 0); - while (MGSeqStatGet(temp_r21)) { - HuPrcVSleep(); - } - HuAudSStreamPlay(1); - } - HuPrcSleep(180); - } - else { - mgRecordExtra = 36000; - HuPrcSleep(210); - } - HuPrcSleep(30); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuPrcSleep(60); - HuAudFadeOut(1); - MGSeqKillAll(); - omOvlReturnEx(1, 1); - while (1) { - HuPrcVSleep(); - } + u32 temp_r31; + s32 temp_r30; + s32 temp_r29; + s16 temp_r21; + s32 sp14; + s32 sp10; + + lbl_1_bss_CA8 = 0; + temp_r31 = 0; + lbl_1_bss_CA8 = 1; + while(lbl_1_bss_CA8 == 1) { + HuPrcVSleep(); + } + sp10 = HuAudSeqPlay(69); + temp_r21 = MGSeqStartCreate(); + while(MGSeqStatGet(temp_r21)) { + HuPrcVSleep(); + } + lbl_1_bss_CA8 = 3; + while(1) { + for(temp_r30=0, sp14=0; temp_r30<1; temp_r30++) { + if(lbl_1_bss_348[temp_r30].unk40 == 4) { + temp_r29 = temp_r30; + sp14++; + } + } + if(sp14 != 0) { + break; + } + temp_r31++; + fn_1_918(lbl_1_bss_CAE, 2, temp_r31, 1); + if(temp_r31 >= 35999) { + temp_r29 = -1; + break; + } + HuPrcVSleep(); + } + if(temp_r29 == -1) { + fn_1_918(lbl_1_bss_CAE, 2, 0, 2); + } + HuAudSeqFadeOut(sp10, 100); + for(temp_r30=0; temp_r30<1; temp_r30++) { + HuPrcKill(lbl_1_bss_4[temp_r30]); + } + temp_r21 = MGSeqFinishCreate(); + while(MGSeqStatGet(temp_r21)) { + HuPrcVSleep(); + } + if(temp_r29 == -1 || temp_r31 >= GWMGRecordGet(lbl_1_data_6C8[lbl_1_bss_B5C])) { + if(temp_r29 != -1) { + HuAudSStreamPlay(1); + } else { + HuAudSStreamPlay(4); + } + } + if(temp_r29 != -1) { + lbl_1_bss_CA8 = 4; + lbl_1_bss_CA4 = temp_r29; + fn_1_4768(temp_r29); + } + mgRecordExtra = temp_r31; + if(temp_r29 != -1) { + if(lbl_1_data_74C[lbl_1_bss_B5C] >= temp_r31) { + GWGameStat.present[lbl_1_data_758[lbl_1_bss_B5C]] = 1; + OSReport("time %d no %d\n", lbl_1_data_74C[lbl_1_bss_B5C], lbl_1_data_758[lbl_1_bss_B5C]); + } + if(temp_r31 < GWMGRecordGet(lbl_1_data_6C8[lbl_1_bss_B5C])) { + GWMGRecordSet(lbl_1_data_6C8[lbl_1_bss_B5C], temp_r31); + temp_r21 = MGSeqRecordCreate(temp_r31); + HuPrcChildCreate(fn_1_858, 4096, 4096, 0, HuPrcCurrentGet()); + fn_1_918(lbl_1_bss_CAE, 2, temp_r31, 0); + while(MGSeqStatGet(temp_r21)) { + HuPrcVSleep(); + } + HuAudSStreamPlay(1); + } + HuPrcSleep(180); + } else { + mgRecordExtra = 36000; + HuPrcSleep(210); + } + HuPrcSleep(30); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + HuPrcSleep(60); + HuAudFadeOut(1); + MGSeqKillAll(); + omOvlReturnEx(1, 1); + while(1) { + HuPrcVSleep(); + } } diff --git a/src/REL/m453Dll/main.c b/src/REL/m453Dll/main.c deleted file mode 100644 index 9db313c7..00000000 --- a/src/REL/m453Dll/main.c +++ /dev/null @@ -1,1758 +0,0 @@ -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/flag.h" -#include "game/frand.h" -#include "game/gamework.h" -#include "game/hsfanim.h" -#include "game/hsfman.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "game/wipe.h" - -#include "string.h" - -#include "REL/m453Dll.h" - -typedef struct M453DllWork { - /* 0x00 */ u8 unk_00; - /* 0x04 */ Vec unk_04; - /* 0x10 */ Vec unk_10; - /* 0x1C */ Vec unk_1C; - /* 0x28 */ Vec unk_28; - /* 0x34 */ Vec unk_34; - /* 0x40 */ Vec unk_40; - /* 0x4C */ Vec unk_4C; - /* 0x58 */ Vec unk_58; - /* 0x64 */ Vec unk_64[3]; - /* 0x88 */ Vec unk_88[3]; - /* 0xAC */ Vec unk_AC[3]; - /* 0xD0 */ Vec unk_D0[3]; - /* 0xF4 */ float unk_F4[3]; - /* 0x100 */ float unk_100[3]; - /* 0x10C */ float unk_10C[3]; - /* 0x118 */ float unk_118[3]; - /* 0x124 */ float unk_124[3]; - /* 0x130 */ float unk_130; - /* 0x134 */ float unk_134; - /* 0x138 */ float unk_138; - /* 0x13C */ float unk_13C; - /* 0x140 */ float unk_140; - /* 0x144 */ float unk_144; - /* 0x148 */ float unk_148; -} M453DllWork; /* size 0x14C */ - -typedef struct M453DllUnkStruct { - s16 unk_00; - s16 unk_02; - float unk_04; - float unk_08; - char unk0C[0x34]; -} M453DllUnkStruct; /* 0x40 */ - -typedef struct M453DllWork2 { - u8 unk_00; - u8 unk_01; - u8 unk_02; - u8 unk_03; - u8 unk_04; - u8 unk_05; - u8 unk_06; - u8 unk_07; - char unk08[2]; - u8 unk_0A; - char unk0B; - u8 unk_0C; - u8 unk_0D; - u8 unk_0E; - s16 unk_10; - s16 unk_12; - s16 unk_14; - s16 unk_16; - s16 unk_18; - s16 unk_1A; - float unk_1C; - float unk_20; - float unk_24; - float unk_28; - Vec unk_2C; - Vec unk_38; - float unk_44; - float unk_48; - float unk_4C; - Vec unk_50; - M453DllUnkStruct unk_5C; - u8 unk_9C; - s32 unk_A0; -} M453DllWork2; /* size 0xA4 */ // same as Unkm403Struct_01 - -void fn_1_440(omObjData *object); -void fn_1_460(omObjData *object); -void fn_1_848(omObjData *object); -void fn_1_FFC(omObjData *object); -void fn_1_105C(omObjData *object); -void fn_1_1248(omObjData *object); -void fn_1_14F8(omObjData *object); -void fn_1_15FC(omObjData *object); -void fn_1_1870(float arg8, Vec *arg0, Vec *arg1, float arg9); -void fn_1_1910(float arg8, Vec *arg0, Vec *arg1, float arg9, Vec *arg2, Vec *arg3, float argA); -void fn_1_1BF0(omObjData *object); -void fn_1_1FA0(omObjData *object); -void fn_1_20EC(omObjData *object); -void fn_1_23E0(omObjData *object); -void fn_1_2E24(omObjData *object); -s32 fn_1_36DC(void); -void fn_1_39C8(omObjData *object); -void fn_1_3C94(omObjData *object); -s16 fn_1_3E9C(s32 arg0, s16 arg1, ParticleHook); -void fn_1_3F38(ModelData *model, ParticleData *particle, Mtx matrix); -s32 fn_1_43B8(void); -float fn_1_440C(float arg8, float arg9, float argA); -void fn_1_4E84(float *arg0, float *arg1, float *arg2, s32 arg3); -float fn_1_513C(float arg8, float *arg0, float *arg1, float *arg2, s32 arg3); -void fn_1_5290(float *arg0, float (*arg1)[3], float (*arg2)[3], s32 arg3); -void fn_1_5670(float arg8, float *arg0, float *arg1, float (*arg2)[3], float (*arg3)[3], s32 arg4); -float fn_1_5884(Vec *arg0); -s32 fn_1_63AC(void); -void fn_1_6448(void); - -s16 lbl_1_data_0 = -1; - -Vec lbl_1_data_4 = { 0.0f, 4000.0f, 4000.0f }; - -Vec lbl_1_data_10 = { 0.0f, -0.7f, -0.6f }; - -GXColor lbl_1_data_1C[0xA] = { - { 0xFF, 0xFF, 0xFF, 0xFF }, - { 0, 0, 0, 0 }, - { 0x45, 0x7A, 0, 0 }, - { 0xC4, 0xFA, 0, 0 }, - { 0, 0, 0, 0 }, - { 0x3F, 0x80, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, -}; - -omObjData *lbl_1_bss_58; -omObjData *lbl_1_bss_54; -omObjData *lbl_1_bss_50; -omObjData *lbl_1_bss_4C; -omObjData *lbl_1_bss_3C[4]; -u16 lbl_1_bss_3A; -s16 lbl_1_bss_38; -s16 lbl_1_bss_36; -s16 lbl_1_bss_34; -s16 lbl_1_bss_32; -s16 lbl_1_bss_1E[0xA]; -s16 lbl_1_bss_1C; -s16 lbl_1_bss_18[2]; -s32 lbl_1_bss_14; -s32 lbl_1_bss_8[3]; -s16 lbl_1_bss_2[3]; -s16 lbl_1_bss_0; - -void ObjectSetup(void) -{ - Process *var_r31; - s32 var_r30; - omObjData *var_r29; - LightData *var_r28; - s32 var_r27; - s32 var_r26; - - OSReport("******* M453ObjectSetup *********\n"); - Hu3DLighInit(); - var_r26 = Hu3DGLightCreateV(&lbl_1_data_4, &lbl_1_data_10, lbl_1_data_1C); - Hu3DGLightInfinitytSet(var_r26); - var_r28 = Hu3DGlobalLight; - var_r28->unk_00 |= 0x8000; - var_r31 = omInitObjMan(0x32, 0x2000); - var_r27 = frand() & 0x1F; - for (var_r30 = 0; var_r30 < var_r27; var_r30++) { - fn_1_43B8(); - } - CRot.x = -23.5f; - CRot.y = 0.0f; - CRot.z = 0.0f; - Center.x = 0.0f; - Center.y = 320.0f; - Center.z = 147.0f; - CZoom = 1720.0f; - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 45.0f, 400.0f, 10000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - lbl_1_bss_54 = omAddObjEx(var_r31, 0x7FDA, 0, 0, -1, omOutView); - lbl_1_bss_58 = omAddObjEx(var_r31, 0x10, 8, 0, -1, fn_1_440); - lbl_1_bss_4C = omAddObjEx(var_r31, 0x20, 0x10, 0, -1, fn_1_105C); - lbl_1_bss_50 = omAddObjEx(var_r31, 0x50, 0x10, 0, -1, fn_1_14F8); - omAddObjEx(var_r31, 0x60, 0, 0, -1, fn_1_39C8); - fn_1_64E8(var_r31); - fn_1_7C2C(3); - omMakeGroupEx(var_r31, 0, 4); - omGetGroupMemberListEx(var_r31, 0); - for (var_r30 = 0; var_r30 < 4; var_r30++) { - var_r29 = omAddObjEx(var_r31, 0x30, 2, 8, 0, fn_1_1BF0); - lbl_1_bss_3C[var_r30] = var_r29; - var_r29->work[0] = var_r30; - var_r29->work[1] = var_r30; - } - omGameSysInit(var_r31); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - HuAudSndGrpSet(0x1C); - lbl_1_bss_2[0] = 1; - if (GWMGRecordGet(9) == 0) { - GWMGRecordSet(9, 0); - } - fn_1_8F48(var_r31, GWMGRecordGet(9)); - fn_1_924C(0); -} - -void fn_1_440(omObjData *object) -{ - lbl_1_bss_3A = 0; - object->func = fn_1_460; -} - -void fn_1_460(omObjData *object) -{ - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - - float var_f31; - float var_f30; - - switch (lbl_1_bss_3A) { - case 0: - sp2C.x = 0.0f; - sp2C.y = 0.0f; - sp2C.z = -50.0f; - sp20.x = -90.0f; - sp20.y = 90.0f; - sp20.z = 0.0f; - var_f31 = 2200.0f; - fn_1_1870(1.0f, &sp2C, &sp20, var_f31); - lbl_1_bss_32 = 0x3C; - lbl_1_bss_3A += 1; - break; - case 1: - if (--lbl_1_bss_32 == 0) { - lbl_1_bss_3A += 1; - } - break; - case 2: - if (lbl_1_bss_32 == 0) { - fn_1_7C3C(); - lbl_1_bss_32 = 0x5A; - sp2C.x = 200.0f; - sp2C.y = 100.0f; - sp2C.z = -50.0f; - sp20.x = -50.0f; - sp20.y = 90.0f; - sp20.z = 0.0f; - var_f31 = 2000.0f; - sp14.x = 0.0f; - sp14.y = 320.0f; - sp14.z = 147.0f; - sp8.x = -23.5f; - sp8.y = 0.0f; - sp8.z = 0.0f; - var_f30 = 1720.0f; - fn_1_1910(180.0f, &sp14, &sp8, var_f30, &sp2C, &sp20, var_f31); - } - if (--lbl_1_bss_32 == 0) { - lbl_1_bss_3A += 1; - } - break; - case 3: - if (lbl_1_bss_32 == 0) { - lbl_1_bss_32 = 0x5A; - } - if (--lbl_1_bss_32 == 0) { - lbl_1_bss_3A += 1; - } - break; - case 4: - lbl_1_bss_3A = 5; - lbl_1_bss_38 = lbl_1_bss_36 = -1; - object->func = fn_1_848; - HuSprAnimRead(HuDataReadNum(0x220013, 0x10000000)); - break; - } - if ((omSysExitReq != 0) && (WipeStatGet() == 0)) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_FFC; - } -} - -s32 lbl_1_data_68[9] = { - -1, - 0x610000, - 0x610001, - 0x610002, - 0x610003, - 0x610004, - 0x610005, - 0x610006, - 0x610007, -}; - -void fn_1_848(omObjData *object) -{ - Vec sp1C; - Vec sp10; - s16 sp8[4]; - float var_f31; - - s32 var_r31; - s32 var_r30; - s32 var_r28; - - switch (lbl_1_bss_3A) { - case 5: - if (lbl_1_bss_36 == -1) { - lbl_1_bss_34 = 0x708; - lbl_1_bss_36 = MGSeqCreate(3, 0); - MGSeqPosSet(lbl_1_bss_36, 320.0f, 240.0f); - } - else if (MGSeqStatGet(lbl_1_bss_36) == 0) { - lbl_1_bss_36 = -1; - lbl_1_bss_3A += 1; - lbl_1_bss_32 = 0; - lbl_1_data_0 = 4; - } - if ((lbl_1_data_68[0] == -1) && ((MGSeqStatGet(lbl_1_bss_36) & 0x10) != 0)) { - lbl_1_data_68[0] = HuAudSeqPlay(0x48); - } - break; - case 6: - var_r30 = 0; - if ((lbl_1_data_0 == 0) && (fn_1_8240() == 0)) { - var_r30++; - } - if (var_r30 != 0) { - lbl_1_bss_3A += 1; - } - break; - case 7: - if (lbl_1_bss_36 == -1) { - lbl_1_bss_36 = MGSeqCreate(3, 1); - MGSeqPosSet(lbl_1_bss_36, 320.0f, 240.0f); - MGSeqKill(lbl_1_bss_38); - HuAudSeqFadeOut(lbl_1_data_68[0], 0x64); - } - else if (MGSeqStatGet(lbl_1_bss_36) == 0) { - lbl_1_bss_36 = -1; - if (lbl_1_bss_2[0] == 0) { - if (lbl_1_data_0 != 0) { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (((M453DllWork2 *)lbl_1_bss_3C[var_r31]->data)->unk_07 != 0) { - break; - } - } - sp1C.x = lbl_1_bss_3C[var_r31]->trans.x; - sp1C.y = 100.0f; - sp1C.z = lbl_1_bss_3C[var_r31]->trans.z; - sp10.x = -18.0f; - sp10.y = 0.0f; - sp10.z = 0.0f; - var_f31 = 600.0f; - fn_1_1870(45.0f, &sp1C, &sp10, var_f31); - } - lbl_1_bss_3A = 9; - lbl_1_bss_32 = 0x5A; - } - else { - if ((lbl_1_bss_14 != 0) && (lbl_1_bss_0 >= 0xF)) { - GWGameStat.present[0x31] = 1; - } - if ((lbl_1_bss_14 != 0) && ((s32)GWMGRecordGet(9) < lbl_1_bss_0)) { - GWMGRecordSet(9, lbl_1_bss_0); - lbl_1_bss_3A = 8; - fn_1_924C(1); - } - else { - lbl_1_bss_36 = -1; - lbl_1_bss_3A = 9; - lbl_1_bss_32 = 0x5A; - } - fn_1_6448(); - } - } - break; - case 8: - if (lbl_1_bss_36 == -1) { - lbl_1_bss_36 = MGSeqCreate(0xE, lbl_1_bss_0); - } - else if (MGSeqStatGet(lbl_1_bss_36) == 0) { - lbl_1_bss_36 = -1; - lbl_1_bss_32 = 0x5A; - lbl_1_bss_3A = 9; - } - break; - case 9: - if (--lbl_1_bss_32 == 0) { - lbl_1_bss_3A += 1; - } - break; - case 10: - if (lbl_1_bss_2[0] == 0) { - if (lbl_1_bss_36 == -1) { - if (lbl_1_data_0 == 0) { - lbl_1_bss_36 = MGSeqCreate(3, 2); - HuAudSStreamPlay(4); - } - else { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - sp8[var_r31] = -1; - } - for (var_r31 = 0, var_r28 = 0; var_r31 < 4; var_r31++) { - if (((M453DllWork2 *)lbl_1_bss_3C[var_r31]->data)->unk_07 != 0) { - sp8[var_r28++] = GWPlayerCfg[var_r31].character; - } - } - lbl_1_bss_36 = MGSeqCreate(5, 3, sp8[0], sp8[1], sp8[2], sp8[3]); - HuAudSStreamPlay(1); - } - } - lbl_1_bss_36 = -1; - lbl_1_bss_32 = 0xD2; - lbl_1_bss_3A += 1; - } - else { - if (lbl_1_data_0 != 0) { - HuAudSStreamPlay(1); - } - else { - HuAudSStreamPlay(4); - } - lbl_1_bss_36 = -1; - lbl_1_bss_32 = 0xD2; - lbl_1_bss_3A += 1; - } - break; - case 11: - if (--lbl_1_bss_32 == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_FFC; - } - break; - } - if ((omSysExitReq != 0) && (WipeStatGet() == 0)) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_FFC; - } -} - -void fn_1_FFC(omObjData *object) -{ - if (WipeStatGet() == 0) { - fn_1_6748(); - CharModelKill(-1); - MGSeqKill(lbl_1_bss_38); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - } -} - -void fn_1_105C(omObjData *object) -{ - Hu3DLightAllKill(); - lbl_1_bss_18[0] = Hu3DGLightCreateV(&lbl_1_data_4, &lbl_1_data_10, lbl_1_data_1C); - Hu3DGLightStaticSet(lbl_1_bss_18[0], 1); - Hu3DGLightInfinitytSet(lbl_1_bss_18[0]); - lbl_1_bss_18[1] = Hu3DGLightCreate(0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0, 0, 0); - Hu3DGLightStaticSet(lbl_1_bss_18[1], 1); - Hu3DGLightPointSet(lbl_1_bss_18[1], 0.0f, 0.0f, 3); - Hu3DGLightColorSet(lbl_1_bss_18[0], 0, 0, 0, 0xFF); - Hu3DGLightPosSet(lbl_1_bss_18[1], -1470.0f, 800.0f, -2000.0f, 0.0f, -1.0f, 0.0f); - Hu3DGLightColorSet(lbl_1_bss_18[1], 0, 0, 0, 0xFF); - Hu3DGLightPointSet(lbl_1_bss_18[1], 1200.0f, 0.6f, 3); - object->func = fn_1_1248; -} - -void fn_1_1248(omObjData *object) -{ - s32 var_r30; - - s8 sp11[9] = { 0x01, 0x00, 0x02, 0x01, 0x00, 0x03, 0x02, 0x01, 0x00 }; - s8 sp8[9] = { 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03 }; - - switch (lbl_1_bss_3A) { - case 0: - break; - case 1: - Hu3DGLightColorSet(lbl_1_bss_18[0], 0xF0, 0xF0, 0xF0, 0xFF); - break; - case 3: - Hu3DGLightColorSet(lbl_1_bss_18[1], 0xFF, 0xE0, 0xD0, 0xFF); - break; - case 5: - object->work[0] = 0x1E; - object->work[1] = 0x11; - lbl_1_bss_8[0] = 1; - break; - case 6: - if (fn_1_8240() == 0) { - if (lbl_1_bss_8[0] == 0) { - lbl_1_bss_8[0] = 0x1E; - lbl_1_bss_0++; - lbl_1_bss_14 = fn_1_63AC(); - if (lbl_1_bss_0 == 0x63) { - lbl_1_bss_3A = 7; - return; - } - } - lbl_1_bss_8[0]--; - if (lbl_1_bss_8[0] == 0) { - var_r30 = (object->work[1] - 2) >> 1; - if (var_r30 < 0) { - var_r30 = 0; - } - fn_1_864C(sp11[var_r30]); - fn_1_7C2C(sp8[var_r30]); - fn_1_7C0C(0.01f * object->work[0]); - object->work[0] += 5; - if (object->work[1] > 2) { - object->work[1] -= 1; - } - } - } - break; - } -} - -void fn_1_14F8(omObjData *object) -{ - M453DllWork *var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M453DllWork), MEMORY_DEFAULT_NUM); - object->data = var_r31; - var_r31->unk_148 = var_r31->unk_144 = 0.0f; - var_r31->unk_140 = 1.0f; - var_r31->unk_10.x = var_r31->unk_28.x = -23.5f; - var_r31->unk_10.y = var_r31->unk_28.y = 0.0f; - var_r31->unk_10.z = var_r31->unk_28.z = 0.0f; - var_r31->unk_04.x = var_r31->unk_1C.x = 0.0f; - var_r31->unk_04.y = var_r31->unk_1C.y = 320.0f; - var_r31->unk_04.z = var_r31->unk_1C.z = 147.0f; - var_r31->unk_130 = var_r31->unk_134 = 1720.0f; - object->func = fn_1_15FC; -} - -void fn_1_15FC(omObjData *object) -{ - float var_f31; - M453DllWork *var_r31 = object->data; - - if (var_r31->unk_148 > 0.0f) { - var_r31->unk_148 = var_r31->unk_148 - var_r31->unk_140; - var_f31 = (var_r31->unk_144 - var_r31->unk_148) / var_r31->unk_144; - var_f31 = sind((90.0f * var_f31)); - if (var_r31->unk_00 == 0) { - var_r31->unk_04.x = var_r31->unk_1C.x + (var_f31 * (var_r31->unk_34.x - var_r31->unk_1C.x)); - var_r31->unk_04.y = var_r31->unk_1C.y + (var_f31 * (var_r31->unk_34.y - var_r31->unk_1C.y)); - var_r31->unk_04.z = var_r31->unk_1C.z + (var_f31 * (var_r31->unk_34.z - var_r31->unk_1C.z)); - var_r31->unk_10.x = var_r31->unk_28.x + (var_f31 * (var_r31->unk_40.x - var_r31->unk_28.x)); - var_r31->unk_10.y = var_r31->unk_28.y + (var_f31 * (var_r31->unk_40.y - var_r31->unk_28.y)); - var_r31->unk_10.z = var_r31->unk_28.z + (var_f31 * (var_r31->unk_40.z - var_r31->unk_28.z)); - var_r31->unk_130 = var_r31->unk_134 + (var_f31 * (var_r31->unk_138 - var_r31->unk_134)); - } - else { - fn_1_5670(2.0f * var_f31, (float *)&var_r31->unk_04, var_r31->unk_F4, (float(*)[3])var_r31->unk_64, (float(*)[3])var_r31->unk_88, 3); - fn_1_5670(2.0f * var_f31, (float *)&var_r31->unk_10, var_r31->unk_100, (float(*)[3])var_r31->unk_AC, (float(*)[3])var_r31->unk_D0, 3); - var_r31->unk_130 = fn_1_513C(2.0f * var_f31, var_r31->unk_124, var_r31->unk_10C, var_r31->unk_118, 3); - } - } - CRot.x = var_r31->unk_10.x; - CRot.y = var_r31->unk_10.y; - CRot.z = var_r31->unk_10.z; - Center.x = var_r31->unk_04.x; - Center.y = var_r31->unk_04.y; - Center.z = var_r31->unk_04.z; - CZoom = var_r31->unk_130; -} - -void fn_1_1870(float arg8, Vec *arg0, Vec *arg1, float arg9) -{ - M453DllWork *var_r31; - - var_r31 = lbl_1_bss_50->data; - var_r31->unk_00 = 0; - var_r31->unk_144 = arg8; - var_r31->unk_148 = arg8; - var_r31->unk_1C = var_r31->unk_04; - var_r31->unk_34.x = arg0->x; - var_r31->unk_34.y = arg0->y; - var_r31->unk_34.z = arg0->z; - var_r31->unk_28 = var_r31->unk_10; - var_r31->unk_40.x = arg1->x; - var_r31->unk_40.y = arg1->y; - var_r31->unk_40.z = arg1->z; - var_r31->unk_134 = var_r31->unk_130; - var_r31->unk_138 = arg9; -} - -void fn_1_1910(float arg8, Vec *arg0, Vec *arg1, float arg9, Vec *arg2, Vec *arg3, float argA) -{ - float var_f31; - float var_f30; - M453DllWork *var_r31 = lbl_1_bss_50->data; - - var_r31->unk_00 = 1; - var_r31->unk_148 = var_r31->unk_144 = arg8; - var_r31->unk_1C = var_r31->unk_04; - var_r31->unk_34.x = arg0->x; - var_r31->unk_34.y = arg0->y; - var_r31->unk_34.z = arg0->z; - var_r31->unk_4C.x = arg2->x; - var_r31->unk_4C.y = arg2->y; - var_r31->unk_4C.z = arg2->z; - var_r31->unk_28 = var_r31->unk_10; - var_r31->unk_40.x = arg1->x; - var_r31->unk_40.y = arg1->y; - var_r31->unk_40.z = arg1->z; - var_r31->unk_58.x = arg3->x; - var_r31->unk_58.y = arg3->y; - var_r31->unk_58.z = arg3->z; - var_r31->unk_134 = var_r31->unk_130; - var_r31->unk_138 = arg9; - var_r31->unk_13C = argA; - var_r31->unk_64[0] = var_r31->unk_1C; - var_r31->unk_64[1] = var_r31->unk_4C; - var_r31->unk_64[2] = var_r31->unk_34; - var_r31->unk_AC[0] = var_r31->unk_28; - var_r31->unk_AC[1] = var_r31->unk_58; - var_r31->unk_AC[2] = var_r31->unk_40; - var_r31->unk_10C[0] = var_r31->unk_134; - var_r31->unk_10C[1] = var_r31->unk_13C; - var_r31->unk_10C[2] = var_r31->unk_138; - var_r31->unk_124[0] = 0.0f; - if ((var_r31->unk_10C[1] - var_r31->unk_10C[0]) < 0.0f) { - var_f31 = -(var_r31->unk_10C[1] - var_r31->unk_10C[0]); - } - else { - var_f31 = var_r31->unk_10C[1] - var_r31->unk_10C[0]; - } - var_r31->unk_124[1] = var_f31; - if ((var_r31->unk_10C[2] - var_r31->unk_10C[1]) < 0.0f) { - var_f30 = -(var_r31->unk_10C[2] - var_r31->unk_10C[1]); - } - else { - var_f30 = var_r31->unk_10C[2] - var_r31->unk_10C[1]; - } - var_r31->unk_124[2] = var_r31->unk_124[1] + var_f30; - fn_1_5290(var_r31->unk_F4, (float(*)[3])var_r31->unk_64, (float(*)[3])var_r31->unk_88, 3); - fn_1_5290(var_r31->unk_100, (float(*)[3])var_r31->unk_AC, (float(*)[3])var_r31->unk_D0, 3); - fn_1_4E84(var_r31->unk_124, var_r31->unk_10C, var_r31->unk_118, 3); -} - -void fn_1_1BC8(float arg8) -{ - M453DllWork *var_r31 = lbl_1_bss_50->data; - var_r31->unk_140 = arg8; -} - -s32 lbl_1_data_C4[8] = { 0, 2, 3, 8, 0xA, 9, 0x17, 0x18 }; - -Vec lbl_1_data_E4[4] = { - { -300.0f, 2200.0f, 0.0f }, - { -100.0f, 2200.0f, 0.0f }, - { 100.0f, 2200.0f, 0.0f }, - { 300.0f, 2200.0f, 0.0f }, -}; - -void fn_1_1BF0(omObjData *object) -{ - M453DllWork2 *var_r31; - s32 var_r29; - s32 var_r28; - u32 var_r27; - - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M453DllWork2), MEMORY_DEFAULT_NUM); - object->data = var_r31; - var_r31->unk_00 = object->work[0]; - var_r31->unk_01 = GWPlayerCfg[var_r31->unk_00].character; - var_r31->unk_02 = var_r31->unk_00 >> 1; - var_r31->unk_03 = var_r31->unk_00 & 1; - var_r31->unk_04 = GWPlayerCfg[var_r31->unk_00].pad_idx; - var_r31->unk_05 = GWPlayerCfg[var_r31->unk_00].iscom; - var_r31->unk_06 = GWPlayerCfg[var_r31->unk_00].diff; - var_r31->unk_18 = var_r31->unk_1A = 0; - var_r31->unk_07 = 1; - var_r31->unk_0C = 1; - var_r31->unk_0D = 0; - var_r31->unk_0E = 0; - var_r31->unk_0A = 0; - var_r31->unk_9C = 0; - var_r27 = object->work[1]; - var_r31->unk_2C.x = lbl_1_data_E4[var_r27].x; - var_r31->unk_2C.y = lbl_1_data_E4[var_r27].y + (100.0f * ((fn_1_43B8() - 0x8000) / 32768.0f)); - var_r31->unk_2C.z = lbl_1_data_E4[var_r27].z; - var_r31->unk_44 = var_r31->unk_48 = var_r31->unk_4C = 0.0f; - var_r31->unk_38.x = var_r31->unk_38.y = var_r31->unk_38.z = 0.0f; - var_r31->unk_20 = var_r31->unk_38.y; - var_r31->unk_24 = 0.0f; - var_r31->unk_1C = 0.0f; - var_r31->unk_28 = 1.0f; - memset(&var_r31->unk_5C, 0, sizeof(M453DllUnkStruct)); - var_r31->unk_A0 = 1; - if ((lbl_1_bss_2[0] != 0) && (var_r31->unk_05 == 0)) { - lbl_1_bss_1E[lbl_1_bss_1C++] = var_r31->unk_00; - } - var_r28 = CharModelCreate(var_r31->unk_01, 4); - object->model[0] = var_r28; - Hu3DModelAttrSet(var_r28, HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(var_r28); - for (var_r29 = 0; var_r29 < 8; var_r29++) { - object->motion[var_r29] = CharModelMotionCreate(var_r31->unk_01, lbl_1_data_C4[var_r29]); - } - CharModelMotionDataClose(var_r31->unk_01); - CharModelMotionSet(var_r31->unk_01, object->motion[var_r31->unk_18]); - omSetTra(object, var_r31->unk_2C.x, var_r31->unk_2C.y, var_r31->unk_2C.z); - Hu3DModelPosSet(var_r28, var_r31->unk_2C.x, var_r31->unk_2C.y, var_r31->unk_2C.z); - Hu3DModelRotSet(var_r28, 0.0f, 30.0f, 0.0f); - CharModelStepTypeSet(var_r31->unk_01, 1); - CharModelVoiceEnableSet(var_r31->unk_01, object->motion[3], 0); - object->func = fn_1_1FA0; -} - -void fn_1_1FA0(omObjData *object) -{ - s32 sp8 = *object->model; - M453DllWork2 *var_r31 = object->data; - var_r31->unk_10 = var_r31->unk_12 = 0; - var_r31->unk_14 = var_r31->unk_16 = 0; - switch (lbl_1_bss_3A) { - case 3: - break; - case 2: - if (!(lbl_1_bss_32 < 60.0f)) { - case 1: - var_r31->unk_18 = 3; - var_r31->unk_48 = 0.0f; - var_r31->unk_0C = 0; - } - break; - case 5: - object->func = fn_1_20EC; - break; - } - if (var_r31->unk_2C.y < 10.0f) { - omVibrate(var_r31->unk_00, 0xC, 6, 6); - var_r31->unk_2C.y = 10.0f; - var_r31->unk_0C = 1; - } - fn_1_2E24(object); -} - -void fn_1_20EC(omObjData *object) -{ - M453DllWork2 *var_r31; - s32 var_r29; - s32 var_r28; - - var_r29 = object->model[0]; - var_r31 = object->data; - if (var_r31->unk_07 != 0) { - if ((lbl_1_bss_3A == 6) && ((var_r31->unk_07 & 2) == 0)) { - if (var_r31->unk_05 != 0) { - fn_1_23E0(object); - } - else { - var_r31->unk_10 = HuPadStkX[var_r31->unk_04]; - var_r31->unk_12 = HuPadStkY[var_r31->unk_04]; - var_r31->unk_14 = HuPadBtnDown[var_r31->unk_04]; - var_r31->unk_16 = HuPadBtn[var_r31->unk_04]; - } - } - else { - var_r31->unk_10 = var_r31->unk_12 = 0; - var_r31->unk_14 = var_r31->unk_16 = 0; - } - switch (lbl_1_bss_3A) { - case 5: - case 6: - case 8: - break; - case 7: - case 9: - object->scale.y += 0.2f * (1.0f - object->scale.y); - var_r31->unk_38.y = fn_1_440C(var_r31->unk_38.y, 0.0f, 0.9f); - break; - case 10: - if (var_r31->unk_18 != 6) { - var_r31->unk_18 = 6; - } - break; - } - if ((var_r31->unk_07 & 2) != 0) { - var_r31->unk_10 = var_r31->unk_12 = 0; - var_r31->unk_14 = var_r31->unk_16 = 0; - if (object->scale.y < 0.2f) { - omVibrate(var_r31->unk_00, 0xC, 4, 2); - HuAudFXPlay(0x523); - var_r31->unk_07 = 0; - Hu3DModelShadowReset(var_r29); - Hu3DModelAttrSet(var_r29, HU3D_ATTR_DISPOFF); - lbl_1_data_0--; - var_r28 = fn_1_3E9C(0x220013, 0x64, fn_1_3F38); - Hu3DModelPosSet(var_r28, var_r31->unk_2C.x, var_r31->unk_2C.y, var_r31->unk_2C.z); - Hu3DModelLayerSet(var_r28, 2); - } - } - if (fn_1_8240() != 0) { - var_r31->unk_A0 = 0; - } - else if (((var_r31->unk_07 & 2) == 0) && (var_r31->unk_A0 == 0)) { - omVibrate(var_r31->unk_00, 0xC, 6, 6); - var_r31->unk_A0 = 1; - } - fn_1_2E24(object); - } -} - -void fn_1_23E0(omObjData *object) -{ - Vec sp38[6]; - float sp20[6]; - Vec sp14; - Vec sp8; - - float var_f31; - float var_f30; - float var_f29; - float var_f28; - - M453DllWork2 *var_r31; - s32 var_r30; - s32 var_r29; - s16 var_r28; - s16 var_r27; - s16 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - s32 var_r22; - s16 var_r21; - s16 var_r20; - - var_r22 = 0; - var_r30 = 0; - var_r29 = 0; - for (; var_r30 < 4; var_r30++) { - var_r31 = lbl_1_bss_3C[var_r30]->data; - if ((var_r31->unk_05 == 0) && (var_r31->unk_07 != 0)) { - break; - } - } - var_r31 = object->data; - if ((var_r30 >= 4) && (var_r31->unk_9C == 0)) { - var_r22 = 1; - } - var_r28 = var_r31->unk_06; - var_r27 = var_r26 = var_r21 = var_r20 = 0; - switch (var_r31->unk_5C.unk_00) { - case 0: - if (fn_1_8240() != 0) { - var_r31->unk_5C.unk_00 = 1; - } - break; - case 1: - var_r31->unk_5C.unk_00 = 2; - var_r31->unk_5C.unk_02 = (s32)(60.0f * (1.2f - (0.2f * var_r28)) * (fn_1_43B8() / 65536.0f)); - var_r31->unk_5C.unk_04 = 500.0f * ((fn_1_43B8() - 0x8000) / 32768.0f); - var_r31->unk_5C.unk_08 = 200.0f * ((fn_1_43B8() - 0x8000) / 32768.0f); - var_r27 = var_r31->unk_10; - var_r26 = var_r31->unk_12; - break; - case 2: - sp8.x = var_r31->unk_5C.unk_04 - var_r31->unk_2C.x; - sp8.y = 0.0f; - sp8.z = var_r31->unk_5C.unk_08 - var_r31->unk_2C.z; - var_f31 = fn_1_5884(&sp8); - if (var_f31 < 20.0f) { - var_r31->unk_5C.unk_00 = 3; - } - else { - if (var_f31 >= 100.0f) { - var_f28 = 0.8f; - } - else { - var_f28 = 0.4f; - } - var_f30 = fn_1_440C(var_r31->unk_38.y, atan2d(sp8.x, sp8.z), var_f28); - var_f29 = 48.0f + (4.0f * var_r28); - var_r27 = var_f29 * sind(var_f30); - var_r26 = var_f29 * -cosd(var_f30); - if (fn_1_8240() == 0) { - var_r31->unk_5C.unk_00 = 0; - if (var_r31->unk_5C.unk_02 == 0) { - var_r31->unk_5C.unk_02 = -1; - } - } - else if (var_r31->unk_5C.unk_02 >= 0) { - if (var_r31->unk_5C.unk_02 == 0) { - if ((var_f31 < 150.0f) && (var_r31->unk_0E != 0)) { - var_r31->unk_5C.unk_00 = 3; - } - else if (((s32)((var_r28 + 2) * (fn_1_43B8() / 65536.0f)) != 0) && (var_r22 == 0)) { - var_r31->unk_5C.unk_00 = 4; - } - else { - var_r31->unk_5C.unk_00 = 1; - } - } - else { - var_r31->unk_5C.unk_02--; - } - } - } - break; - case 3: - sp8.x = var_r31->unk_5C.unk_04 - var_r31->unk_2C.x; - sp8.y = 0.0f; - sp8.z = var_r31->unk_5C.unk_08 - var_r31->unk_2C.z; - if ((fn_1_5884(&sp8) >= 30.000002f) && (var_r31->unk_0E == 0)) { - var_r31->unk_5C.unk_00 = 2; - } - else if (fn_1_8240() == 0) { - var_r31->unk_5C.unk_00 = 0; - } - else { - if (var_r31->unk_5C.unk_02 > 0) { - var_r31->unk_5C.unk_02--; - } - if (var_r31->unk_5C.unk_02 == 0) { - if (((s32)((var_r28 + 2) * (fn_1_43B8() / 65536.0f)) != 0) && (var_r22 == 0)) { - var_r31->unk_5C.unk_00 = 4; - } - else { - var_r31->unk_5C.unk_00 = 1; - } - } - } - break; - case 4: - var_r24 = fn_1_82AC(sp38); - for (var_r30 = 0; var_r30 < var_r24; var_r30++) { - VECSubtract(&sp38[var_r30], &var_r31->unk_2C, &sp8); - sp20[var_r30] = VECMag(&sp8); - } - for (var_r30 = 0; var_r30 < (var_r24 - 1); var_r30++) { - for (var_r29 = var_r30 + 1; var_r29 < var_r24; var_r29++) { - if (sp20[var_r30] > sp20[var_r29]) { - sp14 = sp38[var_r30]; - sp38[var_r30] = sp38[var_r29]; - sp38[var_r29] = sp14; - var_f31 = sp20[var_r30]; - sp20[var_r30] = sp20[var_r29]; - sp20[var_r29] = var_f31; - } - } - } - var_r25 = 0x3E8; - var_r23 = var_r25 * (fn_1_43B8() / 65536.0f); - for (var_r30 = 0; var_r30 < (var_r24 - 1); var_r30++) { - var_r25 = 0.1f * (var_r25 * (5.0f + var_r28)); - var_r23 -= var_r25; - if (var_r23 < 0) { - break; - } - } - var_r31->unk_5C.unk_04 = sp38[var_r30].x + (100.0f * (0.5f - (0.15f * var_r28)) * ((fn_1_43B8() - 0x8000) / 32768.0f)); - var_r31->unk_5C.unk_08 = sp38[var_r30].z + (100.0f * (0.5f - (0.15f * var_r28)) * ((fn_1_43B8() - 0x8000) / 32768.0f)); - var_r31->unk_5C.unk_00 = 2; - var_r31->unk_5C.unk_02 = -1; - var_r27 = var_r31->unk_10; - var_r26 = var_r31->unk_12; - break; - } - var_r31->unk_10 = var_r27; - var_r31->unk_12 = var_r26; - var_r31->unk_14 = var_r21; - var_r31->unk_16 = var_r20; -} - -void fn_1_2E24(omObjData *object) -{ - s16 spA; - s16 sp8; - float var_f29; - - M453DllWork2 *var_r31; - s16 var_r30; - s16 var_r29; - s16 var_r28; - s16 var_r27; - s32 var_r25; - - var_r31 = object->data; - var_r25 = object->model[0]; - var_r28 = var_r31->unk_18; - var_r31->unk_50 = var_r31->unk_2C; - var_r30 = var_r31->unk_10; - var_r29 = var_r31->unk_12; - spA = var_r31->unk_14; - sp8 = var_r31->unk_16; - switch (var_r31->unk_18) { - case 0: - case 1: - case 2: - var_r31->unk_1C = 0.14f * sqrtf((var_r30 * var_r30) + (var_r29 * var_r29)); - if (var_r31->unk_1C > 0.1f) { - if (var_r31->unk_1C >= 6.0f) { - var_r28 = 2; - var_r27 = 1; - } - else { - var_r28 = 1; - var_r27 = 1; - } - var_f29 = atan2d(var_r30, -var_r29); - var_r31->unk_38.y = fn_1_440C(var_r31->unk_38.y, var_f29, 0.5f); - var_r31->unk_20 = var_r31->unk_38.y; - var_r31->unk_24 += 1.0f; - if (var_r31->unk_24 >= (0.5f * var_r31->unk_28)) { - var_r31->unk_24 = var_r31->unk_24 - (0.5f * var_r31->unk_28); - } - var_r31->unk_1C = var_r31->unk_1C * (1.0 + (0.25 * cosd((90.0f * (var_r31->unk_24 / (0.5f * var_r31->unk_28)))))); - } - else { - var_r31->unk_24 = 0.0f; - var_r31->unk_1C = 0.0f; - var_r28 = 0; - var_r27 = 1; - } - var_r31->unk_48 = -2.4333334f; - break; - case 3: - var_r27 = 0; - if ((Hu3DData[var_r25].unk_0C == -1) && (CharModelMotionEndCheck(var_r31->unk_01) != 0)) { - var_r31->unk_48 += -2.4333334f; - } - else { - var_r31->unk_48 = 0.0f; - } - if (var_r31->unk_0C != 0) { - if (var_r31->unk_0D != 0) { - var_r31->unk_48 = 0.0f; - var_r31->unk_0D = 0; - var_r28 = 5; - var_r27 = 0; - } - else { - var_r31->unk_48 *= -0.1f; - var_r31->unk_0C = 0; - var_r28 = 4; - var_r27 = 0; - } - } - break; - case 4: - var_r31->unk_48 += -2.4333334f; - if ((var_r31->unk_0C != 0) && (CharModelMotionEndCheck(var_r31->unk_01) != 0)) { - var_r28 = 5; - var_r27 = 0; - } - break; - case 5: - if (CharModelMotionEndCheck(var_r31->unk_01) != 0) { - var_r28 = 0; - var_r27 = 1; - } - break; - case 6: - case 7: - var_r27 = 0; - var_r31->unk_48 = -2.4333334f; - break; - } - if (var_r31->unk_07 & 4) { - if (var_r31->unk_0A & 2) { - Hu3DModelAttrSet(var_r25, HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrReset(var_r25, HU3D_ATTR_DISPOFF); - } - if (--var_r31->unk_0A == 0) { - var_r31->unk_07 = var_r31->unk_07 & 0xFFFFFFFB; - } - } - var_r31->unk_44 = var_r31->unk_1C * sind(var_r31->unk_20); - var_r31->unk_4C = var_r31->unk_1C * cosd(var_r31->unk_20); - var_r31->unk_2C.x += var_r31->unk_44; - if (var_r31->unk_0C == 0) { - var_r31->unk_2C.y = var_r31->unk_2C.y + var_r31->unk_48; - } - var_r31->unk_2C.z += var_r31->unk_4C; - if (var_r28 != var_r31->unk_1A) { - var_r31->unk_1A = var_r28; - var_r31->unk_18 = var_r28; - CharModelMotionShiftSet(var_r31->unk_01, object->motion[var_r31->unk_18], 0.0f, 8.0f, var_r27); - var_r31->unk_28 = CharModelMotionMaxTimeGet(var_r31->unk_01); - } - omSetTra(object, var_r31->unk_2C.x, var_r31->unk_2C.y, var_r31->unk_2C.z); - omSetRot(object, var_r31->unk_38.x, var_r31->unk_38.y, var_r31->unk_38.z); -} - -void fn_1_3648(void) -{ - s32 var_r31; - M453DllWork2 *var_r30; - s32 var_r29; - - var_r29 = 0; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = lbl_1_bss_3C[var_r31]->data; - if (var_r30->unk_07 != 0) { - var_r30->unk_0E = 0; - } - } - while ((fn_1_36DC() != 0) && (var_r29 < 0x32)) { - var_r29++; - } -} - -s32 fn_1_36DC(void) -{ - Vec sp14[4]; - Vec sp8; - float var_f30; - float var_f31; - - M453DllWork2 *var_r31; - s32 var_r30; - s32 var_r29; - M453DllWork2 *var_r28; - M453DllWork2 *var_r27; - s32 var_r26; - omObjData *var_r25; - - var_r26 = 0; - for (var_r30 = 0; var_r30 < 4; var_r30++) { - sp14[var_r30].x = sp14[var_r30].y = sp14[var_r30].z = 0.0f; - } - for (var_r30 = 0; var_r30 < 3; var_r30++) { - var_r28 = lbl_1_bss_3C[var_r30]->data; - if (var_r28->unk_07 != 0) { - for (var_r29 = var_r30 + 1; var_r29 < 4; var_r29++) { - var_r27 = lbl_1_bss_3C[var_r29]->data; - if (var_r27->unk_07 != 0) { - VECSubtract(&var_r28->unk_2C, &var_r27->unk_2C, &sp8); - var_f31 = VECMag(&sp8); - if (var_f31 < 80.0f) { - VECNormalize(&sp8, &sp8); - var_f30 = 0.0001f + (0.5f * (80.0f - var_f31)); - VECScale(&sp8, &sp8, var_f30); - VECAdd(&sp14[var_r30], &sp8, &sp14[var_r30]); - VECSubtract(&sp14[var_r29], &sp8, &sp14[var_r29]); - var_r28->unk_0E++; - var_r27->unk_0E++; - var_r26++; - } - } - } - } - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - var_r25 = lbl_1_bss_3C[var_r30]; - var_r31 = var_r25->data; - if (var_r31->unk_07 != 0) { - VECAdd(&var_r31->unk_2C, &sp14[var_r30], &var_r31->unk_2C); - if (var_r31->unk_2C.x > 660.0f) { - var_r31->unk_2C.x = 660.0f; - } - if (var_r31->unk_2C.x < -660.0f) { - var_r31->unk_2C.x = -660.0f; - } - if (var_r31->unk_2C.z > 360.0f) { - var_r31->unk_2C.z = 360.0f; - } - if (var_r31->unk_2C.z < -360.0f) { - var_r31->unk_2C.z = -360.0f; - } - omSetTra(var_r25, var_r31->unk_2C.x, var_r31->unk_2C.y, var_r31->unk_2C.z); - } - } - return var_r26; -} - -void fn_1_39C8(omObjData *object) -{ - s32 sp8[4]; - - s32 var_r31; - s32 var_r30; - M453DllWork2 *var_r29; - s32 var_r28; - s32 var_r27; - - if (lbl_1_bss_3A >= 6) { - if (fn_1_8240() != 0) { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - fn_1_3C94(lbl_1_bss_3C[var_r31]); - } - } - else { - for (var_r31 = 0, var_r30 = 0; var_r31 < 4; var_r31++) { - ((M453DllWork2 *)lbl_1_bss_3C[var_r31]->data)->unk_9C = 0; - if (((M453DllWork2 *)lbl_1_bss_3C[var_r31]->data)->unk_07 != 0) { - sp8[var_r30++] = var_r31; - } - } - if (var_r30 != 0) { - var_r31 = sp8[(s32)(var_r30 * (fn_1_43B8() / 65536.0f))]; - ((M453DllWork2 *)lbl_1_bss_3C[var_r31]->data)->unk_9C = 1; - } - } - var_r27 = 0; - for (var_r28 = 0; var_r28 < 4; var_r28++) { - var_r29 = lbl_1_bss_3C[var_r28]->data; - if (var_r29->unk_07 != 0) { - var_r29->unk_0E = 0; - } - } - while ((fn_1_36DC() != 0) && (var_r27 < 0x32)) { - var_r27++; - } - } -} - -void fn_1_3BB4(Vec *arg0, Vec *arg1) -{ - Vec sp18[6]; - Vec spC; - float var_f31; - float var_f30; - - s32 var_r31; - s32 var_r30; - - var_r30 = fn_1_844C(sp18); - var_f31 = 2000.0f; - for (var_r31 = 0; var_r31 < var_r30; var_r31++) { - VECSubtract(&sp18[var_r31], arg0, &spC); - var_f30 = VECMag(&spC); - if (!(var_f30 >= var_f31)) { - var_f31 = var_f30; - *arg1 = sp18[var_r31]; - } - } -} - -float lbl_1_data_114[8] = { 40.0f, 40.0f, 40.0f, 40.0f, 40.0f, 100.0f, 40.0f, 80.0f }; - -float lbl_1_data_134[8] = { 160.0f, 160.0f, 180.0f, 160.0f, 160.0f, 180.0f, 180.0f, 200.0f }; - -void fn_1_3C94(omObjData *object) -{ - Vec sp8; - float var_f31; - float var_f30; - - M453DllWork2 *var_r31; - s32 var_r29; - s16 var_r28; - - var_r31 = object->data; - if (var_r31->unk_07 != 0) { - var_f30 = fn_1_80B0(&var_r31->unk_2C, lbl_1_data_114[var_r31->unk_01]) - 10.0f; - if (var_f30 < 0.0f) { - var_f30 = 0.0f; - } - if ((var_r31->unk_07 & 2) == 0) { - var_f31 = 1.0f; - if (var_f30 < lbl_1_data_134[var_r31->unk_01]) { - if (fn_1_867C(&var_r31->unk_2C, &sp8) != 0) { - var_r31->unk_2C.x = sp8.x; - var_r31->unk_2C.z = sp8.z; - } - else { - if ((fn_1_7F54(var_r31->unk_2C.x, var_r31->unk_2C.z) - 10.0f) < 100.0f) { - var_r31->unk_07 = var_r31->unk_07 | 2; - var_r28 = lbl_1_bss_0; - var_r29 = var_r31->unk_00; - GWPlayerCoinWinSet(var_r29, var_r28); - } - var_f31 = var_f30 / lbl_1_data_134[var_r31->unk_01]; - } - } - } - else { - var_f31 = var_f30 / lbl_1_data_134[var_r31->unk_01]; - } - if (object->scale.y < var_f31) { - var_f31 = object->scale.y + (0.2f * (var_f31 - object->scale.y)); - } - object->scale.y = var_f31; - } -} - -s16 fn_1_3E9C(s32 arg0, s16 arg1, ParticleHook arg2) -{ - ParticleData *var_r31; - s32 var_r30; - AnimData *var_r29; - - var_r29 = HuSprAnimRead(HuDataReadNum(arg0, 0x10000000)); - var_r30 = Hu3DParticleCreate(var_r29, arg1); - Hu3DParticleHookSet(var_r30, arg2); - var_r31 = Hu3DData[var_r30].unk_120; - var_r31->unk_2E = var_r30; - var_r31->unk_00 = var_r31->unk_02 = 0; - return var_r30; -} - -void fn_1_3F38(ModelData *model, ParticleData *particle, Mtx matrix) -{ - s16 sp8 = 0; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - - HsfanimStruct01 *var_r31; - s32 var_r29; - - switch (particle->unk_00) { - case 0: - var_f29 = 360.0f / particle->unk_30; - for (var_r31 = particle->unk_48, var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - var_r31->unk08.x = sind((var_f29 * var_r29)) * (1.0f + (0.1f * (6.0f * ((fn_1_43B8() - 0x8000) / 32768.0f)))); - var_r31->unk08.y = 0.0f; - var_r31->unk08.z = cosd((var_f29 * var_r29)) * (1.0f + (0.1f * (6.0f * ((fn_1_43B8() - 0x8000) / 32768.0f)))); - var_r31->unk34.x = 0.0f; - var_r31->unk34.y = 0.0f; - var_r31->unk34.z = 0.0f; - } - particle->unk_02 = 0x1E; - particle->unk_00++; - case 1: - particle->unk_02--; - var_f31 = (30.0f - particle->unk_02) / 30.0f; - var_f30 = particle->unk_02 / 30.0f; - for (var_r31 = particle->unk_48, var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - var_r31->unk34.x += 5.0f * var_f30 * var_r31->unk08.x; - var_r31->unk34.y = 20.0f; - var_r31->unk34.z += 5.0f * var_f30 * var_r31->unk08.z; - var_r31->unk2C = 20.0f + (60.0f * var_f31); - var_r31->unk40.r = var_r31->unk40.g = var_r31->unk40.b = 0xFF; - var_r31->unk40.a = 64.0f * (1.0f - (var_f31 * var_f31)); - } - if (particle->unk_02 == 0) { - particle->unk_00++; - } - break; - case 2: - Hu3DModelKill(particle->unk_2E); - return; - } - DCFlushRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); -} - -u32 lbl_1_data_154 = 0x41C64E6D; - -s32 fn_1_43B8(void) -{ - lbl_1_data_154 *= 0x41C64E6D; - lbl_1_data_154 += 0x3039; - return lbl_1_data_154 >> 0x10; -} - -float fn_1_440C(float arg8, float arg9, float argA) -{ - float var_f31; - - if (arg8 > 180.0f) { - arg8 -= 360.0f; - } - else if (arg8 <= -180.0f) { - arg8 += 360.0f; - } - if (arg9 > 180.0f) { - arg9 -= 360.0f; - } - else if (arg9 <= -180.0f) { - arg9 += 360.0f; - } - var_f31 = arg8 - arg9; - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - else if (var_f31 <= -180.0f) { - var_f31 += 360.0f; - } - arg8 = arg9 + (var_f31 * argA); - if (arg8 > 180.0f) { - return arg8 - 360.0f; - } - if (arg8 <= -180.0f) { - arg8 += 360.0f; - } - return arg8; -} - -void fn_1_4574(Mtx arg0, float arg8, float arg9, float argA) -{ - Mtx sp38; - Mtx sp8; - if (argA != 0.0f) { - MTXRotRad(arg0, 0x5A, 0.017453292f * argA); - } - else { - MTXIdentity(arg0); - } - if (arg8 != 0.0f) { - MTXRotRad(sp38, 0x58, 0.017453292f * arg8); - MTXConcat(sp38, arg0, arg0); - } - if (arg9 != 0.0f) { - MTXRotRad(sp8, 0x59, 0.017453292f * arg9); - MTXConcat(sp8, arg0, arg0); - } -} -// TODO figue out type of arg0 -void fn_1_4694(float *arg0, Vec *arg1) -{ - float var_f29; - float var_f28; - - arg1->x = atan2d(arg0[10], arg0[6]); - arg1->z = atan2d(arg0[0], arg0[1]); - var_f29 = -arg0[2]; - var_f28 = sqrtf((1.0 - (var_f29 * var_f29)) < 0.0 ? -(1.0 - (var_f29 * var_f29)) : 1.0 - (var_f29 * var_f29)); - if ((arg1->x > 90.0f) && (arg1->x < 270.0f) && (arg1->z > 90.0f) && (arg1->z < 270.0f)) { - arg1->x = fmod(180.0f + arg1->x, 360.0); - arg1->z = fmod(180.0f + arg1->z, 360.0); - var_f28 = -var_f28; - } - arg1->y = atan2d(var_f28, var_f29); -} - -float fn_1_49A0(float arg8, float arg9, float argA, float argB) -{ - float var_f31; - float var_f30; - - var_f31 = 1.0 - arg8; - var_f30 = (argB * (arg8 * arg8)) + ((arg9 * (var_f31 * var_f31)) + (2.0 * (argA * (var_f31 * arg8)))); - return var_f30; -} - -void fn_1_4A18(float *arg0, float *arg1, float *arg2, float *arg3, float arg8) -{ - s32 i; - - for (i = 0; i < 3; i++) { - *arg3 = fn_1_49A0(arg8, *arg0++, *arg1++, *arg2++); - arg3++; - } -} - -float fn_1_4B34(float arg8, float arg9, float argA, float argB) -{ - float var_f31 = 2.0 * ((arg8 * argB) + (((arg8 - 1.0) * arg9) + ((1.0 - (2.0 * arg8)) * argA))); - return var_f31; -} - -void fn_1_4BAC(float *arg0, float *arg1, float *arg2, float *arg3, float arg8) -{ - float spC[3]; - float sp8; - float var_f31; - float var_f30; - float var_f28; - float var_f29; - float var_f27; - float var_f26; - float var_f25; - float var_f24; - float var_f23; - float var_f22; - float var_f21; - - s32 var_r31; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - spC[var_r31] = fn_1_4B34(arg8, *arg0++, *arg1++, *arg2++); - } - - var_f30 = (spC[2] * spC[2]) + ((spC[0] * spC[0]) + (spC[1] * spC[1])); - var_f29 = sqrtf(var_f30); - if (var_f29) { - var_f29 = 1.0 / var_f29; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - *arg3 = var_f29 * spC[var_r31]; - arg3++; - } - return; - } - *arg3++ = 0.0f; - *arg3++ = 0.0f; - *arg3++ = 1.0f; -} - -void fn_1_4E84(float *arg0, float *arg1, float *arg2, s32 arg3) -{ - float sp48[16]; - float sp8[16]; - double var_f31; - - s32 var_r31; - - arg2[0] = 0.0f; - arg2[arg3 - 1] = 0.0f; - for (var_r31 = 0; var_r31 < (arg3 - 1); var_r31++) { - sp48[var_r31] = arg0[var_r31 + 1] - arg0[var_r31]; - if (sp48[var_r31] == 0.0f) { - sp8[var_r31 + 1] = 0.0f; - } - else { - sp8[var_r31 + 1] = (arg1[var_r31 + 1] - arg1[var_r31]) / sp48[var_r31]; - } - } - arg2[1] = sp8[2] - sp8[1]; - sp8[1] = 2.0f * (arg0[2] - arg0[0]); - for (var_r31 = 1; var_r31 < (arg3 - 2); var_r31++) { - var_f31 = sp48[var_r31] / sp8[var_r31]; - arg2[var_r31 + 1] = (sp8[var_r31 + 2] - sp8[var_r31 + 1]) - (var_f31 * arg2[var_r31]); - sp8[var_r31 + 1] = (2.0f * (arg0[var_r31 + 2] - arg0[var_r31])) - (var_f31 * sp48[var_r31]); - } - arg2[arg3 - 2] -= sp48[arg3 - 2] * arg2[arg3 - 1]; - for (var_r31 = arg3 - 2; var_r31 > 0; var_r31--) { - if (sp8[var_r31] == 0.0f) { - arg2[var_r31] = 0.0f; - } - else { - arg2[var_r31] = (arg2[var_r31] - (sp48[var_r31] * arg2[var_r31 + 1])) / sp8[var_r31]; - } - } -} - -float fn_1_513C(float arg8, float *arg0, float *arg1, float *arg2, s32 arg3) -{ - float var_f31; - float var_f30; - float var_f29; - - s32 var_r31 = arg8; - arg8 = arg8 - var_r31; - var_f31 = arg0[var_r31 + 1] - arg0[var_r31]; - var_f30 = var_f31 * arg8; - var_f29 = arg1[var_r31] - + (var_f30 - * ((var_f30 * ((3.0f * arg2[var_r31]) + ((var_f30 * (arg2[var_r31 + 1] - arg2[var_r31])) / var_f31))) - + (((arg1[var_r31 + 1] - arg1[var_r31]) / var_f31) - (var_f31 * ((2.0f * arg2[var_r31]) + arg2[var_r31 + 1]))))); - if (var_f31 == 0.0f) { - var_f29 = arg1[var_r31]; - } - return var_f29; -} - -void fn_1_5290(float *arg0, float (*arg1)[3], float (*arg2)[3], s32 arg3) -{ - float spD4[16]; - float sp94[16]; - float sp54[16]; - float sp14[16]; - Vec sp8; - double var_f31; - - s32 var_r31; - s32 var_r30; - s32 var_r27; - - arg0[0] = 0.0f; - for (var_r30 = 1; var_r30 < arg3; var_r30++) { - VECSubtract((Vec *)&arg1[var_r30], (Vec *)&arg1[var_r30 - 1], &sp8); - arg0[var_r30] = arg0[var_r30 - 1] + VECMag(&sp8); - } - for (var_r27 = 0; var_r27 < 3; var_r27++) { - for (var_r30 = 0; var_r30 < arg3; var_r30++) { - spD4[var_r30] = arg1[var_r30][var_r27]; - } - sp94[0] = 0.0f; - sp94[arg3 - 1] = 0.0f; - for (var_r31 = 0; var_r31 < (arg3 - 1); var_r31++) { - sp14[var_r31] = arg0[var_r31 + 1] - arg0[var_r31]; - if (sp14[var_r31] == 0.0f) { - sp54[var_r31 + 1] = 0.0f; - } - else { - sp54[var_r31 + 1] = (spD4[var_r31 + 1] - spD4[var_r31]) / sp14[var_r31]; - } - } - sp94[1] = sp54[2] - sp54[1]; - sp54[1] = 2.0f * (arg0[2] - arg0[0]); - for (var_r31 = 1; var_r31 < (arg3 - 2); var_r31++) { - var_f31 = sp14[var_r31] / sp54[var_r31]; - sp94[var_r31 + 1] = (sp54[var_r31 + 2] - sp54[var_r31 + 1]) - (var_f31 * sp94[var_r31]); - sp54[var_r31 + 1] = (2.0f * (arg0[var_r31 + 2] - arg0[var_r31])) - (var_f31 * sp14[var_r31]); - } - sp94[arg3 - 2] -= sp14[arg3 - 2] * sp94[arg3 - 1]; - for (var_r31 = arg3 - 2; var_r31 > 0; var_r31--) { - if (sp54[var_r31] == 0.0f) { - sp94[var_r31] = 0.0f; - } - else { - sp94[var_r31] = (sp94[var_r31] - (sp14[var_r31] * sp94[var_r31 + 1])) / sp54[var_r31]; - } - } - for (var_r30 = 0; var_r30 < arg3; var_r30++) { - arg2[var_r30][var_r27] = sp94[var_r30]; - } - } -} - -void fn_1_5670(float arg8, float *arg0, float *arg1, float (*arg2)[3], float (*arg3)[3], s32 arg4) -{ - float sp48[16]; - float sp8[16]; - - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - - s32 var_r31; - s32 var_r30; - s32 var_r29; - - for (var_r29 = 0; var_r29 < 3; var_r29++) { - for (var_r30 = 0; var_r30 < arg4; var_r30++) { - sp48[var_r30] = arg2[var_r30][var_r29]; - sp8[var_r30] = arg3[var_r30][var_r29]; - } - arg0[var_r29] = fn_1_513C(arg8, arg1, sp48, sp8, 3); - } -} - -float fn_1_5884(Vec *arg0) -{ - float sp8; - float var_f30; - float var_f29; - - var_f30 = (arg0->z * arg0->z) + ((arg0->x * arg0->x) + (arg0->y * arg0->y)); - var_f30 = sqrtf(var_f30); - if (var_f30 != 0.0f) { - var_f29 = 1.0f / var_f30; - arg0->x *= var_f29; - arg0->y *= var_f29; - arg0->z *= var_f29; - } - else { - arg0->x = arg0->y = arg0->z = 0.0f; - } - return var_f30; -} - -float fn_1_5A1C(Vec arg0, Vec arg1, Vec *arg2, float arg8) -{ - if (arg8 <= 0.0f) { - arg2->x = arg0.x; - arg2->y = arg0.y; - arg2->z = arg0.z; - arg8 = 0.0f; - return arg8; - } - if (arg8 >= 1.0f) { - arg2->x = arg0.x + arg1.x; - arg2->y = arg0.y + arg1.y; - arg2->z = arg0.z + arg1.z; - arg8 = 1.0f; - return arg8; - } - arg2->x = arg0.x + (arg8 * arg1.x); - arg2->y = arg0.y + (arg8 * arg1.y); - arg2->z = arg0.z + (arg8 * arg1.z); - return arg8; -} - -float fn_1_5AF4(Vec arg0, Vec arg1, Vec arg2) -{ - float var_f31 = (arg2.z * (arg1.z - arg0.z)) + ((arg2.x * (arg1.x - arg0.x)) + (arg2.y * (arg1.y - arg0.y))); - float var_f30 = -((arg2.z * arg2.z) + ((arg2.x * arg2.x) + (arg2.y * arg2.y))); - if (var_f30 != 0.0f) { - var_f31 /= var_f30; - } - return var_f31; -} - -float fn_1_5BB0(Vec *arg0, Vec *arg1, Vec *arg2) -{ - Vec sp44; - float var_f28; - - if (((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y))) == 0.0f) { - return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) - + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y))); - } - var_f28 = fn_1_5AF4(*arg0, *arg1, *arg2); - fn_1_5A1C(*arg1, *arg2, &sp44, var_f28); - return ((arg0->z - sp44.z) * (arg0->z - sp44.z)) + (((arg0->x - sp44.x) * (arg0->x - sp44.x)) + ((arg0->y - sp44.y) * (arg0->y - sp44.y))); -} - -float fn_1_5EEC(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, Vec *arg4) -{ - float var_f30; - if (((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y))) == 0.0f) { - return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) - + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y))); - } - var_f30 = fn_1_5AF4(*arg0, *arg1, *arg2); - fn_1_5A1C(*arg1, *arg2, arg3, var_f30); - - arg4->x = arg3->x - arg0->x; - arg4->y = arg3->y - arg0->y; - arg4->z = arg3->z - arg0->z; - - return fn_1_5884(arg4); -} - -s32 fn_1_639C(void) -{ - return lbl_1_bss_0; -} - -s32 fn_1_63AC(void) -{ - s32 var_r31; - omObjData **var_r30; - M453DllWork2 *var_r29; - - var_r30 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - for (var_r31 = 0; var_r31 < lbl_1_bss_1C; var_r31++) { - var_r29 = var_r30[lbl_1_bss_1E[var_r31]]->data; - if (var_r29->unk_07 != 0) { - return 1; - } - } - return 0; -} - -void fn_1_6448(void) -{ - s32 var_r31; - M453DllWork2 *var_r30; - omObjData **var_r29; - s32 var_r28; - s16 var_r27; - - var_r29 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = var_r29[var_r31]->data; - if (var_r30->unk_07 != 0) { - var_r27 = lbl_1_bss_0; - var_r28 = var_r30->unk_00; - GWPlayerCoinWinSet(var_r28, var_r27); - } - } -} diff --git a/src/REL/m453Dll/map.c b/src/REL/m453Dll/map.c deleted file mode 100644 index 6771a755..00000000 --- a/src/REL/m453Dll/map.c +++ /dev/null @@ -1,1091 +0,0 @@ -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/flag.h" -#include "game/frand.h" -#include "game/gamework.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "game/wipe.h" -#include "math.h" -#include "string.h" - -#include "REL/m453Dll.h" - -typedef struct M453MapUnkStruct { - struct { - u8 unk_00_field0 : 1; - }; - s32 unk_04; - float unk_08; - s32 unk_0C[6]; - s32 unk_24[0xC]; -} M453MapUnkStruct; /* size = 0x54 */ - -void fn_1_6768(omObjData *object); -void fn_1_67EC(omObjData *object); -void fn_1_67F0(omObjData *object); -void fn_1_695C(omObjData *object); -void fn_1_6C74(omObjData *object); -void fn_1_6EB4(omObjData *object); -void fn_1_6FC4(omObjData *object); -void fn_1_73C4(omObjData *object); -void fn_1_7978(void); -void fn_1_7A74(s16 arg0); - -Vec lbl_1_data_158[0x10] = { - { 92.39f, 0.0f, 38.27f }, - { 100.0f, 0.0f, 0.0f }, - { 92.39f, 0.0f, -38.27f }, - { 70.71f, 0.0f, -70.71f }, - { 38.27f, 0.0f, -92.39f }, - { 0.0f, 0.0f, -100.0f }, - { -38.27f, 0.0f, -92.39f }, - { -70.71f, 0.0f, -70.71f }, - { -92.39f, 0.0f, -38.27f }, - { -100.0f, 0.0f, 0.0f }, - { -92.39f, 0.0f, 38.27f }, - { -70.71f, 0.0f, 70.71f }, - { -38.27f, 0.0f, 92.39f }, - { 0.0f, 0.0f, 100.0f }, - { 38.27f, 0.0f, 92.39f }, - { 70.71f, 0.0f, 70.71f }, -}; - -Vec lbl_1_data_218[0x10] = { - { 55.43f, 0.0f, 22.96f }, - { 60.0f, 0.0f, 0.0f }, - { 55.43f, 0.0f, -22.96f }, - { 42.43f, 0.0f, -42.43f }, - { 22.96f, 0.0f, -55.43f }, - { 0.0f, 0.0f, -60.0f }, - { -22.96f, 0.0f, -55.43f }, - { -42.43f, 0.0f, -42.43f }, - { -55.43f, 0.0f, -22.96f }, - { -60.0f, 0.0f, 0.0f }, - { -55.43f, 0.0f, 22.96f }, - { -42.43f, 0.0f, 42.43f }, - { -22.96f, 0.0f, 55.43f }, - { 0.0f, 0.0f, 60.0f }, - { 22.96f, 0.0f, 55.43f }, - { 42.43f, 0.0f, 42.43f }, -}; - -Vec lbl_1_data_2D8[0xA] = { - { 38.79f, 0.0f, -53.4f }, - { 0.0f, 0.0f, -120.0f }, - { -38.79f, 0.0f, -53.4f }, - { -114.13f, 0.0f, -37.08f }, - { -62.77f, 0.0f, 20.4f }, - { -70.53f, 0.0f, 97.08f }, - { 0.0f, 0.0f, 66.0f }, - { 70.53f, 0.0f, 97.08f }, - { 62.77f, 0.0f, 20.4f }, - { 114.13f, 0.0f, -37.08f }, -}; - -Vec lbl_1_data_350[0xA] = { - { 21.34f, 0.0f, -29.37f }, - { 0.0f, 0.0f, -66.0f }, - { -21.34f, 0.0f, -29.37f }, - { -62.77f, 0.0f, -20.4f }, - { -34.52f, 0.0f, 11.22f }, - { -38.79f, 0.0f, 53.4f }, - { 0.0f, 0.0f, 36.3f }, - { 38.79f, 0.0f, 53.4f }, - { 34.52f, 0.0f, 11.22f }, - { 62.77f, 0.0f, -20.4f }, -}; - -Vec lbl_1_data_3C8[0x10] = { - { 110.87f, 0.0f, 45.92f }, - { 120.0f, 0.0f, 0.0f }, - { 110.87f, 0.0f, -45.92f }, - { 84.85f, 0.0f, -84.85f }, - { 45.92f, 0.0f, -110.87f }, - { 0.0f, 0.0f, -120.0f }, - { -45.92f, 0.0f, -110.87f }, - { -84.85f, 0.0f, -84.85f }, - { -110.87f, 0.0f, -45.92f }, - { -120.0f, 0.0f, 0.0f }, - { -110.87f, 0.0f, 45.92f }, - { -84.85f, 0.0f, 84.85f }, - { -45.92f, 0.0f, 110.87f }, - { 0.0f, 0.0f, 120.0f }, - { 45.92f, 0.0f, 110.87f }, - { 84.85f, 0.0f, 84.85f }, -}; - -Vec lbl_1_data_488[0x10] = { - { 73.17f, 0.0f, 30.31f }, - { 79.2f, 0.0f, 0.0f }, - { 73.17f, 0.0f, -30.31f }, - { 56.0f, 0.0f, -56.0f }, - { 30.31f, 0.0f, -73.17f }, - { 0.0f, 0.0f, -79.2f }, - { -30.31f, 0.0f, -73.17f }, - { -56.0f, 0.0f, -56.0f }, - { -73.17f, 0.0f, -30.31f }, - { -79.2f, 0.0f, 0.0f }, - { -73.17f, 0.0f, 30.31f }, - { -56.0f, 0.0f, 56.0f }, - { -30.31f, 0.0f, 73.17f }, - { 0.0f, 0.0f, 79.2f }, - { 30.31f, 0.0f, 73.17f }, - { 56.0f, 0.0f, 56.0f }, -}; - -Vec lbl_1_data_548[0xA] = { - { 48.49f, 0.0f, -66.74f }, - { 0.0f, 0.0f, -150.0f }, - { -48.49f, 0.0f, -66.74f }, - { -142.66f, 0.0f, -46.35f }, - { -78.46f, 0.0f, 25.49f }, - { -88.17f, 0.0f, 121.35f }, - { 0.0f, 0.0f, 82.5f }, - { 88.17f, 0.0f, 121.35f }, - { 78.46f, 0.0f, 25.49f }, - { 142.66f, 0.0f, -46.35f }, -}; - -Vec lbl_1_data_5C0[0xA] = { - { 29.09f, 0.0f, -40.05f }, - { 0.0f, 0.0f, -90.0f }, - { -29.09f, 0.0f, -40.05f }, - { -85.59f, 0.0f, -27.81f }, - { -47.08f, 0.0f, 15.3f }, - { -52.9f, 0.0f, 72.81f }, - { 0.0f, 0.0f, 49.5f }, - { 52.9f, 0.0f, 72.81f }, - { 47.08f, 0.0f, 15.3f }, - { 85.59f, 0.0f, -27.81f }, -}; - -Vec lbl_1_data_638[0x16] = { - { 129.1f, 0.0f, 54.6f }, - { 140.0f, 0.0f, 0.0f }, - { 129.3f, 0.0f, -53.6f }, - { 99.0f, 0.0f, -99.0f }, - { 53.6f, 0.0f, -129.3f }, - { 0.0f, 0.0f, -140.0f }, - { -53.6f, 0.0f, -129.3f }, - { -99.0f, 0.0f, -99.0f }, - { -129.4f, 0.0f, -53.5f }, - { -140.0f, 0.0f, 0.0f }, - { -136.0f, 0.0f, 20.4f }, - { -102.1f, 0.0f, -7.6f }, - { -70.0f, 0.0f, -14.0f }, - { -37.8f, 0.0f, -7.6f }, - { -10.6f, 0.0f, 10.6f }, - { 7.6f, 0.0f, 37.8f }, - { 14.0f, 0.0f, 70.0f }, - { 7.6f, 0.0f, 102.2f }, - { -20.4f, 0.0f, 136.0f }, - { 0.1f, 0.0f, 140.1f }, - { 53.9f, 0.0f, 129.5f }, - { 99.5f, 0.0f, 99.0f }, -}; - -Vec lbl_1_data_740[0x16] = { - { 95.9f, 0.0f, 42.9f }, - { 106.6f, 0.0f, 0.4f }, - { 98.4f, 0.0f, -37.2f }, - { 81.7f, 0.0f, -65.9f }, - { 55.4f, 0.0f, -89.6f }, - { 11.5f, 0.0f, -101.7f }, - { -24.5f, 0.0f, -99.9f }, - { -60.9f, 0.0f, -88.6f }, - { -98.7f, 0.0f, -64.4f }, - { -110.4f, 0.0f, -41.5f }, - { -110.4f, 0.0f, -30.8f }, - { -90.4f, 0.0f, -42.3f }, - { -53.8f, 0.0f, -48.5f }, - { -14.6f, 0.0f, -40.5f }, - { 17.1f, 0.0f, -16.3f }, - { 35.8f, 0.0f, 28.2f }, - { 35.8f, 0.0f, 65.6f }, - { 24.7f, 0.0f, 101.6f }, - { 19.6f, 0.0f, 114.6f }, - { 34.9f, 0.0f, 114.5f }, - { 62.9f, 0.0f, 99.0f }, - { 83.0f, 0.0f, 73.2f }, -}; - -Vec lbl_1_data_848[0x16] = { - { 110.9f, 0.0f, 45.9f }, - { 120.0f, 0.0f, 0.0f }, - { 110.9f, 0.0f, -45.8f }, - { 84.8f, 0.0f, -84.9f }, - { 45.9f, 0.0f, -110.9f }, - { 0.0f, 0.0f, -120.0f }, - { -45.9f, 0.0f, -110.9f }, - { -84.9f, 0.0f, -84.8f }, - { -110.9f, 0.0f, -45.9f }, - { -120.0f, 0.0f, 0.0f }, - { -116.5f, 0.0f, 17.5f }, - { -87.6f, 0.0f, -6.6f }, - { -60.0f, 0.0f, -12.0f }, - { -32.4f, 0.0f, -6.5f }, - { -9.1f, 0.0f, 9.1f }, - { 6.5f, 0.0f, 32.5f }, - { 12.0f, 0.0f, 60.0f }, - { 6.5f, 0.0f, 87.6f }, - { -17.5f, 0.0f, 116.5f }, - { 0.0f, 0.0f, 120.0f }, - { 45.9f, 0.0f, 110.9f }, - { 84.8f, 0.0f, 84.9f }, -}; - -Vec lbl_1_data_950[0x16] = { - { 80.0f, 0.0f, 31.0f }, - { 83.9f, 0.0f, -0.1f }, - { 77.2f, 0.0f, -31.7f }, - { 60.4f, 0.0f, -56.8f }, - { 35.6f, 0.0f, -77.4f }, - { -0.5f, 0.0f, -84.1f }, - { -31.5f, 0.0f, -82.9f }, - { -58.9f, 0.0f, -71.4f }, - { -86.3f, 0.0f, -49.4f }, - { -91.5f, 0.0f, -36.4f }, - { -91.5f, 0.0f, -27.3f }, - { -82.1f, 0.0f, -29.8f }, - { -54.7f, 0.0f, -36.2f }, - { -21.9f, 0.0f, -30.9f }, - { 13.3f, 0.0f, -10.2f }, - { 28.3f, 0.0f, 18.3f }, - { 33.4f, 0.0f, 58.4f }, - { 28.0f, 0.0f, 81.6f }, - { 20.7f, 0.0f, 93.3f }, - { 30.4f, 0.0f, 93.3f }, - { 55.4f, 0.0f, 82.2f }, - { 70.4f, 0.0f, 59.3f }, -}; - -s32 lbl_1_data_A58[0xC] = { - 0x220004, - 0x220005, - 0x220006, - 0x220009, - 0x22000C, - 0x22000F, - 0x220007, - 0x220008, - 0x22000A, - 0x22000B, - 0x22000D, - 0x22000E, -}; - -Vec lbl_1_data_A88[6] = { - { -400.0f, 0.0f, 300.0f }, - { 0.0f, 0.0f, 300.0f }, - { 400.0f, 0.0f, 300.0f }, - { -400.0f, 0.0f, 700.0f }, - { 0.0f, 0.0f, 700.0f }, - { 400.0f, 0.0f, 700.0f }, -}; - -s32 lbl_1_data_AD0[3] = { 6, 8, 0xA }; - -s32 lbl_1_data_ADC[3] = { 7, 9, 0xB }; - -s32 lbl_1_data_AE8[5] = { 1, 2, 3, 4, 5 }; - -Vec *lbl_1_data_AFC[6] = { - lbl_1_data_3C8, - lbl_1_data_158, - lbl_1_data_548, - lbl_1_data_2D8, - lbl_1_data_638, - lbl_1_data_848, -}; - -s32 lbl_1_data_B14[6] = { 0x10, 0x10, 0xA, 0xA, 0x16, 0x16 }; - -Vec lbl_1_data_B2C[6] = { - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, -20.0f }, - { 0.0f, 0.0f, -20.0f }, - { 40.0f, 0.0f, -20.0f }, - { 40.0f, 0.0f, -20.0f }, -}; - -Vec *lbl_1_data_B74[6][2] = { - { lbl_1_data_3C8, lbl_1_data_488 }, - { lbl_1_data_158, lbl_1_data_218 }, - { lbl_1_data_548, lbl_1_data_5C0 }, - { lbl_1_data_2D8, lbl_1_data_350 }, - { lbl_1_data_638, lbl_1_data_740 }, - { lbl_1_data_848, lbl_1_data_950 }, -}; - -s32 lbl_1_data_BA4[6] = { 0x10, 0x10, 0xA, 0xA, 0x16, 0x16 }; - -omObjData *lbl_1_bss_BC; -omObjData *lbl_1_bss_B8; -omObjData *lbl_1_bss_A4[5]; -s32 lbl_1_bss_A0; -s32 lbl_1_bss_9C; -s32 lbl_1_bss_98; -s32 lbl_1_bss_94; -s32 lbl_1_bss_90; -s32 lbl_1_bss_8C; -float lbl_1_bss_88; -s32 lbl_1_bss_84; -s32 lbl_1_bss_80; -s32 lbl_1_bss_7C; -s32 lbl_1_bss_78; -s32 lbl_1_bss_60[6]; - -void fn_1_64E8(Process *process) -{ - Vec sp20; - Vec sp14; - Vec sp8; - s32 var_r31; - - sp20.x = 0.0f; - sp20.y = 3000.0f; - sp20.z = 50.0f; - sp14.x = 0.0f; - sp14.y = 1.0f; - sp14.z = 0.0f; - sp8.x = 0.0f; - sp8.y = 0.0f; - sp8.z = 0.0f; - lbl_1_bss_BC = omAddObjEx(process, 0xA, 2, 0, -1, fn_1_6768); - lbl_1_bss_B8 = omAddObjEx(process, 0xC, 4, 0, -1, fn_1_67F0); - for (var_r31 = 0; var_r31 < 5; var_r31++) { - lbl_1_bss_A4[var_r31] = omAddObjEx(process, 0xE, 7, 0, -1, fn_1_6C74); - } - Hu3DShadowCreate(30.0f, 20.0f, 25000.0f); - Hu3DShadowTPLvlSet(0.65f); - Hu3DShadowPosSet(&sp20, &sp14, &sp8); - lbl_1_bss_A0 = 0; - lbl_1_bss_9C = lbl_1_bss_98 = 2; - lbl_1_bss_8C = 0; - lbl_1_bss_90 = 0; - lbl_1_bss_88 = 0.75f; - lbl_1_bss_7C = 3; - lbl_1_bss_78 = 0; - lbl_1_bss_84 = 0; - lbl_1_bss_80 = 0; - memset(lbl_1_bss_60, 0, 0x18); -} - -void fn_1_6748(void) -{ - fn_1_7978(); -} - -void fn_1_6768(omObjData *object) -{ - object->stat |= 0x100; - object->model[0] = Hu3DModelCreateFile(0x220010); - object->model[1] = Hu3DModelCreateFile(0x220011); - object->func = fn_1_67EC; -} - -void fn_1_67EC(omObjData *object) { } - -void fn_1_67F0(omObjData *object) -{ - object->stat |= 0x100; - object->model[0] = Hu3DModelCreateFile(0x220000); - object->model[1] = Hu3DModelCreateFile(0x220003); - object->model[2] = Hu3DModelCreateFile(0x220001); - object->model[3] = Hu3DModelCreateFile(0x220002); - Hu3DMotionSpeedSet(object->model[2], 0.0f); - Hu3DModelShadowSet(object->model[1]); - Hu3DModelPosSet(object->model[1], 0.0f, 0.0f, -500.0f); - Hu3DData[object->model[3]].unk_94 = 0.0f; - Hu3DData[object->model[3]].unk_98 = 2.0f; - object->work[3] = 0x1E; - object->func = fn_1_695C; -} - -void fn_1_695C(omObjData *object) -{ - ModelData *var_r30; - M453MapUnkStruct *var_r29; - - if (lbl_1_bss_84 != 0) { - if (lbl_1_bss_80 == 0) { - if (object->work[0] < 60.0f) { - object->work[0] += 1; - var_r30 = &Hu3DData[object->model[1]]; - var_r30->rot.x = (-120.0f * object->work[0]) / 60.0f; - } - else { - lbl_1_bss_80 ^= 1; - lbl_1_bss_84 = 0; - } - } - else if (object->work[0] != 0) { - object->work[0] -= 1; - var_r30 = &Hu3DData[object->model[1]]; - var_r30->rot.x = (-120.0f * object->work[0]) / 60.0f; - } - else { - lbl_1_bss_80 ^= 1; - lbl_1_bss_84 = 0; - } - } - var_r29 = lbl_1_bss_A4[lbl_1_bss_9C]->data; - if (lbl_1_bss_94 != 0) { - lbl_1_bss_94 = 0; - lbl_1_bss_90 = 1; - } - if (lbl_1_bss_9C != lbl_1_bss_98) { - lbl_1_bss_90 = 0; - lbl_1_bss_8C = 0; - } - lbl_1_bss_98 = lbl_1_bss_9C; - if (var_r29->unk_00_field0) { - lbl_1_bss_9C = (lbl_1_bss_9C + 1) % 5; - lbl_1_bss_8C = 1; - } - if (object->work[3] != 0) { - if (--object->work[3] == 0) { - HuAudFXPlay(0x521); - } - } -} - -void fn_1_6C74(omObjData *object) -{ - s32 var_r31; - M453MapUnkStruct *var_r29; - - var_r29 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x54, 0x10000000); - object->data = var_r29; - memset(object->data, 0, 0x54); - for (var_r31 = 0; var_r31 < 0xC; var_r31++) { - var_r29->unk_24[var_r31] = -1; - } - for (var_r31 = 0; (u32)var_r31 < 0xC; var_r31++) { - var_r29->unk_24[var_r31] = Hu3DModelCreateFile(lbl_1_data_A58[var_r31]); - Hu3DModelAttrSet(var_r29->unk_24[var_r31], HU3D_ATTR_DISPOFF); - } - object->model[0] = var_r29->unk_24[0]; - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - var_r29->unk_00_field0 = 0; - var_r29->unk_04 = 4 - lbl_1_bss_A0; - fn_1_6FC4(object); - object->trans.y = 5.0f; - object->trans.z = -500.0f; - switch (var_r29->unk_04) { - case 0: - case 1: - break; - case 2: - for (var_r31 = 0; var_r31 < 7; var_r31++) { - Hu3DModelShadowSet(object->model[var_r31]); - } - break; - case 3: - for (var_r31 = 0; var_r31 < 7; var_r31++) { - Hu3DModelShadowMapSet(object->model[var_r31]); - } - object->trans.y = 2.5f; - break; - case 4: - for (var_r31 = 0; var_r31 < 7; var_r31++) { - Hu3DModelShadowMapSet(object->model[var_r31]); - } - object->trans.y = 0.0f; - break; - } - fn_1_6EB4(object); - lbl_1_bss_A0++; - object->func = fn_1_73C4; -} - -void fn_1_6EB4(omObjData *object) -{ - Mtx sp38; - Mtx sp8; - s32 var_r30; - - MTXTrans(sp38, object->trans.x, object->trans.y, object->trans.z); - mtxRot(sp8, object->rot.x, object->rot.y, object->rot.z); - MTXConcat(sp38, sp8, sp38); - for (var_r30 = 0; var_r30 < 6; var_r30++) { - MTXTrans(sp8, lbl_1_data_A88[var_r30].x, lbl_1_data_A88[var_r30].y, lbl_1_data_A88[var_r30].z); - MTXConcat(sp38, sp8, sp8); - Hu3DModelPosSet(object->model[var_r30 + 1], sp8[0][3], sp8[1][3], sp8[2][3]); - Hu3DModelRotSet(object->model[var_r30 + 1], object->rot.x, object->rot.y, object->rot.z); - } -} - -void fn_1_6FC4(omObjData *object) -{ - s32 sp8[6]; - - s32 var_r31; - M453MapUnkStruct *var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r26; - s32 var_r25; - s32 var_r24; - - var_r30 = object->data; - for (var_r31 = 0; var_r31 < 0x64; var_r31++) { - var_r29 = ((u8)frand() * 3) >> 8; - var_r28 = ((u8)frand() * 3) >> 8; - var_r26 = lbl_1_data_AD0[var_r29]; - lbl_1_data_AD0[var_r29] = lbl_1_data_AD0[var_r28]; - lbl_1_data_AD0[var_r28] = var_r26; - var_r29 = ((u8)frand() * 3) >> 8; - var_r28 = ((u8)frand() * 3) >> 8; - var_r26 = lbl_1_data_ADC[var_r29]; - lbl_1_data_ADC[var_r29] = lbl_1_data_ADC[var_r28]; - lbl_1_data_ADC[var_r28] = var_r26; - var_r29 = ((u8)frand() * 5) >> 8; - var_r28 = ((u8)frand() * 5) >> 8; - var_r26 = lbl_1_data_AE8[var_r29]; - lbl_1_data_AE8[var_r29] = lbl_1_data_AE8[var_r28]; - lbl_1_data_AE8[var_r28] = var_r26; - } - var_r25 = 0; - for (var_r31 = 0; var_r31 < 6; var_r31++) { - if (lbl_1_bss_60[var_r31] < 6) { - sp8[var_r25++] = var_r31; - } - } - for (var_r31 = 0; var_r31 < 0x64; var_r31++) { - var_r29 = (var_r25 * (u8)frand()) >> 8; - var_r28 = (var_r25 * (u8)frand()) >> 8; - var_r26 = sp8[var_r29]; - sp8[var_r29] = sp8[var_r28]; - sp8[var_r28] = var_r26; - } - for (var_r31 = 0; var_r31 < 6; var_r31++) { - var_r30->unk_0C[var_r31] = 0; - } - for (var_r31 = 0; var_r31 < lbl_1_bss_78; var_r31++) { - var_r30->unk_0C[sp8[var_r31]] = lbl_1_data_ADC[var_r31]; - } - while (var_r31 < lbl_1_bss_7C) { - var_r30->unk_0C[sp8[var_r31]] = lbl_1_data_AD0[var_r31]; - var_r31++; - } - var_r24 = 0; - for (var_r31 = 0; var_r31 < 6; var_r31++) { - if (var_r30->unk_0C[var_r31] == 0) { - var_r30->unk_0C[var_r31] = lbl_1_data_AE8[var_r24++]; - } - } - memcpy(lbl_1_bss_60, &var_r30->unk_0C, 0x18); - for (var_r31 = 0; var_r31 < 6; var_r31++) { - if (object->model[var_r31 + 1] >= 0) { - Hu3DModelAttrSet(object->model[var_r31 + 1], HU3D_ATTR_DISPOFF); - } - } - for (var_r31 = 0; var_r31 < 6; var_r31++) { - object->model[var_r31 + 1] = var_r30->unk_24[var_r30->unk_0C[var_r31]]; - Hu3DModelAttrReset(object->model[var_r31 + 1], HU3D_ATTR_DISPOFF); - } -} - -void fn_1_73C4(omObjData *object) -{ - Mtx sp38; - Mtx sp8; - M453MapUnkStruct *var_r30; - s32 var_r29; - s32 var_r28; - ModelData *var_r27; - - var_r30 = object->data; - if (lbl_1_bss_90 == 0) { - if ((lbl_1_bss_84 != 0) && (var_r30->unk_04 < 3)) { - var_r27 = &Hu3DData[lbl_1_bss_B8->model[1]]; - object->rot.x = var_r27->rot.x; - switch (var_r30->unk_04) { - case 0: - object->trans.z = -500.0f + ((2.5f * lbl_1_bss_B8->work[0]) / 60.0f); - break; - case 1: - object->trans.z = -500.0f + ((5.0f * lbl_1_bss_B8->work[0]) / 60.0f); - break; - case 2: - object->trans.z = -500.0f + ((7.5f * lbl_1_bss_B8->work[0]) / 60.0f); - break; - } - } - else { - return; - } - } - else { - switch (var_r30->unk_04) { - case 0: - if (lbl_1_bss_8C != 0) { - object->trans.z = -495.0f; - var_r30->unk_04++; - } - break; - case 1: - if (lbl_1_bss_8C != 0) { - object->trans.z = -492.5f; - var_r30->unk_00_field0 = 0; - var_r30->unk_04++; - var_r30->unk_08 = 0.0f; - for (var_r29 = 0; var_r29 < 7; var_r29++) { - Hu3DModelShadowSet(object->model[var_r29]); - } - } - break; - case 2: - if (lbl_1_bss_8C != 0) { - var_r30->unk_04 = var_r30->unk_04 + 1; - object->trans.y = 2.5f; - for (var_r29 = 0; var_r29 < 7; var_r29++) { - Hu3DModelShadowReset(object->model[var_r29]); - Hu3DModelShadowMapSet(object->model[var_r29]); - } - } - else { - var_r30->unk_08 = var_r30->unk_08 + lbl_1_bss_88; - if (var_r30->unk_08 > 90.0f) { - var_r30->unk_00_field0 = 1; - var_r30->unk_08 = 90.0f; - HuAudFXPlay(0x522); - } - object->rot.x = -120.0 * cosd(var_r30->unk_08); - object->trans.z = -500.0 + (7.5 * cosd(var_r30->unk_08)); - } - break; - case 3: - if (lbl_1_bss_8C != 0) { - var_r30->unk_04++; - object->trans.y = 0.0f; - } - break; - case 4: - if (lbl_1_bss_8C != 0) { - var_r30->unk_04 = 0; - object->trans.y = 5.0f; - object->trans.z = -497.5f; - object->rot.x = -120.0f; - for (var_r29 = 0; var_r29 < 7; var_r29++) { - fn_1_7A74(object->model[var_r29]); - } - fn_1_6FC4(object); - } - break; - } - } - MTXTrans(sp8, object->trans.x, object->trans.y, object->trans.z); - mtxRot(sp38, object->rot.x, object->rot.y, object->rot.z); - MTXConcat(sp8, sp38, sp8); - for (var_r28 = 0; var_r28 < 6; var_r28++) { - MTXTrans(sp38, lbl_1_data_A88[var_r28].x, lbl_1_data_A88[var_r28].y, lbl_1_data_A88[var_r28].z); - MTXConcat(sp8, sp38, sp38); - Hu3DModelPosSet(object->model[var_r28 + 1], sp38[0][3], sp38[1][3], sp38[2][3]); - Hu3DModelRotSet(object->model[var_r28 + 1], object->rot.x, object->rot.y, object->rot.z); - } -} - -void fn_1_7978(void) -{ - s32 var_r31; - omObjData *var_r30; - M453MapUnkStruct *var_r29; - s32 var_r28; - - for (var_r31 = 0; var_r31 < 5; var_r31++) { - var_r30 = lbl_1_bss_A4[var_r31]; - var_r29 = var_r30->data; - if (var_r29 != NULL) { - for (var_r28 = 0; var_r28 < 0xC; var_r28++) { - if (var_r29->unk_24[var_r28] >= 0) { - Hu3DModelKill(var_r29->unk_24[var_r28]); - } - } - HuMemDirectFree(var_r29); - lbl_1_bss_A4[var_r31]->data = NULL; - } - for (var_r31 = 0; var_r31 < var_r30->mdlcnt; var_r31++) { - var_r30->model[var_r31] = -1; - } - } -} - -void fn_1_7A74(s16 arg0) -{ - HsfData *var_r31; - HsfObject *var_r30; - s16 var_r29; - HsfObject *var_r28; - HsfConstData *var_r27; - - var_r31 = Hu3DData[arg0].hsfData; - for (var_r28 = var_r31->object, var_r29 = 0; var_r29 < var_r31->objectCnt; var_r29++, var_r28++) { - var_r30 = var_r28; - if (var_r30->constData) { - var_r27 = var_r30->constData; - var_r27->flags &= 0xFFFFFFF7; - } - } -} - -s32 fn_1_7AFC(float arg8, float arg9) -{ - s32 var_r31; - s32 var_r30; - - var_r31 = (600.0f + arg8) / 400.0f; - var_r30 = (400.0f + arg9) / 400.0f; - if (var_r31 < 0) { - var_r31 = 0; - } - else if (var_r31 > 2) { - var_r31 = 2; - } - if (var_r30 < 0) { - var_r30 = 0; - } - else if (var_r30 > 1) { - var_r30 = 1; - } - return var_r31 + (var_r30 * 3); -} - -void fn_1_7BB0(s32 arg0, Vec *arg1) -{ - arg1->x = lbl_1_data_A88[arg0].x; - arg1->y = lbl_1_data_A88[arg0].y; - arg1->z = lbl_1_data_A88[arg0].z; -} - -s32 fn_1_7BFC(M453MapUnkStruct *arg0, s32 arg1) -{ - return arg0->unk_0C[arg1]; -} - -void fn_1_7C0C(float arg8) -{ - lbl_1_bss_94 = 1; - lbl_1_bss_88 = arg8; -} - -void fn_1_7C2C(s32 arg0) -{ - lbl_1_bss_7C = arg0; -} - -void fn_1_7C3C(void) -{ - float var_f31; - float var_f30; - - lbl_1_bss_84 = 1; - if (lbl_1_bss_80 == 0) { - var_f31 = 1.6666666f; - } - else { - var_f31 = -1.6666666f; - } - var_f30 = var_f31; - Hu3DMotionSpeedSet(lbl_1_bss_B8->model[2], var_f30); - HuAudFXPlay(0x524); -} - -s32 fn_1_7CE0(float arg8, float arg9, Vec *arg0) -{ - Mtx sp4C; - Mtx sp1C; - Vec sp10; - - omObjData *var_r31; - Vec *var_r30; - s32 var_r28; - s32 var_r27; - s32 var_r24; - s32 var_r23; - M453MapUnkStruct *var_r22; - - var_r31 = lbl_1_bss_A4[lbl_1_bss_9C]; - var_r22 = var_r31->data; - var_r27 = fn_1_7AFC(arg8, arg9); - var_r28 = fn_1_7BFC(var_r22, var_r27); - if (var_r28 < 6) { - return 0; - } - var_r28 -= 6; - fn_1_7BB0(var_r27, &sp10); - sp10 = lbl_1_data_A88[var_r27]; - MTXTrans(sp4C, var_r31->trans.x, var_r31->trans.y, var_r31->trans.z); - mtxRot(sp1C, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z); - MTXConcat(sp4C, sp1C, sp4C); - MTXTrans(sp1C, sp10.x, sp10.y, sp10.z); - MTXConcat(sp4C, sp1C, sp4C); - var_r30 = lbl_1_data_AFC[var_r28]; - var_r23 = lbl_1_data_B14[var_r28]; - for (var_r24 = 0; var_r24 < var_r23; var_r24++) { - MTXTrans(sp1C, var_r30->x, var_r30->y, var_r30->z); - MTXConcat(sp4C, sp1C, sp1C); - arg0->x = sp1C[0][3]; - arg0->y = sp1C[1][3]; - arg0->z = sp1C[2][3]; - arg0++; - var_r30++; - } - return var_r23; -} - -float fn_1_7F54(float arg8, float arg9) -{ - float var_f31; - - omObjData *var_r31 = lbl_1_bss_A4[lbl_1_bss_9C]; - float var_f30 = -(arg9 - var_r31->trans.z); - if (cosd(var_r31->rot.x) <= 0.0) { - var_f31 = 9999.0f; - } - else { - var_f31 = (var_f30 * sind(var_r31->rot.x)) / cosd(var_r31->rot.x); - if (var_f31 > 9999.0f) { - var_f31 = 9999.0f; - } - } - return var_f31; -} - -float fn_1_80B0(Vec *arg0, float arg8) -{ - return fn_1_7F54(0.0f, arg0->z - arg8); -} - -s32 fn_1_8230(void) -{ - return lbl_1_bss_84; -} - -s32 fn_1_8240(void) -{ - return lbl_1_bss_90; -} - -s32 fn_1_8250(M453MapUnkStruct *arg0, s32 *arg1) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = 0; - for (var_r31 = 0; var_r31 < 6; var_r31++) { - if (arg0->unk_0C[var_r31] >= 6) { - arg1[var_r30++] = var_r31; - } - } - return var_r30; -} - -s32 fn_1_82AC(Vec *arg0) -{ - s32 sp8[6]; - - omObjData *var_r31; - s32 var_r30; - M453MapUnkStruct *var_r28; - s32 var_r27; - s32 var_r24; - - var_r31 = lbl_1_bss_A4[lbl_1_bss_9C]; - var_r28 = var_r31->data; - var_r24 = fn_1_8250(var_r28, sp8); - for (var_r30 = 0; var_r30 < var_r24; var_r30++) { - fn_1_7BB0(sp8[var_r30], arg0); - var_r27 = fn_1_7BFC(var_r28, sp8[var_r30]) - 6; - arg0->x += var_r31->trans.x + lbl_1_data_B2C[var_r27].x; - arg0->y += var_r31->trans.y + lbl_1_data_B2C[var_r27].y; - arg0->z += var_r31->trans.z + lbl_1_data_B2C[var_r27].z; - arg0++; - } - return var_r24; -} - -s32 fn_1_844C(Vec *arg0) -{ - Mtx sp50; - Mtx sp20; - s32 sp8[6]; - - omObjData *var_r30; - s32 var_r29; - M453MapUnkStruct *var_r27; - s32 var_r26; - s32 var_r23; - - var_r30 = lbl_1_bss_A4[lbl_1_bss_9C]; - var_r27 = var_r30->data; - var_r23 = fn_1_8250(var_r27, sp8); - MTXTrans(sp50, var_r30->trans.x, var_r30->trans.y, var_r30->trans.z); - mtxRot(sp20, var_r30->rot.x, var_r30->rot.y, var_r30->rot.z); - MTXConcat(sp50, sp20, sp50); - for (var_r29 = 0; var_r29 < var_r23; var_r29++) { - fn_1_7BB0(sp8[var_r29], arg0); - var_r26 = fn_1_7BFC(var_r27, sp8[var_r29]) - 6; - arg0->x += lbl_1_data_B2C[var_r26].x; - arg0->y += lbl_1_data_B2C[var_r26].y; - arg0->z += lbl_1_data_B2C[var_r26].z; - MTXTrans(sp20, arg0->x, arg0->y, arg0->z); - MTXConcat(sp50, sp20, sp20); - arg0->x = sp20[0][3]; - arg0->y = sp20[1][3]; - arg0->z = sp20[2][3]; - arg0++; - } - return var_r23; -} - -void fn_1_864C(s32 arg0) -{ - if (arg0 > lbl_1_bss_7C) { - arg0 = lbl_1_bss_7C; - } - lbl_1_bss_78 = arg0; -} - -s32 fn_1_867C(Vec *arg0, Vec *arg1) -{ - Vec sp48; - Vec sp3C; - Vec sp30; - Vec sp24; - Vec sp18; - Vec spC; - - float var_f31; - float var_f30; - float var_f29; - float var_f28; - float var_f27; - float var_f26; - float var_f25; - float var_f24; - - s32 var_r31; - Vec *var_r30; - Vec *var_r29; - omObjData *var_r28; - s32 var_r27; - s32 var_r24; - s32 var_r21; - s32 var_r20; - s32 var_r19; - M453MapUnkStruct *var_r18; - - var_r28 = lbl_1_bss_A4[lbl_1_bss_9C]; - var_r18 = var_r28->data; - if ((var_r28->rot.x > 0.0f) || (var_r28->rot.x <= -90.0f)) { - return 0; - } - VECSubtract(arg0, &var_r28->trans, &sp3C); - sp3C.z = sp3C.z / cosd(var_r28->rot.x); - var_f24 = arg0->z; - var_f25 = arg0->x; - var_r19 = fn_1_7AFC(var_f25, var_f24); - var_r24 = fn_1_7BFC(var_r18, var_r19); - if (var_r24 < 6) { - return 0; - } - var_r24 -= 6; - sp48 = lbl_1_data_A88[var_r19]; - VECSubtract(&sp3C, &sp48, &sp3C); - var_r30 = lbl_1_data_B74[var_r24][0]; - var_r29 = lbl_1_data_B74[var_r24][1]; - var_r21 = lbl_1_data_BA4[var_r24]; - for (var_r31 = 0; var_r31 < var_r21; var_r31++) { - var_r27 = (var_r31 + 1) % var_r21; - VECSubtract(var_r30 + var_r27, var_r30 + var_r31, &sp24); - VECSubtract(&sp3C, var_r30 + var_r27, &sp18); - VECCrossProduct(&sp24, &sp18, &spC); - if (!(spC.y < 0.0f)) { - VECSubtract(var_r29 + var_r27, var_r30 + var_r27, &sp24); - VECSubtract(&sp3C, var_r29 + var_r27, &sp18); - VECCrossProduct(&sp24, &sp18, &spC); - if (!(spC.y < 0.0f)) { - VECSubtract(var_r29 + var_r31, var_r29 + var_r27, &sp24); - VECSubtract(&sp3C, var_r29 + var_r31, &sp18); - VECCrossProduct(&sp24, &sp18, &spC); - if (!(spC.y < 0.0f)) { - VECSubtract(var_r30 + var_r31, var_r29 + var_r31, &sp24); - VECSubtract(&sp3C, var_r30 + var_r31, &sp18); - VECCrossProduct(&sp24, &sp18, &spC); - if (!(spC.y < 0.0f)) { - VECSubtract(var_r30 + var_r27, var_r30 + var_r31, &sp24); - var_f30 = (((sp3C.z * sp24.z) - + (((sp3C.y * sp24.y) + ((sp3C.x * sp24.x) - (sp24.x * var_r30[var_r31].x))) - (sp24.y * var_r30[var_r31].y))) - - (sp24.z * var_r30[var_r31].z)) - / ((sp24.z * sp24.z) + ((sp24.x * sp24.x) + (sp24.y * sp24.y))); - sp30.x = var_r30[var_r31].x + (var_f30 * sp24.x); - sp30.y = var_r30[var_r31].y + (var_f30 * sp24.y); - sp30.z = var_r30[var_r31].z + (var_f30 * sp24.z); - VECSubtract(&sp30, &sp3C, &spC); - var_f28 = VECMag(&spC); - VECSubtract(var_r29 + var_r27, var_r29 + var_r31, &sp18); - var_f29 = (((sp3C.z * sp18.z) - + (((sp3C.y * sp18.y) + ((sp3C.x * sp18.x) - (sp18.x * var_r29[var_r31].x))) - (sp18.y * var_r29[var_r31].y))) - - (sp18.z * var_r29[var_r31].z)) - / ((sp18.z * sp18.z) + ((sp18.x * sp18.x) + (sp18.y * sp18.y))); - sp30.x = var_r29[var_r31].x + (var_f29 * sp18.x); - sp30.y = var_r29[var_r31].y + (var_f29 * sp18.y); - sp30.z = var_r29[var_r31].z + (var_f29 * sp18.z); - VECSubtract(&sp30, &sp3C, &spC); - var_f27 = VECMag(&spC); - if (var_f28 == 0.0f) { - var_f31 = var_f30; - } - else if (var_f27 == 0.0f) { - var_f31 = var_f29; - } - else { - var_f26 = 1.0f - (var_f28 / (var_f28 + var_f27)); - var_f31 = (var_f30 * var_f26) + (var_f29 * (1.0f - var_f26)); - } - if (var_f31 < 0.0f) { - var_f31 = 0.0f; - } - else if (var_f31 > 1.0f) { - var_f31 = 1.0f; - } - sp3C.x = var_r29[var_r31].x + (var_f31 * sp18.x); - sp3C.y = var_r29[var_r31].y + (var_f31 * sp18.y); - sp3C.z = var_r29[var_r31].z + (var_f31 * sp18.z); - arg1->x = sp3C.x + (var_r28->trans.x + sp48.x); - arg1->y = sp3C.y + (var_r28->trans.y + sp48.y); - arg1->z = var_r28->trans.z + ((sp48.z + sp3C.z) * cosd(var_r28->rot.x)); - return 1; - } - } - } - } - } - var_r20 = 0; - for (var_r31 = 0; var_r31 < var_r21; var_r31++) { - var_r27 = (var_r31 + 1) % var_r21; - var_f31 = (sp3C.z - var_r30[var_r31].z) / (var_r30[var_r27].z - var_r30[var_r31].z); - spC.x = var_r30[var_r31].x + (var_f31 * (var_r30[var_r27].x - var_r30[var_r31].x)); - if ((var_f31 >= 0.0f) && (var_f31 < 1.0f) && (spC.x > sp3C.x)) { - var_r20++; - } - } - if ((var_r20 & 1) != 0) { - arg1->x = arg0->x; - arg1->y = arg0->y; - arg1->z = arg0->z; - return 1; - } - return 0; -} diff --git a/src/REL/m453Dll/score.c b/src/REL/m453Dll/score.c deleted file mode 100644 index a588ca07..00000000 --- a/src/REL/m453Dll/score.c +++ /dev/null @@ -1,188 +0,0 @@ -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/esprite.h" -#include "game/flag.h" -#include "game/frand.h" -#include "game/gamework.h" -#include "game/hsfanim.h" -#include "game/hsfman.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "game/wipe.h" - -#include "REL/m453Dll.h" - -typedef struct M453ScoreUnkStruct { - s32 unk_00; - s32 unk_04; - s16 unk_08; - s16 unk_0A; - s16 unk_0C[4]; - s16 unk_14; - s16 unk_16; - s32 unk_18; - float unk_1C; -} M453ScoreUnkStruct; /* size = 0x20 */ - -typedef void (*M453ScoreUnkFunc)(void); - -void fn_1_92C0(s32 arg0); -void fn_1_92F0(omObjData *object); -void fn_1_940C(void); -void fn_1_9484(void); -void fn_1_9510(void); - -M453ScoreUnkFunc lbl_1_data_BC0[3] = { fn_1_940C, fn_1_9484, fn_1_9510 }; - -Process *lbl_1_bss_C4; -omObjData *lbl_1_bss_C0; - -void fn_1_8F48(Process *arg0, s16 arg1) -{ - M453ScoreUnkStruct *var_r31; - u32 var_r30; - - lbl_1_bss_C4 = arg0; - lbl_1_bss_C0 = omAddObjEx(lbl_1_bss_C4, 0x800, 0, 0, 7, fn_1_92F0); - lbl_1_bss_C0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M453ScoreUnkStruct), MEMORY_DEFAULT_NUM); - var_r31 = lbl_1_bss_C0->data; - var_r31->unk_08 = arg1; - var_r31->unk_0A = 0; - var_r31->unk_14 = espEntry(0x530000, 2, 0); - espTPLvlSet(var_r31->unk_14, 0.5f); - espPosSet(var_r31->unk_14, 520.0f, 64.0f); - espColorSet(var_r31->unk_14, 0, 0, 0); - var_r31->unk_16 = espEntry(0x610037, 1, 0); - espPosSet(var_r31->unk_16, 501.0f, 55.0f); - for (var_r30 = 0; var_r30 < 2; var_r30++) { - var_r31->unk_0C[var_r30] = espEntry(0x610030, 0, 0); - espPosSet(var_r31->unk_0C[var_r30], (var_r30 * 0x12) + 0x20A, 56.0f); - espDispOff(var_r31->unk_0C[var_r30]); - } - for (var_r30 = 0; var_r30 < 2; var_r30++) { - var_r31->unk_0C[var_r30 + 2] = espEntry(0x610031, 1, 0); - espPosSet(var_r31->unk_0C[var_r30 + 2], (var_r30 * 0x12) + 0x20A, 72.0f); - } - for (var_r30 = 0; var_r30 < 6; var_r30++) { - espDispOff(var_r31->unk_0C[var_r30]); - } - HuDataDirClose(0x530000); - HuDataDirClose(0x610000); - fn_1_92C0(0); -} - -void fn_1_91D8(void) -{ - s32 var_r31; - M453ScoreUnkStruct *var_r30 = lbl_1_bss_C0->data; - - for (var_r31 = 0; var_r31 < 7; var_r31++) { - espKill(var_r30->unk_0C[var_r31]); - } - HuMemDirectFree(lbl_1_bss_C0->data); -} - -void fn_1_924C(s32 arg0) -{ - switch (arg0) { - case 0: - fn_1_92C0(1); - break; - case 1: - fn_1_92C0(2); - break; - } -} - -void fn_1_929C(void) -{ - fn_1_92C0(0); -} - -void fn_1_92C0(s32 arg0) -{ - M453ScoreUnkStruct *var_r31 = lbl_1_bss_C0->data; - - var_r31->unk_00 = arg0; - var_r31->unk_04 = 0; -} - -void fn_1_92F0(omObjData *arg0) -{ - s16 var_r30; - - M453ScoreUnkStruct *var_r31 = lbl_1_bss_C0->data; - - lbl_1_data_BC0[var_r31->unk_00](); - var_r30 = var_r31->unk_08; - espBankSet(var_r31->unk_0C[0], var_r30 / 10); - var_r30 -= (var_r30 / 10) * 10; - espBankSet(var_r31->unk_0C[1], var_r30); - var_r30 = var_r31->unk_0A; - espBankSet(var_r31->unk_0C[2], var_r30 / 10); - var_r30 -= (var_r30 / 10) * 10; - espBankSet(var_r31->unk_0C[3], var_r30); -} - -void fn_1_940C(void) -{ - s32 var_r30; - - M453ScoreUnkStruct *var_r31 = lbl_1_bss_C0->data; - if (var_r31->unk_04 == 0) { - for (var_r30 = 0; var_r30 < 6; var_r30++) { - espDispOff(var_r31->unk_0C[var_r30]); - } - var_r31->unk_04 = var_r31->unk_04 + 1; - } -} - -void fn_1_9484(void) -{ - s16 var_r30; - M453ScoreUnkStruct *var_r31 = lbl_1_bss_C0->data; - - if (var_r31->unk_04 == 0) { - for (var_r30 = 0; var_r30 < 6; var_r30++) { - espDispOn(var_r31->unk_0C[var_r30]); - } - var_r31->unk_04 = var_r31->unk_04 + 1; - } - var_r31->unk_0A = fn_1_639C(); -} - -void fn_1_9510(void) -{ - s32 var_r30; - M453ScoreUnkStruct *var_r31 = lbl_1_bss_C0->data; - - if (var_r31->unk_04 == 0) { - var_r31->unk_18 = 0; - var_r31->unk_1C = 1.0f; - if (var_r31->unk_0A > var_r31->unk_08) { - var_r31->unk_08 = var_r31->unk_0A; - } - var_r31->unk_04 = var_r31->unk_04 + 1; - } - if (var_r31->unk_18 == 0) { - if ((var_r31->unk_1C += 0.02f) >= 1.2f) { - var_r31->unk_1C = 1.2f; - var_r31->unk_18 = 1; - } - } - else { - if ((var_r31->unk_1C -= 0.04f) <= 1.0f) { - var_r31->unk_1C = 1.0f; - var_r31->unk_18 = 0; - } - } - for (var_r30 = 0; var_r30 <= 1; var_r30++) { - espScaleSet(var_r31->unk_0C[var_r30], var_r31->unk_1C, var_r31->unk_1C); - } - espScaleSet(var_r31->unk_16, var_r31->unk_1C, var_r31->unk_1C); -} diff --git a/src/REL/m455Dll/main.c b/src/REL/m455Dll/main.c deleted file mode 100644 index 36c27f42..00000000 --- a/src/REL/m455Dll/main.c +++ /dev/null @@ -1,809 +0,0 @@ -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/object.h" -#include "game/objsub.h" - -#include "game/hsfmotion.h" -#include "game/pad.h" - -#include "REL/m455Dll.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/frand.h" -#include "game/gamework_data.h" -#include "game/minigame_seq.h" -#include "game/wipe.h" - -#include "ext_math.h" -#include "math.h" - -#ifndef __MWERKS__ -#include "game/esprite.h" -#endif - -typedef struct camera_view_params { - float zoom; - Vec pos; - Vec rot; -} CameraViewParams; - -CameraViewParams lbl_1_data_0[2] = { { 500, { 0, 1000, 0 }, { 40, 0, 0 } }, { 1985, { 0, 300, 0 }, { -6, 0, 0 } } }; -Vec lbl_1_data_38 = { 700, 2500, -700 }; -Vec lbl_1_data_44 = { 0, 0, 0 }; -GXColor lbl_1_data_50 = { 255, 255, 255, 255 }; -Vec lbl_1_data_54 = { 200, 15000, -200 }; -Vec lbl_1_data_60 = { 0, 1, 0 }; - -omObjData *lbl_1_bss_40; -omObjData *lbl_1_bss_3C; -omObjData *lbl_1_bss_38; -s32 lbl_1_bss_34; -s32 lbl_1_bss_30; -s32 lbl_1_bss_2C; -s32 lbl_1_bss_28; -s16 lbl_1_bss_26; -s16 lbl_1_bss_24; -s16 lbl_1_bss_22; -s16 lbl_1_bss_20; -s16 lbl_1_bss_18[4]; -s16 lbl_1_bss_16; -s16 lbl_1_bss_14; -Vec lbl_1_bss_8; -s16 lbl_1_bss_4; -s32 lbl_1_bss_0; - -void fn_1_330(omObjData *object); -void fn_1_B94(Process *objman); -void fn_1_2A90(Process *objman); - -void ObjectSetup(void) -{ - Process *objman; - CameraData *camera = &Hu3DCamera[0]; - s16 light; - OSReport("******* M455ObjectSetup *********\n"); - objman = omInitObjMan(50, 8192); - omGameSysInit(objman); - Hu3DCameraCreate(HU3D_CAM0); - Hu3DCameraPerspectiveSet(HU3D_CAM0, -1, 20, 25000, 1.2f); - Hu3DCameraViewportSet(HU3D_CAM0, 0, 0, 640, 480, 0, 1); - lbl_1_bss_3C = omAddObjEx(objman, 32730, 0, 0, -1, omOutView); - lbl_1_bss_8.x = lbl_1_data_44.x - lbl_1_data_38.x; - lbl_1_bss_8.y = lbl_1_data_44.y - lbl_1_data_38.y; - lbl_1_bss_8.z = lbl_1_data_44.z - lbl_1_data_38.z; - VECNormalize(&lbl_1_bss_8, &lbl_1_bss_8); - light = Hu3DGLightCreateV(&lbl_1_data_38, &lbl_1_bss_8, &lbl_1_data_50); - Hu3DGLightInfinitytSet(light); - Hu3DGLightStaticSet(light, 1); - Hu3DShadowCreate(10, camera->near, camera->far); - Hu3DShadowTPLvlSet(0.7f); - Hu3DShadowPosSet(&lbl_1_data_54, &lbl_1_data_60, &lbl_1_data_44); - HuAudSndGrpSet(77); - lbl_1_bss_38 = omAddObjEx(objman, 0, 0, 0, -1, fn_1_330); - fn_1_2A90(objman); - fn_1_B94(objman); - fn_1_32C4(objman); -} - -void fn_1_310(s32 arg0) -{ - lbl_1_bss_34 = arg0; -} - -s32 fn_1_320(void) -{ - return lbl_1_bss_34; -} - -void fn_1_478(omObjData *object); - -void fn_1_330(omObjData *object) -{ - CameraData *camera = &Hu3DCamera[0]; - lbl_1_bss_34 = 0; - lbl_1_bss_2C = 60; - lbl_1_bss_30 = -1; - lbl_1_bss_26 = 30; - lbl_1_bss_24 = 60; - lbl_1_bss_22 = -1; - lbl_1_bss_20 = 0; - lbl_1_bss_16 = ((frand16() * 270.0f) / 65536.0f) + 30.0f; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - camera->fov = 30.0f; - object->func = fn_1_478; -} - -void fn_1_B38(omObjData *object); -void fn_1_C28(void); -s32 fn_1_C90(void); - -typedef struct m455_player { - u8 field0 : 1; - u8 field1 : 1; - u8 field2 : 1; - s16 unk2; - s16 unk4; - s8 unk6; - s8 unk7; - u16 unk8; - u16 unkA; - s32 unkC; - s16 unk10; - s16 unk12; - s16 unk14; - s16 unk16; - s32 unk18; - s32 unk1C; - u32 unk20; - s16 unk24; - s16 unk26; - s16 unk28; - s16 unk2A; - s16 unk2C; - s16 unk2E; - s16 unk30; - Vec unk34[2]; - Vec unk4C; - s16 unk58; - s32 unk5C[4]; -} M455Player; - -s16 lbl_1_data_90 = -1; -s32 lbl_1_data_94 = -1; -s32 lbl_1_data_98 = -1; - -void fn_1_478(omObjData *object) -{ - s32 i; - omObjData **playerList; - M455Player *player; - - switch (fn_1_320()) { - case 0: - if (lbl_1_data_98 < 0) { - lbl_1_data_98 = HuAudFXPlay(1985); - } - if (--lbl_1_bss_2C == 0) { - fn_1_310(1); - lbl_1_bss_2C = 120; - } - break; - - case 1: - if (--lbl_1_bss_2C == 0) { - fn_1_310(2); - lbl_1_bss_4 = MGSeqStartCreate(); - } - break; - - case 2: - if (!MGSeqStatGet(lbl_1_bss_4)) { - fn_1_310(3); - } - if (lbl_1_data_94 < 0 && (MGSeqStatGet(lbl_1_bss_4) & 0x10)) { - lbl_1_data_94 = HuAudSeqPlay(60); - } - break; - - case 3: - if (--lbl_1_bss_24 == 0) { - lbl_1_bss_26--; - if (lbl_1_data_90 >= 0) { - MGSeqParamSet(lbl_1_data_90, 1, lbl_1_bss_26); - } - lbl_1_bss_24 = 60; - if (lbl_1_bss_26 == 10) { - lbl_1_data_90 = MGSeqTimerCreate(10); - } - } - if (lbl_1_bss_16 >= 0) { - lbl_1_bss_16--; - } - if (lbl_1_bss_26 == 0 || fn_1_C90()) { - fn_1_310(4); - lbl_1_bss_4 = MGSeqFinishCreate(); - HuAudSeqFadeOut(lbl_1_data_94, 100); - } - break; - - case 4: - if (lbl_1_data_90 >= 0) { - MGSeqParamSet(lbl_1_data_90, 2, -1); - lbl_1_data_90 = -1; - } - if (!MGSeqStatGet(lbl_1_bss_4)) { - fn_1_310(7); - lbl_1_bss_2C = 120; - } - break; - - case 7: - if (--lbl_1_bss_2C == 0) { - fn_1_310(9); - if (lbl_1_bss_30 >= 0) { - HuAudSStreamPlay(1); - playerList = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - for (i = 0; i < 4; i++) { - player = playerList[i]->data; - if (player->unk28 < 0) { - GWPlayerCoinWinSet(i, lbl_1_bss_22 + 1); - } - } - } - else { - HuAudSStreamPlay(4); - for (i = 0; i < 4; i++) { - GWPlayerCoinWinSet(i, 3); - } - } - lbl_1_bss_2C = 210; - } - break; - - case 9: - if (--lbl_1_bss_2C == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuAudFXStop(lbl_1_data_98); - object->func = fn_1_B38; - } - break; - } - if (lbl_1_bss_20) { - if (lbl_1_bss_20 >= 2) { - for (i = 0; i < 100; i++) { - s32 srcIdx = (frand8() * lbl_1_bss_20) >> 8; - s32 dstIdx = (frand8() * lbl_1_bss_20) >> 8; - s32 temp = lbl_1_bss_18[srcIdx]; - lbl_1_bss_18[srcIdx] = lbl_1_bss_18[dstIdx]; - lbl_1_bss_18[dstIdx] = temp; - } - } - playerList = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - for (i = 0; i < lbl_1_bss_20; i++) { - lbl_1_bss_22++; - GWPlayerCoinWinSet(lbl_1_bss_18[i], lbl_1_bss_22); - player = playerList[lbl_1_bss_18[i]]->data; - player->unk28 = lbl_1_bss_22; - } - lbl_1_bss_20 = 0; - } - if (omSysExitReq && !WipeStatGet()) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_B38; - } -} - -void fn_1_B38(omObjData *object) -{ - if (WipeStatGet()) { - return; - } - fn_1_C28(); - fn_1_340C(); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - OSReport("******* M455Exit *********\n"); -} - -void fn_1_D14(omObjData *object); - -void fn_1_B94(Process *objman) -{ - s32 i; - lbl_1_bss_28 = 0; - lbl_1_bss_14 = 3; - omMakeGroupEx(objman, 0, 4); - for (i = 0; i < 4; i++) { - omAddObjEx(objman, 5, 10, 50, 0, fn_1_D14); - } -} - -void fn_1_2010(omObjData *object); - -void fn_1_C28(void) -{ - s32 i; - omObjData **playerList; - playerList = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - if (playerList == NULL) { - return; - } - for (i = 0; i < 4; i++) { - fn_1_2010(playerList[i]); - } -} - -s32 fn_1_C90(void) -{ - s32 i; - omObjData **playerList; - playerList = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - for (i = 0; i < 4; i++) { - M455Player *player = playerList[i]->data; - if (!player->field1) { - return 0; - } - } - return 1; -} - -s32 fn_1_3214(void); - -u32 lbl_1_data_E0[5][2] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - 0, - 0x540024, - 1, - 0x54001C, - 1, - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), - 0, - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18), - 0, -}; - -Vec lbl_1_data_108[4] = { - { -300, 0, -100 }, - { -100, 0, -100 }, - { 100, 0, -100 }, - { 300, 0, -100 }, -}; - -void fn_1_1444(omObjData *object); - -void fn_1_2060(ModelData *arg0, Mtx arg1); - -void fn_1_D14(omObjData *object) -{ - M455Player *player; - s32 charNo; - u32 i; - player = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M455Player), MEMORY_DEFAULT_NUM); - object->data = player; - memset(player, 0, sizeof(M455Player)); - player->unk2 = lbl_1_bss_28++; - player->unk4 = GWPlayerCfg[player->unk2].pad_idx; - player->unkC = fn_1_3214(); - charNo = GWPlayerCfg[player->unk2].character; - player->unk10 = charNo; - player->unk12 = GWPlayerCfg[player->unk2].diff; - player->unk14 = GWPlayerCfg[player->unk2].group; - object->model[0] = CharModelCreate(charNo, 8); - Hu3DModelShadowSet(object->model[0]); - Hu3DModelLayerSet(object->model[0], 3); - Hu3DModelCameraSet(object->model[0], HU3D_CAM0); - object->model[1] = Hu3DModelCreateFile(0x540002); - Hu3DModelHookSet(object->model[0], "test11_tex_we-itemhook-r", object->model[1]); - Hu3DModelAttrSet(object->model[1], HU3D_MOTATTR_SHAPE_PAUSE | HU3D_MOTATTR_PAUSE); - player->unk1C = 1; - for (i = 0; i < 5; i++) { - if (lbl_1_data_E0[i][1] == 0) { - object->motion[i] = CharModelMotionCreate(player->unk10, lbl_1_data_E0[i][0]); - } - else { - object->motion[i] = CharModelMotionCreate(player->unk10, player->unk10 + lbl_1_data_E0[i][0]); - } - } - Hu3DMotionSet(object->model[0], object->motion[player->unk1C]); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - object->trans.x = lbl_1_data_108[player->unk2].x; - object->trans.y = lbl_1_data_108[player->unk2].y; - object->trans.z = lbl_1_data_108[player->unk2].z; - player->unk2A = espEntry(0x54000C, 0x8000, 0); - espDispOff(player->unk2A); - object->model[3] = Hu3DHookFuncCreate(fn_1_2060); - Hu3DModelLayerSet(object->model[3], 3); - Hu3DModelCameraSet(object->model[3], HU3D_CAM0); - Hu3DData[object->model[3]].unk_120 = object; - object->model[4] = Hu3DModelCreateFile(0x54000A); - Hu3DModelLayerSet(object->model[4], 3); - Hu3DModelCameraSet(object->model[4], HU3D_CAM0); - Hu3DModelShadowSet(object->model[4]); - i = Hu3DMotionCreateFile(0x54000B); - Hu3DMotionSet(object->model[4], i); - Hu3DModelAttrSet(object->model[4], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(object->model[4], HU3D_MOTATTR_PAUSE); - player->unk4C.x = object->trans.x + (50.0f * ((((s32)frand() & 0x1FF) - 256.0f) / 256.0f)); - player->unk4C.y = -200; - player->unk4C.z = -1500; - Hu3DModelPosSetV(object->model[4], &player->unk4C); - Hu3DModelAttrSet(object->model[4], HU3D_ATTR_DISPOFF); - player->unk34[0].x = object->trans.x; - player->unk34[0].y = 0; - player->unk34[0].z = -500; - player->unk34[1].x = object->trans.x; - player->unk34[1].y = -200; - player->unk34[1].z = -1000; - CharModelDataClose(player->unk10); - object->rot.y = 180; - if (((s32)frand() & 0x1F) < 4 - player->unk12) { - player->unk58 = lbl_1_bss_16 - (60.0f * (0.05f * (4 - player->unk12))) - ((frand8() / 256.0f) * 6.0f); - if (player->unk58 < 0) { - player->unk58 = 0; - } - } - else { - player->unk58 = lbl_1_bss_16 + (60.0f * (0.1f * (4 - player->unk12))) + ((frand8() / 256.0f) * 30.0f) + 6.0f; - } - player->unk28 = -1; - object->func = fn_1_1444; -} - -void fn_1_1400(omObjData *object) -{ - M455Player *player = object->data; - if (player->unk58 != 0) { - player->unk58--; - } - else { - player->unkA |= PAD_BUTTON_A; - } -} - -float lbl_1_data_154[4] = { -350, -170, 170, 350 }; - -float lbl_1_data_164[3] = { 1.5f, 1.0f, 0.5f }; - -float fn_1_2390(float arg0, float arg1, float arg2); -s32 fn_1_24F0(Vec *arg0, Vec *arg1, float arg2); - -void fn_1_1444(omObjData *object) -{ - M455Player *temp_r31; - s32 temp_r29; - u32 temp_r28; - Vec sp24[3]; - Vec sp18; - Vec spC; - float temp_f31; - - temp_r31 = object->data; - temp_r29 = temp_r31->unk1C; - temp_r28 = temp_r31->unk20; - object->trans.y = fn_1_687C(); - if (fn_1_320() < 3) { - return; - } - switch (temp_r31->unk16) { - case 0: - if (fn_1_320() == 4 || lbl_1_bss_14 == 0) { - temp_r31->field1 = 1; - temp_r31->unk16 = 2; - espDispOff(temp_r31->unk2A); - return; - } - if (!GWPlayerCfg[temp_r31->unk2].iscom) { - temp_r31->unk6 = HuPadStkX[temp_r31->unk4]; - temp_r31->unk7 = HuPadStkY[temp_r31->unk4]; - temp_r31->unk8 = HuPadBtn[temp_r31->unk4]; - temp_r31->unkA = HuPadBtnDown[temp_r31->unk4]; - } - else { - temp_r31->unk8 = temp_r31->unkA = 0; - temp_r31->unk6 = temp_r31->unk7 = 0; - fn_1_1400(object); - } - if (lbl_1_bss_16 == 0) { - if (temp_r31->unkC) { - omVibrate(temp_r31->unk2, 12, 12, 0); - } - else { - sp18.x = object->trans.x; - sp18.y = object->trans.y + 300; - sp18.z = object->trans.z; - Hu3D3Dto2D(&sp18, HU3D_CAM0, &sp18); - espPosSet(temp_r31->unk2A, sp18.x, sp18.y); - espDispOn(temp_r31->unk2A); - temp_r31->unk30 = 0; - } - temp_r31->unk2C = temp_r31->unk2E = 30; - } - - if (temp_r31->unkA & PAD_BUTTON_A) { - temp_r31->unk16 = 1; - temp_r31->unk24 = temp_r31->unk26 = 90; - temp_r31->unk2C = -1; - if (lbl_1_bss_16 <= 0) { - lbl_1_bss_18[lbl_1_bss_20++] = temp_r31->unk2; - } - Hu3DModelAttrReset(object->model[1], HU3D_MOTATTR_SHAPE_PAUSE | HU3D_MOTATTR_PAUSE); - Hu3DMotionSpeedSet(object->model[1], 1.2f); - Hu3DMotionShapeSpeedSet(object->model[1], 1.2f); - HuAudFXPlay(1986); - } - temp_r29 = 1; - temp_r28 = HU3D_MOTATTR_LOOP; - break; - - case 1: - temp_r29 = 2; - temp_r28 = HU3D_MOTATTR_NONE; - if (!temp_r31->field0) { - if (temp_r31->unk28 >= 0 && temp_r31->unk28 < 3) { - temp_r31->field0 = 1; - if (temp_r31->unk28 == 0) { - lbl_1_bss_30 = temp_r31->unk2; - } - temp_f31 = lbl_1_data_164[temp_r31->unk28]; - Hu3DModelScaleSet(object->model[4], temp_f31, temp_f31, temp_f31); - Hu3DModelAttrReset(object->model[4], HU3D_ATTR_DISPOFF); - } - } - temp_f31 = 1.0f - ((float)temp_r31->unk24 / temp_r31->unk26); - sp24[0].x = temp_r31->unk4C.x; - sp24[0].y = temp_r31->unk4C.y; - sp24[0].z = temp_r31->unk4C.z; - sp24[1].x = object->trans.x; - sp24[1].y = object->trans.y + 1500; - sp24[1].z = object->trans.z - 200; - sp24[2].x = lbl_1_data_154[temp_r31->unk2]; - sp24[2].y = 0; - sp24[2].z = 150; - fn_1_24F0(sp24, &sp18, temp_f31); - VECSubtract(&sp18, &Hu3DData[object->model[4]].pos, &spC); - Hu3DModelRotSet(object->model[4], atan2d(-spC.y, VECMagXZ(&spC)), atan2d(spC.x, spC.z), 0); - Hu3DModelPosSetV(object->model[4], &sp18); - if (sp18.y > 0.0f) { - if (!temp_r31->field2 && temp_r31->field0) { - fn_1_6CB0(&sp18, -1); - fn_1_6698(&sp18, -1, -1, -1); - temp_r31->field2 = 1; - } - } - temp_r31->unk34[0].x = temp_f31 * (2.0f * lbl_1_data_154[temp_r31->unk2]); - temp_r31->unk34[0].y = -200.0f + (-400.0f * temp_f31); - temp_r31->unk34[0].z = -500.0f + (-1500.0f * temp_f31); - temp_r31->unk34[1].x = temp_f31 * lbl_1_data_154[temp_r31->unk2]; - temp_r31->unk34[1].y = -200.0f + (400.0f * temp_f31); - temp_r31->unk34[1].z = -1000.0f + (750.0f * temp_f31); - if (--temp_r31->unk24 == 0) { - temp_r31->unk16 = 2; - temp_r31->field1 = 1; - if (temp_r31->field0) { - Hu3DModelAttrReset(object->model[4], HU3D_MOTATTR_PAUSE); - Hu3DModelRotSet(object->model[4], 0, 0, 0); - lbl_1_bss_14--; - } - } - break; - - case 2: - if (fn_1_320() == 7) { - temp_r31->unk16 = 3; - Hu3DModelObjPosGet(object->model[0], "test11_tex_we-itemhook-r", &sp18); - CharModelEffectCreate(1, &sp18); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); - } - break; - - case 3: - if (fn_1_320() < 9) { - temp_r29 = 0; - temp_r28 = HU3D_MOTATTR_LOOP; - } - else { - object->rot.y = fn_1_2390(object->rot.y, 0, 0.2f); - if (temp_r31->unk2 == lbl_1_bss_30) { - temp_r29 = 3; - temp_r28 = HU3D_MOTATTR_NONE; - } - else { - temp_r29 = 4; - temp_r28 = HU3D_MOTATTR_NONE; - } - } - break; - - default: - break; - } - if (temp_r31->unk2C) { - if (temp_r31->unk2C >= 0) { - temp_f31 = (0.5 * sind((90.0f * (float)temp_r31->unk2C) / (float)temp_r31->unk2E)) + 0.5; - espScaleSet(temp_r31->unk2A, temp_f31, temp_f31); - if (--temp_r31->unk2C == 0) { - temp_r31->unk2C = temp_r31->unk2E; - } - temp_r31->unk30++; - } - else { - if (temp_r31->unk30 > 30.0f) { - espDispOff(temp_r31->unk2A); - temp_r31->unk2C = 0; - } - else { - temp_r31->unk30++; - } - } - } - if (temp_r31->unk16 >= 2 && temp_r31->unk16 <= 3 && temp_r31->field0) { - Hu3DData[object->model[4]].rot.y += 2.0f; - if (0.0f == Hu3DData[object->model[4]].unk_64) { - HuAudFXPlay(1987); - } - } - if ((temp_r29 >= 0 && temp_r29 != temp_r31->unk1C) || temp_r28 != temp_r31->unk20) { - temp_r31->unk1C = temp_r29; - temp_r31->unk20 = temp_r28; - CharModelMotionShiftSet(temp_r31->unk10, object->motion[temp_r31->unk1C], 0, 8, temp_r28); - } -} - -void fn_1_2010(omObjData *object) -{ - M455Player *player = object->data; - if (object->data != NULL) { - HuMemDirectFree(object->data); - object->data = NULL; - } -} - -GXColor lbl_1_data_170 = { 255, 255, 255, 255 }; - -void fn_1_27A0(Vec *arg0, Vec *arg1, float arg2); - -void fn_1_2060(ModelData *arg0, Mtx arg1) -{ - Vec vtxPos[4]; - Mtx mtxHook; - - Vec pos; - Vec itemHookPos; - s32 i; - omObjData *object = arg0->unk_120; - M455Player *player = object->data; - ModelData *modelPuku = &Hu3DData[object->model[4]]; - GXLoadPosMtxImm(arg1, GX_PNMTX0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); - GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_170); - GXSetNumTexGens(0); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0); - GXSetNumTevStages(1); - GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - Hu3DModelObjMtxGet(object->model[0], "test11_tex_we-itemhook-r", mtxHook); - Hu3DModelObjPosGet(object->model[1], "hook", &pos); - MTXMultVec(mtxHook, &pos, &vtxPos[0]); - for (i = 0; i < 2; i++) { - vtxPos[i + 1].x = player->unk34[i].x; - vtxPos[i + 1].y = player->unk34[i].y; - vtxPos[i + 1].z = player->unk34[i].z; - } - if (player->field0) { - Mtx hookMtx; - Vec hookPos; - Hu3DModelObjMtxGet(object->model[4], "itemhook_C", hookMtx); - hookPos.x = 0; - hookPos.y = -60.000004f; - hookPos.z = 35.0f; - MTXMultVec(hookMtx, &hookPos, &vtxPos[3]); - } - else { - vtxPos[3].x = modelPuku->pos.x; - vtxPos[3].y = modelPuku->pos.y; - vtxPos[3].z = modelPuku->pos.z; - } - GXBegin(GX_LINESTRIP, GX_VTXFMT0, 20); - for (i = 0; i < 20; i++) { - fn_1_27A0(vtxPos, &pos, i / 19.0f); - GXPosition3f32(pos.x, pos.y, pos.z); - } - GXEnd(); -} - -float fn_1_2390(float arg0, float arg1, float arg2) -{ - float temp_f31 = fmod(arg1 - arg0, 360); - float temp_f30; - if (temp_f31 < 0) { - temp_f31 += 360.0f; - } - if (temp_f31 > 180) { - temp_f31 -= 360.0f; - } - temp_f30 = fmod(arg0 + (arg2 * temp_f31), 360); - if (temp_f30 < 0) { - temp_f30 += 360.0f; - } - return temp_f30; -} - -float fn_1_2494(float arg0, float arg1, float arg2, float arg3) -{ - float temp_f31 = 1.0f - arg3; - return (arg0 * (temp_f31 * temp_f31)) + ((2.0f * temp_f31) * arg3 * arg1) + (arg2 * (arg3 * arg3)); -} - -s32 fn_1_24F0(Vec *arg0, Vec *arg1, float arg2) -{ - arg1->x = fn_1_2494(arg0[0].x, arg0[1].x, arg0[2].x, arg2); - arg1->y = fn_1_2494(arg0[0].y, arg0[1].y, arg0[2].y, arg2); - arg1->z = fn_1_2494(arg0[0].z, arg0[1].z, arg0[2].z, arg2); -} - -float fn_1_26F8(float arg0, float arg1, float arg2, float arg3, float arg4) -{ - float temp_f31 = 1.0f - arg0; - float temp_f30 = temp_f31 * temp_f31; - float temp_f29 = temp_f31 * temp_f31 * temp_f31; - return (arg4 * (arg0 * (arg0 * arg0))) + ((arg3 * (arg0 * (3.0f * temp_f31 * arg0))) + ((temp_f29 * arg1) + (arg2 * (3.0f * temp_f30 * arg0)))); -} - -void fn_1_27A0(Vec *arg0, Vec *arg1, float arg2) -{ - arg1->x = fn_1_26F8(arg2, arg0[0].x, arg0[1].x, arg0[2].x, arg0[3].x); - arg1->y = fn_1_26F8(arg2, arg0[0].y, arg0[1].y, arg0[2].y, arg0[3].y); - arg1->z = fn_1_26F8(arg2, arg0[0].z, arg0[1].z, arg0[2].z, arg0[3].z); -} - -float lbl_1_data_184[2] = {}; - -void fn_1_2AF4(s32 arg0, s32 arg1, float arg2); - -void fn_1_2D44(omObjData *object); - -void fn_1_2A90(Process *objman) -{ - fn_1_2AF4(0, 0, 0); - lbl_1_bss_40 = omAddObjEx(objman, 10, 0, 0, -1, fn_1_2D44); -} - -void fn_1_2AF4(s32 arg0, s32 arg1, float arg2) -{ - CZoom = lbl_1_data_0[arg0].zoom + (arg2 * (lbl_1_data_0[arg1].zoom - lbl_1_data_0[arg0].zoom)); - Center.x = lbl_1_data_0[arg0].pos.x + (arg2 * (lbl_1_data_0[arg1].pos.x - lbl_1_data_0[arg0].pos.x)); - Center.y = lbl_1_data_0[arg0].pos.y + (arg2 * (lbl_1_data_0[arg1].pos.y - lbl_1_data_0[arg0].pos.y)); - Center.z = lbl_1_data_0[arg0].pos.z + (arg2 * (lbl_1_data_0[arg1].pos.z - lbl_1_data_0[arg0].pos.z)); - CRot.x = lbl_1_data_0[arg0].rot.x + (arg2 * (lbl_1_data_0[arg1].rot.x - lbl_1_data_0[arg0].rot.x)); - CRot.y = lbl_1_data_0[arg0].rot.y + (arg2 * (lbl_1_data_0[arg1].rot.y - lbl_1_data_0[arg0].rot.y)); - CRot.z = lbl_1_data_0[arg0].rot.z + (arg2 * (lbl_1_data_0[arg1].rot.z - lbl_1_data_0[arg0].rot.z)); -} - -void fn_1_2D44(omObjData *object) -{ - CameraData *camera = &Hu3DCamera[0]; - switch (fn_1_320()) { - case 1: - fn_1_2AF4(0, 1, sind(lbl_1_data_184[0] * 90.0f)); - if (lbl_1_data_184[0] < 1.0f) { - lbl_1_data_184[0] += 1.0f / 60.0f; - if (lbl_1_data_184[0] > 1.0f) { - lbl_1_data_184[0] = 1.0f; - } - } - break; - - case 6: - fn_1_2AF4(1, 1, 0); - break; - - case 4: - case 5: - case 7: - break; - } -} - -u32 lbl_1_data_18C[4] = { PAD_CHAN0_BIT, PAD_CHAN1_BIT, PAD_CHAN2_BIT, PAD_CHAN3_BIT }; -s32 fn_1_3214(void) -{ - s32 rumble = HuPadRumbleGet(); - s32 i; - for (i = 0; i < 4; i++) { - if (!GWPlayerCfg[i].iscom) { - if ((rumble & lbl_1_data_18C[GWPlayerCfg[i].pad_idx]) == 0) { - return 0; - } - } - } - return GWGameStat.rumble; -} - -float lbl_1_data_19C[] = { 0, 355, 0, 0, 0, 275, 128, 950, 6, 0, 0, 0, 190, 0, 550 }; diff --git a/src/REL/m455Dll/stage.c b/src/REL/m455Dll/stage.c deleted file mode 100644 index ff708c84..00000000 --- a/src/REL/m455Dll/stage.c +++ /dev/null @@ -1,1807 +0,0 @@ -#include "game/object.h" -#include "game/objsub.h" -#include "game/hsfman.h" -#include "game/hsfdraw.h" -#include "game/hsfanim.h" - -#include "game/hsfmotion.h" -#include "game/pad.h" - -#include "game/wipe.h" -#include "game/frand.h" -#include "game/audio.h" -#include "game/minigame_seq.h" -#include "game/gamework_data.h" -#include "game/chrman.h" -#include "game/sprite.h" - -#include "REL/m455Dll.h" - -#include "ext_math.h" -#include "math.h" - -Process *lbl_1_bss_70; -omObjData *lbl_1_bss_6C; -omObjData *lbl_1_bss_68; -omObjData *lbl_1_bss_64; -omObjData *lbl_1_bss_60; -omObjData *lbl_1_bss_5C; -omObjData *lbl_1_bss_58; -Vec lbl_1_bss_4C; - -typedef struct struct_bss48 { - AnimData *unk0[4]; - s32 unk10[4]; - Vec unk20; -} StructBss48; - -StructBss48 *lbl_1_bss_48; - -Vec lbl_1_data_1D8[4] = { - { -460, 0, 150 }, - { 460, 0, 150 }, - { -460, 0, -150 }, - { 460, 0, -150 }, -}; - -GXColor lbl_1_data_208 = { 255, 255, 255, 255 }; - -typedef struct struct_data20C { - s32 unk0; - s32 unk4; - s32 unk8; - s32 unkC; - BOOL unk10; -} StructData20C; - -StructData20C lbl_1_data_20C[4] = { - { 400, 400, 400, 400, FALSE }, - { 640, 480, 320, 240, TRUE }, - { 640, 480, 640, 480, FALSE }, - { 640, 480, 320, 240, TRUE }, -}; - -void fn_1_8EAC(void); - -void fn_1_6914(omObjData *object); -void fn_1_7280(omObjData *object); -void fn_1_75C0(omObjData *object); -void fn_1_7C48(omObjData *object); -void fn_1_891C(omObjData *object); - -omObjData *fn_1_347C(void); - -void fn_1_32C4(Process *objman) -{ - lbl_1_bss_70 = objman; - fn_1_8EAC(); - lbl_1_bss_68 = omAddObjEx(lbl_1_bss_70, 50, 0, 0, -1, fn_1_6914); - lbl_1_bss_64 = omAddObjEx(lbl_1_bss_70, 50, 8, 0, -1, fn_1_7280); - lbl_1_bss_60 = omAddObjEx(lbl_1_bss_70, 50, 1, 0, -1, fn_1_75C0); - lbl_1_bss_5C = omAddObjEx(lbl_1_bss_70, 50, 0, 0, -1, fn_1_7C48); - lbl_1_bss_58 = omAddObjEx(lbl_1_bss_70, 50, 0, 0, -1, fn_1_891C); - lbl_1_bss_6C = fn_1_347C(); -} - -void fn_1_4104(omObjData *object); - -void fn_1_6C60(omObjData *object); -void fn_1_7430(omObjData *object); -void fn_1_7974(omObjData *object); -void fn_1_8474(omObjData *object); - -void fn_1_9168(void); - -void fn_1_340C(void) -{ - fn_1_4104(lbl_1_bss_6C); - fn_1_9168(); - fn_1_6C60(lbl_1_bss_68); - fn_1_7430(lbl_1_bss_64); - fn_1_7974(lbl_1_bss_60); - fn_1_8474(lbl_1_bss_5C); -} - -typedef struct work_347C_unk4 { - void *unk0; - u32 unk4; - BOOL unk8; - s32 unkC; - s32 unk10; - s32 unk14; - s32 unk18; -} Work347CUnk4; - -typedef struct work_347C_unk74 { - Vec unk0; - Vec unkC; - float unk18; - u16 unk1C; - u16 unk1E; -} Work347CUnk74; - -typedef struct work_347C { - s32 unk0; - Work347CUnk4 unk4[4]; - Work347CUnk74 unk74[64]; - float unk874[26][2]; - float unk944[26][2]; - void *unkA14; - u32 unkA18; - AnimData *unkA1C[9]; - float unkA40; - float unkA44; - u32 unkA48; - u32 unkA4C; - u32 unkA50; - float unkA54; - float unkA58; -} Work347C; - -void fn_1_3DDC(omObjData *object); - -void fn_1_4180(ModelData *model, Mtx matrix); -void fn_1_49AC(ModelData *model, Mtx matrix); -void fn_1_4E64(ModelData *model, Mtx matrix); - -omObjData *fn_1_347C(void) -{ - omObjData *object = omAddObjEx(lbl_1_bss_70, 127, 15, 0, -1, fn_1_3DDC); - Work347C *work = object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work347C), MEMORY_DEFAULT_NUM); - Work347C *work2 = work; - Work347CUnk74 *workUnk74 = &work->unk74[0]; - Work347CUnk4 *workUnk4; - s32 id; - ModelData *modelP; - s32 i; - - work->unkA40 = 0; - work->unkA44 = 0; - work->unkA48 = 0; - work->unkA4C = 0; - work->unkA50 = 0; - work->unkA54 = 0; - work->unkA58 = 0; - - object->model[0] = id = Hu3DHookFuncCreate(fn_1_4E64); - Hu3DModelCameraSet(id, HU3D_CAM0); - Hu3DModelLayerSet(id, 5); - modelP = &Hu3DData[id]; - modelP->unk_120 = work; - work->unkA1C[4] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M455, 21), MEMORY_DEFAULT_NUM)); - work->unkA1C[5] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M455, 22), MEMORY_DEFAULT_NUM)); - work->unkA1C[6] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M455, 23), MEMORY_DEFAULT_NUM)); - work->unkA1C[7] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M455, 24), MEMORY_DEFAULT_NUM)); - work->unkA1C[0] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M455, 17), MEMORY_DEFAULT_NUM)); - work->unkA1C[1] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M455, 18), MEMORY_DEFAULT_NUM)); - work->unkA1C[2] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M455, 19), MEMORY_DEFAULT_NUM)); - work->unkA1C[3] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M455, 20), MEMORY_DEFAULT_NUM)); - work->unkA1C[8] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M455, 25), MEMORY_DEFAULT_NUM)); - object->model[1] = id = Hu3DHookFuncCreate(fn_1_4180); - Hu3DModelCameraSet(id, HU3D_CAM0); - Hu3DModelLayerSet(id, 0); - modelP = &Hu3DData[id]; - modelP->unk_120 = work; - work2->unkA18 = 16384; - work2->unkA14 = HuMemDirectMallocNum(HEAP_SYSTEM, work2->unkA18, MEMORY_DEFAULT_NUM); - DCFlushRange(work2->unkA14, 16384); - GXBeginDisplayList(work2->unkA14, work2->unkA18); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition2f32(-0.5f, -0.5f); - GXTexCoord2f32(0, 0); - GXPosition2f32(0.5f, -0.5f); - GXTexCoord2f32(1, 0); - GXPosition2f32(0.5f, 0.5f); - GXTexCoord2f32(1, 1); - GXPosition2f32(-0.5f, 0.5f); - GXTexCoord2f32(0, 1); - work2->unkA18 = GXEndDisplayList(); - for(i=0; i<26; i++) { - work2->unk874[i][0] = 0; - work2->unk874[i][1] = 0; - work2->unk944[i][0] = 0; - work2->unk944[i][1] = 0; - } - - object->model[3] = id = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M455, 5)); - Hu3DModelPosSet(id, 0, 0, -5000); - Hu3DModelScaleSet(id, 2, 2, 2); - Hu3DModelCameraSet(id, HU3D_CAM0); - Hu3DModelLayerSet(id, 1); - id = Hu3DTexScrollCreate(object->model[3], "S3TCsk"); - Hu3DTexScrollPosMoveSet(id, -0.00009166667f, 0, 0); - id = Hu3DTexScrollCreate(object->model[3], "pa_sk3"); - Hu3DTexScrollPosMoveSet(id, -0.00020833335f, 0, 0); - - object->model[4] = id = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M455, 6)); - Hu3DModelPosSet(id, 0, 0, -3000); - Hu3DModelScaleSet(id, 1.2f, 1.2f, 1.2f); - Hu3DModelCameraSet(id, HU3D_CAM0); - Hu3DModelLayerSet(id, 1); - - object->model[8] = id = Hu3DHookFuncCreate(fn_1_49AC); - Hu3DModelCameraSet(id, HU3D_CAM0); - Hu3DModelLayerSet(id, 2); - modelP = &Hu3DData[id]; - modelP->unk_120 = work; - - object->model[10] = id = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M455, 0)); - Hu3DModelPosSet(id, 0, 0, 0); - Hu3DModelCameraSet(id, HU3D_CAM0); - Hu3DModelLayerSet(id, 3); - Hu3DModelShadowMapSet(object->model[10]); - for(i=0; i<4; i++) { - - object->model[i+11] = id = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M455, 1)); - Hu3DModelCameraSet(object->model[i+11], HU3D_CAM0); - Hu3DModelLayerSet(object->model[i+11], 3); - Hu3DModelPosSet(object->model[i+11], lbl_1_data_1D8[i].x, lbl_1_data_1D8[i].y, lbl_1_data_1D8[i].z); - Hu3DModelAttrSet(object->model[i+11], HU3D_MOTATTR_SHAPE_LOOP); - Hu3DMotionShapeTimeSet(object->model[i+11], (0.25*i)*Hu3DMotionShapeMaxTimeGet(object->model[i+11])); - } - modelP = &Hu3DData[object->model[0]]; - workUnk4 = &work2->unk4[0]; - for(i=0; i<4; i++, workUnk4++) { - workUnk4->unkC = lbl_1_data_20C[i].unk0; - workUnk4->unk10 = lbl_1_data_20C[i].unk4; - workUnk4->unk14 = lbl_1_data_20C[i].unk8; - workUnk4->unk18 = lbl_1_data_20C[i].unkC; - workUnk4->unk8 = lbl_1_data_20C[i].unk10; - workUnk4->unk4 = GXGetTexBufferSize(workUnk4->unk14, workUnk4->unk18, GX_TF_RGB565, GX_FALSE, GX_FALSE); - workUnk4->unk0 = HuMemDirectMallocNum(HEAP_DATA, workUnk4->unk4, modelP->unk_48); - memset(workUnk4->unk0, 0, workUnk4->unk4); - DCFlushRange(workUnk4->unk0, workUnk4->unk4); - } - for(i=0; i<64; i++, workUnk74++) { - workUnk74->unk0.x = workUnk74->unk0.y = workUnk74->unk0.z = 0; - workUnk74->unkC.x = 0; - workUnk74->unkC.y = 0; - workUnk74->unkC.z = 1; - workUnk74->unk18 = 0.016666668f; - workUnk74->unk1C = 60; - workUnk74->unk1E = 0; - } - return object; -} - -void fn_1_9CFC(float arg0); - -void fn_1_3DDC(omObjData *object) -{ - Work347C *work = object->data; - Work347C *work2 = work; - s32 i; - if((work->unkA50 = work->unkA50+(0.007874016f*((s32)frand() & 0x7F)*3.0f)) > 360) { - work->unkA50 -= 360; - } - work->unkA44 = (25+work->unkA40)+(5.0*sind(work->unkA50)); - Hu3DModelPosSet(object->model[10], 0, work->unkA44, 0); - for(i=0; i<4; i++) { - Hu3DModelPosSet(object->model[i+11], lbl_1_data_1D8[i].x, work->unkA44+lbl_1_data_1D8[i].y, lbl_1_data_1D8[i].z); - } - work->unkA54 += 0.001f; - work->unkA58 += 0.001f; - work->unkA48++; - work->unkA4C++; - if(work->unkA4C >= 60.0f && work->unkA4C <= 81.0f) { - float time = 1-((work->unkA4C-60.0f)/21.0f); - if(time < 0.0f) { - time = 0.0f; - } - fn_1_9CFC(time); - } -} - -void fn_1_4104(omObjData *object) -{ - Work347C *work = object->data; - HuSprAnimKill(work->unkA1C[0]); - HuSprAnimKill(work->unkA1C[1]); - HuSprAnimKill(work->unkA1C[2]); - HuSprAnimKill(work->unkA1C[3]); - HuSprAnimKill(work->unkA1C[6]); - HuSprAnimKill(work->unkA1C[7]); - HuSprAnimKill(work->unkA1C[4]); - HuSprAnimKill(work->unkA1C[5]); - HuSprAnimKill(work->unkA1C[8]); -} - -GXColor lbl_1_data_26A = { 255, 255, 255, 32 }; -GXColor lbl_1_data_26E = { 255, 255, 255, 10 }; -GXColor lbl_1_data_272 = { 0, 126, 126, 255 }; -Vec lbl_1_data_278[4] = { - -1000, 50, 1000, - -1000, 50, -1000, - 1000, 50, -1000, - 1000, 50, 1000 -}; - -Vec lbl_1_data_2A8[26] = { - -1500, 0, 1000, - -1400, 0, 1000, - 0, 0, 1000, - 1400, 0, 1000, - 1500, 0, 1000, - -1500, 0, -500, - -1400, 0, -500, - 0, 0, -500, - 1400, 0, -500, - 1500, 0, -500, - -1500, 0, -2000, - -1400, 0, -2000, - 0, 0, -2000, - 1400, 0, -2000, - 1500, 0, -2000, - -1500, 0, -5000, - -1400, 0, -5000, - 0, 0, -5000, - 1400, 0, -5000, - 1500, 0, -5000, - -2000, 0, -500, - -2500, 0, -2000, - -3000, 0, -5000, - 2000, 0, -500, - 2500, 0, -2000, - 3000, 0, -5000 -}; - -GXColor lbl_1_data_3E0[26] = { - { 96, 128, 255, 255 }, - { 128, 160, 255, 32 }, - { 128, 160, 255, 32 }, - { 128, 160, 255, 32 }, - { 96, 128, 255, 255 }, - { 24, 48, 255, 255 }, - { 96, 128, 255, 32 }, - { 128, 160, 255, 32 }, - { 96, 128, 255, 32 }, - { 24, 48, 255, 255 }, - { 24, 48, 255, 255 }, - { 24, 48, 255, 255 }, - { 96, 128, 255, 255 }, - { 24, 48, 255, 255 }, - { 24, 48, 255, 255 }, - { 8, 24, 143, 255 }, - { 8, 24, 143, 255 }, - { 8, 24, 143, 255 }, - { 8, 24, 143, 255 }, - { 8, 24, 143, 255 }, - { 24, 48, 255, 255 }, - { 24, 48, 255, 255 }, - { 24, 48, 255, 255 }, - { 24, 48, 255, 255 }, - { 24, 48, 255, 255 }, - { 24, 48, 255, 255 } -}; - -float lbl_1_data_448[26][2] = { - 0, 1, - 0.033333335, 1, - 0.5, 1, - 0.96666664, 1, - 1, 1, - 0, 0.5, - 0.033333335, 0.5, - 0.5, 0.5, - 0.96666664, 0.5, - 1, 0.5, - 0, 0, - 0.033333335, 0, - 0.5, 0, - 0.96666664, 0, - 1, 0, - 0, 0, - 0.033333335, 0, - 0.5, 0, - 0.96666664, 0, - 1, 0, - -0.15, 0.5, - -0.33, 0, - -0.49, 0, - 1.15, 0.5, - 1.33, 0, - 1.49, 0 -}; - -float lbl_1_data_518[26][2] = { - 0, 30, - 0.5, 30, - 7.5, 30, - 14.5, 30, - 15, 30, - 0, 15, - 0.5, 15, - 7.5, 15, - 14.5, 15, - 15, 15, - 0, 7.5, - 0.5, 7.5, - 7.5, 7.5, - 14.5, 7.5, - 15, 7.5, - 0, 0, - 0.5, 0, - 7.5, 0, - 14.5, 0, - 15, 0, - -2.25, 15, - -4.9500003, 7.5, - -7.3500004, 0, - 17.25, 15, - 19.95, 7.5, - 22.35, 0 -}; - -float lbl_1_data_5E8[2][3] = { - 0, 0, 0.5, - 0, 0.5, 0 -}; - -GXColor lbl_1_data_600 = { 80, 80, 80, 80 }; - -Vec lbl_1_data_604[9] = { - -1500, 0, -5000, - 0, 0, -5000, - 1500, 0, -5000, - -1500, 0, -3000, - 0, 0, -3000, - 1500, 0, -3000, - -1500, 0, 1000, - 0, 0, 1000, - 1500, 0, 1000 -}; - -GXColor lbl_1_data_670[9] = { - { 255, 255, 255, 0 }, - { 255, 255, 255, 0 }, - { 255, 255, 255, 0 }, - { 255, 255, 255, 0 }, - { 255, 255, 255, 255 }, - { 255, 255, 255, 0 }, - { 255, 255, 255, 0 }, - { 255, 255, 255, 255 }, - { 255, 255, 255, 0 }, -}; - -GXColor lbl_1_data_694 = { 255, 165, 89, 178 }; -GXColor lbl_1_data_698 = { 153, 114, 89, 178 }; -GXColor lbl_1_data_69C = { 0, 0, 0, 255 }; - -void fn_1_6088(Work347CUnk4 *arg0, s32 arg1); - -void fn_1_4180(ModelData *model, Mtx matrix) -{ - Work347C *work = model->unk_120; - Work347C *work2 = work; - Work347CUnk74 *workUnk74 = &work2->unk74[0]; - Work347CUnk4 *workUnk4 = &work2->unk4[0]; - s32 i; - Mtx proj; - Mtx modelview; - MTXOrtho(proj, 0, 480, 0, 640, 0, 100); - GXSetProjection(proj, GX_ORTHOGRAPHIC); - MTXIdentity(modelview); - GXLoadPosMtxImm(modelview, GX_PNMTX0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); - GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_272); - GXSetTevColor(GX_TEVREG0, lbl_1_data_26E); - GXSetNumTexGens(1); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0); - GXSetNumTevStages(1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_RASC, GX_CC_TEXC, GX_CC_A0, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetScissor(0, 0, 400, 400); - HuSprTexLoad(work->unkA1C[4], 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_U16, 0); - GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition2u16(0, 0); - GXTexCoord2f32(work->unkA54, work->unkA58); - GXPosition2u16(400, 0); - GXTexCoord2f32(work->unkA54+7, work->unkA58); - GXPosition2u16(400, 400); - GXTexCoord2f32(work->unkA54+7, work->unkA58+7); - GXPosition2u16(0, 400); - GXTexCoord2f32(work->unkA54, work->unkA58+7); - GXEnd(); - GXSetNumTexGens(1); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); - GXSetNumTevStages(1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - HuSprTexLoad(work->unkA1C[8], 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXClearVtxDesc(); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); - workUnk74 = &work2->unk74[0]; - for(i=0; i<64; i++, workUnk74++) { - float scale; - float accel; - if(workUnk74->unk1E == 0) { - continue; - } - scale = 128*(workUnk74->unkC.x*(0.2f+cosd(workUnk74->unk1E*workUnk74->unk18*90.0f))); - accel = workUnk74->unk1E*workUnk74->unk18; - lbl_1_data_26A.a = workUnk74->unkC.z*sind((accel*accel)*90.0f)*255.0; - GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_26A); - MTXScale(modelview, 0.5f*scale, 0.5f*scale, 1.0f); - mtxRotCat(modelview, 0, 0, workUnk74->unkC.y); - mtxTransCat(modelview, 400*(workUnk74->unk0.x+1500)/3000, 400*(workUnk74->unk0.z - -2000)/3000, 0); - GXLoadPosMtxImm(modelview, GX_PNMTX0); - GXCallDisplayList(work2->unkA14, work2->unkA18); - if(!omPauseChk()) { - workUnk74->unk1E--; - } - } - workUnk4 = &work2->unk4[0]; - fn_1_6088(workUnk4, 1); -} - -void fn_1_59A0(ModelData *model, Mtx matrix); - -void fn_1_49AC(ModelData *model, Mtx matrix) -{ - Work347C *work; - Work347C *work2; - Work347CUnk4 *workUnk4; - fn_1_59A0(model, matrix); - work = model->unk_120; - work2 = work; - workUnk4 = &work2->unk4[1]; - fn_1_6088(workUnk4, 0); -} - -void fn_1_6144(Work347CUnk4 *arg0, float arg1, float arg2, float arg3); - -void fn_1_4A14(ModelData *model, Mtx matrix) -{ - Work347C *work = model->unk_120; - Work347C *work2 = work; - Work347CUnk4 *workUnk4 = &work2->unk4[0]; - - fn_1_6144(workUnk4, 200, 0, 0.5f); - workUnk4 = &work2->unk4[1]; - fn_1_6144(workUnk4, 0, 0, 0.5f); - workUnk4 = &work2->unk4[2]; - fn_1_6144(workUnk4, 0, 150, 0.25f); - workUnk4 = &work2->unk4[3]; - fn_1_6144(workUnk4, 0, 300, 0.5f); -} - -void fn_1_6594(s16 arg0, Work347CUnk4 *arg1, GXTexWrapMode arg2, s32 arg3, BOOL arg4); - -void fn_1_4B1C(ModelData *model, Mtx matrix) -{ - CameraData *cameraP = &Hu3DCamera[Hu3DCameraNo]; - Work347C *work = model->unk_120; - Work347C *work2 = work; - Work347CUnk4 *workUnk4 = &work2->unk4[2]; - float fov; - Mtx proj; - Mtx texMtx; - Mtx projCamera; - s16 lightMask; - s16 i; - - fn_1_6088(workUnk4, 0); - GXLoadPosMtxImm(matrix, GX_PNMTX0); - fov = cameraP->fov; - if(fov <= 0.0f) { - fov = 45; - } - MTXLightPerspective(proj, fov, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); - MTXInverse(Hu3DCameraMtx, texMtx); - MTXConcat(texMtx, Hu3DCameraMtx, texMtx); - MTXConcat(proj, Hu3DCameraMtx, projCamera); - MTXConcat(projCamera, texMtx, texMtx); - GXLoadTexMtxImm(texMtx, GX_TEXMTX0, GX_MTX3x4); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0); - lightMask = Hu3DLightSet(model, &Hu3DCameraMtx, &Hu3DCameraMtxXPose, 4); - GXSetNumTevStages(1); - GXSetNumTexGens(1); - GXSetNumChans(1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); - GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_208); - GXSetZMode(GX_TRUE, GX_GREATER, GX_FALSE); - GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - workUnk4 = &work2->unk4[1]; - fn_1_6594(0, workUnk4, 0, 0, 0); - GXClearVtxDesc(); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetArray(GX_VA_POS, lbl_1_data_278, sizeof(Vec)); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - for(i=0; i<4; i++) { - GXPosition1x16(i); - } - GXEnd(); - workUnk4 = &work2->unk4[3]; - fn_1_6088(workUnk4, 0); - workUnk4 = &work2->unk4[2]; - fn_1_6594(0, workUnk4, 0, 0, 0); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - for(i=0; i<4; i++) { - GXPosition1x16(i); - } - GXEnd(); -} - -void fn_1_4E64(ModelData *model, Mtx matrix) -{ - CameraData *cameraP = &Hu3DCamera[Hu3DCameraNo]; - Work347C *work = model->unk_120; - Work347C *work2 = work; - Work347CUnk4 *workUnk4 = &work2->unk4[2]; - Mtx invXPose; - Mtx proj; - Mtx texMtx; - Mtx projCamera; - float sp14; - float sp10; - float fov; - s16 i; - fn_1_4B1C(model, matrix); - sp14 = 1.5f; - sp10 = 0; - GXLoadPosMtxImm(matrix, GX_PNMTX0); - MTXInvXpose(matrix, invXPose); - GXLoadNrmMtxImm(invXPose, GX_PNMTX0); - fov = cameraP->fov; - if(fov <= 0.0f) { - fov = 45; - } - MTXLightPerspective(proj, fov, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); - MTXInverse(Hu3DCameraMtx, texMtx); - MTXConcat(texMtx, Hu3DCameraMtx, texMtx); - MTXConcat(proj, Hu3DCameraMtx, projCamera); - MTXConcat(projCamera, texMtx, texMtx); - GXLoadTexMtxImm(texMtx, GX_TEXMTX0, GX_MTX3x4); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0); - GXSetTexCoordGen(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEX1, GX_IDENTITY); - GXSetNumTevStages(2); - GXSetNumTexGens(3); - GXSetNumChans(1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_TEXC, GX_CC_RASC, GX_CC_RASA, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevColor(GX_TEVREG0, lbl_1_data_600); - GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_ZERO, GX_CC_C0, GX_CC_TEXA, GX_CC_CPREV); - GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_VTX, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_208); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0); - GXSetBlendMode(GX_BM_NONE, GX_BL_ONE, GX_BL_ZERO, GX_LO_NOOP); - workUnk4 = &work2->unk4[3]; - fn_1_6594(0, workUnk4, 0, 0, 0); - HuSprTexLoad(work->unkA1C[3], 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR); - workUnk4 = &work2->unk4[0]; - fn_1_6594(2, workUnk4, 0, 0, 1); - GXSetTexCoordGen(GX_TEXCOORD2, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); - GXSetNumIndStages(1); - GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD2, GX_TEXMAP2); - GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); - GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, GX_TRUE, GX_FALSE, GX_ITM_1); - GXSetIndTexMtx(GX_ITM_1, lbl_1_data_5E8, -1); - for(i=0; i<26; i++) { - work2->unk944[i][0] -= 0.007874016f*((s32)frand() & 0x7F)*0.005f; - work2->unk944[i][1] += 0.007874016f*((s32)frand() & 0x7F)*0.005f; - work2->unk874[i][0] = work2->unk944[i][0]+lbl_1_data_518[i][0]; - work2->unk874[i][1] = work2->unk944[i][1]+lbl_1_data_518[i][1]; - } - DCFlushRange(&work2->unk874[0][0], sizeof(work2->unk874)); - GXClearVtxDesc(); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - - GXSetArray(GX_VA_POS, lbl_1_data_2A8, sizeof(Vec)); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, lbl_1_data_3E0, sizeof(GXColor)); - GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetArray(GX_VA_TEX0, lbl_1_data_448, sizeof(float)*2); - GXSetVtxDesc(GX_VA_TEX1, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX1, GX_TEX_ST, GX_F32, 0); - GXSetArray(GX_VA_TEX1, &work2->unk874[0][0], sizeof(float)*2); - GXBegin(GX_QUADS, GX_VTXFMT0, 48); - for(i=0; i<12; i++) { - s16 index; - if(i == 4) { - index = 12; - } else if(i == 9) { - index = 13; - } else { - index = i; - } - GXPosition1x16(index+0); - GXColor1x16(index+0); - GXTexCoord1x16(index+0); - GXTexCoord1x16(index+0); - GXPosition1x16(index+5); - GXColor1x16(index+5); - GXTexCoord1x16(index+5); - GXTexCoord1x16(index+5); - GXPosition1x16(index+6); - GXColor1x16(index+6); - GXTexCoord1x16(index+6); - GXTexCoord1x16(index+6); - GXPosition1x16(index+1); - GXColor1x16(index+1); - GXTexCoord1x16(index+1); - GXTexCoord1x16(index+1); - } - GXEnd(); - GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 8); - GXPosition1x16(22); - GXColor1x16(22); - GXTexCoord1x16(22); - GXTexCoord1x16(22); - GXPosition1x16(15); - GXColor1x16(15); - GXTexCoord1x16(15); - GXTexCoord1x16(15); - GXPosition1x16(21); - GXColor1x16(21); - GXTexCoord1x16(21); - GXTexCoord1x16(21); - GXPosition1x16(10); - GXColor1x16(10); - GXTexCoord1x16(10); - GXTexCoord1x16(10); - GXPosition1x16(20); - GXColor1x16(20); - GXTexCoord1x16(20); - GXTexCoord1x16(20); - GXPosition1x16(5); - GXColor1x16(5); - GXTexCoord1x16(5); - GXTexCoord1x16(5); - GXPosition1x16(0); - GXColor1x16(0); - GXTexCoord1x16(0); - GXTexCoord1x16(0); - GXPosition1x16(0); - GXColor1x16(0); - GXTexCoord1x16(0); - GXTexCoord1x16(0); - GXEnd(); - GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 8); - GXPosition1x16(19); - GXColor1x16(19); - GXTexCoord1x16(19); - GXTexCoord1x16(19); - GXPosition1x16(25); - GXColor1x16(25); - GXTexCoord1x16(25); - GXTexCoord1x16(25); - GXPosition1x16(14); - GXColor1x16(14); - GXTexCoord1x16(14); - GXTexCoord1x16(14); - GXPosition1x16(24); - GXColor1x16(24); - GXTexCoord1x16(24); - GXTexCoord1x16(24); - GXPosition1x16(9); - GXColor1x16(9); - GXTexCoord1x16(9); - GXTexCoord1x16(9); - GXPosition1x16(23); - GXColor1x16(23); - GXTexCoord1x16(23); - GXTexCoord1x16(23); - GXPosition1x16(4); - GXColor1x16(4); - GXTexCoord1x16(4); - GXTexCoord1x16(4); - GXPosition1x16(4); - GXColor1x16(4); - GXTexCoord1x16(4); - GXTexCoord1x16(4); - GXEnd(); - GXSetNumIndStages(0); - GXSetTevDirect(GX_TEVSTAGE0); - GXSetTevDirect(GX_TEVSTAGE1); -} - -void fn_1_59A0(ModelData *model, Mtx matrix) -{ - s32 sp10 = 0; - Work347C *work = model->unk_120; - float scale = 1.5f; - float x = 0; - Mtx temp; - Mtx final; - MTXTrans(final, x, -300, 0); - GXSetTevColor(GX_TEVREG0, lbl_1_data_694); - MTXScale(temp, scale, 1, 1); - MTXConcat(final, temp, final); - MTXConcat(Hu3DCameraMtx, final, final); - GXLoadPosMtxImm(final, GX_PNMTX0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_208); - HuSprTexLoad(work->unkA1C[0], 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - HuSprTexLoad(work->unkA1C[1], 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXSetNumTexGens(2); - MTXRotDeg(final, 'X', 90.0f); - x = 0.004f*scale; - MTXScale(temp, x, -0.004f, 0.004f); - MTXConcat(final, temp, final); - MTXTrans(temp, (work->unkA48%1024)/(512.0f*x), 0, 1.2499999f*(work->unkA48%400)); - MTXConcat(final, temp, final); - GXLoadTexMtxImm(final, GX_TEXMTX0, GX_MTX2x4); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, GX_TEXMTX0); - MTXRotDeg(final, 'X', 90.0f); - x = 0.004f*scale; - MTXScale(temp, x, -0.004f, 0.004f); - MTXConcat(final, temp, final); - MTXTrans(temp, (work->unkA48%300)/(150.0f*x), 0, 0); - MTXConcat(final, temp, final); - GXLoadTexMtxImm(final, GX_TEXMTX1, GX_MTX2x4); - GXSetTexCoordGen(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_POS, GX_TEXMTX1); - GXSetNumTevStages(2); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR_NULL); - GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_CPREV); - GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_TEXA, GX_CA_APREV, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_SET); - GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX8); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX8); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_POS, lbl_1_data_604, sizeof(Vec)); - GXSetArray(GX_VA_CLR0, lbl_1_data_670, sizeof(GXColor)); - GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 6); - GXPosition1x8(0); - GXColor1x8(0); - GXPosition1x8(1); - GXColor1x8(1); - GXPosition1x8(3); - GXColor1x8(3); - GXPosition1x8(4); - GXColor1x8(4); - GXPosition1x8(6); - GXColor1x8(6); - GXPosition1x8(7); - GXColor1x8(7); - GXEnd(); - GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 6); - GXPosition1x8(1); - GXColor1x8(1); - GXPosition1x8(2); - GXColor1x8(2); - GXPosition1x8(4); - GXColor1x8(4); - GXPosition1x8(5); - GXColor1x8(5); - GXPosition1x8(7); - GXColor1x8(7); - GXPosition1x8(8); - GXColor1x8(8); - GXEnd(); -} - -void fn_1_6088(Work347CUnk4 *arg0, s32 arg1) -{ - GXSetTexCopySrc(0, 0, arg0->unkC, arg0->unk10); - GXSetTexCopyDst(arg0->unk14, arg0->unk18, GX_TF_RGB565, arg0->unk8); - GXSetCopyClear(lbl_1_data_69C, GX_MAX_Z24); - GXCopyTex(arg0->unk0, arg1); - -} - -void fn_1_6144(Work347CUnk4 *fbWork, float x1, float y1, float scale) -{ - float x2 = x1+(fbWork->unk14*scale); - float y2 = y1+(fbWork->unk18*scale); - Mtx44 proj; - Mtx modelview; - GXTexObj texObj; - GXColor color; - GXInitTexObj(&texObj, fbWork->unk0, fbWork->unk14, fbWork->unk18, GX_TF_RGB565, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXInitTexObjLOD(&texObj, GX_NEAR, GX_NEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); - GXLoadTexObj(&texObj, GX_TEXMAP0); - MTXOrtho(proj, 0, 480, 0, 640, 0, 10); - GXSetProjection(proj, GX_ORTHOGRAPHIC); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - color.a = 255; - GXSetTevColor(GX_TEVREG0, color); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_TEXC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumTexGens(1); - GXSetNumTevStages(1); - MTXIdentity(modelview); - GXLoadPosMtxImm(modelview, GX_PNMTX0); - GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(x1, y1, 0); - GXTexCoord2f32(0, 0); - GXPosition3f32(x2, y1, 0); - GXTexCoord2f32(1, 0); - GXPosition3f32(x2, y2, 0); - GXTexCoord2f32(1, 1); - GXPosition3f32(x1, y2, 0); - GXTexCoord2f32(0, 1); - GXEnd(); -} - -void fn_1_6594(s16 arg0, Work347CUnk4 *arg1, GXTexWrapMode arg2, s32 arg3, BOOL arg4) -{ - GXTexObj texObj; - GXInitTexObj(&texObj, arg1->unk0, arg1->unk14, arg1->unk18, GX_TF_RGB565, arg2, arg2, FALSE); - if(arg4) { - GXInitTexObjLOD(&texObj, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); - } else { - GXInitTexObjLOD(&texObj, GX_NEAR, GX_NEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); - } - GXLoadTexObj(&texObj, arg0); -} - -s32 fn_1_6698(Vec *arg0, float arg1, float arg2, s32 arg3) -{ - Work347C *work; - Work347C *work2; - Work347CUnk74 *workUnk74; - s32 i; - if(!lbl_1_bss_6C) { - return -1; - } - work = lbl_1_bss_6C->data; - work2 = work; - workUnk74 = &work->unk74[0]; - for(i=0; i<64; i++, workUnk74++) { - if(workUnk74->unk1E == 0) { - break; - } - } - if(i >= 64) { - return -1; - } - workUnk74->unk0 = *arg0; - if(arg1 < 0.0f) { - workUnk74->unkC.x = 1; - } else { - workUnk74->unkC.x = arg1; - } - if(arg2 < 0.0f) { - workUnk74->unkC.z = 1; - } else { - workUnk74->unkC.z = arg2; - } - if(arg3 < 0) { - workUnk74->unk1C = 60; - } else { - workUnk74->unk1C = arg3; - } - workUnk74->unkC.y = (s32)frand()%360; - workUnk74->unk1E = workUnk74->unk1C; - workUnk74->unk18 = 1.0f/workUnk74->unk1C; - return i; -} - -float fn_1_687C(void) -{ - if(!lbl_1_bss_6C) { - return 0; - } else { - Work347C *work = lbl_1_bss_6C->data; - return work->unkA44; - } -} - -float fn_1_68C8(void) -{ - if(!lbl_1_bss_6C) { - return 0; - } else { - Work347C *work = lbl_1_bss_6C->data; - return work->unkA40; - } -} - -typedef struct work6914 { - s32 unk0; - s32 unk4; - s32 unk8; - s32 unkC; - AnimData *unk10; - Vec unk14; - Vec unk20; - Vec unk2C; -} Work6914; - -void fn_1_6A6C(omObjData *object); - -void fn_1_6914(omObjData *object) -{ - Work6914 *work; - s32 i; - AnimData *anim; - work = object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work6914)*8, MEMORY_DEFAULT_NUM); - memset(work, 0, sizeof(Work6914)*8); - anim = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M455, 26), MEMORY_DEFAULT_NUM)); - for(i=0; i<8; i++, work++) { - work->unk10 = anim; - work->unk0 = i; - work->unk4 = Hu3DParticleCreate(work->unk10, 32); - Hu3DModelCameraSet(work->unk4, HU3D_CAM0); - Hu3DModelLayerSet(work->unk4, 6); - Hu3DModelAttrSet(work->unk4, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(work->unk4, HU3D_ATTR_PARTICLE_KILL); - work->unk8 = 0; - work->unkC = 0; - work->unk14.x = work->unk14.y = work->unk14.z = 0; - work->unk20.x = work->unk20.y = work->unk20.z = 0; - work->unk2C.x = work->unk2C.y = work->unk2C.z = 1; - } - object->func = fn_1_6A6C; -} - -void fn_1_6A6C(omObjData *object) -{ - Work6914 *work = object->data; - s32 i; - for(i=0; i<8; i++, work++) { - if(work->unk8 == 0) { - continue; - } - if(work->unkC > 1) { - ModelData *modelP = &Hu3DData[work->unk4]; - ParticleData *particleP = modelP->unk_120; - HsfanimStruct01 *data = particleP->unk_48; - s32 j; - for(j=0; junk_30; j++, data++) { - if(++data->unk00 > data->unk02) { - s32 alpha = data->unk40.a-1; - if(alpha < 0) { - data->unk2C = 0; - } else { - data->unk40.a = alpha; - } - } - data->unk2C *= 0.975; - data->unk34.x += data->unk08.x; - data->unk34.y += data->unk08.y; - data->unk34.z += data->unk08.z; - data->unk08.y -= 0.3103333379576603; - } - } - if(++work->unkC > 90.0f) { - Hu3DModelAttrSet(work->unk4, HU3D_ATTR_DISPOFF); - work->unk8 = 0; - } else { - Hu3DModelPosSet(work->unk4, work->unk14.x, work->unk14.y, work->unk14.z); - Hu3DModelRotSet(work->unk4, work->unk20.x, work->unk20.y, work->unk20.z); - Hu3DModelScaleSet(work->unk4, work->unk2C.x, work->unk2C.y, work->unk2C.z); - } - } -} - -void fn_1_6C60(omObjData *object) -{ - Work6914 *work = object->data; - AnimData *anim = work->unk10; - anim->useNum = 0; - HuSprAnimKill(anim); -} - -s32 fn_1_6CB0(Vec *arg0, float arg1) -{ - Work6914 *work = lbl_1_bss_68->data; - s32 i; - ModelData *temp_r27; - ParticleData *temp_r28; - HsfanimStruct01 *temp_r30; - - for(i=0; i<8; i++, work++) { - if(work->unk8 == 0) { - break; - } - } - if(i >= 8) { - return -1; - } - Hu3DModelAttrReset(work->unk4, HU3D_ATTR_DISPOFF); - work->unk8 = 1; - work->unkC = 0; - temp_r27 = &Hu3DData[work->unk4]; - temp_r28 = temp_r27->unk_120; - temp_r28->unk_2C = 1; - temp_r30 = temp_r28->unk_48; - for(i=0; iunk_30; i++, temp_r30++) { - float temp_f30 = ((s32)frand()%20)+90; - float temp_f29 = (s32)frand()%360; - float temp_f26 = sind(temp_f30); - float temp_f28 = cosd(temp_f30); - float temp_f25 = 0.75f+0.15f*(0.007874016f*((s32)frand() & 0x7F)); - float temp_f31 = 0.15f; - temp_r30->unk08.x = temp_f31*(0.65f*(50.0*(temp_f28*sind(temp_f29)))); - temp_r30->unk08.z = temp_f31*(0.65f*(50.0*(temp_f28*cosd(temp_f29)))); - temp_r30->unk08.y = temp_f31*(50*temp_f26*temp_f25); - temp_r30->unk00 = 0; - temp_r30->unk02 = ((s32)frand()%16)+45; - temp_r30->unk30 = (s32)frand()%360; - temp_r30->unk2C = 145; - temp_r30->unk34.x = 0.05f*(((s32)frand() & 0x7F)-64); - temp_r30->unk34.y = 0.65f*(((s32)frand() & 0x7F)-64); - temp_r30->unk34.z = 0.05f*(((s32)frand() & 0x7F)-64); - temp_r30->unk40.r = ((s32)frand()%64)+192; - temp_r30->unk40.g = ((s32)frand()%64)+192; - temp_r30->unk40.b = ((s32)frand()%64)+192; - temp_r30->unk40.a = 64; - } - if(arg1 < 0.0f) { - arg1 = 1.0f; - } - work->unk14 = *arg0; - work->unk20.x = work->unk20.y = work->unk20.z = 0; - work->unk2C.x = work->unk2C.y = work->unk2C.z = arg1; - Hu3DModelPosSet(work->unk4, work->unk14.x, work->unk14.y, work->unk14.z); - Hu3DModelRotSet(work->unk4, work->unk20.x, work->unk20.y, work->unk20.z); - Hu3DModelScaleSet(work->unk4, work->unk2C.x, work->unk2C.y, work->unk2C.z); - return i; -} - -void fn_1_7368(omObjData *object); - -void fn_1_7280(omObjData *object) -{ - s32 i; - for(i=0; imdlcnt; i++) { - if(i == 0) { - object->model[i] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M455, 9)); - } else { - object->model[i] = Hu3DModelLink(object->model[0]); - } - Hu3DModelCameraSet(object->model[i], HU3D_CAM0); - Hu3DModelLayerSet(object->model[i], 6); - Hu3DModelAttrSet(object->model[i], HU3D_ATTR_DISPOFF); - - } - object->stat |= 0x100; - object->func = fn_1_7368; -} - -void fn_1_7368(omObjData *object) -{ - s32 i; - for(i=0; imdlcnt; i++) { - ModelData *modelP = &Hu3DData[object->model[i]]; - if(!(modelP->attr & HU3D_ATTR_DISPOFF)) { - if(Hu3DMotionTimeGet(object->model[i]) >= Hu3DMotionMaxTimeGet(object->model[i])) { - Hu3DModelAttrSet(object->model[i], HU3D_ATTR_DISPOFF); - } - } - } -} - -void fn_1_7430(omObjData *object) -{ - -} - -s32 fn_1_7434(Vec *pos, float scale) -{ - s32 i; - for(i=0; imdlcnt; i++) { - ModelData *modelP = &Hu3DData[lbl_1_bss_64->model[i]]; - if(modelP->attr & HU3D_ATTR_DISPOFF) { - break; - } - } - if(i >= lbl_1_bss_64->mdlcnt) { - return -1; - } - Hu3DMotionTimeSet(lbl_1_bss_64->model[i], 0); - Hu3DMotionSpeedSet(lbl_1_bss_64->model[i], 1); - Hu3DModelPosSet(lbl_1_bss_64->model[i], pos->x, pos->y, pos->z); - Hu3DModelScaleSet(lbl_1_bss_64->model[i], scale, scale, scale); - Hu3DModelAttrReset(lbl_1_bss_64->model[i], HU3D_ATTR_DISPOFF); - return i; -} - -void fn_1_76B0(omObjData *object); - -void fn_1_75C0(omObjData *object) -{ - ParticleData *temp_r30; - HsfanimStruct01 *temp_r29; - s32 i; - ModelData *modelP; - AnimData *anim = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M455, 26), MEMORY_DEFAULT_NUM)); - - object->data = anim; - object->model[0] = Hu3DParticleCreate(anim, 64); - Hu3DModelCameraSet(object->model[0], HU3D_CAM0); - Hu3DModelLayerSet(object->model[0], 3); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_PARTICLE_KILL); - modelP = &Hu3DData[object->model[0]]; - temp_r30 = modelP->unk_120; - temp_r29 = temp_r30->unk_48; - temp_r30->unk_2C = 1; - for(i=0; iunk_30; i++, temp_r29++) { - temp_r29->unk2C = 0; - } - object->func = fn_1_76B0; -} - -void fn_1_76B0(omObjData *object) -{ - ModelData *modelP = &Hu3DData[object->model[0]]; - ParticleData *temp_r29 = modelP->unk_120; - HsfanimStruct01 *temp_r30 = temp_r29->unk_48; - s32 i; - for(i=0; iunk_30; i++, temp_r30++) { - if(temp_r30->unk2C <= 0.0f) { - continue; - } - if(++temp_r30->unk00 > 360) { - temp_r30->unk00 -= 360; - } - temp_r30->unk34.x += temp_r30->unk08.x*sind(2.0f*temp_r30->unk00); - temp_r30->unk34.y += temp_r30->unk08.y; - if(temp_r30->unk34.y >= 0.0f) { - fn_1_6698(&temp_r30->unk34, 0.00625f*temp_r30->unk2C, 1, 15); - temp_r30->unk2C = 0; - } - - } -} - -void fn_1_7974(omObjData *object) -{ - AnimData *anim = object->data; - HuSprAnimKill(anim); - Hu3DModelKill(object->model[0]); - object->model[0] = -1; -} - -s32 fn_1_79C8(Vec *pos, float scale) -{ - s32 i; - ModelData *modelP = &Hu3DData[lbl_1_bss_60->model[0]]; - ParticleData *temp_r30 = modelP->unk_120; - HsfanimStruct01 *temp_r31 = temp_r30->unk_48; - for(i=0; iunk_30; i++, temp_r31++) { - if(temp_r31->unk2C <= 0.0f) { - break; - } - } - if(i >= temp_r30->unk_30) { - return -1; - } - if(scale <= 0.0f) { - scale = 1.0f; - } - temp_r31->unk34 = *pos; - temp_r31->unk08.x = (1.5f+(0.2f*(0.007874016f*((s32)frand() & 0x7F))))*0.5f; - temp_r31->unk08.z = (1.5f+(0.2f*(0.007874016f*((s32)frand() & 0x7F)))); - temp_r31->unk08.y = (1.5f+(0.2f*(0.007874016f*((s32)frand() & 0x7F))))*2.0f; - temp_r31->unk00 = (s32)frand()%360; - temp_r31->unk2C = 20*scale; - return i; -} - - -typedef struct work7C48 { - s32 unk0; - s32 unk4; - s32 unk8; - float unkC; - float unk10; - Vec unk14; - Vec unk20; -} Work7C48; - -void fn_1_8050(omObjData *object); - -void fn_1_7C48(omObjData *object) -{ - Work7C48 *workBase = object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work7C48)*8, MEMORY_DEFAULT_NUM); - Work7C48 *workP = workBase; - s32 i; - memset(workP, 0, 8*sizeof(Work7C48)); - for(i=0; i<8; i++, workP++) { - switch(i) { - case 0: - workP->unk0 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M455, 10)); - break; - - case 1: - workP->unk0 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M455, 10)); - break; - - default: - if(i & 0x1) { - workP->unk0 = Hu3DModelLink(workBase[0].unk0); - } else { - workP->unk0 = Hu3DModelLink(workBase[1].unk0); - } - break; - } - Hu3DModelScaleSet(workP->unk0, 0.5f, 0.5f, 0.5f); - Hu3DModelCameraSet(workP->unk0, HU3D_CAM0); - Hu3DModelLayerSet(workP->unk0, 1); - workP->unk4 = 0; - workP->unk8 = 0; - workP->unkC = 2; - workP->unk10 = (s32)frand() % 360; - workP->unk14.x = 1500*((0.007874016f*((s32)frand() & 0x7F))-0.5f); - workP->unk14.z = 500*((0.007874016f*((s32)frand() & 0x7F))-0.5f); - workP->unk14.y = -250+(100*(0.3f*i)); - workP->unk20.x = 1500*((0.007874016f*((s32)frand() & 0x7F))-0.5f); - workP->unk20.z = 500*((0.007874016f*((s32)frand() & 0x7F))-0.5f); - workP->unk20.y = workP->unk14.y; - Hu3DModelPosSet(workP->unk0, workP->unk14.x, workP->unk14.y, workP->unk14.z); - Hu3DModelRotSet(workP->unk0, 0, workP->unk10, 0); - } - object->func = fn_1_8050; -} - -float fn_1_9F18(float start, float end, float weight); - -void fn_1_8050(omObjData *object) -{ - Work7C48 *workP = object->data; - s32 i; - for(i=0; i<8; i++, workP++) { - float dx; - float dz; - float vel; - float angle; - if(workP->unk4 == 0) { - vel = 1+(0.5*sind((workP->unk8*5)%180)); - } else { - vel = 3; - } - workP->unk14.x += vel*(workP->unkC*sind(workP->unk10)); - workP->unk14.z += vel*(workP->unkC*cosd(workP->unk10)); - dx = workP->unk20.x-workP->unk14.x; - dz = workP->unk20.z-workP->unk14.z; - angle = atan2d(dx, dz); - workP->unk10 = fn_1_9F18(angle, workP->unk10, 3.5f); - if((dx*dx)+(dz*dz) < 10000.0f) { - if(workP->unk4 == 0) { - workP->unk20.x = 2000*((0.007874016f*((s32)frand() & 0x7F))-0.5f); - workP->unk20.z = 700*((0.007874016f*((s32)frand() & 0x7F))-0.5f); - workP->unk20.y = workP->unk14.y; - } else { - if(workP->unk14.x < 0.0f) { - workP->unk20.x = -2500; - } else { - workP->unk20.x = 2500; - } - workP->unk20.z = 500*((0.007874016f*((s32)frand() & 0x7F))-0.5f); - workP->unk20.y = workP->unk14.y; - } - } - Hu3DModelPosSet(workP->unk0, workP->unk14.x, workP->unk14.y, workP->unk14.z); - Hu3DModelRotSet(workP->unk0, 0, workP->unk10, 0); - workP->unk8 += frand()&0x3; - } -} - -void fn_1_8474(omObjData *object) -{ - -} - -void fn_1_8478(void) -{ - Work7C48 *workP = lbl_1_bss_5C->data; - s32 i; - for(i=0; i<8; i++, workP++) { - workP->unk4 = 1; - if(workP->unk14.x < 0.0f) { - workP->unk20.x = -2500; - } else { - workP->unk20.x = 2500; - } - workP->unk20.z = 500*((0.007874016f*((s32)frand() & 0x7F))-0.5f); - workP->unk20.y = workP->unk14.y; - } -} - -typedef struct work891C { - s16 unk0; - s16 unk2[2]; - s16 unk6; - Vec unk8; - Vec unk14; - float unk20; - float unk24; - float unk28; - float unk2C; - float unk30; - float unk34; - float unk38; - float unk3C; -} Work891C; - -void fn_1_8578(omObjData *object, Work891C *workP) -{ - s32 num = workP[0].unk6; - float ofsZ = -2000; - s32 i; - for(i=0; iunk0, workP->unk8.x, workP->unk8.y, workP->unk8.z+ofsZ); - modelMtx = &Hu3DData[workP->unk0].unk_F0; - MTXRotDeg(*modelMtx, 'Y', workP->unk28); - MTXRotDeg(rotZ, 'Z', workP->unk38); - MTXConcat(*modelMtx, rotZ, *modelMtx); - Hu3DModelAttrReset(workP->unk0, HU3D_ATTR_DISPOFF); - } -} - -float fn_1_8D90(float start, float end, float weight); - -void fn_1_867C(omObjData *object) -{ - Work891C *workP = object->data; - s32 num = workP[0].unk6; - s32 i; - for(i=0; iunk14, &workP->unk8, &diff); - workP->unk2C = atan2d(diff.x, diff.z); - workP->unk28 = fn_1_8D90(workP->unk28, workP->unk2C+workP->unk3C, 0.08f); - workP->unk24 += 0.05f*(600.0f-workP->unk24); - workP->unk20 += 0.2f*(workP->unk24-workP->unk20); - workP->unk8.x += (workP->unk20*0.016666668f)*sind(workP->unk28); - workP->unk8.z += (workP->unk20*0.016666668f)*cosd(workP->unk28); - workP->unk30 += workP->unk20*0.016666668f; - } - fn_1_8578(object, object->data); - -} - -void fn_1_891C(omObjData *object) -{ - s16 num = 12; - Work891C *workBase; - s32 modelId; - Work891C *work; - float radius; - float angle; - float ofsZ; - s32 i; - object->data = workBase = HuMemDirectMallocNum(HEAP_SYSTEM, num*sizeof(Work891C), MEMORY_DEFAULT_NUM); - memset(workBase, 0, num*sizeof(Work891C)); - modelId = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M455, 8)); - ofsZ = 1500; - work = workBase; - for(i=0; iunk0 = Hu3DModelLink(modelId); - Hu3DModelLayerSet(work->unk0, 6); - Hu3DModelCameraSet(work->unk0, 1); - Hu3DModelScaleSet(work->unk0, 7, 7, 7); - work->unk14.x = ((s32)frandmod(1000)*4.0f)-2000; - work->unk14.z = ((s32)frandmod(1000))-500.0f; - work->unk14.y = ((s32)frandmod(1000)*0.8f)+300; - angle = (s32)frandmod(360); - radius = ((s32)frandmod(250))+200.0f; - work->unk8.x = radius*sind(angle); - work->unk8.y = 0; - work->unk8.z = radius*cosd(angle); - VECAdd(&work->unk14, &work->unk8, &work->unk8); - work->unk38 = 60-((6.0f/55.0f)*radius); - work->unk28 = (s32)frandmod(360); - - work->unk3C = ((s32)frandmod(1000) < 500) ? (-70.0f+((s32)frandmod(50)*0.1f)) : (70.0f-((s32)frandmod(50)*0.1f)); - if(work->unk3C < 0.0f) { - work->unk38 = -work->unk38; - } - work->unk30 = 1; - work->unk34 = 0; - ofsZ -= 50.0f; - work->unk6 = num; - } - Hu3DModelKill(modelId); - object->func = fn_1_867C; -} - -float fn_1_8D90(float start, float end, float weight) -{ - float angle = fmodf(end-start, 360); - if(angle < 0.0f) { - angle += 360.0f; - } - if(angle > 180.0f) { - angle -= 360.0f; - } - angle = fmodf(start+(weight*angle), 360); - if(angle < 0.0f) { - angle += 360.0f; - } - return angle; -} - -void fn_1_91B8(ModelData *model, ParticleData *particle, Mtx matrix); - -void fn_1_8EAC(void) -{ - StructBss48 *workP = lbl_1_bss_48 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(StructBss48), MEMORY_DEFAULT_NUM); - ParticleData *particle; - ModelData *modelP; - s16 *newWork; - s32 modelId; - memset(workP, 0, sizeof(StructBss48)); - workP->unk0[0] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M455, 13), MEMORY_DEFAULT_NUM)); - workP->unk0[1] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M455, 14), MEMORY_DEFAULT_NUM)); - workP->unk0[2] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M455, 15), MEMORY_DEFAULT_NUM)); - workP->unk0[3] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M455, 16), MEMORY_DEFAULT_NUM)); - workP->unk20.y = 1; - workP->unk20.z = 0; - workP->unk10[0] = modelId = Hu3DParticleCreate(workP->unk0[0], 1); - Hu3DModelLayerSet(modelId, 6); - modelP = &Hu3DData[modelId]; - particle = modelP->unk_120; - particle->unk_2C = 1; - particle->unk_54 = fn_1_91B8; - newWork = particle->unk_1C = HuMemDirectMallocNum(HEAP_DATA, sizeof(s16)*4, modelP->unk_48); - memset(newWork, 0, 4*sizeof(s16)); - newWork[1] = 0; - workP->unk10[1] = modelId = Hu3DParticleCreate(workP->unk0[3], 10); - Hu3DModelLayerSet(modelId, 6); - modelP = &Hu3DData[modelId]; - particle = modelP->unk_120; - particle->unk_2C = 1; - particle->unk_54 = fn_1_91B8; - newWork = particle->unk_1C = HuMemDirectMallocNum(HEAP_DATA, sizeof(s16)*4, modelP->unk_48); - memset(newWork, 0, 4*sizeof(s16)); - newWork[1] = 1; - workP->unk10[2] = modelId = Hu3DParticleCreate(workP->unk0[2], 4); - Hu3DModelLayerSet(modelId, 6); - modelP = &Hu3DData[modelId]; - particle = modelP->unk_120; - particle->unk_2C = 1; - particle->unk_54 = fn_1_91B8; - newWork = particle->unk_1C = HuMemDirectMallocNum(HEAP_DATA, sizeof(s16)*4, modelP->unk_48); - memset(newWork, 0, 4*sizeof(s16)); - newWork[1] = 2; - workP->unk10[3] = modelId = Hu3DParticleCreate(workP->unk0[1], 6); - Hu3DModelLayerSet(modelId, 6); - modelP = &Hu3DData[modelId]; - particle = modelP->unk_120; - particle->unk_2C = 1; - particle->unk_54 = fn_1_91B8; - newWork = particle->unk_1C = HuMemDirectMallocNum(HEAP_DATA, sizeof(s16)*4, modelP->unk_48); - memset(newWork, 0, 4*sizeof(s16)); - newWork[1] = 3; -} - -void fn_1_9168(void) -{ - StructBss48 *workP = lbl_1_bss_48; - HuSprAnimKill(workP->unk0[0]); - HuSprAnimKill(workP->unk0[1]); - HuSprAnimKill(workP->unk0[2]); - HuSprAnimKill(workP->unk0[3]); -} - -float lbl_1_data_6A0[4] = { - 1000, - 200, - 600, - 1200 -}; - -float lbl_1_data_6B0[4] = { - 1, - 0.6, - 0.3, - 0.425 -}; - -void fn_1_91B8(ModelData *model, ParticleData *particle, Mtx matrix) -{ - s16 unk8 = 0; - StructBss48 *workP = lbl_1_bss_48; - s16 *newWorkP = particle->unk_1C; - s32 unk14 = 0; - Vec pos = Center; - Vec rot = CRot; - float temp_f26; - float temp_f25; - float zoom = CZoom; - HsfanimStruct01 *temp_r31; - Vec sp3C; - Vec sp30; - Vec sp24; - Vec sp18; - float temp_f29; - float temp_f23; - s32 i; - switch(newWorkP[2]) { - case 0: - temp_r31 = particle->unk_48; - if(newWorkP[1]) { - sp18.x = 2000; - sp18.y = -300; - sp18.z = 500; - temp_f29 = 1/VECMagPoint(sp18.x, sp18.y, sp18.z); - sp18.x *= temp_f29; - sp18.y *= temp_f29; - sp18.z *= temp_f29; - temp_f23 = 3200.0f/particle->unk_30; - for(i=0; iunk_30; i++, temp_r31++) { - temp_f26 = 500.0+((temp_f23*i)+((0.25f*temp_f23)*((float)((s32)frand() & 0xFFFF)*0.0000152587890625))); - temp_f25 = temp_f26/3200; - temp_r31->unk14.x = temp_f26; - temp_r31->unk34.x = 1000+(temp_f26*sp18.x); - temp_r31->unk34.y = 4800+(temp_f26*sp18.y); - temp_r31->unk34.z = -3500+(temp_f26*sp18.z); - temp_r31->unk2C = ((0.7f*(temp_f25*temp_f25))+0.3f)*(lbl_1_data_6A0[newWorkP[1]]*(0.7f+(0.3f*((float)((s32)frand() & 0xFFFF)*0.0000152587890625)))); - temp_r31->unk40.r = (s32)(((float)((s32)frand() & 0xFFFF)*0.0000152587890625)*160.0)+32; - temp_r31->unk40.g = (s32)(((float)((s32)frand() & 0xFFFF)*0.0000152587890625)*96.0)+32; - temp_r31->unk40.b = (s32)(((float)((s32)frand() & 0xFFFF)*0.0000152587890625)*128.0)+32; - temp_r31->unk40.a = (255*lbl_1_data_6B0[newWorkP[1]]*(1.0-(0.4*temp_f25)))-(s32)(((float)((s32)frand() & 0xFFFF)*0.0000152587890625)*16.0); - temp_r31->unk14.z = temp_r31->unk40.a; - } - newWorkP[2]++; - } else { - temp_r31->unk34.x = 1000; - temp_r31->unk34.y = 4800; - temp_r31->unk34.z = -3500; - temp_r31->unk2C = 1000; - } - break; - - case 1: - sp3C.x = sind(rot.y)*cosd(rot.x); - sp3C.y = -sind(rot.x); - sp3C.z = cosd(rot.y)*cosd(rot.x); - sp30.x = 1000-(pos.x+(1.25f*(sp3C.x*zoom))); - sp30.y = 4800-(pos.y+(sp3C.y*zoom)); - sp30.z = -3500-(pos.z+(1.25f*(sp3C.z*zoom))); - temp_f29 = 1/VECMagPoint(sp30.x, sp30.y, sp30.z); - sp30.x *= temp_f29; - sp30.y *= temp_f29; - sp30.z *= temp_f29; - temp_f29 = -((-sp30.x*-sp3C.x)+(-sp30.y*-sp3C.y)+(-sp30.z*-sp3C.z)); - sp24.x = -sp3C.x+((-2.0f*sp30.x)*temp_f29); - sp24.y = -sp3C.y+((-2.0f*sp30.y)*temp_f29); - sp24.z = -sp3C.z+((-2.0f*sp30.z)*temp_f29); - temp_r31 = particle->unk_48; - for(i=0; iunk_30; i++, temp_r31++) { - temp_r31->unk34.x = 1000+(sp24.x*temp_r31->unk14.x); - temp_r31->unk34.y = 4800+(sp24.y*temp_r31->unk14.x); - temp_r31->unk34.z = -3500+(sp24.z*temp_r31->unk14.x); - temp_r31->unk40.a = temp_r31->unk14.z*workP->unk20.y; - } - break; - } - DCFlushRange(particle->unk_48, particle->unk_30*sizeof(HsfanimStruct01)); - -} - -void fn_1_9CFC(float arg0) -{ - StructBss48 *workP = lbl_1_bss_48; - workP->unk20.y = arg0; - if(workP->unk20.y > 1.0f) { - workP->unk20.y = 1.0f; - } - if(workP->unk20.y <= 0.0f) { - Hu3DModelAttrSet(workP->unk10[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(workP->unk10[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(workP->unk10[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(workP->unk10[3], HU3D_ATTR_DISPOFF); - } else { - Hu3DModelAttrReset(workP->unk10[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(workP->unk10[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(workP->unk10[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(workP->unk10[3], HU3D_ATTR_DISPOFF); - } -} - -float fn_1_9E00(float start, float end) -{ - float angleDiff; - if(start >= 360.0f) { - start -= 360.0f; - } else if(start < 0.0f) { - start += 360.0f; - } - if(end >= 360.0f) { - end -= 360.0f; - } else if(end < 0.0f) { - end += 360.0f; - } - angleDiff = start-end; - if(angleDiff <= -180.0f) { - angleDiff += 360.0f; - } else if(angleDiff >= 180.0f) { - angleDiff -= 360.0f; - } - return angleDiff; -} - -float fn_1_9F18(float start, float end, float max) -{ - float angle; - float diff; - - if(start >= 360.0) { - start -= 360.0; - } else if(start < 0.0) { - start += 360.0; - } - if(end >= 360.0) { - end -= 360.0; - } else if(end < 0.0) { - end += 360.0; - } - diff = 360.0+(start-end); - if(fabs(diff) >= 360.0) { - diff = fmod(diff, 360.0); - } - if(diff < 180.0) { - if(diff <= max) { - angle = diff; - } else { - angle = max; - } - } else if(360.0-diff <= max) { - angle = -(360.0-diff); - } else { - angle = -max; - } - angle += end; - if(angle >= 360.0) { - angle -= 360.0; - } else if(angle < 0.0) { - angle += 360.0; - } - - return angle; -} diff --git a/src/REL/m456Dll/main.c b/src/REL/m456Dll/main.c deleted file mode 100644 index 97e8ffb5..00000000 --- a/src/REL/m456Dll/main.c +++ /dev/null @@ -1,969 +0,0 @@ -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/gamework.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "game/wipe.h" -#include "string.h" - -#include "REL/m456Dll.h" -#include "version.h" - -#ifndef __MWERKS__ -#include "game/esprite.h" -#include "game/frand.h" -#endif - -typedef struct M456DllMainWork { - struct { - u8 unk_00_field0 : 1; - u8 unk_00_field1 : 1; - u8 unk_00_field2 : 1; - u8 unk_00_field3 : 1; - }; - s16 unk_02; - s16 unk_04; - s8 unk_06; - s8 unk_07; - u16 unk_08; - u16 unk_0A; - s32 unk_0C; - s32 unk_10; - s16 unk_14; - s16 unk_16; - s16 unk_18; - s16 unk_1A; - char unk1C[4]; - s32 unk_20; - s32 unk_24; - s16 unk_28; - s16 unk_2A; - s16 unk_2C; - s16 unk_2E; - s16 unk_30; -} M456DllMainWork; /* size = 0x34 */ - -typedef struct M456DllData0Struct { - /* 0x00 */ float unk_00; - /* 0x04 */ float unk_04; - /* 0x08 */ float unk_08; - /* 0x0C */ float unk_0C; - /* 0x10 */ float unk_10; - /* 0x14 */ float unk_14; - /* 0x18 */ float unk_18; -} M456DllData0Struct; /* size = 0x1C */ - -typedef struct M456DllData1B0Struct { - /* 0x00 */ u32 unk_00; - /* 0x04 */ s32 unk_04; -} M456DllData1B0Struct; /* size = 0x08 */ - -typedef struct M456DllDataE4Struct { - /* 0x00 */ s32 unk_00; - /* 0x04 */ u32 unk_04; -} M456DllDataE4Struct; /* size = 0x08 */ - -typedef struct M456DllBss18Struct { - s32 unk_00; - s32 unk_04; - s32 unk_08; - float unk_0C; - float unk_10; - s32 unk_14; - s32 unk_18; - float unk_1C; - s16 unk_20[0x10]; -} M456DllBss18Struct; /* size 0x40 */ - -void fn_1_1304(omObjData *object); -void fn_1_2040(omObjData *object); -float fn_1_2090(float arg8, float arg9, float argA); -void fn_1_2194(Process *process); -void fn_1_21F8(s32 arg0, s32 arg1, float arg8); -void fn_1_2448(omObjData *object); -void fn_1_2918(Process *process); -void fn_1_2AC4(omObjData *object); -void fn_1_3C0(omObjData *object); -void fn_1_498(omObjData *); -void fn_1_BE4(omObjData *); -void fn_1_C40(Process *process); -void fn_1_CC4(void); -s32 fn_1_D2C(void); -s32 fn_1_F4C(void); -void fn_1_FD0(omObjData *object); - -M456DllData0Struct lbl_1_data_0[2] = { - { 500.0f, 0.0f, 1000.0f, 0.0f, 40.0f, 0.0f, 0.0f }, - { 1985.0f, 0.0f, 100.0f, 100.0f, -13.0f, 0.0f, 0.0f }, -}; -Vec lbl_1_data_38 = { 700.0f, 2500.0f, -700.0f }; -Vec lbl_1_data_44 = { 0.0f, 0.0f, 0.0f }; -GXColor lbl_1_data_50 = { 0xFF, 0xFF, 0xFF, 0xFF }; -Vec lbl_1_data_54 = { 200.0f, 15000.0f, -200.0f }; -Vec lbl_1_data_60 = { 0.0f, 1.0f, 0.0f }; - -omObjData *lbl_1_bss_8C; -omObjData *lbl_1_bss_88; -omObjData *lbl_1_bss_84; -s32 lbl_1_bss_80; -s32 lbl_1_bss_70[4]; -s32 lbl_1_bss_6C; -s32 lbl_1_bss_68; -s32 lbl_1_bss_64; -s16 lbl_1_bss_62; -s16 lbl_1_bss_60; -u32 lbl_1_bss_5C; -u32 lbl_1_bss_58; -M456DllBss18Struct lbl_1_bss_18; -u32 lbl_1_bss_14; -Vec lbl_1_bss_8; -s16 lbl_1_bss_6; -s16 lbl_1_bss_4; -s32 lbl_1_bss_0; - -void ObjectSetup(void) -{ - Process *var_r31; - CameraData *var_r30; - s16 var_r29; - - var_r30 = Hu3DCamera; - OSReport("******* M456ObjectSetup *********\n"); - var_r31 = omInitObjMan(0x32, 0x2000); - omGameSysInit(var_r31); - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, -1.0f, 20.0f, 25000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - lbl_1_bss_88 = omAddObjEx(var_r31, 0x7FDA, 0, 0, -1, omOutView); - lbl_1_bss_8.x = lbl_1_data_44.x - lbl_1_data_38.x; - lbl_1_bss_8.y = lbl_1_data_44.y - lbl_1_data_38.y; - lbl_1_bss_8.z = lbl_1_data_44.z - lbl_1_data_38.z; - VECNormalize(&lbl_1_bss_8, &lbl_1_bss_8); - var_r29 = Hu3DGLightCreateV(&lbl_1_data_38, &lbl_1_bss_8, &lbl_1_data_50); - Hu3DGLightInfinitytSet(var_r29); - Hu3DGLightStaticSet(var_r29, 1); - Hu3DShadowCreate(10.0f, var_r30->near, var_r30->far); - Hu3DShadowTPLvlSet(0.7f); - Hu3DShadowPosSet(&lbl_1_data_54, &lbl_1_data_60, &lbl_1_data_44); - HuAudSndGrpSet(0x4E); - lbl_1_bss_84 = omAddObjEx(var_r31, 0, 0, 0, -1, fn_1_3C0); - fn_1_2194(var_r31); - fn_1_C40(var_r31); - fn_1_2DF4(var_r31); - lbl_1_bss_5C = GWMGRecordGet(0xA); - if (lbl_1_bss_5C == 0) { - lbl_1_bss_5C = 5 * REFRESH_RATE; - } - lbl_1_bss_58 = 0; - fn_1_2918(var_r31); - lbl_1_bss_18.unk_14 = lbl_1_bss_5C; - lbl_1_bss_18.unk_00 = 1; - lbl_1_bss_18.unk_0C = 536.0f; -} - -s32 lbl_1_data_90 = -1; -s32 lbl_1_data_94 = -1; - -void fn_1_3A0(u32 arg0) -{ - lbl_1_bss_80 = arg0; -} - -s32 fn_1_3B0(void) -{ - return lbl_1_bss_80; -} - -void fn_1_3C0(omObjData *object) -{ - CameraData *var_r31 = Hu3DCamera; - fn_1_3A0(0); - lbl_1_bss_6C = REFRESH_RATE; - lbl_1_bss_70[0] = lbl_1_bss_70[1] = lbl_1_bss_70[2] = lbl_1_bss_70[3] = -1; - lbl_1_bss_62 = 5; - lbl_1_bss_60 = REFRESH_RATE; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 0x3C); - var_r31->fov = 30.0f; - object->func = fn_1_498; -} - -void fn_1_498(omObjData *object) -{ - s16 sp8[4]; - - s32 var_r31; - omObjData **var_r29; - M456DllMainWork *var_r28; - - switch (fn_1_3B0()) { - case 0: - if (lbl_1_data_94 < 0) { - lbl_1_data_94 = HuAudFXPlay(0x7D1); - } - if (--lbl_1_bss_6C == 0) { - fn_1_3A0(1); - lbl_1_bss_6C = 2 * REFRESH_RATE; - } - break; - case 1: - if (--lbl_1_bss_6C == 0) { - fn_1_3A0(2); - lbl_1_bss_6 = MGSeqCreate(3, 0); - } - break; - case 2: - if (MGSeqStatGet(lbl_1_bss_6) == 0) { - fn_1_3A0(3); - lbl_1_bss_4 = MGSeqCreate(1, 5, -1, -1); - } - if ((lbl_1_data_90 < 0) && ((MGSeqStatGet(lbl_1_bss_6) & 0x10) != 0)) { - lbl_1_data_90 = HuAudSeqPlay(0x43); - } - break; - case 3: - if (--lbl_1_bss_60 == 0) { - lbl_1_bss_62--; - MGSeqParamSet(lbl_1_bss_4, 1, lbl_1_bss_62); - lbl_1_bss_60 = REFRESH_RATE; - } - if (lbl_1_bss_62 == 0) { - lbl_1_bss_64 = fn_1_D2C(); - if (lbl_1_bss_64 == 0) { - fn_1_3A0(5); - lbl_1_bss_6 = MGSeqCreate(3, 1); - HuAudSeqFadeOut(lbl_1_data_90, 0x64); - } - else { - fn_1_3A0(4); - HuAudFXPlay(0x11); - lbl_1_bss_6C = 2 * REFRESH_RATE; - } - } - break; - case 4: - if (lbl_1_bss_4 >= 0) { - MGSeqParamSet(lbl_1_bss_4, 2, -1); - lbl_1_bss_4 = -1; - } - if (lbl_1_bss_6C != 0) { - lbl_1_bss_6C--; - } - else if (lbl_1_bss_18.unk_18 < lbl_1_bss_14) { - lbl_1_bss_18.unk_18++; - } - if (fn_1_F4C() != 0) { - fn_1_3A0(5); - lbl_1_bss_6 = MGSeqCreate(3, 1); - HuAudSeqFadeOut(lbl_1_data_90, 0x64); - } - break; - case 5: - if (lbl_1_bss_4 >= 0) { - MGSeqParamSet(lbl_1_bss_4, 2, -1); - lbl_1_bss_4 = -1; - } - if (MGSeqStatGet(lbl_1_bss_6) == 0) { - if (lbl_1_bss_58 == 0) { - fn_1_3A0(9); - lbl_1_bss_6C = 2 * REFRESH_RATE; - } - else { - fn_1_3A0(6); - lbl_1_bss_6 = MGSeqCreate(0xE, lbl_1_bss_58); - GWMGRecordSet(0xA, lbl_1_bss_58); - lbl_1_bss_18.unk_04 = 1; - lbl_1_bss_18.unk_14 = lbl_1_bss_18.unk_18; - } - } - break; - case 6: - if (MGSeqStatGet(lbl_1_bss_6) == 0) { - fn_1_3A0(9); - lbl_1_bss_6C = 2 * REFRESH_RATE; - } - break; - case 9: - if (lbl_1_bss_6C != 0) { - lbl_1_bss_6C--; - } - if (lbl_1_bss_6C == 0) { - if (fn_1_F4C() != 0) { - fn_1_3A0(0xB); - if (lbl_1_bss_64 != 0) { - var_r29 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - for (var_r31 = 0; var_r31 < lbl_1_bss_64; var_r31++) { - var_r28 = var_r29[lbl_1_bss_70[var_r31]]->data; - sp8[var_r31] = var_r28->unk_14; - GWPlayerCoinWinSet(lbl_1_bss_70[var_r31], 10); - } - for (; var_r31 < 4; var_r31++) { - sp8[var_r31] = -1; - } - lbl_1_bss_6 = MGSeqCreate(5, 3, sp8[0], sp8[1], sp8[2], sp8[3]); - HuAudSStreamPlay(1); - } - else { - lbl_1_bss_6 = MGSeqCreate(3, 2); - HuAudSStreamPlay(4); - } - lbl_1_bss_6C = 3.5 * REFRESH_RATE; - } - } - break; - case 11: - if (--lbl_1_bss_6C == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x3C); - HuAudFXStop(lbl_1_data_94); - object->func = fn_1_BE4; - } - break; - } - if ((omSysExitReq != 0) && (WipeStatGet() == 0)) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x3C); - object->func = fn_1_BE4; - } -} - -void fn_1_BE4(omObjData *object) -{ - if (WipeStatGet() == 0) { - fn_1_CC4(); - fn_1_2F3C(); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - OSReport("******* M456Exit *********\n"); - } -} - -void fn_1_C40(Process *process) -{ - s32 var_r31; - - lbl_1_bss_68 = 0; - omMakeGroupEx(process, 0, 4); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - omAddObjEx(process, 5, 0xA, 0x32, 0, fn_1_FD0); - } -} - -void fn_1_CC4(void) -{ - s32 var_r31; - omObjData **var_r30; - - var_r30 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - if (var_r30 != NULL) { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - fn_1_2040(var_r30[var_r31]); - } - } -} - -s32 fn_1_D2C(void) -{ - s32 sp8[4]; - - s32 var_r31; - M456DllMainWork *var_r30; - s32 var_r29; - u32 var_r28; - omObjData **var_r27; - - var_r29 = 0; - var_r28 = 0; - var_r27 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = var_r27[var_r31]->data; - if ((var_r30->unk_30 != 0) && (var_r30->unk_30 < 5)) { - var_r30->unk_30 = 5; - } - if (var_r30->unk_30 > var_r28) { - var_r28 = var_r30->unk_30; - var_r29 = 0; - sp8[var_r29++] = var_r31; - } - else if (var_r30->unk_30 == var_r28) { - sp8[var_r29++] = var_r31; - } - } - if (var_r28 == 0) { - lbl_1_bss_70[var_r31] = -1; - return 0; - } - lbl_1_bss_14 = (var_r28 * REFRESH_RATE) / 5; - for (var_r31 = 0; var_r31 < var_r29; var_r31++) { - if (GWPlayerCfg[sp8[var_r31]].iscom == 0) { - break; - } - } - if (var_r31 < var_r29) { - if (lbl_1_bss_14 > lbl_1_bss_5C) { - lbl_1_bss_58 = lbl_1_bss_14; - } - if (lbl_1_bss_14 >= 7.5f * REFRESH_RATE) { - GWGameStat.present[0x33] = 1; - } - } - for (var_r31 = 0; var_r31 < var_r29; var_r31++) { - lbl_1_bss_70[var_r31] = sp8[var_r31]; - } - return var_r29; -} - -s32 fn_1_F4C(void) -{ - s32 var_r31; - omObjData **var_r30; - M456DllMainWork *var_r29; - - var_r30 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r29 = var_r30[var_r31]->data; - if (var_r29->unk_00_field2 == 0) { - return 0; - } - } - return 1; -} - -M456DllDataE4Struct lbl_1_data_E4[0xA] = { - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), 0 }, - { DATA_MAKE_NUM(DATADIR_M456, 0x1C), 1 }, - { DATA_MAKE_NUM(DATADIR_M456, 0x24), 1 }, - { DATA_MAKE_NUM(DATADIR_M456, 0x2C), 1 }, - { DATA_MAKE_NUM(DATADIR_M456, 0x34), 1 }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x2A), 0 }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x05), 0 }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), 0 }, - { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18), 0 }, - { DATA_MAKE_NUM(DATADIR_M456, 0x3C), 1 }, -}; -Vec lbl_1_data_134[4] = { - { -300.0f, 0.0f, 0.0f }, - { -100.0f, 0.0f, 0.0f }, - { 100.0f, 0.0f, 0.0f }, - { 300.0f, 0.0f, 0.0f }, -}; -float lbl_1_data_164[8] = { -50.0f, -50.0f, -50.0f, -50.0f, -50.0f, -50.0f, -50.0f, -50.0f }; -u16 lbl_1_data_184[2] = { 0x40, 0x20 }; - -void fn_1_FD0(omObjData *object) -{ - M456DllMainWork *var_r31; - u32 var_r29; - s32 var_r28; - s32 var_r27; - - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M456DllMainWork), MEMORY_DEFAULT_NUM); - object->data = var_r31; - memset(var_r31, 0, sizeof(M456DllMainWork)); - var_r31->unk_02 = lbl_1_bss_68++; - var_r31->unk_04 = GWPlayerCfg[var_r31->unk_02].pad_idx; - var_r27 = GWGameStat.rumble; - var_r31->unk_10 = var_r27; - var_r28 = GWPlayerCfg[var_r31->unk_02].character; - var_r31->unk_14 = var_r28; - var_r31->unk_16 = GWPlayerCfg[var_r31->unk_02].diff; - var_r31->unk_18 = GWPlayerCfg[var_r31->unk_02].group; - var_r31->unk_0C = -1; - object->model[0] = CharModelCreate(var_r28, 8); - Hu3DModelShadowSet(object->model[0]); - Hu3DModelLayerSet(object->model[0], 3); - Hu3DModelCameraSet(object->model[0], 1); - var_r31->unk_20 = 0; - for (var_r29 = 0; var_r29 < 0xA; var_r29++) { - if (lbl_1_data_E4[var_r29].unk_04 == 0) { - object->motion[var_r29] = CharModelMotionCreate(var_r31->unk_14, lbl_1_data_E4[var_r29].unk_00); - } - else { - object->motion[var_r29] = CharModelMotionCreate(var_r31->unk_14, var_r31->unk_14 + lbl_1_data_E4[var_r29].unk_00); - } - } - Hu3DMotionSet(object->model[0], object->motion[var_r31->unk_20]); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - CharModelVoiceEnableSet(var_r31->unk_14, object->motion[5], 0); - CharModelVoiceEnableSet(var_r31->unk_14, object->motion[6], 0); - var_r31->unk_2E = REFRESH_RATE; - object->trans.x = lbl_1_data_134[var_r31->unk_02].x; - object->trans.y = lbl_1_data_134[var_r31->unk_02].y; - object->trans.z = lbl_1_data_134[var_r31->unk_02].z; - object->rot.y = 0.0f; - CharModelDataClose(var_r31->unk_14); - object->func = fn_1_1304; -} - -#if VERSION_PAL -#define fn_1_1288_COND (((var_r31->unk_16 + 4) * 60) / 50.0f) -#else -#define fn_1_1288_COND (var_r31->unk_16 + 4) -#endif - -void fn_1_1288(omObjData *object) -{ - M456DllMainWork *var_r31 = object->data; - - if ((frand() & 0x3F) < fn_1_1288_COND) { - if (var_r31->unk_0C <= 0) { - var_r31->unk_0A |= 0x40; - return; - } - var_r31->unk_0A |= 0x20; - } -} - -void fn_1_1304(omObjData *var_r30) -{ - Vec sp14; - Vec sp8; - float var_f31; - - M456DllMainWork *var_r31; - s32 var_r29; - u32 var_r28; - void *var_r27; - s32 var_r26; - omObjData **var_r25; - s32 var_r24; - - var_r31 = var_r30->data; - var_r29 = var_r31->unk_20; - var_r28 = var_r31->unk_24; - if (var_r31->unk_00_field0 == 0) { - var_r30->trans.y = fn_1_63AC(); - } - if (fn_1_3B0() < 3) { - return; - } - switch (var_r31->unk_1A) { - case 0: - if (fn_1_3B0() == 5) { - var_r31->unk_00_field2 = 1; - var_r31->unk_1A = 6; - return; - } - if (fn_1_3B0() == 4) { - if (var_r31->unk_30 != 0) { - var_r31->unk_1A = 1; - var_r31->unk_28 = REFRESH_RATE; - } - else { - var_r31->unk_1A = 6; - var_r31->unk_00_field2 = 1; - } - return; - } - if (GWPlayerCfg[var_r31->unk_02].iscom == 0) { - var_r31->unk_06 = HuPadStkX[var_r31->unk_04]; - var_r31->unk_07 = HuPadStkY[var_r31->unk_04]; - var_r31->unk_08 = HuPadBtn[var_r31->unk_04]; - var_r31->unk_0A = HuPadBtnDown[var_r31->unk_04] & 0xFFFF9FFF; - } - else { - var_r31->unk_08 = var_r31->unk_0A = 0; - var_r31->unk_06 = var_r31->unk_07 = 0; - fn_1_1288(var_r30); - } - if (var_r31->unk_2C != 0) { - if (--var_r31->unk_2C == 0) { - var_r29 = 0; - var_r28 = 0x40000001; - } - } - if ((var_r31->unk_0A & 0x60) != 0) { - if (var_r31->unk_0C < 0) { - var_r31->unk_0C = (var_r31->unk_0A & 0x40) ? 0 : 1; - } - if (((var_r31->unk_0A & lbl_1_data_184[var_r31->unk_0C]) != 0) && ((var_r31->unk_0A & ~lbl_1_data_184[var_r31->unk_0C]) == 0)) { - var_r31->unk_30++; - var_r31->unk_2C = var_r31->unk_2E; - var_r29 = 1; - var_r28 = 0x40000001; - var_r31->unk_0C ^= 1; - } - } - break; - case 1: - if (--var_r31->unk_28 == 0) { - var_r31->unk_00_field0 = 1; - var_r31->unk_1A = 2; - var_r31->unk_28 = var_r31->unk_2A = REFRESH_RATE; - } - var_r29 = 2; - var_r28 = 0; - break; - case 2: - var_r29 = 3; - var_r28 = 0; - if (var_r31->unk_28 < (var_r31->unk_2A - 0xF)) { - var_f31 = (float)var_r31->unk_28 / (var_r31->unk_2A - 0xF); - var_r30->trans.y = -300.0 * cosd((270.0f * var_f31)); - var_r30->trans.z = 400.0f + (-400.0f * var_f31); - if ((var_r31->unk_00_field1 == 0) && (var_f31 < 0.35f)) { - var_r31->unk_00_field1 = 1; - fn_1_67E0(&var_r30->trans, -1.0f); - fn_1_61C8(&var_r30->trans, -1.0f, -1.0f, -1); - fn_1_7F78(); - HuAudFXPlay(0x7D2); - } - } - if (--var_r31->unk_28 == 0) { - var_r30->trans.y = -300.0f; - var_r30->trans.z = 400.0f; - var_r31->unk_1A = 3; - var_r31->unk_28 = (var_r31->unk_30 * REFRESH_RATE) / 5; - for (var_r26 = 0; var_r26 < lbl_1_bss_64; var_r26++) { - if (var_r31->unk_02 == lbl_1_bss_70[var_r26]) { - break; - } - } - if (var_r26 < lbl_1_bss_64) { - var_r31->unk_00_field3 = 1; - var_r31->unk_28 -= VERSION_PAL ? 16.5f : 19.800001f; - } - else { - var_r31->unk_28 -= 0.8f * REFRESH_RATE; - } - var_r31->unk_2A = var_r31->unk_28; - } - break; - case 3: - var_r29 = 5; - var_r28 = 0x40000001; - if (var_r31->unk_28 < 1.0f * REFRESH_RATE) { - if ((frand() & 3) == 0) { - sp14.x = var_r30->trans.x; - sp14.y = 100.0f + var_r30->trans.y; - sp14.z = var_r30->trans.z; - fn_1_74F8(&sp14, -1.0f); - } - } - else if ((frand() & 0xF) == 0) { - sp14.x = var_r30->trans.x; - sp14.y = 100.0f + var_r30->trans.y; - sp14.z = var_r30->trans.z; - fn_1_74F8(&sp14, -1.0f); - } - if (--var_r31->unk_28 == 0) { - var_r31->unk_00_field1 = 0; - if (var_r31->unk_00_field3 == 0) { - var_r31->unk_1A = 4; - var_r31->unk_28 = var_r31->unk_2A = REFRESH_RATE / 1.25; - } - else { - var_r31->unk_1A = 5; - var_r31->unk_28 = var_r31->unk_2A = REFRESH_RATE; - } - } - break; - case 4: - var_r29 = 4; - var_r28 = 0x40000001; - var_f31 = (float)var_r31->unk_28 / var_r31->unk_2A; - var_r30->trans.y = -300.0 * sind((90.0f * var_f31)); - if ((frand() & 3) == 0) { - fn_1_74F8(&var_r30->trans, -1.0f); - } - if ((var_r31->unk_00_field1 == 0) && (var_f31 < 0.2f)) { - var_r31->unk_00_field1 = 1; - fn_1_67E0(&var_r30->trans, -1.0f); - fn_1_61C8(&var_r30->trans, -1.0f, -1.0f, -1); - HuAudFXPlay(0x7D3); - } - if (--var_r31->unk_28 == 0) { - var_r31->unk_00_field2 = 1; - var_r31->unk_1A = 6; - var_r30->trans.y = lbl_1_data_164[var_r31->unk_14]; - } - break; - case 5: - var_r29 = 6; - var_r28 = 0; - var_f31 = (float)var_r31->unk_28 / var_r31->unk_2A; - var_r30->trans.y = -300.0 * -sind((270.0f * var_f31)); - if ((var_r31->unk_00_field1 == 0) && (var_f31 < 0.7f)) { - var_r31->unk_00_field1 = 1; - fn_1_67E0(&var_r30->trans, 5.0f); - fn_1_61C8(&var_r30->trans, -1.0f, -1.0f, -1); - HuAudFXPlay(0x7D3); - HuAudCharVoicePlay(var_r31->unk_14, 0x125); - } - if (--var_r31->unk_28 == 0) { - var_r31->unk_00_field2 = 1; - var_r31->unk_1A = 6; - var_r30->trans.y = lbl_1_data_164[var_r31->unk_14]; - fn_1_67E0(&var_r30->trans, -1.0f); - fn_1_61C8(&var_r30->trans, -1.0f, -1.0f, -1); - } - break; - case 6: - if (var_r31->unk_00_field0 == 0) { - var_r29 = 0; - } - else { - var_r29 = 5; - } - var_r28 = 0x40000001; - if ((fn_1_3B0() == 5) && (var_r31->unk_00_field3 == 0) && (lbl_1_bss_64 == 1)) { - var_r25 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - VECSubtract(&var_r25[*lbl_1_bss_70]->trans, &var_r30->trans, &sp8); - var_r30->rot.y = fn_1_2090(var_r30->rot.y, atan2d(sp8.x, sp8.z), 0.1f); - } - if (fn_1_3B0() == 0xB) { - var_r31->unk_1A = 7; - if (var_r31->unk_00_field3 != 0) { - Hu3DMotionOverlaySet(var_r30->model[0], var_r30->motion[9]); - HuAudCharVoicePlay(var_r31->unk_14, 0x124); - } - } - break; - case 7: - if (var_r31->unk_00_field3 != 0) { - var_r29 = 5; - var_r28 = 0x40000001; - if (73.0f <= Hu3DMotionOverlayTimeGet(var_r30->model[0])) { - Hu3DMotionOverlayTimeSet(var_r30->model[0], 35.0f); - Hu3DModelAttrReset(var_r30->model[0], HU3D_MOTATTR_OVL_PAUSE); - } - } - else if (var_r31->unk_00_field0 == 0) { - var_r29 = 8; - var_r28 = 0; - } - break; - } - if ((var_r31->unk_00_field0 != 0) && (var_r31->unk_1A >= 6) && (var_r31->unk_1A <= 7) && ((frand() & 0x3F) == 0)) { - fn_1_61C8(&var_r30->trans, 0.3f, -1.0f, -1); - } - if ((var_r29 != var_r31->unk_20) || (var_r28 != var_r31->unk_24)) { - var_r31->unk_20 = var_r29; - var_r31->unk_24 = var_r28; - CharModelMotionShiftSet(var_r31->unk_14, var_r30->motion[var_r31->unk_20], 0.0f, 8.0f, var_r28); - } -} - -void fn_1_2040(omObjData *object) -{ - M456DllMainWork *sp8 = object->data; - if (object->data != NULL) { - HuMemDirectFree(object->data); - object->data = NULL; - } -} - -float fn_1_2090(float var_f29, float sp8, float spC) -{ - float var_f31; - float var_f30; - - var_f31 = fmod(sp8 - var_f29, 360.0); - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - var_f30 = fmod(var_f29 + (spC * var_f31), 360.0); - if (var_f30 < 0.0f) { - var_f30 += 360.0f; - } - return var_f30; -} - -void fn_1_2194(Process *process) -{ - fn_1_21F8(0, 0, 0.0f); - lbl_1_bss_8C = omAddObjEx(process, 0xA, 0, 0, -1, fn_1_2448); -} - -void fn_1_21F8(s32 arg0, s32 arg1, float arg8) -{ - CZoom = lbl_1_data_0[arg0].unk_00 + (arg8 * (lbl_1_data_0[arg1].unk_00 - lbl_1_data_0[arg0].unk_00)); - Center.x = lbl_1_data_0[arg0].unk_04 + (arg8 * (lbl_1_data_0[arg1].unk_04 - lbl_1_data_0[arg0].unk_04)); - Center.y = lbl_1_data_0[arg0].unk_08 + (arg8 * (lbl_1_data_0[arg1].unk_08 - lbl_1_data_0[arg0].unk_08)); - Center.z = lbl_1_data_0[arg0].unk_0C + (arg8 * (lbl_1_data_0[arg1].unk_0C - lbl_1_data_0[arg0].unk_0C)); - CRot.x = lbl_1_data_0[arg0].unk_10 + (arg8 * (lbl_1_data_0[arg1].unk_10 - lbl_1_data_0[arg0].unk_10)); - CRot.y = lbl_1_data_0[arg0].unk_14 + (arg8 * (lbl_1_data_0[arg1].unk_14 - lbl_1_data_0[arg0].unk_14)); - CRot.z = lbl_1_data_0[arg0].unk_18 + (arg8 * (lbl_1_data_0[arg1].unk_18 - lbl_1_data_0[arg0].unk_18)); -} - -float lbl_1_data_1A8[2] = { 0.0f, 0.0f }; - -void fn_1_2448(omObjData *object) -{ - CameraData *sp8 = Hu3DCamera; - - switch (fn_1_3B0()) { - case 1: - fn_1_21F8(0, 1, sind((90.0f * lbl_1_data_1A8[0]))); - if (lbl_1_data_1A8[0] < 1.0f) { - lbl_1_data_1A8[0] += 1.0f / REFRESH_RATE; - if (lbl_1_data_1A8[0] > 1.0f) { - lbl_1_data_1A8[0] = 1.0f; - break; - } - } - break; - case 4: - case 5: - case 6: - case 7: - break; - case 8: - fn_1_21F8(1, 1, 0.0f); - break; - case 9: - break; - } -} - -M456DllData1B0Struct lbl_1_data_1B0[0x10] = { - { DATA_MAKE_NUM(DATADIR_M456, 0x44), 0x10E }, - { 0x610037, 0xFA }, - { 0x610030, 0xFA }, - { 0x610030, 0xFA }, - { 0x610030, 0xFA }, - { 0x610030, 0xFA }, - { 0x610030, 0xFA }, - { 0x610030, 0xFA }, - { 0x610030, 0xFA }, - { 0x610031, 0xFA }, - { 0x610031, 0xFA }, - { 0x610031, 0xFA }, - { 0x610031, 0xFA }, - { 0x610031, 0xFA }, - { 0x610031, 0xFA }, - { 0x610031, 0xFA }, -}; - -Vec2f lbl_1_data_230[0x17] = { - { 0.0f, 0.0f }, - { -52.0f, -9.0f }, - { 53.0f, -8.0f }, - { 35.0f, -8.0f }, - { 9.0f, -8.0f }, - { -9.0f, -8.0f }, - { -31.0f, -8.0f }, - { 23.0f, -8.0f }, - { -17.0f, -8.0f }, - { 53.0f, 8.0f }, - { 35.0f, 8.0f }, - { 9.0f, 8.0f }, - { -9.0f, 8.0f }, - { -31.0f, 8.0f }, - { 23.0f, 8.0f }, - { -17.0f, 8.0f }, - { 355.0f, 0.0f }, - { 0.0f, 0.0f }, - { 275.0f, 128.0f }, - { 950.0f, 6.0f }, - { 0.0f, 0.0f }, - { 0.0f, 190.0f }, - { 0.0f, 550.0f }, -}; - -void fn_1_2918(Process *sp8) -{ - M456DllBss18Struct *var_r31; - s32 var_r30; - omObjData *var_r29; - - var_r29 = omAddObjEx(sp8, 0x7FD9, 0, 0, -1, fn_1_2AC4); - var_r31 = &lbl_1_bss_18; - var_r29->data = var_r31; - memset(var_r31, 0, sizeof(M456DllBss18Struct)); - var_r31->unk_14 = 60 * REFRESH_RATE; - var_r31->unk_0C = 320.0f; - var_r31->unk_10 = 64.0f; - var_r31->unk_1C = 1.0f; - for (var_r30 = 0; var_r30 < 0x10; var_r30++) { - var_r31->unk_20[var_r30] = -1; - if (lbl_1_data_1B0[var_r30].unk_00 != 0) { - var_r31->unk_20[var_r30] = espEntry(lbl_1_data_1B0[var_r30].unk_00, lbl_1_data_1B0[var_r30].unk_04, 0); - espAttrSet(var_r31->unk_20[var_r30], HUSPR_ATTR_LINEAR); - espDispOff(var_r31->unk_20[var_r30]); - } - } - espColorSet(var_r31->unk_20[0], 0, 0, 0); - espTPLvlSet(var_r31->unk_20[0], 0.699999988079071); - espBankSet(var_r31->unk_20[7], 0xB); - espBankSet(var_r31->unk_20[8], 0xA); - espBankSet(var_r31->unk_20[14], 0xB); - espBankSet(var_r31->unk_20[15], 0xA); -} - -void fn_1_2AC4(omObjData *var_r26) -{ - u32 sp8[3]; - - M456DllBss18Struct *var_r31; - s32 var_r30; - u32 var_r29; - s32 var_r28; - s32 var_r27; - - var_r31 = var_r26->data; - for (var_r30 = 0; var_r30 < 0x10; var_r30++) { - if (var_r31->unk_20[var_r30] >= 0) { - if (var_r31->unk_00 == 0) { - espDispOff(var_r31->unk_20[var_r30]); - } - else { - espDispOn(var_r31->unk_20[var_r30]); - espPosSet( - var_r31->unk_20[var_r30], 0.9f * (var_r31->unk_0C + lbl_1_data_230[var_r30].x), var_r31->unk_10 + lbl_1_data_230[var_r30].y); - } - } - } - for (var_r30 = 0; var_r30 < 2; var_r30++) { - if (var_r30 != 0) { - var_r29 = var_r31->unk_18; - var_r27 = 9; - } - else { - var_r29 = var_r31->unk_14; - var_r27 = 2; - } - sp8[0] = var_r29 % REFRESH_RATE; - var_r29 = (var_r29 - sp8[0]) / REFRESH_RATE; -#if VERSION_PAL - sp8[0] = 100.0f * (sp8[0] / (float)REFRESH_RATE); -#else - sp8[0] = 100.0f * (1.0f / REFRESH_RATE * sp8[0]); -#endif - sp8[1] = var_r29 % 60; - var_r29 = (var_r29 - sp8[1]) / 60; - sp8[2] = var_r29; - for (var_r28 = 0; var_r28 < 3; var_r28++) { - espBankSet(var_r31->unk_20[var_r27++], sp8[var_r28] % 10); - if (var_r28 < 2) { - espBankSet(var_r31->unk_20[var_r27++], sp8[var_r28] / 10); - } - } - } - if (var_r31->unk_04 != 0) { - if (var_r31->unk_08 == 0) { - if ((var_r31->unk_1C += 0.02f) >= 1.2f) { - var_r31->unk_1C = 1.2f; - var_r31->unk_08 = 1; - } - } - else { - if ((var_r31->unk_1C -= 0.04f) <= 1.0f) { - var_r31->unk_1C = 1.0f; - var_r31->unk_08 = 0; - } - } - for (var_r30 = 1; var_r30 < 9; var_r30++) { - espScaleSet(var_r31->unk_20[var_r30], var_r31->unk_1C, var_r31->unk_1C); - } - } -} diff --git a/src/REL/m456Dll/stage.c b/src/REL/m456Dll/stage.c deleted file mode 100644 index 8e13a6cf..00000000 --- a/src/REL/m456Dll/stage.c +++ /dev/null @@ -1,1713 +0,0 @@ -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/object.h" -#include "game/objsub.h" - -#include "game/hsfmotion.h" -#include "game/pad.h" - -#include "game/audio.h" -#include "game/chrman.h" -#include "game/gamework_data.h" -#include "game/minigame_seq.h" -#include "game/sprite.h" -#include "game/wipe.h" - -#include "REL/m456Dll.h" - -#include "ext_math.h" -#include "math.h" -#include "version.h" - -#if !VERSION_PAL -#include "game/frand.h" -#endif - -Process *lbl_1_bss_B8; -omObjData *lbl_1_bss_B4; -omObjData *lbl_1_bss_B0; -omObjData *lbl_1_bss_AC; -omObjData *lbl_1_bss_A8; -omObjData *lbl_1_bss_A4; -omObjData *lbl_1_bss_A0; -Vec lbl_1_bss_94; - -typedef struct struct_bss90 { - AnimData *unk0[4]; - s32 unk10[4]; - Vec unk20; -} StructBss90; - -StructBss90 *lbl_1_bss_90; - -Vec lbl_1_data_2E8[4] = { - { -460, 0, 150 }, - { 460, 0, 150 }, - { -460, 0, -150 }, - { 460, 0, -150 }, -}; - -GXColor lbl_1_data_318 = { 255, 255, 255, 255 }; - -typedef struct struct_data31C { - s32 unk0; - s32 unk4; - s32 unk8; - s32 unkC; - BOOL unk10; -} StructData31C; - -StructData31C lbl_1_data_31C[4] = { - { 400, 400, 400, 400, FALSE }, - { 640, 480, 320, 240, TRUE }, - { 640, 480, 640, 480, FALSE }, - { 640, 480, 320, 240, TRUE }, -}; - -void fn_1_89AC(void); - -void fn_1_6444(omObjData *object); -void fn_1_6DB0(omObjData *object); -void fn_1_70F0(omObjData *object); -void fn_1_7778(omObjData *object); -void fn_1_841C(omObjData *object); - -omObjData *fn_1_2FAC(void); - -void fn_1_2DF4(Process *objman) -{ - lbl_1_bss_B8 = objman; - fn_1_89AC(); - lbl_1_bss_B0 = omAddObjEx(lbl_1_bss_B8, 50, 0, 0, -1, fn_1_6444); - lbl_1_bss_AC = omAddObjEx(lbl_1_bss_B8, 50, 8, 0, -1, fn_1_6DB0); - lbl_1_bss_A8 = omAddObjEx(lbl_1_bss_B8, 50, 1, 0, -1, fn_1_70F0); - lbl_1_bss_A4 = omAddObjEx(lbl_1_bss_B8, 50, 0, 0, -1, fn_1_7778); - lbl_1_bss_A0 = omAddObjEx(lbl_1_bss_B8, 50, 0, 0, -1, fn_1_841C); - lbl_1_bss_B4 = fn_1_2FAC(); -} - -void fn_1_3C34(omObjData *object); - -void fn_1_6790(omObjData *object); -void fn_1_6F60(omObjData *object); -void fn_1_74A4(omObjData *object); -void fn_1_7F74(omObjData *object); - -void fn_1_8C68(void); - -void fn_1_2F3C(void) -{ - fn_1_3C34(lbl_1_bss_B4); - fn_1_8C68(); - fn_1_6790(lbl_1_bss_B0); - fn_1_6F60(lbl_1_bss_AC); - fn_1_74A4(lbl_1_bss_A8); - fn_1_7F74(lbl_1_bss_A4); -} - -typedef struct work_2FAC_unk4 { - void *unk0; - u32 unk4; - BOOL unk8; - s32 unkC; - s32 unk10; - s32 unk14; - s32 unk18; -} Work2FACUnk4; - -typedef struct work_2FAC_unk74 { - Vec unk0; - Vec unkC; - float unk18; - u16 unk1C; - u16 unk1E; -} Work2FACUnk74; - -typedef struct work_2FAC { - s32 unk0; - Work2FACUnk4 unk4[4]; - Work2FACUnk74 unk74[64]; - float unk874[26][2]; - float unk944[26][2]; - void *unkA14; - u32 unkA18; - AnimData *unkA1C[9]; - float unkA40; - float unkA44; - u32 unkA48; - u32 unkA4C; - u32 unkA50; - float unkA54; - float unkA58; -} Work2FAC; - -void fn_1_390C(omObjData *object); - -void fn_1_3CB0(ModelData *model, Mtx matrix); -void fn_1_44DC(ModelData *model, Mtx matrix); -void fn_1_4994(ModelData *model, Mtx matrix); - -omObjData *fn_1_2FAC(void) -{ - omObjData *object = omAddObjEx(lbl_1_bss_B8, 127, 15, 0, -1, fn_1_390C); - Work2FAC *work = object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work2FAC), MEMORY_DEFAULT_NUM); - Work2FAC *work2 = work; - Work2FACUnk74 *workUnk74 = &work->unk74[0]; - Work2FACUnk4 *workUnk4; - s32 id; - ModelData *modelP; - s32 i; - - work->unkA40 = 0; - work->unkA44 = 0; - work->unkA48 = 0; - work->unkA4C = 0; - work->unkA50 = 0; - work->unkA54 = 0; - work->unkA58 = 0; - - object->model[0] = id = Hu3DHookFuncCreate(fn_1_4994); - Hu3DModelCameraSet(id, HU3D_CAM0); - Hu3DModelLayerSet(id, 5); - modelP = &Hu3DData[id]; - modelP->unk_120 = work; - work->unkA1C[4] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M456, 21), MEMORY_DEFAULT_NUM)); - work->unkA1C[5] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M456, 22), MEMORY_DEFAULT_NUM)); - work->unkA1C[6] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M456, 23), MEMORY_DEFAULT_NUM)); - work->unkA1C[7] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M456, 24), MEMORY_DEFAULT_NUM)); - work->unkA1C[0] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M456, 17), MEMORY_DEFAULT_NUM)); - work->unkA1C[1] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M456, 18), MEMORY_DEFAULT_NUM)); - work->unkA1C[2] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M456, 19), MEMORY_DEFAULT_NUM)); - work->unkA1C[3] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M456, 20), MEMORY_DEFAULT_NUM)); - work->unkA1C[8] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M456, 25), MEMORY_DEFAULT_NUM)); - object->model[1] = id = Hu3DHookFuncCreate(fn_1_3CB0); - Hu3DModelCameraSet(id, HU3D_CAM0); - Hu3DModelLayerSet(id, 0); - modelP = &Hu3DData[id]; - modelP->unk_120 = work; - work2->unkA18 = 16384; - work2->unkA14 = HuMemDirectMallocNum(HEAP_SYSTEM, work2->unkA18, MEMORY_DEFAULT_NUM); - DCFlushRange(work2->unkA14, 16384); - GXBeginDisplayList(work2->unkA14, work2->unkA18); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition2f32(-0.5f, -0.5f); - GXTexCoord2f32(0, 0); - GXPosition2f32(0.5f, -0.5f); - GXTexCoord2f32(1, 0); - GXPosition2f32(0.5f, 0.5f); - GXTexCoord2f32(1, 1); - GXPosition2f32(-0.5f, 0.5f); - GXTexCoord2f32(0, 1); - work2->unkA18 = GXEndDisplayList(); - for (i = 0; i < 26; i++) { - work2->unk874[i][0] = 0; - work2->unk874[i][1] = 0; - work2->unk944[i][0] = 0; - work2->unk944[i][1] = 0; - } - - object->model[3] = id = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M456, 5)); - Hu3DModelPosSet(id, 0, 0, -5000); - Hu3DModelScaleSet(id, 2, 2, 2); - Hu3DModelCameraSet(id, HU3D_CAM0); - Hu3DModelLayerSet(id, 1); - id = Hu3DTexScrollCreate(object->model[3], "S3TCsk"); - Hu3DTexScrollPosMoveSet(id, VERSION_PAL ? -0.00010999999f : -0.00009166667f, 0, 0); - id = Hu3DTexScrollCreate(object->model[3], "pa_sk3"); - Hu3DTexScrollPosMoveSet(id, VERSION_PAL ? -0.00025f : -0.00020833335f, 0, 0); - - object->model[4] = id = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M456, 6)); - Hu3DModelPosSet(id, 0, 0, -3000); - Hu3DModelScaleSet(id, 1.2f, 1.2f, 1.2f); - Hu3DModelCameraSet(id, HU3D_CAM0); - Hu3DModelLayerSet(id, 1); - - object->model[8] = id = Hu3DHookFuncCreate(fn_1_44DC); - Hu3DModelCameraSet(id, HU3D_CAM0); - Hu3DModelLayerSet(id, 2); - modelP = &Hu3DData[id]; - modelP->unk_120 = work; - - object->model[10] = id = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M456, 0)); - Hu3DModelPosSet(id, 0, 0, 0); - Hu3DModelCameraSet(id, HU3D_CAM0); - Hu3DModelLayerSet(id, 3); - Hu3DModelShadowMapSet(object->model[10]); - for (i = 0; i < 4; i++) { - - object->model[i + 11] = id = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M456, 1)); - Hu3DModelCameraSet(object->model[i + 11], HU3D_CAM0); - Hu3DModelLayerSet(object->model[i + 11], 3); - Hu3DModelPosSet(object->model[i + 11], lbl_1_data_2E8[i].x, lbl_1_data_2E8[i].y, lbl_1_data_2E8[i].z); - Hu3DModelAttrSet(object->model[i + 11], HU3D_MOTATTR_SHAPE_LOOP); - Hu3DMotionShapeTimeSet(object->model[i + 11], (0.25 * i) * Hu3DMotionShapeMaxTimeGet(object->model[i + 11])); - } - modelP = &Hu3DData[object->model[0]]; - workUnk4 = &work2->unk4[0]; - for (i = 0; i < 4; i++, workUnk4++) { - workUnk4->unkC = lbl_1_data_31C[i].unk0; - workUnk4->unk10 = lbl_1_data_31C[i].unk4; - workUnk4->unk14 = lbl_1_data_31C[i].unk8; - workUnk4->unk18 = lbl_1_data_31C[i].unkC; - workUnk4->unk8 = lbl_1_data_31C[i].unk10; - workUnk4->unk4 = GXGetTexBufferSize(workUnk4->unk14, workUnk4->unk18, GX_TF_RGB565, GX_FALSE, GX_FALSE); - workUnk4->unk0 = HuMemDirectMallocNum(HEAP_DATA, workUnk4->unk4, modelP->unk_48); - memset(workUnk4->unk0, 0, workUnk4->unk4); - DCFlushRange(workUnk4->unk0, workUnk4->unk4); - } - for (i = 0; i < 64; i++, workUnk74++) { - workUnk74->unk0.x = workUnk74->unk0.y = workUnk74->unk0.z = 0; - workUnk74->unkC.x = 0; - workUnk74->unkC.y = 0; - workUnk74->unkC.z = 1; - workUnk74->unk18 = 1.0f / REFRESH_RATE; - workUnk74->unk1C = REFRESH_RATE; - workUnk74->unk1E = 0; - } - return object; -} - -void fn_1_97FC(float arg0); - -void fn_1_390C(omObjData *object) -{ - Work2FAC *work = object->data; - Work2FAC *work2 = work; - s32 i; - if ((work->unkA50 = work->unkA50 + (0.007874016f * ((s32)frand() & 0x7F) * 3.0f)) > 360) { - work->unkA50 -= 360; - } - work->unkA44 = (25 + work->unkA40) + (5.0 * sind(work->unkA50)); - Hu3DModelPosSet(object->model[10], 0, work->unkA44, 0); - for (i = 0; i < 4; i++) { - Hu3DModelPosSet(object->model[i + 11], lbl_1_data_2E8[i].x, work->unkA44 + lbl_1_data_2E8[i].y, lbl_1_data_2E8[i].z); - } - work->unkA54 += VERSION_PAL ? 0.0012f : 0.001f; // 0.06f / REFRESH_RATE - work->unkA58 += VERSION_PAL ? 0.0012f : 0.001f; - work->unkA48++; - work->unkA4C++; - if (work->unkA4C >= (float)REFRESH_RATE && work->unkA4C <= (VERSION_PAL ? 67.5f : 81.0f)) { - float time = 1 - ((work->unkA4C - (float)REFRESH_RATE) / (VERSION_PAL ? 17.5f : 21.0f)); - if (time < 0.0f) { - time = 0.0f; - } - fn_1_97FC(time); - } -} - -void fn_1_3C34(omObjData *object) -{ - Work2FAC *work = object->data; - HuSprAnimKill(work->unkA1C[0]); - HuSprAnimKill(work->unkA1C[1]); - HuSprAnimKill(work->unkA1C[2]); - HuSprAnimKill(work->unkA1C[3]); - HuSprAnimKill(work->unkA1C[6]); - HuSprAnimKill(work->unkA1C[7]); - HuSprAnimKill(work->unkA1C[4]); - HuSprAnimKill(work->unkA1C[5]); - HuSprAnimKill(work->unkA1C[8]); -} - -GXColor lbl_1_data_37A = { 255, 255, 255, 32 }; -GXColor lbl_1_data_37E = { 255, 255, 255, 10 }; -GXColor lbl_1_data_382 = { 0, 126, 126, 255 }; -Vec lbl_1_data_388[4] = { -1000, 50, 1000, -1000, 50, -1000, 1000, 50, -1000, 1000, 50, 1000 }; - -Vec lbl_1_data_3B8[26] = { -1500, 0, 1000, -1400, 0, 1000, 0, 0, 1000, 1400, 0, 1000, 1500, 0, 1000, -1500, 0, -500, -1400, 0, -500, 0, 0, -500, 1400, - 0, -500, 1500, 0, -500, -1500, 0, -2000, -1400, 0, -2000, 0, 0, -2000, 1400, 0, -2000, 1500, 0, -2000, -1500, 0, -5000, -1400, 0, -5000, 0, 0, - -5000, 1400, 0, -5000, 1500, 0, -5000, -2000, 0, -500, -2500, 0, -2000, -3000, 0, -5000, 2000, 0, -500, 2500, 0, -2000, 3000, 0, -5000 }; - -GXColor lbl_1_data_4F0[26] = { { 96, 128, 255, 255 }, { 128, 160, 255, 32 }, { 128, 160, 255, 32 }, { 128, 160, 255, 32 }, { 96, 128, 255, 255 }, - { 24, 48, 255, 255 }, { 96, 128, 255, 32 }, { 128, 160, 255, 32 }, { 96, 128, 255, 32 }, { 24, 48, 255, 255 }, { 24, 48, 255, 255 }, - { 24, 48, 255, 255 }, { 96, 128, 255, 255 }, { 24, 48, 255, 255 }, { 24, 48, 255, 255 }, { 8, 24, 143, 255 }, { 8, 24, 143, 255 }, - { 8, 24, 143, 255 }, { 8, 24, 143, 255 }, { 8, 24, 143, 255 }, { 24, 48, 255, 255 }, { 24, 48, 255, 255 }, { 24, 48, 255, 255 }, - { 24, 48, 255, 255 }, { 24, 48, 255, 255 }, { 24, 48, 255, 255 } }; - -float lbl_1_data_558[26][2] - = { 0, 1, 0.033333335, 1, 0.5, 1, 0.96666664, 1, 1, 1, 0, 0.5, 0.033333335, 0.5, 0.5, 0.5, 0.96666664, 0.5, 1, 0.5, 0, 0, 0.033333335, 0, 0.5, 0, - 0.96666664, 0, 1, 0, 0, 0, 0.033333335, 0, 0.5, 0, 0.96666664, 0, 1, 0, -0.15, 0.5, -0.33, 0, -0.49, 0, 1.15, 0.5, 1.33, 0, 1.49, 0 }; - -float lbl_1_data_628[26][2] = { 0, 30, 0.5, 30, 7.5, 30, 14.5, 30, 15, 30, 0, 15, 0.5, 15, 7.5, 15, 14.5, 15, 15, 15, 0, 7.5, 0.5, 7.5, 7.5, 7.5, - 14.5, 7.5, 15, 7.5, 0, 0, 0.5, 0, 7.5, 0, 14.5, 0, 15, 0, -2.25, 15, -4.9500003, 7.5, -7.3500004, 0, 17.25, 15, 19.95, 7.5, 22.35, 0 }; - -float lbl_1_data_6F8[2][3] = { 0, 0, 0.5, 0, 0.5, 0 }; - -GXColor lbl_1_data_710 = { 80, 80, 80, 80 }; - -Vec lbl_1_data_714[9] - = { -1500, 0, -5000, 0, 0, -5000, 1500, 0, -5000, -1500, 0, -3000, 0, 0, -3000, 1500, 0, -3000, -1500, 0, 1000, 0, 0, 1000, 1500, 0, 1000 }; - -GXColor lbl_1_data_780[9] = { - { 255, 255, 255, 0 }, - { 255, 255, 255, 0 }, - { 255, 255, 255, 0 }, - { 255, 255, 255, 0 }, - { 255, 255, 255, 255 }, - { 255, 255, 255, 0 }, - { 255, 255, 255, 0 }, - { 255, 255, 255, 255 }, - { 255, 255, 255, 0 }, -}; - -GXColor lbl_1_data_7A4 = { 255, 165, 89, 178 }; -GXColor lbl_1_data_7A8 = { 153, 114, 89, 178 }; -GXColor lbl_1_data_7AC = { 0, 0, 0, 255 }; - -void fn_1_5BB8(Work2FACUnk4 *arg0, s32 arg1); - -void fn_1_3CB0(ModelData *model, Mtx matrix) -{ - Work2FAC *work = model->unk_120; - Work2FAC *work2 = work; - Work2FACUnk74 *workUnk74 = &work2->unk74[0]; - Work2FACUnk4 *workUnk4 = &work2->unk4[0]; - s32 i; - Mtx proj; - Mtx modelview; - MTXOrtho(proj, 0, 480, 0, 640, 0, 100); - GXSetProjection(proj, GX_ORTHOGRAPHIC); - MTXIdentity(modelview); - GXLoadPosMtxImm(modelview, GX_PNMTX0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); - GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_382); - GXSetTevColor(GX_TEVREG0, lbl_1_data_37E); - GXSetNumTexGens(1); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0); - GXSetNumTevStages(1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_RASC, GX_CC_TEXC, GX_CC_A0, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetScissor(0, 0, 400, 400); - HuSprTexLoad(work->unkA1C[4], 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_U16, 0); - GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition2u16(0, 0); - GXTexCoord2f32(work->unkA54, work->unkA58); - GXPosition2u16(400, 0); - GXTexCoord2f32(work->unkA54 + 7, work->unkA58); - GXPosition2u16(400, 400); - GXTexCoord2f32(work->unkA54 + 7, work->unkA58 + 7); - GXPosition2u16(0, 400); - GXTexCoord2f32(work->unkA54, work->unkA58 + 7); - GXEnd(); - GXSetNumTexGens(1); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); - GXSetNumTevStages(1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - HuSprTexLoad(work->unkA1C[8], 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXClearVtxDesc(); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); - workUnk74 = &work2->unk74[0]; - for (i = 0; i < 64; i++, workUnk74++) { - float scale; - float accel; - if (workUnk74->unk1E == 0) { - continue; - } - scale = 128 * (workUnk74->unkC.x * (0.2f + cosd(workUnk74->unk1E * workUnk74->unk18 * 90.0f))); - accel = workUnk74->unk1E * workUnk74->unk18; - lbl_1_data_37A.a = workUnk74->unkC.z * sind((accel * accel) * 90.0f) * 255.0; - GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_37A); - MTXScale(modelview, 0.5f * scale, 0.5f * scale, 1.0f); - mtxRotCat(modelview, 0, 0, workUnk74->unkC.y); - mtxTransCat(modelview, 400 * (workUnk74->unk0.x + 1500) / 3000, 400 * (workUnk74->unk0.z - -2000) / 3000, 0); - GXLoadPosMtxImm(modelview, GX_PNMTX0); - GXCallDisplayList(work2->unkA14, work2->unkA18); - if (!omPauseChk()) { - workUnk74->unk1E--; - } - } - workUnk4 = &work2->unk4[0]; - fn_1_5BB8(workUnk4, 1); -} - -void fn_1_54D0(ModelData *model, Mtx matrix); - -void fn_1_44DC(ModelData *model, Mtx matrix) -{ - Work2FAC *work; - Work2FAC *work2; - Work2FACUnk4 *workUnk4; - fn_1_54D0(model, matrix); - work = model->unk_120; - work2 = work; - workUnk4 = &work2->unk4[1]; - fn_1_5BB8(workUnk4, 0); -} - -void fn_1_5C74(Work2FACUnk4 *arg0, float arg1, float arg2, float arg3); - -void fn_1_4544(ModelData *model, Mtx matrix) -{ - Work2FAC *work = model->unk_120; - Work2FAC *work2 = work; - Work2FACUnk4 *workUnk4 = &work2->unk4[0]; - - fn_1_5C74(workUnk4, 200, 0, 0.5f); - workUnk4 = &work2->unk4[1]; - fn_1_5C74(workUnk4, 0, 0, 0.5f); - workUnk4 = &work2->unk4[2]; - fn_1_5C74(workUnk4, 0, 150, 0.25f); - workUnk4 = &work2->unk4[3]; - fn_1_5C74(workUnk4, 0, 300, 0.5f); -} - -void fn_1_60C4(s16 arg0, Work2FACUnk4 *arg1, GXTexWrapMode arg2, s32 arg3, BOOL arg4); - -void fn_1_464C(ModelData *model, Mtx matrix) -{ - CameraData *cameraP = &Hu3DCamera[Hu3DCameraNo]; - Work2FAC *work = model->unk_120; - Work2FAC *work2 = work; - Work2FACUnk4 *workUnk4 = &work2->unk4[2]; - float fov; - Mtx proj; - Mtx texMtx; - Mtx projCamera; - s16 lightMask; - s16 i; - - fn_1_5BB8(workUnk4, 0); - GXLoadPosMtxImm(matrix, GX_PNMTX0); - fov = cameraP->fov; - if (fov <= 0.0f) { - fov = 45; - } - MTXLightPerspective(proj, fov, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); - MTXInverse(Hu3DCameraMtx, texMtx); - MTXConcat(texMtx, Hu3DCameraMtx, texMtx); - MTXConcat(proj, Hu3DCameraMtx, projCamera); - MTXConcat(projCamera, texMtx, texMtx); - GXLoadTexMtxImm(texMtx, GX_TEXMTX0, GX_MTX3x4); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0); - lightMask = Hu3DLightSet(model, &Hu3DCameraMtx, &Hu3DCameraMtxXPose, 4); - GXSetNumTevStages(1); - GXSetNumTexGens(1); - GXSetNumChans(1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); - GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_318); - GXSetZMode(GX_TRUE, GX_GREATER, GX_FALSE); - GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - workUnk4 = &work2->unk4[1]; - fn_1_60C4(0, workUnk4, 0, 0, 0); - GXClearVtxDesc(); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetArray(GX_VA_POS, lbl_1_data_388, sizeof(Vec)); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - for (i = 0; i < 4; i++) { - GXPosition1x16(i); - } - GXEnd(); - workUnk4 = &work2->unk4[3]; - fn_1_5BB8(workUnk4, 0); - workUnk4 = &work2->unk4[2]; - fn_1_60C4(0, workUnk4, 0, 0, 0); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - for (i = 0; i < 4; i++) { - GXPosition1x16(i); - } - GXEnd(); -} - -void fn_1_4994(ModelData *model, Mtx matrix) -{ - CameraData *cameraP = &Hu3DCamera[Hu3DCameraNo]; - Work2FAC *work = model->unk_120; - Work2FAC *work2 = work; - Work2FACUnk4 *workUnk4 = &work2->unk4[2]; - Mtx invXPose; - Mtx proj; - Mtx texMtx; - Mtx projCamera; - float sp14; - float sp10; - float fov; - s16 i; - fn_1_464C(model, matrix); - sp14 = 1.5f; - sp10 = 0; - GXLoadPosMtxImm(matrix, GX_PNMTX0); - MTXInvXpose(matrix, invXPose); - GXLoadNrmMtxImm(invXPose, GX_PNMTX0); - fov = cameraP->fov; - if (fov <= 0.0f) { - fov = 45; - } - MTXLightPerspective(proj, fov, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); - MTXInverse(Hu3DCameraMtx, texMtx); - MTXConcat(texMtx, Hu3DCameraMtx, texMtx); - MTXConcat(proj, Hu3DCameraMtx, projCamera); - MTXConcat(projCamera, texMtx, texMtx); - GXLoadTexMtxImm(texMtx, GX_TEXMTX0, GX_MTX3x4); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0); - GXSetTexCoordGen(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEX1, GX_IDENTITY); - GXSetNumTevStages(2); - GXSetNumTexGens(3); - GXSetNumChans(1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_TEXC, GX_CC_RASC, GX_CC_RASA, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevColor(GX_TEVREG0, lbl_1_data_710); - GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_ZERO, GX_CC_C0, GX_CC_TEXA, GX_CC_CPREV); - GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_VTX, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_318); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0); - GXSetBlendMode(GX_BM_NONE, GX_BL_ONE, GX_BL_ZERO, GX_LO_NOOP); - workUnk4 = &work2->unk4[3]; - fn_1_60C4(0, workUnk4, 0, 0, 0); - HuSprTexLoad(work->unkA1C[3], 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR); - workUnk4 = &work2->unk4[0]; - fn_1_60C4(2, workUnk4, 0, 0, 1); - GXSetTexCoordGen(GX_TEXCOORD2, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); - GXSetNumIndStages(1); - GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD2, GX_TEXMAP2); - GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); - GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, GX_TRUE, GX_FALSE, GX_ITM_1); - GXSetIndTexMtx(GX_ITM_1, lbl_1_data_6F8, -1); - for (i = 0; i < 26; i++) { - work2->unk944[i][0] -= 0.007874016f * ((s32)frand() & 0x7F) * 0.005f; - work2->unk944[i][1] += 0.007874016f * ((s32)frand() & 0x7F) * 0.005f; - work2->unk874[i][0] = work2->unk944[i][0] + lbl_1_data_628[i][0]; - work2->unk874[i][1] = work2->unk944[i][1] + lbl_1_data_628[i][1]; - } - DCFlushRange(&work2->unk874[0][0], sizeof(work2->unk874)); - GXClearVtxDesc(); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - - GXSetArray(GX_VA_POS, lbl_1_data_3B8, sizeof(Vec)); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_CLR0, lbl_1_data_4F0, sizeof(GXColor)); - GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetArray(GX_VA_TEX0, lbl_1_data_558, sizeof(float) * 2); - GXSetVtxDesc(GX_VA_TEX1, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX1, GX_TEX_ST, GX_F32, 0); - GXSetArray(GX_VA_TEX1, &work2->unk874[0][0], sizeof(float) * 2); - GXBegin(GX_QUADS, GX_VTXFMT0, 48); - for (i = 0; i < 12; i++) { - s16 index; - if (i == 4) { - index = 12; - } - else if (i == 9) { - index = 13; - } - else { - index = i; - } - GXPosition1x16(index + 0); - GXColor1x16(index + 0); - GXTexCoord1x16(index + 0); - GXTexCoord1x16(index + 0); - GXPosition1x16(index + 5); - GXColor1x16(index + 5); - GXTexCoord1x16(index + 5); - GXTexCoord1x16(index + 5); - GXPosition1x16(index + 6); - GXColor1x16(index + 6); - GXTexCoord1x16(index + 6); - GXTexCoord1x16(index + 6); - GXPosition1x16(index + 1); - GXColor1x16(index + 1); - GXTexCoord1x16(index + 1); - GXTexCoord1x16(index + 1); - } - GXEnd(); - GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 8); - GXPosition1x16(22); - GXColor1x16(22); - GXTexCoord1x16(22); - GXTexCoord1x16(22); - GXPosition1x16(15); - GXColor1x16(15); - GXTexCoord1x16(15); - GXTexCoord1x16(15); - GXPosition1x16(21); - GXColor1x16(21); - GXTexCoord1x16(21); - GXTexCoord1x16(21); - GXPosition1x16(10); - GXColor1x16(10); - GXTexCoord1x16(10); - GXTexCoord1x16(10); - GXPosition1x16(20); - GXColor1x16(20); - GXTexCoord1x16(20); - GXTexCoord1x16(20); - GXPosition1x16(5); - GXColor1x16(5); - GXTexCoord1x16(5); - GXTexCoord1x16(5); - GXPosition1x16(0); - GXColor1x16(0); - GXTexCoord1x16(0); - GXTexCoord1x16(0); - GXPosition1x16(0); - GXColor1x16(0); - GXTexCoord1x16(0); - GXTexCoord1x16(0); - GXEnd(); - GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 8); - GXPosition1x16(19); - GXColor1x16(19); - GXTexCoord1x16(19); - GXTexCoord1x16(19); - GXPosition1x16(25); - GXColor1x16(25); - GXTexCoord1x16(25); - GXTexCoord1x16(25); - GXPosition1x16(14); - GXColor1x16(14); - GXTexCoord1x16(14); - GXTexCoord1x16(14); - GXPosition1x16(24); - GXColor1x16(24); - GXTexCoord1x16(24); - GXTexCoord1x16(24); - GXPosition1x16(9); - GXColor1x16(9); - GXTexCoord1x16(9); - GXTexCoord1x16(9); - GXPosition1x16(23); - GXColor1x16(23); - GXTexCoord1x16(23); - GXTexCoord1x16(23); - GXPosition1x16(4); - GXColor1x16(4); - GXTexCoord1x16(4); - GXTexCoord1x16(4); - GXPosition1x16(4); - GXColor1x16(4); - GXTexCoord1x16(4); - GXTexCoord1x16(4); - GXEnd(); - GXSetNumIndStages(0); - GXSetTevDirect(GX_TEVSTAGE0); - GXSetTevDirect(GX_TEVSTAGE1); -} - -void fn_1_54D0(ModelData *model, Mtx matrix) -{ - s32 sp10 = 0; - Work2FAC *work = model->unk_120; - float scale = 1.5f; - float x = 0; - Mtx temp; - Mtx final; - MTXTrans(final, x, -300, 0); - GXSetTevColor(GX_TEVREG0, lbl_1_data_7A4); - MTXScale(temp, scale, 1, 1); - MTXConcat(final, temp, final); - MTXConcat(Hu3DCameraMtx, final, final); - GXLoadPosMtxImm(final, GX_PNMTX0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - GXSetChanMatColor(GX_COLOR0A0, lbl_1_data_318); - HuSprTexLoad(work->unkA1C[0], 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); - HuSprTexLoad(work->unkA1C[1], 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR); - GXSetNumTexGens(2); - MTXRotDeg(final, 'X', 90.0f); - x = 0.004f * scale; - MTXScale(temp, x, -0.004f, 0.004f); - MTXConcat(final, temp, final); - MTXTrans(temp, (work->unkA48 % 1024) / (512.0f * x), 0, 1.2499999f * (work->unkA48 % 400)); - MTXConcat(final, temp, final); - GXLoadTexMtxImm(final, GX_TEXMTX0, GX_MTX2x4); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, GX_TEXMTX0); - MTXRotDeg(final, 'X', 90.0f); - x = 0.004f * scale; - MTXScale(temp, x, -0.004f, 0.004f); - MTXConcat(final, temp, final); - MTXTrans(temp, (work->unkA48 % 300) / (150.0f * x), 0, 0); - MTXConcat(final, temp, final); - GXLoadTexMtxImm(final, GX_TEXMTX1, GX_MTX2x4); - GXSetTexCoordGen(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_POS, GX_TEXMTX1); - GXSetNumTevStages(2); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_TEXA, GX_CA_RASA, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR_NULL); - GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_CPREV); - GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_TEXA, GX_CA_APREV, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_SET); - GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_INDEX8); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_CLR0, GX_INDEX8); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); - GXSetArray(GX_VA_POS, lbl_1_data_714, sizeof(Vec)); - GXSetArray(GX_VA_CLR0, lbl_1_data_780, sizeof(GXColor)); - GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 6); - GXPosition1x8(0); - GXColor1x8(0); - GXPosition1x8(1); - GXColor1x8(1); - GXPosition1x8(3); - GXColor1x8(3); - GXPosition1x8(4); - GXColor1x8(4); - GXPosition1x8(6); - GXColor1x8(6); - GXPosition1x8(7); - GXColor1x8(7); - GXEnd(); - GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 6); - GXPosition1x8(1); - GXColor1x8(1); - GXPosition1x8(2); - GXColor1x8(2); - GXPosition1x8(4); - GXColor1x8(4); - GXPosition1x8(5); - GXColor1x8(5); - GXPosition1x8(7); - GXColor1x8(7); - GXPosition1x8(8); - GXColor1x8(8); - GXEnd(); -} - -void fn_1_5BB8(Work2FACUnk4 *arg0, s32 arg1) -{ - GXSetTexCopySrc(0, 0, arg0->unkC, arg0->unk10); - GXSetTexCopyDst(arg0->unk14, arg0->unk18, GX_TF_RGB565, arg0->unk8); - GXSetCopyClear(lbl_1_data_7AC, GX_MAX_Z24); - GXCopyTex(arg0->unk0, arg1); -} - -void fn_1_5C74(Work2FACUnk4 *fbWork, float x1, float y1, float scale) -{ - float x2 = x1 + (fbWork->unk14 * scale); - float y2 = y1 + (fbWork->unk18 * scale); - Mtx44 proj; - Mtx modelview; - GXTexObj texObj; - GXColor color; - GXInitTexObj(&texObj, fbWork->unk0, fbWork->unk14, fbWork->unk18, GX_TF_RGB565, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXInitTexObjLOD(&texObj, GX_NEAR, GX_NEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); - GXLoadTexObj(&texObj, GX_TEXMAP0); - MTXOrtho(proj, 0, 480, 0, 640, 0, 10); - GXSetProjection(proj, GX_ORTHOGRAPHIC); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - color.a = 255; - GXSetTevColor(GX_TEVREG0, color); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_TEXC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumTexGens(1); - GXSetNumTevStages(1); - MTXIdentity(modelview); - GXLoadPosMtxImm(modelview, GX_PNMTX0); - GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(x1, y1, 0); - GXTexCoord2f32(0, 0); - GXPosition3f32(x2, y1, 0); - GXTexCoord2f32(1, 0); - GXPosition3f32(x2, y2, 0); - GXTexCoord2f32(1, 1); - GXPosition3f32(x1, y2, 0); - GXTexCoord2f32(0, 1); - GXEnd(); -} - -void fn_1_60C4(s16 arg0, Work2FACUnk4 *arg1, GXTexWrapMode arg2, s32 arg3, BOOL arg4) -{ - GXTexObj texObj; - GXInitTexObj(&texObj, arg1->unk0, arg1->unk14, arg1->unk18, GX_TF_RGB565, arg2, arg2, FALSE); - if (arg4) { - GXInitTexObjLOD(&texObj, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); - } - else { - GXInitTexObjLOD(&texObj, GX_NEAR, GX_NEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); - } - GXLoadTexObj(&texObj, arg0); -} - -s32 fn_1_61C8(Vec *arg0, float arg1, float arg2, s32 arg3) -{ - Work2FAC *work; - Work2FAC *work2; - Work2FACUnk74 *workUnk74; - s32 i; - if (!lbl_1_bss_B4) { - return -1; - } - work = lbl_1_bss_B4->data; - work2 = work; - workUnk74 = &work->unk74[0]; - for (i = 0; i < 64; i++, workUnk74++) { - if (workUnk74->unk1E == 0) { - break; - } - } - if (i >= 64) { - return -1; - } - workUnk74->unk0 = *arg0; - if (arg1 < 0.0f) { - workUnk74->unkC.x = 1; - } - else { - workUnk74->unkC.x = arg1; - } - if (arg2 < 0.0f) { - workUnk74->unkC.z = 1; - } - else { - workUnk74->unkC.z = arg2; - } - if (arg3 < 0) { - workUnk74->unk1C = REFRESH_RATE; - } - else { - workUnk74->unk1C = arg3; - } - workUnk74->unkC.y = (s32)frand() % 360; - workUnk74->unk1E = workUnk74->unk1C; - workUnk74->unk18 = 1.0f / workUnk74->unk1C; - return i; -} - -float fn_1_63AC(void) -{ - if (!lbl_1_bss_B4) { - return 0; - } - else { - Work2FAC *work = lbl_1_bss_B4->data; - return work->unkA44; - } -} - -float fn_1_63F8(void) -{ - if (!lbl_1_bss_B4) { - return 0; - } - else { - Work2FAC *work = lbl_1_bss_B4->data; - return work->unkA40; - } -} - -typedef struct work6914 { - s32 unk0; - s32 unk4; - s32 unk8; - s32 unkC; - AnimData *unk10; - Vec unk14; - Vec unk20; - Vec unk2C; -} Work6914; - -void fn_1_659C(omObjData *object); - -void fn_1_6444(omObjData *object) -{ - Work6914 *work; - s32 i; - AnimData *anim; - work = object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work6914) * 8, MEMORY_DEFAULT_NUM); - memset(work, 0, sizeof(Work6914) * 8); - anim = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M456, 26), MEMORY_DEFAULT_NUM)); - for (i = 0; i < 8; i++, work++) { - work->unk10 = anim; - work->unk0 = i; - work->unk4 = Hu3DParticleCreate(work->unk10, 32); - Hu3DModelCameraSet(work->unk4, HU3D_CAM0); - Hu3DModelLayerSet(work->unk4, 6); - Hu3DModelAttrSet(work->unk4, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(work->unk4, HU3D_ATTR_PARTICLE_KILL); - work->unk8 = 0; - work->unkC = 0; - work->unk14.x = work->unk14.y = work->unk14.z = 0; - work->unk20.x = work->unk20.y = work->unk20.z = 0; - work->unk2C.x = work->unk2C.y = work->unk2C.z = 1; - } - object->func = fn_1_659C; -} - -void fn_1_659C(omObjData *object) -{ - Work6914 *work = object->data; - s32 i; - for (i = 0; i < 8; i++, work++) { - if (work->unk8 == 0) { - continue; - } - if (work->unkC > 1) { - ModelData *modelP = &Hu3DData[work->unk4]; - ParticleData *particleP = modelP->unk_120; - HsfanimStruct01 *data = particleP->unk_48; - s32 j; - for (j = 0; j < particleP->unk_30; j++, data++) { - if (++data->unk00 > data->unk02) { - s32 alpha = data->unk40.a - 1; - if (alpha < 0) { - data->unk2C = 0; - } - else { - data->unk40.a = alpha; - } - } - data->unk2C *= 0.975; - data->unk34.x += data->unk08.x; - data->unk34.y += data->unk08.y; - data->unk34.z += data->unk08.z; - data->unk08.y -= 0.3103333379576603; - } - } - if (++work->unkC > (1.5f * REFRESH_RATE)) { - Hu3DModelAttrSet(work->unk4, HU3D_ATTR_DISPOFF); - work->unk8 = 0; - } - else { - Hu3DModelPosSet(work->unk4, work->unk14.x, work->unk14.y, work->unk14.z); - Hu3DModelRotSet(work->unk4, work->unk20.x, work->unk20.y, work->unk20.z); - Hu3DModelScaleSet(work->unk4, work->unk2C.x, work->unk2C.y, work->unk2C.z); - } - } -} - -void fn_1_6790(omObjData *object) -{ - Work6914 *work = object->data; - AnimData *anim = work->unk10; - anim->useNum = 0; - HuSprAnimKill(anim); -} - -s32 fn_1_67E0(Vec *arg0, float arg1) -{ - Work6914 *work = lbl_1_bss_B0->data; - s32 i; - ModelData *temp_r27; - ParticleData *temp_r28; - HsfanimStruct01 *temp_r30; - - for (i = 0; i < 8; i++, work++) { - if (work->unk8 == 0) { - break; - } - } - if (i >= 8) { - return -1; - } - Hu3DModelAttrReset(work->unk4, HU3D_ATTR_DISPOFF); - work->unk8 = 1; - work->unkC = 0; - temp_r27 = &Hu3DData[work->unk4]; - temp_r28 = temp_r27->unk_120; - temp_r28->unk_2C = 1; - temp_r30 = temp_r28->unk_48; - for (i = 0; i < temp_r28->unk_30; i++, temp_r30++) { - float temp_f30 = ((s32)frand() % 20) + 90; - float temp_f29 = (s32)frand() % 360; - float temp_f26 = sind(temp_f30); - float temp_f28 = cosd(temp_f30); - float temp_f25 = 0.75f + 0.15f * (0.007874016f * ((s32)frand() & 0x7F)); - float temp_f31 = 0.15f; - temp_r30->unk08.x = temp_f31 * (0.65f * (50.0 * (temp_f28 * sind(temp_f29)))); - temp_r30->unk08.z = temp_f31 * (0.65f * (50.0 * (temp_f28 * cosd(temp_f29)))); - temp_r30->unk08.y = temp_f31 * (50 * temp_f26 * temp_f25); - temp_r30->unk00 = 0; - temp_r30->unk02 = ((s32)frand() % 16) + 45; - temp_r30->unk30 = (s32)frand() % 360; - temp_r30->unk2C = 145.0f; - temp_r30->unk34.x = 0.05f * (((s32)frand() & 0x7F) - 64); - temp_r30->unk34.y = 0.65f * (((s32)frand() & 0x7F) - 64); - temp_r30->unk34.z = 0.05f * (((s32)frand() & 0x7F) - 64); - temp_r30->unk40.r = ((s32)frand() % 64) + 192; - temp_r30->unk40.g = ((s32)frand() % 64) + 192; - temp_r30->unk40.b = ((s32)frand() % 64) + 192; - temp_r30->unk40.a = 64; - } - if (arg1 < 0.0f) { - arg1 = 1.0f; - } - work->unk14 = *arg0; - work->unk20.x = work->unk20.y = work->unk20.z = 0; - work->unk2C.x = work->unk2C.y = work->unk2C.z = arg1; - Hu3DModelPosSet(work->unk4, work->unk14.x, work->unk14.y, work->unk14.z); - Hu3DModelRotSet(work->unk4, work->unk20.x, work->unk20.y, work->unk20.z); - Hu3DModelScaleSet(work->unk4, work->unk2C.x, work->unk2C.y, work->unk2C.z); - return i; -} - -void fn_1_6E98(omObjData *object); - -void fn_1_6DB0(omObjData *object) -{ - s32 i; - for (i = 0; i < object->mdlcnt; i++) { - if (i == 0) { - object->model[i] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M456, 9)); - } - else { - object->model[i] = Hu3DModelLink(object->model[0]); - } - Hu3DModelCameraSet(object->model[i], HU3D_CAM0); - Hu3DModelLayerSet(object->model[i], 6); - Hu3DModelAttrSet(object->model[i], HU3D_ATTR_DISPOFF); - } - object->stat |= 0x100; - object->func = fn_1_6E98; -} - -void fn_1_6E98(omObjData *object) -{ - s32 i; - for (i = 0; i < object->mdlcnt; i++) { - ModelData *modelP = &Hu3DData[object->model[i]]; - if (!(modelP->attr & HU3D_ATTR_DISPOFF)) { - if (Hu3DMotionTimeGet(object->model[i]) >= Hu3DMotionMaxTimeGet(object->model[i])) { - Hu3DModelAttrSet(object->model[i], HU3D_ATTR_DISPOFF); - } - } - } -} - -void fn_1_6F60(omObjData *object) { } - -s32 fn_1_6F64(Vec *pos, float scale) -{ - s32 i; - for (i = 0; i < lbl_1_bss_AC->mdlcnt; i++) { - ModelData *modelP = &Hu3DData[lbl_1_bss_AC->model[i]]; - if (modelP->attr & HU3D_ATTR_DISPOFF) { - break; - } - } - if (i >= lbl_1_bss_AC->mdlcnt) { - return -1; - } - Hu3DMotionTimeSet(lbl_1_bss_AC->model[i], 0); - Hu3DMotionSpeedSet(lbl_1_bss_AC->model[i], 1); - Hu3DModelPosSet(lbl_1_bss_AC->model[i], pos->x, pos->y, pos->z); - Hu3DModelScaleSet(lbl_1_bss_AC->model[i], scale, scale, scale); - Hu3DModelAttrReset(lbl_1_bss_AC->model[i], HU3D_ATTR_DISPOFF); - return i; -} - -void fn_1_71E0(omObjData *object); - -void fn_1_70F0(omObjData *object) -{ - ParticleData *temp_r30; - HsfanimStruct01 *temp_r29; - s32 i; - ModelData *modelP; - AnimData *anim = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M456, 26), MEMORY_DEFAULT_NUM)); - - object->data = anim; - object->model[0] = Hu3DParticleCreate(anim, 64); - Hu3DModelCameraSet(object->model[0], HU3D_CAM0); - Hu3DModelLayerSet(object->model[0], 3); - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_PARTICLE_KILL); - modelP = &Hu3DData[object->model[0]]; - temp_r30 = modelP->unk_120; - temp_r29 = temp_r30->unk_48; - temp_r30->unk_2C = 1; - for (i = 0; i < temp_r30->unk_30; i++, temp_r29++) { - temp_r29->unk2C = 0; - } - object->func = fn_1_71E0; -} - -void fn_1_71E0(omObjData *object) -{ - ModelData *modelP = &Hu3DData[object->model[0]]; - ParticleData *temp_r29 = modelP->unk_120; - HsfanimStruct01 *temp_r30 = temp_r29->unk_48; - s32 i; - for (i = 0; i < temp_r29->unk_30; i++, temp_r30++) { - if (temp_r30->unk2C <= 0.0f) { - continue; - } - if (++temp_r30->unk00 > 360) { - temp_r30->unk00 -= 360; - } - temp_r30->unk34.x += temp_r30->unk08.x * sind(2.0f * temp_r30->unk00); - temp_r30->unk34.y += temp_r30->unk08.y; - if (temp_r30->unk34.y >= 0.0f) { - fn_1_61C8(&temp_r30->unk34, 0.00625f * temp_r30->unk2C, 1, REFRESH_RATE / 4); - temp_r30->unk2C = 0; - } - } -} - -void fn_1_74A4(omObjData *object) -{ - AnimData *anim = object->data; - HuSprAnimKill(anim); - Hu3DModelKill(object->model[0]); - object->model[0] = -1; -} - -s32 fn_1_74F8(Vec *pos, float scale) -{ - s32 i; - ModelData *modelP = &Hu3DData[lbl_1_bss_A8->model[0]]; - ParticleData *temp_r30 = modelP->unk_120; - HsfanimStruct01 *temp_r31 = temp_r30->unk_48; - for (i = 0; i < temp_r30->unk_30; i++, temp_r31++) { - if (temp_r31->unk2C <= 0.0f) { - break; - } - } - if (i >= temp_r30->unk_30) { - return -1; - } - if (scale <= 0.0f) { - scale = 1.0f; - } - temp_r31->unk34 = *pos; -#if VERSION_PAL - temp_r31->unk08.x = (1.2f * (1.5f + (0.2f * (0.007874016f * (frand() & 0x7F))))) * 0.5f; - temp_r31->unk08.z = (1.5f + (0.2f * (0.007874016f * (frand() & 0x7F)))) * 1.2f; - temp_r31->unk08.y = (1.2f * (1.5f + (0.2f * (0.007874016f * (frand() & 0x7F))))) * 2.0f; -#else - temp_r31->unk08.x = (1.5f + (0.2f * (0.007874016f * ((s32)frand() & 0x7F)))) * 0.5f; - temp_r31->unk08.z = (1.5f + (0.2f * (0.007874016f * ((s32)frand() & 0x7F)))); - temp_r31->unk08.y = (1.5f + (0.2f * (0.007874016f * ((s32)frand() & 0x7F)))) * 2.0f; -#endif - temp_r31->unk00 = (s32)frand() % 360; - temp_r31->unk2C = 20 * scale; - return i; -} - -typedef struct work7C48 { - s32 unk0; - s32 unk4; - s32 unk8; - float unkC; - float unk10; - Vec unk14; - Vec unk20; -} Work7C48; - -void fn_1_7B50(omObjData *object); - -void fn_1_7778(omObjData *object) -{ - Work7C48 *workBase = object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work7C48) * 8, MEMORY_DEFAULT_NUM); - Work7C48 *workP = workBase; - s32 i; - memset(workP, 0, 8 * sizeof(Work7C48)); - for (i = 0; i < 8; i++, workP++) { - switch (i) { - case 0: - workP->unk0 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M456, 3)); - break; - - case 1: - workP->unk0 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M456, 4)); - break; - - default: - if (i & 0x1) { - workP->unk0 = Hu3DModelLink(workBase[0].unk0); - } - else { - workP->unk0 = Hu3DModelLink(workBase[1].unk0); - } - break; - } - Hu3DModelCameraSet(workP->unk0, HU3D_CAM0); - Hu3DModelLayerSet(workP->unk0, 1); - workP->unk4 = 0; - workP->unk8 = 0; - workP->unkC = 2; - workP->unk10 = (s32)frand() % 360; - workP->unk14.x = 1500 * ((0.007874016f * ((s32)frand() & 0x7F)) - 0.5f); - workP->unk14.z = 500 * ((0.007874016f * ((s32)frand() & 0x7F)) - 0.5f); - workP->unk14.y = -250 + (100 * (0.3f * i)); - workP->unk20.x = 1500 * ((0.007874016f * ((s32)frand() & 0x7F)) - 0.5f); - workP->unk20.z = 500 * ((0.007874016f * ((s32)frand() & 0x7F)) - 0.5f); - workP->unk20.y = workP->unk14.y; - Hu3DModelPosSet(workP->unk0, workP->unk14.x, workP->unk14.y, workP->unk14.z); - Hu3DModelRotSet(workP->unk0, 0, workP->unk10, 0); - } - object->func = fn_1_7B50; -} - -float fn_1_9A18(float start, float end, float weight); - -void fn_1_7B50(omObjData *object) -{ - Work7C48 *workP = object->data; - s32 i; - for (i = 0; i < 8; i++, workP++) { - float dx; - float dz; - float vel; - float angle; - if (workP->unk4 == 0) { - vel = 1 + (0.5 * sind((workP->unk8 * 5) % 180)); - } - else { - vel = 3; - } - // TODO replace with 60.0 / REFRESH_RATE -#if VERSION_PAL - workP->unk14.x += (1.2000000476837158 * (vel * (workP->unkC * sind(workP->unk10)))); - workP->unk14.z += (1.2000000476837158 * (vel * (workP->unkC * cosd(workP->unk10)))); -#else - workP->unk14.x += vel * (workP->unkC * sind(workP->unk10)); - workP->unk14.z += vel * (workP->unkC * cosd(workP->unk10)); -#endif - dx = workP->unk20.x - workP->unk14.x; - dz = workP->unk20.z - workP->unk14.z; - angle = atan2d(dx, dz); - workP->unk10 = fn_1_9A18(angle, workP->unk10, 3.5f); - if ((dx * dx) + (dz * dz) < 10000.0f) { - if (workP->unk4 == 0) { - workP->unk20.x = 2000 * ((0.007874016f * ((s32)frand() & 0x7F)) - 0.5f); - workP->unk20.z = 700 * ((0.007874016f * ((s32)frand() & 0x7F)) - 0.5f); - workP->unk20.y = workP->unk14.y; - } - else { - if (workP->unk14.x < 0.0f) { - workP->unk20.x = -2500; - } - else { - workP->unk20.x = 2500; - } - workP->unk20.z = 500 * ((0.007874016f * ((s32)frand() & 0x7F)) - 0.5f); - workP->unk20.y = workP->unk14.y; - } - } - Hu3DModelPosSet(workP->unk0, workP->unk14.x, workP->unk14.y, workP->unk14.z); - Hu3DModelRotSet(workP->unk0, 0, workP->unk10, 0); - workP->unk8 += frand() & 0x3; - } -} - -void fn_1_7F74(omObjData *object) { } - -void fn_1_7F78(void) -{ - Work7C48 *workP = lbl_1_bss_A4->data; - s32 i; - for (i = 0; i < 8; i++, workP++) { - workP->unk4 = 1; - if (workP->unk14.x < 0.0f) { - workP->unk20.x = -2500; - } - else { - workP->unk20.x = 2500; - } - workP->unk20.z = 500 * ((0.007874016f * ((s32)frand() & 0x7F)) - 0.5f); - workP->unk20.y = workP->unk14.y; - } -} - -typedef struct work891C { - s16 unk0; - s16 unk2[2]; - s16 unk6; - Vec unk8; - Vec unk14; - float unk20; - float unk24; - float unk28; - float unk2C; - float unk30; - float unk34; - float unk38; - float unk3C; -} Work891C; - -void fn_1_8078(omObjData *object, Work891C *workP) -{ - s32 num = workP[0].unk6; - float ofsZ = -2000; - s32 i; - for (i = 0; i < num; i++, workP++) { - Mtx *modelMtx; - Mtx rotZ; - Hu3DModelPosSet(workP->unk0, workP->unk8.x, workP->unk8.y, workP->unk8.z + ofsZ); - modelMtx = &Hu3DData[workP->unk0].unk_F0; - MTXRotDeg(*modelMtx, 'Y', workP->unk28); - MTXRotDeg(rotZ, 'Z', workP->unk38); - MTXConcat(*modelMtx, rotZ, *modelMtx); - Hu3DModelAttrReset(workP->unk0, HU3D_ATTR_DISPOFF); - } -} - -float fn_1_8890(float start, float end, float weight); - -void fn_1_817C(omObjData *object) -{ - Work891C *workP = object->data; - s32 num = workP[0].unk6; - s32 i; - for (i = 0; i < num; i++, workP++) { - Vec diff; - s32 unk8 = 0; - VECSubtract(&workP->unk14, &workP->unk8, &diff); - workP->unk2C = atan2d(diff.x, diff.z); - workP->unk28 = fn_1_8890(workP->unk28, workP->unk2C + workP->unk3C, 0.08f); - workP->unk24 += 0.05f * (600.0f - workP->unk24); - workP->unk20 += 0.2f * (workP->unk24 - workP->unk20); - workP->unk8.x += (workP->unk20 * (1.0f / REFRESH_RATE)) * sind(workP->unk28); - workP->unk8.z += (workP->unk20 * (1.0f / REFRESH_RATE)) * cosd(workP->unk28); - workP->unk30 += workP->unk20 * (1.0f / REFRESH_RATE); - } - fn_1_8078(object, object->data); -} - -void fn_1_841C(omObjData *object) -{ - s16 num = 12; - Work891C *workBase; - s32 modelId; - Work891C *work; - float radius; - float angle; - float ofsZ; - s32 i; - object->data = workBase = HuMemDirectMallocNum(HEAP_SYSTEM, num * sizeof(Work891C), MEMORY_DEFAULT_NUM); - memset(workBase, 0, num * sizeof(Work891C)); - modelId = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M456, 8)); - ofsZ = 1500; - work = workBase; - for (i = 0; i < num; i++, work++) { - - work->unk0 = Hu3DModelLink(modelId); - Hu3DModelLayerSet(work->unk0, 6); - Hu3DModelCameraSet(work->unk0, 1); - Hu3DModelScaleSet(work->unk0, 7, 7, 7); - work->unk14.x = ((s32)frandmod(1000) * 4.0f) - 2000; - work->unk14.z = ((s32)frandmod(1000)) - 500.0f; - work->unk14.y = ((s32)frandmod(1000) * 0.8f) + 300; - angle = (s32)frandmod(360); - radius = ((s32)frandmod(250)) + 200.0f; - work->unk8.x = radius * sind(angle); - work->unk8.y = 0; - work->unk8.z = radius * cosd(angle); - VECAdd(&work->unk14, &work->unk8, &work->unk8); - work->unk38 = 60 - ((6.0f / 55.0f) * radius); - work->unk28 = (s32)frandmod(360); - - work->unk3C = ((s32)frandmod(1000) < 500) ? (-70.0f + ((s32)frandmod(50) * 0.1f)) : (70.0f - ((s32)frandmod(50) * 0.1f)); - if (work->unk3C < 0.0f) { - work->unk38 = -work->unk38; - } - work->unk30 = 1; - work->unk34 = 0; - ofsZ -= 50.0f; - work->unk6 = num; - } - Hu3DModelKill(modelId); - object->func = fn_1_817C; -} - -float fn_1_8890(float start, float end, float weight) -{ - float angle = fmodf(end - start, 360); - if (angle < 0.0f) { - angle += 360.0f; - } - if (angle > 180.0f) { - angle -= 360.0f; - } - angle = fmodf(start + (weight * angle), 360); - if (angle < 0.0f) { - angle += 360.0f; - } - return angle; -} - -void fn_1_8CB8(ModelData *model, ParticleData *particle, Mtx matrix); - -void fn_1_89AC(void) -{ - StructBss90 *workP = lbl_1_bss_90 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(StructBss90), MEMORY_DEFAULT_NUM); - ParticleData *particle; - ModelData *modelP; - s16 *newWork; - s32 modelId; - memset(workP, 0, sizeof(StructBss90)); - workP->unk0[0] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M456, 13), MEMORY_DEFAULT_NUM)); - workP->unk0[1] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M456, 14), MEMORY_DEFAULT_NUM)); - workP->unk0[2] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M456, 15), MEMORY_DEFAULT_NUM)); - workP->unk0[3] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M456, 16), MEMORY_DEFAULT_NUM)); - workP->unk20.y = 1; - workP->unk20.z = 0; - workP->unk10[0] = modelId = Hu3DParticleCreate(workP->unk0[0], 1); - Hu3DModelLayerSet(modelId, 6); - modelP = &Hu3DData[modelId]; - particle = modelP->unk_120; - particle->unk_2C = 1; - particle->unk_54 = fn_1_8CB8; - newWork = particle->unk_1C = HuMemDirectMallocNum(HEAP_DATA, sizeof(s16) * 4, modelP->unk_48); - memset(newWork, 0, 4 * sizeof(s16)); - newWork[1] = 0; - workP->unk10[1] = modelId = Hu3DParticleCreate(workP->unk0[3], 10); - Hu3DModelLayerSet(modelId, 6); - modelP = &Hu3DData[modelId]; - particle = modelP->unk_120; - particle->unk_2C = 1; - particle->unk_54 = fn_1_8CB8; - newWork = particle->unk_1C = HuMemDirectMallocNum(HEAP_DATA, sizeof(s16) * 4, modelP->unk_48); - memset(newWork, 0, 4 * sizeof(s16)); - newWork[1] = 1; - workP->unk10[2] = modelId = Hu3DParticleCreate(workP->unk0[2], 4); - Hu3DModelLayerSet(modelId, 6); - modelP = &Hu3DData[modelId]; - particle = modelP->unk_120; - particle->unk_2C = 1; - particle->unk_54 = fn_1_8CB8; - newWork = particle->unk_1C = HuMemDirectMallocNum(HEAP_DATA, sizeof(s16) * 4, modelP->unk_48); - memset(newWork, 0, 4 * sizeof(s16)); - newWork[1] = 2; - workP->unk10[3] = modelId = Hu3DParticleCreate(workP->unk0[1], 6); - Hu3DModelLayerSet(modelId, 6); - modelP = &Hu3DData[modelId]; - particle = modelP->unk_120; - particle->unk_2C = 1; - particle->unk_54 = fn_1_8CB8; - newWork = particle->unk_1C = HuMemDirectMallocNum(HEAP_DATA, sizeof(s16) * 4, modelP->unk_48); - memset(newWork, 0, 4 * sizeof(s16)); - newWork[1] = 3; -} - -void fn_1_8C68(void) -{ - StructBss90 *workP = lbl_1_bss_90; - HuSprAnimKill(workP->unk0[0]); - HuSprAnimKill(workP->unk0[1]); - HuSprAnimKill(workP->unk0[2]); - HuSprAnimKill(workP->unk0[3]); -} - -float lbl_1_data_7B0[4] = { 1000, 200, 600, 1200 }; - -float lbl_1_data_7C0[4] = { 1, 0.6, 0.3, 0.425 }; - -void fn_1_8CB8(ModelData *model, ParticleData *particle, Mtx matrix) -{ - s16 unk8 = 0; - StructBss90 *workP = lbl_1_bss_90; - s16 *newWorkP = particle->unk_1C; - s32 unk14 = 0; - Vec pos = Center; - Vec rot = CRot; - float temp_f26; - float temp_f25; - float zoom = CZoom; - HsfanimStruct01 *temp_r31; - Vec sp3C; - Vec sp30; - Vec sp24; - Vec sp18; - float temp_f29; - float temp_f23; - s32 i; - switch (newWorkP[2]) { - case 0: - temp_r31 = particle->unk_48; - if (newWorkP[1]) { - sp18.x = 2000; - sp18.y = -300; - sp18.z = 500; - temp_f29 = 1 / VECMagPoint(sp18.x, sp18.y, sp18.z); - sp18.x *= temp_f29; - sp18.y *= temp_f29; - sp18.z *= temp_f29; - temp_f23 = 3200.0f / particle->unk_30; - for (i = 0; i < particle->unk_30; i++, temp_r31++) { - temp_f26 = 500.0 + ((temp_f23 * i) + ((0.25f * temp_f23) * ((float)((s32)frand() & 0xFFFF) * 0.0000152587890625))); - temp_f25 = temp_f26 / 3200; - temp_r31->unk14.x = temp_f26; - temp_r31->unk34.x = 1000 + (temp_f26 * sp18.x); - temp_r31->unk34.y = 4800 + (temp_f26 * sp18.y); - temp_r31->unk34.z = -3500 + (temp_f26 * sp18.z); - temp_r31->unk2C = ((0.7f * (temp_f25 * temp_f25)) + 0.3f) - * (lbl_1_data_7B0[newWorkP[1]] * (0.7f + (0.3f * ((float)((s32)frand() & 0xFFFF) * 0.0000152587890625)))); - temp_r31->unk40.r = (s32)(((float)((s32)frand() & 0xFFFF) * 0.0000152587890625) * 160.0) + 32; - temp_r31->unk40.g = (s32)(((float)((s32)frand() & 0xFFFF) * 0.0000152587890625) * 96.0) + 32; - temp_r31->unk40.b = (s32)(((float)((s32)frand() & 0xFFFF) * 0.0000152587890625) * 128.0) + 32; - temp_r31->unk40.a = (255 * lbl_1_data_7C0[newWorkP[1]] * (1.0 - (0.4 * temp_f25))) - - (s32)(((float)((s32)frand() & 0xFFFF) * 0.0000152587890625) * 16.0); - temp_r31->unk14.z = temp_r31->unk40.a; - } - newWorkP[2]++; - } - else { - temp_r31->unk34.x = 1000; - temp_r31->unk34.y = 4800; - temp_r31->unk34.z = -3500; - temp_r31->unk2C = 1000; - } - break; - - case 1: - sp3C.x = sind(rot.y) * cosd(rot.x); - sp3C.y = -sind(rot.x); - sp3C.z = cosd(rot.y) * cosd(rot.x); - sp30.x = 1000 - (pos.x + (1.25f * (sp3C.x * zoom))); - sp30.y = 4800 - (pos.y + (sp3C.y * zoom)); - sp30.z = -3500 - (pos.z + (1.25f * (sp3C.z * zoom))); - temp_f29 = 1 / VECMagPoint(sp30.x, sp30.y, sp30.z); - sp30.x *= temp_f29; - sp30.y *= temp_f29; - sp30.z *= temp_f29; - temp_f29 = -((-sp30.x * -sp3C.x) + (-sp30.y * -sp3C.y) + (-sp30.z * -sp3C.z)); - sp24.x = -sp3C.x + ((-2.0f * sp30.x) * temp_f29); - sp24.y = -sp3C.y + ((-2.0f * sp30.y) * temp_f29); - sp24.z = -sp3C.z + ((-2.0f * sp30.z) * temp_f29); - temp_r31 = particle->unk_48; - for (i = 0; i < particle->unk_30; i++, temp_r31++) { - temp_r31->unk34.x = 1000 + (sp24.x * temp_r31->unk14.x); - temp_r31->unk34.y = 4800 + (sp24.y * temp_r31->unk14.x); - temp_r31->unk34.z = -3500 + (sp24.z * temp_r31->unk14.x); - temp_r31->unk40.a = temp_r31->unk14.z * workP->unk20.y; - } - break; - } - DCFlushRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); -} - -void fn_1_97FC(float arg0) -{ - StructBss90 *workP = lbl_1_bss_90; - workP->unk20.y = arg0; - if (workP->unk20.y > 1.0f) { - workP->unk20.y = 1.0f; - } - if (workP->unk20.y <= 0.0f) { - Hu3DModelAttrSet(workP->unk10[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(workP->unk10[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(workP->unk10[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(workP->unk10[3], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrReset(workP->unk10[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(workP->unk10[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(workP->unk10[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(workP->unk10[3], HU3D_ATTR_DISPOFF); - } -} - -float fn_1_9900(float start, float end) -{ - float angleDiff; - if (start >= 360.0f) { - start -= 360.0f; - } - else if (start < 0.0f) { - start += 360.0f; - } - if (end >= 360.0f) { - end -= 360.0f; - } - else if (end < 0.0f) { - end += 360.0f; - } - angleDiff = start - end; - if (angleDiff <= -180.0f) { - angleDiff += 360.0f; - } - else if (angleDiff >= 180.0f) { - angleDiff -= 360.0f; - } - return angleDiff; -} - -float fn_1_9A18(float start, float end, float max) -{ - float angle; - float diff; - - if (start >= 360.0) { - start -= 360.0; - } - else if (start < 0.0) { - start += 360.0; - } - if (end >= 360.0) { - end -= 360.0; - } - else if (end < 0.0) { - end += 360.0; - } - diff = 360.0 + (start - end); - if (fabs(diff) >= 360.0) { - diff = fmod(diff, 360.0); - } - if (diff < 180.0) { - if (diff <= max) { - angle = diff; - } - else { - angle = max; - } - } - else if (360.0 - diff <= max) { - angle = -(360.0 - diff); - } - else { - angle = -max; - } - angle += end; - if (angle >= 360.0) { - angle -= 360.0; - } - else if (angle < 0.0) { - angle += 360.0; - } - - return angle; -} diff --git a/src/REL/m457Dll/main.c b/src/REL/m457Dll/main.c deleted file mode 100755 index 4e570c51..00000000 --- a/src/REL/m457Dll/main.c +++ /dev/null @@ -1,1691 +0,0 @@ -#include "dolphin/pad.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/esprite.h" -#include "game/gamework_data.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/process.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" -#include "string.h" - -#include "ext_math.h" -#include "version.h" - -s32 rand8(void); - -#define MSM_SE_BOWSER_LAUGH 0x3A -#define MSM_SE_BOWSER_HOWL 0x3E -#define MSM_SE_KOOPA_KID_DROP 0x5B -#define MSM_SE_PLAYER_DROP 0x33D -#define MSM_SE_WIND 0x6D7 -#define MSM_SE_INVINCIBILITY 0x7E6 - -#define MSM_MUS_BACKGROUND 0x4D - -#define MODEL_ID_PLAYER_PLAYER 0 - -#define MODEL_ID_GAME_SKY 0 -#define MODEL_ID_GAME_RING 1 -#define MODEL_ID_GAME_MUSHROOM 2 -#define MODEL_ID_GAME_INVINCE_SHINING 3 -#define MODEL_ID_GAME_INVINCE_SPARKS 4 -#define MODEL_ID_GAME_KOOPA_KID 5 -#define MODEL_ID_GAME_WAR_FAN 6 - -#define CHARACTER_BOWSER -1 -#define PAD_IDX_COM -1 - -#define PLAYER_STATE_INITIAL_ADVANCE 2 // TODO is this right? -#define PLAYER_STATE_FALLING 16 - -#define PREV_TRIG_L 0 -#define PREV_TRIG_R 1 - -typedef struct PlayerData { - /* 0x00 */ s32 group; - /* 0x04 */ s32 player; - /* 0x08 */ s32 character; - /* 0x0C */ s32 padIdx; - /* 0x10 */ s32 diff; - /* 0x14 */ s32 state; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 invinceTime; - /* 0x20 */ s32 unk20; - /* 0x24 */ s32 unk24; - /* 0x28 */ s32 unk28; - /* 0x2C */ s32 unk2C; - /* 0x30 */ s32 stamina; - /* 0x34 */ s32 unk34; - /* 0x38 */ s32 prevTrig; - /* 0x3C */ s32 unk3C; - /* 0x40 */ s32 unk40; - /* 0x44 */ s32 unk44; - /* 0x48 */ float unk48; - /* 0x4C */ s32 unk4C; -} PlayerData; // Size 0x50 - -typedef struct StructBss78 { - /* 0x00 */ s32 unk00; - /* 0x04 */ float unk04[3]; -} StructBss78; // Size 0x10 - -typedef struct StructData28C { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ float unk08; - /* 0x0C */ float unk0C; - /* 0x10 */ float unk10; - /* 0x14 */ float unk14; -} StructData28C; // Size 0x18 - -typedef struct SparkData { - /* 0x00 */ float scale; - /* 0x04 */ float xOffset; - /* 0x08 */ float yOffset; -} SparkData; // Size 0x0C - -static void M457Exit(omObjData *object); - -static StructBss78 lbl_1_bss_78[5]; -static omObjData *mainObj; -static omObjData *omViewObj; -static omObjData *playerObj[2]; -static omObjData *gameObj; -static s32 lbl_1_bss_60; -static s32 gameState; -static char lbl_1_bss_58[4]; // unused -static s32 lbl_1_bss_54; -static s32 lbl_1_bss_50; -static Process *objman; -static s32 lightId; -static s32 lbl_1_bss_44; -static s32 lbl_1_bss_40; -static s32 lbl_1_bss_3C; -static char lbl_1_bss_38[4]; // unused -static float lbl_1_bss_34; -static float lbl_1_bss_30; -static float lbl_1_bss_2C; -static float lbl_1_bss_28; -static s32 lbl_1_bss_24; -static s32 lbl_1_bss_20; -static s32 lbl_1_bss_1C; -static s32 lbl_1_bss_18; -static BOOL againstBrowserF; -static s32 m457MesEndF; -static char lbl_1_bss_8[8]; // unused -static s32 lbl_1_bss_4; -static char lbl_1_bss_0[4]; // unused - -s32 sprDataNumTbl[] = { DATA_MAKE_NUM(DATADIR_M457, 23), DATA_MAKE_NUM(DATADIR_M457, 22), DATA_MAKE_NUM(DATADIR_M457, 24), - DATA_MAKE_NUM(DATADIR_M457, 24), DATA_MAKE_NUM(DATADIR_M457, 24), DATA_MAKE_NUM(DATADIR_M457, 24), DATA_MAKE_NUM(DATADIR_M457, 24), - DATA_MAKE_NUM(DATADIR_MGCONST, 0), DATA_MAKE_NUM(DATADIR_M457, 23), DATA_MAKE_NUM(DATADIR_M457, 22), DATA_MAKE_NUM(DATADIR_M457, 24), - DATA_MAKE_NUM(DATADIR_M457, 24), DATA_MAKE_NUM(DATADIR_M457, 24), DATA_MAKE_NUM(DATADIR_M457, 24), DATA_MAKE_NUM(DATADIR_M457, 24), - DATA_MAKE_NUM(DATADIR_MGCONST, 0), DATA_MAKE_NUM(DATADIR_M457, 27), DATA_MAKE_NUM(DATADIR_M457, 28), DATA_MAKE_NUM(DATADIR_M457, 25), - DATA_MAKE_NUM(DATADIR_M457, 25), DATA_MAKE_NUM(DATADIR_M457, 25), DATA_MAKE_NUM(DATADIR_M457, 25), DATA_MAKE_NUM(DATADIR_M457, 25) }; - -s32 sprIdTbl[23] = { 0 }; - -s32 lbl_1_data_B8[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), DATA_MAKE_NUM(DATADIR_MARIOMOT, 5), DATA_MAKE_NUM(DATADIR_MARIOMOT, 6), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 112), DATA_MAKE_NUM(DATADIR_MARIOMOT, 111), DATA_MAKE_NUM(DATADIR_M457, 8), DATA_MAKE_NUM(DATADIR_M457, 0), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 12), DATA_MAKE_NUM(DATADIR_MARIOMOT, 13), DATA_MAKE_NUM(DATADIR_MARIOMOT, 21), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 23), DATA_MAKE_NUM(DATADIR_MARIOMOT, 24) }; - -u32 lbl_1_data_E8[] = { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 }; - -u32 lbl_1_data_118[] = { DATA_MAKE_NUM(DATADIR_BKOOPA, 8), DATA_MAKE_NUM(DATADIR_BKOOPA, 10), 0, DATA_MAKE_NUM(DATADIR_M457, 31), - DATA_MAKE_NUM(DATADIR_M457, 32), DATA_MAKE_NUM(DATADIR_M457, 33), DATA_MAKE_NUM(DATADIR_M457, 34), DATA_MAKE_NUM(DATADIR_M457, 35), - DATA_MAKE_NUM(DATADIR_M457, 36), DATA_MAKE_NUM(DATADIR_M457, 37), DATA_MAKE_NUM(DATADIR_M457, 29), DATA_MAKE_NUM(DATADIR_M457, 30) }; - -u8 lbl_1_data_148[12] = { 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1 }; -s32 lbl_1_data_154[12] = { 8, 0, 0, 8, 5, 8, 4, 2, 2, 8, 8, 8 }; -s32 lbl_1_data_184[12] = { 0 }; - -float lbl_1_data_1B4[9][3] = { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 20.0f, 60.0f, 20.0f }, { 20.0f, 70.0f, 20.0f }, { 20.0f, 20.0f, 20.0f }, - { 50.0f, -70.0f, 0.0f }, { 20.0f, 60.0f, 20.0f }, { 100.0f, 0.0f, 50.0f }, { -70.0f, -70.0f, -70.0f } }; - -SparkData sparkDataTbl[9] = { { 1.5f, 45.0f, 270.0f }, { 1.7f, 45.0f, 270.0f }, { 1.8f, 45.0f, 270.0f }, { 1.6f, 45.0f, 270.0f }, - { 1.7f, 5.0f, 270.0f }, { 2.0f, -85.0f, 295.0f }, { 1.8f, 45.0f, 270.0f }, { 2.0f, 40.0f, 330.0f }, { 2.25f, -30.0f, 300.0f } }; - -StructData28C lbl_1_data_28C = { 0 }; - -s16 lbl_1_data_2A4 = -1; -s16 lbl_1_data_2A6 = -1; -s32 backgroundMusNo = -1; -s32 windSeNo = -1; -s16 lbl_1_data_2B0 = -1; -s32 invincibilitySeNo = -1; -s32 lbl_1_data_2B8 = 10 * REFRESH_RATE; - -static void CameraPrintDebug(void) -{ - Center.x += 10.0 * (((HuPadBtn[0] & PAD_BUTTON_RIGHT) != 0) - ((HuPadBtn[0] & PAD_BUTTON_LEFT) != 0)); - Center.z -= 10.0 * (((HuPadBtn[0] & PAD_BUTTON_UP) != 0) - ((HuPadBtn[0] & PAD_BUTTON_DOWN) != 0)); - Center.y += 10.0 * (((HuPadBtn[0] & PAD_BUTTON_Y) != 0) - ((HuPadBtn[0] & PAD_BUTTON_X) != 0)); - CZoom += 25.0 * (((HuPadBtn[0] & PAD_BUTTON_X) != 0) - ((HuPadBtn[0] & PAD_BUTTON_Y) != 0)); - CRot.y += HuPadSubStkX[0] / 16.0; - CRot.x += HuPadSubStkY[0] / -16.0; - print8(64, 392, 1.0f, "%f,%f,%f", Center.x, Center.y, Center.z); - print8(64, 408, 1.0f, "%f,%f,%f", CRot.x, CRot.y, CRot.z); - print8(64, 424, 1.0f, "%f", CZoom); -} - -static void M457PlayerExec(omObjData *object) -{ - PlayerData *playerData = object->data; - PlayerData *opponentData = playerObj[1 - object->work[0]]->data; - float unused = 0.0f; - float unused2 = 0.0f; - float unused3 = 0.0f; - s32 unused4 = 0; - s16 var_r29 = -1; - s16 var_r26 = -1; - s16 var_r22 = -1; - BOOL aPressedF = (playerData->padIdx == PAD_IDX_COM) ? 0 : ((HuPadBtnDown[playerData->padIdx] & PAD_BUTTON_A) > 0); - BOOL rPressedF = (playerData->padIdx == PAD_IDX_COM) ? 0 : ((HuPadBtnDown[playerData->padIdx] & PAD_TRIGGER_R) > 0); - BOOL lPressedF = (playerData->padIdx == PAD_IDX_COM) ? 0 : ((HuPadBtnDown[playerData->padIdx] & PAD_TRIGGER_L) > 0); - s32 i; - - if (playerData->padIdx == PAD_IDX_COM) { - playerData->unk3C--; - if (playerData->unk3C <= 0) { - if (playerData->state == 1) { - aPressedF = TRUE; - } - else { - rPressedF = lPressedF = TRUE; - } - if (playerData->state >= 8 || (playerData->state >= 3 && playerData->unk18 >= 10)) { - switch (playerData->diff) { - case 0: - playerData->unk3C = rand8() % 14 + 4 + (playerData->state != 8 ? 28 - playerData->unk18 : 0); - break; - case 1: - playerData->unk3C = rand8() % 9 + 4 + (playerData->state != 8 ? 28 - playerData->unk18 : 0); - break; - case 2: - playerData->unk3C = rand8() % 10 + 12 - + ((playerData->state != 8 && playerData->unk18 >= 9 && playerData->unk18 <= 13) ? 13 - playerData->unk18 : 0); - break; - case 3: - playerData->unk3C = rand8() % 5 + 4 - + ((playerData->state != 8 && playerData->unk18 >= 2 && playerData->unk18 <= 17) ? 17 - playerData->unk18 : 0); - if (opponentData->invinceTime > 0 || playerData->state == 7) { - // don't waste stamina - lPressedF = rPressedF = 0; - } - break; - } - } - } - } - if (playerData->prevTrig == PREV_TRIG_L) { - lPressedF = FALSE; - } - if (playerData->prevTrig == PREV_TRIG_R) { - rPressedF = FALSE; - } - if (playerData->unk20 > 0) { - aPressedF = FALSE; - playerData->unk20--; - } - else if (aPressedF) { - playerData->unk20 = 20; - } - if (playerData->unk24 > 0) { - lPressedF = FALSE; - playerData->unk24--; - } - else if (lPressedF) { - playerData->unk24 = 6; - } - if (playerData->unk28 > 0) { - rPressedF = FALSE; - playerData->unk28--; - } - else if (rPressedF) { - playerData->unk28 = 6; - } - if (gameState == 1008 && playerData->state >= 8 && playerData->state <= 14) { - s32 prevStamina = playerData->stamina; - if (lPressedF) { - playerData->stamina -= 7; - } - if (rPressedF) { - playerData->stamina -= 7; - } - if (prevStamina > 0 && playerData->stamina <= 0) { - // cap at -1 - playerData->stamina = -1; - playerData->unk4C = 1; - } - } - if (lbl_1_bss_20 == 0 && gameState == 1008 && playerData->state >= 7 && playerData->state <= 14 && (lPressedF || rPressedF)) { - playerData->prevTrig = lPressedF ? PREV_TRIG_L : rPressedF ? PREV_TRIG_R : PREV_TRIG_L; - } - if (playerData->group == 0) { - playerObj[0]->trans.x -= playerData->unk48; - playerObj[1]->trans.x -= opponentData->unk48; - } - switch (gameState) { - case 1001: - if (lbl_1_bss_60 == 0) { - Hu3DModelAttrReset(object->model[MODEL_ID_PLAYER_PLAYER], HU3D_ATTR_DISPOFF); - } - if (lbl_1_bss_60 <= 30) { - if (playerData->character == CHARACTER_BOWSER) { - Hu3DMotionTimeSet(object->model[MODEL_ID_PLAYER_PLAYER], 138.0f); - } - object->trans.y = 2400.0 * (1.0 - lbl_1_bss_60 / 30.0); - } - if (playerData->character != CHARACTER_BOWSER && lbl_1_bss_60 == 30) { - var_r29 = 2; - } - if (lbl_1_bss_60 == 40 && playerData->character != CHARACTER_BOWSER) { - var_r29 = 0; - } - if (lbl_1_bss_60 == 45 && playerData->character == CHARACTER_BOWSER) { - var_r29 = 0; - Hu3DMotionShiftSet(object->model[MODEL_ID_PLAYER_PLAYER], object->motion[var_r29], lbl_1_data_184[var_r29], 35.0f, HU3D_MOTATTR_LOOP); - playerData->unk40 = var_r29; - } - if (lbl_1_bss_60 == 30) { - lbl_1_data_28C.unk04 += 50; - } - if (lbl_1_bss_60 == 30) { - HuAudFXPlay(MSM_SE_PLAYER_DROP); - } - break; - case 1005: - if (lbl_1_bss_60 == 0) { - var_r29 = 3; - } - if (lbl_1_bss_60 == (s32)((21.0f / 18) * REFRESH_RATE)) { - var_r29 = 4; - } - break; - case 1006: - if (lbl_1_bss_60 == 5) { - var_r29 = 5; - } - break; - case 1010: - if (lbl_1_bss_44 == playerData->group && lbl_1_bss_60 >= 15) { - if (lbl_1_bss_60 == 15) { - playerData->state = 0; - playerData->unk18 = 0; - if (playerData->character == CHARACTER_BOWSER) { - HuAudFXPlay(MSM_SE_BOWSER_LAUGH); - } - } - var_r29 = 10; - if (object->rot.y > 180.0f) { - object->rot.y -= 360.0f; - } - object->rot.y *= 0.9; - } - if (lbl_1_bss_44 == 2 && lbl_1_bss_60 >= 15) { - if (lbl_1_bss_60 == 15) { - playerData->state = 0; - playerData->unk18 = 0; - } - var_r29 = 11; - if (object->rot.y > 180.0f) { - object->rot.y -= 360.0f; - } - object->rot.y *= 0.9; - } - break; - } - playerData->unk18 += (playerData->unk18 < 0x10000); - if (playerData->state == 3 || playerData->state == 5) { - if (playerData->unk18 == 1 && lbl_1_data_2B0 != -1) { - HuWinExCleanup(lbl_1_data_2B0); - lbl_1_data_2B0 = -1; - } - if ((playerData->state == 3 && playerData->unk18 == 23) || (playerData->state == 5 && playerData->unk18 == 15)) { - float spFC[2]; - HuWinMesMaxSizeGet(1, spFC, MAKE_MESSID(48, 35)); - if (lbl_1_data_2B0 == -1) { - lbl_1_data_2B0 = HuWinCreate(-10000.0f, 400.0f, spFC[0], spFC[1], 1); - } - HuWinBGTPLvlSet(lbl_1_data_2B0, 0.0f); - HuWinMesSpeedSet(lbl_1_data_2B0, 0); - HuWinMesSet(lbl_1_data_2B0, MAKE_MESSID(48, 35)); - } - } - switch (playerData->state) { - case 0: - if (gameState == 1008) { - playerData->state = 1; - playerData->unk18 = 0; - } - break; - case 1: - if (playerData->unk18 == 1 && playerData->padIdx == PAD_IDX_COM) { - switch (playerData->diff) { - case 0: - playerData->unk3C = rand8() % 5 + 15; - break; - case 1: - playerData->unk3C = rand8() % 5 + 12; - break; - case 2: - playerData->unk3C = rand8() % 5 + 10; - break; - case 3: - playerData->unk3C = rand8() % 4 + 9; - break; - } - } - // initial advance - if (aPressedF) { - playerData->state = PLAYER_STATE_INITIAL_ADVANCE; - playerData->unk18 = 0; - var_r29 = 6; - object->trans.x += (playerData->group == 0) ? ((rand8() % 2) * 2 - 1) : 0; - } - break; - case PLAYER_STATE_INITIAL_ADVANCE: - object->trans.x += 8.695652f * (playerData->group == 0 ? 1 : -1); - break; - case 3: - object->trans.x += 4.347826f * (playerData->group == 0 ? 1 : -1); - if (playerData->unk18 >= 23) { - playerData->state = 8; - playerData->unk18 = 0; - var_r29 = 4; - } - break; - case 4: - if (playerData->unk18 == 1) { - var_r29 = 7; - } - object->trans.x += -4.347826f * (playerData->group == 0 ? 1 : -1); - if (playerData->unk18 >= 23) { - playerData->state = 8; - playerData->unk18 = 0; - var_r29 = 4; - } - break; - case 5: - object->trans.x += 8.695652f * (playerData->group == 0 ? 1 : -1); - if (playerData->unk18 >= 15) { - playerData->state = 8; - playerData->unk18 = 0; - var_r29 = 4; - } - break; - case 6: - if (playerData->unk18 == 1) { - var_r29 = 8; - } - object->trans.x += -8.695652f * (playerData->group == 0 ? 1 : -1); - if (playerData->unk18 >= 7) { - playerData->state = 8; - playerData->unk18 = 0; - var_r26 = 7; - var_r29 = 4; - } - if (playerData->unk18 >= 15) { - playerData->state = 8; - playerData->unk18 = 0; - } - break; - case 8: - if (playerData->stamina == 0) { - var_r26 = 0; - playerData->state = 7; - playerData->unk18 = 1; - playerData->unk34 = 0; - } - else { - if (!lPressedF && !rPressedF) { - break; - } - playerData->state = 9; - playerData->unk18 = 0; - var_r26 = 3; - var_r22 = (playerData->prevTrig == PREV_TRIG_L ? 0 : 11) + 5; - var_r29 = 6; - if (lbl_1_bss_20 == 1) { - playerData->prevTrig = lPressedF ? PREV_TRIG_L : rPressedF ? PREV_TRIG_R : PREV_TRIG_L; - } - break; - } - /* fallthrough */ - case 7: - if (playerData->unk18 == 1) { - s32 noStaminaSeIdTbl[] = { 0x12A, 0x16A, 0x1AA, 0x1EA, 0x22A, 0x26A, 0x2AA, 0x2EA, 0x03B }; - HuAudFXPlay(noStaminaSeIdTbl[playerData->character == CHARACTER_BOWSER ? 8 : playerData->character]); - var_r29 = 9; - playerData->unk4C = 0; - } - if (playerData->stamina > 0) { - playerData->state = 8; - playerData->unk18 = 0; - var_r29 = 4; - } - break; - case 9: - object->trans.x += 8.695652f * (playerData->group == 0 ? 1 : -1); - if (playerData->unk18 >= 23) { - playerData->state = 8; - playerData->unk18 = 0; - var_r29 = 4; - } - break; - case 12: - if (playerData->unk18 == 7) { - var_r26 = 0; - var_r22 = 7; - var_r29 = 7; - } - if (playerData->unk18 == 15) { - var_r26 = 5; - var_r29 = 4; - } - if (playerData->unk18 >= 20) { - playerData->state = 8; - playerData->unk18 = 0; - var_r29 = 4; - } - break; - case 10: - object->trans.x += 4.347826f * (playerData->group == 0 ? 1 : -1); - if (playerData->unk18 >= 23) { - playerData->state = 8; - playerData->unk18 = 0; - var_r29 = 4; - } - break; - case 11: - object->trans.x += -4.347826f * (playerData->group == 0 ? 1 : -1); - if (playerData->unk18 == 1) { - var_r29 = 7; - } - if (playerData->unk18 >= 23) { - playerData->state = 8; - playerData->unk18 = 0; - var_r29 = 4; - } - break; - case 13: - object->trans.x += 8.695652f * (playerData->group == 0 ? 1 : -1); - if (playerData->unk18 >= 23) { - playerData->state = 8; - playerData->unk18 = 0; - var_r29 = 4; - } - break; - case 14: - object->trans.x += -8.695652f * (playerData->group == 0 ? 1 : -1); - if (playerData->unk18 == 1) { - var_r29 = 8; - } - if (playerData->unk18 == 11) { - var_r26 = 11; - var_r29 = 4; - } - if (playerData->unk18 >= 23) { - playerData->state = 8; - playerData->unk18 = 0; - } - if (playerData->unk34 < 8) { - playerData->unk34 = 8; - } - break; - case 15: - if (playerData->unk18 == 1 && playerData->invinceTime > 4) { - playerData->invinceTime = 4; - } - if (playerData->unk18 == 1 && lbl_1_data_2B0 != -1) { - HuWinExCleanup(lbl_1_data_2B0); - lbl_1_data_2B0 = -1; - } - if (playerData->unk18 == 7) { - var_r29 = 4; - var_r26 = 20; - } - if (playerData->unk18 == REFRESH_RATE) { - lbl_1_bss_44 = playerData->group; - playerData->invinceTime = 0; - } - break; - case PLAYER_STATE_FALLING: - // make the player fall down in the correct direction - object->trans.x += -39.130432f * (playerData->group == 0 ? 1 : -1); - object->trans.y += 39.130432f; - if (playerData->unk18 == 1) { - s32 fallSeIdTbl[] = { 0x123, 0x163, 0x1A3, 0x1E3, 0x223, 0x263, 0x2A3, 0x2E3, 0x03C }; - HuAudFXPlay(fallSeIdTbl[playerData->character == CHARACTER_BOWSER ? 8 : playerData->character]); - var_r29 = 8; - var_r26 = 0; - var_r22 = 6; - } - object->rot.z = (playerData->group == 0) ? -20 : 20; - break; - case 17: - if (playerData->unk18 == 1 && playerData->invinceTime > 4) { - playerData->invinceTime = 4; - } - if (playerData->unk18 == 1 && lbl_1_data_2B0 != -1) { - HuWinExCleanup(lbl_1_data_2B0); - lbl_1_data_2B0 = -1; - } - if (playerData->unk18 == 7) { - var_r29 = 0; - var_r26 = 10; - } - if (playerData->unk18 >= 7 && playerData->unk18 < 17) { - object->trans.x += (playerData->group == 0 ? -1 : 1) * 2; - } - if (playerData->unk18 == REFRESH_RATE) { - lbl_1_bss_44 = 2; - playerData->invinceTime = 0; - } - break; - } - switch (playerData->state) { - case 12: - if (playerData->group == 0) { - break; - } - /* fallthrough */ - case 3: - case 5: - case 10: - case 13: { - Vec sp104; - s32 temp_r21; - char *var_r18; - - s32 temp_r19 = Hu3DMotionTimeGet(object->model[MODEL_ID_PLAYER_PLAYER]); - if ((opponentData->state != 4 && opponentData->state != 6) || opponentData->unk18 != 1) { - if ((temp_r19 + 1) % 11 != 0 || (playerData->state == 12 && temp_r19 + 1 > 11)) { - break; - } - } - temp_r21 = ((temp_r19 + 1) / 11 - 1) % 2; - { - char sp1D8[][50] = { "g000mN-itemhook_R", "g000mN-itemhook_L" }; - - if (playerData->character != CHARACTER_BOWSER) { - var_r18 = CharModelHookNameGet(playerData->character, 1, (temp_r21 % 2 == 0) ? 0 : 1); - } - else { - var_r18 = (temp_r21 % 2 == 0) ? sp1D8[0] : sp1D8[1]; - } - } - Hu3DModelObjPosGet(object->model[MODEL_ID_PLAYER_PLAYER], var_r18, &sp104); - Hu3DModelPosSet(gameObj->model[temp_r21 + 7], sp104.x + (playerData->group == 0 ? 1 : -1) * 50, sp104.y, 75.0f + sp104.z); - Hu3DMotionTimeSet(gameObj->model[temp_r21 + 7], 2.0f); - Hu3DModelAttrReset(gameObj->model[temp_r21 + 7], 1); - if (lbl_1_bss_78[playerData->character == CHARACTER_BOWSER ? 1 : 0].unk00 < 3) { - lbl_1_bss_78[playerData->character == CHARACTER_BOWSER ? 1 : 0] - .unk04[lbl_1_bss_78[playerData->character == CHARACTER_BOWSER ? 1 : 0].unk00] - = 0.0f; - lbl_1_bss_78[playerData->character == CHARACTER_BOWSER ? 1 : 0].unk00++; - } - // bounds check - if (fabs(playerObj[1 - playerData->group]->trans.x) >= 800.0 && (opponentData->state == 11 || opponentData->state == 14)) { - playerData->state = 15; - opponentData->state = PLAYER_STATE_FALLING; - playerData->unk18 = opponentData->unk18 = 0; - if (lbl_1_bss_78[4].unk00 < 3) { - lbl_1_bss_78[4].unk04[lbl_1_bss_78[4].unk00] = 0.0f; - lbl_1_bss_78[4].unk00++; - } - if (backgroundMusNo != -1) { - HuAudSeqFadeOut(backgroundMusNo, 100); - backgroundMusNo = -1; - } - } - } break; - } - playerData->unk34++; - if (playerData->state != PLAYER_STATE_FALLING && playerData->state != 15 && playerData->state != 17 && gameState == 1008 - && playerData->unk34 >= 30 && (playerData->unk34 - 30) % 30 == 0) { - // regen stamina - playerData->stamina += (playerData->unk4C == 0 || playerData->state == 7) ? 10 : 0; - } - // apply invincibility to stamina and cap it - playerData->stamina = (playerData->invinceTime > 0 || playerData->stamina >= 100) ? 100 : (playerData->stamina < 0) ? 0 : playerData->stamina; - for (i = 0; i < 5; i++) { - float scale = (playerData->stamina >= i * 20 + 20) ? 1.0 : (playerData->stamina <= i * 20) ? 0.0 : (playerData->stamina - i * 20) / 20.0; - espScaleSet(sprIdTbl[i + (playerData->group == 0 ? 2 : 10)], scale, scale); - if (playerData->invinceTime > 0) { - // stamina bar mushroom start positions/offsets - s32 posXTbl[] = { 106, 469 }; - s32 posYTbl[] = { 78, 78 }; - s32 ofsXTbl[] = { 0, 0, -33, -9, 15, 39, 63, -68, 0, 0, -33, -9, 15, 39, 63, -68 }; // second half is unused - s32 ofsYTbl[] = { 0, 0, -1, -1, -1, -1, -1, -2, 0, 0, -1, -1, -1, -1, -1, -2 }; - - // make the mushrooms in the stamina bar glow - espPosSet(sprIdTbl[i + 18], posXTbl[playerData->group] + ofsXTbl[i + 2], posYTbl[playerData->group] + ofsYTbl[i + 2]); - espScaleSet(sprIdTbl[i + 18], (playerData->invinceTime % 4 == 0) ? 1.1 : 1.0, (playerData->invinceTime % 4 == 0) ? 1.1 : 1.0); - espTPLvlSet(sprIdTbl[i + 18], (playerData->invinceTime % 4 < 2) ? 1.0 : (var_r22 % 4 == 2) ? 0.5 : 0.0); - espDispOn(sprIdTbl[i + 18]); - } - else if (opponentData->invinceTime == 0) { - espDispOff(sprIdTbl[i + 18]); - } - } - if (playerData->invinceTime > 0) { - s32 sp20 = (playerData->character != CHARACTER_BOWSER) ? playerData->character : 8; - // make the player shine - Hu3DModelPosSet(gameObj->model[MODEL_ID_GAME_INVINCE_SHINING], - object->trans.x + sparkDataTbl[sp20].xOffset * (playerData->group == 0 ? 1 : -1), object->trans.y + sparkDataTbl[sp20].yOffset, - 150.0f + object->trans.z); - Hu3DModelScaleSet(gameObj->model[MODEL_ID_GAME_INVINCE_SHINING], 0.75 * sparkDataTbl[sp20].scale, 0.75 * sparkDataTbl[sp20].scale, - 0.75 * sparkDataTbl[sp20].scale); - Hu3DModelAttrReset(gameObj->model[MODEL_ID_GAME_INVINCE_SHINING], 1); - Hu3DModelAttrSet(gameObj->model[MODEL_ID_GAME_INVINCE_SHINING], HU3D_ATTR_ZCMP_OFF); - // add sparks - Hu3DModelPosSet(gameObj->model[MODEL_ID_GAME_INVINCE_SPARKS], - object->trans.x + sparkDataTbl[sp20].xOffset * (playerData->group == 0 ? 1 : -1), object->trans.y + sparkDataTbl[sp20].yOffset, - 150.0f + object->trans.z); - Hu3DModelScaleSet(gameObj->model[MODEL_ID_GAME_INVINCE_SPARKS], 0.75 * sparkDataTbl[sp20].scale, 0.75 * sparkDataTbl[sp20].scale, - 0.75 * sparkDataTbl[sp20].scale); - Hu3DModelAttrReset(gameObj->model[MODEL_ID_GAME_INVINCE_SPARKS], 1); - Hu3DModelAttrSet(gameObj->model[MODEL_ID_GAME_INVINCE_SPARKS], HU3D_ATTR_ZCMP_OFF); - playerData->invinceTime--; - if (playerData->invinceTime == 0) { - HuAudFXStop(invincibilitySeNo); - } - } - else if (opponentData->invinceTime == 0) { - Hu3DModelAttrSet(gameObj->model[MODEL_ID_GAME_INVINCE_SHINING], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(gameObj->model[MODEL_ID_GAME_INVINCE_SPARKS], HU3D_ATTR_DISPOFF); - } - if (playerData->unk44 >= 0) { - var_r29 = playerData->unk44; - } - if (var_r29 >= 0 && var_r29 != playerData->unk40) { - if (var_r26 == 0) { - Hu3DMotionSet(object->model[MODEL_ID_PLAYER_PLAYER], object->motion[var_r29]); - Hu3DMotionTimeSet(object->model[MODEL_ID_PLAYER_PLAYER], (var_r22 == -1) ? 0 : var_r22); - } - else { - Hu3DMotionShiftSet(object->model[MODEL_ID_PLAYER_PLAYER], object->motion[var_r29], (var_r22 != -1) ? var_r22 : lbl_1_data_184[var_r29], - (var_r26 != -1) ? var_r26 : lbl_1_data_154[var_r29], lbl_1_data_148[var_r29] ? HU3D_MOTATTR_NONE : HU3D_MOTATTR_LOOP); - } - playerData->unk40 = var_r29; - } - if (playerData->group == 1) { - ModelData *playerModel = &Hu3DData[object->model[MODEL_ID_PLAYER_PLAYER]]; - } -} - -s32 lbl_1_data_33C = -1; -float lbl_1_data_340 = 3500.0f; -float lbl_1_data_344 = 100.0f; -float lbl_1_data_348 = -59.0f; - -static void M457GameExec(omObjData *object) -{ - PlayerData *sp158[2]; - omObjData *sp150[2]; - PlayerData *sp148[2]; - s32 sp140[2]; - omObjData *playerObjLocal[2]; - PlayerData *playerData[2]; - ModelData *temp_r24; - ModelData *temp_r27; - ModelData *mushroomModel; - ModelData *temp_r29; - float spAC; - float spA8; - float spA4; - float temp_f20; - float var_f19; - float temp_f24; - float temp_f23; - float temp_f22; - float var_f21; - float temp_f27; - float temp_f26; - float temp_f25; - float temp_f28; - float temp_f29; - float var_f31; - s32 invinciblePlayerId; - s32 var_r26; - s32 var_r25; - s32 var_r22; - s32 var_r21; - s32 var_r20; - s32 var_r19; - s32 i; - - for (i = 0; i < 2; i++) { - sp158[i] = playerObj[i]->data; - } - lbl_1_bss_4++; - switch (gameState) { - case 1003: - temp_f27 = 1800.0 * (1.0 - lbl_1_bss_60 / 30.0); - temp_f27 = (temp_f27 < 0.0f) ? 0.0f : temp_f27; - Hu3DModelPosSet(gameObj->model[MODEL_ID_GAME_KOOPA_KID], 0.0f, temp_f27, 0.0f); - Hu3DModelAttrReset(gameObj->model[MODEL_ID_GAME_KOOPA_KID], HU3D_ATTR_DISPOFF); - if (lbl_1_bss_60 == 31) { - HuAudFXPlay(MSM_SE_KOOPA_KID_DROP); - } - if (lbl_1_bss_60 >= 31 && lbl_1_bss_60 <= 38) { - temp_f24 = 1.0 - (lbl_1_bss_60 - 31) / 7.0; - Hu3DModelRotSet(object->model[MODEL_ID_GAME_KOOPA_KID], 25.0 * (temp_f24 * 0.5 + temp_f24 * temp_f24 * 0.5), 0.0f, 0.0f); - } - break; - case 1002: - if (lbl_1_bss_60 == 0) { - lbl_1_bss_3C = 0; - } - if (lbl_1_bss_60 == (VERSION_NTSC ? 20 : 15)) { - espAttrReset(sprIdTbl[16], HUSPR_ATTR_DISPOFF); - } - if ((lbl_1_bss_60 >= (VERSION_NTSC ? 20 : 15) && lbl_1_bss_60 <= REFRESH_RATE - 10) - || (lbl_1_bss_60 >= 3 * REFRESH_RATE && lbl_1_bss_60 <= (s32)(3.5 * REFRESH_RATE))) { - spAC = (lbl_1_bss_60 <= 120) ? (lbl_1_bss_60 - (VERSION_NTSC ? 20 : 15)) / (0.5 * REFRESH_RATE) - : (1.0 - (lbl_1_bss_60 - 3 * REFRESH_RATE) / (0.5 * REFRESH_RATE)); - espTPLvlSet(sprIdTbl[16], spAC); - } - if (lbl_1_bss_60 == (s32)(3.5 * REFRESH_RATE)) { - espAttrSet(sprIdTbl[16], HUSPR_ATTR_DISPOFF); - } - break; - case 1006: - if (lbl_1_bss_60 == 0) { - Hu3DMotionSet(object->model[MODEL_ID_GAME_KOOPA_KID], object->motion[2]); - Hu3DModelAttrReset(object->model[MODEL_ID_GAME_KOOPA_KID], HU3D_MOTATTR_LOOP); - } - if (lbl_1_bss_60 == 15) { - Hu3DModelAttrSet(object->model[MODEL_ID_GAME_KOOPA_KID], HU3D_MOTATTR_PAUSE); - } - break; - case 1008: - if (lbl_1_bss_60 == 1) { - Hu3DModelAttrReset(object->model[MODEL_ID_GAME_KOOPA_KID], HU3D_MOTATTR_PAUSE); - for (i = 0; i < 16; i++) { - espDispOn(sprIdTbl[i]); - } - } -#if VERSION_NTSC - if (lbl_1_bss_60 <= 25) { - temp_f28 = lbl_1_bss_60 / 25.0; - temp_f26 = 1.0f - (1.0f - temp_f28) * (1.0f - temp_f28) * (1.0f - temp_f28); - temp_f26 = 0.25 + 1.375 * temp_f26; - temp_f23 = 1.0f - (1.0f - temp_f28) * (1.0f - temp_f28); - temp_f23 = 2.0f * (1.0f - temp_f28); - espAttrReset(sprIdTbl[17], HU3D_ATTR_SHADOW); -#if VERSION_ENG - espScaleSet(sprIdTbl[17], 0.85 * temp_f26, 0.85 * temp_f26); -#else - espScaleSet(sprIdTbl[17], temp_f26, temp_f26); -#endif - espTPLvlSet(sprIdTbl[17], (temp_f23 > 1.0f) ? 1.0f : temp_f23); - } - else { - espAttrSet(sprIdTbl[17], HUSPR_ATTR_DISPOFF); - } -#endif - for (i = 0; i < 2; i++) { - sp150[i] = playerObj[i]; - sp148[i] = playerObj[i]->data; - } - for (i = 0; i < 2; i++) { - sp140[i] = (sp148[1 - i]->invinceTime > 0) ? 2 - : (sp148[i]->state == 8) ? 2 - : (sp148[i]->state == 1) ? 1 - : (sp148[i]->state == 9) ? (sp148[i]->unk18 >= 0 ? 3 : 2) - : (sp148[i]->state == 2) ? 4 - : (sp148[i]->state == 7) ? 0 - : -1; - } - if (sp140[0] >= 0 && sp140[1] >= 0 && fabs(sp150[0]->trans.x - sp150[1]->trans.x) < 300.0) { - sp150[0]->trans.x = (sp148[0]->invinceTime > 0) ? sp150[0]->trans.x - : (sp148[1]->invinceTime > 0) ? (sp150[1]->trans.x - 300.0f) - : ((sp150[0]->trans.x + sp150[1]->trans.x) / 2.0 - 150.0); - sp150[0]->trans.x = (sp150[0]->trans.x >= 650.0) ? 650.0 : (sp150[0]->trans.x <= -950.0) ? -950.0 : sp150[0]->trans.x; - sp150[1]->trans.x = sp150[0]->trans.x + 300.0f; - if (sp140[0] >= 3 || sp140[1] >= 3) { - var_r26 = (sp140[0] >= 3) ? 0 : 1; - var_r25 = 1 - var_r26; - switch (sp140[var_r25]) { - case 4: - if (sp150[var_r26]->trans.x * (var_r26 == 0 ? 1 : -1) < sp150[var_r25]->trans.x * (var_r25 == 0 ? 1 : -1)) { - var_r26 = 1 - var_r26; - var_r25 = 1 - var_r25; - } - sp148[var_r26]->state = 3; - sp148[var_r25]->state = 4; - break; - case 1: - sp148[var_r26]->state = 5; - sp148[var_r25]->state = 6; - break; - case 3: - sp148[var_r26]->state = 12; - sp148[var_r25]->state = 12; - break; - case 2: - sp148[var_r26]->state = 10; - sp148[var_r25]->state = 11; - break; - case 0: - sp148[var_r26]->state = 13; - sp148[var_r25]->state = 14; - break; - } - sp148[0]->unk18 = sp148[1]->unk18 = 0; - } - } - /* fallthrough */ - case 1009: - if (gameState != 1008 && lbl_1_bss_40 == 0) { - break; - } - for (i = 0; i < 2; i++) { - playerObjLocal[i] = playerObj[i]; - playerData[i] = playerObj[i]->data; - } - switch (lbl_1_bss_18) { - case 0: - if (lbl_1_bss_40 == 0 && lbl_1_bss_18 == 0 && (playerObjLocal[0]->trans.x > -150.0f || playerObjLocal[1]->trans.x < 150.0f)) { - lbl_1_bss_18 = (-playerObjLocal[0]->trans.x < playerObjLocal[1]->trans.x ? 1 : 2); - Hu3DModelPosSet(gameObj->model[9], 0.0f, 100.0f, 0.0f); - Hu3DMotionTimeSet(gameObj->model[9], 0.0f); - Hu3DModelAttrReset(gameObj->model[9], HU3D_ATTR_DISPOFF); - if (lbl_1_bss_78[4].unk00 < 3) { - lbl_1_bss_78[4].unk04[lbl_1_bss_78[4].unk00] = 0.0f; - lbl_1_bss_78[4].unk00++; - } - } - if (lbl_1_bss_18 == 0) { - break; - } - /* fallthrough */ - case 1: - case 2: - temp_r27 = &Hu3DData[object->model[MODEL_ID_GAME_KOOPA_KID]]; - temp_r27->rot.y += (lbl_1_bss_18 == 1 ? 18 : -18); - temp_r27->rot.z = (lbl_1_bss_18 == 1 ? -20 : 20); - temp_r27->pos.x += 5.130000000000001 * (lbl_1_bss_18 == 1 ? 1 : -1); - temp_r27->pos.y += 47.0; - temp_r27->pos.z += -20.0f; - if (temp_r27->pos.y > 1800.0f) { - lbl_1_bss_18 += 2; - } - break; - } - switch (lbl_1_bss_1C) { - case 0: - case 2: - lbl_1_data_2B8 -= (lbl_1_bss_18 >= 3 && playerData[0]->state < 16 && playerData[1]->state < 16); - if (lbl_1_data_2B8 != 0) { - break; - } - Hu3DModelAttrReset(object->model[MODEL_ID_GAME_MUSHROOM], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(object->model[MODEL_ID_GAME_MUSHROOM], - (lbl_1_bss_1C == 0) ? 0.0 : (2.0 * ((rand8() % 256) / 255.0 - 0.5) * 400.0), 1500.0f, 0.0f); - lbl_1_bss_1C = 1; - /* fallthrough */ - case 1: - mushroomModel = &Hu3DData[object->model[MODEL_ID_GAME_MUSHROOM]]; - // descend mushroom - mushroomModel->pos.y -= 10.0f; - if (mushroomModel->pos.y <= 225.0f) { - float playerDistsToMushroom[] = { 100000000.0f, 100000000.0f }; - // make sure it doesn't fall through the ring - mushroomModel->pos.y = (mushroomModel->pos.y < 100.0f) ? 100.0f : mushroomModel->pos.y; - for (i = 0; i < 2; i++) { - if (fabs(playerObjLocal[i]->trans.x + (i == 0 ? 40 : -40) - mushroomModel->pos.x) < 180.0) { - playerDistsToMushroom[i] = fabs(playerObjLocal[i]->trans.x + (i == 0 ? 40 : -40) - mushroomModel->pos.x); - } - } - if (playerDistsToMushroom[0] != playerDistsToMushroom[1]) { - invinciblePlayerId = (playerDistsToMushroom[0] < playerDistsToMushroom[1]) ? 0 : 1; - Hu3DModelAttrSet(object->model[MODEL_ID_GAME_MUSHROOM], HU3D_ATTR_DISPOFF); - lbl_1_bss_1C = 2; - lbl_1_data_2B8 = 10 * REFRESH_RATE; - playerData[invinciblePlayerId]->invinceTime = 5 * REFRESH_RATE; - playerData[invinciblePlayerId]->unk4C = 0; - if (lbl_1_bss_78[3].unk00 < 3) { - lbl_1_bss_78[3].unk04[lbl_1_bss_78[3].unk00] = 0.0f; - lbl_1_bss_78[3].unk00++; - } - invincibilitySeNo = HuAudFXPlay(MSM_SE_INVINCIBILITY); - } - } - if (playerData[0]->state >= 16 || playerData[1]->state >= 16 || lbl_1_bss_40 != 0) { - lbl_1_bss_1C = 3; - lbl_1_data_2B8 = 0; - } - if (lbl_1_bss_1C == 1) { - break; - } - /* fallthrough */ - case 3: - lbl_1_data_2B8++; - if (lbl_1_data_2B8 < REFRESH_RATE && lbl_1_data_2B8 % 2 == 0) { - Hu3DModelAttrReset(object->model[MODEL_ID_GAME_MUSHROOM], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(object->model[MODEL_ID_GAME_MUSHROOM], HU3D_ATTR_DISPOFF); - } - break; - } - break; - } - switch (gameState) { - case 1009: - if (lbl_1_bss_40 == 0) { - if (lbl_1_bss_60 <= 30) { - Hu3DModelPosSet(gameObj->model[MODEL_ID_GAME_KOOPA_KID], 0.0f, (30 - lbl_1_bss_60) * 50 * 0.94, 0.0f); - Hu3DModelRotSet(gameObj->model[MODEL_ID_GAME_KOOPA_KID], 0.0f, 0.0f, lbl_1_bss_18 == 3 ? -20 : 20); - Hu3DModelAttrReset(gameObj->model[MODEL_ID_GAME_KOOPA_KID], HU3D_ATTR_DISPOFF); - } - if (lbl_1_bss_60 == 30) { - Hu3DMotionSet(object->model[MODEL_ID_GAME_KOOPA_KID], object->motion[0]); - Hu3DModelAttrReset(object->model[MODEL_ID_GAME_KOOPA_KID], HU3D_MOTATTR_LOOP); - } - if (lbl_1_bss_60 == 30) { - HuAudFXPlay(MSM_SE_KOOPA_KID_DROP); - } - if (lbl_1_bss_60 >= 30 && lbl_1_bss_60 <= 37) { - temp_f22 = 1.0 - (lbl_1_bss_60 - 30) / 7.0; - Hu3DModelRotSet(object->model[MODEL_ID_GAME_KOOPA_KID], 25.0 * (temp_f22 * 0.5 + temp_f22 * temp_f22 * 0.5), 0.0f, 0.0f); - } - } - else if (lbl_1_bss_18 == 0) { - Hu3DMotionSet(gameObj->model[MODEL_ID_GAME_KOOPA_KID], object->motion[0]); - Hu3DModelAttrReset(gameObj->model[MODEL_ID_GAME_KOOPA_KID], HU3D_MOTATTR_LOOP); - } - break; - case 1010: - if (lbl_1_bss_40 == 0) { - if (lbl_1_bss_60 == 1) { - Hu3DMotionSet(object->model[MODEL_ID_GAME_KOOPA_KID], object->motion[3]); - Hu3DModelAttrReset(object->model[MODEL_ID_GAME_KOOPA_KID], HU3D_MOTATTR_LOOP); - } - temp_r24 = &Hu3DData[object->model[MODEL_ID_GAME_KOOPA_KID]]; - temp_f20 = (playerObj[lbl_1_bss_44]->trans.x < 0.0f) ? -90 : 90; - temp_r24->rot.y = temp_f20 + 0.8 * (temp_r24->rot.y - temp_f20); - } - break; - } - var_r22 = lbl_1_data_33C; - { - float sp160[][6] = { { 3500.0f, 0.0f, 100.0f, 0.0f, -59.0f, 0.0f }, { 3200.0f, 0.0f, 100.0f, 0.0f, -30.0f, 0.0f }, - { 2100.0f, 0.0f, 200.0f, 0.0f, -30.0f, 0.0f }, { 2000.0f, 0.0f, 200.0f, 0.0f, -30.0f, 0.0f }, - { 800.0f, 0.0f, 200.0f, 0.0f, -89.0f, 0.0f }, { 1800.0f, 0.0f, 200.0f, 0.0f, -30.0f, 0.0f } }; - - if (lbl_1_bss_44 != -1 && lbl_1_bss_40 == 0) { - sp160[2][1] = playerObj[lbl_1_bss_44]->trans.x; - } - if (lbl_1_data_33C == -1) { - lbl_1_data_33C = 0; - lbl_1_bss_24 = 1; - lbl_1_bss_28 = 1.0f; - } - if (lbl_1_data_33C == 0) { - lbl_1_data_33C = 1; - lbl_1_bss_24 = 1; - lbl_1_bss_28 = 0.5f; - } - if (gameState == 1010 && lbl_1_bss_44 != 2 && lbl_1_bss_60 >= 15 && lbl_1_data_33C == 1) { - lbl_1_data_33C = 2; - lbl_1_bss_24 = 0; - lbl_1_bss_28 = 0.0f; - } - if (var_r22 != lbl_1_data_33C && var_r22 != -1) { - lbl_1_data_340 = CZoom; - lbl_1_data_344 = Center.y; - lbl_1_bss_30 = Center.z; - lbl_1_data_348 = CRot.x; - lbl_1_bss_34 = CRot.y; - } - if (lbl_1_bss_28 <= 1.0f) { - if (lbl_1_bss_24 == 0) { - lbl_1_bss_28 = 1.0 - 0.95 * (1.0f - lbl_1_bss_28); - var_f31 = lbl_1_bss_28; - } - else { - lbl_1_bss_28 += 0.008333333333333333; - lbl_1_bss_28 = (lbl_1_bss_28 > 1.0f) ? 1.0f : lbl_1_bss_28; - var_f31 = 0.5 + -0.5 * cosd(180.0f * lbl_1_bss_28); - } - lbl_1_bss_28 = (lbl_1_bss_28 > 1.0f) ? 1.0f : lbl_1_bss_28; - CZoom = var_f31 * sp160[lbl_1_data_33C][0] + lbl_1_data_340 * (1.0f - var_f31); - Center.x = var_f31 * sp160[lbl_1_data_33C][1] + lbl_1_bss_2C * (1.0f - var_f31); - Center.y = var_f31 * sp160[lbl_1_data_33C][2] + lbl_1_data_344 * (1.0f - var_f31); - Center.z = var_f31 * sp160[lbl_1_data_33C][3] + lbl_1_bss_30 * (1.0f - var_f31); - CRot.x = var_f31 * sp160[lbl_1_data_33C][4] + lbl_1_data_348 * (1.0f - var_f31); - CRot.y = var_f31 * sp160[lbl_1_data_33C][5] + lbl_1_bss_34 * (1.0f - var_f31); - } - } - if (gameState == 1001) { - var_f21 = 0.0f; - temp_f25 = 0.0f; - if (lbl_1_data_28C.unk00 % 2 >= 0) { - lbl_1_data_28C.unk08 = lbl_1_data_28C.unk10; - lbl_1_data_28C.unk0C = lbl_1_data_28C.unk14; - do { - lbl_1_data_28C.unk10 = 2.0 * (rand8() / 255.0) - 1.0; - lbl_1_data_28C.unk14 = 2.0 * (rand8() / 255.0) - 1.0; - lbl_1_data_28C.unk10 = 0.0f; - temp_f29 = (lbl_1_data_28C.unk10 - lbl_1_data_28C.unk08) * (lbl_1_data_28C.unk10 - lbl_1_data_28C.unk08) - + (lbl_1_data_28C.unk14 - lbl_1_data_28C.unk0C) * (lbl_1_data_28C.unk14 - lbl_1_data_28C.unk0C); - } while (sqrtf(temp_f29) < 0.75); - } - var_f21 = lbl_1_data_28C.unk08; - temp_f25 = lbl_1_data_28C.unk0C; - var_f21 *= lbl_1_data_28C.unk04 * 2; - temp_f25 *= lbl_1_data_28C.unk04 * 2; - lbl_1_data_28C.unk00 = !lbl_1_data_28C.unk00; - lbl_1_data_28C.unk04 = (lbl_1_data_28C.unk04 > 24) ? 23 : (lbl_1_data_28C.unk04 - 1 > 0) ? (lbl_1_data_28C.unk04 - 1) : 0; - Center.x = 0.0f; - Center.y = 100.0f + temp_f25; - } - if (gameState >= 1008) { - for (i = 0; i < 2; i++) { - temp_r29 = &Hu3DData[playerObj[i]->model[MODEL_ID_PLAYER_PLAYER]]; - var_r21 = (sp158[i]->character != CHARACTER_BOWSER) ? sp158[i]->character : 8; - var_r20 = (temp_r29->unk_08 == playerObj[i]->motion[4]) ? 0 - : (temp_r29->unk_08 == playerObj[i]->motion[6]) ? 1 - : (temp_r29->unk_08 == playerObj[i]->motion[7]) ? 2 - : -1; - var_r19 = (temp_r29->unk_0C == playerObj[i]->motion[4]) ? 0 - : (temp_r29->unk_0C == playerObj[i]->motion[6]) ? 1 - : (temp_r29->unk_0C == playerObj[i]->motion[7]) ? 2 - : -1; - spA8 = (var_r20 == -1) ? 0.0f : lbl_1_data_1B4[var_r21][var_r20]; - spA4 = (var_r19 == -1) ? 0.0f : lbl_1_data_1B4[var_r21][var_r19]; - var_f19 = (temp_r29->unk_0C == -1) ? 0.0f : (temp_r29->unk_80 == 0.0f) ? 1.0f : (temp_r29->unk_7C / temp_r29->unk_80); - sp158[i]->unk48 = (i == 0 ? 1 : -1) * (spA8 * (1.0f - var_f19) + spA4 * var_f19); - playerObj[i]->trans.x += sp158[i]->unk48; - Hu3DModelPosSet(playerObj[i]->model[MODEL_ID_PLAYER_PLAYER], playerObj[i]->trans.x, playerObj[i]->trans.y, playerObj[i]->trans.z); - } - } -} - -static void WrestleMesMain(void) -{ - PlayerData *playerData[2]; - s16 unk; - s16 window; - s32 i; - - unk = 0; - for (i = 0; i < 2; i++) { - playerData[i] = playerObj[i]->data; - } - HuWinComKeyWait(PAD_BUTTON_A, PAD_BUTTON_A, PAD_BUTTON_A, PAD_BUTTON_A, REFRESH_RATE); - HuWinComKeyReset(); - window = HuWinExCreateStyled(36.0f, 344.0f, 504, 96, 6, 0); - HuWinBGTPLvlSet(window, 0.8f); - HuWinMesSpeedSet(window, 1); - HuWinExAnimIn(window); - HuWinDisablePlayerSet(window, - 0xF & ((playerData[0]->padIdx != PAD_IDX_COM) ? ~(1 << playerData[0]->padIdx) : 0xF) - & ((playerData[1]->padIdx != PAD_IDX_COM) ? ~(1 << playerData[1]->padIdx) : 0xF)); - HuWinMesSet(window, MAKE_MESSID(48, 31)); - if ((playerData[0]->padIdx == PAD_IDX_COM || playerData[0]->character == CHARACTER_BOWSER) - && (playerData[1]->padIdx == PAD_IDX_COM || playerData[1]->character == CHARACTER_BOWSER)) { - HuWinComKeyWait(PAD_BUTTON_A, PAD_BUTTON_A, PAD_BUTTON_A, PAD_BUTTON_A, VERSION_JP ? 48 : REFRESH_RATE); - HuWinComKeyWait(PAD_BUTTON_A, PAD_BUTTON_A, PAD_BUTTON_A, PAD_BUTTON_A, VERSION_JP ? 90 : REFRESH_RATE); - HuWinComKeyWait(PAD_BUTTON_A, PAD_BUTTON_A, PAD_BUTTON_A, PAD_BUTTON_A, VERSION_JP ? 72 : REFRESH_RATE); - } - HuWinMesWait(window); - HuWinExAnimOut(window); - HuWinExCleanup(window); - m457MesEndF = 0; - HuPrcEnd(); -} - -static void ShoveMesMain(void) -{ - float var_f31; - s16 temp_r31; - WindowData *temp_r30; - PlayerData *spC[2]; -#if VERSION_PAL - float var_f30; - double var_f29; - double var_f28; - float sp14[2]; - float spC_2[2]; - WindowData *var_r29; -#endif - s32 var_r28; - s16 sp8; - s32 var_r26; - s32 i; - - sp8 = 0; - for (i = 0; i < 2; i++) { - spC[i] = playerObj[i]->data; - } - HuWinComKeyWait(PAD_BUTTON_A, PAD_BUTTON_A, PAD_BUTTON_A, PAD_BUTTON_A, REFRESH_RATE); - HuWinComKeyReset(); -#if VERSION_NTSC - temp_r31 = HuWinCreate(215.0f, 100.0f, 130, 37, 1); -#else - HuWinMesMaxSizeGet(1, sp14, MAKE_MESSID(48, 32)); - temp_r31 = HuWinCreate(-10000.0f, 100.0f, sp14[0], 0x25, 1); -#endif - HuSprColorSet(winData[temp_r31].group, 0, 0xFF, 0xFF, 0xCC); - HuWinBGTPLvlSet(temp_r31, 0.9f); - temp_r30 = &winData[temp_r31]; -#if VERSION_PAL - var_f29 = temp_r30->pos_x; -#endif - temp_r30->mess_color = 0; - temp_r30->mess_shadow_color = 9; - temp_r30->attr |= 0x80; - for (var_r28 = 15, var_f31 = 0.0f; var_r28 != 0; var_r28--, var_f31 += 2.0f / 30) { - HuWinScaleSet(temp_r31, 1.0f, 1.0 * (1.0f - (1.0f - var_f31) * (1.0f - var_f31))); -#if VERSION_NTSC - HuWinPosSet(temp_r31, 215.0f, 100.0 + 37.0 * (1.0f - (1.0f - var_f31) * (1.0f - var_f31)) / -4.0); -#else - HuWinPosSet(temp_r31, var_f29, 100.0 + 37.0 * (1.0f - (1.0f - var_f31) * (1.0f - var_f31)) / -4.0); -#endif - HuPrcVSleep(); - } - HuWinScaleSet(temp_r31, 1.0f, 1.0f); - HuWinMesSet(temp_r31, MAKE_MESSID(48, 32)); - HuPrcSleep(REFRESH_RATE); - HuWinExAnimOut(temp_r31); - HuWinExCleanup(temp_r31); -#if VERSION_PAL - temp_r31 = 0; -#endif - m457MesEndF = 0; -#if VERSION_PAL - while (gameState != 1008) { - HuPrcVSleep(); - } - HuWinMesMaxSizeGet(1, spC_2, MAKE_MESSID(48, 33)); - temp_r31 = HuWinCreate(-10000.0f, 100.0f, spC_2[0], spC_2[1], 1); - HuSprColorSet(winData[temp_r31].group, 0, 0xFF, 0xFF, 0xCC); - HuWinBGTPLvlSet(temp_r31, 0.9f); - var_r29 = &winData[temp_r31]; - var_f28 = var_r29->pos_x; - var_r29->mess_color = 0; - var_r29->mess_shadow_color = 9; - var_r29->attr |= 0x80; - for (var_r26 = 5, var_f30 = 0.0f; var_r26 != 0; var_r26--, var_f30 += 0.2f) { - HuWinScaleSet(temp_r31, 1.0f, (double)(1.0f - ((1.0f - var_f30) * (1.0f - var_f30)))); - HuWinPosSet(temp_r31, var_f28, 100.0 + (((double)spC_2[1] * (1.0f - ((1.0f - var_f30) * (1.0f - var_f30)))) / -4.0)); - HuPrcVSleep(); - } - HuWinScaleSet(temp_r31, 1.0f, 1.0f); - HuWinMesSet(temp_r31, MAKE_MESSID(48, 33)); - HuWinMesSpeedSet(temp_r31, 0); - HuPrcSleep(0x32); - HuWinExAnimOut(temp_r31); - HuWinExCleanup(temp_r31); - temp_r31 = 0; -#endif - HuPrcEnd(); -} - -static void M457Main(omObjData *object) -{ - PlayerData *playerData[2]; - float spC[2]; - s32 sp8; - s32 i; - - for (i = 0; i < 5; i++) { - s32 shoveSeIdTbl[] = { 0x7E1, 0x7E2, 0x7E3, 0x7E4, 0x7E5 }; - - if (lbl_1_bss_78[i].unk00 > 3) { - lbl_1_bss_78[i].unk00 = 3; - } - if (lbl_1_bss_78[i].unk00 > 0) { - sp8 = HuAudFXPlay(shoveSeIdTbl[i]); - lbl_1_bss_78[i].unk00--; - } - } - for (i = 0; i < 2; i++) { - playerData[i] = playerObj[i]->data; - } - if (omSysExitReq != 0 && WipeStatGet() == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = M457Exit; - } - switch (gameState) { - case 1000: - if (WipeStatGet() == 0) { - gameState++; - lbl_1_bss_60 = 0; - } - break; - case 1001: - lbl_1_bss_60++; - if (lbl_1_bss_60 == 60) { - gameState = (againstBrowserF ? 1002 : 1003); - lbl_1_bss_60 = 0; - } - break; - case 1002: - lbl_1_bss_60++; - if (lbl_1_bss_60 > (s32)(3.5 * REFRESH_RATE)) { - gameState++; - lbl_1_bss_60 = 0; - } - break; - case 1003: - lbl_1_bss_60++; - if (lbl_1_bss_60 == 60) { - gameState = (againstBrowserF ? 1004 : 1005); - lbl_1_bss_60 = 0; - } - break; - case 1004: - if (lbl_1_bss_60 == 0) { - HuPrcChildCreate(WrestleMesMain, 100, 0x2000, 0, HuPrcCurrentGet()); - m457MesEndF = 1; - lbl_1_bss_60++; - } - else if (m457MesEndF == 0) { - lbl_1_bss_60++; - if (playerData[0]->state == 0) { - gameState++; - lbl_1_bss_60 = 0; - } - } - break; - case 1005: - lbl_1_bss_60++; - if (lbl_1_bss_60 == (VERSION_NTSC ? 180 : 128)) { - gameState++; - lbl_1_bss_60 = 0; - } - break; - case 1006: - if (lbl_1_bss_60 == 0) { - HuWinMesMaxSizeGet(1, spC, MAKE_MESSID(48, 34)); - lbl_1_data_2B0 = HuWinCreate(-10000.0f, 400.0f, spC[0], spC[1], 1); - HuWinBGTPLvlSet(lbl_1_data_2B0, 0.0f); - HuWinMesSpeedSet(lbl_1_data_2B0, 0); - HuWinMesSet(lbl_1_data_2B0, MAKE_MESSID(48, 34)); - HuPrcChildCreate(ShoveMesMain, 100, 0x2000, 0, HuPrcCurrentGet()); - m457MesEndF = 1; - lbl_1_bss_60++; - } - else if (m457MesEndF == 0) { - lbl_1_bss_60++; - if (playerData[0]->state == 0) { - gameState++; - lbl_1_bss_60 = rand8() * (REFRESH_RATE / 2) % 5 + REFRESH_RATE; - } - } - else { - lbl_1_bss_60++; - } - break; - case 1007: - lbl_1_bss_60 -= 1; - if (lbl_1_bss_60 <= 0) { - gameState++; - lbl_1_bss_60 = 0; -#if VERSION_NTSC - HuAudFXPlay(MSM_SE_BOWSER_HOWL); -#endif - } - break; - case 1008: - lbl_1_bss_60++; - if (lbl_1_bss_44 != -1) { - gameState = 1009; - lbl_1_bss_60 = 0; - break; - } - if (lbl_1_data_2A6 == -1 && lbl_1_bss_60 >= 270 * REFRESH_RATE && playerData[0]->state < 16 && playerData[1]->state < 16) { - lbl_1_data_2A6 = MGSeqTimerCreate(30); - } - if (lbl_1_data_2A6 == -1) { - break; - } - if (playerData[0]->state < 16 && playerData[1]->state < 16) { - MGSeqParamSet(lbl_1_data_2A6, 1, (301 * REFRESH_RATE - 1 - lbl_1_bss_60) / REFRESH_RATE); - if (lbl_1_bss_60 > 300 * REFRESH_RATE) { - MGSeqParamSet(lbl_1_data_2A6, 2, -1); - lbl_1_data_2A6 = -1; - } - } - if (lbl_1_bss_60 > 300 * REFRESH_RATE && playerData[0]->state < 16 && playerData[1]->state < 16) { - gameState = 1009; - lbl_1_bss_60 = 0; - lbl_1_bss_40 = 1; - playerData[0]->state = playerData[1]->state = 17; - playerData[0]->unk18 = playerData[1]->unk18 = 0; - MGSeqFinishCreate(); - if (backgroundMusNo != -1) { - HuAudSeqFadeOut(backgroundMusNo, 100); - backgroundMusNo = -1; - } - } - break; - case 1009: - if (lbl_1_bss_60 == 1 && lbl_1_data_2A6 != -1) { - MGSeqParamSet(lbl_1_data_2A6, 2, -1); - lbl_1_data_2A6 = -1; - } - lbl_1_bss_60++; - if (lbl_1_bss_60 >= 2 * REFRESH_RATE) { - gameState++; - lbl_1_bss_60 = 0; - } - break; - case 1010: - lbl_1_bss_60++; - if (lbl_1_bss_60 == 15) { - if (lbl_1_bss_44 != 2) { - if (playerData[lbl_1_bss_44]->character != CHARACTER_BOWSER) { - HuAudSStreamPlay(1); - } - else { - HuAudSStreamPlay(3); - } - if (againstBrowserF) { - if (lbl_1_bss_44 == 0) { - _SetFlag(FLAG_ID_MAKE(1, 7)); - } - } - else { - GWPlayerCoinWinSet(playerData[lbl_1_bss_44]->player, 10); - } - } - else if (lbl_1_bss_44 == 2) { - HuAudSStreamPlay(4); - } - } - if ((VERSION_NTSC ? 225.0f : 190.0f) < lbl_1_bss_60) { - if (windSeNo != -1) { - HuAudFXStop(windSeNo); - windSeNo = -1; - } - lbl_1_data_2A4 = -1; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - object->func = M457Exit; - } - break; - } -} - -static void M457GameSetup(omObjData *object) -{ - s32 i; - - for (i = 0; i < 2; i++) { - PlayerData *playerData[2]; - playerData[i] = playerObj[i]->data; - } - object->model[MODEL_ID_GAME_KOOPA_KID] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_BKOOPA, 14)); - Hu3DModelAttrSet(object->model[MODEL_ID_GAME_KOOPA_KID], HU3D_MOTATTR_LOOP); - object->model[MODEL_ID_GAME_WAR_FAN] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M457, 38)); - Hu3DModelAttrSet(object->model[MODEL_ID_GAME_WAR_FAN], HU3D_MOTATTR_LOOP); - Hu3DModelHookSet(object->model[MODEL_ID_GAME_KOOPA_KID], "g007m0-itemhook_r", object->model[MODEL_ID_GAME_WAR_FAN]); - Hu3DModelPosSet(object->model[MODEL_ID_GAME_KOOPA_KID], 0.0f, 0.0f, 0.0f); - Hu3DModelRotSet(object->model[MODEL_ID_GAME_KOOPA_KID], 15.0f, 0.0f, 0.0f); - object->motion[0] = Hu3DJointMotionFile(object->model[MODEL_ID_GAME_KOOPA_KID], DATA_MAKE_NUM(DATADIR_M457, 39)); - object->motion[1] = Hu3DJointMotionFile(object->model[MODEL_ID_GAME_KOOPA_KID], DATA_MAKE_NUM(DATADIR_M457, 40)); - object->motion[2] = Hu3DJointMotionFile(object->model[MODEL_ID_GAME_KOOPA_KID], DATA_MAKE_NUM(DATADIR_M457, 41)); - object->motion[3] = Hu3DJointMotionFile(object->model[MODEL_ID_GAME_KOOPA_KID], DATA_MAKE_NUM(DATADIR_M457, 42)); - Hu3DMotionSet(object->model[MODEL_ID_GAME_KOOPA_KID], object->motion[0]); - Hu3DModelLayerSet(object->model[MODEL_ID_GAME_WAR_FAN], 2); - Hu3DModelLayerSet(object->model[MODEL_ID_GAME_KOOPA_KID], 2); - Hu3DModelAttrSet(object->model[MODEL_ID_GAME_KOOPA_KID], HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(object->model[MODEL_ID_GAME_WAR_FAN]); - Hu3DModelShadowSet(object->model[MODEL_ID_GAME_KOOPA_KID]); - object->model[MODEL_ID_GAME_SKY] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M457, 16)); - Hu3DModelAttrSet(object->model[MODEL_ID_GAME_SKY], HU3D_MOTATTR_LOOP); - Hu3DMotionSpeedSet(object->model[MODEL_ID_GAME_SKY], 0.1f); - Hu3DModelLayerSet(object->model[MODEL_ID_GAME_SKY], 1); - object->model[MODEL_ID_GAME_RING] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M457, 17)); - Hu3DModelAttrSet(object->model[MODEL_ID_GAME_RING], HU3D_MOTATTR_LOOP); - Hu3DModelShadowMapSet(object->model[MODEL_ID_GAME_RING]); - Hu3DModelLayerSet(object->model[MODEL_ID_GAME_RING], 1); - Hu3DModelScaleSet(object->model[MODEL_ID_GAME_RING], 1.0f, 1.0f, 1.0f); - object->model[MODEL_ID_GAME_MUSHROOM] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M457, 21)); - Hu3DModelAttrSet(object->model[MODEL_ID_GAME_MUSHROOM], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(object->model[MODEL_ID_GAME_MUSHROOM], HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(object->model[MODEL_ID_GAME_MUSHROOM], 2); - object->model[MODEL_ID_GAME_INVINCE_SHINING] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M457, 19)); - Hu3DModelAttrSet(object->model[MODEL_ID_GAME_INVINCE_SHINING], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(object->model[MODEL_ID_GAME_INVINCE_SHINING], HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(object->model[MODEL_ID_GAME_INVINCE_SHINING], 2); - object->model[MODEL_ID_GAME_INVINCE_SPARKS] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M457, 20)); - Hu3DModelAttrSet(object->model[MODEL_ID_GAME_INVINCE_SPARKS], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(object->model[MODEL_ID_GAME_INVINCE_SPARKS], HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(object->model[MODEL_ID_GAME_INVINCE_SPARKS], 4); - for (i = 0; i < 3; i++) { - object->model[i + 7] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M457, 18)); - Hu3DModelLayerSet(object->model[i + 7], 4); - Hu3DModelAttrSet(object->model[i + 7], HU3D_ATTR_DISPOFF); - } - for (i = 0; i < 16; i++) { - s32 sp10[] = { 106, 469 }; - s32 sp8[] = { 78, 78 }; - s32 sp60[] = { 0, 0, -33, -9, 15, 39, 63, -68, 0, 0, -33, -9, 15, 39, 63, -68 }; - s32 sp20[] = { 0, 0, -1, -1, -1, -1, -1, -2, 0, 0, -1, -1, -1, -1, -1, -2 }; - - if (sprDataNumTbl[i] == DATA_MAKE_NUM(DATADIR_MGCONST, 0)) { - PlayerData *player = playerObj[i == 7 ? 0 : 1]->data; - sprIdTbl[i] - = espEntry((player->character == CHARACTER_BOWSER) ? DATA_MAKE_NUM(DATADIR_M457, 26) : (sprDataNumTbl[i] + player->character), 0, 0); - } - else { - sprIdTbl[i] = espEntry(sprDataNumTbl[i], 0, 0); - } - espDrawNoSet(sprIdTbl[i], 0); - espDispOff(sprIdTbl[i]); - espAttrSet(sprIdTbl[i], HUSPR_ATTR_NOANIM); - espBankSet(sprIdTbl[i], 0); - espPriSet(sprIdTbl[i], 128 - i); - espPosSet(sprIdTbl[i], sp60[i] + sp10[i < 8 ? 0 : 1], sp20[i] + sp8[i < 8 ? 0 : 1]); - if ((i >= 8 ? i - 8 : i) != 0) { - (void)1; // Required to match. - } - else { - espTPLvlSet(sprIdTbl[i], 0.5f); - espColorSet(sprIdTbl[i], 0, 0, 0); - } - } - for (i = 16; i < 23; i++) { - s32 temp_r28 = i - 16; - s32 spFC[23] = { 288, 288 }; - s32 spA0[23] = { 240, 240 }; - - sprIdTbl[i] = espEntry(sprDataNumTbl[i], 0, 0); - espDrawNoSet(sprIdTbl[i], 0); - espAttrSet(sprIdTbl[i], HUSPR_ATTR_NOANIM | HUSPR_ATTR_DISPOFF); - espBankSet(sprIdTbl[i], 0); - espPriSet(sprIdTbl[i], 128 - i); - espPosSet(sprIdTbl[i], spFC[temp_r28], spA0[temp_r28]); - espTPLvlSet(sprIdTbl[i], 1.0f); - } - object->func = M457GameExec; -} - -static void M457PlayerSetup(omObjData *object) -{ - s32 opponentPlayerGroup; - PlayerData *playerData; - PlayerData *opponentData; - s32 i; - - playerData = object->data; - opponentData = playerObj[1 - object->work[0]]->data; - memset(playerData, 0, sizeof(*playerData)); - playerData->group = object->work[0]; - playerData->player = (GWPlayerCfg[0].group == playerData->group) ? 0 - : (GWPlayerCfg[1].group == playerData->group) ? 1 - : (GWPlayerCfg[2].group == playerData->group) ? 2 - : (GWPlayerCfg[3].group == playerData->group) ? 3 - : 4; - opponentPlayerGroup = (GWPlayerCfg[0].group == 1 - playerData->group) ? 0 - : (GWPlayerCfg[1].group == 1 - playerData->group) ? 1 - : (GWPlayerCfg[2].group == 1 - playerData->group) ? 2 - : (GWPlayerCfg[3].group == 1 - playerData->group) ? 3 - : 4; - if (playerData->player == 4) { - OSReport("m457:wrong player group\n"); - playerData->player = playerData->group; - } - if (playerData->group == 1 && againstBrowserF) { - playerData->character = -1; - playerData->padIdx = PAD_IDX_COM; - playerData->player = -1; - playerData->diff = 1; - } - else { - playerData->character = GWPlayerCfg[playerData->player].character; - playerData->padIdx = (playerData->character == CHARACTER_BOWSER || GWPlayerCfg[playerData->player].iscom) - ? PAD_IDX_COM - : GWPlayerCfg[playerData->player].pad_idx; - playerData->diff = (playerData->padIdx != PAD_IDX_COM) ? 0 : GWPlayerCfg[playerData->player].diff; - } - playerData->state = 0; - playerData->stamina = 100; - playerData->unk34 = 0; - playerData->prevTrig = -1; - playerData->unk2C = -1; - playerData->unk3C = 10000; - playerData->unk40 = 1; - playerData->unk44 = -1; - if (playerData->character != CHARACTER_BOWSER) { - object->model[MODEL_ID_PLAYER_PLAYER] = CharModelCreate(playerData->character, 1); - } - else { - object->model[MODEL_ID_PLAYER_PLAYER] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_BKOOPA, 7)); - } - omSetTra(object, 0.0f, playerData->group == 0 ? 0 : 300, 0.0f); - if (playerData->character != CHARACTER_BOWSER) { - omSetSca(object, 2.5f, 2.5f, 2.5f); - } - else { - omSetSca(object, 2.0f, 2.0f, 2.0f); - } - for (i = 0; i < 12; i++) { - if (playerData->character != CHARACTER_BOWSER) { - object->motion[i] = CharModelMotionCreate(playerData->character, lbl_1_data_B8[i] + (lbl_1_data_E8[i] != 0 ? playerData->character : 0)); - } - else if (lbl_1_data_118[i] != 0) { - object->motion[i] = Hu3DJointMotionFile(object->model[MODEL_ID_PLAYER_PLAYER], lbl_1_data_118[i]); - } - } - Hu3DMotionSet(object->model[MODEL_ID_PLAYER_PLAYER], object->motion[playerData->unk40]); - Hu3DMotionTimeSet(object->model[MODEL_ID_PLAYER_PLAYER], 10.0f); - Hu3DModelAttrReset(object->model[MODEL_ID_PLAYER_PLAYER], HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(object->model[MODEL_ID_PLAYER_PLAYER]); - Hu3DModelAttrSet(object->model[MODEL_ID_PLAYER_PLAYER], HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(object->model[MODEL_ID_PLAYER_PLAYER], 3); - CharModelLayerSetAll2(4); - object->rot.y = playerData->group * 180 + 90; - object->trans.x = (playerData->group == 0 ? -1 : 1) * 300; - object->func = M457PlayerExec; -} - -static void M457Setup(omObjData *object) -{ - gameState = 1000; - lbl_1_bss_60 = 0; - lbl_1_bss_54 = 0; - lbl_1_bss_50 = 0; - if (backgroundMusNo == -1) { - backgroundMusNo = HuAudSeqPlay(MSM_MUS_BACKGROUND); - } - windSeNo = HuAudFXPlay(MSM_SE_WIND); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - object->func = M457Main; -} - -void ObjectSetup(void) -{ - omObjData *object; - s32 i; - - OSReport("******* M457 ObjectSetup *********\n"); - objman = omInitObjMan(600, 0x2000); - omGameSysInit(objman); - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 30.0f, 20.0f, 25000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - CZoom = 3200.0f; - Center.x = 0.0f; - Center.y = 0.0f; - Center.z = -100.0f; - CRot.x = -30.0f; - CRot.y = 0.0f; - CRot.z = 0.0f; - { - Vec pos = { 0.0f, 0.0f, 0.0f }; - Vec destination = { 0.25f, -0.75f, -0.45f }; - GXColor color = { 0xFF, 0xFF, 0xFF, 0xFF }; - - lightId = Hu3DGLightCreateV(&pos, &destination, &color); - } - Hu3DGLightStaticSet(lightId, 1); - Hu3DGLightInfinitytSet(lightId); - { - Vec camPos; - Vec camUp; - Vec camTarget; - - camPos.x = 0.0f; - camPos.y = 10000.0f; - camPos.z = 0.0f; - camUp.x = 0.0f; - camUp.y = 1.0f; - camUp.z = 0.0f; - camTarget.x = 0.0f; - camTarget.y = 0.0f; - camTarget.z = 0.5f; - Hu3DShadowCreate(12.0f, 9000.0f, 10010.0f); - Hu3DShadowTPLvlSet(0.625f); - Hu3DShadowPosSet(&camPos, &camUp, &camTarget); - } - Hu3DShadowSizeSet(224); - lbl_1_data_2A4 = -1; - lbl_1_bss_44 = -1; - againstBrowserF = _CheckFlag(FLAG_ID_MAKE(1, 0)) != 0; - HuWinInit(1); - gameObj = omAddObjEx(objman, 101, 10, 4, 1, M457GameSetup); - for (i = 0; i < 2; i++) { - object = playerObj[i] = omAddObjEx(objman, 100, 1, 12, 0, M457PlayerSetup); - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(PlayerData), MEMORY_DEFAULT_NUM); - object->work[0] = i; - } - omViewObj = omAddObjEx(objman, 0x7FDA, 0, 0, -1, omOutView); - mainObj = omAddObjEx(objman, 103, 0, 0, -1, M457Setup); -} - -static void M457Exit(omObjData *object) -{ - PlayerData *playerData; - s32 i; - - if (WipeStatGet() == 0) { - for (i = 0; i < 2; i++) { - playerData = playerObj[i]->data; - } - if (lbl_1_data_2A4 >= 0) { - MGSeqKill(lbl_1_data_2A4); - } - MGSeqKillAll(); - HuAudAllStop(); - omOvlReturnEx(1, 1); - } -} diff --git a/src/REL/m458Dll/main.c b/src/REL/m458Dll/main.c deleted file mode 100644 index 3b261cd0..00000000 --- a/src/REL/m458Dll/main.c +++ /dev/null @@ -1,1531 +0,0 @@ -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/esprite.h" -#include "game/flag.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" -#include "string.h" - -#include "game/frand.h" - -extern s32 rand8(void); - -typedef struct UnkCameraStruct { - /* 0x00 */ float unk_00; - /* 0x04 */ float unk_04; - /* 0x08 */ float unk_08; - /* 0x0C */ float unk_0C; - /* 0x10 */ float unk_10; - /* 0x14 */ float unk_14; -} UnkCameraStruct; /* size = 0x18 */ - -typedef struct UnkBssCCStruct { - /* 0x00 */ s32 unk_00; - /* 0x04 */ float unk_04[3]; -} UnkBssCCStruct; /* size = 0x10 */ - -typedef struct UnkBss28CStruct { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ float unk_08; - /* 0x0C */ s32 unk_0C; -} UnkBss28CStruct; /* size = 0x10 */ - -typedef struct UnkData114Struct { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ float unk_08; - /* 0x0C */ float unk_0C; - /* 0x10 */ float unk_10; - /* 0x14 */ float unk_14; -} UnkData114Struct; /* size = 0x18 */ - -typedef struct M458DllWork { - s32 unk_00; - s32 unk_04; - s32 unk_08; - s32 unk_0C; - s32 unk_10; - s32 unk_14; - s32 unk_18; - s32 unk_1C; - s32 unk_20; - s32 unk_24; - float unk_28; - float unk_2C; - char unk30[4]; - float unk_34; - s32 unk_38; - s32 unk_3C; - s32 unk_40; -} M458DllWork; /* size = 0x44 */ - -s16 fn_1_4BE8(); -void fn_1_6D9C(omObjData *arg0); - -s32 lbl_1_data_0[2] = { 0x570025, 0x570026 }; -s32 lbl_1_data_8[2] = { 0, 0 }; -s32 lbl_1_data_10[0xA] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x05), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x06), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x36), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x2F), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x1A), - 0x570000, - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), -}; -u32 lbl_1_data_38[0xA] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }; -u32 lbl_1_data_60[0xA] = { 0x30008, 0, 0, 0x3000A, 0, 0, 0x57002A, 0x570028, 0x570029, 0x570027 }; -u8 lbl_1_data_88[0xA] = { 0, 0, 0, 1, 1, 1, 1, 0, 1, 1 }; -u8 lbl_1_data_92[0xA] = { 0, 0, 0, 1, 1, 1, 1, 0, 1, 1 }; -s32 lbl_1_data_9C[0xA] = { 8, 8, 8, 0, 0, 0, 8, 8, 8, 8 }; -s32 lbl_1_data_C4[0xA] = { 0, 0, 0, 0, 3, 0, 0, 0, 0, 0 }; -s32 lbl_1_data_EC[0xA] = { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 }; -UnkData114Struct lbl_1_data_114 = { 0, 0, 0.0f, 0.0f, 0.0f, 0.0f }; -s16 lbl_1_data_12C = -1; -s16 lbl_1_data_12E = -1; -s32 lbl_1_data_130 = -1; -s32 lbl_1_data_134 = -1; -s16 lbl_1_data_138[0x12] = { - -1, - 0, - -0x3D4C, - 0, - 0, - 0, - 0x4403, - 0x4000, - 0x4334, - 0, - 0x42B4, - 0, - 0, - 0, - 0x4403, - 0x4000, - 0x4334, - 0, -}; -s32 lbl_1_data_15C = -1; - -UnkBss28CStruct lbl_1_bss_28C[9]; -UnkBssCCStruct lbl_1_bss_CC[0x1C]; -omObjData *lbl_1_bss_C8; -omObjData *lbl_1_bss_C4; -omObjData *lbl_1_bss_C0; -omObjData *lbl_1_bss_BC; -omObjData *lbl_1_bss_B8; -s32 lbl_1_bss_B4; -s32 lbl_1_bss_B0; -s32 lbl_1_bss_AC; -s32 lbl_1_bss_A8; -s32 lbl_1_bss_A4; -Process *lbl_1_bss_A0; -s32 lbl_1_bss_9C; -s32 lbl_1_bss_98; -s32 lbl_1_bss_94; -s32 lbl_1_bss_90; -s32 lbl_1_bss_8C; -HsfanimStruct00 lbl_1_bss_3C; -float lbl_1_bss_38; -float lbl_1_bss_34; -float lbl_1_bss_30; -float lbl_1_bss_2C; -float lbl_1_bss_28; -s32 lbl_1_bss_24; -s32 lbl_1_bss_20; -s32 lbl_1_bss_1C; -s32 lbl_1_bss_18; -s32 lbl_1_bss_14; -s32 lbl_1_bss_10; -s16 lbl_1_bss_C; -s32 lbl_1_bss_8; -s32 lbl_1_bss_4; -s32 lbl_1_bss_0; - -void fn_1_A0(void) -{ - if ((HuPadBtnDown[0] & PAD_BUTTON_B) != 0) { - Center.x = lbl_1_bss_BC->trans.x; - Center.y = lbl_1_bss_BC->trans.y; - Center.z = lbl_1_bss_BC->trans.z; - } - Center.x += 10.0 * (((HuPadBtn[0] & PAD_BUTTON_RIGHT) != 0) - ((HuPadBtn[0] & PAD_BUTTON_LEFT) != 0)); - Center.z -= 10.0 * (((HuPadBtn[0] & PAD_BUTTON_UP) != 0) - ((HuPadBtn[0] & PAD_BUTTON_DOWN) != 0)); - Center.y += (30.0 * ((HuPadTrigL[0] - HuPadTrigR[0]) / 128.0)); - CZoom += 25.0 * (((HuPadBtn[0] & PAD_BUTTON_X) != 0) - ((HuPadBtn[0] & PAD_BUTTON_Y) != 0)); - CRot.y += HuPadSubStkX[0] / 16.0; - CRot.x += HuPadSubStkY[0] / -16.0; - print8(0x40, 0x188, 1.0f, "%f,%f,%f", Center.x, Center.y, Center.z); - print8(0x40, 0x198, 1.0f, "%f,%f,%f", CRot.x, CRot.y, CRot.z); - print8(0x40, 0x1A8, 1.0f, "%f", CZoom); -} - -s32 lbl_1_data_16C = -1; - -void fn_1_4C8(omObjData *object) -{ - float var_f31; - float var_f30; - float var_f28; - float var_f27; - float var_f26; - float var_f25; - float var_f24; - float var_f23; - float var_f22; - float var_f21; - float var_f20; - - M458DllWork *var_r31; - ModelData *var_r29; - s16 var_r28; - M458DllWork *var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - ModelData *var_r23; - s32 var_r22; - s32 var_r21; - s32 var_r20; - s32 var_r19; - s32 var_r18; - s32 var_r17; - - Mtx sp1E0; - float sp1A8[2]; - float sp1A0[2]; - s32 spD0; - s32 spCC; - s32 spC8; - s32 spC4; - s32 spC0; - float spBC; - s32 spB8; - ModelData *spB4; - float spB0; - float spAC; - s32 spA8; - s32 spA4; - - var_r31 = object->data; - var_r27 = (&lbl_1_bss_BC)[1 - object->work[0]]->data; - var_f23 = 0.0f; - var_f22 = 0.0f; - var_f28 = 0.0f; - var_r22 = 0; - var_r28 = -1; - var_r31->unk_2C = var_r31->unk_34 = 0.0f; - if ((lbl_1_bss_B0 == (var_r31->unk_00 == 0 ? 0x3F1 : 0x3F2)) && (var_r31->unk_18 == 3) && (var_r31->unk_1C >= 0x168)) { - if (var_r31->unk_1C == 0x168) { - var_r31->unk_14 = rand8() % 15; - } - if (var_r31->unk_0C != -1) { - var_r22 = (HuPadBtnDown[var_r31->unk_0C] & 0x100) != 0 ? 1 : 0; - } - else { - var_r31->unk_14 += var_r31->unk_14 < 0x10000; - if (var_r31->unk_14 == 0x1E) { - var_r22 = 1; - } - } - } - if (lbl_1_bss_B0 == (var_r31->unk_00 == 0 ? 0x3ED : 0x3EF)) { - var_r25 = 0; - var_r24 = 0; - if (var_r31->unk_0C != -1) { - var_r25 = HuPadStkX[var_r31->unk_0C] < -0x14 ? -1 : (HuPadStkX[var_r31->unk_0C] > 0x14 ? 1 : 0); - var_r24 = -HuPadStkY[var_r31->unk_0C] < -0x14 ? -1 : (-HuPadStkY[var_r31->unk_0C] > 0x14 ? 1 : 0); - var_r22 = (HuPadBtnDown[var_r31->unk_0C] & 0x100) != 0 ? 1 : 0; - } - else { - var_r31->unk_14 += var_r31->unk_14 < 0x10000; - if (var_r31->unk_14 == 0x1E) { - lbl_1_bss_94 = rand8() % (var_r31->unk_00 + 2); - lbl_1_bss_90 = rand8() % (var_r31->unk_00 + 2); - } - if (fabs((500.0 * var_r31->unk_3C) - object->trans.x) < 10.0) { - var_r25 = lbl_1_bss_94 > 0 ? (var_r31->unk_00 == 0 ? (((rand8() % 2) * 2) - 1) : -1) : 0; - lbl_1_bss_94 -= lbl_1_bss_94 > 0; - } - if (fabs((500.0 * var_r31->unk_40) - object->trans.z) < 10.0) { - var_r24 = lbl_1_bss_90 > 0 ? (var_r31->unk_00 == 0 ? (((rand8() % 2) * 2) - 1) : -1) : 0; - lbl_1_bss_90 -= lbl_1_bss_90 > 0; - } - if ((var_r31->unk_14 >= 0x2D) && ((var_r31->unk_14 % 30) == 0xF) && (lbl_1_bss_94 == 0) && (lbl_1_bss_90 == 0)) { - var_r22 = 1; - } - } - if (lbl_1_bss_B4 >= 0x32) { - var_r25 = var_r24 = 0; - } - if (var_r31->unk_00 == 1) { - spC4 = 0; - spC0 = 0; - if (fabs((500.0 * var_r31->unk_3C) - object->trans.x) < 10.0) { - var_r17 = spD0 = object->trans.x < -250.0 ? -1 : (object->trans.x > 250.0 ? 1 : 0); - } - else { - var_r17 = (object->trans.x < 0.0f ? -1 : 0); - spD0 = var_r17 + 1; - } - if (fabs((500.0 * var_r31->unk_40) - object->trans.z) < 10.0) { - spCC = spC8 = object->trans.z < -250.0 ? -1 : (object->trans.z > 250.0 ? 1 : 0); - } - else { - spCC = object->trans.z < 0.0f ? -1 : 0; - spC8 = spCC + 1; - } - for (var_r21 = var_r17; var_r21 <= spD0; var_r21++) { - for (var_r20 = spCC; var_r20 <= spC8; var_r20++) { - if (var_r27->unk_38 == 1 + var_r21 + var_r25 + (1 + var_r20 + var_r24) * 3) { - var_r25 = var_r24 = 0; - } - if (var_r27->unk_38 == 1 + var_r21 + var_r25 + (var_r20 + 1) * 3) { - var_r25 = 0; - } - if (var_r27->unk_38 == 1 + var_r21 + (1 + var_r20 + var_r24) * 3) { - var_r24 = 0; - } - } - } - } - if ((var_r25 * ((500.0 * var_r31->unk_3C) - object->trans.x)) < 0.0) { - var_r31->unk_3C = var_r31->unk_3C + var_r25; - } - if ((fabs((500.0 * var_r31->unk_3C) - object->trans.x) < 10.0) && (var_r25 != 0) && ((var_r31->unk_3C + var_r25) >= -1) - && ((var_r31->unk_3C + var_r25) <= 1)) { - var_r31->unk_3C = var_r31->unk_3C + var_r25; - } - var_f23 = (((500.0 * var_r31->unk_3C) - object->trans.x) / 0.25) / 1.75; - if ((var_r24 * ((500.0 * var_r31->unk_40) - object->trans.z)) < 0.0) { - var_r31->unk_40 = var_r31->unk_40 + var_r24; - } - if ((fabs((500.0 * var_r31->unk_40) - object->trans.z) < 10.0) && (var_r24 != 0) && ((var_r31->unk_40 + var_r24) >= -1) - && ((var_r31->unk_40 + var_r24) <= 1)) { - var_r31->unk_40 = var_r31->unk_40 + var_r24; - } - var_f22 = (((500.0 * var_r31->unk_40) - object->trans.z) / -0.25) / 1.75; - } - if (((var_r31->unk_00 != 1) || (var_r31->unk_08 != -1)) && (var_r31->unk_18 == 0)) { - if ((lbl_1_bss_B0 > (var_r31->unk_00 == 0 ? 0x3E9 : 0x3EE)) && (lbl_1_bss_B0 < 0x3F3)) { - var_f31 = 0.25 * var_f23; - var_f30 = 0.25 * -var_f22; - { - Vec sp1B0 = { 0.0f, 0.0f, 0.0f }; - sp1B0.x = var_f31; - sp1B0.z = var_f30; - MTXRotRad(sp1E0, 0x79, 0.017453292f * CRot.y); - MTXMultVec(sp1E0, &sp1B0, &sp1B0); - var_f31 = sp1B0.x; - var_f30 = sp1B0.z; - } - var_f28 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); - if (var_f28 >= 0.5f) { - if (var_f28 < 10.0f) { - var_r31->unk_2C = var_f31; - var_r31->unk_34 += var_f30; - } - else { - var_f31 = var_f31 / var_f28; - var_f30 = var_f30 / var_f28; - var_f28 = 10.0f; - var_r31->unk_2C = var_f31 * var_f28; - var_r31->unk_34 = var_f30 * var_f28; - } - var_r31->unk_28 = var_f28; - object->rot.y = atan2d(var_r31->unk_2C, var_r31->unk_34); - if (var_r31->unk_28 >= 8.0f) { - var_r28 = 2; - } - else { - var_r28 = 2; - } - } - else { - var_r28 = 0; - } - } - } - object->trans.x += 1.75f * var_r31->unk_2C; - object->trans.z += 1.75f * var_r31->unk_34; - switch (lbl_1_bss_B0) { - case 0x3E9: - case 0x3EE: - if (lbl_1_bss_B0 == (var_r31->unk_00 == 0 ? 0x3E9 : 0x3EE)) { - if (lbl_1_bss_B4 == 0) { - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - if (var_r31->unk_00 == 0) { - object->trans.x = 0.0f; - object->trans.z = 0.0f; - } - else if (var_r31->unk_08 != -1) { - var_r31->unk_3C = -2; - for (var_r18 = 2; var_r18 >= 0; var_r18--) { - for (var_r19 = 2; var_r19 >= 0; var_r19--) { - if (var_r27->unk_38 != (var_r18 + (var_r19 * 3))) { - var_r31->unk_3C = var_r19 - 1; - var_r31->unk_40 = var_r18 - 1; - object->trans.x = 500.0 * var_r31->unk_3C; - object->trans.z = 500.0 * var_r31->unk_40; - break; - } - } - if (var_r31->unk_3C != -2) { - break; - } - } - } - else { - do { - var_r31->unk_38 = rand8() % 9; - } while (var_r27->unk_38 == var_r31->unk_38); - var_r31->unk_3C = (var_r31->unk_38 % 3) - 1; - var_r31->unk_40 = (var_r31->unk_38 / 3) - 1; - object->trans.x = 500.0 * var_r31->unk_3C; - object->trans.z = 500.0 * var_r31->unk_40; - } - } - if (lbl_1_bss_B4 <= 0x1E) { - if (var_r31->unk_08 == -1) { - Hu3DMotionTimeSet(object->model[0], 138.0f); - } - object->trans.y = 2400.0 * (1.0 - (lbl_1_bss_B4 / 30.0)); - } - if ((var_r31->unk_08 != -1) && (lbl_1_bss_B4 == 0x1E)) { - var_r28 = 4; - } - if (lbl_1_bss_B4 == ((var_r31->unk_08 != -1 ? 0xA : 0x3C) + 0x1E)) { - var_r28 = 0; - } - if (lbl_1_bss_B4 == 0x1E) { - lbl_1_data_114.unk_04 += 0x32; - } - if (lbl_1_bss_B4 == 0x1E) { - HuAudFXPlay(0x33D); - } - } - break; - case 0x3EB: - if ((lbl_1_bss_B4 == 0) && (var_r31->unk_00 == 0)) { - var_r31->unk_18 = 1; - var_r31->unk_1C = 0; - } - break; - case 0x3ED: - case 0x3EF: - if (lbl_1_bss_B0 == (var_r31->unk_00 == 0 ? 0x3ED : 0x3EF)) { - if (lbl_1_bss_B4 == 0) { - lbl_1_bss_0 = 0x12C; - lbl_1_data_12E = MGSeqCreate(1, 0xA, -1, -1); - HuWinMesMaxSizeGet(1, sp1A8, 0x280019); - lbl_1_bss_C = HuWinCreate(-10000.0f, 400.0f, sp1A8[0], sp1A8[1], 1); - HuWinBGTPLvlSet(lbl_1_bss_C, 0.0f); - HuWinMesSpeedSet(lbl_1_bss_C, 0); - HuWinMesSet(lbl_1_bss_C, 0x280019); - } - if (lbl_1_data_12E != -1) { - MGSeqParamSet(lbl_1_data_12E, 1, (lbl_1_bss_0 + 0x3A) / 60); - } - lbl_1_bss_0--; - if ((var_r22 != 0) || (lbl_1_bss_0 == 0)) { - lbl_1_bss_B4 = 0x32; - MGSeqKill(lbl_1_data_12E); - lbl_1_data_12E = -1; - HuWinExCleanup(lbl_1_bss_C); - } - if (lbl_1_bss_B4 == 0x32) { - if (fabs((500.0 * var_r31->unk_3C) - object->trans.x) < 1.0) { - if (fabs((500.0 * var_r31->unk_40) - object->trans.z) < 1.0) { - lbl_1_bss_B4 = 0x3C; - object->rot.y = 0.0f; - var_r31->unk_38 = 1 + var_r31->unk_3C + ((var_r31->unk_40 + 1) * 3); - } - } - } - } - break; - case 0x3F1: - case 0x3F2: - if ((lbl_1_bss_B0 == (var_r31->unk_00 == 0 ? 0x3F1 : 0x3F2)) && (lbl_1_bss_B4 == 0) && (var_r31->unk_08 != -1)) { - HuWinMesMaxSizeGet(1, sp1A0, 0x300025); - lbl_1_bss_C = HuWinCreate(-10000.0f, 400.0f, sp1A0[0], sp1A0[1], 1); - HuWinBGTPLvlSet(lbl_1_bss_C, 0.0f); - HuWinMesSpeedSet(lbl_1_bss_C, 0); - HuWinMesSet(lbl_1_bss_C, 0x300025); - } - break; - case 0x3F3: - if (lbl_1_bss_98 != var_r31->unk_00) { - if (lbl_1_bss_B4 == 1) { - var_r28 = 7; - } - if (lbl_1_bss_B4 == 0x78) { - Hu3DModelAttrReset(lbl_1_bss_B8->model[var_r31->unk_38 + 4], HU3D_MOTATTR_PAUSE); - if (lbl_1_bss_CC[0].unk_00 < 3) { - lbl_1_bss_CC[0].unk_04[lbl_1_bss_CC[0].unk_00] = 0.0f; - lbl_1_bss_CC[0].unk_00++; - } - } - if (lbl_1_bss_B4 == 0x99) { - Hu3DModelAttrSet(lbl_1_bss_B8->model[var_r31->unk_38 + 4], HU3D_MOTATTR_PAUSE); - } - if (lbl_1_bss_B4 == 0xB7) { - Hu3DModelAttrReset(lbl_1_bss_B8->model[var_r31->unk_38 + 4], HU3D_MOTATTR_PAUSE); - } - if ((lbl_1_bss_B4 == 0xBC) && (lbl_1_bss_CC[1].unk_00 < 3)) { - lbl_1_bss_CC[1].unk_04[lbl_1_bss_CC[1].unk_00] = 0.0f; - lbl_1_bss_CC[1].unk_00++; - } - if (lbl_1_bss_B4 == 0xD2) { - var_r28 = 8; - espAttrReset(lbl_1_data_8[1], HUSPR_ATTR_DISPOFF); - if (lbl_1_bss_CC[(var_r31->unk_08 != -1 ? var_r31->unk_08 : 8) + 2].unk_00 < 3) { - lbl_1_bss_CC[(var_r31->unk_08 != -1 ? var_r31->unk_08 : 8) + 2] - .unk_04[lbl_1_bss_CC[(var_r31->unk_08 != -1 ? var_r31->unk_08 : 8) + 2].unk_00] - = 0.0f; - lbl_1_bss_CC[(var_r31->unk_08 != -1 ? var_r31->unk_08 : 8) + 2].unk_00++; - } - if (lbl_1_data_130 != -1) { - HuAudSeqFadeOut(lbl_1_data_130, 0x64); - lbl_1_data_130 = -1; - } - } - if ((lbl_1_bss_B4 >= 0xD2) && (lbl_1_bss_B4 <= 0xD6)) { - s32 sp1BC[9] = { 0, -12, -36, 0, 0, -12, -36, -48, 0 }; - spBC = (lbl_1_bss_B4 - 0xD2) / 4.0; - var_f26 = (lbl_1_bss_B4 - 0xD2) / 4.0; - var_f26 = var_f26 > 1.0f ? 1.0f : var_f26; - espPosSet(lbl_1_data_8[1], 290.0f, (64.0f * (1.0f - spBC)) + (sp1BC[(var_r31->unk_08 != -1 ? var_r31->unk_08 : 8)] + 0x8C)); - espScaleSet(lbl_1_data_8[1], var_f26, var_f26); - } - if (lbl_1_bss_B4 == 0x10E) { - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - espAttrSet(lbl_1_data_8[1], HUSPR_ATTR_DISPOFF); - } - if (lbl_1_bss_B4 == 0x122) { - spB8 = HuAudFXPlay((var_r31->unk_08 != -1 ? var_r31->unk_08 : 8) + 0x800); - HuAudFXFadeOut(spB8, 0x9C4); - } - if (lbl_1_bss_B4 >= 0x13B) { - object->trans.y -= 77.0f; - } - } - else if ((lbl_1_bss_B4 == 0x3C) && (lbl_1_data_138[0] != -1)) { - Hu3DParManKill(lbl_1_data_138[0]); - lbl_1_data_138[0] = -1; - } - break; - case 0x3F4: - if (var_r31->unk_00 == lbl_1_bss_98) { - if ((lbl_1_bss_B4 == 1) && (var_r31->unk_08 == -1)) { - HuAudFXPlay(0x3A); - } - var_r28 = 9; - } - break; - } - switch (var_r31->unk_18) { - case 0: - var_r31->unk_1C++; - break; - case 1: - var_r31->unk_1C++; - if (var_r31->unk_1C <= 0x3C) { - var_r28 = 5; - object->rot.y = -180.0 * (var_r31->unk_1C / 60.0); - } - else { - Hu3DMotionTimeSet(object->model[0], 120.0f); - var_r28 = 0; - var_r31->unk_18 = 0; - var_r31->unk_1C = 0; - } - break; - case 2: - var_r31->unk_1C++; - break; - case 3: - if (var_r31->unk_1C == 0) { - lbl_1_data_15C = 6; - } - if (var_r31->unk_1C < 0x168) { - var_r23 = &Hu3DData[lbl_1_bss_B8->model[3]]; - if (var_r31->unk_1C == 0) { - Hu3DModelAttrReset(lbl_1_bss_B8->model[3], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(lbl_1_bss_B8->model[3], object->trans.x, 625.0f + object->trans.y, object->trans.z); - Hu3DModelScaleSet(lbl_1_bss_B8->model[3], 0.1f, 0.1f, 0.1f); - Hu3DModelTPLvlSet(lbl_1_bss_B8->model[3], 1.0f); - lbl_1_bss_1C = 0; - HuAudFXPlay(0x7F4); - lbl_1_data_16C = HuAudFXPlay(0x7F3); - } - var_r23->rot.y = lbl_1_bss_1C % 360; - lbl_1_bss_1C += 0x19; - if (var_r31->unk_1C < 0xB4) { - var_f20 = 0.0f; - var_f21 = 1.0f; - } - else { - var_f20 = 1.0f; - var_f21 = 0.5f; - } - var_r23->scale.x = var_f20 + (var_f21 * sind((float)(var_r31->unk_1C % 180))); - var_r23->scale.y = var_r23->scale.z = var_r23->scale.x; - if (var_r31->unk_1C < 0xB4) { - var_r31->unk_1C += 6; - } - else { - var_r31->unk_1C = var_r31->unk_1C + 0x12; - } - if (var_r31->unk_1C >= 0x168) { - var_r31->unk_1C = 0x168; - Hu3DModelRotSet(lbl_1_bss_B8->model[3], 0.0f, 0.0f, 0.0f); - } - } - else { - spB4 = &Hu3DData[lbl_1_bss_B8->model[3]]; - var_r31->unk_1C = var_r31->unk_1C + 4; - if (var_r31->unk_1C > 0x2D0) { - var_r31->unk_1C -= 0x168; - } - spB4->pos.y += (0.20000000298023224 * sind((var_r31->unk_1C - 0x168))); - if (var_r22 != 0) { - lbl_1_bss_B4 = 0x32; - var_r31->unk_18 = 4; - var_r31->unk_1C = 0; - var_r28 = 6; - } - } - break; - case 4: - var_r31->unk_1C++; - if (var_r31->unk_1C >= 0x1B) { - var_r29 = &Hu3DData[lbl_1_bss_B8->model[3]]; - var_r26 = var_r31->unk_1C - 0x1B; - if (var_r26 == 0) { - if (var_r31->unk_04 != -1) { - omVibrate(var_r31->unk_04, 0xC, 4, 2); - } - HuWinExCleanup(lbl_1_bss_C); - lbl_1_data_15C = -1; - if (lbl_1_data_16C != -1) { - HuAudFXStop(lbl_1_data_16C); - lbl_1_data_16C = -1; - } - HuAudFXPlay(0x7F5); - } - if (var_r26 == 8) { - if (lbl_1_data_138[0] == -1) { - lbl_1_data_138[0] = fn_1_4BE8(); - Hu3DParManPosSet(lbl_1_data_138[0], var_r29->pos.x, var_r29->pos.y, var_r29->pos.z); - } - Hu3DModelAttrSet(lbl_1_bss_B8->model[3], HU3D_ATTR_DISPOFF); - } - else if (var_r26 > 8) { - if (var_r31->unk_20 == 6) { - if (Hu3DMotionTimeGet(object->model[0]) >= Hu3DMotionMaxTimeGet(object->model[0])) { - var_r28 = 0; - } - } - if (var_r26 <= 0x1C) { - var_f27 = (var_r26 - 8) / 10.0; - spB0 = ((var_r26 - 8) * 0x12); - var_f27 = var_f27 > 1.0f ? 2.5 : 2.5 * var_f27; - Hu3DModelAttrReset(lbl_1_bss_B8->model[lbl_1_bss_18 + 0xD], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(lbl_1_bss_B8->model[lbl_1_bss_18 + 0xD], var_r29->pos.x, var_r29->pos.y, var_r29->pos.z); - Hu3DModelScaleSet(lbl_1_bss_B8->model[lbl_1_bss_18 + 0xD], var_f27, var_f27, var_f27); - } - if ((var_r26 >= 0x2D) && (var_r26 <= 0x41)) { - var_f25 = (var_r26 - 0x2D) / 5.0; - spAC = (var_r26 - 0x2D) * 0x12; - var_f25 = var_f25 > 1.0f ? 1.0f : var_f25; - var_f25 = 0.0; - Hu3DModelAttrReset(lbl_1_bss_B8->model[lbl_1_bss_18 + 0xD], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(lbl_1_bss_B8->model[lbl_1_bss_18 + 0xD], var_r29->pos.x, var_r29->pos.y - (30.0f * var_f25), var_r29->pos.z); - var_r31->unk_1C += 5; - } - if (var_r26 == 0x62) { - Hu3DModelAttrSet(lbl_1_bss_B8->model[lbl_1_bss_18 + 0xD], HU3D_ATTR_DISPOFF); - lbl_1_bss_18 = lbl_1_bss_18 >= 9 ? var_r27->unk_38 : lbl_1_bss_18; - if (lbl_1_bss_18 == var_r27->unk_38) { - lbl_1_bss_98 = var_r31->unk_00; - } - else if (lbl_1_bss_18 == var_r31->unk_38) { - lbl_1_bss_98 = var_r27->unk_00; - } - var_r31->unk_18 = lbl_1_bss_98 == -1 ? 5 : 0; - var_r31->unk_1C = 0; - } - } - else { - if (var_r26 < 4) { - var_r29->pos.y += 10.0f + (0.5f * var_r26); - var_r29->scale.x += 0.10000000149011612 * sind((4.0f * var_r26)); - var_r29->scale.y = var_r29->scale.z = var_r29->scale.x; - } - else { - var_f24 = (0xFF - (var_r26 << 5)); - var_f24 = var_f24 * 0.003921569f; // 1 / 255 - Hu3DModelTPLvlSet(lbl_1_bss_B8->model[3], var_f24); - } - var_r29->pos.y += -0.49f * var_r26 * var_r26; - } - } - break; - case 5: - if (var_r31->unk_1C == 0) { - Hu3DModelAttrReset(lbl_1_bss_B8->model[lbl_1_bss_18 + 4], HU3D_MOTATTR_PAUSE); - lbl_1_bss_28C[lbl_1_bss_18].unk_0C = 0; - if (lbl_1_bss_CC[0].unk_00 < 3) { - lbl_1_bss_CC[0].unk_04[lbl_1_bss_CC->unk_00] = 0.0f; - lbl_1_bss_CC[0].unk_00++; - } - } - var_r31->unk_1C++; - if ((var_r31->unk_1C == 0x3C) && (*lbl_1_data_138 != -1)) { - Hu3DParManKill(*lbl_1_data_138); - lbl_1_data_138[0] = -1; - } - if (var_r31->unk_1C == 0x21) { - Hu3DModelAttrSet(lbl_1_bss_B8->model[lbl_1_bss_18 + 4], HU3D_MOTATTR_PAUSE); - } - if (var_r31->unk_1C == 0x3F) { - Hu3DModelAttrReset(lbl_1_bss_B8->model[lbl_1_bss_18 + 4], HU3D_MOTATTR_PAUSE); - } - if ((var_r31->unk_1C == 0x44) && (lbl_1_bss_CC[1].unk_00 < 3)) { - lbl_1_bss_CC[1].unk_04[lbl_1_bss_CC[1].unk_00] = 0.0f; - lbl_1_bss_CC[1].unk_00++; - } - if (var_r31->unk_1C == 0x82) { - var_r31->unk_18 = 0; - var_r31->unk_1C = 0; - } - break; - } - if (((var_r31->unk_18 == 3) || (var_r31->unk_18 == 4)) && (lbl_1_data_15C >= 0)) { - lbl_1_data_15C++; - if (lbl_1_data_15C >= 6) { - spA4 = lbl_1_bss_18; - for (spA8 = 0; spA8 < 0x32; spA8++) { - do { - lbl_1_bss_18 = rand8() % 11; - } while ((lbl_1_bss_18 >= 9 && lbl_1_bss_18 == var_r31->unk_00 + 9) || (lbl_1_bss_18 < 9 && lbl_1_bss_28C[lbl_1_bss_18].unk_0C == 0)); - if (spA4 != lbl_1_bss_18) { - break; - } - } - spA4 = lbl_1_bss_18 >= 9 ? (var_r27->unk_08 == -1 ? 0x11 : (var_r27->unk_08 + 9)) : lbl_1_bss_18; - lbl_1_data_15C = 0; - Hu3DMotionTimeSet(lbl_1_bss_B8->model[3], 0.5 + spA4); - } - } - if (var_r31->unk_24 >= 0) { - var_r28 = var_r31->unk_24; - } - if ((var_r28 >= 0) && (var_r28 != var_r31->unk_20)) { - Hu3DMotionShiftSet(object->model[0], object->motion[var_r28], lbl_1_data_C4[var_r28], - (var_r31->unk_08 != -1 ? lbl_1_data_9C[var_r28] : lbl_1_data_EC[var_r28]), - (var_r28 == 8 ? 0x40000002 - : (var_r31->unk_08 != -1 ? lbl_1_data_88[var_r28] : lbl_1_data_92[var_r28]) != 0 ? 0 - : 0x40000001)); - var_r31->unk_20 = var_r28; - } -} - -s32 lbl_1_data_1A0 = -1; -float lbl_1_data_1A4 = 3500.0f; -float lbl_1_data_1A8 = 100.0f; -float lbl_1_data_1AC = -59.0f; - -void fn_1_350C(omObjData *var_r27) -{ - M458DllWork *spC[2]; - float var_f31; - float var_f29; - float var_f27; - float var_f26; - float var_f25; - float var_f19; - - s32 var_r31; - s32 var_r30; - ModelData *var_r29; - ModelData *var_r28; - ModelData *var_r26; - s32 var_r25; - - for (var_r31 = 0; var_r31 < 2; var_r31++) { - spC[var_r31] = (&lbl_1_bss_BC)[var_r31]->data; - } - lbl_1_bss_4++; - switch (lbl_1_bss_B0) { - case 0x3EA: - if (lbl_1_bss_B4 <= 0x77) { - var_f27 = lbl_1_bss_B4 / 119.0; - var_f27 = var_f27 > 1.0f ? 1.0f : var_f27; - Hu3DModelPosSet(lbl_1_bss_B8->model[2], 0.0f, 100.0f + (-1500.0f * (1.0f - var_f27)), -950.0f); - Hu3DModelAttrReset(lbl_1_bss_B8->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_B8->model[2], HU3D_ATTR_DISPOFF); - } - break; - case 0x3EB: - if (lbl_1_bss_B4 == 0) { - lbl_1_bss_8C = 0; - } - if (lbl_1_bss_B4 == 0x14) { - espAttrReset(lbl_1_data_8[0], HUSPR_ATTR_DISPOFF); - } - if (((lbl_1_bss_B4 >= 0x14) && (lbl_1_bss_B4 <= 0x32)) || ((lbl_1_bss_B4 >= 0xB4) && (lbl_1_bss_B4 <= 0xD2))) { - var_f19 = lbl_1_bss_B4 <= 0x78 ? ((lbl_1_bss_B4 - 0x14) / 30.0) : (1.0 - ((lbl_1_bss_B4 - 0xB4) / 30.0)); - espTPLvlSet(lbl_1_data_8[0], var_f19); - } - if (lbl_1_bss_B4 == 0xD2) { - espAttrSet(lbl_1_data_8[0], HUSPR_ATTR_DISPOFF); - } - case 0x3EC: - case 0x3ED: - lbl_1_bss_8C++; - lbl_1_bss_8C %= 0x168; - if (lbl_1_bss_14 != 0) { - Hu3DModelPosSet(lbl_1_bss_B8->model[2], 0.0f, 100.0 + (25.0 * sind((360.0 * ((lbl_1_bss_8C % 360) / 360.0)))), -950.0f); - } - break; - case 0x3EE: - if (lbl_1_bss_14 != 0) { - var_r26 = &Hu3DData[lbl_1_bss_B8->model[2]]; - if (lbl_1_bss_B4 >= 7) { - var_r26->pos.y += 12.5; - } - if (lbl_1_bss_B4 == 0) { - Hu3DMotionShiftSet(var_r27->model[1], var_r27->motion[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - } - else { - var_r29 = &Hu3DData[lbl_1_bss_B8->model[spC[0]->unk_38 + 4]]; - if (lbl_1_bss_20 == 0) { - lbl_1_bss_20 = 1; - HuAudFXPlay(0x7F6); - } - if (lbl_1_bss_B4 == 1) { - lbl_1_bss_28C[spC[0]->unk_38].unk_08 = 83.333336f; - } - var_r29->pos.y = (0.9 * var_r29->pos.y) + (0.1 * lbl_1_bss_28C[spC[0]->unk_38].unk_08); - lbl_1_bss_BC->trans.y = var_r29->pos.y - -16.666666666666668; - } - break; - case 0x3F0: - Hu3DModelAttrSet(lbl_1_bss_B8->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_B8->model[2], HU3D_ATTR_DISPOFF); - if (lbl_1_bss_B4 <= 0x3C) { - var_f29 = lbl_1_bss_B4 / 60.0; - var_f29 = var_f29; - var_f29 = 1.0f - ((1.0f - var_f29) * (1.0f - var_f29)); - if (lbl_1_bss_B4 == 0) { - lbl_1_bss_28C[spC[0]->unk_38].unk_08 = -16.666666f; - } - for (var_r31 = 0; var_r31 < 9; var_r31++) { - var_r28 = &Hu3DData[lbl_1_bss_B8->model[var_r31 + 4]]; - Hu3DModelPosSet(lbl_1_bss_B8->model[var_r31 + 4], (500.0 + (200.0f * var_f29)) * (lbl_1_bss_28C[var_r31].unk_00 - 1), - (0.9 * var_r28->pos.y) + (0.1 * lbl_1_bss_28C[spC[0]->unk_38].unk_08), - (500.0 + (200.0f * var_f29)) * (lbl_1_bss_28C[var_r31].unk_04 - 1)); - for (var_r30 = 0; var_r30 < 2; var_r30++) { - if (var_r31 == spC[var_r30]->unk_38) { - (&lbl_1_bss_BC)[var_r30]->trans.x = (500.0 + (200.0f * var_f29)) * (lbl_1_bss_28C[var_r31].unk_00 - 1); - (&lbl_1_bss_BC)[var_r30]->trans.y = var_r28->pos.y - -16.666666666666668; - (&lbl_1_bss_BC)[var_r30]->trans.z = (500.0 + (200.0f * var_f29)) * (lbl_1_bss_28C[var_r31].unk_04 - 1); - } - } - } - } - break; - } - var_r25 = lbl_1_data_1A0; - { - UnkCameraStruct sp14[6] = { - { 3500.0f, 0.0f, 100.0f, 0.0f, -59.0f, 0.0f }, - { 3200.0f, 0.0f, 100.0f, 0.0f, -30.0f, 0.0f }, - { 3800.0f, 0.0f, 100.0f, 0.0f, -30.0f, 0.0f }, - { 2000.0f, 0.0f, 200.0f, 0.0f, -30.0f, 0.0f }, - { 800.0f, 0.0f, 200.0f, 0.0f, -89.0f, 0.0f }, - { 1800.0f, 0.0f, 200.0f, 0.0f, -30.0f, 0.0f }, - }; - - if (lbl_1_bss_98 != -1) { - sp14[3].unk_04 = (&lbl_1_bss_BC)[1 - lbl_1_bss_98]->trans.x; - sp14[3].unk_0C = (&lbl_1_bss_BC)[1 - lbl_1_bss_98]->trans.z; - sp14[4].unk_04 = (&lbl_1_bss_BC)[1 - lbl_1_bss_98]->trans.x; - sp14[4].unk_0C = (&lbl_1_bss_BC)[1 - lbl_1_bss_98]->trans.z; - sp14[5].unk_04 = (&lbl_1_bss_BC)[lbl_1_bss_98]->trans.x; - sp14[5].unk_0C = (&lbl_1_bss_BC)[lbl_1_bss_98]->trans.z; - } - if (lbl_1_data_1A0 == -1) { - lbl_1_data_1A0 = 0; - lbl_1_bss_24 = 1; - lbl_1_bss_28 = 1.0f; - } - if (lbl_1_data_1A0 == 0) { - lbl_1_data_1A0 = 1; - lbl_1_bss_24 = 1; - lbl_1_bss_28 = 0.5f; - } - if ((lbl_1_bss_B0 == 0x3F0) && (lbl_1_bss_B4 >= 1) && (lbl_1_data_1A0 == 1)) { - lbl_1_data_1A0 = 2; - lbl_1_bss_24 = 0; - lbl_1_bss_28 = 0.0f; - } - if ((lbl_1_bss_B0 == 0x3F3) && (lbl_1_data_1A0 == 2)) { - lbl_1_data_1A0 = 3; - lbl_1_bss_24 = 0; - lbl_1_bss_28 = 0.0f; - } - if ((lbl_1_bss_B0 == 0x3F3) && (lbl_1_bss_B4 >= 0x12C) && (lbl_1_data_1A0 == 3)) { - lbl_1_data_1A0 = 4; - lbl_1_bss_24 = 1; - lbl_1_bss_28 = 1.0f; - } - if ((lbl_1_bss_B0 == 0x3F4) && (lbl_1_data_1A0 == 4)) { - lbl_1_data_1A0 = 5; - lbl_1_bss_24 = 0; - lbl_1_bss_28 = 0.0f; - } - if ((var_r25 != lbl_1_data_1A0) && (var_r25 != -1)) { - lbl_1_data_1A4 = CZoom; - lbl_1_data_1A8 = Center.y; - lbl_1_bss_30 = Center.z; - lbl_1_data_1AC = CRot.x; - lbl_1_bss_34 = CRot.y; - } - if (lbl_1_bss_28 <= 1.0f) { - if (lbl_1_bss_24 == 0) { - lbl_1_bss_28 = 1.0 - (0.95 * (1.0f - lbl_1_bss_28)); - var_f31 = lbl_1_bss_28; - } - else { - lbl_1_bss_28 += 0.008333333333333333; - lbl_1_bss_28 = lbl_1_bss_28 > 1.0f ? 1.0f : lbl_1_bss_28; - var_f31 = 0.5 + (-0.5 * cosd((180.0f * lbl_1_bss_28))); - var_f31 = var_f31; - } - lbl_1_bss_28 = lbl_1_bss_28 > 1.0f ? 1.0f : lbl_1_bss_28; - CZoom = (var_f31 * sp14[lbl_1_data_1A0].unk_00) + (lbl_1_data_1A4 * (1.0f - var_f31)); - Center.x = (var_f31 * sp14[lbl_1_data_1A0].unk_04) + (lbl_1_bss_2C * (1.0f - var_f31)); - Center.y = (var_f31 * sp14[lbl_1_data_1A0].unk_08) + (lbl_1_data_1A8 * (1.0f - var_f31)); - Center.z = (var_f31 * sp14[lbl_1_data_1A0].unk_0C) + (lbl_1_bss_30 * (1.0f - var_f31)); - CRot.x = (var_f31 * sp14[lbl_1_data_1A0].unk_10) + (lbl_1_data_1AC * (1.0f - var_f31)); - CRot.y = (var_f31 * sp14[lbl_1_data_1A0].unk_14) + (lbl_1_bss_34 * (1.0f - var_f31)); - } - } - if ((lbl_1_bss_B0 == 0x3E9) || (lbl_1_bss_B0 == 0x3EE)) { - var_f25 = 0.0f; - var_f26 = 0.0f; - if ((lbl_1_data_114.unk_00 % 2) >= 0) { - lbl_1_data_114.unk_08 = lbl_1_data_114.unk_10; - lbl_1_data_114.unk_0C = lbl_1_data_114.unk_14; - do { - lbl_1_data_114.unk_10 = 2.0 * (rand8() / 255.0) - 1.0; - lbl_1_data_114.unk_14 = (2.0 * (rand8() / 255.0)) - 1.0; - lbl_1_data_114.unk_10 = 0.0f; - } while (sqrtf(((lbl_1_data_114.unk_10 - lbl_1_data_114.unk_08) * (lbl_1_data_114.unk_10 - lbl_1_data_114.unk_08)) - + ((lbl_1_data_114.unk_14 - lbl_1_data_114.unk_0C) * (lbl_1_data_114.unk_14 - lbl_1_data_114.unk_0C))) - < 0.75); - } - var_f25 = lbl_1_data_114.unk_08; - var_f26 = lbl_1_data_114.unk_0C; - var_f25 *= lbl_1_data_114.unk_04 * 2; - var_f26 *= lbl_1_data_114.unk_04 * 2; - lbl_1_data_114.unk_00 = !lbl_1_data_114.unk_00; - lbl_1_data_114.unk_04 = (lbl_1_data_114.unk_04 > 24) ? 23 : (lbl_1_data_114.unk_04 - 1 > 0) ? (lbl_1_data_114.unk_04 - 1) : 0; - Center.x = 0.0f; - Center.y = 100.0f + var_f26; - } -} - -const HsfanimStruct00 lbl_1_rodata_2A0 = { - 0x0096, - { 0x00, 0x00 }, - 50.0f, - 0.0f, - 65.0f, - { 0.0f, -0.195f, 0.0f }, - 100.0f, - 0.99f, - 40.0f, - 0.999f, - 4, - { - { 0xFF, 0xFF, 0x20, 0xFF }, - { 0xFF, 0xFF, 0x00, 0xFF }, - { 0xFF, 0xFF, 0x80, 0xFF }, - { 0xFF, 0xFF, 0xFF, 0xFF }, - }, - { - { 0xFF, 0xFF, 0xFF, 0x00 }, - { 0xFF, 0xFF, 0xFF, 0x00 }, - { 0xFF, 0xFF, 0xFF, 0x00 }, - { 0xFF, 0xFF, 0xFF, 0x00 }, - }, -}; - -s16 fn_1_4BE8(void) -{ - s16 var_r31; - s16 var_r30; - AnimData *var_r29; - void *var_r28; - - HsfanimStruct00 sp8 = lbl_1_rodata_2A0; - lbl_1_bss_3C = sp8; - var_r28 = HuDataSelHeapReadNum(0x7006B, MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r29 = HuSprAnimRead(var_r28); - var_r31 = Hu3DParManCreate(var_r29, 0x64, &lbl_1_bss_3C); - Hu3DParManAttrSet(var_r31, 0x108); - Hu3DParManRotSet(var_r31, 0.0f, 0.0f, 0.0f); - Hu3DParManVecSet(var_r31, 0.0f, 0.4f, 0.2f); - var_r30 = Hu3DParManModelIDGet(var_r31); - Hu3DModelLayerSet(var_r30, 2); - Hu3DParticleBlendModeSet(var_r30, 0); - return var_r31; -} - -void fn_1_4D44(void) -{ - M458DllWork *spC[2]; - s16 sp8; - s16 var_r31; - s32 var_r30; - WindowData *var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - - sp8 = 0; - for (var_r30 = 0; var_r30 < 2; var_r30++) { - spC[var_r30] = (&lbl_1_bss_BC)[var_r30]->data; - } - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, 0x3C); - HuWinComKeyReset(); - var_r31 = HuWinExCreateStyled(36.0f, 344.0f, 0x1F8, 0x60, 6, 0); - var_r29 = &winData[var_r31]; - if (spC[1]->unk_0C != -1) { - var_r28 = 1 << spC[1]->unk_0C; - } - else { - if (spC[1]->unk_08 != -1) { - var_r27 = 1 << GWPlayerCfg[spC[1]->unk_04].pad_idx; - } - else { - var_r27 = 0; - } - var_r28 = var_r27; - } - if (spC[0]->unk_0C != -1) { - var_r26 = 1 << spC[0]->unk_0C; - } - else { - if (spC[0]->unk_08 != -1) { - var_r25 = 1 << GWPlayerCfg[spC[0]->unk_04].pad_idx; - } - else { - var_r25 = 0; - } - var_r26 = var_r25; - } - var_r29->active_pad = var_r26 | var_r28; - OSReport("%d\n", var_r29->active_pad); - HuWinBGTPLvlSet(var_r31, 0.8f); - HuWinMesSpeedSet(var_r31, 1); - HuWinExAnimIn(var_r31); - HuWinMesSet(var_r31, 0x300024); - if (((spC[0]->unk_0C == -1) || (spC[0]->unk_08 == -1)) && ((spC[1]->unk_0C == -1) || (spC[1]->unk_08 == -1))) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, 0x3C); - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, 0x3C); - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, 0x3C); - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, 0x3C); - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, 0x3C); - } - HuWinMesWait(var_r31); - HuWinExAnimOut(var_r31); - HuWinExCleanup(var_r31); - lbl_1_bss_10 = 0; - HuPrcEnd(); -} - -void fn_1_5014(omObjData *var_r30) -{ - M458DllWork *spC[2]; - s32 sp8; - s32 var_r31; - - for (var_r31 = 0; var_r31 < 0x1C; var_r31++) { - s32 sp14[] = { - 0x7F1, - 0x7F2, - 0x7F7, - 0x7F8, - 0x7F9, - 0x7FA, - 0x7FB, - 0x7FC, - 0x7FD, - 0x7FE, - 0x7FF, - 0x800, - 0x801, - 0x802, - 0x803, - 0x804, - 0x7FB, - 0x7FC, - 0x7FD, - 0x7FE, - 0x7FF, - 0x800, - 0x801, - 0x802, - 0x803, - 0x804, - 0x7FB, - 0x7FC, - }; - if (lbl_1_bss_CC[var_r31].unk_00 > 3) { - lbl_1_bss_CC[var_r31].unk_00 = 3; - } - if (lbl_1_bss_CC[var_r31].unk_00 > 0) { - sp8 = HuAudFXPlay(sp14[var_r31]); - lbl_1_bss_CC[var_r31].unk_00--; - } - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - spC[var_r31] = (&lbl_1_bss_BC)[var_r31]->data; - } - if ((omSysExitReq != 0) && (WipeStatGet() == 0)) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - var_r30->func = fn_1_6D9C; - } - switch (lbl_1_bss_B0) { - case 0x3E8: - if (WipeStatGet() == 0) { - lbl_1_bss_B0++; - lbl_1_bss_B4 = 0.0f; - if (lbl_1_data_138[0] != -1) { - Hu3DParManKill(*lbl_1_data_138); - lbl_1_data_138[0] = -1; - } - } - default: - break; - case 0x3E9: - lbl_1_bss_B4++; - if (lbl_1_bss_B4 == ((lbl_1_bss_14 == 0 ? 0x1E : 0) + 0x3C)) { - lbl_1_bss_B0 = lbl_1_bss_14 != 0 ? 0x3EA : 0x3ED; - lbl_1_bss_B4 = 0.0f; - } - break; - case 0x3EA: - lbl_1_bss_B4++; - if (lbl_1_bss_B4 == 0x78) { - lbl_1_bss_B0++; - lbl_1_bss_B4 = 0.0f; - } - break; - case 0x3EB: - lbl_1_bss_B4++; - if (lbl_1_bss_B4 > 0xD2) { - lbl_1_bss_B0++; - lbl_1_bss_B4 = 0.0f; - } - break; - case 0x3EC: - if (lbl_1_bss_B4 == 0) { - HuPrcChildCreate(fn_1_4D44, 0x64, 0x2000, 0, HuPrcCurrentGet()); - lbl_1_bss_10 = 1; - lbl_1_bss_B4++; - break; - } - if (lbl_1_bss_10 == 0) { - lbl_1_bss_B4++; - if (spC[0]->unk_18 == 0) { - lbl_1_bss_B0++; - lbl_1_bss_B4 = 0.0f; - } - } - break; - case 0x3ED: - lbl_1_bss_B4 += lbl_1_bss_B4 < 0x1E; - if (lbl_1_bss_B4 >= 0x3C) { - lbl_1_bss_B0++; - lbl_1_bss_B4 = 0.0f; - } - break; - case 0x3EE: - lbl_1_bss_B4++; - if (lbl_1_bss_B4 == ((spC[1]->unk_08 == -1 ? 0x78 : 0x3C) + (lbl_1_bss_14 == 0 ? 0x1E : 0))) { - lbl_1_bss_B0++; - if (spC[1]->unk_08 == -1) { - lbl_1_bss_B0++; - } - lbl_1_bss_B4 = 0.0f; - } - break; - case 0x3EF: - lbl_1_bss_B4 += lbl_1_bss_B4 < 0x1E; - if (lbl_1_bss_B4 >= 0x3C) { - lbl_1_bss_B0++; - lbl_1_bss_B4 = 0.0f; - } - break; - case 0x3F0: - lbl_1_bss_B4++; - if (lbl_1_bss_B4 == 0x5A) { - lbl_1_bss_B0++; - lbl_1_bss_B4 = 0.0f; - } - break; - case 0x3F1: - case 0x3F2: - if (lbl_1_bss_B4 == 0) { - spC[lbl_1_bss_B0 == 0x3F1 ? 0 : 1]->unk_18 = 3; - spC[lbl_1_bss_B0 == 0x3F1 ? 0 : 1]->unk_1C = 0; - } - lbl_1_bss_B4++; - if (spC[lbl_1_bss_B0 == 0x3F1 ? 0 : 1]->unk_18 == 0) { - if (lbl_1_bss_98 != -1) { - lbl_1_bss_B0 = 0x3F3; - } - else { - lbl_1_bss_B0 = lbl_1_bss_B0 == 0x3F1 ? 0x3F2 : 0x3F1; - } - lbl_1_bss_B4 = 0.0f; - } - break; - case 0x3F3: - lbl_1_bss_B4++; - if (lbl_1_bss_B4 >= 0x1E0) { - lbl_1_bss_B0++; - lbl_1_bss_B4 = 0.0f; - } - break; - case 0x3F4: - lbl_1_bss_B4++; - if (lbl_1_bss_B4 == 1) { - if (lbl_1_bss_98 != 4) { - if (spC[lbl_1_bss_98]->unk_08 != -1) { - HuAudSStreamPlay(1); - } - else { - HuAudSStreamPlay(3); - } - if (lbl_1_bss_14 != 0) { - if (lbl_1_bss_98 == 0) { - _SetFlag(0x10007); - } - } - else { - GWPlayerCoinWinSet(spC[lbl_1_bss_98]->unk_04, 10); - } - } - else { - lbl_1_bss_98 == 4; - } - } - if (210.0f < lbl_1_bss_B4) { - if (lbl_1_data_134 != -1) { - HuAudFXStop(lbl_1_data_134); - lbl_1_data_134 = -1; - } - lbl_1_data_12C = -1; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x3C); - var_r30->func = fn_1_6D9C; - } - break; - } -} - -s32 lbl_1_data_1E8[0xB] = { - 0x570013, - 0x570014, - 0x570015, - 0x570016, - 0x570017, - 0x570018, - 0x570019, - 0x57001A, - 0x57001B, - 0x57001C, - 0x57001D, -}; - -void fn_1_59DC(omObjData *object) -{ - M458DllWork *sp18[2]; - - s32 var_r30; - s16 var_r29; - s16 var_r28; - s32 var_r27; - void *var_r26; - AnimData *var_r25; - s16 var_r24; - s16 var_r23; - - for (var_r30 = 0; var_r30 < 2; var_r30++) { - sp18[var_r30] = (&lbl_1_bss_BC)[var_r30]->data; - } - object->model[1] = Hu3DModelCreateFile(0x3000E); - Hu3DModelAttrSet(object->model[1], HU3D_MOTATTR_LOOP); - object->model[2] = Hu3DModelCreateFile(0x30000); - Hu3DModelAttrSet(object->model[2], HU3D_MOTATTR_LOOP); - Hu3DModelHookSet(object->model[2], "minik01", object->model[1]); - Hu3DModelPosSet(object->model[2], 0.0f, -750.0f, -700.0f); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - object->motion[0] = Hu3DJointMotionFile(object->model[1], 0x3000F); - object->motion[1] = Hu3DJointMotionFile(object->model[1], 0x30012); - Hu3DMotionSet(object->model[1], object->motion[0]); - Hu3DModelLayerSet(object->model[2], 1); - Hu3DModelLayerSet(object->model[1], 1); - object->model[0] = Hu3DModelCreateFile(0x570008); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DMotionSpeedSet(object->model[0], 0.1f); - object->model[3] = Hu3DModelCreateFile(0x570009); - Hu3DModelAttrSet(object->model[3], HU3D_MOTATTR_LOOP); - Hu3DModelPosSet(object->model[3], 0.0f, 400.0f, 0.0f); - Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(object->model[3], 1); - Hu3DMotionSpeedSet(object->model[3], 0.0f); - for (var_r30 = 0; var_r30 < 9; var_r30++) { - object->model[var_r30 + 4] = Hu3DModelCreateFile(var_r30 + 0x57000A); - lbl_1_bss_28C[var_r30].unk_00 = var_r30 % 3; - lbl_1_bss_28C[var_r30].unk_04 = var_r30 / 3; - lbl_1_bss_28C[var_r30].unk_08 = 0.0f; - lbl_1_bss_28C[var_r30].unk_0C = 1; - Hu3DModelPosSet( - lbl_1_bss_B8->model[var_r30 + 4], 500.0 * (lbl_1_bss_28C[var_r30].unk_00 - 1), -16.666666f, 500.0 * (lbl_1_bss_28C[var_r30].unk_04 - 1)); - Hu3DModelScaleSet(lbl_1_bss_B8->model[var_r30 + 4], 1.6666666f, 1.6666666f, 1.6666666f); - Hu3DModelAttrSet(object->model[var_r30 + 4], HU3D_MOTATTR_PAUSE); - Hu3DModelShadowMapSet(object->model[var_r30 + 4]); - Hu3DModelLayerSet(object->model[var_r30 + 4], 1); - } - for (var_r30 = 0; var_r30 < 0xB; var_r30++) { - if ((var_r30 == 9) || (var_r30 == 0xA)) { - if (sp18[var_r30 - 9]->unk_08 != -1) { - var_r27 = sp18[var_r30 - 9]->unk_08 + 0x57001C; - } - else { - var_r27 = 0x570024; - } - lbl_1_data_1E8[var_r30] = var_r27; - } - object->model[var_r30 + 0xD] = Hu3DModelCreateFile(lbl_1_data_1E8[var_r30]); - Hu3DMotionTimeSet(object->model[var_r30 + 0xD], 10.0f); - Hu3DMotionSpeedSet(object->model[var_r30 + 0xD], 0.0f); - Hu3DModelAttrSet(object->model[var_r30 + 0xD], HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(object->model[var_r30 + 0xD], 1); - } - for (var_r30 = 0; var_r30 < 2; var_r30++) { - s32 sp10[2] = { 0x120, 0x122 }; - s32 sp8[2] = { 0xF0, 0x8C }; - lbl_1_data_8[var_r30] = espEntry(lbl_1_data_0[var_r30], 0, 0); - espDrawNoSet(lbl_1_data_8[var_r30], 0); - espAttrSet(lbl_1_data_8[var_r30], HUSPR_ATTR_NOANIM | HUSPR_ATTR_DISPOFF); - espBankSet(lbl_1_data_8[var_r30], 0); - espPriSet(lbl_1_data_8[var_r30], 0x80 - var_r30); - espPosSet(lbl_1_data_8[var_r30], sp10[var_r30], sp8[var_r30]); - espTPLvlSet(lbl_1_data_8[var_r30], 1.0f); - } - { - HsfanimStruct00 sp20 = lbl_1_rodata_2A0; - lbl_1_bss_3C = sp20; - } - var_r26 = HuDataSelHeapReadNum(0x7006B, MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r25 = HuSprAnimRead(var_r26); - var_r29 = Hu3DParManCreate(var_r25, 0x64, &lbl_1_bss_3C); - Hu3DParManAttrSet(var_r29, 0x108); - Hu3DParManRotSet(var_r29, 0.0f, 0.0f, 0.0f); - Hu3DParManVecSet(var_r29, 0.0f, 0.4f, 0.2f); - var_r28 = Hu3DParManModelIDGet(var_r29); - Hu3DModelLayerSet(var_r28, 2); - Hu3DParticleBlendModeSet(var_r28, 0); - var_r24 = var_r29; - var_r23 = var_r24; - lbl_1_data_138[0] = var_r23; - Hu3DParManPosSet(lbl_1_data_138[0], 10000.0f, -10000.0f, 10000.0f); - object->func = fn_1_350C; -} - -void fn_1_6314(omObjData *object) -{ - s32 sp10; - void *spC; - M458DllWork *work; - s32 var_r29; - - work = object->data; - spC = (&lbl_1_bss_BC)[1 - object->work[0]]->data; - memset(work, 0, sizeof(M458DllWork)); - work->unk_00 = object->work[0]; - work->unk_04 = GWPlayerCfg->group == work->unk_00 - ? 0 - : (GWPlayerCfg[1].group == work->unk_00 ? 1 : (GWPlayerCfg[2].group == work->unk_00 ? 2 : (GWPlayerCfg[3].group == work->unk_00 ? 3 : 4))); - sp10 = GWPlayerCfg->group == (1 - work->unk_00) - ? 0 - : (GWPlayerCfg[1].group == (1 - work->unk_00) - ? 1 - : (GWPlayerCfg[2].group == (1 - work->unk_00) ? 2 : (GWPlayerCfg[3].group == (1 - work->unk_00) ? 3 : 4))); - if (work->unk_04 == 4) { - OSReport("m458:wrong player group\n"); - work->unk_04 = work->unk_00; - } - if ((work->unk_00 == 1) && (lbl_1_bss_14 != 0)) { - work->unk_08 = -1; - work->unk_0C = -1; - work->unk_04 = -1; - work->unk_10 = 0; - } - else { - work->unk_08 = GWPlayerCfg[work->unk_04].character; - work->unk_0C = ((work->unk_08 == -1) || (GWPlayerCfg[work->unk_04].iscom != 0)) ? -1 : GWPlayerCfg[work->unk_04].pad_idx; - work->unk_10 = work->unk_0C != -1 ? 0 : GWPlayerCfg[work->unk_04].diff; - } - work->unk_18 = 0; - work->unk_20 = 3; - work->unk_24 = -1; - if (work->unk_08 != -1) { - object->model[0] = CharModelCreate(work->unk_08, 1); - } - else { - object->model[0] = Hu3DModelCreateFile(0x30007); - } - omSetTra(object, 0.0f, work->unk_00 == 0 ? 0 : 0x12C, 0.0f); - if (work->unk_08 != -1) { - omSetSca(object, 2.5f, 2.5f, 2.5f); - } - else { - omSetSca(object, 2.0f, 2.0f, 2.0f); - } - for (var_r29 = 0; var_r29 < 0xA; var_r29++) { - if (work->unk_08 != -1) { - object->motion[var_r29] = CharModelMotionCreate(work->unk_08, lbl_1_data_10[var_r29] + (lbl_1_data_38[var_r29] != 0 ? work->unk_08 : 0)); - } - else if (lbl_1_data_60[var_r29] != 0) { - object->motion[var_r29] = Hu3DJointMotionFile(object->model[0], lbl_1_data_60[var_r29]); - } - } - Hu3DMotionSet(object->model[0], object->motion[work->unk_20]); - Hu3DMotionTimeSet(object->model[0], 10.0f); - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(object->model[0]); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(object->model[0], 1); - CharModelLayerSetAll2(1); - object->func = fn_1_4C8; -} - -void fn_1_685C(omObjData *object) -{ - lbl_1_bss_B0 = 0x3E8; - lbl_1_bss_B4 = 0.0f; - lbl_1_bss_A8 = 0; - lbl_1_bss_A4 = 0; - if (lbl_1_data_130 == -1) { - lbl_1_data_130 = HuAudSeqPlay(0x4D); - } - lbl_1_data_134 = HuAudFXPlay(0x6D7); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - object->func = fn_1_5014; -} - -void ObjectSetup(void) -{ - s32 i; - omObjData *object; - - OSReport("******* M458 ObjectSetup *********\n"); - lbl_1_bss_A0 = omInitObjMan(0x258, 0x2000); - omGameSysInit(lbl_1_bss_A0); - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 30.0f, 20.0f, 25000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - CZoom = 3200.0f; - Center.x = 0.0f; - Center.y = 0.0f; - Center.z = -100.0f; - CRot.x = -30.0f; - CRot.y = 0.0f; - CRot.z = 0.0f; - { - Vec sp3C = { 0.0f, 0.0f, 0.0f }; - Vec sp30 = { 0.25f, -0.75f, -0.45f }; - GXColor sp8 = { 255, 255, 255, 255 }; - lbl_1_bss_9C = Hu3DGLightCreateV(&sp3C, &sp30, &sp8); - Hu3DGLightStaticSet(lbl_1_bss_9C, 1); - Hu3DGLightInfinitytSet(lbl_1_bss_9C); - } - { - Vec sp24; - Vec sp18; - Vec spC; - - sp24.x = 0.0f; - sp24.y = 10000.0f; - sp24.z = 0.0f; - sp18.x = 0.0f; - sp18.y = 1.0f; - sp18.z = 0.0f; - spC.x = 0.0f; - spC.y = 0.0f; - spC.z = 0.5f; - Hu3DShadowCreate(12.0f, 9000.0f, 10010.0f); - Hu3DShadowTPLvlSet(0.625f); - Hu3DShadowPosSet(&sp24, &sp18, &spC); - } - Hu3DShadowSizeSet(0xE0); - lbl_1_data_12C = -1; - lbl_1_bss_98 = -1; - lbl_1_bss_14 = _CheckFlag(0x10000) != 0; - HuWinInit(1); - lbl_1_bss_B8 = omAddObjEx(lbl_1_bss_A0, 0x65, 0x18, 2, 1, fn_1_59DC); - for (i = 0; i < 2; i++) { - object = (&lbl_1_bss_BC)[i] = omAddObjEx(lbl_1_bss_A0, 0x64, 0xB, 0xA, 0, fn_1_6314); - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M458DllWork), MEMORY_DEFAULT_NUM); - object->work[0] = i; - } - lbl_1_bss_C4 = omAddObjEx(lbl_1_bss_A0, 0x7FDA, 0, 0, -1, omOutView); - lbl_1_bss_C8 = omAddObjEx(lbl_1_bss_A0, 0x67, 0, 0, -1, fn_1_685C); -} - -void fn_1_6D9C(omObjData *object) -{ - if (lbl_1_data_138[0] != -1) { - Hu3DParManKill(lbl_1_data_138[0]); - lbl_1_data_138[0] = -1; - } - if (WipeStatGet() == 0) { - s32 i; - for (i = 0; i < 2; i++) { - void *sp8 = (&lbl_1_bss_BC)[i]->data; - } - if (lbl_1_data_12C >= 0) { - MGSeqKill(lbl_1_data_12C); - } - MGSeqKillAll(); - HuAudAllStop(); - omOvlReturnEx(1, 1); - } -} diff --git a/src/REL/m459dll/main.c b/src/REL/m459dll/main.c deleted file mode 100644 index c8c96218..00000000 --- a/src/REL/m459dll/main.c +++ /dev/null @@ -1,2138 +0,0 @@ -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/esprite.h" -#include "game/gamework.h" -#include "game/hsfex.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/wipe.h" - -// #ifndef __MWERKS__ -#include "game/frand.h" -// #endif - -typedef struct M459DllBss18Struct { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s16 unk_04[8]; - /* 0x14 */ s16 unk_14[8]; - /* 0x24 */ u8 unk_24[2]; - /* 0x28 */ s32 unk_28; - /* 0x2C */ s32 unk_2C; -} M459DllBss18Struct; /* size = 0x30 */ - -typedef struct M459DllBss4CStruct { - /* 0x00 */ s16 unk_00[6]; - /* 0x0C */ s32 unk_0C; - /* 0x10 */ s32 unk_10; - /* 0x14 */ s32 unk_14; -} M459DllBss4CStruct; /* size = 0x18 */ - -typedef struct M459DllBss64Struct { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ s16 unk_08; -} M459DllBss64Struct; /* size = 0xC */ - -typedef struct M459DllBss70Struct { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s16 unk_04; - /* 0x08 */ s32 unk_08; -} M459DllBss70Struct; /* size = 0xC */ - -typedef struct M459DllBss7CStruct { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ u32 unk_08; - /* 0x0C */ s16 unk_0C[2]; -} M459DllBss7CStruct; /* size = 0x10 */ - -typedef struct M459DllBssCCStruct { - /* 0x000 */ s32 unk_00; - /* 0x004 */ s32 unk_04; - /* 0x008 */ s32 unk_08; - /* 0x00C */ Vec unk_0C; - /* 0x018 */ float unk_18; - /* 0x01C */ float unk_1C; - /* 0x020 */ float unk_20; - /* 0x024 */ char pad_24[0x4]; - /* 0x028 */ s32 unk_28[5]; - /* 0x03C */ s32 unk_3C[5]; - /* 0x050 */ float unk_50; - /* 0x054 */ float unk_54; - /* 0x058 */ float unk_58; - /* 0x05C */ float unk_5C; - /* 0x060 */ s16 unk_60; - /* 0x062 */ s16 unk_62[0xC]; - /* 0x07A */ s16 unk_7A[0xC][6]; - /* 0x10A */ s16 unk_10A[2]; - /* 0x10E */ char pad_10E[2]; -} M459DllBssCCStruct; /* size = 0x110 */ - -typedef struct M459DllBss61CStruct { - /* 0x00 */ Vec unk_00; - /* 0x0C */ Vec unk_0C; - /* 0x18 */ float unk_18; - /* 0x1C */ float unk_1C; - /* 0x20 */ float unk_20; - /* 0x24 */ float unk_24; - /* 0x24 */ float unk_28; - /* 0x2C */ float unk_2C; - /* 0x30 */ float unk_30; - /* 0x34 */ float unk_34; - /* 0x38 */ float unk_38; - /* 0x3C */ char unk3C[0xC]; - /* 0x48 */ Vec unk_48; - /* 0x54 */ Vec unk_54; - /* 0x60 */ char unk60[0xC]; - /* 0x6C */ float unk_6C; - /* 0x70 */ float unk_70; - /* 0x74 */ float unk_74; - /* 0x78 */ float unk_78; -} M459DllBss61CStruct; /* size = 0x7C */ - -typedef struct M459DllData70Struct { - /* 0x00 */ Vec unk_00; - /* 0x0C */ Vec unk_0C; - /* 0x18 */ GXColor unk_18; -} M459DllData70Struct; /* size = 0x1C */ - -void fn_1_11DC(float arg8, float arg9, float argA); -void fn_1_1204(float arg8, float arg9, float argA); -void fn_1_122C(void); -void fn_1_14B8(void); -void fn_1_19B4(M459DllBssCCStruct *arg0); -void fn_1_1A00(M459DllBssCCStruct *arg0); -void fn_1_1D8(void); -void fn_1_1FDC(M459DllBssCCStruct *arg0); -void fn_1_2044(M459DllBssCCStruct *arg0); -void fn_1_21AC(M459DllBssCCStruct *arg0); -void fn_1_23AC(M459DllBssCCStruct *arg0); -void fn_1_25C8(M459DllBssCCStruct *arg0); -void fn_1_27C8(M459DllBssCCStruct *arg0); -void fn_1_2930(M459DllBssCCStruct *arg0); -void fn_1_2B24(M459DllBssCCStruct *arg0); -void fn_1_2F18(M459DllBssCCStruct *arg0); -void fn_1_3004(M459DllBssCCStruct *arg0); -void fn_1_338C(M459DllBssCCStruct *arg0, float arg8); -void fn_1_3700(M459DllBssCCStruct *arg0); -void fn_1_4160(M459DllBssCCStruct *arg0); -float fn_1_4210(float arg8, float arg9, float argA); -void fn_1_4314(s32 arg0, u32 arg1); -void fn_1_4530(void); -void fn_1_45EC(void); -void fn_1_4764(void); -void fn_1_47E4(void); -void fn_1_4850(void); -void fn_1_48E4(void); -void fn_1_4A74(void); -void fn_1_4B68(void); -void fn_1_4C1C(void); -void fn_1_4CD0(void); -s32 fn_1_4E54(void); -void fn_1_4E64(s32 arg0); -void fn_1_4E98(void); -void fn_1_4EAC(void); -void fn_1_4F8C(s32 arg0); -s32 fn_1_4FAC(void); -void fn_1_4FC8(void); -void fn_1_52D8(s32 arg0); -s32 fn_1_52F0(void); -s32 fn_1_5300(void); -s32 fn_1_5310(void); -void fn_1_535C(void); -void fn_1_5490(void); -void fn_1_556C(M459DllBss18Struct *arg0); -void fn_1_55B0(M459DllBss18Struct *arg0); -void fn_1_5A78(M459DllBss18Struct *arg0); -void fn_1_5E3C(M459DllBss18Struct *arg0); -void fn_1_5EAC(void); -void fn_1_5F40(M459DllBss7CStruct *arg0); -void fn_1_5F84(M459DllBss7CStruct *arg0); -void fn_1_6198(M459DllBss7CStruct *arg0); -void fn_1_640(void); -void fn_1_6458(M459DllBss7CStruct *arg0); -void fn_1_73C(void); -void fn_1_E78(void); - -Process *lbl_1_bss_6E4; -Process *lbl_1_bss_698[0x13]; -M459DllBss61CStruct lbl_1_bss_61C; -M459DllBssCCStruct lbl_1_bss_CC[5]; -M459DllBss7CStruct lbl_1_bss_7C[5]; -M459DllBss70Struct lbl_1_bss_70; -M459DllBss64Struct lbl_1_bss_64; -M459DllBss4CStruct lbl_1_bss_4C; -s16 lbl_1_bss_48[1]; -M459DllBss18Struct lbl_1_bss_18; -s32 lbl_1_bss_14; -s32 lbl_1_bss_10; -s32 lbl_1_bss_C; -s32 lbl_1_bss_8; -s32 lbl_1_bss_4; -u8 lbl_1_bss_2; -s16 lbl_1_bss_0; - -static const s32 lbl_1_rodata_10[0xC] = { - DATA_MAKE_NUM(DATADIR_M459, 0x05), - DATA_MAKE_NUM(DATADIR_M459, 0x03), - DATA_MAKE_NUM(DATADIR_M459, 0x04), - DATA_MAKE_NUM(DATADIR_M459, 0x01), - DATA_MAKE_NUM(DATADIR_M459, 0x02), - DATA_MAKE_NUM(DATADIR_M459, 0x05), - DATA_MAKE_NUM(DATADIR_M459, 0x03), - DATA_MAKE_NUM(DATADIR_M459, 0x04), - DATA_MAKE_NUM(DATADIR_M459, 0x01), - DATA_MAKE_NUM(DATADIR_M459, 0x02), - DATA_MAKE_NUM(DATADIR_M459, 0x0E), - DATA_MAKE_NUM(DATADIR_M459, 0x0F), -}; -static const s32 lbl_1_rodata_40[5][6] = { - { - DATA_MAKE_NUM(DATADIR_M459, 0x28), - DATA_MAKE_NUM(DATADIR_M459, 0x29), - DATA_MAKE_NUM(DATADIR_M459, 0x2A), - DATA_MAKE_NUM(DATADIR_M459, 0x2C), - DATA_MAKE_NUM(DATADIR_M459, 0x2B), - DATA_MAKE_NUM(DATADIR_M459, 0x2D), - }, - { - DATA_MAKE_NUM(DATADIR_M459, 0x1C), - DATA_MAKE_NUM(DATADIR_M459, 0x1D), - DATA_MAKE_NUM(DATADIR_M459, 0x1E), - DATA_MAKE_NUM(DATADIR_M459, 0x20), - DATA_MAKE_NUM(DATADIR_M459, 0x1F), - DATA_MAKE_NUM(DATADIR_M459, 0x21), - }, - { - DATA_MAKE_NUM(DATADIR_M459, 0x22), - DATA_MAKE_NUM(DATADIR_M459, 0x23), - DATA_MAKE_NUM(DATADIR_M459, 0x24), - DATA_MAKE_NUM(DATADIR_M459, 0x26), - DATA_MAKE_NUM(DATADIR_M459, 0x25), - DATA_MAKE_NUM(DATADIR_M459, 0x27), - }, - { - DATA_MAKE_NUM(DATADIR_M459, 0x10), - DATA_MAKE_NUM(DATADIR_M459, 0x11), - DATA_MAKE_NUM(DATADIR_M459, 0x12), - DATA_MAKE_NUM(DATADIR_M459, 0x14), - DATA_MAKE_NUM(DATADIR_M459, 0x13), - DATA_MAKE_NUM(DATADIR_M459, 0x15), - }, - { - DATA_MAKE_NUM(DATADIR_M459, 0x16), - DATA_MAKE_NUM(DATADIR_M459, 0x17), - DATA_MAKE_NUM(DATADIR_M459, 0x18), - DATA_MAKE_NUM(DATADIR_M459, 0x1A), - DATA_MAKE_NUM(DATADIR_M459, 0x19), - DATA_MAKE_NUM(DATADIR_M459, 0x1B), - }, -}; -static const s32 lbl_1_rodata_B8[2] = { DATA_MAKE_NUM(DATADIR_M459, 0x3C), DATA_MAKE_NUM(DATADIR_M459, 0x3D) }; -static const s32 lbl_1_rodata_C0[2] = { DATA_MAKE_NUM(DATADIR_M459, 0x3A), DATA_MAKE_NUM(DATADIR_M459, 0x3B) }; -static const s32 lbl_1_rodata_C8[6] = { - DATA_MAKE_NUM(DATADIR_M459, 0x30), - DATA_MAKE_NUM(DATADIR_M459, 0x30), - DATA_MAKE_NUM(DATADIR_M459, 0x2F), - DATA_MAKE_NUM(DATADIR_M459, 0x2F), - DATA_MAKE_NUM(DATADIR_M459, 0x31), - DATA_MAKE_NUM(DATADIR_M459, 0x2E), -}; -static const s32 lbl_1_rodata_E0[1] = { DATA_MAKE_NUM(DATADIR_M459, 0x00) }; -static const s32 lbl_1_rodata_E4[8] = { - DATA_MAKE_NUM(DATADIR_M459, 0x06), - DATA_MAKE_NUM(DATADIR_M459, 0x07), - DATA_MAKE_NUM(DATADIR_M459, 0x08), - DATA_MAKE_NUM(DATADIR_M459, 0x09), - DATA_MAKE_NUM(DATADIR_M459, 0x0A), - DATA_MAKE_NUM(DATADIR_M459, 0x0B), - DATA_MAKE_NUM(DATADIR_M459, 0x0C), - DATA_MAKE_NUM(DATADIR_M459, 0x0D), -}; -static const s32 lbl_1_rodata_104[8] = { - DATA_MAKE_NUM(DATADIR_M459, 0x32), - DATA_MAKE_NUM(DATADIR_M459, 0x33), - DATA_MAKE_NUM(DATADIR_M459, 0x34), - DATA_MAKE_NUM(DATADIR_M459, 0x35), - DATA_MAKE_NUM(DATADIR_M459, 0x36), - DATA_MAKE_NUM(DATADIR_M459, 0x37), - DATA_MAKE_NUM(DATADIR_M459, 0x38), - DATA_MAKE_NUM(DATADIR_M459, 0x39), -}; -static const s32 lbl_1_rodata_124[0x63] = { 0x14, 0x13, 0x12, 0x11, 0x10, 0xF, 0xE, 0xD, 0xC, 0xB, 0xA, 9, 8, 7, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }; - -static const s32 lbl_1_rodata_2B0[4] = {0x80000000, 0x40000000, 0x20000000, 0x10000000}; - -void ObjectSetup(void) -{ - s32 var_r31; - u32 var_r30; - - lbl_1_bss_6E4 = omInitObjMan(1, 0x2000); - omGameSysInit(lbl_1_bss_6E4); - fn_1_1D8(); - var_r30 = HuPadRumbleGet(); - if ((var_r30 & 0x80000000) != 0) { - lbl_1_bss_8 = GWGameStat.rumble; - } - else { - lbl_1_bss_8 = 0; - } - lbl_1_bss_4 = 0; - for (var_r31 = 0; var_r31 < 0x13; var_r31++) { - lbl_1_bss_698[var_r31] = NULL; - } - lbl_1_bss_698[0] = HuPrcChildCreate(fn_1_640, 0x100, 0x1000, 0, lbl_1_bss_6E4); - lbl_1_bss_698[1] = HuPrcChildCreate(fn_1_73C, 0x101, 0x3000, 0, lbl_1_bss_6E4); -} - -void fn_1_1D8(void) -{ - M459DllBssCCStruct *var_r29; - s32 var_r31; - s32 var_r30; - M459DllBss18Struct *var_r28; - s16 *var_r27; - s32 var_r26; - s16 *var_r25; - M459DllBss7CStruct *var_r24; - - for (var_r30 = 0; var_r30 < 5; var_r30++) { - var_r29 = &lbl_1_bss_CC[var_r30]; - for (var_r31 = 0; var_r31 < 0xC; var_r31++) { - if ((var_r31 >= 5) && (var_r31 <= 9)) { - var_r29->unk_62[var_r31] = Hu3DModelLink(var_r29->unk_62[var_r31 - 5]); - } - else { - var_r29->unk_62[var_r31] = Hu3DModelCreateFile(lbl_1_rodata_10[var_r31]); - } - if ((var_r31 >= 0) && (var_r31 <= 4)) { - Hu3DModelLayerSet(var_r29->unk_62[var_r31], 2); - } - else if ((var_r31 >= 5) && (var_r31 <= 9)) { - Hu3DModelLayerSet(var_r29->unk_62[var_r31], 0); - Hu3DModelAttrSet(var_r29->unk_62[var_r31], HU3D_ATTR_CULL_FRONT); - } - else { - Hu3DModelLayerSet(var_r29->unk_62[var_r31], 3); - } - if (var_r31 == 0xA) { - Hu3DModelAttrSet(var_r29->unk_62[var_r31], HU3D_ATTR_ZWRITE_OFF); - } - if ((var_r31 >= 0) && (var_r31 <= 4)) { - Hu3DModelShadowSet(var_r29->unk_62[var_r31]); - } - Hu3DModelAttrSet(var_r29->unk_62[var_r31], HU3D_ATTR_DISPOFF); - } - for (var_r26 = 0; var_r26 < 5; var_r26++) { - for (var_r31 = 0; var_r31 < 6; var_r31++) { - var_r29->unk_7A[var_r26][var_r31] = Hu3DJointMotionFile(var_r29->unk_62[var_r26], lbl_1_rodata_40[var_r26][var_r31]); - } - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r29->unk_10A[var_r31] = espEntry(lbl_1_rodata_B8[var_r31], 0, 0); - espDispOff(var_r29->unk_10A[var_r31]); - } - } - CharModelLayerSetAll(3); - for (var_r30 = 0; var_r30 < 5; var_r30++) { - var_r24 = &lbl_1_bss_7C[var_r30]; - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r24->unk_0C[var_r31] = espEntry(lbl_1_rodata_C0[var_r31], 0, 0); - espDispOff(var_r24->unk_0C[var_r31]); - } - } - var_r25 = lbl_1_bss_4C.unk_00; - for (var_r30 = 0; var_r30 < 6; var_r30++) { - var_r25[var_r30] = espEntry(lbl_1_rodata_C8[var_r30], 0, 0); - } - espColorSet(var_r25[5], 0, 0, 0); - var_r27 = lbl_1_bss_48; - for (var_r30 = 0; var_r30 < 1; var_r30++) { - var_r27[var_r30] = Hu3DModelCreateFile(lbl_1_rodata_E0[var_r30]); - Hu3DModelLayerSet(var_r27[var_r30], 1); - Hu3DModelShadowMapSet(var_r27[var_r30]); - } - var_r28 = &lbl_1_bss_18; - for (var_r30 = 0; var_r30 < 8; var_r30++) { - var_r28->unk_14[var_r30] = Hu3DModelCreateFile(lbl_1_rodata_E4[var_r30]); - Hu3DModelLayerSet(var_r28->unk_14[var_r30], 2); - Hu3DModelAttrSet(var_r28->unk_14[var_r30], HU3D_ATTR_ZWRITE_OFF); - Hu3DModelAttrSet(var_r28->unk_14[var_r30], HU3D_ATTR_DISPOFF); - } - for (var_r30 = 0; var_r30 < 8; var_r30++) { - var_r28->unk_04[var_r30] = espEntry(lbl_1_rodata_104[var_r30], 0, 0); - espDispOff(var_r28->unk_04[var_r30]); - } -} - -void fn_1_640(void) -{ - s32 var_r31; - - while (omSysExitReq == 0) { - HuPrcVSleep(); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - HuAudFadeOut(0x3E8); - for (var_r31 = 0; var_r31 < 0x13; var_r31++) { - if ((var_r31 != 0) && lbl_1_bss_698[var_r31]) { - HuPrcKill(lbl_1_bss_698[var_r31]); - lbl_1_bss_698[var_r31] = NULL; - } - } - HuPrcVSleep(); - omOvlReturnEx(1, 1); - HuPrcEnd(); - lbl_1_bss_698[0] = NULL; -} - -void fn_1_73C(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - lbl_1_bss_698[2] = HuPrcChildCreate(fn_1_E78, 0xFF, 0x1000, 0, HuPrcCurrentGet()); - for (var_r31 = 0; var_r31 < 5; var_r31++) { - lbl_1_bss_698[var_r31 + 3] = HuPrcChildCreate(fn_1_14B8, 0x102, 0x3000, 0, HuPrcCurrentGet()); - *((s32 *)&lbl_1_bss_698[var_r31 + 3]->user_data) = var_r31; - } - for (var_r31 = 0; var_r31 < 5; var_r31++) { - lbl_1_bss_698[var_r31 + 8] = HuPrcChildCreate(fn_1_5EAC, 0x105, 0x1000, 0, HuPrcCurrentGet()); - *((s32 *)&lbl_1_bss_698[var_r31 + 8]->user_data) = var_r31; - } - lbl_1_bss_698[0x11] = HuPrcChildCreate(fn_1_5490, 0x103, 0x2000, 0, HuPrcCurrentGet()); - for (var_r31 = 0; var_r31 < 5; var_r31++) { - fn_1_4314(var_r31, frandmod(5)); - } - lbl_1_bss_698[0xD] = HuPrcChildCreate(fn_1_4CD0, 0x200, 0x2000, 0, HuPrcCurrentGet()); - lbl_1_bss_698[0xE] = HuPrcChildCreate(fn_1_4EAC, 0x103, 0x2000, 0, HuPrcCurrentGet()); - lbl_1_bss_698[0xF] = HuPrcChildCreate(fn_1_4FC8, 0x104, 0x2000, 0, HuPrcCurrentGet()); - lbl_1_bss_698[0x10] = HuPrcChildCreate(fn_1_535C, 0x110, 0x2000, 0, HuPrcCurrentGet()); - HuPrcVSleep(); - fn_1_1204(0.0f, 90.0f, -400.0f); - fn_1_11DC(0.0f, 300.0f, 1100.0f); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - lbl_1_bss_698[0x12] = HuPrcChildCreate(fn_1_4530, 0x100, 0x4000, 0, HuPrcCurrentGet()); - - while (lbl_1_bss_698[0x12]) { - HuPrcVSleep(); - } - while (TRUE) { - lbl_1_bss_10 = frandmod(5); - var_r29 = frandmod(5); - var_r30 = frandmod(5); - if (var_r29 == var_r30) { - var_r30 = (var_r30 + 1) % 5; - } - for (var_r31 = 0; var_r31 < 5; var_r31++) { - if (var_r31 != lbl_1_bss_10) { - lbl_1_bss_7C[var_r31].unk_08 = var_r29; - } - } - lbl_1_bss_7C[lbl_1_bss_10].unk_08 = var_r30; - if (fn_1_52F0() > 0) { - for (var_r31 = 0; var_r31 < 5; var_r31++) { - fn_1_4314(var_r31, frandmod(5)); - } - lbl_1_bss_698[0x12] = HuPrcChildCreate(fn_1_4C1C, 0x100, 0x4000, 0, HuPrcCurrentGet()); - while (lbl_1_bss_698[0x12]) { - HuPrcVSleep(); - } - HuPrcSleep(0x3C); - lbl_1_bss_698[0x12] = HuPrcChildCreate(fn_1_4764, 0x100, 0x4000, 0, HuPrcCurrentGet()); - while (lbl_1_bss_698[0x12]) { - HuPrcVSleep(); - } - } - var_r28 = lbl_1_rodata_124[fn_1_52F0()] * 0x3C; - fn_1_4E64(var_r28); - lbl_1_bss_18.unk_00 = 1; - while (TRUE) { - if ((lbl_1_bss_18.unk_00 == 0) || (fn_1_4E54() <= 0)) { - break; - } - HuPrcVSleep(); - } - fn_1_4E98(); - if (lbl_1_bss_18.unk_00 != 0) { - lbl_1_bss_18.unk_00 = 2; - lbl_1_bss_698[0x12] = HuPrcChildCreate(fn_1_4A74, 0x100, 0x4000, 0, HuPrcCurrentGet()); - while (lbl_1_bss_698[0x12]) { - HuPrcVSleep(); - } - } - else { - lbl_1_bss_698[0x12] = HuPrcChildCreate(fn_1_47E4, 0x100, 0x4000, 0, HuPrcCurrentGet()); - while (lbl_1_bss_698[0x12]) { - HuPrcVSleep(); - } - if (lbl_1_bss_14 == lbl_1_bss_10) { - lbl_1_bss_698[0x12] = HuPrcChildCreate(fn_1_4850, 0x100, 0x4000, 0, HuPrcCurrentGet()); - while (lbl_1_bss_698[0x12]) { - HuPrcVSleep(); - } - goto label; - } - else { - - lbl_1_bss_698[0x12] = HuPrcChildCreate(fn_1_48E4, 0x100, 0x4000, 0, HuPrcCurrentGet()); - while (lbl_1_bss_698[0x12]) { - HuPrcVSleep(); - } - if(0) { - label: - fn_1_52D8(1); - if (fn_1_52F0() != 0x63) { - lbl_1_bss_698[0x12] = HuPrcChildCreate(fn_1_4B68, 0x100, 0x4000, 0, HuPrcCurrentGet()); - while (lbl_1_bss_698[0x12]) { - HuPrcVSleep(); - } - continue; - } - } - } - } - break; - } - lbl_1_bss_698[0x12] = HuPrcChildCreate(fn_1_45EC, 0x100, 0x4000, 0, HuPrcCurrentGet()); - - while (lbl_1_bss_698[0x12]) { - HuPrcVSleep(); - } - mgRecordExtra = fn_1_52F0(); - omSysExitReq = 1; - HuPrcEnd(); - lbl_1_bss_698[1] = NULL; - lbl_1_bss_698[1] = NULL; -} - -void fn_1_E78(void) -{ - float sp8; - float var_f31; - M459DllBss61CStruct *var_r31; - - var_r31 = &lbl_1_bss_61C; - var_r31->unk_00.x = 0.0f; - var_r31->unk_00.y = 300.0f; - var_r31->unk_00.z = 1100.0f; - var_r31->unk_0C.x = 90.0f; - var_r31->unk_0C.y = -400.0f; - var_r31->unk_0C.z = 0.0f; - var_r31->unk_18 = 0.0f; - var_r31->unk_1C = 1.0f; - var_r31->unk_20 = 0.0f; - var_r31->unk_74 = 1.0f; - var_r31->unk_6C = 1.0f; - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraPerspectiveSet(1, 30.0f, 10.0f, 8000.0f, 1.2f); - while (TRUE) { - fn_1_122C(); - if (var_r31->unk_6C < 1.0f) { - var_f31 = sind((90.0f * var_r31->unk_6C)); - var_r31->unk_00.x = var_r31->unk_24 + (var_f31 * (var_r31->unk_48.x - var_r31->unk_24)); - var_r31->unk_00.y = var_r31->unk_28 + (var_f31 * (var_r31->unk_48.y - var_r31->unk_28)); - var_r31->unk_00.z = var_r31->unk_2C + (var_f31 * (var_r31->unk_48.z - var_r31->unk_2C)); - if ((var_r31->unk_6C += var_r31->unk_70) >= 1.0f) { - var_r31->unk_00 = var_r31->unk_48; - } - } - if (var_r31->unk_74 < 1.0f) { - var_f31 = sind((90.0f * var_r31->unk_74)); - var_r31->unk_0C.x = var_r31->unk_30 + (var_f31 * (var_r31->unk_54.x - var_r31->unk_30)); - var_r31->unk_0C.y = var_r31->unk_34 + (var_f31 * (var_r31->unk_54.y - var_r31->unk_34)); - var_r31->unk_0C.z = var_r31->unk_38 + (var_f31 * (var_r31->unk_54.z - var_r31->unk_38)); - if ((var_r31->unk_74 += var_r31->unk_78) >= 1.0f) { - var_r31->unk_0C = var_r31->unk_54; - } - } - Hu3DCameraPosSet(1, var_r31->unk_00.x, var_r31->unk_00.y, var_r31->unk_00.z, var_r31->unk_18, var_r31->unk_1C, var_r31->unk_20, - var_r31->unk_0C.x, var_r31->unk_0C.y, var_r31->unk_0C.z); - HuPrcVSleep(); - } -} - -void fn_1_11DC(float arg8, float arg9, float argA) -{ - M459DllBss61CStruct *var_r31 = &lbl_1_bss_61C; - var_r31->unk_00.x = arg8; - var_r31->unk_00.y = arg9; - var_r31->unk_00.z = argA; -} - -void fn_1_1204(float arg8, float arg9, float argA) -{ - M459DllBss61CStruct *var_r31 = &lbl_1_bss_61C; - var_r31->unk_0C.x = arg8; - var_r31->unk_0C.y = arg9; - var_r31->unk_0C.z = argA; -} - -void fn_1_122C(void) -{ - M459DllBss61CStruct *var_r31; - - if (lbl_1_bss_4 != 0) { - var_r31 = &lbl_1_bss_61C; - var_r31->unk_0C.x += (0.25f * HuPadStkX[0]); - var_r31->unk_0C.y += (0.25f * HuPadStkY[0]); - var_r31->unk_00.z += (0.25f * HuPadTrigL[0]); - var_r31->unk_00.z -= (0.25f * HuPadTrigR[0]); - var_r31->unk_00.x += (0.25f * HuPadSubStkX[0]); - var_r31->unk_00.y += (0.25f * HuPadSubStkY[0]); - } -} - -void fn_1_142C(void) -{ - M459DllBss61CStruct *var_r31 = &lbl_1_bss_61C; - print8(0x20, 0x40, 1.5f, "AT : x=%.2f y=%.2f z=%.2f", var_r31->unk_0C.x, var_r31->unk_0C.y, var_r31->unk_0C.z); - print8(0x20, 0x50, 1.5f, "EYE : x=%.2f y=%.2f z=%.2f", var_r31->unk_00.x, var_r31->unk_00.y, var_r31->unk_00.z); -} - -static const u8 lbl_1_rodata_31C[8] = { 9, 0xE, 0xC, 0xA, 0xB }; - -void fn_1_14B8(void) -{ - M459DllBssCCStruct *var_r31; - s32 var_r30; - s32 var_r29; - - var_r29 = (s32)HuPrcCurrentGet()->user_data; - var_r31 = &lbl_1_bss_CC[var_r29]; - var_r31->unk_00 = var_r29; - var_r31->unk_04 = 0; - var_r31->unk_0C.x = -260.0f + (130.0f * var_r29); - var_r31->unk_0C.y = 0.0f; - var_r31->unk_0C.z = 0.0f; - var_r31->unk_18 = 0.0f; - var_r31->unk_1C = 0.0f; - var_r31->unk_20 = 0.0f; - var_r31->unk_50 = 0.0f; - var_r31->unk_54 = 0.0f; - var_r31->unk_58 = 0.0f; - Hu3DMotionSet(var_r31->unk_62[var_r31->unk_08], var_r31->unk_7A[var_r31->unk_08][var_r31->unk_60 = 0]); - Hu3DModelAttrSet(var_r31->unk_62[var_r31->unk_08], HU3D_MOTATTR_LOOP); - for (var_r30 = 0; var_r30 < 5; var_r30++) { - var_r31->unk_28[var_r30] = CharModelEffectNpcInit(var_r31->unk_62[var_r30], var_r31->unk_7A[var_r30][2], 1, lbl_1_rodata_31C[var_r30]); - var_r31->unk_3C[var_r30] = CharModelEffectNpcInit(var_r31->unk_62[var_r30], var_r31->unk_7A[var_r30][1], 0, lbl_1_rodata_31C[var_r30]); - } - while (TRUE) { - switch (var_r31->unk_04) { - case 0: - fn_1_19B4(var_r31); - break; - case 1: - fn_1_1A00(var_r31); - break; - case 3: - fn_1_1FDC(var_r31); - lbl_1_bss_7C[var_r31->unk_00].unk_04 = 3; - break; - case 4: - fn_1_2044(var_r31); - break; - case 5: - fn_1_21AC(var_r31); - break; - case 6: - fn_1_23AC(var_r31); - break; - case 7: - fn_1_27C8(var_r31); - break; - case 8: - fn_1_2930(var_r31); - break; - case 9: - fn_1_2B24(var_r31); - break; - case 10: - fn_1_3004(var_r31); - break; - case 11: - fn_1_2F18(var_r31); - break; - case 12: - fn_1_25C8(var_r31); - break; - case 13: - fn_1_3700(var_r31); - break; - } - } -} - -void fn_1_1778(M459DllBssCCStruct *arg0, s16 arg1, float arg8, float arg9, u32 arg2) -{ - Hu3DMotionShiftSet(arg0->unk_62[arg0->unk_08], arg0->unk_7A[arg0->unk_08][arg0->unk_60 = arg1], arg8, arg9, arg2); - Hu3DMotionShiftSet(arg0->unk_62[arg0->unk_08 + 5], arg0->unk_7A[arg0->unk_08][arg1], arg8, arg9, arg2); - Hu3DModelScaleSet(arg0->unk_62[arg0->unk_08 + 5], 1.0f, -1.0f, 1.0f); -} - -void fn_1_189C(M459DllBssCCStruct *arg0, s16 arg1, u32 arg2) -{ - Hu3DMotionSet(arg0->unk_62[arg0->unk_08], arg0->unk_7A[arg0->unk_08][arg0->unk_60 = arg1]); - Hu3DMotionSet(arg0->unk_62[arg0->unk_08 + 5], arg0->unk_7A[arg0->unk_08][arg1]); - Hu3DModelScaleSet(arg0->unk_62[arg0->unk_08 + 5], 1.0f, -1.0f, 1.0f); - Hu3DModelAttrSet(arg0->unk_62[arg0->unk_08], arg2); - Hu3DModelAttrSet(arg0->unk_62[arg0->unk_08 + 5], arg2); -} - -void fn_1_19B4(M459DllBssCCStruct *arg0) -{ - s32 var_r30; - do { - var_r30 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - } while (arg0->unk_04 == var_r30); -} - -static const s32 lbl_1_rodata_330[5] = { 0x36, 0x44, 0x47, 0x41, 0x4C }; - -void fn_1_1A00(M459DllBssCCStruct *var_r31) -{ - Vec sp8; - float var_f31; - - s32 var_r30; - s16 var_r29; - s16 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - - if (var_r31->unk_00 == 0) { - HuAudFXPlay(0x30D); - } - var_r29 = var_r31->unk_62[10]; - Hu3DModelAttrReset(var_r29, HU3D_ATTR_DISPOFF); - Hu3DModelScaleSet(var_r29, 1.0f, 1.0f, 1.0f); - Hu3DModelTPLvlSet(var_r29, 1.0f); - sp8 = var_r31->unk_0C; - for (var_r30 = 0; var_r30 < 0x28; var_r30++) { - var_f31 = sind((2.25f * var_r30)); - sp8.y = 170.0f + (350.0f - (350.0f * var_f31)); - Hu3DModelPosSet(var_r29, sp8.x, sp8.y, sp8.z); - var_r27 = var_r31->unk_04; - fn_1_4160(var_r31); - HuPrcVSleep(); - if (var_r31->unk_04 != var_r27) { - return; - } - } - if (var_r31->unk_00 == 0) { - HuAudFXPlay(0x312); - HuAudFXPlay(0x314); - } - for (var_r30 = 0; var_r30 < 0x14; var_r30++) { - var_f31 = sind((4.5f * var_r30)); - var_f31 = 1.0f - var_f31; - Hu3DModelScaleSet(var_r29, var_f31, var_f31, var_f31); - Hu3DModelTPLvlSet(var_r29, var_f31); - sp8.y = 170.0f - (2.0f * var_r30); - Hu3DModelPosSet(var_r29, sp8.x, sp8.y, sp8.z); - var_r26 = var_r31->unk_04; - fn_1_4160(var_r31); - HuPrcVSleep(); - if (var_r31->unk_04 != var_r26) { - return; - } - } - Hu3DModelAttrSet(var_r29, HU3D_ATTR_DISPOFF); - HuAudFXPlay(lbl_1_rodata_330[var_r31->unk_08]); - var_r28 = var_r31->unk_10A[0]; - sp8 = var_r31->unk_0C; - sp8.y = 200.0f; - Hu3D3Dto2D(&sp8, 1, &sp8); - espPosSet(var_r28, sp8.x, sp8.y); - espTPLvlSet(var_r28, 1.0f); - espDispOn(var_r28); - fn_1_1778(var_r31, 3, 0.0f, 8.0f, HU3D_ATTR_NONE); - for (var_r30 = 0; var_r30 < 0x3C; var_r30++) { - var_r25 = var_r31->unk_04; - fn_1_4160(var_r31); - HuPrcVSleep(); - if (var_r31->unk_04 != var_r25) { - return; - } - } - fn_1_1778(var_r31, 0, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - for (var_r30 = 0; var_r30 <= 0xA; var_r30++) { - espTPLvlSet(var_r28, 1.0f - (0.1f * var_r30)); - var_r24 = var_r31->unk_04; - fn_1_4160(var_r31); - HuPrcVSleep(); - if (var_r31->unk_04 != var_r24) { - return; - } - } - espDispOff(var_r28); - lbl_1_bss_CC[var_r31->unk_00].unk_04 = 0; -} - -void fn_1_1FDC(M459DllBssCCStruct *arg0) -{ - s32 var_r30; - - lbl_1_bss_7C[arg0->unk_00].unk_04 = 1; - do { - var_r30 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - } while (arg0->unk_04 == var_r30); -} - -void fn_1_2044(M459DllBssCCStruct *var_r31) -{ - Vec sp8; - - s32 var_r30; - s16 var_r29; - s32 var_r28; - s32 var_r27; - - var_r29 = var_r31->unk_10A[0]; - sp8 = var_r31->unk_0C; - sp8.y = 200.0f; - Hu3D3Dto2D(&sp8, 1, &sp8); - espPosSet(var_r29, sp8.x, sp8.y); - espTPLvlSet(var_r29, 1.0f); - espDispOn(var_r29); - for (var_r30 = 0; var_r30 < 0x1E; var_r30++) { - var_r28 = var_r31->unk_04; - fn_1_4160(var_r31); - HuPrcVSleep(); - if (var_r31->unk_04 != var_r28) { - return; - } - } - for (var_r30 = 0; var_r30 <= 0xA; var_r30++) { - espTPLvlSet(var_r29, 1.0f - (0.1f * var_r30)); - var_r27 = var_r31->unk_04; - fn_1_4160(var_r31); - HuPrcVSleep(); - if (var_r31->unk_04 != var_r27) { - return; - } - } - espDispOff(var_r29); - lbl_1_bss_CC[var_r31->unk_00].unk_04 = 0; -} - -void fn_1_21AC(M459DllBssCCStruct *arg0) -{ - s32 var_r30; - s32 var_r29; - s32 var_r28; - - if (lbl_1_bss_C > arg0->unk_00) { - for (var_r30 = 0; var_r30 < 0x1E; var_r30++) { - arg0->unk_50 = 0.0001f; - fn_1_338C(arg0, 0.1f); - var_r29 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r29) { - return; - } - } - } - else { - for (var_r30 = 0; var_r30 < 0x1E; var_r30++) { - arg0->unk_50 = -0.0001f; - fn_1_338C(arg0, 0.1f); - var_r28 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r28) { - return; - } - } - } - fn_1_1778(arg0, 0, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - lbl_1_bss_CC[arg0->unk_00].unk_04 = 0; -} - -static const s32 lbl_1_rodata_36C[5] = { 0x38, 0x44, 0x47, 0x41, 0x4C }; - -void fn_1_23AC(M459DllBssCCStruct *arg0) -{ - s32 var_r30; - s32 var_r29; - s32 var_r28; - - if (lbl_1_bss_C > arg0->unk_00) { - for (var_r30 = 0; var_r30 < 0x1E; var_r30++) { - arg0->unk_50 = 0.0001f; - fn_1_338C(arg0, 0.1f); - var_r29 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r29) { - return; - } - } - } - else { - for (var_r30 = 0; var_r30 < 0x1E; var_r30++) { - arg0->unk_50 = -0.0001f; - fn_1_338C(arg0, 0.1f); - var_r28 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r28) { - return; - } - } - } - HuAudFXPlay(lbl_1_rodata_36C[arg0->unk_08]); - fn_1_1778(arg0, 0, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - lbl_1_bss_CC[arg0->unk_00].unk_04 = 0; -} - -void fn_1_25C8(M459DllBssCCStruct *arg0) -{ - s32 var_r30; - s32 var_r29; - s32 var_r28; - - if (lbl_1_bss_C > arg0->unk_00) { - for (var_r30 = 0; var_r30 < 0x1E; var_r30++) { - arg0->unk_58 = 0.0001f; - fn_1_338C(arg0, 0.1f); - var_r29 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r29) { - return; - } - } - } - else { - for (var_r30 = 0; var_r30 < 0x1E; var_r30++) { - arg0->unk_58 = 0.0001f; - fn_1_338C(arg0, 0.1f); - var_r28 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r28) { - return; - } - } - } - fn_1_1778(arg0, 0, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - lbl_1_bss_CC[arg0->unk_00].unk_04 = 0; -} - -void fn_1_27C8(M459DllBssCCStruct *arg0) -{ - Vec sp8; - - s32 var_r30; - s16 var_r29; - s32 var_r28; - s32 var_r27; - - var_r29 = arg0->unk_10A[1]; - sp8 = arg0->unk_0C; - sp8.y = 200.0f; - Hu3D3Dto2D(&sp8, 1, &sp8); - espPosSet(var_r29, sp8.x, sp8.y); - espTPLvlSet(var_r29, 1.0f); - espDispOn(var_r29); - for (var_r30 = 0; var_r30 < 0x3C; var_r30++) { - var_r28 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r28) { - return; - } - } - for (var_r30 = 0; var_r30 <= 0xA; var_r30++) { - espTPLvlSet(var_r29, 1.0f - (0.1f * var_r30)); - var_r27 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r27) { - return; - } - } - espDispOff(var_r29); - lbl_1_bss_CC[arg0->unk_00].unk_04 = 0; -} - -static const s32 lbl_1_rodata_380[5] = { 0x38, 0x44, 0x47, 0x41, 0x4C }; - -void fn_1_2930(M459DllBssCCStruct *arg0) -{ - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - for (var_r30 = 0; var_r30 < 0x1E; var_r30++) { - var_r29 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r29) { - return; - } - } - for (var_r30 = 0; var_r30 < 0xF; var_r30++) { - arg0->unk_58 = 0.0001f; - fn_1_338C(arg0, 0.2f); - var_r28 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r28) { - return; - } - } - HuAudFXPlay(lbl_1_rodata_380[arg0->unk_08]); - fn_1_1778(arg0, 5, 0.0f, 8.0f, HU3D_ATTR_NONE); - for (var_r30 = 0; var_r30 < 0x8C; var_r30++) { - var_r27 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r27) { - return; - } - } - lbl_1_bss_CC[arg0->unk_00].unk_04 = 0; -} - -static const s32 lbl_1_rodata_398[5] = { 0x39, 0x43, 0x46, 0x40, 0x4B }; - -void fn_1_2B24(M459DllBssCCStruct *arg0) -{ - Vec sp8; - - s16 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - var_r30 = arg0->unk_62[11]; - sp8 = arg0->unk_0C; - sp8.y = 80.0f; - sp8.z = -50.0f; - Hu3DModelPosSet(var_r30, sp8.x, sp8.y, sp8.z); - Hu3DMotionTimeSet(var_r30, 0.0f); - Hu3DModelAttrReset(var_r30, HU3D_ATTR_DISPOFF); - for (var_r29 = 0; var_r29 < 0x1E; var_r29++) { - var_r28 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r28) { - return; - } - } - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); - HuAudFXPlay(lbl_1_rodata_398[arg0->unk_08]); - fn_1_1778(arg0, 4, 0.0f, 8.0f, HU3D_ATTR_NONE); - while (Hu3DMotionEndCheck(arg0->unk_62[arg0->unk_08]) == 0) { - var_r27 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r27) { - return; - } - } - - if (arg0->unk_08 == 4) { - fn_1_189C(arg0, 0, HU3D_MOTATTR_LOOP); - } - else { - fn_1_1778(arg0, 0, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - lbl_1_bss_CC[arg0->unk_00].unk_04 = 0; -} - -void fn_1_2F18(M459DllBssCCStruct *arg0) -{ - s32 var_r30; - s32 var_r29; - s32 var_r28; - - for (var_r30 = 0; var_r30 < (arg0->unk_00 * 8); var_r30++) { - var_r29 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r29) { - return; - } - } - while (TRUE) { - arg0->unk_50 = -8.0f; - fn_1_338C(arg0, 0.2f); - var_r28 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 == var_r28) { - if (arg0->unk_0C.x < -600.0f) { - lbl_1_bss_CC[arg0->unk_00].unk_04 = 0; - break; - } - } - else { - break; - } - } -} - -void fn_1_3004(M459DllBssCCStruct *arg0) -{ - float var_f31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - arg0->unk_0C.x = 600.0f; - arg0->unk_0C.z = 0.0f; - arg0->unk_0C.y = 0.0f; - var_f31 = -260.0f + (130.0f * arg0->unk_00); - for (var_r30 = 0; var_r30 < (arg0->unk_00 * 0x1E); var_r30++) { - var_r29 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r29) { - return; - } - } -loop_1: - arg0->unk_50 = -8.0f; - fn_1_338C(arg0, 0.2f); - if (arg0->unk_0C.x < var_f31) { - arg0->unk_0C.x = var_f31; - } - else { - var_r28 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r28) { - return; - } - goto loop_1; - } - fn_1_1778(arg0, 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - for (var_r30 = 0; var_r30 < 0xF; var_r30++) { - arg0->unk_58 = 0.0001f; - fn_1_338C(arg0, 0.2f); - var_r27 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r27) { - return; - } - } - arg0->unk_1C = 0.0f; - fn_1_1778(arg0, 0, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - lbl_1_bss_CC[arg0->unk_00].unk_04 = 0; -} - -void fn_1_338C(M459DllBssCCStruct *arg0, float arg8) -{ - float spC; - float var_f31; - float var_f30; - float var_f29; - s16 var_r30; - - var_r30 = 0; - arg0->unk_5C = sqrtf((arg0->unk_50 * arg0->unk_50) + (arg0->unk_58 * arg0->unk_58)); - if (0.0001f <= arg0->unk_5C) { - if (10.0f <= arg0->unk_5C) { - arg0->unk_50 /= arg0->unk_5C; - arg0->unk_58 /= arg0->unk_5C; - arg0->unk_5C = 10.0f; - arg0->unk_50 = 10.0f * arg0->unk_50; - arg0->unk_58 = 10.0f * arg0->unk_58; - } - arg0->unk_1C = fn_1_4210(arg0->unk_1C, atan2d(arg0->unk_50, arg0->unk_58), arg8); - if (8.0f <= arg0->unk_5C) { - var_r30 = 2; - } - else { - var_r30 = 1; - } - } - arg0->unk_0C.x += arg0->unk_50; - arg0->unk_0C.z += arg0->unk_58; - if (arg0->unk_60 != var_r30) { - fn_1_1778(arg0, var_r30, 0.0f, 4.0f, HU3D_MOTATTR_LOOP); - } - arg0->unk_50 = 0.0f; - arg0->unk_58 = 0.0f; -} - -void fn_1_3700(M459DllBssCCStruct *arg0) -{ - s32 var_r30; - s32 var_r25; - s32 var_r24; - s32 var_r23; - - if (lbl_1_bss_C > arg0->unk_00) { - for (var_r30 = 0; var_r30 < 0x1E; var_r30++) { - arg0->unk_58 = 0.0001f; - fn_1_338C(arg0, 0.4f); - var_r25 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r25) { - return; - } - } - } - else { - for (var_r30 = 0; var_r30 < 0x1E; var_r30++) { - arg0->unk_58 = 0.0001f; - fn_1_338C(arg0, 0.4f); - var_r24 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r24) { - return; - } - } - } - fn_1_1778(arg0, 4, 0.0f, 8.0f, HU3D_ATTR_NONE); - while (Hu3DMotionEndCheck(arg0->unk_62[arg0->unk_08]) == 0) { - var_r23 = arg0->unk_04; - fn_1_4160(arg0); - HuPrcVSleep(); - if (arg0->unk_04 != var_r23) { - return; - } - } - if (arg0->unk_08 == 4) { - fn_1_189C(arg0, 0, HU3D_MOTATTR_LOOP); - } - else { - fn_1_1778(arg0, 0, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - } - lbl_1_bss_CC[arg0->unk_00].unk_04 = 0; -} - -void fn_1_4160(M459DllBssCCStruct *arg0) -{ - Hu3DModelPosSet(arg0->unk_62[arg0->unk_08], arg0->unk_0C.x, arg0->unk_0C.y, arg0->unk_0C.z); - Hu3DModelPosSet(arg0->unk_62[arg0->unk_08 + 5], arg0->unk_0C.x, arg0->unk_0C.y, arg0->unk_0C.z); - Hu3DModelRotSet(arg0->unk_62[arg0->unk_08], arg0->unk_18, arg0->unk_1C, arg0->unk_20); - Hu3DModelRotSet(arg0->unk_62[arg0->unk_08 + 5], arg0->unk_18, arg0->unk_1C, arg0->unk_20); -} - -float fn_1_4210(float arg8, float arg9, float argA) -{ - float var_f31; - float var_f30; - - var_f31 = fmod(arg9 - arg8, 360.0); - if (0.0f > var_f31) { - var_f31 += 360.0f; - } - if (180.0f < var_f31) { - var_f31 -= 360.0f; - } - var_f30 = fmod(arg8 + (var_f31 * argA), 360.0); - if (0.0f > var_f30) { - var_f30 += 360.0f; - } - return var_f30; -} - -void fn_1_4314(s32 arg0, u32 arg1) -{ - M459DllBssCCStruct *var_r31; - s32 var_r30; - - var_r31 = &lbl_1_bss_CC[arg0]; - var_r31->unk_08 = arg1; - for (var_r30 = 0; var_r30 < 5; var_r30++) { - if (var_r30 != var_r31->unk_08) { - Hu3DModelAttrSet(var_r31->unk_62[var_r30], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(var_r31->unk_62[var_r30 + 5], HU3D_ATTR_DISPOFF); - } - Hu3DModelPosSet(var_r31->unk_62[var_r30], 0.0f, 0.0f, -1000.0f); - Hu3DModelPosSet(var_r31->unk_62[var_r30 + 5], 0.0f, 0.0f, -1000.0f); - } - Hu3DModelAttrReset(var_r31->unk_62[var_r31->unk_08], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(var_r31->unk_62[var_r31->unk_08 + 5], HU3D_ATTR_DISPOFF); - fn_1_1778(var_r31, 0, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); -} - -void fn_1_4530(void) -{ - s32 var_r31; - - HuPrcSleep(0x3C); - for (var_r31 = 0; var_r31 < 5; var_r31++) { - lbl_1_bss_CC[var_r31].unk_04 = 1; - } - while (lbl_1_bss_CC->unk_04 != 0) { - HuPrcVSleep(); - } - lbl_1_bss_0 = HuAudSeqPlay(0x43); - fn_1_4F8C(0); - while (fn_1_4FAC() != 0) { - HuPrcVSleep(); - } - lbl_1_bss_698[0x12] = NULL; - HuPrcEnd(); -} - -void fn_1_45EC(void) -{ - s32 var_r31; - s32 var_r30; - s16 var_r29; - s32 var_r28; - - HuAudSeqFadeOut(lbl_1_bss_0, 0x64); - HuAudFXPlay(0x814); - var_r28 = fn_1_5300(); - if (fn_1_52F0() > var_r28) { - fn_1_4F8C(1); - while (fn_1_4FAC() != 0) { - HuPrcVSleep(); - } - var_r30 = fn_1_52F0(); - GWMGRecordSet(0xB, var_r30); - var_r29 = MGSeqCreate(0xE, var_r30); - HuAudFXPlay(0x26); - fn_1_5310(); - while (MGSeqStatGet(var_r29) != 0) { - HuPrcVSleep(); - } - } - else { - fn_1_4F8C(1); - while (fn_1_4FAC() != 0) { - HuPrcVSleep(); - } - } - HuAudSStreamPlay(3); - if (fn_1_52F0() >= 0x63) { - for (var_r31 = 0; var_r31 < 5; var_r31++) { - lbl_1_bss_CC[var_r31].unk_04 = 0xD; - } - while (lbl_1_bss_CC[var_r31].unk_04 == 0xD) { - HuPrcVSleep(); - } - } - HuPrcSleep(0xD2); - lbl_1_bss_698[0x12] = NULL; - HuPrcEnd(); -} - -void fn_1_4764(void) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 5; var_r31++) { - lbl_1_bss_CC[var_r31].unk_04 = 1; - } - while (lbl_1_bss_CC->unk_04 != 0) { - HuPrcVSleep(); - } - lbl_1_bss_698[0x12] = NULL; - HuPrcEnd(); -} - -void fn_1_47E4(void) -{ - HuPrcSleep(0x1E); - HuAudFXPlay(0x30D); - lbl_1_bss_18.unk_00 = 3; - while (lbl_1_bss_18.unk_00 != 0) { - HuPrcVSleep(); - } - lbl_1_bss_698[0x12] = NULL; - HuPrcEnd(); -} - -void fn_1_4850(void) -{ - HuAudFXPlay(9); - lbl_1_bss_CC[lbl_1_bss_14].unk_04 = 9; - while (lbl_1_bss_CC[lbl_1_bss_14].unk_04 == 9) { - HuPrcVSleep(); - } - HuPrcSleep(8); - lbl_1_bss_698[0x12] = NULL; - HuPrcEnd(); -} - -void fn_1_48E4(void) -{ - s32 var_r31; - - lbl_1_bss_CC[lbl_1_bss_14].unk_04 = 7; - HuPrcSleep(0x1E); - lbl_1_bss_CC[lbl_1_bss_10].unk_04 = 8; - HuPrcSleep(0x50); - lbl_1_bss_C = lbl_1_bss_10; - for (var_r31 = 0; var_r31 < 5; var_r31++) { - if ((var_r31 != lbl_1_bss_10) && (var_r31 != lbl_1_bss_14)) { - lbl_1_bss_CC[var_r31].unk_04 = 6; - } - } - while (lbl_1_bss_CC[lbl_1_bss_14].unk_04 == 7) { - HuPrcVSleep(); - } - HuPrcSleep(0x1E); - lbl_1_bss_CC[lbl_1_bss_14].unk_04 = 5; - while (lbl_1_bss_CC[lbl_1_bss_14].unk_04 == 5) { - HuPrcVSleep(); - } - HuPrcSleep(0x3C); - lbl_1_bss_698[0x12] = NULL; - HuPrcEnd(); -} - -void fn_1_4A74(void) -{ - s32 var_r31; - - lbl_1_bss_CC[lbl_1_bss_10].unk_04 = 8; - HuPrcSleep(0x6E); - lbl_1_bss_C = lbl_1_bss_10; - for (var_r31 = 0; var_r31 < 5; var_r31++) { - if (var_r31 != lbl_1_bss_10) { - lbl_1_bss_CC[var_r31].unk_04 = 5; - } - } - while (lbl_1_bss_CC[lbl_1_bss_10].unk_04 != 8) { - HuPrcVSleep(); - } - HuPrcSleep(0x3C); - lbl_1_bss_698[0x12] = NULL; - HuPrcEnd(); -} - -void fn_1_4B68(void) -{ - s32 var_r31; - s32 var_r30; - - for (var_r31 = 0; var_r31 < 5; var_r31++) { - lbl_1_bss_CC[var_r31].unk_04 = 0xB; - } - while (TRUE) { - var_r30 = 0; - for (var_r31 = 0; var_r31 < 5; var_r31++) { - if (lbl_1_bss_CC[var_r31].unk_04 != 0) { - var_r30++; - } - } - if (var_r30 != 0) { - HuPrcVSleep(); - } - else { - break; - } - } - lbl_1_bss_698[0x12] = NULL; - HuPrcEnd(); -} - -void fn_1_4C1C(void) -{ - s32 var_r31; - s32 var_r30; - - for (var_r31 = 0; var_r31 < 5; var_r31++) { - lbl_1_bss_CC[var_r31].unk_04 = 0xA; - } - while (TRUE) { - var_r30 = 0; - for (var_r31 = 0; var_r31 < 5; var_r31++) { - if (lbl_1_bss_CC[var_r31].unk_04 != 0) { - var_r30++; - } - } - if (var_r30 != 0) { - HuPrcVSleep(); - } - else { - break; - } - } - lbl_1_bss_698[0x12] = NULL; - HuPrcEnd(); -} - -void fn_1_4CD0(void) -{ - M459DllBss70Struct *var_r31; - - var_r31 = &lbl_1_bss_70; - var_r31->unk_00 = 0; - var_r31->unk_08 = 0; - var_r31->unk_04 = -1; - while (TRUE) { - switch (var_r31->unk_00) { - case 4: - case 0: - break; - case 1: - if (var_r31->unk_04 == -1) { - var_r31->unk_04 = MGSeqCreate(1, var_r31->unk_08 / 60, -1, -1); - } - var_r31->unk_00 = 2; - break; - case 3: - if (var_r31->unk_04 != -1) { - MGSeqParamSet(var_r31->unk_04, 2, -1); - var_r31->unk_04 = -1; - } - var_r31->unk_00 = 0; - break; - case 2: - if ((var_r31->unk_04 != -1) && (var_r31->unk_08 > 0)) { - if (--var_r31->unk_08 <= 0) { - var_r31->unk_08 = 0; - var_r31->unk_00 = 3; - } - if ((var_r31->unk_08 % 60) == 0) { - MGSeqParamSet(var_r31->unk_04, 1, var_r31->unk_08 / 60); - } - } - break; - } - HuPrcVSleep(); - } -} - -s32 fn_1_4E54(void) -{ - return lbl_1_bss_70.unk_08; -} - -void fn_1_4E64(s32 arg0) -{ - lbl_1_bss_70.unk_08 = arg0; - lbl_1_bss_70.unk_00 = 1; -} - -void fn_1_4E84(void) -{ - lbl_1_bss_70.unk_00 = 4; -} - -void fn_1_4E98(void) -{ - lbl_1_bss_70.unk_00 = 3; -} - -void fn_1_4EAC(void) -{ - M459DllBss64Struct *var_r31; - - var_r31 = &lbl_1_bss_64; - var_r31->unk_00 = 0; - var_r31->unk_08 = -1; - while (TRUE) { - switch (var_r31->unk_00) { - case 0: - break; - case 2: - if (var_r31->unk_08 == -1) { - switch (var_r31->unk_04) { - case 0: - var_r31->unk_08 = MGSeqCreate(3, 0); - break; - case 1: - var_r31->unk_08 = MGSeqCreate(3, 1); - break; - } - } - var_r31->unk_00 = 1; - break; - case 1: - if (MGSeqStatGet(var_r31->unk_08) == 0) { - MGSeqKill(var_r31->unk_08); - var_r31->unk_08 = -1; - var_r31->unk_00 = 0; - } - break; - } - HuPrcVSleep(); - } -} - -void fn_1_4F8C(s32 arg0) -{ - lbl_1_bss_64.unk_00 = 2; - lbl_1_bss_64.unk_04 = arg0; -} - -s32 fn_1_4FAC(void) -{ - return lbl_1_bss_64.unk_00 != 0; -} - -void fn_1_4FC8(void) -{ - float var_f31; - M459DllBss4CStruct *var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r31 = &lbl_1_bss_4C; - var_r31->unk_0C = 0; - var_r31->unk_10 = (s16)GWMGRecordGet(0xB); - var_r31->unk_14 = 0; - espPosSet(var_r31->unk_00[5], 508.0f, 64.0f); - espPosSet(var_r31->unk_00[4], 488.0f, 56.0f); - for (var_r30 = 0; var_r30 < 2; var_r30++) { - espPosSet(var_r31->unk_00[var_r30 + 2], (var_r30 * 0x10) + 0x1FC, 57.0f); - espPosSet(var_r31->unk_00[var_r30], (var_r30 * 0x10) + 0x1FC, 75.0f); - } - espTPLvlSet(var_r31->unk_00[5], 0.5f); - espPriSet(var_r31->unk_00[5], 0x65); - espPriSet(var_r31->unk_00[4], 0x64); - espPriSet(var_r31->unk_00[2], 0x64); - espPriSet(var_r31->unk_00[3], 0x64); - espPriSet(var_r31->unk_00[0], 0x64); - espPriSet(var_r31->unk_00[1], 0x64); - var_f31 = 1.0f; - while (TRUE) { - if (var_r31->unk_14 != 0) { - if (var_r28 != 0) { - var_f31 += 0.02; - var_f31 = var_f31; - if (var_f31 >= 1.2f) { - var_f31 = 1.2f; - var_r28 = 0; - } - } - else { - var_f31 -= 0.02; - var_f31 = var_f31; - if (var_f31 <= 1.0f) { - var_f31 = 1.0f; - var_r28 = 1; - } - } - espScaleSet(var_r31->unk_00[4], var_f31, var_f31); - for (var_r30 = 0; var_r30 < 2; var_r30++) { - espScaleSet(var_r31->unk_00[var_r30 + 2], var_f31, var_f31); - } - } - var_r29 = var_r31->unk_0C; - espBankSet(var_r31->unk_00[0], var_r29 / 10); - var_r29 = var_r29 % 10; - espBankSet(var_r31->unk_00[1], var_r29); - var_r29 = var_r31->unk_10; - espBankSet(var_r31->unk_00[2], var_r29 / 10); - var_r29 = var_r29 % 10; - espBankSet(var_r31->unk_00[3], var_r29); - HuPrcVSleep(); - } -} - -void fn_1_52D8(s32 arg0) -{ - lbl_1_bss_4C.unk_0C += arg0; -} - -s32 fn_1_52F0(void) -{ - return lbl_1_bss_4C.unk_0C; -} - -s32 fn_1_5300(void) -{ - return lbl_1_bss_4C.unk_10; -} - -s32 fn_1_5310(void) -{ - if (lbl_1_bss_4C.unk_10 < lbl_1_bss_4C.unk_0C) { - lbl_1_bss_4C.unk_10 = lbl_1_bss_4C.unk_0C; - lbl_1_bss_4C.unk_14 = 1; - } -} - -M459DllData70Struct lbl_1_data_70 = { { 0.0f, 300.0f, 0.0f }, { 0.0f, -300.0f, -600.0f }, { 0xFF, 0xFF, 0xFF, 0xFF } }; - -void fn_1_535C(void) -{ - LightData *sp8; - s16 *var_r31; - - var_r31 = lbl_1_bss_48; - Hu3DLighInit(); - var_r31[1] = Hu3DGLightCreateV(&lbl_1_data_70.unk_00, &lbl_1_data_70.unk_0C, &lbl_1_data_70.unk_18); - Hu3DGLightInfinitytSet(var_r31[1]); - sp8 = &Hu3DGlobalLight[var_r31[1]]; - { - Vec sp24 = { 0.0f, 3000.0f, 1.0f }; - Vec sp18 = { 0.0f, 1.0f, 0.0f }; - Vec spC = { 0.0f, 0.0f, 0.0f }; - Hu3DShadowCreate(30.0f, 20.0f, 5000.0f); - Hu3DShadowTPLvlSet(0.45f); - Hu3DShadowPosSet(&sp24, &sp18, &spC); - } - Hu3DShadowTPLvlSet(0.3f); - Hu3DModelAttrSet(var_r31[0], HU3D_MOTATTR_LOOP); - while (TRUE) { - HuPrcVSleep(); - } -} - -static const s32 lbl_1_rodata_458[6][3]; - -void fn_1_5490(void) -{ - M459DllBss18Struct *var_r31; - - var_r31 = &lbl_1_bss_18; - var_r31->unk_00 = 0; - var_r31->unk_24[0] = GWPlayerCfg->pad_idx; - var_r31->unk_24[1] = GWPlayerCfg->character; - var_r31->unk_28 = GWPlayerCfg->iscom; - var_r31->unk_2C = 0x14; - lbl_1_bss_14 = 0; - lbl_1_bss_2 = var_r31->unk_24[0]; - while (TRUE) { - switch (var_r31->unk_00) { - case 0: - fn_1_556C(var_r31); - continue; - case 1: - fn_1_55B0(var_r31); - continue; - case 2: - break; - case 3: - fn_1_5A78(var_r31); - continue; - default: - continue; - } - fn_1_5E3C(var_r31); - } -} - -void fn_1_556C(M459DllBss18Struct *arg0) -{ - s32 var_r30; - - do { - var_r30 = arg0->unk_00; - HuPrcVSleep(); - } while (arg0->unk_00 == var_r30); -} - -void fn_1_55B0(M459DllBss18Struct *var_r31) -{ - Vec sp20; - Vec sp14; - Vec sp8; - float var_f31; - - u8 var_r30; - s16 var_r29; - s32 var_r28; - u16 var_r27; - s32 var_r26; - M459DllBssCCStruct *var_r25; - s32 var_r24; - s32 var_r23; - s32 var_r22; - s32 var_r21; - s32 var_r20; - - lbl_1_bss_14 = 0; - var_r28 = -1; - var_r29 = var_r31->unk_04[var_r31->unk_24[1]]; - espDispOn(var_r29); - var_r23 = 0; - while(1) { - var_r30 = 0; - var_r27 = 0; - if (var_r31->unk_28 != 0) { - if (var_r31->unk_2C <= 0) { - var_r20 = lbl_1_bss_70.unk_08; - if ((var_r20 > 0xB4) && (var_r23 == 0)) { - var_r24 = frandmod(0xA); - if (var_r24 >= 5) { - var_r30 |= 1; - } - else if (var_r24 > 1) { - var_r30 |= 2; - } - else { - var_r23 = 1; - } - } - else { - if (lbl_1_bss_14 > lbl_1_bss_10) { - var_r30 |= 1; - } - else if (lbl_1_bss_14 < lbl_1_bss_10) { - var_r30 |= 2; - } - if (lbl_1_bss_14 == lbl_1_bss_10) { - var_r27 |= 0x100; - } - } - var_r31->unk_2C = 0x1E; - } - else { - var_r31->unk_2C--; - } - } - else { - var_r30 = HuPadDStkRep[var_r31->unk_24[0]]; - var_r27 = HuPadBtnDown[var_r31->unk_24[0]]; - } - if (var_r28 != -1) { - if ((var_r27 & 0x100) != 0) { - HuAudFXPlay(2); - break; - } - else { - if ((var_r30 & 1) != 0) { - if (--lbl_1_bss_14 < 0) { - lbl_1_bss_14 = 4; - } - HuAudFXPlay(0); - } - else if ((var_r30 & 2) != 0) { - if (++lbl_1_bss_14 >= 5) { - lbl_1_bss_14 = 0; - } - HuAudFXPlay(0); - } - goto block_30; - } - } - else { - block_30: - if (var_r28 != lbl_1_bss_14) { - var_r25 = &lbl_1_bss_CC[lbl_1_bss_14]; - sp14 = sp20; - sp20 = var_r25->unk_0C; - sp20.y = 40.0f; - espPriSet(var_r29, 0x32); - if (var_r28 == -1) { - sp14 = sp20; - } - else { - lbl_1_bss_7C[var_r28].unk_04 = 3; - } - for (var_r26 = 0; var_r26 <= 4; var_r26++) { - var_f31 = sind((90.0f * (0.25f * var_r26))); - var_f31 *= var_f31 * var_f31; - sp8.x = sp14.x + (var_f31 * (sp20.x - sp14.x)); - sp8.y = sp14.y + (var_f31 * (sp20.y - sp14.y)); - sp8.z = sp14.z + (var_f31 * (sp20.z - sp14.z)); - Hu3D3Dto2D(&sp8, 1, &sp8); - espPosSet(var_r29, sp8.x, sp8.y); - var_r22 = var_r31->unk_00; - HuPrcVSleep(); - if (var_r31->unk_00 != var_r22) { - return; - } - } - espPosSet(var_r29, sp8.x, sp8.y); - lbl_1_bss_7C[lbl_1_bss_14].unk_04 = 1; - } - var_r28 = lbl_1_bss_14; - var_r21 = var_r31->unk_00; - HuPrcVSleep(); - if (var_r31->unk_00 != var_r21) { - return; - } - } - } - lbl_1_bss_7C[lbl_1_bss_14].unk_04 = 3; - espDispOff(var_r29); - lbl_1_bss_18.unk_00 = 0; -} - -void fn_1_5A78(M459DllBss18Struct *arg0) -{ - Vec sp8; - float var_f31; - - s32 var_r31; - s16 var_r29; - M459DllBssCCStruct *var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - - var_r28 = &lbl_1_bss_CC[lbl_1_bss_14]; - lbl_1_bss_CC[lbl_1_bss_14].unk_04 = 4; - for (var_r31 = 0; var_r31 < 0x3C; var_r31++) { - var_r27 = arg0->unk_00; - HuPrcVSleep(); - if (arg0->unk_00 != var_r27) { - return; - } - } - var_r29 = arg0->unk_14[arg0->unk_24[1]]; - Hu3DModelAttrReset(var_r29, HU3D_ATTR_DISPOFF); - Hu3DModelTPLvlSet(var_r29, 1.0f); - Hu3DModelScaleSet(var_r29, 1.0f, 1.0f, 1.0f); - sp8 = var_r28->unk_0C; - for (var_r31 = 0; var_r31 < 0x3C; var_r31++) { - var_f31 = sind((1.5000001f * var_r31)); - sp8.y = 170.0f + (350.0f - (350.0f * var_f31)); - Hu3DModelPosSet(var_r29, sp8.x, sp8.y, sp8.z); - var_r26 = arg0->unk_00; - HuPrcVSleep(); - if (arg0->unk_00 != var_r26) { - return; - } - } - for (var_r31 = 0; var_r31 < 0x14; var_r31++) { - var_f31 = sind((4.5f * var_r31)); - var_f31 = 1.0f - var_f31; - Hu3DModelScaleSet(var_r29, var_f31, var_f31, var_f31); - Hu3DModelTPLvlSet(var_r29, var_f31); - Hu3DModelRotSet(var_r29, 0.0f, 540.0f * var_f31, 0.0f); - sp8.y = 170.0f - (2.0f * var_r31); - Hu3DModelPosSet(var_r29, sp8.x, sp8.y, sp8.z); - var_r25 = arg0->unk_00; - HuPrcVSleep(); - if (arg0->unk_00 != var_r25) { - return; - } - } - Hu3DModelAttrSet(var_r29, HU3D_ATTR_DISPOFF); - lbl_1_bss_C = lbl_1_bss_14; - for (var_r31 = 0; var_r31 < 5; var_r31++) { - if (var_r31 != lbl_1_bss_14) { - lbl_1_bss_CC[var_r31].unk_04 = 5; - } - } - for (var_r31 = 0; var_r31 < 0x78; var_r31++) { - var_r24 = arg0->unk_00; - HuPrcVSleep(); - if (arg0->unk_00 != var_r24) { - return; - } - } - lbl_1_bss_18.unk_00 = 0; -} - -void fn_1_5E3C(M459DllBss18Struct *arg0) -{ - lbl_1_bss_7C[lbl_1_bss_14].unk_04 = 3; - espDispOff(arg0->unk_04[arg0->unk_24[1]]); - lbl_1_bss_18.unk_00 = 0; -} - -void fn_1_5EAC(void) -{ - M459DllBss7CStruct *var_r31; - s32 var_r30; - - var_r30 = (s32)HuPrcCurrentGet()->user_data; - var_r31 = &lbl_1_bss_7C[var_r30]; - var_r31->unk_00 = var_r30; - var_r31->unk_04 = 0; - while (TRUE) { - switch (var_r31->unk_04) { - case 0: - fn_1_5F40(var_r31); - break; - case 1: - fn_1_5F84(var_r31); - break; - case 2: - fn_1_6198(var_r31); - break; - case 3: - fn_1_6458(var_r31); - break; - } - - } -} - -void fn_1_5F40(M459DllBss7CStruct *arg0) -{ - s32 var_r30; - - do { - var_r30 = arg0->unk_04; - HuPrcVSleep(); - } while (arg0->unk_04 == var_r30); -} - -void fn_1_5F84(M459DllBss7CStruct *arg0) -{ - Vec sp8; - float var_f31; - - M459DllBssCCStruct *var_r27; - s16 var_r30; - s16 var_r29; - s32 var_r28; - s32 var_r26; - - var_r29 = arg0->unk_0C[1]; - var_r30 = arg0->unk_0C[0]; - var_r27 = &lbl_1_bss_CC[arg0->unk_00]; - sp8 = var_r27->unk_0C; - sp8.y = 200.0f; - Hu3D3Dto2D(&sp8, 1, &sp8); - espPosSet(var_r29, sp8.x, sp8.y); - espPosSet(var_r30, sp8.x, sp8.y); - espScaleSet(var_r30, 0.0f, 0.0f); - espPriSet(var_r29, 0x32); - espPriSet(var_r30, 0x31); - if (lbl_1_bss_8 == 0) { - espScaleSet(var_r29, 1.0f, 1.0f); - espScaleSet(var_r30, 0.5f, 0.5f); - espDispOn(var_r29); - espDispOn(var_r30); - } - var_f31 = 0.0f; - for (var_r28 = 0; var_r28 < 0xA; var_r28++) { - espTPLvlSet(var_r29, var_f31); - espTPLvlSet(var_r30, var_f31); - var_f31 = 0.08f * var_r28; - var_r26 = arg0->unk_04; - HuPrcVSleep(); - if (arg0->unk_04 != var_r26) { - return; - } - } - espTPLvlSet(var_r29, 0.8f); - espTPLvlSet(var_r30, 0.8f); - lbl_1_bss_7C[arg0->unk_00].unk_04 = 2; -} - -static const s32 lbl_1_rodata_458[6][3] = { - { 0, 0xF, 0xF }, - { 1, 0xA, 0xA }, - { 1, 0x14, 5 }, - { 2, 0x14, 0xA }, - { 2, 5, 0xA }, - { 0x3F000000, 0x3F000000, 0x3F000000 }, -}; - -void fn_1_6198(M459DllBss7CStruct *var_r31) -{ - float var_f31; - float var_f30; - s32 var_r30; - s32 var_r29; - s16 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - - var_r28 = var_r31->unk_0C[0]; - var_r27 = lbl_1_rodata_458[var_r31->unk_08][0]; - var_r29 = lbl_1_rodata_458[var_r31->unk_08][1]; - var_r26 = lbl_1_rodata_458[var_r31->unk_08][2]; - while (TRUE) { - if (lbl_1_bss_8 != 0) { - switch (var_r27) { - case 0: - omVibrate(0, var_r29, 6, 6); - break; - case 1: - omVibrate(0, var_r29, 4, 2); - break; - case 2: - omVibrate(0, var_r29, 0xC, 0); - break; - } - } - switch (var_r27) { - case 0: - var_f30 = 0.4f; - break; - case 1: - var_f30 = 0.55f; - break; - case 2: - var_f30 = 0.7f; - break; - } - for (var_r30 = 0; var_r30 < var_r29; var_r30++) { - var_f31 = var_r30 * (var_f30 * (1.0f / var_r29)); - var_f31 += 0.5f; - espScaleSet(var_r28, var_f31, var_f31); - var_r25 = var_r31->unk_04; - HuPrcVSleep(); - if (var_r31->unk_04 != var_r25) { - return; - } - } - - for (var_r30 = 0; var_r30 < var_r26; var_r30++) { - var_f31 = var_f30 - (var_r30 * (var_f30 * (1.0f / var_r26))); - var_f31 += 0.5f; - espScaleSet(var_r28, var_f31, var_f31); - var_r24 = var_r31->unk_04; - HuPrcVSleep(); - if (var_r31->unk_04 != var_r24) { - return; - } - } - } -} - -void fn_1_6458(M459DllBss7CStruct *arg0) -{ - float var_f31; - s32 var_r30; - s16 var_r29; - s16 var_r28; - s32 var_r27; - - var_r29 = arg0->unk_0C[1]; - var_r28 = arg0->unk_0C[0]; - if (lbl_1_bss_8 != 0) { - HuPadRumbleStop(lbl_1_bss_2); - } - var_f31 = 0.8f; - for (var_r30 = 0; var_r30 < 0xA; var_r30++) { - espTPLvlSet(var_r29, var_f31); - espTPLvlSet(var_r28, var_f31); - var_f31 = 0.8f - (0.08f * var_r30); - var_r27 = arg0->unk_04; - HuPrcVSleep(); - if (arg0->unk_04 != var_r27) { - return; - } - } - espDispOff(var_r29); - espDispOff(var_r28); - lbl_1_bss_7C[arg0->unk_00].unk_04 = 0; -} diff --git a/src/REL/m460Dll/main.c b/src/REL/m460Dll/main.c deleted file mode 100644 index 52ca989b..00000000 --- a/src/REL/m460Dll/main.c +++ /dev/null @@ -1,1015 +0,0 @@ -#include "dolphin/gx/GXEnum.h" -#include "dolphin/gx/GXVert.h" -#include "ext_math.h" -#include "game/audio.h" -#include "game/gamework.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/wipe.h" -#include "string.h" - -#include "REL/m460Dll.h" - -#ifndef __MWERKS__ -#include "game/frand.h" -#endif - -typedef struct M460DllWork { - u32 unk_00; - s32 unk_04; - s32 unk_08; - u32 unk_0C; - s32 unk_10; - u32 unk_14; - u32 unk_18; - u32 unk_1C; - u32 unk_20; - u32 unk_24; - s32 unk_28; - u32 unk_2C; - s32 unk_30; - char unk34[0x4]; - u32 unk_38; - s32 unk_3C; - s32 unk_40; - s32 unk_44; - s32 unk_48; - s32 unk_4C; - u32 unk_50; - s32 unk_54[4]; - s32 unk_64[4]; - s32 unk_74; - s32 unk_78; - s32 unk_7C; - s32 unk_80; - char unk84[4]; - s32 unk_88; - u32 unk_8C; - u32 unk_90; - s32 unk_94; -} M460DllWork; /* size = 0x98 */ - -void fn_1_11EC(omObjData *object); -void fn_1_1548(omObjData *object); -void fn_1_197C(omObjData *object); -void fn_1_201C(omObjData *object); -omObjFunc fn_1_24F4(Process *arg1, omObjData *object); -void fn_1_2564(omObjData *object); -omObjFunc fn_1_2D64(Process *process, omObjData *object); -void fn_1_2D70(omObjData *object); -void fn_1_32CC(Process *process); -void fn_1_337C(omObjData *object); -void fn_1_35F0(omObjData *object); -void fn_1_3618(omObjData *object); -void fn_1_3BC0(ModelData *model, Mtx mtx); -M460DllCameraStruct *fn_1_3E90(s32 arg0); -M460DllCameraStruct *fn_1_3F2C(s32 arg0); -void fn_1_42BC(u32 arg0); -s32 fn_1_4358(void); -void fn_1_4C8(omObjData *object); -void fn_1_7FC(omObjData *object); -void fn_1_948(omObjData *object); -void fn_1_D7C(omObjData *object); - -Vec lbl_1_data_0 = { 100.0f, 800.0f, -100.0f }; -Vec lbl_1_data_C = { 0.3f, -0.8f, 0.3f }; -Vec lbl_1_data_18 = { 10.0f, 45.0f, 3500.0f }; -GXColor lbl_1_data_24 = { 0xFF, 0xFF, 0xFF, 0xFF }; -Vec lbl_1_data_28 = { 50.0f, 150000.0f, 50.0f }; -Vec lbl_1_data_34 = { 0.0f, 1.0f, 0.0f }; -Vec lbl_1_data_40 = { 0.0f, 0.0f, 0.0f }; -Vec lbl_1_data_4C[3] = { - { 0.0f, 442.0f, -927.00006f }, - { 0.0f, 442.0f, -927.00006f }, - { 0.0f, 325.0f, -600.0f }, -}; -Vec lbl_1_data_70[3] = { - { 4.5f, 0.0f, 450.0f }, - { 4.5f, 0.0f, 450.0f }, - { 9.75f, 0.0f, 1275.0f }, -}; -float lbl_1_data_94[3] = { 70.0f, 70.0f, 41.5f }; -float lbl_1_data_A0[3] = { 0.0f, 0.016666668f, 0.0f }; -s32 lbl_1_data_AC[3] = { -0x3C, 0x3C, 0 }; -GXColor lbl_1_data_B8 = { 0, 0, 0, 0 }; - -Process *lbl_1_bss_30; -// M460DllWork2 -omObjData *lbl_1_bss_2C; -omObjData *lbl_1_bss_28; -// M460DllWork2 -omObjData *lbl_1_bss_24; -s16 lbl_1_bss_20; -s16 lbl_1_bss_1A[3]; -s16 lbl_1_bss_18; -s16 lbl_1_bss_16; -s16 lbl_1_bss_14; -s16 lbl_1_bss_12; -s16 lbl_1_bss_10; -s32 lbl_1_bss_C; -s32 lbl_1_bss_8; -s32 lbl_1_bss_4; -s32 lbl_1_bss_0; - -void ObjectSetup(void) -{ - Mtx sp2C; - Process *var_r31; - LightData *var_r30; - - Vec sp20 = { 0.0f, 0.0f, 0.0f }; - Vec sp14 = { 0.0f, 0.0f, -1.0f }; - Vec sp8; - - lbl_1_bss_C = 0; - HuAudSndGrpSet(0x53); - HuAudFXListnerSetEX(&sp20, &sp14, 10000.0f, 566.6667f, 0.0f, 300.0f, 300.0f); - lbl_1_bss_8 = lbl_1_bss_4 = -1; - lbl_1_bss_20 = -1; - lbl_1_bss_0 = 1; - lbl_1_data_28.x = 200.0f; - lbl_1_data_28.y = 1200.0f; - lbl_1_data_28.z = 160.0f; - lbl_1_data_34.x = 0.0f; - lbl_1_data_34.y = 1.0f; - lbl_1_data_34.z = 0.0f; - lbl_1_data_40.x = 0.0f; - lbl_1_data_40.y = 0.0f; - lbl_1_data_40.z = 0.0f; - Hu3DShadowCreate(30.0f, 20.0f, 25000.0f); - Hu3DShadowTPLvlSet(0.625f); - Hu3DShadowPosSet(&lbl_1_data_28, &lbl_1_data_34, &lbl_1_data_40); - lbl_1_bss_1A[0] = Hu3DGLightCreateV(&lbl_1_data_0, &lbl_1_data_C, &lbl_1_data_24); - Hu3DGLightInfinitytSet(lbl_1_bss_1A[0]); - var_r30 = &Hu3DGlobalLight[lbl_1_bss_1A[0]]; - var_r30->unk_00 |= 0x8000; - lbl_1_data_18.x = 160.0f; - lbl_1_data_18.y = 0.0f; - lbl_1_data_18.z = 4200.0f; - sp8.x = sp8.z = 0.0f; - sp8.y = lbl_1_data_18.z; - mtxRot(sp2C, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f); - MTXMultVec(sp2C, &sp8, &lbl_1_data_28); - Hu3DGLightPosAimSetV(lbl_1_bss_1A[0], &lbl_1_data_28, &lbl_1_data_40); - Hu3DShadowPosSet(&lbl_1_data_28, &lbl_1_data_34, &lbl_1_data_40); - lbl_1_bss_18 = lbl_1_bss_16 = lbl_1_bss_14 = lbl_1_bss_12 = lbl_1_bss_10 = -1; - var_r31 = omInitObjMan(0x32, 0x2000); - lbl_1_bss_30 = var_r31; - omGameSysInit(var_r31); - fn_1_32CC(var_r31); - lbl_1_bss_2C = omAddObjEx(var_r31, 0xA, 0, 0, -1, fn_1_4C8); - fn_1_67B4(var_r31); - fn_1_49A0(var_r31); -} - -void fn_1_4C8(omObjData *var_r30) -{ - M460DllWork *work; - - var_r30->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M460DllWork), MEMORY_DEFAULT_NUM); - work = var_r30->data; - memset(work, 0, sizeof(M460DllWork)); - work->unk_00 = 0; - work->unk_04 = 0; - work->unk_0C = 0; - work->unk_10 = 0; - work->unk_14 = 0; - work->unk_18 = 0; - work->unk_4C = 0; - work->unk_50 = 0; - work->unk_08 = 0; - work->unk_88 = 0; - work->unk_74 = work->unk_78 = work->unk_7C = work->unk_80 = -1; - work->unk_8C = 0; - work->unk_94 = 0; - work->unk_30 = 0; - work->unk_30 = GWMGRecordGet(0xC); - work->unk_28 = (work->unk_30 >> 0x10) & 0xFF; - work->unk_24 = (work->unk_30 >> 0x18) & 0xFF; - work->unk_30 = (u16)work->unk_30; - fn_1_8CAC(lbl_1_bss_30, work->unk_30); - var_r30->func = fn_1_948; -} - -void fn_1_5F0(omObjData *var_r29) -{ - Vec sp14; - Vec sp8; - M460DllCameraStruct *var_r31; - M460DllWork *work; - - work = var_r29->data; - work->unk_04++; - work->unk_10++; - work->unk_18++; - work->unk_50++; - if ((omSysExitReq != 0) && (work->unk_00 != 5)) { - work->unk_00 = 4; - fn_1_7FC(var_r29); - } - var_r31 = fn_1_3F2C(1); - sp8.x = -(sind(var_r31->unk_28.y) * cosd(var_r31->unk_28.x)); - sp8.y = -(-sind(var_r31->unk_28.x)); - sp8.z = -(cosd(var_r31->unk_28.y) * cosd(var_r31->unk_28.x)); - sp14.x = var_r31->unk_1C.x - (sp8.x * var_r31->unk_34); - sp14.y = var_r31->unk_1C.y - (sp8.y * var_r31->unk_34); - sp14.z = var_r31->unk_1C.z - (sp8.z * var_r31->unk_34); - HuAudFXListnerUpdate(&sp14, &sp8); -} - -void fn_1_7FC(omObjData *object) -{ - M460DllWork *work = object->data; - - if (work->unk_08 == 0) { - switch (work->unk_00) { - case 0: - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 0x3C); - lbl_1_bss_0 = 1; - fn_1_8FAC(0); - work->unk_00 = 1; - work->unk_10 = 0; - object->func = fn_1_24F4(lbl_1_bss_30, object); - break; - case 1: - work->unk_00 = 2; - work->unk_18 = 0; - object->func = fn_1_1548; - break; - case 2: - work->unk_00 = 3; - work->unk_50 = 0; - object->func = fn_1_2D64(lbl_1_bss_30, object); - break; - case 3: - case 4: - work->unk_08 = 1; - work->unk_00 = 5; - object->func = fn_1_D7C; - break; - case 5: - default: - work->unk_00 = 5; - object->func = fn_1_11EC; - } - work->unk_04 = 0; - } -} - -void fn_1_948(omObjData *object) -{ - fn_1_5F0(object); - fn_1_7FC(object); -} - -void fn_1_D7C(omObjData *object) -{ - M460DllWork *work = object->data; - fn_1_5F0(object); - if (WipeStatGet() == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x3C); - WipeColorSet(0xFF, 0xFF, 0xFF); - work->unk_08 = 0; - fn_1_7FC(object); - } -} - -void fn_1_11EC(omObjData *object) -{ - fn_1_5F0(object); - if (WipeStatGet() == 0) { - fn_1_4BE4(); - fn_1_6814(); - fn_1_8F38(); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - } -} - -void fn_1_1548(omObjData *object) -{ - M460DllWork *work = object->data; - fn_1_5F0(object); - switch (work->unk_14) { - case 0: - work->unk_1C = 0x3C; - work->unk_20 = 0x3C; - lbl_1_bss_18 = MGSeqCreate(3, 0); - MGSeqPosSet(lbl_1_bss_18, 320.0f, 240.0f); - work->unk_14 = 1; - work->unk_18 = 0; - break; - case 1: - if ((lbl_1_bss_8 < 0) && ((MGSeqStatGet(lbl_1_bss_18) & 0x10) != 0)) { - lbl_1_bss_8 = HuAudSeqPlay(0x49); - } - if (MGSeqStatGet(lbl_1_bss_18) == 0) { - work->unk_2C = 0; - work->unk_44 = 0; - if (work->unk_08 == 0) { - work->unk_18 = 0; - object->func = fn_1_197C; - } - } - break; - } -} - -void fn_1_197C(omObjData *object) -{ - M460DllWork *work = object->data; - s32 var_r26 = 0; - s32 sp8 = 0; - fn_1_5F0(object); - switch (work->unk_14) { - case 1: - if (WipeStatGet() == 0) { - work->unk_38 = 3; - work->unk_3C = 0; - work->unk_40 = 0; - work->unk_1C = 0x3C; - work->unk_20 = 0x3C; - work->unk_14 = 2; - work->unk_18 = 0; - } - break; - case 2: - if (work->unk_38 == 3) { - if ((--work->unk_20) == 0) { - work->unk_20 = 0x3C; - work->unk_1C--; - if (work->unk_1C == 0) { - work->unk_44 = 1; - fn_1_42BC(frandmod(2)); - } - } - if ((lbl_1_bss_16 < 0) && (work->unk_1C < 0xA)) { - lbl_1_bss_16 = MGSeqCreate(1, work->unk_1C, -1, -1); - } - MGSeqParamSet(lbl_1_bss_16, 1, work->unk_1C); - } - else { - if (lbl_1_bss_16 >= 0) { - MGSeqParamSet(lbl_1_bss_16, 2, -1); - lbl_1_bss_16 = -1; - } - if (frandmod(0x3E8) < 0x1F4) { - work->unk_44 = 1; - } - if (work->unk_2C >= 0x1E) { - work->unk_44 = 1; - } - if (work->unk_44 != 0) { - work->unk_44 = 1; - work->unk_88 = 1; - } - work->unk_14 = 3; - work->unk_18 = 0; - } - break; - case 3: - if (fn_1_4358() != 0) { - if (work->unk_44 != 0) { - var_r26 = 1; - } - else if (work->unk_18 > 60.0f) { - if (work->unk_08 == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x1E); - WipeColorSet(0, 0, 0); - } - work->unk_14 = 4; - work->unk_18 = 0; - } - } - else { - work->unk_18 = 0; - } - break; - case 4: - if (WipeStatGet() == 0) { - work->unk_2C++; - if (work->unk_08 == 0) { - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 0x1E); - } - work->unk_14 = 1; - work->unk_18 = 0; - } - break; - } - if (var_r26 != 0) { - lbl_1_bss_14 = MGSeqCreate(3, 1); - HuAudSeqFadeOut(lbl_1_bss_8, 0x64); - work->unk_24++; - if (work->unk_24 > 0xFF) { - work->unk_24 = 0xFF; - } - if (work->unk_2C > work->unk_30) { - work->unk_28 = work->unk_24; - work->unk_30 = work->unk_2C; - work->unk_48 = 1; - GWMGRecordSet(0xC, work->unk_30); - } - mgRecordExtra = work->unk_2C; - work->unk_14 = 5; - work->unk_18 = 0; - if (work->unk_08 == 0) { - object->func = fn_1_201C; - } - } -} - -void fn_1_201C(omObjData *object) -{ - M460DllWork *work = object->data; - - if (lbl_1_bss_16 >= 0) { - MGSeqParamSet(lbl_1_bss_16, 2, -1); - lbl_1_bss_16 = -1; - } - fn_1_5F0(object); - if (MGSeqStatGet(lbl_1_bss_14) == 0) { - if (work->unk_48 != 0) { - fn_1_8FAC(1); - lbl_1_bss_12 = MGSeqCreate(0xE, work->unk_30); - work->unk_48 = 0; - } - work->unk_14 = 6; - work->unk_18 = 0; - fn_1_7FC(object); - } -} - -omObjFunc fn_1_24F4(Process *process, omObjData *object) -{ - M460DllCameraStruct *var_r31; - - object->work[0] = object->work[1] = 0; - fn_1_3E68(1); - var_r31 = fn_1_3E90(1); - var_r31->unk_84 = 1.0f; - var_r31->unk_94 = 0; - return fn_1_2564; -} - -void fn_1_2564(omObjData *object) -{ - Vec sp20; - M460DllCameraStruct *var_r26; - M460DllWork *work; - s32 var_r24; - float var_f31; - - work = object->data; - fn_1_5F0(object); - object->work[0]++; - var_f31 = lbl_1_data_AC[object->work[1]]; - var_r24 = 1; - if (var_f31 < 0.0f) { - var_r24 = 0; - var_f31 *= -1.0f; - } - var_f31 = object->work[0] / var_f31; - VECSubtract(&lbl_1_data_4C[object->work[1] + var_r24], &lbl_1_data_4C[object->work[1]], &sp20); - VECScale(&sp20, &sp20, var_f31); - VECAdd(&lbl_1_data_4C[object->work[1]], &sp20, &sp20); - Center.x = sp20.x; - Center.y = sp20.y; - Center.z = sp20.z; - VECSubtract(&lbl_1_data_70[object->work[1] + var_r24], &lbl_1_data_70[object->work[1]], &sp20); - VECScale(&sp20, &sp20, var_f31); - VECAdd(&lbl_1_data_70[object->work[1]], &sp20, &sp20); - CRot.x = sp20.x; - CRot.y = sp20.y; - CRot.z = 0.0f; - CZoom = sp20.z; - var_r26 = fn_1_3E90(1); - var_r26->unk_1C = Center; - var_r26->unk_28 = CRot; - var_r26->unk_34 = CZoom; - var_r26->unk_10 = lbl_1_data_94[object->work[1]] + (var_f31 * (lbl_1_data_94[object->work[1] + var_r24] - lbl_1_data_94[object->work[1]])); - if (var_f31 >= 1.0f) { - object->work[0] = 0; - object->work[1]++; - if (lbl_1_data_A0[object->work[1]] > 0.0f) { - fn_1_8BA0(lbl_1_data_A0[object->work[1]]); - } - if (lbl_1_data_AC[object->work[1]] == 0) { - work->unk_0C = 2; - fn_1_7FC(object); - } - else if (lbl_1_data_AC[object->work[1] + 1] == 0) { - work->unk_0C = 1; - } - } -} - -omObjFunc fn_1_2D64(Process *process, omObjData *object) -{ - return fn_1_2D70; -} - -void fn_1_2D70(omObjData *object) -{ - M460DllWork *work = object->data; - s32 var_r23 = 1; - fn_1_5F0(object); - if (lbl_1_bss_12 >= 0) { - if (MGSeqStatGet(lbl_1_bss_12) != 0) { - var_r23 = 0; - } - else { - lbl_1_bss_12 = -1; - } - } - if (work->unk_8C != 1) { - var_r23 = 0; - } - if (var_r23 != 0) { - work->unk_4C = 1; - if (lbl_1_bss_4 < 0) { - lbl_1_bss_4 = HuAudSStreamPlay(4); - } - if (work->unk_50 >= 210.0f) { - work->unk_4C = 2; - fn_1_7FC(object); - } - } - else { - work->unk_50 = 0; - } -} - -void fn_1_32CC(Process *process) -{ - Hu3DCameraCreate(0x1F); - lbl_1_bss_28 = omAddObjEx(process, 0x7FDA, 0, 0, -1, omOutViewMulti); - lbl_1_bss_28->work[0] = 5; - lbl_1_bss_24 = omAddObjEx(process, 0xC, 1, 0, -1, fn_1_337C); - lbl_1_bss_24->work[0] = 0; -} - -void fn_1_337C(omObjData *object) -{ - UnkM460DllStruct sp1C[5] = { - { 320.0f, 240.0f, 640.0f, 480.0f }, - { 160.0f, 120.0f, 320.0f, 240.0f }, - { 160.0f, 360.0f, 320.0f, 240.0f }, - { 480.0f, 120.0f, 320.0f, 240.0f }, - { 480.0f, 360.0f, 320.0f, 240.0f }, - }; - s32 sp8[5] = { 1, 2, 4, 8, 16 }; - M460DllCameraStruct *var_r31; - s32 var_r29; - M460DllCameraStruct *var_r28; - - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, 10 * sizeof(M460DllCameraStruct), MEMORY_DEFAULT_NUM); - var_r28 = object->data; - memset(var_r28, 0, 10 * sizeof(M460DllCameraStruct)); - object->model[0] = Hu3DHookFuncCreate(fn_1_3BC0); - Hu3DModelLayerSet(object->model[0], 0); - Hu3DModelCameraSet(object->model[0], 0x1E); - for (var_r31 = var_r28, var_r29 = 0; var_r29 < 5; var_r29++, var_r31++) { - var_r31->unk_00 = 0; - var_r31->unk_04 = var_r29 * 0x64; - var_r31->unk_10 = 41.5f; - var_r31->unk_14 = 100.0f; - var_r31->unk_18 = 5500.0f; - var_r31->unk_1C.x = 0.0f; - var_r31->unk_1C.y = 0.0f; - var_r31->unk_1C.z = 0.0f; - var_r31->unk_28.x = -15.0f; - var_r31->unk_28.y = 0.0f; - var_r31->unk_28.z = 0.0f; - var_r31->unk_34 = 1000.0f; - var_r31->unk_40 = 1.0f; - var_r31->unk_44.unk_00 = sp1C[var_r29].unk_00; - var_r31->unk_44.unk_04 = sp1C[var_r29].unk_04; - var_r31->unk_44.unk_08 = sp1C[var_r29].unk_08; - var_r31->unk_44.unk_0C = sp1C[var_r29].unk_0C; - var_r31->unk_3C = var_r31->unk_0C = sp8[var_r29]; - var_r31->unk_08 = var_r29; - var_r31->unk_38 = var_r29; - } - var_r31 = var_r28; - var_r31->unk_00 = 1; - object->work[1] = object->work[2] = 0; - object->work[0]++; - fn_1_3618(object); - object->func = fn_1_35F0; -} - -void fn_1_35F0(omObjData *object) -{ - fn_1_3618(object); -} - -void fn_1_3618(omObjData *var_r28) -{ - float var_f31; - M460DllCameraStruct *var_r31; - s32 var_r30; - s32 var_r29; - M460DllCameraStruct *var_r27; - u32 var_r26; - u32 var_r25; - s32 var_r24; - u32 var_r23; - u32 var_r22; - u32 var_r21; - - var_r27 = var_r28->data; - { - s32 sp40[4] = { 2, 4, 8, 16 }; - u32 sp30[4]; - s32 sp20[4]; - float sp10[4]; - float sp8[2]; - var_r24 = 0; - var_r26 = 0; - memcpy(&var_r27[5], var_r27, 5 * sizeof(M460DllCameraStruct)); - var_r28->work[1] = var_r28->work[2]; - switch (var_r28->work[1]) { - case 0: - break; - case 1: - var_r26 |= 1; - break; - case 2: - var_r26 |= 1; - case 3: - var_r24 = 1; - case 4: - var_r26 |= 0x1E; - break; - } - if (var_r24 != 0) { - Hu3DModelAttrReset(var_r28->model[0], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(var_r28->model[0], HU3D_ATTR_DISPOFF); - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - sp30[var_r30] = var_r27[var_r30 + 6].unk_04; - sp20[var_r30] = var_r30; - } - for (var_r30 = 0; var_r30 < 3; var_r30++) { - for (var_r29 = var_r30 + 1; var_r29 < 4; var_r29++) { - if ((var_r30 != var_r29) && (sp30[var_r30] > sp30[var_r29])) { - var_r25 = sp30[var_r30]; - sp30[var_r30] = sp30[var_r29]; - sp30[var_r29] = var_r25; - var_r25 = sp20[var_r30]; - sp20[var_r30] = sp20[var_r29]; - sp20[var_r29] = var_r25; - } - } - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - var_r27[sp20[var_r30] + 6].unk_3C = sp40[var_r30]; - var_r27[sp20[var_r30] + 6].unk_38 = var_r30 + 1; - } - - for (var_r31 = &var_r27[5], var_r30 = 0; var_r30 < 5; var_r30++, var_r31++) { - if ((var_r31->unk_00 == 0) || ((var_r26 & var_r31->unk_0C) == 0)) { - Hu3DCamera[var_r31->unk_38].fov = -1.0f; - } - else { - var_f31 = 1.2f * ((var_r31->unk_44.unk_08 / 640.0f) / (var_r31->unk_44.unk_0C / 480.0f)); - sp10[2] = var_r31->unk_44.unk_08 * var_r31->unk_40; - sp10[3] = var_r31->unk_44.unk_0C * var_r31->unk_40; - Hu3DCameraPerspectiveSet(var_r31->unk_3C, var_r31->unk_10, var_r31->unk_14, var_r31->unk_18, var_f31); - Hu3DCameraViewportSet(var_r31->unk_3C, var_r31->unk_44.unk_00 - (0.5f * sp10[2]), var_r31->unk_44.unk_04 - (0.5f * sp10[3]), sp10[2], - sp10[3], 0.0f, 1.0f); - sp10[0] = var_r31->unk_44.unk_00 - (0.5f * sp10[2]); - sp10[1] = var_r31->unk_44.unk_04 - (0.5f * sp10[3]); - sp8[0] = var_r31->unk_44.unk_00 + (0.5f * sp10[2]); - sp8[1] = var_r31->unk_44.unk_04 + (0.5f * sp10[3]); - if (sp10[0] < 0.0f) { - sp10[0] = 0.0f; - } - if (sp10[1] < 0.0f) { - sp10[1] = 0.0f; - } - if (sp8[0] > 640.0f) { - sp8[0] = 640.0f; - } - if (sp8[1] > 480.0f) { - sp8[1] = 480.0f; - } - sp8[0] -= sp10[0]; - sp8[1] -= sp10[1]; - var_r21 = sp8[1]; - var_r22 = sp8[0]; - var_r23 = sp10[1]; - Hu3DCameraScissorSet(var_r31->unk_3C, sp10[0], var_r23, var_r22, var_r21); - var_r29 = var_r31->unk_38; - CenterM[var_r29].x = var_r31->unk_1C.x; - CenterM[var_r29].y = var_r31->unk_1C.y; - CenterM[var_r29].z = var_r31->unk_1C.z; - CRotM[var_r29].x = var_r31->unk_28.x; - CRotM[var_r29].y = var_r31->unk_28.y; - CRotM[var_r29].z = var_r31->unk_28.z; - CZoomM[var_r29] = var_r31->unk_34; - } - } - } -} - -void fn_1_3BC0(ModelData *model, Mtx mtx) -{ - Mtx sp3C; - Mtx spC; - float var_f31; - float var_f30; - float var_f29; - - DCStoreRange(&lbl_1_data_B8, 4); - C_MTXPerspective(spC, 41.5f, 1.2f, 100.0f, 5500.0f); - GXSetProjection(spC, GX_PERSPECTIVE); - MTXIdentity(sp3C); - GXLoadPosMtxImm(sp3C, 0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - GXSetNumTexGens(0); - GXSetNumTevStages(1); - GXSetTevColor(GX_TEVREG0, lbl_1_data_B8); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetBlendMode(GX_BM_NONE, GX_BL_ONE, GX_BL_ZERO, GX_LO_SET); - GXSetZMode(GX_TRUE, GX_ALWAYS, GX_TRUE); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - var_f31 = 4125.0f; - var_f30 = 2750.0f; - var_f29 = 2530.0f; - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(-var_f31, var_f30, -var_f29); - GXPosition3f32(var_f31, var_f30, -var_f29); - GXPosition3f32(var_f31, -var_f30, -var_f29); - GXPosition3f32(-var_f31, -var_f30, -var_f29); -} - -void fn_1_3E68(u32 arg0) -{ - lbl_1_bss_24->work[2] = arg0; -} - -u32 fn_1_3E7C(void) -{ - return lbl_1_bss_24->work[1]; -} - -M460DllCameraStruct *fn_1_3E90(s32 arg0) -{ - M460DllCameraStruct *var_r31; - s32 var_r30; - M460DllCameraStruct *var_r29; - - var_r29 = lbl_1_bss_24->data; - for (var_r31 = var_r29, var_r30 = 0; var_r30 < 5; var_r30++, var_r31++) { - if ((var_r31->unk_0C & arg0) != 0) { - break; - } - } - if (var_r30 >= 5) { - OSReport("M460:Camera Flag Error!!\n"); - return NULL; - } - return var_r31; -} - -M460DllCameraStruct *fn_1_3F2C(s32 arg0) -{ - M460DllCameraStruct *var_r31; - s32 var_r30; - M460DllCameraStruct *var_r29; - - var_r29 = lbl_1_bss_24->data; - for (var_r31 = &var_r29[5], var_r30 = 0; var_r30 < 5; var_r30++, var_r31++) { - if ((var_r31->unk_0C & arg0) != 0) { - break; - } - } - if (var_r30 >= 5) { - OSReport("M460:Camera Flag Error!!\n"); - return NULL; - } - return var_r31; -} - -M460DllCameraStruct *fn_1_3FC8(u32 arg0) -{ - M460DllCameraStruct *var_r31 = lbl_1_bss_24->data; - if (arg0 >= 5) { - OSReport("M460:Camera No. Error!!\n"); - return NULL; - } - return &var_r31[arg0]; -} - -M460DllCameraStruct *fn_1_4030(u32 arg0) -{ - M460DllCameraStruct *var_r31 = lbl_1_bss_24->data; - if (arg0 >= 5) { - OSReport("M460:Camera No. Error!!\n"); - return NULL; - } - return &var_r31[arg0 + 5]; -} - -void fn_1_409C(s32 arg0, s32 arg1) -{ - M460DllCameraStruct *var_r31; - s32 var_r30; - s32 var_r29; - M460DllCameraStruct *var_r28; - M460DllCameraStruct *var_r27; - - var_r29 = 0; - if (arg0 >= 0) { - var_r27 = lbl_1_bss_24->data; - var_r28 = &var_r27[5]; - for (var_r31 = var_r28, var_r30 = 0; var_r30 < 5; var_r30++, var_r31++) { - if ((var_r31->unk_0C & arg1) != 0) { - var_r29 |= var_r31->unk_3C; - } - } - Hu3DModelCameraSet(arg0, var_r29); - } -} - -s32 fn_1_4134(void) -{ - return ((M460DllWork *)lbl_1_bss_2C->data)->unk_00; -} - -u32 fn_1_414C(void) -{ - return ((M460DllWork *)lbl_1_bss_2C->data)->unk_0C; -} - -u32 fn_1_4164(void) -{ - return ((M460DllWork *)lbl_1_bss_2C->data)->unk_14; -} - -s32 fn_1_417C(void) -{ - return ((M460DllWork *)lbl_1_bss_2C->data)->unk_4C; -} - -s32 fn_1_4194(void) -{ - return 1; -} - -s32 fn_1_419C(void) -{ - return ((M460DllWork *)lbl_1_bss_2C->data)->unk_88; -} - -void fn_1_41B4(s32 arg0, s32 arg1, s32 arg2) -{ - M460DllWork *work = lbl_1_bss_2C->data; - work->unk_64[arg0 &= 3] = arg1; - work->unk_54[arg0] = arg2; -} - -void fn_1_41F4(s32 arg0) -{ - ((M460DllWork *)lbl_1_bss_2C->data)->unk_8C |= (1 << ((arg0 & 7) * 4)); -} - -void fn_1_4224(s32 arg0) -{ - ((M460DllWork *)lbl_1_bss_2C->data)->unk_90 |= (1 << ((arg0 & 3) * 4)); -} - -void fn_1_4254(s32 arg0) -{ - ((M460DllWork *)lbl_1_bss_2C->data)->unk_94 |= (1 << ((arg0 & 3) * 4)); -} - -s32 fn_1_4284(void) -{ - return MGSeqStatGet(lbl_1_bss_14) == 0; -} - -void fn_1_42BC(u32 arg0) -{ - M460DllWork *work = lbl_1_bss_2C->data; - if (work->unk_38 == 3) { - work->unk_38 = arg0; - } -} - -s32 fn_1_42F0(void) -{ - return ((M460DllWork *)lbl_1_bss_2C->data)->unk_38; -} - -void fn_1_4308(void) -{ - ((M460DllWork *)lbl_1_bss_2C->data)->unk_3C = 1; -} - -s32 fn_1_4324(void) -{ - return ((M460DllWork *)lbl_1_bss_2C->data)->unk_3C; -} - -void fn_1_433C(void) -{ - ((M460DllWork *)lbl_1_bss_2C->data)->unk_40 = 1; -} - -s32 fn_1_4358(void) -{ - return ((M460DllWork *)lbl_1_bss_2C->data)->unk_40; -} - -u32 fn_1_4370(void) -{ - return ((M460DllWork *)lbl_1_bss_2C->data)->unk_2C; -} - -void fn_1_4388(Vec *sp8, Vec *var_r31) -{ - Vec sp10; - float var_f30; - float var_f29; - - VECSubtract(var_r31, sp8, &sp10); - Center = *var_r31; - CRot.x = atan2d(sp10.y, sqrtf((sp10.x * sp10.x) + (sp10.z * sp10.z))); - CRot.y = atan2d(-sp10.x, -sp10.z); - CRot.z = 0.0f; - CZoom = VECMag(&sp10); -} - -void fn_1_4590(float arg8, float arg9, float argA, float argB, float argC, float argD) -{ - Vec sp3C; - Vec sp30; - Vec sp24; - - sp3C.x = arg8; - sp3C.y = arg9; - sp3C.z = argA; - sp30.x = argB; - sp30.y = argC; - sp30.z = argD; - VECSubtract(&sp30, &sp3C, &sp24); - Center = sp30; - CRot.x = atan2d(sp24.y, sqrtf((sp24.x * sp24.x) + (sp24.z * sp24.z))); - CRot.y = atan2d(-sp24.x, -sp24.z); - CRot.z = 0.0f; - CZoom = VECMag(&sp24); -} - -float fn_1_47D0(float arg8, float arg9, float argA) -{ - float var_f31; - float var_f30; - float var_f29; - - var_f30 = fmod(arg9 - arg8, 360.0); - var_f31 = var_f30; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - var_f29 = fmod(arg8 + (argA * var_f31), 360.0); - var_f31 = var_f29; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - return var_f31; -} - -float fn_1_48EC(float arg8, float arg9) -{ - float var_f31; - float var_f30; - - var_f30 = fmod(arg9 - arg8, 360.0); - var_f31 = var_f30; - if (var_f31 < 0.0f) { - var_f31 += 360.0f; - } - if (var_f31 > 180.0f) { - var_f31 -= 360.0f; - } - return var_f31; -} diff --git a/src/REL/m460Dll/map.c b/src/REL/m460Dll/map.c deleted file mode 100644 index 15fa7f53..00000000 --- a/src/REL/m460Dll/map.c +++ /dev/null @@ -1,547 +0,0 @@ -#include "datadir_enum.h" -#include "dolphin/gx/GXEnum.h" -#include "dolphin/gx/GXVert.h" -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/object.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "string.h" - -#include "REL/m460Dll.h" - -#ifndef __MWERKS__ -#include "game/frand.h" -#endif - -typedef struct UnkM460MapWork { - s32 unk_00; - u32 unk_04; - s32 unk_08; - s32 unk_0C; - s32 unk_10; - s32 unk_14; - s32 unk_18; - s32 unk_1C; - char unk20[4]; - u32 unk_24; - s32 unk_28; - s32 unk_2C; - u32 unk_30; - float unk_34; - float unk_38; - Vec unk_3C; - Vec unk_48; - HsfObject *unk_54; - u32 unk_58; - void *unk_5C; -} UnkM460MapWork; /* size = 0x60 */ - -void fn_1_6818(omObjData *object); -void fn_1_6C00(omObjData *object); -void fn_1_73F8(omObjData *object); -u32 fn_1_76C4(u32 arg0, u32 arg1); -void fn_1_7724(ModelData *model, Mtx mtx); -void fn_1_7790(ModelData *model, Mtx mtx); -void fn_1_7B94(s32 arg0); -void fn_1_7DA8(omObjData *object, Vec *arg1, u32 arg2); - -float lbl_1_data_1E8[8][8] = { - { 0.0f, 325.0f, -387.0f, -8.25f, 15.0f, 0.0f, 1208.0f, 38.65f }, - { 0.0f, 325.0f, -387.0f, -8.25f, -15.0f, 0.0f, 1208.0f, 38.65f }, - { 0.0f, 325.0f, -700.0f, -45.0f, 18.0f, 0.0f, 1500.0f, 41.5f }, - { 0.0f, 325.0f, -700.0f, -45.0f, 0.0f, 0.0f, 1500.0f, 41.5f }, - { 0.0f, 325.0f, -700.0f, -45.0f, -18.0f, 0.0f, 925.0f, 68.0f }, - { 0.0f, 302.0f, -783.0f, 14.25f, 28.5f, 0.0f, 833.0f, 61.0f }, - { 0.0f, 302.0f, -783.0f, 14.25f, 0.0f, 0.0f, 833.0f, 61.0f }, - { 0.0f, 302.0f, -783.0f, 14.25f, -28.5f, 0.0f, 833.0f, 61.0f }, -}; -float lbl_1_data_2E8[2][8] = { - { -250.0f, 200.0f, -1000.0f, -10.0f, 0.0f, 0.0f, 1200.0f, 41.5f }, - { 250.0f, 200.0f, -1000.0f, -10.0f, 0.0f, 0.0f, 1200.0f, 41.5f }, -}; -s32 lbl_1_data_328[3] = { DATA_MAKE_NUM(DATADIR_M460, 0x00), DATA_MAKE_NUM(DATADIR_M460, 0x01), DATA_MAKE_NUM(DATADIR_M460, 0x02) }; -s32 lbl_1_data_334[3] = { DATA_MAKE_NUM(DATADIR_M460, 0x03), DATA_MAKE_NUM(DATADIR_M460, 0x04), DATA_MAKE_NUM(DATADIR_M460, 0x05) }; -s32 lbl_1_data_340[3] = { DATA_MAKE_NUM(DATADIR_M460, 0x06), DATA_MAKE_NUM(DATADIR_M460, 0x07), DATA_MAKE_NUM(DATADIR_M460, 0x08) }; -s32 lbl_1_data_34C[2] = { DATA_MAKE_NUM(DATADIR_M460, 0x09), DATA_MAKE_NUM(DATADIR_M460, 0x0A) }; -s32 lbl_1_data_354[2] = { DATA_MAKE_NUM(DATADIR_M460, 0x0B), DATA_MAKE_NUM(DATADIR_M460, 0x0C) }; - -// UnkM460MapWork -omObjData *lbl_1_bss_48; - -void fn_1_67B4(Process *process) -{ - omObjData *var_r31 = omAddObjEx(process, 0x1E, 0x10, 0, -1, fn_1_6818); - lbl_1_bss_48 = var_r31; - var_r31->work[0] = 0; -} - -void fn_1_6814(void) { } - -void fn_1_6818(omObjData *object) -{ - s32 var_r31; - s32 var_r30; - UnkM460MapWork *var_r28; - HsfanimStruct01 *var_r27; - - var_r28 = object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM460MapWork), MEMORY_DEFAULT_NUM); - memset(var_r28, 0, sizeof(UnkM460MapWork)); - omSetTra(object, 0.0f, 0.0f, 0.0f); - for (var_r31 = 0; var_r31 < 3; var_r31++) { - var_r30 = Hu3DModelCreateFile(lbl_1_data_328[var_r31]); - object->model[var_r31] = var_r30; - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); - } - for (var_r31 = 0; var_r31 < 3; var_r31++) { - var_r30 = Hu3DModelCreateFile(lbl_1_data_334[var_r31]); - object->model[var_r31 + 3] = var_r30; - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); - } - for (var_r31 = 0; var_r31 < 3; var_r31++) { - var_r30 = Hu3DModelCreateFile(lbl_1_data_340[var_r31]); - object->model[var_r31 + 6] = var_r30; - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r30 = Hu3DModelCreateFile(lbl_1_data_34C[var_r31]); - object->model[var_r31 + 9] = var_r30; - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r30 = Hu3DModelCreateFile(lbl_1_data_354[var_r31]); - object->model[var_r31 + 0xB] = var_r30; - Hu3DModelLayerSet(var_r30, 3); - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); - } - var_r28->unk_08 = 8; - fn_1_73F8(object); - var_r30 = Hu3DHookFuncCreate(fn_1_7724); - object->model[13] = var_r30; - Hu3DModelCameraSet(var_r30, 1); - Hu3DModelLayerSet(var_r30, 7); - var_r30 = Hu3DHookFuncCreate(fn_1_7790); - object->model[14] = var_r30; - Hu3DModelCameraSet(var_r30, 2); - Hu3DModelLayerSet(var_r30, 7); - var_r28->unk_58 = GXGetTexBufferSize(0x280, 0x1E0, 5, 0, 0); - var_r28->unk_5C = HuMemDirectMallocNum(HEAP_SYSTEM, var_r28->unk_58, MEMORY_DEFAULT_NUM); - DCFlushRange(var_r28->unk_5C, var_r28->unk_58); - var_r30 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M460, 0x23)), 0x100); - object->model[15] = var_r30; - Hu3DModelLayerSet(var_r30, 4); - for (var_r27 = ((ParticleData *)Hu3DData[var_r30].unk_120)->unk_48, var_r31 = 0; var_r31 < 0x100; var_r31++, var_r27++) { - var_r27->unk2C = 0.0f; - var_r27->unk40.a = 0; - var_r27->unk00 = 0; - } - DCStoreRange(((ParticleData *)Hu3DData[var_r30].unk_120)->unk_48, 0x4400); - var_r28->unk_28 = 1; - var_r28->unk_2C = -1; - object->func = fn_1_6C00; -} - -void fn_1_6C00(omObjData *object) -{ - Vec sp14; - Vec sp8; - float var_f31; - UnkM460MapWork *var_r31; - M460DllCameraStruct *var_r30; - M460DllCameraStruct *var_r28; - u32 var_r27; - s32 var_r26; - s32 var_r25; - - var_r31 = object->data; - var_r30 = fn_1_3E90(1); - var_r28 = fn_1_3E90(2); - switch (fn_1_4164()) { - case 1: - var_r31->unk_18 = 0; - var_r31->unk_1C = 0; - var_r31->unk_24 = 0; - if (var_r31->unk_00 != 0) { - fn_1_73F8(object); - var_r31->unk_00 = 0; - } - break; - case 3: - var_r27 = fn_1_42F0(); - Hu3DMotionSpeedSet(object->model[var_r27 + 9], 1.5f); - if (var_r31->unk_18 == 0) { - if (fn_1_4324() != 0) { - var_r31->unk_18 = 1; - if (var_r27 == 0) { - var_r31->unk_2C = object->model[var_r31->unk_14 + 3]; - var_r31->unk_54 = Hu3DModelObjPtrGet(var_r31->unk_2C, "door_l"); - } - else if (var_r27 == 1) { - var_r31->unk_2C = object->model[var_r31->unk_10 + 6]; - var_r31->unk_54 = Hu3DModelObjPtrGet(var_r31->unk_2C, "door_r"); - } - var_r31->unk_28 = 0; - var_r31->unk_30 = 0; - Hu3DModelAttrReset(object->model[var_r27 + 0xB], HU3D_ATTR_DISPOFF); - } - } - else if (var_r31->unk_28 != 0) { - fn_1_433C(); - var_r30->unk_10 -= 0.116666675f; - } - if (var_r31->unk_1C == 0) { - var_r31->unk_24++; - if (var_r31->unk_24 > 102.0f) { - var_r31->unk_1C = 1; - fn_1_8BA0(0.041666668f); - var_r30->unk_1C.x = lbl_1_data_2E8[var_r27][0]; - var_r30->unk_1C.y = lbl_1_data_2E8[var_r27][1]; - var_r30->unk_1C.z = lbl_1_data_2E8[var_r27][2]; - var_r30->unk_28.x = lbl_1_data_2E8[var_r27][3]; - var_r30->unk_28.y = lbl_1_data_2E8[var_r27][4]; - var_r30->unk_28.z = lbl_1_data_2E8[var_r27][5]; - var_r30->unk_34 = lbl_1_data_2E8[var_r27][6]; - var_r30->unk_10 = lbl_1_data_2E8[var_r27][7]; - } - } - break; - case 4: - var_r30->unk_10 -= 0.116666675f; - var_r31->unk_00 = 1; - break; - } - if ((var_r31->unk_28 == 0) && (var_r31->unk_2C >= 0)) { - if (var_r31->unk_30 == 0) { - var_r31->unk_34 = 0.0f; - var_r31->unk_38 = 0.0f; - var_r31->unk_3C.x = var_r31->unk_3C.y = var_r31->unk_3C.z = 0.0f; - var_r31->unk_48 = var_r31->unk_3C; - var_r31->unk_38 = 2.9166667f; - if (var_r31->unk_54) { - sp14.x = var_r31->unk_54->data.base.pos.x; - sp14.y = 10.0f + var_r31->unk_54->data.base.pos.y; - sp14.z = 20.0f + var_r31->unk_54->data.base.pos.z; - fn_1_7DA8(object, &sp14, 0); - } - HuAudFXPlay(0x818); - } - if (var_r31->unk_30 < 24.0f) { - var_r31->unk_38 *= 0.93f; - } - else { - var_f31 = 3.888889f; - var_r31->unk_38 = var_r31->unk_38 + (0.033333335f * var_f31); - if (var_r31->unk_38 > var_f31) { - var_r31->unk_38 = var_f31; - } - } - var_r26 = 0.5f + (0.2f * var_r31->unk_34); - var_r31->unk_34 = var_r31->unk_34 + var_r31->unk_38; - if (var_r31->unk_34 >= 350.0f) { - var_r31->unk_34 = 350.0f; - var_r31->unk_28 = 1; - HuAudFXPlay(0x819); - if (var_r31->unk_54) { - sp14.x = var_r31->unk_54->data.base.pos.x; - sp14.y = (var_r31->unk_54->data.base.pos.y + var_r31->unk_34) - 15.000001f; - sp14.z = 10.0f + var_r31->unk_54->data.base.pos.z; - fn_1_7DA8(object, &sp14, 2); - } - } - var_r25 = 0.5f + (0.2f * var_r31->unk_34); - if (var_r26 != var_r25) { - var_r31->unk_48.x = 100.0f * ((0.00003f * frandmod(0x3E8)) - 0.015f); - var_r31->unk_48.y = 100.0f * ((0.00006f * frandmod(0x3E8)) - 0.03f); - var_r31->unk_48.z = 100.0f * ((0.00006f * frandmod(0x3E8)) - 0.03f); - if (var_r31->unk_54) { - sp14.x = var_r31->unk_54->data.base.pos.x; - sp14.y = (var_r31->unk_54->data.base.pos.y + var_r31->unk_34) - 15.000001f; - sp14.z = 15.000001f + var_r31->unk_54->data.base.pos.z; - fn_1_7DA8(object, &sp14, 1); - } - } - VECSubtract(&var_r31->unk_48, &var_r31->unk_3C, &sp8); - VECScale(&sp8, &sp8, 0.4f); - VECAdd(&var_r31->unk_3C, &sp8, &sp14); - sp14.y += var_r31->unk_34; - Hu3DModelPosSetV(var_r31->unk_2C, &sp14); - var_r31->unk_30++; - } - fn_1_7B94(object->model[15]); - if (var_r28->unk_00 != 0) { - var_r28->unk_90 = var_r28->unk_90 + var_r28->unk_8C; - if (var_r28->unk_90 > 1.0f) { - var_r28->unk_00 = 0; - var_r28->unk_90 = 1.0f; - fn_1_3E68(1); - } - } -} - -Vec lbl_1_data_36C = { 0.0f, 0.0f, 0.0f }; -GXColor lbl_1_data_378 = { 0, 0, 0, 0x80 }; - -void fn_1_73F8(omObjData *object) -{ - UnkM460MapWork *var_r31; - M460DllCameraStruct *var_r29; - u32 var_r28; - - var_r31 = object->data; - Hu3DModelAttrSet(object->model[var_r31->unk_0C], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[var_r31->unk_10 + 6], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[var_r31->unk_14 + 3], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[11], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[12], HU3D_ATTR_DISPOFF); - if (var_r31->unk_04 != 0) { - var_r31->unk_0C = fn_1_76C4(3, var_r31->unk_0C); - var_r31->unk_14 = fn_1_76C4(3, var_r31->unk_14); - var_r31->unk_10 = fn_1_76C4(3, var_r31->unk_10); - var_r29 = fn_1_3E90(1); - var_r28 = var_r31->unk_08 = fn_1_76C4(8, var_r31->unk_08); - var_r29->unk_1C.x = lbl_1_data_1E8[var_r28][0]; - var_r29->unk_1C.y = lbl_1_data_1E8[var_r28][1]; - var_r29->unk_1C.z = lbl_1_data_1E8[var_r28][2]; - var_r29->unk_28.x = lbl_1_data_1E8[var_r28][3]; - var_r29->unk_28.y = lbl_1_data_1E8[var_r28][4]; - var_r29->unk_28.z = lbl_1_data_1E8[var_r28][5]; - var_r29->unk_34 = lbl_1_data_1E8[var_r28][6]; - var_r29->unk_10 = lbl_1_data_1E8[var_r28][7]; - } - Hu3DMotionTimeSet(object->model[9], 0.0f); - Hu3DMotionSpeedSet(object->model[9], 0.0f); - Hu3DMotionTimeSet(object->model[10], 0.0f); - Hu3DMotionSpeedSet(object->model[10], 0.0f); - Hu3DModelAttrReset(object->model[var_r31->unk_0C], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[var_r31->unk_14 + 3], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[var_r31->unk_10 + 6], HU3D_ATTR_DISPOFF); - Hu3DModelPosSetV(object->model[var_r31->unk_14 + 3], &lbl_1_data_36C); - Hu3DModelPosSetV(object->model[var_r31->unk_10 + 6], &lbl_1_data_36C); - var_r31->unk_04++; -} - -u32 fn_1_76C4(u32 arg0, u32 arg8) -{ - u32 var_r31 = frandmod(arg0); - if (var_r31 == arg8) { - var_r31++; - } - var_r31 %= arg0; - return var_r31; -} - -void fn_1_7724(ModelData *model, Mtx mtx) -{ - UnkM460MapWork *var_r31 = lbl_1_bss_48->data; - GXSetTexCopySrc(0, 0, 0x280, 0x1E0); - GXSetTexCopyDst(0x280, 0x1E0, GX_TF_RGB5A3, 0); - GXCopyTex(var_r31->unk_5C, 0); - GXPixModeSync(); -} - -void fn_1_7790(ModelData *model, Mtx mtx) -{ - Mtx sp5C; - Mtx sp2C; - GXTexObj spC; - float var_f31; - float var_f30; - float var_f29; - UnkM460MapWork *var_r31; - M460DllCameraStruct *var_r30; - - var_r31 = lbl_1_bss_48->data; - var_r30 = fn_1_3F2C(2); - lbl_1_data_378.a = 255.0f * var_r30->unk_90; - DCStoreRange(&lbl_1_data_378, 4); - C_MTXPerspective(sp2C, 41.5f, 1.2f, 100.0f, 5500.0f); - GXSetProjection(sp2C, GX_PERSPECTIVE); - MTXIdentity(sp5C); - GXLoadPosMtxImm(sp5C, 0); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - GXInitTexObj(&spC, var_r31->unk_5C, 0x280, 0x1E0, 5, GX_CLAMP, GX_CLAMP, 0); - GXInitTexObjLOD(&spC, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, 0, 0, GX_ANISO_1); - GXLoadTexObj(&spC, GX_TEXMAP0); - C_MTXLightPerspective(sp2C, 41.5f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); - GXLoadTexMtxImm(sp2C, 0x1E, GX_MTX3x4); - GXSetNumTexGens(1); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 0x1E, 0, 0x7D); - GXSetNumTevStages(1); - GXSetTevColor(GX_TEVREG0, lbl_1_data_378); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 0, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 0, GX_TEVPREV); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET); - GXSetZMode(0, GX_LEQUAL, 0); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - var_f31 = 4125.0f; - var_f30 = 2750.0f; - var_f29 = 2530.0f; - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(-var_f31, var_f30, -var_f29); - GXPosition3f32(var_f31, var_f30, -var_f29); - GXPosition3f32(var_f31, -var_f30, -var_f29); - GXPosition3f32(-var_f31, -var_f30, -var_f29); -} - -void fn_1_7B94(s32 arg0) -{ - HsfanimStruct01 *var_r31; - ParticleData *var_r30; - s32 var_r29; - - var_r30 = Hu3DData[arg0].unk_120; - for (var_r31 = var_r30->unk_48, var_r29 = 0; var_r29 < var_r30->unk_30; var_r29++, var_r31++) { - if (var_r31->unk00 != 0) { - VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); - switch (var_r31->unk02) { - case 0: - var_r31->unk2C += 1.0f; - var_r31->unk20 *= 0.99f; - var_r31->unk08.y += 0.019444447f; - break; - case 1: - var_r31->unk2C += 2.0f; - var_r31->unk20 *= 0.98f; - break; - case 2: - var_r31->unk2C += 1.0f; - var_r31->unk20 *= 0.995f; - break; - } - if (var_r31->unk00 < 12.0f) { - var_r31->unk20 = 0.9f * var_r31->unk20; - } - var_r31->unk40.a = var_r31->unk20; - if (--var_r31->unk00 == 0) { - var_r31->unk00 = 0; - var_r31->unk2C = 0.0f; - var_r31->unk40.a = 0; - } - } - } - DCStoreRange(var_r30->unk_48, var_r30->unk_30 * 0x44); -} - -void fn_1_7DA8(omObjData *object, Vec *arg1, u32 arg2) -{ - Vec sp1C; - float var_f31; - - HsfanimStruct01 *var_r31; - ParticleData *var_r30; - s32 var_r28; - u32 var_r27; - - GXColor spC = { 0xA2, 0x97, 0x7B, 0x80 }; - GXColor sp8 = { 0xE7, 0xDD, 0xC0, 0xFF }; - s32 sp10[3] = { 0x00000032, 4, 0x00000046 }; - - var_r30 = Hu3DData[object->model[15]].unk_120; - if (arg2 > 2) { - arg2 = 1; - } - var_r27 = sp10[arg2]; - for (var_r31 = var_r30->unk_48, var_r28 = 0; var_r28 < var_r30->unk_30; var_r28++, var_r31++) { - if (var_r31->unk00 == 0) { - var_r31->unk02 = arg2; - sp1C.x = 100.0f * ((0.0026f * frandmod(0x3E8)) - 1.3f); - sp1C.y = 0.0f; - sp1C.z = 100.0f * ((0.000100000005f * frandmod(0x3E8)) - 0.05f); - VECAdd(&sp1C, arg1, &var_r31->unk34); - var_r31->unk30 = 0.0031415902f * frandmod(0x3E8); - switch (arg2) { - case 0: - var_r31->unk00 = 60.0f * (0.8f + (0.0007f * frandmod(0x3E8))); - var_r31->unk08.x = 1.6666667f * (0.000100000005f * frandmod(0x3E8) - 0.05f); - var_r31->unk08.y = 1.6666667f * (0.05f + (0.00020000001f * frandmod(0x3E8))); - var_r31->unk08.z = 1.6666667f * (0.1f + (0.0006f * frandmod(0x3E8))); - var_f31 = 0.001f * frandmod(0x3E8); - var_r31->unk2C = 30.0f + (30.0f * var_f31); - var_r31->unk40.a = 40.0f + (40.0f * (1.0f - var_f31)); - var_r31->unk40.r = spC.r + (var_f31 * (sp8.r - spC.r)); - var_r31->unk40.g = spC.g + (var_f31 * (sp8.g - spC.g)); - var_r31->unk40.b = spC.b + (var_f31 * (sp8.b - spC.b)); - break; - case 1: - sp1C.x = 100.0f * (1.1f + (0.00020000001f * frandmod(0x3E8))); - sp1C.y = 100.0f * (0.2f + (0.0005f * frandmod(0x3E8))); - if (frandmod(0x3E8) < 0x1F4) { - sp1C.x *= -1.0f; - } - VECAdd(&sp1C, arg1, &var_r31->unk34); - var_r31->unk00 = 60.0f * (0.2f + (0.0005f * frandmod(0x3E8))); - var_r31->unk08.x = 1.6666667f * ((0.000100000005f * frandmod(0x3E8)) - 0.05f); - var_r31->unk08.y = -1.6666667f * (0.2f + (0.0003f * frandmod(0x3E8))); - var_r31->unk08.z = 1.6666667f * (0.05f + (0.000100000005f * frandmod(0x3E8))); - var_f31 = 0.001f * frandmod(0x3E8); - var_r31->unk2C = 20.0f + (30.0f * var_f31); - var_r31->unk40.a = 8.0f + (13.0f * (1.0f - var_f31)); - var_r31->unk40.r = spC.r + (var_f31 * (sp8.r - spC.r)); - var_r31->unk40.g = spC.g + (var_f31 * (sp8.g - spC.g)); - var_r31->unk40.b = spC.b + (var_f31 * (sp8.b - spC.b)); - break; - case 2: - var_r31->unk00 = 60.0f * (0.9f + (0.00080000004f * frandmod(0x3E8))); - var_r31->unk08.x = 1.6666667f * ((0.00020000001f * frandmod(0x3E8)) - 0.1f); - var_r31->unk08.y = -1.6666667f * (0.1f + (0.0007f * frandmod(0x3E8))); - var_r31->unk08.z = 1.6666667f * ((0.00020000001f * frandmod(0x3E8)) - 0.1f); - var_f31 = 0.001f * frandmod(0x3E8); - var_r31->unk2C = 40.0f + (60.0f * var_f31); - var_r31->unk40.a = 8.0f + (10.0f * (1.0f - var_f31)); - var_r31->unk40.r = spC.r + (var_f31 * (sp8.r - spC.r)); - var_r31->unk40.g = spC.g + (var_f31 * (sp8.g - spC.g)); - var_r31->unk40.b = spC.b + (var_f31 * (sp8.b - spC.b)); - break; - } - var_r31->unk20 = var_r31->unk40.a; - var_r27--; - if (var_r27 < 1) { - break; - } - } - } - - DCStoreRange(var_r30->unk_48, var_r30->unk_30 * sizeof(HsfanimStruct01)); -} - -void fn_1_8BA0(float arg8) -{ - M460DllCameraStruct *var_r31; - M460DllCameraStruct *var_r30; - - var_r30 = fn_1_3E90(1); - var_r31 = fn_1_3E90(2); - var_r31->unk_00 = 1; - var_r31->unk_1C = var_r30->unk_1C; - var_r31->unk_28 = var_r30->unk_28; - var_r31->unk_34 = var_r30->unk_34; - var_r31->unk_10 = var_r30->unk_10; - var_r31->unk_44 = var_r30->unk_44; - var_r31->unk_40 = var_r30->unk_40; - var_r31->unk_8C = arg8; - var_r31->unk_90 = 0.0f; - fn_1_3E68(2); -} - -s32 fn_1_8C78(void) -{ - M460DllCameraStruct *var_r31 = fn_1_3E90(2); - return var_r31->unk_00; -} diff --git a/src/REL/m460Dll/player.c b/src/REL/m460Dll/player.c deleted file mode 100644 index ccb4b58e..00000000 --- a/src/REL/m460Dll/player.c +++ /dev/null @@ -1,658 +0,0 @@ -#include "datadir_enum.h" -#include "ext_math.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/object.h" -#include "game/pad.h" -#include "string.h" - -#include "REL/m460Dll.h" - -#ifndef __MWERKS__ -#include "game/frand.h" -#endif - -typedef struct UnkData110Struct { - /* 0x00 */ u16 unk_00; - /* 0x04 */ float unk_04; - /* 0x08 */ float unk_08; - /* 0x0C */ float unk_0C; - /* 0x10 */ u32 unk_10; -} UnkData110Struct; /* size = 0x14 */ - -typedef struct UnkM460DllPlayerWork { - s32 unk_00; - s32 unk_04; - s32 unk_08; - s32 unk_0C; - s32 unk_10; - u32 unk_14; - u32 unk_18; - float unk_1C; - float unk_20; - s32 unk_24; - s32 unk_28; - u16 unk_2C; - s32 unk_30; - char unk34[0x4]; - s16 unk_38; - char unk3A[6]; - s32 unk_40; - float unk_44; - float unk_48; - float unk_4C; - float unk_50; - float unk_54; - s32 unk_58; - float unk_5C; - Vec unk_60; - Vec unk_6C; - Vec unk_78; - s32 unk_84; -} UnkM460DllPlayerWork; /* size = 0x88 */ - -void fn_1_4C08(omObjData *object); -void fn_1_4F6C(omObjData *object); -void fn_1_5168(omObjData *object); -void fn_1_55EC(omObjData *object); -void fn_1_57D8(omObjData *object); -s32 fn_1_58C8(omObjData *object, float arg8, float arg9); -void fn_1_5A14(omObjData *object); -void fn_1_5C88(omObjData *object); -void fn_1_5CE0(omObjData *object, u32 arg1); -s32 fn_1_5E6C(omObjData *object); -void fn_1_60B0(omObjData *object); -void fn_1_61F4(omObjData *object); - -u32 lbl_1_data_F0[8] = { 0, 2, 3, 0x590015, 0x59000D, 0x17, 0x18, 0x1A }; -struct UnkData110Struct lbl_1_data_110[8] = { - { 0, 0.2f, 0.0f, -1.0f, 0x40000001 }, - { 1, 0.2f, 0.0f, -1.0f, 0x40000001 }, - { 2, 0.2f, 0.0f, -1.0f, 0x40000001 }, - { 3, 0.2f, 0.0f, -1.0f, 0x40000001 }, - { 4, 0.2f, 0.0f, -1.0f, 0 }, - { 5, 0.2f, 0.0f, -1.0f, 0 }, - { 6, 0.2f, 0.0f, -1.0f, 0 }, - { 7, 0.2f, 0.0f, -1.0f, 0x40000001 }, -}; - -omObjData *lbl_1_bss_40[1]; -omObjData *lbl_1_bss_3C; -s32 lbl_1_bss_38[1]; - -void fn_1_49A0(Process *process) -{ - u32 spC[1]; - u32 sp8[1]; - - s16 var_r31; - s16 var_r30; - u32 var_r29; - omObjData *var_r27; - - for (var_r31 = 0; var_r31 < 1; var_r31++) { - spC[var_r31] = GWPlayerCfg[var_r31].group; - sp8[var_r31] = var_r31; - } - for (var_r31 = 0; var_r31 < 0; var_r31++) { - for (var_r30 = var_r31 + 1; var_r30 < 1; var_r30++) { - if (spC[var_r31] > spC[var_r30]) { - var_r29 = spC[var_r31]; - spC[var_r31] = spC[var_r30]; - spC[var_r30] = var_r29; - var_r29 = sp8[var_r31]; - sp8[var_r31] = sp8[var_r30]; - sp8[var_r30] = var_r29; - } - } - } - for (var_r31 = 0; var_r31 < 1; var_r31++) { - lbl_1_bss_38[sp8[var_r31]] = var_r31; - } - omMakeGroupEx(process, 0, 1); - omGetGroupMemberListEx(process, 0); - for (var_r31 = 0; var_r31 < 1; var_r31++) { - var_r27 = lbl_1_bss_40[var_r31] = omAddObjEx(process, 0x28, 1, 8, 0, fn_1_4C08); - var_r27->work[0] = var_r31; - } - lbl_1_bss_3C = omAddObjEx(process, 0x28, 1, 5, -1, fn_1_60B0); -} - -void fn_1_4BE4(void) -{ - CharModelKill(-1); -} - -void fn_1_4C08(omObjData *object) -{ - UnkM460DllPlayerWork *var_r31; - s32 var_r29; - - float sp8[4] = { 0.25f, 0.5f, 0.75f, 1.0f }; - Vec sp18[4] = { - { 0.0f, 0.0f, 300.0f }, - { -450.0f, 0.0f, -50.0f }, - { 0.0f, 0.0f, -350.0f }, - { 450.0f, 0.0f, -50.0f }, - }; - object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM460DllPlayerWork), MEMORY_DEFAULT_NUM); - var_r31 = object->data; - memset(var_r31, 0, sizeof(UnkM460DllPlayerWork)); - object->stat |= 0x100; - var_r31->unk_00 = GWPlayerCfg[object->work[0]].character; - var_r31->unk_08 = lbl_1_bss_38[object->work[0]]; - fn_1_41B4(object->work[0], var_r31->unk_08, var_r31->unk_00); - var_r31->unk_54 = sp8[GWPlayerCfg[object->work[0]].diff & 3]; - var_r31->unk_24 = GWPlayerCfg[object->work[0]].iscom; - object->model[0] = CharModelCreate(var_r31->unk_00, 2); - Hu3DModelLayerSet(object->model[0], 1); - CharModelLayerSetAll(2); - Hu3DModelShadowSet(object->model[0]); - for (var_r29 = 0; var_r29 < 8; var_r29++) { - if (lbl_1_data_F0[var_r29] < 0x10000) { - object->motion[var_r29] = CharModelMotionCreate(var_r31->unk_00, lbl_1_data_F0[var_r29]); - } - else { - object->motion[var_r29] = Hu3DJointMotionFile(object->model[0], var_r31->unk_00 + lbl_1_data_F0[var_r29]); - } - } - CharModelMotionDataClose(var_r31->unk_00); - CharModelEffectNpcInitSilent(object->model[0], object->motion[3], 1); - object->trans.x = var_r31->unk_60.x = sp18[var_r31->unk_08].x; - object->trans.y = var_r31->unk_60.y = sp18[var_r31->unk_08].y; - object->trans.z = var_r31->unk_60.z = sp18[var_r31->unk_08].z; - var_r31->unk_44 = var_r31->unk_48 = 0.0f; - var_r31->unk_4C = 0.0f; - var_r31->unk_50 = 0.02f; - var_r31->unk_5C = 50.0f; - var_r31->unk_58 = 0; - var_r31->unk_2C = 0; - var_r31->unk_04 = -1; - fn_1_5CE0(object, 0); - var_r31->unk_84 = -1; - object->func = fn_1_4F6C; -} - -void fn_1_4F6C(omObjData *object) -{ - UnkM460DllPlayerWork *var_r31; - s32 var_r29; - - var_r31 = object->data; - var_r31->unk_14 = var_r31->unk_18 = 0; - var_r31->unk_0C = var_r31->unk_10 = 0; - var_r31->unk_1C = 0.0f; - var_r31->unk_20 = 0.0f; - switch (var_r31->unk_2C) { - case 0: - var_r31->unk_44 = var_r31->unk_48 = 180.0f; - var_r31->unk_60.x = 0.0f; - var_r31->unk_60.y = 0.0f; - var_r31->unk_60.z = -450.0f; - fn_1_5CE0(object, 7); - var_r31->unk_2C = 1; - var_r31->unk_30 = 0; - break; - case 1: - if (fn_1_414C() == 1) { - var_r31->unk_60.x = 0.0f; - var_r31->unk_60.y = 0.0f; - var_r31->unk_60.z = -100.0f; - var_r31->unk_78.x = 0.0f; - var_r31->unk_78.y = 0.0f; - var_r31->unk_78.z = -450.0f; - var_r31->unk_2C = 2; - var_r31->unk_30 = 0; - } - break; - case 2: - var_r29 = fn_1_58C8(object, 0.5f, 20.0f); - fn_1_5A14(object); - if (var_r29 != 0) { - var_r31->unk_2C = 3; - var_r31->unk_30 = 0; - } - break; - } - VECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60); - fn_1_57D8(object); - if (fn_1_414C() == 2) { - var_r31->unk_2C = 0; - object->func = fn_1_5168; - } -} - -void fn_1_5168(omObjData *object) -{ - UnkM460DllPlayerWork *var_r31; - s32 var_r29; - u32 var_r28; - s32 var_r27; - - var_r31 = object->data; - var_r27 = 0; - { - Vec sp20[2] = { - { -250.0f, 0.0f, -900.0f }, - { 250.0f, 0.0f, -900.0f }, - }; - - Vec sp8[2] = { - { -250.0f, 0.0f, -1400.0f }, - { 250.0f, 0.0f, -1400.0f }, - }; - var_r31->unk_14 = var_r31->unk_18 = 0; - var_r31->unk_0C = var_r31->unk_10 = 0; - var_r31->unk_1C = 0.0f; - var_r31->unk_20 = 0.0f; - if (fn_1_4164() == 2) { - if (var_r31->unk_24 != 0) { - fn_1_5C88(object); - } - else { - if (HuPadTrigL[GWPlayerCfg[object->work[0]].pad_idx] > 0x28) { - var_r31->unk_14 = 1; - } - if (HuPadTrigR[GWPlayerCfg[object->work[0]].pad_idx] > 0x28) { - var_r31->unk_18 = 1; - } - } - } - switch (var_r31->unk_2C) { - case 0: - if (fn_1_4370() != 0) { - var_r31->unk_60.x = -140.0f; - var_r31->unk_60.y = 0.0f; - var_r31->unk_60.z = -150.0f; - } - var_r31->unk_78.x = 0.0f; - var_r31->unk_78.y = 0.0f; - var_r31->unk_78.z = -450.0f; - var_r31->unk_40 = 3; - var_r31->unk_2C = 4; - case 4: - var_r29 = fn_1_58C8(object, 0.5f, 20.0f); - fn_1_5A14(object); - if ((var_r29 != 0) && (fn_1_4164() == 2)) { - var_r31->unk_48 = 180.0f; - var_r31->unk_6C.x = var_r31->unk_6C.y = var_r31->unk_6C.z = 0.0f; - var_r31->unk_2C = 5; - } - break; - case 5: - var_r29 = 0; - fn_1_5A14(object); - if (CharModelMotionShiftIDGet(var_r31->unk_00) < 0) { - var_r29 = 1; - } - var_r28 = fn_1_42F0(); - if (var_r28 == 3) { - if (var_r29 != 0) { - if (var_r31->unk_14 != 0) { - var_r28 = 0; - } - else if (var_r31->unk_18 != 0) { - var_r28 = 1; - } - if (var_r28 != 3) { - fn_1_42BC(var_r28); - } - } - } - else { - var_r31->unk_40 = var_r28; - var_r31->unk_78 = sp20[var_r31->unk_40]; - var_r31->unk_2C = 6; - } - break; - case 6: - var_r29 = fn_1_58C8(object, 1.0f, 20.0f); - fn_1_5A14(object); - if (var_r29 != 0) { - fn_1_4308(); - var_r31->unk_48 = 180.0f; - var_r31->unk_6C.x = var_r31->unk_6C.y = var_r31->unk_6C.z = 0.0f; - var_r31->unk_2C = 7; - } - break; - case 7: - fn_1_5A14(object); - if (fn_1_4358() != 0) { - if (fn_1_419C() == 0) { - var_r31->unk_78 = sp8[var_r31->unk_40]; - var_r31->unk_2C = 8; - } - else { - var_r27 = 1; - } - } - break; - case 8: - var_r29 = fn_1_58C8(object, 0.5f, 20.0f); - fn_1_5A14(object); - - default: - if (fn_1_4164() == 1) { - var_r31->unk_2C = 0; - } - var_r27 = 1; - break; - } - } - VECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60); - fn_1_57D8(object); - if ((fn_1_4164() == 5) && (var_r27 != 0)) { - var_r31->unk_2C = 0; - object->func = fn_1_55EC; - } -} - -void fn_1_55EC(omObjData *object) -{ - Vec sp8; - UnkM460DllPlayerWork *var_r31; - s32 var_r29; - - var_r31 = object->data; - var_r29 = 0; - switch (var_r31->unk_2C) { - case 0: - fn_1_41F4(object->work[0]); - fn_1_5CE0(object, 4); - sp8 = var_r31->unk_60; - sp8.y += 160.0f; - var_r31->unk_2C = 9; - break; - case 9: - if (fn_1_5E6C(object) != 0) { - var_r31->unk_78.x = 0.0f; - var_r31->unk_78.y = 0.0f; - var_r31->unk_78.z = 500.0f; - fn_1_4224(object->work[0]); - HuAudCharVoicePlay(var_r31->unk_00, 0x128); - var_r31->unk_28 = 1; - var_r31->unk_2C = 0xA; - } - break; - case 10: - var_r29 = fn_1_58C8(object, 1.0f, 20.0f); - fn_1_5A14(object); - if (var_r29 != 0) { - var_r31->unk_6C.x = var_r31->unk_6C.y = var_r31->unk_6C.z = 0.0f; - var_r31->unk_2C = 0xB; - } - break; - case 11: - fn_1_5CE0(object, 0); - break; - } - VECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60); - fn_1_57D8(object); - if (var_r31->unk_84 >= 0) { - sp8 = var_r31->unk_60; - sp8.y += 160.0f; - HuAudFXEmiterUpDate(var_r31->unk_84, &sp8); - } -} - -void fn_1_57D8(omObjData *object) -{ - UnkM460DllPlayerWork *var_r31 = object->data; - var_r31->unk_38++; - var_r31->unk_30++; - object->trans.x = var_r31->unk_60.x; - object->trans.y = var_r31->unk_60.y; - object->trans.z = var_r31->unk_60.z; - var_r31->unk_4C = var_r31->unk_4C + var_r31->unk_50; - if (var_r31->unk_4C > 0.45f) { - var_r31->unk_4C = 0.45f; - } - var_r31->unk_44 = fn_1_47D0(var_r31->unk_44, var_r31->unk_48, var_r31->unk_4C); - object->rot.y = var_r31->unk_44; - Hu3DModelPosSetV(object->model[0], &var_r31->unk_60); - Hu3DModelRotSet(object->model[0], 0.0f, var_r31->unk_44, 0.0f); -} - -s32 fn_1_58C8(omObjData *object, float arg8, float arg9) -{ - Vec spC; - float var_f31; - UnkM460DllPlayerWork *var_r31; - s32 var_r30; - - var_r31 = object->data; - var_r30 = 0; - VECSubtract(&var_r31->unk_78, &var_r31->unk_60, &spC); - spC.y = 0.0f; - var_f31 = VECMag(&spC); - if (var_f31 < arg9) { - var_f31 = 0.0f; - var_r30 = 1; - } - else { - if (VECMag(&spC) >= 100.0f) { - var_f31 = 100.0f; - } - var_f31 = 0.2f + (0.008f * var_f31); - } - var_r31->unk_1C = atan2d(spC.x, spC.z); - var_r31->unk_20 = var_f31; - if (var_r31->unk_20 > arg8) { - var_r31->unk_20 = arg8; - } - return var_r30; -} - -void fn_1_5A14(omObjData *object) -{ - float var_f31; - float var_f30; - - UnkM460DllPlayerWork *var_r31 = object->data; - if (var_r31->unk_20 > 0.0f) { - var_r31->unk_48 = var_r31->unk_1C; - } - if (var_r31->unk_20 > 0.05f) { - // 1 / REFRESH_RATE? - var_r31->unk_6C.x = 0.01666666753590107 * (550.0 * (var_r31->unk_20 * sind(var_r31->unk_1C))); - var_r31->unk_6C.z = 0.01666666753590107 * (550.0 * (var_r31->unk_20 * cosd(var_r31->unk_1C))); - if (var_r31->unk_28 != 0) { - var_r31->unk_6C.x *= 1.5f; - var_r31->unk_6C.z *= 1.5f; - } - var_r31->unk_4C = 0.2f; - var_r31->unk_50 = 0.0f; - if (CharModelMotionShiftIDGet(var_r31->unk_00) < 0) { - var_f31 = 0.5f; - if (var_r31->unk_04 == 2) { - var_f31 = 0.45f; - } - if (var_r31->unk_20 > var_f31) { - if (var_r31->unk_28 != 0) { - fn_1_5CE0(object, 3); - } - else { - fn_1_5CE0(object, 2); - } - var_f30 = var_r31->unk_20; - } - else { - fn_1_5CE0(object, 1); - var_f30 = var_r31->unk_20 / var_f31; - } - CharModelMotionSpeedSet(var_r31->unk_00, var_f30); - } - } - else { - var_r31->unk_6C.x = var_r31->unk_6C.y = var_r31->unk_6C.z = 0.0f; - if (CharModelMotionShiftIDGet(var_r31->unk_00) < 0) { - fn_1_5CE0(object, 0); - } - } -} - -void fn_1_5C88(omObjData *object) -{ - UnkM460DllPlayerWork *var_r31 = object->data; - if (frandmod(0x3E8) < 0x1F4) { - var_r31->unk_14 = 1; - return; - } - var_r31->unk_18 = 1; -} - -void fn_1_5CE0(omObjData *object, u32 arg1) -{ - UnkM460DllPlayerWork *var_r30 = object->data; - if ((var_r30->unk_04 != arg1) && (arg1 < 8)) { - float var_f31 = 60.0f * lbl_1_data_110[arg1].unk_04; - if (var_r30->unk_04 < 0) { - var_f31 = 0.0f; - } - var_r30->unk_04 = arg1; - CharModelMotionShiftSet( - var_r30->unk_00, object->motion[lbl_1_data_110[arg1].unk_00], 60.0f * lbl_1_data_110[arg1].unk_08, var_f31, lbl_1_data_110[arg1].unk_10); - if (lbl_1_data_110[arg1].unk_0C >= 0.0f) { - Hu3DMotionShiftStartEndSet(object->model[0], 60.0f * lbl_1_data_110[arg1].unk_08, 60.0f * lbl_1_data_110[arg1].unk_0C); - } - } -} - -s32 fn_1_5E6C(omObjData *object) -{ - M460DllCameraStruct *var_r31 = object->data; - s32 var_r30 = 0; - if ((CharModelMotionEndCheck(var_r31->unk_00) != 0) && (CharModelMotionShiftIDGet(var_r31->unk_00) < 0)) { - var_r30 = 1; - } - return var_r30; -} - -s32 fn_1_5EE0(omObjData *object, u32 arg1) -{ - s32 var_r27 = 0; - if (fn_1_5E6C(object)) { - fn_1_5CE0(object, arg1); - var_r27 = 1; - } - return var_r27; -} - -s32 lbl_1_data_1D4[5] = { - DATA_MAKE_NUM(DATADIR_M460, 0x1E), - DATA_MAKE_NUM(DATADIR_M460, 0x1F), - DATA_MAKE_NUM(DATADIR_M460, 0x20), - DATA_MAKE_NUM(DATADIR_M460, 0x21), - DATA_MAKE_NUM(DATADIR_M460, 0x22), -}; - -void fn_1_60B0(omObjData *object) -{ - s32 var_r30; - s32 var_r29; - - omSetTra(object, 0.0f, 0.0f, 0.0f); - var_r30 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M460, 0x1D)); - object->model[0] = var_r30; - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelShadowSet(var_r30); - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); - for (var_r29 = 0; var_r29 < 5; var_r29++) { - object->motion[var_r29] = Hu3DJointMotionFile(var_r30, lbl_1_data_1D4[var_r29]); - } - CharModelEffectNpcInitSilent(var_r30, object->motion[1], 0); - CharModelEffectNpcInitSilent(var_r30, object->motion[2], 1); - CharModelEffectNpcInitSilent(var_r30, object->motion[3], 1); - object->work[1] = 0; - object->func = fn_1_61F4; -} - -void fn_1_61F4(omObjData *object) -{ - float var_f31; - float var_f30; - s32 var_r30; - s32 var_r29; - - Vec sp1C[2] = { - { -250.0f, 0.0f, -2200.0f }, - { 250.0f, 0.0f, -2200.0f }, - }; - Vec sp10; - s32 sp8[2] = { 6, 21 }; - switch (object->work[1]) { - case 0: - if ((fn_1_4164() == 3) && (fn_1_419C() != 0) && (fn_1_4324() != 0)) { - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - Hu3DMotionShiftSet(object->model[0], object->motion[0], 0.0f, 0.0f, HU3D_MOTATTR_LOOP); - var_r30 = fn_1_42F0(); - object->trans.x = sp1C[var_r30].x; - object->trans.y = sp1C[var_r30].y; - object->trans.z = sp1C[var_r30].z; - object->rot.y = 0.0f; - object->work[1] = 1; - object->work[2] = 0; - } - break; - case 1: - object->work[2]++; - if (object->work[2] > 18.0f) { - Hu3DMotionShiftSet(object->model[0], object->motion[2], 0.0f, 30.0f, HU3D_MOTATTR_LOOP); - object->work[1] = 2; - } - break; - case 2: - sp10.x = (*lbl_1_bss_40)->trans.x - object->trans.x; - sp10.y = 0.0f; - sp10.z = (*lbl_1_bss_40)->trans.z - object->trans.z; - object->rot.y = fn_1_47D0(object->rot.y, atan2d(sp10.x, sp10.z), 0.1f); - object->trans.z += 6.666667f; - if (fn_1_4358() != 0) { - HuAudFXPlay(0x3C); - Hu3DMotionShiftSet(object->model[0], object->motion[3], 0.0f, 30.0f, HU3D_MOTATTR_LOOP); - object->work[1] = 3; - object->work[3] = 0x3C; - } - break; - case 3: - Hu3DMotionSpeedSet(object->model[0], 0.9f); - var_r29 = Hu3DMotionTimeGet(object->model[0]); - for (var_r30 = 0; var_r30 < 2; var_r30++) { - if (var_r29 == sp8[var_r30]) { - var_f30 = 2.1166666f * object->work[3]; - HuAudFXPlayVol(0x6B, var_f30); - } - } - sp10.x = (*lbl_1_bss_40)->trans.x - object->trans.x; - sp10.y = 0.0f; - sp10.z = (*lbl_1_bss_40)->trans.z - object->trans.z; - object->rot.y = fn_1_47D0(object->rot.y, atan2d(sp10.x, sp10.z), 0.1f); - if (object->trans.z < -900.0f) { - // depending on refresh rate? - object->trans.z += 11.666667f; - } - else { - var_f31 = VECMag(&sp10); - if (var_f31 < 20.0f) { - var_f31 = 0.0f; - } - else { - if (VECMag(&sp10) >= 100.0f) { - var_f31 = 100.0f; - } - var_f31 = 0.2f + (0.008f * var_f31); - var_f31 *= 11.666667f; - } - object->trans.x = object->trans.x + (var_f31 * sind(object->rot.y)); - object->trans.z = object->trans.z + (var_f31 * cosd(object->rot.y)); - } - if ((object->trans.z > 450.0f) && (object->work[3] != 0)) { - object->work[3]--; - } - break; - } -} diff --git a/src/REL/m460Dll/score.c b/src/REL/m460Dll/score.c deleted file mode 100644 index 357c2d8c..00000000 --- a/src/REL/m460Dll/score.c +++ /dev/null @@ -1,183 +0,0 @@ -#include "datadir_enum.h" -#include "game/data.h" - -#include "REL/m460Dll.h" -#include "game/memory.h" - -#include "game/esprite.h" -#ifndef __MWERKS__ -#endif - -typedef struct UnkM460DllScoreWork { - s32 unk_00; - s32 unk_04; - s16 unk_08; - s16 unk_0A; - s16 unk_0C[6]; - s32 unk_18; - float unk_1C; -} UnkM460DllScoreWork; /* size = 0x20 */ - -typedef void (*UnkM460DllScoreFunc)(void); - -void fn_1_9020(s32 arg0); -void fn_1_9050(omObjData *object); -void fn_1_916C(void); -void fn_1_91E4(void); -void fn_1_9270(void); - -UnkM460DllScoreFunc lbl_1_data_380[3] = { fn_1_916C, fn_1_91E4, fn_1_9270 }; - -Process *lbl_1_bss_54; -omObjData *lbl_1_bss_50; -// ? lbl_1_rodata_3D0; - -void fn_1_8CAC(Process *process, s16 arg1) -{ - UnkM460DllScoreWork *var_r31; - u32 var_r30; - - lbl_1_bss_54 = process; - lbl_1_bss_50 = omAddObjEx(lbl_1_bss_54, 0x800, 0, 0, 7, fn_1_9050); - lbl_1_bss_50->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM460DllScoreWork), MEMORY_DEFAULT_NUM); - var_r31 = lbl_1_bss_50->data; - var_r31->unk_08 = arg1; - var_r31->unk_0A = 0; - var_r31->unk_0C[4] = espEntry(0x590024, 2, 0); - espColorSet(var_r31->unk_0C[4], 0, 0, 0); - espTPLvlSet(var_r31->unk_0C[4], 0.5f); - espPosSet(var_r31->unk_0C[4], 508.0f, 64.0f); - var_r31->unk_0C[5] = espEntry(0x610037, 1, 0); - espPosSet(var_r31->unk_0C[5], 490.0f, 56.0f); - for (var_r30 = 0; var_r30 < 2; var_r30++) { - var_r31->unk_0C[var_r30] = espEntry(0x610030, 0, 0); - espPosSet(var_r31->unk_0C[var_r30], (var_r30 * 0x10) + 0x1FE, 56.0f); - espDispOff(var_r31->unk_0C[var_r30]); - } - for (var_r30 = 0; var_r30 < 2; var_r30++) { - var_r31->unk_0C[var_r30 + 2] = espEntry(0x610031, 1, 0); - espPosSet(var_r31->unk_0C[var_r30 + 2], (var_r30 * 0x10) + 0x1FE, 74.0f); - } - for (var_r30 = 0; var_r30 < 6; var_r30++) { - espDispOff(var_r31->unk_0C[var_r30]); - } - HuDataDirClose(DATA_MAKE_NUM(DATADIR_MGCONST, 0)); - fn_1_9020(0); -} - -void fn_1_8F38(void) -{ - s32 var_r31; - UnkM460DllScoreWork *var_r30 = lbl_1_bss_50->data; - for (var_r31 = 0; var_r31 < 6; var_r31++) { - espKill(var_r30->unk_0C[var_r31]); - } - HuMemDirectFree(lbl_1_bss_50->data); -} - -void fn_1_8FAC(s32 arg0) -{ - s32 sp8; - s32 var_r3; - - switch (arg0) { - case 0: - fn_1_9020(1); - break; - case 1: - fn_1_9020(2); - break; - } -} - -void fn_1_8FFC(void) -{ - fn_1_9020(0); -} - -void fn_1_9020(s32 arg0) -{ - UnkM460DllScoreWork *var_r31; - - var_r31 = lbl_1_bss_50->data; - var_r31->unk_00 = arg0; - var_r31->unk_04 = 0; -} - -void fn_1_9050(omObjData *arg0) -{ - UnkM460DllScoreWork *var_r31; - s16 var_r30; - - var_r31 = lbl_1_bss_50->data; - lbl_1_data_380[var_r31->unk_00](); - var_r30 = var_r31->unk_08; - espBankSet(var_r31->unk_0C[0], var_r30 / 10); - var_r30 -= (var_r30 / 10) * 10; - espBankSet(var_r31->unk_0C[1], var_r30); - var_r30 = var_r31->unk_0A; - espBankSet(var_r31->unk_0C[2], var_r30 / 10); - var_r30 -= (var_r30 / 10) * 10; - espBankSet(var_r31->unk_0C[3], var_r30); -} - -void fn_1_916C(void) -{ - UnkM460DllScoreWork *var_r31; - s32 var_r30; - - var_r31 = lbl_1_bss_50->data; - if (var_r31->unk_04 == 0) { - for (var_r30 = 0; var_r30 < 6; var_r30++) { - espDispOff(var_r31->unk_0C[var_r30]); - } - var_r31->unk_04++; - } -} - -void fn_1_91E4(void) -{ - UnkM460DllScoreWork *var_r31; - s16 var_r30; - - var_r31 = lbl_1_bss_50->data; - if (var_r31->unk_04 == 0) { - for (var_r30 = 0; var_r30 < 6; var_r30++) { - espDispOn(var_r31->unk_0C[var_r30]); - } - var_r31->unk_04++; - } - var_r31->unk_0A = fn_1_4370(); -} - -void fn_1_9270(void) -{ - UnkM460DllScoreWork *var_r31; - s32 var_r30; - - var_r31 = lbl_1_bss_50->data; - if (var_r31->unk_04 == 0) { - var_r31->unk_18 = 0; - var_r31->unk_1C = 1.0f; - if (var_r31->unk_0A > var_r31->unk_08) { - var_r31->unk_08 = var_r31->unk_0A; - } - var_r31->unk_04++; - } - if (var_r31->unk_18 == 0) { - if ((var_r31->unk_1C += 0.02f) >= 1.2f) { - var_r31->unk_1C = 1.2f; - var_r31->unk_18 = 1; - } - } - else { - if ((var_r31->unk_1C -= 0.04f) <= 1.0f) { - var_r31->unk_1C = 1.0f; - var_r31->unk_18 = 0; - } - } - for (var_r30 = 0; var_r30 <= 1; var_r30++) { - espScaleSet(var_r31->unk_0C[var_r30], var_r31->unk_1C, var_r31->unk_1C); - } - espScaleSet(var_r31->unk_0C[5], var_r31->unk_1C, var_r31->unk_1C); -} diff --git a/src/REL/m461Dll/main.c b/src/REL/m461Dll/main.c deleted file mode 100644 index 1c4b57cc..00000000 --- a/src/REL/m461Dll/main.c +++ /dev/null @@ -1,2335 +0,0 @@ -#include "REL/executor.h" -#include "game/chrman.h" -#include "game/frand.h" -#include "game/gamework.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/wipe.h" - -#include "game/gamework_data.h" - -#include "game/mapspace.h" -#include "game/pad.h" -#include "game/printfunc.h" - -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" - -#include "game/esprite.h" -#include "game/sprite.h" - -#include "ext_math.h" - -#ifndef __MWERKS__ -#include "game/audio.h" -#endif - -#undef ABS -#define ABS(x) ((0 > (x)) ? -(x) : (x)) - -typedef struct unk_bss_358_struct { - /* 0x00 */ u16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ struct unk_bss_358_struct *unk04; - /* 0x08 */ struct unk_bss_358_struct *unk08; -} UnkBss254Struct; // Size 0xC - -typedef struct unk_bss_340_struct { - /* 0x00 */ HsfanimStruct00 *unk00; - /* 0x04 */ s32 *unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ struct unk_bss_340_struct *unk10; - /* 0x14 */ struct unk_bss_340_struct *unk14; -} UnkBss23CStruct; // Size 0x18 - -typedef struct { - /* 0x00 */ u32 unk00; - /* 0x04 */ s16 unk04; -} UnkBssACStruct; // Size 8 - -UnkBss254Struct lbl_1_bss_254; -UnkBss23CStruct lbl_1_bss_23C; -Process *lbl_1_bss_238; -Vec lbl_1_bss_22C; -Vec lbl_1_bss_220; -Vec lbl_1_bss_214; -Vec lbl_1_bss_208; -u32 lbl_1_bss_204; -s32 lbl_1_bss_200; -u32 lbl_1_bss_1FC; -s16 lbl_1_bss_1FA; -s16 lbl_1_bss_1F8; -s32 lbl_1_bss_1F4; -s32 lbl_1_bss_1F0; -float lbl_1_bss_1EC; -s32 lbl_1_bss_1AC[16]; -UnkBssACStruct lbl_1_bss_AC[32]; - -void fn_1_0(void) -{ - lbl_1_bss_254.unk04 = NULL; - lbl_1_bss_254.unk08 = NULL; -} - -void fn_1_24(u16 arg0, s16 arg1) -{ - UnkBss254Struct *temp_r31; - UnkBss254Struct *temp_r30; - UnkBss254Struct *temp_r29; - - temp_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(*temp_r31), MEMORY_DEFAULT_NUM); - temp_r31->unk00 = arg0; - temp_r31->unk02 = arg1; - temp_r30 = &lbl_1_bss_254; - temp_r29 = temp_r30->unk08; - temp_r30->unk08 = temp_r31; - if (NULL != temp_r29) { - temp_r29->unk04 = temp_r31; - } - temp_r31->unk04 = temp_r30; - temp_r31->unk08 = temp_r29; -} - -s16 fn_1_AC(s16 arg0) -{ - UnkBss254Struct *var_r31; - UnkBss254Struct *temp_r29; - UnkBss254Struct *temp_r30; - s16 temp_r28; - - var_r31 = lbl_1_bss_254.unk08; - while (NULL != var_r31) { - if (arg0 == var_r31->unk00) { - temp_r28 = var_r31->unk02; - temp_r29 = var_r31->unk04; - temp_r30 = var_r31->unk08; - temp_r29->unk08 = temp_r30; - if (NULL != temp_r30) { - temp_r30->unk04 = temp_r29; - } - HuMemDirectFree(var_r31); - return temp_r28; - } - var_r31 = var_r31->unk08; - } - return -1; -} - -void fn_1_150(void) -{ - lbl_1_bss_23C.unk10 = NULL; - lbl_1_bss_23C.unk14 = NULL; -} - -void fn_1_174(s16 arg0, HsfanimStruct00 *arg1, s32 arg2, s32 arg3, s32 arg4, Vec *arg5, u8 arg6) -{ - UnkBss23CStruct *temp_r27; - UnkBss23CStruct *var_r31; - UnkBss23CStruct *temp_r28; - s32 i; - - var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(*var_r31), MEMORY_DEFAULT_NUM); - var_r31->unk00 = arg1; - var_r31->unk08 = arg3; - var_r31->unk0C = arg4; - var_r31->unk04 = HuMemDirectMallocNum(HEAP_SYSTEM, arg4 * sizeof(*var_r31->unk04), MEMORY_DEFAULT_NUM); - for (i = 0; i < arg4; i++, arg5++) { - var_r31->unk04[i] = Hu3DParManLink(arg0, arg1); - if (var_r31->unk04[i] >= 0) { - Hu3DParManAttrReset(var_r31->unk04[i], 1); - Hu3DParManPosSet(var_r31->unk04[i], arg5->x, arg5->y, arg5->z); - Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(var_r31->unk04[i]), arg6); - Hu3DModelLayerSet(Hu3DParManModelIDGet(var_r31->unk04[i]), arg2); - } - } - temp_r28 = &lbl_1_bss_23C; - temp_r27 = temp_r28->unk14; - temp_r28->unk14 = var_r31; - if (NULL != temp_r27) { - temp_r27->unk10 = var_r31; - } - var_r31->unk10 = temp_r28; - var_r31->unk14 = temp_r27; -} - -void fn_1_2D8(void) -{ - UnkBss23CStruct *var_r31; - UnkBss23CStruct *temp_r28; - UnkBss23CStruct *temp_r29; - s32 i; - - var_r31 = lbl_1_bss_23C.unk14; - while (NULL != var_r31) { - var_r31->unk08--; - if (var_r31->unk08 == 0) { - for (i = 0; i < var_r31->unk0C; i++) { - if (var_r31->unk04[i] >= 0) { - Hu3DParManAttrSet(var_r31->unk04[i], 1); - } - } - } - temp_r28 = var_r31->unk10; - temp_r29 = var_r31->unk14; - if (-var_r31->unk00->unk00 > var_r31->unk08) { - for (i = 0; i < var_r31->unk0C; i++) { - if (var_r31->unk04[i] >= 0) { - Hu3DParManKill(var_r31->unk04[i]); - } - } - temp_r28->unk14 = temp_r29; - if (NULL != temp_r29) { - temp_r29->unk10 = temp_r28; - } - HuMemDirectFree(var_r31->unk04); - HuMemDirectFree(var_r31); - } - var_r31 = temp_r29; - } -} - -void fn_1_414(void) -{ - s32 i; - - for (i = 0; i < 32; i++) { - lbl_1_bss_AC[i].unk00 = 0; - lbl_1_bss_AC[i].unk04 = -1; - } -} - -s16 fn_1_46C(s32 arg0) -{ - s32 i; - - for (i = 0; i < 32; i++) { - if (arg0 == lbl_1_bss_AC[i].unk00) { - return Hu3DModelLink(lbl_1_bss_AC[i].unk04); - } - } - for (i = 0; i < 32; i++) { - if (lbl_1_bss_AC[i].unk00 == 0) { - lbl_1_bss_AC[i].unk00 = arg0; - lbl_1_bss_AC[i].unk04 = Hu3DModelCreateFile(arg0); - return lbl_1_bss_AC[i].unk04; - } - } - return Hu3DModelCreateFile(arg0); -} - -void fn_1_580(s32 *arg0, s32 arg1, s32 arg2) -{ - s32 var_r30; - - espBankSet(arg0[arg1 + 1], 10); - espBankSet(arg0[arg1 + 4], 11); - if (600 * REFRESH_RATE <= arg2) { - arg2 = 600 * REFRESH_RATE - 1; - } - var_r30 = arg2 / (60 * REFRESH_RATE); - arg2 -= var_r30 * (60 * REFRESH_RATE); - if (var_r30 > 9) { - var_r30 = 9; - } - espBankSet(arg0[arg1], var_r30); - var_r30 = arg2 / REFRESH_RATE; - arg2 -= var_r30 * REFRESH_RATE; - espBankSet(arg0[arg1 + 2], var_r30 / 10); - espBankSet(arg0[arg1 + 3], var_r30 % 10); - var_r30 = 101.5f * arg2 / REFRESH_RATE; - espBankSet(arg0[arg1 + 5], var_r30 / 10); - espBankSet(arg0[arg1 + 6], var_r30 % 10); -} - -void fn_1_798(s32 arg0) -{ - lbl_1_bss_1EC = 0.0f; - lbl_1_bss_1FC = lbl_1_bss_200; - GWMGRecordSet(arg0, lbl_1_bss_1FC); - fn_1_580(lbl_1_bss_1AC, 7, lbl_1_bss_200); -} - -void fn_1_9EC(void) -{ - s32 i; - - for (i = 0; i < 16; i++) { - espDispOn(lbl_1_bss_1AC[i]); - } -} - -void fn_1_A40(void) -{ - float temp_f31; - s32 i; - - if (0.0f <= lbl_1_bss_1EC) { - lbl_1_bss_1EC += 16.0f; - temp_f31 = 1.0 + 0.2f * sind(lbl_1_bss_1EC); - for (i = 7; i <= 14; i++) { - espScaleSet(lbl_1_bss_1AC[i], temp_f31, temp_f31); - } - } -} - -void fn_1_B4C(float arg0, s32 arg1) -{ - float temp_f30; - float temp_f31; - s32 i; - - temp_f31 = 288.0f; - temp_f30 = arg0; - lbl_1_bss_1AC[15] = espEntry(arg1, 0, 0); - espTPLvlSet(lbl_1_bss_1AC[15], 0.5f); - espColorSet(lbl_1_bss_1AC[15], 0, 0, 0); - espPosSet(lbl_1_bss_1AC[15], temp_f31, temp_f30); - temp_f31 = 248.0f; - temp_f30 = arg0 - 8.0f; - lbl_1_bss_1AC[14] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 55), 0, 0); - espPosSet(lbl_1_bss_1AC[14], temp_f31 - 18.0f, temp_f30); - for (i = 7; i <= 13; i++) { - lbl_1_bss_1AC[i] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 48), 0, 0); - espPosSet(lbl_1_bss_1AC[i], temp_f31, temp_f30); - temp_f31 += 16.0f; - } - fn_1_580(lbl_1_bss_1AC, 7, lbl_1_bss_1FC); - temp_f31 = 248.0f; - temp_f30 = arg0 + 8.0f; - for (i = 0; i <= 6; i++) { - lbl_1_bss_1AC[i] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 49), 0, 0); - espPosSet(lbl_1_bss_1AC[i], temp_f31, temp_f30); - temp_f31 += 16.0f; - } - fn_1_580(lbl_1_bss_1AC, 0, 0); - for (i = 0; i < 16; i++) { - espDrawNoSet(lbl_1_bss_1AC[i], 0); - espDispOff(lbl_1_bss_1AC[i]); - espAttrSet(lbl_1_bss_1AC[i], HUSPR_ATTR_NOANIM); - espPriSet(lbl_1_bss_1AC[i], 0x80 + i); - } -} - -void fn_1_11F4(float arg0, Vec *arg1, Vec *arg2, Vec *arg3) -{ - float temp_f31; - - if (1.0f < arg0) { - arg0 = 1.0f; - } - temp_f31 = sind(90.0f * arg0) * sind(90.0f * arg0); - arg3->x = arg1->x + temp_f31 * (arg2->x - arg1->x); - arg3->y = arg1->y + temp_f31 * (arg2->y - arg1->y); - arg3->z = arg1->z + temp_f31 * (arg2->z - arg1->z); -} - -void fn_1_1350(Vec *arg0, Vec *arg1, Vec *arg2) -{ - Hu3DCameraPosSetV(1, arg0, arg1, arg2); - lbl_1_bss_22C = *arg0; - lbl_1_bss_214 = *arg2; -} - -s32 fn_1_13DC(float arg0, Vec *arg1) -{ - Vec sp18; - Vec spC; - - fn_1_11F4(arg0, &lbl_1_bss_22C, &lbl_1_bss_220, &sp18); - fn_1_11F4(arg0, &lbl_1_bss_214, &lbl_1_bss_208, &spC); - Hu3DCameraPosSetV(1, &sp18, arg1, &spC); - if (1.0f <= arg0) { - return 1; - } - else { - lbl_1_bss_1F0 = 1; - return 0; - } -} - -void fn_1_1710(float arg0, Vec *arg1) -{ - Vec sp18; - Vec spC; - - fn_1_11F4(arg0, &lbl_1_bss_22C, &lbl_1_bss_220, &sp18); - fn_1_11F4(arg0, &lbl_1_bss_214, &lbl_1_bss_208, &spC); - fn_1_1350(&sp18, arg1, &spC); - lbl_1_bss_1F0 = 1; -} - -void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2) -{ - Mtx sp1C; - Vec sp10; - float temp_f30; - float temp_f29; - float temp_f28; - float temp_f31; - CameraData *temp_r31; - s32 i; - - for (i = 0; i < 16; i++) { - if (arg1 & (1 << i)) { - break; - } - } - temp_r31 = &Hu3DCamera[i]; - MTXLookAt(sp1C, &temp_r31->pos, &temp_r31->up, &temp_r31->target); - MTXMultVec(sp1C, arg0, &sp10); - temp_f30 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)) * temp_r31->aspect; - temp_f29 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)); - temp_f28 = 0.9f * temp_r31->viewport_x; - temp_f31 = 0.9f * temp_r31->viewport_w; - arg2->x = temp_f31 / 2 + sp10.x * ((temp_f31 / 2) / -temp_f30) + temp_f28; - arg2->y = temp_r31->viewport_h / 2 + sp10.y * ((temp_r31->viewport_h / 2) / temp_f29) + temp_r31->viewport_y; - arg2->z = 0.0f; -} - -void fn_1_1D18(s16 arg0, char *arg1, Vec *arg2) -{ - Mtx sp10; - - Hu3DModelObjMtxGet(arg0, arg1, sp10); - arg2->x = sp10[0][3]; - arg2->y = sp10[1][3]; - arg2->z = sp10[2][3]; -} - -void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3) -{ - Mtx spC; - ModelData *var_r30; - - var_r30 = &Hu3DData[arg0]; - Hu3DModelObjMtxGet(arg0, arg1, spC); - MTXConcat(var_r30->unk_F0, spC, spC); - if (NULL != arg3) { - MTXCopy(spC, arg3); - } - arg2->x = spC[0][3]; - arg2->y = spC[1][3]; - arg2->z = spC[2][3]; -} - -float fn_1_1E20(float arg0, float arg1, float arg2) -{ - float var_f31; - float var_f30; - - var_f31 = fmod(arg1 - arg0, 360.0); - if (0.0f > var_f31) { - var_f31 += 360.0f; - } - if (180.0f < var_f31) { - var_f31 -= 360.0f; - } - var_f30 = fmod(arg0 + var_f31 * arg2, 360.0); - if (0.0f > var_f30) { - var_f30 += 360.0f; - } - return var_f30; -} - -void fn_1_1F24(s32 arg0) -{ - lbl_1_bss_1F4 = HuAudSeqPlay((s32)arg0); -} - -void fn_1_1F58(s32 arg0) -{ - if (lbl_1_bss_1F4 >= 0) { - if (arg0 < 0) { - arg0 = 1000; - } - HuAudSeqFadeOut(lbl_1_bss_1F4, arg0); - } - lbl_1_bss_1F4 = -1; -} - -void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) -{ - Vec sp18; - float var_f28; - s32 var_r30; - - sp18.x = 0.0f; - sp18.y = 0.0f; - sp18.z = 0.0f; - sp18.x = arg2 / 4.0f; - sp18.z = -(float)arg3 / 4.0f; - var_r30 = 0; - var_f28 = VECMagXZ(&sp18); - if (0.5f <= var_f28) { - if (10.0f <= var_f28) { - sp18.x /= var_f28; - sp18.z /= var_f28; - var_f28 = 10.0f; - sp18.x = 10.0f * sp18.x; - sp18.z = 10.0f * sp18.z; - } - *arg1 = fn_1_1E20(*arg1, atan2d(sp18.x, sp18.z), 0.4f); - if (8.0f <= var_f28) { - var_r30 = 2; - } - else { - var_r30 = 1; - } - } - VECAdd((Vec *)&arg0, &sp18, (Vec *)&arg0); -} - -typedef void (*PlayerOldHook)(omObjData *obj); -typedef Vec *(*PlayerOldPosHook)(omObjData *obj); - -typedef struct work_playerold { - omObjData *unk0; - PlayerOldHook unk4; - PlayerOldPosHook unk8; - PlayerOldHook unkC; - PlayerOldHook unk10; - s32 *unk14; - s32 unk18; - s32 unk1C; - s32 unk20; - s32 unk24; - s32 unk28; - s32 unk2C; - s32 unk30; - s32 unk34; - s32 unk38; - s32 unk3C; - s32 unk40; - s32 unk44; - s32 unk48; - s32 unk4C; - Vec *unk50; - Vec unk54; - float unk60; - s32 unk64; - Vec *unk68; - Vec unk6C; - Vec unk78; - Vec unk84; - Vec unk90; - float unk9C; - float unkA0; - float unkA4; - float unkA8; - Vec unkAC; - float unkB8; - float unkBC; - float unkC0; -} WorkPlayerOld; - -typedef WorkPlayerOld *(*PlayerOldFind)(int no); - -PlayerOldFind lbl_1_bss_A8; -float lbl_1_bss_A4; -omObjData *lbl_1_bss_A0; -omObjData *lbl_1_bss_9C; -omObjData *lbl_1_bss_4C[20]; -int lbl_1_bss_48; -int lbl_1_bss_3C[3]; -int lbl_1_bss_2C[4]; -s32 lbl_1_bss_28; -s32 lbl_1_bss_24; -s32 lbl_1_bss_20; -float lbl_1_bss_1C; -BOOL lbl_1_bss_18; -BOOL lbl_1_bss_14; -s32 lbl_1_bss_10; -s32 lbl_1_bss_C; -float lbl_1_bss_8; -float lbl_1_bss_4; -float lbl_1_bss_0; - -s16 lbl_1_data_0[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; - -s32 lbl_1_data_10[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; - -float lbl_1_data_30[10] = { 70, 70, 70, 70, 70, 70, 70, 70, 70, 100 }; - -float lbl_1_data_58[10] = { 150, 170, 190, 170, 160, 150, 180, 200, 150, 200 }; - -void fn_1_23B4(WorkPlayerOld *player) -{ - s32 i; - for (i = 0; i < 8; i++) { - if (player->unk44 == player->unk14[i]) { - player->unk40 = lbl_1_data_10[i]; - return; - } - } - player->unk40 = -1; -} - -void fn_1_2418(float *minDist, s32 *state, s32 stateNew, Vec *posA, float aYOfs, Vec *posB, float bYOfs) -{ - Vec pointA = *posA; - Vec pointB = *posB; - float dist; - pointA.y += aYOfs; - pointB.y += bYOfs; - dist = VECDistance(&pointA, &pointB); - if (*minDist > dist) { - *minDist = dist; - *state = stateNew; - } -} - -void fn_1_24F8(WorkPlayerOld *player1, WorkPlayerOld *player2, float *minDist, s32 *state) -{ - *minDist = 10 * (player1->unkBC + player2->unkBC); - fn_1_2418(minDist, state, 0, &player1->unk6C, player1->unkBC, &player2->unk6C, player2->unkBC); - fn_1_2418(minDist, state, 1, &player1->unk6C, player1->unkC0 - player1->unkBC, &player2->unk6C, player2->unkC0 - player2->unkBC); - fn_1_2418(minDist, state, 2, &player1->unk6C, player1->unkBC, &player2->unk6C, player2->unkC0 - player2->unkBC); - fn_1_2418(minDist, state, 3, &player1->unk6C, player1->unkC0 - player1->unkBC, &player2->unk6C, player2->unkBC); -} - -s32 fn_1_2824(WorkPlayerOld *player, WorkPlayerOld *player2) -{ - Vec dir; - Vec dir2; - float dist; - - player->unk3C |= 0x1; - player->unk90.x = player->unk20 / 4.0f; - player->unk90.z = -(float)player->unk24 / 4.0f; - if (player->unk90.x != 0.0f || player->unk90.z != 0.0f) { - return; - } - VECSubtract(&player->unk6C, &player2->unk6C, &dir); - dist = VECMagXZ(&dir); - if (0.0f == dist) { - dir.x = 0; - dir.z = -1; - } - else { - dir.x /= dist; - dir.z /= dist; - } - VECSubtract(&player->unk6C, &player->unk78, &dir2); - dist = VECMagXZ(&dir2); - if (5 > dist) { - dist = 5; - } - player->unk90.x = dir.x * dist; - player->unk90.z = dir.z * dist; -} - -void fn_1_2BD0(WorkPlayerOld *player, float arg1, float arg2) -{ - player->unk38 = 1; - player->unk84.y = arg1; - player->unkA4 = arg2; - if (player->unk3C & 0x2) { - player->unk3C &= ~0x2; - } -} - -void fn_1_2C00(PlayerOldFind find, float yDist) -{ - lbl_1_bss_A8 = find; - lbl_1_bss_A4 = yDist; -} - -void fn_1_2C1C(WorkPlayerOld *player, omObjData *obj, s32 arg2, s32 arg3, s32 *arg4, s32 arg5, Vec *pos, float arg7) -{ - player->unk0 = obj; - player->unk18 = arg2; - player->unk1C = arg3; - player->unk14 = arg4; - player->unk4 = NULL; - player->unk8 = NULL; - player->unkC = NULL; - player->unk10 = NULL; - player->unk50 = NULL; - player->unk64 = 0; - player->unk68 = 0; - player->unk38 = 0; - player->unk3C = 0; - player->unk44 = arg5; - player->unk48 = 0; - player->unk4C = 0; - fn_1_23B4(player); - player->unk9C = arg7; - player->unk6C = *pos; - player->unk78 = *pos; - player->unk84.x = 0; - player->unk84.y = 0; - player->unk84.z = 0; - player->unkB8 = 1; - player->unkA8 = 0; - player->unkBC = lbl_1_data_30[player->unk1C]; - player->unkC0 = lbl_1_data_58[player->unk1C]; -} - -void fn_1_2DA8(WorkPlayerOld *player, PlayerOldHook func) -{ - player->unk4 = func; -} - -void fn_1_2DB0(WorkPlayerOld *player, PlayerOldPosHook func) -{ - player->unk8 = func; -} - -void fn_1_2DB8(WorkPlayerOld *player, PlayerOldHook func) -{ - player->unkC = func; -} - -void fn_1_2DC0(WorkPlayerOld *player, PlayerOldHook func) -{ - player->unk10 = func; -} - -void fn_1_2DC8(WorkPlayerOld *player, s32 count, Vec *data) -{ - player->unk64 = count; - player->unk68 = data; -} - -void fn_1_2DD4(WorkPlayerOld *player) -{ - omSetTra(player->unk0, player->unk6C.x, player->unk6C.y, player->unk6C.z); - omSetRot(player->unk0, 0.0f, player->unk9C, 0.0f); -} - -void fn_1_2E34(WorkPlayerOld *player) -{ - BOOL addTime; - s32 i; - player->unk3C &= ~0x100; - if (player->unk3C & 0x8) { - return; - } - if (NULL == lbl_1_bss_A8) { - return; - } - addTime = FALSE; - for (i = 0; i < 4; i++) { - WorkPlayerOld *player2 = lbl_1_bss_A8(i); - BOOL fixPos; - float minDist; - s32 state; - if (player == player2) { - continue; - } - if (player2->unk3C & 0x8) { - continue; - } - fixPos = FALSE; - fn_1_24F8(player, player2, &minDist, &state); - if (minDist < player->unkBC + player2->unkBC) { - if (state < 2) { - fixPos = TRUE; - if (player->unk38 == 1) { - fn_1_2824(player, player2); - } - } - else { - if (state == 2 && player->unk38 == 1) { - fn_1_2824(player, player2); - player->unk3C |= 0x100; - player->unkA4 = 0; - if (!(player2->unk3C & 0x100)) { - player->unk84.y = 26.766666f; - } - } - if (state == 3) { - fixPos = TRUE; - if (player->unk38 == 1) { - if (0.0f < player->unk84.y) { - player->unk84.y = 0.0f; - } - player->unkA4 = 0; - } - } - } - } - if (fixPos) { - Vec dir; - addTime = TRUE; - VECSubtract(&player->unk6C, &player2->unk6C, &dir); - if (0.0f == minDist) { - dir.x = 0; - dir.z = -1; - } - else { - dir.x /= minDist; - dir.z /= minDist; - } - player->unk6C.x = player2->unk6C.x + (dir.x * (player->unkBC + player2->unkBC)); - player->unk6C.z = player2->unk6C.z + (dir.z * (player->unkBC + player2->unkBC)); - } - } - if (addTime) { - player->unk4C++; - } - else { - player->unk4C = 0; - } -} - -float fn_1_39C4(WorkPlayerOld *player, float arg2) -{ - Vec *pos; - s32 i; - AddX = 0; - AddZ = 0; - if (NULL != player->unk68) { - for (pos = player->unk68, i = 0; i < player->unk64; i++, pos += 2) { - int num = 0; - if (pos[0].x == pos[1].x || pos[0].x > player->unk6C.x || pos[1].x < player->unk6C.x) { - num++; - } - if (pos[0].y == pos[1].y || pos[0].y > player->unk6C.y || pos[1].y < player->unk6C.y) { - num++; - } - if (pos[0].z == pos[1].z || pos[0].z > player->unk6C.z || pos[1].z < player->unk6C.z) { - num++; - } - if (num == 3) { - if (pos[0].x != pos[1].x) { - if (pos[0].x > player->unk6C.x) { - player->unk6C.x = pos[0].x + player->unkBC; - } - if (pos[1].x < player->unk6C.x) { - player->unk6C.x = pos[1].x - player->unkBC; - } - } - if (pos[0].y != pos[1].y) { - if (pos[0].y > player->unk6C.y) { - player->unk6C.y = pos[0].y; - } - if (pos[1].y < player->unk6C.y) { - player->unk6C.y = pos[1].y; - } - } - if (pos[0].z != pos[1].z) { - if (pos[0].z > player->unk6C.z) { - player->unk6C.z = pos[0].z + player->unkBC; - } - if (pos[1].z < player->unk6C.z) { - player->unk6C.z = pos[1].z - player->unkBC; - } - } - } - } - } - return ABS(AddX) + ABS(AddZ); -} - -void fn_1_3C74(WorkPlayerOld *player, s32 *state, u32 *motAttr) -{ - *motAttr = HU3D_MOTATTR_LOOP; - *state = 0; - if (0.5f <= player->unkA0) { - if (7.0f <= player->unkA0) { - *state = 2; - } - else { - *state = 1; - } - } - - if (player->unk14[3] >= 0 && (player->unk28 & 0x100)) { - fn_1_2BD0(player, 26.766666f, 1.0f); - *motAttr = HU3D_MOTATTR_NONE; - *state = 3; - } -} - -void fn_1_3D4C(WorkPlayerOld *player, s32 *state, u32 *motAttr) -{ - if (0.0f < player->unkA4) { - if (player->unk2C & 0x100) { - player->unkA4++; - if (4.0f < player->unkA4) { - player->unkA4 = 0; - } - else { - player->unk84.y += 3.65f; - } - } - else { - player->unkA4 = 0; - } - } - player->unk84.y += -2.4333334f; - if (player->unk14[5] >= 0 && (player->unk28 & 0x140)) { - player->unk38 = 3; - player->unk84.y = 0.0f; - player->unk3C &= ~0x3; - player->unk3C |= 0x4; - *motAttr = HU3D_MOTATTR_NONE; - *state = 5; - } -} - -void fn_1_3E60(WorkPlayerOld *player, s32 *state, u32 *motAttr) -{ - if ((player->unk3C & 0x1000) || Hu3DMotionEndCheck(player->unk0->model[0])) { - player->unk3C &= ~0x3; - if (player->unk40 == 6) { - player->unk38 = 4; - *motAttr = HU3D_MOTATTR_NONE; - *state = 7; - } - else { - player->unk38 = 0; - *motAttr = HU3D_MOTATTR_LOOP; - *state = 0; - } - } -} - -void fn_1_3F18(WorkPlayerOld *player, s32 *state, u32 *motAttr) -{ - if (Hu3DMotionShiftIDGet(player->unk0->model[0]) < 0 && Hu3DMotionEndCheck(player->unk0->model[0])) { - fn_1_2BD0(player, 0.0f, 0.0f); - } -} - -void fn_1_3FB8(WorkPlayerOld *player, s32 *state, u32 *motAttr) -{ - if (Hu3DMotionShiftIDGet(player->unk0->model[0]) < 0 && Hu3DMotionEndCheck(player->unk0->model[0])) { - player->unk3C &= ~0x4; - player->unk38 = 0; - *motAttr = HU3D_MOTATTR_LOOP; - *state = 0; - } -} - -void fn_1_4054(WorkPlayerOld *player) -{ - u32 motAttr = HU3D_MOTATTR_NONE; - s32 state = -1; - float temp_f28; - float temp_f23; - float temp_f22; - Vec *pos; - BOOL temp_r27; - if (player->unk3C & 0x1) { - player->unk84.x = player->unk90.x; - player->unk84.z = player->unk90.z; - } - else { - player->unk84.x = player->unk20 / 4.0f; - player->unk84.z = -(float)player->unk24 / 4.0f; - if (player->unk38 == 1 && 0.0f == player->unk84.x && 0.0f == player->unk84.z) { - player->unk84.x = 0.98f * (player->unk6C.x - player->unk78.x); - player->unk84.z = 0.98f * (player->unk6C.z - player->unk78.z); - } - if (player->unk3C & 0x14) { - player->unk84.x = 0; - player->unk84.z = 0; - player->unk28 = 0; - } - } - player->unk78 = player->unk6C; - player->unkA0 = VECMagXZ(&player->unk84); - if (0.5f <= player->unkA0) { - if (10.0f <= player->unkA0) { - player->unk84.x /= player->unkA0; - player->unk84.z /= player->unkA0; - player->unkA0 = 10; - player->unk84.x = 10 * player->unk84.x; - player->unk84.z = 10 * player->unk84.z; - } - } - else { - player->unk84.x = 0; - player->unk84.z = 0; - player->unkA0 = 0; - } - player->unk84.x *= player->unkB8; - player->unk84.z *= player->unkB8; - player->unkA0 *= player->unkB8; - if (player->unk3C & 0x800) { - player->unk28 |= 0x100; - player->unk2C |= 0x100; - if (player->unk38 == 1) { - if (0.0f == player->unkA4) { - player->unk3C &= ~0x800; - } - } - } - switch (player->unk38) { - case 0: - fn_1_3C74(player, &state, &motAttr); - break; - - case 1: - fn_1_3D4C(player, &state, &motAttr); - break; - - case 2: - fn_1_3E60(player, &state, &motAttr); - break; - - case 3: - fn_1_3F18(player, &state, &motAttr); - break; - - case 4: - fn_1_3FB8(player, &state, &motAttr); - break; - - default: - OSReport("*** player action error(%d)!!\n", player->unk38); - break; - } - if (player->unk3C & 0x2000) { - player->unk84.y = 0; - } - temp_f28 = 0; - if (50.0f < ABS(player->unk84.y)) { - player->unk84.y = 50.0f * ((0.0f > player->unk84.y) ? -1 : 1); - } - if (player->unk3C & 0x2) { - Mtx rotMtx; - MTXRotDeg(rotMtx, 'y', player->unk50[2].x - player->unk60); - MTXMultVec(rotMtx, &player->unk54, &player->unk54); - VECAdd(&player->unk54, &player->unk50[0], &player->unk6C); - player->unk9C += player->unk50[2].x - player->unk60; - } - temp_f22 = player->unk6C.y; - VECAdd(&player->unk6C, &player->unk84, &player->unk6C); - if ((player->unk3C & 0x1) == 0 && (0.0f != player->unk84.x || 0.0f != player->unk84.z)) { - player->unk9C = fn_1_1E20(player->unk9C, atan2d(player->unk84.x, player->unk84.z), 0.4f * player->unkB8); - } - temp_f28 += fn_1_39C4(player, temp_f22); - if (nMap == 0) { - player->unkA8 = lbl_1_bss_A4; - } - else { - player->unkA8 = MapPos(player->unk6C.x, player->unk6C.y, player->unk6C.z, player->unkC0, &player->unkAC); - } - temp_r27 = FALSE; - if (NULL != player->unk8) { - pos = player->unk8(player->unk0); - if (NULL != pos) { - if (player->unkA8 < pos[1].y) { - temp_r27 = TRUE; - player->unk50 = pos; - player->unkA8 = pos[1].y; - } - } - } - if (!temp_r27 && (player->unk3C & 0x2)) { - player->unk3C &= ~0x2; - } - if (player->unk38 == 1 && player->unkA8 >= player->unk6C.y) { - player->unk38 = 2; - player->unk3C &= ~0x3; - player->unk6C.y = player->unkA8; - player->unk84.y = 0; - motAttr = HU3D_MOTATTR_NONE; - state = 4; - if (player->unk40 == 5) { - state = 6; - if (NULL != player->unk10) { - player->unk10(player->unk0); - } - if (player->unk18 < 4) { - omVibrate(player->unk18, 12, 4, 2); - } - } - if (player->unk3C & 0x200) { - state = -1; - if (NULL != player->unkC) { - player->unkC(player->unk0); - } - } - if (temp_r27) { - player->unk3C |= 0x2; - } - } - temp_f23 = player->unk6C.y - player->unkA8; - if (player->unk38 == 0 && 10.0f < temp_f23) { - if (!(player->unk3C & 0x2000) && (player->unk3C & 0x400)) { - player->unk3C |= 0x800; - } - } - else if (temp_r27) { - if (!(player->unk3C & 0x2)) { - player->unk6C.y = player->unkA8; - player->unk3C |= 0x2; - } - } - fn_1_2E34(player); - if (NULL != player->unk4) { - player->unk4(player->unk0); - } - temp_f28 += fn_1_39C4(player, player->unk6C.y); - if (player->unk3C & 0x2) { - player->unk60 = player->unk50[2].x; - VECSubtract(&player->unk6C, &player->unk50[0], &player->unk54); - } - if (0.0f != temp_f28) { - player->unk48++; - } - else { - player->unk48 = 0; - } - if (state >= 0 && player->unk40 != state) { - player->unk40 = state; - player->unk44 = player->unk14[player->unk40]; - if (player->unk44 >= 0 && !(player->unk3C & 0x20)) { - Hu3DMotionShiftSet(player->unk0->model[0], player->unk0->motion[player->unk44], 0, 8, motAttr); - } - } -} - -void fn_1_4E1C(WorkPlayerOld *player, s32 motNo) -{ - s32 i; - player->unk44 = motNo; - player->unk38 = 0; - player->unk3C &= 0x1400; - player->unk78 = player->unk6C; - player->unk84.x = 0; - player->unk84.y = 0; - player->unk84.z = 0; - fn_1_23B4(player); - if (player->unk40 == 3) { - Hu3DModelAttrReset(player->unk0->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DMotionSet(player->unk0->model[0], player->unk0->motion[player->unk44]); - Hu3DMotionTimeSet(player->unk0->model[0], Hu3DMotionMaxTimeGet(player->unk0->model[0]) - 1); - } - else if (player->unk40 == 5) { - player->unk38 = 3; - player->unk3C |= 0x4; - Hu3DModelAttrReset(player->unk0->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DMotionSet(player->unk0->model[0], player->unk0->motion[player->unk44]); - Hu3DMotionTimeSet(player->unk0->model[0], Hu3DMotionMaxTimeGet(player->unk0->model[0]) - 1); - } - else { - Hu3DModelAttrReset(player->unk0->model[0], HU3D_MOTATTR_PAUSE); - Hu3DMotionShiftSet(player->unk0->model[0], player->unk0->motion[player->unk44], 0, 8, HU3D_MOTATTR_LOOP); - } -} - -void fn_1_506C(WorkPlayerOld *player, s32 attr) -{ - player->unk3C |= attr; -} - -void fn_1_507C(WorkPlayerOld *player, s32 attr) -{ - player->unk3C &= ~attr; -} - -#include "src/REL/executor.c" - -Vec lbl_1_data_A0 = { 0, 600, 600 }; -Vec lbl_1_data_AC = { 0, 1, 0 }; -Vec lbl_1_data_B8 = { 0, 100, 0 }; - -Vec lbl_1_data_C4 = { 0, 2300, 2200 }; -Vec lbl_1_data_D0 = { 0, 1, 0 }; -Vec lbl_1_data_DC = { 0, 0, 0 }; - -Vec lbl_1_data_E8 = { -1500, 4000, 1500 }; -Vec lbl_1_data_F4 = { 1.5, -4, -1.5 }; -GXColor lbl_1_data_100 = { 255, 255, 255, 255 }; - -Vec lbl_1_data_104 = { -1500, 4000, 1500 }; -Vec lbl_1_data_110 = { 0, 0, 0 }; -Vec lbl_1_data_11C = { 0, 1, 0 }; - -s32 lbl_1_data_128[8][5] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x14), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x02), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x03), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x14), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x17), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x00), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x02), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x03), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x14), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x17), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x02), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x03), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x14), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x17), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x02), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x03), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x14), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x17), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x02), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x03), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x14), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x17), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x02), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x03), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x14), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x17), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x02), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x03), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x14), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x17), -}; - -s32 lbl_1_data_1C8[3] = { DATA_MAKE_NUM(DATADIR_M461, 0x02), DATA_MAKE_NUM(DATADIR_M461, 0x03), DATA_MAKE_NUM(DATADIR_M461, 0x08) }; - -s32 lbl_1_data_1D4[4] - = { DATA_MAKE_NUM(DATADIR_M461, 0x04), DATA_MAKE_NUM(DATADIR_M461, 0x05), DATA_MAKE_NUM(DATADIR_M461, 0x06), DATA_MAKE_NUM(DATADIR_M461, 0x07) }; - -float lbl_1_data_1E4[3] = { 0.3f, 0.5f, 0.9f }; - -float lbl_1_data_1F0[10][2] = { 0, 60, 1860, 60, 3660, 50, 5460, 50, 7260, 40, 9060, 40, 10860, 30, 12660, 20, 14460, 10, -1, 10 }; - -Vec lbl_1_data_240[3] = { { 0, 0, 2800 }, { 2800, 0, 0 }, { -2800, 0, 0 } }; - -s32 lbl_1_data_264[3] = { 70, 30, 0 }; - -typedef struct data270_struct { - Vec unk0; - float unkC; -} Data270Struct; - -Data270Struct lbl_1_data_270[8] = { { { 200, 0, 1400 }, 180 }, { { -200, 0, 1400 }, 180 }, { { 200, 0, -1400 }, 0 }, { { -200, 0, -1400 }, 0 }, - { { 1400, 0, 200 }, 270 }, { { 1400, 0, -200 }, 270 }, { { -1400, 0, 200 }, 90 }, { { -1400, 0, -200 }, 90 } }; - -Vec lbl_1_data_2F0[4] = { { 600, 0, 600 }, { 600, 0, -600 }, { -600, 0, 600 }, { -600, 0, -600 } }; - -void fn_1_512C(void) -{ - if (HuPadBtn[0] & PAD_BUTTON_X) { - lbl_1_bss_200 = 35999; - } - print8(24, 32, 1.5f, "COUNT:%d MODE:%d MES:%d %d/%d %02x", lbl_1_bss_204, lbl_1_bss_A0->work[0], lbl_1_bss_1FA, lbl_1_bss_20, lbl_1_bss_24, - lbl_1_bss_28); - print8(24, 48, 1.5f, "%f %f %f", lbl_1_bss_0, lbl_1_bss_8, lbl_1_bss_4); - print8(24, 64, 1.5f, "%x %x", HuMemHeapSizeGet(HEAP_SYSTEM) - HuMemUsedMallocSizeGet(HEAP_SYSTEM), - HuMemHeapSizeGet(HEAP_DATA) - HuMemUsedMallocSizeGet(HEAP_DATA)); - lbl_1_bss_4 -= HuPadSubStkX[0] / 59.0f; - lbl_1_bss_8 -= 4.0f * (HuPadSubStkY[0] / 59.0f); - lbl_1_bss_0 -= (HuPadTrigL[0] / 150.0f) * 4.0f; - lbl_1_bss_0 += (HuPadTrigR[0] / 150.0f) * 4.0f; -} - -typedef struct work_player { - Vec unk0; - Vec unkC; - Vec unk18; - Vec unk24; - Vec unk30; - Vec unk3C; - float unk48; - s32 unk4C; - s32 unk50; - s32 unk54; - s32 unk58; - s32 unk5C; - s32 unk60; -} WorkPlayer; - -typedef struct work_bomhei { - Vec unk0; - Vec unkC; - Vec unk18; - float unk24; - s32 unk28; - s32 unk2C; - s32 unk30; - s32 unk34; -} WorkBomhei; - -void fn_1_5438(Vec *pos) -{ - float dist = VECDistance(pos, &((WorkPlayer *)lbl_1_bss_9C->data)->unk0); - if (2000 < dist) { - return; - } - if (1000 < dist) { - omVibrate(lbl_1_bss_18, 12, 6, 6); - } - else if (300 < dist) { - omVibrate(lbl_1_bss_18, 12, 4, 2); - } - else { - omVibrate(lbl_1_bss_18, 12, 12, 0); - } -} - -BOOL fn_1_5528(Vec *pos, float offset) -{ - BOOL result = FALSE; - float ofs = 700 - offset; - Mtx rotMtx; - - if (ofs < pos->x) { - pos->x = ofs; - } - if (ofs < pos->z) { - pos->z = ofs; - } - if (-ofs > pos->x) { - pos->x = -ofs; - } - if (-ofs > pos->z) { - pos->z = -ofs; - } - if (ofs == ABS(pos->x) || ofs == ABS(pos->z)) { - result = TRUE; - } - MTXRotDeg(rotMtx, 'Y', 45); - MTXMultVec(rotMtx, pos, pos); - ofs = (550 * sqrtf(2)) - offset; - if (ofs < pos->x) { - pos->x = ofs; - } - if (ofs < pos->z) { - pos->z = ofs; - } - if (-ofs > pos->x) { - pos->x = -ofs; - } - if (-ofs > pos->z) { - pos->z = -ofs; - } - if (ofs == ABS(pos->x) || ofs == ABS(pos->z)) { - result = TRUE; - } - MTXRotDeg(rotMtx, 'Y', -45); - MTXMultVec(rotMtx, pos, pos); - return result; -} - -void fn_1_5894(Vec *pos1, Vec *pos2, float radius1, float radius2) -{ - float dx = pos1->x - pos2->x; - float dz = pos1->z - pos2->z; - float dist = sqrtf((dx * dx) + (dz * dz)); - if (radius1 + radius2 > dist) { - if (0.0f == dist) { - dx = 0; - dz = -1; - } - else { - dx /= dist; - dz /= dist; - } - pos1->x = pos2->x + (dx * (radius1 + radius2)); - pos1->z = pos2->z + (dz * (radius1 + radius2)); - } -} - -void fn_1_5A7C(WorkPlayer *player, omObjData *obj) -{ - float distMin; - s32 i; - player->unk58 = 2002; - Hu3DMotionShiftSet(obj->model[0], obj->motion[3], 0, 8, HU3D_MOTATTR_NONE); - distMin = 100000; - for (i = 0; i < 3; i++) { - float dist = VECDistance(&lbl_1_data_240[i], &player->unk0); - if (distMin > dist) { - distMin = dist; - player->unk3C = lbl_1_data_240[i]; - } - } - player->unk24 = player->unk0; - player->unk30 = player->unk0; - player->unk48 = 15; - lbl_1_bss_10 = HuAudFXEmiterPlay(2084, &player->unk0); - lbl_1_bss_C = HuAudCharVoicePlayPos(player->unk5C, 291, &player->unk0); -} - -void fn_1_5BF4(WorkPlayer *player, omObjData *obj) -{ - s32 i; - s32 action; - player->unkC.x = 0; - player->unkC.y = 0; - player->unkC.z = 0; - player->unkC.x = player->unk4C / 4.0f; - player->unkC.z = -(float)player->unk50 / 4.0f; - action = 0; - player->unk18.z = VECMagXZ(&player->unkC); - if (0.5f <= player->unk18.z) { - if (10.0f <= player->unk18.z) { - player->unkC.x /= player->unk18.z; - player->unkC.z /= player->unk18.z; - player->unk18.z = 10; - player->unkC.x = 10 * player->unkC.x; - player->unkC.z = 10 * player->unkC.z; - } - player->unk18.y = fn_1_1E20(player->unk18.y, atan2d(player->unkC.x, player->unkC.z), 0.4f); - if (7.0f <= player->unk18.z) { - action = 2; - } - else { - action = 1; - } - } - VECAdd(&player->unk0, &player->unkC, &player->unk0); - fn_1_5528(&player->unk0, 70); - for (i = 0; i < 20; i++) { - WorkBomhei *bomhei; - if (NULL == lbl_1_bss_4C[i]) { - continue; - } - bomhei = lbl_1_bss_4C[i]->data; - if (bomhei->unk34 == 3004 && 30 > Hu3DMotionTimeGet(lbl_1_bss_4C[i]->model[2])) { - float dx = player->unk0.x - bomhei->unk0.x; - float dz = player->unk0.z - bomhei->unk0.z; - if (200 > sqrtf((dx * dx) + (dz * dz))) { - lbl_1_bss_14 = 1; - } - } - else { - fn_1_5894(&player->unk0, &bomhei->unk0, 70, 70); - } - } - fn_1_5528(&player->unk0, 70); - if (player->unk54 != action) { - player->unk54 = action; - Hu3DMotionShiftSet(obj->model[0], obj->motion[player->unk54], 0, 8, HU3D_MOTATTR_LOOP); - } -} - -void fn_1_6A00(omObjData *obj) -{ - WorkPlayer *player = obj->data; - float dx; - float dz; - float dist; - switch (player->unk58) { - case 2000: - if (lbl_1_bss_A0->work[0] >= 1004) { - player->unk58++; - } - break; - - case 2001: - player->unk4C = HuPadStkX[player->unk60]; - player->unk50 = HuPadStkY[player->unk60]; - fn_1_5BF4(player, obj); - if (lbl_1_bss_A0->work[0] >= 1005) { - if (lbl_1_bss_14) { - fn_1_5A7C(player, obj); - } - else { - player->unk58 = 2003; - Hu3DMotionShiftSet(obj->model[0], obj->motion[0], 0, 8, HU3D_MOTATTR_LOOP); - } - } - break; - - case 2002: - dx = player->unk3C.x - player->unk0.x; - dz = player->unk3C.z - player->unk0.z; - dist = sqrtf((dx * dx) + (dz * dz)); - if (player->unk48 < dist) { - dx = player->unk48 * (dx / dist); - dz = player->unk48 * (dz / dist); - } - player->unk18.x -= player->unk48; - if (0.0f > player->unk18.x) { - player->unk18.x += 360; - } - player->unk18.y = fn_1_1E20(player->unk18.y, atan2d(dx, dz) + 180.0, 0.4f); - player->unk0.x += dx; - player->unk0.z += dz; - dist = VECDistance(&player->unk3C, &player->unk0) / VECDistance(&player->unk3C, &player->unk30); - player->unk0.y = 500 * sind(dist * 180); - player->unk48 *= 1.05f; - if (lbl_1_bss_10 >= 0) { - HuAudFXEmiterUpDate(lbl_1_bss_10, &player->unk0); - } - if (lbl_1_bss_C >= 0) { - HuAudFXEmiterUpDate(lbl_1_bss_C, &player->unk0); - } - fn_1_5438(&player->unk24); - if (lbl_1_bss_A0->work[0] >= 1007) { - player->unk58 = 2005; - HuAudSStreamPlay(4); - } - break; - - case 2003: - if (lbl_1_bss_A0->work[0] >= 1007) { - player->unk58 = 2004; - HuAudSStreamPlay(1); - Hu3DMotionShiftSet(obj->model[0], obj->motion[4], 0, 8, HU3D_MOTATTR_NONE); - } - break; - - case 2004: - player->unk18.y = fn_1_1E20(player->unk18.y, 0, 0.4f); - break; - - case 2005: - break; - - default: - OSReport("*** player mode error(%d)!!\n", player->unk58); - break; - } - omSetTra(obj, player->unk0.x, player->unk0.y, player->unk0.z); - omSetRot(obj, player->unk18.x, player->unk18.y, 0); -} - -void fn_1_7328(omObjData *obj) -{ - WorkPlayer *player; - s32 i; - obj->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkPlayer), MEMORY_DEFAULT_NUM); - player = obj->data; - player->unk5C = GWPlayerCfg[lbl_1_bss_18].character; - player->unk60 = GWPlayerCfg[lbl_1_bss_18].pad_idx; - player->unk58 = 2000; - player->unk54 = 0; - obj->model[0] = CharModelCreate(lbl_1_data_0[player->unk5C], 2); - CharModelStepTypeSet(lbl_1_data_0[player->unk5C], 0); - for (i = 0; i < 5; i++) { - obj->motion[i] = CharModelMotionCreate(lbl_1_data_0[player->unk5C], lbl_1_data_128[player->unk5C][i]); - CharModelMotionSet(lbl_1_data_0[player->unk5C], obj->motion[i]); - } - Hu3DModelAttrSet(obj->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(obj->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelLayerSet(obj->model[0], 2); - Hu3DMotionSet(obj->model[0], obj->motion[0]); - Hu3DModelShadowSet(obj->model[0]); - player->unk18.x = 0; - player->unk18.y = 0; - player->unk0.x = 0; - player->unk0.y = 0; - player->unk0.z = 0; - omSetTra(obj, player->unk0.x, player->unk0.y, player->unk0.z); - omSetRot(obj, player->unk18.x, player->unk18.y, 0); - Hu3DModelAttrReset(obj->model[0], HU3D_ATTR_DISPOFF); - CharModelLayerSetAll2(6); - CharModelMotionDataClose(lbl_1_data_0[player->unk5C]); - obj->func = fn_1_6A00; -} - -void fn_1_75B0(WorkBomhei *bomhei, omObjData *obj) -{ - float *data1F0; - bomhei->unk34 = 3003; - bomhei->unk24 = 10; - for (data1F0 = &lbl_1_data_1F0[0][0]; 0.0f <= data1F0[0]; data1F0 += 2) { - if (data1F0[0] <= lbl_1_bss_200) { - bomhei->unk24 = data1F0[1]; - } - } - Hu3DModelAttrSet(obj->model[1], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(obj->model[1], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(obj->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(obj->model[0], HU3D_ATTR_DISPOFF); - HuAudFXEmiterPlay(2087, &bomhei->unk0); -} - -BOOL fn_1_76CC(WorkBomhei *bomhei) -{ - if (bomhei->unk34 == 3002) { - if (fn_1_5528(&bomhei->unk0, 70)) { - return TRUE; - } - } - else { - float ofs = 700 - 70; - - if (ofs > bomhei->unk0.x && -ofs < bomhei->unk0.x) { - if (ofs > bomhei->unk0.z && -ofs < bomhei->unk0.z) { - if (bomhei->unk28 >= 0) { - lbl_1_bss_28 = lbl_1_bss_28 & ~(u32)(1 << bomhei->unk28); - bomhei->unk28 = -1; - } - } - } - } - return FALSE; -} - -void fn_1_7AD8(WorkBomhei *bomhei, omObjData *obj) -{ - float radius = 10 * lbl_1_data_1E4[bomhei->unk30]; - Vec playerOfs; - Vec angle; - - s32 i; - s32 state; - BOOL temp_r25; - - angle.x = bomhei->unkC.y; - if (bomhei->unk34 == 3002) { - switch (bomhei->unk30) { - case 0: - bomhei->unk18.x--; - if (0.0f > bomhei->unk18.x) { - radius = 0; - if (-bomhei->unk18.y > bomhei->unk18.x) { - bomhei->unk18.y = frandmod(120) + 120; - bomhei->unk18.x = frandmod(120) + 120; - } - } - else { - bomhei->unk18.z--; - if (0.0f > bomhei->unk18.z) { - bomhei->unk18.z = frandmod(120) + 120; - bomhei->unkC.z = frandf() * 360; - } - } - angle.x = bomhei->unkC.z; - break; - - case 1: - case 2: - VECSubtract(&((WorkPlayer *)lbl_1_bss_9C->data)->unk0, &bomhei->unk0, &playerOfs); - angle.x = atan2d(playerOfs.x, playerOfs.z); - break; - } - } - bomhei->unkC.y = fn_1_1E20(bomhei->unkC.y, angle.x, 0.05f); - angle.z = radius * sind(bomhei->unkC.y); - angle.y = radius * cosd(bomhei->unkC.y); - bomhei->unk0.x += angle.z; - bomhei->unk0.z += angle.y; - if (0.0f < radius) { - bomhei->unkC.x = fn_1_1E20(bomhei->unkC.x, atan2d(angle.z, angle.y), 0.2f); - } - state = 0; - if (0.5f <= radius) { - if (7.0f <= radius) { - state = 2; - } - else { - state = 1; - } - } - temp_r25 = FALSE; - if (fn_1_76CC(bomhei)) { - temp_r25 = TRUE; - } - fn_1_5894(&bomhei->unk0, &((WorkPlayer *)lbl_1_bss_9C->data)->unk0, 70, 70); - for (i = 0; i < 20; i++) { - WorkBomhei *bomhei2; - if (NULL == lbl_1_bss_4C[i]) { - continue; - } - if (obj == lbl_1_bss_4C[i]) { - continue; - } - bomhei2 = lbl_1_bss_4C[i]->data; - if (bomhei2->unk34 != 3004) { - fn_1_5894(&bomhei->unk0, &bomhei2->unk0, 70, 70); - } - } - if (fn_1_76CC(bomhei)) { - temp_r25 = TRUE; - } - if (temp_r25 && bomhei->unk30 == 0) { - float radius = frandf() * 350; - float angle2 = frandf() * 360; - bomhei->unkC.z = atan2d((radius * sind(angle2)) - bomhei->unk0.x, (radius * cosd(angle2)) - bomhei->unk0.z); - bomhei->unk18.z = frandmod(120) + 120; - } - if (bomhei->unk2C != state) { - bomhei->unk2C = state; - Hu3DMotionShiftSet(obj->model[0], obj->motion[bomhei->unk2C], 0, 8, HU3D_MOTATTR_LOOP); - } -} - -void fn_1_9724(omObjData *obj); - -void fn_1_8D08(omObjData *obj) -{ - WorkBomhei *bomhei = obj->data; - s32 i; - switch (bomhei->unk34) { - case 3000: - if (lbl_1_bss_A0->work[0] >= 1004) { - bomhei->unk34 = 3002; - } - break; - - case 3001: - fn_1_7AD8(bomhei, obj); - if (bomhei->unk28 < 0) { - bomhei->unk34 = 3002; - } - break; - - case 3002: - fn_1_7AD8(bomhei, obj); - bomhei->unk24--; - if (0.0f > bomhei->unk24) { - fn_1_75B0(bomhei, obj); - } - break; - - case 3003: - bomhei->unk24--; - if (0.0f > bomhei->unk24) { - bomhei->unk34++; - Hu3DModelAttrSet(obj->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(obj->model[2], HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(obj->model[2], HU3D_ATTR_DISPOFF); - HuAudFXEmiterPlay(2082, &bomhei->unk0); - fn_1_5438(&bomhei->unk0); - } - break; - - case 3004: - if (Hu3DMotionEndCheck(obj->model[2])) { - fn_1_9724(obj); - return; - } - break; - - case 3005: - break; - - default: - OSReport("*** bomhei mode error(%d)!!\n", bomhei->unk34); - break; - } - if (bomhei->unk34 != 3004 && lbl_1_bss_A0->work[0] >= 1005) { - bomhei->unk34 = 3005; - Hu3DMotionShiftSet(obj->model[0], obj->motion[0], 0, 8, HU3D_MOTATTR_LOOP); - } - omSetTra(obj, bomhei->unk0.x, bomhei->unk0.y, bomhei->unk0.z); - omSetRot(obj, 0, bomhei->unkC.x, 0); - for (i = 0; i < 3; i++) { - Hu3DModelPosSet(obj->model[i], bomhei->unk0.x, bomhei->unk0.y, bomhei->unk0.z); - Hu3DModelRotSet(obj->model[i], 0, bomhei->unkC.x, 0); - } -} - -void fn_1_9164(omObjData *obj) -{ - WorkBomhei *bomhei = obj->data; - s32 modelId; - s32 i; - omSetTra(obj, bomhei->unk0.x, bomhei->unk0.y, bomhei->unk0.z); - omSetRot(obj, 0, bomhei->unkC.x, 0); - modelId = fn_1_AC(0x1000); - if (modelId < 0) { - obj->model[0] = Hu3DModelLink(lbl_1_bss_3C[0]); - } - else { - obj->model[0] = modelId; - } - modelId = fn_1_AC(0x2000); - if (modelId < 0) { - obj->model[1] = Hu3DModelLink(lbl_1_bss_3C[1]); - } - else { - obj->model[1] = modelId; - } - modelId = fn_1_AC(0x3000); - if (modelId < 0) { - obj->model[2] = Hu3DModelLink(lbl_1_bss_3C[2]); - } - else { - obj->model[2] = modelId; - } - for (i = 0; i < 4; i++) { - obj->motion[i] = lbl_1_bss_2C[i]; - } - for (i = 0; i < 3; i++) { - Hu3DModelAttrSet(obj->model[i], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(obj->model[i], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(obj->model[i], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(obj->model[i], 3); - Hu3DMotionTimeSet(obj->model[i], 0); - Hu3DModelPosSet(obj->model[i], bomhei->unk0.x, bomhei->unk0.y, bomhei->unk0.z); - Hu3DModelRotSet(obj->model[i], 0, bomhei->unkC.x, 0); - } - Hu3DModelLayerSet(obj->model[2], 4); - Hu3DModelShadowSet(obj->model[0]); - Hu3DModelShadowSet(obj->model[1]); - for (i = 0; i < 20; i++) { - if (NULL == lbl_1_bss_4C[i]) { - lbl_1_bss_4C[i] = obj; - break; - } - } - Hu3DMotionSet(obj->model[0], obj->motion[0]); - Hu3DModelAttrSet(obj->model[2], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(obj->model[0], HU3D_ATTR_DISPOFF); - obj->func = fn_1_8D08; -} - -void fn_1_956C(Vec *pos, float rotY, s32 type, s32 mode, s32 time) -{ - WorkBomhei *bomhei; - omObjData *obj; - lbl_1_bss_20++; - obj = omAddObjEx(lbl_1_bss_238, 101, 3, 4, -1, fn_1_9164); - obj->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkBomhei), MEMORY_DEFAULT_NUM); - bomhei = obj->data; - bomhei->unk0 = *pos; - bomhei->unkC.x = rotY; - bomhei->unk30 = type; - bomhei->unk34 = mode; - bomhei->unk28 = time; - bomhei->unkC.y = bomhei->unkC.x; - bomhei->unkC.z = bomhei->unkC.x; - bomhei->unk18.x = frandmod(120) + 120; - bomhei->unk18.y = frandmod(120) + 120; - bomhei->unk18.z = frandmod(120) + 120; - bomhei->unk24 = frandmod(300) + 180; - bomhei->unk2C = 0; -} - -void fn_1_9724(omObjData *obj) -{ - s32 i; - lbl_1_bss_20--; - for (i = 0; i < 20; i++) { - if (obj == lbl_1_bss_4C[i]) { - lbl_1_bss_4C[i] = NULL; - break; - } - } - for (i = 0; i < 3; i++) { - Hu3DModelAttrSet(obj->model[i], HU3D_ATTR_DISPOFF); - fn_1_24((i * 4096) + 4096, obj->model[i]); - } - omDelObjEx(lbl_1_bss_238, obj); -} - -typedef struct work_bomhei2 { - omObjData *unk0; - omObjData *unk4; - Vec unk8; - Vec unk14; - Vec unk20; - float unk2C; - float unk30; - float unk34; - BOOL unk38; - s32 unk3C; - s32 unk40; - s32 unk44; - float unk48; -} WorkBomhei2; - -void fn_1_9854(void) -{ - if (lbl_1_bss_200 % 900 == 0) { - if (++lbl_1_bss_24 >= 20) { - lbl_1_bss_24 = 20; - } - } - if (lbl_1_bss_200 % 1800 == 0) { - if (lbl_1_data_264[2] < 40) { - lbl_1_data_264[2] += 10; - if (lbl_1_data_264[2] > 100) { - lbl_1_data_264[2] = 100; - } - lbl_1_data_264[1] -= 5; - if (lbl_1_data_264[1] < 0) { - lbl_1_data_264[1] = 0; - lbl_1_data_264[0] -= 5; - } - lbl_1_data_264[0] -= 5; - if (lbl_1_data_264[0] < 0) { - lbl_1_data_264[0] = 0; - } - } - } - if (lbl_1_bss_24 > lbl_1_bss_20) { - Data270Struct *data270 = NULL; - s32 bitNum = frandmod(8); - s32 i; - for (i = 0; i < 8; i++) { - if (((1 << bitNum) & lbl_1_bss_28) == 0) { - data270 = &lbl_1_data_270[bitNum]; - lbl_1_bss_28 |= (1 << bitNum); - (void)i; - break; - } - bitNum++; - if (bitNum >= 8) { - bitNum -= 8; - } - } - if (NULL != data270) { - s32 type = 2; - s32 chance = frandmod(100); - Vec pos; - for (i = 0; i < 3; i++) { - if (lbl_1_data_264[i] > chance) { - type = i; - break; - } - chance -= lbl_1_data_264[i]; - } - pos.x = data270->unk0.x; - pos.y = data270->unk0.y; - pos.z = data270->unk0.z; - fn_1_956C(&pos, data270->unkC, type, 3001, bitNum); - } - } -} - -WorkBomhei2 *fn_1_9CAC(omObjFunc func, s32 prio) -{ - omObjData *obj = omAddObjEx(lbl_1_bss_238, prio, 1, 4, -1, func); - WorkBomhei2 *bomhei; - s32 i; - s32 modelId; - obj->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkBomhei2), MEMORY_DEFAULT_NUM); - bomhei = obj->data; - bomhei->unk38 = 1; - bomhei->unk3C = 0; - bomhei->unk0 = obj; - bomhei->unk4 = NULL; - bomhei->unk2C = 0; - bomhei->unk8.x = 0; - bomhei->unk8.y = 10; - bomhei->unk8.z = 0; - modelId = fn_1_AC(0x1000); - if (modelId < 0) { - obj->model[0] = Hu3DModelLink(lbl_1_bss_3C[0]); - } - else { - obj->model[0] = modelId; - } - for (i = 0; i < 4; i++) { - obj->motion[i] = lbl_1_bss_2C[i]; - } - omSetTra(obj, bomhei->unk8.x, bomhei->unk8.y, bomhei->unk8.z); - omSetRot(obj, 0, bomhei->unk2C, 0); - Hu3DModelAttrSet(obj->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(obj->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(obj->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(obj->model[0], 3); - Hu3DMotionSet(obj->model[0], obj->motion[0]); - Hu3DModelShadowSet(obj->model[0]); - return bomhei; -} - -void fn_1_9EF4(omObjData *obj) -{ - float dist; - WorkBomhei2 *bomhei = obj->data; - WorkBomhei2 *parent = bomhei->unk4->data; - float vel = 3; - float dx; - float dz; - - s32 state; - switch (bomhei->unk44) { - case 0: - if (bomhei->unk3C != 1) { - bomhei->unk3C = 1; - Hu3DMotionShiftSet(obj->model[0], obj->motion[bomhei->unk3C], 0, 8, HU3D_MOTATTR_LOOP); - } - dx = bomhei->unk14.x - bomhei->unk8.x; - dz = bomhei->unk14.z - bomhei->unk8.z; - dist = sqrtf((dx * dx) + (dz * dz)); - if (vel < dist) { - dx = vel * (dx / dist); - dz = vel * (dz / dist); - } - bomhei->unk8.x += dx; - bomhei->unk8.z += dz; - bomhei->unk2C = fn_1_1E20(bomhei->unk2C, atan2d(dx, dz), 0.4f); - bomhei->unk30 = bomhei->unk2C; - if (vel > dist) { - switch (bomhei->unk40) { - case 1: - case 2: - bomhei->unk44 = 1; - bomhei->unk34 = 0; - bomhei->unk3C = 0; - Hu3DMotionShiftSet(obj->model[0], obj->motion[bomhei->unk3C], 0, 8, HU3D_MOTATTR_LOOP); - break; - - default: - bomhei->unk44 = 3; - break; - } - } - break; - - case 1: - bomhei->unk2C = fn_1_1E20(bomhei->unk2C, atan2d(parent->unk8.x - bomhei->unk8.x, parent->unk8.z - bomhei->unk8.z), 0.05f); - bomhei->unk30 = bomhei->unk2C; - parent->unk2C = fn_1_1E20(parent->unk2C, atan2d(bomhei->unk8.x - parent->unk8.x, bomhei->unk8.z - parent->unk8.z), 0.05f); - parent->unk30 = parent->unk2C; - bomhei->unk34++; - if (180.0f < bomhei->unk34) { - bomhei->unk44 = 3; - if (bomhei->unk40 == 2) { - bomhei->unk44 = 2; - } - } - break; - - case 2: { - Vec temp = parent->unk8; - float tempAngle = parent->unk2C; - parent->unk20 = parent->unk8; - parent->unk8 = bomhei->unk8; - parent->unk2C = bomhei->unk2C; - bomhei->unk8 = temp; - bomhei->unk2C = tempAngle; - bomhei->unk30 = tempAngle; - bomhei->unk34 = 0; - bomhei->unk44 = 3; - } break; - - case 3: - bomhei->unk30 = fn_1_1E20(bomhei->unk30, atan2d(bomhei->unk20.x - bomhei->unk14.x, bomhei->unk20.z - bomhei->unk14.z), 0.2f); - bomhei->unk2C = bomhei->unk30; - bomhei->unk8.x += vel * sind(bomhei->unk30); - bomhei->unk8.z += vel * cosd(bomhei->unk30); - if (bomhei->unk3C != 1) { - bomhei->unk3C = 1; - Hu3DMotionShiftSet(obj->model[0], obj->motion[bomhei->unk3C], 0, 8, HU3D_MOTATTR_LOOP); - } - parent->unk2C = fn_1_1E20(parent->unk2C, atan2d(-parent->unk8.x, -parent->unk8.z), 0.05f); - bomhei->unk34++; - if (bomhei->unk40 == 2 && 60.0f < bomhei->unk34) { - dx = parent->unk20.x - parent->unk8.x; - dz = parent->unk20.z - parent->unk8.z; - dist = sqrtf((dx * dx) + (dz * dz)); - if (vel < dist) { - dx = vel * (dx / dist); - dz = vel * (dz / dist); - } - parent->unk8.x += dx; - parent->unk8.z += dz; - state = 0; - if (0.0f < dist) { - state = 1; - } - if (state != parent->unk3C) { - parent->unk3C = state; - Hu3DMotionShiftSet(parent->unk0->model[0], parent->unk0->motion[parent->unk3C], 0, 8, HU3D_MOTATTR_LOOP); - } - } - if (1750 < VECMagXZ(&bomhei->unk8)) { - parent->unk4 = NULL; - Hu3DModelAttrSet(obj->model[0], HU3D_ATTR_DISPOFF); - fn_1_24(0x1000, obj->model[0]); - omDelObjEx(lbl_1_bss_238, obj); - return; - } - break; - } - omSetTra(obj, bomhei->unk8.x, bomhei->unk8.y, bomhei->unk8.z); - omSetRot(obj, 0, bomhei->unk2C, 0); - if (bomhei->unk38) { - bomhei->unk38 = 0; - Hu3DMotionTimeSet(obj->model[0], Hu3DMotionMaxTimeGet(obj->model[0]) * frandf()); - Hu3DModelAttrReset(obj->model[0], HU3D_ATTR_DISPOFF); - } -} - -s32 fn_1_ADDC(WorkBomhei2 *parent, WorkBomhei2 *bomhei) -{ - parent->unk4 = bomhei->unk0; - bomhei->unk4 = parent->unk0; - bomhei->unk40 = frandmod(3); - bomhei->unk44 = 0; - bomhei->unk14.x = 750.0f * ((0 > parent->unk8.x) ? -1 : 1); - bomhei->unk14.z = 750.0f * ((0 > parent->unk8.z) ? -1 : 1); - if (lbl_1_bss_204 & 0x1) { - bomhei->unk8.x = 1400.0f * ((0 > parent->unk8.x) ? -1 : 1); - bomhei->unk8.z = 750.0f * ((0 > parent->unk8.z) ? -1 : 1); - bomhei->unk20.x = 750.0f * ((0 > parent->unk8.x) ? -1 : 1); - bomhei->unk20.z = 1400.0f * ((0 > parent->unk8.z) ? -1 : 1); - } - else { - bomhei->unk8.x = 750.0f * ((0 > parent->unk8.x) ? -1 : 1); - bomhei->unk8.z = 1400.0f * ((0 > parent->unk8.z) ? -1 : 1); - bomhei->unk20.x = 1400.0f * ((0 > parent->unk8.x) ? -1 : 1); - bomhei->unk20.z = 750.0f * ((0 > parent->unk8.z) ? -1 : 1); - } - bomhei->unk2C = atan2d(bomhei->unk14.x - bomhei->unk8.x, bomhei->unk14.z - bomhei->unk8.z); - bomhei->unk30 = bomhei->unk2C; -} - -void fn_1_B234(omObjData *obj) -{ - WorkBomhei2 *bomhei = obj->data; - if (NULL == bomhei->unk4) { - bomhei->unk2C = atan2d(-bomhei->unk8.x, -bomhei->unk8.z); - bomhei->unk48--; - if (0.0f > bomhei->unk48) { - WorkBomhei2 *bomheiNew; - bomhei->unk48 = frandmod(1200) + 300; - bomheiNew = fn_1_9CAC(fn_1_9EF4, 102); - fn_1_ADDC(bomhei, bomheiNew); - } - } - omSetTra(obj, bomhei->unk8.x, bomhei->unk8.y, bomhei->unk8.z); - omSetRot(obj, 0, bomhei->unk2C, 0); - if (bomhei->unk38) { - bomhei->unk38 = 0; - Hu3DMotionTimeSet(obj->model[0], Hu3DMotionMaxTimeGet(obj->model[0]) * frandf()); - Hu3DModelAttrReset(obj->model[0], HU3D_ATTR_DISPOFF); - } -} - -void fn_1_D70C(omObjData *obj); - -void fn_1_BA2C(omObjData *obj) -{ - if (omSysExitReq) { - fn_1_1F58(-1); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - obj->func = fn_1_D70C; - } - lbl_1_bss_204++; - switch (obj->work[0]) { - case 1000: - if (!WipeStatGet()) { - Vec dir; - obj->work[0]++; - lbl_1_bss_1C = 0; - lbl_1_bss_220 = lbl_1_data_C4; - lbl_1_bss_208 = lbl_1_data_DC; - VECSubtract(&lbl_1_bss_208, &lbl_1_bss_220, &dir); - VECNormalize(&dir, &dir); - HuAudFXListnerSetEX(&lbl_1_bss_220, &dir, 14000.0, 36000.0, 1000.0, 300.0, 300.0); - } - - break; - - case 1001: - lbl_1_bss_1C++; - if (30.0f < lbl_1_bss_1C) { - obj->work[0]++; - lbl_1_bss_1C = 0; - } - break; - - case 1002: - lbl_1_bss_1C++; - fn_1_13DC(lbl_1_bss_1C / 120, &lbl_1_data_D0); - if (120.0f <= lbl_1_bss_1C) { - obj->work[0]++; - lbl_1_bss_1C = 0; - fn_1_1350(&lbl_1_data_C4, &lbl_1_data_D0, &lbl_1_data_DC); - } - break; - - case 1003: - if (lbl_1_bss_1FA < 0) { - lbl_1_bss_1FA = MGSeqStartCreate(); - } - else { - if (lbl_1_bss_1F4 < 0 && (MGSeqStatGet(lbl_1_bss_1FA) & 0x10)) { - fn_1_1F24(70); - } - if (MGSeqStatGet(lbl_1_bss_1FA) == 0) { - obj->work[0]++; - lbl_1_bss_1FA = -1; - } - } - break; - - case 1004: - lbl_1_bss_200++; - fn_1_580(lbl_1_bss_1AC, 0, lbl_1_bss_200); - if (lbl_1_bss_14 || 35999 <= lbl_1_bss_200) { - obj->work[0] = 1005; - lbl_1_bss_1C = 0; - } - fn_1_9854(); - break; - - case 1005: - if (lbl_1_bss_1FA < 0) { - lbl_1_bss_1FA = MGSeqFinishCreate(); - fn_1_1F58(100); - mgRecordExtra = lbl_1_bss_200; - } - else { - lbl_1_bss_1C++; - if (60.0f < lbl_1_bss_1C && !MGSeqStatGet(lbl_1_bss_1FA)) { - obj->work[0] = 1007; - if (lbl_1_bss_1FC < lbl_1_bss_200) { - obj->work[0] = 1006; - fn_1_798(13); - } - lbl_1_bss_1FA = -1; - lbl_1_bss_1C = 0; - } - } - break; - - case 1006: - if (lbl_1_bss_1FA < 0) { - lbl_1_bss_1FA = MGSeqRecordCreate(lbl_1_bss_1FC); - } - else { - if (!MGSeqStatGet(lbl_1_bss_1FA)) { - obj->work[0]++; - lbl_1_bss_1C = 0; - lbl_1_bss_1FA = -1; - } - } - break; - - case 1007: - lbl_1_bss_1C++; - if (210.0f < lbl_1_bss_1C) { - fn_1_1F58(-1); - lbl_1_bss_1FA = -1; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - obj->func = fn_1_D70C; - } - break; - - default: - OSReport("*** main mode error(%d)!!\n", obj->work[0]); - break; - } - fn_1_A40(); -} - -void fn_1_C970(omObjData *obj) -{ - s32 i; - obj->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M461, 0x00)); - Hu3DModelAttrSet(obj->model[0], HU3D_ATTR_NOCULL | HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(obj->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(obj->model[0], 0); - Hu3DModelShadowMapSet(obj->model[0]); - omSetTra(obj, 0, 0, 0); - omSetRot(obj, 0, 0, 0); - obj->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M461, 0x01)); - Hu3DModelAttrSet(obj->model[1], HU3D_ATTR_NOCULL | HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(obj->model[1], HU3D_MOTATTR_PAUSE); - Hu3DModelLayerSet(obj->model[1], 1); - Hu3DModelShadowSet(obj->model[1]); - Hu3DModelPosSet(obj->model[1], 0, 0, 0); - Hu3DModelRotSet(obj->model[1], 0, 0, 0); - fn_1_B4C(64, DATA_MAKE_NUM(DATADIR_M461, 0x09)); - fn_1_9EC(); - for (i = 0; i < 2; i++) { - Hu3DModelAttrReset(obj->model[i], HU3D_ATTR_DISPOFF); - } - HuAudFXPlay(2085); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - obj->func = fn_1_BA2C; -} - -void ObjectSetup(void) -{ - s32 i; - s32 light; - float angle; - float radius; - float radiusPrev; - OSReport("******* M461 ObjectSetup *********\n"); - lbl_1_bss_238 = omInitObjMan(200, 8192); - omGameSysInit(lbl_1_bss_238); - lbl_1_bss_14 = FALSE; - lbl_1_bss_18 = FALSE; - lbl_1_bss_204 = 0; - lbl_1_bss_1FA = -1; - lbl_1_bss_1F8 = -1; - lbl_1_bss_1F4 = -1; - lbl_1_bss_10 = -1; - lbl_1_bss_C = -1; - lbl_1_bss_4 = 0; - lbl_1_bss_8 = 2200; - lbl_1_bss_0 = 2300; - lbl_1_bss_200 = 0; - lbl_1_bss_1FC = GWMGRecordGet(13); - lbl_1_bss_1EC = -1; - Hu3DCameraViewportSet(HU3D_CAM0, 0, 0, 640, 480, 0, 1); - Hu3DCameraPerspectiveSet(HU3D_CAM0, 30, 20, 30000, 1.2f); - fn_1_1350(&lbl_1_data_A0, &lbl_1_data_AC, &lbl_1_data_B8); - light = Hu3DGLightCreateV(&lbl_1_data_E8, &lbl_1_data_F4, &lbl_1_data_100); - Hu3DGLightStaticSet(light, 1); - Hu3DGLightInfinitytSet(light); - Hu3DShadowCreate(30, 20, 30000); - Hu3DShadowTPLvlSet(0.5f); - Hu3DShadowPosSet(&lbl_1_data_104, &lbl_1_data_11C, &lbl_1_data_110); - fn_1_0(); - for (i = 0; i < 20; i++) { - s32 modelId; - lbl_1_bss_4C[i] = NULL; - modelId = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M461, 0x08)); - Hu3DModelAttrSet(modelId, HU3D_ATTR_DISPOFF); - fn_1_24(12288, modelId); - } - for (i = 0; i < 3; i++) { - lbl_1_bss_3C[i] = Hu3DModelCreateFile(lbl_1_data_1C8[i]); - Hu3DModelAttrSet(lbl_1_bss_3C[i], HU3D_ATTR_NOCULL | HU3D_ATTR_DISPOFF); - } - for (i = 0; i < 4; i++) { - lbl_1_bss_2C[i] = Hu3DJointMotionFile(lbl_1_bss_3C[0], lbl_1_data_1D4[i]); - } - lbl_1_bss_28 = 0; - lbl_1_bss_20 = 0; - lbl_1_bss_24 = 10; - angle = 360.0f * frandf(); - radiusPrev = -1; - for (i = 0; i < lbl_1_bss_24; i++) { - Vec pos; - do { - radius = frandmod(5); - } while (radiusPrev == radius); - radiusPrev = radius; - pos.x = (200 + (100 * radius)) * sind(angle); - pos.y = 0; - pos.z = (200 + (100 * radius)) * cosd(angle); - fn_1_956C(&pos, 360.0f * frandf(), (i == 0) ? 1 : 0, 3000, -1); - angle += 36; - if (360.0f <= angle) { - angle -= 360.0f; - } - } - for (i = 0; i < 4; i++) { - WorkBomhei2 *bomhei2 = fn_1_9CAC(fn_1_B234, 103); - bomhei2->unk8 = lbl_1_data_2F0[i]; - bomhei2->unk2C = atan2d(-bomhei2->unk8.x, -bomhei2->unk8.z); - bomhei2->unk48 = frandmod(1200) + 300; - } - lbl_1_bss_9C = omAddObjEx(lbl_1_bss_238, 100, 1, 5, -1, fn_1_7328); - lbl_1_bss_A0 = omAddObjEx(lbl_1_bss_238, 104, 2, 0, -1, fn_1_C970); - lbl_1_bss_A0->work[0] = 1000; - lbl_1_bss_1C = 0; -} - -void fn_1_D70C(omObjData *obj) -{ - s32 i; - if (WipeStatGet()) { - return; - } - if (lbl_1_bss_1FA >= 0) { - MGSeqKill(lbl_1_bss_1FA); - } - if (lbl_1_bss_1F8 >= 0) { - MGSeqKill(lbl_1_bss_1F8); - } - MGSeqKillAll(); - HuAudAllStop(); - for (i = 0; i < 4; i++) { - CharModelKill(lbl_1_data_0[GWPlayerCfg[i].character]); - } - omOvlReturnEx(1, 1); -} diff --git a/src/REL/m462Dll/main.c b/src/REL/m462Dll/main.c deleted file mode 100755 index 4b10f621..00000000 --- a/src/REL/m462Dll/main.c +++ /dev/null @@ -1,1697 +0,0 @@ -#include "game/audio.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/frand.h" -#include "game/gamework.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/process.h" -#include "game/sprite.h" -#include "game/wipe.h" - -#include "dolphin.h" -#include "ext_math.h" - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ s16 unk04; - /* 0x06 */ s16 unk06[8]; - /* 0x16 */ s16 unk16[4]; - /* 0x1E */ s16 unk1E; - /* 0x20 */ s32 unk20; - /* 0x24 */ s32 unk24; - /* 0x28 */ s32 unk28; - /* 0x2C */ s32 unk2C; - /* 0x30 */ s32 unk30; - /* 0x34 */ s32 unk34; - /* 0x38 */ char unk38[4]; - /* 0x3C */ s32 unk3C; - /* 0x40 */ char unk40[4]; - /* 0x44 */ s32 unk44; - /* 0x48 */ s32 unk48; - /* 0x4C */ Vec unk4C; - /* 0x58 */ float unk58; - /* 0x5C */ float unk5C; - /* 0x60 */ Vec unk60; - /* 0x6C */ float unk6C; - /* 0x70 */ float unk70; - /* 0x74 */ float unk74; - /* 0x78 */ Vec unk78; - /* 0x84 */ float unk84; - /* 0x88 */ float unk88; - /* 0x8C */ float unk8C; - /* 0x90 */ float unk90; - /* 0x94 */ float unk94; -} StructBss340; // Size 0x98 - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ s16 unk04[3]; - /* 0x0A */ char unk0A[2]; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ Vec unk14; - /* 0x20 */ float unk20; - /* 0x24 */ float unk24; - /* 0x28 */ float unk28; - /* 0x2C */ float unk2C; - /* 0x30 */ float unk30; - /* 0x34 */ float unk34; - /* 0x38 */ s32 unk38; - /* 0x3C */ s32 unk3C; - /* 0x40 */ float unk40; - /* 0x44 */ float unk44; -} StructBss70; // Size 0x48 - -void fn_1_4A0(void); -float fn_1_14B4(float arg0); -void fn_1_174C(void); -void fn_1_17A0(s32 arg0, s32 arg1); -void fn_1_44D8(void); -void fn_1_4BC4(void); -void fn_1_69C0(void); -void fn_1_7D40(void); -void fn_1_545C(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_594C(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_5DE4(ModelData *model, ParticleData *particle, Mtx matrix); -void fn_1_7DA0(void); -s32 fn_1_1880(float arg0, float arg1, float arg2, s32 arg3, s32 arg4); - -s16 lbl_1_bss_3EA; -s16 lbl_1_bss_3E8; -s32 lbl_1_bss_3E4; -s32 lbl_1_bss_3E0; -s32 lbl_1_bss_3DC; -s32 lbl_1_bss_3D8; -StructBss340 lbl_1_bss_340[1]; -StructBss70 lbl_1_bss_70[10]; -StructBss70 lbl_1_bss_28; -omObjData *lbl_1_bss_24; -Vec lbl_1_bss_18; -Vec lbl_1_bss_C; -Vec lbl_1_bss_0; - -s32 lbl_1_data_0[] = { 0, 1, 2, 3, 4, 5, 6, 7 }; - -s32 lbl_1_data_20[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 79), DATA_MAKE_NUM(DATADIR_MARIOMOT, 27), DATA_MAKE_NUM(DATADIR_MARIOMOT, 75), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 22) }; - -Vec lbl_1_data_30[] = { { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, - { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f } }; - -Vec lbl_1_data_90[] = { { -900.0f, 143.0f, -1020.0f }, { -677.0f, 143.0f, -1020.0f }, { 900.0f, 0.0f, -1150.0f }, { -307.0f, 182.0f, -1575.0f } }; - -s32 lbl_1_data_C0[][5] = { { 50, 80, 90, 95, 100 }, { 5, 55, 85, 95, 100 }, { 0, 5, 55, 90, 100 } }; - -float lbl_1_data_FC[] = { 0.3f, 0.5f, 0.7f, 0.9f, 1.0f }; - -void ObjectSetup(void) -{ - Process *temp_r3; - - temp_r3 = omInitObjMan(50, 0x2000); - omGameSysInit(temp_r3); - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 30.0f, 20.0f, 10000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraScissorSet(1, 0, 0, 640, 480); - lbl_1_bss_24 = omAddObjEx(temp_r3, 0x7FDA, 0, 0, -1, omOutViewMulti); - lbl_1_bss_24->work[0] = 1; - CRotM->x = -26.0f; - CRotM->y = 0.0f; - CRotM->z = 0.0f; - CenterM->x = 0.0f; - CenterM->y = 0.0f; - CenterM->z = -295.0f; - CZoomM[0] = 3030.0f; - Hu3DLighInit(); - lbl_1_bss_3EA = Hu3DGLightCreate(10000.0f, 0.0f, 10000.0f, -1.0f, 0.0f, -1.0f, 255, 50, 0); - Hu3DGLightPosAimSet(lbl_1_bss_3EA, -2500.0f, 3535.5f, 2500.0f, 0.0f, 0.0f, 0.0f); - Hu3DGLightInfinitytSet(lbl_1_bss_3EA); - lbl_1_bss_18.x = -2500.0f; - lbl_1_bss_18.y = 3535.5f; - lbl_1_bss_18.z = 2500.0f; - lbl_1_bss_C.x = lbl_1_bss_C.z = 0.0f; - lbl_1_bss_C.y = 1.0f; - lbl_1_bss_0.x = 0.0f; - lbl_1_bss_0.y = 0.0f; - lbl_1_bss_0.z = 0.0f; - Hu3DShadowCreate(30.0f, 20.0f, 10000.0f); - Hu3DShadowTPLvlSet(0.5f); - Hu3DShadowPosSet(&lbl_1_bss_18, &lbl_1_bss_C, &lbl_1_bss_0); - Hu3DBGColorSet(0, 0, 0); - fn_1_4A0(); - HuPrcChildCreate(fn_1_7DA0, 0x1000, 0x2000, 0, HuPrcCurrentGet()); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); -} - -void fn_1_4A0(void) -{ - float temp_f31; - float temp_f30; - void *var_r27; - StructBss340 *temp_r31; - StructBss70 *temp_r29; - Process *var_r25; - AnimData *var_r24; - AnimData *spC[4]; - s16 var_r30; - s16 var_r23; - s16 sp8; - s32 i; - s32 j; - - lbl_1_bss_3E0 = 0; - lbl_1_bss_3D8 = 0; - HuAudSndGrpSet(0x2C); - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 0), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r27); - lbl_1_bss_3E8 = var_r30; - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelShadowMapSet(var_r30); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - i = 0; - temp_r31 = &lbl_1_bss_340[i]; - temp_r31->unk20 = i; - temp_r31->unk24 = i; - temp_r31->unk28 = GWPlayerCfg[i].pad_idx; - temp_r31->unk02 = CharModelCreate(lbl_1_data_0[GWPlayerCfg[i].character], 2); - Hu3DModelLayerSet(temp_r31->unk00, 1); - CharModelLayerSetAll(2); - temp_r31->unk78.x = lbl_1_data_30[GWPlayerCfg[i].character].x; - temp_r31->unk78.y = lbl_1_data_30[GWPlayerCfg[i].character].y; - temp_r31->unk78.z = lbl_1_data_30[GWPlayerCfg[i].character].z; - Hu3DModelPosSet(temp_r31->unk02, temp_r31->unk78.x, temp_r31->unk78.y, temp_r31->unk78.z); - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 1), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unk00 = Hu3DModelCreate(var_r27); - Hu3DModelLayerSet(temp_r31->unk00, 1); - temp_r31->unk60.x = temp_r31->unk60.z = 0.0f; - temp_r31->unk60.y = 180.0f; - temp_r31->unk4C.x = 0.0f; - temp_r31->unk4C.y = 0.0f; - temp_r31->unk4C.z = 0.0f; - temp_r31->unk60.y = fn_1_14B4(temp_r31->unk60.y + 180.0f); - temp_r31->unk94 = temp_r31->unk60.y; - temp_r31->unk84 = 200.0f; - temp_r31->unk88 = 6.75f; - temp_r31->unk8C = 1.0f; - temp_r31->unk90 = 1.0f; - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z); - Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk60.x, temp_r31->unk60.y, temp_r31->unk60.z); - Hu3DModelShadowSet(temp_r31->unk00); - Hu3DModelHookSet(temp_r31->unk00, "itemhook_c", temp_r31->unk02); - for (j = 0; j < 4; j++) { - temp_r31->unk16[j] = CharModelMotionCreate(lbl_1_data_0[GWPlayerCfg[i].character], lbl_1_data_20[j]); - } - CharModelMotionSet(lbl_1_data_0[GWPlayerCfg[i].character], temp_r31->unk16[0]); - CharModelMotionTimeSet(lbl_1_data_0[GWPlayerCfg[i].character], 60.0f); - CharModelVoiceEnableSet(lbl_1_data_0[GWPlayerCfg[i].character], temp_r31->unk16[2], 0); - for (j = 0; j < 8; j++) { - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 2 + j), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unk06[j] = Hu3DJointMotion(temp_r31->unk00, var_r27); - } - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk06[0]); - Hu3DMotionShiftSpeedSet(temp_r31->unk00, 1.0f); - Hu3DMotionSpeedSet(temp_r31->unk00, 1.0f); - Hu3DModelAttrSet(temp_r31->unk00, HU3D_MOTATTR_LOOP); - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 10), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r31->unk04 = Hu3DModelCreate(var_r27); - Hu3DModelLayerSet(temp_r31->unk04, 1); - Hu3DModelAttrSet(temp_r31->unk04, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(temp_r31->unk04, HU3D_MOTATTR_PAUSE); - CharModelMotionDataClose(lbl_1_data_0[GWPlayerCfg[i].character]); - var_r25 = HuPrcChildCreate(fn_1_69C0, 0x2000, 0x3000, 0, HuPrcCurrentGet()); - var_r25->user_data = temp_r31; - var_r24 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 2), MEMORY_DEFAULT_NUM)); - var_r30 = Hu3DParticleCreate(var_r24, 50); - Hu3DModelPosSet(var_r30, 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(var_r30, 1.0f, 1.0f, 1.0f); - Hu3DModelLayerSet(var_r30, 3); - Hu3DParticleColSet(var_r30, 0xFF, 0xFF, 0xFF); - Hu3DParticleScaleSet(var_r30, 0.0f); - Hu3DParticleHookSet(var_r30, fn_1_545C); - var_r24 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 2), MEMORY_DEFAULT_NUM)); - var_r30 = Hu3DParticleCreate(var_r24, 50); - Hu3DModelPosSet(var_r30, 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(var_r30, 1.0f, 1.0f, 1.0f); - Hu3DModelLayerSet(var_r30, 3); - Hu3DParticleColSet(var_r30, 0xFF, 0xFF, 0xFF); - Hu3DParticleScaleSet(var_r30, 0.0f); - Hu3DParticleHookSet(var_r30, fn_1_594C); - var_r24 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 2), MEMORY_DEFAULT_NUM)); - var_r30 = Hu3DParticleCreate(var_r24, 50); - Hu3DModelPosSet(var_r30, 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(var_r30, 1.0f, 1.0f, 1.0f); - Hu3DModelLayerSet(var_r30, 3); - Hu3DParticleColSet(var_r30, 0xFF, 0xFF, 0xFF); - Hu3DParticleScaleSet(var_r30, 0.0f); - Hu3DParticleHookSet(var_r30, fn_1_5DE4); - HuDataDirClose(DATADIR_EFFECT); - for (i = 0; i < 10; i++) { - temp_r29 = &lbl_1_bss_70[i]; - temp_r29->unk30 = 50.0f; - do { - temp_f31 = 1380.0f * frandf() - 690.0f; - temp_f30 = 1380.0f * frandf() - 690.0f; - } while (fn_1_1880(temp_f31, temp_f30, 50.0f, i, -1) != 0); - temp_r29->unk24 = temp_f31; - temp_r29->unk14.x = temp_f31; - temp_r29->unk14.y = 0.0f; - temp_r29->unk28 = temp_f30; - temp_r29->unk14.z = temp_f30; - } - for (i = 0; i < 10; i++) { - temp_r29 = &lbl_1_bss_70[i]; - if (i == 0) { - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 12), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r27); - var_r23 = var_r30; - } - else { - var_r30 = Hu3DModelLink(var_r23); - } - temp_r29->unk00 = var_r30; - temp_r29->unk0C = i; - temp_r29->unk30 = 50.0f; - temp_r29->unk10 = 0; - Hu3DModelLayerSet(var_r30, 1); - Hu3DModelShadowSet(var_r30); - Hu3DModelPosSet(var_r30, temp_r29->unk14.x, temp_r29->unk14.y, temp_r29->unk14.z); - temp_r29->unk20 = 0.0f; - temp_r29->unk34 = 6.75f * lbl_1_data_FC[0]; - for (j = 0; j < 3; j++) { - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 13 + j), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r29->unk04[j] = Hu3DJointMotion(var_r30, var_r27); - } - Hu3DMotionSet(var_r30, temp_r29->unk04[1]); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 11), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r30 = Hu3DModelCreate(var_r27); - sp8 = var_r30; - temp_r29->unk02 = var_r30; - Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(var_r30, 3); - var_r25 = HuPrcChildCreate(fn_1_4BC4, 0x1000, 0x3000, 0, HuPrcCurrentGet()); - var_r25->user_data = temp_r29; - } - for (i = 0; i < 2; i++) { - var_r30 = Hu3DModelLink(var_r23); - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 16), MEMORY_DEFAULT_NUM, HEAP_DATA); - Hu3DMotionSet(var_r30, Hu3DJointMotion(var_r30, var_r27)); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(var_r30); - Hu3DModelPosSet(var_r30, lbl_1_data_90[i].x, lbl_1_data_90[i].y, lbl_1_data_90[i].z); - if (i != 0) { - Hu3DMotionTimeSet(var_r30, Hu3DMotionMaxTimeGet(var_r30) / 2.0f); - } - } - var_r30 = Hu3DModelLink(var_r23); - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 19), MEMORY_DEFAULT_NUM, HEAP_DATA); - Hu3DMotionSet(var_r30, Hu3DJointMotion(var_r30, var_r27)); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(var_r30); - Hu3DModelPosSet(var_r30, lbl_1_data_90[3].x, lbl_1_data_90[3].y, lbl_1_data_90[3].z); - Hu3DMotionSpeedSet(var_r30, 0.7f); - temp_r29 = &lbl_1_bss_28; - var_r30 = Hu3DModelLink(var_r23); - temp_r29->unk00 = var_r30; - for (j = 0; j < 2; j++) { - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 17 + j), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r29->unk04[j] = Hu3DJointMotion(var_r30, var_r27); - } - Hu3DMotionSet(var_r30, temp_r29->unk04[0]); - Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(var_r30); - temp_r29->unk14.x = lbl_1_data_90[2].x; - temp_r29->unk14.y = lbl_1_data_90[2].y; - temp_r29->unk14.z = lbl_1_data_90[2].z; - Hu3DModelPosSet(var_r30, temp_r29->unk14.x, temp_r29->unk14.y, temp_r29->unk14.z); - var_r25 = HuPrcChildCreate(fn_1_44D8, 0x1000, 0x2000, 0, HuPrcCurrentGet()); - var_r25->user_data = temp_r29; - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 44), MEMORY_DEFAULT_NUM, HEAP_DATA); - spC[0] = HuSprAnimRead(var_r27); - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 55), MEMORY_DEFAULT_NUM, HEAP_DATA); - spC[1] = HuSprAnimRead(var_r27); - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 48), MEMORY_DEFAULT_NUM, HEAP_DATA); - spC[2] = HuSprAnimRead(var_r27); - var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 49), MEMORY_DEFAULT_NUM, HEAP_DATA); - spC[3] = HuSprAnimRead(var_r27); - lbl_1_bss_3DC = HuSprGrpCreate(6); - var_r30 = HuSprCreate(spC[0], 0x4000, 0); - HuSprGrpMemberSet(lbl_1_bss_3DC, 0, var_r30); - HuSprPosSet(lbl_1_bss_3DC, 0, 0.0f, 0.0f); - HuSprTPLvlSet(lbl_1_bss_3DC, 0, 0.5f); - HuSprColorSet(lbl_1_bss_3DC, 0, 0, 0, 0); - var_r30 = HuSprCreate(spC[1], 0x4000, 0); - HuSprGrpMemberSet(lbl_1_bss_3DC, 1, var_r30); - HuSprPosSet(lbl_1_bss_3DC, 1, -19.0f, -9.0f); - var_r30 = HuSprCreate(spC[2], 0x4000, 0); - HuSprGrpMemberSet(lbl_1_bss_3DC, 2, var_r30); - HuSprPosSet(lbl_1_bss_3DC, 2, 20.0f, -8.0f); - var_r30 = HuSprCreate(spC[2], 0x4000, 0); - HuSprGrpMemberSet(lbl_1_bss_3DC, 3, var_r30); - HuSprPosSet(lbl_1_bss_3DC, 3, 2.0f, -8.0f); - var_r30 = HuSprCreate(spC[3], 0x4000, 0); - HuSprGrpMemberSet(lbl_1_bss_3DC, 4, var_r30); - HuSprPosSet(lbl_1_bss_3DC, 4, 20.0f, 8.0f); - var_r30 = HuSprCreate(spC[3], 0x4000, 0); - HuSprGrpMemberSet(lbl_1_bss_3DC, 5, var_r30); - HuSprPosSet(lbl_1_bss_3DC, 5, 2.0f, 8.0f); - HuSprGrpPosSet(lbl_1_bss_3DC, 511.0f, 61.0f); - fn_1_17A0(lbl_1_bss_3D8, 0); - fn_1_17A0(GWMGRecordGet(14), 1); - fn_1_174C(); - HuPrcChildCreate(fn_1_7D40, 0x1000, 0x1000, 0, HuPrcCurrentGet()); -} - -float fn_1_14B4(float arg0) -{ - while (arg0 >= 360.0f || arg0 < 0.0f) { - if (arg0 >= 360.0f) { - arg0 -= 360.0f; - } - if (arg0 < 0.0f) { - arg0 += 360.0f; - } - } - return arg0; -} - -float fn_1_1534(float arg0, float arg1) -{ - float var_f31; - - if (arg0 > 750.0f - arg1) { - var_f31 = 750.0f; - } - else if (arg0 < -(750.0f - arg1)) { - var_f31 = 750.0f; - } - else { - var_f31 = 750.0f; - } - return var_f31; -} - -float fn_1_15B4(float arg0, float arg1) -{ - return fn_1_1534(arg0, arg1); -} - -void fn_1_1634(void) -{ - float var_f31; - float temp_f30; - s32 i; - - var_f31 = 0.0f; - while (TRUE) { - var_f31 += 16.0f; - temp_f30 = 1.0 + 0.2f * sind(var_f31); - for (i = 0; i < 3; i++) { - HuSprScaleSet(lbl_1_bss_3DC, i + 1, temp_f30, temp_f30); - } - HuPrcVSleep(); - } -} - -void fn_1_16F8(void) -{ - s32 i; - - for (i = 0; i < 6; i++) { - HuSprAttrReset(lbl_1_bss_3DC, i, HUSPR_ATTR_DISPOFF); - } -} - -void fn_1_174C(void) -{ - s32 i; - - for (i = 0; i < 6; i++) { - HuSprAttrSet(lbl_1_bss_3DC, i, HUSPR_ATTR_DISPOFF); - } -} - -void fn_1_17A0(s32 arg0, s32 arg1) -{ - s32 var_r31; - - if (arg1 != 0) { - var_r31 = 2; - } - else { - var_r31 = 4; - } - HuSprBankSet(lbl_1_bss_3DC, var_r31, arg0 % 10); - HuSprBankSet(lbl_1_bss_3DC, var_r31 + 1, arg0 / 10); - HuSprAttrReset(lbl_1_bss_3DC, var_r31 + 1, HUSPR_ATTR_DISPOFF); -} - -s32 fn_1_1880(float arg0, float arg1, float arg2, s32 arg3, s32 arg4) -{ - Vec sp34; - Vec sp28; - Vec sp1C; - s32 i; - StructBss70 *temp_r30; - StructBss340 *var_r29; - - if (arg3 > 10) { - arg3 = 10; - } - HuSetVecF(&sp34, arg0, 0.0, arg1); - for (i = 0; i < arg3; i++) { - if (arg4 == i) { - continue; - } - temp_r30 = &lbl_1_bss_70[i]; - HuSetVecF(&sp28, temp_r30->unk14.x, 0.0, temp_r30->unk14.z); - HuSubVecF(&sp1C, &sp34, &sp28); - if (VECMagXZ(&sp1C) < temp_r30->unk30 + arg2) { - break; - } - } - if (i < arg3) { - return 1; - } - var_r29 = &lbl_1_bss_340[0]; - HuSetVecF(&sp28, var_r29->unk4C.x, 0.0, var_r29->unk4C.z); - HuSubVecF(&sp1C, &sp34, &sp28); - if (VECMagXZ(&sp1C) < var_r29->unk84 + arg2) { - return 1; - } - return 0; -} - -s32 fn_1_1BD4(StructBss70 *arg0) -{ - float var_f31; - float var_f30; - s32 var_r31; - - var_r31 = 0; - var_f31 = fn_1_1534(arg0->unk14.z, arg0->unk30); - var_f30 = fn_1_1534(arg0->unk14.x, arg0->unk30); - if (arg0->unk14.x > var_f31 - arg0->unk30) { - var_r31 = 1; - arg0->unk14.x = var_f31 - arg0->unk30; - } - if (arg0->unk14.x < -(var_f31 - arg0->unk30)) { - var_r31 = 1; - arg0->unk14.x = -(var_f31 - arg0->unk30); - } - if (arg0->unk14.z > var_f30 - arg0->unk30) { - var_r31 = 1; - arg0->unk14.z = var_f30 - arg0->unk30; - } - if (arg0->unk14.z < -(var_f30 - arg0->unk30)) { - var_r31 = 1; - arg0->unk14.z = -(var_f30 - arg0->unk30); - } - return var_r31; -} - -void fn_1_1E10(StructBss70 *arg0) -{ - Vec sp104; - Vec spF8; - Vec spEC; - float temp_f21; - float temp_f20; - float var_f19; - float var_f26; - float spC4; - float spC0; - float spBC; - float spB8; - float spB4; - float spB0; - float spAC; - float spA0; - StructBss70 *var_r30; - StructBss70 *temp_r28; - s32 temp_r19; - s32 var_r21; - s32 i; - - if (fn_1_1880(arg0->unk14.x, arg0->unk14.z, 50.0f, 10, arg0->unk0C) == 0) { - return; - } - var_f19 = fn_1_14B4(atan2d(arg0->unk14.x - arg0->unk24, arg0->unk14.z - arg0->unk28)); - temp_f21 = spB8 = arg0->unk24; - temp_f20 = spB4 = arg0->unk28; - spAC = 1.0f; - for (var_r21 = 1.0f + arg0->unk34 / spAC; var_r21 != 0; var_r21--) { - temp_f21 += spAC * sind(var_f19); - temp_f20 += spAC * cosd(var_f19); - HuSetVecF(&sp104, temp_f21, arg0->unk14.y, temp_f20); - for (i = 0; i < 10; i++) { - if (i == arg0->unk0C) { - continue; - } - var_r30 = &lbl_1_bss_70[i]; - HuSetVecF(&spF8, var_r30->unk14.x, var_r30->unk14.y, var_r30->unk14.z); - HuSubVecF(&spEC, &sp104, &spF8); - if (VECMagXYZ(&spEC) < arg0->unk30 + var_r30->unk30) { - break; - } - } - if (i < 10) { - break; - } - if (fn_1_1BD4(arg0)) { - goto block_end; - } - spB8 = temp_f21; - spB4 = temp_f20; - } - var_f19 = fn_1_14B4(atan2d(arg0->unk14.x - arg0->unk24, arg0->unk14.z - arg0->unk28)); - var_f26 = fn_1_14B4(atan2d(var_r30->unk14.x - arg0->unk24, var_r30->unk14.z - arg0->unk28)); - spC0 = var_f19 - var_f26; - if (spC0 > 0.0f) { - spBC = -0.5f; - } - else { - spBC = 0.5f; - } - if (ABS_INV(var_f19 - var_f26) > 180.0f) { - spBC = -spBC; - } - var_f26 = fn_1_14B4(atan2d(arg0->unk24 - var_r30->unk14.x, arg0->unk28 - var_r30->unk14.z)); - spB0 = 0.8f * arg0->unk34; - temp_r19 = var_r30->unk0C; - spC4 = arg0->unk30 + var_r30->unk30 + 1.0f; - while (TRUE) { - temp_f21 = var_r30->unk14.x + spC4 * sind(var_f26); - temp_f20 = var_r30->unk14.z + spC4 * cosd(var_f26); - HuSetVecF(&sp104, temp_f21, 0.0, temp_f20); - for (i = 0; i < 10; i++) { - if (i == arg0->unk0C || i == temp_r19) { - continue; - } - temp_r28 = &lbl_1_bss_70[i]; - HuSetVecF(&spF8, temp_r28->unk14.x, 0.0, temp_r28->unk14.z); - HuSubVecF(&spEC, &sp104, &spF8); - if (VECMagXZ(&spEC) < arg0->unk30 + temp_r28->unk30) { - break; - } - } - if (i < 10 || fn_1_1BD4(arg0)) { - break; - } - spB8 = temp_f21; - spB4 = temp_f20; - HuSetVecF(&sp104, arg0->unk24, 0.0, arg0->unk28); - HuSetVecF(&spF8, temp_f21, 0.0, temp_f20); - HuSubVecF(&spEC, &sp104, &spF8); - if (VECMagXZ(&spEC) > spB0) { - break; - } - var_f26 += spBC; - } -block_end: - arg0->unk14.x = spB8; - arg0->unk14.z = spB4; -} - -void fn_1_2FDC(StructBss70 *arg0) -{ - Vec spF0; - Vec spE4; - Vec spD8; - s32 i; - StructBss340 *var_r30; - StructBss70 *temp_r25; - float var_f31; - s32 var_r23; - s32 var_r20; - s32 spAC[2]; - - var_r30 = &lbl_1_bss_340[0]; - arg0->unk24 = arg0->unk14.x; - arg0->unk28 = arg0->unk14.z; - switch (arg0->unk38) { - case 0: - var_r20 = 0; - HuSetVecF(&spF0, var_r30->unk4C.x, 0.0, var_r30->unk4C.z); - HuSetVecF(&spE4, arg0->unk14.x, 0.0, arg0->unk14.z); - HuSubVecF(&spD8, &spF0, &spE4); - if (VECMagXZ(&spD8) < var_r30->unk84 + arg0->unk30 + 100.0f) { - var_r20 = 80; - } - if (frandmod(100) < var_r20) { - var_f31 = fn_1_14B4(atan2d(arg0->unk14.x - var_r30->unk4C.x, arg0->unk14.z - var_r30->unk4C.z)); - var_f31 += 30.0f * frandf() - 60.0f; - var_f31 = fn_1_14B4(var_f31); - arg0->unk20 = var_f31; - } - else if (ABS_INV(arg0->unk14.x) > 550.0f) { - var_f31 = fn_1_14B4(180.0 + atan2d(arg0->unk14.x, 0.0)); - var_f31 += 10.0f * frandf() - 20.0f; - var_f31 = fn_1_14B4(var_f31); - arg0->unk20 = var_f31; - } - else if (frandmod(3) != 0) { - for (i = 0, var_r23 = 0; i < 10; i++) { - if (i == arg0->unk0C) { - continue; - } - temp_r25 = &lbl_1_bss_70[i]; - HuSetVecF(&spF0, temp_r25->unk14.x, 0.0, temp_r25->unk14.z); - HuSetVecF(&spE4, arg0->unk14.x, 0.0, arg0->unk14.z); - HuSubVecF(&spD8, &spF0, &spE4); - if (VECMagXZ(&spD8) < 150.0f) { - spAC[var_r23++] = arg0->unk0C; - if (var_r23 >= 2) { - break; - } - } - } - if (var_r23 == 1 && ABS_INV(var_r30->unk4C.x) < 650.0f) { - temp_r25 = &lbl_1_bss_70[spAC[0]]; - var_f31 = fn_1_14B4(atan2d(arg0->unk40 - arg0->unk14.x, arg0->unk44 - arg0->unk14.z)); - } - else { - var_f31 = fn_1_14B4(180.0 + atan2d(arg0->unk14.x, arg0->unk14.z)); - var_f31 += 30.0f * frandf() - 60.0f; - var_f31 = fn_1_14B4(var_f31); - arg0->unk20 = var_f31; - } - } - else { - var_f31 = 360.0f * frandf(); - arg0->unk20 = var_f31; - } - arg0->unk40 = arg0->unk14.x + 100.0 * sind(var_f31); - arg0->unk44 = arg0->unk14.z + 100.0 * cosd(var_f31); - arg0->unk38 = 10; - arg0->unk3C = 60; - break; - case 10: - if (arg0->unk3C-- == 0) { - arg0->unk38 = 0; - } - if (arg0->unk3C < 50) { - HuSetVecF(&spF0, var_r30->unk4C.x, 0.0, var_r30->unk4C.z); - HuSetVecF(&spE4, arg0->unk14.x, 0.0, arg0->unk14.z); - HuSubVecF(&spD8, &spF0, &spE4); - if (VECMagXZ(&spD8) < var_r30->unk84 + arg0->unk30 + 100.0f) { - arg0->unk38 = 0; - } - } - HuSetVecF(&spF0, arg0->unk40, 0.0, arg0->unk44); - HuSetVecF(&spE4, arg0->unk14.x, 0.0, arg0->unk14.z); - HuSubVecF(&spD8, &spF0, &spE4); - if (VECMagXZ(&spD8) > 10.0f) { - var_f31 = fn_1_14B4(atan2d(arg0->unk40 - arg0->unk14.x, arg0->unk44 - arg0->unk14.z)); - arg0->unk14.x += arg0->unk34 * sind(var_f31); - arg0->unk14.z += arg0->unk34 * cosd(var_f31); - if (fn_1_1BD4(arg0)) { } - if (fn_1_1880(arg0->unk14.x, arg0->unk14.z, 50.0f, 10, arg0->unk0C) != 0) { - arg0->unk14.x = arg0->unk24; - arg0->unk14.z = arg0->unk28; - arg0->unk38 = 100; - arg0->unk3C = 0; - } - } - else { - arg0->unk38 = 100; - arg0->unk3C = 0; - } - break; - case 100: - if (arg0->unk3C == 0) { - arg0->unk38 = 0; - } - arg0->unk3C--; - break; - } -} - -void fn_1_44D8(void) -{ - StructBss70 *temp_r31; - float temp_f30; - float var_f31; - s32 i; - - temp_r31 = HuPrcCurrentGet()->user_data; - temp_f30 = temp_r31->unk14.x; - while (TRUE) { - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk04[0]); - for (i = 0, var_f31 = 0.0f; i < 60; i++) { - temp_r31->unk14.x = temp_f30 - 300.0 * sind(var_f31); - var_f31 += 1.5f; - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk14.x, temp_r31->unk14.y, temp_r31->unk14.z); - HuPrcVSleep(); - } - HuPrcSleep(30); - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk04[1]); - for (i = 0, var_f31 = 90.0f; i < 60; i++) { - temp_r31->unk14.x = temp_f30 - 300.0 * sind(var_f31); - var_f31 -= 1.5f; - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk14.x, temp_r31->unk14.y, temp_r31->unk14.z); - HuPrcVSleep(); - } - HuPrcSleep(30); - } -} - -void fn_1_4644(StructBss70 *arg0) -{ - float temp_f26; - float temp_f25; - float var_f27; - float var_f24; - float temp_f23; - s32 i; - - do { - temp_f26 = 5.0f; - if (frandmod(2) != 0) { - arg0->unk14.x = -700.0f + temp_f26; - arg0->unk20 = 90.0f; - var_f27 = -700.0f + temp_f26 - 500.0f; - var_f24 = 8.333333f; - } - else { - arg0->unk14.x = 700.0f - temp_f26; - arg0->unk20 = 270.0f; - var_f27 = 700.0f - temp_f26 + 500.0f; - var_f24 = -8.333333f; - } - arg0->unk14.y = 0.0f; - temp_f23 = 550.0f; - temp_f25 = temp_f23 * frandf() * 2.0f - temp_f23; - arg0->unk14.z = temp_f25; - arg0->unk24 = arg0->unk14.x; - arg0->unk28 = arg0->unk14.z; - } while (fn_1_1880(arg0->unk14.x, arg0->unk14.z, 50.0f, 10, arg0->unk0C) != 0); - Hu3DMotionSet(arg0->unk00, arg0->unk04[2]); - Hu3DModelRotSet(arg0->unk00, 0.0f, arg0->unk20, 0.0f); - for (i = 0; i < 60; i++) { - var_f27 += var_f24; - Hu3DModelPosSet(arg0->unk00, var_f27, 0.0f, temp_f25); - if (lbl_1_bss_3E4 >= 4) { - break; - } - HuPrcVSleep(); - } - if (lbl_1_bss_3E4 >= 4) { - arg0->unk14.x = var_f27; - arg0->unk14.z = temp_f25; - } - Hu3DModelPosSet(arg0->unk00, arg0->unk14.x, 0.0f, arg0->unk14.z); -} - -void fn_1_4BC4(void) -{ - s32 spC; - float sp8; - float temp_f23; - float var_f27; - float var_f28; - float var_f30; - float var_f29; - StructBss70 *temp_r31; - StructBss340 *var_r28; - StructBss340 *var_r30; - s32 temp_r27; - s32 temp_r24; - s32 var_r26; - s32 var_r25; - s32 i; - - temp_r31 = HuPrcCurrentGet()->user_data; - temp_r31->unk10 = 0; -loop_1: - temp_r27 = lbl_1_bss_3E0 / 60; - var_r25 = 0; - if (temp_r27 > 10) { - var_r25 = 1; - } - if (temp_r27 > 20) { - var_r25 = 2; - } - temp_r27 = frandmod(100); - for (i = 0; i < 5; i++) { - if (lbl_1_data_C0[var_r25][i] > temp_r27) { - break; - } - } - if (i > 4) { - while (TRUE) - ; - } - temp_r31->unk34 = 6.75f * lbl_1_data_FC[i]; - temp_r31->unk38 = 0; - while (TRUE) { - switch (temp_r31->unk10) { - case 2: - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk04[1]); - fn_1_4644(temp_r31); - temp_r31->unk10 = 0; - if (FALSE) { - default: - fn_1_2FDC(temp_r31); - } - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk14.x, temp_r31->unk14.y, temp_r31->unk14.z); - Hu3DModelRotSet(temp_r31->unk00, 0.0f, temp_r31->unk20, 0.0f); - if (lbl_1_bss_3E4 < 4) { - HuPrcVSleep(); - break; - } - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk04[0]); - HuPrcSleep(60); - var_r28 = &lbl_1_bss_340[0]; - if (ABS_INV(var_r28->unk4C.z - temp_r31->unk14.z) > 250.0f) { - if (temp_r31->unk14.x > 0.0f) { - var_f30 = 10.0f; - } - else { - var_f30 = -10.0f; - } - } - else { - if (var_r28->unk4C.x > temp_r31->unk14.x) { - var_f30 = -10.0f; - } - else { - var_f30 = 10.0f; - } - } - if (var_f30 > 0.0f) { - Hu3DModelRotSet(temp_r31->unk00, 0.0f, 90.0f, 0.0f); - } - else { - Hu3DModelRotSet(temp_r31->unk00, 0.0f, 270.0f, 0.0f); - } - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk04[1]); - while (ABS_INV(temp_r31->unk14.x) < 1500.0f) { - temp_r31->unk14.x += var_f30; - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk14.x, temp_r31->unk14.y, temp_r31->unk14.z); - HuPrcVSleep(); - } - while (TRUE) { - HuPrcVSleep(); - } - break; - case 3: - lbl_1_bss_3D8++; - if (lbl_1_bss_3D8 > 99) { - lbl_1_bss_3D8 = 99; - } - temp_r24 = lbl_1_bss_3D8; - var_r26 = 4; - HuSprBankSet(lbl_1_bss_3DC, var_r26, temp_r24 % 10); - HuSprBankSet(lbl_1_bss_3DC, var_r26 + 1, temp_r24 / 10); - HuSprAttrReset(lbl_1_bss_3DC, var_r26 + 1, HUSPR_ATTR_DISPOFF); - omVibrate(0, 12, 6, 6); - HuAudFXPlay(0x45); - HuAudFXPlay(0x5EE); - var_r30 = &lbl_1_bss_340[0]; - temp_r31->unk2C = fn_1_14B4(atan2d(temp_r31->unk14.x - var_r30->unk4C.x, temp_r31->unk14.z - var_r30->unk4C.z)); - Hu3DMotionTimeSet(temp_r31->unk02, 0.0f); - Hu3DModelAttrReset(temp_r31->unk02, HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(temp_r31->unk02, var_r30->unk4C.x + var_r30->unk84 * sind(temp_r31->unk2C), temp_r31->unk14.y + 50.0f, - var_r30->unk4C.z + var_r30->unk84 * cosd(temp_r31->unk2C)); - i = 0; - var_f29 = temp_r31->unk14.x; - var_f28 = temp_r31->unk14.z; - while (TRUE) { - var_f29 += 30.0 * sind(var_r30->unk94); - var_f28 += 30.0 * cosd(var_r30->unk94); - if (ABS_INV(var_f29) > 1500.0f || var_f28 > 1300.0f || var_f28 < -2000.0f) { - break; - } - i++; - } - sp8 = temp_r31->unk14.y; - var_f27 = 0.0f; - temp_f23 = 180.0f / i; - spC = 0; - for (; i != 0; i--) { - temp_r31->unk14.x += 30.0 * sind(temp_r31->unk2C); - temp_r31->unk14.y = 400.0 * sind(var_f27); - temp_r31->unk14.z += 30.0 * cosd(temp_r31->unk2C); - var_f27 += temp_f23; - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk14.x, temp_r31->unk14.y, temp_r31->unk14.z); - HuPrcVSleep(); - } - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk14.x, -1000.0f, temp_r31->unk14.z); - temp_r31->unk10 = 2; - Hu3DModelAttrSet(temp_r31->unk02, HU3D_ATTR_DISPOFF); - goto loop_1; - } - } -} - -void fn_1_545C(ModelData *model, ParticleData *particle, Mtx matrix) -{ - HsfanimStruct01 *var_r31; - StructBss340 *temp_r28; - float var_f30; - float var_f31; - float temp_f29; - s32 var_r27; - s16 i; - s16 j; - s16 k; - - if (particle->unk_34 == 0) { - var_r31 = particle->unk_48; - for (k = 0; k < particle->unk_30; k++, var_r31++) { - var_r31->unk14.x = var_r31->unk2C = 0.0f; - } - } - var_r31 = particle->unk_48; - for (i = 0; i < 1; i++) { - temp_r28 = &lbl_1_bss_340[i]; - if (!(temp_r28->unk30 & 1)) { - continue; - } - for (j = 0, var_f30 = 0.0f; j < 16; j++, var_f30 += 22.5f) { - for (k = 0; k < particle->unk_30; k++, var_r31++) { - if (var_r31->unk14.x == 0.0f) { - break; - } - } - if (k == particle->unk_30) { - break; - } - var_f31 = var_f30; - temp_f29 = 125.0f + 70.0f * frandf(); - var_r31->unk34.x = temp_r28->unk6C + temp_f29 * sind(var_f31); - var_r31->unk34.y = temp_r28->unk70 + 50.0f * frandf(); - var_r31->unk34.z = temp_r28->unk74 + temp_f29 * cosd(var_f31); - var_r31->unk08.x = 5.0 * sind(var_f31); - var_r31->unk08.y = 9.0f + 2.0f * frandf(); - var_r31->unk08.z = 5.0 * cosd(var_f31); - var_r31->unk14.x = 30.0f; - var_r31->unk2C = 80.0f + 20.0f * frandf(); - var_r31->unk14.y = 15.0f; - var_r31->unk40.a = 0xC8; - var_r31->unk14.z = 17.0f; - } - temp_r28->unk30 &= ~1; - } - var_r31 = particle->unk_48; - for (k = 0; k < particle->unk_30; k++, var_r31++) { - if (var_r31->unk14.x == 0.0f) { - continue; - } - VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); - var_r31->unk08.x *= 0.95f; - var_r31->unk08.z *= 0.95f; - if (var_r31->unk08.y > 0.1f) { - var_r31->unk08.y -= 0.2f; - } - if (var_r31->unk08.y < 0.0f) { - var_r31->unk08.y = 0.0f; - } - var_r31->unk2C += var_r31->unk14.y; - if (var_r31->unk14.y > 2.0f) { - var_r31->unk14.y -= 1.5f; - } - var_r27 = var_r31->unk40.a; - var_r27 -= var_r31->unk14.z; - if (var_r31->unk14.z > 3.0f) { - var_r31->unk14.z -= 1.0f; - } - if (var_r27 < 0) { - var_r27 = 0; - var_r31->unk14.x = 0.0f; - } - var_r31->unk40.a = var_r27; - if (var_r31->unk14.x == 0.0f) { - var_r31->unk2C = 0.0f; - } - } -} - -void fn_1_594C(ModelData *model, ParticleData *particle, Mtx matrix) -{ - HsfanimStruct01 *var_r31; - StructBss340 *temp_r28; - float temp_f31; - float temp_f30; - s32 var_r27; - s16 i; - s16 j; - s16 k; - - if (particle->unk_34 == 0) { - var_r31 = particle->unk_48; - for (k = 0; k < particle->unk_30; k++, var_r31++) { - var_r31->unk14.x = var_r31->unk2C = 0.0f; - var_r31->unk20 = -1.0f; - } - } - var_r31 = particle->unk_48; - for (i = 0; i < 1; i++) { - temp_r28 = &lbl_1_bss_340[i]; - if (!(temp_r28->unk30 & 2)) { - continue; - } - for (j = 0; j < 10; j++) { - for (k = 0; k < particle->unk_30; k++, var_r31++) { - if (var_r31->unk14.x == 0.0f) { - break; - } - } - if (k == particle->unk_30) { - break; - } - temp_f31 = 400.0f * frandf() - 200.0f; - temp_f30 = 400.0f * frandf() - 200.0f; - var_r31->unk34.x = temp_r28->unk6C + temp_f31; - var_r31->unk34.y = temp_r28->unk70 + 50.0f; - var_r31->unk34.z = temp_r28->unk74 + temp_f30; - var_r31->unk08.x = 0.0f; - var_r31->unk08.y = 7.0f; - var_r31->unk08.z = 0.0f; - var_r31->unk20 = frandmod(10); - var_r31->unk24 = 0.0f; - var_r31->unk14.x = 100.0f; - var_r31->unk2C = 0.0f; - var_r31->unk14.y = 7.0f; - var_r31->unk40.a = 0xFF; - var_r31->unk14.z = 10.0f; - } - temp_r28->unk30 &= ~2; - } - var_r31 = particle->unk_48; - for (k = 0; k < particle->unk_30; k++, var_r31++) { - if (var_r31->unk20 > 0.0f) { - var_r31->unk20 -= 1.0f; - } - if (var_r31->unk20 == 0.0f) { - var_r31->unk24 = 1.0f; - var_r31->unk2C = 100.0f + 100.0f * frandf(); - var_r31->unk20 = -1.0f; - } - if (var_r31->unk14.x == 0.0f || var_r31->unk24 == 0.0f) { - continue; - } - VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); - if (var_r31->unk08.y > 1.0f) { - var_r31->unk08.y -= 0.3f; - } - var_r31->unk2C += var_r31->unk14.y; - if (var_r31->unk14.y > 2.0f) { - var_r31->unk14.y -= 0.4f; - } - var_r27 = var_r31->unk40.a; - var_r27 -= var_r31->unk14.z; - if (var_r31->unk14.z > 3.0f) { - var_r31->unk14.z -= 1.0f; - } - if (var_r27 < 0) { - var_r27 = 0; - var_r31->unk14.x = 0.0f; - } - var_r31->unk40.a = var_r27; - if (var_r31->unk14.x == 0.0f) { - var_r31->unk2C = 0.0f; - } - } -} - -void fn_1_5DE4(ModelData *model, ParticleData *particle, Mtx matrix) -{ - HsfanimStruct01 *var_r31; - StructBss340 *temp_r28; - float temp_f31; - float temp_f30; - s32 var_r27; - s16 i; - s16 j; - s16 k; - - if (particle->unk_34 == 0) { - var_r31 = particle->unk_48; - for (k = 0; k < particle->unk_30; k++, var_r31++) { - var_r31->unk14.x = var_r31->unk2C = 0.0f; - var_r31->unk20 = -1.0f; - } - } - var_r31 = particle->unk_48; - for (i = 0; i < 1; i++) { - temp_r28 = &lbl_1_bss_340[i]; - if (!(temp_r28->unk30 & 4)) { - continue; - } - for (j = 0; j < 10; j++) { - for (k = 0; k < particle->unk_30; k++, var_r31++) { - if (var_r31->unk14.x == 0.0f) { - break; - } - } - if (k == particle->unk_30) { - break; - } - temp_f31 = 400.0f * frandf() - 200.0f; - temp_f30 = 400.0f * frandf() - 200.0f; - var_r31->unk34.x = temp_r28->unk6C + temp_f31; - var_r31->unk34.y = temp_r28->unk70 + 50.0f; - var_r31->unk34.z = temp_r28->unk74 + temp_f30; - var_r31->unk08.x = 0.0f; - var_r31->unk08.y = 7.0f; - var_r31->unk08.z = 0.0f; - var_r31->unk20 = frandmod(10); - var_r31->unk24 = 0.0f; - var_r31->unk14.x = 100.0f; - var_r31->unk2C = 0.0f; - var_r31->unk14.y = 7.0f; - var_r31->unk40.a = 0xFF; - var_r31->unk14.z = 10.0f; - } - temp_r28->unk30 &= ~4; - } - var_r31 = particle->unk_48; - for (k = 0; k < particle->unk_30; k++, var_r31++) { - if (var_r31->unk20 > 0.0f) { - var_r31->unk20 -= 1.0f; - } - if (var_r31->unk20 == 0.0f) { - var_r31->unk24 = 1.0f; - var_r31->unk2C = 100.0f + 100.0f * frandf(); - var_r31->unk20 = -1.0f; - } - if (var_r31->unk14.x == 0.0f || var_r31->unk24 == 0.0f) { - continue; - } - VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); - if (var_r31->unk08.y > 1.0f) { - var_r31->unk08.y -= 0.3f; - } - var_r31->unk2C += var_r31->unk14.y; - if (var_r31->unk14.y > 2.0f) { - var_r31->unk14.y -= 0.4f; - } - var_r27 = var_r31->unk40.a; - var_r27 -= var_r31->unk14.z; - if (var_r31->unk14.z > 3.0f) { - var_r31->unk14.z -= 1.0f; - } - if (var_r27 < 0) { - var_r27 = 0; - var_r31->unk14.x = 0.0f; - } - var_r31->unk40.a = var_r27; - if (var_r31->unk14.x == 0.0f) { - var_r31->unk2C = 0.0f; - } - } -} - -s8 fn_1_627C(s32 arg0, s32 arg1) -{ - StructBss340 *temp_r31; - s8 var_r30; - - temp_r31 = &lbl_1_bss_340[arg0]; - (arg1 != 0) ? (var_r30 = HuPadStkY[temp_r31->unk28]) : (var_r30 = HuPadStkX[temp_r31->unk28]); - return var_r30; -} - -u8 fn_1_62F0(s32 arg0, s32 arg1) -{ - StructBss340 *temp_r31; - s8 var_r30; - - temp_r31 = &lbl_1_bss_340[arg0]; - (arg1 != 0) ? (var_r30 = HuPadTrigR[temp_r31->unk28]) : (var_r30 = HuPadTrigL[temp_r31->unk28]); - return var_r30; -} - -u16 fn_1_636C(s32 arg0) -{ - StructBss340 *temp_r31; - u16 var_r30; - - temp_r31 = &lbl_1_bss_340[arg0]; - var_r30 = HuPadBtnDown[temp_r31->unk28]; - return var_r30; -} - -u16 fn_1_63B4(s32 arg0) -{ - StructBss340 *temp_r31; - u16 var_r30; - - temp_r31 = &lbl_1_bss_340[arg0]; - var_r30 = HuPadBtn[temp_r31->unk28]; - return var_r30; -} - -s32 fn_1_63FC(StructBss340 *arg0) -{ - Vec sp24; - Vec sp18; - Vec spC; - StructBss70 *temp_r31; - s32 var_r28; - s32 i; - - var_r28 = -1; - HuSetVecF(&sp24, arg0->unk4C.x, arg0->unk4C.y, arg0->unk4C.z); - for (i = 0; i < 10; i++) { - temp_r31 = &lbl_1_bss_70[i]; - HuSetVecF(&sp18, temp_r31->unk14.x, temp_r31->unk14.y, temp_r31->unk14.z); - HuSubVecF(&spC, &sp24, &sp18); - if (VECMagXYZ(&spC) < arg0->unk84 + temp_r31->unk30) { - temp_r31->unk10 = 3; - var_r28 = i; - } - } - return var_r28; -} - -s32 fn_1_65D0(StructBss340 *arg0) -{ - float var_f31; - float var_f30; - s32 sp8; // ! - uninitialized - - var_f31 = fn_1_1534(arg0->unk4C.z, arg0->unk84); - var_f30 = fn_1_1534(arg0->unk4C.x, arg0->unk84); - if (arg0->unk4C.x > var_f31 - arg0->unk84) { - arg0->unk4C.x = var_f31 - arg0->unk84; - } - if (arg0->unk4C.x < -(var_f31 - arg0->unk84)) { - arg0->unk4C.x = -(var_f31 - arg0->unk84); - } - if (arg0->unk4C.z > var_f30 - arg0->unk84) { - arg0->unk4C.z = var_f30 - arg0->unk84; - } - if (arg0->unk4C.z < -(var_f30 - arg0->unk84)) { - arg0->unk4C.z = -(var_f30 - arg0->unk84); - } - return sp8; -} - -float fn_1_67F0(float arg0, float arg1, float arg2) -{ - float var_f30; - float var_f31; - - var_f31 = fmod(arg1 - arg0, 360.0); - if (0.0f > var_f31) { - var_f31 += 360.0f; - } - if (180.0f < var_f31) { - var_f31 -= 360.0f; - } - var_f30 = fmod(arg0 + var_f31 * arg2, 360.0); - if (0.0f > var_f30) { - var_f30 += 360.0f; - } - return var_f30; -} - -void fn_1_68F4(void) -{ - StructBss340 *temp_r31; - s32 i; - - temp_r31 = HuPrcCurrentGet()->user_data; - for (i = 0; i < 20; i++) { - temp_r31->unk78.z -= 4.0f; - Hu3DModelPosSet(temp_r31->unk02, temp_r31->unk78.x, temp_r31->unk78.y, temp_r31->unk78.z); - HuPrcVSleep(); - } - HuPrcKill(HuPrcCurrentGet()); - while (TRUE) { - HuPrcVSleep(); - } -} - -s32 fn_1_6964(StructBss340 *arg0) -{ - return (arg0->unk2C == 4 || arg0->unk2C == 5 || arg0->unk2C == 6); -} - -void fn_1_69C0(void) -{ - float var_f23; - float var_f27; - float var_f26; - StructBss340 *temp_r31; - s16 var_r29; - s32 var_r24; - s32 var_r23; - Process *var_r22; - s32 var_r26; - s32 var_r25; - s32 var_r28; - s32 spA4; - - temp_r31 = HuPrcCurrentGet()->user_data; - temp_r31->unk2C = 0; - temp_r31->unk48 = 0; - temp_r31->unk30 = 0; - while (lbl_1_bss_3E4 == 0) { - HuPrcVSleep(); - } - lbl_1_bss_3E4 = 2; - while (lbl_1_bss_3E4 == 2) { - HuPrcVSleep(); - } - var_r29 = -1; - while (TRUE) { - temp_r31->unk58 = temp_r31->unk4C.x; - temp_r31->unk5C = temp_r31->unk4C.z; - if (temp_r31->unk16[4] != 0) { - break; - } - switch (temp_r31->unk2C) { - case 8: - if (temp_r31->unk3C != 0) { - temp_r31->unk3C--; - } - else { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - temp_r31->unk2C = 0; - } - break; - case 4: - omVibrate(temp_r31->unk20, 12, 4, 2); - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[4], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - temp_r31->unk3C = 90; - temp_r31->unk44 = 30; - temp_r31->unk2C = 5; - break; - case 5: - if (temp_r31->unk44-- == 0) { - temp_r31->unk6C = temp_r31->unk4C.x; - temp_r31->unk70 = temp_r31->unk4C.y; - temp_r31->unk74 = temp_r31->unk4C.z; - temp_r31->unk30 |= 1; - } - if (temp_r31->unk3C != 0) { - temp_r31->unk3C--; - } - else { - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk06[5]); - Hu3DModelAttrReset(temp_r31->unk00, HU3D_MOTATTR_LOOP); - temp_r31->unk2C = 6; - } - break; - case 6: - if (Hu3DMotionEndCheck(temp_r31->unk00) == TRUE) { - Hu3DMotionSet(temp_r31->unk00, temp_r31->unk06[0]); - temp_r31->unk2C = 0; - } - break; - default: - if (fn_1_627C(temp_r31->unk20, 0) > 20) { - temp_r31->unk94 -= temp_r31->unk90; - if (temp_r31->unk94 < 0.0f) { - temp_r31->unk94 += 360.0f; - } - temp_r31->unk60.y = temp_r31->unk94; - } - if (fn_1_627C(temp_r31->unk20, 0) < -20) { - temp_r31->unk94 += temp_r31->unk90; - if (temp_r31->unk94 > 360.0f) { - temp_r31->unk94 -= 360.0f; - } - temp_r31->unk60.y = temp_r31->unk94; - } - if (fn_1_63B4(temp_r31->unk20) & PAD_BUTTON_A) { - temp_r31->unk4C.x += temp_r31->unk88 * sind(temp_r31->unk94); - temp_r31->unk4C.z += temp_r31->unk88 * cosd(temp_r31->unk94); - } - if (fn_1_63B4(temp_r31->unk20) & PAD_BUTTON_B) { - temp_r31->unk4C.x -= temp_r31->unk88 * sind(temp_r31->unk94); - temp_r31->unk4C.z -= temp_r31->unk88 * cosd(temp_r31->unk94); - } - if (fn_1_63B4(temp_r31->unk20) & (PAD_BUTTON_A | PAD_BUTTON_B)) { - if (temp_r31->unk34 != 1) { - if (temp_r31->unk2C != 2) { - temp_r31->unk2C = 2; - if (fn_1_63B4(temp_r31->unk20) & PAD_BUTTON_A) { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); - } - else { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_REV); - Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); - } - if (var_r29 != -1) { - HuAudFXStop(var_r29); - } - } - } - else { - if (temp_r31->unk2C != 3) { - temp_r31->unk2C = 3; - temp_r31->unk48 = 0; - if (fn_1_63B4(temp_r31->unk20) & PAD_BUTTON_A) { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); - } - else { - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_REV); - Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); - } - if (var_r29 != -1) { - HuAudFXStop(var_r29); - } - } - } - if (temp_r31->unk34 != 1) { - var_r24 = 8; - var_r23 = 32; - } - else { - var_r24 = 7; - var_r23 = 22; - } - if (temp_r31->unk48 == var_r24) { - HuAudFXPlay(0x5E0); - } - if (temp_r31->unk48 == var_r23) { - HuAudFXPlay(0x5E0); - } - temp_r31->unk48++; - if (temp_r31->unk34 != 1) { - if (temp_r31->unk48 >= 50) { - temp_r31->unk48 -= 50; - } - } - else { - if (temp_r31->unk48 >= 30) { - temp_r31->unk48 -= 30; - } - } - } - else { - if (ABS_INV(fn_1_627C(temp_r31->unk20, 0)) <= 20) { - if (temp_r31->unk2C != 0) { - temp_r31->unk2C = 0; - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[0], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - if (var_r29 != -1) { - HuAudFXStop(var_r29); - } - } - } - else { - if (temp_r31->unk2C != 1) { - temp_r31->unk2C = 1; - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[3], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSpeedSet(temp_r31->unk00, 1.5f); - var_r29 = HuAudFXPlay(0x5EB); - } - } - } - if (fn_1_63FC(temp_r31) != -1) { } - if ((spA4 = fn_1_65D0(temp_r31)) != -1) { } - break; - } - Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z); - Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk60.x, temp_r31->unk60.y, temp_r31->unk60.z); - HuPrcVSleep(); - } - if (var_r29 != -1) { - HuAudFXStop(var_r29); - } - if (lbl_1_bss_3D8 == 0) { - HuAudFXPlay(0x5EA); - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[0], 0.0f, 2.0f, HU3D_MOTATTR_LOOP); - HuPrcSleep(90); - Hu3DModelAttrReset(temp_r31->unk04, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(temp_r31->unk04, HU3D_MOTATTR_PAUSE); - Hu3DModelPosSet(temp_r31->unk04, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z); - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[7], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - HuAudFXPlay(0x5E3); - HuPrcSleep(15); - HuPrcSleep(30); - temp_r31->unk6C = temp_r31->unk4C.x; - temp_r31->unk70 = temp_r31->unk4C.y; - temp_r31->unk74 = temp_r31->unk4C.z; - temp_r31->unk30 |= 2; - while (!Hu3DMotionEndCheck(temp_r31->unk00)) { - HuPrcVSleep(); - } - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk20].character], temp_r31->unk16[3], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - Hu3DModelHookReset(temp_r31->unk00); - Hu3DModelShadowSet(temp_r31->unk02); - var_f27 = 50.0f; - Hu3DModelPosSet(temp_r31->unk02, temp_r31->unk4C.x, temp_r31->unk4C.y + var_f27, temp_r31->unk4C.z); - HuPrcSleep(60); - for (var_r26 = 0, var_r25 = 0; var_r26 < 90; var_r26++) { - if (var_r25 & 1) { - Hu3DModelAttrReset(temp_r31->unk00, HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(temp_r31->unk04, HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(temp_r31->unk00, HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(temp_r31->unk04, HU3D_ATTR_DISPOFF); - } - var_r25++; - HuPrcVSleep(); - } - Hu3DModelAttrSet(temp_r31->unk04, HU3D_ATTR_DISPOFF); - for (var_r28 = 0, var_f23 = 1.0f; var_r28 < 30; var_r28++) { - var_f23 -= 0.033333335f; - Hu3DModelTPLvlSet(temp_r31->unk00, var_f23); - if (var_f27 > 0.0f) { - var_f27 -= 5.0f; - Hu3DModelPosSet(temp_r31->unk02, temp_r31->unk4C.x, temp_r31->unk4C.y + var_f27, temp_r31->unk4C.z); - } - HuPrcVSleep(); - } - Hu3DModelAttrSet(temp_r31->unk00, HU3D_ATTR_DISPOFF); - HuAudSStreamPlay(4); - HuPrcSleep(180); - } - else { - var_f26 = temp_r31->unk90; - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[3], 0.0f, 2.0f, HU3D_MOTATTR_LOOP); - if (fn_1_14B4(temp_r31->unk60.y) != 0.0f) { - var_r28 = (360.0f - fn_1_14B4(temp_r31->unk60.y)) / var_f26; - if (temp_r31->unk60.y < 180.0f) { - var_r28 = temp_r31->unk60.y / var_f26; - var_f26 = -var_f26; - } - for (; var_r28 != 0; var_r28--) { - temp_r31->unk60.y += var_f26; - Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk60.x, temp_r31->unk60.y, temp_r31->unk60.z); - HuPrcVSleep(); - } - Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk60.x, 0.0f, temp_r31->unk60.z); - } - Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[0], 0.0f, 2.0f, HU3D_MOTATTR_LOOP); - while (lbl_1_bss_3E4 < 5) { - HuPrcVSleep(); - } - HuAudSStreamPlay(1); - var_r22 = HuPrcChildCreate(fn_1_68F4, 0x2000, 0x1000, 0, HuPrcCurrentGet()); - var_r22->user_data = temp_r31; - HuAudPlayerVoicePlay(temp_r31->unk20, 0x122); - CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk20].character], temp_r31->unk16[2], 0.0f, 2.0f, HU3D_MOTATTR_NONE); - temp_r31->unk2C = 10; - HuPrcSleep(180); - } - lbl_1_bss_3E4 = 6; - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_7D3C(void) { } - -void fn_1_7D40(void) -{ - while (TRUE) { - if (omSysExitReq == 1) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuAudFadeOut(1000); - HuPrcSleep(60); - MGSeqKillAll(); - omOvlReturnEx(1, 1); - while (TRUE) { - HuPrcVSleep(); - } - } - HuPrcVSleep(); - } -} - -void fn_1_7DA0(void) -{ - s16 temp_r31; - s16 var_r30; - s16 temp_r26; - s32 var_r24; - s32 i; - - lbl_1_bss_3E4 = 0; - lbl_1_bss_3E4 = 1; - while (lbl_1_bss_3E4 == 1) { - HuPrcVSleep(); - } - var_r24 = HuAudSeqPlay(0x46); - temp_r31 = MGSeqStartCreate(); - while (MGSeqStatGet(temp_r31) != 0) { - HuPrcVSleep(); - } - fn_1_16F8(); - var_r30 = 1859; - temp_r26 = MGSeqTimerCreate(var_r30 / 60); - lbl_1_bss_3E4 = 3; - while (TRUE) { - if (var_r30 < 59) { - break; - } - MGSeqParamSet(temp_r26, 1, var_r30-- / 60); - lbl_1_bss_3E0++; - HuPrcVSleep(); - } - for (i = 0; i < 1; i++) { - lbl_1_bss_340[i].unk1E = 1; - } - lbl_1_bss_3E4 = 4; - HuAudSeqFadeOut(var_r24, 6); - MGSeqParamSet(temp_r26, 2, -1); - temp_r31 = MGSeqFinishCreate(); - while (MGSeqStatGet(temp_r31) != 0) { - HuPrcVSleep(); - } - mgRecordExtra = lbl_1_bss_3D8; - if (GWMGRecordGet(14) < lbl_1_bss_3D8) { - GWMGRecordSet(14, lbl_1_bss_3D8); - temp_r31 = MGSeqRecordCreate(lbl_1_bss_3D8); - HuPrcChildCreate(fn_1_1634, 0x1000, 0x1000, 0, HuPrcCurrentGet()); - fn_1_17A0(lbl_1_bss_3D8, 1); - while (MGSeqStatGet(temp_r31) != 0) { - HuPrcVSleep(); - } - lbl_1_bss_3E4 = 5; - } - else { - lbl_1_bss_3E4 = 5; - } - while (lbl_1_bss_3E4 < 6) { - HuPrcVSleep(); - } - HuPrcSleep(30); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuPrcSleep(60); - HuAudFadeOut(1); - MGSeqKillAll(); - omOvlReturnEx(1, 1); - while (TRUE) { - HuPrcVSleep(); - } -} diff --git a/src/REL/m463Dll/main.c b/src/REL/m463Dll/main.c deleted file mode 100755 index 159940f0..00000000 --- a/src/REL/m463Dll/main.c +++ /dev/null @@ -1,1388 +0,0 @@ -// Panel Panic 9 Player - -#include "game/audio.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/esprite.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - -#include "ext_math.h" - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ float unk08; - /* 0x0C */ s32 unk0C; -} StructBss51C; // Size 0x10 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ float unk04[3]; -} StructBss35C; // Size 0x10 - -typedef struct { - /* 0x00 */ s32 player; - /* 0x00 */ s32 playerCfg; - /* 0x08 */ s32 character; - /* 0x0C */ s32 padIdx; - /* 0x10 */ s32 diff; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ s32 unk1C; - /* 0x20 */ s32 unk20; - /* 0x24 */ s32 unk24; - /* 0x28 */ float unk28; - /* 0x2C */ Vec unk2C; - /* 0x38 */ s32 unk38; - /* 0x3C */ s32 unk3C; - /* 0x40 */ s32 unk40; - /* 0x44 */ s32 unk44; - /* 0x48 */ s32 unk48; - /* 0x48 */ s32 unk4C; - /* 0x50 */ s32 unk50; - /* 0x54 */ s16 parMan; - /* 0x58 */ s32 parManTimer; - /* 0x5C */ s32 unk5C; -} M463PlayerData; // Size 0x60 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ float unk08; - /* 0x0C */ float unk0C; - /* 0x10 */ float unk10; - /* 0x14 */ float unk14; -} StructData134; // Size 0x18 - -s16 fn_1_4474(void); -void fn_1_659C(omObjData *arg0); - -StructBss51C lbl_1_bss_51C[9]; -StructBss35C lbl_1_bss_35C[28]; -omObjData *lbl_1_bss_358; -omObjData *lbl_1_bss_354; -omObjData *playerObjs[9]; -omObjData *lbl_1_bss_32C; -HsfanimStruct00 lbl_1_bss_5C[9]; -s32 lbl_1_bss_58; -s32 lbl_1_bss_54; -s32 lbl_1_bss_50; //// TODO: setup enum when what this is gets figured out -char lbl_1_bss_4C[4]; // unused -s32 lbl_1_bss_48; -s32 lbl_1_bss_44; -Process *lbl_1_bss_40; -s32 lbl_1_bss_3C; -s32 lbl_1_bss_38; -s32 lbl_1_bss_34; -char lbl_1_bss_30[4]; // unused -float lbl_1_bss_2C; -float lbl_1_bss_28; -float lbl_1_bss_24; -float lbl_1_bss_20; -s32 lbl_1_bss_1C; -s32 lbl_1_bss_18; -s32 lbl_1_bss_14; -char lbl_1_bss_E[6]; // unused -s16 lbl_1_bss_C; -char lbl_1_bss_8[4]; // unused -s32 lbl_1_bss_4; -s32 lbl_1_bss_0; - -s32 lbl_1_data_0[9] = { DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38), - DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38), - DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38) }; - -s32 lbl_1_data_24[9] = { 0 }; - -s32 lbl_1_data_48[9] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 2), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 3), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 5), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 6), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 47), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 26), - DATA_MAKE_NUM(DATADIR_M458, 0), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 23), -}; - -u32 lbl_1_data_6C[9] = { 0, 0, 0, 0, 0, 0, 0, 1, 0 }; - -u32 lbl_1_data_90[] = { DATA_MAKE_NUM(DATADIR_BKOOPA, 8), 0, 0, DATA_MAKE_NUM(DATADIR_BKOOPA, 10), 0, DATA_MAKE_NUM(DATADIR_M458, 42), - DATA_MAKE_NUM(DATADIR_M458, 40), DATA_MAKE_NUM(DATADIR_M458, 41), DATA_MAKE_NUM(DATADIR_M458, 39) }; - -u8 lbl_1_data_B4[9] = { 0, 0, 0, 1, 1, 1, 0, 1, 1 }; -u8 lbl_1_data_BD[9] = { 0, 0, 0, 1, 1, 1, 0, 1, 1 }; -s32 lbl_1_data_C8[9] = { 8, 8, 8, 0, 0, 8, 8, 8, 8 }; -s32 lbl_1_data_EC[9] = { 0, 0, 0, 0, 3, 0, 0, 0, 0 }; -s32 lbl_1_data_110[9] = { 8, 8, 8, 8, 8, 8, 8, 8, 8 }; - -StructData134 lbl_1_data_134 = { 0 }; - -s16 lbl_1_data_14C = -1; -s16 lbl_1_data_14E = -1; -s32 lbl_1_data_150 = -1; -s32 lbl_1_data_154 = -1; - -// unused -float lbl_1_data_158[] = { -90.0f, 0.0f, 525.0f, 180.0f, 90.0f, 0.0f, 525.0f, 180.0f }; - -void fn_1_A0(void) -{ - if (HuPadBtnDown[0] & PAD_BUTTON_B) { - Center.x = playerObjs[0]->trans.x; - Center.y = playerObjs[0]->trans.y; - Center.z = playerObjs[0]->trans.z; - } - Center.x += 10.0 * (((HuPadBtn[0] & PAD_BUTTON_RIGHT) != 0) - ((HuPadBtn[0] & PAD_BUTTON_LEFT) != 0)); - Center.z -= 10.0 * (((HuPadBtn[0] & PAD_BUTTON_UP) != 0) - ((HuPadBtn[0] & PAD_BUTTON_DOWN) != 0)); - Center.y += 30.0 * ((HuPadTrigL[0] - HuPadTrigR[0]) / 128.0); - CZoom += 25.0 * (((HuPadBtn[0] & PAD_BUTTON_X) != 0) - ((HuPadBtn[0] & PAD_BUTTON_Y) != 0)); - CRot.y += HuPadSubStkX[0] / 16.0; - CRot.x += HuPadSubStkY[0] / -16.0; - print8(64, 392, 1.0f, "%f,%f,%f", Center.x, Center.y, Center.z); - print8(64, 408, 1.0f, "%f,%f,%f", CRot.x, CRot.y, CRot.z); - print8(64, 424, 1.0f, "%f", CZoom); -} - -s32 lbl_1_data_184 = -1; - -void fn_1_4C8(omObjData *object) -{ - ModelData *model; - ModelData *model2; - float temp_f31; - float temp_f30; - float var_f28; - float temp_f27; - float temp_f26; - float temp_f25; - float var_f24; - float var_f23; - float var_f22; - float var_f21; - float var_f20; - M463PlayerData *data; - s16 var_r28; - s32 temp_r27; - s32 var_r26; - s32 var_r25; - s32 var_r23; - s32 var_r22; - M463PlayerData *iPlayerData; - s32 var_r20; - s32 var_r19; - M463PlayerData *temp_r18; - s32 player; - float sp180[2]; - s32 spE0; - s32 spDC; - s32 spD8; - s32 spD4; - s32 spD0; - s32 spCC; - s32 spC8; - M463PlayerData *spC4; - s32 spC0; - s32 spBC; - M463PlayerData *spB8; - s32 spB4; - u32 spB0; - float spAC; - s32 spA8; - s32 spA4; - s32 spA0; - M463PlayerData *sp9C; - ModelData *sp98; - float sp94; - float sp90; - s32 sp8C; - s32 sp88; - - data = object->data; - var_f23 = 0.0f; - var_f22 = 0.0f; - var_f28 = 0.0f; - var_r22 = 0; - var_r28 = -1; - data->unk2C.x = data->unk2C.z = 0.0f; - if (lbl_1_bss_50 == 1005 && data->unk18 == 3 && data->unk1C >= 360) { - if (data->unk1C == 360) { - data->unk14 = rand8() % 15; - } - if (data->padIdx != -1) { - var_r22 = (HuPadBtnDown[data->padIdx] & PAD_BUTTON_A) ? 1 : 0; - } - else { - data->unk14 += (data->unk14 < 0x10000); - if (data->unk14 == 30) { - var_r22 = 1; - } - } - } - if (data->player < 4 && lbl_1_bss_50 == 1002) { - var_r26 = 0; - var_r25 = 0; - if (data->padIdx != -1) { - var_r26 = (HuPadStkX[data->padIdx] < -20) ? -1 : (HuPadStkX[data->padIdx] > 20) ? 1 : 0; - var_r25 = (-HuPadStkY[data->padIdx] < -20) ? -1 : (-HuPadStkY[data->padIdx] > 20) ? 1 : 0; - var_r22 = (HuPadBtnDown[data->padIdx] & PAD_BUTTON_A) ? 1 : 0; - } - else { - if (lbl_1_bss_54 == 1) { - data->unk14 = rand8() % 64 + 30; - } - data->unk14 -= (data->unk14 > 0); - if (data->unk14 == 1) { - var_r26 = (data->unk3C > 0 ? -1 : 1) * (rand8() % 2); - var_r25 = (data->unk40 > 0 ? -1 : 1) * (rand8() % 2); - } - if (data->unk14 == 0) { - var_r22 = (rand8() % 64 == 1) ? 1 : 0; - } - } - if (lbl_1_bss_54 >= 50 || data->unk50 != 0) { - var_r26 = var_r25 = 0; - } - for (player = 0; player < 4; player++) { - iPlayerData = playerObjs[player]->data; - spD0 = 0; - spCC = 0; - if (player != data->player) { - if (fabs(500.0 * data->unk3C - object->trans.x) < 10.0) { - spE0 = spDC = (object->trans.x < -250.0) ? -1 : (object->trans.x > 250.0) ? 1 : 0; - } - else { - spE0 = (object->trans.x < 0.0f) ? -1 : 0; - spDC = spE0 + 1; - } - if (fabs(500.0 * data->unk40 - object->trans.z) < 10.0) { - spD8 = spD4 = (object->trans.z < -250.0) ? -1 : (object->trans.z > 250.0) ? 1 : 0; - } - else { - spD8 = (object->trans.z < 0.0f) ? -1 : 0; - spD4 = spD8 + 1; - } - for (var_r20 = spE0; var_r20 <= spDC; var_r20++) { - for (var_r19 = spD8; var_r19 <= spD4; var_r19++) { - if (iPlayerData->unk38 == (1 + var_r20 + var_r26) + (1 + var_r19 + var_r25) * 3) { - var_r26 = var_r25 = 0; - } - if (iPlayerData->unk38 == (1 + var_r20 + var_r26) + (1 + var_r19) * 3) { - var_r26 = 0; - } - if (iPlayerData->unk38 == (1 + var_r20) + (1 + var_r19 + var_r25) * 3) { - var_r25 = 0; - } - } - } - } - } - if (var_r26 * (500.0 * data->unk3C - object->trans.x) < 0.0) { - data->unk3C += var_r26; - } - if (fabs(500.0 * data->unk3C - object->trans.x) < 10.0 && var_r26 != 0 && data->unk3C + var_r26 >= -1 - && data->unk3C + var_r26 <= 1) { - data->unk3C += var_r26; - } - var_f23 = ((500.0 * data->unk3C - object->trans.x) / 0.25) / 1.75; - if (var_r25 * (500.0 * data->unk40 - object->trans.z) < 0.0) { - data->unk40 += var_r25; - } - if (fabs(500.0 * data->unk40 - object->trans.z) < 10.0 && var_r25 != 0 && data->unk40 + var_r25 >= -1 - && data->unk40 + var_r25 <= 1) { - data->unk40 += var_r25; - } - var_f22 = ((500.0 * data->unk40 - object->trans.z) / -0.25) / 1.75; - data->unk38 = (data->unk3C + 1) + (data->unk40 + 1) * 3; - } - if (data->unk18 == 0) { - if (lbl_1_bss_50 > (data->player < 4 ? 1001 : 1003) && lbl_1_bss_50 < 1006) { - temp_f31 = 0.25 * var_f23; - temp_f30 = 0.25 * -var_f22; - { - Vec sp1A0 = { 0.0f, 0.0f, 0.0f }; - Mtx sp1D0; - - sp1A0.x = temp_f31; - sp1A0.z = temp_f30; - MTXRotRad(sp1D0, 'y', MTXDegToRad(CRot.y)); - MTXMultVec(sp1D0, &sp1A0, &sp1A0); - temp_f31 = sp1A0.x; - temp_f30 = sp1A0.z; - var_f28 = sqrtf(temp_f31 * temp_f31 + temp_f30 * temp_f30); - if (var_f28 >= 0.5f) { - if (var_f28 < 10.0f) { - data->unk2C.x = temp_f31; - data->unk2C.z += temp_f30; - } - else { - temp_f31 /= var_f28; - temp_f30 /= var_f28; - var_f28 = 10.0f; - data->unk2C.x = temp_f31 * var_f28; - data->unk2C.z = temp_f30 * var_f28; - } - data->unk28 = var_f28; - object->rot.y = atan2d(data->unk2C.x, data->unk2C.z); - if (data->unk28 >= 8.0f) { - var_r28 = 2; - } - else { - var_r28 = 2; - } - } - else { - var_r28 = 0; - } - } - } - } - object->trans.x += 1.75f * data->unk2C.x; - object->trans.z += 1.75f * data->unk2C.z; - switch (lbl_1_bss_50) { - case 1001: - case 1003: - if (lbl_1_bss_50 != (data->player < 4 ? 1001 : 1003)) { - break; - } - if (lbl_1_bss_54 == 0) { - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - if (data->player < 4) { - data->unk38 = (data->player == 0) ? 0 : (data->player == 1) ? 2 : (data->player == 2) ? 6 : 8; - data->unk3C = data->unk38 % 3 - 1; - data->unk40 = data->unk38 / 3 - 1; - object->trans.x = 500.0 * data->unk3C; - object->trans.z = 500.0 * data->unk40; - } - else { - do { - data->unk38 = rand8() % 9; - for (spC8 = 0; spC8 < data->player; spC8++) { - spC4 = playerObjs[spC8]->data; - if (data->unk38 == spC4->unk38) { - break; - } - } - } while (spC8 != data->player); - data->unk3C = data->unk38 % 3 - 1; - data->unk40 = data->unk38 / 3 - 1; - object->trans.x = 500.0 * data->unk3C; - object->trans.z = 500.0 * data->unk40; - } - } - if (lbl_1_bss_54 <= 30) { - if (data->character == -1) { - Hu3DMotionTimeSet(object->model[0], 138.0f); - } - object->trans.y = 2400.0 * (1.0 - lbl_1_bss_54 / 30.0); - } - if (data->character != -1 && lbl_1_bss_54 == 30) { - var_r28 = 4; - } - if (lbl_1_bss_54 == (data->character != -1 ? 10 : 60) + 30) { - var_r28 = 0; - } - if (lbl_1_bss_54 == 30) { - lbl_1_data_134.unk04 += 50; - } - if (lbl_1_bss_54 == 30 && (data->player == 0 || data->player == 4)) { - HuAudFXPlay(0x33D); - } - break; - case 1002: - if (lbl_1_bss_54 != 0 && data->player < 4 && (var_r22 != 0 || lbl_1_bss_0 == 0) && data->unk50 == 0) { - data->unk50 = 1; - lbl_1_bss_14++; - lbl_1_bss_51C[data->unk38].unk08 = 83.333336f; - } - if (data->player != 0) { - break; - } - if (lbl_1_bss_54 == 0) { - lbl_1_bss_0 = 300; - lbl_1_data_14E = MGSeqTimerCreate(10); - HuWinMesMaxSizeGet(1, sp180, MAKE_MESSID(40, 25)); - lbl_1_bss_C = HuWinCreate(-10000.0f, 400.0f, sp180[0], sp180[1], 1); - HuWinBGTPLvlSet(lbl_1_bss_C, 0.0f); - HuWinMesSpeedSet(lbl_1_bss_C, 0); - HuWinMesSet(lbl_1_bss_C, MAKE_MESSID(40, 25)); - } - lbl_1_bss_0--; - if (lbl_1_data_14E != -1) { - MGSeqParamSet(lbl_1_data_14E, 1, (lbl_1_bss_0 + 59) / 60); - } - if (lbl_1_bss_14 >= 4) { - lbl_1_bss_54 = 50; - MGSeqParamSet(lbl_1_data_14E, 2, -1); - lbl_1_data_14E = -1; - HuWinExCleanup(lbl_1_bss_C); - } - if (lbl_1_bss_54 == 50) { - for (var_r23 = 0; var_r23 < 4; var_r23++) { - temp_r18 = playerObjs[var_r23]->data; - if (!(fabs(500.0 * temp_r18->unk3C - playerObjs[var_r23]->trans.x) < 1.0) - || !(fabs(500.0 * temp_r18->unk40 - playerObjs[var_r23]->trans.z) < 1.0) || temp_r18->unk20 != 0) { - break; - } - } - if (var_r23 == 4) { - lbl_1_bss_54 = 60; - } - } - break; - case 1005: - if (data->unk5C != 0) { - if (object->trans.y < -15000.0f) { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - } - else { - object->trans.y -= 77.0f; - } - } - break; - case 1006: - if (lbl_1_bss_54 <= 1) { - Hu3DModelAttrSet(object->model[data->unk44 + 2], HU3D_ATTR_DISPOFF); - lbl_1_bss_51C[data->unk44].unk0C = 0; - } - if (lbl_1_bss_51C[data->unk38].unk0C != 0 || data->unk5C != 0) { - break; - } - if (lbl_1_bss_54 == 120) { - Hu3DModelAttrReset(lbl_1_bss_32C->model[data->unk38 + 1], HU3D_MOTATTR_PAUSE); - } - if (lbl_1_bss_54 == 153) { - Hu3DModelAttrSet(lbl_1_bss_32C->model[data->unk38 + 1], HU3D_MOTATTR_PAUSE); - } - if (lbl_1_bss_54 == 183) { - Hu3DModelAttrReset(lbl_1_bss_32C->model[data->unk38 + 1], HU3D_MOTATTR_PAUSE); - } - if (lbl_1_bss_54 == 210) { - spBC = 0; - for (spC0 = 0; spC0 < 9; spC0++) { - spB8 = playerObjs[spC0]->data; - spBC += (lbl_1_bss_51C[spB8->unk38].unk0C == 0 && spB8->unk5C == 0); - } - var_r28 = 7; - HuAudFXPlayVol(0x7F7 + (data->character != -1 ? data->character : 8), 1651 / (spBC + 12)); - } - if (lbl_1_bss_54 >= 210 && lbl_1_bss_54 <= 214) { - s32 sp1AC[] = { 0, -12, -36, 0, 0, -12, -36, -48, 0 }; - float sp194[] = { 150.0f, 175.0f, 205.0f }; - float sp188[] = { 100.0f, 170.0f, 260.0f }; - - spB4 = data->unk38 % 3 - 1; - spB0 = data->unk38 / 3; - spAC = (lbl_1_bss_54 - 210) / 4.0; - temp_f26 = (lbl_1_bss_54 - 210) / 4.0; - temp_f26 = (temp_f26 > 1.0f) ? 1.0f : temp_f26; - espAttrReset(lbl_1_data_24[data->unk38], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_data_24[data->unk38], 290.0f + spB4 * sp194[spB0], - sp188[spB0] + 0.5 * (64.0f * (1.0f - spAC) * 0.5 + sp1AC[data->character != -1 ? data->character : 8])); - espScaleSet(lbl_1_data_24[data->unk38], 0.5 * temp_f26, 0.5 * temp_f26); - } - if (lbl_1_bss_54 == 270) { - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - espAttrSet(lbl_1_data_24[data->unk38], HUSPR_ATTR_DISPOFF); - } - if (lbl_1_bss_54 == 290) { - spA0 = 0; - for (spA4 = 0; spA4 < 9; spA4++) { - sp9C = playerObjs[spA4]->data; - spA0 += (lbl_1_bss_51C[sp9C->unk38].unk0C == 0 && sp9C->unk5C == 0); - } - spA8 = HuAudFXPlayVol(0x800 + (data->character != -1 ? data->character : 8), 1651 / (spA0 + 12)); - HuAudFXFadeOut(spA8, 0x9C4); - } - if (lbl_1_bss_54 >= 315) { - object->trans.y -= 77.0f; - } - break; - case 1007: - if (data->player == lbl_1_bss_38) { - var_r28 = 8; - if (data->player >= 4 && data->character != -1 && lbl_1_bss_54 == 1) { - HuAudFXPlay(0x809 + data->character); - } - if (data->character == -1 && lbl_1_bss_54 == 1) { - HuAudFXPlay(0x3A); - } - } - else if (object->trans.y < -40000.0f) { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - } - else { - object->trans.y -= 77.0f; - } - break; - } - switch (data->unk18) { - case 0: - data->unk1C++; - break; - case 1: - data->unk1C++; - if (data->unk1C <= 60) { - object->rot.y = -180.0 * (data->unk1C / 60.0); - } - else { - Hu3DMotionTimeSet(object->model[0], 120.0f); - var_r28 = 0; - data->unk18 = 0; - data->unk1C = 0; - } - break; - case 2: - data->unk1C++; - break; - case 3: - if (data->unk1C == 0) { - data->unk48 = 6; - data->unk4C = 0; - } - if (data->unk1C < 360) { - model = &Hu3DData[object->model[1]]; - if (data->unk1C == 0) { - Hu3DModelAttrReset(object->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(object->model[1], object->trans.x, object->trans.y + 625.0f, object->trans.z); - Hu3DModelScaleSet(object->model[1], 0.1f, 0.1f, 0.1f); - Hu3DModelTPLvlSet(object->model[1], 1.0f); - data->unk4C = 0; - if (lbl_1_bss_18 == 0) { - HuAudFXPlay(0x7F4); - lbl_1_data_184 = HuAudFXPlay(0x7F3); - } - lbl_1_bss_18++; - } - model->rot.y = data->unk4C % 360; - data->unk4C += 25; - if (data->unk1C < 180) { - var_f20 = 0.0f; - var_f21 = 1.0f; - } - else { - var_f20 = 1.0f; - var_f21 = 0.5f; - } - model->scale.x = var_f20 + var_f21 * sind((float)(data->unk1C % 180)); - model->scale.y = model->scale.z = model->scale.x; - if (data->unk1C < 180) { - data->unk1C += 6; - } - else { - data->unk1C += 18; - } - if (data->unk1C >= 360) { - data->unk1C = 360; - Hu3DModelRotSet(object->model[1], 0.0f, 0.0f, 0.0f); - } - } - else { - sp98 = &Hu3DData[object->model[1]]; - data->unk1C += 4; - if (data->unk1C > 720) { - data->unk1C -= 360; - } - sp98->pos.y += 0.2f * sind(data->unk1C - 360); - if (var_r22 != 0 || lbl_1_bss_0 == 0) { - lbl_1_bss_54 = 50; - data->unk18 = 4; - data->unk1C = 0; - var_r28 = 5; - } - } - break; - case 4: - data->unk1C++; - if (data->unk1C < 27) { - break; - } - model2 = &Hu3DData[object->model[1]]; - temp_r27 = data->unk1C - 27; - if (temp_r27 == 0) { - if (data->playerCfg != -1) { - omVibrate(data->playerCfg, 12, 4, 2); - } - data->unk48 = -1; - lbl_1_bss_18--; - if (lbl_1_bss_18 == 0 && lbl_1_data_184 != -1) { - HuAudFXStop(lbl_1_data_184); - lbl_1_data_184 = -1; - } - HuAudFXPlay(0x7F5); - } - if (temp_r27 == 8) { - if (data->parMan == -1) { - lbl_1_bss_58 = data->player; - data->parMan = fn_1_4474(); - Hu3DParManPosSet(data->parMan, model2->pos.x, model2->pos.y, model2->pos.z); - data->parManTimer = 150; - } - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - } - else if (temp_r27 > 8) { - if (data->unk20 == 5) { - if (Hu3DMotionTimeGet(object->model[0]) >= Hu3DMotionMaxTimeGet(object->model[0])) { - var_r28 = 0; - } - } - if (temp_r27 <= 28) { - temp_f27 = (temp_r27 - 8) / 10.0; - sp94 = (temp_r27 - 8) * 18; - temp_f27 = (temp_f27 > 1.0f) ? 2.5 : (2.5 * temp_f27); - Hu3DModelAttrReset(object->model[data->unk44 + 2], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(object->model[data->unk44 + 2], model2->pos.x, model2->pos.y, model2->pos.z); - Hu3DModelScaleSet(object->model[data->unk44 + 2], temp_f27, temp_f27, temp_f27); - } - if (temp_r27 >= 45 && temp_r27 <= 65) { - temp_f25 = (temp_r27 - 45) / 5.0; - sp90 = (temp_r27 - 45) * 18; - temp_f25 = (temp_f25 > 1.0f) ? 1.0f : temp_f25; - temp_f25 = 0.0f; - Hu3DModelAttrReset(object->model[data->unk44 + 2], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(object->model[data->unk44 + 2], model2->pos.x, model2->pos.y - 30.0f * temp_f25, model2->pos.z); - data->unk1C += 5; - } - if (temp_r27 == 158) { - data->unk18 = 0; - data->unk1C = 0; - } - } - else { - if (temp_r27 < 4) { - model2->pos.y += 10.0f + 0.5f * temp_r27; - model2->scale.x += 0.1f * sind(4.0f * temp_r27); - model2->scale.y = model2->scale.z = model2->scale.x; - } - else { - var_f24 = 255 - (temp_r27 << 5); - var_f24 = var_f24 * (1.0f / 255); - Hu3DModelTPLvlSet(object->model[1], var_f24); - } - model2->pos.y += -0.49f * temp_r27 * temp_r27; - } - break; - case 5: - if (data->unk1C == 0) { - Hu3DModelAttrReset(lbl_1_bss_32C->model[data->unk44 + 1], HU3D_MOTATTR_PAUSE); - lbl_1_bss_51C[data->unk44].unk0C = 0; - if (lbl_1_bss_35C->unk00 < 3) { - lbl_1_bss_35C->unk04[lbl_1_bss_35C->unk00] = 0.0f; - lbl_1_bss_35C->unk00++; - } - } - data->unk1C++; - if (data->unk1C == 60 && data->parMan != -1) { - Hu3DParManKill(data->parMan); - data->parMan = -1; - } - if (data->unk1C == 33) { - Hu3DModelAttrSet(lbl_1_bss_32C->model[data->unk44 + 1], HU3D_MOTATTR_PAUSE); - } - if (data->unk1C == 63) { - Hu3DModelAttrReset(lbl_1_bss_32C->model[data->unk44 + 1], HU3D_MOTATTR_PAUSE); - } - if (data->unk1C == 68 && lbl_1_bss_35C[1].unk00 < 3) { - lbl_1_bss_35C[1].unk04[lbl_1_bss_35C[1].unk00] = 0.0f; - lbl_1_bss_35C[1].unk00++; - } - if (data->unk1C == 130) { - data->unk18 = 0; - data->unk1C = 0; - } - break; - } - if ((data->unk18 == 3 || data->unk18 == 4) && data->unk48 >= 0) { - data->unk48++; - if (data->unk48 >= 6) { - sp88 = data->unk44; - for (sp8C = 0; sp8C < 50; sp8C++) { - do { - data->unk44 = rand8() % 9; - if (data->unk44 >= 9) { - break; - } - } while (lbl_1_bss_51C[data->unk44].unk0C == 0); - if (sp88 != data->unk44) { - break; - } - } - sp88 = data->unk44; - data->unk48 = 0; - Hu3DMotionTimeSet(object->model[1], 0.5 + sp88); - } - } - if (data->unk24 >= 0) { - var_r28 = data->unk24; - } - if (var_r28 >= 0 && var_r28 != data->unk20) { - Hu3DMotionShiftSet(object->model[0], object->motion[var_r28], lbl_1_data_EC[var_r28], - (data->character != -1) ? lbl_1_data_C8[var_r28] : lbl_1_data_110[var_r28], - (var_r28 == 7) ? HU3D_MOTATTR_PAUSE - : (data->character != -1 ? lbl_1_data_B4[var_r28] : lbl_1_data_BD[var_r28]) ? 0 - : HU3D_MOTATTR_LOOP); - data->unk20 = var_r28; - } - data->parManTimer -= (data->parManTimer > -1); - if (data->parManTimer == 0) { - if (data->parMan != -1) { - Hu3DParManKill(data->parMan); - data->parMan = -1; - } - data->parManTimer = -1; - } -} - -s32 lbl_1_data_1A4[4] = { 0 }; -s32 lbl_1_data_1B4 = -1; -float lbl_1_data_1B8 = 3500.0f; -float lbl_1_data_1BC = 100.0f; -float lbl_1_data_1C0 = -59.0f; - -static inline void fn3264_unkInline(void) { - float var_f31; - s32 var_r26 = lbl_1_data_1B4; - float sp30[][6] = { { 3500.0f, 0.0f, 100.0f, 0.0f, -59.0f, 0.0f }, { 3200.0f, 0.0f, 100.0f, 0.0f, -30.0f, 0.0f }, - { 3800.0f, 0.0f, 100.0f, 0.0f, -30.0f, 0.0f }, { 2000.0f, 0.0f, 200.0f, 0.0f, -30.0f, 0.0f }, - { 4000.0f, 0.0f, 200.0f, 0.0f, -89.0f, 0.0f }, { 2700.0f, 0.0f, 200.0f, 0.0f, -30.0f, 0.0f } }; - - if (lbl_1_bss_38 != -1 && lbl_1_bss_38 != 9) { - sp30[5][1] = playerObjs[lbl_1_bss_38]->trans.x; - sp30[5][3] = playerObjs[lbl_1_bss_38]->trans.z; - } - if (lbl_1_data_1B4 == -1) { - lbl_1_data_1B4 = 0; - lbl_1_bss_1C = 1; - lbl_1_bss_20 = 1.0f; - } - if (lbl_1_data_1B4 == 0) { - lbl_1_data_1B4 = 1; - lbl_1_bss_1C = 1; - lbl_1_bss_20 = 0.5f; - } - if (lbl_1_bss_50 == 1004 && lbl_1_bss_54 >= 1 && lbl_1_data_1B4 == 1) { - lbl_1_data_1B4 = 2; - lbl_1_bss_1C = 0; - lbl_1_bss_20 = 0.0f; - } - if (lbl_1_bss_50 == 1006 && lbl_1_bss_54 >= 270 && lbl_1_data_1B4 == 2) { - lbl_1_data_1B4 = 4; - lbl_1_bss_1C = 1; - lbl_1_bss_20 = 1.0f; - } - if (lbl_1_bss_50 == 1005 && lbl_1_data_1B4 == 4) { - lbl_1_data_1B4 = 2; - lbl_1_bss_1C = 0; - lbl_1_bss_20 = 0.0f; - } - if (lbl_1_bss_50 == 1007 && lbl_1_bss_38 != 9 && lbl_1_data_1B4 == 4) { - lbl_1_data_1B4 = 5; - lbl_1_bss_1C = 0; - lbl_1_bss_20 = 0.0f; - } - if (var_r26 != lbl_1_data_1B4 && var_r26 != -1) { - lbl_1_data_1B8 = CZoom; - lbl_1_data_1BC = Center.y; - lbl_1_bss_28 = Center.z; - lbl_1_data_1C0 = CRot.x; - lbl_1_bss_2C = CRot.y; - } - if (lbl_1_bss_20 <= 1.0f) { - if (lbl_1_bss_1C == 0) { - lbl_1_bss_20 = 1.0 - 0.95 * (1.0f - lbl_1_bss_20); - var_f31 = lbl_1_bss_20; - } - else { - lbl_1_bss_20 += 0.008333333333333333; - lbl_1_bss_20 = (lbl_1_bss_20 > 1.0f) ? 1.0f : lbl_1_bss_20; - var_f31 = 0.5 + -0.5 * cosd(180.0f * lbl_1_bss_20); - } - lbl_1_bss_20 = (lbl_1_bss_20 > 1.0f) ? 1.0f : lbl_1_bss_20; - CZoom = var_f31 * sp30[lbl_1_data_1B4][0] + lbl_1_data_1B8 * (1.0f - var_f31); - Center.x = var_f31 * sp30[lbl_1_data_1B4][1] + lbl_1_bss_24 * (1.0f - var_f31); - Center.y = var_f31 * sp30[lbl_1_data_1B4][2] + lbl_1_data_1BC * (1.0f - var_f31); - Center.z = var_f31 * sp30[lbl_1_data_1B4][3] + lbl_1_bss_28 * (1.0f - var_f31); - CRot.x = var_f31 * sp30[lbl_1_data_1B4][4] + lbl_1_data_1C0 * (1.0f - var_f31); - CRot.y = var_f31 * sp30[lbl_1_data_1B4][5] + lbl_1_bss_2C * (1.0f - var_f31); - } -} - -void fn_1_3264(omObjData *arg0) -{ - float temp_f29; - float temp_f26; - float temp_f27; - float temp_f28; - M463PlayerData *spC[9]; - ModelData *temp_r29; - ModelData *temp_r28; - s32 var_r27; - s32 i; - s32 j; - - for (i = 0; i < 9; i++) { - spC[i] = playerObjs[i]->data; - } - lbl_1_bss_4++; - switch (lbl_1_bss_50) { - case 1002: - lbl_1_bss_34++; - lbl_1_bss_34 %= 360; - /* fallthrough */ - case 1003: - var_r27 = 0; - for (i = 0; i < 4; i++) { - if (spC[i]->unk50 == 0 || spC[i]->unk20 != 0) { - continue; - } - temp_r29 = &Hu3DData[lbl_1_bss_32C->model[spC[i]->unk38 + 1]]; - if (var_r27 == 0 && lbl_1_data_1A4[i] == 0) { - lbl_1_data_1A4[i] = 1; - var_r27 = 1; - HuAudFXPlay(0x7F6); - } - temp_r29->pos.y = 0.9 * temp_r29->pos.y + 0.1 * lbl_1_bss_51C[spC[i]->unk38].unk08; - playerObjs[i]->trans.y = temp_r29->pos.y - -16.666666666666668; - playerObjs[i]->rot.y = 0.0f; - } - break; - case 1004: - if (lbl_1_bss_54 <= 60) { - temp_f29 = lbl_1_bss_54 / 60.0; - temp_f29 = 1.0f - (1.0f - temp_f29) * (1.0f - temp_f29); - if (lbl_1_bss_54 == 0) { - lbl_1_bss_51C[spC[0]->unk38].unk08 = -16.666666f; - } - for (i = 0; i < 9; i++) { - temp_r28 = &Hu3DData[lbl_1_bss_32C->model[i + 1]]; - Hu3DModelPosSet(lbl_1_bss_32C->model[i + 1], (500.0 + 200.0f * temp_f29) * (lbl_1_bss_51C[i].unk00 - 1), - 0.9 * temp_r28->pos.y + 0.1 * lbl_1_bss_51C[spC[0]->unk38].unk08, (500.0 + 200.0f * temp_f29) * (lbl_1_bss_51C[i].unk04 - 1)); - for (j = 0; j < 9; j++) { - if (i == spC[j]->unk38) { - playerObjs[j]->trans.x = (500.0 + 200.0f * temp_f29) * (lbl_1_bss_51C[i].unk00 - 1); - playerObjs[j]->trans.y = temp_r28->pos.y - -16.666666666666668; - playerObjs[j]->trans.z = (500.0 + 200.0f * temp_f29) * (lbl_1_bss_51C[i].unk04 - 1); - } - } - } - } - break; - } - fn3264_unkInline(); - if (lbl_1_bss_50 == 1001 || lbl_1_bss_50 == 1003) { - temp_f26 = 0.0f; - temp_f27 = 0.0f; - if (lbl_1_data_134.unk00 % 2 >= 0) { - lbl_1_data_134.unk08 = lbl_1_data_134.unk10; - lbl_1_data_134.unk0C = lbl_1_data_134.unk14; - do { - lbl_1_data_134.unk10 = 2.0 * (rand8() / 255.0) - 1.0; - lbl_1_data_134.unk14 = 2.0 * (rand8() / 255.0) - 1.0; - lbl_1_data_134.unk10 = 0.0f; - temp_f28 = (lbl_1_data_134.unk10 - lbl_1_data_134.unk08) * (lbl_1_data_134.unk10 - lbl_1_data_134.unk08) - + (lbl_1_data_134.unk14 - lbl_1_data_134.unk0C) * (lbl_1_data_134.unk14 - lbl_1_data_134.unk0C); - } while (sqrtf(temp_f28) < 0.75); - } - lbl_1_data_134.unk04 = (lbl_1_data_134.unk04 > 24) ? 24 : (lbl_1_data_134.unk04 > 0) ? lbl_1_data_134.unk04 : 0; - temp_f26 = lbl_1_data_134.unk08; - temp_f27 = lbl_1_data_134.unk0C; - temp_f26 *= lbl_1_data_134.unk04 * 2; - temp_f27 *= lbl_1_data_134.unk04 * 2; - lbl_1_data_134.unk00 = !lbl_1_data_134.unk00; - lbl_1_data_134.unk04 = (lbl_1_data_134.unk04 > 24) ? 23 : (lbl_1_data_134.unk04 - 1 > 0) ? (lbl_1_data_134.unk04 - 1) : 0; - Center.x = 0.0f; - Center.y = 100.0f + temp_f27; - } -} - -s16 fn_1_4474(void) -{ - AnimData *var_r29; - void *var_r28; - s16 var_r31; - s16 var_r30; - HsfanimStruct00 sp8 = { 0x96, { 0x00, 0x00 }, 50.0f, 0.0f, 65.0f, { 0.0f, -0.195f, 0.0f }, 80.0f, 0.99f, 40.0f, 0.999f, 4, - { { 0xFF, 0xFF, 0x20, 0xFF }, { 0xFF, 0xFF, 0x00, 0xFF }, { 0xFF, 0xFF, 0x80, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF } }, - { { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 } } }; - - lbl_1_bss_5C[lbl_1_bss_58] = sp8; - var_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_BOARD, 107), MEMORY_DEFAULT_NUM, HEAP_DATA); - var_r29 = HuSprAnimRead(var_r28); - var_r31 = Hu3DParManCreate(var_r29, 40, &lbl_1_bss_5C[lbl_1_bss_58]); - Hu3DParManAttrSet(var_r31, 8 | 0x100); - Hu3DParManRotSet(var_r31, 0.0f, 0.0f, 0.0f); - Hu3DParManVecSet(var_r31, 0.0f, 0.4f, 0.2f); - var_r30 = Hu3DParManModelIDGet(var_r31); - Hu3DModelLayerSet(var_r30, 2); - Hu3DParticleBlendModeSet(var_r30, 0); - return var_r31; -} - -void fn_1_45F8(omObjData *arg0) -{ - M463PlayerData *sp14[9]; - float spC[2]; - s32 sp8; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r30; - s32 i; - - for (i = 0; i < 28; i++) { - s32 sp38[] = { 0x7F1, 0x7F2, 0x7F7, 0x7F8, 0x7F9, 0x7FA, 0x7FB, 0x7FC, 0x7FD, 0x7FE, 0x7FF, 0x800, 0x801, 0x802, 0x803, 0x804, 0x7FB, 0x7FC, - 0x7FD, 0x7FE, 0x7FF, 0x800, 0x801, 0x802, 0x803, 0x804, 0x7FB, 0x7FC }; - - if (lbl_1_bss_35C[i].unk00 > 3) { - lbl_1_bss_35C[i].unk00 = 3; - } - if (lbl_1_bss_35C[i].unk00 > 0) { - sp8 = HuAudFXPlay(sp38[i]); - lbl_1_bss_35C[i].unk00--; - } - } - for (i = 0; i < 9; i++) { - sp14[i] = playerObjs[i]->data; - } - if (omSysExitReq != 0 && WipeStatGet() == 0) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - arg0->func = fn_1_659C; - } - switch (lbl_1_bss_50) { - case 1000: - if (WipeStatGet() != 0) { - break; - } - lbl_1_bss_50++; - lbl_1_bss_54 = 0; - for (i = 0; i < 9; i++) { - if (sp14[i]->parMan != -1) { - Hu3DParManKill(sp14[i]->parMan); - sp14[i]->parMan = -1; - } - } - break; - case 1001: - lbl_1_bss_54++; - if (lbl_1_bss_54 == 90 && lbl_1_data_14C < 0) { - lbl_1_data_14C = MGSeqStartCreate(); - } - if (lbl_1_bss_54 >= 90 && lbl_1_data_150 == -1 && (MGSeqStatGet(lbl_1_data_14C) & 0x10)) { - lbl_1_data_150 = HuAudSeqPlay(0x49); - } - if (lbl_1_bss_54 >= 90 && MGSeqStatGet(lbl_1_data_14C) == 0 && lbl_1_data_14C >= 0) { - lbl_1_bss_50 = 1002; - lbl_1_bss_54 = 0; - } - break; - case 1002: - lbl_1_bss_54 += (lbl_1_bss_54 < 30); - if (lbl_1_bss_54 >= 60) { - lbl_1_bss_50++; - lbl_1_bss_54 = 0; - } - break; - case 1003: - lbl_1_bss_54++; - if (lbl_1_bss_54 == (sp14[1]->character == -1 ? 120 : 60) + 30) { - lbl_1_bss_50++; - if (sp14[1]->character == -1) { - lbl_1_bss_50++; - } - lbl_1_bss_54 = 0; - } - break; - case 1004: - lbl_1_bss_54++; - if (lbl_1_bss_54 == 90) { - lbl_1_bss_50++; - lbl_1_bss_54 = 0; - } - break; - case 1005: - if (lbl_1_bss_54 == 0) { - for (i = 0; i < 9; i++) { - if (lbl_1_bss_51C[sp14[i]->unk38].unk0C != 0) { - sp14[i]->unk18 = 3; - sp14[i]->unk1C = 0; - } - else { - sp14[i]->unk5C = 1; - } - } - HuWinMesMaxSizeGet(1, spC, MAKE_MESSID(48, 37)); - lbl_1_bss_C = HuWinCreate(-10000.0f, 400.0f, spC[0], spC[1], 1); - HuWinBGTPLvlSet(lbl_1_bss_C, 0.0f); - HuWinMesSpeedSet(lbl_1_bss_C, 0); - HuWinMesSet(lbl_1_bss_C, MAKE_MESSID(48, 37)); - lbl_1_bss_0 = 180; - } - lbl_1_bss_54++; - if (lbl_1_bss_54 == 30) { - lbl_1_data_14E = MGSeqTimerCreate(10); - MGSeqPosSet(lbl_1_data_14E, 489.6f, 64.0f); - } - if (lbl_1_bss_54 >= 30 && lbl_1_data_14E != -1) { - var_r29 = 0; - for (i = 0; i < 9; i++) { - if (lbl_1_bss_51C[sp14[i]->unk38].unk0C == 0 || sp14[i]->unk18 == 4 || sp14[i]->unk18 == 0) { - var_r29++; - } - } - if (var_r29 >= 9 || lbl_1_bss_0 == 0) { - MGSeqParamSet(lbl_1_data_14E, 2, -1); - lbl_1_data_14E = -1; - } - else { - lbl_1_bss_0 -= (lbl_1_bss_0 > 0); - MGSeqParamSet(lbl_1_data_14E, 1, (lbl_1_bss_0 + 59) / 60); - } - } - var_r28 = 0; - for (i = 0; i < 9; i++) { - if (lbl_1_bss_51C[sp14[i]->unk38].unk0C == 0 || sp14[i]->unk18 == 0) { - var_r28++; - } - } - if (var_r28 >= 9) { - lbl_1_bss_50++; - lbl_1_bss_54 = 0; - } - break; - case 1006: - if (lbl_1_bss_54 == 1) { - HuWinExCleanup(lbl_1_bss_C); - } - lbl_1_bss_54++; - if (lbl_1_bss_54 == 3) { - lbl_1_bss_54 = 118; - } - if (lbl_1_bss_54 == 223) { - lbl_1_bss_54 = 233; - } - if (lbl_1_bss_54 == 120 && lbl_1_bss_35C->unk00 < 3) { - lbl_1_bss_35C->unk04[lbl_1_bss_35C->unk00] = 0.0f; - lbl_1_bss_35C->unk00++; - } - if (lbl_1_bss_54 == 188 && lbl_1_bss_35C[1].unk00 < 3) { - lbl_1_bss_35C[1].unk04[lbl_1_bss_35C[1].unk00] = 0.0f; - lbl_1_bss_35C[1].unk00++; - } - if (lbl_1_bss_54 == 360) { - var_r30 = 0; - var_r27 = -1; - for (i = 0; i < 9; i++) { - var_r30 += lbl_1_bss_51C[i].unk0C; - var_r27 = (lbl_1_bss_51C[sp14[i]->unk38].unk0C != 0) ? i : var_r27; - } - if (var_r30 <= 1) { - lbl_1_bss_38 = (var_r30 == 0) ? 9 : var_r27; - } - if (lbl_1_bss_38 != -1) { - lbl_1_data_14C = MGSeqFinishCreate(); - if (lbl_1_data_150 != -1) { - HuAudSeqFadeOut(lbl_1_data_150, 100); - } - } - } - if (lbl_1_bss_54 >= 480) { - if (lbl_1_bss_38 != -1) { - if (MGSeqStatGet(lbl_1_data_14C) == 0 && lbl_1_bss_54 >= 510) { - lbl_1_bss_50 = 1007; - lbl_1_bss_54 = 0; - } - } - else { - lbl_1_bss_50 = 1005; - lbl_1_bss_54 = 0; - } - } - break; - case 1007: - lbl_1_bss_54++; - if (lbl_1_bss_54 == 1) { - if (lbl_1_bss_38 != 9) { - if (lbl_1_bss_38 < 9) { - HuAudSStreamPlay(1); - } - else { - HuAudSStreamPlay(1); - } - if (lbl_1_bss_38 < 4 && sp14[lbl_1_bss_38]->playerCfg != -1) { - GWPlayerCoinWinSet(sp14[lbl_1_bss_38]->playerCfg, 10); - } - } - else if (lbl_1_bss_38 == 9) { - HuAudSStreamPlay(4); - } - } - if (210.0f + (lbl_1_bss_38 == 9 ? 60 : 0) < lbl_1_bss_54) { - if (lbl_1_data_154 != -1) { - HuAudFXStop(lbl_1_data_154); - lbl_1_data_154 = -1; - } - lbl_1_data_14C = -1; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - arg0->func = fn_1_659C; - } - break; - } -} - -void fn_1_53A0(omObjData *arg0) -{ - M463PlayerData *sp50[9]; - s32 i; - - for (i = 0; i < 9; i++) { - sp50[i] = playerObjs[i]->data; - } - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M458, 8)); - Hu3DModelAttrSet(arg0->model[0], HU3D_MOTATTR_LOOP); - Hu3DMotionSpeedSet(arg0->model[0], 0.1f); - for (i = 0; i < 9; i++) { - arg0->model[i + 1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M458, 10 + i)); - lbl_1_bss_51C[i].unk00 = i % 3; - lbl_1_bss_51C[i].unk04 = i / 3; - lbl_1_bss_51C[i].unk08 = 0.0f; - lbl_1_bss_51C[i].unk0C = 1; - Hu3DModelPosSet(lbl_1_bss_32C->model[i + 1], 500.0 * (lbl_1_bss_51C[i].unk00 - 1), -16.666666f, 500.0 * (lbl_1_bss_51C[i].unk04 - 1)); - Hu3DModelScaleSet(lbl_1_bss_32C->model[i + 1], 1.6666666f, 1.6666666f, 1.6666666f); - Hu3DModelAttrSet(arg0->model[i + 1], HU3D_MOTATTR_PAUSE); - Hu3DModelShadowMapSet(arg0->model[i + 1]); - Hu3DModelLayerSet(arg0->model[i + 1], 1); - } - for (i = 0; i < 9; i++) { - s32 sp2C[9] = { 288, 290 }; - s32 sp8[9] = { 240, 140 }; - - lbl_1_data_24[i] = espEntry(lbl_1_data_0[i], 0, 0); - espDrawNoSet(lbl_1_data_24[i], 0); - espAttrSet(lbl_1_data_24[i], HUSPR_ATTR_NOANIM | HUSPR_ATTR_DISPOFF); - espBankSet(lbl_1_data_24[i], 0); - espPriSet(lbl_1_data_24[i], 0x80 - i); - espPosSet(lbl_1_data_24[i], 290.0f, 140.0f); - espTPLvlSet(lbl_1_data_24[i], 1.0f); - } - arg0->func = fn_1_3264; -} - -s32 lbl_1_data_1E4[] = { DATA_MAKE_NUM(DATADIR_M458, 19), DATA_MAKE_NUM(DATADIR_M458, 20), DATA_MAKE_NUM(DATADIR_M458, 21), - DATA_MAKE_NUM(DATADIR_M458, 22), DATA_MAKE_NUM(DATADIR_M458, 23), DATA_MAKE_NUM(DATADIR_M458, 24), DATA_MAKE_NUM(DATADIR_M458, 25), - DATA_MAKE_NUM(DATADIR_M458, 26), DATA_MAKE_NUM(DATADIR_M458, 27), DATA_MAKE_NUM(DATADIR_M458, 28), DATA_MAKE_NUM(DATADIR_M458, 29) }; - -void fn_1_5850(omObjData *arg0) -{ - M463PlayerData *data; - s32 sp10[] = { 0, 1, 2, 3 }; - s32 var_r25; - s32 var_r28; - s32 i; - s32 j; - - var_r25 = 0; - data = arg0->data; - memset(data, 0, sizeof(*data)); - data->player = arg0->work[0]; - if (data->player >= 4) { - var_r28 = -1; - for (i = 0; i <= data->player - 4; i++) { - do { - var_r28++; - } while (GWPlayerCfg[0].character == var_r28 || GWPlayerCfg[1].character == var_r28 || GWPlayerCfg[2].character == var_r28 - || GWPlayerCfg[3].character == var_r28); - } - data->character = (var_r28 == 8) ? -1 : var_r28; - data->padIdx = -1; - data->playerCfg = -1; - data->diff = 0; - } - else { - for (i = 0; i < 4; i++) { - for (j = 0; j < 4; j++) { - if (i == GWPlayerCfg[j].group) { - sp10[var_r25] = j; - var_r25++; - } - } - } - data->player = arg0->work[0]; - data->playerCfg = sp10[data->player]; - if (data->playerCfg == 4) { - OSReport("m463:wrong player group\n"); - data->playerCfg = data->player; - } - data->character = GWPlayerCfg[data->playerCfg].character; - data->padIdx = (data->character == -1 || GWPlayerCfg[data->playerCfg].iscom) ? -1 : GWPlayerCfg[data->playerCfg].pad_idx; - data->diff = (data->padIdx != -1) ? 0 : GWPlayerCfg[data->playerCfg].diff; - } - data->unk18 = 0; - data->unk20 = 3; - data->unk24 = -1; - data->unk48 = -1; - if (data->character != -1) { - arg0->model[0] = CharModelCreate(data->character, 4); - } - else { - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_BKOOPA, 7)); - } - omSetTra(arg0, 0.0f, data->player == 0 ? 0 : 300, 0.0f); - if (data->character != -1) { - omSetSca(arg0, 2.5f, 2.5f, 2.5f); - } - else { - omSetSca(arg0, 2.0f, 2.0f, 2.0f); - } - for (i = 0; i < 9; i++) { - if (data->character != -1) { - if (data->player < 4 || (i != 1 && i != 2)) { - arg0->motion[i] = CharModelMotionCreate(data->character, lbl_1_data_48[i] + (lbl_1_data_6C[i] ? data->character : 0)); - } - } - else if (lbl_1_data_90[i] != 0) { - arg0->motion[i] = Hu3DJointMotionFile(arg0->model[0], lbl_1_data_90[i]); - } - } - Hu3DMotionSet(arg0->model[0], arg0->motion[data->unk20]); - Hu3DMotionTimeSet(arg0->model[0], 10.0f); - Hu3DModelAttrReset(arg0->model[0], HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(arg0->model[0]); - Hu3DModelAttrSet(arg0->model[0], 1U); - Hu3DModelLayerSet(arg0->model[0], 1); - CharModelLayerSetAll2(1); - if (data->character != -1) { - CharModelDataClose(data->character); - } - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M458, 9)); - Hu3DModelAttrSet(arg0->model[1], HU3D_MOTATTR_LOOP); - Hu3DModelPosSet(arg0->model[1], 0.0f, 400.0f, 0.0f); - Hu3DModelAttrSet(arg0->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(arg0->model[1], 1); - Hu3DMotionSpeedSet(arg0->model[1], 0.0f); - for (i = 0; i < 9; i++) { - if (data->player == 0) { - arg0->model[i + 2] = Hu3DModelCreateFile(lbl_1_data_1E4[i]); - } - else { - arg0->model[i + 2] = Hu3DModelLink(playerObjs[0]->model[i + 2]); - } - Hu3DMotionTimeSet(arg0->model[i + 2], 10.0f); - Hu3DMotionSpeedSet(arg0->model[i + 2], 0.0f); - Hu3DModelAttrSet(arg0->model[i + 2], HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(arg0->model[i + 2], 1); - } - lbl_1_bss_58 = data->player; - data->parMan = fn_1_4474(); - Hu3DParManPosSet(data->parMan, 10000.0f, -10000.0f, 10000.0f); - arg0->func = fn_1_4C8; -} - -void fn_1_60A4(omObjData *arg0) -{ - lbl_1_bss_50 = 1000; - lbl_1_bss_54 = 0; - lbl_1_bss_48 = 0; - lbl_1_bss_44 = 0; - lbl_1_data_154 = HuAudFXPlay(0x6D7); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - arg0->func = fn_1_45F8; -} - -void ObjectSetup(void) -{ - omObjData *var_r30; - s32 i; - - OSReport("******* M463 ObjectSetup *********\n"); - lbl_1_bss_40 = omInitObjMan(600, 0x2000); - omGameSysInit(lbl_1_bss_40); - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 30.0f, 20.0f, 25000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - CZoom = 3200.0f; - Center.x = 0.0f; - Center.y = 0.0f; - Center.z = -100.0f; - CRot.x = -30.0f; - CRot.y = 0.0f; - CRot.z = 0.0f; - { - Vec sp3C = { 0.0f, 0.0f, 0.0f }; - Vec sp30 = { 0.25f, -0.75f, -0.45f }; - GXColor sp8 = { 0xFF, 0xFF, 0xFF, 0xFF }; - - lbl_1_bss_3C = Hu3DGLightCreateV(&sp3C, &sp30, &sp8); - } - Hu3DGLightStaticSet(lbl_1_bss_3C, 1); - Hu3DGLightInfinitytSet(lbl_1_bss_3C); - { - Vec sp24; - Vec sp18; - Vec spC; - - sp24.x = 0.0f; - sp24.y = 10000.0f; - sp24.z = 0.0f; - sp18.x = 0.0f; - sp18.y = 1.0f; - sp18.z = 0.0f; - spC.x = 0.0f; - spC.y = 0.0f; - spC.z = 0.5f; - Hu3DShadowCreate(12.0f, 9000.0f, 10010.0f); - Hu3DShadowTPLvlSet(0.625f); - Hu3DShadowPosSet(&sp24, &sp18, &spC); - } - Hu3DShadowSizeSet(0xE0); - lbl_1_data_14C = -1; - lbl_1_bss_38 = -1; - HuWinInit(1); - lbl_1_bss_32C = omAddObjEx(lbl_1_bss_40, 0x65, 10, 0, 1, fn_1_53A0); - for (i = 0; i < 9; i++) { - var_r30 = playerObjs[i] = omAddObjEx(lbl_1_bss_40, 100, 11, 9, 0, fn_1_5850); - var_r30->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M463PlayerData), MEMORY_DEFAULT_NUM); - var_r30->work[0] = i; - } - lbl_1_bss_354 = omAddObjEx(lbl_1_bss_40, 0x7FDA, 0, 0, -1, omOutView); - lbl_1_bss_358 = omAddObjEx(lbl_1_bss_40, 103, 0, 0, -1, fn_1_60A4); -} - -void fn_1_659C(omObjData *arg0) -{ - M463PlayerData *spC[9]; - void *sp8; - s32 var_r31; - s32 var_r30; - - for (var_r31 = 0; var_r31 < 9; var_r31++) { - spC[var_r31] = playerObjs[var_r31]->data; - if (spC[var_r31]->parMan != -1) { - Hu3DParManKill(spC[var_r31]->parMan); - spC[var_r31]->parMan = -1; - } - } - if (WipeStatGet() == 0) { - for (var_r30 = 0; var_r30 < 9; var_r30++) { - sp8 = playerObjs[var_r30]->data; - } - if (lbl_1_data_14C >= 0) { - MGSeqKill(lbl_1_data_14C); - } - MGSeqKillAll(); - HuAudAllStop(); - omOvlReturnEx(1, 1); - } -} diff --git a/src/REL/mentDll/common.c b/src/REL/mentDll/common.c deleted file mode 100644 index 59f44912..00000000 --- a/src/REL/mentDll/common.c +++ /dev/null @@ -1,1022 +0,0 @@ -#include "REL/mentDll.h" -#include "ext_math.h" -#include "game/board/tutorial.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/process.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" -#include "math.h" - -Process *lbl_1_bss_0; -// TODO: unknown type -extern s32 lbl_1_bss_A8[]; - -s32 lbl_1_data_0[][4] = { - { 0x00000037, 0x00000038, 0x00000036, 0x00000039 }, - { 0x00000043, 0x00000045, 0x00000044, 0x00000043 }, - { 0x00000040, 0x00000042, 0x00000041, 0x00000040 }, - { 0x0000004B, 0x0000004D, 0x0000004C, 0x0000004B }, - { 0x00000046, 0x00000048, 0x00000047, 0x00000046 }, - { 0x0000003E, 0x0000003F, 0x0000003E, 0x0000003E }, - { 0x0000003A, 0x0000003B, 0x0000003C, 0xFFFFFFFF }, -}; - -s32 lbl_1_data_70 = -1; - -// char lbl_1_data_74[] = ">>>>>>>>>> CAMERA DATA <<<<<<<<<<"; -// char lbl_1_data_96[] = "CENTER : %.2f, %.2f, %.2f"; -// char lbl_1_data_B0[] = "ROT : %.2f, %.2f, %.2f"; -// char lbl_1_data_CA[] = "ZOOM : %.2f"; - -extern s32 _prolog(); -extern void _epilog(); -void fn_1_144(void); -void fn_1_2318(s32); -typedef void (*VoidFunc)(void); -extern const VoidFunc _ctors[]; -extern const VoidFunc _dtors[]; - -void fn_1_0(omObjData *arg0) -{ - if (WipeStatGet() == 0) { - arg0->func = NULL; - omOvlReturnEx(1, 1); - } -} - -void fn_1_4C(omObjData *object) -{ - if (omSysExitReq != 0) { - object->func = fn_1_0; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - } -} - -s32 _prolog(void) -{ - const VoidFunc *ctors = _ctors; - while (*ctors != 0) { - (**ctors)(); - ctors++; - } - fn_1_144(); - return 0; -} - -void _epilog(void) -{ - const VoidFunc *dtors = _dtors; - while (*dtors != 0) { - (**dtors)(); - dtors++; - } -} - -void fn_1_144(void) -{ - _ClearFlag(0x1000BU); - boardTutorialF = 0; - lbl_1_bss_0 = omInitObjMan(0x3E, 0x2000); - omGameSysInit(lbl_1_bss_0); - lbl_1_bss_A8[0] = omovlevtno; - lbl_1_bss_A8[1] = omovlstat; - fn_1_658C(lbl_1_bss_0); - omAddObjEx(lbl_1_bss_0, 0x2000, 0U, 0U, -1, fn_1_4C); -} - -f32 fn_1_20C(f32 arg8, f32 arg9, f32 argA, f32 argB) -{ - if (argB <= argA) { - return arg9; - } - return arg8 + ((argA / argB) * (arg9 - arg8)); -} - -f32 fn_1_234(f32 arg8, f32 arg9, f32 argA) -{ - return (arg9 + (arg8 * (argA - 1.0f))) / argA; -} - -// fn_1_254 -f32 fn_1_254(f32 arg8, f32 arg9, f32 argA, f32 argB) -{ - if (argA >= argB) { - return arg9; - } - return (arg8 + ((arg9 - arg8) * (1.0 - cosd((90.0f / argB) * argA)))); -} - -// fn_1_32C -f32 fn_1_32C(f32 arg8, f32 arg9, f32 argA, f32 argB) -{ - if (argA >= argB) { - return arg9; - } - return arg8 + (arg9 - arg8) * sind((90.0f / argB) * argA); -} - -f32 fn_1_3F4(f32 arg8, f32 arg9, f32 argA, f32 argB) -{ - if (argA >= argB) { - return arg8; - } - return (arg8 + ((arg9 - arg8) * sind((360.0f / argB) * argA))); -} - -void fn_1_4B0(s32 arg0) -{ - HuPrcSleep(arg0); -} - -void fn_1_4D8(void) -{ - HuPrcVSleep(); -} - -void fn_1_4F8(void) -{ - while (1) { - HuPrcVSleep(); - } -} - -void fn_1_50C(void) -{ - s32 temp_r3 = 0; - - temp_r3 = Hu3DGLightCreate(0.0f, 700.0f, 1200.0f, 0.0f, -1.0f, 0.0f, 255, 255, 255); - Hu3DGLightPosAimSet(temp_r3, 0.0f, 700.0f, 1200.0f, 0.0f, 0.0f, 640.0f); - Hu3DGLightInfinitytSet(temp_r3); -} - -void fn_1_5E8(s32 arg0) -{ - Vec sp24 = { 0.0f, 3000.0f, 800.0f }; - Vec sp18 = { 0.0f, 0.0f, 640.0f }; - Vec spC = { 0.0f, 1.0f, 0.0f }; - - if (arg0 == 3) { - sp24.x = sp18.x = 1200.0f; - } - Hu3DShadowCreate(45.0f, 2000.0f, 25000.0f); - Hu3DShadowTPLvlSet(0.8f); - Hu3DShadowPosSet(&sp24, &spC, &sp18); -} - -void fn_1_6D0(void) -{ - HuWinInit(1); -} - -void fn_1_6F4(s32 window, f32 centerX, f32 centerY, s32 toSmallF) -{ - WindowData *winPtr; - f32 smallPosX; - f32 smallPosY; - f32 winPosX; - f32 winPosY; - f32 width; - f32 height; - f32 smallScaleX; - f32 smallScaleY; - f32 posX; - f32 posY; - f32 scaleX; - f32 scaleY; - s32 time; - - winPtr = (WindowData *)&winData[window]; - winPosX = winPtr->pos_x; - winPosY = winPtr->pos_y; - width = winPtr->w; - height = winPtr->h; - smallPosX = winPosX + (width * centerX); - smallScaleX = 4.0f / width; - - // adjust horizontal position - if (((4.0f + smallPosX) - (winPosX + width)) >= 0.0f) { - smallPosX = (winPosX + width) - 4.0f; - } - else { - if ((winPosX - (smallPosX - 2.0f)) >= 0.0f) { - smallPosX = winPosX; - } - else { - smallPosX = smallPosX - 2.0f; - } - } - - smallPosY = winPosY + (height * centerY); - smallScaleY = 4.0f / height; - - // adjust vertical position - if (((4.0f + smallPosY) - (winPosY + height)) >= 0.0f) { - smallPosY = (winPosY + height) - 4.0f; - } - else { - if ((winPosY - (smallPosY - 2.0f)) >= 0.0f) { - smallPosY = winPosY; - } - else { - smallPosY = smallPosY - 2.0f; - } - } - - if (toSmallF != 0) { - HuWinPosSet(window, smallPosX, smallPosY); - HuWinScaleSet(window, smallScaleX, smallScaleY); - posX = smallPosX; - scaleX = smallScaleX; - posY = smallPosY; - scaleY = smallScaleY; - } - else { - HuWinPosSet(window, winPosX, winPosY); - HuWinScaleSet(window, 1.0f, 1.0f); - posX = winPosX; - scaleX = 1.0f; - posY = winPosY; - scaleY = 1.0f; - } - HuWinDispOn(window); - - // animation loop - for (time = 0; time <= 15; ++time) { - HuPrcVSleep(); - if (toSmallF != 0) { - if (time <= 0xA) { - posX = (time >= 10.0f) ? winPosX : (f32)(smallPosX + ((winPosX - smallPosX) * sind(9.0f * time))); - scaleX = (time >= 10.0f) ? 1.0f : (f32)(smallScaleX + ((1.0f - smallScaleX) * sind(9.0f * time))); - } - else { - posY = ((time - 0xA) >= 5.0f) ? winPosY : (f32)(smallPosY + ((winPosY - smallPosY) * sind(18.0f * (time - 0xA)))); - scaleY = ((time - 0xA) >= 5.0f) ? 1.0f : (f32)(smallScaleY + ((1.0f - smallScaleY) * sind(18.0f * (time - 0xA)))); - } - } - else if (time <= 0xA) { - posY = (time >= 10.0f) ? smallPosY : (f32)(winPosY + ((smallPosY - winPosY) * sind(9.0f * time))); - scaleY = (time >= 10.0f) ? smallScaleY : (f32)(1.0 + ((smallScaleY - 1.0f) * sind(9.0f * time))); - } - else { - posX = ((time - 0xA) >= 5.0f) ? smallPosX : (f32)(winPosX + ((smallPosX - winPosX) * sind(18.0f * (time - 0xA)))); - scaleX = ((time - 0xA) >= 5.0f) ? smallScaleX : (f32)(1.0 + ((smallScaleX - 1.0f) * sind(18.0f * (time - 0xA)))); - } - HuWinPosSet(window, posX, posY); - HuWinScaleSet(window, scaleX, scaleY); - } - - if (toSmallF != 0) { - HuWinPosSet(window, winPosX, winPosY); - HuWinScaleSet(window, 1.0f, 1.0f); - } - else { - HuWinPosSet(window, smallPosX, smallPosY); - HuWinScaleSet(window, smallScaleX, smallScaleY); - } - HuPrcVSleep(); -} - -s32 fn_1_113C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, f32 arg8, f32 arg9, s32 arg6, s32 arg4, s32 arg5) -{ - f32 sp14[2]; - s32 temp_r30; - - if (arg6 % 2 == 0) { - arg2 = (arg2 * 0x15) + 0x10; - arg3 = (arg3 * 0x1A) + 0x10; - arg1 = (445.0f - arg3); - switch (arg0) { - case -1: - arg0 = 0x10; - break; - case 0: - arg0 = (1.0f + ((576.0f - arg2) / 2)); - break; - case 1: - arg0 = (556.0f - arg2); - break; - } - } - else { - HuWinMesMaxSizeGet(1, sp14, arg5); - arg2 = sp14[0]; - arg3 = sp14[1]; - arg0 = (556.0f - arg2); - arg1 = (445.0f - arg3); - } - temp_r30 = HuWinExCreateStyled(arg0, arg1, arg2, arg3, -1, 1); - if (arg6 == 1) { - HuWinAttrSet(temp_r30, 0x10U); - } - HuWinMesPalSet(temp_r30, 7U, 0U, 0U, 0U); - winData[temp_r30].active_pad = 1; - fn_1_6F4(temp_r30, arg8, arg9, 1); - return temp_r30; -} - -s32 fn_1_1434(s32 arg0, s32 arg1, s32 arg2) -{ - return fn_1_113C(arg0, 0, 0x15, 2, 0.5f, 0.5f, 2, 0, 0); -} - -void fn_1_164C(s32 arg0, f32 arg8, f32 arg9) -{ - HuWinMesSet(arg0, 0x250004); - HuPrcVSleep(); - fn_1_6F4(arg0, arg8, arg9, 0); - HuWinExCleanup(arg0); -} - -void fn_1_16AC(s32 arg0) -{ - HuWinMesSet(arg0, 0x250004); - HuPrcVSleep(); - fn_1_6F4(arg0, 0.5f, 0.5f, 0); - HuWinExCleanup(arg0); -} - -void fn_1_1714(s32 arg0, s32 arg1) -{ - if ((arg1 == -999) || (arg1 == 0)) { - return; - } - if (arg1 == -1000) { - do { - HuPrcVSleep(); - } while (HuWinStatGet(arg0) == 1); - return; - } - if (arg1 > 0) { - HuPrcSleep(arg1); - return; - } - HuWinComKeyReset(); - HuWinMesWait(arg0); - HuWinComKeyReset(); -} - -void fn_1_17A4(s32 arg0, s32 arg1, s32 arg2, s32 arg3) -{ - s32 i; - s32 temp_r28 = 0; - s32 var_r30 = 0; - - (void)arg0; - - temp_r28 = HuWinKeyWaitNumGet(arg1); - if ((arg2 == -1) || (arg2 >= (s32)(temp_r28 - 1))) { - arg2 = temp_r28 - 1; - } - HuWinComKeyReset(); - for (i = 0; i < temp_r28; i++) { - var_r30 = 0; - do { - HuPrcVSleep(); - } while (HuWinStatGet(arg0) != 1); - - if (i == arg2) { - HuWinAttrSet(arg0, 0x400); - var_r30 = 1; - } - - while (1) { - HuPrcVSleep(); - if (var_r30 != 0) { - if (var_r30 == 1 && HuWinStatGet(arg0) != 1) { - var_r30 = 2; - } - else if (var_r30 == 2) { - HuPrcSleep(arg3); - HuWinAttrReset(arg0, 0x400); - HuWinKeyWaitEntry(arg0); - break; - } - } - else if (HuWinStatGet(arg0) != 1) { - break; - } - } - } - HuWinComKeyReset(); - HuWinMesWait(arg0); - HuWinComKeyReset(); - HuWinComKeyReset(); -} - -s32 fn_1_18D8(s32 arg0, s32 arg1) -{ - s32 temp_r31; - - HuWinComKeyReset(); - temp_r31 = HuWinChoiceGet(arg0, arg1); - HuWinComKeyReset(); - return temp_r31; -} - -void fn_1_1928(s32 arg0, s32 arg1, s32 arg2) -{ - HuWinInsertMesSet(arg0, arg1, arg2); -} - -void fn_1_1968(s32 arg0, s32 arg1, s32 arg2, s32 arg3) -{ - if (arg3 == -999) { - HuWinMesSpeedSet(arg0, 0); - } - else { - HuWinMesSpeedSet(arg0, 1); - } - HuWinMesSet(arg0, arg1); - if (arg2 == -1) { - if ((arg3 != -999) && (arg3 != 0)) { - if (arg3 == -1000) { - do { - HuPrcVSleep(); - } while (HuWinStatGet(arg0) == 1); - return; - } - if (arg3 > 0) { - HuPrcSleep(arg3); - return; - } - HuWinComKeyReset(); - HuWinMesWait(arg0); - HuWinComKeyReset(); - } - } - else { - fn_1_17A4(arg0, arg1, arg2, arg3); - } -} - -s32 fn_1_1A5C(s32 arg0, s32 arg1, s32 arg2) -{ - s32 var_r28; - s32 var_r25 = 0; - - var_r28 = fn_1_113C(0, 0, 0, 0, 0.5f, 0.5f, arg1, 0, arg0); - HuWinMesSet(var_r28, arg0); - var_r25 = fn_1_18D8(var_r28, 0); - fn_1_164C(var_r28, 0.5f, 0.5f); - return var_r25; -} - -s32 fn_1_1DD8(s32 arg0, s32 arg1, s32 arg2) -{ - s32 var_r28; - s32 var_r25 = 0; - - var_r28 = fn_1_113C(0, 0, 0, 0, 0.5f, 0.5f, arg1, 0, arg0); - HuWinMesSet(var_r28, arg0); - var_r25 = fn_1_18D8(var_r28, 1); - fn_1_164C(var_r28, 0.5f, 0.5f); - return var_r25; -} - -s32 fn_1_2154(s32 arg0) -{ - f32 sp8[2]; - f32 temp_f29; - f32 temp_f28; - s32 ret; - f32 sizeX; - f32 sizeY; - - HuWinMesMaxSizeGet(1, sp8, arg0); - sizeX = sp8[0]; - sizeY = sp8[1]; - temp_f29 = (576.0f - sizeX) / 2; - temp_f28 = 385.0f - sizeY; - if (lbl_1_data_70 == -1) { - lbl_1_data_70 = ret = HuWinExCreateStyled(temp_f29, temp_f28, sizeX, sizeY, -1, 1); - } - else { - fn_1_2318(0); - lbl_1_data_70 = ret = HuWinExCreateStyled(temp_f29, temp_f28, sizeX, sizeY, -1, 1); - } - HuWinBGTPLvlSet(lbl_1_data_70, 0.0f); - HuWinMesSet(lbl_1_data_70, arg0); - HuWinMesSpeedSet(lbl_1_data_70, 0); - HuWinDispOn(lbl_1_data_70); - return lbl_1_data_70; -} - -void fn_1_2318(s32 arg0) -{ - if (lbl_1_data_70 != -1) { - HuWinExCleanup(lbl_1_data_70); - lbl_1_data_70 = -1; - } -} - -void fn_1_236C(f32 arg9) -{ - MentDllUnkBss64Struct *temp = &lbl_1_bss_64; - - if ((HuPadBtn[0] & 0x200)) { - if ((HuPadBtn[0] & 0x20)) { - temp->center.z = temp->center.z - (HuPadStkY[0] / 10.0f); - } - else { - temp->center.x += HuPadStkX[0] / 10.0f; - temp->center.y = temp->center.y + (HuPadStkY[0] / 10.0f); - } - } - if ((HuPadBtn[0] & 0x800)) { - temp->rot.x -= HuPadStkY[0] / 100.0f; - temp->rot.y = temp->rot.y + (HuPadStkX[0] / 100.0f); - if (temp->rot.x < 0.0f) { - temp->rot.x += 360.0f; - } - - if (temp->rot.x >= 360.0f) { - temp->rot.x -= 360.0f; - } - if (temp->rot.y < 0.0f) { - temp->rot.y += 360.0f; - } - if (temp->rot.y >= 360.0f) { - temp->rot.y -= 360.0f; - } - } - if ((HuPadBtn[0] & 0x400)) { - temp->zoom = temp->zoom - (HuPadStkY[0] / 10.0f); - } - print8(0x18, 0x28, 1.0f, ">>>>>>>>>> CAMERA DATA <<<<<<<<<<"); - print8(0x18, 0x32, 1.0f, "CENTER : %.2f, %.2f, %.2f", temp->center.x, temp->center.y, temp->center.z); - print8(0x18, 0x3C, 1.0f, "ROT : %.2f, %.2f, %.2f", temp->rot.x, temp->rot.y, temp->rot.z); - print8(0x18, 0x46, 1.0f, "ZOOM : %.2f", temp->zoom); -} - -void fn_1_2750(omObjData *obj) -{ - MentDllUnkBss64Struct *temp = &lbl_1_bss_64; - if (temp->func != NULL) { - temp->func(); - } - Center.x = temp->center.x; - Center.y = temp->center.y; - Center.z = temp->center.z; - CRot.x = temp->rot.x; - CRot.y = temp->rot.y; - CRot.z = temp->rot.z; - CZoom = temp->zoom; -} - -void fn_1_2808(void (*arg0)(void)) -{ - fn_1_29A0(&lbl_1_bss_64); - lbl_1_bss_64.func = arg0; -} - -void fn_1_2844(Process *arg0, void (*arg1)(void)) -{ - Hu3DCameraCreate(1); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraPerspectiveSet(1, 42.0f, 20.0f, 5000.0f, 1.2f); - lbl_1_bss_64.func = arg1; - lbl_1_bss_64.func2 = &fn_1_236C; - omAddObjEx(arg0, 0x7FDA, 0U, 0U, -1, omOutView); - omAddObjEx(arg0, 0x7FD9, 0U, 0U, -1, fn_1_2750); -} - -void fn_1_2964(MentDllUnkBss64Struct *arg0) -{ - arg0->center.x = arg0->prevCenter.x; - arg0->center.y = arg0->prevCenter.y; - arg0->center.z = arg0->prevCenter.z; - arg0->rot.x = arg0->prevRot.x; - arg0->rot.y = arg0->prevRot.y; - arg0->rot.z = arg0->prevRot.z; - arg0->zoom = arg0->prevZoom; -} - -void fn_1_29A0(MentDllUnkBss64Struct *arg0) -{ - arg0->unk_40 = 0.0f; - arg0->prevCenter.x = arg0->center.x; - arg0->prevCenter.y = arg0->center.y; - arg0->prevCenter.z = arg0->center.z; - arg0->prevRot.x = arg0->rot.x; - arg0->prevRot.y = arg0->rot.y; - arg0->prevRot.z = arg0->rot.z; - arg0->prevZoom = arg0->zoom; -} - -static inline f32 SmoothInterpolate(f32 arg0, f32 arg1, f32 arg2) -{ - return (arg1 + arg0 * (arg2 - 1.0f)) / arg2; -} - -void fn_1_29E4(MentDllUnkBss64Struct *arg0, MentDllUnkBss64Struct *arg1, f32 arg8) -{ - arg0->center.x = SmoothInterpolate(arg0->center.x, arg1->prevCenter.x, arg8); - arg0->center.y = SmoothInterpolate(arg0->center.y, arg1->prevCenter.y, arg8); - arg0->center.z = SmoothInterpolate(arg0->center.z, arg1->prevCenter.z, arg8); - arg0->rot.x = SmoothInterpolate(arg0->rot.x, arg1->prevRot.x, arg8); - arg0->rot.y = SmoothInterpolate(arg0->rot.y, arg1->prevRot.y, arg8); - arg0->rot.z = SmoothInterpolate(arg0->rot.z, arg1->prevRot.z, arg8); - arg0->zoom = SmoothInterpolate(arg0->zoom, arg1->prevZoom, arg8); -} - -void fn_1_2C50(MentDllUnkBss64Struct *arg0, f32 arg8) -{ - arg0->center.x = SmoothInterpolate(arg0->center.x, arg0->prevCenter.x, arg8); - arg0->center.y = SmoothInterpolate(arg0->center.y, arg0->prevCenter.y, arg8); - arg0->center.z = SmoothInterpolate(arg0->center.z, arg0->prevCenter.z, arg8); - arg0->rot.x = SmoothInterpolate(arg0->rot.x, arg0->prevRot.x, arg8); - arg0->rot.y = SmoothInterpolate(arg0->rot.y, arg0->prevRot.y, arg8); - arg0->rot.z = SmoothInterpolate(arg0->rot.z, arg0->prevRot.z, arg8); - arg0->zoom = SmoothInterpolate(arg0->zoom, arg0->prevZoom, arg8); -} - -inline f32 LinearInterpolation(f32 arg0, f32 arg1, f32 arg8, f32 arg9) -{ - if (arg9 <= arg8) { - return arg1; - } - else { - return arg0 + ((arg8 / arg9) * (arg1 - arg0)); - } -} - -void fn_1_2EBC(MentDllUnkBss64Struct *arg0, MentDllUnkBss64Struct *arg1, f32 arg8, f32 arg9) -{ - arg1->prevCenter.x = LinearInterpolation(arg0->prevCenter.x, arg1->center.x, arg8, arg9); - arg1->prevCenter.y = LinearInterpolation(arg0->prevCenter.y, arg1->center.y, arg8, arg9); - arg1->prevCenter.z = LinearInterpolation(arg0->prevCenter.z, arg1->center.z, arg8, arg9); - - arg1->prevRot.x = LinearInterpolation(arg0->prevRot.x, arg1->rot.x, arg8, arg9); - arg1->prevRot.y = LinearInterpolation(arg0->prevRot.y, arg1->rot.y, arg8, arg9); - arg1->prevRot.z = LinearInterpolation(arg0->prevRot.z, arg1->rot.z, arg8, arg9); - - arg1->prevZoom = LinearInterpolation(arg0->prevZoom, arg1->zoom, arg8, arg9); -} - -void fn_1_3138(MentDllUnkBss64Struct *arg0, MentDllUnkBss64Struct *arg1, f32 arg8, f32 arg9) -{ - arg1->prevCenter.x = LinearInterpolation(arg0->prevCenter.x, arg1->center.x, arg8, arg9); - arg1->prevCenter.y = LinearInterpolation(arg0->prevCenter.y, arg1->center.y, arg8, arg9); - arg1->prevCenter.z = LinearInterpolation(arg0->prevCenter.z, arg1->center.z, arg8, arg9); - - arg1->prevRot.x = LinearInterpolation(arg0->prevRot.x, arg1->rot.x, arg8, arg9); - arg1->prevRot.y = LinearInterpolation(arg0->prevRot.y, arg1->rot.y, arg8, arg9); - arg1->prevRot.z = LinearInterpolation(arg0->prevRot.z, arg1->rot.z, arg8, arg9); - - arg1->prevZoom = LinearInterpolation(arg0->prevZoom, arg1->zoom, arg8, arg9); - - arg0->center.x = arg1->prevCenter.x; - arg0->center.y = arg1->prevCenter.y; - arg0->center.z = arg1->prevCenter.z; - arg0->rot.x = arg1->prevRot.x; - arg0->rot.y = arg1->prevRot.y; - arg0->rot.z = arg1->prevRot.z; - arg0->zoom = arg1->prevZoom; -} - -void fn_1_33EC(MentDllUnkBss64Struct *arg0, MentDllUnkBss64Struct *arg1, f32 arg8, f32 arg9, f32 argA) -{ - arg1->prevCenter.x = LinearInterpolation(arg0->prevCenter.x, arg1->center.x, arg8, arg9); - arg1->prevCenter.y = LinearInterpolation(arg0->prevCenter.y, arg1->center.y, arg8, arg9); - arg1->prevCenter.z = LinearInterpolation(arg0->prevCenter.z, arg1->center.z, arg8, arg9); - - arg1->prevRot.x = LinearInterpolation(arg0->prevRot.x, arg1->rot.x, arg8, arg9); - arg1->prevRot.y = LinearInterpolation(arg0->prevRot.y, arg1->rot.y, arg8, arg9); - arg1->prevRot.z = LinearInterpolation(arg0->prevRot.z, arg1->rot.z, arg8, arg9); - - arg1->prevZoom = LinearInterpolation(arg0->prevZoom, arg1->zoom, arg8, arg9); - - arg0->center.x = SmoothInterpolate(arg0->center.x, arg1->prevCenter.x, argA); - arg0->center.y = SmoothInterpolate(arg0->center.y, arg1->prevCenter.y, argA); - arg0->center.z = SmoothInterpolate(arg0->center.z, arg1->prevCenter.z, argA); - - arg0->rot.x = SmoothInterpolate(arg0->rot.x, arg1->prevRot.x, argA); - arg0->rot.y = SmoothInterpolate(arg0->rot.y, arg1->prevRot.y, argA); - arg0->rot.z = SmoothInterpolate(arg0->rot.z, arg1->prevRot.z, argA); - - arg0->zoom = SmoothInterpolate(arg0->zoom, arg1->prevZoom, argA); -} - -void fn_1_3858(MentDllUnkBss64Struct *arg0, MentDllUnkBss64Struct *arg1, f32 arg8, f32 arg9) -{ - arg1->prevCenter.x = fn_1_32C(arg0->prevCenter.x, arg1->center.x, arg8, arg9); - arg1->prevCenter.y = fn_1_32C(arg0->prevCenter.y, arg1->center.y, arg8, arg9); - arg1->prevCenter.z = fn_1_32C(arg0->prevCenter.z, arg1->center.z, arg8, arg9); - - arg1->prevRot.x = fn_1_32C(arg0->prevRot.x, arg1->rot.x, arg8, arg9); - arg1->prevRot.y = fn_1_32C(arg0->prevRot.y, arg1->rot.y, arg8, arg9); - arg1->prevRot.z = fn_1_32C(arg0->prevRot.z, arg1->rot.z, arg8, arg9); - - arg1->prevZoom = fn_1_32C(arg0->prevZoom, arg1->zoom, arg8, arg9); -} - -void fn_1_3CAC(MentDllUnkBss64Struct *arg0, MentDllUnkBss64Struct *arg1, f32 arg8, f32 arg9) -{ - arg1->prevCenter.x = fn_1_32C(arg0->prevCenter.x, arg1->center.x, arg8, arg9); - arg1->prevCenter.y = fn_1_32C(arg0->prevCenter.y, arg1->center.y, arg8, arg9); - arg1->prevCenter.z = fn_1_32C(arg0->prevCenter.z, arg1->center.z, arg8, arg9); - - arg1->prevRot.x = fn_1_32C(arg0->prevRot.x, arg1->rot.x, arg8, arg9); - arg1->prevRot.y = fn_1_32C(arg0->prevRot.y, arg1->rot.y, arg8, arg9); - arg1->prevRot.z = fn_1_32C(arg0->prevRot.z, arg1->rot.z, arg8, arg9); - - arg1->prevZoom = fn_1_32C(arg0->prevZoom, arg1->zoom, arg8, arg9); - - arg0->center.x = arg1->prevCenter.x; - arg0->center.y = arg1->prevCenter.y; - arg0->center.z = arg1->prevCenter.z; - - arg0->rot.x = arg1->prevRot.x; - arg0->rot.y = arg1->prevRot.y; - arg0->rot.z = arg1->prevRot.z; - - arg0->zoom = arg1->prevZoom; -} - -void fn_1_4138(MentDllUnkBss64Struct *arg0, MentDllUnkBss64Struct *arg1, f32 arg8, f32 arg9, f32 argA) -{ - arg1->prevCenter.x = fn_1_32C(arg0->prevCenter.x, arg1->center.x, arg8, arg9); - arg1->prevCenter.y = fn_1_32C(arg0->prevCenter.y, arg1->center.y, arg8, arg9); - arg1->prevCenter.z = fn_1_32C(arg0->prevCenter.z, arg1->center.z, arg8, arg9); - - arg1->prevRot.x = fn_1_32C(arg0->prevRot.x, arg1->rot.x, arg8, arg9); - arg1->prevRot.y = fn_1_32C(arg0->prevRot.y, arg1->rot.y, arg8, arg9); - arg1->prevRot.z = fn_1_32C(arg0->prevRot.z, arg1->rot.z, arg8, arg9); - - arg1->prevZoom = fn_1_32C(arg0->prevZoom, arg1->zoom, arg8, arg9); - - arg0->center.x = SmoothInterpolate(arg0->center.x, arg1->prevCenter.x, argA); - arg0->center.y = SmoothInterpolate(arg0->center.y, arg1->prevCenter.y, argA); - arg0->center.z = SmoothInterpolate(arg0->center.z, arg1->prevCenter.z, argA); - - arg0->rot.x = SmoothInterpolate(arg0->rot.x, arg1->prevRot.x, argA); - arg0->rot.y = SmoothInterpolate(arg0->rot.y, arg1->prevRot.y, argA); - arg0->rot.z = SmoothInterpolate(arg0->rot.z, arg1->prevRot.z, argA); - - arg0->zoom = SmoothInterpolate(arg0->zoom, arg1->prevZoom, argA); -} - -void fn_1_4790(MentDllUnkBss64Struct *arg0, MentDllUnkBss64Struct *arg1, f32 arg8, f32 arg9) -{ - arg1->prevCenter.x = fn_1_254(arg0->prevCenter.x, arg1->center.x, arg8, arg9); - arg1->prevCenter.y = fn_1_254(arg0->prevCenter.y, arg1->center.y, arg8, arg9); - arg1->prevCenter.z = fn_1_254(arg0->prevCenter.z, arg1->center.z, arg8, arg9); - - arg1->prevRot.x = fn_1_254(arg0->prevRot.x, arg1->rot.x, arg8, arg9); - arg1->prevRot.y = fn_1_254(arg0->prevRot.y, arg1->rot.y, arg8, arg9); - arg1->prevRot.z = fn_1_254(arg0->prevRot.z, arg1->rot.z, arg8, arg9); - - arg1->prevZoom = fn_1_254(arg0->prevZoom, arg1->zoom, arg8, arg9); -} - -void fn_1_4C54(MentDllUnkBss64Struct *arg0, MentDllUnkBss64Struct *arg1, f32 arg8, f32 arg9) -{ - arg1->prevCenter.x = fn_1_254(arg0->prevCenter.x, arg1->center.x, arg8, arg9); - arg1->prevCenter.y = fn_1_254(arg0->prevCenter.y, arg1->center.y, arg8, arg9); - arg1->prevCenter.z = fn_1_254(arg0->prevCenter.z, arg1->center.z, arg8, arg9); - - arg1->prevRot.x = fn_1_254(arg0->prevRot.x, arg1->rot.x, arg8, arg9); - arg1->prevRot.y = fn_1_254(arg0->prevRot.y, arg1->rot.y, arg8, arg9); - arg1->prevRot.z = fn_1_254(arg0->prevRot.z, arg1->rot.z, arg8, arg9); - - arg1->prevZoom = fn_1_254(arg0->prevZoom, arg1->zoom, arg8, arg9); - - arg0->center.x = arg1->prevCenter.x; - arg0->center.y = arg1->prevCenter.y; - arg0->center.z = arg1->prevCenter.z; - - arg0->rot.x = arg1->prevRot.x; - arg0->rot.y = arg1->prevRot.y; - arg0->rot.z = arg1->prevRot.z; - - arg0->zoom = arg1->prevZoom; -} - -void fn_1_5150(MentDllUnkBss64Struct *arg0, MentDllUnkBss64Struct *arg1, f32 arg8, f32 arg9, f32 argA) -{ - arg1->prevCenter.x = fn_1_254(arg0->prevCenter.x, arg1->center.x, arg8, arg9); - arg1->prevCenter.y = fn_1_254(arg0->prevCenter.y, arg1->center.y, arg8, arg9); - arg1->prevCenter.z = fn_1_254(arg0->prevCenter.z, arg1->center.z, arg8, arg9); - - arg1->prevRot.x = fn_1_254(arg0->prevRot.x, arg1->rot.x, arg8, arg9); - arg1->prevRot.y = fn_1_254(arg0->prevRot.y, arg1->rot.y, arg8, arg9); - arg1->prevRot.z = fn_1_254(arg0->prevRot.z, arg1->rot.z, arg8, arg9); - - arg1->prevZoom = fn_1_254(arg0->prevZoom, arg1->zoom, arg8, arg9); - - arg0->center.x = SmoothInterpolate(arg0->center.x, arg1->prevCenter.x, argA); - arg0->center.y = SmoothInterpolate(arg0->center.y, arg1->prevCenter.y, argA); - arg0->center.z = SmoothInterpolate(arg0->center.z, arg1->prevCenter.z, argA); - - arg0->rot.x = SmoothInterpolate(arg0->rot.x, arg1->prevRot.x, argA); - arg0->rot.y = SmoothInterpolate(arg0->rot.y, arg1->prevRot.y, argA); - arg0->rot.z = SmoothInterpolate(arg0->rot.z, arg1->prevRot.z, argA); - - arg0->zoom = SmoothInterpolate(arg0->zoom, arg1->prevZoom, argA); -} - -void fn_1_5818(omObjData *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) -{ - switch (arg4) { - case 0: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0); - break; - case 1: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000001); - break; - case 2: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000002); - break; - } - arg0->work[0] = arg0->work[1] = arg0->work[2] = 0; -} - -void fn_1_59A0(omObjData *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) -{ - if (arg0->work[3] != arg0->motion[arg2]) { - arg0->work[3] = arg0->motion[arg2]; - switch (arg4) { - case 0: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0); - break; - case 1: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000001); - break; - case 2: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000002); - break; - } - arg0->work[0] = arg0->work[1] = arg0->work[2] = 0; - } -} - -void fn_1_5B50(omObjData *arg0, s32 arg1, s32 arg2, s32 arg3) -{ - (void)arg1; - Hu3DMotionShiftSet(arg0->model[1], arg0->motion[arg1], 0.0f, arg3, 0); - arg0->work[0] = arg0->work[1] = arg0->work[2] = 0; - arg0->work[0] = 1; - arg0->work[1] = arg2; - arg0->work[2] = arg3 + 1; -} - -void fn_1_5C08(omObjData *arg0) -{ - s32 temp; - - if (arg0->work[0] != 0) { - if (arg0->work[2] != 0) { - arg0->work[2] -= 1; - return; - } - if ((arg0->work[2] == 0) && (Hu3DMotionEndCheck(arg0->model[1]) != 0)) { - temp = arg0->work[1]; - Hu3DMotionShiftSet(arg0->model[1], arg0->motion[temp], 0.0f, 15.0f, 0x40000001); - arg0->work[0] = arg0->work[1] = arg0->work[2] = 0; - arg0->work[0] = arg0->work[1] = arg0->work[2] = 0; - } - } -} - -void fn_1_5CDC(omObjData *arg0, s32 arg1, s32 arg2) -{ - HuPrcSleep(arg2 + 1); - do { - HuPrcVSleep(); - } while (Hu3DMotionEndCheck(arg0->model[arg1]) == 0); -} - -void fn_1_5D38(omObjData *arg0, s32 arg1, Vec arg2, float arg8, float arg9, float argA, s32 arg3, s32 arg4) -{ - s32 temp_r29 = 0; - s32 temp_r28 = 0; - - Vec sp4C; - Vec sp40; - Vec sp34; - Vec sp28; - Vec sp1C; - Vec sp10; - sp40.x = Hu3DData[arg0->model[arg1]].pos.x; - sp40.y = Hu3DData[arg0->model[arg1]].pos.y; - sp40.z = Hu3DData[arg0->model[arg1]].pos.z; - sp34.x = arg2.x; - sp34.y = arg2.y; - sp34.z = arg2.z; - sp1C.x = Hu3DData[arg0->model[arg1]].rot.x; - sp1C.y = Hu3DData[arg0->model[arg1]].rot.y; - sp1C.z = Hu3DData[arg0->model[arg1]].rot.z; - sp10.x = 0; - sp10.y = arg8; - sp10.z = 0; - if (sp34.x - sp40.x >= 0.0f) { - temp_r29 = 1; - } - else { - temp_r29 = 0; - } - if (sp34.z - sp40.z >= 0.0f) { - temp_r28 = 1; - } - else { - temp_r28 = 0; - } - while (arg3) { - fn_1_4D8(); - sp28.y = -(atan2d(sp34.z - sp40.z, sp34.x - sp40.x) - 90); - if (sp28.y < 0.0f) { - sp28.y += 360.0f; - } - else if (sp28.y >= 360.0f) { - sp28.y -= 360.0f; - } - if (arg4) { - if (sp28.y >= 180.0f) { - if (sp1C.y - sp28.y >= 180.0f) { - sp1C.y -= 360.0f; - } - if (sp1C.y - sp28.y < -180.0f) { - sp1C.y += 360.0f; - } - } - else { - if (sp1C.y - sp28.y > 180.0f) { - sp1C.y -= 360.0f; - } - if (sp1C.y - sp28.y <= -180.0f) { - sp1C.y += 360.0f; - } - } - } - sp4C.x = sp40.x = sp40.x + (arg9 * sind(sp28.y)); - sp4C.z = sp40.z = sp40.z + (arg9 * cosd(sp28.y)); - if (temp_r29 == 1) { - if (sp40.x >= sp34.x) { - sp4C.x = sp40.x = sp34.x; - temp_r29 = 2; - } - } - else if (temp_r29 == 0) { - if (sp40.x <= sp34.x) { - sp4C.x = sp40.x = sp34.x; - temp_r29 = 2; - } - } - if (temp_r28 == 1) { - if (sp40.z >= sp34.z) { - sp4C.z = sp40.z = sp34.z; - temp_r28 = 2; - } - } - else if (temp_r28 == 0) { - if (sp40.z <= sp34.z) { - sp4C.z = sp40.z = sp34.z; - temp_r28 = 2; - } - } - if (arg4) { - sp1C.y = fn_1_234(sp1C.y, sp28.y, argA); - } - Hu3DModelPosSet(arg0->model[arg1], sp4C.x, sp40.y, sp4C.z); - Hu3DModelRotSet(arg0->model[arg1], sp1C.x, sp1C.y, sp1C.z); - if (temp_r29 == 2 && temp_r28 == 2) { - break; - } - } - sp1C.y = Hu3DData[arg0->model[arg1]].rot.y; - if (arg4) { - s32 temp_r27; - for (temp_r27 = 0; temp_r27 <= argA; temp_r27++) { - fn_1_4D8(); - if (sp10.y >= 180.0f) { - if (sp1C.y - sp10.y >= 180.0f) { - sp1C.y -= 360.0f; - } - if (sp1C.y - sp10.y < -180.0f) { - sp1C.y += 360.0f; - } - } - else { - if (sp1C.y - sp10.y > 180.0f) { - sp1C.y -= 360.0f; - } - if (sp1C.y - sp10.y <= -180.0f) { - sp1C.y += 360.0f; - } - } - sp10.z = fn_1_20C(sp1C.y, sp10.y, temp_r27, argA); - Hu3DModelRotSet(arg0->model[arg1], sp1C.x, sp10.z, sp1C.z); - } - } -} - -void fn_1_6534(s32 grpId, s32 memberNo, float posX, float posY) -{ - HuSprPosSet(grpId, memberNo, posX, posY + 0.5f); -} diff --git a/src/REL/mentDll/main.c b/src/REL/mentDll/main.c deleted file mode 100644 index db8375f3..00000000 --- a/src/REL/mentDll/main.c +++ /dev/null @@ -1,6579 +0,0 @@ -#include "game/board/main.h" -#include "REL/mentDll.h" -#include "ext_math.h" -#include "game/armem.h" -#include "game/chrman.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/saveload.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - -typedef struct MentDllUnkBssE4Struct { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ s32 unk_08; - /* 0x0C */ float unk_0C; - /* 0x10 */ float unk_10; - /* 0x14 */ float unk_14; - /* 0x18 */ float unk_18; -} MentDllUnkBssE4Struct; /* size = 0x1C */ - -typedef struct MentDllUnkBss16C4Struct { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ s32 unk_08; - /* 0x0C */ float unk_0C; - /* 0x10 */ float unk_10; - /* 0x14 */ float unk_14; - /* 0x18 */ float unk_18; - /* 0x1C */ float unk_1C; - /* 0x20 */ float unk_20; - /* 0x24 */ float unk_24; - /* 0x28 */ float unk_28; - /* 0x2C */ float unk_2C; -} MentDllUnkBss16C4Struct; /* size = 0x30 */ - -typedef void (*MentDllUnkFunc)(omObjData *, ...); - -typedef struct MentDllUnkBss3114Struct { - /* 0x00 */ omObjData *unk_00; - /* 0x04 */ MentDllUnkFunc unk_04; - /* 0x08 */ s32 unk_08; - /* 0x0C */ s32 unk_0C; - /* 0x10 */ char pad_10[0x48]; /* maybe part of unk_0C[0x13]? */ - /* 0x58 */ s32 unk_58; - /* 0x5C */ s32 unk_5C; - /* 0x60 */ s32 unk_60; - /* 0x64 */ s32 unk_64; - /* 0x68 */ s32 unk_68; - /* 0x6C */ s32 unk_6C; - /* 0x70 */ s32 unk_70[4]; - /* 0x80 */ s32 unk_80[4]; -} MentDllUnkBss3114Struct; /* size = 0x90 */ - -typedef struct MentDllUnkBss33ACStruct { // maybe the same as the other one? - /* 0x00 */ omObjData *unk_00; - /* 0x04 */ MentDllUnkFunc unk_04; - /* 0x08 */ s32 unk_08; - /* 0x0C */ s32 unk_0C; - /* 0x10 */ char pad_10[0x20]; - /* 0x30 */ s32 unk_30; - /* 0x34 */ s32 unk_34; - /* 0x38 */ char pad_38[0x20]; -} MentDllUnkBss33ACStruct; /* size = 0x58 */ - -typedef struct MentDllUnkBss35BCStruct { - /* 0x00 */ omObjData *unk_00; - /* 0x04 */ MentDllUnkFunc unk_04; - /* 0x08 */ s32 unk_08[5]; - /* 0x1C */ s32 unk_1C[5]; - /* 0x30 */ s32 unk_30; - /* 0x34 */ s32 unk_34; - /* 0x38 */ s32 unk_38; - /* 0x3C */ s32 unk_3C; - /* 0x40 */ s32 unk_40; - /* 0x44 */ s32 unk_44[5]; -} MentDllUnkBss35BCStruct; /* size = 0x58 */ - -void fn_1_116F4(void); -void fn_1_1184C(omObjData *arg0, MentDllUnkBss35BCStruct *arg1); -void fn_1_11908(omObjData *arg0, s32 arg1); -void fn_1_121D8(void); -void fn_1_127FC(omObjData *arg0, MentDllUnkBss33ACStruct *arg1); -void fn_1_12E40(void); -void fn_1_134A8(void); -void fn_1_13970(void); -void fn_1_13D60(void); -void fn_1_13DEC(void); -void fn_1_13EDC(void); -void fn_1_13F68(void); -void fn_1_14058(void); -void fn_1_14148(void); -void fn_1_14238(void); -void fn_1_14328(void); -void fn_1_14418(void); -void fn_1_146D0(void); -void fn_1_147C0(void); -void fn_1_148B0(void); -void fn_1_149A0(void); -void fn_1_14A2C(void); -void fn_1_14AB8(void); -void fn_1_14BA8(void); -void fn_1_14CE0(void); -void fn_1_15098(void); -void fn_1_151B8(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_15950(void); -void fn_1_15CB4(omObjData *arg0, MentDllUnkBss3114Struct *arg1); -s32 fn_1_1648C(MentDllUnkBss3114Struct *arg0); -void fn_1_16B68(omObjData *arg0, MentDllUnkBss3114Struct *arg1); -void fn_1_173FC(MentDllUnkBss3114Struct *arg0); -void fn_1_17914(MentDllUnkBss3114Struct *arg0); -void fn_1_179DC(void); -void fn_1_17CC8(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_1811C(void); -void fn_1_1850C(void); -void fn_1_1872C(void); -void fn_1_18788(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_18A54(s32 arg0); -void fn_1_18DCC(void); -void fn_1_18F74(omObjData *arg0, MentDllUnkBss35BCStruct *arg1); -void fn_1_190E8(void); -void fn_1_19C98(omObjData *arg0, MentDllUnkBss35BCStruct *arg1); -void fn_1_1BB2C(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_1C554(void); -void fn_1_1C674(void); -void fn_1_1C754(void); -void fn_1_1C990(void); -void fn_1_1CF68(void); -void fn_1_1D4FC(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_1DED8(void); -void fn_1_1DF48(void); -void fn_1_1DFB8(void); -void fn_1_1E1B4(void); -void fn_1_1E404(omObjData *arg0, MentDllUnkBss3114Struct *arg1); -void fn_1_1E8A4(omObjData *arg0, MentDllUnkBss35BCStruct *arg1); -void fn_1_1F6B8(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_1F868(void); -void fn_1_1FA34(void); -void fn_1_1FC54(void); -void fn_1_1FF4C(omObjData *arg0, MentDllUnkBss35BCStruct *arg1); -void fn_1_2055C(s32 arg0); -void fn_1_207BC(void); -void fn_1_208F4(void); -void fn_1_20A24(void); -void fn_1_20B54(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_21724(omObjData *object); -void fn_1_2342C(omObjData *object); -void fn_1_C174(s32 arg0); -void fn_1_E654(s32 arg0); -void fn_1_E71C(s32 arg0); - -Vec lbl_1_data_D8[6] = { - { 0.0f, 0.0f, 460.0f }, - { -240.0f, 0.0f, 460.0f }, - { -120.0f, 0.0f, 460.0f }, - { 120.0f, 50.0f, 460.0f }, - { 240.0f, 0.0f, 460.0f }, - { 1200.0f, 0.0f, 460.0f }, -}; - -float lbl_1_data_120[6] = { 0.0f, 20.0f, 10.0f, -10.0f, -20.0f, 0.0f }; - -MentDllUnkBss35BCStruct lbl_1_bss_366C; -MentDllUnkBss35BCStruct lbl_1_bss_35BC[2]; -MentDllUnkBss33ACStruct lbl_1_bss_33AC[6]; -MentDllUnkBss33ACStruct lbl_1_bss_3354; -MentDllUnkBss3114Struct lbl_1_bss_3114[4]; -omObjData *lbl_1_bss_3108[3]; -omObjData *lbl_1_bss_3104; -MentDllUnkBss16C4Struct lbl_1_bss_16C4[0x8C]; -MentDllUnkBssE4Struct lbl_1_bss_E4[0xC8]; -s32 lbl_1_bss_E0; -s32 lbl_1_bss_DC; -s32 lbl_1_bss_D8; -s32 lbl_1_bss_D4; -s32 lbl_1_bss_D0; -s32 lbl_1_bss_CC; -Process *lbl_1_bss_C8; -s32 lbl_1_bss_A8[8]; -MentDllUnkBss64Struct lbl_1_bss_64; -s32 lbl_1_bss_24[16]; -s32 lbl_1_bss_14[4]; -s32 lbl_1_bss_8[3]; - -void fn_1_658C(Process *arg0) -{ - s32 var_r31; - - lbl_1_bss_C8 = arg0; - fn_1_6D0(); - fn_1_50C(); - fn_1_5E8(lbl_1_bss_A8[0]); - if (lbl_1_bss_A8[0] != 0xB) { - CharKill(-1); - } - lbl_1_bss_A8[4] = GWGameStat.open_w06; - lbl_1_bss_A8[5] = GWGameStat.veryHardUnlock; - lbl_1_bss_A8[6] = GWGameStat.customPackEnable; - switch (lbl_1_bss_A8[0]) { - case 0: - HuAudSndGrpSetSet(7); - if (lbl_1_bss_A8[1] == 0) { - fn_1_2844(lbl_1_bss_C8, fn_1_13D60); - } - else { - fn_1_2844(lbl_1_bss_C8, fn_1_13EDC); - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - HuPrcChildCreate(fn_1_121D8, 0x64, 0x3000, 0, HuPrcCurrentGet()); - } - for (var_r31 = 0; var_r31 < 6; var_r31++) { - HuPrcChildCreate(fn_1_12E40, 0x64, 0x3000, 0, HuPrcCurrentGet()); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuPrcChildCreate(fn_1_13970, 0x64, 0x3000, 0, HuPrcCurrentGet()); - } - if (lbl_1_bss_A8[1] == 0) { - lbl_1_bss_3108[0] = omAddObjEx(lbl_1_bss_C8, 0x1000, 0x8D, 0x10, -1, fn_1_21724); - } - break; - case 1: - HuAudSndGrpSetSet(7); - if (lbl_1_bss_A8[1] == 0) { - fn_1_2844(lbl_1_bss_C8, fn_1_13D60); - } - else { - fn_1_2844(lbl_1_bss_C8, fn_1_13EDC); - } - HuPrcChildCreate(fn_1_121D8, 0x64, 0x3000, 0, HuPrcCurrentGet()); - for (var_r31 = 0; var_r31 < 5; var_r31++) { - HuPrcChildCreate(fn_1_12E40, 0x64, 0x3000, 0, HuPrcCurrentGet()); - } - HuPrcChildCreate(fn_1_13970, 0x64, 0x3000, 0, HuPrcCurrentGet()); - if (lbl_1_bss_A8[1] == 0) { - lbl_1_bss_3108[0] = omAddObjEx(lbl_1_bss_C8, 0x1000, 0x8D, 0x10, -1, fn_1_21724); - } - lbl_1_bss_3104 = omAddObjEx(lbl_1_bss_C8, 0x1000, 0xC9, 0x10, -1, fn_1_2342C); - break; - case 3: - HuAudSndCommonGrpSet(0x56, 1); - HuAudSndCommonGrpSet(0x6B, 0); - fn_1_2844(lbl_1_bss_C8, fn_1_13D60); - HuPrcChildCreate(fn_1_121D8, 0x64, 0x3000, 0, HuPrcCurrentGet()); - lbl_1_bss_D0 = 4; - HuPrcChildCreate(fn_1_12E40, 0x64, 0x3000, 0, HuPrcCurrentGet()); - lbl_1_bss_3108[0] = omAddObjEx(lbl_1_bss_C8, 0x1000, 0x8D, 0x10, -1, fn_1_21724); - break; - case 4: - HuAudSndGrpSetSet(3); - fn_1_2844(lbl_1_bss_C8, fn_1_13D60); - HuPrcChildCreate(fn_1_121D8, 0x64, 0x3000, 0, HuPrcCurrentGet()); - lbl_1_bss_D0 = 2; - HuPrcChildCreate(fn_1_12E40, 0x64, 0x3000, 0, HuPrcCurrentGet()); - lbl_1_bss_3108[0] = omAddObjEx(lbl_1_bss_C8, 0x1000, 0x8D, 0x10, -1, fn_1_21724); - break; - case 5: - fn_1_2844(lbl_1_bss_C8, fn_1_13D60); - HuPrcChildCreate(fn_1_121D8, 0x64, 0x3000, 0, HuPrcCurrentGet()); - lbl_1_bss_D0 = 3; - HuPrcChildCreate(fn_1_12E40, 0x64, 0x3000, 0, HuPrcCurrentGet()); - lbl_1_bss_3108[0] = omAddObjEx(lbl_1_bss_C8, 0x1000, 0x8D, 0x10, -1, fn_1_21724); - break; - case 10: - HuAudSndGrpSetSet(7); - fn_1_2844(lbl_1_bss_C8, fn_1_149A0); - HuPrcChildCreate(fn_1_121D8, 0x64, 0x3000, 0, HuPrcCurrentGet()); - for (var_r31 = 0; var_r31 < 5; var_r31++) { - HuPrcChildCreate(fn_1_12E40, 0x64, 0x3000, 0, HuPrcCurrentGet()); - } - HuPrcChildCreate(fn_1_13970, 0x64, 0x3000, 0, HuPrcCurrentGet()); - break; - case 11: - lbl_1_bss_CC = 1; - HuAudSndGrpSetSet(7); - fn_1_2844(lbl_1_bss_C8, fn_1_14A2C); - HuPrcChildCreate(fn_1_121D8, 0x64, 0x3000, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_134A8, 0x64, 0x3000, 0, HuPrcCurrentGet()); - fn_1_4B0(2); - HuDataDirClose(DATADIR_MENT); - HuPrcChildCreate(fn_1_13970, 0x64, 0x3000, 0, HuPrcCurrentGet()); - break; - } - HuPrcChildCreate(fn_1_116F4, 0xC8, 0x3000, 0, HuPrcCurrentGet()); -} - -void fn_1_6C4C(void) -{ - s32 var_r31; - s32 var_r30 = 0x10; - s32 var_r29 = 0x28; - s32 var_r28 = 0; - { - GXColor sp10 = { 0x00, 0x00, 0x80, 0x80 }; - while (1) { - fn_1_4D8(); - if (HuPadBtnDown[0] & PAD_TRIGGER_R) { - var_r28++; - var_r28 = var_r28 % 2; - } - if (var_r28 == 0) { - continue; - } - printWin(var_r30, var_r29, 0xDC, 0x122, &sp10); - if (lbl_1_bss_366C.unk_04 == NULL) { - print8(var_r30, var_r29, 1.0f, "PROC_MAIN -> FALSE"); - } - else { - print8(var_r30, var_r29, 1.0f, "PROC_MAIN -> TRUE"); - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - if (lbl_1_bss_35BC[var_r31].unk_04 == NULL) { - print8(var_r30, var_r29 + 0x14 + (var_r31 * 0xA), 1.0f, "PROC_MAP%d -> FALSE", var_r31); - } - else { - print8(var_r30, var_r29 + 0x14 + (var_r31 * 0xA), 1.0f, "PROC_MAP%d -> TRUE", var_r31); - } - } - for (var_r31 = 0; var_r31 < 6; var_r31++) { - if (lbl_1_bss_33AC[var_r31].unk_04 == NULL) { - print8(var_r30, var_r29 + 0x32 + (var_r31 * 0xA), 1.0f, "PROC_SUB%d -> FALSE", var_r31); - } - else { - print8(var_r30, var_r29 + 0x32 + (var_r31 * 0xA), 1.0f, "PROC_SUB%d -> TRUE", var_r31); - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_3114[var_r31].unk_04 == NULL) { - print8(var_r30, var_r29 + 0x78 + (var_r31 * 0xA), 1.0f, "PROC_PLAYER%d -> FALSE", var_r31); - } - else { - print8(var_r30, var_r29 + 0x78 + (var_r31 * 0xA), 1.0f, "PROC_PLAYER%d -> TRUE", var_r31); - } - } - print8(var_r30, var_r29 + 0xAA, 1.0f, "MODE:%d MAP:%d", lbl_1_bss_A8[0], lbl_1_bss_A8[2]); - print8(var_r30, var_r29 + 0xBE, 1.0f, "NO) IDX:GRP:COM:DIF:PAD:CHR"); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - - print8(var_r30, var_r29 + 0xC8 + (var_r31 * 0xA), 1.0f, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", var_r31, lbl_1_bss_3114[var_r31].unk_58, - lbl_1_bss_3114[var_r31].unk_5C, lbl_1_bss_3114[var_r31].unk_60, lbl_1_bss_3114[var_r31].unk_64, lbl_1_bss_3114[var_r31].unk_6C, lbl_1_bss_3114[var_r31].unk_68); - } - print8(var_r30, var_r29 + 0xF0, 1.0f, "NO) FG0:FG1:FG2:FG3"); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - print8(var_r30, var_r29 + 0xFA + (var_r31 * 0xA), 1.0f, "%2d) %3d:%3d:%3d:%3d", var_r31, lbl_1_bss_3114[var_r31].unk_70[0], - lbl_1_bss_3114[var_r31].unk_70[1], lbl_1_bss_3114[var_r31].unk_70[2], lbl_1_bss_3114[var_r31].unk_70[3]); - } - } - } -} - -s32 fn_1_7124(void) -{ - s32 var_r31 = 0; - - if (_CheckFlag(FLAG_ID_MAKE(0, 2)) != 0) { - var_r31++; - } - if (_CheckFlag(FLAG_ID_MAKE(0, 3)) != 0) { - var_r31++; - } - if (_CheckFlag(FLAG_ID_MAKE(0, 4)) != 0) { - var_r31++; - } - if (_CheckFlag(FLAG_ID_MAKE(0, 5)) != 0) { - var_r31++; - } - if (_CheckFlag(FLAG_ID_MAKE(0, 6)) != 0) { - var_r31++; - } - if (_CheckFlag(FLAG_ID_MAKE(0, 7)) != 0) { - var_r31++; - } - OSReport("DIF OMAKASE MAP %d\n", var_r31); - var_r31 = var_r31 / 2; - if (var_r31 < 0) { - var_r31 = 0; - } - else if (var_r31 > 3) { - var_r31 = 3; - } - OSReport("DIF OMAKASE DIF %d\n", var_r31); - return var_r31; -} - -s32 lbl_1_data_2B4[0xF] = { - DATADIR_W01, - DATADIR_W02, - DATADIR_W03, - DATADIR_W04, - DATADIR_W05, - DATADIR_W06, - DATADIR_W10, - DATADIR_MARIOMDL1, - DATADIR_LUIGIMDL1, - DATADIR_PEACHMDL1, - DATADIR_YOSHIMDL1, - DATADIR_WARIOMDL1, - DATADIR_DONKEYMDL1, - DATADIR_DAISYMDL1, - DATADIR_WALUIGIMDL1, -}; - -void fn_1_7218(void) -{ - s32 var_r31 = HuDataDirReadAsync(DATADIR_BOARD); - - if (var_r31 != -1) { - while (HuDataGetAsyncStat(var_r31) == 0) { - HuPrcVSleep(); - } - } - HuAR_MRAMtoARAM(DATADIR_BOARD); - while (HuARDMACheck() != 0) { - HuPrcVSleep(); - } - HuDataDirClose(DATADIR_BOARD); - if (_CheckFlag(FLAG_ID_MAKE(1, 11)) != 0) { - var_r31 = HuDataDirReadAsync(DATADIR_W10); - } - else { - var_r31 = HuDataDirReadAsync(lbl_1_data_2B4[GWSystem.board]); - } - if (var_r31 != -1) { - while (HuDataGetAsyncStat(var_r31) == 0) { - HuPrcVSleep(); - } - } - lbl_1_bss_D8 = 1; - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } -} - -void fn_1_7304(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - - for (var_r31 = 1; var_r31 < 4; var_r31++) { - lbl_1_bss_3114[var_r31].unk_68 = -1; - lbl_1_bss_3114[var_r31].unk_6C = var_r31; - lbl_1_bss_3114[var_r31].unk_60 = 1; - } - for (var_r31 = 1; var_r31 < 4; var_r31++) { - do { - lbl_1_bss_3114[var_r31].unk_68 = rand8() % 8; - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if ((var_r31 != var_r29) && (lbl_1_bss_3114[var_r29].unk_68 != -1) - && (lbl_1_bss_3114[var_r31].unk_68 == lbl_1_bss_3114[var_r29].unk_68)) { - break; - } - } - } while (var_r29 != 4); - } - GWSystem.diff_story = lbl_1_bss_35BC[0].unk_1C[0]; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_3114[var_r31].unk_64 = GWSystem.diff_story; - if (GWSystem.diff_story == 4) { - lbl_1_bss_3114[var_r31].unk_64 = fn_1_7124(); - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - GWPlayerCfg[var_r31].character = lbl_1_bss_3114[var_r31].unk_68; - GWPlayerCfg[var_r31].pad_idx = lbl_1_bss_3114[var_r31].unk_6C; - GWPlayerCfg[var_r31].diff = lbl_1_bss_3114[var_r31].unk_64; - GWPlayerCfg[var_r31].group = 0; - GWPlayerCfg[var_r31].iscom = lbl_1_bss_3114[var_r31].unk_60; - } - BoardSaveInit(lbl_1_bss_A8[2]); - CharKill(-1); -} - -void fn_1_7684(void) -{ - s32 spC[7] = { 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F }; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (WipeStatGet() != 0) { - fn_1_4D8(); - } - CharModelKill(-1); - MGSeqKillAll(); - { - omOvlHisData *sp8 = omOvlHisGet(0); - } - omOvlHisChg(0, OVL_MSTORY3, 0, 0); - do { - fn_1_4D8(); - } while (lbl_1_bss_D8 != 1); - HuAudSeqAllFadeOut(0x3E8); - HuAudSStreamAllFadeOut(0x3E8); - CharARAMOpen(GWPlayerCfg[0].character); - CharARAMOpen(GWPlayerCfg[1].character); - CharARAMOpen(GWPlayerCfg[2].character); - CharARAMOpen(GWPlayerCfg[3].character); - omOvlCallEx(spC[GWSystem.board], 1, 0, 0); - while (1) { - fn_1_4D8(); - } -} - -void fn_1_77C0(void) -{ - s32 var_r31; - - fn_1_2808(fn_1_13DEC); - fn_1_4B0(0xF0); - for (var_r31 = 0; var_r31 < 5; var_r31++) { - Hu3DModelAttrReset(lbl_1_bss_33AC[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF); - } - lbl_1_bss_3108[0]->work[0] = 1; - fn_1_2808(fn_1_13F68); - fn_1_4B0(0x8C); -} - -void fn_1_7858(void) -{ - s32 var_r31; - - fn_1_4B0(0x3C); - lbl_1_bss_14[0] = HuAudSeqPlay(0x30); - for (var_r31 = 0; var_r31 < 5; var_r31++) { - Hu3DModelAttrReset(lbl_1_bss_33AC[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF); - } - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - fn_1_4B0(0x3C); -} - -void fn_1_7900(void) -{ - MentDllUnkBss64Struct sp8; - MentDllUnkBss64Struct *var_r31; - - var_r31 = &lbl_1_bss_64; - sp8.center.x = lbl_1_bss_DC; - sp8.center.y = 60.0f; - sp8.center.z = 0.0f; - sp8.rot.x = 0.0f; - sp8.rot.y = 0.0f; - sp8.rot.z = 0.0f; - sp8.zoom = 850.0f; - fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 10.0f, 5.0f); -} - -s32 lbl_1_data_2F0 = -1; - -void fn_1_7A14(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - - _ClearFlag(2); - _ClearFlag(3); - _ClearFlag(4); - _ClearFlag(5); - _ClearFlag(6); - _ClearFlag(7); - _ClearFlag(1); - _ClearFlag(9); - for (var_r31 = 0; var_r31 < 5; var_r31++) { - fn_1_59A0(lbl_1_bss_33AC[var_r31].unk_00, 1, 6, 5, 1); - } - fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 3, 0, 0); - lbl_1_bss_3104->work[0] = 1; - var_r29 = -1; - var_r29 = HuAudFXPlay(0x43); - HuAudFXPanning(var_r29, 0x20); - var_r29 = HuAudFXPlay(0x40); - HuAudFXPanning(var_r29, 0x30); - var_r29 = HuAudFXPlay(0x37); - HuAudFXPanning(var_r29, 0x40); - var_r29 = HuAudFXPlay(0x4B); - HuAudFXPanning(var_r29, 0x4C); - var_r29 = HuAudFXPlay(0x46); - HuAudFXPanning(var_r29, 0x60); - HuAudFXPlay(0x9A); - HuAudFXPlay(0x306); - fn_1_4B0(0x96); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - fn_1_4B0(0x1E); - for (var_r31 = 0; var_r31 < 5; var_r31++) { - lbl_1_bss_33AC[var_r31].unk_08 = 0; - lbl_1_bss_33AC[var_r31].unk_04 = (MentDllUnkFunc)fn_1_127FC; - } - lbl_1_bss_33AC->unk_08 = 1; - fn_1_4B0(0x3C); - for (var_r31 = 1; var_r31 < 5; var_r31++) { - fn_1_59A0(lbl_1_bss_33AC[var_r31].unk_00, 1, 1, 0x1E, 1); - } - var_r30 = fn_1_1434(0, 0, 0); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - HuWinInsertMesSet(var_r30, lbl_1_bss_3114->unk_68, 0); - fn_1_1968(var_r30, 0x1E005F, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - fn_1_16AC(var_r30); - fn_1_4B0(0x1E); - for (var_r31 = 1; var_r31 < 5; var_r31++) { - lbl_1_bss_33AC[var_r31].unk_08 = 0; - } - lbl_1_bss_33AC[3].unk_08 = 1; - lbl_1_bss_64.unk_40 = 0; - lbl_1_bss_DC = lbl_1_data_D8[3].x; - fn_1_2808(fn_1_7900); - fn_1_4B0(0x1E); - var_r30 = fn_1_1434(0, 0, 0); - fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 6, 0xF, 1); - fn_1_1968(var_r30, 0x1E0060, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 1, 0xF, 1); - fn_1_16AC(var_r30); - for (var_r31 = 0; var_r31 < 5; var_r31++) { - lbl_1_bss_33AC[var_r31].unk_08 = 0; - } - lbl_1_bss_33AC[1].unk_08 = 1; - lbl_1_bss_64.unk_40 = 0; - lbl_1_bss_DC = lbl_1_data_D8[1].x; - fn_1_4B0(0x1E); - var_r30 = fn_1_1434(0, 0, 0); - fn_1_59A0(lbl_1_bss_33AC[1].unk_00, 1, 6, 0xF, 1); - fn_1_1968(var_r30, 0x1E0061, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[1].unk_00, 1, 1, 0xF, 1); - fn_1_16AC(var_r30); - for (var_r31 = 0; var_r31 < 5; var_r31++) { - lbl_1_bss_33AC[var_r31].unk_08 = 0; - } - lbl_1_bss_33AC[4].unk_08 = 1; - lbl_1_bss_64.unk_40 = 0; - lbl_1_bss_DC = lbl_1_data_D8[4].x; - fn_1_4B0(0x1E); - var_r30 = fn_1_1434(0, 0, 0); - fn_1_59A0(lbl_1_bss_33AC[4].unk_00, 1, 6, 0xF, 1); - fn_1_1968(var_r30, 0x1E0062, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[4].unk_00, 1, 1, 0xF, 1); - fn_1_16AC(var_r30); - for (var_r31 = 0; var_r31 < 5; var_r31++) { - lbl_1_bss_33AC[var_r31].unk_08 = 0; - } - lbl_1_bss_33AC[2].unk_08 = 1; - lbl_1_bss_64.unk_40 = 0; - lbl_1_bss_DC = lbl_1_data_D8[2].x; - fn_1_4B0(0x1E); - var_r30 = fn_1_1434(0, 0, 0); - fn_1_59A0(lbl_1_bss_33AC[2].unk_00, 1, 1, 0xF, 1); - fn_1_1968(var_r30, 0x1E0063, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[2].unk_00, 1, 1, 0xF, 1); - fn_1_16AC(var_r30); - lbl_1_bss_3104->work[0] = 3; - for (var_r31 = 0; var_r31 < 5; var_r31++) { - lbl_1_bss_33AC[var_r31].unk_08 = 0; - } - lbl_1_bss_33AC->unk_08 = 1; - fn_1_2808(fn_1_13F68); - fn_1_4B0(0x3C); - var_r30 = fn_1_1434(0, 0, 0); - lbl_1_data_2F0 = var_r30; - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r30, 0x1E0064, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - for (var_r31 = 0; var_r31 < 5; var_r31++) { - lbl_1_bss_33AC[var_r31].unk_04 = NULL; - } -} - -void fn_1_81A8(omObjData *arg0, void *arg1, void *arg2) -{ - fn_1_1F868(); - lbl_1_bss_3114->unk_04 = NULL; -} - -void fn_1_81D8(void) -{ - lbl_1_bss_3114[0].unk_04 = (MentDllUnkFunc)fn_1_81A8; -} - -void fn_1_81F0(void) -{ - fn_1_4B0(0x3C); - HuAudSStreamPlay(0xC); - OSReport("########### ME_MainProcFunc000\n"); - WipeColorSet(0xFF, 0xFF, 0xFF); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); -} - -void fn_1_824C(void) -{ - s32 var_r31; - - fn_1_4B0(0x3C); - lbl_1_bss_14[0] = HuAudSeqPlay(0x30); - if (lbl_1_bss_A8[0] == 0) { - for (var_r31 = 0; var_r31 < 6; var_r31++) { - Hu3DModelAttrReset(lbl_1_bss_33AC[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF); - } - } - else { - for (var_r31 = 0; var_r31 < 5; var_r31++) { - Hu3DModelAttrReset(lbl_1_bss_33AC[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF); - } - } - Hu3DModelPosSet(lbl_1_bss_33AC[0].unk_00->model[1], 0.0f, 0.0f, 560.0f); - fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 2, 0, 2); - Hu3DModelAttrSet(lbl_1_bss_35BC[0].unk_00->model[2], HU3D_ATTR_DISPOFF); - OSReport("########### ME_MainProcFunc400\n"); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - fn_1_4B0(0x3C); -} - -void fn_1_83CC(void) -{ - s32 var_r31; - - Vec sp14 = { 0.0f, 0.0f, 560.0f }; - fn_1_2808(fn_1_13DEC); - fn_1_4B0(0x5A); - if (lbl_1_bss_A8[0] == 0) { - for (var_r31 = 0; var_r31 < 6; var_r31++) { - Hu3DModelAttrReset(lbl_1_bss_33AC[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF); - } - } - else { - for (var_r31 = 0; var_r31 < 5; var_r31++) { - Hu3DModelAttrReset(lbl_1_bss_33AC[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF); - } - } - fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 3, 0, 0); - fn_1_4B0(0x96); - lbl_1_bss_3108[0]->work[0] = 1; - fn_1_2808(fn_1_13F68); - fn_1_4B0(0x5A); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 2, 0xF, 1); - fn_1_5D38(lbl_1_bss_33AC[0].unk_00, 1, sp14, 0.0f, 3.0f, 0.0f, 1, 0); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - Hu3DModelAttrSet(lbl_1_bss_35BC[0].unk_00->model[2], HU3D_ATTR_DISPOFF); - fn_1_4B0(0x1E); -} - -void fn_1_85C8(void) -{ - s32 var_r31; - s32 var_r30; - - lbl_1_bss_14[0] = HuAudSeqPlay(0x30); - var_r31 = fn_1_1434(0, 0, 0); - HuAudFXPlay(lbl_1_data_0[0][0]); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x1A0000, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - fn_1_16AC(var_r31); - saveExecF = 0; - if (GWGameStat.party_continue == 1) { - var_r31 = fn_1_1434(0, 0, 0); - while (1) { - fn_1_4D8(); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x1A0001, -1, 5); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - var_r30 = fn_1_1A5C(0x1E0035, 3, 0); - if (var_r30 == -1) { - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x1A0003, -1, 5); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - var_r30 = fn_1_1DD8(0x1E0035, 3, 0); - if (var_r30 == 0) { - fn_1_16AC(var_r31); - fn_1_C174(0); - } - continue; - } - if (var_r30 == 0) { - HuAudFXPlay(lbl_1_data_0[0][3]); - saveExecF = 1; - SLLoadBoard(); - HuDataDirClose(DATADIR_MENT); - HuPrcChildCreate(fn_1_7218, 0x64, 0x3000, 0, lbl_1_bss_C8); - fn_1_16AC(var_r31); - fn_1_C174(1); - continue; - } - if (var_r30 == 1) { - break; - } - } - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x1A0002, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - fn_1_16AC(var_r31); - } -} - -void fn_1_88A4(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - - var_r30 = fn_1_1434(0, 0, 0); - HuAudFXPlay(lbl_1_data_0[0][3]); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r30, 0x1A0004, -1, 5); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - var_r29 = fn_1_1DD8(0x1E0035, 3, 0); - fn_1_16AC(var_r30); - if (var_r29 == 0) { - s32 spC[4] = { 3, 0, 2, 4 }; - _SetFlag(0x1000B); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - GWPlayerCfg[var_r31].character = spC[var_r31]; - GWPlayerCfg[var_r31].pad_idx = var_r31; - GWPlayerCfg[var_r31].diff = 0; - GWPlayerCfg[var_r31].group = 0; - GWPlayerCfg[var_r31].iscom = 1; - OSReport("ID-%d CHR-%d PAD-%d DIF-%d GRP-%d COM-%d\n", var_r31, GWPlayerCfg[var_r31].character, GWPlayerCfg[var_r31].pad_idx, - GWPlayerCfg[var_r31].diff, GWPlayerCfg[var_r31].group, GWPlayerCfg[var_r31].iscom); - } - BoardSaveInit(6); - GWSystem.max_turn = 0x14; - HuDataDirClose(DATADIR_MENT); - HuPrcChildCreate(fn_1_7218, 0x64, 0x3000, 0, lbl_1_bss_C8); - { - omOvlHisData *sp8 = omOvlHisGet(0); - } - omOvlHisChg(0, OVL_MENT, 0, 1); - fn_1_C174(2); - } - else { - _ClearFlag(0x1000B); - } - fn_1_14BA8(); -} - -void fn_1_8B40(s32 arg0) -{ - fn_1_2055C(arg0); -} - -s32 fn_1_8B68(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r26; - s32 var_r27; - s32 var_r25; - s32 var_r24; - s32 var_r23; - - var_r30 = 0; - var_r23 = 0; - var_r28 = 0; - if (lbl_1_bss_A8[0] == 5) { - var_r28 = 3; - } - var_r27 = fn_1_1434(0, 0, 0); - HuAudFXPlay(lbl_1_data_0[var_r28][2]); - while (1) { - fn_1_4D8(); - fn_1_4D8(); - fn_1_5818(lbl_1_bss_33AC[var_r28].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r27, 0x1A0005, -1, -1); - fn_1_5818(lbl_1_bss_33AC[var_r28].unk_00, 1, 1, 0xF, 1); - fn_1_2154(0x1A0021); - fn_1_208F4(); - lbl_1_bss_35BC[0].unk_04 = (MentDllUnkFunc)fn_1_1FF4C; - var_r25 = 0x63; - var_r23 = 0; - while (1) { - fn_1_4D8(); - var_r30 = 0; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_3114[var_r31].unk_70[3] == 0) { - var_r30++; - } - } - if (var_r25 != var_r30) { - var_r25 = var_r30; - fn_1_1968(var_r27, var_r30 + 0x1A001B, -1, -0x3E7); - } - if (lbl_1_bss_35BC[0].unk_1C[0] != 0) { - continue; - } - if (HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_A) { - var_r29 = 1; - HuAudFXPlay(2); - lbl_1_bss_35BC[0].unk_04 = NULL; - fn_1_4B0(2); - var_r26 = 0; - var_r30 = var_r26; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_3114[var_r31].unk_60 == 0) { - var_r26++; - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (var_r30 < var_r26) { - if (HuPadStatGet(var_r31) != -1) { - var_r30++; - lbl_1_bss_3114[var_r31].unk_60 = 0; - } - else { - lbl_1_bss_3114[var_r31].unk_60 = 1; - } - } - } - break; - } - else if (HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_B) { - var_r29 = 0; - HuAudFXPlay(3); - break; - } - } - fn_1_20A24(); - lbl_1_bss_35BC[0].unk_04 = NULL; - fn_1_2318(0); - if (var_r29 == 0) { - fn_1_59A0(lbl_1_bss_33AC[var_r28].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r27, 0x1A0003, -1, 5); - fn_1_59A0(lbl_1_bss_33AC[var_r28].unk_00, 1, 1, 0xF, 1); - var_r24 = fn_1_1DD8(0x1E0035, 3, 0); - if (var_r24 == 0) { - fn_1_16AC(var_r27); - fn_1_C174(0); - } - } - else if (var_r29 == 1) { - break; - } - } - fn_1_16AC(var_r27); - var_r30 = 0; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_3114[var_r31].unk_60 == 0) { - var_r30++; - } - } - if (var_r30 == 0) { - var_r29 = 2; - } - else { - var_r29 = 1; - } - return var_r29; -} - -void fn_1_8F44(void) -{ - s32 var_r31; - - fn_1_207BC(); - fn_1_15950(); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_3114[var_r31].unk_68 = var_r31; - } -} - -void fn_1_8F98(void) -{ - fn_1_14CE0(); -} - -s32 fn_1_8FB8(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - - var_r26 = 0; - var_r29 = 0; - if (lbl_1_bss_A8[0] == 5) { - var_r29 = 3; - } - fn_1_15950(); - var_r27 = fn_1_1434(0, 0, 0); - HuWinPushKeySet(var_r27, 0x300); - HuAudFXPlay(lbl_1_data_0[var_r29][2]); - fn_1_4D8(); - fn_1_5818(lbl_1_bss_33AC[var_r29].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r27, 0x1A0009, -1, -1); - fn_1_5818(lbl_1_bss_33AC[var_r29].unk_00, 1, 1, 0xF, 1); - fn_1_2154(0x1A0020); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_3114[var_r31].unk_60 == 0) { - lbl_1_bss_3114[var_r31].unk_04 = (MentDllUnkFunc)fn_1_15CB4; - } - } - while (1) { - fn_1_4D8(); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if ((lbl_1_bss_3114[var_r31].unk_60 == 0) && (HuPadBtnDown[lbl_1_bss_3114[var_r31].unk_6C] & PAD_BUTTON_A)) { - var_r26 = 1; - } - } - if ((lbl_1_bss_3114[0].unk_70[0] == 0) && (HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_B)) { - HuAudFXPlay(3); - var_r30 = 0; - break; - } - else { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if ((lbl_1_bss_3114[var_r31].unk_60 == 0) && (lbl_1_bss_3114[var_r31].unk_70[0] != 1)) { - break; - } - } - if (var_r31 == 4) { - var_r30 = 2; - break; - } - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_3114[var_r31].unk_04 = NULL; - } - fn_1_2318(0); - fn_1_16AC(var_r27); - if (var_r30 == 2) { - var_r28 = 0; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_3114[var_r31].unk_60 != 0) { - lbl_1_bss_3114[var_r31].unk_68 = 0; - var_r28++; - } - } - if (var_r28 == 0) { - var_r30 = 3; - } - else { - var_r30 = 2; - } - } - else { - var_r30 = 0; - } - return var_r30; -} - -s32 fn_1_92CC(void) -{ - s32 sp8; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - - var_r30 = -1; - var_r26 = -1; - var_r24 = -1; - sp8 = 0; - var_r25 = 0; - if (lbl_1_bss_A8[0] == 5) { - var_r25 = 3; - } - var_r27 = fn_1_1434(0, 0, 0); - HuAudFXPlay(lbl_1_data_0[var_r25][3]); - var_r28 = 0; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_3114[var_r31].unk_60 != 0) { - var_r28++; - } - } - HuWinInsertMesSet(var_r27, var_r28 + 0x1A0023, 1); - fn_1_59A0(lbl_1_bss_33AC[var_r25].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r27, 0x1A0007, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[var_r25].unk_00, 1, 1, 0xF, 1); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_3114[var_r31].unk_60 != 0) { - lbl_1_bss_3114[var_r31].unk_68 = lbl_1_bss_3114[var_r31].unk_64 = 0; - } - } - while (1) { - fn_1_4D8(); - fn_1_2154(0x1A0020); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if ((lbl_1_bss_3114[var_r31].unk_60 != 0) && (lbl_1_bss_3114[var_r31].unk_70[0] == 0)) { - var_r30 = var_r31; - lbl_1_bss_3114[var_r31].unk_70[1] = var_r26; - fn_1_173FC(&lbl_1_bss_3114[var_r31]); - lbl_1_bss_3114[var_r31].unk_04 = (MentDllUnkFunc)fn_1_16B68; - break; - } - } - while (1) { - fn_1_4D8(); - if ((var_r24 != lbl_1_bss_3114[var_r30].unk_68) && (lbl_1_bss_3114[var_r30].unk_70[0] == 0)) { - var_r24 = lbl_1_bss_3114[var_r30].unk_68; - fn_1_1968(var_r27, lbl_1_bss_3114[var_r30].unk_68 + 0x1B0008, -1, -0x3E7); - } - if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_B) && (lbl_1_bss_3114[var_r30].unk_70[0] == 0)) { - HuAudFXPlay(3); - if (var_r26 == -1) { - var_r29 = 0; - } - else { - var_r29 = 1; - } - break; - } - else if (lbl_1_bss_3114[var_r30].unk_70[0] == 1) { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_3114[var_r31].unk_70[0] == 0) { - lbl_1_bss_3114[var_r31].unk_68 = 0; - } - } - lbl_1_bss_3114[var_r30].unk_04 = NULL; - fn_1_1968(var_r27, 0x1A0022, -1, -0x3E7); - fn_1_2154(0x1A0023); - var_r29 = fn_1_1648C(&lbl_1_bss_3114[var_r30]); - if (var_r29 == 1) { - lbl_1_bss_3114[var_r30].unk_70[2] = 1; - var_r29 = 4; - var_r26 = var_r30; - } - else { - lbl_1_bss_3114[var_r30].unk_70[2] = 0; - var_r29 = 4; - lbl_1_bss_3114[var_r30].unk_70[0] = 0; - fn_1_17914(&lbl_1_bss_3114[var_r30]); - fn_1_173FC(&lbl_1_bss_3114[var_r30]); - } - break; - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_3114[var_r31].unk_04 = NULL; - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_3114[var_r31].unk_70[0] == 0) { - break; - } - } - if (var_r31 == 4) { - var_r29 = 3; - break; - } - else { - if (var_r29 == 1) { - fn_1_173FC(&lbl_1_bss_3114[var_r30]); - fn_1_17914(&lbl_1_bss_3114[var_r30]); - fn_1_173FC(&lbl_1_bss_3114[lbl_1_bss_3114[var_r30].unk_70[1]]); - var_r26 = lbl_1_bss_3114[lbl_1_bss_3114[var_r30].unk_70[1]].unk_70[1]; - lbl_1_bss_3114[lbl_1_bss_3114[var_r30].unk_70[1]].unk_70[0] = 0; - } - else if (var_r29 == 4) { - } - else if (var_r29 == 0) { - fn_1_17914(&lbl_1_bss_3114[var_r30]); - break; - } - else { - break; - } - } - var_r24 = -1; - } - fn_1_2318(0); - fn_1_16AC(var_r27); - if (var_r29 == 0) { - var_r28 = 0; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_3114[var_r31].unk_60 == 0) { - var_r28++; - } - } - if (var_r28 != 0) { - var_r29 = 1; - } - else { - var_r29 = 0; - } - } - return var_r29; -} - -void fn_1_98E4(void) -{ - s32 var_r31; - s32 var_r30; - - fn_1_15098(); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if (lbl_1_bss_3114[var_r31].unk_60 == 1) { - lbl_1_bss_3114[var_r31].unk_70[var_r30] = 0; - lbl_1_bss_3114[var_r31].unk_80[var_r30] = 0; - fn_1_17914(&lbl_1_bss_3114[var_r31]); - } - } - } -} - -void fn_1_99AC(void) -{ - fn_1_1811C(); -} - -s32 fn_1_99CC(void) -{ - s32 var_r26; - s32 temp_r27; - s32 var_r28; - s32 var_r29; - s32 var_r30; - s32 i; - - s32 sp8[6] = { - 0x00000001, - 0x00000002, - 0x00000000, - 0x00000003, - 0x00000004, - 0x00000005, - }; - - var_r30 = 2; - temp_r27 = fn_1_1434(0, 0, 0); - while (1) { - fn_1_4D8(); - var_r28 = 0; - lbl_1_bss_33AC->unk_34 = 1; - HuAudFXPlay(lbl_1_data_0[0][3]); - fn_1_59A0(lbl_1_bss_33AC[sp8[var_r30]].unk_00, 1, 4, 0xF, 1); - fn_1_1968(temp_r27, 0x1A0008U, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[sp8[var_r30]].unk_00, 1, 1, 0xF, 1); - fn_1_2154(0x1A0020U); - - for (i = 0; i < 6; i++) { - lbl_1_bss_33AC[i].unk_08 = 0; - lbl_1_bss_33AC[i].unk_04 = (void (*)(omObjData *, ...))fn_1_127FC; - } - - lbl_1_bss_33AC[sp8[var_r30]].unk_08 = 1; - lbl_1_bss_35BC->unk_04 = (void (*)(omObjData *, ...))fn_1_18F74; - while (1) { - fn_1_4D8(); - for (i = 0; i < 6; i++) { - if (lbl_1_bss_33AC[i].unk_08 != 2) { - break; - } - } - - if (i == 6 && var_r28 >= 0x15) { - if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & 0x200)) { - HuAudFXPlay(3); - var_r29 = 0; - break; - } - else if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & 0x100)) { - HuAudFXPlay(2); - var_r29 = 2; - break; - } - else { - if ((HuPadStkX[lbl_1_bss_3114->unk_6C] >= 50) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 2))) { - if (lbl_1_bss_A8[4] == 1) { - if (++var_r30 > 5) { - var_r30 = 5; - } - else { - var_r28 = 0; - } - } - else { - if (++var_r30 > 4) { - var_r30 = 4; - } - else { - var_r28 = 0; - } - } - } - else if ((HuPadStkX[lbl_1_bss_3114->unk_6C] <= -50) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 1))) { - if (--var_r30 < 0) { - var_r30 = 0; - } - else { - var_r28 = 0; - } - } - } - } - if (var_r28 == 0) { - if (var_r30 != 5) { - fn_1_2808(fn_1_14058); - } - else { - fn_1_2808(fn_1_14148); - } - for (i = 0; i < 6; i++) { - lbl_1_bss_33AC[i].unk_08 = 0; - } - lbl_1_bss_33AC[sp8[var_r30]].unk_08 = 1; - } - if (var_r28++ == 0x14) { - var_r28 = 0x15; - fn_1_18A54(sp8[var_r30]); - fn_1_1968(temp_r27, sp8[var_r30] + 0x1B0001, -1, -999); - if ((s32)sp8[var_r30] != 0) { - HuAudFXPlay(lbl_1_data_0[sp8[var_r30]][0]); - } - else { - HuAudFXPlay(lbl_1_data_0[sp8[var_r30]][2]); - } - } - } - fn_1_2318(0); - if (var_r29 == 0) { - fn_1_2808(fn_1_14058); - if (var_r30 != 2) { - var_r30 = 2; - for (i = 0; i < 6; i++) { - lbl_1_bss_33AC[i].unk_08 = 0; - } - - lbl_1_bss_33AC[sp8[var_r30]].unk_08 = 1; - } - fn_1_18DCC(); - fn_1_4B0(0x1E); - } - else if (var_r29 == 1) { - fn_1_2808(fn_1_14058); - if (var_r30 != 2) { - var_r30 = 2; - for (i = 0; i < 6; i++) { - lbl_1_bss_33AC[i].unk_08 = 0; - } - lbl_1_bss_33AC[sp8[var_r30]].unk_08 = 1; - } - fn_1_18DCC(); - fn_1_4B0(0x1E); - fn_1_59A0(lbl_1_bss_33AC->unk_00, 1, 4, 0xF, 1); - fn_1_1968(temp_r27, 0x1A0003U, -1, 5); - fn_1_59A0(lbl_1_bss_33AC->unk_00, 1, 1, 0xF, 1); - var_r26 = fn_1_1DD8(0x1E0035U, 3, 0); - if (var_r26 == 0) { - fn_1_16AC(temp_r27); - fn_1_C174(0); - } - continue; - } - else if (var_r29 == 2) { - for (i = 0; i < 6; i++) { - lbl_1_bss_33AC[i].unk_04 = NULL; - } - lbl_1_bss_A8[2] = sp8[var_r30]; - } - else { - continue; - } - break; - } - - fn_1_16AC(temp_r27); - - if (var_r29 == 0) { - for (i = 0; i < 4; i++) { - if (lbl_1_bss_3114[i].unk_60 != 0) { - break; - } - } - if (i != 4) { - var_r29 = 2; - } - else { - var_r29 = 1; - } - } - else { - var_r29 = 3; - } - return var_r29; -} - -void fn_1_A0A4(void) -{ - fn_1_1850C(); -} - -void fn_1_A0C4(void) -{ - s32 var_r31; - - var_r31 = lbl_1_bss_A8[2]; - fn_1_1850C(); - HuAudFXPlay(lbl_1_data_0[var_r31][3]); - if (var_r31 != 5) { - Vec sp2C = { -350.0f, 0.0f, 800.0f }; - fn_1_2808(fn_1_14238); - fn_1_5818(lbl_1_bss_33AC[var_r31].unk_00, 1, 3, 0xF, 1); - fn_1_5D38(lbl_1_bss_33AC[var_r31].unk_00, 1, sp2C, 30.0f, 6.0f, 10.0f, 1, 1); - fn_1_5818(lbl_1_bss_33AC[var_r31].unk_00, 1, 1, 0xF, 1); - Hu3DModelAttrReset(lbl_1_bss_35BC[0].unk_00->model[2], HU3D_ATTR_DISPOFF); - fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 2, 0, 0); - fn_1_5CDC(lbl_1_bss_35BC[0].unk_00, 2, 0); - } - else { - Vec sp20 = { 850.0f, 0.0f, 800.0f }; - fn_1_2808(fn_1_14328); - fn_1_5818(lbl_1_bss_33AC[var_r31].unk_00, 1, 3, 0xF, 1); - fn_1_5D38(lbl_1_bss_33AC[var_r31].unk_00, 1, sp20, 30.0f, 6.0f, 10.0f, 1, 1); - fn_1_5818(lbl_1_bss_33AC[var_r31].unk_00, 1, 1, 0xF, 1); - Hu3DModelAttrReset(lbl_1_bss_35BC[1].unk_00->model[2], HU3D_ATTR_DISPOFF); - fn_1_5818(lbl_1_bss_35BC[1].unk_00, 2, 2, 0, 0); - fn_1_5CDC(lbl_1_bss_35BC[1].unk_00, 2, 0); - } -} - -void fn_1_A39C(void) -{ - fn_1_1C754(); -} - -s32 fn_1_A3BC(void) -{ - char sp8[10]; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - - var_r27 = -1; - var_r26 = -1; - var_r30 = lbl_1_bss_A8[2]; - var_r31 = fn_1_1434(0, 0, 0); - if (var_r30 == 0) { - HuAudFXPlay(lbl_1_data_0[var_r30][2]); - } - else { - HuAudFXPlay(lbl_1_data_0[var_r30][0]); - } -loop_3: - fn_1_4D8(); - var_r27 = var_r26 = -1; - fn_1_59A0(lbl_1_bss_33AC[var_r30].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, var_r30 + 0x1A000A, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[var_r30].unk_00, 1, 1, 0xF, 1); - fn_1_2154(0x1A0021); - lbl_1_bss_35BC[0].unk_08[1] = 0; - fn_1_1C554(); - lbl_1_bss_35BC[1].unk_04 = (MentDllUnkFunc)fn_1_19C98; -loop_4: - fn_1_4D8(); - if ((var_r27 != lbl_1_bss_35BC[1].unk_08[0]) || var_r26 != lbl_1_bss_35BC[1].unk_1C[lbl_1_bss_35BC[1].unk_08[0]]) { - var_r27 = lbl_1_bss_35BC[1].unk_08[0]; - var_r26 = lbl_1_bss_35BC[1].unk_1C[lbl_1_bss_35BC[1].unk_08[0]]; - switch (lbl_1_bss_35BC[1].unk_08[0]) { - case 0: - switch (lbl_1_bss_35BC[1].unk_1C[0]) { - case 0: - fn_1_1968(var_r31, 0x1B0015, -1, -0x3E7); - break; - case 1: - HuWinInsertMesSet(var_r31, 0x1B001E, 0); - HuWinInsertMesSet(var_r31, 0x1B001F, 1); - HuWinInsertMesSet(var_r31, 0x1B0020, 2); - fn_1_1968(var_r31, 0x1B0016, -1, -0x3E7); - break; - case 2: - HuWinInsertMesSet(var_r31, 0x1B001F, 0); - HuWinInsertMesSet(var_r31, 0x1B001E, 1); - HuWinInsertMesSet(var_r31, 0x1B0020, 2); - fn_1_1968(var_r31, 0x1B0016, -1, -0x3E7); - break; - case 3: - HuWinInsertMesSet(var_r31, 0x1B0020, 0); - HuWinInsertMesSet(var_r31, 0x1B001E, 1); - HuWinInsertMesSet(var_r31, 0x1B001F, 2); - fn_1_1968(var_r31, 0x1B0016, -1, -0x3E7); - break; - } - break; - case 1: - sprintf(sp8, "%d", lbl_1_bss_35BC[1].unk_1C[1]); - HuWinInsertMesSet(var_r31, MAKE_MESSID_PTR(sp8), 0); - fn_1_1968(var_r31, 0x1B0017, -1, -0x3E7); - break; - case 2: - fn_1_1968(var_r31, lbl_1_bss_35BC[1].unk_1C[2] + 0x1B0018, -1, -0x3E7); - break; - case 3: - fn_1_1968(var_r31, lbl_1_bss_35BC[1].unk_1C[3] + 0x1B001B, -1, -0x3E7); - break; - case 4: - HuWinInsertMesSet(var_r31, lbl_1_bss_3114[lbl_1_bss_35BC[1].unk_1C[4]].unk_68, 0); - fn_1_1968(var_r31, 0x1B001D, -1, -0x3E7); - break; - } - } - if (lbl_1_bss_35BC[0].unk_08[3] != 0) { - goto loop_4; - } - if (lbl_1_bss_35BC[0].unk_08[1] == -1) { - fn_1_1C674(); - var_r29 = 0; - } - else if (lbl_1_bss_35BC[0].unk_08[1] == 1) { - fn_1_1C674(); - var_r29 = 2; - } - else { - goto loop_4; - } - fn_1_2318(0); - lbl_1_bss_35BC[1].unk_04 = NULL; - fn_1_1C674(); - if (var_r29 == 0) { - var_r29 = 1; - } - else if (var_r29 == 1) { - fn_1_59A0(lbl_1_bss_33AC[var_r30].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x1A0003, -1, 5); - fn_1_59A0(lbl_1_bss_33AC[var_r30].unk_00, 1, 1, 0xF, 1); - var_r28 = fn_1_1DD8(0x1E0035, 3, 0); - if (var_r28 == 0) { - fn_1_16AC(var_r31); - fn_1_C174(0); - } - goto loop_3; - } - else if (var_r29 == 2) { - HuAudFXPlay(lbl_1_data_0[var_r30][2]); - fn_1_1968(var_r31, 0x1B0000, -1, 5); - var_r28 = fn_1_1A5C(0x1E0035, 3, 0); - if (var_r28 == 0) { - var_r29 = 0x63; - } - else { - fn_1_1968(var_r31, 0x1B0007, -1, 5); - var_r28 = fn_1_1DD8(0x1E0035, 3, 0); - if (var_r28 == 0) { - var_r29 = 0; - } - else { - goto loop_3; - } - } - } - else { - goto loop_3; - } - fn_1_16AC(var_r31); - return var_r29; -} - -void fn_1_A990(void) -{ - fn_1_1C990(); -} - -void fn_1_A9B0(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r30 = lbl_1_bss_A8[2]; - { - Vec sp14 = { -120.0f, 0.0f, 670.0f }; - if (lbl_1_bss_A8[2] == 5) { - var_r31 = 1; - } - else { - var_r31 = 0; - } - for (var_r29 = 0; var_r29 < 6; var_r29++) { - Hu3DModelAttrSet(lbl_1_bss_33AC[var_r29].unk_00->model[1], HU3D_ATTR_DISPOFF); - } - Hu3DModelAttrReset(lbl_1_bss_33AC[var_r30].unk_00->model[1], HU3D_ATTR_DISPOFF); - fn_1_11908(lbl_1_bss_35BC[var_r31].unk_00, lbl_1_bss_A8[2]); - Hu3DModelAttrReset(lbl_1_bss_35BC[var_r31].unk_00->model[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_35BC[var_r31].unk_00->model[5], HU3D_ATTR_DISPOFF); - lbl_1_bss_35BC[var_r31].unk_04 = (MentDllUnkFunc)fn_1_1184C; - if (var_r30 == 5) { - sp14.x += 1200.0f; - } - fn_1_5818(lbl_1_bss_33AC[var_r30].unk_00, 1, 3, 0xF, 1); - fn_1_5D38(lbl_1_bss_33AC[var_r30].unk_00, 1, sp14, 5.0f, 6.0f, 10.0f, 1, 1); - fn_1_5818(lbl_1_bss_33AC[var_r30].unk_00, 1, 1, 0xF, 1); - HuDataDirClose(DATADIR_MENT); - HuPrcChildCreate(fn_1_7218, 0x64, 0x3000, 0, lbl_1_bss_C8); - fn_1_4B0(0x1E); - fn_1_5818(lbl_1_bss_35BC[var_r31].unk_00, 2, 3, 0, 0); - var_r28 = fn_1_1434(0, 0, 0); - HuAudFXPlay(lbl_1_data_0[var_r30][0]); - fn_1_59A0(lbl_1_bss_33AC[var_r30].unk_00, 1, 5, 0xF, 1); - fn_1_1968(var_r28, var_r30 + 0x1A0010, -1, -1); - fn_1_16AC(var_r28); - HuAudSeqFadeOut(lbl_1_bss_14[0], 0xBB8); - fn_1_5CDC(lbl_1_bss_35BC[var_r31].unk_00, 2, 0); - Hu3DModelAttrSet(lbl_1_bss_35BC[var_r31].unk_00->model[2], HU3D_ATTR_DISPOFF); - fn_1_2808(fn_1_14418); - fn_1_4B0(0xA); - HuAudFXPlay(GWPlayerCfg->character + 0x75); - HuAudFXPlay(GWPlayerCfg[1].character + 0x75); - HuAudFXPlay(GWPlayerCfg[2].character + 0x75); - HuAudFXPlay(GWPlayerCfg[3].character + 0x75); - fn_1_4B0(0x8C); - } -} - -void fn_1_AD78(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - s32 sp20[6] = { 1, 2, 0, 3, 4, 5 }; - var_r30 = lbl_1_bss_A8[2]; - var_r29 = lbl_1_bss_A8[2]; - if (var_r30 != 5) { - var_r28 = 0; - } - else { - var_r28 = 1; - } - fn_1_5818(lbl_1_bss_35BC[var_r28].unk_00, 2, 3, 0, 0); - fn_1_5CDC(lbl_1_bss_35BC[var_r28].unk_00, 2, 0); - Hu3DModelAttrSet(lbl_1_bss_35BC[0].unk_00->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_35BC[1].unk_00->model[2], HU3D_ATTR_DISPOFF); - if (var_r30 != 5) { - fn_1_2808(fn_1_146D0); - } - else { - fn_1_2808(fn_1_147C0); - } - { - Vec sp14 = { 0.0f, 0.0f, 560.0f }; - sp14.x = lbl_1_data_D8[var_r30].x; - fn_1_5818(lbl_1_bss_33AC[var_r30].unk_00, 1, 3, 0xF, 1); - fn_1_5D38(lbl_1_bss_33AC[var_r30].unk_00, 1, sp14, lbl_1_data_120[var_r30], 6.0f, 10.0f, 1, 1); - fn_1_5818(lbl_1_bss_33AC[var_r30].unk_00, 1, 1, 0xF, 1); - for (var_r31 = 0; var_r31 < 6; var_r31++) { - lbl_1_bss_33AC[var_r31].unk_08 = 0; - lbl_1_bss_33AC[var_r31].unk_04 = (MentDllUnkFunc)fn_1_127FC; - } - lbl_1_bss_33AC[sp20[var_r29]].unk_08 = 1; - fn_1_2808(fn_1_14058); - if (var_r29 != 2) { - var_r29 = 2; - for (var_r31 = 0; var_r31 < 6; var_r31++) { - lbl_1_bss_33AC[var_r31].unk_08 = 0; - } - lbl_1_bss_33AC[sp20[var_r29]].unk_08 = 1; - } - fn_1_18DCC(); - fn_1_4B0(0x1E); - } -} - -void fn_1_B084(void) -{ - s32 sp28; - s32 sp24; - s32 sp20; - s32 sp1C; - s32 sp18; - float sp14; - s32 sp10; - s32 spC; - s32 sp8; - s32 var_r31; - MentDllUnkBss3114Struct *var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - MentDllUnkBss3114Struct *var_r26; - MentDllUnkBss33ACStruct *var_r25; - MentDllUnkBss35BCStruct *var_r24; - - var_r28 = lbl_1_bss_A8[2]; - if (var_r28 != 5) { - var_r27 = 0; - } - else { - var_r27 = 1; - } - for (var_r31 = 0; var_r31 < 6; var_r31++) { - if (var_r31 != var_r28) { - Hu3DModelAttrSet(lbl_1_bss_33AC[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF); - } - } - fn_1_5818(lbl_1_bss_35BC[var_r27].unk_00, 2, 3, 0, 0); - fn_1_5CDC(lbl_1_bss_35BC[var_r27].unk_00, 2, 0); - if (var_r28 != 5) { - fn_1_2808(fn_1_146D0); - } - else { - fn_1_2808(fn_1_147C0); - } - { - Vec sp2C = { 0.0f, 0.0f, 460.0f }; - - if (var_r28 == 5) { - sp2C.x = 1200.0f; - } - fn_1_5818(lbl_1_bss_33AC[var_r28].unk_00, 1, 3, 0xF, 1); - fn_1_5D38(lbl_1_bss_33AC[var_r28].unk_00, 1, sp2C, 0.0f, 6.0f, 10.0f, 1, 1); - fn_1_5818(lbl_1_bss_33AC[var_r28].unk_00, 1, 1, 0xF, 1); - fn_1_5818(lbl_1_bss_35BC[var_r27].unk_00, 2, 2, 0, 0); - fn_1_5CDC(lbl_1_bss_35BC[var_r27].unk_00, 2, 0); - fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 3, 0, 2); - Hu3DModelAttrReset(lbl_1_bss_35BC[0].unk_00->model[2], HU3D_ATTR_DISPOFF); - if (var_r28 == 5) { - fn_1_2808(fn_1_14058); - } - fn_1_4B0(0x1E); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = &lbl_1_bss_3114[var_r31]; - var_r26 = &lbl_1_bss_3114[var_r31]; - var_r30->unk_58 = var_r31; - var_r30->unk_5C = 0; - var_r30->unk_60 = var_r30->unk_58; - if (var_r30->unk_60 > 0) { - var_r30->unk_60 = 1; - } - var_r30->unk_64 = 0; - var_r30->unk_68 = var_r30->unk_58; - var_r30->unk_6C = var_r30->unk_58; - for (var_r29 = 0; var_r29 < 4; var_r29++) { - var_r30->unk_70[0] = var_r30->unk_70[1] = 0; - } - for (var_r29 = 0; var_r29 < 5; var_r29++) { - var_r26->unk_08 = var_r26->unk_0C = 0; - } - } - for (var_r31 = 0; var_r31 < 6; var_r31++) { - var_r25 = &lbl_1_bss_33AC[var_r31]; - for (var_r29 = 0; var_r29 < 5; var_r29++) { - var_r25->unk_08 = var_r25->unk_0C = 0; - } - Hu3DModelPosSet(lbl_1_bss_33AC[var_r31].unk_00->model[1], lbl_1_data_D8[var_r31].x, lbl_1_data_D8[var_r31].y, lbl_1_data_D8[var_r31].z); - Hu3DModelRotSet(lbl_1_bss_33AC[var_r31].unk_00->model[1], 0.0f, lbl_1_data_120[var_r31], 0.0f); - Hu3DModelAttrReset(lbl_1_bss_33AC[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF); - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r24 = &lbl_1_bss_35BC[var_r31]; - for (var_r29 = 0; var_r29 < 5; var_r29++) { - var_r24->unk_08[0] = var_r24->unk_08[1] = 0; - } - Hu3DModelAttrSet(lbl_1_bss_35BC[1].unk_00->model[2], HU3D_ATTR_DISPOFF); - } - fn_1_14BA8(); - fn_1_179DC(); - fn_1_1872C(); - fn_1_190E8(); - fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 3, 0, 0); - fn_1_5CDC(lbl_1_bss_35BC[0].unk_00, 2, 0); - Hu3DModelAttrSet(lbl_1_bss_35BC[0].unk_00->model[2], HU3D_ATTR_DISPOFF); - { - Vec sp20 = { 0.0f, 0.0f, 560.0f }; - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 2, 0xF, 1); - fn_1_5D38(lbl_1_bss_33AC[0].unk_00, 1, sp20, 0.0f, 3.0f, 0.0f, 1, 0); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - } - } -} - -void fn_1_B654(omObjData *arg0, MentDllUnkBss35BCStruct *arg1) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r22; - s32 var_r21; - s32 var_r20; - - var_r30 = 0xA; - var_r29 = 0; - if (lbl_1_bss_A8[1] == 0) { - fn_1_81F0(); - fn_1_83CC(); - fn_1_85C8(); - fn_1_88A4(); - } - else { - fn_1_824C(); - fn_1_88A4(); - } - do { - fn_1_4D8(); - switch (var_r30) { - case 10: - var_r30 = 0; - fn_1_2055C(var_r29); - var_r29 = fn_1_8B68(); - fn_1_8F44(); - break; - case 0: - var_r30 = 1; - fn_1_14CE0(); - while (1) { - fn_1_4D8(); - switch (var_r29) { - case 1: - var_r29 = fn_1_8FB8(); - break; - case 2: - var_r29 = fn_1_92CC(); - break; - } - if (var_r29 == 0) { - var_r30 = 0xA; - break; - } - else if (var_r29 == 3) { - break; - } - } - fn_1_98E4(); - break; - case 1: - var_r30 = 2; - fn_1_1811C(); - var_r29 = fn_1_99CC(); - if (var_r29 != 3) { - fn_1_1850C(); - var_r30 = 0; - } - else { - fn_1_A0C4(); - } - break; - case 2: - fn_1_1C754(); - var_r30 = fn_1_A3BC(); - fn_1_1C990(); - switch (var_r30) { - case 0: - var_r30 = 0xA; - var_r29 = 0; - fn_1_B084(); - break; - case 1: - var_r30 = 1; - fn_1_AD78(); - break; - } - break; - } - } while (var_r30 != 0x63); - if (lbl_1_bss_35BC[1].unk_1C[0] == 0) { - var_r21 = 0; - } - else { - var_r21 = 1; - } - if (lbl_1_bss_35BC[1].unk_1C[3] == 0) { - var_r20 = 1; - } - else { - var_r20 = 0; - } - switch (lbl_1_bss_35BC[1].unk_1C[2]) { - case 0: - var_r22 = 0; - break; - case 1: - var_r22 = 1; - break; - case 2: - var_r22 = 2; - break; - default: - var_r22 = 0; - break; - } - { - s32 var_r19 = lbl_1_bss_35BC[1].unk_1C[1]; - s32 var_r18 = lbl_1_bss_35BC[1].unk_08[1]; - s32 var_r17 = lbl_1_bss_35BC[1].unk_08[2]; - s32 sp18 = lbl_1_bss_35BC[1].unk_08[3]; - s32 sp14 = lbl_1_bss_35BC[1].unk_08[4]; - BoardPartyConfigSet(var_r21, var_r20, var_r22, var_r19, var_r18, var_r17, sp18, sp14); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - GWPlayerCfg[var_r31].character = lbl_1_bss_3114[var_r31].unk_68; - GWPlayerCfg[var_r31].pad_idx = lbl_1_bss_3114[var_r31].unk_6C; - GWPlayerCfg[var_r31].diff = lbl_1_bss_3114[var_r31].unk_64; - GWPlayerCfg[var_r31].group = 0; - GWPlayerCfg[var_r31].iscom = lbl_1_bss_3114[var_r31].unk_60; - } - if (var_r21 == 1) { - switch (lbl_1_bss_35BC[1].unk_1C[0]) { - case 1: - GWPlayerCfg[2].group = GWPlayerCfg[3].group = 1; - break; - case 2: - GWPlayerCfg[1].group = GWPlayerCfg[3].group = 1; - break; - case 3: - GWPlayerCfg[1].group = GWPlayerCfg[2].group = 1; - break; - default: - GWPlayerCfg[2].group = GWPlayerCfg[3].group = 1; - break; - } - } - BoardSaveInit(lbl_1_bss_A8[2]); - fn_1_A9B0(); - if (lbl_1_bss_A8[2] != 5) { - WipeColorSet(0xFF, 0xFF, 0xFF); - } - else { - WipeColorSet(0, 0, 0); - } - fn_1_C174(3); -} - -void fn_1_C174(s32 arg0) -{ - s32 spC[7] = { 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F }; - if (arg0 == 0 || arg0 == 1 || arg0 == 2) { - fn_1_4B0(0x3C); - HuAudSeqFadeOut(lbl_1_bss_14[0], 0x3E8); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - - while (WipeStatGet() != 0) { - fn_1_4D8(); - } - CharModelKill(-1); - MGSeqKillAll(); - - if (arg0 != 0) { - if (arg0 == 1 || arg0 == 3) { - omOvlHisData *sp8 = omOvlHisGet(0); - omOvlHisChg(0, OVL_MSTORY3, 0, 0); - } - do { - fn_1_4D8(); - } while (lbl_1_bss_D8 != 1); - CharARAMOpen(GWPlayerCfg[0].character); - CharARAMOpen(GWPlayerCfg[1].character); - CharARAMOpen(GWPlayerCfg[2].character); - CharARAMOpen(GWPlayerCfg[3].character); - HuAudSeqAllFadeOut(0x3E8); - HuAudSStreamAllFadeOut(0x3E8); - } - - switch (arg0) { - case 0: - omOvlReturnEx(1, 1); - break; - case 2: - omOvlCallEx(spC[6], 1, 0, 0); - break; - case 1: - case 3: - omOvlCallEx(spC[GWSystem.board], 1, 0, 0); - break; - } - while (1) { - fn_1_4D8(); - } -} - -s32 fn_1_C354(s32 arg0) -{ - if (arg0 == 0 && _CheckFlag(FLAG_ID_MAKE(0, 2)) != 0) { - return 1; - } - if (arg0 == 1 && _CheckFlag(FLAG_ID_MAKE(0, 3)) != 0) { - return 1; - } - if (arg0 == 2 && _CheckFlag(FLAG_ID_MAKE(0, 4)) != 0) { - return 1; - } - if (arg0 == 3 && _CheckFlag(FLAG_ID_MAKE(0, 5)) != 0) { - return 1; - } - if (arg0 == 4 && _CheckFlag(FLAG_ID_MAKE(0, 6)) != 0) { - return 1; - } - if (arg0 == 5 && _CheckFlag(FLAG_ID_MAKE(0, 7)) != 0) { - return 1; - } - return 0; -} - -s32 fn_1_C440(void) -{ - if ((_CheckFlag(FLAG_ID_MAKE(0, 2)) != 0) && (_CheckFlag(FLAG_ID_MAKE(0, 3)) != 0) && (_CheckFlag(FLAG_ID_MAKE(0, 4)) != 0) - && (_CheckFlag(FLAG_ID_MAKE(0, 5)) != 0) && (_CheckFlag(FLAG_ID_MAKE(0, 6)) != 0)) { - return 1; - } - return 0; -} - -void fn_1_C4B8(void) -{ - s32 var_r31; - s32 var_r28; - - var_r31 = fn_1_1434(0, 0, 0); - lbl_1_bss_14[0] = HuAudSeqPlay(0x30); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x1E005C, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - fn_1_16AC(var_r31); - saveExecF = 0; - if (GWGameStat.story_continue != 1) { - return; - } - var_r31 = fn_1_1434(0, 0, 0); - while (1) { - fn_1_4D8(); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x1E0001, -1, 5); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - var_r28 = fn_1_1A5C(0x1E0035, 3, 0); - if (var_r28 == -1) { - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x1E0003, -1, 5); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - var_r28 = fn_1_1DD8(0x1E0035, 3, 0); - if (var_r28 == 0) { - fn_1_16AC(var_r31); - fn_1_C174(0); - } - continue; - } - if (var_r28 == 0) { - fn_1_16AC(var_r31); - SLLoadBoardStory(); - if (_CheckFlag(FLAG_ID_MAKE(0, 7)) != 0 && _CheckFlag(FLAG_ID_MAKE(0, 9)) != 0) { - OSReport("########## Next to Ending\n"); - fn_1_E654(1); - omOvlGotoEx(OVL_MSTORY2, 1, 4, 0); - } - else { - if (_CheckFlag(0x10000) != 0) { - OSReport("########### Next to Turn\n"); - HuDataDirClose(DATADIR_MENT); - HuPrcChildCreate(fn_1_7218, 0x64, 0x3000, 0, lbl_1_bss_C8); - fn_1_4D8(); - fn_1_E71C(0); - } - else { - if (fn_1_C354(GWSystem.board) != 0) { - if (_CheckFlag(FLAG_ID_MAKE(0, 9)) != 0) { - if (fn_1_C440() != 0) { - OSReport("########## Next to MapSelect KoopaEvent\n"); - fn_1_E654(1); - omOvlGotoEx(OVL_MSTORY2, 1, 0, 0); - } - else { - OSReport("########## Next to MapSelect NormalEvent\n"); - fn_1_E654(1); - omOvlGotoEx(OVL_MENT, 1, 0xA, 0); - } - } - else if (GWSystem.board == 5) { - OSReport("########## Next to BoardClear KoopaEvent\n"); - fn_1_E654(0); - omOvlGotoEx(OVL_MSTORY2, 1, 1, 0); - } - else { - OSReport("########## Next to BoardClear NormalEvent\n"); - fn_1_E654(0); - omOvlGotoEx(OVL_MSTORY, 1, 0, 0); - } - } - else { - if (_CheckFlag(FLAG_ID_MAKE(0, 9)) != 0) { - if (GWSystem.board == 5) { - OSReport("########## Next to BoardMiss KoopaEvent\n"); - fn_1_E654(0); - omOvlGotoEx(OVL_MSTORY2, 1, 2, 0); - } - else { - OSReport("########### Next to BoardMiss NormalEvent\n"); - fn_1_E654(0); - omOvlGotoEx(OVL_MSTORY, 1, 1, 0); - } - } - else { - OSReport("########### Next to Turn\n"); - HuDataDirClose(DATADIR_MENT); - HuPrcChildCreate(fn_1_7218, 0x64, 0x3000, 0, lbl_1_bss_C8); - fn_1_4D8(); - fn_1_E71C(0); - } - } - } - } - while (1) { - fn_1_4D8(); - } - } - if (var_r28 == 1) { - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x1E0002, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - fn_1_16AC(var_r31); - break; - } - } -} - -void fn_1_CAE4(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - - var_r30 = fn_1_1434(0, 0, 0); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r30, 0x1A0004, -1, 5); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - var_r29 = fn_1_1DD8(0x1E0035, 3, 0); - fn_1_16AC(var_r30); - if (var_r29 == 0) { - s32 spC[4] = { 3, 0, 2, 4 }; - _SetFlag(0x1000B); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - GWPlayerCfg[var_r31].character = spC[var_r31]; - GWPlayerCfg[var_r31].pad_idx = var_r31; - GWPlayerCfg[var_r31].diff = 0; - GWPlayerCfg[var_r31].group = 0; - GWPlayerCfg[var_r31].iscom = 1; - OSReport("ID-%d CHR-%d PAD-%d DIF-%d GRP-%d COM-%d\n", var_r31, GWPlayerCfg[var_r31].character, GWPlayerCfg[var_r31].pad_idx, - GWPlayerCfg[var_r31].diff, GWPlayerCfg[var_r31].group, GWPlayerCfg[var_r31].iscom); - } - BoardSaveInit(6); - GWSystem.max_turn = 0x14; - HuDataDirClose(DATADIR_MENT); - HuPrcChildCreate(fn_1_7218, 0x64, 0x3000, 0, lbl_1_bss_C8); - { - omOvlHisData *sp8 = omOvlHisGet(0); - } - omOvlHisChg(0, OVL_MENT, 1, 1); - fn_1_C174(2); - } - else { - _ClearFlag(0x1000B); - } -} - -void fn_1_CD6C(void) -{ - fn_1_1DFB8(); -} - -s32 fn_1_CD8C(void) -{ - s32 sp8; - s32 var_r31; - s32 var_r30; - s32 var_r29; - - sp8 = 0; - fn_1_1CF68(); - var_r31 = fn_1_1434(0, 0, 0); - while (1) { - fn_1_4D8(); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x1E005E, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - fn_1_2154(0x1A0020); - lbl_1_bss_3114->unk_04 = (MentDllUnkFunc)fn_1_1E404; - while (1) { - if (lbl_1_bss_3114->unk_70[0] == 1) { - var_r30 = 1; - break; - } - else if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_B) != 0) { - HuAudFXPlay(3); - lbl_1_bss_3114->unk_04 = NULL; - var_r30 = 0; - break; - } - else { - fn_1_4D8(); - } - } - lbl_1_bss_3114->unk_04 = NULL; - fn_1_2318(0); - if (var_r30 != 0) { - break; - } - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x1E0005, -1, 5); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - var_r29 = fn_1_1DD8(0x1E0035, 3, 0); - if (var_r29 == 0) { - fn_1_16AC(var_r31); - fn_1_C174(0); - } - } - fn_1_16AC(var_r31); - fn_1_4B0(0x1E); - return var_r30; -} - -s32 fn_1_CF8C(void) -{ - s32 sp8; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - sp8 = 0; - var_r28 = -1; - var_r27 = -1; - var_r31 = fn_1_1434(0, 0, 0); - while (1) { - fn_1_4D8(); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x1E0009, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - fn_1_2154(0x1A0021); - lbl_1_bss_35BC[1].unk_08[1] = 0; - fn_1_1DED8(); - lbl_1_bss_35BC[0].unk_04 = (MentDllUnkFunc)fn_1_1E8A4; - while (1) { - fn_1_4D8(); - if ((var_r28 != lbl_1_bss_35BC[0].unk_08[0]) || (var_r27 != lbl_1_bss_35BC[0].unk_1C[lbl_1_bss_35BC[0].unk_08[0] - 1])) { - var_r28 = lbl_1_bss_35BC[0].unk_08[0]; - var_r27 = lbl_1_bss_35BC[0].unk_1C[lbl_1_bss_35BC[0].unk_08[0] - 1]; - switch (lbl_1_bss_35BC[0].unk_08[0]) { - case 1: - HuWinInsertMesSet(var_r31, lbl_1_bss_35BC[0].unk_1C[0] + 0x1B0028, 0); - fn_1_1968(var_r31, 0x1B0027, -1, -0x3E7); - break; - case 2: - fn_1_1968(var_r31, lbl_1_bss_35BC[0].unk_1C[1] + 0x1B0018, -1, -0x3E7); - break; - } - } - if (lbl_1_bss_35BC[0].unk_08[3] != 0) { - continue; - } - if (lbl_1_bss_35BC[1].unk_08[1] == 1) { - var_r30 = 2; - break; - } - else if (lbl_1_bss_35BC[1].unk_08[1] == -1) { - var_r30 = 0; - break; - } - } - fn_1_1DF48(); - lbl_1_bss_35BC[0].unk_04 = NULL; - fn_1_2318(0); - if (var_r30 == 1) { - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x1E0005, -1, 5); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - var_r29 = fn_1_1DD8(0x1E0035, 3, 0); - if (var_r29 == 0) { - fn_1_16AC(var_r31); - fn_1_C174(0); - } - } - else if (var_r30 == 2) { - fn_1_1968(var_r31, 0x1B0000, -1, 5); - var_r29 = fn_1_1A5C(0x1E0035, 3, 0); - if (var_r29 == 0) { - break; - } - fn_1_1968(var_r31, 0x1B0007, -1, 5); - var_r29 = fn_1_1DD8(0x1E0035, 3, 0); - if (var_r29 == 0) { - fn_1_1CF68(); - var_r30 = 0; - break; - } - else { - var_r28 = -1; - var_r27 = -1; - } - } - else { - var_r30 = 0; - break; - } - } - lbl_1_bss_E0 = lbl_1_bss_35BC[0].unk_1C[1]; - fn_1_16AC(var_r31); - return var_r30; -} - -void fn_1_D310(void) -{ - fn_1_1E1B4(); -} - -void fn_1_D330(void) -{ - fn_1_1F868(); -} - -void fn_1_D350(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - - fn_1_4B0(0x3C); - var_r29 = fn_1_1434(0, 0, 0); - lbl_1_bss_3104->work[0] = 1; - var_r31 = -1; - var_r31 = HuAudFXPlay(0x43); - HuAudFXPanning(var_r31, 0x20); - var_r31 = HuAudFXPlay(0x40); - HuAudFXPanning(var_r31, 0x30); - var_r31 = HuAudFXPlay(0x37); - HuAudFXPanning(var_r31, 0x40); - var_r31 = HuAudFXPlay(0x4B); - HuAudFXPanning(var_r31, 0x4C); - var_r31 = HuAudFXPlay(0x46); - HuAudFXPanning(var_r31, 0x60); - HuAudFXPlay(0x9A); - for (var_r30 = 0; var_r30 < 5; var_r30++) { - fn_1_59A0(lbl_1_bss_33AC[var_r30].unk_00, 1, 6, 5, 1); - } - HuWinInsertMesSet(var_r29, lbl_1_bss_3114->unk_68, 0); - fn_1_1968(var_r29, 0x1E0006, 0, 0xB4); - for (var_r30 = 0; var_r30 < 5; var_r30++) { - fn_1_59A0(lbl_1_bss_33AC[var_r30].unk_00, 1, 1, 0xF, 1); - } - fn_1_4B0(0x1E); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - HuWinInsertMesSet(var_r29, lbl_1_bss_3114->unk_68, 0); - fn_1_1968(var_r29, 0x1E0007, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - fn_1_2808(fn_1_148B0); - HuAudFXPlay(0x39); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r29, 0x1E0008, 0, 0x78); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); - fn_1_2808(fn_1_13F68); - fn_1_16AC(var_r29); - fn_1_4B0(0x78); - lbl_1_bss_3104->func = NULL; - _ClearFlag(2); - _ClearFlag(3); - _ClearFlag(4); - _ClearFlag(5); - _ClearFlag(6); - _ClearFlag(7); - _ClearFlag(1); - _ClearFlag(9); -} - -void fn_1_D634(void) -{ - s32 var_r31; - s32 i; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - - s32 sp8[6] = { 1, 2, 0, 3, 4, 5 }; - var_r28 = 0; - var_r31 = 2; - - if (lbl_1_data_2F0 == -1) { - var_r29 = fn_1_1434(0, 0, 0); - } - else { - var_r29 = lbl_1_data_2F0; - lbl_1_data_2F0 = -1; - } - while (1) { - fn_1_4D8(); - var_r28 = 0; - lbl_1_bss_33AC[0].unk_34 = 1; - HuAudFXPlay(lbl_1_data_0[0][3]); - fn_1_59A0(lbl_1_bss_33AC[sp8[var_r31]].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r29, 0x1A0008, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[sp8[var_r31]].unk_00, 1, 1, 0xF, 1); - fn_1_2154(0x1A0020); - for (i = 0; i < 5; i++) { - lbl_1_bss_33AC[i].unk_08 = 0; - lbl_1_bss_33AC[i].unk_04 = (MentDllUnkFunc)fn_1_127FC; - } - lbl_1_bss_33AC[sp8[var_r31]].unk_08 = 1; - lbl_1_bss_35BC[0].unk_04 = (MentDllUnkFunc)fn_1_18F74; - while (1) { - fn_1_4D8(); - for (i = 0; i < 5; i++) { - if (lbl_1_bss_33AC[i].unk_08 != 2) { - break; - } - } - if (i == 5 && var_r28 >= 0x15) { - if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & 0x100)) { - HuAudFXPlay(2); - var_r26 = 2; - break; - } - - if ((HuPadStkX[lbl_1_bss_3114[0].unk_6C] >= 0x32) || ((HuPadBtn[lbl_1_bss_3114[0].unk_6C] & PAD_BUTTON_RIGHT) != 0)) { - var_r31++; - if (var_r31 > 4) { - var_r31 = 4; - } - else { - var_r28 = 0; - } - } - else if ((HuPadStkX[lbl_1_bss_3114[0].unk_6C] <= -50) || ((HuPadBtn[lbl_1_bss_3114[0].unk_6C] & PAD_BUTTON_LEFT) != 0)) { - var_r31--; - if (var_r31 < 0) { - var_r31 = 0; - } - else { - var_r28 = 0; - } - } - else if ((HuPadBtnDown[0] & 0x200)) { - var_r26 = 1; - break; - } - } - if (var_r28 == 0) { - for (i = 0; i < 5; i++) { - lbl_1_bss_33AC[i].unk_08 = 0; - } - lbl_1_bss_33AC[sp8[var_r31]].unk_08 = 1; - } - if (var_r28++ == 0x14) { - var_r28 = 0x15; - fn_1_18A54(sp8[var_r31]); - fn_1_1968(var_r29, sp8[var_r31] + 0x1B0001, -1, -0x3E7); - if (sp8[var_r31] != 0) { - HuAudFXPlay(lbl_1_data_0[sp8[var_r31]][0]); - } - else { - HuAudFXPlay(lbl_1_data_0[sp8[var_r31]][2]); - } - } - } - fn_1_2318(0); - if (var_r26 == 1) { - fn_1_2808(fn_1_14058); - if (var_r31 != 2) { - var_r31 = 2; - for (i = 0; i < 5; i++) { - lbl_1_bss_33AC[i].unk_08 = 0; - } - lbl_1_bss_33AC[sp8[var_r31]].unk_08 = 1; - lbl_1_bss_33AC[sp8[var_r31]].unk_34 = 1; - } - fn_1_18DCC(); - fn_1_4B0(0x1E); - fn_1_1968(var_r29, 0x1E0005, -1, 5); - var_r27 = fn_1_1DD8(0x1E0035, 3, 0); - if (var_r27 == 0) { - fn_1_16AC(var_r29); - fn_1_C174(0); - } - continue; - } - if (var_r26 != 2) { - continue; - } - if (((sp8[var_r31] == 0) && (_CheckFlag(FLAG_ID_MAKE(0, 2)) != 0)) || ((sp8[var_r31] == 1) && (_CheckFlag(FLAG_ID_MAKE(0, 3)) != 0)) - || ((sp8[var_r31] == 2) && (_CheckFlag(FLAG_ID_MAKE(0, 4)) != 0)) || ((sp8[var_r31] == 3) && (_CheckFlag(FLAG_ID_MAKE(0, 5)) != 0)) - || ((sp8[var_r31] == 4) && (_CheckFlag(FLAG_ID_MAKE(0, 6)) != 0))) { - fn_1_59A0(lbl_1_bss_33AC[sp8[var_r31]].unk_00, 1, 4, 0xF, 1); - HuWinInsertMesSet(var_r29, sp8[var_r31] + 0x1B0021, 1); - fn_1_1968(var_r29, sp8[var_r31] + 0x1E0052, -1, -1); - fn_1_1968(var_r29, sp8[var_r31] + 0x1E0057, -1, 5); - fn_1_59A0(lbl_1_bss_33AC[sp8[var_r31]].unk_00, 1, 1, 0xF, 1); - var_r27 = fn_1_1DD8(0x1E0035, 3, 0); - if (var_r27 == 0) { - for (i = 0; i < 5; i++) { - lbl_1_bss_33AC[i].unk_04 = NULL; - } - lbl_1_bss_A8[2] = sp8[var_r31]; - } - else { - if (var_r31 != 2) { - var_r31 = 2; - for (i = 0; i < 5; i++) { - lbl_1_bss_33AC[i].unk_08 = 0; - } - lbl_1_bss_33AC[sp8[var_r31]].unk_08 = 1; - lbl_1_bss_33AC[sp8[var_r31]].unk_34 = 1; - } - fn_1_18DCC(); - fn_1_4B0(0x1E); - continue; - } - } - else { - for (i = 0; i < 5; i++) { - lbl_1_bss_33AC[i].unk_04 = NULL; - } - lbl_1_bss_A8[2] = sp8[var_r31]; - } - break; - } - fn_1_16AC(var_r29); -} - -void fn_1_DE60(void) -{ - s32 var_r31 = lbl_1_bss_A8[2]; - { - Vec sp14 = { -120.0f, 0.0f, 670.0f }; - - fn_1_1FA34(); - fn_1_2808(fn_1_14238); - fn_1_5818(lbl_1_bss_33AC[var_r31].unk_00, 1, 3, 0xF, 1); - fn_1_5D38(lbl_1_bss_33AC[var_r31].unk_00, 1, sp14, 5.0f, 6.0f, 10.0f, 1, 1); - fn_1_5818(lbl_1_bss_33AC[var_r31].unk_00, 1, 1, 0xF, 1); - Hu3DModelAttrReset(lbl_1_bss_35BC[0].unk_00->model[2], HU3D_ATTR_DISPOFF); - fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 2, 0, 0); - fn_1_5CDC(lbl_1_bss_35BC[0].unk_00, 2, 0); - fn_1_4B0(0x3C); - } -} - -void fn_1_DFDC(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r31 = 0; - var_r29 = lbl_1_bss_A8[2]; - for (var_r30 = 0; var_r30 < 5; var_r30++) { - Hu3DModelAttrSet(lbl_1_bss_33AC[var_r30].unk_00->model[1], HU3D_ATTR_DISPOFF); - } - Hu3DModelAttrReset(lbl_1_bss_33AC[var_r29].unk_00->model[1], HU3D_ATTR_DISPOFF); - fn_1_11908(lbl_1_bss_35BC[var_r31].unk_00, lbl_1_bss_A8[2]); - Hu3DModelAttrReset(lbl_1_bss_35BC[var_r31].unk_00->model[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_35BC[var_r31].unk_00->model[5], HU3D_ATTR_DISPOFF); - lbl_1_bss_35BC[var_r31].unk_04 = (MentDllUnkFunc)fn_1_1184C; - HuDataDirClose(DATADIR_MENT); - HuPrcChildCreate(fn_1_7218, 0x64, 0x3000, 0, lbl_1_bss_C8); - fn_1_5818(lbl_1_bss_35BC[var_r31].unk_00, 2, 3, 0, 0); - var_r28 = fn_1_1434(0, 0, 0); - fn_1_59A0(lbl_1_bss_33AC[var_r29].unk_00, 1, 5, 0xF, 1); - fn_1_1968(var_r28, var_r29 + 0x1E000C, -1, -1); - fn_1_16AC(var_r28); - fn_1_5CDC(lbl_1_bss_35BC[var_r31].unk_00, 2, 0); - Hu3DModelAttrSet(lbl_1_bss_35BC[var_r31].unk_00->model[2], HU3D_ATTR_DISPOFF); - HuAudSeqFadeOut(lbl_1_bss_14[0], 0xBB8); - fn_1_2808(fn_1_14418); - fn_1_4B0(0xA); - HuAudFXPlay(GWPlayerCfg->character + 0x75); - fn_1_4B0(0x8C); -} - -void fn_1_E244(void) -{ - lbl_1_bss_14[0] = HuAudSeqPlay(0x30); - OSReport("########### ME_MainProcFunc200\n"); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - while (WipeStatGet() != 0) { - fn_1_4D8(); - } - fn_1_4B0(0x3C); -} - -void fn_1_E2B4(void) -{ - Vec sp14 = { 0.0f, 0.0f, 560.0f }; - Hu3DModelAttrReset(lbl_1_bss_35BC[0].unk_00->model[2], HU3D_ATTR_DISPOFF); - fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 3, 0, 0); - fn_1_5CDC(lbl_1_bss_35BC[0].unk_00, 2, 0); - fn_1_D330(); - fn_1_2808(fn_1_146D0); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 2, 0xF, 1); - fn_1_5D38(lbl_1_bss_33AC[0].unk_00, 1, sp14, 0.0f, 3.0f, 0.0f, 1, 0); - fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1); -} - -void fn_1_E3FC(void) -{ - lbl_1_bss_14[0] = HuAudSeqPlay(6); - OSReport("########### ME_MainProcFunc300\n"); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - while (WipeStatGet() != 0) { - fn_1_4D8(); - } - fn_1_D330(); - lbl_1_bss_35BC[1].unk_04 = (MentDllUnkFunc)fn_1_18F74; - fn_1_18A54(5); - fn_1_4B0(0x3C); -} - -void fn_1_E48C(void) -{ - s32 var_r31; - - lbl_1_bss_A8[2] = 5; - var_r31 = fn_1_1434(0, 0, 0); - HuAudFXPlay(lbl_1_data_0[6][2]); - fn_1_1968(var_r31, 0x1F0008, 0, 0x3C); - fn_1_59A0(lbl_1_bss_3354.unk_00, 1, 1, 0xF, 1); - fn_1_16AC(var_r31); - fn_1_1FC54(); - fn_1_4B0(0x3C); - Hu3DModelAttrReset(lbl_1_bss_35BC[1].unk_00->model[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_35BC[1].unk_00->model[5], HU3D_ATTR_DISPOFF); - fn_1_7304(); - HuDataDirClose(DATADIR_MENT); - HuPrcChildCreate(fn_1_7218, 0x64, 0x3000, 0, lbl_1_bss_C8); - fn_1_59A0(lbl_1_bss_3354.unk_00, 1, 2, 0xF, 1); - fn_1_5818(lbl_1_bss_35BC[1].unk_00, 2, 3, 0, 0); - fn_1_4B0(0x3C); - HuAudFXPlay(lbl_1_data_0[6][0]); - fn_1_5CDC(lbl_1_bss_35BC[1].unk_00, 2, 0); - Hu3DModelAttrSet(lbl_1_bss_35BC[1].unk_00->model[2], HU3D_ATTR_DISPOFF); - HuAudSeqFadeOut(lbl_1_bss_14[0], 0xBB8); - fn_1_2808(fn_1_14418); - fn_1_4B0(0xA); - fn_1_4B0(0x8C); -} - -void fn_1_E654(s32 arg0) -{ - fn_1_4B0(0x3C); - HuAudSeqFadeOut(lbl_1_bss_14[0], 0x3E8); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (WipeStatGet() != 0) { - fn_1_4D8(); - } - CharModelKill(-1); - MGSeqKillAll(); - HuAudAllStop(); - HuDataDirClose(DATADIR_MENT); - CharARAMOpen(GWPlayerCfg[0].character); - if (arg0 == 0) { - CharARAMOpen(GWPlayerCfg[1].character); - CharARAMOpen(GWPlayerCfg[2].character); - CharARAMOpen(GWPlayerCfg[3].character); - } -} - -void fn_1_E71C(s32 arg0) -{ - s32 spC[7] = { 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F }; - fn_1_4B0(0x3C); - HuAudSeqFadeOut(lbl_1_bss_14[0], 0x3E8); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (WipeStatGet() != 0) { - fn_1_4D8(); - } - CharModelKill(-1); - MGSeqKillAll(); - { - omOvlHisData *sp8 = omOvlHisGet(0); - } - omOvlHisChg(0, OVL_MSTORY3, 0, 0); - do { - fn_1_4D8(); - } while (lbl_1_bss_D8 != 1); - CharARAMOpen(GWPlayerCfg[0].character); - CharARAMOpen(GWPlayerCfg[1].character); - CharARAMOpen(GWPlayerCfg[2].character); - CharARAMOpen(GWPlayerCfg[3].character); - HuAudSeqAllFadeOut(0x3E8); - HuAudSStreamAllFadeOut(0x3E8); - omOvlCallEx(spC[GWSystem.board], 1, 0, 0); - while (1) { - fn_1_4D8(); - } -} - -void fn_1_E874(omObjData *arg0, MentDllUnkBss35BCStruct *arg1) -{ - s32 var_r31; - s32 var_r29; - s32 var_r27; - s32 var_r25; - s32 var_r24; - s32 var_r18; - - var_r25 = 0; - if (lbl_1_bss_A8[1] == 0) { - fn_1_81F0(); - fn_1_77C0(); - fn_1_C4B8(); - fn_1_CAE4(); - } - else { - fn_1_7858(); - fn_1_CAE4(); - } - fn_1_1DFB8(); - do { - fn_1_4D8(); - switch (var_r25) { - case 0: - var_r25 = fn_1_CD8C(); - break; - case 1: - var_r25 = fn_1_CF8C(); - break; - } - } while (var_r25 != 2); - fn_1_D310(); - fn_1_81D8(); - fn_1_7A14(); - fn_1_D634(); - fn_1_DE60(); - switch (lbl_1_bss_E0) { - case 0: - var_r24 = 0; - break; - case 1: - var_r24 = 1; - break; - case 2: - var_r24 = 2; - break; - default: - var_r24 = 0; - break; - } - if (lbl_1_bss_35BC[0].unk_1C[0] == 4) { - var_r18 = 1; - } - else { - var_r18 = 0; - } - BoardStoryConfigSet(var_r24, var_r18); - GWStoryCharSet(lbl_1_bss_3114[0].unk_68); - // looks a bit similar to fn_1_7304 - for (var_r31 = 1; var_r31 < 4; var_r31++) { - lbl_1_bss_3114[var_r31].unk_68 = -1; - lbl_1_bss_3114[var_r31].unk_6C = var_r31; - lbl_1_bss_3114[var_r31].unk_60 = 1; - } - for (var_r31 = 1; var_r31 < 4; var_r31++) { - do { - lbl_1_bss_3114[var_r31].unk_68 = rand8() % 8; - for (var_r27 = 0; var_r27 < 4; var_r27++) { - if ((var_r31 != var_r27) && (lbl_1_bss_3114[var_r27].unk_68 != -1) - && (lbl_1_bss_3114[var_r31].unk_68 == lbl_1_bss_3114[var_r27].unk_68)) { - break; - } - } - } while (var_r27 != 4); - } - GWSystem.diff_story = lbl_1_bss_35BC[0].unk_1C[0]; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_3114[var_r31].unk_64 = GWSystem.diff_story; - if (GWSystem.diff_story == 4) { - lbl_1_bss_3114[var_r31].unk_64 = fn_1_7124(); - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - GWPlayer[var_r31].character = GWPlayerCfg[var_r31].character = lbl_1_bss_3114[var_r31].unk_68; - GWPlayer[var_r31].port = GWPlayerCfg[var_r31].pad_idx = lbl_1_bss_3114[var_r31].unk_6C; - GWPlayer[var_r31].diff = GWPlayerCfg[var_r31].diff = lbl_1_bss_3114[var_r31].unk_64; - GWPlayerCfg[var_r31].group = 0; - GWPlayer[var_r31].com = GWPlayerCfg[var_r31].iscom = lbl_1_bss_3114[var_r31].unk_60; - } - BoardSaveInit(lbl_1_bss_A8[2]); - fn_1_DFDC(); - fn_1_E71C(0); -} - -void fn_1_F83C(omObjData *arg0, MentDllUnkBss35BCStruct *arg1) -{ - _ClearFlag(FLAG_ID_MAKE(0, 9)); - lbl_1_bss_35BC[0].unk_1C[0] = GWSystem.diff_story; - fn_1_E244(); - fn_1_E2B4(); - fn_1_D634(); - fn_1_DE60(); - fn_1_7304(); - fn_1_DFDC(); - WipeColorSet(0xFF, 0xFF, 0xFF); - fn_1_7684(); -} - -void fn_1_FEAC(omObjData *arg0, MentDllUnkBss35BCStruct *arg1) -{ - _ClearFlag(9); - lbl_1_bss_35BC[0].unk_1C[0] = GWSystem.diff_story; - fn_1_E3FC(); - fn_1_E48C(); - WipeColorSet(0, 0, 0); - fn_1_7684(); -} - -void fn_1_10234(void) -{ - s32 var_r31; - - Vec sp2C = { 0.0f, 0.0f, 560.0f }; - Vec sp20 = { -120.0f, 0.0f, 670.0f }; - fn_1_2808(fn_1_13DEC); - fn_1_4B0(0x5A); - Hu3DModelAttrReset(lbl_1_bss_33AC[4].unk_00->model[1], HU3D_ATTR_DISPOFF); - fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 3, 0, 0); - fn_1_4B0(0x96); - lbl_1_bss_3108[0]->work[0] = 1; - fn_1_2808(fn_1_13F68); - fn_1_4B0(0x5A); - fn_1_59A0(lbl_1_bss_33AC[4].unk_00, 1, 2, 0xF, 1); - fn_1_5D38(lbl_1_bss_33AC[4].unk_00, 1, sp2C, 0.0f, 3.0f, 0.0f, 1, 0); - fn_1_59A0(lbl_1_bss_33AC[4].unk_00, 1, 1, 0xF, 1); - fn_1_4B0(0x1E); - HuAudSeqPlay(0x2D); - var_r31 = fn_1_1434(0, 0, 0); - fn_1_59A0(lbl_1_bss_33AC[4].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x2F0000, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[4].unk_00, 1, 1, 0xF, 1); - fn_1_16AC(var_r31); - fn_1_5818(lbl_1_bss_33AC[4].unk_00, 1, 3, 0xF, 1); - fn_1_5D38(lbl_1_bss_33AC[4].unk_00, 1, sp20, 5.0f, 6.0f, 10.0f, 1, 1); - fn_1_5818(lbl_1_bss_33AC[4].unk_00, 1, 1, 0xF, 1); - fn_1_4B0(0x1E); - fn_1_5818(lbl_1_bss_33AC[4].unk_00, 1, 5, 0xF, 1); - fn_1_2808(fn_1_14AB8); - fn_1_5818(lbl_1_bss_35BC[0].unk_00, 1, 0, 0, 0); -} - -void fn_1_1053C(void) -{ - fn_1_4B0(0x6E); - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (WipeStatGet() != 0) { - fn_1_4D8(); - } - CharModelKill(-1); - MGSeqKillAll(); - HuAudFXAllStop(); - HuAudSStreamAllStop(); - omOvlGotoEx(OVL_OPTION, 1, 0, 0); - while (1) { - fn_1_4D8(); - } -} - -void fn_1_105B8(omObjData *arg0, MentDllUnkBss35BCStruct *arg1) -{ - fn_1_81F0(); - fn_1_10234(); - fn_1_1053C(); -} - -void fn_1_10954(void) -{ - s32 var_r31; - - Vec sp2C = { 0.0f, 0.0f, 560.0f }; - Vec sp20 = { -120.0f, 0.0f, 670.0f }; - fn_1_2808(fn_1_13DEC); - fn_1_4B0(0x5A); - Hu3DModelAttrReset(lbl_1_bss_33AC[2].unk_00->model[1], HU3D_ATTR_DISPOFF); - fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 3, 0, 0); - fn_1_4B0(0x96); - lbl_1_bss_3108[0]->work[0] = 1; - fn_1_2808(fn_1_13F68); - fn_1_4B0(0x5A); - fn_1_59A0(lbl_1_bss_33AC[2].unk_00, 1, 2, 0xF, 1); - fn_1_5D38(lbl_1_bss_33AC[2].unk_00, 1, sp2C, 0.0f, 3.0f, 0.0f, 1, 0); - fn_1_59A0(lbl_1_bss_33AC[2].unk_00, 1, 1, 0xF, 1); - fn_1_4B0(0x1E); - HuAudSeqPlay(0x2F); - var_r31 = fn_1_1434(0, 0, 0); - fn_1_59A0(lbl_1_bss_33AC[2].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x320000, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[2].unk_00, 1, 1, 0xF, 1); - fn_1_16AC(var_r31); - fn_1_5818(lbl_1_bss_33AC[2].unk_00, 1, 3, 0xF, 1); - fn_1_5D38(lbl_1_bss_33AC[2].unk_00, 1, sp20, 5.0f, 6.0f, 10.0f, 1, 1); - fn_1_5818(lbl_1_bss_33AC[2].unk_00, 1, 1, 0xF, 1); - fn_1_4B0(0x1E); - fn_1_5818(lbl_1_bss_33AC[2].unk_00, 1, 5, 0xF, 1); - fn_1_2808(fn_1_14AB8); - fn_1_5818(lbl_1_bss_35BC[0].unk_00, 1, 0, 0, 0); -} - -void fn_1_10C5C(void) -{ - fn_1_4B0(0x6E); - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (WipeStatGet() != 0) { - fn_1_4D8(); - } - CharModelKill(-1); - MGSeqKillAll(); - HuAudFXAllStop(); - HuAudSStreamAllStop(); - omOvlGotoEx(OVL_PRESENT, 1, 0, 0); - while (1) { - fn_1_4D8(); - } -} - -void fn_1_10CD8(omObjData *arg0, MentDllUnkBss35BCStruct *arg1) -{ - fn_1_81F0(); - fn_1_10954(); - fn_1_10C5C(); -} - -void fn_1_11074(void) -{ - s32 var_r31; - s32 var_r30; - - Vec sp14 = { 0.0f, 0.0f, 560.0f }; - fn_1_2808(fn_1_13DEC); - fn_1_4B0(0x5A); - Hu3DModelAttrReset(lbl_1_bss_33AC[3].unk_00->model[1], HU3D_ATTR_DISPOFF); - fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 3, 0, 0); - fn_1_4B0(0x96); - lbl_1_bss_3108[0]->work[0] = 1; - fn_1_2808(fn_1_13F68); - fn_1_4B0(0x5A); - fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 2, 0xF, 1); - fn_1_5D38(lbl_1_bss_33AC[3].unk_00, 1, sp14, 0.0f, 3.0f, 0.0f, 1, 0); - fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 1, 0xF, 1); - fn_1_4B0(0x1E); - var_r31 = fn_1_1434(0, 0, 0); - fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x330000, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 1, 0xF, 1); - fn_1_16AC(var_r31); - var_r31 = fn_1_1434(0, 0, 0); - fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x330001, -1, 5); - fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 1, 0xF, 1); - var_r30 = fn_1_1A5C(0x1E0035, 3, 0); - fn_1_16AC(var_r31); - if (var_r30 == 0) { - var_r31 = fn_1_1434(0, 0, 0); - fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 4, 0xF, 1); - fn_1_1968(var_r31, 0x330002, -1, -1); - fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 1, 0xF, 1); - fn_1_16AC(var_r31); - } -} - -void fn_1_11368(void) -{ - - Vec sp14 = { -120.0f, 0.0f, 670.0f }; - fn_1_5818(lbl_1_bss_33AC[3].unk_00, 1, 3, 0xF, 1); - fn_1_5D38(lbl_1_bss_33AC[3].unk_00, 1, sp14, 5.0f, 6.0f, 10.0f, 1, 1); - fn_1_5818(lbl_1_bss_33AC[3].unk_00, 1, 1, 0xF, 1); - fn_1_4B0(0x1E); - fn_1_5818(lbl_1_bss_33AC[3].unk_00, 1, 5, 0xF, 1); - fn_1_2808(fn_1_14AB8); - fn_1_5818(lbl_1_bss_35BC[0].unk_00, 1, 0, 0, 0); -} - -void fn_1_114A0(void) -{ - fn_1_4B0(0x6E); - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (WipeStatGet() != 0) { - fn_1_4D8(); - } - CharModelKill(-1); - MGSeqKillAll(); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - while (1) { - fn_1_4D8(); - } -} - -void fn_1_11514(omObjData *arg0, MentDllUnkBss35BCStruct *arg1) -{ - s32 spC = 0xA; - s32 sp8 = 0; - fn_1_81F0(); - fn_1_11074(); - fn_1_11368(); - fn_1_114A0(); -} - -void fn_1_116F4(void) -{ - omObjData *var_r31; - - var_r31 = omAddObjEx(lbl_1_bss_C8, 0x100, 0x10, 0x10, -1, NULL); - lbl_1_bss_366C.unk_00 = var_r31; - switch (lbl_1_bss_A8[0]) { - case 0: - case 20: - lbl_1_bss_366C.unk_04 = (MentDllUnkFunc)fn_1_B654; - break; - case 1: - lbl_1_bss_366C.unk_04 = (MentDllUnkFunc)fn_1_E874; - break; - case 3: - lbl_1_bss_366C.unk_04 = (MentDllUnkFunc)fn_1_105B8; - break; - case 4: - lbl_1_bss_366C.unk_04 = (MentDllUnkFunc)fn_1_10CD8; - break; - case 5: - lbl_1_bss_366C.unk_04 = (MentDllUnkFunc)fn_1_11514; - break; - case 10: - lbl_1_bss_366C.unk_04 = (MentDllUnkFunc)fn_1_F83C; - break; - case 11: - lbl_1_bss_366C.unk_04 = (MentDllUnkFunc)fn_1_FEAC; - break; - } - while (1) { - fn_1_4D8(); - if (lbl_1_bss_366C.unk_04 == NULL) { - continue; - } - lbl_1_bss_366C.unk_04(var_r31, &lbl_1_bss_366C); - } -} - -void fn_1_1184C(omObjData *arg0, MentDllUnkBss35BCStruct *arg1) -{ - Hu3DData[arg0->model[4]].pos.y = fn_1_3F4(80.0f, 90.0f, arg1->unk_1C[0]++, 360.0f); - if (arg1->unk_1C[0] >= 0x168) { - arg1->unk_1C[0] = 0; - } -} - -void fn_1_11908(omObjData *arg0, s32 arg1) -{ - arg0->model[4] = Hu3DModelCreateFile(arg1 + DATA_MAKE_NUM(DATADIR_MENT, 0xD)); - if (arg1 != 5) { - arg0->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x13)); - } - else { - arg0->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x14)); - } - arg0->motion[4] = Hu3DMotionIDGet(arg0->model[4]); - arg0->motion[5] = Hu3DMotionIDGet(arg0->model[5]); - fn_1_59A0(arg0, 4, 4, 0, 2); - fn_1_59A0(arg0, 5, 5, 0, 2); - if (arg1 != 5) { - Hu3DModelPosSet(arg0->model[4], 0.0f, 80.0f, 460.0f); - Hu3DModelHookSet(arg0->model[4], "partybox_fix2-effect_fook1", arg0->model[5]); - } - else { - Hu3DModelPosSet(arg0->model[4], 1200.0f, 80.0f, 460.0f); - Hu3DModelHookSet(arg0->model[4], "koopabox_fix-effect_fook2", arg0->model[5]); - } - Hu3DModelAttrSet(arg0->model[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[5], HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(arg0->model[4]); -} - -void fn_1_11AD0(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x61)); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x69)); - if (lbl_1_bss_A8[0] < 0xA) { - object->model[3] = Hu3DModelCreateFile(lbl_1_bss_A8[0] + DATA_MAKE_NUM(DATADIR_MENT, 0x63)); - } - else { - object->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x64)); - } - if ((lbl_1_bss_A8[4] == 1) && ((lbl_1_bss_A8[0] == 0) || (lbl_1_bss_A8[0] == 0x14))) { - object->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x6C)); - Hu3DModelLayerSet(object->model[6], 2); - Hu3DModelPosSet(object->model[6], 50.0f, 0.0f, -100.0f); - object->model[7] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x6D)); - Hu3DModelLayerSet(object->model[7], 2); - Hu3DModelPosSet(object->model[7], 1150.0f, 0.0f, -100.0f); - } - object->motion[0] = Hu3DMotionIDGet(object->model[1]); - object->motion[1] = Hu3DMotionIDGet(object->model[3]); - object->motion[2] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MENT, 0x6A)); - object->motion[3] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MENT, 0x6B)); - if (lbl_1_bss_A8[0] == 0xA) { - fn_1_59A0(object, 2, 3, 0, 2); - } - else { - fn_1_59A0(object, 2, 3, 0, 2); - } - fn_1_59A0(object, 3, 1, 0, 1); - fn_1_59A0(object, 1, 0, 0, 2); - Hu3DModelShadowMapObjSet(object->model[1], "base_fix9-base"); -} - -void fn_1_11DA4(omObjData *object, s32 arg1, s32 arg2, s32 arg3) -{ - - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x62)); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x69)); - object->motion[1] = Hu3DMotionIDGet(object->model[1]); - object->motion[2] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MENT, 0x6A)); - object->motion[3] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MENT, 0x6B)); - if (lbl_1_bss_A8[0] == 0xB) { - fn_1_59A0(object, 2, 3, 0, 2); - } - else { - fn_1_59A0(object, 2, 2, 0, 2); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - } - fn_1_59A0(object, 1, 1, 0, 1); - Hu3DModelPosSet(object->model[1], 1200.0f, 0.0f, 0.0f); - Hu3DModelPosSet(object->model[2], 1200.0f, 0.0f, 0.0f); - if (lbl_1_bss_A8[0] == 3) { - object->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x12)); - object->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x14)); - object->motion[4] = Hu3DMotionIDGet(object->model[4]); - object->motion[5] = Hu3DMotionIDGet(object->model[5]); - fn_1_59A0(object, 4, 4, 0, 2); - fn_1_59A0(object, 5, 5, 0, 2); - Hu3DModelPosSet(object->model[4], 1200.0f, 80.0f, 460.0f); - Hu3DModelHookSet(object->model[4], "koopabox_fix-effect_fook2", object->model[5]); - Hu3DModelAttrSet(object->model[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[5], HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(object->model[4]); - Hu3DModelAttrReset(object->model[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(object->model[5], HU3D_ATTR_DISPOFF); - lbl_1_bss_35BC[1].unk_04 = (MentDllUnkFunc)fn_1_1184C; - } - Hu3DModelShadowMapObjSet(object->model[1], "base_story-base"); - if (lbl_1_bss_A8[0] == 0xB) { - object->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x12)); - object->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x14)); - object->motion[4] = Hu3DMotionIDGet(object->model[4]); - object->motion[5] = Hu3DMotionIDGet(object->model[5]); - fn_1_59A0(object, 4, 4, 0, 2); - fn_1_59A0(object, 5, 5, 0, 2); - Hu3DModelPosSet(object->model[4], 1200.0f, 80.0f, 460.0f); - Hu3DModelHookSet(object->model[4], "koopabox_fix-effect_fook2", object->model[5]); - Hu3DModelAttrSet(object->model[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(object->model[5], HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(object->model[4]); - } -} - -void fn_1_121D8(void) -{ - omObjData *var_r31; - s32 var_r30; - s32 var_r29; - - var_r30 = lbl_1_bss_CC; - lbl_1_bss_CC = var_r30 + 1; - var_r31 = omAddObjEx(lbl_1_bss_C8, 0x100, 0x10, 0x10, -1, NULL); - lbl_1_bss_35BC[var_r30].unk_00 = var_r31; - lbl_1_bss_35BC[var_r30].unk_04 = NULL; - if (var_r30 == 0) { - fn_1_11AD0(var_r31); - switch (lbl_1_bss_A8[0]) { - case 0: - fn_1_20B54(&lbl_1_bss_35BC[var_r30], 0, 0, 0); - fn_1_151B8(&lbl_1_bss_35BC[var_r30], 0, 0, 0); - fn_1_17CC8(&lbl_1_bss_35BC[var_r30], 0, 0, 0); - fn_1_18788(&lbl_1_bss_35BC[var_r30], 0, 0, 0); - fn_1_1BB2C(&lbl_1_bss_35BC[var_r30], 0, 0, 0); - break; - case 1: - fn_1_1D4FC(&lbl_1_bss_35BC[var_r30], 0, 0, 0); - fn_1_1F6B8(&lbl_1_bss_35BC[var_r30], 0, 0, 0); - fn_1_18788(&lbl_1_bss_35BC[var_r30], 0, 0, 0); - break; - case 10: - if (GWSystem.mg_list == 3) { - GWSystem.mg_list = 0; - } - var_r29 = GWSystem.mg_list; - lbl_1_bss_35BC[0].unk_1C[1] = var_r29; - lbl_1_bss_35BC[0].unk_1C[0] = GWPlayerCfg[0].diff; - fn_1_1F6B8(&lbl_1_bss_35BC[var_r30], 0, 0, 0); - fn_1_18788(&lbl_1_bss_35BC[var_r30], 0, 0, 0); - break; - case 5: - fn_1_20B54(&lbl_1_bss_35BC[var_r30], 0, 0, 0); - fn_1_151B8(&lbl_1_bss_35BC[var_r30], 0, 0, 0); - break; - } - } - else { - fn_1_11DA4(var_r31, 0, 0, 0); - if (lbl_1_bss_A8[0] == 0xB) { - fn_1_1F6B8(lbl_1_bss_35BC, 0, 0, 0); - fn_1_18788(lbl_1_bss_35BC, 0, 0, 0); - } - } - while (1) { - fn_1_4D8(); - if (lbl_1_bss_35BC[var_r30].unk_04 == NULL) { - continue; - } - lbl_1_bss_35BC[var_r30].unk_04(var_r31, &lbl_1_bss_35BC[var_r30]); - } -} - -void fn_1_127FC(omObjData *arg0, MentDllUnkBss33ACStruct *arg1) -{ - float var_f31; - float var_f30; - - var_f31 = 0.0f; - var_f30 = 0.0f; - var_f31 = Hu3DData[arg0->model[1]].pos.z; - var_f30 = Hu3DData[arg0->model[1]].rot.y; - if (arg1->unk_08 == 1) { - if (var_f31 > 560.0f) { - arg1->unk_08 = 2; - fn_1_59A0(arg0, 1, 1, 0xF, 1); - } - else { - var_f31 += 5.0f; - fn_1_59A0(arg0, 1, 2, 0xF, 1); - var_f30 = fn_1_234(var_f30, 0.0f, 10.0f); - } - } - else if (arg1->unk_08 == 0) { - if (var_f31 <= 460.0f) { - arg1->unk_08 = 2; - fn_1_59A0(arg0, 1, 1, 0xF, 1); - } - else { - var_f31 -= 5.0f; - fn_1_59A0(arg0, 1, 2, 0xF, 1); - var_f30 = fn_1_234(var_f30, lbl_1_data_120[arg1->unk_30], 10.0f); - } - } - Hu3DData[arg0->model[1]].pos.z = var_f31; - Hu3DData[arg0->model[1]].rot.y = var_f30; -} - -void fn_1_12A0C(omObjData *object, s32 arg1) -{ - s32 sp20[6] = { - DATA_MAKE_NUM(DATADIR_MENT, 0x6E), - DATA_MAKE_NUM(DATADIR_MENT, 0x75), - DATA_MAKE_NUM(DATADIR_MENT, 0x7C), - DATA_MAKE_NUM(DATADIR_MENT, 0x83), - DATA_MAKE_NUM(DATADIR_MENT, 0x89), - DATA_MAKE_NUM(DATADIR_MENT, 0x90), - }; - s32 sp38[6][6] = { - DATA_MAKE_NUM(DATADIR_MENT, 0x6F), - DATA_MAKE_NUM(DATADIR_MENT, 0x70), - DATA_MAKE_NUM(DATADIR_MENT, 0x71), - DATA_MAKE_NUM(DATADIR_MENT, 0x72), - DATA_MAKE_NUM(DATADIR_MENT, 0x73), - DATA_MAKE_NUM(DATADIR_MENT, 0x74), - DATA_MAKE_NUM(DATADIR_MENT, 0x76), - DATA_MAKE_NUM(DATADIR_MENT, 0x77), - DATA_MAKE_NUM(DATADIR_MENT, 0x78), - DATA_MAKE_NUM(DATADIR_MENT, 0x79), - DATA_MAKE_NUM(DATADIR_MENT, 0x7A), - DATA_MAKE_NUM(DATADIR_MENT, 0x7B), - DATA_MAKE_NUM(DATADIR_MENT, 0x7D), - DATA_MAKE_NUM(DATADIR_MENT, 0x7E), - DATA_MAKE_NUM(DATADIR_MENT, 0x7F), - DATA_MAKE_NUM(DATADIR_MENT, 0x80), - DATA_MAKE_NUM(DATADIR_MENT, 0x81), - DATA_MAKE_NUM(DATADIR_MENT, 0x82), - DATA_MAKE_NUM(DATADIR_MENT, 0x84), - DATA_MAKE_NUM(DATADIR_MENT, 0x85), - DATA_MAKE_NUM(DATADIR_MENT, 0x85), - DATA_MAKE_NUM(DATADIR_MENT, 0x86), - DATA_MAKE_NUM(DATADIR_MENT, 0x87), - DATA_MAKE_NUM(DATADIR_MENT, 0x88), - DATA_MAKE_NUM(DATADIR_MENT, 0x8A), - DATA_MAKE_NUM(DATADIR_MENT, 0x8B), - DATA_MAKE_NUM(DATADIR_MENT, 0x8C), - DATA_MAKE_NUM(DATADIR_MENT, 0x8D), - DATA_MAKE_NUM(DATADIR_MENT, 0x8E), - DATA_MAKE_NUM(DATADIR_MENT, 0x8F), - DATA_MAKE_NUM(DATADIR_MENT, 0x91), - DATA_MAKE_NUM(DATADIR_MENT, 0x92), - DATA_MAKE_NUM(DATADIR_MENT, 0x93), - DATA_MAKE_NUM(DATADIR_MENT, 0x94), - DATA_MAKE_NUM(DATADIR_MENT, 0x95), - DATA_MAKE_NUM(DATADIR_MENT, 0x91), - }; - object->model[1] = Hu3DModelCreateFile(sp20[arg1]); - object->motion[1] = Hu3DJointMotionFile(object->model[1], sp38[arg1][0]); - object->motion[2] = Hu3DJointMotionFile(object->model[1], sp38[arg1][1]); - object->motion[3] = Hu3DJointMotionFile(object->model[1], sp38[arg1][2]); - object->motion[4] = Hu3DJointMotionFile(object->model[1], sp38[arg1][3]); - object->motion[5] = Hu3DJointMotionFile(object->model[1], sp38[arg1][4]); - object->motion[6] = Hu3DJointMotionFile(object->model[1], sp38[arg1][5]); - { - s32 sp8[6] = { 9, 14, 10, 11, 12, 13 }; - if (arg1 != 3) { - CharModelEffectNpcInit(object->model[1], object->motion[2], 0, sp8[arg1]); - CharModelEffectNpcInit(object->model[1], object->motion[3], 1, sp8[arg1]); - } - } - fn_1_59A0(object, 1, 1, 0, 1); - Hu3DModelPosSet(object->model[1], lbl_1_data_D8[arg1].x, lbl_1_data_D8[arg1].y, lbl_1_data_D8[arg1].z); - Hu3DModelRotSet(object->model[1], 0.0f, lbl_1_data_120[arg1], 0.0f); - if (lbl_1_bss_A8[0] >= 2 && lbl_1_bss_A8[0] < 0xA) { - Hu3DModelPosSet(object->model[1], lbl_1_data_D8[0].x, lbl_1_data_D8[0].y, lbl_1_data_D8[0].z); - Hu3DModelRotSet(object->model[1], 0.0f, 0.0f, 0.0f); - if (lbl_1_bss_A8[0] == 5) { - Hu3DModelPosSet(object->model[1], lbl_1_data_D8[0].x, 50.0f + lbl_1_data_D8[0].y, lbl_1_data_D8[0].z); - } - } - if (lbl_1_bss_A8[0] < 0xA) { - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - } - Hu3DModelShadowSet(object->model[1]); - Hu3DModelLayerSet(object->model[1], 2); -} - -void fn_1_12E40(void) -{ - omObjData *var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_D0; - lbl_1_bss_D0 = var_r30 + 1; - var_r31 = omAddObjEx(lbl_1_bss_C8, 0x100, 0x10, 0x10, -1, NULL); - lbl_1_bss_33AC[var_r30].unk_00 = var_r31; - lbl_1_bss_33AC[var_r30].unk_04 = NULL; - lbl_1_bss_33AC[var_r30].unk_30 = var_r30; - fn_1_12A0C(var_r31, var_r30); - while (1) { - fn_1_4D8(); - if (lbl_1_bss_33AC[var_r30].unk_04 != NULL) { - lbl_1_bss_33AC[var_r30].unk_04(var_r31, &lbl_1_bss_33AC[var_r30]); - } - if (var_r31->work[0] != 1) { - continue; - } - fn_1_5C08(var_r31); - } -} - -void fn_1_13348(omObjData *arg0) -{ - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x96)); - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[1], DATA_MAKE_NUM(DATADIR_MENT, 0x97)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[1], DATA_MAKE_NUM(DATADIR_MENT, 0x98)); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[1], DATA_MAKE_NUM(DATADIR_MENT, 0x99)); - fn_1_59A0(arg0, 1, 3, 0, 1); - Hu3DModelPosSet(arg0->model[1], 1020.0f, 0.0f, 800.0f); - Hu3DModelRotSet(arg0->model[1], 0.0f, 60.0f, 0.0f); - Hu3DModelShadowSet(arg0->model[1]); - Hu3DModelLayerSet(arg0->model[1], 2); -} - -void fn_1_134A8(void) -{ - omObjData *var_r31; - - var_r31 = omAddObjEx(lbl_1_bss_C8, 0x100, 0x10, 0x10, -1, NULL); - lbl_1_bss_3354.unk_00 = var_r31; - lbl_1_bss_3354.unk_04 = NULL; - fn_1_13348(var_r31); - while (1) { - fn_1_4D8(); - if (lbl_1_bss_3354.unk_04 != NULL) { - lbl_1_bss_3354.unk_04(var_r31, &lbl_1_bss_3354); - } - if (var_r31->work[0] != 1) { - continue; - } - fn_1_5C08(var_r31); - } -} - -void fn_1_1368C(omObjData *arg0, s32 arg1) -{ - MentDllUnkBss3114Struct *var_r31; - - var_r31 = &lbl_1_bss_3114[arg1]; - var_r31->unk_58 = arg1; - var_r31->unk_5C = 0; - var_r31->unk_60 = var_r31->unk_58; - if (var_r31->unk_60 > 0) { - var_r31->unk_60 = 1; - } - var_r31->unk_64 = 0; - var_r31->unk_68 = var_r31->unk_58; - var_r31->unk_6C = var_r31->unk_58; -} - -void fn_1_136F0(omObjData *arg0, s32 arg1) -{ - MentDllUnkBss3114Struct *var_r31; - - var_r31 = &lbl_1_bss_3114[arg1]; - var_r31->unk_58 = arg1; - var_r31->unk_5C = GWPlayerCfg[var_r31->unk_58].group; - var_r31->unk_60 = GWPlayerCfg[var_r31->unk_58].iscom; - var_r31->unk_64 = GWPlayerCfg[var_r31->unk_58].diff; - var_r31->unk_68 = GWPlayerCfg[var_r31->unk_58].character; - var_r31->unk_6C = GWPlayerCfg[var_r31->unk_58].pad_idx; -} - -void fn_1_137A4(omObjData *arg0, s32 arg1) -{ - MentDllUnkBss3114Struct *var_r31; - - var_r31 = &lbl_1_bss_3114[arg1]; - var_r31->unk_58 = arg1; - var_r31->unk_5C = GWPlayerCfg[var_r31->unk_58].group; - var_r31->unk_60 = GWPlayerCfg[var_r31->unk_58].iscom; - var_r31->unk_64 = GWPlayerCfg[var_r31->unk_58].diff; - var_r31->unk_68 = GWPlayerCfg[var_r31->unk_58].character; - var_r31->unk_6C = GWPlayerCfg[var_r31->unk_58].pad_idx; - arg0->model[1] = CharModelCreate(var_r31->unk_68, 1); - arg0->motion[1] = CharModelMotionCreate(var_r31->unk_68, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[1], var_r31->unk_68 + DATA_MAKE_NUM(DATADIR_MENT, 0x00)); - fn_1_59A0(arg0, 1, 2, 0, 1); - Hu3DModelPosSet(arg0->model[1], 1320.0f, 0.0f, 800.0f); - Hu3DModelRotSet(arg0->model[1], 0.0f, -60.0f, 0.0f); - Hu3DModelShadowSet(arg0->model[1]); - Hu3DModelLayerSet(arg0->model[1], 2); -} - -void fn_1_13970(void) -{ - MentDllUnkBss3114Struct *var_r28; - omObjData *var_r27; - s32 var_r26; - - var_r26 = lbl_1_bss_D4; - lbl_1_bss_D4 = var_r26 + 1; - var_r27 = omAddObjEx(lbl_1_bss_C8, 0x100, 0x10, 0x10, -1, NULL); - lbl_1_bss_3114[var_r26].unk_00 = var_r27; - lbl_1_bss_3114[var_r26].unk_04 = NULL; - if (lbl_1_bss_A8[0] <= 1) { - fn_1_1368C(var_r27, var_r26); - } - else if (lbl_1_bss_A8[0] == 0xA) { - fn_1_136F0(var_r27, 0); - } - else if (lbl_1_bss_A8[0] == 0xB) { - fn_1_137A4(var_r27, 0); - } - else { - fn_1_1368C(var_r27, var_r26); - } - while (1) { - fn_1_4D8(); - if (lbl_1_bss_3114[var_r26].unk_04 == NULL) { - continue; - } - lbl_1_bss_3114[var_r26].unk_04(var_r27, &lbl_1_bss_3114[var_r26]); - } -} - -void fn_1_13D60(void) -{ - MentDllUnkBss64Struct *var_r31; - - var_r31 = &lbl_1_bss_64; - var_r31->center.x = 0.0f; - var_r31->center.y = 0.0f; - var_r31->center.z = 0.0f; - var_r31->rot.x = -10.0f; - var_r31->rot.y = 0.0f; - var_r31->rot.z = 0.0f; - var_r31->zoom = 2900.0f; -} - -void fn_1_13DEC(void) -{ - MentDllUnkBss64Struct sp8; - MentDllUnkBss64Struct *var_r31; - - var_r31 = &lbl_1_bss_64; - sp8.center.x = 0.0f; - sp8.center.y = 0.0f; - sp8.center.z = 0.0f; - sp8.rot.x = -10.0f; - sp8.rot.y = 0.0f; - sp8.rot.z = 0.0f; - sp8.zoom = 1150.0f; - fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 180.0f, 15.0f); -} - -void fn_1_13EDC(void) -{ - MentDllUnkBss64Struct *var_r31; - - var_r31 = &lbl_1_bss_64; - var_r31->center.x = 0.0f; - var_r31->center.y = 215.0f; - var_r31->center.z = 0.0f; - var_r31->rot.x = 0.0f; - var_r31->rot.y = 0.0f; - var_r31->rot.z = 0.0f; - var_r31->zoom = 1600.0f; -} - -void fn_1_13F68(void) -{ - MentDllUnkBss64Struct sp8; - MentDllUnkBss64Struct *var_r31; - - var_r31 = &lbl_1_bss_64; - sp8.center.x = 0.0f; - sp8.center.y = 215.0f; - sp8.center.z = 0.0f; - sp8.rot.x = 0.0f; - sp8.rot.y = 0.0f; - sp8.rot.z = 0.0f; - sp8.zoom = 1600.0f; - fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 60.0f, 10.0f); -} - -void fn_1_14058(void) -{ - MentDllUnkBss64Struct sp8; - MentDllUnkBss64Struct *var_r31; - - var_r31 = &lbl_1_bss_64; - sp8.center.x = 0.0f; - sp8.center.y = 215.0f; - sp8.center.z = 0.0f; - sp8.rot.x = 0.0f; - sp8.rot.y = 0.0f; - sp8.rot.z = 0.0f; - sp8.zoom = 1600.0f; - fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 10.0f, 5.0f); -} - -void fn_1_14148(void) -{ - MentDllUnkBss64Struct sp8; - MentDllUnkBss64Struct *var_r31; - - var_r31 = &lbl_1_bss_64; - sp8.center.x = 1200.0f; - sp8.center.y = 215.0f; - sp8.center.z = 0.0f; - sp8.rot.x = 0.0f; - sp8.rot.y = 0.0f; - sp8.rot.z = 0.0f; - sp8.zoom = 1600.0f; - fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 10.0f, 5.0f); -} - -void fn_1_14238(void) -{ - MentDllUnkBss64Struct sp8; - MentDllUnkBss64Struct *var_r31; - - var_r31 = &lbl_1_bss_64; - sp8.center.x = 0.0f; - sp8.center.y = 125.0f; - sp8.center.z = 0.0f; - sp8.rot.x = -5.0f; - sp8.rot.y = 0.0f; - sp8.rot.z = 0.0f; - sp8.zoom = 1750.0f; - fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 30.0f, 10.0f); -} - -void fn_1_14328(void) -{ - MentDllUnkBss64Struct sp8; - MentDllUnkBss64Struct *var_r31; - - var_r31 = &lbl_1_bss_64; - sp8.center.x = 1200.0f; - sp8.center.y = 125.0f; - sp8.center.z = 0.0f; - sp8.rot.x = -5.0f; - sp8.rot.y = 0.0f; - sp8.rot.z = 0.0f; - sp8.zoom = 1750.0f; - fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 30.0f, 10.0f); -} - -void fn_1_14418(void) -{ - MentDllUnkBss64Struct sp8; - MentDllUnkBss64Struct *var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_A8[2] / 5; - var_r31 = &lbl_1_bss_64; - if (var_r31->unk_40 == 0x32) { - fn_1_5818(lbl_1_bss_35BC[var_r30].unk_00, 4, 4, 0, 0); - fn_1_5818(lbl_1_bss_35BC[var_r30].unk_00, 5, 5, 0, 0); - HuAudFXPlay(0x7D); - } - sp8.center.x = 0.0f; - if (var_r30 == 1) { - sp8.center.x = 1200.0f; - } - sp8.center.y = 100.0f; - sp8.center.z = 460.0f; - sp8.rot.x = 0.0f; - sp8.rot.y = 0.0f; - sp8.rot.z = 0.0f; - sp8.zoom = 125.0f; - fn_1_4138(var_r31, &sp8, var_r31->unk_40, 180.0f, 10.0f); - if (var_r31->unk_40++ >= 90) { - if (var_r31->unk_40 == 91) { - if (var_r30 == 0) { - lbl_1_bss_24[10] = HuAudFXPlay(0x22); - } - else { - lbl_1_bss_24[10] = HuAudFXPlay(0x23); - } - } - var_r31->rot.x = fn_1_20C(var_r31->rot.x, -45.0f, var_r31->unk_40 - 0x5A, 90.0f); - Hu3DData[lbl_1_bss_35BC[var_r30].unk_00->model[4]].rot.x = fn_1_20C(0.0f, 45.0f, var_r31->unk_40 - 0x5A, 90.0f); - } -} - -void fn_1_146D0(void) -{ - MentDllUnkBss64Struct sp8; - MentDllUnkBss64Struct *var_r31; - - var_r31 = &lbl_1_bss_64; - sp8.center.x = 0.0f; - sp8.center.y = 215.0f; - sp8.center.z = 0.0f; - sp8.rot.x = 0.0f; - sp8.rot.y = 0.0f; - sp8.rot.z = 0.0f; - sp8.zoom = 1600.0f; - fn_1_5150(var_r31, &sp8, var_r31->unk_40++, 30.0f, 10.0f); -} - -void fn_1_147C0(void) -{ - MentDllUnkBss64Struct sp8; - MentDllUnkBss64Struct *var_r31; - - var_r31 = &lbl_1_bss_64; - sp8.center.x = 1200.0f; - sp8.center.y = 215.0f; - sp8.center.z = 0.0f; - sp8.rot.x = 0.0f; - sp8.rot.y = 0.0f; - sp8.rot.z = 0.0f; - sp8.zoom = 1600.0f; - fn_1_5150(var_r31, &sp8, var_r31->unk_40++, 30.0f, 10.0f); -} - -void fn_1_148B0(void) -{ - MentDllUnkBss64Struct sp8; - MentDllUnkBss64Struct *var_r31; - - var_r31 = &lbl_1_bss_64; - sp8.center.x = 0.0f; - sp8.center.y = 30.0f; - sp8.center.z = 0.0f; - sp8.rot.x = -5.0f; - sp8.rot.y = 0.0f; - sp8.rot.z = 0.0f; - sp8.zoom = 1100.0f; - fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 10.0f, 5.0f); -} - -void fn_1_149A0(void) -{ - MentDllUnkBss64Struct *var_r31; - - var_r31 = &lbl_1_bss_64; - var_r31->center.x = 0.0f; - var_r31->center.y = 125.0f; - var_r31->center.z = 0.0f; - var_r31->rot.x = -5.0f; - var_r31->rot.y = 0.0f; - var_r31->rot.z = 0.0f; - var_r31->zoom = 1750.0f; -} - -void fn_1_14A2C(void) -{ - MentDllUnkBss64Struct *var_r31; - - var_r31 = &lbl_1_bss_64; - var_r31->center.x = 1200.0f; - var_r31->center.y = 125.0f; - var_r31->center.z = 0.0f; - var_r31->rot.x = -5.0f; - var_r31->rot.y = 0.0f; - var_r31->rot.z = 0.0f; - var_r31->zoom = 1750.0f; -} - -void fn_1_14AB8(void) -{ - MentDllUnkBss64Struct sp8; - MentDllUnkBss64Struct *var_r31; - - var_r31 = &lbl_1_bss_64; - sp8.center.x = 0.0f; - sp8.center.y = 125.0f; - sp8.center.z = 460.0f; - sp8.rot.x = 0.0f; - sp8.rot.y = 0.0f; - sp8.rot.z = 0.0f; - sp8.zoom = 125.0f; - fn_1_5150(var_r31, &sp8, var_r31->unk_40++, 120.0f, 10.0f); -} - -void fn_1_14BA8(void) -{ - s32 var_r31; - s32 var_r30; - var_r30 = lbl_1_bss_35BC[0].unk_30; - for (var_r31 = 0; var_r31 < 0x35; var_r31++) { - HuSprAttrSet(var_r30, var_r31, HUSPR_ATTR_DISPOFF); - } - for (var_r31 = 0; var_r31 < 8; var_r31++) { - HuSprBankSet(var_r30, var_r31, 0); - HuSprAttrReset(var_r30, var_r31, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, var_r31 + 8, HUSPR_ATTR_DISPOFF); - } - HuSprAttrReset(var_r30, 0x28, HUSPR_ATTR_DISPOFF); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 0x10, 0); - HuSprBankSet(var_r30, var_r31 + 0x14, 0); - HuSprAttrReset(var_r30, var_r31 + 0x29, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, var_r31 + 0x2D, HUSPR_ATTR_DISPOFF); - } - HuSprGrpPosSet(var_r30, 0.0f, -500.0f); -} - -s32 lbl_1_data_57C[4][4] = { - { 0xA8, 0x5A, 0x78, 0x33 }, - { 0xF8, 0xBE, 0x1CA, 0x33 }, - { 0x148, 0x5A, 0x78, 0xDE }, - { 0x198, 0xBE, 0x1CA, 0xDE }, -}; -s32 lbl_1_data_5BC[4][2] = { - { 0x1B, 0x18 }, - { 0x49, 0x18 }, - { 0x77, 0x18 }, - { 0xA5, 0x18 }, -}; - -#if VERSION_NTSC -float lbl_1_data_5DC[5][5] = { - { 262.0f, 119.0f, 1.3f, 227.0f, 455.0f }, - { 314.0f, 168.0f, 0.75f, 265.0f, 416.0f }, - { 366.0f, 204.0f, 0.75f, 240.0f, 440.0f }, - { 418.0f, 240.0f, 0.75f, 300.0f, 381.0f }, - { -1.0f, 289.0f, 1.3f, 220.0f, 460.0f }, -}; -#else -float lbl_1_data_5DC[5][5] = { - { 262.0f, 119.0f, 1.3f, 227.0f, 455.0f }, - { 314.0f, 168.0f, 0.75f, 300.0f, 381.0f }, - { 366.0f, 204.0f, 0.75f, 240.0f, 440.0f }, - { 418.0f, 240.0f, 0.75f, 300.0f, 381.0f }, - { -1.0f, 289.0f, 1.3f, 220.0f, 460.0f }, -}; -#endif - -s32 lbl_1_data_640[4][5] = { - { 0xB4, 0x60, 0x87, 0, 0 }, - { 0xFC, 0xB8, 0xF6, 0xD4, 0x1D4 }, - { 0x144, 0x60, 0x11A, 0xE6, 0x1C2 }, - { 0x18C, 0xB8, 0, 0, 0 }, -}; -s32 lbl_1_data_690[4][4] = { - { 0xB1, 0x68, 0x78, 0x37 }, - { 0xFB, 0x68, 0x1CA, 0x37 }, - { 0x145, 0x68, 0x78, 0x8E }, - { 0x18F, 0x68, 0x1CA, 0x8E }, -}; - -void fn_1_14CE0(void) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_35BC[0].unk_30; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_3114[var_r31].unk_60 != 0) { - HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x10, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x14, HUSPR_ATTR_DISPOFF); - } - else { - HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x10, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x14, HUSPR_ATTR_DISPOFF); - } - HuSprPosSet(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x10, lbl_1_data_57C[lbl_1_bss_3114[var_r31].unk_68 % 4][0], - lbl_1_data_57C[lbl_1_bss_3114[var_r31].unk_68 / 4][1]); - HuSprPosSet(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x14, lbl_1_data_57C[lbl_1_bss_3114[var_r31].unk_68 % 4][0], - lbl_1_data_57C[lbl_1_bss_3114[var_r31].unk_68 / 4][1]); - } - for (var_r31 = 0; var_r31 <= 60; var_r31++) { - fn_1_4D8(); - if (var_r31 <= 0x32) { - var_f31 = fn_1_32C(-500.0f, 10.0f, var_r31, 50.0f); - } - else { - var_f31 = fn_1_254(10.0f, 2.06f, var_r31 - 0x32, 10.0f); - } - HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_30, 0.0f, var_f31); - } -} - -void fn_1_15098(void) -{ - float var_f31; - s32 var_r31; - - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - fn_1_4D8(); - if (var_r31 <= 0xA) { - var_f31 = fn_1_32C(2.06f, 10.0f, var_r31, 10.0f); - } - else { - var_f31 = fn_1_254(10.0f, -500.0f, var_r31 - 0xA, 50.0f); - } - HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_30, 0.0f, var_f31); - } -} - -void fn_1_151B8(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - AnimData *var_r26; - AnimData *var_r25; - AnimData *var_r24; - AnimData *var_r23; - AnimData *var_r22; - - var_r30 = HuSprGrpCreate(0x35); - arg0->unk_30 = var_r30; - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x22)); - for (var_r31 = 0; var_r31 < 8; var_r31++) { - var_r29 = HuSprCreate(HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MENT, 0x1A)), 0x3E8, 0); - HuSprGrpMemberSet(var_r30, var_r31, var_r29); - HuSprPosSet(var_r30, var_r31, lbl_1_data_57C[var_r31 % 4][0], lbl_1_data_57C[var_r31 / 4][1]); - var_r29 = HuSprCreate(var_r26, 0x3F2, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 8, var_r29); - HuSprTPLvlSet(var_r30, var_r31 + 8, 0.5f); - HuSprPosSet(var_r30, var_r31 + 8, lbl_1_data_57C[var_r31 % 4][0] + 1, lbl_1_data_57C[var_r31 / 4][1] + 2); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r29 = HuSprCreate(HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MENT, 0x23)), 0, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 0x10, var_r29); - var_r29 = HuSprCreate(HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MENT, 0x28)), 0xA, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 0x14, var_r29); - } - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x27)); - var_r25 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x2C)); - var_r24 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x2D)); - var_r23 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x2F)); - var_r22 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x2E)); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r29 = HuSprCreate(var_r26, 0, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 0x18, var_r29); - var_r29 = HuSprCreate(var_r25, 0x1E, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 0x1C, var_r29); - var_r29 = HuSprCreate(var_r24, 0xA, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 0x20, var_r29); - var_r29 = HuSprCreate(var_r23, 0x14, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 0x24, var_r29); - HuSprTPLvlSet(var_r30, var_r31 + 0x24, 0.5f); - var_r29 = HuSprCreate(var_r22, 0x14, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 0x31, var_r29); - } - var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x17)), 0x7D0, 0); - HuSprGrpMemberSet(var_r30, 0x28, var_r29); - HuSprTPLvlSet(var_r30, 0x28, 0.8f); - fn_1_6534(var_r30, 0x28, 288.0f, 240.0f); - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x18)); - var_r25 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x19)); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r29 = HuSprCreate(var_r26, 0x7BC, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 0x29, var_r29); - HuSprBankSet(var_r30, var_r31 + 0x29, var_r31); - fn_1_6534(var_r30, var_r31 + 0x29, lbl_1_data_57C[var_r31][2], lbl_1_data_57C[var_r31][3]); - var_r29 = HuSprCreate(var_r25, 0x7C6, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 0x2D, var_r29); - HuSprBankSet(var_r30, var_r31 + 0x2D, var_r31); - HuSprTPLvlSet(var_r30, var_r31 + 0x2D, 0.5f); - fn_1_6534(var_r30, var_r31 + 0x2D, lbl_1_data_57C[var_r31][2] + 1, lbl_1_data_57C[var_r31][3] + 6); - } - var_r27 = lbl_1_bss_35BC[0].unk_30; - for (var_r28 = 0; var_r28 < 0x35; var_r28++) { - HuSprAttrSet(var_r27, var_r28, HUSPR_ATTR_DISPOFF); - } - for (var_r28 = 0; var_r28 < 8; var_r28++) { - HuSprBankSet(var_r27, var_r28, 0); - HuSprAttrReset(var_r27, var_r28, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r27, var_r28 + 8, HUSPR_ATTR_DISPOFF); - } - HuSprAttrReset(var_r27, 0x28, HUSPR_ATTR_DISPOFF); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - HuSprBankSet(var_r27, var_r28 + 0x10, 0); - HuSprBankSet(var_r27, var_r28 + 0x14, 0); - HuSprAttrReset(var_r27, var_r28 + 0x29, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r27, var_r28 + 0x2D, HUSPR_ATTR_DISPOFF); - } - HuSprGrpPosSet(var_r27, 0.0f, -500.0f); -} - -void fn_1_15950(void) -{ - float var_f31; - float var_f30; - s32 var_r31; - MentDllUnkBss3114Struct *var_r30; - s32 var_r29; - s32 var_r28; - - var_r29 = lbl_1_bss_35BC[0].unk_30; - for (var_r31 = 0; var_r31 < 8; var_r31++) { - HuSprBankSet(var_r29, var_r31, 0); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprBankSet(var_r29, var_r31 + 0x10, 0); - HuSprBankSet(var_r29, var_r31 + 0x14, 0); - HuSprBankSet(var_r29, var_r31 + 0x18, 0); - HuSprBankSet(var_r29, var_r31 + 0x1C, 0); - HuSprBankSet(var_r29, var_r31 + 0x20, 0); - } - for (var_r31 = 0; var_r31 <= 0xA; var_r31++) { - fn_1_4D8(); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - var_r30 = &lbl_1_bss_3114[var_r28]; - var_f31 = fn_1_32C(lbl_1_data_57C[var_r30->unk_68 % 4][0], lbl_1_data_57C[var_r30->unk_58 % 4][0], var_r31, 10.0f); - var_f30 = fn_1_32C(lbl_1_data_57C[var_r30->unk_68 / 4][1], lbl_1_data_57C[var_r30->unk_58 / 4][1], var_r31, 10.0f); - HuSprPosSet(var_r29, var_r30->unk_58 + 0x10, var_f31, var_f30); - HuSprPosSet(var_r29, var_r30->unk_58 + 0x14, var_f31, var_f30); - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_3114[var_r31].unk_68 = lbl_1_bss_3114[var_r31].unk_58; - lbl_1_bss_3114[var_r31].unk_70[0] = 0; - } -} - -void fn_1_15CB4(omObjData *arg0, MentDllUnkBss3114Struct *arg1) -{ - float var_f31; - float var_f30; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - - var_r25 = lbl_1_bss_35BC[0].unk_30; - var_r27 = 0; - var_r26 = 0; - var_r30 = arg1->unk_68 % 4; - var_r24 = var_r30; - var_r29 = arg1->unk_68 / 4; - var_r23 = var_r29; - if (arg1->unk_70[0] == 0) { - if ((HuPadBtnDown[arg1->unk_6C] & PAD_BUTTON_A) != 0) { - arg1->unk_70[0] = 1; - HuSprBankSet(var_r25, arg1->unk_68, 1); - HuSprBankSet(var_r25, arg1->unk_58 + 0x10, 1); - HuSprBankSet(var_r25, arg1->unk_58 + 0x14, 1); - HuAudFXPlay(arg1->unk_68 + 0x6D); - } - else { - if ((HuPadStkX[arg1->unk_6C] >= 5) || ((HuPadBtn[arg1->unk_6C] & 2) != 0)) { - var_r30++; - var_r27 = 1; - if (var_r30 > 3) { - var_r30 = 3; - } - } - else if ((HuPadStkX[arg1->unk_6C] <= -5) || ((HuPadBtn[arg1->unk_6C] & 1) != 0)) { - var_r30--; - var_r27 = -1; - if (var_r30 < 0) { - var_r30 = 0; - } - } - if ((HuPadStkY[arg1->unk_6C] <= -5) || ((HuPadBtn[arg1->unk_6C] & 4) != 0)) { - var_r29++; - var_r26 = 1; - if (var_r29 > 1) { - var_r29 = 1; - } - } - else if ((HuPadStkY[arg1->unk_6C] >= 5) || ((HuPadBtn[arg1->unk_6C] & 8) != 0)) { - var_r29--; - var_r26 = -1; - if (var_r29 < 0) { - var_r29 = 0; - } - } - } - } - else if ((HuPadBtnDown[arg1->unk_6C] & PAD_BUTTON_B) != 0) { - arg1->unk_70[0] = 0; - HuSprBankSet(var_r25, arg1->unk_68, 0); - HuSprBankSet(var_r25, arg1->unk_58 + 0x10, 0); - HuSprBankSet(var_r25, arg1->unk_58 + 0x14, 0); - HuAudFXPlay(3); - } - if (arg1->unk_68 != (var_r30 + (var_r29 * 4))) { - do { - for (var_r28 = 0; var_r28 < 4; var_r28++) { - if ((var_r28 != arg1->unk_58) && (lbl_1_bss_3114[var_r28].unk_60 == 0) - && ((var_r30 + (var_r29 * 4)) == lbl_1_bss_3114[var_r28].unk_68)) { - if ((var_r27 == 0) || (var_r26 == 0)) { - if (((var_r30 + var_r27) > 3) || ((var_r30 + var_r27) < 0)) { - var_r30 = var_r24; - } - else { - var_r30 += var_r27; - } - if (((var_r29 + var_r26) > 1) || ((var_r29 + var_r26) < 0)) { - var_r29 = var_r23; - } - else { - var_r29 += var_r26; - } - } - else if (((var_r30 + var_r27) <= 3) && ((var_r30 + var_r27) >= 0)) { - var_r30 += var_r27; - } - else if (((var_r29 + var_r26) <= 1) && ((var_r29 + var_r26) >= 0)) { - var_r29 += var_r26; - } - else { - var_r30 = var_r24; - var_r29 = var_r23; - } - break; - } - } - } while (var_r28 != 4); - if (arg1->unk_68 != (var_r30 + (var_r29 * 4))) { - arg1->unk_68 = var_r30 + (var_r29 * 4); - HuAudFXPlay(0); - for (var_r28 = 0; var_r28 <= 0xA; var_r28++) { - fn_1_4D8(); - var_f31 = fn_1_32C(lbl_1_data_57C[var_r24][0], lbl_1_data_57C[var_r30][0], var_r28, 10.0f); - var_f30 = fn_1_32C(lbl_1_data_57C[var_r23][1], lbl_1_data_57C[var_r29][1], var_r28, 10.0f); - HuSprPosSet(var_r25, arg1->unk_58 + 0x10, var_f31, var_f30); - HuSprPosSet(var_r25, arg1->unk_58 + 0x14, var_f31, var_f30); - } - } - } -} - -void fn_1_162A0(MentDllUnkBss3114Struct *arg0) -{ - s32 var_r30; - - var_r30 = lbl_1_bss_35BC[0].unk_30; - arg0->unk_64 = 0; - HuSprBankSet(var_r30, arg0->unk_58 + 0x20, arg0->unk_64); - HuSprPosSet(var_r30, arg0->unk_58 + 0x20, lbl_1_data_57C[arg0->unk_68 % 4][0], lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x23); - HuSprPosSet(var_r30, arg0->unk_58 + 0x24, lbl_1_data_57C[arg0->unk_68 % 4][0] + 1, lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x25); - HuSprAttrReset(var_r30, arg0->unk_58 + 0x20, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, arg0->unk_58 + 0x24, HUSPR_ATTR_DISPOFF); -} - -s32 fn_1_1648C(MentDllUnkBss3114Struct *arg0) -{ - float var_f31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - - var_r28 = 0; - var_r29 = lbl_1_bss_35BC[0].unk_30; - while (1) { - fn_1_4D8(); - var_r28 = 0; - var_r26 = arg0->unk_64; - if (HuPadStkX[lbl_1_bss_3114->unk_6C] >= 5 || (HuPadBtn[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_RIGHT)) { - if (lbl_1_bss_A8[5] == 1) { - arg0->unk_64++; - var_r28 = 1; - if (arg0->unk_64 > 3) { - arg0->unk_64 = 0; - } - } - else { - arg0->unk_64++; - var_r28 = 1; - if (arg0->unk_64 > 2) { - arg0->unk_64 = 0; - } - } - } - else if (HuPadStkX[lbl_1_bss_3114->unk_6C] <= -5 || (HuPadBtn[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_LEFT)) { - if (lbl_1_bss_A8[5] == 1) { - arg0->unk_64--; - var_r28 = -1; - if (arg0->unk_64 < 0) { - arg0->unk_64 = 3; - } - } - else { - arg0->unk_64--; - var_r28 = -1; - if (arg0->unk_64 < 0) { - arg0->unk_64 = 2; - } - } - } - else if (HuPadBtnDown[0] & PAD_BUTTON_A) { - var_r27 = 1; - HuAudFXPlay(2); - break; - } - else if (HuPadBtnDown[0] & PAD_BUTTON_B) { - var_r27 = 0; - HuAudFXPlay(3); - break; - } - if (arg0->unk_64 != var_r26) { - HuAudFXPlay(0); - for (var_r30 = 0; var_r30 <= 5; var_r30++) { - fn_1_4D8(); - var_f31 = fn_1_32C(lbl_1_data_57C[arg0->unk_68 % 4][0], lbl_1_data_57C[arg0->unk_68 % 4][0] + (var_r28 * 10), var_r30, 5); - HuSprPosSet(var_r29, arg0->unk_58 + 32, var_f31, lbl_1_data_57C[arg0->unk_68 / 4][1] + 35); - HuSprPosSet(var_r29, arg0->unk_58 + 36, 1 + var_f31, lbl_1_data_57C[arg0->unk_68 / 4][1] + 37); - } - HuSprBankSet(var_r29, arg0->unk_58 + 32, arg0->unk_64); - for (var_r30 = 0; var_r30 <= 5; var_r30++) { - fn_1_4D8(); - var_f31 = fn_1_32C(lbl_1_data_57C[arg0->unk_68 % 4][0] + (var_r28 * 10), lbl_1_data_57C[arg0->unk_68 % 4][0], var_r30, 5); - HuSprPosSet(var_r29, arg0->unk_58 + 32, var_f31, lbl_1_data_57C[arg0->unk_68 / 4][1] + 35); - HuSprPosSet(var_r29, arg0->unk_58 + 36, 1 + var_f31, lbl_1_data_57C[arg0->unk_68 / 4][1] + 37); - } - } - } - if (var_r27 == 1) { - HuSprPosSet(var_r29, arg0->unk_58 + 49, lbl_1_data_57C[arg0->unk_68 % 4][0], lbl_1_data_57C[arg0->unk_68 / 4][1] + 35); - HuSprBankSet(var_r29, arg0->unk_58 + 49, arg0->unk_64); - HuSprAttrReset(var_r29, arg0->unk_58 + 49, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(var_r29, arg0->unk_58 + 32, HUSPR_ATTR_DISPOFF); - } - - return var_r27; -} - -void fn_1_16B68(omObjData *arg0, MentDllUnkBss3114Struct *arg1) -{ - s32 sp8; - float var_f31; - float var_f30; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r23; - s32 var_r22; - - var_r27 = lbl_1_bss_35BC[0].unk_30; - var_r26 = 0; - var_r25 = 0; - sp8 = arg1->unk_64; - var_r23 = var_r30 = arg1->unk_68 % 4; - var_r29 = arg1->unk_68 / 4; - var_r22 = var_r29; - if (arg1->unk_70[0] == 0) { - if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_A) != 0) { - arg1->unk_70[0] = 1; - HuSprBankSet(var_r27, arg1->unk_68, 1); - HuSprBankSet(var_r27, arg1->unk_58 + 0x18, 1); - HuSprBankSet(var_r27, arg1->unk_58 + 0x1C, 1); - HuAudFXPlay(arg1->unk_68 + 0x6D); - fn_1_162A0(arg1); - } - else { - if ((HuPadStkX[lbl_1_bss_3114->unk_6C] >= 5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 2) != 0)) { - var_r30++; - var_r26 = 1; - if (var_r30 > 3) { - var_r30 = 3; - } - } - else if ((HuPadStkX[lbl_1_bss_3114->unk_6C] <= -5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 1) != 0)) { - var_r30--; - var_r26 = -1; - if (var_r30 < 0) { - var_r30 = 0; - } - } - if ((HuPadStkY[lbl_1_bss_3114->unk_6C] <= -5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 4) != 0)) { - var_r29++; - var_r25 = 1; - if (var_r29 > 1) { - var_r29 = 1; - } - } - else if ((HuPadStkY[lbl_1_bss_3114->unk_6C] >= 5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 8) != 0)) { - var_r29--; - var_r25 = -1; - if (var_r29 < 0) { - var_r29 = 0; - } - } - } - } - else if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_B) != 0) { - arg1->unk_70[0] = arg1->unk_70[2] = 0; - HuSprBankSet(var_r27, arg1->unk_68, 0); - HuSprBankSet(var_r27, arg1->unk_58 + 0x18, 0); - HuSprBankSet(var_r27, arg1->unk_58 + 0x1C, 0); - HuSprAttrSet(var_r27, arg1->unk_58 + 0x20, 4); - HuSprAttrSet(var_r27, arg1->unk_58 + 0x24, 4); - HuAudFXPlay(3); - } - if (arg1->unk_68 != (var_r30 + (var_r29 * 4))) { - do { - for (var_r28 = 0; var_r28 < 4; var_r28++) { - if ((var_r28 != arg1->unk_58) && (lbl_1_bss_3114[var_r28].unk_70[0] == 1) - && ((var_r30 + (var_r29 * 4)) == lbl_1_bss_3114[var_r28].unk_68)) { - if ((var_r26 == 0) || (var_r25 == 0)) { - if (((var_r30 + var_r26) > 3) || ((var_r30 + var_r26) < 0)) { - var_r30 = var_r23; - } - else { - var_r30 += var_r26; - } - if (((var_r29 + var_r25) > 1) || ((var_r29 + var_r25) < 0)) { - var_r29 = var_r22; - } - else { - var_r29 += var_r25; - } - } - else if (((var_r30 + var_r26) <= 3) && ((var_r30 + var_r26) >= 0)) { - var_r30 += var_r26; - } - else if (((var_r29 + var_r25) <= 1) && ((var_r29 + var_r25) >= 0)) { - var_r29 += var_r25; - } - else { - var_r30 = var_r23; - var_r29 = var_r22; - } - break; - } - } - } while (var_r28 != 4); - if (arg1->unk_68 != (var_r30 + (var_r29 * 4))) { - arg1->unk_68 = var_r30 + (var_r29 * 4); - HuAudFXPlay(0); - for (var_r28 = 0; var_r28 <= 0xA; var_r28++) { - fn_1_4D8(); - var_f31 = fn_1_32C(lbl_1_data_57C[var_r23][0], lbl_1_data_57C[var_r30][0], var_r28, 10.0f); - var_f30 = fn_1_32C(lbl_1_data_57C[var_r22][1], lbl_1_data_57C[var_r29][1], var_r28, 10.0f); - HuSprPosSet(var_r27, arg1->unk_58 + 0x18, var_f31, var_f30); - HuSprPosSet(var_r27, arg1->unk_58 + 0x1C, var_f31, var_f30); - HuSprPosSet(var_r27, arg1->unk_58 + 0x20, var_f31, 35.0f + var_f30); - HuSprPosSet(var_r27, arg1->unk_58 + 0x24, 1.0f + var_f31, 37.0f + var_f30); - } - } - } - (void)var_r30; -} - -void fn_1_173FC(MentDllUnkBss3114Struct *arg0) -{ - s32 var_r30; - s32 var_r29; - - var_r30 = lbl_1_bss_35BC[0].unk_30; - do { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if ((var_r29 != arg0->unk_58) && (lbl_1_bss_3114[var_r29].unk_70[0] == 1) && (arg0->unk_68 == lbl_1_bss_3114[var_r29].unk_68)) { - arg0->unk_68++; - break; - } - } - } while (var_r29 != 4); - arg0->unk_64 = 0; - HuSprBankSet(var_r30, arg0->unk_68, 0); - HuSprBankSet(var_r30, arg0->unk_58 + 0x18, 0); - HuSprBankSet(var_r30, arg0->unk_58 + 0x1C, 0); - HuSprBankSet(var_r30, arg0->unk_58 + 0x20, arg0->unk_64); - HuSprBankSet(var_r30, arg0->unk_58 + 0x31, arg0->unk_64); - HuSprPosSet(var_r30, arg0->unk_58 + 0x18, lbl_1_data_57C[arg0->unk_68 % 4][0], lbl_1_data_57C[arg0->unk_68 / 4][1]); - HuSprPosSet(var_r30, arg0->unk_58 + 0x1C, lbl_1_data_57C[arg0->unk_68 % 4][0], lbl_1_data_57C[arg0->unk_68 / 4][1]); - HuSprPosSet(var_r30, arg0->unk_58 + 0x20, lbl_1_data_57C[arg0->unk_68 % 4][0], lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x23); - HuSprPosSet(var_r30, arg0->unk_58 + 0x24, lbl_1_data_57C[arg0->unk_68 % 4][0] + 1, lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x25); - HuSprPosSet(var_r30, arg0->unk_58 + 0x31, lbl_1_data_57C[arg0->unk_68 % 4][0] + 1, lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x25); - arg0->unk_70[2] = 0; - HuSprAttrReset(var_r30, arg0->unk_58 + 0x18, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, arg0->unk_58 + 0x1C, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(var_r30, arg0->unk_58 + 0x20, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(var_r30, arg0->unk_58 + 0x24, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(var_r30, arg0->unk_58 + 0x31, HUSPR_ATTR_DISPOFF); -} - -void fn_1_17914(MentDllUnkBss3114Struct *arg0) -{ - s32 var_r30; - - var_r30 = lbl_1_bss_35BC[0].unk_30; - HuSprBankSet(var_r30, arg0->unk_68, 0); - HuSprAttrSet(var_r30, arg0->unk_58 + 0x18, 4); - HuSprAttrSet(var_r30, arg0->unk_58 + 0x1C, 4); - HuSprAttrSet(var_r30, arg0->unk_58 + 0x20, 4); - HuSprAttrSet(var_r30, arg0->unk_58 + 0x24, 4); - HuSprAttrSet(var_r30, arg0->unk_58 + 0x31, 4); -} - -void fn_1_179DC(void) -{ - MentDllUnkBss3114Struct *var_r31; - s32 var_r29; - s32 var_r30; - - var_r30 = lbl_1_bss_35BC[0].unk_34; - for (var_r29 = 0; var_r29 < 0x11; var_r29++) { - HuSprAttrSet(var_r30, var_r29, HUSPR_ATTR_DISPOFF); - } - for (var_r29 = 0; var_r29 < 4; var_r29++) { - var_r31 = &lbl_1_bss_3114[var_r29]; - HuSprPosSet(var_r30, var_r31->unk_68, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1]); - HuSprAttrReset(var_r30, var_r31->unk_68, HUSPR_ATTR_DISPOFF); - if (var_r31->unk_60 == 0) { - HuSprBankSet(var_r30, var_r31->unk_58 + 8, var_r31->unk_58); - HuSprPosSet(var_r30, var_r31->unk_58 + 8, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19); - HuSprAttrReset(var_r30, var_r31->unk_58 + 8, HUSPR_ATTR_DISPOFF); - } - else { - HuSprBankSet(var_r30, var_r31->unk_58 + 0xC, var_r31->unk_64); - HuSprPosSet(var_r30, var_r31->unk_58 + 0xC, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19); - HuSprAttrReset(var_r30, var_r31->unk_58 + 0xC, HUSPR_ATTR_DISPOFF); - } - } - HuSprAttrReset(var_r30, 0x10, HUSPR_ATTR_DISPOFF); - HuSprGrpPosSet(var_r30, 16.0f, -500.0f); -} - -void fn_1_17CC8(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3) -{ - MentDllUnkBss3114Struct *var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - AnimData *var_r25; - AnimData *var_r24; - - var_r26 = HuSprGrpCreate(0x11); - arg0->unk_34 = var_r26; - for (var_r30 = 0; var_r30 < 8; var_r30++) { - var_r27 = HuSprCreate(HuSprAnimReadFile(var_r30 + DATA_MAKE_NUM(DATADIR_MENT, 0x31)), 0x3E8, 0); - HuSprGrpMemberSet(var_r26, var_r30, var_r27); - } - var_r25 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3A)); - var_r24 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3B)); - for (var_r30 = 0; var_r30 < 4; var_r30++) { - var_r27 = HuSprCreate(var_r25, 0x3DE, 0); - HuSprGrpMemberSet(var_r26, var_r30 + 8, var_r27); - var_r27 = HuSprCreate(var_r24, 0x3DE, 0); - HuSprGrpMemberSet(var_r26, var_r30 + 0xC, var_r27); - } - var_r27 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x30)), 0x7D0, 0); - HuSprGrpMemberSet(var_r26, 0x10, var_r27); - HuSprTPLvlSet(var_r26, 0x10, 0.8f); - HuSprPosSet(var_r26, 0x10, 96.0f, 32.0f); - var_r29 = lbl_1_bss_35BC[0].unk_34; - for (var_r28 = 0; var_r28 < 0x11; var_r28++) { - HuSprAttrSet(var_r29, var_r28, HUSPR_ATTR_DISPOFF); - } - for (var_r28 = 0; var_r28 < 4; var_r28++) { - var_r31 = &lbl_1_bss_3114[var_r28]; - HuSprPosSet(var_r29, var_r31->unk_68, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1]); - HuSprAttrReset(var_r29, var_r31->unk_68, HUSPR_ATTR_DISPOFF); - if (var_r31->unk_60 == 0) { - HuSprBankSet(var_r29, var_r31->unk_58 + 8, var_r31->unk_58); - HuSprPosSet(var_r29, var_r31->unk_58 + 8, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19); - HuSprAttrReset(var_r29, var_r31->unk_58 + 8, HUSPR_ATTR_DISPOFF); - } - else { - HuSprBankSet(var_r29, var_r31->unk_58 + 0xC, var_r31->unk_64); - HuSprPosSet(var_r29, var_r31->unk_58 + 0xC, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19); - HuSprAttrReset(var_r29, var_r31->unk_58 + 0xC, HUSPR_ATTR_DISPOFF); - } - } - HuSprAttrReset(var_r29, 0x10, HUSPR_ATTR_DISPOFF); - HuSprGrpPosSet(var_r29, 16.0f, -500.0f); -} - -void fn_1_1811C(void) -{ - float var_f31; - MentDllUnkBss3114Struct *var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r30 = lbl_1_bss_35BC[0].unk_34; - for (var_r29 = 0; var_r29 < 0x11; var_r29++) { - HuSprAttrSet(var_r30, var_r29, HUSPR_ATTR_DISPOFF); - } - for (var_r29 = 0; var_r29 < 4; var_r29++) { - var_r31 = &lbl_1_bss_3114[var_r29]; - HuSprPosSet(var_r30, var_r31->unk_68, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1]); - HuSprAttrReset(var_r30, var_r31->unk_68, HUSPR_ATTR_DISPOFF); - if (var_r31->unk_60 == 0) { - HuSprBankSet(var_r30, var_r31->unk_58 + 8, var_r31->unk_58); - HuSprPosSet(var_r30, var_r31->unk_58 + 8, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19); - HuSprAttrReset(var_r30, var_r31->unk_58 + 8, HUSPR_ATTR_DISPOFF); - } - else { - HuSprBankSet(var_r30, var_r31->unk_58 + 0xC, var_r31->unk_64); - HuSprPosSet(var_r30, var_r31->unk_58 + 0xC, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19); - HuSprAttrReset(var_r30, var_r31->unk_58 + 0xC, HUSPR_ATTR_DISPOFF); - } - } - HuSprAttrReset(var_r30, 0x10, HUSPR_ATTR_DISPOFF); - HuSprGrpPosSet(var_r30, 16.0f, -500.0f); - for (var_r28 = 0; var_r28 <= 0x3C; var_r28++) { - fn_1_4D8(); - if (var_r28 <= 0x32) { - var_f31 = fn_1_32C(-500.0f, 50.0f, var_r28, 50.0f); - } - else { - var_f31 = fn_1_254(50.0f, 40.0f, var_r28 - 0x32, 10.0f); - } - HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_34, 16.0f, var_f31); - } -} - -void fn_1_1850C(void) -{ - float var_f31; - s32 var_r31; - - lbl_1_bss_35BC[0].unk_08[0] = -1; - lbl_1_bss_35BC[0].unk_04 = NULL; - for (var_r31 = 0; var_r31 <= 0x4B; var_r31++) { - fn_1_4D8(); - if (var_r31 <= 0xA) { - var_f31 = fn_1_32C(40.0f, 50.0f, var_r31, 10.0f); - } - else { - var_f31 = fn_1_254(50.0f, -500.0f, var_r31 - 0xA, 50.0f); - } - HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_34, 16.0f, var_f31); - if (var_r31 >= 0xF) { - var_f31 = fn_1_254(210.0f, -500.0f, var_r31 - 0xF, 60.0f); - HuSprGrpData[lbl_1_bss_35BC[0].unk_38].y = (s32)fn_1_234(HuSprGrpData[lbl_1_bss_35BC[0].unk_38].y, var_f31, 10.0f); - } - } -} - -void fn_1_1872C(void) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_35BC[0].unk_38; - for (var_r31 = 0; var_r31 < 7; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } -} - -void fn_1_18788(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r31 = HuSprGrpCreate(7); - arg0->unk_38 = var_r31; - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3C)), 0x7DA, 0); - HuSprGrpMemberSet(var_r31, 0, var_r30); - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3D)), 0x7C6, 0); - HuSprGrpMemberSet(var_r31, 1, var_r30); - HuSprPosSet(var_r31, 1, 0.0f, -80.0f); - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3E)), 0x7D0, 0); - HuSprGrpMemberSet(var_r31, 2, var_r30); - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3F)), 0x7D0, 0); - HuSprGrpMemberSet(var_r31, 3, var_r30); - HuSprPosSet(var_r31, 3, 0.0f, -80.0f); - if (lbl_1_bss_A8[0] != 0) { - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x5A)), 0x7BC, 0); - HuSprGrpMemberSet(var_r31, 4, var_r30); - HuSprPosSet(var_r31, 4, -140.0f, -86.0f); - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x5B)), 0x7BC, 0); - HuSprGrpMemberSet(var_r31, 5, var_r30); - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x5C)), 0x7D0, 0); - HuSprGrpMemberSet(var_r31, 6, var_r30); - HuSprScaleSet(var_r31, 6, 1.0f, 0.875f); - HuSprTPLvlSet(var_r31, 6, 0.5f); - } - HuSprExecLayerSet(0x40, 1); - HuSprGrpDrawNoSet(var_r31, 0x40); - var_r28 = lbl_1_bss_35BC[0].unk_38; - for (var_r29 = 0; var_r29 < 7; var_r29++) { - HuSprAttrSet(var_r28, var_r29, 4); - } -} - -void fn_1_18A54(s32 arg0) -{ - float var_f31; - float var_f30; - s32 var_r31; - - var_r31 = lbl_1_bss_35BC[0].unk_38; - if (arg0 != 5) { - HuSprBankSet(var_r31, 0, arg0); - HuSprBankSet(var_r31, 1, arg0); - HuSprAttrSet(var_r31, 2, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(var_r31, 3, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r31, 0, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r31, 1, HUSPR_ATTR_DISPOFF); - if (lbl_1_bss_A8[0] != 0) { - if ((arg0 == 0 && _CheckFlag(FLAG_ID_MAKE(0, 2)) != 0) || (arg0 == 1 && _CheckFlag(FLAG_ID_MAKE(0, 3)) != 0) - || (arg0 == 2 && _CheckFlag(FLAG_ID_MAKE(0, 4)) != 0) || (arg0 == 3 && (_CheckFlag(FLAG_ID_MAKE(0, 5)) != 0)) - || (arg0 == 4 && (_CheckFlag(FLAG_ID_MAKE(0, 6)) != 0))) { - HuSprAttrReset(var_r31, 4, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r31, 5, HUSPR_ATTR_DISPOFF); - HuSprTPLvlSet(var_r31, 5, 0.8f); - HuSprAttrReset(var_r31, 6, HUSPR_ATTR_DISPOFF); - HuSprTPLvlSet(var_r31, 6, 0.5f); - } - else { - HuSprAttrSet(var_r31, 4, 4); - HuSprAttrSet(var_r31, 5, 4); - HuSprAttrSet(var_r31, 6, 4); - } - } - } - else { - HuSprAttrSet(var_r31, 0, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(var_r31, 1, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r31, 2, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r31, 3, HUSPR_ATTR_DISPOFF); - } - lbl_1_bss_35BC[0].unk_08[0] = arg0; - lbl_1_bss_35BC[0].unk_1C[1] = (rand8() % 10) * 0x24; - HuSprGrpScaleSet(var_r31, 0.0f, 0.0f); - for (arg0 = 0; arg0 <= 0xF; arg0++) { - fn_1_4D8(); - if (arg0 <= 0xA) { - var_f31 = fn_1_32C(0.0f, 1.0f, arg0, 10.0f); - var_f30 = 0.01f; - } - else { - var_f31 = 1.0f; - var_f30 = fn_1_32C(0.01f, 1.0f, arg0 - 0xA, 5.0f); - } - HuSprGrpScaleSet(var_r31, var_f31, var_f30); - } -} - -void fn_1_18DCC(void) -{ - float var_f31; - float var_f30; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r29 = lbl_1_bss_35BC[0].unk_38; - for (var_r31 = 0; var_r31 <= 0xF; var_r31++) { - fn_1_4D8(); - if (var_r31 <= 0xA) { - var_f31 = 1.0f; - var_f30 = fn_1_32C(1.0f, 0.01f, var_r31, 10.0f); - } - else { - var_f31 = fn_1_32C(1.0f, 0.0f, var_r31 - 0xA, 5.0f); - var_f30 = 0.01f; - } - HuSprGrpScaleSet(var_r29, var_f31, var_f30); - } - var_r28 = lbl_1_bss_35BC[0].unk_38; - for (var_r30 = 0; var_r30 < 7; var_r30++) { - HuSprAttrSet(var_r28, var_r30, 4); - } - lbl_1_bss_35BC[0].unk_08[0] = -1; - lbl_1_bss_35BC[0].unk_04 = NULL; -} - -void fn_1_18F74(omObjData *arg0, MentDllUnkBss35BCStruct *arg1) -{ - Vec sp14; - Vec sp8; - s32 var_r31; - - var_r31 = lbl_1_bss_35BC[0].unk_38; - if (lbl_1_bss_35BC[0].unk_08[0] != -1) { - sp14.x = lbl_1_data_D8[lbl_1_bss_35BC[0].unk_08[0]].x; - sp14.y = 0.0f; - sp14.z = lbl_1_data_D8[lbl_1_bss_35BC[0].unk_08[0]].z; - Hu3D3Dto2D(&sp14, 1, &sp8); - sp8.y = fn_1_3F4(210.0f, 220.0f, lbl_1_bss_35BC[0].unk_1C[1]++, 360.0f); - if (lbl_1_bss_35BC[0].unk_1C[1] >= 0x168) { - lbl_1_bss_35BC[0].unk_1C[1] = 0; - } - HuSprGrpPosSet(var_r31, sp8.x, (s32)sp8.y); - } -} - -#if VERSION_PAL - -#define POSX1 353 -#define POSX2 325 - -#else - -#define POSX1 321 -#define POSX2 295 - -#endif - -void fn_1_190E8(void) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_35BC[0].unk_3C; - for (var_r31 = 0; var_r31 < 0x5B; var_r31++) { - HuSprAttrSet(var_r30, var_r31, HUSPR_ATTR_DISPOFF); - } - if (lbl_1_bss_A8[2] != 5) { - HuSprBankSet(var_r30, 0, lbl_1_bss_A8[2]); - HuSprAttrReset(var_r30, 0, HUSPR_ATTR_DISPOFF); - } - else { - HuSprAttrReset(var_r30, 1, HUSPR_ATTR_DISPOFF); - } - HuSprAttrReset(var_r30, 2, HUSPR_ATTR_DISPOFF); - HuSprPosSet(var_r30, 2, 288.0f, lbl_1_data_5DC[0][1]); - HuSprScaleSet(var_r30, 2, 1.0f, lbl_1_data_5DC[0][2]); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 3, HUSPR_ATTR_DISPOFF); - HuSprPosSet(var_r30, var_r31 + 3, lbl_1_data_5DC[0][var_r31 + 3], lbl_1_data_5DC[0][1]); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_68 + 7, HUSPR_ATTR_DISPOFF); - HuSprPosSet(var_r30, lbl_1_bss_3114[var_r31].unk_68 + 7, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], lbl_1_data_5DC[0][1]); - HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0xF, HUSPR_ATTR_DISPOFF); - HuSprPosSet( - var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0xF, 1.0f + lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], 2.0f + lbl_1_data_5DC[0][1]); - HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_68 + 0x1F, HUSPR_ATTR_DISPOFF); - HuSprPosSet(var_r30, lbl_1_bss_3114[var_r31].unk_68 + 0x1F, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], lbl_1_data_5DC[4][1] - 9.0f); - HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x27, HUSPR_ATTR_DISPOFF); - HuSprPosSet( - var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x27, 1.0f + lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], lbl_1_data_5DC[4][1] - 7.0f); - if (lbl_1_bss_3114[var_r31].unk_60 != 0) { - HuSprAttrReset(var_r30, var_r31 + 0x1B, HUSPR_ATTR_DISPOFF); - HuSprBankSet(var_r30, var_r31 + 0x1B, lbl_1_bss_3114[var_r31].unk_64); - HuSprPosSet(var_r30, var_r31 + 0x1B, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], 21.0f + lbl_1_data_5DC[0][1]); - } - else { - HuSprAttrReset(var_r30, var_r31 + 0x17, HUSPR_ATTR_DISPOFF); - HuSprBankSet(var_r30, var_r31 + 0x17, lbl_1_bss_3114[var_r31].unk_58); - HuSprPosSet(var_r30, var_r31 + 0x17, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0] - 8.0f, lbl_1_data_5DC[0][1] - 21.0f); - } - HuSprPosSet(var_r30, var_r31 + 0x2F, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], 20.0f + lbl_1_data_5DC[4][1]); - HuSprAttrReset(var_r30, var_r31 + 0x2F, HUSPR_ATTR_DISPOFF); - HuSprPosSet(var_r30, var_r31 + 0x33, 10.0f + lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], 21.0f + lbl_1_data_5DC[4][1]); - HuSprAttrReset(var_r30, var_r31 + 0x33, HUSPR_ATTR_DISPOFF); - HuSprBankSet(var_r30, var_r31 + 0x33, 0); - HuSprPosSet(var_r30, lbl_1_bss_3114[var_r31].unk_68 + 0x37, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], lbl_1_data_5DC[4][1] - 7.0f); - HuSprPosSet(var_r30, var_r31 + 0x3F, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], 23.0f + lbl_1_data_5DC[4][1]); - HuSprPosSet(var_r30, var_r31 + 0x43, 14.0f + lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], 24.0f + lbl_1_data_5DC[4][1]); - HuSprBankSet(var_r30, var_r31 + 0x43, 0); - } - HuSprPosSet(var_r30, 0x47, 340.0f, lbl_1_data_5DC[0][1]); - HuSprScaleSet(var_r30, 0x47, 0.0f, 0.0f); - HuSprAttrReset(var_r30, 0x47, HUSPR_ATTR_DISPOFF); - #if VERSION_NTSC - HuSprAttrReset(var_r30, 0x48, HUSPR_ATTR_DISPOFF); - HuSprPosSet(var_r30, 0x48, 366.0f, lbl_1_data_5DC[1][1]); - HuSprAttrReset(var_r30, 0x49, HUSPR_ATTR_DISPOFF); - HuSprPosSet(var_r30, 0x49, 367.0f, 2.0f + lbl_1_data_5DC[1][1]); - #endif - for (var_r31 = 0; var_r31 < 2; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 0x4A, HUSPR_ATTR_DISPOFF); - HuSprPosSet(var_r30, var_r31 + 0x4A, POSX1 - (var_r31 * (POSX1-POSX2)), lbl_1_data_5DC[1][1]); - HuSprBankSet(var_r30, var_r31 + 0x4A, var_r31); - HuSprAttrReset(var_r30, var_r31 + 0x4C, HUSPR_ATTR_DISPOFF); - HuSprPosSet(var_r30, var_r31 + 0x4C, POSX1+1 - (var_r31 * (POSX1-POSX2)), 2.0f + lbl_1_data_5DC[1][1]); - HuSprBankSet(var_r30, var_r31 + 0x4C, var_r31); - } - HuSprAttrReset(var_r30, 0x4E, HUSPR_ATTR_DISPOFF); - HuSprPosSet(var_r30, 0x4E, 340.0f, lbl_1_data_5DC[2][1]); - HuSprBankSet(var_r30, 0x4E, 0); - HuSprAttrReset(var_r30, 0x4F, HUSPR_ATTR_DISPOFF); - HuSprPosSet(var_r30, 0x4F, 341.0f, 2.0f + lbl_1_data_5DC[2][1]); - HuSprBankSet(var_r30, 0x4F, 0); - HuSprAttrReset(var_r30, 0x50, HUSPR_ATTR_DISPOFF); - HuSprPosSet(var_r30, 0x50, 340.0f, lbl_1_data_5DC[3][1]); - HuSprBankSet(var_r30, 0x50, 0); - HuSprAttrReset(var_r30, 0x51, HUSPR_ATTR_DISPOFF); - HuSprPosSet(var_r30, 0x51, 341.0f, 2.0f + lbl_1_data_5DC[3][1]); - HuSprBankSet(var_r30, 0x51, 0); - HuSprAttrReset(var_r30, 0x52, HUSPR_ATTR_DISPOFF); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 0x53, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, var_r31 + 0x57, HUSPR_ATTR_DISPOFF); - } - for (var_r31 = 0; var_r31 < 5; var_r31++) { - HuWinPosSet(lbl_1_bss_35BC[0].unk_44[var_r31], 100.0f, -500.0f + (lbl_1_data_5DC[var_r31][1] - 21.0f)); - } - for (var_r31 = 0; var_r31 < 5; var_r31++) { - lbl_1_bss_35BC[1].unk_08[var_r31] = lbl_1_bss_35BC[1].unk_1C[var_r31] = 0; - } - lbl_1_bss_35BC[1].unk_1C[1] = 0x14; - HuSprBankSet(var_r30, 0x4A, 0); - HuSprBankSet(var_r30, 0x4C, 0); - HuSprBankSet(var_r30, 0x4B, 2); - HuSprBankSet(var_r30, 0x4D, 2); - HuSprGrpPosSet(var_r30, 0.0f, -500.0f); -} - -void fn_1_19C98(omObjData *arg0, MentDllUnkBss35BCStruct *arg1) -{ - float sp8[2]; - float var_f31; - float var_f30; - float var_f29; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - - var_r26 = 0; - var_r30 = lbl_1_bss_35BC[0].unk_3C; - { - s32 sp10[4][4] = { - { 0x106, 0x106, 0x106, 0x106 }, - { 0x13A, 0x133, 0x175, 0x175 }, - { 0x16E, 0x175, 0x133, 0x1A2 }, - { 0x1A2, 0x1A2, 0x1A2, 0x133 }, - }; - lbl_1_bss_35BC[0].unk_08[3] = 0; - var_r27 = arg1->unk_08[0]; - sp8[0] = HuSprData[HuSprGrpData[var_r30].members[3]].x; - sp8[1] = HuSprData[HuSprGrpData[var_r30].members[4]].x; - if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_A) != 0) { - arg1->unk_08[0]++; - HuAudFXPlay(2); - if (arg1->unk_08[0] > 4) { - lbl_1_bss_35BC[0].unk_08[1] = 1; - arg1->unk_08[0] = 4; - fn_1_1C674(); - } - lbl_1_bss_35BC[0].unk_08[3] = 1; - } - else if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_B) != 0) { - arg1->unk_08[0]--; - HuAudFXPlay(3); - if (arg1->unk_08[0] < 0) { - lbl_1_bss_35BC[0].unk_08[1] = -1; - arg1->unk_08[0] = 0; - fn_1_1C674(); - } - lbl_1_bss_35BC[0].unk_08[3] = 1; - } - else if ((HuPadStkX[lbl_1_bss_3114->unk_6C] >= 5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_RIGHT) != 0)) { - var_r26 = 1; - lbl_1_bss_35BC[0].unk_08[3] = 1; - HuAudFXPlay(0); - switch (arg1->unk_08[0]) { - case 0: - arg1->unk_1C[0] += 1; - if (arg1->unk_1C[0] > 3) { - arg1->unk_1C[0] = 0; - } - break; - case 1: - arg1->unk_1C[1] += 5; - if (arg1->unk_1C[1] > 0x32) { - arg1->unk_1C[1] = 0xA; - } - break; - case 2: - if (lbl_1_bss_A8[6] == 1) { - arg1->unk_1C[2]++; - if (arg1->unk_1C[2] > 2) { - arg1->unk_1C[2] = 0; - } - } - else { - arg1->unk_1C[2]++; - if (arg1->unk_1C[2] > 1) { - arg1->unk_1C[2] = 0; - } - } - break; - case 3: - arg1->unk_1C[3]++; - if (arg1->unk_1C[3] > 1) { - arg1->unk_1C[3] = 0; - } - break; - case 4: - arg1->unk_1C[4] += 1; - if (arg1->unk_1C[4] > 3) { - arg1->unk_1C[4] = 0; - } - break; - } - } - else if ((HuPadStkX[lbl_1_bss_3114->unk_6C] <= -5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_LEFT) != 0)) { - var_r26 = -1; - lbl_1_bss_35BC[0].unk_08[3] = 1; - HuAudFXPlay(0); - switch (arg1->unk_08[0]) { - case 0: - arg1->unk_1C[0] -= 1; - if (arg1->unk_1C[0] < 0) { - arg1->unk_1C[0] = 3; - } - break; - case 1: - arg1->unk_1C[1] -= 5; - if (arg1->unk_1C[1] < 0xA) { - arg1->unk_1C[1] = 0x32; - } - break; - case 2: - if (lbl_1_bss_A8[6] == 1) { - arg1->unk_1C[2]--; - if (arg1->unk_1C[2] < 0) { - arg1->unk_1C[2] = 2; - } - } - else { - arg1->unk_1C[2]--; - if (arg1->unk_1C[2] < 0) { - arg1->unk_1C[2] = 1; - } - } - break; - case 3: - arg1->unk_1C[3]--; - if (arg1->unk_1C[3] < 0) { - arg1->unk_1C[3] = 1; - } - break; - case 4: - arg1->unk_1C[4] -= 1; - if (arg1->unk_1C[4] < 0) { - arg1->unk_1C[4] = 3; - } - break; - } - } - else if (arg1->unk_08[0] == 4) { - if ((HuPadStkY[lbl_1_bss_3114->unk_6C] >= 0x1E) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_UP) != 0)) { - lbl_1_bss_35BC[0].unk_08[3] = 1; - HuAudFXPlay(0); - for (var_r29 = 0; var_r29 <= 0xA; var_r29++) { - fn_1_4D8(); - if (var_r29 <= 5) { - var_f29 = fn_1_32C(0.0f, 10.0f, var_r29, 5.0f); - } - else { - var_f29 = fn_1_32C(10.0f, 0.0f, var_r29 - 5, 5.0f); - } - HuSprPosSet(var_r30, 5, lbl_1_data_5DC[arg1->unk_1C[4]][0], (lbl_1_data_5DC[4][1] - 48.0f) - var_f29); - if (var_r29 == 3) { - arg1->unk_08[arg1->unk_1C[4] + 1]--; - if (arg1->unk_08[arg1->unk_1C[4] + 1] < 0) { - arg1->unk_08[arg1->unk_1C[4] + 1] = 9; - } - HuSprBankSet(var_r30, arg1->unk_1C[4] + 0x33, arg1->unk_08[arg1->unk_1C[4] + 1]); - HuSprBankSet(var_r30, arg1->unk_1C[4] + 0x43, arg1->unk_08[arg1->unk_1C[4] + 1]); - } - } - } - else if ((HuPadStkY[lbl_1_bss_3114->unk_6C] <= -0x1E) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 4) != 0)) { - lbl_1_bss_35BC[0].unk_08[3] = 1; - HuAudFXPlay(0); - for (var_r29 = 0; var_r29 <= 0xA; var_r29++) { - fn_1_4D8(); - if (var_r29 <= 5) { - var_f29 = fn_1_32C(0.0f, 10.0f, var_r29, 5.0f); - } - else { - var_f29 = fn_1_32C(10.0f, 0.0f, var_r29 - 5, 5.0f); - } - HuSprPosSet(var_r30, 6, lbl_1_data_5DC[arg1->unk_1C[4]][0], 49.0f + lbl_1_data_5DC[4][1] + var_f29); - if (var_r29 == 3) { - arg1->unk_08[arg1->unk_1C[4] + 1]++; - if (arg1->unk_08[arg1->unk_1C[4] + 1] > 9) { - arg1->unk_08[arg1->unk_1C[4] + 1] = 0; - } - HuSprBankSet(var_r30, arg1->unk_1C[4] + 0x33, arg1->unk_08[arg1->unk_1C[4] + 1]); - HuSprBankSet(var_r30, arg1->unk_1C[4] + 0x43, arg1->unk_08[arg1->unk_1C[4] + 1]); - } - } - } - } - if (var_r26 != 0) { - for (var_r29 = 0; var_r29 <= 0xA; var_r29++) { - fn_1_4D8(); - if (var_r29 <= 5) { - var_f31 = fn_1_32C(0.0f, 10.0f, var_r29, 5.0f); - var_f30 = fn_1_32C(1.0f, 0.0f, var_r29, 5.0f); - } - else { - var_f31 = fn_1_32C(10.0f, 0.0f, var_r29 - 5, 5.0f); - var_f30 = fn_1_32C(0.0f, 1.0f, var_r29 - 5, 5.0f); - } - if (arg1->unk_08[0] != 4) { - if (var_r26 == 1) { - HuSprPosSet(var_r30, 4, var_f31 + lbl_1_data_5DC[arg1->unk_08[0]][4], lbl_1_data_5DC[arg1->unk_08[0]][1]); - } - else { - HuSprPosSet(var_r30, 3, lbl_1_data_5DC[arg1->unk_08[0]][3] - var_f31, lbl_1_data_5DC[arg1->unk_08[0]][1]); - } - } - switch (arg1->unk_08[0]) { - case 0: - var_r27 = arg1->unk_1C[0] - var_r26; - if (var_r27 > 3) { - var_r27 = 0; - } - else if (var_r27 < 0) { - var_r27 = 3; - } - if (arg1->unk_1C[0] != 0) { - var_f30 = fn_1_32C(0.0f, 1.0f, var_r29, 10.0f); - } - else { - var_f30 = fn_1_32C(1.0f, 0.0f, var_r29, 10.0f); - } - HuSprScaleSet(var_r30, 0x47, var_f30, var_f30); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - var_f31 = fn_1_32C( - sp10[lbl_1_bss_3114[var_r28].unk_58][var_r27], sp10[lbl_1_bss_3114[var_r28].unk_58][arg1->unk_1C[0]], var_r29, 10.0f); - HuSprPosSet(var_r30, lbl_1_bss_3114[var_r28].unk_68 + 7, var_f31, lbl_1_data_5DC[0][1]); - HuSprPosSet(var_r30, lbl_1_bss_3114[var_r28].unk_68 + 0xF, 1.0f + var_f31, 2.0f + lbl_1_data_5DC[0][1]); - if (lbl_1_bss_3114[var_r28].unk_60 != 0) { - HuSprPosSet(var_r30, var_r28 + 0x1B, var_f31, 21.0f + lbl_1_data_5DC[0][1]); - } - else { - HuSprPosSet(var_r30, var_r28 + 0x17, var_f31 - 8.0f, lbl_1_data_5DC[0][1] - 21.0f); - } - } - break; - case 1: - if (var_r26 == 1) { - #if VERSION_NTSC - HuSprPosSet(var_r30, 0x48, 366.0f + var_f31, lbl_1_data_5DC[1][1]); - HuSprPosSet(var_r30, 0x49, 367.0f + var_f31, 2.0f + lbl_1_data_5DC[1][1]); - #endif - HuSprPosSet(var_r30, 0x4A, POSX1 + var_f31, lbl_1_data_5DC[1][1]); - HuSprPosSet(var_r30, 0x4C, POSX1+1 + var_f31, 2.0f + lbl_1_data_5DC[1][1]); - HuSprPosSet(var_r30, 0x4B, POSX2 + var_f31, lbl_1_data_5DC[1][1]); - HuSprPosSet(var_r30, 0x4D, POSX2+1 + var_f31, 2.0f + lbl_1_data_5DC[1][1]); - } - else { - #if VERSION_NTSC - HuSprPosSet(var_r30, 0x48, 366.0f - var_f31, lbl_1_data_5DC[1][1]); - HuSprPosSet(var_r30, 0x49, 367.0f - var_f31, 2.0f + lbl_1_data_5DC[1][1]); - #endif - HuSprPosSet(var_r30, 0x4A, POSX1 - var_f31, lbl_1_data_5DC[1][1]); - HuSprPosSet(var_r30, 0x4C, POSX1+1 - var_f31, 2.0f + lbl_1_data_5DC[1][1]); - HuSprPosSet(var_r30, 0x4B, POSX2 - var_f31, lbl_1_data_5DC[1][1]); - HuSprPosSet(var_r30, 0x4D, POSX2+1 - var_f31, 2.0f + lbl_1_data_5DC[1][1]); - } - #if VERSION_NTSC - HuSprScaleSet(var_r30, 0x48, 1.0f, var_f30); - HuSprScaleSet(var_r30, 0x49, 1.0f, var_f30); - #endif - HuSprScaleSet(var_r30, 0x4A, 1.0f, var_f30); - HuSprScaleSet(var_r30, 0x4C, 1.0f, var_f30); - HuSprScaleSet(var_r30, 0x4B, 1.0f, var_f30); - HuSprScaleSet(var_r30, 0x4D, 1.0f, var_f30); - break; - case 2: - if (var_r26 == 1) { - HuSprPosSet(var_r30, 0x4E, 340.0f + var_f31, lbl_1_data_5DC[2][1]); - HuSprPosSet(var_r30, 0x4F, 341.0f + var_f31, 2.0f + lbl_1_data_5DC[2][1]); - } - else { - HuSprPosSet(var_r30, 0x4E, 340.0f - var_f31, lbl_1_data_5DC[2][1]); - HuSprPosSet(var_r30, 0x4F, 341.0f - var_f31, 2.0f + lbl_1_data_5DC[2][1]); - } - HuSprScaleSet(var_r30, 0x4E, 1.0f, var_f30); - HuSprScaleSet(var_r30, 0x4F, 1.0f, var_f30); - break; - case 3: - if (var_r26 == 1) { - HuSprPosSet(var_r30, 0x50, 340.0f + var_f31, lbl_1_data_5DC[3][1]); - HuSprPosSet(var_r30, 0x51, 341.0f + var_f31, 2.0f + lbl_1_data_5DC[3][1]); - } - else { - HuSprPosSet(var_r30, 0x50, 340.0f - var_f31, lbl_1_data_5DC[3][1]); - HuSprPosSet(var_r30, 0x51, 341.0f - var_f31, 2.0f + lbl_1_data_5DC[3][1]); - } - HuSprScaleSet(var_r30, 0x50, 1.0f, var_f30); - HuSprScaleSet(var_r30, 0x51, 1.0f, var_f30); - break; - case 4: - var_f31 = fn_1_32C(sp8[0], lbl_1_data_5DC[arg1->unk_1C[4]][0] - 32.0f, var_r29, 10.0f); - HuSprPosSet(var_r30, 3, var_f31, lbl_1_data_5DC[4][1]); - var_f31 = fn_1_32C(sp8[1], 33.0f + lbl_1_data_5DC[arg1->unk_1C[4]][0], var_r29, 10.0f); - HuSprPosSet(var_r30, 4, var_f31, lbl_1_data_5DC[4][1]); - var_f31 = fn_1_32C(32.0f + sp8[0], lbl_1_data_5DC[arg1->unk_1C[4]][0], var_r29, 10.0f); - HuSprPosSet(var_r30, 5, var_f31, lbl_1_data_5DC[4][1] - 48.0f); - HuSprPosSet(var_r30, 6, var_f31, 49.0f + lbl_1_data_5DC[4][1]); - if (var_r29 == 3) { - for (var_r28 = 0; var_r28 < 4; var_r28++) { - HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r28].unk_68 + 0x37, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(var_r30, var_r28 + 0x3F, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(var_r30, var_r28 + 0x43, HUSPR_ATTR_DISPOFF); - } - HuSprAttrReset(var_r30, lbl_1_bss_3114[arg1->unk_1C[4]].unk_68 + 0x37, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, arg1->unk_1C[4] + 0x3F, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, arg1->unk_1C[4] + 0x43, HUSPR_ATTR_DISPOFF); - } - break; - } - if (var_r29 == 6) { - switch (arg1->unk_08[0]) { - case 1: - HuSprBankSet(var_r30, 0x4A, arg1->unk_1C[1] % 10); - HuSprBankSet(var_r30, 0x4C, arg1->unk_1C[1] % 10); - HuSprBankSet(var_r30, 0x4B, arg1->unk_1C[1] / 10); - HuSprBankSet(var_r30, 0x4D, arg1->unk_1C[1] / 10); - break; - case 2: - HuSprBankSet(var_r30, 0x4E, arg1->unk_1C[2]); - HuSprBankSet(var_r30, 0x4F, arg1->unk_1C[2]); - break; - case 3: - HuSprBankSet(var_r30, 0x50, arg1->unk_1C[3]); - HuSprBankSet(var_r30, 0x51, arg1->unk_1C[3]); - break; - } - } - } - } - else if (var_r27 != arg1->unk_08[0]) { - for (var_r29 = 0; var_r29 <= 0xA; var_r29++) { - fn_1_4D8(); - var_f29 = fn_1_32C(lbl_1_data_5DC[var_r27][1], lbl_1_data_5DC[arg1->unk_08[0]][1], var_r29, 10.0f); - var_f30 = fn_1_32C(lbl_1_data_5DC[var_r27][2], lbl_1_data_5DC[arg1->unk_08[0]][2], var_r29, 10.0f); - HuSprPosSet(var_r30, 2, 288.0f, var_f29); - HuSprScaleSet(var_r30, 2, 1.0f, var_f30); - if (arg1->unk_08[0] != 4) { - var_f31 = fn_1_32C(sp8[0], lbl_1_data_5DC[arg1->unk_08[0]][3], var_r29, 10.0f); - HuSprPosSet(var_r30, 3, var_f31, var_f29); - var_f31 = fn_1_32C(sp8[1], lbl_1_data_5DC[arg1->unk_08[0]][4], var_r29, 10.0f); - HuSprPosSet(var_r30, 4, var_f31, var_f29); - var_f30 = fn_1_32C(1.0f, 0.0f, var_r29, 10.0f); - HuSprTPLvlSet(var_r30, 5, var_f30); - HuSprTPLvlSet(var_r30, 6, var_f30); - var_f29 = fn_1_32C(0.0f, 20.0f, var_r29, 10.0f); - HuSprPosSet(var_r30, 5, lbl_1_data_5DC[arg1->unk_1C[4]][0], (lbl_1_data_5DC[4][1] - var_f29) - 48.0f); - HuSprPosSet(var_r30, 6, lbl_1_data_5DC[arg1->unk_1C[4]][0], 49.0f + (lbl_1_data_5DC[4][1] + var_f29)); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r28].unk_68 + 0x37, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(var_r30, var_r28 + 0x3F, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(var_r30, var_r28 + 0x43, HUSPR_ATTR_DISPOFF); - } - } - else { - var_f31 = fn_1_32C(sp8[0], lbl_1_data_5DC[arg1->unk_1C[4]][0] - 32.0f, var_r29, 10.0f); - HuSprPosSet(var_r30, 3, var_f31, var_f29); - var_f31 = fn_1_32C(sp8[1], 33.0f + lbl_1_data_5DC[arg1->unk_1C[4]][0], var_r29, 10.0f); - HuSprPosSet(var_r30, 4, var_f31, var_f29); - HuSprAttrReset(var_r30, 5, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, 6, HUSPR_ATTR_DISPOFF); - var_f30 = fn_1_32C(0.0f, 1.0f, var_r29, 10.0f); - HuSprTPLvlSet(var_r30, 5, var_f30); - HuSprTPLvlSet(var_r30, 6, var_f30); - var_f29 = fn_1_32C(20.0f, 0.0f, var_r29, 10.0f); - HuSprPosSet(var_r30, 5, lbl_1_data_5DC[arg1->unk_1C[4]][0], (lbl_1_data_5DC[4][1] - var_f29) - 48.0f); - HuSprPosSet(var_r30, 6, lbl_1_data_5DC[arg1->unk_1C[4]][0], 49.0f + (lbl_1_data_5DC[4][1] + var_f29)); - if (var_r29 == 3) { - HuSprAttrReset(var_r30, lbl_1_bss_3114[arg1->unk_1C[4]].unk_68 + 0x37, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, arg1->unk_1C[4] + 0x3F, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, arg1->unk_1C[4] + 0x43, HUSPR_ATTR_DISPOFF); - } - } - } - if (arg1->unk_08[0] != 4) { - HuSprAttrSet(var_r30, 5, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(var_r30, 6, HUSPR_ATTR_DISPOFF); - } - } - lbl_1_bss_35BC[0].unk_08[3] = 0; - } -} - -#undef POSX2 -#undef POSX1 - -void fn_1_1BB2C(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - AnimData *var_r28; - AnimData *var_r26; - AnimData *var_r25; - - s32 sp8[4][2] = { - { 0x00000070, 0x00000060 }, - { 0x000001D2, 0x00000060 }, - { 0x00000070, 0x0000012D }, - { 0x000001D2, 0x0000012D }, - }; - var_r29 = HuSprGrpCreate(0x5B); - arg0->unk_3C = var_r29; - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3D)), 0x7C6, 0); - HuSprGrpMemberSet(var_r29, 0, var_r30); - HuSprPosSet(var_r29, 0, 288.0f, 54.0f); - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3F)), 0x7C6, 0); - HuSprGrpMemberSet(var_r29, 1, var_r30); - HuSprPosSet(var_r29, 1, 288.0f, 54.0f); - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x41)), 0x7BC, 0); - HuSprGrpMemberSet(var_r29, 2, var_r30); - var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x42)); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = HuSprCreate(var_r28, 0, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 3, var_r30); - HuSprBankSet(var_r29, var_r31 + 3, var_r31); - } - var_r25 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x39)); - for (var_r31 = 0; var_r31 < 8; var_r31++) { - var_r28 = HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MENT, 0x31)); - var_r26 = HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MENT, 0x4E)); - var_r30 = HuSprCreate(var_r28, 0x3E8, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 7, var_r30); - var_r30 = HuSprCreate(var_r25, 0x3F2, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0xF, var_r30); - var_r30 = HuSprCreate(var_r28, 0x3E8, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x1F, var_r30); - var_r30 = HuSprCreate(var_r25, 0x3F2, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x27, var_r30); - var_r30 = HuSprCreate(var_r26, 0x3DE, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x37, var_r30); - } - var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3A)); - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3B)); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = HuSprCreate(var_r28, 0x3DE, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x17, var_r30); - var_r30 = HuSprCreate(var_r26, 0x3DE, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x1B, var_r30); - } - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x43)), 0x3DE, 0); - HuSprGrpMemberSet(var_r29, 0x47, var_r30); - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x44)), 0x3E8, 0); - HuSprGrpMemberSet(var_r29, 0x48, var_r30); - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x46)), 0x3F2, 0); - HuSprGrpMemberSet(var_r29, 0x49, var_r30); - var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x45)); - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x47)); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r30 = HuSprCreate(var_r28, 0x3E8, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x4A, var_r30); - var_r30 = HuSprCreate(var_r26, 0x3F2, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x4C, var_r30); - } - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x48)), 0x3E8, 0); - HuSprGrpMemberSet(var_r29, 0x4E, var_r30); - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x49)), 0x3F2, 0); - HuSprGrpMemberSet(var_r29, 0x4F, var_r30); - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x4A)), 0x3E8, 0); - HuSprGrpMemberSet(var_r29, 0x50, var_r30); - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x4B)), 0x3F2, 0); - HuSprGrpMemberSet(var_r29, 0x51, var_r30); - var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x4C)); - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x4D)); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = HuSprCreate(var_r28, 0x3DE, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x2F, var_r30); - var_r30 = HuSprCreate(var_r26, 0x3D4, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x33, var_r30); - } - var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x56)); - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x57)); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = HuSprCreate(var_r28, 0x3CA, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x3F, var_r30); - var_r30 = HuSprCreate(var_r26, 0x3C0, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x43, var_r30); - } - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x40)), 0x7D0, 0); - HuSprGrpMemberSet(var_r29, 0x52, var_r30); - HuSprTPLvlSet(var_r29, 0x52, 0.8f); - fn_1_6534(var_r29, 0x52, 288.0f, 240.0f); - var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x18)); - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x19)); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = HuSprCreate(var_r28, 0x7BC, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x53, var_r30); - HuSprBankSet(var_r29, var_r31 + 0x53, var_r31); - fn_1_6534(var_r29, var_r31 + 0x53, sp8[var_r31][0], sp8[var_r31][1]); - var_r30 = HuSprCreate(var_r26, 0x7C6, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x57, var_r30); - HuSprBankSet(var_r29, var_r31 + 0x57, var_r31); - HuSprTPLvlSet(var_r29, var_r31 + 0x57, 0.5f); - fn_1_6534(var_r29, var_r31 + 0x57, sp8[var_r31][0] + 1, sp8[var_r31][1] + 6); - } - for (var_r31 = 0; var_r31 < 5; var_r31++) { - arg0->unk_44[var_r31] = HuWinExCreateStyled(0.0f, 0.0f, 0xC8, 0xC8, -1, 1); - HuWinBGTPLvlSet(arg0->unk_44[var_r31], 0.0f); - HuWinMesSet(arg0->unk_44[var_r31], var_r31 + 0x1B0010); - HuWinMesSpeedSet(arg0->unk_44[var_r31], 0); - HuWinDispOn(arg0->unk_44[var_r31]); - winData[arg0->unk_44[var_r31]].mess_shadow_color = 0; - } - fn_1_190E8(); -} - -void fn_1_1C554(void) -{ - s32 var_r31; - s32 var_r30; - MentDllUnkBss35BCStruct *var_r29; - - var_r30 = lbl_1_bss_35BC[0].unk_3C; - var_r29 = &lbl_1_bss_35BC[1]; - HuSprAttrReset(var_r30, 2, HUSPR_ATTR_DISPOFF); - if (lbl_1_bss_35BC[1].unk_08[0] == 4) { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 3, HUSPR_ATTR_DISPOFF); - } - HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r29->unk_1C[4]].unk_68 + 0x37, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, var_r29->unk_1C[4] + 0x3F, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, var_r29->unk_1C[4] + 0x43, HUSPR_ATTR_DISPOFF); - return; - } - for (var_r31 = 0; var_r31 < 2; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 3, HUSPR_ATTR_DISPOFF); - } -} - -void fn_1_1C674(void) -{ - MentDllUnkBss35BCStruct *var_r31; - s32 var_r30; - s32 var_r29; - - var_r30 = lbl_1_bss_35BC[0].unk_3C; - var_r31 = &lbl_1_bss_35BC[1]; - HuSprAttrSet(var_r30, 2, HUSPR_ATTR_DISPOFF); - for (var_r29 = 0; var_r29 < 4; var_r29++) { - HuSprAttrSet(var_r30, var_r29 + 3, HUSPR_ATTR_DISPOFF); - } - HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r31->unk_1C[4]].unk_68 + 0x37, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(var_r30, var_r31->unk_1C[4] + 0x3F, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(var_r30, var_r31->unk_1C[4] + 0x43, HUSPR_ATTR_DISPOFF); -} - -void fn_1_1C754(void) -{ - float var_f31; - s32 var_r31; - MentDllUnkBss35BCStruct *var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - fn_1_190E8(); - var_r28 = lbl_1_bss_35BC[0].unk_3C; - var_r30 = &lbl_1_bss_35BC[1]; - HuSprAttrSet(var_r28, 2, 4); - for (var_r27 = 0; var_r27 < 4; var_r27++) { - HuSprAttrSet(var_r28, var_r27 + 3, 4); - } - HuSprAttrSet(var_r28, lbl_1_bss_3114[var_r30->unk_1C[4]].unk_68 + 0x37, 4); - HuSprAttrSet(var_r28, var_r30->unk_1C[4] + 0x3F, 4); - HuSprAttrSet(var_r28, var_r30->unk_1C[4] + 0x43, 4); - for (var_r31 = 0; var_r31 <= 60; var_r31++) { - fn_1_4D8(); - if (var_r31 <= 0x32) { - var_f31 = fn_1_32C(-500.0f, 10.0f, var_r31, 50.0f); - } - else { - var_f31 = fn_1_254(10.0f, 0.0f, var_r31 - 0x32, 10.0f); - } - HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_3C, 0.0f, var_f31); - for (var_r29 = 0; var_r29 < 5; var_r29++) { - HuWinPosSet(lbl_1_bss_35BC->unk_44[var_r29], 100.0f, lbl_1_data_5DC[var_r29][1] - 21.0f + var_f31); - } - } -} - -void fn_1_1C990(void) -{ - float var_f31; - s32 var_r31; - MentDllUnkBss35BCStruct *var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - var_r28 = lbl_1_bss_35BC[0].unk_3C; - var_r30 = &lbl_1_bss_35BC[1]; - HuSprAttrSet(var_r28, 2, 4); - for (var_r27 = 0; var_r27 < 4; var_r27++) { - HuSprAttrSet(var_r28, var_r27 + 3, 4); - } - HuSprAttrSet(var_r28, lbl_1_bss_3114[var_r30->unk_1C[4]].unk_68 + 0x37, 4); - HuSprAttrSet(var_r28, var_r30->unk_1C[4] + 0x3F, 4); - HuSprAttrSet(var_r28, var_r30->unk_1C[4] + 0x43, 4); - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - fn_1_4D8(); - if (var_r31 <= 0xA) { - var_f31 = fn_1_32C(0.0f, 10.0f, var_r31, 10.0f); - } - else { - var_f31 = fn_1_254(10.0f, -500.0f, var_r31 - 0xA, 50.0f); - } - HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_3C, 0.0f, var_f31); - for (var_r29 = 0; var_r29 < 5; var_r29++) { - HuWinPosSet(lbl_1_bss_35BC->unk_44[var_r29], 100.0f, lbl_1_data_5DC[var_r29][1] - 21.0f + var_f31); - } - } -} - -void fn_1_1CBC8(void) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_35BC[0].unk_30; - for (var_r31 = 0; var_r31 < 0x22; var_r31++) { - HuSprAttrSet(var_r30, var_r31, HUSPR_ATTR_DISPOFF); - } - HuSprAttrReset(var_r30, 0, HUSPR_ATTR_DISPOFF); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 1, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, var_r31 + 5, HUSPR_ATTR_DISPOFF); - } - HuSprPosSet(var_r30, 0x1B, 288.0f, lbl_1_data_640[1][2]); - HuSprScaleSet(var_r30, 0x1B, 1.0f, 0.75f); - HuSprPosSet(var_r30, 0x1C, lbl_1_data_640[1][3], lbl_1_data_640[1][2]); - HuSprPosSet(var_r30, 0x1D, lbl_1_data_640[1][4], lbl_1_data_640[1][2]); - for (var_r31 = 0; var_r31 < 8; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 9, 0); - HuSprAttrReset(var_r30, var_r31 + 9, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, var_r31 + 0x11, HUSPR_ATTR_DISPOFF); - } - HuSprAttrReset(var_r30, 0x19, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, 0x1A, HUSPR_ATTR_DISPOFF); - HuSprBankSet(var_r30, 0x1E, 0); - HuSprAttrReset(var_r30, 0x1E, HUSPR_ATTR_DISPOFF); - HuSprBankSet(var_r30, 0x1F, 0); - HuSprAttrReset(var_r30, 0x1F, HUSPR_ATTR_DISPOFF); - HuSprBankSet(var_r30, 0x20, 0); - HuSprAttrReset(var_r30, 0x20, HUSPR_ATTR_DISPOFF); - HuSprBankSet(var_r30, 0x21, 0); - HuSprAttrReset(var_r30, 0x21, HUSPR_ATTR_DISPOFF); - for (var_r31 = 0; var_r31 < 3; var_r31++) { - HuWinPosSet(lbl_1_bss_35BC->unk_44[var_r31], 100.0f, lbl_1_data_640[var_r31][2] - 0x209); - } - lbl_1_bss_35BC[0].unk_08[0] = 1; - lbl_1_bss_35BC[0].unk_1C[0] = lbl_1_bss_35BC[0].unk_1C[0] = 0; - HuSprGrpPosSet(var_r30, 0.0f, -500.0f); -} - -void fn_1_1CF68(void) -{ - float var_f31; - float var_f30; - float var_f29; - s32 var_r31; - s32 var_r30; - - var_r31 = lbl_1_bss_35BC[0].unk_30; - for (var_r30 = 0; var_r30 < 8; var_r30++) { - HuSprBankSet(var_r31, var_r30 + 9, 0); - } - HuSprBankSet(var_r31, 0x19, 0); - HuSprBankSet(var_r31, 0x1A, 0); - HuSprPosSet(var_r31, 0x1B, 288.0f, lbl_1_data_640[1][2]); - HuSprScaleSet(var_r31, 0x1B, 1.0f, 0.75f); - HuSprPosSet(var_r31, 0x1C, lbl_1_data_640[1][3], lbl_1_data_640[1][2]); - HuSprPosSet(var_r31, 0x1D, lbl_1_data_640[1][4], lbl_1_data_640[1][2]); - for (var_r30 = 0; var_r30 <= 0xA; var_r30++) { - fn_1_4D8(); - if (var_r30 <= 5) { - var_f31 = fn_1_32C(1.0f, 0.0f, var_r30, 5.0f); - } - else { - var_f31 = fn_1_32C(0.0f, 1.0f, var_r30 - 5, 5.0f); - } - if (lbl_1_bss_3114->unk_68 != 0) { - var_f30 = fn_1_32C(lbl_1_data_640[lbl_1_bss_3114->unk_68 % 4][0], lbl_1_data_640[0][0], var_r30, 10.0f); - var_f29 = fn_1_32C(lbl_1_data_640[lbl_1_bss_3114->unk_68 / 4][1], lbl_1_data_640[0][1], var_r30, 10.0f); - HuSprPosSet(var_r31, 0x19, var_f30, var_f29); - HuSprPosSet(var_r31, 0x1A, var_f30, var_f29); - } - if (lbl_1_bss_35BC[0].unk_1C[0] != 0) { - HuSprScaleSet(var_r31, 0x1E, 1.0f, var_f31); - HuSprScaleSet(var_r31, 0x1F, 1.0f, var_f31); - } - if (lbl_1_bss_35BC[0].unk_1C[1] != 0) { - HuSprScaleSet(var_r31, 0x20, 1.0f, var_f31); - HuSprScaleSet(var_r31, 0x21, 1.0f, var_f31); - } - if (var_r30 == 6) { - HuSprBankSet(var_r31, 0x1E, 0); - HuSprBankSet(var_r31, 0x1F, 0); - HuSprBankSet(var_r31, 0x20, 0); - HuSprBankSet(var_r31, 0x21, 0); - } - } - lbl_1_bss_3114[0].unk_70[0] = lbl_1_bss_3114[0].unk_68 = 0; - lbl_1_bss_35BC[0].unk_08[0] = 1; - lbl_1_bss_35BC[0].unk_1C[0] = lbl_1_bss_35BC[0].unk_1C[1] = 0; -} - -void fn_1_1D4FC(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - AnimData *var_r27; - AnimData *var_r26; - - s32 sp8[4][2] = { - { 0x00000070, 0x00000037 }, - { 0x000001D2, 0x00000037 }, - { 0x00000070, 0x0000011A }, - { 0x000001D2, 0x0000011A }, - }; - arg0->unk_30 = var_r30 = (s16)HuSprGrpCreate(0x22); - var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x58)), 0x7D0, 0); - HuSprGrpMemberSet(var_r30, 0, var_r29); - HuSprTPLvlSet(var_r30, 0, 0.8f); - fn_1_6534(var_r30, 0, 288.0f, 240.0f); - var_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x18)); - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x19)); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r29 = HuSprCreate(var_r27, 0x7BC, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 1, var_r29); - HuSprBankSet(var_r30, var_r31 + 1, var_r31); - fn_1_6534(var_r30, var_r31 + 1, sp8[var_r31][0], sp8[var_r31][1]); - var_r29 = HuSprCreate(var_r26, 0x7C6, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 5, var_r29); - HuSprBankSet(var_r30, var_r31 + 5, var_r31); - HuSprTPLvlSet(var_r30, var_r31 + 5, 0.5f); - fn_1_6534(var_r30, var_r31 + 5, sp8[var_r31][0] + 1, sp8[var_r31][1] + 6); - } - var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x41)), 0x7BC, 0); - HuSprGrpMemberSet(var_r30, 0x1B, var_r29); - var_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x42)); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r29 = HuSprCreate(var_r27, 0, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 0x1C, var_r29); - HuSprBankSet(var_r30, var_r31 + 0x1C, var_r31); - } - var_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x22)); - for (var_r31 = 0; var_r31 < 8; var_r31++) { - var_r29 = HuSprCreate(HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MENT, 0x1A)), 0x3E8, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 9, var_r29); - HuSprPosSet(var_r30, var_r31 + 9, lbl_1_data_640[var_r31 % 4][0], lbl_1_data_640[var_r31 / 4][1]); - var_r29 = HuSprCreate(var_r27, 0x3F2, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 0x11, var_r29); - HuSprTPLvlSet(var_r30, var_r31 + 0x11, 0.5f); - HuSprPosSet(var_r30, var_r31 + 0x11, lbl_1_data_640[var_r31 % 4][0] + 1, lbl_1_data_640[var_r31 / 4][1] + 2); - } - var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x23)), 0, 0); - HuSprGrpMemberSet(var_r30, 0x19, var_r29); - HuSprPosSet(var_r30, 0x19, lbl_1_data_640[0][0], lbl_1_data_640[0][1]); - var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x28)), 0xA, 0); - HuSprGrpMemberSet(var_r30, 0x1A, var_r29); - HuSprPosSet(var_r30, 0x1A, lbl_1_data_640[0][0], lbl_1_data_640[0][1]); - var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x5D)), 0x3E8, 0); - HuSprGrpMemberSet(var_r30, 0x1E, var_r29); - HuSprPosSet(var_r30, 0x1E, 340.0f, lbl_1_data_640[1][2]); - var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x5E)), 0x3F2, 0); - HuSprGrpMemberSet(var_r30, 0x1F, var_r29); - HuSprTPLvlSet(var_r30, 0x1F, 0.5f); - HuSprPosSet(var_r30, 0x1F, 341.0f, lbl_1_data_640[1][2] + 2); - var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x48)), 0x3E8, 0); - HuSprGrpMemberSet(var_r30, 0x20, var_r29); - HuSprPosSet(var_r30, 0x20, 340.0f, lbl_1_data_640[2][2]); - var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x49)), 0x3F2, 0); - HuSprGrpMemberSet(var_r30, 0x21, var_r29); - HuSprTPLvlSet(var_r30, 0x21, 0.5f); - HuSprPosSet(var_r30, 0x21, 341.0f, lbl_1_data_640[2][2] + 2); - for (var_r31 = 0; var_r31 < 3; var_r31++) { - arg0->unk_44[var_r31] = HuWinExCreateStyled(0.0f, 0.0f, 0xC8, 0xC8, -1, 1); - HuWinBGTPLvlSet(arg0->unk_44[var_r31], 0.0f); - HuWinMesSet(arg0->unk_44[var_r31], var_r31 + 0x1B002D); - HuWinMesSpeedSet(arg0->unk_44[var_r31], 0); - HuWinDispOn(arg0->unk_44[var_r31]); - if (var_r31 == 0) { - HuWinDispOff(arg0->unk_44[var_r31]); - } - winData[arg0->unk_44[var_r31]].mess_shadow_color = 0; - } - fn_1_1CBC8(); -} - -void fn_1_1DED8() -{ - s32 var_r30; - s32 var_r31; - - var_r30 = lbl_1_bss_35BC[0].unk_30; - HuSprAttrReset(var_r30, 0x1B, HUSPR_ATTR_DISPOFF); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 0x1C, HUSPR_ATTR_DISPOFF); - } -} - -void fn_1_1DF48(void) -{ - s32 var_r30; - s32 var_r31; - - var_r30 = lbl_1_bss_35BC[0].unk_30; - HuSprAttrSet(var_r30, 0x1B, 4); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - HuSprAttrSet(var_r30, var_r31 + 0x1C, 4); - } -} - -void fn_1_1DFB8(void) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - fn_1_1CBC8(); - var_r28 = lbl_1_bss_35BC[0].unk_30; - HuSprAttrSet(var_r28, 0x1B, 4); - for (var_r29 = 0; var_r29 < 2; var_r29++) { - HuSprAttrSet(var_r28, var_r29 + 0x1C, 4); - } - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - fn_1_4D8(); - if (var_r31 <= 0x32) { - var_f31 = fn_1_32C(-500.0f, 10.0f, var_r31, 50.0f); - } - else { - var_f31 = fn_1_254(10.0f, 0.0f, var_r31 - 0x32, 10.0f); - } - HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_30, 0.0f, var_f31); - for (var_r30 = 0; var_r30 < 3; var_r30++) { - HuWinPosSet(lbl_1_bss_35BC[0].unk_44[var_r30], 100.0f, lbl_1_data_640[var_r30][2] - 0x15 + var_f31); - } - } -} - -void fn_1_1E1B4(void) -{ - float var_f31; - s32 var_r31; - MentDllUnkBss35BCStruct *var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - var_r28 = lbl_1_bss_35BC[0].unk_3C; - var_r30 = &lbl_1_bss_35BC[1]; - HuSprAttrSet(var_r28, 2, 4); - for (var_r27 = 0; var_r27 < 4; var_r27++) { - HuSprAttrSet(var_r28, var_r27 + 3, 4); - } - HuSprAttrSet(var_r28, lbl_1_bss_3114[var_r30->unk_1C[4]].unk_68 + 0x37, 4); - HuSprAttrSet(var_r28, var_r30->unk_1C[4] + 0x3F, 4); - HuSprAttrSet(var_r28, var_r30->unk_1C[4] + 0x43, 4); - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - fn_1_4D8(); - if (var_r31 <= 0xA) { - var_f31 = fn_1_32C(0.0f, 10.0f, var_r31, 10.0f); - } - else { - var_f31 = fn_1_254(10.0f, -500.0f, var_r31 - 0xA, 50.0f); - } - HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_30, 0.0f, var_f31); - for (var_r29 = 0; var_r29 < 3; var_r29++) { - HuWinPosSet(lbl_1_bss_35BC->unk_44[var_r29], 100.0f, lbl_1_data_640[var_r29][2] - 0x15 + var_f31); - } - } -} - -void fn_1_1E404(omObjData *arg0, MentDllUnkBss3114Struct *arg1) -{ - float var_f31; - float var_f30; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - - var_r28 = lbl_1_bss_35BC[0].unk_30; - var_r26 = 0; - var_r25 = 0; - var_r30 = arg1->unk_68 % 4; - var_r24 = var_r30; - var_r29 = arg1->unk_68 / 4; - var_r23 = var_r29; - if (arg1->unk_70[0] == 0) { - if (HuPadBtnDown[arg1->unk_6C] & PAD_BUTTON_A) { - arg1->unk_70[0] = 1; - HuSprBankSet(var_r28, arg1->unk_68 + 9, 1); - HuSprBankSet(var_r28, 0x19, 1); - HuSprBankSet(var_r28, 0x1A, 1); - HuAudFXPlay(arg1->unk_68 + 0x6D); - } - else { - if ((HuPadStkX[arg1->unk_6C] >= 5) || ((HuPadBtn[arg1->unk_6C] & 2) != 0)) { - var_r30++; - var_r26 = 1; - if (var_r30 > 3) { - var_r30 = 3; - } - } - else if ((HuPadStkX[arg1->unk_6C] <= -5) || ((HuPadBtn[arg1->unk_6C] & 1) != 0)) { - var_r30--; - var_r26 = -1; - if (var_r30 < 0) { - var_r30 = 0; - } - } - if ((HuPadStkY[arg1->unk_6C] <= -5) || ((HuPadBtn[arg1->unk_6C] & 4) != 0)) { - var_r29++; - var_r25 = 1; - if (var_r29 > 1) { - var_r29 = 1; - } - } - else if ((HuPadStkY[arg1->unk_6C] >= 5) || ((HuPadBtn[arg1->unk_6C] & 8) != 0)) { - var_r29--; - var_r25 = -1; - if (var_r29 < 0) { - var_r29 = 0; - } - } - } - } - else if ((HuPadBtnDown[arg1->unk_6C] & 0x200) != 0) { - arg1->unk_70[0] = 0; - HuSprBankSet(var_r28, arg1->unk_68 + 9, 0); - HuSprBankSet(var_r28, 0x19, 0); - HuSprBankSet(var_r28, 0x1A, 0); - HuAudFXPlay(3); - } - if (arg1->unk_68 != (var_r30 + (var_r29 * 4))) { - arg1->unk_68 = var_r30 + (var_r29 * 4); - HuAudFXPlay(0); - for (var_r27 = 0; var_r27 <= 0xA; var_r27++) { - fn_1_4D8(); - var_f31 = fn_1_32C(lbl_1_data_640[var_r24][0], lbl_1_data_640[var_r30][0], var_r27, 10.0f); - var_f30 = fn_1_32C(lbl_1_data_640[var_r23][1], lbl_1_data_640[var_r29][1], var_r27, 10.0f); - HuSprPosSet(var_r28, 0x19, var_f31, var_f30); - HuSprPosSet(var_r28, 0x1A, var_f31, var_f30); - } - } -} - -void fn_1_1E8A4(omObjData *arg0, MentDllUnkBss35BCStruct *arg1) -{ - float var_f31; - float var_f30; - float var_f29; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - - var_r30 = arg1->unk_30; - var_r28 = 0; - var_r27 = arg1->unk_08[0]; - lbl_1_bss_35BC[0].unk_08[3] = 0; - if (HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_A) { - lbl_1_bss_35BC[0].unk_08[3] = 1; - arg1->unk_08[0]++; - if (arg1->unk_08[0] > 2) { - arg1->unk_08[0] = 2; - lbl_1_bss_35BC[1].unk_08[1] = 1; - var_r24 = lbl_1_bss_35BC[0].unk_30; - HuSprAttrSet(var_r24, 0x1B, 4); - for (var_r26 = 0; var_r26 < 2; var_r26++) { - HuSprAttrSet(var_r24, var_r26 + 0x1C, 4); - } - } - HuAudFXPlay(2); - } - else if (HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_B) { - lbl_1_bss_35BC[0].unk_08[3] = 1; - arg1->unk_08[0]--; - if (arg1->unk_08[0] < 1) { - arg1->unk_08[0] = 1; - lbl_1_bss_35BC[1].unk_08[1] = -1; - var_r23 = lbl_1_bss_35BC[0].unk_30; - HuSprAttrSet(var_r23, 0x1B, 4); - for (var_r25 = 0; var_r25 < 2; var_r25++) { - HuSprAttrSet(var_r23, var_r25 + 0x1C, 4); - } - } - HuAudFXPlay(3); - } - else if ((HuPadStkX[lbl_1_bss_3114->unk_6C] >= 5) || (HuPadBtn[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_RIGHT)) { - var_r28 = 1; - lbl_1_bss_35BC[0].unk_08[3] = 1; - switch (arg1->unk_08[0]) { - case 1: - if (lbl_1_bss_A8[5] == 1) { - arg1->unk_1C[0] += 1; - if (arg1->unk_1C[0] > 4) { - arg1->unk_1C[0] = 0; - } - } - else { - arg1->unk_1C[0] += 1; - if (arg1->unk_1C[0] > 4) { - arg1->unk_1C[0] = 0; - } - if (arg1->unk_1C[0] == 3) { - arg1->unk_1C[0] = 4; - } - } - break; - case 2: - if (lbl_1_bss_A8[6] == 1) { - arg1->unk_1C[1]++; - if (arg1->unk_1C[1] > 2) { - arg1->unk_1C[1] = 0; - } - } - else { - arg1->unk_1C[1]++; - if (arg1->unk_1C[1] > 1) { - arg1->unk_1C[1] = 0; - } - } - break; - } - HuAudFXPlay(0); - } - else if ((HuPadStkX[lbl_1_bss_3114->unk_6C] <= -5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 1) != 0)) { - var_r28 = -1; - lbl_1_bss_35BC[0].unk_08[3] = 1; - switch (arg1->unk_08[0]) { - case 1: - if (lbl_1_bss_A8[5] == 1) { - arg1->unk_1C[0] -= 1; - if (arg1->unk_1C[0] < 0) { - arg1->unk_1C[0] = 4; - } - } - else { - arg1->unk_1C[0] -= 1; - if (arg1->unk_1C[0] < 0) { - arg1->unk_1C[0] = 4; - } - if (arg1->unk_1C[0] == 3) { - arg1->unk_1C[0] = 2; - } - } - break; - case 2: - if (lbl_1_bss_A8[6] == 1) { - arg1->unk_1C[1]--; - if (arg1->unk_1C[1] < 0) { - arg1->unk_1C[1] = 2; - } - } - else { - arg1->unk_1C[1]--; - if (arg1->unk_1C[1] < 0) { - arg1->unk_1C[1] = 1; - } - } - break; - } - HuAudFXPlay(0); - } - if (var_r27 != arg1->unk_08[0]) { - for (var_r29 = 0; var_r29 < 0xB; var_r29++) { - fn_1_4D8(); - var_f29 = fn_1_32C(lbl_1_data_640[var_r27][2], lbl_1_data_640[arg1->unk_08[0]][2], var_r29, 10.0f); - HuSprPosSet(var_r30, 0x1B, 288.0f, var_f29); - var_f31 = fn_1_32C(lbl_1_data_640[var_r27][3], lbl_1_data_640[arg1->unk_08[0]][3], var_r29, 10.0f); - HuSprPosSet(var_r30, 0x1C, var_f31, var_f29); - var_f31 = fn_1_32C(lbl_1_data_640[var_r27][4], lbl_1_data_640[arg1->unk_08[0]][4], var_r29, 10.0f); - HuSprPosSet(var_r30, 0x1D, var_f31, var_f29); - } - } - else if (var_r28 != 0) { - for (var_r29 = 0; var_r29 <= 0xA; var_r29++) { - fn_1_4D8(); - if (var_r29 <= 5) { - var_f31 = fn_1_32C(0.0f, 10.0f, var_r29, 5.0f); - var_f30 = fn_1_32C(1.0f, 0.0f, var_r29, 5.0f); - } - else { - var_f31 = fn_1_32C(10.0f, 0.0f, var_r29 - 5, 5.0f); - var_f30 = fn_1_32C(0.0f, 1.0f, var_r29 - 5, 5.0f); - } - if (var_r28 == 1) { - HuSprPosSet(var_r30, 0x1D, var_f31 + lbl_1_data_640[arg1->unk_08[0]][4], lbl_1_data_640[arg1->unk_08[0]][2]); - } - else { - HuSprPosSet(var_r30, 0x1C, lbl_1_data_640[arg1->unk_08[0]][3] - var_f31, lbl_1_data_640[arg1->unk_08[0]][2]); - } - switch (arg1->unk_08[0]) { - case 1: - if (var_r28 == 1) { - HuSprPosSet(var_r30, 0x1E, 340.0f + var_f31, lbl_1_data_640[1][2]); - HuSprPosSet(var_r30, 0x1F, 340.0f + var_f31, lbl_1_data_640[1][2] + 2); - } - else { - HuSprPosSet(var_r30, 0x1E, 341.0f - var_f31, lbl_1_data_640[1][2]); - HuSprPosSet(var_r30, 0x1F, 341.0f - var_f31, lbl_1_data_640[1][2] + 2); - } - HuSprScaleSet(var_r30, 0x1E, 1.0f, var_f30); - HuSprScaleSet(var_r30, 0x1F, 1.0f, var_f30); - break; - case 2: - if (var_r28 == 1) { - HuSprPosSet(var_r30, 0x20, 340.0f + var_f31, lbl_1_data_640[2][2]); - HuSprPosSet(var_r30, 0x21, 340.0f + var_f31, lbl_1_data_640[2][2] + 2); - } - else { - HuSprPosSet(var_r30, 0x20, 341.0f - var_f31, lbl_1_data_640[2][2]); - HuSprPosSet(var_r30, 0x21, 341.0f - var_f31, lbl_1_data_640[2][2] + 2); - } - HuSprScaleSet(var_r30, 0x20, 1.0f, var_f30); - HuSprScaleSet(var_r30, 0x21, 1.0f, var_f30); - break; - } - if (var_r29 == 6) { - switch (arg1->unk_08[0]) { - case 1: - HuSprBankSet(var_r30, 0x1E, arg1->unk_1C[0]); - HuSprBankSet(var_r30, 0x1F, arg1->unk_1C[0]); - break; - case 2: - HuSprBankSet(var_r30, 0x20, arg1->unk_1C[1]); - HuSprBankSet(var_r30, 0x21, arg1->unk_1C[1]); - break; - } - } - } - } - lbl_1_bss_35BC[0].unk_08[3] = 0; -} - -void fn_1_1F5F0(void) -{ - s32 var_r31; - s32 var_r30; - - var_r31 = lbl_1_bss_35BC[0].unk_34; - for (var_r30 = 0; var_r30 < 9; var_r30++) { - HuSprAttrSet(var_r31, var_r30, HUSPR_ATTR_DISPOFF); - } - HuSprAttrReset(var_r31, 0, HUSPR_ATTR_DISPOFF); - HuSprBankSet(var_r31, 0, lbl_1_bss_35BC[0].unk_1C[0]); - HuSprAttrReset(var_r31, lbl_1_bss_3114->unk_68 + 1, HUSPR_ATTR_DISPOFF); - HuSprGrpPosSet(var_r31, 16.0f, -500.0f); -} - -void fn_1_1F6B8(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - var_r29 = HuSprGrpCreate(9); - arg0->unk_34 = var_r29; - var_r27 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x59)), 0x7D0, 0); - HuSprGrpMemberSet(var_r29, 0, var_r27); - fn_1_6534(var_r29, 0, 75.0f, 25.0f); - for (var_r31 = 0; var_r31 < 8; var_r31++) { - var_r27 = HuSprCreate(HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MENT, 0x31)), 0x3E8, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 1, var_r27); - HuSprPosSet(var_r29, var_r31 + 1, 24.0f, 25.0f); - } - var_r30 = lbl_1_bss_35BC[0].unk_34; - for (var_r28 = 0; var_r28 < 9; var_r28++) { - HuSprAttrSet(var_r30, var_r28, 4); - } - HuSprAttrReset(var_r30, 0, HUSPR_ATTR_DISPOFF); - HuSprBankSet(var_r30, 0, lbl_1_bss_35BC[0].unk_1C[0]); - HuSprAttrReset(var_r30, lbl_1_bss_3114->unk_68 + 1, HUSPR_ATTR_DISPOFF); - HuSprGrpPosSet(var_r30, 16.0f, -500.0f); -} - -void fn_1_1F868(void) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - - var_r30 = lbl_1_bss_35BC[0].unk_34; - for (var_r29 = 0; var_r29 < 9; var_r29++) { - HuSprAttrSet(var_r30, var_r29, HUSPR_ATTR_DISPOFF); - } - HuSprAttrReset(var_r30, 0, HUSPR_ATTR_DISPOFF); - HuSprBankSet(var_r30, 0, lbl_1_bss_35BC[0].unk_1C[0]); - HuSprAttrReset(var_r30, lbl_1_bss_3114->unk_68 + 1, HUSPR_ATTR_DISPOFF); - HuSprGrpPosSet(var_r30, 16.0f, -500.0f); - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - fn_1_4D8(); - if (var_r31 <= 0x32) { - var_f31 = fn_1_32C(-500.0f, 50.0f, var_r31, 50.0f); - } - else { - var_f31 = fn_1_254(50.0f, 40.0f, var_r31 - 0x32, 10.0f); - } - HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_34, 16.0f, var_f31); - } -} - -void fn_1_1FA34(void) -{ - float var_f31; - s32 var_r31; - - lbl_1_bss_35BC[0].unk_08[0] = -1; - lbl_1_bss_35BC[0].unk_04 = NULL; - for (var_r31 = 0; var_r31 <= 0x4B; var_r31++) { - fn_1_4D8(); - if (var_r31 <= 0xA) { - var_f31 = fn_1_32C(40.0f, 50.0f, var_r31, 10.0f); - } - else { - var_f31 = fn_1_254(50.0f, -500.0f, var_r31 - 0xA, 50.0f); - } - HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_34, 16.0f, var_f31); - if (var_r31 >= 0xF) { - var_f31 = fn_1_254(210.0f, -500.0f, var_r31 - 0xF, 60.0f); - HuSprGrpData[lbl_1_bss_35BC[0].unk_38].y = (s32)fn_1_234(HuSprGrpData[lbl_1_bss_35BC[0].unk_38].y, var_f31, 10.0f); - } - } -} - -void fn_1_1FC54(void) -{ - float var_f31; - s32 var_r31; - - lbl_1_bss_35BC[0].unk_08[0] = -1; - lbl_1_bss_35BC[0].unk_04 = NULL; - for (var_r31 = 0; var_r31 <= 0x28; var_r31++) { - fn_1_4D8(); - var_f31 = fn_1_254(40.0f, -500.0f, var_r31, 40.0f); - HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_34, 16.0f, var_f31); - var_f31 = fn_1_254(210.0f, -500.0f, var_r31, 40.0f); - HuSprGrpData[lbl_1_bss_35BC[0].unk_38].y = (s32)fn_1_234(HuSprGrpData[lbl_1_bss_35BC[0].unk_38].y, var_f31, 10.0f); - } -} - -void fn_1_1FE08(void) -{ - s32 sp8; - s32 var_r31; - s32 var_r30; - - sp8 = 0; - var_r30 = lbl_1_bss_35BC[0].unk_40; - for (var_r31 = 0; var_r31 < 0x13; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprBankSet(var_r30, var_r31, 0); - lbl_1_bss_3114[var_r31].unk_70[3] = lbl_1_bss_3114[var_r31].unk_60 = 0; - HuSprAttrReset(var_r30, var_r31, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, var_r31 + 4, HUSPR_ATTR_DISPOFF); - } - HuSprAttrReset(var_r30, 0xA, HUSPR_ATTR_DISPOFF); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 0xB, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, var_r31 + 0xF, HUSPR_ATTR_DISPOFF); - } - HuSprGrpPosSet(var_r30, 0.0f, -500.0f); -} - -void fn_1_1FF4C(omObjData *arg0, MentDllUnkBss35BCStruct *arg1) -{ - s32 sp8; - float var_f31; - float var_f30; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - - sp8 = 0; - var_r28 = lbl_1_bss_35BC[0].unk_40; - var_r29 = var_r27 = var_r26 = var_r25 = 0; - lbl_1_bss_35BC[0].unk_1C[0] = 0; - var_r29 = 1; - for (var_r30 = 1; var_r30 < 4; var_r30++) { - if (lbl_1_bss_3114[var_r30].unk_60 == 0) { - var_r29++; - } - } - var_r27 = 1; - for (var_r30 = 1; var_r30 < 4; var_r30++) { - if (HuPadStatGet(var_r30) != -1) { - var_r27++; - } - } - if (var_r27 >= 2) { - fn_1_208F4(); - if ((HuPadStkX[lbl_1_bss_3114->unk_6C] >= 5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 2) != 0)) { - var_r29++; - var_r26 = 1; - } - else if ((HuPadStkX[lbl_1_bss_3114->unk_6C] <= -5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 1) != 0)) { - var_r29--; - var_r26 = -1; - } - } - else { - fn_1_20A24(); - } - if (var_r29 < 1) { - var_r29 = var_r27; - } - else if (var_r29 > var_r27) { - if (var_r26 == 0) { - var_r29 = var_r27; - var_r25 = 1; - } - else { - var_r29 = 1; - } - } - if ((var_r26 != 0) || (var_r25 != 0)) { - lbl_1_bss_35BC[0].unk_1C[0] = 1; - HuAudFXPlay(0); - for (var_r30 = 0; var_r30 <= 0xA; var_r30++) { - if (var_r30 <= 5) { - var_f30 = fn_1_32C(0.0f, 10.0f, var_r30, 5.0f); - var_f31 = fn_1_32C(1.0f, 0.0f, var_r30, 5.0f); - } - else { - var_f30 = fn_1_32C(10.0f, 0.0f, var_r30 - 5, 5.0f); - var_f31 = fn_1_32C(0.0f, 1.0f, var_r30 - 5, 5.0f); - } - if (var_r26 == 1) { - HuSprPosSet(var_r28, 9, (lbl_1_data_690[3][0] + 0x32) + var_f30, lbl_1_data_690[0][1]); - } - else if (var_r26 == -1) { - HuSprPosSet(var_r28, 8, (lbl_1_data_690[0][0] - 0x32) - var_f30, lbl_1_data_690[0][1]); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if ((var_r31 < var_r29) && (lbl_1_bss_3114[var_r31].unk_60 == 1)) { - lbl_1_bss_3114[var_r31].unk_70[3] = 0; - HuSprScaleSet(var_r28, var_r31, var_f31, 1.0f); - HuSprScaleSet(var_r28, var_r31 + 4, var_f31, 1.0f); - if (var_r30 == 5) { - HuSprBankSet(var_r28, var_r31, 0); - } - } - else if ((var_r31 >= var_r29) && (lbl_1_bss_3114[var_r31].unk_60 == 0)) { - lbl_1_bss_3114[var_r31].unk_70[3] = 1; - HuSprScaleSet(var_r28, var_r31, var_f31, 1.0f); - HuSprScaleSet(var_r28, var_r31 + 4, var_f31, 1.0f); - if (var_r30 == 5) { - HuSprBankSet(var_r28, var_r31, 1); - } - } - } - fn_1_4D8(); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (var_r31 < var_r29) { - lbl_1_bss_3114[var_r31].unk_60 = 0; - } - else { - lbl_1_bss_3114[var_r31].unk_60 = 1; - } - } - } - lbl_1_bss_35BC[0].unk_1C[0] = 0; -} - -void fn_1_2055C(s32 arg0) -{ - s32 spC; - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r28 = lbl_1_bss_35BC[0].unk_40; - if (arg0 == 0) { - spC = 0; - var_r30 = lbl_1_bss_35BC[0].unk_40; - for (var_r31 = 0; var_r31 < 0x13; var_r31++) { - HuSprAttrSet(var_r30, var_r31, HUSPR_ATTR_DISPOFF); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprBankSet(var_r30, var_r31, 0); - lbl_1_bss_3114[var_r31].unk_70[3] = lbl_1_bss_3114[var_r31].unk_60 = 0; - HuSprAttrReset(var_r30, var_r31, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, var_r31 + 4, HUSPR_ATTR_DISPOFF); - } - HuSprAttrReset(var_r30, 0xA, HUSPR_ATTR_DISPOFF); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 0xB, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r30, var_r31 + 0xF, HUSPR_ATTR_DISPOFF); - } - HuSprGrpPosSet(var_r30, 0.0f, -500.0f); - } - for (var_r29 = 0; var_r29 <= 0x3C; var_r29++) { - fn_1_4D8(); - if (var_r29 <= 0x32) { - var_f31 = fn_1_32C(-500.0f, 10.0f, var_r29, 50.0f); - } - else { - var_f31 = fn_1_254(10.0f, 2.06f, var_r29 - 0x32, 10.0f); - } - HuSprGrpPosSet(var_r28, 0.0f, var_f31); - } -} - -void fn_1_207BC(void) -{ - s32 spC; - s32 sp8; - float var_f31; - s32 var_r31; - s32 var_r30; - - spC = 0; - sp8 = 0; - var_r30 = lbl_1_bss_35BC[0].unk_40; - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - fn_1_4D8(); - if (var_r31 <= 0xA) { - var_f31 = fn_1_32C(2.06f, 10.0f, var_r31, 10.0f); - } - else { - var_f31 = fn_1_254(10.0f, -500.0f, var_r31 - 0xA, 50.0f); - } - HuSprGrpPosSet(var_r30, 0.0f, var_f31); - } -} - -void fn_1_208F4(void) -{ - s32 var_r31; - - var_r31 = lbl_1_bss_35BC[0].unk_40; - HuSprAttrReset(var_r31, 8, HUSPR_ATTR_DISPOFF); - HuSprPosSet(var_r31, 8, lbl_1_data_690[0][0] - 0x32, lbl_1_data_690[0][1]); - HuSprAttrReset(var_r31, 9, HUSPR_ATTR_DISPOFF); - HuSprPosSet(var_r31, 9, lbl_1_data_690[3][0] + 0x32, lbl_1_data_690[0][1]); -} - -void fn_1_20A24(void) -{ - s32 var_r31; - - var_r31 = lbl_1_bss_35BC[0].unk_40; - HuSprAttrSet(var_r31, 8, 4); - HuSprPosSet(var_r31, 8, lbl_1_data_690[0][0] - 0x32, lbl_1_data_690[0][1]); - HuSprAttrSet(var_r31, 9, 4); - HuSprPosSet(var_r31, 9, lbl_1_data_690[3][0] + 0x32, lbl_1_data_690[0][1]); -} - -void fn_1_20B54(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3) -{ - s32 sp8; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - AnimData *var_r26; - AnimData *var_r25; - - var_r29 = HuSprGrpCreate(0x13); - arg0->unk_40 = var_r29; - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x22)); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r28 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x16)), 0x3E8, 0); - HuSprGrpMemberSet(var_r29, var_r31, var_r28); - HuSprPosSet(var_r29, var_r31, lbl_1_data_690[var_r31 % 4][0], lbl_1_data_690[0][1]); - var_r28 = HuSprCreate(var_r26, 0x3F2, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 4, var_r28); - HuSprTPLvlSet(var_r29, var_r31 + 4, 0.5f); - HuSprPosSet(var_r29, var_r31 + 4, lbl_1_data_690[var_r31 % 4][0] + 1, lbl_1_data_690[0][1] + 2); - } - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x42)); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r28 = HuSprCreate(var_r26, 0, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 8, var_r28); - HuSprBankSet(var_r29, var_r31 + 8, var_r31); - } - var_r28 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x15)), 0x7D0, 0); - HuSprGrpMemberSet(var_r29, 0xA, var_r28); - HuSprTPLvlSet(var_r29, 0xA, 0.8f); - fn_1_6534(var_r29, 0xA, 288.0f, 240.0f); - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x18)); - var_r25 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x19)); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r28 = HuSprCreate(var_r26, 0x7BC, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0xB, var_r28); - HuSprBankSet(var_r29, var_r31 + 0xB, var_r31); - fn_1_6534(var_r29, var_r31 + 0xB, lbl_1_data_690[var_r31][2], lbl_1_data_690[var_r31][3]); - var_r28 = HuSprCreate(var_r25, 0x7C6, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0xF, var_r28); - HuSprBankSet(var_r29, var_r31 + 0xF, var_r31); - HuSprTPLvlSet(var_r29, var_r31 + 0xF, 0.5f); - fn_1_6534(var_r29, var_r31 + 0xF, lbl_1_data_690[var_r31][2] + 1, lbl_1_data_690[var_r31][3] + 6); - } - sp8 = 0; - var_r27 = lbl_1_bss_35BC[0].unk_40; - for (var_r30 = 0; var_r30 < 0x13; var_r30++) { - HuSprAttrSet(var_r27, var_r30, HUSPR_ATTR_DISPOFF); - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - HuSprBankSet(var_r27, var_r30, 0); - lbl_1_bss_3114[var_r30].unk_70[3] = lbl_1_bss_3114[var_r30].unk_60 = 0; - HuSprAttrReset(var_r27, var_r30, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r27, var_r30 + 4, HUSPR_ATTR_DISPOFF); - } - HuSprAttrReset(var_r27, 0xA, HUSPR_ATTR_DISPOFF); - for (var_r30 = 0; var_r30 < 4; var_r30++) { - HuSprAttrReset(var_r27, var_r30 + 0xB, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(var_r27, var_r30 + 0xF, HUSPR_ATTR_DISPOFF); - } - HuSprGrpPosSet(var_r27, 0.0f, -500.0f); -} - -void fn_1_21134(omObjData *object) -{ - float var_f31; - s32 var_r31; - MentDllUnkBss64Struct *var_r29; - - var_r29 = &lbl_1_bss_64; - for (var_r31 = 1; var_r31 < 0xA; var_r31++) { - if ((var_r29->zoom <= 1200.0f) || (lbl_1_bss_16C4[var_r31].unk_1C == -200.0f)) { - if (lbl_1_bss_16C4[var_r31].unk_1C >= -100.0f) { - lbl_1_bss_16C4[var_r31].unk_00 = 0; - lbl_1_bss_16C4[var_r31].unk_1C = -200.0f; - lbl_1_bss_16C4[var_r31].unk_24 = -99.0f; - lbl_1_bss_16C4[var_r31].unk_04 = rand8() + 0xB4; - } - var_f31 = fn_1_254(lbl_1_bss_16C4[var_r31].unk_10, 1000.0f, lbl_1_bss_16C4[var_r31].unk_00++, lbl_1_bss_16C4[var_r31].unk_04); - Hu3DData[object->model[var_r31]].pos.y = fn_1_234(Hu3DData[object->model[var_r31]].pos.y, var_f31, 30.0f); - Hu3DData[object->model[var_r31]].pos.x - = fn_1_234(Hu3DData[object->model[var_r31]].pos.x, lbl_1_bss_16C4[var_r31].unk_18 + Hu3DData[object->model[var_r31]].pos.x, 5.0f); - } - } - for (var_r31 = 0xA; var_r31 < 0x8C; var_r31++) { - Hu3DData[object->model[var_r31]].pos.y = fn_1_3F4( - lbl_1_bss_16C4[var_r31].unk_10, lbl_1_bss_16C4[var_r31].unk_1C, lbl_1_bss_16C4[var_r31].unk_00++, lbl_1_bss_16C4[var_r31].unk_04); - if (lbl_1_bss_16C4[var_r31].unk_00 >= lbl_1_bss_16C4[var_r31].unk_04) { - lbl_1_bss_16C4[var_r31].unk_00 = 0; - } - } - for (var_r31 = 0xA; var_r31 < 0x8C; var_r31++) { - if ((lbl_1_bss_16C4[var_r31].unk_24 == 0.0f) && (lbl_1_bss_16C4[var_r31].unk_14 > (var_r29->zoom - 400.0f)) - && (lbl_1_bss_16C4[var_r31].unk_0C < (200.0f + var_r29->center.x)) && (lbl_1_bss_16C4[var_r31].unk_0C > (var_r29->center.x - 200.0f))) { - if (var_r29->center.x >= lbl_1_bss_16C4[var_r31].unk_0C) { - lbl_1_bss_16C4[var_r31].unk_24 = -300.0f; - } - else { - lbl_1_bss_16C4[var_r31].unk_24 = 300.0f; - } - } - if (lbl_1_bss_16C4[var_r31].unk_24 != -99.0f) { - Hu3DData[object->model[var_r31]].pos.x - = fn_1_234(Hu3DData[object->model[var_r31]].pos.x, lbl_1_bss_16C4[var_r31].unk_0C + lbl_1_bss_16C4[var_r31].unk_24, 30.0f); - } - } - if (object->work[0] == 1) { - for (var_r31 = 0xA; var_r31 < 0x8C; var_r31++) { - Hu3DModelAttrSet(object->model[var_r31], HU3D_ATTR_DISPOFF); - } - } -} - -void fn_1_21724(omObjData *object) -{ - float var_f31; - float var_f30; - float var_f29; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x08)); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x09)); - object->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x0A)); - object->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x0B)); - Hu3DModelLayerSet(object->model[1], 3); - Hu3DModelLayerSet(object->model[2], 3); - Hu3DModelLayerSet(object->model[3], 3); - Hu3DModelLayerSet(object->model[4], 3); - for (var_r30 = 5; var_r30 < 0x8C; var_r30++) { - object->model[var_r30] = Hu3DModelLink(object->model[rand8() % 4 + 1]); - } - for (var_r30 = 1; var_r30 < 0xA; var_r30++) { - var_r28 = 0; - do { - Hu3DData[object->model[var_r30]].pos.x = var_f31 = 50.0f + rand8(); - if ((var_r30 % 2) != 0) { - lbl_1_bss_16C4[var_r30].unk_0C = Hu3DData[object->model[var_r30]].pos.x *= -1.0f; - } - Hu3DData[object->model[var_r30]].pos.y = var_f30 = 50.0f + rand8(); - Hu3DData[object->model[var_r30]].pos.z = var_f29 = 750.0f + (var_r30 * 5); - for (var_r29 = 1; var_r29 < 0xA; var_r29++) { - if ((var_r30 != var_r29) && (lbl_1_bss_16C4[var_r29].unk_08 == 1)) { - var_f31 = Hu3DData[object->model[var_r30]].pos.x - Hu3DData[object->model[var_r29]].pos.x; - var_f30 = Hu3DData[object->model[var_r30]].pos.y - Hu3DData[object->model[var_r29]].pos.y; - var_f29 = Hu3DData[object->model[var_r30]].pos.z - Hu3DData[object->model[var_r29]].pos.z; - if (sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)) <= 100.0f) { - break; - } - } - } - var_r28++; - } while (var_r29 != 0xA && var_r28 < 0x32); - lbl_1_bss_16C4[var_r30].unk_08 = 1; - lbl_1_bss_16C4[var_r30].unk_0C = lbl_1_bss_16C4[var_r30].unk_18 = Hu3DData[object->model[var_r30]].pos.x; - lbl_1_bss_16C4[var_r30].unk_10 = lbl_1_bss_16C4[var_r30].unk_1C = Hu3DData[object->model[var_r30]].pos.y; - lbl_1_bss_16C4[var_r30].unk_14 = lbl_1_bss_16C4[var_r30].unk_20 = Hu3DData[object->model[var_r30]].pos.z; - lbl_1_bss_16C4[var_r30].unk_18 = 0.025f * lbl_1_bss_16C4[var_r30].unk_0C; - Hu3DModelScaleSet(object->model[var_r30], 0.5f, 0.5f, 0.5f); - Hu3DModelLayerSet(object->model[var_r30], 3); - } - for (var_r30 = 0xA; var_r30 < 0x8C; var_r30++) { - var_r28 = 0; - do { - Hu3DData[object->model[var_r30]].pos.x = var_f31 = rand8() * 2; - if ((var_r30 % 2) != 0) { - Hu3DData[object->model[var_r30]].pos.x *= -1.0f; - } - - Hu3DData[object->model[var_r30]].pos.y = var_f30 = (rand8() * 2) + 0x7D; - Hu3DData[object->model[var_r30]].pos.z = var_f29 = 800.0f + (var_r30 * 0xA); - for (var_r29 = 0xA; var_r29 < 0x8C; var_r29++) { - if ((var_r30 != var_r29) && (lbl_1_bss_16C4[var_r29].unk_08 == 1)) { - var_f31 = Hu3DData[object->model[var_r30]].pos.x - Hu3DData[object->model[var_r29]].pos.x; - var_f30 = Hu3DData[object->model[var_r30]].pos.y - Hu3DData[object->model[var_r29]].pos.y; - var_f29 = Hu3DData[object->model[var_r30]].pos.z - Hu3DData[object->model[var_r29]].pos.z; - if (sqrtf((var_f29 * var_f29) + ((var_f31 * var_f31) + (var_f30 * var_f30))) <= 100.0f) { - break; - } - } - } - var_r28++; - } while (var_r29 != 0x8C && var_r28 < 0x32); - - lbl_1_bss_16C4[var_r30].unk_08 = 1; - Hu3DModelLayerSet(object->model[var_r30], 3); - lbl_1_bss_16C4[var_r30].unk_0C = lbl_1_bss_16C4[var_r30].unk_18 = Hu3DData[object->model[var_r30]].pos.x; - lbl_1_bss_16C4[var_r30].unk_10 = lbl_1_bss_16C4[var_r30].unk_1C = Hu3DData[object->model[var_r30]].pos.y; - lbl_1_bss_16C4[var_r30].unk_14 = lbl_1_bss_16C4[var_r30].unk_20 = Hu3DData[object->model[var_r30]].pos.z; - if ((rand8() % 2) == 0) { - lbl_1_bss_16C4[var_r30].unk_18 += rand8() % 30; - } - else { - lbl_1_bss_16C4[var_r30].unk_18 -= rand8() % 30; - } - lbl_1_bss_16C4[var_r30].unk_1C += (rand8() % 30) + 0xA; - if ((rand8() % 2) == 0) { - lbl_1_bss_16C4[var_r30].unk_20 += rand8() % 30; - } - else { - lbl_1_bss_16C4[var_r30].unk_20 -= rand8() % 30; - } - lbl_1_bss_16C4[var_r30].unk_24 = lbl_1_bss_16C4[var_r30].unk_28 = lbl_1_bss_16C4[var_r30].unk_2C = 0.0f; - lbl_1_bss_16C4[var_r30].unk_04 = ((rand8() * 2) % 360) + 0x168; - lbl_1_bss_16C4[var_r30].unk_00 = rand8(); - } - object->func = fn_1_21134; -} - -void fn_1_225F4(omObjData *object) -{ - s32 var_r30; - - if (object->work[0] == 0) { - return; - } - for (var_r30 = 0; var_r30 < 0xC8; var_r30++) { - switch (lbl_1_bss_E4[var_r30].unk_04) { - case 0: - Hu3DData[object->model[var_r30]].pos.x = rand8() + rand8() % 50; - if ((var_r30 % 2) == 0) { - Hu3DData[object->model[var_r30]].pos.x *= -1.0f; - } - Hu3DData[object->model[var_r30]].pos.y = 500.0f + rand8() + rand8(); - Hu3DData[object->model[var_r30]].pos.z = 700.0f + rand8() % 128; - lbl_1_bss_E4[var_r30].unk_18 = 1.0f; - lbl_1_bss_E4[var_r30].unk_00 = (rand8() % 30) + 0x1E; - lbl_1_bss_E4[var_r30].unk_0C = 0.01f * (25.0f + (rand8() % 50)); - if ((rand8() % 2) == 0) { - lbl_1_bss_E4[var_r30].unk_0C *= -1.0f; - } - lbl_1_bss_E4[var_r30].unk_10 = rand8() % 2; - lbl_1_bss_E4[var_r30].unk_14 = 0.01f * ((rand8() % 100) - 0x32); - lbl_1_bss_E4[var_r30].unk_08 = (rand8() % 5) + 5; - if ((rand8() % 2) == 0) { - lbl_1_bss_E4[var_r30].unk_08 *= -1; - } - lbl_1_bss_E4[var_r30].unk_04 = 1; - break; - case 1: - if (Hu3DData[object->model[var_r30]].pos.y <= 0.5f) { - Hu3DData[object->model[var_r30]].pos.y = 0.5f; - if (lbl_1_bss_E4[var_r30].unk_10 > 0.0f) { - Hu3DData[object->model[var_r30]].rot.x = fn_1_234(Hu3DData[object->model[var_r30]].rot.x, 180.0f, 5.0f); - } - else { - Hu3DData[object->model[var_r30]].rot.x = fn_1_234(Hu3DData[object->model[var_r30]].rot.x, 0.0f, 5.0f); - } - Hu3DData[object->model[var_r30]].rot.z = fn_1_234(Hu3DData[object->model[var_r30]].rot.z, 0.0f, 5.0f); - lbl_1_bss_E4[var_r30].unk_18 -= 0.025f; - if (lbl_1_bss_E4[var_r30].unk_18 <= 0.0f) { - lbl_1_bss_E4[var_r30].unk_18 = 0.0f; - lbl_1_bss_E4[var_r30].unk_04 = 0; - if (object->work[0] == 3) { - lbl_1_bss_E4[var_r30].unk_04 = 2; - } - } - } - else { - if (lbl_1_bss_E4[var_r30].unk_00-- <= 0) { - lbl_1_bss_E4[var_r30].unk_00 = (rand8() % 30) + 0x1E; - lbl_1_bss_E4[var_r30].unk_0C = 0.01f * (25.0f + (rand8() % 50)); - if ((rand8() % 2) == 0) { - lbl_1_bss_E4[var_r30].unk_0C *= -1.0f; - } - lbl_1_bss_E4[var_r30].unk_10 = rand8() % 2; - lbl_1_bss_E4[var_r30].unk_14 = 0.01f * ((rand8() % 100) - 0x32); - lbl_1_bss_E4[var_r30].unk_08 = (rand8() % 5) + 5; - if ((rand8() % 2) == 0) { - lbl_1_bss_E4[var_r30].unk_08 *= -1; - } - } - Hu3DModelAttrReset(object->model[var_r30], HU3D_ATTR_DISPOFF); - Hu3DData[object->model[var_r30]].pos.x += lbl_1_bss_E4[var_r30].unk_0C; - Hu3DData[object->model[var_r30]].pos.y -= (var_r30 % 3) + 2; - Hu3DData[object->model[var_r30]].pos.z += lbl_1_bss_E4[var_r30].unk_14; - Hu3DData[object->model[var_r30]].rot.x += lbl_1_bss_E4[var_r30].unk_08; - Hu3DData[object->model[var_r30]].rot.y += lbl_1_bss_E4[var_r30].unk_08; - Hu3DData[object->model[var_r30]].rot.z += lbl_1_bss_E4[var_r30].unk_08; - if (Hu3DData[object->model[var_r30]].rot.x >= 360.0f) { - Hu3DData[object->model[var_r30]].rot.x -= 360.0f; - } - else if (Hu3DData[object->model[var_r30]].rot.x <= 0.0f) { - Hu3DData[object->model[var_r30]].rot.x += 360.0f; - } - if (Hu3DData[object->model[var_r30]].rot.y >= 360.0f) { - Hu3DData[object->model[var_r30]].rot.y -= 360.0f; - } - else if (Hu3DData[object->model[var_r30]].rot.y <= 0.0f) { - Hu3DData[object->model[var_r30]].rot.y += 360.0f; - } - if (Hu3DData[object->model[var_r30]].rot.z >= 360.0f) { - Hu3DData[object->model[var_r30]].rot.z -= 360.0f; - } - else if (Hu3DData[object->model[var_r30]].rot.z <= 0.0f) { - Hu3DData[object->model[var_r30]].rot.z += 360.0f; - } - } - break; - case 2: - Hu3DModelAttrSet(object->model[var_r30], HU3D_ATTR_DISPOFF); - break; - } - } -} - -void fn_1_2342C(omObjData *object) -{ - float var_f30; - float var_f31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 12)); - for (var_r30 = 0; var_r30 < 0xC8; var_r30++) { - object->model[var_r30] = Hu3DModelLink(object->model[0]); - } - for (var_r30 = 0; var_r30 < 0xC8; var_r30++) { - Hu3DModelAttrSet(object->model[var_r30], HU3D_ATTR_DISPOFF); - Hu3DData[object->model[var_r30]].pos.x = rand8() + rand8(); - if (rand8() == 0) { - Hu3DData[object->model[var_r30]].pos.x *= -1.0f; - } - Hu3DData[object->model[var_r30]].pos.y = 500.0f + rand8() + rand8(); - Hu3DData[object->model[var_r30]].pos.z = 700.0f + (rand8() % 128); - var_f31 = 1.0f + (0.1f * (rand8() % 5)); - Hu3DModelScaleSet(object->model[var_r30], var_f31, var_f31, var_f31); - lbl_1_bss_E4[var_r30].unk_0C = 0.01f * (25.0f + (rand8() % 50)); - if ((rand8() % 2) == 0) { - lbl_1_bss_E4[var_r30].unk_0C *= -1.0f; - } - lbl_1_bss_E4[var_r30].unk_10 = rand8() % 2; - lbl_1_bss_E4[var_r30].unk_14 = 0.01f * ((rand8() % 100) - 0x32); - lbl_1_bss_E4[var_r30].unk_08 = (rand8() % 5) + 5; - if ((rand8() % 2) == 0) { - lbl_1_bss_E4[var_r30].unk_08 *= -1; - } - var_r29 = rand8() % 4; - switch (var_r29) { - case 0: - Hu3DModelAmbSet(object->model[var_r30], 1.0f, 1.0f, 1.0f); - break; - case 1: - Hu3DModelAmbSet(object->model[var_r30], 1.0f, 0.0f, 0.0f); - break; - case 2: - Hu3DModelAmbSet(object->model[var_r30], 0.0f, 1.0f, 0.0f); - break; - case 3: - Hu3DModelAmbSet(object->model[var_r30], 0.0f, 0.0f, 1.0f); - break; - } - lbl_1_bss_E4[var_r30].unk_04 = 0; - } - object->func = fn_1_225F4; -} diff --git a/src/REL/messDll/main.c b/src/REL/messDll/main.c index f7b32576..fe6119d4 100755 --- a/src/REL/messDll/main.c +++ b/src/REL/messDll/main.c @@ -9,8 +9,9 @@ #include "dolphin.h" #include "ext_math.h" +#include "rel_sqrt_consts.h" -extern s32 sprintf(char *, const char *, s32); +extern s32 sprintf(char*, const char*, s32); static void fn_1_2BC(omObjData *arg0); static void fn_1_300(omObjData *arg0); @@ -26,8 +27,7 @@ static u8 lbl_1_bss_4_pad[4]; static s16 lbl_1_bss_2; static s16 lbl_1_bss_0; -void ObjectSetup(void) -{ +void ObjectSetup(void) { OSReport("******* SAFObjectSetup *********\n"); lbl_1_bss_34 = omInitObjMan(0x32, 0x2000); CRot.x = -20.0f; @@ -46,14 +46,12 @@ void ObjectSetup(void) lbl_1_bss_8 = HuPrcChildCreate(fn_1_E88, 100, 0x3000, 0, lbl_1_bss_34); } -static void fn_1_2BC(omObjData *arg0) -{ +static void fn_1_2BC(omObjData *arg0) { WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); arg0->func = fn_1_300; } -static void fn_1_300(omObjData *arg0) -{ +static void fn_1_300(omObjData *arg0) { Vec sp2C; Vec sp20; Vec sp14; @@ -81,23 +79,23 @@ static void fn_1_300(omObjData *arg0) sp14.z = cosd(CRot.y) * sind(CRot.x); temp_f31 = CRot.z; sp8.x = sp14.x * (sp20.x * sp20.x + (1.0f - sp20.x * sp20.x) * cosd(temp_f31)) - + sp14.y * (sp20.x * sp20.y * (1.0 - cosd(temp_f31)) - sp20.z * sind(temp_f31)) - + sp14.z * (sp20.x * sp20.z * (1.0 - cosd(temp_f31)) + sp20.y * sind(temp_f31)); + + sp14.y * (sp20.x * sp20.y * (1.0 - cosd(temp_f31)) - sp20.z * sind(temp_f31)) + + sp14.z * (sp20.x * sp20.z * (1.0 - cosd(temp_f31)) + sp20.y * sind(temp_f31)); sp8.y = sp14.x * (sp20.x * sp20.y * (1.0 - cosd(temp_f31)) + sp20.z * sind(temp_f31)) - + sp14.y * (sp20.y * sp20.y + (1.0f - sp20.y * sp20.y) * cosd(temp_f31)) - + sp14.z * (sp20.y * sp20.z * (1.0 - cosd(temp_f31)) - sp20.x * sind(temp_f31)); + + sp14.y * (sp20.y * sp20.y + (1.0f - sp20.y * sp20.y) * cosd(temp_f31)) + + sp14.z * (sp20.y * sp20.z * (1.0 - cosd(temp_f31)) - sp20.x * sind(temp_f31)); sp8.z = sp14.x * (sp20.x * sp20.z * (1.0 - cosd(temp_f31)) - sp20.y * sind(temp_f31)) - + sp14.y * (sp20.y * sp20.z * (1.0 - cosd(temp_f31)) + sp20.x * sind(temp_f31)) - + sp14.z * (sp20.z * sp20.z + (1.0f - sp20.z * sp20.z) * cosd(temp_f31)); - VECCrossProduct(&sp14, &sp20, &sp20); - VECNormalize(&sp20, &sp20); + + sp14.y * (sp20.y * sp20.z * (1.0 - cosd(temp_f31)) + sp20.x * sind(temp_f31)) + + sp14.z * (sp20.z * sp20.z + (1.0f - sp20.z * sp20.z) * cosd(temp_f31)); + PSVECCrossProduct(&sp14, &sp20, &sp20); + PSVECNormalize(&sp20, &sp20); temp_r31 = HuPadSubStkX[0] & 0xF8; if (temp_r31 != 0) { Center.x += sp20.x * temp_r31 * 0.05f; Center.y += sp20.y * temp_r31 * 0.05f; Center.z += sp20.z * temp_r31 * 0.05f; } - VECNormalize(&sp8, &sp20); + PSVECNormalize(&sp8, &sp20); temp_r31 = -(HuPadSubStkY[0] & 0xF8); if (temp_r31 != 0) { Center.x += sp20.x * temp_r31 * 0.05f; @@ -106,19 +104,69 @@ static void fn_1_300(omObjData *arg0) } } -static char *lbl_1_data_32C[] - = { "001_Character_Name_ss", "002_Hidden_Block", "003_Battle_M", "004_Bowser_M", "005_Warp_M", "006_Mushroom_M", "007_Lot_house", "008_Boo_house", - "009_ItemName", "010_Bord", "011_RoundItem", "012_Spaceamida", "013_Star_M", "014_RollerCoaster", "015_Last5", "016_ItemShop", "017_System", - "018_ModeSelect", "019_Item", "020_Map2_event", "021_Lucky_Minigame", "022_Bord_Start", "023_Map3_event", "024_Minigame_Name", "025_mg_446", - "026_debugmes", "027_Party_Mode", "028_SETUP", "029_Miracle", "030_mg_kuppa", "031_Story_Mode", "032_Bowser_Story", "033_Map4_event", - "034_mg_inst", "035_E3_only", "036_saf", "037_Mg_inst_sys_", "038_Bord_Results", "039_Bord_Results2", "040_Map5_event", "041_Mg_Mode", - "042_mg_445", "043_mg_447", "044_mg_448", "045_mg_449", "046_mg_450", "047_tutorial", "048_Option_Rooml", "049_Map6_event", "050_charley", - "051_Present_Room", "052_Extra_Room", "053_Staff_Post", "054_Staff_Name", "055_Opening_Demo", "056_mgex_inst", NULL }; +static char *lbl_1_data_32C[] = { + "001_Character_Name_ss", + "002_Hidden_Block", + "003_Battle_M", + "004_Bowser_M", + "005_Warp_M", + "006_Mushroom_M", + "007_Lot_house", + "008_Boo_house", + "009_ItemName", + "010_Bord", + "011_RoundItem", + "012_Spaceamida", + "013_Star_M", + "014_RollerCoaster", + "015_Last5", + "016_ItemShop", + "017_System", + "018_ModeSelect", + "019_Item", + "020_Map2_event", + "021_Lucky_Minigame", + "022_Bord_Start", + "023_Map3_event", + "024_Minigame_Name", + "025_mg_446", + "026_debugmes", + "027_Party_Mode", + "028_SETUP", + "029_Miracle", + "030_mg_kuppa", + "031_Story_Mode", + "032_Bowser_Story", + "033_Map4_event", + "034_mg_inst", + "035_E3_only", + "036_saf", + "037_Mg_inst_sys_", + "038_Bord_Results", + "039_Bord_Results2", + "040_Map5_event", + "041_Mg_Mode", + "042_mg_445", + "043_mg_447", + "044_mg_448", + "045_mg_449", + "046_mg_450", + "047_tutorial", + "048_Option_Rooml", + "049_Map6_event", + "050_charley", + "051_Present_Room", + "052_Extra_Room", + "053_Staff_Post", + "054_Staff_Name", + "055_Opening_Demo", + "056_mgex_inst", + NULL +}; static s16 lbl_1_data_410 = -1; -static void fn_1_E88(void) -{ +static void fn_1_E88(void) { s16 sp10[256]; // unknown size char spC[4]; char sp8[4]; @@ -144,7 +192,7 @@ static void fn_1_E88(void) var_r30 = (var_r28 << 16); var_r25 = 0; while (1) { - if ((s32)MessData_MesPtrGet(messDataPtr, var_r30 + var_r25) == 0) { + if ((s32) MessData_MesPtrGet(messDataPtr, var_r30 + var_r25) == 0) { break; } sp10[var_r28]++; @@ -178,15 +226,13 @@ static void fn_1_E88(void) var_r31 = 0; } var_r30 = 0; - } - else if (temp_r3_2 & 0x40) { + } else if (temp_r3_2 & 0x40) { var_r31--; if (var_r31 < 0) { var_r31 = var_r27 - 1; } var_r30 = 0; - } - else if (temp_r3_2 & 0x200) { + } else if (temp_r3_2 & 0x200) { var_r30--; if (var_r30 < 0) { var_r31--; @@ -195,8 +241,7 @@ static void fn_1_E88(void) } var_r30 = sp10[var_r31] - 1; } - } - else { + } else { var_r30++; if (var_r30 >= sp10[var_r31]) { var_r31++; @@ -210,10 +255,18 @@ static void fn_1_E88(void) } } -static char *lbl_1_data_440[] = { "]1^", "]2^", "]3^", "]4^", "]5^", "]6^", "]7^", "]8^" }; +static char *lbl_1_data_440[] = { + "]1^", + "]2^", + "]3^", + "]4^", + "]5^", + "]6^", + "]7^", + "]8^" +}; -static s32 fn_1_11B0(s16 arg0, s16 arg1) -{ +static s32 fn_1_11B0(s16 arg0, s16 arg1) { WindowData *temp_r30; float spC[2]; s32 temp_r28; @@ -232,7 +285,7 @@ static s32 fn_1_11B0(s16 arg0, s16 arg1) } temp_r28 = MAKE_MESSID(arg0, arg1); for (i = 0; i < 8; i++) { - HuWinInsertMesSizeGet(MAKE_MESSID_PTR(lbl_1_data_440[i]), (s16)i); + HuWinInsertMesSizeGet(MAKE_MESSID_PTR(lbl_1_data_440[i]), (s16) i); } HuWinMesMaxSizeGet(1, &spC[0], temp_r28); if (spC[0] <= 16.0f) { @@ -240,7 +293,7 @@ static s32 fn_1_11B0(s16 arg0, s16 arg1) } lbl_1_data_410 = HuWinCreate(-10000.0f, -10000.0f, spC[0], spC[1], 0); for (i = 0; i < 8; i++) { - HuWinInsertMesSet(lbl_1_data_410, MAKE_MESSID_PTR(lbl_1_data_440[i]), (s16)i); + HuWinInsertMesSet(lbl_1_data_410, MAKE_MESSID_PTR(lbl_1_data_440[i]), (s16) i); } temp_r30 = &winData[lbl_1_data_410]; temp_r30->push_key |= 0x360; diff --git a/src/REL/mgmodedll/battle.c b/src/REL/mgmodedll/battle.c deleted file mode 100644 index c5088576..00000000 --- a/src/REL/mgmodedll/battle.c +++ /dev/null @@ -1,959 +0,0 @@ -#include "REL/mgmodedll.h" -#include "game/gamework.h" - -#include "game/audio.h" -#include "game/chrman.h" -#include "game/esprite.h" -#include "game/gamework_data.h" -#include "game/minigame_seq.h" -#include "game/saveload.h" -#include "game/wipe.h" - -#include "ext_math.h" - -s16 lbl_1_bss_3A4; -s32 lbl_1_bss_3A0; -s16 lbl_1_bss_396[4]; -s16 lbl_1_bss_394; -s16 lbl_1_bss_38C[4]; -s16 lbl_1_bss_38A; -s16 lbl_1_bss_388; - -s16 lbl_1_data_148 = -1; - -void fn_1_FF5C(void); -s32 fn_1_1129C(void); -s32 fn_1_11E68(void); -void fn_1_1222C(void); -void fn_1_2783C(s16 evtno); - -s32 fn_1_E72C(void) -{ - s16 temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - s32 temp_r26; - ModelData *temp_r25; - float temp_f31; - float temp_f30; - Vec sp20; - Vec sp14; - Vec sp8; - temp_r29 = 0; - fn_1_279FC(0); - fn_1_FF5C(); - if (mgModeEvtNo == 3) { - mgTypeCurr = mgInfoTbl[GWSystem.mg_next].type; - if (mgTypeCurr >= 4) { - mgTypeCurr = 3; - } - HuSprGrpPosSet(lbl_1_bss_388, 288, 240); - HuSprGrpDrawNoSet(lbl_1_bss_388, 64); - Hu3DModelPosSet(lbl_1_bss_2C80[5], -350, 0, 680); - Hu3DModelRotSet(lbl_1_bss_2C80[5], 0, 20, 0); - fn_1_27418(); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - Hu3DModelPosSet(lbl_1_bss_2C14[temp_r31], (temp_r31 * 130) - 195, 0, 750); - Hu3DMotionSet(lbl_1_bss_2C14[temp_r31], lbl_1_bss_2BC4[temp_r31][0]); - Hu3DModelAttrSet(lbl_1_bss_2C14[temp_r31], HU3D_MOTATTR_LOOP); - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - HuSprAttrSet(lbl_1_bss_388, (temp_r31 * 2) + 2, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(lbl_1_bss_388, (temp_r31 * 2) + 3, HUSPR_ATTR_DISPOFF); - } - HuSprAttrReset(lbl_1_bss_388, mgTypeCurr + 19, HUSPR_ATTR_DISPOFF); - HuSprPosSet(lbl_1_bss_388, mgTypeCurr + 19, 0, -155); - HuSprPosSet(lbl_1_bss_388, 1, 0, -180); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - if (fn_1_1129C() && !fn_1_11E68()) { - return 1; - } - } - else { - CharModelDataClose(-1); - if (HuDataReadChk(DATADIR_INSTPIC) == -1) { - temp_r26 = HuDataDirReadAsync(DATADIR_INSTPIC); - } - else { - temp_r26 = -1; - } - for (temp_r31 = 0; temp_r31 <= 60; temp_r31++) { - if (temp_r31 <= 50) { - temp_f31 = temp_r31 / 50.0; - HuSprGrpPosSet(lbl_1_bss_388, 288, -400.0 + (656.0 * sind(temp_f31 * 90.0f))); - } - else { - temp_f31 = (temp_r31 - 50) / 10.0; - HuSprGrpPosSet(lbl_1_bss_388, 288, 240.0 + (16.0 * cosd(temp_f31 * 90.0f))); - } - HuPrcVSleep(); - } - for (temp_r31 = 0; temp_r31 <= 5; temp_r31++) { - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - if (temp_r30 != temp_r29) { - HuSprTPLvlSet(lbl_1_bss_388, (temp_r30 * 2) + 2, 1 - (temp_r31 / 5.0)); - } - } - HuPrcVSleep(); - } - if (temp_r26 != -1) { - while (!HuDataGetAsyncStat(temp_r26)) { - HuPrcVSleep(); - } - } - repeat_mode: - if (lbl_1_bss_20AA == 0) { - HuPrcChildCreate(fn_1_27080, 100, 12288, 0, objman); - lbl_1_bss_20AA = 1; - } - lbl_1_bss_3A4 = fn_1_25CA8(0x1A0020); - if (lbl_1_data_148 == -1) { - lbl_1_data_148 = fn_1_2530C(0, 0, 0); - } - HuWinMesSpeedSet(lbl_1_data_148, 1); - fn_1_25838(lbl_1_data_148, 0x28000F, -1, -1); - while (1) { - temp_r28 = 0; - if ((HuPadDStkRep[0] & PAD_BUTTON_UP) && temp_r29 > 0) { - temp_r28 = -1; - } - else if ((HuPadDStkRep[0] & PAD_BUTTON_DOWN) && temp_r29 < 3) { - temp_r28 = 1; - } - if (temp_r28 != 0) { - HuSprAttrReset(lbl_1_bss_388, (temp_r29 * 2) + 3, HUSPR_ATTR_DISPOFF); - for (temp_r31 = 0; temp_r31 <= 10; temp_r31++) { - HuSprTPLvlSet(lbl_1_bss_388, (temp_r29 * 2) + 2, 1 - (temp_r31 / 10.0)); - if (temp_r31 == 5) { - HuAudFXPlay(0); - HuSprTPLvlSet(lbl_1_bss_388, ((temp_r29 + temp_r28) * 2) + 2, 1); - HuSprAttrReset(lbl_1_bss_388, ((temp_r29 + temp_r28) * 2) + 2, HUSPR_ATTR_DISPOFF); - } - HuPrcVSleep(); - } - temp_r29 += temp_r28; - } - if (HuPadBtnDown[0] & PAD_BUTTON_B) { - HuAudFXPlay(3); - fn_1_25E74(lbl_1_bss_3A4); - fn_1_25584(lbl_1_data_148); - lbl_1_data_148 = -1; - for (temp_r31 = 0; temp_r31 <= 60; temp_r31++) { - if (temp_r31 <= 10) { - temp_f31 = temp_r31 / 10.0; - HuSprGrpPosSet(lbl_1_bss_388, 288, 240.0 + (16.0 * sind(temp_f31 * 90.0f))); - } - else { - temp_f31 = (temp_r31 - 10) / 50.0; - HuSprGrpPosSet(lbl_1_bss_388, 288, -400.0 + (656.0 * cosd(temp_f31 * 90.0f))); - } - HuPrcVSleep(); - } - HuSprGrpKill(lbl_1_bss_388); - lbl_1_bss_388 = 0; - return 0; - } - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - HuAudFXPlay(1); - if (lbl_1_bss_20AC[lbl_1_data_A2[temp_r29]]) { - break; - } - fn_1_25838(lbl_1_data_148, 0x28002E, -1, -1); - fn_1_25838(lbl_1_data_148, 0x28000F, -1, -1); - continue; - } - HuPrcVSleep(); - } - fn_1_25E74(lbl_1_bss_3A4); - fn_1_25584(lbl_1_data_148); - lbl_1_data_148 = lbl_1_bss_3A4 = -1; - mgTypeCurr = temp_r29; - if (temp_r29 == 1 || temp_r29 == 2) { - if (fn_1_C0C8(1) == 0) { - goto repeat_mode; - } - } - else { - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - GWPlayerCfg[temp_r31].group = temp_r31; - } - } - for (temp_r31 = 0; temp_r31 <= 10; temp_r31++) { - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - HuSprTPLvlSet(lbl_1_bss_388, (temp_r30 * 2) + 3, 1 - (temp_r31 / 10.0)); - } - HuPrcVSleep(); - } - Hu3DMotionTimeSet(lbl_1_bss_2C80[5], 0); - HuPrcVSleep(); - temp_r28 = (temp_r29 * 40) - 110; - temp_r25 = &Hu3DData[lbl_1_bss_2C80[5]]; - sp20 = temp_r25->pos; - sp14.x = -350; - sp14.y = 0; - sp14.z = 680; - VECSubtract(&sp14, &sp20, &sp14); - temp_f30 = (180 + atan2d(sp14.z, sp14.x)) - 360; - Hu3DMotionShiftSet(lbl_1_bss_2C80[5], lbl_1_bss_2C66[7], 0, 8, HU3D_MOTATTR_LOOP); - for (temp_r31 = 0; temp_r31 <= 30; temp_r31++) { - if (temp_r31 <= 20) { - temp_f31 = temp_r31 / 20.0; - HuSprPosSet(lbl_1_bss_388, (temp_r29 * 2) + 2, 0, (sind(temp_f31 * 90.0f) * (-150 - temp_r28)) + temp_r28); - } - temp_f31 = temp_r31 / 30.0; - VECScale(&sp14, &sp8, temp_f31); - VECAdd(&sp20, &sp8, &sp8); - Hu3DModelPosSetV(lbl_1_bss_2C80[5], &sp8); - if (temp_r31 <= 10) { - temp_f31 = temp_r31 / 10.0; - Hu3DModelRotSet(lbl_1_bss_2C80[5], 0, temp_f30 * temp_f31, 0); - } - HuPrcVSleep(); - } - HuSprGrpDrawNoSet(lbl_1_bss_388, 64); - Hu3DMotionShiftSet(lbl_1_bss_2C80[5], lbl_1_bss_2C66[6], 0, 8, HU3D_MOTATTR_LOOP); - for (temp_r31 = 0; temp_r31 <= 10; temp_r31++) { - temp_f31 = temp_r31 / 10.0; - Hu3DModelRotSet(lbl_1_bss_2C80[5], 0, temp_f30 + ((20 - temp_f30) * temp_f31), 0); - HuPrcVSleep(); - } - while (lbl_1_bss_20AA) { - HuPrcVSleep(); - } - Hu3DMotionTimeSet(lbl_1_bss_2C80[5], 0); - HuPrcVSleep(); - fn_1_27418(); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - CharModelMotionSet(lbl_1_bss_2C24[temp_r31], lbl_1_bss_2BC4[temp_r31][2]); - Hu3DModelAttrSet(lbl_1_bss_2C14[temp_r31], HU3D_MOTATTR_LOOP); - Hu3DModelRotSet(lbl_1_bss_2C14[temp_r31], 0, -90, 0); - } - for (temp_r31 = 0; temp_r31 <= 30; temp_r31++) { - temp_f31 = temp_r31 / 30.0f; - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - Hu3DModelPosSet(lbl_1_bss_2C14[temp_r30], - (sind(temp_f31 * 90.0f) * (((temp_r30 * 130) - 195) - ((temp_r30 * 130) + 400))) + ((temp_r30 * 130) + 400), 0, 750); - if ((temp_r31 + (temp_r30 * 2)) % 5 == 0) { - HuAudFXPlay(GWPlayerCfg[temp_r30].character + 213); - } - } - HuPrcVSleep(); - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - Hu3DMotionShiftSet(lbl_1_bss_2C14[temp_r31], lbl_1_bss_2BC4[temp_r31][0], 0, 10, HU3D_MOTATTR_LOOP); - } - for (temp_r31 = 0; temp_r31 <= 10; temp_r31++) { - temp_f31 = temp_r31 / 10.0f; - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - Hu3DModelRotSet(lbl_1_bss_2C14[temp_r30], 0, -90.0 * (1.0 - temp_f31), 0); - } - HuPrcVSleep(); - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - mgBattleStar[temp_r31] = 0; - } - } - if (lbl_1_data_148 == -1) { - lbl_1_data_148 = fn_1_2530C(0, 0, 0); - } - fn_1_25838(lbl_1_data_148, 0x280010, -1, -1); - HuSprTPLvlSet(lbl_1_bss_388, 10, 1); - for (temp_r30 = 0; temp_r30 < 35;) { - for (temp_r31 = 0; temp_r31 < lbl_1_bss_20AC[lbl_1_data_A2[mgTypeCurr]]; temp_r31++) { - fn_1_271B4(lbl_1_bss_20C0[lbl_1_data_A2[mgTypeCurr]][temp_r31], 288, 210); - HuAudFXPlay(855); - HuPrcSleep(3); - temp_r30++; - if (temp_r30 >= 35) { - break; - } - } - } - HuAudFXPlay(870); - lbl_1_bss_2E4 = lbl_1_bss_20C0[lbl_1_data_A2[mgTypeCurr]][frandmod(lbl_1_bss_20AC[lbl_1_data_A2[mgTypeCurr]])]; - fn_1_271B4(lbl_1_bss_2E4, 288, 210); - HuWinAttrSet(lbl_1_data_148, 0x10); - HuWinInsertMesSet(lbl_1_data_148, mgInfoTbl[lbl_1_bss_2E4].name_mess, 0); - fn_1_25838(lbl_1_data_148, 0x280011, -1, -1); -repeat_mess: - fn_1_25838(lbl_1_data_148, 0x280029, -1, -1); - temp_r27 = HuWinChoiceGet(lbl_1_data_148, 0); - if (temp_r27 == 0) { - _ClearFlag(11); - } - else if (temp_r27 == 1) { - HuWinInsertMesSet(lbl_1_data_148, MAKE_MESSID(0x28, 39), 0); - fn_1_25838(lbl_1_data_148, 0x280026, -1, -1); - temp_r27 = HuWinChoiceGet(lbl_1_data_148, 1); - if (temp_r27 == 1) { - goto repeat_mess; - } - fn_1_271B4(-1, 0, 0); - for (temp_r31 = 1; temp_r31 <= 10; temp_r31++) { - HuSprTPLvlSet(lbl_1_bss_388, 10, 1 - (temp_r31 / 10.0)); - HuPrcVSleep(); - } - fn_1_25584(lbl_1_data_148); - lbl_1_data_148 = lbl_1_bss_3A4 = -1; - fn_1_1222C(); - return 1; - } - else { - _SetFlag(11); - } - GWSystem.mg_next = lbl_1_bss_2E4; - HuDataDirClose(DATADIR_INSTPIC); - fn_1_2783C(3); - while (1) { - HuPrcVSleep(); - } -} - -s16 lbl_1_data_14A[4] = { 0, 2, 1, 3 }; -GXColor lbl_1_data_152[4] = { - { 255, 64, 64, 255 }, - { 128, 255, 128, 255 }, - { 128, 255, 255, 255 }, - { 255, 255, 128, 255 }, -}; - -void fn_1_FF5C(void) -{ - s16 temp_r31; - s16 temp_r30; - s16 temp_r29; - AnimData *temp_r28; - s16 temp_r27; - AnimData *temp_r26; - if (lbl_1_bss_388 == 0) { - temp_r30 = HuSprGrpCreate(23); - lbl_1_bss_388 = temp_r30; - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 125), MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r28, 200, 0); - HuSprGrpMemberSet(temp_r30, 0, temp_r29); - HuSprTPLvlSet(temp_r30, 0, 0.8f); - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 54), MEMORY_DEFAULT_NUM)); - if (mgBattleStarMax == 3) { - temp_r27 = 0; - } - else if (mgBattleStarMax == 5) { - temp_r27 = 1; - } - else { - temp_r27 = 2; - } - temp_r29 = HuSprCreate(temp_r28, 190, temp_r27); - HuSprGrpMemberSet(temp_r30, 1, temp_r29); - HuSprPosSet(temp_r30, 1, 0, -180); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 55) + (lbl_1_data_14A[temp_r31] * 3), MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r28, 190, 0); - HuSprGrpMemberSet(temp_r30, (2 * temp_r31) + 2, temp_r29); - HuSprPosSet(temp_r30, (2 * temp_r31) + 2, 0, (temp_r31 * 40) - 110); - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 56) + (lbl_1_data_14A[temp_r31] * 3), MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r28, 195, 0); - HuSprGrpMemberSet(temp_r30, (2 * temp_r31) + 3, temp_r29); - HuSprPosSet(temp_r30, (2 * temp_r31) + 3, 0, (temp_r31 * 40) - 110); - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 57) + (lbl_1_data_14A[temp_r31] * 3), MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r28, 195, 0); - HuSprGrpMemberSet(temp_r30, temp_r31 + 19, temp_r29); - } - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 37), MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r28, 195, 0); - HuSprGrpMemberSet(temp_r30, 10, temp_r29); - HuSprPosSet(temp_r30, 10, 0, -32); - HuSprScaleSet(temp_r30, 10, 0.9f, 0.9f); - HuSprTPLvlSet(temp_r30, 10, 0); - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 101), MEMORY_DEFAULT_NUM)); - temp_r26 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 102), MEMORY_DEFAULT_NUM)); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r29 = HuSprCreate(temp_r28, 180, temp_r31); - HuSprGrpMemberSet(temp_r30, (temp_r31 * 2) + 11, temp_r29); - HuSprPosSet(temp_r30, (temp_r31 * 2) + 11, ((temp_r31 % 2) * 350) - 175, ((temp_r31 / 2) * 220) - 180); - temp_r29 = HuSprCreate(temp_r26, 190, temp_r31); - HuSprGrpMemberSet(temp_r30, (temp_r31 * 2) + 12, temp_r29); - HuSprTPLvlSet(temp_r30, (temp_r31 * 2) + 12, 0.5f); - HuSprPosSet(temp_r30, (temp_r31 * 2) + 12, ((temp_r31 % 2) * 350) - 175, ((temp_r31 / 2) * 220) - 172); - } - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - HuSprTPLvlSet(lbl_1_bss_388, (temp_r31 * 2) + 2, 1); - HuSprAttrSet(lbl_1_bss_388, temp_r31 + 19, HUSPR_ATTR_DISPOFF); - } - HuSprGrpDrawNoSet(lbl_1_bss_388, 0); -} - -void fn_1_10564(void) -{ - s16 temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - AnimData *temp_r24; - s16 temp_r23; - AnimData *temp_r22; - s16 sp8[4]; - if (mgBattleStarMax == 3) { - temp_r25 = 0; - } - else if (mgBattleStarMax == 5) { - temp_r25 = 1; - } - else { - temp_r25 = 2; - } - temp_r30 = HuSprGrpCreate(35); - lbl_1_bss_38A = temp_r30; - temp_r24 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 70) + temp_r25, MEMORY_DEFAULT_NUM)); - temp_r27 = HuSprCreate(temp_r24, 195, 0); - HuSprGrpMemberSet(temp_r30, 33, temp_r27); - HuSprAttrSet(temp_r30, 33, HUSPR_ATTR_DISPOFF); - temp_r27 = HuSprCreate(temp_r24, 195, 0); - HuSprGrpMemberSet(temp_r30, 34, temp_r27); - HuSprAttrSet(temp_r30, 34, HUSPR_ATTR_DISPOFF); - temp_r22 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 73), MEMORY_DEFAULT_NUM)); - temp_r28 = -(((mgBattleStarMax + 1) * 42) / 2) + 20; - temp_r26 = -64; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r24 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 74) + lbl_1_bss_2C24[temp_r31], MEMORY_DEFAULT_NUM)); - temp_r27 = HuSprCreate(temp_r24, 190, 0); - HuSprGrpMemberSet(temp_r30, (temp_r31 * 8) + 0, temp_r27); - HuSprPosSet(temp_r30, (temp_r31 * 8) + 0, temp_r28, temp_r26 + (temp_r31 * 42)); - for (temp_r29 = 0; temp_r29 < 7; temp_r29++) { - temp_r27 = HuSprCreate(temp_r22, 190, 0); - HuSprGrpMemberSet(temp_r30, 1 + (temp_r31 * 8) + temp_r29, temp_r27); - HuSprPosSet(temp_r30, 1 + (temp_r31 * 8) + temp_r29, 42 + temp_r28 + (temp_r29 * 42), temp_r26 + (temp_r31 * 42)); - if (mgBattleStar[lbl_1_bss_2C1C[temp_r31]] <= temp_r29) { - HuSprScaleSet(temp_r30, 1 + (temp_r31 * 8) + temp_r29, 0, 0); - } - else { - HuSprScaleSet(temp_r30, 1 + (temp_r31 * 8) + temp_r29, 1, 1); - } - if (mgTypeCurr == 1) { - if (temp_r31 > 2) { - HuSprAttrSet(temp_r30, 1 + (temp_r31 * 8) + temp_r29, HUSPR_ATTR_DISPOFF); - } - if (temp_r31 == 1) { - HuSprPosSet(temp_r30, 1 + (temp_r31 * 8) + temp_r29, 42 + temp_r28 + (temp_r29 * 42), temp_r26 + 84); - } - } - else if (mgTypeCurr == 2) { - if (temp_r31 % 2 == 1) { - HuSprAttrSet(temp_r30, 1 + (temp_r31 * 8) + temp_r29, HUSPR_ATTR_DISPOFF); - } - if (temp_r31 == 0) { - HuSprPosSet(temp_r30, 1 + (temp_r31 * 8) + temp_r29, 42 + temp_r28 + (temp_r29 * 42), temp_r26 + 21); - } - if (temp_r31 == 2) { - HuSprPosSet(temp_r30, 1 + (temp_r31 * 8) + temp_r29, 42 + temp_r28 + (temp_r29 * 42), temp_r26 + 105); - } - } - } - } - temp_r28 = -(((mgBattleStarMax + 1) * 42) / 2) + 22; - if (temp_r25 == 0) { - temp_r28 += 63; - } - else if (temp_r25 == 1) { - temp_r28 += 105; - } - else { - temp_r28 += 146; - } - if (mgTypeCurr == 1) { - HuSprPosSet(temp_r30, 33, temp_r28 + 21, temp_r26 + 63); - HuSprAttrReset(temp_r30, 33, HUSPR_ATTR_DISPOFF); - HuSprPosSet(temp_r30, 34, temp_r28 + 21, temp_r26 + 105); - HuSprAttrReset(temp_r30, 34, HUSPR_ATTR_DISPOFF); - } - else if (mgTypeCurr == 2) { - HuSprPosSet(temp_r30, 33, temp_r28 + 21, temp_r26 + 21); - HuSprAttrReset(temp_r30, 33, HUSPR_ATTR_DISPOFF); - HuSprPosSet(temp_r30, 34, temp_r28 + 21, temp_r26 + 105); - HuSprAttrReset(temp_r30, 34, HUSPR_ATTR_DISPOFF); - } - temp_r24 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 67) + temp_r25, MEMORY_DEFAULT_NUM)); - temp_r27 = HuSprCreate(temp_r24, 200, 0); - HuSprGrpMemberSet(temp_r30, 32, temp_r27); - HuSprGrpPosSet(temp_r30, 288, 185); - HuSprGrpDrawNoSet(temp_r30, 64); - HuSprGrpScaleSet(temp_r30, 1, 0); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - lbl_1_bss_38C[temp_r31] = 0; - } - switch (mgTypeCurr) { - case 0: - temp_r23 = -1; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - sp8[temp_r31] = GWPlayerCoinWinGet(temp_r31) + GWPlayerCoinCollectGet(temp_r31); - if (temp_r23 < sp8[temp_r31]) { - temp_r23 = sp8[temp_r31]; - } - } - lbl_1_bss_394 = 0; - if (temp_r23 != 0) { - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - if (temp_r23 == sp8[temp_r31]) { - lbl_1_bss_396[lbl_1_bss_394] = temp_r31; - lbl_1_bss_38C[temp_r31] = 1; - lbl_1_bss_394++; - } - } - } - break; - - case 1: - case 2: - sp8[0] = sp8[1] = 0; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - sp8[GWPlayerCfg[temp_r31].group] += GWPlayerCoinWinGet(temp_r31) + GWPlayerCoinCollectGet(temp_r31); - } - if (mgInfoTbl[GWSystem.mg_next].ovl == OVL_M422) { - sp8[1] /= 3; - } - lbl_1_bss_394 = 0; - if (sp8[0] != 0 || sp8[1] != 0) { - if (sp8[0] != sp8[1]) { - if (sp8[0] > sp8[1]) { - temp_r29 = 0; - } - else { - temp_r29 = 1; - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - if (temp_r29 == GWPlayerCfg[lbl_1_bss_2C1C[temp_r31]].group) { - lbl_1_bss_396[lbl_1_bss_394] = temp_r31; - lbl_1_bss_38C[temp_r31] = 1; - lbl_1_bss_394++; - } - } - } - else { - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - lbl_1_bss_396[lbl_1_bss_394] = temp_r31; - lbl_1_bss_38C[temp_r31] = 1; - lbl_1_bss_394++; - } - } - } - break; - - case 3: - for (temp_r31 = lbl_1_bss_394 = 0; temp_r31 < 4; temp_r31++) { - if (!GWPlayerCoinWinGet(lbl_1_bss_2C1C[temp_r31])) { - lbl_1_bss_396[lbl_1_bss_394] = temp_r31; - lbl_1_bss_38C[temp_r31] = 1; - lbl_1_bss_394++; - } - } - break; - - default: - break; - } -} - -void fn_1_12B64(s16 arg0); - -s32 fn_1_1129C(void) -{ - s16 temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - float temp_f31; - - s16 sp18[4]; - s16 sp10[4]; - s16 sp8[4]; - - HuSprTPLvlSet(lbl_1_bss_388, 10, 0); - while (WipeStatGet()) { - HuPrcVSleep(); - } - fn_1_10564(); - for (temp_r31 = 0; temp_r31 <= 30; temp_r31++) { - if (temp_r31 <= 20) { - temp_f31 = temp_r31 / 20.0f; - HuSprGrpScaleSet(lbl_1_bss_38A, 1, 1.1 * sind(temp_f31 * 90.0f)); - } - else { - temp_f31 = (temp_r31 - 20) / 10.0f; - HuSprGrpScaleSet(lbl_1_bss_38A, 1, 1.0 + (0.1 * cosd(temp_f31 * 90.0f))); - } - HuPrcVSleep(); - } - HuPrcSleep(30); - if (lbl_1_data_148 == -1) { - lbl_1_data_148 = fn_1_2530C(0, 0, 0); - } - if (lbl_1_bss_394) { - for (temp_r31 = 0; temp_r31 < lbl_1_bss_394; temp_r31++) { - HuWinInsertMesSet(lbl_1_data_148, lbl_1_bss_2C24[lbl_1_bss_396[temp_r31]], (s32)temp_r31); - } - if (lbl_1_bss_394 == 1) { - fn_1_25838(lbl_1_data_148, 0x280012, -1, -1); - } - else if (lbl_1_bss_394 == 2) { - fn_1_25838(lbl_1_data_148, 0x28001F, -1, -1); - } - else if (lbl_1_bss_394 == 3) { - fn_1_25838(lbl_1_data_148, 0x280020, -1, -1); - } - else if (lbl_1_bss_394 == 4) { - fn_1_25838(lbl_1_data_148, 0x280021, -1, -1); - } - HuAudFXPlay(825); - HuAudFXPlay(826); - for (temp_r31 = 0; temp_r31 <= 30; temp_r31++) { - temp_f31 = (1 - sind((temp_r31 / 30.0f) * 90.0f)) + 1; - for (temp_r30 = 0; temp_r30 < lbl_1_bss_394; temp_r30++) { - temp_r28 = lbl_1_bss_396[temp_r30]; - HuSprScaleSet(lbl_1_bss_38A, 1 + (temp_r28 * 8) + mgBattleStar[lbl_1_bss_2C1C[temp_r28]], temp_f31, temp_f31); - } - if (temp_r31 == 10) { - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - if (lbl_1_bss_38C[temp_r30]) { - Hu3DMotionShiftSet(lbl_1_bss_2C14[temp_r30], lbl_1_bss_2BC4[temp_r30][3], 0, 5, HU3D_MOTATTR_NONE); - } - else { - Hu3DMotionShiftSet(lbl_1_bss_2C14[temp_r30], lbl_1_bss_2BC4[temp_r30][4], 0, 5, HU3D_MOTATTR_NONE); - } - } - } - HuPrcVSleep(); - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - sp10[temp_r31] = 0; - } - for (temp_r30 = temp_r29 = 0; temp_r30 < lbl_1_bss_394; temp_r30++) { - mgBattleStar[lbl_1_bss_2C1C[lbl_1_bss_396[temp_r30]]]++; - if (mgBattleStar[lbl_1_bss_2C1C[lbl_1_bss_396[temp_r30]]] >= mgBattleStarMax) { - sp18[temp_r29] = lbl_1_bss_396[temp_r30]; - sp10[lbl_1_bss_396[temp_r30]] = 1; - temp_r29++; - } - } - if (temp_r29 != 0) { - for (temp_r31 = 0; temp_r31 < temp_r29; temp_r31++) { - HuWinInsertMesSet(lbl_1_data_148, lbl_1_bss_2C24[sp18[temp_r31]], (s32)temp_r31); - } - if (temp_r29 == 1) { - fn_1_25838(lbl_1_data_148, 0x280014, -1, -1); - } - else if (temp_r29 == 2) { - fn_1_25838(lbl_1_data_148, 0x280022, -1, -1); - } - else if (temp_r29 == 3) { - fn_1_25838(lbl_1_data_148, 0x280023, -1, -1); - } - else if (temp_r29 == 4) { - fn_1_25838(lbl_1_data_148, 0x280024, -1, -1); - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - if (temp_r31 < temp_r29) { - sp8[temp_r31] = lbl_1_bss_2C24[sp18[temp_r31]]; - } - else { - sp8[temp_r31] = -1; - } - } - MGSeqAltWinCreate(sp8[0], sp8[1], sp8[2], sp8[3]); - HuAudFXPlay(2175); - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - if (sp10[temp_r30]) { - Hu3DMotionShiftSet(lbl_1_bss_2C14[temp_r30], lbl_1_bss_2BC4[temp_r30][5], 0, 5, HU3D_MOTATTR_NONE); - fn_1_12B64(temp_r30); - } - else { - Hu3DMotionShiftSet(lbl_1_bss_2C14[temp_r30], lbl_1_bss_2BC4[temp_r30][6], 0, 5, HU3D_MOTATTR_NONE); - } - } - HuPrcSleep(120); - return 1; - } - else { - HuPrcSleep(30); - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - Hu3DMotionShiftSet(lbl_1_bss_2C14[temp_r30], lbl_1_bss_2BC4[temp_r30][0], 0, 5, HU3D_MOTATTR_LOOP); - } - HuPrcSleep(30); - } - } - else { - fn_1_25838(lbl_1_data_148, 0x280013, -1, -1); - } - for (temp_r31 = 0; temp_r31 <= 30; temp_r31++) { - if (temp_r31 <= 10) { - temp_f31 = temp_r31 / 10.0f; - HuSprGrpScaleSet(lbl_1_bss_38A, 1, 1.0 + (0.1 * sind(temp_f31 * 90.0f))); - } - else { - temp_f31 = (temp_r31 - 10) / 20.0f; - HuSprGrpScaleSet(lbl_1_bss_38A, 1, 1.1 * cosd(temp_f31 * 90.0f)); - } - HuPrcVSleep(); - } - return 0; -} - -s32 fn_1_11E68(void) -{ - s16 choice; - fn_1_25838(lbl_1_data_148, 0x28000C, -1, -1); - HuWinAttrSet(lbl_1_data_148, 0x10); - choice = HuWinChoiceGet(lbl_1_data_148, 1); - lbl_1_bss_3A0 = 0; - fn_1_25584(lbl_1_data_148); - lbl_1_data_148 = -1; - if (choice == 0) { - s16 i; - s16 j; - float weight; - for (i = 0; i < 4; i++) { - Hu3DMotionShiftSet(lbl_1_bss_2C14[i], lbl_1_bss_2BC4[i][0], 0, 10, HU3D_MOTATTR_LOOP); - } - for (i = 0; i <= 20; i++) { - weight = i / 20.0f; - HuSprGrpScaleSet(lbl_1_bss_38A, 1, cosd(weight * 90.0f)); - HuPrcVSleep(); - } - for (i = 0; i < 4; i++) { - mgBattleStar[i] = 0; - for (j = 0; j < 7; j++) { - HuSprScaleSet(lbl_1_bss_38A, j + (i * 8) + 1, 0, 0); - } - } - for (i = 0; i <= 20; i++) { - weight = i / 20.0f; - HuSprGrpScaleSet(lbl_1_bss_38A, 1, sind(weight * 90.0f)); - HuPrcVSleep(); - } - for (i = 0; i <= 20; i++) { - weight = i / 20.0f; - HuSprGrpScaleSet(lbl_1_bss_38A, 1, cosd(weight * 90.0f)); - HuPrcVSleep(); - } - return 1; - } - else { - fn_1_1222C(); - return 0; - } -} - -void fn_1_1222C(void) -{ - s16 i; - s16 j; - ModelData *model; - float weight; - float angle; - - Vec pos; - Vec posEnd; - Vec posModel; - for (i = 0; i < 4; i++) { - Hu3DMotionShiftSet(lbl_1_bss_2C14[i], lbl_1_bss_2BC4[i][2], 0, 10, HU3D_MOTATTR_LOOP); - } - model = &Hu3DData[lbl_1_bss_2C80[5]]; - pos = model->pos; - posEnd.x = 0; - posEnd.y = 0; - posEnd.z = 640; - VECSubtract(&posEnd, &pos, &posEnd); - angle = atan2d(posEnd.z, posEnd.x) + 180; - for (i = 0; i <= 30; i++) { - for (j = 0; j < 4; j++) { - if (i <= 10) { - weight = i / 10.0; - Hu3DModelRotSet(lbl_1_bss_2C14[j], 0, weight * 90.0f, 0); - } - weight = i / 30.0; - Hu3DModelPosSet(lbl_1_bss_2C14[j], ((j * 130) - 195) + ((1 - cosd(weight * 90.0f)) * 700.0), 0, 750); - if ((i + (j * 2)) % 5 == 0) { - HuAudFXPlay(GWPlayerCfg[j].character + 213); - } - } - if (i == 20) { - Hu3DMotionShiftSet(lbl_1_bss_2C80[5], lbl_1_bss_2C66[7], 0, 8, HU3D_MOTATTR_LOOP); - } - if (i >= 20) { - weight = (i - 20) / 10.0; - Hu3DModelRotSet(lbl_1_bss_2C80[5], 0, 20.0f + ((angle - 20.0f) * weight), 0); - } - HuPrcVSleep(); - } - for (i = 0; i < 4; i++) { - Hu3DMotionShiftSet(lbl_1_bss_2C14[i], lbl_1_bss_2BC4[i][0], 0, 10, HU3D_MOTATTR_LOOP); - } - for (i = 0; i <= 30; i++) { - weight = i / 30.0; - VECScale(&posEnd, &posModel, weight); - VECAdd(&pos, &posModel, &posModel); - Hu3DModelPosSetV(lbl_1_bss_2C80[5], &posModel); - HuPrcVSleep(); - } - Hu3DMotionShiftSet(lbl_1_bss_2C80[5], lbl_1_bss_2C66[6], 0, 10, HU3D_MOTATTR_LOOP); - for (i = 0; i <= 10; i++) { - weight = 1.0 - (i / 10.0); - Hu3DModelRotSet(lbl_1_bss_2C80[5], 0, angle * weight, 0); - HuPrcVSleep(); - } - for (i = 0; i <= 60; i++) { - if (i <= 10) { - weight = i / 10.0; - HuSprGrpPosSet(lbl_1_bss_388, 288, 240.0 + (16.0 * sind(weight * 90.0f))); - if (lbl_1_bss_38A) { - HuSprGrpPosSet(lbl_1_bss_38A, 288, 185.0 + (16.0 * sind(weight * 90.0f))); - } - } - else { - weight = (i - 10) / 50.0; - weight = (1 - cosd(weight * 90.0f)) * 400; - HuSprGrpPosSet(lbl_1_bss_388, 288, 256 - weight); - if (lbl_1_bss_38A) { - HuSprGrpPosSet(lbl_1_bss_38A, 288, 201 - weight); - } - } - - HuPrcVSleep(); - } - HuDataDirClose(DATADIR_INSTPIC); - if (lbl_1_bss_388) { - HuSprGrpKill(lbl_1_bss_388); - } - if (lbl_1_bss_38A) { - HuSprGrpKill(lbl_1_bss_38A); - } - lbl_1_bss_388 = lbl_1_bss_38A = 0; - for (i = 0; i < 4; i++) { - CharModelKill(GWPlayerCfg[i].character); - } -} - -void fn_1_12BEC(void); - -void fn_1_12B64(s16 arg0) -{ - Process *process; - s32 *data; - process = HuPrcChildCreate(fn_1_12BEC, 100, 12288, 0, objman); - data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(s32), MEMORY_DEFAULT_NUM); - process->user_data = data; - *data = arg0; - lbl_1_bss_3A0 = 1; - (void)process; -} - -void fn_1_12BEC(void) -{ - s16 temp_r31; - ModelData *temp_r30; - HsfMaterial *temp_r29; - s32 *temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - s16 temp_r24; - s16 temp_r23; - s16 temp_r22; - Process *temp_r21; - float temp_f31; - Vec sp44[30]; - s16 sp8[30]; - - temp_r21 = HuPrcCurrentGet(); - temp_r28 = temp_r21->user_data; - temp_r27 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MGMODE, 82)); - Hu3DModelLayerSet(temp_r27, 3); - Hu3DModelPosSet(temp_r27, (*temp_r28 * 130) - 195, 300, 750); - Hu3DModelScaleSet(temp_r27, 0.8f, 0.8f, 0.8f); - for (temp_r31 = 0; temp_r31 < 30; temp_r31++) { - if (temp_r31 < 4) { - temp_r26 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MGMODE, 83)); - sp8[temp_r31] = temp_r26; - temp_r30 = &Hu3DData[temp_r26]; - temp_r29 = temp_r30->hsfData->material; - for (temp_r24 = 0; temp_r24 < temp_r30->hsfData->materialCnt; temp_r24++, temp_r29++) { - temp_r29->color[0] = lbl_1_data_152[temp_r31].r; - temp_r29->color[1] = lbl_1_data_152[temp_r31].g; - temp_r29->color[2] = lbl_1_data_152[temp_r31].b; - temp_r29->litColor[0] = lbl_1_data_152[temp_r31].r; - temp_r29->litColor[1] = lbl_1_data_152[temp_r31].g; - temp_r29->litColor[2] = lbl_1_data_152[temp_r31].b; - } - } - else { - temp_r26 = Hu3DModelLink(sp8[temp_r31 % 4]); - sp8[temp_r31] = temp_r26; - } - Hu3DModelPosSet(temp_r26, (frandmod(50) - 220 + (*temp_r28 * 130)), (temp_r31 * 12) + 350, 750); - Hu3DModelScaleSet(temp_r26, 2.0f, 2.0f, 2.0f); - Hu3DModelAttrSet(temp_r26, HU3D_ATTR_DISPOFF); - Hu3DModelLayerSet(temp_r26, 3); - sp44[temp_r31].x = (float)(frandmod(50) - 25) * 0.05; - sp44[temp_r31].z = (float)(frandmod(50) - 25) * 0.05; - } - HuPrcSleep(45); - temp_r25 = 0; - while (1) { - for (temp_r31 = temp_r22 = 0; temp_r31 < 30; temp_r31++) { - temp_r30 = &Hu3DData[sp8[temp_r31]]; - if (temp_r30->pos.y > 350.0f) { - Hu3DModelAttrSet(sp8[temp_r31], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrReset(sp8[temp_r31], HU3D_ATTR_DISPOFF); - temp_r30->pos.x += sp44[temp_r31].x; - temp_r30->pos.z += sp44[temp_r31].z; - } - temp_r30->pos.y -= 3.0f; - temp_r30->rot.x += ((temp_r31 % 3) + 1) * 5; - temp_r30->rot.y += ((temp_r31 % 5) + 1) * 5; - if (temp_r30->pos.y < 0.0f) { - if (lbl_1_bss_3A0 == 0) { - Hu3DModelAttrSet(sp8[temp_r31], HU3D_ATTR_DISPOFF); - temp_r22++; - } - else { - temp_r30->pos.y = 350; - temp_r23 = frandmod(50) - 25; - temp_r30->pos.x = (-195 + (*temp_r28 * 130)) + temp_r23; - temp_r30->pos.z = 750; - sp44[temp_r31].x = ((float)frandmod(50) * 0.02) * ((temp_r23 < 0) ? -1 : (temp_r23 > 0) ? 1 : 0); - sp44[temp_r31].z = (float)(frandmod(50) - 25) * 0.05; - } - } - } - if (lbl_1_bss_3A0 || temp_r22 != 30) { - if (lbl_1_bss_3A0 == 0 && temp_r25 <= 10) { - temp_f31 = 1 - sind((temp_r25 / 10.0) * 90.0); - if (0.0 == temp_f31) { - Hu3DModelAttrSet(temp_r27, HU3D_ATTR_DISPOFF); - } - Hu3DModelScaleSet(temp_r27, temp_f31, 1, 1); - temp_r25++; - } - HuPrcVSleep(); - } - else { - break; - } - } - (void)temp_r28; - (void)temp_r28; - (void)temp_r27; - (void)temp_r27; - Hu3DModelKill(temp_r27); - HuPrcVSleep(); - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } -} diff --git a/src/REL/mgmodedll/datalist.c b/src/REL/mgmodedll/datalist.c index 3eb233ec..8afb7b0a 100644 --- a/src/REL/mgmodedll/datalist.c +++ b/src/REL/mgmodedll/datalist.c @@ -1,135 +1,131 @@ #include "REL/mgmodedll.h" -#ifndef __MWERKS__ -#include "game/esprite.h" -#endif - DataListModel lbl_1_data_490[] = { - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x00), 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x01), 0x40000001, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x02), 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x03), 0, 1, -1, 2, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x04), 0, 1, -1, 2, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x5E), 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x5F), 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x60), 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x61), 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x05), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x06), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x07), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x08), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { -1, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620000, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620001, 0x40000001, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620002, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620003, 0, 1, -1, 2, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620004, 0, 1, -1, 2, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x62005E, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x62005F, 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620060, 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620061, 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620005, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620006, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620007, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620008, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { -1, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, }; DataListSprite lbl_1_data_768[] = { - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x0C), 0, 10, 288, -200, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x09), 0, 10, 288, -200, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x0A), 0, 10, 288, -200, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x0D), 4, 100, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x18), 4, 200, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x1A), 4, 20, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x1B), 4, 30, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x1C), 4, 40, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x1D), 4, 50, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x1E), 4, 50, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x1F), 4, 50, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x20), 4, 50, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x21), 4, 50, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x25), 4, 200, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x0E), 4, 210, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x0F), 4, 210, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x19), 4, 200, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x28), 4, 10, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x28), 4, 10, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x2A), 4, 10, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x2E), 4, 200, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x2F), 4, 200, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x32), 4, 5, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x31), 4, 4, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x30), 4, 4, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x29), 4, 4, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x29), 4, 4, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x33), 4, 50, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MGMODE, 0x34), 4, 50, 288, 256, { 255, 255, 255, 255 } }, - { 0, 0, 0, 0, 0, { 0, 0, 0, 0 } }, + { 0x62000C, 0, 10, 288, -200, { 255, 255, 255, 255 } }, + { 0x620009, 0, 10, 288, -200, { 255, 255, 255, 255 } }, + { 0x62000A, 0, 10, 288, -200, { 255, 255, 255, 255 } }, + { 0x62000D, 4, 100, 288, 240, { 255, 255, 255, 255 } }, + { 0x620018, 4, 200, 288, 240, { 255, 255, 255, 255 } }, + { 0x62001A, 4, 20, 288, 240, { 255, 255, 255, 255 } }, + { 0x62001B, 4, 30, 288, 240, { 255, 255, 255, 255 } }, + { 0x62001C, 4, 40, 288, 240, { 255, 255, 255, 255 } }, + { 0x62001D, 4, 50, 288, 240, { 255, 255, 255, 255 } }, + { 0x62001E, 4, 50, 288, 240, { 255, 255, 255, 255 } }, + { 0x62001F, 4, 50, 288, 240, { 255, 255, 255, 255 } }, + { 0x620020, 4, 50, 288, 240, { 255, 255, 255, 255 } }, + { 0x620021, 4, 50, 288, 240, { 255, 255, 255, 255 } }, + { 0x620025, 4, 200, 288, 240, { 255, 255, 255, 255 } }, + { 0x62000E, 4, 210, 288, 240, { 255, 255, 255, 255 } }, + { 0x62000F, 4, 210, 288, 240, { 255, 255, 255, 255 } }, + { 0x620019, 4, 200, 288, 240, { 255, 255, 255, 255 } }, + { 0x620028, 4, 10, 288, 240, { 255, 255, 255, 255 } }, + { 0x620028, 4, 10, 288, 240, { 255, 255, 255, 255 } }, + { 0x62002A, 4, 10, 288, 240, { 255, 255, 255, 255 } }, + { 0x62002E, 4, 200, 288, 240, { 255, 255, 255, 255 } }, + { 0x62002F, 4, 200, 288, 240, { 255, 255, 255, 255 } }, + { 0x620032, 4, 5, 288, 240, { 255, 255, 255, 255 } }, + { 0x620031, 4, 4, 288, 240, { 255, 255, 255, 255 } }, + { 0x620030, 4, 4, 288, 240, { 255, 255, 255, 255 } }, + { 0x620029, 4, 4, 288, 240, { 255, 255, 255, 255 } }, + { 0x620029, 4, 4, 288, 240, { 255, 255, 255, 255 } }, + { 0x620033, 4, 50, 288, 240, { 255, 255, 255, 255 } }, + { 0x620034, 4, 50, 288, 256, { 255, 255, 255, 255 } }, + { 0, 0, 0, 0, 0, { 0, 0, 0, 0 } }, }; void fn_1_267E8(DataListModel *model_list) { - DataListModel *list; - s16 i; - s16 model; - s16 clear_i; - ModelData *model_ptr; - void *data; - list = model_list; - for (clear_i = 0; clear_i < 13; clear_i++) { - lbl_1_bss_2C80[clear_i] = lbl_1_bss_2C66[clear_i] = -1; - } - for (i = 0; list->datanum != DATA_NUM_LISTEND; list++, i++) { - if (list->type == 0) { - data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA); - model = Hu3DModelCreate(data); - lbl_1_bss_2C80[i] = model; - Hu3DModelAttrSet(model, list->attr); - Hu3DModelPosSetV(model, &list->pos); - Hu3DModelRotSetV(model, &list->rot); - Hu3DModelScaleSetV(model, &list->scale); - model_ptr = &Hu3DData[model]; - if (model_ptr->unk_08 != -1) { - lbl_1_bss_2C66[i] = model_ptr->unk_08; - } - } - else if (list->type == 1) { - data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA); - lbl_1_bss_2C66[i] = Hu3DJointMotion(lbl_1_bss_2C80[list->mot_link], data); - } - (void)i; - } - list = model_list; - for (i = 0; list->datanum != DATA_NUM_LISTEND; list++, i++) { - if (list->type == 2) { - model = Hu3DModelLink(lbl_1_bss_2C80[list->link]); - lbl_1_bss_2C80[i] = model; - Hu3DModelAttrSet(model, list->attr); - Hu3DModelPosSetV(model, &list->pos); - Hu3DModelRotSetV(model, &list->rot); - Hu3DModelScaleSetV(model, &list->scale); - } - if (list->type == 0 && list->mot_link != -1) { - Hu3DMotionSet(lbl_1_bss_2C80[i], lbl_1_bss_2C66[list->mot_link]); - } - (void)i; - } + DataListModel *list; + s16 i; + s16 model; + s16 clear_i; + ModelData *model_ptr; + void *data; + list = model_list; + for(clear_i=0; clear_i<13; clear_i++) { + lbl_1_bss_2C80[clear_i] = lbl_1_bss_2C66[clear_i] = -1; + } + for(i=0; list->datanum != DATA_NUM_LISTEND; list++, i++) { + if(list->type == 0) { + data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA); + model = Hu3DModelCreate(data); + lbl_1_bss_2C80[i] = model; + Hu3DModelAttrSet(model, list->attr); + Hu3DModelPosSetV(model, &list->pos); + Hu3DModelRotSetV(model, &list->rot); + Hu3DModelScaleSetV(model, &list->scale); + model_ptr = &Hu3DData[model]; + if(model_ptr->unk_08 != -1) { + lbl_1_bss_2C66[i] = model_ptr->unk_08; + } + } else if(list->type == 1) { + data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA); + lbl_1_bss_2C66[i] = Hu3DJointMotion(lbl_1_bss_2C80[list->mot_link], data); + + } + (void)i; + } + list = model_list; + for(i=0; list->datanum != DATA_NUM_LISTEND; list++, i++) { + if(list->type == 2) { + model = Hu3DModelLink(lbl_1_bss_2C80[list->link]); + lbl_1_bss_2C80[i] = model; + Hu3DModelAttrSet(model, list->attr); + Hu3DModelPosSetV(model, &list->pos); + Hu3DModelRotSetV(model, &list->rot); + Hu3DModelScaleSetV(model, &list->scale); + } + if(list->type == 0 && list->mot_link != -1) { + Hu3DMotionSet(lbl_1_bss_2C80[i], lbl_1_bss_2C66[list->mot_link]); + } + (void)i; + } } void fn_1_26A78(DataListSprite *sprite_list) { - DataListSprite *list; - s16 sprite; - s16 clear_i; - s16 i; - list = sprite_list; - for (clear_i = 0; clear_i < 29; clear_i++) { - lbl_1_bss_2C2C[clear_i] = -1; - } - for (i = 0; list->datanum; i++, list++) { - sprite = espEntry(list->datanum, 100, 0); - lbl_1_bss_2C2C[i] = sprite; - espPosSet(sprite, list->x, list->y); - espColorSet(sprite, list->color.r, list->color.g, list->color.b); - espTPLvlSet(sprite, list->color.a / 255.0f); - espPriSet(sprite, list->prio); - espAttrSet(sprite, list->attr); - } + DataListSprite *list; + s16 sprite; + s16 clear_i; + s16 i; + list = sprite_list; + for(clear_i=0; clear_i<29; clear_i++) { + lbl_1_bss_2C2C[clear_i] = -1; + } + for(i=0; list->datanum; i++, list++) { + sprite = espEntry(list->datanum, 100, 0); + lbl_1_bss_2C2C[i] = sprite; + espPosSet(sprite, list->x, list->y); + espColorSet(sprite, list->color.r, list->color.g, list->color.b); + espTPLvlSet(sprite, list->color.a/255.0f); + espPriSet(sprite, list->prio); + espAttrSet(sprite, list->attr); + } } void fn_1_26BB0(void) { - s16 i; - for (i = 0; i < 29; i++) { - if (lbl_1_bss_2C2C[i] != -1) { - espKill(lbl_1_bss_2C2C[i]); - } - } -} + s16 i; + for(i=0; i<29; i++) { + if(lbl_1_bss_2C2C[i] != -1) { + espKill(lbl_1_bss_2C2C[i]); + } + } +} \ No newline at end of file diff --git a/src/REL/mgmodedll/free_play.c b/src/REL/mgmodedll/free_play.c deleted file mode 100644 index 58ffe85e..00000000 --- a/src/REL/mgmodedll/free_play.c +++ /dev/null @@ -1,1288 +0,0 @@ -#include "REL/mgmodedll.h" -#include "game/gamework.h" - -#include "game/audio.h" -#include "game/esprite.h" -#include "game/gamework_data.h" -#include "game/saveload.h" -#include "game/wipe.h" - -#include "ext_math.h" - -s16 lbl_1_bss_352[2][7]; -s16 lbl_1_bss_34A[4]; -s16 lbl_1_bss_348; -s16 lbl_1_bss_340[4]; -s16 lbl_1_bss_318[10][2]; -s16 lbl_1_bss_316; -s16 lbl_1_bss_30E[4]; -s16 lbl_1_bss_30C; -Vec lbl_1_bss_2F4[2]; -s16 lbl_1_bss_2F0; -s16 lbl_1_bss_2EE; -s16 lbl_1_bss_2EC; -float lbl_1_bss_2E8; -s16 lbl_1_bss_2E6; -s16 lbl_1_bss_2E4; -s16 lbl_1_bss_2E2; -static s16 pad_05_000002E0_bss; - -s16 lbl_1_data_A0 = -1; - -s16 lbl_1_data_A2[7] = { 0, 1, 2, 4, 3, 6, 9 }; - -float lbl_1_data_B0[4] = { 370, 412, 488, 530 }; - -s32 lbl_1_data_C0[4] = { - DATA_MAKE_NUM(DATADIR_MGMODE, 0x37), - DATA_MAKE_NUM(DATADIR_MGMODE, 0x3D), - DATA_MAKE_NUM(DATADIR_MGMODE, 0x3A), - DATA_MAKE_NUM(DATADIR_MGMODE, 0x40), -}; - -void fn_1_9E44(void); -void fn_1_9F64(s16 arg0, s16 arg1, s16 arg2); -void fn_1_A364(s16 arg0, float arg1, float arg2, s16 arg3); - -void fn_1_A624(void); -void fn_1_A6A8(void); -void fn_1_ACAC(s16 arg0, s16 arg1); -void fn_1_ADA0(s32 arg0); - -void fn_1_AE20(s16 arg0, s16 arg1, s16 arg2, s16 arg3); - -s16 fn_1_B5A8(s16 *arg0, s16 *arg1); -void fn_1_B770(void); -void fn_1_B9B8(void); -s32 fn_1_BB24(void); -void fn_1_BFA0(s16 arg0); -s32 fn_1_C0C8(s32 arg0); - -s32 fn_1_6D28(void) -{ - s16 temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - s32 temp_r26; - s32 temp_r25; - s32 temp_r24; - s16 temp_r23; - s16 spC[6]; - s16 spA; - s16 sp8; - float temp_f31; - temp_r25 = 1; - fn_1_279FC(0); - fn_1_A6A8(); - fn_1_9E44(); - spA = sp8 = 0; - mgInstExitEnableF = 1; - mgTypeCurr = 0; - _SetFlag(11); - fn_1_B770(); - if (lbl_1_bss_2A6 != 2) { - temp_r28 = lbl_1_bss_2C2C[1]; - } - else { - temp_r28 = lbl_1_bss_2C2C[2]; - } - if (mgModeEvtNo == 1 || mgModeEvtNo == 2) { - mgTypeCurr = fn_1_B5A8(&spA, &sp8); - espAttrReset(lbl_1_bss_2C2C[3], HUSPR_ATTR_DISPOFF); - espTPLvlSet(lbl_1_bss_2C2C[3], 1.0f); - espAttrReset(temp_r28, HUSPR_ATTR_DISPOFF); - espPosSet(temp_r28, 288, 70); - espAttrReset(lbl_1_bss_2C2C[13], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[13], 450, 216); - if (lbl_1_bss_2A6 == 0) { - espAttrReset(lbl_1_bss_2C2C[4], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[4], 450, 404); - if (mgModeEvtNo == 1) { - fn_1_BFA0(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA + sp8]); - espAttrReset(lbl_1_bss_2C2C[14], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[14], 450, 348); - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - HuSprAttrReset(lbl_1_bss_34A[temp_r30], 0, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(lbl_1_bss_34A[temp_r30], 1, HUSPR_ATTR_DISPOFF); - HuSprGrpPosSet(lbl_1_bss_34A[temp_r30], (temp_r30 * 50) + 375, 348); - } - } - else { - espAttrReset(lbl_1_bss_2C2C[15], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[15], 450, 348); - espAttrReset(lbl_1_bss_2C2C[16], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[16], 450, 348); - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - HuSprAttrReset(lbl_1_bss_34A[temp_r30], 0, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(lbl_1_bss_34A[temp_r30], 1, HUSPR_ATTR_DISPOFF); - HuSprGrpPosSet(lbl_1_bss_34A[temp_r30], lbl_1_data_B0[temp_r30], 348); - } - } - } - else if (lbl_1_bss_2A6 == 1) { - espAttrReset(lbl_1_bss_2C2C[20], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[20], 450, 414); - } - else if (lbl_1_bss_2A6 == 2) { - espAttrReset(lbl_1_bss_2C2C[21], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[21], 450, 400); - } - for (temp_r30 = 0; temp_r30 < lbl_1_bss_316; temp_r30++) { - espAttrReset(lbl_1_bss_2C2C[lbl_1_bss_318[temp_r30][1]], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[lbl_1_bss_318[temp_r30][1]], 180, 270); - espPriSet(lbl_1_bss_2C2C[lbl_1_bss_318[temp_r30][1]], (temp_r30 * 10) + 20); - } - espPriSet(lbl_1_bss_2C2C[lbl_1_bss_318[mgTypeCurr][1]], 19); - fn_1_9F64(0, lbl_1_bss_318[mgTypeCurr][0], 0); - fn_1_A364(0, 180, 270, 19); - fn_1_AE20(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA + sp8], 0, 450, 216); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - } - else { - espAttrReset(lbl_1_bss_2C2C[3], HUSPR_ATTR_DISPOFF); - espTPLvlSet(lbl_1_bss_2C2C[3], 0.0f); - for (temp_r31 = 0; temp_r31 <= 20; temp_r31++) { - espTPLvlSet(lbl_1_bss_2C2C[3], temp_r31 / 20.0); - HuPrcVSleep(); - } - for (temp_r31 = 0; temp_r31 < lbl_1_bss_316; temp_r31++) { - spC[temp_r31] = -1; - espPriSet(lbl_1_bss_2C2C[lbl_1_bss_318[temp_r31][1]], (temp_r31 * 10) + 20); - } - temp_r26 = 0; - temp_r23 = (lbl_1_bss_316 * 10) + 10; - for (temp_r31 = 0; temp_r31 <= temp_r23; temp_r31++) { - if (temp_r31 <= 20) { - temp_f31 = temp_r31 / 20.0; - espAttrReset(temp_r28, HUSPR_ATTR_DISPOFF); - espPosSet(temp_r28, 288, -100 + (170 * sind(temp_f31 * 90.0f))); - } - if (temp_r31 <= 20) { - temp_f31 = temp_r31 / 20.0; - espAttrReset(lbl_1_bss_2C2C[13], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[13], (-350 * sind(temp_f31 * 90.0f)) + 800, 216); - if (lbl_1_bss_2A6 == 0) { - espAttrReset(lbl_1_bss_2C2C[4], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[4], (-350 * sind(temp_f31 * 90.0f)) + 800, 404); - if (lbl_1_bss_2A4 != 1) { - espAttrReset(lbl_1_bss_2C2C[14], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[14], (-350 * sind(temp_f31 * 90.0f)) + 800, 348); - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - HuSprAttrReset(lbl_1_bss_34A[temp_r30], 0, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(lbl_1_bss_34A[temp_r30], 1, HUSPR_ATTR_DISPOFF); - HuSprGrpPosSet(lbl_1_bss_34A[temp_r30], (temp_r30 * 50) + (((-350 * sind(temp_f31 * 90.0f)) + 800) - 75), 348); - } - } - else { - espAttrReset(lbl_1_bss_2C2C[15], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[15], (-350 * sind(temp_f31 * 90.0f)) + 800, 348); - espAttrReset(lbl_1_bss_2C2C[16], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[16], (-350 * sind(temp_f31 * 90.0f)) + 800, 348); - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - HuSprAttrReset(lbl_1_bss_34A[temp_r30], 0, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(lbl_1_bss_34A[temp_r30], 1, HUSPR_ATTR_DISPOFF); - HuSprGrpPosSet(lbl_1_bss_34A[temp_r30], (800.0 * (1 - sind(temp_f31 * 90.0f))) + lbl_1_data_B0[temp_r30], 348); - } - } - } - else { - if (lbl_1_bss_2A6 == 1) { - espAttrReset(lbl_1_bss_2C2C[20], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[20], (-350 * sind(temp_f31 * 90.0f)) + 800, 414); - } - else if (lbl_1_bss_2A6 == 2) { - espAttrReset(lbl_1_bss_2C2C[21], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[21], (-350 * sind(temp_f31 * 90.0f)) + 800, 400); - } - } - } - for (temp_r30 = 0; temp_r30 < lbl_1_bss_316; temp_r30++) { - if (temp_r31 >= ((lbl_1_bss_316 - temp_r30) - 1) * 10 && temp_r31 <= (((lbl_1_bss_316 - temp_r30) - 1) * 10) + 10) { - temp_f31 = (temp_r31 - (((lbl_1_bss_316 - temp_r30) - 1) * 10)) / 10.0; - if (0.0 == temp_f31) { - temp_r26++; - fn_1_9F64(temp_r26 & 0x1, lbl_1_bss_318[temp_r30][0], 0); - } - espAttrReset(lbl_1_bss_2C2C[lbl_1_bss_318[temp_r30][1]], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[lbl_1_bss_318[temp_r30][1]], 180, 800 + (-530 * sind(temp_f31 * 90.0f))); - espPriSet(lbl_1_bss_2C2C[lbl_1_bss_318[temp_r30][1]], (temp_r30 * 10) + 10); - fn_1_A364(temp_r26 & 0x1, 180, 800 + (-530 * sind(temp_f31 * 90.0f)), (temp_r30 * 10) + 8); - } - } - HuPrcVSleep(); - } - fn_1_AE20(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][0], 10, 450, 216); - } - espAttrReset(lbl_1_bss_2C2C[19], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[19], 204, (sp8 * 38) + 154); - espPriSet(lbl_1_bss_2C2C[19], 7); - espTPLvlSet(lbl_1_bss_2C2C[19], 0.7); - espAttrSet(lbl_1_bss_2C2C[17], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[17], 204, 126); - espPriSet(lbl_1_bss_2C2C[17], 8); - espAttrSet(lbl_1_bss_2C2C[18], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[18], 204, 410); - espPriSet(lbl_1_bss_2C2C[18], 8); - espBankSet(lbl_1_bss_2C2C[18], 1); - fn_1_A364(0, 180, 270, 7); - fn_1_9F64(0, lbl_1_bss_318[mgTypeCurr][0], spA); - fn_1_A364(1, 180, 270, 100); - fn_1_ACAC(lbl_1_bss_20AC[lbl_1_bss_318[mgTypeCurr][0]], lbl_1_bss_2638[lbl_1_bss_318[mgTypeCurr][0]]); - fn_1_ADA0(1); - HuPrcSleep(10); - while (WipeStatGet()) { - HuPrcVSleep(); - } - while (1) { - HuPrcVSleep(); - if (spA != 0) { - espAttrReset(lbl_1_bss_2C2C[17], HUSPR_ATTR_DISPOFF); - } - else { - espAttrSet(lbl_1_bss_2C2C[17], HUSPR_ATTR_DISPOFF); - } - if (spA + 7 < lbl_1_bss_2638[lbl_1_bss_318[mgTypeCurr][0]]) { - espAttrReset(lbl_1_bss_2C2C[18], HUSPR_ATTR_DISPOFF); - } - else { - espAttrSet(lbl_1_bss_2C2C[18], HUSPR_ATTR_DISPOFF); - } - temp_r27 = temp_r29 = 0; - if (HuPadDStkRep[0] & PAD_BUTTON_UP) { - temp_r29 = -1; - } - else if (HuPadDStkRep[0] & PAD_BUTTON_DOWN) { - temp_r29 = 1; - } - else if ((HuPadDStkRep[0] & PAD_BUTTON_LEFT) || (HuPadBtnRep[0] & PAD_BUTTON_TRIGGER_L)) { - temp_r27 = -1; - } - else if ((HuPadDStkRep[0] & PAD_BUTTON_RIGHT) || (HuPadBtnRep[0] & PAD_BUTTON_TRIGGER_R)) { - temp_r27 = 1; - } - if (temp_r29 != 0) { - if (sp8 + temp_r29 < 0 && spA != 0) { - spA--; - fn_1_AE20(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA + sp8], 5, 450, 216); - for (temp_r31 = 0; temp_r31 <= 4; temp_r31++) { - espPosSet(lbl_1_bss_2C2C[17], 204, 126 - (8.0 * sind(temp_r31 * 45.0))); - if (temp_r31 == 2) { - HuAudFXPlay(772); - fn_1_9F64(0, lbl_1_bss_318[mgTypeCurr][0], spA); - } - HuPrcVSleep(); - } - } - else if (sp8 + temp_r29 >= 7 && spA + 7 < lbl_1_bss_2638[lbl_1_bss_318[mgTypeCurr][0]]) { - spA++; - fn_1_AE20(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA + sp8], 5, 450, 216); - for (temp_r31 = 0; temp_r31 <= 4; temp_r31++) { - espPosSet(lbl_1_bss_2C2C[18], 204, 410 + (8.0 * sind(temp_r31 * 45.0))); - if (temp_r31 == 2) { - HuAudFXPlay(772); - fn_1_9F64(0, lbl_1_bss_318[mgTypeCurr][0], spA); - } - HuPrcVSleep(); - } - } - else if (sp8 + temp_r29 >= 0 && (spA + sp8 + temp_r29) < lbl_1_bss_2638[lbl_1_bss_318[mgTypeCurr][0]]) { - fn_1_AE20(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA + sp8 + temp_r29], 5, 450, 216); - for (temp_r31 = 0; temp_r31 <= 4; temp_r31++) { - espPosSet(lbl_1_bss_2C2C[19], 204, ((sp8 * 38) + 154) + (temp_r29 * (38.0 * sind(22.5 * temp_r31)))); - HuPrcVSleep(); - if (temp_r31 == 2) { - HuAudFXPlay(772); - } - } - sp8 += temp_r29; - } - if (lbl_1_bss_2A4 == 0) { - fn_1_BFA0(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA + sp8]); - } - } - if (temp_r27 && lbl_1_bss_316 > 1) { - HuAudFXPlay(2172); - fn_1_9F64(0, lbl_1_bss_318[mgTypeCurr][0], spA); - temp_r30 = mgTypeCurr; - if (mgTypeCurr + temp_r27 < 0) { - mgTypeCurr = lbl_1_bss_316 - 1; - } - else { - if (mgTypeCurr + temp_r27 >= lbl_1_bss_316) { - mgTypeCurr = 0; - } - else { - mgTypeCurr += temp_r27; - } - } - espAttrSet(lbl_1_bss_2C2C[19], HUSPR_ATTR_DISPOFF); - espAttrSet(lbl_1_bss_2C2C[17], HUSPR_ATTR_DISPOFF); - espAttrSet(lbl_1_bss_2C2C[18], HUSPR_ATTR_DISPOFF); - fn_1_ADA0(0); - for (temp_r31 = 0; temp_r31 < lbl_1_bss_316; temp_r31++) { - espPriSet(lbl_1_bss_2C2C[lbl_1_bss_318[temp_r31][1]], 30); - } - espPriSet(lbl_1_bss_2C2C[lbl_1_bss_318[mgTypeCurr][1]], 25); - espPriSet(lbl_1_bss_2C2C[lbl_1_bss_318[temp_r30][1]], 15); - fn_1_9F64(1, lbl_1_bss_318[temp_r30][0], spA); - fn_1_A364(1, 180, 270, 14); - fn_1_9F64(0, lbl_1_bss_318[mgTypeCurr][0], 0); - fn_1_AE20(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][0], 20, 450, 216); - for (temp_r31 = 0; temp_r31 <= 20; temp_r31++) { - if (temp_r31 == 10) { - espPriSet(lbl_1_bss_2C2C[lbl_1_bss_318[mgTypeCurr][1]], 10); - } - espPosSet(lbl_1_bss_2C2C[lbl_1_bss_318[mgTypeCurr][1]], (300.0 * sind(temp_r31 * 9.0)) + 180.0, 270); - if (temp_r31 >= 10) { - temp_r24 = 7; - } - else { - temp_r24 = 20; - } - fn_1_A364(0, (300.0 * sind(temp_r31 * 9.0)) + 180.0, 270, temp_r24); - HuPrcVSleep(); - } - fn_1_9F64(0, lbl_1_bss_318[mgTypeCurr][0], 0); - espPriSet(lbl_1_bss_2C2C[lbl_1_bss_318[mgTypeCurr][1]], 10); - fn_1_A364(0, 180.0, 270, 7); - espAttrReset(lbl_1_bss_2C2C[19], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[19], 204, 154); - fn_1_ACAC(lbl_1_bss_20AC[lbl_1_bss_318[mgTypeCurr][0]], lbl_1_bss_2638[lbl_1_bss_318[mgTypeCurr][0]]); - if (lbl_1_bss_318[mgTypeCurr][0] != 9) { - fn_1_ADA0(1); - } - sp8 = spA = 0; - if (lbl_1_bss_2A4 == 0) { - fn_1_BFA0(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA + sp8]); - } - } - if ((HuPadBtnDown[0] & PAD_BUTTON_A) && lbl_1_bss_2A6 == 2) { - temp_r31 = lbl_1_bss_318[mgTypeCurr][0]; - if (!GWMGAvailGet(lbl_1_bss_264C[temp_r31][spA + sp8] + 401)) { - HuAudFXPlay(4); - continue; - } - else { - if (lbl_1_bss_318[mgTypeCurr][0] != 9) { - HuAudFXPlay(2); - temp_r31 = lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA + sp8] + 401; - if (!GWMGCustomGet(temp_r31)) { - GWMGCustomSet(temp_r31); - } - else { - GWMGCustomReset(temp_r31); - } - fn_1_9F64(0, lbl_1_bss_318[mgTypeCurr][0], spA); - fn_1_AE20(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA + sp8], 0, 450, 216); - fn_1_B9B8(); - } - else { - if (lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA + sp8] >= 0) { - HuAudFXPlay(2); - temp_r31 = lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA + sp8] + 401; - GWMGCustomReset(temp_r31); - fn_1_B9B8(); - if (lbl_1_bss_2638[lbl_1_bss_318[mgTypeCurr][0]] <= spA + sp8) { - if (--sp8 < 0) { - sp8 = 0; - spA--; - } - espPosSet(lbl_1_bss_2C2C[19], 204, (sp8 * 38) + 154); - } - fn_1_9F64(0, lbl_1_bss_318[mgTypeCurr][0], spA); - fn_1_AE20(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA + sp8], 0, 450, 216); - } - } - } - } - if (HuPadBtnDown[0] & PAD_BUTTON_B) { - HuAudFXPlay(3); - if (lbl_1_bss_2A6 == 2 && !fn_1_BB24()) { - continue; - } - temp_r25 = 0; - break; - } - if (!(HuPadBtnDown[0] & PAD_BUTTON_A)) { - continue; - } - if (lbl_1_bss_2A6) { - continue; - } - temp_r31 = lbl_1_bss_318[mgTypeCurr][0]; - if (!GWMGAvailGet(lbl_1_bss_264C[temp_r31][spA + sp8] + 401)) { - HuAudFXPlay(4); - continue; - } - HuAudFXPlay(773); - GWSystem.mg_next = lbl_1_bss_264C[temp_r31][spA + sp8]; - if (lbl_1_bss_2A4 == 0) { - GWPlayerCfg[0].group = 0; - GWPlayerCfg[1].group = 1; - GWPlayerCfg[2].group = 2; - GWPlayerCfg[3].group = 3; - if ((temp_r31 == 1 || temp_r31 == 2) && !fn_1_C0C8(0)) { - continue; - } - fn_1_2783C(1); - } - else if (lbl_1_bss_2A4 == 1) { - fn_1_2783C(2); - } - while (1) { - HuPrcVSleep(); - } - } - espAttrSet(lbl_1_bss_2C2C[19], HUSPR_ATTR_DISPOFF); - espAttrSet(lbl_1_bss_2C2C[17], HUSPR_ATTR_DISPOFF); - espAttrSet(lbl_1_bss_2C2C[18], HUSPR_ATTR_DISPOFF); - if (lbl_1_bss_2A6 == 2) { - for (temp_r31 = 0; temp_r31 < 7; temp_r31++) { - HuSprAttrSet(lbl_1_bss_2E2, temp_r31, HUSPR_ATTR_DISPOFF); - } - } - - fn_1_ADA0(0); - fn_1_AE20(-1, 5, 450, 216); - - for (temp_r31 = 0; temp_r31 <= 20; temp_r31++) { - if (temp_r31 <= 20) { - temp_f31 = temp_r31 / 20.0; - espAttrReset(temp_r28, HUSPR_ATTR_DISPOFF); - espPosSet(temp_r28, 288, -100.0 + (170 * cosd(temp_f31 * 90.0f))); - } - if (temp_r31 <= 10) { - temp_f31 = temp_r31 / 10.0; - espAttrReset(lbl_1_bss_2C2C[13], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[13], (-350 * cosd(temp_f31 * 90.0f)) + 800, 216); - if (lbl_1_bss_2A6 == 0) { - espPosSet(lbl_1_bss_2C2C[4], (-350 * cosd(temp_f31 * 90.0f)) + 800, 404); - if (lbl_1_bss_2A4 != 1) { - espPosSet(lbl_1_bss_2C2C[14], (-350 * cosd(temp_f31 * 90.0f)) + 800, 348); - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - - HuSprGrpPosSet(lbl_1_bss_34A[temp_r30], (temp_r30 * 50) + (((-350 * cosd(temp_f31 * 90.0f)) + 800) - 75), 348); - } - } - else { - espPosSet(lbl_1_bss_2C2C[15], (-350 * cosd(temp_f31 * 90.0f)) + 800, 348); - espPosSet(lbl_1_bss_2C2C[16], (-350 * cosd(temp_f31 * 90.0f)) + 800, 348); - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - HuSprGrpPosSet(lbl_1_bss_34A[temp_r30], (800 * (1 - cosd(temp_f31 * 90.0f))) + lbl_1_data_B0[temp_r30], 348); - } - } - } - else { - if (lbl_1_bss_2A6 == 1) { - espAttrReset(lbl_1_bss_2C2C[20], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[20], (-350 * cosd(temp_f31 * 90.0f)) + 800, 414); - } - else if (lbl_1_bss_2A6 == 2) { - espAttrReset(lbl_1_bss_2C2C[21], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[21], (-350 * cosd(temp_f31 * 90.0f)) + 800, 400); - } - } - } - temp_f31 = temp_r31 / 20.0; - for (temp_r30 = 0; temp_r30 < lbl_1_bss_316; temp_r30++) { - espPosSet(lbl_1_bss_2C2C[lbl_1_bss_318[temp_r30][1]], 180, 800 + (-530 * cosd(temp_f31 * 90.0f))); - } - fn_1_A364(0, 180, (-530.0 * cosd(temp_f31 * 90.0f)) + 800.0, 10); - fn_1_A364(1, 180, (-530.0 * cosd(temp_f31 * 90.0f)) + 800.0, 100); - HuPrcVSleep(); - } - fn_1_A624(); - for (temp_r31 = 0; temp_r31 <= 10; temp_r31++) { - espTPLvlSet(lbl_1_bss_2C2C[3], 1.0 - (temp_r31 / 10.0)); - HuPrcVSleep(); - } - mgInstExitEnableF = 0; - return temp_r25; -} - -void fn_1_9E44(void) -{ - s16 j; - s16 i; - for (i = 0; i < 2; i++) { - for (j = 0; j < 7; j++) { - s16 window = HuWinCreate(0, j * 24, 268, 32, 0); - WindowData *windowP; - lbl_1_bss_352[i][j] = window; - windowP = &winData[window]; - windowP->spacing_x = 0; - HuWinBGTPLvlSet(window, 0); - HuWinMesSpeedSet(window, 0); - HuWinDispOff(window); - (void)i; - } - } -} - -void fn_1_9F64(s16 arg0, s16 arg1, s16 arg2) -{ - s16 i; - s16 no; - s16 window; - if (lbl_1_bss_2A6 == 2 && lbl_1_bss_30C == arg0) { - for (i = 0; i < 4; i++) { - HuSprAttrSet(lbl_1_bss_2E2, i + 14, HUSPR_ATTR_DISPOFF); - } - } - if (arg1 == 9) { - for (i = 0; i < 7; i++) { - HuSprAttrSet(lbl_1_bss_2E2, i + (arg0 * 7), HUSPR_ATTR_DISPOFF); - window = lbl_1_bss_352[arg0][i]; - if (i + arg2 >= lbl_1_bss_2638[9]) { - HuWinDispOff(window); - } - else { - no = lbl_1_bss_264C[9][i + arg2]; - if (no < 0) { - lbl_1_bss_30C = arg0; - no = -no - 1; - lbl_1_bss_30E[no] = i; - HuSprAttrReset(lbl_1_bss_2E2, no + 14, HUSPR_ATTR_DISPOFF); - HuSprPosSet(lbl_1_bss_2E2, no + 14, 24 + lbl_1_bss_2F4[arg0].x, (lbl_1_bss_2F4[arg0].y + (i * 38)) - 116); - HuWinDispOff(window); - } - else { - HuWinMesSet(window, mgInfoTbl[no].name_mess); - HuWinDispOn(window); - } - } - } - } - else { - for (i = 0; i < 7; i++) { - window = lbl_1_bss_352[arg0][i]; - if (i + arg2 >= lbl_1_bss_2638[arg1]) { - HuWinDispOff(window); - if (lbl_1_bss_2A6 == 2) { - HuSprAttrSet(lbl_1_bss_2E2, i + (arg0 * 7), HUSPR_ATTR_DISPOFF); - } - } - else { - no = lbl_1_bss_264C[arg1][i + arg2]; - if (GWMGAvailGet(no + 401)) { - HuWinMesSet(window, mgInfoTbl[no].name_mess); - } - else { - HuWinMesSet(window, MAKE_MESSID(0x23, 0x00)); - } - HuWinDispOn(window); - if (lbl_1_bss_2A6 == 2) { - if (GWMGCustomGet(no + 401)) { - HuSprAttrReset(lbl_1_bss_2E2, i + (arg0 * 7), HUSPR_ATTR_DISPOFF); - } - else { - HuSprAttrSet(lbl_1_bss_2E2, i + (arg0 * 7), HUSPR_ATTR_DISPOFF); - } - } - } - } - } -} - -void fn_1_A364(s16 arg0, float arg1, float arg2, s16 arg3) -{ - s16 i; - lbl_1_bss_2F4[arg0].x = arg1; - lbl_1_bss_2F4[arg0].y = arg2; - for (i = 0; i < 7; i++) { - s16 window = lbl_1_bss_352[arg0][i]; - HuWinPosSet(window, arg1 - 105, (arg2 - 136) + (i * 38)); - HuWinPriSet(window, arg3); - if (lbl_1_bss_2A6 == 2) { - HuSprPosSet(lbl_1_bss_2E2, i + (arg0 * 7), arg1 + 24, arg2 + (i * 38) - 116); - HuSprPriSet(lbl_1_bss_2E2, i + (arg0 * 7), arg3); - } - } - if (lbl_1_bss_2A6 == 2 && lbl_1_bss_30C == arg0) { - for (i = 0; i < 4; i++) { - HuSprPosSet(lbl_1_bss_2E2, i + 14, arg1 + 24, arg2 + (lbl_1_bss_30E[i] * 38) - 116); - HuSprPriSet(lbl_1_bss_2E2, i + 14, arg3 + 1); - } - } -} - -void fn_1_A624(void) -{ - s16 j; - s16 i; - - for (i = 0; i < 2; i++) { - for (j = 0; j < 7; j++) { - HuWinKill(lbl_1_bss_352[i][j]); - } - } -} - -void fn_1_A6A8(void) -{ - s16 spA[2]; - s16 i; - AnimData *anim; - s16 sprite; - s16 group; - s16 player; - s16 bank; - s16 iscom; - if (lbl_1_bss_2A4 == 1) { - spA[0] = 0; - spA[1] = 2; - for (i = 0; i < 4; i++) { - if (GWPlayerCfg[i].group >= 2) { - lbl_1_bss_340[i] = 0; - } - else { - lbl_1_bss_340[spA[GWPlayerCfg[i].group]] = i; - spA[GWPlayerCfg[i].group]++; - } - } - } - else { - for (i = 0; i < 4; i++) { - lbl_1_bss_340[i] = i; - } - } - for (i = 0; i < 4; i++) { - if (lbl_1_bss_34A[i]) { - HuSprGrpKill(lbl_1_bss_34A[i]); - } - player = lbl_1_bss_340[i]; - group = HuSprGrpCreate(2); - lbl_1_bss_34A[i] = group; - anim = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 0x10) + GWPlayerCfg[player].character, MEMORY_DEFAULT_NUM)); - sprite = HuSprCreate(anim, 200, 0); - HuSprGrpMemberSet(group, 0, sprite); - if (iscom = GWPlayerCfg[player].iscom) { - anim = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 0x27), MEMORY_DEFAULT_NUM)); - bank = GWPlayerCfg[player].diff; - } - else { - anim = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 0x26), MEMORY_DEFAULT_NUM)); - bank = lbl_1_bss_340[i]; - } - sprite = HuSprCreate(anim, 200, bank); - HuSprGrpMemberSet(group, 1, sprite); - HuSprPosSet(group, 1, 0, 20); - HuSprAttrSet(lbl_1_bss_34A[i], 0, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(lbl_1_bss_34A[i], 1, HUSPR_ATTR_DISPOFF); - } - if (lbl_1_bss_2E6) { - HuSprGrpKill(lbl_1_bss_2E6); - } - group = HuSprGrpCreate(5); - lbl_1_bss_2E6 = group; - anim = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 0x2D), MEMORY_DEFAULT_NUM)); - for (i = 0; i < 5; i++) { - sprite = HuSprCreate(anim, 5, 0); - HuSprGrpMemberSet(group, i, sprite); - HuSprPosSet(group, i, (i * 16) - 32, 0); - } - HuSprBankSet(group, 2, 10); - HuSprGrpPosSet(group, 284, 410); - fn_1_ADA0(0); - if (lbl_1_bss_2A6 == 2 && lbl_1_bss_2E2 == 0) { - anim = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 0x2B), MEMORY_DEFAULT_NUM)); - lbl_1_bss_2E2 = HuSprGrpCreate(18); - for (i = 0; i < 14; i++) { - sprite = HuSprCreate(anim, 8, 0); - HuSprGrpMemberSet(lbl_1_bss_2E2, i, sprite); - HuSprColorSet(lbl_1_bss_2E2, i, 255, 0, 0); - HuSprAttrSet(lbl_1_bss_2E2, i, HUSPR_ATTR_ADDCOL | HUSPR_ATTR_DISPOFF); - HuSprTPLvlSet(lbl_1_bss_2E2, i, 0.8f); - } - for (i = 0; i < 4; i++) { - anim = HuSprAnimRead(HuDataReadNum(lbl_1_data_C0[i], MEMORY_DEFAULT_NUM)); - sprite = HuSprCreate(anim, 8, 0); - HuSprGrpMemberSet(lbl_1_bss_2E2, i + 14, sprite); - HuSprAttrSet(lbl_1_bss_2E2, i + 14, HUSPR_ATTR_DISPOFF); - } - HuSprGrpPosSet(lbl_1_bss_2E2, 0, 0); - } - lbl_1_data_A0 = -1; - (void)sprite; -} - -void fn_1_ACAC(s16 arg0, s16 arg1) -{ - s16 digit; - digit = arg0 / 10; - HuSprBankSet(lbl_1_bss_2E6, 0, digit); - arg0 -= digit * 10; - HuSprBankSet(lbl_1_bss_2E6, 1, arg0); - digit = arg1 / 10; - HuSprBankSet(lbl_1_bss_2E6, 3, digit); - arg1 -= digit * 10; - HuSprBankSet(lbl_1_bss_2E6, 4, arg1); -} - -void fn_1_ADA0(s32 arg0) -{ - s16 i; - for (i = 0; i < 5; i++) { - if (arg0) { - HuSprAttrReset(lbl_1_bss_2E6, i, HUSPR_ATTR_DISPOFF); - } - else { - HuSprAttrSet(lbl_1_bss_2E6, i, HUSPR_ATTR_DISPOFF); - } - } -} - -void fn_1_AED0(void); - -void fn_1_AE20(s16 arg0, s16 arg1, s16 arg2, s16 arg3) -{ - lbl_1_bss_2F0 = arg0; - lbl_1_bss_2E8 = arg1; - lbl_1_bss_2EE = arg2; - lbl_1_bss_2EC = arg3; - HuPrcChildCreate(fn_1_AED0, 100, 12288, 0, HuPrcCurrentGet()); -} - -void fn_1_AED0(void) -{ - s16 temp_r31; - s16 temp_r30; - AnimData *temp_r29; - s16 temp_r28; - s16 temp_r27; - s32 temp_r26; - temp_r27 = lbl_1_data_A0; - if (lbl_1_bss_2F0 < 0) { - for (temp_r30 = 1; temp_r30 <= lbl_1_bss_2E8; temp_r30++) { - HuSprGrpTPLvlSet(temp_r27, 1.0 - (temp_r30 / lbl_1_bss_2E8)); - HuPrcVSleep(); - } - if (temp_r27 != -1) { - HuSprGrpKill(temp_r27); - } - lbl_1_data_A0 = -1; - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } - } - lbl_1_data_A0 = HuSprGrpCreate(4); - temp_r26 = mgInfoTbl[lbl_1_bss_2F0].mg_pic[0]; - if (GWMGAvailGet(lbl_1_bss_2F0 + 401)) { - temp_r29 = HuSprAnimRead(HuDataReadNumHeapShortForce(temp_r26, MEMORY_DEFAULT_NUM, HEAP_DATA)); - } - else { - temp_r29 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 0x2C)); - } - temp_r28 = HuSprCreate(temp_r29, 200, 0); - HuSprGrpMemberSet(lbl_1_data_A0, 0, temp_r28); - HuSprGrpPosSet(lbl_1_data_A0, lbl_1_bss_2EE, lbl_1_bss_2EC); - HuSprGrpScaleSet(lbl_1_data_A0, 0.6f, 0.6f); - temp_r31 = 0; - if (mgInfoTbl[lbl_1_bss_2F0].flag & 0x1) { - temp_r29 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 0x24)); - temp_r28 = HuSprCreate(temp_r29, 190, 0); - HuSprGrpMemberSet(lbl_1_data_A0, temp_r31 + 1, temp_r28); - HuSprPosSet(lbl_1_data_A0, temp_r31 + 1, (355.0 / 3.0) - ((temp_r31 * 50) * (100.0 / 60.0)), (355.0f / 3.0f)); - HuSprScaleSet(lbl_1_data_A0, temp_r31 + 1, 100.0f / 60.0f, 100.0f / 60.0f); - temp_r31++; - } - if (mgInfoTbl[lbl_1_bss_2F0].flag & 0x2) { - temp_r29 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 0x23)); - temp_r28 = HuSprCreate(temp_r29, 190, 0); - HuSprGrpMemberSet(lbl_1_data_A0, temp_r31 + 1, temp_r28); - HuSprPosSet(lbl_1_data_A0, temp_r31 + 1, (355.0 / 3.0) - ((temp_r31 * 50) * (100.0 / 60.0)), (355.0f / 3.0f)); - HuSprScaleSet(lbl_1_data_A0, temp_r31 + 1, 100.0f / 60.0f, 100.0f / 60.0f); - temp_r31++; - } - if (GWMGCustomGet(lbl_1_bss_2F0 + 401)) { - temp_r29 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 0x22)); - temp_r28 = HuSprCreate(temp_r29, 190, 0); - HuSprGrpMemberSet(lbl_1_data_A0, temp_r31 + 1, temp_r28); - HuSprPosSet(lbl_1_data_A0, temp_r31 + 1, (355.0 / 3.0) - ((temp_r31 * 50) * (100.0 / 60.0)), (355.0f / 3.0f)); - HuSprScaleSet(lbl_1_data_A0, temp_r31 + 1, 100.0f / 60.0f, 100.0f / 60.0f); - temp_r31++; - } - for (temp_r30 = 1; temp_r30 <= lbl_1_bss_2E8; temp_r30++) { - if (temp_r27 != -1) { - HuSprGrpTPLvlSet(temp_r27, 1.0 - (temp_r30 / lbl_1_bss_2E8)); - } - HuSprGrpTPLvlSet(lbl_1_data_A0, temp_r30 / lbl_1_bss_2E8); - HuPrcVSleep(); - } - if (temp_r27 != -1) { - HuSprGrpKill(temp_r27); - } - lbl_1_bss_348 = lbl_1_bss_2F0; - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } -} - -s16 fn_1_B5A8(s16 *arg0, s16 *arg1) -{ - s16 mgNo = GWSystem.mg_next; - s16 mgType = mgInfoTbl[mgNo].type; - s16 ret; - s16 i; - for (i = ret = 0; i < lbl_1_bss_316; i++) { - if (mgType == lbl_1_bss_318[i][0]) { - ret = i; - break; - } - } - for (i = 0; i < lbl_1_bss_2638[mgType]; i++) { - if (mgNo == lbl_1_bss_264C[mgType][i]) { - break; - } - } - *arg1 = i; - i = i - 3; - if (i < 0) { - i = 0; - } - if (lbl_1_bss_2638[mgType] >= 7 && i + 7 >= lbl_1_bss_2638[mgType]) { - i = lbl_1_bss_2638[mgType] - 7; - } - *arg0 = i; - if (lbl_1_bss_2638[mgType] < 7) { - *arg0 = 0; - } - *arg1 = *arg1 - *arg0; - return ret; -} - -void fn_1_B770(void) -{ - if (lbl_1_bss_2A6 == 2) { - lbl_1_bss_316 = 5; - lbl_1_bss_318[0][0] = 0; - lbl_1_bss_318[0][1] = 5; - lbl_1_bss_318[1][0] = 1; - lbl_1_bss_318[1][1] = 6; - lbl_1_bss_318[2][0] = 2; - lbl_1_bss_318[2][1] = 7; - lbl_1_bss_318[3][0] = 4; - lbl_1_bss_318[3][1] = 8; - lbl_1_bss_318[4][0] = 9; - lbl_1_bss_318[4][1] = 11; - fn_1_B9B8(); - } - else if (lbl_1_bss_2A4 == 0 || lbl_1_bss_2A6 == 1) { - lbl_1_bss_316 = 7; - lbl_1_bss_318[0][0] = 0; - lbl_1_bss_318[0][1] = 5; - lbl_1_bss_318[1][0] = 1; - lbl_1_bss_318[1][1] = 6; - lbl_1_bss_318[2][0] = 2; - lbl_1_bss_318[2][1] = 7; - lbl_1_bss_318[3][0] = 4; - lbl_1_bss_318[3][1] = 8; - lbl_1_bss_318[4][0] = 3; - lbl_1_bss_318[4][1] = 9; - lbl_1_bss_318[5][0] = 6; - lbl_1_bss_318[5][1] = 10; - lbl_1_bss_318[6][0] = 8; - lbl_1_bss_318[6][1] = 12; - } - else if (lbl_1_bss_2A4 == 1) { - lbl_1_bss_316 = 1; - lbl_1_bss_318[0][0] = 2; - lbl_1_bss_318[0][1] = 7; - } -} - -void fn_1_B9B8(void) -{ - s16 customNum; - s16 i; - for (i = customNum = 0; i < 4; i++) { - s16 j; - lbl_1_bss_264C[9][customNum++] = -i - 1; - for (j = 0; j < lbl_1_bss_2638[lbl_1_bss_318[i][0]]; j++) { - if (GWMGCustomGet(lbl_1_bss_264C[lbl_1_bss_318[i][0]][j] + 401)) { - lbl_1_bss_264C[9][customNum++] = lbl_1_bss_264C[lbl_1_bss_318[i][0]][j]; - } - } - } - lbl_1_bss_2638[9] = customNum; -} - -s32 fn_1_BB24(void) -{ - char messInsert[4][6]; - s16 customNum[4]; - float winSize[2]; - static char messInsertBase[6] = { "\x1E\x03" - "0" - "\x1E\x08" }; - static s16 customMinNum[4] = { 4, 3, 3, 2 }; - s16 window; - s16 j; - s16 i; - WindowData *windowP; - s16 choice; - for (i = 0; i < 4; i++) { - customNum[i] = 0; - for (j = 0; j < lbl_1_bss_20AC[lbl_1_data_A2[i]]; j++) { - if (GWMGCustomGet(lbl_1_bss_20C0[lbl_1_data_A2[i]][j] + 401)) { - customNum[i]++; - } - } - } - if (customNum[0] >= 4 && customNum[1] >= 3 && customNum[2] >= 3 && customNum[3] >= 2) { - HuWinMesMaxSizeGet(1, winSize, MAKE_MESSID(0x28, 0x30)); - window = HuWinExCreateStyled(-10000, -10000, winSize[0], winSize[1], -1, 1); - windowP = &winData[window]; - windowP->active_pad = 1; - HuWinMesPalSet(window, 7, 0, 0, 0); - HuWinPriSet(window, 3); - HuWinExAnimIn(window); - HuWinMesSet(window, MAKE_MESSID(0x28, 0x30)); - HuWinMesWait(window); - HuWinExAnimOut(window); - HuWinExCleanup(window); - return 1; - } - else { - HuWinInsertMesSizeGet(MAKE_MESSID_PTR(messInsertBase), 0); - HuWinInsertMesSizeGet(MAKE_MESSID_PTR(messInsertBase), 1); - HuWinInsertMesSizeGet(MAKE_MESSID_PTR(messInsertBase), 2); - HuWinInsertMesSizeGet(MAKE_MESSID_PTR(messInsertBase), 3); - HuWinMesMaxSizeGet(3, winSize, MAKE_MESSID(0x28, 0x2B), MAKE_MESSID(0x28, 0x2C), MAKE_MESSID(0x28, 0x2D)); - window = HuWinExCreateStyled(-10000, -10000, winSize[0], winSize[1], -1, 1); - windowP = &winData[window]; - windowP->active_pad = 1; - HuWinMesPalSet(window, 7, 0, 0, 0); - HuWinPriSet(window, 3); - HuWinExAnimIn(window); - for (j = 0; j < 4; j++) { - strcpy(&messInsert[j][0], messInsertBase); - } - for (j = 0; j < 4; j++) { - if (customNum[j] >= customMinNum[j]) { - messInsert[j][1] = 5; - } - else { - messInsert[j][2] = (customMinNum[j] + '0' - customNum[j]); - } - HuWinInsertMesSet(window, MAKE_MESSID_PTR(&messInsert[j][0]), (s16)j); - } - HuWinMesSet(window, MAKE_MESSID(0x28, 0x2C)); - HuWinMesWait(window); - HuWinMesSet(window, MAKE_MESSID(0x28, 0x2B)); - HuWinMesWait(window); - HuWinMesSet(window, MAKE_MESSID(0x28, 0x2D)); - HuWinMesWait(window); - choice = HuWinChoiceGet(window, 0); - HuWinExAnimOut(window); - HuWinExCleanup(window); - if (choice == 0) { - return 0; - } - else { - return 1; - } - } -} - -void fn_1_BFA0(s16 arg0) -{ - s16 i; - for (i = 0; i < 4; i++) { - HuSprGrpTPLvlSet(lbl_1_bss_34A[i], 1.0f); - } - if (mgInfoTbl[arg0].ovl == OVL_M450) { - HuSprGrpTPLvlSet(lbl_1_bss_34A[1], 0.0f); - } - if (mgInfoTbl[arg0].type == 6 || mgInfoTbl[arg0].type == 8) { - HuSprGrpTPLvlSet(lbl_1_bss_34A[2], 0.0f); - HuSprGrpTPLvlSet(lbl_1_bss_34A[3], 0.0f); - return; - } -} - -float lbl_1_data_E0[2][4] = { -132, -12, 60, 132, -132, -60, 60, 132 }; - -u8 lbl_1_data_100[16] = { 0, 1, 2, 3, 1, 0, 2, 3, 2, 0, 1, 3, 3, 0, 1, 2 }; - -u8 lbl_1_data_110[12] = { - 0, - 1, - 2, - 3, - 0, - 2, - 1, - 3, - 0, - 3, - 1, - 2, -}; - -s32 fn_1_C0C8(s32 arg0) -{ - s16 temp_r31; - s16 temp_r30; - float *temp_r29; - s16 temp_r28; - AnimData *temp_r27; - s16 temp_r26; - s16 temp_r25; - s16 temp_r24; - s16 temp_r23; - WindowData *temp_r22; - AnimData *temp_r21; - - float temp_f31; - float temp_f30; - float temp_f29; - if (mgTypeCurr == 1) { - temp_r29 = &lbl_1_data_E0[0][0]; - temp_f29 = 216; - } - else { - temp_r29 = &lbl_1_data_E0[1][0]; - temp_f29 = 288; - } - temp_r28 = HuSprGrpCreate(16); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r27 = HuSprAnimReadFile(lbl_1_bss_8.unk24[temp_r31].unk68 + DATA_MAKE_NUM(DATADIR_MGMODE, 0x67)); - temp_r26 = HuSprCreate(temp_r27, 4, 0); - HuSprGrpMemberSet(temp_r28, 4 * temp_r31, temp_r26); - HuSprPosSet(temp_r28, 4 * temp_r31, temp_r29[temp_r31], 0); - if (mgTypeCurr == 1) { - if (temp_r31 == 0) { - temp_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 0x75)); - } - else { - temp_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 0x76)); - } - } - else { - if (temp_r31 < 2) { - temp_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 0x75)); - } - else { - temp_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 0x76)); - } - } - temp_r26 = HuSprCreate(temp_r27, 3, 0); - HuSprGrpMemberSet(temp_r28, (4 * temp_r31) + 1, temp_r26); - HuSprPosSet(temp_r28, (4 * temp_r31) + 1, temp_r29[temp_r31], 0); - if (GWPlayerCfg[temp_r31].iscom) { - temp_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 0x74)); - } - else { - temp_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 0x70) + GWPlayerCfg[temp_r31].pad_idx); - } - temp_r26 = HuSprCreate(temp_r27, 2, 1); - HuSprGrpMemberSet(temp_r28, (4 * temp_r31) + 2, temp_r26); - HuSprPosSet(temp_r28, (4 * temp_r31) + 2, temp_r29[temp_r31], 0); - temp_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 0x7B)); - temp_r26 = HuSprCreate(temp_r27, 2, GWPlayerCfg[temp_r31].diff); - HuSprGrpMemberSet(temp_r28, (4 * temp_r31) + 3, temp_r26); - HuSprPosSet(temp_r28, (4 * temp_r31) + 3, temp_r29[temp_r31], 38); - if (!GWPlayerCfg[temp_r31].iscom) { - HuSprAttrSet(temp_r28, (4 * temp_r31) + 3, HUSPR_ATTR_DISPOFF); - } - } - temp_r25 = HuSprGrpCreate(8); - temp_r27 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 0x65), MEMORY_DEFAULT_NUM)); - temp_r21 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 0x66), MEMORY_DEFAULT_NUM)); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r26 = HuSprCreate(temp_r27, 3, temp_r31); - HuSprGrpMemberSet(temp_r25, (temp_r31 * 2), temp_r26); - HuSprPosSet(temp_r25, (temp_r31 * 2), ((temp_r31 % 2) * 380) - 190, ((temp_r31 / 2) * 156) - 68); - temp_r26 = HuSprCreate(temp_r21, 4, temp_r31); - HuSprGrpMemberSet(temp_r25, (temp_r31 * 2) + 1, temp_r26); - HuSprTPLvlSet(temp_r25, (temp_r31 * 2) + 1, 0.5f); - HuSprPosSet(temp_r25, (temp_r31 * 2) + 1, ((temp_r31 % 2) * 380) - 190, ((temp_r31 / 2) * 156) - 60); - } - espTPLvlSet(lbl_1_bss_2C2C[22], 0.9f); - espAttrReset(lbl_1_bss_2C2C[22], HUSPR_ATTR_DISPOFF); - espAttrReset(lbl_1_bss_2C2C[24], HUSPR_ATTR_DISPOFF); - espAttrReset(lbl_1_bss_2C2C[23], HUSPR_ATTR_DISPOFF); - espAttrReset(lbl_1_bss_2C2C[25], HUSPR_ATTR_DISPOFF); - espAttrReset(lbl_1_bss_2C2C[26], HUSPR_ATTR_DISPOFF); - espBankSet(lbl_1_bss_2C2C[25], 1); - espPosSet(lbl_1_bss_2C2C[22], 288, 240); - for (temp_r31 = 0; temp_r31 <= 30; temp_r31++) { - if (temp_r31 <= 20) { - temp_f30 = temp_r31 / 20.0; - temp_f31 = -300 + (560 * sind(temp_f30 * 90.0f)); - espPosSet(lbl_1_bss_2C2C[22], 288, temp_f31); - espPosSet(lbl_1_bss_2C2C[24], 288, temp_f31 - 50); - espPosSet(lbl_1_bss_2C2C[23], temp_f29, temp_f31 + 20); - espPosSet(lbl_1_bss_2C2C[26], 108, temp_f31 + 20); - espPosSet(lbl_1_bss_2C2C[25], 468, temp_f31 + 20); - HuSprGrpPosSet(temp_r28, 288, temp_f31 + 20); - HuSprGrpPosSet(temp_r25, 288, temp_f31); - } - else { - temp_f30 = (temp_r31 - 20) / 10.0; - temp_f31 = 240 + (20 * cosd(temp_f30 * 90.0f)); - espPosSet(lbl_1_bss_2C2C[22], 288, temp_f31); - espPosSet(lbl_1_bss_2C2C[24], 288, temp_f31 - 50); - espPosSet(lbl_1_bss_2C2C[23], temp_f29, temp_f31 + 20); - espPosSet(lbl_1_bss_2C2C[26], 108, temp_f31 + 20); - espPosSet(lbl_1_bss_2C2C[25], 468, temp_f31 + 20); - HuSprGrpPosSet(temp_r28, 288, temp_f31 + 20); - HuSprGrpPosSet(temp_r25, 288, temp_f31); - } - HuPrcVSleep(); - } - temp_r24 = fn_1_25CA8(0x1A0020); - temp_r22 = &winData[temp_r24]; - HuWinPriSet(temp_r24, 5); - HuWinPosSet(temp_r24, (576.0f - temp_r22->w) / 2.0f, 310.0f); - temp_r30 = 0; - temp_r23 = 0; - while (1) { - s16 spC; - HuPrcVSleep(); - if (HuPadBtnDown[0] & PAD_BUTTON_B) { - HuAudFXPlay(3); - goto loop_end; - } - spC = 0; - if (HuPadDStkRep[0] & PAD_BUTTON_LEFT) { - HuAudFXPlay(772); - for (temp_r31 = 0; temp_r31 <= 5; temp_r31++) { - temp_f30 = temp_r31 / 5.0; - espPosSet(lbl_1_bss_2C2C[26], 108 - (10 * sind(temp_f30 * 90.0f)), 20 + temp_f31); - HuPrcVSleep(); - } - temp_r30--; - if (mgTypeCurr == 1) { - if (temp_r30 < 0) { - temp_r30 = 3; - } - if (temp_r30 >= 4) { - temp_r30 = 0; - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - HuSprPosSet(temp_r28, lbl_1_data_100[(temp_r30 * 4) + temp_r31] * 4, temp_r29[temp_r31], 0); - HuSprPosSet(temp_r28, (lbl_1_data_100[(temp_r30 * 4) + temp_r31] * 4) + 2, temp_r29[temp_r31], 0); - HuSprPosSet(temp_r28, (lbl_1_data_100[(temp_r30 * 4) + temp_r31] * 4) + 3, temp_r29[temp_r31], 38); - } - } - else { - if (temp_r30 < 0) { - temp_r30 = 2; - } - if (temp_r30 >= 3) { - temp_r30 = 0; - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - HuSprPosSet(temp_r28, lbl_1_data_110[(temp_r30 * 4) + temp_r31] * 4, temp_r29[temp_r31], 0); - HuSprPosSet(temp_r28, (lbl_1_data_110[(temp_r30 * 4) + temp_r31] * 4) + 2, temp_r29[temp_r31], 0); - HuSprPosSet(temp_r28, (lbl_1_data_110[(temp_r30 * 4) + temp_r31] * 4) + 3, temp_r29[temp_r31], 38); - } - } - for (temp_r31 = 0; temp_r31 <= 5; temp_r31++) { - temp_f30 = temp_r31 / 5.0; - espPosSet(lbl_1_bss_2C2C[26], 108 - (10 * cosd(temp_f30 * 90.0f)), 20 + temp_f31); - HuPrcVSleep(); - } - } - else if (HuPadDStkRep[0] & PAD_BUTTON_RIGHT) { - HuAudFXPlay(772); - for (temp_r31 = 0; temp_r31 <= 5; temp_r31++) { - temp_f30 = temp_r31 / 5.0; - espPosSet(lbl_1_bss_2C2C[25], 468 + (10 * sind(temp_f30 * 90.0f)), 20 + temp_f31); - HuPrcVSleep(); - } - temp_r30++; - if (mgTypeCurr == 1) { - if (temp_r30 < 0) { - temp_r30 = 3; - } - if (temp_r30 >= 4) { - temp_r30 = 0; - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - HuSprPosSet(temp_r28, lbl_1_data_100[(temp_r30 * 4) + temp_r31] * 4, temp_r29[temp_r31], 0); - HuSprPosSet(temp_r28, (lbl_1_data_100[(temp_r30 * 4) + temp_r31] * 4) + 2, temp_r29[temp_r31], 0); - HuSprPosSet(temp_r28, (lbl_1_data_100[(temp_r30 * 4) + temp_r31] * 4) + 3, temp_r29[temp_r31], 38); - } - } - else { - if (temp_r30 < 0) { - temp_r30 = 2; - } - if (temp_r30 >= 3) { - temp_r30 = 0; - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - HuSprPosSet(temp_r28, lbl_1_data_110[(temp_r30 * 4) + temp_r31] * 4, temp_r29[temp_r31], 0); - HuSprPosSet(temp_r28, (lbl_1_data_110[(temp_r30 * 4) + temp_r31] * 4) + 2, temp_r29[temp_r31], 0); - HuSprPosSet(temp_r28, (lbl_1_data_110[(temp_r30 * 4) + temp_r31] * 4) + 3, temp_r29[temp_r31], 38); - } - } - for (temp_r31 = 0; temp_r31 <= 5; temp_r31++) { - temp_f30 = temp_r31 / 5.0; - espPosSet(lbl_1_bss_2C2C[25], 468 + (10 * cosd(temp_f30 * 90.0f)), 20 + temp_f31); - HuPrcVSleep(); - } - } - if (HuPadBtnDown[0] & (PAD_BUTTON_A | PAD_BUTTON_START)) { - break; - } - } - HuAudFXPlay(773); - if (mgTypeCurr == 1) { - GWPlayerCfg[lbl_1_data_100[temp_r30 * 4]].group = 0; - for (temp_r31 = 1; temp_r31 < 4; temp_r31++) { - GWPlayerCfg[lbl_1_data_100[(temp_r30 * 4) + temp_r31]].group = 1; - } - } - else { - for (temp_r31 = 0; temp_r31 < 2; temp_r31++) { - GWPlayerCfg[lbl_1_data_110[(temp_r30 * 4) + temp_r31]].group = 0; - } - for (temp_r31 = 2; temp_r31 < 4; temp_r31++) { - GWPlayerCfg[lbl_1_data_110[(temp_r30 * 4) + temp_r31]].group = 1; - } - } - if (arg0 != 0) { - temp_r23 = 1; - } - else { - return 1; - } -loop_end: - fn_1_25E74(temp_r24); - for (temp_r31 = 0; temp_r31 <= 30; temp_r31++) { - if (temp_r31 <= 10) { - temp_f30 = temp_r31 / 10.0; - temp_f31 = 240 + (20 * sind(temp_f30 * 90.0f)); - espPosSet(lbl_1_bss_2C2C[22], 288, temp_f31); - espPosSet(lbl_1_bss_2C2C[24], 288, temp_f31 - 50); - espPosSet(lbl_1_bss_2C2C[23], temp_f29, temp_f31 + 20); - espPosSet(lbl_1_bss_2C2C[26], 108, temp_f31 + 20); - espPosSet(lbl_1_bss_2C2C[25], 468, temp_f31 + 20); - HuSprGrpPosSet(temp_r28, 288, temp_f31 + 20); - HuSprGrpPosSet(temp_r25, 288, temp_f31); - } - else { - temp_f30 = (temp_r31 - 10) / 20.0; - temp_f31 = -300 + (560 * cosd(temp_f30 * 90.0f)); - espPosSet(lbl_1_bss_2C2C[22], 288, temp_f31); - espPosSet(lbl_1_bss_2C2C[24], 288, temp_f31 - 50); - espPosSet(lbl_1_bss_2C2C[23], temp_f29, temp_f31 + 20); - espPosSet(lbl_1_bss_2C2C[26], 108, temp_f31 + 20); - espPosSet(lbl_1_bss_2C2C[25], 468, temp_f31 + 20); - HuSprGrpPosSet(temp_r28, 288, temp_f31 + 20); - HuSprGrpPosSet(temp_r25, 288, temp_f31); - } - HuPrcVSleep(); - } - HuSprGrpKill(temp_r28); - HuSprGrpKill(temp_r25); - return temp_r23; -} diff --git a/src/REL/mgmodedll/main.c b/src/REL/mgmodedll/main.c deleted file mode 100755 index 85db3742..00000000 --- a/src/REL/mgmodedll/main.c +++ /dev/null @@ -1,2799 +0,0 @@ -#include "REL/mgmodedll.h" -#include "game/audio.h" -#include "game/wipe.h" - -#include "ext_math.h" - -typedef struct { - /* 0x00 */ omObjData *unk00; - /* 0x04 */ void (*unk04)(omObjData *, ...); - /* 0x08 */ s32 unk08[4]; - /* 0x18 */ char unk18[4]; - /* 0x1C */ s32 unk1C[4]; - /* 0x2C */ char unk2C[4]; - /* 0x30 */ s32 unk30; - /* 0x34 */ s32 unk34; - /* 0x38 */ char unk38[0xC]; - /* 0x44 */ s32 unk44[2]; -} StructBss2050; // Size unknown - -typedef struct { - /* 0x00 */ char unk00[8]; - /* 0x08 */ s32 unk08; - /* 0x0C */ char unk0C[0x10]; - /* 0x1C */ s32 unk1C; - /* 0x20 */ char unk20[0x10]; - /* 0x30 */ s32 unk30; -} UnkFunc1EE58Struct; // Size unknown - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ float unk0C; - /* 0x10 */ float unk10; - /* 0x14 */ float unk14; - /* 0x18 */ float unk18; - /* 0x1C */ float unk1C; - /* 0x20 */ float unk20; - /* 0x24 */ float unk24; - /* 0x28 */ float unk28; - /* 0x2C */ float unk2C; -} StructBss3CC; // Size 0x30 - -void fn_1_19A30(StructBss8 *arg0); -void fn_1_19B8C(void); -void fn_1_19D00(void); -void fn_1_19E94(void); -void fn_1_19F5C(omObjData *arg0); -void fn_1_1A564(void); -void fn_1_1A6A0(void); -void fn_1_1A8E8(void); -void fn_1_1AA28(void); -void fn_1_1AB58(void); -void fn_1_1AC88(StructBss2050 *arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_1B260(s32 arg0); -void fn_1_1BCEC(void); -void fn_1_1BECC(void); -void fn_1_1C09C(StructBss2050 *arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_1CB4C(void); -void fn_1_1CEB0(omObjData *arg0, StructBss8_24 *arg1); -void fn_1_1D49C(StructBss8_24 *arg0); -s32 fn_1_1D688(StructBss8_24 *arg0); -void fn_1_1DD74(s32 arg0, StructBss8_24 *arg1); -void fn_1_1E608(StructBss8_24 *arg0); -void fn_1_1EB20(StructBss8_24 *arg0); -void fn_1_1EBE8(void); -void fn_1_1ED20(void); -void fn_1_1EE58(s32 arg0, UnkFunc1EE58Struct *arg1); -void fn_1_1F32C(omObjData *arg0); -void fn_1_1FABC(void); -void fn_1_1FC44(s32 arg0); -void fn_1_20728(void); -s32 fn_1_20970(void); -void fn_1_20E84(s32 arg0); -void fn_1_20FD4(s32 arg0); -s32 fn_1_211B4(void); -s32 fn_1_214A4(void); -s32 fn_1_21CA4(void); -s32 fn_1_2228C(s32 arg0); -void fn_1_22728(void); -void fn_1_22C08(omObjData *arg0); -void fn_1_231F0(omObjData *arg0); -float fn_1_240E4(float arg0, float arg1, float arg2, float arg3); -float fn_1_2410C(float arg0, float arg1, float arg2); -float fn_1_2412C(float arg0, float arg1, float arg2, float arg3); -float fn_1_24204(float arg0, float arg1, float arg2, float arg3); -float fn_1_242CC(float arg0, float arg1, float arg2, float arg3); -void fn_1_24388(s32 arg0); -void fn_1_243B0(void); -void fn_1_243D0(void); -void fn_1_243E4(void); -void fn_1_244C0(s32 arg0); -void fn_1_245A8(void); -void fn_1_245CC(s32 arg0, float arg1, float arg2, s32 arg3); -s32 fn_1_25014(s32 arg0, s32 arg1, s32 arg2, s32 arg3, float arg4, float arg5, s32 arg6, s32 arg7, s32 arg8); -void fn_1_25524(s32 arg0, float arg1, float arg2); -void fn_1_255EC(s32 arg0, s32 arg1); -void fn_1_2567C(s32 arg0, s32 arg1, s32 arg2, s32 arg3); -s32 fn_1_257B0(s32 arg0); -void fn_1_257F8(s32 arg0, s32 arg1, s32 arg2); -void fn_1_25EC8(s32 arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_26004(s32 arg0, Vec arg1, float arg2, float arg3, float arg4, s32 arg5, s32 arg6); -void fn_1_26790(s32 arg0, s32 arg1, float arg2, float arg3); - -char lbl_1_bss_209C_pad[8]; // Could be part of StructBss2050. -StructBss2050 lbl_1_bss_2050; -StructBss8_24 lbl_1_bss_1E10[4]; -omObjData *lbl_1_bss_1E0C; -StructBss3CC lbl_1_bss_3CC[140]; -s32 lbl_1_bss_3C8; -StructBss8 *lbl_1_bss_3C4; -Process *lbl_1_bss_3C0; - -s32 lbl_1_data_1E0 = 1; // Unused. - -void fn_1_18DF8(Process *arg0, StructBss8 *arg1) -{ - s32 i; - - lbl_1_bss_3C0 = arg0; - lbl_1_bss_3C4 = arg1; - fn_1_245A8(); - fn_1_243E4(); - fn_1_244C0(1); - Center.x = 0.0f; - Center.y = 0.0f; - Center.z = 0.0f; - CRot.x = -10.0f; - CRot.y = 0.0f; - CRot.z = 0.0f; - CZoom = 2900.0f; - Hu3DModelPosSet(lbl_1_bss_3C4->unkC, 0.0f, 0.0f, 460.0f); - fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk10, 0, 1); - fn_1_25EC8(lbl_1_bss_3C4->unk0, lbl_1_bss_3C4->unk8, 0, 2); - lbl_1_bss_1E0C = omAddObjEx(lbl_1_bss_3C0, 0x1000, 141, 16, -1, fn_1_231F0); - HuPrcChildCreate(fn_1_19E94, 100, 0x2000, 0, HuPrcCurrentGet()); - for (i = 0; i < 4; i++) { - HuPrcChildCreate(fn_1_19D00, 100, 0x2000, 0, HuPrcCurrentGet()); - } -} - -void fn_1_19018(void) -{ - Vec sp14 = { 0.0f, 0.0f, 640.0f }; - float temp_f31; - s32 temp_r30; - s32 i; - - fn_1_243B0(); - for (i = 1; i < 140; i++) { - Hu3DModelAttrReset(lbl_1_bss_1E0C->model[i], HU3D_ATTR_DISPOFF); - } - WipeColorSet(0xFF, 0xFF, 0xFF); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - for (i = 0; i < 240; i++) { - fn_1_243B0(); - temp_f31 = fn_1_24204(2900.0f, 1150.0f, i, 180.0f); - CZoom = fn_1_2410C(CZoom, temp_f31, 15.0f); - if (i == 90) { - fn_1_25EC8(lbl_1_bss_3C4->unk0, lbl_1_bss_3C4->unk8, 0, 0); - } - } - lbl_1_bss_1E0C->work[0] = 1; - temp_f31 = CZoom; - for (i = 0; i < 90; i++) { - fn_1_243B0(); - CZoom = fn_1_2410C(CZoom, fn_1_24204(temp_f31, 1600.0f, i, 60.0f), 10.0f); - Center.y = fn_1_2410C(Center.y, fn_1_24204(0.0f, 215.0f, i, 60.0f), 10.0f); - CRot.x = fn_1_2410C(CRot.x, fn_1_24204(-10.0f, 0.0f, i, 60.0f), 10.0f); - } - fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk14, 0xF, 1); - fn_1_26004(lbl_1_bss_3C4->unkC, sp14, 0.0f, 3.0f, 0.0f, 1, 0); - fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk10, 0xF, 1); - HuPrcSleep(30); - HuAudSeqPlay(44); - fn_1_25EC8(lbl_1_bss_3C4->unk0, lbl_1_bss_3C4->unk4, 0, 0); - fn_1_24388(60); - temp_r30 = fn_1_2530C(0, 0, 0); - fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk18, 0xF, 1); - HuAudFXPlay(0x43); - fn_1_25838(temp_r30, MAKE_MESSID(40, 0), -1, -1); - fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk10, 0xF, 1); - fn_1_25584(temp_r30); - fn_1_24388(60); -} - -s32 fn_1_194C8(s32 arg0) -{ - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 i; - - var_r30 = 10; - var_r29 = 0; - var_r28 = 0; - if (arg0 == 4) { - var_r28 = 1; - var_r30 = 0; - if (lbl_1_bss_3C4->unk1C == 0 || lbl_1_bss_3C4->unk1C == 3) { - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1E10[i].unk60 == 1) { - break; - } - } - if (i != 4) { - var_r29 = 2; - } - else { - var_r29 = 1; - } - } - else { - var_r29 = 3; - } - } - else { - lbl_1_bss_3C4->unk1C = arg0; - fn_1_19B8C(); - } - while (TRUE) { - fn_1_243B0(); - switch (var_r30) { - case 10: - var_r30 = 0; - fn_1_20728(); - var_r29 = fn_1_20970(); - fn_1_20E84(lbl_1_bss_3C4->unk1C); - if (var_r29 == -99) { - var_r30 = -99; - } - break; - case 0: - var_r30 = 1; - fn_1_20FD4(lbl_1_bss_3C4->unk1C); - while (TRUE) { - fn_1_243B0(); - switch (var_r29) { - case 1: - var_r29 = fn_1_211B4(); - break; - case 2: - var_r29 = fn_1_214A4(); - break; - case 3: - if (lbl_1_bss_3C4->unk1C == 0 || lbl_1_bss_3C4->unk1C == 3) { - var_r29 = 5; - } - else if (lbl_1_bss_3C4->unk1C == 2) { - var_r29 = fn_1_21CA4(); - } - else { - var_r29 = fn_1_2228C(var_r28); - var_r28 = 0; - } - break; - } - if (var_r29 == 0) { - var_r30 = 10; - break; - } - else if (var_r29 == 5) { - var_r30 = 99; - break; - } - } - fn_1_22728(); - break; - } - if (var_r30 == 99 || var_r30 == -99) { - break; - } - } - if (var_r30 == -99) { - var_r30 = 0; - } - else { - for (i = 0; i < 4; i++) { - lbl_1_bss_3C4->unk24[i].unk5C = lbl_1_bss_1E10[i].unk5C; - lbl_1_bss_3C4->unk24[i].unk60 = lbl_1_bss_1E10[i].unk60; - lbl_1_bss_3C4->unk24[i].unk64 = lbl_1_bss_1E10[i].unk64; - lbl_1_bss_3C4->unk24[i].unk68 = lbl_1_bss_1E10[i].unk68; - lbl_1_bss_3C4->unk24[i].unk6C = lbl_1_bss_1E10[i].unk6C; - } - if (lbl_1_bss_3C4->unk1C == 1) { - switch (lbl_1_bss_2050.unk1C[0]) { - case 1: - lbl_1_bss_3C4->unk24[0].unk5C = lbl_1_bss_3C4->unk24[1].unk5C = 0; - lbl_1_bss_3C4->unk24[2].unk5C = lbl_1_bss_3C4->unk24[3].unk5C = 1; - break; - case 2: - lbl_1_bss_3C4->unk24[0].unk5C = lbl_1_bss_3C4->unk24[2].unk5C = 0; - lbl_1_bss_3C4->unk24[1].unk5C = lbl_1_bss_3C4->unk24[3].unk5C = 1; - break; - case 3: - lbl_1_bss_3C4->unk24[0].unk5C = lbl_1_bss_3C4->unk24[3].unk5C = 0; - lbl_1_bss_3C4->unk24[1].unk5C = lbl_1_bss_3C4->unk24[2].unk5C = 1; - break; - default: - OSReport("########## ERROR : TAGMODE TEAMSET\n"); - lbl_1_bss_3C4->unk24[0].unk5C = lbl_1_bss_3C4->unk24[1].unk5C = 0; - lbl_1_bss_3C4->unk24[2].unk5C = lbl_1_bss_3C4->unk24[3].unk5C = 1; - break; - } - } - else if (lbl_1_bss_3C4->unk1C == 2) { - switch (lbl_1_bss_2050.unk1C[0]) { - case 0: - lbl_1_bss_3C4->unk20 = 3; - break; - case 1: - lbl_1_bss_3C4->unk20 = 5; - break; - case 2: - lbl_1_bss_3C4->unk20 = 7; - break; - default: - OSReport("########## ERROR : KNUKIMODE TURNSET\n"); - lbl_1_bss_3C4->unk20 = 3; - break; - } - } - var_r30 = 1; - } - return var_r30; -} - -void fn_1_19A30(StructBss8 *arg0) -{ - s32 i; - - OSReport("\n\n>>>>>>>>>>>>>>>>>>>> ENTRANCE HELP\n\n"); - switch (arg0->unk1C) { - case 0: - OSReport("MG_MODE : FREE PLAY MODE!!\n"); - break; - case 1: - OSReport("MG_MODE : TAG PLAY MODE!!\n"); - break; - case 2: - OSReport("MG_MODE : NUKE PLAY MODE!!\n"); - break; - case 3: - OSReport("MG_MODE : BINGO PLAY MODE!!\n"); - break; - } - if (arg0->unk1C == 2) { - OSReport("\nTURN : %d\n", arg0->unk20); - } - OSReport("\nNO) GRP:COM:DIF:CHR:PAD\n"); - for (i = 0; i < 4; i++) { - OSReport("%2d) %3d:%3d:%3d:%3d:%3d\n", i, arg0->unk24[i].unk5C, arg0->unk24[i].unk60, arg0->unk24[i].unk64, arg0->unk24[i].unk68, - arg0->unk24[i].unk6C); - } - OSReport("\n>>>>>>>>>>>>>>>>>>>> ENTRANCE HELP\n\n"); -} - -void fn_1_19B8C(void) -{ - s32 i; - s32 j; - - for (i = 0; i < 4; i++) { - lbl_1_bss_2050.unk1C[i] = lbl_1_bss_2050.unk08[i] = 0; - } - for (i = 0; i < 4; i++) { - for (j = 0; j < 4; j++) { - lbl_1_bss_1E10[i].unk80[j] = lbl_1_bss_1E10[i].unk70[j] = 0; - } - lbl_1_bss_1E10[i].unk58 = i; - lbl_1_bss_1E10[i].unk5C = 0; - lbl_1_bss_1E10[i].unk60 = i; - if (lbl_1_bss_1E10[i].unk60 > 0) { - lbl_1_bss_1E10[i].unk60 = 1; - } - lbl_1_bss_1E10[i].unk64 = 0; - lbl_1_bss_1E10[i].unk68 = i; - lbl_1_bss_1E10[i].unk6C = i; - } -} - -void fn_1_19D00(void) -{ - omObjData *temp_r30; - s32 temp_r31; - - temp_r31 = lbl_1_bss_3C8++; - temp_r30 = omAddObjEx(lbl_1_bss_3C0, 0x100, 16, 16, -1, NULL); - lbl_1_bss_1E10[temp_r31].unk0 = temp_r30; - lbl_1_bss_1E10[temp_r31].unk4 = NULL; - lbl_1_bss_1E10[temp_r31].unk58 = temp_r31; - lbl_1_bss_1E10[temp_r31].unk5C = 0; - lbl_1_bss_1E10[temp_r31].unk60 = temp_r31; - if (lbl_1_bss_1E10[temp_r31].unk60 > 0) { - lbl_1_bss_1E10[temp_r31].unk60 = 1; - } - lbl_1_bss_1E10[temp_r31].unk64 = 0; - lbl_1_bss_1E10[temp_r31].unk68 = temp_r31; - lbl_1_bss_1E10[temp_r31].unk6C = temp_r31; - while (TRUE) { - fn_1_243B0(); - if (lbl_1_bss_1E10[temp_r31].unk4 != NULL) { - lbl_1_bss_1E10[temp_r31].unk4(temp_r30, &lbl_1_bss_1E10[temp_r31]); - } - } -} - -void fn_1_19E94(void) -{ - omObjData *temp_r3; - - temp_r3 = omAddObjEx(lbl_1_bss_3C0, 0x100, 16, 16, -1, NULL); - lbl_1_bss_2050.unk00 = temp_r3; - lbl_1_bss_2050.unk04 = NULL; - fn_1_1C09C(&lbl_1_bss_2050, 0, 0, 0); - fn_1_1AC88(&lbl_1_bss_2050, 0, 0, 0); - while (TRUE) { - fn_1_243B0(); - if (lbl_1_bss_2050.unk04 != NULL) { - lbl_1_bss_2050.unk04(temp_r3, &lbl_1_bss_2050); - } - } -} - -s32 lbl_1_data_32C[][4] = { { 177, 104, 120, 55 }, { 251, 104, 458, 55 }, { 325, 104, 120, 142 }, { 399, 104, 458, 142 } }; - -s32 lbl_1_data_36C[][6] - = { { 168, 90, 120, 51, 112, 55 }, { 248, 190, 458, 51, 466, 55 }, { 328, 90, 120, 222, 112, 282 }, { 408, 190, 458, 222, 466, 282 } }; - -s32 lbl_1_data_3CC[] = { 224, 456, 272, 292, 468, 282 }; - -float lbl_1_data_3E4[][5] = { { 262.0f, 119.0f, 1.3f, 227.0f, 455.0f }, { 314.0f, 168.0f, 0.75f, 265.0f, 416.0f }, - { 366.0f, 204.0f, 0.75f, 230.0f, 450.0f }, { 418.0f, 240.0f, 0.75f, 300.0f, 381.0f }, { -1.0f, 289.0f, 1.3f, 220.0f, 460.0f } }; - -s32 lbl_1_data_448[][4] = { { 262, 262, 262, 262 }, { 314, 307, 373, 373 }, { 366, 373, 307, 418 }, { 418, 418, 418, 307 } }; - -s32 lbl_1_data_488 = -1; - -void fn_1_19F5C(omObjData *arg0) -{ - float var_f30; - float var_f31; - s32 temp_r28; - s32 var_r29; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 i; - s32 j; - - temp_r28 = lbl_1_bss_2050.unk34; - var_r29 = var_r27 = var_r26 = var_r25 = 0; - lbl_1_bss_2050.unk1C[0] = 0; - var_r29 = 1; - for (i = 1; i < 4; i++) { - if (lbl_1_bss_1E10[i].unk60 == 0) { - var_r29++; - } - } - var_r27 = 1; - for (i = 1; i < 4; i++) { - if (HuPadStatGet(i) != -1) { - var_r27++; - } - } - if (var_r27 >= 2) { - fn_1_1AA28(); - if (HuPadStkX[lbl_1_bss_1E10->unk6C] >= 5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 2)) { - var_r29++; - var_r26 = 1; - } - else if (HuPadStkX[lbl_1_bss_1E10->unk6C] <= -5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 1)) { - var_r29--; - var_r26 = -1; - } - } - else { - fn_1_1AB58(); - } - if (var_r29 < 1) { - var_r29 = var_r27; - } - else if (var_r29 > var_r27) { - if (var_r26 == 0) { - var_r29 = var_r27; - var_r25 = 1; - } - else { - var_r29 = 1; - } - } - if (var_r26 != 0 || var_r25 != 0) { - lbl_1_bss_2050.unk1C[0] = 1; - HuAudFXPlay(0); - for (i = 0; i <= 10; i++) { - if (i <= 5) { - var_f30 = fn_1_24204(0.0f, 10.0f, i, 5.0f); - var_f31 = fn_1_24204(1.0f, 0.0f, i, 5.0f); - } - else { - var_f30 = fn_1_24204(10.0f, 0.0f, i - 5, 5.0f); - var_f31 = fn_1_24204(0.0f, 1.0f, i - 5, 5.0f); - } - if (var_r26 == 1) { - HuSprPosSet(temp_r28, 9, lbl_1_data_32C[3][0] + 50 + var_f30, lbl_1_data_32C[0][1]); - } - else if (var_r26 == -1) { - HuSprPosSet(temp_r28, 8, lbl_1_data_32C[0][0] - 50 - var_f30, lbl_1_data_32C[0][1]); - } - for (j = 0; j < 4; j++) { - if (j < var_r29 && lbl_1_bss_1E10[j].unk60 == 1) { - lbl_1_bss_1E10[j].unk70[3] = 0; - HuSprScaleSet(temp_r28, j, var_f31, 1.0f); - HuSprScaleSet(temp_r28, j + 4, var_f31, 1.0f); - if (i == 5) { - HuSprBankSet(temp_r28, j, 0); - } - } - else if (j >= var_r29 && lbl_1_bss_1E10[j].unk60 == 0) { - lbl_1_bss_1E10[j].unk70[3] = 1; - HuSprScaleSet(temp_r28, j, var_f31, 1.0f); - HuSprScaleSet(temp_r28, j + 4, var_f31, 1.0f); - if (i == 5) { - HuSprBankSet(temp_r28, j, 1); - } - } - } - fn_1_243B0(); - } - for (j = 0; j < 4; j++) { - if (j < var_r29) { - lbl_1_bss_1E10[j].unk60 = 0; - } - else { - lbl_1_bss_1E10[j].unk60 = 1; - } - } - } - lbl_1_bss_2050.unk1C[0] = 0; -} - -void fn_1_1A564(void) -{ - s32 temp_r30; - s32 i; - - temp_r30 = lbl_1_bss_2050.unk34; - for (i = 0; i < 19; i++) { - HuSprAttrSet(temp_r30, i, HUSPR_ATTR_DISPOFF); - } - for (i = 0; i < 4; i++) { - HuSprBankSet(temp_r30, i, 0); - lbl_1_bss_1E10[i].unk70[3] = lbl_1_bss_1E10[i].unk60 = 0; - HuSprAttrReset(temp_r30, i, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(temp_r30, 4 + i, HUSPR_ATTR_DISPOFF); - } - HuSprAttrReset(temp_r30, 10, HUSPR_ATTR_DISPOFF); - for (i = 0; i < 4; i++) { - HuSprAttrReset(temp_r30, 11 + i, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(temp_r30, 15 + i, HUSPR_ATTR_DISPOFF); - } - HuSprGrpPosSet(temp_r30, 0.0f, -500.0f); -} - -void fn_1_1A6A0(void) -{ - float var_f31; - s32 temp_r28; - s32 i; - - temp_r28 = lbl_1_bss_2050.unk34; - fn_1_1A564(); - for (i = 0; i <= 60; i++) { - fn_1_243B0(); - if (i <= 50) { - var_f31 = fn_1_24204(-500.0f, 10.0f, i, 50.0f); - } - else { - var_f31 = fn_1_2412C(10.0f, 2.06f, i - 50, 10.0f); - } - HuSprGrpPosSet(temp_r28, 0.0f, var_f31); - } -} - -void fn_1_1A8E8(void) -{ - float var_f31; - s32 spC; - s32 sp8; - s32 temp_r30; - s32 i; - - spC = 0; - sp8 = 0; - temp_r30 = lbl_1_bss_2050.unk34; - for (i = 0; i <= 60; i++) { - fn_1_243B0(); - if (i <= 10) { - var_f31 = fn_1_24204(2.06f, 10.0f, i, 10.0f); - } - else { - var_f31 = fn_1_2412C(10.0f, -500.0f, i - 10, 50.0f); - } - HuSprGrpPosSet(temp_r30, 0.0f, var_f31); - } - fn_1_1B260(0); -} - -void fn_1_1AA28(void) -{ - s32 temp_r31; - - temp_r31 = lbl_1_bss_2050.unk34; - HuSprAttrReset(temp_r31, 8, HUSPR_ATTR_DISPOFF); - HuSprPosSet(temp_r31, 8, lbl_1_data_32C[0][0] - 50, lbl_1_data_32C[0][1]); - HuSprAttrReset(temp_r31, 9, HUSPR_ATTR_DISPOFF); - HuSprPosSet(temp_r31, 9, lbl_1_data_32C[3][0] + 50, lbl_1_data_32C[0][1]); -} - -void fn_1_1AB58(void) -{ - s32 temp_r31; - - temp_r31 = lbl_1_bss_2050.unk34; - HuSprAttrSet(temp_r31, 8, HUSPR_ATTR_DISPOFF); - HuSprPosSet(temp_r31, 8, lbl_1_data_32C[0][0] - 50, lbl_1_data_32C[0][1]); - HuSprAttrSet(temp_r31, 9, HUSPR_ATTR_DISPOFF); - HuSprPosSet(temp_r31, 9, lbl_1_data_32C[3][0] + 50, lbl_1_data_32C[0][1]); -} - -void fn_1_1AC88(StructBss2050 *arg0, s32 arg1, s32 arg2, s32 arg3) -{ - AnimData *temp_r26; - AnimData *temp_r25; - s32 var_r29; - s32 var_r28; - s32 i; - - var_r29 = HuSprGrpCreate(19); - arg0->unk34 = var_r29; - temp_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 111)); - for (i = 0; i < 4; i++) { - var_r28 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 99)), 1000, 0); - HuSprGrpMemberSet(var_r29, i, var_r28); - HuSprPosSet(var_r29, i, lbl_1_data_32C[i % 4][0], lbl_1_data_32C[0][1]); - var_r28 = HuSprCreate(temp_r26, 1010, 0); - HuSprGrpMemberSet(var_r29, 4 + i, var_r28); - HuSprTPLvlSet(var_r29, 4 + i, 0.5f); - HuSprPosSet(var_r29, 4 + i, lbl_1_data_32C[i % 4][0] + 1, lbl_1_data_32C[0][1] + 2); - } - temp_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 137)); - for (i = 0; i < 2; i++) { - var_r28 = HuSprCreate(temp_r26, 0, 0); - HuSprGrpMemberSet(var_r29, 8 + i, var_r28); - HuSprBankSet(var_r29, 8 + i, i); - } - var_r28 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 98)), 2000, 0); - HuSprGrpMemberSet(var_r29, 10, var_r28); - HuSprTPLvlSet(var_r29, 10, 0.8f); - fn_1_26790(var_r29, 10, 288.0f, 240.0f); - temp_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 101)); - temp_r25 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 102)); - for (i = 0; i < 4; i++) { - var_r28 = HuSprCreate(temp_r26, 1980, 0); - HuSprGrpMemberSet(var_r29, 11 + i, var_r28); - HuSprBankSet(var_r29, 11 + i, i); - fn_1_26790(var_r29, 11 + i, lbl_1_data_32C[i][2], lbl_1_data_32C[i][3]); - var_r28 = HuSprCreate(temp_r25, 1990, 0); - HuSprGrpMemberSet(var_r29, 15 + i, var_r28); - HuSprBankSet(var_r29, 15 + i, i); - HuSprTPLvlSet(var_r29, 15 + i, 0.5f); - fn_1_26790(var_r29, 15 + i, lbl_1_data_32C[i][2] + 1, lbl_1_data_32C[i][3] + 6); - } - fn_1_1A564(); -} - -void fn_1_1B260(s32 arg0) -{ - s32 temp_r30; - s32 i; - - temp_r30 = lbl_1_bss_2050.unk30; - for (i = 0; i < 86; i++) { - HuSprAttrSet(temp_r30, i, HUSPR_ATTR_DISPOFF); - } - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1E10[i].unk60 != 0) { - HuSprAttrSet(temp_r30, 16 + lbl_1_bss_1E10[i].unk58, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(temp_r30, 20 + lbl_1_bss_1E10[i].unk58, HUSPR_ATTR_DISPOFF); - } - else { - HuSprAttrReset(temp_r30, 16 + lbl_1_bss_1E10[i].unk58, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(temp_r30, 20 + lbl_1_bss_1E10[i].unk58, HUSPR_ATTR_DISPOFF); - } - HuSprPosSet( - temp_r30, 16 + lbl_1_bss_1E10[i].unk58, lbl_1_data_36C[lbl_1_bss_1E10[i].unk68 % 4][0], lbl_1_data_36C[lbl_1_bss_1E10[i].unk68 / 4][1]); - HuSprPosSet( - temp_r30, 20 + lbl_1_bss_1E10[i].unk58, lbl_1_data_36C[lbl_1_bss_1E10[i].unk68 % 4][0], lbl_1_data_36C[lbl_1_bss_1E10[i].unk68 / 4][1]); - } - for (i = 0; i < 8; i++) { - HuSprBankSet(temp_r30, i, 0); - HuSprAttrReset(temp_r30, i, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(temp_r30, 8 + i, HUSPR_ATTR_DISPOFF); - } - HuSprAttrReset(temp_r30, 40, HUSPR_ATTR_DISPOFF); - for (i = 0; i < 4; i++) { - HuSprBankSet(temp_r30, 16 + i, 0); - HuSprBankSet(temp_r30, 20 + i, 0); - HuSprAttrReset(temp_r30, 41 + i, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(temp_r30, 45 + i, HUSPR_ATTR_DISPOFF); - fn_1_26790(temp_r30, 41 + i, lbl_1_data_36C[i][2], lbl_1_data_36C[i][3]); - fn_1_26790(temp_r30, 45 + i, lbl_1_data_36C[i][2], lbl_1_data_36C[i][3] + 6); - } - HuWinDispOff(lbl_1_bss_2050.unk44[0]); - HuWinDispOff(lbl_1_bss_2050.unk44[1]); - if (arg0 == 1) { - HuSprAttrSet(temp_r30, 40, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(temp_r30, 53, HUSPR_ATTR_DISPOFF); - for (i = 0; i < 4; i++) { - fn_1_26790(temp_r30, 41 + i, lbl_1_data_36C[i][4], lbl_1_data_36C[i][5]); - fn_1_26790(temp_r30, 45 + i, lbl_1_data_36C[i][4] + 1, lbl_1_data_36C[i][5] + 6); - } - for (i = 0; i < 4; i++) { - HuSprAttrReset(temp_r30, 81 + i, HUSPR_ATTR_DISPOFF); - HuSprBankSet(temp_r30, 81 + i, lbl_1_bss_1E10[i].unk60); - HuSprPosSet(temp_r30, 81 + i, lbl_1_data_3E4[lbl_1_bss_1E10[i].unk58][0], lbl_1_data_3CC[2]); - HuSprScaleSet(temp_r30, 81 + i, 1.0f, 1.0f); - HuSprAttrReset(temp_r30, 65 + i, HUSPR_ATTR_DISPOFF); - HuSprPosSet(temp_r30, 65 + i, lbl_1_data_3E4[i][0] + 1.0f, lbl_1_data_3CC[2] + 2); - } - HuWinDispOn(lbl_1_bss_2050.unk44[0]); - } - else if (arg0 == 2) { - HuSprAttrSet(temp_r30, 40, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(temp_r30, 53, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(temp_r30, 56, HUSPR_ATTR_DISPOFF); - HuSprBankSet(temp_r30, 56, 0); - for (i = 0; i < 4; i++) { - fn_1_26790(temp_r30, 41 + i, lbl_1_data_36C[i][4], lbl_1_data_36C[i][5]); - fn_1_26790(temp_r30, 45 + i, lbl_1_data_36C[i][4] + 1, lbl_1_data_36C[i][5] + 6); - } - HuWinDispOn(lbl_1_bss_2050.unk44[1]); - } - HuWinPosSet(lbl_1_bss_2050.unk44[0], 140.0f, lbl_1_data_3CC[2] - 519); - HuWinPosSet(lbl_1_bss_2050.unk44[1], 100.0f, lbl_1_data_3CC[2] - 519); - HuSprPosSet(temp_r30, 54, lbl_1_data_3CC[3], lbl_1_data_3CC[2]); - HuSprPosSet(temp_r30, 55, lbl_1_data_3CC[4], lbl_1_data_3CC[2]); - HuSprGrpPosSet(temp_r30, 0.0f, -500.0f); -} - -void fn_1_1BCEC(void) -{ - float var_f31; - s32 sp8; - s32 i; - - sp8 = lbl_1_bss_2050.unk30; - for (i = 0; i <= 60; i++) { - fn_1_243B0(); - if (i <= 50) { - var_f31 = fn_1_24204(-500.0f, 10.0f, i, 50.0f); - } - else { - var_f31 = fn_1_2412C(10.0f, 2.06f, i - 50, 10.0f); - } - HuSprGrpPosSet(lbl_1_bss_2050.unk30, 0.0f, var_f31); - HuWinPosSet(lbl_1_bss_2050.unk44[0], 120.0f, lbl_1_data_3CC[2] - 19 + var_f31); - HuWinPosSet(lbl_1_bss_2050.unk44[1], 100.0f, lbl_1_data_3CC[2] - 19 + var_f31); - } -} - -void fn_1_1BECC(void) -{ - float var_f31; - s32 i; - - for (i = 0; i <= 60; i++) { - fn_1_243B0(); - if (i <= 10) { - var_f31 = fn_1_24204(2.06f, 10.0f, i, 10.0f); - } - else { - var_f31 = fn_1_2412C(10.0f, -500.0f, i - 10, 50.0f); - } - HuSprGrpPosSet(lbl_1_bss_2050.unk30, 0.0f, var_f31); - HuWinPosSet(lbl_1_bss_2050.unk44[0], 120.0f, lbl_1_data_3CC[2] - 19 + var_f31); - HuWinPosSet(lbl_1_bss_2050.unk44[1], 100.0f, lbl_1_data_3CC[2] - 19 + var_f31); - } -} - -void fn_1_1C09C(StructBss2050 *arg0, s32 arg1, s32 arg2, s32 arg3) -{ - AnimData *temp_r28; - AnimData *temp_r26; - AnimData *temp_r25; - AnimData *temp_r24; - AnimData *temp_r23; - s32 var_r29; - s32 var_r30; - s32 i; - - var_r29 = arg0->unk30 = HuSprGrpCreate(86); - temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 111)); - for (i = 0; i < 8; i++) { - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 103 + i)), 1000, 0); - HuSprGrpMemberSet(var_r29, i, var_r30); - HuSprPosSet(var_r29, i, lbl_1_data_36C[i % 4][0], lbl_1_data_36C[i / 4][1]); - var_r30 = HuSprCreate(temp_r28, 1010, 0); - HuSprGrpMemberSet(var_r29, 8 + i, var_r30); - HuSprTPLvlSet(var_r29, 8 + i, 0.5f); - HuSprPosSet(var_r29, 8 + i, lbl_1_data_36C[i % 4][0] + 1, (lbl_1_data_36C[i / 4][1] + 2)); - } - for (i = 0; i < 4; i++) { - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 112 + i)), 0, 0); - HuSprGrpMemberSet(var_r29, 16 + i, var_r30); - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 117 + i)), 10, 0); - HuSprGrpMemberSet(var_r29, 20 + i, var_r30); - } - temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 116)); - temp_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 121)); - temp_r25 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 122)); - temp_r24 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 124)); - temp_r23 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 123)); - for (i = 0; i < 4; i++) { - var_r30 = HuSprCreate(temp_r28, 0, 0); - HuSprGrpMemberSet(var_r29, 24 + i, var_r30); - var_r30 = HuSprCreate(temp_r26, 30, 0); - HuSprGrpMemberSet(var_r29, 28 + i, var_r30); - var_r30 = HuSprCreate(temp_r25, 10, 0); - HuSprGrpMemberSet(var_r29, 32 + i, var_r30); - var_r30 = HuSprCreate(temp_r24, 20, 0); - HuSprGrpMemberSet(var_r29, 36 + i, var_r30); - HuSprTPLvlSet(var_r29, 36 + i, 0.5f); - var_r30 = HuSprCreate(temp_r23, 20, 0); - HuSprGrpMemberSet(var_r29, 49 + i, var_r30); - } - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 100)), 2000, 0); - HuSprGrpMemberSet(var_r29, 40, var_r30); - HuSprTPLvlSet(var_r29, 40, 0.8f); - fn_1_26790(var_r29, 40, 288.0f, 240.0f); - temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 101)); - temp_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 102)); - for (i = 0; i < 4; i++) { - var_r30 = HuSprCreate(temp_r28, 1980, 0); - HuSprGrpMemberSet(var_r29, 41 + i, var_r30); - HuSprBankSet(var_r29, 41 + i, i); - fn_1_26790(var_r29, 41 + i, lbl_1_data_36C[i][2], lbl_1_data_36C[i][3]); - var_r30 = HuSprCreate(temp_r26, 1990, 0); - HuSprGrpMemberSet(var_r29, 45 + i, var_r30); - HuSprBankSet(var_r29, 45 + i, i); - HuSprTPLvlSet(var_r29, 45 + i, 0.5f); - fn_1_26790(var_r29, 45 + i, lbl_1_data_36C[i][2] + 1, lbl_1_data_36C[i][3] + 6); - } - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 125)), 2000, 0); - HuSprGrpMemberSet(var_r29, 53, var_r30); - HuSprTPLvlSet(var_r29, 53, 0.8f); - fn_1_26790(var_r29, 53, 288.0f, 240.0f); - temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 137)); - for (i = 0; i < 2; i++) { - var_r30 = HuSprCreate(temp_r28, 0, 0); - HuSprGrpMemberSet(var_r29, 54 + i, var_r30); - HuSprBankSet(var_r29, 54 + i, i); - } - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 139)), 1000, 0); - HuSprGrpMemberSet(var_r29, 56, var_r30); - HuSprPosSet(var_r29, 56, 380.0f, lbl_1_data_3CC[2]); - for (i = 0; i < 2; i++) { - arg0->unk44[i] = HuWinExCreateStyled(0.0f, 0.0f, 200, 200, -1, 1); - HuWinBGTPLvlSet(arg0->unk44[i], 0.0f); - HuWinMesSet(arg0->unk44[i], MAKE_MESSID(27, 48 + i)); - HuWinMesSpeedSet(arg0->unk44[i], 0); - HuWinDispOff(arg0->unk44[i]); - winData[arg0->unk44[i]].mess_shadow_color = 0; - } - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 138)), 990, 0); - HuSprGrpMemberSet(var_r29, 85, var_r30); - temp_r25 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 134)); - for (i = 0; i < 8; i++) { - temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 126 + i)); - var_r30 = HuSprCreate(temp_r28, 1000, 0); - HuSprGrpMemberSet(var_r29, 57 + i, var_r30); - var_r30 = HuSprCreate(temp_r25, 1010, 0); - HuSprGrpMemberSet(var_r29, 65 + i, var_r30); - } - temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 135)); - temp_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 136)); - for (i = 0; i < 4; i++) { - var_r30 = HuSprCreate(temp_r28, 990, 0); - HuSprGrpMemberSet(var_r29, 73 + i, var_r30); - var_r30 = HuSprCreate(temp_r26, 990, 0); - HuSprGrpMemberSet(var_r29, 77 + i, var_r30); - } - temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 140)); - for (i = 0; i < 4; i++) { - var_r30 = HuSprCreate(temp_r28, 990, 0); - HuSprGrpMemberSet(var_r29, 81 + i, var_r30); - } - fn_1_1B260(0); -} - -void fn_1_1CB4C(void) -{ - StructBss8_24 *temp_r30; - float temp_f31; - float temp_f30; - s32 temp_r29; - s32 i; - s32 j; - - temp_r29 = lbl_1_bss_2050.unk30; - for (i = 0; i < 8; i++) { - HuSprBankSet(temp_r29, i, 0); - } - for (i = 0; i < 4; i++) { - HuSprBankSet(temp_r29, 16 + i, 0); - HuSprBankSet(temp_r29, 20 + i, 0); - HuSprBankSet(temp_r29, 24 + i, 0); - HuSprBankSet(temp_r29, 28 + i, 0); - HuSprBankSet(temp_r29, 32 + i, 0); - } - for (i = 0; i <= 10; i++) { - fn_1_243B0(); - for (j = 0; j < 4; j++) { - temp_r30 = &lbl_1_bss_1E10[j]; - temp_f31 = fn_1_24204(lbl_1_data_36C[temp_r30->unk68 % 4][0], lbl_1_data_36C[temp_r30->unk58 % 4][0], i, 10.0f); - temp_f30 = fn_1_24204(lbl_1_data_36C[temp_r30->unk68 / 4][1], lbl_1_data_36C[temp_r30->unk58 / 4][1], i, 10.0f); - HuSprPosSet(temp_r29, 16 + temp_r30->unk58, temp_f31, temp_f30); - HuSprPosSet(temp_r29, 20 + temp_r30->unk58, temp_f31, temp_f30); - } - } - for (i = 0; i < 4; i++) { - lbl_1_bss_1E10[i].unk68 = lbl_1_bss_1E10[i].unk58; - lbl_1_bss_1E10[i].unk70[0] = 0; - } -} - -void fn_1_1CEB0(omObjData *arg0, StructBss8_24 *arg1) -{ - float temp_f31; - float temp_f30; - s32 temp_r25; - s32 var_r27; - s32 var_r26; - s32 temp_r24; - s32 temp_r23; - s32 var_r30; - s32 var_r29; - s32 i; - - temp_r25 = lbl_1_bss_2050.unk30; - var_r27 = 0; - var_r26 = 0; - temp_r24 = var_r30 = arg1->unk68 % 4; - temp_r23 = var_r29 = arg1->unk68 / 4; - if (arg1->unk70[0] == 0) { - if (HuPadBtnDown[arg1->unk6C] & 0x100) { - arg1->unk70[0] = 1; - HuSprBankSet(temp_r25, arg1->unk68, 1); - HuSprBankSet(temp_r25, 16 + arg1->unk58, 1); - HuSprBankSet(temp_r25, 20 + arg1->unk58, 1); - HuAudFXPlay(0x6D + arg1->unk68); - } - else { - if (HuPadStkX[arg1->unk6C] >= 5 || (HuPadBtn[arg1->unk6C] & 2)) { - var_r30++; - var_r27 = 1; - if (var_r30 > 3) { - var_r30 = 3; - } - } - else if (HuPadStkX[arg1->unk6C] <= -5 || (HuPadBtn[arg1->unk6C] & 1)) { - var_r30--; - var_r27 = -1; - if (var_r30 < 0) { - var_r30 = 0; - } - } - if (HuPadStkY[arg1->unk6C] <= -5 || (HuPadBtn[arg1->unk6C] & 4)) { - var_r29++; - var_r26 = 1; - if (var_r29 > 1) { - var_r29 = 1; - } - } - else if (HuPadStkY[arg1->unk6C] >= 5 || (HuPadBtn[arg1->unk6C] & 8)) { - var_r29--; - var_r26 = -1; - if (var_r29 < 0) { - var_r29 = 0; - } - } - } - } - else if (HuPadBtnDown[arg1->unk6C] & 0x200) { - arg1->unk70[0] = 0; - HuSprBankSet(temp_r25, arg1->unk68, 0); - HuSprBankSet(temp_r25, 16 + arg1->unk58, 0); - HuSprBankSet(temp_r25, 20 + arg1->unk58, 0); - HuAudFXPlay(3); - } - if (arg1->unk68 != var_r30 + var_r29 * 4) { - do { - for (i = 0; i < 4; i++) { - if (i != arg1->unk58 && lbl_1_bss_1E10[i].unk60 == 0 && var_r30 + var_r29 * 4 == lbl_1_bss_1E10[i].unk68) { - if (var_r27 == 0 || var_r26 == 0) { - if (var_r30 + var_r27 > 3 || var_r30 + var_r27 < 0) { - var_r30 = temp_r24; - } - else { - var_r30 += var_r27; - } - if (var_r29 + var_r26 > 1 || var_r29 + var_r26 < 0) { - var_r29 = temp_r23; - } - else { - var_r29 += var_r26; - } - } - else { - if (var_r30 + var_r27 <= 3 && var_r30 + var_r27 >= 0) { - var_r30 += var_r27; - } - else if (var_r29 + var_r26 <= 1 && var_r29 + var_r26 >= 0) { - var_r29 += var_r26; - } - else { - var_r30 = temp_r24; - var_r29 = temp_r23; - } - } - break; - } - } - } while (i != 4); - if (arg1->unk68 != var_r30 + var_r29 * 4) { - arg1->unk68 = var_r30 + var_r29 * 4; - HuAudFXPlay(0); - for (i = 0; i <= 10; i++) { - fn_1_243B0(); - temp_f31 = fn_1_24204(lbl_1_data_36C[temp_r24][0], lbl_1_data_36C[var_r30][0], i, 10.0f); - temp_f30 = fn_1_24204(lbl_1_data_36C[temp_r23][1], lbl_1_data_36C[var_r29][1], i, 10.0f); - HuSprPosSet(temp_r25, 16 + arg1->unk58, temp_f31, temp_f30); - HuSprPosSet(temp_r25, 20 + arg1->unk58, temp_f31, temp_f30); - } - } - } -} - -void fn_1_1D49C(StructBss8_24 *arg0) -{ - s32 temp_r30; - - temp_r30 = lbl_1_bss_2050.unk30; - arg0->unk64 = 0; - HuSprBankSet(temp_r30, 32 + arg0->unk58, arg0->unk64); - HuSprPosSet(temp_r30, 32 + arg0->unk58, lbl_1_data_36C[arg0->unk68 % 4][0], lbl_1_data_36C[arg0->unk68 / 4][1] + 35); - HuSprPosSet(temp_r30, 36 + arg0->unk58, lbl_1_data_36C[arg0->unk68 % 4][0] + 1, lbl_1_data_36C[arg0->unk68 / 4][1] + 37); - HuSprAttrReset(temp_r30, 32 + arg0->unk58, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(temp_r30, 36 + arg0->unk58, HUSPR_ATTR_DISPOFF); -} - -s32 fn_1_1D688(StructBss8_24 *arg0) -{ - float var_f31; - s32 i; - s32 temp_r29; - s32 var_r28; - s32 var_r26; - s32 var_r27; - - var_r28 = 0; - temp_r29 = lbl_1_bss_2050.unk30; - while (TRUE) { - fn_1_243B0(); - var_r28 = 0; - var_r26 = arg0->unk64; - if (HuPadStkX[lbl_1_bss_1E10->unk6C] >= 5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 2)) { - if (GWGameStat.veryHardUnlock == 1) { - arg0->unk64++; - var_r28 = 1; - if (arg0->unk64 > 3) { - arg0->unk64 = 0; - } - } - else { - arg0->unk64++; - var_r28 = 1; - if (arg0->unk64 > 2) { - arg0->unk64 = 0; - } - } - } - else if (HuPadStkX[lbl_1_bss_1E10->unk6C] <= -5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 1)) { - if (GWGameStat.veryHardUnlock == 1) { - arg0->unk64--; - var_r28 = -1; - if (arg0->unk64 < 0) { - arg0->unk64 = 3; - } - } - else { - arg0->unk64--; - var_r28 = -1; - if (arg0->unk64 < 0) { - arg0->unk64 = 2; - } - } - } - else if (HuPadBtnDown[0] & 0x100) { - var_r27 = 1; - HuAudFXPlay(2); - break; - } - else if (HuPadBtnDown[0] & 0x200) { - var_r27 = 0; - HuAudFXPlay(3); - break; - } - if (arg0->unk64 != var_r26) { - HuAudFXPlay(0); - for (i = 0; i <= 5; i++) { - fn_1_243B0(); - var_f31 = fn_1_24204(lbl_1_data_36C[arg0->unk68 % 4][0], lbl_1_data_36C[arg0->unk68 % 4][0] + var_r28 * 10, i, 5.0f); - HuSprPosSet(temp_r29, 32 + arg0->unk58, var_f31, lbl_1_data_36C[arg0->unk68 / 4][1] + 35); - HuSprPosSet(temp_r29, 36 + arg0->unk58, var_f31 + 1.0f, lbl_1_data_36C[arg0->unk68 / 4][1] + 37); - } - HuSprBankSet(temp_r29, 32 + arg0->unk58, arg0->unk64); - for (i = 0; i <= 5; i++) { - fn_1_243B0(); - var_f31 = fn_1_24204(lbl_1_data_36C[arg0->unk68 % 4][0] + var_r28 * 10, lbl_1_data_36C[arg0->unk68 % 4][0], i, 5.0f); - HuSprPosSet(temp_r29, 32 + arg0->unk58, var_f31, lbl_1_data_36C[arg0->unk68 / 4][1] + 35); - HuSprPosSet(temp_r29, 36 + arg0->unk58, var_f31 + 1.0f, lbl_1_data_36C[arg0->unk68 / 4][1] + 37); - } - } - } - if (var_r27 == 1) { - HuSprPosSet(temp_r29, 49 + arg0->unk58, lbl_1_data_36C[arg0->unk68 % 4][0], lbl_1_data_36C[arg0->unk68 / 4][1] + 35); - HuSprBankSet(temp_r29, 49 + arg0->unk58, arg0->unk64); - HuSprAttrReset(temp_r29, 49 + arg0->unk58, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(temp_r29, 32 + arg0->unk58, HUSPR_ATTR_DISPOFF); - } - return var_r27; -} - -void fn_1_1DD74(s32 arg0, StructBss8_24 *arg1) -{ - float temp_f31; - float var_f30; - s32 temp_r27; - s32 var_r26; - s32 var_r25; - s32 sp8; - s32 temp_r23; - s32 temp_r22; - s32 var_r30; - s32 var_r29; - s32 i; - - temp_r27 = lbl_1_bss_2050.unk30; - var_r26 = 0; - var_r25 = 0; - sp8 = arg1->unk64; - temp_r23 = var_r30 = arg1->unk68 % 4; - temp_r22 = var_r29 = arg1->unk68 / 4; - if (arg1->unk70[0] == 0) { - if (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x100) { - arg1->unk70[0] = 1; - HuSprBankSet(temp_r27, arg1->unk68, 1); - HuSprBankSet(temp_r27, 24 + arg1->unk58, 1); - HuSprBankSet(temp_r27, 28 + arg1->unk58, 1); - HuAudFXPlay(0x6D + arg1->unk68); - fn_1_1D49C(arg1); - } - else { - if (HuPadStkX[lbl_1_bss_1E10->unk6C] >= 5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 2)) { - var_r30++; - var_r26 = 1; - if (var_r30 > 3) { - var_r30 = 3; - } - } - else if (HuPadStkX[lbl_1_bss_1E10->unk6C] <= -5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 1)) { - var_r30--; - var_r26 = -1; - if (var_r30 < 0) { - var_r30 = 0; - } - } - if (HuPadStkY[lbl_1_bss_1E10->unk6C] <= -5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 4)) { - var_r29++; - var_r25 = 1; - if (var_r29 > 1) { - var_r29 = 1; - } - } - else if (HuPadStkY[lbl_1_bss_1E10->unk6C] >= 5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 8)) { - var_r29--; - var_r25 = -1; - if (var_r29 < 0) { - var_r29 = 0; - } - } - } - } - else if (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x200) { - arg1->unk70[0] = arg1->unk70[2] = 0; - HuSprBankSet(temp_r27, arg1->unk68, 0); - HuSprBankSet(temp_r27, 24 + arg1->unk58, 0); - HuSprBankSet(temp_r27, 28 + arg1->unk58, 0); - HuSprAttrSet(temp_r27, 32 + arg1->unk58, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(temp_r27, 36 + arg1->unk58, HUSPR_ATTR_DISPOFF); - HuAudFXPlay(3); - } - if (arg1->unk68 == var_r30 + var_r29 * 4) { - return; - } - do { - for (i = 0; i < 4; i++) { - if (i != arg1->unk58 && lbl_1_bss_1E10[i].unk70[0] == 1 && var_r30 + var_r29 * 4 == lbl_1_bss_1E10[i].unk68) { - if (var_r26 == 0 || var_r25 == 0) { - if (var_r30 + var_r26 > 3 || var_r30 + var_r26 < 0) { - var_r30 = temp_r23; - } - else { - var_r30 += var_r26; - } - if (var_r29 + var_r25 > 1 || var_r29 + var_r25 < 0) { - var_r29 = temp_r22; - } - else { - var_r29 += var_r25; - } - } - else { - if (var_r30 + var_r26 <= 3 && var_r30 + var_r26 >= 0) { - var_r30 += var_r26; - } - else if (var_r29 + var_r25 <= 1 && var_r29 + var_r25 >= 0) { - var_r29 += var_r25; - } - else { - var_r30 = temp_r23; - var_r29 = temp_r22; - } - } - break; - } - } - } while (i != 4); - if (arg1->unk68 != var_r30 + var_r29 * 4) { - arg1->unk68 = var_r30 + var_r29 * 4; - HuAudFXPlay(0); - for (i = 0; i <= 10; i++) { - fn_1_243B0(); - temp_f31 = fn_1_24204(lbl_1_data_36C[temp_r23][0], lbl_1_data_36C[var_r30][0], i, 10.0f); - var_f30 = fn_1_24204(lbl_1_data_36C[temp_r22][1], lbl_1_data_36C[var_r29][1], i, 10.0f); - HuSprPosSet(temp_r27, 24 + arg1->unk58, temp_f31, var_f30); - HuSprPosSet(temp_r27, 28 + arg1->unk58, temp_f31, var_f30); - HuSprPosSet(temp_r27, 32 + arg1->unk58, temp_f31, 35.0f + var_f30); - HuSprPosSet(temp_r27, 36 + arg1->unk58, 1.0f + temp_f31, 37.0f + var_f30); - } - } -} - -void fn_1_1E608(StructBss8_24 *arg0) -{ - s32 temp_r30; - s32 i; - - temp_r30 = lbl_1_bss_2050.unk30; - while (TRUE) { - for (i = 0; i < 4; i++) { - if (i != arg0->unk58 && lbl_1_bss_1E10[i].unk70[0] == 1 && arg0->unk68 == lbl_1_bss_1E10[i].unk68) { - arg0->unk68++; - break; - } - } - if (i == 4) { - break; - } - }; - arg0->unk64 = 0; - HuSprBankSet(temp_r30, arg0->unk68, 0); - HuSprBankSet(temp_r30, 24 + arg0->unk58, 0); - HuSprBankSet(temp_r30, 28 + arg0->unk58, 0); - HuSprBankSet(temp_r30, 32 + arg0->unk58, arg0->unk64); - HuSprBankSet(temp_r30, 49 + arg0->unk58, arg0->unk64); - HuSprPosSet(temp_r30, 24 + arg0->unk58, lbl_1_data_36C[arg0->unk68 % 4][0], lbl_1_data_36C[arg0->unk68 / 4][1]); - HuSprPosSet(temp_r30, 28 + arg0->unk58, lbl_1_data_36C[arg0->unk68 % 4][0], lbl_1_data_36C[arg0->unk68 / 4][1]); - HuSprPosSet(temp_r30, 32 + arg0->unk58, lbl_1_data_36C[arg0->unk68 % 4][0], lbl_1_data_36C[arg0->unk68 / 4][1] + 35); - HuSprPosSet(temp_r30, 36 + arg0->unk58, lbl_1_data_36C[arg0->unk68 % 4][0] + 1, lbl_1_data_36C[arg0->unk68 / 4][1] + 37); - HuSprPosSet(temp_r30, 49 + arg0->unk58, lbl_1_data_36C[arg0->unk68 % 4][0] + 1, lbl_1_data_36C[arg0->unk68 / 4][1] + 37); - arg0->unk70[2] = 0; - HuSprAttrReset(temp_r30, 24 + arg0->unk58, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(temp_r30, 28 + arg0->unk58, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(temp_r30, 32 + arg0->unk58, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(temp_r30, 36 + arg0->unk58, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(temp_r30, 49 + arg0->unk58, HUSPR_ATTR_DISPOFF); -} - -void fn_1_1EB20(StructBss8_24 *arg0) -{ - s32 temp_r30; - - temp_r30 = lbl_1_bss_2050.unk30; - HuSprBankSet(temp_r30, arg0->unk68, 0); - HuSprAttrSet(temp_r30, 24 + arg0->unk58, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(temp_r30, 28 + arg0->unk58, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(temp_r30, 32 + arg0->unk58, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(temp_r30, 36 + arg0->unk58, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(temp_r30, 49 + arg0->unk58, HUSPR_ATTR_DISPOFF); -} - -void fn_1_1EBE8(void) -{ - s32 temp_r30; - s32 i; - - temp_r30 = lbl_1_bss_2050.unk30; - HuSprPosSet(temp_r30, 54, lbl_1_data_3CC[3], lbl_1_data_3CC[2]); - HuSprPosSet(temp_r30, 55, lbl_1_data_3CC[4], lbl_1_data_3CC[2]); - for (i = 0; i < 2; i++) { - HuSprAttrReset(temp_r30, 54 + i, HUSPR_ATTR_DISPOFF); - } -} - -void fn_1_1ED20(void) -{ - s32 temp_r30; - s32 i; - - temp_r30 = lbl_1_bss_2050.unk30; - HuSprPosSet(temp_r30, 54, lbl_1_data_3CC[3], lbl_1_data_3CC[2]); - HuSprPosSet(temp_r30, 55, lbl_1_data_3CC[4], lbl_1_data_3CC[2]); - for (i = 0; i < 2; i++) { - HuSprAttrSet(temp_r30, 54 + i, HUSPR_ATTR_DISPOFF); - } -} - -void fn_1_1EE58(s32 arg0, UnkFunc1EE58Struct *arg1) -{ - float var_f31; - float var_f30; - s32 temp_r29; - s32 var_r28; - s32 sp8; - s32 i; - - temp_r29 = arg1->unk30; - var_r28 = 0; - sp8 = arg1->unk08; - lbl_1_bss_2050.unk1C[3] = 0; - arg1->unk08 = 1; - if (HuPadStkX[lbl_1_bss_1E10->unk6C] >= 5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 2)) { - var_r28 = 1; - arg1->unk1C++; - if (arg1->unk1C > 2) { - arg1->unk1C = 0; - } - } - else if (HuPadStkX[lbl_1_bss_1E10->unk6C] <= -5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 1)) { - var_r28 = -1; - arg1->unk1C--; - if (arg1->unk1C < 0) { - arg1->unk1C = 2; - } - } - if (var_r28 != 0) { - lbl_1_bss_2050.unk1C[3] = 1; - HuAudFXPlay(0); - for (i = 0; i <= 10; i++) { - fn_1_243B0(); - if (i <= 5) { - var_f31 = fn_1_24204(0.0f, 10.0f, i, 5.0f); - var_f30 = fn_1_24204(1.0f, 0.0f, i, 5.0f); - } - else { - var_f31 = fn_1_24204(10.0f, 0.0f, i - 5, 5.0f); - var_f30 = fn_1_24204(0.0f, 1.0f, i - 5, 5.0f); - } - if (var_r28 == 1) { - HuSprPosSet(temp_r29, 55, lbl_1_data_3CC[4] + var_f31, lbl_1_data_3CC[2]); - HuSprPosSet(temp_r29, 56, 380.0f + var_f31, lbl_1_data_3CC[2]); - } - else { - HuSprPosSet(temp_r29, 54, lbl_1_data_3CC[3] - var_f31, lbl_1_data_3CC[2]); - HuSprPosSet(temp_r29, 56, 380.0f - var_f31, lbl_1_data_3CC[2]); - } - HuSprScaleSet(temp_r29, 56, 1.0f, var_f30); - if (i == 6) { - HuSprBankSet(temp_r29, 56, arg1->unk1C); - } - } - } - lbl_1_bss_2050.unk1C[3] = 0; -} - -void fn_1_1F32C(omObjData *arg0) -{ - float var_f31; - float var_f30; - s32 temp_r29; - s32 var_r28; - s32 var_r27; - s32 j; - s32 i; - - var_r27 = 0; - temp_r29 = lbl_1_bss_2050.unk30; - lbl_1_bss_2050.unk1C[3] = 0; - var_r28 = lbl_1_bss_2050.unk1C[0] - var_r27; - if (var_r28 > 3) { - var_r28 = 0; - } - else if (var_r28 < 0) { - var_r28 = 3; - } - if (HuPadStkX[lbl_1_bss_1E10->unk6C] >= 5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 2)) { - var_r27 = 1; - lbl_1_bss_2050.unk1C[3] = 1; - HuAudFXPlay(0); - lbl_1_bss_2050.unk1C[0]++; - if (lbl_1_bss_2050.unk1C[0] > 3) { - lbl_1_bss_2050.unk1C[0] = 1; - } - } - else if (HuPadStkX[lbl_1_bss_1E10->unk6C] <= -5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 1)) { - var_r27 = -1; - lbl_1_bss_2050.unk1C[3] = 1; - HuAudFXPlay(0); - lbl_1_bss_2050.unk1C[0]--; - if (lbl_1_bss_2050.unk1C[0] < 1) { - lbl_1_bss_2050.unk1C[0] = 3; - } - } - if (var_r27 != 0) { - for (i = 0; i <= 10; i++) { - fn_1_243B0(); - if (i <= 5) { - var_f31 = fn_1_24204(0.0f, 10.0f, i, 5.0f); - var_f30 = fn_1_24204(1.0f, 0.0f, i, 5.0f); - } - else { - var_f31 = fn_1_24204(10.0f, 0.0f, i - 5, 5.0f); - var_f30 = fn_1_24204(0.0f, 1.0f, i - 5, 5.0f); - } - if (var_r27 == 1) { - HuSprPosSet(temp_r29, 55, lbl_1_data_3CC[1] + var_f31, lbl_1_data_3CC[2]); - } - else { - HuSprPosSet(temp_r29, 54, lbl_1_data_3CC[0] - var_f31, lbl_1_data_3CC[2]); - } - if (lbl_1_bss_2050.unk1C[0] != 0) { - var_f30 = fn_1_24204(0.0f, 1.0f, i, 10.0f); - } - else { - var_f30 = fn_1_24204(1.0f, 0.0f, i, 10.0f); - } - HuSprScaleSet(temp_r29, 85, var_f30, var_f30); - for (j = 0; j < 4; j++) { - var_f31 = fn_1_24204( - lbl_1_data_448[lbl_1_bss_1E10[j].unk58][var_r28], lbl_1_data_448[lbl_1_bss_1E10[j].unk58][lbl_1_bss_2050.unk1C[0]], i, 10.0f); - HuSprPosSet(temp_r29, 57 + lbl_1_bss_1E10[j].unk68, var_f31, lbl_1_data_3CC[2]); - HuSprPosSet(temp_r29, 65 + j, var_f31 + 1.0f, lbl_1_data_3CC[2] + 2); - if (lbl_1_bss_1E10[j].unk60 != 0) { - HuSprPosSet(temp_r29, 77 + j, var_f31, lbl_1_data_3CC[2] + 21); - } - else { - HuSprPosSet(temp_r29, 73 + j, var_f31 - 8.0f, lbl_1_data_3CC[2] - 21); - } - } - } - } - lbl_1_bss_2050.unk1C[3] = 0; -} - -void fn_1_1FABC(void) -{ - s32 temp_r30; - s32 i; - - temp_r30 = lbl_1_bss_2050.unk30; - for (i = 0; i < 4; i++) { - HuSprAttrSet(temp_r30, 77 + i, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(temp_r30, 73 + i, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(temp_r30, 57 + lbl_1_bss_1E10[i].unk68, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(temp_r30, 85, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(temp_r30, 65 + lbl_1_bss_1E10[i].unk58, HUSPR_ATTR_DISPOFF); - HuSprScaleSet(temp_r30, 77 + i, 0.0f, 0.0f); - HuSprScaleSet(temp_r30, 73 + i, 0.0f, 0.0f); - HuSprScaleSet(temp_r30, 57 + lbl_1_bss_1E10[i].unk68, 0.0f, 0.0f); - HuSprScaleSet(temp_r30, 81 + i, 1.0f, 1.0f); - } -} - -void fn_1_1FC44(s32 arg0) -{ - float var_f31; - float var_f30; - s32 temp_r30; - s32 var_r27; - s32 i; - s32 j; - - temp_r30 = lbl_1_bss_2050.unk30; - if (arg0 == 2) { - for (i = 0; i < 2; i++) { - HuSprAttrSet(temp_r30, 54 + i, HUSPR_ATTR_DISPOFF); - } - return; - } - for (i = 0; i < 4; i++) { - HuSprAttrReset(temp_r30, 57 + lbl_1_bss_1E10[i].unk68, HUSPR_ATTR_DISPOFF); - HuSprPosSet(temp_r30, 57 + lbl_1_bss_1E10[i].unk68, lbl_1_data_3E4[lbl_1_bss_1E10[i].unk58][0], lbl_1_data_3CC[2]); - if (arg0 == 0) { - HuSprScaleSet(temp_r30, 57 + lbl_1_bss_1E10[i].unk68, 0.0f, 1.0f); - } - else { - HuSprScaleSet(temp_r30, 57 + lbl_1_bss_1E10[i].unk68, 1.0f, 1.0f); - } - if (lbl_1_bss_1E10[i].unk60 != 0) { - HuSprAttrReset(temp_r30, 77 + i, HUSPR_ATTR_DISPOFF); - HuSprBankSet(temp_r30, 77 + i, lbl_1_bss_1E10[i].unk64); - HuSprPosSet(temp_r30, 77 + i, lbl_1_data_3E4[lbl_1_bss_1E10[i].unk58][0], lbl_1_data_3CC[2] + 21); - if (arg0 == 0) { - HuSprScaleSet(temp_r30, 77 + i, 0.0f, 1.0f); - } - else { - HuSprScaleSet(temp_r30, 77 + i, 1.0f, 1.0f); - } - } - else { - HuSprAttrReset(temp_r30, 73 + i, HUSPR_ATTR_DISPOFF); - HuSprBankSet(temp_r30, 73 + i, lbl_1_bss_1E10[i].unk58); - HuSprPosSet(temp_r30, 73 + i, lbl_1_data_3E4[lbl_1_bss_1E10[i].unk58][0] - 8.0f, lbl_1_data_3CC[2] - 21); - if (arg0 == 0) { - HuSprScaleSet(temp_r30, 73 + i, 0.0f, 1.0f); - } - else { - HuSprScaleSet(temp_r30, 73 + i, 1.0f, 1.0f); - } - } - } - HuSprAttrReset(temp_r30, 85, HUSPR_ATTR_DISPOFF); - HuSprPosSet(temp_r30, 85, 340.0f, lbl_1_data_3CC[2]); - HuSprScaleSet(temp_r30, 85, 0.0f, 0.0f); - if (arg0 == 0) { - lbl_1_bss_2050.unk1C[0] = 1; - var_r27 = 0; - } - else { - var_r27 = lbl_1_bss_2050.unk1C[0]; - lbl_1_bss_2050.unk1C[0] = 0; - } - for (i = 0; i <= 10; i++) { - if (i <= 5) { - var_f31 = fn_1_24204(1.0f, 0.0f, i, 5.0f); - } - else { - var_f31 = fn_1_24204(0.0f, 1.0f, i - 5, 5.0f); - } - for (j = 0; j < 4; j++) { - HuSprScaleSet(temp_r30, 65 + j, var_f31, 1.0f); - if ((i > 5 && arg0 == 0) || (i <= 5 && arg0 == 1)) { - HuSprScaleSet(temp_r30, 57 + lbl_1_bss_1E10[j].unk68, var_f31, 1.0f); - if (lbl_1_bss_1E10[j].unk60 != 0) { - HuSprScaleSet(temp_r30, 77 + j, var_f31, 1.0f); - } - else { - HuSprScaleSet(temp_r30, 73 + j, var_f31, 1.0f); - } - } - else { - HuSprScaleSet(temp_r30, 81 + j, var_f31, 1.0f); - } - var_f30 = fn_1_24204( - lbl_1_data_448[lbl_1_bss_1E10[j].unk58][var_r27], lbl_1_data_448[lbl_1_bss_1E10[j].unk58][lbl_1_bss_2050.unk1C[0]], i, 10.0f); - HuSprPosSet(temp_r30, 57 + lbl_1_bss_1E10[j].unk68, var_f30, lbl_1_data_3CC[2]); - HuSprPosSet(temp_r30, 65 + j, var_f30 + 1.0f, lbl_1_data_3CC[2] + 2); - if (lbl_1_bss_1E10[j].unk60 != 0) { - HuSprPosSet(temp_r30, 77 + j, var_f30, lbl_1_data_3CC[2] + 21); - } - else { - HuSprPosSet(temp_r30, 73 + j, var_f30 - 8.0f, lbl_1_data_3CC[2] - 21); - } - } - if (lbl_1_bss_2050.unk1C[0] != 0) { - var_f31 = fn_1_24204(0.0f, 1.0f, i, 10.0f); - } - else { - var_f31 = fn_1_24204(1.0f, 0.0f, i, 10.0f); - } - HuSprScaleSet(temp_r30, 85, var_f31, var_f31); - fn_1_243B0(); - } - HuSprPosSet(temp_r30, 54, lbl_1_data_3CC[0], lbl_1_data_3CC[2]); - HuSprPosSet(temp_r30, 55, lbl_1_data_3CC[1], lbl_1_data_3CC[2]); - if (arg0 == 0) { - for (i = 0; i < 2; i++) { - HuSprAttrReset(temp_r30, 54 + i, HUSPR_ATTR_DISPOFF); - } - } - else { - for (i = 0; i < 2; i++) { - HuSprAttrSet(temp_r30, 54 + i, HUSPR_ATTR_DISPOFF); - } - } -} - -void fn_1_20728(void) -{ - fn_1_1A6A0(); -} - -s32 fn_1_20970(void) -{ - s32 var_r23; - s32 temp_r26; - s32 temp_r28; - s32 var_r24; - s32 var_r29; - s32 var_r30; - s32 var_r25; - s32 temp_r27; - s32 i; - - var_r23 = 0; - temp_r26 = fn_1_2530C(0, 0, 0); - fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk18, 0xF, 1); - fn_1_25838(temp_r26, MAKE_MESSID(26, 5), -1, -1); - fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk10, 0xF, 1); - fn_1_243B0(); - fn_1_25CA8(MAKE_MESSID(26, 33)); - temp_r28 = lbl_1_bss_2050.unk34; - HuSprAttrReset(temp_r28, 8, HUSPR_ATTR_DISPOFF); - HuSprPosSet(temp_r28, 8, lbl_1_data_32C[0][0] - 50, lbl_1_data_32C[0][1]); - HuSprAttrReset(temp_r28, 9, HUSPR_ATTR_DISPOFF); - HuSprPosSet(temp_r28, 9, lbl_1_data_32C[3][0] + 50, lbl_1_data_32C[0][1]); - lbl_1_bss_2050.unk04 = (void *)fn_1_19F5C; - var_r24 = 99; - var_r23 = 0; - while (TRUE) { - fn_1_243B0(); - var_r30 = 0; - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1E10[i].unk70[3] == 0) { - var_r30++; - } - } - if (var_r24 != var_r30) { - var_r24 = var_r30; - fn_1_25838(temp_r26, MAKE_MESSID(26, 27 + var_r30), -1, -999); - } - if (lbl_1_bss_2050.unk1C[0] != 0) { - continue; - } - if (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x100) { - var_r29 = 1; - HuAudFXPlay(2); - lbl_1_bss_2050.unk04 = NULL; - fn_1_24388(2); - var_r30 = var_r25 = 0; - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1E10[i].unk60 == 0) { - var_r25++; - } - } - for (i = 0; i < 4; i++) { - if (var_r30 < var_r25) { - if (HuPadStatGet(i) != -1) { - var_r30++; - lbl_1_bss_1E10[i].unk60 = 0; - } - else { - lbl_1_bss_1E10[i].unk60 = 1; - } - } - } - break; - } - else if (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x200) { - var_r29 = -99; - HuAudFXPlay(3); - break; - } - } - temp_r27 = lbl_1_bss_2050.unk34; - HuSprAttrSet(temp_r27, 8, HUSPR_ATTR_DISPOFF); - HuSprPosSet(temp_r27, 8, lbl_1_data_32C[0][0] - 50, lbl_1_data_32C[0][1]); - HuSprAttrSet(temp_r27, 9, HUSPR_ATTR_DISPOFF); - HuSprPosSet(temp_r27, 9, lbl_1_data_32C[3][0] + 50, lbl_1_data_32C[0][1]); - lbl_1_bss_2050.unk04 = NULL; - fn_1_25E74(0); - fn_1_25584(temp_r26); - if (var_r29 != -99) { - var_r30 = 0; - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1E10[i].unk60 == 0) { - var_r30++; - } - } - if (var_r30 == 0) { - var_r29 = 2; - } - else { - var_r29 = 1; - } - } - return var_r29; -} - -void fn_1_20E84(s32 arg0) -{ - float var_f31; - s32 sp10; - s32 spC; - s32 temp_r30; - s32 i; - - spC = 0; - sp10 = 0; - temp_r30 = lbl_1_bss_2050.unk34; - for (i = 0; i <= 60; i++) { - fn_1_243B0(); - if (i <= 10) { - var_f31 = fn_1_24204(2.06f, 10.0f, i, 10.0f); - } - else { - var_f31 = fn_1_2412C(10.0f, -500.0f, i - 10, 50.0f); - } - HuSprGrpPosSet(temp_r30, 0.0f, var_f31); - } - fn_1_1B260(0); - fn_1_1CB4C(); - fn_1_1B260(arg0); -} - -void fn_1_20FD4(s32 arg0) -{ - fn_1_1BCEC(); -} - -s32 fn_1_211B4(void) -{ - s32 var_r27; - s32 sp8; - s32 var_r29; - s32 var_r28; - s32 var_r30; - s32 i; - - var_r27 = 0; - sp8 = 0; - fn_1_1CB4C(); - var_r28 = fn_1_2530C(0, 0, 0); - HuWinPushKeySet(var_r28, 0x300); - fn_1_243B0(); - fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk18, 0xF, 1); - fn_1_25838(var_r28, MAKE_MESSID(26, 9), -1, -1); - fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk10, 0xF, 1); - fn_1_25CA8(MAKE_MESSID(26, 32)); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1E10[i].unk60 == 0) { - lbl_1_bss_1E10[i].unk4 = (void *)fn_1_1CEB0; - } - } - while (TRUE) { - fn_1_243B0(); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1E10[i].unk60 == 0 && (HuPadBtnDown[lbl_1_bss_1E10[i].unk6C] & 0x100)) { - var_r27 = 1; - } - } - if (lbl_1_bss_1E10->unk70[0] == 0 && (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x200)) { - HuAudFXPlay(3); - var_r30 = 0; - break; - } - else { - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1E10[i].unk60 == 0 && lbl_1_bss_1E10[i].unk70[0] != 1) { - break; - } - } - if (i == 4) { - var_r30 = 2; - break; - } - } - } - for (i = 0; i < 4; i++) { - lbl_1_bss_1E10[i].unk4 = NULL; - } - fn_1_25E74(0); - fn_1_25584(var_r28); - if (var_r30 == 2) { - var_r29 = 0; - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1E10[i].unk60 != 0) { - lbl_1_bss_1E10[i].unk68 = 0; - var_r29++; - } - } - if (var_r29 == 0) { - var_r30 = 3; - } - else { - var_r30 = 2; - } - } - else { - var_r30 = 0; - } - return var_r30; -} - -s32 fn_1_214A4(void) -{ - s32 var_r30; - s32 var_r24; - s32 var_r23; - s32 var_r21; - s32 sp8; - s32 temp_r22; - s32 var_r28; - s32 var_r29; - s32 i; - - var_r30 = -1; - var_r24 = -1; - var_r23 = -1; - var_r21 = -1; - sp8 = 0; - temp_r22 = fn_1_2530C(0, 0, 0); - while (TRUE) { - fn_1_243B0(); - var_r28 = 0; - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1E10[i].unk60 != 0 && lbl_1_bss_1E10[i].unk70[0] == 0) { - var_r28++; - } - } - HuWinInsertMesSet(temp_r22, MAKE_MESSID(26, 35 + var_r28), 1); - if (var_r23 == -1) { - fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk18, 0xF, 1); - } - fn_1_25838(temp_r22, MAKE_MESSID(26, 40), -1, var_r23); - if (var_r23 == -1) { - fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk10, 0xF, 1); - } - var_r23 = -999; - fn_1_25CA8(MAKE_MESSID(26, 32)); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1E10[i].unk60 != 0 && lbl_1_bss_1E10[i].unk70[0] == 0) { - var_r30 = i; - lbl_1_bss_1E10[i].unk70[1] = var_r24; - fn_1_1E608(&lbl_1_bss_1E10[i]); - lbl_1_bss_1E10[i].unk4 = (void *)fn_1_1DD74; - break; - } - } - while (TRUE) { - fn_1_243B0(); - if ((HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x200) && lbl_1_bss_1E10[var_r30].unk70[0] == 0) { - HuAudFXPlay(3); - if (var_r24 == -1) { - var_r29 = 0; - break; - } - else { - var_r29 = 1; - break; - } - } - else if (lbl_1_bss_1E10[var_r30].unk70[0] == 1) { - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1E10[i].unk70[0] == 0) { - lbl_1_bss_1E10[i].unk68 = 0; - } - } - lbl_1_bss_1E10[var_r30].unk4 = NULL; - fn_1_25838(temp_r22, MAKE_MESSID(26, 34), -1, -999); - fn_1_25CA8(MAKE_MESSID(26, 35)); - var_r29 = fn_1_1D688(&lbl_1_bss_1E10[var_r30]); - if (var_r29 == 1) { - lbl_1_bss_1E10[var_r30].unk70[2] = 1; - var_r29 = 4; - var_r24 = var_r30; - } - else { - lbl_1_bss_1E10[var_r30].unk70[2] = 0; - var_r29 = 4; - lbl_1_bss_1E10[var_r30].unk70[0] = 0; - fn_1_1EB20(&lbl_1_bss_1E10[var_r30]); - fn_1_1E608(&lbl_1_bss_1E10[var_r30]); - } - break; - } - } - for (i = 0; i < 4; i++) { - lbl_1_bss_1E10[i].unk4 = NULL; - } - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1E10[i].unk70[0] == 0) { - break; - } - } - if (i == 4) { - var_r29 = 3; - break; - } - else { - if (var_r29 == 1) { - fn_1_1E608(&lbl_1_bss_1E10[var_r30]); - fn_1_1EB20(&lbl_1_bss_1E10[var_r30]); - fn_1_1E608(&lbl_1_bss_1E10[lbl_1_bss_1E10[var_r30].unk70[1]]); - var_r24 = lbl_1_bss_1E10[lbl_1_bss_1E10[var_r30].unk70[1]].unk70[1]; - lbl_1_bss_1E10[lbl_1_bss_1E10[var_r30].unk70[1]].unk70[0] = 0; - } - else if (var_r29 != 4) { - if (var_r29 == 0) { - fn_1_1EB20(&lbl_1_bss_1E10[var_r30]); - } - break; - } - } - var_r21 = -1; - } - fn_1_25E74(0); - fn_1_25584(temp_r22); - if (var_r29 == 0) { - var_r28 = 0; - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1E10[i].unk60 == 0) { - var_r28++; - } - } - if (var_r28 != 0) { - var_r29 = 1; - } - else { - var_r29 = 0; - } - } - return var_r29; -} - -s32 fn_1_21CA4(void) -{ - s32 sp8; - s32 temp_r27; - s32 var_r22; - s32 var_r28; - s32 i; - s32 j; - - sp8 = 0; - temp_r27 = fn_1_2530C(0, 0, 0); - fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk18, 0xF, 1); - fn_1_25838(temp_r27, MAKE_MESSID(40, 14), -1, -1); - fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk10, 0xF, 1); - fn_1_243B0(); - fn_1_25CA8(MAKE_MESSID(26, 33)); - fn_1_1EBE8(); - lbl_1_bss_2050.unk04 = (void *)fn_1_1EE58; - var_r22 = 99; - while (TRUE) { - fn_1_243B0(); - if (var_r22 != lbl_1_bss_2050.unk1C[0]) { - var_r22 = lbl_1_bss_2050.unk1C[0]; - HuWinInsertMesSet(temp_r27, MAKE_MESSID(27, 52 + lbl_1_bss_2050.unk1C[0]), 0); - fn_1_25838(temp_r27, MAKE_MESSID(27, 51), -1, -999); - } - if (lbl_1_bss_2050.unk1C[3] != 0) { - continue; - } - if (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x100) { - var_r28 = 5; - HuAudFXPlay(2); - break; - } - else if (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x200) { - var_r28 = -99; - HuAudFXPlay(3); - for (i = 0; i < 4; i++) { - for (j = 0; j < 4; j++) { - if (lbl_1_bss_1E10[i].unk60 == 1) { - lbl_1_bss_1E10[i].unk70[j] = 0; - lbl_1_bss_1E10[i].unk80[j] = 0; - fn_1_1EB20(&lbl_1_bss_1E10[i]); - lbl_1_bss_1E10[i].unk68 = 0; - } - } - } - break; - } - } - fn_1_1ED20(); - lbl_1_bss_2050.unk04 = NULL; - fn_1_25E74(0); - fn_1_25584(temp_r27); - if (var_r28 == -99) { - j = 0; - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1E10[i].unk60 == 1) { - j++; - } - } - if (j == 0) { - var_r28 = 1; - } - else { - var_r28 = 2; - } - } - return var_r28; -} - -s32 fn_1_2228C(s32 arg0) -{ - s32 sp8; - s32 temp_r30; - s32 var_r26; - s32 var_r27; - s32 i; - s32 j; - - sp8 = 0; - temp_r30 = fn_1_2530C(0, 0, 0); - fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk18, 0xF, 1); - fn_1_25838(temp_r30, MAKE_MESSID(40, 13), -1, -1); - fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk10, 0xF, 1); - fn_1_243B0(); - fn_1_25CA8(MAKE_MESSID(26, 33)); - fn_1_1FC44(0); - lbl_1_bss_2050.unk04 = (void *)fn_1_1F32C; - var_r26 = 99; - while (TRUE) { - fn_1_243B0(); - if (var_r26 != lbl_1_bss_2050.unk1C[0]) { - var_r26 = lbl_1_bss_2050.unk1C[0]; - switch (lbl_1_bss_2050.unk1C[0]) { - case 1: - HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 30), 0); - HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 31), 1); - HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 32), 2); - break; - case 2: - HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 31), 0); - HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 30), 1); - HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 32), 2); - break; - case 3: - HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 32), 0); - HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 30), 1); - HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 31), 2); - break; - } - fn_1_25838(temp_r30, MAKE_MESSID(27, 50), -1, -999); - } - if (lbl_1_bss_2050.unk1C[3] != 0) { - continue; - } - if (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x100) { - var_r27 = 5; - HuAudFXPlay(2); - break; - } - else if (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x200) { - var_r27 = -99; - HuAudFXPlay(3); - fn_1_1FC44(1); - for (i = 0; i < 4; i++) { - for (j = 0; j < 4; j++) { - if (lbl_1_bss_1E10[i].unk60 == 1) { - lbl_1_bss_1E10[i].unk70[j] = 0; - lbl_1_bss_1E10[i].unk80[j] = 0; - fn_1_1EB20(&lbl_1_bss_1E10[i]); - } - } - } - break; - } - } - fn_1_1FC44(2); - lbl_1_bss_2050.unk04 = NULL; - fn_1_25E74(0); - fn_1_25584(temp_r30); - if (var_r27 == -99) { - j = 0; - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1E10[i].unk60 == 1) { - j++; - } - } - if (j == 0) { - var_r27 = 1; - } - else { - var_r27 = 2; - } - } - return var_r27; -} - -void fn_1_22728(void) -{ - s32 i; - s32 j; - - fn_1_1BECC(); - fn_1_1FABC(); - if (lbl_1_bss_3C4->unk1C == 0 || lbl_1_bss_3C4->unk1C == 3) { - for (i = 0; i < 4; i++) { - for (j = 0; j < 4; j++) { - if (lbl_1_bss_1E10[i].unk60 == 1) { - lbl_1_bss_1E10[i].unk70[j] = 0; - lbl_1_bss_1E10[i].unk80[j] = 0; - fn_1_1EB20(&lbl_1_bss_1E10[i]); - } - } - } - } -} - -void fn_1_22C08(omObjData *arg0) -{ - float var_f31; - s32 i; - - for (i = 1; i < 10; i++) { - if (CZoom <= 1200.0f || lbl_1_bss_3CC[i].unk1C == -200.0f) { - if (lbl_1_bss_3CC[i].unk1C >= -100.0f) { - lbl_1_bss_3CC[i].unk00 = 0; - lbl_1_bss_3CC[i].unk1C = -200.0f; - lbl_1_bss_3CC[i].unk24 = -99.0f; - lbl_1_bss_3CC[i].unk04 = rand8() + 180; - } - var_f31 = fn_1_2412C(lbl_1_bss_3CC[i].unk10, 1000.0f, lbl_1_bss_3CC[i].unk00++, lbl_1_bss_3CC[i].unk04); - Hu3DData[arg0->model[i]].pos.y = fn_1_2410C(Hu3DData[arg0->model[i]].pos.y, var_f31, 30.0f); - Hu3DData[arg0->model[i]].pos.x - = fn_1_2410C(Hu3DData[arg0->model[i]].pos.x, lbl_1_bss_3CC[i].unk18 + Hu3DData[arg0->model[i]].pos.x, 5.0f); - } - } - for (i = 10; i < 140; i++) { - Hu3DData[arg0->model[i]].pos.y = fn_1_242CC(lbl_1_bss_3CC[i].unk10, lbl_1_bss_3CC[i].unk1C, lbl_1_bss_3CC[i].unk00++, lbl_1_bss_3CC[i].unk04); - if (lbl_1_bss_3CC[i].unk00 >= lbl_1_bss_3CC[i].unk04) { - lbl_1_bss_3CC[i].unk00 = 0; - } - } - for (i = 10; i < 140; i++) { - if (0.0f == lbl_1_bss_3CC[i].unk24 && lbl_1_bss_3CC[i].unk14 > CZoom - 400.0f && lbl_1_bss_3CC[i].unk0C < 200.0f - && lbl_1_bss_3CC[i].unk0C > -200.0f) { - if (0.0f >= lbl_1_bss_3CC[i].unk0C) { - lbl_1_bss_3CC[i].unk24 = -300.0f; - } - else { - lbl_1_bss_3CC[i].unk24 = 300.0f; - } - } - if (-99.0f != lbl_1_bss_3CC[i].unk24) { - Hu3DData[arg0->model[i]].pos.x = fn_1_2410C(Hu3DData[arg0->model[i]].pos.x, lbl_1_bss_3CC[i].unk0C + lbl_1_bss_3CC[i].unk24, 30.0f); - } - } - if (arg0->work[0] == 1) { - for (i = 10; i < 140; i++) { - Hu3DModelAttrSet(arg0->model[i], HU3D_ATTR_DISPOFF); - } - } -} - -void fn_1_231F0(omObjData *arg0) -{ - float temp_f31; - float temp_f30; - float temp_f29; - s32 var_r28; - s32 i; - s32 j; - - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MGMODE, 141)); - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MGMODE, 142)); - arg0->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MGMODE, 143)); - arg0->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MGMODE, 144)); - Hu3DModelLayerSet(arg0->model[1], 3); - Hu3DModelLayerSet(arg0->model[2], 3); - Hu3DModelLayerSet(arg0->model[3], 3); - Hu3DModelLayerSet(arg0->model[4], 3); - for (i = 5; i < 140; i++) { - arg0->model[i] = Hu3DModelLink(arg0->model[rand8() % 4 + 1]); - } - for (i = 1; i < 10; i++) { - var_r28 = 0; - do { - temp_f31 = Hu3DData[arg0->model[i]].pos.x = 50.0f + rand8(); - if (i % 2 != 0) { - lbl_1_bss_3CC[i].unk0C = Hu3DData[arg0->model[i]].pos.x *= -1.0f; - } - temp_f30 = Hu3DData[arg0->model[i]].pos.y = 50.0f + rand8(); - temp_f29 = Hu3DData[arg0->model[i]].pos.z = 750.0f + i * 5; - for (j = 1; j < 10; j++) { - if (i != j && lbl_1_bss_3CC[j].unk08 == 1) { - temp_f31 = Hu3DData[arg0->model[i]].pos.x - Hu3DData[arg0->model[j]].pos.x; - temp_f30 = Hu3DData[arg0->model[i]].pos.y - Hu3DData[arg0->model[j]].pos.y; - temp_f29 = Hu3DData[arg0->model[i]].pos.z - Hu3DData[arg0->model[j]].pos.z; - if (sqrtf(temp_f31 * temp_f31 + temp_f30 * temp_f30) <= 100.0f) { - break; - } - } - } - var_r28++; - } while (j != 10 && var_r28 < 50); - lbl_1_bss_3CC[i].unk08 = 1; - lbl_1_bss_3CC[i].unk0C = lbl_1_bss_3CC[i].unk18 = Hu3DData[arg0->model[i]].pos.x; - lbl_1_bss_3CC[i].unk10 = lbl_1_bss_3CC[i].unk1C = Hu3DData[arg0->model[i]].pos.y; - lbl_1_bss_3CC[i].unk14 = lbl_1_bss_3CC[i].unk20 = Hu3DData[arg0->model[i]].pos.z; - lbl_1_bss_3CC[i].unk18 = 0.025f * lbl_1_bss_3CC[i].unk0C; - Hu3DModelScaleSet(arg0->model[i], 0.5f, 0.5f, 0.5f); - Hu3DModelLayerSet(arg0->model[i], 3); - } - for (i = 10; i < 140; i++) { - var_r28 = 0; - do { - temp_f31 = Hu3DData[arg0->model[i]].pos.x = rand8() * 2; - if (i % 2 != 0) { - Hu3DData[arg0->model[i]].pos.x *= -1.0f; - } - temp_f30 = Hu3DData[arg0->model[i]].pos.y = rand8() * 2 + 125; - temp_f29 = Hu3DData[arg0->model[i]].pos.z = 800.0f + i * 10; - for (j = 10; j < 140; j++) { - if (i != j && lbl_1_bss_3CC[j].unk08 == 1) { - temp_f31 = Hu3DData[arg0->model[i]].pos.x - Hu3DData[arg0->model[j]].pos.x; - temp_f30 = Hu3DData[arg0->model[i]].pos.y - Hu3DData[arg0->model[j]].pos.y; - temp_f29 = Hu3DData[arg0->model[i]].pos.z - Hu3DData[arg0->model[j]].pos.z; - if (sqrtf(temp_f31 * temp_f31 + temp_f30 * temp_f30 + temp_f29 * temp_f29) <= 100.0f) { - break; - } - } - } - var_r28++; - } while (j != 140 && var_r28 < 50); - lbl_1_bss_3CC[i].unk08 = 1; - Hu3DModelLayerSet(arg0->model[i], 3); - lbl_1_bss_3CC[i].unk0C = lbl_1_bss_3CC[i].unk18 = Hu3DData[arg0->model[i]].pos.x; - lbl_1_bss_3CC[i].unk10 = lbl_1_bss_3CC[i].unk1C = Hu3DData[arg0->model[i]].pos.y; - lbl_1_bss_3CC[i].unk14 = lbl_1_bss_3CC[i].unk20 = Hu3DData[arg0->model[i]].pos.z; - if (rand8() % 2 == 0) { - lbl_1_bss_3CC[i].unk18 += rand8() % 30; - } - else { - lbl_1_bss_3CC[i].unk18 -= rand8() % 30; - } - lbl_1_bss_3CC[i].unk1C += rand8() % 30 + 10; - if (rand8() % 2 == 0) { - lbl_1_bss_3CC[i].unk20 += rand8() % 30; - } - else { - lbl_1_bss_3CC[i].unk20 -= rand8() % 30; - } - lbl_1_bss_3CC[i].unk24 = lbl_1_bss_3CC[i].unk28 = lbl_1_bss_3CC[i].unk2C = 0.0f; - lbl_1_bss_3CC[i].unk04 = 360 + (rand8() * 2) % 360; - lbl_1_bss_3CC[i].unk00 = rand8(); - } - for (i = 1; i < 140; i++) { - Hu3DModelAttrSet(arg0->model[i], HU3D_ATTR_DISPOFF); - } - arg0->func = fn_1_22C08; -} - -float fn_1_240E4(float arg0, float arg1, float arg2, float arg3) -{ - if (arg3 <= arg2) { - return arg1; - } - return arg0 + (arg2 / arg3) * (arg1 - arg0); -} - -float fn_1_2410C(float arg0, float arg1, float arg2) -{ - return (arg1 + arg0 * (arg2 - 1.0f)) / arg2; -} - -float fn_1_2412C(float arg0, float arg1, float arg2, float arg3) -{ - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg1 - arg0) * (1.0 - cosd((90.0f / arg3) * arg2)); -} - -float fn_1_24204(float arg0, float arg1, float arg2, float arg3) -{ - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg1 - arg0) * sind((90.0f / arg3) * arg2); -} - -float fn_1_242CC(float arg0, float arg1, float arg2, float arg3) -{ - if (arg2 >= arg3) { - return arg0; - } - return arg0 + (arg1 - arg0) * sind((360.0f / arg3) * arg2); -} - -void fn_1_24388(s32 arg0) -{ - HuPrcSleep(arg0); -} - -void fn_1_243B0(void) -{ - HuPrcVSleep(); -} - -void fn_1_243D0(void) -{ - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_243E4(void) -{ - s32 var_r31; - - var_r31 = 0; - var_r31 = Hu3DGLightCreate(0.0f, 700.0f, 1200.0f, 0.0f, -1.0f, 0.0f, 0xFF, 0xFF, 0xFF); - Hu3DGLightPosAimSet(var_r31, 0.0f, 700.0f, 1200.0f, 0.0f, 0.0f, 640.0f); - Hu3DGLightInfinitytSet(var_r31); -} - -void fn_1_244C0(s32 arg0) -{ - Vec sp24 = { 0.0f, 3000.0f, 800.0f }; - Vec sp18 = { 0.0f, 0.0f, 640.0f }; - Vec spC = { 0.0f, 1.0f, 0.0f }; - - if (arg0 == 3) { - sp24.x = sp18.x = 1200.0f; - } - Hu3DShadowCreate(45.0f, 2000.0f, 25000.0f); - Hu3DShadowTPLvlSet(0.8f); - Hu3DShadowPosSet(&sp24, &spC, &sp18); -} - -void fn_1_245A8(void) -{ - HuWinInit(1); -} - -void fn_1_245CC(s32 arg0, float arg1, float arg2, s32 arg3) -{ - WindowData *temp_r29; - float temp_f29; - float temp_f28; - float temp_f25; - float temp_f24; - float var_f31; - float var_f30; - float temp_f27; - float temp_f26; - float var_f23; - float var_f22; - float var_f21; - float var_f20; - s32 i; - - temp_r29 = &winData[arg0]; - temp_f29 = temp_r29->pos_x; - temp_f28 = temp_r29->pos_y; - temp_f25 = temp_r29->w; - temp_f24 = temp_r29->h; - var_f31 = temp_f29 + temp_f25 * arg1; - temp_f27 = 4.0f / temp_f25; - if (var_f31 + 4.0f - (temp_f29 + temp_f25) >= 0.0f) { - var_f31 = temp_f29 + temp_f25 - 4.0f; - } - else { - if (temp_f29 - (var_f31 - 2.0f) >= 0.0f) { - var_f31 = temp_f29; - } - else { - var_f31 = var_f31 - 2.0f; - } - } - var_f30 = temp_f28 + temp_f24 * arg2; - temp_f26 = 4.0f / temp_f24; - if (var_f30 + 4.0f - (temp_f28 + temp_f24) >= 0.0f) { - var_f30 = temp_f28 + temp_f24 - 4.0f; - } - else { - if (temp_f28 - (var_f30 - 2.0f) >= 0.0f) { - var_f30 = temp_f28; - } - else { - var_f30 = var_f30 - 2.0f; - } - } - if (arg3 != 0) { - HuWinPosSet(arg0, var_f31, var_f30); - HuWinScaleSet(arg0, temp_f27, temp_f26); - var_f23 = var_f31; - var_f21 = temp_f27; - var_f22 = var_f30; - var_f20 = temp_f26; - } - else { - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - var_f23 = temp_f29; - var_f21 = 1.0f; - var_f22 = temp_f28; - var_f20 = 1.0f; - } - HuWinDispOn(arg0); - for (i = 0; i <= 15; i++) { - HuPrcVSleep(); - if (arg3 != 0) { - if (i <= 10) { - var_f23 = fn_1_24204(var_f31, temp_f29, i, 10.0f); - var_f21 = fn_1_24204(temp_f27, 1.0f, i, 10.0f); - } - else { - var_f22 = fn_1_24204(var_f30, temp_f28, i - 10, 5.0f); - var_f20 = fn_1_24204(temp_f26, 1.0f, i - 10, 5.0f); - } - } - else { - if (i <= 10) { - var_f22 = fn_1_24204(temp_f28, var_f30, i, 10.0f); - var_f20 = fn_1_24204(1.0f, temp_f26, i, 10.0f); - } - else { - var_f23 = fn_1_24204(temp_f29, var_f31, i - 10, 5.0f); - var_f21 = fn_1_24204(1.0f, temp_f27, i - 10, 5.0f); - } - } - HuWinPosSet(arg0, var_f23, var_f22); - HuWinScaleSet(arg0, var_f21, var_f20); - } - if (arg3 != 0) { - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - } - else { - HuWinPosSet(arg0, var_f31, var_f30); - HuWinScaleSet(arg0, temp_f27, temp_f26); - } - HuPrcVSleep(); -} - -s32 fn_1_25014(s32 arg0, s32 arg1, s32 arg2, s32 arg3, float arg4, float arg5, s32 arg6, s32 arg7, s32 arg8) -{ - float sp14[2]; - s32 temp_r30; - - if (arg6 % 2 == 0) { - arg2 = arg2 * 21 + 16; - arg3 = arg3 * 26 + 16; - arg1 = 445.0f - arg3; - switch (arg0) { - case -1: - arg0 = 16; - break; - case 0: - arg0 = 1.0f + (576.0f - arg2) / 2; - break; - case 1: - arg0 = 556.0f - arg2; - break; - } - } - else { - HuWinMesMaxSizeGet(1, sp14, arg8); - arg2 = sp14[0]; - arg3 = sp14[1]; - arg0 = 556.0f - arg2; - arg1 = 445.0f - arg3; - } - temp_r30 = HuWinExCreateStyled(arg0, arg1, arg2, arg3, -1, 1); - if (arg6 == 1) { - HuWinAttrSet(temp_r30, 0x10); - } - HuWinMesPalSet(temp_r30, 7, 0, 0, 0); - winData[temp_r30].active_pad = 1; - fn_1_245CC(temp_r30, arg4, arg5, 1); - return temp_r30; -} - -s32 fn_1_2530C(s32 arg0, s32 arg1, s32 arg2) -{ - return fn_1_25014(arg0, 0, 21, 2, 0.5f, 0.5f, 0, 0, 0); -} - -void fn_1_25524(s32 arg0, float arg1, float arg2) -{ - HuWinMesSet(arg0, MAKE_MESSID(37, 4)); - HuPrcVSleep(); - fn_1_245CC(arg0, arg1, arg2, 0); - HuWinExCleanup(arg0); -} - -void fn_1_25584(s32 arg0) -{ - fn_1_25524(arg0, 0.5f, 0.5f); -} - -void fn_1_255EC(s32 arg0, s32 arg1) -{ - if (arg1 == -999 || arg1 == 0) { - return; - } - if (arg1 == -1000) { - do { - HuPrcVSleep(); - } while (HuWinStatGet(arg0) == 1); - return; - } - if (arg1 > 0) { - HuPrcSleep(arg1); - return; - } - HuWinComKeyReset(); - HuWinMesWait(arg0); - HuWinComKeyReset(); -} - -void fn_1_2567C(s32 arg0, s32 arg1, s32 arg2, s32 arg3) -{ - s32 i; - s32 temp_r28; - s32 var_r30; - - temp_r28 = 0; - var_r30 = 0; - temp_r28 = HuWinKeyWaitNumGet(arg1); - if (arg2 == -1 || arg2 >= temp_r28 - 1) { - arg2 = temp_r28 - 1; - } - HuWinComKeyReset(); - for (i = 0; i < temp_r28; i++) { - var_r30 = 0; - do { - HuPrcVSleep(); - } while (HuWinStatGet(arg0) != 1); - if (i == arg2) { - HuWinAttrSet(arg0, 0x400); - var_r30 = 1; - } - while (TRUE) { - HuPrcVSleep(); - if (var_r30 != 0) { - if (var_r30 == 1 && HuWinStatGet(arg0) != 1) { - var_r30 = 2; - } - else if (var_r30 == 2) { - HuPrcSleep(arg3); - HuWinAttrReset(arg0, 0x400); - HuWinKeyWaitEntry(arg0); - break; - } - } - else if (HuWinStatGet(arg0) != 1) { - break; - } - } - } - fn_1_255EC(arg0, -1); // The second arg could be any negative value different from -999 or -1000. - HuWinComKeyReset(); -} - -s32 fn_1_257B0(s32 arg0) -{ - s32 temp_r31; - - HuWinComKeyReset(); - temp_r31 = HuWinChoiceGet(arg0, 0); - HuWinComKeyReset(); - return temp_r31; -} - -void fn_1_257F8(s32 arg0, s32 arg1, s32 arg2) -{ - HuWinInsertMesSet(arg0, arg1, arg2); -} - -void fn_1_25838(s32 arg0, s32 arg1, s32 arg2, s32 arg3) -{ - if (arg3 == -999) { - HuWinMesSpeedSet(arg0, 0); - } - else { - HuWinMesSpeedSet(arg0, 1); - } - HuWinMesSet(arg0, arg1); - if (arg2 == -1) { - fn_1_255EC(arg0, arg3); - } - else { - fn_1_2567C(arg0, arg1, arg2, arg3); - } -} - -s32 fn_1_2592C(s32 arg0, s32 arg1, s32 arg2) -{ - s32 var_r25; - s32 temp_r27; - - var_r25 = 0; - temp_r27 = fn_1_25014(0, 0, 0, 0, 0.5f, 0.5f, arg1, 0, arg0); - HuWinMesSet(temp_r27, arg0); - var_r25 = fn_1_257B0(temp_r27); - fn_1_25524(temp_r27, 0.5f, 0.5f); - return var_r25; -} - -s32 fn_1_25CA8(s32 arg0) -{ - float sp8[2]; - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - s32 var_r31; - - HuWinMesMaxSizeGet(1, sp8, arg0); - temp_f31 = sp8[0]; - temp_f30 = sp8[1]; - temp_f29 = (576.0f - temp_f31) / 2; - temp_f28 = 385.0f - temp_f30; - if (lbl_1_data_488 == -1) { - var_r31 = lbl_1_data_488 = HuWinExCreateStyled(temp_f29, temp_f28, temp_f31, temp_f30, -1, 1); - } - else { - fn_1_25E74(lbl_1_data_488); - var_r31 = lbl_1_data_488 = HuWinExCreateStyled(temp_f29, temp_f28, temp_f31, temp_f30, -1, 1); - } - HuWinBGTPLvlSet(lbl_1_data_488, 0.0f); - HuWinMesSet(lbl_1_data_488, arg0); - HuWinMesSpeedSet(lbl_1_data_488, 0); - HuWinDispOn(lbl_1_data_488); - return lbl_1_data_488; -} - -void fn_1_25E74(s32 arg0) -{ - if (lbl_1_data_488 != -1) { - HuWinExCleanup(lbl_1_data_488); - lbl_1_data_488 = -1; - } -} - -void fn_1_25EC8(s32 arg0, s32 arg1, s32 arg2, s32 arg3) -{ - switch (arg3) { - case 0: - Hu3DMotionShiftSet(arg0, arg1, 0.0f, arg2, HU3D_MOTATTR_NONE); - break; - case 1: - Hu3DMotionShiftSet(arg0, arg1, 0.0f, arg2, HU3D_MOTATTR_LOOP); - break; - case 2: - Hu3DMotionShiftSet(arg0, arg1, 0.0f, arg2, HU3D_MOTATTR_PAUSE); - break; - } -} - -void fn_1_26004(s32 arg0, Vec arg1, float arg2, float arg3, float arg4, s32 arg5, s32 arg6) -{ - Vec sp4C; - Vec sp40; - Vec sp34; - Vec sp28; - Vec sp1C; - Vec sp10; - s32 var_r30; - s32 var_r29; - s32 i; - - var_r30 = 0; - var_r29 = 0; - sp40.x = Hu3DData[arg0].pos.x; - sp40.y = Hu3DData[arg0].pos.y; - sp40.z = Hu3DData[arg0].pos.z; - sp34.x = arg1.x; - sp34.y = arg1.y; - sp34.z = arg1.z; - sp1C.x = Hu3DData[arg0].rot.x; - sp1C.y = Hu3DData[arg0].rot.y; - sp1C.z = Hu3DData[arg0].rot.z; - sp10.x = 0.0f; - sp10.y = arg2; - sp10.z = 0.0f; - if (sp34.x - sp40.x >= 0.0f) { - var_r30 = 1; - } - else { - var_r30 = 0; - } - if (sp34.z - sp40.z >= 0.0f) { - var_r29 = 1; - } - else { - var_r29 = 0; - } - while (arg5 != 0) { - HuPrcVSleep(); - sp28.y = -(atan2d(sp34.z - sp40.z, sp34.x - sp40.x) - 90.0); - if (sp28.y < 0.0f) { - sp28.y += 360.0f; - } - else if (sp28.y >= 360.0f) { - sp28.y -= 360.0f; - } - if (arg6 != 0) { - if (sp28.y >= 180.0f) { - if (sp1C.y - sp28.y >= 180.0f) { - sp1C.y -= 360.0f; - } - if (sp1C.y - sp28.y < -180.0f) { - sp1C.y += 360.0f; - } - } - else { - if (sp1C.y - sp28.y > 180.0f) { - sp1C.y -= 360.0f; - } - if (sp1C.y - sp28.y <= -180.0f) { - sp1C.y += 360.0f; - } - } - } - sp4C.x = sp40.x += arg3 * sind(sp28.y); - sp4C.z = sp40.z += arg3 * cosd(sp28.y); - if (var_r30 == 1) { - if (sp40.x >= sp34.x) { - sp4C.x = sp40.x = sp34.x; - var_r30 = 2; - } - } - else if (var_r30 == 0) { - if (sp40.x <= sp34.x) { - sp4C.x = sp40.x = sp34.x; - var_r30 = 2; - } - } - if (var_r29 == 1) { - if (sp40.z >= sp34.z) { - sp4C.z = sp40.z = sp34.z; - var_r29 = 2; - } - } - else if (var_r29 == 0) { - if (sp40.z <= sp34.z) { - sp4C.z = sp40.z = sp34.z; - var_r29 = 2; - } - } - if (arg6 != 0) { - sp1C.y = fn_1_2410C(sp1C.y, sp28.y, arg4); - } - Hu3DModelPosSet(arg0, sp4C.x, sp40.y, sp4C.z); - Hu3DModelRotSet(arg0, sp1C.x, sp1C.y, sp1C.z); - if (var_r30 == 2 && var_r29 == 2) { - break; - } - } - sp1C.y = Hu3DData[arg0].rot.y; - if (arg6 != 0) { - for (i = 0; i <= arg4; i++) { - HuPrcVSleep(); - if (sp10.y >= 180.0f) { - if (sp1C.y - sp10.y >= 180.0f) { - sp1C.y -= 360.0f; - } - if (sp1C.y - sp10.y < -180.0f) { - sp1C.y += 360.0f; - } - } - else { - if (sp1C.y - sp10.y > 180.0f) { - sp1C.y -= 360.0f; - } - if (sp1C.y - sp10.y <= -180.0f) { - sp1C.y += 360.0f; - } - } - sp10.z = fn_1_240E4(sp1C.y, sp10.y, i, arg4); - Hu3DModelRotSet(arg0, sp1C.x, sp10.z, sp1C.z); - } - } -} - -void fn_1_26790(s32 arg0, s32 arg1, float arg2, float arg3) -{ - HuSprPosSet(arg0, arg1, arg2, arg3 + 0.5f); -} diff --git a/src/REL/mgmodedll/mgmode.c b/src/REL/mgmodedll/mgmode.c index 4e078f7d..763a8cd3 100644 --- a/src/REL/mgmodedll/mgmode.c +++ b/src/REL/mgmodedll/mgmode.c @@ -1,26 +1,29 @@ #include "REL/mgmodedll.h" -#include "game/audio.h" -#include "game/esprite.h" #include "game/gamework_data.h" -#include "game/saveload.h" +#include "game/esprite.h" +#include "game/audio.h" #include "game/wipe.h" +#include "game/saveload.h" +#include "rel_sqrt_consts.h" #include "ext_math.h" -#ifndef __MWERKS__ -#include "game/hsfex.h" -#endif - typedef struct camera_view_params { - Vec rot; - Vec pos; - float zoom; + Vec rot; + Vec pos; + float zoom; } CameraViewParams; -CameraViewParams lbl_1_data_0[1] = { { { -5, 0, 0 }, { 0, 125, 0 }, 1750 } }; +CameraViewParams lbl_1_data_0[1] = { + { + { -5, 0, 0 }, + { 0, 125, 0 }, + 1750 + } +}; -omObjData *outViewObj; -Process *objman; +omObjData *lbl_1_bss_2DC; +Process *lbl_1_bss_2D8; s32 lbl_1_bss_2D4; s32 lbl_1_bss_2D0; s16 lbl_1_bss_2CE; @@ -35,7 +38,7 @@ Vec lbl_1_bss_28C[2]; Vec lbl_1_bss_274[2]; float lbl_1_bss_26C[2]; StructBss8 lbl_1_bss_8; -s16 mgModeEvtNo; +s16 lbl_1_bss_4; s32 lbl_1_bss_0; void fn_1_464(void); @@ -43,43 +46,43 @@ void fn_1_54F4(void); void ObjectSetup(void) { - s32 glight; - - OSReport("******* MG ObjectSetup *********\n"); - objman = omInitObjMan(50, 8192); - lbl_1_bss_28C[0].x = -70; - lbl_1_bss_28C[0].y = 0; - lbl_1_bss_28C[0].z = 0; - lbl_1_bss_274[0].x = 0; - lbl_1_bss_274[0].y = 130; - lbl_1_bss_274[0].z = -186; - lbl_1_bss_26C[0] = 1360; - lbl_1_bss_2C0 = lbl_1_bss_28C[0]; - lbl_1_bss_2B4 = lbl_1_bss_274[0]; - lbl_1_bss_2B0 = lbl_1_bss_26C[0]; - lbl_1_bss_2D0 = 0; - _ClearFlag(0x10000); - _ClearFlag(0x10008); - GWSystem.mg_type = -1; - GWSystem.player_curr = 0; - mgModeEvtNo = omovlevtno; - if (mgModeEvtNo == 0) { - mgGameStatBackup = GWGameStat; - } - lbl_1_bss_2CE = -1; - mgBoardHostEnableF = 1; - mgPracticeEnableF = 0; - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 42, 20, 15000, 1.2f); - Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); - glight = Hu3DGLightCreate(0, 100, 1000, 0, -0.5, -1, 255, 255, 255); - Hu3DGLightInfinitytSet(glight); - HuPrcChildCreate(fn_1_464, 100, 12288, 0, objman); - HuPrcChildCreate(fn_1_54F4, 200, 4096, 0, objman); - outViewObj = omAddObjEx(objman, 32730, 0, 0, -1, omOutView); - Hu3DBGColorSet(0, 0, 0); - HuWinInit(1); - fn_1_279FC(0); + s32 glight; + + OSReport("******* MG ObjectSetup *********\n"); + lbl_1_bss_2D8 = omInitObjMan(50, 8192); + lbl_1_bss_28C[0].x = -70; + lbl_1_bss_28C[0].y = 0; + lbl_1_bss_28C[0].z = 0; + lbl_1_bss_274[0].x = 0; + lbl_1_bss_274[0].y = 130; + lbl_1_bss_274[0].z = -186; + lbl_1_bss_26C[0] = 1360; + lbl_1_bss_2C0 = lbl_1_bss_28C[0]; + lbl_1_bss_2B4 = lbl_1_bss_274[0]; + lbl_1_bss_2B0 = lbl_1_bss_26C[0]; + lbl_1_bss_2D0 = 0; + _ClearFlag(0x10000); + _ClearFlag(0x10008); + GWSystem.mg_type = -1; + GWSystem.player_curr = 0; + lbl_1_bss_4 = omovlevtno; + if(lbl_1_bss_4 == 0) { + mgGameStatBackup = GWGameStat; + } + lbl_1_bss_2CE = -1; + mgBoardHostEnableF = 1; + mgPracticeEnableF = 0; + Hu3DCameraCreate(1); + Hu3DCameraPerspectiveSet(1, 42, 20, 15000, 1.2f); + Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); + glight = Hu3DGLightCreate(0, 100, 1000, 0, -0.5, -1, 255, 255, 255); + Hu3DGLightInfinitytSet(glight); + HuPrcChildCreate(fn_1_464, 100, 12288, 0, lbl_1_bss_2D8); + HuPrcChildCreate(fn_1_54F4, 200, 4096, 0, lbl_1_bss_2D8); + lbl_1_bss_2DC = omAddObjEx(lbl_1_bss_2D8, 32730, 0, 0, -1, omOutView); + Hu3DBGColorSet(0, 0, 0); + HuWinInit(1); + fn_1_279FC(0); } void fn_1_52DC(void); @@ -88,45 +91,44 @@ void fn_1_6F8(void); void fn_1_464(void) { - s16 i; - fn_1_52DC(); - if (mgModeEvtNo == 0) { - HuAudSStreamPlay(12); - fn_1_19018(); - } - else { - HuAudSeqPlay(44); - for (i = 0; i < 4; i++) { - lbl_1_bss_8.unk24[i].unk68 = GWPlayerCfg[i].character; - lbl_1_bss_8.unk24[i].unk60 = GWPlayerCfg[i].iscom; - lbl_1_bss_8.unk24[i].unk6C = GWPlayerCfg[i].pad_idx; - lbl_1_bss_8.unk24[i].unk64 = GWPlayerCfg[i].diff; - } - CZoom = 1600; - Center.x = Center.z = 0; - Center.y = 215; - CRot.x = 0; - CRot.y = CRot.z = 0; - if (mgModeEvtNo == 1 || mgModeEvtNo == 2 || mgModeEvtNo == 3 || mgModeEvtNo == 4) { - Hu3DModelPosSet(lbl_1_bss_2C80[5], 0, 0, 640); - Hu3DMotionSet(lbl_1_bss_2C80[5], lbl_1_bss_2C66[6]); - Hu3DModelAttrSet(lbl_1_bss_2C80[5], HU3D_MOTATTR_LOOP); - HuPrcVSleep(); - } - } - fn_1_6F8(); - fn_1_2592C(0x1E0035, 3, 0); - fn_1_25584(lbl_1_bss_2CE); - while (1) { - HuPrcVSleep(); - } + s16 i; + fn_1_52DC(); + if(lbl_1_bss_4 == 0) { + HuAudSStreamPlay(12); + fn_1_19018(); + } else { + HuAudSeqPlay(44); + for(i=0; i<4; i++) { + lbl_1_bss_8.unk24[i].unk68 = GWPlayerCfg[i].character; + lbl_1_bss_8.unk24[i].unk60 = GWPlayerCfg[i].iscom; + lbl_1_bss_8.unk24[i].unk6C = GWPlayerCfg[i].pad_idx; + lbl_1_bss_8.unk24[i].unk64 = GWPlayerCfg[i].diff; + } + CZoom = 1600; + Center.x = Center.z = 0; + Center.y = 215; + CRot.x = 0; + CRot.y = CRot.z = 0; + if(lbl_1_bss_4 == 1 || lbl_1_bss_4 == 2 || lbl_1_bss_4 == 3 || lbl_1_bss_4 == 4) { + Hu3DModelPosSet(lbl_1_bss_2C80[5], 0, 0, 640); + Hu3DMotionSet(lbl_1_bss_2C80[5], lbl_1_bss_2C66[6]); + Hu3DModelAttrSet(lbl_1_bss_2C80[5], 0x40000001); + HuPrcVSleep(); + } + } + fn_1_6F8(); + fn_1_2592C(0x1E0035, 3, 0); + fn_1_25584(lbl_1_bss_2CE); + while(1) { + HuPrcVSleep(); + } } Vec lbl_1_data_40[4] = { - { 108, 190, 0 }, - { 228, 190, 0 }, - { 348, 190, 0 }, - { 468, 190, 0 }, + { 108, 190, 0 }, + { 228, 190, 0 }, + { 348, 190, 0 }, + { 468, 190, 0 }, }; void fn_1_DF0(void); @@ -138,106 +140,104 @@ void fn_1_4ADC(void); void fn_1_6F8(void) { - s16 i; - s16 time; - if (mgModeEvtNo == 1 || mgModeEvtNo == 2 || mgModeEvtNo == 3 || mgModeEvtNo == 4) { - lbl_1_bss_2A6 = 0; - goto freeplay; - } - Hu3DModelAttrSet(lbl_1_bss_2C80[9], HU3D_MOTATTR_PAUSE); - Hu3DMotionTimeSet(lbl_1_bss_2C80[9], 0); - for (time = 0; time <= 30; time++) { - for (i = 0; i < 4; i++) { - if (time > i * 2 && time < (i * 2) + 20) { - float weight = (time - (i * 2)) / 20.0; - Vec pos2D = lbl_1_data_40[i]; - Vec pos3D; - pos2D.z = 800; - pos2D.y -= (1.0 - sind(weight * 90.0f)) * 300.0; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - Hu3DModelPosSetV(lbl_1_bss_2C80[i + 9], &pos3D); - Hu3DModelAttrReset(lbl_1_bss_2C80[i + 9], HU3D_ATTR_DISPOFF); - } - } - HuPrcVSleep(); - } - while (1) { - if (lbl_1_bss_2CE == -1) { - lbl_1_bss_2CE = fn_1_2530C(0, 0, 0); - } - HuWinPushKeySet(lbl_1_bss_2CE, PAD_BUTTON_A | PAD_BUTTON_B); - HuWinMesSpeedSet(lbl_1_bss_2CE, 1); - HuAudFXPlay(68); - fn_1_25838(lbl_1_bss_2CE, 0x280001, -1, -1); - lbl_1_bss_2CC = fn_1_25CA8(0x280018); - lbl_1_bss_2A6 = 0; - espPosSet(lbl_1_bss_2C2C[0], -20 + lbl_1_data_40[lbl_1_bss_2A6].x, -10 + lbl_1_data_40[lbl_1_bss_2A6].y); - espAttrReset(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); - HuWinMesSpeedSet(lbl_1_bss_2CE, 0); - fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A6 + 0x280002, -1, -999); - while (1) { - s16 delta = 0; - if ((HuPadDStkRep[0] & PAD_BUTTON_LEFT) && lbl_1_bss_2A6 > 0) { - delta = -1; - } - else if ((HuPadDStkRep[0] & PAD_BUTTON_RIGHT) && lbl_1_bss_2A6 < 3) { - delta = 1; - } - if (delta != 0) { - HuAudFXPlay(0); - lbl_1_bss_2A6 += delta; - espPosSet(lbl_1_bss_2C2C[0], -20 + lbl_1_data_40[lbl_1_bss_2A6].x, -10 + lbl_1_data_40[lbl_1_bss_2A6].y); - fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A6 + 0x280002, -1, -999); - } - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - HuAudFXPlay(2); - if (lbl_1_bss_2A6 != 2) { - break; - } - if (fn_1_487C() == 0) { - continue; - } - break; - } - if (HuPadBtnDown[0] & PAD_BUTTON_B) { - s16 choice; - espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); - fn_1_25838(lbl_1_bss_2CE, 0x280006, -1, -1); - choice = HuWinChoiceGet(lbl_1_bss_2CE, 1); - if (choice != 0) { - fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A6 + 0x280002, -1, -999); - espAttrReset(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); - continue; - } - else { - fn_1_25E74(lbl_1_bss_2CC); - fn_1_25584(lbl_1_bss_2CE); - lbl_1_bss_2D0 = 1; - while (1) { - HuPrcVSleep(); - } - } - } - HuPrcVSleep(); - } - fn_1_25E74(lbl_1_bss_2CC); - mgModeEvtNo = 0; - espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); - if (lbl_1_bss_2A6 == 0) { - freeplay: - fn_1_DF0(); - } - else if (lbl_1_bss_2A6 == 1) { - fn_1_38D8(); - } - else if (lbl_1_bss_2A6 == 2) { - fn_1_4010(); - } - else if (lbl_1_bss_2A6 == 3) { - fn_1_4ADC(); - } - } + s16 i; + s16 time; + if(lbl_1_bss_4 == 1 || lbl_1_bss_4 == 2 || lbl_1_bss_4 == 3 || lbl_1_bss_4 == 4) { + lbl_1_bss_2A6 = 0; + goto freeplay; + } + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000002); + Hu3DMotionTimeSet(lbl_1_bss_2C80[9], 0); + for(time=0; time<=30; time++) { + for(i=0; i<4; i++) { + if(time > i*2 && time < (i*2)+20) { + float weight = (time-(i*2))/20.0; + Vec pos2D = lbl_1_data_40[i]; + Vec pos3D; + pos2D.z = 800; + pos2D.y -= (1.0-sind(weight*90.0f))*300.0; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + HuPrcVSleep(); + } + while(1) { + if(lbl_1_bss_2CE == -1) { + lbl_1_bss_2CE = fn_1_2530C(0, 0, 0); + } + HuWinPushKeySet(lbl_1_bss_2CE, PAD_BUTTON_A|PAD_BUTTON_B); + HuWinMesSpeedSet(lbl_1_bss_2CE, 1); + HuAudFXPlay(68); + fn_1_25838(lbl_1_bss_2CE, 0x280001, -1, -1); + lbl_1_bss_2CC = fn_1_25CA8(0x280018); + lbl_1_bss_2A6 = 0; + espPosSet(lbl_1_bss_2C2C[0], -20+lbl_1_data_40[lbl_1_bss_2A6].x, -10+lbl_1_data_40[lbl_1_bss_2A6].y); + espAttrReset(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + HuWinMesSpeedSet(lbl_1_bss_2CE, 0); + fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A6+0x280002, -1, -999); + while(1) { + s16 delta = 0; + if((HuPadDStkRep[0] & PAD_BUTTON_LEFT) && lbl_1_bss_2A6 > 0) { + delta = -1; + } else if((HuPadDStkRep[0] & PAD_BUTTON_RIGHT) && lbl_1_bss_2A6 < 3) { + delta = 1; + } + if(delta != 0) { + HuAudFXPlay(0); + lbl_1_bss_2A6 += delta; + espPosSet(lbl_1_bss_2C2C[0], -20+lbl_1_data_40[lbl_1_bss_2A6].x, -10+lbl_1_data_40[lbl_1_bss_2A6].y); + fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A6+0x280002, -1, -999); + } + if(HuPadBtnDown[0] & PAD_BUTTON_A) { + HuAudFXPlay(2); + if(lbl_1_bss_2A6 != 2) { + break; + } + if(fn_1_487C() == 0) { + continue; + } + break; + } + if(HuPadBtnDown[0] & PAD_BUTTON_B) { + s16 choice; + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + fn_1_25838(lbl_1_bss_2CE, 0x280006, -1, -1); + choice = HuWinChoiceGet(lbl_1_bss_2CE, 1); + if(choice != 0) { + fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A6+0x280002, -1, -999); + espAttrReset(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + continue; + } else { + fn_1_25E74(lbl_1_bss_2CC); + fn_1_25584(lbl_1_bss_2CE); + lbl_1_bss_2D0 = 1; + while(1) { + HuPrcVSleep(); + } + } + } + HuPrcVSleep(); + } + fn_1_25E74(lbl_1_bss_2CC); + lbl_1_bss_4 = 0; + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + if(lbl_1_bss_2A6 == 0) { + freeplay: + fn_1_DF0(); + } else if(lbl_1_bss_2A6 == 1) { + fn_1_38D8(); + } else if(lbl_1_bss_2A6 == 2) { + fn_1_4010(); + } else if(lbl_1_bss_2A6 == 3) { + fn_1_4ADC(); + } + + } + + } s32 fn_1_1B0C(void); @@ -247,1110 +247,1094 @@ s32 fn_1_3150(void); void fn_1_DF0(void) { - s16 exitF = 0; - s16 time; - s16 i; - ModelData *modelP; - Vec pos2D; - Vec pos3D; - - Vec posModel; - float weight; - - if (mgModeEvtNo == 1) { - lbl_1_bss_2A4 = 0; - goto freeplay; - } - if (mgModeEvtNo == 2) { - lbl_1_bss_2A4 = 1; - goto teamplay; - } - if (mgModeEvtNo == 3) { - lbl_1_bss_2A4 = 2; - goto battle; - } - if (mgModeEvtNo == 4) { - lbl_1_bss_2A4 = 3; - goto tictactoe; - } - pos2D.x = 168; - pos2D.y = 190; - pos2D.z = 800; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50; - modelP = &Hu3DData[lbl_1_bss_2C80[9]]; - posModel = modelP->pos; - VECSubtract(&pos3D, &posModel, &pos2D); - for (time = 0; time <= 30; time++) { - for (i = 1; i < 4; i++) { - if (time > i * 2 && time < (i * 2) + 10) { - Vec pos; - weight = (time - (i * 2)) / 10.0; - pos = lbl_1_data_40[i]; - pos.z = 800; - pos.x += (1.0 - cosd(weight * 90.0f)) * 500.0; - Hu3D2Dto3D(&pos, 1, &pos3D); - pos3D.z -= 50.0f; - Hu3DModelPosSetV(lbl_1_bss_2C80[i + 9], &pos3D); - Hu3DModelAttrReset(lbl_1_bss_2C80[i + 9], HU3D_ATTR_DISPOFF); - } - } - if (time > 10) { - weight = (time - 10) / 20.0; - VECScale(&pos2D, &pos3D, sind(weight * 90.0f)); - VECAdd(&posModel, &pos3D, &pos3D); - Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); - } - if (time == 20) { - HuAudFXPlay(2173); - Hu3DModelAttrReset(lbl_1_bss_2C80[9], HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_REV); - } - HuPrcVSleep(); - } - while (Hu3DMotionEndCheck(lbl_1_bss_2C80[9]) == 0) { - HuPrcVSleep(); - } - while (1) { - HuWinMesSpeedSet(lbl_1_bss_2CE, 1); - HuAudFXPlay(68); - fn_1_25838(lbl_1_bss_2CE, 0x280007, -1, -1); - lbl_1_bss_2CC = fn_1_25CA8(0x1A0020); - fn_1_25838(lbl_1_bss_2CE, 0x280008, -1, -999); - espAttrReset(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); - lbl_1_bss_2A4 = 0; - espPosSet(lbl_1_bss_2C2C[0], -20 + (168.0f + (lbl_1_bss_2A4 * 80)), 180); - while (1) { - s16 delta = 0; - if ((HuPadDStkRep[0] & PAD_BUTTON_LEFT) && lbl_1_bss_2A4 > 0) { - delta = -1; - } - else if ((HuPadDStkRep[0] & PAD_BUTTON_RIGHT) && lbl_1_bss_2A4 < 3) { - delta = 1; - } - if (delta != 0) { - HuAudFXPlay(0); - lbl_1_bss_2A4 += delta; - espPosSet(lbl_1_bss_2C2C[0], -20 + (168.0f + (lbl_1_bss_2A4 * 80)), 180); - fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A4 + 0x280008, -1, -999); - } - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - HuAudFXPlay(2); - if (lbl_1_bss_2A4 == 0 && lbl_1_bss_20AC[0] == 0 && lbl_1_bss_20AC[1] == 0 && lbl_1_bss_20AC[2] == 0 && lbl_1_bss_20AC[3] == 0 - && lbl_1_bss_20AC[4] == 0) { - fn_1_25838(lbl_1_bss_2CE, 0x280031, -1, -1); - fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A4 + 0x280008, -1, -999); - continue; - } - if (lbl_1_bss_2A4 == 2 && lbl_1_bss_20AC[0] == 0 && lbl_1_bss_20AC[1] == 0 && lbl_1_bss_20AC[2] == 0 && lbl_1_bss_20AC[4] == 0) { - fn_1_25838(lbl_1_bss_2CE, 0x280033, -1, -1); - fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A4 + 0x280008, -1, -999); - continue; - } - if ((lbl_1_bss_2A4 == 1 || lbl_1_bss_2A4 == 3) && lbl_1_bss_20AC[2] == 0) { - if (lbl_1_bss_2A4 == 1) { - fn_1_25838(lbl_1_bss_2CE, 0x280032, -1, -1); - } - else { - fn_1_25838(lbl_1_bss_2CE, 0x28002F, -1, -1); - } - fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A4 + 0x280008, -1, -999); - continue; - } - break; - } - if (HuPadBtnDown[0] & PAD_BUTTON_B) { - HuAudFXPlay(3); - exitF = 1; - break; - } - HuPrcVSleep(); - } - fn_1_25E74(lbl_1_bss_2CC); - if (exitF != 0) { - break; - } - if (lbl_1_bss_2A4 == 0) { - freeplay: - fn_1_1B0C(); - } - else if (lbl_1_bss_2A4 == 1) { - teamplay: - fn_1_21C4(); - } - else if (lbl_1_bss_2A4 == 2) { - battle: - fn_1_2940(); - } - else if (lbl_1_bss_2A4 == 3) { - tictactoe: - fn_1_3150(); - } - if (lbl_1_bss_2CE == -1) { - lbl_1_bss_2CE = fn_1_2530C(0, 0, 0); - } - HuWinPushKeySet(lbl_1_bss_2CE, PAD_BUTTON_A | PAD_BUTTON_B); - } - mgModeEvtNo = 0; - pos2D = lbl_1_data_40[0]; - pos2D.z = 800; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50; - modelP = &Hu3DData[lbl_1_bss_2C80[9]]; - posModel = modelP->pos; - VECSubtract(&pos3D, &posModel, &pos2D); - Hu3DModelAttrSet(lbl_1_bss_2C80[9], HU3D_MOTATTR_REV); - espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); - HuAudFXPlay(2174); - for (time = 0; time <= 20; time++) { - VECScale(&pos2D, &pos3D, sind(time * 4.5)); - VECAdd(&posModel, &pos3D, &pos3D); - Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); - HuPrcVSleep(); - } - for (time = 0; time <= 20; time++) { - for (i = 1; i < 4; i++) { - if (time > i * 2 && time < (i * 2) + 10) { - weight = (time - (i * 2)) / 10.0; - pos2D = lbl_1_data_40[i]; - pos2D.z = 800; - pos2D.x += (1.0 - sind(weight * 90.0f)) * 500.0; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - Hu3DModelPosSetV(lbl_1_bss_2C80[i + 9], &pos3D); - Hu3DModelAttrReset(lbl_1_bss_2C80[i + 9], HU3D_ATTR_DISPOFF); - } - } - HuPrcVSleep(); - } + s16 exitF = 0; + s16 time; + s16 i; + ModelData *modelP; + Vec pos2D; + Vec pos3D; + + Vec posModel; + float weight; + + if(lbl_1_bss_4 == 1) { + lbl_1_bss_2A4 = 0; + goto freeplay; + } + if(lbl_1_bss_4 == 2) { + lbl_1_bss_2A4 = 1; + goto teamplay; + } + if(lbl_1_bss_4 == 3) { + lbl_1_bss_2A4 = 2; + goto battle; + } + if(lbl_1_bss_4 == 4) { + lbl_1_bss_2A4 = 3; + goto tictactoe; + } + pos2D.x = 168; + pos2D.y = 190; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + for(time=0; time<=30; time++) { + for(i=1; i<4; i++) { + if(time > i*2 && time < (i*2)+10) { + Vec pos; + weight = (time-(i*2))/10.0; + pos = lbl_1_data_40[i]; + pos.z = 800; + pos.x += (1.0-cosd(weight*90.0f))*500.0; + Hu3D2Dto3D(&pos, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + if(time > 10) { + weight = (time-10)/20.0; + VECScale(&pos2D, &pos3D, sind(weight*90.0f)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + } + if(time == 20) { + HuAudFXPlay(2173); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000006); + } + HuPrcVSleep(); + } + while(Hu3DMotionEndCheck(lbl_1_bss_2C80[9]) == 0) { + HuPrcVSleep(); + } + while(1) { + HuWinMesSpeedSet(lbl_1_bss_2CE, 1); + HuAudFXPlay(68); + fn_1_25838(lbl_1_bss_2CE, 0x280007, -1, -1); + lbl_1_bss_2CC = fn_1_25CA8(0x1A0020); + fn_1_25838(lbl_1_bss_2CE, 0x280008, -1, -999); + espAttrReset(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + lbl_1_bss_2A4 = 0; + espPosSet(lbl_1_bss_2C2C[0], -20+(168.0f+(lbl_1_bss_2A4*80)), 180); + while(1) { + s16 delta = 0; + if((HuPadDStkRep[0] & PAD_BUTTON_LEFT) && lbl_1_bss_2A4 > 0) { + delta = -1; + } else if((HuPadDStkRep[0] & PAD_BUTTON_RIGHT) && lbl_1_bss_2A4 < 3) { + delta = 1; + } + if(delta != 0) { + HuAudFXPlay(0); + lbl_1_bss_2A4 += delta; + espPosSet(lbl_1_bss_2C2C[0], -20+(168.0f+(lbl_1_bss_2A4*80)), 180); + fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A4+0x280008, -1, -999); + } + if(HuPadBtnDown[0] & PAD_BUTTON_A) { + HuAudFXPlay(2); + if(lbl_1_bss_2A4 == 0 && lbl_1_bss_20AC[0] == 0 && lbl_1_bss_20AC[1] == 0 && lbl_1_bss_20AC[2] == 0 && lbl_1_bss_20AC[3] == 0 && lbl_1_bss_20AC[4] == 0) { + fn_1_25838(lbl_1_bss_2CE, 0x280031, -1, -1); + fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A4+0x280008, -1, -999); + continue; + } + if(lbl_1_bss_2A4 == 2 && lbl_1_bss_20AC[0] == 0 && lbl_1_bss_20AC[1] == 0 && lbl_1_bss_20AC[2] == 0 && lbl_1_bss_20AC[4] == 0) { + fn_1_25838(lbl_1_bss_2CE, 0x280033, -1, -1); + fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A4+0x280008, -1, -999); + continue; + } + if((lbl_1_bss_2A4 == 1 || lbl_1_bss_2A4 == 3) && lbl_1_bss_20AC[2] == 0) { + if(lbl_1_bss_2A4 == 1) { + fn_1_25838(lbl_1_bss_2CE, 0x280032, -1, -1); + } else { + fn_1_25838(lbl_1_bss_2CE, 0x28002F, -1, -1); + } + fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A4+0x280008, -1, -999); + continue; + } + break; + } + if(HuPadBtnDown[0] & PAD_BUTTON_B) { + HuAudFXPlay(3); + exitF = 1; + break; + } + HuPrcVSleep(); + } + fn_1_25E74(lbl_1_bss_2CC); + if(exitF != 0) { + break; + } + if(lbl_1_bss_2A4 == 0) { + freeplay: + fn_1_1B0C(); + } else if(lbl_1_bss_2A4 == 1) { + teamplay: + fn_1_21C4(); + } else if(lbl_1_bss_2A4 == 2) { + battle: + fn_1_2940(); + } else if(lbl_1_bss_2A4 == 3) { + tictactoe: + fn_1_3150(); + } + if(lbl_1_bss_2CE == -1) { + lbl_1_bss_2CE = fn_1_2530C(0, 0, 0); + } + HuWinPushKeySet(lbl_1_bss_2CE, PAD_BUTTON_A|PAD_BUTTON_B); + } + lbl_1_bss_4 = 0; + pos2D = lbl_1_data_40[0]; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000004); + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + HuAudFXPlay(2174); + for(time=0; time<=20; time++) { + VECScale(&pos2D, &pos3D, sind(time*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + HuPrcVSleep(); + } + for(time=0; time<=20; time++) { + for(i=1; i<4; i++) { + if(time > i*2 && time < (i*2)+10) { + weight = (time-(i*2))/10.0; + pos2D = lbl_1_data_40[i]; + pos2D.z = 800; + pos2D.x += (1.0-sind(weight*90.0f))*500.0; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + HuPrcVSleep(); + } } s32 fn_1_1B0C(void) { - Vec pos2D; - Vec posModel; - Vec pos3D; - s16 i; - ModelData *modelP; - s16 temp_r29 = 0; - - if (mgModeEvtNo == 1) { - pos2D.x = 60; - pos2D.y = 70; - pos2D.z = 1000; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); - Hu3DModelRotSet(lbl_1_bss_2C80[9], -90, 0, 0); - Hu3DModelAttrSet(lbl_1_bss_2C80[9], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(lbl_1_bss_2C80[9], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(lbl_1_bss_2C80[9], HU3D_MOTATTR_REV); - Hu3DModelAttrReset(lbl_1_bss_2C80[9], HU3D_MOTATTR_PAUSE); - espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); - fn_1_25E74(lbl_1_bss_2CC); - fn_1_25584(lbl_1_bss_2CE); - lbl_1_bss_2CE = lbl_1_bss_2CC = -1; - HuAudFXPlay(2174); - HuPrcSleep(40); - pos2D.x = 60; - pos2D.y = 70; - pos2D.z = 1000; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - modelP = &Hu3DData[lbl_1_bss_2C80[9]]; - posModel = modelP->pos; - VECSubtract(&pos3D, &posModel, &pos2D); - for (i = 0; i <= 20; i++) { - VECScale(&pos2D, &pos3D, sind(i * 4.5)); - VECAdd(&posModel, &pos3D, &pos3D); - Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); - Hu3DModelRotSet(lbl_1_bss_2C80[9], -90.0 * (i / 20.0), 0, 0); - HuPrcVSleep(); - } - while (!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { - HuPrcVSleep(); - } - charsel: - if (fn_1_194C8(temp_r29) == 0) { - goto exit; - } - temp_r29 = 4; - for (i = 0; i < 4; i++) { - GWPlayerCfg[i].character = lbl_1_bss_8.unk24[i].unk68; - GWPlayerCfg[i].iscom = lbl_1_bss_8.unk24[i].unk60; - GWPlayerCfg[i].diff = lbl_1_bss_8.unk24[i].unk64; - } - } - mgPracticeEnableF = 1; - if (fn_1_6D28()) { - mgModeEvtNo = 0; - goto charsel; - } -exit: - mgPracticeEnableF = 0; - mgModeEvtNo = 0; - pos2D.x = 168; - pos2D.y = 190; - pos2D.z = 800; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50; - modelP = &Hu3DData[lbl_1_bss_2C80[9]]; - posModel = modelP->pos; - VECSubtract(&pos3D, &posModel, &pos2D); - Hu3DModelAttrReset(lbl_1_bss_2C80[9], HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_REV); - for (i = 0; i <= 20; i++) { - if (i == 10) { - HuAudFXPlay(2173); - } - VECScale(&pos2D, &pos3D, sind(i * 4.5)); - VECAdd(&posModel, &pos3D, &pos3D); - Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); - Hu3DModelRotSet(lbl_1_bss_2C80[9], -90.0 * (1 - (i / 20.0)), 0, 0); - HuPrcVSleep(); - } - while (!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { - HuPrcVSleep(); - } + Vec pos2D; + Vec posModel; + Vec pos3D; + s16 i; + ModelData *modelP; + s16 temp_r29 = 0; + + if(lbl_1_bss_4 == 1) { + pos2D.x = 60; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], -90, 0, 0); + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000002); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 1); + } else { + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000004); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000002); + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + fn_1_25E74(lbl_1_bss_2CC); + fn_1_25584(lbl_1_bss_2CE); + lbl_1_bss_2CE = lbl_1_bss_2CC = -1; + HuAudFXPlay(2174); + HuPrcSleep(40); + pos2D.x = 60; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + for(i=0; i<=20; i++) { + VECScale(&pos2D, &pos3D, sind(i*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], -90.0*(i/20.0), 0, 0); + HuPrcVSleep(); + } + while(!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { + HuPrcVSleep(); + } + charsel: + if(fn_1_194C8(temp_r29) == 0) { + goto exit; + } + temp_r29 = 4; + for(i=0; i<4; i++) { + GWPlayerCfg[i].character = lbl_1_bss_8.unk24[i].unk68; + GWPlayerCfg[i].iscom = lbl_1_bss_8.unk24[i].unk60; + GWPlayerCfg[i].diff = lbl_1_bss_8.unk24[i].unk64; + } + } + mgPracticeEnableF = 1; + if(fn_1_6D28()) { + lbl_1_bss_4 = 0; + goto charsel; + } + exit: + mgPracticeEnableF = 0; + lbl_1_bss_4 = 0; + pos2D.x = 168; + pos2D.y = 190; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000006); + for(i=0; i<=20; i++) { + if(i == 10) { + HuAudFXPlay(2173); + } + VECScale(&pos2D, &pos3D, sind(i*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], -90.0*(1-(i/20.0)), 0, 0); + HuPrcVSleep(); + } + while(!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { + HuPrcVSleep(); + } } s32 fn_1_21C4(void) { - Vec pos2D; - Vec posModel; - Vec pos3D; - s16 i; - ModelData *modelP; - s16 temp_r29 = 1; - if (mgModeEvtNo == 2) { - pos2D.x = 60; - pos2D.y = 70; - pos2D.z = 1000; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); - Hu3DModelRotSet(lbl_1_bss_2C80[9], 0, -90, 90); - Hu3DModelAttrSet(lbl_1_bss_2C80[9], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(lbl_1_bss_2C80[9], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(lbl_1_bss_2C80[9], HU3D_MOTATTR_REV); - Hu3DModelAttrReset(lbl_1_bss_2C80[9], HU3D_MOTATTR_PAUSE); - espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); - fn_1_25E74(lbl_1_bss_2CC); - fn_1_25584(lbl_1_bss_2CE); - lbl_1_bss_2CE = lbl_1_bss_2CC = -1; - HuAudFXPlay(2174); - HuPrcSleep(40); - pos2D.x = 60; - pos2D.y = 70; - pos2D.z = 1000; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - modelP = &Hu3DData[lbl_1_bss_2C80[9]]; - posModel = modelP->pos; - VECSubtract(&pos3D, &posModel, &pos2D); - for (i = 0; i <= 20; i++) { - VECScale(&pos2D, &pos3D, sind(i * 4.5)); - VECAdd(&posModel, &pos3D, &pos3D); - Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); - Hu3DModelRotSet(lbl_1_bss_2C80[9], 0, -90.0 * (i / 20.0), 90.0 * (i / 20.0)); - HuPrcVSleep(); - } - while (!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { - HuPrcVSleep(); - } - charsel: - if (fn_1_194C8(temp_r29) == 0) { - goto exit; - } - temp_r29 = 4; - for (i = 0; i < 4; i++) { - GWPlayerCfg[i].character = lbl_1_bss_8.unk24[i].unk68; - GWPlayerCfg[i].group = lbl_1_bss_8.unk24[i].unk5C; - GWPlayerCfg[i].diff = lbl_1_bss_8.unk24[i].unk64; - GWPlayerCfg[i].iscom = lbl_1_bss_8.unk24[i].unk60; - } - } - mgPracticeEnableF = 1; - if (fn_1_6D28()) { - mgModeEvtNo = 0; - goto charsel; - } -exit: - mgPracticeEnableF = 0; - mgModeEvtNo = 0; - pos2D.x = 168; - pos2D.y = 190; - pos2D.z = 800; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50; - modelP = &Hu3DData[lbl_1_bss_2C80[9]]; - posModel = modelP->pos; - VECSubtract(&pos3D, &posModel, &pos2D); - Hu3DModelAttrReset(lbl_1_bss_2C80[9], HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_REV); - for (i = 0; i <= 20; i++) { - if (i == 10) { - HuAudFXPlay(2173); - } - VECScale(&pos2D, &pos3D, sind(i * 4.5)); - VECAdd(&posModel, &pos3D, &pos3D); - Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); - Hu3DModelRotSet(lbl_1_bss_2C80[9], 0, -90.0 * (1.0 - (i / 20.0)), 90.0 * (1.0 - (i / 20.0))); - HuPrcVSleep(); - } - while (!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { - HuPrcVSleep(); - } + Vec pos2D; + Vec posModel; + Vec pos3D; + s16 i; + ModelData *modelP; + s16 temp_r29 = 1; + if(lbl_1_bss_4 == 2) { + pos2D.x = 60; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], 0, -90, 90); + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000002); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 1); + } else { + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000004); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000002); + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + fn_1_25E74(lbl_1_bss_2CC); + fn_1_25584(lbl_1_bss_2CE); + lbl_1_bss_2CE = lbl_1_bss_2CC = -1; + HuAudFXPlay(2174); + HuPrcSleep(40); + pos2D.x = 60; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + for(i=0; i<=20; i++) { + VECScale(&pos2D, &pos3D, sind(i*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], 0, -90.0*(i/20.0), 90.0*(i/20.0)); + HuPrcVSleep(); + } + while(!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { + HuPrcVSleep(); + } + charsel: + if(fn_1_194C8(temp_r29) == 0) { + goto exit; + } + temp_r29 = 4; + for(i=0; i<4; i++) { + GWPlayerCfg[i].character = lbl_1_bss_8.unk24[i].unk68; + GWPlayerCfg[i].group = lbl_1_bss_8.unk24[i].unk5C; + GWPlayerCfg[i].diff = lbl_1_bss_8.unk24[i].unk64; + GWPlayerCfg[i].iscom = lbl_1_bss_8.unk24[i].unk60; + + } + } + mgPracticeEnableF = 1; + if(fn_1_6D28()) { + lbl_1_bss_4 = 0; + goto charsel; + } + exit: + mgPracticeEnableF = 0; + lbl_1_bss_4 = 0; + pos2D.x = 168; + pos2D.y = 190; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000006); + for(i=0; i<=20; i++) { + if(i == 10) { + HuAudFXPlay(2173); + } + VECScale(&pos2D, &pos3D, sind(i*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], 0, -90.0*(1.0-(i/20.0)), 90.0*(1.0-(i/20.0))); + HuPrcVSleep(); + } + while(!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { + HuPrcVSleep(); + } } s32 fn_1_2940(void) { - Vec pos2D; - Vec posModel; - Vec pos3D; - s16 temp_r29 = 2; - s16 i; - ModelData *modelP; - for (i = 0; i < 4; i++) { - Hu3DModelLayerSet(lbl_1_bss_2C80[i + 9], 2); - } - if (mgModeEvtNo == 3) { - OSReport("Eliminate Play STart\n"); - pos2D.x = 50; - pos2D.y = 70; - pos2D.z = 1000; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); - Hu3DModelRotSet(lbl_1_bss_2C80[9], -90, 180, 0); - Hu3DModelAttrSet(lbl_1_bss_2C80[9], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(lbl_1_bss_2C80[9], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(lbl_1_bss_2C80[9], HU3D_MOTATTR_REV); - Hu3DModelAttrReset(lbl_1_bss_2C80[9], HU3D_MOTATTR_PAUSE); - espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); - fn_1_25E74(lbl_1_bss_2CC); - fn_1_25584(lbl_1_bss_2CE); - lbl_1_bss_2CE = lbl_1_bss_2CC = -1; - HuAudFXPlay(2174); - HuPrcSleep(40); - pos2D.x = 50; - pos2D.y = 70; - pos2D.z = 1000; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - modelP = &Hu3DData[lbl_1_bss_2C80[9]]; - posModel = modelP->pos; - VECSubtract(&pos3D, &posModel, &pos2D); - for (i = 0; i <= 20; i++) { - VECScale(&pos2D, &pos3D, sind(i * 4.5)); - VECAdd(&posModel, &pos3D, &pos3D); - Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); - Hu3DModelRotSet(lbl_1_bss_2C80[9], 90.0 * -(i / 20.0), 180.0 * (i / 20.0), 0); - HuPrcVSleep(); - } - while (!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { - HuPrcVSleep(); - } - charsel: - if (fn_1_194C8(temp_r29) == 0) { - goto exit; - } - temp_r29 = 4; - for (i = 0; i < 4; i++) { - GWPlayerCfg[i].character = lbl_1_bss_8.unk24[i].unk68; - GWPlayerCfg[i].group = lbl_1_bss_8.unk24[i].unk5C; - GWPlayerCfg[i].iscom = lbl_1_bss_8.unk24[i].unk60; - GWPlayerCfg[i].diff = lbl_1_bss_8.unk24[i].unk64; - } - mgBattleStarMax = lbl_1_bss_8.unk20; - } - - if (fn_1_E72C() == 0) { - mgModeEvtNo = 0; - goto charsel; - } -exit: - HuDataDirClose(DATADIR_INSTPIC); - for (i = 0; i < 4; i++) { - Hu3DModelLayerSet(lbl_1_bss_2C80[i + 9], 3); - } - mgModeEvtNo = 0; - pos2D.x = 168; - pos2D.y = 190; - pos2D.z = 800; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50; - modelP = &Hu3DData[lbl_1_bss_2C80[9]]; - posModel = modelP->pos; - VECSubtract(&pos3D, &posModel, &pos2D); - Hu3DModelAttrReset(lbl_1_bss_2C80[9], HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_REV); - for (i = 0; i <= 20; i++) { - if (i == 10) { - HuAudFXPlay(2173); - } - VECScale(&pos2D, &pos3D, sind(i * 4.5)); - VECAdd(&posModel, &pos3D, &pos3D); - Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); - Hu3DModelRotSet(lbl_1_bss_2C80[9], 90.0 * -(1 - (i / 20.0)), 180.0 * (1 - (i / 20.0)), 0); - HuPrcVSleep(); - } - while (!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { - HuPrcVSleep(); - } + Vec pos2D; + Vec posModel; + Vec pos3D; + s16 temp_r29 = 2; + s16 i; + ModelData *modelP; + for(i=0; i<4; i++) { + Hu3DModelLayerSet(lbl_1_bss_2C80[i+9], 2); + } + if(lbl_1_bss_4 == 3) { + OSReport("Eliminate Play STart\n"); + pos2D.x = 50; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], -90, 180, 0); + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000002); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 1); + } else { + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000004); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000002); + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + fn_1_25E74(lbl_1_bss_2CC); + fn_1_25584(lbl_1_bss_2CE); + lbl_1_bss_2CE = lbl_1_bss_2CC = -1; + HuAudFXPlay(2174); + HuPrcSleep(40); + pos2D.x = 50; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + for(i=0; i<=20; i++) { + VECScale(&pos2D, &pos3D, sind(i*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], 90.0*-(i/20.0), 180.0*(i/20.0), 0); + HuPrcVSleep(); + } + while(!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { + HuPrcVSleep(); + } + charsel: + if(fn_1_194C8(temp_r29) == 0) { + goto exit; + } + temp_r29 = 4; + for(i=0; i<4; i++) { + GWPlayerCfg[i].character = lbl_1_bss_8.unk24[i].unk68; + GWPlayerCfg[i].group = lbl_1_bss_8.unk24[i].unk5C; + GWPlayerCfg[i].iscom = lbl_1_bss_8.unk24[i].unk60; + GWPlayerCfg[i].diff = lbl_1_bss_8.unk24[i].unk64; + } + mgBattleStarMax = lbl_1_bss_8.unk20; + } + + if(fn_1_E72C() == 0) { + lbl_1_bss_4 = 0; + goto charsel; + } + exit: + HuDataDirClose(DATADIR_INSTPIC); + for(i=0; i<4; i++) { + Hu3DModelLayerSet(lbl_1_bss_2C80[i+9], 3); + } + lbl_1_bss_4 = 0; + pos2D.x = 168; + pos2D.y = 190; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000006); + for(i=0; i<=20; i++) { + if(i == 10) { + HuAudFXPlay(2173); + } + VECScale(&pos2D, &pos3D, sind(i*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], 90.0*-(1-(i/20.0)), 180.0*(1-(i/20.0)), 0); + HuPrcVSleep(); + } + while(!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { + HuPrcVSleep(); + } } s32 fn_1_3150(void) { - Vec pos2D; - Vec posModel; - Vec pos3D; - s16 i; - ModelData *modelP; - s16 temp_r29 = 1; - if (mgModeEvtNo == 4) { - pos2D.x = 60; - pos2D.y = 70; - pos2D.z = 1000; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); - Hu3DModelRotSet(lbl_1_bss_2C80[9], -90, 90, 0); - Hu3DModelAttrSet(lbl_1_bss_2C80[9], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(lbl_1_bss_2C80[9], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(lbl_1_bss_2C80[9], HU3D_MOTATTR_REV); - Hu3DModelAttrReset(lbl_1_bss_2C80[9], HU3D_MOTATTR_PAUSE); - espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); - fn_1_25E74(lbl_1_bss_2CC); - fn_1_25584(lbl_1_bss_2CE); - lbl_1_bss_2CE = lbl_1_bss_2CC = -1; - HuAudFXPlay(2174); - HuPrcSleep(40); - pos2D.x = 60; - pos2D.y = 70; - pos2D.z = 1000; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - modelP = &Hu3DData[lbl_1_bss_2C80[9]]; - posModel = modelP->pos; - VECSubtract(&pos3D, &posModel, &pos2D); - for (i = 0; i <= 20; i++) { - VECScale(&pos2D, &pos3D, sind(i * 4.5)); - VECAdd(&posModel, &pos3D, &pos3D); - Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); - Hu3DModelRotSet(lbl_1_bss_2C80[9], 90.0 * -(i / 20.0), 90.0 * (i / 20.0), 0); - HuPrcVSleep(); - } - while (!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { - HuPrcVSleep(); - } - charsel: - if (fn_1_194C8(temp_r29) == 0) { - goto exit; - } - temp_r29 = 4; - for (i = 0; i < 4; i++) { - GWPlayerCfg[i].character = lbl_1_bss_8.unk24[i].unk68; - GWPlayerCfg[i].group = lbl_1_bss_8.unk24[i].unk5C; - GWPlayerCfg[i].iscom = lbl_1_bss_8.unk24[i].unk60; - GWPlayerCfg[i].diff = lbl_1_bss_8.unk24[i].unk64; - } - mgBattleStarMax = lbl_1_bss_8.unk20; - } - - if (fn_1_13418() == 0) { - mgModeEvtNo = 0; - goto charsel; - } -exit: - HuDataDirClose(DATADIR_INSTPIC); - mgModeEvtNo = 0; - pos2D.x = 168; - pos2D.y = 190; - pos2D.z = 800; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50; - modelP = &Hu3DData[lbl_1_bss_2C80[9]]; - posModel = modelP->pos; - VECSubtract(&pos3D, &posModel, &pos2D); - Hu3DModelAttrReset(lbl_1_bss_2C80[9], HU3D_MOTATTR_PAUSE | HU3D_MOTATTR_REV); - for (i = 0; i <= 20; i++) { - if (i == 10) { - HuAudFXPlay(2173); - } - VECScale(&pos2D, &pos3D, sind(i * 4.5)); - VECAdd(&posModel, &pos3D, &pos3D); - Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); - Hu3DModelRotSet(lbl_1_bss_2C80[9], 90.0 * -(1 - (i / 20.0)), 90.0 * (1 - (i / 20.0)), 0); - HuPrcVSleep(); - } - while (!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { - HuPrcVSleep(); - } + Vec pos2D; + Vec posModel; + Vec pos3D; + s16 i; + ModelData *modelP; + s16 temp_r29 = 1; + if(lbl_1_bss_4 == 4) { + pos2D.x = 60; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], -90, 90, 0); + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000002); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 1); + } else { + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000004); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000002); + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + fn_1_25E74(lbl_1_bss_2CC); + fn_1_25584(lbl_1_bss_2CE); + lbl_1_bss_2CE = lbl_1_bss_2CC = -1; + HuAudFXPlay(2174); + HuPrcSleep(40); + pos2D.x = 60; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + for(i=0; i<=20; i++) { + VECScale(&pos2D, &pos3D, sind(i*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], 90.0*-(i/20.0), 90.0*(i/20.0), 0); + HuPrcVSleep(); + } + while(!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { + HuPrcVSleep(); + } + charsel: + if(fn_1_194C8(temp_r29) == 0) { + goto exit; + } + temp_r29 = 4; + for(i=0; i<4; i++) { + GWPlayerCfg[i].character = lbl_1_bss_8.unk24[i].unk68; + GWPlayerCfg[i].group = lbl_1_bss_8.unk24[i].unk5C; + GWPlayerCfg[i].iscom = lbl_1_bss_8.unk24[i].unk60; + GWPlayerCfg[i].diff = lbl_1_bss_8.unk24[i].unk64; + } + mgBattleStarMax = lbl_1_bss_8.unk20; + } + + if(fn_1_13418() == 0) { + lbl_1_bss_4 = 0; + goto charsel; + } + exit: + HuDataDirClose(DATADIR_INSTPIC); + lbl_1_bss_4 = 0; + pos2D.x = 168; + pos2D.y = 190; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000006); + for(i=0; i<=20; i++) { + if(i == 10) { + HuAudFXPlay(2173); + } + VECScale(&pos2D, &pos3D, sind(i*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], 90.0*-(1-(i/20.0)), 90.0*(1-(i/20.0)), 0); + HuPrcVSleep(); + } + while(!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { + HuPrcVSleep(); + } } void fn_1_38D8(void) { - Vec pos2D; - Vec pos3D; - Vec posModel; - - s16 sp8 = 0; - s16 time; - s16 i; - float weight; - ModelData *modelP; - - fn_1_25E74(lbl_1_bss_2CC); - fn_1_25584(lbl_1_bss_2CE); - lbl_1_bss_2CE = lbl_1_bss_2CC = -1; - pos2D.x = 60; - pos2D.y = 70; - pos2D.z = 1000; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - modelP = &Hu3DData[lbl_1_bss_2C80[10]]; - posModel = modelP->pos; - VECSubtract(&pos3D, &posModel, &pos2D); - for (time = 0; time <= 30; time++) { - for (i = 0; i < 4; i++) { - if (i == 1) { - continue; - } - if (time > i * 2 && time < (i * 2) + 10) { - Vec posBox; - weight = (time - (i * 2)) / 10.0; - posBox = lbl_1_data_40[i]; - posBox.z = 800; - posBox.x += ((i < 2) ? -1 : 1) * (500.0 * (1.0 - cosd(90.0f * weight))); - Hu3D2Dto3D(&posBox, 1, &pos3D); - pos3D.z -= 50.0f; - Hu3DModelPosSetV(lbl_1_bss_2C80[i + 9], &pos3D); - Hu3DModelAttrReset(lbl_1_bss_2C80[i + 9], HU3D_ATTR_DISPOFF); - } - } - if (time > 10) { - weight = (time - 10) / 20.0; - VECScale(&pos2D, &pos3D, sind(weight * 90.0f)); - VECAdd(&posModel, &pos3D, &pos3D); - Hu3DModelPosSetV(lbl_1_bss_2C80[10], &pos3D); - } - HuPrcVSleep(); - } - fn_1_6D28(); - pos2D = lbl_1_data_40[1]; - pos2D.z = 800; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - modelP = &Hu3DData[lbl_1_bss_2C80[10]]; - posModel = modelP->pos; - VECSubtract(&pos3D, &posModel, &pos2D); - espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); - for (time = 0; time <= 20; time++) { - VECScale(&pos2D, &pos3D, sind(time * 4.5)); - VECAdd(&posModel, &pos3D, &pos3D); - Hu3DModelPosSetV(lbl_1_bss_2C80[10], &pos3D); - HuPrcVSleep(); - } - for (time = 0; time <= 20; time++) { - for (i = 0; i < 4; i++) { - if (i == 1) { - continue; - } - if (time > i * 2 && time < (i * 2) + 10) { - weight = (time - (i * 2)) / 10.0; - pos2D = lbl_1_data_40[i]; - pos2D.z = 800; - pos2D.x += ((i < 2) ? -1 : 1) * ((1.0 - sind(weight * 90.0f)) * 500.0); - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - Hu3DModelPosSetV(lbl_1_bss_2C80[i + 9], &pos3D); - Hu3DModelAttrReset(lbl_1_bss_2C80[i + 9], HU3D_ATTR_DISPOFF); - } - } - HuPrcVSleep(); - } + Vec pos2D; + Vec pos3D; + Vec posModel; + + s16 sp8 = 0; + s16 time; + s16 i; + float weight; + ModelData *modelP; + + fn_1_25E74(lbl_1_bss_2CC); + fn_1_25584(lbl_1_bss_2CE); + lbl_1_bss_2CE = lbl_1_bss_2CC = -1; + pos2D.x = 60; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[10]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + for(time=0; time<=30; time++) { + for(i=0; i<4; i++) { + if(i == 1) { + continue; + } + if(time > i*2 && time < (i*2)+10) { + Vec posBox; + weight = (time-(i*2))/10.0; + posBox = lbl_1_data_40[i]; + posBox.z = 800; + posBox.x += ((i < 2) ? -1 : 1)*(500.0*(1.0-cosd(90.0f*weight))); + Hu3D2Dto3D(&posBox, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + if(time > 10) { + weight = (time-10)/20.0; + VECScale(&pos2D, &pos3D, sind(weight*90.0f)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[10], &pos3D); + } + HuPrcVSleep(); + } + fn_1_6D28(); + pos2D = lbl_1_data_40[1]; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[10]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + for(time=0; time<=20; time++) { + VECScale(&pos2D, &pos3D, sind(time*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[10], &pos3D); + HuPrcVSleep(); + } + for(time=0; time<=20; time++) { + for(i=0; i<4; i++) { + if(i == 1) { + continue; + } + if(time > i*2 && time < (i*2)+10) { + weight = (time-(i*2))/10.0; + pos2D = lbl_1_data_40[i]; + pos2D.z = 800; + pos2D.x += ((i < 2) ? -1 : 1)*((1.0-sind(weight*90.0f))*500.0); + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + HuPrcVSleep(); + } } void fn_1_4010(void) { - Vec pos2D; - Vec pos3D; - Vec posModel; - - s16 spA[4]; - s16 sp8 = 0; - s16 time; - s16 i; - float weight; - ModelData *modelP; - fn_1_25E74(lbl_1_bss_2CC); - fn_1_25584(lbl_1_bss_2CE); - lbl_1_bss_2CE = lbl_1_bss_2CC = -1; - pos2D.x = 60; - pos2D.y = 70; - pos2D.z = 1000; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - modelP = &Hu3DData[lbl_1_bss_2C80[11]]; - posModel = modelP->pos; - VECSubtract(&pos3D, &posModel, &pos2D); - for (time = 0; time <= 30; time++) { - for (i = 0; i < 4; i++) { - if (i == 2) { - continue; - } - if (time > i * 2 && time < (i * 2) + 10) { - Vec posBox; - weight = (time - (i * 2)) / 10.0; - posBox = lbl_1_data_40[i]; - posBox.z = 800; - posBox.x += ((i < 3) ? -1 : 1) * (500.0 * (1.0 - cosd(90.0f * weight))); - Hu3D2Dto3D(&posBox, 1, &pos3D); - pos3D.z -= 50.0f; - Hu3DModelPosSetV(lbl_1_bss_2C80[i + 9], &pos3D); - Hu3DModelAttrReset(lbl_1_bss_2C80[i + 9], HU3D_ATTR_DISPOFF); - } - } - if (time > 10) { - weight = (time - 10) / 20.0; - VECScale(&pos2D, &pos3D, sind(weight * 90.0f)); - VECAdd(&posModel, &pos3D, &pos3D); - Hu3DModelPosSetV(lbl_1_bss_2C80[11], &pos3D); - } - HuPrcVSleep(); - } - fn_1_6D28(); - for (i = 0; i < 4; i++) { - spA[i] = 0; - for (time = 0; time < lbl_1_bss_20AC[lbl_1_data_A2[i]]; time++) { - if (GWMGCustomGet(lbl_1_bss_20C0[lbl_1_data_A2[i]][time] + 401)) { - spA[i]++; - } - } - } - if (spA[0] >= 4 && spA[1] >= 3 && spA[2] >= 3 && spA[3] >= 2) { - GWGameStat.customPackEnable = 1; - } - else { - GWGameStat.customPackEnable = 0; - } - pos2D = lbl_1_data_40[2]; - pos2D.z = 800; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - modelP = &Hu3DData[lbl_1_bss_2C80[11]]; - posModel = modelP->pos; - VECSubtract(&pos3D, &posModel, &pos2D); - espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); - for (time = 0; time <= 20; time++) { - VECScale(&pos2D, &pos3D, sind(time * 4.5)); - VECAdd(&posModel, &pos3D, &pos3D); - Hu3DModelPosSetV(lbl_1_bss_2C80[11], &pos3D); - HuPrcVSleep(); - } - for (time = 0; time <= 20; time++) { - for (i = 0; i < 4; i++) { - if (i == 2) { - continue; - } - if (time > i * 2 && time < (i * 2) + 10) { - weight = (time - (i * 2)) / 10.0; - pos2D = lbl_1_data_40[i]; - pos2D.z = 800; - pos2D.x += ((i < 3) ? -1 : 1) * ((1.0 - sind(weight * 90.0f)) * 500.0); - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - Hu3DModelPosSetV(lbl_1_bss_2C80[i + 9], &pos3D); - Hu3DModelAttrReset(lbl_1_bss_2C80[i + 9], HU3D_ATTR_DISPOFF); - } - } - HuPrcVSleep(); - } + Vec pos2D; + Vec pos3D; + Vec posModel; + + s16 spA[4]; + s16 sp8 = 0; + s16 time; + s16 i; + float weight; + ModelData *modelP; + fn_1_25E74(lbl_1_bss_2CC); + fn_1_25584(lbl_1_bss_2CE); + lbl_1_bss_2CE = lbl_1_bss_2CC = -1; + pos2D.x = 60; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[11]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + for(time=0; time<=30; time++) { + for(i=0; i<4; i++) { + if(i == 2) { + continue; + } + if(time > i*2 && time < (i*2)+10) { + Vec posBox; + weight = (time-(i*2))/10.0; + posBox = lbl_1_data_40[i]; + posBox.z = 800; + posBox.x += ((i < 3) ? -1 : 1)*(500.0*(1.0-cosd(90.0f*weight))); + Hu3D2Dto3D(&posBox, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + if(time > 10) { + weight = (time-10)/20.0; + VECScale(&pos2D, &pos3D, sind(weight*90.0f)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[11], &pos3D); + } + HuPrcVSleep(); + } + fn_1_6D28(); + for(i=0; i<4; i++) { + spA[i] = 0; + for(time=0; time= 4 && spA[1] >= 3 && spA[2] >= 3 && spA[3] >= 2) { + GWGameStat.field10E_bit5 = 1; + } else { + GWGameStat.field10E_bit5 = 0; + } + pos2D = lbl_1_data_40[2]; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[11]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + for(time=0; time<=20; time++) { + VECScale(&pos2D, &pos3D, sind(time*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[11], &pos3D); + HuPrcVSleep(); + } + for(time=0; time<=20; time++) { + for(i=0; i<4; i++) { + if(i == 2) { + continue; + } + if(time > i*2 && time < (i*2)+10) { + weight = (time-(i*2))/10.0; + pos2D = lbl_1_data_40[i]; + pos2D.z = 800; + pos2D.x += ((i < 3) ? -1 : 1)*((1.0-sind(weight*90.0f))*500.0); + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + HuPrcVSleep(); + } } s32 fn_1_487C(void) { - s16 i; - char str[4][6]; - - for (i = 0; i < 4; i++) { - strcpy(&str[i][0], - "\x1E\x03" - "0" - "\x1E\x08"); - } - if (lbl_1_bss_20AC[0] >= 4 && lbl_1_bss_20AC[1] >= 3 && lbl_1_bss_20AC[2] >= 3 && lbl_1_bss_20AC[4] >= 2) { - return 1; - } - if (lbl_1_bss_20AC[0] >= 4) { - str[0][1] = 5; - } - else { - str[0][2] = '4' - lbl_1_bss_20AC[0]; - } - HuWinInsertMesSet(lbl_1_bss_2CE, MAKE_MESSID_PTR(&str[0][0]), 0); - if (lbl_1_bss_20AC[1] >= 3) { - str[1][1] = 5; - } - else { - str[1][2] = '3' - lbl_1_bss_20AC[1]; - } - HuWinInsertMesSet(lbl_1_bss_2CE, MAKE_MESSID_PTR(&str[1][0]), 1); - if (lbl_1_bss_20AC[2] >= 3) { - str[2][1] = 5; - } - else { - str[2][2] = '3' - lbl_1_bss_20AC[2]; - } - HuWinInsertMesSet(lbl_1_bss_2CE, MAKE_MESSID_PTR(&str[2][0]), 2); - if (lbl_1_bss_20AC[4] >= 2) { - str[3][1] = 5; - } - else { - str[3][2] = '2' - lbl_1_bss_20AC[4]; - } - HuWinInsertMesSet(lbl_1_bss_2CE, MAKE_MESSID_PTR(&str[3][0]), 3); - fn_1_25838(lbl_1_bss_2CE, 0x28002A, -1, -1); - fn_1_25838(lbl_1_bss_2CE, 0x28002B, -1, -1); - fn_1_25838(lbl_1_bss_2CE, 0x280002 + lbl_1_bss_2A6, -1, -999); - return 0; + s16 i; + char str[4][6]; + + for(i=0; i<4; i++) { + strcpy(&str[i][0], "\x1E\x03""0""\x1E\x08"); + } + if(lbl_1_bss_20AC[0] >= 4 && lbl_1_bss_20AC[1] >= 3 && lbl_1_bss_20AC[2] >= 3 && lbl_1_bss_20AC[4] >= 2) { + return 1; + } + if(lbl_1_bss_20AC[0] >= 4) { + str[0][1] = 5; + } else { + str[0][2] = '4'-lbl_1_bss_20AC[0]; + } + HuWinInsertMesSet(lbl_1_bss_2CE, MAKE_MESSID_PTR(&str[0][0]), 0); + if(lbl_1_bss_20AC[1] >= 3) { + str[1][1] = 5; + } else { + str[1][2] = '3'-lbl_1_bss_20AC[1]; + } + HuWinInsertMesSet(lbl_1_bss_2CE, MAKE_MESSID_PTR(&str[1][0]), 1); + if(lbl_1_bss_20AC[2] >= 3) { + str[2][1] = 5; + } else { + str[2][2] = '3'-lbl_1_bss_20AC[2]; + } + HuWinInsertMesSet(lbl_1_bss_2CE, MAKE_MESSID_PTR(&str[2][0]), 2); + if(lbl_1_bss_20AC[4] >= 2) { + str[3][1] = 5; + } else { + str[3][2] = '2'-lbl_1_bss_20AC[4]; + } + HuWinInsertMesSet(lbl_1_bss_2CE, MAKE_MESSID_PTR(&str[3][0]), 3); + fn_1_25838(lbl_1_bss_2CE, 0x28002A, -1, -1); + fn_1_25838(lbl_1_bss_2CE, 0x28002B, -1, -1); + fn_1_25838(lbl_1_bss_2CE, 0x280002+lbl_1_bss_2A6, -1, -999); + return 0; } void fn_1_4ADC(void) { - Vec pos2D; - Vec pos3D; - Vec posModel; - - s16 spA[4]; - s16 sp8 = 0; - s16 time; - s16 i; - float weight; - ModelData *modelP; - fn_1_25E74(lbl_1_bss_2CC); - fn_1_25584(lbl_1_bss_2CE); - lbl_1_bss_2CE = lbl_1_bss_2CC = -1; - pos2D.x = 50; - pos2D.y = 64; - pos2D.z = 1000; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - modelP = &Hu3DData[lbl_1_bss_2C80[11]]; - posModel = modelP->pos; - VECSubtract(&pos3D, &posModel, &pos2D); - for (time = 0; time <= 30; time++) { - for (i = 0; i < 4; i++) { - if (i == 3) { - continue; - } - if (time > i * 2 && time < (i * 2) + 10) { - Vec posBox; - weight = (time - (i * 2)) / 10.0; - posBox = lbl_1_data_40[i]; - posBox.z = 800; - posBox.x += ((i < 3) ? -1 : 1) * (500.0 * (1.0 - cosd(90.0f * weight))); - Hu3D2Dto3D(&posBox, 1, &pos3D); - pos3D.z -= 50.0f; - Hu3DModelPosSetV(lbl_1_bss_2C80[i + 9], &pos3D); - Hu3DModelAttrReset(lbl_1_bss_2C80[i + 9], HU3D_ATTR_DISPOFF); - } - } - if (time > 10) { - weight = (time - 10) / 20.0; - VECScale(&pos2D, &pos3D, sind(weight * 90.0f)); - VECAdd(&posModel, &pos3D, &pos3D); - Hu3DModelPosSetV(lbl_1_bss_2C80[12], &pos3D); - weight = (1.0 - (weight * 0.1)); - Hu3DModelScaleSet(lbl_1_bss_2C80[12], weight, weight, weight); - } - HuPrcVSleep(); - } - fn_1_D8D0(); - pos2D = lbl_1_data_40[3]; - pos2D.z = 800; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - modelP = &Hu3DData[lbl_1_bss_2C80[12]]; - posModel = modelP->pos; - VECSubtract(&pos3D, &posModel, &pos2D); - espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); - for (time = 0; time <= 20; time++) { - VECScale(&pos2D, &pos3D, sind(time * 4.5)); - VECAdd(&posModel, &pos3D, &pos3D); - Hu3DModelPosSetV(lbl_1_bss_2C80[12], &pos3D); - weight = 1.0 - (0.1 * (1.0 - (time / 20.0))); - Hu3DModelScaleSet(lbl_1_bss_2C80[12], weight, weight, weight); - HuPrcVSleep(); - } - for (time = 0; time <= 20; time++) { - for (i = 0; i < 4; i++) { - if (i == 3) { - continue; - } - if (time > i * 2 && time < (i * 2) + 10) { - weight = (time - (i * 2)) / 10.0; - pos2D = lbl_1_data_40[i]; - pos2D.z = 800; - pos2D.x += ((i < 3) ? -1 : 1) * ((1.0 - sind(weight * 90.0f)) * 500.0); - Hu3D2Dto3D(&pos2D, 1, &pos3D); - pos3D.z -= 50.0f; - Hu3DModelPosSetV(lbl_1_bss_2C80[i + 9], &pos3D); - Hu3DModelAttrReset(lbl_1_bss_2C80[i + 9], HU3D_ATTR_DISPOFF); - } - } - HuPrcVSleep(); - } + Vec pos2D; + Vec pos3D; + Vec posModel; + + s16 spA[4]; + s16 sp8 = 0; + s16 time; + s16 i; + float weight; + ModelData *modelP; + fn_1_25E74(lbl_1_bss_2CC); + fn_1_25584(lbl_1_bss_2CE); + lbl_1_bss_2CE = lbl_1_bss_2CC = -1; + pos2D.x = 50; + pos2D.y = 64; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[11]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + for(time=0; time<=30; time++) { + for(i=0; i<4; i++) { + if(i == 3) { + continue; + } + if(time > i*2 && time < (i*2)+10) { + Vec posBox; + weight = (time-(i*2))/10.0; + posBox = lbl_1_data_40[i]; + posBox.z = 800; + posBox.x += ((i < 3) ? -1 : 1)*(500.0*(1.0-cosd(90.0f*weight))); + Hu3D2Dto3D(&posBox, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + if(time > 10) { + weight = (time-10)/20.0; + VECScale(&pos2D, &pos3D, sind(weight*90.0f)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[12], &pos3D); + weight = (1.0-(weight*0.1)); + Hu3DModelScaleSet(lbl_1_bss_2C80[12], weight, weight, weight); + } + HuPrcVSleep(); + } + fn_1_D8D0(); + pos2D = lbl_1_data_40[3]; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[12]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + for(time=0; time<=20; time++) { + VECScale(&pos2D, &pos3D, sind(time*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[12], &pos3D); + weight = 1.0-(0.1*(1.0-(time/20.0))); + Hu3DModelScaleSet(lbl_1_bss_2C80[12], weight, weight, weight); + HuPrcVSleep(); + } + for(time=0; time<=20; time++) { + for(i=0; i<4; i++) { + if(i == 3) { + continue; + } + if(time > i*2 && time < (i*2)+10) { + weight = (time-(i*2))/10.0; + pos2D = lbl_1_data_40[i]; + pos2D.z = 800; + pos2D.x += ((i < 3) ? -1 : 1)*((1.0-sind(weight*90.0f))*500.0); + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + HuPrcVSleep(); + } } void fn_1_65EC(void); void fn_1_52DC(void) { - s16 i; - fn_1_65EC(); - fn_1_267E8(lbl_1_data_490); - fn_1_26A78(lbl_1_data_768); - Hu3DMotionSet(lbl_1_bss_2C80[2], lbl_1_bss_2C66[4]); - Hu3DMotionTimeSet(lbl_1_bss_2C80[0], 0); - Hu3DModelAttrSet(lbl_1_bss_2C80[0], HU3D_MOTATTR_PAUSE); - HuSprExecLayerSet(64, 3); - espDrawNoSet(lbl_1_bss_2C2C[3], 64); - for (i = 0; i < 4; i++) { - Hu3DModelLayerSet(lbl_1_bss_2C80[i + 9], 3); - } - fn_1_26C28(); - espDrawNoSet(lbl_1_bss_2C2C[28], 64); - Hu3DModelPosSet(lbl_1_bss_2C80[5], 0, 0, 500); - lbl_1_bss_8.unk0 = lbl_1_bss_2C80[2]; - lbl_1_bss_8.unk8 = lbl_1_bss_2C66[4]; - lbl_1_bss_8.unk4 = lbl_1_bss_2C66[3]; - lbl_1_bss_8.unkC = lbl_1_bss_2C80[5]; - lbl_1_bss_8.unk10 = lbl_1_bss_2C66[6]; - lbl_1_bss_8.unk14 = lbl_1_bss_2C66[7]; - lbl_1_bss_8.unk18 = lbl_1_bss_2C66[6]; - fn_1_18DF8(objman, &lbl_1_bss_8); - Hu3DModelShadowSet(lbl_1_bss_2C80[5]); - Hu3DModelShadowMapSet(lbl_1_bss_2C80[0]); + s16 i; + fn_1_65EC(); + fn_1_267E8(lbl_1_data_490); + fn_1_26A78(lbl_1_data_768); + Hu3DMotionSet(lbl_1_bss_2C80[2], lbl_1_bss_2C66[4]); + Hu3DMotionTimeSet(lbl_1_bss_2C80[0], 0); + Hu3DModelAttrSet(lbl_1_bss_2C80[0], 0x40000002); + HuSprExecLayerSet(64, 3); + espDrawNoSet(lbl_1_bss_2C2C[3], 64); + for(i=0; i<4; i++) { + Hu3DModelLayerSet(lbl_1_bss_2C80[i+9], 3); + } + fn_1_26C28(); + espDrawNoSet(lbl_1_bss_2C2C[28], 64); + Hu3DModelPosSet(lbl_1_bss_2C80[5], 0, 0, 500); + lbl_1_bss_8.unk0 = lbl_1_bss_2C80[2]; + lbl_1_bss_8.unk8 = lbl_1_bss_2C66[4]; + lbl_1_bss_8.unk4 = lbl_1_bss_2C66[3]; + lbl_1_bss_8.unkC = lbl_1_bss_2C80[5]; + lbl_1_bss_8.unk10 = lbl_1_bss_2C66[6]; + lbl_1_bss_8.unk14 = lbl_1_bss_2C66[7]; + lbl_1_bss_8.unk18 = lbl_1_bss_2C66[6]; + fn_1_18DF8(lbl_1_bss_2D8, &lbl_1_bss_8); + Hu3DModelShadowSet(lbl_1_bss_2C80[5]); + Hu3DModelShadowMapSet(lbl_1_bss_2C80[0]); } void fn_1_6C18(void); void fn_1_54F4(void) { - while (1) { - if (lbl_1_bss_2D0) { - break; - } - if (omSysExitReq) { - break; - } - HuPrcVSleep(); - } - WipeColorSet(255, 255, 255); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuAudSeqAllFadeOut(1000); - while (WipeStatGet()) { - HuPrcVSleep(); - } - HuDataDirClose(DATADIR_INSTPIC); - if (memcmp(&mgGameStatBackup, &GWGameStat, sizeof(GWGameStat))) { - fn_1_6C18(); - } - BoardStatusKill(); - omOvlReturnEx(1, 1); - HuPrcEnd(); + while(1) { + if(lbl_1_bss_2D0) { + break; + } + if(omSysExitReq) { + break; + } + HuPrcVSleep(); + } + WipeColorSet(255, 255, 255); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + HuAudSeqAllFadeOut(1000); + while(WipeStatGet()) { + HuPrcVSleep(); + } + HuDataDirClose(DATADIR_INSTPIC); + if(memcmp(&mgGameStatBackup, &GWGameStat, sizeof(GWGameStat))) { + fn_1_6C18(); + } + BoardStatusKill(); + omOvlReturnEx(1, 1); + HuPrcEnd(); } -static u16 lbl_1_data_8C[2] = { 1, 2 }; + +static u16 lbl_1_data_8C[2] = { + 1, + 2 +}; void fn_1_55C0(omObjData *object) { - s16 i; - for (i = 0; i < 1; i++) { - Vec pos, target, up; - float x, y, z; - - x = lbl_1_bss_28C[i].x; - y = lbl_1_bss_28C[i].y; - z = lbl_1_bss_28C[i].z; - - pos.x = (((sind(y) * cosd(x)) * lbl_1_bss_26C[i]) + lbl_1_bss_274[i].x); - pos.y = (-sind(x) * lbl_1_bss_26C[i]) + lbl_1_bss_274[i].y; - pos.z = ((cosd(y) * cosd(x)) * lbl_1_bss_26C[i]) + lbl_1_bss_274[i].z; - target.x = lbl_1_bss_274[i].x; - target.y = lbl_1_bss_274[i].y; - target.z = lbl_1_bss_274[i].z; - up.x = sind(y) * sind(x); - up.y = cosd(x); - up.z = cosd(y) * sind(x); - Hu3DCameraPosSet(lbl_1_data_8C[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z); - } + s16 i; + for(i=0; i<1; i++) { + Vec pos, target, up; + float x, y, z; + + x = lbl_1_bss_28C[i].x; + y = lbl_1_bss_28C[i].y; + z = lbl_1_bss_28C[i].z; + + pos.x = (((sind(y)*cosd(x))*lbl_1_bss_26C[i])+lbl_1_bss_274[i].x); + pos.y = (-sind(x)*lbl_1_bss_26C[i])+lbl_1_bss_274[i].y; + pos.z = ((cosd(y)*cosd(x))*lbl_1_bss_26C[i])+lbl_1_bss_274[i].z; + target.x = lbl_1_bss_274[i].x; + target.y = lbl_1_bss_274[i].y; + target.z = lbl_1_bss_274[i].z; + up.x = sind(y)*sind(x); + up.y = cosd(x); + up.z = cosd(y)*sind(x); + Hu3DCameraPosSet(lbl_1_data_8C[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z); + } } void fn_1_66B0(void); void fn_1_5974(omObjData *object) { - Vec pos; + Vec pos; Vec offset; Vec dir; Vec y_offset; - + f32 z_rot; s8 stick_pos; - if (HuPadBtnDown[0] & PAD_BUTTON_Y) { - lbl_1_bss_0 = (lbl_1_bss_0) ? 0 : 1; - } - if (lbl_1_bss_0 == 0) { - fn_1_66B0(); - return; - } - lbl_1_bss_28C[0].y += 0.1f * HuPadStkX[0]; - lbl_1_bss_28C[0].x += 0.1f * HuPadStkY[0]; - lbl_1_bss_26C[0] += HuPadTrigL[0] / 2; - lbl_1_bss_26C[0] -= HuPadTrigR[0] / 2; - if (HuPadBtnDown[0] & PAD_BUTTON_B) { - OSReport("%f,%f,%f\n", lbl_1_bss_28C[0].x, lbl_1_bss_28C[0].y, lbl_1_bss_28C[0].z); - OSReport("%f,%f,%f\n", lbl_1_bss_274[0].x, lbl_1_bss_274[0].y, lbl_1_bss_274[0].z); - OSReport("%f\n", lbl_1_bss_26C[0]); - } - if (lbl_1_bss_26C[0] < 100.0f) { - lbl_1_bss_26C[0] = 100.0f; - } - pos.x = lbl_1_bss_274[0].x + (lbl_1_bss_26C[0] * (sind(lbl_1_bss_28C[0].y) * cosd(lbl_1_bss_28C[0].x))); - pos.y = (lbl_1_bss_274[0].y + (lbl_1_bss_26C[0] * -sind(lbl_1_bss_28C[0].x))); - pos.z = (lbl_1_bss_274[0].z + (lbl_1_bss_26C[0] * (cosd(lbl_1_bss_28C[0].y) * cosd(lbl_1_bss_28C[0].x)))); - offset.x = lbl_1_bss_274[0].x - pos.x; - offset.y = lbl_1_bss_274[0].y - pos.y; - offset.z = lbl_1_bss_274[0].z - pos.z; - dir.x = (sind(lbl_1_bss_28C[0].y) * sind(lbl_1_bss_28C[0].x)); - dir.y = cosd(lbl_1_bss_28C[0].x); - dir.z = (cosd(lbl_1_bss_28C[0].y) * sind(lbl_1_bss_28C[0].x)); - z_rot = lbl_1_bss_28C[0].z; - y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cosd(z_rot)) - + dir.y * (offset.x * offset.y * (1.0f - cosd(z_rot)) - offset.z * sind(z_rot)) - + dir.z * (offset.x * offset.z * (1.0f - cosd(z_rot)) + offset.y * sind(z_rot)); + if(HuPadBtnDown[0] & PAD_BUTTON_Y) { + lbl_1_bss_0 = (lbl_1_bss_0) ? 0 : 1; + } + if(lbl_1_bss_0 == 0) { + fn_1_66B0(); + return; + } + lbl_1_bss_28C[0].y += 0.1f * HuPadStkX[0]; + lbl_1_bss_28C[0].x += 0.1f * HuPadStkY[0]; + lbl_1_bss_26C[0] += HuPadTrigL[0] / 2; + lbl_1_bss_26C[0] -= HuPadTrigR[0] / 2; + if(HuPadBtnDown[0] & PAD_BUTTON_B) { + OSReport("%f,%f,%f\n", lbl_1_bss_28C[0].x, lbl_1_bss_28C[0].y, lbl_1_bss_28C[0].z); + OSReport("%f,%f,%f\n", lbl_1_bss_274[0].x, lbl_1_bss_274[0].y, lbl_1_bss_274[0].z); + OSReport("%f\n", lbl_1_bss_26C[0]); + } + if (lbl_1_bss_26C[0] < 100.0f) { + lbl_1_bss_26C[0] = 100.0f; + } + pos.x = lbl_1_bss_274[0].x + (lbl_1_bss_26C[0] * (sind(lbl_1_bss_28C[0].y) * cosd(lbl_1_bss_28C[0].x))); + pos.y = (lbl_1_bss_274[0].y + (lbl_1_bss_26C[0] * -sind(lbl_1_bss_28C[0].x))); + pos.z = (lbl_1_bss_274[0].z + (lbl_1_bss_26C[0] * (cosd(lbl_1_bss_28C[0].y) * cosd(lbl_1_bss_28C[0].x)))); + offset.x = lbl_1_bss_274[0].x - pos.x; + offset.y = lbl_1_bss_274[0].y - pos.y; + offset.z = lbl_1_bss_274[0].z - pos.z; + dir.x = (sind(lbl_1_bss_28C[0].y) * sind(lbl_1_bss_28C[0].x)); + dir.y = cosd(lbl_1_bss_28C[0].x); + dir.z = (cosd(lbl_1_bss_28C[0].y) * sind(lbl_1_bss_28C[0].x)); + z_rot = lbl_1_bss_28C[0].z; + y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cosd(z_rot)) + + dir.y * (offset.x * offset.y * (1.0f - cosd(z_rot)) - offset.z * sind(z_rot)) + + dir.z * (offset.x * offset.z * (1.0f - cosd(z_rot)) + offset.y * sind(z_rot)); - y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cosd(z_rot)) - + dir.x * (offset.x * offset.y * (1.0f - cosd(z_rot)) + offset.z * sind(z_rot)) - + dir.z * (offset.y * offset.z * (1.0f - cosd(z_rot)) - offset.x * sind(z_rot)); + y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cosd(z_rot)) + + dir.x * (offset.x * offset.y * (1.0f - cosd(z_rot)) + offset.z * sind(z_rot)) + + dir.z * (offset.y * offset.z * (1.0f - cosd(z_rot)) - offset.x * sind(z_rot)); + + y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cosd(z_rot)) + + (dir.x * (offset.x * offset.z * (1.0 - cosd(z_rot)) - offset.y * sind(z_rot)) + + dir.y * (offset.y * offset.z * (1.0 - cosd(z_rot)) + offset.x * sind(z_rot))); - y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cosd(z_rot)) - + (dir.x * (offset.x * offset.z * (1.0 - cosd(z_rot)) - offset.y * sind(z_rot)) - + dir.y * (offset.y * offset.z * (1.0 - cosd(z_rot)) + offset.x * sind(z_rot))); - - VECCrossProduct(&dir, &offset, &offset); - VECNormalize(&offset, &offset); - stick_pos = (HuPadSubStkX[0] & 0xF8); - if (stick_pos != 0) { - lbl_1_bss_274[0].x += 0.05f * (offset.x * stick_pos); - lbl_1_bss_274[0].y += 0.05f * (offset.y * stick_pos); - lbl_1_bss_274[0].z += 0.05f * (offset.z * stick_pos); - } - VECNormalize(&y_offset, &offset); - stick_pos = -(HuPadSubStkY[0] & 0xF8); - if (stick_pos != 0) { - lbl_1_bss_274[0].x += 0.05f * (offset.x * stick_pos); - lbl_1_bss_274[0].y += 0.05f * (offset.y * stick_pos); - lbl_1_bss_274[0].z += 0.05f * (offset.z * stick_pos); - } + PSVECCrossProduct(&dir, &offset, &offset); + PSVECNormalize(&offset, &offset); + stick_pos = (HuPadSubStkX[0] & 0xF8); + if (stick_pos != 0) { + lbl_1_bss_274[0].x += 0.05f * (offset.x * stick_pos); + lbl_1_bss_274[0].y += 0.05f * (offset.y * stick_pos); + lbl_1_bss_274[0].z += 0.05f * (offset.z * stick_pos); + } + PSVECNormalize(&y_offset, &offset); + stick_pos = -(HuPadSubStkY[0] & 0xF8); + if (stick_pos != 0) { + lbl_1_bss_274[0].x += 0.05f * (offset.x * stick_pos); + lbl_1_bss_274[0].y += 0.05f * (offset.y * stick_pos); + lbl_1_bss_274[0].z += 0.05f * (offset.z * stick_pos); + } } void fn_1_65EC(void) { - Vec pos = { 0, 3000, 800 }; - Vec target = { 0, 0, 640 }; - Vec up = { 0, 1, 0 }; - Hu3DShadowCreate(45, 2000, 25000); - Hu3DShadowTPLvlSet(0.8f); - Hu3DShadowPosSet(&pos, &up, &target); + Vec pos = { 0, 3000, 800 }; + Vec target = { 0, 0, 640 }; + Vec up = { 0, 1, 0 }; + Hu3DShadowCreate(45, 2000, 25000); + Hu3DShadowTPLvlSet(0.8f); + Hu3DShadowPosSet(&pos, &up, &target); } void fn_1_66B0(void) { - Vec deltaVec; - float delta; - - if (lbl_1_bss_2D0) { - return; - } - VECSubtract(&lbl_1_bss_2C0, &lbl_1_bss_28C[0], &deltaVec); - if (VECMag(&deltaVec) > 0.2) { - VECScale(&deltaVec, &deltaVec, 0.05f); - VECAdd(&lbl_1_bss_28C[0], &deltaVec, &lbl_1_bss_28C[0]); - } - else { - lbl_1_bss_28C[0] = lbl_1_bss_2C0; - } - VECSubtract(&lbl_1_bss_2B4, &lbl_1_bss_274[0], &deltaVec); - if (VECMag(&deltaVec) > 0.2) { - VECScale(&deltaVec, &deltaVec, 0.05f); - VECAdd(&lbl_1_bss_274[0], &deltaVec, &lbl_1_bss_274[0]); - } - else { - lbl_1_bss_274[0] = lbl_1_bss_2B4; - } - delta = lbl_1_bss_2B0 - lbl_1_bss_26C[0]; - if (sqrtf(delta * delta) > 0.2) { - delta *= 0.05f; - lbl_1_bss_26C[0] += delta; - } - else { - lbl_1_bss_26C[0] = lbl_1_bss_2B0; - } + Vec deltaVec; + float delta; + + if(lbl_1_bss_2D0) { + return; + } + VECSubtract(&lbl_1_bss_2C0, &lbl_1_bss_28C[0], &deltaVec); + if(VECMag(&deltaVec) > 0.2) { + VECScale(&deltaVec, &deltaVec, 0.05f); + VECAdd(&lbl_1_bss_28C[0], &deltaVec, &lbl_1_bss_28C[0]); + } else { + lbl_1_bss_28C[0] = lbl_1_bss_2C0; + } + VECSubtract(&lbl_1_bss_2B4, &lbl_1_bss_274[0], &deltaVec); + if(VECMag(&deltaVec) > 0.2) { + VECScale(&deltaVec, &deltaVec, 0.05f); + VECAdd(&lbl_1_bss_274[0], &deltaVec, &lbl_1_bss_274[0]); + } else { + lbl_1_bss_274[0] = lbl_1_bss_2B4; + } + delta = lbl_1_bss_2B0-lbl_1_bss_26C[0]; + if(sqrtf(delta*delta) > 0.2) { + delta *= 0.05f; + lbl_1_bss_26C[0] += delta; + } else { + lbl_1_bss_26C[0] = lbl_1_bss_2B0; + } } void fn_1_6974(s16 arg0) { - lbl_1_bss_2C0 = lbl_1_data_0[arg0].rot; - lbl_1_bss_2B4 = lbl_1_data_0[arg0].pos; - lbl_1_bss_2B0 = lbl_1_data_0[arg0].zoom; + lbl_1_bss_2C0 = lbl_1_data_0[arg0].rot; + lbl_1_bss_2B4 = lbl_1_data_0[arg0].pos; + lbl_1_bss_2B0 = lbl_1_data_0[arg0].zoom; } void fn_1_6A04(s16 arg0) { - lbl_1_bss_2C0 = lbl_1_bss_28C[0] = lbl_1_data_0[arg0].rot; - lbl_1_bss_2B4 = lbl_1_bss_274[0] = lbl_1_data_0[arg0].pos; - lbl_1_bss_2B0 = lbl_1_bss_26C[0] = lbl_1_data_0[arg0].zoom; + lbl_1_bss_2C0 = lbl_1_bss_28C[0] = lbl_1_data_0[arg0].rot; + lbl_1_bss_2B4 = lbl_1_bss_274[0] = lbl_1_data_0[arg0].pos; + lbl_1_bss_2B0 = lbl_1_bss_26C[0] = lbl_1_data_0[arg0].zoom; } float fn_1_6AF0(void) { - float delta = lbl_1_bss_2B0 - lbl_1_bss_26C[0]; - return sqrtf(delta * delta); + float delta = lbl_1_bss_2B0-lbl_1_bss_26C[0]; + return sqrtf(delta*delta); } void fn_1_6C18(void) { - s16 sprite; - if (!SLSaveFlagGet()) { - return; - } - Hu3DAllKill(); - HuSprClose(); - HuSprInit(); - espInit(); - HuPrcVSleep(); - sprite = espEntry(DATA_MAKE_NUM(DATADIR_WIN, 0x20), 5000, 0); - espPosSet(sprite, 288.0, 240.0); - espAttrReset(sprite, HUSPR_ATTR_DISPOFF); - Hu3DBGColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); - while (WipeStatGet()) { - HuPrcVSleep(); - } - SLCommonSet(); - if (!SLSave()) { - GWSaveModeSet(1); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet()) { - HuPrcVSleep(); - } -} + s16 sprite; + if(!SLSaveFlagGet()) { + return; + } + Hu3DAllKill(); + HuSprClose(); + HuSprInit(); + espInit(); + HuPrcVSleep(); + sprite = espEntry(0x860020, 5000, 0); + espPosSet(sprite, 288.0, 240.0); + espAttrReset(sprite, 4); + Hu3DBGColorSet(0, 0, 0); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); + while(WipeStatGet()) { + HuPrcVSleep(); + } + SLCommonSet(); + if(!SLSave()) { + GWSaveModeSet(1); + } + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); + while(WipeStatGet()) { + HuPrcVSleep(); + } +} \ No newline at end of file diff --git a/src/REL/mgmodedll/minigame.c b/src/REL/mgmodedll/minigame.c index 2c4fb825..b11c24a8 100644 --- a/src/REL/mgmodedll/minigame.c +++ b/src/REL/mgmodedll/minigame.c @@ -1,13 +1,14 @@ #include "REL/mgmodedll.h" -#include "game/audio.h" -#include "game/gamework.h" #include "game/gamework_data.h" +#include "game/gamework.h" #include "game/wipe.h" +#include "game/audio.h" #include "game/chrman.h" #include "math.h" + s16 lbl_1_bss_2C80[13]; s16 lbl_1_bss_2C66[13]; s16 lbl_1_bss_2C2C[29]; @@ -23,25 +24,25 @@ s16 lbl_1_bss_20AA; s16 lbl_1_bss_20A8; s32 lbl_1_data_9C0[8] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x00), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x00), + 0x005F0000, + 0x001A0000, + 0x006D0000, + 0x008A0000, + 0x00850000, + 0x00110000, + 0x000D0000, + 0x00810000 }; s32 lbl_1_data_9E0[8] = { - DATADIR_MARIOMDL1, - DATADIR_LUIGIMDL1, - DATADIR_PEACHMDL1, - DATADIR_YOSHIMDL1, - DATADIR_WARIOMDL1, - DATADIR_DONKEYMDL1, - DATADIR_DAISYMDL1, - DATADIR_WALUIGIMDL1, + 0x005E0000, + 0x00190000, + 0x006C0000, + 0x00890000, + 0x00840000, + 0x00100000, + 0x000C0000, + 0x00800000 }; s16 lbl_1_data_A00 = -1; @@ -50,111 +51,111 @@ void fn_1_26C54(s16 layer); void fn_1_26C28(void) { - Hu3DLayerHookSet(2, fn_1_26C54); + Hu3DLayerHookSet(2, fn_1_26C54); } void fn_1_26C54(s16 layer) { - Mtx44 proj; - Mtx modelview; - Vec pos, target, up; - GXColor color; - CameraData *camera = &Hu3DCamera[0]; - MTXPerspective(proj, camera->fov, camera->aspect, camera->near, camera->far); - GXSetProjection(proj, GX_PERSPECTIVE); - GXSetViewport(0, 0, 640, 480, 0, 1); - GXSetScissor(0, 0, 640, 480); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - color.a = 255; - GXSetTevColor(GX_TEVREG0, color); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumTexGens(0); - GXSetNumTevStages(01); - GXSetCullMode(GX_CULL_NONE); - GXSetAlphaCompare(GX_GEQUAL, 0, GX_AOP_AND, GX_GEQUAL, 0); - GXSetZMode(GX_TRUE, GX_ALWAYS, GX_TRUE); - pos.x = pos.y = pos.z = 0; - target.x = target.y = 0; - target.z = -100; - up.x = up.z = 0; - up.y = 1; - MTXLookAt(modelview, &pos, &up, &target); - GXLoadPosMtxImm(modelview, GX_PNMTX0); - pos.x = (10000.0f * (-sin(camera->fov / 2.0f))) * 1.2f; - pos.y = (10000.0f * (-sin(camera->fov / 2.0f))) * (5.0f / 6.0f); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(-pos.x, -pos.y, -10000.0f); - GXPosition3f32(pos.x, -pos.y, -10000.0f); - GXPosition3f32(pos.x, pos.y, -10000.0f); - GXPosition3f32(-pos.x, pos.y, -10000.0f); - GXEnd(); + Mtx44 proj; + Mtx modelview; + Vec pos, target, up; + GXColor color; + CameraData *camera = &Hu3DCamera[0]; + MTXPerspective(proj, camera->fov, camera->aspect, camera->near, camera->far); + GXSetProjection(proj, GX_PERSPECTIVE); + GXSetViewport(0, 0, 640, 480, 0, 1); + GXSetScissor(0, 0, 640, 480); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + color.a = 255; + GXSetTevColor(GX_TEVREG0, color); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetNumTexGens(0); + GXSetNumTevStages(01); + GXSetCullMode(GX_CULL_NONE); + GXSetAlphaCompare(GX_GEQUAL, 0, GX_AOP_AND, GX_GEQUAL, 0); + GXSetZMode(GX_TRUE, GX_ALWAYS, GX_TRUE); + pos.x = pos.y = pos.z = 0; + target.x = target.y = 0; + target.z = -100; + up.x = up.z = 0; + up.y = 1; + MTXLookAt(modelview, &pos, &up, &target); + GXLoadPosMtxImm(modelview, GX_PNMTX0); + pos.x = (10000.0f*(-sin(camera->fov/2.0f)))*1.2f; + pos.y = (10000.0f*(-sin(camera->fov/2.0f)))*(5.0f/6.0f); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition3f32(-pos.x, -pos.y, -10000.0f); + GXPosition3f32(pos.x, -pos.y, -10000.0f); + GXPosition3f32(pos.x, pos.y, -10000.0f); + GXPosition3f32(-pos.x, pos.y, -10000.0f); + GXEnd(); } void fn_1_27080(void) { - s16 i; - s32 status; - CharModelDataClose(-1); - CharKill(-1); - for (i = 0; i < 4; i++) { - status = HuDataDirReadAsync(lbl_1_data_9C0[GWPlayerCfg[i].character]); - if (status != -1) { - while (!HuDataGetAsyncStat(status)) { - HuPrcVSleep(); - } - } - CharARAMOpen(GWPlayerCfg[i].character); - } - for (i = 0; i < 2; i++) { - status = HuDataDirReadAsync(lbl_1_data_9E0[GWPlayerCfg[i].character]); - if (status != -1) { - while (!HuDataGetAsyncStat(status)) { - HuPrcVSleep(); - } - } - } - lbl_1_bss_20AA = 0; - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } + s16 i; + s32 status; + CharModelDataClose(-1); + CharKill(-1); + for(i=0; i<4; i++) { + status = HuDataDirReadAsync(lbl_1_data_9C0[GWPlayerCfg[i].character]); + if(status != -1) { + while(!HuDataGetAsyncStat(status)) { + HuPrcVSleep(); + } + } + CharARAMOpen(GWPlayerCfg[i].character); + } + for(i=0; i<2; i++) { + status = HuDataDirReadAsync(lbl_1_data_9E0[GWPlayerCfg[i].character]); + if(status != -1) { + while(!HuDataGetAsyncStat(status)) { + HuPrcVSleep(); + } + } + } + lbl_1_bss_20AA = 0; + HuPrcEnd(); + while(1) { + HuPrcVSleep(); + } } + s16 fn_1_271B4(s16 mgNo, s16 x, s16 y) { - s16 time; - AnimData *anim; - s16 sprite; - s32 mgpic; - if (mgNo == -1) { - if (lbl_1_data_A00 == -1) { + s16 time; + AnimData *anim; + s16 sprite; + s32 mgpic; + if(mgNo == -1) { + if(lbl_1_data_A00 == -1) { return; - } - for (time = 0; time <= 10; time++) { - HuSprGrpTPLvlSet(lbl_1_data_A00, 1.0 - (time / 10.0)); + } + for(time=0; time<=10; time++) { + HuSprGrpTPLvlSet(lbl_1_data_A00, 1.0-(time/10.0)); HuPrcVSleep(); } HuSprGrpKill(lbl_1_data_A00); lbl_1_data_A00 = -1; return; - } - - if (lbl_1_data_A00 != -1) { + } + + if(lbl_1_data_A00 != -1) { HuSprGrpKill(lbl_1_data_A00); } lbl_1_data_A00 = HuSprGrpCreate(1); mgpic = mgInfoTbl[mgNo].mg_pic[0]; - if (GWMGAvailGet(mgNo + 401)) { + if(GWMGAvailGet(mgNo+401)) { anim = HuSprAnimReadFile(mgpic); - } - else { - anim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 0x2C)); + } else { + anim = HuSprAnimReadFile(0x62002C); } sprite = HuSprCreate(anim, 100, 0); HuSprGrpMemberSet(lbl_1_data_A00, 0, sprite); @@ -166,111 +167,110 @@ s16 fn_1_271B4(s16 mgNo, s16 x, s16 y) void fn_1_27418(void) { - s16 i; - s16 j; - for (i = 0; i < 4; i++) { - lbl_1_bss_2C1C[i] = i; - } - for (i = 0; i < 4; i++) { - for (j = 0; j < 3 - i; j++) { - if (GWPlayerCfg[lbl_1_bss_2C1C[j]].group > GWPlayerCfg[lbl_1_bss_2C1C[j + 1]].group) { - s16 temp = lbl_1_bss_2C1C[j]; - lbl_1_bss_2C1C[j] = lbl_1_bss_2C1C[j + 1]; - lbl_1_bss_2C1C[j + 1] = temp; - } - } - } - for (i = 0; i < 4; i++) { - s16 charNo; - lbl_1_bss_2C24[i] = charNo = GWPlayerCfg[lbl_1_bss_2C1C[i]].character; - lbl_1_bss_2C14[i] = CharModelCreate(charNo, 2); - lbl_1_bss_2BC4[i][0] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00)); - lbl_1_bss_2BC4[i][1] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02)); - lbl_1_bss_2BC4[i][2] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03)); - lbl_1_bss_2BC4[i][3] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x48)); - lbl_1_bss_2BC4[i][4] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x49)); - lbl_1_bss_2BC4[i][5] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17)); - lbl_1_bss_2BC4[i][6] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18)); - CharModelVoiceEnableSet(GWPlayerCfg[lbl_1_bss_2C1C[i]].character, lbl_1_bss_2BC4[i][1], 0); - CharModelVoiceEnableSet(GWPlayerCfg[lbl_1_bss_2C1C[i]].character, lbl_1_bss_2BC4[i][2], 0); - Hu3DModelPosSet(lbl_1_bss_2C14[i], 600, 0, 800); - Hu3DModelLayerSet(lbl_1_bss_2C14[i], 3); - CharModelDataClose(charNo); - Hu3DModelShadowSet(lbl_1_bss_2C14[i]); - } + s16 i; + s16 j; + for(i=0; i<4; i++) { + lbl_1_bss_2C1C[i] = i; + } + for(i=0; i<4; i++) { + for(j=0; j<3-i; j++) { + if(GWPlayerCfg[lbl_1_bss_2C1C[j]].group > GWPlayerCfg[lbl_1_bss_2C1C[j+1]].group) { + s16 temp = lbl_1_bss_2C1C[j]; + lbl_1_bss_2C1C[j] = lbl_1_bss_2C1C[j+1]; + lbl_1_bss_2C1C[j+1] = temp; + } + } + } + for(i=0; i<4; i++) { + s16 charNo; + lbl_1_bss_2C24[i] = charNo = GWPlayerCfg[lbl_1_bss_2C1C[i]].character; + lbl_1_bss_2C14[i] = CharModelCreate(charNo, 2); + lbl_1_bss_2BC4[i][0] = CharModelMotionCreate(charNo, 0x5F0000); + lbl_1_bss_2BC4[i][1] = CharModelMotionCreate(charNo, 0x5F0002); + lbl_1_bss_2BC4[i][2] = CharModelMotionCreate(charNo, 0x5F0003); + lbl_1_bss_2BC4[i][3] = CharModelMotionCreate(charNo, 0x5F0048); + lbl_1_bss_2BC4[i][4] = CharModelMotionCreate(charNo, 0x5F0049); + lbl_1_bss_2BC4[i][5] = CharModelMotionCreate(charNo, 0x5F0017); + lbl_1_bss_2BC4[i][6] = CharModelMotionCreate(charNo, 0x5F0018); + CharModelVoiceEnableSet(GWPlayerCfg[lbl_1_bss_2C1C[i]].character, lbl_1_bss_2BC4[i][1], 0); + CharModelVoiceEnableSet(GWPlayerCfg[lbl_1_bss_2C1C[i]].character, lbl_1_bss_2BC4[i][2], 0); + Hu3DModelPosSet(lbl_1_bss_2C14[i], 600, 0, 800); + Hu3DModelLayerSet(lbl_1_bss_2C14[i], 3); + CharModelDataClose(charNo); + Hu3DModelShadowSet(lbl_1_bss_2C14[i]); + } } void fn_1_2783C(s16 evtno) { - s16 i; - omOvlHisData *his; - for (i = 0; i < 4; i++) { - GWPlayerCfg[i].character = lbl_1_bss_8.unk24[i].unk68; - GWPlayerCfg[i].iscom = lbl_1_bss_8.unk24[i].unk60; - GWPlayerCfg[i].pad_idx = lbl_1_bss_8.unk24[i].unk6C; - GWPlayerCfg[i].diff = lbl_1_bss_8.unk24[i].unk64; - } - WipeColorSet(255, 255, 255); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuAudSeqAllFadeOut(1000); - while (WipeStatGet()) { - HuPrcVSleep(); - } - CharKill(-1); - for (i = 0; i < 4; i++) { - CharARAMOpen(GWPlayerCfg[i].character); - } - HuAudVoiceInit(-1); - his = omOvlHisGet(0); - omOvlHisChg(0, OVL_MGMODE, evtno, his->stat); - omOvlCallEx(OVL_INST, 1, 0, 0); - while (1) { - HuPrcVSleep(); - } + s16 i; + omOvlHisData *his; + for(i=0; i<4; i++) { + GWPlayerCfg[i].character = lbl_1_bss_8.unk24[i].unk68; + GWPlayerCfg[i].iscom = lbl_1_bss_8.unk24[i].unk60; + GWPlayerCfg[i].pad_idx = lbl_1_bss_8.unk24[i].unk6C; + GWPlayerCfg[i].diff = lbl_1_bss_8.unk24[i].unk64; + } + WipeColorSet(255, 255, 255); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + HuAudSeqAllFadeOut(1000); + while(WipeStatGet()) { + HuPrcVSleep(); + } + CharKill(-1); + for(i=0; i<4; i++) { + CharARAMOpen(GWPlayerCfg[i].character); + } + HuAudVoiceInit(-1); + his = omOvlHisGet(0); + omOvlHisChg(0, OVL_MGMODE, evtno, his->stat); + omOvlCallEx(OVL_INST, 1, 0, 0); + while(1) { + HuPrcVSleep(); + } } void fn_1_279FC(s32 coinSkipF) { - s16 i; - s16 mgNum; - for (mgNum = 0; mgInfoTbl[mgNum].ovl != 65535; mgNum++) - ; - for (i = 0; i < 9; i++) { - lbl_1_bss_2638[i] = lbl_1_bss_20AC[i] = 0; - } - for (i = 0; i < mgNum; i++) { - s16 type = mgInfoTbl[i].type; - if (type >= 0 && type < 9) { - if (coinSkipF) { - s16 ovl = mgInfoTbl[i].ovl; - if (ovl == OVL_M408 || ovl == OVL_M422 || ovl == OVL_M430) { - continue; - } - } - lbl_1_bss_264C[type][lbl_1_bss_2638[type]] = i; - lbl_1_bss_2638[type]++; - if (GWMGAvailGet(i + 401)) { - lbl_1_bss_20C0[type][lbl_1_bss_20AC[type]] = i; - lbl_1_bss_20AC[type]++; - } - } - } + s16 i; + s16 mgNum; + for(mgNum=0; mgInfoTbl[mgNum].ovl != 65535; mgNum++); + for(i=0; i<9; i++) { + lbl_1_bss_2638[i] = lbl_1_bss_20AC[i] = 0; + } + for(i=0; i= 0 && type < 9) { + if(coinSkipF) { + s16 ovl = mgInfoTbl[i].ovl; + if(ovl == OVL_M408 || ovl == OVL_M422 || ovl == OVL_M430) { + continue; + } + } + lbl_1_bss_264C[type][lbl_1_bss_2638[type]] = i; + lbl_1_bss_2638[type]++; + if(GWMGAvailGet(i+401)) { + lbl_1_bss_20C0[type][lbl_1_bss_20AC[type]] = i; + lbl_1_bss_20AC[type]++; + } + } + } } void fn_1_27C0C(s16 type) { - s16 i; - s16 j; - for (i = 0; i < 256;) { - for (j = 0; j < lbl_1_bss_20AC[type]; j++, i++) { - if (i > 256) { - break; - } - mgIndexList[i] = lbl_1_bss_20C0[type][j]; - } - } - for (i = 0; i < 256; i++) { - mgIndexList[i]; - } - lbl_801D3E94 = 0; -} + s16 i; + s16 j; + for(i=0; i<256;) { + for(j=0; j 256) { + break; + } + mgIndexList[i] = lbl_1_bss_20C0[type][j]; + } + } + for(i=0; i<256; i++) { + mgIndexList[i]; + } + lbl_801D3E94 = 0; +} \ No newline at end of file diff --git a/src/REL/mgmodedll/record.c b/src/REL/mgmodedll/record.c deleted file mode 100644 index 0c1bb43f..00000000 --- a/src/REL/mgmodedll/record.c +++ /dev/null @@ -1,220 +0,0 @@ -#include "REL/mgmodedll.h" -#include "game/gamework.h" - -#include "game/audio.h" -#include "game/esprite.h" -#include "game/gamework_data.h" -#include "game/saveload.h" -#include "game/wipe.h" - -#include "ext_math.h" - -void fn_1_DE3C(void); -void fn_1_DFB8(void); -void fn_1_E02C(float x, float y, s16 recordNo); - -static s16 lbl_1_bss_37C[6]; -static s16 lbl_1_bss_370[6]; - -s16 mgRecordIdxTbl[6][3] = { 0, 2, 13, 1, 0, 15, 2, 1, 35, 3, 2, 40, 5, 1, 51, 10, 1, 62 }; - -void fn_1_D8D0(void) -{ - s16 i; - float weight; - fn_1_DE3C(); - espAttrReset(lbl_1_bss_2C2C[3], HUSPR_ATTR_DISPOFF); - espTPLvlSet(lbl_1_bss_2C2C[3], 0); - for (i = 0; i <= 20; i++) { - espTPLvlSet(lbl_1_bss_2C2C[3], i / 20.0); - HuPrcVSleep(); - } - for (i = 0; i <= 20; i++) { - weight = i / 20.0; - espAttrReset(lbl_1_bss_2C2C[27], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[27], 288, -100.0 + (164.0 * sind(weight * 90.0f))); - espAttrReset(lbl_1_bss_2C2C[28], HUSPR_ATTR_DISPOFF); - espTPLvlSet(lbl_1_bss_2C2C[28], weight); - espAttrReset(lbl_1_bss_2C2C[20], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[20], ((1 - sind(weight * 90.0f)) * 400) + 288, 424); - HuPrcVSleep(); - } - for (i = 0; i < 6; i++) { - fn_1_E02C(288, (i * 42) + 150.0f, i); - HuPrcVSleep(); - } - while (1) { - if (HuPadBtnDown[0] & PAD_BUTTON_B) { - break; - } - HuPrcVSleep(); - } - HuAudFXPlay(3); - for (i = 0; i < 6; i++) { - fn_1_E02C(1288, 0, i); - HuPrcVSleep(); - } - fn_1_DFB8(); - for (i = 0; i <= 20; i++) { - weight = i / 20.0; - espAttrReset(lbl_1_bss_2C2C[27], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[27], 288, -100.0 + (164.0 * cosd(weight * 90.0f))); - espAttrReset(lbl_1_bss_2C2C[28], HUSPR_ATTR_DISPOFF); - espTPLvlSet(lbl_1_bss_2C2C[28], 1.0 - weight); - espAttrReset(lbl_1_bss_2C2C[20], HUSPR_ATTR_DISPOFF); - espPosSet(lbl_1_bss_2C2C[20], ((1 - cosd(weight * 90.0f)) * 400) + 288, 424); - HuPrcVSleep(); - } - for (i = 0; i <= 10; i++) { - espTPLvlSet(lbl_1_bss_2C2C[3], 1 - (i / 10.0)); - HuPrcVSleep(); - } -} - -void fn_1_DE3C(void) -{ - AnimData *numAnim = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 53), MEMORY_DEFAULT_NUM)); - s16 i; - for (i = 0; i < 6; i++) { - s16 window = HuWinCreate(0, (i * 24), 268, 32, 0); - s16 j; - lbl_1_bss_37C[i] = window; - HuWinBGTPLvlSet(window, 0); - HuWinMesSpeedSet(window, 0); - HuWinDispOff(window); - lbl_1_bss_370[i] = HuSprGrpCreate(8); - for (j = 0; j < 8; j++) { - s16 sprite = HuSprCreate(numAnim, 10, 0); - HuSprGrpMemberSet(lbl_1_bss_370[i], j, sprite); - (void)sprite; - HuSprAttrSet(lbl_1_bss_370[i], j, HUSPR_ATTR_DISPOFF); - } - } -} - -void fn_1_DFB8(void) -{ - s16 i; - for (i = 0; i < 6; i++) { - HuWinKill(lbl_1_bss_37C[i]); - HuSprGrpKill(lbl_1_bss_370[i]); - } -} - -void fn_1_E02C(float x, float y, s16 recordNo) -{ - s32 sprGrpId = lbl_1_bss_370[recordNo]; - s32 value = GWMGRecordGet(mgRecordIdxTbl[recordNo][0]); - s32 i; - s16 mgNo; - float xOfs; - - if (mgRecordIdxTbl[recordNo][2] != -1) { - mgNo = omMgIndexGet(mgRecordIdxTbl[recordNo][2]); - if (!GWMGAvailGet(mgNo + 401)) { - mgNo = -1; - } - else { - HuWinMesSet(lbl_1_bss_37C[recordNo], mgInfoTbl[mgNo].name_mess); - } - } - else { - mgNo = -1; - } - HuWinDispOn(lbl_1_bss_37C[recordNo]); - HuWinPosSet(lbl_1_bss_37C[recordNo], x - 220, y - 24); - if (mgNo == -1) { - HuWinMesSet(lbl_1_bss_37C[recordNo], MAKE_MESSID(35, 0)); - for (i = 0; i < 8; i++) { - HuSprBankSet(sprGrpId, i, 0); - HuSprPosSet(sprGrpId, i, i * 16, 0); - HuSprAttrReset(sprGrpId, i, HUSPR_ATTR_DISPOFF); - } - xOfs = 128; - } - else { - s32 memberNum; - s32 digitValue; - if (mgRecordIdxTbl[recordNo][1] == 0) { - memberNum = 0; - if (value > 9999) { - value = 9999; - } - digitValue = value / 1000; - if (digitValue != 0) { - HuSprBankSet(sprGrpId, memberNum, digitValue); - value -= digitValue * 1000; - memberNum++; - } - digitValue = value / 100; - if (digitValue != 0 || memberNum != 0) { - HuSprBankSet(sprGrpId, memberNum, digitValue); - value -= digitValue * 100; - memberNum++; - } - digitValue = value / 10; - if (digitValue != 0 || memberNum != 0) { - HuSprBankSet(sprGrpId, memberNum, digitValue); - value -= digitValue * 10; - memberNum++; - } - HuSprBankSet(sprGrpId, memberNum, value); - memberNum++; - for (i = 0; i < 8; i++) { - HuSprAttrSet(sprGrpId, i, HUSPR_ATTR_DISPOFF); - } - for (i = 0; i < memberNum; i++) { - HuSprPosSet(sprGrpId, i, i * 16, 0); - HuSprAttrReset(sprGrpId, i, HUSPR_ATTR_DISPOFF); - } - xOfs = memberNum * 16; - } - else { - s16 yOfs[8]; - for (i = 0; i < 8; i++) { - yOfs[i] = 0; - } - memberNum = 0; - HuSprAttrSet(sprGrpId, memberNum, HUSPR_ATTR_DISPOFF); - memberNum++; - digitValue = value / 3600; - HuSprBankSet(sprGrpId, memberNum, digitValue); - value -= digitValue * 3600; - memberNum++; - HuSprBankSet(sprGrpId, memberNum, 11); - yOfs[memberNum] = -2; - memberNum++; - digitValue = value / 600; - HuSprBankSet(sprGrpId, memberNum, digitValue); - value -= digitValue * 600; - memberNum++; - digitValue = value / 60; - HuSprBankSet(sprGrpId, memberNum, digitValue); - value -= digitValue * 60; - memberNum++; - HuSprBankSet(sprGrpId, memberNum, 12); - yOfs[memberNum] = -2; - memberNum++; - if (mgRecordIdxTbl[recordNo][1] == 2) { - value = (float)value * (203.0 / 120.0); - } - else { - value = (float)value * (200.0 / 120.0); - } - digitValue = value / 10; - HuSprBankSet(sprGrpId, memberNum, digitValue); - value -= digitValue * 10; - memberNum++; - HuSprBankSet(sprGrpId, memberNum, value); - memberNum++; - for (i = 1; i < 8; i++) { - HuSprAttrReset(sprGrpId, i, HUSPR_ATTR_DISPOFF); - } - for (i = 0; i < memberNum; i++) { - HuSprPosSet(sprGrpId, i, i * 16, yOfs[i]); - } - xOfs = memberNum * 16; - } - } - HuSprGrpPosSet(sprGrpId, 8 + ((210 + x) - xOfs), y); -} diff --git a/src/REL/mgmodedll/tictactoe.c b/src/REL/mgmodedll/tictactoe.c deleted file mode 100644 index 4aec6c7e..00000000 --- a/src/REL/mgmodedll/tictactoe.c +++ /dev/null @@ -1,986 +0,0 @@ -#include "REL/mgmodedll.h" -#include "game/gamework.h" - -#include "game/audio.h" -#include "game/chrman.h" -#include "game/esprite.h" -#include "game/gamework_data.h" -#include "game/minigame_seq.h" -#include "game/saveload.h" -#include "game/wipe.h" - -#include "ext_math.h" - -s16 lbl_1_bss_3B8; -s16 lbl_1_bss_3B4[2]; -s16 lbl_1_bss_3B0[2]; -s16 lbl_1_bss_3AC[2]; -s16 lbl_1_bss_3AA; -s16 lbl_1_bss_3A8; - -s16 lbl_1_data_168 = -1; -s16 lbl_1_data_16A[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 3, 6, 1, 4, 7, 2, 5, 8, 0, 4, 8, 2, 4, 6 }; - -float lbl_1_data_19C[4] = { -80, -38, 38, 80 }; - -s16 lbl_1_data_1AC[8] = { 4, 4, 4, 4, 0, 2, 6, 8 }; - -void fn_1_2783C(s16 evtno); - -void fn_1_14CFC(void); -s32 fn_1_15E98(s16 arg0, s32 arg1); - -void fn_1_16438(void); -s32 fn_1_16B30(void); -void fn_1_17A5C(void); -void fn_1_17BE0(void); - -s32 fn_1_13418(void) -{ - s16 temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - ModelData *temp_r27; - Vec sp24; - Vec sp18; - Vec spC; - s16 sp8[2]; - float temp_f31; - float temp_f30; - float temp_f29; - - fn_1_279FC(0); - if (mgModeEvtNo != 4) { - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - mgTicTacToeGrid[temp_r31][temp_r30] = 0; - } - } - } - fn_1_14CFC(); - if (mgModeEvtNo == 4) { - HuSprGrpPosSet(lbl_1_bss_3A8, 288, 240); - HuSprGrpPosSet(lbl_1_bss_3AA, 450, 65); - Hu3DModelPosSet(lbl_1_bss_2C80[5], -300, 0, 680); - Hu3DModelRotSet(lbl_1_bss_2C80[5], 0, 20, 0); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet()) { - HuPrcVSleep(); - } - if (fn_1_16B30()) { - if (lbl_1_data_168 == -1) { - lbl_1_data_168 = fn_1_2530C(0, 0, 0); - } - HuWinAttrSet(lbl_1_data_168, 16); - fn_1_25838(lbl_1_data_168, 0x28000C, -1, -1); - temp_r29 = HuWinChoiceGet(lbl_1_data_168, 1); - if (temp_r29 == 0) { - fn_1_17A5C(); - } - else { - fn_1_16438(); - return 0; - } - } - } - else { - temp_r27 = &Hu3DData[lbl_1_bss_2C80[5]]; - sp24 = temp_r27->pos; - sp18.x = -300; - sp18.y = 0; - sp18.z = 680; - VECSubtract(&sp18, &sp24, &sp18); - temp_f29 = (180 + atan2d(sp18.z, sp18.x)) - 360; - for (temp_r31 = 0; temp_r31 <= 60; temp_r31++) { - if (temp_r31 <= 50) { - temp_f31 = 1.0 - sind((temp_r31 / 50.0) * 90.0); - HuSprGrpPosSet(lbl_1_bss_3A8, 288, 256 + (-400 * temp_f31)); - } - else { - temp_f31 = cosd(((temp_r31 - 50.0) / 10.0) * 90.0); - HuSprGrpPosSet(lbl_1_bss_3A8, 288, 240 + (16 * temp_f31)); - } - if (temp_r31 > 20 && temp_r31 <= 50) { - temp_f31 = 1.0 - sind(((temp_r31 - 20) / 30.0) * 90.0); - HuSprGrpPosSet(lbl_1_bss_3AA, 434 + (400 * temp_f31), 65); - } - else if (temp_r31 > 50) { - temp_f31 = cosd(((temp_r31 - 50.0) / 10.0) * 90.0); - HuSprGrpPosSet(lbl_1_bss_3AA, 450 + (-16 * temp_f31), 65); - } - if (temp_r31 == 30) { - Hu3DMotionShiftSet(lbl_1_bss_2C80[5], lbl_1_bss_2C66[7], 0, 8, HU3D_MOTATTR_LOOP); - } - if (temp_r31 > 30) { - temp_f31 = (temp_r31 - 30.0) / 30.0; - VECScale(&sp18, &spC, temp_f31); - VECAdd(&sp24, &spC, &spC); - Hu3DModelPosSetV(lbl_1_bss_2C80[5], &spC); - if (temp_r31 <= 40) { - temp_f31 = (temp_r31 - 20) / 10.0; - Hu3DModelRotSet(lbl_1_bss_2C80[5], 0, temp_f29 * temp_f31, 0); - } - } - HuPrcVSleep(); - } - Hu3DMotionShiftSet(lbl_1_bss_2C80[5], lbl_1_bss_2C66[6], 0, 8, HU3D_MOTATTR_LOOP); - for (temp_r31 = 0; temp_r31 <= 10; temp_r31++) { - temp_f31 = temp_r31 / 10.0; - Hu3DModelRotSet(lbl_1_bss_2C80[5], 0, temp_f29 + ((20.0f - temp_f29) * temp_f31), 0); - HuPrcVSleep(); - } - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - mgTicTacToeGrid[temp_r31][temp_r30] = 0; - } - } - } - lbl_1_bss_3B8 = fn_1_25CA8(0x280019); - if (lbl_1_data_168 == -1) { - lbl_1_data_168 = fn_1_2530C(0, 0, 0); - } - fn_1_25838(lbl_1_data_168, 0x280015, -1, -1); - lbl_1_bss_3B4[0] = 0; - lbl_1_bss_3B4[1] = 2; - fn_1_17BE0(); - lbl_1_bss_3AC[0] = lbl_1_bss_3AC[1] = 30; - HuSprAttrReset(lbl_1_bss_3A8, 12, HUSPR_ATTR_DISPOFF); - HuSprTPLvlSet(lbl_1_bss_3A8, 12, 0.5f); - HuSprAttrReset(lbl_1_bss_3A8, 13, HUSPR_ATTR_DISPOFF); - HuSprTPLvlSet(lbl_1_bss_3A8, 13, 0.5f); - temp_f30 = 0; - sp8[0] = sp8[1] = 0; - for (temp_r31 = 0; temp_r31 < 9; temp_r31++) { - mgTicTacToeGrid[temp_r31 % 3][temp_r31 / 3] &= 0x3; - } - while (1) { - for (temp_r31 = 0; temp_r31 < 2; temp_r31++) { - if (sp8[temp_r31] == 0) { - sp8[temp_r31] = fn_1_15E98(temp_r31, 1); - if (sp8[temp_r31] == -1) { - sp8[temp_r31] = 0; - goto else_case; - } - else if (sp8[temp_r31] == 1) { - HuSprAttrSet(lbl_1_bss_3A8, temp_r31 + 12, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(lbl_1_bss_3A8, temp_r31 + 14, HUSPR_ATTR_DISPOFF); - if (lbl_1_bss_3B4[0] != lbl_1_bss_3B4[1]) { - HuSprPosSet( - lbl_1_bss_3A8, temp_r31 + 14, ((lbl_1_bss_3B4[temp_r31] % 3) * 56) - 56, ((lbl_1_bss_3B4[temp_r31] / 3) * 56) - 56); - } - else { - HuSprPosSet(lbl_1_bss_3A8, temp_r31 + 14, ((lbl_1_bss_3B4[temp_r31] % 3) * 56) - 60 + (temp_r31 * 8), - ((lbl_1_bss_3B4[temp_r31] / 3) * 56) - 56); - } - } - else { - else_case: - if (lbl_1_bss_3B4[0] != lbl_1_bss_3B4[1]) { - HuSprPosSet( - lbl_1_bss_3A8, temp_r31 + 12, ((lbl_1_bss_3B4[temp_r31] % 3) * 56) - 56, ((lbl_1_bss_3B4[temp_r31] / 3) * 56) - 56); - } - else { - HuSprPosSet(lbl_1_bss_3A8, temp_r31 + 12, ((lbl_1_bss_3B4[temp_r31] % 3) * 56) - 60 + (temp_r31 * 8), - ((lbl_1_bss_3B4[temp_r31] / 3) * 56) - 56); - } - HuSprTPLvlSet(lbl_1_bss_3A8, temp_r31 + 12, 0.7 + (0.2 * sind(temp_f30 + (temp_r31 * 180)))); - HuSprPriSet(lbl_1_bss_3A8, temp_r31 + 12, 150); - } - } - else { - sp8[temp_r31] = fn_1_15E98(temp_r31, 0); - if (sp8[temp_r31] == -1) { - sp8[temp_r31] = 0; - HuSprAttrReset(lbl_1_bss_3A8, temp_r31 + 12, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(lbl_1_bss_3A8, temp_r31 + 14, HUSPR_ATTR_DISPOFF); - if (lbl_1_bss_3B4[0] != lbl_1_bss_3B4[1]) { - HuSprPosSet( - lbl_1_bss_3A8, temp_r31 + 12, ((lbl_1_bss_3B4[temp_r31] % 3) * 56) - 56, ((lbl_1_bss_3B4[temp_r31] / 3) * 56) - 56); - } - else { - HuSprPosSet(lbl_1_bss_3A8, temp_r31 + 12, ((lbl_1_bss_3B4[temp_r31] % 3) * 56) - 60 + (temp_r31 * 8), - ((lbl_1_bss_3B4[temp_r31] / 3) * 56) - 56); - } - } - else { - HuSprTPLvlSet(lbl_1_bss_3A8, temp_r31 + 12, 1.0f); - HuSprPriSet(lbl_1_bss_3A8, temp_r31 + 12, temp_r31 + 180); - if (lbl_1_bss_3B4[0] != lbl_1_bss_3B4[1]) { - HuSprPosSet( - lbl_1_bss_3A8, temp_r31 + 14, ((lbl_1_bss_3B4[temp_r31] % 3) * 56) - 56, ((lbl_1_bss_3B4[temp_r31] / 3) * 56) - 56); - } - else { - HuSprPosSet(lbl_1_bss_3A8, temp_r31 + 14, ((lbl_1_bss_3B4[temp_r31] % 3) * 56) - 60 + (temp_r31 * 8), - ((lbl_1_bss_3B4[temp_r31] / 3) * 56) - 56); - } - } - } - } - if (sp8[0] == 1 && sp8[1] == 1) { - HuSprTPLvlSet(lbl_1_bss_3A8, 12, 1.0f); - HuSprTPLvlSet(lbl_1_bss_3A8, 13, 1.0f); - break; - } - else { - temp_f30 += 10.0f; - if (temp_f30 > 360.0f) { - temp_f30 -= 360.0f; - } - HuPrcVSleep(); - } - } - fn_1_25E74(lbl_1_bss_3B8); - lbl_1_bss_3B8 = -1; - fn_1_25838(lbl_1_data_168, 0x280010, -1, -1); - HuSprTPLvlSet(lbl_1_bss_3A8, 24, 1.0f); - mgTypeCurr = 2; - for (temp_r30 = 0; temp_r30 < 35;) { - for (temp_r31 = 0; temp_r31 < lbl_1_bss_20AC[lbl_1_data_A2[mgTypeCurr]]; temp_r31++) { - temp_r28 = fn_1_271B4(lbl_1_bss_20C0[lbl_1_data_A2[mgTypeCurr]][temp_r31], 288, 240); - HuSprGrpDrawNoSet(temp_r28, 0); - HuAudFXPlay(855); - HuPrcSleep(3); - temp_r30++; - if (temp_r30 >= 35) { - break; - } - } - } - HuAudFXPlay(870); - lbl_1_bss_2E4 = lbl_1_bss_20C0[lbl_1_data_A2[mgTypeCurr]][frandmod(lbl_1_bss_20AC[lbl_1_data_A2[mgTypeCurr]])]; - temp_r28 = fn_1_271B4(lbl_1_bss_2E4, 288, 240); - HuSprGrpDrawNoSet(temp_r28, 0); - HuWinInsertMesSet(lbl_1_data_168, mgInfoTbl[lbl_1_bss_2E4].name_mess, 0); - HuWinAttrSet(lbl_1_data_168, 16); - fn_1_25838(lbl_1_data_168, 0x280011, -1, -1); -repeat_mess: - fn_1_25838(lbl_1_data_168, 0x280029, -1, -1); - temp_r29 = HuWinChoiceGet(lbl_1_data_168, 0); - if (temp_r29 == 0) { - _ClearFlag(11); - } - else if (temp_r29 == 1) { - HuWinInsertMesSet(lbl_1_data_168, MAKE_MESSID(0x28, 40), 0); - fn_1_25838(lbl_1_data_168, 0x280026, -1, -1); - temp_r29 = HuWinChoiceGet(lbl_1_data_168, 1); - if (temp_r29 == 1) { - goto repeat_mess; - } - fn_1_271B4(-1, 0, 0); - for (temp_r31 = 1; temp_r31 <= 10; temp_r31++) { - HuSprTPLvlSet(lbl_1_bss_3A8, 24, 1 - (temp_r31 / 10.0)); - HuPrcVSleep(); - } - - fn_1_16438(); - return 1; - } - else { - _SetFlag(11); - } - GWSystem.mg_next = lbl_1_bss_2E4; - HuDataDirClose(DATADIR_INSTPIC); - fn_1_2783C(4); - while (1) { - HuPrcVSleep(); - } -} - -void fn_1_14CFC(void) -{ - s16 temp_r31; - s16 temp_r30; - s16 temp_r29; - AnimData *temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - s16 temp_r24; - AnimData *temp_r23; - AnimData *temp_r22; - s16 temp_r21; - s16 temp_r20; - s16 sp8; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - lbl_1_bss_2C1C[temp_r31] = temp_r31; - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - for (temp_r27 = 0; temp_r27 < 3 - temp_r31; temp_r27++) { - if (GWPlayerCfg[lbl_1_bss_2C1C[temp_r27]].group > GWPlayerCfg[lbl_1_bss_2C1C[temp_r27 + 1]].group) { - temp_r24 = lbl_1_bss_2C1C[temp_r27]; - lbl_1_bss_2C1C[temp_r27] = lbl_1_bss_2C1C[temp_r27 + 1]; - lbl_1_bss_2C1C[temp_r27 + 1] = temp_r24; - } - } - } - if (lbl_1_bss_3A8 == 0) { - - lbl_1_bss_3A8 = temp_r30 = HuSprGrpCreate(25); - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 84), MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r28, 200, 0); - HuSprGrpMemberSet(temp_r30, 0, temp_r29); - HuSprTPLvlSet(temp_r30, 0, 0.8f); - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 85), MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r28, 190, 0); - HuSprGrpMemberSet(temp_r30, 1, temp_r29); - HuSprPosSet(temp_r30, 1, 0, -110); - temp_r26 = 0; - temp_r25 = 0; - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 86), MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r28, 190, 0); - HuSprGrpMemberSet(temp_r30, 2, temp_r29); - HuSprPosSet(temp_r30, 2, temp_r26, temp_r25); - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 87), MEMORY_DEFAULT_NUM)); - temp_r22 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 88), MEMORY_DEFAULT_NUM)); - for (temp_r31 = temp_r27 = 0; temp_r31 < 9; temp_r31++) { - if (mgTicTacToeGrid[temp_r31 % 3][temp_r31 / 3] & 0xF) { - temp_r24 = mgTicTacToeGrid[temp_r31 % 3][temp_r31 / 3]; - if (temp_r24 & 0x4) { - temp_r23 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 91), MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r23, 180, 0); - HuSprGrpMemberSet(temp_r30, 14, temp_r29); - if (temp_r24 & 0x8) { - HuSprPosSet(temp_r30, 14, temp_r26 + ((temp_r31 % 3) * 56) - 60, temp_r25 + ((temp_r31 / 3) * 56) - 56); - } - else { - HuSprPosSet(temp_r30, 14, temp_r26 + ((temp_r31 % 3) * 56) - 56, temp_r25 + ((temp_r31 / 3) * 56) - 56); - } - temp_r27++; - } - if (temp_r24 & 0x8) { - temp_r23 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 92), MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r23, 180, 0); - HuSprGrpMemberSet(temp_r30, 15, temp_r29); - if (temp_r24 & 0x4) { - HuSprPosSet(temp_r30, 15, temp_r26 + ((temp_r31 % 3) * 56) - 48, temp_r25 + ((temp_r31 / 3) * 56) - 56); - } - else { - HuSprPosSet(temp_r30, 15, temp_r26 + ((temp_r31 % 3) * 56) - 56, temp_r25 + ((temp_r31 / 3) * 56) - 56); - } - temp_r27++; - } - if (temp_r24 & 0x3) { - if (mgTicTacToeGrid[temp_r31 % 3][temp_r31 / 3] & 0x1) { - temp_r29 = HuSprCreate(temp_r28, 180, 0); - } - else { - temp_r29 = HuSprCreate(temp_r22, 180, 0); - } - HuSprGrpMemberSet(temp_r30, temp_r31 + 3, temp_r29); - HuSprPosSet(temp_r30, temp_r31 + 3, temp_r26 + ((temp_r31 % 3) * 56) - 56, temp_r25 + ((temp_r31 / 3) * 56) - 56); - } - } - } - if (temp_r27 == 0) { - temp_r23 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 91), MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r23, 150, 0); - HuSprGrpMemberSet(temp_r30, 14, temp_r29); - HuSprPosSet(temp_r30, 14, temp_r26 + ((temp_r31 % 3) * 56) - 56, temp_r25 + ((temp_r31 / 3) * 56) - 56); - HuSprAttrSet(temp_r30, 14, HUSPR_ATTR_DISPOFF); - temp_r23 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 92), MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r23, 150, 0); - HuSprGrpMemberSet(temp_r30, 15, temp_r29); - HuSprPosSet(temp_r30, 15, temp_r26 + ((temp_r31 % 3) * 56) - 56, temp_r25 + ((temp_r31 / 3) * 56) - 56); - HuSprAttrSet(temp_r30, 15, HUSPR_ATTR_DISPOFF); - } - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 89), MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r28, 150, 0); - HuSprGrpMemberSet(temp_r30, 12, temp_r29); - HuSprAttrSet(temp_r30, 12, HUSPR_ATTR_DISPOFF); - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 90), MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r28, 150, 0); - HuSprGrpMemberSet(temp_r30, 13, temp_r29); - HuSprAttrSet(temp_r30, 13, HUSPR_ATTR_DISPOFF); - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 101), MEMORY_DEFAULT_NUM)); - temp_r22 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 102), MEMORY_DEFAULT_NUM)); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r29 = HuSprCreate(temp_r28, 130, temp_r31); - HuSprGrpMemberSet(temp_r30, (temp_r31 * 2) + 16, temp_r29); - HuSprPosSet(temp_r30, (temp_r31 * 2) + 16, ((temp_r31 % 2) * 314) - 155, ((temp_r31 / 2) * 185) - 110); - temp_r29 = HuSprCreate(temp_r22, 135, temp_r31); - HuSprGrpMemberSet(temp_r30, (temp_r31 * 2) + 17, temp_r29); - HuSprTPLvlSet(temp_r30, (temp_r31 * 2) + 17, 0.5f); - HuSprPosSet(temp_r30, (temp_r31 * 2) + 17, ((temp_r31 % 2) * 314) - 155, ((temp_r31 / 2) * 185) - 102); - } - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 37), MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r28, 150, 0); - HuSprGrpMemberSet(temp_r30, 24, temp_r29); - HuSprPosSet(temp_r30, 24, 0, 0); - HuSprScaleSet(temp_r30, 24, 0.9f, 0.9f); - HuSprTPLvlSet(temp_r30, 24, 0); - } - if (lbl_1_bss_3AA == 0) { - - lbl_1_bss_3AA = temp_r30 = HuSprGrpCreate(10); - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 15), MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r28, 200, 0); - HuSprGrpMemberSet(temp_r30, 0, temp_r29); - HuSprTPLvlSet(temp_r30, 0, 0.8f); - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 25), MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r28, 190, 0); - HuSprGrpMemberSet(temp_r30, 1, temp_r29); - HuSprPosSet(temp_r30, 1, 0, 0); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r20 = lbl_1_bss_2C24[temp_r31] = GWPlayerCfg[lbl_1_bss_2C1C[temp_r31]].character; - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 16) + temp_r20, MEMORY_DEFAULT_NUM)); - temp_r29 = HuSprCreate(temp_r28, 190, 0); - HuSprGrpMemberSet(temp_r30, (temp_r31 * 2) + 2, temp_r29); - HuSprPosSet(temp_r30, (temp_r31 * 2) + 2, lbl_1_data_19C[temp_r31], 0); - if (sp8 = GWPlayerCfg[lbl_1_bss_2C1C[temp_r31]].iscom) { - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 39), MEMORY_DEFAULT_NUM)); - temp_r21 = GWPlayerCfg[lbl_1_bss_2C1C[temp_r31]].diff; - } - else { - temp_r28 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 38), MEMORY_DEFAULT_NUM)); - temp_r21 = GWPlayerCfg[lbl_1_bss_2C1C[temp_r31]].pad_idx; - } - temp_r29 = HuSprCreate(temp_r28, 180, temp_r21); - HuSprGrpMemberSet(temp_r30, (temp_r31 * 2) + 3, temp_r29); - HuSprPosSet(temp_r30, (temp_r31 * 2) + 3, lbl_1_data_19C[temp_r31], 24); - } - HuSprGrpPosSet(temp_r30, 800, 240); - } -} - -s32 fn_1_15E98(s16 arg0, s32 arg1) -{ - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - s16 temp_r24; - s16 temp_r23; - temp_r28 = 4; - for (temp_r27 = 0; temp_r27 < 4; temp_r27++) { - if (arg0 == GWPlayerCfg[temp_r27].group && GWPlayerCfg[temp_r27].iscom == 0 && temp_r28 > GWPlayerCfg[temp_r27].pad_idx) { - temp_r28 = GWPlayerCfg[temp_r27].pad_idx; - } - } - if (temp_r28 == 4) { - if (arg1 == 0) { - return 1; - } - temp_r30 = lbl_1_bss_3B4[arg0] % 3; - temp_r29 = lbl_1_bss_3B4[arg0] / 3; - temp_r24 = lbl_1_bss_3B0[arg0] % 3; - temp_r23 = lbl_1_bss_3B0[arg0] / 3; - if (--lbl_1_bss_3AC[arg0] != 0) { - return 0; - } - if (temp_r30 == temp_r24 && temp_r29 == temp_r23) { - HuAudFXPlay(1); - mgTicTacToeGrid[temp_r24][temp_r23] |= 4 << arg0; - return 1; - } - else { - lbl_1_bss_3AC[arg0] = 30; - temp_r26 = (temp_r24 - temp_r30 < 0) ? -1 : (temp_r24 - temp_r30 > 0) ? 1 : 0; - temp_r25 = (temp_r23 - temp_r29 < 0) ? -1 : (temp_r23 - temp_r29 > 0) ? 1 : 0; - lbl_1_bss_3B4[arg0] = temp_r30 + temp_r26 + ((temp_r29 + temp_r25) * 3); - HuAudFXPlay(0); - return 0; - } - } - else { - temp_r30 = lbl_1_bss_3B4[arg0] % 3; - temp_r29 = lbl_1_bss_3B4[arg0] / 3; - if (arg1 == 0) { - return 1; - } - if (HuPadBtnDown[temp_r28] & PAD_BUTTON_A) { - if ((mgTicTacToeGrid[temp_r30][temp_r29] & 0x3) == 0) { - mgTicTacToeGrid[temp_r30][temp_r29] |= 4 << arg0; - HuAudFXPlay(1); - return 1; - } - else { - HuAudFXPlay(4); - } - } - if (HuPadDStkRep[temp_r28] == 0) { - return 0; - } - temp_r26 = temp_r25 = 0; - if ((HuPadDStkRep[temp_r28] & PAD_BUTTON_LEFT) && temp_r30 > 0) { - temp_r26 = -1; - } - else if ((HuPadDStkRep[temp_r28] & PAD_BUTTON_RIGHT) && temp_r30 < 2) { - temp_r26 = 1; - } - if ((HuPadDStkRep[temp_r28] & PAD_BUTTON_UP) && temp_r29 > 0) { - temp_r25 = -1; - } - else if ((HuPadDStkRep[temp_r28] & PAD_BUTTON_DOWN) && temp_r29 < 2) { - temp_r25 = 1; - } - if (temp_r26 || temp_r25) { - HuAudFXPlay(0); - } - lbl_1_bss_3B4[arg0] = temp_r30 + temp_r26 + ((temp_r29 + temp_r25) * 3); - return 0; - } -} - -void fn_1_16438(void) -{ - s16 temp_r31; - ModelData *temp_r30; - Vec sp20; - Vec sp14; - Vec sp8; - float temp_f31; - float temp_f30; - - fn_1_25E74(lbl_1_bss_3B8); - fn_1_25584(lbl_1_data_168); - lbl_1_data_168 = lbl_1_bss_3B8 = -1; - temp_r30 = &Hu3DData[lbl_1_bss_2C80[5]]; - sp20 = temp_r30->pos; - sp14.x = 0; - sp14.y = 0; - sp14.z = 640; - VECSubtract(&sp14, &sp20, &sp14); - temp_f30 = 180 + atan2d(sp14.z, sp14.x); - for (temp_r31 = 0; temp_r31 <= 60; temp_r31++) { - if (temp_r31 <= 10) { - temp_f31 = sind((temp_r31 / 10.0) * 90.0); - HuSprGrpPosSet(lbl_1_bss_3A8, 288, 240 + (16 * temp_f31)); - } - else { - temp_f31 = 1.0 - cosd(((temp_r31 - 10.0) / 50.0) * 90.0); - HuSprGrpPosSet(lbl_1_bss_3A8, 288, 256 + (-400 * temp_f31)); - } - if (temp_r31 <= 10) { - temp_f31 = sind((temp_r31 / 10.0) * 90.0); - HuSprGrpPosSet(lbl_1_bss_3AA, 450 + (-16 * temp_f31), 65); - } - else if (temp_r31 < 30) { - temp_f31 = 1 - cosd(((temp_r31 - 10.0) / 20.0) * 90.0); - HuSprGrpPosSet(lbl_1_bss_3AA, 434 + (400 * temp_f31), 65); - } - if (temp_r31 == 29) { - Hu3DMotionTimeSet(lbl_1_bss_2C80[5], 0); - } - if (temp_r31 == 30) { - Hu3DMotionShiftSet(lbl_1_bss_2C80[5], lbl_1_bss_2C66[7], 0, 8, HU3D_MOTATTR_LOOP); - } - if (temp_r31 > 30) { - temp_f31 = (temp_r31 - 30.0) / 30.0; - VECScale(&sp14, &sp8, temp_f31); - VECAdd(&sp20, &sp8, &sp8); - Hu3DModelPosSetV(lbl_1_bss_2C80[5], &sp8); - if (temp_r31 <= 40) { - temp_f31 = (temp_r31 - 30) / 10.0; - Hu3DModelRotSet(lbl_1_bss_2C80[5], 0, temp_f30 * temp_f31, 0); - } - } - HuPrcVSleep(); - } - Hu3DMotionShiftSet(lbl_1_bss_2C80[5], lbl_1_bss_2C66[6], 0, 8, HU3D_MOTATTR_LOOP); - for (temp_r31 = 0; temp_r31 <= 10; temp_r31++) { - temp_f31 = 1.0 - (temp_r31 / 10.0); - Hu3DModelRotSet(lbl_1_bss_2C80[5], 0, temp_f31 * temp_f30, 0); - HuPrcVSleep(); - } - HuSprGrpKill(lbl_1_bss_3A8); - lbl_1_bss_3A8 = 0; - HuSprGrpKill(lbl_1_bss_3AA); - lbl_1_bss_3AA = 0; -} - -s32 fn_1_16B30(void) -{ - s16 temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - s16 temp_r24; - AnimData *temp_r23; - s16 temp_r22; - s16 temp_r21; - s16 temp_r20; - float temp_f31; - - s16 sp22[9]; - s16 sp1E[2]; - s16 sp1A[2]; - s16 sp16[2]; - s16 sp12[2]; - char spE[2][2]; - - for (temp_r31 = 0; temp_r31 < 9; temp_r31++) { - if (mgTicTacToeGrid[temp_r31 % 3][temp_r31 / 3] & 0x4) { - sp1E[0] = temp_r31; - } - if (mgTicTacToeGrid[temp_r31 % 3][temp_r31 / 3] & 0x8) { - sp1E[1] = temp_r31; - } - } - HuPrcSleep(60); - sp16[0] = sp16[1] = 0; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - sp16[temp_r31 / 2] += GWPlayerCoinWinGet(lbl_1_bss_2C1C[temp_r31]) + GWPlayerCoinCollectGet(lbl_1_bss_2C1C[temp_r31]); - } - sp12[0] = sp12[1] = 0; - if (sp16[0] != sp16[1]) { - if (sp16[0] > sp16[1]) { - sp12[0] = 1; - } - else { - sp12[1] = 1; - } - } - for (temp_r30 = 0, temp_r28 = -1; temp_r30 < 2; temp_r30++) { - temp_r22 = sp1E[temp_r30] % 3; - temp_r21 = sp1E[temp_r30] / 3; - if (sp12[temp_r30] != 0) { - mgTicTacToeGrid[temp_r22][temp_r21] = (1 << temp_r30); - temp_r28 = temp_r30; - } - else { - mgTicTacToeGrid[temp_r22][temp_r21] &= ~(4 << temp_r30); - } - } - if (lbl_1_data_168 == -1) { - lbl_1_data_168 = fn_1_2530C(0, 0, 0); - } - if (temp_r28 != -1) { - HuWinInsertMesSet(lbl_1_data_168, lbl_1_bss_2C24[temp_r28 * 2], 0); - HuWinInsertMesSet(lbl_1_data_168, lbl_1_bss_2C24[(temp_r28 * 2) + 1], 1); - fn_1_25838(lbl_1_data_168, 0x280016, -1, -1); - } - else { - fn_1_25838(lbl_1_data_168, 0x280013, -1, -1); - } - temp_r26 = espEntry(0x62005D, 100, 0); - espColorSet(temp_r26, 255, 255, 192); - espAttrSet(temp_r26, HUSPR_ATTR_ADDCOL | HUSPR_ATTR_DISPOFF | HUSPR_ATTR_LOOP); - for (temp_r31 = 0; temp_r31 <= 30; temp_r31++) { - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - if (sp12[temp_r30]) { - if (temp_r31 == 0) { - temp_r23 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 87) + temp_r30, MEMORY_DEFAULT_NUM)); - temp_r24 = HuSprCreate(temp_r23, 170, 0); - HuSprGrpMemberSet(lbl_1_bss_3A8, sp1E[temp_r30] + 3, temp_r24); - HuSprPosSet(lbl_1_bss_3A8, sp1E[temp_r30] + 3, ((sp1E[temp_r30] % 3) * 56) - 56, ((sp1E[temp_r30] / 3) * 56) - 56); - HuSprAttrSet(lbl_1_bss_3A8, sp1E[temp_r30] + 3, HUSPR_ATTR_DISPOFF); - espAttrReset(temp_r26, HUSPR_ATTR_DISPOFF); - espPosSet(temp_r26, (((sp1E[temp_r30] % 3) * 56) + 288.0f) - 56, ((sp1E[temp_r30] / 3) * 56) + 184); - HuAudFXPlay(825); - HuAudFXPlay(826); - } - if (temp_r31 == 8) { - HuSprAttrReset(lbl_1_bss_3A8, sp1E[temp_r30] + 3, HUSPR_ATTR_DISPOFF); - } - if (temp_r31 == 14) { - espKill(temp_r26); - } - } - else { - temp_f31 = 1 - (temp_r31 / 30.0); - HuSprTPLvlSet(lbl_1_bss_3A8, temp_r30 + 14, temp_f31); - } - } - HuPrcVSleep(); - } - HuSprAttrSet(lbl_1_bss_3A8, 14, HUSPR_ATTR_DISPOFF); - HuSprTPLvlSet(lbl_1_bss_3A8, 14, 1.0f); - HuSprAttrSet(lbl_1_bss_3A8, 15, HUSPR_ATTR_DISPOFF); - HuSprTPLvlSet(lbl_1_bss_3A8, 15, 1.0f); - for (temp_r31 = 0; temp_r31 < 9; temp_r31++) { - sp22[temp_r31] = 0; - } - temp_r27 = 0; - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - for (temp_r31 = 0; temp_r31 < 8; temp_r31++) { - temp_r29 = lbl_1_data_16A[temp_r31 * 3]; - if ((1 << temp_r30) & mgTicTacToeGrid[temp_r29 % 3][temp_r29 / 3]) { - temp_r29 = lbl_1_data_16A[(temp_r31 * 3) + 1]; - if ((1 << temp_r30) & mgTicTacToeGrid[temp_r29 % 3][temp_r29 / 3]) { - temp_r29 = lbl_1_data_16A[(temp_r31 * 3) + 2]; - if ((1 << temp_r30) & mgTicTacToeGrid[temp_r29 % 3][temp_r29 / 3]) { - temp_r29 = lbl_1_data_16A[temp_r31 * 3]; - if (sp22[temp_r29] == 0) { - sp22[temp_r29]++; - temp_r27++; - } - temp_r29 = lbl_1_data_16A[(temp_r31 * 3) + 1]; - if (sp22[temp_r29] == 0) { - sp22[temp_r29]++; - temp_r27++; - } - temp_r29 = lbl_1_data_16A[(temp_r31 * 3) + 2]; - if (sp22[temp_r29] == 0) { - sp22[temp_r29]++; - temp_r27++; - } - } - } - } - } - } - if (temp_r27 == 0) { - sp1A[0] = sp1A[1] = 0; - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - temp_r20 = mgTicTacToeGrid[temp_r31][temp_r30]; - if (temp_r20 & 0x1) { - sp1A[0]++; - } - if (temp_r20 & 0x2) { - sp1A[1]++; - } - } - } - if (sp1A[0] + sp1A[1] >= 9) { - for (temp_r31 = 0; temp_r31 < 2; temp_r31++) { - spE[temp_r31][0] = sp1A[temp_r31] + '0'; - spE[temp_r31][1] = 0; - HuWinInsertMesSet(lbl_1_data_168, MAKE_MESSID_PTR(&spE[temp_r31][0]), (s32)temp_r31); - } - if (sp1A[0] > sp1A[1]) { - temp_r28 = 0; - } - else { - temp_r28 = 1; - } - HuPrcSleep(30); - HuAudFXPlay(2175); - HuWinInsertMesSet(lbl_1_data_168, lbl_1_bss_2C24[(temp_r28 * 2) + 0], 2); - HuWinInsertMesSet(lbl_1_data_168, lbl_1_bss_2C24[(temp_r28 * 2) + 1], 3); - fn_1_25838(lbl_1_data_168, 0x280025, -1, -1); - fn_1_25584(lbl_1_data_168); - lbl_1_data_168 = -1; - return 1; - } - else { - return 0; - } - } - else { - temp_r23 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 93), MEMORY_DEFAULT_NUM)); - temp_r25 = HuSprGrpCreate(temp_r27); - for (temp_r30 = temp_r31 = 0; temp_r30 < 9; temp_r30++) { - if (sp22[temp_r30] == 0) { - continue; - } - temp_r24 = HuSprCreate(temp_r23, 100, 0); - HuSprGrpMemberSet(temp_r25, temp_r31, temp_r24); - HuSprPosSet(temp_r25, temp_r31, (((temp_r30 % 3) * 56) + 288.0f) - 56, ((temp_r30 / 3) * 56) + 184); - HuSprAttrSet(temp_r25, temp_r31, HUSPR_ATTR_LOOP); - temp_r31++; - } - HuPrcSleep(14); - HuSprGrpKill(temp_r25); - HuAudFXPlay(2175); - HuWinInsertMesSet(lbl_1_data_168, lbl_1_bss_2C24[(temp_r28 * 2) + 0], 0); - HuWinInsertMesSet(lbl_1_data_168, lbl_1_bss_2C24[(temp_r28 * 2) + 1], 1); - fn_1_25838(lbl_1_data_168, 0x280017, -1, -1); - fn_1_25584(lbl_1_data_168); - lbl_1_data_168 = -1; - return 1; - } -} - -void fn_1_17A5C(void) -{ - HuSprGrp *gp = &HuSprGrpData[lbl_1_bss_3A8]; - s16 j; - s16 i; - for (j = 0; j <= 30; j++) { - float tplvl = 1.0 - (j / 30.0); - for (i = 3; i < 12; i++) { - if (gp->members[i] != -1) { - HuSprData[gp->members[i]].a = 255.0f * tplvl; - } - } - HuPrcVSleep(); - } - for (i = 0; i < 3; i++) { - for (j = 0; j < 3; j++) { - mgTicTacToeGrid[i][j] = 0; - } - } -} - -void fn_1_17BE0(void) -{ - s16 temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - s16 temp_r24; - s16 temp_r23; - s16 temp_r22; - s16 temp_r21; - - s16 sp2A[9]; - s16 sp18[9]; - s16 sp8[8]; - for (temp_r26 = 0; temp_r26 < 2; temp_r26++) { - for (temp_r31 = 0; temp_r31 < 8; temp_r31++) { - temp_r28 = 0; - temp_r25 = -1; - temp_r30 = lbl_1_data_16A[(temp_r31 * 3) + 0]; - if ((1 << temp_r26) & mgTicTacToeGrid[temp_r30 % 3][temp_r30 / 3]) { - temp_r28++; - } - else if ((mgTicTacToeGrid[temp_r30 % 3][temp_r30 / 3] & 0x3) == 0) { - temp_r25 = temp_r30; - } - temp_r30 = lbl_1_data_16A[(temp_r31 * 3) + 1]; - if ((1 << temp_r26) & mgTicTacToeGrid[temp_r30 % 3][temp_r30 / 3]) { - temp_r28++; - } - else if ((mgTicTacToeGrid[temp_r30 % 3][temp_r30 / 3] & 0x3) == 0) { - temp_r25 = temp_r30; - } - temp_r30 = lbl_1_data_16A[(temp_r31 * 3) + 2]; - if ((1 << temp_r26) & mgTicTacToeGrid[temp_r30 % 3][temp_r30 / 3]) { - temp_r28++; - } - else if ((mgTicTacToeGrid[temp_r30 % 3][temp_r30 / 3] & 0x3) == 0) { - temp_r25 = temp_r30; - } - if (temp_r28 == 2 && temp_r25 != -1) { - OSReport("%d:LEACH\n", temp_r26); - lbl_1_bss_3B0[temp_r26] = temp_r25; - break; - } - } - if (temp_r31 != 8) { - continue; - } - if (frandmod(5) != 0) { - temp_r29 = temp_r26 ^ 1; - for (temp_r31 = 0; temp_r31 < 8; temp_r31++) { - temp_r28 = 0; - temp_r25 = -1; - temp_r30 = lbl_1_data_16A[(temp_r31 * 3) + 0]; - if ((1 << temp_r29) & mgTicTacToeGrid[temp_r30 % 3][temp_r30 / 3]) { - temp_r28++; - } - else if ((mgTicTacToeGrid[temp_r30 % 3][temp_r30 / 3] & 0x3) == 0) { - temp_r25 = temp_r30; - } - temp_r30 = lbl_1_data_16A[(temp_r31 * 3) + 1]; - if ((1 << temp_r29) & mgTicTacToeGrid[temp_r30 % 3][temp_r30 / 3]) { - temp_r28++; - } - else if ((mgTicTacToeGrid[temp_r30 % 3][temp_r30 / 3] & 0x3) == 0) { - temp_r25 = temp_r30; - } - temp_r30 = lbl_1_data_16A[(temp_r31 * 3) + 2]; - if ((1 << temp_r29) & mgTicTacToeGrid[temp_r30 % 3][temp_r30 / 3]) { - temp_r28++; - } - else if ((mgTicTacToeGrid[temp_r30 % 3][temp_r30 / 3] & 0x3) == 0) { - temp_r25 = temp_r30; - } - if (temp_r28 == 2 && temp_r25 != -1) { - lbl_1_bss_3B0[temp_r26] = temp_r25; - break; - } - } - if (temp_r31 != 8) { - continue; - } - } - for (temp_r31 = temp_r24 = temp_r21 = 0; temp_r31 < 9; temp_r31++) { - if ((1 << temp_r26) & mgTicTacToeGrid[temp_r31 % 3][temp_r31 / 3]) { - sp2A[temp_r24] = temp_r31; - temp_r24++; - } - else if ((mgTicTacToeGrid[temp_r31 % 3][temp_r31 / 3] & 0x3) == 0) { - sp18[temp_r21++] = temp_r31; - } - } - if (temp_r24 == 0) { - OSReport("%d:KOMA None\n", temp_r26); - for (temp_r31 = 0; temp_r31 < 50; temp_r31++) { - temp_r30 = lbl_1_data_1AC[frandmod(8)]; - if ((mgTicTacToeGrid[temp_r30 % 3][temp_r30 / 3] & 0x3) == 0) { - lbl_1_bss_3B0[temp_r26] = temp_r30; - break; - } - } - if (temp_r31 == 50) { - lbl_1_bss_3B0[temp_r26] = sp18[frandmod(temp_r21)]; - } - } - else { - for (temp_r22 = 0; temp_r22 < 50; temp_r22++) { - temp_r29 = sp2A[frandmod(temp_r24)]; - temp_r27 = 0; - if ((temp_r29 % 3) != 0 && (mgTicTacToeGrid[(temp_r29 - 1) % 3][temp_r29 / 3] & 0x3) == 0) { - sp8[temp_r27++] = temp_r29 - 1; - } - if ((temp_r29 % 3) != 2 && (mgTicTacToeGrid[(temp_r29 + 1) % 3][temp_r29 / 3] & 0x3) == 0) { - sp8[temp_r27++] = temp_r29 + 1; - } - if ((temp_r29 / 3) != 0 && (mgTicTacToeGrid[temp_r29 % 3][(temp_r29 - 3) / 3] & 0x3) == 0) { - sp8[temp_r27++] = temp_r29 - 3; - } - if ((temp_r29 / 3) != 2 && (mgTicTacToeGrid[temp_r29 % 3][(temp_r29 + 3) / 3] & 0x3) == 0) { - sp8[temp_r27++] = temp_r29 + 3; - } - if ((temp_r29 % 3) != 0 && (temp_r29 / 3) != 0 && (mgTicTacToeGrid[(temp_r29 - 4) % 3][(temp_r29 - 4) / 3] & 0x3) == 0) { - sp8[temp_r27++] = temp_r29 - 4; - } - if ((temp_r29 % 3) != 2 && (temp_r29 / 3) != 0 && (mgTicTacToeGrid[(temp_r29 - 2) % 3][(temp_r29 - 2) / 3] & 0x3) == 0) { - sp8[temp_r27++] = temp_r29 - 2; - } - if ((temp_r29 % 3) != 0 && (temp_r29 / 3) != 2 && (mgTicTacToeGrid[(temp_r29 + 2) % 3][(temp_r29 + 2) / 3] & 0x3) == 0) { - sp8[temp_r27++] = temp_r29 + 2; - } - if ((temp_r29 % 3) != 2 && (temp_r29 / 3) != 2 && (mgTicTacToeGrid[(temp_r29 + 4) % 3][(temp_r29 + 4) / 3] & 0x3) == 0) { - sp8[temp_r27++] = temp_r29 + 4; - } - if (temp_r27 != 0) { - temp_r23 = sp8[frandmod(temp_r27)]; - for (temp_r31 = 0; temp_r31 < 8; temp_r31++) { - temp_r28 = 0; - if (temp_r29 == lbl_1_data_16A[(temp_r31 * 3) + 0] || temp_r29 == lbl_1_data_16A[(temp_r31 * 3) + 1] - || temp_r29 == lbl_1_data_16A[(temp_r31 * 3) + 2]) { - temp_r28++; - } - if (temp_r23 == lbl_1_data_16A[(temp_r31 * 3) + 0] || temp_r23 == lbl_1_data_16A[(temp_r31 * 3) + 1] - || temp_r23 == lbl_1_data_16A[(temp_r31 * 3) + 2]) { - temp_r28++; - } - if (temp_r28 == 2) { - for (temp_r28 = 0; temp_r28 < 3; temp_r28++) { - if (temp_r29 != lbl_1_data_16A[(temp_r31 * 3) + temp_r28] && temp_r23 != lbl_1_data_16A[(temp_r31 * 3) + temp_r28]) { - break; - } - } - temp_r30 = lbl_1_data_16A[(temp_r31 * 3) + temp_r28]; - if (mgTicTacToeGrid[temp_r30 % 3][temp_r30 / 3] & 0x3) { - temp_r30 = -1; - } - break; - } - } - if (temp_r31 == 8 || temp_r30 < 0) { - continue; - } - lbl_1_bss_3B0[temp_r26] = temp_r23; - break; - } - } - if (temp_r22 == 50) { - lbl_1_bss_3B0[temp_r26] = sp18[frandmod(temp_r21)]; - } - } - } - OSReport("com %d,%d\n", lbl_1_bss_3B0[0], lbl_1_bss_3B0[1]); -} diff --git a/src/REL/modeltestDll/main.c b/src/REL/modeltestDll/main.c index cb1c254b..7921f251 100644 --- a/src/REL/modeltestDll/main.c +++ b/src/REL/modeltestDll/main.c @@ -1,40 +1,43 @@ #define HUSPR_USE_OLD_DEFS +#include "math.h" #include "game/chrman.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfex.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" #include "game/object.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" #include "game/wipe.h" +#include "game/pad.h" +#include "game/hsfanim.h" +#include "game/hsfmotion.h" +#include "game/hsfex.h" +#include "game/printfunc.h" +#include "game/window.h" +#include "game/gamework_data.h" +#include "game/sprite.h" +#include "game/minigame_seq.h" #include "REL/modeltestDll.h" // -------------------------------------------------------------------------- // s32 lbl_1_data_0[8] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x1B), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x15), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x16), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x06), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x04), + 0x005F001B, + 0x005F0015, + 0x005F0016, + 0x005F0006, + 0x005F0000, + 0x005F0000, + 0x005F0000, + 0x005F0004, }; -omObjData *lbl_1_bss_9A4; -omObjData *lbl_1_bss_9A0; +const f64 unk_rodata_0 = 0.5; +const f64 unk_rodata_8 = 3.0; +omObjData * lbl_1_bss_9A4; +omObjData * lbl_1_bss_9A0; // -------------------------------------------------------------------------- // void ObjectSetup(void) { - Process *prc; + Process * prc; OSReport("******* MODELTESTObjectSetup *********\n"); prc = omInitObjMan(0x32, 0x2000); @@ -61,110 +64,108 @@ void ObjectSetup(void) // -------------------------------------------------------------------------- // -char *lbl_1_data_D8[16] = { "target1A", "target1B", "target2A", "target2B", "target3A", "target3B", "target4A", "target4B", "target5A", "target5B", - "target6A", "target6B", "target7A", "target7B", "target8A", "target8B" }; - -HsfanimStruct00 lbl_1_data_118 = { - /* unk00 */ 40, - /* unk02 */ { 0, 0 }, - /* unk04 */ 50.0f, - /* unk08 */ 0.0f, - /* unk0C */ 90.0f, - /* unk10 */ { /* x */ 0.0f, /* y */ -0.05000000074505806f, /* z */ 0.0f }, - /* unk1C */ 50.0f, - /* unk20 */ 0.800000011920929f, - /* unk24 */ 20.0f, - /* unk28 */ 0.9900000095367432f, - /* unk2C */ 4, - /* unk2E */ - { { /* r */ 255, /* g */ 255, /* b */ 32, /* a */ 255 }, { /* r */ 255, /* g */ 255, /* b */ 0, /* a */ 255 }, - { /* r */ 255, /* g */ 255, /* b */ 128, /* a */ 255 }, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 255 } }, - /* unk3E */ - { { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 0 }, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 0 }, - { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 0 }, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 0 } }, +char * lbl_1_data_D8[16] = { + "target1A", + "target1B", + "target2A", + "target2B", + "target3A", + "target3B", + "target4A", + "target4B", + "target5A", + "target5B", + "target6A", + "target6B", + "target7A", + "target7B", + "target8A", + "target8B" }; -HsfanimStruct00 lbl_1_data_168[2] = { { - /* unk00 */ 50, - /* unk02 */ { 0, 0 }, - /* unk04 */ 5.0f, - /* unk08 */ 10.0f, - /* unk0C */ 10.0f, - /* unk10 */ { /* x */ 0.0f, /* y */ 0.0f, /* z */ 0.0f }, - /* unk1C */ 2.0f, - /* unk20 */ 1.0099999904632568f, - /* unk24 */ 30.0f, - /* unk28 */ 0.9900000095367432f, - /* unk2C */ 2, - /* unk2E */ - { { /* r */ 48, /* g */ 48, /* b */ 8, /* a */ 255 }, { /* r */ 64, /* g */ 48, /* b */ 8, /* a */ 255 }, - { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 }, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 } }, - /* unk3E */ - { { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 }, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 }, - { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 }, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 } }, - }, - { - /* unk00 */ 30, - /* unk02 */ { 0, 0 }, - /* unk04 */ 3.299999952316284f, - /* unk08 */ 10.0f, - /* unk0C */ 0.0f, - /* unk10 */ { /* x */ 0.0f, /* y */ -0.05000000074505806f, /* z */ 0.0f }, - /* unk1C */ 2.0f, - /* unk20 */ 1.0f, - /* unk24 */ 20.0f, - /* unk28 */ 0.9800000190734863f, - /* unk2C */ 2, - /* unk2E */ - { { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 255 }, { /* r */ 255, /* g */ 255, /* b */ 64, /* a */ 255 }, - { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 }, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 } }, - /* unk3E */ - { { /* r */ 255, /* g */ 128, /* b */ 128, /* a */ 0 }, { /* r */ 255, /* g */ 64, /* b */ 32, /* a */ 0 }, - { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 }, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 } }, - } }; + +HsfanimStruct00 lbl_1_data_118 = { + /* unk00 */ 40, + /* unk02 */ {0, 0}, + /* unk04 */ 50.0f, + /* unk08 */ 0.0f, + /* unk0C */ 90.0f, + /* unk10 */ { /* x */ 0.0f, /* y */ -0.05000000074505806f, /* z */ 0.0f}, + /* unk1C */ 50.0f, + /* unk20 */ 0.800000011920929f, + /* unk24 */ 20.0f, + /* unk28 */ 0.9900000095367432f, + /* unk2C */ 4, + /* unk2E */ {{ /* r */ 255, /* g */ 255, /* b */ 32, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 0, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 128, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 255}}, + /* unk3E */ {{ /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 0}, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 0}, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 0}, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 0}}, +}; + +HsfanimStruct00 lbl_1_data_168[2] = { +{ + /* unk00 */ 50, + /* unk02 */ {0, 0}, + /* unk04 */ 5.0f, + /* unk08 */ 10.0f, + /* unk0C */ 10.0f, + /* unk10 */ { /* x */ 0.0f, /* y */ 0.0f, /* z */ 0.0f}, + /* unk1C */ 2.0f, + /* unk20 */ 1.0099999904632568f, + /* unk24 */ 30.0f, + /* unk28 */ 0.9900000095367432f, + /* unk2C */ 2, + /* unk2E */ {{ /* r */ 48, /* g */ 48, /* b */ 8, /* a */ 255}, { /* r */ 64, /* g */ 48, /* b */ 8, /* a */ 255}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}}, + /* unk3E */ {{ /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}}, +}, +{ + /* unk00 */ 30, + /* unk02 */ {0, 0}, + /* unk04 */ 3.299999952316284f, + /* unk08 */ 10.0f, + /* unk0C */ 0.0f, + /* unk10 */ { /* x */ 0.0f, /* y */ -0.05000000074505806f, /* z */ 0.0f}, + /* unk1C */ 2.0f, + /* unk20 */ 1.0f, + /* unk24 */ 20.0f, + /* unk28 */ 0.9800000190734863f, + /* unk2C */ 2, + /* unk2E */ {{ /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 64, /* a */ 255}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}}, + /* unk3E */ {{ /* r */ 255, /* g */ 128, /* b */ 128, /* a */ 0}, { /* r */ 255, /* g */ 64, /* b */ 32, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}}, +}}; HsfanimStruct00 lbl_1_data_208 = { - /* unk00 */ 40, - /* unk02 */ { 0, 0 }, - /* unk04 */ 50.0f, - /* unk08 */ 0.0f, - /* unk0C */ 180.0f, - /* unk10 */ { /* x */ 0.0f, /* y */ 0.0f, /* z */ 0.0f }, - /* unk1C */ 30.0f, - /* unk20 */ 0.8999999761581421f, - /* unk24 */ 20.0f, - /* unk28 */ 0.9900000095367432f, - /* unk2C */ 4, - /* unk2E */ - { { /* r */ 255, /* g */ 255, /* b */ 32, /* a */ 255 }, { /* r */ 255, /* g */ 255, /* b */ 0, /* a */ 255 }, - { /* r */ 255, /* g */ 255, /* b */ 128, /* a */ 255 }, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 255 } }, - /* unk3E */ - { { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 }, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 }, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 }, - { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 } }, + /* unk00 */ 40, + /* unk02 */ {0, 0}, + /* unk04 */ 50.0f, + /* unk08 */ 0.0f, + /* unk0C */ 180.0f, + /* unk10 */ { /* x */ 0.0f, /* y */ 0.0f, /* z */ 0.0f}, + /* unk1C */ 30.0f, + /* unk20 */ 0.8999999761581421f, + /* unk24 */ 20.0f, + /* unk28 */ 0.9900000095367432f, + /* unk2C */ 4, + /* unk2E */ {{ /* r */ 255, /* g */ 255, /* b */ 32, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 0, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 128, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 255}}, + /* unk3E */ {{ /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}}, }; HsfanimStruct00 lbl_1_data_258 = { - /* unk00 */ 30, - /* unk02 */ { 0, 0 }, - /* unk04 */ 50.0f, - /* unk08 */ 0.0f, - /* unk0C */ 90.0f, - /* unk10 */ { /* x */ 0.0f, /* y */ 0.0f, /* z */ 0.0f }, - /* unk1C */ 30.0f, - /* unk20 */ 0.949999988079071f, - /* unk24 */ 20.0f, - /* unk28 */ 0.9900000095367432f, - /* unk2C */ 2, - /* unk2E */ - { { /* r */ 255, /* g */ 16, /* b */ 16, /* a */ 255 }, { /* r */ 255, /* g */ 255, /* b */ 16, /* a */ 255 }, - { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 }, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 } }, - /* unk3E */ - { { /* r */ 255, /* g */ 16, /* b */ 16, /* a */ 255 }, { /* r */ 255, /* g */ 255, /* b */ 16, /* a */ 255 }, - { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 }, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 } }, + /* unk00 */ 30, + /* unk02 */ {0, 0}, + /* unk04 */ 50.0f, + /* unk08 */ 0.0f, + /* unk0C */ 90.0f, + /* unk10 */ { /* x */ 0.0f, /* y */ 0.0f, /* z */ 0.0f}, + /* unk1C */ 30.0f, + /* unk20 */ 0.949999988079071f, + /* unk24 */ 20.0f, + /* unk28 */ 0.9900000095367432f, + /* unk2C */ 2, + /* unk2E */ {{ /* r */ 255, /* g */ 16, /* b */ 16, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 16, /* a */ 255}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}}, + /* unk3E */ {{ /* r */ 255, /* g */ 16, /* b */ 16, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 16, /* a */ 255}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}}, }; -const Vec lbl_1_rodata_38 = { 0.0f, 0.0f, 0.0f }; -const Vec lbl_1_rodata_44 = { 0.0f, 1.0f, 0.0f }; +const Point3d lbl_1_rodata_38 = {0.0f, 0.0f, 0.0f}; +const Point3d lbl_1_rodata_44 = {0.0f, 1.0f, 0.0f}; s16 lbl_1_bss_99C; s16 lbl_1_bss_99A; s16 lbl_1_bss_98A[8]; @@ -177,35 +178,35 @@ s16 lbl_1_bss_664[256]; s16 lbl_1_bss_460[258]; s16 lbl_1_bss_45A[3]; s16 lbl_1_bss_458; -AnimData *lbl_1_bss_454; +AnimData * lbl_1_bss_454; s32 unk_bss_450; HuObjUnk lbl_1_bss_40[20]; -void *lbl_1_bss_30[4]; +void * lbl_1_bss_30[4]; u8 lbl_1_bss_2C; f32 lbl_1_bss_28; s16 lbl_1_bss_24; f32 lbl_1_bss_20; -Process *lbl_1_bss_18[2]; -Process *lbl_1_bss_14; -Process *lbl_1_bss_10; +Process * lbl_1_bss_18[2]; +Process * lbl_1_bss_14; +Process * lbl_1_bss_10; s32 lbl_1_bss_C; f32 lbl_1_bss_8; static u8 unk_bss[8]; // -------------------------------------------------------------------------- // -void fn_1_29C(omObjData *arg0) +void fn_1_29C(omObjData * arg0) { - Vec sp20; - Vec sp14; - Vec sp8; + Point3d sp20; + Point3d sp14; + Point3d sp8; Mtx sp2C; s16 var_r31; s16 temp_r27; u32 temp_r26; s16 temp_r3; - void *temp_r29; - AnimData *temp_r28; + void * temp_r29; + AnimData * temp_r28; f32 temp_r5; f32 temp_f30; s16 chrIdx; @@ -225,7 +226,8 @@ void fn_1_29C(omObjData *arg0) sp20.z = 1000.0f; Hu3DShadowPosSet(&sp20, &sp8, &sp14); - for (var_r31 = 0; var_r31 < 1; ++var_r31) { + for (var_r31 = 0; var_r31 < 1; ++var_r31) + { chrIdx = 0; lbl_1_bss_98A[var_r31] = CharModelCreate(chrIdx, 2); if (var_r31 == 1) { @@ -240,9 +242,9 @@ void fn_1_29C(omObjData *arg0) lbl_1_bss_88A[var_r31][5] = CharModelMotionCreate(chrIdx, lbl_1_data_0[5]); lbl_1_bss_88A[var_r31][6] = CharModelMotionCreate(chrIdx, lbl_1_data_0[6]); lbl_1_bss_88A[var_r31][7] = CharModelMotionCreate(chrIdx, lbl_1_data_0[7]); - lbl_1_bss_88A[var_r31][0] = CharModelMotionCreate(chrIdx, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x4D)); + lbl_1_bss_88A[var_r31][0] = CharModelMotionCreate(chrIdx, 0x5F004D); CharModelMotionSet(chrIdx, lbl_1_bss_88A[var_r31][0]); - Hu3DModelAttrSet(lbl_1_bss_98A[var_r31], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(lbl_1_bss_98A[var_r31], 0x40000001U); Hu3DModelPosSet(lbl_1_bss_98A[var_r31], (var_r31 / 4 * 0xC8) - 100, 0.0f, -(var_r31 % 4) * 0x96); CharModelMotionDataClose(chrIdx); } @@ -254,27 +256,26 @@ void fn_1_29C(omObjData *arg0) temp_r5 = OSTicksToMicroseconds(OSGetTick() - temp_r26); OSReport("time %f\n", US_TO_60TH_SEC(temp_r5)); - var_r31 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_SAF, 0x24)); + var_r31 = Hu3DModelCreateFile(0x700024); Hu3DModelScaleSet(var_r31, 5.0f, 5.0f, 5.0f); Hu3DModelShadowMapSet(var_r31); - var_r31 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M407, 0x1E)); - temp_r27 = Hu3DJointMotion(var_r31, HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M407, 0x2F), MEMORY_DEFAULT_NUM, 2)); + var_r31 = Hu3DModelCreateFile(0x26001E); + temp_r27 = Hu3DJointMotion(var_r31, HuDataSelHeapReadNum(0x26002F, 0x10000000, 2)); Hu3DMotionSet(var_r31, temp_r27); - Hu3DModelAttrSet(var_r31, HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(var_r31, 0x40000001U); for (var_r31 = 0; var_r31 < 10; ++var_r31) { if (var_r31 == 0) { - lbl_1_bss_664[var_r31] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_SAF, 0x19)); - } - else { + lbl_1_bss_664[var_r31] = Hu3DModelCreateFile(0x700019); + } else { lbl_1_bss_664[var_r31] = Hu3DModelLink(lbl_1_bss_664[0]); } Hu3DModelShadowSet(lbl_1_bss_664[var_r31]); - Hu3DModelPosSet(lbl_1_bss_664[var_r31], (((var_r31 / 5) * 0x1F4) + 0xC8), 0.0f, (-(var_r31 % 5) * 0x12C)); - Hu3DModelAttrSet(lbl_1_bss_664[var_r31], HU3D_ATTR_NOCULL); - Hu3DModelAttrSet(lbl_1_bss_664[var_r31], HU3D_MOTATTR_LOOP); + Hu3DModelPosSet(lbl_1_bss_664[var_r31], ((( var_r31 / 5) * 0x1F4) + 0xC8), 0.0f, (-( var_r31 % 5) * 0x12C)); + Hu3DModelAttrSet(lbl_1_bss_664[var_r31], 0x4000U); + Hu3DModelAttrSet(lbl_1_bss_664[var_r31], 0x40000001U); } - temp_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_SAF, 0x13), MEMORY_DEFAULT_NUM, 2); + temp_r29 = HuDataSelHeapReadNum(0x700013, 0x10000000, 2); temp_r28 = HuSprAnimRead(temp_r29); lbl_1_bss_99C = HuSprGrpCreate(0x14); @@ -288,7 +289,7 @@ void fn_1_29C(omObjData *arg0) HuSprGrpDrawNoSet(lbl_1_bss_99C, 0x40); lbl_1_bss_458 = 0x293; lbl_1_bss_45A[0] = MGSeqTimerCreate(lbl_1_bss_458 / 60); - temp_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 0x01), MEMORY_DEFAULT_NUM, 2); + temp_r29 = HuDataSelHeapReadNum(0x120001, 0x10000000, 2); temp_r28 = HuSprAnimRead(temp_r29); lbl_1_bss_888 = Hu3DParManCreate(temp_r28, 0x3E8, &lbl_1_data_208); Hu3DParManAttrSet(lbl_1_bss_888, 0x45); @@ -301,14 +302,14 @@ void fn_1_29C(omObjData *arg0) Hu3DParManVecSet(lbl_1_bss_884, 0.0f, 1.0f, 0.0f); Hu3DParManVacumeSet(lbl_1_bss_884, 500.0f, 0.0f, 0.0f, 1.0f); Hu3DParManColorSet(lbl_1_bss_884, 0); - temp_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 0x02), MEMORY_DEFAULT_NUM, 2); + temp_r29 = HuDataSelHeapReadNum(0x120002, 0x10000000, 2); temp_r28 = HuSprAnimRead(temp_r29); for (var_r31 = 0; var_r31 < 10; ++var_r31) { lbl_1_bss_864[var_r31] = Hu3DParManCreate(temp_r28, 0x1F4, &lbl_1_data_168[0]); Hu3DParManAttrSet(lbl_1_bss_864[var_r31], 0x864); Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(lbl_1_bss_864[var_r31]), 1U); - Hu3DParManPosSet(lbl_1_bss_864[var_r31], (100.0 * sind(36.0f * var_r31)), 0.0f, 100.0 * cosd(36.0f * var_r31)); + Hu3DParManPosSet(lbl_1_bss_864[var_r31], (100.0 * sin((M_PI * (36.0f * var_r31)) / 180.0)), 0.0f, 100.0 * cos((M_PI * (36.0f * var_r31)) / 180.0)); Hu3DParManRotSet(lbl_1_bss_864[var_r31], -90.0f, 0.0f, 0.0f); } @@ -319,7 +320,9 @@ void fn_1_29C(omObjData *arg0) // -------------------------------------------------------------------------- // -s32 unrefData[] = { 0, 0, 0 }; +s32 unrefData[] = { + 0,0,0 +}; // -------------------------------------------------------------------------- // @@ -328,7 +331,7 @@ void fn_1_F38(void) f32 var_f31; var_f31 = 0.0f; - while (TRUE) { + while(TRUE) { Hu3DModelRotSet(lbl_1_bss_460[0], 0.0f, var_f31, 0.0f); var_f31 += 1.0f; HuPrcVSleep(); @@ -337,8 +340,7 @@ void fn_1_F38(void) // -------------------------------------------------------------------------- // -static inline void HuControlCamCenter(Vec *sp18, Vec *sp30) -{ +static inline void HuControlCamCenter(Point3d *sp18, Point3d *sp30) { s8 temp_r28; temp_r28 = HuPadSubStkX[0] & 0xF8; @@ -347,7 +349,7 @@ static inline void HuControlCamCenter(Vec *sp18, Vec *sp30) Center.y += 0.05f * (sp30->y * temp_r28); Center.z += 0.05f * (sp30->z * temp_r28); } - VECNormalize(sp18, sp30); + PSVECNormalize(sp18, sp30); temp_r28 = -(HuPadSubStkY[0] & 0xF8); if (temp_r28 != 0) { Center.x += 0.05f * (sp30->x * temp_r28); @@ -358,16 +360,18 @@ static inline void HuControlCamCenter(Vec *sp18, Vec *sp30) // -------------------------------------------------------------------------- // -const HuUnkF9C2 lbl_1_rodata_B8 = { { 8, 6, 4, 7, 9, 10, 11 } }; +const HuUnkF9C2 lbl_1_rodata_B8 = { + {8, 6, 4, 7, 9, 10, 11} +}; // -------------------------------------------------------------------------- // -void fn_1_F9C(struct om_obj_data *omData) +void fn_1_F9C(struct om_obj_data * omData) { - Vec sp3C; - Vec sp30; - Vec sp24; - Vec sp18; + Point3d sp3C; + Point3d sp30; + Point3d sp24; + Point3d sp18; f32 temp_f31; s32 var_r31; s16 var_r30; @@ -417,40 +421,40 @@ void fn_1_F9C(struct om_obj_data *omData) s32 var_fake; while (0) { - (void)temp_f30; - (void)temp_f30; - (void)var_r31; - (void)var_r31; - (void)var_r31; - (void)var_r31; - (void)var_r31; - (void)var_r31; - (void)var_r31; - (void)var_r31; - (void)var_r31; - (void)var_r31; - (void)var_r30; - (void)var_r30; - (void)var_r30; - (void)var_r29; - (void)var_r29; - (void)var_r29; - (void)var_r29; - (void)var_r29; - (void)var_r29; - (void)var_r29; - (void)var_r29; - (void)var_r29; - (void)var_r29; - (void)var_fake; - (void)var_fake; - (void)var_fake; - (void)var_fake; - (void)var_fake; - (void)var_fake; - (void)var_fake; - (void)var_fake; - (void)var_fake; + (void) temp_f30; + (void) temp_f30; + (void) var_r31; + (void) var_r31; + (void) var_r31; + (void) var_r31; + (void) var_r31; + (void) var_r31; + (void) var_r31; + (void) var_r31; + (void) var_r31; + (void) var_r31; + (void) var_r30; + (void) var_r30; + (void) var_r30; + (void) var_r29; + (void) var_r29; + (void) var_r29; + (void) var_r29; + (void) var_r29; + (void) var_r29; + (void) var_r29; + (void) var_r29; + (void) var_r29; + (void) var_r29; + (void) var_fake; + (void) var_fake; + (void) var_fake; + (void) var_fake; + (void) var_fake; + (void) var_fake; + (void) var_fake; + (void) var_fake; + (void) var_fake; } } @@ -462,31 +466,31 @@ void fn_1_F9C(struct om_obj_data *omData) } } - sp3C.x = Center.x + CZoom * (sind(CRot.y) * cosd(CRot.x)); - sp3C.y = Center.y + CZoom * -sind(CRot.x); - sp3C.z = Center.z + CZoom * (cosd(CRot.y) * cosd(CRot.x)); + sp3C.x = Center.x + (CZoom * (sin((M_PI * CRot.y) / 180.0) * cos((M_PI * CRot.x) / 180.0))); + sp3C.y = (Center.y + (CZoom * -sin((M_PI * CRot.x) / 180.0))); + sp3C.z = (Center.z + (CZoom * (cos((M_PI * CRot.y) / 180.0) * cos((M_PI * CRot.x) / 180.0)))); sp30.x = Center.x - sp3C.x; sp30.y = Center.y - sp3C.y; sp30.z = Center.z - sp3C.z; - sp24.x = sind(CRot.y) * sind(CRot.x); - sp24.y = cosd(CRot.x); - sp24.z = cosd(CRot.y) * sind(CRot.x); + sp24.x = (sin((M_PI * CRot.y) / 180.0) * sin((M_PI * CRot.x) / 180.0)); + sp24.y = cos((M_PI * CRot.x) / 180.0); + sp24.z = (cos((M_PI * CRot.y) / 180.0) * sin((M_PI * CRot.x) / 180.0)); temp_f31 = CRot.z; - sp18.x = sp24.x * (sp30.x * sp30.x + (1.0f - sp30.x * sp30.x) * cosd(temp_f31)) - + sp24.y * (sp30.x * sp30.y * (1.0f - cosd(temp_f31)) - sp30.z * sind(temp_f31)) - + sp24.z * (sp30.x * sp30.z * (1.0f - cosd(temp_f31)) + sp30.y * sind(temp_f31)); + sp18.x = sp24.x * (sp30.x * sp30.x + (1.0f - sp30.x * sp30.x) * cos((M_PI * temp_f31) / 180.0)) + + sp24.y * (sp30.x * sp30.y * (1.0f - cos((M_PI * temp_f31) / 180.0)) - sp30.z * sin((M_PI * temp_f31) / 180.0)) + + sp24.z * (sp30.x * sp30.z * (1.0f - cos((M_PI * temp_f31) / 180.0)) + sp30.y * sin((M_PI * temp_f31) / 180.0)); - sp18.y = sp24.y * (sp30.y * sp30.y + (1.0f - sp30.y * sp30.y) * cosd(temp_f31)) - + sp24.x * (sp30.x * sp30.y * (1.0f - cosd(temp_f31)) + sp30.z * sind(temp_f31)) - + sp24.z * (sp30.y * sp30.z * (1.0f - cosd(temp_f31)) - sp30.x * sind(temp_f31)); + sp18.y = sp24.y * (sp30.y * sp30.y + (1.0f - sp30.y * sp30.y) * cos((M_PI * temp_f31) / 180.0)) + + sp24.x * (sp30.x * sp30.y * (1.0f - cos((M_PI * temp_f31) / 180.0)) + sp30.z * sin((M_PI * temp_f31) / 180.0)) + + sp24.z * (sp30.y * sp30.z * (1.0f - cos((M_PI * temp_f31) / 180.0)) - sp30.x * sin((M_PI * temp_f31) / 180.0)); - sp18.z = sp24.z * (sp30.z * sp30.z + (1.0f - sp30.z * sp30.z) * cosd(temp_f31)) - + (sp24.x * (sp30.x * sp30.z * (1.0 - cosd(temp_f31)) - sp30.y * sind(temp_f31)) - + sp24.y * (sp30.y * sp30.z * (1.0 - cosd(temp_f31)) + sp30.x * sind(temp_f31))); + sp18.z = sp24.z * (sp30.z * sp30.z + (1.0f - sp30.z * sp30.z) * cos((M_PI * temp_f31) / 180.0)) + + (sp24.x * (sp30.x * sp30.z * (1.0 - cos((M_PI * temp_f31) / 180.0)) - sp30.y * sin((M_PI * temp_f31) / 180.0)) + + sp24.y * (sp30.y * sp30.z * (1.0 - cos((M_PI * temp_f31) / 180.0)) + sp30.x * sin((M_PI * temp_f31) / 180.0))); - VECCrossProduct(&sp24, &sp30, &sp30); - VECNormalize(&sp30, &sp30); + PSVECCrossProduct(&sp24, &sp30, &sp30); + PSVECNormalize(&sp30, &sp30); if (lbl_1_bss_C == 0) { HuControlCamCenter(&sp18, &sp30); @@ -539,8 +543,8 @@ void fn_1_20F4(void) { s16 temp_r3; s16 var_r29; - HsfObject *temp_r3_2; - HuObjUnk *temp_r31; + HsfObject * temp_r3_2; + HuObjUnk * temp_r31; Mtx spC0; Vec sp24; Mtx sp90; @@ -549,38 +553,49 @@ void fn_1_20F4(void) Vec sp18; Vec spC; f32 temp_f27; - f32 var_f29; // ! - uninitialized - s16 var_r27; // ! - uninitialized + f32 var_f29; // ! - uninitialized + s16 var_r27; // ! - uninitialized s32 var_r26; f32 temp_f30; - temp_r3 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_PEACHMDL1, 0x00)); + temp_r3 = Hu3DModelCreateFile(0x6C0000); Hu3DModelPosSet(temp_r3, 0.0f, 0.0f, 100.0f); - for (var_r29 = 0; var_r29 < 16; ++var_r29) { + for (var_r29 = 0; var_r29 < 16; ++var_r29) + { OSReport("%s\n", lbl_1_data_D8[var_r29]); temp_r3_2 = Hu3DModelObjPtrGet(temp_r3, lbl_1_data_D8[var_r29]); lbl_1_bss_40[var_r29].obj = temp_r3_2; Hu3DMotionNoMotSet(temp_r3, lbl_1_data_D8[var_r29], 0x380); - lbl_1_bss_40[var_r29].pos.x = temp_r3_2->data.base.pos.x; - lbl_1_bss_40[var_r29].pos.y = temp_r3_2->data.base.pos.y; - lbl_1_bss_40[var_r29].pos.z = temp_r3_2->data.base.pos.z; - lbl_1_bss_40[var_r29].rot.x = temp_r3_2->data.base.rot.x; - lbl_1_bss_40[var_r29].rot.y = temp_r3_2->data.base.rot.y; - lbl_1_bss_40[var_r29].rot.z = temp_r3_2->data.base.rot.z; + lbl_1_bss_40[var_r29].pos.x = temp_r3_2->data.base.pos.x; + lbl_1_bss_40[var_r29].pos.y = temp_r3_2->data.base.pos.y; + lbl_1_bss_40[var_r29].pos.z = temp_r3_2->data.base.pos.z; + lbl_1_bss_40[var_r29].rot.x = temp_r3_2->data.base.rot.x; + lbl_1_bss_40[var_r29].rot.y = temp_r3_2->data.base.rot.y; + lbl_1_bss_40[var_r29].rot.z = temp_r3_2->data.base.rot.z; lbl_1_bss_40[var_r29].scale.x = temp_r3_2->data.base.scale.x; lbl_1_bss_40[var_r29].scale.y = temp_r3_2->data.base.scale.y; lbl_1_bss_40[var_r29].scale.z = temp_r3_2->data.base.scale.z; - OSReport("%d:(%3.2f,%3.2f,%3.2f),(%3.2f,%3.2f,%3.2f)\n", var_r29, temp_r3_2->data.base.pos.x, temp_r3_2->data.base.pos.y, - temp_r3_2->data.base.pos.z, temp_r3_2->data.base.rot.x, temp_r3_2->data.base.rot.y, temp_r3_2->data.base.rot.z); + OSReport( + "%d:(%3.2f,%3.2f,%3.2f),(%3.2f,%3.2f,%3.2f)\n", + var_r29, + temp_r3_2->data.base.pos.x, + temp_r3_2->data.base.pos.y, + temp_r3_2->data.base.pos.z, + temp_r3_2->data.base.rot.x, + temp_r3_2->data.base.rot.y, + temp_r3_2->data.base.rot.z + ); } - while (TRUE) { + while (TRUE) + { Hu3DModelObjMtxGet(temp_r3, "ske_skirt", sp30); - for (var_r29 = 0; var_r29 < 8; ++var_r29) { + for (var_r29 = 0; var_r29 < 8; ++var_r29) + { temp_r31 = &lbl_1_bss_40[var_r29 * 2]; temp_r31->obj->data.curr.rot.x = temp_r31->rot.x; temp_r31->obj->data.curr.rot.y = temp_r31->rot.y; @@ -595,16 +610,16 @@ void fn_1_20F4(void) Hu3DModelObjMtxGet(temp_r3, lbl_1_data_D8[(var_r29 * 2) + 1], spC0); Hu3DMtxTransGet(spC0, &sp18); - MTXInverse(sp30, sp60); + PSMTXInverse(sp30, sp60); Hu3DModelObjMtxGet(temp_r3, lbl_1_data_D8[(var_r29 * 2) + 1], spC0); Hu3DMtxTransGet(spC0, &sp18); - MTXMultVec(sp60, &sp18, &sp18); + PSMTXMultVec(sp60, &sp18, &sp18); - temp_f27 = atan2d(sp18.z, sp18.x); + temp_f27 = 180.0 * (atan2(sp18.z, sp18.x) / M_PI); temp_r31 = &lbl_1_bss_40[var_r29 * 2]; - temp_r31->obj->data.curr.rot.x = temp_r31->rot.x + (var_f29 * (2.0 * (sind(temp_f27) * sind(var_r27)))); + temp_r31->obj->data.curr.rot.x = temp_r31->rot.x + (var_f29 * (2.0 * (sin((M_PI * temp_f27) / 180.0) * sin((M_PI * var_r27) / 180.0)))); temp_r31->obj->data.curr.rot.y = temp_r31->rot.y; - temp_r31->obj->data.curr.rot.z = temp_r31->rot.z + (var_f29 * cosd(var_r27)); + temp_r31->obj->data.curr.rot.z = temp_r31->rot.z + (var_f29 * cos((M_PI * var_r27) / 180.0)); Hu3DModelObjMtxGet(temp_r3, lbl_1_data_D8[(var_r29 * 2) + 1], spC0); Hu3DMtxTransGet(spC0, &sp24); @@ -619,17 +634,16 @@ void fn_1_20F4(void) if (HuPadSubStkX[1] < 0) { var_r26 = -HuPadSubStkX[1]; - } - else { + } else { var_r26 = HuPadSubStkX[1]; } + if (var_r26 < 0xA && ABS(HuPadSubStkY[1]) < 0xA) { var_r27 = 0x168; var_f29 = 0.0f; - } - else { - var_r27 = atan2d(HuPadSubStkX[1], HuPadSubStkY[1]); + } else { + var_r27 = 180.0 * (atan2(HuPadSubStkX[1], HuPadSubStkY[1]) / M_PI); temp_f30 = (HuPadSubStkX[1] * HuPadSubStkX[1]) + (HuPadSubStkY[1] * HuPadSubStkY[1]); var_f29 = sqrtf(temp_f30); if (var_f29 > 80.0f) { @@ -643,26 +657,25 @@ void fn_1_20F4(void) // -------------------------------------------------------------------------- // -void fn_1_28F8(Vec *arg0, Vec *arg1) +void fn_1_28F8(Point3d * arg0, Point3d * arg1) { - Vec spC; + Point3d spC; Mtx sp18; - CameraData *cam; + CameraData * cam; f32 temp_f31; f32 temp_f30; cam = &Hu3DCamera[0]; C_MTXLookAt(sp18, &cam->pos, &cam->up, &cam->target); - MTXMultVec(sp18, arg0, &spC); + PSMTXMultVec(sp18, arg0, &spC); - temp_f31 = (1.2f * (spC.z * (sind(cam->fov / 2) / (cosd(cam->fov / 2))))); - temp_f30 = (spC.z * (sind(cam->fov / 2) / (cosd(cam->fov / 2)))); + temp_f31 = (1.2f * (spC.z * (sin((M_PI * (cam->fov / 2)) / 180.0) / (cos((M_PI * (cam->fov / 2)) / 180.0))))); + temp_f30 = (spC.z * (sin((M_PI * (cam->fov / 2)) / 180.0) / (cos((M_PI * (cam->fov / 2)) / 180.0)))); arg1->x = 288.0f + (spC.x * (288.0f / -temp_f31)); arg1->y = 240.0f + (spC.y * (240.0f / temp_f30)); } -void fn_1_2AFC(void) -{ +void fn_1_2AFC(void) { s16 temp_r3; HuWinInit(1); @@ -670,7 +683,7 @@ void fn_1_2AFC(void) HuWinMesSpeedSet(temp_r3, 3); while (TRUE) { - HuWinMesSet(temp_r3, MAKE_MESSID(0x20, 0x11)); + HuWinMesSet(temp_r3, 0x200011); HuWinMesWait(temp_r3); } } @@ -679,65 +692,12 @@ void fn_1_2AFC(void) // unreferenced data u8 lbl_1_data_322[54] = { - 255, - 255, - 255, - 255, - 0, - 0, - 60, - 68, - 155, - 166, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 60, - 68, - 155, - 166, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 63, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 63, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 255, 255, 255, 255, 0, 0, 60, 68, 155, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 68, 155, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, }; // -------------------------------------------------------------------------- // -void fn_1_2B68(ModelData *mdl, Mtx arg1) +void fn_1_2B68(ModelData * mdl, Mtx arg1) { GXColor sp17; Mtx sp150; @@ -748,7 +708,7 @@ void fn_1_2B68(ModelData *mdl, Mtx arg1) GXTexObj sp30; f32 sp18[2][3]; Mtx44 sp50; - AnimBmpData *sp10; + AnimBmpData * sp10; f32 temp_f31; f32 var_f30; // ! - uninitialized f32 var_f29; // ! - uninitialized @@ -756,7 +716,7 @@ void fn_1_2B68(ModelData *mdl, Mtx arg1) f32 var_f27; // ! - uninitialized if (!lbl_1_bss_30[0]) { - lbl_1_bss_30[0] = HuMemDirectMallocNum(HEAP_SYSTEM, FB_SIZE(640, 480), MEMORY_DEFAULT_NUM); + lbl_1_bss_30[0] = HuMemDirectMallocNum(HEAP_SYSTEM, FB_SIZE(640, 480), 0x10000000); } GXSetTexCopySrc(0, 0, 640, 480); @@ -772,19 +732,24 @@ void fn_1_2B68(ModelData *mdl, Mtx arg1) GXSetVtxDesc(GX_VA_POS, GX_DIRECT); GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); GXSetVtxDesc(GX_VA_NRM, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0U); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0U); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0U); GXSetCullMode(GX_CULL_NONE); GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE); GXSetNumTexGens(1); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY); + GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3CU, 0U, 0x7DU); GXSetNumTevStages(1); - sp17.r = sp17.g = sp17.b = sp17.a = 255; + sp17.r = + sp17.g = + sp17.b = + sp17.a = 255; GXSetChanMatColor(GX_COLOR0A0, sp17); - sp17.r = sp17.g = sp17.b = 128; + sp17.r = + sp17.g = + sp17.b = 128; sp17.a = 255; GXSetChanAmbColor(GX_COLOR0A0, sp17); @@ -794,10 +759,10 @@ void fn_1_2B68(ModelData *mdl, Mtx arg1) GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); GXSetAlphaCompare(GX_GEQUAL, 1U, GX_AOP_AND, GX_GEQUAL, 1U); GXSetZCompLoc(0U); - MTXIdentity(arg1); + PSMTXIdentity(arg1); GXLoadPosMtxImm(arg1, 0U); - MTXInvXpose(arg1, sp90); + PSMTXInvXpose(arg1, sp90); GXLoadNrmMtxImm(sp90, 0); GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); @@ -811,7 +776,7 @@ void fn_1_2B68(ModelData *mdl, Mtx arg1) GXLoadTexObj(&sp30, GX_TEXMAP0); GXSetNumIndStages(1U); - MTXScale(sp150, 0.1f, 0.1f, 0.0f); + PSMTXScale(sp150, 0.1f, 0.1f, 0.0f); sp18[0][0] = sp150[0][0]; sp18[0][1] = sp150[0][1]; sp18[0][2] = 0.0f; @@ -819,12 +784,12 @@ void fn_1_2B68(ModelData *mdl, Mtx arg1) sp18[1][1] = sp150[1][1]; sp18[1][2] = 0.0f; - MTXRotRad(spF0, 0x58, -1.5707964f); + PSMTXRotRad(spF0, 0x58, -1.5707964f); mtxRot(spF0, 0.0f, 0.0f, 0.0f); temp_f31 = 0.0015625f; - MTXScale(sp120, temp_f31, temp_f31, temp_f31); - MTXConcat(sp120, spF0, sp150); - MTXTrans(spC0, 0.5f, 0.0f, 0.5f); + PSMTXScale(sp120, temp_f31, temp_f31, temp_f31); + PSMTXConcat(sp120, spF0, sp150); + PSMTXTrans(spC0, 0.5f, 0.0f, 0.5f); GXLoadTexMtxImm(sp150, 0x1EU, GX_MTX2x4); GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, 0x1EU, 0U, 0x7DU); GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD0, GX_TEXMAP1); diff --git a/src/REL/modeltestDll/modeltest00.c b/src/REL/modeltestDll/modeltest00.c index 03f4fd71..9438febb 100644 --- a/src/REL/modeltestDll/modeltest00.c +++ b/src/REL/modeltestDll/modeltest00.c @@ -1,28 +1,27 @@ -#include "game/chrman.h" -#include "game/pad.h" -#include "game/wipe.h" #include "math.h" - +#include "game/chrman.h" +#include "game/wipe.h" +#include "game/pad.h" #include "REL/modeltestDll.h" // -------------------------------------------------------------------------- // -omObjData *unk_bss_9FC; -omObjData *lbl_1_bss_9F8; -omObjData *lbl_1_bss_9F4; +omObjData * unk_bss_9FC; +omObjData * lbl_1_bss_9F8; +omObjData * lbl_1_bss_9F4; s16 lbl_1_bss_9EC[4]; s16 lbl_1_bss_9AC[4][8]; -Process *lbl_1_bss_9A8; -u16 lbl_1_data_358[4] = { 1, 2, 4, 8 }; +Process * lbl_1_bss_9A8; +u16 lbl_1_data_358[4] = {1, 2, 4, 8}; // -------------------------------------------------------------------------- // void fn_1_34B0() { - Process *temp_r30; + Process * temp_r30; s16 var_r31; - + OSReport("******* MODELTESTObjectSetup *********\n"); temp_r30 = omInitObjMan(0x32, 0x2000); @@ -34,7 +33,8 @@ void fn_1_34B0() Center.z = 0.0f; CZoom = 400.0f; - for (var_r31 = 0; var_r31 < 4; ++var_r31) { + for (var_r31 = 0; var_r31 < 4; ++var_r31) + { Hu3DCameraCreate(lbl_1_data_358[var_r31]); Hu3DCameraPerspectiveSet(lbl_1_data_358[var_r31], 45.0f, 20.0f, 20000.0f, 1.2f); Hu3DCameraViewportSet(lbl_1_data_358[var_r31], (var_r31 & 1) * 320, ((var_r31 & 2) != 0) ? 0xF0 : 0, 320.0f, 240.0f, 0.0f, 1.0f); @@ -51,8 +51,7 @@ void fn_1_34B0() // -------------------------------------------------------------------------- // -static inline void HuControlCamCenter(Vec *sp18, Vec *sp30) -{ +static inline void HuControlCamCenter(Point3d *sp18, Point3d *sp30) { s8 temp_r28; temp_r28 = HuPadSubStkX[0] & 0xF8; @@ -61,7 +60,7 @@ static inline void HuControlCamCenter(Vec *sp18, Vec *sp30) Center.y += 0.05f * (sp30->y * temp_r28); Center.z += 0.05f * (sp30->z * temp_r28); } - VECNormalize(sp18, sp30); + PSVECNormalize(sp18, sp30); temp_r28 = -(HuPadSubStkY[0] & 0xF8); if (temp_r28 != 0) { Center.x += 0.05f * (sp30->x * temp_r28); @@ -74,12 +73,12 @@ static inline void HuControlCamCenter(Vec *sp18, Vec *sp30) void fn_1_37DC(omObjData *) { - Vec sp3C; - Vec sp30; - Vec sp24; - Vec sp18; + Point3d sp3C; + Point3d sp30; + Point3d sp24; + Point3d sp18; float temp_f31; - + if ((HuPadBtnDown[0] & PAD_BUTTON_START) != 0) { if (lbl_1_bss_9A8) { HuPrcKill(lbl_1_bss_9A8); @@ -104,78 +103,79 @@ void fn_1_37DC(omObjData *) CZoom += HuPadTrigL[0] / 2; CZoom -= HuPadTrigR[0] / 2; - sp3C.x = Center.x + CZoom * (sind(CRot.y) * cosd(CRot.x)); - sp3C.y = Center.y + CZoom * -sind(CRot.x); - sp3C.z = Center.z + CZoom * (cosd(CRot.y) * cosd(CRot.x)); + sp3C.x = Center.x + (CZoom * (sin((M_PI * CRot.y) / 180.0) * cos((M_PI * CRot.x) / 180.0))); + sp3C.y = (Center.y + (CZoom * -sin((M_PI * CRot.x) / 180.0))); + sp3C.z = (Center.z + (CZoom * (cos((M_PI * CRot.y) / 180.0) * cos((M_PI * CRot.x) / 180.0)))); sp30.x = Center.x - sp3C.x; sp30.y = Center.y - sp3C.y; sp30.z = Center.z - sp3C.z; - sp24.x = sind(CRot.y) * sind(CRot.x); - sp24.y = cosd(CRot.x); - sp24.z = cosd(CRot.y) * sind(CRot.x); + sp24.x = (sin((M_PI * CRot.y) / 180.0) * sin((M_PI * CRot.x) / 180.0)); + sp24.y = cos((M_PI * CRot.x) / 180.0); + sp24.z = (cos((M_PI * CRot.y) / 180.0) * sin((M_PI * CRot.x) / 180.0)); temp_f31 = CRot.z; + + sp18.x = sp24.x * (sp30.x * sp30.x + (1.0f - sp30.x * sp30.x) * cos((M_PI * temp_f31) / 180.0)) + + sp24.y * (sp30.x * sp30.y * (1.0f - cos((M_PI * temp_f31) / 180.0)) - sp30.z * sin((M_PI * temp_f31) / 180.0)) + + sp24.z * (sp30.x * sp30.z * (1.0f - cos((M_PI * temp_f31) / 180.0)) + sp30.y * sin((M_PI * temp_f31) / 180.0)); - sp18.x = sp24.x * (sp30.x * sp30.x + (1.0f - sp30.x * sp30.x) * cosd(temp_f31)) - + sp24.y * (sp30.x * sp30.y * (1.0f - cosd(temp_f31)) - sp30.z * sind(temp_f31)) - + sp24.z * (sp30.x * sp30.z * (1.0f - cosd(temp_f31)) + sp30.y * sind(temp_f31)); + sp18.y = sp24.y * (sp30.y * sp30.y + (1.0f - sp30.y * sp30.y) * cos((M_PI * temp_f31) / 180.0)) + + sp24.x * (sp30.x * sp30.y * (1.0f - cos((M_PI * temp_f31) / 180.0)) + sp30.z * sin((M_PI * temp_f31) / 180.0)) + + sp24.z * (sp30.y * sp30.z * (1.0f - cos((M_PI * temp_f31) / 180.0)) - sp30.x * sin((M_PI * temp_f31) / 180.0)); + + sp18.z = sp24.z * (sp30.z * sp30.z + (1.0f - sp30.z * sp30.z) * cos((M_PI * temp_f31) / 180.0)) + + (sp24.x * (sp30.x * sp30.z * (1.0 - cos((M_PI * temp_f31) / 180.0)) - sp30.y * sin((M_PI * temp_f31) / 180.0)) + + sp24.y * (sp30.y * sp30.z * (1.0 - cos((M_PI * temp_f31) / 180.0)) + sp30.x * sin((M_PI * temp_f31) / 180.0))); - sp18.y = sp24.y * (sp30.y * sp30.y + (1.0f - sp30.y * sp30.y) * cosd(temp_f31)) - + sp24.x * (sp30.x * sp30.y * (1.0f - cosd(temp_f31)) + sp30.z * sind(temp_f31)) - + sp24.z * (sp30.y * sp30.z * (1.0f - cosd(temp_f31)) - sp30.x * sind(temp_f31)); - - sp18.z = sp24.z * (sp30.z * sp30.z + (1.0f - sp30.z * sp30.z) * cosd(temp_f31)) - + (sp24.x * (sp30.x * sp30.z * (1.0 - cosd(temp_f31)) - sp30.y * sind(temp_f31)) - + sp24.y * (sp30.y * sp30.z * (1.0 - cosd(temp_f31)) + sp30.x * sind(temp_f31))); - - VECCrossProduct(&sp24, &sp30, &sp30); - VECNormalize(&sp30, &sp30); + PSVECCrossProduct(&sp24, &sp30, &sp30); + PSVECNormalize(&sp30, &sp30); HuControlCamCenter(&sp18, &sp30); } // -------------------------------------------------------------------------- // -void fn_1_439C(omObjData *) +void fn_1_439C(omObjData * ) { s16 var_r31; f32 temp_f30; f32 temp_f31; f32 sp10; - Vec sp2C; - Vec sp20; - Vec sp14; - for (var_r31 = 0; var_r31 < 4; ++var_r31) { + Point3d sp2C; + Point3d sp20; + Point3d sp14; + for (var_r31 = 0; var_r31 < 4; ++var_r31) + { temp_f31 = CRot.x; temp_f30 = CRot.y + (var_r31 * 90); sp10 = CRot.z; - sp2C.x = Center.x + CZoom * (sind(temp_f30) * (cosd(temp_f31))); - sp2C.y = Center.y + CZoom * -sind(temp_f31); - sp2C.z = Center.z + CZoom * (cosd(temp_f30) * (cosd(temp_f31))); - + sp2C.x = Center.x + (CZoom * (sin((M_PI * temp_f30) / 180.0) * (cos((M_PI * temp_f31) / 180.0)))); + sp2C.y = Center.y + (CZoom * -sin((M_PI * temp_f31) / 180.0)); + sp2C.z = Center.z + (CZoom * (cos((M_PI * temp_f30) / 180.0) * (cos((M_PI * temp_f31) / 180.0)))); + sp20.x = Center.x; sp20.y = Center.y; sp20.z = Center.z; - sp14.x = sind(temp_f30) * (sind(temp_f31)); - sp14.y = cosd(temp_f31); - sp14.z = cosd(temp_f30) * (sind(temp_f31)); + sp14.x = sin((M_PI * temp_f30) / 180.0) * (sin((M_PI * temp_f31) / 180.0)); + sp14.y = cos((M_PI * temp_f31) / 180.0); + sp14.z = cos((M_PI * temp_f30) / 180.0) * (sin((M_PI * temp_f31) / 180.0)); - Hu3DCameraPosSet(lbl_1_data_358[var_r31], sp2C.x, sp2C.y, sp2C.z, sp14.x, sp14.y, sp14.z, sp20.x, sp20.y, sp20.z); + Hu3DCameraPosSet(lbl_1_data_358[var_r31], sp2C.x, sp2C.y, sp2C.z, sp14.x, sp14.y, sp14.z, sp20.x, sp20.y, sp20.z); } } // -------------------------------------------------------------------------- // -const Vec lbl_1_rodata_18C = { 0.0f, 0.0f, 0.0f }; -const Vec lbl_1_rodata_198 = { 0.0f, 1.0f, 0.0f }; +const Point3d lbl_1_rodata_18C = {0.0f, 0.0f, 0.0f}; +const Point3d lbl_1_rodata_198 = {0.0f, 1.0f, 0.0f}; // -------------------------------------------------------------------------- // void fn_1_46F0(void) { - Vec sp20; - Vec sp14; - Vec sp8; + Point3d sp20; + Point3d sp14; + Point3d sp8; s16 var_r31; s16 var_r30; @@ -192,29 +192,33 @@ void fn_1_46F0(void) sp20.z = 1000.0f; Hu3DShadowPosSet(&sp20, &sp8, &sp14); - for (var_r31 = 0; var_r31 < 4; ++var_r31) { + for (var_r31 = 0; var_r31 < 4; ++var_r31) + { var_r30 = var_r31; lbl_1_bss_9EC[var_r31] = CharModelCreate(var_r30, 8); Hu3DModelShadowSet(lbl_1_bss_9EC[var_r31]); - lbl_1_bss_9AC[var_r31][0] = CharModelMotionCreate(var_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02)); + lbl_1_bss_9AC[var_r31][0] = CharModelMotionCreate(var_r30, 0x5F0002); CharModelMotionSet(var_r30, lbl_1_bss_9AC[var_r31][0]); - Hu3DModelAttrSet(lbl_1_bss_9EC[var_r31], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(lbl_1_bss_9EC[var_r31], 0x40000001U); Hu3DModelCameraSet(lbl_1_bss_9EC[var_r31], lbl_1_data_358[var_r31]); - Hu3DModelPosSet(lbl_1_bss_9EC[var_r31], (((var_r31 / 4) * 200) - 100), 0.0f, (-(var_r31 % 4) * 150)); + Hu3DModelPosSet(lbl_1_bss_9EC[var_r31], ((( var_r31 / 4) * 200) - 100), 0.0f, (-( var_r31 % 4) * 150)); Hu3DModelPosSet(lbl_1_bss_9EC[var_r31], 0.0f, 0.0f, 0.0f); CharModelMotionDataClose(var_r30); } - var_r31 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_SAF, 0x24)); + var_r31 = Hu3DModelCreateFile(0x700024); Hu3DModelScaleSet(var_r31, 5.0f, 5.0f, 5.0f); Hu3DModelShadowMapSet(var_r31); - while (TRUE) { + while (TRUE) + { if ((HuPadBtnDown[0] & PAD_BUTTON_Y) != 0) { Hu3DCameraKill(2); Hu3DCameraKill(4); Hu3DCameraKill(8); - sp20.x = sp20.z = sp20.y = 0.0f; + sp20.x = + sp20.z = + sp20.y = 0.0f; sp20.y += 200.0f; CharModelCoinEffectCreate(4, &sp20); } @@ -224,4 +228,4 @@ void fn_1_46F0(void) // -------------------------------------------------------------------------- // -// -------------------------------------------------------------------------- // +// -------------------------------------------------------------------------- // \ No newline at end of file diff --git a/src/REL/modeltestDll/modeltest01.c b/src/REL/modeltestDll/modeltest01.c index f9388244..d30e6c6a 100644 --- a/src/REL/modeltestDll/modeltest01.c +++ b/src/REL/modeltestDll/modeltest01.c @@ -1,26 +1,26 @@ -#include "game/hsfdraw.h" -#include "game/hsfload.h" -#include "game/hsfman.h" #include "game/object.h" +#include "game/hsfman.h" +#include "game/hsfload.h" +#include "game/hsfdraw.h" #include "game/printfunc.h" #include "game/hsfmotion.h" +#include "game/wipe.h" #include "game/audio.h" -#include "game/gamework_data.h" #include "game/msm.h" #include "game/pad.h" #include "game/process.h" -#include "game/wipe.h" +#include "game/gamework_data.h" -#include "ext_math.h" #include "math.h" +#include "ext_math.h" typedef struct unk_bss_a18 { - u32 unk0; - Vec unk4; - Vec unk10; - u8 unk1C[0x88]; + u32 unk0; + Vec unk4; + Vec unk10; + u8 unk1C[0x88]; } UnkBssA18; omObjData *lbl_1_bss_AC4; @@ -40,610 +40,714 @@ void fn_1_5DA8(void); void fn_1_6AE0(ModelData *model, Mtx mtx); void fn_1_83B4(void); -static const Vec lbl_1_rodata_1C8 = { 0.0f, 0.0f, 0.0f }; -static const Vec lbl_1_rodata_1D4 = { 0.0f, 0.0f, -1.0f }; + +static const Vec lbl_1_rodata_1C8 = {0.0f, 0.0f, 0.0f}; +static const Vec lbl_1_rodata_1D4 = {0.0f, 0.0f, -1.0f}; void fn_1_4AC8(void) { - Vec sp14; - Vec sp8; - Process *objman; - OSReport("******* MODELTESTObjectSetup *********\n"); - objman = omInitObjMan(50, 8192); - CRot.x = -22; - CRot.y = 0; - CRot.z = 0; - Center.x = 0; - Center.y = 100; - Center.z = 0; - CZoom = 400; - Hu3DCameraCreate(1); - lbl_1_bss_A0C = 45; - Hu3DCameraPerspectiveSet(1, lbl_1_bss_A0C, 20, 5000, 1.2f); - Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); - Hu3DCameraScissorSet(1, 0, 0, 640, 480); - lbl_1_bss_ABC = omAddObjEx(objman, 0, 32, 32, -1, fn_1_4DF8); - lbl_1_bss_AC0 = omAddObjEx(objman, 32730, 0, 0, -1, fn_1_5A60); - lbl_1_bss_A00 = HuPrcCreate(fn_1_5DA8, 100, 8192, 0); - Hu3DBGColorSet(16, 16, 16); - Hu3DHookFuncCreate(fn_1_6AE0); - HuPrcChildCreate(fn_1_83B4, 100, 12288, 0, objman); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - sp14 = lbl_1_rodata_1C8; - sp8 = lbl_1_rodata_1D4; - lbl_1_bss_A18.unk0 = 64; - lbl_1_bss_A18.unk10.x = 0; - lbl_1_bss_A18.unk10.y = 0; - lbl_1_bss_A18.unk10.z = 0; - msmSeSetListener(&sp14, &sp8, 2000, 1000, 0); + Vec sp14; + Vec sp8; + Process *objman; + OSReport("******* MODELTESTObjectSetup *********\n"); + objman = omInitObjMan(50, 8192); + CRot.x = -22; + CRot.y = 0; + CRot.z = 0; + Center.x = 0; + Center.y = 100; + Center.z = 0; + CZoom = 400; + Hu3DCameraCreate(1); + lbl_1_bss_A0C = 45; + Hu3DCameraPerspectiveSet(1, lbl_1_bss_A0C, 20, 5000, 1.2f); + Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); + Hu3DCameraScissorSet(1, 0, 0, 640, 480); + lbl_1_bss_ABC = omAddObjEx(objman, 0, 32, 32, -1, fn_1_4DF8); + lbl_1_bss_AC0 = omAddObjEx(objman, 32730, 0, 0, -1, fn_1_5A60); + lbl_1_bss_A00 = HuPrcCreate(fn_1_5DA8, 100, 8192, 0); + Hu3DBGColorSet(16, 16, 16); + Hu3DHookFuncCreate(fn_1_6AE0); + HuPrcChildCreate(fn_1_83B4, 100, 12288, 0, objman); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); + sp14 = lbl_1_rodata_1C8; + sp8 = lbl_1_rodata_1D4; + lbl_1_bss_A18.unk0 = 64; + lbl_1_bss_A18.unk10.x = 0; + lbl_1_bss_A18.unk10.y = 0; + lbl_1_bss_A18.unk10.z = 0; + msmSeSetListener(&sp14, &sp8, 2000, 1000, 0); } void fn_1_4DF8(omObjData *object) { - float temp_f31; - Vec pos; + float temp_f31; + Vec pos; Vec offset; Vec dir; Vec y_offset; - s8 temp_r31; + s8 temp_r31; + + if(HuPadBtnDown[0] & PAD_BUTTON_START) { + if(lbl_1_bss_A00) { + HuPrcKill(lbl_1_bss_A00); + } + if(lbl_1_bss_A04) { + HuPrcKill(lbl_1_bss_A04); + } + HuAudFXListnerKill(); + omOvlReturnEx(1, 1); + return; + } + CRot.y += 0.1f*HuPadStkX[0]; + CRot.x += 0.1f*HuPadStkY[0]; + CZoom += HuPadTrigL[0]/2; + CZoom -= HuPadTrigR[0]/2; + if(CZoom < 100) { + CZoom = 100; + } + if(CZoom > 2000) { + CZoom = 2000; + } + pos.x = Center.x + (CZoom * (sind(CRot.y) * cosd(CRot.x))); + pos.y = (Center.y + (CZoom * -sind(CRot.x))); + pos.z = (Center.z + (CZoom * (cosd(CRot.y) * cosd(CRot.x)))); + offset.x = Center.x - pos.x; + offset.y = Center.y - pos.y; + offset.z = Center.z - pos.z; + dir.x = (sind(CRot.y) * sind(CRot.x)); + dir.y = cosd(CRot.x); + dir.z = (cosd(CRot.y) * sind(CRot.x)); + temp_f31 = CRot.z; + y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cosd(temp_f31)) + + dir.y * (offset.x * offset.y * (1.0f - cosd(temp_f31)) - offset.z * sind(temp_f31)) + + dir.z * (offset.x * offset.z * (1.0f - cosd(temp_f31)) + offset.y * sind(temp_f31)); - if (HuPadBtnDown[0] & PAD_BUTTON_START) { - if (lbl_1_bss_A00) { - HuPrcKill(lbl_1_bss_A00); - } - if (lbl_1_bss_A04) { - HuPrcKill(lbl_1_bss_A04); - } - HuAudFXListnerKill(); - omOvlReturnEx(1, 1); - return; - } - CRot.y += 0.1f * HuPadStkX[0]; - CRot.x += 0.1f * HuPadStkY[0]; - CZoom += HuPadTrigL[0] / 2; - CZoom -= HuPadTrigR[0] / 2; - if (CZoom < 100) { - CZoom = 100; - } - if (CZoom > 2000) { - CZoom = 2000; - } - pos.x = Center.x + (CZoom * (sind(CRot.y) * cosd(CRot.x))); - pos.y = (Center.y + (CZoom * -sind(CRot.x))); - pos.z = (Center.z + (CZoom * (cosd(CRot.y) * cosd(CRot.x)))); - offset.x = Center.x - pos.x; - offset.y = Center.y - pos.y; - offset.z = Center.z - pos.z; - dir.x = (sind(CRot.y) * sind(CRot.x)); - dir.y = cosd(CRot.x); - dir.z = (cosd(CRot.y) * sind(CRot.x)); - temp_f31 = CRot.z; - y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cosd(temp_f31)) - + dir.y * (offset.x * offset.y * (1.0f - cosd(temp_f31)) - offset.z * sind(temp_f31)) - + dir.z * (offset.x * offset.z * (1.0f - cosd(temp_f31)) + offset.y * sind(temp_f31)); - - y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cosd(temp_f31)) - + dir.x * (offset.x * offset.y * (1.0f - cosd(temp_f31)) + offset.z * sind(temp_f31)) - + dir.z * (offset.y * offset.z * (1.0f - cosd(temp_f31)) - offset.x * sind(temp_f31)); - - y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cosd(temp_f31)) - + (dir.x * (offset.x * offset.z * (1.0 - cosd(temp_f31)) - offset.y * sind(temp_f31)) - + dir.y * (offset.y * offset.z * (1.0 - cosd(temp_f31)) + offset.x * sind(temp_f31))); - VECCrossProduct(&dir, &offset, &offset); - VECNormalize(&offset, &offset); - temp_r31 = (HuPadSubStkX[0] & 0xF8); - if (temp_r31 != 0) { - Center.x += 0.05f * (offset.x * temp_r31); - Center.y += 0.05f * (offset.y * temp_r31); - Center.z += 0.05f * (offset.z * temp_r31); - } - VECNormalize(&y_offset, &offset); - temp_r31 = -(HuPadSubStkY[0] & 0xF8); - if (temp_r31 != 0) { - Center.x += 0.05f * (offset.x * temp_r31); - Center.y += 0.05f * (offset.y * temp_r31); - Center.z += 0.05f * (offset.z * temp_r31); - } - Hu3DCameraPerspectiveSet(1, lbl_1_bss_A0C, 20, 5000, 1.2f); + y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cosd(temp_f31)) + + dir.x * (offset.x * offset.y * (1.0f - cosd(temp_f31)) + offset.z * sind(temp_f31)) + + dir.z * (offset.y * offset.z * (1.0f - cosd(temp_f31)) - offset.x * sind(temp_f31)); + + y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cosd(temp_f31)) + + (dir.x * (offset.x * offset.z * (1.0 - cosd(temp_f31)) - offset.y * sind(temp_f31)) + + dir.y * (offset.y * offset.z * (1.0 - cosd(temp_f31)) + offset.x * sind(temp_f31))); + VECCrossProduct(&dir, &offset, &offset); + VECNormalize(&offset, &offset); + temp_r31 = (HuPadSubStkX[0] & 0xF8); + if (temp_r31 != 0) { + Center.x += 0.05f * (offset.x * temp_r31); + Center.y += 0.05f * (offset.y * temp_r31); + Center.z += 0.05f * (offset.z * temp_r31); + } + PSVECNormalize(&y_offset, &offset); + temp_r31 = -(HuPadSubStkY[0] & 0xF8); + if (temp_r31 != 0) { + Center.x += 0.05f * (offset.x * temp_r31); + Center.y += 0.05f * (offset.y * temp_r31); + Center.z += 0.05f * (offset.z * temp_r31); + } + Hu3DCameraPerspectiveSet(1, lbl_1_bss_A0C, 20, 5000, 1.2f); } void fn_1_5A60(omObjData *object) { - Mtx rotAxis; - Vec pos, target, up; - float x, y, z; - - x = CRot.x; - y = CRot.y; - z = CRot.z; - - pos.x = (((sind(y) * cosd(x)) * CZoom) + Center.x); - pos.y = (-sind(x) * CZoom) + Center.y; - pos.z = ((cosd(y) * cosd(x)) * CZoom) + Center.z; - target.x = Center.x; - target.y = Center.y; - target.z = Center.z; - up.x = sind(y) * sind(x); - up.y = cosd(x); - up.z = cosd(y) * sind(x); - Hu3DCameraPosSet(1, pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z); - MTXRotDeg(rotAxis, 'y', -y); - MTXMultVec(rotAxis, &pos, &up); - VECSubtract(&target, &pos, &up); - VECNormalize(&up, &up); - HuAudFXListnerUpdate(&pos, &up); + Mtx rotAxis; + Vec pos, target, up; + float x, y, z; + + x = CRot.x; + y = CRot.y; + z = CRot.z; + + pos.x = (((sind(y)*cosd(x))*CZoom)+Center.x); + pos.y = (-sind(x)*CZoom)+Center.y; + pos.z = ((cosd(y)*cosd(x))*CZoom)+Center.z; + target.x = Center.x; + target.y = Center.y; + target.z = Center.z; + up.x = sind(y)*sind(x); + up.y = cosd(x); + up.z = cosd(y)*sind(x); + Hu3DCameraPosSet(1, pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z); + MTXRotDeg(rotAxis, 'y', -y); + MTXMultVec(rotAxis, &pos, &up); + VECSubtract(&target, &pos, &up); + VECNormalize(&up, &up); + HuAudFXListnerUpdate(&pos, &up); } -u32 lbl_1_data_3B0[] = { DATA_MAKE_NUM(DATADIR_MARIOMDL0, 0x00), 0x00000000, DATA_MAKE_NUM(DATADIR_MARIOMDL1, 0x00), 0x00000000, - DATA_MAKE_NUM(DATADIR_MARIOMDL1, 0x01), 0x00000000, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x06), 0x00000001, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - 0x00000001, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02), 0x00000001, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03), 0x00000001, - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x05), 0x00000000, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), 0x00000000, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18), - 0x00000000, 0x00000000, 0x00000000 }; +u32 lbl_1_data_3B0[] = { + 0x005D0000, 0x00000000, + 0x005E0000, 0x00000000, + 0x005E0001, 0x00000000, + 0x005F0006, 0x00000001, + 0x005F0000, 0x00000001, + 0x005F0002, 0x00000001, + 0x005F0003, 0x00000001, + 0x005F0005, 0x00000000, + 0x005F0017, 0x00000000, + 0x005F0018, 0x00000000, + 0x00000000, 0x00000000 +}; -u32 lbl_1_data_408[] = { DATA_MAKE_NUM(DATADIR_LUIGI, 0x00), 0x00000000, DATA_MAKE_NUM(DATADIR_LUIGI, 0x02), 0x00000000, - DATA_MAKE_NUM(DATADIR_LUIGI, 0x03), 0x00000000, DATA_MAKE_NUM(DATADIR_LUIGI, 0x0D), 0x00000001, DATA_MAKE_NUM(DATADIR_LUIGI, 0x05), 0x00000001, - DATA_MAKE_NUM(DATADIR_LUIGI, 0x07), 0x00000001, DATA_MAKE_NUM(DATADIR_LUIGI, 0x08), 0x00000001, DATA_MAKE_NUM(DATADIR_LUIGI, 0x0C), 0x00000000, - DATA_MAKE_NUM(DATADIR_LUIGI, 0x28), 0x00000000, DATA_MAKE_NUM(DATADIR_LUIGI, 0x29), 0x00000000, 0x00000000, 0x00000000 }; +u32 lbl_1_data_408[] = { + 0x00170000, 0x00000000, + 0x00170002, 0x00000000, + 0x00170003, 0x00000000, + 0x0017000D, 0x00000001, + 0x00170005, 0x00000001, + 0x00170007, 0x00000001, + 0x00170008, 0x00000001, + 0x0017000C, 0x00000000, + 0x00170028, 0x00000000, + 0x00170029, 0x00000000, + 0x00000000, 0x00000000 +}; -u32 lbl_1_data_460[] = { DATA_MAKE_NUM(DATADIR_PEACH, 0x00), 0x00000000, DATA_MAKE_NUM(DATADIR_PEACH, 0x02), 0x00000000, - DATA_MAKE_NUM(DATADIR_PEACH, 0x03), 0x00000000, DATA_MAKE_NUM(DATADIR_PEACH, 0x0D), 0x00000001, DATA_MAKE_NUM(DATADIR_PEACH, 0x05), 0x00000001, - DATA_MAKE_NUM(DATADIR_PEACH, 0x07), 0x00000001, DATA_MAKE_NUM(DATADIR_PEACH, 0x08), 0x00000001, DATA_MAKE_NUM(DATADIR_PEACH, 0x0C), 0x00000000, - DATA_MAKE_NUM(DATADIR_PEACH, 0x28), 0x00000000, DATA_MAKE_NUM(DATADIR_PEACH, 0x29), 0x00000000, 0x00000000, 0x00000000 }; +u32 lbl_1_data_460[] = { + 0x006A0000, 0x00000000, + 0x006A0002, 0x00000000, + 0x006A0003, 0x00000000, + 0x006A000D, 0x00000001, + 0x006A0005, 0x00000001, + 0x006A0007, 0x00000001, + 0x006A0008, 0x00000001, + 0x006A000C, 0x00000000, + 0x006A0028, 0x00000000, + 0x006A0029, 0x00000000, + 0x00000000, 0x00000000 +}; -u32 lbl_1_data_4B8[] = { DATA_MAKE_NUM(DATADIR_YOSHI, 0x00), 0x00000000, DATA_MAKE_NUM(DATADIR_YOSHI, 0x02), 0x00000000, - DATA_MAKE_NUM(DATADIR_YOSHI, 0x03), 0x00000000, DATA_MAKE_NUM(DATADIR_YOSHI, 0x0D), 0x00000001, DATA_MAKE_NUM(DATADIR_YOSHI, 0x05), 0x00000001, - DATA_MAKE_NUM(DATADIR_YOSHI, 0x07), 0x00000001, DATA_MAKE_NUM(DATADIR_YOSHI, 0x08), 0x00000001, DATA_MAKE_NUM(DATADIR_YOSHI, 0x0C), 0x00000000, - DATA_MAKE_NUM(DATADIR_YOSHI, 0x28), 0x00000000, DATA_MAKE_NUM(DATADIR_YOSHI, 0x29), 0x00000000, 0x00000000, 0x00000000 }; +u32 lbl_1_data_4B8[] = { + 0x00870000, 0x00000000, + 0x00870002, 0x00000000, + 0x00870003, 0x00000000, + 0x0087000D, 0x00000001, + 0x00870005, 0x00000001, + 0x00870007, 0x00000001, + 0x00870008, 0x00000001, + 0x0087000C, 0x00000000, + 0x00870028, 0x00000000, + 0x00870029, 0x00000000, + 0x00000000, 0x00000000 +}; -u32 lbl_1_data_510[] = { DATA_MAKE_NUM(DATADIR_WARIO, 0x00), 0x00000000, DATA_MAKE_NUM(DATADIR_WARIO, 0x02), 0x00000000, - DATA_MAKE_NUM(DATADIR_WARIO, 0x03), 0x00000000, DATA_MAKE_NUM(DATADIR_WARIO, 0x0D), 0x00000001, DATA_MAKE_NUM(DATADIR_WARIO, 0x05), 0x00000001, - DATA_MAKE_NUM(DATADIR_WARIO, 0x07), 0x00000001, DATA_MAKE_NUM(DATADIR_WARIO, 0x08), 0x00000001, DATA_MAKE_NUM(DATADIR_WARIO, 0x0C), 0x00000000, - DATA_MAKE_NUM(DATADIR_WARIO, 0x28), 0x00000000, DATA_MAKE_NUM(DATADIR_WARIO, 0x29), 0x00000000, 0x00000000, 0x00000000 }; +u32 lbl_1_data_510[] = { + 0x00820000, 0x00000000, + 0x00820002, 0x00000000, + 0x00820003, 0x00000000, + 0x0082000D, 0x00000001, + 0x00820005, 0x00000001, + 0x00820007, 0x00000001, + 0x00820008, 0x00000001, + 0x0082000C, 0x00000000, + 0x00820028, 0x00000000, + 0x00820029, 0x00000000, + 0x00000000, 0x00000000 +}; -u32 lbl_1_data_568[] = { DATA_MAKE_NUM(DATADIR_DONKEY, 0x00), 0x00000000, DATA_MAKE_NUM(DATADIR_DONKEY, 0x02), 0x00000000, - DATA_MAKE_NUM(DATADIR_DONKEY, 0x03), 0x00000000, DATA_MAKE_NUM(DATADIR_DONKEY, 0x0D), 0x00000001, DATA_MAKE_NUM(DATADIR_DONKEY, 0x05), 0x00000001, - DATA_MAKE_NUM(DATADIR_DONKEY, 0x07), 0x00000001, DATA_MAKE_NUM(DATADIR_DONKEY, 0x08), 0x00000001, DATA_MAKE_NUM(DATADIR_DONKEY, 0x0C), 0x00000000, - DATA_MAKE_NUM(DATADIR_DONKEY, 0x28), 0x00000000, DATA_MAKE_NUM(DATADIR_DONKEY, 0x29), 0x00000000, 0x00000000, 0x00000000 }; +u32 lbl_1_data_568[] = { + 0x000E0000, 0x00000000, + 0x000E0002, 0x00000000, + 0x000E0003, 0x00000000, + 0x000E000D, 0x00000001, + 0x000E0005, 0x00000001, + 0x000E0007, 0x00000001, + 0x000E0008, 0x00000001, + 0x000E000C, 0x00000000, + 0x000E0028, 0x00000000, + 0x000E0029, 0x00000000, + 0x00000000, 0x00000000 +}; -u32 lbl_1_data_5C0[] = { DATA_MAKE_NUM(DATADIR_DAISY, 0x00), 0x00000000, DATA_MAKE_NUM(DATADIR_DAISY, 0x02), 0x00000000, - DATA_MAKE_NUM(DATADIR_DAISY, 0x03), 0x00000000, DATA_MAKE_NUM(DATADIR_DAISY, 0x0D), 0x00000001, DATA_MAKE_NUM(DATADIR_DAISY, 0x05), 0x00000001, - DATA_MAKE_NUM(DATADIR_DAISY, 0x07), 0x00000001, DATA_MAKE_NUM(DATADIR_DAISY, 0x08), 0x00000001, DATA_MAKE_NUM(DATADIR_DAISY, 0x0C), 0x00000000, - DATA_MAKE_NUM(DATADIR_DAISY, 0x28), 0x00000000, DATA_MAKE_NUM(DATADIR_DAISY, 0x29), 0x00000000, 0x00000000, 0x00000000 }; +u32 lbl_1_data_5C0[] = { + 0x000A0000, 0x00000000, + 0x000A0002, 0x00000000, + 0x000A0003, 0x00000000, + 0x000A000D, 0x00000001, + 0x000A0005, 0x00000001, + 0x000A0007, 0x00000001, + 0x000A0008, 0x00000001, + 0x000A000C, 0x00000000, + 0x000A0028, 0x00000000, + 0x000A0029, 0x00000000, + 0x00000000, 0x00000000 +}; -u32 lbl_1_data_618[] - = { DATA_MAKE_NUM(DATADIR_WALUIGI, 0x00), 0x00000000, DATA_MAKE_NUM(DATADIR_WALUIGI, 0x02), 0x00000000, DATA_MAKE_NUM(DATADIR_WALUIGI, 0x03), - 0x00000000, DATA_MAKE_NUM(DATADIR_WALUIGI, 0x0D), 0x00000001, DATA_MAKE_NUM(DATADIR_WALUIGI, 0x05), 0x00000001, - DATA_MAKE_NUM(DATADIR_WALUIGI, 0x07), 0x00000001, DATA_MAKE_NUM(DATADIR_WALUIGI, 0x08), 0x00000001, DATA_MAKE_NUM(DATADIR_WALUIGI, 0x0C), - 0x00000000, DATA_MAKE_NUM(DATADIR_WALUIGI, 0x28), 0x00000000, DATA_MAKE_NUM(DATADIR_WALUIGI, 0x29), 0x00000000, 0x00000000, 0x00000000 }; +u32 lbl_1_data_618[] = { + 0x007E0000, 0x00000000, + 0x007E0002, 0x00000000, + 0x007E0003, 0x00000000, + 0x007E000D, 0x00000001, + 0x007E0005, 0x00000001, + 0x007E0007, 0x00000001, + 0x007E0008, 0x00000001, + 0x007E000C, 0x00000000, + 0x007E0028, 0x00000000, + 0x007E0029, 0x00000000, + 0x00000000, 0x00000000 +}; -u32 *lbl_1_data_670[] - = { lbl_1_data_3B0, lbl_1_data_408, lbl_1_data_460, lbl_1_data_4B8, lbl_1_data_510, lbl_1_data_568, lbl_1_data_5C0, lbl_1_data_618 }; +u32 *lbl_1_data_670[] = { + lbl_1_data_3B0, + lbl_1_data_408, + lbl_1_data_460, + lbl_1_data_4B8, + lbl_1_data_510, + lbl_1_data_568, + lbl_1_data_5C0, + lbl_1_data_618 +}; void fn_1_69C8(s16 arg0, s16 arg1, s16 arg2); void fn_1_5DA8(void) { - u32 *temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - - s32 temp_r24 = 0; - s16 sp40[3][32]; - Vec sp34; - - Vec sp28 = { 0, 0, 0 }; - Vec sp1C = { 0, 1, 0 }; - s16 sp16[3]; - s16 sp10[3]; - float spC; - s16 sp8 = 0; - Hu3DGLightCreate(0, 500, 1000, 0, -0.5, -1, 255, 255, 255); - temp_r28 = GWPlayerCfg[0].character; - temp_r31 = lbl_1_data_670[temp_r28]; - sp16[0] = Hu3DModelCreateFile(temp_r31[0]); - sp16[1] = Hu3DModelCreateFile(temp_r31[2]); - sp16[2] = Hu3DModelCreateFile(temp_r31[4]); - HuDataDirClose(temp_r31[0]); - HuDataDirClose(temp_r31[2]); - HuDataDirClose(temp_r31[4]); - temp_r27 = 0; - temp_r29 = 0; - while (1) { - if (temp_r31[(temp_r29 * 2) + 8] == 0) { - if (temp_r27 == 0) { - temp_r27 = temp_r29; - } - break; - } - if (temp_r31[(temp_r29 * 2) + 8] == 0xFFFFFFFF) { - temp_r27 = temp_r29; - } - else { - sp40[0][temp_r29] = Hu3DJointMotionFile(sp16[0], temp_r31[(temp_r29 * 2) + 8]); - sp40[1][temp_r29] = Hu3DJointMotionFile(sp16[1], temp_r31[(temp_r29 * 2) + 8]); - sp40[2][temp_r29] = Hu3DJointMotionFile(sp16[2], temp_r31[(temp_r29 * 2) + 8]); - } - temp_r29++; - } - sp10[0] = Hu3DJointMotionFile(sp16[0], temp_r31[6]); - sp10[1] = Hu3DJointMotionFile(sp16[1], temp_r31[6]); - sp10[2] = Hu3DJointMotionFile(sp16[2], temp_r31[6]); - temp_r26 = 0; - temp_r30 = 0; - Hu3DMotionSet(sp16[0], sp40[0][temp_r30]); - Hu3DModelAttrSet(sp16[0], HU3D_MOTATTR_LOOP); - Hu3DMotionSet(sp16[1], sp40[1][temp_r30]); - Hu3DModelAttrSet(sp16[1], HU3D_MOTATTR_LOOP); - Hu3DMotionSet(sp16[2], sp40[2][temp_r30]); - Hu3DModelAttrSet(sp16[2], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(sp16[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(sp16[2], HU3D_ATTR_DISPOFF); - while (1) { - temp_r25 = 0; - if (HuPadBtnDown[0] & PAD_BUTTON_X) { - temp_r30++; - if (temp_r30 >= temp_r27) { - temp_r30 = 0; - } - Hu3DMotionSet(sp16[0], sp40[0][temp_r30]); - Hu3DMotionSet(sp16[1], sp40[1][temp_r30]); - Hu3DMotionSet(sp16[2], sp40[2][temp_r30]); - if (temp_r31[(temp_r30 * 2) + 9] != 0) { - Hu3DModelAttrSet(sp16[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(sp16[1], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(sp16[2], HU3D_MOTATTR_LOOP); - } - else { - Hu3DModelAttrReset(sp16[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(sp16[1], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(sp16[2], HU3D_MOTATTR_LOOP); - } - fn_1_69C8(temp_r28, sp16[0], 0); - fn_1_69C8(temp_r28, sp16[1], 1); - fn_1_69C8(temp_r28, sp16[2], 2); - temp_r25 = 1; - } - if (HuPadBtnDown[0] & PAD_BUTTON_Y) { - temp_r30--; - if (temp_r30 < 0) { - temp_r30 = temp_r27 - 1; - } - Hu3DMotionSet(sp16[0], sp40[0][temp_r30]); - Hu3DMotionSet(sp16[1], sp40[1][temp_r30]); - Hu3DMotionSet(sp16[2], sp40[2][temp_r30]); - if (temp_r31[(temp_r30 * 2) + 9] != 0) { - Hu3DModelAttrSet(sp16[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(sp16[1], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(sp16[2], HU3D_MOTATTR_LOOP); - } - else { - Hu3DModelAttrReset(sp16[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(sp16[1], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(sp16[2], HU3D_MOTATTR_LOOP); - } - fn_1_69C8(temp_r28, sp16[0], 0); - fn_1_69C8(temp_r28, sp16[1], 1); - fn_1_69C8(temp_r28, sp16[2], 2); - temp_r25 = 1; - } - if (temp_r31[(temp_r30 * 2) + 9] == 0) { - if (HuPadBtn[0] & PAD_BUTTON_A) { - Hu3DModelAttrSet(sp16[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(sp16[1], HU3D_MOTATTR_LOOP); - Hu3DModelAttrSet(sp16[2], HU3D_MOTATTR_LOOP); - temp_r25 = 1; - } - else { - if (temp_r30 != 3 && temp_r30 != 2) { - Hu3DModelAttrReset(sp16[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(sp16[1], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(sp16[2], HU3D_MOTATTR_LOOP); - } - } - } - if (temp_r25 != 0) { - if (temp_r30 == 3) { - Hu3DMotionSet(sp16[0], sp40[0][temp_r30]); - Hu3DMotionSet(sp16[1], sp40[1][temp_r30]); - Hu3DMotionSet(sp16[2], sp40[2][temp_r30]); - Hu3DModelAttrReset(sp16[0], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(sp16[1], HU3D_MOTATTR_LOOP); - Hu3DModelAttrReset(sp16[2], HU3D_MOTATTR_LOOP); - for (temp_r29 = 0; temp_r29 <= 30; temp_r29++) { - Hu3DModelPosSet(sp16[0], 0, sind(temp_r29 * 6.0f) * 150, 0); - Hu3DModelPosSet(sp16[1], 0, sind(temp_r29 * 6.0f) * 150, 0); - Hu3DModelPosSet(sp16[2], 0, sind(temp_r29 * 6.0f) * 150, 0); - if (temp_r29 == 25) { - Hu3DMotionSet(sp16[0], sp10[0]); - Hu3DMotionSet(sp16[1], sp10[1]); - Hu3DMotionSet(sp16[2], sp10[2]); - } - HuPrcVSleep(); - } - while (!Hu3DMotionEndCheck(sp16[0])) { - HuPrcVSleep(); - } - fn_1_69C8(temp_r28, sp16[0], 0); - fn_1_69C8(temp_r28, sp16[1], 1); - fn_1_69C8(temp_r28, sp16[2], 2); - Hu3DMotionShiftSet(sp16[0], sp40[0][0], 0, 16, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSet(sp16[1], sp40[1][0], 0, 16, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSet(sp16[2], sp40[2][0], 0, 16, HU3D_MOTATTR_LOOP); - } - temp_r24 = 0; - } - sp34.x = Center.x + (CZoom * (sind(CRot.y) * cosd(CRot.x))); - sp34.y = (Center.y + (CZoom * -sind(CRot.x))); - sp34.z = (Center.z + (CZoom * (cosd(CRot.y) * cosd(CRot.x)))); - - spC = VECMag(&sp34); - if (HuPadBtnDown[0] & PAD_BUTTON_B) { - temp_r26++; - if (temp_r26 >= 3) { - temp_r26 = 0; - } - } - Hu3DModelAttrSet(sp16[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(sp16[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(sp16[2], HU3D_ATTR_DISPOFF); - switch (temp_r26) { - case 0: - Hu3DModelAttrReset(sp16[0], HU3D_ATTR_DISPOFF); - break; - - case 1: - Hu3DModelAttrReset(sp16[1], HU3D_ATTR_DISPOFF); - break; - - case 2: - Hu3DModelAttrReset(sp16[2], HU3D_ATTR_DISPOFF); - break; - } - HuPrcVSleep(); - } + u32 *temp_r31; + s16 temp_r30; + s16 temp_r29; + s16 temp_r28; + s16 temp_r27; + s16 temp_r26; + s16 temp_r25; + + s32 temp_r24 = 0; + s16 sp40[3][32]; + Vec sp34; + + Vec sp28 = { 0, 0, 0 }; + Vec sp1C = { 0, 1, 0 }; + s16 sp16[3]; + s16 sp10[3]; + float spC; + s16 sp8 = 0; + Hu3DGLightCreate(0, 500, 1000, 0, -0.5, -1, 255, 255, 255); + temp_r28 = GWPlayerCfg[0].character; + temp_r31 = lbl_1_data_670[temp_r28]; + sp16[0] = Hu3DModelCreateFile(temp_r31[0]); + sp16[1] = Hu3DModelCreateFile(temp_r31[2]); + sp16[2] = Hu3DModelCreateFile(temp_r31[4]); + HuDataDirClose(temp_r31[0]); + HuDataDirClose(temp_r31[2]); + HuDataDirClose(temp_r31[4]); + temp_r27 = 0; + temp_r29 = 0; + while(1) { + if(temp_r31[(temp_r29*2)+8] == 0) { + if(temp_r27 == 0) { + temp_r27 = temp_r29; + } + break; + } + if(temp_r31[(temp_r29*2)+8] == 0xFFFFFFFF) { + temp_r27 = temp_r29; + } else { + sp40[0][temp_r29] = Hu3DJointMotionFile(sp16[0], temp_r31[(temp_r29*2)+8]); + sp40[1][temp_r29] = Hu3DJointMotionFile(sp16[1], temp_r31[(temp_r29*2)+8]); + sp40[2][temp_r29] = Hu3DJointMotionFile(sp16[2], temp_r31[(temp_r29*2)+8]); + } + temp_r29++; + } + sp10[0] = Hu3DJointMotionFile(sp16[0], temp_r31[6]); + sp10[1] = Hu3DJointMotionFile(sp16[1], temp_r31[6]); + sp10[2] = Hu3DJointMotionFile(sp16[2], temp_r31[6]); + temp_r26 = 0; + temp_r30 = 0; + Hu3DMotionSet(sp16[0], sp40[0][temp_r30]); + Hu3DModelAttrSet(sp16[0], 0x40000001); + Hu3DMotionSet(sp16[1], sp40[1][temp_r30]); + Hu3DModelAttrSet(sp16[1], 0x40000001); + Hu3DMotionSet(sp16[2], sp40[2][temp_r30]); + Hu3DModelAttrSet(sp16[2], 0x40000001); + Hu3DModelAttrSet(sp16[1], 0x1); + Hu3DModelAttrSet(sp16[2], 0x1); + while(1) { + temp_r25 = 0; + if(HuPadBtnDown[0] & PAD_BUTTON_X) { + temp_r30++; + if(temp_r30 >= temp_r27) { + temp_r30 = 0; + } + Hu3DMotionSet(sp16[0], sp40[0][temp_r30]); + Hu3DMotionSet(sp16[1], sp40[1][temp_r30]); + Hu3DMotionSet(sp16[2], sp40[2][temp_r30]); + if(temp_r31[(temp_r30*2)+9] != 0) { + Hu3DModelAttrSet(sp16[0], 0x40000001); + Hu3DModelAttrSet(sp16[1], 0x40000001); + Hu3DModelAttrSet(sp16[2], 0x40000001); + } else { + Hu3DModelAttrReset(sp16[0], 0x40000001); + Hu3DModelAttrReset(sp16[1], 0x40000001); + Hu3DModelAttrReset(sp16[2], 0x40000001); + } + fn_1_69C8(temp_r28, sp16[0], 0); + fn_1_69C8(temp_r28, sp16[1], 1); + fn_1_69C8(temp_r28, sp16[2], 2); + temp_r25 = 1; + } + if(HuPadBtnDown[0] & PAD_BUTTON_Y) { + temp_r30--; + if(temp_r30 < 0) { + temp_r30 = temp_r27-1; + } + Hu3DMotionSet(sp16[0], sp40[0][temp_r30]); + Hu3DMotionSet(sp16[1], sp40[1][temp_r30]); + Hu3DMotionSet(sp16[2], sp40[2][temp_r30]); + if(temp_r31[(temp_r30*2)+9] != 0) { + Hu3DModelAttrSet(sp16[0], 0x40000001); + Hu3DModelAttrSet(sp16[1], 0x40000001); + Hu3DModelAttrSet(sp16[2], 0x40000001); + } else { + Hu3DModelAttrReset(sp16[0], 0x40000001); + Hu3DModelAttrReset(sp16[1], 0x40000001); + Hu3DModelAttrReset(sp16[2], 0x40000001); + } + fn_1_69C8(temp_r28, sp16[0], 0); + fn_1_69C8(temp_r28, sp16[1], 1); + fn_1_69C8(temp_r28, sp16[2], 2); + temp_r25 = 1; + } + if(temp_r31[(temp_r30*2)+9] == 0) { + if(HuPadBtn[0] & PAD_BUTTON_A) { + Hu3DModelAttrSet(sp16[0], 0x40000001); + Hu3DModelAttrSet(sp16[1], 0x40000001); + Hu3DModelAttrSet(sp16[2], 0x40000001); + temp_r25 = 1; + } else { + if(temp_r30 != 3 && temp_r30 != 2) { + Hu3DModelAttrReset(sp16[0], 0x40000001); + Hu3DModelAttrReset(sp16[1], 0x40000001); + Hu3DModelAttrReset(sp16[2], 0x40000001); + } + } + } + if(temp_r25 != 0) { + if(temp_r30 == 3) { + Hu3DMotionSet(sp16[0], sp40[0][temp_r30]); + Hu3DMotionSet(sp16[1], sp40[1][temp_r30]); + Hu3DMotionSet(sp16[2], sp40[2][temp_r30]); + Hu3DModelAttrReset(sp16[0], 0x40000001); + Hu3DModelAttrReset(sp16[1], 0x40000001); + Hu3DModelAttrReset(sp16[2], 0x40000001); + for(temp_r29=0; temp_r29<=30; temp_r29++) { + Hu3DModelPosSet(sp16[0], 0, sind(temp_r29*6.0f)*150, 0); + Hu3DModelPosSet(sp16[1], 0, sind(temp_r29*6.0f)*150, 0); + Hu3DModelPosSet(sp16[2], 0, sind(temp_r29*6.0f)*150, 0); + if(temp_r29 == 25) { + Hu3DMotionSet(sp16[0], sp10[0]); + Hu3DMotionSet(sp16[1], sp10[1]); + Hu3DMotionSet(sp16[2], sp10[2]); + } + HuPrcVSleep(); + } + while(!Hu3DMotionEndCheck(sp16[0])) { + HuPrcVSleep(); + } + fn_1_69C8(temp_r28, sp16[0], 0); + fn_1_69C8(temp_r28, sp16[1], 1); + fn_1_69C8(temp_r28, sp16[2], 2); + Hu3DMotionShiftSet(sp16[0], sp40[0][0], 0, 16, 0x40000001); + Hu3DMotionShiftSet(sp16[1], sp40[1][0], 0, 16, 0x40000001); + Hu3DMotionShiftSet(sp16[2], sp40[2][0], 0, 16, 0x40000001); + } + temp_r24 = 0; + } + sp34.x = Center.x + (CZoom * (sind(CRot.y) * cosd(CRot.x))); + sp34.y = (Center.y + (CZoom * -sind(CRot.x))); + sp34.z = (Center.z + (CZoom * (cosd(CRot.y) * cosd(CRot.x)))); + + spC = VECMag(&sp34); + if(HuPadBtnDown[0] & PAD_BUTTON_B) { + temp_r26++; + if(temp_r26 >= 3) { + temp_r26 = 0; + } + } + Hu3DModelAttrSet(sp16[0], 1); + Hu3DModelAttrSet(sp16[1], 1); + Hu3DModelAttrSet(sp16[2], 1); + switch(temp_r26) { + case 0: + Hu3DModelAttrReset(sp16[0], 1); + break; + + case 1: + Hu3DModelAttrReset(sp16[1], 1); + break; + + case 2: + Hu3DModelAttrReset(sp16[2], 1); + break; + } + HuPrcVSleep(); + } } char *lbl_1_data_6F4[] = { - "s3_mario_eyes_1", - "mario_eyes_2", - "mario_eyes_2", - "S3c001m0_eye", - "S3c001m1_eye", - "c001m3_eye", - "GC-eyes", - "s3tc_GC-eyes_2", - "s3tc_GC-eyes_2", - "S3c003m1", - "S3c003m1", - "S3c003m1", - "GC-eyes", - "s3tc_GC-eyes_2", - "s3tc_GC-eyes_2", - "GC-eyes", - "s3tc_GC-eyes_2", - "s3tc_GC-eyes_2", - "GC-eyes", - "s3tc_GC-eyes_2", - "s3tc_GC-eyes_2", - "GC-eyes", - "s3tc_GC-eyes_2", - "s3tc_GC-eyes_2", + "s3_mario_eyes_1", + "mario_eyes_2", + "mario_eyes_2", + "S3c001m0_eye", + "S3c001m1_eye", + "c001m3_eye", + "GC-eyes", + "s3tc_GC-eyes_2", + "s3tc_GC-eyes_2", + "S3c003m1", + "S3c003m1", + "S3c003m1", + "GC-eyes", + "s3tc_GC-eyes_2", + "s3tc_GC-eyes_2", + "GC-eyes", + "s3tc_GC-eyes_2", + "s3tc_GC-eyes_2", + "GC-eyes", + "s3tc_GC-eyes_2", + "s3tc_GC-eyes_2", + "GC-eyes", + "s3tc_GC-eyes_2", + "s3tc_GC-eyes_2", }; void fn_1_69C8(s16 arg0, s16 arg1, s16 arg2) { - HsfdrawStruct01 *temp_r31; - HsfAttribute *temp_r30; - ModelData *temp_r29; - s16 temp_r28; - char *temp_r27; - temp_r29 = &Hu3DData[arg1]; - temp_r30 = temp_r29->hsfData->attribute; - temp_r27 = MakeObjectName(lbl_1_data_6F4[arg2 + (arg0 * 3)]); - for (temp_r28 = 0; temp_r28 < temp_r29->hsfData->attributeCnt; temp_r28++, temp_r30++) { - if (temp_r30->bitmap->name[0] == temp_r27[0] && strcmp(temp_r30->bitmap->name, temp_r27) == 0 && temp_r30->unk04) { - temp_r31 = temp_r30->unk04; - temp_r31->unk08 = temp_r31->unk0C = temp_r31->unk10 = 0; - temp_r31->unk14 = temp_r31->unk18 = temp_r31->unk1C = 0; - } - } + HsfdrawStruct01 *temp_r31; + HsfAttribute *temp_r30; + ModelData *temp_r29; + s16 temp_r28; + char *temp_r27; + temp_r29 = &Hu3DData[arg1]; + temp_r30 = temp_r29->hsfData->attribute; + temp_r27 = MakeObjectName(lbl_1_data_6F4[arg2+(arg0*3)]); + for(temp_r28=0; temp_r28hsfData->attributeCnt; temp_r28++, temp_r30++) { + if(temp_r30->bitmap->name[0] == temp_r27[0] && strcmp(temp_r30->bitmap->name, temp_r27) == 0 && temp_r30->unk04) { + temp_r31 = temp_r30->unk04; + temp_r31->unk08 = temp_r31->unk0C = temp_r31->unk10 = 0; + temp_r31->unk14 = temp_r31->unk18 = temp_r31->unk1C = 0; + } + } } s32 lbl_1_data_754 = 20; void fn_1_6AE0(ModelData *model, Mtx mtx) { - s32 temp_r31; - u8 temp_r30, temp_r29, temp_r28; - s32 sp84 = 0; - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetVtxDesc(GX_VA_CLR0, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGB, GX_RGB8, 0); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_RASC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetNumTexGens(0); - GXSetNumTevStages(1); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); - GXLoadPosMtxImm(mtx, GX_PNMTX0); - GXBegin(GX_LINES, GX_VTXFMT0, (lbl_1_data_754 + 1) * 4); - for (temp_r31 = 0; temp_r31 <= lbl_1_data_754; temp_r31++) { - temp_r30 = temp_r29 = temp_r28 = 255; - GXPosition3f32((temp_r31 * 100) - ((lbl_1_data_754 / 2) * 100), 0, (-(lbl_1_data_754 / 2)) * 100); - GXColor3u8(temp_r30, temp_r29, temp_r28); - GXPosition3f32((temp_r31 * 100) - ((lbl_1_data_754 / 2) * 100), 0, (lbl_1_data_754 / 2) * 100); - GXColor3u8(temp_r30, temp_r29, temp_r28); - GXPosition3f32(-(lbl_1_data_754 / 2) * 100, 0, (temp_r31 * 100) - ((lbl_1_data_754 / 2) * 100)); - GXColor3u8(temp_r30, temp_r29, temp_r28); - GXPosition3f32((lbl_1_data_754 / 2) * 100, 0, (temp_r31 * 100) - ((lbl_1_data_754 / 2) * 100)); - GXColor3u8(temp_r30, temp_r29, temp_r28); - } - GXBegin(GX_LINES, GX_VTXFMT0, (lbl_1_data_754 + 1) * 4); - for (temp_r31 = 0; temp_r31 <= lbl_1_data_754; temp_r31++) { - temp_r30 = temp_r29 = temp_r28 = 255; - GXPosition3f32((temp_r31 * 100) - ((lbl_1_data_754 / 2) * 100), lbl_1_data_754 * 100, (-(lbl_1_data_754 / 2)) * 100); - GXColor3u8(temp_r30, temp_r29, temp_r28); - GXPosition3f32((temp_r31 * 100) - ((lbl_1_data_754 / 2) * 100), 0, -(lbl_1_data_754 / 2) * 100); - GXColor3u8(temp_r30, temp_r29, temp_r28); - GXPosition3f32(-(lbl_1_data_754 / 2) * 100, temp_r31 * 100, -(lbl_1_data_754 / 2) * 100); - GXColor3u8(temp_r30, temp_r29, temp_r28); - GXPosition3f32((lbl_1_data_754 / 2) * 100, temp_r31 * 100, -(lbl_1_data_754 / 2) * 100); - GXColor3u8(temp_r30, temp_r29, temp_r28); - } - GXBegin(GX_LINES, GX_VTXFMT0, (lbl_1_data_754 + 1) * 4); - for (temp_r31 = 0; temp_r31 <= lbl_1_data_754; temp_r31++) { - temp_r30 = temp_r29 = temp_r28 = 255; - GXPosition3f32((temp_r31 * 100) - ((lbl_1_data_754 / 2) * 100), lbl_1_data_754 * 100, (lbl_1_data_754 / 2) * 100); - GXColor3u8(temp_r30, temp_r29, temp_r28); - GXPosition3f32((temp_r31 * 100) - ((lbl_1_data_754 / 2) * 100), 0, (lbl_1_data_754 / 2) * 100); - GXColor3u8(temp_r30, temp_r29, temp_r28); - GXPosition3f32(-(lbl_1_data_754 / 2) * 100, temp_r31 * 100, (lbl_1_data_754 / 2) * 100); - GXColor3u8(temp_r30, temp_r29, temp_r28); - GXPosition3f32((lbl_1_data_754 / 2) * 100, temp_r31 * 100, (lbl_1_data_754 / 2) * 100); - GXColor3u8(temp_r30, temp_r29, temp_r28); - } - GXBegin(GX_LINES, GX_VTXFMT0, (lbl_1_data_754 + 1) * 4); - for (temp_r31 = 0; temp_r31 <= lbl_1_data_754; temp_r31++) { - temp_r30 = temp_r29 = temp_r28 = 255; - GXPosition3f32((lbl_1_data_754 / 2) * 100, lbl_1_data_754 * 100, (temp_r31 * 100) - ((lbl_1_data_754 / 2) * 100)); - GXColor3u8(temp_r30, temp_r29, temp_r28); - GXPosition3f32((lbl_1_data_754 / 2) * 100, 0, (temp_r31 * 100) - ((lbl_1_data_754 / 2) * 100)); - GXColor3u8(temp_r30, temp_r29, temp_r28); - GXPosition3f32((lbl_1_data_754 / 2) * 100, temp_r31 * 100, -(lbl_1_data_754 / 2) * 100); - GXColor3u8(temp_r30, temp_r29, temp_r28); - GXPosition3f32((lbl_1_data_754 / 2) * 100, temp_r31 * 100, (lbl_1_data_754 / 2) * 100); - GXColor3u8(temp_r30, temp_r29, temp_r28); - } - GXBegin(GX_LINES, GX_VTXFMT0, (lbl_1_data_754 + 1) * 4); - for (temp_r31 = 0; temp_r31 <= lbl_1_data_754; temp_r31++) { - temp_r30 = temp_r29 = temp_r28 = 255; - GXPosition3f32(-(lbl_1_data_754 / 2) * 100, lbl_1_data_754 * 100, (temp_r31 * 100) - ((lbl_1_data_754 / 2) * 100)); - GXColor3u8(temp_r30, temp_r29, temp_r28); - GXPosition3f32(-(lbl_1_data_754 / 2) * 100, 0, (temp_r31 * 100) - ((lbl_1_data_754 / 2) * 100)); - GXColor3u8(temp_r30, temp_r29, temp_r28); - GXPosition3f32(-(lbl_1_data_754 / 2) * 100, temp_r31 * 100, -(lbl_1_data_754 / 2) * 100); - GXColor3u8(temp_r30, temp_r29, temp_r28); - GXPosition3f32(-(lbl_1_data_754 / 2) * 100, temp_r31 * 100, (lbl_1_data_754 / 2) * 100); - GXColor3u8(temp_r30, temp_r29, temp_r28); - } + s32 temp_r31; + u8 temp_r30, temp_r29, temp_r28; + s32 sp84 = 0; + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + GXSetVtxDesc(GX_VA_CLR0, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGB, GX_RGB8, 0); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_RASC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetNumTexGens(0); + GXSetNumTevStages(1); + GXSetNumChans(1); + GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); + GXLoadPosMtxImm(mtx, GX_PNMTX0); + GXBegin(GX_LINES, GX_VTXFMT0, (lbl_1_data_754+1)*4); + for(temp_r31=0; temp_r31<=lbl_1_data_754; temp_r31++) { + temp_r30 = temp_r29 = temp_r28 = 255; + GXPosition3f32((temp_r31*100)-((lbl_1_data_754/2)*100), 0, (-(lbl_1_data_754/2))*100); + GXColor3u8(temp_r30, temp_r29, temp_r28); + GXPosition3f32((temp_r31*100)-((lbl_1_data_754/2)*100), 0, (lbl_1_data_754/2)*100); + GXColor3u8(temp_r30, temp_r29, temp_r28); + GXPosition3f32(-(lbl_1_data_754/2)*100, 0, (temp_r31*100)-((lbl_1_data_754/2)*100)); + GXColor3u8(temp_r30, temp_r29, temp_r28); + GXPosition3f32((lbl_1_data_754/2)*100, 0, (temp_r31*100)-((lbl_1_data_754/2)*100)); + GXColor3u8(temp_r30, temp_r29, temp_r28); + } + GXBegin(GX_LINES, GX_VTXFMT0, (lbl_1_data_754+1)*4); + for(temp_r31=0; temp_r31<=lbl_1_data_754; temp_r31++) { + temp_r30 = temp_r29 = temp_r28 = 255; + GXPosition3f32((temp_r31*100)-((lbl_1_data_754/2)*100), lbl_1_data_754*100, (-(lbl_1_data_754/2))*100); + GXColor3u8(temp_r30, temp_r29, temp_r28); + GXPosition3f32((temp_r31*100)-((lbl_1_data_754/2)*100), 0, -(lbl_1_data_754/2)*100); + GXColor3u8(temp_r30, temp_r29, temp_r28); + GXPosition3f32(-(lbl_1_data_754/2)*100, temp_r31*100, -(lbl_1_data_754/2)*100); + GXColor3u8(temp_r30, temp_r29, temp_r28); + GXPosition3f32((lbl_1_data_754/2)*100, temp_r31*100, -(lbl_1_data_754/2)*100); + GXColor3u8(temp_r30, temp_r29, temp_r28); + } + GXBegin(GX_LINES, GX_VTXFMT0, (lbl_1_data_754+1)*4); + for(temp_r31=0; temp_r31<=lbl_1_data_754; temp_r31++) { + temp_r30 = temp_r29 = temp_r28 = 255; + GXPosition3f32((temp_r31*100)-((lbl_1_data_754/2)*100), lbl_1_data_754*100, (lbl_1_data_754/2)*100); + GXColor3u8(temp_r30, temp_r29, temp_r28); + GXPosition3f32((temp_r31*100)-((lbl_1_data_754/2)*100), 0, (lbl_1_data_754/2)*100); + GXColor3u8(temp_r30, temp_r29, temp_r28); + GXPosition3f32(-(lbl_1_data_754/2)*100, temp_r31*100, (lbl_1_data_754/2)*100); + GXColor3u8(temp_r30, temp_r29, temp_r28); + GXPosition3f32((lbl_1_data_754/2)*100, temp_r31*100, (lbl_1_data_754/2)*100); + GXColor3u8(temp_r30, temp_r29, temp_r28); + } + GXBegin(GX_LINES, GX_VTXFMT0, (lbl_1_data_754+1)*4); + for(temp_r31=0; temp_r31<=lbl_1_data_754; temp_r31++) { + temp_r30 = temp_r29 = temp_r28 = 255; + GXPosition3f32((lbl_1_data_754/2)*100, lbl_1_data_754*100, (temp_r31*100)-((lbl_1_data_754/2)*100)); + GXColor3u8(temp_r30, temp_r29, temp_r28); + GXPosition3f32((lbl_1_data_754/2)*100, 0, (temp_r31*100)-((lbl_1_data_754/2)*100)); + GXColor3u8(temp_r30, temp_r29, temp_r28); + GXPosition3f32((lbl_1_data_754/2)*100, temp_r31*100, -(lbl_1_data_754/2)*100); + GXColor3u8(temp_r30, temp_r29, temp_r28); + GXPosition3f32((lbl_1_data_754/2)*100, temp_r31*100, (lbl_1_data_754/2)*100); + GXColor3u8(temp_r30, temp_r29, temp_r28); + } + GXBegin(GX_LINES, GX_VTXFMT0, (lbl_1_data_754+1)*4); + for(temp_r31=0; temp_r31<=lbl_1_data_754; temp_r31++) { + temp_r30 = temp_r29 = temp_r28 = 255; + GXPosition3f32(-(lbl_1_data_754/2)*100, lbl_1_data_754*100, (temp_r31*100)-((lbl_1_data_754/2)*100)); + GXColor3u8(temp_r30, temp_r29, temp_r28); + GXPosition3f32(-(lbl_1_data_754/2)*100, 0, (temp_r31*100)-((lbl_1_data_754/2)*100)); + GXColor3u8(temp_r30, temp_r29, temp_r28); + GXPosition3f32(-(lbl_1_data_754/2)*100, temp_r31*100, -(lbl_1_data_754/2)*100); + GXColor3u8(temp_r30, temp_r29, temp_r28); + GXPosition3f32(-(lbl_1_data_754/2)*100, temp_r31*100, (lbl_1_data_754/2)*100); + GXColor3u8(temp_r30, temp_r29, temp_r28); + } } -s16 lbl_1_data_758[] = { 1, 3, 2, 13, 14, 15, 16, 68, -1 }; +s16 lbl_1_data_758[] = { + 1, + 3, + 2, + 13, + 14, + 15, + 16, + 68, + -1 +}; -s16 lbl_1_data_76A[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1 }; +s16 lbl_1_data_76A[] = { + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + -1 +}; void fn_1_814C(void) { - s16 temp_r31 = 0; - s16 temp_r30 = 0; - s16 temp_r29 = 0; - s16 temp_r28; - Vec sp8 = { 0, 0, 0 }; - while (1) { - lbl_1_bss_A14 = HuAudFXEmiterPlay(1282, &sp8); - HuPrcSleep(60); - if (HuPadBtnDown[1] & PAD_BUTTON_A) { - HuAudSeqFadeOut(temp_r28, 60); - temp_r28 = HuAudSeqPlay(lbl_1_data_758[temp_r31]); - temp_r31++; - if (lbl_1_data_758[temp_r31] == -1) { - temp_r31 = 0; - } - temp_r29 = 30; - } - if (HuPadBtnDown[1] & PAD_BUTTON_B) { - HuAudFXPlay(lbl_1_data_76A[temp_r30]); - temp_r30++; - if (lbl_1_data_76A[temp_r30] == -1) { - temp_r30 = 0; - } - temp_r29 = 30; - } - if (temp_r29) { - temp_r29--; - print8(16, 430, 2.0f, "MusicNo:%d SENo:%d", temp_r31, temp_r30); - } - HuPrcVSleep(); - } + s16 temp_r31 = 0; + s16 temp_r30 = 0; + s16 temp_r29 = 0; + s16 temp_r28; + Vec sp8 = { 0, 0, 0 }; + while(1) { + lbl_1_bss_A14 = HuAudFXEmiterPlay(1282, &sp8); + HuPrcSleep(60); + if(HuPadBtnDown[1] & PAD_BUTTON_A) { + HuAudSeqFadeOut(temp_r28, 60); + temp_r28 = HuAudSeqPlay(lbl_1_data_758[temp_r31]); + temp_r31++; + if(lbl_1_data_758[temp_r31] == -1) { + temp_r31 = 0; + } + temp_r29 = 30; + } + if(HuPadBtnDown[1] & PAD_BUTTON_B) { + HuAudFXPlay(lbl_1_data_76A[temp_r30]); + temp_r30++; + if(lbl_1_data_76A[temp_r30] == -1) { + temp_r30 = 0; + } + temp_r29 = 30; + } + if(temp_r29) { + temp_r29--; + print8(16, 430, 2.0f, "MusicNo:%d SENo:%d", temp_r31, temp_r30); + } + HuPrcVSleep(); + } } s16 lbl_1_data_7AC = -1; u32 fn_1_82C8(void) { - s16 temp_r31; - temp_r31 = HuPadBtn[0]; - if (lbl_1_bss_A08) { - lbl_1_bss_A08--; - if (!temp_r31) { - lbl_1_bss_A08 = 0; - } - else { - temp_r31 = 0; - } - } - else if (temp_r31) { - if (lbl_1_data_7AC == temp_r31) { - lbl_1_bss_A08 = 3; - } - else { - lbl_1_bss_A08 = 20; - } - lbl_1_data_7AC = temp_r31; - } - else { - lbl_1_data_7AC = 0; - } - return temp_r31; + s16 temp_r31; + temp_r31 = HuPadBtn[0]; + if(lbl_1_bss_A08) { + lbl_1_bss_A08--; + if(!temp_r31) { + lbl_1_bss_A08 = 0; + } else { + temp_r31 = 0; + } + } else if(temp_r31) { + if(lbl_1_data_7AC == temp_r31) { + lbl_1_bss_A08 = 3; + } else { + lbl_1_bss_A08 = 20; + } + lbl_1_data_7AC = temp_r31; + } else { + lbl_1_data_7AC = 0; + } + return temp_r31; } void fn_1_83B4(void) { - u32 temp_r29; - Process *temp_r28; - temp_r28 = HuPrcCurrentGet(); - HuPrcSetStat(temp_r28, 0xC); - while (1) { - temp_r29 = fn_1_82C8(); - if (HuPadBtn[0] & PAD_BUTTON_RIGHT) { - while (1) { - temp_r29 = fn_1_82C8(); - if (HuPadBtn[0] & PAD_BUTTON_LEFT) { - break; - } - if (!temp_r29) { - HuPrcAllPause(1); - Hu3DPauseSet(1); - } - else { - HuPrcAllPause(0); - Hu3DPauseSet(0); - } - HuPrcVSleep(); - } - HuPrcAllPause(0); - Hu3DPauseSet(0); - } - if (temp_r29 & PAD_BUTTON_UP) { - if (lbl_1_bss_A0C < 120.0f) { - lbl_1_bss_A0C++; - } - } - if (temp_r29 & PAD_BUTTON_DOWN) { - if (lbl_1_bss_A0C > 5.0f) { - lbl_1_bss_A0C--; - } - } - HuPrcVSleep(); - } -} + u32 temp_r29; + Process *temp_r28; + temp_r28 = HuPrcCurrentGet(); + HuPrcSetStat(temp_r28, 0xC); + while(1) { + temp_r29 = fn_1_82C8(); + if(HuPadBtn[0] & PAD_BUTTON_RIGHT) { + while(1) { + temp_r29 = fn_1_82C8(); + if(HuPadBtn[0] & PAD_BUTTON_LEFT) { + break; + } + if(!temp_r29) { + HuPrcAllPause(1); + Hu3DPauseSet(1); + } else { + HuPrcAllPause(0); + Hu3DPauseSet(0); + } + HuPrcVSleep(); + } + HuPrcAllPause(0); + Hu3DPauseSet(0); + } + if(temp_r29 & PAD_BUTTON_UP) { + if(lbl_1_bss_A0C < 120.0f) { + lbl_1_bss_A0C++; + } + } + if(temp_r29 & PAD_BUTTON_DOWN) { + if(lbl_1_bss_A0C > 5.0f) { + lbl_1_bss_A0C--; + } + } + HuPrcVSleep(); + } +} \ No newline at end of file diff --git a/src/REL/modeseldll/datalist.c b/src/REL/modeseldll/datalist.c index 87287bed..07019d3f 100644 --- a/src/REL/modeseldll/datalist.c +++ b/src/REL/modeseldll/datalist.c @@ -6,45 +6,45 @@ s16 lbl_1_bss_152[12]; s16 lbl_1_bss_150; DataListModel lbl_1_data_428[] = { - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x00), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x00), 0x1, 2, 0, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x01), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x01), 0x1, 2, 2, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x02), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x02), 0x1, 2, 4, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x03), 0x1, 1, -1, 4, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x04), 0x1, 1, -1, 4, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x05), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x05), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x05), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x06), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x06), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x06), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x26), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x27), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x28), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x29), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x2A), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x2B), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x2C), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x2D), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x2E), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x07), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630000, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630000, 0x1, 2, 0, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630001, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630001, 0x1, 2, 2, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630002, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630002, 0x1, 2, 4, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630003, 0x1, 1, -1, 4, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630004, 0x1, 1, -1, 4, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630005, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630005, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630005, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630006, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630006, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630006, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630026, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630027, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630028, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630029, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x63002A, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x63002B, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x63002C, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x63002D, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x63002E, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x630007, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, { -1, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, }; DataListSprite lbl_1_data_93C[] = { - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x09), 4, 2000, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x08), 4, 2000, 288, 100, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x0A), 4, 2000, 288, 300, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x0B), 4, 2000, 288, 300, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x0C), 4, 2000, 288, 300, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x1F), 4, 2000, 288, 300, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x20), 4, 2000, 288, 300, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x21), 4, 2000, 288, 300, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x22), 4, 2000, 288, 300, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x2F), 4, 2000, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_MODESEL, 0x3C), 4, 2000, 288, 240, { 255, 255, 255, 255 } }, + { 0x630009, 4, 2000, 288, 240, { 255, 255, 255, 255 } }, + { 0x630008, 4, 2000, 288, 100, { 255, 255, 255, 255 } }, + { 0x63000A, 4, 2000, 288, 300, { 255, 255, 255, 255 } }, + { 0x63000B, 4, 2000, 288, 300, { 255, 255, 255, 255 } }, + { 0x63000C, 4, 2000, 288, 300, { 255, 255, 255, 255 } }, + { 0x63001F, 4, 2000, 288, 300, { 255, 255, 255, 255 } }, + { 0x630020, 4, 2000, 288, 300, { 255, 255, 255, 255 } }, + { 0x630021, 4, 2000, 288, 300, { 255, 255, 255, 255 } }, + { 0x630022, 4, 2000, 288, 300, { 255, 255, 255, 255 } }, + { 0x63002F, 4, 2000, 288, 240, { 255, 255, 255, 255 } }, + { 0x63003C, 4, 2000, 288, 240, { 255, 255, 255, 255 } }, { 0, 0, 0, 0, 0, { 0, 0, 0, 0 } }, }; @@ -127,4 +127,4 @@ void fn_1_C2BC(void) espKill(lbl_1_bss_152[i]); } } -} +} \ No newline at end of file diff --git a/src/REL/modeseldll/filesel.c b/src/REL/modeseldll/filesel.c index 1ddd44cf..adff0c5d 100644 --- a/src/REL/modeseldll/filesel.c +++ b/src/REL/modeseldll/filesel.c @@ -1,54 +1,70 @@ -#include "game/audio.h" -#include "game/card.h" -#include "game/gamework.h" #include "game/gamework_data.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/pad.h" #include "game/process.h" -#include "game/saveload.h" #include "game/window.h" #include "game/wipe.h" +#include "game/audio.h" +#include "game/gamework.h" +#include "game/saveload.h" +#include "game/card.h" +#include "game/hsfman.h" +#include "game/pad.h" +#include "game/hsfdraw.h" -#include "ext_math.h" +#include "math.h" #include "REL/modeseldll.h" -#ifndef __MWERKS__ -#include "game/esprite.h" -#endif s16 lbl_1_data_100 = -1; -float lbl_1_data_104[] = { -55, 0, 0, 0, 60, -57, 806, -71, 0, 0, 0, 100, -131, 900, -87, 0, 0, 0, 46, -117, 566, -87, 0, 0, 0, 46, -117, 566, -90, 0, - 0, -22, 39, -153, 432, -40, 0, 0, 0, 130, -186, 6530, -23, 0, 0, -9, 1, -70, 1318, -25, 0, 0, 0, 242, 90, 343, -30, 0, 0, 0, 223, -60, 505, -23, - 0, 0, 0, 65, -97, 1318 }; - -s32 lbl_1_data_21C[] = { - DATA_MAKE_NUM(DATADIR_MODESEL, 0x0D), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x0E), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x0F), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x10), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x11), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x12), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x13), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x14), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x15), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x16), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x17), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x18), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x19), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x1A), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x1B), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x1C), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x1D), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x1E), +float lbl_1_data_104[] = { + -55, 0, 0, 0, 60, -57, 806, -71, + 0, 0, 0, 100, -131, 900, -87, 0, + 0, 0, 46, -117, 566, -87, 0, 0, + 0, 46, -117, 566, -90, 0, 0, -22, + 39, -153, 432, -40, 0, 0, 0, 130, + -186, 6530, -23, 0, 0, -9, 1, + -70, 1318, -25, 0, 0, 0, 242, 90, + 343, -30, 0, 0, 0, 223, -60, 505, + -23, 0, 0, 0, 65, -97, 1318 }; -char *lbl_1_data_26C[] = { "\x0E\x16", "\x0E\x17" }; +s32 lbl_1_data_21C[] = { + 0x63000D, + 0x63000E, + 0x63000F, + 0x630010, + 0x630011, + 0x630012, + 0x630013, + 0x630014, + 0x630015, + 0x630016, + 0x630017, + 0x630018, + 0x630019, + 0x63001A, + 0x63001B, + 0x63001C, + 0x63001D, + 0x63001E, +}; -char *lbl_1_data_278[] = { "A", "B" }; -char *lbl_1_data_288[] = { "1", "2", "3" }; +char *lbl_1_data_26C[] = { + "\x0E\x16", + "\x0E\x17" +}; + +char *lbl_1_data_278[] = { + "A", + "B" +}; + +char *lbl_1_data_288[] = { + "1", + "2", + "3" +}; s32 lbl_1_bss_14C; s16 lbl_1_bss_148; @@ -87,67 +103,63 @@ void fn_1_AAB8(void); s32 fn_1_37DC(void) { - s16 i; - s16 result; - WindowData *window; - s16 fxstat; - Process *process = HuPrcCurrentGet(); - Process *child; - float winSize[2]; - for (i = 0; i < 3; i++) { - lbl_1_bss_13A[i] = lbl_1_bss_134[i] = -1; - lbl_1_bss_116[i] = -1; - lbl_1_bss_110[i] = -1; - } - lbl_1_bss_FC = lbl_1_bss_F8 = lbl_1_bss_F4 = NULL; - curSlotNo = 0; - fn_1_1EC0(0); - fn_1_5D30(); - child = HuPrcChildCreate(fn_1_AAB8, 10, 8192, 0, process); - winSize[0] = 457; - winSize[1] = 94; - lbl_1_bss_148 = HuWinExCreateStyled(-10000, 448 - winSize[1], winSize[0], winSize[1], -1, 0); - window = &winData[lbl_1_bss_148]; - window->active_pad = 1; - HuWinPushKeySet(lbl_1_bss_148, 0x300); - HuWinMesSpeedSet(lbl_1_bss_148, 0); - HuWinDispOn(lbl_1_bss_148); - fxstat = HuAudFXPlay(2098); - lbl_1_data_100 = fxstat; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet()) { - HuPrcVSleep(); - } - HuAudSeqPlay(43); - while (1) { - result = fn_1_3AAC(); - if (!result) { - break; - } - if (!SLSaveFlagGet()) { - GWGameStatReset(); - #if VERSION_PAL - _ClearFlag(0x1000B); - #endif - GWGameStat.sound_mode = msmSysGetOutputMode(); - result = 1; - break; - } - else { - if (fn_1_61B4()) { - break; - } - } - } - if (result == 0) { - HuAudFXStop(fxstat); - } - HuWinExAnimOut(lbl_1_bss_148); - HuWinExCleanup(lbl_1_bss_148); - HuPrcKill(child); - HuCardUnMount(0); - HuCardUnMount(1); - return result; + s16 i; + s16 result; + WindowData *window; + s16 fxstat; + Process *process = HuPrcCurrentGet(); + Process *child; + float winSize[2]; + for(i=0; i<3; i++) { + lbl_1_bss_13A[i] = lbl_1_bss_134[i] = -1; + lbl_1_bss_116[i] = -1; + lbl_1_bss_110[i] = -1; + } + lbl_1_bss_FC = lbl_1_bss_F8 = lbl_1_bss_F4 = NULL; + curSlotNo = 0; + fn_1_1EC0(0); + fn_1_5D30(); + child = HuPrcChildCreate(fn_1_AAB8, 10, 8192, 0, process); + winSize[0] = 457; + winSize[1] = 94; + lbl_1_bss_148 = HuWinExCreateStyled(-10000, 448-winSize[1], winSize[0], winSize[1], -1, 0); + window = &winData[lbl_1_bss_148]; + window->active_pad = 1; + HuWinPushKeySet(lbl_1_bss_148, 0x300); + HuWinMesSpeedSet(lbl_1_bss_148, 0); + HuWinDispOn(lbl_1_bss_148); + fxstat = HuAudFXPlay(2098); + lbl_1_data_100 = fxstat; + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); + while(WipeStatGet()) { + HuPrcVSleep(); + } + HuAudSeqPlay(43); + while(1) { + result = fn_1_3AAC(); + if(!result) { + break; + } + if(!SLSaveFlagGet()) { + GWGameStatReset(); + GWGameStat.sound_mode = msmSysGetOutputMode(); + result = 1; + break; + } else { + if(fn_1_61B4()) { + break; + } + } + } + if(result == 0) { + HuAudFXStop(fxstat); + } + HuWinExAnimOut(lbl_1_bss_148); + HuWinExCleanup(lbl_1_bss_148); + HuPrcKill(child); + HuCardUnMount(0); + HuCardUnMount(1); + return result; } #define GET_ZEROSIGN(x) (((x) == 0) ? (-1) : (1)) @@ -161,592 +173,560 @@ void fn_1_BA20(void); s32 fn_1_3AAC(void) { - s16 temp_r31; - s16 temp_r30; - s32 temp_r29; - s32 temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - s16 temp_r24; - WindowData *temp_r23; - float temp_f31; - CARDFileInfo sp34; - Vec sp28; - Vec sp1C; - Vec sp10; - float sp8[2]; - - fn_1_1EC0(0); - temp_r23 = &winData[lbl_1_bss_148]; - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x10, 0x0C)); - lbl_1_bss_146 = HuWinExCreateStyled(-10000.0f, 316.0f, sp8[0], sp8[1], -1, 0); - HuWinBGTPLvlSet(lbl_1_bss_146, 0); - HuWinMesSpeedSet(lbl_1_bss_146, 0); -repeat: - sp28.x = 188; - sp28.y = 250; - sp28.z = 600; - Hu3D2Dto3D(&sp28, 1, &sp1C); - Hu3DModelPosSetV(lbl_1_bss_19A[2], &sp1C); - Hu3DModelPosSetV(lbl_1_bss_19A[4], &sp1C); - Hu3DModelPosSetV(lbl_1_bss_19A[0], &sp1C); - sp28.x = 388; - Hu3D2Dto3D(&sp28, 1, &sp1C); - Hu3DModelPosSetV(lbl_1_bss_19A[3], &sp1C); - Hu3DModelPosSetV(lbl_1_bss_19A[5], &sp1C); - Hu3DModelPosSetV(lbl_1_bss_19A[1], &sp1C); - Hu3DModelAttrReset(lbl_1_bss_19A[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_19A[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_19A[3], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_19A[5], HU3D_ATTR_DISPOFF); - Hu3DModelRotSet(lbl_1_bss_19A[2], 0, 0, 0); - Hu3DModelRotSet(lbl_1_bss_19A[3], 0, 0, 0); - fn_1_57C8(lbl_1_bss_19A[4]); - fn_1_57C8(lbl_1_bss_19A[5]); - lbl_1_bss_12C[0] = lbl_1_bss_12C[1] = 1; - lbl_1_bss_108[0] = lbl_1_bss_108[1] = lbl_1_bss_100[0] = lbl_1_bss_100[1] = 1.0f; - lbl_1_bss_11C = -1; - fn_1_5C38(); - for (temp_r30 = 0; temp_r30 <= 20; temp_r30++) { - temp_f31 = temp_r30 / 20.0; - temp_f31 = sind(90.0f * temp_f31); - Hu3DModelScaleSet(lbl_1_bss_19A[0], temp_f31, temp_f31, temp_f31); - Hu3DModelScaleSet(lbl_1_bss_19A[1], temp_f31, temp_f31, temp_f31); - Hu3DModelScaleSet(lbl_1_bss_19A[2], temp_f31, temp_f31, temp_f31); - Hu3DModelScaleSet(lbl_1_bss_19A[3], temp_f31, temp_f31, temp_f31); - Hu3DModelScaleSet(lbl_1_bss_19A[4], temp_f31, temp_f31, temp_f31); - Hu3DModelScaleSet(lbl_1_bss_19A[5], temp_f31, temp_f31, temp_f31); - HuPrcVSleep(); - } - while (1) { - repeat_loop: - HuWinDispOff(lbl_1_bss_146); - temp_r28 = fn_1_562C(); - if (temp_r28 == 0 && fn_1_5C38() == 0) { - if (fn_1_5C38() == 0) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x02)); - HuWinMesWait(lbl_1_bss_148); - } - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x4F)); - HuWinAttrSet(lbl_1_bss_148, 0x10); - HuWinMesWait(lbl_1_bss_148); - temp_r27 = HuWinChoiceGet(lbl_1_bss_148, 1); - if (temp_r27 == 0) { - SLSaveFlagSet(0); - temp_r29 = 1; - goto cleanup; - } - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x52), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x4C)); - HuWinMesWait(lbl_1_bss_148); - while (!(HuPadBtnDown[0] & PAD_BUTTON_A)) { - HuPrcVSleep(); - } - } - while (!fn_1_5C38()) { - temp_r28 = fn_1_562C(); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x02)); - HuWinMesWait(lbl_1_bss_148); - if (temp_r23->key_down & PAD_BUTTON_B) { - HuAudFXPlay(3); - return 0; - } - if (fn_1_5C38()) { - break; - } - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x4B)); - HuWinAttrSet(lbl_1_bss_148, 0x10); - HuWinMesWait(lbl_1_bss_148); - temp_r27 = HuWinChoiceGet(lbl_1_bss_148, 1); - if (temp_r27 == 0) { - SLSaveFlagSet(0); - temp_r29 = 1; - goto cleanup; - } - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x52), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x4C)); - HuWinMesWait(lbl_1_bss_148); - while (!(HuPadBtnDown[0] & PAD_BUTTON_A)) { - HuPrcVSleep(); - } - } - SLSaveFlagSet(1); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x01)); - HuWinMesWait(lbl_1_bss_148); - HuWinMesSet(lbl_1_bss_146, MAKE_MESSID(16, 0x0C)); - HuWinDispOn(lbl_1_bss_146); - if (curSlotNo == 0) { - if (lbl_1_bss_14C & 0x1) { - temp_r31 = 0; - } - else { - temp_r31 = 1; - } - } - else { - if (lbl_1_bss_14C & 0x2) { - temp_r31 = 1; - } - else { - temp_r31 = 0; - } - } - fn_1_5BAC(temp_r31, 1); - HuPrcSleep(10); - temp_r24 = temp_r31; - while (1) { - if (!fn_1_5C38()) { - fn_1_5BAC(temp_r31, 0); - HuPrcSleep(10); - goto repeat_loop; - } - else { - if ((HuPadDStkRep[0] & 0x1) && (lbl_1_bss_14C & 0x1)) { - temp_r31 = 0; - } - else if ((HuPadDStkRep[0] & 0x2) && (lbl_1_bss_14C & 0x2)) { - temp_r31 = 1; - } - else if (!(lbl_1_bss_14C & (1 << temp_r31))) { - if (!(lbl_1_bss_14C & (1 << ((temp_r31 + 1) & 0x1)))) { - fn_1_5BAC(temp_r31, 0); - HuPrcSleep(10); - goto repeat_loop; - } - else { - temp_r31 = (temp_r31 + 1) & 0x1; - } - } - if (temp_r24 != temp_r31) { - HuAudFXPlay(0); - fn_1_5BAC(temp_r31, 1); - fn_1_5BAC((temp_r31 + 1) & 0x1, 0); - HuPrcSleep(10); - temp_r24 = temp_r31; - } - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - HuAudFXPlay(2096); - goto loop_exit; - } - else if (HuPadBtnDown[0] & PAD_BUTTON_B) { - HuAudFXPlay(3); - return 0; - } - } - HuPrcVSleep(); - } - } -loop_exit: - HuWinHomeClear(lbl_1_bss_148); - temp_r26 = (temp_r31 + 1) & 0x1; - Hu3DMotionSet(lbl_1_bss_19A[temp_r31 + 4], lbl_1_bss_16A[7]); - Hu3DMotionSpeedSet(lbl_1_bss_19A[temp_r31 + 4], 2.0f); - lbl_1_bss_12C[0] = lbl_1_bss_12C[1] = 0; - lbl_1_bss_11C = temp_r31; - SLCurSlotNoSet(temp_r31); - temp_r28 = HuCardMount(temp_r31); - if (temp_r28 == 0) { - SLSerialNoGet(); - temp_r28 = HuCardOpen(temp_r31, SaveFileNameTbl[0], &sp34); - if (temp_r28 != 0 && temp_r28 != -4) { - temp_r29 = 1; - } - else { - temp_r29 = 0; - } - HuCardClose(&sp34); - } - else { - if (temp_r28 == -3) { - goto repeat; - } + s16 temp_r31; + s16 temp_r30; + s32 temp_r29; + s32 temp_r28; + s16 temp_r27; + s16 temp_r26; + s16 temp_r25; + s16 temp_r24; + WindowData *temp_r23; + float temp_f31; + CARDFileInfo sp34; + Vec sp28; + Vec sp1C; + Vec sp10; + float sp8[2]; + + fn_1_1EC0(0); + temp_r23 = &winData[lbl_1_bss_148]; + HuWinMesMaxSizeGet(1, sp8, 0x10000C); + lbl_1_bss_146 = HuWinExCreateStyled(-10000.0f, 316.0f, sp8[0], sp8[1], -1, 0); + HuWinBGTPLvlSet(lbl_1_bss_146, 0); + HuWinMesSpeedSet(lbl_1_bss_146, 0); + repeat: + sp28.x = 188; + sp28.y = 250; + sp28.z = 600; + Hu3D2Dto3D(&sp28, 1, &sp1C); + Hu3DModelPosSetV(lbl_1_bss_19A[2], &sp1C); + Hu3DModelPosSetV(lbl_1_bss_19A[4], &sp1C); + Hu3DModelPosSetV(lbl_1_bss_19A[0], &sp1C); + sp28.x = 388; + Hu3D2Dto3D(&sp28, 1, &sp1C); + Hu3DModelPosSetV(lbl_1_bss_19A[3], &sp1C); + Hu3DModelPosSetV(lbl_1_bss_19A[5], &sp1C); + Hu3DModelPosSetV(lbl_1_bss_19A[1], &sp1C); + Hu3DModelAttrReset(lbl_1_bss_19A[2], 1); + Hu3DModelAttrSet(lbl_1_bss_19A[4], 1); + Hu3DModelAttrReset(lbl_1_bss_19A[3], 1); + Hu3DModelAttrSet(lbl_1_bss_19A[5], 1); + Hu3DModelRotSet(lbl_1_bss_19A[2], 0, 0, 0); + Hu3DModelRotSet(lbl_1_bss_19A[3], 0, 0, 0); + fn_1_57C8(lbl_1_bss_19A[4]); + fn_1_57C8(lbl_1_bss_19A[5]); + lbl_1_bss_12C[0] = lbl_1_bss_12C[1] = 1; + lbl_1_bss_108[0] = lbl_1_bss_108[1] = lbl_1_bss_100[0] = lbl_1_bss_100[1] = 1.0f; + lbl_1_bss_11C = -1; + fn_1_5C38(); + for(temp_r30=0; temp_r30<=20; temp_r30++) { + temp_f31 = temp_r30/20.0; + temp_f31 = sin(M_PI*(90.0f*temp_f31)/180.0); + Hu3DModelScaleSet(lbl_1_bss_19A[0], temp_f31, temp_f31, temp_f31); + Hu3DModelScaleSet(lbl_1_bss_19A[1], temp_f31, temp_f31, temp_f31); + Hu3DModelScaleSet(lbl_1_bss_19A[2], temp_f31, temp_f31, temp_f31); + Hu3DModelScaleSet(lbl_1_bss_19A[3], temp_f31, temp_f31, temp_f31); + Hu3DModelScaleSet(lbl_1_bss_19A[4], temp_f31, temp_f31, temp_f31); + Hu3DModelScaleSet(lbl_1_bss_19A[5], temp_f31, temp_f31, temp_f31); + HuPrcVSleep(); + } + while(1) { + repeat_loop: + HuWinDispOff(lbl_1_bss_146); + temp_r28 = fn_1_562C(); + if(temp_r28 == 0 && fn_1_5C38() == 0) { + if(fn_1_5C38() == 0) { + HuWinMesSet(lbl_1_bss_148, 0x100002); + HuWinMesWait(lbl_1_bss_148); + } + HuWinMesSet(lbl_1_bss_148, 0x10004F); + HuWinAttrSet(lbl_1_bss_148, 0x10); + HuWinMesWait(lbl_1_bss_148); + temp_r27 = HuWinChoiceGet(lbl_1_bss_148, 1); + if(temp_r27 == 0) { + SLSaveFlagSet(0); + temp_r29 = 1; + goto cleanup; + } + HuWinInsertMesSet(lbl_1_bss_148, 0x100052, 0); + HuWinMesSet(lbl_1_bss_148, 0x10004C); + HuWinMesWait(lbl_1_bss_148); + while(!(HuPadBtnDown[0] & PAD_BUTTON_A)) { + HuPrcVSleep(); + } + } + while(!fn_1_5C38()) { + temp_r28 = fn_1_562C(); + HuWinMesSet(lbl_1_bss_148, 0x100002); + HuWinMesWait(lbl_1_bss_148); + if(temp_r23->key_down & PAD_BUTTON_B) { + HuAudFXPlay(3); + return 0; + } + if(fn_1_5C38()) { + break; + } + HuWinMesSet(lbl_1_bss_148, 0x10004B); + HuWinAttrSet(lbl_1_bss_148, 0x10); + HuWinMesWait(lbl_1_bss_148); + temp_r27 = HuWinChoiceGet(lbl_1_bss_148, 1); + if(temp_r27 == 0) { + SLSaveFlagSet(0); + temp_r29 = 1; + goto cleanup; + } + HuWinInsertMesSet(lbl_1_bss_148, 0x100052, 0); + HuWinMesSet(lbl_1_bss_148, 0x10004C); + HuWinMesWait(lbl_1_bss_148); + while(!(HuPadBtnDown[0] & PAD_BUTTON_A)) { + HuPrcVSleep(); + } + } + SLSaveFlagSet(1); + HuWinMesSet(lbl_1_bss_148, 0x100001); + HuWinMesWait(lbl_1_bss_148); + HuWinMesSet(lbl_1_bss_146, 0x10000C); + HuWinDispOn(lbl_1_bss_146); + if(curSlotNo == 0) { + if(lbl_1_bss_14C & 0x1) { + temp_r31 = 0; + } else { + temp_r31 = 1; + } + } else { + if(lbl_1_bss_14C & 0x2) { + temp_r31 = 1; + } else { + temp_r31 = 0; + } + } + fn_1_5BAC(temp_r31, 1); + HuPrcSleep(10); + temp_r24 = temp_r31; + while(1) { + if(!fn_1_5C38()) { + fn_1_5BAC(temp_r31, 0); + HuPrcSleep(10); + goto repeat_loop; + } else { + if((HuPadDStkRep[0] & 0x1) && (lbl_1_bss_14C & 0x1)) { + temp_r31 = 0; + } else if((HuPadDStkRep[0] & 0x2) && (lbl_1_bss_14C & 0x2)) { + temp_r31 = 1; + } else if(!(lbl_1_bss_14C & (1 << temp_r31))) { + if(!(lbl_1_bss_14C & (1 << ((temp_r31+1) & 0x1)))) { + fn_1_5BAC(temp_r31, 0); + HuPrcSleep(10); + goto repeat_loop; + } else { + temp_r31 = (temp_r31+1) & 0x1; + } + } + if(temp_r24 != temp_r31) { + HuAudFXPlay(0); + fn_1_5BAC(temp_r31, 1); + fn_1_5BAC((temp_r31+1) & 0x1, 0); + HuPrcSleep(10); + temp_r24 = temp_r31; + } + if(HuPadBtnDown[0] & PAD_BUTTON_A) { + HuAudFXPlay(2096); + goto loop_exit; + } else if(HuPadBtnDown[0] & PAD_BUTTON_B) { + HuAudFXPlay(3); + return 0; + } + } + HuPrcVSleep(); + } + } + loop_exit: + HuWinHomeClear(lbl_1_bss_148); + temp_r26 = (temp_r31+1)&0x1; + Hu3DMotionSet(lbl_1_bss_19A[temp_r31+4], lbl_1_bss_16A[7]); + Hu3DMotionSpeedSet(lbl_1_bss_19A[temp_r31+4], 2.0f); + lbl_1_bss_12C[0] = lbl_1_bss_12C[1] = 0; + lbl_1_bss_11C = temp_r31; + SLCurSlotNoSet(temp_r31); + temp_r28 = HuCardMount(temp_r31); + if(temp_r28 == 0) { + SLSerialNoGet(); + temp_r28 = HuCardOpen(temp_r31, SaveFileNameTbl[0], &sp34); + if(temp_r28 != 0 && temp_r28 != -4) { + temp_r29 = 1; + } else { + temp_r29 = 0; + } + HuCardClose(&sp34); + } else { + if(temp_r28 == -3) { + goto repeat; + } temp_r29 = 1; - } - temp_r27 = HuCardSectorSizeGet(curSlotNo); - if (temp_r27 > 0 && temp_r27 != 8192) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x39)); - HuWinMesWait(lbl_1_bss_148); - temp_r29 = 1; - goto skip_check; - } - else { - if (temp_r27 == -128) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x53)); - HuWinMesWait(lbl_1_bss_148); - temp_r29 = 1; - goto skip_check; - } - else { - lbl_1_bss_8C += 720.0f; - for (temp_r30 = 0; temp_r30 <= 40; temp_r30++) { - if (temp_r30 <= 30) { - temp_f31 = temp_r30 / 30.0f; - sp28.x = 288.0 + (GET_ZEROSIGN(temp_r26) * (100.0 + (250.0 * sind(90.0f * temp_f31)))); - sp28.y = 250.0 - (100.0 * sind(180.0f * temp_f31)); - sp28.z = (temp_r30 * 100) + 600; - Hu3D2Dto3D(&sp28, 1, &sp1C); - Hu3DModelPosSetV(lbl_1_bss_19A[temp_r26 + 2], &sp1C); - Hu3DModelPosSetV(lbl_1_bss_19A[temp_r26], &sp1C); - Hu3DModelRotSet(lbl_1_bss_19A[temp_r26 + 2], temp_r30 * 20, temp_r30 * 10, 0); - } - - if (temp_r30 > 20) { - temp_f31 = (temp_r30 - 20) / 20.0f; - if (temp_r29) { - sp28.x = 288.0f + ((1.0 - temp_f31) * (100 * GET_ZEROSIGN(temp_r31))); - sp28.y = 250.0 - (100.0 * sind(180.0f * temp_f31)); - sp28.z = 600.0f; - Hu3D2Dto3D(&sp28, 1, &sp1C); - Hu3DModelPosSetV(lbl_1_bss_19A[temp_r31], &sp1C); - temp_f31 = (0.5 * sind(90.0f * temp_f31)) + 1.0; - Hu3DModelScaleSet(lbl_1_bss_19A[temp_r31], temp_f31, temp_f31, temp_f31); - } - else { - sp28.x = 288.0f + (100 * GET_ZEROSIGN(temp_r31)); - sp28.y = 250; - sp28.z = 600; - Hu3D2Dto3D(&sp28, 1, &sp1C); - sp28.x = 60; - sp28.y = 90; - sp28.z = 600; - Hu3D2Dto3D(&sp28, 1, &sp10); - VECSubtract(&sp10, &sp1C, &sp28); - sp28.x *= sind(90.0f * temp_f31); - sp28.y *= 1.0 - cosd(90.0f * temp_f31); - sp28.z = 0; - VECAdd(&sp28, &sp1C, &sp1C); - Hu3DModelPosSetV(lbl_1_bss_19A[temp_r31], &sp1C); - lbl_1_bss_108[temp_r31] *= cosd(90.0f * temp_f31); - lbl_1_bss_100[temp_r31] = 1.0 - temp_f31; - temp_f31 = 1.0 + (0.3 * cosd(90.0f * temp_f31)); - Hu3DModelScaleSet(lbl_1_bss_19A[temp_r31], temp_f31, temp_f31, temp_f31); - } - } - HuPrcVSleep(); - } - if (temp_r29 == 0) { - HuWinKill(lbl_1_bss_146); - return 1; - } - HuWinDispOff(lbl_1_bss_146); - temp_r29 = 0; - if (temp_r28 == -2) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[temp_r31]), 0); - #if VERSION_PAL - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x39)); - #else - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x37)); - #endif - HuWinMesWait(lbl_1_bss_148); - temp_r29 = 1; - } - else if (temp_r28 == -128) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[temp_r31]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x53)); - HuWinMesWait(lbl_1_bss_148); - temp_r29 = 1; - } - else if (temp_r28 == -3) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x02)); - HuWinMesWait(lbl_1_bss_148); - temp_r29 = 1; - } - else if (temp_r28 == -6) { - UnMountCnt = 0; - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[temp_r31]), 0); - HuWinAttrSet(lbl_1_bss_148, 0x10); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x04)); - HuWinMesWait(lbl_1_bss_148); - temp_r25 = HuWinChoiceGet(lbl_1_bss_148, 1); - if (temp_r25 == 0) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x4E)); - HuWinMesWait(lbl_1_bss_148); - temp_r25 = HuWinChoiceGet(lbl_1_bss_148, 1); - if (temp_r25 == 0) { - fn_1_B8CC(MAKE_MESSID(16, 0x38)); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x0B)); - HuWinMesWait(lbl_1_bss_148); - HuPrcSleep(60); - if (UnMountCnt & (1 << temp_r31)) { - fn_1_BA20(); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x50)); - HuWinMesWait(lbl_1_bss_148); - temp_r29 = 1; - goto cleanup; - } - else { - _SetFlag(0x30000); - temp_r28 = HuCardFormat(temp_r31); - _ClearFlag(FLAG_ID_MAKE(3, 0)); - if (temp_r28 == 0) { - SLSerialNoGet(); - } - fn_1_BA20(); - if (temp_r28 == -128) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x36)); - HuWinMesWait(lbl_1_bss_148); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x53)); - HuWinMesWait(lbl_1_bss_148); - temp_r29 = 1; - } - else if (temp_r28 == -3) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x02)); - HuWinMesWait(lbl_1_bss_148); - temp_r29 = 1; - } - } - } - else { - temp_r29 = 1; - } - } - else { - temp_r29 = 1; - } - } - } - } - if (temp_r29 == 0) { - goto cleanup; - } -skip_check: - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x4F)); - HuWinAttrSet(lbl_1_bss_148, 0x10); - HuWinMesWait(lbl_1_bss_148); - temp_r27 = HuWinChoiceGet(lbl_1_bss_148, 1); - if (temp_r27 == 0) { - SLSaveFlagSet(0); - goto cleanup; - } - else { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x52), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x4C)); - HuWinMesWait(lbl_1_bss_148); - while (!(HuPadBtnDown[0] & PAD_BUTTON_A)) { - HuPrcVSleep(); - } - } -cleanup: - HuWinDispOff(lbl_1_bss_146); - lbl_1_bss_8C += 720.0f; - for (temp_r30 = 0; temp_r30 <= 20; temp_r30++) { - temp_f31 = temp_r30 / 20.0f; - if (temp_r29) { - temp_f31 = 1.5 * cosd(90.0f * temp_f31); - Hu3DModelScaleSet(lbl_1_bss_19A[0], temp_f31, temp_f31, temp_f31); - Hu3DModelScaleSet(lbl_1_bss_19A[1], temp_f31, temp_f31, temp_f31); - Hu3DModelScaleSet(lbl_1_bss_19A[2], 0.7 * temp_f31, 0.7 * temp_f31, 0.7 * temp_f31); - Hu3DModelScaleSet(lbl_1_bss_19A[3], 0.7 * temp_f31, 0.7 * temp_f31, 0.7 * temp_f31); - if (!SLSaveFlagGet()) { - espScaleSet(lbl_1_bss_152[1], temp_f31, temp_f31); - } - } - else { - sp28.x = 288; - sp28.y = 250; - sp28.z = 600; - Hu3D2Dto3D(&sp28, 1, &sp1C); - sp28.x = 60; - sp28.y = 90; - sp28.z = 600; - Hu3D2Dto3D(&sp28, 1, &sp10); - VECSubtract(&sp10, &sp1C, &sp28); - sp28.x *= sind(90.0f * temp_f31); - sp28.y *= 1.0 - cosd(90.0f * temp_f31); - sp28.z = 0.0f; - VECAdd(&sp28, &sp1C, &sp1C); - Hu3DModelPosSetV(lbl_1_bss_19A[temp_r31], &sp1C); - lbl_1_bss_108[temp_r31] *= cosd(90.0f * temp_f31); - lbl_1_bss_100[temp_r31] = 1.0 - temp_f31; - temp_f31 = 1.0 + (0.5 * cosd(90.0f * temp_f31)); - Hu3DModelScaleSet(lbl_1_bss_19A[temp_r31], temp_f31, temp_f31, temp_f31); - } - HuPrcVSleep(); - } - if (temp_r29 && SLSaveFlagGet()) { - goto repeat; - } - HuWinKill(lbl_1_bss_146); - return 1; + } + temp_r27 = HuCardSectorSizeGet(curSlotNo); + if(temp_r27 > 0 && temp_r27 != 8192) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100039); + HuWinMesWait(lbl_1_bss_148); + temp_r29 = 1; + goto skip_check; + } else { + if(temp_r27 == -128) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100053); + HuWinMesWait(lbl_1_bss_148); + temp_r29 = 1; + goto skip_check; + } else { + lbl_1_bss_8C += 720.0f; + for(temp_r30=0; temp_r30 <= 40; temp_r30++) { + if(temp_r30 <= 30) { + temp_f31 = temp_r30/30.0f; + sp28.x = 288.0+(GET_ZEROSIGN(temp_r26)*(100.0+(250.0*sin(M_PI*(90.0f*temp_f31)/180.0)))); + sp28.y = 250.0-(100.0*sin(M_PI*(180.0f*temp_f31)/180.0)); + sp28.z = (temp_r30*100)+600; + Hu3D2Dto3D(&sp28, 1, &sp1C); + Hu3DModelPosSetV(lbl_1_bss_19A[temp_r26+2], &sp1C); + Hu3DModelPosSetV(lbl_1_bss_19A[temp_r26], &sp1C); + Hu3DModelRotSet(lbl_1_bss_19A[temp_r26+2], temp_r30*20, temp_r30*10, 0); + } + + if(temp_r30 > 20) { + temp_f31 = (temp_r30-20)/20.0f; + if(temp_r29) { + sp28.x = 288.0f+((1.0-temp_f31)*(100*GET_ZEROSIGN(temp_r31))); + sp28.y = 250.0-(100.0*sin(M_PI*(180.0f*temp_f31)/180.0)); + sp28.z = 600.0f; + Hu3D2Dto3D(&sp28, 1, &sp1C); + Hu3DModelPosSetV(lbl_1_bss_19A[temp_r31], &sp1C); + temp_f31 = (0.5*sin(M_PI*(90.0f*temp_f31)/180.0))+1.0; + Hu3DModelScaleSet(lbl_1_bss_19A[temp_r31], temp_f31, temp_f31, temp_f31); + } else { + sp28.x = 288.0f+(100*GET_ZEROSIGN(temp_r31)); + sp28.y = 250; + sp28.z = 600; + Hu3D2Dto3D(&sp28, 1, &sp1C); + sp28.x = 60; + sp28.y = 90; + sp28.z = 600; + Hu3D2Dto3D(&sp28, 1, &sp10); + VECSubtract(&sp10, &sp1C, &sp28); + sp28.x *= sin(M_PI*(90.0f*temp_f31)/180.0); + sp28.y *= 1.0-cos(M_PI*(90.0f*temp_f31)/180.0); + sp28.z = 0; + VECAdd(&sp28, &sp1C, &sp1C); + Hu3DModelPosSetV(lbl_1_bss_19A[temp_r31], &sp1C); + lbl_1_bss_108[temp_r31] *= cos(M_PI*(90.0f*temp_f31)/180.0); + lbl_1_bss_100[temp_r31] = 1.0-temp_f31; + temp_f31 = 1.0+(0.3*cos(M_PI*(90.0f*temp_f31)/180.0)); + Hu3DModelScaleSet(lbl_1_bss_19A[temp_r31], temp_f31, temp_f31, temp_f31); + } + } + HuPrcVSleep(); + } + if(temp_r29 == 0) { + HuWinKill(lbl_1_bss_146); + return 1; + } + HuWinDispOff(lbl_1_bss_146); + temp_r29 = 0; + if(temp_r28 == -2) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[temp_r31]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100037); + HuWinMesWait(lbl_1_bss_148); + temp_r29 = 1; + } else if(temp_r28 == -128) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[temp_r31]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100053); + HuWinMesWait(lbl_1_bss_148); + temp_r29 = 1; + } else if(temp_r28 == -3) { + HuWinMesSet(lbl_1_bss_148, 0x100002); + HuWinMesWait(lbl_1_bss_148); + temp_r29 = 1; + } else if(temp_r28 == -6) { + UnMountCnt = 0; + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[temp_r31]), 0); + HuWinAttrSet(lbl_1_bss_148, 0x10); + HuWinMesSet(lbl_1_bss_148, 0x100004); + HuWinMesWait(lbl_1_bss_148); + temp_r25 = HuWinChoiceGet(lbl_1_bss_148, 1); + if(temp_r25 == 0) { + HuWinMesSet(lbl_1_bss_148, 0x10004E); + HuWinMesWait(lbl_1_bss_148); + temp_r25 = HuWinChoiceGet(lbl_1_bss_148, 1); + if(temp_r25 == 0) { + fn_1_B8CC(0x100038); + HuWinMesSet(lbl_1_bss_148, 0x10000B); + HuWinMesWait(lbl_1_bss_148); + HuPrcSleep(60); + if(UnMountCnt & (1 << temp_r31)) { + fn_1_BA20(); + HuWinMesSet(lbl_1_bss_148, 0x100050); + HuWinMesWait(lbl_1_bss_148); + temp_r29 = 1; + goto cleanup; + } else { + _SetFlag(0x30000); + temp_r28 = HuCardFormat(temp_r31); + _ClearFlag(FLAG_ID_MAKE(3, 0)); + if(temp_r28 == 0) { + SLSerialNoGet(); + } + fn_1_BA20(); + if(temp_r28 == -128) { + HuWinMesSet(lbl_1_bss_148, 0x100036); + HuWinMesWait(lbl_1_bss_148); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100053); + HuWinMesWait(lbl_1_bss_148); + temp_r29 = 1; + } else if(temp_r28 == -3) { + HuWinMesSet(lbl_1_bss_148, 0x100002); + HuWinMesWait(lbl_1_bss_148); + temp_r29 = 1; + } + } + } else { + temp_r29 = 1; + } + } else { + temp_r29 = 1; + } + } + } + } + if(temp_r29 == 0) { + goto cleanup; + } + skip_check: + HuWinMesSet(lbl_1_bss_148, 0x10004F); + HuWinAttrSet(lbl_1_bss_148, 0x10); + HuWinMesWait(lbl_1_bss_148); + temp_r27 = HuWinChoiceGet(lbl_1_bss_148, 1); + if(temp_r27 == 0) { + SLSaveFlagSet(0); + goto cleanup; + } else { + HuWinInsertMesSet(lbl_1_bss_148, 0x100052, 0); + HuWinMesSet(lbl_1_bss_148, 0x10004C); + HuWinMesWait(lbl_1_bss_148); + while(!(HuPadBtnDown[0] & PAD_BUTTON_A)) { + HuPrcVSleep(); + } + } + cleanup: + HuWinDispOff(lbl_1_bss_146); + lbl_1_bss_8C += 720.0f; + for(temp_r30=0; temp_r30<=20; temp_r30++) { + temp_f31 = temp_r30/20.0f; + if(temp_r29) { + temp_f31 = 1.5*cos(M_PI*(90.0f*temp_f31)/180.0); + Hu3DModelScaleSet(lbl_1_bss_19A[0], temp_f31, temp_f31, temp_f31); + Hu3DModelScaleSet(lbl_1_bss_19A[1], temp_f31, temp_f31, temp_f31); + Hu3DModelScaleSet(lbl_1_bss_19A[2], 0.7*temp_f31, 0.7*temp_f31, 0.7*temp_f31); + Hu3DModelScaleSet(lbl_1_bss_19A[3], 0.7*temp_f31, 0.7*temp_f31, 0.7*temp_f31); + if(!SLSaveFlagGet()) { + espScaleSet(lbl_1_bss_152[1], temp_f31, temp_f31); + } + } else { + sp28.x = 288; + sp28.y = 250; + sp28.z = 600; + Hu3D2Dto3D(&sp28, 1, &sp1C); + sp28.x = 60; + sp28.y = 90; + sp28.z = 600; + Hu3D2Dto3D(&sp28, 1, &sp10); + VECSubtract(&sp10, &sp1C, &sp28); + sp28.x *= sin(M_PI*(90.0f*temp_f31)/180.0); + sp28.y *= 1.0-cos(M_PI*(90.0f*temp_f31)/180.0); + sp28.z = 0.0f; + VECAdd(&sp28, &sp1C, &sp1C); + Hu3DModelPosSetV(lbl_1_bss_19A[temp_r31], &sp1C); + lbl_1_bss_108[temp_r31] *= cos(M_PI*(90.0f*temp_f31)/180.0); + lbl_1_bss_100[temp_r31] = 1.0-temp_f31; + temp_f31 = 1.0+(0.5*cos(M_PI*(90.0f*temp_f31)/180.0)); + Hu3DModelScaleSet(lbl_1_bss_19A[temp_r31], temp_f31, temp_f31, temp_f31); + } + HuPrcVSleep(); + } + if(temp_r29 && SLSaveFlagGet()) { + goto repeat; + } + HuWinKill(lbl_1_bss_146); + return 1; } s32 fn_1_562C(void) { - s16 i; - s16 result; - s16 ret; - ret = 1; - for (i = 0; i < 2; i++) { - result = HuCardSlotCheck((s32)i); - if (result == -2) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[i]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x37)); - HuWinMesWait(lbl_1_bss_148); - ret = 0; - } - else if (result > 0 && result != 8192) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[i]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x39)); - HuWinMesWait(lbl_1_bss_148); - ret = 0; - } - else if (result == -128) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[i]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x53)); - HuWinMesWait(lbl_1_bss_148); - ret = 0; - } - } - return ret; + s16 i; + s16 result; + s16 ret; + ret = 1; + for(i=0; i<2; i++) { + result = HuCardSlotCheck((s32)i); + if(result == -2) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[i]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100037); + HuWinMesWait(lbl_1_bss_148); + ret = 0; + } else if(result > 0 && result != 8192) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[i]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100039); + HuWinMesWait(lbl_1_bss_148); + ret = 0; + } else if(result == -128) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[i]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100053); + HuWinMesWait(lbl_1_bss_148); + ret = 0; + } + } + return ret; } void fn_1_57C8(s16 arg0) { - ModelData *model = &Hu3DData[arg0]; - HsfData *hsf = model->hsfData; - HsfMaterial *mat = hsf->material; - s16 i; - for (i = 0; i < hsf->materialCnt; i++, mat++) { - mat->invAlpha = 0.0f; - mat->pass &= 0xF0; - } + ModelData *model = &Hu3DData[arg0]; + HsfData *hsf = model->hsfData; + HsfMaterial *mat = hsf->material; + s16 i; + for(i=0; imaterialCnt; i++, mat++) { + mat->invAlpha = 0.0f; + mat->pass &= 0xF0; + } } typedef struct work_filesel { - s16 index; - s32 param; + s16 index; + s32 param; } WorkFilesel; void fn_1_5850(void) { - s16 index; - WorkFilesel *work; - s16 i; - s32 param; - Process *curr; - curr = HuPrcCurrentGet(); - work = curr->user_data; - index = work->index; - param = work->param; - Hu3DModelAttrSet(lbl_1_bss_19A[index + 2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_19A[index + 4], HU3D_ATTR_DISPOFF); - Hu3DMotionSet(lbl_1_bss_19A[index + 4], lbl_1_bss_16A[6]); - Hu3DMotionSpeedSet(lbl_1_bss_19A[index + 4], 2.0f); - if (param) { - Hu3DModelAttrReset(lbl_1_bss_19A[index + 4], HU3D_MOTATTR_REV); - } - else { - Hu3DModelAttrSet(lbl_1_bss_19A[index + 4], HU3D_MOTATTR_REV); - Hu3DMotionTimeSet(lbl_1_bss_19A[index + 4], Hu3DMotionMaxTimeGet(lbl_1_bss_19A[6])); - } - for (i = 0; i < 10; i++) { - float scale; - float time = i / 10.0; - if (param) { - scale = 1.0 + (0.3 * sind(90.0f * time)); - } - else { - scale = 1.0 + (0.3 * cosd(90.0f * time)); - } - Hu3DModelScaleSet(lbl_1_bss_19A[index + 2], scale, scale, scale); - Hu3DModelScaleSet(lbl_1_bss_19A[index + 4], scale, scale, scale); - Hu3DModelScaleSet(lbl_1_bss_19A[index], scale, scale, scale); - HuPrcVSleep(); - } - if (!param) { - Hu3DModelAttrReset(lbl_1_bss_19A[index + 2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_19A[index + 4], HU3D_ATTR_DISPOFF); - } - HuMemDirectFree(work); - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } + s16 index; + WorkFilesel *work; + s16 i; + s32 param; + Process *curr; + curr = HuPrcCurrentGet(); + work = curr->user_data; + index = work->index; + param = work->param; + Hu3DModelAttrSet(lbl_1_bss_19A[index+2], 1); + Hu3DModelAttrReset(lbl_1_bss_19A[index+4], 1); + Hu3DMotionSet(lbl_1_bss_19A[index+4], lbl_1_bss_16A[6]); + Hu3DMotionSpeedSet(lbl_1_bss_19A[index+4], 2.0f); + if(param) { + Hu3DModelAttrReset(lbl_1_bss_19A[index+4], 0x40000004); + } else { + Hu3DModelAttrSet(lbl_1_bss_19A[index+4], 0x40000004); + Hu3DMotionTimeSet(lbl_1_bss_19A[index+4], Hu3DMotionMaxTimeGet(lbl_1_bss_19A[6])); + } + for(i=0; i<10; i++) { + float scale; + float time = i/10.0; + if(param) { + scale = 1.0+(0.3*sin(M_PI*(90.0f*time)/180.0)); + } else { + scale = 1.0+(0.3*cos(M_PI*(90.0f*time)/180.0)); + } + Hu3DModelScaleSet(lbl_1_bss_19A[index+2], scale, scale, scale); + Hu3DModelScaleSet(lbl_1_bss_19A[index+4], scale, scale, scale); + Hu3DModelScaleSet(lbl_1_bss_19A[index], scale, scale, scale); + HuPrcVSleep(); + } + if(!param) { + Hu3DModelAttrReset(lbl_1_bss_19A[index+2], 1); + Hu3DModelAttrSet(lbl_1_bss_19A[index+4], 1); + } + HuMemDirectFree(work); + HuPrcEnd(); + while(1) { + HuPrcVSleep(); + } } void fn_1_5BAC(s16 arg0, s32 arg1) { - WorkFilesel *work; - Process *child; - Process *parent; - parent = HuPrcCurrentGet(); - child = HuPrcChildCreate(fn_1_5850, 50, 8192, 0, parent); - work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkFilesel), MEMORY_DEFAULT_NUM); - child->user_data = work; - work->index = arg0; - work->param = arg1; + WorkFilesel *work; + Process *child; + Process *parent; + parent = HuPrcCurrentGet(); + child = HuPrcChildCreate(fn_1_5850, 50, 8192, 0, parent); + work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkFilesel), MEMORY_DEFAULT_NUM); + child->user_data = work; + work->index = arg0; + work->param = arg1; } s32 fn_1_5C38(void) { - s32 result; - lbl_1_bss_14C = 0; - result = HuCardSlotCheck(0); - if (result == 8192) { - Hu3DModelAttrReset(lbl_1_bss_19A[0], HU3D_ATTR_DISPOFF); - lbl_1_bss_14C |= 1; - } - else { - Hu3DModelAttrSet(lbl_1_bss_19A[0], HU3D_ATTR_DISPOFF); - } - result = HuCardSlotCheck(1); - if (result == 8192) { - Hu3DModelAttrReset(lbl_1_bss_19A[1], HU3D_ATTR_DISPOFF); - lbl_1_bss_14C |= 2; - } - else { - Hu3DModelAttrSet(lbl_1_bss_19A[1], HU3D_ATTR_DISPOFF); - } - return lbl_1_bss_14C; + s32 result; + lbl_1_bss_14C = 0; + result = HuCardSlotCheck(0); + if(result == 8192) { + Hu3DModelAttrReset(lbl_1_bss_19A[0], 1); + lbl_1_bss_14C |= 1; + } else { + Hu3DModelAttrSet(lbl_1_bss_19A[0], 1); + } + result = HuCardSlotCheck(1); + if(result == 8192) { + Hu3DModelAttrReset(lbl_1_bss_19A[1], 1); + lbl_1_bss_14C |= 2; + } else { + Hu3DModelAttrSet(lbl_1_bss_19A[1], 1); + } + return lbl_1_bss_14C; } void fn_1_5D30(void) { - ModelData *model; - Vec pos_2d; - Vec pos_3d; - Mtx scale; - espAttrReset(lbl_1_bss_152[0], HUSPR_ATTR_DISPOFF); - espDrawNoSet(lbl_1_bss_152[0], 127); - espAttrReset(lbl_1_bss_152[1], HUSPR_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_19A[2], HU3D_ATTR_DISPOFF); - pos_2d.x = 188; - pos_2d.y = 250; - pos_2d.z = 600; - Hu3D2Dto3D(&pos_2d, 1, &pos_3d); - Hu3DModelPosSetV(lbl_1_bss_19A[2], &pos_3d); - Hu3DModelPosSetV(lbl_1_bss_19A[4], &pos_3d); - Hu3DModelPosSetV(lbl_1_bss_19A[0], &pos_3d); - MTXScale(scale, 0.5f, 0.5f, 0.5f); - model = &Hu3DData[lbl_1_bss_19A[2]]; - MTXCopy(scale, model->unk_F0); - model = &Hu3DData[lbl_1_bss_19A[4]]; - MTXCopy(scale, model->unk_F0); - model = &Hu3DData[lbl_1_bss_19A[0]]; - MTXCopy(scale, model->unk_F0); - Hu3DModelAttrReset(lbl_1_bss_19A[3], HU3D_ATTR_DISPOFF); - pos_2d.x = 388; - Hu3D2Dto3D(&pos_2d, 1, &pos_3d); - Hu3DModelPosSetV(lbl_1_bss_19A[3], &pos_3d); - Hu3DModelPosSetV(lbl_1_bss_19A[5], &pos_3d); - Hu3DModelPosSetV(lbl_1_bss_19A[1], &pos_3d); - model = &Hu3DData[lbl_1_bss_19A[3]]; - MTXCopy(scale, model->unk_F0); - model = &Hu3DData[lbl_1_bss_19A[5]]; - MTXCopy(scale, model->unk_F0); - model = &Hu3DData[lbl_1_bss_19A[1]]; - MTXCopy(scale, model->unk_F0); - Hu3DModelScaleSet(lbl_1_bss_19A[0], 0, 0, 0); - Hu3DModelScaleSet(lbl_1_bss_19A[1], 0, 0, 0); - Hu3DModelScaleSet(lbl_1_bss_19A[2], 0, 0, 0); - Hu3DModelScaleSet(lbl_1_bss_19A[3], 0, 0, 0); - Hu3DModelScaleSet(lbl_1_bss_19A[4], 0, 0, 0); - Hu3DModelScaleSet(lbl_1_bss_19A[5], 0, 0, 0); - fn_1_5C38(); + ModelData *model; + Vec pos_2d; + Vec pos_3d; + Mtx scale; + espAttrReset(lbl_1_bss_152[0], 4); + espDrawNoSet(lbl_1_bss_152[0], 127); + espAttrReset(lbl_1_bss_152[1], 4); + Hu3DModelAttrReset(lbl_1_bss_19A[2], 1); + pos_2d.x = 188; + pos_2d.y = 250; + pos_2d.z = 600; + Hu3D2Dto3D(&pos_2d, 1, &pos_3d); + Hu3DModelPosSetV(lbl_1_bss_19A[2], &pos_3d); + Hu3DModelPosSetV(lbl_1_bss_19A[4], &pos_3d); + Hu3DModelPosSetV(lbl_1_bss_19A[0], &pos_3d); + MTXScale(scale, 0.5f, 0.5f, 0.5f); + model = &Hu3DData[lbl_1_bss_19A[2]]; + MTXCopy(scale, model->unk_F0); + model = &Hu3DData[lbl_1_bss_19A[4]]; + MTXCopy(scale, model->unk_F0); + model = &Hu3DData[lbl_1_bss_19A[0]]; + MTXCopy(scale, model->unk_F0); + Hu3DModelAttrReset(lbl_1_bss_19A[3], 1); + pos_2d.x = 388; + Hu3D2Dto3D(&pos_2d, 1, &pos_3d); + Hu3DModelPosSetV(lbl_1_bss_19A[3], &pos_3d); + Hu3DModelPosSetV(lbl_1_bss_19A[5], &pos_3d); + Hu3DModelPosSetV(lbl_1_bss_19A[1], &pos_3d); + model = &Hu3DData[lbl_1_bss_19A[3]]; + MTXCopy(scale, model->unk_F0); + model = &Hu3DData[lbl_1_bss_19A[5]]; + MTXCopy(scale, model->unk_F0); + model = &Hu3DData[lbl_1_bss_19A[1]]; + MTXCopy(scale, model->unk_F0); + Hu3DModelScaleSet(lbl_1_bss_19A[0], 0, 0, 0); + Hu3DModelScaleSet(lbl_1_bss_19A[1], 0, 0, 0); + Hu3DModelScaleSet(lbl_1_bss_19A[2], 0, 0, 0); + Hu3DModelScaleSet(lbl_1_bss_19A[3], 0, 0, 0); + Hu3DModelScaleSet(lbl_1_bss_19A[4], 0, 0, 0); + Hu3DModelScaleSet(lbl_1_bss_19A[5], 0, 0, 0); + fn_1_5C38(); } void fn_1_7628(s16 boxno, s32 flag); @@ -765,1381 +745,1302 @@ void fn_1_BA80(s16 boxno); s32 fn_1_61B4(void) { - float temp_f31; - s16 temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - s32 temp_r27; - s16 temp_r26; - float sp10[2]; - OSTime sp8; - HuWinMesMaxSizeGet(1, sp10, MAKE_MESSID(0x10, 0x3D)); - lbl_1_bss_146 = HuWinExCreateStyled(-10000, 316, sp10[0], sp10[1], -1, 0); - HuWinAttrSet(lbl_1_bss_146, 0x800); - HuWinBGTPLvlSet(lbl_1_bss_146, 0); - HuWinMesSpeedSet(lbl_1_bss_146, 0); - temp_r30 = -1; - for (temp_r29 = lbl_1_bss_88 = 0; temp_r29 < 3; temp_r29++) { - lbl_1_bss_EE[temp_r29] = -1; - lbl_1_bss_E8[temp_r29] = -1; - lbl_1_bss_140[temp_r29] = 0; - temp_r27 = fn_1_76B4(SaveFileNameTbl[temp_r29], curSlotNo); - if (temp_r27 == 0) { - temp_r27 = fn_1_83B4(); - if (temp_r27 == 0) { - lbl_1_bss_140[temp_r29] = 1; - if (lbl_1_bss_88 == 0) { - temp_r30 = temp_r29; - } - lbl_1_bss_88++; - if (SLCheckSumCheck()) { - fn_1_A8C0(temp_r29); - } - } - fn_1_9E14(); - } - if (temp_r27 != 0 && temp_r27 != -4) { - HuWinKill(lbl_1_bss_146); - return 0; - } - } - fn_1_9E4C(); - if (temp_r30 == -1) { - temp_r30 = 0; - } - lbl_1_bss_120[0] = lbl_1_bss_120[1] = lbl_1_bss_120[2] = 1; - UnMountCnt = 0; - for (temp_r29 = 0; temp_r29 <= 20; temp_r29++) { - temp_f31 = sind(90.0f * (temp_r29 / 20.0f)); - for (temp_r28 = 0; temp_r28 < 3; temp_r28++) { - Hu3DModelScaleSet(lbl_1_bss_19A[temp_r28 + 8], temp_f31, temp_f31, temp_f31); - Hu3DModelScaleSet(lbl_1_bss_19A[temp_r28 + 11], temp_f31, temp_f31, temp_f31); - } - HuPrcVSleep(); - } - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x07)); - HuWinMesWait(lbl_1_bss_148); - fn_1_7628(temp_r30, 1); - if (lbl_1_bss_88 == 0) { - HuWinMesSet(lbl_1_bss_146, MAKE_MESSID(16, 0x40)); - } - else { - if (lbl_1_bss_88 == 3) { - HuWinMesSet(lbl_1_bss_146, MAKE_MESSID(16, 0x3F)); - } - else { - HuWinMesSet(lbl_1_bss_146, MAKE_MESSID(16, 0x3D)); - } - } - HuWinDispOn(lbl_1_bss_146); - fn_1_BA80(temp_r30); - if (UnMountCnt & (1 << curSlotNo)) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x50)); - HuWinMesWait(lbl_1_bss_148); - temp_r31 = 0; - } - else { - UnMountCnt = 0; - while (1) { - HuPrcVSleep(); - if (UnMountCnt & (1 << curSlotNo)) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x50)); - HuWinMesWait(lbl_1_bss_148); - temp_r31 = 0; - break; - } - temp_r26 = 0; - if (HuPadDStkRep[0] & 0x1) { - temp_r26 = -1; - } - else if (HuPadDStkRep[0] & 0x2) { - temp_r26 = 1; - } - if (temp_r26) { - fn_1_7628(temp_r30, 0); - temp_r30 += temp_r26; - if (temp_r30 < 0) { - temp_r30 = 2; - } - else if (temp_r30 >= 3) { - temp_r30 = 0; - } - HuAudFXPlay(0); - fn_1_7628(temp_r30, 1); - fn_1_BA80(temp_r30); - HuPrcSleep(10); - } - if ((HuPadBtnDown[0] & PAD_BUTTON_X) && lbl_1_bss_140[temp_r30]) { - UnMountCnt = 0; - temp_r31 = fn_1_76B4(SaveFileNameTbl[temp_r30], curSlotNo); - if (temp_r31 < 0) { - temp_r31 = 0; - break; - } - if (!lbl_1_bss_140[temp_r30]) { - continue; - } - HuWinDispOff(lbl_1_bss_146); - HuAudFXPlay(2); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_288[temp_r30]), 1); - HuWinAttrSet(lbl_1_bss_148, 0x10); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x08)); - HuWinMesWait(lbl_1_bss_148); - temp_r31 = HuWinChoiceGet(lbl_1_bss_148, 1); - if (temp_r31 == 0) { - temp_r31 = fn_1_8540(temp_r30); - if (temp_r31 == 0) { - break; - } - } - if (UnMountCnt & (1 << curSlotNo)) { - continue; - } - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x07)); - HuWinMesWait(lbl_1_bss_148); - if (lbl_1_bss_88 == 0) { - HuWinMesSet(lbl_1_bss_146, MAKE_MESSID(16, 0x40)); - } - else if (lbl_1_bss_88 == 3) { - HuWinMesSet(lbl_1_bss_146, MAKE_MESSID(16, 0x3F)); - } - else { - HuWinMesSet(lbl_1_bss_146, MAKE_MESSID(16, 0x3D)); - } - HuWinDispOn(lbl_1_bss_146); - fn_1_BA80(temp_r30); - continue; - } - else if (HuPadBtnDown[0] & PAD_BUTTON_Y) { - UnMountCnt = 0; - if (HuCardSlotCheck(curSlotNo) < 0) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x02)); - HuWinMesWait(lbl_1_bss_148); - temp_r31 = 0; - break; - } - if (!lbl_1_bss_140[temp_r30]) { - continue; - } - for (temp_r29 = 0; temp_r29 < 3; temp_r29++) { - if (!lbl_1_bss_140[temp_r29]) { - break; - } - } - if (temp_r29 == 3) { - continue; - } - HuWinDispOff(lbl_1_bss_146); - HuAudFXPlay(2); - if (fn_1_8C30(temp_r30) == 0) { - temp_r31 = 0; - break; - } - if (UnMountCnt & (1 << curSlotNo)) { - continue; - } - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x07)); - HuWinMesWait(lbl_1_bss_148); - if (lbl_1_bss_88 == 0) { - HuWinMesSet(lbl_1_bss_146, MAKE_MESSID(16, 0x40)); - } - else if (lbl_1_bss_88 == 3) { - HuWinMesSet(lbl_1_bss_146, MAKE_MESSID(16, 0x3F)); - } - else { - HuWinMesSet(lbl_1_bss_146, MAKE_MESSID(16, 0x3D)); - } - HuWinDispOn(lbl_1_bss_146); - fn_1_BA80(temp_r30); - continue; - } - else if (HuPadBtnDown[0] & PAD_BUTTON_A) { - UnMountCnt = 0; - HuWinDispOff(lbl_1_bss_146); - HuCardMount(curSlotNo); - if (HuCardSlotCheck(curSlotNo) < 0) { - HuAudFXPlay(4); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x02)); - HuWinMesWait(lbl_1_bss_148); - temp_r31 = 0; - break; - } - if (SLSerialNoCheck() == 0) { - HuAudFXPlay(4); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x45)); - HuWinMesWait(lbl_1_bss_148); - temp_r31 = 0; - break; - } - HuAudFXPlay(2097); - SLCurBoxNoSet(temp_r30); - if (!lbl_1_bss_140[temp_r30]) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x0B)); - HuWinMesWait(lbl_1_bss_148); - sp8 = OSGetTime(); - SLSaveDataMake(1, &sp8); - GWGameStatReset(); - #if VERSION_PAL - _ClearFlag(0x1000B); - #endif - GWGameStat.sound_mode = msmSysGetOutputMode(); - SLCommonSet(); - fn_1_B8CC(MAKE_MESSID(16, 0x3C)); - HuPrcSleep(20); - if (UnMountCnt & (1 << curSlotNo)) { - fn_1_BA20(); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x50)); - HuWinMesWait(lbl_1_bss_148); - temp_r31 = 0; - break; - } - temp_r27 = fn_1_7B74(temp_r30); - fn_1_BA20(); - if (temp_r27 != 0) { - temp_r31 = 1; - break; - } - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x4F)); - HuWinAttrSet(lbl_1_bss_148, 0x10); - HuWinMesWait(lbl_1_bss_148); - temp_r31 = HuWinChoiceGet(lbl_1_bss_148, 1); - if (temp_r31 == 0) { - SLSaveFlagSet(0); - temp_r31 = 1; - break; - } - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x52), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x4C)); - HuWinMesWait(lbl_1_bss_148); - while (!(HuPadBtnDown[0] & PAD_BUTTON_A)) { - HuPrcVSleep(); - } - temp_r31 = 0; - break; - } - else { - if (!fn_1_76B4(SaveFileNameTbl[temp_r30], curSlotNo)) { - if (!fn_1_83B4()) { - if (SLCheckSumCheck()) { - fn_1_9E14(); - SLLoadGameStat(); - #if VERSION_PAL - if(GwLanguageSave != -1) { - GWGameStat.language = GwLanguageSave; - } - GwLanguage = GWGameStat.language; - _ClearFlag(0x1000B); - #endif - temp_r31 = 1; - break; - } - HuWinHomeClear(lbl_1_bss_148); - HuPrcSleep(60); - if (UnMountCnt & (1 << curSlotNo)) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x50)); - HuWinMesWait(lbl_1_bss_148); - temp_r31 = 0; - break; - } - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_288[temp_r30]), 0); - HuWinAttrSet(lbl_1_bss_148, 0x10); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x3A)); - HuWinMesWait(lbl_1_bss_148); - temp_r31 = HuWinChoiceGet(lbl_1_bss_148, 1); - if (!temp_r31) { - temp_r31 = fn_1_8540(temp_r30); - if (temp_r31 == 0) { - break; - } - if (HuCardMount(curSlotNo) < 0) { - temp_r31 = 0; - break; - } - } - } - else { - temp_r31 = 0; - } - } - else { - temp_r31 = 0; - } - if (temp_r31 == 0) { - break; - } - if (UnMountCnt & (1 << curSlotNo)) { - continue; - } - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x07)); - HuWinMesWait(lbl_1_bss_148); - if (lbl_1_bss_88 == 0) { - HuWinMesSet(lbl_1_bss_146, MAKE_MESSID(16, 0x40)); - } - else if (lbl_1_bss_88 == 3) { - HuWinMesSet(lbl_1_bss_146, MAKE_MESSID(16, 0x3F)); - } - else { - HuWinMesSet(lbl_1_bss_146, MAKE_MESSID(16, 0x3D)); - } - HuWinDispOn(lbl_1_bss_146); - fn_1_BA80(temp_r30); - continue; - } - } - else if (HuPadBtnDown[0] & PAD_BUTTON_B) { - HuAudFXPlay(3); - temp_r31 = 0; - break; - } - } - } - HuWinDispOff(lbl_1_bss_146); - for (temp_r29 = 0; temp_r29 <= 20; temp_r29++) { - temp_f31 = cosd(90.0 * (temp_r29 / 20.0)); - Hu3DModelScaleSet(lbl_1_bss_19A[curSlotNo], temp_f31, temp_f31, temp_f31); - for (temp_r28 = 0; temp_r28 < 3; temp_r28++) { - Hu3DModelScaleSet(lbl_1_bss_19A[temp_r28 + 8], temp_f31, temp_f31, temp_f31); - Hu3DModelScaleSet(lbl_1_bss_19A[temp_r28 + 11], temp_f31, temp_f31, temp_f31); - } - if (temp_r31) { - espScaleSet(lbl_1_bss_152[1], temp_f31, temp_f31); - } - HuPrcVSleep(); - } - HuWinKill(lbl_1_bss_146); - return temp_r31; + float temp_f31; + s16 temp_r31; + s16 temp_r30; + s16 temp_r29; + s16 temp_r28; + s32 temp_r27; + s16 temp_r26; + float sp10[2]; + OSTime sp8; + HuWinMesMaxSizeGet(1, sp10, 0x10003D); + lbl_1_bss_146 = HuWinExCreateStyled(-10000, 316, sp10[0], sp10[1], -1, 0); + HuWinAttrSet(lbl_1_bss_146, 0x800); + HuWinBGTPLvlSet(lbl_1_bss_146, 0); + HuWinMesSpeedSet(lbl_1_bss_146, 0); + temp_r30 = -1; + for(temp_r29=lbl_1_bss_88=0; temp_r29<3; temp_r29++) { + lbl_1_bss_EE[temp_r29] = -1; + lbl_1_bss_E8[temp_r29] = -1; + lbl_1_bss_140[temp_r29] = 0; + temp_r27 = fn_1_76B4(SaveFileNameTbl[temp_r29], curSlotNo); + if(temp_r27 == 0) { + temp_r27 = fn_1_83B4(); + if(temp_r27 == 0) { + lbl_1_bss_140[temp_r29] = 1; + if(lbl_1_bss_88 == 0) { + temp_r30 = temp_r29; + } + lbl_1_bss_88++; + if(SLCheckSumCheck()) { + fn_1_A8C0(temp_r29); + } + } + fn_1_9E14(); + } + if(temp_r27 != 0 && temp_r27 != -4) { + HuWinKill(lbl_1_bss_146); + return 0; + } + } + fn_1_9E4C(); + if(temp_r30 == -1) { + temp_r30 = 0; + } + lbl_1_bss_120[0] = lbl_1_bss_120[1] = lbl_1_bss_120[2] = 1; + UnMountCnt = 0; + for(temp_r29=0; temp_r29<=20; temp_r29++) { + temp_f31 = sin(M_PI*(90.0f*(temp_r29/20.0f))/180.0); + for(temp_r28=0; temp_r28<3; temp_r28++) { + Hu3DModelScaleSet(lbl_1_bss_19A[temp_r28+8], temp_f31, temp_f31, temp_f31); + Hu3DModelScaleSet(lbl_1_bss_19A[temp_r28+11], temp_f31, temp_f31, temp_f31); + } + HuPrcVSleep(); + } + HuWinMesSet(lbl_1_bss_148, 0x100007); + HuWinMesWait(lbl_1_bss_148); + fn_1_7628(temp_r30, 1); + if(lbl_1_bss_88 == 0) { + HuWinMesSet(lbl_1_bss_146, 0x100040); + } else { + if(lbl_1_bss_88 == 3) { + HuWinMesSet(lbl_1_bss_146, 0x10003F); + } else { + HuWinMesSet(lbl_1_bss_146, 0x10003D); + } + } + HuWinDispOn(lbl_1_bss_146); + fn_1_BA80(temp_r30); + if(UnMountCnt & (1 << curSlotNo)) { + HuWinMesSet(lbl_1_bss_148, 0x100050); + HuWinMesWait(lbl_1_bss_148); + temp_r31 = 0; + } else { + UnMountCnt = 0; + while(1) { + HuPrcVSleep(); + if(UnMountCnt & (1 << curSlotNo)) { + HuWinMesSet(lbl_1_bss_148, 0x100050); + HuWinMesWait(lbl_1_bss_148); + temp_r31 = 0; + break; + } + temp_r26 = 0; + if(HuPadDStkRep[0] & 0x1) { + temp_r26 = -1; + } else if(HuPadDStkRep[0] & 0x2) { + temp_r26 = 1; + } + if(temp_r26) { + fn_1_7628(temp_r30, 0); + temp_r30 += temp_r26; + if(temp_r30 < 0) { + temp_r30 = 2; + } else if(temp_r30 >= 3) { + temp_r30 = 0; + } + HuAudFXPlay(0); + fn_1_7628(temp_r30, 1); + fn_1_BA80(temp_r30); + HuPrcSleep(10); + } + if((HuPadBtnDown[0] & PAD_BUTTON_X) && lbl_1_bss_140[temp_r30]) { + UnMountCnt = 0; + temp_r31 = fn_1_76B4(SaveFileNameTbl[temp_r30], curSlotNo); + if(temp_r31 < 0) { + temp_r31 = 0; + break; + } + if(!lbl_1_bss_140[temp_r30]) { + continue; + } + HuWinDispOff(lbl_1_bss_146); + HuAudFXPlay(2); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_288[temp_r30]), 1); + HuWinAttrSet(lbl_1_bss_148, 0x10); + HuWinMesSet(lbl_1_bss_148, 0x100008); + HuWinMesWait(lbl_1_bss_148); + temp_r31 = HuWinChoiceGet(lbl_1_bss_148, 1); + if(temp_r31 == 0) { + temp_r31 = fn_1_8540(temp_r30); + if(temp_r31 == 0) { + break; + } + } + if(UnMountCnt & (1 << curSlotNo)) { + continue; + } + HuWinMesSet(lbl_1_bss_148, 0x100007); + HuWinMesWait(lbl_1_bss_148); + if(lbl_1_bss_88 == 0) { + HuWinMesSet(lbl_1_bss_146, 0x100040); + } else if(lbl_1_bss_88 == 3) { + HuWinMesSet(lbl_1_bss_146, 0x10003F); + } else { + HuWinMesSet(lbl_1_bss_146, 0x10003D); + } + HuWinDispOn(lbl_1_bss_146); + fn_1_BA80(temp_r30); + continue; + } else if(HuPadBtnDown[0] & PAD_BUTTON_Y) { + UnMountCnt = 0; + if(HuCardSlotCheck(curSlotNo) < 0) { + HuWinMesSet(lbl_1_bss_148, 0x100002); + HuWinMesWait(lbl_1_bss_148); + temp_r31 = 0; + break; + } + if(!lbl_1_bss_140[temp_r30]) { + continue; + } + for(temp_r29=0; temp_r29<3; temp_r29++) { + if(!lbl_1_bss_140[temp_r29]) { + break; + } + } + if(temp_r29 == 3) { + continue; + } + HuWinDispOff(lbl_1_bss_146); + HuAudFXPlay(2); + if(fn_1_8C30(temp_r30) == 0) { + temp_r31 = 0; + break; + } + if(UnMountCnt & (1 << curSlotNo)) { + continue; + } + HuWinMesSet(lbl_1_bss_148, 0x100007); + HuWinMesWait(lbl_1_bss_148); + if(lbl_1_bss_88 == 0) { + HuWinMesSet(lbl_1_bss_146, 0x100040); + } else if(lbl_1_bss_88 == 3) { + HuWinMesSet(lbl_1_bss_146, 0x10003F); + } else { + HuWinMesSet(lbl_1_bss_146, 0x10003D); + } + HuWinDispOn(lbl_1_bss_146); + fn_1_BA80(temp_r30); + continue; + } else if(HuPadBtnDown[0] & PAD_BUTTON_A) { + UnMountCnt = 0; + HuWinDispOff(lbl_1_bss_146); + HuCardMount(curSlotNo); + if(HuCardSlotCheck(curSlotNo) < 0) { + HuAudFXPlay(4); + HuWinMesSet(lbl_1_bss_148, 0x100002); + HuWinMesWait(lbl_1_bss_148); + temp_r31 = 0; + break; + } + if(SLSerialNoCheck() == 0) { + HuAudFXPlay(4); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100045); + HuWinMesWait(lbl_1_bss_148); + temp_r31 = 0; + break; + } + HuAudFXPlay(2097); + SLCurBoxNoSet(temp_r30); + if(!lbl_1_bss_140[temp_r30]) { + HuWinMesSet(lbl_1_bss_148, 0x10000B); + HuWinMesWait(lbl_1_bss_148); + sp8 = OSGetTime(); + SLSaveDataMake(1, &sp8); + GWGameStatReset(); + GWGameStat.sound_mode = msmSysGetOutputMode(); + SLCommonSet(); + fn_1_B8CC(0x10003C); + HuPrcSleep(20); + if(UnMountCnt & (1 << curSlotNo)) { + fn_1_BA20(); + HuWinMesSet(lbl_1_bss_148, 0x100050); + HuWinMesWait(lbl_1_bss_148); + temp_r31 = 0; + break; + } + temp_r27 = fn_1_7B74(temp_r30); + fn_1_BA20(); + if(temp_r27 != 0) { + temp_r31 = 1; + break; + } + HuWinMesSet(lbl_1_bss_148, 0x10004F); + HuWinAttrSet(lbl_1_bss_148, 0x10); + HuWinMesWait(lbl_1_bss_148); + temp_r31 = HuWinChoiceGet(lbl_1_bss_148, 1); + if(temp_r31 == 0) { + SLSaveFlagSet(0); + temp_r31 = 1; + break; + } + HuWinInsertMesSet(lbl_1_bss_148, 0x100052, 0); + HuWinMesSet(lbl_1_bss_148, 0x10004C); + HuWinMesWait(lbl_1_bss_148); + while(!(HuPadBtnDown[0] & PAD_BUTTON_A)) { + HuPrcVSleep(); + } + temp_r31 = 0; + break; + } else { + if(!fn_1_76B4(SaveFileNameTbl[temp_r30], curSlotNo)) { + if(!fn_1_83B4()) { + if(SLCheckSumCheck()) { + fn_1_9E14(); + SLLoadGameStat(); + temp_r31 = 1; + break; + } + HuWinHomeClear(lbl_1_bss_148); + HuPrcSleep(60); + if(UnMountCnt & (1 << curSlotNo)) { + HuWinMesSet(lbl_1_bss_148, 0x100050); + HuWinMesWait(lbl_1_bss_148); + temp_r31 = 0; + break; + } + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_288[temp_r30]), 0); + HuWinAttrSet(lbl_1_bss_148, 0x10); + HuWinMesSet(lbl_1_bss_148, 0x10003A); + HuWinMesWait(lbl_1_bss_148); + temp_r31 = HuWinChoiceGet(lbl_1_bss_148, 1); + if(!temp_r31) { + temp_r31 = fn_1_8540(temp_r30); + if(temp_r31 == 0) { + break; + } + if(HuCardMount(curSlotNo) < 0) { + temp_r31 = 0; + break; + } + } + } else { + temp_r31 = 0; + } + } else { + temp_r31 = 0; + } + if(temp_r31 == 0) { + break; + } + if(UnMountCnt & (1 << curSlotNo)) { + continue; + } + HuWinMesSet(lbl_1_bss_148, 0x100007); + HuWinMesWait(lbl_1_bss_148); + if(lbl_1_bss_88 == 0) { + HuWinMesSet(lbl_1_bss_146, 0x100040); + } else if(lbl_1_bss_88 == 3) { + HuWinMesSet(lbl_1_bss_146, 0x10003F); + } else { + HuWinMesSet(lbl_1_bss_146, 0x10003D); + } + HuWinDispOn(lbl_1_bss_146); + fn_1_BA80(temp_r30); + continue; + } + } else if(HuPadBtnDown[0] & PAD_BUTTON_B) { + HuAudFXPlay(3); + temp_r31 = 0; + break; + } + } + } + HuWinDispOff(lbl_1_bss_146); + for(temp_r29=0; temp_r29<=20; temp_r29++) { + temp_f31 = cos(M_PI*(90.0*(temp_r29/20.0))/180.0); + Hu3DModelScaleSet(lbl_1_bss_19A[curSlotNo], temp_f31, temp_f31, temp_f31); + for(temp_r28=0; temp_r28<3; temp_r28++) { + Hu3DModelScaleSet(lbl_1_bss_19A[temp_r28+8], temp_f31, temp_f31, temp_f31); + Hu3DModelScaleSet(lbl_1_bss_19A[temp_r28+11], temp_f31, temp_f31, temp_f31); + } + if(temp_r31) { + espScaleSet(lbl_1_bss_152[1], temp_f31, temp_f31); + } + HuPrcVSleep(); + } + HuWinKill(lbl_1_bss_146); + return temp_r31; } void fn_1_72DC(void) { - s16 index; - WorkFilesel *work; - s16 i; - s32 param; - Process *curr; - curr = HuPrcCurrentGet(); - work = curr->user_data; - index = work->index; - param = work->param; - if (param) { - Hu3DModelAttrReset(lbl_1_bss_19A[index + 8], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_19A[index + 11], HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(lbl_1_bss_19A[index + 8], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_19A[index + 11], HU3D_ATTR_DISPOFF); - } - for (i = 0; i <= 10; i++) { - float scale; - Vec pos_2d; - Vec pos_3d; - if (param) { - scale = sind(90.0f * (i / 10.0f)); - } - else { - scale = cosd(90.0f * (i / 10.0f)); - } - pos_2d.x = 158.0f + (index * 130); - pos_2d.y = 230; - pos_2d.z = 800; - Hu3D2Dto3D(&pos_2d, 1, &pos_3d); - pos_3d.z = 800 + (100.0f * scale); - Hu3DModelPosSetV(lbl_1_bss_19A[index + 8], &pos_3d); - Hu3DModelPosSetV(lbl_1_bss_19A[index + 11], &pos_3d); - Hu3DModelScaleSet(lbl_1_bss_19A[index + 8], 1, 1, 1); - Hu3DModelScaleSet(lbl_1_bss_19A[index + 11], 1, 1, 1); - HuPrcVSleep(); - } - (void)curr; - HuMemDirectFree(work); - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } + s16 index; + WorkFilesel *work; + s16 i; + s32 param; + Process *curr; + curr = HuPrcCurrentGet(); + work = curr->user_data; + index = work->index; + param = work->param; + if(param) { + Hu3DModelAttrReset(lbl_1_bss_19A[index+8], 1); + Hu3DModelAttrSet(lbl_1_bss_19A[index+11], 1); + } else { + Hu3DModelAttrSet(lbl_1_bss_19A[index+8], 1); + Hu3DModelAttrReset(lbl_1_bss_19A[index+11], 1); + } + for(i=0; i<=10; i++) { + float scale; + Vec pos_2d; + Vec pos_3d; + if(param) { + scale = sin(M_PI*(90.0f*(i/10.0f))/180.0); + } else { + scale = cos(M_PI*(90.0f*(i/10.0f))/180.0); + } + pos_2d.x = 158.0f+(index*130); + pos_2d.y = 230; + pos_2d.z = 800; + Hu3D2Dto3D(&pos_2d, 1, &pos_3d); + pos_3d.z = 800+(100.0f*scale); + Hu3DModelPosSetV(lbl_1_bss_19A[index+8], &pos_3d); + Hu3DModelPosSetV(lbl_1_bss_19A[index+11], &pos_3d); + Hu3DModelScaleSet(lbl_1_bss_19A[index+8], 1, 1, 1); + Hu3DModelScaleSet(lbl_1_bss_19A[index+11], 1, 1, 1); + HuPrcVSleep(); + } + (void)curr; + HuMemDirectFree(work); + HuPrcEnd(); + while(1) { + HuPrcVSleep(); + } } void fn_1_7628(s16 boxno, s32 flag) { - WorkFilesel *work; - Process *parent; - Process *child; - - parent = HuPrcCurrentGet(); - child = HuPrcChildCreate(fn_1_72DC, 50, 8192, 0, parent); - work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkFilesel), MEMORY_DEFAULT_NUM); - child->user_data = work; - work->index = boxno; - work->param = flag; + WorkFilesel *work; + Process *parent; + Process *child; + + parent = HuPrcCurrentGet(); + child = HuPrcChildCreate(fn_1_72DC, 50, 8192, 0, parent); + work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkFilesel), MEMORY_DEFAULT_NUM); + child->user_data = work; + work->index = boxno; + work->param = flag; } s32 fn_1_76B4(char *name, s16 slotno) { - s32 result; - s16 choice; - s16 filecnt; - filecnt = 0; - while (1) { - filecnt++; - result = HuCardMount(slotno); - if (result == 0) { - result = HuCardOpen(slotno, name, &curFileInfo); - if (result == 0 || result == -4) { - if (SLSerialNoCheck()) { - return result; - } - } - } - if (result == -2) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[slotno]), 0); - #if VERSION_PAL - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x39)); - #else - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x37)); - #endif - HuWinMesWait(lbl_1_bss_148); - return result; - } - if (result == -128 || filecnt > 3) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[slotno]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x53)); - HuWinMesWait(lbl_1_bss_148); - return result; - } - else if (result == -3) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x02)); - HuWinMesWait(lbl_1_bss_148); - return result; - } - else if (result == -4 || !SLSerialNoCheck()) { - OSReport("Card Open Error:No File\n"); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x45)); - HuWinMesWait(lbl_1_bss_148); - break; - } - else if (result == -6) { - UnMountCnt = 0; - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[slotno]), 0); - HuWinAttrSet(lbl_1_bss_148, 0x10); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x04)); - HuWinMesWait(lbl_1_bss_148); - choice = HuWinChoiceGet(lbl_1_bss_148, 1); - if (choice == 0) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x4E)); - HuWinMesWait(lbl_1_bss_148); - choice = HuWinChoiceGet(lbl_1_bss_148, 1); - if (choice == 0) { - fn_1_B8CC(MAKE_MESSID(16, 0x38)); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x0B)); - HuWinMesWait(lbl_1_bss_148); - HuPrcSleep(60); - if (UnMountCnt & (1 << curSlotNo)) { - fn_1_BA20(); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x50)); - HuWinMesWait(lbl_1_bss_148); - } - else { - _SetFlag(0x30000); - result = HuCardFormat(slotno); - _ClearFlag(0x30000); - if (result == 0) { - SLSerialNoGet(); - } - fn_1_BA20(); - if (result == -128) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x36)); - HuWinMesWait(lbl_1_bss_148); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x53)); - HuWinMesWait(lbl_1_bss_148); - return result; - } - else if (result == -3) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x02)); - HuWinMesWait(lbl_1_bss_148); - return result; - } - } - } - else { - return result; - } - continue; - } - return result; - } - break; - } - return result; + s32 result; + s16 choice; + s16 filecnt; + filecnt = 0; + while(1) { + filecnt++; + result = HuCardMount(slotno); + if(result == 0) { + result = HuCardOpen(slotno, name, &curFileInfo); + if(result == 0 || result == -4) { + if(SLSerialNoCheck()) { + return result; + } + } + } + if(result == -2) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[slotno]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100037); + HuWinMesWait(lbl_1_bss_148); + return result; + } + if(result == -128 || filecnt > 3) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[slotno]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100053); + HuWinMesWait(lbl_1_bss_148); + return result; + } else if(result == -3) { + HuWinMesSet(lbl_1_bss_148, 0x100002); + HuWinMesWait(lbl_1_bss_148); + return result; + } else if(result == -4 || !SLSerialNoCheck()) { + OSReport("Card Open Error:No File\n"); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100045); + HuWinMesWait(lbl_1_bss_148); + break; + } else if(result == -6) { + UnMountCnt = 0; + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[slotno]), 0); + HuWinAttrSet(lbl_1_bss_148, 0x10); + HuWinMesSet(lbl_1_bss_148, 0x100004); + HuWinMesWait(lbl_1_bss_148); + choice = HuWinChoiceGet(lbl_1_bss_148, 1); + if(choice == 0) { + HuWinMesSet(lbl_1_bss_148, 0x10004E); + HuWinMesWait(lbl_1_bss_148); + choice = HuWinChoiceGet(lbl_1_bss_148, 1); + if(choice == 0) { + fn_1_B8CC(0x100038); + HuWinMesSet(lbl_1_bss_148, 0x10000B); + HuWinMesWait(lbl_1_bss_148); + HuPrcSleep(60); + if(UnMountCnt & (1 << curSlotNo)) { + fn_1_BA20(); + HuWinMesSet(lbl_1_bss_148, 0x100050); + HuWinMesWait(lbl_1_bss_148); + } else { + _SetFlag(0x30000); + result = HuCardFormat(slotno); + _ClearFlag(0x30000); + if(result == 0) { + SLSerialNoGet(); + } + fn_1_BA20(); + if(result == -128) { + HuWinMesSet(lbl_1_bss_148, 0x100036); + HuWinMesWait(lbl_1_bss_148); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100053); + HuWinMesWait(lbl_1_bss_148); + return result; + } else if(result == -3) { + HuWinMesSet(lbl_1_bss_148, 0x100002); + HuWinMesWait(lbl_1_bss_148); + return result; + } + } + } else { + return result; + } + continue; + } + return result; + } + break; + } + return result; } s32 fn_1_7B74(s16 boxno) { - s32 result; - s32 i; - result = HuCardMount(curSlotNo); - if (result == 0 && !SLSerialNoCheck()) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x45)); - HuWinMesWait(lbl_1_bss_148); - } - else { - result = HuCardSectorSizeGet(curSlotNo); - if (result == -3) { - fn_1_BA20(); - OSReport("SectorSize Check Error:No Card %d\n", curSlotNo); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x02)); - HuWinMesWait(lbl_1_bss_148); - } - else { - if (result != 8192) { - fn_1_BA20(); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x39)); - HuWinMesWait(lbl_1_bss_148); - } - else { - u32 byteNotUsed; - u32 filesNotUsed; - result = HuCardFreeSpaceGet(curSlotNo, &byteNotUsed, &filesNotUsed); - if (filesNotUsed == 0 && byteNotUsed < SAVE_BUF_SIZE) { - fn_1_BA20(); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x4A)); - HuWinMesWait(lbl_1_bss_148); - } - else if (filesNotUsed == 0) { - fn_1_BA20(); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x4A)); - HuWinMesWait(lbl_1_bss_148); - } - else if (byteNotUsed < SAVE_BUF_SIZE) { - fn_1_BA20(); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x4A)); - HuWinMesWait(lbl_1_bss_148); - } - else { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x0B)); - HuWinMesWait(lbl_1_bss_148); - for (i = 0; i <= 40; i++) { - float time = i / 40.0; - Hu3DModelTPLvlSet(lbl_1_bss_19A[boxno + 8], 0.6 + (0.4 * time)); - Hu3DModelTPLvlSet(lbl_1_bss_19A[boxno + 11], 0.3 + (0.7 * time)); - HuPrcVSleep(); - } - _SetFlag(0x30000); - result = HuCardCreate(curSlotNo, SaveFileNameTbl[boxno], SAVE_BUF_SIZE, &curFileInfo); - if (result == -3) { - _ClearFlag(0x30000); - fn_1_BA20(); - OSReport("File Create Error:No Card\n"); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x02)); - HuWinMesWait(lbl_1_bss_148); - } - else if (result == -2) { - _ClearFlag(0x30000); - fn_1_BA20(); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x37)); - HuWinMesWait(lbl_1_bss_148); - } - else if (result < 0) { - _ClearFlag(0x30000); - fn_1_BA20(); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x53)); - HuWinMesWait(lbl_1_bss_148); - } - else { - result = fn_1_812C(); - _ClearFlag(0x30000); - if (result != 0) { - return 1; - } - } - } - } - } - } - return 0; + s32 result; + s32 i; + result = HuCardMount(curSlotNo); + if(result == 0 && !SLSerialNoCheck()) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100045); + HuWinMesWait(lbl_1_bss_148); + } else { + result = HuCardSectorSizeGet(curSlotNo); + if(result == -3) { + fn_1_BA20(); + OSReport("SectorSize Check Error:No Card %d\n", curSlotNo); + HuWinMesSet(lbl_1_bss_148, 0x100002); + HuWinMesWait(lbl_1_bss_148); + } else { + if(result != 8192) { + fn_1_BA20(); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100039); + HuWinMesWait(lbl_1_bss_148); + } else { + u32 byteNotUsed; + u32 filesNotUsed; + result = HuCardFreeSpaceGet(curSlotNo, &byteNotUsed, &filesNotUsed); + if(filesNotUsed == 0 && byteNotUsed < SAVE_BUF_SIZE) { + fn_1_BA20(); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x10004A); + HuWinMesWait(lbl_1_bss_148); + } else if(filesNotUsed == 0) { + fn_1_BA20(); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x10004A); + HuWinMesWait(lbl_1_bss_148); + } else if(byteNotUsed < SAVE_BUF_SIZE) { + fn_1_BA20(); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x10004A); + HuWinMesWait(lbl_1_bss_148); + } else { + HuWinMesSet(lbl_1_bss_148, 0x10000B); + HuWinMesWait(lbl_1_bss_148); + for(i=0; i<=40; i++) { + float time = i/40.0; + Hu3DModelTPLvlSet(lbl_1_bss_19A[boxno+8], 0.6+(0.4*time)); + Hu3DModelTPLvlSet(lbl_1_bss_19A[boxno+11], 0.3+(0.7*time)); + HuPrcVSleep(); + } + _SetFlag(0x30000); + result = HuCardCreate(curSlotNo, SaveFileNameTbl[boxno], SAVE_BUF_SIZE, &curFileInfo); + if(result == -3) { + _ClearFlag(0x30000); + fn_1_BA20(); + OSReport("File Create Error:No Card\n"); + HuWinMesSet(lbl_1_bss_148, 0x100002); + HuWinMesWait(lbl_1_bss_148); + } else if(result == -2) { + _ClearFlag(0x30000); + fn_1_BA20(); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100037); + HuWinMesWait(lbl_1_bss_148); + } else if(result < 0) { + _ClearFlag(0x30000); + fn_1_BA20(); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100053); + HuWinMesWait(lbl_1_bss_148); + } else { + result = fn_1_812C(); + _ClearFlag(0x30000); + if(result != 0) { + return 1; + } + } + } + } + } + } + return 0; } s32 fn_1_812C(void) { - s32 result; - SLCheckSumSet(); - _SetFlag(0x30000); - result = HuCardWrite(&curFileInfo, &saveBuf.buf[0], SAVE_BUF_SIZE, 0); - _ClearFlag(0x30000); - if (result == -3) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x02)); - HuWinMesWait(lbl_1_bss_148); - return 0; - } - if (result == -2) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x37)); - HuWinMesWait(lbl_1_bss_148); - return 0; - } - if (result < 0) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x53)); - HuWinMesWait(lbl_1_bss_148); - return 0; - } - result = SLStatSet(0); - if (result == -3) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x02)); - HuWinMesWait(lbl_1_bss_148); - return 0; - } - if (result == -2) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x37)); - HuWinMesWait(lbl_1_bss_148); - return 0; - } - if (result < 0) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x53)); - HuWinMesWait(lbl_1_bss_148); - return 0; - } - return 1; + s32 result; + SLCheckSumSet(); + _SetFlag(0x30000); + result = HuCardWrite(&curFileInfo, &saveBuf.buf[0], SAVE_BUF_SIZE, 0); + _ClearFlag(0x30000); + if(result == -3) { + HuWinMesSet(lbl_1_bss_148, 0x100002); + HuWinMesWait(lbl_1_bss_148); + return 0; + } + if(result == -2) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100037); + HuWinMesWait(lbl_1_bss_148); + return 0; + } + if(result < 0) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100053); + HuWinMesWait(lbl_1_bss_148); + return 0; + } + result = SLStatSet(0); + if(result == -3) { + HuWinMesSet(lbl_1_bss_148, 0x100002); + HuWinMesWait(lbl_1_bss_148); + return 0; + } + if(result == -2) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100037); + HuWinMesWait(lbl_1_bss_148); + return 0; + } + if(result < 0) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100053); + HuWinMesWait(lbl_1_bss_148); + return 0; + } + return 1; } s32 fn_1_83B4(void) { - s32 result; - result = HuCardRead(&curFileInfo, &saveBuf.buf[0], SAVE_BUF_SIZE, 0); - if (result == -3) { - OSReport("Card Read Error:No Card\n"); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x02)); - HuWinMesWait(lbl_1_bss_148); - } - else if (result == -4 || !SLSerialNoCheck()) { - OSReport("Card Read Error:No File\n", result); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x45)); - HuWinMesWait(lbl_1_bss_148); - } - else if (result < 0) { - OSReport("Card Read Error:Fatal Error %d\n", result); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x53)); - HuWinMesWait(lbl_1_bss_148); - } - return result; + s32 result; + result = HuCardRead(&curFileInfo, &saveBuf.buf[0], SAVE_BUF_SIZE, 0); + if(result == -3) { + OSReport("Card Read Error:No Card\n"); + HuWinMesSet(lbl_1_bss_148, 0x100002); + HuWinMesWait(lbl_1_bss_148); + } else if(result == -4 || !SLSerialNoCheck()) { + OSReport("Card Read Error:No File\n", result); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100045); + HuWinMesWait(lbl_1_bss_148); + } else if(result < 0) { + OSReport("Card Read Error:Fatal Error %d\n", result); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100053); + HuWinMesWait(lbl_1_bss_148); + } + return result; } s32 fn_1_8540(s16 boxno) { - float scale; - s32 result; - s32 time; - AnimData *sprite; - result = HuCardMount(curSlotNo); - if (result == -3) { - OSReport("Card Delete Error:No Card\n"); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x02)); - HuWinMesWait(lbl_1_bss_148); - return 0; - } - if (result == -4 || !SLSerialNoCheck()) { - OSReport("Card Delete Error:No File\n", result); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x45)); - HuWinMesWait(lbl_1_bss_148); - return 0; - } - if (result < 0) { - OSReport("Card Delete Error:Fatal Error %d\n", result); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x53)); - HuWinMesWait(lbl_1_bss_148); - return 0; - } - - fn_1_B8CC(MAKE_MESSID(16, 0x3B)); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x0B)); - HuWinMesWait(lbl_1_bss_148); - HuPrcSleep(60); - if (UnMountCnt & (1 << curSlotNo)) { - fn_1_BA20(); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x50)); - HuWinMesWait(lbl_1_bss_148); - return 0; - } - else { - _SetFlag(0x30000); - result = HuCardDelete(curSlotNo, SaveFileNameTbl[boxno]); - _ClearFlag(0x30000); - fn_1_BA20(); - if (result == -3) { - OSReport("Card Delete Error:No Card\n"); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x02)); - HuWinMesWait(lbl_1_bss_148); - return 0; - } - if (result == -4 || !SLSerialNoCheck()) { - OSReport("Card Delete Error:No File\n", result); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x45)); - HuWinMesWait(lbl_1_bss_148); - return 0; - } - if (result < 0) { - OSReport("Card Delete Error:Fatal Error %d\n", result); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x53)); - HuWinMesWait(lbl_1_bss_148); - return 0; - } - for (time = 0; time <= 10; time++) { - scale = cosd(90.0 * (time / 10.0)); - Hu3DModelScaleSet(lbl_1_bss_19A[boxno + 8], scale, scale, scale); - HuPrcVSleep(); - } - Hu3DAnimKill(lbl_1_bss_13A[boxno]); - Hu3DAnimKill(lbl_1_bss_134[boxno]); - sprite = HuSprAnimRead(HuDataReadNum(lbl_1_data_21C[8], MEMORY_DEFAULT_NUM)); - lbl_1_bss_13A[boxno] = Hu3DAnimCreate(sprite, lbl_1_bss_19A[boxno + 8], "star"); - sprite = HuSprAnimRead(HuDataReadNum(lbl_1_data_21C[17], MEMORY_DEFAULT_NUM)); - lbl_1_bss_134[boxno] = Hu3DAnimCreate(sprite, lbl_1_bss_19A[boxno + 11], "star"); - lbl_1_bss_EE[boxno] = -1; - Hu3DModelTPLvlSet(lbl_1_bss_19A[boxno + 8], 0.6f); - Hu3DModelTPLvlSet(lbl_1_bss_19A[boxno + 11], 0.3f); - for (time = 0; time <= 20; time++) { - scale = sind(90.0 * (time / 20.0)); - Hu3DModelScaleSet(lbl_1_bss_19A[boxno + 8], scale, scale, scale); - HuPrcVSleep(); - } - lbl_1_bss_140[boxno] = 0; - lbl_1_bss_88--; - return 1; - } + float scale; + s32 result; + s32 time; + AnimData *sprite; + result = HuCardMount(curSlotNo); + if(result == -3) { + OSReport("Card Delete Error:No Card\n"); + HuWinMesSet(lbl_1_bss_148, 0x100002); + HuWinMesWait(lbl_1_bss_148); + return 0; + } + if(result == -4 || !SLSerialNoCheck()) { + OSReport("Card Delete Error:No File\n", result); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100045); + HuWinMesWait(lbl_1_bss_148); + return 0; + } + if(result < 0) { + OSReport("Card Delete Error:Fatal Error %d\n", result); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100053); + HuWinMesWait(lbl_1_bss_148); + return 0; + } + + fn_1_B8CC(0x10003B); + HuWinMesSet(lbl_1_bss_148, 0x10000B); + HuWinMesWait(lbl_1_bss_148); + HuPrcSleep(60); + if(UnMountCnt & (1 << curSlotNo)) { + fn_1_BA20(); + HuWinMesSet(lbl_1_bss_148, 0x100050); + HuWinMesWait(lbl_1_bss_148); + return 0; + } else { + _SetFlag(0x30000); + result = HuCardDelete(curSlotNo, SaveFileNameTbl[boxno]); + _ClearFlag(0x30000); + fn_1_BA20(); + if(result == -3) { + OSReport("Card Delete Error:No Card\n"); + HuWinMesSet(lbl_1_bss_148, 0x100002); + HuWinMesWait(lbl_1_bss_148); + return 0; + } + if(result == -4 || !SLSerialNoCheck()) { + OSReport("Card Delete Error:No File\n", result); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100045); + HuWinMesWait(lbl_1_bss_148); + return 0; + } + if(result < 0) { + OSReport("Card Delete Error:Fatal Error %d\n", result); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100053); + HuWinMesWait(lbl_1_bss_148); + return 0; + } + for(time=0; time<=10; time++) { + scale = cos(M_PI*(90.0*(time/10.0))/180.0); + Hu3DModelScaleSet(lbl_1_bss_19A[boxno+8], scale, scale, scale); + HuPrcVSleep(); + } + Hu3DAnimKill(lbl_1_bss_13A[boxno]); + Hu3DAnimKill(lbl_1_bss_134[boxno]); + sprite = HuSprAnimRead(HuDataReadNum(lbl_1_data_21C[8], MEMORY_DEFAULT_NUM)); + lbl_1_bss_13A[boxno] = Hu3DAnimCreate(sprite, lbl_1_bss_19A[boxno+8], "star"); + sprite = HuSprAnimRead(HuDataReadNum(lbl_1_data_21C[17], MEMORY_DEFAULT_NUM)); + lbl_1_bss_134[boxno] = Hu3DAnimCreate(sprite, lbl_1_bss_19A[boxno+11], "star"); + lbl_1_bss_EE[boxno] = -1; + Hu3DModelTPLvlSet(lbl_1_bss_19A[boxno+8], 0.6f); + Hu3DModelTPLvlSet(lbl_1_bss_19A[boxno+11], 0.3f); + for(time=0; time<=20; time++) { + scale = sin(M_PI*(90.0*(time/20.0))/180.0); + Hu3DModelScaleSet(lbl_1_bss_19A[boxno+8], scale, scale, scale); + HuPrcVSleep(); + } + lbl_1_bss_140[boxno] = 0; + lbl_1_bss_88--; + return 1; + } } s32 fn_1_8C30(s16 boxno) { - float temp_f31; - s16 temp_r31; - s16 temp_r30; - s32 temp_r29; - s16 temp_r26; - s16 temp_r25; - AnimData *temp_r19; - Vec sp60; - Vec sp54; - Vec sp48; - Vec sp3C; - s32 sp38; - s32 sp34; - Process *sp30; - ModelData *sp2C; - sp30 = HuPrcCurrentGet(); - OSReport("Card Copy Seq.:Open\n"); - temp_r29 = fn_1_76B4(SaveFileNameTbl[boxno], curSlotNo); - if (temp_r29 < 0 || !SLSerialNoCheck()) { - return 0; - } - OSReport("Card Copy Seq.:Read\n"); - temp_r29 = fn_1_83B4(); - if (temp_r29 != 0) { - return 0; - } - OSReport("Card Copy Seq.:CheckSum Check\n"); - if (!SLCheckSumCheck()) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_288[boxno]), 0); - HuWinAttrSet(lbl_1_bss_148, 0x10); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x3A)); - HuWinMesWait(lbl_1_bss_148); - temp_r29 = HuWinChoiceGet(lbl_1_bss_148, 1); - if (temp_r29 != 0) { - return 1; - } - else { - temp_r29 = fn_1_8540(boxno); - return temp_r29; - } - } - if (!SLSerialNoCheck()) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x45)); - HuWinMesWait(lbl_1_bss_148); - return 0; - } - temp_r29 = HuCardFreeSpaceGet(curSlotNo, (u32 *)&sp34, (u32 *)&sp38); - if (sp38 == 0 && sp34 < SAVE_BUF_SIZE) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x4A)); - HuWinMesWait(lbl_1_bss_148); - return 1; - } - else if (sp38 == 0) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x4A)); - HuWinMesWait(lbl_1_bss_148); - return 1; - } - else if (sp34 < SAVE_BUF_SIZE) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x4A)); - HuWinMesWait(lbl_1_bss_148); - return 1; - } - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - if (!lbl_1_bss_140[temp_r30]) { - break; - } - } - if (temp_r30 == 3) { - return 1; - } - temp_r31 = temp_r30; - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x09)); - HuWinMesWait(lbl_1_bss_148); - HuWinMesSet(lbl_1_bss_146, MAKE_MESSID(16, 0x35)); - HuWinDispOn(lbl_1_bss_146); - lbl_1_bss_90 = boxno; - Hu3DModelAttrReset(lbl_1_bss_19A[23], HU3D_ATTR_DISPOFF); - sp2C = &Hu3DData[lbl_1_bss_19A[boxno + 8]]; - Hu3DModelPosSetV(lbl_1_bss_19A[23], &sp2C->pos); - for (temp_r30 = 1; temp_r30 <= 10; temp_r30++) { - temp_f31 = 0.7 + (0.3 * (temp_r30 / 10.0)); - Hu3DModelScaleSet(lbl_1_bss_19A[23], temp_f31, temp_f31, temp_f31); - HuPrcVSleep(); - } - fn_1_7628(temp_r31, 1); - while (1) { - HuPrcVSleep(); - if (UnMountCnt & (1 << curSlotNo)) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x50)); - HuWinMesWait(lbl_1_bss_148); - break; - } - else { - temp_r26 = 0; - if (HuPadDStkRep[0] & 0x1) { - temp_r26 = -1; - } - else if (HuPadDStkRep[0] & 0x2) { - temp_r26 = 1; - } - (void)temp_r26; - if (temp_r26) { - HuAudFXPlay(0); - fn_1_7628(temp_r31, 0); - while (1) { - temp_r31 += temp_r26; - if (temp_r31 < 0) { - temp_r31 = 2; - } - else if (temp_r31 >= 3) { - temp_r31 = 0; - } - if (lbl_1_bss_140[temp_r31] == 0) { - break; - } - } - fn_1_7628(temp_r31, 1); - HuPrcSleep(10); - } - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - HuAudFXPlay(2096); - } - else if (!(HuPadBtnDown[0] & PAD_BUTTON_B)) { - continue; - } - else { - HuAudFXPlay(3); - Hu3DModelAttrSet(lbl_1_bss_19A[23], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_19A[boxno + 8], HU3D_ATTR_DISPOFF); - fn_1_7628(temp_r31, 0); - HuWinDispOff(lbl_1_bss_146); - return 1; - } - HuWinDispOff(lbl_1_bss_146); - temp_r29 = fn_1_76B4(SaveFileNameTbl[boxno], curSlotNo); - if (temp_r29 >= 0 && SLSerialNoCheck()) { - fn_1_B8CC(MAKE_MESSID(16, 0x0A)); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x0B)); - HuWinMesWait(lbl_1_bss_148); - Hu3DModelAttrReset(lbl_1_bss_19A[boxno + 8], HU3D_ATTR_DISPOFF); - OSReport("CheckSum Check\n"); - if (!SLCheckSumCheck()) { - HuPrcSleep(60); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_288[boxno]), 0); - HuWinAttrSet(lbl_1_bss_148, 0x10); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x3A)); - HuWinMesWait(lbl_1_bss_148); - temp_r29 = HuWinChoiceGet(lbl_1_bss_148, 1); - if (temp_r29 == 0) { - temp_r29 = fn_1_8540(boxno); - } - } - else { - fn_1_9E14(); - for (temp_r30 = 0; temp_r30 <= 10; temp_r30++) { - temp_f31 = cosd(90.0 * (temp_r30 / 10.0)); - Hu3DModelScaleSet(lbl_1_bss_19A[temp_r31 + 8], temp_f31, temp_f31, temp_f31); - HuPrcVSleep(); - } - Hu3DModelAttrSet(lbl_1_bss_19A[23], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_19A[boxno + 8], HU3D_ATTR_DISPOFF); - if (UnMountCnt & (1 << curSlotNo)) { - fn_1_BA20(); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x50)); - HuWinMesWait(lbl_1_bss_148); - } - else { - OSReport("File Create\n"); - SLCurBoxNoSet(temp_r31); - SLLoadGameStat(); - SLSaveDataMake(0, &GWGameStat.create_time); - if (fn_1_7B74(temp_r31)) { - fn_1_9E14(); - fn_1_A8C0(temp_r31); - Hu3DAnimKill(lbl_1_bss_13A[temp_r31]); - Hu3DAnimKill(lbl_1_bss_134[temp_r31]); - temp_r25 = lbl_1_bss_E8[temp_r31]; - if (temp_r25 < 0) { - temp_r25 = 8; - } - (void)temp_r25; - temp_r19 = HuSprAnimRead(HuDataReadNum(lbl_1_data_21C[temp_r25], MEMORY_DEFAULT_NUM)); - lbl_1_bss_13A[temp_r31] = Hu3DAnimCreate(temp_r19, lbl_1_bss_19A[temp_r31 + 8], "star"); - temp_r19 = HuSprAnimRead(HuDataReadNum(lbl_1_data_21C[temp_r25], MEMORY_DEFAULT_NUM)); - lbl_1_bss_134[temp_r31] = Hu3DAnimCreate(temp_r19, lbl_1_bss_19A[temp_r31 + 11], "star"); - Hu3DModelAttrReset(lbl_1_bss_19A[temp_r31 + 11], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_19A[temp_r31 + 8], HU3D_ATTR_DISPOFF); - sp60.x = 158.0f + (boxno * 130); - sp60.y = 230; - sp60.z = 800; - Hu3D2Dto3D(&sp60, 1, &sp54); - sp54.z = 900; - sp60.x = 158.0f + (temp_r31 * 130); - Hu3D2Dto3D(&sp60, 1, &sp48); - sp48.z = 800; - VECSubtract(&sp48, &sp54, &sp3C); - Hu3DModelTPLvlSet(lbl_1_bss_19A[temp_r31 + 8], 1.0f); - Hu3DModelTPLvlSet(lbl_1_bss_19A[temp_r31 + 11], 1.0f); - lbl_1_bss_120[temp_r31] = 0; - for (temp_r30 = 1; temp_r30 <= 30; temp_r30++) { - temp_f31 = temp_r30 / 30.0; - sp60.x = sp3C.x * temp_f31; - sp60.y = sp3C.y * temp_f31; - sp60.z = (sp3C.z * temp_f31) + (-300 * sind(180.0f * temp_f31)); - VECAdd(&sp60, &sp54, &sp60); - Hu3DModelPosSetV(lbl_1_bss_19A[temp_r31 + 11], &sp60); - HuPrcVSleep(); - } - lbl_1_bss_120[temp_r31] = 1; - fn_1_BA20(); - lbl_1_bss_140[temp_r31] = 1; - lbl_1_bss_88++; - return 1; - } - } - } - } - break; - } - } - fn_1_BA20(); - Hu3DModelAttrSet(lbl_1_bss_19A[23], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_19A[boxno + 8], HU3D_ATTR_DISPOFF); - for (temp_r30 = 0; temp_r30 <= 10; temp_r30++) { - temp_f31 = sind(90.0 * (temp_r30 / 10.0)); - Hu3DModelScaleSet(lbl_1_bss_19A[temp_r31 + 8], temp_f31, temp_f31, temp_f31); - HuPrcVSleep(); - } - fn_1_7628(temp_r31, 0); - return 0; + float temp_f31; + s16 temp_r31; + s16 temp_r30; + s32 temp_r29; + s16 temp_r26; + s16 temp_r25; + AnimData *temp_r19; + Vec sp60; + Vec sp54; + Vec sp48; + Vec sp3C; + s32 sp38; + s32 sp34; + Process *sp30; + ModelData *sp2C; + sp30 = HuPrcCurrentGet(); + OSReport("Card Copy Seq.:Open\n"); + temp_r29 = fn_1_76B4(SaveFileNameTbl[boxno], curSlotNo); + if(temp_r29 < 0 || !SLSerialNoCheck()) { + return 0; + } + OSReport("Card Copy Seq.:Read\n"); + temp_r29 = fn_1_83B4(); + if(temp_r29 != 0) { + return 0; + } + OSReport("Card Copy Seq.:CheckSum Check\n"); + if(!SLCheckSumCheck()) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_288[boxno]), 0); + HuWinAttrSet(lbl_1_bss_148, 0x10); + HuWinMesSet(lbl_1_bss_148, 0x10003A); + HuWinMesWait(lbl_1_bss_148); + temp_r29 = HuWinChoiceGet(lbl_1_bss_148, 1); + if(temp_r29 != 0) { + return 1; + } else { + temp_r29 = fn_1_8540(boxno); + return temp_r29; + } + } + if(!SLSerialNoCheck()) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x100045); + HuWinMesWait(lbl_1_bss_148); + return 0; + } + temp_r29 = HuCardFreeSpaceGet(curSlotNo, (u32 *)&sp34, (u32 *)&sp38); + if(sp38 == 0 && sp34 < SAVE_BUF_SIZE) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x10004A); + HuWinMesWait(lbl_1_bss_148); + return 1; + } else if(sp38 == 0) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x10004A); + HuWinMesWait(lbl_1_bss_148); + return 1; + } else if(sp34 < SAVE_BUF_SIZE) { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_bss_148, 0x10004A); + HuWinMesWait(lbl_1_bss_148); + return 1; + } + for(temp_r30=0; temp_r30<3; temp_r30++) { + if(!lbl_1_bss_140[temp_r30]) { + break; + } + } + if(temp_r30 == 3) { + return 1; + } + temp_r31 = temp_r30; + HuWinMesSet(lbl_1_bss_148, 0x100009); + HuWinMesWait(lbl_1_bss_148); + HuWinMesSet(lbl_1_bss_146, 0x100035); + HuWinDispOn(lbl_1_bss_146); + lbl_1_bss_90 = boxno; + Hu3DModelAttrReset(lbl_1_bss_19A[23], 1); + sp2C = &Hu3DData[lbl_1_bss_19A[boxno+8]]; + Hu3DModelPosSetV(lbl_1_bss_19A[23], &sp2C->pos); + for(temp_r30=1; temp_r30<=10; temp_r30++) { + temp_f31 = 0.7+(0.3*(temp_r30/10.0)); + Hu3DModelScaleSet(lbl_1_bss_19A[23], temp_f31, temp_f31, temp_f31); + HuPrcVSleep(); + } + fn_1_7628(temp_r31, 1); + while(1) { + HuPrcVSleep(); + if(UnMountCnt & (1 << curSlotNo)) { + HuWinMesSet(lbl_1_bss_148, 0x100050); + HuWinMesWait(lbl_1_bss_148); + break; + } else { + temp_r26 = 0; + if(HuPadDStkRep[0] & 0x1) { + temp_r26 = -1; + } else if(HuPadDStkRep[0] & 0x2) { + temp_r26 = 1; + } + (void)temp_r26; + if(temp_r26) { + HuAudFXPlay(0); + fn_1_7628(temp_r31, 0); + while(1) { + temp_r31 += temp_r26; + if(temp_r31 < 0) { + temp_r31 = 2; + } else if(temp_r31 >= 3) { + temp_r31 = 0; + } + if(lbl_1_bss_140[temp_r31] == 0) { + break; + } + } + fn_1_7628(temp_r31, 1); + HuPrcSleep(10); + } + if(HuPadBtnDown[0] & PAD_BUTTON_A) { + HuAudFXPlay(2096); + } else if(!(HuPadBtnDown[0] & PAD_BUTTON_B)) { + continue; + } else { + HuAudFXPlay(3); + Hu3DModelAttrSet(lbl_1_bss_19A[23], 1); + Hu3DModelAttrReset(lbl_1_bss_19A[boxno+8], 1); + fn_1_7628(temp_r31, 0); + HuWinDispOff(lbl_1_bss_146); + return 1; + } + HuWinDispOff(lbl_1_bss_146); + temp_r29 = fn_1_76B4(SaveFileNameTbl[boxno], curSlotNo); + if(temp_r29 >= 0 && SLSerialNoCheck()) { + fn_1_B8CC(0x10000A); + HuWinMesSet(lbl_1_bss_148, 0x10000B); + HuWinMesWait(lbl_1_bss_148); + Hu3DModelAttrReset(lbl_1_bss_19A[boxno+8], 1); + OSReport("CheckSum Check\n"); + if(!SLCheckSumCheck()) { + HuPrcSleep(60); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(lbl_1_data_288[boxno]), 0); + HuWinAttrSet(lbl_1_bss_148, 0x10); + HuWinMesSet(lbl_1_bss_148, 0x10003A); + HuWinMesWait(lbl_1_bss_148); + temp_r29 = HuWinChoiceGet(lbl_1_bss_148, 1); + if(temp_r29 == 0) { + temp_r29 = fn_1_8540(boxno); + } + } else { + fn_1_9E14(); + for(temp_r30=0; temp_r30<=10; temp_r30++) { + temp_f31 = cos(M_PI*(90.0*(temp_r30/10.0))/180.0); + Hu3DModelScaleSet(lbl_1_bss_19A[temp_r31+8], temp_f31, temp_f31, temp_f31); + HuPrcVSleep(); + } + Hu3DModelAttrSet(lbl_1_bss_19A[23], 1); + Hu3DModelAttrReset(lbl_1_bss_19A[boxno+8], 1); + if(UnMountCnt & (1 << curSlotNo)) { + fn_1_BA20(); + HuWinMesSet(lbl_1_bss_148, 0x100050); + HuWinMesWait(lbl_1_bss_148); + } else { + OSReport("File Create\n"); + SLCurBoxNoSet(temp_r31); + SLLoadGameStat(); + SLSaveDataMake(0, &GWGameStat.create_time); + if(fn_1_7B74(temp_r31)) { + fn_1_9E14(); + fn_1_A8C0(temp_r31); + Hu3DAnimKill(lbl_1_bss_13A[temp_r31]); + Hu3DAnimKill(lbl_1_bss_134[temp_r31]); + temp_r25 = lbl_1_bss_E8[temp_r31]; + if(temp_r25 < 0) { + temp_r25 = 8; + } + (void)temp_r25; + temp_r19 = HuSprAnimRead(HuDataReadNum(lbl_1_data_21C[temp_r25], MEMORY_DEFAULT_NUM)); + lbl_1_bss_13A[temp_r31] = Hu3DAnimCreate(temp_r19, lbl_1_bss_19A[temp_r31+8], "star"); + temp_r19 = HuSprAnimRead(HuDataReadNum(lbl_1_data_21C[temp_r25], MEMORY_DEFAULT_NUM)); + lbl_1_bss_134[temp_r31] = Hu3DAnimCreate(temp_r19, lbl_1_bss_19A[temp_r31+11], "star"); + Hu3DModelAttrReset(lbl_1_bss_19A[temp_r31+11], 1); + Hu3DModelAttrSet(lbl_1_bss_19A[temp_r31+8], 1); + sp60.x = 158.0f+(boxno*130); + sp60.y = 230; + sp60.z = 800; + Hu3D2Dto3D(&sp60, 1, &sp54); + sp54.z = 900; + sp60.x = 158.0f+(temp_r31*130); + Hu3D2Dto3D(&sp60, 1, &sp48); + sp48.z = 800; + VECSubtract(&sp48, &sp54, &sp3C); + Hu3DModelTPLvlSet(lbl_1_bss_19A[temp_r31+8], 1.0f); + Hu3DModelTPLvlSet(lbl_1_bss_19A[temp_r31+11], 1.0f); + lbl_1_bss_120[temp_r31] = 0; + for(temp_r30=1; temp_r30<=30; temp_r30++) { + temp_f31 = temp_r30/30.0; + sp60.x = sp3C.x*temp_f31; + sp60.y = sp3C.y*temp_f31; + sp60.z = (sp3C.z*temp_f31)+(-300*sin(M_PI*(180.0f*temp_f31)/180.0)); + VECAdd(&sp60, &sp54, &sp60); + Hu3DModelPosSetV(lbl_1_bss_19A[temp_r31+11], &sp60); + HuPrcVSleep(); + } + lbl_1_bss_120[temp_r31] = 1; + fn_1_BA20(); + lbl_1_bss_140[temp_r31] = 1; + lbl_1_bss_88++; + return 1; + } + } + } + + } + break; + } + } + fn_1_BA20(); + Hu3DModelAttrSet(lbl_1_bss_19A[23], 1); + Hu3DModelAttrReset(lbl_1_bss_19A[boxno+8], 1); + for(temp_r30=0; temp_r30<=10; temp_r30++) { + temp_f31 = sin(M_PI*(90.0*(temp_r30/10.0))/180.0); + Hu3DModelScaleSet(lbl_1_bss_19A[temp_r31+8], temp_f31, temp_f31, temp_f31); + HuPrcVSleep(); + } + fn_1_7628(temp_r31, 0); + return 0; } s32 fn_1_9E14(void) { - s32 result = HuCardClose(&curFileInfo); - return result; + s32 result = HuCardClose(&curFileInfo); + return result; } -s16 lbl_1_data_400[] = { 15, 15, 13, 15, 15, 8, 15, 15, 8, 15, 15 }; +s16 lbl_1_data_400[] = { + 15, 15, 13, + 15, 15, 8, + 15, 15, 8, + 15, 15 +}; s32 fn_1_9E4C(void) { - s16 temp_r31; - s16 temp_r30; - s16 temp_r29; - ModelData *temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - AnimData *temp_r24; - s16 temp_r23; - AnimData *temp_r22; - Mtx sp24; - Vec sp18; - Vec spC; - WindowData *sp8; - temp_r23 = -1; - sp8 = &winData[lbl_1_bss_148]; - OSReport("Init\n"); - MTXScale(sp24, 0.5f, 0.5f, 0.5f); - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - if (lbl_1_bss_116[temp_r31] != -1) { - HuSprGrpKill(lbl_1_bss_116[temp_r31]); - } - } - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - if (lbl_1_bss_110[temp_r31] != -1) { - HuSprGrpKill(lbl_1_bss_110[temp_r31]); - } - } - lbl_1_bss_FC = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATA_MAKE_NUM(DATADIR_MODESEL, 0x00), 0x22), MEMORY_DEFAULT_NUM)); - lbl_1_bss_F8 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATA_MAKE_NUM(DATADIR_MODESEL, 0x00), 0x23), MEMORY_DEFAULT_NUM)); - lbl_1_bss_F4 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATA_MAKE_NUM(DATADIR_MODESEL, 0x00), 0x25), MEMORY_DEFAULT_NUM)); - temp_r22 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATA_MAKE_NUM(DATADIR_MODESEL, 0x00), 0x24), MEMORY_DEFAULT_NUM)); - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - Hu3DModelAttrSet(lbl_1_bss_19A[temp_r31 + 8], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_19A[temp_r31 + 11], HU3D_ATTR_DISPOFF); - temp_r27 = lbl_1_bss_E8[temp_r31]; - if (temp_r27 < 0 || temp_r27 >= 8) { - temp_r27 = 8; - } - if (lbl_1_bss_13A[temp_r31] != -1) { - Hu3DAnimKill(lbl_1_bss_13A[temp_r31]); - } - if (lbl_1_bss_134[temp_r31] != -1) { - Hu3DAnimKill(lbl_1_bss_134[temp_r31]); - } - temp_r24 = HuSprAnimRead(HuDataReadNum(lbl_1_data_21C[temp_r27], MEMORY_DEFAULT_NUM)); - lbl_1_bss_13A[temp_r31] = Hu3DAnimCreate(temp_r24, lbl_1_bss_19A[temp_r31 + 8], "star"); - temp_r24 = HuSprAnimRead(HuDataReadNum(lbl_1_data_21C[temp_r27 + 9], MEMORY_DEFAULT_NUM)); - lbl_1_bss_134[temp_r31] = Hu3DAnimCreate(temp_r24, lbl_1_bss_19A[temp_r31 + 11], "star"); - if (!lbl_1_bss_140[temp_r31]) { - Hu3DModelTPLvlSet(lbl_1_bss_19A[temp_r31 + 8], 0.6f); - Hu3DModelTPLvlSet(lbl_1_bss_19A[temp_r31 + 11], 0.3f); - } - else { - Hu3DModelTPLvlSet(lbl_1_bss_19A[temp_r31 + 8], 1.0f); - Hu3DModelTPLvlSet(lbl_1_bss_19A[temp_r31 + 11], 1.0f); - } - sp18.x = 158.0f + (temp_r31 * 130); - sp18.y = 230; - sp18.z = 800; - Hu3D2Dto3D(&sp18, 1, &spC); - spC.z = 800; - Hu3DModelPosSetV(lbl_1_bss_19A[temp_r31 + 8], &spC); - Hu3DModelPosSetV(lbl_1_bss_19A[temp_r31 + 11], &spC); - Hu3DModelScaleSet(lbl_1_bss_19A[temp_r31 + 8], 0, 0, 0); - Hu3DModelScaleSet(lbl_1_bss_19A[temp_r31 + 11], 0, 0, 0); - temp_r28 = &Hu3DData[lbl_1_bss_19A[temp_r31 + 8]]; - MTXCopy(sp24, temp_r28->unk_F0); - temp_r28 = &Hu3DData[lbl_1_bss_19A[temp_r31 + 11]]; - MTXCopy(sp24, temp_r28->unk_F0); - lbl_1_bss_116[temp_r31] = HuSprGrpCreate(9); - temp_r29 = HuSprCreate(lbl_1_bss_FC, 3000, 0); - HuSprGrpMemberSet(lbl_1_bss_116[temp_r31], 0, temp_r29); - HuSprPosSet(lbl_1_bss_116[temp_r31], 0, -48, 0); - for (temp_r30 = 0; temp_r30 < 4; temp_r30++) { - temp_r29 = HuSprCreate(lbl_1_bss_F8, 3000, 0); - HuSprGrpMemberSet(lbl_1_bss_116[temp_r31], temp_r30 + 1, temp_r29); - HuSprPosSet(lbl_1_bss_116[temp_r31], temp_r30 + 1, (temp_r30 * 24) - 24, 0); - } - temp_r29 = HuSprCreate(lbl_1_bss_F4, 3000, 0); - HuSprGrpMemberSet(lbl_1_bss_116[temp_r31], 5, temp_r29); - HuSprPosSet(lbl_1_bss_116[temp_r31], 5, 16, 0); - HuSprGrpScissorSet(lbl_1_bss_116[temp_r31], 0, 16, 640, 448); - lbl_1_bss_110[temp_r31] = HuSprGrpCreate(11); - for (temp_r30 = temp_r25 = 0; temp_r30 < 11; temp_r30++) { - temp_r25 += lbl_1_data_400[temp_r30]; - } - for (temp_r30 = temp_r26 = 0; temp_r30 < 11; temp_r30++) { - temp_r29 = HuSprCreate(temp_r22, 3000, 0); - HuSprGrpMemberSet(lbl_1_bss_110[temp_r31], temp_r30, temp_r29); - HuSprPosSet(lbl_1_bss_110[temp_r31], temp_r30, -(temp_r25 / 2) + 8 + temp_r26, 0); - temp_r26 += lbl_1_data_400[temp_r30]; - } - HuSprAttrSet(lbl_1_bss_110[temp_r31], 5, 4); - HuSprBankSet(lbl_1_bss_110[temp_r31], 2, 10); - HuSprBankSet(lbl_1_bss_110[temp_r31], 8, 11); - HuSprGrpScissorSet(lbl_1_bss_110[temp_r31], 0, 16, 640, 448); - } - MTXScale(sp24, 0.45f, 0.45f, 0.45f); - temp_r28 = &Hu3DData[lbl_1_bss_19A[23]]; - Hu3DModelAttrSet(lbl_1_bss_19A[23], HU3D_MOTATTR_LOOP); - MTXCopy(sp24, temp_r28->unk_F0); - return temp_r23; + s16 temp_r31; + s16 temp_r30; + s16 temp_r29; + ModelData *temp_r28; + s16 temp_r27; + s16 temp_r26; + s16 temp_r25; + AnimData *temp_r24; + s16 temp_r23; + AnimData *temp_r22; + Mtx sp24; + Vec sp18; + Vec spC; + WindowData *sp8; + temp_r23 = -1; + sp8 = &winData[lbl_1_bss_148]; + OSReport("Init\n"); + MTXScale(sp24, 0.5f, 0.5f, 0.5f); + for(temp_r31=0; temp_r31<3; temp_r31++) { + if(lbl_1_bss_116[temp_r31] != -1) { + HuSprGrpKill(lbl_1_bss_116[temp_r31]); + } + } + for(temp_r31=0; temp_r31<3; temp_r31++) { + if(lbl_1_bss_110[temp_r31] != -1) { + HuSprGrpKill(lbl_1_bss_110[temp_r31]); + } + } + lbl_1_bss_FC = HuSprAnimRead(HuDataReadNum(0x630022, MEMORY_DEFAULT_NUM)); + lbl_1_bss_F8 = HuSprAnimRead(HuDataReadNum(0x630023, MEMORY_DEFAULT_NUM)); + lbl_1_bss_F4 = HuSprAnimRead(HuDataReadNum(0x630025, MEMORY_DEFAULT_NUM)); + temp_r22 = HuSprAnimRead(HuDataReadNum(0x630024, MEMORY_DEFAULT_NUM)); + for(temp_r31=0; temp_r31<3; temp_r31++) { + Hu3DModelAttrSet(lbl_1_bss_19A[temp_r31+8], 1); + Hu3DModelAttrReset(lbl_1_bss_19A[temp_r31+11], 1); + temp_r27 = lbl_1_bss_E8[temp_r31]; + if(temp_r27 < 0 || temp_r27 >= 8) { + temp_r27 = 8; + } + if(lbl_1_bss_13A[temp_r31] != -1) { + Hu3DAnimKill(lbl_1_bss_13A[temp_r31]); + } + if(lbl_1_bss_134[temp_r31] != -1) { + Hu3DAnimKill(lbl_1_bss_134[temp_r31]); + } + temp_r24 = HuSprAnimRead(HuDataReadNum(lbl_1_data_21C[temp_r27], MEMORY_DEFAULT_NUM)); + lbl_1_bss_13A[temp_r31] = Hu3DAnimCreate(temp_r24, lbl_1_bss_19A[temp_r31+8], "star"); + temp_r24 = HuSprAnimRead(HuDataReadNum(lbl_1_data_21C[temp_r27+9], MEMORY_DEFAULT_NUM)); + lbl_1_bss_134[temp_r31] = Hu3DAnimCreate(temp_r24, lbl_1_bss_19A[temp_r31+11], "star"); + if(!lbl_1_bss_140[temp_r31]) { + Hu3DModelTPLvlSet(lbl_1_bss_19A[temp_r31+8], 0.6f); + Hu3DModelTPLvlSet(lbl_1_bss_19A[temp_r31+11], 0.3f); + } else { + Hu3DModelTPLvlSet(lbl_1_bss_19A[temp_r31+8], 1.0f); + Hu3DModelTPLvlSet(lbl_1_bss_19A[temp_r31+11], 1.0f); + } + sp18.x = 158.0f+(temp_r31*130); + sp18.y = 230; + sp18.z = 800; + Hu3D2Dto3D(&sp18, 1, &spC); + spC.z = 800; + Hu3DModelPosSetV(lbl_1_bss_19A[temp_r31+8], &spC); + Hu3DModelPosSetV(lbl_1_bss_19A[temp_r31+11], &spC); + Hu3DModelScaleSet(lbl_1_bss_19A[temp_r31+8], 0, 0, 0); + Hu3DModelScaleSet(lbl_1_bss_19A[temp_r31+11], 0, 0, 0); + temp_r28 = &Hu3DData[lbl_1_bss_19A[temp_r31+8]]; + MTXCopy(sp24, temp_r28->unk_F0); + temp_r28 = &Hu3DData[lbl_1_bss_19A[temp_r31+11]]; + MTXCopy(sp24, temp_r28->unk_F0); + lbl_1_bss_116[temp_r31] = HuSprGrpCreate(9); + temp_r29 = HuSprCreate(lbl_1_bss_FC, 3000, 0); + HuSprGrpMemberSet(lbl_1_bss_116[temp_r31], 0, temp_r29); + HuSprPosSet(lbl_1_bss_116[temp_r31], 0, -48, 0); + for(temp_r30=0; temp_r30<4; temp_r30++) { + temp_r29 = HuSprCreate(lbl_1_bss_F8, 3000, 0); + HuSprGrpMemberSet(lbl_1_bss_116[temp_r31], temp_r30+1, temp_r29); + HuSprPosSet(lbl_1_bss_116[temp_r31], temp_r30+1, (temp_r30*24)-24, 0); + } + temp_r29 = HuSprCreate(lbl_1_bss_F4, 3000, 0); + HuSprGrpMemberSet(lbl_1_bss_116[temp_r31], 5, temp_r29); + HuSprPosSet(lbl_1_bss_116[temp_r31], 5, 16, 0); + HuSprGrpScissorSet(lbl_1_bss_116[temp_r31], 0, 16, 640, 448); + lbl_1_bss_110[temp_r31] = HuSprGrpCreate(11); + for(temp_r30=temp_r25=0; temp_r30<11; temp_r30++) { + temp_r25 += lbl_1_data_400[temp_r30]; + } + for(temp_r30=temp_r26=0; temp_r30<11; temp_r30++) { + temp_r29 = HuSprCreate(temp_r22, 3000, 0); + HuSprGrpMemberSet(lbl_1_bss_110[temp_r31], temp_r30, temp_r29); + HuSprPosSet(lbl_1_bss_110[temp_r31], temp_r30, -(temp_r25/2)+8+temp_r26, 0); + temp_r26 += lbl_1_data_400[temp_r30]; + } + HuSprAttrSet(lbl_1_bss_110[temp_r31], 5, 4); + HuSprBankSet(lbl_1_bss_110[temp_r31], 2, 10); + HuSprBankSet(lbl_1_bss_110[temp_r31], 8, 11); + HuSprGrpScissorSet(lbl_1_bss_110[temp_r31], 0, 16, 640, 448); + } + MTXScale(sp24, 0.45f, 0.45f, 0.45f); + temp_r28 = &Hu3DData[lbl_1_bss_19A[23]]; + Hu3DModelAttrSet(lbl_1_bss_19A[23], 0x40000001); + MTXCopy(sp24, temp_r28->unk_F0); + return temp_r23; } void fn_1_A8C0(s16 boxno) { - SLLoadGameStat(); - SLLoadBoardStory(); - lbl_1_bss_EE[boxno] = GWGameStat.total_stars; - lbl_1_bss_D0[boxno] = GWGameStat.create_time; - lbl_1_bss_E8[boxno] = GWSystem.storyChar; - lbl_1_bss_C4[boxno] = GWGameStat.story_continue; - lbl_1_bss_B8[boxno] = GWGameStat.party_continue; - if (GWGameStat.story_continue) { - SLLoadBoardStory(); - lbl_1_bss_A4[boxno] = GWSystem.board; - lbl_1_bss_AC[boxno] = 0; - } - if (GWGameStat.party_continue) { - SLLoadBoard(); - lbl_1_bss_9E[boxno] = GWSystem.board; - lbl_1_bss_98[boxno] = GWSystem.turn; - lbl_1_bss_92[boxno] = GWSystem.max_turn; - } + SLLoadGameStat(); + SLLoadBoardStory(); + lbl_1_bss_EE[boxno] = GWGameStat.total_stars; + lbl_1_bss_D0[boxno] = GWGameStat.create_time; + lbl_1_bss_E8[boxno] = GWSystem.unk0B[1]; + lbl_1_bss_C4[boxno] = GWGameStat.story_continue; + lbl_1_bss_B8[boxno] = GWGameStat.party_continue; + if(GWGameStat.story_continue) { + SLLoadBoardStory(); + lbl_1_bss_A4[boxno] = GWSystem.board; + lbl_1_bss_AC[boxno] = 0; + } + if(GWGameStat.party_continue) { + SLLoadBoard(); + lbl_1_bss_9E[boxno] = GWSystem.board; + lbl_1_bss_98[boxno] = GWSystem.turn; + lbl_1_bss_92[boxno] = GWSystem.max_turn; + } } void fn_1_AAB8(void) { - float temp_f31; - float temp_f30; - float temp_f29; - ModelData *temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - Mtx sp48; - OSCalendarTime sp20; - Vec sp14; - Vec sp8; - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - lbl_1_bss_12C[temp_r30] = 1; - } - while (1) { - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - MTXScale(sp48, 0.5f, 0.5f, 0.5f); - mtxRotCat(sp48, 0.0f, 0.0f, 15.0f * lbl_1_bss_100[temp_r30]); - temp_r31 = &Hu3DData[lbl_1_bss_19A[temp_r30]]; - MTXCopy(sp48, temp_r31->unk_F0); - Hu3DModelRotSet(lbl_1_bss_19A[temp_r30], 0, lbl_1_bss_8C * lbl_1_bss_108[temp_r30] * GET_ZEROSIGN(temp_r30 == 0), 0); - if (!lbl_1_bss_12C[temp_r30]) { - espAttrSet(lbl_1_bss_152[temp_r30 + 2], HUSPR_ATTR_DISPOFF); - } - else { - temp_r31 = &Hu3DData[lbl_1_bss_19A[temp_r30 + 2]]; - if (temp_r31->attr & 0x1) { - temp_r31 = &Hu3DData[lbl_1_bss_19A[temp_r30 + 4]]; - } - if (temp_r31->attr & 0x1) { - espAttrSet(lbl_1_bss_152[temp_r30 + 2], HUSPR_ATTR_DISPOFF); - } - else { - espAttrReset(lbl_1_bss_152[temp_r30 + 2], HUSPR_ATTR_DISPOFF); - } - sp8 = temp_r31->pos; - sp8.y -= 30.0f * temp_r31->scale.x; - Hu3D3Dto2D(&sp8, 1, &sp14); - espPosSet(lbl_1_bss_152[temp_r30 + 2], sp14.x, sp14.y); - espScaleSet(lbl_1_bss_152[temp_r30 + 2], temp_r31->scale.x, temp_r31->scale.x); - } - } - lbl_1_bss_8C += 3.0f; - if (lbl_1_bss_8C > 1080.0f) { - lbl_1_bss_8C -= 360; - } - if (lbl_1_bss_11C == -1) { - espAttrSet(lbl_1_bss_152[4], HUSPR_ATTR_DISPOFF); - } - else { - temp_r31 = &Hu3DData[lbl_1_bss_19A[lbl_1_bss_11C]]; - if (temp_r31->attr & 0x1) { - espAttrSet(lbl_1_bss_152[4], HUSPR_ATTR_DISPOFF); - } - else { - espBankSet(lbl_1_bss_152[4], lbl_1_bss_11C); - espAttrReset(lbl_1_bss_152[4], HUSPR_ATTR_DISPOFF); - sp8 = temp_r31->pos; - sp8.y += 5.0f * temp_r31->scale.x; - Hu3D3Dto2D(&sp8, 1, &sp14); - espPosSet(lbl_1_bss_152[4], sp14.x, sp14.y); - espScaleSet(lbl_1_bss_152[4], temp_r31->scale.x, temp_r31->scale.x); - } - } - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - if (!lbl_1_bss_120[temp_r30]) { - espAttrSet(lbl_1_bss_152[temp_r30 + 5], HUSPR_ATTR_DISPOFF); - continue; - } - temp_r31 = &Hu3DData[lbl_1_bss_19A[temp_r30 + 8]]; - if (temp_r31->attr & 0x1) { - temp_r31 = &Hu3DData[lbl_1_bss_19A[temp_r30 + 11]]; - } - temp_f30 = (900.0 + (50.0 * temp_r31->scale.x)) * sin(M_PI / 12); - temp_f29 = (temp_r31->pos.z + (50.0 * temp_r31->scale.x)) * sin(M_PI / 12); - temp_f31 = temp_r31->scale.x * (temp_f29 / temp_f30); - if (temp_r31->attr & 0x1) { - espAttrSet(lbl_1_bss_152[temp_r30 + 5], HUSPR_ATTR_DISPOFF); - } - else { - espAttrReset(lbl_1_bss_152[temp_r30 + 5], HUSPR_ATTR_DISPOFF); - } - sp8 = temp_r31->pos; - sp8.y += 40.0 * temp_r31->scale.x; - sp8.z += 50.0 * temp_r31->scale.x; - Hu3D3Dto2D(&sp8, 1, &sp14); - espPosSet(lbl_1_bss_152[temp_r30 + 5], sp14.x, sp14.y); - espScaleSet(lbl_1_bss_152[temp_r30 + 5], temp_f31, temp_f31); - if (lbl_1_bss_EE[temp_r30] == -1) { - HuSprGrpPosSet(lbl_1_bss_116[temp_r30], 0, -500); - } - else { - sp8 = temp_r31->pos; - sp8.y -= 30.0 * temp_r31->scale.x; - sp8.z += 50.0 * temp_r31->scale.x; - Hu3D3Dto2D(&sp8, 1, &sp14); - HuSprGrpPosSet(lbl_1_bss_116[temp_r30], sp14.x, sp14.y); - HuSprGrpScaleSet(lbl_1_bss_116[temp_r30], temp_f31, temp_f31); - if (lbl_1_bss_EE[temp_r30] > 9999) { - for (temp_r28 = 0; temp_r28 < 4; temp_r28++) { - HuSprAttrSet(lbl_1_bss_116[temp_r30], temp_r28 + 1, HUSPR_ATTR_DISPOFF); - } - HuSprAttrReset(lbl_1_bss_116[temp_r30], 5, HUSPR_ATTR_DISPOFF); - } - else { - for (temp_r28 = 0; temp_r28 < 4; temp_r28++) { - HuSprAttrReset(lbl_1_bss_116[temp_r30], temp_r28 + 1, HUSPR_ATTR_DISPOFF); - } - HuSprAttrSet(lbl_1_bss_116[temp_r30], 5, HUSPR_ATTR_DISPOFF); - temp_r29 = lbl_1_bss_EE[temp_r30]; - HuSprBankSet(lbl_1_bss_116[temp_r30], 1, temp_r29 / 1000); - temp_r29 -= (temp_r29 / 1000) * 1000; - HuSprBankSet(lbl_1_bss_116[temp_r30], 2, temp_r29 / 100); - temp_r29 -= (temp_r29 / 100) * 100; - HuSprBankSet(lbl_1_bss_116[temp_r30], 3, temp_r29 / 10); - temp_r29 -= (temp_r29 / 10) * 10; - HuSprBankSet(lbl_1_bss_116[temp_r30], 4, temp_r29); - } - sp8 = temp_r31->pos; - sp8.y -= 40.0 * temp_r31->scale.x; - sp8.z += 50.0 * temp_r31->scale.x; - Hu3D3Dto2D(&sp8, 1, &sp14); - HuSprGrpPosSet(lbl_1_bss_110[temp_r30], sp14.x, sp14.y); - HuSprGrpScaleSet(lbl_1_bss_110[temp_r30], temp_f31, temp_f31); - OSTicksToCalendarTime(lbl_1_bss_D0[temp_r30], &sp20); - #if VERSION_PAL - temp_r29 = sp20.mday; - HuSprBankSet(lbl_1_bss_110[temp_r30], 0, temp_r29 / 10); - temp_r29 -= (temp_r29 / 10) * 10; - HuSprBankSet(lbl_1_bss_110[temp_r30], 1, temp_r29); - temp_r29 = sp20.mon+1; - HuSprBankSet(lbl_1_bss_110[temp_r30], 3, temp_r29 / 10); - temp_r29 -= (temp_r29 / 10) * 10; - HuSprBankSet(lbl_1_bss_110[temp_r30], 4, temp_r29); - #else - temp_r29 = sp20.mon + 1; - HuSprBankSet(lbl_1_bss_110[temp_r30], 0, temp_r29 / 10); - temp_r29 -= (temp_r29 / 10) * 10; - HuSprBankSet(lbl_1_bss_110[temp_r30], 1, temp_r29); - temp_r29 = sp20.mday; - HuSprBankSet(lbl_1_bss_110[temp_r30], 3, temp_r29 / 10); - temp_r29 -= (temp_r29 / 10) * 10; - HuSprBankSet(lbl_1_bss_110[temp_r30], 4, temp_r29); - #endif - temp_r29 = sp20.hour; - HuSprBankSet(lbl_1_bss_110[temp_r30], 6, temp_r29 / 10); - temp_r29 -= (temp_r29 / 10) * 10; - HuSprBankSet(lbl_1_bss_110[temp_r30], 7, temp_r29); - temp_r29 = sp20.min; - HuSprBankSet(lbl_1_bss_110[temp_r30], 9, temp_r29 / 10); - temp_r29 -= (temp_r29 / 10) * 10; - HuSprBankSet(lbl_1_bss_110[temp_r30], 10, temp_r29); - } - } - HuPrcVSleep(); - } + float temp_f31; + float temp_f30; + float temp_f29; + ModelData *temp_r31; + s16 temp_r30; + s16 temp_r29; + s16 temp_r28; + Mtx sp48; + OSCalendarTime sp20; + Vec sp14; + Vec sp8; + for(temp_r30=0; temp_r30<2; temp_r30++) { + lbl_1_bss_12C[temp_r30] = 1; + } + while(1) { + for(temp_r30=0; temp_r30<2; temp_r30++) { + MTXScale(sp48, 0.5f, 0.5f, 0.5f); + mtxRotCat(sp48, 0.0f, 0.0f, 15.0f*lbl_1_bss_100[temp_r30]); + temp_r31 = &Hu3DData[lbl_1_bss_19A[temp_r30]]; + MTXCopy(sp48, temp_r31->unk_F0); + Hu3DModelRotSet(lbl_1_bss_19A[temp_r30], 0, lbl_1_bss_8C*lbl_1_bss_108[temp_r30]*GET_ZEROSIGN(temp_r30 == 0), 0); + if(!lbl_1_bss_12C[temp_r30]) { + espAttrSet(lbl_1_bss_152[temp_r30+2], 4); + } else { + temp_r31 = &Hu3DData[lbl_1_bss_19A[temp_r30+2]]; + if(temp_r31->attr & 0x1) { + temp_r31 = &Hu3DData[lbl_1_bss_19A[temp_r30+4]]; + } + if(temp_r31->attr & 0x1) { + espAttrSet(lbl_1_bss_152[temp_r30+2], 4); + } else { + espAttrReset(lbl_1_bss_152[temp_r30+2], 4); + } + sp8 = temp_r31->pos; + sp8.y -= 30.0f*temp_r31->scale.x; + Hu3D3Dto2D(&sp8, 1, &sp14); + espPosSet(lbl_1_bss_152[temp_r30+2], sp14.x, sp14.y); + espScaleSet(lbl_1_bss_152[temp_r30+2], temp_r31->scale.x, temp_r31->scale.x); + } + } + lbl_1_bss_8C += 3.0f; + if(lbl_1_bss_8C > 1080.0f) { + lbl_1_bss_8C -= 360; + } + if(lbl_1_bss_11C == -1) { + espAttrSet(lbl_1_bss_152[4], 4); + } else { + temp_r31 = &Hu3DData[lbl_1_bss_19A[lbl_1_bss_11C]]; + if(temp_r31->attr & 0x1) { + espAttrSet(lbl_1_bss_152[4], 4); + } else { + espBankSet(lbl_1_bss_152[4], lbl_1_bss_11C); + espAttrReset(lbl_1_bss_152[4], 4); + sp8 = temp_r31->pos; + sp8.y += 5.0f*temp_r31->scale.x; + Hu3D3Dto2D(&sp8, 1, &sp14); + espPosSet(lbl_1_bss_152[4], sp14.x, sp14.y); + espScaleSet(lbl_1_bss_152[4], temp_r31->scale.x, temp_r31->scale.x); + } + } + for(temp_r30=0; temp_r30<3; temp_r30++) { + if(!lbl_1_bss_120[temp_r30]) { + espAttrSet(lbl_1_bss_152[temp_r30+5], 4); + continue; + } + temp_r31 = &Hu3DData[lbl_1_bss_19A[temp_r30+8]]; + if(temp_r31->attr & 0x1) { + temp_r31 = &Hu3DData[lbl_1_bss_19A[temp_r30+11]]; + } + temp_f30 = (900.0+(50.0*temp_r31->scale.x))*sin(M_PI/12); + temp_f29 = (temp_r31->pos.z+(50.0*temp_r31->scale.x))*sin(M_PI/12); + temp_f31 = temp_r31->scale.x*(temp_f29/temp_f30); + if(temp_r31->attr & 0x1) { + espAttrSet(lbl_1_bss_152[temp_r30+5], 4); + } else { + espAttrReset(lbl_1_bss_152[temp_r30+5], 4); + } + sp8 = temp_r31->pos; + sp8.y += 40.0*temp_r31->scale.x; + sp8.z += 50.0*temp_r31->scale.x; + Hu3D3Dto2D(&sp8, 1, &sp14); + espPosSet(lbl_1_bss_152[temp_r30+5], sp14.x, sp14.y); + espScaleSet(lbl_1_bss_152[temp_r30+5], temp_f31, temp_f31); + if(lbl_1_bss_EE[temp_r30] == -1) { + HuSprGrpPosSet(lbl_1_bss_116[temp_r30], 0, -500); + } else { + sp8 = temp_r31->pos; + sp8.y -= 30.0*temp_r31->scale.x; + sp8.z += 50.0*temp_r31->scale.x; + Hu3D3Dto2D(&sp8, 1, &sp14); + HuSprGrpPosSet(lbl_1_bss_116[temp_r30], sp14.x, sp14.y); + HuSprGrpScaleSet(lbl_1_bss_116[temp_r30], temp_f31, temp_f31); + if(lbl_1_bss_EE[temp_r30] > 9999) { + for(temp_r28=0; temp_r28<4; temp_r28++) { + HuSprAttrSet(lbl_1_bss_116[temp_r30], temp_r28+1, 4); + } + HuSprAttrReset(lbl_1_bss_116[temp_r30], 5, 4); + } else { + for(temp_r28=0; temp_r28<4; temp_r28++) { + HuSprAttrReset(lbl_1_bss_116[temp_r30], temp_r28+1, 4); + } + HuSprAttrSet(lbl_1_bss_116[temp_r30], 5, 4); + temp_r29 = lbl_1_bss_EE[temp_r30]; + HuSprBankSet(lbl_1_bss_116[temp_r30], 1, temp_r29/1000); + temp_r29 -= (temp_r29/1000)*1000; + HuSprBankSet(lbl_1_bss_116[temp_r30], 2, temp_r29/100); + temp_r29 -= (temp_r29/100)*100; + HuSprBankSet(lbl_1_bss_116[temp_r30], 3, temp_r29/10); + temp_r29 -= (temp_r29/10)*10; + HuSprBankSet(lbl_1_bss_116[temp_r30], 4, temp_r29); + } + sp8 = temp_r31->pos; + sp8.y -= 40.0*temp_r31->scale.x; + sp8.z += 50.0*temp_r31->scale.x; + Hu3D3Dto2D(&sp8, 1, &sp14); + HuSprGrpPosSet(lbl_1_bss_110[temp_r30], sp14.x, sp14.y); + HuSprGrpScaleSet(lbl_1_bss_110[temp_r30], temp_f31, temp_f31); + OSTicksToCalendarTime(lbl_1_bss_D0[temp_r30], &sp20); + temp_r29 = sp20.mon+1; + HuSprBankSet(lbl_1_bss_110[temp_r30], 0, temp_r29/10); + temp_r29 -= (temp_r29/10)*10; + HuSprBankSet(lbl_1_bss_110[temp_r30], 1, temp_r29); + temp_r29 = sp20.mday; + HuSprBankSet(lbl_1_bss_110[temp_r30], 3, temp_r29/10); + temp_r29 -= (temp_r29/10)*10; + HuSprBankSet(lbl_1_bss_110[temp_r30], 4, temp_r29); + temp_r29 = sp20.hour; + HuSprBankSet(lbl_1_bss_110[temp_r30], 6, temp_r29/10); + temp_r29 -= (temp_r29/10)*10; + HuSprBankSet(lbl_1_bss_110[temp_r30], 7, temp_r29); + temp_r29 = sp20.min; + HuSprBankSet(lbl_1_bss_110[temp_r30], 9, temp_r29/10); + temp_r29 -= (temp_r29/10)*10; + HuSprBankSet(lbl_1_bss_110[temp_r30], 10, temp_r29); + } + } + HuPrcVSleep(); + } + } s16 lbl_1_data_41C = -1; void fn_1_B8CC(u32 arg0) { - float size[2]; - if (lbl_1_data_41C != -1) { - HuWinExCleanup(lbl_1_data_41C); - } - HuWinInsertMesSizeGet(MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesMaxSizeGet(1, size, arg0); - lbl_1_data_41C = HuWinExCreateStyled(-10000, 308, size[0], size[1], -1, 2); - HuWinMesSpeedSet(lbl_1_data_41C, 0); - HuWinExAnimIn(lbl_1_data_41C); - HuWinInsertMesSet(lbl_1_data_41C, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); - HuWinMesSet(lbl_1_data_41C, arg0); - HuWinMesWait(lbl_1_data_41C); + float size[2]; + if(lbl_1_data_41C != -1) { + HuWinExCleanup(lbl_1_data_41C); + } + HuWinInsertMesSizeGet(MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesMaxSizeGet(1, size, arg0); + lbl_1_data_41C = HuWinExCreateStyled(-10000, 308, size[0], size[1], -1, 2); + HuWinMesSpeedSet(lbl_1_data_41C, 0); + HuWinExAnimIn(lbl_1_data_41C); + HuWinInsertMesSet(lbl_1_data_41C, MAKE_MESSID_PTR(lbl_1_data_278[curSlotNo]), 0); + HuWinMesSet(lbl_1_data_41C, arg0); + HuWinMesWait(lbl_1_data_41C); } void fn_1_BA20(void) { - if (lbl_1_data_41C != -1) { - HuWinExAnimOut(lbl_1_data_41C); - HuWinExCleanup(lbl_1_data_41C); - lbl_1_data_41C = -1; - } + if(lbl_1_data_41C != -1) { + HuWinExAnimOut(lbl_1_data_41C); + HuWinExCleanup(lbl_1_data_41C); + lbl_1_data_41C = -1; + } } void fn_1_BA80(s16 boxno) { - char mesMaxTurn[4]; - char mesTurn[4]; - char mesDummy[1] = { 0 }; - if (lbl_1_bss_EE[boxno] < 0) { - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x11)); - } - else { - if (!lbl_1_bss_C4[boxno] && !lbl_1_bss_B8[boxno]) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x11), 0); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(mesDummy), 1); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x43)); - } - else { - if (!lbl_1_bss_C4[boxno]) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x11), 0); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(mesDummy), 1); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x12) + lbl_1_bss_9E[boxno], 2); - sprintf(mesMaxTurn, "%2d", lbl_1_bss_98[boxno]); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(mesMaxTurn), 3); - sprintf(mesTurn, "%2d", lbl_1_bss_92[boxno]); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(mesTurn), 4); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x42)); - } - else { - if (!lbl_1_bss_B8[boxno]) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x12) + lbl_1_bss_A4[boxno], 0); - if (lbl_1_bss_AC[boxno]) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x18), 1); - } - else { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(mesDummy), 1); - } - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x43)); - } - else { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x12) + lbl_1_bss_A4[boxno], 0); - if (lbl_1_bss_AC[boxno]) { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x18), 1); - } - else { - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(mesDummy), 1); - } - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x12) + lbl_1_bss_9E[boxno], 2); - sprintf(mesMaxTurn, "%2d", lbl_1_bss_98[boxno]); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(mesMaxTurn), 3); - sprintf(mesTurn, "%2d", lbl_1_bss_92[boxno]); - HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(mesTurn), 4); - HuWinMesSet(lbl_1_bss_148, MAKE_MESSID(16, 0x42)); - } - } - } - } - HuWinMesWait(lbl_1_bss_148); -} + char mesMaxTurn[4]; + char mesTurn[4]; + char mesDummy[1] = {0}; + if(lbl_1_bss_EE[boxno] < 0) { + HuWinMesSet(lbl_1_bss_148, 0x100011); + } else { + if(!lbl_1_bss_C4[boxno] && !lbl_1_bss_B8[boxno]) { + HuWinInsertMesSet(lbl_1_bss_148, 0x100011, 0); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(mesDummy), 1); + HuWinMesSet(lbl_1_bss_148, 0x100043); + } else { + if(!lbl_1_bss_C4[boxno]) { + HuWinInsertMesSet(lbl_1_bss_148, 0x100011, 0); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(mesDummy), 1); + HuWinInsertMesSet(lbl_1_bss_148, 0x100012+lbl_1_bss_9E[boxno], 2); + sprintf(mesMaxTurn, "%2d", lbl_1_bss_98[boxno]); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(mesMaxTurn), 3); + sprintf(mesTurn, "%2d", lbl_1_bss_92[boxno]); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(mesTurn), 4); + HuWinMesSet(lbl_1_bss_148, 0x100042); + } else { + if(!lbl_1_bss_B8[boxno]) { + HuWinInsertMesSet(lbl_1_bss_148, 0x100012+lbl_1_bss_A4[boxno], 0); + if(lbl_1_bss_AC[boxno]) { + HuWinInsertMesSet(lbl_1_bss_148, 0x100018, 1); + } else { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(mesDummy), 1); + } + HuWinMesSet(lbl_1_bss_148, 0x100043); + } else { + HuWinInsertMesSet(lbl_1_bss_148, 0x100012+lbl_1_bss_A4[boxno], 0); + if(lbl_1_bss_AC[boxno]) { + HuWinInsertMesSet(lbl_1_bss_148, 0x100018, 1); + } else { + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(mesDummy), 1); + } + HuWinInsertMesSet(lbl_1_bss_148, 0x100012+lbl_1_bss_9E[boxno], 2); + sprintf(mesMaxTurn, "%2d", lbl_1_bss_98[boxno]); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(mesMaxTurn), 3); + sprintf(mesTurn, "%2d", lbl_1_bss_92[boxno]); + HuWinInsertMesSet(lbl_1_bss_148, MAKE_MESSID_PTR(mesTurn), 4); + HuWinMesSet(lbl_1_bss_148, 0x100042); + } + } + } + } + HuWinMesWait(lbl_1_bss_148); +} \ No newline at end of file diff --git a/src/REL/modeseldll/main.c b/src/REL/modeseldll/main.c index 2ece1b9d..84d5c977 100644 --- a/src/REL/modeseldll/main.c +++ b/src/REL/modeseldll/main.c @@ -1,22 +1,26 @@ -#include "REL/modeseldll.h" -#include "game/audio.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" #include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" +#include "game/hsfman.h" #include "game/process.h" #include "game/window.h" +#include "game/objsub.h" +#include "game/audio.h" #include "game/wipe.h" -#include "ext_math.h" +#include "game/pad.h" +#include "math.h" +#include "game/gamework_data.h" +#include "REL/modeseldll.h" +#include "rel_sqrt_consts.h" typedef struct camera_view_params { - Vec rot; - Vec pos; - float zoom; + Vec rot; + Vec pos; + float zoom; } CameraViewParams; -CameraViewParams lbl_1_data_0[] = { { { 0, 0, 0 }, { 0, 0, 0 }, 1500 }, { { 0, 0, 0 }, { 0, 0, 0 }, 524 } }; +CameraViewParams lbl_1_data_0[] = { + { { 0, 0, 0 }, { 0, 0, 0 }, 1500 }, + { { 0, 0, 0 }, { 0, 0, 0 }, 524 } +}; omObjData *lbl_1_bss_7C; Process *lbl_1_bss_78; @@ -38,345 +42,325 @@ void fn_1_1B6C(void); void ObjectSetup(void) { - s32 light; - OSReport("******* MS ObjectSetup *********\n"); - lbl_1_bss_78 = omInitObjMan(50, 8192); - omGameSysInit(lbl_1_bss_78); - lbl_1_bss_24[0].x = -70; - lbl_1_bss_24[0].y = 0; - lbl_1_bss_24[0].z = 0; - lbl_1_bss_C[0].x = 0; - lbl_1_bss_C[0].y = 130; - lbl_1_bss_C[0].z = -186; - lbl_1_bss_4[0] = 1360; - lbl_1_bss_64 = lbl_1_bss_24[0]; - lbl_1_bss_58 = lbl_1_bss_C[0]; - lbl_1_bss_54 = lbl_1_bss_4[0]; - lbl_1_bss_70[0] = 0; - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 30, 20, 8000, 1.2f); - Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); - Hu3DCameraScissorSet(1, 0, 16, 640, 448); - light = Hu3DGLightCreate(0, 100, 1000, 0, -0.5, -1, 255, 255, 255); - Hu3DGLightInfinitytSet(light); - HuPrcChildCreate(fn_1_414, 100, 16384, 0, lbl_1_bss_78); - HuPrcChildCreate(fn_1_AF0, 200, 4096, 0, lbl_1_bss_78); - lbl_1_bss_7C = omAddObjEx(lbl_1_bss_78, 32730, 0, 0, -1, fn_1_B8C); - omAddObjEx(lbl_1_bss_78, 0, 32, 32, -1, fn_1_F40); - Hu3DBGColorSet(0, 0, 0); - mgBoardHostEnableF = 0; - HuWinInit(1); - mgPracticeEnableF = 0; - mgQuitExtraF = 0; + s32 light; + OSReport("******* MS ObjectSetup *********\n"); + lbl_1_bss_78 = omInitObjMan(50, 8192); + omGameSysInit(lbl_1_bss_78); + lbl_1_bss_24[0].x = -70; + lbl_1_bss_24[0].y = 0; + lbl_1_bss_24[0].z = 0; + lbl_1_bss_C[0].x = 0; + lbl_1_bss_C[0].y = 130; + lbl_1_bss_C[0].z = -186; + lbl_1_bss_4[0] = 1360; + lbl_1_bss_64 = lbl_1_bss_24[0]; + lbl_1_bss_58 = lbl_1_bss_C[0]; + lbl_1_bss_54 = lbl_1_bss_4[0]; + lbl_1_bss_70[0] = 0; + Hu3DCameraCreate(1); + Hu3DCameraPerspectiveSet(1, 30, 20, 8000, 1.2f); + Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); + Hu3DCameraScissorSet(1, 0, 16, 640, 448); + light = Hu3DGLightCreate(0, 100, 1000, 0, -0.5, -1, 255, 255, 255); + Hu3DGLightInfinitytSet(light); + HuPrcChildCreate(fn_1_414, 100, 16384, 0, lbl_1_bss_78); + HuPrcChildCreate(fn_1_AF0, 200, 4096, 0, lbl_1_bss_78); + lbl_1_bss_7C = omAddObjEx(lbl_1_bss_78, 32730, 0, 0, -1, fn_1_B8C); + omAddObjEx(lbl_1_bss_78, 0, 32, 32, -1, fn_1_F40); + Hu3DBGColorSet(0, 0, 0); + mgBoardHostEnableF = 0; + HuWinInit(1); + mgPracticeEnableF = 0; + mgQuitExtraF = 0; } void fn_1_414(void) { - fn_1_9F4(); - if (omovlevtno) { - HuAudSeqPlay(43); - } - else { - if (!fn_1_37DC()) { - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); - HuAudSeqAllFadeOut(1000); - while (WipeStatGet()) { - HuPrcVSleep(); - } - #if VERSION_PAL - if(GwLanguageSave != -1) { - GWGameStat.language = GwLanguageSave; - } else if(GwLanguage != -1) { - GWGameStat.language = GwLanguage; - } - #endif - omOvlReturnEx(1, 1); - while (1) { - HuPrcVSleep(); - } - } - else { - s16 grpId; - s16 sprId; - #if VERSION_PAL - HuWinAllKill(); - HuWinInit(1); - #endif - grpId = HuSprGrpCreate(1); - sprId = HuTHPSprCreateVol("movie/opmov_s00.thp", 0, 3000, 70.0); - HuSprGrpMemberSet(grpId, 0, sprId); - HuSprPosSet(grpId, 0, 288, 240); - HuSprDrawNoSet(grpId, 0, 127); - HuPrcSleep(2); - espAttrSet(lbl_1_bss_152[0], HUSPR_ATTR_DISPOFF); - HuAudFXStop(lbl_1_data_100); - while (!HuTHPEndCheck()) { - HuPrcVSleep(); - } - HuTHPClose(); - HuSprGrpKill(grpId); - } - } - espAttrReset(lbl_1_bss_152[9], HUSPR_ATTR_DISPOFF); - espDrawNoSet(lbl_1_bss_152[9], 127); - { - s16 result = fn_1_2490(); - if (result == -1) { - HuAudSeqAllFadeOut(1000); - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); - - while (WipeStatGet()) { - HuPrcVSleep(); - } - omOvlGotoEx(OVL_MODESEL, 1, 0, 0); - while (1) { - HuPrcVSleep(); - } - } - else { - s16 i; - omOvlHisData *his; - for (i = 0; i < 4; i++) { - GWPlayerCfg[i].pad_idx = i; - if (!HuPadStatGet(i)) { - GWPlayerCfg[i].iscom = 0; - } - else { - GWPlayerCfg[i].iscom = 1; - } - } - his = omOvlHisGet(0); - omOvlHisChg(0, his->overlay, 1, his->stat); - _ClearFlag(FLAG_ID_MAKE(1, 0)); - _ClearFlag(FLAG_ID_MAKE(1, 8)); - _ClearFlag(FLAG_ID_MAKE(1, 12)); - _ClearFlag(FLAG_ID_MAKE(1, 11)); - GWGameStat.sound_mode = msmSysGetOutputMode(); - switch (result) { - case 0: - GWMGExplainSet(GWGameStat.party_pause.explain_mg); - GWMGShowComSet(GWGameStat.party_pause.show_com_mg); - GWMGListSet(GWGameStat.party_pause.mg_list); - GWMessSpeedSet(GWGameStat.party_pause.mess_speed); - GWSaveModeSet(GWGameStat.party_pause.save_mode); - omOvlCallEx(OVL_MENT, 1, 0, 0); - break; - - case 1: - GWMGExplainSet(GWGameStat.story_pause.explain_mg); - GWMGShowComSet(GWGameStat.story_pause.show_com_mg); - GWMGListSet(GWGameStat.story_pause.mg_list); - GWMessSpeedSet(GWGameStat.story_pause.mess_speed); - GWSaveModeSet(GWGameStat.story_pause.save_mode); - omOvlCallEx(OVL_MENT, 1, 1, 0); - break; - - case 2: - omOvlCallEx(OVL_MGMODE, 1, 0, 0); - break; - - case 3: - omOvlCallEx(OVL_MENT, 1, 3, 0); - break; - - case 4: - omOvlCallEx(OVL_MENT, 1, 4, 0); - break; - - case 5: - omOvlCallEx(OVL_MPEX, 1, 0, 0); - break; - } - while (1) { - HuPrcVSleep(); - } - } - } + fn_1_9F4(); + if(omovlevtno) { + HuAudSeqPlay(43); + } else { + if(!fn_1_37DC()) { + WipeColorSet(0, 0, 0); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); + HuAudSeqAllFadeOut(1000); + while(WipeStatGet()) { + HuPrcVSleep(); + } + omOvlReturnEx(1, 1); + while(1) { + HuPrcVSleep(); + } + } else { + s16 group = HuSprGrpCreate(1); + s16 sprite = HuTHPSprCreateVol("movie/opmov_s00.thp", 0, 3000, 70.0); + HuSprGrpMemberSet(group, 0, sprite); + HuSprPosSet(group, 0, 288, 240); + HuSprDrawNoSet(group, 0, 127); + HuPrcSleep(2); + espAttrSet(lbl_1_bss_152[0], 4); + HuAudFXStop(lbl_1_data_100); + while(!HuTHPEndCheck()) { + HuPrcVSleep(); + } + HuTHPClose(); + HuSprGrpKill(group); + } + } + espAttrReset(lbl_1_bss_152[9], 4); + espDrawNoSet(lbl_1_bss_152[9], 127); + { + s16 result = fn_1_2490(); + if(result == -1) { + HuAudSeqAllFadeOut(1000); + WipeColorSet(0, 0, 0); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); + + while(WipeStatGet()) { + HuPrcVSleep(); + } + omOvlGotoEx(OVL_MODESEL, 1, 0, 0); + while(1) { + HuPrcVSleep(); + } + } else { + s16 i; + omOvlHisData *his; + for(i=0; i<4; i++) { + GWPlayerCfg[i].pad_idx = i; + if(!HuPadStatGet(i)) { + GWPlayerCfg[i].iscom = 0; + } else { + GWPlayerCfg[i].iscom = 1; + } + } + his = omOvlHisGet(0); + omOvlHisChg(0, his->overlay, 1, his->stat); + _ClearFlag(FLAG_ID_MAKE(1, 0)); + _ClearFlag(FLAG_ID_MAKE(1, 8)); + _ClearFlag(FLAG_ID_MAKE(1, 12)); + _ClearFlag(FLAG_ID_MAKE(1, 11)); + GWGameStat.sound_mode = msmSysGetOutputMode(); + switch(result) { + case 0: + GWMGExplainSet(GWGameStat.party_pause.explain_mg); + GWMGShowComSet(GWGameStat.party_pause.show_com_mg); + GWMGListSet(GWGameStat.party_pause.mg_list); + GWMessSpeedSet(GWGameStat.party_pause.mess_speed); + GWSaveModeSet(GWGameStat.party_pause.save_mode); + omOvlCallEx(OVL_MENT, 1, 0, 0); + break; + + case 1: + GWMGExplainSet(GWGameStat.story_pause.explain_mg); + GWMGShowComSet(GWGameStat.story_pause.show_com_mg); + GWMGListSet(GWGameStat.story_pause.mg_list); + GWMessSpeedSet(GWGameStat.story_pause.mess_speed); + GWSaveModeSet(GWGameStat.story_pause.save_mode); + omOvlCallEx(OVL_MENT, 1, 1, 0); + break; + + case 2: + omOvlCallEx(OVL_MGMODE, 1, 0, 0); + break; + + case 3: + omOvlCallEx(OVL_MENT, 1, 3, 0); + break; + + case 4: + omOvlCallEx(OVL_MENT, 1, 4, 0); + break; + + case 5: + omOvlCallEx(OVL_MPEX, 1, 0, 0); + break; + } + while(1) { + HuPrcVSleep(); + } + } + } } void fn_1_9F4(void) { - Vec pos; - Vec target; - Vec up; - Hu3DShadowCreate(20, 100, 5000); - Hu3DShadowTPLvlSet(0.3f); - Hu3DShadowSizeSet(192); - target.x = target.y = target.z = 0; - pos.x = 500; - pos.z = 1000; - pos.y = 2000; - up.x = 0; - up.y = 1; - up.z = 0; - Hu3DShadowPosSet(&pos, &up, &target); - fn_1_BED8(lbl_1_data_428); - fn_1_C168(lbl_1_data_93C); + Vec pos; + Vec target; + Vec up; + Hu3DShadowCreate(20, 100, 5000); + Hu3DShadowTPLvlSet(0.3f); + Hu3DShadowSizeSet(192); + target.x = target.y = target.z = 0; + pos.x = 500; + pos.z = 1000; + pos.y = 2000; + up.x = 0; + up.y = 1; + up.z = 0; + Hu3DShadowPosSet(&pos, &up, &target); + fn_1_BED8(lbl_1_data_428); + fn_1_C168(lbl_1_data_93C); } void fn_1_AF0(void) { - s16 i; - while (1) { - if (lbl_1_bss_70[0] || omSysExitReq) { - break; - } - HuPrcVSleep(); - } - for (i = 0; i < 4; i++) { - GWPlayerCfg[i].character = -1; - } - BoardStatusKill(); - omOvlReturnEx(1, 1); - HuPrcEnd(); + s16 i; + while(1) { + if(lbl_1_bss_70[0] || omSysExitReq) { + break; + } + HuPrcVSleep(); + } + for(i=0; i<4; i++) { + GWPlayerCfg[i].character = -1; + } + BoardStatusKill(); + omOvlReturnEx(1, 1); + HuPrcEnd(); } u16 lbl_1_data_6E[] = { 1, 2 }; void fn_1_B8C(omObjData *object) { - s16 i; - for (i = 0; i < 1; i++) { - Vec pos, target, up; - float x, y, z; - - x = lbl_1_bss_24[i].x; - y = lbl_1_bss_24[i].y; - z = lbl_1_bss_24[i].z; - - pos.x = (((sind(y) * cosd(x)) * lbl_1_bss_4[i]) + lbl_1_bss_C[i].x); - pos.y = (-sind(x) * lbl_1_bss_4[i]) + lbl_1_bss_C[i].y; - pos.z = ((cosd(y) * cosd(x)) * lbl_1_bss_4[i]) + lbl_1_bss_C[i].z; - target.x = lbl_1_bss_C[i].x; - target.y = lbl_1_bss_C[i].y; - target.z = lbl_1_bss_C[i].z; - up.x = sind(y) * sind(x); - up.y = cosd(x); - up.z = cosd(y) * sind(x); - Hu3DCameraPosSet(lbl_1_data_6E[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z); - } + s16 i; + for(i=0; i<1; i++) { + Vec pos, target, up; + float x, y, z; + + x = lbl_1_bss_24[i].x; + y = lbl_1_bss_24[i].y; + z = lbl_1_bss_24[i].z; + + pos.x = (((sin((M_PI*y)/180.0)*cos((M_PI*x)/180.0))*lbl_1_bss_4[i])+lbl_1_bss_C[i].x); + pos.y = (-sin((M_PI*x)/180.0)*lbl_1_bss_4[i])+lbl_1_bss_C[i].y; + pos.z = ((cos((M_PI*y)/180.0)*cos((M_PI*x)/180.0))*lbl_1_bss_4[i])+lbl_1_bss_C[i].z; + target.x = lbl_1_bss_C[i].x; + target.y = lbl_1_bss_C[i].y; + target.z = lbl_1_bss_C[i].z; + up.x = sin((M_PI*y)/180.0)*sin((M_PI*x)/180.0); + up.y = cos((M_PI*x)/180.0); + up.z = cos((M_PI*y)/180.0)*sin((M_PI*x)/180.0); + Hu3DCameraPosSet(lbl_1_data_6E[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z); + } } void fn_1_F40(omObjData *object) { - Vec pos; + Vec pos; Vec offset; Vec dir; Vec y_offset; - + f32 z_rot; s8 stick_pos; if (!lbl_1_bss_0) { - fn_1_1B6C(); + fn_1_1B6C(); return; } - lbl_1_bss_24[0].y += 0.1f * HuPadStkX[0]; - lbl_1_bss_24[0].x += 0.1f * HuPadStkY[0]; - lbl_1_bss_4[0] += HuPadTrigL[0] / 2; - lbl_1_bss_4[0] -= HuPadTrigR[0] / 2; - if (HuPadBtnDown[0] & PAD_BUTTON_B) { - OSReport("%f,%f,%f\n", lbl_1_bss_24[0].x, lbl_1_bss_24[0].y, lbl_1_bss_24[0].z); - OSReport("%f,%f,%f\n", lbl_1_bss_C[0].x, lbl_1_bss_C[0].y, lbl_1_bss_C[0].z); - OSReport("%f\n", lbl_1_bss_4[0]); - } - if (lbl_1_bss_4[0] < 100.0f) { - lbl_1_bss_4[0] = 100.0f; - } - pos.x = lbl_1_bss_C[0].x + (lbl_1_bss_4[0] * (sind(lbl_1_bss_24[0].y) * cosd(lbl_1_bss_24[0].x))); - pos.y = (lbl_1_bss_C[0].y + (lbl_1_bss_4[0] * -sind(lbl_1_bss_24[0].x))); - pos.z = (lbl_1_bss_C[0].z + (lbl_1_bss_4[0] * (cosd(lbl_1_bss_24[0].y) * cosd(lbl_1_bss_24[0].x)))); - offset.x = lbl_1_bss_C[0].x - pos.x; - offset.y = lbl_1_bss_C[0].y - pos.y; - offset.z = lbl_1_bss_C[0].z - pos.z; - dir.x = (sind(lbl_1_bss_24[0].y) * sind(lbl_1_bss_24[0].x)); - dir.y = cosd(lbl_1_bss_24[0].x); - dir.z = (cosd(lbl_1_bss_24[0].y) * sind(lbl_1_bss_24[0].x)); - z_rot = lbl_1_bss_24[0].z; - y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cosd(z_rot)) - + dir.y * (offset.x * offset.y * (1.0f - cosd(z_rot)) - offset.z * sind(z_rot)) - + dir.z * (offset.x * offset.z * (1.0f - cosd(z_rot)) + offset.y * sind(z_rot)); + lbl_1_bss_24[0].y += 0.1f * HuPadStkX[0]; + lbl_1_bss_24[0].x += 0.1f * HuPadStkY[0]; + lbl_1_bss_4[0] += HuPadTrigL[0] / 2; + lbl_1_bss_4[0] -= HuPadTrigR[0] / 2; + if(HuPadBtnDown[0] & PAD_BUTTON_B) { + OSReport("%f,%f,%f\n", lbl_1_bss_24[0].x, lbl_1_bss_24[0].y, lbl_1_bss_24[0].z); + OSReport("%f,%f,%f\n", lbl_1_bss_C[0].x, lbl_1_bss_C[0].y, lbl_1_bss_C[0].z); + OSReport("%f\n", lbl_1_bss_4[0]); + } + if (lbl_1_bss_4[0] < 100.0f) { + lbl_1_bss_4[0] = 100.0f; + } + pos.x = lbl_1_bss_C[0].x + (lbl_1_bss_4[0] * (sin((M_PI * lbl_1_bss_24[0].y) / 180.0) * cos((M_PI * lbl_1_bss_24[0].x) / 180.0))); + pos.y = (lbl_1_bss_C[0].y + (lbl_1_bss_4[0] * -sin((M_PI * lbl_1_bss_24[0].x) / 180.0))); + pos.z = (lbl_1_bss_C[0].z + (lbl_1_bss_4[0] * (cos((M_PI * lbl_1_bss_24[0].y) / 180.0) * cos((M_PI * lbl_1_bss_24[0].x) / 180.0)))); + offset.x = lbl_1_bss_C[0].x - pos.x; + offset.y = lbl_1_bss_C[0].y - pos.y; + offset.z = lbl_1_bss_C[0].z - pos.z; + dir.x = (sin((M_PI * lbl_1_bss_24[0].y) / 180.0) * sin((M_PI * lbl_1_bss_24[0].x) / 180.0)); + dir.y = cos((M_PI * lbl_1_bss_24[0].x) / 180.0); + dir.z = (cos((M_PI * lbl_1_bss_24[0].y) / 180.0) * sin((M_PI * lbl_1_bss_24[0].x) / 180.0)); + z_rot = lbl_1_bss_24[0].z; + y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cos((M_PI * z_rot) / 180.0)) + + dir.y * (offset.x * offset.y * (1.0f - cos((M_PI * z_rot) / 180.0)) - offset.z * sin((M_PI * z_rot) / 180.0)) + + dir.z * (offset.x * offset.z * (1.0f - cos((M_PI * z_rot) / 180.0)) + offset.y * sin((M_PI * z_rot) / 180.0)); - y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cosd(z_rot)) - + dir.x * (offset.x * offset.y * (1.0f - cosd(z_rot)) + offset.z * sind(z_rot)) - + dir.z * (offset.y * offset.z * (1.0f - cosd(z_rot)) - offset.x * sind(z_rot)); + y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cos((M_PI * z_rot) / 180.0)) + + dir.x * (offset.x * offset.y * (1.0f - cos((M_PI * z_rot) / 180.0)) + offset.z * sin((M_PI * z_rot) / 180.0)) + + dir.z * (offset.y * offset.z * (1.0f - cos((M_PI * z_rot) / 180.0)) - offset.x * sin((M_PI * z_rot) / 180.0)); + + y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cos((M_PI * z_rot) / 180.0)) + + (dir.x * (offset.x * offset.z * (1.0 - cos((M_PI * z_rot) / 180.0)) - offset.y * sin((M_PI * z_rot) / 180.0)) + + dir.y * (offset.y * offset.z * (1.0 - cos((M_PI * z_rot) / 180.0)) + offset.x * sin((M_PI * z_rot) / 180.0))); - y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cosd(z_rot)) - + (dir.x * (offset.x * offset.z * (1.0 - cosd(z_rot)) - offset.y * sind(z_rot)) - + dir.y * (offset.y * offset.z * (1.0 - cosd(z_rot)) + offset.x * sind(z_rot))); - - VECCrossProduct(&dir, &offset, &offset); - VECNormalize(&offset, &offset); - stick_pos = (HuPadSubStkX[0] & 0xF8); - if (stick_pos != 0) { - lbl_1_bss_C[0].x += 0.05f * (offset.x * stick_pos); - lbl_1_bss_C[0].y += 0.05f * (offset.y * stick_pos); - lbl_1_bss_C[0].z += 0.05f * (offset.z * stick_pos); - } - VECNormalize(&y_offset, &offset); - stick_pos = -(HuPadSubStkY[0] & 0xF8); - if (stick_pos != 0) { - lbl_1_bss_C[0].x += 0.05f * (offset.x * stick_pos); - lbl_1_bss_C[0].y += 0.05f * (offset.y * stick_pos); - lbl_1_bss_C[0].z += 0.05f * (offset.z * stick_pos); - } + PSVECCrossProduct(&dir, &offset, &offset); + PSVECNormalize(&offset, &offset); + stick_pos = (HuPadSubStkX[0] & 0xF8); + if (stick_pos != 0) { + lbl_1_bss_C[0].x += 0.05f * (offset.x * stick_pos); + lbl_1_bss_C[0].y += 0.05f * (offset.y * stick_pos); + lbl_1_bss_C[0].z += 0.05f * (offset.z * stick_pos); + } + PSVECNormalize(&y_offset, &offset); + stick_pos = -(HuPadSubStkY[0] & 0xF8); + if (stick_pos != 0) { + lbl_1_bss_C[0].x += 0.05f * (offset.x * stick_pos); + lbl_1_bss_C[0].y += 0.05f * (offset.y * stick_pos); + lbl_1_bss_C[0].z += 0.05f * (offset.z * stick_pos); + } } void fn_1_1B6C(void) { - Vec delta_vec; - float delta_zoom; - if (lbl_1_bss_70[0]) { - return; - } - VECSubtract(&lbl_1_bss_64, &lbl_1_bss_24[0], &delta_vec); - if (VECMag(&delta_vec) > 0.2) { - VECScale(&delta_vec, &delta_vec, 0.05f); - VECAdd(&lbl_1_bss_24[0], &delta_vec, &lbl_1_bss_24[0]); - } - else { - lbl_1_bss_24[0] = lbl_1_bss_64; - } - VECSubtract(&lbl_1_bss_58, &lbl_1_bss_C[0], &delta_vec); - if (VECMag(&delta_vec) > 0.2) { - VECScale(&delta_vec, &delta_vec, 0.05f); - VECAdd(&lbl_1_bss_C[0], &delta_vec, &lbl_1_bss_C[0]); - } - else { - lbl_1_bss_C[0] = lbl_1_bss_58; - } - delta_zoom = lbl_1_bss_54 - lbl_1_bss_4[0]; - if (sqrtf(delta_zoom * delta_zoom) > 0.2) { - delta_zoom *= 0.05f; - lbl_1_bss_4[0] += delta_zoom; - } - else { - lbl_1_bss_4[0] = lbl_1_bss_54; - } + Vec delta_vec; + float delta_zoom; + if(lbl_1_bss_70[0]) { + return; + } + VECSubtract(&lbl_1_bss_64, &lbl_1_bss_24[0], &delta_vec); + if(VECMag(&delta_vec) > 0.2) { + VECScale(&delta_vec, &delta_vec, 0.05f); + VECAdd(&lbl_1_bss_24[0], &delta_vec, &lbl_1_bss_24[0]); + } else { + lbl_1_bss_24[0] = lbl_1_bss_64; + } + VECSubtract(&lbl_1_bss_58, &lbl_1_bss_C[0], &delta_vec); + if(VECMag(&delta_vec) > 0.2) { + VECScale(&delta_vec, &delta_vec, 0.05f); + VECAdd(&lbl_1_bss_C[0], &delta_vec, &lbl_1_bss_C[0]); + } else { + lbl_1_bss_C[0] = lbl_1_bss_58; + } + delta_zoom = lbl_1_bss_54-lbl_1_bss_4[0]; + if(sqrtf(delta_zoom*delta_zoom) > 0.2) { + delta_zoom *= 0.05f; + lbl_1_bss_4[0] += delta_zoom; + } else { + lbl_1_bss_4[0] = lbl_1_bss_54; + } } void fn_1_1E30(s16 view) { - lbl_1_bss_64 = lbl_1_data_0[view].rot; - lbl_1_bss_58 = lbl_1_data_0[view].pos; - lbl_1_bss_54 = lbl_1_data_0[view].zoom; + lbl_1_bss_64 = lbl_1_data_0[view].rot; + lbl_1_bss_58 = lbl_1_data_0[view].pos; + lbl_1_bss_54 = lbl_1_data_0[view].zoom; } void fn_1_1EC0(s16 view) { - s16 i; - lbl_1_bss_24[0] = lbl_1_data_0[view].rot; - lbl_1_bss_64 = lbl_1_bss_24[0]; - lbl_1_bss_C[0] = lbl_1_data_0[view].pos; - lbl_1_bss_58 = lbl_1_bss_C[0]; - lbl_1_bss_54 = lbl_1_bss_4[0] = lbl_1_data_0[view].zoom; - fn_1_B8C(NULL); + s16 i; + lbl_1_bss_24[0] = lbl_1_data_0[view].rot; + lbl_1_bss_64 = lbl_1_bss_24[0]; + lbl_1_bss_C[0] = lbl_1_data_0[view].pos; + lbl_1_bss_58 = lbl_1_bss_C[0]; + lbl_1_bss_54 = lbl_1_bss_4[0] = lbl_1_data_0[view].zoom; + fn_1_B8C(NULL); } float fn_1_2368(void) { - float delta_zoom = lbl_1_bss_54 - lbl_1_bss_4[0]; - return sqrtf(delta_zoom * delta_zoom); + float delta_zoom = lbl_1_bss_54-lbl_1_bss_4[0]; + return sqrtf(delta_zoom*delta_zoom); } diff --git a/src/REL/modeseldll/modesel.c b/src/REL/modeseldll/modesel.c index ff96fbbc..e0d6b53d 100644 --- a/src/REL/modeseldll/modesel.c +++ b/src/REL/modeseldll/modesel.c @@ -1,251 +1,261 @@ -#include "game/audio.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfman.h" +#define HUWIN_USE_OLD_DEFS #include "game/object.h" -#include "game/pad.h" -#include "game/process.h" -#include "game/window.h" +#include "game/gamework_data.h" +#include "game/audio.h" #include "game/wipe.h" +#include "game/window.h" +#include "game/object.h" +#include "game/process.h" +#include "game/hsfman.h" +#include "game/pad.h" +#include "game/hsfanim.h" -#include "REL/modeseldll.h" #include "ext_math.h" +#include "REL/modeseldll.h" -#ifndef __MWERKS__ -#include "game/esprite.h" -#include "game/thpmain.h" -#endif +s16 lbl_1_data_80[] = { + 16, 17, 18, + 19, 20, 21 +}; -s16 lbl_1_data_80[] = { 16, 17, 18, 19, 20, 21 }; +s32 lbl_1_data_8C[] = { + 0x630030, + 0x630032, + 0x630034, + 0x630036, + 0x630038, + 0x63003A +}; -s32 lbl_1_data_8C[] = { DATA_MAKE_NUM(DATADIR_MODESEL, 0x30), DATA_MAKE_NUM(DATADIR_MODESEL, 0x32), DATA_MAKE_NUM(DATADIR_MODESEL, 0x34), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x36), DATA_MAKE_NUM(DATADIR_MODESEL, 0x38), DATA_MAKE_NUM(DATADIR_MODESEL, 0x3A) }; +s32 lbl_1_data_A4[] = { + 0x630031, + 0x630033, + 0x630035, + 0x630037, + 0x630039, + 0x63003B +}; -s32 lbl_1_data_A4[] = { DATA_MAKE_NUM(DATADIR_MODESEL, 0x31), DATA_MAKE_NUM(DATADIR_MODESEL, 0x33), DATA_MAKE_NUM(DATADIR_MODESEL, 0x35), - DATA_MAKE_NUM(DATADIR_MODESEL, 0x37), DATA_MAKE_NUM(DATADIR_MODESEL, 0x39), DATA_MAKE_NUM(DATADIR_MODESEL, 0x3B) }; - -u32 lbl_1_data_BC[] = { MAKE_MESSID(17, 1), MAKE_MESSID(17, 2), MAKE_MESSID(17, 3), MAKE_MESSID(17, 4), MAKE_MESSID(17, 5), MAKE_MESSID(17, 6) }; +u32 lbl_1_data_BC[] = { + 0x110001, + 0x110002, + 0x110003, + 0x110004, + 0x110005, + 0x110006 +}; s16 lbl_1_bss_82; s16 lbl_1_bss_80; void fn_1_3668(void); -// Scratch is at https://decomp.me/scratch/iirXp -// Register allocation issues at line 180 with load of 1.0 double constant +//Scratch is at https://decomp.me/scratch/iirXp +//Register allocation issues at line 180 with load of 1.0 double constant s32 fn_1_2490(void) { - float sp10[2]; - float sp8[2]; - float temp_f31; - float temp_f30; - s16 temp_r31; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - s16 temp_r26; - s32 temp_r25; - WindowData *temp_r24; - AnimData *temp_r23; - AnimData *temp_r22; - s16 temp_r21; - fn_1_3668(); - fn_1_1EC0(1); - temp_r25 = HuAudFXPlay(2094); - if (omovlevtno) { - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - } - for (temp_r31 = 0; temp_r31 <= 20; temp_r31++) { - temp_f31 = 1.0 - sind(90.0 * (temp_r31 / 20.0)); - Hu3DModelPosSet(lbl_1_bss_19A[14], 0, -50.0f + (200.0f * temp_f31), 0); - Hu3DModelPosSet(lbl_1_bss_19A[15], 0, -50.0f + (200.0f * temp_f31), 0); - HuPrcVSleep(); - } - HuPrcSleep(20); - Hu3DModelAttrReset(lbl_1_bss_19A[14], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(lbl_1_bss_19A[15], HU3D_MOTATTR_PAUSE); - HuAudFXPlay(2093); - HuPrcSleep(120); - HuAudFXPlay(2095); - for (temp_r31 = 0; temp_r31 <= 30; temp_r31++) { - temp_f31 = temp_r31 / 30.0; - Hu3DModelPosSet(lbl_1_bss_19A[14], 0, -50.0f - (20.0f * temp_f31), 0); - HuPrcVSleep(); - } - HuWinMesMaxSizeBetGet(sp10, MAKE_MESSID(0x11, 0x00), MAKE_MESSID(0x11, 0x06)); - lbl_1_bss_82 = HuWinExCreateStyled(-10000, 432 - sp10[1], sp10[0], sp10[1], -1, 0); - HuWinMesSpeedSet(lbl_1_bss_82, 0); - temp_r24 = &winData[lbl_1_bss_82]; - temp_r24->active_pad = 1; - HuWinExAnimIn(lbl_1_bss_82); - HuWinMesSet(lbl_1_bss_82, MAKE_MESSID(0x11, 0x00)); - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x1A, 0x20)); - temp_r29 = HuWinCreate(-10000, 8 + (432 - sp10[1] - sp8[1]), sp8[0], sp8[1], 0); - HuWinMesSpeedSet(temp_r29, 0); - HuWinBGTPLvlSet(temp_r29, 0); - HuWinMesSet(temp_r29, MAKE_MESSID(0x1A, 0x20)); - HuWinDispOff(temp_r29); - while (!Hu3DMotionEndCheck(lbl_1_bss_19A[15])) { - HuPrcVSleep(); - } - Hu3DModelAttrSet(lbl_1_bss_19A[15], HU3D_ATTR_DISPOFF); - for (temp_r31 = 0; temp_r31 < 6; temp_r31++) { - Hu3DModelAttrReset(lbl_1_bss_19A[lbl_1_data_80[temp_r31]], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_19A[lbl_1_data_80[temp_r31]], HU3D_MOTATTR_PAUSE); - Hu3DMotionTimeSet(lbl_1_bss_19A[lbl_1_data_80[temp_r31]], 0); - Hu3DModelPosSet(lbl_1_bss_19A[lbl_1_data_80[temp_r31]], 0, -50, 0); - } - HuWinMesWait(lbl_1_bss_82); - - temp_r26 = lbl_1_bss_80 = 0; - espAttrReset(lbl_1_bss_152[10], HUSPR_ATTR_DISPOFF); - espBankSet(lbl_1_bss_152[10], 0); - for (temp_r31 = 0; temp_r31 <= 10; temp_r31++) { - temp_f31 = temp_r31 / 10.0f; - Hu3DModelPosSet(lbl_1_bss_19A[lbl_1_data_80[lbl_1_bss_80]], 0, -50, 50.0 * sind(90.0f * temp_f31)); - espPosSet(lbl_1_bss_152[10], 288.0, -50.0 + (106.0 * sind(90.0f * temp_f31))); - HuPrcVSleep(); - } - HuWinMesSet(lbl_1_bss_82, lbl_1_data_BC[lbl_1_bss_80]); - HuWinDispOn(temp_r29); - while (1) { - temp_r30 = 0; - if (HuPadDStkRep[0] & PAD_BUTTON_LEFT) { - temp_r30 = -1; - } - else if (HuPadDStkRep[0] & PAD_BUTTON_RIGHT) { - temp_r30 = 1; - } - if (temp_r30) { - if (lbl_1_bss_80 + temp_r30 < 0) { - lbl_1_bss_80 = 0; - } - else if (lbl_1_bss_80 + temp_r30 >= 6) { - lbl_1_bss_80 = 5; - } - else { - lbl_1_bss_80 += temp_r30; - } - if (temp_r26 != lbl_1_bss_80) { - HuAudFXPlay(0); - for (temp_r31 = 0; temp_r31 <= 10; temp_r31++) { - temp_f31 = temp_r31 / 10.0f; - Hu3DModelPosSet(lbl_1_bss_19A[lbl_1_data_80[temp_r26]], 0, -50, 50.0 * cosd(90.0f * temp_f31)); - Hu3DModelPosSet(lbl_1_bss_19A[lbl_1_data_80[lbl_1_bss_80]], 0, -50, 50.0 * sind(90.0f * temp_f31)); - espPosSet(lbl_1_bss_152[10], 288.0, -50.0 + (106.0 * (1.0 - sind(180.0f * temp_f31)))); - if (temp_r31 == 5) { - espBankSet(lbl_1_bss_152[10], lbl_1_bss_80); - } - HuPrcVSleep(); - } - temp_r26 = lbl_1_bss_80; - HuWinMesSet(lbl_1_bss_82, lbl_1_data_BC[lbl_1_bss_80]); - } - } - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - HuAudFXPlay(2); - break; - } - else if (HuPadBtnDown[0] & PAD_BUTTON_B) { - HuAudFXPlay(3); - HuAudFXStop(temp_r25); - return -1; - } - else { - HuPrcVSleep(); - continue; - } - } - Hu3DModelAttrReset(lbl_1_bss_19A[lbl_1_data_80[lbl_1_bss_80]], HU3D_MOTATTR_PAUSE); - HuAudSeqAllFadeOut(1000); - for (temp_r31 = 0; temp_r31 <= 20; temp_r31++) { - temp_f31 = temp_r31 / 20.0f; - for (temp_r28 = 0; temp_r28 < 6; temp_r28++) { - if (temp_r28 != lbl_1_bss_80) { - Hu3DModelPosSet(lbl_1_bss_19A[lbl_1_data_80[temp_r28]], 0, -50 - (300.0 * (1.0 - cosd(90.0f * temp_f31))), 0); - espPosSet(lbl_1_bss_152[10], 288.0, -50.0 + (106.0 * (cosd(90.0f * temp_f31)))); - } - } - HuPrcVSleep(); - } - HuWinKill(temp_r29); - HuWinExAnimOut(lbl_1_bss_82); - HuAudFXStop(temp_r25); - temp_r27 = HuSprGrpCreate(1); - temp_r21 = HuTHPSprCreateVol("movie/opmov_c00.thp", 0, 3000, 90.0); - HuSprGrpMemberSet(temp_r27, 0, temp_r21); - HuSprPosSet(temp_r27, 0, 288.0f, 240.0f); - HuSprDrawNoSet(temp_r27, 0, 127); - HuPrcSleep(2); - espAttrSet(lbl_1_bss_152[9], HUSPR_ATTR_DISPOFF); - for (temp_r31 = 0; temp_r31 <= 10; temp_r31++) { - temp_f31 = temp_r31 / 10.0; - Hu3DModelPosSet(lbl_1_bss_19A[14], 0, -70.0f - (100.0f * temp_f31), 0); - HuPrcVSleep(); - } - temp_r23 = HuSprAnimRead(HuDataReadNum(lbl_1_data_8C[lbl_1_bss_80], MEMORY_DEFAULT_NUM)); - temp_r22 = HuSprAnimRead(HuDataReadNum(lbl_1_data_A4[lbl_1_bss_80], MEMORY_DEFAULT_NUM)); - Hu3DAnimCreate(temp_r23, lbl_1_bss_19A[22], "ys002_a1"); - Hu3DAnimCreate(temp_r22, lbl_1_bss_19A[22], "ys002_a2"); - Hu3DModelAttrSet(lbl_1_bss_19A[lbl_1_data_80[lbl_1_bss_80]], HU3D_ATTR_DISPOFF); - Hu3DMotionTimeSet(lbl_1_bss_19A[22], 0); - Hu3DModelAttrReset(lbl_1_bss_19A[22], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_19A[22], HU3D_MOTATTR_PAUSE); - Hu3DModelPosSet(lbl_1_bss_19A[22], 0, 27, 50); - Hu3DModelScaleSet(lbl_1_bss_19A[22], 1.0f, 1.063f, 1.0f); - for (temp_r31 = 1; temp_r31 <= 20; temp_r31++) { - temp_f31 = temp_r31 / 20.0; - Hu3DModelPosSet(lbl_1_bss_19A[22], 0, 27.0 - (60.0 * sind(90.0f * temp_f31)), 50); - HuPrcVSleep(); - } - HuPrcSleep(90); - Hu3DFogSet(3000, 8000, 255, 255, 255); - Hu3DModelAttrReset(lbl_1_bss_19A[22], HU3D_MOTATTR_PAUSE); - HuPrcSleep(60); - temp_f31 = 0; - temp_f30 = 5; - while (!HuTHPEndCheck()) { - Hu3DModelPosSet(lbl_1_bss_19A[22], 0, -33.0f + (temp_f31 / 30.0f), 50.0f - temp_f31); - temp_f31 += temp_f30; - temp_f30 += 5.0f; - HuPrcVSleep(); - } - _ClearFlag(FLAG_ID_MAKE(1, 11)); - WipeColorSet(255, 255, 255); - #if VERSION_PAL - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - #else - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 10); - #endif - while (WipeStatGet()) { - HuPrcVSleep(); - } - HuTHPClose(); - HuSprGrpKill(temp_r27); - return lbl_1_bss_80; + float sp10[2]; + float sp8[2]; + float temp_f31; + float temp_f30; + s16 temp_r31; + s16 temp_r30; + s16 temp_r29; + s16 temp_r28; + s16 temp_r27; + s16 temp_r26; + s32 temp_r25; + WindowData *temp_r24; + AnimData *temp_r23; + AnimData *temp_r22; + s16 temp_r21; + fn_1_3668(); + fn_1_1EC0(1); + temp_r25 = HuAudFXPlay(2094); + if(omovlevtno) { + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); + } + for(temp_r31=0; temp_r31<=20; temp_r31++) { + temp_f31 = 1.0-sind(90.0*(temp_r31/20.0)); + Hu3DModelPosSet(lbl_1_bss_19A[14], 0, -50.0f+(200.0f*temp_f31), 0); + Hu3DModelPosSet(lbl_1_bss_19A[15], 0, -50.0f+(200.0f*temp_f31), 0); + HuPrcVSleep(); + } + HuPrcSleep(20); + Hu3DModelAttrReset(lbl_1_bss_19A[14], 0x40000002); + Hu3DModelAttrReset(lbl_1_bss_19A[15], 0x40000002); + HuAudFXPlay(2093); + HuPrcSleep(120); + HuAudFXPlay(2095); + for(temp_r31=0; temp_r31<=30; temp_r31++) { + temp_f31 = temp_r31/30.0; + Hu3DModelPosSet(lbl_1_bss_19A[14], 0, -50.0f-(20.0f*temp_f31), 0); + HuPrcVSleep(); + } + HuWinMesMaxSizeBetGet(sp10, 0x110000, 0x110006); + lbl_1_bss_82 = HuWinExCreateStyled(-10000, 432-sp10[1], sp10[0], sp10[1], -1, 0); + HuWinMesSpeedSet(lbl_1_bss_82, 0); + temp_r24 = &winData[lbl_1_bss_82]; + temp_r24->active_pad = 1; + HuWinExAnimIn(lbl_1_bss_82); + HuWinMesSet(lbl_1_bss_82, 0x110000); + HuWinMesMaxSizeGet(1, sp8, 0x1A0020); + temp_r29 = HuWinCreate(-10000, 8+(432-sp10[1]-sp8[1]), sp8[0], sp8[1], 0); + HuWinMesSpeedSet(temp_r29, 0); + HuWinBGTPLvlSet(temp_r29, 0); + HuWinMesSet(temp_r29, 0x1A0020); + HuWinDispOff(temp_r29); + while(!Hu3DMotionEndCheck(lbl_1_bss_19A[15])) { + HuPrcVSleep(); + } + Hu3DModelAttrSet(lbl_1_bss_19A[15], 1); + for(temp_r31=0; temp_r31<6; temp_r31++) { + Hu3DModelAttrReset(lbl_1_bss_19A[lbl_1_data_80[temp_r31]], 1); + Hu3DModelAttrSet(lbl_1_bss_19A[lbl_1_data_80[temp_r31]], 0x40000002); + Hu3DMotionTimeSet(lbl_1_bss_19A[lbl_1_data_80[temp_r31]], 0); + Hu3DModelPosSet(lbl_1_bss_19A[lbl_1_data_80[temp_r31]], 0, -50, 0); + } + HuWinMesWait(lbl_1_bss_82); + + lbl_1_bss_80 = temp_r26 = 0; + espAttrReset(lbl_1_bss_152[10], HUSPR_ATTR_DISPOFF); + espBankSet(lbl_1_bss_152[10], 0); + for(temp_r31=0; temp_r31<=10; temp_r31++) { + temp_f31 = temp_r31/10.0f; + Hu3DModelPosSet(lbl_1_bss_19A[lbl_1_data_80[lbl_1_bss_80]], 0, -50, 50.0*sind(90.0f*temp_f31)); + espPosSet(lbl_1_bss_152[10], 288.0, -50.0+(106.0*sind(90.0f*temp_f31))); + HuPrcVSleep(); + } + HuWinMesSet(lbl_1_bss_82, lbl_1_data_BC[lbl_1_bss_80]); + HuWinDispOn(temp_r29); + while(1) { + temp_r30 = 0; + if(HuPadDStkRep[0] & PAD_BUTTON_LEFT) { + temp_r30 = -1; + } else if(HuPadDStkRep[0] & PAD_BUTTON_RIGHT) { + temp_r30 = 1; + } + if(temp_r30) { + if(lbl_1_bss_80+temp_r30 < 0) { + lbl_1_bss_80 = 0; + } else if(lbl_1_bss_80+temp_r30 >= 6) { + lbl_1_bss_80 = 5; + } else { + lbl_1_bss_80 += temp_r30; + } + if(temp_r26 != lbl_1_bss_80) { + HuAudFXPlay(0); + for(temp_r31=0; temp_r31<=10; temp_r31++) { + temp_f31 = temp_r31/10.0f; + Hu3DModelPosSet(lbl_1_bss_19A[lbl_1_data_80[temp_r26]], 0, -50, 50.0*cosd(90.0f*temp_f31)); + Hu3DModelPosSet(lbl_1_bss_19A[lbl_1_data_80[lbl_1_bss_80]], 0, -50, 50.0*sind(90.0f*temp_f31)); + espPosSet(lbl_1_bss_152[10], 288.0, -50.0+(106.0*(1.0-sind(180.0f*temp_f31)))); + if(temp_r31 == 5) { + espBankSet(lbl_1_bss_152[10], lbl_1_bss_80); + } + HuPrcVSleep(); + } + temp_r26 = lbl_1_bss_80; + HuWinMesSet(lbl_1_bss_82, lbl_1_data_BC[lbl_1_bss_80]); + } + } + if(HuPadBtnDown[0] & PAD_BUTTON_A) { + HuAudFXPlay(2); + break; + } else if(HuPadBtnDown[0] & PAD_BUTTON_B) { + HuAudFXPlay(3); + HuAudFXStop(temp_r25); + return -1; + } else { + HuPrcVSleep(); + continue; + } + } + Hu3DModelAttrReset(lbl_1_bss_19A[lbl_1_data_80[lbl_1_bss_80]], 0x40000002); + HuAudSeqAllFadeOut(1000); + for(temp_r31=0; temp_r31<=20; temp_r31++) { + temp_f31 = temp_r31/20.0f; + for(temp_r28=0; temp_r28<6; temp_r28++) { + if(temp_r28 != lbl_1_bss_80) { + Hu3DModelPosSet(lbl_1_bss_19A[lbl_1_data_80[temp_r28]], 0, -50-(300.0*(1.0-cosd(90.0f*temp_f31))), 0); + espPosSet(lbl_1_bss_152[10], 288.0, -50.0+(106.0*(cosd(90.0f*temp_f31)))); + } + } + HuPrcVSleep(); + } + HuWinKill(temp_r29); + HuWinExAnimOut(lbl_1_bss_82); + HuAudFXStop(temp_r25); + temp_r27 = HuSprGrpCreate(1); + temp_r21 = HuTHPSprCreateVol("movie/opmov_c00.thp", 0, 3000, 90.0); + HuSprGrpMemberSet(temp_r27, 0, temp_r21); + HuSprPosSet(temp_r27, 0, 288.0f, 240.0f); + HuSprDrawNoSet(temp_r27, 0, 127); + HuPrcSleep(2); + espAttrSet(lbl_1_bss_152[9], HUSPR_ATTR_DISPOFF); + for(temp_r31=0; temp_r31<=10; temp_r31++) { + temp_f31 = temp_r31/10.0; + Hu3DModelPosSet(lbl_1_bss_19A[14], 0, -70.0f-(100.0f*temp_f31), 0); + HuPrcVSleep(); + } + temp_r23 = HuSprAnimRead(HuDataReadNum(lbl_1_data_8C[lbl_1_bss_80], MEMORY_DEFAULT_NUM)); + temp_r22 = HuSprAnimRead(HuDataReadNum(lbl_1_data_A4[lbl_1_bss_80], MEMORY_DEFAULT_NUM)); + Hu3DAnimCreate(temp_r23, lbl_1_bss_19A[22], "ys002_a1"); + Hu3DAnimCreate(temp_r22, lbl_1_bss_19A[22], "ys002_a2"); + Hu3DModelAttrSet(lbl_1_bss_19A[lbl_1_data_80[lbl_1_bss_80]], 1); + Hu3DMotionTimeSet(lbl_1_bss_19A[22], 0); + Hu3DModelAttrReset(lbl_1_bss_19A[22], 1); + Hu3DModelAttrSet(lbl_1_bss_19A[22], 0x40000002); + Hu3DModelPosSet(lbl_1_bss_19A[22], 0, 27, 50); + Hu3DModelScaleSet(lbl_1_bss_19A[22], 1.0f, 1.063f, 1.0f); + for(temp_r31=1; temp_r31<=20; temp_r31++) { + temp_f31 = temp_r31/20.0; + Hu3DModelPosSet(lbl_1_bss_19A[22], 0, 27.0-(60.0*sind(90.0f*temp_f31)), 50); + HuPrcVSleep(); + } + HuPrcSleep(90); + Hu3DFogSet(3000, 8000, 255, 255, 255); + Hu3DModelAttrReset(lbl_1_bss_19A[22], 0x40000002); + HuPrcSleep(60); + temp_f31 =0; + temp_f30 = 5; + while(!HuTHPEndCheck()) { + Hu3DModelPosSet(lbl_1_bss_19A[22], 0, -33.0f+(temp_f31/30.0f), 50.0f-temp_f31); + temp_f31 += temp_f30; + temp_f30 += 5.0f; + HuPrcVSleep(); + } + _ClearFlag(FLAG_ID_MAKE(1, 11)); + WipeColorSet(255, 255, 255); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 10); + while(WipeStatGet()) { + HuPrcVSleep(); + } + HuTHPClose(); + HuSprGrpKill(temp_r27); + return lbl_1_bss_80; } void fn_1_3668(void) { - Vec sp20; - Vec sp14; - Vec sp8; - Hu3DShadowCreate(20, 100, 5000); - Hu3DShadowTPLvlSet(0.3f); - Hu3DShadowSizeSet(192); - sp14.x = sp14.y = sp14.z = 0; - sp20.x = 0; - sp20.z = 300; - sp20.y = 400; - sp8.x = 0; - sp8.y = 1; - sp8.z = 0; - Hu3DShadowPosSet(&sp20, &sp8, &sp14); - Hu3DModelAttrReset(lbl_1_bss_19A[15], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_19A[15], HU3D_MOTATTR_PAUSE); - Hu3DMotionTimeSet(lbl_1_bss_19A[15], 0); - Hu3DModelAttrReset(lbl_1_bss_19A[14], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_19A[14], HU3D_MOTATTR_PAUSE); - Hu3DMotionTimeSet(lbl_1_bss_19A[14], 0); -} + Vec sp20; + Vec sp14; + Vec sp8; + Hu3DShadowCreate(20, 100, 5000); + Hu3DShadowTPLvlSet(0.3f); + Hu3DShadowSizeSet(192); + sp14.x = sp14.y = sp14.z = 0; + sp20.x = 0; + sp20.z = 300; + sp20.y = 400; + sp8.x = 0; + sp8.y = 1; + sp8.z = 0; + Hu3DShadowPosSet(&sp20, &sp8, &sp14); + Hu3DModelAttrReset(lbl_1_bss_19A[15], 1); + Hu3DModelAttrSet(lbl_1_bss_19A[15], 0x40000002); + Hu3DMotionTimeSet(lbl_1_bss_19A[15], 0); + Hu3DModelAttrReset(lbl_1_bss_19A[14], 1); + Hu3DModelAttrSet(lbl_1_bss_19A[14], 0x40000002); + Hu3DMotionTimeSet(lbl_1_bss_19A[14], 0); +} \ No newline at end of file diff --git a/src/REL/mpexDll/charsel.c b/src/REL/mpexDll/charsel.c deleted file mode 100644 index 0c5cac29..00000000 --- a/src/REL/mpexDll/charsel.c +++ /dev/null @@ -1,3107 +0,0 @@ -#include "ext_math.h" -#include "game/armem.h" -#include "game/audio.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - -#include "REL/mpexDll.h" - -typedef void (*MpexDllUnkFunc2)(omObjData *, ...); - -typedef struct MpexDllUnkStruct4 { - /* 0x00 */ omObjData *unk_00; - /* 0x04 */ MpexDllUnkFunc2 unk_04; - /* 0x08 */ s32 unk_08; - /* 0x0C */ s32 unk_0C; - /* 0x10 */ s32 unk_10; - /* 0x14 */ s32 unk_14; - /* 0x18 */ char pad_18[0x10]; /* maybe part of unk_14[5]? */ - /* 0x28 */ s32 unk_28; - /* 0x2C */ s32 unk_2C; - /* 0x30 */ s32 unk_30; - /* 0x34 */ s32 unk_34; - /* 0x38 */ char pad_38[0x10]; /* maybe part of unk_34[5]? */ - /* 0x48 */ s32 unk_48; - /* 0x4C */ s32 unk_4C; - /* 0x50 */ s32 unk_50; - /* 0x54 */ s32 unk_54; - /* 0x58 */ s32 unk_58; - /* 0x5C */ s32 unk_5C; -} MpexDllUnkStruct4; /* size = 0x60 */ - -void fn_1_1490C(void); -void fn_1_14B28(void); -void fn_1_14E54(void); -void fn_1_14EF0(void); -void fn_1_151C8(void); -void fn_1_154A4(void); -void fn_1_15774(void); -void fn_1_157C4(void); -void fn_1_15D48(void); -void fn_1_16320(void); -void fn_1_16600(s32 arg0); -void fn_1_16874(s32); -void fn_1_168F0(s32 arg0, s32 arg1); -void fn_1_16D3C(s32 arg0); -void fn_1_17170(s32); -void fn_1_17374(void); -void fn_1_17B04(omObjData *arg0, MpexDllUnkStruct4 *arg1); -void fn_1_18610(MpexDllUnkStruct4 *arg0); -void fn_1_18D30(MpexDllUnkStruct4 *arg0); -void fn_1_18DCC(omObjData *arg0, MpexDllUnkStruct4 *arg1); -s32 fn_1_19A98(MpexDllUnkStruct4 *arg0); -void fn_1_1A3BC(void); -void fn_1_1A5A4(s32 arg0); -void fn_1_1AEFC(s32); -void fn_1_1AF78(s32 arg0); -void fn_1_1B0DC(s32); -void fn_1_1B294(void); -void fn_1_1B338(void); -s32 fn_1_1B42C(s32 arg0); -s32 fn_1_1B4AC(s32 arg0); -float fn_1_1B52C(float, float, float, float); // seems implicit in main.c -float fn_1_1B554(float, float, float); // seems implicit in main.c -float fn_1_1B574(float, float, float, float); // seems implicit in main.c -float fn_1_1B64C(float, float, float, float); // seems implcit in main.c -void fn_1_1B834(void); -void fn_1_1B9F4(void); -void fn_1_1BA78(u32 arg0, s32 arg1, s32 arg2); -void fn_1_1BB4C(u32 arg0, s32 arg1); -void fn_1_1BF1C(u32 arg0); -void fn_1_1C120(void); -void fn_1_1C174(void); -void fn_1_1C478(void); -void fn_1_1C77C(void); -void fn_1_1CABC(s32 arg0); - -u8 lbl_1_bss_6AC; -s32 lbl_1_bss_63C[0x1C]; -MpexDllUnkStruct4 lbl_1_bss_5DC; -MpexDllUnkStruct4 lbl_1_bss_45C[4]; -s32 lbl_1_bss_448[5]; -s32 lbl_1_bss_444; -Process *lbl_1_bss_440; - -void fn_1_1264C(Process *arg0) -{ - s32 var_r31; - - lbl_1_bss_440 = arg0; - fn_1_1490C(); - fn_1_16320(); - fn_1_1A3BC(); - HuPrcChildCreate(fn_1_1B294, 0x3E8, 0x2000, 0, lbl_1_bss_440); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuPrcChildCreate(fn_1_1B338, 0x3E8, 0x2000, 0, lbl_1_bss_440); - } -} - -s32 fn_1_126EC(s32 arg0) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - - var_r29 = -1; - fn_1_14EF0(); - fn_1_1B834(); - fn_1_1BA78(0x1A0005, -1, -1); - fn_1_1B7D0(1); - fn_1_1BF1C(0x330091); - lbl_1_bss_5DC.unk_04 = (MpexDllUnkFunc2)fn_1_157C4; - var_r29 = -1; - while (TRUE) { - fn_1_1B7D0(1); - var_r30 = 0; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_14 == 0) { - var_r30++; - } - } - if (var_r29 != var_r30) { - var_r29 = var_r30; - fn_1_1BA78(var_r30 + 0x1A001B, -1, 1); - } - if (lbl_1_bss_5DC.unk_28 != 0) { - continue; - } - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - HuAudFXPlay(2); - var_r28 = 1; - break; - } - else if (HuPadBtnDown[0] & PAD_BUTTON_B) { - HuAudFXPlay(3); - var_r28 = 0; - break; - } - } - fn_1_15774(); - lbl_1_bss_5DC.unk_04 = NULL; - fn_1_1C120(); - if (var_r28 == 1) { - var_r27 = 0; - var_r26 = 0; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_50 == 0) { - var_r27++; - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (var_r26 < var_r27) { - if (HuPadStatGet(var_r31) != -1) { - lbl_1_bss_45C[var_r31].unk_50 = 0; - var_r26++; - } - else { - lbl_1_bss_45C[var_r31].unk_50 = 1; - } - } - else { - lbl_1_bss_45C[var_r31].unk_50 = 1; - } - } - } - fn_1_1B9F4(); - fn_1_154A4(); - return var_r28; -} - -s32 fn_1_12910(s32 arg0, s32 arg1) -{ - s32 sp10; - s32 spC; - - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r27; - - sp10 = 0; - spC = 0; - var_r30 = 0; - if (arg1 == 1) { - var_r30 = 1; - for (var_r31 = 1; var_r31 < 4; var_r31++) { - lbl_1_bss_45C[var_r31].unk_50 = 1; - } - } - else { - var_r30 = 4; - } - fn_1_17374(); - if (arg0 == 0) { - fn_1_16D3C(0); - } - fn_1_1B834(); - fn_1_1B7D0(1); - if (arg1 == 1) { - fn_1_1BA78(0x1E005E, -1, -1); - } - else { - fn_1_1BA78(0x1A0009, -1, -1); - } - fn_1_1BF1C(0x330092); - for (var_r31 = 0; var_r31 < var_r30; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_50 == 0) { - lbl_1_bss_45C[var_r31].unk_04 = (MpexDllUnkFunc2)fn_1_17B04; - } - } - while (TRUE) { - fn_1_1B7D0(1); - if ((lbl_1_bss_45C->unk_08 == 0) && ((*HuPadBtnDown & 0x200) != 0)) { - HuAudFXPlay(3); - if (lbl_1_bss_5DC.unk_10 == 1) { - lbl_1_bss_5DC.unk_10 = 0; - continue; - } - var_r27 = 0; - break; - } - else { - for (var_r31 = 0; var_r31 < var_r30; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_50 == 0 && lbl_1_bss_45C[var_r31].unk_08 != 1) { - break; - } - } - if (var_r31 == var_r30) { - var_r27 = 2; - break; - } - } - } - for (var_r31 = 0; var_r31 < var_r30; var_r31++) { - lbl_1_bss_45C[var_r31].unk_04 = NULL; - } - fn_1_1C120(); - fn_1_1B9F4(); - if (var_r27 == 0) { - fn_1_17170(0); - return 0; - } - var_r29 = 0; - for (var_r31 = 0; var_r31 < var_r30; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_50 != 0) { - lbl_1_bss_45C[var_r31].unk_5C = 0; - var_r29++; - } - } - if ((var_r29 == 0) || ((arg1 == 2) && (var_r29 == 2))) { - fn_1_17170(0); - return 2; - } - if (arg1 == 2) { - lbl_1_bss_45C[1].unk_4C = 0; - } - return 1; -} - -void fn_1_12BEC(s32 arg0) -{ - fn_1_12910(arg0, 4); -} - -s32 fn_1_12C18(s32 arg0, s32 arg1) -{ - s32 spC; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - - var_r30 = -1; - var_r27 = -1; - var_r26 = -1; - var_r24 = -1; - spC = 0; - if (arg0 != 0) { - if (arg1 == 2) { - fn_1_168F0(0, 2); - } - else { - fn_1_168F0(0, 1); - } - } - fn_1_1B834(); - while (TRUE) { - fn_1_1B7D0(1); - var_r25 = 0; - for (var_r31 = 0; var_r31 < arg1; var_r31++) { - if ((lbl_1_bss_45C[var_r31].unk_50 != 0) && (lbl_1_bss_45C[var_r31].unk_08 == 0)) { - var_r25++; - } - } - if (var_r26 == -1) { - fn_1_1BB4C(var_r25 + 0x1A0023, 1); - fn_1_1BA78(0x1A0028, -1, var_r26); - } - else { - fn_1_1BB4C(var_r25 + 0x1A0023, 1); - fn_1_1BA78(0x1A0028, -1, var_r26); - } - var_r26 = 1; - fn_1_1BF1C(0x330092); - for (var_r31 = 0; var_r31 < arg1; var_r31++) { - if ((lbl_1_bss_45C[var_r31].unk_50 != 0) && (lbl_1_bss_45C[var_r31].unk_08 == 0)) { - var_r30 = var_r31; - lbl_1_bss_45C[var_r31].unk_0C = var_r27; - fn_1_18610(&lbl_1_bss_45C[var_r31]); - lbl_1_bss_45C[var_r31].unk_04 = (MpexDllUnkFunc2)fn_1_18DCC; - break; - } - } - while (TRUE) { - fn_1_1B7D0(1); - if (((HuPadBtnDown[lbl_1_bss_45C->unk_58] & 0x200) != 0) && (lbl_1_bss_45C[var_r30].unk_08 == 0) && (lbl_1_bss_5DC.unk_30 == 0)) { - HuAudFXPlay(3); - if (var_r27 == -1) { - var_r29 = 0; - } - else { - var_r29 = 1; - } - break; - } - else if (lbl_1_bss_45C[var_r30].unk_08 == 1) { - for (var_r31 = 0; var_r31 < arg1; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_08 == 0) { - lbl_1_bss_45C[var_r31].unk_5C = 0; - } - } - lbl_1_bss_45C[var_r30].unk_04 = NULL; - fn_1_1BA78(0x1A0022, -1, 1); - fn_1_1B7D0(1); - fn_1_1BF1C(0x330093); - var_r29 = fn_1_19A98(&lbl_1_bss_45C[var_r30]); - if (var_r29 == 1) { - HuAudFXPlay(2); - lbl_1_bss_45C[var_r30].unk_10 = 1; - var_r29 = 4; - var_r27 = var_r30; - } - else { - HuAudFXPlay(3); - lbl_1_bss_45C[var_r30].unk_10 = 0; - var_r29 = 4; - lbl_1_bss_45C[var_r30].unk_08 = 0; - fn_1_18D30(&lbl_1_bss_45C[var_r30]); - fn_1_18610(&lbl_1_bss_45C[var_r30]); - } - break; - } - } - for (var_r31 = 0; var_r31 < arg1; var_r31++) { - lbl_1_bss_45C[var_r31].unk_04 = NULL; - } - for (var_r31 = 0; var_r31 < arg1; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_08 == 0) { - break; - } - } - if (var_r31 == arg1) { - var_r29 = 3; - break; - } - else { - if (var_r29 == 1) { - fn_1_18610(&lbl_1_bss_45C[var_r30]); - fn_1_18D30(&lbl_1_bss_45C[var_r30]); - fn_1_18610(&lbl_1_bss_45C[lbl_1_bss_45C[var_r30].unk_0C]); - var_r27 = lbl_1_bss_45C[lbl_1_bss_45C[var_r30].unk_0C].unk_0C; - lbl_1_bss_45C[lbl_1_bss_45C[var_r30].unk_0C].unk_08 = 0; - } - else if (var_r29 != 4) { - if (var_r29 == 0) { - fn_1_18D30(&lbl_1_bss_45C[var_r30]); - } - break; - } - } - var_r24 = -1; - } - fn_1_1C120(); - fn_1_1B9F4(); - if (var_r29 != 0) { - fn_1_17170(0); - } - return var_r29; -} - -void fn_1_13130(s32 arg0) -{ - fn_1_12C18(arg0, 4); -} - -void fn_1_1315C(void) -{ - fn_1_12910(0, 1); -} - -s32 fn_1_13184(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - - var_r26 = -1; - fn_1_151C8(); - fn_1_1B834(); - fn_1_1BA78(0x1A0005, -1, -1); - fn_1_1B7D0(1); - fn_1_1BF1C(0x330091); - lbl_1_bss_5DC.unk_04 = (MpexDllUnkFunc2)fn_1_15D48; - - while (TRUE) { - fn_1_1B7D0(1); - var_r30 = 0; - for (var_r31 = 0; var_r31 < 2; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_14 == 0) { - var_r30++; - } - } - if (var_r26 != var_r30) { - var_r26 = var_r30; - fn_1_1BA78(var_r30 + 0x330093, -1, 1); - } - if (lbl_1_bss_5DC.unk_28 != 0) { - continue; - } - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - HuAudFXPlay(2); - var_r28 = 1; - break; - } - else if (HuPadBtnDown[0] & PAD_BUTTON_B) { - HuAudFXPlay(3); - var_r28 = 0; - break; - } - } - fn_1_15774(); - lbl_1_bss_5DC.unk_04 = NULL; - fn_1_1C120(); - if (var_r28 == 1) { - var_r29 = 0; - var_r27 = 0; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_50 == 0) { - var_r29++; - } - } - if (var_r29 >= 2) { - var_r29 = 2; - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (var_r27 < var_r29) { - if (HuPadStatGet(var_r31) != -1) { - lbl_1_bss_45C[var_r31].unk_50 = 0; - lbl_1_bss_45C[var_r31].unk_4C = 0; - var_r27++; - } - else { - lbl_1_bss_45C[var_r31].unk_50 = 1; - lbl_1_bss_45C[var_r31].unk_4C = 1; - } - } - else { - lbl_1_bss_45C[var_r31].unk_50 = 1; - lbl_1_bss_45C[var_r31].unk_4C = 1; - } - } - } - fn_1_1B9F4(); - fn_1_154A4(); - return var_r28; -} - -void fn_1_133F8(s32 arg0) -{ - fn_1_12910(arg0, 2); -} - -void fn_1_13424(s32 arg0) -{ - fn_1_12C18(arg0, 2); -} - -void fn_1_13450(void) -{ - fn_1_126EC(0); -} - -s32 fn_1_13474(s32 arg0) -{ - s32 spC[2]; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - spC[1] = 0; - spC[0] = 0; - var_r30 = 4; - var_r28 = 4; - if (var_r28 == 1) { - var_r30 = 1; - for (var_r31 = 1; var_r31 < 4; var_r31++) { - lbl_1_bss_45C[var_r31].unk_50 = 1; - } - } - else { - var_r30 = 4; - } - fn_1_17374(); - if (arg0 == 0) { - fn_1_16D3C(3); - } - fn_1_1B834(); - fn_1_1B7D0(1); - fn_1_1BA78(0x1A0009, -1, -1); - fn_1_1BF1C(0x330092); - for (var_r31 = 0; var_r31 < var_r30; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_50 == 0) { - lbl_1_bss_45C[var_r31].unk_04 = (MpexDllUnkFunc2)fn_1_17B04; - } - } - while (TRUE) { - fn_1_1B7D0(1); - if ((lbl_1_bss_45C->unk_08 == 0) && (HuPadBtnDown[0] & PAD_BUTTON_B)) { - HuAudFXPlay(3); - if (lbl_1_bss_5DC.unk_10 == 1) { - lbl_1_bss_5DC.unk_10 = 0; - continue; - } - var_r27 = 0; - break; - } - else { - for (var_r31 = 0; var_r31 < var_r30; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_50 == 0 && lbl_1_bss_45C[var_r31].unk_08 != 1) { - break; - } - } - if (var_r31 == var_r30) { - var_r27 = 2; - break; - } - } - } - for (var_r31 = 0; var_r31 < var_r30; var_r31++) { - lbl_1_bss_45C[var_r31].unk_04 = NULL; - } - fn_1_1C120(); - fn_1_1B9F4(); - if (var_r27 == 0) { - fn_1_17170(0); - return 0; - } - var_r29 = 0; - for (var_r31 = 0; var_r31 < var_r30; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_50 != 0) { - lbl_1_bss_45C[var_r31].unk_5C = 1; - var_r29++; - } - } - if ((var_r29 == 0) || ((var_r28 == 2) && (var_r29 == 2))) { - fn_1_17170(3); - return 2; - } - if (var_r28 == 2) { - lbl_1_bss_45C[1].unk_4C = 0; - } - return 1; -} - -s32 fn_1_13730(s32 arg0) -{ - s32 spC; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - - var_r30 = -1; - var_r27 = -1; - var_r26 = -1; - var_r28 = 4; - var_r24 = -1; - spC = 0; - if (arg0 != 0) { - fn_1_168F0(3, 3); - } - fn_1_1B834(); - while (TRUE) { - fn_1_1B7D0(1); - var_r25 = 0; - for (var_r31 = 0; var_r31 < var_r28; var_r31++) { - if ((lbl_1_bss_45C[var_r31].unk_50 != 0) && (lbl_1_bss_45C[var_r31].unk_08 == 0)) { - var_r25++; - } - } - if (var_r26 == -1) { - fn_1_1BB4C(var_r25 + 0x1A0023, 1); - fn_1_1BA78(0x1A0028, -1, var_r26); - } - else { - fn_1_1BB4C(var_r25 + 0x1A0023, 1); - fn_1_1BA78(0x1A0028, -1, var_r26); - } - var_r26 = 1; - fn_1_1BF1C(0x330092); - for (var_r31 = 0; var_r31 < var_r28; var_r31++) { - if ((lbl_1_bss_45C[var_r31].unk_50 != 0) && (lbl_1_bss_45C[var_r31].unk_08 == 0)) { - var_r30 = var_r31; - lbl_1_bss_45C[var_r31].unk_0C = var_r27; - fn_1_18610(&lbl_1_bss_45C[var_r31]); - lbl_1_bss_45C[var_r31].unk_04 = (MpexDllUnkFunc2)fn_1_18DCC; - break; - } - } - while (TRUE) { - fn_1_1B7D0(1); - if (((HuPadBtnDown[lbl_1_bss_45C->unk_58] & PAD_BUTTON_B) != 0) && (lbl_1_bss_45C[var_r30].unk_08 == 0) && (lbl_1_bss_5DC.unk_30 == 0)) { - HuAudFXPlay(3); - if (var_r27 == -1) { - var_r29 = 0; - } - else { - var_r29 = 1; - } - break; - } - else if (lbl_1_bss_45C[var_r30].unk_08 == 1) { - for (var_r31 = 0; var_r31 < var_r28; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_08 == 0) { - lbl_1_bss_45C[var_r31].unk_5C = 1; - } - } - lbl_1_bss_45C[var_r30].unk_04 = NULL; - fn_1_1BA78(0x1A0022, -1, 1); - fn_1_1B7D0(1); - fn_1_1BF1C(0x330093); - var_r29 = fn_1_19A98(&lbl_1_bss_45C[var_r30]); - if (var_r29 == 1) { - HuAudFXPlay(2); - lbl_1_bss_45C[var_r30].unk_10 = 1; - var_r29 = 4; - var_r27 = var_r30; - } - else { - HuAudFXPlay(3); - lbl_1_bss_45C[var_r30].unk_10 = 0; - var_r29 = 4; - lbl_1_bss_45C[var_r30].unk_08 = 0; - fn_1_18D30(&lbl_1_bss_45C[var_r30]); - fn_1_18610(&lbl_1_bss_45C[var_r30]); - } - break; - } - } - for (var_r31 = 0; var_r31 < var_r28; var_r31++) { - lbl_1_bss_45C[var_r31].unk_04 = NULL; - } - for (var_r31 = 0; var_r31 < var_r28; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_08 == 0) { - break; - } - } - if (var_r31 == var_r28) { - var_r29 = 3; - break; - } - else { - if (var_r29 == 1) { - fn_1_18610(&lbl_1_bss_45C[var_r30]); - fn_1_18D30(&lbl_1_bss_45C[var_r30]); - fn_1_18610(&lbl_1_bss_45C[lbl_1_bss_45C[var_r30].unk_0C]); - var_r27 = lbl_1_bss_45C[lbl_1_bss_45C[var_r30].unk_0C].unk_0C; - lbl_1_bss_45C[lbl_1_bss_45C[var_r30].unk_0C].unk_08 = 0; - } - else if (var_r29 != 4) { - if (var_r29 == 0) { - fn_1_18D30(&lbl_1_bss_45C[var_r30]); - } - break; - } - var_r24 = -1; - } - } - fn_1_1C120(); - fn_1_1B9F4(); - if (var_r29 != 0) { - fn_1_17170(3); - } - return var_r29; -} - -void fn_1_13C30(s32 arg0) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - GWPlayer[var_r31].team = GWPlayerCfg[var_r31].group = lbl_1_bss_45C[var_r31].unk_4C; - GWPlayer[var_r31].com = GWPlayerCfg[var_r31].iscom = lbl_1_bss_45C[var_r31].unk_50; - GWPlayer[var_r31].diff = GWPlayerCfg[var_r31].diff = lbl_1_bss_45C[var_r31].unk_54; - if (lbl_1_bss_444 != 0) { - if (lbl_1_bss_45C[var_r31].unk_5C <= 5) { - GWPlayer[var_r31].character = GWPlayerCfg[var_r31].character = lbl_1_bss_45C[var_r31].unk_5C - 1; - } - else if (lbl_1_bss_45C[var_r31].unk_5C <= 0xB) { - GWPlayer[var_r31].character = GWPlayerCfg[var_r31].character = lbl_1_bss_45C[var_r31].unk_5C - 3; - } - else { - GWPlayer[var_r31].character = GWPlayerCfg[var_r31].character = fn_1_1B4AC(lbl_1_bss_45C[var_r31].unk_5C - 4); - } - } - else if (arg0 == 1) { - if (var_r31 != 0) { - lbl_1_bss_45C[var_r31].unk_5C = lbl_1_bss_45C[var_r31 - 1].unk_5C + 1; - if (lbl_1_bss_45C[var_r31].unk_5C >= 8) { - lbl_1_bss_45C[var_r31].unk_5C = 0; - } - } - GWPlayer[var_r31].character = GWPlayerCfg[var_r31].character = lbl_1_bss_45C[var_r31].unk_5C; - } - else { - GWPlayer[var_r31].character = GWPlayerCfg[var_r31].character = lbl_1_bss_45C[var_r31].unk_5C; - } - GWPlayer[var_r31].port = GWPlayerCfg[var_r31].pad_idx = lbl_1_bss_45C[var_r31].unk_58; - } - OSReport("\n\n#################### SET PLAYERDATA ####################\n"); - OSReport("ID) GRP:COM:DIF:CHR:PAD\n"); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - OSReport("%2d) %3d:%3d:%3d:%3d:%3d\n", var_r31, GWPlayerCfg[var_r31].group, GWPlayerCfg[var_r31].iscom, GWPlayerCfg[var_r31].diff, - GWPlayerCfg[var_r31].character, GWPlayerCfg[var_r31].pad_idx); - } - OSReport("########################################################\n"); -} - -s32 fn_1_140B0(s32 arg0, s32 arg1) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r24; - s32 var_r23; - s32 var_r22; - s32 var_r21; - s32 var_r20; - s32 var_r19; - s32 var_r18; - - var_r30 = 0; - var_r27 = 0; - var_r26 = 0; - var_r29 = arg0; - if (arg0 == 3) { - lbl_1_bss_444 = 1; - } - else { - lbl_1_bss_444 = 0; - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_45C[var_r31].unk_48 = var_r31; - lbl_1_bss_45C[var_r31].unk_4C = 0; - lbl_1_bss_45C[var_r31].unk_50 = 0; - lbl_1_bss_45C[var_r31].unk_54 = 0; - if (lbl_1_bss_444 != 0) { - lbl_1_bss_45C[var_r31].unk_5C = var_r31 + 1; - } - else { - lbl_1_bss_45C[var_r31].unk_5C = var_r31; - } - lbl_1_bss_45C[var_r31].unk_58 = var_r31; - } - if (arg1 == 1) { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_45C[var_r31].unk_48 = var_r31; - lbl_1_bss_45C[var_r31].unk_4C = GWPlayerCfg[var_r31].group; - lbl_1_bss_45C[var_r31].unk_50 = GWPlayerCfg[var_r31].iscom; - lbl_1_bss_45C[var_r31].unk_54 = GWPlayerCfg[var_r31].diff; - lbl_1_bss_45C[var_r31].unk_5C = GWPlayerCfg[var_r31].character; - lbl_1_bss_45C[var_r31].unk_58 = GWPlayerCfg[var_r31].pad_idx; - lbl_1_bss_45C[var_r31].unk_08 = lbl_1_bss_45C[var_r31].unk_0C = lbl_1_bss_45C[var_r31].unk_10 = lbl_1_bss_45C[var_r31].unk_14 = 0; - lbl_1_bss_45C[var_r31].unk_28 = lbl_1_bss_45C[var_r31].unk_2C = lbl_1_bss_45C[var_r31].unk_30 = lbl_1_bss_45C[var_r31].unk_34 = 0; - - switch (arg0) { - case 0: - if (lbl_1_bss_45C[var_r31].unk_50 == 0) { - lbl_1_bss_45C[var_r31].unk_08 = 1; - } - else { - var_r27 = 1; - } - break; - case 2: - if (lbl_1_bss_45C[var_r31].unk_50 == 0) { - lbl_1_bss_45C[var_r31].unk_08 = 1; - var_r26++; - } - else { - var_r27 = 1; - } - break; - case 3: - if (lbl_1_bss_45C[var_r31].unk_50 == 0) { - lbl_1_bss_45C[var_r31].unk_08 = 1; - var_r26++; - } - else { - var_r27 = 1; - } - if (lbl_1_bss_45C[var_r31].unk_5C <= 3) { - lbl_1_bss_45C[var_r31].unk_5C += 1; - } - else if (lbl_1_bss_45C[var_r31].unk_5C <= 7) { - lbl_1_bss_45C[var_r31].unk_5C += 3; - } - else { - lbl_1_bss_45C[var_r31].unk_5C = fn_1_1B42C(lbl_1_bss_45C[var_r31].unk_5C) + 4; - } - break; - } - } - switch (arg0) { - case 0: - if (var_r27 == 1) { - var_r29 = 0x66; - var_r30 = 1; - } - else { - var_r29 = 0x65; - var_r30 = 0; - } - break; - case 1: - var_r29 = 0xC8; - break; - case 2: - if ((var_r27 == 1) && (var_r26 == 1)) { - var_r29 = 0x12E; - var_r30 = 1; - } - else { - var_r29 = 0x12D; - var_r30 = 0; - } - break; - case 3: - if (var_r27 == 1) { - var_r29 = 0x192; - var_r30 = 1; - } - else { - var_r29 = 0x191; - var_r30 = 0; - } - break; - } - } - while (TRUE) { - fn_1_1B7D0(1); - if (var_r28 == 0x3E7) { - break; - } - switch (var_r29) { - case 0x0: - var_r29 = 0x64; - break; - case 0x1: - var_r29 = 0xC8; - break; - case 0x2: - var_r29 = 0x12C; - break; - case 0x3: - var_r29 = 0x190; - break; - case 0x64: - var_r28 = fn_1_126EC(var_r30); - if (var_r28 != 0) { - var_r29 = 0x65; - var_r30 = 0; - } - else { - var_r29 = 0x385; - var_r30 = 1; - } - break; - case 0x65: - var_r23 = fn_1_12910(var_r30, 4); - var_r28 = var_r23; - if (var_r28 == 1) { - var_r29 = 0x66; - var_r30 = 0; - } - else if (var_r28 == 2) { - var_r29 = 0x384; - var_r30 = 0; - } - else { - var_r29 = 0x64; - var_r30 = 1; - } - break; - case 0x66: - var_r22 = fn_1_12C18(var_r30, 4); - var_r28 = var_r22; - if (var_r28 != 0) { - var_r29 = 0x384; - var_r30 = 0; - } - else { - var_r29 = 0x65; - var_r30 = 1; - } - break; - case 0xC8: - var_r21 = fn_1_12910(0, 1); - var_r28 = var_r21; - if (var_r28 != 0) { - var_r29 = 0x384; - var_r30 = 0; - } - else { - var_r29 = 0x385; - var_r30 = 1; - } - break; - case 0x12C: - var_r28 = fn_1_13184(); - if (var_r28 != 0) { - var_r29 = 0x12D; - var_r30 = 0; - } - else { - var_r29 = 0x385; - var_r30 = 1; - } - break; - case 0x12D: - var_r20 = fn_1_12910(var_r30, 2); - var_r28 = var_r20; - if (var_r28 == 1) { - var_r29 = 0x12E; - var_r30 = 0; - } - else if (var_r28 == 2) { - var_r29 = 0x384; - var_r30 = 0; - } - else { - var_r29 = 0x12C; - var_r30 = 1; - } - break; - case 0x12E: - var_r19 = fn_1_12C18(var_r30, 2); - var_r28 = var_r19; - if (var_r28 != 0) { - var_r29 = 0x384; - var_r30 = 0; - } - else { - var_r29 = 0x12D; - var_r30 = 1; - } - break; - case 0x190: - var_r18 = fn_1_126EC(0); - var_r28 = var_r18; - if (var_r28 != 0) { - var_r29 = 0x191; - var_r30 = 0; - } - else { - var_r29 = 0x385; - var_r30 = 1; - } - break; - case 0x191: - var_r28 = fn_1_13474(var_r30); - if (var_r28 == 1) { - var_r29 = 0x192; - var_r30 = 0; - } - else if (var_r28 == 2) { - var_r29 = 0x384; - var_r30 = 0; - } - else { - var_r29 = 0x190; - var_r30 = 1; - } - break; - case 0x192: - var_r28 = fn_1_13730(var_r30); - if (var_r28 != 0) { - var_r29 = 0x384; - var_r30 = 0; - } - else { - var_r29 = 0x191; - var_r30 = 1; - } - break; - case 0x384: - fn_1_13C30(arg0); - var_r24 = 1; - var_r28 = 0x3E7; - break; - case 0x385: - var_r24 = 0; - var_r28 = 0x3E7; - break; - } - } - return var_r24; -} - -void fn_1_148BC(s32 arg0) -{ - fn_1_1AF78(arg0); -} - -void fn_1_148E4(s32 arg0) -{ - fn_1_1B0DC(arg0); -} - -s32 lbl_1_data_5C4[4][2] = { { -0x69, 0 }, { -0x23, 0 }, { 0x23, 0 }, { 0x69, 0 } }; -s32 lbl_1_data_5E4[8][2] = { - { -0x7B, -0x34 }, - { -0x29, -0x34 }, - { 0x29, -0x34 }, - { 0x7B, -0x34 }, - { -0x7B, 0x34 }, - { -0x29, 0x34 }, - { 0x29, 0x34 }, - { 0x7B, 0x34 }, -}; -s32 lbl_1_data_624[0xE][2] = { - { -0x7B, -0x66 }, - { -0x29, -0x66 }, - { 0x29, -0x66 }, - { 0x7B, -0x66 }, - { -0x7B, 0 }, - { -0x29, 0 }, - { 0x29, 0 }, - { 0x7B, 0 }, - { -0xCD, 0x66 }, - { -0x7B, 0x66 }, - { -0x29, 0x66 }, - { 0x29, 0x66 }, - { 0x7B, 0x66 }, - { 0xCD, 0x66 }, -}; -s32 lbl_1_data_694[0x12][2] = { - { 0, 0 }, - { -0x7B, -0x66 }, - { -0x29, -0x66 }, - { 0x29, -0x66 }, - { 0x7B, -0x66 }, - { 0, 0 }, - { 0, 0 }, - { -0x7B, 0 }, - { -0x29, 0 }, - { 0x29, 0 }, - { 0x7B, 0 }, - { 0, 0 }, - { -0xCD, 0x66 }, - { -0x7B, 0x66 }, - { -0x29, 0x66 }, - { 0x29, 0x66 }, - { 0x7B, 0x66 }, - { 0xCD, 0x66 }, -}; -s32 lbl_1_data_724[4][2] = { { -0x45, -8 }, { -0x17, -8 }, { 0x17, -8 }, { 0x45, -8 } }; -s32 lbl_1_data_744[2] = { 0x00, 0xFFFFFFF8 }; -s32 lbl_1_data_74C[2][2] = { { -0x17, -8 }, { 0x17, -8 } }; -s32 lbl_1_data_75C[4][2] = { { -0x59, -8 }, { -0x2B, -8 }, { 0x2B, -8 }, { 0x59, -8 } }; -s32 lbl_1_data_77C = -1; -s32 lbl_1_data_780[2] = {-1, 0}; - -void fn_1_1490C(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - AnimData *var_r28; - - var_r30 = HuSprGrpCreate(0xB); - *lbl_1_bss_63C = var_r30; - var_r29 = HuSprCreate(HuSprAnimReadFile(0x640046), 0xBB8, 0); - HuSprGrpMemberSet(var_r30, 0, var_r29); - HuSprPosSet(var_r30, 0, 0.0f, 0.0f); - var_r28 = HuSprAnimReadFile(0x640047); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r29 = HuSprCreate(var_r28, 0x3E8, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 1, var_r29); - HuSprBankSet(var_r30, var_r31 + 1, var_r31); - } - var_r28 = HuSprAnimReadFile(0x640048); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r29 = HuSprCreate(var_r28, 0x76C, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 3, var_r29); - HuSprPosSet(var_r30, var_r31 + 3, lbl_1_data_5C4[var_r31 % 4][0], lbl_1_data_5C4[0][1]); - HuSprBankSet(var_r30, var_r31 + 3, 0); - } - fn_1_14B28(); - fn_1_14E54(); -} - -void fn_1_14B28(void) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = *lbl_1_bss_63C; - for (var_r31 = 0; var_r31 < 0xB; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - HuSprAttrReset(var_r30, 0, 4); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 3, 4); - HuSprPosSet(var_r30, var_r31 + 3, lbl_1_data_5C4[var_r31 % 4][0], lbl_1_data_5C4[0][1]); - HuSprBankSet(var_r30, var_r31 + 3, 0); - } - HuSprGrpPosSet(var_r30, 288.0f, -390.0f); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_45C[var_r31].unk_14 = lbl_1_bss_45C[var_r31].unk_50 = 0; - } -} - -void fn_1_14CBC(void) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = *lbl_1_bss_63C; - for (var_r31 = 0; var_r31 < 0xB; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - HuSprAttrReset(var_r30, 0, 4); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 3, 4); - HuSprPosSet(var_r30, var_r31 + 3, lbl_1_data_5C4[var_r31 % 4 + 1][0], lbl_1_data_5C4[0][1]); - HuSprBankSet(var_r30, var_r31 + 3, 0); - } - HuSprGrpPosSet(var_r30, 288.0f, -390.0f); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_45C[var_r31].unk_14 = lbl_1_bss_45C[var_r31].unk_50 = 0; - } -} - -void fn_1_14E54(void) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = *lbl_1_bss_63C; - for (var_r31 = 0; var_r31 < 0xB; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - HuSprGrpPosSet(var_r30, 288.0f, 110.0f); - HuSprGrpScaleSet(var_r30, 1.0f, 1.0f); -} - -void fn_1_14EF0(void) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r28 = *lbl_1_bss_63C; - var_r29 = *lbl_1_bss_63C; - for (var_r31 = 0; var_r31 < 0xB; var_r31++) { - HuSprAttrSet(var_r29, var_r31, 4); - } - HuSprAttrReset(var_r29, 0, 4); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r29, var_r31 + 3, 4); - HuSprPosSet(var_r29, var_r31 + 3, lbl_1_data_5C4[var_r31 % 4][0], lbl_1_data_5C4[0][1]); - HuSprBankSet(var_r29, var_r31 + 3, 0); - } - HuSprGrpPosSet(var_r29, 288.0f, -390.0f); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_45C[var_r31].unk_14 = lbl_1_bss_45C[var_r31].unk_50 = 0; - } - for (var_r30 = 0; var_r30 <= 0x3C; var_r30++) { - fn_1_1B7D0(1); - if (var_r30 <= 0x32) { - var_f31 = fn_1_1B64C(-500.0f, 10.0f, var_r30, 50.0f); - } - else { - var_f31 = fn_1_1B574(10.0f, 0.0f, var_r30 - 0x32, 10.0f); - } - HuSprGrpPosSet(var_r28, 288.0f, 110.0f + var_f31); - } - HuSprGrpPosSet(var_r28, 288.0f, 110.0f); - fn_1_1B7D0(0xA); -} - -void fn_1_151C8(void) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r28 = *lbl_1_bss_63C; - var_r29 = *lbl_1_bss_63C; - for (var_r31 = 0; var_r31 < 0xB; var_r31++) { - HuSprAttrSet(var_r29, var_r31, 4); - } - HuSprAttrReset(var_r29, 0, 4); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - HuSprAttrReset(var_r29, var_r31 + 3, 4); - HuSprPosSet(var_r29, var_r31 + 3, lbl_1_data_5C4[var_r31 % 4 + 1][0], lbl_1_data_5C4[0][1]); - HuSprBankSet(var_r29, var_r31 + 3, 0); - } - HuSprGrpPosSet(var_r29, 288.0f, -390.0f); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_45C[var_r31].unk_14 = lbl_1_bss_45C[var_r31].unk_50 = 0; - } - for (var_r30 = 0; var_r30 <= 0x3C; var_r30++) { - fn_1_1B7D0(1); - if (var_r30 <= 0x32) { - var_f31 = fn_1_1B64C(-500.0f, 10.0f, var_r30, 50.0f); - } - else { - var_f31 = fn_1_1B574(10.0f, 0.0f, var_r30 - 0x32, 10.0f); - } - HuSprGrpPosSet(var_r28, 288.0f, 110.0f + var_f31); - } - HuSprGrpPosSet(var_r28, 288.0f, 110.0f); - fn_1_1B7D0(0xA); -} - -void fn_1_154A4(void) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28 = *lbl_1_bss_63C; - - fn_1_1B7D0(0xA); - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - fn_1_1B7D0(1); - if (var_r31 <= 0xA) { - var_f31 = fn_1_1B64C(0.0f, 10.0f, var_r31, 10.0f); - } - else { - var_f31 = fn_1_1B574(10.0f, -500.0f, var_r31 - 0xA, 50.0f); - } - HuSprGrpPosSet(var_r28, 288.0f, 110.0f + var_f31); - } - HuSprGrpPosSet(var_r28, 288.0f, -390.0f); - var_r29 = *lbl_1_bss_63C; - for (var_r30 = 0; var_r30 < 0xB; var_r30++) { - HuSprAttrSet(var_r29, var_r30, 4); - } - HuSprGrpPosSet(var_r29, 288.0f, 110.0f); - HuSprGrpScaleSet(var_r29, 1.0f, 1.0f); -} - -void fn_1_15684(s32 arg0) -{ - s32 var_r31; - - var_r31 = *lbl_1_bss_63C; - HuSprAttrReset(var_r31, 1, 4); - HuSprAttrReset(var_r31, 2, 4); - HuSprPosSet(var_r31, 1, -155.0f, 0.0f); - HuSprPosSet(var_r31, 2, 155.0f, 0.0f); - if (arg0 == 2) { - HuSprPosSet(var_r31, 1, -80.0f, 0.0f); - HuSprPosSet(var_r31, 2, 80.0f, 0.0f); - } -} - -void fn_1_15774(void) -{ - s32 var_r31; - - var_r31 = *lbl_1_bss_63C; - HuSprAttrSet(var_r31, 1, 4); - HuSprAttrSet(var_r31, 2, 4); -} - -void fn_1_157C4(void) -{ - float var_f31; - float var_f30; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - - var_r27 = lbl_1_bss_63C[0]; - var_r29 = var_r28 = var_r26 = var_r24 = 0; - lbl_1_bss_5DC.unk_28 = 0; - var_r29 = 1; - for (var_r31 = 1; var_r31 < 4; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_50 == 0) { - var_r29++; - } - } - var_r28 = 1; - for (var_r31 = 1; var_r31 < 4; var_r31++) { - if (HuPadStatGet(var_r31) != -1) { - var_r28++; - } - } - if (var_r28 >= 2) { - var_r25 = lbl_1_bss_63C[0]; - HuSprAttrReset(var_r25, 1, 4); - HuSprAttrReset(var_r25, 2, 4); - HuSprPosSet(var_r25, 1, -155.0f, 0.0f); - HuSprPosSet(var_r25, 2, 155.0f, 0.0f); - if (*HuPadStkX >= 5) { - var_r29++; - var_r26 = 1; - } - else if (*HuPadStkX <= -5) { - var_r29--; - var_r26 = -1; - } - } - else { - var_r23 = lbl_1_bss_63C[0]; - HuSprAttrSet(var_r23, 1, 4); - HuSprAttrSet(var_r23, 2, 4); - } - if (var_r29 < 1) { - var_r29 = var_r28; - } - else if (var_r29 > var_r28) { - if (var_r26 == 0) { - var_r29 = var_r28; - var_r24 = 1; - } - else { - var_r29 = 1; - } - } - if ((var_r26 != 0) || (var_r24 != 0)) { - lbl_1_bss_5DC.unk_28 = 1; - HuAudFXPlay(0); - for (var_r31 = 0; var_r31 <= 0xA; var_r31++) { - if (var_r31 <= 5) { - var_f31 = fn_1_1B64C(0.0f, 10.0f, var_r31, 5.0f); - var_f30 = fn_1_1B64C(1.0f, 0.0f, var_r31, 5.0f); - } - else { - var_f31 = fn_1_1B64C(10.0f, 0.0f, var_r31 - 5, 5.0f); - var_f30 = fn_1_1B64C(0.0f, 1.0f, var_r31 - 5, 5.0f); - } - if (var_r26 == 1) { - HuSprPosSet(var_r27, 2, 3.0f + (155.0f + var_f31), 0.0f); - } - else if (var_r26 == -1) { - HuSprPosSet(var_r27, 1, (-155.0f - var_f31) - 3.0f, 0.0f); - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if ((var_r30 < var_r29) && (lbl_1_bss_45C[var_r30].unk_50 == 1)) { - lbl_1_bss_45C[var_r30].unk_14 = 0; - HuSprScaleSet(var_r27, var_r30 + 3, var_f30, 1.0f); - if (var_r31 == 5) { - HuSprBankSet(var_r27, var_r30 + 3, 0); - } - } - else if ((var_r30 >= var_r29) && (lbl_1_bss_45C[var_r30].unk_50 == 0)) { - lbl_1_bss_45C[var_r30].unk_14 = 1; - HuSprScaleSet(var_r27, var_r30 + 3, var_f30, 1.0f); - if (var_r31 == 5) { - HuSprBankSet(var_r27, var_r30 + 3, 1); - } - } - } - fn_1_1B7D0(1); - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if (var_r30 < var_r29) { - lbl_1_bss_45C[var_r30].unk_50 = 0; - } - else { - lbl_1_bss_45C[var_r30].unk_50 = 1; - } - } - } - lbl_1_bss_5DC.unk_28 = 0; -} - -void fn_1_15D48(void) -{ - float var_f31; - float var_f30; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - - var_r27 = lbl_1_bss_63C[0]; - var_r29 = var_r28 = var_r26 = var_r24 = 0; - lbl_1_bss_5DC.unk_28 = 0; - var_r29 = 1; - for (var_r31 = 1; var_r31 < 2; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_50 == 0) { - var_r29++; - } - } - var_r28 = 1; - for (var_r31 = 1; var_r31 < 4; var_r31++) { - if (HuPadStatGet(var_r31) != -1) { - var_r28++; - } - } - if (var_r28 > 2) { - var_r28 = 2; - } - if (var_r28 >= 2) { - var_r25 = lbl_1_bss_63C[0]; - HuSprAttrReset(var_r25, 1, 4); - HuSprAttrReset(var_r25, 2, 4); - HuSprPosSet(var_r25, 1, -155.0f, 0.0f); - HuSprPosSet(var_r25, 2, 155.0f, 0.0f); - HuSprPosSet(var_r25, 1, -80.0f, 0.0f); - HuSprPosSet(var_r25, 2, 80.0f, 0.0f); - if (*HuPadStkX >= 5) { - var_r29++; - var_r26 = 1; - } - else if (*HuPadStkX <= -5) { - var_r29--; - var_r26 = -1; - } - } - else { - var_r23 = lbl_1_bss_63C[0]; - HuSprAttrSet(var_r23, 1, 4); - HuSprAttrSet(var_r23, 2, 4); - } - if (var_r29 < 1) { - var_r29 = var_r28; - } - else if (var_r29 > var_r28) { - if (var_r26 == 0) { - var_r29 = var_r28; - var_r24 = 1; - } - else { - var_r29 = 1; - } - } - if ((var_r26 != 0) || (var_r24 != 0)) { - lbl_1_bss_5DC.unk_28 = 1; - HuAudFXPlay(0); - for (var_r31 = 0; var_r31 <= 0xA; var_r31++) { - if (var_r31 <= 5) { - var_f31 = fn_1_1B64C(0.0f, 10.0f, var_r31, 5.0f); - var_f30 = fn_1_1B64C(1.0f, 0.0f, var_r31, 5.0f); - } - else { - var_f31 = fn_1_1B64C(10.0f, 0.0f, var_r31 - 5, 5.0f); - var_f30 = fn_1_1B64C(0.0f, 1.0f, var_r31 - 5, 5.0f); - } - if (var_r26 == 1) { - HuSprPosSet(var_r27, 2, 3.0f + (77.0f + var_f31), 0.0f); - } - else if (var_r26 == -1) { - HuSprPosSet(var_r27, 1, (-77.0f - var_f31) - 3.0f, 0.0f); - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if ((var_r30 < var_r29) && (lbl_1_bss_45C[var_r30].unk_50 == 1)) { - lbl_1_bss_45C[var_r30].unk_14 = 0; - HuSprScaleSet(var_r27, var_r30 + 3, var_f30, 1.0f); - if (var_r31 == 5) { - HuSprBankSet(var_r27, var_r30 + 3, 0); - } - } - else if ((var_r30 >= var_r29) && (lbl_1_bss_45C[var_r30].unk_50 == 0)) { - lbl_1_bss_45C[var_r30].unk_14 = 1; - HuSprScaleSet(var_r27, var_r30 + 3, var_f30, 1.0f); - if (var_r31 == 5) { - HuSprBankSet(var_r27, var_r30 + 3, 1); - } - } - } - fn_1_1B7D0(1); - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if (var_r30 < var_r29) { - lbl_1_bss_45C[var_r30].unk_50 = 0; - } - else { - lbl_1_bss_45C[var_r30].unk_50 = 1; - } - } - } - lbl_1_bss_5DC.unk_28 = 0; -} - -void fn_1_16320(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - AnimData *var_r28; - AnimData *var_r27; - - var_r29 = HuSprGrpCreate(0x36); - lbl_1_bss_63C[1] = var_r29; - var_r30 = HuSprCreate(HuSprAnimReadFile(0x64004A), 0xBB8, 0); - HuSprGrpMemberSet(var_r29, 0, var_r30); - HuSprPosSet(var_r29, 0, 0.0f, 0.0f); - var_r28 = HuSprAnimReadFile(0x64005A); - for (var_r31 = 0; var_r31 < 8; var_r31++) { - var_r30 = HuSprCreate(HuSprAnimReadFile(var_r31 + 0x64004C), 0x76C, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 2, var_r30); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = HuSprCreate(HuSprAnimReadFile(var_r31 + 0x64005B), 0x384, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x1E, var_r30); - var_r30 = HuSprCreate(HuSprAnimReadFile(var_r31 + 0x640060), 0x3E8, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x22, var_r30); - } - var_r28 = HuSprAnimReadFile(0x64005F); - var_r27 = HuSprAnimReadFile(0x640064); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = HuSprCreate(var_r28, 0x384, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x26, var_r30); - var_r30 = HuSprCreate(var_r27, 0x3E8, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x2A, var_r30); - } - var_r28 = HuSprAnimReadFile(0x640065); - var_r27 = HuSprAnimReadFile(0x640066); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = HuSprCreate(var_r28, 0x384, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x2E, var_r30); - var_r30 = HuSprCreate(var_r27, 0x320, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x32, var_r30); - } - fn_1_16600(0); - fn_1_16874(0); -} - -void fn_1_16600(s32 arg0) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_63C[1]; - for (var_r31 = 0; var_r31 < 0x36; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - if (arg0 != 3) { - HuSprAttrReset(var_r30, 0, 4); - for (var_r31 = 0; var_r31 < 8; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 2, 0); - HuSprAttrReset(var_r30, var_r31 + 2, 4); - HuSprPosSet(var_r30, var_r31 + 2, lbl_1_data_5E4[var_r31][0], lbl_1_data_5E4[var_r31][1]); - HuSprBankSet(var_r30, var_r31 + 2, 0); - } - } - else { - HuSprAttrReset(var_r30, 1, 4); - HuSprPosSet(var_r30, 1, 2.0f, 0.0f); - for (var_r31 = 0; var_r31 < 0xE; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 2, 0); - HuSprAttrReset(var_r30, var_r31 + 2, 4); - HuSprPosSet(var_r30, var_r31 + 2, lbl_1_data_624[var_r31][0], lbl_1_data_624[var_r31][1]); - HuSprBankSet(var_r30, var_r31 + 2, 0); - } - } - HuSprGrpPosSet(var_r30, 288.0f, -331.0f); -} - -void fn_1_16874(s32 arg0) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_63C[1]; - for (var_r31 = 0; var_r31 < 0x36; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - HuSprGrpPosSet(var_r30, 288.0f, -331.0f); -} - -void fn_1_168F0(s32 arg0, s32 arg1) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r28 = lbl_1_bss_63C[1]; - var_r30 = lbl_1_bss_63C[1]; - for (var_r31 = 0; var_r31 < 0x36; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - if (arg0 != 3) { - HuSprAttrReset(var_r30, 0, 4); - for (var_r31 = 0; var_r31 < 8; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 2, 0); - HuSprAttrReset(var_r30, var_r31 + 2, 4); - HuSprPosSet(var_r30, var_r31 + 2, lbl_1_data_5E4[var_r31][0], lbl_1_data_5E4[var_r31][1]); - HuSprBankSet(var_r30, var_r31 + 2, 0); - } - } - else { - HuSprAttrReset(var_r30, 1, 4); - HuSprPosSet(var_r30, 1, 2.0f, 0.0f); - for (var_r31 = 0; var_r31 < 0xE; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 2, 0); - HuSprAttrReset(var_r30, var_r31 + 2, 4); - HuSprPosSet(var_r30, var_r31 + 2, lbl_1_data_624[var_r31][0], lbl_1_data_624[var_r31][1]); - HuSprBankSet(var_r30, var_r31 + 2, 0); - } - } - HuSprGrpPosSet(var_r30, 288.0f, -331.0f); - if (arg1 == 1) { - fn_1_1C174(); - } - if (arg1 == 2) { - fn_1_1C478(); - } - if (arg1 == 3) { - fn_1_1C77C(); - } - for (var_r29 = 0; var_r29 <= 0x3C; var_r29++) { - fn_1_1B7D0(1); - if (var_r29 <= 0x32) { - var_f31 = fn_1_1B64C(-500.0f, 10.0f, var_r29, 50.0f); - } - else { - var_f31 = fn_1_1B574(10.0f, 0.0f, var_r29 - 0x32, 10.0f); - } - if (lbl_1_bss_444 != 0) { - HuSprGrpPosSet(var_r28, 288.0f, 20.0f + (169.0f + var_f31)); - } - else { - HuSprGrpPosSet(var_r28, 288.0f, 169.0f + var_f31); - } - } - if (lbl_1_bss_444 != 0) { - HuSprGrpPosSet(var_r28, 288.0f, 189.0f); - return; - } - HuSprGrpPosSet(var_r28, 288.0f, 169.0f); -} - -void fn_1_16D3C(s32 arg0) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r28 = lbl_1_bss_63C[1]; - var_r30 = lbl_1_bss_63C[1]; - for (var_r31 = 0; var_r31 < 0x36; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - if (arg0 != 3) { - HuSprAttrReset(var_r30, 0, 4); - for (var_r31 = 0; var_r31 < 8; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 2, 0); - HuSprAttrReset(var_r30, var_r31 + 2, 4); - HuSprPosSet(var_r30, var_r31 + 2, lbl_1_data_5E4[var_r31][0], lbl_1_data_5E4[var_r31][1]); - HuSprBankSet(var_r30, var_r31 + 2, 0); - } - } - else { - HuSprAttrReset(var_r30, 1, 4); - HuSprPosSet(var_r30, 1, 2.0f, 0.0f); - for (var_r31 = 0; var_r31 < 0xE; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 2, 0); - HuSprAttrReset(var_r30, var_r31 + 2, 4); - HuSprPosSet(var_r30, var_r31 + 2, lbl_1_data_624[var_r31][0], lbl_1_data_624[var_r31][1]); - HuSprBankSet(var_r30, var_r31 + 2, 0); - } - } - HuSprGrpPosSet(var_r30, 288.0f, -331.0f); - for (var_r29 = 0; var_r29 <= 0x3C; var_r29++) { - fn_1_1B7D0(1); - if (var_r29 <= 0x32) { - var_f31 = fn_1_1B64C(-500.0f, 10.0f, var_r29, 50.0f); - } - else { - var_f31 = fn_1_1B574(10.0f, 0.0f, var_r29 - 0x32, 10.0f); - } - if (lbl_1_bss_444 != 0) { - HuSprGrpPosSet(var_r28, 288.0f, 20.0f + (169.0f + var_f31)); - } - else { - HuSprGrpPosSet(var_r28, 288.0f, 169.0f + var_f31); - } - } - if (lbl_1_bss_444 != 0) { - HuSprGrpPosSet(var_r28, 288.0f, 189.0f); - return; - } - HuSprGrpPosSet(var_r28, 288.0f, 169.0f); -} - -void fn_1_17170(s32 arg0) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r29 = lbl_1_bss_63C[1]; - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - fn_1_1B7D0(1); - if (var_r31 <= 0xA) { - var_f31 = fn_1_1B64C(0.0f, 10.0f, var_r31, 10.0f); - } - else { - var_f31 = fn_1_1B574(10.0f, -500.0f, var_r31 - 0xA, 50.0f); - } - if (lbl_1_bss_444 != 0) { - HuSprGrpPosSet(var_r29, 288.0f, 20.0f + (169.0f + var_f31)); - } - else { - HuSprGrpPosSet(var_r29, 288.0f, 169.0f + var_f31); - } - } - HuSprGrpPosSet(var_r29, 288.0f, -331.0f); - var_r28 = lbl_1_bss_63C[1]; - for (var_r30 = 0; var_r30 < 0x36; var_r30++) { - HuSprAttrSet(var_r28, var_r30, 4); - } - HuSprGrpPosSet(var_r28, 288.0f, -331.0f); -} - -void fn_1_17374(void) -{ - float var_f31; - float var_f30; - s32 var_r31; - s32 var_r30; - s32 var_r29; - - var_r30 = lbl_1_bss_63C[1]; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 0x1E, 0); - HuSprBankSet(var_r30, var_r31 + 0x22, 0); - HuSprBankSet(var_r30, var_r31 + 0x26, 0); - HuSprBankSet(var_r30, var_r31 + 0x2A, 0); - HuSprBankSet(var_r30, var_r31 + 0x2E, 0); - HuSprBankSet(var_r30, var_r31 + 0x32, 0); - } - if (lbl_1_bss_444 != 0) { - for (var_r31 = 0; var_r31 < 0xE; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 2, 0); - } - } - else { - for (var_r31 = 0; var_r31 < 8; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 2, 0); - } - } - for (var_r31 = 0; var_r31 <= 0xA; var_r31++) { - fn_1_1B7D0(1); - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (lbl_1_bss_444 != 0) { - var_f31 = fn_1_1B64C(lbl_1_data_694[lbl_1_bss_45C[var_r29].unk_5C][0], lbl_1_data_694[var_r29 + 1][0], var_r31, 10.0f); - var_f30 = fn_1_1B64C(lbl_1_data_694[lbl_1_bss_45C[var_r29].unk_5C][1], lbl_1_data_694[1][1], var_r31, 10.0f); - } - else { - var_f31 = fn_1_1B64C(lbl_1_data_5E4[lbl_1_bss_45C[var_r29].unk_5C % 4][0], lbl_1_data_5E4[var_r29][0], var_r31, 10.0f); - var_f30 = fn_1_1B64C(lbl_1_data_5E4[(lbl_1_bss_45C[var_r29].unk_5C / 4) * 4][1], lbl_1_data_5E4[0][1], var_r31, 10.0f); - } - HuSprPosSet(var_r30, var_r29 + 0x1E, var_f31, var_f30); - HuSprPosSet(var_r30, var_r29 + 0x22, var_f31, var_f30); - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_444 != 0) { - HuSprPosSet(var_r30, var_r31 + 0x1E, lbl_1_data_694[var_r31 + 1][0], lbl_1_data_694[var_r31 + 1][1]); - HuSprPosSet(var_r30, var_r31 + 0x22, lbl_1_data_694[var_r31 + 1][0], lbl_1_data_694[var_r31 + 1][1]); - lbl_1_bss_45C[var_r31].unk_5C = var_r31 + 1; - lbl_1_bss_45C[var_r31].unk_48 = var_r31; - lbl_1_bss_45C[var_r31].unk_08 = 0; - } - else { - HuSprPosSet(var_r30, var_r31 + 0x1E, lbl_1_data_5E4[var_r31][0], lbl_1_data_5E4[var_r31][1]); - HuSprPosSet(var_r30, var_r31 + 0x22, lbl_1_data_5E4[var_r31][0], lbl_1_data_5E4[var_r31][1]); - lbl_1_bss_45C[var_r31].unk_48 = var_r31; - lbl_1_bss_45C[var_r31].unk_5C = var_r31; - lbl_1_bss_45C[var_r31].unk_08 = 0; - } - } -} - -void fn_1_17B04(omObjData *arg0, MpexDllUnkStruct4 *arg1) -{ - float var_f31; - float var_f30; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - s32 var_r22; - s32 var_r21; - s32 var_r20; - s32 var_r19; - - var_r24 = lbl_1_bss_63C[1]; - var_r27 = 0; - var_r26 = 0; - HuSprAttrReset(var_r24, arg1->unk_48 + 0x1E, 4); - HuSprAttrReset(var_r24, arg1->unk_48 + 0x22, 4); - if (lbl_1_bss_444 != 0) { - var_r30 = arg1->unk_5C % 6; - var_r23 = var_r30; - var_r29 = arg1->unk_5C / 6; - var_r22 = var_r29; - } - else { - var_r30 = arg1->unk_5C % 4; - var_r23 = var_r30; - var_r29 = arg1->unk_5C / 4; - var_r22 = var_r29; - } - if (arg1->unk_08 == 0) { - if (HuPadBtnDown[arg1->unk_48] & PAD_BUTTON_A) { - arg1->unk_08 = 1; - if (lbl_1_bss_444 != 0) { - var_r21 = 0; - if (arg1->unk_5C <= 5) { - var_r21 = arg1->unk_5C - 1; - } - else if (arg1->unk_5C <= 0xB) { - var_r21 = arg1->unk_5C - 3; - } - else { - var_r21 = arg1->unk_5C - 4; - } - fn_1_1CABC(var_r21); - HuSprBankSet(var_r24, var_r21 + 2, 1); - } - else { - fn_1_1CABC(arg1->unk_5C); - HuSprBankSet(var_r24, arg1->unk_5C + 2, 1); - } - HuSprBankSet(var_r24, arg1->unk_48 + 0x1E, 1); - HuSprBankSet(var_r24, arg1->unk_48 + 0x22, 1); - } - else if (lbl_1_bss_444 != 0) { - if (HuPadStkX[arg1->unk_48] >= 5) { - var_r30++; - var_r27 = 1; - if (var_r30 > 5) { - var_r30 = 5; - } - } - else if (HuPadStkX[arg1->unk_48] <= -5) { - var_r30--; - var_r27 = -1; - if (var_r30 < 0) { - var_r30 = 0; - } - } - if (HuPadStkY[arg1->unk_48] <= -5) { - var_r29++; - var_r26 = 1; - if (var_r29 > 2) { - var_r29 = 2; - } - } - else if (HuPadStkY[arg1->unk_48] >= 5) { - var_r29--; - var_r26 = -1; - if (var_r29 < 0) { - var_r29 = 0; - } - } - } - else { - if (HuPadStkX[arg1->unk_48] >= 5) { - var_r30++; - var_r27 = 1; - if (var_r30 > 3) { - var_r30 = 3; - } - } - else if (HuPadStkX[arg1->unk_48] <= -5) { - var_r30--; - var_r27 = -1; - if (var_r30 < 0) { - var_r30 = 0; - } - } - if (HuPadStkY[arg1->unk_48] <= -5) { - var_r29++; - var_r26 = 1; - if (var_r29 > 1) { - var_r29 = 1; - } - } - else if (HuPadStkY[arg1->unk_48] >= 5) { - var_r29--; - var_r26 = -1; - if (var_r29 < 0) { - var_r29 = 0; - } - } - } - } - else if (HuPadBtnDown[arg1->unk_48] & PAD_BUTTON_B) { - arg1->unk_08 = 0; - lbl_1_bss_5DC.unk_10 = 1; - HuAudFXPlay(3); - if (lbl_1_bss_444 != 0) { - var_r20 = 0; - if (arg1->unk_5C <= 5) { - var_r20 = arg1->unk_5C - 1; - } - else if (arg1->unk_5C <= 0xB) { - var_r20 = arg1->unk_5C - 3; - } - else { - var_r20 = arg1->unk_5C - 4; - } - HuSprBankSet(var_r24, var_r20 + 2, 0); - } - else { - HuSprBankSet(var_r24, arg1->unk_5C + 2, 0); - } - HuSprBankSet(var_r24, arg1->unk_48 + 0x1E, 0); - HuSprBankSet(var_r24, arg1->unk_48 + 0x22, 0); - } - if (lbl_1_bss_444 != 0) { - var_r25 = var_r30 + (var_r29 * 6); - } - else { - var_r25 = var_r30 + (var_r29 * 4); - } - if (arg1->unk_5C != var_r25) { - if (lbl_1_bss_444 != 0) { - while (TRUE) { - var_r25 = var_r30 + (var_r29 * 6); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - if (((var_r28 != arg1->unk_48) && (lbl_1_bss_45C[var_r28].unk_50 == 0) && (var_r25 == lbl_1_bss_45C[var_r28].unk_5C)) - || (var_r25 == 0) || (var_r25 == 5) || (var_r25 == 6) || (var_r25 == 0xB)) { - if ((var_r27 == 0) || (var_r26 == 0)) { - if (((var_r30 + var_r27) > 5) || ((var_r30 + var_r27) < 0)) { - var_r30 = var_r23; - } - else { - var_r30 += var_r27; - } - if (((var_r29 + var_r26) > 2) || ((var_r29 + var_r26) < 0)) { - var_r29 = var_r22; - } - else { - var_r29 += var_r26; - } - } - else if (((var_r30 + var_r27) <= 5) && ((var_r30 + var_r27) >= 0)) { - var_r30 += var_r27; - } - else if (((var_r29 + var_r26) <= 2) && ((var_r29 + var_r26) >= 0)) { - var_r29 += var_r26; - } - else { - var_r30 = var_r23; - var_r29 = var_r22; - } - break; - } - } - if (var_r28 == 4) { - break; - } - } - } - else { - do { - var_r25 = var_r30 + (var_r29 * 4); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - if ((var_r28 != arg1->unk_48) && (lbl_1_bss_45C[var_r28].unk_50 == 0) && (var_r25 == lbl_1_bss_45C[var_r28].unk_5C)) { - if ((var_r27 == 0) || (var_r26 == 0)) { - if (((var_r30 + var_r27) > 3) || ((var_r30 + var_r27) < 0)) { - var_r30 = var_r23; - } - else { - var_r30 += var_r27; - } - if (((var_r29 + var_r26) > 1) || ((var_r29 + var_r26) < 0)) { - var_r29 = var_r22; - } - else { - var_r29 += var_r26; - } - } - else if (((var_r30 + var_r27) <= 3) && ((var_r30 + var_r27) >= 0)) { - var_r30 += var_r27; - } - else if (((var_r29 + var_r26) <= 1) && ((var_r29 + var_r26) >= 0)) { - var_r29 += var_r26; - } - else { - var_r30 = var_r23; - var_r29 = var_r22; - } - break; - } - } - } while (var_r28 != 4); - } - if (lbl_1_bss_444 != 0) { - var_r25 = var_r30 + (var_r29 * 6); - } - else { - var_r25 = var_r30 + (var_r29 * 4); - } - if (arg1->unk_5C != var_r25) { - HuAudFXPlay(0); - var_r19 = arg1->unk_5C; - arg1->unk_5C = var_r25; - if (lbl_1_bss_444 != 0) { - for (var_r28 = 0; var_r28 <= 0xA; var_r28++) { - fn_1_1B7D0(1); - var_f31 = fn_1_1B64C(lbl_1_data_694[var_r19][0], lbl_1_data_694[var_r25][0], var_r28, 10.0f); - var_f30 = fn_1_1B64C(lbl_1_data_694[var_r19][1], lbl_1_data_694[var_r25][1], var_r28, 10.0f); - HuSprPosSet(var_r24, arg1->unk_48 + 0x1E, var_f31, var_f30); - HuSprPosSet(var_r24, arg1->unk_48 + 0x22, var_f31, var_f30); - } - return; - } - for (var_r28 = 0; var_r28 <= 0xA; var_r28++) { - fn_1_1B7D0(1); - var_f31 = fn_1_1B64C(*lbl_1_data_5E4[var_r23], *lbl_1_data_5E4[var_r30], var_r28, 10.0f); - var_f30 = fn_1_1B64C(lbl_1_data_5E4[var_r22 * 4][1], lbl_1_data_5E4[var_r29 * 4][1], var_r28, 10.0f); - HuSprPosSet(var_r24, arg1->unk_48 + 0x1E, var_f31, var_f30); - HuSprPosSet(var_r24, arg1->unk_48 + 0x22, var_f31, var_f30); - } - } - } -} - -void fn_1_18610(MpexDllUnkStruct4 *arg0) -{ - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r30 = lbl_1_bss_63C[1]; - do { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if ((var_r29 != arg0->unk_48) && (lbl_1_bss_45C[var_r29].unk_08 == 1) && (arg0->unk_5C == lbl_1_bss_45C[var_r29].unk_5C)) { - arg0->unk_5C += 1; - break; - } - } - } while (var_r29 != 4); - arg0->unk_54 = 0; - if (lbl_1_bss_444 != 0) { - var_r28 = 0; - if (arg0->unk_5C <= 5) { - var_r28 = arg0->unk_5C - 1; - } - else if (arg0->unk_5C <= 0xB) { - var_r28 = arg0->unk_5C - 3; - } - else { - var_r28 = arg0->unk_5C - 4; - } - HuSprBankSet(var_r30, var_r28 + 2, 0); - } - else { - HuSprBankSet(var_r30, arg0->unk_5C + 2, 0); - } - HuSprBankSet(var_r30, arg0->unk_48 + 0x26, 0); - HuSprBankSet(var_r30, arg0->unk_48 + 0x2A, 0); - HuSprBankSet(var_r30, arg0->unk_48 + 0x2E, arg0->unk_54); - HuSprBankSet(var_r30, arg0->unk_48 + 0x32, arg0->unk_54); - if (lbl_1_bss_444 != 0) { - HuSprPosSet(var_r30, arg0->unk_48 + 0x26, *lbl_1_data_694[arg0->unk_5C], lbl_1_data_694[arg0->unk_5C][1]); - HuSprPosSet(var_r30, arg0->unk_48 + 0x2A, *lbl_1_data_694[arg0->unk_5C], lbl_1_data_694[arg0->unk_5C][1]); - HuSprPosSet(var_r30, arg0->unk_48 + 0x2E, *lbl_1_data_694[arg0->unk_5C], lbl_1_data_694[arg0->unk_5C][1] + 0x23); - HuSprPosSet(var_r30, arg0->unk_48 + 0x32, *lbl_1_data_694[arg0->unk_5C], lbl_1_data_694[arg0->unk_5C][1] + 0x23); - } - else { - HuSprPosSet(var_r30, arg0->unk_48 + 0x26, *lbl_1_data_5E4[arg0->unk_5C % 4], lbl_1_data_5E4[(arg0->unk_5C / 4) * 4][1]); - HuSprPosSet(var_r30, arg0->unk_48 + 0x2A, *lbl_1_data_5E4[arg0->unk_5C % 4], lbl_1_data_5E4[(arg0->unk_5C / 4) * 4][1]); - HuSprPosSet(var_r30, arg0->unk_48 + 0x2E, *lbl_1_data_5E4[arg0->unk_5C % 4], lbl_1_data_5E4[(arg0->unk_5C / 4) * 4][1] + 0x23); - HuSprPosSet(var_r30, arg0->unk_48 + 0x32, *lbl_1_data_5E4[arg0->unk_5C % 4], lbl_1_data_5E4[(arg0->unk_5C / 4) * 4][1] + 0x23); - } - arg0->unk_10 = 0; - HuSprAttrReset(var_r30, arg0->unk_48 + 0x26, 4); - HuSprAttrReset(var_r30, arg0->unk_48 + 0x2A, 4); - HuSprAttrSet(var_r30, arg0->unk_48 + 0x2E, 4); - HuSprAttrSet(var_r30, arg0->unk_48 + 0x32, 4); -} - -void fn_1_18D30(struct MpexDllUnkStruct4 *arg0) -{ - s32 var_r30; - - var_r30 = lbl_1_bss_63C[1]; - HuSprAttrSet(var_r30, arg0->unk_48 + 0x26, 4); - HuSprAttrSet(var_r30, arg0->unk_48 + 0x2A, 4); - HuSprAttrSet(var_r30, arg0->unk_48 + 0x2E, 4); - HuSprAttrSet(var_r30, arg0->unk_48 + 0x32, 4); -} - -void fn_1_18DCC(omObjData *arg0, MpexDllUnkStruct4 *arg1) -{ - s32 sp8; - float var_f31; - float var_f30; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - s32 var_r22; - s32 var_r21; - s32 var_r20; - s32 var_r19; - - var_r27 = lbl_1_bss_63C[1]; - var_r26 = 0; - var_r25 = 0; - sp8 = arg1->unk_54; - lbl_1_bss_5DC.unk_30 = 0; - if (lbl_1_bss_444 != 0) { - var_r30 = arg1->unk_5C % 6; - var_r23 = var_r30; - var_r29 = arg1->unk_5C / 6; - var_r22 = var_r29; - } - else { - var_r30 = arg1->unk_5C % 4; - var_r23 = var_r30; - var_r29 = arg1->unk_5C / 4; - var_r22 = var_r29; - } - if (arg1->unk_08 == 0) { - if (HuPadBtnDown[lbl_1_bss_45C->unk_58] & PAD_BUTTON_A) { - arg1->unk_08 = 1; - HuSprBankSet(var_r27, arg1->unk_48 + 0x26, 1); - HuSprBankSet(var_r27, arg1->unk_48 + 0x2A, 1); - if (lbl_1_bss_444 != 0) { - var_r21 = 0; - if (arg1->unk_5C <= 5) { - var_r21 = arg1->unk_5C - 1; - } - else if (arg1->unk_5C <= 0xB) { - var_r21 = arg1->unk_5C - 3; - } - else { - var_r21 = arg1->unk_5C - 4; - } - HuSprBankSet(var_r27, var_r21 + 2, 1); - fn_1_1CABC(var_r21); - } - else { - HuSprBankSet(var_r27, arg1->unk_5C + 2, 1); - fn_1_1CABC(arg1->unk_5C); - } - arg1->unk_54 = 0; - HuSprBankSet(var_r27, arg1->unk_48 + 0x2E, arg1->unk_54); - if (lbl_1_bss_444 != 0) { - HuSprPosSet(var_r27, arg1->unk_48 + 0x2E, lbl_1_data_694[arg1->unk_5C][0], lbl_1_data_694[arg1->unk_5C][1] + 0x23); - } - else { - HuSprPosSet(var_r27, arg1->unk_48 + 0x2E, lbl_1_data_5E4[arg1->unk_5C % 4][0], lbl_1_data_5E4[(arg1->unk_5C / 4) * 4][1] + 0x23); - } - HuSprAttrReset(var_r27, arg1->unk_48 + 0x2E, 4); - } - else if (lbl_1_bss_444 != 0) { - if (HuPadStkX[0] >= 5) { - var_r30++; - var_r26 = 1; - if (var_r30 > 5) { - var_r30 = 5; - } - } - else if (HuPadStkX[0] <= -5) { - var_r30--; - var_r26 = -1; - if (var_r30 < 0) { - var_r30 = 0; - } - } - if (HuPadStkY[0] <= -5) { - var_r29++; - var_r25 = 1; - if (var_r29 > 2) { - var_r29 = 2; - } - } - else if (HuPadStkY[0] >= 5) { - var_r29--; - var_r25 = -1; - if (var_r29 < 0) { - var_r29 = 0; - } - } - } - else { - if (HuPadStkX[0] >= 5) { - var_r30++; - var_r26 = 1; - if (var_r30 > 3) { - var_r30 = 3; - } - } - else if (HuPadStkX[0] <= -5) { - var_r30--; - var_r26 = -1; - if (var_r30 < 0) { - var_r30 = 0; - } - } - if (HuPadStkY[0] <= -5) { - var_r29++; - var_r25 = 1; - if (var_r29 > 1) { - var_r29 = 1; - } - } - else if (HuPadStkY[0] >= 5) { - var_r29--; - var_r25 = -1; - if (var_r29 < 0) { - var_r29 = 0; - } - } - } - } - else if (HuPadBtnDown[lbl_1_bss_45C->unk_58] & PAD_BUTTON_B) { - arg1->unk_08 = arg1->unk_10 = 0; - if (lbl_1_bss_444 != 0) { - var_r20 = 0; - if (arg1->unk_5C <= 5) { - var_r20 = arg1->unk_5C - 1; - } - else if (arg1->unk_5C <= 0xB) { - var_r20 = arg1->unk_5C - 3; - } - else { - var_r20 = arg1->unk_5C - 4; - } - HuSprBankSet(var_r27, var_r20 + 2, 0); - } - else { - HuSprBankSet(var_r27, arg1->unk_5C + 2, 0); - } - HuSprBankSet(var_r27, arg1->unk_48 + 0x26, 0); - HuSprBankSet(var_r27, arg1->unk_48 + 0x2A, 0); - HuSprAttrSet(var_r27, arg1->unk_48 + 0x2E, 4); - HuAudFXPlay(3); - } - if (lbl_1_bss_444 != 0) { - var_r24 = var_r30 + (var_r29 * 6); - } - else { - var_r24 = var_r30 + (var_r29 * 4); - } - if (arg1->unk_5C != var_r24) { - if (lbl_1_bss_444 != 0) { - while (TRUE) { - fn_1_1B7D0(1); - var_r24 = var_r30 + (var_r29 * 6); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - if (((var_r28 != arg1->unk_48) && (lbl_1_bss_45C[var_r28].unk_08 == 1) && (var_r24 == lbl_1_bss_45C[var_r28].unk_5C)) - || (var_r24 == 0) || (var_r24 == 5) || (var_r24 == 6) || (var_r24 == 0xB)) { - if ((var_r26 == 0) || (var_r25 == 0)) { - if (((var_r30 + var_r26) > 5) || ((var_r30 + var_r26) < 0)) { - var_r30 = var_r23; - } - else { - var_r30 += var_r26; - } - if (((var_r29 + var_r25) > 2) || ((var_r29 + var_r25) < 0)) { - var_r29 = var_r22; - } - else { - var_r29 += var_r25; - } - } - else if (((var_r30 + var_r26) <= 5) && ((var_r30 + var_r26) >= 0)) { - var_r30 += var_r26; - } - else if (((var_r29 + var_r25) <= 2) && ((var_r29 + var_r25) >= 0)) { - var_r29 += var_r25; - } - else { - var_r30 = var_r23; - var_r29 = var_r22; - } - break; - } - } - if (var_r28 == 4) { - break; - } - } - } - else { - do { - var_r24 = var_r30 + (var_r29 * 4); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - if ((var_r28 != arg1->unk_48) && (lbl_1_bss_45C[var_r28].unk_08 == 1) && (var_r24 == lbl_1_bss_45C[var_r28].unk_5C)) { - if ((var_r26 == 0) || (var_r25 == 0)) { - if (((var_r30 + var_r26) > 3) || ((var_r30 + var_r26) < 0)) { - var_r30 = var_r23; - } - else { - var_r30 += var_r26; - } - if (((var_r29 + var_r25) > 1) || ((var_r29 + var_r25) < 0)) { - var_r29 = var_r22; - } - else { - var_r29 += var_r25; - } - } - else if (((var_r30 + var_r26) <= 3) && ((var_r30 + var_r26) >= 0)) { - var_r30 += var_r26; - } - else if (((var_r29 + var_r25) <= 1) && ((var_r29 + var_r25) >= 0)) { - var_r29 += var_r25; - } - else { - var_r30 = var_r23; - var_r29 = var_r22; - } - break; - } - } - } while (var_r28 != 4); - } - if (lbl_1_bss_444 != 0) { - var_r24 = var_r30 + (var_r29 * 6); - } - else { - var_r24 = var_r30 + (var_r29 * 4); - } - if (arg1->unk_5C != var_r24) { - var_r19 = arg1->unk_5C; - arg1->unk_5C = var_r24; - HuAudFXPlay(0); - if (lbl_1_bss_444 != 0) { - for (var_r28 = 0; var_r28 <= 0xA; var_r28++) { - fn_1_1B7D0(1); - var_f31 = fn_1_1B64C(lbl_1_data_694[var_r19][0], lbl_1_data_694[var_r24][0], var_r28, 10.0f); - var_f30 = fn_1_1B64C(lbl_1_data_694[var_r19][1], lbl_1_data_694[var_r24][1], var_r28, 10.0f); - HuSprPosSet(var_r27, arg1->unk_48 + 0x26, var_f31, var_f30); - HuSprPosSet(var_r27, arg1->unk_48 + 0x2A, var_f31, var_f30); - HuSprPosSet(var_r27, arg1->unk_48 + 0x2E, var_f31, 35.0f + var_f30); - } - } - else { - for (var_r28 = 0; var_r28 <= 0xA; var_r28++) { - fn_1_1B7D0(1); - var_f31 = fn_1_1B64C(lbl_1_data_5E4[var_r23][0], lbl_1_data_5E4[var_r30][0], var_r28, 10.0f); - var_f30 = fn_1_1B64C(lbl_1_data_5E4[var_r22 * 4][1], lbl_1_data_5E4[var_r29 * 4][1], var_r28, 10.0f); - HuSprPosSet(var_r27, arg1->unk_48 + 0x26, var_f31, var_f30); - HuSprPosSet(var_r27, arg1->unk_48 + 0x2A, var_f31, var_f30); - HuSprPosSet(var_r27, arg1->unk_48 + 0x2E, var_f31, 35.0f + var_f30); - } - } - } - } - lbl_1_bss_5DC.unk_30 = 0; -} - -s32 fn_1_19A98(MpexDllUnkStruct4 *arg0) -{ - float var_f31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - - var_r28 = 0; - var_r29 = lbl_1_bss_63C[1]; - while (TRUE) { - fn_1_1B7D0(1); - var_r28 = 0; - var_r26 = arg0->unk_54; - if (HuPadStkX[lbl_1_bss_45C->unk_58] < 5) { - if ((HuPadBtn[lbl_1_bss_45C->unk_58] & PAD_BUTTON_RIGHT) == 0) { - // TODO remove gotos - goto block_2; - } - } - if (GWGameStat.veryHardUnlock == 1) { - arg0->unk_54++; - var_r28 = 1; - if (arg0->unk_54 > 3) { - arg0->unk_54 = 0; - } - } - else { - arg0->unk_54++; - var_r28 = 1; - if (arg0->unk_54 > 2) { - arg0->unk_54 = 0; - } - goto block_1; - block_2: - if (HuPadStkX[lbl_1_bss_45C->unk_58] <= -5 || HuPadBtn[lbl_1_bss_45C->unk_58] & PAD_BUTTON_LEFT) { - if (GWGameStat.veryHardUnlock == 1) { - arg0->unk_54--; - var_r28 = -1; - if (arg0->unk_54 < 0) { - arg0->unk_54 = 3; - } - } - else { - arg0->unk_54--; - var_r28 = -1; - if (arg0->unk_54 < 0) { - arg0->unk_54 = 2; - } - } - } - else if (HuPadBtnDown[0] & PAD_BUTTON_A) { - var_r27 = 1; - break; - } - else if (HuPadBtnDown[0] & PAD_BUTTON_B) { - var_r27 = 0; - HuAudFXPlay(3); - break; - } - } - block_1: - if (arg0->unk_54 != var_r26) { - HuAudFXPlay(0); - for (var_r30 = 0; var_r30 <= 5; var_r30++) { - fn_1_1B7D0(1); - if (lbl_1_bss_444 != 0) { - var_f31 = fn_1_1B64C(lbl_1_data_694[arg0->unk_5C][0], lbl_1_data_694[arg0->unk_5C][0] + (var_r28 * 0xA), var_r30, 5.0f); - HuSprPosSet(var_r29, arg0->unk_48 + 0x2E, var_f31, lbl_1_data_694[arg0->unk_5C][1] + 0x23); - } - else { - var_f31 = fn_1_1B64C(lbl_1_data_5E4[arg0->unk_5C % 4][0], lbl_1_data_5E4[arg0->unk_5C % 4][0] + (var_r28 * 0xA), var_r30, 5.0f); - HuSprPosSet(var_r29, arg0->unk_48 + 0x2E, var_f31, lbl_1_data_5E4[(arg0->unk_5C / 4) * 4][1] + 0x23); - } - } - HuSprBankSet(var_r29, arg0->unk_48 + 0x2E, arg0->unk_54); - for (var_r30 = 0; var_r30 <= 5; var_r30++) { - fn_1_1B7D0(1); - if (lbl_1_bss_444 != 0) { - var_f31 = fn_1_1B64C(lbl_1_data_694[arg0->unk_5C][0] + (var_r28 * 0xA), lbl_1_data_694[arg0->unk_5C][0], var_r30, 5.0f); - HuSprPosSet(var_r29, arg0->unk_48 + 0x2E, var_f31, lbl_1_data_694[arg0->unk_5C][1] + 0x23); - } - else { - var_f31 = fn_1_1B64C(lbl_1_data_5E4[arg0->unk_5C % 4][0] + (var_r28 * 0xA), lbl_1_data_5E4[arg0->unk_5C % 4][0], var_r30, 5.0f); - HuSprPosSet(var_r29, arg0->unk_48 + 0x2E, var_f31, lbl_1_data_5E4[(arg0->unk_5C / 4) * 4][1] + 0x23); - } - } - } - } - if (var_r27 == 1) { - if (lbl_1_bss_444 != 0) { - HuSprPosSet(var_r29, arg0->unk_48 + 0x32, lbl_1_data_694[arg0->unk_5C][0], lbl_1_data_694[arg0->unk_5C][1] + 0x23); - } - else { - HuSprPosSet(var_r29, arg0->unk_48 + 0x32, lbl_1_data_5E4[arg0->unk_5C % 4][0], lbl_1_data_5E4[(arg0->unk_5C / 4) * 4][1] + 0x23); - } - HuSprBankSet(var_r29, arg0->unk_48 + 0x32, arg0->unk_54); - HuSprAttrReset(var_r29, arg0->unk_48 + 0x32, 4); - HuSprAttrSet(var_r29, arg0->unk_48 + 0x2E, 4); - } - return var_r27; -} - -void fn_1_1A3BC(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - AnimData *var_r28; - AnimData *var_r27; - - var_r29 = HuSprGrpCreate(0x1B); - lbl_1_bss_63C[2] = var_r29; - var_r30 = HuSprCreate(HuSprAnimReadFile(0x640067), 0x64, 0); - HuSprGrpMemberSet(var_r29, 0, var_r30); - var_r30 = HuSprCreate(HuSprAnimReadFile(0x640069), 0x64, 0); - HuSprGrpMemberSet(var_r29, 2, var_r30); - for (var_r31 = 0; var_r31 < 8; var_r31++) { - var_r30 = HuSprCreate(HuSprAnimReadFile(var_r31 + 0x64006B), 0x5A, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 4, var_r30); - } - var_r28 = HuSprAnimReadFile(0x640079); - var_r27 = HuSprAnimReadFile(0x64007A); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = HuSprCreate(var_r28, 0x50, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x12, var_r30); - var_r30 = HuSprCreate(var_r27, 0x50, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x16, var_r30); - } - var_r30 = HuSprCreate(HuSprAnimReadFile(0x64007B), 0x46, 0); - HuSprGrpMemberSet(var_r29, 0x1A, var_r30); - fn_1_1A5A4(0); - fn_1_1AEFC(0); -} - -void fn_1_1A5A4(s32 arg0) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - s32 var_r22; - - var_r30 = lbl_1_bss_63C[2]; - for (var_r31 = 0; var_r31 < 0x1B; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - switch (arg0) { - case 0: - HuSprAttrReset(var_r30, 2, 4); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r28 = GWPlayerCfg[var_r31].character; - var_r25 = GWPlayerCfg[var_r31].diff; - HuSprAttrReset(var_r30, var_r28 + 4, 4); - HuSprPosSet(var_r30, var_r28 + 4, lbl_1_data_724[var_r31][0], lbl_1_data_724[var_r31][1]); - if (GWPlayerCfg[var_r31].iscom != 0) { - HuSprAttrReset(var_r30, var_r31 + 0x16, 4); - HuSprBankSet(var_r30, var_r31 + 0x16, var_r25); - HuSprPosSet(var_r30, var_r31 + 0x16, lbl_1_data_724[var_r31][0], lbl_1_data_724[var_r31][1] + 0x14); - } - else { - HuSprAttrReset(var_r30, var_r31 + 0x12, 4); - HuSprBankSet(var_r30, var_r31 + 0x12, var_r31); - HuSprPosSet(var_r30, var_r31 + 0x12, lbl_1_data_724[var_r31][0], lbl_1_data_724[var_r31][1] + 0x14); - } - } - break; - case 1: - HuSprAttrReset(var_r30, 0, 4); - var_r27 = GWPlayerCfg->character; - var_r24 = GWPlayerCfg->diff; - HuSprAttrReset(var_r30, var_r27 + 4, 4); - HuSprPosSet(var_r30, var_r27 + 4, 0.0f, lbl_1_data_744[1]); - if (GWPlayerCfg->iscom != 0) { - HuSprAttrReset(var_r30, 0x16, 4); - HuSprBankSet(var_r30, 0x16, var_r24); - HuSprPosSet(var_r30, var_r31 + 0x16, 0.0f, lbl_1_data_744[1] + 0x14); - } - else { - HuSprAttrReset(var_r30, 0x12, 4); - HuSprBankSet(var_r30, 0x12, 0); - HuSprPosSet(var_r30, 0x12, 0.0f, lbl_1_data_744[1] + 0x14); - } - break; - case 2: - HuSprAttrReset(var_r30, 1, 4); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r26 = GWPlayerCfg[var_r31].character; - var_r23 = GWPlayerCfg[var_r31].diff; - HuSprAttrReset(var_r30, var_r26 + 4, 4); - HuSprPosSet(var_r30, var_r26 + 4, lbl_1_data_74C[var_r31][0], lbl_1_data_74C[var_r31][1]); - if (GWPlayerCfg[var_r31].iscom != 0) { - HuSprAttrReset(var_r30, var_r31 + 0x16, 4); - HuSprBankSet(var_r30, var_r31 + 0x16, var_r23); - HuSprPosSet(var_r30, var_r31 + 0x16, lbl_1_data_74C[var_r31][0], lbl_1_data_74C[var_r31][1] + 0x19); - } - else { - HuSprAttrReset(var_r30, var_r31 + 0x12, 4); - HuSprBankSet(var_r30, var_r31 + 0x12, var_r31); - HuSprPosSet(var_r30, var_r31 + 0x12, lbl_1_data_74C[var_r31][0], lbl_1_data_74C[var_r31][1] + 0x19); - } - } - break; - case 3: - HuSprAttrReset(var_r30, 1, 4); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r29 = GWPlayerCfg[var_r31].character; - var_r22 = GWPlayerCfg[var_r31].diff; - var_r29 = fn_1_1B42C(var_r29); - HuSprAttrReset(var_r30, var_r29 + 4, 4); - HuSprPosSet(var_r30, var_r29 + 4, lbl_1_data_75C[var_r31][0], lbl_1_data_75C[var_r31][1]); - if (GWPlayerCfg[var_r31].iscom != 0) { - HuSprAttrReset(var_r30, var_r31 + 0x16, 4); - HuSprBankSet(var_r30, var_r31 + 0x16, var_r22); - HuSprPosSet(var_r30, var_r31 + 0x16, lbl_1_data_75C[var_r31][0], lbl_1_data_75C[var_r31][1] + 0x19); - } - else { - HuSprAttrReset(var_r30, var_r31 + 0x12, 4); - HuSprBankSet(var_r30, var_r31 + 0x12, var_r31); - HuSprPosSet(var_r30, var_r31 + 0x12, lbl_1_data_75C[var_r31][0], lbl_1_data_75C[var_r31][1] + 0x19); - } - } - HuSprAttrReset(var_r30, 0x1A, 4); - break; - } - HuSprGrpPosSet(var_r30, 112.0f, -428.0f); -} - -void fn_1_1AEFC(s32 arg0) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_63C[2]; - for (var_r31 = 0; var_r31 < 0x1B; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - HuSprGrpPosSet(var_r30, 112.0f, -428.0f); -} - -void fn_1_1AF78(s32 arg0) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_63C[2]; - fn_1_1A5A4(arg0); - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - fn_1_1B7D0(1); - if (var_r31 <= 0x32) { - var_f31 = fn_1_1B64C(-500.0f, 10.0f, var_r31, 50.0f); - } - else { - var_f31 = fn_1_1B574(10.0f, 0.0f, var_r31 - 0x32, 10.0f); - } - HuSprGrpPosSet(var_r30, 112.0f, 72.0f + var_f31); - } - HuSprGrpPosSet(var_r30, 112.0f, 72.0f); -} - -void fn_1_1B0DC(s32 arg0) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r29 = lbl_1_bss_63C[2]; - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - fn_1_1B7D0(1); - if (var_r31 <= 0xA) { - var_f31 = fn_1_1B64C(0.0f, 10.0f, var_r31, 10.0f); - } - else { - var_f31 = fn_1_1B574(10.0f, -500.0f, var_r31 - 0xA, 50.0f); - } - HuSprGrpPosSet(var_r29, 112.0f, 72.0f + var_f31); - } - HuSprGrpPosSet(var_r29, 112.0f, -428.0f); - var_r28 = lbl_1_bss_63C[2]; - for (var_r30 = 0; var_r30 < 0x1B; var_r30++) { - HuSprAttrSet(var_r28, var_r30, 4); - } - HuSprGrpPosSet(var_r28, 112.0f, -428.0f); -} - -void fn_1_1B294(void) -{ - omObjData *var_r31; - - var_r31 = NULL; - var_r31 = omAddObjEx(lbl_1_bss_440, 0x1000, 8, 8, -1, NULL); - lbl_1_bss_5DC.unk_00 = var_r31; - lbl_1_bss_5DC.unk_04 = NULL; - while (TRUE) { - HuPrcVSleep(); - if (lbl_1_bss_5DC.unk_04 == NULL) { - continue; - } - lbl_1_bss_5DC.unk_04(lbl_1_bss_5DC.unk_00, &lbl_1_bss_5DC); - } -} - -void fn_1_1B338(void) -{ - s32 var_r31; - omObjData *var_r30; - - var_r31 = lbl_1_bss_448[0]; - lbl_1_bss_448[0] = var_r31 + 1; - var_r30 = NULL; - var_r30 = omAddObjEx(lbl_1_bss_440, 0x1000, 8, 8, -1, NULL); - lbl_1_bss_45C[var_r31].unk_00 = var_r30; - lbl_1_bss_45C[var_r31].unk_04 = NULL; - - while (TRUE) { - HuPrcVSleep(); - if (lbl_1_bss_45C[var_r31].unk_04 == NULL) { - continue; - } - lbl_1_bss_45C[var_r31].unk_04(lbl_1_bss_45C[var_r31].unk_00, &lbl_1_bss_45C[var_r31]); - } -} - -s32 fn_1_1B42C(s32 arg0) -{ - s32 var_r31; - - switch (arg0) { - case 9: - var_r31 = 8; - break; - case 10: - var_r31 = 9; - break; - case 11: - var_r31 = 0xA; - break; - case 12: - var_r31 = 0xB; - break; - case 13: - var_r31 = 0xC; - break; - case 8: - var_r31 = 0xD; - break; - default: - var_r31 = -1; - break; - } - return var_r31; -} - -s32 fn_1_1B4AC(s32 arg0) -{ - s32 var_r31; - - switch (arg0) { - case 8: - var_r31 = 9; - break; - case 9: - var_r31 = 0xA; - break; - case 10: - var_r31 = 0xB; - break; - case 11: - var_r31 = 0xC; - break; - case 12: - var_r31 = 0xD; - break; - case 13: - var_r31 = 8; - break; - default: - var_r31 = -1; - break; - } - return var_r31; -} - -float fn_1_1B52C(float arg8, float arg9, float argA, float argB) -{ - if (argB <= argA) { - return arg9; - } - return arg8 + ((argA / argB) * (arg9 - arg8)); -} - -float fn_1_1B554(float arg0, float arg1, float arg2) -{ - return (arg1 + (arg0 * (arg2 - 1.0f))) / arg2; -} - -float fn_1_1B574(float arg0, float arg1, float arg2, float arg3) -{ - if (arg2 >= arg3) { - return arg1; - } - return arg0 + ((arg1 - arg0) * (1.0 - cosd(((90.0f / arg3) * arg2)))); -} - -float fn_1_1B64C(float arg0, float arg1, float arg2, float arg3) -{ - if (arg2 >= arg3) { - return arg1; - } - return arg0 + ((arg1 - arg0) * sind(((90.0f / arg3) * arg2))); -} - -float fn_1_1B714(float arg8, float arg9, float argA, float argB) -{ - if (argA >= argB) { - return arg8; - } - return arg8 + ((arg9 - arg8) * sind(((360.0f / argB) * argA))); -} - -void fn_1_1B7D0(s32 arg0) -{ - if (arg0 <= 1) { - HuPrcVSleep(); - return; - } - HuPrcSleep(arg0); -} - -void fn_1_1B810(void) -{ - HuWinInit(1); -} - -void fn_1_1B834(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - if (lbl_1_data_77C == -1) { - var_r31 = 0x1C9; - var_r30 = 0x44; - var_r29 = 1.0f + ((576.0f - var_r31) / 2); - var_r28 = 445.0f - var_r30; - lbl_1_data_77C = HuWinExCreateStyled(var_r29, var_r28, var_r31, var_r30, -1, 1); - winData[lbl_1_data_77C].active_pad = 1; - HuWinMesPalSet(lbl_1_data_77C, 7, 0, 0, 0); - HuWinExAnimIn(lbl_1_data_77C); - } -} - -void fn_1_1B9F4(void) -{ - if (lbl_1_data_77C != -1) { - HuWinMesSet(lbl_1_data_77C, 0x250004); - HuWinExAnimOut(lbl_1_data_77C); - HuWinExCleanup(lbl_1_data_77C); - lbl_1_data_77C = -1; - } -} - -void fn_1_1BA78(u32 arg0, s32 arg1, s32 arg2) -{ - if (lbl_1_data_77C != -1) { - if (arg2 == 1) { - HuWinMesSpeedSet(lbl_1_data_77C, 0); - } - else { - HuWinMesSpeedSet(lbl_1_data_77C, 1); - } - HuWinMesSet(lbl_1_data_77C, arg0); - if (arg1 <= 0) { - HuWinMesWait(lbl_1_data_77C); - return; - } - if (arg1 <= 1) { - HuPrcVSleep(); - return; - } - HuPrcSleep(arg1); - } -} - -void fn_1_1BB4C(u32 arg0, s32 arg1) -{ - if (lbl_1_data_77C != -1) { - HuWinInsertMesSet(lbl_1_data_77C, arg0, arg1); - } -} - -s32 fn_1_1BBA4(s32 arg0) -{ - float spC[2]; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - - HuWinMesMaxSizeGet(1, spC, 0x1E0035); - var_r30 = spC[0]; - var_r29 = spC[1]; - var_r27 = 0x22C - var_r30; - var_r26 = 0x1BD - var_r29; - var_r31 = HuWinExCreateStyled(var_r27, var_r26, var_r30, var_r29, -1, 1); - winData[var_r31].active_pad = 1; - HuWinMesPalSet(var_r31, 7, 0, 0, 0); - HuWinExAnimIn(var_r31); - HuWinMesSpeedSet(var_r31, 0); - HuWinMesSet(var_r31, 0x1E0035); - var_r28 = HuWinChoiceGet(var_r31, arg0); - HuWinMesSet(var_r31, 0x250004); - HuWinExAnimOut(var_r31); - HuWinExCleanup(var_r31); - return var_r28; -} - -void fn_1_1BD00(u32 arg0, s32 arg1) -{ - float spC[2]; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - HuWinMesMaxSizeGet(1, spC, arg0); - var_r29 = spC[0]; - var_r31 = spC[1]; - var_r28 = (0x240 - var_r29) / 2.0f; - if (arg1 == 1) { - var_r30 = 0x1BD - var_r31; - } - else { - var_r30 = 0x181 - var_r31; - } - if (lbl_1_data_780[0] != -1) { - fn_1_1C120(); - lbl_1_data_780[0] = HuWinExCreateStyled(var_r28, var_r30, var_r29, var_r31, -1, 1); - } - else { - lbl_1_data_780[0] = HuWinExCreateStyled(var_r28, var_r30, var_r29, var_r31, -1, 1); - } - HuWinBGTPLvlSet(lbl_1_data_780[0], 0.0f); - HuWinDispOn(lbl_1_data_780[0]); - HuWinMesSet(lbl_1_data_780[0], arg0); - HuWinMesSpeedSet(lbl_1_data_780[0], 0); -} - -void fn_1_1BF1C(u32 arg0) -{ - float sp8[2]; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - HuWinMesMaxSizeGet(1, sp8, arg0); - var_r30 = sp8[0]; - var_r31 = sp8[1]; - var_r28 = (0x240 - var_r30) / 2.0f; - var_r29 = 0x181 - var_r31; - if (lbl_1_data_780[0] != -1) { - fn_1_1C120(); - lbl_1_data_780[0] = HuWinExCreateStyled(var_r28, var_r29, var_r30, var_r31, -1, 1); - } - else { - lbl_1_data_780[0] = HuWinExCreateStyled(var_r28, var_r29, var_r30, var_r31, -1, 1); - } - HuWinBGTPLvlSet(lbl_1_data_780[0], 0.0f); - HuWinDispOn(lbl_1_data_780[0]); - HuWinMesSet(lbl_1_data_780[0], arg0); - HuWinMesSpeedSet(lbl_1_data_780[0], 0); -} - -void fn_1_1C120(void) -{ - if (lbl_1_data_780[0] != -1) { - HuWinExCleanup(lbl_1_data_780[0]); - lbl_1_data_780[0] = -1; - } -} - -void fn_1_1C174(void) -{ - s32 var_r30; - s32 var_r31; - - var_r30 = lbl_1_bss_63C[1]; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_08 == 1) { - HuSprBankSet(var_r30, lbl_1_bss_45C[var_r31].unk_5C + 2, 1); - HuSprBankSet(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x1E, 1); - HuSprBankSet(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x22, 1); - HuSprAttrReset(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x1E, 4); - HuSprAttrReset(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x22, 4); - HuSprPosSet(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x1E, lbl_1_data_5E4[lbl_1_bss_45C[var_r31].unk_5C % 4][0], - lbl_1_data_5E4[(lbl_1_bss_45C[var_r31].unk_5C / 4) * 4][1]); - HuSprPosSet(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x22, lbl_1_data_5E4[lbl_1_bss_45C[var_r31].unk_5C % 4][0], - lbl_1_data_5E4[(lbl_1_bss_45C[var_r31].unk_5C / 4) * 4][1]); - } - else { - lbl_1_bss_45C[var_r31].unk_5C = 0; - } - } -} - -void fn_1_1C478(void) -{ - s32 var_r30; - s32 var_r31; - - var_r30 = lbl_1_bss_63C[1]; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_08 == 1) { - HuSprBankSet(var_r30, lbl_1_bss_45C[var_r31].unk_5C + 2, 1); - HuSprBankSet(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x1E, 1); - HuSprBankSet(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x22, 1); - HuSprAttrReset(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x1E, 4); - HuSprAttrReset(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x22, 4); - HuSprPosSet(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x1E, lbl_1_data_5E4[lbl_1_bss_45C[var_r31].unk_5C % 4][0], - lbl_1_data_5E4[(lbl_1_bss_45C[var_r31].unk_5C / 4) * 4][1]); - HuSprPosSet(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x22, lbl_1_data_5E4[lbl_1_bss_45C[var_r31].unk_5C % 4][0], - lbl_1_data_5E4[(lbl_1_bss_45C[var_r31].unk_5C / 4) * 4][1]); - } - else { - lbl_1_bss_45C[var_r31].unk_5C = 0; - } - } -} - -void fn_1_1C77C(void) -{ - s32 var_r29; - s32 var_r30; - s32 var_r31; - - var_r30 = lbl_1_bss_63C[1]; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_45C[var_r31].unk_08 == 1) { - if (lbl_1_bss_45C[var_r31].unk_5C <= 5) { - var_r29 = lbl_1_bss_45C[var_r31].unk_5C - 1; - } - else if (lbl_1_bss_45C[var_r31].unk_5C <= 0xB) { - var_r29 = lbl_1_bss_45C[var_r31].unk_5C - 3; - } - else { - var_r29 = lbl_1_bss_45C[var_r31].unk_5C - 4; - } - HuSprBankSet(var_r30, var_r29 + 2, 1); - HuSprBankSet(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x1E, 1); - HuSprBankSet(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x22, 1); - HuSprAttrReset(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x1E, 4); - HuSprAttrReset(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x22, 4); - HuSprPosSet(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x1E, lbl_1_data_694[lbl_1_bss_45C[var_r31].unk_5C][0], - lbl_1_data_694[lbl_1_bss_45C[var_r31].unk_5C][1]); - HuSprPosSet(var_r30, lbl_1_bss_45C[var_r31].unk_48 + 0x22, lbl_1_data_694[lbl_1_bss_45C[var_r31].unk_5C][0], - lbl_1_data_694[lbl_1_bss_45C[var_r31].unk_5C][1]); - } - else { - lbl_1_bss_45C[var_r31].unk_5C = 1; - } - } -} - -void fn_1_1CABC(s32 arg0) -{ - s32 sp8[] = { 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x39, 0x40, 0x4B, 0x46, 0x3E, 0x3A }; - - if ((arg0 < 0) || (arg0 > 0xD)) { - return; - } - HuAudFXPlay(sp8[arg0]); -} diff --git a/src/REL/mpexDll/main.c b/src/REL/mpexDll/main.c deleted file mode 100644 index a613e729..00000000 --- a/src/REL/mpexDll/main.c +++ /dev/null @@ -1,508 +0,0 @@ -#include "ext_math.h" -#include "game/armem.h" -#include "game/audio.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/wipe.h" - -#include "REL/mpexDll.h" - -#ifndef __MWERKS__ -float fn_1_1B52C(float arg8, float arg9, float argA, float argB); -float fn_1_1B554(float, float, float); -float fn_1_1B574(float arg0, float arg1, float arg2, float arg3); -float fn_1_1B64C(float arg0, float arg1, float arg2, float arg3); -#endif - -void fn_1_230(); -void fn_1_A70(MpexDllUnkStruct *arg0); - -MpexDllUnkStruct lbl_1_bss_64; -s32 lbl_1_bss_4[0x18]; -Process *lbl_1_bss_0; - -void fn_1_A0(void) -{ - if (HuPadBtnDown[0] & PAD_BUTTON_Y) { - OSReport("\n###################################################################### HEAP\n\n"); - HuMemHeapDump(HuMemHeapPtrGet(HEAP_SYSTEM), -1); - OSReport("\n###################################################################### SOUND\n\n"); - HuMemHeapDump(HuMemHeapPtrGet(HEAP_MUSIC), -1); - OSReport("\n###################################################################### MODEL\n\n"); - HuMemHeapDump(HuMemHeapPtrGet(HEAP_DATA), -1); - OSReport("\n###################################################################### DVD\n\n"); - HuMemHeapDump(HuMemHeapPtrGet(HEAP_DVD), -1); - OSReport("\n###################################################################### SPACE\n\n"); - HuMemHeapDump(HuMemHeapPtrGet(HEAP_MISC), -1); - OSReport("\n###################################################################### ARAM\n\n"); - HuAMemDump(); - } -} - -void fn_1_188(omObjData *object) -{ - if (WipeStatGet() == 0) { - omOvlReturnEx(1, 1); - } -} - -void fn_1_1C0(omObjData *object) -{ - if (omSysExitReq != 0) { - HuAudFadeOut(0x3E8); - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - object->func = fn_1_188; - } -} - -void ObjectSetup(void) -{ - mgPracticeEnableF = 0; - lbl_1_bss_0 = omInitObjMan(0x3E, 0x2000); - GWSystem.mg_next = 0xFFFF; - fn_1_3044(lbl_1_bss_0); -} - -void fn_1_298(void) -{ - s32 var_r31; - - var_r31 = -1; - var_r31 = Hu3DGLightCreate(0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0xFF, 0xFF, 0xFF); - Hu3DGLightPosAimSet(var_r31, 0.0f, 1000.0f, 1000.0f, 0.0f, 0.0f, 0.0f); - Hu3DGLightInfinitytSet(var_r31); -} - -void fn_1_374(void) -{ - Vec sp20 = { 0.0f, 3000.0f, 3000.0f }; - Vec sp14 = { 0.0f, 0.0f, 0.0f }; - Vec sp8 = { 0.0f, 1.0f, 0.0f }; - - Hu3DShadowCreate(45.0f, 2000.0f, 25000.0f); - Hu3DShadowPosSet(&sp20, &sp8, &sp14); - Hu3DShadowTPLvlSet(0.8f); -} - -void fn_1_438(void) -{ - MpexDllUnkStruct *var_r31 = &lbl_1_bss_64; - - if (HuPadBtn[0] & PAD_BUTTON_B) { - if (HuPadBtn[0] & 0x20) { - var_r31->unk_08.z -= (HuPadStkY[0] / 10.0f); - } - else { - var_r31->unk_08.x += HuPadStkX[0] / 10.0f; - var_r31->unk_08.y += (HuPadStkY[0] / 10.0f); - } - } - if (HuPadBtn[0] & PAD_BUTTON_Y) { - var_r31->unk_20.x -= HuPadStkY[0] / 100.0f; - var_r31->unk_20.y += (HuPadStkX[0] / 100.0f); - if (var_r31->unk_20.x < 0.0f) { - var_r31->unk_20.x += 360.0f; - } - if (var_r31->unk_20.x >= 360.0f) { - var_r31->unk_20.x -= 360.0f; - } - if (var_r31->unk_20.y < 0.0f) { - var_r31->unk_20.y += 360.0f; - } - if (var_r31->unk_20.y >= 360.0f) { - var_r31->unk_20.y -= 360.0f; - } - } - if (HuPadBtn[0] & PAD_BUTTON_X) { - var_r31->unk_38 -= (HuPadStkY[0] / 10.0f); - } - print8(0x18, 0x28, 1.0f, ">>>>>>>>>> CAMERA DATA <<<<<<<<<<"); - print8(0x18, 0x32, 1.0f, "CENTER : %.2f, %.2f, %.2f", var_r31->unk_08.x, var_r31->unk_08.y, var_r31->unk_08.z); - print8(0x18, 0x3C, 1.0f, "ROT : %.2f, %.2f, %.2f", var_r31->unk_20.x, var_r31->unk_20.y, var_r31->unk_20.z); - print8(0x18, 0x46, 1.0f, "ZOOM : %.2f", var_r31->unk_38); -} - -void fn_1_81C(omObjData *object) -{ - MpexDllUnkStruct *var_r31 = &lbl_1_bss_64; - if (var_r31->unk_00 != NULL) { - var_r31->unk_00(); - } - Center.x = var_r31->unk_08.x; - Center.y = var_r31->unk_08.y; - Center.z = var_r31->unk_08.z; - CRot.x = var_r31->unk_20.x; - CRot.y = var_r31->unk_20.y; - CRot.z = var_r31->unk_20.z; - CZoom = var_r31->unk_38; -} - -void fn_1_8D4(MpexDllUnkFunc arg0) -{ - lbl_1_bss_64.unk_00 = arg0; - fn_1_A70(&lbl_1_bss_64); -} - -void fn_1_910(MpexDllUnkFunc arg0) -{ - Hu3DCameraCreate(1); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraPerspectiveSet(1, 45.0f, 20.0f, 5000.0f, 1.2f); - lbl_1_bss_64.unk_00 = arg0; - lbl_1_bss_64.unk_04 = fn_1_438; - omAddObjEx(lbl_1_bss_0, 0x7FDA, 0, 0, -1, omOutView); - omAddObjEx(lbl_1_bss_0, 0x7FD9, 0, 0, -1, fn_1_81C); -} - -void fn_1_A34(MpexDllUnkStruct *arg0) -{ - arg0->unk_08.x = arg0->unk_14.x; - arg0->unk_08.y = arg0->unk_14.y; - arg0->unk_08.z = arg0->unk_14.z; - arg0->unk_20.x = arg0->unk_2C.x; - arg0->unk_20.y = arg0->unk_2C.y; - arg0->unk_20.z = arg0->unk_2C.z; - arg0->unk_38 = arg0->unk_3C; -} - -void fn_1_A70(MpexDllUnkStruct *arg0) -{ - arg0->unk_40 = 0; - arg0->unk_14.x = arg0->unk_08.x; - arg0->unk_14.y = arg0->unk_08.y; - arg0->unk_14.z = arg0->unk_08.z; - arg0->unk_2C.x = arg0->unk_20.x; - arg0->unk_2C.y = arg0->unk_20.y; - arg0->unk_2C.z = arg0->unk_20.z; - arg0->unk_3C = arg0->unk_38; -} - -void fn_1_AB4(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8) -{ - arg0->unk_08.x = fn_1_1B554(arg0->unk_08.x, arg1->unk_14.x, arg8); - arg0->unk_08.y = fn_1_1B554(arg0->unk_08.y, arg1->unk_14.y, arg8); - arg0->unk_08.z = fn_1_1B554(arg0->unk_08.z, arg1->unk_14.z, arg8); - arg0->unk_20.x = fn_1_1B554(arg0->unk_20.x, arg1->unk_2C.x, arg8); - arg0->unk_20.y = fn_1_1B554(arg0->unk_20.y, arg1->unk_2C.y, arg8); - arg0->unk_20.z = fn_1_1B554(arg0->unk_20.z, arg1->unk_2C.z, arg8); - arg0->unk_38 = fn_1_1B554(arg0->unk_38, arg1->unk_3C, arg8); -} - -void fn_1_C84(MpexDllUnkStruct *arg0, float arg8, float argB) -{ - arg0->unk_08.x = fn_1_1B554(arg0->unk_08.x, arg0->unk_14.x, arg8); - arg0->unk_08.y = fn_1_1B554(arg0->unk_08.y, arg0->unk_14.y, arg8); - arg0->unk_08.z = fn_1_1B554(arg0->unk_08.z, arg0->unk_14.z, arg8); - arg0->unk_20.x = fn_1_1B554(arg0->unk_20.x, arg0->unk_2C.x, arg8); - arg0->unk_20.y = fn_1_1B554(arg0->unk_20.y, arg0->unk_2C.y, arg8); - arg0->unk_20.z = fn_1_1B554(arg0->unk_20.z, arg0->unk_2C.z, arg8); - arg0->unk_38 = fn_1_1B554(arg0->unk_38, arg0->unk_3C, arg8); -} - -void fn_1_E48(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argC) -{ - arg1->unk_14.x = fn_1_1B52C(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9); - arg1->unk_14.y = fn_1_1B52C(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9); - arg1->unk_14.z = fn_1_1B52C(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9); - arg1->unk_2C.x = fn_1_1B52C(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9); - arg1->unk_2C.y = fn_1_1B52C(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9); - arg1->unk_2C.z = fn_1_1B52C(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9); - arg1->unk_3C = fn_1_1B52C(arg0->unk_3C, arg1->unk_38, arg8, arg9); -} - -void fn_1_1048(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argC) -{ - arg1->unk_14.x = fn_1_1B52C(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9); - arg1->unk_14.y = fn_1_1B52C(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9); - arg1->unk_14.z = fn_1_1B52C(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9); - arg1->unk_2C.x = fn_1_1B52C(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9); - arg1->unk_2C.y = fn_1_1B52C(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9); - arg1->unk_2C.z = fn_1_1B52C(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9); - arg1->unk_3C = fn_1_1B52C(arg0->unk_3C, arg1->unk_38, arg8, arg9); - arg0->unk_08.x = arg1->unk_14.x; - arg0->unk_08.y = arg1->unk_14.y; - arg0->unk_08.z = arg1->unk_14.z; - arg0->unk_20.x = arg1->unk_2C.x; - arg0->unk_20.y = arg1->unk_2C.y; - arg0->unk_20.z = arg1->unk_2C.z; - arg0->unk_38 = arg1->unk_3C; -} - -void fn_1_1280(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argA, float argC) -{ - arg1->unk_14.x = fn_1_1B52C(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9); - arg1->unk_14.y = fn_1_1B52C(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9); - arg1->unk_14.z = fn_1_1B52C(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9); - arg1->unk_2C.x = fn_1_1B52C(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9); - arg1->unk_2C.y = fn_1_1B52C(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9); - arg1->unk_2C.z = fn_1_1B52C(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9); - arg1->unk_3C = fn_1_1B52C(arg0->unk_3C, arg1->unk_38, arg8, arg9); - arg0->unk_08.x = fn_1_1B554(arg0->unk_08.x, arg1->unk_14.x, argA); - arg0->unk_08.y = fn_1_1B554(arg0->unk_08.y, arg1->unk_14.y, argA); - arg0->unk_08.z = fn_1_1B554(arg0->unk_08.z, arg1->unk_14.z, argA); - arg0->unk_20.x = fn_1_1B554(arg0->unk_20.x, arg1->unk_2C.x, argA); - arg0->unk_20.y = fn_1_1B554(arg0->unk_20.y, arg1->unk_2C.y, argA); - arg0->unk_20.z = fn_1_1B554(arg0->unk_20.z, arg1->unk_2C.z, argA); - arg0->unk_38 = fn_1_1B554(arg0->unk_38, arg1->unk_3C, argA); -} - -void fn_1_161C(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argC) -{ - arg1->unk_14.x = fn_1_1B64C(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9); - arg1->unk_14.y = fn_1_1B64C(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9); - arg1->unk_14.z = fn_1_1B64C(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9); - arg1->unk_2C.x = fn_1_1B64C(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9); - arg1->unk_2C.y = fn_1_1B64C(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9); - arg1->unk_2C.z = fn_1_1B64C(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9); - arg1->unk_3C = fn_1_1B64C(arg0->unk_3C, arg1->unk_38, arg8, arg9); -} - -void fn_1_181C(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argC) -{ - arg1->unk_14.x = fn_1_1B64C(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9); - arg1->unk_14.y = fn_1_1B64C(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9); - arg1->unk_14.z = fn_1_1B64C(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9); - arg1->unk_2C.x = fn_1_1B64C(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9); - arg1->unk_2C.y = fn_1_1B64C(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9); - arg1->unk_2C.z = fn_1_1B64C(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9); - arg1->unk_3C = fn_1_1B64C(arg0->unk_3C, arg1->unk_38, arg8, arg9); - arg0->unk_08.x = arg1->unk_14.x; - arg0->unk_08.y = arg1->unk_14.y; - arg0->unk_08.z = arg1->unk_14.z; - arg0->unk_20.x = arg1->unk_2C.x; - arg0->unk_20.y = arg1->unk_2C.y; - arg0->unk_20.z = arg1->unk_2C.z; - arg0->unk_38 = arg1->unk_3C; -} - -void fn_1_1A54(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argA, float argC) -{ - arg1->unk_14.x = fn_1_1B64C(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9); - arg1->unk_14.y = fn_1_1B64C(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9); - arg1->unk_14.z = fn_1_1B64C(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9); - arg1->unk_2C.x = fn_1_1B64C(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9); - arg1->unk_2C.y = fn_1_1B64C(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9); - arg1->unk_2C.z = fn_1_1B64C(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9); - arg1->unk_3C = fn_1_1B64C(arg0->unk_3C, arg1->unk_38, arg8, arg9); - arg0->unk_08.x = fn_1_1B554(arg0->unk_08.x, arg1->unk_14.x, argA); - arg0->unk_08.y = fn_1_1B554(arg0->unk_08.y, arg1->unk_14.y, argA); - arg0->unk_08.z = fn_1_1B554(arg0->unk_08.z, arg1->unk_14.z, argA); - arg0->unk_20.x = fn_1_1B554(arg0->unk_20.x, arg1->unk_2C.x, argA); - arg0->unk_20.y = fn_1_1B554(arg0->unk_20.y, arg1->unk_2C.y, argA); - arg0->unk_20.z = fn_1_1B554(arg0->unk_20.z, arg1->unk_2C.z, argA); - arg0->unk_38 = fn_1_1B554(arg0->unk_38, arg1->unk_3C, argA); -} - -void fn_1_1DF0(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argC) -{ - arg1->unk_14.x = fn_1_1B574(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9); - arg1->unk_14.y = fn_1_1B574(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9); - arg1->unk_14.z = fn_1_1B574(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9); - arg1->unk_2C.x = fn_1_1B574(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9); - arg1->unk_2C.y = fn_1_1B574(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9); - arg1->unk_2C.z = fn_1_1B574(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9); - arg1->unk_3C = fn_1_1B574(arg0->unk_3C, arg1->unk_38, arg8, arg9); -} - -void fn_1_1FF0(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argC) -{ - arg1->unk_14.x = fn_1_1B574(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9); - arg1->unk_14.y = fn_1_1B574(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9); - arg1->unk_14.z = fn_1_1B574(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9); - arg1->unk_2C.x = fn_1_1B574(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9); - arg1->unk_2C.y = fn_1_1B574(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9); - arg1->unk_2C.z = fn_1_1B574(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9); - arg1->unk_3C = fn_1_1B574(arg0->unk_3C, arg1->unk_38, arg8, arg9); - arg0->unk_08.x = arg1->unk_14.x; - arg0->unk_08.y = arg1->unk_14.y; - arg0->unk_08.z = arg1->unk_14.z; - arg0->unk_20.x = arg1->unk_2C.x; - arg0->unk_20.y = arg1->unk_2C.y; - arg0->unk_20.z = arg1->unk_2C.z; - arg0->unk_38 = arg1->unk_3C; -} - -void fn_1_2228(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argA, float argC) -{ - arg1->unk_14.x = fn_1_1B574(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9); - arg1->unk_14.y = fn_1_1B574(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9); - arg1->unk_14.z = fn_1_1B574(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9); - arg1->unk_2C.x = fn_1_1B574(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9); - arg1->unk_2C.y = fn_1_1B574(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9); - arg1->unk_2C.z = fn_1_1B574(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9); - arg1->unk_3C = fn_1_1B574(arg0->unk_3C, arg1->unk_38, arg8, arg9); - arg0->unk_08.x = fn_1_1B554(arg0->unk_08.x, arg1->unk_14.x, argA); - arg0->unk_08.y = fn_1_1B554(arg0->unk_08.y, arg1->unk_14.y, argA); - arg0->unk_08.z = fn_1_1B554(arg0->unk_08.z, arg1->unk_14.z, argA); - arg0->unk_20.x = fn_1_1B554(arg0->unk_20.x, arg1->unk_2C.x, argA); - arg0->unk_20.y = fn_1_1B554(arg0->unk_20.y, arg1->unk_2C.y, argA); - arg0->unk_20.z = fn_1_1B554(arg0->unk_20.z, arg1->unk_2C.z, argA); - arg0->unk_38 = fn_1_1B554(arg0->unk_38, arg1->unk_3C, argA); -} - -void fn_1_25C4(omObjData *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) -{ - switch (arg4) { - case 0: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0); - break; - case 1: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000001); - break; - case 2: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000002); - break; - } -} - -void fn_1_273C(omObjData *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) -{ - if (arg0->work[3] != arg0->motion[arg2]) { - arg0->work[3] = arg0->motion[arg2]; - switch (arg4) { - case 0: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0); - break; - case 1: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000001); - break; - case 2: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000002); - break; - } - } -} - -void fn_1_28DC(void) { } - -void fn_1_28E0(omObjData *arg0, s32 arg1, Vec arg2, float arg8, float arg9, float argA, s32 arg3, s32 arg4) -{ - Vec sp4C; - Vec sp40; - Vec sp34; - Vec sp28; - Vec sp1C; - Vec sp10; - - s32 var_r29 = 0; - s32 var_r28 = 0; - s32 var_r26; - - sp40.x = Hu3DData[arg0->model[arg1]].pos.x; - sp40.y = Hu3DData[arg0->model[arg1]].pos.y; - sp40.z = Hu3DData[arg0->model[arg1]].pos.z; - - sp34.x = arg2.x; - sp34.y = arg2.y; - sp34.z = arg2.z; - - sp1C.x = Hu3DData[arg0->model[arg1]].rot.x; - sp1C.y = Hu3DData[arg0->model[arg1]].rot.y; - sp1C.z = Hu3DData[arg0->model[arg1]].rot.z; - - sp10.x = 0.0f; - sp10.y = arg8; - sp10.z = 0.0f; - - if ((sp34.x - sp40.x) >= 0.0f) { - var_r29 = 1; - } - else { - var_r29 = 0; - } - if ((sp34.z - sp40.z) >= 0.0f) { - var_r28 = 1; - } - else { - var_r28 = 0; - } - while (arg3 != 0) { - fn_1_1B7D0(1); - sp28.y = -((atan2d(sp34.z - sp40.z, sp34.x - sp40.x)) - 90.0); - if (sp28.y < 0.0f) { - sp28.y += 360.0f; - } - else if (sp28.y >= 360.0f) { - sp28.y -= 360.0f; - } - if (arg4 != 0) { - if (sp28.y >= 180.0f) { - if ((sp1C.y - sp28.y) >= 180.0f) { - sp1C.y -= 360.0f; - } - if ((sp1C.y - sp28.y) < -180.0f) { - sp1C.y += 360.0f; - } - } - else { - if ((sp1C.y - sp28.y) > 180.0f) { - sp1C.y -= 360.0f; - } - if ((sp1C.y - sp28.y) <= -180.0f) { - sp1C.y += 360.0f; - } - } - } - sp4C.x = (sp40.x += (arg9 * sind(sp28.y))); - sp4C.z = (sp40.z += (arg9 * cosd(sp28.y))); - if (var_r29 == 1) { - if (sp40.x >= sp34.x) { - sp4C.x = sp40.x = sp34.x; - var_r29 = 2; - } - } - else if ((var_r29 == 0) && (sp40.x <= sp34.x)) { - sp4C.x = sp40.x = sp34.x; - var_r29 = 2; - } - if (var_r28 == 1) { - if (sp40.z >= sp34.z) { - sp4C.z = sp40.z = sp34.z; - var_r28 = 2; - } - } - else if ((var_r28 == 0) && (sp40.z <= sp34.z)) { - sp4C.z = sp40.z = sp34.z; - var_r28 = 2; - } - if (arg4 != 0) { - sp1C.y = fn_1_1B554(sp1C.y, sp28.y, argA); - } - Hu3DModelPosSet(arg0->model[arg1], sp4C.x, sp40.y, sp4C.z); - Hu3DModelRotSet(arg0->model[arg1], sp1C.x, sp1C.y, sp1C.z); - - if (var_r29 == 2 && var_r28 == 2) { - break; - } - }; - - sp1C.y = Hu3DData[arg0->model[arg1]].rot.y; - if (arg4 != 0) { - for (var_r26 = 0; var_r26 <= argA; var_r26++) { - fn_1_1B7D0(1); - if (sp10.y >= 180.0f) { - if ((sp1C.y - sp10.y) >= 180.0f) { - sp1C.y -= 360.0f; - } - if ((sp1C.y - sp10.y) < -180.0f) { - sp1C.y += 360.0f; - } - } - else { - if ((sp1C.y - sp10.y) > 180.0f) { - sp1C.y -= 360.0f; - } - if ((sp1C.y - sp10.y) <= -180.0f) { - sp1C.y += 360.0f; - } - } - sp10.z = fn_1_1B52C(sp1C.y, sp10.y, var_r26, argA); - Hu3DModelRotSet(arg0->model[arg1], sp1C.x, sp10.z, sp1C.z); - } - } -} diff --git a/src/REL/mpexDll/mgname.c b/src/REL/mpexDll/mgname.c deleted file mode 100644 index 0ead0fe8..00000000 --- a/src/REL/mpexDll/mgname.c +++ /dev/null @@ -1,379 +0,0 @@ -#include "ext_math.h" -#include "game/armem.h" -#include "game/audio.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - -#include "REL/mpexDll.h" - -#define FONT_CHAR_MAX 100 - -static s32 FontCharFile[0xC6] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0x140025, - 0x140026, - 0x140027, - 0x140028, - 0x140029, - 0x14002A, - 0x14002B, - 0x14002C, - 0x14002D, - 0x14002E, - 0x140025, - 0x140025, - 0x140025, - 0x14002F, - 0x140025, - 0x140025, - 0x140025, - 0x140034, - 0x140035, - 0x140036, - 0x140037, - 0x140038, - 0x140039, - 0x14003A, - 0x14003B, - 0x14003C, - 0x14003D, - 0x14003E, - 0x14003F, - 0x140040, - 0x140041, - 0x140042, - 0x140043, - 0x140044, - 0x140045, - 0x140046, - 0x140047, - 0x140048, - 0x140049, - 0x14004A, - 0x14004B, - 0x14004C, - 0x14004D, - 0x140042, - 0x140032, - 0x140042, - 0x140042, - 0x140042, - 0x140042, - 0x14004E, - 0x14004F, - 0x140050, - 0x140051, - 0x140052, - 0x140053, - 0x140054, - 0x140055, - 0x140056, - 0x140057, - 0x140058, - 0x140059, - 0x14005A, - 0x14005B, - 0x14005C, - 0x14005D, - 0x14005E, - 0x14005F, - 0x140060, - 0x140061, - 0x140062, - 0x140063, - 0x140064, - 0x140065, - 0x140066, - 0x140067, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x14002F, - 0x140033, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140025, - 0x140030, - 0x140031, - 0x140025, - 0x140025, -}; - -s32 fn_1_1CB80(SeqWork *arg0, char *arg1, s16 arg2) -{ - char *str; - s16 len; - s16 *posY; - s16 charNum; - s32 *fileTbl; - s16 i; - s16 grpNo; - s32 file; - s16 *posX; - AnimData **animP; - s16 gid; - s16 sprid; - - fileTbl = FontCharFile; - - for (grpNo = 0; grpNo < 0x10; grpNo++) { - if (arg0->spr_grp[grpNo] == -1) { - break; - } - } - if (grpNo == 0x10) { - return -1; - } - animP = HuMemDirectMalloc(HEAP_SYSTEM, (FONT_CHAR_MAX * sizeof(AnimData*))); - posX = HuMemDirectMalloc(HEAP_SYSTEM, FONT_CHAR_MAX * sizeof(*posX)); - posY = HuMemDirectMalloc(HEAP_SYSTEM, FONT_CHAR_MAX * sizeof(*posY)); - - for (str = arg1, len = 0, charNum = 0; str[0] != 0; str++) { - if (str[0] == 0x20 || str[0] == 0x10) { - len += 0xE; - } - else if (str[0] < 0x30 || str[0] == 0x80 || str[0] == 0x81) { - continue; - } - else { - if (str[1] == 0x80) { - if ((str[0] >= 0x96) && (str[0] <= 0xA4)) { - file = fileTbl[str[0] + 0x6A]; - } - else if ((str[0] >= 0xAA) && (str[0] <= 0xAE)) { - file = fileTbl[str[0] + 0x65]; - } - else if ((str[0] >= 0xD6) && (str[0] <= 0xE4)) { - file = fileTbl[str[0] + 0x43]; - } - else if ((str[0] >= 0xEA) && (str[0] <= 0xEE)) { - file = fileTbl[str[0] + 0x3E]; - } - } - else if (str[1] == 0x81) { - if ((str[0] >= 0xAA) && (str[0] <= 0xAE)) { - file = fileTbl[str[0] + 0x6A]; - } - else if ((str[0] >= 0xEA) && (str[0] <= 0xEE)) { - file = fileTbl[str[0] + 0x43]; - } - } - else { - file = fileTbl[str[0]]; - } - animP[charNum] = HuSprAnimReadFile(file); - posX[charNum] = len; - if ((str[0] >= 0x61) && (str[0] <= 0x7A)) { - posY[charNum] = 2; - len += 0x12; - } - else if ((str[0] == 0xC2) || (str[0] == 0xC3)) { - posY[charNum] = 0; - len += 0x12; - } - else if (str[0] == 0x5C) { - posY[charNum] = 0; - len += 8; - } - else if ((str[0] >= 0x87) && (str[0] <= 0x8F)) { - posY[charNum] = 4; - len += 0x18; - } - else if ((str[0] >= 0xC7) && (str[0] <= 0xCF)) { - posY[charNum] = 4; - len += 0x18; - } - else if ((str[0] == 0x3D) || (str[0] == 0x84)) { - posY[charNum] = 0; - len += 0x14; - } - else { - posY[charNum] = 0; - len += 0x1C; - } - charNum++; - } - } - gid = HuSprGrpCreate(charNum); - arg0->spr_grp[grpNo] = gid; - arg0->alt_word_len = len; - len = (len / 2) - 0xE; - for (i = 0; i < charNum; i++) { - sprid = HuSprCreate(animP[i], 0, 0); - HuSprGrpMemberSet(gid, i, sprid); - HuSprPosSet(gid, i, posX[i] - len, posY[i]); - } - - arg0->word_len = charNum; - HuMemDirectFree(animP); - HuMemDirectFree(posX); - HuMemDirectFree(posY); - return gid; -} - -s32 fn_1_1D02C(s32 arg0) -{ - SeqWork sp10; - s16 spC[2]; - char *var_r31; - s32 var_r30; - s16 var_r29; - char *var_r28; - s32 var_r27; - s32 var_r26; - s16 var_r25; - - var_r25 = GWGameStat.language; - lbl_1_bss_6AC = var_r25; - for (var_r30 = 0; var_r30 < 0x10; var_r30++) { - sp10.sprite[var_r30] = sp10.spr_grp[var_r30] = -1; - } - var_r28 = MessData_MesPtrGet(messDataPtr, arg0); - var_r31 = var_r28; - var_r30 = 0; - var_r29 = 0; - - while (TRUE) { - if (var_r31[0] == 0 || var_r31[0] == 0xA) { - if (var_r31[0] == 0) { - var_r30 = 1; - } - var_r31[0] = 0; - if (lbl_1_bss_6AC == 0) { - var_r27 = 1; - } - else { - var_r27 = 0; - } - var_r26 = fn_1_1CB80(&sp10, var_r28, var_r27); - HuSprGrpPosSet(sp10.spr_grp[var_r29], 288.0f, 240.0f); - spC[var_r29] = sp10.alt_word_len; - var_r29++; - if (var_r30 == 0) { - var_r28 = var_r31 + 1; - } - else { - break; - } - } - var_r31++; - } - return var_r26; -} diff --git a/src/REL/mpexDll/mpex.c b/src/REL/mpexDll/mpex.c deleted file mode 100644 index 31a7359e..00000000 --- a/src/REL/mpexDll/mpex.c +++ /dev/null @@ -1,3544 +0,0 @@ -#include "ext_math.h" -#include "game/board/main.h" -#include "game/chrman.h" -#include "game/esprite.h" -#include "game/gamework.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/saveload.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" -#include "string.h" - -#ifndef __MWERKS__ -#include "game/hsfex.h" -#include "stdio.h" -#endif - -#include "REL/mpexDll.h" - -typedef void (*MpexDllUnkFunc2)(omObjData *, ...); - -typedef struct MpexDllUnkStruct3 { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ s32 unk_08; - /* 0x0C */ s32 unk_0C; - /* 0x10 */ s32 unk_10; -} MpexDllUnkStruct3; /* size = 0x14 */ - -typedef struct MpexDllUnkStruct4 { - /* 0x00 */ omObjData *unk_00; - /* 0x04 */ MpexDllUnkFunc2 unk_04; - /* 0x08 */ s32 unk_08; - /* 0x0C */ s32 unk_0C; - /* 0x10 */ s32 unk_10; - /* 0x14 */ char unk14[0x14]; - /* 0x28 */ s32 unk_28; - /* 0x2C */ char unk2C[0x1C]; -} MpexDllUnkStruct4; /* size = 0x48 */ - -s32 rand8(void); -float fn_1_1B52C(float arg8, float arg9, float argA, float argB); -float fn_1_1B574(float arg0, float arg1, float arg2, float arg3); -float fn_1_1B64C(float arg0, float arg1, float arg2, float arg3); - -void fn_1_1015C(void); -void fn_1_10228(void); -void fn_1_10268(s32 arg0); -void fn_1_1045C(void); -void fn_1_107EC(void); -void fn_1_1085C(void); -void fn_1_10ABC(void); -void fn_1_10C30(void); -void fn_1_110F8(void); -void fn_1_114D4(void); -void fn_1_115A0(void); -void fn_1_115E0(s32 arg0); -void fn_1_117D4(void); -void fn_1_11930(void); -void fn_1_11984(void); -void fn_1_119E0(void); -void fn_1_11A3C(s32 arg0); -void fn_1_11E28(void); -void fn_1_11FC0(omObjData *object, MpexDllUnkStruct4 *arg1); -void fn_1_121E8(void); -void fn_1_125DC(float *arg0, s32 arg1); -void fn_1_32D8(void); -void fn_1_5D40(omObjData *arg0, MpexDllUnkStruct4 *arg1); -void fn_1_7D80(void); -void fn_1_7FC4(omObjData *arg0, MpexDllUnkStruct4 *arg1); -void fn_1_8320(void); -void fn_1_8ADC(void); -void fn_1_901C(omObjData *arg0, MpexDllUnkStruct4 *arg1); -void fn_1_9430(omObjData *arg0, MpexDllUnkStruct4 *arg1); -void fn_1_96B4(void); -void fn_1_A608(void); -void fn_1_AD34(void); -void fn_1_B004(void); -void fn_1_B210(void); -s32 fn_1_B248(s32 arg0, s32 arg1); -void fn_1_B2E4(s32 arg0); -void fn_1_B7F4(s32 arg0); -void fn_1_B870(s32 arg0); -void fn_1_B9A8(s32); -void fn_1_BC18(void); -void fn_1_BCD8(void); -u32 fn_1_BD10(s32 arg0, s32 arg1); -void fn_1_BD78(s32 arg0, s32 arg1); -void fn_1_C0DC(s32 arg0, s32); -void fn_1_C4D4(s32); -void fn_1_C544(void); -void fn_1_C860(void); -s32 fn_1_C898(s32 arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_CF10(s32 arg0); -void fn_1_D3AC(s32 arg0); -void fn_1_D468(s32 arg0); -void fn_1_D6AC(s32 arg0); -void fn_1_DBD0(s32 arg0); -void fn_1_E174(void); -void fn_1_E384(void); -void fn_1_E568(void); -void fn_1_EB1C(void); -void fn_1_ED78(s32 arg0, s32 arg1); -void fn_1_F0C0(void); -void fn_1_F40C(void); -void fn_1_F47C(void); -void fn_1_F730(void); -void fn_1_F8A4(void); -void fn_1_FDA0(void); - -float lbl_1_data_240[21] = { - 0.0f, - 0.0f, - 0.0f, - -250.0f, - 0.0f, - 0.0f, - 250.0f, - 0.0f, - 0.0f, - 0.0f, - 500.0f, - 0.0f, - -1000.0f, - 0.0f, - 0.0f, - 1000.0f, - 0.0f, - 0.0f, - 0.0f, - 1000.0f, - 0.0f, -}; - -MpexDllUnkStruct4 lbl_1_bss_3F8; -MpexDllUnkStruct4 lbl_1_bss_3B0; -MpexDllUnkStruct4 lbl_1_bss_2D8[3]; -MpexDllUnkStruct4 lbl_1_bss_1B8[4]; -s32 lbl_1_bss_1B4; -s32 lbl_1_bss_1B0; -s32 lbl_1_bss_1AC; -s32 lbl_1_bss_180[0xB]; -MpexDllUnkStruct3 lbl_1_bss_130[4]; -char lbl_1_bss_120[16]; -char lbl_1_bss_118[8]; -char lbl_1_bss_110[8]; -s32 lbl_1_bss_10C; -s32 lbl_1_bss_108; -s32 lbl_1_bss_104; -char lbl_1_bss_FC[8]; -char lbl_1_bss_F4[8]; -char lbl_1_bss_EC[8]; -char lbl_1_bss_E4[8]; -s32 lbl_1_bss_E0; -s32 lbl_1_bss_C8[6]; -s32 lbl_1_bss_C4; -s32 lbl_1_bss_C0; -s32 lbl_1_bss_BC; -float lbl_1_bss_B8; -s32 lbl_1_bss_B4; -s32 lbl_1_bss_B0; -u32 lbl_1_bss_AC; -Process *lbl_1_bss_A8; - -Process *fn_1_3044(Process *arg0) -{ - s32 var_r31; - - lbl_1_bss_A8 = arg0; - if (omovlevtno == 0) { - mgGameStatBackup = GWGameStat; - } - fn_1_298(); - fn_1_374(); - fn_1_1B810(); - fn_1_910(fn_1_96B4); - lbl_1_bss_180[0] = 1; - lbl_1_bss_180[1] = 1; - lbl_1_bss_180[2] = GWMGAvailGet(omMgIndexGet(0x40) + 0x191); - lbl_1_bss_180[3] = GWMGAvailGet(omMgIndexGet(0xB) + 0x191); - lbl_1_bss_180[4] = GWMGAvailGet(omMgIndexGet(0x13) + 0x191); - lbl_1_bss_180[5] = 1; - lbl_1_bss_180[6] = 1; - lbl_1_bss_180[7] = 1; - lbl_1_bss_180[8] = 1; - lbl_1_bss_180[9] = GWMGAvailGet(omMgIndexGet(0x1B) + 0x191); - fn_1_121E8(); - for (var_r31 = 0; var_r31 < 0xA; var_r31++) { - if (lbl_1_bss_180[var_r31] == 0) { - break; - } - } - if (var_r31 == 0xA) { - lbl_1_bss_180[0xA] = 1; - } - else { - lbl_1_bss_180[0xA] = 0; - } - if (omovlevtno == 1) { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuPrcChildCreate(fn_1_8320, 0x7D0, 0x2000, 0, HuPrcCurrentGet()); - } - } - HuPrcChildCreate(fn_1_7D80, 0x7D0, 0x2000, 0, HuPrcCurrentGet()); - for (var_r31 = 0; var_r31 < 3; var_r31++) { - HuPrcChildCreate(fn_1_8ADC, 0x7D0, 0x2000, 0, HuPrcCurrentGet()); - } - fn_1_1264C(lbl_1_bss_A8); - - return HuPrcChildCreate(fn_1_32D8, 0x3E8, 0x2000, 0, HuPrcCurrentGet()); -} - -void fn_1_32D8(void) -{ - omObjData *var_r31; - - var_r31 = NULL; - var_r31 = omAddObjEx(lbl_1_bss_A8, 0x2000, 0x10, 0x10, -1, NULL); - lbl_1_bss_3F8.unk_00 = var_r31; - lbl_1_bss_3F8.unk_04 = (MpexDllUnkFunc2)fn_1_5D40; - while (TRUE) { - fn_1_1B7D0(1); - if (lbl_1_bss_3F8.unk_04 == NULL) { - continue; - } - lbl_1_bss_3F8.unk_04(lbl_1_bss_3F8.unk_00, &lbl_1_bss_3F8); - } -} - -void fn_1_3384(void) -{ - fn_1_1B7D0(0x1E); - HuAudFadeOut(0x3E8); - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - - while (WipeStatGet() != 0) { - fn_1_1B7D0(1); - } - HuAudAllStop(); - omOvlReturnEx(1, 1); - - while (TRUE) { - fn_1_1B7D0(1); - } -} - -void fn_1_33F8(void) -{ - s16 var_r31; - - if (SLSaveFlagGet() != 0) { - Hu3DAllKill(); - HuSprClose(); - HuSprInit(); - espInit(); - HuPrcVSleep(); - var_r31 = espEntry(0x860020, 0x1388, 0); - espPosSet(var_r31, 288.0f, 240.0f); - espAttrReset(var_r31, HUSPR_ATTR_DISPOFF); - Hu3DBGColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); - - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - SLCommonSet(); - if (SLSave() == 0) { - GWSystem.save_mode = 1; - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); - - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - } -} - -void fn_1_3508(void) -{ - s16 var_r31; - - fn_1_1B7D0(0x1E); - HuAudFadeOut(0x3E8); - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - - while (WipeStatGet() != 0) { - fn_1_1B7D0(1); - } - - HuAudAllStop(); - CharModelKill(-1); - MGSeqKillAll(); - if (omovlevtno != 0) { - fn_1_1B7D0(0x3C); - fn_1_33F8(); - } - mgQuitExtraF = 0; - omOvlReturnEx(1, 1); - - while (TRUE) { - fn_1_1B7D0(1); - } -} - -void fn_1_36A4(void) -{ - omOvlHisData *sp8; - - fn_1_1B7D0(0x1E); - HuAudSStreamAllFadeOut(0x3E8); - WipeColorSet(0xFF, 0xFF, 0xFF); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (WipeStatGet() != 0) { - fn_1_1B7D0(1); - } - CharModelKill(-1); - MGSeqKillAll(); - sp8 = omOvlHisGet(0); - omOvlHisChg(0, OVL_MPEX, 2, 0); - mgQuitExtraF = 0; - omOvlCallEx(OVL_ZTAR, 1, 0, 0); - while (TRUE) { - fn_1_1B7D0(1); - } -} - -void fn_1_3758(s32 arg0, s32 arg1) -{ - s32 spC[10][3] = { - { 0x60, 0x01, 0x00 }, - { 0x61, 0x01, 0x01 }, - { 0x45, 0x01, 0x02 }, - { 0x3C, 0x01, 0x03 }, - { 0x3B, 0x01, 0x04 }, - { 0x32, 0x01, 0x05 }, - { 0x41, 0x01, 0x06 }, - { 0x42, 0x01, 0x07 }, - { 0x43, 0x01, 0x08 }, - { 0x44, 0x01, 0x09 }, - }; - omOvlHisData *sp8; - s32 var_r29; - - fn_1_1B7D0(0x1E); - HuAudSeqAllFadeOut(0x3E8); - HuAudSStreamAllFadeOut(0x3E8); - WipeColorSet(0xFF, 0xFF, 0xFF); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (WipeStatGet() != 0) { - fn_1_1B7D0(1); - } - if (arg0 == 0 || arg0 == 1) { - var_r29 = (arg1 * 0xA) + 0xA; - BoardPartyConfigSet(0, 0, 0, var_r29, 0, 0, 0, 0); - BoardSaveInit(arg0 + 7); - spC[arg0][2] += (arg1 * 0xA); - } - else if (arg0 == 4) { - GWSystem.mg_type = arg1; - spC[arg0][2] += (arg1 * 0xA); - } - - sp8 = omOvlHisGet(0); - omOvlHisChg(0, OVL_MPEX, spC[arg0][1], spC[arg0][2]); - HuDataDirClose(DATA_MAKE_NUM(DATADIR_MPEX, 0x00)); - HuDataDirClose(0x150000); - CharModelKill(-1); - CharKill(-1); - CharARAMOpen(GWPlayerCfg[0].character); - CharARAMOpen(GWPlayerCfg[1].character); - CharARAMOpen(GWPlayerCfg[2].character); - CharARAMOpen(GWPlayerCfg[3].character); - HuAudAllStop(); - if (arg0 > 1) { - mgPracticeEnableF = 1; - } - mgQuitExtraF = 0; - omOvlCallEx(spC[arg0][0], 1, 0, 0); - while (TRUE) { - fn_1_1B7D0(1); - } -} - -s32 lbl_1_data_294 = -1; -s32 lbl_1_data_298 = -1; - -void fn_1_397C(void) -{ - if (omovlevtno != 2) { - lbl_1_data_298 = HuAudSeqPlay(0x2E); - } - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - while (WipeStatGet() != 0) { - fn_1_1B7D0(1); - } - fn_1_1B7D0(0x3C); -} - -void fn_1_39F4(void) -{ - fn_1_1B834(); - fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 3, 0xF, 1); - fn_1_1BA78(0x330000, -1, -1); - fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 1, 0xF, 1); - fn_1_1B9F4(); - fn_1_1B7D0(0x3C); - fn_1_1B834(); - fn_1_1BA78(0x330001, 5, -1); - if (fn_1_1BBA4(1) == 0) { - fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 3, 0xF, 1); - fn_1_1BA78(0x330002, -1, -1); - fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 1, 0xF, 1); - } - fn_1_1B9F4(); - fn_1_1B7D0(0x3C); -} - -void fn_1_3AF8(void) -{ - s16 var_r29; - s32 var_r30; - s32 var_r31; - - var_r31 = -1; - var_r30 = 0; - fn_1_1B834(); - while (TRUE) { - fn_1_1B7D0(1); - fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 3, 0xF, 1); - fn_1_1BA78(0x330003, -1, -1); - fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 1, 0xF, 1); - fn_1_1BF1C(0x33004C); - var_r31 = -1; - lbl_1_bss_3B0.unk_08 = 0; - lbl_1_bss_3B0.unk_04 = (MpexDllUnkFunc2)fn_1_11FC0; - while (TRUE) { - fn_1_1B7D0(1); - if (var_r31 != lbl_1_bss_3B0.unk_08) { - HuAudFXPlay(0); - fn_1_11A3C(var_r31); - var_r31 = lbl_1_bss_3B0.unk_08; - switch (lbl_1_bss_3B0.unk_08) { - case 0: - fn_1_1BA78(0x330005, -1, 1); - break; - case 1: - fn_1_1BA78(0x330012, -1, 1); - break; - case 2: - fn_1_1BA78(0x330023, -1, 1); - break; - } - } - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - HuAudFXPlay(2); - var_r30 = 1; - break; - } - else if (HuPadBtnDown[0] & PAD_BUTTON_B) { - HuAudFXPlay(3); - var_r30 = 0; - break; - } - else { - if (lbl_1_bss_180[0xA] == 1) { - if (HuPadStkX[0] <= -0x1E) { - lbl_1_bss_3B0.unk_08 = 0; - } - else if (HuPadStkX[0] >= 0x1E) { - lbl_1_bss_3B0.unk_08 = 1; - } - else if (HuPadStkY[0] >= 0x1E) { - lbl_1_bss_3B0.unk_08 = 2; - } - else if ((HuPadStkY[0] <= -0x1E) && (lbl_1_bss_3B0.unk_08 == 2)) { - if (HuPadStkX[0] >= 5) { - lbl_1_bss_3B0.unk_08 = 1; - } - else { - lbl_1_bss_3B0.unk_08 = 0; - } - } - } - else if (HuPadStkX[0] <= -0x1E) { - lbl_1_bss_3B0.unk_08 = 0; - } - else if (HuPadStkX[0] >= 0x1E) { - lbl_1_bss_3B0.unk_08 = 1; - } - } - } - lbl_1_bss_3B0.unk_04 = NULL; - fn_1_1C120(); - if (var_r30 == 0) { - fn_1_11E28(); - fn_1_1BA78(0x330004, 5, -1); - if (fn_1_1BBA4(1) == 0) { - fn_1_1B9F4(); - fn_1_3508(); - } - continue; - } - break; - } - fn_1_11E28(); - fn_1_1B9F4(); - lbl_1_bss_1B4 = lbl_1_bss_3B0.unk_08; -} - -void fn_1_4014(void) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - lbl_1_bss_2D8[var_r31].unk_04 = (MpexDllUnkFunc2)fn_1_901C; - } - do { - fn_1_1B7D0(1); - for (var_r31 = 0; var_r31 < 3; var_r31++) { - if (lbl_1_bss_2D8[var_r31].unk_04 != NULL) { - break; - } - } - } while (var_r31 != 3); -} - -void fn_1_40AC(void) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - lbl_1_bss_2D8[var_r31].unk_04 = (MpexDllUnkFunc2)fn_1_9430; - } - do { - fn_1_1B7D0(1); - for (var_r31 = 0; var_r31 < 3; var_r31++) { - if (lbl_1_bss_2D8[var_r31].unk_04 != NULL) { - break; - } - } - } while (var_r31 != 3); -} - -s32 fn_1_4144(s32 arg0) -{ - s32 var_r31; - - var_r31 = 1; - var_r31 = fn_1_140B0(0, arg0); - return var_r31; -} - -s32 fn_1_4184(s32 arg0) -{ - s32 var_r31 = 0; - s32 var_r30 = -1; - if (arg0 == 0) { - fn_1_148BC(lbl_1_bss_1B4); - } - fn_1_F8A4(); - fn_1_1B834(); - if (lbl_1_data_294 == -1) { - fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 3, 0xF, 1); - fn_1_1BA78(0x330007, -1, -1); - fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 1, 0xF, 1); - } - else { - lbl_1_bss_3B0.unk_0C = lbl_1_data_294; - lbl_1_data_294 = -1; - } - fn_1_1B7D0(1); - fn_1_1BF1C(0x33004D); - fn_1_1015C(); - while (TRUE) { - fn_1_1B7D0(1); - if (var_r30 != lbl_1_bss_3B0.unk_0C) { - var_r30 = lbl_1_bss_3B0.unk_0C; - HuAudFXPlay(0); - if (lbl_1_bss_180[lbl_1_bss_3B0.unk_0C] == 1) { - fn_1_1BA78(lbl_1_bss_3B0.unk_0C + MAKE_MESSID(0x33, 0x08), -1, 1); - } - else { - fn_1_1BA78(0x33002E, -1, 1); - } - fn_1_1B7D0(1); - } - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - if (lbl_1_bss_180[lbl_1_bss_3B0.unk_0C] == 1) { - HuAudFXPlay(2); - lbl_1_data_294 = lbl_1_bss_3B0.unk_0C; - var_r31 = 1; - break; - } - else { - HuAudFXPlay(4); - } - } - else if (HuPadBtnDown[0] & PAD_BUTTON_B) { - HuAudFXPlay(3); - var_r31 = 0; - break; - } - else { - if (HuPadStkY[0] >= 0x1E) { - fn_1_10268(-1); - } - else if (HuPadStkY[0] <= -0x1E) { - fn_1_10268(1); - } - } - } - fn_1_10228(); - fn_1_1C120(); - fn_1_1B9F4(); - fn_1_FDA0(); - if (var_r31 == 0) { - fn_1_148E4(lbl_1_bss_1B4); - } - lbl_1_bss_1B0 = lbl_1_bss_3B0.unk_0C; - return var_r31; -} - -s32 fn_1_444C(s32 arg0) -{ - s32 var_r31; - - var_r31 = 1; - if (arg0 == 0) { - lbl_1_bss_3B0.unk_10 = 0; - fn_1_D6AC(lbl_1_bss_1B0); - } - while (TRUE) { - fn_1_1B7D0(1); - if (HuPadBtnDown[0] & PAD_BUTTON_START) { - HuAudFXPlay(2); - var_r31 = 1; - break; - } - else if (HuPadBtnDown[0] & PAD_BUTTON_B) { - HuAudFXPlay(3); - var_r31 = 0; - break; - } - } - if (var_r31 == 0) { - fn_1_DBD0(lbl_1_bss_1B0); - } - return var_r31; -} - -s32 fn_1_4514(s32 arg0) -{ - s32 var_r31; - s32 var_r30; - - var_r31 = 1; - var_r30 = lbl_1_bss_3B0.unk_10; - if ((lbl_1_bss_1B0 == 0) || (lbl_1_bss_1B0 == 1) || (lbl_1_bss_1B0 == 4)) { - if (lbl_1_bss_1B0 == 4) { - fn_1_E568(); - } - else { - fn_1_E174(); - } - while (TRUE) { - fn_1_1B7D0(1); - if (lbl_1_bss_3B0.unk_10 != var_r30) { - HuAudFXPlay(0); - fn_1_ED78(lbl_1_bss_3B0.unk_10, var_r30); - var_r30 = lbl_1_bss_3B0.unk_10; - } - if (HuPadStkY[0] <= -0x1E) { - lbl_1_bss_3B0.unk_10++; - if (lbl_1_bss_3B0.unk_10 > 2) { - lbl_1_bss_3B0.unk_10 = 0; - } - continue; - } - if (HuPadStkY[0] >= 0x1E) { - lbl_1_bss_3B0.unk_10--; - if (lbl_1_bss_3B0.unk_10 < 0) { - lbl_1_bss_3B0.unk_10 = 2; - } - continue; - } - if (HuPadBtnDown[0] & PAD_BUTTON_START) { - HuAudFXPlay(2); - var_r31 = 1; - break; - } - else if (HuPadBtnDown[0] & PAD_BUTTON_B) { - HuAudFXPlay(3); - var_r31 = 0; - break; - } - } - lbl_1_bss_1AC = lbl_1_bss_3B0.unk_10; - } - else { - var_r31 = 1; - } - if (var_r31 == 0) { - if (lbl_1_bss_1B0 == 4) { - fn_1_EB1C(); - } - else { - fn_1_E384(); - } - } - return var_r31; -} - -s32 fn_1_4730(s32 arg0) -{ - s32 var_r31; - - var_r31 = 1; - var_r31 = fn_1_140B0(1, arg0); - return var_r31; -} - -s32 fn_1_4770(s32 arg0) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = -1; - if (arg0 == 0) { - fn_1_148BC(lbl_1_bss_1B4); - } - fn_1_10C30(); - fn_1_1B834(); - if (lbl_1_data_294 == -1) { - HuAudFXPlay(0x4A); - fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 3, 0xF, 1); - fn_1_1BA78(0x330014, -1, -1); - fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 1, 0xF, 1); - } - else { - lbl_1_bss_3B0.unk_0C = lbl_1_data_294; - lbl_1_data_294 = -1; - } - fn_1_1B7D0(1); - fn_1_1BF1C(0x33004D); - fn_1_114D4(); - while (TRUE) { - fn_1_1B7D0(1); - if (var_r30 != lbl_1_bss_3B0.unk_0C) { - var_r30 = lbl_1_bss_3B0.unk_0C; - HuAudFXPlay(0); - if (lbl_1_bss_180[lbl_1_bss_3B0.unk_0C + 4] == 1) { - fn_1_1BA78(lbl_1_bss_3B0.unk_0C + 0x330015, -1, 1); - } - else { - fn_1_1BA78(0x33002E, -1, 1); - } - fn_1_1B7D0(1); - } - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - if (lbl_1_bss_180[lbl_1_bss_3B0.unk_0C + 4] == 1) { - HuAudFXPlay(2); - lbl_1_data_294 = lbl_1_bss_3B0.unk_0C; - var_r31 = 1; - break; - } - else { - HuAudFXPlay(4); - } - } - else if (HuPadBtnDown[0] & PAD_BUTTON_B) { - HuAudFXPlay(3); - var_r31 = 0; - break; - } - else { - if (HuPadStkY[0] >= 0x1E) { - fn_1_115E0(-1); - } - else if (HuPadStkY[0] <= -0x1E) { - fn_1_115E0(1); - } - } - } - fn_1_115A0(); - fn_1_1C120(); - fn_1_1B9F4(); - fn_1_110F8(); - if (var_r31 == 0) { - fn_1_148E4(lbl_1_bss_1B4); - } - lbl_1_bss_1B0 = lbl_1_bss_3B0.unk_0C + (lbl_1_bss_1B4 * 4); - return var_r31; -} - -s32 fn_1_4A58(s32 arg0) -{ - s32 var_r31 = 1; - var_r31 = fn_1_444C(arg0); - return var_r31; -} - -s32 fn_1_4B3C(s32 arg0) -{ - s32 var_r31 = 1; - var_r31 = fn_1_4514(arg0); - return var_r31; -} - -s32 fn_1_4B78(s32 arg0) -{ - s32 var_r30; - - var_r30 = 1; - lbl_1_bss_1B0 = 0xA; - var_r30 = fn_1_444C(arg0); - return var_r30; -} - -void fn_1_4C6C(void) -{ - s32 var_r31; - - Hu3DModelPosSet(lbl_1_bss_2D8[0].unk_00->model[1], -400.0f, 0.0f, 0.0f); - Hu3DModelPosSet(lbl_1_bss_2D8[1].unk_00->model[1], 1000.0f, 0.0f, 0.0f); - Hu3DModelPosSet(lbl_1_bss_2D8[2].unk_00->model[1], 0.0f, 1000.0f, 0.0f); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - Hu3DModelPosSet(lbl_1_bss_1B8[var_r31].unk_00->model[1], -225.0f + (150.0f * var_r31), 0.0f, 0.0f); - Hu3DModelAttrReset(lbl_1_bss_1B8[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF); - } -} - -void fn_1_4DF8(void) -{ - s32 var_r31; - - Hu3DModelPosSet(lbl_1_bss_2D8[0].unk_00->model[1], 0.0f, 0.0f, 0.0f); - Hu3DModelPosSet(lbl_1_bss_2D8[1].unk_00->model[1], 1000.0f, 0.0f, 0.0f); - Hu3DModelPosSet(lbl_1_bss_2D8[2].unk_00->model[1], 0.0f, 1000.0f, 0.0f); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - Hu3DModelPosSet(lbl_1_bss_1B8[var_r31].unk_00->model[1], -225.0f + (150.0f * var_r31), 0.0f, 0.0f); - Hu3DModelAttrSet(lbl_1_bss_1B8[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF); - } -} - -void fn_1_4F84(void) -{ - s32 var_r31; - s32 var_r30; - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_130[var_r31].unk_00 = GWPlayerCfg[var_r31].group; - lbl_1_bss_130[var_r31].unk_04 = GWPlayerCfg[var_r31].iscom; - lbl_1_bss_130[var_r31].unk_08 = GWPlayerCfg[var_r31].diff; - lbl_1_bss_130[var_r31].unk_0C = GWPlayerCfg[var_r31].character; - lbl_1_bss_130[var_r31].unk_10 = GWPlayerCfg[var_r31].pad_idx; - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (var_r30 == lbl_1_bss_130[var_r31].unk_10) { - GWPlayer[var_r30].team = GWPlayerCfg[var_r30].group = lbl_1_bss_130[var_r31].unk_00; - GWPlayer[var_r30].com = GWPlayerCfg[var_r30].iscom = lbl_1_bss_130[var_r31].unk_04; - GWPlayer[var_r30].diff = GWPlayerCfg[var_r30].diff = lbl_1_bss_130[var_r31].unk_08; - GWPlayer[var_r30].character = GWPlayerCfg[var_r30].character = lbl_1_bss_130[var_r31].unk_0C; - GWPlayer[var_r30].port = GWPlayerCfg[var_r30].pad_idx = lbl_1_bss_130[var_r31].unk_10; - break; - } - } - } -} - -s32 fn_1_5238(void) -{ - s32 var_r29 = 0; - if (lbl_1_bss_1B0 != 2) { - fn_1_A608(); - } - fn_1_4F84(); - fn_1_1B7D0(0x3C); - var_r29 = 0; - return var_r29; -} - -void fn_1_5530(void) -{ - Vec sp14 = { 0.0f, 0.0f, 0.0f }; - s32 var_r31; - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_1B8[var_r31].unk_04 = (MpexDllUnkFunc2)fn_1_7FC4; - } - do { - fn_1_1B7D0(1); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_1B8[var_r31].unk_04 != NULL) { - break; - } - } - } while (var_r31 != 4); - Hu3DModelAttrReset(lbl_1_bss_3B0.unk_00->model[5], HU3D_MOTATTR_PAUSE); - fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 2, 0xF, 1); - fn_1_28E0(lbl_1_bss_2D8[0].unk_00, 1, sp14, 0.0f, 9.0f, 0.0f, 1, 0); - fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 1, 0xF, 1); - fn_1_1B7D0(0x3C); -} - -void fn_1_56B8(void) -{ - Hu3DModelPosSet(lbl_1_bss_2D8[0].unk_00->model[1], -1000.0f, 0.0f, 0.0f); - Hu3DModelPosSet(lbl_1_bss_2D8[1].unk_00->model[1], -400.0f, 0.0f, 0.0f); - Hu3DModelPosSet(lbl_1_bss_2D8[2].unk_00->model[1], 0.0f, 1000.0f, 0.0f); - Hu3DModelPosSet(lbl_1_bss_1B8[0].unk_00->model[1], 0.0f, 0.0f, 0.0f); - Hu3DModelAttrReset(lbl_1_bss_1B8[0].unk_00->model[1], HU3D_ATTR_DISPOFF); -} - -s32 fn_1_57E0(void) -{ - s32 var_r31 = 0; - fn_1_AD34(); - fn_1_1B7D0(0x3C); - var_r31 = 0; - return var_r31; -} - -// similar to fn_1_5530 -void fn_1_581C(void) -{ - Vec sp14 = { 0.0f, 0.0f, 0.0f }; - - lbl_1_bss_1B8[0].unk_04 = (MpexDllUnkFunc2)fn_1_7FC4; - - do { - fn_1_1B7D0(1); - } while (lbl_1_bss_1B8[0].unk_04 != NULL); - - Hu3DModelAttrReset(lbl_1_bss_3B0.unk_00->model[5], HU3D_MOTATTR_PAUSE); - fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 2, 0xF, 1); - fn_1_28E0(lbl_1_bss_2D8[1].unk_00, 1, sp14, 0.0f, 9.0f, 0.0f, 1, 0); - fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 1, 0xF, 1); - fn_1_1B7D0(0x3C); -} - -void fn_1_595C(void) -{ - fn_1_3508(); -} - -void fn_1_5AF8(void) -{ - s32 var_r31; - - Hu3DModelPosSet(lbl_1_bss_2D8[0].unk_00->model[1], 0.0f, 0.0f, 0.0f); - Hu3DModelPosSet(lbl_1_bss_2D8[1].unk_00->model[1], 1000.0f, 0.0f, 0.0f); - Hu3DModelPosSet(lbl_1_bss_2D8[2].unk_00->model[1], 0.0f, 1000.0f, 0.0f); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - Hu3DModelAttrSet(lbl_1_bss_1B8[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF); - } - fn_1_C544(); - fn_1_D468(lbl_1_bss_1B0); -} - -void fn_1_5C1C(void) -{ - s32 var_r31; - - Hu3DModelPosSet(lbl_1_bss_2D8[0].unk_00->model[1], -1000.0f, 0.0f, 0.0f); - Hu3DModelPosSet(lbl_1_bss_2D8[1].unk_00->model[1], 0.0f, 0.0f, 0.0f); - Hu3DModelPosSet(lbl_1_bss_2D8[2].unk_00->model[1], 0.0f, 1000.0f, 0.0f); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - Hu3DModelAttrSet(lbl_1_bss_1B8[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF); - } - fn_1_C544(); - fn_1_D468(lbl_1_bss_1B0); -} - -void fn_1_5D40(omObjData *object, MpexDllUnkStruct4 *arg1) -{ - s32 var_r31 = 0; - s32 var_r29 = 0; - s32 var_r30 = 0; - - if (omovlevtno == 1) { - lbl_1_bss_1B0 = omovlstat % 10; - if (lbl_1_bss_1B0 <= 3) { - lbl_1_bss_1B4 = 0; - } - else { - lbl_1_bss_1B4 = 1; - } - lbl_1_bss_1AC = omovlstat / 10; - if (mgQuitExtraF == 1) { - mgQuitExtraF = 0; - Hu3DMotionTimeSet(lbl_1_bss_3B0.unk_00->model[5], Hu3DMotionMotionMaxTimeGet(lbl_1_bss_3B0.unk_00->model[5]) - 5.0f); - if (lbl_1_bss_1B0 <= 3) { - fn_1_4F84(); - lbl_1_data_294 = lbl_1_bss_1B0; - fn_1_5AF8(); - var_r31 = 0x320; - } - else { - lbl_1_data_294 = lbl_1_bss_1B0 - 4; - fn_1_5C1C(); - var_r31 = 0x384; - } - } - else if (lbl_1_bss_1B0 <= 3) { - lbl_1_data_294 = lbl_1_bss_1B0; - if (lbl_1_bss_1B0 == 2) { - Hu3DMotionTimeSet(lbl_1_bss_3B0.unk_00->model[5], Hu3DMotionMotionMaxTimeGet(lbl_1_bss_3B0.unk_00->model[5]) - 5.0f); - fn_1_4DF8(); - var_r31 = 0x1FE; - } - else { - Hu3DMotionTimeSet(lbl_1_bss_3B0.unk_00->model[5], 33.0f); - fn_1_4C6C(); - var_r31 = 0x1F4; - } - } - else { - lbl_1_data_294 = lbl_1_bss_1B0 - 4; - Hu3DMotionTimeSet(lbl_1_bss_3B0.unk_00->model[5], 33.0f); - fn_1_56B8(); - var_r31 = 0x258; - } - } - else if (omovlevtno == 2) { - lbl_1_bss_1B0 = 0; - lbl_1_bss_1B4 = 0; - var_r31 = 1; - } - else { - var_r31 = 0; - } - while (TRUE) { - fn_1_1B7D0(1); - switch (var_r31) { - case 0x0: - fn_1_397C(); - fn_1_25C4(lbl_1_bss_3B0.unk_00, 5, 5, 0, 0); - fn_1_1B7D0(0x3C); - fn_1_39F4(); - var_r31 = 0x64; - break; - case 0x1: - Hu3DMotionTimeSet(lbl_1_bss_3B0.unk_00->model[5], Hu3DMotionMotionMaxTimeGet(lbl_1_bss_3B0.unk_00->model[5]) - 5.0f); - fn_1_397C(); - var_r31 = 0x64; - break; - case 0x64: - fn_1_117D4(); - fn_1_3AF8(); - fn_1_11930(); - var_r30 = 0; - var_r31 = 0x65; - break; - case 0x65: - fn_1_4014(); - - if (lbl_1_bss_1B4 == 2) { - var_r31 = (lbl_1_bss_1B4 * 0x64) + 0xC9; - } - else { - var_r31 = (lbl_1_bss_1B4 * 0x64) + 0xC8; - } - break; - case 0x66: - fn_1_40AC(); - var_r31 = 0x64; - break; - case 0xC8: - var_r29 = fn_1_4144(var_r30); - if (var_r29 != 0) { - var_r30 = 0; - var_r31 = 0xC9; - } - else { - var_r30 = 1; - var_r31 = 0x66; - } - break; - case 0xC9: - fn_1_F0C0(); - var_r29 = fn_1_4184(var_r30); - fn_1_F40C(); - if (var_r29 != 0) { - fn_1_C544(); - var_r30 = 0; - var_r31 = 0xCA; - } - else { - var_r30 = 1; - var_r31 = 0x66; - } - break; - case 0xCA: - var_r29 = fn_1_444C(var_r30); - if (var_r29 != 0) { - var_r30 = 0; - var_r31 = 0xCB; - } - else { - fn_1_C860(); - var_r30 = 1; - var_r31 = 0xC9; - } - break; - case 0xCB: - var_r29 = fn_1_4514(var_r30); - if (var_r29 != 0) { - var_r30 = 0; - var_r31 = 0xCC; - } - else { - var_r30 = 1; - var_r31 = 0xCA; - } - break; - case 0xCC: - fn_1_3758(lbl_1_bss_1B0, lbl_1_bss_1AC); - var_r31 = -1; - break; - case 0x12C: - var_r29 = fn_1_4730(var_r30); - if (var_r29 != 0) { - var_r30 = 0; - var_r31 = 0x12D; - } - else { - var_r30 = 1; - var_r31 = 0x66; - } - break; - case 0x12D: - fn_1_1045C(); - var_r29 = fn_1_4770(var_r30); - fn_1_107EC(); - if (var_r29 != 0) { - fn_1_C544(); - var_r30 = 0; - var_r31 = 0x12E; - } - else { - var_r30 = 1; - var_r31 = 0x66; - } - break; - case 0x12E: - var_r29 = fn_1_4A58(var_r30); - if (var_r29 != 0) { - var_r30 = 0; - var_r31 = 0x12F; - } - else { - fn_1_C860(); - var_r30 = 1; - var_r31 = 0x12D; - } - break; - case 0x12F: - var_r29 = fn_1_4B3C(var_r30); - if (var_r29 != 0) { - var_r30 = 0; - var_r31 = 0x130; - } - else { - var_r30 = 1; - var_r31 = 0x12E; - } - break; - case 0x130: - fn_1_3758(lbl_1_bss_1B0, lbl_1_bss_1AC); - var_r31 = -1; - continue; - case 0x191: - fn_1_C544(); - var_r29 = fn_1_4B78(var_r30); - if (var_r29 != 0) { - var_r30 = 0; - var_r31 = 0x192; - } - else { - fn_1_C860(); - var_r30 = 1; - var_r31 = 0x66; - } - break; - case 0x192: - fn_1_36A4(); - case 0x1F4: - fn_1_397C(); - var_r29 = fn_1_5238(); - if (var_r29 == 1) { - var_r31 = 0xCC; - } - else if (var_r29 == 0) { - var_r31 = 0x1F5; - } - else { - var_r31 = 0x2BC; - } - break; - case 0x1F5: - fn_1_5530(); - var_r31 = 0xC9; - break; - case 0x1FE: - fn_1_397C(); - var_r31 = 0xC9; - break; - case 0x258: - fn_1_397C(); - var_r29 = fn_1_57E0(); - if (var_r29 == 1) { - var_r31 = 0x130; - } - else if (var_r29 == 0) { - var_r31 = 0x259; - } - else { - var_r31 = 0x2BC; - } - break; - case 0x259: - fn_1_581C(); - var_r31 = 0x12D; - break; - case 0x2BC: - fn_1_3508(); - case 0x320: - fn_1_397C(); - var_r31 = 0xCA; - var_r30 = 1; - break; - case 0x384: - fn_1_397C(); - var_r31 = 0x12E; - var_r30 = 1; - break; - default: - break; - } - } -} - -void fn_1_7BC8(omObjData *object) -{ - s32 var_r30; - - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x00)); - object->motion[1] = Hu3DMotionIDGet(object->model[1]); - Hu3DModelShadowMapObjSet(object->model[1], "extra_ent_fix0-obj41"); - fn_1_25C4(object, 1, 1, 0, 1); - for (var_r30 = 0; var_r30 < 3; var_r30++) { - object->model[var_r30 + 1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x02)); - Hu3DModelAttrSet(object->model[var_r30 + 1], HU3D_ATTR_DISPOFF); - } - object->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x01)); - object->motion[5] = Hu3DMotionIDGet(object->model[5]); - Hu3DModelPosSet(object->model[5], 0.0f, 0.0f, 270.0f); - if (omovlevtno == 2) { - fn_1_25C4(object, 5, 5, 0, 0); - return; - } - if (omovlevtno == 1) { - Hu3DModelAttrSet(object->model[5], HU3D_MOTATTR_PAUSE); - return; - } - fn_1_25C4(object, 5, 5, 0, 2); -} - -void fn_1_7D80(void) -{ - omObjData *var_r29; - omObjData *var_r31; - s32 var_r30; - - var_r29 = NULL; - var_r29 = omAddObjEx(lbl_1_bss_A8, 0x2000, 0x10, 0x10, -1, NULL); - lbl_1_bss_3B0.unk_00 = var_r29; - lbl_1_bss_3B0.unk_04 = NULL; - var_r31 = lbl_1_bss_3B0.unk_00; - fn_1_7BC8(var_r31); - while (TRUE) { - fn_1_1B7D0(1); - if (lbl_1_bss_3B0.unk_04 == NULL) { - continue; - } - lbl_1_bss_3B0.unk_04(lbl_1_bss_3B0.unk_00, &lbl_1_bss_3B0); - } -} - -void fn_1_7FC4(omObjData *object, MpexDllUnkStruct4 *arg1) -{ - Vec sp14 = { 700.0f, 0.0f, 0.0f }; - fn_1_1B7D0((4 - object->work[0]) * 5); - fn_1_25C4(object, 1, 2, 0xA, 1); - object->work[1] = 0; - while (object->work[1] <= 0xA) { - fn_1_1B7D0(1); - Hu3DData[object->model[1]].rot.y = fn_1_1B52C(0.0f, 90.0f, object->work[1], 10.0f); - object->work[1]++; - } - - fn_1_25C4(object, 1, 3, 0xA, 1); - fn_1_28E0(object, 1, sp14, 0.0f, 9.0f, 0.0f, 1, 0); - fn_1_25C4(object, 1, 1, 0xA, 1); - arg1->unk_04 = NULL; -} - -void fn_1_816C(omObjData *object, s32 arg1) -{ - s32 var_r30 = GWPlayerCfg[arg1].character; - object->model[1] = CharModelCreate(var_r30, 4); - object->motion[1] = CharModelMotionCreate(var_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00)); - object->motion[2] = CharModelMotionCreate(var_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02)); - object->motion[3] = CharModelMotionCreate(var_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03)); - object->motion[4] = CharModelMotionCreate(var_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x48)); - object->motion[5] = CharModelMotionCreate(var_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x49)); - Hu3DModelPosSet(object->model[1], -150.0f + (100.0f * arg1), 0.0f, 0.0f); - Hu3DModelShadowSet(object->model[1]); - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - CharModelLayerSetAll2(2); - fn_1_25C4(object, 1, 1, 0, 1); - CharKill(var_r30); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x02)); - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); -} - -void fn_1_8320(void) -{ - MpexDllUnkStruct4 *temp_r5; - omObjData *var_r28; - omObjData *var_r31; - s16 var_r29; - u32 var_r30; - - var_r30 = lbl_1_bss_AC; - lbl_1_bss_AC = var_r30 + 1; - var_r28 = NULL; - var_r28 = omAddObjEx(lbl_1_bss_A8, 0x2000, 0x10, 0x10, -1, NULL); - lbl_1_bss_1B8[var_r30].unk_00 = var_r28; - lbl_1_bss_1B8[var_r30].unk_04 = NULL; - lbl_1_bss_1B8[var_r30].unk_00->work[0] = var_r30; - var_r31 = lbl_1_bss_1B8[var_r30].unk_00; - fn_1_816C(var_r31, var_r30); - while (TRUE) { - fn_1_1B7D0(1); - if (lbl_1_bss_1B8[var_r30].unk_04 == NULL) { - continue; - } - lbl_1_bss_1B8[var_r30].unk_04(lbl_1_bss_1B8[var_r30].unk_00, &lbl_1_bss_1B8[var_r30]); - } -} - -void fn_1_85C4(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x03)); - object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x04)); - object->motion[2] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x06)); - object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x06)); - object->motion[4] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x07)); - object->motion[5] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x08)); - Hu3DModelPosSet(object->model[1], -200.0f, 0.0f, 0.0f); - Hu3DModelShadowSet(object->model[1]); - CharModelEffectNpcInit(object->model[1], object->motion[2], 0, 0xF); - fn_1_25C4(object, 1, 1, 0, 1); -} - -void fn_1_8758(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x09)); - object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x0A)); - object->motion[2] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x0B)); - object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x0C)); - object->motion[4] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x0D)); - object->motion[5] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x0E)); - Hu3DModelPosSet(object->model[1], 200.0f, 0.0f, 0.0f); - Hu3DModelShadowSet(object->model[1]); - CharModelEffectNpcInit(object->model[1], object->motion[2], 0, 0x10); - fn_1_25C4(object, 1, 1, 0, 1); -} - -void fn_1_88EC(omObjData *object) -{ - float var_f31; - - var_f31 = 0.0f; - var_f31 = fn_1_1B714(0.0f, 1.0f, object->work[3], 180.0f); - Hu3DData[object->model[1]].pos.y += var_f31; - if (object->work[3]++ >= 0xB4) { - object->work[3] -= 0xB4; - } -} - -void fn_1_89C4(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x0F)); - object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x10)); - object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x11)); - Hu3DModelPosSet(object->model[1], 0.0f, 400.0f, 0.0f); - if (lbl_1_bss_180[0xA] == 0) { - Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF); - } - fn_1_25C4(object, 1, 1, 0, 1); - object->func = fn_1_88EC; -} - -void fn_1_8ADC(void) -{ - omObjData *var_r31; - omObjData *var_r30; - omObjData *var_r29; - s32 var_r28; - omObjData *var_r27; - - var_r28 = lbl_1_bss_B0; - lbl_1_bss_B0 = var_r28 + 1; - var_r27 = NULL; - var_r27 = omAddObjEx(lbl_1_bss_A8, 0x2000, 0x10, 0x10, -1, NULL); - lbl_1_bss_2D8[var_r28].unk_00 = var_r27; - lbl_1_bss_2D8[var_r28].unk_04 = 0; - lbl_1_bss_2D8[var_r28].unk_00->work[0] = var_r28; - switch (var_r28) { - case 0: - var_r31 = lbl_1_bss_2D8[var_r28].unk_00; - fn_1_85C4(var_r31); - break; - case 1: - var_r30 = lbl_1_bss_2D8[var_r28].unk_00; - fn_1_8758(var_r30); - break; - case 2: - var_r29 = lbl_1_bss_2D8[var_r28].unk_00; - fn_1_89C4(var_r29); - break; - } - while (TRUE) { - fn_1_1B7D0(1); - if (lbl_1_bss_2D8[var_r28].unk_04 == NULL) { - continue; - } - lbl_1_bss_2D8[var_r28].unk_04(lbl_1_bss_2D8[var_r28].unk_00, &lbl_1_bss_2D8[var_r28]); - } -} - -void fn_1_901C(omObjData *object, MpexDllUnkStruct4 *arg1) -{ - float var_f31; - - s32 var_r30; - s32 *var_r29; - s32 *var_r28; - s32 *var_r27; - s32 *var_r26; - void *var_r25; - - Vec sp50 = { 0.0f, 0.0f, 0.0f }; - Vec sp44 = { -1000.0f, 0.0f, 0.0f }; - Vec sp38 = { 1000.0f, 0.0f, 0.0f }; - switch (object->work[0]) { - case 0: - fn_1_25C4(object, 1, 3, 0xF, 1); - if (lbl_1_bss_1B4 == 0) { - fn_1_28E0(object, 1, sp50, 0.0f, 9.0f, 0.0f, 1, 0); - } - else { - fn_1_28E0(object, 1, sp44, 0.0f, 9.0f, 0.0f, 1, 0); - } - fn_1_25C4(object, 1, 1, 0xF, 1); - break; - case 1: - fn_1_25C4(object, 1, 2, 0xF, 1); - if (lbl_1_bss_1B4 == 1) { - fn_1_28E0(object, 1, sp50, 0.0f, 9.0f, 0.0f, 1, 0); - } - else { - fn_1_28E0(object, 1, sp38, 0.0f, 9.0f, 0.0f, 1, 0); - } - fn_1_25C4(object, 1, 1, 0xF, 1); - break; - case 2: - if (lbl_1_bss_1B4 == 2) { - var_f31 = Hu3DData[object->model[1]].pos.y; - for (var_r30 = 0; var_r30 <= 0x78; var_r30++) { - fn_1_1B7D0(1); - Hu3DData[object->model[1]].pos.y = fn_1_1B64C(var_f31, 250.0f, var_r30, 120.0f); - } - } - else { - var_f31 = Hu3DData[object->model[1]].pos.y; - for (var_r30 = 0; var_r30 <= 0x78; var_r30++) { - fn_1_1B7D0(1); - Hu3DData[object->model[1]].pos.y = fn_1_1B64C(var_f31, 1000.0f, var_r30, 120.0f); - } - } - break; - } - arg1->unk_04 = 0; -} - -void fn_1_9430(omObjData *object, MpexDllUnkStruct4 *arg1) -{ - float var_f31; - s32 var_r30; - s32 *var_r29; - s32 *var_r28; - - Vec sp38 = { 0.0f, 0.0f, 0.0f }; - Vec sp2C = { -200.0f, 0.0f, 0.0f }; - Vec sp20 = { 200.0f, 0.0f, 0.0f }; - switch (object->work[0]) { - case 0: - fn_1_25C4(object, 1, 2, 0xF, 1); - fn_1_28E0(object, 1, sp2C, 0.0f, 9.0f, 0.0f, 1, 0); - fn_1_25C4(object, 1, 1, 0xF, 1); - break; - case 1: - fn_1_25C4(object, 1, 2, 0xF, 1); - fn_1_28E0(object, 1, sp20, 0.0f, 9.0f, 0.0f, 1, 0); - fn_1_25C4(object, 1, 1, 0xF, 1); - break; - case 2: - var_f31 = Hu3DData[object->model[1]].pos.y; - for (var_r30 = 0; var_r30 <= 0x78; var_r30++) { - fn_1_1B7D0(1); - Hu3DData[object->model[1]].pos.y = fn_1_1B574(var_f31, 400.0f, var_r30, 120.0f); - } - break; - } - arg1->unk_04 = 0; -} - -void fn_1_96B4(void) -{ - MpexDllUnkStruct *var_r31 = &lbl_1_bss_64; - var_r31->unk_08.x = 0.0f; - var_r31->unk_08.y = 165.0f; - var_r31->unk_08.z = 0.0f; - var_r31->unk_20.x = 0.0f; - var_r31->unk_20.y = 0.0f; - var_r31->unk_20.z = 0.0f; - var_r31->unk_38 = 1200.0f; -} - -s32 lbl_1_data_2B4[4] = { -1, -1, -1, -1 }; -s32 lbl_1_data_2C4 = -1; - -void fn_1_9740(s32 arg0) -{ - s32 spC[4]; - s32 var_r31; - s32 var_r30; - s32 var_r29; - - var_r29 = 0; - var_r30 = 0; - lbl_1_bss_B4 = 0; - lbl_1_data_2B4[0] = lbl_1_data_2B4[1] = lbl_1_data_2B4[2] = lbl_1_data_2B4[3] = -1; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - spC[var_r31] = fn_1_B248(arg0, var_r31); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (spC[var_r31] >= var_r30) { - var_r30 = spC[var_r31]; - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (var_r30 == spC[var_r31]) { - lbl_1_bss_B4++; - lbl_1_data_2B4[var_r29++] = var_r31; - } - } - lbl_1_data_2C4 = var_r30; -} - -void fn_1_9890(void) -{ - fn_1_1B834(); - fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 3, 0xF, 1); - fn_1_1BA78(0x33000C, -1, -1); - fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 1, 0xF, 1); - fn_1_1B9F4(); -} - -void fn_1_9908(void) -{ - fn_1_1B834(); - HuAudFXPlay(0x4A); - fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 3, 0xF, 1); - fn_1_1BA78(0x33001B, -1, -1); - fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 1, 0xF, 1); - fn_1_1B9F4(); -} - -void fn_1_9988(s32 arg0) -{ - s32 var_r31; - u32 var_r30; - u32 var_r29; - - fn_1_1B834(); - if (((mgRecordExtra == 0) && (arg0 != 4)) || ((mgRecordExtra >= 600*REFRESH_RATE) && (arg0 == 4))) { - HuAudFXPlay(0x4A); - fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 3, 0xF, 1); - fn_1_1BA78(arg0 + 0x330096, -1, -1); - fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 1, 0xF, 1); - } - else { - if ((arg0 == 4) || (arg0 == 8)) { - var_r31 = mgRecordExtra; - var_r30 = var_r31 / (600*REFRESH_RATE); - var_r31 -= var_r30 * (600*REFRESH_RATE); - var_r29 = var_r31 / (60*REFRESH_RATE); - var_r31 -= var_r29 * (60*REFRESH_RATE); - sprintf(lbl_1_bss_120, "%d", var_r29); - fn_1_1BB4C((u32)&lbl_1_bss_120, 0); - var_r30 = var_r31 / (10*REFRESH_RATE); - var_r31 -= var_r30 * (10*REFRESH_RATE); - var_r29 = var_r31 / REFRESH_RATE; - var_r31 -= var_r29 * REFRESH_RATE; - sprintf(lbl_1_bss_118, "%d%d", var_r30, var_r29); - fn_1_1BB4C((u32)lbl_1_bss_118, 1); - if (arg0 == 8) { - var_r31 = (101.5/REFRESH_RATE) * (float)var_r31; - } - else { - var_r31 = (100.0/REFRESH_RATE) * (float)var_r31; - } - var_r30 = var_r31 / 10; - var_r31 -= var_r30 * 0xA; - var_r29 = var_r31; - sprintf(lbl_1_bss_110, "%d%d", var_r30, var_r29); - fn_1_1BB4C((u32)lbl_1_bss_110, 2); - } - else { - sprintf(lbl_1_bss_110, "%d", mgRecordExtra); - fn_1_1BB4C((u32)lbl_1_bss_110, 0); - } - HuAudFXPlay(0x4A); - fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 3, 0xF, 1); - fn_1_1BA78(arg0 + 0x330018, -1, -1); - fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 1, 0xF, 1); - } - fn_1_1B9F4(); -} - -void fn_1_9CD4(s32 arg0) -{ - fn_1_1B834(); - fn_1_1BB4C(fn_1_BD10(arg0, mgRecordExtra), 3); - fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 3, 0xF, 1); - fn_1_1BA78(0x330090, -1, -1); - fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 1, 0xF, 1); - fn_1_1B9F4(); -} - -void fn_1_9D6C(void) -{ - fn_1_1B834(); - switch (lbl_1_bss_B4) { - case 1: - fn_1_1BB4C(GWPlayerCfg[lbl_1_data_2B4[0]].character, 0); - fn_1_1BA78(0x33000D, -1, -1); - break; - case 2: - fn_1_1BB4C(GWPlayerCfg[lbl_1_data_2B4[0]].character, 0); - fn_1_1BB4C(GWPlayerCfg[lbl_1_data_2B4[1]].character, 1); - fn_1_1BA78(0x33000E, -1, -1); - break; - case 3: - fn_1_1BB4C(GWPlayerCfg[lbl_1_data_2B4[0]].character, 0); - fn_1_1BB4C(GWPlayerCfg[lbl_1_data_2B4[1]].character, 1); - fn_1_1BB4C(GWPlayerCfg[lbl_1_data_2B4[2]].character, 2); - fn_1_1BA78(0x33000F, -1, -1); - break; - case 4: - fn_1_1BA78(0x330010, -1, -1); - break; - } - fn_1_1B9F4(); -} - -void fn_1_9F10(omObjData *object, MpexDllUnkStruct4 *arg1) -{ - float var_f31; - s32 var_r31; - - for (var_r31 = 0; var_r31 < 3; var_r31++) { - var_f31 = 30.0 * sind(8.0f * (lbl_1_bss_B8 + (var_r31 * 0x78))); - Hu3DModelPosSet(object->model[var_r31 + 1], -200.0f + (200.0f * var_r31), 850.0f, 0.0f); - Hu3DModelRotSet(object->model[var_r31 + 1], 0.0f, 0.0f, var_f31); - Hu3DModelScaleSet(object->model[var_r31 + 1], 1.5f, 2.0f, 1.5f); - } - lbl_1_bss_B8 += 0.5f; -} - -void fn_1_A0E4(omObjData *object, MpexDllUnkStruct4 *arg_1) -{ - float var_f31; - float var_f30; - s32 var_r30; - - Hu3DModelAttrReset(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelTPLvlSet(object->model[2], 0.0f); - for (var_r30 = 0; var_r30 <= 0xF; var_r30++) { - fn_1_1B7D0(1); - var_f30 = fn_1_1B52C(0.0f, 0.5f, var_r30, 15.0f); - var_f31 = fn_1_1B52C(0.0f, 1.5f, var_r30, 15.0f); - Hu3DModelPosSet(object->model[2], Hu3DData[object->model[1]].pos.x, 850.0f, Hu3DData[object->model[1]].pos.z); - Hu3DModelScaleSet(object->model[2], var_f31, 2.0f, var_f31); - Hu3DModelTPLvlSet(object->model[2], var_f30); - } - arg_1->unk_04 = NULL; -} - -void fn_1_A2AC(omObjData *object, MpexDllUnkStruct4 *arg1) -{ - float var_f31; - s32 var_r30; - - for (var_r30 = 0; var_r30 <= 0xF; var_r30++) { - fn_1_1B7D0(1); - var_f31 = fn_1_1B52C(0.5f, 0.0f, var_r30, 15.0f); - Hu3DModelTPLvlSet(object->model[2], var_f31); - } - Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelTPLvlSet(object->model[2], 0.0f); - arg1->unk_04 = NULL; -} - -void fn_1_A3A4(void) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - - lbl_1_bss_3B0.unk_04 = (MpexDllUnkFunc2)fn_1_9F10; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - Hu3DModelAttrReset(lbl_1_bss_3B0.unk_00->model[var_r31 + 1], HU3D_ATTR_DISPOFF); - Hu3DModelTPLvlSet(lbl_1_bss_3B0.unk_00->model[var_r31 + 1], 0.0f); - } - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - fn_1_1B7D0(1); - var_f31 = fn_1_1B52C(0.0f, 0.5f, var_r31, 60.0f); - for (var_r30 = 0; var_r30 < 3; var_r30++) { - Hu3DModelTPLvlSet(lbl_1_bss_3B0.unk_00->model[var_r30 + 1], var_f31); - } - } - fn_1_1B7D0(0x5A); - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - fn_1_1B7D0(1); - var_f31 = fn_1_1B52C(0.5f, 0.0f, var_r31, 60.0f); - for (var_r30 = 0; var_r30 < 3; var_r30++) { - Hu3DModelTPLvlSet(lbl_1_bss_3B0.unk_00->model[var_r30 + 1], var_f31); - } - } - for (var_r31 = 0; var_r31 < 3; var_r31++) { - Hu3DModelAttrSet(lbl_1_bss_3B0.unk_00->model[var_r31 + 1], HU3D_ATTR_DISPOFF); - Hu3DModelTPLvlSet(lbl_1_bss_3B0.unk_00->model[var_r31 + 1], 0.0f); - } - lbl_1_bss_3B0.unk_04 = NULL; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_A608(void) -{ - s32 var_r31; - s32 var_r29; - - fn_1_9740(lbl_1_bss_1B0); - OSReport("CNT:%d, WIN:%d %d %d %d\n", lbl_1_bss_B4, lbl_1_data_2B4[0], lbl_1_data_2B4[1], lbl_1_data_2B4[2], lbl_1_data_2B4[3]); - fn_1_9890(); - if (lbl_1_data_298 != -1) { - HuAudSeqPause(lbl_1_data_298, 1, 0x1F4); - } - HuPrcChildCreate(fn_1_A3A4, 0x3E8, 0x1000, 0, HuPrcCurrentGet()); - fn_1_1B7D0(0xF); - HuAudFXPlay(0x9E); - fn_1_1B7D0(0xA5); - HuAudFXPlay(0x9F); - HuAudFXPlay(0xA8); - HuAudFXPlay(0x9A); - if (lbl_1_data_298 != -1) { - HuAudSeqPause(lbl_1_data_298, 0, 0x7D0); - } - if ((lbl_1_bss_B4 >= 1) && (lbl_1_data_2C4 != 0)) { - for (var_r31 = 0; var_r31 < lbl_1_bss_B4; var_r31++) { - lbl_1_bss_1B8[lbl_1_data_2B4[var_r31]].unk_04 = (MpexDllUnkFunc2)fn_1_A0E4; - OSReport("CNT:%d, WIN:%d %d %d %d\n", lbl_1_bss_B4, lbl_1_data_2B4[0], lbl_1_data_2B4[1], lbl_1_data_2B4[2], lbl_1_data_2B4[3]); - } - fn_1_9D6C(); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (var_r31 == lbl_1_data_2B4[var_r29]) { - fn_1_25C4(lbl_1_bss_1B8[var_r31].unk_00, 1, 4, 0xF, 0); - break; - } - } - if (var_r29 == 4) { - fn_1_25C4(lbl_1_bss_1B8[var_r31].unk_00, 1, 5, 0xF, 0); - } - } - } - else { - fn_1_1B834(); - fn_1_25C4(lbl_1_bss_2D8->unk_00, 1, 3, 0xF, 1); - fn_1_1BA78(lbl_1_bss_1B0 + MAKE_MESSID(0x33, 0x96), -1, -1); - fn_1_25C4(lbl_1_bss_2D8->unk_00, 1, 1, 0xF, 1); - fn_1_1B9F4(); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - fn_1_25C4(lbl_1_bss_1B8[var_r31].unk_00, 1, 5, 0xF, 0); - } - } - fn_1_1B7D0(0x3C); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - fn_1_25C4(lbl_1_bss_1B8[var_r31].unk_00, 1, 1, 0xF, 1); - } - fn_1_B004(); - fn_1_1B7D0(1); - fn_1_B870(lbl_1_bss_1B0); - fn_1_1B7D0(0x3C); - fn_1_1B7D0(0x3C); - fn_1_1BD00(0x240007, 1); - do { - fn_1_1B7D0(1); - } while ((HuPadBtnDown[0] & 0x100) == 0); - HuAudFXPlay(2); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_1B8[var_r31].unk_04 = (MpexDllUnkFunc2)fn_1_A2AC; - } - fn_1_1C120(); - fn_1_B9A8(lbl_1_bss_1B0); - fn_1_1B7D0(1); - fn_1_B210(); -} - -void fn_1_AD34(void) -{ - fn_1_9908(); - fn_1_1B7D0(0x3C); - fn_1_9988(lbl_1_bss_1B0); - if (lbl_1_data_298 != -1) { - HuAudSeqPause(lbl_1_data_298, 1, 0x1F4); - } - fn_1_1B7D0(0xF); - HuAudFXPlay(0x9E); - fn_1_1B7D0(0xA5); - lbl_1_bss_1B8[0].unk_04 = (MpexDllUnkFunc2)fn_1_A0E4; - #if VERSION_NTSC - if (((mgRecordExtra == 0) && (lbl_1_bss_1B0 != 4)) || ((mgRecordExtra >= 600*REFRESH_RATE) && (lbl_1_bss_1B0 == 4))) { - fn_1_25C4(lbl_1_bss_1B8[0].unk_00, 1, 5, 0xF, 0); - } - else { - fn_1_25C4(lbl_1_bss_1B8[0].unk_00, 1, 4, 0xF, 0); - } - #else - if (((mgRecordExtra == 0) && (lbl_1_bss_1B0 != 4)) || ((mgRecordExtra >= 500*REFRESH_RATE) && (lbl_1_bss_1B0 == 4))) { - fn_1_25C4(lbl_1_bss_1B8[0].unk_00, 1, 5, 0xF, 0); - } - else { - fn_1_25C4(lbl_1_bss_1B8[0].unk_00, 1, 4, 0xF, 0); - } - #endif - fn_1_BC18(); - fn_1_1B7D0(1); - HuAudFXPlay(0x9F); - HuAudFXPlay(0xA8); - HuAudFXPlay(0x9A); - if (lbl_1_data_298 != -1) { - HuAudSeqPause(lbl_1_data_298, 0, 0x7D0); - } - fn_1_C0DC(lbl_1_bss_1B0, rand8()); - fn_1_1B7D0(0x3C); - fn_1_25C4(lbl_1_bss_1B8[0].unk_00, 1, 1, 0xF, 1); - fn_1_9CD4(lbl_1_bss_1B0); - lbl_1_bss_1B8[0].unk_04 = (MpexDllUnkFunc2)fn_1_A2AC; - fn_1_C4D4(lbl_1_bss_1B0); - fn_1_1B7D0(1); - fn_1_BCD8(); -} - -void fn_1_B004(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - AnimData *var_r28; - - var_r29 = HuSprGrpCreate(0x1B); - lbl_1_bss_10C = var_r29; - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x37)), 0xBB8, 0); - HuSprGrpMemberSet(var_r29, 0, var_r30); - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x38)), 0x7D0, 0); - HuSprGrpMemberSet(var_r29, 1, var_r30); - for (var_r31 = 0; var_r31 < 8; var_r31++) { - var_r30 = HuSprCreate(HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MPEX, 0x3E)), 0x7D0, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 2, var_r30); - } - var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x3B)); - for (var_r31 = 0; var_r31 < 0xC; var_r31++) { - var_r30 = HuSprCreate(var_r28, 0x384, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0xA, var_r30); - } - var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x3C)); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = HuSprCreate(var_r28, 0x384, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x16, var_r30); - } - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x3D)), 0x7D0, 0); - HuSprGrpMemberSet(var_r29, 0x1A, var_r30); - fn_1_B2E4(0); - fn_1_B7F4(0); -} - -void fn_1_B210(void) -{ - s32 var_r31; - - var_r31 = lbl_1_bss_10C; - HuSprGrpKill(var_r31); -} - -s32 fn_1_B248(s32 arg0, s32 arg1) -{ - s32 var_r31 = 0; - if (lbl_1_bss_1B0 <= 1) { - var_r31 = GWPlayer[arg1].coins; - } - else { - var_r31 = GWPlayerCoinWinGet(arg1); - OSReport("########## %d:%d\n", arg1, var_r31); - } - return var_r31; -} - -void fn_1_B2E4(s32 arg0) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r24; - - var_r30 = lbl_1_bss_10C; - for (var_r31 = 0; var_r31 < 0x1B; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - if (arg0 != -1) { - HuSprAttrReset(var_r30, 0, 4); - HuSprPosSet(var_r30, 0, 288.0f, 148.0f); - HuSprAttrReset(var_r30, 1, 4); - HuSprPosSet(var_r30, 1, 288.0f, 156.0f); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r30, GWPlayerCfg[var_r31].character + 2, 4); - HuSprPosSet(var_r30, GWPlayerCfg[var_r31].character + 2, 201.0f, (var_r31 * 0x2A) + 0x60); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - for (var_r29 = 0; var_r29 < 3; var_r29++) { - HuSprAttrReset(var_r30, 0xA + var_r29 + (var_r31 * 3), 4); - HuSprPosSet(var_r30, 0xA + var_r29 + (var_r31 * 3), (var_r29 * 0x1C) + 0xF7, (var_r31 * 0x2A) + 0x60); - } - var_r24 = fn_1_B248(0, var_r31); - var_r28 = var_r24 / 100; - if (var_r28 == 0) { - HuSprAttrSet(var_r30, (var_r31 * 3) + 0xA, 4); - } - HuSprBankSet(var_r30, (var_r31 * 3) + 0xA, var_r28); - var_r28 = (var_r24 % 100) / 10; - if ((var_r28 == 0) && ((var_r24 / 100) == 0)) { - HuSprAttrSet(var_r30, (var_r31 * 3) + 0xB, 4); - } - HuSprBankSet(var_r30, (var_r31 * 3) + 0xB, var_r28); - var_r28 = var_r24 % 10; - HuSprBankSet(var_r30, (var_r31 * 3) + 0xC, var_r28); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 0x16, 4); - HuSprPosSet(var_r30, var_r31 + 0x16, 358.0f, (var_r31 * 0x2A) + 0x60); - switch (arg0) { - case 0: - case 1: - HuSprBankSet(var_r30, var_r31 + 0x16, 0); - break; - case 3: - HuSprBankSet(var_r30, var_r31 + 0x16, 1); - break; - case 2: - break; - } - } - HuSprAttrReset(var_r30, 0x1A, 4); - HuSprPosSet(var_r30, 0x1A, 288.0f, 55.0f); - switch (arg0) { - case 2: - break; - case 0: - HuSprBankSet(var_r30, 0x1A, 0); - break; - case 1: - HuSprBankSet(var_r30, 0x1A, 1); - break; - case 3: - HuSprBankSet(var_r30, 0x1A, 2); - break; - } - HuSprGrpPosSet(var_r30, 0.0f, -500.0f); - } - (void)var_r29; -} - -void fn_1_B7F4(s32 arg0) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_10C; - for (var_r31 = 0; var_r31 < 0x1B; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - HuSprGrpPosSet(var_r30, 0.0f, -500.0f); -} - -void fn_1_B870(s32 arg0) -{ - float var_f31; - s32 var_r31; - s32 var_r30 = lbl_1_bss_10C; - - fn_1_B2E4(arg0); - for (var_r31 = 0; var_r31 < 0x3C; var_r31++) { - fn_1_1B7D0(1); - if (var_r31 <= 0x32) { - var_f31 = fn_1_1B64C(-500.0f, 10.0f, var_r31, 50.0f); - } - else { - var_f31 = fn_1_1B574(10.0f, 0.0f, var_r31 - 0x32, 10.0f); - } - HuSprGrpPosSet(var_r30, 0.0f, var_f31); - } -} - -void fn_1_B9A8(s32 arg0) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r28 = lbl_1_bss_10C; - for (var_r31 = 0; var_r31 < 0x3C; var_r31++) { - fn_1_1B7D0(1); - if (var_r31 <= 0xA) { - var_f31 = fn_1_1B64C(0.0f, 10.0f, var_r31, 10.0f); - } - else { - var_f31 = fn_1_1B574(10.0f, -500.0f, var_r31 - 0xA, 50.0f); - } - HuSprGrpPosSet(var_r28, 0.0f, var_f31); - } - var_r29 = lbl_1_bss_10C; - for (var_r30 = 0; var_r30 < 0x1B; var_r30++) { - HuSprAttrSet(var_r29, var_r30, 4); - } - HuSprGrpPosSet(var_r29, 0.0f, -500.0f); -} - -void fn_1_BB34(s32 arg0, s32 arg1) -{ - float sp10[2]; - s32 var_r31; - HuSprGrp *var_r30; - HuSprite *var_r29; - - var_r30 = &HuSprGrpData[winData[arg0].group]; - HuWinMesMaxSizeGet(1, sp10, arg1); - for (var_r31 = 0; var_r31 < var_r30->capacity; var_r31++) { - var_r29 = &HuSprData[var_r30->members[var_r31]]; - var_r29->x -= sp10[0] / 2; - var_r29->y -= 30.0f; - } -} - -void fn_1_BC18(void) -{ - s32 var_r31; - s32 var_r30 = HuSprGrpCreate(2); - - lbl_1_bss_108 = var_r30; - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x39)), 0xBB8, 0); - HuSprGrpMemberSet(var_r30, 0, var_r31); - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x3A)), 0x7D0, 0); - HuSprGrpMemberSet(var_r30, 1, var_r31); - fn_1_BD78(-1, 0); -} - -void fn_1_BCD8(void) -{ - s32 var_r31 = lbl_1_bss_108; - HuSprGrpKill(var_r31); -} - -u32 fn_1_BD10(s32 arg0, s32 arg1) -{ - s32 var_r31 = fn_1_C898(arg1, arg0, lbl_1_bss_1AC, 0); - return ((arg0 - 4) * 0xA) + MAKE_MESSID(0x33, 0x00) + var_r31 + 0x51; -} - -void fn_1_BD78(s32 arg0, s32 arg1) -{ - float sp10[2]; - s32 var_r31; - s32 var_r30; - u32 var_r25; - - var_r31 = lbl_1_bss_108; - for (var_r30 = 0; var_r30 < 2; var_r30++) { - HuSprAttrSet(var_r31, var_r30, 4); - } - if (arg0 != -1) { - HuSprAttrReset(var_r31, 0, 4); - HuSprAttrReset(var_r31, 1, 4); - HuSprBankSet(var_r31, 1, arg0 - 4); - HuSprGrpPosSet(var_r31, 288.0f, 100.0f); - HuSprGrpScaleSet(var_r31, 0.0f, 0.0f); - OSReport("#################### SCORE(%d-%d) : %d\n", arg0, lbl_1_bss_1AC, mgRecordExtra); - var_r25 = fn_1_BD10(arg0, mgRecordExtra); - HuWinMesMaxSizeGet(1, sp10, var_r25); - lbl_1_bss_104 = HuWinCreate(0.0f, 0.0f, sp10[0], sp10[1], 0); - HuWinBGTPLvlSet(lbl_1_bss_104, 0.0f); - HuWinMesSpeedSet(lbl_1_bss_104, 0); - HuWinDispOn(lbl_1_bss_104); - fn_1_BB34(lbl_1_bss_104, var_r25); - HuWinMesSet(lbl_1_bss_104, var_r25); - HuWinPosSet(lbl_1_bss_104, 296.0f, 100.0f); - } -} - -void fn_1_C06C(void) -{ - s32 var_r31; - s32 var_r30 = lbl_1_bss_108; - for (var_r31 = 0; var_r31 < 2; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - HuWinKill(lbl_1_bss_104); -} - -void fn_1_C0DC(s32 arg0, s32 arg1) -{ - float var_f31; - float var_f30; - s32 var_r30; - s32 var_r24; - s32 var_r22; - - var_r30 = 0; - var_r22 = lbl_1_bss_108; - var_f30 = 1.5f; - fn_1_BD78(arg0, arg1); - for (var_r24 = 0; var_r24 < 0xA; var_r24++) { - fn_1_1B7D0(1); - var_f31 = fn_1_1B64C(var_f30, 1.0f, var_r30, 5.0f); - if (++var_r30 == 5) { - if (var_f30 > 1.0f) { - var_f30 -= 0.1f; - } - var_r30 = 0; - } - HuSprGrpScaleSet(var_r22, var_f31, var_f31); - HuWinScaleSet(lbl_1_bss_104, var_f31, var_f31); - } -} - -void fn_1_C4D4(s32 arg0) -{ - fn_1_C06C(); -} - -s32 lbl_1_data_324 = 0xFFFFFFFF; -s32 lbl_1_data_328 = -1; -s32 lbl_1_data_32C[3] = { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }; - -void fn_1_C544(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - AnimData *var_r28; - - var_r29 = HuSprGrpCreate(0x25); - lbl_1_data_324 = var_r29; - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x1B)), 0x1388, 0); - HuSprGrpMemberSet(var_r29, 0, var_r31); - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x1C)), 0x1388, 0); - HuSprGrpMemberSet(var_r29, 0x23, var_r31); - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x1D)), 0x7D0, 0); - HuSprGrpMemberSet(var_r29, 1, var_r31); - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x1E)), 0x7D0, 0); - HuSprGrpMemberSet(var_r29, 2, var_r31); - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x1F)), 0x7D0, 0); - HuSprGrpMemberSet(var_r29, 3, var_r31); - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x20)), 0x76C, 0); - HuSprGrpMemberSet(var_r29, 4, var_r31); - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x21)), 0x834, 0); - HuSprGrpMemberSet(var_r29, 6, var_r31); - for (var_r30 = 0; var_r30 < 3; var_r30++) { - var_r31 = HuSprCreate(HuSprAnimReadFile(var_r30 + DATA_MAKE_NUM(DATADIR_MPEX, 0x2F)), 0xA, 0); - HuSprGrpMemberSet(var_r29, var_r30 + 7, var_r31); - } - for (var_r30 = 0; var_r30 < 3; var_r30++) { - var_r31 = HuSprCreate(HuSprAnimReadFile(var_r30 + DATA_MAKE_NUM(DATADIR_MPEX, 0x32)), 0xA, 0); - HuSprGrpMemberSet(var_r29, var_r30 + 0xA, var_r31); - } - var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x35)); - for (var_r30 = 0; var_r30 < 0x15; var_r30++) { - var_r31 = HuSprCreate(var_r28, 9, 0); - HuSprGrpMemberSet(var_r29, var_r30 + 0xD, var_r31); - } - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x15)), 8, 0); - HuSprGrpMemberSet(var_r29, 0x22, var_r31); - fn_1_CF10(-1); - fn_1_D3AC(-1); -} - -void fn_1_C860(void) -{ - s32 var_r31 = lbl_1_data_324; - HuSprGrpKill(var_r31); -} - -s32 fn_1_C898(s32 arg0, s32 arg1, s32 arg2, s32 arg3) -{ - #if VERSION_NTSC - s32 sp88[5][9] = { - { 0x64, 0xC8, 0x12C, 0x136, 0x140, 0x14A, 0x154, 0x15E, 0x168 }, - { 0x05, 0x0A, 0x0F, 0x14, 0x19, 0x1E, 0x23, 0x28, 0x32 }, - { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 }, - { 0xE10, 0x1C20, 0x2A30, 0x3840, 0x4650, 0x5460, 0x6270, 0x7080, 0x7E90 }, - { 0x0A, 0x14, 0x1E, 0x23, 0x28, 0x2D, 0x32, 0x35, 0x37 }, - }; - s32 sp1C[3][9] = { - { 0x4650, 0x3840, 0x2A30, 0x1C20, 0x0E10, 0, 0, 0, 0 }, - { 0x4650, 0x3840, 0x2A30, 0x1C20, 0x1770, 0x12C0, 0x0E10, 0, 0 }, - { 0x4650, 0x3840, 0x2A30, 0x2328, 0x1C20, 0x19C8, 0x1770, 0x1644, 0x1518 }, - }; - #else - s32 sp88[5][9] = { - { 0x32, 0x64, 0xC8, 0x12C, 0x136, 0x140, 0x14A, 0x154, 0x15E }, - { 0x05, 0x0A, 0x0F, 0x14, 0x19, 0x1E, 0x23, 0x28, 0x32 }, - { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 }, - { 60*REFRESH_RATE, 120*REFRESH_RATE, 180*REFRESH_RATE, 240*REFRESH_RATE, 300*REFRESH_RATE, - 360*REFRESH_RATE, 420*REFRESH_RATE, 480*REFRESH_RATE, 540*REFRESH_RATE }, - { 0x0A, 0xF, 0x14, 0x19, 0x1E, 0x23, 0x28, 0x2B, 0x2D }, - }; - s32 sp1C[3][9] = { - { 300*REFRESH_RATE, 240*REFRESH_RATE, 180*REFRESH_RATE, 120*REFRESH_RATE, 60*REFRESH_RATE, 0, 0, 0, 0 }, - { 300*REFRESH_RATE, 240*REFRESH_RATE, 180*REFRESH_RATE, 120*REFRESH_RATE, 110*REFRESH_RATE, 100*REFRESH_RATE, 90*REFRESH_RATE, 0, 0 }, - { 300*REFRESH_RATE, 240*REFRESH_RATE, 180*REFRESH_RATE, 170*REFRESH_RATE, 124*REFRESH_RATE, 150*REFRESH_RATE, 140*REFRESH_RATE, 130*REFRESH_RATE, 120*REFRESH_RATE }, - }; - #endif - s32 sp10[3]; - s32 var_r31; - s32 var_r30; - - if (arg1 >= 5) { - for (var_r31 = 0; var_r31 < 9; var_r31++) { - if (arg0 < sp88[arg1 - 5][var_r31]) { - break; - } - } - } - else if (arg3 != 0) { - for (var_r30 = 0; var_r30 < 3; var_r30++) { - OSReport("#################### HI-SCORE(%d-%d) : %d\n", arg1, var_r30, GWGameStat.mg_record[var_r30 + 6]); - arg0 = GWGameStat.mg_record[var_r30 + 6]; - for (var_r31 = 0; var_r31 < 9; var_r31++) { - if (arg0 >= sp1C[var_r30][var_r31]) { - break; - } - } - sp10[var_r30] = var_r31; - } - if (sp10[0] <= sp10[1]) { - var_r31 = sp10[1]; - } - else { - var_r31 = sp10[0]; - } - if (var_r31 <= sp10[2]) { - var_r31 = sp10[2]; - } - } - else { - for (var_r31 = 0; var_r31 < 9; var_r31++) { - if (arg0 >= sp1C[arg2][var_r31]) { - break; - } - } - } - return var_r31; -} - -void fn_1_CA98(s32 arg0, u32 arg1) -{ - s32 sp8[11] = { - 0xFFFFFFFF, - 0xFFFFFFFF, - 0xFFFFFFFF, - 0x00000009, - 0xFFFFFFFF, - 0x00000004, - 0x0000000B, - 0x0000000C, - 0x0000000D, - 0x0000000E, - 0xFFFFFFFF, - }; - s32 var_r31; - u32 var_r29; - u32 var_r28; - - switch (arg1) { - case 0: - case 1: - case 2: - case 10: - break; - case 4: - var_r31 = fn_1_C898(-1, arg1, 0, 1); - HuWinInsertMesSet(arg0, ((arg1 - 4) * 0xA) + 0x330000 + var_r31 + 0x51, 3); - break; - case 5: - case 6: - case 7: - case 9: - var_r31 = fn_1_C898(GWGameStat.mg_record[sp8[arg1]], arg1, 0, 0); - HuWinInsertMesSet(arg0, ((arg1 - 4) * 0xA) + 0x330000 + var_r31 + 0x51, 3); - case 3: - OSReport("#################### HI-SCORE(%d) : %d\n", arg1, GWGameStat.mg_record[sp8[arg1]]); - var_r31 = GWGameStat.mg_record[sp8[arg1]]; - #if VERSION_NTSC - if (var_r31 < 0xA) { - sprintf(lbl_1_bss_FC, " %d", var_r31); - } - else if (var_r31 < 0x64) { - sprintf(lbl_1_bss_FC, " %d", var_r31); - } - else { - sprintf(lbl_1_bss_FC, "%d", var_r31); - } - #else - sprintf(lbl_1_bss_FC, " %d", var_r31); - #endif - HuWinInsertMesSet(arg0, (u32)lbl_1_bss_FC, 0); - break; - case 8: - OSReport("#################### HI-SCORE(%d) : %d\n", arg1, GWGameStat.mg_record[sp8[arg1]]); - var_r31 = GWGameStat.mg_record[sp8[arg1]]; - var_r29 = var_r31 / (600 *REFRESH_RATE); - var_r31 -= var_r29 * (600 *REFRESH_RATE); - var_r28 = var_r31 / (60 *REFRESH_RATE); - var_r31 -= var_r28 * (60 *REFRESH_RATE); - sprintf(lbl_1_bss_F4, " %d", var_r28); - HuWinInsertMesSet(arg0, (u32)lbl_1_bss_F4, 0); - var_r29 = var_r31 / (10 *REFRESH_RATE); - var_r31 -= var_r29 * (10 *REFRESH_RATE); - var_r28 = var_r31 / REFRESH_RATE; - var_r31 -= var_r28 * REFRESH_RATE; - sprintf(lbl_1_bss_EC, "%d%d", var_r29, var_r28); - HuWinInsertMesSet(arg0, (u32)lbl_1_bss_EC, 1); - var_r31 = (101.5/REFRESH_RATE) * (float)var_r31; - var_r29 = var_r31 / 10; - var_r31 -= var_r29 * 0xA; - var_r28 = var_r31; - if (GWGameStat.mg_record[sp8[arg1]] >= ((600*REFRESH_RATE)-1)) { - sprintf(lbl_1_bss_E4, "99"); - } - else { - sprintf(lbl_1_bss_E4, "%d%d", var_r29, var_r28); - } - HuWinInsertMesSet(arg0, (u32)lbl_1_bss_E4, 2); - var_r31 = fn_1_C898(GWGameStat.mg_record[sp8[arg1]], arg1, 0, 0); - HuWinInsertMesSet(arg0, ((arg1 - 4) * 0xA) + 0x330000 + var_r31 + 0x51, 3); - break; - default: - break; - } -} - -void fn_1_CF10(s32 arg0) -{ - s32 var_r31; - s32 var_r30; - s32 var_r28; - - var_r31 = lbl_1_data_324; - for (var_r30 = 0; var_r30 < 0x25; var_r30++) { - HuSprAttrSet(var_r31, var_r30, 4); - } - if (arg0 != -1) { - s32 sp8[11][4] = { - { 0x00370000, 0x00370001, 0x00370002, 0x0017003E }, - { 0x00370003, 0x00370004, 0x00370005, 0x0017003F }, - { 0x00370006, 0x00370007, 0x00370008, 0x0017003D }, - { 0x00370009, 0x0037000A, 0x0037000B, 0x00170034 }, - { 0x0037000C, 0x0037000D, 0x0037000E, 0x00170033 }, - { 0x0037000F, 0x00370010, 0x00370011, 0x0017002A }, - { 0x00370012, 0x00370013, 0x00370014, 0x00170039 }, - { 0x00370015, 0x00370016, 0x00370017, 0x0017003A }, - { 0x00370018, 0x00370019, 0x0037001A, 0x0017003B }, - { 0x0037001B, 0x0037001C, 0x0037001D, 0x0017003C }, - { 0x0037001E, 0x0037001F, 0x00370020, 0x00170021 }, - }; - var_r28 = HuSprCreate(HuSprAnimReadFile(arg0 + DATA_MAKE_NUM(DATADIR_MPEX, 0x22)), 0x7D0, 0); - HuSprGrpMemberSet(var_r31, 5, var_r28); - lbl_1_data_328 = fn_1_1D02C(sp8[arg0][3]); - HuSprGrpPosSet(lbl_1_data_328, 288.0f, -437.0f); - for (var_r30 = 0; var_r30 < 3; var_r30++) { - lbl_1_data_32C[var_r30] = HuWinCreate(0.0f, 0.0f, 0x136, 0x78, 0); - HuWinBGTPLvlSet(lbl_1_data_32C[var_r30], 0.0f); - HuWinMesSpeedSet(lbl_1_data_32C[var_r30], 0); - HuWinDispOn(lbl_1_data_32C[var_r30]); - if (sp8[arg0][var_r30] != -1) { - if (var_r30 == 2) { - fn_1_CA98(lbl_1_data_32C[2], arg0); - } - HuWinMesSet(lbl_1_data_32C[var_r30], sp8[arg0][var_r30]); - } - HuWinPosSet(lbl_1_data_32C[var_r30], -485.0f, (var_r30 << 7) + 0x70); - } - if (arg0 != 0xA) { - HuSprAttrReset(var_r31, 0, 4); - HuSprPosSet(var_r31, 0, 288.0f, 240.0f); - HuSprTPLvlSet(var_r31, 0, 0.0f); - } - else { - HuSprAttrReset(var_r31, 0x23, 4); - HuSprPosSet(var_r31, 0x23, 288.0f, 240.0f); - HuSprTPLvlSet(var_r31, 0x23, 0.0f); - } - HuSprAttrReset(var_r31, 1, 4); - HuSprPosSet(var_r31, 1, -331.0f, 272.0f); - HuSprAttrReset(var_r31, 2, 4); - HuSprPosSet(var_r31, 2, 452.0f, 911.0f); - HuSprAttrReset(var_r31, 3, 4); - HuSprPosSet(var_r31, 3, 288.0f, -437.0f); - HuSprAttrReset(var_r31, 4, 4); - HuSprPosSet(var_r31, 4, 952.0f, 212.0f); - HuSprAttrReset(var_r31, 5, 4); - HuSprPosSet(var_r31, 5, 952.0f, 212.0f); - HuSprScaleSet(var_r31, 5, 0.5f, 0.5f); - HuSprAttrReset(var_r31, 6, 4); - HuSprPosSet(var_r31, 6, 952.0f, 212.0f); - } -} - -void fn_1_D3AC(s32 arg0) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = lbl_1_data_324; - for (var_r31 = 0; var_r31 < 0x25; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - if (arg0 != -1) { - HuSprGrpMemberKill(var_r30, 5); - HuSprGrpKill(lbl_1_data_328); - for (var_r31 = 0; var_r31 < 3; var_r31++) { - HuWinKill(lbl_1_data_32C[var_r31]); - } - } -} - -void fn_1_D468(s32 arg0) -{ - s32 var_r28; - s32 var_r30; - s32 var_r31; - - var_r31 = lbl_1_data_324; - fn_1_CF10(arg0); - if (arg0 != 0xA) { - HuSprTPLvlSet(var_r31, 0, 1.0f); - } - else { - HuSprTPLvlSet(var_r31, 0x23, 1.0f); - } - HuSprPosSet(var_r31, 3, 288.0f, 63.0f); - HuSprGrpPosSet(lbl_1_data_328, 288.0f, 63.0f); - HuSprPosSet(var_r31, 1, 169.0f, 272.0f); - for (var_r30 = 0; var_r30 < 3; var_r30++) { - HuWinPosSet(lbl_1_data_32C[var_r30], 14.0f, (var_r30 << 7) + 0x70); - } - HuSprPosSet(var_r31, 4, 452.0f, 212.0f); - HuSprPosSet(var_r31, 5, 452.0f, 212.0f); - HuSprPosSet(var_r31, 6, 452.0f, 212.0f); - HuSprPosSet(var_r31, 2, 452.0f, 411.0f); - var_r28 = lbl_1_bss_63C[2]; - if (arg0 <= 3) { - fn_1_1A5A4(0); - } - else { - fn_1_1A5A4(1); - } - HuSprGrpPosSet(var_r28, 452.0f, 355.0f); -} - -void fn_1_D6AC(s32 arg0) -{ - float var_f31; - float var_f30; - float var_f29; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r26; - - var_r30 = lbl_1_data_324; - fn_1_CF10(arg0); - for (var_r31 = 0; var_r31 <= 0x1E; var_r31++) { - fn_1_1B7D0(1); - var_f31 = fn_1_1B64C(0.0f, 1.0f, var_r31, 30.0f); - if (arg0 != 0xA) { - HuSprTPLvlSet(var_r30, 0, var_f31); - } - else { - HuSprTPLvlSet(var_r30, 0x23, var_f31); - } - } - if (arg0 != 0xA) { - HuSprTPLvlSet(var_r30, 0, 1.0f); - } - else { - HuSprTPLvlSet(var_r30, 0x23, 1.0f); - } - for (var_r31 = 0; var_r31 <= 0x1E; var_r31++) { - fn_1_1B7D0(1); - var_r29 = fn_1_1B64C(-500.0f, 0.0f, var_r31, 30.0f); - HuSprPosSet(var_r30, 3, 288.0f, var_r29 + 0x3F); - HuSprGrpPosSet(lbl_1_data_328, 288.0f, var_r29 + 0x3F); - HuSprPosSet(var_r30, 1, var_r29 + 0xA9, 272.0f); - for (var_r28 = 0; var_r28 < 3; var_r28++) { - HuWinPosSet(lbl_1_data_32C[var_r28], var_r29 + 0xE, (var_r28 << 7) + 0x70); - } - var_r29 = fn_1_1B64C(500.0f, 0.0f, var_r31, 30.0f); - HuSprPosSet(var_r30, 4, var_r29 + 0x1C4, 212.0f); - HuSprPosSet(var_r30, 5, var_r29 + 0x1C4, 212.0f); - HuSprPosSet(var_r30, 6, var_r29 + 0x1C4, 212.0f); - HuSprPosSet(var_r30, 2, 452.0f, var_r29 + 0x19B); - if (arg0 != 0xA) { - var_r26 = lbl_1_bss_63C[2]; - var_f30 = fn_1_1B64C(112.0f, 452.0f, var_r31, 30.0f); - var_f29 = fn_1_1B64C(72.0f, 355.0f, var_r31, 30.0f); - HuSprGrpPosSet(var_r26, var_f30, var_f29); - } - } -} - -void fn_1_DBD0(s32 arg0) -{ - float var_f31; - float var_f30; - float var_f29; - - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r25; - s32 var_r24; - - var_r30 = lbl_1_data_324; - for (var_r31 = 0; var_r31 <= 0x1E; var_r31++) { - fn_1_1B7D0(1); - var_r29 = fn_1_1B574(0.0f, -500.0f, var_r31, 30.0f); - HuSprPosSet(var_r30, 3, 288.0f, var_r29 + 0x3F); - HuSprGrpPosSet(lbl_1_data_328, 288.0f, var_r29 + 0x3F); - HuSprPosSet(var_r30, 1, var_r29 + 0xA9, 272.0f); - for (var_r27 = 0; var_r27 < 3; var_r27++) { - HuWinPosSet(lbl_1_data_32C[var_r27], var_r29 + 0xE, (var_r27 << 7) + 0x70); - } - var_r29 = fn_1_1B574(0.0f, 500.0f, var_r31, 30.0f); - HuSprPosSet(var_r30, 4, var_r29 + 0x1C4, 212.0f); - HuSprPosSet(var_r30, 5, var_r29 + 0x1C4, 212.0f); - HuSprPosSet(var_r30, 6, var_r29 + 0x1C4, 212.0f); - HuSprPosSet(var_r30, 2, 452.0f, var_r29 + 0x19B); - if (arg0 != 0xA) { - var_r24 = lbl_1_bss_63C[2]; - var_f30 = fn_1_1B574(452.0f, 112.0f, var_r31, 30.0f); - var_f29 = fn_1_1B574(355.0f, 72.0f, var_r31, 30.0f); - HuSprGrpPosSet(var_r24, var_f30, var_f29); - } - } - for (var_r31 = 0; var_r31 <= 0x1E; var_r31++) { - fn_1_1B7D0(1); - var_f31 = fn_1_1B574(1.0f, 0.0f, var_r31, 30.0f); - if (arg0 != 0xA) { - HuSprTPLvlSet(var_r30, 0, var_f31); - } - else { - HuSprTPLvlSet(var_r30, 0x23, var_f31); - } - } - if (arg0 != 0xA) { - HuSprTPLvlSet(var_r30, 0, 0.0f); - } - else { - HuSprTPLvlSet(var_r30, 0x23, 0.0f); - } - var_r25 = lbl_1_data_324; - for (var_r28 = 0; var_r28 < 0x25; var_r28++) { - HuSprAttrSet(var_r25, var_r28, 4); - } - if (arg0 != -1) { - HuSprGrpMemberKill(var_r25, 5); - HuSprGrpKill(lbl_1_data_328); - for (var_r28 = 0; var_r28 < 3; var_r28++) { - HuWinKill(lbl_1_data_32C[var_r28]); - } - } -} - -void fn_1_E174(void) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - - var_r30 = lbl_1_data_324; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 7, 4); - HuSprPosSet(var_r30, var_r31 + 7, 788.0f, (var_r31 * 0x38) + 0xB8); - } - for (var_r29 = 0; var_r29 <= 0x3C; var_r29++) { - fn_1_1B7D0(1); - for (var_r31 = 0; var_r31 < 3; var_r31++) { - var_f31 = fn_1_1B64C(1000.0f, 0.0f, var_r29, 0x3C - ((2 - var_r31) * 5)); - HuSprPosSet(var_r30, var_r31 + 7, 288.0f + var_f31, (var_r31 * 0x38) + 0xB8); - } - } - HuSprAttrReset(var_r30, 0x22, 4); - HuSprPosSet(var_r30, 0x22, 185.0f, (lbl_1_bss_3B0.unk_10 * 0x38) + 0xA0); -} - -void fn_1_E384(void) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - - var_r30 = lbl_1_data_324; - HuSprAttrSet(var_r30, 0x22, 4); - HuSprPosSet(var_r30, 0x22, 125.0f, 190.0f); - for (var_r29 = 0; var_r29 <= 0x3C; var_r29++) { - fn_1_1B7D0(1); - for (var_r31 = 0; var_r31 < 3; var_r31++) { - var_f31 = fn_1_1B574(0.0f, -1000.0f, var_r29, 0x3C - ((2 - var_r31) * 5)); - HuSprPosSet(var_r30, var_r31 + 7, 288.0f + var_f31, (var_r31 * 0x38) + 0xB8); - } - } - for (var_r31 = 0; var_r31 < 3; var_r31++) { - HuSprAttrSet(var_r30, var_r31 + 7, 4); - HuSprPosSet(var_r30, var_r31 + 7, 288.0f, (var_r31 * 0x38) + 0xB8); - } -} - -void fn_1_E568(void) -{ - s32 sp10; - s32 spC; - s32 sp8; - float var_f31; - - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - u32 var_r27; - u32 var_r26; - s32 var_r25; - - var_r29 = lbl_1_data_324; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - sp10 = rand8() % 10; - spC = rand8() % 60; - sp8 = rand8() % 100; - HuSprAttrReset(var_r29, var_r31 + 0xA, 4); - HuSprPosSet(var_r29, var_r31 + 0xA, 1288.0f, (var_r31 * 0x38) + 0xB8); - for (var_r28 = 0; var_r28 < 7; var_r28++) { - HuSprAttrReset(var_r29, 0xD + var_r28 + (var_r31 * 7), 4); - HuSprPosSet(var_r29, 0x0D + var_r28 + (var_r31 * 7), (var_r28 * 0x14) + 0x512, (var_r31 * 0x38) + 0xBA); - } - var_r30 = GWGameStat.mg_record[var_r31 + 6]; - var_r27 = var_r30 / (600*REFRESH_RATE); - var_r30 -= var_r27 * (600*REFRESH_RATE); - var_r26 = var_r30 / (60*REFRESH_RATE); - var_r30 -= var_r26 * (60*REFRESH_RATE); - HuSprBankSet(var_r29, (var_r31 * 7) + 0xD, var_r26); - HuSprBankSet(var_r29, (var_r31 * 7) + 0xE, 0xA); - var_r27 = var_r30 / (10*REFRESH_RATE); - var_r30 -= var_r27 * (10*REFRESH_RATE); - var_r26 = var_r30 / REFRESH_RATE; - var_r30 -= var_r26 * REFRESH_RATE; - HuSprBankSet(var_r29, (var_r31 * 7) + 0xF, var_r27); - HuSprBankSet(var_r29, (var_r31 * 7) + 0x10, var_r26); - HuSprBankSet(var_r29, (var_r31 * 7) + 0x11, 0xB); - var_r30 = (100.0/REFRESH_RATE) * (float)var_r30; - var_r27 = var_r30 / 10; - var_r30 -= var_r27 * 0xA; - var_r26 = var_r30; - if (GWGameStat.mg_record[var_r31 + 6] == ((600*REFRESH_RATE)-1)) { - HuSprBankSet(var_r29, (var_r31 * 7) + 0x12, 9); - HuSprBankSet(var_r29, (var_r31 * 7) + 0x13, 9); - } - else { - HuSprBankSet(var_r29, (var_r31 * 7) + 0x12, var_r27); - HuSprBankSet(var_r29, (var_r31 * 7) + 0x13, var_r26); - } - } - for (var_r25 = 0; var_r25 <= 0x3C; var_r25++) { - fn_1_1B7D0(1); - for (var_r31 = 0; var_r31 < 3; var_r31++) { - var_f31 = fn_1_1B64C(1000.0f, 0.0f, var_r25, 0x3C - ((2 - var_r31) * 5)); - HuSprPosSet(var_r29, var_r31 + 0xA, 288.0f + var_f31, (var_r31 * 0x38) + 0xB8); - for (var_r28 = 0; var_r28 < 7; var_r28++) { - HuSprPosSet(var_r29, 0xD + var_r28 + (var_r31 * 7), var_f31 + ((var_r28 * 0x14) + 0x12A), (var_r31 * 0x38) + 0xBA); - } - } - } - HuSprAttrReset(var_r29, 0x22, 4); - HuSprPosSet(var_r29, 0x22, 110.0f, (lbl_1_bss_3B0.unk_10 * 0x38) + 0xA0); -} - -void fn_1_EB1C(void) -{ - float var_f31; - s32 var_r28; - s32 var_r29; - s32 var_r30; - s32 var_r31; - - var_r29 = lbl_1_data_324; - HuSprAttrSet(var_r29, 0x22, 4); - HuSprPosSet(var_r29, 0x22, 125.0f, 184.0f); - for (var_r28 = 0; var_r28 <= 0x3C; var_r28++) { - fn_1_1B7D0(1); - for (var_r31 = 0; var_r31 < 3; var_r31++) { - var_f31 = fn_1_1B574(0.0f, -1000.0f, var_r28, 0x3C - ((2 - var_r31) * 5)); - HuSprPosSet(var_r29, var_r31 + 0xA, 288.0f + var_f31, (var_r31 * 0x38) + 0xB8); - for (var_r30 = 0; var_r30 < 7; var_r30++) { - HuSprPosSet(var_r29, 0xD + var_r30 + (var_r31 * 7), var_f31 + ((var_r30 * 0x14) + 0x12A), (var_r31 * 0x38) + 0xBA); - } - } - } - for (var_r31 = 0; var_r31 < 3; var_r31++) { - HuSprAttrSet(var_r29, var_r31 + 0xA, 4); - for (var_r30 = 0; var_r30 < 7; var_r30++) { - HuSprAttrSet(var_r29, 0xD + var_r30 + (var_r31 * 7), 4); - } - } -} - -void fn_1_ED78(s32 arg0, s32 arg1) -{ - float var_f31; - float var_f30; - s32 var_r31; - s32 var_r30; - s32 var_r29; - - var_r30 = lbl_1_data_324; - { - s32 spC[3] = { 4, 11, 12 }; - for (var_r31 = 0; var_r31 <= 0xA; var_r31++) { - fn_1_1B7D0(1); - if (var_r31 <= 5) { - var_f30 = fn_1_1B64C(1.0f, 0.0f, var_r31, 5.0f); - } - else { - var_f30 = fn_1_1B64C(0.0f, 1.0f, var_r31, var_r31 - 5); - } - if (lbl_1_bss_1B0 == 4) { - HuSprTPLvlSet(var_r30, 5, var_f30); - } - var_f31 = fn_1_1B64C((arg1 * 0x38) + 0xA0, (arg0 * 0x38) + 0xA0, var_r31, 10.0f); - if (lbl_1_bss_1B0 == 4) { - HuSprPosSet(var_r30, 0x22, 110.0f, var_f31); - } - else { - HuSprPosSet(var_r30, 0x22, 185.0f, var_f31); - } - if ((lbl_1_bss_1B0 == 4) && (var_r31 == 5)) { - HuSprGrpMemberKill(var_r30, 5); - var_r29 = HuSprCreate(HuSprAnimReadFile(spC[arg0] + DATA_MAKE_NUM(DATADIR_MPEX, 0x22)), 0x7D0, 0); - HuSprGrpMemberSet(var_r30, 5, var_r29); - HuSprPosSet(var_r30, 5, 452.0f, 212.0f); - HuSprScaleSet(var_r30, 5, 0.5f, 0.5f); - HuSprTPLvlSet(var_r30, 5, 0.0f); - } - } - } -} - -void fn_1_F0C0(void) -{ - float sp8[2]; - s32 var_r31; - s32 var_r30; - s32 var_r29; - - var_r30 = HuSprGrpCreate(3); - lbl_1_bss_E0 = var_r30; - var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x16)), 0xBB8, 0); - HuSprGrpMemberSet(var_r30, 0, var_r29); - HuSprPosSet(var_r30, 0, 0.0f, 88.0f); - var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x18)), 0x7D0, 0); - HuSprGrpMemberSet(var_r30, 1, var_r29); - HuSprPosSet(var_r30, 1, 0.0f, 25.0f); - var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x1A)), 0x3E8, 0); - HuSprGrpMemberSet(var_r30, 2, var_r29); - HuSprPosSet(var_r30, 2, 0.0f, 0.0f); - HuSprScaleSet(var_r30, 2, 0.9f, 0.65f); - HuSprTPLvlSet(var_r30, 2, 0.8f); - for (var_r31 = 0; var_r31 < 6; var_r31++) { - fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x2F)); - fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x30)); - fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x31)); - fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x32)); - lbl_1_bss_C8[var_r31] = HuWinCreate(0.0f, 0.0f, sp8[0], sp8[1], 0); - HuWinBGTPLvlSet(lbl_1_bss_C8[var_r31], 0.0f); - HuWinMesSpeedSet(lbl_1_bss_C8[var_r31], 0); - HuWinDispOff(lbl_1_bss_C8[var_r31]); - HuWinPosSet(lbl_1_bss_C8[var_r31], 304.0f, 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1F)) - 500.0f)); - } - fn_1_F47C(); - fn_1_F730(); -} - -void fn_1_F40C(void) -{ - s32 var_r31; - s32 var_r30 = lbl_1_bss_E0; - for (var_r31 = 0; var_r31 < 6; var_r31++) { - HuWinKill(lbl_1_bss_C8[var_r31]); - } - HuSprGrpKill(var_r30); -} - -void fn_1_F47C(void) -{ - float sp8[2]; - s32 var_r31; - - s32 var_r30 = lbl_1_bss_E0; - lbl_1_bss_3B0.unk_0C = 0; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - HuSprAttrReset(var_r30, 0, 4); - HuSprPosSet(var_r30, 0, 0.0f, 92.0f); - HuSprAttrReset(var_r30, 1, 4); - HuSprPosSet(var_r30, 1, 0.0f, 25.0f); - lbl_1_bss_3B0.unk_0C = 0; - HuSprPosSet(var_r30, 2, -3.0f, (lbl_1_bss_3B0.unk_0C * 0x19) + 0x3C); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuWinDispOn(lbl_1_bss_C8[var_r31]); - if (lbl_1_bss_180[var_r31] == 1) { - HuWinMesSet(lbl_1_bss_C8[var_r31], var_r31 + MAKE_MESSID(0x33, 0x2F)); - } - else { - HuWinMesSet(lbl_1_bss_C8[var_r31], MAKE_MESSID(0x33, 0x2E)); - } - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x33, 0x30)); - HuWinPosSet(lbl_1_bss_C8[var_r31], 288.0f - (sp8[0] / 2), 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1F)) - 500.0f)); - } - HuSprGrpPosSet(var_r30, 288.0f, -460.0f); -} - -void fn_1_F730(void) -{ - float sp8[2]; - s32 var_r31; - - s32 var_r30 = lbl_1_bss_E0; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuWinDispOff(lbl_1_bss_C8[var_r31]); - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x33, 0x30)); - HuWinPosSet(lbl_1_bss_C8[var_r31], 288.0f - (sp8[0] / 2), 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1F)) - 500.0f)); - } - HuSprGrpPosSet(var_r30, 288.0f, -460.0f); -} - -void fn_1_F8A4(void) -{ - float sp10[2]; - float sp8[2]; - float var_f31; - - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - s32 var_r27 = lbl_1_bss_E0; - sp10[0] = sp10[1] = 0.0f; - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x2E)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x2F)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x30)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x31)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x32)); - var_r30 = lbl_1_bss_E0; - lbl_1_bss_3B0.unk_0C = 0; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - HuSprAttrReset(var_r30, 0, 4); - HuSprPosSet(var_r30, 0, 0.0f, 92.0f); - HuSprAttrReset(var_r30, 1, 4); - HuSprPosSet(var_r30, 1, 0.0f, 25.0f); - lbl_1_bss_3B0.unk_0C = 0; - HuSprPosSet(var_r30, 2, -3.0f, (lbl_1_bss_3B0.unk_0C * 0x19) + 0x3C); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuWinDispOn(lbl_1_bss_C8[var_r31]); - if (lbl_1_bss_180[var_r31] == 1) { - HuWinMesSet(lbl_1_bss_C8[var_r31], var_r31 + MAKE_MESSID(0x33, 0x2F)); - } - else { - HuWinMesSet(lbl_1_bss_C8[var_r31], MAKE_MESSID(0x33, 0x2E)); - } - HuWinMesMaxSizeGet(1, sp8, 0x330030); - HuWinPosSet(lbl_1_bss_C8[var_r31], 288.0f - (sp8[0] / 2), 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1F)) - 500.0f)); - } - HuSprGrpPosSet(var_r30, 288.0f, -460.0f); - for (var_r29 = 0; var_r29 < 0x3C; var_r29++) { - fn_1_1B7D0(1); - if (var_r29 <= 0x32) { - var_f31 = fn_1_1B64C(-500.0f, 10.0f, var_r29, 50.0f); - } - else { - var_f31 = fn_1_1B574(10.0f, 0.0f, var_r29 - 0x32, 10.0f); - } - HuSprGrpPosSet(var_r27, 288.0f, 64.0f + (40.0f + var_f31)); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - HuWinPosSet(lbl_1_bss_C8[var_r28], 288.0f - (sp10[0] / 2), 64.0f + (40.0f + (var_f31 + ((60.0f - (sp10[1] / 2)) + (var_r28 * 0x1F))))); - } - } -} - -void fn_1_FDA0(void) -{ - float sp10[2]; - float sp8[2]; - float var_f31; - - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - s32 var_r27 = lbl_1_bss_E0; - sp10[0] = sp10[1] = 0.0f; - - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x2E)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x2F)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x30)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x31)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x32)); - for (var_r30 = 0; var_r30 < 0x3C; var_r30++) { - fn_1_1B7D0(1); - if (var_r30 <= 0xA) { - var_f31 = fn_1_1B64C(0.0f, 10.0f, var_r30, 10.0f); - } - else { - var_f31 = fn_1_1B574(10.0f, -500.0f, var_r30 - 0xA, 50.0f); - } - HuSprGrpPosSet(var_r27, 288.0f, 64.0f + (40.0f + var_f31)); - for (var_r29 = 0; var_r29 < 4; var_r29++) { - HuWinPosSet(lbl_1_bss_C8[var_r29], 288.0f - (sp10[0] / 2), 64.0f + (40.0f + (var_f31 + ((60.0f - (sp10[1] / 2)) + (var_r29 * 0x1F))))); - } - } - var_r28 = lbl_1_bss_E0; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - HuSprAttrSet(var_r28, var_r31, 4); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuWinDispOff(lbl_1_bss_C8[var_r31]); - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x33, 0x30)); - HuWinPosSet(lbl_1_bss_C8[var_r31], 288.0f - (sp8[0] / 2), 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1F)) - 500.0f)); - } - HuSprGrpPosSet(var_r28, 288.0f, -460.0f); -} - -void fn_1_1015C(void) -{ - float sp8[2]; - s32 var_r31 = lbl_1_bss_E0; - HuWinMesMaxSizeGet(1, sp8, 0x330030); - HuSprAttrReset(var_r31, 2, 4); - HuSprPosSet(var_r31, 2, 0.0f, 40.0f + ((60.0f - sp8[1]) + (lbl_1_bss_3B0.unk_0C * 0x1F))); -} - -void fn_1_10228(void) -{ - s32 var_r31 = lbl_1_bss_E0; - HuSprAttrSet(var_r31, 2, 4); -} - -void fn_1_10268(s32 arg0) -{ - float spC[2]; - float var_f31; - float var_f30; - float var_f29; - s32 var_r31; - s32 var_r30; - s32 var_r29; - - s32 var_r28 = lbl_1_bss_E0; - HuWinMesMaxSizeGet(1, spC, MAKE_MESSID(0x33, 0x30)); - var_r29 = lbl_1_bss_3B0.unk_0C; - var_r31 = lbl_1_bss_3B0.unk_0C + arg0; - if (var_r31 > 3) { - var_r31 = 0; - } - else if (var_r31 < 0) { - var_r31 = 3; - } - for (var_r30 = 0; var_r30 <= 5; var_r30++) { - fn_1_1B7D0(1); - var_f31 = 40.0f + ((60.0f - spC[1]) + (var_r29 * 0x1F)); - var_f30 = 40.0f + ((60.0f - spC[1]) + (var_r31 * 0x1F)); - var_f29 = fn_1_1B64C(var_f31, var_f30, var_r30, 5.0f); - HuSprPosSet(var_r28, 2, -4.0f, var_f29); - } - lbl_1_bss_3B0.unk_0C = var_r31; -} - -void fn_1_1045C(void) -{ - float sp8[2]; - s32 var_r31; - s32 var_r29; - - s32 var_r30 = HuSprGrpCreate(3); - lbl_1_bss_C4 = var_r30; - var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x17)), 0xBB8, 0); - HuSprGrpMemberSet(var_r30, 0, var_r29); - HuSprPosSet(var_r30, 0, 0.0f, 118.0f); - var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x19)), 0x7D0, 0); - HuSprGrpMemberSet(var_r30, 1, var_r29); - HuSprPosSet(var_r30, 1, 0.0f, 25.0f); - var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x1A)), 0x3E8, 0); - HuSprGrpMemberSet(var_r30, 2, var_r29); - HuSprPosSet(var_r30, 2, 0.0f, 0.0f); - HuSprPosSet(var_r30, 2, 0.0f, 0.0f); - HuSprScaleSet(var_r30, 2, 0.9f, 0.65f); - HuSprTPLvlSet(var_r30, 2, 0.8f); - for (var_r31 = 0; var_r31 < 6; var_r31++) { - fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x33)); - fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x34)); - fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x35)); - fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x36)); - fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x37)); - fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x38)); - lbl_1_bss_C8[var_r31] = HuWinCreate(0.0f, 0.0f, sp8[0], sp8[1], 0); - HuWinBGTPLvlSet(lbl_1_bss_C8[var_r31], 0.0f); - HuWinMesSpeedSet(lbl_1_bss_C8[var_r31], 0); - HuWinDispOff(lbl_1_bss_C8[var_r31]); - HuWinPosSet(lbl_1_bss_C8[var_r31], 304.0f, 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1D)) - 500.0f)); - } - fn_1_1085C(); - fn_1_10ABC(); - (void)var_r31; -} - -void fn_1_107EC(void) -{ - s32 var_r30; - s32 var_r31; - - var_r30 = lbl_1_bss_C4; - for (var_r31 = 0; var_r31 < 6; var_r31++) { - HuWinKill(lbl_1_bss_C8[var_r31]); - } - HuSprGrpKill(var_r30); -} - -void fn_1_1085C(void) -{ - float sp8[2]; - s32 var_r31; - - s32 var_r30 = lbl_1_bss_C4; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - HuSprAttrReset(var_r30, 0, 4); - HuSprAttrReset(var_r30, 1, 4); - lbl_1_bss_3B0.unk_0C = 0; - HuSprPosSet(var_r30, 2, -3.0f, (lbl_1_bss_3B0.unk_0C * 0x19) + 0x3C); - for (var_r31 = 0; var_r31 < 6; var_r31++) { - HuWinDispOn(lbl_1_bss_C8[var_r31]); - if (lbl_1_bss_180[var_r31 + 4] == 1) { - HuWinMesSet(lbl_1_bss_C8[var_r31], var_r31 + MAKE_MESSID(0x33, 0x33)); - } - else { - HuWinMesSet(lbl_1_bss_C8[var_r31], MAKE_MESSID(0x33, 0x2E)); - } - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x33, 0x33)); - HuWinPosSet(lbl_1_bss_C8[var_r31], 288.0f - (sp8[0] / 2), 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1D)) - 500.0f)); - } - HuSprGrpPosSet(var_r30, 288.0f, -460.0f); -} - -void fn_1_10ABC(void) -{ - float sp8[2]; - s32 var_r31; - - s32 var_r30 = lbl_1_bss_C4; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - for (var_r31 = 0; var_r31 < 6; var_r31++) { - HuWinDispOff(lbl_1_bss_C8[var_r31]); - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x33, 0x33)); - HuWinPosSet(lbl_1_bss_C8[var_r31], 288.0f - (sp8[0] / 2), 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1D)) - 500.0f)); - } - HuSprGrpPosSet(var_r30, 288.0f, -460.0f); -} - -void fn_1_10C30(void) -{ - float sp10[2]; - float sp8[2]; - float var_f31; - - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - var_r27 = lbl_1_bss_C4; - sp10[0] = sp10[1] = 0.0f; - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x2E)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x33)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x34)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x35)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x36)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x37)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x38)); - var_r28 = lbl_1_bss_C4; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - HuSprAttrSet(var_r28, var_r31, 4); - } - HuSprAttrReset(var_r28, 0, 4); - HuSprAttrReset(var_r28, 1, 4); - lbl_1_bss_3B0.unk_0C = 0; - HuSprPosSet(var_r28, 2, -3.0f, (lbl_1_bss_3B0.unk_0C * 0x19) + 0x3C); - for (var_r31 = 0; var_r31 < 6; var_r31++) { - HuWinDispOn(lbl_1_bss_C8[var_r31]); - if (lbl_1_bss_180[var_r31 + 4] == 1) { - HuWinMesSet(lbl_1_bss_C8[var_r31], var_r31 + MAKE_MESSID(0x33, 0x33)); - } - else { - HuWinMesSet(lbl_1_bss_C8[var_r31], MAKE_MESSID(0x33, 0x2E)); - } - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x33, 0x33)); - HuWinPosSet(lbl_1_bss_C8[var_r31], 288.0f - (sp8[0] / 2), 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1D)) - 500.0f)); - } - HuSprGrpPosSet(var_r28, 288.0f, -460.0f); - for (var_r30 = 0; var_r30 < 0x3C; var_r30++) { - fn_1_1B7D0(1); - if (var_r30 <= 0x32) { - var_f31 = fn_1_1B64C(-500.0f, 10.0f, var_r30, 50.0f); - } - else { - var_f31 = fn_1_1B574(10.0f, 0.0f, var_r30 - 0x32, 10.0f); - } - HuSprGrpPosSet(var_r27, 288.0f, 64.0f + (40.0f + var_f31)); - for (var_r29 = 0; var_r29 < 6; var_r29++) { - HuWinPosSet(lbl_1_bss_C8[var_r29], 288.0f - (sp10[0] / 2), 64.0f + (40.0f + (var_f31 + ((60.0f - (sp10[1] / 2)) + (var_r29 * 0x1D))))); - } - } -} - -void fn_1_110F8(void) -{ - float sp10[2]; - float sp8[2]; - float var_f31; - - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - var_r27 = lbl_1_bss_C4; - sp10[0] = sp10[1] = 0.0f; - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x2E)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x33)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x34)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x35)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x36)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x37)); - fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x38)); - for (var_r30 = 0; var_r30 < 0x3C; var_r30++) { - fn_1_1B7D0(1); - if (var_r30 <= 0xA) { - var_f31 = fn_1_1B64C(0.0f, 10.0f, var_r30, 10.0f); - } - else { - var_f31 = fn_1_1B574(10.0f, -500.0f, var_r30 - 0xA, 50.0f); - } - HuSprGrpPosSet(var_r27, 288.0f, 64.0f + (40.0f + var_f31)); - for (var_r29 = 0; var_r29 < 6; var_r29++) { - HuWinPosSet(lbl_1_bss_C8[var_r29], 288.0f - (sp10[0] / 2), 64.0f + (40.0f + (var_f31 + ((60.0f - (sp10[1] / 2)) + (var_r29 * 0x1D))))); - } - } - var_r28 = lbl_1_bss_C4; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - HuSprAttrSet(var_r28, var_r31, 4); - } - for (var_r31 = 0; var_r31 < 6; var_r31++) { - HuWinDispOff(lbl_1_bss_C8[var_r31]); - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x33, 0x33)); - HuWinPosSet(lbl_1_bss_C8[var_r31], 288.0f - (sp8[0] / 2), 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1D)) - 500.0f)); - } - HuSprGrpPosSet(var_r28, 288.0f, -460.0f); -} - -void fn_1_114D4(void) -{ - float sp8[2]; - s32 var_r31 = lbl_1_bss_C4; - HuWinMesMaxSizeGet(1, sp8, 0x330033); - HuSprAttrReset(var_r31, 2, 4); - HuSprPosSet(var_r31, 2, 0.0f, 40.0f + ((60.0f - sp8[1]) + (lbl_1_bss_3B0.unk_0C * 0x1D))); -} - -void fn_1_115A0(void) -{ - s32 var_r31 = lbl_1_bss_C4; - HuSprAttrSet(var_r31, 2, 4); -} - -void fn_1_115E0(s32 arg0) -{ - float spC[2]; - float var_f31; - float var_f30; - float var_f29; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r28 = lbl_1_bss_C4; - HuWinMesMaxSizeGet(1, spC, MAKE_MESSID(0x33, 0x33)); - var_r29 = lbl_1_bss_3B0.unk_0C; - var_r31 = lbl_1_bss_3B0.unk_0C + arg0; - if (var_r31 > 5) { - var_r31 = 0; - } - else if (var_r31 < 0) { - var_r31 = 5; - } - for (var_r30 = 0; var_r30 <= 5; var_r30++) { - fn_1_1B7D0(1); - var_f31 = 40.0f + ((60.0f - spC[1]) + (var_r29 * 0x1D)); - var_f30 = 40.0f + ((60.0f - spC[1]) + (var_r31 * 0x1D)); - var_f29 = fn_1_1B64C(var_f31, var_f30, var_r30, 5.0f); - HuSprPosSet(var_r28, 2, -4.0f, var_f29); - } - lbl_1_bss_3B0.unk_0C = var_r31; -} - -void fn_1_117D4(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - - var_r30 = HuSprGrpCreate(3); - lbl_1_bss_C0 = var_r30; - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x12)), 0xBB8, 0); - HuSprGrpMemberSet(var_r30, 0, var_r31); - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x13)), 0xBB8, 0); - HuSprGrpMemberSet(var_r30, 1, var_r31); - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x14)), 0xBB8, 0); - HuSprGrpMemberSet(var_r30, 2, var_r31); - var_r29 = HuSprGrpCreate(1); - lbl_1_bss_BC = var_r29; - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x15)), 0xBB8, 0); - HuSprGrpMemberSet(var_r29, 0, var_r31); - HuSprAttrSet(var_r29, 0, 4); - fn_1_11984(); - fn_1_119E0(); -} - -void fn_1_11930(void) -{ - s32 var_r31 = lbl_1_bss_C0; - s32 var_r30 = lbl_1_bss_BC; - HuSprGrpKill(var_r31); - HuSprGrpKill(var_r30); -} - -void fn_1_11984(void) -{ - s32 var_r31; - s32 var_r30 = lbl_1_bss_C0; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } -} - -void fn_1_119E0(void) -{ - s32 var_r31; - s32 var_r30 = lbl_1_bss_C0; - for (var_r31 = 0; var_r31 < 3; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } -} - -void fn_1_11A3C(s32 arg0) -{ - float var_f31; - float var_f30; - - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r26; - - var_r29 = lbl_1_bss_C0; - var_r28 = lbl_1_bss_BC; - { - s32 sp8[3][2] = { - { 0x72, 0xFA }, - { 0x144, 0xE1 }, - { 0xEF, 0x5A }, - }; - var_r26 = lbl_1_bss_C0; - for (var_r30 = 0; var_r30 < 3; var_r30++) { - HuSprAttrSet(var_r26, var_r30, 4); - } - if (lbl_1_bss_3B0.unk_08 != 2) { - HuSprAttrReset(var_r29, lbl_1_bss_3B0.unk_08, 4); - } - HuSprGrpScaleSet(var_r29, 0.0f, 0.0f); - for (var_r31 = 0; var_r31 <= 0xF; var_r31++) { - fn_1_1B7D0(1); - if (var_r31 <= 0xA) { - var_f31 = fn_1_1B64C(0.0f, 1.0f, var_r31, 10.0f); - var_f30 = 0.01f; - } - else { - var_f31 = 1.0f; - var_f30 = fn_1_1B64C(0.01f, 1.0f, var_r31 - 0xA, 5.0f); - } - HuSprGrpScaleSet(var_r29, var_f31, var_f30); - if (arg0 != -1) { - var_f31 = fn_1_1B64C(sp8[arg0][0], sp8[lbl_1_bss_3B0.unk_08][0], var_r31, 15.0f); - var_f30 = fn_1_1B64C(sp8[arg0][1], sp8[lbl_1_bss_3B0.unk_08][1], var_r31, 15.0f); - HuSprGrpPosSet(var_r28, var_f31, var_f30); - } - } - HuSprAttrReset(var_r28, 0, 4); - if (arg0 == -1) { - HuSprGrpPosSet(var_r28, sp8[0][0], sp8[0][1]); - } - } -} - -void fn_1_11E28(void) -{ - float var_f31; - float var_f30; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - var_r29 = lbl_1_bss_C0; - var_r28 = lbl_1_bss_BC; - HuSprAttrSet(var_r28, 0, 4); - for (var_r31 = 0; var_r31 <= 0xF; var_r31++) { - fn_1_1B7D0(1); - if (var_r31 <= 0xA) { - var_f30 = fn_1_1B64C(1.0f, 0.01f, var_r31, 10.0f); - var_f31 = 1.0f; - } - else { - var_f30 = 0.01f; - var_f31 = fn_1_1B64C(1.0f, 0.01f, var_r31 - 0xA, 5.0f); - } - HuSprGrpScaleSet(var_r29, var_f31, var_f30); - } - var_r27 = lbl_1_bss_C0; - for (var_r30 = 0; var_r30 < 3; var_r30++) { - HuSprAttrSet(var_r27, var_r30, 4); - } -} - -void fn_1_11FC0(omObjData *object, MpexDllUnkStruct4 *arg1) -{ - Vec sp20; - Vec sp14; - - s32 var_r31 = lbl_1_bss_C0; - s32 sp8[3] = { 0x64, 0x64, 0xE1 }; - sp20.x = Hu3DData[lbl_1_bss_2D8[lbl_1_bss_3B0.unk_08].unk_00->model[1]].pos.x; - sp20.y = 0.0f; - sp20.z = Hu3DData[lbl_1_bss_2D8[lbl_1_bss_3B0.unk_08].unk_00->model[1]].pos.z; - Hu3D3Dto2D(&sp20, 1, &sp14); - sp14.y = fn_1_1B714(sp8[lbl_1_bss_3B0.unk_08], 10.0f + sp8[lbl_1_bss_3B0.unk_08], lbl_1_bss_3B0.unk_28++, 360.0f); - if (lbl_1_bss_3B0.unk_28 >= 0x168) { - lbl_1_bss_3B0.unk_28 = 0; - } - HuSprGrpPosSet(var_r31, sp14.x, (s32)sp14.y); -} - -void fn_1_121E8(void) -{ - OSReport("\n\n####################### HI SCORE #######################\n"); - OSReport("HIScore 453(0-99):%d\n", GWGameStat.mg_record[9]); - if (GWGameStat.mg_record[9] == 0) { - GWGameStat.mg_record[9] = 0; - } - else if (GWGameStat.mg_record[9] >= 0x63) { - GWGameStat.mg_record[9] = 0x63; - } - #if VERSION_NTSC - OSReport("HIScore 451A(0-35999):%d\n", GWGameStat.mg_record[6]); - #else - OSReport("HIScore 451A(0-29999):%d\n", GWGameStat.mg_record[6]); - #endif - if (GWGameStat.mg_record[6] == 0) { - GWGameStat.mg_record[6] = 0; - } - else if (GWGameStat.mg_record[6] >= ((REFRESH_RATE*600)-1)) { - GWGameStat.mg_record[6] = ((REFRESH_RATE*600)-1); - } - #if VERSION_NTSC - OSReport("HIScore 451B(0-35999):%d\n", GWGameStat.mg_record[7]); - #else - OSReport("HIScore 451B(0-29999):%d\n", GWGameStat.mg_record[7]); - #endif - if (GWGameStat.mg_record[7] == 0) { - GWGameStat.mg_record[7] = 0; - } - else if (GWGameStat.mg_record[7] >= ((REFRESH_RATE*600)-1)) { - GWGameStat.mg_record[7] = ((REFRESH_RATE*600)-1); - } - #if VERSION_NTSC - OSReport("HIScore 451C(0-35999):%d\n", GWGameStat.mg_record[8]); - #else - OSReport("HIScore 451C(0-29999):%d\n", GWGameStat.mg_record[8]); - #endif - if (GWGameStat.mg_record[8] == 0) { - GWGameStat.mg_record[8] = 0; - } - else if (GWGameStat.mg_record[8] >= ((REFRESH_RATE*600)-1)) { - GWGameStat.mg_record[8] = ((REFRESH_RATE*600)-1); - } - OSReport("HIScore 442(0-999):%d\n", GWGameStat.mg_record[4]); - if (GWGameStat.mg_record[4] == 0) { - GWGameStat.mg_record[4] = 0; - } - else if (GWGameStat.mg_record[4] >= 0x3E7) { - GWGameStat.mg_record[4] = 0x3E7; - } - OSReport("HIScore 459(0-99):%d\n", GWGameStat.mg_record[0xB]); - if (GWGameStat.mg_record[0xB] == 0) { - GWGameStat.mg_record[0xB] = 0; - } - else if (GWGameStat.mg_record[0xB] >= 0x63) { - GWGameStat.mg_record[0xB] = 0x63; - } - OSReport("HIScore 460(0-99):%d\n", GWGameStat.mg_record[0xC]); - if (GWGameStat.mg_record[0xC] == 0) { - GWGameStat.mg_record[0xC] = 0; - } - else if (GWGameStat.mg_record[0xC] >= 0x63) { - GWGameStat.mg_record[0xC] = 0x63; - } - #if VERSION_NTSC - OSReport("HIScore 461(0-35999):%d\n", GWGameStat.mg_record[13]); - #else - OSReport("HIScore 461(0-29999):%d\n", GWGameStat.mg_record[13]); - #endif - if (GWGameStat.mg_record[0xD] == 0) { - GWGameStat.mg_record[0xD] = 0; - } - else if (GWGameStat.mg_record[0xD] >= ((REFRESH_RATE*600)-1)) { - GWGameStat.mg_record[0xD] = ((REFRESH_RATE*600)-1); - } - OSReport("HIScore 462(0-99):%d\n", GWGameStat.mg_record[0xE]); - if (GWGameStat.mg_record[0xE] == 0) { - GWGameStat.mg_record[0xE] = 0; - } - else if (GWGameStat.mg_record[0xE] >= 0x63) { - GWGameStat.mg_record[0xE] = 0x63; - } - OSReport("########################################################\n\n"); -} - -void fn_1_125DC(float *arg0, s32 arg1) -{ - float spC[2]; - - HuWinMesMaxSizeGet(1, spC, arg1); - if (spC[0] > arg0[0]) { - arg0[0] = spC[0]; - } - if (spC[1] > arg0[1]) { - arg0[1] = spC[1]; - } -} diff --git a/src/REL/mstory2Dll/board_clear.c b/src/REL/mstory2Dll/board_clear.c deleted file mode 100644 index 3073e986..00000000 --- a/src/REL/mstory2Dll/board_clear.c +++ /dev/null @@ -1,629 +0,0 @@ -#include "REL/mstory2Dll.h" -#include "game/armem.h" -#include "game/audio.h" -#include "game/board/main.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/gamework.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - - -typedef struct { - /* 0x000 */ s32 unk00; - /* 0x004 */ s32 unk04; - /* 0x008 */ s32 unk08; - /* 0x00C */ s32 unk0C; - /* 0x010 */ s32 unk10; - /* 0x014 */ s32 unk14; - /* 0x018 */ char unk18[0x18]; - /* 0x030 */ StructFn357C unk30[4]; - /* 0x100 */ float unk100; -} StructBss3DC; // Size 0x104 - -StructBss3DC lbl_1_bss_3DC; -StructBss16C lbl_1_bss_3B4; -StructBss16C lbl_1_bss_38C; -StructBss16C lbl_1_bss_364; -StructBss16C lbl_1_bss_33C; -StructBss16C lbl_1_bss_29C[4]; -Process *lbl_1_bss_298; - -void fn_1_C4C0(void); -void fn_1_C858(void); -void fn_1_CCCC(int arg0, int arg1, int arg2, int arg3, int arg4); -void fn_1_CD78(void); -void fn_1_D224(int arg0, int arg1, int arg2, int arg3, int arg4); -void fn_1_D2D0(omObjData *arg0, StructBss16C *arg1); -void fn_1_D478(void); -void fn_1_D764(int arg0); -void fn_1_DB58(int arg0, int arg1, int arg2, int arg3, int arg4); -void fn_1_DC54(omObjData *arg0, StructBss16C *arg1); -void fn_1_DDC4(void); -void fn_1_E1B8(void); -void fn_1_E244(void); -void fn_1_E334(void); - -void fn_1_B37C(omObjData *arg0, StructBss16C *arg1) -{ - fn_1_BE8(30); - fn_1_DB58(4, -1, 15, 1, 0); - fn_1_D224(4, -1, 15, 1, 0); - arg1->unk04 = NULL; -} - -void fn_1_B3E4(Process *arg0, s32 arg1) -{ - int i; - lbl_1_bss_298 = arg0; - lbl_1_bss_3DC.unk0C = arg1; - fn_1_C30(); - fn_1_3668(255); - fn_1_2828(lbl_1_bss_298, fn_1_E1B8); - fn_1_3754(); - fn_1_D764(arg1); - HuPrcChildCreate(fn_1_C858, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_CD78, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_D478, 100, 8192, 0, HuPrcCurrentGet()); - for (i = 0; i < 4; i++) { - HuPrcChildCreate(fn_1_DDC4, 100, 8192, 0, HuPrcCurrentGet()); - } - HuPrcChildCreate(fn_1_C4C0, 100, 8192, 0, HuPrcCurrentGet()); -} - -void fn_1_B518(omObjData *object) -{ - if (object->work[2]) { - object->work[2]--; - return; - } - if (object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) { - fn_1_1DFC(object, 1, object->work[1], 15, 1); - object->work[0] = object->work[1] = object->work[2] = 0; - } -} - -void fn_1_B5A4(void) -{ - int posX = 16; - int posY = 40; - GXColor winColor = { 0, 0, 128, 128 }; - int i; - while (1) { - fn_1_BC8(); - printWin(posX, posY, 220, 160, &winColor); - if (lbl_1_bss_3B4.unk04 == NULL) { - print8(posX, posY, 1, "PROC_MAIN -> FALSE"); - } - else { - print8(posX, posY, 1, "PROC_MAIN -> TRUE"); - } - if (lbl_1_bss_38C.unk04 == NULL) { - print8(posX, posY + 10, 1, "PROC_MAP -> FALSE"); - } - else { - print8(posX, posY + 10, 1, "PROC_MAP -> TRUE"); - } - if (lbl_1_bss_364.unk04 == NULL) { - print8(posX, posY + 20, 1, "PROC_KOOPA -> FALSE"); - } - else { - print8(posX, posY + 20, 1, "PROC_KOOPA -> TRUE"); - } - if (lbl_1_bss_33C.unk04 == NULL) { - print8(posX, posY + 30, 1, "PROC_MKOOPA -> FALSE"); - } - else { - print8(posX, posY + 30, 1, "PROC_MKOOPA -> TRUE"); - } - for (i = 0; i < 4; i++) { - if (lbl_1_bss_29C[i].unk04 == NULL) { - print8(posX, posY + 40 + (i * 10), 1, "PROC_PLAYER%d -> FALSE", i); - } - else { - print8(posX, posY + 40 + (i * 10), 1, "PROC_PLAYER%d -> TRUE", i); - } - } - print8(posX, posY + 90, 1, "P:%d W:%d", lbl_1_bss_3DC.unk00, lbl_1_bss_3DC.unk0C); - print8(posX, posY + 110, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR"); - for (i = 0; i < 4; i++) { - print8(posX, posY + 120 + (i * 10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_3DC.unk30[i].unk00, lbl_1_bss_3DC.unk30[i].unk04, - lbl_1_bss_3DC.unk30[i].unk08, lbl_1_bss_3DC.unk30[i].unk0C, lbl_1_bss_3DC.unk30[i].unk14, lbl_1_bss_3DC.unk30[i].unk10); - } - } -} - -void fn_1_B984(void) -{ - lbl_1_bss_78[0] = HuAudSeqPlay(51); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - do { - fn_1_BC8(); - } while (WipeStatGet()); - fn_1_BE8(60); -} - -void fn_1_B9E0(void) -{ - lbl_1_bss_29C[lbl_1_bss_3DC.unk00].unk04 = (void *)fn_1_DC54; - fn_1_3854(&lbl_1_bss_24); - fn_1_2750(fn_1_E244); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_29C[lbl_1_bss_3DC.unk00].unk04 == NULL) { - break; - } - } - while (1) { - fn_1_BC8(); - if (lbl_1_bss_33C.unk04 == NULL) { - break; - } - } - fn_1_BE8(30); -} - -void fn_1_BA90(void) -{ - int i; - lbl_1_bss_3DC.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_3DC.unk0C); - HuAudFXPlay(lbl_1_data_0[5][0]); - fn_1_D224(3, -1, 15, 1, 0); - fn_1_1D4C(lbl_1_bss_3DC.unk04, lbl_1_bss_3DC.unk30[lbl_1_bss_3DC.unk00].unk10, 0); - fn_1_1D18(lbl_1_bss_3DC.unk04, 0x1F000C); - fn_1_1AFC(lbl_1_bss_3DC.unk04, -1); - fn_1_1D18(lbl_1_bss_3DC.unk04, 0x250004); - fn_1_D224(1, -1, 15, 1, 0); - fn_1_1A94(lbl_1_bss_3DC.unk04); - HuAudSeqFadeOut(lbl_1_bss_78[0], 1000); - fn_1_BE8(60); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_3DC.unk30[i].unk00 != lbl_1_bss_3DC.unk30[lbl_1_bss_3DC.unk00].unk00) { - Hu3DModelAttrSet(lbl_1_bss_29C[i].unk00->model[1], 1); - } - Hu3DModelAttrSet(lbl_1_bss_29C[i].unk00->model[2], 1); - } - Hu3DModelAttrReset(lbl_1_bss_364.unk00->model[1], 1); - Hu3DModelAttrReset(lbl_1_bss_38C.unk00->model[5], 1); - Hu3DModelAttrReset(lbl_1_bss_38C.unk00->model[6], 1); - lbl_1_bss_3DC.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_3DC.unk0C); - HuAudFXPlay(lbl_1_data_0[6][0]); - lbl_1_bss_78[1] = HuAudSeqPlay(55); - lbl_1_bss_33C.unk04 = (void *)fn_1_B37C; - fn_1_1D18(lbl_1_bss_3DC.unk04, 0x1F000D); - fn_1_1AFC(lbl_1_bss_3DC.unk04, -1); - fn_1_1D18(lbl_1_bss_3DC.unk04, 0x250004); - fn_1_1A94(lbl_1_bss_3DC.unk04); - fn_1_1DFC(lbl_1_bss_38C.unk00, 2, 3, 0, 0); - fn_1_BE8(60); - lbl_1_bss_33C.unk04 = (void *)fn_1_D2D0; - fn_1_DB58(5, -1, 15, 0, 0); - fn_1_D224(5, 1, 0, 0, 1); - fn_1_2264(lbl_1_bss_38C.unk00, 2, 3, 0); -} - -void fn_1_BDF0(void) -{ - lbl_1_bss_3DC.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_3DC.unk0C); - HuAudFXPlay(lbl_1_data_0[6][1]); - fn_1_CCCC(3, -1, 15, 1, 0); - fn_1_1D18(lbl_1_bss_3DC.unk04, 0x1F000E); - fn_1_1AFC(lbl_1_bss_3DC.unk04, -1); - fn_1_1D18(lbl_1_bss_3DC.unk04, 0x250004); - fn_1_CCCC(1, -1, 15, 1, 0); - fn_1_1A94(lbl_1_bss_3DC.unk04); - fn_1_CCCC(2, -1, 15, 0, 0); - fn_1_BE8(45); - HuAudFXPlay(lbl_1_data_0[6][0]); - fn_1_BE8(15); - HuAudSeqFadeOut(lbl_1_bss_78[1], 3000); - fn_1_3854(&lbl_1_bss_24); - fn_1_2750(fn_1_E334); - fn_1_BE8(30); - fn_1_BE8(45); - fn_1_BE8(75); -} - -void fn_1_BF48(void) -{ - int i; - omOvlHisData *his; - int charNo; - int padNo; - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (1) { - fn_1_BC8(); - if (!WipeStatGet()) { - break; - } - } - CharModelKill(-1); - charNo = lbl_1_bss_3DC.unk30[lbl_1_bss_3DC.unk00].unk10; - padNo = lbl_1_bss_3DC.unk30[lbl_1_bss_3DC.unk00].unk14; - GWPlayerCfg[lbl_1_bss_3DC.unk00].character = GWPlayerCfg[0].character; - GWPlayerCfg[lbl_1_bss_3DC.unk00].pad_idx = GWPlayerCfg[0].pad_idx; - GWPlayerCfg[lbl_1_bss_3DC.unk00].group = GWPlayerCfg[0].group; - GWPlayerCfg[lbl_1_bss_3DC.unk00].iscom = GWPlayerCfg[0].iscom; - GWPlayerCfg[0].character = charNo; - GWPlayerCfg[0].pad_idx = padNo; - GWPlayerCfg[0].group = 0; - GWPlayerCfg[0].iscom = FALSE; - for (i = 0; i < 4; i++) { - GWPlayer[i].character = GWPlayerCfg[i].character; - GWPlayer[i].port = GWPlayerCfg[i].pad_idx; - GWPlayer[i].com = GWPlayerCfg[i].iscom; - GWPlayer[i].team = GWPlayerCfg[i].group; - } - GWPlayerCfg[1].character = 8; - for (i = 1; i < 4; i++) { - GWPlayerCfg[i].iscom = GWPlayerCfg[i].group = 1; - } - his = omOvlHisGet(0); - omOvlHisChg(0, OVL_MSTORY2, 3, his->stat); - HuAudSeqAllFadeOut(1000); - HuAudSStreamAllFadeOut(1000); - GWSystem.mg_type = -1; - GWMGAvailSet(450); - GWSystem.mg_next = 450 - 401; - omOvlCallEx(OVL_M450, 1, 0, 0); - while (1) { - fn_1_BC8(); - } -} - -void fn_1_C270(omObjData *arg0, StructBss16C *arg1) -{ - int temp = 0; - fn_1_B984(); - fn_1_B9E0(); - fn_1_BA90(); - fn_1_BDF0(); - fn_1_BF48(); - arg1->unk04 = NULL; -} - -void fn_1_C4C0(void) -{ - omObjData *obj; - lbl_1_bss_3B4.unk00 = obj = omAddObjEx(lbl_1_bss_298, 256, 16, 16, -1, NULL); - lbl_1_bss_3B4.unk04 = (void *)fn_1_C270; - lbl_1_bss_3B4.unk00->data = &lbl_1_bss_3B4; - while (1) { - fn_1_BC8(); - if (lbl_1_bss_3B4.unk04 != NULL) { - lbl_1_bss_3B4.unk04(obj, &lbl_1_bss_3B4); - } - } -} - -void fn_1_C574(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x52)); - object->motion[1] = Hu3DMotionIDGet(object->model[1]); - Hu3DModelShadowMapObjSet(object->model[1], "base_story-base"); - fn_1_1DFC(object, 1, 1, 0, 1); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x53)); - object->motion[2] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x54)); - object->motion[3] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x55)); - fn_1_1DFC(object, 2, 2, 0, 2); - object->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x59)); - object->motion[5] = Hu3DMotionIDGet(object->model[5]); - Hu3DModelPosSet(object->model[5], 0, 80, 460); - Hu3DModelAttrSet(object->model[5], 1); - Hu3DModelShadowSet(object->model[5]); - fn_1_1DFC(object, 5, 5, 0, 2); - object->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x5A)); - object->motion[6] = Hu3DMotionIDGet(object->model[6]); - Hu3DModelHookSet(object->model[5], "koopasgbox_fix-effect_fook2", object->model[6]); - Hu3DModelAttrSet(object->model[6], 1); - fn_1_1DFC(object, 6, 6, 0, 2); -} - -void fn_1_C79C(omObjData *arg0, StructBss16C *arg1) -{ - Hu3DData[arg0->model[5]].pos.y = fn_1_B08(80, 90, arg1->unk08++, 360); - if (arg1->unk08 >= 360) { - arg1->unk08 = 0; - } -} - -void fn_1_C858(void) -{ - omObjData *obj; - lbl_1_bss_38C.unk00 = obj = omAddObjEx(lbl_1_bss_298, 256, 16, 16, -1, NULL); - lbl_1_bss_38C.unk04 = (void *)fn_1_C79C; - lbl_1_bss_38C.unk00->data = &lbl_1_bss_38C; - fn_1_C574(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_38C.unk04 != NULL) { - lbl_1_bss_38C.unk04(obj, &lbl_1_bss_38C); - } - } -} - -void fn_1_CB0C(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x62 : 0x66)); - object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x63 : 0x67)); - object->motion[2] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x66 : 0x6A)); - object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x69 : 0x6C)); - Hu3DModelPosSet(object->model[1], 0, 0, 150); - Hu3DModelRotSet(object->model[1], 0, 0, 0); - Hu3DModelScaleSet(object->model[1], 1.25f, 1.25f, 1.25f); - Hu3DModelScaleSet(object->model[1], 1.6f, 1.6f, 1.6f); - Hu3DModelAttrSet(object->model[1], 1); - Hu3DModelShadowSet(object->model[1]); - fn_1_1DFC(object, 1, 1, 0, 1); -} - -void fn_1_CCCC(int arg0, int arg1, int arg2, int arg3, int arg4) -{ - fn_1_1DFC(lbl_1_bss_364.unk00, 1, arg0, arg2, arg3); - if (arg3 == 1) { - arg4 = 0; - } - lbl_1_bss_364.unk00->work[0] = arg4; - lbl_1_bss_364.unk00->work[1] = arg1; - lbl_1_bss_364.unk00->work[2] = arg2 + 1; -} - -void fn_1_CD78(void) -{ - omObjData *obj; - lbl_1_bss_364.unk00 = obj = omAddObjEx(lbl_1_bss_298, 256, 16, 16, -1, NULL); - lbl_1_bss_364.unk04 = NULL; - lbl_1_bss_364.unk00->data = &lbl_1_bss_38C; - fn_1_CB0C(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_364.unk04 != NULL) { - lbl_1_bss_364.unk04(obj, &lbl_1_bss_364); - } - if (obj->work[0]) { - if (obj->work[2]) { - obj->work[2]--; - } - else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) { - fn_1_1DFC(obj, 1, obj->work[1], 15, 1); - obj->work[0] = obj->work[1] = obj->work[2] = 0; - } - } - } -} - -void fn_1_D030(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x7D : 0x7B)); - object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x7E : 0x7C)); - object->motion[2] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x80 : 0x7D)); - object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x81 : 0x7E)); - object->motion[4] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x84 : 0x7F)); - object->motion[5] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x85 : 0x80)); - Hu3DModelPosSet(object->model[1], -300, 0, 890); - Hu3DModelRotSet(object->model[1], 0, 30, 0); - Hu3DModelScaleSet(object->model[1], 1, 1, 1); - Hu3DModelShadowSet(object->model[1]); - fn_1_1DFC(object, 1, 1, 0, 1); - CharModelEffectNpcInit(object->model[1], object->motion[2], 1, 13); -} - -void fn_1_D224(int arg0, int arg1, int arg2, int arg3, int arg4) -{ - fn_1_1DFC(lbl_1_bss_33C.unk00, 1, arg0, arg2, arg3); - if (arg3 == 1) { - arg4 = 0; - } - lbl_1_bss_33C.unk00->work[0] = arg4; - lbl_1_bss_33C.unk00->work[1] = arg1; - lbl_1_bss_33C.unk00->work[2] = arg2 + 1; -} - -void fn_1_D2D0(omObjData *arg0, StructBss16C *arg1) -{ - int i; - for (i = 0; i < 15; i++) { - fn_1_BC8(); - Hu3DData[arg0->model[1]].rot.y = fn_1_864(0, 135, i, 15); - } - arg1->unk04 = NULL; -} - -void fn_1_D394(omObjData *arg0, StructBss16C *arg1) -{ - Vec pos = { -120, 0, 800 }; - fn_1_1DFC(arg0, 1, 2, 15, 1); - fn_1_2D00(arg0, 1, pos, 60, 60, 10); - fn_1_1DFC(arg0, 1, 1, 15, 1); - arg1->unk04 = NULL; -} - -void fn_1_D478(void) -{ - omObjData *obj; - lbl_1_bss_33C.unk00 = obj = omAddObjEx(lbl_1_bss_298, 256, 16, 16, -1, NULL); - lbl_1_bss_33C.unk04 = NULL; - lbl_1_bss_33C.unk00->data = &lbl_1_bss_33C; - fn_1_D030(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_33C.unk04 != NULL) { - lbl_1_bss_33C.unk04(obj, &lbl_1_bss_33C); - } - if (obj->work[0]) { - if (obj->work[2]) { - obj->work[2]--; - } - else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) { - fn_1_1DFC(obj, 1, obj->work[1], 15, 1); - obj->work[0] = obj->work[1] = obj->work[2] = 0; - } - } - } -} - -void fn_1_D764(int arg0) -{ - int i; - int order[4]; - order[0] = 0; - for (i = 1; i < 4; i++) { - order[i] = order[i - 1] + 1; - if (order[i] >= 4) { - order[i] = 0; - } - if (arg0 == order[i]) { - lbl_1_bss_3DC.unk00 = i; - } - } - for (i = 0; i < 4; i++) { - fn_1_357C(&lbl_1_bss_3DC.unk30[i], order[i]); - } - for (i = 0; i < 4; i++) { - lbl_1_bss_3DC.unk30[i].unk18 = GWPlayer[order[i]].rank + 1; - } -} - -Vec lbl_1_data_668[4] = { - { -300, 0, 460 }, - { -100, -30, 460 }, - { 100, -60, 460 }, - { 300, -90, 460 }, -}; - -void fn_1_D898(omObjData *object, int player) -{ - int playerNo = player; - int charNo = lbl_1_bss_3DC.unk30[playerNo].unk10; - object->model[1] = CharModelCreate(charNo, 4); - object->motion[1] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00)); - object->motion[2] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03)); - object->motion[3] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x05)); - object->motion[4] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x1A)); - object->motion[5] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x6D)); - CharModelMotionDataClose(charNo); - Hu3DModelPosSet( - object->model[1], lbl_1_data_668[playerNo].x, lbl_1_data_668[lbl_1_bss_3DC.unk30[playerNo].unk18 - 1].y + 90, lbl_1_data_668[playerNo].z); - Hu3DModelRotSet(object->model[1], 0, 0, 0); - Hu3DModelScaleSet(object->model[1], 1, 1, 1); - Hu3DModelShadowSet(object->model[1]); - fn_1_1DFC(object, 1, 1, 0, 1); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x56)); - Hu3DModelPosSet( - object->model[2], lbl_1_data_668[playerNo].x, lbl_1_data_668[lbl_1_bss_3DC.unk30[playerNo].unk18 - 1].y, lbl_1_data_668[playerNo].z); - if (lbl_1_bss_3DC.unk30[playerNo].unk18 == 4) { - Hu3DModelAttrSet(object->model[2], 1); - } - Hu3DModelScaleSet(object->model[2], 1.5, 1, 1.5); - Hu3DModelShadowMapSet(object->model[2]); -} - -void fn_1_DB58(int arg0, int arg1, int arg2, int arg3, int arg4) -{ - fn_1_1DFC(lbl_1_bss_29C[lbl_1_bss_3DC.unk00].unk00, 1, arg0, arg2, arg3); - if (arg3 == 1) { - arg4 = 0; - } - lbl_1_bss_29C[lbl_1_bss_3DC.unk00].unk00->work[0] = arg4; - lbl_1_bss_29C[lbl_1_bss_3DC.unk00].unk00->work[1] = arg1; - lbl_1_bss_29C[lbl_1_bss_3DC.unk00].unk00->work[2] = arg2 + 1; -} - -void fn_1_DC54(omObjData *arg0, StructBss16C *arg1) -{ - Vec pos = { 120, 0, 800 }; - fn_1_2948(arg0, 1, pos, -1, 30, 10); - lbl_1_bss_33C.unk04 = (void *)fn_1_D394; - fn_1_1DFC(lbl_1_bss_38C.unk00, 2, 2, 0, 0); - fn_1_1DFC(arg0, 1, 2, 15, 1); - fn_1_2D00(arg0, 1, pos, -60, 30, 10); - fn_1_1DFC(arg0, 1, 1, 15, 1); - arg1->unk04 = NULL; -} - -void fn_1_DDC4(void) -{ - omObjData *obj; - int playerNo = lbl_1_bss_3DC.unk10++; - lbl_1_bss_29C[playerNo].unk00 = obj = omAddObjEx(lbl_1_bss_298, 256, 16, 16, -1, NULL); - lbl_1_bss_29C[playerNo].unk04 = NULL; - lbl_1_bss_29C[playerNo].unk00->data = &lbl_1_bss_29C[0]; - fn_1_D898(obj, playerNo); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_29C[playerNo].unk04 != NULL) { - lbl_1_bss_29C[playerNo].unk04(obj, &lbl_1_bss_29C[playerNo]); - } - if (obj->work[0]) { - if (obj->work[2]) { - obj->work[2]--; - } - else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) { - fn_1_1DFC(obj, 1, obj->work[1], 15, 1); - obj->work[0] = obj->work[1] = obj->work[2] = 0; - } - } - } -} - -void fn_1_E1B8(void) -{ - StructBss24 *work = &lbl_1_bss_24; - work->unk08.x = 0; - work->unk08.y = 170; - work->unk08.z = -20; - work->unk20.x = -5; - work->unk20.y = 0; - work->unk20.z = 0; - work->unk38 = 1700; -} - -void fn_1_E244(void) -{ - StructBss24 *work = &lbl_1_bss_24; - StructBss24 temp; - temp.unk08.x = 0; - temp.unk08.y = 125; - temp.unk08.z = -20; - temp.unk20.x = -5; - temp.unk20.y = 0; - temp.unk20.z = 0; - temp.unk38 = 1750; - fn_1_4FEC(work, &temp, work->unk40++, 60, 30); -} - -void fn_1_E334(void) -{ - StructBss24 *work = &lbl_1_bss_24; - StructBss24 temp; - if (work->unk40 == 50) { - fn_1_1DFC(lbl_1_bss_38C.unk00, 5, 5, 0, 0); - fn_1_1DFC(lbl_1_bss_38C.unk00, 6, 6, 0, 0); - HuAudFXPlay(161); - } - temp.unk08.x = 0; - temp.unk08.y = 130; - temp.unk08.z = 460; - temp.unk20.x = 0; - temp.unk20.y = 0; - temp.unk20.z = 0; - temp.unk38 = 150; - fn_1_4FEC(work, &temp, work->unk40, 180, 10); - if (work->unk40++ >= 90) { - if (work->unk40 == 91) { - lbl_1_bss_88[0] = HuAudFXPlay(32); - } - work->unk20.x = fn_1_864(work->unk20.x, -45, work->unk40 - 90, 90); - Hu3DData[lbl_1_bss_38C.unk00->model[5]].rot.x = fn_1_864(0, 45, work->unk40 - 90, 90); - } -} diff --git a/src/REL/mstory2Dll/board_entrance.c b/src/REL/mstory2Dll/board_entrance.c deleted file mode 100644 index e69abcfd..00000000 --- a/src/REL/mstory2Dll/board_entrance.c +++ /dev/null @@ -1,633 +0,0 @@ -#include "REL/mstory2Dll.h" -#include "game/armem.h" -#include "game/audio.h" -#include "game/board/main.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - -typedef struct { - /* 0x000 */ s32 unk00; - /* 0x004 */ s32 unk04; - /* 0x008 */ s32 unk08; - /* 0x00C */ s32 unk0C; - /* 0x010 */ s32 unk10; - /* 0x014 */ s32 unk14; - /* 0x018 */ char unk18[0x18]; - /* 0x030 */ StructFn357C unk30[4]; - /* 0x100 */ float unk100; -} StructBss194; // Size 0x104 - -StructBss194 lbl_1_bss_194; -StructBss16C lbl_1_bss_16C; -StructBss16C lbl_1_bss_144; -StructBss16C lbl_1_bss_11C; -StructBss16C lbl_1_bss_F4; -StructBss16C lbl_1_bss_CC; -Process *lbl_1_bss_C8; -s32 lbl_1_bss_88[16]; -s32 lbl_1_bss_78[4]; - -u32 lbl_1_data_3A0[11] - = { 0x00250000, 0x00250000, 0x00250000, 0x00250000, 0x00250000, 0x00250000, 0x00250000, 0x00250000, 0x00250000, 0x00250000, 0x00250000 }; - -s32 lbl_1_data_3CC[2][2] = { 20, 70, 1, 1 }; - -s32 lbl_1_data_3DC = -1; -s32 lbl_1_data_3E0[2] = { -1, -1 }; - -void fn_1_9768(void); -void fn_1_9A10(void); -void fn_1_9BD4(s32 arg0); -void fn_1_9ECC(omObjData *arg0, StructBss16C *arg1); -void fn_1_9FDC(void); -void fn_1_A4A8(omObjData *arg0, StructBss16C *arg1); -void fn_1_A58C(void); -void fn_1_AB10(omObjData *arg0, StructBss16C *arg1); - -void fn_1_AE5C(void); -void fn_1_B1C0(void); -void fn_1_B24C(void); - -void fn_1_7DB0(void) -{ - int i; - while (1) { - do { - HuPrcVSleep(); - } while (lbl_1_data_3DC == -1 || lbl_1_data_3E0[0] == -1 || lbl_1_data_3E0[1] == -1 || lbl_1_data_3E0[0] != Hu3DMotionIDGet(lbl_1_data_3DC)); - for (i = 0; i < 2; i++) { - if (lbl_1_data_3CC[1][i] != -1) { - if (Hu3DMotionTimeGet(lbl_1_data_3DC) >= lbl_1_data_3CC[0][i]) { - OSReport("KE-System TIME:%d\n", lbl_1_data_3CC[0][i]); - HuAudFXPlay(81); - lbl_1_data_3CC[1][i] = -1; - } - } - } - if (Hu3DMotionTimeGet(lbl_1_data_3DC) <= 10) { - for (i = 0; i < 2; i++) { - lbl_1_data_3CC[1][i] = 1; - } - } - } -} - -void fn_1_7F54(Process *arg0, s32 arg1) -{ - lbl_1_bss_C8 = arg0; - lbl_1_bss_194.unk0C = arg1; - fn_1_C30(); - fn_1_3668(255); - fn_1_2828(lbl_1_bss_C8, fn_1_B1C0); - fn_1_3754(); - fn_1_9BD4(arg1); - HuPrcChildCreate(fn_1_9FDC, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_9A10, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_A58C, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_AE5C, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_9768, 100, 8192, 0, HuPrcCurrentGet()); -} - -void fn_1_806C(omObjData *object) -{ - if (object->work[2]) { - object->work[2]--; - return; - } - if (object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) { - fn_1_1DFC(object, 1, object->work[1], 15, 1); - object->work[0] = object->work[1] = object->work[2] = 0; - } -} - -void fn_1_80F8(void) -{ - int posX = 16; - int posY = 40; - GXColor winColor = { 0, 0, 128, 128 }; - int i; - while (1) { - fn_1_BC8(); - fontcolor = FONT_COLOR_WHITE; - printWin(posX, posY, 220, 130, &winColor); - if (lbl_1_bss_16C.unk04 == NULL) { - print8(posX, posY, 1, "PROC_MAIN -> FALSE"); - } - else { - print8(posX, posY, 1, "PROC_MAIN -> TRUE"); - } - if (lbl_1_bss_144.unk04 == NULL) { - print8(posX, posY + 10, 1, "PROC_MAP -> FALSE"); - } - else { - print8(posX, posY + 10, 1, "PROC_MAP -> TRUE"); - } - if (lbl_1_bss_11C.unk04 == NULL) { - print8(posX, posY + 20, 1, "PROC_PLAYER -> FALSE"); - } - else { - print8(posX, posY + 20, 1, "PROC_PLAYER -> TRUE"); - } - if (lbl_1_bss_F4.unk04 == NULL) { - print8(posX, posY + 30, 1, "PROC_SUB -> FALSE"); - } - else { - print8(posX, posY + 30, 1, "PROC_SUB -> TRUE"); - } - if (lbl_1_bss_CC.unk04 == NULL) { - print8(posX, posY + 40, 1, "PROC_KOOPA -> FALSE"); - } - else { - print8(posX, posY + 40, 1, "PROC_KOOPA -> TRUE"); - } - - print8(posX, posY + 60, 1, "P:%d W:%d", lbl_1_bss_194.unk00, lbl_1_bss_194.unk0C); - print8(posX, posY + 80, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR"); - for (i = 0; i < 4; i++) { - print8(posX, posY + 90 + (i * 10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_194.unk30[i].unk00, lbl_1_bss_194.unk30[i].unk04, - lbl_1_bss_194.unk30[i].unk08, lbl_1_bss_194.unk30[i].unk0C, lbl_1_bss_194.unk30[i].unk14, lbl_1_bss_194.unk30[i].unk10); - } - if (HuPadBtnDown[0] & PAD_BUTTON_X) { - fn_1_7384(lbl_1_bss_11C.unk00->model[1], lbl_1_bss_194.unk30[lbl_1_bss_194.unk00].unk10, 30, 120, TRUE); - } - else if (HuPadBtnDown[0] & PAD_BUTTON_Y) { - fn_1_7384(lbl_1_bss_11C.unk00->model[1], lbl_1_bss_194.unk30[lbl_1_bss_194.unk00].unk10, 30, 120, FALSE); - } - } -} - -void fn_1_8580(void) -{ - lbl_1_bss_78[0] = HuAudSeqPlay(51); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - do { - fn_1_BC8(); - } while (WipeStatGet()); - fn_1_BE8(60); -} - -void fn_1_85DC(void) -{ - fn_1_1DFC(lbl_1_bss_144.unk00, 2, 3, 0, 0); - fn_1_2264(lbl_1_bss_144.unk00, 2, 3, 0); - lbl_1_bss_11C.unk04 = (void *)fn_1_9ECC; - lbl_1_bss_F4.unk04 = (void *)fn_1_A4A8; - fn_1_3854(&lbl_1_bss_24); - fn_1_2750(fn_1_B24C); - fn_1_BE8(30); - fn_1_1DFC(lbl_1_bss_144.unk00, 2, 2, 0, 0); - do { - fn_1_BC8(); - } while (lbl_1_bss_11C.unk04 != NULL); - do { - fn_1_BC8(); - } while (lbl_1_bss_F4.unk04 != NULL); - lbl_1_bss_194.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_194.unk0C); - HuAudFXPlay(lbl_1_data_0[0][2]); - fn_1_1DFC(lbl_1_bss_F4.unk00, 1, 3, 5, 1); - fn_1_1D18(lbl_1_bss_194.unk04, 0x1F0000); - fn_1_1AFC(lbl_1_bss_194.unk04, -1); - fn_1_1D18(lbl_1_bss_194.unk04, 0x1F0001); - fn_1_1AFC(lbl_1_bss_194.unk04, -1); - fn_1_1D18(lbl_1_bss_194.unk04, 0x250004); - fn_1_1DFC(lbl_1_bss_F4.unk00, 1, 1, 5, 1); - fn_1_1A94(lbl_1_bss_194.unk04); - fn_1_BE8(15); -} - -void fn_1_87D4(void) -{ - int i; - float speed; - HuAudSeqFadeOut(lbl_1_bss_78[0], 500); - HuAudFXPlay(153); - fn_1_1DFC(lbl_1_bss_CC.unk00, 1, 2, 0, 0); - fn_1_BC8(); - Hu3DMotionTimeSet(lbl_1_bss_CC.unk00->model[1], 100); - Hu3DModelAttrReset(lbl_1_bss_CC.unk00->model[1], 1); - while (1) { - fn_1_BC8(); - if (Hu3DMotionTimeGet(lbl_1_bss_CC.unk00->model[1]) >= 132) { - break; - } - } - fn_1_1DFC(lbl_1_bss_F4.unk00, 1, 4, 0, 0); - fn_1_BC8(); - while (1) { - fn_1_BC8(); - if (Hu3DMotionTimeGet(lbl_1_bss_F4.unk00->model[1]) >= 5) { - break; - } - } - Hu3DMotionSpeedSet(lbl_1_bss_F4.unk00->model[1], 0); - Hu3DData[lbl_1_bss_F4.unk00->model[1]].rot.y = 0; - fn_1_67D8(lbl_1_bss_11C.unk00, 3, 1, 5, 0); - HuAudFXPlay(156); - omVibrate(lbl_1_bss_194.unk0C, 45, 12, 0); - speed = 50; - for (i = 0; i < 60; i++) { - float weight = fn_1_B08(0, speed, i % 15, 15); - speed = fn_1_88C(speed, 0, 30); - lbl_1_bss_194.unk100 = fn_1_88C(lbl_1_bss_194.unk100, weight, 5); - fn_1_BC8(); - } - lbl_1_bss_194.unk100 = 0; -} - -void fn_1_8ABC(void) -{ - fn_1_7384(lbl_1_bss_11C.unk00->model[1], lbl_1_bss_194.unk30[lbl_1_bss_194.unk00].unk10, 1, 20, 1); - lbl_1_bss_78[1] = HuAudSeqPlay(6); - fn_1_1DFC(lbl_1_bss_CC.unk00, 1, 3, 10, 0); - fn_1_BE8(30); - lbl_1_bss_194.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_194.unk0C); - HuAudFXPlay(lbl_1_data_0[6][0]); - HuWinAttrSet(lbl_1_bss_194.unk04, 0x400); - HuWinMesSet(lbl_1_bss_194.unk04, 0x1F0002); - fn_1_2264(lbl_1_bss_CC.unk00, 1, 3, 10); - fn_1_1DFC(lbl_1_bss_CC.unk00, 1, 3, 10, 0); - fn_1_BE8(45); - HuAudFXPlay(lbl_1_data_0[6][0]); - fn_1_2264(lbl_1_bss_CC.unk00, 1, 3, 10); - fn_1_1DFC(lbl_1_bss_CC.unk00, 1, 1, 10, 1); - HuWinAttrReset(lbl_1_bss_194.unk04, 0x400); - HuWinKeyWaitEntry(lbl_1_bss_194.unk04); - fn_1_BC8(); - fn_1_1AFC(lbl_1_bss_194.unk04, -1); - HuAudFXPlay(lbl_1_data_0[6][2]); - fn_1_1DFC(lbl_1_bss_CC.unk00, 1, 4, 10, 1); - fn_1_1D18(lbl_1_bss_194.unk04, 0x1F0003); - fn_1_1AFC(lbl_1_bss_194.unk04, -1); - fn_1_1D18(lbl_1_bss_194.unk04, 0x250004); - fn_1_1A94(lbl_1_bss_194.unk04); - fn_1_BE8(30); - fn_1_1DFC(lbl_1_bss_CC.unk00, 1, 1, 30, 1); - fn_1_BE8(60); - fn_1_1DFC(lbl_1_bss_CC.unk00, 1, 5, 10, 0); - fn_1_BE8(25); - HuAudFXPlay(81); - fn_1_BE8(20); - lbl_1_bss_194.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_194.unk0C); - HuAudFXPlay(lbl_1_data_0[6][2]); - fn_1_1D4C(lbl_1_bss_194.unk04, lbl_1_bss_194.unk30[lbl_1_bss_194.unk00].unk10, 0); - fn_1_1D18(lbl_1_bss_194.unk04, 0x1F0004); - fn_1_1AFC(lbl_1_bss_194.unk04, -1); - fn_1_1D18(lbl_1_bss_194.unk04, 0x1F0005); - fn_1_1AFC(lbl_1_bss_194.unk04, -1); - fn_1_1D18(lbl_1_bss_194.unk04, 0x250004); - fn_1_1A94(lbl_1_bss_194.unk04); - fn_1_67D8(lbl_1_bss_11C.unk00, 7, 8, 10, 0); - fn_1_7384(lbl_1_bss_11C.unk00->model[1], lbl_1_bss_194.unk30[lbl_1_bss_194.unk00].unk10, 3, 5, 0); - fn_1_BE8(90); - fn_1_1DFC(lbl_1_bss_CC.unk00, 1, 3, 30, 0); - fn_1_BE8(30); - lbl_1_bss_194.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_194.unk0C); - HuAudFXPlay(lbl_1_data_0[6][0]); - HuWinAttrSet(lbl_1_bss_194.unk04, 0x400); - HuWinMesSet(lbl_1_bss_194.unk04, 0x1F0002); - fn_1_2264(lbl_1_bss_CC.unk00, 1, 3, 10); - fn_1_1DFC(lbl_1_bss_CC.unk00, 1, 1, 10, 1); - HuWinAttrReset(lbl_1_bss_194.unk04, 0x400); - HuWinKeyWaitEntry(lbl_1_bss_194.unk04); - fn_1_BC8(); - fn_1_1AFC(lbl_1_bss_194.unk04, -1); - fn_1_1D18(lbl_1_bss_194.unk04, 0x250004); - fn_1_1A94(lbl_1_bss_194.unk04); -} - -void fn_1_9034(void) -{ - fn_1_BE8(60); - lbl_1_bss_CC.unk04 = (void *)fn_1_AB10; - lbl_1_bss_194.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_194.unk0C); - HuAudFXPlay(lbl_1_data_0[6][1]); - fn_1_1D18(lbl_1_bss_194.unk04, 0x1F0007); - fn_1_1AFC(lbl_1_bss_194.unk04, -1); - fn_1_1A94(lbl_1_bss_194.unk04); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_CC.unk04 == NULL) { - break; - } - } - HuAudFXPlay(149); - Hu3DMotionSpeedSet(lbl_1_bss_F4.unk00->model[1], 1); - fn_1_BC8(); - fn_1_2264(lbl_1_bss_F4.unk00, 1, 4, 0); - lbl_1_bss_88[0] = HuAudFXPlay(98); - HuAudFXPlay(lbl_1_data_0[0][1]); - fn_1_1DFC(lbl_1_bss_F4.unk00, 1, 5, 15, 1); - fn_1_BE8(60); -} - -void fn_1_9198(void) -{ - fn_1_BE8(60); - HuAudSeqFadeOut(lbl_1_bss_78[0], 1000); - HuAudFXFadeOut(lbl_1_bss_88[0], 1000); - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (1) { - fn_1_BC8(); - if (!WipeStatGet()) { - break; - } - } - CharModelKill(-1); - HuAudFadeOut(1); - GWPlayerCfg[0].group = 0; - GWPlayerCfg[0].character = lbl_1_bss_194.unk30[lbl_1_bss_194.unk00].unk10; - GWPlayerCfg[0].pad_idx = lbl_1_bss_194.unk30[lbl_1_bss_194.unk00].unk14; - GWPlayerCfg[0].iscom = FALSE; - omOvlGotoEx(OVL_MENT, 1, 11, 0); -} - -void fn_1_92BC(omObjData *arg0, StructBss16C *arg1) -{ - int temp = 0; - fn_1_8580(); - fn_1_85DC(); - fn_1_87D4(); - fn_1_8ABC(); - fn_1_9034(); - fn_1_9198(); - arg1->unk04 = NULL; -} - -void fn_1_9768(void) -{ - omObjData *obj; - lbl_1_bss_16C.unk00 = obj = omAddObjEx(lbl_1_bss_C8, 256, 16, 16, -1, NULL); - lbl_1_bss_16C.unk04 = (void *)fn_1_92BC; - lbl_1_bss_16C.unk00->data = &lbl_1_bss_16C; - while (1) { - fn_1_BC8(); - if (lbl_1_bss_16C.unk04 != NULL) { - lbl_1_bss_16C.unk04(obj, &lbl_1_bss_16C); - } - } -} - -void fn_1_981C(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x50)); - object->motion[0] = Hu3DMotionIDGet(object->model[1]); - fn_1_1DFC(object, 1, 0, 0, 2); - Hu3DModelShadowMapObjSet(object->model[1], "base_fix9-base"); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x53)); - object->motion[2] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x54)); - object->motion[3] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x55)); - fn_1_1DFC(object, 2, 3, 0, 2); - object->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x51)); -} - -void fn_1_9954(omObjData *arg0, StructBss16C *arg1) -{ - Hu3DData[arg0->model[5]].pos.y = fn_1_B08(125, 130, arg1->unk08++, 360); - if (arg1->unk08 >= 360) { - arg1->unk08 = 0; - } -} - -void fn_1_9A10(void) -{ - omObjData *obj; - lbl_1_bss_144.unk00 = obj = omAddObjEx(lbl_1_bss_C8, 256, 16, 16, -1, NULL); - lbl_1_bss_144.unk04 = (void *)fn_1_9954; - lbl_1_bss_144.unk00->data = &lbl_1_bss_144; - fn_1_981C(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_144.unk04 != NULL) { - lbl_1_bss_144.unk04(obj, &lbl_1_bss_144); - } - } -} - -void fn_1_9BD4(s32 arg0) -{ - int i; - int order[4]; - order[0] = 0; - for (i = 1; i < 4; i++) { - order[i] = order[i - 1] + 1; - if (order[i] >= 4) { - order[i] = 0; - } - if (arg0 == order[i]) { - lbl_1_bss_194.unk00 = i; - } - } - for (i = 0; i < 4; i++) { - fn_1_357C(&lbl_1_bss_194.unk30[i], order[i]); - } -} - -void fn_1_9CB8(omObjData *object) -{ - int charNo = lbl_1_bss_194.unk30[lbl_1_bss_194.unk00].unk10; - object->model[1] = CharModelCreate(charNo, 1); - object->motion[1] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00)); - object->motion[2] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x35)); - object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x18) + charNo); - object->motion[7] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x48) + charNo); - object->motion[8] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x40) + charNo); - object->motion[9] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x20) + charNo); - object->motion[10] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x12)); - CharModelMotionDataClose(charNo); - Hu3DModelPosSet(object->model[1], 120, 0, 800); - Hu3DModelRotSet(object->model[1], 0, -135, 0); - Hu3DModelScaleSet(object->model[1], 1, 1, 1); - Hu3DModelShadowSet(object->model[1]); - fn_1_1DFC(object, 1, 1, 0, 1); -} - -void fn_1_9ECC(omObjData *arg0, StructBss16C *arg1) -{ - int i; - fn_1_1DFC(arg0, 1, 2, 0, 0); - fn_1_BC8(); - Hu3DMotionTimeSet(arg0->model[1], 60); - for (i = 0; i < 60; i++) { - fn_1_BC8(); - Hu3DData[arg0->model[1]].rot.y = fn_1_864(-135, -90, i, 60); - } - fn_1_1DFC(arg0, 1, 1, 15, 1); - arg1->unk04 = NULL; -} - -void fn_1_9FDC(void) -{ - omObjData *obj; - lbl_1_bss_11C.unk00 = obj = omAddObjEx(lbl_1_bss_C8, 256, 16, 16, -1, NULL); - lbl_1_bss_11C.unk04 = NULL; - lbl_1_bss_11C.unk00->data = &lbl_1_bss_11C; - fn_1_9CB8(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_11C.unk04 != NULL) { - lbl_1_bss_11C.unk04(obj, &lbl_1_bss_11C); - } - if (obj->work[0]) { - fn_1_6704(obj); - } - } -} - -void fn_1_A288(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x72 : 0x73)); - object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x73 : 0x74)); - object->motion[2] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x75)); - object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x76)); - object->motion[4] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x7A : 0x78)); - object->motion[5] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x7B : 0x79)); - object->motion[6] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x79 : 0x77)); - Hu3DModelPosSet(object->model[1], 0, 0, 460); - Hu3DModelRotSet(object->model[1], 0, 0, 0); - Hu3DModelScaleSet(object->model[1], 1, 1, 1); - Hu3DModelShadowSet(object->model[1]); - fn_1_1DFC(object, 1, 6, 0, 1); - CharModelEffectNpcInit(object->model[1], object->motion[2], 1, 9); -} - -void fn_1_A4A8(omObjData *arg0, StructBss16C *arg1) -{ - Vec pos = { -120, 0, 800 }; - fn_1_1DFC(arg0, 1, 2, 15, 1); - fn_1_2D00(arg0, 1, pos, 90, 45, 10); - fn_1_1DFC(arg0, 1, 1, 15, 1); - arg1->unk04 = NULL; -} - -void fn_1_A58C(void) -{ - omObjData *obj; - lbl_1_bss_F4.unk00 = obj = omAddObjEx(lbl_1_bss_C8, 256, 16, 16, -1, NULL); - lbl_1_bss_F4.unk04 = NULL; - lbl_1_bss_F4.unk00->data = &lbl_1_bss_F4; - fn_1_A288(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_F4.unk04 != NULL) { - lbl_1_bss_F4.unk04(obj, &lbl_1_bss_F4); - } - if (obj->work[0]) { - fn_1_6704(obj); - } - } -} - -void fn_1_A848(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x62 : 0x66)); - object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x63 : 0x67)); - object->motion[2] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x65 : 0x69)); - object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x66 : 0x6A)); - object->motion[4] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x69 : 0x6C)); - object->motion[5] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x68 : 0x6B)); - object->motion[6] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x6C : 0x6D)); - object->motion[7] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x6D : 0x6E)); - object->motion[8] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x64 : 0x68)); - Hu3DModelPosSet(object->model[1], -120, 0, 800); - Hu3DModelRotSet(object->model[1], 0, 90, 0); - Hu3DModelScaleSet(object->model[1], 1, 1, 1); - Hu3DModelAttrSet(object->model[1], 1); - Hu3DModelShadowSet(object->model[1]); - fn_1_1DFC(object, 1, 1, 0, 1); - lbl_1_data_3DC = object->model[1]; - lbl_1_data_3E0[0] = object->motion[7]; - lbl_1_data_3E0[1] = object->motion[8]; - HuPrcChildCreate(fn_1_7DB0, 100, 8192, 0, HuPrcCurrentGet()); -} - -void fn_1_AB10(omObjData *arg0, StructBss16C *arg1) -{ - int i; - fn_1_1DFC(lbl_1_bss_CC.unk00, 1, 8, 15, 1); - for (i = 0; i < 30; i++) { - fn_1_BC8(); - Hu3DData[lbl_1_bss_CC.unk00->model[1]].pos.x = fn_1_864(-120, -60, i, 30); - } - fn_1_1DFC(lbl_1_bss_11C.unk00, 1, 9, 15, 0); - fn_1_1DFC(lbl_1_bss_CC.unk00, 1, 6, 15, 0); - fn_1_2264(lbl_1_bss_CC.unk00, 1, 6, 15); - fn_1_1DFC(lbl_1_bss_CC.unk00, 1, 7, 15, 1); - fn_1_1DFC(lbl_1_bss_11C.unk00, 1, 10, 15, 1); - for (i = 0; i < 240; i++) { - fn_1_BC8(); - Hu3DData[lbl_1_bss_CC.unk00->model[1]].pos.x = fn_1_864(-60, 540, i, 180); - Hu3DData[lbl_1_bss_11C.unk00->model[1]].pos.x = fn_1_864(120, 840, i, 180); - } - fn_1_1DFC(lbl_1_bss_CC.unk00, 1, 1, 15, 1); - arg1->unk04 = NULL; -} - -void fn_1_ADB0(int arg0, int arg1, int arg2, int arg3, int arg4) -{ - fn_1_1DFC(lbl_1_bss_CC.unk00, 1, arg0, arg2, arg3); - if (arg3 == 1) { - arg4 = 0; - } - lbl_1_bss_CC.unk00->work[0] = arg4; - lbl_1_bss_CC.unk00->work[1] = arg1; - lbl_1_bss_CC.unk00->work[2] = arg2 + 1; -} - -void fn_1_AE5C(void) -{ - omObjData *obj; - lbl_1_bss_CC.unk00 = obj = omAddObjEx(lbl_1_bss_C8, 256, 16, 16, -1, NULL); - lbl_1_bss_CC.unk04 = NULL; - lbl_1_bss_CC.unk00->data = &lbl_1_bss_CC; - fn_1_A848(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_CC.unk04 != NULL) { - lbl_1_bss_CC.unk04(obj, &lbl_1_bss_CC); - } - if (obj->work[0]) { - fn_1_6704(obj); - } - } -} - -void fn_1_B1C0(void) -{ - StructBss24 *work = &lbl_1_bss_24; - work->unk08.x = 0; - work->unk08.y = 125; - work->unk08.z = 0; - work->unk20.x = -4.9f; - work->unk20.y = 0; - work->unk20.z = 0; - work->unk38 = 1750; -} - -void fn_1_B24C(void) -{ - StructBss24 *work = &lbl_1_bss_24; - StructBss24 temp; - temp.unk08.x = 0; - temp.unk08.y = 100; - temp.unk08.z = 0; - temp.unk20.x = 0; - temp.unk20.y = 0; - temp.unk20.z = 0; - temp.unk38 = 1400; - fn_1_42A0(work, &temp, work->unk40++, 60, 10); - if (0.0f != lbl_1_bss_194.unk100) { - work->unk08.y = 100 + lbl_1_bss_194.unk100; - } -} diff --git a/src/REL/mstory2Dll/board_miss.c b/src/REL/mstory2Dll/board_miss.c deleted file mode 100644 index c509b9d0..00000000 --- a/src/REL/mstory2Dll/board_miss.c +++ /dev/null @@ -1,848 +0,0 @@ -#include "REL/mstory2Dll.h" -#include "game/armem.h" -#include "game/audio.h" -#include "game/board/main.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/gamework.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - - -typedef struct { - /* 0x000 */ s32 unk00; - /* 0x004 */ s32 unk04; - /* 0x008 */ s32 unk08; - /* 0x00C */ s32 unk0C; - /* 0x010 */ s32 unk10; - /* 0x014 */ s32 unk14; - /* 0x018 */ char unk18[0x18]; - /* 0x030 */ StructFn357C unk30[4]; - /* 0x100 */ float unk100; -} StructBss688; // Size 0x104 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ char unk0C[4]; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; -} StructBss4E8; // Size 0x18 - -StructBss688 lbl_1_bss_688; -StructBss16C lbl_1_bss_660; -StructBss16C lbl_1_bss_638; -StructBss16C lbl_1_bss_610; -StructBss16C lbl_1_bss_5E8; -StructBss16C lbl_1_bss_548[4]; -StructBss4E8 lbl_1_bss_4E8[4]; -BOOL lbl_1_bss_4E4; -Process *lbl_1_bss_4E0; - -s32 lbl_1_data_698[7] = { - DATADIR_W01, - DATADIR_W02, - DATADIR_W03, - DATADIR_W04, - DATADIR_W05, - DATADIR_W06, - DATADIR_W10, -}; - -s32 lbl_1_data_6B4[8] = { DATADIR_MARIOMDL1, DATADIR_LUIGIMDL1, DATADIR_PEACHMDL1, DATADIR_YOSHIMDL1, DATADIR_WARIOMDL1, DATADIR_DONKEYMDL1, - DATADIR_DAISYMDL1, DATADIR_WALUIGIMDL1 }; - -void fn_1_FDFC(void); -void fn_1_10194(void); -void fn_1_106B0(omObjData *arg0, StructBss16C *arg1); -void fn_1_1094C(void); -void fn_1_10DF4(int arg0, int arg1, int arg2, int arg3, int arg4); -void fn_1_10EA0(omObjData *arg0, StructBss16C *arg1); -void fn_1_1112C(void); -void fn_1_11418(int arg0); -void fn_1_11934(omObjData *arg0, StructBss16C *arg1); -void fn_1_11A98(omObjData *arg0, StructBss16C *arg1); -void fn_1_11BB0(void); -void fn_1_11FD0(void); -void fn_1_1205C(void); -void fn_1_1218C(void); - -void fn_1_E570(void) -{ - int statId = HuDataDirReadAsync(DATADIR_BOARD); - if (statId != -1) { - while (!HuDataGetAsyncStat(statId)) { - HuPrcVSleep(); - } - } - HuAR_MRAMtoARAM(DATADIR_BOARD); - while (HuARDMACheck()) { - HuPrcVSleep(); - } - HuDataDirClose(DATADIR_BOARD); - statId = HuDataDirReadAsync(lbl_1_data_698[GWSystem.board]); - if (statId != -1) { - while (!HuDataGetAsyncStat(statId)) { - HuPrcVSleep(); - } - } - lbl_1_bss_4E4 = TRUE; - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } -} - -void fn_1_E638(void) -{ - int i, j; - lbl_1_bss_4E8[0].unk00 = 0; - lbl_1_bss_4E8[0].unk04 = 0; - lbl_1_bss_4E8[0].unk10 = lbl_1_bss_688.unk30[lbl_1_bss_688.unk00].unk10; - lbl_1_bss_4E8[0].unk14 = lbl_1_bss_688.unk30[lbl_1_bss_688.unk00].unk14; - lbl_1_bss_4E8[0].unk08 = 0; - for (i = 1; i < 4; i++) { - lbl_1_bss_4E8[i].unk10 = -1; - lbl_1_bss_4E8[i].unk14 = i; - lbl_1_bss_4E8[i].unk08 = 1; - } - for (i = 1; i < 4; i++) { - do { - lbl_1_bss_4E8[i].unk10 = rand8() % 8; - for (j = 0; j < 4; j++) { - if (i != j && lbl_1_bss_4E8[j].unk10 != -1 && lbl_1_bss_4E8[i].unk10 == lbl_1_bss_4E8[j].unk10) { - break; - } - } - } while (j != 4); - } - for (i = 0; i < 4; i++) { - GWPlayerCfg[i].character = lbl_1_bss_4E8[i].unk10; - GWPlayerCfg[i].pad_idx = lbl_1_bss_4E8[i].unk14; - GWPlayerCfg[i].group = 0; - GWPlayerCfg[i].iscom = lbl_1_bss_4E8[i].unk08; - } - BoardSaveInit(GWSystem.board); - CharKill(-1); - HuDataDirClose(DATADIR_MSTORY2); - HuPrcChildCreate(fn_1_E570, 100, 12288, 0, lbl_1_bss_4E0); -} - -void fn_1_E8EC(void) -{ - int ovlTbl[7] = { OVL_W01, OVL_W02, OVL_W03, OVL_W04, OVL_W05, OVL_W06, OVL_W10 }; - omOvlHisData *his; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (WipeStatGet()) { - fn_1_BC8(); - } - CharModelKill(-1); - MGSeqKillAll(); - his = omOvlHisGet(0); - omOvlHisChg(0, OVL_MSTORY3, 0, his->stat); - do { - fn_1_BC8(); - } while (lbl_1_bss_4E4 != 1); - CharARAMOpen(GWPlayerCfg[0].character); - CharARAMOpen(GWPlayerCfg[1].character); - CharARAMOpen(GWPlayerCfg[2].character); - CharARAMOpen(GWPlayerCfg[3].character); - HuAudSeqAllFadeOut(1000); - HuAudSStreamAllFadeOut(1000); - omOvlCallEx(ovlTbl[GWSystem.board], 1, 0, 0); - while (1) { - fn_1_BC8(); - } -} - -void fn_1_EA2C(Process *arg0, s32 arg1) -{ - int i; - lbl_1_bss_4E0 = arg0; - lbl_1_bss_688.unk0C = arg1; - fn_1_C30(); - fn_1_3668(255); - fn_1_2828(lbl_1_bss_4E0, fn_1_11FD0); - fn_1_3754(); - fn_1_11418(arg1); - HuPrcChildCreate(fn_1_10194, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_1094C, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_1112C, 100, 8192, 0, HuPrcCurrentGet()); - for (i = 0; i < 4; i++) { - HuPrcChildCreate(fn_1_11BB0, 100, 8192, 0, HuPrcCurrentGet()); - } - HuPrcChildCreate(fn_1_FDFC, 100, 8192, 0, HuPrcCurrentGet()); -} - -void fn_1_EB60(omObjData *object) -{ - if (object->work[2]) { - object->work[2]--; - return; - } - if (object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) { - fn_1_1DFC(object, 1, object->work[1], 15, 1); - object->work[0] = object->work[1] = object->work[2] = 0; - } -} - -void fn_1_EBEC(void) -{ - int posX = 16; - int posY = 40; - GXColor winColor = { 0, 0, 128, 128 }; - int i; - while (1) { - fn_1_BC8(); - printWin(posX, posY, 220, 160, &winColor); - if (lbl_1_bss_660.unk04 == NULL) { - print8(posX, posY, 1, "PROC_MAIN -> FALSE"); - } - else { - print8(posX, posY, 1, "PROC_MAIN -> TRUE"); - } - if (lbl_1_bss_638.unk04 == NULL) { - print8(posX, posY + 10, 1, "PROC_MAP -> FALSE"); - } - else { - print8(posX, posY + 10, 1, "PROC_MAP -> TRUE"); - } - if (lbl_1_bss_610.unk04 == NULL) { - print8(posX, posY + 20, 1, "PROC_KOOPA -> FALSE"); - } - else { - print8(posX, posY + 20, 1, "PROC_KOOPA -> TRUE"); - } - if (lbl_1_bss_5E8.unk04 == NULL) { - print8(posX, posY + 30, 1, "PROC_MKOOPA -> FALSE"); - } - else { - print8(posX, posY + 30, 1, "PROC_MKOOPA -> TRUE"); - } - for (i = 0; i < 4; i++) { - if (lbl_1_bss_548[i].unk04 == NULL) { - print8(posX, posY + 40 + (i * 10), 1, "PROC_PLAYER%d -> FALSE", i); - } - else { - print8(posX, posY + 40 + (i * 10), 1, "PROC_PLAYER%d -> TRUE", i); - } - } - print8(posX, posY + 90, 1, "P:%d W:%d", lbl_1_bss_688.unk00, lbl_1_bss_688.unk0C); - print8(posX, posY + 110, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR"); - for (i = 0; i < 4; i++) { - print8(posX, posY + 120 + (i * 10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_688.unk30[i].unk00, lbl_1_bss_688.unk30[i].unk04, - lbl_1_bss_688.unk30[i].unk08, lbl_1_bss_688.unk30[i].unk0C, lbl_1_bss_688.unk30[i].unk14, lbl_1_bss_688.unk30[i].unk10); - } - } -} - -void fn_1_EFCC(void) -{ - lbl_1_bss_78[0] = HuAudSeqPlay(52); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - do { - fn_1_BC8(); - } while (WipeStatGet()); - fn_1_BE8(60); -} - -void fn_1_F028(void) -{ - int i; - for (i = 0; i < 4; i++) { - lbl_1_bss_548[i].unk04 = (void *)fn_1_11934; - } - do { - fn_1_BC8(); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_548[i].unk04 != NULL) { - break; - } - } - } while (i != 4); - lbl_1_bss_548[lbl_1_bss_688.unk00].unk04 = (void *)fn_1_11A98; - fn_1_3854(&lbl_1_bss_24); - fn_1_2750(fn_1_1205C); - do { - fn_1_BC8(); - } while (lbl_1_bss_548[lbl_1_bss_688.unk00].unk04 != NULL); - do { - fn_1_BC8(); - } while (lbl_1_bss_5E8.unk04 != NULL); - fn_1_BE8(30); - if (0) { - // Dummy code to stop this function from inlining - do { - fn_1_BC8(); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_548[i].unk04 != NULL) { - break; - } - } - } while (i != 4); - lbl_1_bss_548[lbl_1_bss_688.unk00].unk04 = (void *)fn_1_11A98; - fn_1_3854(&lbl_1_bss_24); - fn_1_2750(fn_1_1205C); - do { - fn_1_BC8(); - } while (lbl_1_bss_548[lbl_1_bss_688.unk00].unk04 != NULL); - do { - fn_1_BC8(); - } while (lbl_1_bss_5E8.unk04 != NULL); - fn_1_BE8(30); - } -} - -void fn_1_F150(void) -{ - lbl_1_bss_688.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_688.unk0C); - HuAudFXPlay(lbl_1_data_0[5][0]); - fn_1_10DF4(3, -1, 15, 1, 0); - fn_1_1D18(lbl_1_bss_688.unk04, 0x1F0009); - fn_1_1AFC(lbl_1_bss_688.unk04, -1); - fn_1_1D18(lbl_1_bss_688.unk04, 0x250004); - fn_1_10DF4(1, -1, 15, 1, 0); - fn_1_1A94(lbl_1_bss_688.unk04); -} - -int fn_1_F22C(void) -{ - int result = 0; - fn_1_1D18(lbl_1_bss_688.unk04, 0x1E0021); - fn_1_1AFC(lbl_1_bss_688.unk04, 5); - lbl_1_bss_688.unk08 = fn_1_7064(0x1E0035, lbl_1_bss_688.unk0C); - fn_1_1D18(lbl_1_bss_688.unk08, 0x1E0035); - result = fn_1_1C64(lbl_1_bss_688.unk08); - fn_1_1D18(lbl_1_bss_688.unk08, 0x250004); - fn_1_71DC(lbl_1_bss_688.unk08); - return result; -} - -int fn_1_F2FC(void) -{ - int result = 0; - fn_1_1D18(lbl_1_bss_688.unk04, 0x1E0005); - fn_1_1AFC(lbl_1_bss_688.unk04, 5); - lbl_1_bss_688.unk08 = fn_1_7064(0x1E0035, lbl_1_bss_688.unk0C); - fn_1_1D18(lbl_1_bss_688.unk08, 0x1E0035); - result = fn_1_1BA8(lbl_1_bss_688.unk08, 1); - fn_1_1D18(lbl_1_bss_688.unk08, 0x250004); - fn_1_71DC(lbl_1_bss_688.unk08); - return result; -} - -void fn_1_F3D0(void) -{ - lbl_1_bss_5E8.unk04 = (void *)fn_1_10EA0; - lbl_1_bss_688.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_688.unk0C); - HuAudFXPlay(lbl_1_data_0[5][0]); - fn_1_1D18(lbl_1_bss_688.unk04, 0x1F000A); - fn_1_1AFC(lbl_1_bss_688.unk04, -1); - fn_1_1D18(lbl_1_bss_688.unk04, 0x250004); - fn_1_1A94(lbl_1_bss_688.unk04); - HuAudSeqFadeOut(lbl_1_bss_78[0], 1000); - do { - fn_1_BC8(); - } while (lbl_1_bss_5E8.unk04 != NULL); - lbl_1_bss_610.unk04 = (void *)fn_1_106B0; - do { - fn_1_BC8(); - } while (lbl_1_bss_610.unk04 != NULL); - fn_1_7384(lbl_1_bss_548[lbl_1_bss_688.unk00].unk00->model[1], lbl_1_bss_688.unk30[lbl_1_bss_688.unk00].unk10, 1, 20, 1); - lbl_1_bss_78[1] = HuAudSeqPlay(6); - fn_1_BE8(30); - fn_1_1DFC(lbl_1_bss_610.unk00, 1, 4, 30, 0); - fn_1_BE8(30); - lbl_1_bss_688.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_688.unk0C); - HuAudFXPlay(lbl_1_data_0[6][0]); - HuWinAttrSet(lbl_1_bss_688.unk04, 0x400); - HuWinMesSet(lbl_1_bss_688.unk04, 0x1F000B); - fn_1_2264(lbl_1_bss_610.unk00, 1, 4, 10); - fn_1_1DFC(lbl_1_bss_610.unk00, 1, 1, 10, 1); - HuWinAttrReset(lbl_1_bss_688.unk04, 0x400); - HuWinKeyWaitEntry(lbl_1_bss_688.unk04); - fn_1_BC8(); - fn_1_1AFC(lbl_1_bss_688.unk04, -1); - fn_1_1D18(lbl_1_bss_688.unk04, 0x250004); - fn_1_1A94(lbl_1_bss_688.unk04); - fn_1_BE8(60); - fn_1_E638(); - Hu3DModelAttrReset(lbl_1_bss_638.unk00->model[5], 1); - Hu3DModelAttrReset(lbl_1_bss_638.unk00->model[6], 1); - fn_1_1DFC(lbl_1_bss_610.unk00, 1, 4, 15, 1); - fn_1_1DFC(lbl_1_bss_638.unk00, 2, 3, 0, 0); - fn_1_BE8(45); - HuAudFXPlay(lbl_1_data_0[6][0]); - fn_1_BE8(15); - fn_1_1DFC(lbl_1_bss_548[lbl_1_bss_688.unk00].unk00, 1, 5, 0, 0); - fn_1_BC8(); - fn_1_7384(lbl_1_bss_548[lbl_1_bss_688.unk00].unk00->model[1], lbl_1_bss_688.unk30[lbl_1_bss_688.unk00].unk10, 1, 10, 0); - fn_1_2264(lbl_1_bss_638.unk00, 2, 3, 0); - HuAudSeqFadeOut(lbl_1_bss_78[1], 3000); - fn_1_3854(&lbl_1_bss_24); - fn_1_2750(fn_1_1218C); - fn_1_BE8(150); -} - -void fn_1_F838(void) { } - -void fn_1_F83C(void) -{ - fn_1_BE8(60); - HuAudSeqFadeOut(lbl_1_bss_78[0], 1000); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - do { - fn_1_BC8(); - } while (WipeStatGet()); - CharModelKill(-1); - HuAudFadeOut(1); - omOvlReturnEx(1, 1); -} - -void fn_1_F8B4(omObjData *arg0, StructBss16C *arg1) -{ - int mode = 0; - int i; - fn_1_EFCC(); - fn_1_F028(); - fn_1_F150(); - lbl_1_bss_688.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_688.unk0C); - while (1) { - fn_1_BC8(); - if (fn_1_F22C()) { - mode = 0; - break; - } - else if (fn_1_F2FC()) { - mode = 1; - break; - } - } - - fn_1_1A94(lbl_1_bss_688.unk04); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_688.unk30[i].unk00 != lbl_1_bss_688.unk30[lbl_1_bss_688.unk00].unk00) { - Hu3DModelAttrSet(lbl_1_bss_548[i].unk00->model[1], 1); - } - Hu3DModelAttrSet(lbl_1_bss_548[i].unk00->model[2], 1); - } - switch (mode) { - case 0: - fn_1_F3D0(); - break; - case 1: - break; - } - switch (mode) { - case 0: - fn_1_E8EC(); - break; - - case 1: - fn_1_F83C(); - break; - } - arg1->unk04 = NULL; -} - -void fn_1_FDFC(void) -{ - omObjData *obj; - lbl_1_bss_660.unk00 = obj = omAddObjEx(lbl_1_bss_4E0, 256, 16, 16, -1, NULL); - lbl_1_bss_660.unk04 = (void *)fn_1_F8B4; - lbl_1_bss_660.unk00->data = &lbl_1_bss_660; - while (1) { - fn_1_BC8(); - if (lbl_1_bss_660.unk04 != NULL) { - lbl_1_bss_660.unk04(obj, &lbl_1_bss_660); - } - } -} - -void fn_1_FEB0(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x52)); - object->motion[1] = Hu3DMotionIDGet(object->model[1]); - Hu3DModelShadowMapObjSet(object->model[1], "base_story-base"); - fn_1_1DFC(object, 1, 1, 0, 1); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x53)); - object->motion[2] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x54)); - object->motion[3] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x55)); - fn_1_1DFC(object, 2, 2, 0, 2); - object->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x57)); - object->motion[5] = Hu3DMotionIDGet(object->model[5]); - Hu3DModelPosSet(object->model[5], 0, 80, 460); - Hu3DModelAttrSet(object->model[5], 1); - Hu3DModelShadowSet(object->model[5]); - fn_1_1DFC(object, 5, 5, 0, 2); - object->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x58)); - object->motion[6] = Hu3DMotionIDGet(object->model[6]); - Hu3DModelHookSet(object->model[5], "koopabox_fix-effect_fook2", object->model[6]); - Hu3DModelAttrSet(object->model[6], 1); - fn_1_1DFC(object, 6, 6, 0, 2); -} - -void fn_1_100D8(omObjData *arg0, StructBss16C *arg1) -{ - Hu3DData[arg0->model[5]].pos.y = fn_1_B08(80, 90, arg1->unk08++, 360); - if (arg1->unk08 >= 360) { - arg1->unk08 = 0; - } -} - -void fn_1_10194(void) -{ - omObjData *obj; - lbl_1_bss_638.unk00 = obj = omAddObjEx(lbl_1_bss_4E0, 256, 16, 16, -1, NULL); - lbl_1_bss_638.unk04 = (void *)fn_1_100D8; - lbl_1_bss_638.unk00->data = &lbl_1_bss_638; - fn_1_FEB0(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_638.unk04 != NULL) { - lbl_1_bss_638.unk04(obj, &lbl_1_bss_638); - } - } -} - -void fn_1_10448(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x62 : 0x66)); - object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x63 : 0x67)); - object->motion[2] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x65 : 0x69)); - object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x69 : 0x6C)); - object->motion[4] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x66 : 0x6A)); - Hu3DModelPosSet(object->model[1], -180, 0, 800); - Hu3DModelRotSet(object->model[1], 0, 60, 0); - Hu3DModelScaleSet(object->model[1], 1, 1, 1); - Hu3DModelAttrSet(object->model[1], 1); - Hu3DModelShadowSet(object->model[1]); - fn_1_1DFC(object, 1, 1, 0, 1); -} - -void fn_1_10604(int arg0, int arg1, int arg2, int arg3, int arg4) -{ - fn_1_1DFC(lbl_1_bss_610.unk00, 1, arg0, arg2, arg3); - if (arg3 == 1) { - arg4 = 0; - } - lbl_1_bss_610.unk00->work[0] = arg4; - lbl_1_bss_610.unk00->work[1] = arg1; - lbl_1_bss_610.unk00->work[2] = arg2 + 1; -} - -void fn_1_106B0(omObjData *arg0, StructBss16C *arg1) -{ - int i = 0; - float speed = 50; - - HuAudFXPlay(153); - fn_1_10604(2, 1, 0, 0, 1); - fn_1_BE8(5); - Hu3DMotionTimeSet(lbl_1_bss_610.unk00->model[1], 100); - fn_1_BC8(); - Hu3DModelAttrReset(arg0->model[1], 1); - while (1) { - fn_1_BC8(); - if (Hu3DMotionTimeGet(lbl_1_bss_610.unk00->model[1]) >= 137) { - break; - } - } - HuAudFXPlay(156); - omVibrate(lbl_1_bss_688.unk0C, 45, 12, 0); - fn_1_67D8(lbl_1_bss_548[lbl_1_bss_688.unk00].unk00, 6, 1, 5, 0); - for (i = 0; i < 60; i++) { - float posY; - fn_1_BC8(); - posY = fn_1_B08(0, speed, i % 15, 15); - speed = fn_1_88C(speed, 0, 30); - lbl_1_bss_688.unk100 = fn_1_88C(lbl_1_bss_688.unk100, posY, 5); - } - lbl_1_bss_688.unk100 = 0; - arg1->unk04 = NULL; -} - -void fn_1_1094C(void) -{ - omObjData *obj; - lbl_1_bss_610.unk00 = obj = omAddObjEx(lbl_1_bss_4E0, 256, 16, 16, -1, NULL); - lbl_1_bss_610.unk04 = NULL; - lbl_1_bss_610.unk00->data = &lbl_1_bss_638; - fn_1_10448(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_610.unk04 != NULL) { - lbl_1_bss_610.unk04(obj, &lbl_1_bss_610); - } - if (obj->work[0]) { - if (obj->work[2]) { - obj->work[2]--; - } - else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) { - fn_1_1DFC(obj, 1, obj->work[1], 15, 1); - obj->work[0] = obj->work[1] = obj->work[2] = 0; - } - } - } -} - -void fn_1_10C00(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x7D : 0x7B)); - object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x7E : 0x7C)); - object->motion[2] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x80 : 0x7D)); - object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x81 : 0x7E)); - object->motion[4] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x84 : 0x7F)); - object->motion[5] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x85 : 0x80)); - Hu3DModelPosSet(object->model[1], -300, 0, 890); - Hu3DModelRotSet(object->model[1], 0, 30, 0); - Hu3DModelScaleSet(object->model[1], 1, 1, 1); - Hu3DModelShadowSet(object->model[1]); - fn_1_1DFC(object, 1, 1, 0, 1); - CharModelEffectNpcInit(object->model[1], object->motion[2], 1, 13); -} - -void fn_1_10DF4(int arg0, int arg1, int arg2, int arg3, int arg4) -{ - fn_1_1DFC(lbl_1_bss_5E8.unk00, 1, arg0, arg2, arg3); - if (arg3 == 1) { - arg4 = 0; - } - lbl_1_bss_5E8.unk00->work[0] = arg4; - lbl_1_bss_5E8.unk00->work[1] = arg1; - lbl_1_bss_5E8.unk00->work[2] = arg2 + 1; -} - -void fn_1_10EA0(omObjData *arg0, StructBss16C *arg1) -{ - Vec pos = { -600, 0, 800 }; - fn_1_1DFC(arg0, 1, 2, 15, 1); - fn_1_2D00(arg0, 1, pos, -90, 60, 10); - fn_1_1DFC(arg0, 1, 1, 15, 1); - arg1->unk04 = NULL; -} - -void fn_1_10F84(omObjData *arg0, StructBss16C *arg1) -{ - int i; - for (i = 0; i < 15; i++) { - fn_1_BC8(); - Hu3DData[arg0->model[1]].rot.y = fn_1_864(0, 135, i, 15); - } - arg1->unk04 = NULL; -} - -void fn_1_11048(omObjData *arg0, StructBss16C *arg1) -{ - Vec pos = { -120, 0, 800 }; - fn_1_1DFC(arg0, 1, 2, 15, 1); - fn_1_2D00(arg0, 1, pos, 60, 60, 10); - fn_1_1DFC(arg0, 1, 1, 15, 1); - arg1->unk04 = NULL; -} - -void fn_1_1112C(void) -{ - omObjData *obj; - lbl_1_bss_5E8.unk00 = obj = omAddObjEx(lbl_1_bss_4E0, 256, 16, 16, -1, NULL); - lbl_1_bss_5E8.unk04 = NULL; - lbl_1_bss_5E8.unk00->data = &lbl_1_bss_5E8; - fn_1_10C00(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_5E8.unk04 != NULL) { - lbl_1_bss_5E8.unk04(obj, &lbl_1_bss_5E8); - } - if (obj->work[0]) { - if (obj->work[2]) { - obj->work[2]--; - } - else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) { - fn_1_1DFC(obj, 1, obj->work[1], 15, 1); - obj->work[0] = obj->work[1] = obj->work[2] = 0; - } - } - } -} - -void fn_1_11418(int arg0) -{ - int i; - int order[4]; - order[0] = 0; - for (i = 1; i < 4; i++) { - order[i] = order[i - 1] + 1; - if (order[i] >= 4) { - order[i] = 0; - } - if (arg0 == order[i]) { - lbl_1_bss_688.unk00 = i; - } - } - for (i = 0; i < 4; i++) { - fn_1_357C(&lbl_1_bss_688.unk30[i], order[i]); - } - for (i = 0; i < 4; i++) { - lbl_1_bss_688.unk30[i].unk18 = GWPlayer[order[i]].rank + 1; - } -} - -Vec lbl_1_data_81C[4] = { - { -300, 0, 460 }, - { -100, -30, 460 }, - { 100, -60, 460 }, - { 300, -90, 460 }, -}; - -void fn_1_1154C(omObjData *object, int player) -{ - int playerNo = player; - int charNo = lbl_1_bss_688.unk30[playerNo].unk10; - object->model[1] = CharModelCreate(charNo, 4); - object->motion[1] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00)); - object->motion[2] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03)); - object->motion[3] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x05)); - object->motion[4] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x1A)); - object->motion[5] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x6D)); - object->motion[6] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x18) + charNo); - CharModelMotionDataClose(charNo); - Hu3DModelPosSet( - object->model[1], lbl_1_data_81C[playerNo].x, lbl_1_data_81C[lbl_1_bss_688.unk30[playerNo].unk18 - 1].y + 90, lbl_1_data_81C[playerNo].z); - Hu3DModelRotSet(object->model[1], 0, 0, 0); - Hu3DModelScaleSet(object->model[1], 1, 1, 1); - Hu3DModelShadowSet(object->model[1]); - fn_1_1DFC(object, 1, 1, 0, 1); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x56)); - Hu3DModelPosSet( - object->model[2], lbl_1_data_81C[playerNo].x, lbl_1_data_81C[lbl_1_bss_688.unk30[playerNo].unk18 - 1].y, lbl_1_data_81C[playerNo].z); - if (lbl_1_bss_688.unk30[playerNo].unk18 == 4) { - Hu3DModelAttrSet(object->model[2], 1); - } - Hu3DModelScaleSet(object->model[2], 1.5, 1, 1.5); - Hu3DModelShadowMapSet(object->model[2]); -} - -void fn_1_11838(int arg0, int arg1, int arg2, int arg3, int arg4) -{ - fn_1_1DFC(lbl_1_bss_548[lbl_1_bss_688.unk00].unk00, 1, arg0, arg2, arg3); - if (arg3 == 1) { - arg4 = 0; - } - lbl_1_bss_548[lbl_1_bss_688.unk00].unk00->work[0] = arg4; - lbl_1_bss_548[lbl_1_bss_688.unk00].unk00->work[1] = arg1; - lbl_1_bss_548[lbl_1_bss_688.unk00].unk00->work[2] = arg2 + 1; -} - -void fn_1_11934(omObjData *arg0, StructBss16C *arg1) -{ - float posY = Hu3DData[arg0->model[1]].pos.y; - int i; - for (i = 0; i < 60; i++) { - fn_1_BC8(); - Hu3DData[arg0->model[1]].pos.y = fn_1_984(posY, 0, i, 60); - Hu3DData[arg0->model[2]].pos.y = fn_1_984(posY - 90, -90, i, 60); - } - Hu3DModelAttrSet(arg0->model[2], 1); - arg1->unk04 = NULL; -} - -void fn_1_11A98(omObjData *arg0, StructBss16C *arg1) -{ - Vec pos = { 120, 0, 800 }; - lbl_1_bss_5E8.unk04 = (void *)fn_1_11048; - fn_1_1DFC(lbl_1_bss_638.unk00, 2, 2, 0, 0); - fn_1_1DFC(arg0, 1, 2, 15, 1); - fn_1_2D00(arg0, 1, pos, -60, 30, 10); - fn_1_1DFC(arg0, 1, 1, 15, 1); - arg1->unk04 = NULL; -} - -void fn_1_11BB0(void) -{ - omObjData *obj; - int playerNo = lbl_1_bss_688.unk10++; - lbl_1_bss_548[playerNo].unk00 = obj = omAddObjEx(lbl_1_bss_4E0, 256, 16, 16, -1, NULL); - lbl_1_bss_548[playerNo].unk04 = NULL; - lbl_1_bss_548[playerNo].unk00->data = &lbl_1_bss_548[0]; - fn_1_1154C(obj, playerNo); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_548[playerNo].unk04 != NULL) { - lbl_1_bss_548[playerNo].unk04(obj, &lbl_1_bss_548[playerNo]); - } - if (obj->work[0]) { - if (obj->work[2]) { - obj->work[2]--; - } - else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) { - fn_1_1DFC(obj, 1, obj->work[1], 15, 1); - obj->work[0] = obj->work[1] = obj->work[2] = 0; - } - } - } -} - -void fn_1_11FD0(void) -{ - StructBss24 *work = &lbl_1_bss_24; - work->unk08.x = 0; - work->unk08.y = 170; - work->unk08.z = 0; - work->unk20.x = -5; - work->unk20.y = 0; - work->unk20.z = 0; - work->unk38 = 1700; -} - -void fn_1_1205C(void) -{ - StructBss24 *work = &lbl_1_bss_24; - StructBss24 temp; - temp.unk08.x = 0; - temp.unk08.y = 125; - temp.unk08.z = 0; - temp.unk20.x = -5; - temp.unk20.y = 0; - temp.unk20.z = 0; - temp.unk38 = 1750; - fn_1_4FEC(work, &temp, work->unk40++, 60, 30); - if (0.0f != lbl_1_bss_688.unk100) { - work->unk08.y = lbl_1_bss_688.unk100 + 125; - } -} - -void fn_1_1218C(void) -{ - StructBss24 *work = &lbl_1_bss_24; - StructBss24 temp; - if (work->unk40 == 50) { - fn_1_1DFC(lbl_1_bss_638.unk00, 5, 5, 0, 0); - fn_1_1DFC(lbl_1_bss_638.unk00, 6, 6, 0, 0); - HuAudFXPlay(161); - } - temp.unk08.x = 0; - temp.unk08.y = 100; - temp.unk08.z = 460; - temp.unk20.x = 0; - temp.unk20.y = 0; - temp.unk20.z = 0; - temp.unk38 = 125; - fn_1_4FEC(work, &temp, work->unk40, 180, 10); - if (work->unk40++ >= 90) { - if (work->unk40 == 91) { - lbl_1_bss_88[0] = HuAudFXPlay(32); - } - work->unk20.x = fn_1_864(work->unk20.x, -45, work->unk40 - 90, 90); - Hu3DData[lbl_1_bss_638.unk00->model[5]].rot.x = fn_1_864(0, 45, work->unk40 - 90, 90); - } -} diff --git a/src/REL/mstory2Dll/ending.c b/src/REL/mstory2Dll/ending.c deleted file mode 100644 index 93e9ab8e..00000000 --- a/src/REL/mstory2Dll/ending.c +++ /dev/null @@ -1,701 +0,0 @@ -#include "REL/mstory2Dll.h" -#include "game/armem.h" -#include "game/board/main.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/esprite.h" -#include "game/gamework.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/memory.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - -#ifndef __MWERKS__ -#include "game/audio.h" -#include "game/saveload.h" -#include "game/thpmain.h" -#endif - -typedef struct { - /* 0x000 */ s32 unk00; - /* 0x004 */ s32 unk04; - /* 0x008 */ s32 unk08; - /* 0x00C */ s32 unk0C; - /* 0x010 */ s32 unk10; - /* 0x014 */ s32 unk14; - /* 0x018 */ char unk18[0x18]; - /* 0x030 */ StructFn357C unk30[4]; - /* 0x100 */ float unk100; -} StructBssC0C; // Size 0x104 - -StructBssC0C lbl_1_bss_C0C; -StructBss16C lbl_1_bss_BE4; -StructBss16C lbl_1_bss_BBC; -StructBss16C lbl_1_bss_B94; -StructBss16C lbl_1_bss_B6C; -StructBss16C lbl_1_bss_B44; -BOOL lbl_1_bss_B40; -BOOL lbl_1_bss_B3C; -Process *lbl_1_bss_B38; - -s32 lbl_1_data_EF8[2][2] = { 20, 70, 1, 1 }; -s32 lbl_1_data_F08 = -1; -s32 lbl_1_data_F0C[2] = { -1, -1 }; -s32 lbl_1_data_F14 = 127; - -void fn_1_19F14(void); -void fn_1_1A160(void); -void fn_1_1A538(omObjData *arg0, StructBss16C *arg1); -void fn_1_1A578(void); -void fn_1_1A9D0(omObjData *arg0, StructBss16C *arg1); -void fn_1_1AAB4(void); -void fn_1_1AFD4(omObjData *arg0, StructBss16C *arg1); -void fn_1_1B0E4(void); -void fn_1_1AD3C(int arg0); -void fn_1_1B318(void); -void fn_1_1B3A4(void); -void fn_1_1B430(void); - -void fn_1_186D0(void) -{ - int i; - while (1) { - HuPrcVSleep(); - if (lbl_1_data_F08 != -1 && lbl_1_data_F0C[0] != -1 && lbl_1_data_F0C[1] != -1 && lbl_1_data_F0C[0] == Hu3DMotionIDGet(lbl_1_data_F08)) { - for (i = 0; i < 2; i++) { - if (lbl_1_data_EF8[1][i] != -1) { - if (Hu3DMotionTimeGet(lbl_1_data_F08) >= lbl_1_data_EF8[0][i]) { - OSReport("KE-System TIME:%d\n", lbl_1_data_EF8[0][i]); - HuAudFXPlayVol(81, lbl_1_data_F14); - lbl_1_data_EF8[1][i] = -1; - } - } - } - if (Hu3DMotionTimeGet(lbl_1_data_F08) <= 10) { - for (i = 0; i < 2; i++) { - lbl_1_data_EF8[1][i] = 1; - } - } - } - if (lbl_1_bss_B3C == 1) { - lbl_1_data_F14--; - if (lbl_1_data_F14 <= 0) { - lbl_1_data_F14 = 0; - } - } - if (lbl_1_bss_B3C == 2) { - break; - } - } - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } -} - -void fn_1_188F0(Process *arg0, s32 arg1) -{ - lbl_1_bss_B38 = arg0; - if (GWSystem.diff_story == 2) { - GWGameStat.veryHardUnlock = TRUE; - } - lbl_1_bss_C0C.unk0C = arg1; - fn_1_C30(); - fn_1_3668(255); - fn_1_2828(lbl_1_bss_B38, fn_1_1B318); - fn_1_3754(); - fn_1_1AD3C(arg1); - HuPrcChildCreate(fn_1_1B0E4, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_1A160, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_1AAB4, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_1A578, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_19F14, 100, 12288, 0, HuPrcCurrentGet()); -} - -void fn_1_18A34(omObjData *object) -{ - if (object->work[2]) { - object->work[2]--; - return; - } - if (object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) { - fn_1_1DFC(object, 1, object->work[1], 15, 1); - object->work[0] = object->work[1] = object->work[2] = 0; - } -} - -void fn_1_18AC0(void) -{ - int posX = 16; - int posY = 40; - GXColor winColor = { 0, 0, 128, 128 }; - int i; - while (1) { - fn_1_BC8(); - fontcolor = FONT_COLOR_WHITE; - printWin(posX, posY, 220, 130, &winColor); - if (lbl_1_bss_BE4.unk04 == NULL) { - print8(posX, posY, 1, "PROC_MAIN -> FALSE"); - } - else { - print8(posX, posY, 1, "PROC_MAIN -> TRUE"); - } - if (lbl_1_bss_BBC.unk04 == NULL) { - print8(posX, posY + 10, 1, "PROC_MAP -> FALSE"); - } - else { - print8(posX, posY + 10, 1, "PROC_MAP -> TRUE"); - } - if (lbl_1_bss_B94.unk04 == NULL) { - print8(posX, posY + 20, 1, "PROC_PLAYER -> FALSE"); - } - else { - print8(posX, posY + 20, 1, "PROC_PLAYER -> TRUE"); - } - if (lbl_1_bss_B6C.unk04 == NULL) { - print8(posX, posY + 30, 1, "PROC_SUB -> FALSE"); - } - else { - print8(posX, posY + 30, 1, "PROC_SUB -> TRUE"); - } - if (lbl_1_bss_B44.unk04 == NULL) { - print8(posX, posY + 40, 1, "PROC_KOOPA -> FALSE"); - } - else { - print8(posX, posY + 40, 1, "PROC_KOOPA -> TRUE"); - } - - print8(posX, posY + 60, 1, "P:%d W:%d", lbl_1_bss_C0C.unk00, lbl_1_bss_C0C.unk0C); - print8(posX, posY + 80, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR"); - for (i = 0; i < 4; i++) { - print8(posX, posY + 90 + (i * 10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_C0C.unk30[i].unk00, lbl_1_bss_C0C.unk30[i].unk04, - lbl_1_bss_C0C.unk30[i].unk08, lbl_1_bss_C0C.unk30[i].unk0C, lbl_1_bss_C0C.unk30[i].unk14, lbl_1_bss_C0C.unk30[i].unk10); - } - } -} - -void fn_1_18E7C(void) -{ - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - do { - fn_1_BC8(); - } while (WipeStatGet()); - fn_1_BE8(60); -} - -void fn_1_18EC4(void) -{ - lbl_1_bss_C0C.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_C0C.unk0C); - HuAudFXPlay(lbl_1_data_0[6][1]); - fn_1_1D18(lbl_1_bss_C0C.unk04, 0x1F001E); - fn_1_1AFC(lbl_1_bss_C0C.unk04, -1); - fn_1_1D18(lbl_1_bss_C0C.unk04, 0x250004); - fn_1_1A94(lbl_1_bss_C0C.unk04); - lbl_1_bss_B44.unk04 = (void *)fn_1_1A538; - lbl_1_bss_B3C = 1; - fn_1_BE8(60); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - do { - fn_1_BC8(); - } while (WipeStatGet()); - fn_1_BE8(60); - lbl_1_bss_B44.unk04 = NULL; - lbl_1_bss_B3C = 2; - fn_1_1DFC(lbl_1_bss_B44.unk00, 1, 1, 0, 1); - fn_1_2750(fn_1_1B3A4); - Hu3DModelAttrReset(lbl_1_bss_BBC.unk00->model[1], 1); - Hu3DModelAttrReset(lbl_1_bss_BBC.unk00->model[2], 1); - Hu3DModelAttrReset(lbl_1_bss_BBC.unk00->model[4], 1); - Hu3DModelAttrReset(lbl_1_bss_B6C.unk00->model[1], 1); - Hu3DModelAttrReset(lbl_1_bss_B94.unk00->model[1], 1); - Hu3DModelAttrSet(lbl_1_bss_B44.unk00->model[1], 1); - Hu3DModelPosSet(lbl_1_bss_BBC.unk00->model[1], 0, 0, 0); - fn_1_BE8(60); - lbl_1_bss_78[0] = HuAudSeqPlay(56); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - do { - fn_1_BC8(); - } while (WipeStatGet()); - if (0) { - fn_1_BC8(); - } -} - -void fn_1_19138(void) -{ - fn_1_1DFC(lbl_1_bss_BBC.unk00, 2, 3, 0, 0); - fn_1_2264(lbl_1_bss_BBC.unk00, 2, 3, 0); - lbl_1_bss_B94.unk04 = (void *)fn_1_1AFD4; - lbl_1_bss_B6C.unk04 = (void *)fn_1_1A9D0; - fn_1_3854(&lbl_1_bss_24); - fn_1_2750(fn_1_1B430); - fn_1_BE8(30); - fn_1_1DFC(lbl_1_bss_BBC.unk00, 2, 2, 0, 0); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_B94.unk04 == NULL) { - break; - } - } - while (1) { - fn_1_BC8(); - if (lbl_1_bss_B6C.unk04 == NULL) { - break; - } - } - lbl_1_bss_C0C.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_C0C.unk0C); - HuAudFXPlay(lbl_1_data_0[0][2]); - fn_1_1DFC(lbl_1_bss_B6C.unk00, 1, 3, 15, 1); - fn_1_1D18(lbl_1_bss_C0C.unk04, 0x1F001F); - fn_1_1AFC(lbl_1_bss_C0C.unk04, -1); - fn_1_1D18(lbl_1_bss_C0C.unk04, 0x1F0020); - fn_1_1AFC(lbl_1_bss_C0C.unk04, -1); - fn_1_1D18(lbl_1_bss_C0C.unk04, 0x250004); - fn_1_1DFC(lbl_1_bss_B6C.unk00, 1, 1, 15, 1); - fn_1_1A94(lbl_1_bss_C0C.unk04); - fn_1_BE8(60); -} - -char *lbl_1_data_10E4[8] = { "movie/endmov_ma0.thp", "movie/endmov_lu0.thp", "movie/endmov_pe0.thp", "movie/endmov_yo0.thp", "movie/endmov_wa0.thp", - "movie/endmov_do0.thp", "movie/endmov_da0.thp", "movie/endmov_wl0.thp" }; - -void fn_1_19334(void) -{ - lbl_1_bss_C0C.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_C0C.unk0C); - HuAudFXPlay(lbl_1_data_0[0][2]); - fn_1_1DFC(lbl_1_bss_B6C.unk00, 1, 3, 0, 1); - fn_1_1D4C(lbl_1_bss_C0C.unk04, lbl_1_bss_C0C.unk30[lbl_1_bss_C0C.unk00].unk10, 0); - fn_1_1D18(lbl_1_bss_C0C.unk04, 0x1F0024); - fn_1_1AFC(lbl_1_bss_C0C.unk04, -1); - fn_1_1D18(lbl_1_bss_C0C.unk04, 0x250004); - fn_1_1DFC(lbl_1_bss_B6C.unk00, 1, 1, 0, 1); - fn_1_1A94(lbl_1_bss_C0C.unk04); - fn_1_1DFC(lbl_1_bss_B94.unk00, 1, 4, 15, 0); - fn_1_2264(lbl_1_bss_B94.unk00, 1, 4, 15); - fn_1_1DFC(lbl_1_bss_B94.unk00, 1, 3, 15, 1); - fn_1_BE8(60); - lbl_1_bss_C0C.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_C0C.unk0C); - fn_1_1DFC(lbl_1_bss_B6C.unk00, 1, 3, 0, 1); - fn_1_6D78(lbl_1_bss_C0C.unk04, 0x1F0023, 0, -1); - fn_1_1D18(lbl_1_bss_C0C.unk04, 0x250004); - fn_1_1DFC(lbl_1_bss_B6C.unk00, 1, 1, 0, 1); - HuAudFXPlay(lbl_1_data_0[0][3]); - fn_1_1A94(lbl_1_bss_C0C.unk04); - fn_1_BE8(60); - HuAudFXPlay(152); - Hu3DModelAttrSet(lbl_1_bss_BBC.unk00->model[1], 1); - Hu3DModelAttrSet(lbl_1_bss_BBC.unk00->model[2], 1); - Hu3DModelAttrSet(lbl_1_bss_BBC.unk00->model[4], 1); - Hu3DModelAttrSet(lbl_1_bss_B6C.unk00->model[1], 1); - Hu3DModelAttrSet(lbl_1_bss_B94.unk00->model[1], 1); - HuAudSeqFadeOut(lbl_1_bss_78[0], 100); - lbl_1_bss_B3C = 2; - GWGameStat.musicAllF = TRUE; - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (WipeStatGet()) { - HuPrcVSleep(); - } - lbl_1_bss_BBC.unk04 = NULL; - lbl_1_bss_B94.unk04 = NULL; - lbl_1_bss_B44.unk04 = NULL; - lbl_1_bss_B6C.unk04 = NULL; - - CharModelKill(-1); - Hu3DAllKill(); - fn_1_BE8(60); - { - int time = 0; -#if VERSION_PAL - s32 languageOffset = 0; -#endif - int gid = HuSprGrpCreate(3); - int sprid = HuTHPSprCreate(lbl_1_data_10E4[lbl_1_bss_C0C.unk30[lbl_1_bss_C0C.unk00].unk10], FALSE, 1000); - HuSprGrpMemberSet(gid, 0, sprid); - HuSprPosSet(gid, 0, 288, 240); -#if VERSION_PAL - switch (GWGameStat.language) { - case 2: - languageOffset = 1; - break; - case 3: - languageOffset = 2; - break; - case 4: - languageOffset = 3; - break; - case 5: - languageOffset = 4; - break; - } - sprid = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x60) + languageOffset, MEMORY_DEFAULT_NUM)), 950, 0); -#else - sprid = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x60), MEMORY_DEFAULT_NUM)), 950, 0); -#endif - HuSprGrpMemberSet(gid, 1, sprid); - HuSprPosSet(gid, 1, 288, 226); - HuSprAttrSet(gid, 1, HUSPR_ATTR_DISPOFF); - sprid = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x61 : 0x65), MEMORY_DEFAULT_NUM)), 950, 0); - HuSprGrpMemberSet(gid, 2, sprid); - HuSprBankSet(gid, 2, lbl_1_bss_C0C.unk30[lbl_1_bss_C0C.unk00].unk10); - if (GWLanguageGet() == 0 && lbl_1_bss_C0C.unk30[lbl_1_bss_C0C.unk00].unk10 == 5) { - HuSprBankSet(gid, 2, 8); - } - HuSprPosSet(gid, 2, 288, 254); - HuSprAttrSet(gid, 2, HUSPR_ATTR_DISPOFF); - HuPrcSleep(5); - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); - while (WipeStatGet()) { - HuPrcVSleep(); - } - while (!HuTHPEndCheck()) { - if (time >= (VERSION_NTSC ? 3300 : 2725)) { - HuSprAttrReset(gid, 1, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(gid, 2, HUSPR_ATTR_DISPOFF); - } - else { - time++; - } - HuPrcVSleep(); - } - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet()) { - HuPrcVSleep(); - } - HuTHPClose(); - HuPrcVSleep(); - HuSprGrpKill(gid); - } -} - -void fn_1_199A0(void) -{ - float sp8[2]; - s32 temp_r30; - s32 var_r29; - s32 var_r31; - s32 var_r28; - temp_r30 = 1; - Hu3DAllKill(); - HuSprClose(); - HuSprInit(); - if (SLSaveFlagGet() == 0) { - lbl_1_bss_B40 = 1; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } - } - espInit(); - HuPrcVSleep(); - var_r29 = espEntry(DATA_MAKE_NUM(DATADIR_WIN, 32), 5000, 0); - espPosSet(var_r29, 288.0f, 240.0f); - espAttrReset(var_r29, 4); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - fn_1_BE8(60); - var_r28 = GWStoryCharGet(); - GWSystem.storyCharBit |= 1 << var_r28; - if (SLSaveFlagGet() == 1) { - HuWinInit(1); - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(30, 22)); - var_r31 = HuWinExCreateStyled(-10000.0f, 150.0f, sp8[0], sp8[1], -1, 2); - winData[var_r31].active_pad = 1; - HuWinAttrSet(var_r31, 0x10); - HuWinExAnimIn(var_r31); - HuWinMesSet(var_r31, MAKE_MESSID(30, 22)); - temp_r30 = HuWinChoiceGet(var_r31, 0); - HuWinExAnimOut(var_r31); - HuWinExCleanup(var_r31); - if (SLSaveFlagGet() == 1 && temp_r30 == 0) { - GWGameStat.story_continue = FALSE; - SLCommonSet(); - SLSaveBoardStory(); - SLSave(); - } - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - lbl_1_bss_B40 = 1; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_19BE8(void) -{ - omOvlHisData *his; - fn_1_BE8(120); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - do { - fn_1_BC8(); - } while (WipeStatGet()); - CharModelKill(-1); - HuAudFadeOut(1); - his = omOvlHisGet(0); - omOvlHisChg(0, OVL_MSTORY2, 20, 1); - omOvlCallEx(OVL_STAFF, 1, 0, 0); - while (1) { - fn_1_BC8(); - } -} - -void fn_1_19C6C(omObjData *arg0, StructBss16C *arg1) -{ - int temp = 0; - fn_1_18E7C(); - fn_1_18EC4(); - fn_1_19138(); - fn_1_19334(); - fn_1_19BE8(); - arg1->unk04 = NULL; -} - -void fn_1_19F14(void) -{ - omObjData *obj; - lbl_1_bss_BE4.unk00 = obj = omAddObjEx(lbl_1_bss_B38, 256, 16, 16, -1, NULL); - lbl_1_bss_BE4.unk04 = (void *)fn_1_19C6C; - lbl_1_bss_BE4.unk00->data = &lbl_1_bss_BE4; - while (1) { - fn_1_BC8(); - if (lbl_1_bss_BE4.unk04 != NULL) { - lbl_1_bss_BE4.unk04(obj, &lbl_1_bss_BE4); - } - } -} - -void fn_1_19FC8(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x50)); - object->motion[0] = Hu3DMotionIDGet(object->model[1]); - fn_1_1DFC(object, 1, 0, 0, 2); - Hu3DModelShadowMapObjSet(object->model[1], "base_fix9-base"); - Hu3DModelAttrSet(object->model[1], 1); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x53)); - object->motion[2] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x54)); - object->motion[3] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x55)); - Hu3DModelAttrSet(object->model[2], 1); - fn_1_1DFC(object, 2, 3, 0, 2); - object->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x51)); - Hu3DModelAttrSet(object->model[4], 1); - Hu3DModelPosSet(object->model[1], 0, -1000, 0); -} - -void fn_1_1A160(void) -{ - omObjData *obj; - lbl_1_bss_BBC.unk00 = obj = omAddObjEx(lbl_1_bss_B38, 256, 16, 16, -1, NULL); - lbl_1_bss_BBC.unk04 = NULL; - fn_1_19FC8(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_BBC.unk04 != NULL) { - lbl_1_bss_BBC.unk04(obj, &lbl_1_bss_BBC); - } - } -} - -void fn_1_1A368(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x62 : 0x66)); - object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x63 : 0x67)); - object->motion[2] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x70 : 0x71)); - object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x71 : 0x72)); - Hu3DModelPosSet(object->model[1], 0, 0, 600); - Hu3DModelRotSet(object->model[1], 0, 180, 0); - Hu3DModelScaleSet(object->model[1], 1, 1, 1); - fn_1_1DFC(object, 1, 3, 0, 1); - lbl_1_data_F08 = object->model[1]; - lbl_1_data_F0C[0] = object->motion[3]; - lbl_1_data_F0C[1] = object->motion[3]; - HuPrcChildCreate(fn_1_186D0, 100, 8192, 0, HuPrcCurrentGet()); -} - -void fn_1_1A538(omObjData *arg0, StructBss16C *arg1) -{ - Hu3DData[lbl_1_bss_B44.unk00->model[1]].pos.z -= 2.5f; -} - -void fn_1_1A578(void) -{ - omObjData *obj; - lbl_1_bss_B44.unk00 = obj = omAddObjEx(lbl_1_bss_B38, 256, 16, 16, -1, NULL); - lbl_1_bss_B44.unk04 = NULL; - fn_1_1A368(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_B44.unk04 != NULL) { - lbl_1_bss_B44.unk04(obj, &lbl_1_bss_B44); - } - if (obj->work[0]) { - fn_1_6704(obj); - } - } -} - -void fn_1_1A7CC(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x72 : 0x73)); - object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x73 : 0x74)); - object->motion[2] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x75)); - object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x76)); - object->motion[4] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x7C : 0x7A)); - object->motion[5] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x79 : 0x77)); - Hu3DModelPosSet(object->model[1], 0, 0, 460); - Hu3DModelRotSet(object->model[1], 0, 0, 0); - Hu3DModelScaleSet(object->model[1], 1, 1, 1); - Hu3DModelAttrSet(object->model[1], 1); - Hu3DModelShadowSet(object->model[1]); - fn_1_1DFC(object, 1, 5, 0, 1); - CharModelEffectNpcInit(object->model[1], object->motion[2], 1, 9); -} - -void fn_1_1A9D0(omObjData *arg0, StructBss16C *arg1) -{ - Vec pos = { -120, 0, 800 }; - fn_1_1DFC(arg0, 1, 2, 15, 1); - fn_1_2D00(arg0, 1, pos, 90, 60, 10); - fn_1_1DFC(arg0, 1, 1, 15, 1); - arg1->unk04 = NULL; -} - -void fn_1_1AAB4(void) -{ - omObjData *obj; - lbl_1_bss_B6C.unk00 = obj = omAddObjEx(lbl_1_bss_B38, 256, 16, 16, -1, NULL); - lbl_1_bss_B6C.unk04 = NULL; - fn_1_1A7CC(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_B6C.unk04 != NULL) { - lbl_1_bss_B6C.unk04(obj, &lbl_1_bss_B6C); - } - if (obj->work[0]) { - fn_1_6704(obj); - } - } -} - -void fn_1_1AD3C(int arg0) -{ - int i; - int order[4]; - order[0] = 0; - for (i = 1; i < 4; i++) { - order[i] = order[i - 1] + 1; - if (order[i] >= 4) { - order[i] = 0; - } - if (arg0 == order[i]) { - lbl_1_bss_C0C.unk00 = i; - } - } - for (i = 0; i < 4; i++) { - fn_1_357C(&lbl_1_bss_C0C.unk30[i], order[i]); - } -} - -void fn_1_1AE20(omObjData *object) -{ - int charNo = lbl_1_bss_C0C.unk30[lbl_1_bss_C0C.unk00].unk10; - object->model[1] = CharModelCreate(charNo, 1); - object->motion[1] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00)); - object->motion[2] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x35)); - object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x10) + charNo); - object->motion[4] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x08) + charNo); - CharModelMotionDataClose(charNo); - Hu3DModelPosSet(object->model[1], 120, 0, 800); - Hu3DModelRotSet(object->model[1], 0, -135, 0); - Hu3DModelScaleSet(object->model[1], 1, 1, 1); - Hu3DModelAttrSet(object->model[1], 1); - Hu3DModelShadowSet(object->model[1]); - fn_1_1DFC(object, 1, 1, 0, 1); -} - -void fn_1_1AFD4(omObjData *arg0, StructBss16C *arg1) -{ - int i; - fn_1_1DFC(arg0, 1, 2, 0, 0); - fn_1_BC8(); - Hu3DMotionTimeSet(arg0->model[1], 60); - for (i = 0; i < 60; i++) { - fn_1_BC8(); - Hu3DData[arg0->model[1]].rot.y = fn_1_864(-135, -90, i, 60); - } - fn_1_1DFC(arg0, 1, 1, 15, 1); - arg1->unk04 = NULL; -} - -void fn_1_1B0E4(void) -{ - omObjData *obj; - lbl_1_bss_B94.unk00 = obj = omAddObjEx(lbl_1_bss_B38, 256, 16, 16, -1, NULL); - lbl_1_bss_B94.unk04 = NULL; - fn_1_1AE20(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_B94.unk04 != NULL) { - lbl_1_bss_B94.unk04(obj, &lbl_1_bss_B94); - } - if (obj->work[0]) { - fn_1_6704(obj); - } - } -} - -void fn_1_1B318(void) -{ - StructBss24 *work = &lbl_1_bss_24; - work->unk08.x = 0; - work->unk08.y = 120; - work->unk08.z = 0; - work->unk20.x = 0; - work->unk20.y = 0; - work->unk20.z = 0; - work->unk38 = 1400; -} - -void fn_1_1B3A4(void) -{ - StructBss24 *work = &lbl_1_bss_24; - work->unk08.x = 0; - work->unk08.y = 125; - work->unk08.z = 0; - work->unk20.x = -4.9f; - work->unk20.y = 0; - work->unk20.z = 0; - work->unk38 = 1750; -} - -void fn_1_1B430(void) -{ - StructBss24 *work = &lbl_1_bss_24; - StructBss24 temp; - temp.unk08.x = 0; - temp.unk08.y = 100; - temp.unk08.z = 0; - temp.unk20.x = 0; - temp.unk20.y = 0; - temp.unk20.z = 0; - temp.unk38 = 1400; - fn_1_42A0(work, &temp, work->unk40++, 60, 10); - if (0.0f != lbl_1_bss_C0C.unk100) { - work->unk08.y = 125 + lbl_1_bss_C0C.unk100; - } -} diff --git a/src/REL/mstory2Dll/main.c b/src/REL/mstory2Dll/main.c deleted file mode 100644 index 77125674..00000000 --- a/src/REL/mstory2Dll/main.c +++ /dev/null @@ -1,1238 +0,0 @@ -#include "REL/mstory2Dll.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/hsfdraw.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/window.h" -#include "game/wipe.h" -#include "game/sprite.h" - -#include "ext_math.h" - -s32 lbl_1_bss_68[3]; // unused -StructBss24 lbl_1_bss_24; -s32 lbl_1_bss_4[8]; -Process* lbl_1_bss_0; - -s32 lbl_1_data_0[][4] = { - { 0x37, 0x38, 0x36, 0x39 }, - { 0x43, 0x45, 0x44, 0x43 }, - { 0x40, 0x42, 0x41, 0x40 }, - { 0x4B, 0x4D, 0x4C, 0x4B }, - { 0x46, 0x48, 0x47, 0x46 }, - { 0x3E, 0x3F, 0x3E, 0x3E }, - {0x3A, 0x3B, 0x3C, 0xFFFFFFFF} -}; - -char* lbl_1_data_144[] = { - "K-1 : KOOPA STORY - BOARD ENTRANCE EVENT", - "K-3 : KOOPA STORY - BOARD CLEAR EVENT", - "K-4 : KOOPA STORY - BOARD MISS EVENT", - "K-5 : KOOPA STORY - MINIGAME CLEAR EVENT", - "K-6 : KOOPA STORY - MINIGAME MISS EVENT", - "--- : ENDING" -}; - -void fn_1_0(omObjData* arg0) { - if (WipeStatGet() == 0) { - arg0->func = NULL; - omOvlReturnEx(1, 1); - } -} - -void fn_1_4C(omObjData* arg0) { - if (omSysExitReq != 0) { - arg0->func = fn_1_0; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - } -} - -void fn_1_A4(void) { - s32 sp14; - s32 var_r30; - s32 var_r31; - s32 sp10; - s32 spC; - s32 sp8; - s32 i; - - var_r30 = 0; - omAddObjEx(lbl_1_bss_0, 0x2000, 0, 0, -1, fn_1_4C); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - while (TRUE) { - if (WipeStatGet() == 0) { - break; - } - fn_1_BC8(); - } - while (TRUE) { - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - break; - } - if (HuPadStkY[0] <= -30) { - fn_1_BE8(5); - var_r30++; - if (var_r30 >= 6) { - var_r30 = 0; - } - - } - if (HuPadStkY[0] >= 30) { - fn_1_BE8(5); - var_r30--; - if (var_r30 < 0) { - var_r30 = 5; - } - } - fontcolor = FONT_COLOR_WHITE; - print8(24, 100, 1.5f, ">>>>> MPGC STORY 2 - EVENT SELECT <<<<<"); - for (i = 0; i < 6; i++) { - fontcolor = FONT_COLOR_WHITE; - if (var_r30 == i) { - fontcolor = FONT_COLOR_CYAN; - } - print8(24, 130 + i * 15, 1.5f, "%s", lbl_1_data_144[i]); - } - fn_1_BC8(); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (TRUE) { - if (WipeStatGet() == 0) { - break; - } - fn_1_BC8(); - } - GWSystem.board = 5; - switch (var_r30) { - case 0: - fn_1_7F54(lbl_1_bss_0, 0); - break; - case 1: - fn_1_B3E4(lbl_1_bss_0, 0); - break; - case 2: - fn_1_EA2C(lbl_1_bss_0, 0); - break; - case 3: - fn_1_1256C(lbl_1_bss_0, 0); - break; - case 4: - fn_1_16060(lbl_1_bss_0, 0); - break; - case 5: - fn_1_188F0(lbl_1_bss_0, 0); - break; - } - while (TRUE) { - fn_1_BC8(); - } -} - -#include "src/REL/executor.c" - -void fn_1_3E4(void) -{ - int gid = HuSprGrpCreate(1); - int sprid = HuTHPSprCreate("movie/endmov_ma0.thp", FALSE, 10); - HuSprGrpMemberSet(gid, 0, sprid); - HuSprPosSet(gid, 0, 288, 240); - HuPrcSleep(5); - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); - while(WipeStatGet()) { - HuPrcVSleep(); - } - while(!HuTHPEndCheck()) { - HuPrcVSleep(); - } - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - while(WipeStatGet()) { - HuPrcVSleep(); - } - HuTHPClose(); - HuPrcVSleep(); - HuSprGrpKill(gid); - while(1) { - fn_1_BC8(); - } -} - -void fn_1_4F4(void) { - s32 i; - - lbl_1_bss_0 = omInitObjMan(62, 0x2000); - switch (omovlevtno) { - case 0: - fn_1_7F54(lbl_1_bss_0, 0); - break; - - case 1: - for (i = 0; i < 4; i++) { - if (GWPlayerCfg[i].character == GWStoryCharGet()) { - break; - } - } - fn_1_B3E4(lbl_1_bss_0, i); - break; - case 2: - for (i = 0; i < 4; i++) { - if (GWPlayerCfg[i].character == GWStoryCharGet()) { - break; - } - } - fn_1_EA2C(lbl_1_bss_0, i); - break; - case 3: - if (GWPlayerCoinWinGet(0) >= 10) { - fn_1_1256C(lbl_1_bss_0, 0); - } else { - fn_1_16060(lbl_1_bss_0, 0); - } - break; - case 4: - fn_1_188F0(lbl_1_bss_0, 0); - break; - - case 20: - fn_1_1B90C(lbl_1_bss_0); - break; - } -} - -void ObjectSetup(void) { - fn_1_4F4(); -} - -float fn_1_864(float arg0, float arg1, float arg2, float arg3) { - if (arg3 <= arg2) { - return arg1; - } - return arg0 + (arg2 / arg3) * (arg1 - arg0); -} - -float fn_1_88C(float arg0, float arg1, float arg2) { - return (arg1 + arg0 * (arg2 - 1.0f)) / arg2; -} - -float fn_1_8AC(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg1 - arg0) * (1.0 - cosd((90.0f / arg3) * arg2)); -} - -float fn_1_984(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg1 - arg0) * sind((90.0f / arg3) * arg2); -} - -float fn_1_A4C(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg0; - } - return arg0 + (arg1 - arg0) * sind((180.0f / arg3) * arg2); -} - -float fn_1_B08(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg0; - } - return arg0 + (arg1 - arg0) * sind((360.0f / arg3) * arg2); -} - -void fn_1_BC4(void) { -} - -void fn_1_BC8(void) { - HuPrcVSleep(); -} - -void fn_1_BE8(s32 arg0) { - HuPrcSleep(arg0); -} - -void fn_1_C10(void) { - HuPrcEnd(); -} - -void fn_1_C30(void) { - HuWinInit(1); -} - -void fn_1_C54(void) { -} - -void fn_1_C58(s32 arg0, float arg1, float arg2, s32 arg3) { - WindowData* temp_r29; - float temp_f29; - float temp_f28; - float temp_f25; - float temp_f24; - float temp_f31; - float temp_f27; - float temp_f30; - float temp_f26; - float var_f23; - float var_f22; - float var_f21; - float var_f20; - s32 i; - - temp_r29 = &winData[arg0]; - temp_f29 = temp_r29->pos_x; - temp_f28 = temp_r29->pos_y; - temp_f25 = temp_r29->w; - temp_f24 = temp_r29->h; - temp_f31 = temp_f29 + temp_f25 * arg1; - temp_f27 = 4.0f / temp_f25; - if (temp_f31 + 4.0f - (temp_f29 + temp_f25) >= 0.0f) { - temp_f31 = (temp_f29 + temp_f25) - 4.0f; - } else if (temp_f29 - (temp_f31 - 2.0f) >= 0.0f) { - temp_f31 = temp_f29; - } else { - temp_f31 -= 2.0f; - } - temp_f30 = temp_f28 + temp_f24 * arg2; - temp_f26 = 4.0f / temp_f24; - if (temp_f30 + 4.0f - (temp_f28 + temp_f24) >= 0.0f) { - temp_f30 = (temp_f28 + temp_f24) - 4.0f; - } else if (temp_f28 - (temp_f30 - 2.0f) >= 0.0f) { - temp_f30 = temp_f28; - } else { - temp_f30 -= 2.0f; - } - if (arg3 != 0) { - HuWinPosSet(arg0, temp_f31, temp_f30); - HuWinScaleSet(arg0, temp_f27, temp_f26); - var_f23 = temp_f31; - var_f21 = temp_f27; - var_f22 = temp_f30; - var_f20 = temp_f26; - } else { - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - var_f23 = temp_f29; - var_f21 = 1.0f; - var_f22 = temp_f28; - var_f20 = 1.0f; - } - HuWinDispOn(arg0); - for (i = 0; i <= 15; i++) { - HuPrcVSleep(); - if (arg3 != 0) { - if (i <= 10) { - var_f23 = fn_1_984(temp_f31, temp_f29, i, 10.0f); - var_f21 = fn_1_984(temp_f27, 1.0f, i, 10.0f);; - } else { - var_f22 = fn_1_984(temp_f30, temp_f28, i - 10, 5.0f); - var_f20 = fn_1_984(temp_f26, 1.0f, i - 10, 5.0f); - } - } else { - if (i <= 10) { - var_f22 = fn_1_984(temp_f28, temp_f30, i, 10.0f); - var_f20 = fn_1_984(1.0f, temp_f26, i, 10.0f); - } else { - var_f23 = fn_1_984(temp_f29, temp_f31, i - 10, 5.0f); - var_f21 = fn_1_984(1.0f, temp_f27, i - 10, 5.0f); - } - } - HuWinPosSet(arg0, var_f23, var_f22); - HuWinScaleSet(arg0, var_f21, var_f20); - } - if (arg3 != 0) { - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - } else { - HuWinPosSet(arg0, temp_f31, temp_f30); - HuWinScaleSet(arg0, temp_f27, temp_f26); - } - HuPrcVSleep(); -} - -s32 fn_1_16A0(s32 arg0, s32 arg1, s32 arg2, s32 arg3, float arg4, float arg5, s32 arg6) { - s32 temp_r31; - - arg2 = arg2 * 21 + 16; - arg3 = arg3 * 26 + 16; - if (arg0 == 0) { - arg0 = 550 - arg2; - } else { - arg0 = 1.0f + (576.0f - arg2) / 2.0f; - } - if (arg1 == 0) { - arg1 = 430 - arg3; - } - temp_r31 = HuWinExCreateStyled(arg0, arg1, arg2, arg3, -1, 1); - HuWinMesPalSet(temp_r31, 7, 0, 0, 0); - if (arg6 != -1) { - arg6 = GWPlayerCfg[arg6].pad_idx; - winData[temp_r31].active_pad = (1 << arg6); - } else { - winData[temp_r31].active_pad = 0xF; - } - - fn_1_C58(temp_r31, arg4, arg5, 1); - return temp_r31; -} - -s32 fn_1_185C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - return fn_1_16A0(arg0, arg1, arg2, arg3, 0.5f, 0.5f, arg4); -} - -void fn_1_1A34(s32 arg0, float arg1, float arg2) { - HuWinMesSet(arg0, MAKE_MESSID(37, 4)); - HuPrcVSleep(); - fn_1_C58(arg0, arg1, arg2, 0); - HuWinExCleanup(arg0); -} - -void fn_1_1A94(s32 arg0) { - fn_1_1A34(arg0, 0.5f, 0.5f); -} - -void fn_1_1AFC(s32 arg0, s32 arg1) { - s32 i; - - if (arg1 > 0) { - HuPrcSleep(arg1); - return; - } - HuWinComKeyReset(); - if (winData[arg0].active_pad == 0xF) { - for (i = 0; i < 10; i++) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, GWMessDelayGet()); - } - } - HuWinMesWait(arg0); - HuWinComKeyReset(); -} - -BOOL fn_1_1BA8(s32 arg0, s32 arg1) { - s32 var_r31; - s32 i; - - HuWinComKeyReset(); - if (winData[arg0].active_pad == 0xF) { - for (i = 0; i < 10; i++) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, GWMessDelayGet()); - } - } - var_r31 = HuWinChoiceGet(arg0, arg1); - HuWinComKeyReset(); - if (var_r31 != 0) { - var_r31 = FALSE; - } else { - var_r31 = TRUE; - } - return var_r31; -} - -BOOL fn_1_1C64(s32 arg0) { - return fn_1_1BA8(arg0, 0); -} - -void fn_1_1D18(s32 arg0, s32 arg1) { - HuWinMesSet(arg0, arg1); -} - -void fn_1_1D4C(s32 arg0, s32 arg1, s32 arg2) { - HuWinInsertMesSet(arg0, arg1, arg2); -} - -void fn_1_1D8C(s16 arg0) { - ModelData* var_r28; - HsfMaterial* var_r31; - HsfData* temp_r30; - s16 var_r27; - s32 i; - - var_r28 = &Hu3DData[arg0]; - temp_r30 = var_r28->hsfData; - var_r27 = temp_r30->materialCnt; - var_r31 = temp_r30->material; - for (i = 0; i < var_r27; var_r31++, i++) { - var_r31->vtxMode = 1; - } -} - -void fn_1_1DFC(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - switch (arg4) { - case 0: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_NONE); - break; - case 1: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_LOOP); - break; - case 2: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_PAUSE); - break; - } - arg0->work[0] = arg0->work[1] = arg0->work[2] = 0; -} - -void fn_1_1F84(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - if (arg0->motion[arg2] == Hu3DMotionIDGet(arg0->model[arg1])) { - return; - } - if (arg0->motion[arg2] == Hu3DMotionShiftIDGet(arg0->model[arg1])) { - return; - } - fn_1_1F84(arg0, arg1, arg2, arg3, arg4); -} - -void fn_1_2264(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3) { - HuPrcSleep(arg3 + 1); - do { - HuPrcVSleep(); - } while (arg0->motion[arg2] != Hu3DMotionIDGet(arg0->model[arg1]) || !Hu3DMotionEndCheck(arg0->model[arg1])); -} - -s32 fn_1_22F4(s32 arg0) { - s32 i; - - for (i = 0; i < 4; i++) { - if (arg0 == GWPlayerCfg[i].group) { - break; - } - } - return i; -} - -void fn_1_233C(s32 arg0, s32 arg1) { - while (TRUE) { - if (arg1 & HuPadBtnDown[arg0]) { - break; - } - HuPrcVSleep(); - } -} - -void fn_1_2390(void) { - StructBss24* var_r31; - - var_r31 = &lbl_1_bss_24; - if (HuPadBtn[0] & PAD_BUTTON_B) { - if (HuPadBtn[0] & PAD_TRIGGER_R) { - var_r31->unk08.z -= HuPadStkY[0] / 10.0f; - } else { - var_r31->unk08.x += HuPadStkX[0] / 10.0f; - var_r31->unk08.y += HuPadStkY[0] / 10.0f; - } - } - if (HuPadBtn[0] & PAD_BUTTON_Y) { - var_r31->unk20.x -= HuPadStkY[0] / 100.0f; - var_r31->unk20.y += HuPadStkX[0] / 100.0f; - if (var_r31->unk20.x < 0.0f) { - var_r31->unk20.x += 360.0f; - } - if (var_r31->unk20.x >= 360.0f) { - var_r31->unk20.x -= 360.0f; - } - if (var_r31->unk20.y < 0.0f) { - var_r31->unk20.y += 360.0f; - } - if (var_r31->unk20.y >= 360.0f) { - var_r31->unk20.y -= 360.0f; - } - } - if (HuPadBtn[0] & PAD_BUTTON_X) { - var_r31->unk38 -= HuPadStkY[0] / 10.0f; - } - print8(24, 40, 1.5f, "CENTER : %.2f, %.2f, %.2f", var_r31->unk08.x, var_r31->unk08.y, var_r31->unk08.z); - print8(24, 55, 1.5f, "ROT : %.2f, %.2f, %.2f", var_r31->unk20.x, var_r31->unk20.y, var_r31->unk20.z); - print8(24, 70, 1.5f, "ZOOM : %.2f", var_r31->unk38); -} - -void fn_1_2750(void (*arg0)(void)) { - lbl_1_bss_24.unk00 = arg0; -} - -void fn_1_2760(void (*arg0)(void)) { - lbl_1_bss_24.unk04 = arg0; -} - -void fn_1_2770(omObjData* arg0) { - StructBss24* var_r31; - - var_r31 = &lbl_1_bss_24; - if (var_r31->unk00 != NULL) { - var_r31->unk00(); - } - Center.x = var_r31->unk08.x; - Center.y = var_r31->unk08.y; - Center.z = var_r31->unk08.z; - CRot.x = var_r31->unk20.x; - CRot.y = var_r31->unk20.y; - CRot.z = var_r31->unk20.z; - CZoom = var_r31->unk38; -} - -void fn_1_2828(Process* arg0, void (*arg1)(void)) { - Hu3DCameraCreate(1); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraPerspectiveSet(1, 42.0f, 0.1f, 10000.0f, 1.2f); - lbl_1_bss_24.unk00 = arg1; - lbl_1_bss_24.unk04 = fn_1_2390; - omAddObjEx(arg0, 0x7FDA, 0, 0, -1, omOutView); - omAddObjEx(arg0, 0x7FD9, 0, 0, -1, fn_1_2770); -} - -void fn_1_2948(omObjData* arg0, s32 arg1, Vec arg2, float arg3, float arg4, float arg5) { - Vec sp4C; - Vec sp40; - Vec sp34; - Vec sp28; - float sp24; - float sp20; - float sp1C; - s32 sp18; - s32 sp14; - float var_f31; - - sp40.x = Hu3DData[arg0->model[arg1]].pos.x; - sp4C.y = sp40.y = Hu3DData[arg0->model[arg1]].pos.y; - sp40.z = Hu3DData[arg0->model[arg1]].pos.z; - sp34.x = arg2.x; - sp34.y = arg2.y; - sp34.z = arg2.z; - sp18 = arg4; - sp28.x = Hu3DData[arg0->model[arg1]].rot.x; - sp28.y = Hu3DData[arg0->model[arg1]].rot.y; - sp28.z = Hu3DData[arg0->model[arg1]].rot.z; - sp1C = 0.0f; - sp20 = arg3; - sp24 = 0.0f; - sp14 = arg5; - var_f31 = -1.1025f; - Hu3DMotionShiftSet(arg0->model[1], arg0->motion[3], 0.0f, 5.0f, 0U); - arg0->work[0] = arg0->work[1] = arg0->work[2] = 0; - HuPrcSleep(10); - while (TRUE) { - if (var_f31 >= 1.7f) { - var_f31 = 1.7f; - } - sp4C.y += var_f31 * var_f31 * (var_f31 >= 0.0f ? -17.5f : 17.5f); - if (sp4C.y <= 0.0f && var_f31 > 0.0f) { - sp4C.y = 0.0f; - } - sp4C.x = sp40.x += 6.0 * sind(sp28.y); - sp4C.z = sp40.z += 6.0 * cosd(sp28.y); - Hu3DModelPosSet(arg0->model[1], sp4C.x, sp4C.y, sp4C.z); - Hu3DModelRotSet(arg0->model[1], sp28.x, sp28.y, sp28.z); - HuPrcVSleep(); - if (sp4C.y <= arg2.y && var_f31 > 0.0f) { - break; - } - var_f31 += 0.11f; - } -} - -void fn_1_2D00(omObjData* arg0, s32 arg1, Vec arg2, float arg3, float arg4, float arg5) { - Vec sp54; - Vec sp48; - Vec sp3C; - Vec sp30; - Vec sp24; - Vec sp18; - s32 sp14; - s32 temp_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - s32 i; - - var_r26 = 0; - var_r25 = 0; - sp48.x = Hu3DData[arg0->model[arg1]].pos.x; - sp48.y = Hu3DData[arg0->model[arg1]].pos.y; - sp48.z = Hu3DData[arg0->model[arg1]].pos.z; - sp3C.x = arg2.x; - sp3C.y = arg2.y; - sp3C.z = arg2.z; - sp14 = arg4; - sp24.x = Hu3DData[arg0->model[arg1]].rot.x; - sp24.y = Hu3DData[arg0->model[arg1]].rot.y; - sp24.z = Hu3DData[arg0->model[arg1]].rot.z; - sp18.x = 0.0f; - sp18.y = arg3; - sp18.z = 0.0f; - if (sp3C.x - sp48.x >= 0.0f) { - var_r24 = 1; - } else { - var_r24 = 0; - } - if (sp3C.z - sp48.z >= 0.0f) { - var_r23 = 1; - } else { - var_r23 = 0; - } - temp_r27 = arg5; - do { - sp30.y = -(atan2d(sp3C.z - sp48.z, sp3C.x - sp48.x) - 90.0); - if (sp30.y < 0.0f) { - sp30.y += 360.0f; - } else if (sp30.y >= 360.0f) { - sp30.y -= 360.0f; - } - if (sp30.y >= 180.0f) { - if (sp24.y - sp30.y >= 180.0f) { - sp24.y -= 360.0f; - } - if (sp24.y - sp30.y < -180.0f) { - sp24.y += 360.0f; - } - } else { - if (sp24.y - sp30.y > 180.0f) { - sp24.y -= 360.0f; - } - if (sp24.y - sp30.y <= -180.0f) { - sp24.y += 360.0f; - } - } - sp54.x = sp48.x += 6.0 * sind(sp30.y); - sp54.z = sp48.z += 6.0 * cosd(sp30.y); - if (var_r24 != 0) { - if (sp48.x >= sp3C.x) { - sp54.x = sp48.x = sp3C.x; - var_r26 = 1; - } - } else { - if (sp48.x <= sp3C.x) { - sp54.x = sp48.x = sp3C.x; - var_r26 = 1; - } - } - if (var_r23 != 0) { - if (sp48.z >= sp3C.z) { - sp54.z = sp48.z = sp3C.z; - var_r25 = 1; - } - } else { - if (sp48.z <= sp3C.z) { - sp54.z = sp48.z = sp3C.z; - var_r25 = 1; - } - } - sp24.y = fn_1_88C(sp24.y, sp30.y, 10.0f); - Hu3DModelPosSet(arg0->model[1], sp54.x, sp48.y, sp54.z); - Hu3DModelRotSet(arg0->model[1], sp24.x, sp24.y, sp24.z); - HuPrcVSleep(); - } while (var_r25 != 1 || var_r26 != 1); - sp24.y = Hu3DData[arg0->model[arg1]].rot.y; - for (i = 0; i <= temp_r27; i++) { - if (sp18.y >= 180.0f) { - if (sp24.y - sp18.y >= 180.0f) { - sp24.y -= 360.0f; - } - if (sp24.y - sp18.y < -180.0f) { - sp24.y += 360.0f; - } - } else { - if (sp24.y - sp18.y > 180.0f) { - sp24.y -= 360.0f; - } - if (sp24.y - sp18.y <= -180.0f) { - sp24.y += 360.0f; - } - } - sp24.y = fn_1_864(sp24.y, sp18.y, i, temp_r27); - Hu3DModelRotSet(arg0->model[1], sp24.x, sp24.y, sp24.z); - HuPrcVSleep(); - } -} - -void fn_1_34F4(s16 arg0) { - ModelData* var_r28; - HsfData* temp_r30; - HsfMaterial* var_r31; - s16 var_r27; - s32 i; - - var_r28 = &Hu3DData[arg0]; - temp_r30 = var_r28->hsfData; - var_r27 = temp_r30->materialCnt; - var_r31 = temp_r30->material; - for (i = 0; i < var_r27; var_r31++, i++) { - var_r31->vtxMode = 1; - var_r31->litColor[0] = 0xFF; - var_r31->litColor[1] = 0xFF; - var_r31->litColor[2] = 0xFF; - } -} - -void fn_1_357C(StructFn357C* arg0, s32 arg1) { - arg0->unk00 = arg1; - arg0->unk04 = GWPlayerCfg[arg0->unk00].group; - arg0->unk08 = GWPlayerCfg[arg0->unk00].iscom; - arg0->unk0C = GWPlayerCfg[arg0->unk00].diff; - arg0->unk10 = GWPlayerCfg[arg0->unk00].character; - arg0->unk14 = GWPlayerCfg[arg0->unk00].pad_idx; -} - -s32 fn_1_3610(void) { - s32 i; - - for (i = 0; i < 4; i++) { - if (!GWPlayerCfg[i].iscom) { - break; - } - } - if (i == 4) { - return -1; - } - return i; -} - -s32 fn_1_3668(s32 arg0) { - s32 temp_r3 = 0; - - temp_r3 = Hu3DGLightCreate(0.0f, 700.0f, 1200.0f, 0.0f, -1.0f, 0.0f, arg0, arg0, arg0); - Hu3DGLightPosAimSet(temp_r3, 0.0f, 700.0f, 1200.0f, 0.0f, 0.0f, 640.0f); - Hu3DGLightInfinitytSet(temp_r3); - return temp_r3; -} - -void fn_1_3754(void) { - Vec sp20 = { 0.0f, 3000.0f, 800.0f }; - Vec sp14 = { 0.0f, 0.0f, 640.0f }; - Vec sp8 = { 0.0f, 1.0f, 0.0f }; - - Hu3DShadowCreate(45.0f, 2000.0f, 25000.0f); - Hu3DShadowTPLvlSet(0.8f); - Hu3DShadowPosSet(&sp20, &sp8, &sp14); -} - -void fn_1_3818(StructBss24* arg0) { - arg0->unk08.x = arg0->unk14; - arg0->unk08.y = arg0->unk18; - arg0->unk08.z = arg0->unk1C; - arg0->unk20.x = arg0->unk2C; - arg0->unk20.y = arg0->unk30; - arg0->unk20.z = arg0->unk34; - arg0->unk38 = arg0->unk3C; -} - -void fn_1_3854(StructBss24* arg0) { - arg0->unk40 = 0; - arg0->unk14 = arg0->unk08.x; - arg0->unk18 = arg0->unk08.y; - arg0->unk1C = arg0->unk08.z; - arg0->unk2C = arg0->unk20.x; - arg0->unk30 = arg0->unk20.y; - arg0->unk34 = arg0->unk20.z; - arg0->unk3C = arg0->unk38; -} - -void fn_1_3898(StructBss24* arg0, StructBss24* arg1, float arg3) { - arg0->unk08.x = fn_1_88C(arg0->unk08.x, arg1->unk14, arg3); - arg0->unk08.y = fn_1_88C(arg0->unk08.y, arg1->unk18, arg3); - arg0->unk08.z = fn_1_88C(arg0->unk08.z, arg1->unk1C, arg3); - arg0->unk20.x = fn_1_88C(arg0->unk20.x, arg1->unk2C, arg3); - arg0->unk20.y = fn_1_88C(arg0->unk20.y, arg1->unk30, arg3); - arg0->unk20.z = fn_1_88C(arg0->unk20.z, arg1->unk34, arg3); - arg0->unk38 = fn_1_88C(arg0->unk38, arg1->unk3C, arg3); -} - -void fn_1_3B04(StructBss24* arg0, float arg1) { - fn_1_3898(arg0, arg0, arg1); -} - -void fn_1_3D70(StructBss24* arg0, StructBss24* arg1, float arg2, float arg3) { - arg1->unk14 = fn_1_864(arg0->unk14, arg1->unk08.x, arg2, arg3); - arg1->unk18 = fn_1_864(arg0->unk18, arg1->unk08.y, arg2, arg3); - arg1->unk1C = fn_1_864(arg0->unk1C, arg1->unk08.z, arg2, arg3); - arg1->unk2C = fn_1_864(arg0->unk2C, arg1->unk20.x, arg2, arg3); - arg1->unk30 = fn_1_864(arg0->unk30, arg1->unk20.y, arg2, arg3); - arg1->unk34 = fn_1_864(arg0->unk34, arg1->unk20.z, arg2, arg3); - arg1->unk3C = fn_1_864(arg0->unk3C, arg1->unk38, arg2, arg3); -} - -void fn_1_3FEC(StructBss24* arg0, StructBss24* arg1, float arg2, float arg3) { - fn_1_3D70(arg0, arg1, arg2, arg3); - arg0->unk08.x = arg1->unk14; - arg0->unk08.y = arg1->unk18; - arg0->unk08.z = arg1->unk1C; - arg0->unk20.x = arg1->unk2C; - arg0->unk20.y = arg1->unk30; - arg0->unk20.z = arg1->unk34; - arg0->unk38 = arg1->unk3C; -} - -void fn_1_42A0(StructBss24* arg0, StructBss24* arg1, float arg2, float arg3, float arg4) { - fn_1_3D70(arg0, arg1, arg2, arg3); - fn_1_3898(arg0, arg1, arg4); -} - -void fn_1_470C(StructBss24* arg0, StructBss24* arg1, float arg2, float arg3) { - arg1->unk14 = fn_1_984(arg0->unk14, arg1->unk08.x, arg2, arg3); - arg1->unk18 = fn_1_984(arg0->unk18, arg1->unk08.y, arg2, arg3); - arg1->unk1C = fn_1_984(arg0->unk1C, arg1->unk08.z, arg2, arg3); - arg1->unk2C = fn_1_984(arg0->unk2C, arg1->unk20.x, arg2, arg3); - arg1->unk30 = fn_1_984(arg0->unk30, arg1->unk20.y, arg2, arg3); - arg1->unk34 = fn_1_984(arg0->unk34, arg1->unk20.z, arg2, arg3); - arg1->unk3C = fn_1_984(arg0->unk3C, arg1->unk38, arg2, arg3); -} - -void fn_1_4B60(StructBss24* arg0, StructBss24* arg1, float arg2, float arg3) { - fn_1_470C(arg0, arg1, arg2, arg3); - arg0->unk08.x = arg1->unk14; - arg0->unk08.y = arg1->unk18; - arg0->unk08.z = arg1->unk1C; - arg0->unk20.x = arg1->unk2C; - arg0->unk20.y = arg1->unk30; - arg0->unk20.z = arg1->unk34; - arg0->unk38 = arg1->unk3C; -} - -void fn_1_4FEC(StructBss24* arg0, StructBss24* arg1, float arg2, float arg3, float arg4) { - fn_1_470C(arg0, arg1, arg2, arg3); - fn_1_3898(arg0, arg1, arg4); -} - -void fn_1_5644(StructBss24* arg0, StructBss24* arg1, float arg2, float arg3) { - arg1->unk14 = fn_1_8AC(arg0->unk14, arg1->unk08.x, arg2, arg3); - arg1->unk18 = fn_1_8AC(arg0->unk18, arg1->unk08.y, arg2, arg3); - arg1->unk1C = fn_1_8AC(arg0->unk1C, arg1->unk08.z, arg2, arg3); - arg1->unk2C = fn_1_8AC(arg0->unk2C, arg1->unk20.x, arg2, arg3); - arg1->unk30 = fn_1_8AC(arg0->unk30, arg1->unk20.y, arg2, arg3); - arg1->unk34 = fn_1_8AC(arg0->unk34, arg1->unk20.z, arg2, arg3); - arg1->unk3C = fn_1_8AC(arg0->unk3C, arg1->unk38, arg2, arg3); -} - -void fn_1_5B08(StructBss24* arg0, StructBss24* arg1, float arg2, float arg3) { - fn_1_5644(arg0, arg1, arg2, arg3); - arg0->unk08.x = arg1->unk14; - arg0->unk08.y = arg1->unk18; - arg0->unk08.z = arg1->unk1C; - arg0->unk20.x = arg1->unk2C; - arg0->unk20.y = arg1->unk30; - arg0->unk20.z = arg1->unk34; - arg0->unk38 = arg1->unk3C; -} - -void fn_1_6004(StructBss24* arg0, StructBss24* arg1, float arg2, float arg3, float arg4) { - fn_1_5644(arg0, arg1, arg2, arg3); - fn_1_3898(arg0, arg1, arg4); -} - -int fn_1_66CC(int modelId) -{ - return Hu3DMotionMaxTimeGet(modelId); -} - -void fn_1_6704(omObjData* arg0) { - s32 var_r30; - if(arg0->work[0] == 0) { - return; - } - if (arg0->work[2] != 0) { - arg0->work[2]--; - return; - } - if (arg0->work[2] == 0 && Hu3DMotionEndCheck(arg0->model[1])) { - var_r30 = arg0->work[1]; - Hu3DMotionShiftSet(arg0->model[1], arg0->motion[var_r30], 0.0f, 15.0f, 0x40000001U); - arg0->work[0] = arg0->work[1] = arg0->work[2] = 0; - arg0->work[0] = arg0->work[1] = arg0->work[2] = 0; - } -} - -void fn_1_67D8(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - fn_1_1DFC(arg0, 1, arg1, arg3, arg4); - if (arg4 == 0) { - arg0->work[0] = 1; - arg0->work[1] = arg2; - arg0->work[2] = arg3 + 1; - } -} - -void fn_1_6970(s32 arg0, s32 arg1) { - HuWinMesSet(arg0, arg1); -} - -void fn_1_69A4(s32 arg0, s32 arg1, s32 arg2) { - HuWinInsertMesSet(arg0, arg1, arg2); -} - -void fn_1_69E4(s32 arg0, s32 arg1) { - fn_1_1AFC(arg0, arg1); -} - -void fn_1_6A90(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - s32 var_r27 = 0; - s32 var_r29 = 0; - s32 var_r23 = 0; - s32 var_r26; - s32 i; - if(arg2 == -1) { - var_r23 = 1; - arg2 = 0; - } - HuWinMesSet(arg0, arg1); - var_r27 = HuWinKeyWaitNumGet(arg1); - if (arg2 == -1 || arg2 >= var_r27 - 1) { - arg2 = var_r27 - 1; - } - HuWinComKeyReset(); - if (winData[arg0].active_pad == 0xF) { - for (i = 0; i < 10; i++) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, GWMessDelayGet()); - } - } - HuWinMesSet(arg0, arg1); - for (i = 0; i < var_r27; i++) { - var_r29 = 0; - do { - HuPrcVSleep(); - } while (HuWinStatGet(arg0) != 1); - - if (i == arg2) { - HuWinAttrSet(arg0, 0x400); - var_r29 = 1; - } - while (TRUE) { - HuPrcVSleep(); - if (var_r29 != 0) { - if (var_r29 == 1 && HuWinStatGet(arg0) != 1) { - var_r29 = 2; - } else if (var_r29 == 2) { - if(arg3 != -1) { - if(arg4 != -1) { - i=0; - do { - HuPrcVSleep(); - if(i++ == 25) { - HuAudFXPlay(lbl_1_data_0[6][0]); - } - } while(!Hu3DMotionEndCheck(arg3)); - Hu3DMotionShiftSet(arg3, arg4, 0, 1, 0); - HuPrcSleep(15); - } - var_r26 = fn_1_66CC(arg3)-15; - if(var_r23 == 1) { - for(i=0; i 0) { - HuPrcSleep(var_r26); - } - } - } else { - HuPrcSleep(60); - } - HuWinAttrReset(arg0, 0x400); - HuWinKeyWaitEntry(arg0); - break; - } - } else if (HuWinStatGet(arg0) != 1) { - break; - } - } - } - fn_1_1AFC(arg0, 0); - HuWinMesSet(arg0, MAKE_MESSID(37, 4)); - HuWinComKeyReset(); -} - -void fn_1_6D78(s32 arg0, s32 arg1, s32 arg2, s32 arg3) -{ - fn_1_6A90(arg0, arg1, arg2, arg3, -1); -} - -void fn_1_6DBC(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { - s32 temp_r28 = 0; - s32 var_r29 = 0; - s32 i; - - HuWinMesSet(arg0, arg1); - temp_r28 = HuWinKeyWaitNumGet(arg1); - if (arg2 == -1 || arg2 >= temp_r28 - 1) { - arg2 = temp_r28 - 1; - } - HuWinComKeyReset(); - if (winData[arg0].active_pad == 0xF) { - for (i = 0; i < 10; i++) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, GWMessDelayGet()); - } - } - HuWinMesSet(arg0, arg1); - for (i = 0; i < temp_r28; i++) { - var_r29 = 0; - do { - HuPrcVSleep(); - } while (HuWinStatGet(arg0) != 1); - if (i == arg2) { - HuWinAttrSet(arg0, 0x400); - var_r29 = 1; - } - while (TRUE) { - HuPrcVSleep(); - if (var_r29 != 0) { - if (var_r29 == 1 && HuWinStatGet(arg0) != 1) { - var_r29 = 2; - } else if (var_r29 == 2) { - HuPrcSleep(arg3); - HuWinAttrReset(arg0, 0x400); - HuWinKeyWaitEntry(arg0); - break; - } - } else if (HuWinStatGet(arg0) != 1) { - break; - } - } - } - fn_1_1AFC(arg0, 0); - HuWinMesSet(arg0, MAKE_MESSID(37, 4)); - HuWinComKeyReset(); -} - -BOOL fn_1_6FB0(s32 arg0) { - return fn_1_1BA8(arg0, 0); -} - -s32 fn_1_7064(s32 arg0, s32 arg1) { - float spC[2]; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - s32 var_r31; - - HuWinMesMaxSizeGet(1, spC, arg0); - var_f31 = spC[0]; - var_f30 = spC[1]; - var_f29 = 550.0f - var_f31; - var_f28 = 430.0f - var_f30; - var_r31 = HuWinExCreateStyled(var_f29, var_f28, var_f31, var_f30, -1, 1); - if (arg1 != -1) { - arg1 = GWPlayerCfg[arg1].pad_idx; - winData[var_r31].active_pad = (1 << arg1); - } else { - winData[var_r31].active_pad = 0xF; - } - HuWinMesPalSet(var_r31, 7, 0, 0, 0); - fn_1_C58(var_r31, 0.5f, 0.5f, 1); - return var_r31; -} - -void fn_1_71DC(s32 arg0) { - fn_1_1A34(arg0, 0.5f, 0.5f); -} - -char *lbl_1_data_308[8] = { - "c000m1-ske_head", - "c001m1-ske_head", - "c002m1-ske_head", - "c003m1-ske_head", - "c004m1-ske_head", - "c005m1-ske_head", - "c006m1-ske_head", - "c007m1-ske_head" -}; - -s32 lbl_1_data_328[8][2] = { - 0x200, 0, - 0x200, 0, - 0x200, 0, - 0x200, 0, - 0x200, 0, - 0x200, 0, - 0x200, 0, - 0x200, 0, -}; - -float lbl_1_data_368[8] = { - 194, - 191, - 87.2, - 50.1, - 72, - 83.5, - 87.2, - 64.5 -}; - -void fn_1_7244(s16 modelId, char *objName, u32 constFlags, float ofs) -{ - HsfObject *obj = Hu3DModelObjPtrGet(modelId, objName); - HsfConstData *constData; - if(!obj->constData) { - constData = ObjConstantMake(obj, Hu3DData[modelId].unk_48); - } else { - constData = obj->constData; - } - constData->flags |= constFlags; - if(constFlags & 0x10) { - obj->data.curr.pos.x += ofs; - } - if(constFlags & 0x20) { - obj->data.curr.pos.y += ofs; - } - if(constFlags & 0x40) { - obj->data.curr.pos.z += ofs; - } - if(constFlags & 0x80) { - obj->data.curr.rot.x += ofs; - } - if(constFlags & 0x100) { - obj->data.curr.rot.y += ofs; - } - if(constFlags & 0x200) { - obj->data.curr.rot.z += ofs; - } -} - -void fn_1_7384(int modelId, int charNo, float ofs, s32 maxTime, BOOL flag) -{ - float var_f31 = 0; - float var_f30 = ofs; - s32 i; - if(charNo == 7) { - var_f30 *= 2.5f; - } - if(lbl_1_data_328[charNo][1] == 0) { - var_f30 *= -1; - } - if(flag) { - for(i=0; i= lbl_1_data_C10[0][i]) { - OSReport("KE-System TIME:%d\n", lbl_1_data_C10[0][i]); - HuAudFXPlay(81); - lbl_1_data_C10[1][i] = -1; - } - } - } - if (Hu3DMotionTimeGet(lbl_1_data_C20) <= 10) { - for (i = 0; i < 2; i++) { - lbl_1_data_C10[1][i] = 1; - } - } - } -} - -void fn_1_1256C(Process *arg0, s32 arg1) -{ - lbl_1_bss_790 = arg0; - lbl_1_bss_860.unk0C = arg1; - fn_1_C30(); - lbl_1_bss_860.unk100 = fn_1_3668(255); - fn_1_2828(lbl_1_bss_790, fn_1_15CDC); - fn_1_3754(); - fn_1_15668(arg1); - HuPrcChildCreate(fn_1_1449C, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_14C40, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_153A8, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_159F0, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_13BB8, 100, 8192, 0, HuPrcCurrentGet()); -} - -void fn_1_12690(omObjData *object) -{ - if (object->work[2]) { - object->work[2]--; - return; - } - if (object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) { - fn_1_1DFC(object, 1, object->work[1], 15, 1); - object->work[0] = object->work[1] = object->work[2] = 0; - } -} - -void fn_1_1271C(void) -{ - int posX = 16; - int posY = 40; - GXColor winColor = { 0, 0, 128, 128 }; - int i; - while (1) { - fn_1_BC8(); - printWin(posX, posY, 220, 130, &winColor); - if (lbl_1_bss_838.unk04 == NULL) { - print8(posX, posY, 1, "PROC_MAIN -> FALSE"); - } - else { - print8(posX, posY, 1, "PROC_MAIN -> TRUE"); - } - if (lbl_1_bss_810.unk04 == NULL) { - print8(posX, posY + 10, 1, "PROC_MAP -> FALSE"); - } - else { - print8(posX, posY + 10, 1, "PROC_MAP -> TRUE"); - } - if (lbl_1_bss_7E8.unk04 == NULL) { - print8(posX, posY + 20, 1, "PROC_KOOPA -> FALSE"); - } - else { - print8(posX, posY + 20, 1, "PROC_KOOPA -> TRUE"); - } - if (lbl_1_bss_7C0.unk04 == NULL) { - print8(posX, posY + 30, 1, "PROC_MKOOPA -> FALSE"); - } - else { - print8(posX, posY + 30, 1, "PROC_MKOOPA -> TRUE"); - } - if (lbl_1_bss_798.unk04 == NULL) { - print8(posX, posY + 40, 1, "PROC_PLAYER -> FALSE"); - } - else { - print8(posX, posY + 40, 1, "PROC_PLAYER -> TRUE"); - } - print8(posX, posY + 60, 1, "P:%d W:%d", lbl_1_bss_860.unk00, lbl_1_bss_860.unk0C); - print8(posX, posY + 80, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR"); - for (i = 0; i < 4; i++) { - print8(posX, posY + 90 + (i * 10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_860.unk30[i].unk00, lbl_1_bss_860.unk30[i].unk04, - lbl_1_bss_860.unk30[i].unk08, lbl_1_bss_860.unk30[i].unk0C, lbl_1_bss_860.unk30[i].unk14, lbl_1_bss_860.unk30[i].unk10); - } - } -} - -void fn_1_12AC8(void) -{ - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - do { - fn_1_BC8(); - } while (WipeStatGet()); - fn_1_BE8(30); -} - -void fn_1_12B10(void) -{ - lbl_1_bss_860.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_860.unk0C); - HuAudFXPlay(lbl_1_data_0[6][1]); - fn_1_14A9C(4, 1, 15, 0, 1); - fn_1_1D4C(lbl_1_bss_860.unk04, lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10, 0); - fn_1_6D78(lbl_1_bss_860.unk04, 0x1F0014, 0, lbl_1_bss_7E8.unk00->model[1]); - HuAudFXPlay(lbl_1_data_0[6][2]); - fn_1_1DFC(lbl_1_bss_7E8.unk00, 1, 5, 10, 1); - fn_1_1D18(lbl_1_bss_860.unk04, 0x1F0015); - fn_1_1AFC(lbl_1_bss_860.unk04, -1); - fn_1_1D18(lbl_1_bss_860.unk04, 0x250004); - fn_1_15134(1, -1, 15, 1, 0); - fn_1_1A94(lbl_1_bss_860.unk04); - lbl_1_bss_7E8.unk04 = (void *)fn_1_14B48; - fn_1_BE8(60); - fn_1_1DFC(lbl_1_bss_798.unk00, 1, 4, 15, 0); - fn_1_BE8(16); - while (1) { - fn_1_BC8(); - if (Hu3DMotionTimeGet(lbl_1_bss_798.unk00->model[1]) >= 20) { - break; - } - } - Hu3DMotionSpeedSet(lbl_1_bss_798.unk00->model[1], 0); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_7E8.unk04 == NULL) { - break; - } - } - fn_1_BE8(30); - fn_1_3854(&lbl_1_bss_24); - fn_1_2750(fn_1_15D68); - lbl_1_bss_7C0.unk04 = (void *)fn_1_152C4; - fn_1_BE8(80); - Hu3DMotionSpeedSet(lbl_1_bss_798.unk00->model[1], 1); - fn_1_1DFC(lbl_1_bss_798.unk00, 1, 1, 15, 1); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_7C0.unk04 == NULL) { - break; - } - } -} - -void fn_1_12DD4(void) -{ - lbl_1_bss_860.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_860.unk0C); - lbl_1_bss_78[0] = HuAudSeqPlay(56); - HuAudFXPlay(lbl_1_data_0[5][0]); - fn_1_1DFC(lbl_1_bss_7C0.unk00, 1, 4, 15, 0); - fn_1_1D18(lbl_1_bss_860.unk04, 0x1F0016); - fn_1_1AFC(lbl_1_bss_860.unk04, -1); - fn_1_1D18(lbl_1_bss_860.unk04, 0x250004); - HuAudFXPlay(lbl_1_data_0[5][0]); - fn_1_1DFC(lbl_1_bss_7C0.unk00, 1, 3, 15, 1); - fn_1_1D18(lbl_1_bss_860.unk04, 0x1F0017); - fn_1_1AFC(lbl_1_bss_860.unk04, -1); - fn_1_1D18(lbl_1_bss_860.unk04, 0x250004); - HuAudFXPlay(lbl_1_data_0[5][0]); - fn_1_1D18(lbl_1_bss_860.unk04, 0x1F0018); - fn_1_1AFC(lbl_1_bss_860.unk04, -1); - fn_1_1D18(lbl_1_bss_860.unk04, 0x250004); - fn_1_1DFC(lbl_1_bss_7C0.unk00, 1, 1, 15, 1); - fn_1_1A94(lbl_1_bss_860.unk04); - fn_1_BE8(60); - lbl_1_bss_860.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_860.unk0C); - HuAudFXPlay(lbl_1_data_0[5][0]); - fn_1_1DFC(lbl_1_bss_7C0.unk00, 1, 3, 15, 1); - fn_1_1D4C(lbl_1_bss_860.unk04, lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10, 0); - fn_1_1D18(lbl_1_bss_860.unk04, 0x1F0019); - fn_1_1AFC(lbl_1_bss_860.unk04, -1); - fn_1_1D18(lbl_1_bss_860.unk04, 0x250004); - HuAudFXPlay(lbl_1_data_0[5][1]); - fn_1_1D18(lbl_1_bss_860.unk04, 0x1F001A); - fn_1_1AFC(lbl_1_bss_860.unk04, -1); - fn_1_1D18(lbl_1_bss_860.unk04, 0x250004); - lbl_1_bss_7C0.unk04 = (void *)fn_1_151E0; - fn_1_1D18(lbl_1_bss_860.unk04, 0x1F001B); - fn_1_1AFC(lbl_1_bss_860.unk04, -1); - fn_1_1D18(lbl_1_bss_860.unk04, 0x250004); - fn_1_1A94(lbl_1_bss_860.unk04); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_7C0.unk04 == NULL) { - break; - } - } -} - -void fn_1_13150(omObjData *arg0, StructBss16C *arg1) -{ - int streamNo = HuAudSStreamPlay(7); - while (1) { - fn_1_BC8(); - if (HuAudSStreamStatGet(streamNo) == 0) { - break; - } - } - HuAudSeqPause(lbl_1_bss_78[0], 0, 1000); - arg1->unk04 = NULL; -} - -void fn_1_131C0(omObjData *arg0, StructBss16C *arg1) -{ - int presentSe = (lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10 * 6) + 5; - fn_1_BE8(150); - OSReport("########## PRESENT_SE : %d\n", presentSe); - HuAudFXPlay(presentSe + 2260); - fn_1_1DFC(lbl_1_bss_810.unk00, 7, 7, 1, 0); - arg1->unk04 = NULL; -} - -void fn_1_13264(void) -{ - int i; - fn_1_1DFC(lbl_1_bss_798.unk00, 1, 2, 15, 1); - for (i = 0; i < 30; i++) { - fn_1_BC8(); - if (lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10 != 5) { - Hu3DData[lbl_1_bss_798.unk00->model[1]].pos.x = fn_1_864(120, 80, i, 30); - } - Hu3DData[lbl_1_bss_798.unk00->model[1]].rot.y = fn_1_864(-60, -90, i, 30); - } - fn_1_1DFC(lbl_1_bss_798.unk00, 1, 5, 5, 0); - fn_1_BE8(10); - while (1) { - fn_1_BC8(); - if (Hu3DMotionTimeGet(lbl_1_bss_798.unk00->model[1]) >= 30) { - break; - } - } - Hu3DModelPosSet(lbl_1_bss_810.unk00->model[5], 0, 0, 0); - Hu3DModelHookSet( - lbl_1_bss_798.unk00->model[1], CharModelHookNameGet(lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10, 1, 1), lbl_1_bss_810.unk00->model[5]); - fn_1_BE8(60); - lbl_1_bss_810.unk04 = (void *)fn_1_13FB4; - HuAudFXPlay(163); - HuAudCharVoicePlay(lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10, 296); - fn_1_1DFC(lbl_1_bss_810.unk00, 6, 6, 0, 0); - Hu3DModelAttrReset(lbl_1_bss_810.unk00->model[6], 1); - Hu3DModelAttrSet(lbl_1_bss_810.unk00->model[5], 1); - fn_1_1DFC(lbl_1_bss_798.unk00, 1, 6, 5, 0); - HuAudSeqPause(lbl_1_bss_78[0], 1, 1000); - WipeColorSet(255, 255, 255); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - while (1) { - fn_1_BC8(); - if (!WipeStatGet()) { - break; - } - } - Hu3DMotionSpeedSet(lbl_1_bss_798.unk00->model[1], 0); - Hu3DMotionTimeSet(lbl_1_bss_798.unk00->model[1], 50); - Hu3DModelAttrReset(lbl_1_bss_810.unk00->model[7], 1); - Hu3DModelAttrReset(lbl_1_bss_810.unk00->model[8], 1); - fn_1_1DFC(lbl_1_bss_810.unk00, 8, 8, 0, 1); - fn_1_BE8(30); - HuAudFXPlay(169); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - while (1) { - fn_1_BC8(); - if (!WipeStatGet()) { - break; - } - } - fn_1_3854(&lbl_1_bss_24); - fn_1_2750(fn_1_15F70); - fn_1_BE8(60); - lbl_1_bss_798.unk04 = (void *)fn_1_131C0; - lbl_1_bss_860.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_860.unk0C); - lbl_1_bss_7C0.unk04 = (void *)fn_1_13150; - fn_1_1D4C(lbl_1_bss_860.unk04, (lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10 * 6) + 0x32000B, 0); - fn_1_6DBC(lbl_1_bss_860.unk04, 0x320086, 0, 300); - fn_1_1D18(lbl_1_bss_860.unk04, 0x250004); - fn_1_1A94(lbl_1_bss_860.unk04); - fn_1_3854(&lbl_1_bss_24); - fn_1_2750(fn_1_15E58); - lbl_1_bss_810.unk04 = (void *)fn_1_140A0; - fn_1_BE8(30); - Hu3DMotionSpeedSet(lbl_1_bss_798.unk00->model[1], 0.1f); - fn_1_BE8(180); - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); -} - -void fn_1_13828(void) -{ - Hu3DAllKill(); - HuSprClose(); - HuSprInit(); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - fn_1_BE8(60); - SLCommonSet(); - SLSaveBoardStory(); - if (SLSaveFlagGet() == 1) { - SLSave(); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 10); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - lbl_1_bss_794 = TRUE; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_138CC(void) -{ - omOvlHisData *var_r31; - - msmSeStopAll(FALSE, 1000); - do { - fn_1_BC8(); - } while (WipeStatGet() != 0); - CharModelKill(-1); - HuAudFXAllStop(); - HuAudSStreamAllStop(); - GWMGAvailSet(omMgIndexGet(58) + 401); - GWGameStat.present[lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10 * 6 + 5] = 1; - OSReport("########## PRESENTFLG CHR:%d, MAP:5, PRESENT:%d\n", lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10, - lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10 * 6 + 5); - var_r31 = omOvlHisGet(0); - omOvlHisChg(0, OVL_MSTORY2, 20, var_r31->stat); - omOvlCallEx(OVL_PRESENT, 1, lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10 * 6 + 5 + 1, 0); -} - -void fn_1_13A18(omObjData *arg0, StructBss16C *arg1) -{ - int temp = 0; - fn_1_12AC8(); - fn_1_12B10(); - fn_1_12DD4(); - fn_1_13264(); - fn_1_138CC(); - arg1->unk04 = 0; -} - -void fn_1_13BB8(void) -{ - omObjData *obj; - lbl_1_bss_838.unk00 = obj = omAddObjEx(lbl_1_bss_790, 256, 16, 16, -1, NULL); - lbl_1_bss_838.unk04 = (void *)fn_1_13A18; - lbl_1_bss_838.unk00->data = &lbl_1_bss_838; - while (1) { - fn_1_BC8(); - if (lbl_1_bss_838.unk04 != NULL) { - lbl_1_bss_838.unk04(obj, &lbl_1_bss_838); - } - } -} - -void fn_1_13C6C(omObjData *object) -{ - s32 charNo; - charNo = lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10; - object->model[7] = Hu3DModelCreateFile(lbl_1_data_850[charNo * 6 + 5].unk0); - object->motion[7] = Hu3DMotionIDGet(object->model[7]); - Hu3DModelPosSet(object->model[7], 0, 180, 825); - Hu3DModelAttrSet(object->model[7], 1); - Hu3DModelShadowSet(object->model[7]); - fn_1_1DFC(object, 7, 7, 0, 2); - HuDataDirClose(DATADIR_MSTORY4); - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x52)); - object->motion[1] = Hu3DMotionIDGet(object->model[1]); - Hu3DModelShadowMapObjSet(object->model[1], "base_story-base"); - fn_1_1DFC(object, 1, 1, 0, 1); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x53)); - object->motion[2] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x54)); - object->motion[3] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x55)); - fn_1_1DFC(object, 2, 3, 0, 2); - object->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x5B)); - Hu3DModelPosSet(object->model[5], 0, 125, 800); - Hu3DModelAttrSet(object->model[5], 1); - Hu3DModelShadowSet(object->model[5]); - object->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x5D)); - object->motion[6] = Hu3DMotionIDGet(object->model[6]); - Hu3DModelPosSet(object->model[6], 25, 125, 900); - Hu3DModelAttrSet(object->model[6], 1); - fn_1_1DFC(object, 6, 6, 0, 2); - object->model[8] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x5F)); - object->motion[8] = Hu3DMotionIDGet(object->model[8]); - Hu3DModelAttrSet(object->model[8], 1); - fn_1_1DFC(object, 8, 8, 0, 1); -} - -void fn_1_13FB4(omObjData *arg0, StructBss16C *arg1) -{ - Mtx matrix; - Hu3DData[arg0->model[7]].pos.y = fn_1_B08(180, 185, arg1->unk08++, 360); - Hu3DModelObjMtxGet(arg0->model[7], "effect", matrix); - Hu3DModelPosSet(arg0->model[8], matrix[0][3], matrix[1][3], matrix[2][3]); - if (arg1->unk08 >= 360) { - arg1->unk08 = 0; - } -} - -void fn_1_140A0(omObjData *arg0, StructBss16C *arg1) -{ - Mtx matrix; - Hu3DData[arg0->model[7]].pos.y += arg1->unk0C / 100.0f; - Hu3DModelObjMtxGet(arg0->model[7], "effect", matrix); - Hu3DModelPosSet(arg0->model[8], matrix[0][3], matrix[1][3], matrix[2][3]); - arg1->unk0C += 2; -} - -void fn_1_1416C(omObjData *arg0, StructBss16C *arg1) -{ - int i; - Vec pos; - float rotY; - Hu3DModelPosSet(arg0->model[5], -180, 100, 800); - Hu3DModelRotSet(arg0->model[5], 0, 0, 0); - Hu3DModelAttrReset(arg0->model[5], 1); - for (i = 0; i < 60; i++) { - fn_1_BC8(); - if (i == 30) { - HuAudFXPlay(151); - } - if (i <= 30) { - pos.y = fn_1_A4C(0, 100, i + 30, 60); - pos.x = fn_1_864(-180, -45, i, 30); - rotY = fn_1_984(0, -90, i, 30); - } - else { - pos.x = fn_1_864(-45, 0, i - 30, 30); - pos.y = fn_1_A4C(0, 25, i - 30, 30); - rotY = fn_1_984(-90, -360, i - 30, 30); - } - Hu3DModelPosSet(arg0->model[5], pos.x, pos.y, 800); - Hu3DModelRotSet(arg0->model[5], 0, rotY, 0); - } - arg1->unk04 = NULL; -} - -void fn_1_1449C(void) -{ - omObjData *obj; - lbl_1_bss_810.unk00 = obj = omAddObjEx(lbl_1_bss_790, 256, 16, 16, -1, NULL); - lbl_1_bss_810.unk04 = NULL; - lbl_1_bss_810.unk00->data = &lbl_1_bss_810; - fn_1_13C6C(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_810.unk04 != NULL) { - lbl_1_bss_810.unk04(obj, &lbl_1_bss_810); - } - } -} - -void fn_1_14868(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x62 : 0x66)); - object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x63 : 0x67)); - object->motion[2] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x64 : 0x68)); - object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x6E : 0x6F)); - object->motion[4] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x6F : 0x70)); - object->motion[5] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x69 : 0x6C)); - Hu3DModelPosSet(object->model[1], -180, 0, 800); - Hu3DModelRotSet(object->model[1], 0, 60, 0); - Hu3DModelScaleSet(object->model[1], 1, 1, 1); - Hu3DModelShadowSet(object->model[1]); - fn_1_1DFC(object, 1, 3, 0, 1); - lbl_1_data_C20 = object->model[1]; - lbl_1_data_C24[0] = object->motion[2]; - lbl_1_data_C24[1] = object->motion[2]; - HuPrcChildCreate(fn_1_123C8, 100, 8192, 0, HuPrcCurrentGet()); -} - -void fn_1_14A9C(int arg0, int arg1, int arg2, int arg3, int arg4) -{ - fn_1_1DFC(lbl_1_bss_7E8.unk00, 1, arg0, arg2, arg3); - if (arg3 == 1) { - arg4 = 0; - } - lbl_1_bss_7E8.unk00->work[0] = arg4; - lbl_1_bss_7E8.unk00->work[1] = arg1; - lbl_1_bss_7E8.unk00->work[2] = arg2 + 1; -} - -void fn_1_14B48(omObjData *arg0, StructBss16C *arg1) -{ - Vec pos = { -1000, 0, 810 }; - lbl_1_bss_810.unk04 = (void *)fn_1_1416C; - fn_1_1DFC(arg0, 1, 2, 15, 1); - fn_1_2D00(arg0, 1, pos, -1, 45, 10); - fn_1_1DFC(arg0, 1, 1, 15, 1); - arg1->unk04 = NULL; -} - -void fn_1_14C40(void) -{ - omObjData *obj; - lbl_1_bss_7E8.unk00 = obj = omAddObjEx(lbl_1_bss_790, 256, 16, 16, -1, NULL); - lbl_1_bss_7E8.unk04 = NULL; - lbl_1_bss_7E8.unk00->data = &lbl_1_bss_810; - fn_1_14868(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_7E8.unk04 != NULL) { - lbl_1_bss_7E8.unk04(obj, &lbl_1_bss_7E8); - } - if (obj->work[0]) { - if (obj->work[2]) { - obj->work[2]--; - } - else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) { - fn_1_1DFC(obj, 1, obj->work[1], 15, 1); - obj->work[0] = obj->work[1] = obj->work[2] = 0; - } - } - } -} - -void fn_1_14F6C(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x7D : 0x7B)); - object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x7E : 0x7C)); - object->motion[2] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x80 : 0x7D)); - object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x81 : 0x7E)); - object->motion[4] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x86 : 0x81)); - Hu3DModelPosSet(object->model[1], -600, 0, 800); - Hu3DModelRotSet(object->model[1], 0, 60, 0); - Hu3DModelScaleSet(object->model[1], 1, 1, 1); - Hu3DModelShadowSet(object->model[1]); - fn_1_1DFC(object, 1, 1, 0, 1); - CharModelEffectNpcInit(object->model[1], object->motion[2], 1, 13); -} - -void fn_1_15134(int arg0, int arg1, int arg2, int arg3, int arg4) -{ - fn_1_1DFC(lbl_1_bss_7C0.unk00, 1, arg0, arg2, arg3); - if (arg3 == 1) { - arg4 = 0; - } - lbl_1_bss_7C0.unk00->work[0] = arg4; - lbl_1_bss_7C0.unk00->work[1] = arg1; - lbl_1_bss_7C0.unk00->work[2] = arg2 + 1; -} - -void fn_1_151E0(omObjData *arg0, StructBss16C *arg1) -{ - Vec pos = { -800, 0, 800 }; - fn_1_1DFC(arg0, 1, 2, 15, 1); - fn_1_2D00(arg0, 1, pos, 60, 60, 10); - fn_1_1DFC(arg0, 1, 1, 15, 1); - arg1->unk04 = NULL; -} - -void fn_1_152C4(omObjData *arg0, StructBss16C *arg1) -{ - Vec pos = { -120, 0, 800 }; - fn_1_1DFC(arg0, 1, 2, 15, 1); - fn_1_2D00(arg0, 1, pos, 60, 60, 10); - fn_1_1DFC(arg0, 1, 1, 15, 1); - arg1->unk04 = NULL; -} - -void fn_1_153A8(void) -{ - omObjData *obj; - lbl_1_bss_7C0.unk00 = obj = omAddObjEx(lbl_1_bss_790, 256, 16, 16, -1, NULL); - lbl_1_bss_7C0.unk04 = NULL; - lbl_1_bss_7C0.unk00->data = &lbl_1_bss_7C0; - fn_1_14F6C(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_7C0.unk04 != NULL) { - lbl_1_bss_7C0.unk04(obj, &lbl_1_bss_7C0); - } - if (obj->work[0]) { - if (obj->work[2]) { - obj->work[2]--; - } - else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) { - fn_1_1DFC(obj, 1, obj->work[1], 15, 1); - obj->work[0] = obj->work[1] = obj->work[2] = 0; - } - } - } -} - -void fn_1_15668(int arg0) -{ - int i; - int order[4]; - order[0] = 0; - for (i = 1; i < 4; i++) { - order[i] = order[i - 1] + 1; - if (order[i] >= 4) { - order[i] = 0; - } - if (arg0 == order[i]) { - lbl_1_bss_860.unk00 = i; - } - } - for (i = 0; i < 4; i++) { - fn_1_357C(&lbl_1_bss_860.unk30[i], order[i]); - } -} - -void fn_1_1574C(omObjData *object) -{ - int charNo = lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10; - object->model[1] = CharModelCreate(charNo, 1); - object->motion[1] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00)); - object->motion[2] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02)); - object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x28) + charNo); - object->motion[4] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x30) + charNo); - object->motion[5] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x38) + charNo); - object->motion[6] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x00) + charNo); - CharModelMotionDataClose(charNo); - Hu3DModelPosSet(object->model[1], 120, 0, 800); - Hu3DModelRotSet(object->model[1], 0, -60, 0); - Hu3DModelScaleSet(object->model[1], 1, 1, 1); - Hu3DModelShadowSet(object->model[1]); - fn_1_1DFC(object, 1, 3, 0, 1); -} - -void fn_1_15944(int arg0, int arg1, int arg2, int arg3, int arg4) -{ - fn_1_1DFC(lbl_1_bss_798.unk00, 1, arg0, arg2, arg3); - if (arg3 == 1) { - arg4 = 0; - } - lbl_1_bss_798.unk00->work[0] = arg4; - lbl_1_bss_798.unk00->work[1] = arg1; - lbl_1_bss_798.unk00->work[2] = arg2 + 1; -} - -void fn_1_159F0(void) -{ - omObjData *obj; - lbl_1_bss_798.unk00 = obj = omAddObjEx(lbl_1_bss_790, 256, 16, 16, -1, NULL); - lbl_1_bss_798.unk04 = NULL; - lbl_1_bss_798.unk00->data = &lbl_1_bss_798; - fn_1_1574C(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_798.unk04 != NULL) { - lbl_1_bss_798.unk04(obj, &lbl_1_bss_798); - } - if (obj->work[0]) { - if (obj->work[2]) { - obj->work[2]--; - } - else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) { - fn_1_1DFC(obj, 1, obj->work[1], 15, 1); - obj->work[0] = obj->work[1] = obj->work[2] = 0; - } - } - } -} - -void fn_1_15CDC(void) -{ - StructBss24 *work = &lbl_1_bss_24; - work->unk08.x = 0; - work->unk08.y = 125; - work->unk08.z = 0; - work->unk20.x = -5; - work->unk20.y = 0; - work->unk20.z = 0; - work->unk38 = 1750; -} - -void fn_1_15D68(void) -{ - StructBss24 *work = &lbl_1_bss_24; - StructBss24 temp; - temp.unk08.x = 0; - temp.unk08.y = 100; - temp.unk08.z = 0; - temp.unk20.x = 0; - temp.unk20.y = 0; - temp.unk20.z = 0; - temp.unk38 = 1400; - fn_1_4FEC(work, &temp, work->unk40++, 120, 10); -} - -void fn_1_15E58(void) -{ - StructBss24 *work = &lbl_1_bss_24; - work->unk14 = 0; - work->unk18 = Hu3DData[lbl_1_bss_810.unk00->model[7]].pos.y; - work->unk1C = 0; - work->unk2C = 0; - work->unk30 = 0; - work->unk34 = 0; - work->unk3C = fn_1_864(1200, 1400, work->unk40++, 240); - fn_1_3B04(work, 30); -} - -void fn_1_15F70(void) -{ - StructBss24 *work = &lbl_1_bss_24; - StructBss24 temp; - temp.unk08.x = 0; - temp.unk08.y = 160; - temp.unk08.z = 0; - temp.unk20.x = 0; - temp.unk20.y = 0; - temp.unk20.z = 0; - temp.unk38 = 1200; - fn_1_6004(work, &temp, work->unk40++, 10, 5); -} diff --git a/src/REL/mstory2Dll/mg_miss.c b/src/REL/mstory2Dll/mg_miss.c deleted file mode 100644 index e7bf2b00..00000000 --- a/src/REL/mstory2Dll/mg_miss.c +++ /dev/null @@ -1,510 +0,0 @@ -#include "REL/mstory2Dll.h" -#include "game/armem.h" -#include "game/board/main.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/gamework.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - - -typedef struct { - /* 0x000 */ s32 unk00; - /* 0x004 */ s32 unk04; - /* 0x008 */ s32 unk08; - /* 0x00C */ s32 unk0C; - /* 0x010 */ s32 unk10; - /* 0x014 */ s32 unk14; - /* 0x018 */ char unk18[0x18]; - /* 0x030 */ StructFn357C unk30[4]; - /* 0x100 */ s32 unk100; -} StructBssA34; // Size 0x104 - -StructBssA34 lbl_1_bss_A34; -StructBss16C lbl_1_bss_A0C; -StructBss16C lbl_1_bss_9E4; -StructBss16C lbl_1_bss_9BC; -StructBss16C lbl_1_bss_994; -StructBss16C lbl_1_bss_96C; -Process *lbl_1_bss_968; - -void fn_1_16FC0(void); -void fn_1_17338(void); -void fn_1_1774C(int arg0, int arg1, int arg2, int arg3, int arg4); -void fn_1_177F8(void); -void fn_1_17C44(void); -void fn_1_17E64(s32 arg0); -void fn_1_180D8(int arg0, int arg1, int arg2, int arg3, int arg4); -void fn_1_18184(void); -void fn_1_18408(void); -void fn_1_18494(void); - -void fn_1_16060(Process *arg0, s32 arg1) -{ - lbl_1_bss_968 = arg0; - lbl_1_bss_A34.unk0C = arg1; - fn_1_C30(); - fn_1_3668(255); - fn_1_2828(lbl_1_bss_968, fn_1_18408); - fn_1_3754(); - fn_1_17E64(arg1); - HuPrcChildCreate(fn_1_17338, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_177F8, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_17C44, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_18184, 100, 8192, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_16FC0, 100, 8192, 0, HuPrcCurrentGet()); -} - -void fn_1_16178(omObjData *object) -{ - if (object->work[2]) { - object->work[2]--; - return; - } - if (object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) { - fn_1_1DFC(object, 1, object->work[1], 15, 1); - object->work[0] = object->work[1] = object->work[2] = 0; - } -} - -void fn_1_16204(void) -{ - int posX = 16; - int posY = 40; - GXColor winColor = { 0, 0, 128, 128 }; - int i; - while (1) { - fn_1_BC8(); - printWin(posX, posY, 220, 130, &winColor); - if (lbl_1_bss_A0C.unk04 == NULL) { - print8(posX, posY, 1, "PROC_MAIN -> FALSE"); - } - else { - print8(posX, posY, 1, "PROC_MAIN -> TRUE"); - } - if (lbl_1_bss_9E4.unk04 == NULL) { - print8(posX, posY + 10, 1, "PROC_MAP -> FALSE"); - } - else { - print8(posX, posY + 10, 1, "PROC_MAP -> TRUE"); - } - if (lbl_1_bss_9BC.unk04 == NULL) { - print8(posX, posY + 20, 1, "PROC_KOOPA -> FALSE"); - } - else { - print8(posX, posY + 20, 1, "PROC_KOOPA -> TRUE"); - } - if (lbl_1_bss_994.unk04 == NULL) { - print8(posX, posY + 30, 1, "PROC_MKOOPA -> FALSE"); - } - else { - print8(posX, posY + 30, 1, "PROC_MKOOPA -> TRUE"); - } - if (lbl_1_bss_96C.unk04 == NULL) { - print8(posX, posY + 40, 1, "PROC_PLAYER -> FALSE"); - } - else { - print8(posX, posY + 40, 1, "PROC_PLAYER -> TRUE"); - } - print8(posX, posY + 60, 1, "P:%d W:%d", lbl_1_bss_A34.unk00, lbl_1_bss_A34.unk0C); - print8(posX, posY + 80, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR"); - for (i = 0; i < 4; i++) { - print8(posX, posY + 90 + (i * 10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_A34.unk30[i].unk00, lbl_1_bss_A34.unk30[i].unk04, - lbl_1_bss_A34.unk30[i].unk08, lbl_1_bss_A34.unk30[i].unk0C, lbl_1_bss_A34.unk30[i].unk14, lbl_1_bss_A34.unk30[i].unk10); - } - } -} - -void fn_1_165B0(void) -{ - lbl_1_bss_78[0] = HuAudSeqPlay(52); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - do { - fn_1_BC8(); - } while (WipeStatGet()); - fn_1_BE8(60); -} - -void fn_1_1661C(void) -{ - lbl_1_bss_A34.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_A34.unk0C); - fn_1_1774C(2, 1, 15, 0, 1); - fn_1_180D8(2, 3, 15, 0, 1); - HuAudCharVoicePlay(lbl_1_bss_A34.unk30[lbl_1_bss_A34.unk00].unk10, 302); - fn_1_6D78(lbl_1_bss_A34.unk04, 0x1F0010, -1, lbl_1_bss_9BC.unk00->model[1]); - fn_1_1D18(lbl_1_bss_A34.unk04, 0x250004); - fn_1_1774C(1, -1, 15, 1, 0); - fn_1_1A94(lbl_1_bss_A34.unk04); -} - -int fn_1_1670C(void) -{ - int result = 0; - HuWinInsertMesSet(lbl_1_bss_A34.unk04, 0x1E003C, 3); - fn_1_1D18(lbl_1_bss_A34.unk04, 0x1E002D); - fn_1_1AFC(lbl_1_bss_A34.unk04, 5); - lbl_1_bss_A34.unk08 = fn_1_7064(0x1E0035, lbl_1_bss_A34.unk0C); - fn_1_1D18(lbl_1_bss_A34.unk08, 0x1E0035); - result = fn_1_1C64(lbl_1_bss_A34.unk08); - fn_1_1D18(lbl_1_bss_A34.unk08, 0x250004); - fn_1_71DC(lbl_1_bss_A34.unk08); - if (result) { - HuAudFXPlay(lbl_1_data_0[6][2]); - fn_1_1774C(3, 1, 15, 1, 0); - fn_1_1D18(lbl_1_bss_A34.unk04, 0x1F0012); - fn_1_1AFC(lbl_1_bss_A34.unk04, -1); - fn_1_1D18(lbl_1_bss_A34.unk04, 0x250004); - fn_1_1774C(1, -1, 15, 1, 0); - fn_1_180D8(4, 1, 15, 0, 1); - } - return result; -} - -int fn_1_168B0(void) -{ - int result = 0; - fn_1_1D18(lbl_1_bss_A34.unk04, 0x1E0005); - fn_1_1AFC(lbl_1_bss_A34.unk04, 5); - lbl_1_bss_A34.unk08 = fn_1_7064(0x1E0035, lbl_1_bss_A34.unk0C); - fn_1_1D18(lbl_1_bss_A34.unk08, 0x1E0035); - result = fn_1_1BA8(lbl_1_bss_A34.unk08, 1); - fn_1_1D18(lbl_1_bss_A34.unk08, 0x250004); - fn_1_71DC(lbl_1_bss_A34.unk08); - return result; -} - -void fn_1_16984(void) -{ - HuAudSeqFadeOut(lbl_1_bss_78[0], 3000); - fn_1_3854(&lbl_1_bss_24); - fn_1_2750(fn_1_18494); - fn_1_BE8(150); -} - -void fn_1_169D4(void) { } - -void fn_1_169D8(int arg0) -{ - omOvlHisData *his; - - if (arg0 != 0) { - HuAudSeqFadeOut(lbl_1_bss_78[0], 1000); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - do { - fn_1_BC8(); - } while (WipeStatGet() != 0); - CharModelKill(-1); - his = omOvlHisGet(0); - omOvlHisChg(0, OVL_MSTORY2, 3, his->stat); - if (arg0 == 0) { - HuAudSeqAllFadeOut(1000); - HuAudSStreamAllFadeOut(1000); - GWMGAvailSet(450); - GWSystem.mg_next = 450 - 401; - omOvlCallEx(OVL_M450, 1, 0, 0); - } - else { - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - } -} - -void fn_1_16ACC(omObjData *arg0, StructBss16C *arg1) -{ - int mode = 0; - fn_1_165B0(); - fn_1_1661C(); - lbl_1_bss_A34.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_A34.unk0C); - while (1) { - fn_1_BC8(); - if (fn_1_1670C()) { - mode = 0; - break; - } - else if (fn_1_168B0()) { - mode = 1; - break; - } - } - fn_1_1A94(lbl_1_bss_A34.unk04); - switch (mode) { - case 0: - fn_1_16984(); - break; - case 1: - break; - } - fn_1_169D8(mode); - arg1->unk04 = NULL; -} - -void fn_1_16FC0(void) -{ - omObjData *obj; - lbl_1_bss_A0C.unk00 = obj = omAddObjEx(lbl_1_bss_968, 256, 16, 16, -1, NULL); - lbl_1_bss_A0C.unk04 = (void *)fn_1_16ACC; - lbl_1_bss_A0C.unk00->data = &lbl_1_bss_A0C; - while (1) { - fn_1_BC8(); - if (lbl_1_bss_A0C.unk04 != NULL) { - lbl_1_bss_A0C.unk04(obj, &lbl_1_bss_A0C); - } - } -} - -void fn_1_17074(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x52)); - object->motion[1] = Hu3DMotionIDGet(object->model[1]); - Hu3DModelShadowMapObjSet(object->model[1], "base_story-base"); - fn_1_1DFC(object, 1, 1, 0, 1); - object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x53)); - object->motion[2] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x54)); - object->motion[3] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MSTORY2, 0x55)); - fn_1_1DFC(object, 2, 2, 0, 2); - object->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x59)); - object->motion[5] = Hu3DMotionIDGet(object->model[5]); - Hu3DModelPosSet(object->model[5], 0, 80, 460); - Hu3DModelShadowSet(object->model[5]); - fn_1_1DFC(object, 5, 5, 0, 2); - object->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, 0x5A)); - object->motion[6] = Hu3DMotionIDGet(object->model[6]); - Hu3DModelHookSet(object->model[5], "koopasgbox_fix-effect_fook2", object->model[6]); - fn_1_1DFC(object, 6, 6, 0, 2); -} - -void fn_1_1727C(omObjData *arg0, StructBss16C *arg1) -{ - Hu3DData[arg0->model[5]].pos.y = fn_1_B08(80, 90, arg1->unk08++, 360); - if (arg1->unk08 >= 360) { - arg1->unk08 = 0; - } -} - -void fn_1_17338(void) -{ - omObjData *obj; - lbl_1_bss_9E4.unk00 = obj = omAddObjEx(lbl_1_bss_968, 256, 16, 16, -1, NULL); - lbl_1_bss_9E4.unk04 = (void *)fn_1_1727C; - lbl_1_bss_9E4.unk00->data = &lbl_1_bss_9E4; - fn_1_17074(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_9E4.unk04 != NULL) { - lbl_1_bss_9E4.unk04(obj, &lbl_1_bss_9E4); - } - } -} - -void fn_1_175CC(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x62 : 0x66)); - object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x63 : 0x67)); - object->motion[2] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x66 : 0x6A)); - object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x69 : 0x6C)); - Hu3DModelPosSet(object->model[1], 0, 0, 200); - Hu3DModelRotSet(object->model[1], 0, 0, 0); - Hu3DModelScaleSet(object->model[1], 1.6f, 1.6f, 1.6f); - Hu3DModelShadowSet(object->model[1]); - fn_1_1DFC(object, 1, 1, 0, 1); -} - -void fn_1_1774C(int arg0, int arg1, int arg2, int arg3, int arg4) -{ - fn_1_1DFC(lbl_1_bss_9BC.unk00, 1, arg0, arg2, arg3); - if (arg3 == 1) { - arg4 = 0; - } - lbl_1_bss_9BC.unk00->work[0] = arg4; - lbl_1_bss_9BC.unk00->work[1] = arg1; - lbl_1_bss_9BC.unk00->work[2] = arg2 + 1; -} - -void fn_1_177F8(void) -{ - omObjData *obj; - lbl_1_bss_9BC.unk00 = obj = omAddObjEx(lbl_1_bss_968, 256, 16, 16, -1, NULL); - lbl_1_bss_9BC.unk04 = NULL; - lbl_1_bss_9BC.unk00->data = &lbl_1_bss_9E4; - fn_1_175CC(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_9BC.unk04 != NULL) { - lbl_1_bss_9BC.unk04(obj, &lbl_1_bss_9BC); - } - if (obj->work[0]) { - if (obj->work[2]) { - obj->work[2]--; - } - else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) { - fn_1_1DFC(obj, 1, obj->work[1], 15, 1); - obj->work[0] = obj->work[1] = obj->work[2] = 0; - } - } - } -} - -void fn_1_17A70(omObjData *object) -{ - object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x7D : 0x7B)); - object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MSTORY2, VERSION_NTSC ? 0x7E : 0x7C)); - Hu3DModelPosSet(object->model[1], -120, 0, 800); - Hu3DModelRotSet(object->model[1], 0, 135, 0); - Hu3DModelScaleSet(object->model[1], 1, 1, 1); - Hu3DModelShadowSet(object->model[1]); - fn_1_1DFC(object, 1, 1, 0, 1); -} - -void fn_1_17B98(int arg0, int arg1, int arg2, int arg3, int arg4) -{ - fn_1_1DFC(lbl_1_bss_994.unk00, 1, arg0, arg2, arg3); - if (arg3 == 1) { - arg4 = 0; - } - lbl_1_bss_994.unk00->work[0] = arg4; - lbl_1_bss_994.unk00->work[1] = arg1; - lbl_1_bss_994.unk00->work[2] = arg2 + 1; -} - -void fn_1_17C44(void) -{ - omObjData *obj; - lbl_1_bss_994.unk00 = obj = omAddObjEx(lbl_1_bss_968, 256, 16, 16, -1, NULL); - lbl_1_bss_994.unk04 = NULL; - lbl_1_bss_994.unk00->data = &lbl_1_bss_994; - fn_1_17A70(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_994.unk04 != NULL) { - lbl_1_bss_994.unk04(obj, &lbl_1_bss_994); - } - if (obj->work[0]) { - if (obj->work[2]) { - obj->work[2]--; - } - else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) { - fn_1_1DFC(obj, 1, obj->work[1], 15, 1); - obj->work[0] = obj->work[1] = obj->work[2] = 0; - } - } - } -} - -void fn_1_17E64(s32 arg0) -{ - int i; - int order[4]; - order[0] = 0; - for (i = 1; i < 4; i++) { - order[i] = order[i - 1] + 1; - if (order[i] >= 4) { - order[i] = 0; - } - if (arg0 == order[i]) { - lbl_1_bss_A34.unk00 = i; - } - } - for (i = 0; i < 4; i++) { - fn_1_357C(&lbl_1_bss_A34.unk30[i], order[i]); - } -} - -void fn_1_17F48(omObjData *object) -{ - int charNo = lbl_1_bss_A34.unk30[lbl_1_bss_A34.unk00].unk10; - object->model[1] = CharModelCreate(charNo, 1); - object->motion[1] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00)); - object->motion[2] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18)); - object->motion[3] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x34)); - object->motion[4] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x48)); - CharModelVoiceEnableSet(charNo, object->motion[2], FALSE); - CharModelMotionDataClose(charNo); - Hu3DModelPosSet(object->model[1], 120, 0, 800); - Hu3DModelRotSet(object->model[1], 0, -135, 0); - Hu3DModelScaleSet(object->model[1], 1, 1, 1); - Hu3DModelShadowSet(object->model[1]); - fn_1_1DFC(object, 1, 1, 0, 1); -} - -void fn_1_180D8(int arg0, int arg1, int arg2, int arg3, int arg4) -{ - fn_1_1DFC(lbl_1_bss_96C.unk00, 1, arg0, arg2, arg3); - if (arg3 == 1) { - arg4 = 0; - } - lbl_1_bss_96C.unk00->work[0] = arg4; - lbl_1_bss_96C.unk00->work[1] = arg1; - lbl_1_bss_96C.unk00->work[2] = arg2 + 1; -} - -void fn_1_18184(void) -{ - omObjData *obj; - lbl_1_bss_96C.unk00 = obj = omAddObjEx(lbl_1_bss_968, 256, 16, 16, -1, NULL); - lbl_1_bss_96C.unk04 = NULL; - lbl_1_bss_96C.unk00->data = &lbl_1_bss_96C; - fn_1_17F48(obj); - while (1) { - fn_1_BC8(); - if (lbl_1_bss_96C.unk04 != NULL) { - lbl_1_bss_96C.unk04(obj, &lbl_1_bss_96C); - } - if (obj->work[0]) { - if (obj->work[2]) { - obj->work[2]--; - } - else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) { - fn_1_1DFC(obj, 1, obj->work[1], 15, 1); - obj->work[0] = obj->work[1] = obj->work[2] = 0; - } - } - } -} - -void fn_1_18408(void) -{ - StructBss24 *work = &lbl_1_bss_24; - work->unk08.x = 0; - work->unk08.y = 125; - work->unk08.z = 0; - work->unk20.x = -5; - work->unk20.y = 0; - work->unk20.z = 0; - work->unk38 = 1750; -} - -void fn_1_18494(void) -{ - StructBss24 *work = &lbl_1_bss_24; - StructBss24 temp; - if (work->unk40 == 50) { - fn_1_1DFC(lbl_1_bss_9E4.unk00, 5, 5, 0, 0); - fn_1_1DFC(lbl_1_bss_9E4.unk00, 6, 6, 0, 0); - HuAudFXPlay(161); - } - temp.unk08.x = 0; - temp.unk08.y = 130; - temp.unk08.z = 460; - temp.unk20.x = 0; - temp.unk20.y = 0; - temp.unk20.z = 0; - temp.unk38 = 150; - fn_1_4FEC(work, &temp, work->unk40, 180, 10); - if (work->unk40++ >= 90) { - if (work->unk40 == 91) { - lbl_1_bss_88[0] = HuAudFXPlay(32); - } - work->unk20.x = fn_1_864(work->unk20.x, -45, work->unk40 - 90, 90); - Hu3DData[lbl_1_bss_9E4.unk00->model[5]].rot.x = fn_1_864(0, 45, work->unk40 - 90, 90); - } -} diff --git a/src/REL/mstory2Dll/save.c b/src/REL/mstory2Dll/save.c deleted file mode 100644 index cc52073c..00000000 --- a/src/REL/mstory2Dll/save.c +++ /dev/null @@ -1,122 +0,0 @@ -#include "REL/mstoryDll.h" -#include "game/data.h" -#include "game/esprite.h" -#include "game/flag.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/saveload.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - -s32 lbl_1_bss_D14; -Process *lbl_1_bss_D10; - -s32 fn_1_1B560(s32 arg0) -{ - if (arg0 == 0 && _CheckFlag(FLAG_ID_MAKE(0, 2))) { - return 1; - } - if (arg0 == 1 && _CheckFlag(FLAG_ID_MAKE(0, 3))) { - return 1; - } - if (arg0 == 2 && _CheckFlag(FLAG_ID_MAKE(0, 4))) { - return 1; - } - if (arg0 == 3 && _CheckFlag(FLAG_ID_MAKE(0, 5))) { - return 1; - } - if (arg0 == 4 && _CheckFlag(FLAG_ID_MAKE(0, 6))) { - return 1; - } - if (arg0 == 5 && _CheckFlag(FLAG_ID_MAKE(0, 7))) { - return 1; - } - return 0; -} - -void fn_1_1B64C(void) -{ - float sp8[2]; - s32 temp_r30; - s32 var_r29; - s32 var_r31; - - temp_r30 = 1; - Hu3DAllKill(); - HuSprClose(); - HuSprInit(); - if (SLSaveFlagGet() == 0) { - lbl_1_bss_D14 = 1; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } - } - espInit(); - HuPrcVSleep(); - var_r29 = espEntry(DATA_MAKE_NUM(DATADIR_WIN, 32), 5000, 0); - espPosSet(var_r29, 288.0f, 240.0f); - espAttrReset(var_r29, 4); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - if (SLSaveFlagGet() == 1) { - HuWinInit(1); - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(30, 22)); - var_r31 = HuWinExCreateStyled(-10000.0f, 150.0f, sp8[0], sp8[1], -1, 2); - winData[var_r31].active_pad = 1; - HuWinAttrSet(var_r31, 0x10); - HuWinExAnimIn(var_r31); - HuWinMesSet(var_r31, MAKE_MESSID(30, 22)); - temp_r30 = HuWinChoiceGet(var_r31, 0); - HuWinExAnimOut(var_r31); - HuWinExCleanup(var_r31); - if (SLSaveFlagGet() == 1 && temp_r30 == 0) { -#if VERSION_REV1 - GWGameStat.story_continue = 1; -#endif - if (omovlstat) { - GWGameStat.story_continue = 0; - } - SLCommonSet(); - SLSaveBoardStory(); - SLSave(); - } - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - lbl_1_bss_D14 = 1; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_1B870(void) -{ - _SetFlag(9); - HuPrcChildCreate(fn_1_1B64C, 100, 0x2000, 0, HuPrcCurrentGet()); - do { - fn_1_BC8(); - } while (lbl_1_bss_D14 != 1); - if (omovlstat == 0) { - omOvlGotoEx(OVL_MSTORY2, 1, 4, 0); - } - else { - omOvlReturnEx(omovlhisidx, 1); - } - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_1B90C(Process *arg0) -{ - lbl_1_bss_D10 = arg0; - HuPrcChildCreate(fn_1_1B870, 100, 0x2000, 0, HuPrcCurrentGet()); -} diff --git a/src/REL/mstory3Dll/main.c b/src/REL/mstory3Dll/main.c deleted file mode 100755 index c1e4f1bf..00000000 --- a/src/REL/mstory3Dll/main.c +++ /dev/null @@ -1,1044 +0,0 @@ -#include "REL/mstory3Dll.h" -#include "game/gamework.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/window.h" -#include "game/wipe.h" - -#include "ext_math.h" - -u8 lbl_1_bss_48[0x10]; // unused -StructBss4 lbl_1_bss_4; -Process* lbl_1_bss_0; - -s32 lbl_1_data_0[][4] = { - { 0x37, 0x38, 0x36, 0x39 }, - { 0x43, 0x45, 0x44, 0x43 }, - { 0x40, 0x42, 0x41, 0x40 }, - { 0x4B, 0x4D, 0x4C, 0x4B }, - { 0x46, 0x48, 0x47, 0x46 }, - { 0x3E, 0x3F, 0x3E, 0x3E }, - { 0x3A, 0x3B, 0x3C, -1 } -}; - -char* lbl_1_data_A4[] = { - "S-1 : ALL STORY - BOARD RESULT EVENT", - "--- : RESULT" -}; - -void fn_1_0(omObjData* arg0) { - if (WipeStatGet() == 0) { - arg0->func = NULL; - omOvlReturnEx(1, 1); - } -} - -void fn_1_4C(omObjData* arg0) { - if (omSysExitReq != 0) { - arg0->func = fn_1_0; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - } -} - -void fn_1_A4(void) { - s32 sp14; - s32 sp10; - s32 spC; - s32 sp8; - s32 var_r29; - s32 var_r30; - s32 var_r31; - - sp14 = 0; - var_r30 = 0; - var_r31 = 0; - sp10 = 1; - spC = 1; - sp8 = 1; - omAddObjEx(lbl_1_bss_0, 0x2000, 0, 0, -1, fn_1_4C); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - while (TRUE) { - if (WipeStatGet() == 0) { - break; - } - fn_1_938(); - } - while (TRUE) { - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - break; - } - if (HuPadBtnDown[0] & PAD_BUTTON_DOWN) { - var_r30++; - if (var_r30 >= 2) { - var_r30 = 0; - } - } - if (HuPadBtnDown[0] & PAD_BUTTON_UP) { - var_r30--; - if (var_r30 < 0) { - var_r30 = 1; - } - } - if (HuPadStkX[0] <= -30) { - var_r31++; - if (var_r31 > 6) { - var_r31 = 0; - } - } - if (HuPadStkX[0] >= 30) { - var_r31--; - if (var_r31 < 0) { - var_r31 = 5; - } - } - fontcolor = FONT_COLOR_WHITE; - print8(24, 100, 1.5f, ">>>>> MPGC STORY 3 - EVENT SELECT <<<<<"); - print8(24, 130, 1.5f, "MAP NUMBER : %d", var_r31 + 1); - for (var_r29 = 0; var_r29 < 2; var_r29++) { - fontcolor = FONT_COLOR_WHITE; - if (var_r30 == var_r29) { - fontcolor = FONT_COLOR_CYAN; - } - print8(24, 160 + var_r29 * 15, 1.5f, "%s", lbl_1_data_A4[var_r29]); - } - fn_1_938(); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (TRUE) { - if (WipeStatGet() == 0) { - break; - } - fn_1_938(); - } - GWSystem.board = var_r31; - switch (var_r30) { - case 0: - fn_1_6E34(lbl_1_bss_0, var_r31, 1, 0, 0); - break; - case 1: - fn_1_157F0(lbl_1_bss_0, var_r31, 0, 0); - break; - } - while (TRUE) { - fn_1_938(); - } -} - -#include "src/REL/executor.c" - -void fn_1_40C(void) { - lbl_1_bss_0 = omInitObjMan(62, 0x2000); - omGameSysInit(lbl_1_bss_0); - switch (omovlevtno) { - case 0: - fn_1_6E34(lbl_1_bss_0, GWSystem.board, GWSystem.bonus_star, GWSystem.party, 0); - break; - case 1: - fn_1_157F0(lbl_1_bss_0, GWSystem.board, GWSystem.party, 0); - break; - } -} - -void ObjectSetup(void) { - fn_1_40C(); -} - -float fn_1_5D4(float arg8, float arg9, float argA, float argB) { - if (argB <= argA) { - return arg9; - } - return arg8 + (argA / argB) * (arg9 - arg8); -} - -float fn_1_5FC(float arg8, float arg9, float argA) { - return (arg9 + arg8 * (argA - 1.0f)) / argA; -} - -float fn_1_61C(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg1 - arg0) * (1.0 - cosd((90.0f / arg3) * arg2)); -} - -float fn_1_6F4(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg1 - arg0) * sind((90.0f / arg3) * arg2); -} - -float fn_1_7BC(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg0; - } - return arg0 + (arg1 - arg0) * sind((180.0f / arg3) * arg2); -} - -float fn_1_878(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg0; - } - return arg0 + (arg1 - arg0) * sind((360.0f / arg3) * arg2); -} - -void fn_1_934(void) { -} - -void fn_1_938(void) { - HuPrcVSleep(); -} - -void fn_1_958(s32 arg0) { - HuPrcSleep(arg0); -} - -void fn_1_980(void) { - HuPrcEnd(); -} - -void fn_1_9A0(void) { - HuWinInit(1); -} - -void fn_1_9C4(void) { - HuWinAllKill(); -} - -void fn_1_9E4(s32 arg0, float arg1, float arg2, s32 arg3) { - WindowData* temp_r29; - float temp_f29; - float temp_f28; - float temp_f25; - float temp_f24; - float temp_f31; - float temp_f27; - float temp_f30; - float temp_f26; - float var_f23; - float var_f22; - float var_f21; - float var_f20; - s32 i; - - temp_r29 = &winData[arg0]; - temp_f29 = temp_r29->pos_x; - temp_f28 = temp_r29->pos_y; - temp_f25 = temp_r29->w; - temp_f24 = temp_r29->h; - temp_f31 = temp_f29 + temp_f25 * arg1; - temp_f27 = 4.0f / temp_f25; - if (temp_f31 + 4.0f - (temp_f29 + temp_f25) >= 0.0f) { - temp_f31 = (temp_f29 + temp_f25) - 4.0f; - } else if (temp_f29 - (temp_f31 - 2.0f) >= 0.0f) { - temp_f31 = temp_f29; - } else { - temp_f31 -= 2.0f; - } - temp_f30 = temp_f28 + temp_f24 * arg2; - temp_f26 = 4.0f / temp_f24; - if (temp_f30 + 4.0f - (temp_f28 + temp_f24) >= 0.0f) { - temp_f30 = (temp_f28 + temp_f24) - 4.0f; - } else if (temp_f28 - (temp_f30 - 2.0f) >= 0.0f) { - temp_f30 = temp_f28; - } else { - temp_f30 -= 2.0f; - } - if (arg3 != 0) { - HuWinPosSet(arg0, temp_f31, temp_f30); - HuWinScaleSet(arg0, temp_f27, temp_f26); - var_f23 = temp_f31; - var_f21 = temp_f27; - var_f22 = temp_f30; - var_f20 = temp_f26; - } else { - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - var_f23 = temp_f29; - var_f21 = 1.0f; - var_f22 = temp_f28; - var_f20 = 1.0f; - } - HuWinDispOn(arg0); - for (i = 0; i <= 15; i++) { - HuPrcVSleep(); - if (arg3 != 0) { - if (i <= 10) { - var_f23 = fn_1_6F4(temp_f31, temp_f29, i, 10.0f); - var_f21 = fn_1_6F4(temp_f27, 1.0f, i, 10.0f);; - } else { - var_f22 = fn_1_6F4(temp_f30, temp_f28, i - 10, 5.0f); - var_f20 = fn_1_6F4(temp_f26, 1.0f, i - 10, 5.0f); - } - } else { - if (i <= 10) { - var_f22 = fn_1_6F4(temp_f28, temp_f30, i, 10.0f); - var_f20 = fn_1_6F4(1.0f, temp_f26, i, 10.0f); - } else { - var_f23 = fn_1_6F4(temp_f29, temp_f31, i - 10, 5.0f); - var_f21 = fn_1_6F4(1.0f, temp_f27, i - 10, 5.0f); - } - } - HuWinPosSet(arg0, var_f23, var_f22); - HuWinScaleSet(arg0, var_f21, var_f20); - } - if (arg3 != 0) { - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - } else { - HuWinPosSet(arg0, temp_f31, temp_f30); - HuWinScaleSet(arg0, temp_f27, temp_f26); - } - HuPrcVSleep(); -} - -s32 fn_1_142C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, float arg8, float arg9, s32 arg4) { - s32 temp_r3; - - arg2 = arg2 * 21 + 16; - arg3 = arg3 * 26 + 16; - if (arg0 == 0) { - arg0 = 550 - arg2; - } else { - arg0 = 1.0f + (576.0f - arg2) / 2; - } - if (arg1 == 0) { - arg1 = 430 - arg3; - } else { - arg1 = 445 - arg3; - } - temp_r3 = HuWinExCreateStyled(arg0, arg1, arg2, arg3, -1, 1); - HuWinMesPalSet(temp_r3, 7, 0, 0, 0); - if (arg4 != -1) { - if (GWSystem.party != 1) { - winData[temp_r3].active_pad = 1; - } else { - winData[temp_r3].active_pad = 0xF; - } - } else { - winData[temp_r3].active_pad = 0xFF; - } - fn_1_9E4(temp_r3, arg8, arg9, 1); - if (arg1 != 0) { - HuWinPriSet(temp_r3, 50); - } - return temp_r3; -} - -s32 fn_1_1624(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - return fn_1_142C(arg0, arg1, arg2, arg3, 0.5f, 0.5f, arg4); -} - -s32 fn_1_1834(u32 arg0, s32 arg1) { - float sp8[2]; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - s32 temp_r3; - - if (arg1 == 0) { - HuWinMesMaxSizeGet(1, sp8, arg0); - } - var_f31 = sp8[0]; - var_f30 = sp8[1]; - var_f29 = (576.0f - var_f31) / 2; - var_f28 = 445.0f - var_f30; - if (arg1 != 0) { - var_f31 = 352.0f; - var_f30 = 94.0f; - var_f29 = 550.0f - var_f31; - var_f28 = 445.0f - var_f30; - } - temp_r3 = HuWinExCreateStyled(var_f29, var_f28, var_f31, var_f30, -1, 1); - HuWinMesPalSet(temp_r3, 7, 0, 0, 0); - if (arg1 == 0) { - HuWinBGTPLvlSet(temp_r3, 0.0f); - HuWinMesSet(temp_r3, arg0); - HuWinMesSpeedSet(temp_r3, 0); - HuWinDispOn(temp_r3); - HuWinMesPalSet(temp_r3, 7, 0xFF, 0xFF, 0xFF); - } else { - HuWinPriSet(temp_r3, 50); - fn_1_9E4(temp_r3, 0.5f, 0.5f, 1); - HuWinMesSpeedSet(temp_r3, 0); - } - return temp_r3; -} - -void fn_1_1A24(s32 arg0) { - HuWinExCleanup(arg0); -} - -void fn_1_1A50(s32 arg0, float arg1, float arg2) { - HuWinMesSet(arg0, MAKE_MESSID(37, 4)); - HuPrcVSleep(); - fn_1_9E4(arg0, arg1, arg2, 0); - HuWinExCleanup(arg0); -} - -void fn_1_1AB0(s32 arg0) { - fn_1_1A50(arg0, 0.5f, 0.5f); -} - -void fn_1_1B18(s32 arg0, s32 arg1) { - s32 i; - - if (arg1 > 0) { - HuPrcSleep(arg1); - return; - } - HuWinComKeyReset(); - if (winData[arg0].active_pad == 0xFF) { - for (i = 0; i < 10; i++) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, GWMessDelayGet()); - } - } - HuWinMesWait(arg0); - HuWinComKeyReset(); -} - -s32 fn_1_1BC4(s32 arg0, s32 arg1) { - s32 spC; - s32 temp_r31; - s32 var_r30; - - spC = 0; - HuWinComKeyReset(); - if (winData[arg0].active_pad == 0xFF) { - for (var_r30 = 0; var_r30 < 10; var_r30++) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, GWMessDelayGet()); - } - } - temp_r31 = HuWinChoiceGet(arg0, arg1); - HuWinComKeyReset(); - if (temp_r31 != 0) { - temp_r31 = 0; - } else { - temp_r31 = 1; - } - return temp_r31; -} - -s32 fn_1_1C88(s32 arg0) { - return fn_1_1BC4(arg0, 0); -} - -void fn_1_1D44(s32 arg0, s32 arg1) { - HuWinMesSet(arg0, arg1); -} - -void fn_1_1D78(s32 arg0, s32 arg1, s32 arg2) { - HuWinInsertMesSet(arg0, arg1, arg2); -} - -void fn_1_1DB8(s16 arg0) { - ModelData* var_r28; - HsfMaterial* var_r31; - HsfData* temp_r30; - s16 var_r27; - s32 i; - - var_r28 = &Hu3DData[arg0]; - temp_r30 = var_r28->hsfData; - var_r27 = temp_r30->materialCnt; - var_r31 = temp_r30->material; - for (i = 0; i < var_r27; var_r31++, i++) { - var_r31->vtxMode = 1; - } -} - -void fn_1_1E28(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - switch (arg4) { - case 0: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_NONE); - break; - case 1: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_LOOP); - break; - case 2: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_PAUSE); - break; - } -} - -void fn_1_1FA0(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - if (arg0->motion[arg2] == Hu3DMotionIDGet(arg0->model[arg1])) { - return; - } - if (arg0->motion[arg2] == Hu3DMotionShiftIDGet(arg0->model[arg1])) { - return; - } - fn_1_1FA0(arg0, arg1, arg2, arg3, arg4); -} - -void fn_1_2280(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3) { - HuPrcSleep(arg3 + 1); - do { - HuPrcVSleep(); - } while (arg0->motion[arg2] != Hu3DMotionIDGet(arg0->model[arg1]) || !Hu3DMotionEndCheck(arg0->model[arg1])); -} - -void fn_1_2310(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3) { - HuPrcSleep(arg3 + 1); - do { - HuPrcVSleep(); - } while (arg0->motion[arg2] != Hu3DMotionIDGet(arg0->model[arg1]) || !(Hu3DMotionMaxTimeGet(arg0->model[arg1]) - 20.0f <= Hu3DMotionTimeGet(arg0->model[arg1]))); -} - -s32 fn_1_23D8(s32 arg0) { - s32 i; - - for (i = 0; i < 4; i++) { - if (arg0 == GWPlayerCfg[i].group) { - break; - } - } - return i; -} - -void fn_1_2420(s32 arg0, s32 arg1) { - while (TRUE) { - if (arg1 & HuPadBtnDown[arg0]) { - break; - } - HuPrcVSleep(); - } -} - -void fn_1_2474(void) { - StructBss4* var_r31; - - var_r31 = &lbl_1_bss_4; - if (HuPadBtn[0] & PAD_BUTTON_B) { - if (HuPadBtn[0] & PAD_TRIGGER_R) { - var_r31->unk08.z -= HuPadStkY[0] / 10.0f; - } else { - var_r31->unk08.x += HuPadStkX[0] / 10.0f; - var_r31->unk08.y += HuPadStkY[0] / 10.0f; - } - } - if (HuPadBtn[0] & PAD_BUTTON_Y) { - var_r31->unk20.x -= HuPadStkY[0] / 100.0f; - var_r31->unk20.y += HuPadStkX[0] / 100.0f; - if (var_r31->unk20.x < 0.0f) { - var_r31->unk20.x += 360.0f; - } - if (var_r31->unk20.x >= 360.0f) { - var_r31->unk20.x -= 360.0f; - } - if (var_r31->unk20.y < 0.0f) { - var_r31->unk20.y += 360.0f; - } - if (var_r31->unk20.y >= 360.0f) { - var_r31->unk20.y -= 360.0f; - } - } - if (HuPadBtn[0] & PAD_BUTTON_X) { - var_r31->unk38 -= HuPadStkY[0] / 10.0f; - } - print8(24, 40, 1.5f, "CENTER : %.2f, %.2f, %.2f", var_r31->unk08.x, var_r31->unk08.y, var_r31->unk08.z); - print8(24, 55, 1.5f, "ROT : %.2f, %.2f, %.2f", var_r31->unk20.x, var_r31->unk20.y, var_r31->unk20.z); - print8(24, 70, 1.5f, "ZOOM : %.2f", var_r31->unk38); -} - -void fn_1_2834(void (*arg0)(void)) { - lbl_1_bss_4.unk00 = arg0; -} - -void fn_1_2844(void (*arg0)(void)) { - lbl_1_bss_4.unk04 = arg0; -} - -void fn_1_2854(omObjData* arg0) { - StructBss4* var_r31; - - var_r31 = &lbl_1_bss_4; - if (var_r31->unk00 != NULL) { - var_r31->unk00(); - } - Center.x = var_r31->unk08.x; - Center.y = var_r31->unk08.y; - Center.z = var_r31->unk08.z; - CRot.x = var_r31->unk20.x; - CRot.y = var_r31->unk20.y; - CRot.z = var_r31->unk20.z; - CZoom = var_r31->unk38; -} - -void fn_1_290C(Process* arg0, void (*arg1)(void)) { - Hu3DCameraCreate(1); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraPerspectiveSet(1, 42.0f, 1.0f, 2000.0f, 1.2f); - lbl_1_bss_4.unk00 = arg1; - lbl_1_bss_4.unk04 = fn_1_2474; - omAddObjEx(arg0, 0x7FDA, 0, 0, -1, omOutView); - omAddObjEx(arg0, 0x7FD9, 0, 0, -1, fn_1_2854); -} - -void fn_1_2A2C(omObjData* arg0, s32 arg1, Vec arg2, float arg3, float arg4, float arg5) { - Vec sp4C; - Vec sp40; - Vec sp34; - Vec sp28; - float sp24; - float sp20; - float sp1C; - s32 sp18; - s32 sp14; - float var_f31; - - sp40.x = Hu3DData[arg0->model[arg1]].pos.x; - sp4C.y = sp40.y = Hu3DData[arg0->model[arg1]].pos.y; - sp40.z = Hu3DData[arg0->model[arg1]].pos.z; - sp34.x = arg2.x; - sp34.y = arg2.y; - sp34.z = arg2.z; - sp18 = arg4; - sp28.x = Hu3DData[arg0->model[arg1]].rot.x; - sp28.y = Hu3DData[arg0->model[arg1]].rot.y; - sp28.z = Hu3DData[arg0->model[arg1]].rot.z; - sp1C = 0.0f; - sp20 = arg3; - sp24 = 0.0f; - sp14 = arg5; - var_f31 = -1.1025f; - Hu3DMotionShiftSet(arg0->model[1], arg0->motion[3], 0.0f, 5.0f, 0U); - HuPrcSleep(10); - while (TRUE) { - if (var_f31 >= 1.7f) { - var_f31 = 1.7f; - } - sp4C.y += var_f31 * var_f31 * (var_f31 >= 0.0f ? -17.5f : 17.5f); - if (sp4C.y <= 0.0f && var_f31 > 0.0f) { - sp4C.y = 0.0f; - } - sp4C.x = sp40.x += 6.0 * sind(sp28.y); - sp4C.z = sp40.z += 6.0 * cosd(sp28.y); - Hu3DModelPosSet(arg0->model[1], sp4C.x, sp4C.y, sp4C.z); - Hu3DModelRotSet(arg0->model[1], sp28.x, sp28.y, sp28.z); - HuPrcVSleep(); - if (sp4C.y <= arg2.y && var_f31 > 0.0f) { - break; - } - var_f31 += 0.11f; - } -} - -void fn_1_2DD4(omObjData* arg0, s32 arg1, Vec arg2, float arg3, float arg4, float arg5) { - Vec sp54; - Vec sp48; - Vec sp3C; - Vec sp30; - Vec sp24; - Vec sp18; - s32 sp14; - s32 temp_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - s32 i; - - var_r26 = 0; - var_r25 = 0; - sp48.x = Hu3DData[arg0->model[arg1]].pos.x; - sp48.y = Hu3DData[arg0->model[arg1]].pos.y; - sp48.z = Hu3DData[arg0->model[arg1]].pos.z; - sp3C.x = arg2.x; - sp3C.y = arg2.y; - sp3C.z = arg2.z; - sp14 = arg4; - sp24.x = Hu3DData[arg0->model[arg1]].rot.x; - sp24.y = Hu3DData[arg0->model[arg1]].rot.y; - sp24.z = Hu3DData[arg0->model[arg1]].rot.z; - sp18.x = 0.0f; - sp18.y = arg3; - sp18.z = 0.0f; - if (sp3C.x - sp48.x >= 0.0f) { - var_r24 = 1; - } else { - var_r24 = 0; - } - if (sp3C.z - sp48.z >= 0.0f) { - var_r23 = 1; - } else { - var_r23 = 0; - } - temp_r27 = arg5; - do { - sp30.y = -(atan2d(sp3C.z - sp48.z, sp3C.x - sp48.x) - 90.0); - if (sp30.y < 0.0f) { - sp30.y += 360.0f; - } else if (sp30.y >= 360.0f) { - sp30.y -= 360.0f; - } - if (sp30.y >= 180.0f) { - if (sp24.y - sp30.y >= 180.0f) { - sp24.y -= 360.0f; - } - if (sp24.y - sp30.y < -180.0f) { - sp24.y += 360.0f; - } - } else { - if (sp24.y - sp30.y > 180.0f) { - sp24.y -= 360.0f; - } - if (sp24.y - sp30.y <= -180.0f) { - sp24.y += 360.0f; - } - } - sp54.x = sp48.x += 6.0 * sind(sp30.y); - sp54.z = sp48.z += 6.0 * cosd(sp30.y); - if (var_r24 != 0) { - if (sp48.x >= sp3C.x) { - sp54.x = sp48.x = sp3C.x; - var_r26 = 1; - } - } else { - if (sp48.x <= sp3C.x) { - sp54.x = sp48.x = sp3C.x; - var_r26 = 1; - } - } - if (var_r23 != 0) { - if (sp48.z >= sp3C.z) { - sp54.z = sp48.z = sp3C.z; - var_r25 = 1; - } - } else { - if (sp48.z <= sp3C.z) { - sp54.z = sp48.z = sp3C.z; - var_r25 = 1; - } - } - sp24.y = fn_1_5FC(sp24.y, sp30.y, 10.0f); - Hu3DModelPosSet(arg0->model[1], sp54.x, sp48.y, sp54.z); - Hu3DModelRotSet(arg0->model[1], sp24.x, sp24.y, sp24.z); - HuPrcVSleep(); - } while (var_r25 != 1 || var_r26 != 1); - sp24.y = Hu3DData[arg0->model[arg1]].rot.y; - for (i = 0; i <= temp_r27; i++) { - if (sp18.y >= 180.0f) { - if (sp24.y - sp18.y >= 180.0f) { - sp24.y -= 360.0f; - } - if (sp24.y - sp18.y < -180.0f) { - sp24.y += 360.0f; - } - } else { - if (sp24.y - sp18.y > 180.0f) { - sp24.y -= 360.0f; - } - if (sp24.y - sp18.y <= -180.0f) { - sp24.y += 360.0f; - } - } - sp24.y = fn_1_5D4(sp24.y, sp18.y, i, temp_r27); - Hu3DModelRotSet(arg0->model[1], sp24.x, sp24.y, sp24.z); - HuPrcVSleep(); - } -} - -void fn_1_35C8(s16 arg0) { - ModelData* var_r28; - HsfData* temp_r30; - HsfMaterial* var_r31; - s16 var_r27; - s32 i; - - var_r28 = &Hu3DData[arg0]; - temp_r30 = var_r28->hsfData; - var_r27 = temp_r30->materialCnt; - var_r31 = temp_r30->material; - for (i = 0; i < var_r27; var_r31++, i++) { - var_r31->vtxMode = 1; - var_r31->litColor[0] = 0xFF; - var_r31->litColor[1] = 0xFF; - var_r31->litColor[2] = 0xFF; - } -} - -void fn_1_3650(StructFn352C* arg0, s32 arg1) { - arg0->unk00 = arg1; - arg0->unk04 = GWPlayerCfg[arg0->unk00].group; - arg0->unk08 = GWPlayerCfg[arg0->unk00].iscom; - arg0->unk0C = GWPlayerCfg[arg0->unk00].diff; - arg0->unk10 = GWPlayerCfg[arg0->unk00].character; - arg0->unk14 = GWPlayerCfg[arg0->unk00].pad_idx; -} - -s32 fn_1_36E4(void) { - s32 i; - - for (i = 0; i < 4; i++) { - if (!GWPlayerCfg[i].iscom) { - break; - } - } - if (i == 4) { - return -1; - } - return i; -} - -s32 fn_1_373C(void) { - s32 var_r30; - s32 var_r31; - - var_r30 = 0; - do { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (var_r30 == GWPlayerCfg[var_r31].pad_idx) { - break; - } - } - if (!GWPlayerCfg[var_r31].iscom) { - break; - } - var_r30++; - } while (var_r30 != 5); - if (var_r30 == 5) { - return -1; - } - return var_r31; -} - -s32 fn_1_37C8(s32 arg0) { - s32 temp_r3 = 0; - - temp_r3 = Hu3DGLightCreate(0.0f, 700.0f, 1200.0f, 0.0f, -1.0f, 0.0f, arg0, arg0, arg0); - Hu3DGLightPosAimSet(temp_r3, 0.0f, 700.0f, 1200.0f, 0.0f, 0.0f, 640.0f); - Hu3DGLightInfinitytSet(temp_r3); - return temp_r3; -} - -void fn_1_38B4(void) { - Vec sp20 = { 0.0f, 3000.0f, 800.0f }; - Vec sp14 = { 0.0f, 0.0f, 640.0f }; - Vec sp8 = { 0.0f, 1.0f, 0.0f }; - - Hu3DShadowCreate(45.0f, 2000.0f, 25000.0f); - Hu3DShadowTPLvlSet(0.8f); - Hu3DShadowPosSet(&sp20, &sp8, &sp14); -} - -void fn_1_3978(StructBss4* arg0) { - arg0->unk08.x = arg0->unk14; - arg0->unk08.y = arg0->unk18; - arg0->unk08.z = arg0->unk1C; - arg0->unk20.x = arg0->unk2C; - arg0->unk20.y = arg0->unk30; - arg0->unk20.z = arg0->unk34; - arg0->unk38 = arg0->unk3C; -} - -void fn_1_39B4(StructBss4* arg0) { - arg0->unk40 = 0; - arg0->unk14 = arg0->unk08.x; - arg0->unk18 = arg0->unk08.y; - arg0->unk1C = arg0->unk08.z; - arg0->unk2C = arg0->unk20.x; - arg0->unk30 = arg0->unk20.y; - arg0->unk34 = arg0->unk20.z; - arg0->unk3C = arg0->unk38; -} - -void fn_1_39F8(StructBss4* arg0, StructBss4* arg1, float arg2) { - arg0->unk08.x = fn_1_5FC(arg0->unk08.x, arg1->unk14, arg2); - arg0->unk08.y = fn_1_5FC(arg0->unk08.y, arg1->unk18, arg2); - arg0->unk08.z = fn_1_5FC(arg0->unk08.z, arg1->unk1C, arg2); - arg0->unk20.x = fn_1_5FC(arg0->unk20.x, arg1->unk2C, arg2); - arg0->unk20.y = fn_1_5FC(arg0->unk20.y, arg1->unk30, arg2); - arg0->unk20.z = fn_1_5FC(arg0->unk20.z, arg1->unk34, arg2); - arg0->unk38 = fn_1_5FC(arg0->unk38, arg1->unk3C, arg2); -} - -void fn_1_3C64(StructBss4* arg0, float arg1) { - fn_1_39F8(arg0, arg0, arg1); -} - -void fn_1_3ED0(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3) { - arg1->unk14 = fn_1_5D4(arg0->unk14, arg1->unk08.x, arg2, arg3); - arg1->unk18 = fn_1_5D4(arg0->unk18, arg1->unk08.y, arg2, arg3); - arg1->unk1C = fn_1_5D4(arg0->unk1C, arg1->unk08.z, arg2, arg3); - arg1->unk2C = fn_1_5D4(arg0->unk2C, arg1->unk20.x, arg2, arg3); - arg1->unk30 = fn_1_5D4(arg0->unk30, arg1->unk20.y, arg2, arg3); - arg1->unk34 = fn_1_5D4(arg0->unk34, arg1->unk20.z, arg2, arg3); - arg1->unk3C = fn_1_5D4(arg0->unk3C, arg1->unk38, arg2, arg3); -} - -void fn_1_414C(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3) { - fn_1_3ED0(arg0, arg1, arg2, arg3); - arg0->unk08.x = arg1->unk14; - arg0->unk08.y = arg1->unk18; - arg0->unk08.z = arg1->unk1C; - arg0->unk20.x = arg1->unk2C; - arg0->unk20.y = arg1->unk30; - arg0->unk20.z = arg1->unk34; - arg0->unk38 = arg1->unk3C; -} - -void fn_1_4400(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3, float arg4) { - fn_1_3ED0(arg0, arg1, arg2, arg3); - fn_1_39F8(arg0, arg1, arg4); -} - -void fn_1_486C(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3) { - arg1->unk14 = fn_1_6F4(arg0->unk14, arg1->unk08.x, arg2, arg3); - arg1->unk18 = fn_1_6F4(arg0->unk18, arg1->unk08.y, arg2, arg3); - arg1->unk1C = fn_1_6F4(arg0->unk1C, arg1->unk08.z, arg2, arg3); - arg1->unk2C = fn_1_6F4(arg0->unk2C, arg1->unk20.x, arg2, arg3); - arg1->unk30 = fn_1_6F4(arg0->unk30, arg1->unk20.y, arg2, arg3); - arg1->unk34 = fn_1_6F4(arg0->unk34, arg1->unk20.z, arg2, arg3); - arg1->unk3C = fn_1_6F4(arg0->unk3C, arg1->unk38, arg2, arg3); -} - -void fn_1_4CC0(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3) { - fn_1_486C(arg0, arg1, arg2, arg3); - arg0->unk08.x = arg1->unk14; - arg0->unk08.y = arg1->unk18; - arg0->unk08.z = arg1->unk1C; - arg0->unk20.x = arg1->unk2C; - arg0->unk20.y = arg1->unk30; - arg0->unk20.z = arg1->unk34; - arg0->unk38 = arg1->unk3C; -} - -void fn_1_514C(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3, float arg4) { - fn_1_486C(arg0, arg1, arg2, arg3); - fn_1_39F8(arg0, arg1, arg4); -} - -void fn_1_57A4(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3) { - arg1->unk14 = fn_1_61C(arg0->unk14, arg1->unk08.x, arg2, arg3); - arg1->unk18 = fn_1_61C(arg0->unk18, arg1->unk08.y, arg2, arg3); - arg1->unk1C = fn_1_61C(arg0->unk1C, arg1->unk08.z, arg2, arg3); - arg1->unk2C = fn_1_61C(arg0->unk2C, arg1->unk20.x, arg2, arg3); - arg1->unk30 = fn_1_61C(arg0->unk30, arg1->unk20.y, arg2, arg3); - arg1->unk34 = fn_1_61C(arg0->unk34, arg1->unk20.z, arg2, arg3); - arg1->unk3C = fn_1_61C(arg0->unk3C, arg1->unk38, arg2, arg3); -} - -void fn_1_5C68(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3) { - fn_1_57A4(arg0, arg1, arg2, arg3); - arg0->unk08.x = arg1->unk14; - arg0->unk08.y = arg1->unk18; - arg0->unk08.z = arg1->unk1C; - arg0->unk20.x = arg1->unk2C; - arg0->unk20.y = arg1->unk30; - arg0->unk20.z = arg1->unk34; - arg0->unk38 = arg1->unk3C; -} - -void fn_1_6164(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3, float arg4) { - fn_1_57A4(arg0, arg1, arg2, arg3); - fn_1_39F8(arg0, arg1, arg4); -} - -void fn_1_682C(omObjData* arg0) { - s32 var_r30; - - if (arg0->work[0] == 0) { - return; - } - if (arg0->work[2] != 0) { - arg0->work[2]--; - return; - } - if (arg0->work[2] == 0 && Hu3DMotionEndCheck(arg0->model[1])) { - var_r30 = arg0->work[1]; - Hu3DMotionShiftSet(arg0->model[1], arg0->motion[var_r30], 0.0f, 15.0f, HU3D_MOTATTR_LOOP); - arg0->work[0] = arg0->work[1] = arg0->work[2] = 0; - } -} - -void fn_1_68F0(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - fn_1_1E28(arg0, 1, arg1, arg3, arg4); - if (arg4 == 0) { - arg0->work[0] = 1; - arg0->work[1] = arg2; - arg0->work[2] = arg3 + 1; - } -} - -void fn_1_6A78(s32 arg0, s32 arg1) { - HuWinMesSet(arg0, arg1); -} - -void fn_1_6AAC(s32 arg0, s32 arg1, s32 arg2) { - HuWinInsertMesSet(arg0, arg1, arg2); -} - -void fn_1_6AEC(s32 arg0, s32 arg1) { - fn_1_1B18(arg0, arg1); -} - -void fn_1_6B98(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { - s32 temp_r28 = 0; - s32 var_r29 = 0; - s32 i; - - temp_r28 = HuWinKeyWaitNumGet(arg1); - if (arg2 == -1 || arg2 >= temp_r28 - 1) { - arg2 = temp_r28 - 1; - } - HuWinComKeyReset(); - if (winData[arg0].active_pad == 0xFF) { - for (i = 0; i < 10; i++) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, GWMessDelayGet()); - } - } - HuWinMesSet(arg0, arg1); - for (i = 0; i < temp_r28; i++) { - var_r29 = 0; - do { - HuPrcVSleep(); - } while (HuWinStatGet(arg0) != 1); - if (i == arg2) { - HuWinAttrSet(arg0, 0x400); - var_r29 = 1; - } - while (TRUE) { - HuPrcVSleep(); - if (var_r29 != 0) { - if (var_r29 == 1 && HuWinStatGet(arg0) != 1) { - var_r29 = 2; - } else if (var_r29 == 2) { - HuPrcSleep(arg3); - HuWinAttrReset(arg0, 0x400); - HuWinKeyWaitEntry(arg0); - break; - } - } else if (HuWinStatGet(arg0) != 1) { - break; - } - } - } - fn_1_6AEC(arg0, 0); - HuWinMesSet(arg0, MAKE_MESSID(37, 4)); - HuWinComKeyReset(); -} - -BOOL fn_1_6D80(s32 arg0) { - s32 var_r31; - s32 i; - - HuWinComKeyReset(); - if (winData[arg0].active_pad == 0xFF) { - for (i = 0; i < 10; i++) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, GWMessDelayGet()); - } - } - var_r31 = HuWinChoiceGet(arg0, 0); - HuWinComKeyReset(); - if (var_r31 != 0) { - var_r31 = FALSE; - } else { - var_r31 = TRUE; - } - return var_r31; -} diff --git a/src/REL/mstory3Dll/result.c b/src/REL/mstory3Dll/result.c deleted file mode 100755 index 737f8b8f..00000000 --- a/src/REL/mstory3Dll/result.c +++ /dev/null @@ -1,1620 +0,0 @@ -#include "REL/mstory3Dll.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/esprite.h" -#include "game/flag.h" -#include "game/gamework.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/saveload.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ s32 unk18; - /* 0x1C */ char unk1C[0x18]; - /* 0x34 */ s32 unk34[4][2]; - /* 0x54 */ s32 unk54; - /* 0x58 */ char unk58[4]; - /* 0x5C */ s32 unk5C; - /* 0x60 */ char unk60[4]; - /* 0x64 */ s32 unk64; - /* 0x68 */ char unk68[4]; - /* 0x6C */ s32 unk6C; - /* 0x70 */ char unk70[4]; - /* 0x74 */ s32 unk74; - /* 0x78 */ char unk78[4]; - /* 0x7C */ s32 unk7C; - /* 0x80 */ char unk80[4]; - /* 0x84 */ s32 unk84; - /* 0x88 */ char unk88[4]; - /* 0x8C */ s32 unk8C; - /* 0x90 */ char unk90[4]; -} StructUnk38Bss1A0C; // Size 0x94 - -typedef struct { - /* 0x000 */ s32 unk00; - /* 0x004 */ s32 unk04; - /* 0x008 */ s32 unk08; - /* 0x00C */ s32 unk0C; - /* 0x010 */ s32 unk10; - /* 0x014 */ s32 unk14; - /* 0x018 */ s32 unk18; - /* 0x01C */ char unk1C[8]; - /* 0x024 */ s32 unk24; - /* 0x028 */ char unk28[0x10]; - /* 0x038 */ StructUnk38Bss1A0C unk38[4]; - /* 0x288 */ Vec unk288[5]; - /* 0x2C4 */ s32 unk2C4; - /* 0x2C8 */ s32 unk2C8; - /* 0x2CC */ s32 unk2CC; - /* 0x2D0 */ s32 unk2D0; - /* 0x2D4 */ s32 unk2D4; -} StructBss1A0C; // Size 0x2D8 - -void fn_1_15C0C(void); -void fn_1_16ED4(void); -void fn_1_18080(void); -void fn_1_184E8(void); -void fn_1_18558(void); -void fn_1_18F98(void); -void fn_1_19144(void); -void fn_1_19214(void); -void fn_1_194A0(void); -void fn_1_197B4(s32 arg0); -void fn_1_1C2F4(void); -void fn_1_1C460(void); -void fn_1_1CA98(void); -void fn_1_1CB7C(void); -void fn_1_1CC5C(void); -void fn_1_1CD60(void); -void fn_1_1D63C(void); -void fn_1_1D77C(void); -void fn_1_1D964(void); -void fn_1_1DA64(void); -void fn_1_1DAAC(void); -void fn_1_1DE4C(void); - -StructBss1A0C lbl_1_bss_1A0C; -StructBss1530 lbl_1_bss_19E4; -StructBss1530 lbl_1_bss_19BC; -StructBss1530 lbl_1_bss_1994; -StructBss1530 lbl_1_bss_18F4[4]; -AnimData* lbl_1_bss_18EC[2]; -AnimData* lbl_1_bss_18E4[2]; -AnimData* lbl_1_bss_18D8[3]; -s32 lbl_1_bss_18D4; -Process* lbl_1_bss_18D0; - -void fn_1_157F0(Process* arg0, s32 arg1, s32 arg2, s32 arg3) { - s32 var_r31; - - lbl_1_bss_18D0 = arg0; - lbl_1_bss_1A0C.unk00 = arg1; - lbl_1_bss_1A0C.unk08 = GWSystem.max_turn; - arg3 = lbl_1_bss_1A0C.unk14 = fn_1_373C(); - lbl_1_bss_1A0C.unk2D4 = arg2; - lbl_1_bss_1A0C.unk2CC = GWSystem.team; - if (_CheckFlag(FLAG_ID_MAKE(1, 29))) { - lbl_1_bss_1A0C.unk2D0 = 0; - } else { - lbl_1_bss_1A0C.unk2D0 = 1; - } - fn_1_9A0(); - fn_1_37C8(0xFF); - fn_1_290C(lbl_1_bss_18D0, fn_1_1DE4C); - fn_1_15C0C(); - fn_1_197B4(arg3); - fn_1_194A0(); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuPrcChildCreate(fn_1_1CC5C, 100, 0x2000, 0, HuPrcCurrentGet()); - } - HuPrcChildCreate(fn_1_19214, 100, 0x2000, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_1DAAC, 100, 0x2000, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_18080, 90, 0x2000, 0, HuPrcCurrentGet()); -} - -void fn_1_159A4(void) { - s32 var_r29; - s32 var_r30; - s32 i; - - for (i = 0; i < 4; i++) { - var_r29 = GWPlayer[i].stars - GWPlayerHandicapGet(i); - if (var_r29 <= 0) { - var_r29 = 0; - } - GWTotalStarsAdd(var_r29); - } - GWBoardPlayCountAdd(lbl_1_bss_1A0C.unk00, 1); - if (lbl_1_bss_1A0C.unk2CC == 1) { - if (lbl_1_bss_1A0C.unk38[0].unk08 == 0) { - GWBoardWinCountInc(lbl_1_bss_1A0C.unk38[0].unk10, lbl_1_bss_1A0C.unk00); - } - if (lbl_1_bss_1A0C.unk38[1].unk08 == 0) { - GWBoardWinCountInc(lbl_1_bss_1A0C.unk38[1].unk10, lbl_1_bss_1A0C.unk00); - } - } else if (lbl_1_bss_1A0C.unk38[0].unk08 == 0) { - GWBoardWinCountInc(lbl_1_bss_1A0C.unk38[0].unk10, lbl_1_bss_1A0C.unk00); - } - for (i = 0; i < 4; i++) { - var_r30 = GWPlayer[i].stars_max - GWPlayerHandicapGet(i); - if (var_r30 <= 0) { - var_r30 = 0; - } - if (GWBoardMaxStarsGet(lbl_1_bss_1A0C.unk00) <= var_r30 && !GWPlayer[i].com) { - GWBoardMaxStarsSet(lbl_1_bss_1A0C.unk00, var_r30); - } - } - for (i = 0; i < 4; i++) { - if (GWBoardMaxCoinsGet(lbl_1_bss_1A0C.unk00) <= GWPlayer[i].coins_max && !GWPlayer[i].com) { - GWBoardMaxCoinsSet(lbl_1_bss_1A0C.unk00, GWPlayer[i].coins_max); - } - } -} - -void fn_1_15C0C(void) { - lbl_1_bss_18EC[0] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 95), MEMORY_DEFAULT_NUM)); - lbl_1_bss_18EC[1] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 96), MEMORY_DEFAULT_NUM)); - lbl_1_bss_18D8[0] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 93), MEMORY_DEFAULT_NUM)); - lbl_1_bss_18D8[1] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 94), MEMORY_DEFAULT_NUM)); - lbl_1_bss_18D8[2] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 97), MEMORY_DEFAULT_NUM)); - lbl_1_bss_18E4[0] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 136), MEMORY_DEFAULT_NUM)); - lbl_1_bss_18E4[1] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 137), MEMORY_DEFAULT_NUM)); -} - -void fn_1_15D08(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { - HuSprPosSet(arg0, arg1, arg2 + arg4 / 2, arg3 + arg5 / 2); -} - -void fn_1_15DC8(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7) { - s32 var_r31; - s32 temp_r28; - - var_r31 = 0; - if (arg7 < 2) { - if ((temp_r28 = arg2 / 100) == 0) { - if (arg7 != 0) { - var_r31++; - } - HuSprBankSet(arg0, arg1, temp_r28); - fn_1_15D08(arg0, arg1, -1000, -1000, arg5, arg6); - } else { - HuSprBankSet(arg0, arg1, temp_r28); - fn_1_15D08(arg0, arg1, arg3 + arg5 * var_r31, arg4, arg5, arg6); - var_r31++; - } - } else { - arg1--; - } - if ((temp_r28 = (arg2 % 100) / 10) == 0 && arg2 / 100 == 0) { - if (arg7 != 0) { - var_r31++; - } - HuSprBankSet(arg0, arg1 + 1, temp_r28); - fn_1_15D08(arg0, arg1 + 1, -1000, -1000, arg5, arg6); - } else { - HuSprBankSet(arg0, arg1 + 1, temp_r28); - fn_1_15D08(arg0, arg1 + 1, arg3 + arg5 * var_r31, arg4, arg5, arg6); - var_r31++; - } - temp_r28 = arg2 % 10; - HuSprBankSet(arg0, arg1 + 2, temp_r28); - fn_1_15D08(arg0, arg1 + 2, arg3 + arg5 * var_r31, arg4, arg5, arg6); - var_r31++; -} - -void fn_1_161B8(void) { - s32 var_r30 = 16; - s32 var_r29 = 40; - s32 var_r28 = 0; - GXColor sp10 = { 0x00, 0x00, 0x80, 0x80 }; - s32 i; - - while (TRUE) { - fn_1_938(); - if (HuPadBtnDown[0] & PAD_TRIGGER_R) { - var_r28++; - var_r28 %= 2; - } - if (var_r28 == 0) { - continue; - } - printWin(var_r30, var_r29, 220, 150, &sp10); - if (lbl_1_bss_19E4.unk04 == NULL) { - print8(var_r30, var_r29, 1.0f, "PROC_MAIN -> FALSE"); - } else { - print8(var_r30, var_r29, 1.0f, "PROC_MAIN -> TRUE"); - } - if (lbl_1_bss_19BC.unk04 == NULL) { - print8(var_r30, var_r29 + 10, 1.0f, "PROC_MAP -> FALSE"); - } else { - print8(var_r30, var_r29 + 10, 1.0f, "PROC_MAP -> TRUE"); - } - if (lbl_1_bss_1994.unk04 == NULL) { - print8(var_r30, var_r29 + 20, 1.0f, "PROC_SUB -> FALSE"); - } else { - print8(var_r30, var_r29 + 20, 1.0f, "PROC_SUB -> TRUE"); - } - for (i = 0; i < 4; i++) { - if (lbl_1_bss_18F4[i].unk04 == NULL) { - print8(var_r30, var_r29 + 30 + i * 10, 1.0f, "PROC_PLAYER%d -> FALSE", i); - } else { - print8(var_r30, var_r29 + 30 + i * 10, 1.0f, "PROC_PLAYER%d -> TRUE", i); - } - } - print8(var_r30, var_r29 + 80, 1.0f, "M:%d P:%d W:%d", lbl_1_bss_1A0C.unk00, lbl_1_bss_1A0C.unk04, lbl_1_bss_1A0C.unk14); - print8(var_r30, var_r29 + 100, 1.0f, "NO) IDX:GRP:COM:DIF:PAD:CHR"); - for (i = 0; i < 4; i++) { - print8(var_r30, var_r29 + 110 + i * 10, 1.0f, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, - lbl_1_bss_1A0C.unk38[i].unk00, lbl_1_bss_1A0C.unk38[i].unk04, lbl_1_bss_1A0C.unk38[i].unk08, - lbl_1_bss_1A0C.unk38[i].unk0C, lbl_1_bss_1A0C.unk38[i].unk14, lbl_1_bss_1A0C.unk38[i].unk10); - } - } -} - -void fn_1_16574(void) { - fn_1_958(30); - fn_1_16ED4(); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - do { - fn_1_938(); - } while (WipeStatGet() != 0); - fn_1_958(60); -} - -void fn_1_165C8(void) { - s32 sp8[5]; - s32 i; - - for (i = 0; i < 5; i++) { - sp8[i] = 0; - fn_1_1E28(lbl_1_bss_1994.unk00, i * 3 + 1, i * 3 + 2, 0, 1); - Hu3DData[lbl_1_bss_1994.unk00->model[i * 3 + 1]].rot.y = -90.0f; - } - do { - fn_1_938(); - for (i = 0; i < 5; i++) { - if (sp8[i] == 0) { - lbl_1_bss_1A0C.unk288[i].x -= 5.0f; - if (i == 0) { - if (lbl_1_bss_1A0C.unk288[i].x <= -175.0f) { - sp8[i] = 1; - lbl_1_bss_1A0C.unk288[i].x = -175.0f; - fn_1_1E28(lbl_1_bss_1994.unk00, i * 3 + 1, i * 3 + 1, 15, 1); - } - } else { - if (lbl_1_bss_1A0C.unk288[i].x <= -240.0f) { - sp8[i] = 1; - lbl_1_bss_1A0C.unk288[i].x = -240.0f; - fn_1_1E28(lbl_1_bss_1994.unk00, i * 3 + 1, i * 3 + 1, 15, 1); - } - } - } else if (sp8[i] == 1) { - Hu3DData[lbl_1_bss_1994.unk00->model[i * 3 + 1]].rot.y = fn_1_5FC(Hu3DData[lbl_1_bss_1994.unk00->model[i * 3 + 1]].rot.y, 17.5f, 10.0f); - if (Hu3DData[lbl_1_bss_1994.unk00->model[i * 3 + 1]].rot.y >= 14.9f) { - sp8[i] = 2; - } - } - } - for (i = 0; i < 5; i++) { - if (sp8[i] != 2) { - break; - } - } - } while (i != 5); - lbl_1_bss_1A0C.unk0C = fn_1_1834(MAKE_MESSID(38, 12), 0); -} - -s32 fn_1_16924(void) { - s32 var_r31; - s32 var_r30; - - var_r31 = 0; - var_r30 = 0; - while (TRUE) { - fn_1_938(); - if (lbl_1_bss_1A0C.unk14 != -1) { - if (HuPadBtnDown[lbl_1_bss_1A0C.unk38[lbl_1_bss_1A0C.unk04].unk14] & PAD_BUTTON_A) { - HuAudFXPlay(0x1C); - break; - } else if (HuPadBtnDown[lbl_1_bss_1A0C.unk38[lbl_1_bss_1A0C.unk04].unk14] & PAD_BUTTON_MENU) { - HuAudFXPlay(1); - var_r31 = 1; - break; - } - } else if (var_r30++ >= 300) { - var_r31 = 1; - break; - } - } - if (var_r31 == 0) { - WipeColorSet(0xFF, 0xFF, 0xFF); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_CROSS, 1); - while (TRUE) { - if (WipeStatGet() == 0) { - break; - } - fn_1_938(); - } - fn_1_1A24(lbl_1_bss_1A0C.unk0C); - fn_1_1C460(); - fn_1_1CA98(); - fn_1_18558(); - fn_1_18F98(); - fn_1_1D77C(); - fn_1_1D964(); - WipeColorSet(0xFF, 0xFF, 0xFF); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_CROSS, -1); - while (TRUE) { - if (WipeStatGet() == 0) { - break; - } - fn_1_938(); - } - lbl_1_bss_1A0C.unk10 = fn_1_1834(-1, 1); - } -} - -void fn_1_16AD4(void) { - lbl_1_bss_1A0C.unk24 = 1; - fn_1_1D44(lbl_1_bss_1A0C.unk10, MAKE_MESSID(38, lbl_1_bss_1A0C.unk2C8)); - while (TRUE) { - fn_1_938(); - if (lbl_1_bss_1A0C.unk24++ > 5 && (HuPadBtnDown[lbl_1_bss_1A0C.unk38[lbl_1_bss_1A0C.unk04].unk14] & PAD_BUTTON_B)) { - HuAudFXPlay(3); - break; - } - if (HuPadStkX[lbl_1_bss_1A0C.unk38[lbl_1_bss_1A0C.unk04].unk14] >= 5 || (HuPadBtn[lbl_1_bss_1A0C.unk38[lbl_1_bss_1A0C.unk04].unk14] & PAD_BUTTON_RIGHT)) { - if (lbl_1_bss_1A0C.unk2C8 != 11) { - lbl_1_bss_1A0C.unk24 = 0; - } - lbl_1_bss_1A0C.unk2C4++; - if (lbl_1_bss_1A0C.unk2C4 >= 6) { - lbl_1_bss_1A0C.unk2C4 = 5; - } - lbl_1_bss_1A0C.unk2C8++; - if (lbl_1_bss_1A0C.unk2C8 >= 12) { - lbl_1_bss_1A0C.unk2C8 = 11; - } else { - fn_1_1CD60(); - fn_1_1D44(lbl_1_bss_1A0C.unk10, MAKE_MESSID(38, lbl_1_bss_1A0C.unk2C8)); - HuAudFXPlay(0); - fn_1_958(10); - } - } - if (HuPadStkX[lbl_1_bss_1A0C.unk38[lbl_1_bss_1A0C.unk04].unk14] <= -5 || (HuPadBtn[lbl_1_bss_1A0C.unk38[lbl_1_bss_1A0C.unk04].unk14] & PAD_BUTTON_LEFT)) { - if (lbl_1_bss_1A0C.unk2C8 != 0) { - lbl_1_bss_1A0C.unk24 = 0; - } - lbl_1_bss_1A0C.unk2C4--; - if (lbl_1_bss_1A0C.unk2C4 < 0) { - lbl_1_bss_1A0C.unk2C4 = 0; - } - lbl_1_bss_1A0C.unk2C8--; - if (lbl_1_bss_1A0C.unk2C8 < 0) { - lbl_1_bss_1A0C.unk2C8 = 0; - } else { - fn_1_1CD60(); - fn_1_1D44(lbl_1_bss_1A0C.unk10, MAKE_MESSID(38, lbl_1_bss_1A0C.unk2C8)); - HuAudFXPlay(0); - fn_1_958(10); - } - } - } - WipeColorSet(0xFF, 0xFF, 0xFF); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_CROSS, 1); - while (TRUE) { - if (WipeStatGet() == 0) { - break; - } - fn_1_938(); - } - fn_1_1A24(lbl_1_bss_1A0C.unk10); - fn_1_1CB7C(); - fn_1_1C2F4(); - fn_1_19144(); - fn_1_184E8(); - fn_1_1DA64(); - fn_1_1D63C(); - WipeColorSet(0xFF, 0xFF, 0xFF); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_CROSS, -1); - while (TRUE) { - if (WipeStatGet() == 0) { - break; - } - fn_1_938(); - } - lbl_1_bss_1A0C.unk0C = fn_1_1834(MAKE_MESSID(38, 12), 0); -} - -void fn_1_16ED4(void) { - s32 var_r30; - s32 i; - - for (i = 0; i < 5; i++) { - if (i == 0) { - lbl_1_bss_1A0C.unk288[i].x = 1800.0f; - lbl_1_bss_1A0C.unk288[i].y = 157.5f; - } else if (lbl_1_bss_1A0C.unk2CC == 1) { - if (i <= 2) { - var_r30 = 0; - } else { - var_r30 = 2; - } - lbl_1_bss_1A0C.unk288[i].x = 900.0f - 100.0f * var_r30; - lbl_1_bss_1A0C.unk288[i].y = 75.0f - 82.5f * (i - 1); - } else { - lbl_1_bss_1A0C.unk288[i].x = 900.0f - 100.0f * i; - lbl_1_bss_1A0C.unk288[i].y = 75.0f - 82.5f * (i - 1); - } - } - lbl_1_bss_1A0C.unk2C4 = 0; - lbl_1_bss_1A0C.unk2C8 = 0; - fn_1_1CB7C(); - fn_1_1C2F4(); - fn_1_19144(); - fn_1_184E8(); - fn_1_1DA64(); - fn_1_1D63C(); -} - -void fn_1_1712C(void) { - s32 temp_r3; - - Hu3DAllKill(); - HuSprClose(); - HuSprInit(); - if (SLSaveFlagGet() == 0) { - saveExecF = 0; - lbl_1_bss_18D4 = 1; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } - } - espInit(); - HuPrcVSleep(); - temp_r3 = espEntry(DATA_MAKE_NUM(DATADIR_WIN, 32), 5000, 0); - espPosSet(temp_r3, 288.0f, 240.0f); - espAttrReset(temp_r3, 4); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - fn_1_159A4(); - if (saveExecF == 1) { - GWGameStat.party_continue = 0; - } - SLCommonSet(); - if (SLSaveFlagGet() == 1) { - SLSave(); - } - saveExecF = 0; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - lbl_1_bss_18D4 = 1; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_1728C(void) { - float sp8[2]; - s32 temp_r30 = 1; - s32 var_r29; - s32 var_r31; - - Hu3DAllKill(); - HuSprClose(); - HuSprInit(); - if (SLSaveFlagGet() == 0) { - lbl_1_bss_18D4 = 1; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } - } - espInit(); - HuPrcVSleep(); - espPosSet(var_r29 = espEntry(DATA_MAKE_NUM(DATADIR_WIN, 32), 5000, 0), 288.0f, 240.0f); - espAttrReset(var_r29, HUSPR_ATTR_DISPOFF); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - if (SLSaveFlagGet() == 1) { - HuWinInit(1); - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(30, 22)); - var_r31 = HuWinExCreateStyled(-10000.0f, 150.0f, sp8[0], sp8[1], -1, 2); - winData[var_r31].active_pad = 1; - HuWinAttrSet(var_r31, 0x10); - HuWinExAnimIn(var_r31); - HuWinMesSet(var_r31, MAKE_MESSID(30, 22)); - temp_r30 = HuWinChoiceGet(var_r31, 0); - HuWinExAnimOut(var_r31); - HuWinExCleanup(var_r31); - if (SLSaveFlagGet() == 1 && temp_r30 == 0) { -#if VERSION_REV1 - GWGameStat.story_continue = 1; -#endif - SLCommonSet(); - SLSaveBoardStory(); - SLSave(); - } - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - lbl_1_bss_18D4 = 1; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -s32 fn_1_17484(s32 arg0) { - if (arg0 == 0 && _CheckFlag(FLAG_ID_MAKE(0, 2))) { - return 1; - } - if (arg0 == 1 && _CheckFlag(FLAG_ID_MAKE(0, 3))) { - return 1; - } - if (arg0 == 2 && _CheckFlag(FLAG_ID_MAKE(0, 4))) { - return 1; - } - if (arg0 == 3 && _CheckFlag(FLAG_ID_MAKE(0, 5))) { - return 1; - } - if (arg0 == 4 && _CheckFlag(FLAG_ID_MAKE(0, 6))) { - return 1; - } - if (arg0 == 5 && _CheckFlag(FLAG_ID_MAKE(0, 7))) { - return 1; - } - return 0; -} - -void fn_1_17570(void) { - s32 var_r30; - s32 i; - - var_r30 = 0; - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - do { - fn_1_938(); - } while (WipeStatGet() != 0); - CharModelKill(-1); - HuAudSeqAllFadeOut(1000); - HuAudSStreamAllFadeOut(1000); - lbl_1_bss_19E4.unk04 = NULL; - lbl_1_bss_19BC.unk04 = NULL; - lbl_1_bss_1994.unk04 = NULL; - for (i = 0; i < 4; i++) { - lbl_1_bss_18F4[i].unk04 = NULL; - } - if (GWPartyGet() == 1) { - HuPrcChildCreate(fn_1_1712C, 100, 0x2000, 0, HuPrcCurrentGet()); - do { - fn_1_938(); - } while (lbl_1_bss_18D4 != 1); - fn_1_958(30); - omOvlReturnEx(1, 1); - } else { - fn_1_159A4(); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1A0C.unk38[i].unk10 != GWStoryCharGet()) { - continue; - } - _SetFlag(9); - switch (lbl_1_bss_1A0C.unk00) { - case 0: - if (_CheckFlag(2) == 0) { - _SetFlag(2); - var_r30 = 1; - } - break; - case 1: - if (_CheckFlag(3) == 0) { - _SetFlag(3); - var_r30 = 1; - } - break; - case 2: - if (_CheckFlag(4) == 0) { - _SetFlag(4); - var_r30 = 1; - } - break; - case 3: - if (_CheckFlag(5) == 0) { - _SetFlag(5); - var_r30 = 1; - } - break; - case 4: - if (_CheckFlag(6) == 0) { - _SetFlag(6); - var_r30 = 1; - } - break; - case 5: - if (_CheckFlag(7) == 0) { - _SetFlag(7); - var_r30 = 1; - } - break; - } - if (var_r30 == 1) { - if (lbl_1_bss_1A0C.unk38[i].unk18 == 0) { - if (lbl_1_bss_1A0C.unk00 == 5) { - GWGameStat.open_w06 = 1; - } - _ClearFlag(9); - OSReport("########## Next to BoardClear Event 10 -> MapNo:%d, MapFlg:%d, MgFlg:%d\n", GWSystem.board, _CheckFlag(2), _CheckFlag(9)); - fn_1_958(120); - HuPrcChildCreate(fn_1_1728C, 100, 0x2000, 0, HuPrcCurrentGet()); - do { - fn_1_938(); - } while (lbl_1_bss_18D4 != 1); - if (lbl_1_bss_1A0C.unk00 != 5) { - omOvlGotoEx(OVL_MSTORY, 1, 0, 0); - } else { - omOvlGotoEx(OVL_MSTORY2, 1, 1, 0); - } - } else { - switch (lbl_1_bss_1A0C.unk00) { - case 0: - _ClearFlag(2); - break; - case 1: - _ClearFlag(3); - break; - case 2: - _ClearFlag(4); - break; - case 3: - _ClearFlag(5); - break; - case 4: - _ClearFlag(6); - break; - case 5: - _ClearFlag(7); - break; - } - OSReport("########## Next to BoardMiss Event 01 -> MapNo:%d, MapFlg:%d, MgFlg:%d\n", GWSystem.board, fn_1_17484(GWSystem.board), _CheckFlag(9)); - fn_1_958(120); - HuPrcChildCreate(fn_1_1728C, 100, 0x2000, 0, HuPrcCurrentGet()); - do { - fn_1_938(); - } while (lbl_1_bss_18D4 != 1); - if (lbl_1_bss_1A0C.unk00 != 5) { - omOvlGotoEx(OVL_MSTORY, 1, 1, 0); - } else { - omOvlGotoEx(OVL_MSTORY2, 1, 2, 0); - } - } - } else { - GWPlayerCfg->group = 0; - GWPlayerCfg->character = lbl_1_bss_1A0C.unk38[lbl_1_bss_1A0C.unk04].unk10; - GWPlayerCfg->pad_idx = lbl_1_bss_1A0C.unk38[lbl_1_bss_1A0C.unk04].unk14; - GWPlayerCfg->iscom = 0; - for (i = 0; i < 4; i++) { - GWPlayer[i].character = GWPlayerCfg[i].character; - GWPlayer[i].port = GWPlayerCfg[i].pad_idx; - GWPlayer[i].com = GWPlayerCfg[i].iscom; - GWPlayer[i].team = GWPlayerCfg[i].group; - } - OSReport("########## Next to MapSelect Event 11 -> MapNo:%d, MapFlg:%d, MgFlg:%d\n", GWSystem.board, fn_1_17484(GWSystem.board), _CheckFlag(9)); - fn_1_958(120); - HuPrcChildCreate(fn_1_1728C, 100, 0x2000, 0, HuPrcCurrentGet()); - do { - fn_1_938(); - } while (lbl_1_bss_18D4 != 1); - omOvlGotoEx(OVL_MENT, 1, 10, 0); - } - } - } - while (TRUE) { - fn_1_938(); - } -} - -void fn_1_17DC0(omObjData* arg0, StructBss1530* arg1) { - fn_1_16574(); - fn_1_165C8(); - while (TRUE) { - fn_1_938(); - if (fn_1_16924() != 0) { - break; - } - fn_1_16AD4(); - } - fn_1_17570(); - arg1->unk04 = 0; -} - -void fn_1_18080(void) { - omObjData* temp_r3; - - temp_r3 = omAddObjEx(lbl_1_bss_18D0, 0x100, 0x10, 0x10, -1, NULL); - lbl_1_bss_19E4.unk00 = temp_r3; - lbl_1_bss_19E4.unk04 = (void*) fn_1_17DC0; - while (TRUE) { - fn_1_938(); - if (lbl_1_bss_19E4.unk04 != NULL) { - lbl_1_bss_19E4.unk04(temp_r3, &lbl_1_bss_19E4); - } - } -} - -void fn_1_1811C(omObjData* arg0, s32 arg1) { - s32 var_r29; - s32 i; - - arg0->work[0] = HuSprGrpCreate(1); - var_r29 = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 75) + arg1, MEMORY_DEFAULT_NUM)), 1000, 0); - HuSprGrpMemberSet(arg0->work[0], 0, var_r29); - // TODO: figure out the actual args of this fn_1_15D08 call. - // It will match as long as the values (arg2 + arg4 / 2) and (arg3 + arg5 / 2) are preserved. - fn_1_15D08(arg0->work[0], 0, 288, 240, 0, 0); - HuSprGrpPosSet(arg0->work[0], 0.0f, 0.0f); - HuSprGrpDrawNoSet(arg0->work[0], 0x7F); - { - s32 spC[] = { - DATA_MAKE_NUM(DATADIR_MSTORY3, 104), - DATA_MAKE_NUM(DATADIR_MSTORY3, 105), - DATA_MAKE_NUM(DATADIR_MSTORY3, 106), - DATA_MAKE_NUM(DATADIR_MSTORY3, 107), - DATA_MAKE_NUM(DATADIR_MSTORY3, 108), - DATA_MAKE_NUM(DATADIR_MSTORY3, 109), - DATA_MAKE_NUM(DATADIR_MSTORY3, 106) - }; - - for (i = 0; i < 7; i++) { - arg0->model[i + 1] = Hu3DModelCreateFile(spC[i]); - Hu3DModelPosSet(arg0->model[i + 1], -122.5 + 42.5 * i, 185.0f, -10.0f); - Hu3DModelRotSet(arg0->model[i + 1], 0.0f, 1980.0f, 0.0f); - } - } -} - -void fn_1_18334(omObjData* arg0, s32* arg1) { - s32 sp8 = 0; - s32 i; - - for (i = 0; i < 7; i++) { - if (arg1[2] == 0 && Hu3DData[arg0->model[i + 1]].pos.x >= lbl_1_bss_1A0C.unk288[0].x) { - Hu3DData[arg0->model[i + 1]].rot.y = fn_1_5FC(Hu3DData[arg0->model[i + 1]].rot.y, 0.0f, 20.0f); - } else if (arg1[2] == 1 && Hu3DData[arg0->model[i + 1]].pos.x <= lbl_1_bss_1A0C.unk288[0].x) { - Hu3DData[arg0->model[i + 1]].rot.y = fn_1_5FC(Hu3DData[arg0->model[i + 1]].rot.y, 1980.0f, 20.0f); - } - } -} - -void fn_1_184E8(void) { - s32 i; - - for (i = 0; i < 7; i++) { - Hu3DModelAttrReset(lbl_1_bss_19BC.unk00->model[i + 1], HU3D_ATTR_DISPOFF); - } - lbl_1_bss_19BC.unk04 = (void*) fn_1_18334; -} - -void fn_1_18558(void) { - s32 i; - - for (i = 0; i < 7; i++) { - Hu3DModelAttrSet(lbl_1_bss_19BC.unk00->model[i + 1], HU3D_ATTR_DISPOFF); - } - for (i = 0; i < 7; i++) { - if (lbl_1_bss_19BC.unk08 != 0) { - Hu3DData[lbl_1_bss_19BC.unk00->model[i + 1]].rot.y = 1980.0f; - } else { - Hu3DData[lbl_1_bss_19BC.unk00->model[i + 1]].rot.y = 0.0f; - } - } - lbl_1_bss_19BC.unk04 = NULL; -} - -void fn_1_18668(omObjData* arg0, s32 arg1) { - s32 var_r30; - s32 i; - - // TODO: figure out the actual args of fn_1_15D08 calls. - // It will match as long as the values (arg2 + arg4 / 2) and (arg3 + arg5 / 2) are preserved. - arg0->work[1] = HuSprGrpCreate(8); - var_r30 = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 116), MEMORY_DEFAULT_NUM)), 900, 0); - HuSprGrpMemberSet(arg0->work[1], 0, var_r30); - fn_1_15D08(arg0->work[1], 0, 368, 171, 0, 0); - var_r30 = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 117), MEMORY_DEFAULT_NUM)), 600, 0); - HuSprGrpMemberSet(arg0->work[1], 1, var_r30); - fn_1_15D08(arg0->work[1], 1, 292, 168, 0, 0); - var_r30 = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 118), MEMORY_DEFAULT_NUM)), 500, 0); - HuSprGrpMemberSet(arg0->work[1], 2, var_r30); - fn_1_15D08(arg0->work[1], 2, 292, 168, 0, 0); - var_r30 = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 119), MEMORY_DEFAULT_NUM)), 500, 0); - HuSprGrpMemberSet(arg0->work[1], 3, var_r30); - fn_1_15D08(arg0->work[1], 3, 292, 168, 0, 0); - var_r30 = HuSprCreate(HuSprAnimRead(HuDataReadNum(arg1 + DATA_MAKE_NUM(DATADIR_MSTORY3, 110), MEMORY_DEFAULT_NUM)), 500, 0); - HuSprGrpMemberSet(arg0->work[1], 4, var_r30); - fn_1_15D08(arg0->work[1], 4, 96, 53, 0, 0); - var_r30 = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 138), MEMORY_DEFAULT_NUM)), 500, 0); - HuSprGrpMemberSet(arg0->work[1], 5, var_r30); - fn_1_15D08(arg0->work[1], 5, 407, 37, 0, 0); - for (i = 0; i < 2; i++) { - var_r30 = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 139), MEMORY_DEFAULT_NUM)), 500, 0); - HuSprGrpMemberSet(arg0->work[1], i + 6, var_r30); - } - // TODO: figure out the actual value of arg7. It will match as long as arg7 >= 2. - fn_1_15DC8(arg0->work[1], 6, lbl_1_bss_1A0C.unk08, 293, 19, 36, 36, 2); - arg0->work[2] = HuSprGrpCreate(2); - var_r30 = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 120), MEMORY_DEFAULT_NUM)), 800, 0); - HuSprGrpMemberSet(arg0->work[2], 0, var_r30); - fn_1_15D08(arg0->work[2], 0, 34, 119, 0, 0); - var_r30 = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 121), MEMORY_DEFAULT_NUM)), 400, 0); - HuSprGrpMemberSet(arg0->work[2], 1, var_r30); - fn_1_15D08(arg0->work[2], 1, 36, 121, 0, 0); - arg0->work[3] = HuSprGrpCreate(12); - for (i = 0; i < 12; i++) { - var_r30 = HuSprCreate(HuSprAnimRead(HuDataReadNum(i + DATA_MAKE_NUM(DATADIR_MSTORY3, 124), MEMORY_DEFAULT_NUM)), 700, 0); - HuSprGrpMemberSet(arg0->work[3], i, var_r30); - fn_1_15D08(arg0->work[3], i, i * 66, 16, 58, 0); - } - HuSprGrpPosSet(arg0->work[2], 164 + lbl_1_bss_1A0C.unk2C4 * 66, 78.0f); - HuSprGrpDrawNoSet(arg0->work[1], 0x7F); - HuSprGrpDrawNoSet(arg0->work[2], 0x7F); - HuSprGrpDrawNoSet(arg0->work[3], 0x7F); -} - -void fn_1_18CFC(omObjData* arg0) { - float temp_f31; - float var_f30; - s32 var_r29; - s32 var_r28; - s32 var_r30; - - var_r28 = lbl_1_bss_1A0C.unk2C8 - lbl_1_bss_1A0C.unk2C4; - if (var_r28 < 0) { - var_r28 = 0; - } - temp_f31 = HuSprGrpData[arg0->work[2]].x; - var_f30 = 164 + lbl_1_bss_1A0C.unk2C4 * 66; - temp_f31 = fn_1_5FC(temp_f31, var_f30, 2.0f); - HuSprGrpPosSet(arg0->work[1], -5.0f, 25.0f); - HuSprGrpPosSet(arg0->work[2], temp_f31, 78.0f); - HuSprGrpPosSet(arg0->work[3], 169 - var_r28 * 66, 82.0f); - for (var_r30 = 0; var_r30 < 12; var_r30++) { - if (var_r30 < var_r28 || var_r30 > var_r28 + 5) { - HuSprAttrSet(arg0->work[3], var_r30, HUSPR_ATTR_DISPOFF); - } else { - HuSprAttrReset(arg0->work[3], var_r30, HUSPR_ATTR_DISPOFF); - } - } - var_r29 = lbl_1_bss_1A0C.unk2C8 - lbl_1_bss_1A0C.unk2C4; - if (var_r29 < 0) { - var_r29 = 0; - } - if (var_r29 == 0) { - HuSprBankSet(lbl_1_bss_19BC.unk00->work[1], 2, 2); - } else if (var_r29 == 1) { - HuSprBankSet(lbl_1_bss_19BC.unk00->work[1], 2, 0); - } - if (var_r29 == 6) { - HuSprBankSet(lbl_1_bss_19BC.unk00->work[1], 3, 2); - } else if (var_r29 == 5) { - HuSprBankSet(lbl_1_bss_19BC.unk00->work[1], 3, 0); - } -} - -void fn_1_18F98(void) { - s32 var_r30; - s32 i; - - for (i = 0; i < 8; i++) { - HuSprAttrReset(lbl_1_bss_19BC.unk00->work[1], i, HUSPR_ATTR_DISPOFF); - } - for (i = 0; i < 2; i++) { - HuSprAttrReset(lbl_1_bss_19BC.unk00->work[2], i, HUSPR_ATTR_DISPOFF); - } - for (i = 0; i < 12; i++) { - HuSprAttrReset(lbl_1_bss_19BC.unk00->work[3], i, HUSPR_ATTR_DISPOFF); - } - var_r30 = lbl_1_bss_1A0C.unk2C8 - lbl_1_bss_1A0C.unk2C4; - if (var_r30 < 0) { - var_r30 = 0; - } - if (var_r30 == 0) { - HuSprBankSet(lbl_1_bss_19BC.unk00->work[1], 2, 2); - } else if (var_r30 == 1) { - HuSprBankSet(lbl_1_bss_19BC.unk00->work[1], 2, 0); - } - if (var_r30 == 6) { - HuSprBankSet(lbl_1_bss_19BC.unk00->work[1], 3, 2); - } else if (var_r30 == 5) { - HuSprBankSet(lbl_1_bss_19BC.unk00->work[1], 3, 0); - } - lbl_1_bss_19BC.unk04 = (void*) fn_1_18CFC; -} - -void fn_1_19144(void) { - s32 i; - - for (i = 0; i < 8; i++) { - HuSprAttrSet(lbl_1_bss_19BC.unk00->work[1], i, HUSPR_ATTR_DISPOFF); - } - for (i = 0; i < 2; i++) { - HuSprAttrSet(lbl_1_bss_19BC.unk00->work[2], i, HUSPR_ATTR_DISPOFF); - } - for (i = 0; i < 12; i++) { - HuSprAttrSet(lbl_1_bss_19BC.unk00->work[3], i, HUSPR_ATTR_DISPOFF); - } - lbl_1_bss_19BC.unk04 = NULL; -} - -void fn_1_19214(void) { - omObjData* temp_r3; - - temp_r3 = omAddObjEx(lbl_1_bss_18D0, 0x100, 0x10, 0x10, -1, NULL); - lbl_1_bss_19BC.unk00 = temp_r3; - lbl_1_bss_19BC.unk04 = NULL; - fn_1_1811C(temp_r3, lbl_1_bss_1A0C.unk00); - fn_1_18668(temp_r3, lbl_1_bss_1A0C.unk00); - while (TRUE) { - fn_1_938(); - if (lbl_1_bss_19BC.unk04 != NULL) { - lbl_1_bss_19BC.unk04(temp_r3, &lbl_1_bss_19BC); - } - } -} - -void fn_1_194A0(void) { - s32 var_r29; - s32 i; - s32 j; - - for (i = 0; i < 12; i++) { - var_r29 = 0; - for (j = 0; j < 4; j++) { - if (var_r29 <= lbl_1_bss_1A0C.unk38[j].unk34[i][0]) { - var_r29 = lbl_1_bss_1A0C.unk38[j].unk34[i][0]; - } - } - if (var_r29 > 0) { - for (j = 0; j < 4; j++) { - if (var_r29 == lbl_1_bss_1A0C.unk38[j].unk34[i][0]) { - lbl_1_bss_1A0C.unk38[j].unk34[i][1] = 1; - } - } - } - } -} - -void fn_1_19590(StructUnk38Bss1A0C* arg0, s32 arg1, s32 arg2) { - arg0->unk00 = arg1; - arg0->unk04 = GWPlayerCfg[arg0->unk00].group; - arg0->unk08 = GWPlayerCfg[arg0->unk00].iscom; - arg0->unk0C = GWPlayerCfg[arg0->unk00].diff; - arg0->unk10 = GWPlayerCfg[arg0->unk00].character; - arg0->unk14 = GWPlayerCfg[arg0->unk00].pad_idx; - arg0->unk18 = GWPlayer[arg0->unk00].rank; - arg0->unk34[0][0] = GWPlayer[arg0->unk00].stars; - arg0->unk34[1][0] = GWPlayer[arg0->unk00].coins; - arg0->unk34[2][0] = GWPlayer[arg0->unk00].coins_mg; - arg0->unk34[3][0] = GWPlayer[arg0->unk00].coins_max; - arg0->unk54 = GWPlayer[arg0->unk00].blue_count; - arg0->unk5C = GWPlayer[arg0->unk00].red_count; - arg0->unk64 = GWPlayer[arg0->unk00].question_count; - arg0->unk6C = GWPlayer[arg0->unk00].fortune_count; - arg0->unk74 = GWPlayer[arg0->unk00].bowser_count; - arg0->unk7C = GWPlayer[arg0->unk00].battle_count; - arg0->unk84 = GWPlayer[arg0->unk00].mushroom_count; - arg0->unk8C = GWPlayer[arg0->unk00].warp_count; -} - -void fn_1_197B4(s32 arg0) { - s32 sp74[4][2]; - s32 sp54[4][2]; - s32 sp44[4]; - s32 sp34[4]; - s32 sp24[4]; - s32 var_r28; - s32 var_r29; - s32 j; - s32 i; - - var_r28 = 0; - sp44[0] = 0; - for (i = 1; i < 4; i++) { - sp44[i] = sp44[i - 1] + 1; - if (sp44[i] >= 4) { - sp44[i] = 0; - } - } - for (i = 0; i < 4; i++) { - sp34[i] = GWPlayer[sp44[i]].rank; - } - for (i = 0; i < 4; i++) { - for (j = 0; j < 4; j++) { - if (i == sp34[j]) { - sp74[var_r28][0] = sp44[j]; - sp74[var_r28][1] = sp34[j]; - var_r28++; - } - } - } - if (lbl_1_bss_1A0C.unk2CC == 1) { - var_r29 = lbl_1_bss_1A0C.unk2D0; - for (i = 0; i < 4; i++) { - sp24[0] = GWPlayer[sp74[0][0]].team; - sp24[1] = GWPlayer[sp74[1][0]].team; - sp24[2] = GWPlayer[sp74[2][0]].team; - sp24[3] = GWPlayer[sp74[3][0]].team; - sp54[i][0] = sp74[i][0]; - sp54[i][1] = sp74[i][1]; - } - OSReport("########## Sort Start WIN:%d IDX (%d,%d,%d), (%d,%d,%d), (%d,%d,%d), (%d,%d,%d)\n", var_r29, - sp24[0], sp74[0][0], sp74[0][1], sp24[1], sp74[1][0], sp74[1][1], - sp24[2], sp74[2][0], sp74[2][1], sp24[3], sp74[3][0], sp74[3][1]); - for (i = 0; i < 4; i++) { - for (j = 0; j < 4; j++) { - if (sp24[j] != -1 && var_r29 == sp24[j]) { - sp24[j] = -1; - sp74[i][0] = sp54[j][0]; - sp74[i][1] = sp54[j][1]; - break; - } - } - if (i == 1) { - var_r29++; - var_r29 %= 2; - } - } - OSReport("########## Sort End WIN:%d IDX %d, %d, %d, %d\n", var_r29, sp74[0][0], sp74[1][0], sp74[2][0], sp74[3][0]); - OSReport("########## Sort End RANK %d, %d, %d, %d,\n", sp74[0][1], sp74[1][1], sp74[2][1], sp74[3][1]); - } - for (i = 0; i < 4; i++) { - fn_1_19590(&lbl_1_bss_1A0C.unk38[i], sp74[i][0], sp74[i][1]); - if (arg0 == sp74[i][0]) { - lbl_1_bss_1A0C.unk04 = i; - } - } -} - -void fn_1_1A008(omObjData* arg0, s32 arg1) { - s32 spDC; - s32 spD8; - s32 spD4; - s32 spD0; - s32 spCC; - s32 spC8; - StructUnk38Bss1A0C* temp_r27; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - // TODO: figure out the actual args of fn_1_15D08 calls. - // It will match as long as the values (arg2 + arg4 / 2) and (arg3 + arg5 / 2) are preserved. - temp_r27 = &lbl_1_bss_1A0C.unk38[arg1]; - if (lbl_1_bss_1A0C.unk2CC == 1) { - spD4 = lbl_1_bss_1A0C.unk2D0; - if (arg1 > 1) { - spD4++; - spD4 %= 2; - } - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 140) + spD4); - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 142) + spD4); - arg0->motion[2] = Hu3DMotionIDGet(arg0->model[2]); - if (arg1 <= 1) { - spD4 = 0; - } else { - spD4 = 1; - } - arg0->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 100) + spD4); - Hu3DModelHookSet(arg0->model[1], "results_flag04-hook_cubes", arg0->model[3]); - } else { - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 98)); - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 99)); - arg0->motion[2] = Hu3DMotionIDGet(arg0->model[2]); - arg0->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 100) + temp_r27->unk18); - Hu3DModelHookSet(arg0->model[1], "results_flag04-hook_cubes", arg0->model[3]); - } - arg0->work[0] = HuSprGrpCreate(12); - if (lbl_1_bss_1A0C.unk2CC == 1) { - spD0 = 35; - spCC = 10; - spC8 = 65; - if (arg1 <= 1) { - var_r30 = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 81), MEMORY_DEFAULT_NUM)), 900, 0); - } else { - var_r30 = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 82), MEMORY_DEFAULT_NUM)), 900, 0); - } - HuSprGrpMemberSet(arg0->work[0], 0, var_r30); - fn_1_15D08(arg0->work[0], 0, 40, spD0 + 36, 0, 0); - var_r30 = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 85) + temp_r27->unk10, MEMORY_DEFAULT_NUM)), 900, 0); - HuSprGrpMemberSet(arg0->work[0], 1, var_r30); - if (arg1 % 2 == 0) { - fn_1_15D08(arg0->work[0], 1, 119, spD0 + 34, 0, 0); - } else { - fn_1_15D08(arg0->work[0], 1, 189, -spD0 + 24, 0, 0); - } - var_r30 = HuSprCreate(lbl_1_bss_18D8[0], 900, 0); - HuSprGrpMemberSet(arg0->work[0], 2, var_r30); - fn_1_15D08(arg0->work[0], 2, 262, spCC + 29, 0, 0); - var_r30 = HuSprCreate(lbl_1_bss_18D8[2], 900, 0); - HuSprGrpMemberSet(arg0->work[0], 3, var_r30); - fn_1_15D08(arg0->work[0], 3, 312, spCC + 29, 0, 0); - for (var_r28 = 0; var_r28 < 3; var_r28++) { - spDC = lbl_1_bss_1A0C.unk38[0].unk34[0][0] + lbl_1_bss_1A0C.unk38[1].unk34[0][0]; - spD8 = lbl_1_bss_1A0C.unk38[2].unk34[0][0] + lbl_1_bss_1A0C.unk38[3].unk34[0][0]; - if (arg1 <= 1) { - if (spDC >= spD8) { - var_r30 = HuSprCreate(lbl_1_bss_18EC[1], 900, 0); - } else { - var_r30 = HuSprCreate(lbl_1_bss_18EC[0], 900, 0); - } - } else { - if (spDC <= spD8) { - var_r30 = HuSprCreate(lbl_1_bss_18EC[1], 900, 0); - } else { - var_r30 = HuSprCreate(lbl_1_bss_18EC[0], 900, 0); - } - } - HuSprGrpMemberSet(arg0->work[0], var_r28 + 4, var_r30); - } - if (arg1 <= 1) { - var_r29 = lbl_1_bss_1A0C.unk38[0].unk34[0][0] + lbl_1_bss_1A0C.unk38[1].unk34[0][0]; - if (var_r29 >= 999) { - var_r29 = 999; - } - fn_1_15DC8(arg0->work[0], 4, var_r29, 340, spCC + 11, 26, 36, 0); - } else { - var_r29 = lbl_1_bss_1A0C.unk38[2].unk34[0][0] + lbl_1_bss_1A0C.unk38[3].unk34[0][0]; - if (var_r29 >= 999) { - var_r29 = 999; - } - fn_1_15DC8(arg0->work[0], 4, var_r29, 340, spCC + 11, 26, 36, 0); - } - var_r30 = HuSprCreate(lbl_1_bss_18D8[1], 900, 0); - HuSprGrpMemberSet(arg0->work[0], 7, var_r30); - fn_1_15D08(arg0->work[0], 7, 262, spC8 + 29, 0, 0); - var_r30 = HuSprCreate(lbl_1_bss_18D8[2], 900, 0); - HuSprGrpMemberSet(arg0->work[0], 8, var_r30); - fn_1_15D08(arg0->work[0], 8, 312, spC8 + 29, 0, 0); - for (var_r28 = 0; var_r28 < 3; var_r28++) { - spDC = lbl_1_bss_1A0C.unk38[0].unk34[1][0] + lbl_1_bss_1A0C.unk38[1].unk34[1][0]; - spD8 = lbl_1_bss_1A0C.unk38[2].unk34[1][0] + lbl_1_bss_1A0C.unk38[3].unk34[1][0]; - if (arg1 <= 1) { - if (spDC >= spD8) { - var_r30 = HuSprCreate(lbl_1_bss_18EC[1], 900, 0); - } else { - var_r30 = HuSprCreate(lbl_1_bss_18EC[0], 900, 0); - } - } else { - if (spDC <= spD8) { - var_r30 = HuSprCreate(lbl_1_bss_18EC[1], 900, 0); - } else { - var_r30 = HuSprCreate(lbl_1_bss_18EC[0], 900, 0); - } - } - HuSprGrpMemberSet(arg0->work[0], var_r28 + 9, var_r30); - } - if (arg1 <= 1) { - var_r29 = lbl_1_bss_1A0C.unk38[0].unk34[1][0] + lbl_1_bss_1A0C.unk38[1].unk34[1][0]; - if (var_r29 >= 999) { - var_r29 = 999; - } - fn_1_15DC8(arg0->work[0], 9, var_r29, 340, spC8 + 11, 26, 36, 0); - } else { - var_r29 = lbl_1_bss_1A0C.unk38[2].unk34[1][0] + lbl_1_bss_1A0C.unk38[3].unk34[1][0]; - if (var_r29 >= 999) { - var_r29 = 999; - } - fn_1_15DC8(arg0->work[0], 9, var_r29, 340, spC8 + 11, 26, 36, 0); - } - } else { - var_r30 = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 81) + temp_r27->unk18, MEMORY_DEFAULT_NUM)), 900, 0); - HuSprGrpMemberSet(arg0->work[0], 0, var_r30); - fn_1_15D08(arg0->work[0], 0, 25, 37, 0, 0); - var_r30 = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 85) + temp_r27->unk10, MEMORY_DEFAULT_NUM)), 900, 0); - HuSprGrpMemberSet(arg0->work[0], 1, var_r30); - fn_1_15D08(arg0->work[0], 1, 87, 29, 0, 0); - var_r30 = HuSprCreate(lbl_1_bss_18D8[0], 900, 0); - HuSprGrpMemberSet(arg0->work[0], 2, var_r30); - fn_1_15D08(arg0->work[0], 2, 144, 29, 0, 0); - var_r30 = HuSprCreate(lbl_1_bss_18D8[2], 900, 0); - HuSprGrpMemberSet(arg0->work[0], 3, var_r30); - fn_1_15D08(arg0->work[0], 3, 178, 29, 0, 0); - for (var_r28 = 0; var_r28 < 3; var_r28++) { - var_r30 = HuSprCreate(lbl_1_bss_18EC[temp_r27->unk34[0][1]], 900, 0); - HuSprGrpMemberSet(arg0->work[0], (var_r28 + 4), var_r30); - } - fn_1_15DC8(arg0->work[0], 4, temp_r27->unk34[0][0], 190, 11, 26, 36, 0); - var_r30 = HuSprCreate(lbl_1_bss_18D8[1], 900, 0); - HuSprGrpMemberSet(arg0->work[0], 7, var_r30); - fn_1_15D08(arg0->work[0], 7, 304, 29, 0, 0); - var_r30 = HuSprCreate(lbl_1_bss_18D8[2], 900, 0); - HuSprGrpMemberSet(arg0->work[0], 8, var_r30); - fn_1_15D08(arg0->work[0], 8, 338, 29, 0, 0); - for (var_r28 = 0; var_r28 < 3; var_r28++) { - var_r30 = HuSprCreate(lbl_1_bss_18EC[temp_r27->unk34[1][1]], 900, 0); - HuSprGrpMemberSet(arg0->work[0], var_r28 + 9, var_r30); - } - fn_1_15DC8(arg0->work[0], 9, temp_r27->unk34[1][0], 350, 11, 26, 36, 0); - } - lbl_1_bss_18F4[var_r28].unk14 = 1000 + rand8() * 5; -} - -void fn_1_1BEFC(omObjData* arg0, StructBss1530* arg1) { - Mtx sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - s32 var_r29; - - if (lbl_1_bss_1A0C.unk2CC == 1) { - if (arg1->unk08 % 2 == 1) { - Hu3DModelAttrSet(arg0->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[3], HU3D_ATTR_DISPOFF); - for (var_r29 = 0; var_r29 < 12; var_r29++) { - HuSprAttrSet(arg0->work[0], var_r29, 4); - } - } - HuSprAttrReset(arg0->work[0], 1, HUSPR_ATTR_DISPOFF); - Hu3DModelPosSet(arg0->model[1], lbl_1_bss_1A0C.unk288[arg1->unk08 + 1].x + 15.0f, lbl_1_bss_1A0C.unk288[arg1->unk08 + 1].y + 25.0f - 35.0f, lbl_1_bss_1A0C.unk288[arg1->unk08 + 1].z); - } else { - Hu3DModelPosSet(arg0->model[1], lbl_1_bss_1A0C.unk288[arg1->unk08 + 1].x + 15.0f, lbl_1_bss_1A0C.unk288[arg1->unk08 + 1].y + 25.0f, lbl_1_bss_1A0C.unk288[arg1->unk08 + 1].z); - } - if (Hu3DData[arg0->model[1]].pos.x <= -195.0f) { - Hu3DData[arg0->model[1]].pos.x = -195.0f; - } - Hu3DModelObjMtxGet(arg0->model[1], "results_flag04-hook_flag", sp2C); - Hu3DModelPosSet(arg0->model[2], sp2C[0][3], sp2C[1][3], sp2C[2][3]); - if (arg1->unk0C++ >= arg1->unk14) { - arg1->unk0C = 0; - arg1->unk14 = rand8() * 5 + 1000; - fn_1_1E28(arg0, 2, 2, 0, 0); - } - Hu3DModelRotSet(arg0->model[3], 0.0f, arg1->unk10 += 3, 0.0f); - if (arg1->unk10 >= 360) { - arg1->unk10 -= 360; - } - sp8.x = Hu3DData[arg0->model[1]].pos.x; - sp8.y = lbl_1_bss_1A0C.unk288[arg1->unk08 + 1].y + 25.0f; - sp8.z = Hu3DData[arg0->model[1]].pos.z; - sp20.x = sp8.x + 24.0f; - sp20.y = sp8.y + 40.0f; - sp20.z = sp8.z; - Hu3D3Dto2D(&sp20, 1, &sp14); - HuSprGrpPosSet(arg0->work[0], sp14.x, sp14.y); -} - -void fn_1_1C2F4(void) { - s32 var_r30; - s32 var_r31; - - for (var_r30 = 0; var_r30 < 4; var_r30++) { - for (var_r31 = 0; var_r31 < 3; var_r31++) { - Hu3DModelAttrReset(lbl_1_bss_18F4[var_r30].unk00->model[var_r31 + 1], HU3D_ATTR_DISPOFF); - } - if (lbl_1_bss_1A0C.unk2CC == 1) { - if (var_r30 % 2 == 0) { - for (var_r31 = 0; var_r31 < 12; var_r31++) { - HuSprAttrReset(lbl_1_bss_18F4[var_r30].unk00->work[0], var_r31, HUSPR_ATTR_DISPOFF); - } - } - HuSprAttrReset(lbl_1_bss_18F4[var_r30].unk00->work[0], 1, HUSPR_ATTR_DISPOFF); - } else { - for (var_r31 = 0; var_r31 < 12; var_r31++) { - HuSprAttrReset(lbl_1_bss_18F4[var_r30].unk00->work[0], var_r31, HUSPR_ATTR_DISPOFF); - } - } - lbl_1_bss_18F4[var_r30].unk04 = (void*) fn_1_1BEFC; - } -} - -void fn_1_1C460(void) { - s32 var_r30; - s32 var_r31; - - for (var_r30 = 0; var_r30 < 4; var_r30++) { - for (var_r31 = 0; var_r31 < 3; var_r31++) { - Hu3DModelAttrSet(lbl_1_bss_18F4[var_r30].unk00->model[var_r31 + 1], HU3D_ATTR_DISPOFF); - } - for (var_r31 = 0; var_r31 < 12; var_r31++) { - HuSprAttrSet(lbl_1_bss_18F4[var_r30].unk00->work[0], var_r31, HUSPR_ATTR_DISPOFF); - } - lbl_1_bss_18F4[var_r30].unk04 = NULL; - } -} - -void fn_1_1C534(omObjData* arg0, s32 arg1) { - StructUnk38Bss1A0C* temp_r25; - s32 var_r22; - s32 i; - s32 j; - - temp_r25 = &lbl_1_bss_1A0C.unk38[arg1]; - arg0->work[1] = HuSprGrpCreate(1); - var_r22 = HuSprCreate(HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY3, 122), MEMORY_DEFAULT_NUM)), 700, 0); - HuSprGrpMemberSet(arg0->work[1], 0, var_r22); - HuSprBankSet(arg0->work[1], 0, temp_r25->unk10); - // TODO: figure out the actual args of this fn_1_15D08 call. - // It will match as long as the values (arg2 + arg4 / 2) and (arg3 + arg5 / 2) are preserved. - fn_1_15D08(arg0->work[1], 0, 66, 21, 0, 0); - arg0->work[2] = HuSprGrpCreate(0x24); - for (i = 0; i < 12; i++) { - for (j = 0; j < 3; j++) { - var_r22 = HuSprCreate(lbl_1_bss_18E4[temp_r25->unk34[i][1]], 700, 0); - HuSprGrpMemberSet(arg0->work[2], j + i * 3, var_r22); - } - fn_1_15DC8(arg0->work[2], i * 3, temp_r25->unk34[i][0], i * 66, 0, 20, 32, 1); - } - HuSprGrpDrawNoSet(arg0->work[1], 0x7F); - HuSprGrpDrawNoSet(arg0->work[2], 0x7F); -} - -void fn_1_1C914(omObjData* arg0, StructBss1530* arg1) { - s32 i; - s32 j; - s32 var_r28; - - var_r28 = lbl_1_bss_1A0C.unk2C8 - lbl_1_bss_1A0C.unk2C4; - if (var_r28 < 0) { - var_r28 = 0; - } - HuSprGrpPosSet(arg0->work[1], 17.0f, arg1->unk08 * 48 + 118); - HuSprGrpPosSet(arg0->work[2], 169 - var_r28 * 66, arg1->unk08 * 48 + 123); - for (i = 0; i < 12; i++) { - for (j = 0; j < 3; j++) { - if (i < var_r28 || i > var_r28 + 5) { - HuSprAttrSet(arg0->work[2], j + i * 3, HUSPR_ATTR_DISPOFF); - } else { - HuSprAttrReset(arg0->work[2], j + i * 3, HUSPR_ATTR_DISPOFF); - } - } - } -} - -void fn_1_1CA98(void) { - s32 i, j, k; - - for (i = 0; i < 4; i++) { - HuSprAttrReset(lbl_1_bss_18F4[i].unk00->work[1], 0, HUSPR_ATTR_DISPOFF); - for (j = 0; j < 12; j++) { - for (k = 0; k < 3; k++) { - HuSprAttrReset(lbl_1_bss_18F4[i].unk00->work[2], k + j * 3, HUSPR_ATTR_DISPOFF); - } - } - lbl_1_bss_18F4[i].unk04 = (void*) fn_1_1C914; - } -} - -void fn_1_1CB7C(void) { - s32 i, j, k; - - for (i = 0; i < 4; i++) { - HuSprAttrSet(lbl_1_bss_18F4[i].unk00->work[1], 0, HUSPR_ATTR_DISPOFF); - for (j = 0; j < 12; j++) { - for (k = 0; k < 3; k++) { - HuSprAttrSet(lbl_1_bss_18F4[i].unk00->work[2], k + j * 3, HUSPR_ATTR_DISPOFF); - } - } - lbl_1_bss_18F4[i].unk04 = NULL; - } -} - -void fn_1_1CC5C(void) { - omObjData* temp_r3; - s32 temp_r31; - - temp_r31 = lbl_1_bss_1A0C.unk18++; - temp_r3 = omAddObjEx(lbl_1_bss_18D0, 0x100, 0x10, 0x10, -1, NULL); - lbl_1_bss_18F4[temp_r31].unk00 = temp_r3; - lbl_1_bss_18F4[temp_r31].unk04 = NULL; - lbl_1_bss_18F4[temp_r31].unk08 = temp_r31; - fn_1_1A008(temp_r3, temp_r31); - fn_1_1C534(temp_r3, temp_r31); - while (TRUE) { - fn_1_938(); - if (lbl_1_bss_18F4[temp_r31].unk04 != NULL) { - lbl_1_bss_18F4[temp_r31].unk04(temp_r3, &lbl_1_bss_18F4[temp_r31]); - } - } -} - -void fn_1_1CD60(void) { - if (lbl_1_bss_1994.unk00->work[0] != 1) { - fn_1_1E28(lbl_1_bss_1994.unk00, 4, 6, 15, 0); - lbl_1_bss_1994.unk00->work[0] = 1; - lbl_1_bss_1994.unk00->work[1] = 4; - lbl_1_bss_1994.unk00->work[2] = 16; - } -} - -void fn_1_1CDF0(omObjData* arg0) { - s32 sp20[] = { - DATA_MAKE_NUM(DATADIR_MSTORY3, 46), - DATA_MAKE_NUM(DATADIR_MSTORY3, 40), - DATA_MAKE_NUM(DATADIR_MSTORY3, 52), - DATA_MAKE_NUM(DATADIR_MSTORY3, 58), - DATA_MAKE_NUM(DATADIR_MSTORY3, 64) - }; - s32 sp34[][3] = { - { DATA_MAKE_NUM(DATADIR_MSTORY3, 47), DATA_MAKE_NUM(DATADIR_MSTORY3, 48), DATA_MAKE_NUM(DATADIR_MSTORY3, 49) }, - { DATA_MAKE_NUM(DATADIR_MSTORY3, 41), DATA_MAKE_NUM(DATADIR_MSTORY3, 42), DATA_MAKE_NUM(DATADIR_MSTORY3, 43) }, - { DATA_MAKE_NUM(DATADIR_MSTORY3, 53), DATA_MAKE_NUM(DATADIR_MSTORY3, 54), DATA_MAKE_NUM(DATADIR_MSTORY3, 55) }, - { DATA_MAKE_NUM(DATADIR_MSTORY3, 59), DATA_MAKE_NUM(DATADIR_MSTORY3, 60), DATA_MAKE_NUM(DATADIR_MSTORY3, 61) }, - { DATA_MAKE_NUM(DATADIR_MSTORY3, 65), DATA_MAKE_NUM(DATADIR_MSTORY3, 66), DATA_MAKE_NUM(DATADIR_MSTORY3, 67) } - }; - s32 i; - - for (i = 0; i < 5; i++) { - arg0->model[i * 3 + 1] = Hu3DModelCreateFile(sp20[i]); - arg0->motion[i * 3 + 1] = Hu3DJointMotionFile(arg0->model[i * 3 + 1], sp34[i][0]); - arg0->motion[i * 3 + 2] = Hu3DJointMotionFile(arg0->model[i * 3 + 1], sp34[i][1]); - arg0->motion[i * 3 + 3] = Hu3DJointMotionFile(arg0->model[i * 3 + 1], sp34[i][2]); - Hu3DModelRotSet(arg0->model[i * 3 + 1], 17.5f, 0.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[i * 3 + 1], 0.575f, 0.575f, 0.575f); - fn_1_1E28(arg0, i * 3 + 1, i * 3 + 1, 0, 1); - { - s32 sp8[] = { 9, 14, 10, 11, 12, 13 }; - - if (i != 3) { - CharModelEffectNpcInit(arg0->model[i * 3 + 1], arg0->motion[i * 3 + 2], 1, sp8[i]); - CharModelEffectEnableSet(sp8[i], 0); - } - } - } -} - -void fn_1_1D124(omObjData* arg0, StructBss1530* arg1) { - s32 i; - - for (i = 0; i < 5; i++) { - Hu3DModelPosSet(arg0->model[i * 3 + 1], lbl_1_bss_1A0C.unk288[i].x, lbl_1_bss_1A0C.unk288[i].y, lbl_1_bss_1A0C.unk288[i].z); - if (i == 3) { - Hu3DData[arg0->model[i * 3 + 1]].pos.y += 20.0f; - } - } - if (arg1->unk08++ >= 3000) { - arg1->unk08 = 0; - arg1->unk0C = 1; - lbl_1_bss_19BC.unk08++; - lbl_1_bss_19BC.unk08 %= 2; - fn_1_1E28(lbl_1_bss_1994.unk00, 1, 2, 15, 1); - } - if (arg1->unk0C == 1) { - lbl_1_bss_1A0C.unk288[0].x += -5.0f + 10.0f * lbl_1_bss_19BC.unk08; - if (lbl_1_bss_19BC.unk08 != 0) { - Hu3DData[lbl_1_bss_1994.unk00->model[1]].rot.y = fn_1_5FC(Hu3DData[lbl_1_bss_1994.unk00->model[1]].rot.y, 90.0f, 5.0f); - if (lbl_1_bss_1A0C.unk288[0].x >= 185.0f) { - arg1->unk0C = 2; - lbl_1_bss_1A0C.unk288[0].x = 185.0f; - fn_1_1E28(lbl_1_bss_1994.unk00, 1, 1, 15, 1); - } - } else { - Hu3DData[lbl_1_bss_1994.unk00->model[1]].rot.y = fn_1_5FC(Hu3DData[lbl_1_bss_1994.unk00->model[1]].rot.y, -90.0f, 5.0f); - if (lbl_1_bss_1A0C.unk288[0].x <= -175.0f) { - arg1->unk0C = 2; - lbl_1_bss_1A0C.unk288[0].x = -175.0f; - fn_1_1E28(lbl_1_bss_1994.unk00, 1, 1, 15, 1); - } - } - } else if (arg1->unk0C == 2) { - if (lbl_1_bss_19BC.unk08 != 0) { - Hu3DData[lbl_1_bss_1994.unk00->model[1]].rot.y = fn_1_5FC(Hu3DData[lbl_1_bss_1994.unk00->model[1]].rot.y, -15.0f, 15.0f); - if (Hu3DData[lbl_1_bss_1994.unk00->model[1]].rot.y <= -14.9f) { - arg1->unk0C = 0; - } - } else { - Hu3DData[lbl_1_bss_1994.unk00->model[1]].rot.y = fn_1_5FC(Hu3DData[lbl_1_bss_1994.unk00->model[1]].rot.y, 15.0f, 15.0f); - if (Hu3DData[lbl_1_bss_1994.unk00->model[1]].rot.y >= 14.9f) { - arg1->unk0C = 0; - } - } - } -} - -void fn_1_1D63C(void) { - s32 i; - - for (i = 0; i < 5; i++) { - Hu3DModelAttrReset(lbl_1_bss_1994.unk00->model[(i * 3) + 1], HU3D_ATTR_DISPOFF); - } - Hu3DModelRotSet(lbl_1_bss_1994.unk00->model[4], 17.5f, 15.0f, 0.0f); - Hu3DModelScaleSet(lbl_1_bss_1994.unk00->model[4], 0.575f, 0.575f, 0.575f); - fn_1_1E28(lbl_1_bss_1994.unk00, 4, 4, 0, 1); - lbl_1_bss_1994.unk00->work[0] = lbl_1_bss_1994.unk00->work[1] = lbl_1_bss_1994.unk00->work[2] = 0; - lbl_1_bss_1994.unk04 = (void*) fn_1_1D124; -} - -void fn_1_1D77C(void) { - s32 i; - - for (i = 0; i < 5; i++) { - Hu3DModelAttrSet(lbl_1_bss_1994.unk00->model[i * 3 + 1], HU3D_ATTR_DISPOFF); - } - fn_1_1E28(lbl_1_bss_1994.unk00, 1, 1, 0, 1); - if (lbl_1_bss_19BC.unk08 != 0) { - lbl_1_bss_1A0C.unk288[0].x = 185.0f; - Hu3DData[lbl_1_bss_1994.unk00->model[1]].rot.y = -15.0f; - } else { - lbl_1_bss_1A0C.unk288[0].x = -175.0f; - Hu3DData[lbl_1_bss_1994.unk00->model[1]].rot.y = 15.0f; - } - lbl_1_bss_1994.unk0C = 0; - lbl_1_bss_1994.unk04 = NULL; -} - -void fn_1_1D8CC(omObjData* arg0, StructBss1530* arg1) { - if (arg0->work[0] != 0) { - if (arg0->work[2] != 0) { - arg0->work[2]--; - return; - } - if (arg0->work[2] == 0 && Hu3DMotionEndCheck(arg0->model[4])) { - fn_1_1E28(arg0, 4, arg0->work[1], 15, 1); - arg0->work[0] = arg0->work[1] = arg0->work[2] = 0; - } - } -} - -void fn_1_1D964(void) { - Hu3DModelAttrReset(lbl_1_bss_1994.unk00->model[4], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(lbl_1_bss_1994.unk00->model[4], -185.0f, -225.0f, 0.0f); - Hu3DModelRotSet(lbl_1_bss_1994.unk00->model[4], 0.0f, 15.0f, 0.0f); - Hu3DModelScaleSet(lbl_1_bss_1994.unk00->model[4], 1.0f, 1.0f, 1.0f); - lbl_1_bss_1994.unk04 = (void*) fn_1_1D8CC; -} - -void fn_1_1DA64(void) { - Hu3DModelAttrSet(lbl_1_bss_1994.unk00->model[4], HU3D_ATTR_DISPOFF); - lbl_1_bss_1994.unk04 = NULL; -} - -void fn_1_1DAAC(void) { - omObjData* temp_r3; - - temp_r3 = omAddObjEx(lbl_1_bss_18D0, 0x100, 0x10, 0x10, -1, NULL); - lbl_1_bss_1994.unk00 = temp_r3; - lbl_1_bss_1994.unk04 = NULL; - fn_1_1CDF0(temp_r3); - while (TRUE) { - fn_1_938(); - if (lbl_1_bss_1994.unk04 != NULL) { - lbl_1_bss_1994.unk04(temp_r3, &lbl_1_bss_1994); - } - } -} - -void fn_1_1DE4C(void) { - StructBss4* var_r31; - - var_r31 = &lbl_1_bss_4; - var_r31->unk08.x = 0.0f; - var_r31->unk08.y = 0.0f; - var_r31->unk08.z = 0.0f; - var_r31->unk20.x = 0.0f; - var_r31->unk20.y = 0.0f; - var_r31->unk20.z = 0.0f; - var_r31->unk38 = 650.0f; -} diff --git a/src/REL/mstory3Dll/result_seq.c b/src/REL/mstory3Dll/result_seq.c deleted file mode 100755 index b4aa06c9..00000000 --- a/src/REL/mstory3Dll/result_seq.c +++ /dev/null @@ -1,2928 +0,0 @@ -#include "REL/mstory3Dll.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/esprite.h" -#include "game/flag.h" -#include "game/gamework.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" -#include "msm/msmse.h" - -#include "ext_math.h" - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ char unk08[0xC]; -} StructUnk24Bss1580; // Size 0x14 - -typedef struct { - /* 0x00 */ StructFn352C unk00; - /* 0x34 */ char unk34[0x60]; -} StructUnkC4Bss1580; // Size 0x94 - -typedef struct { - /* 0x000 */ s32 unk00; - /* 0x004 */ s32 unk04; - /* 0x008 */ s32 unk08; - /* 0x00C */ s32 unk0C; - /* 0x010 */ s32 unk10; - /* 0x014 */ s32 unk14; - /* 0x018 */ s32 unk18; - /* 0x01C */ s32 unk1C; - /* 0x020 */ s32 unk20; - /* 0x024 */ StructUnk24Bss1580 unk24[4]; - /* 0x074 */ char unk74[0x50]; - /* 0x0C4 */ StructUnkC4Bss1580 unkC4[4]; - /* 0x314 */ s32 unk314; - /* 0x318 */ char unk318[0xC]; - /* 0x324 */ s32 unk324; - /* 0x328 */ char unk328[0xC]; - /* 0x334 */ s32 unk334[1]; // array length unknown - /* 0x338 */ char unk338[0xC]; - /* 0x344 */ s32 unk344; - /* 0x348 */ s32 unk348; - /* 0x34C */ char unk34C[4]; -} StructBss1580; // Size 0x350 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ char unk0C[4]; - /* 0x10 */ float unk10; - /* 0x14 */ float unk14; - /* 0x18 */ float unk18; - /* 0x1C */ char unk1C[4]; - /* 0x20 */ float unk20; - /* 0x24 */ float unk24; - /* 0x28 */ float unk28; - /* 0x2C */ float unk2C; - /* 0x30 */ float unk30; - /* 0x34 */ float unk34; -} StructBssC8; // Size 0x38 - -void fn_1_7E88(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_82E0(void); -s32 fn_1_B670(void); -void fn_1_D48C(void); -void fn_1_D718(omObjData* arg0); -void fn_1_D7D8(omObjData* arg0); -void fn_1_FE80(void); -void fn_1_FF7C(s32 arg0); -void fn_1_1036C(omObjData* arg0); -void fn_1_10D74(omObjData* arg0); -void fn_1_11794(omObjData* arg0); -void fn_1_11834(omObjData* arg0); -void fn_1_123D8(omObjData* arg0); -void fn_1_1241C(omObjData* arg0); -void fn_1_12420(omObjData* arg0); -void fn_1_12A98(s32 arg0); -void fn_1_12C08(s32 arg0); -void fn_1_12DAC(void); -void fn_1_13908(void); -void fn_1_130A8(void); -void fn_1_1317C(void); -void fn_1_13A38(omObjData* arg0); -void fn_1_13A3C(s32 arg0, s32 arg1, s32 arg2, s32 arg3); -void fn_1_13C78(s32 arg0, s32 arg1, s32 arg2); -void fn_1_13D38(s32 arg0, s32 arg1, s32 arg2); -void fn_1_140A0(void); -void fn_1_15450(s32 arg0); - -StructBss1580 lbl_1_bss_1580; -StructBss1530 lbl_1_bss_1558; -StructBss1530 lbl_1_bss_1530; -StructBss1530 lbl_1_bss_1490[4]; -StructBss1530 lbl_1_bss_1468; -s32 lbl_1_bss_1458[4]; -s32 lbl_1_bss_1448[4]; -s32 lbl_1_bss_1438[4]; -s32 lbl_1_bss_1428[4]; -float lbl_1_bss_1424; -s32 lbl_1_bss_1420; -float lbl_1_bss_1408[3][2]; -StructBssC8 lbl_1_bss_C8[88]; -float lbl_1_bss_C4; -float lbl_1_bss_C0; -float lbl_1_bss_BC; -s32 lbl_1_bss_B8; -s32 lbl_1_bss_B4; -float lbl_1_bss_B0; -float lbl_1_bss_AC; -Process* lbl_1_bss_A8; -s32 lbl_1_bss_68[16]; -u8 lbl_1_bss_5C[0xC]; // unused -s32 lbl_1_bss_58; - -Vec lbl_1_data_130[] = { - { -300.0f, 0.0f, 460.0f }, - { -100.0f, 0.0f, 460.0f }, - { 100.0f, 0.0f, 460.0f }, - { 300.0f, 0.0f, 460.0f } -}; - -HsfanimStruct00 lbl_1_data_160 = { - 60, { 0, 0 }, - 1000.0f, 0.0f, 180.0f, - { 0.0f, -0.009f, 0.0f }, - 30.0f, 0.9f, 20.0f, 0.99f, 4, - { - { 0xFF, 0xFF, 0x00, 0xFF }, - { 0xFF, 0xFF, 0x20, 0xFF }, - { 0xFF, 0xFF, 0x80, 0xFF }, - { 0xFF, 0xFF, 0xFF, 0xFF } - }, - { - { 0xFF, 0xFF, 0xFF, 0x00 }, - { 0xFF, 0xFF, 0xFF, 0x00 }, - { 0xFF, 0xFF, 0xFF, 0x00 }, - { 0xFF, 0xFF, 0xFF, 0x00 } - } -}; - -HsfanimStruct00 lbl_1_data_1B0 = { - 60, { 0, 0 }, - 1000.0f, 0.0f, 180.0f, - { 0.0f, -0.009f, 0.0f }, - 30.0f, 0.9f, 20.0f, 0.99f, 4, - { - { 0xFF, 0xFF, 0x00, 0xFF }, - { 0xFF, 0xFF, 0x20, 0xFF }, - { 0xFF, 0xFF, 0x80, 0xFF }, - { 0xFF, 0xFF, 0xFF, 0xFF } - }, - { - { 0xFF, 0xFF, 0xFF, 0x00 }, - { 0xFF, 0xFF, 0xFF, 0x00 }, - { 0xFF, 0xFF, 0xFF, 0x00 }, - { 0xFF, 0xFF, 0xFF, 0x00 } - } -}; - -HsfanimStruct00 lbl_1_data_200 = { - 500, { 0, 0 }, - 0.25f, 0.0f, 30.0f, - { 0.0f, -0.009f, 0.001f }, - 30.0f, 0.9f, 20.0f, 0.999f, 4, - { - { 0xFF, 0xFF, 0x00, 0xFF }, - { 0xFF, 0xFF, 0x20, 0xFF }, - { 0xFF, 0xFF, 0x80, 0xFF }, - { 0xFF, 0xFF, 0xFF, 0xFF } - }, - { - { 0xFF, 0xFF, 0xFF, 0x00 }, - { 0xFF, 0xFF, 0xFF, 0x00 }, - { 0xFF, 0xFF, 0xFF, 0x00 }, - { 0xFF, 0xFF, 0xFF, 0x00 } - } -}; - -void fn_1_6E34(Process* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - s32 var_r31; - - lbl_1_bss_A8 = arg0; - lbl_1_bss_1580.unk00 = arg1; - lbl_1_bss_1580.unk04 = arg2; - if (arg3 == 1) { - lbl_1_bss_1580.unk08 = 0; - } else { - lbl_1_bss_1580.unk08 = 1; - lbl_1_bss_1580.unk04 = 1; - } - lbl_1_bss_1580.unk14 = fn_1_36E4(); - lbl_1_bss_1580.unk344 = GWSystem.team; - _ClearFlag(FLAG_ID_MAKE(1, 29)); - lbl_1_bss_1580.unk348 = -1; - fn_1_9A0(); - fn_1_290C(lbl_1_bss_A8, fn_1_82E0); - lbl_1_bss_1580.unk1C = fn_1_37C8(lbl_1_bss_1580.unk20 = 0xFF); - fn_1_FF7C(arg4); - fn_1_38B4(); - fn_1_12DAC(); - HuPrcChildCreate(fn_1_FE80, 100, 0x2000, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_140A0, 100, 0x2000, 0, HuPrcCurrentGet()); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuPrcChildCreate(fn_1_13908, 200, 0x2000, 0, HuPrcCurrentGet()); - } - HuPrcChildCreate(fn_1_D48C, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -void fn_1_7004(s32 arg0, s32 arg1, s32 arg2) { - s32 sp1C[4]; - s32 spC[4]; - s32 temp_r27; - s32 var_r26; - s32 var_r30; - s32 var_r31; - - temp_r27 = lbl_1_bss_1580.unk20; - var_r26 = arg0; - lbl_1_bss_1530.unk04 = (void*) fn_1_D718; - for (var_r30 = 0; var_r30 < 4; var_r30++) { - lbl_1_bss_1490[var_r30].unk04 = (void*) fn_1_1241C; - } - lbl_1_bss_1468.unk04 = (void*) fn_1_13A38; - if (arg2 != 0) { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - sp1C[var_r31] = lbl_1_bss_1490[var_r31].unk00->work[0]; - spC[var_r31] = 0xFF; - } - } - for (var_r30 = 0; var_r30 < arg1; var_r30++) { - fn_1_938(); - lbl_1_bss_1580.unk20 = fn_1_5D4(temp_r27, var_r26, var_r30, arg1); - Hu3DGLightColorSet(lbl_1_bss_1580.unk1C, lbl_1_bss_1580.unk20, lbl_1_bss_1580.unk20, lbl_1_bss_1580.unk20, 0xFF); - if (arg2 != 0) { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - fn_1_7E88(sp1C[var_r31], spC[var_r31], var_r30, arg1, var_r31); - } - } - } - if (arg2 != 0) { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_1490[var_r31].unk00->work[0] = 0; - lbl_1_bss_1490[var_r31].unk00->work[1] = 0; - Hu3DModelAttrSet(lbl_1_bss_1490[var_r31].unk00->model[6], 1); - Hu3DLLightColorSet(lbl_1_bss_1490[var_r31].unk00->model[1], lbl_1_bss_1580.unk24[var_r31].unk00, 0, 0, 0, 0xFF); - Hu3DLLightColorSet(lbl_1_bss_1490[var_r31].unk00->model[2], lbl_1_bss_1580.unk24[var_r31].unk04, 0, 0, 0, 0xFF); - } - } - lbl_1_bss_1530.unk04 = NULL; - for (var_r30 = 0; var_r30 < 4; var_r30++) { - lbl_1_bss_1490[var_r30].unk04 = NULL; - } - lbl_1_bss_1468.unk04 = NULL; -} - -void fn_1_7398(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { - float temp_f31; - float temp_f30; - s32 sp10; - s32 spC; - s32 temp_r29; - s32 var_r28; - - sp10 = lbl_1_bss_1490[arg2].unk00->work[0]; - spC = arg0; - Hu3DModelPosSet(lbl_1_bss_1490[arg2].unk00->model[6], lbl_1_data_130[arg2].x, 500.0f + lbl_1_data_130[arg2].y + lbl_1_bss_AC, lbl_1_data_130[arg2].z + 0.1f * lbl_1_bss_AC); - Hu3DModelScaleSet(lbl_1_bss_1490[arg2].unk00->model[6], 0.0f, 1.25f, 0.0f); - Hu3DModelTPLvlSet(lbl_1_bss_1490[arg2].unk00->model[6], 0.0f); - Hu3DModelAttrReset(lbl_1_bss_1490[arg2].unk00->model[6], 1); - Hu3DModelPosSet(lbl_1_bss_1490[arg3].unk00->model[6], lbl_1_data_130[arg3].x, 500.0f + lbl_1_data_130[arg3].y + lbl_1_bss_AC, lbl_1_data_130[arg3].z + 0.1f * lbl_1_bss_AC); - Hu3DModelScaleSet(lbl_1_bss_1490[arg3].unk00->model[6], 0.0f, 1.25f, 0.0f); - Hu3DModelTPLvlSet(lbl_1_bss_1490[arg3].unk00->model[6], 0.0f); - Hu3DModelAttrReset(lbl_1_bss_1490[arg3].unk00->model[6], 1); - for (var_r28 = 0; var_r28 <= arg1; var_r28++) { - fn_1_938(); - temp_f31 = fn_1_6F4(0.0f, 1.5f, var_r28, arg1); - temp_f30 = fn_1_6F4(0.0f, 0.5f, var_r28, arg1); - temp_r29 = fn_1_6F4(0.0f, 128.0f, var_r28, arg1); - Hu3DModelScaleSet(lbl_1_bss_1490[arg2].unk00->model[6], temp_f31, 1.25f, temp_f31); - Hu3DModelTPLvlSet(lbl_1_bss_1490[arg2].unk00->model[6], temp_f30); - Hu3DModelScaleSet(lbl_1_bss_1490[arg3].unk00->model[6], temp_f31, 1.25f, temp_f31); - Hu3DModelTPLvlSet(lbl_1_bss_1490[arg3].unk00->model[6], temp_f30); - Hu3DLLightColorSet(lbl_1_bss_1490[arg2].unk00->model[1], lbl_1_bss_1580.unk24[arg2].unk00, temp_r29, temp_r29, temp_r29, 0xFF); - Hu3DLLightColorSet(lbl_1_bss_1490[arg2].unk00->model[2], lbl_1_bss_1580.unk24[arg2].unk04, temp_r29, temp_r29, temp_r29, 0xFF); - Hu3DLLightColorSet(lbl_1_bss_1490[arg3].unk00->model[1], lbl_1_bss_1580.unk24[arg3].unk00, temp_r29, temp_r29, temp_r29, 0xFF); - Hu3DLLightColorSet(lbl_1_bss_1490[arg3].unk00->model[2], lbl_1_bss_1580.unk24[arg3].unk04, temp_r29, temp_r29, temp_r29, 0xFF); - } - lbl_1_bss_1490[arg2].unk00->work[1] = 1; - lbl_1_bss_1490[arg3].unk00->work[1] = 1; -} - -void fn_1_79D8(s32 arg0, s32 arg1, s32 arg2) { - float temp_f31; - float temp_f30; - s32 temp_r27; - s32 var_r26; - s32 temp_r29; - s32 var_r30; - - temp_r27 = lbl_1_bss_1490[arg2].unk00->work[0]; - var_r26 = arg0; - Hu3DModelPosSet(lbl_1_bss_1490[arg2].unk00->model[6], lbl_1_data_130[arg2].x, 500.0f + lbl_1_data_130[arg2].y + lbl_1_bss_AC, lbl_1_data_130[arg2].z + 0.1f * lbl_1_bss_AC); - Hu3DModelScaleSet(lbl_1_bss_1490[arg2].unk00->model[6], 0.0f, 1.25f, 0.0f); - Hu3DModelTPLvlSet(lbl_1_bss_1490[arg2].unk00->model[6], 0.0f); - Hu3DModelAttrReset(lbl_1_bss_1490[arg2].unk00->model[6], 1); - for (var_r30 = 0; var_r30 <= arg1; var_r30++) { - fn_1_938(); - lbl_1_bss_1490[arg2].unk00->work[0] = fn_1_6F4(temp_r27, var_r26, var_r30, arg1); - temp_f31 = fn_1_6F4(0.0f, 1.5f, var_r30, arg1); - temp_f30 = fn_1_6F4(0.0f, 0.5f, var_r30, arg1); - temp_r29 = fn_1_6F4(0.0f, 128.0f, var_r30, arg1); - Hu3DModelScaleSet(lbl_1_bss_1490[arg2].unk00->model[6], temp_f31, 1.25f, temp_f31); - Hu3DModelTPLvlSet(lbl_1_bss_1490[arg2].unk00->model[6], temp_f30); - Hu3DLLightColorSet(lbl_1_bss_1490[arg2].unk00->model[1], lbl_1_bss_1580.unk24[arg2].unk00, temp_r29, temp_r29, temp_r29, 0xFF); - Hu3DLLightColorSet(lbl_1_bss_1490[arg2].unk00->model[2], lbl_1_bss_1580.unk24[arg2].unk04, temp_r29, temp_r29, temp_r29, 0xFF); - } - lbl_1_bss_1490[arg2].unk00->work[1] = 1; -} - -void fn_1_7E88(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - float var_f31; - s32 temp_r31; - - if (lbl_1_bss_1490[arg4].unk00->work[1] != 0) { - lbl_1_bss_1490[arg4].unk00->work[0] = fn_1_5D4(arg0, arg1, arg2, arg3); - var_f31 = fn_1_5D4(0.5f, 0.0f, arg2, arg3); - Hu3DModelTPLvlSet(lbl_1_bss_1490[arg4].unk00->model[6], var_f31); - temp_r31 = fn_1_5D4(128.0f, 0.0f, arg2, arg3); - Hu3DLLightColorSet(lbl_1_bss_1490[arg4].unk00->model[1], lbl_1_bss_1580.unk24[arg4].unk00, temp_r31, temp_r31, temp_r31, 0xFF); - Hu3DLLightColorSet(lbl_1_bss_1490[arg4].unk00->model[2], lbl_1_bss_1580.unk24[arg4].unk04, temp_r31, temp_r31, temp_r31, 0xFF); - } -} - -s32 fn_1_814C(s32 arg0) { - s32 var_r31; - - if (arg0 == 0) { - var_r31 = Hu3DParManCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_EFFECT, 1)), 100, &lbl_1_data_160); - } else if (arg0 == 1) { - var_r31 = Hu3DParManCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_EFFECT, 1)), 500, &lbl_1_data_1B0); - } else if (arg0 == 2) { - var_r31 = Hu3DParManCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_EFFECT, 1)), 250, &lbl_1_data_200); - } - if (arg0 != 2) { - Hu3DParManTimeLimitSet(var_r31, 60); - Hu3DParManAttrSet(var_r31, 4 | 0x40); - Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(var_r31), 1); - } else { - Hu3DParManAttrSet(var_r31, 4 | 0x40); - } - return var_r31; -} - -s32 fn_1_8264(void) { - return fn_1_814C(0); -} - -void fn_1_82E0(void) { - StructBss4* var_r31; - - var_r31 = &lbl_1_bss_4; - var_r31->unk08.x = 0.0f; - var_r31->unk08.y = 125.0f; - var_r31->unk08.z = 0.0f; - var_r31->unk20.x = -5.0f; - var_r31->unk20.y = 0.0f; - var_r31->unk20.z = 0.0f; - var_r31->unk38 = 1750.0f; -} - -void fn_1_836C(void) { - StructBss4* var_r31; - StructBss4 sp8; - - var_r31 = &lbl_1_bss_4; - sp8.unk08.x = 0.0f; - sp8.unk08.y = 170.0f; - sp8.unk08.z = 0.0f; - sp8.unk20.x = -5.0f; - sp8.unk20.y = 0.0f; - sp8.unk20.z = 0.0f; - sp8.unk38 = 1700.0f; - fn_1_514C(var_r31, &sp8, var_r31->unk40++, 60.0f, 30.0f); -} - -void fn_1_845C(void) { - StructBss4* var_r31 = &lbl_1_bss_4; - StructBss4 sp28; - float sp8[] = { - 530.0f, 530.0f, 540.0f, 530.0f, - 530.0f, 580.0f, 540.0f, 630.0f - }; - - if (lbl_1_bss_1580.unk344 == 1) { - if (lbl_1_bss_1580.unk348 == 0) { - sp28.unk08.x = 100.0f + Hu3DData[lbl_1_bss_1490[0].unk00->model[1]].pos.x; - } else { - sp28.unk08.x = 100.0f + Hu3DData[lbl_1_bss_1490[2].unk00->model[1]].pos.x; - } - } else { - sp28.unk08.x = Hu3DData[lbl_1_bss_1490[lbl_1_bss_1458[1]].unk00->model[1]].pos.x; - lbl_1_bss_B4 = lbl_1_bss_1580.unkC4[lbl_1_bss_1458[1]].unk00.unk10; - } - if (lbl_1_bss_1580.unk344 == 1) { - sp28.unk08.y = 570.0f; - sp28.unk08.z = -700.0f; - sp28.unk20.x = 15.0f; - sp28.unk20.y = 0.0f; - sp28.unk20.z = 0.0f; - sp28.unk38 = 1750.0f; - fn_1_4CC0(var_r31, &sp28, var_r31->unk40++, 120.0f); - } else { - sp28.unk08.y = sp8[lbl_1_bss_B4]; - sp28.unk08.z = -700.0f; - sp28.unk20.x = 15.0f; - sp28.unk20.y = 0.0f; - sp28.unk20.z = 0.0f; - sp28.unk38 = 1600.0f; - fn_1_4CC0(var_r31, &sp28, var_r31->unk40++, 120.0f); - } -} - -void fn_1_8758(void) { - StructBss4* var_r31; - StructBss4 sp8; - - var_r31 = &lbl_1_bss_4; - sp8.unk08.x = lbl_1_bss_1424; - sp8.unk08.y = 125.0f; - sp8.unk08.z = 0.0f; - sp8.unk20.x = -5.0f; - sp8.unk20.y = 0.0f; - sp8.unk20.z = 0.0f; - sp8.unk38 = 1250.0f; - sp8.unk38 = 1350.0f; - fn_1_514C(var_r31, &sp8, var_r31->unk40++, 10.0f, 5.0f); -} - -void fn_1_8858(void) { - StructBss4* var_r31; - StructBss4 sp8; - - var_r31 = &lbl_1_bss_4; - sp8.unk08.x = 0.0f; - sp8.unk08.y = 170.0f; - sp8.unk08.z = 0.0f; - sp8.unk20.x = -5.0f; - sp8.unk20.y = 0.0f; - sp8.unk20.z = 0.0f; - sp8.unk38 = 1700.0f; - fn_1_514C(var_r31, &sp8, var_r31->unk40++, 30.0f, 10.0f); -} - -void fn_1_8948(void) { - StructBss4* var_r31; - StructBss4 sp8; - - var_r31 = &lbl_1_bss_4; - sp8.unk08.x = 300.0f; - sp8.unk08.y = 100.0f; - sp8.unk08.z = 0.0f; - sp8.unk20.x = -5.0f; - sp8.unk20.y = 0.0f; - sp8.unk20.z = 0.0f; - sp8.unk38 = 1000.0f; - fn_1_4400(var_r31, &sp8, var_r31->unk40++, 60.0f, 10.0f); -} - -void fn_1_8A38(void) { - StructBss4* var_r31; - StructBss4 sp8; - - var_r31 = &lbl_1_bss_4; - sp8.unk08.x = -300.0f; - sp8.unk08.y = 100.0f; - sp8.unk08.z = 0.0f; - sp8.unk20.x = -5.0f; - sp8.unk20.y = 0.0f; - sp8.unk20.z = 0.0f; - sp8.unk38 = 1000.0f; - fn_1_4400(var_r31, &sp8, var_r31->unk40++, 180.0f, 10.0f); -} - -void fn_1_8B28(void) { - StructBss4* var_r31; - StructBss4 sp8; - - var_r31 = &lbl_1_bss_4; - sp8.unk08.x = 0.0f; - sp8.unk08.y = 170.0f; - sp8.unk08.z = 0.0f; - sp8.unk20.x = -5.0f; - sp8.unk20.y = 0.0f; - sp8.unk20.z = 0.0f; - sp8.unk38 = 1700.0f; - fn_1_4400(var_r31, &sp8, var_r31->unk40++, 120.0f, 10.0f); -} - -void fn_1_8C18(void) { - fn_1_39B4(&lbl_1_bss_4); - fn_1_2834(fn_1_8948); - fn_1_958(120); - fn_1_39B4(&lbl_1_bss_4); - fn_1_2834(fn_1_8A38); - fn_1_958(210); - fn_1_39B4(&lbl_1_bss_4); - fn_1_2834(fn_1_8B28); - fn_1_958(120); -} - -void fn_1_8C94(void) { - s32 var_r30 = 16; - s32 var_r29 = 40; - s32 var_r28 = 0; - GXColor sp10 = { 0x00, 0x00, 0x80, 0x80 }; - s32 var_r31; - - while (TRUE) { - fn_1_938(); - if (HuPadBtnDown[0] & PAD_TRIGGER_R) { - var_r28++; - var_r28 %= 2; - } - if (var_r28 == 0) { - continue; - } - printWin(var_r30, var_r29, 220, 200, &sp10); - if (lbl_1_bss_1558.unk04 == NULL) { - print8(var_r30, var_r29, 1.0f, "PROC_MAIN -> FALSE"); - } else { - print8(var_r30, var_r29, 1.0f, "PROC_MAIN -> TRUE"); - } - if (lbl_1_bss_1530.unk04 == NULL) { - print8(var_r30, var_r29 + 10, 1.0f, "PROC_MAP -> FALSE"); - } else { - print8(var_r30, var_r29 + 10, 1.0f, "PROC_MAP -> TRUE"); - } - if (lbl_1_bss_1468.unk04 == NULL) { - print8(var_r30, var_r29 + 20, 1.0f, "PROC_SUB -> FALSE"); - } else { - print8(var_r30, var_r29 + 20, 1.0f, "PROC_SUB -> TRUE"); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_1490[var_r31].unk04 == NULL) { - print8(var_r30, var_r29 + 30 + var_r31 * 10, 1.0f, "PROC_PLAYER%d -> FALSE", var_r31); - } else { - print8(var_r30, var_r29 + 30 + var_r31 * 10, 1.0f, "PROC_PLAYER%d -> TRUE", var_r31); - } - } - print8(var_r30, var_r29 + 80, 1.0f, "M:%d P:%d W:%d", lbl_1_bss_1580.unk00, lbl_1_bss_1580.unk0C, lbl_1_bss_1580.unk14); - print8(var_r30, var_r29 + 100, 1.0f, "NO) IDX:GRP:COM:DIF:PAD:CHR"); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - print8(var_r30, var_r29 + 110 + var_r31 * 10, 1.0f, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", var_r31, - lbl_1_bss_1580.unkC4[var_r31].unk00.unk00, lbl_1_bss_1580.unkC4[var_r31].unk00.unk04, lbl_1_bss_1580.unkC4[var_r31].unk00.unk08, - lbl_1_bss_1580.unkC4[var_r31].unk00.unk0C, lbl_1_bss_1580.unkC4[var_r31].unk00.unk14, lbl_1_bss_1580.unkC4[var_r31].unk00.unk10); - } - print8(var_r30, var_r29 + 150, 1.0f, "NO) RNK:STA:COI:MGS:COS:HAS"); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - print8(var_r30, var_r29 + 160 + var_r31 * 10, 1.0f, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", var_r31, - lbl_1_bss_1580.unkC4[var_r31].unk00.unk18, lbl_1_bss_1580.unkC4[var_r31].unk00.unk20, lbl_1_bss_1580.unkC4[var_r31].unk00.unk1C, - lbl_1_bss_1580.unkC4[var_r31].unk00.unk24, lbl_1_bss_1580.unkC4[var_r31].unk00.unk28, lbl_1_bss_1580.unkC4[var_r31].unk00.unk2C); - } - } -} - -void fn_1_9140(void) { - WipeColorSet(0xFF, 0xFF, 0xFF); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (TRUE) { - if (WipeStatGet() == 0) { - break; - } - fn_1_938(); - } - fn_1_9C4(); - CharModelKill(-1); - MGSeqKillAll(); - HuAudSStreamAllStop(); - msmSeStopAll(0, 1000); - omOvlGotoEx(OVL_MSTORY3, 1, 1, 0); -} - -void fn_1_91C8(void) { - lbl_1_bss_58 = HuAudSeqPlay(0x31); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - while (TRUE) { - if (WipeStatGet() == 0) { - break; - } - fn_1_938(); - } -} - -void fn_1_9220(void) { - Vec sp14 = { -320.0f, 0.0f, 910.0f }; - - fn_1_958(60); - lbl_1_bss_1580.unk10 = fn_1_1624(1, 0, 21, 2, lbl_1_bss_1580.unk14); - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_1580.unk00][0]); - fn_1_13C78(lbl_1_bss_1580.unk10, 0, 3); - fn_1_1AB0(lbl_1_bss_1580.unk10); - fn_1_39B4(&lbl_1_bss_4); - fn_1_2834(fn_1_836C); - fn_1_1E28(lbl_1_bss_1530.unk00, 2, 2, 0, 0); - fn_1_1E28(lbl_1_bss_1468.unk00, 1, 2, 15, 1); - fn_1_2DD4(lbl_1_bss_1468.unk00, 1, sp14, 30.0f, 60.0f, 10.0f); - fn_1_1E28(lbl_1_bss_1468.unk00, 1, 1, 15, 1); - fn_1_2280(lbl_1_bss_1530.unk00, 2, 2, 0); -} - -void fn_1_93D0(omObjData* arg0) { - StructBss1530* temp_r31; - - temp_r31 = arg0->data; - lbl_1_bss_1580.unk10 = fn_1_1624(0, 0, 21, 2, lbl_1_bss_1580.unk14); - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_1580.unk00][2]); - fn_1_13A3C(lbl_1_bss_1580.unk10, 1, -1, 3); - fn_1_1AB0(lbl_1_bss_1580.unk10); - temp_r31->unk04 = 0; -} - -void fn_1_9488(void) { - s32 var_r31; - - lbl_1_bss_1530.unk04 = (void*) fn_1_93D0; - do { - fn_1_938(); - } while (lbl_1_bss_1580.unk18 != 99); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_1490[var_r31].unk04 = (void*) fn_1_1036C; - lbl_1_bss_1490[var_r31].unk18 = lbl_1_bss_1490[var_r31].unk1C = 0; - } - fn_1_12A98(0); - for (var_r31 = 0; var_r31 < lbl_1_bss_1458[0]; var_r31++) { - if (lbl_1_bss_1580.unkC4[lbl_1_bss_1448[var_r31]].unk00.unk20 != 0) { - lbl_1_bss_1490[lbl_1_bss_1448[var_r31]].unk1C = 1; - } - } - HuAudFXPlay(0xB9); - do { - fn_1_938(); - } while (lbl_1_bss_1530.unk04 != NULL); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_1490[var_r31].unk18 = 1; - } - do { - fn_1_938(); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_1490[var_r31].unk18 != 2) { - break; - } - } - } while (var_r31 < 4); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_1490[var_r31].unk18 = 3; - } - do { - fn_1_938(); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_1490[var_r31].unk04 != NULL) { - break; - } - } - } while (var_r31 < 4); -} - -void fn_1_96B0(omObjData* arg0) { - StructBss1530* temp_r31; - - temp_r31 = arg0->data; - lbl_1_bss_1580.unk10 = fn_1_1624(0, 0, 21, 2, lbl_1_bss_1580.unk14); - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_1580.unk00][2]); - fn_1_13A3C(lbl_1_bss_1580.unk10, 2, -1, 3); - fn_1_1AB0(lbl_1_bss_1580.unk10); - temp_r31->unk04 = 0; -} - -void fn_1_9768(void) { - s32 var_r31; - - lbl_1_bss_1530.unk04 = (void*) fn_1_96B0; - do { - fn_1_938(); - } while (lbl_1_bss_1580.unk18 != 99); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_1490[var_r31].unk04 = (void*) fn_1_10D74; - lbl_1_bss_1490[var_r31].unk18 = lbl_1_bss_1490[var_r31].unk1C = 0; - } - fn_1_12A98(1); - for (var_r31 = 0; var_r31 < lbl_1_bss_1458[0]; var_r31++) { - if (lbl_1_bss_1580.unkC4[lbl_1_bss_1448[var_r31]].unk00.unk1C != 0) { - lbl_1_bss_1490[lbl_1_bss_1448[var_r31]].unk1C = 1; - } - } - HuAudFXPlay(0xB8); - do { - fn_1_938(); - } while (lbl_1_bss_1530.unk04 != NULL); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_1490[var_r31].unk18 = 1; - } - do { - fn_1_938(); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_1490[var_r31].unk18 != 2) { - break; - } - } - } while (var_r31 < 4); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_1490[var_r31].unk18 = 3; - } - do { - fn_1_938(); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_1490[var_r31].unk04 != NULL) { - break; - } - } - } while (var_r31 < 4); -} - -void fn_1_9990(omObjData* arg0) { - StructBss1530* temp_r31; - - temp_r31 = arg0->data; - HuAudFXPlay(0x9A); - fn_1_13A3C(lbl_1_bss_1580.unk10, lbl_1_bss_1420, -1, 4); - fn_1_1AB0(lbl_1_bss_1580.unk10); - temp_r31->unk04 = 0; -} - -void fn_1_9A08(omObjData* arg0) { - StructBss1530* temp_r31; - - temp_r31 = arg0->data; - fn_1_958(60); - HuAudSeqPause(lbl_1_bss_58, 0, 1000); - temp_r31->unk04 = 0; -} - -void fn_1_9A64(s32 arg0) { - s32 var_r28; - s32 var_r27; - s32 var_r30; - s32 var_r31; - - var_r28 = 9999; - var_r27 = -1; - lbl_1_bss_1420 = arg0; - lbl_1_bss_1580.unk10 = fn_1_1624(0, 0, 21, 2, lbl_1_bss_1580.unk14); - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_1580.unk00][2]); - fn_1_13C78(lbl_1_bss_1580.unk10, arg0 * 3 + 3, 3); - fn_1_12C08(arg0); - lbl_1_bss_1424 = 0.0f; - switch (lbl_1_bss_1458[0]) { - case 1: - lbl_1_bss_1424 = lbl_1_data_130[lbl_1_bss_1448[0]].x; - break; - case 2: - lbl_1_bss_1424 = (lbl_1_data_130[lbl_1_bss_1448[0]].x + lbl_1_data_130[lbl_1_bss_1448[1]].x) / 2; - fn_1_13C78(lbl_1_bss_1580.unk10, arg0 * 3 + 4, 3); - break; - case 3: - for (var_r31 = 0; var_r31 < 3; var_r31++) { - if (var_r28 >= lbl_1_bss_1448[var_r31]) { - var_r28 = lbl_1_bss_1448[var_r31]; - } - if (var_r27 <= lbl_1_bss_1448[var_r31]) { - var_r27 = lbl_1_bss_1448[var_r31]; - } - } - lbl_1_bss_1424 = (lbl_1_data_130[var_r27].x + lbl_1_data_130[var_r28].x) / 2; - fn_1_13C78(lbl_1_bss_1580.unk10, arg0 * 3 + 5, 3); - break; - case 4: - break; - } - fn_1_1AB0(lbl_1_bss_1580.unk10); - HuAudSeqPause(lbl_1_bss_58, 1, 1000); - lbl_1_bss_68[0] = HuAudFXPlay(0x9E); - fn_1_7004(0x40, 30, 0); - fn_1_958(60); - if (lbl_1_bss_1458[0] < 4) { - fn_1_39B4(&lbl_1_bss_4); - fn_1_2834(fn_1_8758); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if (var_r31 == lbl_1_bss_1448[var_r30]) { - lbl_1_bss_1490[var_r31].unk04 = (void*) fn_1_11834; - lbl_1_bss_1490[var_r31].unk18 = 0; - break; - } - } - if (var_r30 == 4) { - lbl_1_bss_1490[var_r31].unk04 = (void*) fn_1_11794; - lbl_1_bss_1490[var_r31].unk18 = 0; - } - } - } else { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_1490[var_r31].unk04 = (void*) fn_1_11794; - lbl_1_bss_1490[var_r31].unk18 = 0; - } - } - if (lbl_1_bss_1458[0] != 4) { - lbl_1_bss_1580.unk10 = fn_1_1624(1, 0, 21, 2, lbl_1_bss_1580.unk14); - } else { - lbl_1_bss_1580.unk10 = fn_1_1624(0, 0, 21, 2, lbl_1_bss_1580.unk14); - } - if (lbl_1_bss_1458[0] <= 3) { - HuAudFXPlay(0x9F); - } - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_1580.unk00][2]); - switch (lbl_1_bss_1458[0]) { - case 1: - fn_1_13D38(lbl_1_bss_1580.unk10, lbl_1_bss_1448[0], 0); - lbl_1_bss_1420 = 12; - lbl_1_bss_1530.unk04 = (void*) fn_1_9990; - lbl_1_bss_1468.unk04 = (void*) fn_1_9A08; - break; - case 2: - fn_1_13D38(lbl_1_bss_1580.unk10, lbl_1_bss_1448[0], 0); - fn_1_13D38(lbl_1_bss_1580.unk10, lbl_1_bss_1448[1], 1); - lbl_1_bss_1420 = 13; - lbl_1_bss_1530.unk04 = (void*) fn_1_9990; - lbl_1_bss_1468.unk04 = (void*) fn_1_9A08; - break; - case 3: - fn_1_13D38(lbl_1_bss_1580.unk10, lbl_1_bss_1448[0], 0); - fn_1_13D38(lbl_1_bss_1580.unk10, lbl_1_bss_1448[1], 1); - fn_1_13D38(lbl_1_bss_1580.unk10, lbl_1_bss_1448[2], 2); - lbl_1_bss_1420 = 14; - lbl_1_bss_1530.unk04 = (void*) fn_1_9990; - lbl_1_bss_1468.unk04 = (void*) fn_1_9A08; - break; - case 4: - HuAudFXFadeOut(lbl_1_bss_68[0], 500); - lbl_1_bss_1468.unk04 = (void*) fn_1_9A08; - if (lbl_1_bss_1580.unkC4[lbl_1_bss_1448[0]].unk00.unk2C == 0 && arg0 == 2) { - fn_1_13C78(lbl_1_bss_1580.unk10, 26, 3); - } else { - fn_1_13C78(lbl_1_bss_1580.unk10, 15, 3); - } - fn_1_1AB0(lbl_1_bss_1580.unk10); - break; - } - for (var_r31 = 0; var_r31 < lbl_1_bss_1458[0]; var_r31++) { - lbl_1_bss_1490[lbl_1_bss_1448[var_r31]].unk18 = 1; - } - do { - fn_1_938(); - for (var_r31 = 0; var_r31 < lbl_1_bss_1458[0]; var_r31++) { - if (lbl_1_bss_1490[lbl_1_bss_1448[var_r31]].unk04 != NULL) { - break; - } - } - } while (var_r31 < lbl_1_bss_1458[0]); - lbl_1_bss_1580.unk18 = 1; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - Hu3DModelAttrReset(lbl_1_bss_1490[var_r31].unk00->model[1], HU3D_MOTATTR_PAUSE); - } - fn_1_958(10); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - fn_1_1E28(lbl_1_bss_1490[var_r31].unk00, 1, 1, 15, 1); - } - do { - fn_1_938(); - } while (lbl_1_bss_1530.unk04 != NULL); - fn_1_12DAC(); - HuAudSeqPause(lbl_1_bss_58, 0, 1000); - fn_1_39B4(&lbl_1_bss_4); - fn_1_2834(fn_1_8858); - fn_1_7004(0xFF, 30, 1); - fn_1_958(60); -} - -s32 fn_1_A314(void) { - s32 var_r31 = 0; - - lbl_1_bss_1580.unk10 = fn_1_1624(0, 0, 21, 2, lbl_1_bss_1580.unk14); - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_1580.unk00][2]); - fn_1_13C78(lbl_1_bss_1580.unk10, 0x10, 3); - fn_1_1AB0(lbl_1_bss_1580.unk10); - fn_1_12DAC(); - fn_1_130A8(); - if (lbl_1_bss_1580.unk344 == 1) { - var_r31 = fn_1_B670(); - } - if (var_r31 != -1 && lbl_1_bss_1458[0] <= 1) { - HuAudSeqFadeOut(lbl_1_bss_58, 1000); - } else { - HuAudSeqPause(lbl_1_bss_58, 1, 1000); - } - lbl_1_bss_68[0] = HuAudFXPlay(0x9E); - lbl_1_bss_B0 = 1.0f; - lbl_1_bss_1530.unk04 = (void*) fn_1_D7D8; - fn_1_7004(0x40, 30, 0); - fn_1_8C18(); - lbl_1_bss_AC = 125.0f; - return var_r31; -} - -void fn_1_A4F0(void) { - s32 var_r31; - - HuAudSeqPause(lbl_1_bss_58, 0, 1000); - HuAudFXFadeOut(lbl_1_bss_68[0], 1000); - lbl_1_bss_B0 = 0.0f; - fn_1_7004(0xFF, 30, 1); - fn_1_958(60); - lbl_1_bss_1580.unk10 = fn_1_1624(0, 0, 21, 2, lbl_1_bss_1580.unk14); - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_1580.unk00][1]); - fn_1_13C78(lbl_1_bss_1580.unk10, 0x11, 3); - switch (lbl_1_bss_1458[0]) { - case 1: - break; - case 2: - fn_1_13D38(lbl_1_bss_1580.unk10, lbl_1_bss_1448[0], 0); - fn_1_13D38(lbl_1_bss_1580.unk10, lbl_1_bss_1448[1], 1); - fn_1_13C78(lbl_1_bss_1580.unk10, 13, 3); - break; - case 3: - fn_1_13D38(lbl_1_bss_1580.unk10, lbl_1_bss_1448[0], 0); - fn_1_13D38(lbl_1_bss_1580.unk10, lbl_1_bss_1448[1], 1); - fn_1_13D38(lbl_1_bss_1580.unk10, lbl_1_bss_1448[2], 2); - fn_1_13C78(lbl_1_bss_1580.unk10, 14, 3); - break; - case 4: - fn_1_13C78(lbl_1_bss_1580.unk10, 0x12, 3); - break; - } - fn_1_13C78(lbl_1_bss_1580.unk10, 0x13, 3); - fn_1_1AB0(lbl_1_bss_1580.unk10); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_1438[var_r31] = lbl_1_bss_1428[var_r31] = -1; - } - for (var_r31 = 0; var_r31 < lbl_1_bss_1458[0]; var_r31++) { - lbl_1_bss_1490[lbl_1_bss_1448[var_r31]].unk04 = (void*) fn_1_123D8; - lbl_1_bss_1490[lbl_1_bss_1448[var_r31]].unk18 = 0; - } - do { - fn_1_938(); - for (var_r31 = 0; var_r31 < lbl_1_bss_1458[0]; var_r31++) { - if (lbl_1_bss_1490[lbl_1_bss_1448[var_r31]].unk18 != 1) { - break; - } - } - } while (var_r31 < lbl_1_bss_1458[0]); - for (var_r31 = 0; var_r31 < lbl_1_bss_1458[0]; var_r31++) { - lbl_1_bss_1490[lbl_1_bss_1448[var_r31]].unk18 = 2; - } - fn_1_958(0x96); - fn_1_1317C(); - lbl_1_bss_1580.unk10 = fn_1_1624(0, 0, 21, 2, lbl_1_bss_1580.unk14); - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_1580.unk00][2]); - fn_1_13D38(lbl_1_bss_1580.unk10, lbl_1_bss_1458[1], 0); - fn_1_13C78(lbl_1_bss_1580.unk10, 0x14, 3); - fn_1_1AB0(lbl_1_bss_1580.unk10); - for (var_r31 = 0; var_r31 < lbl_1_bss_1458[0]; var_r31++) { - if (lbl_1_bss_1458[1] == lbl_1_bss_1448[var_r31]) { - fn_1_1E28(lbl_1_bss_1490[lbl_1_bss_1448[var_r31]].unk00, 1, 14, 15, 0); - } else { - fn_1_1E28(lbl_1_bss_1490[lbl_1_bss_1448[var_r31]].unk00, 1, 15, 15, 0); - } - } - fn_1_958(0x23); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - fn_1_1E28(lbl_1_bss_1490[var_r31].unk00, 1, 1, 15, 1); - } - fn_1_958(0x55); - lbl_1_bss_1580.unk10 = fn_1_1624(0, 0, 21, 2, lbl_1_bss_1580.unk14); - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_1580.unk00][3]); - fn_1_13C78(lbl_1_bss_1580.unk10, 0x15, 3); - fn_1_1AB0(lbl_1_bss_1580.unk10); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - fn_1_1E28(lbl_1_bss_1490[var_r31].unk00, 1, 1, 15, 1); - } - HuAudSeqFadeOut(lbl_1_bss_58, 1000); - lbl_1_bss_68[0] = HuAudFXPlay(0x9E); - lbl_1_bss_B0 = 1.0f; - fn_1_7004(0x40, 30, 0); - fn_1_8C18(); -} - -void fn_1_ABAC(void) { - s32 var_r31; - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_1490[var_r31].unk04 = (void*) fn_1_12420; - } - do { - fn_1_938(); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_1490[var_r31].unk04 != NULL) { - break; - } - } - } while (var_r31 < 4); - lbl_1_bss_B0 = 0.0f; - fn_1_958(15); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_1580.unkC4[var_r31].unk00.unk18 == 1) { - break; - } - } - if (lbl_1_bss_1580.unk344 == 1) { - if (lbl_1_bss_1580.unk348 == 0) { - fn_1_7398(0xFF, 5, 0, 1); - } else { - fn_1_7398(0xFF, 5, 2, 3); - } - } else { - fn_1_79D8(0xFF, 5.0f, var_r31); - } - HuAudFXPlay(0x9F); - HuAudSeqPlay(0x32); - fn_1_958(30); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_1580.unk344 == 1) { - if (lbl_1_bss_1580.unk348 == 0) { - CharModelVoiceEnableSet(lbl_1_bss_1580.unkC4[0].unk00.unk10, lbl_1_bss_1490[0].unk00->motion[3], 0); - CharModelVoiceEnableSet(lbl_1_bss_1580.unkC4[1].unk00.unk10, lbl_1_bss_1490[1].unk00->motion[3], 0); - CharModelVoiceEnableSet(lbl_1_bss_1580.unkC4[2].unk00.unk10, lbl_1_bss_1490[2].unk00->motion[4], 0); - CharModelVoiceEnableSet(lbl_1_bss_1580.unkC4[3].unk00.unk10, lbl_1_bss_1490[3].unk00->motion[4], 0); - fn_1_1E28(lbl_1_bss_1490[0].unk00, 1, 3, 15, 0); - fn_1_1E28(lbl_1_bss_1490[1].unk00, 1, 3, 15, 0); - fn_1_1E28(lbl_1_bss_1490[2].unk00, 1, 4, 15, 0); - fn_1_1E28(lbl_1_bss_1490[3].unk00, 1, 4, 15, 0); - lbl_1_bss_1580.unk0C = 0; - } else { - CharModelVoiceEnableSet(lbl_1_bss_1580.unkC4[0].unk00.unk10, lbl_1_bss_1490[0].unk00->motion[4], 0); - CharModelVoiceEnableSet(lbl_1_bss_1580.unkC4[1].unk00.unk10, lbl_1_bss_1490[1].unk00->motion[4], 0); - CharModelVoiceEnableSet(lbl_1_bss_1580.unkC4[2].unk00.unk10, lbl_1_bss_1490[2].unk00->motion[3], 0); - CharModelVoiceEnableSet(lbl_1_bss_1580.unkC4[3].unk00.unk10, lbl_1_bss_1490[3].unk00->motion[3], 0); - fn_1_1E28(lbl_1_bss_1490[0].unk00, 1, 4, 15, 0); - fn_1_1E28(lbl_1_bss_1490[1].unk00, 1, 4, 15, 0); - fn_1_1E28(lbl_1_bss_1490[2].unk00, 1, 3, 15, 0); - fn_1_1E28(lbl_1_bss_1490[3].unk00, 1, 3, 15, 0); - lbl_1_bss_1580.unk0C = 2; - } - } else if (lbl_1_bss_1580.unkC4[var_r31].unk00.unk18 == 1) { - CharModelVoiceEnableSet(lbl_1_bss_1580.unkC4[var_r31].unk00.unk10, lbl_1_bss_1490[var_r31].unk00->motion[3], 0); - fn_1_1E28(lbl_1_bss_1490[var_r31].unk00, 1, 3, 15, 0); - lbl_1_bss_1580.unk0C = var_r31; - } else { - CharModelVoiceEnableSet(lbl_1_bss_1580.unkC4[var_r31].unk00.unk10, lbl_1_bss_1490[var_r31].unk00->motion[4], 0); - fn_1_1E28(lbl_1_bss_1490[var_r31].unk00, 1, 4, 15, 0); - } - GWPlayer[lbl_1_bss_1580.unkC4[var_r31].unk00.unk00].rank = lbl_1_bss_1580.unkC4[var_r31].unk00.unk18 - 1; - } - lbl_1_bss_1580.unk10 = fn_1_1624(0, 0, 21, 2, lbl_1_bss_1580.unk14); - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_1580.unk00][2]); - if (lbl_1_bss_1580.unk344 == 1) { - if (lbl_1_bss_1580.unk348 == 0) { - fn_1_13D38(lbl_1_bss_1580.unk10, 0, 0); - fn_1_13D38(lbl_1_bss_1580.unk10, 1, 1); - _SetFlag(FLAG_ID_MAKE(1, 29)); - } else { - fn_1_13D38(lbl_1_bss_1580.unk10, 2, 0); - fn_1_13D38(lbl_1_bss_1580.unk10, 3, 1); - } - fn_1_13C78(lbl_1_bss_1580.unk10, 0x19, 5); - } else { - fn_1_13D38(lbl_1_bss_1580.unk10, lbl_1_bss_1458[1], 0); - fn_1_13C78(lbl_1_bss_1580.unk10, 0x16, 5); - } - fn_1_1AB0(lbl_1_bss_1580.unk10); -} - -s32 fn_1_B670(void) { - s32 var_r31; - s32 temp_r30; - s32 temp_r29; - s32 temp_r28; - s32 temp_r27; - - var_r31 = 1; - temp_r30 = lbl_1_bss_1580.unkC4[0].unk00.unk20 + lbl_1_bss_1580.unkC4[1].unk00.unk20; - temp_r29 = lbl_1_bss_1580.unkC4[2].unk00.unk20 + lbl_1_bss_1580.unkC4[3].unk00.unk20; - temp_r28 = lbl_1_bss_1580.unkC4[0].unk00.unk1C + lbl_1_bss_1580.unkC4[1].unk00.unk1C; - temp_r27 = lbl_1_bss_1580.unkC4[2].unk00.unk1C + lbl_1_bss_1580.unkC4[3].unk00.unk1C; - if (temp_r30 > temp_r29) { - lbl_1_bss_1580.unk348 = 0; - } else if (temp_r30 < temp_r29) { - lbl_1_bss_1580.unk348 = 1; - } else if (temp_r28 > temp_r27) { - lbl_1_bss_1580.unk348 = 0; - } else if (temp_r28 < temp_r27) { - lbl_1_bss_1580.unk348 = 1; - } else { - var_r31 = -1; - } - return var_r31; -} - -void fn_1_B788(void) { - s32 var_r31; - - HuAudSeqPause(lbl_1_bss_58, 0, 1000); - HuAudFXFadeOut(lbl_1_bss_68[0], 1000); - lbl_1_bss_B0 = 0.0f; - fn_1_7004(0xFF, 30, 1); - fn_1_958(60); - lbl_1_bss_1580.unk10 = fn_1_1624(0, 0, 21, 2, lbl_1_bss_1580.unk14); - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_1580.unk00][1]); - fn_1_13C78(lbl_1_bss_1580.unk10, 0x17, 3); - fn_1_13C78(lbl_1_bss_1580.unk10, 0x13, 3); - fn_1_1AB0(lbl_1_bss_1580.unk10); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_1438[var_r31] = lbl_1_bss_1428[var_r31] = -1; - } - lbl_1_bss_1458[0] = 2; - lbl_1_bss_1448[0] = 0; - lbl_1_bss_1448[1] = 2; - for (var_r31 = 0; var_r31 < lbl_1_bss_1458[0]; var_r31++) { - lbl_1_bss_1490[lbl_1_bss_1448[var_r31]].unk04 = (void*) fn_1_123D8; - lbl_1_bss_1490[lbl_1_bss_1448[var_r31]].unk18 = 0; - } - do { - fn_1_938(); - for (var_r31 = 0; var_r31 < lbl_1_bss_1458[0]; var_r31++) { - if (lbl_1_bss_1490[lbl_1_bss_1448[var_r31]].unk18 != 1) { - break; - } - } - } while (var_r31 < lbl_1_bss_1458[0]); - for (var_r31 = 0; var_r31 < lbl_1_bss_1458[0]; var_r31++) { - lbl_1_bss_1490[lbl_1_bss_1448[var_r31]].unk18 = 2; - } - fn_1_958(150); - if (lbl_1_bss_1428[0] > lbl_1_bss_1428[2]) { - lbl_1_bss_1580.unk348 = 0; - } else { - lbl_1_bss_1580.unk348 = 1; - } - lbl_1_bss_1580.unk10 = fn_1_1624(0, 0, 21, 2, lbl_1_bss_1580.unk14); - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_1580.unk00][2]); - if (lbl_1_bss_1580.unk348 == 0) { - fn_1_13D38(lbl_1_bss_1580.unk10, 0, 0); - fn_1_13D38(lbl_1_bss_1580.unk10, 1, 1); - } else { - fn_1_13D38(lbl_1_bss_1580.unk10, 2, 0); - fn_1_13D38(lbl_1_bss_1580.unk10, 3, 1); - } - fn_1_13C78(lbl_1_bss_1580.unk10, 0x18, 3); - fn_1_1AB0(lbl_1_bss_1580.unk10); - for (var_r31 = 0; var_r31 < lbl_1_bss_1458[0]; var_r31++) { - if (lbl_1_bss_1580.unk348 == 0) { - fn_1_1E28(lbl_1_bss_1490[0].unk00, 1, 14, 15, 0); - fn_1_1E28(lbl_1_bss_1490[1].unk00, 1, 14, 15, 0); - fn_1_1E28(lbl_1_bss_1490[2].unk00, 1, 15, 15, 0); - fn_1_1E28(lbl_1_bss_1490[3].unk00, 1, 15, 15, 0); - } else { - fn_1_1E28(lbl_1_bss_1490[0].unk00, 1, 15, 15, 0); - fn_1_1E28(lbl_1_bss_1490[1].unk00, 1, 15, 15, 0); - fn_1_1E28(lbl_1_bss_1490[2].unk00, 1, 14, 15, 0); - fn_1_1E28(lbl_1_bss_1490[3].unk00, 1, 14, 15, 0); - } - } - fn_1_958(35); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - fn_1_1E28(lbl_1_bss_1490[var_r31].unk00, 1, 1, 15, 1); - } - fn_1_958(85); - lbl_1_bss_1580.unk10 = fn_1_1624(0, 0, 21, 2, lbl_1_bss_1580.unk14); - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_1580.unk00][3]); - fn_1_13C78(lbl_1_bss_1580.unk10, 0x15, 3); - fn_1_1AB0(lbl_1_bss_1580.unk10); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - fn_1_1E28(lbl_1_bss_1490[var_r31].unk00, 1, 1, 15, 1); - } - HuAudSeqFadeOut(lbl_1_bss_58, 1000); - lbl_1_bss_68[0] = HuAudFXPlay(0x9E); - lbl_1_bss_B0 = 1.0f; - fn_1_7004(0x40, 30, 0); - fn_1_8C18(); -} - -void fn_1_BE5C(void) { - float var_f31; - - var_f31 = fn_1_878(0.0f, 0.1f, lbl_1_bss_B8, 180.0f); - Hu3DData[lbl_1_bss_1530.unk00->model[20]].pos.y += var_f31; - lbl_1_bss_B8++; - if (lbl_1_bss_B8 >= 180) { - lbl_1_bss_B8 -= 180; - } -} - -void fn_1_BF60(void) { - float temp_f1; - - temp_f1 = fn_1_878(1.0f, 1.1f, lbl_1_bss_B8, 60.0f); - Hu3DModelScaleSet(lbl_1_bss_1530.unk00->model[23], temp_f1, temp_f1, 1.0f); - lbl_1_bss_B8++; - if (lbl_1_bss_B8 >= 60) { - lbl_1_bss_B8 -= 60; - } -} - -s32 lbl_1_data_364 = -1; -s32 lbl_1_data_368 = -1; // unused - -void fn_1_C060(float arg8) { - float sp20[] = { - 50.0f, 50.0f, 60.0f, 50.0f, - 50.0f, 80.0f, 60.0f, 120.0f - }; - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - float temp_f29; - float var_f28; - float temp_f27; - float var_f26; - s32 var_r31; - - lbl_1_bss_BC = arg8; - fn_1_938(); - var_f31 = arg8; - var_f30 = 0.0f; - temp_f29 = 3600.0f; - Hu3DModelPosSet(lbl_1_bss_1530.unk00->model[20], var_f31, 1000.0f, 460.0f); - Hu3DModelScaleSet(lbl_1_bss_1530.unk00->model[20], 0.5f, 0.5f, 0.5f); - Hu3DModelAttrReset(lbl_1_bss_1530.unk00->model[20], HU3D_ATTR_DISPOFF); - fn_1_1E28(lbl_1_bss_1530.unk00, 20, 20, 0, 2); - Hu3DModelPosSet(lbl_1_bss_1530.unk00->model[21], var_f31, 1000.0f, 460.0f); - Hu3DModelScaleSet(lbl_1_bss_1530.unk00->model[21], 0.5f, 0.5f, 0.5f); - fn_1_1E28(lbl_1_bss_1530.unk00, 21, 21, 0, 2); - Hu3DModelPosSet(lbl_1_bss_1530.unk00->model[22], var_f31, 1000.0f, 460.0f); - Hu3DModelScaleSet(lbl_1_bss_1530.unk00->model[22], 0.5f, 0.5f, 0.5f); - Hu3DMotionShapeSpeedSet(lbl_1_bss_1530.unk00->model[22], 2.0f); - Hu3DMotionSpeedSet(lbl_1_bss_1530.unk00->model[22], 2.0f); - Hu3DMotionShiftSpeedSet(lbl_1_bss_1530.unk00->model[22], 2.0f); - fn_1_1E28(lbl_1_bss_1530.unk00, 22, 22, 0, 2); - Hu3DModelScaleSet(lbl_1_bss_1530.unk00->model[23], 0.0f, 0.0f, 1.0f); - Hu3DModelAttrSet(lbl_1_bss_1530.unk00->model[23], HU3D_ATTR_DISPOFF); - fn_1_958(60); - fn_1_39B4(&lbl_1_bss_4); - fn_1_2834(fn_1_845C); - for (var_r31 = 0; var_r31 <= 120; var_r31++) { - fn_1_938(); - if (lbl_1_bss_1580.unk344 == 0) { - var_f30 = fn_1_6F4(1000.0f, 250.0f + sp20[lbl_1_bss_1580.unkC4[lbl_1_bss_1458[1]].unk00.unk10], var_r31, 120.0f); - } else { - var_f30 = fn_1_6F4(1000.0f, 350.0f, var_r31, 120.0f); - } - temp_f29 = fn_1_6F4(1800.0f, 0.0f, var_r31, 120.0f); - var_f28 = fn_1_6F4(1.0f, 0.0f, var_r31, 120.0f); - Hu3DModelPosSet(lbl_1_bss_1530.unk00->model[20], var_f31, var_f30, 460.0f); - Hu3DModelRotSet(lbl_1_bss_1530.unk00->model[20], 0.0f, temp_f29, 0.0f); - } - lbl_1_bss_1530.unk04 = (void*) fn_1_BE5C; - fn_1_958(30); - fn_1_1E28(lbl_1_bss_1530.unk00, 20, 20, 0, 0); - fn_1_958(30); - HuAudFXPlay(0x33B); - fn_1_958(30); - Hu3DModelPosSet(lbl_1_bss_1530.unk00->model[22], var_f31, Hu3DData[lbl_1_bss_1530.unk00->model[20]].pos.y - 10.0f, 460.0f); - Hu3DModelAttrReset(lbl_1_bss_1530.unk00->model[22], HU3D_ATTR_DISPOFF); - fn_1_1E28(lbl_1_bss_1530.unk00, 22, 22, 0, 0); - sp14.x = var_f31; - sp14.y = Hu3DData[lbl_1_bss_1530.unk00->model[20]].pos.y; - sp14.z = 460.0f; - sp8.x = 288.0f; - sp8.y = 100.0f; - sp8.z = 500.0f; - fn_1_1DED8(DATA_MAKE_NUM(DATADIR_MSTORY3, 0), &sp14, &sp8, 100); - fn_1_1E0F4(); - fn_1_958(15); - if (lbl_1_bss_1580.unk344 == 1) { - if (lbl_1_bss_1580.unk348 == 0) { - HuAudCharVoicePlay(lbl_1_bss_1580.unkC4[0].unk00.unk10, 0x12B); - HuAudCharVoicePlay(lbl_1_bss_1580.unkC4[1].unk00.unk10, 0x12B); - } else { - HuAudCharVoicePlay(lbl_1_bss_1580.unkC4[2].unk00.unk10, 0x12B); - HuAudCharVoicePlay(lbl_1_bss_1580.unkC4[3].unk00.unk10, 0x12B); - } - } else { - HuAudCharVoicePlay(lbl_1_bss_1580.unkC4[lbl_1_bss_1458[1]].unk00.unk10, 0x12B); - } - HuAudFXPlay(0xBA); - HuAudFXPlay(0x9A); - Hu3DModelPosSet(lbl_1_bss_1530.unk00->model[21], var_f31, Hu3DData[lbl_1_bss_1530.unk00->model[20]].pos.y, 510.0f); - Hu3DModelAttrReset(lbl_1_bss_1530.unk00->model[21], HU3D_ATTR_DISPOFF); - fn_1_1E28(lbl_1_bss_1530.unk00, 21, 21, 0, 0); - fn_1_958(5); - lbl_1_data_364 = fn_1_814C(1); - Hu3DParManPosSet(lbl_1_data_364, var_f31, Hu3DData[lbl_1_bss_1530.unk00->model[21]].pos.y, 510.0f); - Hu3DModelAttrSet(lbl_1_bss_1530.unk00->model[20], HU3D_ATTR_DISPOFF); - lbl_1_bss_C0 = 1.0f; - for (var_r31 = 0; var_r31 <= 30; var_r31++) { - fn_1_938(); - temp_f27 = fn_1_5D4(0.0f, 1.0f, var_r31, 30.0f); - var_f30 = fn_1_5D4(0.0f, 75.0f, var_r31, 30.0f); - var_f26 = fn_1_5D4(550.0f, 640.0f, var_r31, 30.0f); - Hu3DModelPosSet(lbl_1_bss_1530.unk00->model[23], var_f31, Hu3DData[lbl_1_bss_1530.unk00->model[20]].pos.y - var_f30, var_f26); - Hu3DModelScaleSet(lbl_1_bss_1530.unk00->model[23], temp_f27, temp_f27, 1.0f); - var_f28 = fn_1_5D4(1.0f, 0.0f, var_r31, 30.0f); - Hu3DModelTPLvlSet(lbl_1_bss_1530.unk00->model[22], var_f28); - } - lbl_1_bss_B8 = 0; - lbl_1_bss_1530.unk04 = (void*) fn_1_BF60; - fn_1_958(30); - Hu3DParManKill(lbl_1_data_364); - lbl_1_data_364 = -1; - fn_1_958(240); - fn_1_1834(MAKE_MESSID(36, 7), 0); - if (lbl_1_bss_1580.unk344 == 1) { - if (lbl_1_bss_1580.unk348 == 0) { - if (lbl_1_bss_1580.unkC4[0].unk00.unk08 == 1 && lbl_1_bss_1580.unkC4[1].unk00.unk08 == 1) { - fn_1_958(30); - } else { - while (TRUE) { - fn_1_938(); - if (lbl_1_bss_1580.unkC4[0].unk00.unk08 == 0 && (HuPadBtnDown[lbl_1_bss_1580.unkC4[0].unk00.unk14] & PAD_BUTTON_A)) { - break; - } - if (lbl_1_bss_1580.unkC4[1].unk00.unk08 == 0 && (HuPadBtnDown[lbl_1_bss_1580.unkC4[1].unk00.unk14] & PAD_BUTTON_A)) { - break; - } - } - } - } else { - if (lbl_1_bss_1580.unkC4[2].unk00.unk08 == 1 && lbl_1_bss_1580.unkC4[3].unk00.unk08 == 1) { - fn_1_958(30); - } else { - while (TRUE) { - fn_1_938(); - if (lbl_1_bss_1580.unkC4[0].unk00.unk08 == 0 && (HuPadBtnDown[lbl_1_bss_1580.unkC4[0].unk00.unk14] & PAD_BUTTON_A)) { - break; - } - if (lbl_1_bss_1580.unkC4[1].unk00.unk08 == 0 && (HuPadBtnDown[lbl_1_bss_1580.unkC4[1].unk00.unk14] & PAD_BUTTON_A)) { - break; - } - } - } - } - } else if (lbl_1_bss_1580.unk08 == 0) { - if (lbl_1_bss_1580.unkC4[lbl_1_bss_1580.unk0C].unk00.unk08 != 1) { - fn_1_2420(lbl_1_bss_1580.unkC4[lbl_1_bss_1580.unk0C].unk00.unk14, PAD_BUTTON_A); - } else { - fn_1_958(30); - } - } else { - fn_1_2420(0, PAD_BUTTON_A); - } - HuAudFXPlay(0x1C); -} - -void fn_1_CE6C(omObjData* arg0) { - StructBss1530* sp8 = arg0->data; - s32 var_r31; - - fn_1_91C8(); - fn_1_9220(); - fn_1_9488(); - fn_1_9768(); - if (lbl_1_bss_1580.unk04 != 0) { - fn_1_9A64(0); - fn_1_9A64(1); - fn_1_9A64(2); - } - var_r31 = fn_1_A314(); - if (lbl_1_bss_1580.unk344 == 1) { - if (var_r31 == -1) { - fn_1_B788(); - } - } else if (lbl_1_bss_1458[0] > 1) { - fn_1_A4F0(); - } - fn_1_ABAC(); - if (lbl_1_bss_1580.unk344 == 1) { - if (lbl_1_bss_1580.unk348 == 0) { - fn_1_C060(lbl_1_data_130[0].x + 100.0f); - } else { - fn_1_C060(lbl_1_data_130[2].x + 100.0f); - } - } else { - fn_1_C060(lbl_1_data_130[lbl_1_bss_1458[1]].x); - } - fn_1_958(60); - fn_1_9140(); -} - -void fn_1_D48C(void) { - omObjData* temp_r3; - - temp_r3 = omAddObjEx(lbl_1_bss_A8, 0x100, 16, 16, -1, NULL); - lbl_1_bss_1558.unk00 = temp_r3; - lbl_1_bss_1558.unk04 = (void*) fn_1_CE6C; - lbl_1_bss_1558.unk00->data = &lbl_1_bss_1558; - while (TRUE) { - fn_1_938(); - if (lbl_1_bss_1558.unk04 != NULL) { - lbl_1_bss_1558.unk04(temp_r3); - } - } -} - -void fn_1_D538(omObjData* arg0) { - float sp8; - float var_f30; - float var_f31; - StructBss1530* temp_r31; - s32 var_r30; - s32 var_r29; - - temp_r31 = arg0->data; - var_f31 = 1.75f; - sp8 = 0.5f; - var_r29 = 0; - HuAudFXPlay(0xBA); - HuAudFXPlay(0x9A); - lbl_1_bss_1580.unk324 = 1; - espDispOn(temp_r31->unk14); - espScaleSet(temp_r31->unk14, 0.0f, 0.0f); - for (var_r30 = 0; var_r30 < 120; var_r30++) { - fn_1_938(); - if (var_r30 < 60) { - var_f30 = fn_1_6F4(0.0f, 1.75f, var_r30, 60.0f); - } else { - var_f30 = fn_1_7BC(var_f31, 1.0f, var_r29, 15.0f); - var_r29++; - if (var_r29 == 15) { - if (var_f31 > 1.25f) { - var_f31 -= 0.1f; - } - var_r29 = 0; - } - } - espScaleSet(temp_r31->unk14, var_f30, var_f30); - } - temp_r31->unk04 = 0; -} - -void fn_1_D718(omObjData* arg0) { - float temp_f31; - - temp_f31 = lbl_1_bss_1580.unk20 / 255.0f; - Hu3DModelAmbSet(arg0->model[1], temp_f31, temp_f31, temp_f31); - Hu3DModelAmbSet(arg0->model[2], temp_f31, temp_f31, temp_f31); - Hu3DModelAmbSet(arg0->model[3], temp_f31, temp_f31, temp_f31); -} - -float lbl_1_data_36C[] = { 0.0f, 120.0f, 240.0f }; - -void fn_1_D7D8(omObjData* arg0) { - s32 var_r30; - - if (lbl_1_bss_B0 == 1.0f) { - Hu3DModelAttrReset(arg0->model[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(arg0->model[5], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(arg0->model[6], HU3D_ATTR_DISPOFF); - lbl_1_bss_C4 += 0.033333335f; - if (lbl_1_bss_C4 >= 0.5f) { - lbl_1_bss_C4 = 0.5f; - } - } else { - if (lbl_1_bss_B0 == 0.0f) { - lbl_1_bss_C4 -= 0.033333335f; - if (lbl_1_bss_C4 <= 0.0f) { - lbl_1_bss_C4 = 0.0f; - Hu3DModelAttrSet(arg0->model[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[5], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[6], HU3D_ATTR_DISPOFF); - return; - } - } else { - Hu3DModelAttrSet(arg0->model[4], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[5], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(arg0->model[6], HU3D_ATTR_DISPOFF); - return; - } - } - for (var_r30 = 0; var_r30 < 3; var_r30++) { - Hu3DModelTPLvlSet(arg0->model[var_r30 + 4], lbl_1_bss_C4); - Hu3DModelRotSet(arg0->model[var_r30 + 4], 0.0f, 0.0f, lbl_1_bss_1408[var_r30][1]); - lbl_1_bss_1408[var_r30][0] = 10.0 * cosd(11.0f * lbl_1_data_36C[var_r30]); - lbl_1_bss_1408[var_r30][1] = 30.0 * sind(8.0f * lbl_1_data_36C[var_r30]); - if ((lbl_1_data_36C[var_r30] += 0.4f) >= 360.0f) { - lbl_1_data_36C[var_r30] -= 360.0f; - } - } -} - -void fn_1_DB68(omObjData* arg0, s32 arg1, s32 arg2) { - s32 sp8[] = { DATA_MAKE_NUM(DATADIR_MSTORY3, 6), DATA_MAKE_NUM(DATADIR_MSTORY3, 5) }; - s32 var_r30; - - if (arg2 < 5) { - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 4)); - arg0->motion[0] = Hu3DMotionIDGet(arg0->model[1]); - fn_1_1E28(arg0, 1, 0, 0, 2); - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 8)); - arg0->model[3] = Hu3DModelCreateFile(sp8[arg1]); - arg0->motion[3] = Hu3DMotionIDGet(arg0->model[3]); - fn_1_1E28(arg0, 3, 3, 0, 1); - Hu3DModelShadowMapObjSet(arg0->model[1], "base_fix9-base"); - } else { - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 7)); - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 8)); - arg0->model[3] = Hu3DModelCreateFile(sp8[arg1]); - Hu3DModelAttrSet(arg0->model[3], HU3D_ATTR_DISPOFF); - arg0->motion[3] = Hu3DMotionIDGet(arg0->model[1]); - fn_1_1E28(arg0, 1, 3, 0, 1); - Hu3DModelShadowMapObjSet(arg0->model[1], "base_story-base"); - } - for (var_r30 = 4; var_r30 < 7; var_r30++) { - arg0->model[var_r30] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 11)); - Hu3DModelTPLvlSet(arg0->model[var_r30], 0.0f); - Hu3DModelPosSet(arg0->model[var_r30], -200.0f + 200.0f * (var_r30 - 4), 750.0f, 500.0f); - Hu3DModelScaleSet(arg0->model[var_r30], 1.25f, 2.0f, 1.25f); - Hu3DModelAttrSet(arg0->model[var_r30], HU3D_ATTR_DISPOFF); - } - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[2], DATA_MAKE_NUM(DATADIR_MSTORY3, 9)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[2], DATA_MAKE_NUM(DATADIR_MSTORY3, 10)); - lbl_1_bss_1530.unk14 = espEntry(DATA_MAKE_NUM(DATADIR_MSTORY3, 30), 0, 0); - espPosSet(lbl_1_bss_1530.unk14, 288.0f, 110.0f); - espDispOff(lbl_1_bss_1530.unk14); - fn_1_1E28(arg0, 2, 2, 0, 2); - fn_1_35C8(arg0->model[1]); - fn_1_35C8(arg0->model[2]); - fn_1_35C8(arg0->model[3]); - arg0->model[20] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 31) + arg2); - arg0->motion[20] = Hu3DMotionIDGet(arg0->model[20]); - Hu3DModelPosSet(arg0->model[20], 0.0f, 0.0f, 0.0f); - Hu3DModelAttrSet(arg0->model[20], HU3D_ATTR_DISPOFF); - fn_1_1E28(arg0, 20, 20, 0, 2); - arg0->model[21] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 37)); - arg0->motion[21] = Hu3DMotionIDGet(arg0->model[21]); - Hu3DModelPosSet(arg0->model[21], 0.0f, 0.0f, 0.0f); - Hu3DModelAttrSet(arg0->model[21], HU3D_ATTR_DISPOFF); - fn_1_1E28(arg0, 21, 21, 0, 2); - arg0->model[22] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 38)); - arg0->motion[22] = Hu3DMotionIDGet(arg0->model[22]); - Hu3DModelPosSet(arg0->model[22], 0.0f, 0.0f, 0.0f); - Hu3DModelAttrSet(arg0->model[22], HU3D_ATTR_DISPOFF); - fn_1_1E28(arg0, 22, 22, 0, 2); - arg0->model[23] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 39)); - Hu3DModelPosSet(arg0->model[23], 0.0f, 0.0f, 0.0f); - Hu3DModelAttrSet(arg0->model[23], HU3D_ATTR_DISPOFF); -} - -void fn_1_E160(omObjData* arg0) { - s32 var_r28; - s32 var_r29; - s32 var_r31; - - if (lbl_1_bss_C0 == 0.0f) { - return; - } - Hu3DGLightColorSet(lbl_1_bss_1580.unk1C, lbl_1_bss_1580.unk20, lbl_1_bss_1580.unk20, lbl_1_bss_1580.unk20, 0xFF); - lbl_1_bss_1580.unk20++; - if (lbl_1_bss_1580.unk20 >= 128) { - lbl_1_bss_1580.unk20 = 128; - } - for (var_r31 = 1; var_r31 < 80; var_r31++) { - switch (lbl_1_bss_C8[var_r31].unk00) { - case 0: - lbl_1_bss_C8[var_r31].unk30 = Hu3DData[arg0->model[var_r31]].pos.y = 450.0f + rand8() % 150; - lbl_1_bss_C8[var_r31].unk00 = 1; - break; - case 3: - lbl_1_bss_C8[var_r31].unk30 = Hu3DData[arg0->model[var_r31]].pos.y = 500.0f; - /* fallthrough */ - case 1: - if (var_r31 % 3 != 0) { - var_r28 = rand8() % 4; - } else { - var_r28 = 5; - } - switch (var_r28) { - case 0: - Hu3DModelAmbSet(arg0->model[var_r31], 1.0f, 1.0f, 1.0f); - break; - case 1: - Hu3DModelAmbSet(arg0->model[var_r31], 1.0f, 0.0f, 0.0f); - break; - case 2: - Hu3DModelAmbSet(arg0->model[var_r31], 0.0f, 1.0f, 0.0f); - break; - case 3: - Hu3DModelAmbSet(arg0->model[var_r31], 0.0f, 0.0f, 1.0f); - break; - case 5: - break; - } - Hu3DModelAttrReset(arg0->model[var_r31], HU3D_ATTR_DISPOFF); - if (lbl_1_bss_1580.unk344 == 0) { - lbl_1_bss_C8[var_r31].unk2C = Hu3DData[arg0->model[var_r31]].pos.x = -50.0f + lbl_1_bss_BC + rand8() % 100; - } else { - lbl_1_bss_C8[var_r31].unk2C = Hu3DData[arg0->model[var_r31]].pos.x = -100.0f + lbl_1_bss_BC + rand8() % 200; - } - lbl_1_bss_C8[var_r31].unk34 = Hu3DData[arg0->model[var_r31]].pos.z = 460.0f; - Hu3DData[arg0->model[var_r31]].rot.x = rand8(); - Hu3DData[arg0->model[var_r31]].rot.y = rand8(); - Hu3DData[arg0->model[var_r31]].rot.z = rand8(); - lbl_1_bss_C8[var_r31].unk20 = (rand8() % 50 + -1.0f) / 100.0f; - if (var_r31 % 2 == 0) { - lbl_1_bss_C8[var_r31].unk20 *= -1.0f; - } - lbl_1_bss_C8[var_r31].unk24 = ((rand8() % 100 + 100) / 100.0f) * -1.0f; - lbl_1_bss_C8[var_r31].unk28 = (rand8() % 100 - 1) / 100; - lbl_1_bss_C8[var_r31].unk10 = (rand8() % 100 - 50) / 5; - lbl_1_bss_C8[var_r31].unk14 = (rand8() % 100 - 50) / 5; - lbl_1_bss_C8[var_r31].unk18 = (rand8() % 100 - 50) / 5; - lbl_1_bss_C8[var_r31].unk00 = 2; - break; - case 2: - if (lbl_1_bss_C8[var_r31].unk04-- <= 0) { - lbl_1_bss_C8[var_r31].unk04 = rand8() % 30 + 30; - lbl_1_bss_C8[var_r31].unk20 = (rand8() % 50 + -1.0f) / 100.0f; - if (var_r31 % 2 == 0) { - lbl_1_bss_C8[var_r31].unk20 *= -1.0f; - } - lbl_1_bss_C8[var_r31].unk24 = ((rand8() % 100 + 100) / 100.0f) *-1.0f; - lbl_1_bss_C8[var_r31].unk28 = (rand8() % 100 - 1) / 100; - lbl_1_bss_C8[var_r31].unk10 = (rand8() % 100 - 50) / 5; - lbl_1_bss_C8[var_r31].unk14 = (rand8() % 100 - 50) / 5; - lbl_1_bss_C8[var_r31].unk18 = (rand8() % 100 - 50) / 5; - } - lbl_1_bss_C8[var_r31].unk2C += lbl_1_bss_C8[var_r31].unk20; - lbl_1_bss_C8[var_r31].unk30 += lbl_1_bss_C8[var_r31].unk24; - lbl_1_bss_C8[var_r31].unk34 += lbl_1_bss_C8[var_r31].unk28; - Hu3DData[arg0->model[var_r31]].rot.x += lbl_1_bss_C8[var_r31].unk10; - Hu3DData[arg0->model[var_r31]].rot.y += lbl_1_bss_C8[var_r31].unk14; - Hu3DData[arg0->model[var_r31]].rot.z += lbl_1_bss_C8[var_r31].unk18; - if (Hu3DData[arg0->model[var_r31]].pos.y <= 0.0f) { - lbl_1_bss_C8[var_r31].unk00 = 3; - } - break; - case 10: - Hu3DModelAttrReset(arg0->model[var_r31], HU3D_ATTR_DISPOFF); - if (var_r31 % 3 != 0) { - var_r28 = rand8() % 4; - } else { - var_r28 = 5; - } - switch (var_r28) { - case 0: - Hu3DModelAmbSet(arg0->model[var_r31], 1.0f, 1.0f, 1.0f); - break; - case 1: - Hu3DModelAmbSet(arg0->model[var_r31], 1.0f, 0.0f, 0.0f); - break; - case 2: - Hu3DModelAmbSet(arg0->model[var_r31], 0.0f, 1.0f, 0.0f); - break; - case 3: - Hu3DModelAmbSet(arg0->model[var_r31], 0.0f, 0.0f, 1.0f); - break; - case 5: - break; - } - lbl_1_bss_C8[var_r31].unk2C = Hu3DData[arg0->model[var_r31]].pos.x = lbl_1_bss_BC; - lbl_1_bss_C8[var_r31].unk30 = Hu3DData[arg0->model[var_r31]].pos.y = 375.0f; - lbl_1_bss_C8[var_r31].unk34 = Hu3DData[arg0->model[var_r31]].pos.z = 460.0f; - var_r29 = rand8(); - if (rand8() % 2 == 0) { - var_r29 *= -1; - } - lbl_1_bss_C8[var_r31].unk2C += var_r29; - var_r29 = rand8(); - if (rand8() % 2 == 0) { - var_r29 *= -1; - } - lbl_1_bss_C8[var_r31].unk30 += var_r29; - var_r29 = rand8() % 50; - if (rand8() % 2 == 0) { - var_r29 *= -1; - } - lbl_1_bss_C8[var_r31].unk34 += var_r29; - lbl_1_bss_C8[var_r31].unk20 = (rand8() % 50 + -1.0f) / 100.0f; - if (var_r31 % 2 == 0) { - lbl_1_bss_C8[var_r31].unk20 *= -1.0f; - } - lbl_1_bss_C8[var_r31].unk24 = ((rand8() % 100 + 100) / 100.0f) * -1.0f; - lbl_1_bss_C8[var_r31].unk28 = (rand8() % 100 - 1) / 100; - lbl_1_bss_C8[var_r31].unk10 = (rand8() % 100 - 50) / 5; - lbl_1_bss_C8[var_r31].unk14 = (rand8() % 100 - 50) / 5; - lbl_1_bss_C8[var_r31].unk18 = (rand8() % 100 - 50) / 5; - lbl_1_bss_C8[var_r31].unk08 = 0; - lbl_1_bss_C8[var_r31].unk04 = rand8() % 30 + 30; - lbl_1_bss_C8[var_r31].unk00 = 11; - break; - case 11: - if (lbl_1_bss_C8[var_r31].unk04-- <= 0) { - lbl_1_bss_C8[var_r31].unk04 = rand8() % 30 + 30; - lbl_1_bss_C8[var_r31].unk20 = (rand8() % 50 + -1.0f) / 100.0f; - if (var_r31 % 2 == 0) { - lbl_1_bss_C8[var_r31].unk20 *= -1.0f; - } - lbl_1_bss_C8[var_r31].unk24 = ((rand8() % 100 + 100) / 100.0f) * -1.0f; - lbl_1_bss_C8[var_r31].unk28 = (rand8() % 100 - 1) / 100; - lbl_1_bss_C8[var_r31].unk10 = (rand8() % 100 - 50) / 5; - lbl_1_bss_C8[var_r31].unk14 = (rand8() % 100 - 50) / 5; - lbl_1_bss_C8[var_r31].unk18 = (rand8() % 100 - 50) / 5; - } - lbl_1_bss_C8[var_r31].unk2C += lbl_1_bss_C8[var_r31].unk20; - lbl_1_bss_C8[var_r31].unk30 += lbl_1_bss_C8[var_r31].unk24 / 2; - lbl_1_bss_C8[var_r31].unk34 += lbl_1_bss_C8[var_r31].unk28; - Hu3DData[arg0->model[var_r31]].rot.x += lbl_1_bss_C8[var_r31].unk10; - Hu3DData[arg0->model[var_r31]].rot.y += lbl_1_bss_C8[var_r31].unk14; - Hu3DData[arg0->model[var_r31]].rot.z += lbl_1_bss_C8[var_r31].unk18; - if (lbl_1_bss_C8[var_r31].unk08++ >= 50) { - lbl_1_bss_C8[var_r31].unk00 = 2; - } - break; - } - Hu3DData[arg0->model[var_r31]].pos.x = fn_1_5FC(Hu3DData[arg0->model[var_r31]].pos.x, lbl_1_bss_C8[var_r31].unk2C, 30.0f); - Hu3DData[arg0->model[var_r31]].pos.y = fn_1_5FC(Hu3DData[arg0->model[var_r31]].pos.y, lbl_1_bss_C8[var_r31].unk30, 30.0f); - Hu3DData[arg0->model[var_r31]].pos.z = fn_1_5FC(Hu3DData[arg0->model[var_r31]].pos.z, lbl_1_bss_C8[var_r31].unk34, 30.0f); - } -} - -void fn_1_FD30(omObjData* arg0) { - s32 var_r30; - - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 17)); - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 18)); - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); - for (var_r30 = 2; var_r30 < 80; var_r30++) { - if (var_r30 % 3 == 0) { - arg0->model[var_r30] = Hu3DModelLink(arg0->model[1]); - } else { - arg0->model[var_r30] = Hu3DModelLink(arg0->model[0]); - } - Hu3DModelAttrSet(arg0->model[var_r30], HU3D_ATTR_DISPOFF); - lbl_1_bss_C8[var_r30].unk04 = lbl_1_bss_C8[var_r30].unk08 = 0; - lbl_1_bss_C8[var_r30].unk00 = 10; - } - arg0->func = fn_1_E160; -} - -void fn_1_FE80(void) { - omObjData* temp_r31; - omObjData* sp8; - - temp_r31 = omAddObjEx(lbl_1_bss_A8, 0x100, 0x20, 0x20, -1, NULL); - sp8 = omAddObjEx(lbl_1_bss_A8, 0x100, 0x80, 0, -1, fn_1_FD30); - lbl_1_bss_1530.unk00 = temp_r31; - lbl_1_bss_1530.unk04 = NULL; - lbl_1_bss_1530.unk00->data = &lbl_1_bss_1530; - fn_1_DB68(temp_r31, lbl_1_bss_1580.unk08, lbl_1_bss_1580.unk00); - while (TRUE) { - fn_1_938(); - if (lbl_1_bss_1530.unk04 != NULL) { - lbl_1_bss_1530.unk04(temp_r31); - } - fn_1_D7D8(temp_r31); - } -} - -void fn_1_FF7C(s32 arg0) { - s32 sp30[4]; - s32 sp20[4]; - s32 sp10[4]; - s32 i, j; - s32 var_r29; - - sp30[0] = 0; - for (i = 1; i < 4; i++) { - sp30[i] = sp30[i - 1] + 1; - if (sp30[i] >= 4) { - sp30[i] = 0; - } - if (arg0 == sp30[i]) { - lbl_1_bss_1580.unk0C = i; - } - } - if (lbl_1_bss_1580.unk08 != 0) { - lbl_1_bss_1580.unk14 = arg0; - } - if (lbl_1_bss_1580.unk344 == 1) { - var_r29 = 0; - for (i = 0; i < 4; i++) { - sp10[0] = GWPlayer[sp30[0]].team; - sp10[1] = GWPlayer[sp30[1]].team; - sp10[2] = GWPlayer[sp30[2]].team; - sp10[3] = GWPlayer[sp30[3]].team; - sp20[i] = sp30[i]; - } - OSReport("########## Sort Start WIN:%d IDX (%d,%d), (%d,%d), (%d,%d), (%d,%d)\n", - var_r29, sp10[0], sp30[0], sp10[1], sp30[1], sp10[2], sp30[2], sp10[3], sp30[3]); - for (i = 0; i < 4; i++) { - for (j = 0; j < 4; j++) { - if (sp10[j] != -1 && var_r29 == sp10[j]) { - sp10[j] = -1; - sp30[i] = sp20[j]; - break; - } - } - if (i == 1) { - var_r29++; - var_r29 %= 2; - } - } - OSReport("########## Sort End WIN:%d IDX %d, %d, %d, %d\n", var_r29, sp30[0], sp30[1], sp30[2], sp30[3]); - } - for (i = 0; i < 4; i++) { - fn_1_3650(&lbl_1_bss_1580.unkC4[i].unk00, sp30[i]); - } - for (i = 0; i < 4; i++) { - lbl_1_bss_1580.unkC4[i].unk00.unk1C = GWPlayer[sp30[i]].coins; - lbl_1_bss_1580.unkC4[i].unk00.unk20 = GWPlayer[sp30[i]].stars; - lbl_1_bss_1580.unkC4[i].unk00.unk24 = GWPlayer[sp30[i]].coins_mg; - lbl_1_bss_1580.unkC4[i].unk00.unk28 = GWPlayer[sp30[i]].coins_max; - lbl_1_bss_1580.unkC4[i].unk00.unk2C = GWPlayer[sp30[i]].question_count; - } -} - -void fn_1_1036C(omObjData* arg0) { - float var_f29; - float var_f30; - float temp_f31; - s32 temp_r25; - s32 var_r26; - s32 var_r27 = 3; - StructBss1530* temp_r30 = arg0->data; - char* sp98[][3] = { - { "submit07-star_null3", "submit07-star_null1", "submit07-star_null1" }, - { "submit07-star_null4", "submit07-star_null2", "submit07-star_null1" }, - { "submit07-star_null5", "submit07-star_null3", "submit07-star_null1" } - }; - Mtx sp68; - Mtx sp38; - Mtx sp8; - s32 var_r28; - s32 var_r29; - - Hu3DModelPosSet(arg0->model[3], lbl_1_data_130[temp_r30->unk08].x, 100.0f, lbl_1_data_130[temp_r30->unk08].z - 20.0f); - Hu3DModelRotSet(arg0->model[3], 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[3], 0.0f, 0.0f, 0.0f); - if ((temp_r25 = lbl_1_bss_1580.unkC4[temp_r30->unk08].unk00.unk20 / 100) == 0) { - var_r27 = 2; - } else { - Hu3DMotionTimeSet(arg0->model[9], (temp_r25 + 1) % 10); - } - if ((temp_r25 = (lbl_1_bss_1580.unkC4[temp_r30->unk08].unk00.unk20 % 100) / 10) == 0 && var_r27 == 2) { - var_r27 = 1; - } else { - Hu3DMotionTimeSet(arg0->model[8], (temp_r25 + 1) % 10); - } - temp_r25 = lbl_1_bss_1580.unkC4[temp_r30->unk08].unk00.unk20 % 10; - Hu3DMotionTimeSet(arg0->model[7], (temp_r25 + 1) % 10); - Hu3DModelAttrReset(arg0->model[3], HU3D_ATTR_DISPOFF); - for (var_r28 = 0; var_r28 < 90; var_r28++) { - fn_1_938(); - var_f29 = fn_1_6F4(100.0f, 300.0f, var_r28, 90.0f); - var_f30 = fn_1_6F4(0.0f, 1080.0f, var_r28, 90.0f); - temp_f31 = fn_1_6F4(0.0f, 0.75f, var_r28, 90.0f); - Hu3DModelPosSet(arg0->model[3], lbl_1_data_130[temp_r30->unk08].x, var_f29, lbl_1_data_130[temp_r30->unk08].z - 20.0f); - Hu3DModelRotSet(arg0->model[3], 0.0f, var_f30, 0.0f); - Hu3DModelScaleSet(arg0->model[3], temp_f31, temp_f31, temp_f31); - for (var_r29 = 0; var_r29 < var_r27; var_r29++) { - if (var_f30 >= 900.0f) { - Hu3DModelAttrReset(arg0->model[var_r29 + 7], HU3D_ATTR_DISPOFF); - } - Hu3DModelObjMtxGet(arg0->model[3], sp98[var_r27 - 1][var_r29], sp68); - Hu3DModelPosSet(arg0->model[var_r29 + 7], sp68[0][3], sp68[1][3], sp68[2][3]); - Hu3DModelRotSet(arg0->model[var_r29 + 7], 0.0f, var_f30, 0.0f); - Hu3DModelScaleSet(arg0->model[var_r29 + 7], temp_f31, temp_f31, temp_f31); - } - } - var_r28 = var_r29 = var_r26 = 0; - if (temp_r30->unk1C == 1) { - fn_1_1E28(arg0, 1, 14, 5, 0); - } else { - fn_1_1E28(arg0, 1, 15, 5, 0); - } - do { - fn_1_938(); - if (temp_r30->unk1C == 1) { - temp_f31 = fn_1_878(0.75f, 1.0f, var_r26, 30.0f); - if (var_r26++ >= 29) { - var_r26 = 0; - } - Hu3DModelScaleSet(arg0->model[3], temp_f31, temp_f31, temp_f31); - for (var_r29 = 0; var_r29 < var_r27; var_r29++) { - Hu3DModelObjMtxGet(arg0->model[3], sp98[var_r27 - 1][var_r29], sp38); - Hu3DModelPosSet(arg0->model[var_r29 + 7], sp38[0][3], sp38[1][3], sp38[2][3]); - Hu3DModelRotSet(arg0->model[var_r29 + 7], 0.0f, var_f30, 0.0f); - Hu3DModelScaleSet(arg0->model[var_r29 + 7], temp_f31, temp_f31, temp_f31); - } - } - if (var_r28 == 60) { - fn_1_1E28(arg0, 1, 1, 15, 1); - } - if (var_r28 == 120) { - lbl_1_bss_1580.unk18 = 1; - } - if (var_r28++ >= 120 && (var_r26 == 0 || var_r26 == 15) && temp_r30->unk18 == 1) { - temp_r30->unk18 = 2; - } - } while (temp_r30->unk18 != 3); - HuAudFXPlay(0xBB); - for (var_r28 = 0; var_r28 < 60; var_r28++) { - fn_1_938(); - if (var_r28 > 30) { - var_f29 = fn_1_61C(300.0f, 600.0f, var_r28 - 30, 30.0f); - } - var_f30 = fn_1_61C(0.0f, 360.0f, var_r28, 60.0f); - Hu3DModelPosSet(arg0->model[3], lbl_1_data_130[temp_r30->unk08].x, var_f29, lbl_1_data_130[temp_r30->unk08].z - 20.0f); - Hu3DModelRotSet(arg0->model[3], 0.0f, var_f30, 0.0f); - for (var_r29 = 0; var_r29 < var_r27; var_r29++) { - if (var_f30 >= 180.0f) { - Hu3DModelAttrSet(arg0->model[var_r29 + 7], HU3D_ATTR_DISPOFF); - } - Hu3DModelObjMtxGet(arg0->model[3], sp98[var_r27 - 1][var_r29], sp8); - Hu3DModelPosSet(arg0->model[var_r29 + 7], sp8[0][3], sp8[1][3], sp8[2][3]); - Hu3DModelRotSet(arg0->model[var_r29 + 7], 0.0f, var_f30, 0.0f); - } - } - Hu3DModelAttrSet(arg0->model[3], HU3D_ATTR_DISPOFF); - for (var_r28 = 0; var_r28 < 3; var_r28++) { - Hu3DModelAttrSet(arg0->model[var_r28 + 7], HU3D_ATTR_DISPOFF); - } - temp_r30->unk04 = 0; -} - -void fn_1_10D74(omObjData* arg0) { - float var_f29; - float var_f30; - float temp_f31; - s32 temp_r25; - s32 var_r26; - s32 var_r27 = 3; - StructBss1530* temp_r30 = arg0->data; - char* sp98[][3] = { - { "coin-coin-null3", "coin-coin_null1", "coin-coin-null1" }, - { "coin-coin-null4", "coin-coin-null2", "coin-coin-null1" }, - { "coin-coin-null5", "coin-coin-null3", "coin-coin-null1" } - }; - Mtx sp68; - Mtx sp38; - Mtx sp8; - s32 var_r28; - s32 var_r29; - - Hu3DModelPosSet(arg0->model[4], lbl_1_data_130[temp_r30->unk08].x, 100.0f, lbl_1_data_130[temp_r30->unk08].z - 20.0f); - Hu3DModelRotSet(arg0->model[4], 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[4], 0.0f, 0.0f, 0.0f); - if ((temp_r25 = lbl_1_bss_1580.unkC4[temp_r30->unk08].unk00.unk1C / 100) == 0) { - var_r27 = 2; - } else { - Hu3DMotionTimeSet(arg0->model[9], (temp_r25 + 1) % 10); - } - if ((temp_r25 = (lbl_1_bss_1580.unkC4[temp_r30->unk08].unk00.unk1C % 100) / 10) == 0 && var_r27 == 2) { - var_r27 = 1; - } else { - Hu3DMotionTimeSet(arg0->model[8], (temp_r25 + 1) % 10); - } - temp_r25 = lbl_1_bss_1580.unkC4[temp_r30->unk08].unk00.unk1C % 10; - Hu3DMotionTimeSet(arg0->model[7], (temp_r25 + 1) % 10); - Hu3DModelAttrReset(arg0->model[4], HU3D_ATTR_DISPOFF); - for (var_r28 = 0; var_r28 < 90; var_r28++) { - fn_1_938(); - var_f29 = fn_1_6F4(100.0f, 300.0f, var_r28, 90.0f); - var_f30 = fn_1_6F4(0.0f, 1080.0f, var_r28, 90.0f); - temp_f31 = fn_1_6F4(0.0f, 0.75f, var_r28, 90.0f); - Hu3DModelPosSet(arg0->model[4], lbl_1_data_130[temp_r30->unk08].x, var_f29, lbl_1_data_130[temp_r30->unk08].z - 20.0f); - Hu3DModelRotSet(arg0->model[4], 0.0f, var_f30, 0.0f); - Hu3DModelScaleSet(arg0->model[4], temp_f31, temp_f31, temp_f31); - for (var_r29 = 0; var_r29 < var_r27; var_r29++) { - if (var_f30 >= 900.0f) { - Hu3DModelAttrReset(arg0->model[var_r29 + 7], HU3D_ATTR_DISPOFF); - } - Hu3DModelObjMtxGet(arg0->model[4], sp98[var_r27 - 1][var_r29], sp68); - Hu3DModelPosSet(arg0->model[var_r29 + 7], sp68[0][3], sp68[1][3], sp68[2][3]); - Hu3DModelRotSet(arg0->model[var_r29 + 7], 0.0f, var_f30, 0.0f); - Hu3DModelScaleSet(arg0->model[var_r29 + 7], temp_f31, temp_f31, temp_f31); - } - } - var_r28 = var_r29 = var_r26 = 0; - if (temp_r30->unk1C == 1) { - fn_1_1E28(arg0, 1, 14, 5, 0); - } else { - fn_1_1E28(arg0, 1, 15, 5, 0); - } - do { - fn_1_938(); - if (temp_r30->unk1C == 1) { - temp_f31 = fn_1_878(0.75f, 1.0f, var_r26, 30.0f); - if (var_r26++ >= 29) { - var_r26 = 0; - } - Hu3DModelScaleSet(arg0->model[4], temp_f31, temp_f31, temp_f31); - for (var_r29 = 0; var_r29 < var_r27; var_r29++) { - Hu3DModelObjMtxGet(arg0->model[4], sp98[var_r27 - 1][var_r29], sp38); - Hu3DModelPosSet(arg0->model[var_r29 + 7], sp38[0][3], sp38[1][3], sp38[2][3]); - Hu3DModelRotSet(arg0->model[var_r29 + 7], 0.0f, var_f30, 0.0f); - Hu3DModelScaleSet(arg0->model[var_r29 + 7], temp_f31, temp_f31, temp_f31); - } - } - if (var_r28 == 60) { - fn_1_1E28(arg0, 1, 1, 15, 1); - } - if (var_r28 == 120) { - lbl_1_bss_1580.unk18 = 1; - } - if (var_r28++ >= 120 && (var_r26 == 0 || var_r26 == 15) && temp_r30->unk18 == 1) { - temp_r30->unk18 = 2; - } - } while (temp_r30->unk18 != 3); - fn_1_1E28(arg0, 1, 1, 15, 1); - HuAudFXPlay(0xBC); - for (var_r28 = 0; var_r28 < 60; var_r28++) { - fn_1_938(); - if (var_r28 > 30) { - var_f29 = fn_1_61C(300.0f, 600.0f, var_r28 - 30, 30.0f); - } - var_f30 = fn_1_61C(0.0f, 360.0f, var_r28, 60.0f); - Hu3DModelPosSet(arg0->model[4], lbl_1_data_130[temp_r30->unk08].x, var_f29, lbl_1_data_130[temp_r30->unk08].z - 20.0f); - Hu3DModelRotSet(arg0->model[4], 0.0f, var_f30, 0.0f); - for (var_r29 = 0; var_r29 < var_r27; var_r29++) { - if (var_f30 >= 180.0f) { - Hu3DModelAttrSet(arg0->model[var_r29 + 7], HU3D_ATTR_DISPOFF); - } - Hu3DModelObjMtxGet(arg0->model[4], sp98[var_r27 - 1][var_r29], sp8); - Hu3DModelPosSet(arg0->model[var_r29 + 7], sp8[0][3], sp8[1][3], sp8[2][3]); - Hu3DModelRotSet(arg0->model[var_r29 + 7], 0.0f, var_f30, 0.0f); - } - } - Hu3DModelAttrSet(arg0->model[4], HU3D_ATTR_DISPOFF); - for (var_r28 = 0; var_r28 < 3; var_r28++) { - Hu3DModelAttrSet(arg0->model[var_r28 + 7], HU3D_ATTR_DISPOFF); - } - temp_r30->unk04 = 0; -} - -void fn_1_11794(omObjData* arg0) { - StructBss1530* temp_r30; - - temp_r30 = arg0->data; - fn_1_958(25); - fn_1_1E28(arg0, 1, 15, 5, 0); - fn_1_958(10); - while (TRUE) { - fn_1_938(); - if (Hu3DMotionTimeGet(arg0->model[1]) >= 40.0f) { - break; - } - } - Hu3DModelAttrSet(arg0->model[1], HU3D_MOTATTR_PAUSE); - temp_r30->unk04 = 0; -} - -void fn_1_11834(omObjData* arg0) { - float var_f31; - float var_f30; - float temp_f26; - float temp_f27; - float temp_f25; - float temp_f29; - float temp_f28; - StructBss1530* temp_r31; - s32 temp_r29; - s32 var_r24; - s32 temp_r23; - s32 var_r27; - s32 temp_r25; - s32 var_r28; - - var_f30 = 0.0f; - temp_r31 = arg0->data; - temp_r29 = temp_r31->unk08; - temp_r23 = lbl_1_bss_1490[temp_r29].unk00->work[0]; - var_r24 = 0xFF; - Hu3DModelPosSet(lbl_1_bss_1490[temp_r29].unk00->model[6], lbl_1_data_130[temp_r29].x, 500.0f + lbl_1_data_130[temp_r29].y + lbl_1_bss_AC, lbl_1_data_130[temp_r29].z + 0.1f * lbl_1_bss_AC); - Hu3DModelScaleSet(lbl_1_bss_1490[temp_r29].unk00->model[6], 0.0f, 1.25f, 0.0f); - Hu3DModelTPLvlSet(lbl_1_bss_1490[temp_r29].unk00->model[6], 0.0f); - Hu3DModelAttrReset(lbl_1_bss_1490[temp_r29].unk00->model[6], HU3D_ATTR_DISPOFF); - for (var_r27 = 0; var_r27 <= 5; var_r27++) { - fn_1_938(); - lbl_1_bss_1490[temp_r29].unk00->work[0] = fn_1_6F4(temp_r23, var_r24, var_r27, 5.0f); - temp_f27 = fn_1_6F4(0.0f, 1.5f, var_r27, 5.0f); - temp_f25 = fn_1_6F4(0.0f, 0.5f, var_r27, 5.0f); - temp_r25 = fn_1_6F4(0.0f, 128.0f, var_r27, 5.0f); - Hu3DModelScaleSet(lbl_1_bss_1490[temp_r29].unk00->model[6], temp_f27, 1.25f, temp_f27); - Hu3DModelTPLvlSet(lbl_1_bss_1490[temp_r29].unk00->model[6], temp_f25); - Hu3DLLightColorSet(lbl_1_bss_1490[temp_r29].unk00->model[1], lbl_1_bss_1580.unk24[temp_r29].unk00, temp_r25, temp_r25, temp_r25, 0xFF); - Hu3DLLightColorSet(lbl_1_bss_1490[temp_r29].unk00->model[2], lbl_1_bss_1580.unk24[temp_r29].unk04, temp_r25, temp_r25, temp_r25, 0xFF); - } - lbl_1_bss_1490[temp_r29].unk00->work[1] = 1; - fn_1_958(20); - fn_1_1E28(arg0, 1, 3, 15, 0); - fn_1_2310(arg0, 1, 3, 15); - do { - fn_1_938(); - } while (temp_r31->unk18 == 0); - Hu3DModelPosSet(arg0->model[5], lbl_1_data_130[temp_r31->unk08].x, 300.0f, lbl_1_data_130[temp_r31->unk08].z - 50.0f); - Hu3DModelRotSet(arg0->model[5], 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[5], 0.0f, 0.0f, 0.0f); - Hu3DModelAttrReset(arg0->model[5], HU3D_ATTR_DISPOFF); - HuAudFXPlay(0x338); - for (var_r28 = 0; var_r28 < 60; var_r28++) { - fn_1_938(); - temp_f29 = 10.0 + 10.0 * sind(var_f30); - temp_f28 = 10.0 * sind(2.0f * var_f30); - if (var_r28 < 10) { - var_f31 = fn_1_61C(0.0f, 1.0f, var_r28, 10.0f); - } else { - var_f31 = fn_1_61C(1.0f, 0.5f, var_r28 - 10, 5.0f); - } - if (var_r28 == 10) { - lbl_1_bss_1580.unk334[temp_r31->unk08] = fn_1_8264(); - Hu3DParManPosSet(lbl_1_bss_1580.unk334[temp_r31->unk08], lbl_1_data_130[temp_r31->unk08].x, 300.0f + temp_f29, lbl_1_data_130[temp_r31->unk08].z); - } - if ((var_f30 += 2.0f) >= 360.0f) { - var_f30 -= 360.0f; - } - Hu3DModelPosSet(arg0->model[5], lbl_1_data_130[temp_r31->unk08].x, 300.0f + temp_f29, lbl_1_data_130[temp_r31->unk08].z - 50.0f); - Hu3DModelRotSet(arg0->model[5], 0.0f, temp_f28, 0.0f); - Hu3DModelScaleSet(arg0->model[5], var_f31, var_f31, var_f31); - } - Hu3DParManKill(lbl_1_bss_1580.unk334[temp_r31->unk08]); - lbl_1_bss_1580.unk334[temp_r31->unk08] = -1; - temp_f29 = Hu3DData[arg0->model[5]].pos.y; - temp_f26 = temp_f29; - temp_f28 = Hu3DData[arg0->model[5]].rot.y; - var_f31 = 0.5f; - var_f30 = 0.0f; - for (var_r28 = 0; var_r28 < 90; var_r28++) { - fn_1_938(); - if (var_r28 == 45) { - HuAudFXPlay(0x339); - } - if (var_r28 > 45) { - temp_f29 = fn_1_61C(temp_f26, 100.0f, var_r28 - 45, 45.0f); - var_f31 = fn_1_61C(0.5f, 0.0f, var_r28 - 45, 45.0f); - } - temp_f28 += var_f30 += 0.25f; - Hu3DModelPosSet(arg0->model[5], lbl_1_data_130[temp_r31->unk08].x, temp_f29, lbl_1_data_130[temp_r31->unk08].z - 50.0f); - Hu3DModelRotSet(arg0->model[5], 0.0f, temp_f28, 0.0f); - Hu3DModelScaleSet(arg0->model[5], var_f31, var_f31, var_f31); - } - Hu3DModelAttrSet(arg0->model[5], HU3D_ATTR_DISPOFF); - HuAudFXPlay(8); - lbl_1_bss_1580.unkC4[temp_r31->unk08].unk00.unk20++; - GWPlayer[lbl_1_bss_1580.unkC4[temp_r31->unk08].unk00.unk00].stars++; - if (GWPlayer[lbl_1_bss_1580.unkC4[temp_r31->unk08].unk00.unk00].stars >= 999) { - GWPlayer[lbl_1_bss_1580.unkC4[temp_r31->unk08].unk00.unk00].stars = 999; - } - temp_r31->unk04 = 0; -} - -void fn_1_123D8(omObjData* arg0) { - StructBss1530* temp_r31; - - temp_r31 = arg0->data; - fn_1_15450(temp_r31->unk08); - temp_r31->unk04 = 0; -} - -void fn_1_1241C(omObjData* arg0) { -} - -void fn_1_12420(omObjData* arg0) { - float sp8[] = { 0.0f, -30.0f, -60.0f, -90.0f }; - float temp_f31; - StructBss1530* temp_r31; - s32 var_r27; - s32 var_r29; - s32 var_r28; - - temp_r31 = arg0->data; - if (lbl_1_bss_1580.unk344 == 1) { - var_r27 = 0; - if (lbl_1_bss_1580.unk348 == 1) { - var_r27 = 2; - } - if ((lbl_1_bss_1580.unk348 == 0 && temp_r31->unk08 <= 1) || (lbl_1_bss_1580.unk348 == 1 && temp_r31->unk08 >= 2)) { - Hu3DModelPosSet(arg0->model[2], 100.0f + lbl_1_data_130[temp_r31->unk08].x, -90.0f, lbl_1_data_130[temp_r31->unk08].z); - fn_1_958(90); - if (temp_r31->unk08 == var_r27) { - Hu3DModelAttrReset(arg0->model[2], HU3D_ATTR_DISPOFF); - } - if (arg0->work[0] == 0) { - HuAudFXPlay(0xA8); - } - for (var_r28 = 0; var_r28 <= 30; var_r28++) { - fn_1_938(); - temp_f31 = fn_1_6F4(-90.0f, 0.0f, var_r28, 30.0f); - Hu3DModelPosSet(arg0->model[1], lbl_1_data_130[temp_r31->unk08].x, 90.0f + temp_f31, lbl_1_data_130[temp_r31->unk08].z - 20.0f); - Hu3DModelPosSet(arg0->model[2], 100.0f + lbl_1_data_130[temp_r31->unk08].x, temp_f31, lbl_1_data_130[temp_r31->unk08].z - 20.0f); - } - } - } else { - Hu3DModelPosSet(arg0->model[2], lbl_1_data_130[temp_r31->unk08].x, -90.0f, lbl_1_data_130[temp_r31->unk08].z); - if (lbl_1_bss_1580.unkC4[temp_r31->unk08].unk00.unk18 != 4) { - } - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (arg0->work[0] == 0 && var_r29 >= 1) { - HuAudFXPlay(0xA5 + var_r29); - } - if (var_r29 != 3) { - for (var_r28 = 0; var_r28 < 30; var_r28++) { - fn_1_938(); - if (sp8[lbl_1_bss_1580.unkC4[temp_r31->unk08].unk00.unk18 - 1] >= sp8[3 - var_r29] && 4 - var_r29 < 4) { - temp_f31 = fn_1_6F4(sp8[4 - var_r29], sp8[3 - var_r29], var_r28, 30.0f); - if (var_r29 == 1) { - Hu3DModelAttrReset(arg0->model[2], HU3D_ATTR_DISPOFF); - } - Hu3DModelPosSet(arg0->model[1], lbl_1_data_130[temp_r31->unk08].x, 90.0f + temp_f31, lbl_1_data_130[temp_r31->unk08].z - 20.0f); - Hu3DModelPosSet(arg0->model[2], lbl_1_data_130[temp_r31->unk08].x, temp_f31, lbl_1_data_130[temp_r31->unk08].z - 20.0f); - } - } - } else { - for (var_r28 = 0; var_r28 < 10; var_r28++) { - fn_1_938(); - if ((sp8[lbl_1_bss_1580.unkC4[temp_r31->unk08].unk00.unk18 - 1] >= sp8[3 - var_r29]) && ((4 - var_r29) < 4)) { - temp_f31 = fn_1_6F4(sp8[4 - var_r29], sp8[3 - var_r29], var_r28, 10.0f); - if (var_r29 == 1) { - Hu3DModelAttrReset(arg0->model[2], HU3D_ATTR_DISPOFF); - } - Hu3DModelPosSet(arg0->model[1], lbl_1_data_130[temp_r31->unk08].x, 90.0f + temp_f31, lbl_1_data_130[temp_r31->unk08].z - 20.0f); - Hu3DModelPosSet(arg0->model[2], lbl_1_data_130[temp_r31->unk08].x, temp_f31, lbl_1_data_130[temp_r31->unk08].z - 20.0f); - } - } - } - if (var_r29 == 2) { - fn_1_958(120); - } else if (var_r29 != 3) { - fn_1_958(60); - } - } - } - temp_r31->unk04 = 0; -} - -void fn_1_12A98(s32 arg0) { - s32 sp8[4]; - s32 var_r29; - s32 var_r30; - s32 i; - - var_r29 = 0; - var_r30 = -1; - for (i = 0; i < 4; i++) { - lbl_1_bss_1458[i] = lbl_1_bss_1448[i] = 0; - } - for (i = 0; i < 4; i++) { - switch (arg0) { - case 0: - sp8[i] = lbl_1_bss_1580.unkC4[i].unk00.unk20; - break; - case 1: - sp8[i] = lbl_1_bss_1580.unkC4[i].unk00.unk1C; - break; - } - } - for (i = 0; i < 4; i++) { - if (var_r30 <= sp8[i]) { - var_r30 = sp8[i]; - } - } - for (i = 0; i < 4; i++) { - if (var_r30 == sp8[i]) { - lbl_1_bss_1458[0]++; - lbl_1_bss_1448[var_r29++] = i; - } - } -} - -void fn_1_12C08(s32 arg0) { - s32 sp8[4]; - s32 var_r29; - s32 var_r30; - s32 i; - - var_r29 = 0; - var_r30 = -1; - for (i = 0; i < 4; i++) { - lbl_1_bss_1458[i] = 0; - lbl_1_bss_1448[i] = -1; - } - for (i = 0; i < 4; i++) { - switch (arg0) { - case 0: - sp8[i] = lbl_1_bss_1580.unkC4[i].unk00.unk24; - break; - case 1: - sp8[i] = lbl_1_bss_1580.unkC4[i].unk00.unk28; - break; - case 2: - sp8[i] = lbl_1_bss_1580.unkC4[i].unk00.unk2C; - break; - } - } - for (i = 0; i < 4; i++) { - if (var_r30 <= sp8[i]) { - var_r30 = sp8[i]; - } - } - for (i = 0; i < 4; i++) { - if (var_r30 == sp8[i]) { - lbl_1_bss_1458[0]++; - lbl_1_bss_1448[var_r29++] = i; - } - } -} - -void fn_1_12DAC(void) { - s32 sp8[4]; - s32 var_r29; - s32 i; - s32 j; - - for (i = 0; i < 4; i++) { - sp8[i] = i; - } - for (i = 0; i < 4; i++) { - for (j = i; j < 4; j++) { - if (lbl_1_bss_1580.unkC4[sp8[j]].unk00.unk20 >= lbl_1_bss_1580.unkC4[sp8[i]].unk00.unk20) { - var_r29 = sp8[i]; - sp8[i] = sp8[j]; - sp8[j] = var_r29; - } - } - } - for (i = 0; i < 4; i++) { - for (j = i; j < 4; j++) { - if ((lbl_1_bss_1580.unkC4[sp8[j]].unk00.unk20 == lbl_1_bss_1580.unkC4[sp8[i]].unk00.unk20) && (lbl_1_bss_1580.unkC4[sp8[j]].unk00.unk1C >= lbl_1_bss_1580.unkC4[sp8[i]].unk00.unk1C)) { - var_r29 = sp8[i]; - sp8[i] = sp8[j]; - sp8[j] = var_r29; - } - } - } - lbl_1_bss_1580.unkC4[sp8[0]].unk00.unk18 = j = 1; - for (i = 1; i < 4; i++) { - j++; - lbl_1_bss_1580.unkC4[sp8[i]].unk00.unk18 = j; - if ((lbl_1_bss_1580.unkC4[sp8[i]].unk00.unk20 == lbl_1_bss_1580.unkC4[sp8[i - 1]].unk00.unk20) && (lbl_1_bss_1580.unkC4[sp8[i]].unk00.unk1C == lbl_1_bss_1580.unkC4[sp8[i - 1]].unk00.unk1C)) { - lbl_1_bss_1580.unkC4[sp8[i]].unk00.unk18 = lbl_1_bss_1580.unkC4[sp8[i - 1]].unk00.unk18; - } - } -} - -void fn_1_130A8(void) { - s32 var_r30; - s32 i; - - var_r30 = 0; - for (i = 0; i < 4; i++) { - lbl_1_bss_1458[i] = lbl_1_bss_1448[i] = 0; - } - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1580.unkC4[i].unk00.unk18 == 1) { - lbl_1_bss_1458[0]++; - lbl_1_bss_1448[var_r30++] = i; - lbl_1_bss_1458[1] = i; - } - } -} - -void fn_1_1317C(void) { - s32 sp8[4]; - s32 var_r30; - s32 i; - - var_r30 = -1; - for (i = 0; i < 4; i++) { - sp8[i] = lbl_1_bss_1428[i]; - } - for (i = 0; i < 4; i++) { - if (var_r30 <= sp8[i]) { - var_r30 = sp8[i]; - } - } - for (i = 0; i < 4; i++) { - if (var_r30 == sp8[i]) { - lbl_1_bss_1458[1] = i; - } - } - for (i = 0; i < lbl_1_bss_1458[0]; i++) { - if (lbl_1_bss_1458[1] != lbl_1_bss_1448[i]) { - lbl_1_bss_1580.unkC4[lbl_1_bss_1448[i]].unk00.unk18 = 2; - } - } -} - -void fn_1_132AC(omObjData* arg0, s32 arg1) { - StructFn352C* temp_r30; - s32 var_r28; - - temp_r30 = &lbl_1_bss_1580.unkC4[arg1].unk00; - arg0->model[1] = CharModelCreate(temp_r30->unk10, 4); - arg0->motion[1] = CharModelMotionCreate(temp_r30->unk10, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0)); - arg0->motion[2] = CharModelMotionCreate(temp_r30->unk10, DATA_MAKE_NUM(DATADIR_MARIOMOT, 72)); - arg0->motion[5] = CharModelMotionCreate(temp_r30->unk10, DATA_MAKE_NUM(DATADIR_MARIOMOT, 47)); - arg0->motion[3] = CharModelMotionCreate(temp_r30->unk10, DATA_MAKE_NUM(DATADIR_MARIOMOT, 23)); - arg0->motion[4] = CharModelMotionCreate(temp_r30->unk10, DATA_MAKE_NUM(DATADIR_MARIOMOT, 24)); - arg0->motion[14] = CharModelMotionCreate(temp_r30->unk10, DATA_MAKE_NUM(DATADIR_MARIOMOT, 72)); - arg0->motion[15] = CharModelMotionCreate(temp_r30->unk10, DATA_MAKE_NUM(DATADIR_MARIOMOT, 73)); - CharModelMotionDataClose(temp_r30->unk10); - Hu3DModelPosSet(arg0->model[1], lbl_1_data_130[arg1].x, lbl_1_data_130[arg1].y, lbl_1_data_130[arg1].z - 20.0f); - Hu3DModelRotSet(arg0->model[1], 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[1], 1.0f, 1.0f, 1.0f); - Hu3DModelShadowSet(arg0->model[1]); - fn_1_1E28(arg0, 1, 1, 0, 1); - if (lbl_1_bss_1580.unk344 == 1) { - var_r28 = 0; - if (arg1 > 1) { - var_r28 = 1; - } - arg0->model[2] = Hu3DModelCreateFile(var_r28 + DATA_MAKE_NUM(DATADIR_MSTORY3, 144)); - Hu3DModelAttrSet(arg0->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelScaleSet(arg0->model[2], 1.25f, 1.0f, 1.5f); - Hu3DModelShadowMapSet(arg0->model[2]); - } else { - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 12)); - Hu3DModelScaleSet(arg0->model[2], 1.5f, 1.0f, 1.5f); - Hu3DModelAttrSet(arg0->model[2], HU3D_ATTR_DISPOFF); - Hu3DModelShadowMapSet(arg0->model[2]); - } - arg0->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 14)); - Hu3DModelAttrSet(arg0->model[3], HU3D_ATTR_DISPOFF); - arg0->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 15)); - Hu3DModelAttrSet(arg0->model[4], HU3D_ATTR_DISPOFF); - arg0->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 13)); - Hu3DModelAttrSet(arg0->model[5], HU3D_ATTR_DISPOFF); - arg0->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 11)); - Hu3DModelAttrSet(arg0->model[6], HU3D_ATTR_DISPOFF); - for (arg1 = 0; arg1 < 3; arg1++) { - arg0->model[arg1 + 7] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 16)); - Hu3DModelAttrSet(arg0->model[arg1 + 7], HU3D_ATTR_DISPOFF); - Hu3DMotionSpeedSet(arg0->model[arg1 + 7], 0.0f); - } - lbl_1_bss_1580.unk24[arg1].unk00 = Hu3DLLightCreate(arg0->model[1], 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0); - Hu3DLLightInfinitytSet(arg0->model[1], lbl_1_bss_1580.unk24[arg1].unk00); - Hu3DLLightPosAimSet(arg0->model[1], lbl_1_bss_1580.unk24[arg1].unk00, 0.0f, 700.0f, 1200.0f, 0.0f, 0.0f, 640.0f); - lbl_1_bss_1580.unk24[arg1].unk04 = Hu3DLLightCreate(arg0->model[2], 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0); - Hu3DLLightInfinitytSet(arg0->model[2], lbl_1_bss_1580.unk24[arg1].unk04); - Hu3DLLightPosAimSet(arg0->model[2], lbl_1_bss_1580.unk24[arg1].unk04, 0.0f, 700.0f, 1200.0f, 0.0f, 0.0f, 640.0f); -} - -void fn_1_13908(void) { - omObjData* var_r30; - s32 temp_r31; - - temp_r31 = lbl_1_bss_1580.unk314++; - var_r30 = omAddObjEx(lbl_1_bss_A8, 0x100, 0x10, 0x10, -1, NULL); - lbl_1_bss_1490[temp_r31].unk00 = var_r30; - lbl_1_bss_1490[temp_r31].unk04 = NULL; - lbl_1_bss_1490[temp_r31].unk08 = temp_r31; - lbl_1_bss_1490[temp_r31].unk00->data = &lbl_1_bss_1490[temp_r31]; - fn_1_132AC(lbl_1_bss_1490[temp_r31].unk00, temp_r31); - while (TRUE) { - fn_1_938(); - if (lbl_1_bss_1490[temp_r31].unk04 != NULL) { - lbl_1_bss_1490[temp_r31].unk04(lbl_1_bss_1490[temp_r31].unk00); - } - } -} - -void fn_1_13A38(omObjData* arg0) { -} - -s32 lbl_1_data_504[][27] = { - { - MAKE_MESSID(37, 0x00), MAKE_MESSID(37, 0x01), MAKE_MESSID(37, 0x02), - MAKE_MESSID(37, 0x03), MAKE_MESSID(37, 0x05), MAKE_MESSID(37, 0x06), - MAKE_MESSID(37, 0x0B), MAKE_MESSID(37, 0x0C), MAKE_MESSID(37, 0x0D), - MAKE_MESSID(37, 0x0E), MAKE_MESSID(37, 0x0F), MAKE_MESSID(37, 0x10), - MAKE_MESSID(37, 0x07), MAKE_MESSID(37, 0x08), MAKE_MESSID(37, 0x09), - MAKE_MESSID(37, 0x0A), MAKE_MESSID(37, 0x11), MAKE_MESSID(37, 0x12), - MAKE_MESSID(37, 0x13), MAKE_MESSID(37, 0x14), MAKE_MESSID(37, 0x15), - MAKE_MESSID(37, 0x16), MAKE_MESSID(37, 0x17), MAKE_MESSID(37, 0x8C), - MAKE_MESSID(37, 0x8D), MAKE_MESSID(37, 0x8E), MAKE_MESSID(37, 0x9E) - }, - { - MAKE_MESSID(37, 0x19), MAKE_MESSID(37, 0x1A), MAKE_MESSID(37, 0x1B), - MAKE_MESSID(37, 0x1C), MAKE_MESSID(37, 0x1D), MAKE_MESSID(37, 0x1E), - MAKE_MESSID(37, 0x23), MAKE_MESSID(37, 0x24), MAKE_MESSID(37, 0x25), - MAKE_MESSID(37, 0x26), MAKE_MESSID(37, 0x27), MAKE_MESSID(37, 0x28), - MAKE_MESSID(37, 0x1F), MAKE_MESSID(37, 0x20), MAKE_MESSID(37, 0x21), - MAKE_MESSID(37, 0x22), MAKE_MESSID(37, 0x29), MAKE_MESSID(37, 0x2A), - MAKE_MESSID(37, 0x2B), MAKE_MESSID(37, 0x2C), MAKE_MESSID(37, 0x2D), - MAKE_MESSID(37, 0x2E), MAKE_MESSID(37, 0x2F), MAKE_MESSID(37, 0x8F), - MAKE_MESSID(37, 0x90), MAKE_MESSID(37, 0x91), MAKE_MESSID(37, 0x9F) - }, - { - MAKE_MESSID(37, 0x30), MAKE_MESSID(37, 0x31), MAKE_MESSID(37, 0x32), - MAKE_MESSID(37, 0x33), MAKE_MESSID(37, 0x34), MAKE_MESSID(37, 0x35), - MAKE_MESSID(37, 0x3A), MAKE_MESSID(37, 0x3B), MAKE_MESSID(37, 0x3C), - MAKE_MESSID(37, 0x3D), MAKE_MESSID(37, 0x3E), MAKE_MESSID(37, 0x3F), - MAKE_MESSID(37, 0x36), MAKE_MESSID(37, 0x37), MAKE_MESSID(37, 0x38), - MAKE_MESSID(37, 0x39), MAKE_MESSID(37, 0x40), MAKE_MESSID(37, 0x41), - MAKE_MESSID(37, 0x42), MAKE_MESSID(37, 0x43), MAKE_MESSID(37, 0x44), - MAKE_MESSID(37, 0x45), MAKE_MESSID(37, 0x46), MAKE_MESSID(37, 0x92), - MAKE_MESSID(37, 0x93), MAKE_MESSID(37, 0x94), MAKE_MESSID(37, 0xA0) - }, - { - MAKE_MESSID(37, 0x47), MAKE_MESSID(37, 0x48), MAKE_MESSID(37, 0x49), - MAKE_MESSID(37, 0x4A), MAKE_MESSID(37, 0x4B), MAKE_MESSID(37, 0x4C), - MAKE_MESSID(37, 0x51), MAKE_MESSID(37, 0x52), MAKE_MESSID(37, 0x53), - MAKE_MESSID(37, 0x54), MAKE_MESSID(37, 0x55), MAKE_MESSID(37, 0x56), - MAKE_MESSID(37, 0x4D), MAKE_MESSID(37, 0x4E), MAKE_MESSID(37, 0x4F), - MAKE_MESSID(37, 0x50), MAKE_MESSID(37, 0x57), MAKE_MESSID(37, 0x58), - MAKE_MESSID(37, 0x59), MAKE_MESSID(37, 0x5A), MAKE_MESSID(37, 0x5B), - MAKE_MESSID(37, 0x5C), MAKE_MESSID(37, 0x5D), MAKE_MESSID(37, 0x95), - MAKE_MESSID(37, 0x96), MAKE_MESSID(37, 0x97), MAKE_MESSID(37, 0xA1) - }, - { - MAKE_MESSID(37, 0x5E), MAKE_MESSID(37, 0x5F), MAKE_MESSID(37, 0x60), - MAKE_MESSID(37, 0x61), MAKE_MESSID(37, 0x62), MAKE_MESSID(37, 0x63), - MAKE_MESSID(37, 0x68), MAKE_MESSID(37, 0x69), MAKE_MESSID(37, 0x6A), - MAKE_MESSID(37, 0x6B), MAKE_MESSID(37, 0x6C), MAKE_MESSID(37, 0x6D), - MAKE_MESSID(37, 0x64), MAKE_MESSID(37, 0x65), MAKE_MESSID(37, 0x66), - MAKE_MESSID(37, 0x67), MAKE_MESSID(37, 0x6E), MAKE_MESSID(37, 0x6F), - MAKE_MESSID(37, 0x70), MAKE_MESSID(37, 0x71), MAKE_MESSID(37, 0x72), - MAKE_MESSID(37, 0x73), MAKE_MESSID(37, 0x74), MAKE_MESSID(37, 0x98), - MAKE_MESSID(37, 0x99), MAKE_MESSID(37, 0x9A), MAKE_MESSID(37, 0xA2) - }, - { - MAKE_MESSID(37, 0x75), MAKE_MESSID(37, 0x76), MAKE_MESSID(37, 0x77), - MAKE_MESSID(37, 0x78), MAKE_MESSID(37, 0x79), MAKE_MESSID(37, 0x7A), - MAKE_MESSID(37, 0x7F), MAKE_MESSID(37, 0x80), MAKE_MESSID(37, 0x81), - MAKE_MESSID(37, 0x82), MAKE_MESSID(37, 0x83), MAKE_MESSID(37, 0x84), - MAKE_MESSID(37, 0x7B), MAKE_MESSID(37, 0x7C), MAKE_MESSID(37, 0x7D), - MAKE_MESSID(37, 0x7E), MAKE_MESSID(37, 0x85), MAKE_MESSID(37, 0x86), - MAKE_MESSID(37, 0x87), MAKE_MESSID(37, 0x88), MAKE_MESSID(37, 0x89), - MAKE_MESSID(37, 0x8A), MAKE_MESSID(37, 0x8B), MAKE_MESSID(37, 0x9B), - MAKE_MESSID(37, 0x9C), MAKE_MESSID(37, 0x9D), MAKE_MESSID(37, 0xA3) - } -}; - -void fn_1_13A3C(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { - s32 var_r29 = 0; - s32 temp_r28 = 0; - s32 i; - - lbl_1_bss_1580.unk18 = 0; - fn_1_1E28(lbl_1_bss_1468.unk00, 1, arg3, 15, 1); - temp_r28 = (s16) HuWinKeyWaitNumGet(lbl_1_data_504[lbl_1_bss_1580.unk00][arg1]); - if (arg2 == -1) { - arg2 = temp_r28 - 1; - } - HuWinComKeyReset(); - if (lbl_1_bss_1580.unk14 == -1) { - for (i = 0; i < 10; i++) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, GWMessDelayGet()); - } - } - HuWinMesSet(arg0, lbl_1_data_504[lbl_1_bss_1580.unk00][arg1]); - for (i = 0; i < temp_r28; i++) { - var_r29 = 0; - do { - HuPrcVSleep(); - } while (HuWinStatGet(arg0) != 1); - if (i == arg2) { - HuWinAttrSet(arg0, 0x400); - var_r29 = 1; - lbl_1_bss_1580.unk18 = 99; - } - while (TRUE) { - HuPrcVSleep(); - if (var_r29 != 0) { - if (var_r29 == 1) { - if (HuWinStatGet(arg0) != 1) { - var_r29 = 2; - continue; - } - } - if (var_r29 == 2) { - do { - fn_1_938(); - } while (lbl_1_bss_1580.unk18 != 1); - HuWinAttrReset(arg0, 0x400); - HuWinKeyWaitEntry(arg0); - break; - } - } else if (HuWinStatGet(arg0) != 1) { - break; - } - } - } - fn_1_1B18(arg0, -1); - fn_1_1D44(arg0, MAKE_MESSID(37, 4)); - HuWinComKeyReset(); - fn_1_1E28(lbl_1_bss_1468.unk00, 1, 1, 15, 1); -} - -void fn_1_13C78(s32 arg0, s32 arg1, s32 arg2) { - fn_1_1E28(lbl_1_bss_1468.unk00, 1, arg2, 15, 1); - fn_1_1D44(arg0, lbl_1_data_504[lbl_1_bss_1580.unk00][arg1]); - fn_1_1B18(arg0, -1); - fn_1_1D44(arg0, MAKE_MESSID(37, 4)); - fn_1_1E28(lbl_1_bss_1468.unk00, 1, 1, 15, 1); -} - -void fn_1_13D38(s32 arg0, s32 arg1, s32 arg2) { - s32 var_r31; - - var_r31 = lbl_1_bss_1580.unkC4[arg1].unk00.unk10; - HuWinInsertMesSet(arg0, var_r31, arg2); -} - -void fn_1_13D98(omObjData* arg0, s32 arg1) { - s32 sp20[] = { - DATA_MAKE_NUM(DATADIR_MSTORY3, 40), - DATA_MAKE_NUM(DATADIR_MSTORY3, 46), - DATA_MAKE_NUM(DATADIR_MSTORY3, 52), - DATA_MAKE_NUM(DATADIR_MSTORY3, 58), - DATA_MAKE_NUM(DATADIR_MSTORY3, 64), - DATA_MAKE_NUM(DATADIR_MSTORY3, 70) - }; - s32 sp38[][5] = { - { DATA_MAKE_NUM(DATADIR_MSTORY3, 0x29), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x2A), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x2B), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x2C), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x2D) }, - { DATA_MAKE_NUM(DATADIR_MSTORY3, 0x2F), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x30), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x31), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x32), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x33) }, - { DATA_MAKE_NUM(DATADIR_MSTORY3, 0x35), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x36), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x37), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x38), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x39) }, - { DATA_MAKE_NUM(DATADIR_MSTORY3, 0x3B), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x3C), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x3D), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x3E), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x3F) }, - { DATA_MAKE_NUM(DATADIR_MSTORY3, 0x41), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x42), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x43), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x44), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x45) }, - { DATA_MAKE_NUM(DATADIR_MSTORY3, 0x47), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x48), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x49), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x4A), DATA_MAKE_NUM(DATADIR_MSTORY3, 0x4A) } - }; - - arg0->model[1] = Hu3DModelCreateFile(sp20[arg1]); - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[1], sp38[arg1][0]); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[1], sp38[arg1][1]); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[1], sp38[arg1][2]); - arg0->motion[4] = Hu3DJointMotionFile(arg0->model[1], sp38[arg1][3]); - arg0->motion[5] = Hu3DJointMotionFile(arg0->model[1], sp38[arg1][4]); - Hu3DModelPosSet(arg0->model[1], 0.0f, 0.0f, 670.0f); - Hu3DModelRotSet(arg0->model[1], 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[1], 1.0f, 1.0f, 1.0f); - if (arg1 == 3) { - Hu3DData[arg0->model[1]].pos.y = 50.0f; - } - Hu3DModelShadowSet(arg0->model[1]); - fn_1_1E28(arg0, 1, 1, 0, 1); - { - s32 sp8[] = { 9, 14, 10, 11, 12, 13 }; - - if (arg1 != 3) { - CharModelEffectNpcInit(arg0->model[1], arg0->motion[2], 1, sp8[arg1]); - } - } -} - -void fn_1_140A0(void) { - omObjData* temp_r3; - - temp_r3 = omAddObjEx(lbl_1_bss_A8, 0x100, 0x10, 0x10, -1, NULL); - lbl_1_bss_1468.unk00 = temp_r3; - lbl_1_bss_1468.unk04 = NULL; - lbl_1_bss_1468.unk00->data = &lbl_1_bss_1468; - fn_1_13D98(temp_r3, lbl_1_bss_1580.unk00); - while (TRUE) { - fn_1_938(); - if (lbl_1_bss_1468.unk04 != NULL) { - lbl_1_bss_1468.unk04(temp_r3); - } - } -} - -void fn_1_1442C(s32 arg0) { - s32 var_r31; - - var_r31 = -1; - if (GWPlayerCfg[lbl_1_bss_1580.unkC4[arg0].unk00.unk00].iscom) { - var_r31 = rand8() % 120 + 60; - } - do { - fn_1_938(); - if (!GWPlayerCfg[lbl_1_bss_1580.unkC4[arg0].unk00.unk00].iscom && (HuPadBtnDown[GWPlayerCfg[lbl_1_bss_1580.unkC4[arg0].unk00.unk00].pad_idx] & PAD_BUTTON_A)) { - break; - } - } while (var_r31-- != 0); - fn_1_1E28(lbl_1_bss_1490[arg0].unk00, 1, 5, 15, 0); -} - -void fn_1_1456C(s32 arg0) { - while (TRUE) { - fn_1_938(); - if (lbl_1_bss_1490[arg0].unk00->motion[5] != Hu3DMotionShiftIDGet(lbl_1_bss_1490[arg0].unk00->model[1]) - && lbl_1_bss_1490[arg0].unk00->motion[5] == Hu3DMotionIDGet(lbl_1_bss_1490[arg0].unk00->model[1]) - && Hu3DMotionTimeGet(lbl_1_bss_1490[arg0].unk00->model[1]) >= 27.0f) - { - break; - } - } - HuAudFXStop(lbl_1_bss_68[arg0 + 1]); - HuAudFXPlay(0x303); -} - -HsfanimStruct00 lbl_1_data_78C = { - 60, { 0, 0 }, - 1000.0f, 0.0f, 180.0f, - { 0.0f, 0.0f, 0.0f }, - 50.0f, 0.9f, 20.0f, 0.99f, 4, - { - { 0xFF, 0xFF, 0x00, 0xFF }, - { 0xFF, 0xFF, 0x20, 0xFF }, - { 0xFF, 0xFF, 0x80, 0xFF }, - { 0xFF, 0xFF, 0xFF, 0xFF } - }, - { - { 0xFF, 0xFF, 0xFF, 0x00 }, - { 0xFF, 0xFF, 0xFF, 0x00 }, - { 0xFF, 0xFF, 0xFF, 0x00 }, - { 0xFF, 0xFF, 0xFF, 0x00 } - } -}; - -s32 fn_1_14684(void) { - s32 temp_r3; - - temp_r3 = Hu3DParManCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_EFFECT, 1)), 250, &lbl_1_data_78C); - Hu3DParManTimeLimitSet(temp_r3, 60); - Hu3DParManAttrSet(temp_r3, 4 | 0x40); - Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(temp_r3), 1); - return temp_r3; -} - -void fn_1_14700(omObjData* arg0) { - Hu3DModelKill(arg0->model[0]); - omDelObjEx(lbl_1_bss_A8, arg0); -} - -void fn_1_14748(omObjData* arg0) { - float temp_f31; - s32 sp8[3]; - s32 temp_r27; - s32 var_r26; - s32 var_r30; - s32 temp_r25; - s32 var_r29; - - switch (arg0->work[1]) { - case 0: - if (arg0->work[2] >= 1080) { - arg0->work[1] = 1; - arg0->rot.y = 0.0f; - arg0->scale.x = arg0->scale.y = arg0->scale.z = 1.0f; - arg0->work[2] = arg0->work[3] = 0; - lbl_1_bss_68[arg0->work[0] + 1] = HuAudFXPlay(0x300); - } else { - arg0->rot.y = arg0->work[2] % 360; - arg0->work[2] += 25; - if (arg0->work[3] < 180) { - arg0->scale.x = sind(arg0->work[3] % 180); - arg0->work[3] += 6; - } else { - arg0->scale.x = 1.0 + 0.5 * sind(arg0->work[3] % 180); - arg0->work[3] += 18; - } - arg0->scale.y = arg0->scale.z = arg0->scale.x; - if (arg0->work[3] > 360) { - arg0->work[3] = 360; - } - } - break; - case 1: - if (arg0->work[2] >= 40) { - arg0->work[1] = 2; - } - /* fallthrough */ - case 2: - arg0->trans.y += 0.2f * sind(arg0->work[2]); - if ((arg0->work[2] += 4) > 360) { - arg0->work[2] -= 360; - } - break; - case 3: - if (arg0->work[3]++ >= 8) { - arg0->work[1] = 4; - arg0->work[3] = 0; - Hu3DModelAttrSet(arg0->model[0], 1); - } else { - temp_f31 = fn_1_5D4(1.0f, 0.0f, arg0->work[3], 8.0f); - if (arg0->work[3] == 1) { - arg0->work[2] = fn_1_14684(); - Hu3DParManPosSet(arg0->work[2], arg0->trans.x, 275.0f, arg0->trans.z); - } - arg0->trans.y = 250.0f + fn_1_5D4(0.0f, 25.0f, arg0->work[3], 4.0f); - arg0->scale.x = 1.0f + 0.5f * (1.0f - temp_f31); - arg0->scale.y = arg0->scale.z = arg0->scale.x; - Hu3DModelTPLvlSet(arg0->model[0], temp_f31); - } - break; - case 4: - if (arg0->work[3]++ >= 60) { - Hu3DParManKill(arg0->work[2]); - arg0->work[2] = -1; - arg0->func = NULL; - } - break; - } - if (arg0->work[1] >= 3) { - var_r26 = 0; - if (lbl_1_bss_1428[arg0->work[0]] == -1) { - var_r30 = lbl_1_bss_1438[arg0->work[0]]; - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (var_r29 != arg0->work[0]) { - sp8[var_r26++] = lbl_1_bss_1428[var_r29]; - } - } - while (TRUE) { - if (var_r30 != sp8[0] && var_r30 != sp8[1] && var_r30 != sp8[2]) { - lbl_1_bss_1428[arg0->work[0]] = var_r30; - break; - } - var_r30 = rand8() % 10 + 1; - } - Hu3DMotionTimeSet(arg0->model[0], lbl_1_bss_1428[arg0->work[0]] - 1 + 0.5f); - } - } else { - temp_r25 = lbl_1_bss_1438[arg0->work[0]] - 1; - do { - temp_r27 = rand8() % 10; - } while (temp_r25 == temp_r27); - lbl_1_bss_1438[arg0->work[0]] = temp_r27 + 1; - Hu3DMotionTimeSet(arg0->model[0], temp_r27 + 0.5f); - } -} - -void fn_1_14E6C(omObjData* arg0) { - s32 temp_r30; - - temp_r30 = arg0->work[0]; - arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY3, 19)); - omSetTra(arg0, lbl_1_data_130[temp_r30].x, 250.0f, lbl_1_data_130[temp_r30].z); - omSetRot(arg0, 0.0f, 0.0f, 0.0f); - omSetSca(arg0, 0.0f, 0.0f, 0.0f); - Hu3DMotionSpeedSet(arg0->model[0], 0.0f); - HuAudFXPlay(0x302); - arg0->func = fn_1_14748; -} - -void fn_1_14F80(omObjData* arg0) { - Hu3DModelKill(arg0->model[1]); - Hu3DModelKill(arg0->model[2]); - omDelObjEx(lbl_1_bss_A8, arg0); -} - -void fn_1_14FD4(omObjData* arg0) { - s32 temp_r29; - s32 var_r30; - - temp_r29 = arg0->work[0]; - for (var_r30 = 1; var_r30 < 3; var_r30++) { - if (arg0->work[3] <= 40) { - Hu3DData[arg0->model[var_r30]].rot.y = fn_1_6F4(0.0f, 360.0f, arg0->work[3], 40.0f); - } else { - Hu3DData[arg0->model[var_r30]].rot.y = fn_1_61C(360.0f, 0.0f, arg0->work[3] - 40, 20.0f); - } - if (arg0->work[1] / 10 == 0) { - Hu3DData[arg0->model[var_r30]].pos.x = lbl_1_data_130[temp_r29].x; - } else { - Hu3DData[arg0->model[var_r30]].pos.x = lbl_1_data_130[temp_r29].x + fn_1_5D4(0.0f, 40.0f + -80.0f * (var_r30 - 1), arg0->work[3], 20.0f); - } - Hu3DData[arg0->model[var_r30]].pos.y = 275.0f + fn_1_5D4(0.0f, 50.0f, arg0->work[3], 20.0f); - Hu3DData[arg0->model[var_r30]].pos.z = lbl_1_data_130[temp_r29].z; - } - if (arg0->work[3]++ >= 60) { - arg0->func = NULL; - } -} - -void fn_1_152F0(omObjData* arg0) { - s32 sp8[] = { - DATA_MAKE_NUM(DATADIR_MSTORY3, 20), - DATA_MAKE_NUM(DATADIR_MSTORY3, 21), - DATA_MAKE_NUM(DATADIR_MSTORY3, 22), - DATA_MAKE_NUM(DATADIR_MSTORY3, 23), - DATA_MAKE_NUM(DATADIR_MSTORY3, 24), - DATA_MAKE_NUM(DATADIR_MSTORY3, 25), - DATA_MAKE_NUM(DATADIR_MSTORY3, 26), - DATA_MAKE_NUM(DATADIR_MSTORY3, 27), - DATA_MAKE_NUM(DATADIR_MSTORY3, 28), - DATA_MAKE_NUM(DATADIR_MSTORY3, 29) - }; - - arg0->model[1] = Hu3DModelCreateFile(sp8[arg0->work[1] % 10]); - arg0->model[2] = Hu3DModelCreateFile(sp8[arg0->work[1] / 10]); - Hu3DMotionSpeedSet(arg0->model[1], 0.0f); - Hu3DMotionSpeedSet(arg0->model[2], 0.0f); - if (arg0->work[1] / 10 == 0) { - Hu3DModelAttrSet(arg0->model[2], HU3D_ATTR_DISPOFF); - } - arg0->func = fn_1_14FD4; -} - -void fn_1_15450(s32 arg0) { - omObjData* temp_r3; - omObjData* temp_r3_2; - - temp_r3 = omAddObjEx(lbl_1_bss_A8, 0x2000, 0x10, 0x10, -1, fn_1_14E6C); - temp_r3->work[0] = arg0; - do { - fn_1_938(); - } while (temp_r3->work[1] != 2); - fn_1_1442C(arg0); - fn_1_1456C(arg0); - temp_r3->work[1] = 3; - fn_1_938(); - temp_r3_2 = omAddObjEx(lbl_1_bss_A8, 0x2000, 0x10, 0x10, -1, fn_1_152F0); - temp_r3_2->work[0] = arg0; - temp_r3_2->work[1] = lbl_1_bss_1428[arg0]; - fn_1_958(10); - fn_1_1E28(lbl_1_bss_1490[arg0].unk00, 1, 1, 15, 1); - do { - fn_1_938(); - } while (temp_r3_2->func); - lbl_1_bss_1490[arg0].unk18 = 1; - do { - fn_1_938(); - } while (lbl_1_bss_1490[arg0].unk18 != 2); - fn_1_958(150); - fn_1_14700(temp_r3); - fn_1_14F80(temp_r3_2); -} diff --git a/src/REL/mstory3Dll/win_effect.c b/src/REL/mstory3Dll/win_effect.c deleted file mode 100755 index 2a86dd6c..00000000 --- a/src/REL/mstory3Dll/win_effect.c +++ /dev/null @@ -1,322 +0,0 @@ -#include "REL/mstory3Dll.h" -#include "game/data.h" -#include "game/hsfanim.h" -#include "game/hsfex.h" -#include "game/hsfman.h" -#include "game/memory.h" -#include "game/sprite.h" - -#include "ext_math.h" - -#define frand5() (((s32)frand() & 0x1F)) -#define frand8() (((s32)frand() & 0xFF)) - -typedef struct { - /* 0x00 */ Vec* unk00; - /* 0x04 */ Vec unk04; - /* 0x10 */ Vec unk10; - /* 0x1C */ u16 unk1C; - /* 0x1E */ u16 unk1E; - /* 0x20 */ u16 unk20; - /* 0x22 */ s16 unk22; - /* 0x24 */ float unk24; - /* 0x28 */ AnimData* unk28; -} StructBss1CF8; // Size 0x2C - -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ char unk02[0x1A]; - /* 0x1C */ StructBss1CF8* unk1C; -} StructFn1E13C; // Size unknown - -void fn_1_1E13C(s32 arg0, s32 arg1, StructBss1CF8* arg2, Vec* arg3); -void fn_1_1E558(void); -void fn_1_1E820(ModelData* model, ParticleData* particle, Mtx matrix); - -StructBss1CF8 lbl_1_bss_1CF8[2]; -s32 lbl_1_bss_1CF4; -s32 lbl_1_bss_1CF0; -s32 lbl_1_bss_1CEC; -s16 lbl_1_bss_1CE8; - -void fn_1_1DED8(s32 arg0, Vec* arg1, Vec* arg2, s16 arg3) { - AnimData* temp_r28; - s16 var_r27; - - fn_1_1E13C(arg0 + 1, arg0 + 3, &lbl_1_bss_1CF8[0], arg2); - lbl_1_bss_1CF8[0].unk04 = *arg1; - lbl_1_bss_1CF8[0].unk24 = arg3 - 20; - fn_1_1E13C(arg0 + 2, arg0 + 3, &lbl_1_bss_1CF8[1], arg2); - lbl_1_bss_1CF8[1].unk04 = *arg1; - lbl_1_bss_1CF8[1].unk24 = arg3 - 20; - temp_r28 = HuSprAnimReadFile(arg0); - lbl_1_bss_1CE8 = HuSprGrpCreate(1); - var_r27 = HuSprCreate(temp_r28, 0, 0); - HuSprGrpMemberSet(lbl_1_bss_1CE8, 0, var_r27); - HuSprPosSet(lbl_1_bss_1CE8, 0, arg2->x, arg2->y); - HuSprTPLvlSet(lbl_1_bss_1CE8, 0, 0.0f); - HuSprAttrSet(lbl_1_bss_1CE8, 0, 8); - HuPrcChildCreate(fn_1_1E558, 100, 0x2000, 0, HuPrcCurrentGet()); - lbl_1_bss_1CF4 = 0; - lbl_1_bss_1CF0 = 0; - lbl_1_bss_1CEC = 0; -} - -void fn_1_1E0F4(void) { - lbl_1_bss_1CF4 = 1; -} - -s32 fn_1_1E108(void) { - return lbl_1_bss_1CF0; -} - -void fn_1_1E118(void) { - lbl_1_bss_1CEC = 1; -} - -s32 fn_1_1E12C(void) { - return lbl_1_bss_1CE8; -} - -void fn_1_1E13C(s32 arg0, s32 arg1, StructBss1CF8* arg2, Vec* arg3) { - Vec sp14; - AnimBmpData* temp_r31; - s32 sp10; - s32 var_r27; - s32 var_r26; - u16* var_r25; - AnimData* var_r24; - Vec* var_r22; - StructFn1E13C* temp_r23; - s16 var_r29; - s16 var_r28; - - var_r24 = HuSprAnimReadFile(arg0); - arg2->unk28 = var_r24; - temp_r31 = var_r24->bmp; - sp10 = temp_r31->sizeX * temp_r31->sizeY; - var_r25 = temp_r31->data; - for (var_r28 = var_r26 = 0; var_r28 < temp_r31->sizeY; var_r28 += 2) { - for (var_r29 = 0; var_r29 < temp_r31->sizeX; var_r29 += 2) { - var_r25 = (u16*) temp_r31->data + ((var_r28 % 4) * 4 + (var_r28 / 4) * temp_r31->sizeX * 4 + (var_r29 / 4) * 16 + var_r29 % 4); - if (*var_r25 != 0x8000) { - var_r26++; - } - } - } - arg2->unk20 = var_r26; - var_r22 = arg2->unk00 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r26 * sizeof(*var_r22), MEMORY_DEFAULT_NUM); - arg2->unk1C = temp_r31->sizeX; - arg2->unk1E = temp_r31->sizeY; - Hu3D2Dto3D(arg3, 1, &arg2->unk10); - for (var_r28 = 0; var_r28 < temp_r31->sizeY; var_r28 += 2) { - for (var_r29 = 0; var_r29 < temp_r31->sizeX; var_r29 += 2) { - var_r25 = (u16*) temp_r31->data + ((var_r28 % 4) * 4 + (var_r28 / 4) * temp_r31->sizeX * 4 + (var_r29 / 4) * 16 + var_r29 % 4); - if (*var_r25 != 0x8000) { - sp14 = *arg3; - sp14.x = sp14.x + var_r29 - temp_r31->sizeX / 2; - sp14.y = sp14.y + var_r28 - temp_r31->sizeY / 2; - Hu3D2Dto3D(&sp14, 1, var_r22); - var_r22++; - } - } - } - HuSprAnimKill(var_r24); - var_r24 = HuSprAnimRead(HuDataRead(arg1)); - var_r27 = Hu3DParticleCreate(var_r24, var_r26); - arg2->unk22 = var_r27; - Hu3DModelPosSet(var_r27, 0.0f, 0.0f, 0.0f); - Hu3DModelLayerSet(var_r27, 1); - Hu3DParticleColSet(var_r27, 0xFF, 0xFF, 0xA); - Hu3DParticleScaleSet(var_r27, 20.0f); - Hu3DParticleHookSet(var_r27, fn_1_1E820); - Hu3DParticleBlendModeSet(var_r27, 1); - Hu3DParticleAttrSet(var_r27, 2); - temp_r23 = Hu3DData[var_r27].unk_120; - temp_r23->unk1C = arg2; - temp_r23->unk00 = 0; - OSReport("Particle Count %d\n", var_r26); -} - -void fn_1_1E558(void) { - float var_f31; - float var_f30; - float temp_f29; - s16* temp_r30; - s16* temp_r29; - s16 i; - - var_f31 = 0.0f; - var_f30 = 0.0f; - while (lbl_1_bss_1CF4 == 0) { - HuPrcVSleep(); - } - Hu3DParticleAttrReset(lbl_1_bss_1CF8->unk22, 2); - HuPrcSleep(20); - Hu3DParticleAttrReset(lbl_1_bss_1CF8[1].unk22, 2); - temp_r30 = Hu3DData[lbl_1_bss_1CF8[0].unk22].unk_120; - temp_r29 = Hu3DData[lbl_1_bss_1CF8[1].unk22].unk_120; - while (*temp_r30 == 0 || *temp_r29 == 0) { - HuPrcVSleep(); - } - for (i = 0; i <= 20; i++) { - temp_f29 = i / 20.0f; - HuSprTPLvlSet(lbl_1_bss_1CE8, 0, temp_f29); - HuPrcVSleep(); - } - OSReport("Finish\n"); - for (i = 0; i < 2; i++) { - Hu3DModelKill(lbl_1_bss_1CF8[i].unk22); - HuSprAnimKill(lbl_1_bss_1CF8[i].unk28); - } - lbl_1_bss_1CF0 = 1; - while (TRUE) { - if (lbl_1_bss_1CEC != 0) { - break; - } - var_f31 += var_f30; - if (var_f31 > 360.0f) { - var_f31 -= 360.0f; - } - var_f30 += 0.5; - if (var_f30 > 10.0f) { - var_f30 = 10.0f; - } - temp_f29 = 1.0 + 0.25 * sind(var_f31); - HuSprScaleSet(lbl_1_bss_1CE8, 0, temp_f29, temp_f29); - HuPrcVSleep(); - } - HuSprGrpKill(lbl_1_bss_1CE8); - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_1E820(ModelData* model, ParticleData* particle, Mtx matrix) { - Vec sp8; - float temp_f30; - float temp_f31; - s16 var_r22; - s16 var_r29; - StructBss1CF8* temp_r28; - HsfanimStruct01* var_r31; - s16 var_r27; - s16 temp_r25; - s16 temp_r24; - s16 temp_r21; - s16 temp_r26; - s16 temp_r20; - s16 var_r23; - - temp_r28 = particle->unk_1C; - if (particle->unk_34 == 0) { - var_r31 = particle->unk_48; - for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - var_r31->unk2C = 0.0f; - } - } - if (particle->unk_2D & 2) { - return; - } - temp_r21 = temp_r28->unk24 - (temp_r28->unk24 / 5.0f); - temp_r26 = temp_r21 / 2; - temp_r20 = temp_r21 - temp_r26; - PSVECSubtract(&temp_r28->unk04, &temp_r28->unk10, &sp8); - temp_f31 = PSVECMag(&sp8) / temp_r20; - for (var_r22 = 0; var_r22 < particle->unk_30 / (temp_r28->unk24 / 5.0f); var_r22++) { - var_r31 = particle->unk_48; - for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - if (!var_r31->unk2C) { - break; - } - } - if (var_r29 == particle->unk_30) { - break; - } - var_r31->unk34 = temp_r28->unk04; - var_r27 = (frand8() * 360) >> 8; - temp_f30 = 0.2 * frand5(); - var_r31->unk08.x = temp_f30 * sind(var_r27); - var_r31->unk08.y = 0.1 * (frand5() + 100); - var_r31->unk08.z = temp_f30 * cosd(var_r27); - var_r31->unk40.r = 0xF0; - var_r31->unk40.g = 0x80; - var_r31->unk40.b = 0x60; - var_r31->unk2C = 10.0f; - var_r31->unk00 = 0; - var_r31->unk02 = 0; - var_r31->unk14.x = frandmod(360); - } - var_r31 = particle->unk_48; - for (var_r29 = var_r23 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { - if (!var_r31->unk2C) { - continue; - } - if (var_r31->unk00 == 0) { - PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); - var_r31->unk08.x *= 0.999f; - var_r31->unk08.y -= 0.5f; - var_r31->unk08.z *= 0.999f; - if (var_r31->unk02 > temp_r26 - (temp_r26 / 5.0)) { - PSVECScale(&var_r31->unk08, &var_r31->unk08, 1.0 - ((var_r31->unk02 - (temp_r26 - temp_r26 / 5.0)) / (temp_r26 / 5.0))); - } - if (var_r31->unk02 == temp_r26) { - var_r31->unk00++; - } - if (var_r31->unk34.y <= 0.0f) { - var_r31->unk08.y = 0.5f * -var_r31->unk08.y; - var_r31->unk34.y = 0.0f; - } - } else if (var_r31->unk00 == 1) { - sp8 = temp_r28->unk00[var_r29]; - PSVECSubtract(&sp8, &var_r31->unk34, &sp8); - if (PSVECMag(&sp8) <= 1.0 + temp_f31) { - var_r23++; - var_r31->unk34 = temp_r28->unk00[var_r29]; - var_r31->unk00++; - continue; - } - PSVECNormalize(&sp8, &sp8); - var_r31->unk08.x = sp8.x * temp_f31 + sind(var_r31->unk14.x); - var_r31->unk08.y = sp8.y * temp_f31; - var_r31->unk08.z = sp8.z * temp_f31; - PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); - var_r31->unk14.x += 20.0f; - } else { - var_r23++; - } - if (var_r31->unk00 >= 1) { - var_r27 = var_r31->unk40.r; - var_r27 += (var_r27 - 0xFF) / 20; - if (var_r27 > 0xFF) { - var_r31->unk40.r = 0xFF; - } else { - var_r31->unk40.r = var_r27; - } - temp_r25 = var_r31->unk40.g; - temp_r25 += (temp_r25 - 0xFF) / 20; - if (temp_r25 > 0xFF) { - var_r31->unk40.g = 0xFF; - } else { - var_r31->unk40.g = temp_r25; - } - temp_r24 = var_r31->unk40.b; - temp_r24 += (temp_r24 - 0x80) / 20; - if (temp_r24 > 0x80) { - var_r31->unk40.b = 0x80; - } else { - var_r31->unk40.b = temp_r24; - } - } - var_r31->unk2C -= 0.2f; - if (var_r31->unk2C < 5.0f) { - var_r31->unk2C = 5.0f; - } - var_r31->unk02++; - } - DCStoreRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); - if (var_r23 >= particle->unk_30) { - particle->unk_00++; - } -} diff --git a/src/REL/mstory4Dll/main.c b/src/REL/mstory4Dll/main.c index b6304228..fd94bb3a 100644 --- a/src/REL/mstory4Dll/main.c +++ b/src/REL/mstory4Dll/main.c @@ -8,7 +8,7 @@ #include "game/gamework_data.h" #include "game/flag.h" #include "game/chrman.h" -#include "math.h" +#include "rel_sqrt_consts.h" #include "REL/executor.h" #include "game/board/main.h" @@ -21,54 +21,54 @@ typedef struct struct_data0 { } StructData0; StructData0 lbl_1_data_0[] = { - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x00), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x01), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x02), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x03), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x04), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x05), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x06), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x07), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x08), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x09), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0A), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0B), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0C), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0D), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0E), 1, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0F), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x10), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x11), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x12), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x13), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x14), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x15), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x16), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x17), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x18), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x19), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1A), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1B), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1C), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1D), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1E), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1F), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x20), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x21), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x22), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x23), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x24), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x25), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x26), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x27), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x28), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x29), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2A), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2B), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2C), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2D), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2E), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2F), 0, 0, 0, 1 }, + { 0x680000, 0, 0, 0, 1 }, + { 0x680001, 0, 0, 0, 1 }, + { 0x680002, 0, 0, 0, 1 }, + { 0x680003, 0, 0, 0, 1 }, + { 0x680004, 0, 0, 0, 1 }, + { 0x680005, 0, 0, 0, 1 }, + { 0x680006, 0, 0, 0, 1 }, + { 0x680007, 0, 0, 0, 1 }, + { 0x680008, 0, 0, 0, 1 }, + { 0x680009, 0, 0, 0, 1 }, + { 0x68000A, 0, 0, 0, 1 }, + { 0x68000B, 0, 0, 0, 1 }, + { 0x68000C, 0, 0, 0, 1 }, + { 0x68000D, 0, 0, 0, 1 }, + { 0x68000E, 1, 0, 0, 1 }, + { 0x68000F, 0, 0, 0, 1 }, + { 0x680010, 0, 0, 0, 1 }, + { 0x680011, 0, 0, 0, 1 }, + { 0x680012, 0, 0, 0, 1 }, + { 0x680013, 0, 0, 0, 1 }, + { 0x680014, 0, 0, 0, 1 }, + { 0x680015, 0, 0, 0, 1 }, + { 0x680016, 0, 0, 0, 1 }, + { 0x680017, 0, 0, 0, 1 }, + { 0x680018, 0, 0, 0, 1 }, + { 0x680019, 0, 0, 0, 1 }, + { 0x68001A, 0, 0, 0, 1 }, + { 0x68001B, 0, 0, 0, 1 }, + { 0x68001C, 0, 0, 0, 1 }, + { 0x68001D, 0, 0, 0, 1 }, + { 0x68001E, 0, 0, 0, 1 }, + { 0x68001F, 0, 0, 0, 1 }, + { 0x680020, 0, 0, 0, 1 }, + { 0x680021, 0, 0, 0, 1 }, + { 0x680022, 0, 0, 0, 1 }, + { 0x680023, 0, 0, 0, 1 }, + { 0x680024, 0, 0, 0, 1 }, + { 0x680025, 0, 0, 0, 1 }, + { 0x680026, 0, 0, 0, 1 }, + { 0x680027, 0, 0, 0, 1 }, + { 0x680028, 0, 0, 0, 1 }, + { 0x680029, 0, 0, 0, 1 }, + { 0x68002A, 0, 0, 0, 1 }, + { 0x68002B, 0, 0, 0, 1 }, + { 0x68002C, 0, 0, 0, 1 }, + { 0x68002D, 0, 0, 0, 1 }, + { 0x68002E, 0, 0, 0, 1 }, + { 0x68002F, 0, 0, 0, 1 }, }; char *lbl_1_data_430[] = { @@ -161,7 +161,8 @@ void fn_1_EC(void) OVL_W04, OVL_W05, OVL_W06, - OVL_W10 + OVL_W10, + OVL_W07 }; WipeColorSet(255, 255, 255); WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); @@ -575,13 +576,15 @@ void fn_1_13A0(void) GWPlayerCfg[0].character = itemno/6; { s32 i; + s32 character; for(i=1; i<4; i++) { GWPlayerCfg[i].character = GWPlayerCfg[i-1].character+1; - if(GWPlayerCfg[i].character > CHARNO_MAX ) { + if(GWPlayerCfg[i].character > GW_CHARACTER_MAX) { GWPlayerCfg[i].character = 0; } } - GWStoryCharSet(GWPlayerCfg[0].character); + character = GWPlayerCfg[0].character; + GWSystem.unk0B[1] = character; GWPlayer[0].character = GWPlayerCfg[0].character; GWPlayer[1].character = GWPlayerCfg[1].character; GWPlayer[2].character = GWPlayerCfg[2].character; @@ -603,4 +606,4 @@ void fn_1_13A0(void) while(1) { HuPrcVSleep(); } -} +} \ No newline at end of file diff --git a/src/REL/mstoryDll/board_clear.c b/src/REL/mstoryDll/board_clear.c deleted file mode 100755 index e5e5612b..00000000 --- a/src/REL/mstoryDll/board_clear.c +++ /dev/null @@ -1,622 +0,0 @@ -#include "REL/mstoryDll.h" -#include "game/chrman.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/printfunc.h" -#include "game/window.h" -#include "game/wipe.h" - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ char unk0C[4]; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; - /* 0x18 */ char unk18[0x1C]; - /* 0x34 */ StructFn352C unk34[4]; -} StructBss1C4; // Size 0x104 - -void fn_1_8A44(void); -void fn_1_8DC0(omObjData* arg0, StructBss19C* arg1); -void fn_1_8E6C(omObjData* arg0, StructBss19C* arg1); -void fn_1_8F68(void); -void fn_1_92D4(s32 arg0); -void fn_1_9718(omObjData* arg0, StructBss19C* arg1); -void fn_1_98A4(omObjData* arg0, StructBss19C* arg1); -void fn_1_992C(void); -void fn_1_A008(omObjData* arg0, StructBss19C* arg1); -void fn_1_A0EC(void); -void fn_1_A478(void); -void fn_1_A504(void); -void fn_1_A5F4(void); - -StructBss1C4 lbl_1_bss_1C4; -StructBss19C lbl_1_bss_19C; -StructBss19C lbl_1_bss_174; -StructBss19C lbl_1_bss_D4[4]; -StructBss19C lbl_1_bss_AC; -Process* lbl_1_bss_A8; - -s32 lbl_1_data_190[][4] = { - { MAKE_MESSID(30, 17), MAKE_MESSID(30, 23), MAKE_MESSID(30, 62), MAKE_MESSID(30, 63) }, - { MAKE_MESSID(30, 18), MAKE_MESSID(30, 24), MAKE_MESSID(30, 64), MAKE_MESSID(30, 65) }, - { MAKE_MESSID(30, 19), MAKE_MESSID(30, 25), MAKE_MESSID(30, 66), MAKE_MESSID(30, 67) }, - { MAKE_MESSID(30, 20), MAKE_MESSID(30, 26), MAKE_MESSID(30, 68), MAKE_MESSID(30, 69) }, - { MAKE_MESSID(30, 21), MAKE_MESSID(30, 27), MAKE_MESSID(30, 70), MAKE_MESSID(30, 71) } -}; - -s32 lbl_1_data_1E0[][3] = { - { MAKE_MESSID(30, 101), MAKE_MESSID(30, 102), MAKE_MESSID(30, 103) }, - { MAKE_MESSID(30, 104), MAKE_MESSID(30, 105), MAKE_MESSID(30, 106) }, - { MAKE_MESSID(30, 107), MAKE_MESSID(30, 108), MAKE_MESSID(30, 109) }, - { MAKE_MESSID(30, 110), MAKE_MESSID(30, 111), MAKE_MESSID(30, 112) }, - { MAKE_MESSID(30, 113), MAKE_MESSID(30, 114), MAKE_MESSID(30, 115) } -}; - -void fn_1_7090(s32 arg0, StructBss19C* arg1) { - fn_1_BAC(10); - fn_1_1DCC(lbl_1_bss_D4[lbl_1_bss_1C4.unk04].unk00, 1, 5, 15, 0); - fn_1_BAC(5); - HuAudCharVoicePlay(lbl_1_bss_1C4.unk34[lbl_1_bss_1C4.unk04].unk10, 0x128); - fn_1_BAC(25); - arg1->unk04 = 0; -} - -void fn_1_7134(s32 arg0, StructBss19C* arg1) { - float temp_f31; - float temp_f30; - float temp_f29; - s32 i; - - temp_f29 = Hu3DData[lbl_1_bss_174.unk00->model[7]].pos.y; - for (i = 0; i <= 30; i++) { - fn_1_B8C(); - temp_f31 = fn_1_870(temp_f29, 1000.0f, i, 30.0f); - temp_f30 = fn_1_870(0.0f, 1800.0f, i, 30.0f); - Hu3DModelPosSet(lbl_1_bss_174.unk00->model[7], 0.0f, temp_f31, 800.0f); - Hu3DModelRotSet(lbl_1_bss_174.unk00->model[7], 0.0f, temp_f30, 0.0f); - Hu3DModelPosSet(lbl_1_bss_174.unk00->model[8], 0.0f, temp_f31 + 15.0f, 775.0f); - } - arg1->unk04 = 0; -} - -void fn_1_731C(s32 arg0) { - float temp_f31; - float temp_f30; - s32 var_r30; - s32 i; - - var_r30 = arg0; - Hu3DModelAttrReset(lbl_1_bss_174.unk00->model[5], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_174.unk00->model[6], HU3D_ATTR_DISPOFF); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_1C4.unk34[i].unk00 != lbl_1_bss_1C4.unk34[lbl_1_bss_1C4.unk04].unk00) { - Hu3DModelAttrSet(lbl_1_bss_D4[i].unk00->model[1], HU3D_ATTR_DISPOFF); - } - Hu3DModelAttrSet(lbl_1_bss_D4[i].unk00->model[2], HU3D_ATTR_DISPOFF); - } - lbl_1_bss_1C4.unk08 = fn_1_1834(1, 0, 21, 2, lbl_1_bss_1C4.unk10); - fn_1_1DCC(lbl_1_bss_AC.unk00, 1, 3, 15, 1); - fn_1_1CE8(lbl_1_bss_1C4.unk08, lbl_1_data_1E0[var_r30][0]); - fn_1_1ACC(lbl_1_bss_1C4.unk08, -1); - fn_1_1CE8(lbl_1_bss_1C4.unk08, MAKE_MESSID(37, 4)); - fn_1_1DCC(lbl_1_bss_AC.unk00, 1, 1, 15, 1); - fn_1_1A64(lbl_1_bss_1C4.unk08); - Hu3DModelPosSet(lbl_1_bss_174.unk00->model[7], 0.0f, 1000.0f, 640.0f); - Hu3DModelAttrReset(lbl_1_bss_174.unk00->model[7], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_174.unk00->model[8], HU3D_ATTR_DISPOFF); - for (i = 0; i <= 180; i++) { - fn_1_B8C(); - temp_f31 = fn_1_948(1000.0f, 150.0f, i, 180.0f); - temp_f30 = fn_1_948(1800.0f, 0.0f, i, 180.0f); - Hu3DModelPosSet(lbl_1_bss_174.unk00->model[7], 0.0f, temp_f31, 800.0f); - Hu3DModelRotSet(lbl_1_bss_174.unk00->model[7], 0.0f, temp_f30, 0.0f); - Hu3DModelPosSet(lbl_1_bss_174.unk00->model[8], 0.0f, temp_f31 + 15.0f, 775.0f); - } - lbl_1_bss_174.unk04 = (void*) fn_1_8E6C; - fn_1_1DCC(lbl_1_bss_D4[lbl_1_bss_1C4.unk04].unk00, 1, 6, 15, 0); - lbl_1_bss_D4[lbl_1_bss_1C4.unk04].unk04 = (void*) fn_1_98A4; - fn_1_BAC(40); - HuAudSeqFadeOut(lbl_1_bss_58[0], 1000); - fn_1_BAC(50); - lbl_1_bss_58[1] = HuAudSeqPlay(0x35); - lbl_1_bss_1C4.unk08 = fn_1_1834(1, 0, 21, 2, lbl_1_bss_1C4.unk10); - fn_1_1DCC(lbl_1_bss_AC.unk00, 1, 3, 15, 1); - fn_1_1CE8(lbl_1_bss_1C4.unk08, lbl_1_data_1E0[var_r30][1]); - fn_1_1ACC(lbl_1_bss_1C4.unk08, -1); - fn_1_1CE8(lbl_1_bss_1C4.unk08, MAKE_MESSID(37, 4)); - fn_1_1DCC(lbl_1_bss_AC.unk00, 1, 1, 15, 1); - fn_1_1A64(lbl_1_bss_1C4.unk08); - fn_1_BAC(30); - fn_1_1DCC(lbl_1_bss_174.unk00, 2, 3, 0, 0); - lbl_1_bss_174.unk04 = (void*) fn_1_8DC0; - fn_1_BAC(30); - lbl_1_bss_D4[lbl_1_bss_1C4.unk04].unk04 = (void*) fn_1_7090; - fn_1_BAC(90); - lbl_1_bss_AC.unk04 = (void*) fn_1_7134; - lbl_1_bss_1C4.unk08 = fn_1_1834(1, 0, 21, 2, lbl_1_bss_1C4.unk10); - fn_1_1DCC(lbl_1_bss_AC.unk00, 1, 5, 15, 1); - fn_1_1CE8(lbl_1_bss_1C4.unk08, lbl_1_data_1E0[lbl_1_bss_1C4.unk00][2]); - fn_1_1ACC(lbl_1_bss_1C4.unk08, -1); - fn_1_1CE8(lbl_1_bss_1C4.unk08, MAKE_MESSID(37, 4)); - fn_1_1A64(lbl_1_bss_1C4.unk08); - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_1C4.unk00][3]); -} - -void fn_1_79B8(Process* arg0, s32 arg1, s32 arg2) { - s32 i; - - lbl_1_bss_A8 = arg0; - lbl_1_bss_1C4.unk00 = arg1; - lbl_1_bss_1C4.unk10 = arg2; - fn_1_BF4(); - fn_1_3618(0xFF); - fn_1_27E8(lbl_1_bss_A8, fn_1_A478); - fn_1_3704(); - fn_1_92D4(arg2); - HuPrcChildCreate(fn_1_8F68, 100, 0x2000, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_A0EC, 100, 0x2000, 0, HuPrcCurrentGet()); - for (i = 0; i < 4; i++) { - HuPrcChildCreate(fn_1_992C, 100, 0x2000, 0, HuPrcCurrentGet()); - } - HuPrcChildCreate(fn_1_8A44, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -void fn_1_7AE0(void) { - s32 var_r30 = 16; - s32 var_r29 = 40; - GXColor sp10 = { 0x00, 0x00, 0x80, 0x80 }; - s32 i; - - while (TRUE) { - fn_1_B8C(); - fontcolor = FONT_COLOR_WHITE; - printWin(var_r30, var_r29, 220, 150, &sp10); - if (lbl_1_bss_19C.unk04 == NULL) { - print8(var_r30, var_r29, 1.0f, "PROC_MAIN -> FALSE"); - } else { - print8(var_r30, var_r29, 1.0f, "PROC_MAIN -> TRUE"); - } - if (lbl_1_bss_174.unk04 == NULL) { - print8(var_r30, var_r29 + 10, 1.0f, "PROC_MAP -> FALSE"); - } else { - print8(var_r30, var_r29 + 10, 1.0f, "PROC_MAP -> TRUE"); - } - for (i = 0; i < 4; i++) { - if (lbl_1_bss_D4[i].unk04 == NULL) { - print8(var_r30, i * 10 + (var_r29 + 20), 1.0f, "PROC_PLAYER%d -> FALSE", i); - } else { - print8(var_r30, i * 10 + (var_r29 + 20), 1.0f, "PROC_PLAYER%d -> TRUE", i); - } - } - if (lbl_1_bss_AC.unk04 == NULL) { - print8(var_r30, var_r29 + 60, 1.0f, "PROC_SUB -> FALSE"); - } else { - print8(var_r30, var_r29 + 60, 1.0f, "PROC_SUB -> TRUE"); - } - print8(var_r30, var_r29 + 80, 1.0f, "M:%d P:%d W:%d", lbl_1_bss_1C4.unk00, lbl_1_bss_1C4.unk04, lbl_1_bss_1C4.unk10); - print8(var_r30, var_r29 + 100, 1.0f, "NO) IDX:GRP:COM:DIF:PAD:CHR"); - for (i = 0; i < 4; i++) { - print8(var_r30, var_r29 + 110 + i * 10, 1.0f, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, - lbl_1_bss_1C4.unk34[i].unk00, lbl_1_bss_1C4.unk34[i].unk04, lbl_1_bss_1C4.unk34[i].unk08, - lbl_1_bss_1C4.unk34[i].unk0C, lbl_1_bss_1C4.unk34[i].unk14, lbl_1_bss_1C4.unk34[i].unk10); - } - } -} - -void fn_1_7E70(void) { - lbl_1_bss_58[0] = HuAudSeqPlay(0x33); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - do { - fn_1_B8C(); - } while (WipeStatGet() != 0); - fn_1_BAC(60); -} - -void fn_1_7ECC(void) { - s32 spC = 0; - s32 sp8 = 0; - - lbl_1_bss_1C4.unk08 = fn_1_1834(0, 0, 21, 2, lbl_1_bss_1C4.unk10); - fn_1_1DCC(lbl_1_bss_AC.unk00, 1, 3, 15, 1); - fn_1_1D1C(lbl_1_bss_1C4.unk08, lbl_1_bss_1C4.unk34[lbl_1_bss_1C4.unk04].unk10, 0); - fn_1_1CE8(lbl_1_bss_1C4.unk08, lbl_1_data_190[lbl_1_bss_1C4.unk00][0]); - fn_1_1ACC(lbl_1_bss_1C4.unk08, -1); - fn_1_1CE8(lbl_1_bss_1C4.unk08, MAKE_MESSID(37, 4)); - fn_1_1DCC(lbl_1_bss_AC.unk00, 1, 1, 15, 1); - fn_1_1A64(lbl_1_bss_1C4.unk08); - lbl_1_bss_D4[lbl_1_bss_1C4.unk04].unk04 = (void*) fn_1_9718; - fn_1_3804(&lbl_1_bss_4); - fn_1_2710(fn_1_A504); - do { - fn_1_B8C(); - } while (lbl_1_bss_D4[lbl_1_bss_1C4.unk04].unk04 != NULL); - do { - fn_1_B8C(); - } while (lbl_1_bss_AC.unk04 != NULL); -} - -void fn_1_8090(void) { - lbl_1_bss_1C4.unk08 = fn_1_1834(1, 0, 21, 2, lbl_1_bss_1C4.unk10); - fn_1_1DCC(lbl_1_bss_AC.unk00, 1, 3, 15, 1); - fn_1_1CE8(lbl_1_bss_1C4.unk08, lbl_1_data_190[lbl_1_bss_1C4.unk00][2]); - fn_1_1ACC(lbl_1_bss_1C4.unk08, -1); - fn_1_1DCC(lbl_1_bss_AC.unk00, 1, 1, 15, 1); - fn_1_1A64(lbl_1_bss_1C4.unk08); - fn_1_1DCC(lbl_1_bss_D4[lbl_1_bss_1C4.unk04].unk00, 1, 6, 15, 0); - lbl_1_bss_D4[lbl_1_bss_1C4.unk04].unk04 = (void*) fn_1_98A4; - Hu3DModelAttrReset(lbl_1_bss_174.unk00->model[5], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_174.unk00->model[6], HU3D_ATTR_DISPOFF); - fn_1_BAC(180); - HuAudSeqFadeOut(lbl_1_bss_58[0], 1000); - fn_1_1DCC(lbl_1_bss_174.unk00, 2, 3, 0, 0); - fn_1_BAC(75); - lbl_1_bss_58[1] = HuAudSeqPlay(0x35); - lbl_1_bss_1C4.unk08 = fn_1_1834(1, 0, 21, 2, lbl_1_bss_1C4.unk10); - fn_1_1DCC(lbl_1_bss_AC.unk00, 1, 4, 15, 1); - fn_1_1CE8(lbl_1_bss_1C4.unk08, lbl_1_data_190[lbl_1_bss_1C4.unk00][3]); - lbl_1_bss_D4[lbl_1_bss_1C4.unk04].unk04 = NULL; - lbl_1_bss_D4[lbl_1_bss_1C4.unk04].unk04 = (void*) fn_1_7090; - fn_1_1ACC(lbl_1_bss_1C4.unk08, -1); - fn_1_1CE8(lbl_1_bss_1C4.unk08, MAKE_MESSID(37, 4)); - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_1C4.unk00][3]); - fn_1_1A64(lbl_1_bss_1C4.unk08); - do { - fn_1_B8C(); - } while (lbl_1_bss_D4[lbl_1_bss_1C4.unk04].unk04 != NULL); -} - -void fn_1_83B0(void) { - fn_1_BAC(60); - HuAudSeqFadeOut(lbl_1_bss_58[1], 3000); - fn_1_3804(&lbl_1_bss_4); - fn_1_2710(fn_1_A5F4); - fn_1_BAC(150); -} - -void fn_1_8408(void) { - omOvlHisData* var_r30; - u16 sp8[] = { 53, 56, 55, 54, 57 }; - s32 sp14[] = { 9, 14, 10, 11, 12 }; - s32 var_r29; - s32 var_r28; - s32 i; - - WipeColorSet(0xFF, 0xFF, 0xFF); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - do { - fn_1_B8C(); - } while (WipeStatGet() != 0); - CharModelKill(-1); - MGSeqKillAll(); - var_r29 = lbl_1_bss_1C4.unk34[lbl_1_bss_1C4.unk04].unk10; - var_r28 = lbl_1_bss_1C4.unk34[lbl_1_bss_1C4.unk04].unk14; - GWPlayerCfg[lbl_1_bss_1C4.unk04].character = GWPlayerCfg->character; - GWPlayerCfg[lbl_1_bss_1C4.unk04].pad_idx = GWPlayerCfg->pad_idx; - GWPlayerCfg[lbl_1_bss_1C4.unk04].group = GWPlayerCfg->group; - GWPlayerCfg[lbl_1_bss_1C4.unk04].iscom = GWPlayerCfg->iscom; - GWPlayerCfg->character = var_r29; - GWPlayerCfg->pad_idx = var_r28; - GWPlayerCfg->group = 0; - GWPlayerCfg->iscom = 0; - for (i = 0; i < 4; i++) { - GWPlayer[i].character = GWPlayerCfg[i].character; - GWPlayer[i].port = GWPlayerCfg[i].pad_idx; - GWPlayer[i].com = GWPlayerCfg[i].iscom; - GWPlayer[i].team = GWPlayerCfg[i].group; - } - GWPlayerCfg[1].character = sp14[GWSystem.board]; - for (i = 1; i < 4; i++) { - GWPlayerCfg[i].iscom = GWPlayerCfg[i].group = 1; - } - var_r30 = omOvlHisGet(0); - omOvlHisChg(0, OVL_MSTORY, 2, var_r30->stat); - OSReport("########## dllno - %d\n", sp8[GWSystem.board], GWSystem.board); - HuAudSeqAllFadeOut(1000); - HuAudSStreamAllFadeOut(1000); - omOvlCallEx(sp8[GWSystem.board], 1, 0, 0); - while (TRUE) { - fn_1_B8C(); - } -} - -void fn_1_87DC(s32 arg0, StructBss19C* arg1) { - fn_1_7E70(); - fn_1_7ECC(); - fn_1_731C(lbl_1_bss_1C4.unk00); - fn_1_83B0(); - fn_1_8408(); - arg1->unk04 = NULL; -} - -void fn_1_8A44(void) { - omObjData* var_r31; - - var_r31 = omAddObjEx(lbl_1_bss_A8, 0x100, 16, 16, -1, NULL); - lbl_1_bss_19C.unk00 = var_r31; - lbl_1_bss_19C.unk04 = (void*) fn_1_87DC; - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_19C.unk04 != NULL) { - lbl_1_bss_19C.unk04(var_r31, &lbl_1_bss_19C); - } - } -} - -void fn_1_8AE0(omObjData* arg0) { - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 56)); - arg0->motion[0] = Hu3DMotionIDGet(arg0->model[1]); - fn_1_1DCC(arg0, 1, 0, 0, 2); - Hu3DModelShadowMapObjSet(arg0->model[1], "base_fix9-base"); - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 59)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[2], DATA_MAKE_NUM(DATADIR_MSTORY, 60)); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[2], DATA_MAKE_NUM(DATADIR_MSTORY, 61)); - fn_1_1DCC(arg0, 2, 2, 0, 2); - arg0->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 57)); - arg0->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 76 + lbl_1_bss_1C4.unk00)); - arg0->motion[5] = Hu3DMotionIDGet(arg0->model[5]); - Hu3DModelPosSet(arg0->model[5], 0.0f, 80.0f, 460.0f); - Hu3DModelAttrSet(arg0->model[5], HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(arg0->model[5]); - fn_1_1DCC(arg0, 5, 5, 0, 2); - arg0->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 75)); - arg0->motion[6] = Hu3DMotionIDGet(arg0->model[6]); - Hu3DModelHookSet(arg0->model[5], "stargbox_fix-effect_fook1", arg0->model[6]); - Hu3DModelAttrSet(arg0->model[6], HU3D_ATTR_DISPOFF); - fn_1_1DCC(arg0, 6, 6, 0, 2); - arg0->model[7] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 81)); - Hu3DModelAttrSet(arg0->model[7], HU3D_ATTR_DISPOFF); - arg0->model[8] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 96)); - arg0->motion[8] = Hu3DMotionIDGet(arg0->model[8]); - Hu3DModelAttrSet(arg0->model[8], HU3D_ATTR_DISPOFF); - fn_1_1DCC(arg0, 8, 8, 0, 1); -} - -void fn_1_8DC0(omObjData* arg0, StructBss19C* arg1) { - Hu3DData[arg0->model[5]].pos.y = fn_1_ACC(80.0f, 90.0f, arg0->work[0]++, 360.0f); - if (arg0->work[0] >= 360) { - arg0->work[0] = 0; - } -} - -void fn_1_8E6C(omObjData* arg0, StructBss19C* arg1) { - Hu3DData[arg0->model[7]].pos.y += fn_1_ACC(0.0f, 0.25f, arg0->work[0]++, 360.0f); - Hu3DData[arg0->model[8]].pos.y = Hu3DData[arg0->model[7]].pos.y + 15.0f; - if (arg0->work[0] >= 360) { - arg0->work[0] = 0; - } -} - -void fn_1_8F68(void) { - omObjData* temp_r31; - - temp_r31 = omAddObjEx(lbl_1_bss_A8, 0x100, 16, 16, -1, NULL); - lbl_1_bss_174.unk00 = temp_r31; - lbl_1_bss_174.unk04 = (void*) fn_1_8DC0; - lbl_1_bss_174.unk00->data = &lbl_1_bss_174; - fn_1_8AE0(temp_r31); - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_174.unk04 != NULL) { - lbl_1_bss_174.unk04(temp_r31, &lbl_1_bss_174); - } - } -} - -void fn_1_92D4(s32 arg0) { - s32 spC[4]; - s32 i; - - spC[0] = 0; - for (i = 1; i < 4; i++) { - spC[i] = spC[i - 1] + 1; - if (spC[i] >= 4) { - spC[i] = 0; - } - if (arg0 == spC[i]) { - lbl_1_bss_1C4.unk04 = i; - } - } - for (i = 0; i < 4; i++) { - fn_1_352C(&lbl_1_bss_1C4.unk34[i], spC[i]); - } - for (i = 0; i < 4; i++) { - lbl_1_bss_1C4.unk34[i].unk18 = GWPlayer[spC[i]].rank + 1; - } -} - -Vec lbl_1_data_354[] = { - { -300.0f, 0.0f, 460.0f }, - { -100.0f, -30.0f, 460.0f }, - { 100.0f, -60.0f, 460.0f }, - { 300.0f, -90.0f, 460.0f } -}; - -void fn_1_9408(omObjData* arg0, s32 arg1) { - s32 var_r30; - s32 temp_r29; - - var_r30 = arg1; - temp_r29 = lbl_1_bss_1C4.unk34[var_r30].unk10; - arg0->model[1] = CharModelCreate(temp_r29, 4); - arg0->motion[1] = CharModelMotionCreate(temp_r29, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0)); - arg0->motion[2] = CharModelMotionCreate(temp_r29, DATA_MAKE_NUM(DATADIR_MARIOMOT, 3)); - arg0->motion[3] = CharModelMotionCreate(temp_r29, DATA_MAKE_NUM(DATADIR_MARIOMOT, 5)); - arg0->motion[4] = Hu3DJointMotionFile(arg0->model[1], DATA_MAKE_NUM(DATADIR_MSTORY, 48 + temp_r29)); - arg0->motion[5] = CharModelMotionCreate(temp_r29, DATA_MAKE_NUM(DATADIR_MARIOMOT, 109)); - arg0->motion[6] = Hu3DJointMotionFile(arg0->model[1], DATA_MAKE_NUM(DATADIR_MSTORY, 40 + temp_r29)); - CharModelMotionDataClose(temp_r29); - Hu3DModelPosSet(arg0->model[1], lbl_1_data_354[var_r30].x, lbl_1_data_354[lbl_1_bss_1C4.unk34[var_r30].unk18 - 1].y + 90.0f, lbl_1_data_354[var_r30].z - 15.0f); - Hu3DModelRotSet(arg0->model[1], 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[1], 1.0f, 1.0f, 1.0f); - Hu3DModelShadowSet(arg0->model[1]); - fn_1_1DCC(arg0, 1, 1, 0, 1); - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 62)); - Hu3DModelPosSet(arg0->model[2], lbl_1_data_354[var_r30].x, lbl_1_data_354[lbl_1_bss_1C4.unk34[var_r30].unk18 - 1].y, lbl_1_data_354[var_r30].z); - if (lbl_1_bss_1C4.unk34[var_r30].unk18 == 4) { - Hu3DModelAttrSet(arg0->model[2], HU3D_ATTR_DISPOFF); - } - Hu3DModelShadowMapSet(arg0->model[2]); - Hu3DModelScaleSet(arg0->model[2], 1.5f, 1.0f, 1.5f); -} - -void fn_1_9718(omObjData* arg0, StructBss19C* arg1) { - Vec sp20 = { 120.0f, 0.0f, 670.0f }; - - fn_1_2908(arg0, 1, sp20, -1.0f, 30.0f, 10.0f); - lbl_1_bss_AC.unk04 = (void*) fn_1_A008; - fn_1_1DCC(lbl_1_bss_174.unk00, 2, 2, 0, 0); - fn_1_1DCC(arg0, 1, 2, 15, 1); - fn_1_2CB0(arg0, 1, sp20, -45.0f, 30.0f, 10.0f); - fn_1_1DCC(arg0, 1, 1, 15, 1); - fn_1_2224(lbl_1_bss_174.unk00, 2, 2, 0); - arg1->unk04 = 0; -} - -void fn_1_98A4(omObjData* arg0, StructBss19C* arg1) { - if (arg0->motion[6] == Hu3DMotionIDGet(arg0->model[1]) && Hu3DMotionEndCheck(arg0->model[1])) { - fn_1_1DCC(arg0, 1, 4, 15, 1); - arg1->unk04 = 0; - } -} - -void fn_1_992C(void) { - omObjData* temp_r3; - s32 temp_r30; - - temp_r30 = lbl_1_bss_1C4.unk14++; - temp_r3 = omAddObjEx(lbl_1_bss_A8, 0x100, 16, 16, -1, NULL); - lbl_1_bss_D4[temp_r30].unk00 = temp_r3; - lbl_1_bss_D4[temp_r30].unk04 = NULL; - lbl_1_bss_D4[temp_r30].unk00->data = &lbl_1_bss_D4[temp_r30]; - fn_1_9408(temp_r3, temp_r30); - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_D4[temp_r30].unk04 != NULL) { - lbl_1_bss_D4[temp_r30].unk04(temp_r3, &lbl_1_bss_D4[temp_r30]); - } - } -} - -void fn_1_9D08(omObjData* arg0, s32 arg1) { - s32 sp1C[] = { - DATA_MAKE_NUM(DATADIR_MSTORY, 97), - DATA_MAKE_NUM(DATADIR_MSTORY, 108), - DATA_MAKE_NUM(DATADIR_MSTORY, 116), - DATA_MAKE_NUM(DATADIR_MSTORY, 124), - DATA_MAKE_NUM(DATADIR_MSTORY, 131) - }; - s32 sp30[][5] = { - { DATA_MAKE_NUM(DATADIR_MSTORY, 98), DATA_MAKE_NUM(DATADIR_MSTORY, 100), DATA_MAKE_NUM(DATADIR_MSTORY, 101), DATA_MAKE_NUM(DATADIR_MSTORY, 103), DATA_MAKE_NUM(DATADIR_MSTORY, 104) }, - { DATA_MAKE_NUM(DATADIR_MSTORY, 109), DATA_MAKE_NUM(DATADIR_MSTORY, 111), DATA_MAKE_NUM(DATADIR_MSTORY, 112), DATA_MAKE_NUM(DATADIR_MSTORY, 114), DATA_MAKE_NUM(DATADIR_MSTORY, 115) }, - { DATA_MAKE_NUM(DATADIR_MSTORY, 117), DATA_MAKE_NUM(DATADIR_MSTORY, 119), DATA_MAKE_NUM(DATADIR_MSTORY, 120), DATA_MAKE_NUM(DATADIR_MSTORY, 122), DATA_MAKE_NUM(DATADIR_MSTORY, 123) }, - { DATA_MAKE_NUM(DATADIR_MSTORY, 125), DATA_MAKE_NUM(DATADIR_MSTORY, 126), DATA_MAKE_NUM(DATADIR_MSTORY, 127), DATA_MAKE_NUM(DATADIR_MSTORY, 129), DATA_MAKE_NUM(DATADIR_MSTORY, 130) }, - { DATA_MAKE_NUM(DATADIR_MSTORY, 132), DATA_MAKE_NUM(DATADIR_MSTORY, 134), DATA_MAKE_NUM(DATADIR_MSTORY, 135), DATA_MAKE_NUM(DATADIR_MSTORY, 137), DATA_MAKE_NUM(DATADIR_MSTORY, 138) } - }; - - arg0->model[1] = Hu3DModelCreateFile(sp1C[arg1]); - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[1], sp30[arg1][0]); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[1], sp30[arg1][1]); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[1], sp30[arg1][2]); - arg0->motion[4] = Hu3DJointMotionFile(arg0->model[1], sp30[arg1][3]); - arg0->motion[5] = Hu3DJointMotionFile(arg0->model[1], sp30[arg1][4]); - Hu3DModelPosSet(arg0->model[1], -300.0f, 0.0f, 890.0f); - Hu3DModelRotSet(arg0->model[1], 0.0f, 30.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[1], 1.0f, 1.0f, 1.0f); - if (arg1 == 3) { - Hu3DData[arg0->model[1]].pos.y = 50.0f; - } - Hu3DModelShadowSet(arg0->model[1]); - fn_1_1DCC(arg0, 1, 5, 0, 1); - { - s32 sp8[] = { 9, 14, 10, 11, 12 }; - - if (arg1 != 3) { - CharModelEffectNpcInit(arg0->model[1], arg0->motion[2], 1, sp8[arg1]); - } - } -} - -void fn_1_A008(omObjData* arg0, StructBss19C* arg1) { - Vec sp14 = { -120.0f, 0.0f, 670.0f }; - - fn_1_1DCC(arg0, 1, 2, 15, 1); - fn_1_2CB0(arg0, 1, sp14, 45.0f, 60.0f, 10.0f); - fn_1_1DCC(arg0, 1, 1, 15, 1); - arg1->unk04 = 0; -} - -void fn_1_A0EC(void) { - omObjData* temp_r3; - s32 temp_r30; - - temp_r3 = omAddObjEx(lbl_1_bss_A8, 0x100, 16, 16, -1, NULL); - lbl_1_bss_AC.unk00 = temp_r3; - lbl_1_bss_AC.unk04 = NULL; - lbl_1_bss_AC.unk00->data = &lbl_1_bss_AC; - temp_r30 = lbl_1_bss_1C4.unk00; - fn_1_9D08(temp_r3, temp_r30); - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_AC.unk04 != NULL) { - lbl_1_bss_AC.unk04(temp_r3, &lbl_1_bss_AC); - } - } -} - -void fn_1_A478(void) { - StructBss4* var_r31; - - var_r31 = &lbl_1_bss_4; - var_r31->unk08.x = 0.0f; - var_r31->unk08.y = 170.0f; - var_r31->unk08.z = 0.0f; - var_r31->unk20.x = -5.0f; - var_r31->unk20.y = 0.0f; - var_r31->unk20.z = 0.0f; - var_r31->unk38 = 1700.0f; -} - -void fn_1_A504(void) { - StructBss4* var_r31; - StructBss4 sp8; - - var_r31 = &lbl_1_bss_4; - sp8.unk08.x = 0.0f; - sp8.unk08.y = 125.0f; - sp8.unk08.z = 0.0f; - sp8.unk20.x = -5.0f; - sp8.unk20.y = 0.0f; - sp8.unk20.z = 0.0f; - sp8.unk38 = 1750.0f; - fn_1_51D0(var_r31, &sp8, var_r31->unk40++, 60.0f, 30.0f); -} - -void fn_1_A5F4(void) { - StructBss4* var_r31; - StructBss4 sp8; - - var_r31 = &lbl_1_bss_4; - if (var_r31->unk40 == 50) { - fn_1_1DCC(lbl_1_bss_174.unk00, 5, 5, 0, 0); - fn_1_1DCC(lbl_1_bss_174.unk00, 6, 6, 0, 0); - HuAudFXPlay(0xA1); - } - sp8.unk08.x = 0.0f; - sp8.unk08.y = 130.0f; - sp8.unk08.z = 460.0f; - sp8.unk20.x = 0.0f; - sp8.unk20.y = 0.0f; - sp8.unk20.z = 0.0f; - sp8.unk38 = 150.0f; - fn_1_51D0(var_r31, &sp8, var_r31->unk40, 180.0f, 10.0f); - if (var_r31->unk40++ >= 90) { - if (var_r31->unk40 == 91) { - lbl_1_bss_68 = HuAudFXPlay(0x21); - } - var_r31->unk20.x = fn_1_828(var_r31->unk20.x, -45.0f, var_r31->unk40 - 90, 90.0f); - Hu3DData[lbl_1_bss_174.unk00->model[5]].rot.x = fn_1_828(0.0f, 45.0f, var_r31->unk40 - 90, 90.0f); - } -} diff --git a/src/REL/mstoryDll/board_miss.c b/src/REL/mstoryDll/board_miss.c deleted file mode 100755 index 04c63c30..00000000 --- a/src/REL/mstoryDll/board_miss.c +++ /dev/null @@ -1,817 +0,0 @@ -#include "REL/mstoryDll.h" -#include "game/armem.h" -#include "game/audio.h" -#include "game/board/main.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/gamework_data.h" -#include "game/hsfanim.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" -#include "game/printfunc.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - -typedef struct { - /* 0x000 */ s32 unk00; - /* 0x004 */ s32 unk04; - /* 0x008 */ s32 unk08; - /* 0x00C */ s32 unk0C; - /* 0x010 */ s32 unk10; - /* 0x014 */ s32 unk14; - /* 0x018 */ char unk18[0x1C]; - /* 0x034 */ StructFn352C unk34[4]; - /* 0x104 */ float unk104; -} StructBss450; // Size 0x108 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ char unk0C[4]; - /* 0x10 */ s32 unk10; - /* 0x14 */ s32 unk14; -} StructBss2D0; // Size 0x18 - -void fn_1_C360(void); -void fn_1_C7C4(void); -void fn_1_CE48(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); -void fn_1_CEF4(omObjData* arg0, StructBss19C* arg1); -void fn_1_D180(void); -void fn_1_D57C(s32 arg0); -void fn_1_DAA4(omObjData* arg0, StructBss19C* arg1); -void fn_1_DC08(omObjData* arg0, StructBss19C* arg1); -void fn_1_DD20(omObjData* arg0, StructBss19C* arg1); -void fn_1_DE04(void); -void fn_1_E228(void); -void fn_1_E2B4(void); -void fn_1_E3E4(void); -void fn_1_E620(void); - -StructBss450 lbl_1_bss_450; -StructBss19C lbl_1_bss_428; -StructBss19C lbl_1_bss_400; -StructBss19C lbl_1_bss_3D8; -StructBss19C lbl_1_bss_338[4]; -AnimData* lbl_1_bss_330[2]; -StructBss2D0 lbl_1_bss_2D0[4]; -s32 lbl_1_bss_2CC; -Process* lbl_1_bss_2C8; - -s32 lbl_1_data_388[][4] = { - { MAKE_MESSID(30, 28), MAKE_MESSID(30, 33), MAKE_MESSID(30, 34), MAKE_MESSID(30, 5) }, - { MAKE_MESSID(30, 29), MAKE_MESSID(30, 33), MAKE_MESSID(30, 34), MAKE_MESSID(30, 5) }, - { MAKE_MESSID(30, 30), MAKE_MESSID(30, 33), MAKE_MESSID(30, 34), MAKE_MESSID(30, 5) }, - { MAKE_MESSID(30, 31), MAKE_MESSID(30, 33), MAKE_MESSID(30, 34), MAKE_MESSID(30, 5) }, - { MAKE_MESSID(30, 32), MAKE_MESSID(30, 33), MAKE_MESSID(30, 34), MAKE_MESSID(30, 5) } -}; - -s32 lbl_1_data_3D8[] = { - DATADIR_W01, - DATADIR_W02, - DATADIR_W03, - DATADIR_W04, - DATADIR_W05, - DATADIR_W06, - DATADIR_W10, - DATADIR_MARIOMDL1, - DATADIR_LUIGIMDL1, - DATADIR_PEACHMDL1, - DATADIR_YOSHIMDL1, - DATADIR_WARIOMDL1, - DATADIR_DONKEYMDL1, - DATADIR_DAISYMDL1, - DATADIR_WALUIGIMDL1 -}; - -void fn_1_A830(void) { - s32 temp_r3; - - temp_r3 = HuDataDirReadAsync(DATADIR_BOARD); - if (temp_r3 != -1) { - while (HuDataGetAsyncStat(temp_r3) == 0) { - HuPrcVSleep(); - } - } - HuAR_MRAMtoARAM(DATADIR_BOARD); - while (HuARDMACheck()) { - HuPrcVSleep(); - } - HuDataDirClose(DATADIR_BOARD); - temp_r3 = HuDataDirReadAsync(lbl_1_data_3D8[GWSystem.board]); - if (temp_r3 != -1) { - while (HuDataGetAsyncStat(temp_r3) == 0) { - HuPrcVSleep(); - } - } - lbl_1_bss_2CC = 1; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_A8F8(void) { - s32 i; - s32 j; - - lbl_1_bss_2D0[0].unk00 = 0; - lbl_1_bss_2D0[0].unk04 = 0; - lbl_1_bss_2D0[0].unk10 = lbl_1_bss_450.unk34[lbl_1_bss_450.unk04].unk10; - lbl_1_bss_2D0[0].unk14 = lbl_1_bss_450.unk34[lbl_1_bss_450.unk04].unk14; - lbl_1_bss_2D0[0].unk08 = 0; - for (i = 1; i < 4; i++) { - lbl_1_bss_2D0[i].unk10 = -1; - lbl_1_bss_2D0[i].unk14 = i; - lbl_1_bss_2D0[i].unk08 = 1; - } - for (i = 1; i < 4; i++) { - do { - lbl_1_bss_2D0[i].unk10 = rand8() % 8; - for (j = 0; j < 4; j++) { - if (i != j && lbl_1_bss_2D0[j].unk10 != -1 && lbl_1_bss_2D0[i].unk10 == lbl_1_bss_2D0[j].unk10) { - break; - } - } - } while (j != 4); - } - for (i = 0; i < 4; i++) { - GWPlayerCfg[i].character = lbl_1_bss_2D0[i].unk10; - GWPlayerCfg[i].pad_idx = lbl_1_bss_2D0[i].unk14; - GWPlayerCfg[i].group = 0; - GWPlayerCfg[i].iscom = lbl_1_bss_2D0[i].unk08; - } - BoardSaveInit(GWSystem.board); - CharKill(-1); - HuDataDirClose(DATADIR_MSTORY); - HuPrcChildCreate(fn_1_A830, 100, 0x3000, 0, lbl_1_bss_2C8); -} - -void fn_1_ABAC(void) { - omOvlHisData* var_r30; - s32 sp8[] = { OVL_W01, OVL_W02, OVL_W03, OVL_W04, OVL_W05, OVL_W06, OVL_W10 }; - - WipeColorSet(0xFF, 0xFF, 0xFF); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (WipeStatGet() != 0) { - fn_1_B8C(); - } - CharModelKill(-1); - MGSeqKillAll(); - var_r30 = omOvlHisGet(0); - omOvlHisChg(0, OVL_MSTORY3, 0, var_r30->stat); - do { - fn_1_B8C(); - } while (lbl_1_bss_2CC != 1); - CharARAMOpen(GWPlayerCfg[0].character); - CharARAMOpen(GWPlayerCfg[1].character); - CharARAMOpen(GWPlayerCfg[2].character); - CharARAMOpen(GWPlayerCfg[3].character); - HuAudSeqAllFadeOut(1000); - HuAudSStreamAllFadeOut(1000); - omOvlCallEx(sp8[GWSystem.board], 1, 0, 0); - while (TRUE) { - fn_1_B8C(); - } -} - -void fn_1_ACFC(Process* arg0, s32 arg1, s32 arg2) { - s32 i; - - lbl_1_bss_2C8 = arg0; - lbl_1_bss_450.unk04 = arg2; - lbl_1_bss_450.unk10 = arg2; - lbl_1_bss_450.unk00 = arg1; - fn_1_BF4(); - fn_1_3618(0xFF); - fn_1_27E8(lbl_1_bss_2C8, fn_1_E228); - fn_1_3704(); - fn_1_D57C(arg2); - HuPrcChildCreate(fn_1_C7C4, 100, 0x2000, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_D180, 100, 0x2000, 0, HuPrcCurrentGet()); - for (i = 0; i < 4; i++) { - HuPrcChildCreate(fn_1_DE04, 100, 0x2000, 0, HuPrcCurrentGet()); - } - HuPrcChildCreate(fn_1_C360, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -void fn_1_AE30(omObjData* arg0) { - if (arg0->work[2] != 0) { - arg0->work[2]--; - return; - } - if (arg0->work[2] == 0 && Hu3DMotionEndCheck(arg0->model[1])) { - fn_1_1DCC(arg0, 1, arg0->work[1], 15, 1); - arg0->work[0] = arg0->work[1] = arg0->work[2] = 0; - } -} - -void fn_1_AEBC(void) { - s32 var_r30 = 16; - s32 var_r29 = 40; - GXColor sp10 = { 0x00, 0x00, 0x80, 0x80 }; - s32 i; - - while (TRUE) { - fn_1_B8C(); - printWin(var_r30, var_r29, 220, 160, &sp10); - if (lbl_1_bss_428.unk04 == NULL) { - print8(var_r30, var_r29, 1.0f, "PROC_MAIN -> FALSE"); - } else { - print8(var_r30, var_r29, 1.0f, "PROC_MAIN -> TRUE"); - } - if (lbl_1_bss_400.unk04 == NULL) { - print8(var_r30, var_r29 + 10, 1.0f, "PROC_MAP -> FALSE"); - } else { - print8(var_r30, var_r29 + 10, 1.0f, "PROC_MAP -> TRUE"); - } - if (lbl_1_bss_3D8.unk04 == NULL) { - print8(var_r30, var_r29 + 30, 1.0f, "PROC_MKOOPA -> FALSE"); - } else { - print8(var_r30, var_r29 + 30, 1.0f, "PROC_MKOOPA -> TRUE"); - } - for (i = 0; i < 4; i++) { - if (lbl_1_bss_338[i].unk04 == NULL) { - print8(var_r30, i * 10 + (var_r29 + 40), 1.0f, "PROC_PLAYER%d -> FALSE", i); - } else { - print8(var_r30, i * 10 + (var_r29 + 40), 1.0f, "PROC_PLAYER%d -> TRUE", i); - } - } - print8(var_r30, var_r29 + 90, 1.0f, "P:%d W:%d", lbl_1_bss_450.unk04, lbl_1_bss_450.unk10); - print8(var_r30, var_r29 + 110, 1.0f, "NO) IDX:GRP:COM:DIF:PAD:CHR"); - for (i = 0; i < 4; i++) { - print8(var_r30, var_r29 + 120 + i * 10, 1.0f, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, - lbl_1_bss_450.unk34[i].unk00, lbl_1_bss_450.unk34[i].unk04, lbl_1_bss_450.unk34[i].unk08, - lbl_1_bss_450.unk34[i].unk0C, lbl_1_bss_450.unk34[i].unk14, lbl_1_bss_450.unk34[i].unk10); - } - } -} - -void fn_1_B230(void) { - lbl_1_bss_58[0] = HuAudSeqPlay(0x34); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - do { - fn_1_B8C(); - } while (WipeStatGet() != 0); - fn_1_BAC(60); -} - -void fn_1_B28C(void) { - s32 i; - - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_450.unk00][1]); - lbl_1_bss_450.unk08 = fn_1_1834(0, 0, 21, 2, lbl_1_bss_450.unk10); - fn_1_CE48(3, -1, 15, 1, 0); - fn_1_1CE8(lbl_1_bss_450.unk08, lbl_1_data_388[lbl_1_bss_450.unk00][0]); - fn_1_1ACC(lbl_1_bss_450.unk08, -1); - fn_1_1CE8(lbl_1_bss_450.unk08, MAKE_MESSID(37, 4)); - fn_1_CE48(1, -1, 15, 1, 0); - fn_1_1A64(lbl_1_bss_450.unk08); - for (i = 0; i < 4; i++) { - lbl_1_bss_338[i].unk04 = (void*) fn_1_DAA4; - } - do { - fn_1_B8C(); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_338[i].unk04 != NULL) { - break; - } - } - } while (i != 4); - lbl_1_bss_338[lbl_1_bss_450.unk04].unk04 = (void*) fn_1_DC08; - fn_1_3804(&lbl_1_bss_4); - fn_1_2710(fn_1_E2B4); - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_338[lbl_1_bss_450.unk04].unk04 == NULL) { - break; - } - } - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_3D8.unk04 == NULL) { - break; - } - } - fn_1_BAC(30); -} - -BOOL fn_1_B4A0(void) { - BOOL temp_r31 = FALSE; - - fn_1_1CE8(lbl_1_bss_450.unk08, lbl_1_data_388[lbl_1_bss_450.unk00][1]); - fn_1_1ACC(lbl_1_bss_450.unk08, 5); - lbl_1_bss_450.unk0C = fn_1_6EB8(MAKE_MESSID(30, 53), lbl_1_bss_450.unk10); - fn_1_1CE8(lbl_1_bss_450.unk0C, MAKE_MESSID(30, 53)); - temp_r31 = fn_1_1C34(lbl_1_bss_450.unk0C); - fn_1_1CE8(lbl_1_bss_450.unk0C, MAKE_MESSID(37, 4)); - fn_1_7028(lbl_1_bss_450.unk0C); - return temp_r31; -} - -BOOL fn_1_B588(void) { - BOOL temp_r31 = FALSE; - - fn_1_1CE8(lbl_1_bss_450.unk08, lbl_1_data_388[lbl_1_bss_450.unk00][2]); - fn_1_1ACC(lbl_1_bss_450.unk08, 5); - lbl_1_bss_450.unk0C = fn_1_6EB8(MAKE_MESSID(30, 53), lbl_1_bss_450.unk10); - fn_1_1CE8(lbl_1_bss_450.unk0C, MAKE_MESSID(30, 53)); - temp_r31 = fn_1_1C34(lbl_1_bss_450.unk0C); - fn_1_1CE8(lbl_1_bss_450.unk0C, MAKE_MESSID(37, 4)); - fn_1_7028(lbl_1_bss_450.unk0C); - return temp_r31; -} - -BOOL fn_1_B670(void) { - BOOL temp_r31 = FALSE; - - fn_1_CE48(3, -1, 15, 1, 0); - fn_1_1CE8(lbl_1_bss_450.unk08, lbl_1_data_388[lbl_1_bss_450.unk00][3]); - fn_1_1ACC(lbl_1_bss_450.unk08, 5); - fn_1_CE48(1, -1, 15, 1, 0); - lbl_1_bss_450.unk0C = fn_1_6EB8(MAKE_MESSID(30, 53), lbl_1_bss_450.unk10); - fn_1_1CE8(lbl_1_bss_450.unk0C, MAKE_MESSID(30, 53)); - temp_r31 = fn_1_1B78(lbl_1_bss_450.unk0C, 1); - fn_1_1CE8(lbl_1_bss_450.unk0C, MAKE_MESSID(37, 4)); - fn_1_7028(lbl_1_bss_450.unk0C); - return temp_r31; -} - -void fn_1_B78C(void) { - fn_1_BAC(60); - fn_1_A8F8(); - Hu3DModelAttrReset(lbl_1_bss_400.unk00->model[5], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_400.unk00->model[6], HU3D_ATTR_DISPOFF); - fn_1_1DCC(lbl_1_bss_400.unk00, 2, 3, 0, 0); - fn_1_BAC(30); - fn_1_1DCC(lbl_1_bss_3D8.unk00, 1, 4, 15, 0); - fn_1_BAC(30); - fn_1_1DCC(lbl_1_bss_338[lbl_1_bss_450.unk04].unk00, 1, 3, 15, 0); - fn_1_2224(lbl_1_bss_400.unk00, 2, 3, 0); - fn_1_BAC(60); - HuAudSeqFadeOut(lbl_1_bss_58[0], 3000); - fn_1_3804(&lbl_1_bss_4); - fn_1_2710(fn_1_E3E4); - fn_1_BAC(150); -} - -void fn_1_B8C8(void) { -} - -void fn_1_B8CC(void) { - fn_1_1DCC(lbl_1_bss_400.unk00, 2, 3, 0, 0); - fn_1_2224(lbl_1_bss_400.unk00, 2, 3, 0); - fn_1_3804(&lbl_1_bss_4); - fn_1_2710(fn_1_E620); - lbl_1_bss_3D8.unk04 = (void*) fn_1_CEF4; - lbl_1_bss_338[lbl_1_bss_450.unk04].unk04 = (void*) fn_1_DD20; - do { - fn_1_B8C(); - } while (lbl_1_bss_3D8.unk04 != NULL); - fn_1_1DCC(lbl_1_bss_400.unk00, 2, 2, 0, 0); - fn_1_2224(lbl_1_bss_400.unk00, 2, 2, 0); -} - -void fn_1_B9D0(s32 arg0) { - s32 i; - - fn_1_BAC(60); - HuAudSeqFadeOut(lbl_1_bss_58[0], 1000); - WipeColorSet(0xFF, 0xFF, 0xFF); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (TRUE) { - fn_1_B8C(); - if (WipeStatGet() == 0) { - break; - } - } - CharModelKill(-1); - HuAudFadeOut(1); - if (arg0 == 1) { - omOvlReturnEx(1, 1); - } else { - GWPlayerCfg->group = 0; - GWPlayerCfg->character = lbl_1_bss_450.unk34[lbl_1_bss_450.unk04].unk10; - GWPlayerCfg->pad_idx = lbl_1_bss_450.unk34[lbl_1_bss_450.unk04].unk14; - GWPlayerCfg->iscom = 0; - for (i = 0; i < 4; i++) { - GWPlayer[i].character = GWPlayerCfg[i].character; - GWPlayer[i].port = GWPlayerCfg[i].pad_idx; - GWPlayer[i].com = GWPlayerCfg[i].iscom; - GWPlayer[i].team = GWPlayerCfg[i].group; - } - omOvlGotoEx(OVL_MENT, 1, 10, 0); - } - while (TRUE) { - fn_1_B8C(); - } -} - -void fn_1_BBD8(s32 arg0, StructBss19C* arg1) { - s32 i; - s32 var_r30 = 0; - - fn_1_B230(); - fn_1_B28C(); - lbl_1_bss_450.unk08 = fn_1_1834(1, 0, 21, 2, lbl_1_bss_450.unk10); - while (TRUE) { - fn_1_B8C(); - if (fn_1_B4A0()) { - var_r30 = 0; - break; - } - if (fn_1_B588()) { - var_r30 = 2; - break; - } - if (fn_1_B670()) { - var_r30 = 1; - break; - } - } - fn_1_1A64(lbl_1_bss_450.unk08); - for (i = 0; i < 4; i++) { - if (lbl_1_bss_450.unk34[i].unk00 != lbl_1_bss_450.unk34[lbl_1_bss_450.unk04].unk00) { - Hu3DModelAttrSet(lbl_1_bss_338[i].unk00->model[1], HU3D_ATTR_DISPOFF); - } - Hu3DModelAttrSet(lbl_1_bss_338[i].unk00->model[2], HU3D_ATTR_DISPOFF); - } - switch (var_r30) { - case 1: - fn_1_B8C8(); - break; - case 0: - fn_1_B78C(); - break; - case 2: - fn_1_B8CC(); - break; - } - switch (var_r30) { - case 0: - fn_1_ABAC(); - break; - case 1: - case 2: - fn_1_B9D0(var_r30); - /* fallthrough */ - default: - arg1->unk04 = 0; - break; - } -} - -void fn_1_C360(void) { - omObjData* temp_r3; - - temp_r3 = omAddObjEx(lbl_1_bss_2C8, 0x100, 16, 16, -1, NULL); - lbl_1_bss_428.unk00 = temp_r3; - lbl_1_bss_428.unk04 = (void*) fn_1_BBD8; - lbl_1_bss_428.unk00->data = &lbl_1_bss_428; - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_428.unk04 != NULL) { - lbl_1_bss_428.unk04(temp_r3, &lbl_1_bss_428); - } - } -} - -void fn_1_C414(omObjData* arg0, s32 arg1) { - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 56)); - arg0->motion[0] = Hu3DMotionIDGet(arg0->model[1]); - fn_1_1DCC(arg0, 1, 0, 0, 2); - Hu3DModelShadowMapObjSet(arg0->model[1], "base_fix9-base"); - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 59)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[2], DATA_MAKE_NUM(DATADIR_MSTORY, 60)); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[2], DATA_MAKE_NUM(DATADIR_MSTORY, 61)); - fn_1_1DCC(arg0, 2, 2, 0, 2); - arg0->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 57)); - arg0->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 63)); - arg0->motion[5] = Hu3DMotionIDGet(arg0->model[5]); - Hu3DModelPosSet(arg0->model[5], 0.0f, 80.0f, 460.0f); - Hu3DModelAttrSet(arg0->model[5], HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(arg0->model[5]); - fn_1_1DCC(arg0, 5, 5, 0, 2); - arg0->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 64)); - arg0->motion[6] = Hu3DMotionIDGet(arg0->model[6]); - Hu3DModelHookSet(arg0->model[5], "partybox_fix2-effect_fook1", arg0->model[6]); - Hu3DModelAttrSet(arg0->model[6], HU3D_ATTR_DISPOFF); - fn_1_1DCC(arg0, 6, 6, 0, 2); - lbl_1_bss_330[0] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY, 65 + arg1 * 2), MEMORY_DEFAULT_NUM)); - lbl_1_bss_330[1] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY, 66 + arg1 * 2), MEMORY_DEFAULT_NUM)); - Hu3DAnimCreate(lbl_1_bss_330[0], lbl_1_bss_400.unk00->model[5], "ys26_p0"); - Hu3DAnimCreate(lbl_1_bss_330[1], lbl_1_bss_400.unk00->model[5], "ys26_p1"); -} - -void fn_1_C708(omObjData* arg0, StructBss19C* arg1) { - Hu3DData[arg0->model[5]].pos.y = fn_1_ACC(80.0f, 90.0f, arg1->unk08++, 360.0f); - if (arg1->unk08 >= 360) { - arg1->unk08 = 0; - } -} - -void fn_1_C7C4(void) { - omObjData* temp_r3; - - temp_r3 = omAddObjEx(lbl_1_bss_2C8, 0x100, 16, 16, -1, NULL); - lbl_1_bss_400.unk00 = temp_r3; - lbl_1_bss_400.unk04 = (void*) fn_1_C708; - lbl_1_bss_400.unk00->data = &lbl_1_bss_400; - fn_1_C414(temp_r3, lbl_1_bss_450.unk00); - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_400.unk04 != NULL) { - lbl_1_bss_400.unk04(temp_r3, &lbl_1_bss_400); - } - } -} - -void fn_1_CB48(omObjData* arg0, s32 arg1) { - s32 sp1C[] = { - DATA_MAKE_NUM(DATADIR_MSTORY, 0x61), - DATA_MAKE_NUM(DATADIR_MSTORY, 0x6C), - DATA_MAKE_NUM(DATADIR_MSTORY, 0x74), - DATA_MAKE_NUM(DATADIR_MSTORY, 0x7C), - DATA_MAKE_NUM(DATADIR_MSTORY, 0x83) - }; - s32 sp30[][5] = { - { DATA_MAKE_NUM(DATADIR_MSTORY, 0x62), DATA_MAKE_NUM(DATADIR_MSTORY, 0x64), DATA_MAKE_NUM(DATADIR_MSTORY, 0x65), DATA_MAKE_NUM(DATADIR_MSTORY, 0x67), DATA_MAKE_NUM(DATADIR_MSTORY, 0x68) }, - { DATA_MAKE_NUM(DATADIR_MSTORY, 0x6D), DATA_MAKE_NUM(DATADIR_MSTORY, 0x6F), DATA_MAKE_NUM(DATADIR_MSTORY, 0x70), DATA_MAKE_NUM(DATADIR_MSTORY, 0x72), DATA_MAKE_NUM(DATADIR_MSTORY, 0x73) }, - { DATA_MAKE_NUM(DATADIR_MSTORY, 0x75), DATA_MAKE_NUM(DATADIR_MSTORY, 0x77), DATA_MAKE_NUM(DATADIR_MSTORY, 0x78), DATA_MAKE_NUM(DATADIR_MSTORY, 0x7A), DATA_MAKE_NUM(DATADIR_MSTORY, 0x7B) }, - { DATA_MAKE_NUM(DATADIR_MSTORY, 0x7D), DATA_MAKE_NUM(DATADIR_MSTORY, 0x7E), DATA_MAKE_NUM(DATADIR_MSTORY, 0x7F), DATA_MAKE_NUM(DATADIR_MSTORY, 0x81), DATA_MAKE_NUM(DATADIR_MSTORY, 0x82) }, - { DATA_MAKE_NUM(DATADIR_MSTORY, 0x84), DATA_MAKE_NUM(DATADIR_MSTORY, 0x86), DATA_MAKE_NUM(DATADIR_MSTORY, 0x87), DATA_MAKE_NUM(DATADIR_MSTORY, 0x89), DATA_MAKE_NUM(DATADIR_MSTORY, 0x8A) } - }; - - arg0->model[1] = Hu3DModelCreateFile(sp1C[arg1]); - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[1], sp30[arg1][0]); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[1], sp30[arg1][1]); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[1], sp30[arg1][2]); - arg0->motion[4] = Hu3DJointMotionFile(arg0->model[1], sp30[arg1][3]); - arg0->motion[5] = Hu3DJointMotionFile(arg0->model[1], sp30[arg1][4]); - Hu3DModelPosSet(arg0->model[1], -300.0f, 0.0f, 890.0f); - Hu3DModelRotSet(arg0->model[1], 0.0f, 30.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[1], 1.0f, 1.0f, 1.0f); - if (arg1 == 3) { - Hu3DData[arg0->model[1]].pos.y = 50.0f; - } - Hu3DModelShadowSet(arg0->model[1]); - fn_1_1DCC(arg0, 1, 1, 0, 1); - { - s32 sp8[] = { 9, 14, 10, 11, 12 }; - - if (arg1 != 3) { - CharModelEffectNpcInit(arg0->model[1], arg0->motion[2], 1, sp8[arg1]); - } - } -} - -void fn_1_CE48(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - fn_1_1DCC(lbl_1_bss_3D8.unk00, 1, arg0, arg2, arg3); - if (arg3 == 1) { - arg4 = 0; - } - lbl_1_bss_3D8.unk00->work[0] = arg4; - lbl_1_bss_3D8.unk00->work[1] = arg1; - lbl_1_bss_3D8.unk00->work[2] = arg2 + 1; -} - -void fn_1_CEF4(omObjData* arg0, StructBss19C* arg1) { - Vec sp14 = { 0.0f, 0.0f, 460.0f }; - - fn_1_1DCC(arg0, 1, 2, 15, 1); - fn_1_2CB0(arg0, 1, sp14, 0.0f, 60.0f, 10.0f); - fn_1_1DCC(arg0, 1, 1, 15, 1); - arg1->unk04 = 0; -} - -void fn_1_CFD8(omObjData* arg0, StructBss19C* arg1) { - s32 i; - - for (i = 0; i < 15; i++) { - fn_1_B8C(); - Hu3DData[arg0->model[1]].rot.y = fn_1_828(0.0f, 135.0f, i, 15.0f); - } - arg1->unk04 = 0; -} - -void fn_1_D09C(omObjData* arg0, StructBss19C* arg1) { - Vec sp14 = { -120.0f, 0.0f, 670.0f }; - - fn_1_1DCC(arg0, 1, 2, 15, 1); - fn_1_2CB0(arg0, 1, sp14, 45.0f, 60.0f, 10.0f); - fn_1_1DCC(arg0, 1, 1, 15, 1); - arg1->unk04 = 0; -} - -void fn_1_D180(void) { - omObjData* temp_r3; - - temp_r3 = omAddObjEx(lbl_1_bss_2C8, 0x100, 16, 16, -1, NULL); - lbl_1_bss_3D8.unk00 = temp_r3; - lbl_1_bss_3D8.unk04 = NULL; - lbl_1_bss_3D8.unk00->data = &lbl_1_bss_3D8; - fn_1_CB48(temp_r3, lbl_1_bss_450.unk00); - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_3D8.unk04 != NULL) { - lbl_1_bss_3D8.unk04(temp_r3, &lbl_1_bss_3D8); - } - if (temp_r3->work[0] != 0) { - fn_1_AE30(temp_r3); - } - } -} - -void fn_1_D57C(s32 arg0) { - s32 spC[4]; - s32 i; - - spC[0] = 0; - for (i = 1; i < 4; i++) { - spC[i] = spC[i - 1] + 1; - if (spC[i] >= 4) { - spC[i] = 0; - } - if (arg0 == spC[i]) { - lbl_1_bss_450.unk04 = i; - } - } - for (i = 0; i < 4; i++) { - fn_1_352C(&lbl_1_bss_450.unk34[i], spC[i]); - } - for (i = 0; i < 4; i++) { - lbl_1_bss_450.unk34[i].unk18 = GWPlayer[spC[i]].rank + 1; - } -} - -Vec lbl_1_data_540[] = { - { -300.0f, 0.0f, 460.0f }, - { -100.0f, -30.0f, 460.0f }, - { 100.0f, -60.0f, 460.0f }, - { 300.0f, -90.0f, 460.0f } -}; - -void fn_1_D6B0(omObjData* arg0, s32 arg1) { - s32 var_r30; - s32 temp_r28; - - var_r30 = arg1; - temp_r28 = lbl_1_bss_450.unk34[var_r30].unk10; - arg0->model[1] = CharModelCreate(lbl_1_bss_450.unk34[arg1].unk10, 4); - arg0->motion[1] = CharModelMotionCreate(lbl_1_bss_450.unk34[arg1].unk10, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0)); - arg0->motion[2] = CharModelMotionCreate(lbl_1_bss_450.unk34[arg1].unk10, DATA_MAKE_NUM(DATADIR_MARIOMOT, 3)); - arg0->motion[3] = CharModelMotionCreate(lbl_1_bss_450.unk34[arg1].unk10, DATA_MAKE_NUM(DATADIR_MARIOMOT, 109)); - CharModelMotionDataClose(temp_r28); - Hu3DModelPosSet(arg0->model[1], lbl_1_data_540[var_r30].x, 90.0f + lbl_1_data_540[lbl_1_bss_450.unk34[var_r30].unk18 - 1].y, lbl_1_data_540[var_r30].z - 15.0f); - Hu3DModelRotSet(arg0->model[1], 0.0f, 0.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[1], 1.0f, 1.0f, 1.0f); - Hu3DModelShadowSet(arg0->model[1]); - fn_1_1DCC(arg0, 1, 1, 0, 1); - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 62)); - Hu3DModelPosSet(arg0->model[2], lbl_1_data_540[var_r30].x, lbl_1_data_540[lbl_1_bss_450.unk34[var_r30].unk18 - 1].y, lbl_1_data_540[var_r30].z); - if (lbl_1_bss_450.unk34[var_r30].unk18 == 4) { - Hu3DModelAttrSet(arg0->model[2], HU3D_ATTR_DISPOFF); - } - Hu3DModelScaleSet(arg0->model[2], 1.5f, 1.0f, 1.5f); - Hu3DModelShadowMapSet(arg0->model[2]); -} - -void fn_1_D9A8(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - fn_1_1DCC(lbl_1_bss_338[lbl_1_bss_450.unk04].unk00, 1, arg0, arg2, arg3); - if (arg3 == 1) { - arg4 = 0; - } - lbl_1_bss_338[lbl_1_bss_450.unk04].unk00->work[0] = arg4; - lbl_1_bss_338[lbl_1_bss_450.unk04].unk00->work[1] = arg1; - lbl_1_bss_338[lbl_1_bss_450.unk04].unk00->work[2] = arg2 + 1; -} - -void fn_1_DAA4(omObjData* arg0, StructBss19C* arg1) { - float temp_f31; - s32 i; - - temp_f31 = Hu3DData[arg0->model[1]].pos.y; - for (i = 0; i < 60; i++) { - fn_1_B8C(); - Hu3DData[arg0->model[1]].pos.y = fn_1_948(temp_f31, 0.0f, i, 60.0f); - Hu3DData[arg0->model[2]].pos.y = fn_1_948(temp_f31 - 90.0f, -90.0f, i, 60.0f); - } - Hu3DModelAttrSet(arg0->model[2], HU3D_ATTR_DISPOFF); - arg1->unk04 = 0; -} - -void fn_1_DC08(omObjData* arg0, StructBss19C* arg1) { - Vec sp14 = { 120.0f, 0.0f, 670.0f }; - - lbl_1_bss_3D8.unk04 = (void*) fn_1_D09C; - fn_1_1DCC(lbl_1_bss_400.unk00, 2, 2, 0, 0); - fn_1_1DCC(arg0, 1, 2, 15, 1); - fn_1_2CB0(arg0, 1, sp14, -45.0f, 30.0f, 10.0f); - fn_1_1DCC(arg0, 1, 1, 15, 1); - arg1->unk04 = 0; -} - -void fn_1_DD20(omObjData* arg0, StructBss19C* arg1) { - Vec sp14 = { 600.0f, 0.0f, 700.0f }; - - fn_1_1DCC(arg0, 1, 2, 15, 1); - fn_1_2CB0(arg0, 1, sp14, -45.0f, 30.0f, 10.0f); - fn_1_1DCC(arg0, 1, 1, 15, 1); - arg1->unk04 = 0; -} - -void fn_1_DE04(void) { - omObjData* temp_r3; - s32 temp_r30; - - temp_r30 = lbl_1_bss_450.unk14++; - temp_r3 = omAddObjEx(lbl_1_bss_2C8, 0x100, 16, 16, -1, NULL); - lbl_1_bss_338[temp_r30].unk00 = temp_r3; - lbl_1_bss_338[temp_r30].unk04 = NULL; - lbl_1_bss_338[temp_r30].unk00->data = lbl_1_bss_338; - fn_1_D6B0(temp_r3, temp_r30); - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_338[temp_r30].unk04 != NULL) { - lbl_1_bss_338[temp_r30].unk04(temp_r3, &lbl_1_bss_338[temp_r30]); - } - if (temp_r3->work[0] != 0) { - fn_1_AE30(temp_r3); - } - } -} - -void fn_1_E228(void) { - StructBss4* var_r31; - - var_r31 = &lbl_1_bss_4; - var_r31->unk08.x = 0.0f; - var_r31->unk08.y = 170.0f; - var_r31->unk08.z = 0.0f; - var_r31->unk20.x = -5.0f; - var_r31->unk20.y = 0.0f; - var_r31->unk20.z = 0.0f; - var_r31->unk38 = 1700.0f; -} - -void fn_1_E2B4(void) { - StructBss4* var_r31; - StructBss4 sp8; - - var_r31 = &lbl_1_bss_4; - sp8.unk08.x = 0.0f; - sp8.unk08.y = 125.0f; - sp8.unk08.z = 0.0f; - sp8.unk20.x = -5.0f; - sp8.unk20.y = 0.0f; - sp8.unk20.z = 0.0f; - sp8.unk38 = 1750.0f; - fn_1_51D0(var_r31, &sp8, var_r31->unk40++, 60.0f, 30.0f); - if (lbl_1_bss_450.unk104 != 0.0f) { - var_r31->unk08.y = 125.0f + lbl_1_bss_450.unk104; - } -} - -void fn_1_E3E4(void) { - StructBss4* var_r31; - StructBss4 sp8; - - var_r31 = &lbl_1_bss_4; - if (var_r31->unk40 == 50) { - fn_1_1DCC(lbl_1_bss_400.unk00, 5, 5, 0, 0); - fn_1_1DCC(lbl_1_bss_400.unk00, 6, 6, 0, 0); - HuAudFXPlay(0xA1); - } - sp8.unk08.x = 0.0f; - sp8.unk08.y = 100.0f; - sp8.unk08.z = 460.0f; - sp8.unk20.x = 0.0f; - sp8.unk20.y = 0.0f; - sp8.unk20.z = 0.0f; - sp8.unk38 = 125.0f; - fn_1_51D0(var_r31, &sp8, var_r31->unk40, 180.0f, 10.0f); - if (var_r31->unk40++ >= 90) { - if (var_r31->unk40 == 91) { - lbl_1_bss_68 = HuAudFXPlay(0x21); - } - var_r31->unk20.x = fn_1_828(var_r31->unk20.x, -45.0f, var_r31->unk40 - 90, 90.0f); - Hu3DData[lbl_1_bss_400.unk00->model[5]].rot.x = fn_1_828(0.0f, 45.0f, var_r31->unk40 - 90, 90.0f); - } -} - -void fn_1_E620(void) { - StructBss4* var_r31; - StructBss4 sp8; - - var_r31 = &lbl_1_bss_4; - sp8.unk08.x = 0.0f; - sp8.unk08.y = 220.0f; - sp8.unk08.z = 0.0f; - sp8.unk20.x = 0.0f; - sp8.unk20.y = 0.0f; - sp8.unk20.z = 0.0f; - sp8.unk38 = 1600.0f; - fn_1_51D0(var_r31, &sp8, var_r31->unk40++, 60.0f, 30.0f); -} diff --git a/src/REL/mstoryDll/main.c b/src/REL/mstoryDll/main.c deleted file mode 100755 index 7f4f2cb7..00000000 --- a/src/REL/mstoryDll/main.c +++ /dev/null @@ -1,1012 +0,0 @@ -#include "REL/mstoryDll.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/pad.h" -#include "game/printfunc.h" -#include "game/window.h" -#include "game/wipe.h" - -#include "ext_math.h" - -char lbl_1_bss_6C[0x3C]; // unused -s32 lbl_1_bss_68; -s32 lbl_1_bss_58[4]; -char lbl_1_bss_48[0x10]; // unused -StructBss4 lbl_1_bss_4; -Process* lbl_1_bss_0; - -s32 lbl_1_data_0[][4] = { - { 0x37, 0x38, 0x36, 0x39 }, - { 0x43, 0x45, 0x44, 0x43 }, - { 0x40, 0x42, 0x41, 0x40 }, - { 0x4B, 0x4D, 0x4C, 0x4B }, - { 0x46, 0x48, 0x47, 0x46 }, - { 0x3E, 0x3F, 0x3E, 0x3E } -}; - -char* lbl_1_data_100[] = { - "S-2 : NORMAL STORY - BOARD CLEAR EVENT", - "S-3 : NORMAL STORY - BOARD MISS EVENT", - "S-4 : NORMAL STORY - MINIGAME CLEAR EVENT", - "S-5 : NORMAL STORY - MINIGAME MISS EVENT" -}; - -void fn_1_0(omObjData* arg0) { - if (WipeStatGet() == 0) { - arg0->func = NULL; - omOvlReturnEx(1, 1); - } -} - -void fn_1_4C(omObjData* arg0) { - if (omSysExitReq != 0) { - arg0->func = fn_1_0; - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - } -} - -void fn_1_A4(void) { - s32 sp14; - s32 var_r30; - s32 var_r31; - s32 sp10; - s32 spC; - s32 sp8; - s32 i; - - sp14 = 0; - var_r30 = 0; - var_r31 = 0; - sp10 = 1; - spC = 1; - sp8 = 1; - omAddObjEx(lbl_1_bss_0, 0x2000, 0, 0, -1, fn_1_4C); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - while (TRUE) { - if (WipeStatGet() == 0) { - break; - } - fn_1_B8C(); - } - while (TRUE) { - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - break; - } - if ((HuPadBtnDown[0] & PAD_BUTTON_DOWN) || HuPadStkY[0] >= 30) { - var_r30++; - if (var_r30 >= 4) { - var_r30 = 0; - } - fn_1_BAC(5); - } - if ((HuPadBtnDown[0] & PAD_BUTTON_UP) || HuPadStkY[0] <= -30) { - var_r30--; - if (var_r30 < 0) { - var_r30 = 3; - } - fn_1_BAC(5); - } - if (HuPadBtnDown[0] & PAD_BUTTON_RIGHT) { - var_r31++; - if (var_r31 > 4) { - var_r31 = 0; - } - } - if (HuPadBtnDown[0] & PAD_BUTTON_LEFT) { - var_r31--; - if (var_r31 < 0) { - var_r31 = 4; - } - } - fontcolor = FONT_COLOR_WHITE; - print8(24, 100, 1.5f, ">>>>> MPGC STORY 1 - EVENT SELECT <<<<<"); - print8(24, 130, 1.5f, "MAP NUMBER : %d", var_r31 + 1); - for (i = 0; i < 4; i++) { - fontcolor = FONT_COLOR_WHITE; - if (var_r30 == i) { - fontcolor = FONT_COLOR_CYAN; - } - print8(24, 160 + i * 15, 1.5f, "%s", lbl_1_data_100[i]); - } - fn_1_B8C(); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while (TRUE) { - if (WipeStatGet() == 0) { - break; - } - fn_1_B8C(); - } - GWSystem.board = var_r31; - switch (var_r30) { - case 0: - fn_1_79B8(lbl_1_bss_0, var_r31, 0); - break; - case 1: - fn_1_ACFC(lbl_1_bss_0, var_r31, 0); - break; - case 2: - fn_1_E710(lbl_1_bss_0, var_r31, 0); - break; - case 3: - fn_1_11624(lbl_1_bss_0, var_r31, 0); - break; - } - while (TRUE) { - fn_1_B8C(); - } -} - -#include "src/REL/executor.c" - -void fn_1_488(void) { - s32 i; - - lbl_1_bss_0 = omInitObjMan(62, 0x2000); - switch (omovlevtno) { - case 0: - for (i = 0; i < 4; i++) { - if (GWPlayerCfg[i].character == GWStoryCharGet()) { - break; - } - } - fn_1_79B8(lbl_1_bss_0, GWSystem.board, i); - break; - case 1: - for (i = 0; i < 4; i++) { - if (GWPlayerCfg[i].character == GWStoryCharGet()) { - break; - } - } - fn_1_ACFC(lbl_1_bss_0, GWSystem.board, i); - break; - case 2: - if (GWPlayerCoinWinGet(0) >= 10) { - fn_1_E710(lbl_1_bss_0, GWSystem.board, 0); - } else { - fn_1_11624(lbl_1_bss_0, GWSystem.board, 0); - } - break; - case 20: - fn_1_14150(lbl_1_bss_0); - break; - } -} - -void ObjectSetup(void) { - fn_1_488(); -} - -float fn_1_828(float arg0, float arg1, float arg2, float arg3) { - if (arg3 <= arg2) { - return arg1; - } - return arg0 + (arg2 / arg3) * (arg1 - arg0); -} - -float fn_1_850(float arg0, float arg1, float arg2) { - return (arg1 + arg0 * (arg2 - 1.0f)) / arg2; -} - -float fn_1_870(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg1 - arg0) * (1.0 - cosd((90.0f / arg3) * arg2)); -} - -float fn_1_948(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg1; - } - return arg0 + (arg1 - arg0) * sind((90.0f / arg3) * arg2); -} - -float fn_1_A10(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg0; - } - return arg0 + (arg1 - arg0) * sind((180.0f / arg3) * arg2); -} - -float fn_1_ACC(float arg0, float arg1, float arg2, float arg3) { - if (arg2 >= arg3) { - return arg0; - } - return arg0 + (arg1 - arg0) * sind((360.0f / arg3) * arg2); -} - -void fn_1_B88(void) { -} - -void fn_1_B8C(void) { - HuPrcVSleep(); -} - -void fn_1_BAC(s32 arg0) { - HuPrcSleep(arg0); -} - -void fn_1_BD4(void) { - HuPrcEnd(); -} - -void fn_1_BF4(void) { - HuWinInit(1); -} - -void fn_1_C18(void) { - HuWinAllKill(); -} - -void fn_1_C38(s32 arg0, float arg1, float arg2, s32 arg3) { - WindowData* temp_r29; - float temp_f29; - float temp_f28; - float temp_f25; - float temp_f24; - float temp_f31; - float temp_f27; - float temp_f30; - float temp_f26; - float var_f23; - float var_f22; - float var_f21; - float var_f20; - s32 i; - - temp_r29 = &winData[arg0]; - temp_f29 = temp_r29->pos_x; - temp_f28 = temp_r29->pos_y; - temp_f25 = temp_r29->w; - temp_f24 = temp_r29->h; - temp_f31 = temp_f29 + temp_f25 * arg1; - temp_f27 = 4.0f / temp_f25; - if (temp_f31 + 4.0f - (temp_f29 + temp_f25) >= 0.0f) { - temp_f31 = (temp_f29 + temp_f25) - 4.0f; - } else if (temp_f29 - (temp_f31 - 2.0f) >= 0.0f) { - temp_f31 = temp_f29; - } else { - temp_f31 -= 2.0f; - } - temp_f30 = temp_f28 + temp_f24 * arg2; - temp_f26 = 4.0f / temp_f24; - if (temp_f30 + 4.0f - (temp_f28 + temp_f24) >= 0.0f) { - temp_f30 = (temp_f28 + temp_f24) - 4.0f; - } else if (temp_f28 - (temp_f30 - 2.0f) >= 0.0f) { - temp_f30 = temp_f28; - } else { - temp_f30 -= 2.0f; - } - if (arg3 != 0) { - HuWinPosSet(arg0, temp_f31, temp_f30); - HuWinScaleSet(arg0, temp_f27, temp_f26); - var_f23 = temp_f31; - var_f21 = temp_f27; - var_f22 = temp_f30; - var_f20 = temp_f26; - } else { - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - var_f23 = temp_f29; - var_f21 = 1.0f; - var_f22 = temp_f28; - var_f20 = 1.0f; - } - HuWinDispOn(arg0); - for (i = 0; i <= 15; i++) { - HuPrcVSleep(); - if (arg3 != 0) { - if (i <= 10) { - var_f23 = fn_1_948(temp_f31, temp_f29, i, 10.0f); - var_f21 = fn_1_948(temp_f27, 1.0f, i, 10.0f);; - } else { - var_f22 = fn_1_948(temp_f30, temp_f28, i - 10, 5.0f); - var_f20 = fn_1_948(temp_f26, 1.0f, i - 10, 5.0f); - } - } else { - if (i <= 10) { - var_f22 = fn_1_948(temp_f28, temp_f30, i, 10.0f); - var_f20 = fn_1_948(1.0f, temp_f26, i, 10.0f); - } else { - var_f23 = fn_1_948(temp_f29, temp_f31, i - 10, 5.0f); - var_f21 = fn_1_948(1.0f, temp_f27, i - 10, 5.0f); - } - } - HuWinPosSet(arg0, var_f23, var_f22); - HuWinScaleSet(arg0, var_f21, var_f20); - } - if (arg3 != 0) { - HuWinPosSet(arg0, temp_f29, temp_f28); - HuWinScaleSet(arg0, 1.0f, 1.0f); - } else { - HuWinPosSet(arg0, temp_f31, temp_f30); - HuWinScaleSet(arg0, temp_f27, temp_f26); - } - HuPrcVSleep(); -} - -s32 fn_1_1680(s32 arg0, s32 arg1, s32 arg2, s32 arg3, float arg4, float arg5, s32 arg6) { - s32 temp_r31; - - arg2 = arg2 * 21 + 16; - arg3 = arg3 * 26 + 16; - if (arg0 == 0) { - arg0 = 550 - arg2; - } else { - arg0 = 1.0f + (576.0f - arg2) / 2.0f; - } - if (arg1 == 0) { - arg1 = 430 - arg3; - } - temp_r31 = HuWinExCreateStyled(arg0, arg1, arg2, arg3, -1, 1); - if (arg6 != -1) { - arg6 = GWPlayerCfg[arg6].pad_idx; - winData[temp_r31].active_pad = 1; - } else { - winData[temp_r31].active_pad = 0xF; - } - HuWinMesPalSet(temp_r31, 7, 0, 0, 0); - fn_1_C38(temp_r31, arg4, arg5, 1); - return temp_r31; -} - -s32 fn_1_1834(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - return fn_1_1680(arg0, arg1, arg2, arg3, 0.5f, 0.5f, arg4); -} - -void fn_1_1A04(s32 arg0, float arg1, float arg2) { - HuWinMesSet(arg0, MAKE_MESSID(37, 4)); - HuPrcVSleep(); - fn_1_C38(arg0, arg1, arg2, 0); - HuWinExCleanup(arg0); -} - -void fn_1_1A64(s32 arg0) { - fn_1_1A04(arg0, 0.5f, 0.5f); -} - -void fn_1_1ACC(s32 arg0, s32 arg1) { - s32 i; - - if (arg1 > 0) { - HuPrcSleep(arg1); - return; - } - HuWinComKeyReset(); - if (winData[arg0].active_pad == 0xF) { - for (i = 0; i < 10; i++) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, GWMessDelayGet()); - } - } - HuWinMesWait(arg0); - HuWinComKeyReset(); -} - -BOOL fn_1_1B78(s32 arg0, s32 arg1) { - s32 var_r31; - s32 i; - - HuWinComKeyReset(); - if (winData[arg0].active_pad == 0xF) { - for (i = 0; i < 10; i++) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, GWMessDelayGet()); - } - } - var_r31 = HuWinChoiceGet(arg0, arg1); - HuWinComKeyReset(); - if (var_r31 != 0) { - var_r31 = FALSE; - } else { - var_r31 = TRUE; - } - return var_r31; -} - -BOOL fn_1_1C34(s32 arg0) { - return fn_1_1B78(arg0, 0); -} - -void fn_1_1CE8(s32 arg0, s32 arg1) { - HuWinMesSet(arg0, arg1); -} - -void fn_1_1D1C(s32 arg0, s32 arg1, s32 arg2) { - HuWinInsertMesSet(arg0, arg1, arg2); -} - -void fn_1_1D5C(s16 arg0) { - ModelData* var_r28; - HsfMaterial* var_r31; - HsfData* temp_r30; - s16 var_r27; - s32 i; - - var_r28 = &Hu3DData[arg0]; - temp_r30 = var_r28->hsfData; - var_r27 = temp_r30->materialCnt; - var_r31 = temp_r30->material; - for (i = 0; i < var_r27; var_r31++, i++) { - var_r31->vtxMode = 1; - } -} - -void fn_1_1DCC(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - switch (arg4) { - case 0: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_NONE); - break; - case 1: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_LOOP); - break; - case 2: - Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, HU3D_MOTATTR_PAUSE); - break; - } -} - -void fn_1_1F44(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - if (arg0->motion[arg2] == Hu3DMotionIDGet(arg0->model[arg1])) { - return; - } - if (arg0->motion[arg2] == Hu3DMotionShiftIDGet(arg0->model[arg1])) { - return; - } - fn_1_1F44(arg0, arg1, arg2, arg3, arg4); -} - -void fn_1_2224(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3) { - HuPrcSleep(arg3 + 1); - do { - HuPrcVSleep(); - } while (arg0->motion[arg2] != Hu3DMotionIDGet(arg0->model[arg1]) || !Hu3DMotionEndCheck(arg0->model[arg1])); -} - -s32 fn_1_22B4(s32 arg0) { - s32 i; - - for (i = 0; i < 4; i++) { - if (arg0 == GWPlayerCfg[i].group) { - break; - } - } - return i; -} - -void fn_1_22FC(s32 arg0, s32 arg1) { - while (TRUE) { - if (arg1 & HuPadBtnDown[arg0]) { - break; - } - HuPrcVSleep(); - } -} - -void fn_1_2350(void) { - StructBss4* var_r31; - - var_r31 = &lbl_1_bss_4; - if (HuPadBtn[0] & PAD_BUTTON_B) { - if (HuPadBtn[0] & PAD_TRIGGER_R) { - var_r31->unk08.z -= HuPadStkY[0] / 10.0f; - } else { - var_r31->unk08.x += HuPadStkX[0] / 10.0f; - var_r31->unk08.y += HuPadStkY[0] / 10.0f; - } - } - if (HuPadBtn[0] & PAD_BUTTON_Y) { - var_r31->unk20.x -= HuPadStkY[0] / 100.0f; - var_r31->unk20.y += HuPadStkX[0] / 100.0f; - if (var_r31->unk20.x < 0.0f) { - var_r31->unk20.x += 360.0f; - } - if (var_r31->unk20.x >= 360.0f) { - var_r31->unk20.x -= 360.0f; - } - if (var_r31->unk20.y < 0.0f) { - var_r31->unk20.y += 360.0f; - } - if (var_r31->unk20.y >= 360.0f) { - var_r31->unk20.y -= 360.0f; - } - } - if (HuPadBtn[0] & PAD_BUTTON_X) { - var_r31->unk38 -= HuPadStkY[0] / 10.0f; - } - print8(24, 40, 1.5f, "CENTER : %.2f, %.2f, %.2f", var_r31->unk08.x, var_r31->unk08.y, var_r31->unk08.z); - print8(24, 55, 1.5f, "ROT : %.2f, %.2f, %.2f", var_r31->unk20.x, var_r31->unk20.y, var_r31->unk20.z); - print8(24, 70, 1.5f, "ZOOM : %.2f", var_r31->unk38); -} - -void fn_1_2710(void (*arg0)(void)) { - lbl_1_bss_4.unk00 = arg0; -} - -void fn_1_2720(void (*arg0)(void)) { - lbl_1_bss_4.unk04 = arg0; -} - -void fn_1_2730(omObjData* arg0) { - StructBss4* var_r31; - - var_r31 = &lbl_1_bss_4; - if (var_r31->unk00 != NULL) { - var_r31->unk00(); - } - Center.x = var_r31->unk08.x; - Center.y = var_r31->unk08.y; - Center.z = var_r31->unk08.z; - CRot.x = var_r31->unk20.x; - CRot.y = var_r31->unk20.y; - CRot.z = var_r31->unk20.z; - CZoom = var_r31->unk38; -} - -void fn_1_27E8(Process* arg0, void (*arg1)(void)) { - Hu3DCameraCreate(1); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - Hu3DCameraPerspectiveSet(1, 42.0f, 0.1f, 10000.0f, 1.2f); - lbl_1_bss_4.unk00 = arg1; - lbl_1_bss_4.unk04 = fn_1_2350; - omAddObjEx(arg0, 0x7FDA, 0, 0, -1, omOutView); - omAddObjEx(arg0, 0x7FD9, 0, 0, -1, fn_1_2730); -} - -void fn_1_2908(omObjData* arg0, s32 arg1, Vec arg2, float arg3, float arg4, float arg5) { - Vec sp4C; - Vec sp40; - Vec sp34; - Vec sp28; - float sp24; - float sp20; - float sp1C; - s32 sp18; - s32 sp14; - float var_f31; - - sp40.x = Hu3DData[arg0->model[arg1]].pos.x; - sp4C.y = sp40.y = Hu3DData[arg0->model[arg1]].pos.y; - sp40.z = Hu3DData[arg0->model[arg1]].pos.z; - sp34.x = arg2.x; - sp34.y = arg2.y; - sp34.z = arg2.z; - sp18 = arg4; - sp28.x = Hu3DData[arg0->model[arg1]].rot.x; - sp28.y = Hu3DData[arg0->model[arg1]].rot.y; - sp28.z = Hu3DData[arg0->model[arg1]].rot.z; - sp1C = 0.0f; - sp20 = arg3; - sp24 = 0.0f; - sp14 = arg5; - var_f31 = -1.1025f; - Hu3DMotionShiftSet(arg0->model[1], arg0->motion[3], 0.0f, 5.0f, 0U); - HuPrcSleep(10); - while (TRUE) { - if (var_f31 >= 1.7f) { - var_f31 = 1.7f; - } - sp4C.y += var_f31 * var_f31 * (var_f31 >= 0.0f ? -17.5f : 17.5f); - if (sp4C.y <= 0.0f && var_f31 > 0.0f) { - sp4C.y = 0.0f; - } - sp4C.x = sp40.x += 6.0 * sind(sp28.y); - sp4C.z = sp40.z += 6.0 * cosd(sp28.y); - Hu3DModelPosSet(arg0->model[1], sp4C.x, sp4C.y, sp4C.z); - Hu3DModelRotSet(arg0->model[1], sp28.x, sp28.y, sp28.z); - HuPrcVSleep(); - if (sp4C.y <= arg2.y && var_f31 > 0.0f) { - break; - } - var_f31 += 0.11f; - } -} - -void fn_1_2CB0(omObjData* arg0, s32 arg1, Vec arg2, float arg3, float arg4, float arg5) { - Vec sp54; - Vec sp48; - Vec sp3C; - Vec sp30; - Vec sp24; - Vec sp18; - s32 sp14; - s32 temp_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - s32 i; - - var_r26 = 0; - var_r25 = 0; - sp48.x = Hu3DData[arg0->model[arg1]].pos.x; - sp48.y = Hu3DData[arg0->model[arg1]].pos.y; - sp48.z = Hu3DData[arg0->model[arg1]].pos.z; - sp3C.x = arg2.x; - sp3C.y = arg2.y; - sp3C.z = arg2.z; - sp14 = arg4; - sp24.x = Hu3DData[arg0->model[arg1]].rot.x; - sp24.y = Hu3DData[arg0->model[arg1]].rot.y; - sp24.z = Hu3DData[arg0->model[arg1]].rot.z; - sp18.x = 0.0f; - sp18.y = arg3; - sp18.z = 0.0f; - if (sp3C.x - sp48.x >= 0.0f) { - var_r24 = 1; - } else { - var_r24 = 0; - } - if (sp3C.z - sp48.z >= 0.0f) { - var_r23 = 1; - } else { - var_r23 = 0; - } - temp_r27 = arg5; - do { - sp30.y = -(atan2d(sp3C.z - sp48.z, sp3C.x - sp48.x) - 90.0); - if (sp30.y < 0.0f) { - sp30.y += 360.0f; - } else if (sp30.y >= 360.0f) { - sp30.y -= 360.0f; - } - if (sp30.y >= 180.0f) { - if (sp24.y - sp30.y >= 180.0f) { - sp24.y -= 360.0f; - } - if (sp24.y - sp30.y < -180.0f) { - sp24.y += 360.0f; - } - } else { - if (sp24.y - sp30.y > 180.0f) { - sp24.y -= 360.0f; - } - if (sp24.y - sp30.y <= -180.0f) { - sp24.y += 360.0f; - } - } - sp54.x = sp48.x += 6.0 * sind(sp30.y); - sp54.z = sp48.z += 6.0 * cosd(sp30.y); - if (var_r24 != 0) { - if (sp48.x >= sp3C.x) { - sp54.x = sp48.x = sp3C.x; - var_r26 = 1; - } - } else { - if (sp48.x <= sp3C.x) { - sp54.x = sp48.x = sp3C.x; - var_r26 = 1; - } - } - if (var_r23 != 0) { - if (sp48.z >= sp3C.z) { - sp54.z = sp48.z = sp3C.z; - var_r25 = 1; - } - } else { - if (sp48.z <= sp3C.z) { - sp54.z = sp48.z = sp3C.z; - var_r25 = 1; - } - } - sp24.y = fn_1_850(sp24.y, sp30.y, 10.0f); - Hu3DModelPosSet(arg0->model[1], sp54.x, sp48.y, sp54.z); - Hu3DModelRotSet(arg0->model[1], sp24.x, sp24.y, sp24.z); - HuPrcVSleep(); - } while (var_r25 != 1 || var_r26 != 1); - sp24.y = Hu3DData[arg0->model[arg1]].rot.y; - for (i = 0; i <= temp_r27; i++) { - if (sp18.y >= 180.0f) { - if (sp24.y - sp18.y >= 180.0f) { - sp24.y -= 360.0f; - } - if (sp24.y - sp18.y < -180.0f) { - sp24.y += 360.0f; - } - } else { - if (sp24.y - sp18.y > 180.0f) { - sp24.y -= 360.0f; - } - if (sp24.y - sp18.y <= -180.0f) { - sp24.y += 360.0f; - } - } - sp24.y = fn_1_828(sp24.y, sp18.y, i, temp_r27); - Hu3DModelRotSet(arg0->model[1], sp24.x, sp24.y, sp24.z); - HuPrcVSleep(); - } -} - -void fn_1_34A4(s16 arg0) { - ModelData* var_r28; - HsfData* temp_r30; - HsfMaterial* var_r31; - s16 var_r27; - s32 i; - - var_r28 = &Hu3DData[arg0]; - temp_r30 = var_r28->hsfData; - var_r27 = temp_r30->materialCnt; - var_r31 = temp_r30->material; - for (i = 0; i < var_r27; var_r31++, i++) { - var_r31->vtxMode = 1; - var_r31->litColor[0] = 0xFF; - var_r31->litColor[1] = 0xFF; - var_r31->litColor[2] = 0xFF; - } -} - -void fn_1_352C(StructFn352C* arg0, s32 arg1) { - arg0->unk00 = arg1; - arg0->unk04 = GWPlayerCfg[arg0->unk00].group; - arg0->unk08 = GWPlayerCfg[arg0->unk00].iscom; - arg0->unk0C = GWPlayerCfg[arg0->unk00].diff; - arg0->unk10 = GWPlayerCfg[arg0->unk00].character; - arg0->unk14 = GWPlayerCfg[arg0->unk00].pad_idx; -} - -s32 fn_1_35C0(void) { - s32 i; - - for (i = 0; i < 4; i++) { - if (!GWPlayerCfg[i].iscom) { - break; - } - } - if (i == 4) { - return -1; - } - return i; -} - -s32 fn_1_3618(s32 arg0) { - s32 temp_r3 = 0; - - temp_r3 = Hu3DGLightCreate(0.0f, 700.0f, 1200.0f, 0.0f, -1.0f, 0.0f, arg0, arg0, arg0); - Hu3DGLightPosAimSet(temp_r3, 0.0f, 700.0f, 1200.0f, 0.0f, 0.0f, 640.0f); - Hu3DGLightInfinitytSet(temp_r3); - return temp_r3; -} - -void fn_1_3704(void) { - Vec sp20 = { 0.0f, 3000.0f, 800.0f }; - Vec sp14 = { 0.0f, 0.0f, 640.0f }; - Vec sp8 = { 0.0f, 1.0f, 0.0f }; - - Hu3DShadowCreate(45.0f, 2000.0f, 25000.0f); - Hu3DShadowTPLvlSet(0.8f); - Hu3DShadowPosSet(&sp20, &sp8, &sp14); -} - -void fn_1_37C8(StructBss4* arg0) { - arg0->unk08.x = arg0->unk14; - arg0->unk08.y = arg0->unk18; - arg0->unk08.z = arg0->unk1C; - arg0->unk20.x = arg0->unk2C; - arg0->unk20.y = arg0->unk30; - arg0->unk20.z = arg0->unk34; - arg0->unk38 = arg0->unk3C; -} - -void fn_1_3804(StructBss4* arg0) { - arg0->unk40 = 0; - arg0->unk14 = arg0->unk08.x; - arg0->unk18 = arg0->unk08.y; - arg0->unk1C = arg0->unk08.z; - arg0->unk2C = arg0->unk20.x; - arg0->unk30 = arg0->unk20.y; - arg0->unk34 = arg0->unk20.z; - arg0->unk3C = arg0->unk38; -} - -void fn_1_3848(StructBss4* arg0, StructBss4* arg1, s32 arg2, float arg3) { - arg0->unk08.x = fn_1_850(arg0->unk08.x, arg1->unk14, arg3); - arg0->unk08.y = fn_1_850(arg0->unk08.y, arg1->unk18, arg3); - arg0->unk08.z = fn_1_850(arg0->unk08.z, arg1->unk1C, arg3); - arg0->unk20.x = fn_1_850(arg0->unk20.x, arg1->unk2C, arg3); - arg0->unk20.y = fn_1_850(arg0->unk20.y, arg1->unk30, arg3); - arg0->unk20.z = fn_1_850(arg0->unk20.z, arg1->unk34, arg3); - if (arg2 != 0) { - arg0->unk38 = fn_1_850(arg0->unk38, arg1->unk3C, arg3); - } -} - -void fn_1_3ABC(StructBss4* arg0, float arg1) { - fn_1_3848(arg0, arg0, 1, arg1); -} - -void fn_1_3D28(StructBss4* arg0, float arg1) { - fn_1_3848(arg0, arg0, 0, arg1); -} - -void fn_1_3F54(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3) { - arg1->unk14 = fn_1_828(arg0->unk14, arg1->unk08.x, arg2, arg3); - arg1->unk18 = fn_1_828(arg0->unk18, arg1->unk08.y, arg2, arg3); - arg1->unk1C = fn_1_828(arg0->unk1C, arg1->unk08.z, arg2, arg3); - arg1->unk2C = fn_1_828(arg0->unk2C, arg1->unk20.x, arg2, arg3); - arg1->unk30 = fn_1_828(arg0->unk30, arg1->unk20.y, arg2, arg3); - arg1->unk34 = fn_1_828(arg0->unk34, arg1->unk20.z, arg2, arg3); - arg1->unk3C = fn_1_828(arg0->unk3C, arg1->unk38, arg2, arg3); -} - -void fn_1_41D0(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3) { - fn_1_3F54(arg0, arg1, arg2, arg3); - arg0->unk08.x = arg1->unk14; - arg0->unk08.y = arg1->unk18; - arg0->unk08.z = arg1->unk1C; - arg0->unk20.x = arg1->unk2C; - arg0->unk20.y = arg1->unk30; - arg0->unk20.z = arg1->unk34; - arg0->unk38 = arg1->unk3C; -} - -void fn_1_4484(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3, float arg4) { - fn_1_3F54(arg0, arg1, arg2, arg3); - fn_1_3848(arg0, arg1, 1, arg4); -} - -void fn_1_48F0(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3) { - arg1->unk14 = fn_1_948(arg0->unk14, arg1->unk08.x, arg2, arg3); - arg1->unk18 = fn_1_948(arg0->unk18, arg1->unk08.y, arg2, arg3); - arg1->unk1C = fn_1_948(arg0->unk1C, arg1->unk08.z, arg2, arg3); - arg1->unk2C = fn_1_948(arg0->unk2C, arg1->unk20.x, arg2, arg3); - arg1->unk30 = fn_1_948(arg0->unk30, arg1->unk20.y, arg2, arg3); - arg1->unk34 = fn_1_948(arg0->unk34, arg1->unk20.z, arg2, arg3); - arg1->unk3C = fn_1_948(arg0->unk3C, arg1->unk38, arg2, arg3); -} - -void fn_1_4D44(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3) { - fn_1_48F0(arg0, arg1, arg2, arg3); - arg0->unk08.x = arg1->unk14; - arg0->unk08.y = arg1->unk18; - arg0->unk08.z = arg1->unk1C; - arg0->unk20.x = arg1->unk2C; - arg0->unk20.y = arg1->unk30; - arg0->unk20.z = arg1->unk34; - arg0->unk38 = arg1->unk3C; -} - -void fn_1_51D0(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3, float arg4) { - fn_1_48F0(arg0, arg1, arg2, arg3); - fn_1_3848(arg0, arg1, 1, arg4); -} - -void fn_1_5828(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3) { - arg1->unk14 = fn_1_870(arg0->unk14, arg1->unk08.x, arg2, arg3); - arg1->unk18 = fn_1_870(arg0->unk18, arg1->unk08.y, arg2, arg3); - arg1->unk1C = fn_1_870(arg0->unk1C, arg1->unk08.z, arg2, arg3); - arg1->unk2C = fn_1_870(arg0->unk2C, arg1->unk20.x, arg2, arg3); - arg1->unk30 = fn_1_870(arg0->unk30, arg1->unk20.y, arg2, arg3); - arg1->unk34 = fn_1_870(arg0->unk34, arg1->unk20.z, arg2, arg3); - arg1->unk3C = fn_1_870(arg0->unk3C, arg1->unk38, arg2, arg3); -} - -void fn_1_5CEC(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3) { - fn_1_5828(arg0, arg1, arg2, arg3); - arg0->unk08.x = arg1->unk14; - arg0->unk08.y = arg1->unk18; - arg0->unk08.z = arg1->unk1C; - arg0->unk20.x = arg1->unk2C; - arg0->unk20.y = arg1->unk30; - arg0->unk20.z = arg1->unk34; - arg0->unk38 = arg1->unk3C; -} - -void fn_1_61E8(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3, float arg4) { - fn_1_5828(arg0, arg1, arg2, arg3); - fn_1_3848(arg0, arg1, 1, arg4); -} - -void fn_1_68B0(omObjData* arg0) { - s32 var_r30; - - if (arg0->work[0] == 0 && arg0->work[2] != 0) { - arg0->work[2]--; - return; - } - if (arg0->work[2] == 0 && Hu3DMotionEndCheck(arg0->model[1])) { - var_r30 = arg0->work[1]; - Hu3DMotionShiftSet(arg0->model[1], arg0->motion[var_r30], 0.0f, 15.0f, 0x40000001U); - arg0->work[0] = arg0->work[1] = arg0->work[2] = 0; - } -} - -void fn_1_6974(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - fn_1_1DCC(arg0, 1, arg1, arg3, arg4); - if (arg4 == 0) { - arg0->work[0] = 1; - arg0->work[1] = arg2; - arg0->work[2] = arg3 + 1; - } -} - -void fn_1_6AFC(s32 arg0, s32 arg1) { - HuWinMesSet(arg0, arg1); -} - -void fn_1_6B30(s32 arg0, s32 arg1, s32 arg2) { - HuWinInsertMesSet(arg0, arg1, arg2); -} - -void fn_1_6B70(s32 arg0, s32 arg1) { - fn_1_1ACC(arg0, arg1); -} - -void fn_1_6C1C(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { - s32 temp_r28 = 0; - s32 var_r29 = 0; - s32 i; - - temp_r28 = HuWinKeyWaitNumGet(arg1); - if (arg2 == -1 || arg2 >= temp_r28 - 1) { - arg2 = temp_r28 - 1; - } - HuWinComKeyReset(); - if (winData[arg0].active_pad == 0xF) { - for (i = 0; i < 10; i++) { - HuWinComKeyWait(0x100, 0x100, 0x100, 0x100, GWMessDelayGet()); - } - } - HuWinMesSet(arg0, arg1); - for (i = 0; i < temp_r28; i++) { - var_r29 = 0; - do { - HuPrcVSleep(); - } while (HuWinStatGet(arg0) != 1); - if (i == arg2) { - HuWinAttrSet(arg0, 0x400); - var_r29 = 1; - } - while (TRUE) { - HuPrcVSleep(); - if (var_r29 != 0) { - if (var_r29 == 1 && HuWinStatGet(arg0) != 1) { - var_r29 = 2; - } else if (var_r29 == 2) { - HuPrcSleep(arg3); - HuWinAttrReset(arg0, 0x400); - HuWinKeyWaitEntry(arg0); - break; - } - } else if (HuWinStatGet(arg0) != 1) { - break; - } - } - } - fn_1_1ACC(arg0, 0); - HuWinMesSet(arg0, MAKE_MESSID(37, 4)); - HuWinComKeyReset(); -} - -BOOL fn_1_6E04(s32 arg0) { - return fn_1_1B78(arg0, 0); -} - -s32 fn_1_6EB8(s32 arg0, s32 arg1) { - float spC[2]; - float var_f31; - float var_f30; - float var_f29; - float var_f28; - s32 var_r31; - - HuWinMesMaxSizeGet(1, spC, arg0); - var_f31 = spC[0]; - var_f30 = spC[1]; - var_f29 = 550.0f - var_f31; - var_f28 = 430.0f - var_f30; - var_r31 = HuWinExCreateStyled(var_f29, var_f28, var_f31, var_f30, -1, 1); - if (arg1 != -1) { - arg1 = GWPlayerCfg[arg1].pad_idx; - winData[var_r31].active_pad = 1; - } else { - winData[var_r31].active_pad = 0xF; - } - HuWinMesPalSet(var_r31, 7, 0, 0, 0); - fn_1_C38(var_r31, 0.5f, 0.5f, 1); - return var_r31; -} - -void fn_1_7028(s32 arg0) { - fn_1_1A04(arg0, 0.5f, 0.5f); -} diff --git a/src/REL/mstoryDll/mg_clear.c b/src/REL/mstoryDll/mg_clear.c deleted file mode 100755 index 48fb2dc4..00000000 --- a/src/REL/mstoryDll/mg_clear.c +++ /dev/null @@ -1,691 +0,0 @@ -#include "REL/mstoryDll.h" -#include "game/chrman.h" -#include "game/data.h" -#include "game/flag.h" -#include "game/gamework.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/objsub.h" -#include "game/printfunc.h" -#include "game/saveload.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - -typedef struct { - /* 0x000 */ s32 unk00; - /* 0x004 */ s32 unk04; - /* 0x008 */ s32 unk08; - /* 0x00C */ char unk0C[4]; - /* 0x010 */ s32 unk10; - /* 0x014 */ char unk14[0x20]; - /* 0x034 */ StructFn352C unk34[4]; - /* 0x104 */ s32 unk104; -} StructBss608; // Size 0x108 - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; -} StructData570; // Size 0x14 - -void fn_1_FD1C(void); -void fn_1_10298(omObjData* arg0, StructBss19C* arg1); -void fn_1_10384(omObjData* arg0, StructBss19C* arg1); -void fn_1_10450(omObjData* arg0, StructBss19C* arg1); -void fn_1_1054C(void); -void fn_1_108F8(void); -void fn_1_10C6C(s32 arg0); -void fn_1_10FD0(void); -void fn_1_112A0(void); -void fn_1_1132C(void); -void fn_1_1141C(void); -void fn_1_11534(void); - -StructBss608 lbl_1_bss_608; -StructBss19C lbl_1_bss_5E0; -StructBss19C lbl_1_bss_5B8; -StructBss19C lbl_1_bss_590; -StructBss19C lbl_1_bss_568; -AnimData* lbl_1_bss_560[2]; -s32 lbl_1_bss_55C; -Process* lbl_1_bss_558; - -StructData570 lbl_1_data_570[] = { - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x00), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x01), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x02), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x03), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x04), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x05), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x06), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x07), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x08), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x09), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0A), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0B), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0C), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0D), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0E), 1, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0F), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x10), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x11), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x12), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x13), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x14), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x15), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x16), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x17), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x18), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x19), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1A), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1B), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1C), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1D), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1E), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1F), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x20), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x21), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x22), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x23), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x24), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x25), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x26), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x27), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x28), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x29), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2A), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2B), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2C), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2D), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2E), 0, 0, 0, 1 }, - { DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2F), 0, 0, 0, 1 } -}; - -s32 lbl_1_data_930[][4] = { - { MAKE_MESSID(30, 72), MAKE_MESSID(30, 73) }, - { MAKE_MESSID(30, 74), MAKE_MESSID(30, 75) }, - { MAKE_MESSID(30, 76), MAKE_MESSID(30, 77) }, - { MAKE_MESSID(30, 78), MAKE_MESSID(30, 79) }, - { MAKE_MESSID(30, 80), MAKE_MESSID(30, 81) } -}; - -void fn_1_E710(Process* arg0, s32 arg1, s32 arg2) { - lbl_1_bss_558 = arg0; - lbl_1_bss_608.unk00 = arg1; - lbl_1_bss_608.unk10 = arg2; - fn_1_BF4(); - lbl_1_bss_608.unk104 = fn_1_3618(0xFF); - fn_1_27E8(lbl_1_bss_558, fn_1_112A0); - fn_1_3704(); - fn_1_10C6C(arg2); - HuPrcChildCreate(fn_1_1054C, 100, 0x2000, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_108F8, 100, 0x2000, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_10FD0, 100, 0x2000, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_FD1C, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -void fn_1_E828(omObjData* arg0) { - if (arg0->work[2] != 0) { - arg0->work[2]--; - return; - } - if (arg0->work[2] == 0 && Hu3DMotionEndCheck(arg0->model[1])) { - fn_1_1DCC(arg0, 1, arg0->work[1], 15, 1); - arg0->work[0] = arg0->work[1] = arg0->work[2] = 0; - } -} - -void fn_1_E8B4(void) { - s32 var_r30 = 16; - s32 var_r29 = 40; - GXColor sp10 = { 0x00, 0x00, 0x80, 0x80 }; - s32 i; - - while (TRUE) { - fn_1_B8C(); - printWin(var_r30, var_r29, 220, 130, &sp10); - if (lbl_1_bss_5E0.unk04 == NULL) { - print8(var_r30, var_r29, 1.0f, "PROC_MAIN -> FALSE"); - } else { - print8(var_r30, var_r29, 1.0f, "PROC_MAIN -> TRUE"); - } - if (lbl_1_bss_5B8.unk04 == NULL) { - print8(var_r30, var_r29 + 10, 1.0f, "PROC_MAP -> FALSE"); - } else { - print8(var_r30, var_r29 + 10, 1.0f, "PROC_MAP -> TRUE"); - } - if (lbl_1_bss_590.unk04 == NULL) { - print8(var_r30, var_r29 + 20, 1.0f, "PROC_SUB -> FALSE"); - } else { - print8(var_r30, var_r29 + 20, 1.0f, "PROC_SUB -> TRUE"); - } - if (lbl_1_bss_568.unk04 == NULL) { - print8(var_r30, var_r29 + 30, 1.0f, "PROC_PLAYER -> FALSE"); - } else { - print8(var_r30, var_r29 + 30, 1.0f, "PROC_PLAYER -> TRUE"); - } - print8(var_r30, var_r29 + 60, 1.0f, "M:%d P:%d W:%d", lbl_1_bss_608.unk00, lbl_1_bss_608.unk04, lbl_1_bss_608.unk10); - print8(var_r30, var_r29 + 80, 1.0f, "NO) IDX:GRP:COM:DIF:PAD:CHR"); - for (i = 0; i < 4; i++) { - print8(var_r30, var_r29 + 90 + i * 10, 1.0f, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, - lbl_1_bss_608.unk34[i].unk00, lbl_1_bss_608.unk34[i].unk04, lbl_1_bss_608.unk34[i].unk08, - lbl_1_bss_608.unk34[i].unk0C, lbl_1_bss_608.unk34[i].unk14, lbl_1_bss_608.unk34[i].unk10); - } - } -} - -void fn_1_EC00(void) { - lbl_1_bss_58[0] = HuAudSeqPlay(0x36); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - do { - fn_1_B8C(); - } while (WipeStatGet() != 0); - fn_1_BAC(60); -} - -void fn_1_EC5C(void) { - lbl_1_bss_608.unk08 = fn_1_1834(1, 0, 21, 2, lbl_1_bss_608.unk10); - fn_1_1D1C(lbl_1_bss_608.unk08, lbl_1_bss_608.unk34[lbl_1_bss_608.unk04].unk10, 0); - fn_1_1CE8(lbl_1_bss_608.unk08, lbl_1_data_930[lbl_1_bss_608.unk00][0]); - fn_1_1ACC(lbl_1_bss_608.unk08, -1); - fn_1_1DCC(lbl_1_bss_590.unk00, 1, 1, 15, 1); - fn_1_1A64(lbl_1_bss_608.unk08); - fn_1_1DCC(lbl_1_bss_5B8.unk00, 2, 2, 0, 0); - fn_1_BAC(90); - fn_1_1DCC(lbl_1_bss_590.unk00, 1, 4, 15, 0); - fn_1_BAC(30); - fn_1_1DCC(lbl_1_bss_568.unk00, 1, 4, 15, 0); - fn_1_2224(lbl_1_bss_5B8.unk00, 2, 2, 0); - fn_1_BAC(60); - fn_1_1DCC(lbl_1_bss_568.unk00, 1, 1, 84, 1); - fn_1_1DCC(lbl_1_bss_590.unk00, 1, 1, 84, 1); - fn_1_3804(&lbl_1_bss_4); - fn_1_2710(fn_1_1132C); - lbl_1_bss_5B8.unk04 = (void*) fn_1_10450; - do { - fn_1_B8C(); - } while (lbl_1_bss_5B8.unk04 != NULL); - fn_1_BAC(10); - lbl_1_bss_608.unk08 = fn_1_1834(1, 0, 21, 2, lbl_1_bss_608.unk10); - fn_1_1DCC(lbl_1_bss_590.unk00, 1, 3, 15, 1); - if (lbl_1_bss_608.unk00 == 0) { - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_608.unk00][2]); - } else { - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_608.unk00][0]); - } - fn_1_1D1C(lbl_1_bss_608.unk08, MAKE_MESSID(50, lbl_1_bss_608.unk34[lbl_1_bss_608.unk04].unk10 * 6 + 5) + lbl_1_bss_608.unk00, 2); - fn_1_1CE8(lbl_1_bss_608.unk08, lbl_1_data_930[lbl_1_bss_608.unk00][1]); - fn_1_1ACC(lbl_1_bss_608.unk08, -1); - fn_1_1DCC(lbl_1_bss_590.unk00, 1, 1, 15, 1); - fn_1_1A64(lbl_1_bss_608.unk08); -} - -void fn_1_EFE0(s32 arg0, StructBss19C* arg1) { - s32 temp_r31; - - temp_r31 = HuAudSStreamPlay(7); - do { - fn_1_B8C(); - } while (HuAudSStreamStatGet(temp_r31) != 0); - HuAudSeqPause(lbl_1_bss_58[0], 0, 1000); - arg1->unk04 = 0; -} - -void fn_1_F050(omObjData* arg0, StructBss19C* arg1) { - s32 temp_r31; - - temp_r31 = lbl_1_bss_608.unk34[lbl_1_bss_608.unk04].unk10 * 6 + lbl_1_bss_608.unk00; - fn_1_BAC(150); - OSReport("########## PRESENT_SE : %d\n", temp_r31); - HuAudFXPlay(0x8D4 + temp_r31); - if (lbl_1_data_570[lbl_1_bss_608.unk34[lbl_1_bss_608.unk04].unk10 * 6 + lbl_1_bss_608.unk00].unk04 == 1) { - fn_1_1DCC(lbl_1_bss_5B8.unk00, 7, 7, 0, 0); - fn_1_BAC(60); - fn_1_1DCC(lbl_1_bss_5B8.unk00, 7, 12, 0, 1); - } else { - fn_1_1DCC(lbl_1_bss_5B8.unk00, 7, 7, 1, 0); - } - arg1->unk04 = 0; -} - -void fn_1_F19C(void) { - s32 i; - - fn_1_1DCC(lbl_1_bss_568.unk00, 1, 2, 15, 1); - for (i = 0; i < 30; i++) { - fn_1_B8C(); - if (lbl_1_bss_608.unk34[lbl_1_bss_608.unk04].unk10 != 5) { - Hu3DData[lbl_1_bss_568.unk00->model[1]].pos.x = fn_1_828(120.0f, 80.0f, i, 30.0f); - } - Hu3DData[lbl_1_bss_568.unk00->model[1]].rot.y = fn_1_828(-60.0f, -90.0f, i, 30.0f); - } - fn_1_1DCC(lbl_1_bss_568.unk00, 1, 5, 5, 0); - while (TRUE) { - fn_1_B8C(); - if (Hu3DMotionTimeGet(lbl_1_bss_568.unk00->model[1]) >= 35.0f) { - break; - } - } - Hu3DModelPosSet(lbl_1_bss_5B8.unk00->model[5], 0.0f, 0.0f, 0.0f); - Hu3DModelHookReset(lbl_1_bss_5B8.unk00->model[9]); - Hu3DModelHookSet(lbl_1_bss_568.unk00->model[1], CharModelHookNameGet(lbl_1_bss_608.unk34[lbl_1_bss_608.unk04].unk10, 1, 1), lbl_1_bss_5B8.unk00->model[5]); - fn_1_BAC(60); - lbl_1_bss_5B8.unk04 = (void*) fn_1_10298; - HuAudFXPlay(0xA3); - HuAudCharVoicePlay(lbl_1_bss_608.unk34[lbl_1_bss_608.unk04].unk10, 0x128); - fn_1_1DCC(lbl_1_bss_5B8.unk00, 6, 6, 0, 0); - Hu3DModelAttrReset(lbl_1_bss_5B8.unk00->model[6], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_5B8.unk00->model[5], HU3D_ATTR_DISPOFF); - fn_1_1DCC(lbl_1_bss_568.unk00, 1, 6, 5, 0); - HuAudSeqPause(lbl_1_bss_58[0], 1, 1000); - WipeColorSet(0xFF, 0xFF, 0xFF); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - do { - fn_1_B8C(); - } while (WipeStatGet() != 0); - Hu3DMotionSpeedSet(lbl_1_bss_568.unk00->model[1], 0.0f); - Hu3DMotionTimeSet(lbl_1_bss_568.unk00->model[1], 50.0f); - Hu3DModelAttrReset(lbl_1_bss_5B8.unk00->model[7], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_5B8.unk00->model[8], HU3D_ATTR_DISPOFF); - fn_1_1DCC(lbl_1_bss_5B8.unk00, 8, 8, 0, 1); - fn_1_BAC(30); - HuAudFXPlay(0xA9); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - do { - fn_1_B8C(); - } while (WipeStatGet() != 0); - fn_1_3804(&lbl_1_bss_4); - fn_1_2710(fn_1_11534); - fn_1_BAC(60); - lbl_1_bss_568.unk04 = (void*) fn_1_F050; - lbl_1_bss_608.unk08 = fn_1_1834(1, 0, 21, 2, lbl_1_bss_608.unk10); - lbl_1_bss_590.unk04 = (void*) fn_1_EFE0; - fn_1_1D1C(lbl_1_bss_608.unk08, MAKE_MESSID(50, lbl_1_bss_608.unk34[lbl_1_bss_608.unk04].unk10 * 6 + 6) + lbl_1_bss_608.unk00, 0); - fn_1_6C1C(lbl_1_bss_608.unk08, MAKE_MESSID(50, 134), 0, 300); - fn_1_1CE8(lbl_1_bss_608.unk08, MAKE_MESSID(37, 4)); - fn_1_1A64(lbl_1_bss_608.unk08); - fn_1_3804(&lbl_1_bss_4); - fn_1_2710(fn_1_1141C); - lbl_1_bss_5B8.unk04 = (void*) fn_1_10384; - fn_1_BAC(30); - Hu3DMotionSpeedSet(lbl_1_bss_568.unk00->model[1], 0.1f); - fn_1_BAC(180); - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); -} - -s32 fn_1_F780(s32 arg0) { - if (arg0 == 0 && _CheckFlag(FLAG_ID_MAKE(0, 2))) { - return 1; - } - if (arg0 == 1 && _CheckFlag(FLAG_ID_MAKE(0, 3))) { - return 1; - } - if (arg0 == 2 && _CheckFlag(FLAG_ID_MAKE(0, 4))) { - return 1; - } - if (arg0 == 3 && _CheckFlag(FLAG_ID_MAKE(0, 5))) { - return 1; - } - if (arg0 == 4 && _CheckFlag(FLAG_ID_MAKE(0, 6))) { - return 1; - } - if (arg0 == 5 && _CheckFlag(FLAG_ID_MAKE(0, 7))) { - return 1; - } - return 0; -} - -void fn_1_F86C(void) { - Hu3DAllKill(); - HuSprClose(); - HuSprInit(); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - fn_1_BAC(60); - SLCommonSet(); - SLSaveBoardStory(); - if (SLSaveFlagGet() == 1) { - SLSave(); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 10); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - lbl_1_bss_55C = 1; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_F910(void) { - omOvlHisData* var_r31; - - msmSeStopAll(FALSE, 1000); - do { - fn_1_B8C(); - } while (WipeStatGet() != 0); - fn_1_BAC(60); - CharModelKill(-1); - HuAudFXAllStop(); - HuAudSStreamAllStop(); - { - s32 sp8[] = { 53, 56, 55, 54, 57 }; - - GWMGAvailSet(omMgIndexGet(sp8[lbl_1_bss_608.unk00]) + 0x191); - } - GWGameStat.present[lbl_1_bss_608.unk34[lbl_1_bss_608.unk04].unk10 * 6 + lbl_1_bss_608.unk00] = 1; - OSReport("########## PRESENTFLG CHR:%d, MAP:%d, PRESENT:%d\n", lbl_1_bss_608.unk34[lbl_1_bss_608.unk04].unk10, lbl_1_bss_608.unk00, lbl_1_bss_608.unk34[lbl_1_bss_608.unk04].unk10 * 6 + lbl_1_bss_608.unk00); - var_r31 = omOvlHisGet(0); - omOvlHisChg(0, OVL_MSTORY, 20, var_r31->stat); - omOvlCallEx(OVL_PRESENT, 1, lbl_1_bss_608.unk34[lbl_1_bss_608.unk04].unk10 * 6 + lbl_1_bss_608.unk00 + 1, 0); -} - -void fn_1_FAE4(omObjData* arg0, StructBss19C* arg1) { - s32 sp8 = 0; - - lbl_1_bss_58[0] = HuAudSeqPlay(0x36); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - do { - fn_1_B8C(); - } while (WipeStatGet() != 0); - fn_1_BAC(60); - fn_1_EC5C(); - fn_1_F19C(); - fn_1_F910(); - arg1->unk04 = 0; -} - -void fn_1_FD1C(void) { - omObjData* temp_r3; - - temp_r3 = omAddObjEx(lbl_1_bss_558, 0x100, 16, 16, -1, NULL); - lbl_1_bss_5E0.unk00 = temp_r3; - lbl_1_bss_5E0.unk04 = (void*) fn_1_FAE4; - lbl_1_bss_5E0.unk00->data = &lbl_1_bss_5E0; - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_5E0.unk04 != NULL) { - lbl_1_bss_5E0.unk04(temp_r3, &lbl_1_bss_5E0); - } - } -} - -void fn_1_FDD0(omObjData* arg0, s32 arg1) { - s32 temp_r29; - - temp_r29 = lbl_1_bss_608.unk34[lbl_1_bss_608.unk04].unk10; - arg0->model[7] = Hu3DModelCreateFile(lbl_1_data_570[temp_r29 * 6 + arg1].unk00); - arg0->motion[7] = Hu3DMotionIDGet(arg0->model[7]); - if (lbl_1_data_570[temp_r29 * 6 + arg1].unk04 == 1) { - arg0->motion[12] = Hu3DJointMotionFile(arg0->model[7], DATA_MAKE_NUM(DATADIR_MSTORY4, 48)); - } - Hu3DModelPosSet(arg0->model[7], 0.0f, 180.0f, 825.0f); - Hu3DModelAttrSet(arg0->model[7], HU3D_ATTR_DISPOFF); - Hu3DModelShadowSet(arg0->model[7]); - fn_1_1DCC(arg0, 7, 7, 0, 2); - HuDataDirClose(DATADIR_MSTORY4); - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 56)); - arg0->motion[0] = Hu3DMotionIDGet(arg0->model[1]); - fn_1_1DCC(arg0, 1, 0, 0, 2); - Hu3DModelShadowMapObjSet(arg0->model[1], "base_fix9-base"); - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 59)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[2], DATA_MAKE_NUM(DATADIR_MSTORY, 60)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[2], DATA_MAKE_NUM(DATADIR_MSTORY, 61)); - fn_1_1DCC(arg0, 2, 2, 0, 2); - arg0->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 57)); - arg0->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 81)); - Hu3DModelShadowSet(arg0->model[5]); - arg0->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 83)); - arg0->motion[6] = Hu3DMotionIDGet(arg0->model[6]); - Hu3DModelPosSet(arg0->model[6], 25.0f, 125.0f, 900.0f); - Hu3DModelAttrSet(arg0->model[6], HU3D_ATTR_DISPOFF); - fn_1_1DCC(arg0, 6, 6, 0, 2); - arg0->model[8] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 96)); - arg0->motion[8] = Hu3DMotionIDGet(arg0->model[8]); - Hu3DModelAttrSet(arg0->model[8], HU3D_ATTR_DISPOFF); - fn_1_1DCC(arg0, 8, 8, 0, 2); - arg0->model[9] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 84)); - arg0->motion[9] = Hu3DMotionIDGet(arg0->model[9]); - Hu3DModelPosSet(arg0->model[9], 0.0f, 0.0f, 460.0f); - Hu3DModelShadowSet(arg0->model[9]); - fn_1_1DCC(arg0, 9, 9, 0, 2); - Hu3DModelHookSet(arg0->model[9], "carrier2-target0", arg0->model[5]); - lbl_1_bss_560[0] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY, 85 + arg1 * 2), MEMORY_DEFAULT_NUM)); - lbl_1_bss_560[1] = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MSTORY, 86 + arg1 * 2), MEMORY_DEFAULT_NUM)); - Hu3DAnimCreate(lbl_1_bss_560[0], lbl_1_bss_5B8.unk00->model[5], "cylinder3"); - Hu3DAnimCreate(lbl_1_bss_560[1], lbl_1_bss_5B8.unk00->model[5], "wakuwaku"); -} - -void fn_1_10298(omObjData* arg0, StructBss19C* arg1) { - Mtx sp8; - - Hu3DData[arg0->model[7]].pos.y = fn_1_ACC(180.0f, 185.0f, arg1->unk08++, 360.0f); - Hu3DModelObjMtxGet(arg0->model[7], "effect", sp8); - Hu3DModelPosSet(arg0->model[8], sp8[0][3], sp8[1][3], sp8[2][3]); - if (arg1->unk08 >= 360) { - arg1->unk08 = 0; - } -} - -void fn_1_10384(omObjData* arg0, StructBss19C* arg1) { - Mtx sp8; - - Hu3DData[arg0->model[7]].pos.y += arg1->unk0C / 100.0f; - Hu3DModelObjMtxGet(arg0->model[7], "effect", sp8); - Hu3DModelPosSet(arg0->model[8], sp8[0][3], sp8[1][3], sp8[2][3]); - arg1->unk0C += 2; -} - -void fn_1_10450(omObjData* arg0, StructBss19C* arg1) { - fn_1_1DCC(arg0, 9, 9, 0, 1); - while (TRUE) { - fn_1_B8C(); - Hu3DData[arg0->model[9]].pos.z += 2.5f; - if (Hu3DData[arg0->model[9]].pos.z >= 670.0f) { - break; - } - } - Hu3DData[arg0->model[9]].pos.z = 670.0f; - Hu3DMotionSpeedSet(arg0->model[9], 0.0f); - arg1->unk04 = 0; -} - -void fn_1_1054C(void) { - omObjData* temp_r3; - - temp_r3 = omAddObjEx(lbl_1_bss_558, 0x100, 16, 16, -1, NULL); - lbl_1_bss_5B8.unk00 = temp_r3; - lbl_1_bss_5B8.unk04 = NULL; - fn_1_FDD0(temp_r3, lbl_1_bss_608.unk00); - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_5B8.unk04 != NULL) { - lbl_1_bss_5B8.unk04(temp_r3, &lbl_1_bss_5B8); - } - } -} - -void fn_1_105F8(omObjData* arg0, s32 arg1) { - s32 sp1C[] = { - DATA_MAKE_NUM(DATADIR_MSTORY, 0x0061), - DATA_MAKE_NUM(DATADIR_MSTORY, 0x006C), - DATA_MAKE_NUM(DATADIR_MSTORY, 0x0074), - DATA_MAKE_NUM(DATADIR_MSTORY, 0x007C), - DATA_MAKE_NUM(DATADIR_MSTORY, 0x0083) - }; - s32 sp30[][5] = { - { DATA_MAKE_NUM(DATADIR_MSTORY, 0x0062), DATA_MAKE_NUM(DATADIR_MSTORY, 0x0064), DATA_MAKE_NUM(DATADIR_MSTORY, 0x0065), DATA_MAKE_NUM(DATADIR_MSTORY, 0x0067), DATA_MAKE_NUM(DATADIR_MSTORY, 0x0068) }, - { DATA_MAKE_NUM(DATADIR_MSTORY, 0x006D), DATA_MAKE_NUM(DATADIR_MSTORY, 0x006F), DATA_MAKE_NUM(DATADIR_MSTORY, 0x0070), DATA_MAKE_NUM(DATADIR_MSTORY, 0x0072), DATA_MAKE_NUM(DATADIR_MSTORY, 0x0073) }, - { DATA_MAKE_NUM(DATADIR_MSTORY, 0x0075), DATA_MAKE_NUM(DATADIR_MSTORY, 0x0077), DATA_MAKE_NUM(DATADIR_MSTORY, 0x0078), DATA_MAKE_NUM(DATADIR_MSTORY, 0x007A), DATA_MAKE_NUM(DATADIR_MSTORY, 0x007B) }, - { DATA_MAKE_NUM(DATADIR_MSTORY, 0x007D), DATA_MAKE_NUM(DATADIR_MSTORY, 0x007E), DATA_MAKE_NUM(DATADIR_MSTORY, 0x007F), DATA_MAKE_NUM(DATADIR_MSTORY, 0x0081), DATA_MAKE_NUM(DATADIR_MSTORY, 0x0082) }, - { DATA_MAKE_NUM(DATADIR_MSTORY, 0x0084), DATA_MAKE_NUM(DATADIR_MSTORY, 0x0086), DATA_MAKE_NUM(DATADIR_MSTORY, 0x0087), DATA_MAKE_NUM(DATADIR_MSTORY, 0x0089), DATA_MAKE_NUM(DATADIR_MSTORY, 0x008A) } - }; - - arg0->model[1] = Hu3DModelCreateFile(sp1C[arg1]); - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[1], sp30[arg1][0]); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[1], sp30[arg1][1]); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[1], sp30[arg1][2]); - arg0->motion[4] = Hu3DJointMotionFile(arg0->model[1], sp30[arg1][3]); - arg0->motion[5] = Hu3DJointMotionFile(arg0->model[1], sp30[arg1][4]); - Hu3DModelPosSet(arg0->model[1], -120.0f, 0.0f, 670.0f); - Hu3DModelRotSet(arg0->model[1], 0.0f, 30.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[1], 1.0f, 1.0f, 1.0f); - if (arg1 == 3) { - Hu3DData[arg0->model[1]].pos.y = 50.0f; - } - Hu3DModelShadowSet(arg0->model[1]); - fn_1_1DCC(arg0, 1, 5, 0, 1); - { - s32 sp8[] = { 9, 14, 10, 11, 12 }; - - if (arg1 != 3) { - CharModelEffectNpcInit(arg0->model[1], arg0->motion[2], 1, sp8[arg1]); - } - } -} - -void fn_1_108F8(void) { - omObjData* temp_r3; - - temp_r3 = omAddObjEx(lbl_1_bss_558, 0x100, 16, 16, -1, NULL); - lbl_1_bss_590.unk00 = temp_r3; - lbl_1_bss_590.unk04 = NULL; - fn_1_105F8(temp_r3, lbl_1_bss_608.unk00); - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_590.unk04 != NULL) { - lbl_1_bss_590.unk04(temp_r3, &lbl_1_bss_590); - } - } -} - -void fn_1_10C6C(s32 arg0) { - s32 spC[4]; - s32 i; - - spC[0] = 0; - for (i = 1; i < 4; i++) { - spC[i] = spC[i - 1] + 1; - if (spC[i] >= 4) { - spC[i] = 0; - } - if (arg0 == spC[i]) { - lbl_1_bss_608.unk04 = i; - } - } - for (i = 0; i < 4; i++) { - fn_1_352C(&lbl_1_bss_608.unk34[i], spC[i]); - } -} - -void fn_1_10D50(omObjData* arg0, s32 arg1) { - s32 temp_r30; - - temp_r30 = lbl_1_bss_608.unk34[lbl_1_bss_608.unk04].unk10; - arg0->model[1] = CharModelCreate(temp_r30, 1); - arg0->motion[1] = CharModelMotionCreate(temp_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0)); - arg0->motion[2] = CharModelMotionCreate(temp_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 2)); - arg0->motion[3] = CharModelMotionCreate(temp_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 53)); - arg0->motion[4] = CharModelMotionCreate(temp_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 109)); - arg0->motion[5] = Hu3DJointMotionFile(arg0->model[1], DATA_MAKE_NUM(DATADIR_MSTORY, 24 + temp_r30)); - arg0->motion[6] = Hu3DJointMotionFile(arg0->model[1], DATA_MAKE_NUM(DATADIR_MSTORY, 32 + temp_r30)); - CharModelMotionDataClose(temp_r30); - Hu3DModelPosSet(arg0->model[1], 120.0f, 0.0f, 670.0f); - Hu3DModelRotSet(arg0->model[1], 0.0f, -60.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[1], 1.0f, 1.0f, 1.0f); - Hu3DModelShadowSet(arg0->model[1]); - fn_1_1DCC(arg0, 1, 1, 0, 1); -} - -void fn_1_10F24(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - fn_1_1DCC(lbl_1_bss_568.unk00, 1, arg0, arg2, arg3); - if (arg3 == 1) { - arg4 = 0; - } - lbl_1_bss_568.unk00->work[0] = arg4; - lbl_1_bss_568.unk00->work[1] = arg1; - lbl_1_bss_568.unk00->work[2] = arg2 + 1; -} - -void fn_1_10FD0(void) { - omObjData* temp_r3; - - temp_r3 = omAddObjEx(lbl_1_bss_558, 0x100, 16, 16, -1, NULL); - lbl_1_bss_568.unk00 = temp_r3; - lbl_1_bss_568.unk04 = NULL; - lbl_1_bss_568.unk00->data = &lbl_1_bss_568; - fn_1_10D50(temp_r3, lbl_1_bss_608.unk04); // Second argument required to match. - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_568.unk04 != NULL) { - lbl_1_bss_568.unk04(temp_r3, &lbl_1_bss_568); - } - if (temp_r3->work[0] != 0) { - fn_1_E828(temp_r3); - } - } -} - -void fn_1_112A0(void) { - StructBss4* var_r31; - - var_r31 = &lbl_1_bss_4; - var_r31->unk08.x = 0.0f; - var_r31->unk08.y = 125.0f; - var_r31->unk08.z = 0.0f; - var_r31->unk20.x = -5.0f; - var_r31->unk20.y = 0.0f; - var_r31->unk20.z = 0.0f; - var_r31->unk38 = 1750.0f; -} - -void fn_1_1132C(void) { - StructBss4* var_r31; - StructBss4 sp8; - - var_r31 = &lbl_1_bss_4; - sp8.unk08.x = 0.0f; - sp8.unk08.y = 100.0f; - sp8.unk08.z = 0.0f; - sp8.unk20.x = 0.0f; - sp8.unk20.y = 0.0f; - sp8.unk20.z = 0.0f; - sp8.unk38 = 1400.0f; - fn_1_51D0(var_r31, &sp8, var_r31->unk40++, 120.0f, 10.0f); -} - -void fn_1_1141C(void) { - StructBss4* var_r31; - - var_r31 = &lbl_1_bss_4; - var_r31->unk14 = 0.0f; - var_r31->unk18 = Hu3DData[lbl_1_bss_5B8.unk00->model[7]].pos.y; - var_r31->unk1C = 0.0f; - var_r31->unk2C = 0.0f; - var_r31->unk30 = 0.0f; - var_r31->unk34 = 0.0f; - var_r31->unk3C = fn_1_828(1100.0f, 1400.0f, var_r31->unk40++, 240.0f); - fn_1_3ABC(var_r31, 30.0f); -} - -void fn_1_11534(void) { - StructBss4* var_r31; - StructBss4 sp8; - - var_r31 = &lbl_1_bss_4; - sp8.unk08.x = 0.0f; - sp8.unk08.y = 160.0f; - sp8.unk08.z = 0.0f; - sp8.unk20.x = 0.0f; - sp8.unk20.y = 0.0f; - sp8.unk20.z = 0.0f; - sp8.unk38 = 1100.0f; - fn_1_61E8(var_r31, &sp8, var_r31->unk40++, 10.0f, 5.0f); -} diff --git a/src/REL/mstoryDll/mg_miss.c b/src/REL/mstoryDll/mg_miss.c deleted file mode 100755 index 2bfd5f70..00000000 --- a/src/REL/mstoryDll/mg_miss.c +++ /dev/null @@ -1,446 +0,0 @@ -#include "REL/mstoryDll.h" -#include "game/chrman.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/printfunc.h" -#include "game/window.h" -#include "game/wipe.h" - -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 unk08; - /* 0x0C */ s32 unk0C; - /* 0x10 */ s32 unk10; - /* 0x14 */ char unk14[0x20]; - /* 0x34 */ StructFn352C unk34[4]; -} StructBss7B4; // Size 0x104 - -void fn_1_12630(void); -void fn_1_129D4(void); -void fn_1_12C94(s32 arg0); -void fn_1_12F20(omObjData* arg0, StructBss19C* arg1); -void fn_1_12FA8(omObjData*, StructBss19C* arg1); -void fn_1_130C0(void); -void fn_1_13570(void); -void fn_1_13880(void); -void fn_1_1390C(void); - -StructBss7B4 lbl_1_bss_7B4; -StructBss19C lbl_1_bss_78C; -StructBss19C lbl_1_bss_764; -StructBss19C lbl_1_bss_73C; -StructBss19C lbl_1_bss_714; -Process* lbl_1_bss_710; - -s32 lbl_1_data_AF8[][3] = { - { MAKE_MESSID(30, 40), MAKE_MESSID(30, 45), MAKE_MESSID(30, 5) }, - { MAKE_MESSID(30, 41), MAKE_MESSID(30, 45), MAKE_MESSID(30, 5) }, - { MAKE_MESSID(30, 42), MAKE_MESSID(30, 45), MAKE_MESSID(30, 5) }, - { MAKE_MESSID(30, 43), MAKE_MESSID(30, 45), MAKE_MESSID(30, 5) }, - { MAKE_MESSID(30, 44), MAKE_MESSID(30, 45), MAKE_MESSID(30, 5) } -}; - -void fn_1_11624(Process* arg0, s32 arg1, s32 arg2) { - lbl_1_bss_710 = arg0; - lbl_1_bss_7B4.unk00 = arg1; - lbl_1_bss_7B4.unk10 = arg2; - fn_1_BF4(); - fn_1_3618(0xFF); - fn_1_27E8(lbl_1_bss_710, fn_1_13880); - fn_1_3704(); - fn_1_12C94(arg2); - HuPrcChildCreate(fn_1_129D4, 100, 0x2000, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_130C0, 100, 0x2000, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_13570, 100, 0x2000, 0, HuPrcCurrentGet()); - HuPrcChildCreate(fn_1_12630, 100, 0x2000, 0, HuPrcCurrentGet()); -} - -void fn_1_11730(void) { - s32 var_r31 = 16; - s32 var_r30 = 40; - GXColor sp10 = { 0x00, 0x00, 0x80, 0x80 }; - s32 i; - - while (TRUE) { - fn_1_B8C(); - fontcolor = FONT_COLOR_WHITE; - printWin(var_r31, var_r30, 220, 120, &sp10); - if (lbl_1_bss_78C.unk04 == NULL) { - print8(var_r31, var_r30, 1.0f, "PROC_MAIN -> FALSE"); - } else { - print8(var_r31, var_r30, 1.0f, "PROC_MAIN -> TRUE"); - } - if (lbl_1_bss_764.unk04 == NULL) { - print8(var_r31, var_r30 + 10, 1.0f, "PROC_MAP -> FALSE"); - } else { - print8(var_r31, var_r30 + 10, 1.0f, "PROC_MAP -> TRUE"); - } - if (lbl_1_bss_73C.unk04 == NULL) { - print8(var_r31, var_r30 + 20, 1.0f, "PROC_PLAYER -> FALSE"); - } else { - print8(var_r31, var_r30 + 20, 1.0f, "PROC_PLAYER -> TRUE"); - } - if (lbl_1_bss_714.unk04 == NULL) { - print8(var_r31, var_r30 + 30, 1.0f, "PROC_SUB -> FALSE"); - } else { - print8(var_r31, var_r30 + 30, 1.0f, "PROC_SUB -> TRUE"); - } - print8(var_r31, var_r30 + 50, 1.0f, "M:%d P:%d W:%d", lbl_1_bss_7B4.unk00, lbl_1_bss_7B4.unk04, lbl_1_bss_7B4.unk10); - print8(var_r31, var_r30 + 70, 1.0f, "NO) IDX:GRP:COM:DIF:PAD:CHR"); - for (i = 0; i < 4; i++) { - print8(var_r31, var_r30 + 80 + i * 10, 1.0f, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, - lbl_1_bss_7B4.unk34[i].unk00, lbl_1_bss_7B4.unk34[i].unk04, lbl_1_bss_7B4.unk34[i].unk08, - lbl_1_bss_7B4.unk34[i].unk0C, lbl_1_bss_7B4.unk34[i].unk14, lbl_1_bss_7B4.unk34[i].unk10); - } - } -} - -void fn_1_11A8C(void) { - lbl_1_bss_58[0] = HuAudSeqPlay(0x34); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - do { - fn_1_B8C(); - } while (WipeStatGet() != 0); - fn_1_BAC(60); -} - -void fn_1_11AE8(void) { - s32 spC = 0; - s32 sp8 = 0; - - fn_1_1DCC(lbl_1_bss_73C.unk00, 1, 2, 15, 0); - lbl_1_bss_73C.unk04 = (void*) fn_1_12F20; - HuAudFXPlay(lbl_1_data_0[lbl_1_bss_7B4.unk00][1]); - HuAudCharVoicePlay(lbl_1_bss_7B4.unk34[lbl_1_bss_7B4.unk04].unk10, 0x12E); - lbl_1_bss_7B4.unk08 = fn_1_1834(1, 0, 21, 2, lbl_1_bss_7B4.unk10); - fn_1_1DCC(lbl_1_bss_714.unk00, 1, 2, 15, 1); - fn_1_1CE8(lbl_1_bss_7B4.unk08, lbl_1_data_AF8[lbl_1_bss_7B4.unk00][0]); - fn_1_1ACC(lbl_1_bss_7B4.unk08, -1); - fn_1_1CE8(lbl_1_bss_7B4.unk08, MAKE_MESSID(37, 4)); - fn_1_1DCC(lbl_1_bss_714.unk00, 1, 1, 15, 1); - fn_1_1A64(lbl_1_bss_7B4.unk08); -} - -BOOL fn_1_11C6C(void) { - BOOL temp_r31 = FALSE; - - HuWinInsertMesSet(lbl_1_bss_7B4.unk08, MAKE_MESSID(30, 54) + lbl_1_bss_7B4.unk00, 3); - fn_1_1CE8(lbl_1_bss_7B4.unk08, lbl_1_data_AF8[lbl_1_bss_7B4.unk00][1]); - fn_1_1ACC(lbl_1_bss_7B4.unk08, 5); - lbl_1_bss_7B4.unk0C = fn_1_6EB8(MAKE_MESSID(30, 53), lbl_1_bss_7B4.unk10); - fn_1_1CE8(lbl_1_bss_7B4.unk0C, MAKE_MESSID(30, 53)); - temp_r31 = fn_1_1C34(lbl_1_bss_7B4.unk0C); - fn_1_1CE8(lbl_1_bss_7B4.unk0C, MAKE_MESSID(37, 4)); - fn_1_7028(lbl_1_bss_7B4.unk0C); - if (temp_r31) { - fn_1_1DCC(lbl_1_bss_73C.unk00, 1, 4, 15, 0); - lbl_1_bss_73C.unk04 = NULL; - fn_1_1DCC(lbl_1_bss_714.unk00, 1, 3, 15, 1); - } - return temp_r31; -} - -BOOL fn_1_11DD8(void) { - s32 temp_r31 = FALSE; - - fn_1_1CE8(lbl_1_bss_7B4.unk08, lbl_1_data_AF8[lbl_1_bss_7B4.unk00][2]); - fn_1_1ACC(lbl_1_bss_7B4.unk08, 5); - lbl_1_bss_7B4.unk0C = fn_1_6EB8(MAKE_MESSID(30, 53), lbl_1_bss_7B4.unk10); - fn_1_1CE8(lbl_1_bss_7B4.unk0C, MAKE_MESSID(30, 53)); - temp_r31 = fn_1_1B78(lbl_1_bss_7B4.unk0C, 1); - fn_1_1CE8(lbl_1_bss_7B4.unk0C, MAKE_MESSID(37, 4)); - fn_1_7028(lbl_1_bss_7B4.unk0C); - return temp_r31; -} - -void fn_1_11EC4(void) { - lbl_1_bss_73C.unk04 = (void*) fn_1_12FA8; - HuAudSeqFadeOut(lbl_1_bss_58[0], 3000); - fn_1_3804(&lbl_1_bss_4); - fn_1_2710(fn_1_1390C); - fn_1_BAC(150); -} - -void fn_1_11F28(void) { -} - -void fn_1_11F2C(s32 arg0) { - omOvlHisData* var_r30; - OverlayID sp8[] = { OVL_M445, OVL_M448, OVL_M447, OVL_M446, OVL_M449 }; - - if (arg0 != 0) { - fn_1_BAC(60); - HuAudSeqFadeOut(lbl_1_bss_58[0], 1000); - } - WipeColorSet(0xFF, 0xFF, 0xFF); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - do { - fn_1_B8C(); - } while (WipeStatGet() != 0); - fn_1_BAC(60); - CharModelKill(-1); - var_r30 = omOvlHisGet(0); - omOvlHisChg(0, OVL_MSTORY, 2, var_r30->stat); - if (arg0 == 0) { - HuAudSeqAllFadeOut(1000); - HuAudSStreamAllFadeOut(1000); - omOvlCallEx(sp8[GWSystem.board], 1, 0, 0); - } else { - HuAudFadeOut(1); - omOvlReturnEx(1, 1); - } -} - -void fn_1_12070(omObjData* arg0, StructBss19C* arg1) { - s32 var_r31; - - fn_1_11A8C(); - fn_1_11AE8(); - lbl_1_bss_7B4.unk08 = fn_1_1834(1, 0, 21, 2, lbl_1_bss_7B4.unk10); - while (TRUE) { - fn_1_B8C(); - if (fn_1_11C6C()) { - var_r31 = 0; - break; - } - if (fn_1_11DD8()) { - var_r31 = 1; - break; - } - } - fn_1_1A64(lbl_1_bss_7B4.unk08); - fn_1_BAC(60); - switch (var_r31) { - case 0: - fn_1_11EC4(); - break; - case 1: - fn_1_11F28(); - break; - } - fn_1_11F2C(var_r31); - arg1->unk04 = NULL; -} - -void fn_1_12630(void) { - omObjData* temp_r3; - - temp_r3 = omAddObjEx(lbl_1_bss_710, 0x100, 16, 16, -1, NULL); - lbl_1_bss_78C.unk00 = temp_r3; - lbl_1_bss_78C.unk04 = (void*) fn_1_12070; - lbl_1_bss_78C.unk00->data = &lbl_1_bss_78C; - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_78C.unk04 != NULL) { - lbl_1_bss_78C.unk04(temp_r3, &lbl_1_bss_78C); - } - } -} - -void fn_1_126E4(omObjData* arg0) { - arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 56)); - arg0->motion[0] = Hu3DMotionIDGet(arg0->model[1]); - fn_1_1DCC(arg0, 1, 0, 0, 2); - Hu3DModelShadowMapObjSet(arg0->model[1], "base_fix9-base"); - arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 59)); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[2], DATA_MAKE_NUM(DATADIR_MSTORY, 60)); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[2], DATA_MAKE_NUM(DATADIR_MSTORY, 61)); - fn_1_1DCC(arg0, 2, 2, 0, 2); - arg0->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 57)); - arg0->model[5] = Hu3DModelCreateFile(lbl_1_bss_7B4.unk00 + DATA_MAKE_NUM(DATADIR_MSTORY, 76)); - arg0->motion[5] = Hu3DMotionIDGet(arg0->model[5]); - Hu3DModelPosSet(arg0->model[5], 0.0f, 80.0f, 460.0f); - Hu3DModelShadowSet(arg0->model[5]); - fn_1_1DCC(arg0, 5, 5, 0, 2); - arg0->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MSTORY, 75)); - arg0->motion[6] = Hu3DMotionIDGet(arg0->model[6]); - Hu3DModelHookSet(arg0->model[5], "stargbox_fix-effect_fook1", arg0->model[6]); - fn_1_1DCC(arg0, 6, 6, 0, 2); -} - -void fn_1_12918(omObjData* arg0, StructBss19C* arg1) { - Hu3DData[arg0->model[5]].pos.y = fn_1_ACC(80.0f, 90.0f, arg1->unk08++, 360.0f); - if (arg1->unk08 >= 360) { - arg1->unk08 = 0; - } -} - -void fn_1_129D4(void) { - omObjData* temp_r3; - - temp_r3 = omAddObjEx(lbl_1_bss_710, 0x100, 16, 16, -1, NULL); - lbl_1_bss_764.unk00 = temp_r3; - lbl_1_bss_764.unk04 = (void*) fn_1_12918; - lbl_1_bss_764.unk00->data = &lbl_1_bss_764; - fn_1_126E4(temp_r3); - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_764.unk04 != NULL) { - lbl_1_bss_764.unk04(temp_r3, &lbl_1_bss_764); - } - } -} - -void fn_1_12C94(s32 arg0) { - s32 spC[4]; - s32 i; - - spC[0] = 0; - for (i = 1; i < 4; i++) { - spC[i] = spC[i - 1] + 1; - if (spC[i] >= 4) { - spC[i] = 0; - } - if (arg0 == spC[i]) { - lbl_1_bss_7B4.unk04 = i; - } - } - for (i = 0; i < 4; i++) { - fn_1_352C(&lbl_1_bss_7B4.unk34[i], spC[i]); - } -} - -void fn_1_12D78(omObjData* arg0) { - s32 temp_r30; - - temp_r30 = lbl_1_bss_7B4.unk34[lbl_1_bss_7B4.unk04].unk10; - arg0->model[1] = CharModelCreate(temp_r30, 1); - arg0->motion[1] = CharModelMotionCreate(temp_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0)); - arg0->motion[2] = CharModelMotionCreate(temp_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 24)); - arg0->motion[3] = CharModelMotionCreate(temp_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 52)); - arg0->motion[4] = CharModelMotionCreate(temp_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 72)); - arg0->motion[5] = CharModelMotionCreate(temp_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 53)); - CharModelVoiceEnableSet(temp_r30, arg0->motion[2], 0); - CharModelMotionDataClose(temp_r30); - Hu3DModelPosSet(arg0->model[1], 120.0f, 0.0f, 670.0f); - Hu3DModelRotSet(arg0->model[1], 0.0f, -45.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[1], 1.0f, 1.0f, 1.0f); - Hu3DModelShadowSet(arg0->model[1]); - fn_1_1DCC(arg0, 1, 1, 0, 1); -} - -void fn_1_12F20(omObjData* arg0, StructBss19C* arg1) { - if (arg0->motion[2] == Hu3DMotionIDGet(arg0->model[1]) && Hu3DMotionEndCheck(arg0->model[1])) { - fn_1_1DCC(arg0, 1, 3, 15, 1); - arg1->unk04 = 0; - } -} - -void fn_1_12FA8(omObjData* arg0, StructBss19C* arg1) { - s32 i; - - fn_1_BAC(10); - fn_1_1DCC(arg0, 1, 5, 15, 0); - fn_1_B8C(); - Hu3DMotionTimeSet(arg0->model[1], 60.0f); - for (i = 0; i < 50; i++) { - fn_1_B8C(); - Hu3DData[arg0->model[1]].rot.y = fn_1_828(-60.0f, -120.0f, i, 60.0f); - } - fn_1_1DCC(arg0, 1, 1, 15, 1); - arg1->unk04 = 0; -} - -void fn_1_130C0(void) { - omObjData* temp_r3; - - temp_r3 = omAddObjEx(lbl_1_bss_710, 0x100, 16, 16, -1, NULL); - lbl_1_bss_73C.unk00 = temp_r3; - lbl_1_bss_73C.unk04 = NULL; - lbl_1_bss_73C.unk00->data = &lbl_1_bss_73C; - fn_1_12D78(temp_r3); - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_73C.unk04 != NULL) { - lbl_1_bss_73C.unk04(temp_r3, &lbl_1_bss_73C); - } - } -} - -void fn_1_132EC(omObjData* arg0, s32 arg1) { - s32 sp8[] = { - DATA_MAKE_NUM(DATADIR_MSTORY, 97), - DATA_MAKE_NUM(DATADIR_MSTORY, 108), - DATA_MAKE_NUM(DATADIR_MSTORY, 116), - DATA_MAKE_NUM(DATADIR_MSTORY, 124), - DATA_MAKE_NUM(DATADIR_MSTORY, 131) - }; - s32 sp1C[][3] = { - { DATA_MAKE_NUM(DATADIR_MSTORY, 0x62), DATA_MAKE_NUM(DATADIR_MSTORY, 0x65), DATA_MAKE_NUM(DATADIR_MSTORY, 0x67) }, - { DATA_MAKE_NUM(DATADIR_MSTORY, 0x6D), DATA_MAKE_NUM(DATADIR_MSTORY, 0x70), DATA_MAKE_NUM(DATADIR_MSTORY, 0x72) }, - { DATA_MAKE_NUM(DATADIR_MSTORY, 0x75), DATA_MAKE_NUM(DATADIR_MSTORY, 0x78), DATA_MAKE_NUM(DATADIR_MSTORY, 0x7A) }, - { DATA_MAKE_NUM(DATADIR_MSTORY, 0x7D), DATA_MAKE_NUM(DATADIR_MSTORY, 0x7F), DATA_MAKE_NUM(DATADIR_MSTORY, 0x81) }, - { DATA_MAKE_NUM(DATADIR_MSTORY, 0x84), DATA_MAKE_NUM(DATADIR_MSTORY, 0x87), DATA_MAKE_NUM(DATADIR_MSTORY, 0x89) } - }; - - arg0->model[1] = Hu3DModelCreateFile(sp8[arg1]); - arg0->motion[1] = Hu3DJointMotionFile(arg0->model[1], sp1C[arg1][0]); - arg0->motion[2] = Hu3DJointMotionFile(arg0->model[1], sp1C[arg1][1]); - arg0->motion[3] = Hu3DJointMotionFile(arg0->model[1], sp1C[arg1][2]); - Hu3DModelPosSet(arg0->model[1], -120.0f, 0.0f, 670.0f); - Hu3DModelRotSet(arg0->model[1], 0.0f, 45.0f, 0.0f); - Hu3DModelScaleSet(arg0->model[1], 1.0f, 1.0f, 1.0f); - if (arg1 == 3) { - Hu3DData[arg0->model[1]].pos.y = 50.0f; - } - Hu3DModelShadowSet(arg0->model[1]); - fn_1_1DCC(arg0, 1, 1, 0, 1); -} - -void fn_1_13570(void) { - omObjData* temp_r3; - - temp_r3 = omAddObjEx(lbl_1_bss_710, 0x100, 16, 16, -1, NULL); - lbl_1_bss_714.unk00 = temp_r3; - lbl_1_bss_714.unk04 = NULL; - lbl_1_bss_714.unk00->data = &lbl_1_bss_714; - fn_1_132EC(temp_r3, lbl_1_bss_7B4.unk00); - while (TRUE) { - fn_1_B8C(); - if (lbl_1_bss_714.unk04 != NULL) { - lbl_1_bss_714.unk04(temp_r3, &lbl_1_bss_714); - } - } -} - -void fn_1_13880(void) { - StructBss4* var_r31; - - var_r31 = &lbl_1_bss_4; - var_r31->unk08.x = 0.0f; - var_r31->unk08.y = 125.0f; - var_r31->unk08.z = 0.0f; - var_r31->unk20.x = -5.0f; - var_r31->unk20.y = 0.0f; - var_r31->unk20.z = 0.0f; - var_r31->unk38 = 1750.0f; -} - -void fn_1_1390C(void) { - StructBss4* var_r31; - StructBss4 sp8; - - var_r31 = &lbl_1_bss_4; - if (var_r31->unk40 == 50) { - fn_1_1DCC(lbl_1_bss_764.unk00, 5, 5, 0, 0); - fn_1_1DCC(lbl_1_bss_764.unk00, 6, 6, 0, 0); - HuAudFXPlay(0xA1); - } - sp8.unk08.x = 0.0f; - sp8.unk08.y = 130.0f; - sp8.unk08.z = 460.0f; - sp8.unk20.x = 0.0f; - sp8.unk20.y = 0.0f; - sp8.unk20.z = 0.0f; - sp8.unk38 = 150.0f; - fn_1_51D0(var_r31, &sp8, var_r31->unk40, 180.0f, 10.0f); - if (var_r31->unk40++ >= 90) { - if (var_r31->unk40 == 91) { - lbl_1_bss_68 = HuAudFXPlay(0x21); - } - var_r31->unk20.x = fn_1_828(var_r31->unk20.x, -45.0f, var_r31->unk40 - 90, 90.0f); - Hu3DData[lbl_1_bss_764.unk00->model[5]].rot.x = fn_1_828(0.0f, 45.0f, var_r31->unk40 - 90, 90.0f); - } -} diff --git a/src/REL/mstoryDll/save.c b/src/REL/mstoryDll/save.c deleted file mode 100755 index eb848ba1..00000000 --- a/src/REL/mstoryDll/save.c +++ /dev/null @@ -1,128 +0,0 @@ -#include "REL/mstoryDll.h" -#include "game/data.h" -#include "game/esprite.h" -#include "game/flag.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/saveload.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - -s32 lbl_1_bss_8BC; -Process *lbl_1_bss_8B8; - -s32 fn_1_13B48(s32 arg0) -{ - if (arg0 == 0 && _CheckFlag(FLAG_ID_MAKE(0, 2))) { - return 1; - } - if (arg0 == 1 && _CheckFlag(FLAG_ID_MAKE(0, 3))) { - return 1; - } - if (arg0 == 2 && _CheckFlag(FLAG_ID_MAKE(0, 4))) { - return 1; - } - if (arg0 == 3 && _CheckFlag(FLAG_ID_MAKE(0, 5))) { - return 1; - } - if (arg0 == 4 && _CheckFlag(FLAG_ID_MAKE(0, 6))) { - return 1; - } - if (arg0 == 5 && _CheckFlag(FLAG_ID_MAKE(0, 7))) { - return 1; - } - return 0; -} - -void fn_1_13C34(void) -{ - float sp8[2]; - s32 temp_r30; - s32 var_r29; - s32 var_r31; - - temp_r30 = 1; - Hu3DAllKill(); - HuSprClose(); - HuSprInit(); - if (SLSaveFlagGet() == 0) { - lbl_1_bss_8BC = 1; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } - } - espInit(); - HuPrcVSleep(); - var_r29 = espEntry(DATA_MAKE_NUM(DATADIR_WIN, 32), 5000, 0); - espPosSet(var_r29, 288.0f, 240.0f); - espAttrReset(var_r29, 4); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - if (SLSaveFlagGet() == 1) { - HuWinInit(1); - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(30, 22)); - var_r31 = HuWinExCreateStyled(-10000.0f, 150.0f, sp8[0], sp8[1], -1, 2); - winData[var_r31].active_pad = 1; - HuWinAttrSet(var_r31, 0x10); - HuWinExAnimIn(var_r31); - HuWinMesSet(var_r31, MAKE_MESSID(30, 22)); - temp_r30 = HuWinChoiceGet(var_r31, 0); - HuWinExAnimOut(var_r31); - HuWinExCleanup(var_r31); - if (SLSaveFlagGet() == 1 && temp_r30 == 0) { -#if VERSION_REV1 - GWGameStat.story_continue = 1; -#endif - SLCommonSet(); - SLSaveBoardStory(); - SLSave(); - } - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - lbl_1_bss_8BC = 1; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_13E2C(void) -{ - _SetFlag(9); - if (_CheckFlag(FLAG_ID_MAKE(0, 2)) && _CheckFlag(FLAG_ID_MAKE(0, 3)) && _CheckFlag(FLAG_ID_MAKE(0, 4)) && _CheckFlag(FLAG_ID_MAKE(0, 5)) - && _CheckFlag(FLAG_ID_MAKE(0, 6))) { - OSReport( - "########## Next to MapSelect Event 11 -> MapNo:%d, MapFlg:%d, MgFlg:%d\n", GWSystem.board, fn_1_13B48(GWSystem.board), _CheckFlag(9)); - HuPrcChildCreate(fn_1_13C34, 100, 0x2000, 0, HuPrcCurrentGet()); - do { - fn_1_B8C(); - } while (lbl_1_bss_8BC != 1); - omOvlGotoEx(OVL_MSTORY2, 1, 0, 0); - } - else { - OSReport( - "########## Next to MapSelect Event 11 -> MapNo:%d, MapFlg:%d, MgFlg:%d\n", GWSystem.board, fn_1_13B48(GWSystem.board), _CheckFlag(9)); - HuPrcChildCreate(fn_1_13C34, 100, 0x2000, 0, HuPrcCurrentGet()); - do { - fn_1_B8C(); - } while (lbl_1_bss_8BC != 1); - omOvlGotoEx(OVL_MENT, 1, 10, 0); - } - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_14150(Process *arg0) -{ - lbl_1_bss_8B8 = arg0; - HuPrcChildCreate(fn_1_13E2C, 100, 0x2000, 0, HuPrcCurrentGet()); -} diff --git a/src/REL/nisDll/main.c b/src/REL/nisDll/main.c deleted file mode 100644 index 4dc839ce..00000000 --- a/src/REL/nisDll/main.c +++ /dev/null @@ -1,22 +0,0 @@ -#include "game/object.h" -#include "math.h" - -void fn_1_68(omObjData *object); - -void ObjectSetup(void) -{ - Process *process = omInitObjMan(0xA, 0x2000); - omObjData *object = omAddObjEx(process, 0, 0, 0, -1, fn_1_68); - u32 *work = object->work; -} - -void fn_1_68(omObjData *object) -{ - s8 *work = (s8 *)object->work; - if (*work != 0) { - (void)work; - return; - } -} - -#include "src/REL/executor.c" diff --git a/src/REL/option/camera.c b/src/REL/option/camera.c index bd93317b..99e2aa68 100755 --- a/src/REL/option/camera.c +++ b/src/REL/option/camera.c @@ -17,8 +17,8 @@ typedef struct { /* 0x2C */ Vec posPrev; /* 0x38 */ Vec targetPrev; /* 0x44 */ char unk44[0xC]; - /* 0x50 */ float zoomPrev; - /* 0x54 */ float rotPrev; + /* 0x50 */ float prevZoom; + /* 0x54 */ float prevRot; /* 0x58 */ Vec posTarget; /* 0x64 */ Vec posFocus; /* 0x70 */ char unk70[0xC]; @@ -34,6 +34,8 @@ typedef struct { static void ExecCameraObj(omObjData *object); static void ExecCamera(omObjData *object); +static void fn_1_12E4(omObjData *object); +static void PrintDebugInfo(omObjData *object); omObjData *optionCamera; @@ -43,8 +45,11 @@ static s32 pad_04_00000018_data = -1; omObjData *OptionCameraCreate(void) { - omObjData *object = omAddObjEx(optionObjMan, 1001, 0, 0, 3, ExecCameraObj); - CameraWork *work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(CameraWork), MEMORY_DEFAULT_NUM); + omObjData *object; + CameraWork *work; + + object = omAddObjEx(optionObjMan, 1001, 0, 0, 3, ExecCameraObj); + work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(CameraWork), MEMORY_DEFAULT_NUM); object->data = work; work->pos.x = 0.0f; work->pos.y = 0.0f; @@ -105,26 +110,33 @@ void OptionCameraViewSet(omObjData *object, float zoom, float rot, float y, s32 work->zoomTarget = zoom; work->rotTarget = rot; work->targetPrev.y = work->target.y; - work->zoomPrev = work->zoom; - work->rotPrev = work->rot; + work->prevZoom = work->zoom; + work->prevRot = work->rot; work->timeRot = 0.0f; work->rotSpeed = 1.0f / duration; } +// GetZoom float OptionCameraZoomGet(omObjData *object) { CameraWork *work = object->data; - float zoom = work->zoom; + float zoom; + + zoom = work->zoom; return zoom; } +// GetRot float OptionCameraRotGet(omObjData *object) { CameraWork *work = object->data; - float rot = work->rot; + float rot; + + rot = work->rot; return rot; } +// Getpos void OptionCameraPosGet(omObjData *object, float *x, float *y, float *z) { CameraWork *temp_r31 = object->data; @@ -134,6 +146,7 @@ void OptionCameraPosGet(omObjData *object, float *x, float *y, float *z) *z = temp_r31->pos.z; } +// Gettarget void OptionCameraTargetGet(omObjData *object, float *x, float *y, float *z) { CameraWork *work = object->data; @@ -143,6 +156,7 @@ void OptionCameraTargetGet(omObjData *object, float *x, float *y, float *z) *z = work->target.z; } +// CameraDone s32 OptionCameraDoneCheck(omObjData *object) { CameraWork *work = object->data; @@ -191,8 +205,8 @@ static void ExecCamera(omObjData *object) if (work->timeRot < 1.0f) { weight = sind(90.0f * work->timeRot); work->target.y = work->targetPrev.y + weight * (work->posFocus.y - work->targetPrev.y); - work->zoom = work->zoomPrev + weight * (work->zoomTarget - work->zoomPrev); - work->rot = work->rotPrev + weight * (work->rotTarget - work->rotPrev); + work->zoom = work->prevZoom + weight * (work->zoomTarget - work->prevZoom); + work->rot = work->prevRot + weight * (work->rotTarget - work->prevRot); if ((work->timeRot += work->rotSpeed) >= 1.0f) { work->target.y = work->posFocus.y; work->zoom = work->zoomTarget; @@ -209,7 +223,8 @@ static void ExecCamera(omObjData *object) work->rot += 360.0f; } - Hu3DCameraPosSet(1, work->pos.x, work->pos.y, work->pos.z, work->up.x, work->up.y, work->up.z, work->target.x, work->target.y, work->target.z); + Hu3DCameraPosSet(1, work->pos.x, work->pos.y, work->pos.z, work->up.x, work->up.y, work->up.z, work->target.x, + work->target.y, work->target.z); } static void CameraExecDebug(omObjData *object) diff --git a/src/REL/option/guide.c b/src/REL/option/guide.c index 44124475..2487f72c 100755 --- a/src/REL/option/guide.c +++ b/src/REL/option/guide.c @@ -22,8 +22,8 @@ typedef struct { /* 0x48 */ char unk48[0xC]; /* 0x54 */ float time; /* 0x58 */ float speed; - /* 0x5C */ s32 unk_5C; - /* 0x60 */ s32 unk_60; + /* 0x5C */ s32 unk5C; + /* 0x60 */ s32 unk60; } GuideWork; // Size 0x64 #define MODE_DISABLED 0 @@ -68,13 +68,13 @@ omObjData *OptionGuideCreate(void) object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 12)); Hu3DModelLayerSet(object->model[0], 1); for (i = 0; i < 3; i++) { - object->motion[i] = Hu3DJointMotionFile(object->model[0], guideMotTbl[i]); + object->motion[i] = Hu3DJointMotion(object->model[0], HuDataSelHeapReadNum(guideMotTbl[i], MEMORY_DEFAULT_NUM, HEAP_DATA)); } - work->unk_5C = CharModelEffectNpcInit(object->model[0], object->motion[2], 1, 0xC); - work->unk_60 = CharModelEffectNpcInit(object->model[0], object->motion[1], 0, 0xC); + work->unk5C = CharModelEffectNpcInit(object->model[0], object->motion[2], 1, 0xC); + work->unk60 = CharModelEffectNpcInit(object->model[0], object->motion[1], 0, 0xC); CharModelLayerSetAll(1); Hu3DModelShadowSet(object->model[0]); - Hu3DMotionShiftSet(object->model[0], object->motion[0], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(object->model[0], object->motion[0], 0.0f, 8.0f, 0x40000001); SetExecMode(object, MODE_DISABLED); UpdateGuide(object); return object; @@ -186,7 +186,9 @@ static void ExecGuide(omObjData *object) static void UpdateGuide(omObjData *object) { GuideWork *work = object->data; - s16 motion = 0; + s16 motion; + + motion = 0; work->distRemain = sqrtf(work->posDelta.x * work->posDelta.x + work->posDelta.z * work->posDelta.z); if (0.001f <= work->distRemain) { if (14.0f <= work->distRemain) { @@ -207,7 +209,7 @@ static void UpdateGuide(omObjData *object) work->pos.x += work->posDelta.x; work->pos.z += work->posDelta.z; if (work->motion != motion) { - Hu3DMotionShiftSet(*object->model, object->motion[motion], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSet(*object->model, object->motion[motion], 0.0f, 8.0f, 0x40000001); work->motion = motion; } omSetTra(object, work->pos.x, work->pos.y, work->pos.z); @@ -217,8 +219,9 @@ static void UpdateGuide(omObjData *object) static float LerpAngle(float start, float end, float time) { float angle; + float delta; - float delta = fmod(end - start, 360.0); + delta = fmod(end - start, 360.0); if (0.0f > delta) { delta += 360.0f; } diff --git a/src/REL/option/record.c b/src/REL/option/record.c index 763bc418..d625d764 100755 --- a/src/REL/option/record.c +++ b/src/REL/option/record.c @@ -6,22 +6,16 @@ #include "game/hsfman.h" #include "game/hsfmotion.h" #include "game/memory.h" -#include "game/sprite.h" #include "game/window.h" #include "dolphin.h" -#include "ext_math.h" -#include "version.h" - -#ifndef __MWERKS__ -#include "game/gamework.h" -#endif +#include "math.h" #define RECORD_TYPE_BOARD 0 #define RECORD_TYPE_MG 1 -#define CHARACTERS_MAX 8 -#define BOARDS_MAX 6 +#define NUM_CHARACTERS 8 +#define NUM_BOARDS 6 #define PLAY_COUNT_NUM_DIGITS 4 #define WIN_COUNT_NUM_DIGITS 3 @@ -46,7 +40,7 @@ typedef struct { /* 0x008 */ OptionWindow *window[10]; /* 0x030 */ s32 execMode; /* 0x034 */ s16 sprList[153]; - /* 0x166 */ s16 unk166[3]; + /* 0x166 */ s16 unk166[3]; /* 0x16C */ s32 recordType; /* 0x170 */ s32 board; /* 0x174 */ s32 mgPage; @@ -97,15 +91,15 @@ omObjData *OptionRecordCreate(void) object = omAddObjEx(optionObjMan, 1003, 0, 0, 1, NULL); work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(RecordWork), MEMORY_DEFAULT_NUM); object->data = work; - for (i = 0; i < BOARDS_MAX; i++) { + for (i = 0; i < NUM_BOARDS; i++) { work->boardRecord[i].playCount = GWBoardPlayCountGet(i); work->boardRecord[i].maxStars = GWBoardMaxStarsGet(i); work->boardRecord[i].maxCoins = GWBoardMaxCoinsGet(i); - for (character = 0; character < CHARACTERS_MAX; character++) { + for (character = 0; character < NUM_CHARACTERS; character++) { work->boardRecord[i].winCount[character] = GWBoardWinCountGet(character, i); } } - for (i = 0; i < BOARDS_MAX; i++) { + for (i = 0; i < 6; i++) { work->mgRecord[i] = GWMGRecordGet(mgRecordIdxTbl[i]); } work->board = 0; @@ -205,11 +199,11 @@ static void ExecRecord(omObjData *object) OptionWinAnimIn(work->window[1]); OptionWinMesSet(work->window[1], MAKE_MESSID(47, 169)); if (!work->cameraDoneF) { - Hu3DModelAttrReset(work->hand->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(work->hand->model[0], 1); work->cameraDoneF = TRUE; } - pos.x = 505.0 * -sind(305); - pos.z = 505.0 * cosd(305); + pos.x = 505.0 * -sin(305 * M_PI / 180.0); + pos.z = 505.0 * cos(305 * M_PI / 180.0); pos.y = 144.0f - 14.0f * work->recordType; omSetTra(work->hand, pos.x, pos.y, pos.z); object->unk10 = 3; @@ -293,7 +287,7 @@ static void ExecRecord(omObjData *object) } OptionWinAnimOut(work->window[0]); OptionWinAnimOut(work->window[1]); - Hu3DModelAttrSet(work->hand->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(work->hand->model[0], 1); object->unk10 = 6; /* fallthrough */ case 6: @@ -318,7 +312,7 @@ static omObjData *CreateSystem(void) object = omAddObjEx(optionObjMan, 1003, 1, 0, 1, NULL); object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 1)); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(object->model[0], 0x40000002); Hu3DModelLayerSet(object->model[0], 0); Hu3DMotionStartEndSet(object->model[0], 0.0f, 6.0f); Hu3DMotionTimeSet(object->model[0], 6.0f); @@ -348,7 +342,7 @@ static void StartSystemMotion(omObjData *object, s32 type) Hu3DMotionTimeSet(model, 6.0f); break; } - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(object->model[0], 0x40000002); } static omObjData *CreateHand(void) @@ -358,10 +352,10 @@ static omObjData *CreateHand(void) object = omAddObjEx(optionObjMan, 1003, 1, 0, 1, NULL); object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 14)); Hu3DModelLayerSet(object->model[0], 2); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(object->model[0], 0x40000001); omSetRot(object, 30.0f, 190.0f, 0.0f); omSetSca(object, 0.6f, 0.6f, 0.6f); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[0], 1); return object; } @@ -578,7 +572,7 @@ static void ShowBoard(omObjData *object, s32 board) espPosSet(work->sprList[board], 275.0f, 72.0f); value = work->boardRecord[work->board].playCount; for (i = 0; i < PLAY_COUNT_NUM_DIGITS; i++) { - espPosSet(work->sprList[i + 11], (VERSION_NTSC ? 323.0f : 392.0f) + 20.0f * i, 116.0f); + espPosSet(work->sprList[i + 11], 323.0f + 20.0f * i, 116.0f); if (value > 999) { espBankSet(work->sprList[i + 11], i + 10); } @@ -589,7 +583,7 @@ static void ShowBoard(omObjData *object, s32 board) espPosSet(work->sprList[8], 416.0f, 120.0f); value = work->boardRecord[work->board].maxCoins; for (i = 0; i < MAX_COINS_NUM_DIGITS; i++) { - espPosSet(work->sprList[i + 15], (VERSION_NTSC ? 364.0f : 392.0f) + 20.0f * i, 268.0f); + espPosSet(work->sprList[i + 15], 364.0f + 20.0f * i, 268.0f); if (value > 999) { espBankSet(work->sprList[i + 15], i + 10); } @@ -597,12 +591,10 @@ static void ShowBoard(omObjData *object, s32 board) espBankSet(work->sprList[i + 15], GetDigit(value, 3 - i)); } } -#if VERSION_NTSC espPosSet(work->sprList[9], 456.0f, 268.0f); -#endif value = work->boardRecord[work->board].maxStars; for (i = 0; i < MAX_STARS_NUM_DIGITS; i++) { - espPosSet(work->sprList[i + 19], (VERSION_NTSC ? 364.0f : 392.0f) + 20.0f * i, 312.0f); + espPosSet(work->sprList[i + 19], 364.0f + 20.0f * i, 312.0f); if (value > 999) { espBankSet(work->sprList[i + 19], i + 10); } @@ -610,10 +602,8 @@ static void ShowBoard(omObjData *object, s32 board) espBankSet(work->sprList[i + 19], GetDigit(value, 3 - i)); } } -#if VERSION_NTSC espPosSet(work->sprList[10], 456.0f, 312.0f); -#endif - for (i = 0; i < CHARACTERS_MAX; i++) { + for (i = 0; i < NUM_CHARACTERS; i++) { espPosSet(work->sprList[i + 49], 92.0f + 50.0f * i, 200.0f); for (j = 0; j < WIN_COUNT_NUM_DIGITS; j++) { espPosSet(work->sprList[i * 3 + 23 + j], 80.0f + 50.0f * i + 12.0f * j, 230.0f); @@ -626,20 +616,16 @@ static void ShowBoard(omObjData *object, s32 board) for (i = 0; i < PLAY_COUNT_NUM_DIGITS; i++) { espDispOn(work->sprList[i + 11]); } -#if VERSION_NTSC espDispOn(work->sprList[8]); -#endif for (i = 0; i < MAX_COINS_NUM_DIGITS; i++) { espDispOn(work->sprList[i + 15]); } -#if VERSION_NTSC espDispOn(work->sprList[9]); -#endif for (i = 0; i < MAX_STARS_NUM_DIGITS; i++) { espDispOn(work->sprList[i + 19]); } espDispOn(work->sprList[10]); - for (i = 0; i < CHARACTERS_MAX; i++) { + for (i = 0; i < NUM_CHARACTERS; i++) { espDispOn(work->sprList[i + 49]); for (j = 0; j < WIN_COUNT_NUM_DIGITS; j++) { espDispOn(work->sprList[i * 3 + 23 + j]); @@ -660,8 +646,23 @@ static void ShowBoard(omObjData *object, s32 board) #define BOARD_SPR_HIDE_COUNT 53 -static const s32 boardSprHideTbl[BOARD_SPR_HIDE_COUNT] = { 0, 1, 2, 3, 4, 5, 49, 50, 51, 52, 53, 54, 55, 56, 8, 9, 10, 11, 12, 13, 14, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 38, 39, 40, 35, 36, 37, 41, 42, 43, 44, 45, 46, 15, 16, 17, 18, 19, 20, 21, 22 }; +static const s32 boardSprHideTbl[BOARD_SPR_HIDE_COUNT] = +{ + 0, 1, 2, 3, 4, 5, + 49, 50, 51, 52, 53, 54, 55, 56, + 8, 9, 10, + 11, 12, 13, 14, + 23, 24, 25, + 26, 27, 28, + 29, 30, 31, + 32, 33, 34, + 38, 39, 40, + 35, 36, 37, + 41, 42, 43, + 44, 45, 46, + 15, 16, 17, 18, + 19, 20, 21, 22 +}; static void HideBoard(omObjData *object) { @@ -684,9 +685,9 @@ static void ShowTotal(omObjData *object) s32 j; espPosSet(work->sprList[6], 275.0f, 72.0f); - for (i = 0; i < CHARACTERS_MAX; i++) { + for (i = 0; i < NUM_CHARACTERS; i++) { espPosSet(work->sprList[i + 57], 148.0f + 80.0f * (i % 4), 172.0f + 104.0f * (i / 4)); - for (j = 0, winCount = 0; j < BOARDS_MAX; j++) { + for (j = 0, winCount = 0; j < NUM_BOARDS; j++) { winCount += work->boardRecord[j].winCount[i]; } for (j = 0; j < WIN_COUNT_NUM_DIGITS; j++) { @@ -695,7 +696,7 @@ static void ShowTotal(omObjData *object) } } espDispOn(work->sprList[6]); - for (i = 0; i < CHARACTERS_MAX; i++) { + for (i = 0; i < NUM_CHARACTERS; i++) { espDispOn(work->sprList[i + 57]); for (j = 0; j < 3; j++) { espDispOn(work->sprList[i * 3 + 65 + j]); @@ -708,8 +709,19 @@ static void ShowTotal(omObjData *object) #define TOTAL_SPR_HIDE_COUNT 33 -static const s32 totalSprHideTbl[TOTAL_SPR_HIDE_COUNT] - = { 6, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88 }; +static const s32 totalSprHideTbl[TOTAL_SPR_HIDE_COUNT] = +{ + 6, + 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, + 68, 69, 70, + 71, 72, 73, + 74, 75, 76, + 77, 78, 79, + 80, 81, 82, + 83, 84, 85, + 86, 87, 88 +}; static void HideTotal(omObjData *object) { @@ -773,14 +785,14 @@ static void ShowMG(omObjData *object, s32 page) } break; case DISPLAY_TYPE_TIME: - timeMin = value / (60 * REFRESH_RATE); - timeSec = (value % (60 * REFRESH_RATE)) / REFRESH_RATE; - timeCenti = (value % (60 * REFRESH_RATE)) % REFRESH_RATE; + timeMin = value / 3600; + timeSec = (value % 3600) / 60; + timeCenti = (value % 3600) % 60; if (mgTbl[mg].id == 405 || mgTbl[mg].id == 432) { - timeCenti *= (101.5f / REFRESH_RATE); + timeCenti *= 1.6916667f; } else { - timeCenti *= (100.0f / REFRESH_RATE); + timeCenti *= 1.6666666f; } for (j = 1; j < MG_TIME_NUM_DIGITS; j++) { espPosSet(work->sprList[i * 8 + 89 + j], 336.0f + 16.0f * j, 116.0f + 40.0f * i); @@ -832,9 +844,18 @@ static void ShowMG(omObjData *object, s32 page) #define MG_SPR_HIDE_COUNT 65 -static const s32 mgSprHideTbl[65] = { 7, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152 }; +static const s32 mgSprHideTbl[65] = +{ + 7, + 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152 +}; static void HideMG(omObjData *object) { diff --git a/src/REL/option/rumble.c b/src/REL/option/rumble.c index aeae0f72..af0397ff 100755 --- a/src/REL/option/rumble.c +++ b/src/REL/option/rumble.c @@ -112,7 +112,7 @@ static void ExecRumble(omObjData *object) break; } if (!work->cameraDoneF) { - Hu3DModelAttrReset(work->hand->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(work->hand->model[0], 1); work->cameraDoneF = TRUE; Hu3DModelHookSet(work->system->model[0], "target", work->hand->model[0]); } @@ -156,10 +156,10 @@ static void ExecRumble(omObjData *object) if (work->rumbleF) { HuPadRumbleSet(0, 60, 10, 5); Hu3DMotionTimeSet(work->hiliteOn->model[0], 0.0f); - Hu3DModelAttrReset(work->hiliteOn->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(work->hiliteOn->model[0], 1); } else { - Hu3DModelAttrSet(work->hiliteOn->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(work->hiliteOn->model[0], 1); } object->unk10 = 1; } @@ -167,7 +167,7 @@ static void ExecRumble(omObjData *object) case 4: OptionWinAnimOut(work->window[1]); OptionWinAnimOut(work->window[0]); - Hu3DModelAttrSet(work->hand->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(work->hand->model[0], 1); OptionRumbleMotionHideStart(object); object->unk10 = 5; /* fallthrough */ @@ -193,16 +193,16 @@ static omObjData *CreateHand(void) hand->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 15)); Hu3DModelLayerSet(hand->model[0], 3); omSetRot(hand, 0.0f, 180.0f, 0.0f); - Hu3DModelAttrSet(hand->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(hand->model[0], 1); return hand; } -static void KillHand(omObjData *object) +static void KillHand(omObjData *hand) { s32 i; for (i = 0; i < 1; i++) { - Hu3DModelKill(object->model[i]); + Hu3DModelKill(hand->model[i]); } } @@ -212,7 +212,7 @@ static omObjData *CreateSystem(void) system = omAddObjEx(optionObjMan, 1003, 1, 0, 1, NULL); system->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 2)); - Hu3DModelAttrSet(system->model[0], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(system->model[0], 0x40000002); if (GWRumbleGet()) { Hu3DMotionTimeSet(system->model[0], 60.0f); } @@ -222,21 +222,21 @@ static omObjData *CreateSystem(void) return system; } -static void KillSystem(omObjData *object) +static void KillSystem(omObjData *system) { s32 i; for (i = 0; i < 1; i++) { - Hu3DModelKill(object->model[i]); + Hu3DModelKill(system->model[i]); } } -static void StartSystemMotion(omObjData *object, s32 rumbleF, BOOL slowF) +static void StartSystemMotion(omObjData *system, s32 rumbleF, BOOL slowF) { - s16 model = object->model[0]; + s16 model = system->model[0]; - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(system->model[0], 0x40000002); + Hu3DModelAttrReset(system->model[0], 0x40000001); if (rumbleF) { Hu3DMotionStartEndSet(model, 60.0f, 120.0f); if (slowF) { @@ -263,28 +263,28 @@ static omObjData *CreatePad(void) pad = omAddObjEx(optionObjMan, 1003, 1, 0, 1, NULL); pad->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 9)); - Hu3DModelAttrSet(pad->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(pad->model[0], 0x40000001); return pad; } -static void KillPad(omObjData *object) +static void KillPad(omObjData *pad) { s32 i; for (i = 0; i < 1; i++) { - Hu3DModelKill(object->model[i]); + Hu3DModelKill(pad->model[i]); } } -static void ShakePad(omObjData *object, BOOL on) +static void ShakePad(omObjData *pad, BOOL on) { if (on) { - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(pad->model[0], 0x40000002); + Hu3DModelAttrSet(pad->model[0], 0x40000001); } else { - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(pad->model[0], 0x40000002); + Hu3DModelAttrReset(pad->model[0], 0x40000001); } } @@ -294,7 +294,7 @@ static omObjData *CreatePadFilter(void) object = omAddObjEx(optionObjMan, 1003, 1, 0, 1, NULL); object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 10)); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(object->model[0], 0x40000002); Hu3DModelLayerSet(object->model[0], 2); return object; @@ -316,8 +316,8 @@ void OptionRumbleMotionShowStart(omObjData *object) Hu3DMotionStartEndSet(model, 0.0f, 40.0f); Hu3DMotionTimeSet(model, 0.0f); - Hu3DModelAttrReset(work->padFilter->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(work->padFilter->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(work->padFilter->model[0], 0x40000002); + Hu3DModelAttrReset(work->padFilter->model[0], 0x40000001); Hu3DModelLayerSet(work->padFilter->model[0], 2); HuAudFXPlay(0x83D); } @@ -329,8 +329,8 @@ void OptionRumbleMotionHideStart(omObjData *object) Hu3DMotionStartEndSet(model, 40.0f, 80.0f); Hu3DMotionTimeSet(model, 40.0f); - Hu3DModelAttrReset(work->padFilter->model[0], HU3D_MOTATTR_PAUSE); - Hu3DModelAttrReset(work->padFilter->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(work->padFilter->model[0], 0x40000002); + Hu3DModelAttrReset(work->padFilter->model[0], 0x40000001); HuAudFXPlay(0x83E); } @@ -349,10 +349,10 @@ static omObjData *CreateHiliteOn(void) object = omAddObjEx(optionObjMan, 1003, 1, 0, 1, NULL); object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 11)); if (GWRumbleGet()) { - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(object->model[0], 1); } else { - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[0], 1); } return object; } diff --git a/src/REL/option/scene.c b/src/REL/option/scene.c index 4eeb4d2b..91e400d7 100755 --- a/src/REL/option/scene.c +++ b/src/REL/option/scene.c @@ -12,7 +12,7 @@ #include "game/sprite.h" #include "game/wipe.h" -#include "math.h" +#include "rel_sqrt_consts.h" typedef struct { /* 0x00 */ s16 id; @@ -52,8 +52,7 @@ void OptionFadeSprite(s16 sprite, BOOL inF, s32 duration) if (inF) { work->speed = work->speed; work->tplvl = 0.0f; - } - else { + } else { work->speed = -work->speed; work->tplvl = 1.0f; } @@ -104,7 +103,7 @@ void OptionFadeModel(s16 model, BOOL inF, s32 duration) work->speed = -work->speed; work->tplvl = 1.0f; } - Hu3DModelAttrReset(work->id, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(work->id, 1); Hu3DModelTPLvlSet(work->id, work->tplvl); process = HuPrcChildCreate(FadeModel, 0x3000, 0x1500, 0, HuPrcCurrentGet()); process->user_data = work; @@ -129,7 +128,7 @@ static void FadeModel(void) } Hu3DModelTPLvlSet(work->id, work->tplvl); if (work->tplvl <= 0.0f) { - Hu3DModelAttrSet(work->id, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(work->id, 1); } HuMemDirectFree(work); HuPrcEnd(); @@ -200,7 +199,7 @@ static void KillScene(void) HuPrcVSleep(); sprite = espEntry(0x860020, 0x1388, 0); espPosSet(sprite, 288.0f, 240.0f); - espAttrReset(sprite, HUSPR_ATTR_DISPOFF); + espAttrReset(sprite, 4); Hu3DBGColorSet(0, 0, 0); WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); while (WipeStatGet() != 0) { diff --git a/src/REL/option/sound.c b/src/REL/option/sound.c index 7012bb90..64d2e379 100755 --- a/src/REL/option/sound.c +++ b/src/REL/option/sound.c @@ -513,9 +513,9 @@ omObjData *OptionSoundCreate(void) for (i = 0; i < NUM_BOARDS; i++) { musicPageOn[i + 3] = (GWGameStat.board_play_count[i] != 0) ? TRUE : FALSE; } - musicPageOn[11] = (GWGameStat.musicAllF != 0) ? TRUE : FALSE; - musicPageOn[12] = (GWGameStat.musicAllF != 0) ? TRUE : FALSE; - musicPageOn[13] = (GWGameStat.musicAllF != 0) ? TRUE : FALSE; + musicPageOn[11] = (GWGameStat.field10E_bit6 != 0) ? TRUE : FALSE; + musicPageOn[12] = (GWGameStat.field10E_bit6 != 0) ? TRUE : FALSE; + musicPageOn[13] = (GWGameStat.field10E_bit6 != 0) ? TRUE : FALSE; return object; } @@ -624,7 +624,7 @@ static void ExecOptionSel(omObjData *object) OptionWinAnimIn(work->window[0]); OptionWinMesSet(work->window[0], choiceMess[work->cursorPos]); if (!work->cameraDoneF) { - Hu3DModelAttrReset(work->object[7]->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(work->object[7]->model[0], 1); work->cameraDoneF = TRUE; } omSetTra(work->object[7], -34.0f + 40.0f * work->cursorPos, 120.0f, -500.0f); @@ -661,7 +661,7 @@ static void ExecOptionSel(omObjData *object) if (!work->optionSelected) { OptionRumbleMotionHideStart(optionRumble); } - Hu3DModelAttrSet(work->object[7]->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(work->object[7]->model[0], 1); object->unk10 = 4; /* fallthrough */ case 4: @@ -715,7 +715,7 @@ static void ExecOutputMode(omObjData *object) OptionWinAnimIn(work->window[0]); OptionWinMesSet(work->window[0], soundModeNameTbl[work->soundMode]); if (!work->cameraDoneF) { - Hu3DModelAttrReset(work->object[8]->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(work->object[8]->model[0], 1); work->cameraDoneF = TRUE; } pos.x = -38.0f; @@ -768,7 +768,7 @@ static void ExecOutputMode(omObjData *object) KillNoteSpawner(object); OptionWinAnimOut(work->window[1]); OptionWinAnimOut(work->window[0]); - Hu3DModelAttrSet(work->object[8]->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(work->object[8]->model[0], 1); object->unk10 = 5; /* fallthrough */ case 5: @@ -1204,10 +1204,10 @@ static omObjData *CreateHand(void) object = omAddObjEx(optionObjMan, 1003, 1, 0, 1, NULL); object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 13)); Hu3DModelLayerSet(object->model[0], 2); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(object->model[0], 0x40000001); omSetRot(object, -80.0f, 45.0f, 0.0f); omSetSca(object, 0.6f, 0.6f, 0.6f); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[0], 1); return object; } @@ -1227,10 +1227,10 @@ static omObjData *CreateOutputModeHand(void) object = omAddObjEx(optionObjMan, 1003, 1, 0, 1, NULL); object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 14)); Hu3DModelLayerSet(object->model[0], 2); - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(object->model[0], 0x40000001); omSetRot(object, 0.0f, -90.0f, 0.0f); omSetSca(object, 0.6f, 0.6f, 0.6f); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[0], 1); return object; } @@ -1249,7 +1249,7 @@ static omObjData *CreateSystem(void) system = omAddObjEx(optionObjMan, 1003, 1, 0, 1, NULL); system->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 3)); - Hu3DModelAttrSet(system->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(system->model[0], 0x40000001); Hu3DModelLayerSet(system->model[0], 0); return system; } @@ -1276,7 +1276,7 @@ static omObjData *CreateLightObj(s32 id, BOOL off) else { object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 4)); } - Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(object->model[0], 0x40000001); Hu3DModelLayerSet(object->model[0], 0); omSetTra(object, lightPosTbl[id].x, lightPosTbl[id].y, lightPosTbl[id].z); return object; @@ -1293,12 +1293,12 @@ static void KillLightObj(omObjData *object) static void LightDispOff(omObjData *indicator) { - Hu3DModelAttrReset(indicator->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(indicator->model[0], 1); } static void LightDispOn(omObjData *indicator) { - Hu3DModelAttrSet(indicator->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(indicator->model[0], 1); } static s32 spriteDataTbl[] = { @@ -1392,7 +1392,7 @@ static void OptionSelDisp(omObjData *object) static void OptionSelHide(omObjData *object) { - static const s32 sprHideTbl[] = { 12, 0, 1, 2, 3, 4, 5 }; + static const s32 sprHideTbl[] = { 12, 0, 1, 2, 3, 4, 5 }; SoundWork *work = object->data; s32 i; @@ -1443,9 +1443,11 @@ static void OutputModeDisp(omObjData *object) } } + + static void OutputModeHide(omObjData *object) { - static const s32 sprHideTbl[] = { 13, 6, 7, 8, 9 }; + static const s32 sprHideTbl[] = { 13, 6, 7, 8, 9 }; SoundWork *work = object->data; s32 i; @@ -1472,9 +1474,10 @@ static void MusicPageDisp(omObjData *object, s32 page) } } + static void MusicPageHide(omObjData *object) { - static const s32 sprHideTbl[] = { 10 }; + static const s32 sprHideTbl[] = { 10 }; SoundWork *work = object->data; s32 i; @@ -1505,9 +1508,11 @@ static void VoicePageDisp(omObjData *object, s32 character) } } + + static void VoicePageHide(omObjData *object) { - static const s32 sprHideTbl[] = { 11, 0 }; + static const s32 sprHideTbl[] = { 11, 0 }; SoundWork *work = object->data; s32 i; @@ -1533,9 +1538,9 @@ static omObjData *CreateNoteObj(s32 type) noteWork->enabled = FALSE; noteWork->type = type; note->model[0] = Hu3DModelCreateFile(noteMdlTbl[type]); - Hu3DModelAttrSet(note->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrSet(note->model[0], 0x40000001); Hu3DModelLayerSet(note->model[0], 2); - Hu3DModelAttrReset(note->model[0], HU3D_ATTR_ZWRITE_OFF); + Hu3DModelAttrReset(note->model[0], 2); return note; } @@ -1563,7 +1568,7 @@ static void HandleNote(omObjData *note) float y; float tplvl; - Hu3DModelAttrReset(note->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(note->model[0], 1); time = sind(45.0f * noteWork->pos); time = time * time; switch (noteWork->side) { @@ -1590,7 +1595,7 @@ static void HandleNote(omObjData *note) return; } noteWork->enabled = FALSE; - Hu3DModelAttrSet(note->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(note->model[0], 1); note->func = NULL; note->unk10 = 0; } diff --git a/src/REL/option/state.c b/src/REL/option/state.c index edbcdcd6..a2fc6f37 100755 --- a/src/REL/option/state.c +++ b/src/REL/option/state.c @@ -10,19 +10,13 @@ typedef struct { /* 0x00 */ OptionWindow *window; /* 0x04 */ s32 quitTimer; /* 0x08 */ s16 light; -} StateWork; /* size = 0x0C */ +} StateWork; // Size 0xC typedef struct { - /* 0x00 */ Vec pos; - /* 0x0C */ Vec dest; - /* 0x18 */ GXColor color; -} UnkLightDataStruct; /* size = 0x1C */ // TODO same as m446Dll::unkStruct10 and present::UnkPresentStruct3 - -typedef struct UnkShadowDataStruct { - /* 0x00 */ Vec camPos; - /* 0x0C */ Vec camUp; - /* 0x18 */ Vec camTarget; -} UnkShadowDataStruct; /* size = 0x24 */ + Vec src; + Vec dest; + GXColor color; +} UnkLightDataStruct; // Size 0x1C TODO same as m446Dll::unkStruct10 and present::UnkPresentStruct3 static void ExecState(omObjData *object); @@ -34,7 +28,7 @@ static UnkLightDataStruct lightTbl = { { 0xFF, 0xFF, 0xFF, 0xFF }, }; -static UnkShadowDataStruct shadowPosTbl = { +static Vec shadowPosTbl[3] = { { 0.0f, 3000.0f, 1.0f }, { 0.0f, 1.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, @@ -42,21 +36,23 @@ static UnkShadowDataStruct shadowPosTbl = { omObjData *OptionStateCreate(void) { + omObjData *object; + StateWork *work; LightData *lightData; - omObjData *object = omAddObjEx(optionObjMan, 1000, 0, 0, 4, ExecState); - StateWork *work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(StateWork), MEMORY_DEFAULT_NUM); + object = omAddObjEx(optionObjMan, 1000, 0, 0, 4, ExecState); + work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(StateWork), MEMORY_DEFAULT_NUM); object->data = work; optionCamera = OptionCameraCreate(); optionRoom = OptionRoomCreate(); work->window = OptionWinCreate(0); Hu3DLighInit(); - work->light = Hu3DGLightCreateV(&lightTbl.pos, &lightTbl.dest, &lightTbl.color); + work->light = Hu3DGLightCreateV(&lightTbl.src, &lightTbl.dest, &lightTbl.color); Hu3DGLightInfinitytSet(work->light); lightData = &Hu3DGlobalLight[work->light]; Hu3DShadowCreate(30.0f, 20.0f, 5000.0f); Hu3DShadowTPLvlSet(0.45f); - Hu3DShadowPosSet(&shadowPosTbl.camPos, &shadowPosTbl.camUp, &shadowPosTbl.camTarget); + Hu3DShadowPosSet(&shadowPosTbl[0], &shadowPosTbl[1], &shadowPosTbl[2]); return object; } @@ -79,7 +75,7 @@ static void ExecState(omObjData *object) object->unk10 = 1; /* fallthrough */ case 1: - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_PREV, 60); + WipeCreate(WIPE_MODE_IN, -1, 60); object->unk10 = 2; break; case 2: diff --git a/src/REL/option/window.c b/src/REL/option/window.c index 7497bef7..6bb32d8d 100755 --- a/src/REL/option/window.c +++ b/src/REL/option/window.c @@ -5,8 +5,6 @@ #include "game/process.h" #include "game/sprite.h" -#include "version.h" - static void ExecWindow(void); OptionWindow *OptionWinCreate(s32 id) @@ -35,13 +33,13 @@ OptionWindow *OptionWinCreate(s32 id) HuWinMesSpeedSet(work->window, 0); break; case 2: - work->window = HuWinExCreateStyled(-10000.0f, 88.0f, VERSION_NTSC ? 224 : 320, 34, -1, 0); + work->window = HuWinExCreateStyled(-10000.0f, 88.0f, 224, 34, -1, 0); HuWinAttrSet(work->window, 0x800); HuWinBGTPLvlSet(work->window, 0.0f); HuWinMesSpeedSet(work->window, 0); break; case 3: - work->window = HuWinExCreateStyled(175.0f, 100.0f, VERSION_NTSC ? 300 : 320, 34, -1, 0); + work->window = HuWinExCreateStyled(175.0f, 100.0f, 300, 34, -1, 0); HuWinBGTPLvlSet(work->window, 0.0f); HuWinMesSpeedSet(work->window, 0); break; diff --git a/src/REL/present/camera.c b/src/REL/present/camera.c index 9be75849..95c6a85a 100644 --- a/src/REL/present/camera.c +++ b/src/REL/present/camera.c @@ -5,235 +5,231 @@ #include "REL/present.h" -typedef struct CameraWork { - /* 0x00 */ Vec pos; - /* 0x0C */ Vec target; - /* 0x18 */ Vec up; - /* 0x24 */ float zoom; - /* 0x28 */ float rot; - /* 0x2C */ Vec posPrev; - /* 0x38 */ Vec targetPrev; - /* 0x44 */ char unk44[0xC]; - /* 0x50 */ float zoomPrev; - /* 0x54 */ float rotPrev; - /* 0x58 */ Vec posTarget; - /* 0x64 */ Vec posFocus; - /* 0x70 */ char unk70[0xC]; - /* 0x7C */ float zoomTarget; - /* 0x80 */ float rotTarget; - /* 0x84 */ float timeEye; - /* 0x88 */ float eyeSpeed; - /* 0x8C */ float timeTarget; - /* 0x90 */ float targetSpeed; - /* 0x94 */ float timeRot; - /* 0x98 */ float rotSpeed; -} CameraWork; /* size = 0x9C */ // same as in option/camera.c +void fn_1_C20(omObjData *object); -static void ExecCameraObj(omObjData *object); -static void ExecCamera(omObjData *object); - -omObjData *PresentCameraCreate(void) +omObjData *fn_1_6B4(void) { - omObjData *object = omAddObjEx(presentObjMan, 1001, 0, 0, 3, ExecCameraObj); - CameraWork *work = HuMemDirectMallocNum(HEAP_SYSTEM, 156, MEMORY_DEFAULT_NUM); - object->data = work; + omObjData *var_r30; + UnkPresentCameraStruct *var_r31; - work->pos.x = 0.0f; - work->pos.y = 0.0f; - work->pos.z = 0.0f; + var_r30 = omAddObjEx(lbl_1_bss_4, 1001, 0, 0, 3, fn_1_BF8); + var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 156, MEMORY_DEFAULT_NUM); + var_r30->data = var_r31; - work->target.x = 0.0f; - work->target.y = 0.0f; - work->target.z = 0.0f; + var_r31->pos.x = 0.0f; + var_r31->pos.y = 0.0f; + var_r31->pos.z = 0.0f; - work->up.x = 0.0f; - work->up.y = 1.0f; - work->up.z = 0.0f; + var_r31->target.x = 0.0f; + var_r31->target.y = 0.0f; + var_r31->target.z = 0.0f; - work->zoom = 0.0f; - work->rot = 0.0f; - work->timeTarget = 1.0f; - work->timeEye = 1.0f; - work->timeRot = 1.0f; + var_r31->up.x = 0.0f; + var_r31->up.y = 1.0f; + var_r31->up.z = 0.0f; + + var_r31->unk_24 = 0.0f; + var_r31->unk_28 = 0.0f; + var_r31->unk_8C = 1.0f; + var_r31->unk_84 = 1.0f; + var_r31->unk_94 = 1.0f; Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); Hu3DCameraPerspectiveSet(1, 42.0f, 10.0f, 8000.0f, 1.2f); - PresentCameraFocusSet(object, 0.0f, 0.0f, -600.0f, 1); - PresentCameraTargetSet(object, 0.0f, 220.0f, 250.0f, 1); + fn_1_9A4(var_r30, 0.0f, 0.0f, -600.0f, 1); + fn_1_920(var_r30, 0.0f, 220.0f, 250.0f, 1); - return object; + return var_r30; } -void PresentCameraKill(omObjData *object) +void fn_1_8F0(omObjData *object) { HuMemDirectFree(object->data); } -void PresentCameraTargetSet(omObjData *object, float x, float y, float z, s32 duration) +void fn_1_920(omObjData *object, float arg8, float arg9, float argA, s32 arg1) { - CameraWork *work = object->data; + UnkPresentCameraStruct *var_r31; - work->posTarget.x = x; - work->posTarget.y = y; - work->posTarget.z = z; + var_r31 = object->data; + var_r31->unk_58.x = arg8; + var_r31->unk_58.y = arg9; + var_r31->unk_58.z = argA; - work->posPrev = work->pos; - work->timeEye = 0.0f; - work->eyeSpeed = 1.0f / duration; + var_r31->unk_2C = var_r31->pos; + var_r31->unk_84 = 0.0f; + var_r31->unk_88 = 1.0f / arg1; } -void PresentCameraFocusSet(omObjData *object, float x, float y, float z, s32 duration) +void fn_1_9A4(omObjData *object, float arg8, float arg9, float argA, s32 arg1) { - CameraWork *work = object->data; + UnkPresentCameraStruct *var_r31; - work->posFocus.x = x; - work->posFocus.y = y; - work->posFocus.z = z; + var_r31 = object->data; + var_r31->unk_64.x = arg8; + var_r31->unk_64.y = arg9; + var_r31->unk_64.z = argA; - work->targetPrev = work->target; - work->timeTarget = 0.0f; - work->targetSpeed = 1.0f / duration; + var_r31->unk_38 = var_r31->target; + var_r31->unk_8C = 0.0f; + var_r31->unk_90 = 1.0f / arg1; } -void PresentCameraViewSet(omObjData *object, float zoom, float rot, float y, s32 duration) +void fn_1_A28(omObjData *object, s32 arg1, float arg8, float arg9, float argA) { - CameraWork *work = object->data; + UnkPresentCameraStruct *var_r31; - work->posFocus.y = y; - work->zoomTarget = zoom; - work->rotTarget = rot; + var_r31 = object->data; + var_r31->unk_64.y = argA; + var_r31->unk_7C = arg8; + var_r31->unk_80 = arg9; - work->targetPrev.y = work->target.y; - work->zoomPrev = work->zoom; - work->rotPrev = work->rot; - work->timeRot = 0.0f; - work->rotSpeed = 1.0f / duration; + var_r31->unk_38.y = var_r31->target.y; + var_r31->unk_50 = var_r31->unk_24; + var_r31->unk_54 = var_r31->unk_28; + var_r31->unk_94 = 0.0f; + var_r31->unk_98 = 1.0f / arg1; } -float PresentCameraZoomGet(omObjData *object) +float fn_1_AAC(omObjData *object) { - CameraWork *work = object->data; + UnkPresentCameraStruct *var_r31; + float var_f31; - float zoom = work->zoom; - return zoom; + var_r31 = object->data; + var_f31 = var_r31->unk_24; + return var_f31; } -float PresentCameraRotGet(omObjData *object) +float fn_1_ADC(omObjData *object) { - CameraWork *work = object->data; + UnkPresentCameraStruct *var_r31; + float var_f31; - float rot = work->rot; - return rot; + var_r31 = object->data; + var_f31 = var_r31->unk_28; + return var_f31; } -void PresentCameraPosGet(omObjData *object, float *x, float *y, float *z) +void fn_1_B0C(omObjData *object, float *arg1, float *arg2, float *arg3) { - CameraWork *work = object->data; + UnkPresentCameraStruct *var_r31; - *x = work->pos.x; - *y = work->pos.y; - *z = work->pos.z; + var_r31 = object->data; + *arg1 = var_r31->pos.x; + *arg2 = var_r31->pos.y; + *arg3 = var_r31->pos.z; } -void PresentCameraTargetGet(omObjData *object, float *x, float *y, float *z) +void fn_1_B3C(omObjData *object, float *arg1, float *arg2, float *arg3) { - CameraWork *work = object->data; + UnkPresentCameraStruct *var_r31; - *x = work->target.x; - *y = work->target.y; - *z = work->target.z; + var_r31 = object->data; + *arg1 = var_r31->target.x; + *arg2 = var_r31->target.y; + *arg3 = var_r31->target.z; } -s32 PresentCameraDoneCheck(omObjData *object) +s32 fn_1_B6C(omObjData *object) { - CameraWork *work = object->data; + UnkPresentCameraStruct *var_r31; + s32 var_r30; + s32 var_r29; - s32 var_r30 = 1; - s32 var_r29 = 1; - - if (!(work->timeTarget < 1.0f) && !(work->timeRot < 1.0f)) { + var_r31 = object->data; + var_r30 = 1; + var_r29 = 1; + if (!(var_r31->unk_8C < 1.0f) && !(var_r31->unk_94 < 1.0f)) { var_r29 = 0; } - if (!var_r29 && !(work->timeEye < 1.0f)) { + if (!var_r29 && !(var_r31->unk_84 < 1.0f)) { var_r30 = 0; } return var_r30; } -static void ExecCameraObj(omObjData *object) +void fn_1_BF8(omObjData *object) { - ExecCamera(object); + fn_1_C20(object); } -static void ExecCamera(omObjData *object) +void fn_1_C20(omObjData *object) { - CameraWork *work = object->data; - float weight; - float dx; - float dz; + UnkPresentCameraStruct *var_r31; + float var_f31; + float var_f30; + float var_f29; + float var_f28; + float var_f27; - if (work->timeEye < 1.0f) { - weight = sind(90.0f * work->timeEye); - work->pos.x = work->posPrev.x + weight * (work->posTarget.x - work->posPrev.x); - work->pos.y = work->posPrev.y + weight * (work->posTarget.y - work->posPrev.y); - work->pos.z = work->posPrev.z + weight * (work->posTarget.z - work->posPrev.z); + var_r31 = object->data; + if (var_r31->unk_84 < 1.0f) { + var_f28 = sind(90.0f * var_r31->unk_84); + var_r31->pos.x = var_r31->unk_2C.x + var_f28 * (var_r31->unk_58.x - var_r31->unk_2C.x); + var_r31->pos.y = var_r31->unk_2C.y + var_f28 * (var_r31->unk_58.y - var_r31->unk_2C.y); + var_r31->pos.z = var_r31->unk_2C.z + var_f28 * (var_r31->unk_58.z - var_r31->unk_2C.z); - if ((work->timeEye += work->eyeSpeed) >= 1.0f) { - work->pos = work->posTarget; + if ((var_r31->unk_84 += var_r31->unk_88) >= 1.0f) { + var_r31->pos = var_r31->unk_58; } } - if (work->timeTarget < 1.0f) { - weight = sind(90.0f * work->timeTarget); - work->target.x = work->targetPrev.x + weight * (work->posFocus.x - work->targetPrev.x); - work->target.y = work->targetPrev.y + weight * (work->posFocus.y - work->targetPrev.y); - work->target.z = work->targetPrev.z + weight * (work->posFocus.z - work->targetPrev.z); + if (var_r31->unk_8C < 1.0f) { + var_f28 = sind(90.0f * var_r31->unk_8C); + var_r31->target.x = var_r31->unk_38.x + var_f28 * (var_r31->unk_64.x - var_r31->unk_38.x); + var_r31->target.y = var_r31->unk_38.y + var_f28 * (var_r31->unk_64.y - var_r31->unk_38.y); + var_r31->target.z = var_r31->unk_38.z + var_f28 * (var_r31->unk_64.z - var_r31->unk_38.z); - if ((work->timeTarget += work->targetSpeed) >= 1.0f) { - work->target = work->posFocus; + if ((var_r31->unk_8C += var_r31->unk_90) >= 1.0f) { + var_r31->target = var_r31->unk_64; } } - if (work->timeRot < 1.0f) { - weight = sind(90.0f * work->timeRot); - work->target.y = work->targetPrev.y + (weight * (work->posFocus.y - work->targetPrev.y)); - work->zoom = work->zoomPrev + (weight * (work->zoomTarget - work->zoomPrev)); - work->rot = work->rotPrev + (weight * (work->rotTarget - work->rotPrev)); + if (var_r31->unk_94 < 1.0f) { + var_f28 = sind(90.0f * var_r31->unk_94); + var_r31->target.y = var_r31->unk_38.y + (var_f28 * (var_r31->unk_64.y - var_r31->unk_38.y)); + var_r31->unk_24 = var_r31->unk_50 + (var_f28 * (var_r31->unk_7C - var_r31->unk_50)); + var_r31->unk_28 = var_r31->unk_54 + (var_f28 * (var_r31->unk_80 - var_r31->unk_54)); - if ((work->timeRot += work->rotSpeed) >= 1.0f) { - work->target.y = work->posFocus.y; - work->zoom = work->zoomTarget; - work->rot = work->rotTarget; + if ((var_r31->unk_94 += var_r31->unk_98) >= 1.0f) { + var_r31->target.y = var_r31->unk_64.y; + var_r31->unk_24 = var_r31->unk_7C; + var_r31->unk_28 = var_r31->unk_80; } - work->target.x = work->zoom * -sind(work->rot); - work->target.z = work->zoom * cosd(work->rot); + var_r31->target.x = var_r31->unk_24 * -sind(var_r31->unk_28); + var_r31->target.z = var_r31->unk_24 * cosd(var_r31->unk_28); } - dx = work->target.x - work->pos.x; - dz = work->target.z - work->pos.z; + var_f31 = var_r31->target.x - var_r31->pos.x; + var_f30 = var_r31->target.z - var_r31->pos.z; - work->zoom = sqrtf(dx * dx + dz * dz); - work->rot = fmod(-atan2d(dx, dz), 360.0); - if (work->rot < 0.0f) { - work->rot += 360.0f; + var_r31->unk_24 = sqrtf(var_f31 * var_f31 + var_f30 * var_f30); + var_r31->unk_28 = fmod(-atan2d(var_f31, var_f30), 360.0); + if (var_r31->unk_28 < 0.0f) { + var_r31->unk_28 += 360.0f; } - Hu3DCameraPosSet(1, work->pos.x, work->pos.y, work->pos.z, work->up.x, work->up.y, work->up.z, work->target.x, work->target.y, work->target.z); + Hu3DCameraPosSet(1, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z, var_r31->up.x, var_r31->up.y, var_r31->up.z, var_r31->target.x, + var_r31->target.y, var_r31->target.z); } -static void CameraExecDebug(omObjData *object) +void fn_1_1198(omObjData *object) { + UnkPresentCameraStruct *var_r31; + if (HuPadBtn[0] & PAD_BUTTON_B) { - CameraWork *work = object->data; - - work->target.x += (0.5f * HuPadStkX[0]); - work->target.y += (0.5f * HuPadStkY[0]); - work->pos.z += (0.5f * HuPadTrigL[0]); - work->pos.z -= (0.5f * HuPadTrigR[0]); - work->pos.x += (0.5f * HuPadSubStkY[0]); - work->pos.y += (0.5f * HuPadSubStkX[0]); + var_r31 = object->data; + var_r31->target.x = var_r31->target.x + (0.5f * HuPadStkX[0]); + var_r31->target.y = var_r31->target.y + (0.5f * HuPadStkY[0]); + var_r31->pos.z = var_r31->pos.z + (0.5f * HuPadTrigL[0]); + var_r31->pos.z = var_r31->pos.z - (0.5f * HuPadTrigR[0]); + var_r31->pos.x = var_r31->pos.x + (0.5f * HuPadSubStkY[0]); + var_r31->pos.y = var_r31->pos.y + (0.5f * HuPadSubStkX[0]); } } -static void CameraPrintDebug(omObjData *object) +void fn_1_1398(omObjData *object) { - CameraWork *work = object->data; - print8(32, 64, 1.5f, "AT : x=%.2f y=%.2f z=%.2f", work->target.x, work->target.y, work->target.z); - print8(32, 80, 1.5f, "EYE : x=%.2f y=%.2f z=%.2f", work->pos.x, work->pos.y, work->pos.z); - print8(32, 96, 1.5f, "R : %.2f DEG: %.2f", work->zoom, work->rot); + UnkPresentCameraStruct *var_r31; + + var_r31 = object->data; + print8(32, 64, 1.5f, "AT : x=%.2f y=%.2f z=%.2f", var_r31->target.x, var_r31->target.y, var_r31->target.z); + print8(32, 80, 1.5f, "EYE : x=%.2f y=%.2f z=%.2f", var_r31->pos.x, var_r31->pos.y, var_r31->pos.z); + print8(32, 96, 1.5f, "R : %.2f DEG: %.2f", var_r31->unk_24, var_r31->unk_28); } diff --git a/src/REL/present/common.c b/src/REL/present/common.c index 7ccf1f02..c06f944d 100644 --- a/src/REL/present/common.c +++ b/src/REL/present/common.c @@ -6,224 +6,222 @@ #include "REL/present.h" -typedef struct GuideWork { - /* 0x00 */ s32 execMode; - /* 0x04 */ s16 motion; - /* 0x08 */ Vec pos; - /* 0x14 */ Vec newPos; - /* 0x20 */ Vec rot; - /* 0x2C */ Vec posDelta; - /* 0x38 */ float distRemain; - /* 0x3C */ char unk3C[0xC]; - /* 0x48 */ float time; - /* 0x4C */ float speed; - /* 0x50 */ s32 unk_50; - /* 0x54 */ s32 unk_54; -} GuideWork; /* size = 0x58 */ +void fn_1_4620(omObjData *arg0); +void fn_1_4880(omObjData *arg0); -static void ExecGuideEnter(omObjData *object); -static void ExecGuideLeave(omObjData *object); -static void UpdateGuide(omObjData *object); -static float LerpAngle(float start, float end, float time); +omObjFunc lbl_1_data_1A0[] = { NULL, fn_1_4620, fn_1_4880 }; -static omObjFunc execModeTbl[] = { NULL, ExecGuideEnter, ExecGuideLeave }; +static const s32 lbl_1_rodata_BD8[] = { 0x006E0089, 0x006E008A, 0x006E008B }; -static const s32 guideMotTbl[] = { - DATA_MAKE_NUM(DATADIR_PRESENT, 137), - DATA_MAKE_NUM(DATADIR_PRESENT, 138), - DATA_MAKE_NUM(DATADIR_PRESENT, 139), -}; +void fn_1_4A04(omObjData *object); +float fn_1_4CEC(float arg8, float arg9, float argA); -omObjData *PresentGuideCreate(void) +omObjData *fn_1_42F4(void) { + omObjData *var_r31; + s32 var_lr; s32 var_r29; + UnkPresentStruct5 *var_r30; - omObjData *object = omAddObjEx(presentObjMan, 1002, 1, 3, 2, NULL); - GuideWork *work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(GuideWork), MEMORY_DEFAULT_NUM); - object->data = work; - - work->pos.x = 0.0f; - work->pos.z = 0.0f; - work->pos.y = 0.0f; - work->rot.x = 0.0f; - work->rot.y = 0.0f; - work->rot.z = 0.0f; - - work->posDelta.x = 0.0f; - work->posDelta.z = 0.0f; - work->posDelta.y = 0.0f; - object->model[0] = Hu3DModelCreate(HuDataReadNum(DATA_MAKE_NUM(DATADIR_PRESENT, 136), MEMORY_DEFAULT_NUM)); - Hu3DModelLayerSet(object->model[0], 1); + var_r31 = omAddObjEx(lbl_1_bss_4, 1002, 1, 3, 2, NULL); + var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, 88, MEMORY_DEFAULT_NUM); + var_r31->data = var_r30; + var_r30->x = 0.0f; + var_r30->z = 0.0f; + var_r30->y = 0.0f; + var_r30->unk_20 = 0.0f; + var_r30->unk_24 = 0.0f; + var_r30->unk_28 = 0.0f; + var_r30->unk_2C = 0.0f; + var_r30->unk_34 = 0.0f; + var_r30->unk_30 = 0.0f; + var_r31->model[0] = Hu3DModelCreate(HuDataReadNum(0x6E0088, MEMORY_DEFAULT_NUM)); + Hu3DModelLayerSet(var_r31->model[0], 1); for (var_r29 = 0; var_r29 < 3; var_r29++) { - object->motion[var_r29] = Hu3DJointMotionFile(object->model[0], guideMotTbl[var_r29]); + var_r31->motion[var_r29] = Hu3DJointMotion(var_r31->model[0], HuDataSelHeapReadNum(lbl_1_rodata_BD8[var_r29], MEMORY_DEFAULT_NUM, HEAP_DATA)); } - Hu3DMotionShiftSet(object->model[0], object->motion[work->motion = 0], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - work->unk_50 = CharModelEffectNpcInit(object->model[0], object->motion[2], 1, 10); - work->unk_54 = CharModelEffectNpcInit(object->model[0], object->motion[1], 0, 10); + Hu3DMotionShiftSet(var_r31->model[0], var_r31->motion[var_r30->unk_04 = 0], 0.0f, 8.0f, 0x40000001); + var_r30->unk_50 = CharModelEffectNpcInit(var_r31->model[0], var_r31->motion[2], 1, 10); + var_r30->unk_54 = CharModelEffectNpcInit(var_r31->model[0], var_r31->motion[1], 0, 10); CharModelLayerSetAll(1); - Hu3DModelShadowSet(object->model[0]); - PresentGuideExecModeSet(object, PRESENT_GUIDE_MODE_NONE); - UpdateGuide(object); - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelShadowSet(var_r31->model[0]); + fn_1_45C0(var_r31, 0); + fn_1_4A04(var_r31); + Hu3DModelAttrSet(var_r31->model[0], 1); - return object; + return var_r31; } -void PresentGuideKill(omObjData *object) +void fn_1_4534(omObjData *object) { - void *work = object->data; + s32 var_r31; + void *var_r29; + void *var_r30; - s32 i; - for (i = 0; i < 1; i++) { - Hu3DModelKill(object->model[i]); + var_r29 = object->data; + + for (var_r31 = 0; var_r31 < 1; var_r31++) { + Hu3DModelKill(object->model[var_r31]); } - for (i = 0; i < 3; i++) { - Hu3DMotionKill(object->motion[i]); + for (var_r31 = 0; var_r31 < 3; var_r31++) { + Hu3DMotionKill(object->motion[var_r31]); } - HuMemDirectFree(work); + HuMemDirectFree(var_r29); } -void PresentGuideExecModeSet(omObjData *object, s32 execMode) +void fn_1_45C0(omObjData *object, s32 arg1) { - GuideWork *work = object->data; + UnkPresentStruct5 *var_r31; - work->execMode = execMode; - object->func = execModeTbl[execMode]; + var_r31 = object->data; + var_r31->unk_00 = arg1; + object->func = lbl_1_data_1A0[arg1]; object->unk10 = 0; object->unk10 = 0; } -s32 PresentGuideExecModeGet(omObjData *object) +s32 fn_1_4604(omObjData *object) { - GuideWork *work = object->data; + s32 *var_r31; - return work->execMode; + var_r31 = object->data; + return *var_r31; } -static void ExecGuideEnter(omObjData *object) +void fn_1_4620(omObjData *object) { float var_f31; - GuideWork *work = object->data; + omObjData *var_r30; + void *var_r29; + UnkPresentStruct5 *var_r31; + var_r31 = object->data; switch (object->unk10) { - case 0: - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - work->pos.x = -300.0f; - work->pos.z = -180.0f; - work->time = 0.0f; - work->speed = 0.025f; - object->unk10 = 1; - case 1: - var_f31 = sind(90.0f * work->time); - var_f31 *= var_f31; - work->newPos.x = -300.0f + (300.0f * var_f31); - work->posDelta.x = work->newPos.x - work->pos.x; - if ((work->time += work->speed) < 1.0f) { - break; - } - work->pos.x = 0.0f; - work->time = 0.0f; - work->speed = 0.05f; - object->unk10 = 2; - case 2: - work->posDelta.x = 0.0f; - work->posDelta.z = 0.01f; - if ((work->time += work->speed) < 1.0f) { - break; - } - work->rot.y = 0.0f; - work->posDelta.x = 0.0f; - work->posDelta.y = 0.0f; - work->posDelta.z = 0.0f; - object->unk10 = 3; - case 3: - PresentGuideExecModeSet(object, PRESENT_GUIDE_MODE_NONE); + case 0: + Hu3DModelAttrReset(object->model[0], 1); + var_r31->x = -300.0f; + var_r31->z = -180.0f; + var_r31->unk_48 = 0.0f; + var_r31->unk_4C = 0.025f; + object->unk10 = 1; + case 1: + var_f31 = sind(90.0f * var_r31->unk_48); + var_f31 *= var_f31; + var_r31->unk_14 = -300.0f + (300.0f * var_f31); + var_r31->unk_2C = var_r31->unk_14 - var_r31->x; + if ((var_r31->unk_48 = var_r31->unk_48 + var_r31->unk_4C) < 1.0f) { break; - default: + } + var_r31->x = 0.0f; + var_r31->unk_48 = 0.0f; + var_r31->unk_4C = 0.05f; + object->unk10 = 2; + case 2: + var_r31->unk_2C = 0.0f; + var_r31->unk_34 = 0.01f; + if ((var_r31->unk_48 = var_r31->unk_48 + var_r31->unk_4C) < 1.0f) { break; + } + var_r31->unk_24 = 0.0f; + var_r31->unk_2C = 0.0f; + var_r31->unk_30 = 0.0f; + var_r31->unk_34 = 0.0f; + object->unk10 = 3; + case 3: + fn_1_45C0(object, 0); + break; + default: + break; } - UpdateGuide(object); + fn_1_4A04(object); } -static void ExecGuideLeave(omObjData *object) +void fn_1_4880(omObjData *object) { - float weight; + float var_f31; + UnkPresentStruct5 *var_r30; + void *var_r29; - GuideWork *work = object->data; + var_r30 = object->data; switch (object->unk10) { - case 0: - work->time = 0.0f; - work->speed = 0.025f; - Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); - object->unk10 = 1; - case 1: - weight = sind(90.0f * work->time); - weight *= weight; - work->newPos.x = -(300.0f * weight); - work->posDelta.x = work->newPos.x - work->pos.x; - if ((work->time += work->speed) < 1.0f) { - break; - } - object->unk10 = 2; - case 2: - Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); - PresentGuideExecModeSet(object, PRESENT_GUIDE_MODE_NONE); - break; - default: + case 0: + var_r30->unk_48 = 0.0f; + var_r30->unk_4C = 0.025f; + Hu3DModelAttrReset(object->model[0], 1); + object->unk10 = 1; + case 1: + var_f31 = sind(90.0f * var_r30->unk_48); + var_f31 *= var_f31; + var_r30->unk_14 = -(300.0f * var_f31); + var_r30->unk_2C = var_r30->unk_14 - var_r30->x; + if ((var_r30->unk_48 = var_r30->unk_48 + var_r30->unk_4C) < 1.0f) { break; + } + object->unk10 = 2; + case 2: + Hu3DModelAttrSet(object->model[0], 1); + fn_1_45C0(object, 0); + break; + default: + break; } - UpdateGuide(object); + fn_1_4A04(object); (void)object; } -static void UpdateGuide(omObjData *object) +void fn_1_4A04(omObjData *object) { - GuideWork *work = object->data; - s16 motion = 0; + float var_f29; + float var_f30; + s16 var_r29; + UnkPresentStruct5 *var_r31; - work->distRemain = sqrtf(work->posDelta.x * work->posDelta.x + work->posDelta.z * work->posDelta.z); - if (0.001f <= work->distRemain) { - if (12.0f <= work->distRemain) { - work->posDelta.x /= work->distRemain; - work->posDelta.z /= work->distRemain; - work->distRemain = 12.0f; - work->posDelta.x = 12.0f * work->posDelta.x; - work->posDelta.z = 12.0f * work->posDelta.z; + var_r31 = object->data; + var_r29 = 0; + var_f30 = var_r31->unk_2C * var_r31->unk_2C + var_r31->unk_34 * var_r31->unk_34; + var_r31->unk_38 = sqrtf(var_f30); + if (0.001f <= var_r31->unk_38) { + if (12.0f <= var_r31->unk_38) { + var_r31->unk_2C = var_r31->unk_2C / var_r31->unk_38; + var_r31->unk_34 = var_r31->unk_34 / var_r31->unk_38; + var_r31->unk_38 = 12.0f; + var_r31->unk_2C = 12.0f * var_r31->unk_2C; + var_r31->unk_34 = 12.0f * var_r31->unk_34; } - work->rot.y = LerpAngle(work->rot.y, atan2d(work->posDelta.x, work->posDelta.z), 0.4f); + var_r31->unk_24 = fn_1_4CEC(var_r31->unk_24, atan2d(var_r31->unk_2C, var_r31->unk_34), 0.4f); - if (8.0f <= work->distRemain) { - motion = 2; - } - else { - motion = 1; + if (8.0f <= var_r31->unk_38) { + var_r29 = 2; + } else { + var_r29 = 1; } } - work->pos.x += work->posDelta.x; - work->pos.z += work->posDelta.z; - if (work->motion != motion) { - Hu3DMotionShiftSet(object->model[0], object->motion[work->motion = motion], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + var_r31->x = var_r31->x + var_r31->unk_2C; + var_r31->z = var_r31->z + var_r31->unk_34; + if (var_r31->unk_04 != var_r29) { + Hu3DMotionShiftSet(object->model[0], object->motion[var_r31->unk_04 = var_r29], 0.0f, 8.0f, 0x40000001); // or 0x41000000 } - omSetTra(object, work->pos.x, work->pos.y, work->pos.z); - omSetRot(object, work->rot.x, work->rot.y, work->rot.z); + omSetTra(object, var_r31->x, var_r31->y, var_r31->z); + omSetRot(object, var_r31->unk_20, var_r31->unk_24, var_r31->unk_28); } -static float LerpAngle(float start, float end, float time) +float fn_1_4CEC(float arg8, float arg9, float argA) { - float angle; + float var_f30; + float var_f31; - float delta = fmod(end - start, 360.0f); - if (0.0f > delta) { - delta += 360.0f; + var_f31 = fmod(arg9 - arg8, 360.0f); + if (0.0f > var_f31) { + var_f31 += 360.0f; } - if (180.0f < delta) { - delta -= 360.0f; + if (180.0f < var_f31) { + var_f31 -= 360.0f; } - angle = fmod(start + (delta * time), 360.0f); - if (0.0f > angle) { - angle += 360.0f; + var_f30 = fmod(arg8 + (var_f31 * argA), 360.0f); + if (0.0f > var_f30) { + var_f30 += 360.0f; } - return angle; + return var_f30; } diff --git a/src/REL/present/init.c b/src/REL/present/init.c index 3217d652..b006e64d 100644 --- a/src/REL/present/init.c +++ b/src/REL/present/init.c @@ -1,187 +1,176 @@ #include "game/audio.h" #include "game/esprite.h" -#include "game/hsfman.h" #include "game/objsub.h" #include "game/pad.h" #include "game/process.h" #include "game/wipe.h" -#include "math.h" +#include "rel_sqrt_consts.h" #include "REL/present.h" -typedef struct FaderWork { - /* 0x00 */ s16 id; - /* 0x04 */ float tplvl; - /* 0x08 */ float speed; -} FaderWork; /* size 0x0C */ // same as in option/scene.c - -typedef struct FaderWork2 { - /* 0x00 */ s16 id; - /* 0x04 */ float tpMultiplier; - /* 0x08 */ float tplvl; - /* 0x0C */ float speed; -} FaderWork2; /* size = 0x10 */ - -omObjData *presentState; +omObjData *lbl_1_bss_18; omObjData *lbl_1_bss_14; -omObjData *present; +omObjData *lbl_1_bss_10; omObjData *lbl_1_bss_C; -omObjData *presentCamera; -Process *presentObjMan; -static omObjData *scene; +omObjData *lbl_1_bss_8; +Process *lbl_1_bss_4; +omObjData *lbl_1_bss_0; -static void FadeSprite(void); -static void FadeModel(void); -static void SceneMain(omObjData *object); +void fn_1_254(void); +void fn_1_45C(void); +void fn_1_5EC(omObjData *object); void ObjectSetup(void) { - presentObjMan = omInitObjMan(150, 8192); - omGameSysInit(presentObjMan); + lbl_1_bss_4 = omInitObjMan(150, 8192); + omGameSysInit(lbl_1_bss_4); HuWinInit(1); - scene = omAddObjEx(presentObjMan, 1000, 0, 0, 0, SceneMain); - scene->unk10 = 0; - presentState = PresentStateCreate(); + lbl_1_bss_0 = omAddObjEx(lbl_1_bss_4, 1000, 0, 0, 0, fn_1_5EC); + lbl_1_bss_0->unk10 = 0; + lbl_1_bss_18 = fn_1_39A8(); } -void PresentFadeSprite(s16 sprite, BOOL inF, s32 duration) +void fn_1_144(s16 arg0, s32 arg1, s32 arg2) { - Process *process; + Process *var_r30; + UnkPresentStruct6 *var_r31; - FaderWork *work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(FaderWork), MEMORY_DEFAULT_NUM); - work->id = sprite; - work->speed = 1.0f / duration; - if (inF) { - work->speed = work->speed; - work->tplvl = 0.0f; + var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkPresentStruct6), MEMORY_DEFAULT_NUM); + var_r31->unk_00 = arg0; + var_r31->unk_08 = 1.0f / arg2; + if (arg1) { + var_r31->unk_08 = var_r31->unk_08; + var_r31->unk_04 = 0.0f; + } else { + var_r31->unk_08 = -var_r31->unk_08; + var_r31->unk_04 = 1.0f; } - else { - work->speed = -work->speed; - work->tplvl = 1.0f; - } - espDispOn(work->id); - espTPLvlSet(work->id, work->tplvl); - process = HuPrcChildCreate(FadeSprite, 100, 5376, 0, HuPrcCurrentGet()); - process->user_data = work; + espDispOn(var_r31->unk_00); + espTPLvlSet(var_r31->unk_00, var_r31->unk_04); + var_r30 = HuPrcChildCreate(fn_1_254, 100, 5376, 0, HuPrcCurrentGet()); + var_r30->user_data = var_r31; } -static void FadeSprite(void) +void fn_1_254(void) { - FaderWork *work = HuPrcCurrentGet()->user_data; + UnkPresentStruct6 *var_r31; + var_r31 = HuPrcCurrentGet()->user_data; while (TRUE) { - work->tplvl = work->tplvl + work->speed; - if (work->tplvl > 1.0f) { - work->tplvl = 1.0f; + var_r31->unk_04 = var_r31->unk_04 + var_r31->unk_08; + if (var_r31->unk_04 > 1.0f) { + var_r31->unk_04 = 1.0f; break; - } - else if (work->tplvl < 0.0f) { - work->tplvl = 0.0f; + } else if (var_r31->unk_04 < 0.0f) { + var_r31->unk_04 = 0.0f; break; - } - else { - espTPLvlSet(work->id, work->tplvl); + } else { + espTPLvlSet(var_r31->unk_00, var_r31->unk_04); HuPrcVSleep(); } } - espTPLvlSet(work->id, work->tplvl); - if (work->speed < 0.0f) { - espDispOff(work->id); - } - HuMemDirectFree(work); - HuPrcEnd(); -} - -void FadeSpriteWithMultiplier(s16 model, BOOL inF, float tpMultiplier, s32 duration) -{ - Process *process; - // bug: wrong struct in sizeof - FaderWork2 *work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(FaderWork), MEMORY_DEFAULT_NUM); - work->id = model; - work->speed = 1.0f / duration; - work->tpMultiplier = tpMultiplier; - - if (inF) { - work->speed = work->speed; - work->tplvl = 0.0f; - } - else { - work->speed = -work->speed; - work->tplvl = 1.0f; - } - Hu3DModelTPLvlSet(work->id, work->tplvl * work->tpMultiplier); - Hu3DModelAttrReset(work->id, HU3D_ATTR_DISPOFF); - process = HuPrcChildCreate(FadeModel, 100, 5376, 0, HuPrcCurrentGet()); - process->user_data = work; -} - -static void FadeModel(void) -{ - FaderWork2 *var_r31 = HuPrcCurrentGet()->user_data; - - while (TRUE) { - var_r31->tplvl += var_r31->speed; - if (var_r31->tplvl > 1.0f) { - var_r31->tplvl = 1.0f; - break; - } - else if (var_r31->tplvl < 0.0f) { - var_r31->tplvl = 0.0f; - break; - } - else { - Hu3DModelTPLvlSet(var_r31->id, var_r31->tplvl * var_r31->tpMultiplier); - HuPrcVSleep(); - } - } - Hu3DModelTPLvlSet(var_r31->id, var_r31->tplvl * var_r31->tpMultiplier); - if (var_r31->speed < 0.0f) { - Hu3DModelAttrSet(var_r31->id, HU3D_ATTR_DISPOFF); + espTPLvlSet(var_r31->unk_00, var_r31->unk_04); + if (var_r31->unk_08 < 0.0f) { + espDispOff(var_r31->unk_00); } HuMemDirectFree(var_r31); HuPrcEnd(); } -BOOL PresentPadCheck(u16 btn) +void fn_1_334(s16 arg0, s32 arg1, float arg8, s32 arg2) { - u32 pressed = HuPadBtnDown[0] & btn; - return pressed != 0; + Process *var_r30; + UnkPresentStruct6Weird *var_r31; // TODO correct type? why are only 12 bytes allocated? + var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 12, MEMORY_DEFAULT_NUM); + var_r31->unk_00 = arg0; + var_r31->unk_0C = 1.0f / arg2; + var_r31->unk_04 = arg8; + + if (arg1) { + var_r31->unk_0C = var_r31->unk_0C; + var_r31->unk_08 = 0.0f; + } else { + var_r31->unk_0C = -var_r31->unk_0C; + var_r31->unk_08 = 1.0f; + } + Hu3DModelTPLvlSet(var_r31->unk_00, var_r31->unk_08 * var_r31->unk_04); + Hu3DModelAttrReset(var_r31->unk_00, 1); + var_r30 = HuPrcChildCreate(fn_1_45C, 100, 5376, 0, HuPrcCurrentGet()); + var_r30->user_data = var_r31; } -BOOL PresentPadDStkRepCheck(u16 dir) +void fn_1_45C(void) { - u32 pressed = HuPadDStkRep[0] & dir; - return pressed != 0; + UnkPresentStruct6Weird *var_r31; // TODO correct type? how is 0C possible? + + var_r31 = HuPrcCurrentGet()->user_data; + while (TRUE) { + var_r31->unk_08 = var_r31->unk_08 + var_r31->unk_0C; + if (var_r31->unk_08 > 1.0f) { + var_r31->unk_08 = 1.0f; + break; + } else if (var_r31->unk_08 < 0.0f) { + var_r31->unk_08 = 0.0f; + break; + } else { + Hu3DModelTPLvlSet(var_r31->unk_00, var_r31->unk_08 * var_r31->unk_04); + HuPrcVSleep(); + } + } + Hu3DModelTPLvlSet(var_r31->unk_00, var_r31->unk_08 * var_r31->unk_04); + if (var_r31->unk_0C < 0.0f) { + Hu3DModelAttrSet(var_r31->unk_00, 1); + } + HuMemDirectFree(var_r31); + HuPrcEnd(); } -BOOL PresentPadDStkCheck(u16 dir) +u32 fn_1_550(u16 arg0) { - u32 pressed = HuPadDStk[0] & dir; - return pressed != 0; + u32 var_r31; + + var_r31 = HuPadBtnDown[0] & arg0; + return var_r31 != 0; } -static void SceneMain(omObjData *object) +u32 fn_1_584(u16 arg0) +{ + u32 var_r31; + + var_r31 = HuPadDStkRep[0] & arg0; + return var_r31 != 0; +} + +u32 fn_1_5B8(u16 arg0) +{ + u32 var_r31; + + var_r31 = HuPadDStk[0] & arg0; + return var_r31 != 0; +} + +void fn_1_5EC(omObjData *object) { switch (object->unk10) { - case 0: - object->unk10 = 1; - case 1: - if (!omSysExitReq) { - break; - } - object->unk10 = 2; - case 2: - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - HuAudFadeOut(1000); - object->unk10 = 3; - break; - case 3: - if (!WipeStatGet()) { - PresentStateKill(presentState); - omOvlReturnEx(1, 1); - } - break; - default: + case 0: + object->unk10 = 1; + case 1: + if (!omSysExitReq) { break; + } + object->unk10 = 2; + case 2: + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + HuAudFadeOut(1000); + object->unk10 = 3; + break; + case 3: + if (!WipeStatGet()) { + fn_1_3B18(lbl_1_bss_18); + omOvlReturnEx(1, 1); + } + break; + default: + break; } } diff --git a/src/REL/present/main.c b/src/REL/present/main.c index 7fafc79b..6542a7b7 100644 --- a/src/REL/present/main.c +++ b/src/REL/present/main.c @@ -7,314 +7,304 @@ #include "REL/present.h" -typedef struct StateWork { - /* 0x00 */ PresentWindow *window; - /* 0x04 */ s32 quitTimer; -} StateWork; /* size = 0x08 */ +omObjData *lbl_1_bss_20; -typedef struct UnkShadowDataStruct { - /* 0x00 */ Vec camPos; - /* 0x0C */ Vec camUp; - /* 0x18 */ Vec camTarget; -} UnkShadowDataStruct; /* size = 0x24 */ +UnkPresentStruct4 lbl_1_data_F0 = { { 0.0f, 3000.0f, 1.0f }, { 0.0f, 1.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } }; -omObjData *presentGuide; +void fn_1_3B8C(omObjData *object); +void fn_1_3DB8(omObjData *object); +void fn_1_4040(UnkWindowDataStruct *arg0); +void fn_1_4190(UnkWindowDataStruct *arg0); +void fn_1_41E0(void); +void fn_1_41BC(UnkWindowDataStruct *arg0, s32 arg1); -static UnkShadowDataStruct shadow = { - { 0.0f, 3000.0f, 1.0f }, - { 0.0f, 1.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, -}; - -static void ExecPresentView(omObjData *object); -static void ExecPresentGet(omObjData *object); -void PresentWinDispOff(PresentWindow *work); -void PresentWinChoiceSet(PresentWindow *work, s32 choice); -static void ExecWindow(void); - -omObjData *PresentStateCreate(void) +omObjData *fn_1_39A8(void) { - omObjData *object = omAddObjEx(presentObjMan, 1000, 0, 0, 4, NULL); - StateWork *work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(StateWork), MEMORY_DEFAULT_NUM); - object->data = work; + omObjData *object; + UnkPresentStruct *var_r30; - work->quitTimer = 0; - presentCamera = PresentCameraCreate(); - present = PresentCreate(); - presentGuide = PresentGuideCreate(); - work->window = PresentWinCreate(0); + object = omAddObjEx(lbl_1_bss_4, 1000, 0, 0, 4, NULL); + var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkPresentStruct), MEMORY_DEFAULT_NUM); + object->data = var_r30; + var_r30->unk_04 = 0; + lbl_1_bss_8 = fn_1_6B4(); + lbl_1_bss_10 = fn_1_1458(); + lbl_1_bss_20 = fn_1_42F4(); + var_r30->unk_00 = fn_1_3EA4(0); Hu3DShadowCreate(30.0f, 20.0f, 5000.0f); Hu3DShadowTPLvlSet(0.45f); - Hu3DShadowPosSet(&shadow.camPos, &shadow.camUp, &shadow.camTarget); - + Hu3DShadowPosSet(&lbl_1_data_F0.unk_00, &lbl_1_data_F0.unk_0C, &lbl_1_data_F0.unk_18); if (omovlevtno > 0) { OSReport("*** PRESENTROOM ( PRESENT GET MODE ) ***\n"); - object->func = ExecPresentGet; + object->func = fn_1_3DB8; object->unk10 = 0; - } - else { + } else { OSReport("*** PRESENTROOM ( PRESENT VIEW MODE ) ***\n"); - object->func = ExecPresentView; + object->func = fn_1_3B8C; object->unk10 = 0; } return object; } -void PresentStateKill(omObjData *object) +void fn_1_3B18(omObjData *object) { - PresentWindow **var_r31 = object->data; + UnkWindowDataStruct **var_r31; - PresentCameraKill(presentCamera); - PresentKill(present); - PresentGuideKill(presentGuide); - PresentWinKill(*var_r31); + var_r31 = object->data; + fn_1_8F0(lbl_1_bss_8); + fn_1_1784(lbl_1_bss_10); + fn_1_4534(lbl_1_bss_20); + fn_1_4040(*var_r31); HuMemDirectFree(var_r31); } -static void ExecPresentView(omObjData *object) +void fn_1_3B8C(omObjData *object) { - StateWork *work = object->data; + UnkPresentStruct *var_r30; + + var_r30 = object->data; switch (object->unk10) { - case 0: - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - object->unk10 = 1; - case 1: - if (WipeStatGet()) { - return; - } - object->unk10 = 2; - case 2: - PresentExecModeSet(present, 1); - object->unk10 = 3; - case 3: - if (PresentExecModeGet(present)) { - return; - } - object->unk10 = 4; - case 4: - PresentGuideExecModeSet(presentGuide, PRESENT_GUIDE_MODE_ENTER); - object->unk10 = 5; - case 5: - if (PresentGuideExecModeGet(presentGuide)) { - return; - } - object->unk10 = 6; - case 6: - HuAudFXPlay(66); - PresentWinAnimIn(work->window); - PresentWinMesSet(work->window, MAKE_MESSID(0x32, 0x02)); - object->unk10 = 7; - case 7: - if (work->window->state) { - return; - } - PresentWinChoiceSet(work->window, 1); - object->unk10 = 8; - case 8: - if (work->window->state) { - return; - } - PresentWinAnimOut(work->window); - if (!work->window->choice) { - work->quitTimer = 0; - object->unk10 = 11; - return; - } - else { - object->unk10 = 9; - return; - } - case 9: - PresentGuideExecModeSet(presentGuide, PRESENT_GUIDE_MODE_LEAVE); - object->unk10 = 10; + case 0: + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + object->unk10 = 1; + case 1: + if (WipeStatGet()) { return; - case 10: - if (PresentGuideExecModeGet(presentGuide)) { - return; - } - object->unk10 = 2; + } + object->unk10 = 2; + case 2: + fn_1_180C(lbl_1_bss_10, 1); + object->unk10 = 3; + case 3: + if (fn_1_1850(lbl_1_bss_10)) { return; - case 11: - object->unk10 = 12; - work->quitTimer = 0; - case 12: - if (work->window->state) { - return; - } - if (work->quitTimer++ >= 60) { - omSysExitReq = 1; - object->func = NULL; - object->unk10 = 0; - } - default: - break; - } -} - -static void ExecPresentGet(omObjData *object) -{ - void *sp8 = object->data; - - switch (object->unk10) { - case 0: - PresentSelectedIDSet(present, omovlevtno - 1); - object->unk10 = 1; - case 1: - PresentExecModeSet(present, PRESENT_MODE_GET); - object->unk10 = 2; - case 2: - if (PresentExecModeGet(present) == PRESENT_MODE_NONE) { - object->unk10 = 3; - } - else { - break; - } - case 3: - object->unk10 = 4; - case 4: + } + object->unk10 = 4; + case 4: + fn_1_45C0(lbl_1_bss_20, 1); + object->unk10 = 5; + case 5: + if (fn_1_4604(lbl_1_bss_20)) { + return; + } + object->unk10 = 6; + case 6: + HuAudFXPlay(66); + fn_1_4080(var_r30->unk_00); + fn_1_40B0(var_r30->unk_00, 0x320002); + object->unk10 = 7; + case 7: + if (var_r30->unk_00->unk_20) { + return; + } + fn_1_41BC(var_r30->unk_00, 1); + object->unk10 = 8; + case 8: + if (var_r30->unk_00->unk_20) { + return; + } + fn_1_4098(var_r30->unk_00); + if (!var_r30->unk_00->choice) { + var_r30->unk_04 = 0; + object->unk10 = 11; + return; + } else { + object->unk10 = 9; + return; + } + case 9: + fn_1_45C0(lbl_1_bss_20, 2); + object->unk10 = 10; + return; + case 10: + if (fn_1_4604(lbl_1_bss_20)) { + return; + } + object->unk10 = 2; + return; + case 11: + object->unk10 = 12; + var_r30->unk_04 = 0; + case 12: + if (var_r30->unk_00->unk_20) { + return; + } + if (var_r30->unk_04++ >= 60) { omSysExitReq = 1; object->func = NULL; object->unk10 = 0; - break; - default: - break; + } + default: + break; } } -PresentWindow *PresentWinCreate(s32 id) +void fn_1_3DB8(omObjData *arg0) { - PresentWindow *var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(PresentWindow), MEMORY_DEFAULT_NUM); + void *sp8; - var_r31->messToBeSet = 0; - var_r31->messWaitSignal = 0; - var_r31->choiceSignal = 0; - var_r31->state = 0; - var_r31->process = HuPrcChildCreate(ExecWindow, 1000, 8192, 0, presentObjMan); + sp8 = arg0->data; + switch (arg0->unk10) { + case 0: + fn_1_186C(lbl_1_bss_10, omovlevtno - 1); + arg0->unk10 = 1; + case 1: + fn_1_180C(lbl_1_bss_10, 3); + arg0->unk10 = 2; + case 2: + if (!fn_1_1850(lbl_1_bss_10)) { + arg0->unk10 = 3; + } else { + break; + } + case 3: + arg0->unk10 = 4; + case 4: + omSysExitReq = 1; + arg0->func = NULL; + arg0->unk10 = 0; + break; + default: + break; + } +} + +UnkWindowDataStruct *fn_1_3EA4(s32 arg0) +{ + UnkWindowDataStruct *var_r31; + + var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkWindowDataStruct), MEMORY_DEFAULT_NUM); + var_r31->unk18 = 0; + var_r31->unk10 = 0; + var_r31->unk14 = 0; + var_r31->unk_20 = 0; + var_r31->process = HuPrcChildCreate(fn_1_41E0, 1000, 8192, 0, lbl_1_bss_4); var_r31->process->user_data = var_r31; - var_r31->id = id; - switch (id) { - case 0: - var_r31->window = HuWinExCreateStyled(-10000.0f, 360.0f, 480, 80, -1, 1); - HuWinBGTPLvlSet(var_r31->window, 0.8f); - HuWinMesSpeedSet(var_r31->window, 0); - HuWinMesPalSet(var_r31->window, 7, 0, 0, 0); - break; - case 1: - var_r31->window = HuWinExCreateStyled(-10000.0f, 326.0f, 500, 40, -1, 0); - HuWinAttrSet(var_r31->window, 2048); - HuWinBGTPLvlSet(var_r31->window, 0.0f); - HuWinMesSpeedSet(var_r31->window, 0); - break; + var_r31->unk08 = arg0; + switch (arg0) { + case 0: + var_r31->window = HuWinExCreateStyled(-10000.0f, 360.0f, 480, 80, -1, 1); + HuWinBGTPLvlSet(var_r31->window, 0.8f); + HuWinMesSpeedSet(var_r31->window, 0); + HuWinMesPalSet(var_r31->window, 7, 0, 0, 0); + break; + case 1: + var_r31->window = HuWinExCreateStyled(-10000.0f, 326.0f, 500, 40, -1, 0); + HuWinAttrSet(var_r31->window, 2048); + HuWinBGTPLvlSet(var_r31->window, 0.0f); + HuWinMesSpeedSet(var_r31->window, 0); + break; } HuWinDrawNoSet(var_r31->window, 63); - PresentWinDispOff(var_r31); + fn_1_4190(var_r31); HuSprExecLayerSet(63, 2); return var_r31; } -void PresentWinKill(PresentWindow *work) +void fn_1_4040(UnkWindowDataStruct *windowData) { - HuWinExCleanup(work->window); - HuPrcKill(work->process); - HuMemDirectFree(work); + HuWinExCleanup(windowData->window); + HuPrcKill(windowData->process); + HuMemDirectFree(windowData); } -void PresentWinAnimIn(PresentWindow *work) +void fn_1_4080(UnkWindowDataStruct *windowData) { - if (!work->visible) { - work->state = 1; + if (!windowData->unk0C) { + windowData->unk_20 = 1; } } -void PresentWinAnimOut(PresentWindow *work) +void fn_1_4098(UnkWindowDataStruct *windowData) { - if (work->visible) { - work->state = 2; + if (windowData->unk0C) { + windowData->unk_20 = 2; } } -void PresentWinMesSet(PresentWindow *work, u32 mess) +void fn_1_40B0(UnkWindowDataStruct *windowData, u32 mess) { - if (!work->state) { - HuWinMesSet(work->window, mess); + if (!windowData->unk_20) { + HuWinMesSet(windowData->window, mess); return; } - work->messToBeSet = mess; + windowData->unk18 = mess; } -void PresentWinInsertMesSet(PresentWindow *work, u32 mess, s16 index) +void fn_1_4104(UnkWindowDataStruct *windowData, u32 mess, s16 index) { - HuWinInsertMesSet(work->window, mess, index); + HuWinInsertMesSet(windowData->window, mess, index); } -void PresentWinPosSet(PresentWindow *work, float x, float y) +void fn_1_4144(UnkWindowDataStruct *windowData, float x, float y) { - HuWinPosSet(work->window, x, y); + HuWinPosSet(windowData->window, x, y); } -void PresentWinDispOn(PresentWindow *work) +void fn_1_4184(UnkWindowDataStruct *windowData) { - work->visible = TRUE; + windowData->unk0C = 1; } -void PresentWinDispOff(PresentWindow *work) +void fn_1_4190(UnkWindowDataStruct *windowData) { - work->visible = FALSE; + windowData->unk0C = 0; } -void PresentWinMesWait(PresentWindow *work) +void fn_1_419C(UnkWindowDataStruct *windowData) { - if (!work->state) { - work->state = 3; + if (!windowData->unk_20) { + windowData->unk_20 = 3; } - work->messWaitSignal = 1; + windowData->unk10 = 1; } -void PresentWinChoiceSet(PresentWindow *work, s32 choice) +void fn_1_41BC(UnkWindowDataStruct *windowData, s32 arg1) { - if (!work->state) { - work->state = 4; + if (!windowData->unk_20) { + windowData->unk_20 = 4; } - work->choiceSignal = 1; - work->choice = choice; + windowData->unk14 = 1; + windowData->choice = arg1; } -static void ExecWindow(void) +void fn_1_41E0(void) { - PresentWindow *work = HuPrcCurrentGet()->user_data; + UnkWindowDataStruct *windowData; + windowData = HuPrcCurrentGet()->user_data; while (TRUE) { - switch (work->state) { - case 1: - work->visible = 1; - HuWinExAnimIn(work->window); - break; - case 2: - HuWinExAnimOut(work->window); - work->visible = 0; - break; - case 3: - winData[work->window].active_pad = 1; - HuWinMesWait(work->window); - work->messWaitSignal = 0; - break; - case 4: - work->choice = HuWinChoiceGet(work->window, work->choice); - work->choiceSignal = 0; - break; + switch (windowData->unk_20) { + case 1: + windowData->unk0C = 1; + HuWinExAnimIn(windowData->window); + break; + case 2: + HuWinExAnimOut(windowData->window); + windowData->unk0C = 0; + break; + case 3: + winData[windowData->window].active_pad = 1; + HuWinMesWait(windowData->window); + windowData->unk10 = 0; + break; + case 4: + windowData->choice = HuWinChoiceGet(windowData->window, windowData->choice); + windowData->unk14 = 0; + break; } - if (work->messToBeSet != 0) { - HuWinMesSet(work->window, work->messToBeSet); - work->messToBeSet = 0; + if (windowData->unk18 != 0) { + HuWinMesSet(windowData->window, windowData->unk18); + windowData->unk18 = 0; } - work->state = 0; - if (work->messWaitSignal != 0) { - work->state = 3; + windowData->unk_20 = 0; + if (windowData->unk10 != 0) { + windowData->unk_20 = 3; } - if (work->choiceSignal != 0) { - work->state = 4; + if (windowData->unk14 != 0) { + windowData->unk_20 = 4; } HuPrcVSleep(); } diff --git a/src/REL/present/present.c b/src/REL/present/present.c index b6d90dfc..51e47269 100644 --- a/src/REL/present/present.c +++ b/src/REL/present/present.c @@ -4,1124 +4,858 @@ #include "game/hsfdraw.h" #include "game/hsfex.h" #include "game/hsfman.h" -#include "game/window.h" #include "game/wipe.h" #include "REL/present.h" -#define CHARACTERS_MAX 8 +void fn_1_180C(omObjData *object, s32 arg1); +void fn_1_1928(omObjData *arg0); +void fn_1_1FA8(omObjData *object, s32 arg1); +void fn_1_20E8(omObjData *arg0); +void fn_1_268C(omObjData *object, float *arg1, float *arg2, float *arg3); +void fn_1_2708(omObjData *arg0, float arg8, s32 arg1); +void fn_1_2774(omObjData *arg0); +s32 fn_1_28F0(omObjData *object); +void fn_1_2924(omObjData *object); +s32 fn_1_2B84(omObjData *arg0, s32 arg1, s32 arg2); +s32 fn_1_2BCC(omObjData *object, s32 arg1); +s32 fn_1_2C5C(omObjData *object, s32 arg1); +s32 fn_1_3394(s32 arg0); +void fn_1_33AC(omObjData *arg0); +s32 fn_1_393C(s32 arg0, s32 arg1); -#define PRESENT_MDL_MAX 134 -#define PRESENT_MAX 60 +UnkPresentStruct3 lbl_1_data_50 = { { 0.0f, 400.0f, 0.0f }, { 0.0f, -400.0f, -500.0f }, { 255, 255, 255, 255 } }; +omObjFunc lbl_1_data_6C[] = { NULL, fn_1_1928, fn_1_20E8, fn_1_33AC }; -#define PRESENT_COUNT_CHAR_ROOM 6 -#define PRESENT_COUNT_MG_ROOM 11 +static const s32 lbl_1_rodata_A0[] = { 0x006E006C, 0x006E006B, 0x006E0000, 0x006E0001, 0x006E0002, 0x006E0003, 0x006E0004, 0x006E0005, 0x006E0006, + 0x006E0007, 0x006E0008, 0x006E0009, 0x006E000A, 0x006E000B, 0x006E000C, 0x006E000D, 0x006E000E, 0x006E000F, 0x006E0010, 0x006E0011, 0x006E0012, + 0x006E0013, 0x006E0014, 0x006E0015, 0x006E0016, 0x006E0017, 0x006E0018, 0x006E0019, 0x006E001A, 0x006E001B, 0x006E001C, 0x006E001D, 0x006E001E, + 0x006E001F, 0x006E0020, 0x006E0021, 0x006E0022, 0x006E0023, 0x006E0024, 0x006E0025, 0x006E0026, 0x006E0027, 0x006E0028, 0x006E0029, 0x006E002A, + 0x006E002B, 0x006E002C, 0x006E002D, 0x006E002E, 0x006E002F, 0x006E0030, 0x006E0031, 0x006E0032, 0x006E0033, 0x006E0034, 0x006E0035, 0x006E0036, + 0x006E0037, 0x006E0038, 0x006E0039, 0x006E003A, 0x006E003B, 0x006E003C, 0x006E003D, 0x006E003E, 0x006E003F, 0x006E0040, 0x006E0041, 0x006E0042, + 0x006E0043, 0x006E0044, 0x006E0045, 0x006E0046, 0x006E0047, 0x006E0048, 0x006E0049, 0x006E004A, 0x006E004B, 0x006E004C, 0x006E004D, 0x006E004E, + 0x006E004F, 0x006E0050, 0x006E0051, 0x006E0052, 0x006E0053, 0x006E0054, 0x006E0055, 0x006E0056, 0x006E0057, 0x006E0058, 0x006E0059, 0x006E005A, + 0x006E005B, 0x006E005C, 0x006E005D, 0x006E005E, 0x006E005F, 0x006E0060, 0x006E0061, 0x006E0062, 0x006E0063, 0x006E0064, 0x006E0065, 0x006E0066, + 0x006E0067, 0x006E0068, 0x006E0069, 0x006E006A, 0x006E006D, 0x006E006F, 0x006E0071, 0x006E0073, 0x006E0075, 0x006E0077, 0x006E0079, 0x006E007B, + 0x006E007D, 0x006E006E, 0x006E0070, 0x006E0072, 0x006E0074, 0x006E0076, 0x006E0078, 0x006E007A, 0x006E007C, 0x006E007F, 0x006E0080, 0x006E0081, + 0x006E0082, 0x006E0083, 0x006E0084, 0x006E0085, 0x006E0086 }; -#define PRESENT_CONSTELLATION 5 - -#define ROOM_MARIO 0 -#define ROOM_LUIGI 1 -#define ROOM_PEACH 2 -#define ROOM_YOSHI 3 -#define ROOM_WARIO 4 -#define ROOM_TROPHY 5 -#define ROOM_DK 6 -#define ROOM_DAISY 7 -#define ROOM_WALUIGI 8 -#define ROOM_MG 9 -#define ROOM_MAX 9 - -#define ROOM_CHANGE_LEFT 1 -#define ROOM_CHANGE_RIGHT 2 - -typedef struct PresentWork { - /* 0x00 */ BOOL cursorVisibleF; - /* 0x04 */ BOOL roomNotEmptyF; - /* 0x08 */ BOOL constellationSelF; - /* 0x0C */ s32 execMode; - /* 0x10 */ omObjData *object[PRESENT_MDL_MAX]; - /* 0x228 */ PresentWindow *presentDescWindow; - /* 0x22C */ PresentWindow *btnLegendWindow; - /* 0x230 */ s16 cursor; - /* 0x234 */ s32 room; - /* 0x238 */ s32 idxInRoom; - /* 0x23C */ float rot; - /* 0x240 */ float rotPrev; - /* 0x244 */ float rotTarget; - /* 0x248 */ float timeRot; - /* 0x24C */ float presentFallingTime; - /* 0x250 */ float rotSpeed; - /* 0x254 */ float presentFallingSpeed; - /* 0x258 */ float cursorTime; - /* 0x25C */ float cursorSpeed; - /* 0x260 */ Vec2f cursorPos; - /* 0x268 */ Vec2f newCursorPos; - /* 0x270 */ BOOL presentUnlockedF[PRESENT_MAX]; - /* 0x360 */ char unk360[4]; -} PresentWork; /* size = 0x364 */ - -typedef struct UnkLightDataStruct { - /* 0x00 */ Vec pos; - /* 0x0C */ Vec dest; - /* 0x18 */ GXColor color; -} UnkLightDataStruct; /* size = 0x1C */ // same as option::state::UnkLightDataStruct - -typedef struct PresentData { - /* 0x00 */ s32 cursorPosIdx; - /* 0x04 */ s32 unk04; - /* 0x08 */ s32 nameMess; - /* 0x0C */ s32 descMess; -} PresentData; /* size = 0x10 */ - -typedef struct RoomData { - /* 0x00 */ s32 presentCount; - /* 0x04 */ PresentData presentData[11]; -} RoomData; /* size = 0xB4 */ - -typedef struct PresentDistanceStruct { - /* 0x00 */ s32 present; - /* 0x04 */ float distance; -} PresentDistanceStruct; /* size = 0x08 */ - -static void ExecSelectRoom(omObjData *object); -static void ChangeRoom(omObjData *object, s32 direction); -static void ExecSelectPresent(omObjData *object); -static void GetCursorPos(omObjData *object, float *x, float *y, float *z); -static void SetCameraRot(omObjData *object, float rot, s32 duration); -static void RotateCamera(omObjData *object); -static BOOL CameraRotationDoneCheck(omObjData *object); -static void ShowHidePresents(omObjData *object); -static BOOL PresentUnlocked(omObjData *object, s32 room, s32 present); -static s32 UnlockedPresents(omObjData *object, s32 room); -static s32 MoveCursor(omObjData *object, s32 arg1); -static s32 TotalPresentsInRoom(s32 room); -static void ExecPresentGet(omObjData *object); -static s32 fn_1_393C(s32 arg0, s32 arg1); - -static UnkLightDataStruct lightTbl = { - { 0.0f, 400.0f, 0.0f }, - { 0.0f, -400.0f, -500.0f }, - { 255, 255, 255, 255 }, -}; -static omObjFunc execModeTbl[] = { NULL, ExecSelectRoom, ExecSelectPresent, ExecPresentGet }; - -static const s32 presentMdlTbl[PRESENT_MDL_MAX] = { - DATA_MAKE_NUM(DATADIR_PRESENT, 108), - DATA_MAKE_NUM(DATADIR_PRESENT, 107), - DATA_MAKE_NUM(DATADIR_PRESENT, 0), - DATA_MAKE_NUM(DATADIR_PRESENT, 1), - DATA_MAKE_NUM(DATADIR_PRESENT, 2), - DATA_MAKE_NUM(DATADIR_PRESENT, 3), - DATA_MAKE_NUM(DATADIR_PRESENT, 4), - DATA_MAKE_NUM(DATADIR_PRESENT, 5), - DATA_MAKE_NUM(DATADIR_PRESENT, 6), - DATA_MAKE_NUM(DATADIR_PRESENT, 7), - DATA_MAKE_NUM(DATADIR_PRESENT, 8), - DATA_MAKE_NUM(DATADIR_PRESENT, 9), - DATA_MAKE_NUM(DATADIR_PRESENT, 10), - DATA_MAKE_NUM(DATADIR_PRESENT, 11), - DATA_MAKE_NUM(DATADIR_PRESENT, 12), - DATA_MAKE_NUM(DATADIR_PRESENT, 13), - DATA_MAKE_NUM(DATADIR_PRESENT, 14), - DATA_MAKE_NUM(DATADIR_PRESENT, 15), - DATA_MAKE_NUM(DATADIR_PRESENT, 16), - DATA_MAKE_NUM(DATADIR_PRESENT, 17), - DATA_MAKE_NUM(DATADIR_PRESENT, 18), - DATA_MAKE_NUM(DATADIR_PRESENT, 19), - DATA_MAKE_NUM(DATADIR_PRESENT, 20), - DATA_MAKE_NUM(DATADIR_PRESENT, 21), - DATA_MAKE_NUM(DATADIR_PRESENT, 22), - DATA_MAKE_NUM(DATADIR_PRESENT, 23), - DATA_MAKE_NUM(DATADIR_PRESENT, 24), - DATA_MAKE_NUM(DATADIR_PRESENT, 25), - DATA_MAKE_NUM(DATADIR_PRESENT, 26), - DATA_MAKE_NUM(DATADIR_PRESENT, 27), - DATA_MAKE_NUM(DATADIR_PRESENT, 28), - DATA_MAKE_NUM(DATADIR_PRESENT, 29), - DATA_MAKE_NUM(DATADIR_PRESENT, 30), - DATA_MAKE_NUM(DATADIR_PRESENT, 31), - DATA_MAKE_NUM(DATADIR_PRESENT, 32), - DATA_MAKE_NUM(DATADIR_PRESENT, 33), - DATA_MAKE_NUM(DATADIR_PRESENT, 34), - DATA_MAKE_NUM(DATADIR_PRESENT, 35), - DATA_MAKE_NUM(DATADIR_PRESENT, 36), - DATA_MAKE_NUM(DATADIR_PRESENT, 37), - DATA_MAKE_NUM(DATADIR_PRESENT, 38), - DATA_MAKE_NUM(DATADIR_PRESENT, 39), - DATA_MAKE_NUM(DATADIR_PRESENT, 40), - DATA_MAKE_NUM(DATADIR_PRESENT, 41), - DATA_MAKE_NUM(DATADIR_PRESENT, 42), - DATA_MAKE_NUM(DATADIR_PRESENT, 43), - DATA_MAKE_NUM(DATADIR_PRESENT, 44), - DATA_MAKE_NUM(DATADIR_PRESENT, 45), - DATA_MAKE_NUM(DATADIR_PRESENT, 46), - DATA_MAKE_NUM(DATADIR_PRESENT, 47), - DATA_MAKE_NUM(DATADIR_PRESENT, 48), - DATA_MAKE_NUM(DATADIR_PRESENT, 49), - DATA_MAKE_NUM(DATADIR_PRESENT, 50), - DATA_MAKE_NUM(DATADIR_PRESENT, 51), - DATA_MAKE_NUM(DATADIR_PRESENT, 52), - DATA_MAKE_NUM(DATADIR_PRESENT, 53), - DATA_MAKE_NUM(DATADIR_PRESENT, 54), - DATA_MAKE_NUM(DATADIR_PRESENT, 55), - DATA_MAKE_NUM(DATADIR_PRESENT, 56), - DATA_MAKE_NUM(DATADIR_PRESENT, 57), - DATA_MAKE_NUM(DATADIR_PRESENT, 58), - DATA_MAKE_NUM(DATADIR_PRESENT, 59), - DATA_MAKE_NUM(DATADIR_PRESENT, 60), - DATA_MAKE_NUM(DATADIR_PRESENT, 61), - DATA_MAKE_NUM(DATADIR_PRESENT, 62), - DATA_MAKE_NUM(DATADIR_PRESENT, 63), - DATA_MAKE_NUM(DATADIR_PRESENT, 64), - DATA_MAKE_NUM(DATADIR_PRESENT, 65), - DATA_MAKE_NUM(DATADIR_PRESENT, 66), - DATA_MAKE_NUM(DATADIR_PRESENT, 67), - DATA_MAKE_NUM(DATADIR_PRESENT, 68), - DATA_MAKE_NUM(DATADIR_PRESENT, 69), - DATA_MAKE_NUM(DATADIR_PRESENT, 70), - DATA_MAKE_NUM(DATADIR_PRESENT, 71), - DATA_MAKE_NUM(DATADIR_PRESENT, 72), - DATA_MAKE_NUM(DATADIR_PRESENT, 73), - DATA_MAKE_NUM(DATADIR_PRESENT, 74), - DATA_MAKE_NUM(DATADIR_PRESENT, 75), - DATA_MAKE_NUM(DATADIR_PRESENT, 76), - DATA_MAKE_NUM(DATADIR_PRESENT, 77), - DATA_MAKE_NUM(DATADIR_PRESENT, 78), - DATA_MAKE_NUM(DATADIR_PRESENT, 79), - DATA_MAKE_NUM(DATADIR_PRESENT, 80), - DATA_MAKE_NUM(DATADIR_PRESENT, 81), - DATA_MAKE_NUM(DATADIR_PRESENT, 82), - DATA_MAKE_NUM(DATADIR_PRESENT, 83), - DATA_MAKE_NUM(DATADIR_PRESENT, 84), - DATA_MAKE_NUM(DATADIR_PRESENT, 85), - DATA_MAKE_NUM(DATADIR_PRESENT, 86), - DATA_MAKE_NUM(DATADIR_PRESENT, 87), - DATA_MAKE_NUM(DATADIR_PRESENT, 88), - DATA_MAKE_NUM(DATADIR_PRESENT, 89), - DATA_MAKE_NUM(DATADIR_PRESENT, 90), - DATA_MAKE_NUM(DATADIR_PRESENT, 91), - DATA_MAKE_NUM(DATADIR_PRESENT, 92), - DATA_MAKE_NUM(DATADIR_PRESENT, 93), - DATA_MAKE_NUM(DATADIR_PRESENT, 94), - DATA_MAKE_NUM(DATADIR_PRESENT, 95), - DATA_MAKE_NUM(DATADIR_PRESENT, 96), - DATA_MAKE_NUM(DATADIR_PRESENT, 97), - DATA_MAKE_NUM(DATADIR_PRESENT, 98), - DATA_MAKE_NUM(DATADIR_PRESENT, 99), - DATA_MAKE_NUM(DATADIR_PRESENT, 100), - DATA_MAKE_NUM(DATADIR_PRESENT, 101), - DATA_MAKE_NUM(DATADIR_PRESENT, 102), - DATA_MAKE_NUM(DATADIR_PRESENT, 103), - DATA_MAKE_NUM(DATADIR_PRESENT, 104), - DATA_MAKE_NUM(DATADIR_PRESENT, 105), - DATA_MAKE_NUM(DATADIR_PRESENT, 106), - DATA_MAKE_NUM(DATADIR_PRESENT, 109), - DATA_MAKE_NUM(DATADIR_PRESENT, 111), - DATA_MAKE_NUM(DATADIR_PRESENT, 113), - DATA_MAKE_NUM(DATADIR_PRESENT, 115), - DATA_MAKE_NUM(DATADIR_PRESENT, 117), - DATA_MAKE_NUM(DATADIR_PRESENT, 119), - DATA_MAKE_NUM(DATADIR_PRESENT, 121), - DATA_MAKE_NUM(DATADIR_PRESENT, 123), - DATA_MAKE_NUM(DATADIR_PRESENT, 125), - DATA_MAKE_NUM(DATADIR_PRESENT, 110), - DATA_MAKE_NUM(DATADIR_PRESENT, 112), - DATA_MAKE_NUM(DATADIR_PRESENT, 114), - DATA_MAKE_NUM(DATADIR_PRESENT, 116), - DATA_MAKE_NUM(DATADIR_PRESENT, 118), - DATA_MAKE_NUM(DATADIR_PRESENT, 120), - DATA_MAKE_NUM(DATADIR_PRESENT, 122), - DATA_MAKE_NUM(DATADIR_PRESENT, 124), - DATA_MAKE_NUM(DATADIR_PRESENT, 127), - DATA_MAKE_NUM(DATADIR_PRESENT, 128), - DATA_MAKE_NUM(DATADIR_PRESENT, 129), - DATA_MAKE_NUM(DATADIR_PRESENT, 130), - DATA_MAKE_NUM(DATADIR_PRESENT, 131), - DATA_MAKE_NUM(DATADIR_PRESENT, 132), - DATA_MAKE_NUM(DATADIR_PRESENT, 133), - DATA_MAKE_NUM(DATADIR_PRESENT, 134), +static const UnkPresentNestedOuterStruct lbl_1_rodata_2B8[] = { + { 0x00000006, { { 0x00000002, 0x00000008, 0x00320006, 0x00320042 }, { 0x00000003, 0x00000009, 0x00320007, 0x00320043 }, + { 0x00000004, 0x0000000A, 0x00320008, 0x00320044 }, { 0x00000005, 0x0000000B, 0x00320009, 0x00320045 }, + { 0x00000006, 0x0000000C, 0x0032000A, 0x00320046 }, { 0x00000007, 0x0000000D, 0x0032000B, 0x00320047 }, + }, + }, + { 0x00000006, { { 0x0000000E, 0x00000014, 0x0032000C, 0x00320048 }, { 0x0000000F, 0x00000015, 0x0032000D, 0x00320049 }, + { 0x00000010, 0x00000016, 0x0032000E, 0x0032004A }, { 0x00000011, 0x00000017, 0x0032000F, 0x0032004B }, + { 0x00000012, 0x00000018, 0x00320010, 0x0032004C }, { 0x00000013, 0x00000019, 0x00320011, 0x0032004D }, + }, + }, + { 0x00000006, { { 0x0000001A, 0x00000020, 0x00320012, 0x0032004E }, { 0x0000001B, 0x00000021, 0x00320013, 0x0032004F }, + { 0x0000001C, 0x00000022, 0x00320014, 0x00320050 }, { 0x0000001D, 0x00000023, 0x00320015, 0x00320051 }, + { 0x0000001E, 0x00000024, 0x00320016, 0x00320052 }, { 0x0000001F, 0x00000025, 0x00320017, 0x00320053 }, + }, + }, + { 0x00000006, { { 0x00000026, 0x0000002C, 0x00320018, 0x00320054 }, { 0x00000027, 0x0000002D, 0x00320019, 0x00320055 }, + { 0x00000028, 0x0000002E, 0x0032001A, 0x00320056 }, { 0x00000029, 0x0000002F, 0x0032001B, 0x00320057 }, + { 0x0000002A, 0x00000030, 0x0032001C, 0x00320058 }, { 0x0000002B, 0x00000031, 0x0032001D, 0x00320059 }, + }, + }, + { 0x00000006, { { 0x00000032, 0x00000038, 0x0032001E, 0x0032005A }, { 0x00000033, 0x00000039, 0x0032001F, 0x0032005B }, + { 0x00000034, 0x0000003A, 0x00320020, 0x0032005C }, { 0x00000035, 0x0000003B, 0x00320021, 0x0032005D }, + { 0x00000036, 0x0000003C, 0x00320022, 0x0032005E }, { 0x00000037, 0x0000003D, 0x00320023, 0x0032005F }, + }, + }, + { 0x00000001, { { 0x00000001, 0xFFFFFFFF, 0x00320041, 0x00320041 } } }, + { 0x00000006, { { 0x0000003E, 0x00000044, 0x00320024, 0x00320060 }, { 0x0000003F, 0x00000045, 0x00320025, 0x00320061 }, + { 0x00000040, 0x00000046, 0x00320026, 0x00320062 }, { 0x00000041, 0x00000047, 0x00320027, 0x00320063 }, + { 0x00000042, 0x00000048, 0x00320028, 0x00320064 }, { 0x00000043, 0x00000049, 0x00320029, 0x00320065 }, + }, + }, + { 0x00000006, { { 0x0000004A, 0x00000050, 0x0032002A, 0x00320066 }, { 0x0000004B, 0x00000051, 0x0032002B, 0x00320067 }, + { 0x0000004C, 0x00000052, 0x0032002C, 0x00320068 }, { 0x0000004D, 0x00000053, 0x0032002D, 0x00320069 }, + { 0x0000004E, 0x00000054, 0x0032002E, 0x0032006A }, { 0x0000004F, 0x00000055, 0x0032002F, 0x0032006B }, + }, + }, + { 0x00000006, { { 0x00000056, 0x0000005C, 0x00320030, 0x0032006C }, { 0x00000057, 0x0000005D, 0x00320031, 0x0032006D }, + { 0x00000058, 0x0000005E, 0x00320032, 0x0032006E }, { 0x00000059, 0x0000005F, 0x00320033, 0x0032006F }, + { 0x0000005A, 0x00000060, 0x00320034, 0x00320070 }, { 0x0000005B, 0x00000061, 0x00320035, 0x00320071 }, + }, + }, + { 0x0000000B, { { 0x00000062, 0xFFFFFFFF, 0x00320036, 0x00320072 }, { 0x00000063, 0xFFFFFFFF, 0x00320037, 0x00320073 }, + { 0x00000064, 0xFFFFFFFF, 0x00320038, 0x00320074 }, { 0x00000065, 0xFFFFFFFF, 0x00320039, 0x00320075 }, + { 0x00000066, 0xFFFFFFFF, 0x0032003A, 0x00320076 }, { 0x00000067, 0xFFFFFFFF, 0x0032003B, 0x00320077 }, + { 0x00000068, 0xFFFFFFFF, 0x0032003C, 0x00320078 }, { 0x00000069, 0xFFFFFFFF, 0x0032003D, 0x00320079 }, + { 0x0000006A, 0xFFFFFFFF, 0x0032003E, 0x0032007A }, { 0x0000006B, 0xFFFFFFFF, 0x0032003F, 0x0032007B }, + { 0x0000006C, 0xFFFFFFFF, 0x00320040, 0x0032007C } + }, + }, }; -static const RoomData roomTbl[10] = { - { - 0x00000006, - { - { 0x00000002, 0x00000008, 0x00320006, 0x00320042 }, - { 0x00000003, 0x00000009, 0x00320007, 0x00320043 }, - { 0x00000004, 0x0000000A, 0x00320008, 0x00320044 }, - { 0x00000005, 0x0000000B, 0x00320009, 0x00320045 }, - { 0x00000006, 0x0000000C, 0x0032000A, 0x00320046 }, - { 0x00000007, 0x0000000D, 0x0032000B, 0x00320047 }, - }, - }, - { - 0x00000006, - { - { 0x0000000E, 0x00000014, 0x0032000C, 0x00320048 }, - { 0x0000000F, 0x00000015, 0x0032000D, 0x00320049 }, - { 0x00000010, 0x00000016, 0x0032000E, 0x0032004A }, - { 0x00000011, 0x00000017, 0x0032000F, 0x0032004B }, - { 0x00000012, 0x00000018, 0x00320010, 0x0032004C }, - { 0x00000013, 0x00000019, 0x00320011, 0x0032004D }, - }, - }, - { - 0x00000006, - { - { 0x0000001A, 0x00000020, 0x00320012, 0x0032004E }, - { 0x0000001B, 0x00000021, 0x00320013, 0x0032004F }, - { 0x0000001C, 0x00000022, 0x00320014, 0x00320050 }, - { 0x0000001D, 0x00000023, 0x00320015, 0x00320051 }, - { 0x0000001E, 0x00000024, 0x00320016, 0x00320052 }, - { 0x0000001F, 0x00000025, 0x00320017, 0x00320053 }, - }, - }, - { - 0x00000006, - { - { 0x00000026, 0x0000002C, 0x00320018, 0x00320054 }, - { 0x00000027, 0x0000002D, 0x00320019, 0x00320055 }, - { 0x00000028, 0x0000002E, 0x0032001A, 0x00320056 }, - { 0x00000029, 0x0000002F, 0x0032001B, 0x00320057 }, - { 0x0000002A, 0x00000030, 0x0032001C, 0x00320058 }, - { 0x0000002B, 0x00000031, 0x0032001D, 0x00320059 }, - }, - }, - { - 0x00000006, - { - { 0x00000032, 0x00000038, 0x0032001E, 0x0032005A }, - { 0x00000033, 0x00000039, 0x0032001F, 0x0032005B }, - { 0x00000034, 0x0000003A, 0x00320020, 0x0032005C }, - { 0x00000035, 0x0000003B, 0x00320021, 0x0032005D }, - { 0x00000036, 0x0000003C, 0x00320022, 0x0032005E }, - { 0x00000037, 0x0000003D, 0x00320023, 0x0032005F }, - }, - }, - { - 0x00000001, - { { 0x00000001, 0xFFFFFFFF, 0x00320041, 0x00320041 } }, - }, - { - 0x00000006, - { - { 0x0000003E, 0x00000044, 0x00320024, 0x00320060 }, - { 0x0000003F, 0x00000045, 0x00320025, 0x00320061 }, - { 0x00000040, 0x00000046, 0x00320026, 0x00320062 }, - { 0x00000041, 0x00000047, 0x00320027, 0x00320063 }, - { 0x00000042, 0x00000048, 0x00320028, 0x00320064 }, - { 0x00000043, 0x00000049, 0x00320029, 0x00320065 }, - }, - }, - { - 0x00000006, - { - { 0x0000004A, 0x00000050, 0x0032002A, 0x00320066 }, - { 0x0000004B, 0x00000051, 0x0032002B, 0x00320067 }, - { 0x0000004C, 0x00000052, 0x0032002C, 0x00320068 }, - { 0x0000004D, 0x00000053, 0x0032002D, 0x00320069 }, - { 0x0000004E, 0x00000054, 0x0032002E, 0x0032006A }, - { 0x0000004F, 0x00000055, 0x0032002F, 0x0032006B }, - }, - }, - { - 0x00000006, - { - { 0x00000056, 0x0000005C, 0x00320030, 0x0032006C }, - { 0x00000057, 0x0000005D, 0x00320031, 0x0032006D }, - { 0x00000058, 0x0000005E, 0x00320032, 0x0032006E }, - { 0x00000059, 0x0000005F, 0x00320033, 0x0032006F }, - { 0x0000005A, 0x00000060, 0x00320034, 0x00320070 }, - { 0x0000005B, 0x00000061, 0x00320035, 0x00320071 }, - }, - }, - { - 0x0000000B, - { - { 0x00000062, 0xFFFFFFFF, 0x00320036, 0x00320072 }, - { 0x00000063, 0xFFFFFFFF, 0x00320037, 0x00320073 }, - { 0x00000064, 0xFFFFFFFF, 0x00320038, 0x00320074 }, - { 0x00000065, 0xFFFFFFFF, 0x00320039, 0x00320075 }, - { 0x00000066, 0xFFFFFFFF, 0x0032003A, 0x00320076 }, - { 0x00000067, 0xFFFFFFFF, 0x0032003B, 0x00320077 }, - { 0x00000068, 0xFFFFFFFF, 0x0032003C, 0x00320078 }, - { 0x00000069, 0xFFFFFFFF, 0x0032003D, 0x00320079 }, - { 0x0000006A, 0xFFFFFFFF, 0x0032003E, 0x0032007A }, - { 0x0000006B, 0xFFFFFFFF, 0x0032003F, 0x0032007B }, - { 0x0000006C, 0xFFFFFFFF, 0x00320040, 0x0032007C }, - }, - }, -}; - -omObjData *PresentCreate(void) +omObjData *fn_1_1458(void) { - s32 i; - s32 j; - s16 lightId; - LightData *lightData; + UnkPresentStruct2 *var_r31; + s32 var_r30; + omObjData *var_r29; + s32 var_r28; + s16 var_r27; + LightData *var_r26; - omObjData *object = omAddObjEx(presentObjMan, 1003, 0, 0, 1, NULL); - PresentWork *work = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(PresentWork), MEMORY_DEFAULT_NUM); - object->data = work; - work->room = 0; - work->idxInRoom = 0; - work->rot = 0.0f; - work->timeRot = 1.0f; - work->rotSpeed = 0.0f; + var_r29 = omAddObjEx(lbl_1_bss_4, 1003, 0, 0, 1, NULL); + var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 868, MEMORY_DEFAULT_NUM); + var_r29->data = var_r31; + var_r31->unk_234 = 0; + var_r31->unk_238 = 0; + var_r31->unk_23C = 0.0f; + var_r31->unk_248 = 1.0f; + var_r31->unk_250 = 0.0f; - for (i = 0; i < PRESENT_MAX; i++) { - work->presentUnlockedF[i] = GWGameStat.present[i]; + for (var_r30 = 0; var_r30 < 60; var_r30++) { + var_r31->unk_270[var_r30] = GWGameStat.present[var_r30]; } - for (i = 0; i < PRESENT_MAX - 1; i++) { - if (!work->presentUnlockedF[i]) { + for (var_r30 = 0; var_r30 < 59; var_r30++) { + if (!var_r31->unk_270[var_r30]) { break; } } - if (i == PRESENT_MAX - 1) { - work->presentUnlockedF[PRESENT_MAX - 1] = TRUE; + if (var_r30 == 59) { + var_r31->unk_270[59] = 1; } Hu3DLighInit(); - lightId = Hu3DGLightCreateV(&lightTbl.pos, &lightTbl.dest, &lightTbl.color); - Hu3DGLightInfinitytSet(lightId); - Hu3DGLightStaticSet(lightId, 1); - lightData = &Hu3DGlobalLight[lightId]; - lightData->unk_00 |= 0x8000; + var_r27 = Hu3DGLightCreateV(&lbl_1_data_50.unk_00, &lbl_1_data_50.unk_0C, &lbl_1_data_50.unk_18); + Hu3DGLightInfinitytSet(var_r27); + Hu3DGLightStaticSet(var_r27, 1); + var_r26 = &Hu3DGlobalLight[var_r27]; + var_r26->unk_00 = var_r26->unk_00 | 0x8000; - for (i = 0; i < PRESENT_MDL_MAX; i++) { - work->object[i] = omAddObjEx(presentObjMan, 1003, 1, 0, 1, NULL); - work->object[i]->model[0] = Hu3DModelCreateFile(presentMdlTbl[i]); - Hu3DModelLayerSet(work->object[i]->model[0], 0); - Hu3DModelAttrSet(work->object[i]->model[0], HU3D_ATTR_DISPOFF); + for (var_r30 = 0; var_r30 < 134; var_r30++) { + var_r31->unk_10[var_r30] = omAddObjEx(lbl_1_bss_4, 1003, 1, 0, 1, NULL); + var_r31->unk_10[var_r30]->model[0] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_rodata_A0[var_r30], MEMORY_DEFAULT_NUM, HEAP_DATA)); + Hu3DModelLayerSet(var_r31->unk_10[var_r30]->model[0], 0); + Hu3DModelAttrSet(var_r31->unk_10[var_r30]->model[0], 1); } - for (j = 0; j < 8; j++) { - for (i = 0; i < 6; i++) { - Hu3DModelLayerSet(work->object[i + 2 + j * 6 * 2]->model[0], 1); + for (var_r28 = 0; var_r28 < 8; var_r28++) { + for (var_r30 = 0; var_r30 < 6; var_r30++) { + Hu3DModelLayerSet(var_r31->unk_10[var_r30 + 2 + var_r28 * 6 * 2]->model[0], 1); } } - Hu3DModelShadowMapSet(work->object[0]->model[0]); - ShowHidePresents(object); - work->cursor = espEntry(DATA_MAKE_NUM(DATADIR_PRESENT, 135), 0, 0); - espDispOff(work->cursor); - work->presentDescWindow = PresentWinCreate(0); - work->btnLegendWindow = PresentWinCreate(1); - SetCameraRot(object, work->room * 36.0f, 1); - RotateCamera(object); - PresentExecModeSet(object, PRESENT_MODE_NONE); + Hu3DModelShadowMapSet(var_r31->unk_10[0]->model[0]); + fn_1_2924(var_r29); + var_r31->sprite = espEntry(7209095, 0, 0); + espDispOff(var_r31->sprite); + var_r31->unk_228 = fn_1_3EA4(0); + var_r31->unk_22C = fn_1_3EA4(1); + fn_1_2708(var_r29, var_r31->unk_234 * 36.0f, 1); + fn_1_2774(var_r29); + fn_1_180C(var_r29, 0); - (void)lightId; - return object; + (void)var_r27; + return var_r29; } -void PresentKill(omObjData *object) +void fn_1_1784(omObjData *object) { - s32 i; + UnkPresentStruct2 *var_r31; + s32 var_r30; + void *var_r29; - PresentWork *work = object->data; - PresentWinKill(work->presentDescWindow); - PresentWinKill(work->btnLegendWindow); + var_r31 = object->data; + fn_1_4040(var_r31->unk_228); + fn_1_4040(var_r31->unk_22C); - for (i = 0; i < PRESENT_MDL_MAX; i++) { - Hu3DModelKill(work->object[i]->model[0]); + for (var_r30 = 0; var_r30 < 134; var_r30++) { + Hu3DModelKill(var_r31->unk_10[var_r30]->model[0]); } - espKill(work->cursor); - HuMemDirectFree(work); + espKill(var_r31->sprite); + HuMemDirectFree(var_r31); } -void PresentExecModeSet(omObjData *object, s32 execMode) +void fn_1_180C(omObjData *object, s32 arg1) { - PresentWork *work = object->data; + UnkPresentStruct2 *var_r31; - work->execMode = execMode; - object->func = execModeTbl[execMode]; + var_r31 = object->data; + var_r31->unk_0C = arg1; + object->func = lbl_1_data_6C[arg1]; object->unk10 = 0; object->unk10 = 0; } -s32 PresentExecModeGet(omObjData *object) +s32 fn_1_1850(omObjData *object) { - PresentWork *work = object->data; - return work->execMode; + UnkPresentStruct2 *var_r31; + + var_r31 = object->data; + return var_r31->unk_0C; } -static const s32 roomIdxTbl[CHARACTERS_MAX] = { - ROOM_MARIO, - ROOM_LUIGI, - ROOM_PEACH, - ROOM_YOSHI, - ROOM_WARIO, - ROOM_DK, - ROOM_DAISY, - ROOM_WALUIGI, -}; +static const s32 lbl_1_rodata_9D8[] = { 0, 1, 2, 3, 4, 6, 7, 8 }; +static const s32 lbl_1_rodata_9F8[] = { 0, 1, 2, 3, 4, 0, 5, 6, 7, 0 }; -void PresentSelectedIDSet(omObjData *object, s32 id) +void fn_1_186C(omObjData *object, s32 arg1) { - PresentWork *work = object->data; + UnkPresentStruct2 *var_r31; - if (id < 48) { - work->room = roomIdxTbl[id / PRESENT_COUNT_CHAR_ROOM]; - work->idxInRoom = id % PRESENT_COUNT_CHAR_ROOM; + var_r31 = object->data; + if (arg1 < 48) { + var_r31->unk_234 = lbl_1_rodata_9D8[arg1 / 6]; + var_r31->unk_238 = arg1 % 6; return; } - if (id < 59) { - work->room = ROOM_MG; - work->idxInRoom = (id - 48) % PRESENT_COUNT_MG_ROOM; + if (arg1 < 59) { + var_r31->unk_234 = 9; + var_r31->unk_238 = (arg1 - 48) % 11; return; } - work->room = ROOM_TROPHY; - work->idxInRoom = 0; + var_r31->unk_234 = 5; + var_r31->unk_238 = 0; } -static const s32 roomMessTbl[] = { 0, 1, 2, 3, 4, 0, 5, 6, 7, 0 }; - -static void ExecSelectRoom(omObjData *object) +void fn_1_1928(omObjData *object) { - Vec cursorPos; - s32 mess; - - PresentWork *work = object->data; + Vec sp8; + UnkPresentStruct2 *var_r31; + s32 var_r29; + UnkPresentStruct2 *var_r28; + var_r31 = object->data; switch (object->unk10) { - case 0: - work->cursorVisibleF = FALSE; - work->constellationSelF = FALSE; - object->unk10 = 1; - case 1: - if (work->constellationSelF) { - PresentCameraTargetSet(presentCamera, 0.0f, 220.0f, 250.0f, 30); - PresentCameraFocusSet(presentCamera, 0.0f, 420.0f, -600.0f, 30); + case 0: + var_r31->unk_00 = 0; + var_r31->unk_08 = 0; + object->unk10 = 1; + case 1: + if (var_r31->unk_08) { + fn_1_920(lbl_1_bss_8, 0.0f, 220.0f, 250.0f, 30); + fn_1_9A4(lbl_1_bss_8, 0.0f, 420.0f, -600.0f, 30); + } else { + fn_1_920(lbl_1_bss_8, 0.0f, 220.0f, 250.0f, 30); + fn_1_9A4(lbl_1_bss_8, 0.0f, 0.0f, -600.0f, 30); + } + object->unk10 = 2; + case 2: + if (!fn_1_B6C(lbl_1_bss_8) && !var_r31->unk_228->unk_20 && !fn_1_28F0(object)) { + fn_1_4080(var_r31->unk_228); + fn_1_4080(var_r31->unk_22C); + if (var_r31->unk_08) { + var_r29 = 0x320080; + } else if (var_r31->unk_234 == 5) { + var_r29 = 0x320085; + } else { + var_r29 = 0x32007e; } - else { - PresentCameraTargetSet(presentCamera, 0.0f, 220.0f, 250.0f, 30); - PresentCameraFocusSet(presentCamera, 0.0f, 0.0f, -600.0f, 30); - } - object->unk10 = 2; - case 2: - if (!PresentCameraDoneCheck(presentCamera) && !work->presentDescWindow->state && !CameraRotationDoneCheck(object)) { - PresentWinAnimIn(work->presentDescWindow); - PresentWinAnimIn(work->btnLegendWindow); - if (work->constellationSelF) { - mess = MAKE_MESSID(0x32, 0x80); - } - else if (work->room == ROOM_TROPHY) { - mess = MAKE_MESSID(0x32, 0x85); - } - else { - mess = MAKE_MESSID(0x32, 0x7e); - } - PresentWinMesSet(work->btnLegendWindow, mess); - switch (work->room) { - case ROOM_MARIO: - case ROOM_LUIGI: - case ROOM_PEACH: - case ROOM_YOSHI: - case ROOM_WARIO: - case ROOM_DK: - case ROOM_DAISY: - case ROOM_WALUIGI: - if (work->constellationSelF) { - if (PresentUnlocked(object, work->room, ROOM_TROPHY)) { - mess = MAKE_MESSID(0x32, 0x05); - } - else { - mess = MAKE_MESSID(0x32, 0x82); - } - } - else if (UnlockedPresents(object, work->room) > 0) { - mess = MAKE_MESSID(0x32, 0x01); - } - else { - mess = MAKE_MESSID(0x32, 0x81); - } - PresentWinMesSet(work->presentDescWindow, mess); - PresentWinInsertMesSet(work->presentDescWindow, roomMessTbl[work->room], 0); - break; - case ROOM_TROPHY: - if (PresentUnlocked(object, ROOM_TROPHY, 0)) { - mess = MAKE_MESSID(0x32, 0x41); - } - else { - mess = MAKE_MESSID(0x32, 0x84); - } - PresentWinMesSet(work->presentDescWindow, mess); - break; - case ROOM_MG: - if (UnlockedPresents(object, ROOM_MG) > 0) { - mess = MAKE_MESSID(0x32, 0x83); - } - else { - mess = MAKE_MESSID(0x32, 0x81); - } - PresentWinMesSet(work->presentDescWindow, mess); - break; - default: - break; - } - if (work->constellationSelF) { - cursorPos.x = 0.0f; - cursorPos.y = 600.0f; - cursorPos.z = -500.0f; - } - else { - cursorPos.x = 0.0f; - cursorPos.y = 210.0f; - cursorPos.z = -500.0f; - } - Hu3D3Dto2D(&cursorPos, 1, &cursorPos); - cursorPos.y -= 15.0f; - cursorPos.x -= 20.0f; - espPosSet(work->cursor, cursorPos.x, cursorPos.y); - if (!work->cursorVisibleF) { - PresentFadeSprite(work->cursor, TRUE, 5); - work->cursorVisibleF = TRUE; - } - object->unk10 = 3; - } - break; - case 3: - if (!work->presentDescWindow->state) { - if (PresentPadCheck(PAD_BUTTON_B) && !work->constellationSelF) { - PresentFadeSprite(work->cursor, FALSE, 5); - work->cursorVisibleF = FALSE; - PresentWinAnimOut(work->presentDescWindow); - PresentWinAnimOut(work->btnLegendWindow); - HuAudFXPlay(3); - object->unk10 = 4; - } - else if (PresentPadCheck(PAD_BUTTON_A) && !work->constellationSelF) { - if (work->room != ROOM_TROPHY) { - PresentFadeSprite(work->cursor, FALSE, 5); - work->cursorVisibleF = FALSE; - PresentWinAnimOut(work->presentDescWindow); - PresentWinAnimOut(work->btnLegendWindow); - HuAudFXPlay(2); - PresentExecModeSet(object, PRESENT_MODE_SELECT_PRESENT); + fn_1_40B0(var_r31->unk_22C, var_r29); + switch (var_r31->unk_234) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 6: + case 7: + case 8: + if (var_r31->unk_08) { + if (fn_1_2B84(object, var_r31->unk_234, 5)) { + var_r29 = 0x320005; + } else { + var_r29 = 0x320082; } + } else if (fn_1_2BCC(object, var_r31->unk_234) > 0) { + var_r29 = 0x320001; + } else { + var_r29 = 0x320081; } - else if (PresentPadDStkRepCheck(PAD_BUTTON_UP) && !work->constellationSelF) { - if (work->room != ROOM_TROPHY && work->room != ROOM_MG) { - work->constellationSelF = TRUE; - PresentFadeSprite(work->cursor, FALSE, 5); - work->cursorVisibleF = FALSE; - PresentWinAnimOut(work->presentDescWindow); - PresentWinAnimOut(work->btnLegendWindow); - HuAudFXPlay(0); - object->unk10 = 1; - } + fn_1_40B0(var_r31->unk_228, var_r29); + fn_1_4104(var_r31->unk_228, lbl_1_rodata_9F8[var_r31->unk_234], 0); + break; + case 5: + if (fn_1_2B84(object, 5, 0)) { + var_r29 = 0x320041; + } else { + var_r29 = 0x320084; } - else if (PresentPadDStkRepCheck(PAD_BUTTON_DOWN) && work->constellationSelF) { - work->constellationSelF = FALSE; - PresentFadeSprite(work->cursor, FALSE, 5); - work->cursorVisibleF = FALSE; - PresentWinAnimOut(work->presentDescWindow); - PresentWinAnimOut(work->btnLegendWindow); + fn_1_40B0(var_r31->unk_228, var_r29); + break; + case 9: + if (fn_1_2BCC(object, 9) > 0) { + var_r29 = 0x320083; + } else { + var_r29 = 0x320081; + } + fn_1_40B0(var_r31->unk_228, var_r29); + break; + default: + break; + } + if (var_r31->unk_08) { + sp8.x = 0.0f; + sp8.y = 600.0f; + sp8.z = -500.0f; + } else { + sp8.x = 0.0f; + sp8.y = 210.0f; + sp8.z = -500.0f; + } + Hu3D3Dto2D(&sp8, 1, &sp8); + sp8.y -= 15.0f; + sp8.x -= 20.0f; + espPosSet(var_r31->sprite, sp8.x, sp8.y); + if (!var_r31->unk_00) { + fn_1_144(var_r31->sprite, 1, 5); + var_r31->unk_00 = 1; + } + object->unk10 = 3; + } + break; + case 3: + if (!var_r31->unk_228->unk_20) { + if (fn_1_550(512) && !var_r31->unk_08) { + fn_1_144(var_r31->sprite, 0, 5); + var_r31->unk_00 = 0; + fn_1_4098(var_r31->unk_228); + fn_1_4098(var_r31->unk_22C); + HuAudFXPlay(3); + object->unk10 = 4; + } else if (fn_1_550(256) && !var_r31->unk_08) { + if (var_r31->unk_234 != 5) { + fn_1_144(var_r31->sprite, 0, 5); + var_r31->unk_00 = 0; + fn_1_4098(var_r31->unk_228); + fn_1_4098(var_r31->unk_22C); + HuAudFXPlay(2); + fn_1_180C(object, 2); + } + } else if (fn_1_584(8) && !var_r31->unk_08) { + if ((var_r31->unk_234 != 5) && (var_r31->unk_234 != 9)) { + var_r31->unk_08 = 1; + fn_1_144(var_r31->sprite, 0, 5); + var_r31->unk_00 = 0; + fn_1_4098(var_r31->unk_228); + fn_1_4098(var_r31->unk_22C); HuAudFXPlay(0); object->unk10 = 1; } - else if (PresentPadDStkRepCheck(PAD_BUTTON_LEFT)) { - ChangeRoom(object, ROOM_CHANGE_LEFT); - HuAudFXPlay(0); - object->unk10 = 2; - } - else if (PresentPadDStkRepCheck(PAD_BUTTON_RIGHT)) { - ChangeRoom(object, ROOM_CHANGE_RIGHT); - HuAudFXPlay(0); - object->unk10 = 2; - } - } - break; - case 4: - PresentExecModeSet(object, PRESENT_MODE_NONE); - break; - } - RotateCamera(object); -} - -static void ChangeRoom(omObjData *object, s32 direction) -{ - float rotAbs; - float rot; - float rotTarget; - - s32 special; - s32 change; - s32 duration; - - PresentWork *work = object->data; - - for (special = 0, rotAbs = 0.0f;; special++) { - rotAbs += 36.0f; - if (direction == ROOM_CHANGE_LEFT) { - change = -1; - } - else { - change = 1; - } - work->room += change; - if (work->room < ROOM_MARIO) { - work->room = ROOM_MAX; - } - else if (work->room >= ROOM_MAX + 1) { - work->room = ROOM_MARIO; - } - if (!work->constellationSelF || (work->room != ROOM_TROPHY && work->room != ROOM_MG)) { - break; - } - } - if (direction == ROOM_CHANGE_LEFT) { - rot = -rotAbs; - } - else { - rot = rotAbs; - } - rotTarget = work->rot + rot; - if (special == 0) { - duration = 30; - } - else { - duration = 45; - } - SetCameraRot(object, rotTarget, duration); -} - -static void ExecSelectPresent(omObjData *object) -{ - float cursorX; - float cursorY; - - PresentWork *work = object->data; - s32 idxInRoom = work->idxInRoom; - s32 room = work->room; - switch (object->unk10) { - case 0: - PresentCameraTargetSet(presentCamera, 0.0f, 220.0f, -120.0f, 30); - PresentCameraFocusSet(presentCamera, 0.0f, 0.0f, -600.0f, 30); - work->roomNotEmptyF = UnlockedPresents(object, room) > 0; - work->cursorVisibleF = FALSE; - work->idxInRoom = 0; - if (work->roomNotEmptyF) { - s32 totalPresents = TotalPresentsInRoom(work->room); - s32 i; - // set the initial present to the highest unlocked one - for (i = 0; i < totalPresents; i++) { - if (PresentUnlocked(object, room, i)) { - work->idxInRoom = i; - break; - } - } - } - object->unk10 = 1; - case 1: - if (PresentCameraDoneCheck(presentCamera)) { - break; - } - PresentWinAnimIn(work->presentDescWindow); - PresentWinAnimIn(work->btnLegendWindow); - PresentWinMesSet(work->btnLegendWindow, MAKE_MESSID(0x32, 0x7F)); - - if (work->roomNotEmptyF) { - PresentWinMesSet(work->presentDescWindow, roomTbl[room].presentData[idxInRoom].descMess); - } - else { - PresentWinMesSet(work->presentDescWindow, MAKE_MESSID(0x32, 0x03)); - } - work->cursorTime = 0.0f; - work->cursorSpeed = 1.0f / 6.0f; - if (work->roomNotEmptyF) { - Vec cursorPos; - GetCursorPos(work->object[roomTbl[room].presentData[idxInRoom].cursorPosIdx], &cursorPos.x, &cursorPos.y, &cursorPos.z); - Hu3D3Dto2D(&cursorPos, 1, &cursorPos); - cursorPos.y -= 15.0f; - cursorPos.x -= 20.0f; - if (!work->cursorVisibleF) { - PresentFadeSprite(work->cursor, TRUE, 5); - work->cursorVisibleF = TRUE; - work->cursorPos.x = cursorPos.x; - work->cursorPos.y = cursorPos.y; - } - else { - work->cursorPos.x = work->newCursorPos.x; - work->cursorPos.y = work->newCursorPos.y; - } - work->newCursorPos.x = cursorPos.x; - work->newCursorPos.y = cursorPos.y; + } else if (fn_1_584(4) && var_r31->unk_08) { + var_r31->unk_08 = 0; + fn_1_144(var_r31->sprite, 0, 5); + var_r31->unk_00 = 0; + fn_1_4098(var_r31->unk_228); + fn_1_4098(var_r31->unk_22C); + HuAudFXPlay(0); + object->unk10 = 1; + } else if (fn_1_584(1)) { + fn_1_1FA8(object, 1); + HuAudFXPlay(0); + object->unk10 = 2; + } else if (fn_1_584(2)) { + fn_1_1FA8(object, 2); + HuAudFXPlay(0); object->unk10 = 2; } - else { - object->unk10 = 3; - break; + } + break; + case 4: + fn_1_180C(object, 0); + break; + } + fn_1_2774(object); +} + +void fn_1_1FA8(omObjData *object, s32 arg1) +{ + UnkPresentStruct2 *var_r31; + s32 var_r30; + s32 var_r29; + s32 var_r28; + float var_f30; + float var_f31; + float var_f29; + + var_r31 = object->data; + + for (var_r30 = 0, var_f31 = 0.0f;; var_r30++) { + var_f31 += 36.0f; + if (arg1 == 1) { + var_r29 = -1; + } else { + var_r29 = 1; + } + var_r31->unk_234 = var_r31->unk_234 + var_r29; + if (var_r31->unk_234 < 0) { + var_r31->unk_234 = 9; + } else if (var_r31->unk_234 >= 10) { + var_r31->unk_234 = 0; + } + if (!((var_r31->unk_08) && ((var_r31->unk_234 == 5) || (var_r31->unk_234 == 9)))) { + break; + } + } + if (arg1 == 1) { + var_f30 = -var_f31; + } else { + var_f30 = var_f31; + } + var_f29 = var_r31->unk_23C + var_f30; + if (!var_r30) { + var_r28 = 30; + } else { + var_r28 = 45; + } + fn_1_2708(object, var_f29, var_r28); +} + +void fn_1_20E8(omObjData *object) +{ + Vec sp8; + UnkPresentStruct2 *var_r31; + s32 var_r29; + s32 var_r28; + s32 var_r27; + s32 var_r25; + float var_f31; + float var_f30; + + var_r31 = object->data; + var_r29 = var_r31->unk_238; + var_r27 = var_r31->unk_234; + switch (object->unk10) { + case 0: + fn_1_920(lbl_1_bss_8, 0.0f, 220.0f, -120.0f, 30); + fn_1_9A4(lbl_1_bss_8, 0.0f, 0.0f, -600.0f, 30); + var_r31->unk_04 = fn_1_2BCC(object, var_r27) > 0; + var_r31->unk_00 = 0; + var_r31->unk_238 = 0; + if (var_r31->unk_04) { + var_r25 = fn_1_3394(var_r31->unk_234); + for (var_r28 = 0; var_r28 < var_r25; var_r28++) { + if (fn_1_2B84(object, var_r27, var_r28)) { + var_r31->unk_238 = var_r28; + break; + } } - case 2: - cursorX = work->cursorPos.x + (work->cursorTime * (work->newCursorPos.x - work->cursorPos.x)); - cursorY = work->cursorPos.y + (work->cursorTime * (work->newCursorPos.y - work->cursorPos.y)); - espPosSet(work->cursor, cursorX, cursorY); - if ((work->cursorTime += work->cursorSpeed) < 1.0f) { - break; + } + object->unk10 = 1; + case 1: + if (fn_1_B6C(lbl_1_bss_8)) { + break; + } + fn_1_4080(var_r31->unk_228); + fn_1_4080(var_r31->unk_22C); + fn_1_40B0(var_r31->unk_22C, 0x32007F); + + if (var_r31->unk_04) { + fn_1_40B0(var_r31->unk_228, lbl_1_rodata_2B8[var_r27].unk_04[var_r29].unk_0C); + } else { + fn_1_40B0(var_r31->unk_228, 0x320003); + } + var_r31->unk_258 = 0.0f; + var_r31->unk_25C = 5.0f / 30.0f; + if (var_r31->unk_04) { + fn_1_268C(var_r31->unk_10[lbl_1_rodata_2B8[var_r27].unk_04[var_r29].unk_00], &sp8.x, &sp8.y, &sp8.z); + Hu3D3Dto2D(&sp8, 1, &sp8); + sp8.y -= 15.0f; + sp8.x -= 20.0f; + if (!var_r31->unk_00) { + fn_1_144(var_r31->sprite, 1, 5); + var_r31->unk_00 = 1; + var_r31->unk_260 = sp8.x; + var_r31->unk_264 = sp8.y; + } else { + var_r31->unk_260 = var_r31->unk_268; + var_r31->unk_264 = var_r31->unk_26C; } - espPosSet(work->cursor, work->newCursorPos.x, work->newCursorPos.y); + var_r31->unk_268 = sp8.x; + var_r31->unk_26C = sp8.y; + object->unk10 = 2; + } else { object->unk10 = 3; - case 3: - if (PresentPadCheck(PAD_BUTTON_B)) { - PresentWinAnimOut(work->presentDescWindow); - PresentWinAnimOut(work->btnLegendWindow); - HuAudFXPlay(3); - object->unk10 = 4; - } - else if (work->roomNotEmptyF) { - if (PresentPadDStkRepCheck(PAD_BUTTON_LEFT) && PresentPadDStkCheck(PAD_BUTTON_UP)) { - idxInRoom = MoveCursor(object, 5); - } - else if (PresentPadDStkRepCheck(PAD_BUTTON_LEFT) && PresentPadDStkCheck(PAD_BUTTON_DOWN)) { - idxInRoom = MoveCursor(object, 9); - } - else if (PresentPadDStkRepCheck(PAD_BUTTON_RIGHT) && PresentPadDStkCheck(PAD_BUTTON_UP)) { - idxInRoom = MoveCursor(object, 6); - } - else if (PresentPadDStkRepCheck(PAD_BUTTON_RIGHT) && PresentPadDStkCheck(PAD_BUTTON_DOWN)) { - idxInRoom = MoveCursor(object, 10); - } - else if (PresentPadDStkRepCheck(PAD_BUTTON_LEFT)) { - idxInRoom = MoveCursor(object, 1); - } - else if (PresentPadDStkRepCheck(PAD_BUTTON_RIGHT)) { - idxInRoom = MoveCursor(object, 2); - } - else if (PresentPadDStkRepCheck(PAD_BUTTON_UP)) { - idxInRoom = MoveCursor(object, 4); - } - else if (PresentPadDStkRepCheck(PAD_BUTTON_DOWN)) { - idxInRoom = MoveCursor(object, 8); - } - } - else { - break; - } - if (idxInRoom == -1) { - idxInRoom = work->idxInRoom; - } - if (idxInRoom != work->idxInRoom) { - work->idxInRoom = idxInRoom; - object->unk10 = 1; - HuAudFXPlay(0); - } break; - case 4: - if (work->cursorVisibleF) { - PresentFadeSprite(work->cursor, FALSE, 5); + } + case 2: + var_f31 = var_r31->unk_260 + (var_r31->unk_258 * (var_r31->unk_268 - var_r31->unk_260)); + var_f30 = var_r31->unk_264 + (var_r31->unk_258 * (var_r31->unk_26C - var_r31->unk_264)); + espPosSet(var_r31->sprite, var_f31, var_f30); + if ((var_r31->unk_258 = var_r31->unk_258 + var_r31->unk_25C) < 1.0f) { + break; + } + espPosSet(var_r31->sprite, var_r31->unk_268, var_r31->unk_26C); + object->unk10 = 3; + case 3: + if (fn_1_550(512)) { + fn_1_4098(var_r31->unk_228); + fn_1_4098(var_r31->unk_22C); + HuAudFXPlay(3); + object->unk10 = 4; + } else if (var_r31->unk_04) { + if (fn_1_584(1) && fn_1_5B8(8)) { + var_r29 = fn_1_2C5C(object, 5); + } else if (fn_1_584(1) && fn_1_5B8(4)) { + var_r29 = fn_1_2C5C(object, 9); + } else if (fn_1_584(2) && fn_1_5B8(8)) { + var_r29 = fn_1_2C5C(object, 6); + } else if (fn_1_584(2) && fn_1_5B8(4)) { + var_r29 = fn_1_2C5C(object, 10); + } else if (fn_1_584(1)) { + var_r29 = fn_1_2C5C(object, 1); + } else if (fn_1_584(2)) { + var_r29 = fn_1_2C5C(object, 2); + } else if (fn_1_584(8)) { + var_r29 = fn_1_2C5C(object, 4); + } else if (fn_1_584(4)) { + var_r29 = fn_1_2C5C(object, 8); } - PresentExecModeSet(object, PRESENT_MODE_SELECT_ROOM); - break; - default: + } else { break; + } + if (var_r29 == -1) { + var_r29 = var_r31->unk_238; + } + if (var_r29 != var_r31->unk_238) { + var_r31->unk_238 = var_r29; + object->unk10 = 1; + HuAudFXPlay(0); + } + break; + case 4: + if (var_r31->unk_00) { + fn_1_144(var_r31->sprite, 0, 5); + } + fn_1_180C(object, 1); + break; + default: + break; } } -static void GetCursorPos(omObjData *object, float *x, float *y, float *z) +void fn_1_268C(omObjData *object, float *arg1, float *arg2, float *arg3) { Mtx sp8; Hu3DModelObjMtxGet(object->model[0], "cursor", sp8); - *x = sp8[0][3]; - *y = sp8[1][3]; - *z = sp8[2][3]; + *arg1 = sp8[0][3]; + *arg2 = sp8[1][3]; + *arg3 = sp8[2][3]; } -static void SetCameraRot(omObjData *object, float rot, s32 duration) +void fn_1_2708(omObjData *arg0, float arg8, s32 arg1) { - PresentWork *work = object->data; + UnkPresentStruct2 *var_r31; - work->rotTarget = rot; - work->rotPrev = work->rot; - work->timeRot = 0.0f; - work->rotSpeed = 1.0f / duration; + var_r31 = arg0->data; + var_r31->unk_244 = arg8; + var_r31->unk_240 = var_r31->unk_23C; + var_r31->unk_248 = 0.0f; + var_r31->unk_250 = 1.0f / arg1; } -static void RotateCamera(omObjData *object) +void fn_1_2774(omObjData *object) { - s32 i; - PresentWork *work = object->data; + UnkPresentStruct2 *var_r31; + float var_f31; + s32 var_r30; - if (work->timeRot < 1.0f) { - float weight = sind(90.0f * work->timeRot); - weight *= weight; - work->rot = work->rotPrev + (weight * (work->rotTarget - work->rotPrev)); + var_r31 = object->data; - if ((work->timeRot += work->rotSpeed) >= 1.0f) { - work->rot = work->rotTarget; + if (var_r31->unk_248 < 1.0f) { + var_f31 = sin(90.0f * var_r31->unk_248 * M_PI / 180.0f); + var_f31 *= var_f31; + var_r31->unk_23C = var_r31->unk_240 + (var_f31 * (var_r31->unk_244 - var_r31->unk_240)); + + if ((var_r31->unk_248 = var_r31->unk_248 + var_r31->unk_250) >= 1.0f) { + var_r31->unk_23C = var_r31->unk_244; } } - work->rot = fmod(work->rot, 360.0); + var_r31->unk_23C = fmod(var_r31->unk_23C, 360.0); - if (work->rot < 0.0f) { - work->rot += 360.0f; + if (var_r31->unk_23C < 0.0f) { + var_r31->unk_23C += 360.0f; } - for (i = 0; i < PRESENT_MDL_MAX; i++) { - omSetRot(work->object[i], 0.0f, work->rot, 0.0f); + for (var_r30 = 0; var_r30 < 134; var_r30++) { + omSetRot(var_r31->unk_10[var_r30], 0.0f, var_r31->unk_23C, 0.0f); } } -static BOOL CameraRotationDoneCheck(omObjData *object) +s32 fn_1_28F0(omObjData *object) { - PresentWork *work = object->data; - return work->timeRot < 1.0f; + UnkPresentStruct2 *var_r31; + + var_r31 = object->data; + return var_r31->unk_248 < 1.0f; } -s32 roomIdxTbl2[CHARACTERS_MAX] = { - ROOM_MARIO, - ROOM_LUIGI, - ROOM_PEACH, - ROOM_YOSHI, - ROOM_WARIO, - ROOM_DK, - ROOM_DAISY, - ROOM_WALUIGI, -}; +s32 lbl_1_data_84[] = { 0, 1, 2, 3, 4, 6, 7, 8 }; -static void ShowHidePresents(omObjData *object) +void fn_1_2924(omObjData *object) { - PresentWork *work = object->data; - s32 character; - s32 i; + UnkPresentStruct2 *var_r31; + s32 var_r30; + s32 var_r27; + s32 var_r29; - Hu3DModelAttrReset(work->object[0]->model[0], HU3D_ATTR_DISPOFF); + var_r31 = object->data; + Hu3DModelAttrReset(var_r31->unk_10[0]->model[0], 1); - for (character = 0; character < CHARACTERS_MAX; character++) { - s32 j; - if (UnlockedPresents(object, roomIdxTbl2[character]) > 0) { - Hu3DModelAttrReset(work->object[character + 109]->model[0], HU3D_ATTR_DISPOFF); + for (var_r29 = 0; var_r29 < 8; var_r29++) { + if (fn_1_2BCC(object, lbl_1_data_84[var_r29]) > 0) { + Hu3DModelAttrReset(var_r31->unk_10[var_r29 + 109]->model[0], 1); } - for (j = 0, i = 0; i < PRESENT_COUNT_CHAR_ROOM; i++) { - if (PresentUnlocked(object, roomIdxTbl2[character], i)) { - Hu3DModelAttrReset(work->object[character * PRESENT_COUNT_CHAR_ROOM * 2 + 2 + i]->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(work->object[character * PRESENT_COUNT_CHAR_ROOM * 2 + 8 + i]->model[0], HU3D_ATTR_DISPOFF); - j++; + for (var_r27 = 0, var_r30 = 0; var_r30 < 6; var_r30++) { + if (fn_1_2B84(object, lbl_1_data_84[var_r29], var_r30)) { + Hu3DModelAttrReset(var_r31->unk_10[var_r29 * 6 * 2 + 2 + var_r30]->model[0], 1); + Hu3DModelAttrReset(var_r31->unk_10[var_r29 * 6 * 2 + 8 + var_r30]->model[0], 1); + var_r27++; } } - if (j >= 6) { - Hu3DModelAttrReset(work->object[character + 118]->model[0], HU3D_ATTR_DISPOFF); + if (var_r27 >= 6) { + Hu3DModelAttrReset(var_r31->unk_10[var_r29 + 118]->model[0], 1); } } - if (UnlockedPresents(object, ROOM_MG) > 0) { - Hu3DModelAttrReset(work->object[117]->model[0], HU3D_ATTR_DISPOFF); + if (fn_1_2BCC(object, 9) > 0) { + Hu3DModelAttrReset(var_r31->unk_10[117]->model[0], 1); } - for (i = 0; i < PRESENT_COUNT_MG_ROOM; i++) { - if (PresentUnlocked(object, ROOM_MG, i)) { - Hu3DModelAttrReset(work->object[i + 98]->model[0], HU3D_ATTR_DISPOFF); + for (var_r30 = 0; var_r30 < 11; var_r30++) { + if (fn_1_2B84(object, 9, var_r30)) { + Hu3DModelAttrReset(var_r31->unk_10[var_r30 + 98]->model[0], 1); } } - if (PresentUnlocked(object, ROOM_TROPHY, 0)) { - Hu3DModelAttrReset(work->object[1]->model[0], HU3D_ATTR_DISPOFF); + if (fn_1_2B84(object, 5, 0)) { + Hu3DModelAttrReset(var_r31->unk_10[1]->model[0], 1); } - for (i = 0; i < CHARACTERS_MAX; i++) { - if (PresentUnlocked(object, roomIdxTbl2[i], PRESENT_CONSTELLATION)) { - Hu3DModelAttrReset(work->object[i + 126]->model[0], HU3D_ATTR_DISPOFF); + for (var_r30 = 0; var_r30 < 8; var_r30++) { + if (fn_1_2B84(object, lbl_1_data_84[var_r30], 5)) { + Hu3DModelAttrReset(var_r31->unk_10[var_r30 + 126]->model[0], 1); } } } -static const s32 roomPresentOffsetTbl[] = { 0, 6, 12, 18, 24, 59, 30, 36, 42, 48 }; +static const s32 lbl_1_rodata_A74[] = { 0, 6, 12, 18, 24, 59, 30, 36, 42, 48 }; -static BOOL PresentUnlocked(omObjData *object, s32 room, s32 present) +s32 fn_1_2B84(omObjData *arg0, s32 arg1, s32 arg2) { - PresentWork *work = object->data; - return work->presentUnlockedF[roomPresentOffsetTbl[room] + present] != 0; + UnkPresentStruct2 *var_r31; + + var_r31 = arg0->data; + return var_r31->unk_270[arg2 + lbl_1_rodata_A74[arg1]] != 0; } -static s32 UnlockedPresents(omObjData *object, s32 room) +s32 fn_1_2BCC(omObjData *object, s32 arg1) { - s32 i; - s32 unlockedPresents; - s32 presentCount = TotalPresentsInRoom(room); + s32 var_r31; + s32 var_r30; + UnkPresentStruct2 *var_r29; + s32 var_r28; - for (unlockedPresents = 0, i = 0; i < presentCount; i++) { - if (PresentUnlocked(object, room, i)) { - unlockedPresents++; + var_r28 = fn_1_3394(arg1); + + for (var_r30 = 0, var_r31 = 0; var_r31 < var_r28; var_r31++) { + if (fn_1_2B84(object, arg1, var_r31)) { + var_r30++; } } - return unlockedPresents; + return var_r30; } -/* Returns the index of the newly selected present inside the room */ -static s32 MoveCursor(omObjData *object, s32 arg1) +s32 fn_1_2C5C(omObjData *object, s32 arg1) { - PresentDistanceStruct availablePresents[10]; - Vec cursorPos; - - float angle; - - PresentWork *work = object->data; - s32 present; - s32 i; - s32 j; + UnkPresentStruct7 spA4[10]; + Vec sp38; + Vec sp2C; + UnkPresentStruct7 sp24; + float var_f31; + float var_f30; + float var_f29; + UnkPresentStruct2 *var_r31; + s32 var_r30; + s32 var_r28; + s32 var_r26; s32 var_r23; - s32 totalPresents = TotalPresentsInRoom(work->room); - s32 unlockedPresents = UnlockedPresents(object, work->room); + s32 var_r22; + omObjData *var_r21; + omObjData *var_r19; + s32 var_r18; + s32 var_r17; - if (unlockedPresents == 1) { - return work->idxInRoom; + var_r31 = object->data; + + var_r22 = fn_1_3394(var_r31->unk_234); + + var_r18 = fn_1_2BCC(object, var_r31->unk_234); + if (var_r18 == 1) { + return var_r31->unk_238; } - GetCursorPos(work->object[roomTbl[work->room].presentData[work->idxInRoom].cursorPosIdx], &cursorPos.x, &cursorPos.y, &cursorPos.z); - Hu3D3Dto2D(&cursorPos, 1, &cursorPos); - for (i = 0, j = 0; i == 0 && j < 1; j++) { - for (i = 0, present = 0; present < totalPresents; present++) { - Vec cursorPosNew; - float dx, dy; - if (present == work->idxInRoom) { + fn_1_268C(var_r31->unk_10[lbl_1_rodata_2B8[var_r31->unk_234].unk_04[var_r31->unk_238].unk_00], &sp38.x, &sp38.y, &sp38.z); + Hu3D3Dto2D(&sp38, 1, &sp38); + for (var_r28 = 0, var_r26 = 0; !var_r28 && (var_r26 < 1); var_r26++) { + for (var_r28 = 0, var_r30 = 0; var_r30 < var_r22; var_r30++) { + if (var_r30 == var_r31->unk_238) { continue; } - if (!PresentUnlocked(object, work->room, present)) { + if (!fn_1_2B84(object, var_r31->unk_234, var_r30)) { continue; } - GetCursorPos(work->object[roomTbl[work->room].presentData[present].cursorPosIdx], &cursorPosNew.x, &cursorPosNew.y, &cursorPosNew.z); - Hu3D3Dto2D(&cursorPosNew, 1, &cursorPosNew); - dx = cursorPos.x - cursorPosNew.x; - dy = cursorPos.y - cursorPosNew.y; - angle = fmod(atan2d(dx, dy), 360.0); - if (angle < 0.0f) { - angle += 360.0f; + fn_1_268C(var_r31->unk_10[lbl_1_rodata_2B8[var_r31->unk_234].unk_04[var_r30].unk_00], &sp2C.x, &sp2C.y, &sp2C.z); + Hu3D3Dto2D(&sp2C, 1, &sp2C); + var_f30 = sp38.x - sp2C.x; + var_f29 = sp38.y - sp2C.y; + var_f31 = fmod(atan2d(var_f30, var_f29), 360.0); + if (var_f31 < 0.0f) { + var_f31 += 360.0f; } - if ((arg1 == 1 && angle >= 45.0f && angle < 135.0f) || (arg1 == 2 && angle >= 225.0f && angle < 315.0f) - || (arg1 == 8 && angle >= 135.0f && angle < 225.0f) - || (arg1 == 4 && (angle >= 0.0f && angle < 45.0f || angle >= 315.0f && angle < 360.0f)) - || (arg1 == 5 && angle >= 0.0f && angle < 90.0f) || (arg1 == 9 && angle >= 90.0f && angle < 180.0f) - || (arg1 == 6 && angle >= 270.0f && angle < 360.0f) || (arg1 == 10 && angle >= 180.0f && angle < 270.0f)) { - availablePresents[i].present = present; - availablePresents[i].distance = sqrtf(dx * dx + dy * dy); - i++; + if ((arg1 == 1 && var_f31 >= 45.0f && var_f31 < 135.0f) || (arg1 == 2 && var_f31 >= 225.0f && var_f31 < 315.0f) + || (arg1 == 8 && var_f31 >= 135.0f && var_f31 < 225.0f) + || (arg1 == 4 && (var_f31 >= 0.0f && var_f31 < 45.0f || var_f31 >= 315.0f && var_f31 < 360.0f)) + || (arg1 == 5 && var_f31 >= 0.0f && var_f31 < 90.0f) || (arg1 == 9 && var_f31 >= 90.0f && var_f31 < 180.0f) + || (arg1 == 6 && var_f31 >= 270.0f && var_f31 < 360.0f) || (arg1 == 10 && var_f31 >= 180.0f && var_f31 < 270.0f)) { + spA4[var_r28].unk_00 = var_r30; + spA4[var_r28].unk_04 = sqrtf(var_f30 * var_f30 + var_f29 * var_f29); + var_r28++; } } - if (i != 0) { + if (var_r28) { continue; } switch (arg1) { - case 0: - break; - case 1: - arg1 = 2; - break; - case 2: - arg1 = 1; - break; - case 3: - break; - case 4: - arg1 = 8; - break; - case 7: - break; - case 8: - arg1 = 4; - break; - case 5: - arg1 = 10; - break; - case 9: - arg1 = 6; - break; - case 6: - arg1 = 9; - break; - case 10: - arg1 = 5; - break; - default: - break; + case 0: + break; + case 1: + L_00003218: + arg1 = 2; + break; + case 2: + L_00003220: + arg1 = 1; + break; + case 3: + break; + case 4: + L_00003228: + arg1 = 8; + break; + case 7: + break; + case 8: + L_00003230: + arg1 = 4; + break; + case 5: + L_00003238: + arg1 = 10; + break; + case 9: + L_00003240: + arg1 = 6; + break; + case 6: + L_00003248: + arg1 = 9; + break; + case 10: + L_00003250: + arg1 = 5; + break; + default: + break; } + // L_00003254: } - if (i == 0) { - return work->idxInRoom; + if (!var_r28) { + return var_r31->unk_238; } do { - for (var_r23 = 0, present = 0; present < (i - 1); present++) { - if (availablePresents[present].distance > availablePresents[present + 1].distance) { - PresentDistanceStruct next = availablePresents[present + 1]; - availablePresents[present + 1] = availablePresents[present]; - availablePresents[present] = next; + for (var_r23 = 0, var_r30 = 0; var_r30 < (var_r28 - 1); var_r30++) { + if (spA4[var_r30].unk_04 > spA4[var_r30 + 1].unk_04) { + sp24 = spA4[var_r30 + 1]; + spA4[var_r30 + 1] = spA4[var_r30]; + spA4[var_r30] = sp24; var_r23 = 1; } } } while (var_r23); - return availablePresents[(j <= 1) ? 0 : i - 1].present; + return spA4[(var_r26 <= 1) ? 0 : var_r28 - 1].unk_00; } -static const s32 totalPresentCntTbl[10] = { 6, 6, 6, 6, 6, 1, 6, 6, 6, 11 }; +static const s32 lbl_1_rodata_AC8[] = { 6, 6, 6, 6, 6, 1, 6, 6, 6, 11 }; -static s32 TotalPresentsInRoom(s32 room) +s32 fn_1_3394(s32 arg0) { - return totalPresentCntTbl[room]; + return lbl_1_rodata_AC8[arg0]; } -static const s32 presentItemIdxTbl[10] = { 2, 14, 26, 38, 50, 0, 62, 74, 86, 0 }; -static const s32 lbl_1_rodata_B18[10] = { 8, 20, 32, 44, 56, 0, 68, 80, 92, 0 }; -static const s32 constellationIdxTbl[10] = { 126, 127, 128, 129, 130, 0, 131, 132, 133, 0 }; -static const s32 roofIdxTbl[10] = { 118, 119, 120, 121, 122, 0, 123, 124, 125, 0 }; +static const s32 lbl_1_rodata_AF0[] = { 2, 14, 26, 38, 50, 0, 62, 74, 86, 0 }; +static const s32 lbl_1_rodata_B18[] = { 8, 20, 32, 44, 56, 0, 68, 80, 92, 0 }; +static const s32 lbl_1_rodata_B40[] = { 126, 127, 128, 129, 130, 0, 131, 132, 133, 0 }; +static const s32 lbl_1_rodata_B68[] = { 118, 119, 120, 121, 122, 0, 123, 124, 125, 0 }; -static void ExecPresentGet(omObjData *object) +void fn_1_33AC(omObjData *object) { - f32 weight; - f32 rot; - - PresentWork *work = object->data; + f32 var_f29; + f32 var_f30; + f32 var_f31; + UnkPresentStruct2 *var_r31; + UnkPresentStruct2 *var_r30; + UnkPresentStruct2 *var_r28; + s32 var_r27; + var_r31 = object->data; switch (object->unk10) { - case 0: - rot = 36.0f * work->room; - SetCameraRot(object, rot, 1); - RotateCamera(object); - Hu3DModelAttrSet(work->object[work->idxInRoom + lbl_1_rodata_B18[work->room]]->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(work->object[roofIdxTbl[work->room]]->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(work->object[constellationIdxTbl[work->room]]->model[0], HU3D_ATTR_DISPOFF); - work->presentFallingTime = 0.0f; - work->presentFallingSpeed = 1.0f / 360.0f; - object->unk10 = 1; - case 1: - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 120); - object->unk10 = 2; - case 2: - weight = sind(90.0f * work->presentFallingTime); - weight *= weight; - PresentCameraTargetSet(presentCamera, 0.0f, 820.0f - (600.0f * weight), -120.0f, 1); - PresentCameraFocusSet(presentCamera, 0.0f, 680.0f - (680.0f * weight), -600.0f, 1); - omSetTra(work->object[work->idxInRoom + presentItemIdxTbl[work->room]], 0.0f, 840.0f - (840.0f * weight), 0.0f); - if ((work->presentFallingTime += work->presentFallingSpeed) < 1.0f) { - return; - } - if (fn_1_393C(work->room, work->idxInRoom)) { - FadeSpriteWithMultiplier(work->object[work->idxInRoom + lbl_1_rodata_B18[work->room]]->model[0], 1, 0.4f, 30); - } - object->unk10 = 3; - case 3: - PresentWinAnimIn(work->presentDescWindow); - PresentWinInsertMesSet(work->presentDescWindow, roomTbl[work->room].presentData[work->idxInRoom].nameMess, 0); - PresentWinMesSet(work->presentDescWindow, MAKE_MESSID(0x32, 0x04)); - PresentWinMesWait(work->presentDescWindow); - object->unk10 = 4; - case 4: - if (work->presentDescWindow->state) { - break; - } - object->unk10 = 5; - case 5: - PresentWinAnimOut(work->presentDescWindow); - object->unk10 = 6; - case 6: - if (!work->presentDescWindow->state) { - PresentExecModeSet(object, PRESENT_MODE_NONE); - } + case 0: + var_f29 = 36.0f * var_r31->unk_234; + fn_1_2708(object, var_f29, 1); + fn_1_2774(object); + Hu3DModelAttrSet(var_r31->unk_10[var_r31->unk_238 + lbl_1_rodata_B18[var_r31->unk_234]]->model[0], 1); + Hu3DModelAttrSet(var_r31->unk_10[lbl_1_rodata_B68[var_r31->unk_234]]->model[0], 1); + Hu3DModelAttrSet(var_r31->unk_10[lbl_1_rodata_B40[var_r31->unk_234]]->model[0], 1); + var_r31->unk_24C = 0.0f; + var_r31->unk_254 = 1.0f / 360.0f; + object->unk10 = 1; + case 1: + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 120); + object->unk10 = 2; + case 2: + var_f31 = sind(90.0f * var_r31->unk_24C); + var_f31 *= var_f31; + fn_1_920(lbl_1_bss_8, 0.0f, 820.0f - (600.0f * var_f31), -120.0f, 1); + fn_1_9A4(lbl_1_bss_8, 0.0f, 680.0f - (680.0f * var_f31), -600.0f, 1); + omSetTra(var_r31->unk_10[var_r31->unk_238 + lbl_1_rodata_AF0[var_r31->unk_234]], 0.0f, 840.0f - (840.0f * var_f31), 0.0f); + if ((var_r31->unk_24C = var_r31->unk_24C + var_r31->unk_254) < 1.0f) { + return; + } + if (fn_1_393C(var_r31->unk_234, var_r31->unk_238)) { + fn_1_334(var_r31->unk_10[var_r31->unk_238 + lbl_1_rodata_B18[var_r31->unk_234]]->model[0], 1, 0.4f, 30); + } + object->unk10 = 3; + case 3: + fn_1_4080(var_r31->unk_228); + fn_1_4104(var_r31->unk_228, lbl_1_rodata_2B8[var_r31->unk_234].unk_04[var_r31->unk_238].unk08, 0); + fn_1_40B0(var_r31->unk_228, 0x320004); + fn_1_419C(var_r31->unk_228); + object->unk10 = 4; + case 4: + if (var_r31->unk_228->unk_20) { break; + } + object->unk10 = 5; + case 5: + fn_1_4098(var_r31->unk_228); + object->unk10 = 6; + case 6: + if (!var_r31->unk_228->unk_20) { + fn_1_180C(object, 0); + } + break; } } static const s32 lbl_1_rodata_BA4[][2] = { { 7, 1 } }; -static s32 fn_1_393C(s32 arg0, s32 arg1) +s32 fn_1_393C(s32 arg0, s32 arg1) { s32 var_r31; diff --git a/src/REL/resultDll/battle.c b/src/REL/resultDll/battle.c index f9a58cba..e582532a 100644 --- a/src/REL/resultDll/battle.c +++ b/src/REL/resultDll/battle.c @@ -1,679 +1,718 @@ #include "dolphin.h" -#include "ext_math.h" +#include "math.h" -#include "game/armem.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/frand.h" #include "game/hsfanim.h" +#include "game/audio.h" +#include "game/process.h" +#include "game/wipe.h" +#include "game/window.h" +#include "game/pad.h" +#include "game/object.h" +#include "game/chrman.h" +#include "game/sprite.h" #include "game/hsfman.h" #include "game/hsfmotion.h" -#include "game/object.h" -#include "game/pad.h" -#include "game/process.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" +#include "game/armem.h" +#include "game/frand.h" #include "game/gamework_data.h" #include "REL/resultdll.h" -#ifndef __MWERKS__ -#include "game/esprite.h" -#endif - -#define COIN_EFFECT_MAX 180 - -static StageModel resultBattleModel[] = { { DATA_MAKE_NUM(DATADIR_RESULT, 0x08), 0, 0, -1, -1, { -300, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x09), 0, 0, -1, -1, { -100, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x0A), 0, 0, -1, -1, { 100, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x0A), 0, 0, -1, -1, { 300, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x0B), 0, 0, -1, -1, { -300, 1000, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x0B), 0, 0, -1, -1, { -100, 1000, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x0B), 0, 0, -1, -1, { 100, 1000, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x0B), 0, 0, -1, -1, { 300, 1000, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x0D), 0, 0, -1, -1, { 5000, 0, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x0E), 0, 1, -1, 8, { 0, 0, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x0F), 0x40000002, 0, -1, -1, { 5000, 0, 0 }, { 0, 0, 0 }, { 2.0f, 2.0f, 2.0f } }, - { -1, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } } }; - -static StageSprite resultBattleSprite[] = { - { DATA_MAKE_NUM(DATADIR_RESULT, 0x43), 0, 10, 288, 240, { 255, 255, 255, 255 } }, - { 0, 0, 0, 0, 0, { 0, 0, 0, 0 } }, +DataListModel lbl_1_data_4E8[] = { + { 0x6F0008, 0, 0, -1, -1, { -300, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } }, + { 0x6F0009, 0, 0, -1, -1, { -100, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } }, + { 0x6F000A, 0, 0, -1, -1, { 100, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } }, + { 0x6F000A, 0, 0, -1, -1, { 300, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } }, + { 0x6F000B, 0, 0, -1, -1, { -300, 1000, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, + { 0x6F000B, 0, 0, -1, -1, { -100, 1000, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, + { 0x6F000B, 0, 0, -1, -1, { 100, 1000, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, + { 0x6F000B, 0, 0, -1, -1, { 300, 1000, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, + { 0x6F000D, 0, 0, -1, -1, { 5000, 0, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, + { 0x6F000E, 0, 1, -1, 8, { 0, 0, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, + { 0x6F000F, 0x40000002, 0, -1, -1, { 5000, 0, 0 }, { 0, 0, 0 }, { 2.0f, 2.0f, 2.0f } }, + { -1, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } } }; -static HsfanimStruct00 resultBattleEffParMan = { 80, { 0, 0 }, 3, 30, 90, { 0, -0.2, 0 }, 5.0f, 0.95f, 10.0f, 0.995f, 2, - { - { 255, 192, 112, 255 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - }, - { - { 128, 128, 128, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - { 0, 0, 0, 0 }, - } +DataListSprite lbl_1_data_758[] = { + { 0x6F0043, 0, 10, 288, 240, { 255, 255, 255, 255 } }, + { 0, 0, 0, 0, 0, { 0, 0, 0, 0 } }, }; -static s16 resultStatPosTbl[] = { - 320, - 132, - 500, - 132, - 320, - 217, - 500, - 217, - 320, - 302, - 500, - 302, - 320, - 387, - 500, - 387, +HsfanimStruct00 lbl_1_data_780 = { + 80, + { 0, 0 }, + 3, 30, 90, + { 0, -0.2, 0 }, + 5.0f, 0.95f, 10.0f, + 0.995f, + 2, + { + { 255, 192, 112, 255 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + }, + { + { 128, 128, 128, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + } }; -static Vec playerPosTbl[] = { { -300, 270, 0 }, { -100, 180, 500 }, { 100, 90, 500 }, { 300, 0, 500 } }; -s16 lbl_1_data_820[] = { -284, 148, -84, 233, 116, 318, 316, 403 }; +s16 lbl_1_data_7D0[] = { + 320, 132, + 500, 132, + 320, 217, + 500, 217, + 320, 302, + 500, 302, + 320, 387, + 500, 387, +}; -static s32 bomheiCubeMdlTbl[] = { DATA_MAKE_NUM(DATADIR_RESULT, 0x08), DATA_MAKE_NUM(DATADIR_RESULT, 0x09), DATA_MAKE_NUM(DATADIR_RESULT, 0x0A), - DATA_MAKE_NUM(DATADIR_RESULT, 0x0A) }; +Vec lbl_1_data_7F0[] = { + { -300, 270, 0 }, + { -100, 180, 500 }, + { 100, 90, 500 }, + { 300, 0, 500 } +}; -static float coinEffectYOfs[] = { 130, 150, 170, 150, 150, 130, 170, 190 }; +s16 lbl_1_data_820[] = { + -284, 148, + -84, 233, + 116, 318, + 316, 403 +}; -static float coinAddYOfs[] = { 130, 150, 180, 150, 150, 170, 180, 210 }; +s32 lbl_1_data_830[] = { + 0x6F0008, + 0x6F0009, + 0x6F000A, + 0x6F000A +}; -static float coinBlankYOfs[] = { 140, 160, 180, 150, 150, 120, 180, 210 }; +float lbl_1_data_840[] = { + 130, + 150, + 170, + 150, + 150, + 130, + 170, + 190 +}; -static s16 coinNumXOfs[] = { 8, 0, -8 }; +float lbl_1_data_860[] = { + 130, + 150, + 180, + 150, + 150, + 170, + 180, + 210 +}; -typedef struct CoinEffect_s { - s16 playerNo; - s16 rank; - Vec pos; - Vec rotVel; - float velY; -} CoinEffect; +float lbl_1_data_880[] = { + 140, + 160, + 180, + 150, + 150, + 120, + 180, + 210 +}; + +s16 lbl_1_data_8A0[] = { + 8, + 0, + -8 +}; + +typedef struct struct_unk194 { + s16 unk0; + s16 unk2; + Vec unk4; + Vec unk10; + float unk1C; +} StructUnk194; u8 lbl_1_bss_19F8[32]; -static s16 resultBattleOrder[4]; -static s16 resultBattleRank[4]; -static s16 coinNumGrpId[4]; -static s16 coinNumSprId[4][5]; -static s16 resultBattleCharMdl[4]; -static s16 resultBattleCharMot[4][4]; -static s16 coinEffectMdlId[COIN_EFFECT_MAX]; +s16 lbl_1_bss_19F0[4]; +s16 lbl_1_bss_19E8[4]; +s16 lbl_1_bss_19E0[4]; +s16 lbl_1_bss_19B8[4][5]; +s16 lbl_1_bss_19B0[4]; +s16 lbl_1_bss_1990[4][4]; +s16 lbl_1_bss_1828[180]; s16 lbl_1_bss_181C[6]; -static s16 resultBattleEffParManId[4]; -static CoinEffect coinEffectData[COIN_EFFECT_MAX]; -static s32 resultBattleSkipF; +s16 lbl_1_bss_1814[4]; +StructUnk194 lbl_1_bss_194[180]; +s32 lbl_1_bss_190; -static void ResultBattleIdle(void); -static void ResultBattleCreate(void); -static void ResultBattleStatAdd(void); +void fn_1_6760(void); +void fn_1_6824(void); +void fn_1_7544(void); -void ResultBattleMain(void) +void fn_1_6490(void) { - s16 playerNo; - s16 i; - s16 winId; - s16 btnDown; - Process *proc = HuPrcCurrentGet(); - HuAudSeqPlay(10); - for (i = playerNo = 0; i < 4; i++) { - if (GWPlayerCfg[i].iscom) { - playerNo++; - } - } - if (playerNo == 4) { - resultBattleSkipF = 1; - } - else { - resultBattleSkipF = 0; - } - ResultBattleCreate(); - HuPrcChildCreate(ResultBattleIdle, 100, 8192, 0, proc); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet()) { - HuPrcVSleep(); - } - resultReadEndF = 0; - HuPrcChildCreate(ResultBoardDataRead, 100, 12288, 0, proc); - HuPrcSleep(10); - if (!resultFastF) { - HuPrcSleep(20); - } - ResultBattleStatAdd(); - ResultCoinAdd(); - winId = HuWinCreate(-10000.0f, 400.0f, 320, 40, 0); - HuWinMesSpeedSet(winId, 0); - HuWinBGTPLvlSet(winId, 0); - HuWinAttrSet(winId, 0x800); - HuWinMesSet(winId, MAKE_MESSID(0x24, 0x07)); - i = 0; - while (1) { - if (resultBattleSkipF && i > 120) { - break; - } - for (playerNo = btnDown = 0; playerNo < 4; playerNo++) { - if (!GWPlayerCfg[playerNo].iscom) { - btnDown |= HuPadBtnDown[GWPlayerCfg[playerNo].pad_idx]; - } - } - if (btnDown & PAD_BUTTON_A) { - HuAudFXPlay(28); - break; - } - HuPrcVSleep(); - i++; - } - HuWinKill(winId); - while (!resultReadEndF) { - HuPrcVSleep(); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - HuAudSeqAllFadeOut(500); - while (WipeStatGet()) { - HuPrcVSleep(); - } - omSysPauseEnable(1); - Hu3DParManAllKill(); - omOvlReturnEx(1, 1); - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } + s16 player; + s16 i; + s16 window; + s16 button; + Process *process = HuPrcCurrentGet(); + HuAudSeqPlay(10); + for(i=player=0; i<4; i++) { + if(GWPlayerCfg[i].iscom) { + player++; + } + } + if(player == 4) { + lbl_1_bss_190 = 1; + } else { + lbl_1_bss_190 = 0; + } + fn_1_6824(); + HuPrcChildCreate(fn_1_6760, 100, 8192, 0, process); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); + while(WipeStatGet()) { + HuPrcVSleep(); + } + lbl_1_bss_178 = 0; + HuPrcChildCreate(fn_1_3FD8, 100, 12288, 0, process); + HuPrcSleep(10); + if(!lbl_1_bss_174) { + HuPrcSleep(20); + } + fn_1_7544(); + fn_1_40DC(); + window = HuWinCreate(-10000.0f, 400.0f, 320, 40, 0); + HuWinMesSpeedSet(window, 0); + HuWinBGTPLvlSet(window, 0); + HuWinAttrSet(window, 0x800); + HuWinMesSet(window, 0x240007); + i=0; + while(1) { + if(lbl_1_bss_190 && i > 120) { + break; + } + for(player=button=0; player<4; player++) { + if(!GWPlayerCfg[player].iscom) { + button |= HuPadBtnDown[GWPlayerCfg[player].pad_idx]; + } + } + if(button & PAD_BUTTON_A) { + HuAudFXPlay(28); + break; + } + HuPrcVSleep(); + i++; + } + HuWinKill(window); + while(!lbl_1_bss_178) { + HuPrcVSleep(); + } + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + HuAudSeqAllFadeOut(500); + while(WipeStatGet()) { + HuPrcVSleep(); + } + omSysPauseEnable(1); + Hu3DParManAllKill(); + omOvlReturnEx(1, 1); + HuPrcEnd(); + while(1) { + HuPrcVSleep(); + } } -static void ResultBattleIdle(void) +void fn_1_6760(void) { - Vec temp; - temp.z = 0.0f; - temp.y = 0.0f; - temp.x = 0.0f; - while (1) { - if (((HuPadBtn[0] | HuPadBtn[1] | HuPadBtn[2] | HuPadBtn[3]) & 0x100) != 0 || resultBattleSkipF != 0) { - resultFastF = 1; + Vec temp; + temp.z = 0.0f; + temp.y = 0.0f; + temp.x = 0.0f; + while(1) { + if (((HuPadBtn[0] | HuPadBtn[1] | HuPadBtn[2] | HuPadBtn[3]) & 0x100) != 0 || lbl_1_bss_190 != 0) { + lbl_1_bss_174 = 1; + } else { + lbl_1_bss_174 = 0; } - else { - resultFastF = 0; - } - HuPrcVSleep(); - } + HuPrcVSleep(); + } } -static void ResultBattleCoinAddShow(void); -static void ResultBattleCoinAddNumSet(s16 grpId, s16 value); -static void ResultBattleOrderSet(void); -static void CoinEffectInit(void); -static void CoinEffectAdd(s16 playerNo); -static void ResultShadowDraw(struct model_data *model, Mtx matrix); +void fn_1_7F98(void); +void fn_1_8338(s16 group, s16 value); +void fn_1_8484(void); +void fn_1_8658(void); +void fn_1_86DC(s16 player); +void fn_1_8CB8(struct model_data *model, Mtx matrix); -static void ResultBattleCreate(void) +void fn_1_6824(void) { - s16 i; - s16 charNo; - s16 playerNo; - s16 xOfs; - AnimData *anim; - AnimData *anim2; - AnimData *anim3; - s16 charMdlId; - Vec pos; - Vec target; - Vec up; - s16 coinNum[5]; - Process *proc = HuPrcCurrentGet(); - CRot.x = 0; - CRot.y = 0; - CRot.z = 0; - Center.x = 0; - Center.y = 330; - Center.z = 0; - CZoom = 2210; - Hu3DShadowCreate(20, 100, 5000); - Hu3DShadowTPLvlSet(0.5f); - Hu3DShadowSizeSet(192); - target.x = target.y = target.z = 0; - pos.x = 500; - pos.z = 1000; - pos.y = 2000; - up.x = 0; - up.y = 1; - up.z = 0; - Hu3DShadowPosSet(&pos, &up, &target); - i = Hu3DHookFuncCreate(ResultShadowDraw); - Hu3DModelPosSet(i, 0, 0, 0); - ResultBattleOrderSet(); - ResultCoinNumGet(coinNum); - coinNum[resultBonusPlayer] += coinNum[4]; - for (i = 0; i < 4; i++) { - resultBattleModel[i].datanum = bomheiCubeMdlTbl[resultBattleRank[i]]; - if (resultBattleRank[i] == 3) { - resultBattleModel[i].attr = 1; - } - } - StageModelCreate(resultBattleModel); - StageSpriteCreate(resultBattleSprite); - espDrawNoSet(stageSprId[0], 127); - for (i = 0; i < 4; i++) { - Hu3DModelShadowSet(stageMdlId[i]); - } - for (i = 0; i < 4; i++) { - anim = HuSprAnimRead(HuDataReadNum(resultBattleRank[i] + DATA_MAKE_NUM(DATADIR_RESULT, 0x44), MEMORY_DEFAULT_NUM)); - if (resultBattleRank[i] <= 2) { - anim2 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_RESULT, 0x48), MEMORY_DEFAULT_NUM)); - } - else { - anim2 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_RESULT, 0x48), MEMORY_DEFAULT_NUM)); - } - Hu3DAnimCreate(anim, stageMdlId[i + 4], "ys22_a0"); - Hu3DAnimCreate(anim2, stageMdlId[i + 4], "ys22_a1"); - Hu3DModelAttrSet(stageMdlId[i + 4], HU3D_MOTATTR_PAUSE); - } - anim = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_RESULT, 0x3D), MEMORY_DEFAULT_NUM)); - anim2 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_RESULT, 0x3B), MEMORY_DEFAULT_NUM)); - anim3 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_RESULT, 0x3C), MEMORY_DEFAULT_NUM)); - for (i = 0; i < 4; i++) { - if (coinNum[resultBattleOrder[i]] >= 100) { - xOfs = coinNumXOfs[2]; - } - else if (coinNum[resultBattleOrder[i]] >= 10) { - xOfs = coinNumXOfs[1]; - } - else { - xOfs = coinNumXOfs[0]; - } - coinNumGrpId[i] = HuSprGrpCreate(5); - coinNumSprId[i][0] = HuSprCreate(anim, 10, 0); - HuSprGrpMemberSet(coinNumGrpId[i], 0, coinNumSprId[i][0]); - HuSprPosSet(coinNumGrpId[i], 0, 17, -32); - coinNumSprId[i][1] = HuSprCreate(anim2, 0, 0); - HuSprGrpMemberSet(coinNumGrpId[i], 1, coinNumSprId[i][1]); - HuSprPosSet(coinNumGrpId[i], 1, xOfs, -36); - coinNumSprId[i][2] = HuSprCreate(anim3, 0, 0); - HuSprGrpMemberSet(coinNumGrpId[i], 2, coinNumSprId[i][2]); - HuSprPosSet(coinNumGrpId[i], 2, xOfs + 16, -36); - coinNumSprId[i][3] = HuSprCreate(anim3, 0, 0); - HuSprGrpMemberSet(coinNumGrpId[i], 3, coinNumSprId[i][3]); - HuSprPosSet(coinNumGrpId[i], 3, xOfs + 32, -36); - coinNumSprId[i][4] = HuSprCreate(anim3, 0, 0); - HuSprGrpMemberSet(coinNumGrpId[i], 4, coinNumSprId[i][4]); - HuSprPosSet(coinNumGrpId[i], 4, xOfs + 48, -36); - HuSprGrpPosSet(coinNumGrpId[i], 0, 0); - ResultBattleCoinAddNumSet(coinNumGrpId[i], 9); - HuSprGrpScaleSet(coinNumGrpId[i], 0, 0); - } - (void)anim3; - Hu3DMotionSet(stageMdlId[8], stageMotId[9]); - Hu3DModelAttrSet(stageMdlId[8], HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(stageMdlId[8]); - for (i = 0; i < COIN_EFFECT_MAX; i++) { - if (i == 0) { - coinEffectMdlId[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x0C)); - } - else { - coinEffectMdlId[i] = Hu3DModelLink(coinEffectMdlId[0]); - } - Hu3DModelScaleSet(coinEffectMdlId[i], 0.5f, 0.5f, 0.5f); - Hu3DModelAttrSet(coinEffectMdlId[i], HU3D_ATTR_DISPOFF); - } - CoinEffectInit(); - anim = HuSprAnimRead(HuAR_ARAMtoMRAMFileRead(DATA_MAKE_NUM(DATADIR_EFFECT, 4), MEMORY_DEFAULT_NUM, HEAP_DATA)); - for (i = 0; i < 4; i++) { - resultBattleEffParManId[i] = Hu3DParManCreate(anim, 300, &resultBattleEffParMan); - Hu3DParManAttrSet(resultBattleEffParManId[i], 0x65); - Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(resultBattleEffParManId[i]), 1); - Hu3DParManRotSet(resultBattleEffParManId[i], 90, 0, 0); - } - HuDataDirClose(DATADIR_RESULT); - for (i = 0; i < 4; i++) { - playerNo = resultBattleOrder[i]; - charNo = GWPlayerCfg[resultBattleOrder[i]].character; - charMdlId = CharModelCreate(charNo, 2); - resultBattleCharMdl[playerNo] = charMdlId; - resultBattleCharMot[playerNo][0] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00)); - resultBattleCharMot[playerNo][1] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17)); - resultBattleCharMot[playerNo][2] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x49)); - CharModelVoiceEnableSet(charNo, resultBattleCharMot[playerNo][1], 0); - CharModelMotionSet(charNo, resultBattleCharMot[playerNo][0]); - Hu3DModelPosSet(charMdlId, playerPosTbl[i].x, playerPosTbl[resultBattleRank[i]].y, 0); - Hu3DModelAttrSet(charMdlId, HU3D_MOTATTR_LOOP); - Hu3DModelShadowSet(charMdlId); - } - CharModelDataClose(-1); + s16 i; + s16 character; + s16 player; + s16 x_ofs; + AnimData *anim; + AnimData *anim2; + AnimData *anim3; + s16 char_mdl; + Vec pos; + Vec target; + Vec up; + s16 gains[5]; + Process *process = HuPrcCurrentGet(); + CRot.x = 0; + CRot.y = 0; + CRot.z = 0; + Center.x = 0; + Center.y = 330; + Center.z = 0; + CZoom = 2210; + Hu3DShadowCreate(20, 100, 5000); + Hu3DShadowTPLvlSet(0.5f); + Hu3DShadowSizeSet(192); + target.x = target.y = target.z = 0; + pos.x = 500; + pos.z = 1000; + pos.y = 2000; + up.x = 0; + up.y = 1; + up.z = 0; + Hu3DShadowPosSet(&pos, &up, &target); + i = Hu3DHookFuncCreate(fn_1_8CB8); + Hu3DModelPosSet(i, 0, 0, 0); + fn_1_8484(); + fn_1_423C(gains); + gains[lbl_1_bss_172] += gains[4]; + for(i=0; i<4; i++) { + lbl_1_data_4E8[i].datanum = lbl_1_data_830[lbl_1_bss_19E8[i]]; + if(lbl_1_bss_19E8[i] == 3) { + lbl_1_data_4E8[i].attr = 1; + } + } + fn_1_8FF8(lbl_1_data_4E8); + fn_1_927C(lbl_1_data_758); + espDrawNoSet(lbl_1_bss_1A1A[0], 127); + for(i=0; i<4; i++) { + Hu3DModelShadowSet(lbl_1_bss_1A9C[i]); + } + for(i=0; i<4; i++) { + anim = HuSprAnimRead(HuDataReadNum(lbl_1_bss_19E8[i]+0x6F0044, MEMORY_DEFAULT_NUM));; + if(lbl_1_bss_19E8[i] <= 2) { + anim2 = HuSprAnimRead(HuDataReadNum(0x6F0048, MEMORY_DEFAULT_NUM)); + } else { + anim2 = HuSprAnimRead(HuDataReadNum(0x6F0048, MEMORY_DEFAULT_NUM)); + } + Hu3DAnimCreate(anim, lbl_1_bss_1A9C[i+4], "ys22_a0"); + Hu3DAnimCreate(anim2, lbl_1_bss_1A9C[i+4], "ys22_a1"); + Hu3DModelAttrSet(lbl_1_bss_1A9C[i+4], 0x40000002); + } + anim = HuSprAnimRead(HuDataReadNum(0x6F003D, MEMORY_DEFAULT_NUM)); + anim2 = HuSprAnimRead(HuDataReadNum(0x6F003B, MEMORY_DEFAULT_NUM)); + anim3 = HuSprAnimRead(HuDataReadNum(0x6F003C, MEMORY_DEFAULT_NUM)); + for(i=0; i<4; i++) { + if(gains[lbl_1_bss_19F0[i]] >= 100) { + x_ofs = lbl_1_data_8A0[2]; + } else if(gains[lbl_1_bss_19F0[i]] >= 10) { + x_ofs = lbl_1_data_8A0[1]; + } else { + x_ofs = lbl_1_data_8A0[0]; + } + lbl_1_bss_19E0[i] = HuSprGrpCreate(5); + lbl_1_bss_19B8[i][0] = HuSprCreate(anim, 10, 0); + HuSprGrpMemberSet(lbl_1_bss_19E0[i], 0, lbl_1_bss_19B8[i][0]); + HuSprPosSet(lbl_1_bss_19E0[i], 0, 17, -32); + lbl_1_bss_19B8[i][1] = HuSprCreate(anim2, 0, 0); + HuSprGrpMemberSet(lbl_1_bss_19E0[i], 1, lbl_1_bss_19B8[i][1]); + HuSprPosSet(lbl_1_bss_19E0[i], 1, x_ofs, -36); + lbl_1_bss_19B8[i][2] = HuSprCreate(anim3, 0, 0); + HuSprGrpMemberSet(lbl_1_bss_19E0[i], 2, lbl_1_bss_19B8[i][2]); + HuSprPosSet(lbl_1_bss_19E0[i], 2, x_ofs+16, -36); + lbl_1_bss_19B8[i][3] = HuSprCreate(anim3, 0, 0); + HuSprGrpMemberSet(lbl_1_bss_19E0[i], 3, lbl_1_bss_19B8[i][3]); + HuSprPosSet(lbl_1_bss_19E0[i], 3, x_ofs+32, -36); + lbl_1_bss_19B8[i][4] = HuSprCreate(anim3, 0, 0); + HuSprGrpMemberSet(lbl_1_bss_19E0[i], 4, lbl_1_bss_19B8[i][4]); + HuSprPosSet(lbl_1_bss_19E0[i], 4, x_ofs+48, -36); + HuSprGrpPosSet(lbl_1_bss_19E0[i], 0, 0); + fn_1_8338(lbl_1_bss_19E0[i], 9); + HuSprGrpScaleSet(lbl_1_bss_19E0[i], 0, 0); + } + (void)anim3; + Hu3DMotionSet(lbl_1_bss_1A9C[8], lbl_1_bss_1A5C[9]); + Hu3DModelAttrSet(lbl_1_bss_1A9C[8], 0x40000001); + Hu3DModelShadowSet(lbl_1_bss_1A9C[8]); + for(i=0; i<180; i++) { + if(i == 0) { + lbl_1_bss_1828[0] = Hu3DModelCreateFile(0x6F000C); + } else { + lbl_1_bss_1828[i] = Hu3DModelLink(lbl_1_bss_1828[0]); + } + Hu3DModelScaleSet(lbl_1_bss_1828[i], 0.5f, 0.5f, 0.5f); + Hu3DModelAttrSet(lbl_1_bss_1828[i], 1); + } + fn_1_8658(); + anim = HuSprAnimRead(HuAR_ARAMtoMRAMFileRead(0x120004, MEMORY_DEFAULT_NUM, HEAP_DATA)); + for(i=0; i<4; i++) { + lbl_1_bss_1814[i] = Hu3DParManCreate(anim, 300, &lbl_1_data_780); + Hu3DParManAttrSet(lbl_1_bss_1814[i], 0x65); + Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(lbl_1_bss_1814[i]), 1); + Hu3DParManRotSet(lbl_1_bss_1814[i], 90, 0, 0); + } + HuDataDirClose(DATADIR_RESULT); + for(i=0; i<4; i++) { + player = lbl_1_bss_19F0[i]; + character = GWPlayerCfg[lbl_1_bss_19F0[i]].character; + char_mdl = CharModelCreate(character, 2); + lbl_1_bss_19B0[player] = char_mdl; + lbl_1_bss_1990[player][0] = CharModelMotionCreate(character, 0x5F0000); + lbl_1_bss_1990[player][1] = CharModelMotionCreate(character, 0x5F0017); + lbl_1_bss_1990[player][2] = CharModelMotionCreate(character, 0x5F0049); + CharModelVoiceEnableSet(character, lbl_1_bss_1990[player][1], 0); + CharModelMotionSet(character, lbl_1_bss_1990[player][0]); + Hu3DModelPosSet(char_mdl, lbl_1_data_7F0[i].x, lbl_1_data_7F0[lbl_1_bss_19E8[i]].y, 0); + Hu3DModelAttrSet(char_mdl, 0x40000001); + Hu3DModelShadowSet(char_mdl); + } + CharModelDataClose(-1); } -static Vec cameraShakeOfs[] = { { 8, 0, 0 }, { 0, 8, 0 }, { 10, 5, 0 }, { -5, 10, 0 }, { 0, -8, 0 }, { 8, 10, 0 }, { -10, 8, 0 }, { 15, 0, 0 } }; +Vec lbl_1_data_8B8[] = { + { 8, 0, 0 }, + { 0, 8, 0 }, + { 10, 5, 0 }, + { -5, 10, 0 }, + { 0, -8, 0 }, + { 8, 10, 0 }, + { -10, 8, 0 }, + { 15, 0, 0 } +}; -static void ResultBattleStatAdd(void) +void fn_1_7544(void) { - s16 i; - s16 time; - s16 done_cnt; - float pos_y; - s16 coinNum[5]; - s16 delay[4]; - ResultCoinNumGet(coinNum); - for (time = 0; time <= 5; time++) { - pos_y = ((5 - time) * 50) + 580; - for (i = 0; i < 4; i++) { - Hu3DModelPosSet(stageMdlId[i + 4], playerPosTbl[i].x, pos_y, 0); - } - HuPrcVSleep(); - } - for (i = 0; i < 4; i++) { - Hu3DModelAttrReset(stageMdlId[i + 4], HU3D_MOTATTR_PAUSE); - Hu3DMotionSpeedSet(stageMdlId[i + 4], 1.5f); - } - HuPrcSleep(35); - for (i = 0; i < 4; i++) { - if (coinNum[resultBattleOrder[i]] > 0) { - Hu3DParManAttrReset(resultBattleEffParManId[i], 1); - delay[i] = frandmod(10); - } - else { - delay[i] = 0; - } - Hu3DParManPosSet(resultBattleEffParManId[i], playerPosTbl[i].x, 610.0f, 0.0f); - } - while (1) { - for (i = done_cnt = 0; i < 4; i++) { - if (delay[i]) { - delay[i]--; - continue; - } - if (coinNum[resultBattleOrder[i]] <= 0) { - Hu3DParManAttrSet(resultBattleEffParManId[i], 1); - done_cnt++; - } - else { - CoinEffectAdd(i); - coinNum[resultBattleOrder[i]]--; - if (coinNum[resultBattleOrder[i]] <= 10) { - delay[i] = 4; - } - else { - if (coinNum[resultBattleOrder[i]] <= 20) { - delay[i] = 3; - } - else { - if (coinNum[resultBattleOrder[i]] <= 40) { - delay[i] = 2; - } - else { - delay[i] = 1; - } - } - } - } - } - if (done_cnt == 4) { - break; - } - HuPrcVSleep(); - } - if (coinNum[4]) { - HuPrcSleep(20); - Hu3DModelRotSet(stageMdlId[8], 0, -90, 0); - Hu3DModelScaleSet(stageMdlId[8], 0.8f, 0.8f, 0.8f); - Hu3DMotionSpeedSet(stageMdlId[8], 2.0f); - for (i = 0; i <= 40; i++) { - Hu3DModelPosSet(stageMdlId[8], 500.0f * (1.0f - (i / 40.0f)), 0, 100.0f); - HuPrcVSleep(); - } - HuAudFXPlay(828); - Hu3DModelAttrReset(stageMdlId[10], HU3D_MOTATTR_PAUSE); - Hu3DModelPosSet(stageMdlId[10], 0, 0, 200); - for (i = 0; i < Hu3DMotionMaxTimeGet(stageMdlId[10]); i++) { - if (i > 10) { - Hu3DModelAttrSet(stageMdlId[8], HU3D_ATTR_DISPOFF); - } - Center.x = cameraShakeOfs[(i / 2) & 0x7].x; - Center.y = 330.0f + cameraShakeOfs[(i / 2) & 0x7].y; - Center.z = cameraShakeOfs[(i / 2) & 0x7].z; - espPosSet(stageSprId[0], 288.0f + cameraShakeOfs[(i / 2) & 0x7].x, 240.0f - cameraShakeOfs[(i / 2) & 0x7].y); - HuPrcVSleep(); - } - espPosSet(stageSprId[0], 288.0, 240.0); - Center.x = 0; - Center.y = 330; - Center.z = 0; - delay[0] = 10; - for (i = 0; i < 4; i++) { - if (resultBonusPlayer == resultBattleOrder[i]) { - break; - } - } - Hu3DParManAttrReset(resultBattleEffParManId[i], 1); - while (1) { - if (delay[0] != 0) { - delay[0]--; - HuPrcVSleep(); - continue; - } - if (coinNum[4] <= 0) { - Hu3DParManAttrSet(resultBattleEffParManId[i], 1); - break; - } - CoinEffectAdd(i); - coinNum[4]--; - delay[0] = 5; - HuPrcVSleep(); - } - Hu3DParManAttrSet(resultBattleEffParManId[i], 1); - } - ResultCoinNumGet(coinNum); - coinNum[resultBonusPlayer] += coinNum[4]; - for (i = 0; i < 4; i++) { - if (coinNum[resultBattleOrder[i]]) { - CharModelMotionShiftSet(GWPlayerCfg[resultBattleOrder[i]].character, resultBattleCharMot[resultBattleOrder[i]][1], 0, 4, HU3D_MOTATTR_NONE); - HuAudPlayerVoicePlay(resultBattleOrder[i], 293); - } - else { - CharModelMotionShiftSet(GWPlayerCfg[resultBattleOrder[i]].character, resultBattleCharMot[resultBattleOrder[i]][2], 0, 4, HU3D_MOTATTR_NONE); - } - } - HuPrcSleep(20); - ResultBattleCoinAddShow(); - HuPrcSleep(120); + s16 i; + s16 time; + s16 done_cnt; + float pos_y; + s16 gains[5]; + s16 time_player[4]; + fn_1_423C(gains); + for(time=0; time<=5; time++) { + pos_y = ((5-time)*50)+580; + for(i=0; i<4; i++) { + Hu3DModelPosSet(lbl_1_bss_1A9C[i+4], lbl_1_data_7F0[i].x, pos_y, 0); + } + HuPrcVSleep(); + } + for(i=0; i<4; i++) { + Hu3DModelAttrReset(lbl_1_bss_1A9C[i+4], 0x40000002); + Hu3DMotionSpeedSet(lbl_1_bss_1A9C[i+4], 1.5f); + } + HuPrcSleep(35); + for(i=0; i<4; i++) { + if(gains[lbl_1_bss_19F0[i]] > 0) { + Hu3DParManAttrReset(lbl_1_bss_1814[i], 1); + time_player[i] = frandmod(10); + } else { + time_player[i] = 0; + } + Hu3DParManPosSet(lbl_1_bss_1814[i], lbl_1_data_7F0[i].x, 610.0f, 0.0f); + } + while(1) { + for(i=done_cnt=0; i<4; i++) { + if(time_player[i]) { + time_player[i]--; + continue; + } + if(gains[lbl_1_bss_19F0[i]] <= 0) { + Hu3DParManAttrSet(lbl_1_bss_1814[i], 1); + done_cnt++; + } else { + fn_1_86DC(i); + gains[lbl_1_bss_19F0[i]]--; + if(gains[lbl_1_bss_19F0[i]] <= 10) { + time_player[i] = 4; + } else { + if(gains[lbl_1_bss_19F0[i]] <= 20) { + time_player[i] = 3; + } else { + if(gains[lbl_1_bss_19F0[i]] <= 40) { + time_player[i] = 2; + } else { + time_player[i] = 1; + } + } + } + } + } + if(done_cnt == 4) { + break; + } + HuPrcVSleep(); + } + if(gains[4]) { + HuPrcSleep(20); + Hu3DModelRotSet(lbl_1_bss_1A9C[8], 0, -90, 0); + Hu3DModelScaleSet(lbl_1_bss_1A9C[8], 0.8f, 0.8f, 0.8f); + Hu3DMotionSpeedSet(lbl_1_bss_1A9C[8], 2.0f); + for(i=0; i<=40; i++) { + Hu3DModelPosSet(lbl_1_bss_1A9C[8], 500.0f*(1.0f-(i/40.0f)), 0, 100.0f); + HuPrcVSleep(); + } + HuAudFXPlay(828); + Hu3DModelAttrReset(lbl_1_bss_1A9C[10], 0x40000002); + Hu3DModelPosSet(lbl_1_bss_1A9C[10], 0, 0, 200); + for(i=0; i 10) { + Hu3DModelAttrSet(lbl_1_bss_1A9C[8], 1); + } + Center.x = lbl_1_data_8B8[(i/2) & 0x7].x; + Center.y = 330.0f+lbl_1_data_8B8[(i/2) & 0x7].y; + Center.z = lbl_1_data_8B8[(i/2) & 0x7].z; + espPosSet(lbl_1_bss_1A1A[0], 288.0f+lbl_1_data_8B8[(i/2) & 0x7].x, 240.0f-lbl_1_data_8B8[(i/2) & 0x7].y); + HuPrcVSleep(); + } + espPosSet(lbl_1_bss_1A1A[0], 288.0, 240.0); + Center.x = 0; + Center.y = 330; + Center.z = 0; + time_player[0] = 10; + for(i=0; i<4; i++) { + if(lbl_1_bss_172 == lbl_1_bss_19F0[i]) { + break; + } + } + Hu3DParManAttrReset(lbl_1_bss_1814[i], 1); + while(1) { + if(time_player[0] != 0) { + time_player[0]--; + HuPrcVSleep(); + continue; + } + if(gains[4] <= 0){ + Hu3DParManAttrSet(lbl_1_bss_1814[i], 1); + break; + } + fn_1_86DC(i); + gains[4]--; + time_player[0] = 5; + HuPrcVSleep(); + } + Hu3DParManAttrSet(lbl_1_bss_1814[i], 1); + } + fn_1_423C(gains); + gains[lbl_1_bss_172] += gains[4]; + for(i=0; i<4; i++) { + if(gains[lbl_1_bss_19F0[i]]) { + CharModelMotionShiftSet(GWPlayerCfg[lbl_1_bss_19F0[i]].character, lbl_1_bss_1990[lbl_1_bss_19F0[i]][1], 0, 4, 0); + HuAudPlayerVoicePlay(lbl_1_bss_19F0[i], 293); + } else { + CharModelMotionShiftSet(GWPlayerCfg[lbl_1_bss_19F0[i]].character, lbl_1_bss_1990[lbl_1_bss_19F0[i]][2], 0, 4, 0); + } + } + HuPrcSleep(20); + fn_1_7F98(); + HuPrcSleep(120); } -static void ResultBattleCoinAddShow(void) +void fn_1_7F98(void) { - s16 i; - s16 time; - s16 speed; - s16 coinNum[5]; - Vec pos3D; - Vec pos2D; - ResultCoinNumGet(coinNum); - coinNum[resultBonusPlayer] += coinNum[4]; - for (i = 0; i < 4; i++) { - ResultBattleCoinAddNumSet(coinNumGrpId[i], coinNum[resultBattleOrder[i]]); - pos3D.x = playerPosTbl[i].x; - if (coinNum[resultBattleOrder[i]]) { - pos3D.y = playerPosTbl[resultBattleRank[i]].y + coinAddYOfs[GWPlayerCfg[resultBattleOrder[i]].character]; - } - else { - pos3D.y = playerPosTbl[resultBattleRank[i]].y + coinBlankYOfs[GWPlayerCfg[resultBattleOrder[i]].character]; - } - pos3D.z = 0; - Hu3D3Dto2D(&pos3D, 1, &pos2D); - HuSprGrpPosSet(coinNumGrpId[i], pos2D.x, pos2D.y); - } - speed = (resultFastF) ? 3 : 10; - for (time = 0; time <= speed; time++) { - float scale = sind((90.0 / speed) * time); - for (i = 0; i < 4; i++) { - HuSprGrpScaleSet(coinNumGrpId[i], scale, scale); - } - HuPrcVSleep(); - } - for (i = 0; i < 4; i++) { - HuSprGrpScaleSet(coinNumGrpId[i], 1.0f, 1.0f); - } + s16 i; + s16 time; + s16 delay; + s16 gains[5]; + Vec pos_3d; + Vec pos_2d; + fn_1_423C(gains); + gains[lbl_1_bss_172] += gains[4]; + for(i=0; i<4; i++) { + fn_1_8338(lbl_1_bss_19E0[i], gains[lbl_1_bss_19F0[i]]); + pos_3d.x = lbl_1_data_7F0[i].x; + if(gains[lbl_1_bss_19F0[i]]) { + pos_3d.y = lbl_1_data_7F0[lbl_1_bss_19E8[i]].y+lbl_1_data_860[GWPlayerCfg[lbl_1_bss_19F0[i]].character]; + } else { + pos_3d.y = lbl_1_data_7F0[lbl_1_bss_19E8[i]].y+lbl_1_data_880[GWPlayerCfg[lbl_1_bss_19F0[i]].character]; + } + pos_3d.z = 0; + Hu3D3Dto2D(&pos_3d, 1, &pos_2d); + HuSprGrpPosSet(lbl_1_bss_19E0[i], pos_2d.x, pos_2d.y); + } + delay = (lbl_1_bss_174) ? 3 : 10; + for(time=0; time<=delay; time++) { + float scale = sin(M_PI*((90.0/delay)*time)/180.0); + for(i=0; i<4; i++) { + HuSprGrpScaleSet(lbl_1_bss_19E0[i], scale, scale); + } + HuPrcVSleep(); + } + for(i=0; i<4; i++) { + HuSprGrpScaleSet(lbl_1_bss_19E0[i], 1.0f, 1.0f); + } } -static void ResultBattleCoinAddNumSet(s16 grpId, s16 value) +void fn_1_8338(s16 group, s16 value) { - s16 no; - s16 bank; - no = 2; - bank = value / 100; - if (bank != 0) { - HuSprBankSet(grpId, no, bank); - HuSprAttrReset(grpId, no, 4); - no++; - } - value -= bank * 100; - bank = value / 10; - if (bank != 0 || no == 3) { - HuSprBankSet(grpId, no, bank); - HuSprAttrReset(grpId, no, 4); - no++; - } - value -= bank * 10; - HuSprBankSet(grpId, no, value); - HuSprAttrReset(grpId, no, 4); - no++; - for (bank = no; bank < 5; bank++) { - HuSprAttrSet(grpId, bank, 4); - } + s16 digit; + s16 digit_value; + + digit = 2; + digit_value = value/100; + if(digit_value != 0) { + HuSprBankSet(group, digit, digit_value); + HuSprAttrReset(group, digit, 4); + digit++; + } + value -= digit_value*100; + digit_value = value/10; + if(digit_value != 0 || digit == 3) { + HuSprBankSet(group, digit, digit_value); + HuSprAttrReset(group, digit, 4); + digit++; + } + value -= digit_value*10; + HuSprBankSet(group, digit, value); + HuSprAttrReset(group, digit, 4); + digit++; + for(digit_value=digit; digit_value<5; digit_value++) { + HuSprAttrSet(group, digit_value, 4); + } } -static void ResultBattleOrderSet(void) +void fn_1_8484(void) { - s16 i; - s16 j; - for (i = 0; i < 4; i++) { - resultBattleRank[i] = GWPlayerCoinWinGet(i); - resultBattleOrder[i] = i; - } - for (j = 1; j < 4; j++) { - for (i = 0; i < 4 - j; i++) { - if (resultBattleRank[i] > resultBattleRank[i + 1]) { - s16 temp; - temp = resultBattleRank[i]; - resultBattleRank[i] = resultBattleRank[i + 1]; - resultBattleRank[i + 1] = temp; - temp = resultBattleOrder[i]; - resultBattleOrder[i] = resultBattleOrder[i + 1]; - resultBattleOrder[i + 1] = temp; - } - } - } + s16 i; + s16 j; + for(i=0; i<4; i++) { + lbl_1_bss_19E8[i] = GWPlayerCoinWinGet(i); + lbl_1_bss_19F0[i] = i; + } + for(j=1; j<4; j++) { + for(i=0; i<4-j; i++) { + if(lbl_1_bss_19E8[i] > lbl_1_bss_19E8[i+1]) { + s16 temp; + temp = lbl_1_bss_19E8[i]; + lbl_1_bss_19E8[i] = lbl_1_bss_19E8[i+1]; + lbl_1_bss_19E8[i+1] = temp; + temp = lbl_1_bss_19F0[i]; + lbl_1_bss_19F0[i] = lbl_1_bss_19F0[i+1]; + lbl_1_bss_19F0[i+1] = temp; + } + } + } } -static void CoinEffectMain(void); +void fn_1_8998(void); -static void CoinEffectInit(void) +void fn_1_8658(void) { - s16 i; - Process *process = HuPrcCurrentGet(); - for (i = 0; i < COIN_EFFECT_MAX; i++) { - coinEffectData[i].playerNo = -1; - } - HuPrcChildCreate(CoinEffectMain, 100, 8192, 0, process); + s16 i; + Process *process = HuPrcCurrentGet(); + for(i=0; i<180; i++) { + lbl_1_bss_194[i].unk0 = -1; + } + HuPrcChildCreate(fn_1_8998, 100, 8192, 0, process); } -static void CoinEffectAdd(s16 playerNo) +void fn_1_86DC(s16 player) { - s16 i; - for (i = 0; i < COIN_EFFECT_MAX; i++) { - if (coinEffectData[i].playerNo == -1) { - break; - } - } - if (i == COIN_EFFECT_MAX) { - return; - } - coinEffectData[i].playerNo = playerNo; - coinEffectData[i].pos.x = playerPosTbl[playerNo].x; - coinEffectData[i].pos.y = 610.0f; - coinEffectData[i].pos.z = 0.0f; - coinEffectData[i].rank = resultBattleRank[playerNo]; - coinEffectData[i].rotVel.x = frandmod(20) - 10.0f; - coinEffectData[i].rotVel.y = frandmod(20) - 10.0f; - coinEffectData[i].rotVel.z = 0; - coinEffectData[i].velY = 10.0f; - Hu3DModelAttrReset(coinEffectMdlId[i], HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(coinEffectMdlId[i], 0, 100, 0); - Hu3DModelRotSet(coinEffectMdlId[i], 0, 0, 0); + s16 i; + for(i=0; i<180; i++) { + if(lbl_1_bss_194[i].unk0 == -1) { + break; + } + } + if(i == 180) { + return; + } + lbl_1_bss_194[i].unk0 = player; + lbl_1_bss_194[i].unk4.x = lbl_1_data_7F0[player].x; + lbl_1_bss_194[i].unk4.y = 610.0f; + lbl_1_bss_194[i].unk4.z = 0.0f; + lbl_1_bss_194[i].unk2 = lbl_1_bss_19E8[player]; + lbl_1_bss_194[i].unk10.x = frandmod(20)-10.0f; + lbl_1_bss_194[i].unk10.y = frandmod(20)-10.0f; + lbl_1_bss_194[i].unk10.z = 0; + lbl_1_bss_194[i].unk1C = 10.0f; + Hu3DModelAttrReset(lbl_1_bss_1828[i], 1); + Hu3DModelPosSet(lbl_1_bss_1828[i], 0, 100, 0); + Hu3DModelRotSet(lbl_1_bss_1828[i], 0, 0, 0); } -static void CoinEffectMain(void) +void fn_1_8998(void) { - s16 i; - ModelData *modelP; - s16 player; - while (1) { - for (i = 0; i < COIN_EFFECT_MAX; i++) { - if (coinEffectData[i].playerNo == -1) { - continue; - } - player = coinEffectData[i].playerNo; - modelP = &Hu3DData[coinEffectMdlId[i]]; - modelP->pos = coinEffectData[i].pos; - modelP->rot.x += coinEffectData[i].rotVel.x; - modelP->rot.y += coinEffectData[i].rotVel.y; - coinEffectData[i].pos.y -= coinEffectData[i].velY; - coinEffectData[i].velY += 0.2f; - if (coinEffectData[i].pos.y < ((3 - coinEffectData[i].rank) * 100) + coinEffectYOfs[GWPlayerCfg[resultBattleOrder[player]].character]) { - Vec pos; - pos.x = playerPosTbl[player].x; - pos.y = ((3 - coinEffectData[i].rank) * 100) + coinEffectYOfs[GWPlayerCfg[resultBattleOrder[player]].character]; - pos.z = 0.0f; - CharModelCoinEffectCreate(1, &pos); - coinEffectData[i].playerNo = -1; - HuAudFXPlay(7); - Hu3DModelAttrSet(coinEffectMdlId[i], HU3D_ATTR_DISPOFF); - } - } - HuPrcVSleep(); - } + s16 i; + ModelData *model_ptr; + s16 player; + while(1) { + for(i=0; i<180; i++) { + if(lbl_1_bss_194[i].unk0 == -1) { + continue; + } + player = lbl_1_bss_194[i].unk0; + model_ptr = &Hu3DData[lbl_1_bss_1828[i]]; + model_ptr->pos = lbl_1_bss_194[i].unk4; + model_ptr->rot.x += lbl_1_bss_194[i].unk10.x; + model_ptr->rot.y += lbl_1_bss_194[i].unk10.y; + lbl_1_bss_194[i].unk4.y -= lbl_1_bss_194[i].unk1C; + lbl_1_bss_194[i].unk1C += 0.2f; + if(lbl_1_bss_194[i].unk4.y < ((3-lbl_1_bss_194[i].unk2)*100)+lbl_1_data_840[GWPlayerCfg[lbl_1_bss_19F0[player]].character]) { + Vec pos; + pos.x = lbl_1_data_7F0[player].x; + pos.y = ((3-lbl_1_bss_194[i].unk2)*100)+lbl_1_data_840[GWPlayerCfg[lbl_1_bss_19F0[player]].character]; + pos.z = 0.0f; + CharModelCoinEffectCreate(1, &pos); + lbl_1_bss_194[i].unk0 = -1; + HuAudFXPlay(7); + Hu3DModelAttrSet(lbl_1_bss_1828[i], 1); + } + } + HuPrcVSleep(); + } + } -static void ResultShadowDraw(struct model_data *model, Mtx matrix) +void fn_1_8CB8(struct model_data *model, Mtx matrix) { - s32 sp8 = 0; - GXTexObj tex; - Mtx final; - Mtx invCamera; - Mtx shadow; - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXInitTexObj(&tex, Hu3DShadowData.unk_04, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, GX_TF_I8, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXInitTexObjLOD(&tex, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); + s32 sp8 = 0; + GXTexObj tex; + Mtx final; + Mtx inv_camera; + Mtx shadow; + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + GXInitTexObj(&tex, Hu3DShadowData.unk_04, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, GX_TF_I8, GX_CLAMP, GX_CLAMP, GX_FALSE); + GXInitTexObjLOD(&tex, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); GXLoadTexObj(&tex, 0); - MTXInverse(Hu3DCameraMtx, invCamera); - MTXConcat(invCamera, matrix, final); - MTXConcat(Hu3DShadowData.unk_68, Hu3DShadowData.unk_38, shadow); - MTXConcat(shadow, final, final); - GXLoadTexMtxImm(final, GX_TEXMTX9, GX_MTX3x4); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX9); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_TEXC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_FALSE, GX_TEVPREV); - GXSetNumTexGens(1); - GXSetNumTevStages(1); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0, GX_TRUE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT0, GX_DF_CLAMP, GX_AF_NONE); - GXSetBlendMode(GX_BM_BLEND, GX_BL_ZERO, GX_BL_INVDSTCLR, GX_LO_NOOP); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); - GXLoadPosMtxImm(matrix, GX_PNMTX0); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(-500.0f, 0, -500.0f); - GXPosition3f32(500.0f, 0, -500.0f); - GXPosition3f32(500.0f, 0, 500.0f); - GXPosition3f32(-500.0f, 0, 500.0f); - GXEnd(); -} + MTXInverse(Hu3DCameraMtx, inv_camera); + MTXConcat(inv_camera, matrix, final); + MTXConcat(Hu3DShadowData.unk_68, Hu3DShadowData.unk_38, shadow); + MTXConcat(shadow, final, final); + GXLoadTexMtxImm(final, GX_TEXMTX9, GX_MTX3x4); + GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX9); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_TEXC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_FALSE, GX_TEVPREV); + GXSetNumTexGens(1); + GXSetNumTevStages(1); + GXSetNumChans(1); + GXSetChanCtrl(GX_COLOR0, GX_TRUE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT0, GX_DF_CLAMP, GX_AF_NONE); + GXSetBlendMode(GX_BM_BLEND, GX_BL_ZERO, GX_BL_INVDSTCLR, GX_LO_NOOP); + GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); + GXLoadPosMtxImm(matrix, GX_PNMTX0); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition3f32(-500.0f, 0, -500.0f); + GXPosition3f32(500.0f, 0, -500.0f); + GXPosition3f32(500.0f, 0, 500.0f); + GXPosition3f32(-500.0f, 0, 500.0f); + GXEnd(); +} \ No newline at end of file diff --git a/src/REL/resultDll/datalist.c b/src/REL/resultDll/datalist.c index 5d747f30..6b5705a2 100644 --- a/src/REL/resultDll/datalist.c +++ b/src/REL/resultDll/datalist.c @@ -1,17 +1,13 @@ #include "REL/resultdll.h" -#ifndef __MWERKS__ -#include "game/esprite.h" -#endif - -s16 stageMdlId[32]; -s16 stageMotId[32]; -s16 stageSprId[33]; +s16 lbl_1_bss_1A9C[32]; +s16 lbl_1_bss_1A5C[32]; +s16 lbl_1_bss_1A1A[33]; s16 lbl_1_bss_1A18; -void StageModelCreate(StageModel *model_list) +void fn_1_8FF8(DataListModel *model_list) { - StageModel *list; + DataListModel *list; s16 i; s16 model; s16 clear_i; @@ -19,24 +15,24 @@ void StageModelCreate(StageModel *model_list) void *data; list = model_list; for(clear_i=0; clear_i<32; clear_i++) { - stageMdlId[clear_i] = stageMotId[clear_i] = -1; + lbl_1_bss_1A9C[clear_i] = lbl_1_bss_1A5C[clear_i] = -1; } for(i=0; list->datanum != DATA_NUM_LISTEND; list++, i++) { if(list->type == 0) { data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA); model = Hu3DModelCreate(data); - stageMdlId[i] = model; + lbl_1_bss_1A9C[i] = model; Hu3DModelAttrSet(model, list->attr); Hu3DModelPosSetV(model, &list->pos); Hu3DModelRotSetV(model, &list->rot); Hu3DModelScaleSetV(model, &list->scale); model_ptr = &Hu3DData[model]; if(model_ptr->unk_08 != -1) { - stageMotId[i] = model_ptr->unk_08; + lbl_1_bss_1A5C[i] = model_ptr->unk_08; } } else if(list->type == 1) { data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA); - stageMotId[i] = Hu3DJointMotion(stageMdlId[list->mot_link], data); + lbl_1_bss_1A5C[i] = Hu3DJointMotion(lbl_1_bss_1A9C[list->mot_link], data); } (void)i; @@ -44,33 +40,33 @@ void StageModelCreate(StageModel *model_list) list = model_list; for(i=0; list->datanum != DATA_NUM_LISTEND; list++, i++) { if(list->type == 2) { - model = Hu3DModelLink(stageMdlId[list->link]); - stageMdlId[i] = model; + model = Hu3DModelLink(lbl_1_bss_1A9C[list->link]); + lbl_1_bss_1A9C[i] = model; Hu3DModelAttrSet(model, list->attr); Hu3DModelPosSetV(model, &list->pos); Hu3DModelRotSetV(model, &list->rot); Hu3DModelScaleSetV(model, &list->scale); } if(list->mot_link != -1) { - Hu3DMotionSet(stageMdlId[i], stageMotId[list->mot_link]); + Hu3DMotionSet(lbl_1_bss_1A9C[i], lbl_1_bss_1A5C[list->mot_link]); } (void)i; } } -void StageSpriteCreate(StageSprite *sprite_list) +void fn_1_927C(DataListSprite *sprite_list) { - StageSprite *list; + DataListSprite *list; s16 sprite; s16 clear_i; s16 i; list = sprite_list; for(clear_i=0; clear_i<32; clear_i++) { - stageSprId[clear_i] = -1; + lbl_1_bss_1A1A[clear_i] = -1; } for(i=0; list->datanum; i++, list++) { sprite = espEntry(list->datanum, 100, 0); - stageSprId[i] = sprite; + lbl_1_bss_1A1A[i] = sprite; espPosSet(sprite, list->x, list->y); espColorSet(sprite, list->color.r, list->color.g, list->color.b); espTPLvlSet(sprite, list->color.a/255.0f); @@ -79,12 +75,12 @@ void StageSpriteCreate(StageSprite *sprite_list) } } -void StageSpriteKill(void) +void fn_1_93B4(void) { s16 i; for(i=0; i<32; i++) { - if(stageSprId[i] != -1) { - espKill(stageSprId[i]); + if(lbl_1_bss_1A1A[i] != -1) { + espKill(lbl_1_bss_1A1A[i]); } } -} +} \ No newline at end of file diff --git a/src/REL/resultDll/main.c b/src/REL/resultDll/main.c index 84d801c9..00793250 100644 --- a/src/REL/resultDll/main.c +++ b/src/REL/resultDll/main.c @@ -1,1307 +1,1299 @@ #include "dolphin.h" -#include "game/armem.h" -#include "game/audio.h" -#include "game/board/player.h" -#include "game/data.h" -#include "game/frand.h" -#include "game/gamework.h" -#include "game/hsfman.h" +#include "rel_sqrt_consts.h" #include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/process.h" -#include "game/saveload.h" +#include "game/data.h" #include "game/window.h" +#include "game/hsfman.h" +#include "game/process.h" +#include "game/objsub.h" +#include "game/audio.h" #include "game/wipe.h" +#include "game/pad.h" +#include "game/armem.h" +#include "game/saveload.h" +#include "game/gamework.h" +#include "game/board/player.h" +#include "game/frand.h" -#include "ext_math.h" +#include "math.h" #include "REL/resultdll.h" -#ifndef __MWERKS__ -#include "game/esprite.h" -#endif - -static StageModel resultModel[] = { { DATA_MAKE_NUM(DATADIR_RESULT, 0x00), 1, 0, -1, -1, { 148, 132, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x01), 1, 0, -1, -1, { 148, 217, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x02), 1, 0, -1, -1, { 148, 302, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x03), 1, 0, -1, -1, { 148, 387, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x06), 0, 0, -1, -1, { 230, 132, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x06), 0, 2, 4, -1, { 230, 217, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x06), 0, 2, 4, -1, { 230, 302, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x06), 0, 2, 4, -1, { 230, 387, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x05), 0, 0, -1, -1, { 410, 132, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x06), 0, 2, 8, -1, { 410, 217, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x06), 0, 2, 8, -1, { 410, 302, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x06), 0, 2, 8, -1, { 410, 387, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, - { -1, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } } }; - -static StageSprite resultSprite[] = { - { DATA_MAKE_NUM(DATADIR_RESULT, 0x43), 0, 10, 288, 240, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x1D), 0, 10, 288, 60, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x1A), 0, 10, 270, 132, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x1A), 0, 10, 450, 132, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x1A), 0, 10, 270, 217, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x1A), 0, 10, 450, 217, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x1A), 0, 10, 270, 302, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x1A), 0, 10, 450, 302, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x1A), 0, 10, 270, 387, { 255, 255, 255, 255 } }, - { DATA_MAKE_NUM(DATADIR_RESULT, 0x1A), 0, 10, 450, 387, { 255, 255, 255, 255 } }, - { 0, 0, 0, 0, 0, { 0, 0, 0, 0 } }, +DataListModel lbl_1_data_0[] = { + { 0x6F0000, 1, 0, -1, -1, { 148, 132, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x6F0001, 1, 0, -1, -1, { 148, 217, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x6F0002, 1, 0, -1, -1, { 148, 302, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x6F0003, 1, 0, -1, -1, { 148, 387, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x6F0006, 0, 0, -1, -1, { 230, 132, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x6F0006, 0, 2, 4, -1, { 230, 217, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x6F0006, 0, 2, 4, -1, { 230, 302, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x6F0006, 0, 2, 4, -1, { 230, 387, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x6F0005, 0, 0, -1, -1, { 410, 132, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x6F0006, 0, 2, 8, -1, { 410, 217, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x6F0006, 0, 2, 8, -1, { 410, 302, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x6F0006, 0, 2, 8, -1, { 410, 387, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { -1, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } } }; -static s16 rankNewGrpId = -1; +DataListSprite lbl_1_data_2A4[] = { + { 0x6F0043, 0, 10, 288, 240, { 255, 255, 255, 255 } }, + { 0x6F001D, 0, 10, 288, 60, { 255, 255, 255, 255 } }, + { 0x6F001A, 0, 10, 270, 132, { 255, 255, 255, 255 } }, + { 0x6F001A, 0, 10, 450, 132, { 255, 255, 255, 255 } }, + { 0x6F001A, 0, 10, 270, 217, { 255, 255, 255, 255 } }, + { 0x6F001A, 0, 10, 450, 217, { 255, 255, 255, 255 } }, + { 0x6F001A, 0, 10, 270, 302, { 255, 255, 255, 255 } }, + { 0x6F001A, 0, 10, 450, 302, { 255, 255, 255, 255 } }, + { 0x6F001A, 0, 10, 270, 387, { 255, 255, 255, 255 } }, + { 0x6F001A, 0, 10, 450, 387, { 255, 255, 255, 255 } }, + { 0, 0, 0, 0, 0, { 0, 0, 0, 0 } }, +}; + +s16 lbl_1_data_380 = -1; omObjData *lbl_1_bss_188; -static omObjData *outViewObj; -Process *objman; -s16 resultMgNo; -s32 resultReadEndF; -s32 resultFastF; -s16 resultBonusPlayer; -static s16 teamResultGrpId; -static s16 charShadowMdlId[4]; -static s16 statShadowMdlId[8]; -static AnimData *resultRankAnim[5]; -static AnimData *resultCharAnim[8][3]; -static AnimData *resultCrownAnim; -static s16 resultNumGrpId[8]; -static s16 resultNumSprId[8][3]; -static s16 resultCrownGrpId; -static s16 resultCubeMdlId[8][4]; -static s16 resultPlayerCubeMdlId[4]; -static s16 resultRankGrpId; -static s16 resultOrder[4]; -static s16 resultRank[4]; -static s16 resultCoinAddGrpId[4]; -static s16 resultCoinAddSprId[4][5]; -static s16 resultCharCubeMdlId[4]; -static s16 resultTeamOrder; -static s32 resultSkipF; -static s32 resultReorderF; +omObjData *lbl_1_bss_184; +Process *lbl_1_bss_180; +s16 lbl_1_bss_17C; +s32 lbl_1_bss_178; +s32 lbl_1_bss_174; +s16 lbl_1_bss_172; +s16 lbl_1_bss_170; +s16 lbl_1_bss_168[4]; +s16 lbl_1_bss_158[8]; +AnimData *lbl_1_bss_144[5]; +AnimData *lbl_1_bss_E4[8][3]; +AnimData *lbl_1_bss_E0; +s16 lbl_1_bss_CE[9]; +s16 lbl_1_bss_9E[8][3]; +s16 lbl_1_bss_9C; +s16 lbl_1_bss_5C[8][4]; +s16 lbl_1_bss_54[4]; +s16 lbl_1_bss_52; +s16 lbl_1_bss_4A[4]; +s16 lbl_1_bss_42[4]; +s16 lbl_1_bss_3A[4]; +s16 lbl_1_bss_12[4][5]; +s16 lbl_1_bss_A[4]; +s16 lbl_1_bss_8; +s32 lbl_1_bss_4; +s32 lbl_1_bss_0; -static void ResultMain(void); -static void ResultIdle(void); +void fn_1_4D8(void); +void fn_1_888(void); + +void fn_1_B78(void); +void fn_1_1F4C(void); +void fn_1_2ADC(void); +void fn_1_461C(void); +void fn_1_47FC(void); -static void ResultCreate(void); -static void ResultStatAdd(void); -static void ResultOrderApply(void); -static void SaveExec(void); -static void ResultTeamExec(void); void ObjectSetup(void) { - s32 i; - s32 lightId; - OSReport("******* RESULT ObjectSetup *********\n"); - objman = omInitObjMan(50, 8192); - resultMgNo = GWSystem.mg_next; - - if (mgInfoTbl[resultMgNo].ovl == OVL_M430) { - for (i = 0; i < 4; i++) { - GWPlayerCfg[i].group = GWPlayerCfg[i].group / 2; - } - } - HuDataDirClose(mgInfoTbl[resultMgNo].data_dir); - if (mgInfoTbl[resultMgNo].type == 3 || mgInfoTbl[resultMgNo].type == 5 || mgInfoTbl[resultMgNo].type == 6 - || !_CheckFlag(FLAG_ID_MAKE(1, 0))) { - if (_CheckFlag(0x10000)) { - HuAR_DVDtoARAM(DATADIR_BOARD); - while (HuARDMACheck()) - ; - } - omOvlReturnEx(1, 1); - return; - } - CRot.x = 0.0f; - CRot.y = 0.0f; - CRot.z = 0.0f; - Center.x = 0.0f; - Center.y = 0.0f; - Center.z = 0.0f; - CZoom = 500.0f; - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 20.0f, 20.0f, 15000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); - lightId = Hu3DGLightCreate(0, 100, 1000, 0, -0.5, -1, 255, 255, 255); - Hu3DGLightInfinitytSet(lightId); - resultFastF = 0; - if (mgInfoTbl[GWSystem.mg_next].type != 4) { - HuPrcChildCreate(ResultMain, 100, 12288, 0, objman); - } - else { - HuPrcChildCreate(ResultBattleMain, 100, 12288, 0, objman); - } - outViewObj = omAddObjEx(objman, 32730, 0, 0, -1, omOutView); - HuWinInit(1); - resultBonusPlayer = frandmod(4); + s32 i; + s32 light; + OSReport("******* RESULT ObjectSetup *********\n"); + lbl_1_bss_180 = omInitObjMan(50, 8192); + lbl_1_bss_17C = GWSystem.mg_next; + + if(mgInfoTbl[lbl_1_bss_17C].ovl == OVL_M430) { + for(i=0; i<4; i++) { + GWPlayerCfg[i].group = GWPlayerCfg[i].group/2; + } + } + HuDataDirClose(mgInfoTbl[lbl_1_bss_17C].data_dir); + if(mgInfoTbl[lbl_1_bss_17C].type == 3 || mgInfoTbl[lbl_1_bss_17C].type == 5 || mgInfoTbl[lbl_1_bss_17C].type == 6 || !_CheckFlag(FLAG_ID_MAKE(1, 0))) { + if(_CheckFlag(0x10000)) { + HuAR_DVDtoARAM(DATADIR_BOARD); + while(HuARDMACheck()); + } + omOvlReturnEx(1, 1); + return; + } + CRot.x = 0.0f; + CRot.y = 0.0f; + CRot.z = 0.0f; + Center.x = 0.0f; + Center.y = 0.0f; + Center.z = 0.0f; + CZoom = 500.0f; + Hu3DCameraCreate(1); + Hu3DCameraPerspectiveSet(1, 20.0f, 20.0f, 15000.0f, 1.2f); + Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); + light = Hu3DGLightCreate(0, 100, 1000, 0, -0.5, -1, 255, 255, 255); + Hu3DGLightInfinitytSet(light); + lbl_1_bss_174 = 0; + if(mgInfoTbl[GWSystem.mg_next].type != 4) { + HuPrcChildCreate(fn_1_4D8, 100, 12288, 0, lbl_1_bss_180); + + } else { + HuPrcChildCreate(fn_1_6490, 100, 12288, 0, lbl_1_bss_180); + } + lbl_1_bss_184 = omAddObjEx(lbl_1_bss_180, 32730, 0, 0, -1, omOutView); + HuWinInit(1); + lbl_1_bss_172 = frandmod(4); } -static void ResultMain(void) +void fn_1_4D8(void) { - s16 player; - s16 i; - s16 winId; - s16 btnDown; - Process *proc = HuPrcCurrentGet(); - HuAudSeqPlay(57); - for (i = player = 0; i < 4; i++) { - if (GWPlayerCfg[i].iscom) { - player++; - } - } - if (player == 4) { - resultSkipF = 1; - } - else { - resultSkipF = 0; - } - ResultCreate(); - HuPrcChildCreate(ResultIdle, 100, 8192, 0, objman); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet()) { - HuPrcVSleep(); - } - HuDataDirClose(DATADIR_RESULT); - resultReadEndF = 0; - HuPrcChildCreate(ResultBoardDataRead, 100, 12288, 0, objman); - HuPrcSleep(10); - if (!resultFastF) { - HuPrcSleep(20); - } - ResultStatAdd(); - ResultCoinAdd(); - ResultOrderApply(); - winId = HuWinCreate(-10000.0f, 400.0f, 320, 40, 0); - HuWinMesSpeedSet(winId, 0); - HuWinBGTPLvlSet(winId, 0); - HuWinPriSet(winId, 5); - HuWinAttrSet(winId, 0x800); - HuWinMesSet(winId, MAKE_MESSID(0x24, 0x07)); - HuPrcSleep(4); - i = 0; - while (1) { - if (!resultSkipF || i <= 120) { - for (player = btnDown = 0; player < 4; player++) { - if (!GWPlayerCfg[player].iscom) { - btnDown |= HuPadBtnDown[GWPlayerCfg[player].pad_idx]; - } - } - if (btnDown & PAD_BUTTON_A) { - HuAudFXPlay(28); - break; - } - HuPrcVSleep(); - i++; - } - else { - break; - } - } - HuWinKill(winId); - if (GWTeamGet()) { - ResultTeamExec(); - } - while (!resultReadEndF) { - HuPrcVSleep(); - } - HuAudSeqAllFadeOut(1000); - WipeColorSet(255, 255, 255); - if (GWSaveModeGet() != 1 && SLSaveFlagGet()) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet()) { - HuPrcVSleep(); - } - SaveExec(); - } - else { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - while (WipeStatGet()) { - HuPrcVSleep(); - } - } - omSysPauseEnable(1); - omOvlReturnEx(1, 1); - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } + s16 player; + s16 i; + s16 window; + s16 button; + Process *process_curr = HuPrcCurrentGet(); + HuAudSeqPlay(57); + for(i=player=0; i<4; i++) { + if(GWPlayerCfg[i].iscom) { + player++; + } + } + if(player == 4) { + lbl_1_bss_4 = 1; + } else { + lbl_1_bss_4 = 0; + } + fn_1_B78(); + HuPrcChildCreate(fn_1_888, 100, 8192, 0, lbl_1_bss_180); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); + while(WipeStatGet()) { + HuPrcVSleep(); + } + HuDataDirClose(DATADIR_RESULT); + lbl_1_bss_178 = 0; + HuPrcChildCreate(fn_1_3FD8, 100, 12288, 0, lbl_1_bss_180); + HuPrcSleep(10); + if(!lbl_1_bss_174) { + HuPrcSleep(20); + } + fn_1_1F4C(); + fn_1_40DC(); + fn_1_2ADC(); + window = HuWinCreate(-10000.0f, 400.0f, 320, 40, 0); + HuWinMesSpeedSet(window, 0); + HuWinBGTPLvlSet(window, 0); + HuWinPriSet(window, 5); + HuWinAttrSet(window, 0x800); + HuWinMesSet(window, 0x240007); + HuPrcSleep(4); + i=0; + while(1) { + if(!lbl_1_bss_4 || i <= 120) { + for(player=button=0; player<4; player++) { + if(!GWPlayerCfg[player].iscom) { + button |= HuPadBtnDown[GWPlayerCfg[player].pad_idx]; + } + } + if(button & PAD_BUTTON_A) { + HuAudFXPlay(28); + break; + } + HuPrcVSleep(); + i++; + } else { + break; + } + } + HuWinKill(window); + if(GWTeamGet()) { + fn_1_47FC(); + } + while(!lbl_1_bss_178) { + HuPrcVSleep(); + } + HuAudSeqAllFadeOut(1000); + WipeColorSet(255, 255, 255); + if(GWSaveModeGet() != 1 && SLSaveFlagGet()) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + while(WipeStatGet()) { + HuPrcVSleep(); + } + fn_1_461C(); + } else { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + while(WipeStatGet()) { + HuPrcVSleep(); + } + } + omSysPauseEnable(1); + omOvlReturnEx(1, 1); + HuPrcEnd(); + while(1) { + HuPrcVSleep(); + } } -static void ResultIdle(void) +void fn_1_888(void) { - float rotRightSpeed; - float rotLeft; - float rotRight; + f32 var_f29; + f32 var_f31; + f32 var_f30; - rotLeft = 0.0f; - rotRight = 0.0f; - rotRightSpeed = 0.0f; - resultReorderF = 0; + var_f31 = 0.0f; + var_f30 = 0.0f; + var_f29 = 0.0f; + lbl_1_bss_0 = 0; while (1) { - if (((HuPadBtn[0] | HuPadBtn[1] | HuPadBtn[2] | HuPadBtn[3]) & PAD_BUTTON_A) != 0 || resultSkipF != 0) { - resultFastF = 1; + if (((HuPadBtn[0] | HuPadBtn[1] | HuPadBtn[2] | HuPadBtn[3]) & 0x100) != 0 || lbl_1_bss_4 != 0) { + lbl_1_bss_174 = 1; + } else { + lbl_1_bss_174 = 0; } - else { - resultFastF = 0; + Hu3DModelRotSet(lbl_1_bss_1A9C[4], 0.0f, var_f31, 0.0f); + Hu3DModelRotSet(lbl_1_bss_1A9C[5], 0.0f, -var_f31, 0.0f); + Hu3DModelRotSet(lbl_1_bss_1A9C[6], 0.0f, var_f31, 0.0f); + Hu3DModelRotSet(lbl_1_bss_1A9C[7], 0.0f, -var_f31, 0.0f); + var_f31 += 0.2; + if (var_f31 >= 360.0f) { + var_f31 -= 360.0f; } - Hu3DModelRotSet(stageMdlId[4], 0.0f, rotLeft, 0.0f); - Hu3DModelRotSet(stageMdlId[5], 0.0f, -rotLeft, 0.0f); - Hu3DModelRotSet(stageMdlId[6], 0.0f, rotLeft, 0.0f); - Hu3DModelRotSet(stageMdlId[7], 0.0f, -rotLeft, 0.0f); - rotLeft += 0.2; - if (rotLeft >= 360.0f) { - rotLeft -= 360.0f; - } - if (resultReorderF != 0) { - Hu3DModelRotSet(stageMdlId[8], 0.0f, rotRight, 0.0f); - Hu3DModelRotSet(stageMdlId[9], 0.0f, -rotRight, 0.0f); - Hu3DModelRotSet(stageMdlId[10], 0.0f, rotRight, 0.0f); - Hu3DModelRotSet(stageMdlId[11], 0.0f, -rotRight, 0.0f); - rotRightSpeed += 0.001; - if (rotRightSpeed > 0.1) { - rotRightSpeed = 0.1f; + if (lbl_1_bss_0 != 0) { + Hu3DModelRotSet(lbl_1_bss_1A9C[8], 0.0f, var_f30, 0.0f); + Hu3DModelRotSet(lbl_1_bss_1A9C[9], 0.0f, -var_f30, 0.0f); + Hu3DModelRotSet(lbl_1_bss_1A9C[10], 0.0f, var_f30, 0.0f); + Hu3DModelRotSet(lbl_1_bss_1A9C[11], 0.0f, -var_f30, 0.0f); + var_f29 += 0.001; + if (var_f29 > 0.1) { + var_f29 = 0.1f; } - rotRight += rotRightSpeed; - if (rotRight >= 360.0f) { - rotRight -= 360.0f; + var_f30 += var_f29; + if (var_f30 >= 360.0f) { + var_f30 -= 360.0f; } } HuPrcVSleep(); } } -static s32 resultBackFile[] = { - DATA_MAKE_NUM(DATADIR_RESULT, 0x10), - DATA_MAKE_NUM(DATADIR_RESULT, 0x11), - DATA_MAKE_NUM(DATADIR_RESULT, 0x12), - DATA_MAKE_NUM(DATADIR_RESULT, 0x13), - DATA_MAKE_NUM(DATADIR_RESULT, 0x14), - DATA_MAKE_NUM(DATADIR_RESULT, 0x15), +s32 lbl_1_data_3A8[] = { + 0x006F0010, + 0x006F0011, + 0x006F0012, + 0x006F0013, + 0x006F0014, + 0x006F0015 }; -static s32 resultLetterFile[] = { - DATA_MAKE_NUM(DATADIR_RESULT, 0x1F), - DATA_MAKE_NUM(DATADIR_RESULT, 0x1E), - DATA_MAKE_NUM(DATADIR_RESULT, 0x1D), - DATA_MAKE_NUM(DATADIR_RESULT, 0x21), - DATA_MAKE_NUM(DATADIR_RESULT, 0x20), - DATA_MAKE_NUM(DATADIR_RESULT, 0x1F), +s32 lbl_1_data_3C0[] = { + 0x006F001F, + 0x006F001E, + 0x006F001D, + 0x006F0021, + 0x006F0020, + 0x006F001F }; -static s16 resultStatPosTbl[] = { - 320, - 132, - 500, - 132, - 320, - 217, - 500, - 217, - 320, - 302, - 500, - 302, - 320, - 387, - 500, - 387, +s16 lbl_1_data_3D8[] = { + 320, 132, + 500, 132, + 320, 217, + 500, 217, + 320, 302, + 500, 302, + 320, 387, + 500, 387, }; -static s16 resultRankPosTbl[] = { 74, 132, 74, 217, 74, 302, 74, 387 }; - -static Vec resultCharPosTbl[4] = { { 148, 132, 500 }, { 148, 217, 500 }, { 148, 302, 500 }, { 148, 387, 500 } }; - -static s16 resultCoinAddPosTbl[] = { 164, 148, 164, 233, 164, 318, 164, 403 }; - -static void ResultSprNumSet(s16 grpId, s16 value); -static void ResultCoinAddNumSet(s16 grpId, s16 value); - -static void ResultOrderSet(void); - -static void ResultCreate(void) -{ - Vec pos; - s16 coinNum[5]; - s16 i; - s16 j; - s16 charNo; - AnimData *anim; - s16 sprId; - s16 grpId; - s16 mdlId; - AnimData *anim2; - AnimData *anim3; - AnimData *anim4; - - StageModelCreate(resultModel); - resultSprite[0].datanum = resultBackFile[mgInfoTbl[resultMgNo].type]; - resultSprite[1].datanum = resultLetterFile[mgInfoTbl[resultMgNo].type]; - StageSpriteCreate(resultSprite); - espDrawNoSet(stageSprId[0], 127); - anim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x1B)); - for (i = 0; i < 8; i++) { - resultNumGrpId[i] = HuSprGrpCreate(3); - resultNumSprId[i][0] = HuSprCreate(anim, 0, 0); - HuSprGrpMemberSet(resultNumGrpId[i], 0, resultNumSprId[i][0]); - HuSprPosSet(resultNumGrpId[i], 0, -28.0f, 0.0f); - resultNumSprId[i][1] = HuSprCreate(anim, 0, 0); - HuSprGrpMemberSet(resultNumGrpId[i], 1, resultNumSprId[i][1]); - HuSprPosSet(resultNumGrpId[i], 1, 0.0f, 0.0f); - resultNumSprId[i][2] = HuSprCreate(anim, 0, 0); - HuSprGrpMemberSet(resultNumGrpId[i], 2, resultNumSprId[i][2]); - HuSprPosSet(resultNumGrpId[i], 2, 28.0f, 0.0f); - HuSprGrpPosSet(resultNumGrpId[i], resultStatPosTbl[(i * 2)], resultStatPosTbl[(i * 2) + 1]); - ResultSprNumSet(resultNumGrpId[i], 999); - } - ResultOrderSet(); - ResultCoinNumGet(coinNum); - anim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x3A)); - anim3 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x3B)); - anim2 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x3C)); - anim4 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x3E)); - for (i = 0; i < 4; i++) { - resultCoinAddGrpId[i] = HuSprGrpCreate(5); - if (coinNum[resultOrder[i]] < 100) { - resultCoinAddSprId[i][0] = HuSprCreate(anim, 10, 0); - HuSprGrpMemberSet(resultCoinAddGrpId[i], 0, resultCoinAddSprId[i][0]); - HuSprPosSet(resultCoinAddGrpId[i], 0, 30.0f, -25.0f); - } - else { - resultCoinAddSprId[i][0] = HuSprCreate(anim4, 10, 0); - HuSprGrpMemberSet(resultCoinAddGrpId[i], 0, resultCoinAddSprId[i][0]); - HuSprPosSet(resultCoinAddGrpId[i], 0, 40.0f, -21.0f); - } - resultCoinAddSprId[i][1] = HuSprCreate(anim3, 0, 0); - HuSprGrpMemberSet(resultCoinAddGrpId[i], 1, resultCoinAddSprId[i][1]); - HuSprPosSet(resultCoinAddGrpId[i], 1, 12.0f, -25.0f); - resultCoinAddSprId[i][2] = HuSprCreate(anim2, 0, 0); - HuSprGrpMemberSet(resultCoinAddGrpId[i], 2, resultCoinAddSprId[i][2]); - HuSprPosSet(resultCoinAddGrpId[i], 2, 28.0f, -25.0f); - resultCoinAddSprId[i][3] = HuSprCreate(anim2, 0, 0); - HuSprGrpMemberSet(resultCoinAddGrpId[i], 3, resultCoinAddSprId[i][3]); - HuSprPosSet(resultCoinAddGrpId[i], 3, 44.0f, -25.0f); - resultCoinAddSprId[i][4] = HuSprCreate(anim2, 0, 0); - HuSprGrpMemberSet(resultCoinAddGrpId[i], 4, resultCoinAddSprId[i][4]); - HuSprPosSet(resultCoinAddGrpId[i], 4, 60.0f, -25.0f); - HuSprGrpPosSet(resultCoinAddGrpId[i], resultCoinAddPosTbl[(i * 2)], resultCoinAddPosTbl[(i * 2) + 1]); - ResultCoinAddNumSet(resultCoinAddGrpId[i], 9); - HuSprGrpScaleSet(resultCoinAddGrpId[i], 0.0f, 0.0f); - } - for (i = 0; i < 4; i++) { - charNo = GWPlayerCfg[i].character; - resultCharAnim[charNo][0] = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x22) + (charNo * 3)); - resultCharAnim[charNo][1] = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x23) + (charNo * 3)); - resultCharAnim[charNo][2] = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x24) + (charNo * 3)); - for (j = 0; j < 4; j++) { - resultCubeMdlId[charNo][j] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x00) + j); - Hu3DModelScaleSet(resultCubeMdlId[charNo][j], 1.1f, 1.1f, 1.1f); - Hu3DAnimCreate(resultCharAnim[charNo][0], resultCubeMdlId[charNo][j], "ys22"); - Hu3DModelAttrSet(resultCubeMdlId[charNo][j], HU3D_ATTR_DISPOFF); - } - } - for (i = 0; i < 4; i++) { - resultRankAnim[i] = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x16) + i); - } - resultRankGrpId = HuSprGrpCreate(4); - for (i = 0; i < 4; i++) { - sprId = HuSprCreate(resultRankAnim[resultRank[i]], i, 0); - HuSprGrpMemberSet(resultRankGrpId, i, sprId); - HuSprPosSet(resultRankGrpId, i, resultRankPosTbl[(i * 2)], resultRankPosTbl[(i * 2) + 1]); - ResultSprNumSet(resultNumGrpId[(i * 2)], GWStarsGet(resultOrder[i])); - ResultSprNumSet(resultNumGrpId[(i * 2) + 1], BoardPlayerCoinsGet(resultOrder[i])); - charNo = GWPlayerCfg[resultOrder[i]].character; - Hu3D2Dto3D(&resultCharPosTbl[i], 1, &pos); - Hu3DModelPosSetV(resultCubeMdlId[charNo][resultRank[i]], &pos); - Hu3DModelAttrReset(resultCubeMdlId[charNo][resultRank[i]], HU3D_ATTR_DISPOFF); - } - for (i = 4; i <= 11; i++) { - Hu3D2Dto3D(&resultModel[i].pos, 1, &pos); - Hu3DModelPosSetV(stageMdlId[i], &pos); - Hu3D3Dto2D(&pos, 1, &pos); - } - mdlId = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x04)); - for (i = 0; i < 4; i++) { - j = Hu3DModelLink(mdlId); - charShadowMdlId[i] = j; - pos = resultCharPosTbl[i]; - pos.x += 5.0f; - pos.y += 3.0f; - pos.z += 200.0f; - Hu3D2Dto3D(&pos, 1, &pos); - Hu3DModelPosSetV(j, &pos); - Hu3DModelScaleSet(j, 1.5f, 1.5f, 1.5f); - } - Hu3DModelAttrSet(mdlId, HU3D_ATTR_DISPOFF); - mdlId = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x07)); - for (i = 0; i < 8; i++) { - j = Hu3DModelLink(mdlId); - statShadowMdlId[i] = j; - pos = resultModel[i + 4].pos; - pos.x += 5.0f; - pos.y += 3.0f; - pos.z += 200.0f; - Hu3D2Dto3D(&pos, 1, &pos); - Hu3DModelPosSetV(j, &pos); - Hu3DModelScaleSet(j, 1.5f, 1.5f, 1.5f); - } - Hu3DModelAttrSet(mdlId, HU3D_ATTR_DISPOFF); - resultCrownAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x1C)); - resultCrownGrpId = HuSprGrpCreate(4); - for (i = 0; i < 4; i++) { - sprId = HuSprCreate(resultCrownAnim, i, 0); - HuSprGrpMemberSet(resultCrownGrpId, i, sprId); - HuSprScaleSet(resultCrownGrpId, i, 0.0f, 0.0f); - HuSprPosSet(resultCrownGrpId, i, resultCharPosTbl[i].x - 4.0f, resultCharPosTbl[i].y - 35.0f); - HuSprAttrSet(resultCrownGrpId, i, 4); - } - grpId = HuSprGrpCreate(4); - teamResultGrpId = grpId; - anim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x3F)); - sprId = HuSprCreate(anim, 100, 0); - HuSprGrpMemberSet(grpId, 0, sprId); - HuSprAttrSet(grpId, 0, 4); - HuSprDrawNoSet(grpId, 0, 127); - anim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x40)); - sprId = HuSprCreate(anim, 90, 0); - HuSprGrpMemberSet(grpId, 1, sprId); - HuSprAttrSet(grpId, 1, 4); - anim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x41)); - sprId = HuSprCreate(anim, 80, 0); - HuSprGrpMemberSet(grpId, 2, sprId); - HuSprAttrSet(grpId, 2, 4); - HuSprDrawNoSet(grpId, 2, 127); - anim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x42)); - sprId = HuSprCreate(anim, 80, 0); - HuSprGrpMemberSet(grpId, 3, sprId); - HuSprAttrSet(grpId, 3, 4); - HuSprDrawNoSet(grpId, 3, 127); - (void)sprId; -} - -static void ResultStatAdd(void) -{ - float scale; - float addTime; - - s16 i; - s16 time; - s16 maxTime; - s16 crownTime; - s32 seNo; - s32 sePlayF; - s32 doneF[4]; - float coinRot[4]; - s16 coinNum[5]; - - ResultCoinNumGet(coinNum); - for (i = 0; i < 4; i++) { - ResultCoinAddNumSet(resultCoinAddGrpId[i], coinNum[resultOrder[i]]); - doneF[i] = 0; - } - maxTime = (resultFastF) ? 3 : 10; - for (time = 0; time <= maxTime; time++) { - scale = sind((90.0 / maxTime) * time); - for (i = 0; i < 4; i++) { - HuSprGrpScaleSet(resultCoinAddGrpId[i], scale, scale); - } - HuPrcVSleep(); - } - for (i = 0; i < 4; i++) { - HuSprGrpScaleSet(resultCoinAddGrpId[i], 1.0f, 1.0f); - } - for (crownTime = 0; crownTime <= 14;) { - for (i = 0; i < 4; i++) { - if (GWPlayerCoinWinGet(resultOrder[i]) >= 10) { - HuSprAttrReset(resultCrownGrpId, i, 4); - } - HuSprScaleSet(resultCrownGrpId, i, sind((120.0f / 14.0f) * crownTime) * (0.8 * (1.0 / sin((M_PI * 2) / 3))), - 0.8 * (sind((120.0f / 14.0f) * crownTime) * (1.0 / sin((M_PI * 2) / 3)))); - } - crownTime += (resultFastF) ? 2 : 1; - HuPrcVSleep(); - } - if (!resultFastF) { - HuPrcSleep(15); - } - for (i = 0; i < 4; i++) { - coinRot[i] = 0.0f; - } - for (i = time = 0; i < 4; i++) { - time += coinNum[i]; - } - seNo = -1; - if (time) { - seNo = HuAudFXPlay(23); - } - time = 0; - addTime = time; - time = 0; - while (1) { - sePlayF = FALSE; - addTime += (resultFastF) ? 1.0f : 0.2f; - time = addTime; - for (i = maxTime = 0; i < 4; i++) { - if (coinNum[resultOrder[i]] - time <= 0) { - if (!doneF[resultOrder[i]] && coinNum[resultOrder[i]] != 0) { - doneF[resultOrder[i]] = 1; - if (!sePlayF) { - HuAudFXPlay(9); - sePlayF = TRUE; - } - } - - maxTime++; - ResultCoinAddNumSet(resultCoinAddGrpId[i], 0); - ResultSprNumSet(resultNumGrpId[(i * 2) + 1], coinNum[resultOrder[i]] + BoardPlayerCoinsGet(resultOrder[i])); - if (!coinRot[i]) { - continue; - } - coinRot[i] += 20.0f; - if (coinRot[i] >= 360.0f) { - coinRot[i] -= 360.0f; - } - Hu3DModelRotSet(stageMdlId[i + 8], 0.0f, coinRot[i], 0.0f); - } - else { - ResultCoinAddNumSet(resultCoinAddGrpId[i], coinNum[resultOrder[i]] - time); - ResultSprNumSet(resultNumGrpId[(i * 2) + 1], (s32)time + BoardPlayerCoinsGet(resultOrder[i])); - coinRot[i] += 20.0f; - if (coinRot[i] >= 360.0f) { - coinRot[i] -= 360.0f; - } - Hu3DModelRotSet(stageMdlId[i + 8], 0.0f, coinRot[i], 0.0f); - } - } - if (maxTime == 4) { - break; - } - HuPrcVSleep(); - } - if (seNo != -1) { - HuAudFXStop(seNo); - } - maxTime = 0; - while (1) { - for (i = time = 0; i < 4; i++) { - if (coinRot[i]) { - coinRot[i] += 20.0f; - if (coinRot[i] >= 360.0f) { - coinRot[i] -= 360.0f; - } - Hu3DModelRotSet(stageMdlId[i + 8], 0.0f, coinRot[i], 0.0f); - } - else { - time++; - } - } - if (time >= 4) { - break; - } - HuPrcVSleep(); - maxTime++; - } - if (maxTime < 30) { - HuPrcSleep(30 - maxTime); - } - maxTime = (resultFastF) ? 3 : 10; - for (time = 0; time <= maxTime; time++) { - scale = cosd((90.0 / maxTime) * time); - for (i = 0; i < 4; i++) { - HuSprGrpScaleSet(resultCoinAddGrpId[i], scale, scale); - } - HuPrcVSleep(); - } - for (i = 0; i < 4; i++) { - HuSprGrpScaleSet(resultCoinAddGrpId[i], 0.0f, 0.0f); - } -} -static void ResultOrderApply(void) -{ - float weight; - s16 i; - s16 charNo; - s16 num; - s16 scaleTime; - s16 rankTime; - s16 doneNum; - s16 sePlayF; - s16 sprId; - float cubeRot[4]; - Vec cubePos; - s32 voiceSeNo[4] = { -1, -1, -1, -1 }; - s16 order[4]; - s16 statOrder[4]; - s16 statRank[4]; - s16 rank[4]; - s16 coin[4]; - s16 star[4]; - for (i = 0; i < 4; i++) { - order[i] = statOrder[i] = resultOrder[i]; - rank[i] = statRank[i] = resultRank[i]; - coin[i] = BoardPlayerCoinsGet(resultOrder[i]); - star[i] = GWStarsGet(resultOrder[i]); - } - ResultOrderSet(); - for (i = 0; i < 4; i++) { - if (order[i] != resultOrder[i] || rank[i] != resultRank[i]) { - break; - } - } - if (i == 4) { - resultReorderF = 1; - return; - } - rankNewGrpId = HuSprGrpCreate(4); - for (i = 0; i < 4; i++) { - sprId = HuSprCreate(resultRankAnim[resultRank[i]], i, 0); - HuSprGrpMemberSet(rankNewGrpId, i, sprId); - HuSprPosSet(rankNewGrpId, i, resultRankPosTbl[(i * 2)], resultRankPosTbl[(i * 2) + 1]); - HuSprAttrSet(rankNewGrpId, i, 4); - charNo = GWPlayerCfg[resultOrder[i]].character; - resultPlayerCubeMdlId[i] = resultCharCubeMdlId[i] = Hu3DModelLink(resultCubeMdlId[charNo][resultRank[i]]); - Hu3D2Dto3D(&resultCharPosTbl[i], 1, &cubePos); - Hu3DModelPosSetV(resultCharCubeMdlId[i], &cubePos); - if (order[i] == resultOrder[i] && rank[i] == resultRank[i]) { - Hu3DModelAttrSet(resultCubeMdlId[charNo][rank[i]], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(resultCharCubeMdlId[i], HU3D_ATTR_DISPOFF); - Hu3DModelScaleSet(resultCharCubeMdlId[i], 1.1f, 1.1f, 1.1f); - } - else { - Hu3DModelAttrSet(resultCharCubeMdlId[i], HU3D_ATTR_DISPOFF); - } - } - for (i = 0; i < 4; i++) { - cubeRot[i] = 0; - } - sePlayF = 0; - scaleTime = 0; - while (1) { - for (doneNum = i = 0; i < 4; i++) { - if (order[i] == resultOrder[i] && rank[i] == resultRank[i]) { - doneNum++; - ResultSprNumSet(resultNumGrpId[(i * 2)], GWStarsGet(resultOrder[i])); - ResultSprNumSet(resultNumGrpId[(i * 2) + 1], BoardPlayerCoinsGet(resultOrder[i])); - } - else { - if (scaleTime > (i * 20)) { - rankTime = scaleTime - (i * 20); - if (rankTime <= 20) { - if (rankTime <= 10) { - HuSprScaleSet(resultRankGrpId, i, 1.0f, cosd(9.0f * rankTime)); - } - else { - HuSprAttrSet(resultRankGrpId, i, 4); - HuSprAttrReset(rankNewGrpId, i, 4); - HuSprScaleSet(rankNewGrpId, i, 1.0f, sind(9.0f * (rankTime - 10))); - } - weight = rankTime / 20.0f; - num = GWStarsGet(statOrder[i]) + (weight * (GWStarsGet(resultOrder[i]) - GWStarsGet(statOrder[i]))); - ResultSprNumSet(resultNumGrpId[(i * 2)], num); - num = BoardPlayerCoinsGet(statOrder[i]) + (weight * (BoardPlayerCoinsGet(resultOrder[i]) - BoardPlayerCoinsGet(statOrder[i]))); - ResultSprNumSet(resultNumGrpId[(i * 2) + 1], num); - } - else { - charNo = GWPlayerCfg[statOrder[i]].character; - Hu3DModelAttrSet(resultCubeMdlId[charNo][rank[i]], HU3D_ATTR_DISPOFF); - charNo = GWPlayerCfg[resultOrder[i]].character; - Hu3DModelAttrReset(resultCharCubeMdlId[i], HU3D_ATTR_DISPOFF); - Hu3DModelScaleSet(resultCharCubeMdlId[i], 1.1f, 1.1f, 1.1f); - ResultSprNumSet(resultNumGrpId[(i * 2)], GWStarsGet(resultOrder[i])); - ResultSprNumSet(resultNumGrpId[(i * 2) + 1], BoardPlayerCoinsGet(resultOrder[i])); - for (num = 0; num < 4; num++) { - if (statOrder[num] == resultOrder[i]) { - break; - } - } - if (resultRank[i] != statRank[num]) { - if (resultRank[i] < statRank[num]) { - Hu3DAnimCreate(resultCharAnim[charNo][1], resultCubeMdlId[charNo][resultRank[i]], "ys22"); - } - else { - Hu3DAnimCreate(resultCharAnim[charNo][2], resultCubeMdlId[charNo][resultRank[i]], "ys22"); - } - if (resultRank[i] == 0) { - voiceSeNo[resultOrder[i]] = HuAudPlayerVoicePlay(resultOrder[i], 293); - } - if (!sePlayF) { - sePlayF = 1; - HuAudFXPlay(27); - } - } - order[i] = resultOrder[i]; - rank[i] = resultRank[i]; - } - } - cubeRot[i] += 20.0f; - if (cubeRot[i] >= 360.0f) { - cubeRot[i] -= 360.0f; - } - charNo = GWPlayerCfg[statOrder[i]].character; - Hu3DModelRotSet(resultCubeMdlId[charNo][rank[i]], cubeRot[i] / (4 - i), cubeRot[i], 0.0f); - } - } - if (scaleTime <= 10) { - for (i = 0; i < 4; i++) { - HuSprScaleSet(resultCrownGrpId, i, cosd(9.0f * scaleTime), cosd(9.0f * scaleTime)); - } - } - else { - for (i = 0; i < 4; i++) { - HuSprScaleSet(resultCrownGrpId, i, 0.0f, 0.0f); - } - } - if (doneNum >= 4) { - break; - } - if (resultFastF) { - scaleTime += 2; - } - HuPrcVSleep(); - scaleTime++; - } - for (i = 0; i < 4; i++) { - HuSprScaleSet(resultCrownGrpId, i, 0.0f, 0.0f); - } - resultReorderF = 1; -} - -static void ResultSprNumSet(s16 grpId, s16 value) -{ - s16 no; - s16 bank; - if (value > 999) { - value = 999; - } - no = 0; - bank = value / 100; - if (bank != 0) { - HuSprBankSet(grpId, no, bank); - HuSprAttrReset(grpId, no, 4); - no++; - } - value -= bank * 100; - bank = value / 10; - if (bank != 0 || no == 1) { - HuSprBankSet(grpId, no, bank); - HuSprAttrReset(grpId, no, 4); - no++; - } - value -= bank * 10; - HuSprBankSet(grpId, no, value); - HuSprAttrReset(grpId, no, 4); - no++; - for (bank = no; bank < 3; bank++) { - HuSprAttrSet(grpId, bank, 4); - } -} - -static void ResultCoinAddNumSet(s16 grpId, s16 value) -{ - s16 no; - s16 bank; - if (value > 999) { - value = 999; - } - no = 2; - bank = value / 100; - if (bank != 0) { - HuSprBankSet(grpId, no, bank); - HuSprAttrReset(grpId, no, 4); - no++; - } - value -= bank * 100; - bank = value / 10; - if (bank != 0 || no == 3) { - HuSprBankSet(grpId, no, bank); - HuSprAttrReset(grpId, no, 4); - no++; - } - value -= bank * 10; - HuSprBankSet(grpId, no, value); - HuSprAttrReset(grpId, no, 4); - no++; - for (bank = no; bank < 5; bank++) { - HuSprAttrSet(grpId, bank, 4); - } -} - -static void ResultOrderSet(void) -{ - s16 i; - s16 j; - for (i = 0; i < 4; i++) { - resultRank[i] = BoardPlayerRankCalc(i); - resultOrder[i] = i; - } - for (j = 1; j < 4; j++) { - for (i = 0; i < 4 - j; i++) { - if (resultRank[i] > resultRank[i + 1]) { - s16 temp = resultRank[i]; - resultRank[i] = resultRank[i + 1]; - resultRank[i + 1] = temp; - temp = resultOrder[i]; - resultOrder[i] = resultOrder[i + 1]; - resultOrder[i + 1] = temp; - } - } - } -} - -static s32 resultBoardDirTbl[] = { DATADIR_W01, DATADIR_W02, DATADIR_W03, DATADIR_W04, DATADIR_W05, DATADIR_W06 }; - -void ResultBoardDataRead(void) -{ - s32 statId; - u32 aMemP; - if (!_CheckFlag(0x10000)) { - resultReadEndF = 1; - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } - } - statId = HuDataDirReadAsync(DATADIR_BOARD); - if (statId != -1) { - while (!HuDataGetAsyncStat(statId)) { - HuPrcVSleep(); - } - } - aMemP = HuAR_MRAMtoARAM(DATADIR_BOARD); - if (aMemP) { - while (HuARDMACheck()) { - HuPrcVSleep(); - } - } - HuDataDirClose(DATADIR_BOARD); - statId = HuDataDirReadAsync(resultBoardDirTbl[GWSystem.board]); - if (statId != -1) { - while (!HuDataGetAsyncStat(statId)) { - HuPrcVSleep(); - } - } - resultReadEndF = 1; - HuPrcEnd(); - while (1) { - HuPrcVSleep(); - } -} - -void ResultCoinAdd(void) -{ - s16 i; - s16 coinNum[5]; - ResultCoinNumGet(coinNum); - coinNum[resultBonusPlayer] += coinNum[4]; - for (i = 0; i < 4; i++) { - GWCoinsAdd(i, coinNum[i]); - GWPlayerCoinWinSet(i, 0); - GWPlayerCoinCollectSet(i, 0); - if (mgInfoTbl[GWSystem.mg_next].type != 4) { - GWPlayer[i].coins_mg += coinNum[i]; - if (GWPlayer[i].coins_mg > 9999) { - GWPlayer[i].coins_mg = 9999; - } - } - } -} - -void ResultCoinNumGet(s16 *coinNum) -{ - s16 i; - s32 coin; - u32 coinMul; - u32 coin_battle; - s16 unkRankF; - s16 mgType; - float scale[4]; - s16 rank[4]; - mgType = mgInfoTbl[GWSystem.mg_next].type; - switch (mgType) { - case 4: - unkRankF = 0; - for (i = coin_battle = 0; i < 4; i++) { - coin_battle += GWPlayerCoinBattleGet(i); - } - rank[0] = rank[1] = rank[2] = rank[3] = 0; - for (i = 0; i < 4; i++) { - rank[GWPlayerCoinWinGet(i)]++; - } - scale[0] = scale[1] = scale[2] = scale[3] = 0; - if (rank[0] == 1 && rank[1] == 1 && rank[2] == 1) { - scale[0] = 0.7f; - scale[1] = 0.3f; - } - else if (rank[0] == 2) { - scale[0] = 0.5f; - } - else if (rank[0] == 3) { - scale[0] = 0.3333333f; - } - else if (rank[0] == 1 && rank[1] == 2) { - scale[0] = 0.6f; - scale[1] = 0.2f; - } - else if (rank[0] == 1 && rank[1] == 3) { - scale[0] = 0.7f; - scale[1] = 0.1f; - } - else if (rank[0] == 1 && rank[1] == 1 && rank[2] == 2) { - scale[0] = 0.7f; - scale[1] = 0.3f; - } - else if (rank[0] == 4) { - scale[0] = 0.25f; - } - else { - unkRankF = 1; - } - for (i = coin = 0; i < 4; i++) { - if (!unkRankF) { - coinMul = coin_battle * scale[GWPlayerCoinWinGet(i)]; - } - else { - coinMul = GWPlayerCoinBattleGet(i); - } - coinNum[i] = coinMul; - coin += coinMul; - } - if (coin < coin_battle) { - coinNum[4] = coin_battle - coin; - } - else { - coinNum[4] = 0; - } - break; - - default: - for (i = 0; i < 4; i++) { - coin = GWPlayerCoinWinGet(i) + GWPlayerCoinCollectGet(i); - coinMul = GWLuckyValueGet(); - if (coinMul == 0) { - coinMul = 1; - } - coin *= coinMul; - coinNum[i] = coin; - } - break; - } -} - -static void SaveExec(void) -{ - s16 sprId; - Hu3DAllKill(); - HuSprClose(); - HuSprInit(); - espInit(); - HuPrcVSleep(); - sprId = espEntry(0x860020, 5000, 0); - espPosSet(sprId, 288.0, 240.0); - espAttrReset(sprId, HUSPR_ATTR_DISPOFF); - Hu3DBGColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet()) { - HuPrcVSleep(); - } - if (GWSaveModeGet() == 2) { - GWSaveModeSet(1); - } - if (GWPartyGet() == 1) { - GWGameStat.party_continue = 1; - SLSaveBoard(); - } - else { - GWGameStat.story_continue = 1; - SLSaveBoardStory(); - } - SLCommonSet(); - if (SLSave()) { - saveExecF = 1; - } - else { - GWSaveModeSet(1); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet()) { - HuPrcVSleep(); - } -} - -static s32 resultCharMdlTbl[] = { DATADIR_MARIOMDL1, DATADIR_LUIGIMDL1, DATADIR_PEACHMDL1, DATADIR_YOSHIMDL1, DATADIR_WARIOMDL1, DATADIR_DONKEYMDL1, - DATADIR_DAISYMDL1, DATADIR_WALUIGIMDL1 }; - -static Vec resultTeamCharPosTbl[] = { - { 160, 185, 500 }, - { 240, 185, 500 }, - { 160, 355, 500 }, - { 240, 355, 500 }, +s16 lbl_1_data_3F8[] = { + 74, 132, + 74, 217, + 74, 302, + 74, 387 }; -static void ResultTeamExec(void) +Vec lbl_1_data_408[4] = { + { 148, 132, 500 }, + { 148, 217, 500 }, + { 148, 302, 500 }, + { 148, 387, 500 } +}; + +s16 lbl_1_data_438[] = { + 164, 148, + 164, 233, + 164, 318, + 164, 403 +}; + +void fn_1_3B50(s16 group, s16 value); +void fn_1_3CAC(s16 group, s16 value); + +void fn_1_3E08(void); + +void fn_1_B78(void) { - s16 i; - s16 temp; - s16 winId; - s16 player; - s16 j; - s16 cubeMdlId; - s16 teamNo; - Vec pos3D; - Vec pos2D; - s16 charNo[4]; - s16 coinNum[2]; - s16 starNum[2]; - s16 teamYPos[2]; - s16 teamPlayerNo[2]; - s16 rank[2]; - AnimData *rankAnim; - s32 cubeNo; - s16 rankGrpId; - s16 rankSprId; - s16 btnDown; - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 10); - while (WipeStatGet()) { - HuPrcVSleep(); - } - espAttrSet(stageSprId[0], HUSPR_ATTR_DISPOFF); - espAttrSet(stageSprId[1], HUSPR_ATTR_DISPOFF); - for (i = 0; i < 2; i++) { - Hu3DModelAttrSet(stageMdlId[i + 6], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(stageMdlId[i + 10], HU3D_ATTR_DISPOFF); - } - for (i = 0; i < 4; i++) { - espAttrSet(stageSprId[i + 6], HUSPR_ATTR_DISPOFF); - } - for (i = 4; i < 8; i++) { - Hu3DModelAttrSet(statShadowMdlId[i], HU3D_ATTR_DISPOFF); - } - for (i = 4; i < 8; i++) { - HuSprGrpTPLvlSet(resultNumGrpId[i], 0.0f); - } - for (i = 0; i < 4; i++) { - for (j = 0; j < 4; j++) { - Hu3DModelAttrSet(resultCubeMdlId[GWPlayerCfg[i].character][j], HU3D_ATTR_DISPOFF); - } - Hu3DModelAttrSet(resultPlayerCubeMdlId[i], HU3D_ATTR_DISPOFF); - } - HuSprGrpKill(resultCrownGrpId); - HuSprGrpKill(resultRankGrpId); - if (rankNewGrpId != -1) { - HuSprGrpKill(rankNewGrpId); - } - coinNum[0] = coinNum[1] = 0; - starNum[0] = starNum[1] = 0; - teamPlayerNo[0] = 0; - teamPlayerNo[1] = 2; - for (i = 0; i < 4; i++) { - teamNo = GWPlayer[i].team; - coinNum[teamNo] += BoardPlayerCoinsGet(i); - starNum[teamNo] += GWStarsGet(i); - charNo[teamPlayerNo[teamNo]++] = GWPlayerCfg[i].character; - } - rank[0] = 0; - rank[1] = 1; - if (starNum[0] > starNum[1]) { - resultTeamOrder = 0; - } - else { - if (starNum[0] == starNum[1]) { - if (coinNum[0] > coinNum[1]) { - resultTeamOrder = 0; - } - else if (coinNum[0] == coinNum[1]) { - rank[0] = rank[1] = 0; - resultTeamOrder = 0; - } - else { - resultTeamOrder = 1; - } - } - else { - resultTeamOrder = 1; - } - } - HuSprAttrReset(teamResultGrpId, 0, 4); - HuSprAttrReset(teamResultGrpId, 1, 4); - HuSprPosSet(teamResultGrpId, 1, 0, -180); - HuSprAttrReset(teamResultGrpId, 2, 4); - HuSprAttrReset(teamResultGrpId, 3, 4); - if (resultTeamOrder == 0) { - teamYPos[0] = -55; - teamYPos[1] = 115; - } - else { - teamYPos[0] = 115; - teamYPos[1] = -55; - temp = charNo[0]; - charNo[0] = charNo[2]; - charNo[2] = temp; - temp = charNo[1]; - charNo[1] = charNo[3]; - charNo[3] = temp; - temp = coinNum[0]; - coinNum[0] = coinNum[1]; - coinNum[1] = temp; - temp = starNum[0]; - starNum[0] = starNum[1]; - starNum[1] = temp; - } - HuSprPosSet(teamResultGrpId, 2, 0, teamYPos[0]); - HuSprPosSet(teamResultGrpId, 3, 0, teamYPos[1]); - HuSprGrpPosSet(teamResultGrpId, 288, 240); - for (i = 0; i < 4; i++) { - if (i < 2) { - cubeNo = 0; - } - else { - cubeNo = 1; - } - cubeMdlId = resultCubeMdlId[charNo[i]][cubeNo]; - Hu3DAnimCreate(resultCharAnim[charNo[i]][0], cubeMdlId, "ys22"); - Hu3DModelAttrReset(cubeMdlId, HU3D_ATTR_DISPOFF); - Hu3D2Dto3D(&resultTeamCharPosTbl[i], 1, &pos3D); - Hu3DModelPosSetV(cubeMdlId, &pos3D); - Hu3DModelRotSet(cubeMdlId, 0, 0, 0); - pos2D = resultTeamCharPosTbl[i]; - pos2D.y += 5.0f; - pos2D.x += 3.0f; - pos2D.z += 200.0f; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - Hu3DModelPosSetV(charShadowMdlId[i], &pos3D); - } - rankGrpId = HuSprGrpCreate(2); - for (i = 0; i < 2; i++) { - rankAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x16) + rank[i]); - rankSprId = HuSprCreate(rankAnim, i, 0); - HuSprGrpMemberSet(rankGrpId, i, rankSprId); - HuSprPosSet(rankGrpId, i, (resultTeamCharPosTbl[i * 2].x) - 80.0f, resultTeamCharPosTbl[i * 2].y); - pos2D = resultTeamCharPosTbl[i * 2]; - pos2D.x += 180.0f; - pos2D.y -= 35.0f; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - Hu3DModelPosSetV(stageMdlId[i + 4], &pos3D); - pos2D.y += 5.0f; - pos2D.x += 3.0f; - pos2D.z += 200.0f; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - Hu3DModelPosSetV(statShadowMdlId[i * 2], &pos3D); - espPosSet(stageSprId[(i * 2) + 2], 230.0f + resultTeamCharPosTbl[i * 2].x, resultTeamCharPosTbl[i * 2].y - 35.0f); - ResultSprNumSet(resultNumGrpId[i * 2], starNum[i]); - HuSprGrpPosSet(resultNumGrpId[i * 2], 320.0f + resultTeamCharPosTbl[i * 2].x, resultTeamCharPosTbl[i * 2].y - 35.0f); - pos2D = resultTeamCharPosTbl[i * 2]; - pos2D.x += 180.0f; - pos2D.y += 35.0f; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - Hu3DModelPosSetV(stageMdlId[i + 8], &pos3D); - pos2D.y += 5.0f; - pos2D.x += 3.0f; - pos2D.z += 200.0f; - Hu3D2Dto3D(&pos2D, 1, &pos3D); - Hu3DModelPosSetV(statShadowMdlId[(i * 2) + 1], &pos3D); - espPosSet(stageSprId[(i * 2) + 3], 230.0f + resultTeamCharPosTbl[i * 2].x, 35.0f + resultTeamCharPosTbl[i * 2].y); - ResultSprNumSet(resultNumGrpId[(i * 2) + 1], coinNum[i]); - HuSprGrpPosSet(resultNumGrpId[(i * 2) + 1], 320.0f + resultTeamCharPosTbl[i * 2].x, 35.0f + resultTeamCharPosTbl[i * 2].y); - } - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); - while (WipeStatGet()) { - HuPrcVSleep(); - } - winId = HuWinCreate(-10000.0f, 400.0f, 320, 40, 0); - HuWinMesSpeedSet(winId, 0); - HuWinBGTPLvlSet(winId, 0); - HuWinPriSet(winId, 5); - HuWinAttrSet(winId, 0x800); - HuWinMesSet(winId, MAKE_MESSID(0x24, 0x07)); - HuPrcSleep(4); - i = 0; - while (1) { - if (resultSkipF && i > 120) { - break; - } - for (player = btnDown = 0; player < 4; player++) { - if (!GWPlayerCfg[player].iscom) { - btnDown |= HuPadBtnDown[GWPlayerCfg[player].pad_idx]; - } - } - if (btnDown & PAD_BUTTON_A) { - HuAudFXPlay(28); - break; - } - HuPrcVSleep(); - i++; - } - HuWinKill(winId); + Vec pos; + s16 sp8[5]; + s16 i; + s16 j; + s16 character; + AnimData *anim; + s16 sprite; + s16 group; + s16 model; + AnimData *anim2; + AnimData *anim3; + AnimData *anim4; + + fn_1_8FF8(lbl_1_data_0); + lbl_1_data_2A4[0].datanum = lbl_1_data_3A8[mgInfoTbl[lbl_1_bss_17C].type]; + lbl_1_data_2A4[1].datanum = lbl_1_data_3C0[mgInfoTbl[lbl_1_bss_17C].type]; + fn_1_927C(lbl_1_data_2A4); + espDrawNoSet(lbl_1_bss_1A1A[0], 127); + anim = HuSprAnimReadFile(0x6F001B); + for(i=0; i<8; i++) { + lbl_1_bss_CE[i] = HuSprGrpCreate(3); + lbl_1_bss_9E[i][0] = HuSprCreate(anim, 0, 0); + HuSprGrpMemberSet(lbl_1_bss_CE[i], 0, lbl_1_bss_9E[i][0]); + HuSprPosSet(lbl_1_bss_CE[i], 0, -28.0f, 0.0f); + lbl_1_bss_9E[i][1] = HuSprCreate(anim, 0, 0); + HuSprGrpMemberSet(lbl_1_bss_CE[i], 1, lbl_1_bss_9E[i][1]); + HuSprPosSet(lbl_1_bss_CE[i], 1, 0.0f, 0.0f); + lbl_1_bss_9E[i][2] = HuSprCreate(anim, 0, 0); + HuSprGrpMemberSet(lbl_1_bss_CE[i], 2, lbl_1_bss_9E[i][2]); + HuSprPosSet(lbl_1_bss_CE[i], 2, 28.0f, 0.0f); + HuSprGrpPosSet(lbl_1_bss_CE[i], lbl_1_data_3D8[(i*2)], lbl_1_data_3D8[(i*2)+1]); + fn_1_3B50(lbl_1_bss_CE[i], 999); + } + fn_1_3E08(); + fn_1_423C(sp8); + anim = HuSprAnimReadFile(0x6F003A); + anim3 = HuSprAnimReadFile(0x6F003B); + anim2 = HuSprAnimReadFile(0x6F003C); + anim4 = HuSprAnimReadFile(0x6F003E); + for(i=0; i<4; i++) { + lbl_1_bss_3A[i] = HuSprGrpCreate(5); + if(sp8[lbl_1_bss_4A[i]] < 100) { + lbl_1_bss_12[i][0] = HuSprCreate(anim, 10, 0); + HuSprGrpMemberSet(lbl_1_bss_3A[i], 0, lbl_1_bss_12[i][0]); + HuSprPosSet(lbl_1_bss_3A[i], 0, 30.0f, -25.0f); + } else { + lbl_1_bss_12[i][0] = HuSprCreate(anim4, 10, 0); + HuSprGrpMemberSet(lbl_1_bss_3A[i], 0, lbl_1_bss_12[i][0]); + HuSprPosSet(lbl_1_bss_3A[i], 0, 40.0f, -21.0f); + } + lbl_1_bss_12[i][1] = HuSprCreate(anim3, 0, 0); + HuSprGrpMemberSet(lbl_1_bss_3A[i], 1, lbl_1_bss_12[i][1]); + HuSprPosSet(lbl_1_bss_3A[i], 1, 12.0f, -25.0f); + lbl_1_bss_12[i][2] = HuSprCreate(anim2, 0, 0); + HuSprGrpMemberSet(lbl_1_bss_3A[i], 2, lbl_1_bss_12[i][2]); + HuSprPosSet(lbl_1_bss_3A[i], 2, 28.0f, -25.0f); + lbl_1_bss_12[i][3] = HuSprCreate(anim2, 0, 0); + HuSprGrpMemberSet(lbl_1_bss_3A[i], 3, lbl_1_bss_12[i][3]); + HuSprPosSet(lbl_1_bss_3A[i], 3, 44.0f, -25.0f); + lbl_1_bss_12[i][4] = HuSprCreate(anim2, 0, 0); + HuSprGrpMemberSet(lbl_1_bss_3A[i], 4, lbl_1_bss_12[i][4]); + HuSprPosSet(lbl_1_bss_3A[i], 4, 60.0f, -25.0f); + HuSprGrpPosSet(lbl_1_bss_3A[i], lbl_1_data_438[(i*2)], lbl_1_data_438[(i*2)+1]); + fn_1_3CAC(lbl_1_bss_3A[i], 9); + HuSprGrpScaleSet(lbl_1_bss_3A[i], 0.0f, 0.0f); + } + for(i=0; i<4; i++) { + character = GWPlayerCfg[i].character; + lbl_1_bss_E4[character][0] = HuSprAnimReadFile(0x6F0022+(character*3)); + lbl_1_bss_E4[character][1] = HuSprAnimReadFile(0x6F0023+(character*3)); + lbl_1_bss_E4[character][2] = HuSprAnimReadFile(0x6F0024+(character*3)); + for(j=0; j<4; j++) { + lbl_1_bss_5C[character][j] = Hu3DModelCreateFile(0x6F0000+j); + Hu3DModelScaleSet(lbl_1_bss_5C[character][j], 1.1f, 1.1f, 1.1f); + Hu3DAnimCreate(lbl_1_bss_E4[character][0], lbl_1_bss_5C[character][j], "ys22"); + Hu3DModelAttrSet(lbl_1_bss_5C[character][j], 1); + } + } + for(i=0; i<4; i++) { + lbl_1_bss_144[i] = HuSprAnimReadFile(0x6F0016+i); + } + lbl_1_bss_52 = HuSprGrpCreate(4); + for(i=0; i<4; i++) { + sprite = HuSprCreate(lbl_1_bss_144[lbl_1_bss_42[i]], i, 0); + HuSprGrpMemberSet(lbl_1_bss_52, i, sprite); + HuSprPosSet(lbl_1_bss_52, i, lbl_1_data_3F8[(i*2)], lbl_1_data_3F8[(i*2)+1]); + fn_1_3B50(lbl_1_bss_CE[(i*2)], GWStarsGet(lbl_1_bss_4A[i])); + fn_1_3B50(lbl_1_bss_CE[(i*2)+1], BoardPlayerCoinsGet(lbl_1_bss_4A[i])); + character = GWPlayerCfg[lbl_1_bss_4A[i]].character; + Hu3D2Dto3D(&lbl_1_data_408[i], 1, &pos); + Hu3DModelPosSetV(lbl_1_bss_5C[character][lbl_1_bss_42[i]], &pos); + Hu3DModelAttrReset(lbl_1_bss_5C[character][lbl_1_bss_42[i]], 1); + } + for(i=4; i<=11; i++) { + Hu3D2Dto3D(&lbl_1_data_0[i].pos, 1, &pos); + Hu3DModelPosSetV(lbl_1_bss_1A9C[i], &pos); + Hu3D3Dto2D(&pos, 1, &pos); + } + model = Hu3DModelCreateFile(0x6F0004); + for(i=0; i<4; i++) { + j = Hu3DModelLink(model); + lbl_1_bss_168[i] = j; + pos = lbl_1_data_408[i]; + pos.x += 5.0f; + pos.y += 3.0f; + pos.z += 200.0f; + Hu3D2Dto3D(&pos, 1, &pos); + Hu3DModelPosSetV(j, &pos); + Hu3DModelScaleSet(j, 1.5f, 1.5f, 1.5f); + } + Hu3DModelAttrSet(model, 1); + model = Hu3DModelCreateFile(0x6F0007); + for(i=0; i<8; i++) { + j = Hu3DModelLink(model); + lbl_1_bss_158[i] = j; + pos = lbl_1_data_0[i+4].pos; + pos.x += 5.0f; + pos.y += 3.0f; + pos.z += 200.0f; + Hu3D2Dto3D(&pos, 1, &pos); + Hu3DModelPosSetV(j, &pos); + Hu3DModelScaleSet(j, 1.5f, 1.5f, 1.5f); + } + Hu3DModelAttrSet(model, 1); + lbl_1_bss_E0 = HuSprAnimReadFile(0x6F001C); + lbl_1_bss_9C = HuSprGrpCreate(4); + for(i=0; i<4; i++) { + sprite = HuSprCreate(lbl_1_bss_E0, i, 0); + HuSprGrpMemberSet(lbl_1_bss_9C, i, sprite); + HuSprScaleSet(lbl_1_bss_9C, i, 0.0f, 0.0f); + HuSprPosSet(lbl_1_bss_9C, i, lbl_1_data_408[i].x-4.0f, lbl_1_data_408[i].y-35.0f); + HuSprAttrSet(lbl_1_bss_9C, i, 4); + } + group = HuSprGrpCreate(4); + lbl_1_bss_170 = group; + anim = HuSprAnimReadFile(0x6F003F); + sprite = HuSprCreate(anim, 100, 0); + HuSprGrpMemberSet(group, 0, sprite); + HuSprAttrSet(group, 0, 4); + HuSprDrawNoSet(group, 0, 127); + anim = HuSprAnimReadFile(0x6F0040); + sprite = HuSprCreate(anim, 90, 0); + HuSprGrpMemberSet(group, 1, sprite); + HuSprAttrSet(group, 1, 4); + anim = HuSprAnimReadFile(0x6F0041); + sprite = HuSprCreate(anim, 80, 0); + HuSprGrpMemberSet(group, 2, sprite); + HuSprAttrSet(group, 2, 4); + HuSprDrawNoSet(group, 2, 127); + anim = HuSprAnimReadFile(0x6F0042); + sprite = HuSprCreate(anim, 80, 0); + HuSprGrpMemberSet(group, 3, sprite); + HuSprAttrSet(group, 3, 4); + HuSprDrawNoSet(group, 3, 127); + (void)sprite; } -void CameraDebug(omObjData *object) +void fn_1_1F4C(void) { - Vec pos; + float temp_f31; + float temp_f30; + + s16 i; + s16 temp_r30; + s16 temp_r29; + s16 temp_r28; + s32 status; + s32 temp_r26; + s32 sp24[4]; + float sp14[4]; + s16 sp8[5]; + + + + fn_1_423C(sp8); + for(i=0; i<4; i++) { + fn_1_3CAC(lbl_1_bss_3A[i], sp8[lbl_1_bss_4A[i]]); + sp24[i] = 0; + } + temp_r29 = (lbl_1_bss_174) ? 3 : 10; + for(temp_r30=0; temp_r30<=temp_r29; temp_r30++) { + temp_f31 = sin(M_PI*((90.0/temp_r29)*temp_r30)/180.0); + for(i=0; i<4; i++) { + HuSprGrpScaleSet(lbl_1_bss_3A[i], temp_f31, temp_f31); + } + HuPrcVSleep(); + } + for(i=0; i<4; i++) { + HuSprGrpScaleSet(lbl_1_bss_3A[i], 1.0f, 1.0f); + } + for(temp_r28=0; temp_r28<=14;) { + for(i=0; i<4; i++) { + if(GWPlayerCoinWinGet(lbl_1_bss_4A[i]) >= 10) { + HuSprAttrReset(lbl_1_bss_9C, i, 4); + } + HuSprScaleSet(lbl_1_bss_9C, i, sin(M_PI*((120.0f/14.0f)*temp_r28)/180.0)*(0.8*(1.0/sin((M_PI*2)/3))), 0.8*(sin(M_PI*((120.0f/14.0f)*temp_r28)/180.0)*(1.0/sin((M_PI*2)/3)))); + } + temp_r28 += (lbl_1_bss_174) ? 2 : 1; + HuPrcVSleep(); + } + if(!lbl_1_bss_174) { + HuPrcSleep(15); + } + for(i=0; i<4; i++) { + sp14[i] = 0.0f; + } + for(i=temp_r30=0; i<4; i++) { + temp_r30 += sp8[i]; + } + status = -1; + if(temp_r30) { + status = HuAudFXPlay(23); + } + temp_r30 = 0; + temp_f30 = temp_r30; + temp_r30 = 0; + while(1) { + temp_r26 = 0 ; + temp_f30 += (lbl_1_bss_174) ? 1.0f : 0.2f; + temp_r30 = temp_f30; + for(i=temp_r29=0; i<4; i++) { + if(sp8[lbl_1_bss_4A[i]]-temp_r30 <= 0) { + if(!sp24[lbl_1_bss_4A[i]] && sp8[lbl_1_bss_4A[i]] != 0) { + sp24[lbl_1_bss_4A[i]] = 1; + if(!temp_r26) { + HuAudFXPlay(9); + temp_r26 = 1; + } + } + + temp_r29++; + fn_1_3CAC(lbl_1_bss_3A[i], 0); + fn_1_3B50(lbl_1_bss_CE[(i*2)+1], sp8[lbl_1_bss_4A[i]]+BoardPlayerCoinsGet(lbl_1_bss_4A[i])); + if(!sp14[i]) { + continue; + } + sp14[i] += 20.0f; + if(sp14[i] >= 360.0f) { + sp14[i] -= 360.0f; + } + Hu3DModelRotSet(lbl_1_bss_1A9C[i+8], 0.0f, sp14[i], 0.0f); + } else { + fn_1_3CAC(lbl_1_bss_3A[i], sp8[lbl_1_bss_4A[i]]-temp_r30); + fn_1_3B50(lbl_1_bss_CE[(i*2)+1], (s32)temp_r30+BoardPlayerCoinsGet(lbl_1_bss_4A[i])); + sp14[i] += 20.0f; + if(sp14[i] >= 360.0f) { + sp14[i] -= 360.0f; + } + Hu3DModelRotSet(lbl_1_bss_1A9C[i+8], 0.0f, sp14[i], 0.0f); + } + } + if(temp_r29 == 4) { + break; + } + HuPrcVSleep(); + } + if(status != -1) { + HuAudFXStop(status); + } + temp_r29 = 0; + while(1) { + for(i=temp_r30=0; i<4; i++) { + if(sp14[i]) { + sp14[i] += 20.0f; + if(sp14[i] >= 360.0f) { + sp14[i] -= 360.0f; + } + Hu3DModelRotSet(lbl_1_bss_1A9C[i+8], 0.0f, sp14[i], 0.0f); + } else { + temp_r30++; + } + } + if(temp_r30 >= 4) { + break; + } + HuPrcVSleep(); + temp_r29++; + } + if(temp_r29 < 30) { + HuPrcSleep(30-temp_r29); + } + temp_r29 = (lbl_1_bss_174) ? 3 : 10; + for(temp_r30=0; temp_r30<=temp_r29; temp_r30++) { + temp_f31 = cos(M_PI*((90.0/temp_r29)*temp_r30)/180.0); + for(i=0; i<4; i++) { + HuSprGrpScaleSet(lbl_1_bss_3A[i], temp_f31, temp_f31); + } + HuPrcVSleep(); + } + for(i=0; i<4; i++) { + HuSprGrpScaleSet(lbl_1_bss_3A[i], 0.0f, 0.0f); + } +} + +void fn_1_2ADC(void) +{ + float temp_f31; + s16 i; + s16 temp_r30; + s16 temp_r29; + s16 temp_r28; + s16 temp_r27; + s16 temp_r26; + s16 temp_r25; + s16 temp_r24; + float sp54[4]; + Vec sp48; + s32 sp38[4] = { -1, -1, -1, -1 }; + s16 sp30[4]; + s16 sp28[4]; + s16 sp20[4]; + s16 sp18[4]; + s16 sp10[4]; + s16 sp8[4]; + for(i=0; i<4; i++) { + sp30[i] = sp28[i] = lbl_1_bss_4A[i]; + sp18[i] = sp20[i] = lbl_1_bss_42[i]; + sp10[i] = BoardPlayerCoinsGet(lbl_1_bss_4A[i]); + sp8[i] = GWStarsGet(lbl_1_bss_4A[i]); + } + fn_1_3E08(); + for(i=0; i<4; i++) { + if(sp30[i] != lbl_1_bss_4A[i] || sp18[i] != lbl_1_bss_42[i]) { + break; + } + } + if(i == 4) { + lbl_1_bss_0 = 1; + return; + } + lbl_1_data_380 = HuSprGrpCreate(4); + for(i=0; i<4; i++) { + temp_r24 = HuSprCreate(lbl_1_bss_144[lbl_1_bss_42[i]], i, 0); + HuSprGrpMemberSet(lbl_1_data_380, i, temp_r24); + HuSprPosSet(lbl_1_data_380, i, lbl_1_data_3F8[(i*2)], lbl_1_data_3F8[(i*2)+1]); + HuSprAttrSet(lbl_1_data_380, i, 4); + temp_r30 = GWPlayerCfg[lbl_1_bss_4A[i]].character; + lbl_1_bss_54[i] = lbl_1_bss_A[i] = Hu3DModelLink(lbl_1_bss_5C[temp_r30][lbl_1_bss_42[i]]); + Hu3D2Dto3D(&lbl_1_data_408[i], 1, &sp48); + Hu3DModelPosSetV(lbl_1_bss_A[i], &sp48); + if(sp30[i] == lbl_1_bss_4A[i] && sp18[i] == lbl_1_bss_42[i]) { + Hu3DModelAttrSet(lbl_1_bss_5C[temp_r30][sp18[i]], 1); + Hu3DModelAttrReset(lbl_1_bss_A[i], 1); + Hu3DModelScaleSet(lbl_1_bss_A[i], 1.1f, 1.1f, 1.1f); + } else { + Hu3DModelAttrSet(lbl_1_bss_A[i], 1); + } + } + for(i=0; i<4; i++) { + sp54[i] = 0; + } + temp_r25 = 0; + temp_r28 = 0; + while(1) { + for(temp_r26=i=0; i<4; i++) { + if(sp30[i] == lbl_1_bss_4A[i] && sp18[i] == lbl_1_bss_42[i]) { + temp_r26++; + fn_1_3B50(lbl_1_bss_CE[(i*2)], GWStarsGet(lbl_1_bss_4A[i])); + fn_1_3B50(lbl_1_bss_CE[(i*2)+1], BoardPlayerCoinsGet(lbl_1_bss_4A[i])); + } else { + if(temp_r28 > (i*20)) { + temp_r27 = temp_r28-(i*20); + if(temp_r27 <= 20) { + if(temp_r27 <= 10) { + HuSprScaleSet(lbl_1_bss_52, i, 1.0f, cos(M_PI*(9.0f*temp_r27)/180.0)); + } else { + HuSprAttrSet(lbl_1_bss_52, i, 4); + HuSprAttrReset(lbl_1_data_380, i, 4); + HuSprScaleSet(lbl_1_data_380, i, 1.0f, sin(M_PI*(9.0f*(temp_r27-10))/180.0)); + } + temp_f31 = temp_r27/20.0f; + temp_r29 = GWStarsGet(sp28[i])+(temp_f31*(GWStarsGet(lbl_1_bss_4A[i])-GWStarsGet(sp28[i]))); + fn_1_3B50(lbl_1_bss_CE[(i*2)], temp_r29); + temp_r29 = BoardPlayerCoinsGet(sp28[i])+(temp_f31*(BoardPlayerCoinsGet(lbl_1_bss_4A[i])-BoardPlayerCoinsGet(sp28[i]))); + fn_1_3B50(lbl_1_bss_CE[(i*2)+1], temp_r29); + } else { + temp_r30 = GWPlayerCfg[sp28[i]].character; + Hu3DModelAttrSet(lbl_1_bss_5C[temp_r30][sp18[i]], 1); + temp_r30 = GWPlayerCfg[lbl_1_bss_4A[i]].character; + Hu3DModelAttrReset(lbl_1_bss_A[i], 1); + Hu3DModelScaleSet(lbl_1_bss_A[i], 1.1f, 1.1f, 1.1f); + fn_1_3B50(lbl_1_bss_CE[(i*2)], GWStarsGet(lbl_1_bss_4A[i])); + fn_1_3B50(lbl_1_bss_CE[(i*2)+1], BoardPlayerCoinsGet(lbl_1_bss_4A[i])); + for(temp_r29=0; temp_r29<4; temp_r29++) { + if(sp28[temp_r29] == lbl_1_bss_4A[i]) { + break; + } + } + if(lbl_1_bss_42[i] != sp20[temp_r29]) { + if(lbl_1_bss_42[i] < sp20[temp_r29]) { + Hu3DAnimCreate(lbl_1_bss_E4[temp_r30][1], lbl_1_bss_5C[temp_r30][lbl_1_bss_42[i]], "ys22"); + } else { + Hu3DAnimCreate(lbl_1_bss_E4[temp_r30][2], lbl_1_bss_5C[temp_r30][lbl_1_bss_42[i]], "ys22"); + } + if(lbl_1_bss_42[i] == 0) { + sp38[lbl_1_bss_4A[i]] = HuAudPlayerVoicePlay(lbl_1_bss_4A[i], 293); + } + if(!temp_r25) { + temp_r25 = 1; + HuAudFXPlay(27); + } + } + sp30[i] = lbl_1_bss_4A[i]; + sp18[i] = lbl_1_bss_42[i]; + } + } + sp54[i] += 20.0f; + if(sp54[i] >= 360.0f) { + sp54[i] -= 360.0f; + } + temp_r30 = GWPlayerCfg[sp28[i]].character; + Hu3DModelRotSet(lbl_1_bss_5C[temp_r30][sp18[i]], sp54[i]/(4-i), sp54[i], 0.0f); + } + } + if(temp_r28 <= 10) { + for(i=0; i<4; i++) { + HuSprScaleSet(lbl_1_bss_9C, i, cos(M_PI*(9.0f*temp_r28)/180.0), cos(M_PI*(9.0f*temp_r28)/180.0)); + } + } else { + for(i=0; i<4; i++) { + HuSprScaleSet(lbl_1_bss_9C, i, 0.0f, 0.0f); + } + } + if(temp_r26 >= 4) { + break; + } + if(lbl_1_bss_174) { + temp_r28 += 2; + } + HuPrcVSleep(); + temp_r28++; + } + for(i=0; i<4; i++) { + HuSprScaleSet(lbl_1_bss_9C, i, 0.0f, 0.0f); + } + lbl_1_bss_0 = 1; +} + +void fn_1_3B50(s16 group, s16 value) +{ + s16 digit; + s16 digit_value; + if(value > 999) { + value = 999; + } + digit = 0; + digit_value = value/100; + if(digit_value != 0) { + HuSprBankSet(group, digit, digit_value); + HuSprAttrReset(group, digit, 4); + digit++; + } + value -= digit_value*100; + digit_value = value/10; + if(digit_value != 0 || digit == 1) { + HuSprBankSet(group, digit, digit_value); + HuSprAttrReset(group, digit, 4); + digit++; + } + value -= digit_value*10; + HuSprBankSet(group, digit, value); + HuSprAttrReset(group, digit, 4); + digit++; + for(digit_value=digit; digit_value<3; digit_value++) { + HuSprAttrSet(group, digit_value, 4); + } +} + +void fn_1_3CAC(s16 group, s16 value) +{ + s16 digit; + s16 digit_value; + if(value > 999) { + value = 999; + } + digit = 2; + digit_value = value/100; + if(digit_value != 0) { + HuSprBankSet(group, digit, digit_value); + HuSprAttrReset(group, digit, 4); + digit++; + } + value -= digit_value*100; + digit_value = value/10; + if(digit_value != 0 || digit == 3) { + HuSprBankSet(group, digit, digit_value); + HuSprAttrReset(group, digit, 4); + digit++; + } + value -= digit_value*10; + HuSprBankSet(group, digit, value); + HuSprAttrReset(group, digit, 4); + digit++; + for(digit_value=digit; digit_value<5; digit_value++) { + HuSprAttrSet(group, digit_value, 4); + } +} + +void fn_1_3E08(void) +{ + s16 i; + s16 j; + for(i=0; i<4; i++) { + lbl_1_bss_42[i] = BoardPlayerRankCalc(i); + lbl_1_bss_4A[i] = i; + } + for(j=1; j<4; j++) { + for(i=0; i<4-j; i++) { + if(lbl_1_bss_42[i] > lbl_1_bss_42[i+1]) { + s16 temp = lbl_1_bss_42[i]; + lbl_1_bss_42[i] = lbl_1_bss_42[i+1]; + lbl_1_bss_42[i+1] = temp; + temp = lbl_1_bss_4A[i]; + lbl_1_bss_4A[i] = lbl_1_bss_4A[i+1]; + lbl_1_bss_4A[i+1] = temp; + } + } + } +} + +s32 lbl_1_data_450[] = { + DATADIR_W01, + DATADIR_W02, + DATADIR_W03, + DATADIR_W04, + DATADIR_W05, + DATADIR_W06 +}; + +void fn_1_3FD8(void) +{ + s32 status; + u32 ardma; + if(!_CheckFlag(0x10000)) { + lbl_1_bss_178 = 1; + HuPrcEnd(); + while(1) { + HuPrcVSleep(); + } + } + status = HuDataDirReadAsync(DATADIR_BOARD); + if(status != -1) { + while(!HuDataGetAsyncStat(status)) { + HuPrcVSleep(); + } + } + ardma = HuAR_MRAMtoARAM(DATADIR_BOARD); + if(ardma) { + while(HuARDMACheck()) { + HuPrcVSleep(); + } + } + HuDataDirClose(DATADIR_BOARD); + status = HuDataDirReadAsync(lbl_1_data_450[GWSystem.board]); + if(status != -1) { + while(!HuDataGetAsyncStat(status)) { + HuPrcVSleep(); + } + } + lbl_1_bss_178 = 1; + HuPrcEnd(); + while(1) { + HuPrcVSleep(); + } +} + +void fn_1_40DC(void) +{ + s16 i; + s16 sp8[5]; + fn_1_423C(sp8); + sp8[lbl_1_bss_172] += sp8[4]; + for(i=0; i<4; i++) { + GWCoinsAdd(i, sp8[i]); + GWPlayerCoinWinSet(i, 0); + GWPlayerCoinCollectSet(i, 0); + if(mgInfoTbl[GWSystem.mg_next].type != 4) { + GWPlayer[i].coins_mg += sp8[i]; + if(GWPlayer[i].coins_mg > 9999) { + GWPlayer[i].coins_mg = 9999; + } + } + } +} + +void fn_1_423C(s16 *data) +{ + s16 i; + s32 coin; + u32 mul_coin; + u32 coin_battle; + s16 temp_r26; + s16 mgtype; + float sp10[4]; + s16 sp8[4]; + mgtype = mgInfoTbl[GWSystem.mg_next].type; + switch(mgtype) { + case 4: + temp_r26 = 0; + for(i=coin_battle=0; i<4; i++) { + coin_battle += GWPlayerCoinBattleGet(i); + } + sp8[0] = sp8[1] = sp8[2] = sp8[3] = 0; + for(i=0; i<4; i++) { + sp8[GWPlayerCoinWinGet(i)]++; + } + sp10[0] = sp10[1] = sp10[2] = sp10[3] = 0; + if(sp8[0] == 1 && sp8[1] == 1 && sp8[2] == 1) { + sp10[0] = 0.7f; + sp10[1] = 0.3f; + } else if(sp8[0] ==2) { + sp10[0] = 0.5f; + } else if(sp8[0] == 3) { + sp10[0] = 0.3333333f; + } else if(sp8[0] == 1 && sp8[1] == 2) { + sp10[0] = 0.6f; + sp10[1] = 0.2f; + } else if(sp8[0] == 1 && sp8[1] == 3) { + sp10[0] = 0.7f; + sp10[1] = 0.1f; + } else if(sp8[0] == 1 && sp8[1] == 1 && sp8[2] == 2) { + sp10[0] = 0.7f; + sp10[1] = 0.3f; + } else if(sp8[0] == 4) { + sp10[0] = 0.25f; + } else { + temp_r26 = 1; + } + for(i=coin=0; i<4; i++) { + if(!temp_r26) { + mul_coin = coin_battle*sp10[GWPlayerCoinWinGet(i)]; + } else { + mul_coin = GWPlayerCoinBattleGet(i); + } + data[i] = mul_coin; + coin += mul_coin; + } + if(coin < coin_battle) { + data[4] = coin_battle-coin; + } else { + data[4] = 0; + } + break; + + default: + for(i=0; i<4; i++) { + coin = GWPlayerCoinWinGet(i)+GWPlayerCoinCollectGet(i); + mul_coin = GWLuckyValueGet(); + if(mul_coin == 0) { + mul_coin = 1; + } + coin *= mul_coin; + data[i] = coin; + } + break; + } +} + +void fn_1_461C(void) +{ + s16 sprite; + Hu3DAllKill(); + HuSprClose(); + HuSprInit(); + espInit(); + HuPrcVSleep(); + sprite = espEntry(0x860020, 5000, 0); + espPosSet(sprite, 288.0, 240.0); + espAttrReset(sprite, 4); + Hu3DBGColorSet(0, 0, 0); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); + while(WipeStatGet()) { + HuPrcVSleep(); + } + if(GWSaveModeGet() == 2) { + GWSaveModeSet(1); + } + if(GWPartyGet() == 1) { + GWGameStat.party_continue = 1; + SLSaveBoard(); + } else { + GWGameStat.story_continue = 1; + SLSaveBoardStory(); + } + SLCommonSet(); + if(SLSave()) { + saveExecF = 1; + } else { + GWSaveModeSet(1); + } + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); + while(WipeStatGet()) { + HuPrcVSleep(); + } +} + +s32 lbl_1_data_468[] = { + DATADIR_MARIOMDL1, + DATADIR_LUIGIMDL1, + DATADIR_PEACHMDL1, + DATADIR_YOSHIMDL1, + DATADIR_WARIOMDL1, + DATADIR_DONKEYMDL1, + DATADIR_DAISYMDL1, + DATADIR_WALUIGIMDL1 +}; + +Vec lbl_1_data_488[] = { + { 160, 185, 500 }, + { 240, 185, 500 }, + { 160, 355, 500 }, + { 240, 355, 500 }, +}; + +void fn_1_47FC(void) +{ + s16 temp_r31; + s16 temp_r24; + s16 temp_r21; + s16 temp_r20; + s16 temp_r19; + s16 temp_r18; + s16 temp_r17; + Vec sp40; + Vec sp34; + s16 sp2C[4]; + s16 sp28[2]; + s16 sp24[2]; + s16 sp20[2]; + s16 sp1C[2]; + s16 sp18[2]; + AnimData *sp14; + s32 sp10; + s16 spC; + s16 spA; + s16 sp8; + WipeColorSet(0, 0, 0); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 10); + while(WipeStatGet()) { + HuPrcVSleep(); + } + espAttrSet(lbl_1_bss_1A1A[0], 4); + espAttrSet(lbl_1_bss_1A1A[1], 4); + for(temp_r31=0; temp_r31<2; temp_r31++) { + Hu3DModelAttrSet(lbl_1_bss_1A9C[temp_r31+6], 1); + Hu3DModelAttrSet(lbl_1_bss_1A9C[temp_r31+10], 1); + } + for(temp_r31=0; temp_r31<4; temp_r31++) { + espAttrSet(lbl_1_bss_1A1A[temp_r31+6], 4); + } + for(temp_r31=4; temp_r31<8; temp_r31++) { + Hu3DModelAttrSet(lbl_1_bss_158[temp_r31], 1); + } + for(temp_r31=4; temp_r31<8; temp_r31++) { + HuSprGrpTPLvlSet(lbl_1_bss_CE[temp_r31], 0.0f); + } + for(temp_r31=0; temp_r31<4; temp_r31++) { + for(temp_r19=0; temp_r19<4; temp_r19++) { + Hu3DModelAttrSet(lbl_1_bss_5C[GWPlayerCfg[temp_r31].character][temp_r19], 1); + } + Hu3DModelAttrSet(lbl_1_bss_54[temp_r31], 1); + } + HuSprGrpKill(lbl_1_bss_9C); + HuSprGrpKill(lbl_1_bss_52); + if(lbl_1_data_380 != -1) { + HuSprGrpKill(lbl_1_data_380); + } + sp28[0] = sp28[1] = 0; + sp24[0] = sp24[1] = 0; + sp1C[0] = 0; + sp1C[1] = 2; + for(temp_r31=0; temp_r31<4; temp_r31++) { + temp_r17 = GWPlayer[temp_r31].team; + sp28[temp_r17] += BoardPlayerCoinsGet(temp_r31); + sp24[temp_r17] += GWStarsGet(temp_r31); + sp2C[sp1C[temp_r17]++] = GWPlayerCfg[temp_r31].character; + } + sp18[0] = 0; + sp18[1] = 1; + if(sp24[0] > sp24[1]) { + lbl_1_bss_8 = 0; + } else { + if(sp24[0] == sp24[1]) { + if(sp28[0] > sp28[1]) { + lbl_1_bss_8 =0; + } else if(sp28[0] == sp28[1]) { + sp18[0] = sp18[1] = 0; + lbl_1_bss_8 = 0; + } else { + lbl_1_bss_8 = 1; + } + } else { + lbl_1_bss_8 = 1; + } + } + HuSprAttrReset(lbl_1_bss_170, 0, 4); + HuSprAttrReset(lbl_1_bss_170, 1, 4); + HuSprPosSet(lbl_1_bss_170, 1, 0, -180); + HuSprAttrReset(lbl_1_bss_170, 2, 4); + HuSprAttrReset(lbl_1_bss_170, 3, 4); + if(lbl_1_bss_8 == 0) { + sp20[0] = -55; + sp20[1] = 115; + } else { + sp20[0] = 115; + sp20[1] = -55; + temp_r24 = sp2C[0]; + sp2C[0] = sp2C[2]; + sp2C[2] = temp_r24; + temp_r24 = sp2C[1]; + sp2C[1] = sp2C[3]; + sp2C[3] = temp_r24; + temp_r24 = sp28[0]; + sp28[0] = sp28[1]; + sp28[1] = temp_r24; + temp_r24 = sp24[0]; + sp24[0] = sp24[1]; + sp24[1] = temp_r24; + } + HuSprPosSet(lbl_1_bss_170, 2, 0, sp20[0]); + HuSprPosSet(lbl_1_bss_170, 3, 0, sp20[1]); + HuSprGrpPosSet(lbl_1_bss_170, 288, 240); + for(temp_r31=0; temp_r31<4; temp_r31++) { + if(temp_r31 < 2) { + sp10 = 0; + } else { + sp10 = 1; + } + temp_r18 = lbl_1_bss_5C[sp2C[temp_r31]][sp10]; + Hu3DAnimCreate(lbl_1_bss_E4[sp2C[temp_r31]][0], temp_r18, "ys22"); + Hu3DModelAttrReset(temp_r18, 1); + Hu3D2Dto3D(&lbl_1_data_488[temp_r31], 1, &sp40); + Hu3DModelPosSetV(temp_r18, &sp40); + Hu3DModelRotSet(temp_r18, 0, 0, 0); + sp34 = lbl_1_data_488[temp_r31]; + sp34.y += 5.0f; + sp34.x += 3.0f; + sp34.z += 200.0f; + Hu3D2Dto3D(&sp34, 1, &sp40); + Hu3DModelPosSetV(lbl_1_bss_168[temp_r31], &sp40); + } + spC = HuSprGrpCreate(2); + for(temp_r31=0; temp_r31<2; temp_r31++) { + sp14 = HuSprAnimReadFile(0x6F0016+sp18[temp_r31]); + spA = HuSprCreate(sp14, temp_r31, 0); + HuSprGrpMemberSet(spC, temp_r31, spA); + HuSprPosSet(spC, temp_r31, (lbl_1_data_488[temp_r31*2].x)-80.0f, lbl_1_data_488[temp_r31*2].y); + sp34 = lbl_1_data_488[temp_r31*2]; + sp34.x += 180.0f; + sp34.y -= 35.0f; + Hu3D2Dto3D(&sp34, 1, &sp40); + Hu3DModelPosSetV(lbl_1_bss_1A9C[temp_r31+4], &sp40); + sp34.y += 5.0f; + sp34.x += 3.0f; + sp34.z += 200.0f; + Hu3D2Dto3D(&sp34, 1, &sp40); + Hu3DModelPosSetV(lbl_1_bss_158[temp_r31*2], &sp40); + espPosSet(lbl_1_bss_1A1A[(temp_r31*2)+2], 230.0f+lbl_1_data_488[temp_r31*2].x, lbl_1_data_488[temp_r31*2].y-35.0f); + fn_1_3B50(lbl_1_bss_CE[temp_r31*2], sp24[temp_r31]); + HuSprGrpPosSet(lbl_1_bss_CE[temp_r31*2], 320.0f+lbl_1_data_488[temp_r31*2].x, lbl_1_data_488[temp_r31*2].y-35.0f); + sp34 = lbl_1_data_488[temp_r31*2]; + sp34.x += 180.0f; + sp34.y += 35.0f; + Hu3D2Dto3D(&sp34, 1, &sp40); + Hu3DModelPosSetV(lbl_1_bss_1A9C[temp_r31+8], &sp40); + sp34.y += 5.0f; + sp34.x += 3.0f; + sp34.z += 200.0f; + Hu3D2Dto3D(&sp34, 1, &sp40); + Hu3DModelPosSetV(lbl_1_bss_158[(temp_r31*2)+1], &sp40); + espPosSet(lbl_1_bss_1A1A[(temp_r31*2)+3], 230.0f+lbl_1_data_488[temp_r31*2].x, 35.0f+lbl_1_data_488[temp_r31*2].y); + fn_1_3B50(lbl_1_bss_CE[(temp_r31*2)+1], sp28[temp_r31]); + HuSprGrpPosSet(lbl_1_bss_CE[(temp_r31*2)+1], 320.0f+lbl_1_data_488[temp_r31*2].x, 35.0f+lbl_1_data_488[temp_r31*2].y); + } + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); + while(WipeStatGet()) { + HuPrcVSleep(); + } + temp_r21 = HuWinCreate(-10000.0f, 400.0f, 320, 40, 0); + HuWinMesSpeedSet(temp_r21, 0); + HuWinBGTPLvlSet(temp_r21, 0); + HuWinPriSet(temp_r21, 5); + HuWinAttrSet(temp_r21, 0x800); + HuWinMesSet(temp_r21, 0x240007); + HuPrcSleep(4); + temp_r31 = 0; + while(1) { + if(lbl_1_bss_4 && temp_r31 > 120) { + break; + } + for(temp_r20=sp8=0; temp_r20<4; temp_r20++) { + if(!GWPlayerCfg[temp_r20].iscom) { + sp8 |= HuPadBtnDown[GWPlayerCfg[temp_r20].pad_idx]; + } + } + if(sp8 & PAD_BUTTON_A) { + HuAudFXPlay(28); + break; + } + HuPrcVSleep(); + temp_r31++; + } + HuWinKill(temp_r21); +} + +void fn_1_5880(omObjData *object) +{ + Vec pos; Vec offset; Vec dir; - Vec yOfs; + Vec y_offset; + + f32 z_rot; + s8 stick_pos; + + if(HuPadBtn[0] & PAD_BUTTON_UP) { + CRot.x += 2.0f; + } + if(HuPadBtn[0] & PAD_BUTTON_DOWN) { + CRot.x -= 2.0f; + } + if(HuPadBtn[0] & PAD_BUTTON_LEFT) { + CRot.y += 2.0f; + } + if(HuPadBtn[0] & PAD_BUTTON_RIGHT) { + CRot.y -= 2.0f; + } + if(HuPadBtnDown[0] & PAD_BUTTON_B) { + OSReport("CRot %f,%f,%f\n", CRot.x, CRot.y, CRot.z); + OSReport("Center %f,%f,%f\n", Center.x, Center.y, Center.z); + OSReport("CZoom %f\n", CZoom); + } + + CZoom += HuPadTrigL[0] / 2; + CZoom -= HuPadTrigR[0] / 2; - float z_rot; - s8 stickPos; + pos.x = Center.x + (CZoom * (sin((M_PI * CRot.y) / 180.0) * cos((M_PI * CRot.x) / 180.0))); + pos.y = (Center.y + (CZoom * -sin((M_PI * CRot.x) / 180.0))); + pos.z = (Center.z + (CZoom * (cos((M_PI * CRot.y) / 180.0) * cos((M_PI * CRot.x) / 180.0)))); + offset.x = Center.x - pos.x; + offset.y = Center.y - pos.y; + offset.z = Center.z - pos.z; + dir.x = (sin((M_PI * CRot.y) / 180.0) * sin((M_PI * CRot.x) / 180.0)); + dir.y = cos((M_PI * CRot.x) / 180.0); + dir.z = (cos((M_PI * CRot.y) / 180.0) * sin((M_PI * CRot.x) / 180.0)); + z_rot = CRot.z; + y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cos((M_PI * z_rot) / 180.0)) + + dir.y * (offset.x * offset.y * (1.0f - cos((M_PI * z_rot) / 180.0)) - offset.z * sin((M_PI * z_rot) / 180.0)) + + dir.z * (offset.x * offset.z * (1.0f - cos((M_PI * z_rot) / 180.0)) + offset.y * sin((M_PI * z_rot) / 180.0)); - if (HuPadBtn[0] & PAD_BUTTON_UP) { - CRot.x += 2.0f; - } - if (HuPadBtn[0] & PAD_BUTTON_DOWN) { - CRot.x -= 2.0f; - } - if (HuPadBtn[0] & PAD_BUTTON_LEFT) { - CRot.y += 2.0f; - } - if (HuPadBtn[0] & PAD_BUTTON_RIGHT) { - CRot.y -= 2.0f; - } - if (HuPadBtnDown[0] & PAD_BUTTON_B) { - OSReport("CRot %f,%f,%f\n", CRot.x, CRot.y, CRot.z); - OSReport("Center %f,%f,%f\n", Center.x, Center.y, Center.z); - OSReport("CZoom %f\n", CZoom); - } + y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cos((M_PI * z_rot) / 180.0)) + + dir.x * (offset.x * offset.y * (1.0f - cos((M_PI * z_rot) / 180.0)) + offset.z * sin((M_PI * z_rot) / 180.0)) + + dir.z * (offset.y * offset.z * (1.0f - cos((M_PI * z_rot) / 180.0)) - offset.x * sin((M_PI * z_rot) / 180.0)); + + y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cos((M_PI * z_rot) / 180.0)) + + (dir.x * (offset.x * offset.z * (1.0 - cos((M_PI * z_rot) / 180.0)) - offset.y * sin((M_PI * z_rot) / 180.0)) + + dir.y * (offset.y * offset.z * (1.0 - cos((M_PI * z_rot) / 180.0)) + offset.x * sin((M_PI * z_rot) / 180.0))); - CZoom += HuPadTrigL[0] / 2; - CZoom -= HuPadTrigR[0] / 2; - - pos.x = Center.x + CZoom * (sind(CRot.y) * cosd(CRot.x)); - pos.y = Center.y + CZoom * -sind(CRot.x); - pos.z = Center.z + CZoom * (cosd(CRot.y) * cosd(CRot.x)); - offset.x = Center.x - pos.x; - offset.y = Center.y - pos.y; - offset.z = Center.z - pos.z; - dir.x = (sind(CRot.y) * sind(CRot.x)); - dir.y = cosd(CRot.x); - dir.z = (cosd(CRot.y) * sind(CRot.x)); - z_rot = CRot.z; - yOfs.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cosd(z_rot)) - + dir.y * (offset.x * offset.y * (1.0f - cosd(z_rot)) - offset.z * sind(z_rot)) - + dir.z * (offset.x * offset.z * (1.0f - cosd(z_rot)) + offset.y * sind(z_rot)); - - yOfs.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cosd(z_rot)) - + dir.x * (offset.x * offset.y * (1.0f - cosd(z_rot)) + offset.z * sind(z_rot)) - + dir.z * (offset.y * offset.z * (1.0f - cosd(z_rot)) - offset.x * sind(z_rot)); - - yOfs.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cosd(z_rot)) - + (dir.x * (offset.x * offset.z * (1.0 - cosd(z_rot)) - offset.y * sind(z_rot)) - + dir.y * (offset.y * offset.z * (1.0 - cosd(z_rot)) + offset.x * sind(z_rot))); - - VECCrossProduct(&dir, &offset, &offset); - VECNormalize(&offset, &offset); - stickPos = (HuPadSubStkX[0] & 0xF8); - if (stickPos != 0) { - Center.x += 0.05f * (offset.x * stickPos); - Center.y += 0.05f * (offset.y * stickPos); - Center.z += 0.05f * (offset.z * stickPos); - } - VECNormalize(&yOfs, &offset); - stickPos = -(HuPadSubStkY[0] & 0xF8); - if (stickPos != 0) { - Center.x += 0.05f * (offset.x * stickPos); - Center.y += 0.05f * (offset.y * stickPos); - Center.z += 0.05f * (offset.z * stickPos); - } + PSVECCrossProduct(&dir, &offset, &offset); + PSVECNormalize(&offset, &offset); + stick_pos = (HuPadSubStkX[0] & 0xF8); + if (stick_pos != 0) { + Center.x += 0.05f * (offset.x * stick_pos); + Center.y += 0.05f * (offset.y * stick_pos); + Center.z += 0.05f * (offset.z * stick_pos); + } + PSVECNormalize(&y_offset, &offset); + stick_pos = -(HuPadSubStkY[0] & 0xF8); + if (stick_pos != 0) { + Center.x += 0.05f * (offset.x * stick_pos); + Center.y += 0.05f * (offset.y * stick_pos); + Center.z += 0.05f * (offset.z * stick_pos); + } } diff --git a/src/REL/safDll/main.c b/src/REL/safDll/main.c index 8c2447d2..6b58f683 100644 --- a/src/REL/safDll/main.c +++ b/src/REL/safDll/main.c @@ -3,12 +3,10 @@ #include "game/gamework_data.h" #include "game/printfunc.h" #include "game/pad.h" -#include "math.h" +#include "rel_sqrt_consts.h" s32 lbl_1_data_0 = 100; -#if VERSION_NTSC s32 lbl_1_bss_0[192]; -#endif void fn_1_0(void) { diff --git a/src/REL/selmenuDll/main.c b/src/REL/selmenuDll/main.c index ad413ed8..29b299ae 100644 --- a/src/REL/selmenuDll/main.c +++ b/src/REL/selmenuDll/main.c @@ -1,23 +1,22 @@ -#include "game/board/main.h" -#include "game/armem.h" -#include "game/audio.h" -#include "game/data.h" -#include "game/flag.h" -#include "game/frand.h" -#include "game/gamework_data.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" #include "game/object.h" #include "game/objsub.h" #include "game/pad.h" -#include "game/printfunc.h" +#include "game/gamework_data.h" +#include "game/hsfman.h" +#include "game/hsfdraw.h" #include "game/wipe.h" -#include "math.h" +#include "game/flag.h" +#include "game/printfunc.h" +#include "game/minigame_seq.h" +#include "game/data.h" +#include "game/board/main.h" +#include "game/armem.h" +#include "game/audio.h" +#include "game/frand.h" +#include "rel_sqrt_consts.h" -// MSM Definitions +//MSM Definitions static s8 *msmSeGetIndexPtr(s16 datano); static void msmMusSetMasterVolume(s32 value); @@ -29,93 +28,117 @@ static void msmMusSetMasterVolume(s32 value); #define SM_KEY_UP 0x0001 #define SM_KEY_DOWN 0x0002 -static char *smCharTbl[] = { "Mario", "Luigi", "Peach", "Yoshi", "Wario", "Donkey", "Daisy", "Waluigi" }; - -typedef struct sm_entry { - u16 enabled; - char *name; - OverlayID overlay; -} SMEntry; - -static SMEntry smMenuTbl[SM_PAGE_MAX * SM_PAGE_SIZE] = { - { 1, "401:WAKUGURI DIVING", OVL_M401 }, - { 1, "402:PURURUN! BIGSLIME", OVL_M402 }, - { 1, "403:TAORERUKABE!", OVL_M403 }, - { 1, "404:CRAYON RUNNER", OVL_M404 }, - { 1, "405:MEDREY RACE", OVL_M405 }, - { 1, "406:SKI RACE", OVL_M406 }, - { 1, "407:BATTANDOMINO", OVL_M407 }, - { 1, "408:SKY DIVE", OVL_M408 }, - { 1, "409:CRAY SHOT", OVL_M409 }, - { 1, "410:JANJAN FREE THROW", OVL_M410 }, - { 1, "411:PAZZLE DE PONG", OVL_M411 }, - { 1, "412:SNOW THROW", OVL_M412 }, - { 1, "413:BOMBHEI PAZZLE!", OVL_M413 }, - { 1, "414:NERATTE UTE!", OVL_M414 }, - { 1, "415:PYONPYON STAMP", OVL_M415 }, - { 1, "416:MAMORE FIRE", OVL_M416 }, - { 1, "417:MARIO SURFER", OVL_M417 }, - { 1, "418:TAIHOU KAKURENBO", OVL_M418 }, - { 1, "419:BANANA DE KOROBASE", OVL_M419 }, - { 1, "420:WATER BATTLE", OVL_M420 }, - { 1, "421:BODY BALOON", OVL_M421 }, - { 1, "422:BELCON COIN", OVL_M422 }, - { 1, "423:GOAL AND GOAL", OVL_M423 }, - { 1, "424:CLANE CATCH", OVL_M424 }, - { 1, "425:AIR DOSSUN", OVL_M425 }, - { 1, "426:KYOROKYORO PANIC", OVL_M426 }, - { 1, "427:BOAT RACE", OVL_M427 }, - { 1, "428:THE ROCK CLIME", OVL_M428 }, - { 1, "429:TREASURE FOREST", OVL_M429 }, - { 1, "430:PARASAILING GO", OVL_M430 }, - { 1, "431:GURUGURU BOX", OVL_M431 }, - { 1, "432:PAIR DE RACE", OVL_M432 }, - { 1, "433:BEACH VOLLEY", OVL_SUBCHRSEL }, - { 1, "434:KINGYOSUKUI", OVL_M434 }, - { 1, "435:KOOPA DARTS", OVL_M435 }, - { 1, "436:KOOPANO AREGA TABETAI!", OVL_M436 }, - { 1, "437:FUSEN RAKUGO", OVL_M437 }, - { 1, "438:SYAKUNETSU WANWAN ATTACK", OVL_M438 }, - { 1, "439:GURUGURU DANGEROUS", OVL_M439 }, - { 1, "440:NEO KOOPA BAKUDAN", OVL_M440 }, - { 1, "441:HIRAHIRA CHOUCHO", OVL_M441 }, - { 1, "442:SUIMYAKU HORE2", OVL_M442 }, - { 1, "443:DRUG RACE", OVL_M443 }, - { 1, "444:MIRACLE PINBALL", OVL_M444 }, - { 1, "445:KINOPIO HAMMER", OVL_M445 }, - { 1, "446:3MAI SOROERO!", OVL_M446 }, - { 1, "447:IQ BLOCK", OVL_M447 }, - { 1, "448:FUMIKURI", OVL_M448 }, - { 1, "449:NOKO2 KOURA PAZZLE", OVL_M449 }, - { 1, "450:LAST GAME", OVL_M450 }, - { 1, "451:PAZZLE", OVL_M451 }, - { 1, "455:BURUTTE 1BAN", OVL_M455 }, - { 1, "456:MOGUTTE 1BAN", OVL_M456 }, - { 1, "457:SUMOH", OVL_M457 }, - { 1, "458:PSYCOLO BATTLE", OVL_M458 }, - { 1, "459:Dr.WARIO", OVL_M459 }, - { 1, "460:", OVL_M460 }, - { 1, "461:BOMBHEI SCRANBLE", OVL_M461 }, - { 1, "462:", OVL_M462 }, - { 1, "***:MESS CHECK", OVL_MESS }, - { 1, "***:BOARD W01", OVL_W01 }, - { 1, "***:BOARD W02", OVL_W02 }, - { 1, "***:BOARD W03", OVL_W03 }, - { 1, "***:BOARD W04", OVL_W04 }, - { 1, "***:BOARD W05", OVL_W05 }, - { 1, "***:BOARD W06", OVL_W06 }, - { 1, "***:BOARD W20", OVL_W20 }, - { 1, "***:BOARD W21", OVL_W21 }, - { 1, "***:STAFF", OVL_STAFF }, - { 1, "***:STORY TEST", OVL_MSTORY4 }, +static char *smCharTbl[] = { + "Mario", + "Luigi", + "Peach", + "Yoshi", + "Wario", + "Donkey", + "Daisy", + "Waluigi" }; -static u32 cameraMaskTbl[] = { (1 << 0), (1 << 1), (1 << 2), (1 << 3) }; +typedef struct sm_entry { + u16 enabled; + char *name; + OverlayID overlay; +} SMEntry; -static u32 lbl_1_data_844[] = { 0, 1, 2, 3, 4, 5 }; +static SMEntry smMenuTbl[SM_PAGE_MAX*SM_PAGE_SIZE] = { + { 1, "401:WAKUGURI DIVING", OVL_M401 }, + { 1, "402:PURURUN! BIGSLIME", OVL_M402 }, + { 1, "403:TAORERUKABE!", OVL_M403 }, + { 1, "404:CRAYON RUNNER", OVL_M404 }, + { 1, "405:MEDREY RACE", OVL_M405 }, + { 1, "406:SKI RACE", OVL_M406 }, + { 1, "407:BATTANDOMINO", OVL_M407 }, + { 1, "408:SKY DIVE", OVL_M408 }, + { 1, "409:CRAY SHOT", OVL_M409 }, + { 1, "410:JANJAN FREE THROW", OVL_M410 }, + { 1, "411:PAZZLE DE PONG", OVL_M411 }, + { 1, "412:SNOW THROW", OVL_M412 }, + { 1, "413:BOMBHEI PAZZLE!", OVL_M413 }, + { 1, "414:NERATTE UTE!", OVL_M414 }, + { 1, "415:PYONPYON STAMP", OVL_M415 }, + { 1, "416:MAMORE FIRE", OVL_M416 }, + { 1, "417:MARIO SURFER", OVL_M417 }, + { 1, "418:TAIHOU KAKURENBO", OVL_M418 }, + { 1, "419:BANANA DE KOROBASE", OVL_M419 }, + { 1, "420:WATER BATTLE", OVL_M420 }, + { 1, "421:BODY BALOON", OVL_M421 }, + { 1, "422:BELCON COIN", OVL_M422 }, + { 1, "423:GOAL AND GOAL", OVL_M423 }, + { 1, "424:CLANE CATCH", OVL_M424 }, + { 1, "425:AIR DOSSUN", OVL_M425 }, + { 1, "426:KYOROKYORO PANIC", OVL_M426 }, + { 1, "427:BOAT RACE", OVL_M427 }, + { 1, "428:THE ROCK CLIME", OVL_M428 }, + { 1, "429:TREASURE FOREST", OVL_M429 }, + { 1, "430:PARASAILING GO", OVL_M430 }, + { 1, "431:GURUGURU BOX", OVL_M431 }, + { 1, "432:PAIR DE RACE", OVL_M432 }, + { 1, "433:BEACH VOLLEY", OVL_SUBCHRSEL }, + { 1, "434:KINGYOSUKUI", OVL_M434 }, + { 1, "435:KOOPA DARTS", OVL_M435 }, + { 1, "436:KOOPANO AREGA TABETAI!", OVL_M436 }, + { 1, "437:FUSEN RAKUGO", OVL_M437 }, + { 1, "438:SYAKUNETSU WANWAN ATTACK", OVL_M438 }, + { 1, "439:GURUGURU DANGEROUS", OVL_M439 }, + { 1, "440:NEO KOOPA BAKUDAN", OVL_M440 }, + { 1, "441:HIRAHIRA CHOUCHO", OVL_M441 }, + { 1, "442:SUIMYAKU HORE2", OVL_M442 }, + { 1, "443:DRUG RACE", OVL_M443 }, + { 1, "444:MIRACLE PINBALL", OVL_M444 }, + { 1, "445:KINOPIO HAMMER", OVL_M445 }, + { 1, "446:3MAI SOROERO!", OVL_M446 }, + { 1, "447:IQ BLOCK", OVL_M447 }, + { 1, "448:FUMIKURI", OVL_M448 }, + { 1, "449:NOKO2 KOURA PAZZLE", OVL_M449 }, + { 1, "450:LAST GAME", OVL_M450 }, + { 1, "451:PAZZLE", OVL_M451 }, + { 1, "455:BURUTTE 1BAN", OVL_M455 }, + { 1, "456:MOGUTTE 1BAN", OVL_M456 }, + { 1, "457:SUMOH", OVL_M457 }, + { 1, "458:PSYCOLO BATTLE", OVL_M458 }, + { 1, "459:Dr.WARIO", OVL_M459 }, + { 1, "460:", OVL_M460 }, + { 1, "461:BOMBHEI SCRANBLE", OVL_M461 }, + { 1, "462:", OVL_M462 }, + { 1, "***:MESS CHECK", OVL_MESS }, + { 1, "***:BOARD W01", OVL_W01 }, + { 1, "***:BOARD W02", OVL_W02 }, + { 1, "***:BOARD W03", OVL_W03 }, + { 1, "***:BOARD W04", OVL_W04 }, + { 1, "***:BOARD W05", OVL_W05 }, + { 1, "***:BOARD W06", OVL_W06 }, + { 1, "***:BOARD W20", OVL_W20 }, + { 1, "***:BOARD W21", OVL_W21 }, + { 1, "***:STAFF", OVL_STAFF }, + { 1, "***:STORY TEST", OVL_MSTORY4 }, +}; -static char *dvdMusTbl[] = { "sound/mu_016a.dvd", "sound/mu_047a.dvd", "sound/mu_052a.dvd", "sound/mu_054a.dvd", "sound/mu_101a.dvd", - "sound/mu_108a.dvd", "sound/mu002a.dvd", "" }; +static u32 cameraMaskTbl[] = { + ( 1 << 0 ), + ( 1 << 1 ), + ( 1 << 2 ), + ( 1 << 3 ) +}; + +static u32 lbl_1_data_844[] = { + 0, 1, 2, 3, 4, 5 +}; + +static char *dvdMusTbl[] = { + "sound/mu_016a.dvd", + "sound/mu_047a.dvd", + "sound/mu_052a.dvd", + "sound/mu_054a.dvd", + "sound/mu_101a.dvd", + "sound/mu_108a.dvd", + "sound/mu002a.dvd", + "" +}; static s16 smPage; static s16 smSelectPosBackup[SM_PAGE_MAX]; @@ -137,166 +160,161 @@ static void SMRand8Tick(omObjData *object); void ObjectSetup(void) { - static char *funcId = "SMOBJECTSETUP\n"; - s32 i; - Process *objman; - Vec pos, dir; - - OSReport("ObjectSetup:%08x\n", ObjectSetup); - OSReport("\n\n\n******* SMObjectSetup *********\n"); - OSReport(funcId); - objman = omInitObjMan(50, 8192); - for (i = 0; i < 4; i++) { - if (GWPlayerCfg[i].character >= 8) { - break; - } - } - if (i != 4) { - for (i = 0; i < 4; i++) { - GWPlayerCfg[i].character = i; - } - } - smMainObj = omAddObjEx(objman, 0, 0, 0, -1, SMInit); - outViewObj = omAddObjEx(objman, 32730, 0, 0, -1, omOutViewMulti); - omAddObjEx(objman, 0, 0, 0, -1, SMRand8Tick); - outViewObj->work[0] = 4; - for (i = 0; i < 4; i++) { - CRotM[i].x = -20.0f; - CRotM[i].y = 0.0f; - CRotM[i].z = 0.0f; - CenterM[i].x = 0.0f; - CenterM[i].y = 50.0f; - CenterM[i].z = 0.0f; - CZoomM[i] = 500.0f; - Hu3DCameraCreate(cameraMaskTbl[i]); - Hu3DCameraPerspectiveSet(cameraMaskTbl[i], 45.0f, 20.0f, 25000.0f, 4.0f / 3.0f); - Hu3DCameraViewportSet(cameraMaskTbl[i], (i % 2) * 320.0f, (i / 2) * 240.0f, 320.0f, 240.0f, 0.0f, 1.0f); - } - Hu3DGLightCreate(0.0f, 0.0f, 100.0f, 0.0f, 0.0f, -1.0f, 255, 255, 255); - pos.x = 0.0f; - pos.y = 0.0f; - pos.z = 200.0f; - dir.x = dir.y = 0.0f; - dir.z = -1.0f; - SetDefLight(&pos, &dir, 255, 255, 255, 64, 64, 64, 255, 255, 255); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - GWMGTypeSet(-1); - _ClearFlag(FLAG_ID_MAKE(1, 0)); - GWSystem.turn = 1; - GWSystem.max_turn = 20; + static char *funcId = "SMOBJECTSETUP\n"; + s32 i; + Process *objman; + Vec pos, dir; + + OSReport("ObjectSetup:%08x\n", ObjectSetup); + OSReport("\n\n\n******* SMObjectSetup *********\n"); + OSReport(funcId); + objman = omInitObjMan(50, 8192); + for(i=0; i<4; i++) { + if(GWPlayerCfg[i].character >= 8) { + break; + } + } + if(i != 4) { + for(i=0; i<4; i++) { + GWPlayerCfg[i].character = i; + } + } + smMainObj = omAddObjEx(objman, 0, 0, 0, -1, SMInit); + outViewObj = omAddObjEx(objman, 32730, 0, 0, -1, omOutViewMulti); + omAddObjEx(objman, 0, 0, 0, -1, SMRand8Tick); + outViewObj->work[0] = 4; + for(i=0; i<4; i++) { + CRotM[i].x = -20.0f; + CRotM[i].y = 0.0f; + CRotM[i].z = 0.0f; + CenterM[i].x = 0.0f; + CenterM[i].y = 50.0f; + CenterM[i].z = 0.0f; + CZoomM[i] = 500.0f; + Hu3DCameraCreate(cameraMaskTbl[i]); + Hu3DCameraPerspectiveSet(cameraMaskTbl[i], 45.0f, 20.0f, 25000.0f, 4.0f/3.0f); + Hu3DCameraViewportSet(cameraMaskTbl[i], (i%2)*320.0f, (i/2)*240.0f, 320.0f, 240.0f, 0.0f, 1.0f); + } + Hu3DGLightCreate(0.0f, 0.0f, 100.0f, 0.0f, 0.0f, -1.0f, 255, 255, 255); + pos.x = 0.0f; + pos.y = 0.0f; + pos.z = 200.0f; + dir.x = dir.y = 0.0f; + dir.z = -1.0f; + SetDefLight(&pos, &dir, 255, 255, 255, 64, 64, 64, 255, 255, 255); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); + GWMGTypeSet(-1); + _ClearFlag(FLAG_ID_MAKE(1, 0)); + GWSystem.turn = 1; + GWSystem.max_turn = 20; } static void CopyPlayerCfg(PlayerConfig *dst, PlayerConfig *src) { - s32 i; - for (i = 0; i < 4; i++) { - *dst++ = *src++; - } + s32 i; + for(i=0; i<4; i++) { + *dst++ = *src++; + } } static void CalcBtns(void) { - s32 i; - keyDStk = keyDStkDown = btnDown = 0; - for (i = 0; i < 4; i++) { - keyDStkAll[i] = keyDStkAllDown[i] = btnDownAll[i] = 0; - if ((HuPadDStkRep[i] | HuPadBtn[i]) & PAD_BUTTON_LEFT) { - keyDStkAll[i] |= SM_KEY_LEFT; - } - if ((HuPadDStkRep[i] | HuPadBtn[i]) & PAD_BUTTON_RIGHT) { - keyDStkAll[i] |= SM_KEY_RIGHT; - } - if ((HuPadDStkRep[i] | HuPadBtn[i]) & PAD_BUTTON_UP) { - keyDStkAll[i] |= SM_KEY_UP; - } - if ((HuPadDStkRep[i] | HuPadBtn[i]) & PAD_BUTTON_DOWN) { - keyDStkAll[i] |= SM_KEY_DOWN; - } - btnDownAll[i] |= HuPadBtnDown[i]; - keyDStkAllDown[i] = (keyDStkAll[i] ^ keyDStkAllPrev[i]) & keyDStkAll[i]; - keyDStkAllPrev[i] = keyDStkAll[i]; - keyDStk |= keyDStkAll[i]; - keyDStkDown |= keyDStkAllDown[i]; - btnDown |= btnDownAll[i]; - } + s32 i; + keyDStk = keyDStkDown = btnDown = 0; + for(i=0; i<4; i++) { + keyDStkAll[i] = keyDStkAllDown[i] = btnDownAll[i] = 0; + if((HuPadDStkRep[i]|HuPadBtn[i]) & PAD_BUTTON_LEFT) { + keyDStkAll[i] |= SM_KEY_LEFT; + } + if((HuPadDStkRep[i]|HuPadBtn[i]) & PAD_BUTTON_RIGHT) { + keyDStkAll[i] |= SM_KEY_RIGHT; + } + if((HuPadDStkRep[i]|HuPadBtn[i]) & PAD_BUTTON_UP) { + keyDStkAll[i] |= SM_KEY_UP; + } + if((HuPadDStkRep[i]|HuPadBtn[i]) & PAD_BUTTON_DOWN) { + keyDStkAll[i] |= SM_KEY_DOWN; + } + btnDownAll[i] |= HuPadBtnDown[i]; + keyDStkAllDown[i] = (keyDStkAll[i] ^ keyDStkAllPrev[i]) & keyDStkAll[i]; + keyDStkAllPrev[i] = keyDStkAll[i]; + keyDStk |= keyDStkAll[i]; + keyDStkDown |= keyDStkAllDown[i]; + btnDown |= btnDownAll[i]; + } } static void DrawPage(void) { - s32 i; - SMEntry *entry; - fontcolor = FONT_COLOR_YELLOW; - print8(200, 160, 2.5f, "PAGE:%d/%d", smPage + 1, SM_PAGE_MAX); - for (i = 0; i < SM_PAGE_SIZE; i++) { - entry = &smMenuTbl[(smPage * SM_PAGE_SIZE) + i]; - if (entry->enabled == 1) { - if (i == smSelectPos) { - fontcolor = FONT_COLOR_CYAN; - } - else { - fontcolor = FONT_COLOR_GREEN; - } - } - else { - fontcolor = FONT_COLOR_DARK_GREEN; - } - print8(100, (float)((i + 10) * 8) * 2.5f, 2.5f, "%s", entry->name); - } + s32 i; + SMEntry *entry; + fontcolor = FONT_COLOR_YELLOW; + print8(200, 160, 2.5f, "PAGE:%d/%d", smPage+1, SM_PAGE_MAX); + for(i=0; ienabled == 1) { + if(i == smSelectPos) { + fontcolor = FONT_COLOR_CYAN; + } else { + fontcolor = FONT_COLOR_GREEN; + } + } else { + fontcolor = FONT_COLOR_DARK_GREEN; + } + print8(100, (float)((i+10)*8)*2.5f, 2.5f, "%s", entry->name); + } } static void MoveSMCursor(s16 amount); static void MoveSMPage(s16 amount) { - s16 page; - s32 i; - u16 enabled; - s16 page_old; - enabled = 0; - page = smPage; - page_old = page; - do { - page += amount; - if (page >= SM_PAGE_MAX) { - page = 0; - } - else if (page < 0) { - page = SM_PAGE_MAX - 1; - } - for (i = 0; i < SM_PAGE_SIZE; i++) { - if (smMenuTbl[(page * SM_PAGE_SIZE) + i].enabled == 1) { - enabled = 1; - break; - } - } - } while (!enabled); - smPage = page; - if (page_old == -1) { - smSelectPos = -1; - MoveSMCursor(1); - smSelectPosBackup[smPage] = smSelectPos; - } - else { - smSelectPosBackup[page_old] = smSelectPos; - smSelectPos = smSelectPosBackup[smPage]; - } + s16 page; + s32 i; + u16 enabled; + s16 page_old; + enabled = 0; + page = smPage; + page_old = page; + do { + page += amount; + if(page >= SM_PAGE_MAX) { + page = 0; + } else if(page < 0) { + page = SM_PAGE_MAX-1; + } + for(i=0; i= SM_PAGE_SIZE) { - pos = 0; - } - else if (pos < 0) { - pos = SM_PAGE_SIZE - 1; - } - } while (!smMenuTbl[(smPage * SM_PAGE_SIZE) + pos].enabled); - smSelectPos = pos; - (void)pos; + s16 pos; + pos = smSelectPos; + do { + pos += amount; + if(pos >= SM_PAGE_SIZE) { + pos = 0; + } else if(pos < 0) { + pos = SM_PAGE_SIZE-1; + } + } while(!smMenuTbl[(smPage*SM_PAGE_SIZE)+pos].enabled); + smSelectPos = pos; + (void)pos; } static s16 SMChangeChar(s16 player, s16 offset); @@ -304,44 +322,43 @@ static void SMUpdate(omObjData *object); static void SMInit(omObjData *object) { - s32 i, j; - OSReport("SMinit:%08x\n", SMInit); - omDLLDBGOut(); - Hu3DBGColorSet(0, 0, 0); - CopyPlayerCfg(smPlayerCfg, GWPlayerCfg); - for (i = 0; i < 4; i++) { - for (j = i + 1; j < 4; j++) { - if (smPlayerCfg[i].character == smPlayerCfg[j].character) { - smPlayerCfg[j].character = SMChangeChar(j, -1); - } - } - } - smPage = -1; - for (i = 0; i < SM_PAGE_MAX; i++) { - for (j = 0; j < SM_PAGE_SIZE; j++) { - if (smMenuTbl[(i * SM_PAGE_SIZE) + j].enabled == 1) { - break; - } - } - if (j == SM_PAGE_SIZE) { - smSelectPosBackup[i] = -1; - } - else { - smSelectPosBackup[i] = j; - } - } - MoveSMPage(1); - if (mgSeqOvlPrev != OVL_INVALID) { - for (i = 0; i < SM_PAGE_MAX * SM_PAGE_SIZE; i++) { - if (mgSeqOvlPrev == smMenuTbl[i].overlay && smMenuTbl[i].enabled == 1) { - smPage = i / SM_PAGE_SIZE; - smSelectPos = i % SM_PAGE_SIZE; - smSelectPosBackup[smPage] = smSelectPos; - break; - } - } - } - object->func = SMUpdate; + s32 i, j; + OSReport("SMinit:%08x\n", SMInit); + omDLLDBGOut(); + Hu3DBGColorSet(0, 0, 0); + CopyPlayerCfg(smPlayerCfg, GWPlayerCfg); + for(i=0; i<4; i++) { + for(j=i+1; j<4; j++) { + if(smPlayerCfg[i].character == smPlayerCfg[j].character) { + smPlayerCfg[j].character = SMChangeChar(j, -1); + } + } + } + smPage = -1; + for(i=0; ifunc = SMUpdate; } static void SMGroupGen(s32 index); @@ -351,112 +368,110 @@ static void SMSound3DInit(omObjData *object); static void SMUpdate(omObjData *object) { - CalcBtns(); - DrawPage(); - if (keyDStkDown & SM_KEY_UP) { - MoveSMCursor(-1); - SMGroupGen((smPage * SM_PAGE_SIZE) + smSelectPos); - return; - } - if (keyDStkDown & SM_KEY_DOWN) { - MoveSMCursor(1); - SMGroupGen((smPage * SM_PAGE_SIZE) + smSelectPos); - return; - } - if (keyDStkDown & SM_KEY_LEFT) { - MoveSMPage(-1); - SMGroupGen((smPage * SM_PAGE_SIZE) + smSelectPos); - return; - } - if (keyDStkDown & SM_KEY_RIGHT) { - MoveSMPage(1); - SMGroupGen((smPage * SM_PAGE_SIZE) + smSelectPos); - return; - } - if ((btnDown & PAD_BUTTON_A) || (btnDown & PAD_BUTTON_START)) { - object->func = SMCharInit; - return; - } - if (btnDown & PAD_BUTTON_Y) { - object->func = SMPlayerCfgInit; - return; - } - if (btnDown & PAD_TRIGGER_Z) { - object->func = SMSound3DInit; - return; - } - if (btnDown & PAD_BUTTON_X) { - omOvlReturnEx(0, 1); - } + CalcBtns(); + DrawPage(); + if(keyDStkDown & SM_KEY_UP) { + MoveSMCursor(-1); + SMGroupGen((smPage*SM_PAGE_SIZE)+smSelectPos); + return; + } + if(keyDStkDown & SM_KEY_DOWN) { + MoveSMCursor(1); + SMGroupGen((smPage*SM_PAGE_SIZE)+smSelectPos); + return; + } + if(keyDStkDown & SM_KEY_LEFT) { + MoveSMPage(-1); + SMGroupGen((smPage*SM_PAGE_SIZE)+smSelectPos); + return; + } + if(keyDStkDown & SM_KEY_RIGHT) { + MoveSMPage(1); + SMGroupGen((smPage*SM_PAGE_SIZE)+smSelectPos); + return; + } + if((btnDown & PAD_BUTTON_A) || (btnDown & PAD_BUTTON_START)) { + object->func = SMCharInit; + return; + } + if(btnDown & PAD_BUTTON_Y) { + object->func = SMPlayerCfgInit; + return; + } + if(btnDown & PAD_TRIGGER_Z) { + object->func = SMSound3DInit; + return; + } + if(btnDown & PAD_BUTTON_X) { + omOvlReturnEx(0, 1); + } } static void SMGroupGen(s32 index) { - OverlayID overlay; - s32 i; - overlay = smMenuTbl[index].overlay; - for (i = 0; i < 50; i++) { - if (overlay == mgInfoTbl[i].ovl) { - break; - } - } - if (i == 50) { - for (i = 0; i < 4; i++) { - smPlayerCfg[i].group = i; - } - return; - } - switch (mgInfoTbl[i].type) { - case 0: - case 3: - case 4: - case 5: - case 6: - for (i = 0; i < 4; i++) { - smPlayerCfg[i].group = i; - } - break; - - case 1: - smPlayerCfg[0].group = 0; - for (i = 1; i < 4; i++) { - smPlayerCfg[i].group = 1; - } - break; - - case 2: - for (i = 0; i < 2; i++) { - smPlayerCfg[i].group = 0; - } - for (i = 2; i < 4; i++) { - smPlayerCfg[i].group = 1; - } - break; - } - if (overlay == OVL_M430) { - s32 team_cnt[2]; - s32 team_players[2][2]; - team_cnt[0] = team_cnt[1] = 0; - for (i = 0; i < 4; i++) { - team_players[smPlayerCfg[i].group][team_cnt[smPlayerCfg[i].group]++] = i; - } - if (frandBool()) { - GWPlayerCfg[team_players[0][0]].group = 0; - GWPlayerCfg[team_players[0][1]].group = 1; - } - else { - GWPlayerCfg[team_players[0][0]].group = 1; - GWPlayerCfg[team_players[0][1]].group = 0; - } - if (frandBool()) { - GWPlayerCfg[team_players[1][0]].group = 2; - GWPlayerCfg[team_players[1][1]].group = 3; - } - else { - GWPlayerCfg[team_players[1][0]].group = 3; - GWPlayerCfg[team_players[1][1]].group = 2; - } - } + OverlayID overlay; + s32 i; + overlay = smMenuTbl[index].overlay; + for(i=0; i<50; i++) { + if(overlay == mgInfoTbl[i].ovl) { + break; + } + } + if(i == 50) { + for(i=0; i<4; i++) { + smPlayerCfg[i].group = i; + } + return; + } + switch(mgInfoTbl[i].type) { + case 0: + case 3: + case 4: + case 5: + case 6: + for(i=0; i<4; i++) { + smPlayerCfg[i].group = i; + } + break; + + case 1: + smPlayerCfg[0].group = 0; + for(i=1; i<4; i++) { + smPlayerCfg[i].group = 1; + } + break; + + case 2: + for(i=0; i<2; i++) { + smPlayerCfg[i].group = 0; + } + for(i=2; i<4; i++) { + smPlayerCfg[i].group = 1; + } + break; + } + if(overlay == OVL_M430) { + s32 team_cnt[2]; + s32 team_players[2][2]; + team_cnt[0] = team_cnt[1] = 0; + for(i=0; i<4; i++) { + team_players[smPlayerCfg[i].group][team_cnt[smPlayerCfg[i].group]++] = i; + } + if(frandBool()) { + GWPlayerCfg[team_players[0][0]].group = 0; + GWPlayerCfg[team_players[0][1]].group = 1; + } else { + GWPlayerCfg[team_players[0][0]].group = 1; + GWPlayerCfg[team_players[0][1]].group = 0; + } + if(frandBool()) { + GWPlayerCfg[team_players[1][0]].group = 2; + GWPlayerCfg[team_players[1][1]].group = 3; + } else { + GWPlayerCfg[team_players[1][0]].group = 3; + GWPlayerCfg[team_players[1][1]].group = 2; + } + } } static s16 charModelID[8]; @@ -464,83 +479,83 @@ static s16 playerDoneF[4]; static s16 charSelProhibitF[8]; static s32 charMdlTbl[] = { - DATA_MAKE_NUM(DATADIR_SELMENU, 0), - DATA_MAKE_NUM(DATADIR_SELMENU, 2), - DATA_MAKE_NUM(DATADIR_SELMENU, 4), - DATA_MAKE_NUM(DATADIR_SELMENU, 6), - DATA_MAKE_NUM(DATADIR_SELMENU, 8), - DATA_MAKE_NUM(DATADIR_SELMENU, 10), - DATA_MAKE_NUM(DATADIR_SELMENU, 12), - DATA_MAKE_NUM(DATADIR_SELMENU, 14), + DATA_MAKE_NUM(DATADIR_SELMENU, 0), + DATA_MAKE_NUM(DATADIR_SELMENU, 2), + DATA_MAKE_NUM(DATADIR_SELMENU, 4), + DATA_MAKE_NUM(DATADIR_SELMENU, 6), + DATA_MAKE_NUM(DATADIR_SELMENU, 8), + DATA_MAKE_NUM(DATADIR_SELMENU, 10), + DATA_MAKE_NUM(DATADIR_SELMENU, 12), + DATA_MAKE_NUM(DATADIR_SELMENU, 14), }; static s32 charMdlMotTbl[] = { - DATA_MAKE_NUM(DATADIR_SELMENU, 1), - DATA_MAKE_NUM(DATADIR_SELMENU, 3), - DATA_MAKE_NUM(DATADIR_SELMENU, 5), - DATA_MAKE_NUM(DATADIR_SELMENU, 7), - DATA_MAKE_NUM(DATADIR_SELMENU, 9), - DATA_MAKE_NUM(DATADIR_SELMENU, 11), - DATA_MAKE_NUM(DATADIR_SELMENU, 13), - DATA_MAKE_NUM(DATADIR_SELMENU, 15), + DATA_MAKE_NUM(DATADIR_SELMENU, 1), + DATA_MAKE_NUM(DATADIR_SELMENU, 3), + DATA_MAKE_NUM(DATADIR_SELMENU, 5), + DATA_MAKE_NUM(DATADIR_SELMENU, 7), + DATA_MAKE_NUM(DATADIR_SELMENU, 9), + DATA_MAKE_NUM(DATADIR_SELMENU, 11), + DATA_MAKE_NUM(DATADIR_SELMENU, 13), + DATA_MAKE_NUM(DATADIR_SELMENU, 15), }; static s16 SMChangeChar(s16 player, s16 offset) { - s32 i; - s16 character; - for (i = 0; i < 8; i++) { - charSelProhibitF[i] = 0; - } - for (i = 0; i < 4; i++) { - if (smPlayerCfg[i].iscom) { - continue; - } - charSelProhibitF[smPlayerCfg[i].character] = 1; - } - if (!offset) { - return; - } - character = smPlayerCfg[player].character; - do { - character += offset; - if (character < 0) { - character = 7; - } - if (character >= 8) { - character = 0; - } - } while (charSelProhibitF[character] != 0); - return character; + s32 i; + s16 character; + for(i=0; i<8; i++) { + charSelProhibitF[i] = 0; + } + for(i=0; i<4; i++) { + if(smPlayerCfg[i].iscom) { + continue; + } + charSelProhibitF[smPlayerCfg[i].character] = 1; + } + if(!offset) { + return; + } + character = smPlayerCfg[player].character; + do { + character += offset; + if(character < 0) { + character = 7; + } + if(character >= 8) { + character = 0; + } + } while(charSelProhibitF[character] != 0); + return character; } static void SMCharKill(void) { - s32 i; - for (i = 0; i < 8; i++) { - Hu3DModelKill(charModelID[i]); - } + s32 i; + for(i=0; i<8; i++) { + Hu3DModelKill(charModelID[i]); + } } static void CharRandomize(void) { - s32 i; - s32 j; - s32 valid_cnt; - s32 valid_list[8]; - for (i = 0; i < 4; i++) { - valid_cnt = 0; - for (j = 0; j < 8; j++) { - if (charSelProhibitF[j]) { - continue; - } - valid_list[valid_cnt++] = j; - } - if (smPlayerCfg[i].iscom == 1) { - smPlayerCfg[i].character = valid_list[rand8() % valid_cnt]; - charSelProhibitF[smPlayerCfg[i].character] = 1; - } - } + s32 i; + s32 j; + s32 valid_cnt; + s32 valid_list[8]; + for(i=0; i<4; i++) { + valid_cnt = 0; + for(j=0; j<8; j++) { + if(charSelProhibitF[j]) { + continue; + } + valid_list[valid_cnt++] = j; + } + if(smPlayerCfg[i].iscom == 1) { + smPlayerCfg[i].character = valid_list[rand8() % valid_cnt]; + charSelProhibitF[smPlayerCfg[i].character] = 1; + } + } } static void SMCharUpdate(omObjData *object); @@ -548,233 +563,230 @@ static void SMExit(omObjData *object); static void SMCharInit(omObjData *object) { - s32 i; - for (i = 0; i < 8; i++) { - void *data = HuDataSelHeapReadNum(charMdlTbl[i], MEMORY_DEFAULT_NUM, HEAP_DATA); - charModelID[i] = Hu3DModelCreate(data); - Hu3DModelPosSet(charModelID[i], 0.0f, 0.0f, 0.0f); - Hu3DModelAttrSet(charModelID[i], HU3D_MOTATTR_LOOP); - Hu3DMotionSet(charModelID[i], Hu3DJointMotionFile(charModelID[i], charMdlMotTbl[i])); - } - for (i = 0; i < 4; i++) { - playerDoneF[i] = 0; - } - SMChangeChar(0, 0); - object->func = SMCharUpdate; + s32 i; + for(i=0; i<8; i++) { + void *data = HuDataSelHeapReadNum(charMdlTbl[i], MEMORY_DEFAULT_NUM, HEAP_DATA); + charModelID[i] = Hu3DModelCreate(data); + Hu3DModelPosSet(charModelID[i], 0.0f, 0.0f, 0.0f); + Hu3DModelAttrSet(charModelID[i], 0x40000001); + Hu3DMotionSet(charModelID[i], Hu3DJointMotion(charModelID[i], HuDataSelHeapReadNum(charMdlMotTbl[i], MEMORY_DEFAULT_NUM, HEAP_DATA))); + } + for(i=0; i<4; i++) { + playerDoneF[i] = 0; + } + SMChangeChar(0, 0); + object->func = SMCharUpdate; } static void SMCharUpdate(omObjData *object) { - s32 i; - - s16 port; - s32 j; - s16 w; - s16 x; - s16 y; - s16 done_players; - s16 num_players; - - for (i = 0; i < 8; i++) { - Hu3DModelAttrSet(charModelID[i], HU3D_ATTR_DISPOFF); - } - for (i = 0; i < 4; i++) { - if (!smPlayerCfg[i].iscom) { - Hu3DModelAttrReset(charModelID[smPlayerCfg[i].character], HU3D_ATTR_DISPOFF); - Hu3DModelCameraSet(charModelID[smPlayerCfg[i].character], cameraMaskTbl[i]); - } - } - for (i = 0, done_players = 0, num_players = 0; i < 4; i++) { - if (playerDoneF[i] == 1) { - done_players++; - } - if (!smPlayerCfg[i].iscom) { - num_players++; - } - } - if (done_players == num_players) { - SMChangeChar(0, 0); - CharRandomize(); - CopyPlayerCfg(GWPlayerCfg, smPlayerCfg); - CharKill(-1); - OSReport("%d,%d,%d,%d\n", GWPlayerCfg[0].character, GWPlayerCfg[1].character, GWPlayerCfg[2].character, GWPlayerCfg[3].character); - if (!CharAMemPtrGet(GWPlayerCfg[0].character)) { - CharARAMOpen(GWPlayerCfg[0].character); - } - if (!CharAMemPtrGet(GWPlayerCfg[1].character)) { - CharARAMOpen(GWPlayerCfg[1].character); - } - if (!CharAMemPtrGet(GWPlayerCfg[2].character)) { - CharARAMOpen(GWPlayerCfg[2].character); - } - if (!CharAMemPtrGet(GWPlayerCfg[3].character)) { - CharARAMOpen(GWPlayerCfg[3].character); - } - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); - object->func = SMExit; - } - CalcBtns(); - for (i = 0; i < 4; i++) { - port = smPlayerCfg[i].pad_idx; - if (!playerDoneF[i]) { - if (keyDStkAllDown[port] & SM_KEY_LEFT) { - smPlayerCfg[port].character = SMChangeChar(i, -1); - } - if (keyDStkAllDown[port] & SM_KEY_RIGHT) { - smPlayerCfg[port].character = SMChangeChar(i, 1); - } - if (btnDownAll[port] & PAD_BUTTON_A) { - playerDoneF[i] = 1; - } - } - if (HuPadBtnDown[port] & PAD_BUTTON_B) { - if (done_players != 0) { - playerDoneF[i] = 0; - } - else { - SMCharKill(); - object->func = SMUpdate; - return; - } - } - if (btnDownAll[port] & PAD_BUTTON_START) { - for (j = 0; j < 4; j++) { - if (!smPlayerCfg[j].iscom) { - playerDoneF[j] = 1; - } - } - return; - } - if (!smPlayerCfg[i].iscom) { - w = strlen(smCharTbl[smPlayerCfg[i].character]); - w *= 16; - x = ((320 - w) / 2) + ((i % 2) * 320); - y = 176 + ((i / 2) * 240); - if (playerDoneF[i] == 1) { - fontcolor = FONT_COLOR_WHITE; - print8(x, y, 2.0f, - "\xFD\x08" - "%s", - smCharTbl[smPlayerCfg[i].character]); - } - else { - fontcolor = FONT_COLOR_GREEN; - print8(x, y, 2.0f, - "\xFD\x05" - "%s", - smCharTbl[smPlayerCfg[i].character]); - } - } - else { - w = 72; - x = ((320 - w) / 2) + ((i % 2) * 320); - y = 108 + ((i / 2) * 240); - fontcolor = FONT_COLOR_YELLOW; - print8(x, y, 3.0f, - "\xFD\x07" - "COM"); - } - } + s32 i; + + s16 port; + s32 j; + s16 w; + s16 x; + s16 y; + s16 done_players; + s16 num_players; + + for(i=0; i<8; i++) { + Hu3DModelAttrSet(charModelID[i], 0x1); + } + for(i=0; i<4; i++) { + if(!smPlayerCfg[i].iscom) { + Hu3DModelAttrReset(charModelID[smPlayerCfg[i].character], 0x1); + Hu3DModelCameraSet(charModelID[smPlayerCfg[i].character], cameraMaskTbl[i]); + } + } + for(i=0, done_players=0, num_players=0; i<4; i++) { + if(playerDoneF[i] == 1) { + done_players++; + } + if(!smPlayerCfg[i].iscom) { + num_players++; + } + } + if(done_players == num_players) { + SMChangeChar(0, 0); + CharRandomize(); + CopyPlayerCfg(GWPlayerCfg, smPlayerCfg); + CharKill(-1); + OSReport("%d,%d,%d,%d\n", GWPlayerCfg[0].character, + GWPlayerCfg[1].character, + GWPlayerCfg[2].character, + GWPlayerCfg[3].character); + if(!CharAMemPtrGet(GWPlayerCfg[0].character)) { + CharARAMOpen(GWPlayerCfg[0].character); + } + if(!CharAMemPtrGet(GWPlayerCfg[1].character)) { + CharARAMOpen(GWPlayerCfg[1].character); + } + if(!CharAMemPtrGet(GWPlayerCfg[2].character)) { + CharARAMOpen(GWPlayerCfg[2].character); + } + if(!CharAMemPtrGet(GWPlayerCfg[3].character)) { + CharARAMOpen(GWPlayerCfg[3].character); + } + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); + object->func = SMExit; + } + CalcBtns(); + for(i=0; i<4; i++) { + port = smPlayerCfg[i].pad_idx; + if(!playerDoneF[i]) { + if(keyDStkAllDown[port] & SM_KEY_LEFT) { + smPlayerCfg[port].character = SMChangeChar(i, -1); + } + if(keyDStkAllDown[port] & SM_KEY_RIGHT) { + smPlayerCfg[port].character = SMChangeChar(i, 1); + } + if(btnDownAll[port] & PAD_BUTTON_A) { + playerDoneF[i] = 1; + } + } + if(HuPadBtnDown[port] & PAD_BUTTON_B) { + if(done_players != 0) { + playerDoneF[i] = 0; + } else { + SMCharKill(); + object->func = SMUpdate; + return; + } + } + if(btnDownAll[port] & PAD_BUTTON_START) { + for(j=0; j<4; j++) { + if(!smPlayerCfg[j].iscom) { + playerDoneF[j] = 1; + } + } + return; + } + if(!smPlayerCfg[i].iscom) { + w = strlen(smCharTbl[smPlayerCfg[i].character]); + w *= 16; + x = ((320-w)/2)+((i%2)*320); + y = 176+((i/2)*240); + if(playerDoneF[i] == 1) { + fontcolor = FONT_COLOR_WHITE; + print8(x, y, 2.0f, "\xFD\x08""%s", smCharTbl[smPlayerCfg[i].character]); + } else { + fontcolor = FONT_COLOR_GREEN; + print8(x, y, 2.0f, "\xFD\x05""%s", smCharTbl[smPlayerCfg[i].character]); + } + } else { + w = 72; + x = ((320-w)/2)+((i%2)*320); + y = 108+((i/2)*240); + fontcolor = FONT_COLOR_YELLOW; + print8(x, y, 3.0f, "\xFD\x07""COM"); + } + } } static void SMExit(omObjData *object) { - s32 mg; - if (WipeStatGet()) { - return; - } - while (HuARDMACheck()) - ; - mg = omMgIndexGet(smMenuTbl[(smPage * SM_PAGE_SIZE) + smSelectPos].overlay); - GWSystem.mg_next = mg; - OSReport("mgNo=%d\n", mg); - if (smMenuTbl[(smPage * SM_PAGE_SIZE) + smSelectPos].overlay == OVL_W10) { - _SetFlag(0x1000B); - } - else if (smMenuTbl[(smPage * SM_PAGE_SIZE) + smSelectPos].overlay == OVL_W20) { - BoardSaveInit(7); - BoardPartyConfigSet(0, 0, 0, 20, 0, 0, 0, 0); - } - else if (smMenuTbl[(smPage * SM_PAGE_SIZE) + smSelectPos].overlay == OVL_W21) { - BoardSaveInit(8); - BoardPartyConfigSet(0, 0, 0, 20, 0, 0, 0, 0); - } - else { - _ClearFlag(0x1000B); - } - if (mg == -1 || !(HuPadBtn[0] & PAD_TRIGGER_Z) || mgInfoTbl[mg].type == 5 || mgInfoTbl[mg].type == 3 || mgInfoTbl[mg].type == 6) { - omOvlCallEx(smMenuTbl[(smPage * SM_PAGE_SIZE) + smSelectPos].overlay, 1, 0, 0); - } - else { - omOvlCallEx(OVL_INST, 1, 0, 0); - } - mgSeqOvlPrev = smMenuTbl[(smPage * SM_PAGE_SIZE) + smSelectPos].overlay; - smSelectPosExit = smSelectPos; + s32 mg; + if(WipeStatGet()) { + return; + } + while(HuARDMACheck()); + mg = omMgIndexGet(smMenuTbl[(smPage*SM_PAGE_SIZE)+smSelectPos].overlay); + GWSystem.mg_next = mg; + OSReport("mgNo=%d\n", mg); + if(smMenuTbl[(smPage*SM_PAGE_SIZE)+smSelectPos].overlay == OVL_W10) { + _SetFlag(0x1000B); + } else if(smMenuTbl[(smPage*SM_PAGE_SIZE)+smSelectPos].overlay == OVL_W20) { + BoardSaveInit(7); + BoardPartyConfigSet(0, 0, 0, 20, 0, 0, 0, 0); + } else if(smMenuTbl[(smPage*SM_PAGE_SIZE)+smSelectPos].overlay == OVL_W21) { + BoardSaveInit(8); + BoardPartyConfigSet(0, 0, 0, 20, 0, 0, 0, 0); + } else { + _ClearFlag(0x1000B); + } + if(mg == -1 || !(HuPadBtn[0] & PAD_TRIGGER_Z) || mgInfoTbl[mg].type == 5 || mgInfoTbl[mg].type == 3 || mgInfoTbl[mg].type == 6) { + omOvlCallEx(smMenuTbl[(smPage*SM_PAGE_SIZE)+smSelectPos].overlay, 1, 0, 0); + } else { + omOvlCallEx(OVL_INST, 1, 0, 0); + } + mgSeqOvlPrev = smMenuTbl[(smPage*SM_PAGE_SIZE)+smSelectPos].overlay; + smSelectPosExit = smSelectPos; } -static char *padCfgStrTbl[] = { "PLAYER:%d", " PAD%d:%s", "PADNO:%d", " GRP:%d", " DIF:%s" }; +static char *padCfgStrTbl[] = { + "PLAYER:%d", + " PAD%d:%s", + "PADNO:%d", + " GRP:%d", + " DIF:%s" +}; static s16 playerCfgSelF; static s16 playerCfgPlayerPos; static s16 playerCfgOptionPos; -#define DO_HILITE(option) \ - do { \ - s32 color; \ - if (playerCfgOptionPos == option) { \ - color = fontcolor = FONT_COLOR_CYAN; \ - } \ - else { \ - color = fontcolor = FONT_COLOR_GREEN; \ - } \ - (void)color; \ - } while (0) - +#define DO_HILITE(option) \ +do { \ + s32 color; \ + if(playerCfgOptionPos == option) { \ + color = fontcolor = FONT_COLOR_CYAN; \ + } else { \ + color = fontcolor = FONT_COLOR_GREEN; \ + } \ + (void)color; \ +} while(0) + static void SMPlayerCfgDraw(void) { - s32 i; - s16 x; - s16 y; - s16 w; - char *comStr[] = { "HUMAN", "COM" }; - char *diffStr[] = { "EASY", "NORMAL", "HARD", "VERYHARD" }; - - for (i = 0; i < 4; i++) { - w = 128; - x = ((320 - w) / 2) + ((i % 2) * 320); - y = ((i / 2) * 240) + 48; - if (playerCfgSelF == 0 && playerCfgPlayerPos == i) { - fontcolor = FONT_COLOR_CYAN; - } - else { - fontcolor = FONT_COLOR_GREEN; - } - print8(x, y, 2.0f, padCfgStrTbl[0], i); - if (playerCfgSelF == 0) { - fontcolor = FONT_COLOR_DARK_GREEN; - print8(((i % 2) * 320) + 64, ((i / 2) * 240) + 80, 2.0f, padCfgStrTbl[1], smPlayerCfg[i].pad_idx, comStr[smPlayerCfg[i].iscom]); - print8(((i % 2) * 320) + 64, ((i / 2) * 240) + 96, 2.0f, padCfgStrTbl[2], smPlayerCfg[i].pad_idx); - print8(((i % 2) * 320) + 64, ((i / 2) * 240) + 112, 2.0f, padCfgStrTbl[3], smPlayerCfg[i].group); - print8(((i % 2) * 320) + 64, ((i / 2) * 240) + 128, 2.0f, padCfgStrTbl[4], diffStr[smPlayerCfg[i].diff]); - } - else if (playerCfgSelF == 1 && playerCfgPlayerPos == i) { - DO_HILITE(0); - print8(((i % 2) * 320) + 64, ((i / 2) * 240) + 80, 2.0f, padCfgStrTbl[1], smPlayerCfg[i].pad_idx, comStr[smPlayerCfg[i].iscom]); - DO_HILITE(1); - print8(((i % 2) * 320) + 64, ((i / 2) * 240) + 96, 2.0f, padCfgStrTbl[2], smPlayerCfg[i].pad_idx); - DO_HILITE(2); - print8(((i % 2) * 320) + 64, ((i / 2) * 240) + 112, 2.0f, padCfgStrTbl[3], smPlayerCfg[i].group); - DO_HILITE(3); - print8(((i % 2) * 320) + 64, ((i / 2) * 240) + 128, 2.0f, padCfgStrTbl[4], diffStr[smPlayerCfg[i].diff]); - } - else { - fontcolor = FONT_COLOR_DARK_GREEN; - print8(((i % 2) * 320) + 64, ((i / 2) * 240) + 80, 2.0f, padCfgStrTbl[1], smPlayerCfg[i].pad_idx, comStr[smPlayerCfg[i].iscom]); - print8(((i % 2) * 320) + 64, ((i / 2) * 240) + 96, 2.0f, padCfgStrTbl[2], smPlayerCfg[i].pad_idx); - print8(((i % 2) * 320) + 64, ((i / 2) * 240) + 112, 2.0f, padCfgStrTbl[3], smPlayerCfg[i].group); - print8(((i % 2) * 320) + 64, ((i / 2) * 240) + 128, 2.0f, padCfgStrTbl[4], diffStr[smPlayerCfg[i].diff]); - } - } + s32 i; + s16 x; + s16 y; + s16 w; + char *comStr[] = { + "HUMAN", + "COM" + }; + char *diffStr[] = { + "EASY", + "NORMAL", + "HARD", + "VERYHARD" + }; + + for(i=0; i<4; i++) { + w = 128; + x = ((320-w)/2)+((i%2)*320); + y = ((i/2)*240)+48; + if(playerCfgSelF == 0 && playerCfgPlayerPos == i) { + fontcolor = FONT_COLOR_CYAN; + } else { + fontcolor = FONT_COLOR_GREEN; + } + print8(x, y, 2.0f, padCfgStrTbl[0], i); + if(playerCfgSelF == 0) { + fontcolor = FONT_COLOR_DARK_GREEN; + print8(((i%2)*320)+64, ((i/2)*240)+80, 2.0f, padCfgStrTbl[1], smPlayerCfg[i].pad_idx, comStr[smPlayerCfg[i].iscom]); + print8(((i%2)*320)+64, ((i/2)*240)+96, 2.0f, padCfgStrTbl[2], smPlayerCfg[i].pad_idx); + print8(((i%2)*320)+64, ((i/2)*240)+112, 2.0f, padCfgStrTbl[3], smPlayerCfg[i].group); + print8(((i%2)*320)+64, ((i/2)*240)+128, 2.0f, padCfgStrTbl[4], diffStr[smPlayerCfg[i].diff]); + } else if(playerCfgSelF == 1 && playerCfgPlayerPos == i) { + DO_HILITE(0); + print8(((i%2)*320)+64, ((i/2)*240)+80, 2.0f, padCfgStrTbl[1], smPlayerCfg[i].pad_idx, comStr[smPlayerCfg[i].iscom]); + DO_HILITE(1); + print8(((i%2)*320)+64, ((i/2)*240)+96, 2.0f, padCfgStrTbl[2], smPlayerCfg[i].pad_idx); + DO_HILITE(2); + print8(((i%2)*320)+64, ((i/2)*240)+112, 2.0f, padCfgStrTbl[3], smPlayerCfg[i].group); + DO_HILITE(3); + print8(((i%2)*320)+64, ((i/2)*240)+128, 2.0f, padCfgStrTbl[4], diffStr[smPlayerCfg[i].diff]); + } else { + fontcolor = FONT_COLOR_DARK_GREEN; + print8(((i%2)*320)+64, ((i/2)*240)+80, 2.0f, padCfgStrTbl[1], smPlayerCfg[i].pad_idx, comStr[smPlayerCfg[i].iscom]); + print8(((i%2)*320)+64, ((i/2)*240)+96, 2.0f, padCfgStrTbl[2], smPlayerCfg[i].pad_idx); + print8(((i%2)*320)+64, ((i/2)*240)+112, 2.0f, padCfgStrTbl[3], smPlayerCfg[i].group); + print8(((i%2)*320)+64, ((i/2)*240)+128, 2.0f, padCfgStrTbl[4], diffStr[smPlayerCfg[i].diff]); + } + } } #undef DO_HILITE @@ -782,120 +794,114 @@ static void SMPlayerCfgUpdate(omObjData *object); static void SMPlayerCfgInit(omObjData *object) { - playerCfgSelF = 0; - playerCfgPlayerPos = 0; - playerCfgOptionPos = 0; - object->func = SMPlayerCfgUpdate; + playerCfgSelF = 0; + playerCfgPlayerPos = 0; + playerCfgOptionPos = 0; + object->func = SMPlayerCfgUpdate; } static void SMPlayerCfgUpdate(omObjData *object) { - s32 offset; - SMPlayerCfgDraw(); - CalcBtns(); - if (!playerCfgSelF) { - if (keyDStkDown & SM_KEY_LEFT) { - offset = ((playerCfgPlayerPos & 0x1) - 1) & 0x1; - playerCfgPlayerPos = (playerCfgPlayerPos & 0xFFFE) + offset; - } - else { - if (keyDStkDown & SM_KEY_RIGHT) { - offset = ((playerCfgPlayerPos & 0x1) + 1) & 0x1; - playerCfgPlayerPos = (playerCfgPlayerPos & 0xFFFE) + offset; - } - else if (keyDStkDown & SM_KEY_DOWN) { - if ((playerCfgPlayerPos += 2) >= 4) { - playerCfgPlayerPos -= 4; - } - } - else if (keyDStkDown & SM_KEY_UP) { - if ((playerCfgPlayerPos -= 2) < 0) { - playerCfgPlayerPos += 4; - } - } - } - if (btnDown & PAD_BUTTON_A) { - playerCfgSelF = 1; - return; - } - if ((btnDown & PAD_BUTTON_B) || (btnDown & PAD_BUTTON_Y)) { - object->func = SMUpdate; - } - } - else if (keyDStkDown & SM_KEY_UP) { - if (--playerCfgOptionPos < 0) { - playerCfgOptionPos = 3; - } - } - else if (keyDStkDown & SM_KEY_DOWN) { - if (++playerCfgOptionPos > 3) { - playerCfgOptionPos = 0; - } - } - else if (keyDStkDown & SM_KEY_LEFT) { - switch (playerCfgOptionPos) { - case 0: - smPlayerCfg[playerCfgPlayerPos].iscom ^= 1; - break; - - case 1: - if (--smPlayerCfg[playerCfgPlayerPos].pad_idx < 0) { - smPlayerCfg[playerCfgPlayerPos].pad_idx = 3; - } - break; - - case 2: - if (--smPlayerCfg[playerCfgPlayerPos].group < 0) { - smPlayerCfg[playerCfgPlayerPos].group = 3; - } - break; - - case 3: - if (--smPlayerCfg[playerCfgPlayerPos].diff < 0) { - smPlayerCfg[playerCfgPlayerPos].diff = 3; - } - break; - }; - } - else if (keyDStkDown & SM_KEY_RIGHT) { - switch (playerCfgOptionPos) { - case 0: - smPlayerCfg[playerCfgPlayerPos].iscom ^= 1; - break; - - case 1: - if (++smPlayerCfg[playerCfgPlayerPos].pad_idx > 3) { - smPlayerCfg[playerCfgPlayerPos].pad_idx = 0; - } - break; - - case 2: - if (++smPlayerCfg[playerCfgPlayerPos].group > 3) { - smPlayerCfg[playerCfgPlayerPos].group = 0; - } - break; - - case 3: - if (++smPlayerCfg[playerCfgPlayerPos].diff > 3) { - smPlayerCfg[playerCfgPlayerPos].diff = 0; - } - break; - } - } - else if ((btnDown & PAD_BUTTON_A) || (btnDown & PAD_BUTTON_B)) { - playerCfgSelF = 0; - } - else if (btnDown & PAD_BUTTON_Y) { - object->func = SMUpdate; - } + s32 offset; + SMPlayerCfgDraw(); + CalcBtns(); + if(!playerCfgSelF) { + if(keyDStkDown & SM_KEY_LEFT) { + offset = ((playerCfgPlayerPos & 0x1)-1) & 0x1; + playerCfgPlayerPos = (playerCfgPlayerPos & 0xFFFE)+offset; + } else { + if(keyDStkDown & SM_KEY_RIGHT) { + offset = ((playerCfgPlayerPos & 0x1)+1) & 0x1; + playerCfgPlayerPos = (playerCfgPlayerPos & 0xFFFE)+offset; + } else if(keyDStkDown & SM_KEY_DOWN) { + if((playerCfgPlayerPos += 2) >= 4) { + playerCfgPlayerPos -= 4; + } + } else if(keyDStkDown & SM_KEY_UP) { + if((playerCfgPlayerPos -= 2) < 0) { + playerCfgPlayerPos += 4; + } + } + } + if(btnDown & PAD_BUTTON_A) { + playerCfgSelF = 1; + return; + } + if((btnDown & PAD_BUTTON_B) || (btnDown & PAD_BUTTON_Y)) { + object->func = SMUpdate; + } + } else if(keyDStkDown & SM_KEY_UP) { + if(--playerCfgOptionPos < 0) { + playerCfgOptionPos = 3; + } + } else if(keyDStkDown & SM_KEY_DOWN) { + if(++playerCfgOptionPos > 3) { + playerCfgOptionPos = 0; + } + } else if(keyDStkDown & SM_KEY_LEFT) { + switch(playerCfgOptionPos) { + case 0: + smPlayerCfg[playerCfgPlayerPos].iscom ^= 1; + break; + + case 1: + if(--smPlayerCfg[playerCfgPlayerPos].pad_idx < 0) { + smPlayerCfg[playerCfgPlayerPos].pad_idx = 3; + } + break; + + case 2: + if(--smPlayerCfg[playerCfgPlayerPos].group < 0) { + smPlayerCfg[playerCfgPlayerPos].group = 3; + } + break; + + case 3: + if(--smPlayerCfg[playerCfgPlayerPos].diff < 0) { + smPlayerCfg[playerCfgPlayerPos].diff = 3; + } + break; + }; + } else if(keyDStkDown & SM_KEY_RIGHT) { + switch(playerCfgOptionPos) { + case 0: + smPlayerCfg[playerCfgPlayerPos].iscom ^= 1; + break; + + case 1: + if(++smPlayerCfg[playerCfgPlayerPos].pad_idx > 3) { + smPlayerCfg[playerCfgPlayerPos].pad_idx = 0; + } + break; + + case 2: + if(++smPlayerCfg[playerCfgPlayerPos].group > 3) { + smPlayerCfg[playerCfgPlayerPos].group = 0; + } + break; + + case 3: + if(++smPlayerCfg[playerCfgPlayerPos].diff > 3) { + smPlayerCfg[playerCfgPlayerPos].diff = 0; + } + break; + } + } else if((btnDown & PAD_BUTTON_A) || (btnDown & PAD_BUTTON_B)) { + playerCfgSelF = 0; + } else if(btnDown & PAD_BUTTON_Y) { + object->func = SMUpdate; + } } static void SMRand8Tick(omObjData *object) { - rand8(); + rand8(); } -void fn_1_450C(void) { } +void fn_1_450C(void) +{ + +} static s16 emiCompDataNo; static s16 emiCompVal; @@ -907,165 +913,165 @@ static void SMSound3DDraw(void); static void SMSound3DInit(omObjData *object) { - s8 *data = msmSeGetIndexPtr(emiCompDataNo); - emiCompVal = data[12]; - object->func = SMSound3DUpdate; + s8 *data = msmSeGetIndexPtr(emiCompDataNo); + emiCompVal = data[12]; + object->func = SMSound3DUpdate; } static void SMSound3DUpdate(omObjData *object) { - float increment; - s8 *data; - - CalcBtns(); - if (keyDStkDown & SM_KEY_UP) { - smSound3DPos--; - if (smSound3DPos < 0) { - smSound3DPos = 7; - } - } - if (keyDStkDown & SM_KEY_DOWN) { - smSound3DPos++; - if (smSound3DPos >= 8) { - smSound3DPos = 0; - } - } - if (keyDStkDown & (SM_KEY_LEFT | SM_KEY_RIGHT)) { - if (keyDStkDown & SM_KEY_RIGHT) { - increment = 10; - } - else { - increment = -10; - } - if (HuPadBtn[0] & PAD_TRIGGER_Z) { - increment *= 10.0f; - } - switch (smSound3DPos) { - case 0: - Snd3DDistOffset += increment; - break; - - case 1: - Snd3DSpeedOffset += increment; - break; - - case 2: - Snd3DStartDisOffset += increment; - break; - - case 3: - Snd3DFrontSurDisOffset += increment; - break; - - case 4: - Snd3DBackSurDisOffset += increment; - break; - - case 5: - emiCompDataNo += increment / 10.0f; - if (emiCompDataNo < 0) { - emiCompDataNo = 0; - } - data = msmSeGetIndexPtr(emiCompDataNo); - emiCompVal = data[12]; - break; - - case 6: - emiCompVal += increment / 10.0f; - if (emiCompVal > 127) { - emiCompVal = 127; - } - if (emiCompVal < -127) { - emiCompVal = -127; - } - data = msmSeGetIndexPtr(emiCompDataNo); - data[12] = emiCompVal; - break; - - case 7: - musicOffF = (musicOffF) ? 0 : 1; - if (musicOffF) { - msmMusSetMasterVolume(0); - } - else { - msmMusSetMasterVolume(127); - } - break; - } - } - if (btnDown & PAD_BUTTON_START) { - switch (smSound3DPos) { - case 0: - Snd3DDistOffset = 0; - break; - - case 1: - Snd3DSpeedOffset = 0; - break; - - case 2: - Snd3DStartDisOffset = 0; - break; - - case 3: - Snd3DFrontSurDisOffset = 0; - break; - - case 4: - Snd3DBackSurDisOffset = 0; - break; - - case 5: - emiCompDataNo = 0; - break; - - case 6: - emiCompVal = 0; - break; - - case 7: - musicOffF = 0; - break; - } - } - - if (btnDown & PAD_BUTTON_B) { - object->func = SMUpdate; - } - SMSound3DDraw(); + float increment; + s8 *data; + + CalcBtns(); + if(keyDStkDown & SM_KEY_UP) { + smSound3DPos--; + if(smSound3DPos < 0) { + smSound3DPos = 7; + } + } + if(keyDStkDown & SM_KEY_DOWN) { + smSound3DPos++; + if(smSound3DPos >= 8) { + smSound3DPos = 0; + } + } + if(keyDStkDown & (SM_KEY_LEFT | SM_KEY_RIGHT)) { + if(keyDStkDown & SM_KEY_RIGHT) { + increment = 10; + } else { + increment = -10; + } + if(HuPadBtn[0] & PAD_TRIGGER_Z) { + increment *= 10.0f; + } + switch(smSound3DPos) { + case 0: + Snd3DDistOffset += increment; + break; + + case 1: + Snd3DSpeedOffset += increment; + break; + + case 2: + Snd3DStartDisOffset += increment; + break; + + case 3: + Snd3DFrontSurDisOffset += increment; + break; + + case 4: + Snd3DBackSurDisOffset += increment; + break; + + case 5: + emiCompDataNo += increment/10.0f; + if(emiCompDataNo < 0) { + emiCompDataNo = 0; + } + data = msmSeGetIndexPtr(emiCompDataNo); + emiCompVal = data[12]; + break; + + case 6: + emiCompVal += increment/10.0f; + if(emiCompVal > 127) { + emiCompVal = 127; + } + if(emiCompVal < -127) { + emiCompVal = -127; + } + data = msmSeGetIndexPtr(emiCompDataNo); + data[12] = emiCompVal; + break; + + case 7: + musicOffF = (musicOffF) ? 0 : 1; + if(musicOffF) { + msmMusSetMasterVolume(0); + } else { + msmMusSetMasterVolume(127); + } + break; + } + } + if(btnDown & PAD_BUTTON_START) { + switch(smSound3DPos) { + case 0: + Snd3DDistOffset = 0; + break; + + case 1: + Snd3DSpeedOffset = 0; + break; + + case 2: + Snd3DStartDisOffset = 0; + break; + + case 3: + Snd3DFrontSurDisOffset = 0; + break; + + case 4: + Snd3DBackSurDisOffset = 0; + break; + + case 5: + emiCompDataNo = 0; + break; + + case 6: + emiCompVal = 0; + break; + + case 7: + musicOffF = 0; + break; + } + } + + if(btnDown & PAD_BUTTON_B) { + object->func = SMUpdate; + } + SMSound3DDraw(); } -#define DO_HILITE(pos) \ - do { \ - if (smSound3DPos == pos) { \ - fontcolor = FONT_COLOR_GREEN; \ - } \ - else { \ - fontcolor = FONT_COLOR_DARK_GREEN; \ - } \ - } while (0) +#define DO_HILITE(pos) \ +do { \ + if(smSound3DPos == pos) { \ + fontcolor = FONT_COLOR_GREEN; \ + } else { \ + fontcolor = FONT_COLOR_DARK_GREEN; \ + } \ +} while(0) static void SMSound3DDraw(void) { - char *onOffStr[] = { " ON", "OFF" }; - fontcolor = FONT_COLOR_YELLOW; - print8(200, 64, 2.0f, "3DSound Config."); - DO_HILITE(0); - print8(140, 96, 2.0f, "Max Distance %5.1f", Snd3DDistOffset); - DO_HILITE(1); - print8(140, 112, 2.0f, "Sound Speed %5.1f", Snd3DSpeedOffset); - DO_HILITE(2); - print8(140, 128, 2.0f, "Start Distance %5.1f", Snd3DStartDisOffset); - DO_HILITE(3); - print8(140, 144, 2.0f, "Front Distance %5.1f", Snd3DFrontSurDisOffset); - DO_HILITE(4); - print8(140, 160, 2.0f, "Back Distance %5.1f", Snd3DBackSurDisOffset); - DO_HILITE(5); - print8(140, 176, 2.0f, "emiComp DataNo %04d", emiCompDataNo); - DO_HILITE(6); - print8(140, 192, 2.0f, "emiComp VAL %3d", emiCompVal); - DO_HILITE(7); - print8(140, 208, 2.0f, "Music %s", onOffStr[(musicOffF) ? 1 : 0]); + char *onOffStr[] = { + " ON", + "OFF" + }; + fontcolor = FONT_COLOR_YELLOW; + print8(200, 64, 2.0f, "3DSound Config."); + DO_HILITE(0); + print8(140, 96, 2.0f, "Max Distance %5.1f", Snd3DDistOffset); + DO_HILITE(1); + print8(140, 112, 2.0f, "Sound Speed %5.1f", Snd3DSpeedOffset); + DO_HILITE(2); + print8(140, 128, 2.0f, "Start Distance %5.1f", Snd3DStartDisOffset); + DO_HILITE(3); + print8(140, 144, 2.0f, "Front Distance %5.1f", Snd3DFrontSurDisOffset); + DO_HILITE(4); + print8(140, 160, 2.0f, "Back Distance %5.1f", Snd3DBackSurDisOffset); + DO_HILITE(5); + print8(140, 176, 2.0f, "emiComp DataNo %04d", emiCompDataNo); + DO_HILITE(6); + print8(140, 192, 2.0f, "emiComp VAL %3d", emiCompVal); + DO_HILITE(7); + print8(140, 208, 2.0f, "Music %s", onOffStr[(musicOffF) ? 1 : 0]); } #undef DO_HILITE diff --git a/src/REL/staffDll/main.c b/src/REL/staffDll/main.c index 8f880eb9..2214364b 100644 --- a/src/REL/staffDll/main.c +++ b/src/REL/staffDll/main.c @@ -9,7 +9,7 @@ #include "game/window.h" #include "game/wipe.h" -#include "math.h" +#include "rel_sqrt_consts.h" typedef struct StaffData { /* 0x00 */ u32 unk_00; @@ -178,32 +178,9 @@ static StaffData staffData[] = { { 0x0035005F, 2, 0.0f, 0, 0, 0 }, { 0x00350060, 2, 0.0f, 0, 0, 0 }, { -3, 0, 48.0f, 0, 0, 0 }, - #if VERSION_PAL - { 0x00340026, 0, 0.0f, 0, 0, 0 }, - { -3, 0, 24.0f, 0, 0, 0 }, - { 0x00340027, 1, 0.0f, 0, 0, 0 }, - { -3, 0, 24.0f, 0, 0, 0 }, - { 0x00340028, 1, 0.0f, 0, 0, 0 }, - { 0x00350061, 2, 0.0f, 0, 0, 0 }, - { -3, 0, 24.0f, 0, 0, 0 }, - { 0x00340029, 1, 0.0f, 0, 0, 0 }, - { 0x0034002A, 1, 0.0f, 0, 0, 0 }, - { 0x00350062, 2, 0.0f, 0, 0, 0 }, - { 0x0034002B, 1, 0.0f, 0, 0, 0 }, - { 0x00350063, 2, 0.0f, 0, 0, 0 }, - { 0x0034002C, 1, 0.0f, 0, 0, 0 }, - { 0x00350064, 2, 0.0f, 0, 0, 0 }, - { 0x0034002D, 1, 0.0f, 0, 0, 0 }, - { 0x00350065, 2, 0.0f, 0, 0, 0 }, - { -3, 0, 24.0f, 0, 0, 0 }, - { 0x0034002E, 1, 0.0f, 0, 0, 0 }, - { -3, 0, 72.0f, 0, 0, 0 }, - #endif { 0x00340016, 0, 0.0f, 0, 0, 0 }, { 0x00350044, 2, 0.0f, 0, 0, 0 }, - #if VERSION_NTSC { 0x00350045, 2, 0.0f, 0, 0, 0 }, - #endif { -3, 0, 24.0f, 0, 0, 0 }, { 0x00350046, 2, 0.0f, 0, 0, 0 }, { 0x00350047, 2, 0.0f, 0, 0, 0 }, @@ -239,11 +216,7 @@ static StaffData staffData[] = { { -1, 0, 0.0f, 0, 0, 0 }, }; -#if VERSION_NTSC static float staffLogoPosTbl[] = { 460.0f, 293.0f, 293.0f }; -#else -static float staffLogoPosTbl[] = { 460.0f, 290.0f, 293.0f }; -#endif static void MainProc(void); static void CreateStaff(void); @@ -332,36 +305,7 @@ static void CreateStaff(void) } for (var_r31 = 0; var_r31 < 3; var_r31++) { - int languageNo; - #if VERSION_NTSC - var_r29 = HuDataSelHeapReadNum(var_r31 + DATA_MAKE_NUM(DATADIR_STAFF, 0x1A), MEMORY_DEFAULT_NUM, HEAP_DATA); - #else - if(var_r31 == 2) { - switch(GWGameStat.language) { - case 1: - languageNo = 0; - break; - - case 2: - languageNo = 1; - break; - - case 4: - languageNo = 3; - break; - - default: - languageNo = 2; - break; - - } - - var_r29 = HuDataSelHeapReadNum(var_r31 + DATA_MAKE_NUM(DATADIR_STAFF, 0x1A) + languageNo, MEMORY_DEFAULT_NUM, HEAP_DATA); - } else { - var_r29 = HuDataSelHeapReadNum(var_r31 + DATA_MAKE_NUM(DATADIR_STAFF, 0x1A), MEMORY_DEFAULT_NUM, HEAP_DATA); - } - #endif - + var_r29 = HuDataSelHeapReadNum(var_r31 + 0x73001A, MEMORY_DEFAULT_NUM, HEAP_DATA); var_r28 = HuSprAnimRead(var_r29); var_r30 = HuSprCreate(var_r28, 256, 0); staffLogoGroup[var_r31] = HuSprGrpCreate(1); @@ -375,11 +319,7 @@ static void CreateStaff(void) HuSprGrpPosSet(thpGroup, 280.0f, 200.0f); HuSprAttrSet(thpGroup, 0, HUSPR_ATTR_DISPOFF); HuTHPStop(); - #if VERSION_NTSC - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_STAFF, 0x1D), MEMORY_DEFAULT_NUM, HEAP_DATA); - #else - var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_STAFF, 0x20), MEMORY_DEFAULT_NUM, HEAP_DATA); - #endif + var_r29 = HuDataSelHeapReadNum(0x73001D, MEMORY_DEFAULT_NUM, HEAP_DATA); var_r28 = HuSprAnimRead(var_r29); var_r30 = HuSprCreate(var_r28, 16385, 0); thpCoverGroup = HuSprGrpCreate(1); @@ -522,19 +462,12 @@ static void ShowPicture(void) HuSprTPLvlSet(imgGroup[currImg], 0, 1.0f); while (TRUE) { - #if VERSION_NTSC if (currImg >= 24) { HuPrcSleep(430); - } else { + } + else { HuPrcSleep(550); } - #else - if (currImg >= 24) { - HuPrcSleep(480); - } else { - HuPrcSleep(600); - } - #endif if (currImg >= 25) { break; } @@ -615,11 +548,7 @@ static void MainProc(void) HuPrcVSleep(); } HuSprGrpPosSet(staffLogoGroup[1], var_f29, 400.0f); - #if VERSION_NTSC HuPrcSleep(240); - #else - HuPrcSleep(60); - #endif HuSprAttrReset(thpGroup, 0, HUSPR_ATTR_DISPOFF); HuSprAttrReset(thpCoverGroup, 0, HUSPR_ATTR_DISPOFF); HuTHPRestart(); @@ -650,20 +579,15 @@ static void MainProc(void) HuSprAttrSet(staffLogoGroup[1], 0, HUSPR_ATTR_DISPOFF); HuPrcSleep(120); HuSprAttrReset(staffLogoGroup[2], 0, HUSPR_ATTR_DISPOFF); - #if VERSION_NTSC HuSprGrpPosSet(staffLogoGroup[2], 280.0f, 240.0f); - #else - HuSprGrpPosSet(staffLogoGroup[2], 275.0f, 240.0f); - #endif + for (var_r31 = 0, var_f31 = 0.0f; var_r31 < 30; var_r31++, var_f31 += 1.0f / 30.0f) { HuSprTPLvlSet(staffLogoGroup[2], 0, var_f31); HuPrcVSleep(); } - #if VERSION_NTSC + HuPrcSleep(600); - #else - HuPrcSleep(480); - #endif + while (TRUE) { for (var_r31 = 0; var_r31 < 4; var_r31++) { if (HuPadBtn[var_r31] & PAD_BUTTON_START) { diff --git a/src/REL/subchrselDll/main.c b/src/REL/subchrselDll/main.c index 7c16e272..71911750 100644 --- a/src/REL/subchrselDll/main.c +++ b/src/REL/subchrselDll/main.c @@ -5,7 +5,7 @@ #include "game/pad.h" #include "game/wipe.h" -#include "math.h" +#include "rel_sqrt_consts.h" static void SubchrMain(void); diff --git a/src/REL/w01Dll/main.c b/src/REL/w01Dll/main.c index f1d1e39f..70dce0bd 100755 --- a/src/REL/w01Dll/main.c +++ b/src/REL/w01Dll/main.c @@ -1,20 +1,6 @@ -#include "game/board/main.h" -#include "REL/board_executor.h" #include "REL/w01Dll.h" +#include "REL/board_executor.h" #include "game/audio.h" -#include "game/board/audio.h" -#include "game/board/boo_house.h" -#include "game/board/com.h" -#include "game/board/lottery.h" -#include "game/board/map_object.h" -#include "game/board/model.h" -#include "game/board/player.h" -#include "game/board/shop.h" -#include "game/board/space.h" -#include "game/board/star.h" -#include "game/board/ui.h" -#include "game/board/view.h" -#include "game/board/window.h" #include "game/chrman.h" #include "game/data.h" #include "game/gamework_data.h" @@ -27,880 +13,865 @@ #include "game/process.h" #include "game/window.h" #include "game/wipe.h" +#include "game/board/audio.h" +#include "game/board/boo_house.h" +#include "game/board/com.h" +#include "game/board/lottery.h" +#include "game/board/main.h" +#include "game/board/model.h" +#include "game/board/player.h" +#include "game/board/shop.h" +#include "game/board/space.h" +#include "game/board/star.h" +#include "game/board/ui.h" +#include "game/board/view.h" +#include "game/board/window.h" +#include "game/board/map_object.h" #include "dolphin.h" #include "ext_math.h" typedef struct { struct { - u8 killF : 1; + u8 unk00_field0 : 1; }; -} CoasterCameraWork; +} Bss10Work; typedef struct { struct { - u8 killF : 1; - u8 mode : 3; - u8 stopF : 1; - u8 decaF : 1; + u8 unk00_field0 : 1; + u8 unk00_field1 : 3; + u8 unk00_field2 : 1; + u8 unk00_field3 : 1; }; - u8 time; - u8 delay; - s16 dishMdlId; - float dishSpeed; -} CupObjWork; + u8 unk01; + u8 unk02; + char unk03[1]; + s16 unk04; + char unk06[2]; + float unk08; +} Bss18Work; typedef struct { - s8 mode; - s8 playerNo; - s16 delay; - s16 pathMdlId; - s16 endSpace; - float speed; - float unk0C; - float time; - Vec pos; - Mtx matrix; -} CoasterPlayerWork; // Size 0x50 + /* 0x00 */ s8 unk00; + /* 0x01 */ s8 unk01; + /* 0x02 */ s16 unk02; + /* 0x04 */ s16 unk04; + /* 0x06 */ s16 unk06; + /* 0x08 */ float unk08; + /* 0x0C */ char unk0C[4]; + /* 0x10 */ float unk10; + /* 0x14 */ Vec unk14; + /* 0x20 */ Mtx unk20; +} BssCData; // Size 0x50 typedef struct { struct { - u8 killF : 1; + u8 unk00_field0 : 1; }; - s8 playerNum; - CoasterPlayerWork *player; -} CoasterPlayerManWork; + s8 unk01; + char unk02[2]; + BssCData *unk04; +} BssCWork; typedef struct { - /* 0x00 */ s16 time; - /* 0x02 */ s16 mdlId; - /* 0x04 */ float scale; - /* 0x08 */ Vec pos; - /* 0x14 */ Vec vel; -} CoasterEffData; // Size 0x20 + /* 0x00 */ s16 unk00; + /* 0x02 */ s16 unk02; + /* 0x04 */ float unk04; + /* 0x08 */ Vec unk08; + /* 0x14 */ Vec unk14; +} Bss20Data; // Size 0x20 typedef struct { struct { - u8 killF : 1; + u8 unk00_field0 : 1; }; - u8 delay; - CoasterEffData *data; -} CoasterEffWork; + u8 unk01; + char unk02[2]; + Bss20Data *unk04; +} Bss20Work; -static void LightSetHook(void); -static void LightResetHook(void); -static s32 LandEvent(void); -static s32 WalkEvent(void); -static void MapObjDispSet(void); +static void fn_1_730(void); +static void fn_1_774(void); +static s32 fn_1_778(void); +static s32 fn_1_814(void); +static void fn_1_9E8(void); static void fn_1_D00(void); -static void RoundItemMain(void); -static void RoundItemDestroy(void); -static void RoundItemEvent(void); -static void SpaceAmidaEvent(void); -static s32 WalkMiniEvent(void); -static void UpdateHostDisp(void); -static void CoasterInit(void); -static void CoasterPathUpdate(void); -static void CoasterPosCalc(BoardCameraData *camera); -static void CoasterCameraUpdate(void); -static void CoasterCameraObjKill(void); -static void CoasterCameraObjMain(omObjData *obj); -static void CoasterCameraObjUpdate(void); -static float CoasterStickRotGet(void); -static void CoasterRotUpdate(void); -static void CoasterCoinCheck(void); -static void CoasterPathMotUpdate(void); -static void CoasterMotCreate(s32 playerNo); -static void CoasterMotKill(s32 playerNo); -static void CoasterExec(void); -static void CoasterExit(void); -static void CoasterWinCreate(void); -static void CoasterWinKill(void); -static s32 CoasterHostExec(void); -static void CoasterMain(void); -static void CoasterDestroy(void); -static void CoasterEvent(void); -static void CoasterCoinCreate(void); -static void CoasterCoinKill(void); -static void CupInit(void); -static void CupMotOnSet(s32 stopF); -static void CupEvent(s32 side, s32 spaceStart); -static void CupMain(void); -static void CupDestroy(void); -static void CupExec(void); -static BOOL CupObjCheck(void); -static void CupObjCreate(void); -static void CupObjMain(omObjData *obj); -static void CupObjInit(CupObjWork *work, omObjData *obj); -static void CupObjJumpWait(CupObjWork *work, omObjData *obj); -static void CupObjHookReset(CupObjWork *work, omObjData *obj); -static void CupObjStop(CupObjWork *work, omObjData *obj); -static void CupObjRotate(CupObjWork *work, omObjData *obj); -static void CupLandEvent(s32 playerNo, s32 spaceId); -static void CoasterLandEvent(s32 playerNo, s32 spaceId); -static void CoasterLandMain(void); -static void CoasterLandExec(void); -static void CoasterPlayerManCreate(void); -static void CoasterPlayerManKill(void); -static void CoasterPlayerManUpdate(omObjData *obj); -static void CoasterPlayerWait(CoasterPlayerWork *work, omObjData *obj); -static void CoasterPlayerChaseBegin(CoasterPlayerWork *work, omObjData *obj); -static void CoasterPlayerChasePathSet(CoasterPlayerWork *work, omObjData *obj); -static void CoasterPlayerChase(CoasterPlayerWork *work, omObjData *obj); -static void CoasterPlayerStop(CoasterPlayerWork *work, omObjData *obj); -static void CoasterPlayerEnd(CoasterPlayerWork *work, omObjData *obj); -static void CoasterPlayerEndSet(CoasterPlayerWork *work); -static s32 CoasterPlayerLoopCheck(CoasterPlayerWork *work); -static void CoasterPlayerTimeInit(CoasterPlayerWork *work); -static void CoasterEffCreate(void); -static void CoasterEffKill(void); -static void CoasterEffUpdate(omObjData *obj); -static void CoasterEffAdd(CoasterEffWork *work); -static void CoasterEffModelUpdate(CoasterEffWork *work); -extern void CoasterHostComKeySet(s32 playerNo); +static void fn_1_D04(void); +static void fn_1_1254(void); +static void fn_1_128C(void); +static void fn_1_130C(void); +static s32 fn_1_157C(void); +static void fn_1_1670(void); +static void fn_1_1700(void); +static void fn_1_1990(void); +static void fn_1_1AD8(BoardCameraData *camera); +static void fn_1_1B3C(void); +static void fn_1_1EE4(void); +static void fn_1_1F2C(omObjData *arg0); +static void fn_1_1FA4(void); +static float fn_1_2524(void); +static void fn_1_276C(void); +static void fn_1_2F18(void); +static void fn_1_3350(void); +static void fn_1_3514(s32 arg0); +static void fn_1_35B4(s32 arg0); +static void fn_1_3624(void); +static void fn_1_45F4(void); +static void fn_1_4774(void); +static void fn_1_4864(void); +static s32 fn_1_48B4(void); +static void fn_1_4E14(void); +static void fn_1_4FA8(void); +static void fn_1_4FD8(void); +static void fn_1_50D4(void); +static void fn_1_53B8(void); +static void fn_1_543C(void); +static void fn_1_5694(s32 arg0); +static void fn_1_586C(s32 arg0, s32 arg1); +static void fn_1_592C(void); +static void fn_1_5B2C(void); +static void fn_1_5B40(void); +static BOOL fn_1_5CD0(void); +static void fn_1_5D08(void); +static void fn_1_6098(omObjData *arg0); +static void fn_1_6194(Bss18Work *arg0, omObjData *arg1); +static void fn_1_63F0(Bss18Work *arg0, omObjData *arg1); +static void fn_1_6A14(Bss18Work *arg0, omObjData *arg1); +static void fn_1_6BC0(Bss18Work *arg0, omObjData *arg1); +static void fn_1_6FB4(Bss18Work *arg0, omObjData *arg1); +static void fn_1_7528(s32 arg0, s32 arg1); +static void fn_1_77EC(s32 arg0, s32 arg1); +static void fn_1_7894(void); +static void fn_1_7A64(void); +static void fn_1_852C(void); +static void fn_1_87AC(void); +static void fn_1_87E0(omObjData *arg0); +static void fn_1_8988(BssCData *arg0, omObjData *arg1); +static void fn_1_8A50(BssCData *arg0, omObjData *arg1); +static void fn_1_8B6C(BssCData *arg0, omObjData *arg1); +static void fn_1_8DDC(BssCData *arg0, omObjData *arg1); +static void fn_1_918C(BssCData *arg0, omObjData *arg1); +static void fn_1_927C(BssCData *arg0, omObjData *arg1); +static void fn_1_932C(BssCData *arg0); +static s32 fn_1_94A8(BssCData *arg0); +static void fn_1_95F4(BssCData *arg0); +static void fn_1_97F4(void); +static void fn_1_98EC(void); +static void fn_1_9920(omObjData *arg0); +static void fn_1_9A24(Bss20Work *arg0); +static void fn_1_9BBC(Bss20Work *arg0); -static BoardMapObject mapObjData[MAPOBJ_MAX] - = { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 8) }, - { { 0.0f, 700.0f, 300.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 9) }, - { { -2025.0f, 100.0f, 1950.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0) }, - { { 1725.0f, 200.0f, -1650.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0) }, - { { 2757.974f, 200.0f, -536.781f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0) }, - { { -2750.0f, 300.0f, -2150.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0) }, - { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 12) }, - { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 13) }, - { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 14) }, - { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 15) }, - { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 16) }, - { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 16) }, - { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 16) }, - { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 17) }, - { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 18) }, - { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 18) }, - { { 3000.0f, 200.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 21) }, - { { 3000.0f, 200.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 22) }, - { { 3000.0f, 200.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 23) }, - { { 3000.0f, 200.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 24) }, - { { 3000.0f, 200.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 25) }, - { { 3000.0f, 200.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 26) }, - { { 3000.0f, 200.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 27) }, - { { 1200.0f, 0.0f, 1200.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 3) }, - { { 1200.0f, 0.0f, 1200.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 4) }, - { { 1200.0f, 0.0f, 1200.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 4) }, - { { 1200.0f, 0.0f, 1200.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 4) }, - { { 1200.0f, 0.0f, 1200.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 5) }, - { { -1800.0f, 200.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 3) }, - { { -1800.0f, 200.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 4) }, - { { -1800.0f, 200.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 4) }, - { { -1800.0f, 200.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 4) }, - { { -1800.0f, 200.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 5) } }; -s16 mapObjMdlId[MAPOBJ_MAX]; +static BoardMapObject lbl_1_data_0[MAPOBJ_MAX] = { + { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 8) }, + { { 0.0f, 700.0f, 300.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 9) }, + { { -2025.0f, 100.0f, 1950.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0) }, + { { 1725.0f, 200.0f, -1650.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0) }, + { { 2757.974f, 200.0f, -536.781f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0) }, + { { -2750.0f, 300.0f, -2150.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0) }, + { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 12) }, + { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 13) }, + { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 14) }, + { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 15) }, + { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 16) }, + { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 16) }, + { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 16) }, + { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 17) }, + { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 18) }, + { { -2550.0f, 300.0f, -2250.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 18) }, + { { 3000.0f, 200.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 21) }, + { { 3000.0f, 200.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 22) }, + { { 3000.0f, 200.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 23) }, + { { 3000.0f, 200.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 24) }, + { { 3000.0f, 200.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 25) }, + { { 3000.0f, 200.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 26) }, + { { 3000.0f, 200.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 27) }, + { { 1200.0f, 0.0f, 1200.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 3) }, + { { 1200.0f, 0.0f, 1200.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 4) }, + { { 1200.0f, 0.0f, 1200.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 4) }, + { { 1200.0f, 0.0f, 1200.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 4) }, + { { 1200.0f, 0.0f, 1200.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 5) }, + { { -1800.0f, 200.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 3) }, + { { -1800.0f, 200.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 4) }, + { { -1800.0f, 200.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 4) }, + { { -1800.0f, 200.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 4) }, + { { -1800.0f, 200.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W01, 5) } +}; -static s32 *mapObjMotTbl; -static s16 roundItemTbl[5]; -static s8 eventPlayer; -static s8 coasterLoopF; -static s8 coasterDoneF; -static s8 coasterLandF; -static s8 coasterType; -static s16 coasterPathMdlId; -static s16 coasterStartSpace; +s16 lbl_1_bss_6C4[MAPOBJ_MAX]; + +static s32 *lbl_1_bss_6C0; +static s16 lbl_1_bss_6B6[5]; +static s8 lbl_1_bss_6B4; +static s8 lbl_1_bss_6B3; +static s8 lbl_1_bss_6B2; +static s8 lbl_1_bss_6B1; +static s8 lbl_1_bss_6B0; +static s16 lbl_1_bss_6AE; +static s16 lbl_1_bss_6AC; static float lbl_1_bss_6A8; -static Mtx coasterMtx; -static float coasterAccel; -static float coasterSpeed; -static float coasterCamSpeed; -static Vec coasterRot; -static Vec coasterPos; -static Vec coasterPosOld; -static float coasterMaxTime; -static float coasterTime; -static float coasterBaseRotY; -static Vec coasterCameraPos; -static Vec coasterCameraUp; -static Vec coasterCameraTarget; -static s8 coasterCoinF[24]; -static s16 coasterCoinMdlId[24]; -static s16 coasterMotId[2]; +static Mtx lbl_1_bss_678; +static float lbl_1_bss_674; +static float lbl_1_bss_670; +static float lbl_1_bss_66C; +static Vec lbl_1_bss_660; +static Vec lbl_1_bss_654; +static Vec lbl_1_bss_648; +static float lbl_1_bss_644; +static float lbl_1_bss_640; +static float lbl_1_bss_63C; +static Vec lbl_1_bss_630; +static Vec lbl_1_bss_624; +static Vec lbl_1_bss_618; +static s8 lbl_1_bss_600[24]; +static s16 lbl_1_bss_5D0[24]; +static s16 lbl_1_bss_5CC[2]; static s8 lbl_1_bss_2C[1440]; static s8 lbl_1_bss_2A[2]; // padding -static s8 cupSide; -static s8 cupHookNo; -static s16 cupSpaceStart; -static s16 cupSpaceEnd; -static omObjData *coasterEffObj; -static s8 coasterPlayerChaseNum; -static omObjData *cupObj; -static Process *cupProc; -static omObjData *coasterCameraObj; -static omObjData *coasterPlayerManObj; -static Process *coasterProc; -static Process *roundItemProc; -W01BoardWork *boardWork; +static s8 lbl_1_bss_29; +static s8 lbl_1_bss_28; +static s16 lbl_1_bss_26; +static s16 lbl_1_bss_24; +static omObjData *lbl_1_bss_20; +static s8 lbl_1_bss_1C; +static omObjData *lbl_1_bss_18; +static Process *lbl_1_bss_14; +static omObjData *lbl_1_bss_10; +static omObjData *lbl_1_bss_C; +static Process *lbl_1_bss_8; +static Process *lbl_1_bss_4; +UnkBoardDataStruct *lbl_1_bss_0; -static s16 bgMdl = -1; -static s16 fgMdl = -1; -static s16 starHostMdl = -1; -static s16 hostMdl = -1; -static s16 syuppouMdl = -1; +static s16 lbl_1_data_528 = -1; +static s16 lbl_1_data_52A = -1; +static s16 lbl_1_data_52C = -1; +static s16 lbl_1_data_52E = -1; +static s16 lbl_1_data_530 = -1; -static s32 starHostMotTbl[] = { DATA_MAKE_NUM(DATADIR_W01, 30), -1 }; +static s32 lbl_1_data_534[] = { + DATA_MAKE_NUM(DATADIR_W01, 30), + -1 +}; -static s32 hostMotTbl[] = { DATA_MAKE_NUM(DATADIR_BGUEST, 1), -1 }; +static s32 lbl_1_data_53C[] = { + DATA_MAKE_NUM(DATADIR_BGUEST, 1), + -1 +}; -void BoardCreate(void) -{ - BoardMapObject *mapObj; - s32 boardNo; +void BoardCreate(void) { + BoardMapObject *temp_r30; + s32 sp8; s32 i; - boardNo = GWBoardGet(); - boardWork = (W01BoardWork *)GWSystem.board_data; + sp8 = GWBoardGet(); + lbl_1_bss_0 = (UnkBoardDataStruct*) GWSystem.board_data; BoardSpaceInit(DATA_MAKE_NUM(DATADIR_W01, 0)); - bgMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W01, 1), NULL, 0); - fn_8006DDE8(bgMdl, -1.0f); - BoardModelPosSet(bgMdl, 0.0f, 0.0f, 0.0f); - BoardModelMotionStart(bgMdl, 0, HU3D_MOTATTR_LOOP); - fgMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W01, 2), NULL, 0); - fn_8006DDE8(fgMdl, -1.0f); - BoardModelPosSet(fgMdl, 0.0f, 0.0f, 0.0f); - BoardModelMotionStart(fgMdl, 0, HU3D_MOTATTR_LOOP); - starHostMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W01, 29), starHostMotTbl, 0); - BoardModelPosSet(starHostMdl, 0.0f, 0.0f, 0.0f); - BoardModelMotionStart(starHostMdl, 1, HU3D_MOTATTR_LOOP); - hostMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BGUEST, 0), hostMotTbl, 0); - BoardModelPosSet(hostMdl, 0.0f, 0.0f, 0.0f); - BoardModelMotionStart(hostMdl, 1, HU3D_MOTATTR_LOOP); - syuppouMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W01, 11), NULL, 0); - BoardModelMotionStart(syuppouMdl, 0, HU3D_MOTATTR_LOOP); - BoardLightHookSet(LightSetHook, LightResetHook); + lbl_1_data_528 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W01, 1), NULL, 0); + fn_8006DDE8(lbl_1_data_528, -1.0f); + BoardModelPosSet(lbl_1_data_528, 0.0f, 0.0f, 0.0f); + BoardModelMotionStart(lbl_1_data_528, 0, 0x40000001); + lbl_1_data_52A = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W01, 2), NULL, 0); + fn_8006DDE8(lbl_1_data_52A, -1.0f); + BoardModelPosSet(lbl_1_data_52A, 0.0f, 0.0f, 0.0f); + BoardModelMotionStart(lbl_1_data_52A, 0, 0x40000001); + lbl_1_data_52C = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W01, 29), lbl_1_data_534, 0); + BoardModelPosSet(lbl_1_data_52C, 0.0f, 0.0f, 0.0f); + BoardModelMotionStart(lbl_1_data_52C, 1, 0x40000001); + lbl_1_data_52E = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BGUEST, 0), lbl_1_data_53C, 0); + BoardModelPosSet(lbl_1_data_52E, 0.0f, 0.0f, 0.0f); + BoardModelMotionStart(lbl_1_data_52E, 1, 0x40000001); + lbl_1_data_530 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W01, 11), NULL, 0); + BoardModelMotionStart(lbl_1_data_530, 0, 0x40000001); + BoardLightHookSet(fn_1_730, fn_1_774); for (i = 0; i < MAPOBJ_MAX; i++) { - mapObj = &mapObjData[i]; - if (mapObj->data_num != -1) { - if (i == MAPOBJ_HOST1 || i == MAPOBJ_HOST2 || i == MAPOBJ_HOST3 || i == MAPOBJ_HOST4) { - mapObjMotTbl = hostMotTbl; + temp_r30 = &lbl_1_data_0[i]; + if (temp_r30->data_num != -1) { + if (i == 2 || i == 3 || i == 4 || i == 5) { + lbl_1_bss_6C0 = lbl_1_data_53C; + } else { + lbl_1_bss_6C0 = NULL; } - else { - mapObjMotTbl = NULL; - } - mapObjMdlId[i] = BoardModelCreate(mapObj->data_num, mapObjMotTbl, 0); - BoardModelPosSetV(mapObjMdlId[i], &mapObj->pos); - BoardModelRotSetV(mapObjMdlId[i], &mapObj->rot); - BoardModelScaleSetV(mapObjMdlId[i], &mapObj->scale); - BoardModelVisibilitySet(mapObjMdlId[i], 1); + lbl_1_bss_6C4[i] = BoardModelCreate(temp_r30->data_num, lbl_1_bss_6C0, 0); + BoardModelPosSetV(lbl_1_bss_6C4[i], &temp_r30->pos); + BoardModelRotSetV(lbl_1_bss_6C4[i], &temp_r30->rot); + BoardModelScaleSetV(lbl_1_bss_6C4[i], &temp_r30->scale); + BoardModelVisibilitySet(lbl_1_bss_6C4[i], 1); } } - BoardModelMotionStart(mapObjMdlId[MAPOBJ_HOST1], 1, HU3D_MOTATTR_LOOP); - BoardModelMotionStart(mapObjMdlId[MAPOBJ_HOST2], 1, HU3D_MOTATTR_LOOP); - BoardModelMotionStart(mapObjMdlId[MAPOBJ_HOST3], 1, HU3D_MOTATTR_LOOP); - BoardModelMotionStart(mapObjMdlId[MAPOBJ_HOST4], 1, HU3D_MOTATTR_LOOP); - CupInit(); - MapObjDispSet(); - CoasterInit(); - BoardSpaceWalkEventFuncSet(WalkEvent); - BoardSpaceWalkMiniEventFuncSet(WalkMiniEvent); - BoardSpaceLandEventFuncSet(LandEvent); - BoardStarHostSet(starHostMdl); - BoardBooHouseHostSet(hostMdl); - BoardLotteryHostSet(hostMdl); - BoardShopHostSet(hostMdl); + BoardModelMotionStart(lbl_1_bss_6C4[2], 1, 0x40000001); + BoardModelMotionStart(lbl_1_bss_6C4[3], 1, 0x40000001); + BoardModelMotionStart(lbl_1_bss_6C4[4], 1, 0x40000001); + BoardModelMotionStart(lbl_1_bss_6C4[5], 1, 0x40000001); + fn_1_543C(); + fn_1_9E8(); + fn_1_1700(); + BoardSpaceWalkEventFuncSet(fn_1_814); + BoardSpaceWalkMiniEventFuncSet(fn_1_157C); + BoardSpaceLandEventFuncSet(fn_1_778); + BoardStarHostSet(lbl_1_data_52C); + BoardBooHouseHostSet(lbl_1_data_52E); + BoardLotteryHostSet(lbl_1_data_52E); + BoardShopHostSet(lbl_1_data_52E); BoardJunctionMaskSet(0xC000); BoardJunctionMaskSet(0x3000); } -void BoardDestroy(void) -{ +void BoardDestroy(void) { s32 i; - CoasterWinKill(); + fn_1_4864(); fn_1_D00(); - for (i = 0; i < MAPOBJ_MAX; i++) { - if (mapObjMdlId[i] != 0) { - BoardModelKill(mapObjMdlId[i]); - mapObjMdlId[i] = 0; + for (i = 0; i < 33; i++) { + if (lbl_1_bss_6C4[i] != 0) { + BoardModelKill(lbl_1_bss_6C4[i]); + lbl_1_bss_6C4[i] = 0; } } - if (syuppouMdl != -1) { - BoardModelKill(syuppouMdl); - syuppouMdl = -1; + if (lbl_1_data_530 != -1) { + BoardModelKill(lbl_1_data_530); + lbl_1_data_530 = -1; } - if (hostMdl != -1) { - BoardModelKill(hostMdl); - hostMdl = -1; + if (lbl_1_data_52E != -1) { + BoardModelKill(lbl_1_data_52E); + lbl_1_data_52E = -1; } - if (starHostMdl != -1) { - BoardModelKill(starHostMdl); - starHostMdl = -1; + if (lbl_1_data_52C != -1) { + BoardModelKill(lbl_1_data_52C); + lbl_1_data_52C = -1; } - if (bgMdl != -1) { - BoardModelKill(bgMdl); - bgMdl = -1; + if (lbl_1_data_528 != -1) { + BoardModelKill(lbl_1_data_528); + lbl_1_data_528 = -1; } - if (fgMdl != -1) { - BoardModelKill(fgMdl); - fgMdl = -1; + if (lbl_1_data_52A != -1) { + BoardModelKill(lbl_1_data_52A); + lbl_1_data_52A = -1; } BoardSpaceDestroy(); } -static void LightSetHook(void) -{ - s16 modelId; +static void fn_1_730(void) { + s16 var_r31; - modelId = BoardModelIDGet(bgMdl); - Hu3DModelLightInfoSet(modelId, 1); + var_r31 = BoardModelIDGet(lbl_1_data_528); + Hu3DModelLightInfoSet(var_r31, 1); } -static void LightResetHook(void) { } +static void fn_1_774(void) { +} -static s32 LandEvent(void) -{ - s32 playerNo; - s32 spaceId; - u32 flag; +static s32 fn_1_778(void) { + s32 temp_r31; + s32 temp_r30; + u32 temp_r29; - playerNo = GWSystem.player_curr; - spaceId = GWPlayer[playerNo].space_curr; - flag = BoardSpaceFlagGet(0, spaceId); - if (flag & 0x800) { - CoasterLandEvent(playerNo, spaceId); - } - else if (flag & 0x400) { - CupLandEvent(playerNo, spaceId); + temp_r31 = GWSystem.player_curr; + temp_r30 = GWPlayer[temp_r31].space_curr; + temp_r29 = BoardSpaceFlagGet(0, temp_r30); + if (temp_r29 & 0x800) { + fn_1_77EC(temp_r31, temp_r30); + } else if (temp_r29 & 0x400) { + fn_1_7528(temp_r31, temp_r30); } } -static s32 WalkEvent(void) -{ - s32 playerNo; - s32 i; - s32 type; - s32 spaceLinkId; - BoardSpace *space; - BoardSpace *spaceLink; +static s32 fn_1_814(void) { + s32 temp_r27; + s32 var_r30; + s32 var_r29; + s32 var_r26; + BoardSpace *temp_r31; + BoardSpace *temp_r28; - playerNo = GWSystem.player_curr; - space = BoardSpaceGet(0, GWPlayer[playerNo].space_curr); - if (space->flag & 0x3000) { - if (BoardPlayerSizeGet(playerNo) == 2 || GWPlayer[playerNo].bowser_suit) { + temp_r27 = GWSystem.player_curr; + temp_r31 = BoardSpaceGet(0, GWPlayer[temp_r27].space_curr); + if (temp_r31->flag & 0x3000) { + if (BoardPlayerSizeGet(temp_r27) == 2 || GWPlayer[temp_r27].bowser_suit) { return 0; } - if (space->flag & 0x2000) { - if (boardWork->hostSide != 0) { + if (temp_r31->flag & 0x2000) { + if (lbl_1_bss_0->unk00_field0 != 0) { + return 0; + } + } else if (temp_r31->flag & 0x1000) { + if (lbl_1_bss_0->unk00_field0 != 1) { return 0; } } - else if (space->flag & 0x1000) { - if (boardWork->hostSide != 1) { - return 0; - } - } - CoasterEvent(); + fn_1_4FD8(); return 1; } - type = -1; - for (i = 0; i < space->link_cnt; i++) { - if (space->link[i] != -1) { - spaceLink = BoardSpaceGet(0, space->link[i]); - if (spaceLink->flag & 0x8000) { - type = 0; - spaceLinkId = space->link[i]; + var_r29 = -1; + for (var_r30 = 0; var_r30 < temp_r31->link_cnt; var_r30++) { + if (temp_r31->link[var_r30] != -1) { + temp_r28 = BoardSpaceGet(0, temp_r31->link[var_r30]); + if (temp_r28->flag & 0x8000) { + var_r29 = 0; + var_r26 = temp_r31->link[var_r30]; break; - } - else if (spaceLink->flag & 0x4000) { - type = 1; - spaceLinkId = space->link[i]; + } else if (temp_r28->flag & 0x4000) { + var_r29 = 1; + var_r26 = temp_r31->link[var_r30]; break; } } } - if (type != -1) { - CupEvent(type, spaceLinkId); + if (var_r29 != -1) { + fn_1_586C(var_r29, var_r26); return 1; } return 0; } -static void MapObjDispSet(void) -{ - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_SPACEAMIDA], 1); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_SPACEAMIDA_MAP1], 0); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_SPACEAMIDA_MAP2], 0); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_SPACEAMIDA_MAP3], 0); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_SPACEAMIDA_ROCKET1], 0); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_SPACEAMIDA_ROCKET2], 0); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_SPACEAMIDA_ROCKET3], 0); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_SPACEAMIDA_LIGHTEFF], 0); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_SPACEAMIDA_LAMP1], 1); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_SPACEAMIDA_LAMP2], 1); - BoardModelMotionStart(mapObjMdlId[MAPOBJ_SPACEAMIDA], 0, 0); - BoardModelMotionSpeedSet(mapObjMdlId[MAPOBJ_SPACEAMIDA], 0.0f); - BoardModelMotionStart(mapObjMdlId[MAPOBJ_SPACEAMIDA_LAMP1], 0, HU3D_MOTATTR_LOOP); - BoardModelMotionStart(mapObjMdlId[MAPOBJ_SPACEAMIDA_LAMP2], 0, HU3D_MOTATTR_LOOP); - BoardModelHookSet(mapObjMdlId[MAPOBJ_SPACEAMIDA], "amida_ban_07-sirenr", mapObjMdlId[MAPOBJ_SPACEAMIDA_LAMP1]); - BoardModelHookSet(mapObjMdlId[MAPOBJ_SPACEAMIDA], "amida_ban_07-sirenl", mapObjMdlId[MAPOBJ_SPACEAMIDA_LAMP2]); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_ROUNDITEM], 1); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_ROUNDITEM_UMA], 1); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER], 1); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM], 0); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_LIGHT], 0); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_UP], 1); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_DENSYOKU], 1); - BoardModelMotionStart(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_UP], 0, 0); - BoardModelMotionSpeedSet(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_UP], 0.0f); - BoardModelMotionStart(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER], 0, 0); - BoardModelMotionSpeedSet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER], 0.0f); - BoardModelExistDupe(mapObjMdlId[MAPOBJ_ROUNDITEM], 0); - BoardModelMotionStart(mapObjMdlId[MAPOBJ_ROUNDITEM], 0, HU3D_MOTATTR_LOOP); - BoardModelMotionStart(mapObjMdlId[MAPOBJ_ROUNDITEM_UMA], 0, HU3D_MOTATTR_LOOP); - BoardModelMotionStart(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_DENSYOKU], 0, HU3D_MOTATTR_LOOP); - BoardModelHookSet(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_UP], "m_goraund_01-flag1", mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_DENSYOKU]); +static void fn_1_9E8(void) { + BoardModelVisibilitySet(lbl_1_bss_6C4[6], 1); + BoardModelVisibilitySet(lbl_1_bss_6C4[7], 0); + BoardModelVisibilitySet(lbl_1_bss_6C4[8], 0); + BoardModelVisibilitySet(lbl_1_bss_6C4[9], 0); + BoardModelVisibilitySet(lbl_1_bss_6C4[10], 0); + BoardModelVisibilitySet(lbl_1_bss_6C4[11], 0); + BoardModelVisibilitySet(lbl_1_bss_6C4[12], 0); + BoardModelVisibilitySet(lbl_1_bss_6C4[13], 0); + BoardModelVisibilitySet(lbl_1_bss_6C4[14], 1); + BoardModelVisibilitySet(lbl_1_bss_6C4[15], 1); + BoardModelMotionStart(lbl_1_bss_6C4[6], 0, 0); + BoardModelMotionSpeedSet(lbl_1_bss_6C4[6], 0.0f); + BoardModelMotionStart(lbl_1_bss_6C4[14], 0, 0x40000001); + BoardModelMotionStart(lbl_1_bss_6C4[15], 0, 0x40000001); + BoardModelHookSet(lbl_1_bss_6C4[6], "amida_ban_07-sirenr", lbl_1_bss_6C4[14]); + BoardModelHookSet(lbl_1_bss_6C4[6], "amida_ban_07-sirenl", lbl_1_bss_6C4[15]); + BoardModelVisibilitySet(lbl_1_bss_6C4[16], 1); + BoardModelVisibilitySet(lbl_1_bss_6C4[17], 1); + BoardModelVisibilitySet(lbl_1_bss_6C4[18], 1); + BoardModelVisibilitySet(lbl_1_bss_6C4[19], 0); + BoardModelVisibilitySet(lbl_1_bss_6C4[20], 0); + BoardModelVisibilitySet(lbl_1_bss_6C4[21], 1); + BoardModelVisibilitySet(lbl_1_bss_6C4[22], 1); + BoardModelMotionStart(lbl_1_bss_6C4[21], 0, 0); + BoardModelMotionSpeedSet(lbl_1_bss_6C4[21], 0.0f); + BoardModelMotionStart(lbl_1_bss_6C4[18], 0, 0); + BoardModelMotionSpeedSet(lbl_1_bss_6C4[18], 0.0f); + BoardModelExistDupe(lbl_1_bss_6C4[16], 0); + BoardModelMotionStart(lbl_1_bss_6C4[16], 0, 0x40000001); + BoardModelMotionStart(lbl_1_bss_6C4[17], 0, 0x40000001); + BoardModelMotionStart(lbl_1_bss_6C4[22], 0, 0x40000001); + BoardModelHookSet(lbl_1_bss_6C4[21], "m_goraund_01-flag1", lbl_1_bss_6C4[22]); } -static void fn_1_D00(void) { } +static void fn_1_D00(void) { +} -static void RoundItemMain(void) -{ - Vec spacePos; - s8 comItem[4]; - s32 spaceStart; - s32 spaceEnd; - s32 comPlayF; - s32 choice; - s32 playerNo; +static void fn_1_D04(void) { + Vec sp3C; + Vec sp30; + Vec sp24; + Vec sp18; + Vec spC; + s8 sp8[4]; + s32 temp_r28; + s32 temp_r3; + s32 var_r26; + s32 var_r25; + s32 temp_r30; s32 i; s32 j; - playerNo = GWSystem.player_curr; - comPlayF = FALSE; - if (BoardPlayerItemCount(playerNo) == 3) { + temp_r30 = GWSystem.player_curr; + var_r26 = 0; + if (BoardPlayerItemCount(temp_r30) == 3) { BoardWinCreate(0, MAKE_MESSID(10, 9), 0); BoardWinWait(); BoardWinKill(); HuPrcEnd(); } - roundItemTbl[0] = 0; + lbl_1_bss_6B6[0] = 0; i = 1; while (i < 4) { - roundItemTbl[i] = frandmod(14); - if (roundItemTbl[i] != 10 && roundItemTbl[i] != 13) { + lbl_1_bss_6B6[i] = frandmod(14); + if (lbl_1_bss_6B6[i] != 10 && lbl_1_bss_6B6[i] != 13) { for (j = 0; j < i; j++) { - if (roundItemTbl[i] == roundItemTbl[j]) { - roundItemTbl[i] = -1; + if (lbl_1_bss_6B6[i] == lbl_1_bss_6B6[j]) { + lbl_1_bss_6B6[i] = -1; } } - if (roundItemTbl[i] != -1) { + if (lbl_1_bss_6B6[i] != -1) { i++; } } } - RoundItemInit(roundItemTbl); + fn_1_D740(lbl_1_bss_6B6); for (i = 0; i < 4; i++) { - comItem[i] = roundItemTbl[i]; + sp8[i] = lbl_1_bss_6B6[i]; } - if (BoardComPreferItemGet(playerNo, comItem, 4) != -1) { - comPlayF = TRUE; + if (BoardComPreferItemGet(temp_r30, sp8, 4) != -1) { + var_r26 = 1; } HuAudFXPlay(0x40D); HuAudFXPlay(0x40E); - BoardModelAttrReset(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_UP], HU3D_MOTATTR_REV); - BoardModelMotionStart(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_UP], 0, 0); - spaceStart = GWPlayer[playerNo].space_curr; - spaceEnd = BoardSpaceLinkFlagSearch(0, spaceStart, 0x02000000); - BoardSpacePosGet(0, spaceEnd, &spacePos); - { - Vec cameraOfs; - Vec cameraRot; - cameraOfs.x = 150.0f; - cameraOfs.y = 0.0f; - cameraOfs.z = 0.0f; - cameraRot.x = -45.0f; - cameraRot.y = 0.0f; - cameraRot.z = 0.0f; - BoardCameraMotionStartEx(mapObjMdlId[MAPOBJ_HOST3], &cameraRot, &cameraOfs, 1880.0f, -1.0f, 21); - } + BoardModelAttrReset(lbl_1_bss_6C4[21], 0x40000004); + BoardModelMotionStart(lbl_1_bss_6C4[21], 0, 0); + temp_r28 = GWPlayer[temp_r30].space_curr; + temp_r3 = BoardSpaceLinkFlagSearch(0, temp_r28, 0x02000000); + BoardSpacePosGet(0, temp_r3, &sp3C); + sp30.x = 150.0f; + sp30.y = 0.0f; + sp30.z = 0.0f; + sp24.x = -45.0f; + sp24.y = 0.0f; + sp24.z = 0.0f; + BoardCameraMotionStartEx(lbl_1_bss_6C4[4], &sp24, &sp30, 1880.0f, -1.0f, 21); BoardCameraMotionWait(); BoardWinCreateChoice(2, MAKE_MESSID(10, 0), 0, 0); - if (GWPlayer[playerNo].com) { - if (comPlayF != 0) { + if (GWPlayer[temp_r30].com) { + if (var_r26 != 0) { BoardComKeySetLeft(); - } - else { + } else { BoardComKeySetRight(); } } BoardWinWait(); BoardWinKill(); - choice = BoardWinChoiceGet(); - if (choice != 0) { + var_r25 = BoardWinChoiceGet(); + if (var_r25 != 0) { BoardWinCreate(2, MAKE_MESSID(10, 4), 0); BoardWinWait(); BoardWinKill(); BoardMGExit(); HuAudFXPlay(0x40F); - BoardModelMotionStart(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_UP], 0, HU3D_MOTATTR_REV); - while (!BoardModelMotionEndCheck(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_UP])) { + BoardModelMotionStart(lbl_1_bss_6C4[21], 0, 0x40000004); + while (!BoardModelMotionEndCheck(lbl_1_bss_6C4[21])) { HuPrcVSleep(); } - BoardModelMotionSpeedSet(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_UP], 0.0f); - BoardModelAttrReset(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_UP], HU3D_MOTATTR_REV); + BoardModelMotionSpeedSet(lbl_1_bss_6C4[21], 0.0f); + BoardModelAttrReset(lbl_1_bss_6C4[21], 0x40000004); while (BoardMGDoneFlagGet() != 1) { HuPrcVSleep(); } BoardMGDoneFlagSet(0); - RoundItemKill(); + fn_1_DD84(); HuPrcEnd(); } - BoardPlayerMoveBetween(playerNo, spaceStart, spaceEnd); - while (GWPlayer[playerNo].moving) { + BoardPlayerMoveBetween(temp_r30, temp_r28, temp_r3); + while (GWPlayer[temp_r30].moving) { HuPrcVSleep(); } - BoardPlayerMotionStart(playerNo, 1, HU3D_MOTATTR_LOOP); - { - Vec cameraOfs; - Vec cameraRot; - cameraOfs.x = 0.0f; - cameraOfs.y = 0.0f; - cameraOfs.z = 0.0f; - cameraRot.x = -45.0f; - cameraRot.y = 0.0f; - cameraRot.z = 0.0f; - BoardCameraMotionStartEx(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_UP], &cameraRot, &cameraOfs, 1200.0f, -1.0f, 21); - } + BoardPlayerMotionStart(temp_r30, 1, 0x40000001); + sp18.x = 0.0f; + sp18.y = 0.0f; + sp18.z = 0.0f; + spC.x = -45.0f; + spC.y = 0.0f; + spC.z = 0.0f; + BoardCameraMotionStartEx(lbl_1_bss_6C4[21], &spC, &sp18, 1200.0f, -1.0f, 21); BoardCameraMotionWait(); - RoundItemEventStart(); + fn_1_DE94(); while (BoardEventFlagGet() != 0) { HuPrcVSleep(); } BoardCameraMotionWait(); BoardAudSeqPause(0, 0, 1000); - while (GWPlayer[playerNo].moving) { + while (GWPlayer[temp_r30].moving) { HuPrcVSleep(); } - BoardPlayerMotionStart(playerNo, 1, HU3D_MOTATTR_LOOP); + BoardPlayerMotionStart(temp_r30, 1, 0x40000001); HuPrcEnd(); } -static void RoundItemDestroy(void) -{ +static void fn_1_1254(void) { BoardWinKill(); CharModelDataClose(-1); - roundItemProc = NULL; + lbl_1_bss_4 = NULL; } -static void RoundItemEvent(void) -{ - roundItemProc = HuPrcChildCreate(RoundItemMain, 0x2003, 0x2000, 0, boardMainProc); - HuPrcDestructorSet2(roundItemProc, RoundItemDestroy); - while (roundItemProc) { +static void fn_1_128C(void) { + lbl_1_bss_4 = HuPrcChildCreate(fn_1_D04, 0x2003, 0x2000, 0, boardMainProc); + HuPrcDestructorSet2(lbl_1_bss_4, fn_1_1254); + while (lbl_1_bss_4) { HuPrcVSleep(); } } -static void SpaceAmidaEvent(void) -{ - Vec spacePos; - s32 playerNo; - s32 choice; - s32 spaceStart; - s32 spaceEnd; +static void fn_1_130C(void) { + Vec sp20; + Vec sp14; + Vec sp8; + s32 temp_r31; + s32 var_r28; + s32 temp_r30; + s32 temp_r3; - playerNo = GWSystem.player_curr; + temp_r31 = GWSystem.player_curr; BoardWinCreateChoice(2, MAKE_MESSID(11, 0), 0, 0); - if (GWPlayer[playerNo].com) { + if (GWPlayer[temp_r31].com) { BoardComKeySetLeft(); } BoardWinWait(); BoardWinKill(); - choice = BoardWinChoiceGet(); - if (choice != 0) { + var_r28 = BoardWinChoiceGet(); + if (var_r28 != 0) { BoardWinCreate(2, MAKE_MESSID(11, 4), 0); BoardWinWait(); BoardWinKill(); BoardMGExit(); return; } - BoardModelMotionStart(mapObjMdlId[MAPOBJ_SPACEAMIDA], 0, 0); - { - Vec cameraOfs; - Vec cameraRot; - cameraOfs.x = 0.0f; - cameraOfs.y = 0.0f; - cameraOfs.z = 0.0f; - cameraRot.x = 0.0f; - cameraRot.y = 170.0f; - cameraRot.z = 0.0f; - BoardCameraMotionStartEx(mapObjMdlId[MAPOBJ_SPACEAMIDA], &cameraOfs, &cameraRot, 1200.0f, 25.0f, 21); - } - - spaceStart = GWPlayer[playerNo].space_curr; - spaceEnd = BoardSpaceLinkFlagSearch(0, spaceStart, 0x02000000); - BoardSpacePosGet(0, spaceEnd, &spacePos); - BoardPlayerMoveBetween(playerNo, spaceStart, spaceEnd); - BoardPlayerMotionStart(playerNo, 1, HU3D_MOTATTR_LOOP); + BoardModelMotionStart(lbl_1_bss_6C4[6], 0, 0); + sp14.x = 0.0f; + sp14.y = 0.0f; + sp14.z = 0.0f; + sp8.x = 0.0f; + sp8.y = 170.0f; + sp8.z = 0.0f; + BoardCameraMotionStartEx(lbl_1_bss_6C4[6], &sp14, &sp8, 1200.0f, 25.0f, 21); + temp_r30 = GWPlayer[temp_r31].space_curr; + temp_r3 = BoardSpaceLinkFlagSearch(0, temp_r30, 0x02000000); + BoardSpacePosGet(0, temp_r3, &sp20); + BoardPlayerMoveBetween(temp_r31, temp_r30, temp_r3); + BoardPlayerMotionStart(temp_r31, 1, 0x40000001); BoardAudSeqPause(0, 1, 1000); - SpaceAmidaExec(); - while (GWPlayer[playerNo].moving) { + fn_1_9DD8(); + while (GWPlayer[temp_r31].moving) { HuPrcVSleep(); } while (BoardEventFlagGet() != 0) { HuPrcVSleep(); } BoardAudSeqPause(0, 0, 1000); - while (GWPlayer[playerNo].moving) { + while (GWPlayer[temp_r31].moving) { HuPrcVSleep(); } - BoardPlayerMotionStart(playerNo, 1, HU3D_MOTATTR_LOOP); + BoardPlayerMotionStart(temp_r31, 1, 0x40000001); } -static s32 WalkMiniEvent(void) -{ - s32 flag; - s16 spaceId; +static s32 fn_1_157C(void) { + s32 temp_r31; + s16 temp_curr; - spaceId = GWPlayer[GWSystem.player_curr].space_curr; - flag = BoardSpaceFlagGet(0, spaceId) & 0x600000; + temp_curr = GWPlayer[GWSystem.player_curr].space_curr; + temp_r31 = BoardSpaceFlagGet(0, temp_curr) & 0x600000; BoardRollDispSet(0); - if (flag == 0x200000) { - SpaceAmidaEvent(); - } - else if (flag == 0x400000) { - RoundItemEvent(); + if (temp_r31 == 0x200000) { + fn_1_130C(); + } else if (temp_r31 == 0x400000) { + fn_1_128C(); } BoardRollDispSet(1); } -static void UpdateHostDisp(void) -{ - if (boardWork->hostSide == 0) { - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_HOST1], 1); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_HOST2], 0); - } - else { - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_HOST1], 0); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_HOST2], 1); +static void fn_1_1670(void) { + if (lbl_1_bss_0->unk00_field0 == 0) { + BoardModelVisibilitySet(lbl_1_bss_6C4[2], 1); + BoardModelVisibilitySet(lbl_1_bss_6C4[3], 0); + } else { + BoardModelVisibilitySet(lbl_1_bss_6C4[2], 0); + BoardModelVisibilitySet(lbl_1_bss_6C4[3], 1); } } -static void CoasterInit(void) -{ - Vec pos; - Mtx matrix; +static void fn_1_1700(void) { + Vec sp8; + Mtx sp14; - coasterLandF = 0; - coasterPathMdlId = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W01, 10), NULL, 0); - coasterMaxTime = BoardModelMotionMaxTimeGet(coasterPathMdlId); - BoardModelVisibilitySet(coasterPathMdlId, 0); + lbl_1_bss_6B1 = 0; + lbl_1_bss_6AE = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W01, 10), NULL, 0); + lbl_1_bss_644 = BoardModelMotionMaxTimeGet(lbl_1_bss_6AE); + BoardModelVisibilitySet(lbl_1_bss_6AE, 0); memset(lbl_1_bss_2C, 0, sizeof(lbl_1_bss_2C)); if (BoardSpaceRead(1, DATA_MAKE_NUM(DATADIR_W01, 6)) == 0) { - if (boardWork->hostSide == 0) { - BoardSpaceFlagPosGet(1, 0x2000, &pos); - BoardModelMotionTimeSet(coasterPathMdlId, coasterMaxTime); - coasterBaseRotY = -90.0f; + if (lbl_1_bss_0->unk00_field0 == 0) { + BoardSpaceFlagPosGet(1, 0x2000, &sp8); + BoardModelMotionTimeSet(lbl_1_bss_6AE, lbl_1_bss_644); + lbl_1_bss_63C = -90.0f; + } else { + BoardSpaceFlagPosGet(1, 0x1000, &sp8); + BoardModelMotionTimeSet(lbl_1_bss_6AE, 0.0f); + lbl_1_bss_63C = 90.0f; } - else { - BoardSpaceFlagPosGet(1, 0x1000, &pos); - BoardModelMotionTimeSet(coasterPathMdlId, 0.0f); - coasterBaseRotY = 90.0f; - } - coasterPos = pos; - BoardModelPosSetV(mapObjMdlId[MAPOBJ_COASTER], &pos); - BoardModelRotSet(mapObjMdlId[MAPOBJ_COASTER], 0.0f, coasterBaseRotY, 0.0f); - BoardModelExistDupe(mapObjMdlId[MAPOBJ_COASTER], 1); - BoardModelExistDupe(mapObjMdlId[MAPOBJ_COASTER_RAIL], 1); - fn_8006DDE8(mapObjMdlId[MAPOBJ_COASTER_RAIL], 500.0f); - MTXIdentity(matrix); - BoardModelMtxSet(mapObjMdlId[MAPOBJ_COASTER], &matrix); - UpdateHostDisp(); + lbl_1_bss_654 = sp8; + BoardModelPosSetV(lbl_1_bss_6C4[0], &sp8); + BoardModelRotSet(lbl_1_bss_6C4[0], 0.0f, lbl_1_bss_63C, 0.0f); + BoardModelExistDupe(lbl_1_bss_6C4[0], 1); + BoardModelExistDupe(lbl_1_bss_6C4[1], 1); + fn_8006DDE8(lbl_1_bss_6C4[1], 500.0f); + PSMTXIdentity(sp14); + BoardModelMtxSet(lbl_1_bss_6C4[0], &sp14); + fn_1_1670(); } } -static void CoasterPathUpdate(void) -{ - Vec diff; - float time; - s32 spaceId; - s32 spaceIdLink; - s16 linkTbl[3]; - BoardSpace *space; - BoardSpace *spaceLink; +static void fn_1_1990(void) { + Vec sp10; + float var_f31; + s32 var_r29; + s32 var_r30; + s16 sp8[3]; + BoardSpace *temp_r31; + BoardSpace *temp_r3; - spaceId = coasterStartSpace; - time = 0.0f; + var_r29 = lbl_1_bss_6AC; + var_f31 = 0.0f; while (TRUE) { - space = BoardSpaceGet(1, spaceId); - if (boardWork->hostSide == 0) { - spaceIdLink = space->link[0]; + temp_r31 = BoardSpaceGet(1, var_r29); + if (lbl_1_bss_0->unk00_field0 == 0) { + var_r30 = temp_r31->link[0]; + } else { + BoardSpaceLinkTargetListGet(1, var_r29, sp8); + var_r30 = sp8[0]; } - else { - BoardSpaceLinkTargetListGet(1, spaceId, linkTbl); - spaceIdLink = linkTbl[0]; - } - if (spaceIdLink == 0) { + if (var_r30 == 0) { break; } - spaceLink = BoardSpaceGet(1, spaceIdLink); - if (!spaceLink) { - spaceLink = space; + temp_r3 = BoardSpaceGet(1, var_r30); + if (!temp_r3) { + temp_r3 = temp_r31; break; } - VECSubtract(&spaceLink->pos, &space->pos, &diff); - time += VECMag(&diff); - if (time >= coasterTime) { + PSVECSubtract(&temp_r3->pos, &temp_r31->pos, &sp10); + var_f31 += PSVECMag(&sp10); + if (var_f31 >= lbl_1_bss_640) { break; } - spaceId = spaceIdLink; + var_r29 = var_r30; } - if (space->flag & 8) { - coasterLoopF = 1; - } - else { - coasterLoopF = 0; + if (temp_r31->flag & 8) { + lbl_1_bss_6B3 = 1; + } else { + lbl_1_bss_6B3 = 0; } } -static void CoasterPosCalc(BoardCameraData *camera) -{ - camera->pos = coasterCameraPos; - camera->up = coasterCameraUp; - camera->target = coasterCameraTarget; +static void fn_1_1AD8(BoardCameraData *camera) { + camera->pos = lbl_1_bss_630; + camera->up = lbl_1_bss_624; + camera->target = lbl_1_bss_618; } -static void CoasterCameraUpdate(void) -{ - Vec modelPos; - Vec diff; - Vec target; - Vec up; - Vec pos; - Mtx matrix; +static void fn_1_1B3C(void) { + Vec sp3C; + Vec sp30; + Vec sp24; + Vec sp18; + Vec spC; + Mtx sp48; - VECSubtract(&coasterPos, &coasterPosOld, &diff); - if (coasterLoopF != 0) { - BoardModelPosGet(mapObjMdlId[MAPOBJ_COASTER_RAIL], &modelPos); - VECSubtract(&modelPos, &coasterPos, &up); - VECNormalize(&up, &up); - target = coasterPosOld; - pos = coasterPos; - BoardMTXCalcLookAt(matrix, &pos, &up, &target); - MTXTranspose(matrix, coasterMtx); - MTXRotRad(matrix, 'z', MTXDegToRad(coasterRot.z)); - MTXConcat(coasterMtx, matrix, coasterMtx); - } - else { - if (diff.z != 0.0f || diff.x != 0.0f) { - coasterRot.y = atan2d(diff.x, diff.z); - coasterRot.x = -atan2d(diff.y, VECMagXZ(&diff)); + PSVECSubtract(&lbl_1_bss_654, &lbl_1_bss_648, &sp30); + if (lbl_1_bss_6B3 != 0) { + BoardModelPosGet(lbl_1_bss_6C4[1], &sp3C); + PSVECSubtract(&sp3C, &lbl_1_bss_654, &sp18); + PSVECNormalize(&sp18, &sp18); + sp24 = lbl_1_bss_648; + spC = lbl_1_bss_654; + BoardMTXCalcLookAt(sp48, &spC, &sp18, &sp24); + PSMTXTranspose(sp48, lbl_1_bss_678); + PSMTXRotRad(sp48, 'z', MTXDegToRad(lbl_1_bss_660.z)); + PSMTXConcat(lbl_1_bss_678, sp48, lbl_1_bss_678); + } else { + if (sp30.z != 0.0f || sp30.x != 0.0f) { + lbl_1_bss_660.y = atan2d(sp30.x, sp30.z); + lbl_1_bss_660.x = -atan2d(sp30.y, VECMagXZ(&sp30)); + } else { + lbl_1_bss_660.x = lbl_1_bss_660.y = 0.0f; } - else { - coasterRot.x = coasterRot.y = 0.0f; - } - MTXRotRad(coasterMtx, 'z', MTXDegToRad(coasterRot.z)); - MTXRotRad(matrix, 'x', MTXDegToRad(coasterRot.x)); - MTXConcat(matrix, coasterMtx, coasterMtx); - MTXRotRad(matrix, 'y', MTXDegToRad(coasterRot.y)); - MTXConcat(matrix, coasterMtx, coasterMtx); + PSMTXRotRad(lbl_1_bss_678, 'z', MTXDegToRad(lbl_1_bss_660.z)); + PSMTXRotRad(sp48, 'x', MTXDegToRad(lbl_1_bss_660.x)); + PSMTXConcat(sp48, lbl_1_bss_678, lbl_1_bss_678); + PSMTXRotRad(sp48, 'y', MTXDegToRad(lbl_1_bss_660.y)); + PSMTXConcat(sp48, lbl_1_bss_678, lbl_1_bss_678); } } -static void CoasterCameraObjKill(void) -{ - CoasterCameraWork *work; +static void fn_1_1EE4(void) { + Bss10Work *temp_r31; - if (coasterCameraObj) { - work = OM_GET_WORK_PTR(coasterCameraObj, CoasterCameraWork); - work->killF = TRUE; + if (lbl_1_bss_10) { + temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_10, Bss10Work); + temp_r31->unk00_field0 = 1; } } -static void CoasterCameraObjMain(omObjData *obj) -{ - CoasterCameraWork *work = OM_GET_WORK_PTR(obj, CoasterCameraWork); +static void fn_1_1F2C(omObjData *arg0) { + Bss10Work *temp_r31 = OM_GET_WORK_PTR(arg0, Bss10Work); - if (work->killF != 0 || BoardIsKill()) { - omDelObjEx(HuPrcCurrentGet(), obj); - coasterCameraObj = NULL; + if (temp_r31->unk00_field0 != 0 || BoardIsKill()) { + omDelObjEx(HuPrcCurrentGet(), arg0); + lbl_1_bss_10 = NULL; return; } - CoasterCameraObjUpdate(); + fn_1_1FA4(); } -static void CoasterCameraObjUpdate(void) -{ - Vec modelPos; - Vec pos; - float angleY; - float angleX; - float radius; +static void fn_1_1FA4(void) { + Vec sp18; + Vec spC; + float temp_f28; + float temp_f29; + float var_f27; - pos.x = coasterPosOld.x; - pos.y = coasterPosOld.y + 200.0f; - pos.z = coasterPosOld.z; - VECSubtract(&pos, &coasterCameraTarget, &pos); - VECScale(&pos, &pos, 0.08f); - VECAdd(&pos, &coasterCameraTarget, &coasterCameraTarget); - VECSubtract(&coasterPos, &coasterPosOld, &pos); - if (pos.x != 0.0f || pos.z != 0.0f) { - angleX = atan2f(pos.y, VECMagXZ(&pos)); - angleY = atan2f(-pos.x, -pos.z); - } - else { - angleX = angleY = 0.0f; + spC.x = lbl_1_bss_648.x; + spC.y = lbl_1_bss_648.y + 200.0f; + spC.z = lbl_1_bss_648.z; + PSVECSubtract(&spC, &lbl_1_bss_618, &spC); + PSVECScale(&spC, &spC, 0.08f); + PSVECAdd(&spC, &lbl_1_bss_618, &lbl_1_bss_618); + PSVECSubtract(&lbl_1_bss_654, &lbl_1_bss_648, &spC); + if (spC.x != 0.0f || spC.z != 0.0f) { + temp_f29 = atan2f(spC.y, VECMagXZ(&spC)); + temp_f28 = atan2f(-spC.x, -spC.z); + } else { + temp_f29 = temp_f28 = 0.0f; return; } - angleX += -0.27925268f; - if (coasterLoopF != 0) { - if (coasterCamSpeed < 0.08f) { - coasterCamSpeed -= 0.00033333333f; + temp_f29 += -0.27925268f; + if (lbl_1_bss_6B3 != 0) { + if (lbl_1_bss_66C < 0.08f) { + lbl_1_bss_66C -= 0.00033333333f; } - BoardModelPosGet(mapObjMdlId[MAPOBJ_COASTER_RAIL], &modelPos); - if (boardWork->hostSide == 0) { - radius = -2500.0f; + BoardModelPosGet(lbl_1_bss_6C4[1], &sp18); + if (lbl_1_bss_0->unk00_field0 == 0) { + var_f27 = -2500.0f; + } else { + var_f27 = 2500.0f; } - else { - radius = 2500.0f; + sp18.x = sp18.x + var_f27 * sin(1.4137166738510132); // TODO: should be sind(81) + sp18.y = sp18.y + -150.0f; + sp18.z = sp18.z + var_f27 * cos(1.4137166738510132); // TODO: should be cosd(81) + PSVECSubtract(&sp18, &lbl_1_bss_630, &spC); + PSVECScale(&spC, &spC, lbl_1_bss_66C); + PSVECAdd(&spC, &lbl_1_bss_630, &lbl_1_bss_630); + } else { + if (lbl_1_bss_66C < 0.08f) { + lbl_1_bss_66C += 0.00066666666f; } - modelPos.x = modelPos.x + radius * sin(1.4137166738510132); // TODO: should be sind(81) - modelPos.y = modelPos.y + -150.0f; - modelPos.z = modelPos.z + radius * cos(1.4137166738510132); // TODO: should be cosd(81) - VECSubtract(&modelPos, &coasterCameraPos, &pos); - VECScale(&pos, &pos, coasterCamSpeed); - VECAdd(&pos, &coasterCameraPos, &coasterCameraPos); - } - else { - if (coasterCamSpeed < 0.08f) { - coasterCamSpeed += 0.00066666666f; - } - pos.x = 400.0 * (sin(angleY) * cos(angleX)); - pos.y = 400.0 * -sin(angleX); - pos.z = 400.0 * (cos(angleY) * cos(angleX)); - VECAdd(&coasterCameraTarget, &pos, &pos); - VECSubtract(&pos, &coasterCameraPos, &pos); - VECScale(&pos, &pos, coasterCamSpeed); - VECAdd(&pos, &coasterCameraPos, &coasterCameraPos); + spC.x = 400.0 * (sin(temp_f28) * cos(temp_f29)); + spC.y = 400.0 * -sin(temp_f29); + spC.z = 400.0 * (cos(temp_f28) * cos(temp_f29)); + PSVECAdd(&lbl_1_bss_618, &spC, &spC); + PSVECSubtract(&spC, &lbl_1_bss_630, &spC); + PSVECScale(&spC, &spC, lbl_1_bss_66C); + PSVECAdd(&spC, &lbl_1_bss_630, &lbl_1_bss_630); } } -static float CoasterStickRotGet(void) -{ - Vec basePos; - Vec modelPos; - Vec diff; - float stickRot; - s16 stkX; - s32 padNo; +static float fn_1_2524(void) { + Vec sp24; + Vec sp18; + Vec spC; + float var_f30; + s16 sp8; + s32 var_r29; s32 i; - basePos = coasterPos; - if (GWPlayer[eventPlayer].com) { - if (coasterLoopF != 0) { + sp24 = lbl_1_bss_654; + if (GWPlayer[lbl_1_bss_6B4].com) { + if (lbl_1_bss_6B3 != 0) { return 0.0f; } for (i = 0; i < 24; i++) { - if (coasterCoinF[i] == 0) { - BoardModelPosGet(coasterCoinMdlId[i], &modelPos); - VECSubtract(&modelPos, &basePos, &diff); - if (!(VECMag(&diff) > 400.0f)) { + if (lbl_1_bss_600[i] == 0) { + BoardModelPosGet(lbl_1_bss_5D0[i], &sp18); + PSVECSubtract(&sp18, &sp24, &spC); + if (!(PSVECMag(&spC) > 400.0f)) { break; } } @@ -908,104 +879,102 @@ static float CoasterStickRotGet(void) if (i == 24) { return 0.0f; } - VECSubtract(&modelPos, &basePos, &diff); - stickRot = atan2d(diff.x, diff.z); - if (stickRot > 0.0f) { - stickRot = 45.0f; - } - else { - stickRot = -45.0f; + PSVECSubtract(&sp18, &sp24, &spC); + var_f30 = atan2d(spC.x, spC.z); + if (var_f30 > 0.0f) { + var_f30 = 45.0f; + } else { + var_f30 = -45.0f; } + } else { + var_r29 = GWPlayer[lbl_1_bss_6B4].port; + sp8 = HuPadStkX[var_r29]; + OSs16tof32(&sp8, &var_f30); + var_f30 = var_f30 * 0.625f; } - else { - padNo = GWPlayer[eventPlayer].port; - stkX = HuPadStkX[padNo]; - OSs16tof32(&stkX, &stickRot); - stickRot = stickRot * 0.625f; - } - return stickRot; + return var_f30; } -static void CoasterRotUpdate(void) -{ - float motTime; - float stickRot; +static void fn_1_276C(void) { + Vec sp58; + Vec sp40; + Vec sp34; + Vec sp28; + Vec sp1C; + float temp_f26; + float var_f27; Mtx sp70; - CoasterCameraUpdate(); - if (coasterLandF != 0) { - coasterRot.z = 0.0f; + fn_1_1B3C(); + if (lbl_1_bss_6B1 != 0) { + lbl_1_bss_660.z = 0.0f; return; } - stickRot = CoasterStickRotGet(); - BoardDAngleCalcRange(&coasterRot.z, stickRot, 5.0f); - motTime = 6.0f + 6.0f * (coasterRot.z / 45.0f) - 1.0f; - if (coasterRot.z > 22.5f) { - BoardPlayerMotionStart(eventPlayer, coasterMotId[1], 0); - BoardPlayerMotionTimeSet(eventPlayer, motTime); + var_f27 = fn_1_2524(); + BoardDAngleCalcRange(&lbl_1_bss_660.z, var_f27, 5.0f); + temp_f26 = 6.0f + 6.0f * (lbl_1_bss_660.z / 45.0f) - 1.0f; + if (lbl_1_bss_660.z > 22.5f) { + BoardPlayerMotionStart(lbl_1_bss_6B4, lbl_1_bss_5CC[1], 0); + BoardPlayerMotionTimeSet(lbl_1_bss_6B4, temp_f26); + } else if (lbl_1_bss_660.z < -22.5f) { + BoardPlayerMotionStart(lbl_1_bss_6B4, lbl_1_bss_5CC[1], 0); + BoardPlayerMotionTimeSet(lbl_1_bss_6B4, temp_f26); + } else { + BoardPlayerMotionShiftSet(lbl_1_bss_6B4, lbl_1_bss_5CC[0], 0.0f, 10.0f, 0x40000001); } - else if (coasterRot.z < -22.5f) { - BoardPlayerMotionStart(eventPlayer, coasterMotId[1], 0); - BoardPlayerMotionTimeSet(eventPlayer, motTime); - } - else { - BoardPlayerMotionShiftSet(eventPlayer, coasterMotId[0], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - } - CoasterCoinCheck(); + fn_1_2F18(); } -static void CoasterCoinCheck(void) -{ - Vec coinPos; - Vec ofs; - Vec angle; - Vec diff; - Vec mdlCoasterPos; - float rotZ; - Mtx matrix; - Mtx mtxRotX; - Mtx mtxRotY; - Mtx mtxRotZ; +static void fn_1_2F18(void) { + Vec sp3C; + Vec sp30; + Vec sp24; + Vec sp18; + Vec spC; + float var_f29; + Mtx spD8; + Mtx spA8; + Mtx sp78; + Mtx sp48; s32 i; - if (coasterLoopF == 0) { - rotZ = coasterRot.z; - if (rotZ > 180.0f) { - rotZ -= 360.0f; + if (lbl_1_bss_6B3 == 0) { + var_f29 = lbl_1_bss_660.z; + if (var_f29 > 180.0f) { + var_f29 -= 360.0f; } - BoardModelPosGet(mapObjMdlId[MAPOBJ_COASTER], &mdlCoasterPos); - VECSubtract(&coasterPos, &coasterPosOld, &diff); - if (diff.z != 0.0f || diff.x != 0.0f) { - angle.y = atan2d(diff.x, diff.z); - angle.x = -atan2d(diff.y, VECMagXZ(&diff)); + BoardModelPosGet(lbl_1_bss_6C4[0], &spC); + PSVECSubtract(&lbl_1_bss_654, &lbl_1_bss_648, &sp18); + if (sp18.z != 0.0f || sp18.x != 0.0f) { + sp24.y = atan2d(sp18.x, sp18.z); + sp24.x = -atan2d(sp18.y, VECMagXZ(&sp18)); + } else { + sp24.x = sp24.y = 0.0f; } - else { - angle.x = angle.y = 0.0f; - } - MTXTrans(matrix, 0.0f, 180.0f, 0.0f); - MTXRotRad(mtxRotX, 'x', MTXDegToRad(angle.x)); - MTXRotRad(mtxRotY, 'y', MTXDegToRad(angle.y)); - MTXRotRad(mtxRotZ, 'z', MTXDegToRad(rotZ)); - MTXConcat(mtxRotX, mtxRotZ, mtxRotZ); - MTXConcat(mtxRotY, mtxRotZ, mtxRotZ); - MTXConcat(mtxRotZ, matrix, matrix); - ofs.x = matrix[0][3]; - ofs.y = matrix[1][3]; - ofs.z = matrix[2][3]; - VECAdd(&ofs, &mdlCoasterPos, &ofs); - if (rotZ < 27.000002f && rotZ > -27.000002f) { + PSMTXTrans(spD8, 0.0f, 180.0f, 0.0f); + PSMTXRotRad(spA8, 'x', MTXDegToRad(sp24.x)); + PSMTXRotRad(sp78, 'y', MTXDegToRad(sp24.y)); + PSMTXRotRad(sp48, 'z', MTXDegToRad(var_f29)); + PSMTXConcat(spA8, sp48, sp48); + PSMTXConcat(sp78, sp48, sp48); + PSMTXConcat(sp48, spD8, spD8); + sp30.x = spD8[0][3]; + sp30.y = spD8[1][3]; + sp30.z = spD8[2][3]; + PSVECAdd(&sp30, &spC, &sp30); + if (var_f29 < 27.000002f && var_f29 > -27.000002f) { return; } for (i = 0; i < 24; i++) { - if (coasterCoinF[i] == 0) { - BoardModelPosGet(coasterCoinMdlId[i], &coinPos); - if (BoardVecMaxDistXZCheck(&coinPos, &ofs, 180.0f)) { + if (lbl_1_bss_600[i] == 0) { + BoardModelPosGet(lbl_1_bss_5D0[i], &sp3C); + if (BoardVecMaxDistXZCheck(&sp3C, &sp30, 180.0f)) { CharModelLayerSetAll(2); - CharModelCoinEffectCreate(1, &coinPos); - BoardModelVisibilitySet(coasterCoinMdlId[i], 0); - BoardPlayerCoinsAdd(eventPlayer, 1); + CharModelCoinEffectCreate(1, &sp3C); + BoardModelVisibilitySet(lbl_1_bss_5D0[i], 0); + BoardPlayerCoinsAdd(lbl_1_bss_6B4, 1); HuAudFXPlay(7); - coasterCoinF[i] = 1; + lbl_1_bss_600[i] = 1; break; } } @@ -1013,236 +982,232 @@ static void CoasterCoinCheck(void) } } -static s16 coasterWinId = -1; +static s16 lbl_1_data_580 = -1; -static void CoasterPathMotUpdate(void) -{ - Vec diff; - s16 modelId; - ModelData *modelP; - HsfObject *obj; +static void fn_1_3350(void) { + Vec sp8; + s16 temp_r3; + ModelData *temp_r30; + HsfObject *temp_r31; - coasterAccel += 0.002f; - if (coasterSpeed > 0.18f) { - coasterSpeed = 0.18f; + lbl_1_bss_674 += 0.002f; + if (lbl_1_bss_670 > 0.18f) { + lbl_1_bss_670 = 0.18f; + } else if (lbl_1_bss_670 < 0.18f) { + lbl_1_bss_670 += lbl_1_bss_674; } - else if (coasterSpeed < 0.18f) { - coasterSpeed += coasterAccel; - } - modelId = BoardModelIDGet(coasterPathMdlId); - modelP = &Hu3DData[modelId]; - Hu3DMotionExec(modelId, modelP->unk_08, modelP->unk_64, 0); - obj = Hu3DModelObjPtrGet(modelId, "looppath-cube1"); - coasterPosOld = coasterPos; - coasterPos.x = obj->data.curr.pos.x; - coasterPos.y = obj->data.curr.pos.y; - coasterPos.z = obj->data.curr.pos.z; - VECSubtract(&coasterPosOld, &coasterPos, &diff); - coasterTime += VECMag(&diff); + temp_r3 = BoardModelIDGet(lbl_1_bss_6AE); + temp_r30 = &Hu3DData[temp_r3]; + Hu3DMotionExec(temp_r3, temp_r30->unk_08, temp_r30->unk_64, 0); + temp_r31 = Hu3DModelObjPtrGet(temp_r3, "looppath-cube1"); + lbl_1_bss_648 = lbl_1_bss_654; + lbl_1_bss_654.x = temp_r31->data.curr.pos.x; + lbl_1_bss_654.y = temp_r31->data.curr.pos.y; + lbl_1_bss_654.z = temp_r31->data.curr.pos.z; + PSVECSubtract(&lbl_1_bss_648, &lbl_1_bss_654, &sp8); + lbl_1_bss_640 += PSVECMag(&sp8); } -static s32 coasterMotTbl[8][2] - = { { DATA_MAKE_NUM(DATADIR_W01, 34), DATA_MAKE_NUM(DATADIR_W01, 42) }, { DATA_MAKE_NUM(DATADIR_W01, 35), DATA_MAKE_NUM(DATADIR_W01, 43) }, - { DATA_MAKE_NUM(DATADIR_W01, 36), DATA_MAKE_NUM(DATADIR_W01, 44) }, { DATA_MAKE_NUM(DATADIR_W01, 37), DATA_MAKE_NUM(DATADIR_W01, 45) }, - { DATA_MAKE_NUM(DATADIR_W01, 38), DATA_MAKE_NUM(DATADIR_W01, 46) }, { DATA_MAKE_NUM(DATADIR_W01, 39), DATA_MAKE_NUM(DATADIR_W01, 47) }, - { DATA_MAKE_NUM(DATADIR_W01, 40), DATA_MAKE_NUM(DATADIR_W01, 48) }, { DATA_MAKE_NUM(DATADIR_W01, 41), DATA_MAKE_NUM(DATADIR_W01, 49) } }; +static s32 lbl_1_data_594[8][2] = { + { DATA_MAKE_NUM(DATADIR_W01, 34), DATA_MAKE_NUM(DATADIR_W01, 42) }, + { DATA_MAKE_NUM(DATADIR_W01, 35), DATA_MAKE_NUM(DATADIR_W01, 43) }, + { DATA_MAKE_NUM(DATADIR_W01, 36), DATA_MAKE_NUM(DATADIR_W01, 44) }, + { DATA_MAKE_NUM(DATADIR_W01, 37), DATA_MAKE_NUM(DATADIR_W01, 45) }, + { DATA_MAKE_NUM(DATADIR_W01, 38), DATA_MAKE_NUM(DATADIR_W01, 46) }, + { DATA_MAKE_NUM(DATADIR_W01, 39), DATA_MAKE_NUM(DATADIR_W01, 47) }, + { DATA_MAKE_NUM(DATADIR_W01, 40), DATA_MAKE_NUM(DATADIR_W01, 48) }, + { DATA_MAKE_NUM(DATADIR_W01, 41), DATA_MAKE_NUM(DATADIR_W01, 49) } +}; -static void CoasterMotCreate(s32 playerNo) -{ - s32 charNo; +static void fn_1_3514(s32 arg0) { + s32 temp_r30; s32 i; - charNo = GWPlayer[playerNo].character; + temp_r30 = GWPlayer[arg0].character; for (i = 0; i < 2; i++) { - coasterMotId[i] = BoardPlayerMotionCreate(playerNo, coasterMotTbl[charNo][i]); + lbl_1_bss_5CC[i] = BoardPlayerMotionCreate(arg0, lbl_1_data_594[temp_r30][i]); } } -static void CoasterMotKill(s32 playerNo) -{ +static void fn_1_35B4(s32 arg0) { s32 i; for (i = 0; i < 2; i++) { - BoardPlayerMotionKill(playerNo, coasterMotId[i]); - coasterMotId[i] = -1; + BoardPlayerMotionKill(arg0, lbl_1_bss_5CC[i]); + lbl_1_bss_5CC[i] = -1; } } -static void CoasterExec(void) -{ - Mtx playerMtx; - Vec spacePos; - Vec cameraRot; - float coasterRotSpeed; - float coasterRotDir; - float coasterMotSpeed; - s32 seNo; - CoasterCameraWork *camWork; - s16 endSpace; +static void fn_1_3624(void) { + Mtx sp48; + Vec sp3C; + Vec sp30; + Vec sp24; + Vec sp18; + float temp_f28; + float var_f30; + float var_f29; + s32 temp_r19; + Bss10Work *temp_r18; + s16 sp10; + s16 var_r25; s16 i; - coasterAccel = coasterSpeed = 0.0f; - coasterTime = 0.0f; - coasterRot.x = 0.0f; - coasterRot.y = 0.0f; - coasterRot.z = 0.0f; + lbl_1_bss_674 = lbl_1_bss_670 = 0.0f; + lbl_1_bss_640 = 0.0f; + lbl_1_bss_660.x = 0.0f; + lbl_1_bss_660.y = 0.0f; + lbl_1_bss_660.z = 0.0f; lbl_1_bss_6A8 = 0.0f; - coasterLoopF = 0; - coasterCameraUp.x = 0.0f; - coasterCameraUp.z = 0.0f; - coasterCameraUp.y = 1.0f; - coasterCamSpeed = 0.08f; - CoasterMotCreate(eventPlayer); - BoardPlayerMotionStart(eventPlayer, coasterMotId[0], HU3D_MOTATTR_LOOP); + lbl_1_bss_6B3 = 0; + lbl_1_bss_624.x = 0.0f; + lbl_1_bss_624.z = 0.0f; + lbl_1_bss_624.y = 1.0f; + lbl_1_bss_66C = 0.08f; + fn_1_3514(lbl_1_bss_6B4); + BoardPlayerMotionStart(lbl_1_bss_6B4, lbl_1_bss_5CC[0], 0x40000001); BoardSpaceAttrSet(0, 1); - CoasterEffCreate(); - BoardModelMotionStart(coasterPathMdlId, 0, 0); - if (boardWork->hostSide == 0) { - BoardModelMotionTimeSet(coasterPathMdlId, coasterMaxTime); - coasterBaseRotY = -90.0f; - coasterStartSpace = BoardSpaceFlagPosGet(1, 0x2000, &spacePos); - endSpace = BoardSpaceFlagSearch(0, 0x1000); - coasterRotDir = -1.0f; + fn_1_97F4(); + BoardModelMotionStart(lbl_1_bss_6AE, 0, 0); + if (lbl_1_bss_0->unk00_field0 == 0) { + BoardModelMotionTimeSet(lbl_1_bss_6AE, lbl_1_bss_644); + lbl_1_bss_63C = -90.0f; + lbl_1_bss_6AC = BoardSpaceFlagPosGet(1, 0x2000, &sp3C); + var_r25 = BoardSpaceFlagSearch(0, 0x1000); + var_f30 = -1.0f; + } else { + BoardModelMotionTimeSet(lbl_1_bss_6AE, 0.0f); + lbl_1_bss_63C = 90.0f; + lbl_1_bss_6AC = BoardSpaceFlagPosGet(1, 0x1000, &sp3C); + var_r25 = BoardSpaceFlagSearch(0, 0x2000); + var_f30 = 1.0f; } - else { - BoardModelMotionTimeSet(coasterPathMdlId, 0.0f); - coasterBaseRotY = 90.0f; - coasterStartSpace = BoardSpaceFlagPosGet(1, 0x1000, &spacePos); - endSpace = BoardSpaceFlagSearch(0, 0x2000); - coasterRotDir = 1.0f; - } - coasterPos = spacePos; - coasterPosOld = coasterPos; - BoardModelMotionSpeedSet(coasterPathMdlId, coasterSpeed); - BoardPlayerPosSetV(eventPlayer, &coasterPos); - BoardCameraPosCalcFuncSet(CoasterPosCalc); - coasterCameraObj = omAddObjEx(boardObjMan, 0x7E02, 0, 0, -1, CoasterCameraObjMain); - camWork = OM_GET_WORK_PTR(coasterCameraObj, CoasterCameraWork); - camWork->killF = FALSE; - cameraRot.x = -40.0f; - cameraRot.z = 0.0f; - cameraRot.y = -coasterBaseRotY; - BoardCameraMotionStartEx(mapObjMdlId[MAPOBJ_COASTER], &cameraRot, NULL, 150.0f, -1.0f, 2); + lbl_1_bss_654 = sp3C; + lbl_1_bss_648 = lbl_1_bss_654; + BoardModelMotionSpeedSet(lbl_1_bss_6AE, lbl_1_bss_670); + BoardPlayerPosSetV(lbl_1_bss_6B4, &lbl_1_bss_654); + BoardCameraPosCalcFuncSet(fn_1_1AD8); + lbl_1_bss_10 = omAddObjEx(boardObjMan, 0x7E02, 0, 0, -1, fn_1_1F2C); + temp_r18 = OM_GET_WORK_PTR(lbl_1_bss_10, Bss10Work); + temp_r18->unk00_field0 = 0; + sp30.x = -40.0f; + sp30.z = 0.0f; + sp30.y = -lbl_1_bss_63C; + BoardCameraMotionStartEx(lbl_1_bss_6C4[0], &sp30, NULL, 150.0f, -1.0f, 2); BoardCameraMotionWait(); - BoardModelPosGet(mapObjMdlId[MAPOBJ_COASTER], &coasterCameraTarget); - coasterCameraPos.x = coasterCameraTarget.x + 1000.0 * (sind(cameraRot.y) * cosd(cameraRot.x)); - coasterCameraPos.y = coasterCameraTarget.y + 1000.0 * -sind(cameraRot.x); - coasterCameraPos.z = coasterCameraTarget.z + 1000.0 * (cosd(cameraRot.y) * cosd(cameraRot.x)); - MTXRotRad(coasterMtx, 'y', MTXDegToRad(coasterBaseRotY)); - BoardModelMtxSet(mapObjMdlId[MAPOBJ_COASTER], &coasterMtx); - BoardPlayerMtxSet(eventPlayer, &coasterMtx); - BoardModelRotSet(mapObjMdlId[MAPOBJ_COASTER], 0.0f, 0.0f, 0.0f); - BoardPlayerRotSet(eventPlayer, 0.0f, 0.0f, 0.0f); - BoardPlayerExistCheck(eventPlayer, 0); + BoardModelPosGet(lbl_1_bss_6C4[0], &lbl_1_bss_618); + lbl_1_bss_630.x = lbl_1_bss_618.x + 1000.0 * (sind(sp30.y) * cosd(sp30.x)); + lbl_1_bss_630.y = lbl_1_bss_618.y + 1000.0 * -sind(sp30.x); + lbl_1_bss_630.z = lbl_1_bss_618.z + 1000.0 * (cosd(sp30.y) * cosd(sp30.x)); + PSMTXRotRad(lbl_1_bss_678, 'y', MTXDegToRad(lbl_1_bss_63C)); + BoardModelMtxSet(lbl_1_bss_6C4[0], &lbl_1_bss_678); + BoardPlayerMtxSet(lbl_1_bss_6B4, &lbl_1_bss_678); + BoardModelRotSet(lbl_1_bss_6C4[0], 0.0f, 0.0f, 0.0f); + BoardPlayerRotSet(lbl_1_bss_6B4, 0.0f, 0.0f, 0.0f); + BoardPlayerExistCheck(lbl_1_bss_6B4, 0); BoardMusStart(1, 0x10, 0x7F, 0); - CoasterCoinCreate(); - BoardStatusShowSetForce(eventPlayer); - BoardStatusShowSet(eventPlayer, 1); - while (!BoardStatusStopCheck(eventPlayer)) { + fn_1_50D4(); + BoardStatusShowSetForce(lbl_1_bss_6B4); + BoardStatusShowSet(lbl_1_bss_6B4, 1); + while (!BoardStatusStopCheck(lbl_1_bss_6B4)) { HuPrcVSleep(); } - seNo = HuAudFXPlay(0x40C); - CoasterWinCreate(); + temp_r19 = HuAudFXPlay(0x40C); + fn_1_4774(); WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - coasterType = 1; + lbl_1_bss_6B0 = 1; HuAudFXPlay(0x413); while (TRUE) { - CoasterPathUpdate(); - CoasterPathMotUpdate(); - CoasterRotUpdate(); - BoardModelPosSetV(mapObjMdlId[MAPOBJ_COASTER], &coasterPos); - BoardPlayerPosSetV(eventPlayer, &coasterPos); - if (BoardPlayerSizeGet(eventPlayer) != 1) { - MTXTrans(playerMtx, 0.0f, 30.0f, 0.0f); + fn_1_1990(); + fn_1_3350(); + fn_1_276C(); + BoardModelPosSetV(lbl_1_bss_6C4[0], &lbl_1_bss_654); + BoardPlayerPosSetV(lbl_1_bss_6B4, &lbl_1_bss_654); + if (BoardPlayerSizeGet(lbl_1_bss_6B4) != 1) { + PSMTXTrans(sp48, 0.0f, 30.0f, 0.0f); + } else { + PSMTXTrans(sp48, 0.0f, 400.0f, 250.0f); } - else { - MTXTrans(playerMtx, 0.0f, 400.0f, 250.0f); + BoardModelMtxSet(lbl_1_bss_6C4[0], &lbl_1_bss_678); + PSMTXConcat(lbl_1_bss_678, sp48, sp48); + BoardPlayerMtxSet(lbl_1_bss_6B4, &sp48); + if (lbl_1_bss_0->unk00_field0 == 0) { + var_f29 = -lbl_1_bss_670; + } else { + var_f29 = lbl_1_bss_670; } - BoardModelMtxSet(mapObjMdlId[MAPOBJ_COASTER], &coasterMtx); - MTXConcat(coasterMtx, playerMtx, playerMtx); - BoardPlayerMtxSet(eventPlayer, &playerMtx); - if (boardWork->hostSide == 0) { - coasterMotSpeed = -coasterSpeed; - } - else { - coasterMotSpeed = coasterSpeed; - } - BoardModelMotionSpeedSet(coasterPathMdlId, coasterMotSpeed); - if (boardWork->hostSide == 0) { - if (BoardModelMotionTimeGet(coasterPathMdlId) <= 0.0f) { + BoardModelMotionSpeedSet(lbl_1_bss_6AE, var_f29); + if (lbl_1_bss_0->unk00_field0 == 0) { + if (BoardModelMotionTimeGet(lbl_1_bss_6AE) <= 0.0f) { break; } - } - else { - if (BoardModelMotionTimeGet(coasterPathMdlId) >= coasterMaxTime) { + } else { + if (BoardModelMotionTimeGet(lbl_1_bss_6AE) >= lbl_1_bss_644) { break; } } HuPrcVSleep(); } - MTXIdentity(coasterMtx); - CoasterWinKill(); - HuAudFXStop(seNo); - CoasterCameraObjKill(); - CoasterEffKill(); - if (BoardPlayerSizeGet(eventPlayer) == 1) { - MTXTrans(playerMtx, 0.0f, 400.0f, 250.0f); + PSMTXIdentity(lbl_1_bss_678); + fn_1_4864(); + HuAudFXStop(temp_r19); + fn_1_1EE4(); + fn_1_98EC(); + if (BoardPlayerSizeGet(lbl_1_bss_6B4) == 1) { + PSMTXTrans(sp48, 0.0f, 400.0f, 250.0f); + } else { + PSMTXTrans(sp48, 0.0f, 30.0f, 0.0f); } - else { - MTXTrans(playerMtx, 0.0f, 30.0f, 0.0f); - } - BoardModelMtxSet(mapObjMdlId[MAPOBJ_COASTER], &coasterMtx); - BoardPlayerMtxSet(eventPlayer, &playerMtx); - coasterRot.x = coasterRot.z = 0.0f; + BoardModelMtxSet(lbl_1_bss_6C4[0], &lbl_1_bss_678); + BoardPlayerMtxSet(lbl_1_bss_6B4, &sp48); + lbl_1_bss_660.x = lbl_1_bss_660.z = 0.0f; BoardAudSeqFadeOut(1, 1000); WipeColorSet(0, 0, 0); WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); HuAudFXPlay(0x401); - coasterRotSpeed = (-coasterBaseRotY - coasterRot.y) / 30.0f; + temp_f28 = (-lbl_1_bss_63C - lbl_1_bss_660.y) / 30.0f; for (i = 0; i < 30; i++) { - BoardModelRotSetV(mapObjMdlId[MAPOBJ_COASTER], &coasterRot); - BoardPlayerRotSetV(eventPlayer, &coasterRot); - coasterRot.y += coasterRotSpeed * coasterRotDir; + BoardModelRotSetV(lbl_1_bss_6C4[0], &lbl_1_bss_660); + BoardPlayerRotSetV(lbl_1_bss_6B4, &lbl_1_bss_660); + lbl_1_bss_660.y += temp_f28 * var_f30; HuPrcVSleep(); } - coasterRot.y = -coasterBaseRotY; - BoardModelRotSetV(mapObjMdlId[MAPOBJ_COASTER], &coasterRot); - BoardPlayerRotSetV(eventPlayer, &coasterRot); - BoardStatusShowSet(eventPlayer, 0); + lbl_1_bss_660.y = -lbl_1_bss_63C; + BoardModelRotSetV(lbl_1_bss_6C4[0], &lbl_1_bss_660); + BoardPlayerRotSetV(lbl_1_bss_6B4, &lbl_1_bss_660); + BoardStatusShowSet(lbl_1_bss_6B4, 0); BoardSpaceAttrReset(0, 1); - CoasterCoinKill(); + fn_1_53B8(); BoardCameraMoveSet(0); - BoardCameraTargetPlayerSet(eventPlayer); + BoardCameraTargetPlayerSet(lbl_1_bss_6B4); BoardCameraViewSet(1); BoardCameraMotionWait(); do { HuPrcVSleep(); } while (WipeStatGet() != 0); - BoardPlayerIdleSet(eventPlayer); - BoardPlayerMtxSet(eventPlayer, &coasterMtx); + BoardPlayerIdleSet(lbl_1_bss_6B4); + BoardPlayerMtxSet(lbl_1_bss_6B4, &lbl_1_bss_678); BoardCameraPosCalcFuncSet(NULL); - BoardPlayerExistCheck(eventPlayer, 1); - BoardSpacePosGet(0, endSpace, &spacePos); - GWPlayer[eventPlayer].space_curr = endSpace; - BoardPlayerPosSetV(eventPlayer, &spacePos); - CoasterMotKill(eventPlayer); - coasterDoneF = 1; + BoardPlayerExistCheck(lbl_1_bss_6B4, 1); + BoardSpacePosGet(0, var_r25, &sp3C); + GWPlayer[lbl_1_bss_6B4].space_curr = var_r25; + BoardPlayerPosSetV(lbl_1_bss_6B4, &sp3C); + fn_1_35B4(lbl_1_bss_6B4); + lbl_1_bss_6B2 = 1; } -static void CoasterExit(void) -{ - if (coasterDoneF != 0) { - if (boardWork->hostSide == 0) { - boardWork->hostSide = 1; +static void fn_1_45F4(void) { + if (lbl_1_bss_6B2 != 0) { + if (lbl_1_bss_0->unk00_field0 == 0) { + lbl_1_bss_0->unk00_field0 = 1; + } else { + lbl_1_bss_0->unk00_field0 = 0; } - else { - boardWork->hostSide = 0; - } - coasterDoneF = 0; - UpdateHostDisp(); + lbl_1_bss_6B2 = 0; + fn_1_1670(); } - CoasterPlayerManKill(); - while (coasterPlayerManObj) { + fn_1_87AC(); + while (lbl_1_bss_C) { HuPrcVSleep(); } BoardAudSeqPause(0, 0, 1000); @@ -1255,50 +1220,47 @@ static void CoasterExit(void) BoardStatusShowSetAll(1); } -static void CoasterWinCreate(void) -{ - float winSize[2]; - float winX; - float winY; +static void fn_1_4774(void) { + float sp8[2]; + float var_f31; + float var_f30; - HuWinMesMaxSizeGet(1, winSize, MAKE_MESSID(13, 5)); - winX = -10000.0f; - winY = 352.0f; - coasterWinId = HuWinCreate(winX, winY, winSize[0], winSize[1], 0); - HuWinBGTPLvlSet(coasterWinId, 0.0f); - HuWinMesSpeedSet(coasterWinId, 0); - HuWinMesSet(coasterWinId, MAKE_MESSID(13, 5)); + HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(13, 5)); + var_f31 = -10000.0f; + var_f30 = 352.0f; + lbl_1_data_580 = HuWinCreate(var_f31, var_f30, sp8[0], sp8[1], 0); + HuWinBGTPLvlSet(lbl_1_data_580, 0.0f); + HuWinMesSpeedSet(lbl_1_data_580, 0); + HuWinMesSet(lbl_1_data_580, MAKE_MESSID(13, 5)); } -static void CoasterWinKill(void) -{ - if (coasterWinId != -1) { - HuWinKill(coasterWinId); - coasterWinId = -1; +static void fn_1_4864(void) { + if (lbl_1_data_580 != -1) { + HuWinKill(lbl_1_data_580); + lbl_1_data_580 = -1; } } -static s32 CoasterHostExec(void) -{ - Vec startPos; - Vec endPos; - Vec dir; - float angle; - u32 mess; +static s32 fn_1_48B4(void) { + Vec sp20; + Vec sp14; + Vec sp8; + float var_f31; + u32 var_r31; s32 i; - s32 spaceEnd; - s32 spaceStart; + s32 temp_r28; + s32 temp_r30; - mess = 0; - coasterType = 0; - coasterLandF = 0; - coasterDoneF = 0; - eventPlayer = GWSystem.player_curr; - spaceStart = GWPlayer[eventPlayer].space_curr; - BoardPlayerMotionShiftSet(eventPlayer, 1, 0.0f, 14.0f, HU3D_MOTATTR_LOOP); + var_r31 = 0; + lbl_1_bss_6B0 = 0; + lbl_1_bss_6B1 = 0; + lbl_1_bss_6B2 = 0; + lbl_1_bss_6B4 = GWSystem.player_curr; + temp_r30 = GWPlayer[lbl_1_bss_6B4].space_curr; + BoardPlayerMotionShiftSet(lbl_1_bss_6B4, 1, 0.0f, 14.0f, 0x40000001); BoardWinCreateChoice(0, MAKE_MESSID(13, 0), -1, 0); - if (GWPlayer[eventPlayer].com) { - CoasterHostComKeySet(eventPlayer); + if (GWPlayer[lbl_1_bss_6B4].com) { + fn_1_9D00(lbl_1_bss_6B4); } BoardWinWait(); if (BoardWinChoiceGet() != 0) { @@ -1306,44 +1268,43 @@ static s32 CoasterHostExec(void) } BoardWinCreate(2, 0xD0006, 0); BoardWinWait(); - spaceEnd = BoardSpaceLinkFlagSearch(0, spaceStart, 0x02000000); - BoardSpacePosGet(0, spaceStart, &startPos); - BoardSpacePosGet(0, spaceEnd, &endPos); - VECSubtract(&endPos, &startPos, &dir); - VECNormalize(&dir, &dir); - angle = atan2d(-dir.x, -dir.z); - BoardPlayerRotSet(eventPlayer, 0.0f, angle, 0.0f); - BoardPlayerMoveBetween(eventPlayer, spaceStart, spaceEnd); - while (GWPlayer[eventPlayer].moving) { + temp_r28 = BoardSpaceLinkFlagSearch(0, temp_r30, 0x02000000); + BoardSpacePosGet(0, temp_r30, &sp20); + BoardSpacePosGet(0, temp_r28, &sp14); + PSVECSubtract(&sp14, &sp20, &sp8); + PSVECNormalize(&sp8, &sp8); + var_f31 = atan2d(-sp8.x, -sp8.z); + BoardPlayerRotSet(lbl_1_bss_6B4, 0.0f, var_f31, 0.0f); + BoardPlayerMoveBetween(lbl_1_bss_6B4, temp_r30, temp_r28); + while (GWPlayer[lbl_1_bss_6B4].moving) { HuPrcVSleep(); } - BoardPlayerIdleSet(eventPlayer); + BoardPlayerIdleSet(lbl_1_bss_6B4); while (TRUE) { BoardWinCreateChoice(1, MAKE_MESSID(13, 1), 0, 0); BoardWinAttrSet(0x10); - if (GWPlayer[eventPlayer].com) { - if (BoardPlayerCoinsGet(eventPlayer) >= 5) { + if (GWPlayer[lbl_1_bss_6B4].com) { + if (BoardPlayerCoinsGet(lbl_1_bss_6B4) >= 5) { BoardComKeySetUp(); - } - else { + } else { BoardComKeySetDown(); } } BoardWinWait(); if (BoardWinChoiceGet() == 1) { - mess = MAKE_MESSID(13, 3); + var_r31 = MAKE_MESSID(13, 3); break; } if (BoardWinChoiceGet() == 2) { - BoardViewMapExec(eventPlayer); + BoardViewMapExec(lbl_1_bss_6B4); continue; } - if (BoardPlayerCoinsGet(eventPlayer) < 5) { - mess = MAKE_MESSID(13, 4); + if (BoardPlayerCoinsGet(lbl_1_bss_6B4) < 5) { + var_r31 = MAKE_MESSID(13, 4); break; } for (i = 0; i < 5; i++) { - BoardPlayerCoinsAdd(eventPlayer, -1); + BoardPlayerCoinsAdd(lbl_1_bss_6B4, -1); HuAudFXPlay(0xE); HuPrcSleep(6); } @@ -1359,1317 +1320,1239 @@ static s32 CoasterHostExec(void) while (WipeStatGet() != 0) { HuPrcVSleep(); } - CoasterPlayerManCreate(); - return TRUE; + fn_1_852C(); + return 1; } - if (mess != 0) { - BoardWinCreate(1, mess, 0); + if (var_r31 != 0) { + BoardWinCreate(1, var_r31, 0); BoardWinWait(); BoardWinKill(); } - BoardCameraTargetPlayerSet(eventPlayer); - VECSubtract(&startPos, &endPos, &dir); - VECNormalize(&dir, &dir); - angle = atan2d(-dir.x, -dir.z); - BoardPlayerRotSet(eventPlayer, 0.0f, angle, 0.0f); - BoardPlayerMoveBetween(eventPlayer, spaceEnd, spaceStart); - while (GWPlayer[eventPlayer].moving) { + BoardCameraTargetPlayerSet(lbl_1_bss_6B4); + PSVECSubtract(&sp20, &sp14, &sp8); + PSVECNormalize(&sp8, &sp8); + var_f31 = atan2d(-sp8.x, -sp8.z); + BoardPlayerRotSet(lbl_1_bss_6B4, 0.0f, var_f31, 0.0f); + BoardPlayerMoveBetween(lbl_1_bss_6B4, temp_r28, temp_r30); + while (GWPlayer[lbl_1_bss_6B4].moving) { HuPrcVSleep(); } - return FALSE; + return 0; } -static void CoasterMain(void) -{ - if (CoasterHostExec() != 0) { - CoasterExec(); - CoasterExit(); +static void fn_1_4E14(void) { + if (fn_1_48B4() != 0) { + fn_1_3624(); + fn_1_45F4(); } HuPrcEnd(); } -static void CoasterDestroy(void) -{ +static void fn_1_4FA8(void) { BoardWinKill(); - coasterProc = NULL; + lbl_1_bss_8 = NULL; } -static void CoasterEvent(void) -{ - eventPlayer = GWSystem.player_curr; +static void fn_1_4FD8(void) { + lbl_1_bss_6B4 = GWSystem.player_curr; BoardRollDispSet(0); - if (BoardPlayerSizeGet(eventPlayer) == 2 || GWPlayer[eventPlayer].bowser_suit) { + if (BoardPlayerSizeGet(lbl_1_bss_6B4) == 2 || GWPlayer[lbl_1_bss_6B4].bowser_suit) { return; } - coasterProc = HuPrcChildCreate(CoasterMain, 0x2003, 0x2000, 0, boardMainProc); - HuPrcDestructorSet2(coasterProc, CoasterDestroy); - while (coasterProc) { + lbl_1_bss_8 = HuPrcChildCreate(fn_1_4E14, 0x2003, 0x2000, 0, boardMainProc); + HuPrcDestructorSet2(lbl_1_bss_8, fn_1_4FA8); + while (lbl_1_bss_8) { HuPrcVSleep(); } BoardRollDispSet(1); } -static void CoasterCoinCreate(void) -{ - Vec pos; - Vec posSpace; - Vec dir; - float radius; - float angle; - BoardSpace *space; - s32 side; - s32 newSide; - s32 coinNum; - s32 spaceId; +static void fn_1_50D4(void) { + Vec sp20; + Vec sp14; + Vec sp8; + float temp_f30; + float var_f31; + BoardSpace *temp_r31; + s32 var_r27; + s32 var_r26; + s32 var_r29; + s32 var_r28; s32 i; for (i = 0; i < 24; i++) { - coasterCoinMdlId[i] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 9), NULL, 0); - BoardModelVisibilitySet(coasterCoinMdlId[i], 0); - BoardModelMotionStart(coasterCoinMdlId[i], 0, HU3D_MOTATTR_LOOP); - coasterCoinF[i] = 0; + lbl_1_bss_5D0[i] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 9), NULL, 0); + BoardModelVisibilitySet(lbl_1_bss_5D0[i], 0); + BoardModelMotionStart(lbl_1_bss_5D0[i], 0, 0x40000001); + lbl_1_bss_600[i] = 0; } - radius = 180.0f; - spaceId = BoardSpaceFlagPosGet(1, 0x2000, &pos); - side = BoardRand() & 1; - coinNum = i = 0; + temp_f30 = 180.0f; + var_r28 = BoardSpaceFlagPosGet(1, 0x2000, &sp20); + var_r27 = BoardRand() & 1; + var_r29 = i = 0; while (i < 24) { - space = BoardSpaceGet(1, spaceId); - spaceId = space->link[0]; - if (spaceId == -1 || space->link_cnt == 0) { + temp_r31 = BoardSpaceGet(1, var_r28); + var_r28 = temp_r31->link[0]; + if (var_r28 == -1 || temp_r31->link_cnt == 0) { break; } - if (!(space->flag & 0x80)) { - posSpace = space->pos; - } - else { - if (coinNum >= 3) { + if (!(temp_r31->flag & 0x80)) { + sp14 = temp_r31->pos; + } else { + if (var_r29 >= 3) { if (BoardRandFloat() < 0.5f) { - newSide = 1; + var_r26 = 1; + } else { + var_r26 = 0; } - else { - newSide = 0; - } - side = newSide; - coinNum = 0; + var_r27 = var_r26; + var_r29 = 0; } - VECSubtract(&posSpace, &space->pos, &dir); - VECNormalize(&dir, &dir); - angle = atan2d(dir.z, dir.x); - if (side != 0) { - angle += 180.0f; + PSVECSubtract(&sp14, &temp_r31->pos, &sp8); + PSVECNormalize(&sp8, &sp8); + var_f31 = atan2d(sp8.z, sp8.x); + if (var_r27 != 0) { + var_f31 += 180.0f; } - pos.x = space->pos.x + radius * sind(angle); - pos.y = space->pos.y + 80.0f; - pos.z = space->pos.z + radius * cosd(angle); - BoardModelPosSetV(coasterCoinMdlId[i], &pos); - BoardModelVisibilitySet(coasterCoinMdlId[i], 1); - posSpace = space->pos; + sp20.x = temp_r31->pos.x + temp_f30 * sind(var_f31); + sp20.y = temp_r31->pos.y + 80.0f; + sp20.z = temp_r31->pos.z + temp_f30 * cosd(var_f31); + BoardModelPosSetV(lbl_1_bss_5D0[i], &sp20); + BoardModelVisibilitySet(lbl_1_bss_5D0[i], 1); + sp14 = temp_r31->pos; i++; - coinNum++; + var_r29++; } } } -static void CoasterCoinKill(void) -{ +static void fn_1_53B8(void) { s32 i; for (i = 0; i < 24; i++) { - if (coasterCoinMdlId[i] != -1) { - BoardModelKill(coasterCoinMdlId[i]); - coasterCoinMdlId[i] = -1; + if (lbl_1_bss_5D0[i] != -1) { + BoardModelKill(lbl_1_bss_5D0[i]); + lbl_1_bss_5D0[i] = -1; } } } -static s32 cupMoveSeNo = -1; -static s32 decaStompSeNo = -1; +static s32 lbl_1_data_5D4 = -1; +static s32 lbl_1_data_5D8 = -1; -static s16 cupMapObj[2][4] = { - { MAPOBJ_CUPR1, MAPOBJ_CUPR2, MAPOBJ_CUPR3, MAPOBJ_CUPR_ARROW }, - { MAPOBJ_CUPL1, MAPOBJ_CUPL2, MAPOBJ_CUPL3, MAPOBJ_CUPL_ARROW } +static s16 lbl_1_data_5DC[2][4] = { + { 24, 25, 26, 27 }, + { 29, 30, 31, 32 } }; -static char *cupHookTbl[] = { "chara1", "chara2", "chara3" }; +static char *lbl_1_data_604[] = { + "chara1", "chara2", "chara3" +}; -static float cupArrowRot[2][2] = { { 90.0f, 0.0f }, { 0.0f, 270.0f } }; +static float lbl_1_data_610[2][2] = { + { 90.0f, 0.0f }, + { 0.0f, 270.0f } +}; -static void CupInit(void) -{ - float rotY; - s16 mdlIdDish; - s16 mdlId; +static void fn_1_543C(void) { + float var_f31; + s16 temp_r28; + s16 temp_r29; s32 i; s32 j; - char *hookName[] = { "cup1", "cup2", "cup3", "ya1" }; - s32 dishMapObj[] = { MAPOBJ_CUPR_DISH, MAPOBJ_CUPL_DISH }; + char *sp10[] = { "cup1", "cup2", "cup3", "ya1" }; + s32 sp8[] = { 23, 28 }; for (i = 0; i < 2; i++) { - mdlIdDish = mapObjMdlId[dishMapObj[i]]; - BoardModelMotionStart(mdlIdDish, 0, HU3D_MOTATTR_LOOP); - BoardModelExistDupe(mdlIdDish, 0); + temp_r28 = lbl_1_bss_6C4[sp8[i]]; + BoardModelMotionStart(temp_r28, 0, 0x40000001); + BoardModelExistDupe(temp_r28, 0); for (j = 0; j < 4; j++) { - mdlId = mapObjMdlId[cupMapObj[i][j]]; - BoardModelExistDupe(mdlId, 1); - BoardModelHookSet(mdlIdDish, hookName[j], mdlId); - BoardModelMotionStart(mdlId, 0, HU3D_MOTATTR_LOOP); - BoardModelRotSet(mdlId, 0.0f, 360.0f * BoardRandFloat(), 0.0f); + temp_r29 = lbl_1_bss_6C4[lbl_1_data_5DC[i][j]]; + BoardModelExistDupe(temp_r29, 1); + BoardModelHookSet(temp_r28, sp10[j], temp_r29); + BoardModelMotionStart(temp_r29, 0, 0x40000001); + BoardModelRotSet(temp_r29, 0.0f, 360.0f * BoardRandFloat(), 0.0f); } } - if (boardWork->cupDir[0] != 0) { - rotY = 0.0f; + if (lbl_1_bss_0->unk01[0] != 0) { + var_f31 = 0.0f; + } else { + var_f31 = 90.0f; } - else { - rotY = 90.0f; + BoardModelRotSet(lbl_1_bss_6C4[27], 0.0f, var_f31, 0.0f); + if (lbl_1_bss_0->unk01[1] != 0) { + var_f31 = -90.0f; + } else { + var_f31 = 0.0f; } - BoardModelRotSet(mapObjMdlId[MAPOBJ_CUPR_ARROW], 0.0f, rotY, 0.0f); - if (boardWork->cupDir[1] != 0) { - rotY = -90.0f; - } - else { - rotY = 0.0f; - } - BoardModelRotSet(mapObjMdlId[MAPOBJ_CUPL_ARROW], 0.0f, rotY, 0.0f); + BoardModelRotSet(lbl_1_bss_6C4[32], 0.0f, var_f31, 0.0f); } -static void CupMotOnSet(s32 stopF) -{ - s16 dishMdlId; - s16 cupMdlId; +static void fn_1_5694(s32 arg0) { + s16 temp_r29; + s16 temp_r30; s16 i; - s32 dishMapObj[] = { MAPOBJ_CUPR_DISH, MAPOBJ_CUPL_DISH }; + s32 spC[] = { 23, 28 }; - dishMdlId = mapObjMdlId[dishMapObj[cupSide]]; - if (stopF != 0) { - BoardModelMotionSpeedSet(dishMdlId, 1.0f); - BoardModelAttrReset(dishMdlId, HU3D_MOTATTR_PAUSE); + temp_r29 = lbl_1_bss_6C4[spC[lbl_1_bss_29]]; + if (arg0 != 0) { + BoardModelMotionSpeedSet(temp_r29, 1.0f); + BoardModelAttrReset(temp_r29, 0x40000002); for (i = 0; i < 3; i++) { - cupMdlId = mapObjMdlId[cupMapObj[cupSide][i]]; - BoardModelMotionSpeedSet(cupMdlId, 1.0f); - BoardModelAttrReset(cupMdlId, HU3D_MOTATTR_PAUSE); + temp_r30 = lbl_1_bss_6C4[lbl_1_data_5DC[lbl_1_bss_29][i]]; + BoardModelMotionSpeedSet(temp_r30, 1.0f); + BoardModelAttrReset(temp_r30, 0x40000002); } - } - else { - BoardModelMotionSpeedSet(dishMdlId, 0.0f); - BoardModelAttrSet(dishMdlId, HU3D_MOTATTR_PAUSE); + } else { + BoardModelMotionSpeedSet(temp_r29, 0.0f); + BoardModelAttrSet(temp_r29, 0x40000002); for (i = 0; i < 3; i++) { - cupMdlId = mapObjMdlId[cupMapObj[cupSide][i]]; - BoardModelMotionSpeedSet(cupMdlId, 0.0f); - BoardModelAttrSet(cupMdlId, HU3D_MOTATTR_PAUSE); + temp_r30 = lbl_1_bss_6C4[lbl_1_data_5DC[lbl_1_bss_29][i]]; + BoardModelMotionSpeedSet(temp_r30, 0.0f); + BoardModelAttrSet(temp_r30, 0x40000002); } } } -static void CupEvent(s32 side, s32 spaceStart) -{ - cupSide = side; - cupSpaceStart = spaceStart; +static void fn_1_586C(s32 arg0, s32 arg1) { + lbl_1_bss_29 = arg0; + lbl_1_bss_26 = arg1; BoardRollDispSet(0); - cupProc = HuPrcChildCreate(CupMain, 0x2003, 0x2000, 0, boardMainProc); - HuPrcDestructorSet2(cupProc, CupDestroy); - while (cupProc) { + lbl_1_bss_14 = HuPrcChildCreate(fn_1_592C, 0x2003, 0x2000, 0, boardMainProc); + HuPrcDestructorSet2(lbl_1_bss_14, fn_1_5B2C); + while (lbl_1_bss_14) { HuPrcVSleep(); } BoardRollDispSet(1); } -static void CupMain(void) -{ - s16 dishMdlId; +static void fn_1_592C(void) { + s16 temp_r30; + s16 var_r28; - cupMoveSeNo = -1; - decaStompSeNo = -1; + lbl_1_data_5D4 = -1; + lbl_1_data_5D8 = -1; BoardPlayerIdleSet(GWSystem.player_curr); - if (cupSide == 0) { - dishMdlId = mapObjMdlId[MAPOBJ_CUPR_DISH]; + if (lbl_1_bss_29 == 0) { + var_r28 = lbl_1_bss_6C4[23]; + } else { + var_r28 = lbl_1_bss_6C4[28]; } - else { - dishMdlId = mapObjMdlId[MAPOBJ_CUPL_DISH]; - } - BoardCameraTargetModelSet(dishMdlId); + BoardCameraTargetModelSet(var_r28); BoardCameraOffsetSet(0.0f, 0.0f, 0.0f); - CupObjCreate(); - while (!CupObjCheck()) { + fn_1_5D08(); + while (!fn_1_5CD0()) { HuPrcVSleep(); } - CupExec(); - CupMotOnSet(1); + fn_1_5B40(); + fn_1_5694(1); BoardCameraTargetPlayerSet(GWSystem.player_curr); BoardCameraViewSet(1); BoardCameraMotionWait(); HuPrcEnd(); } -static void CupDestroy(void) -{ - cupProc = NULL; +static void fn_1_5B2C(void) { + lbl_1_bss_14 = NULL; } -static void CupExec(void) -{ - s16 cupArrowMapObj[] = { MAPOBJ_CUPR_ARROW, MAPOBJ_CUPL_ARROW }; - s16 cupArrowMdlId; - s32 cupDir; - float rotY; - float rotYNew; +static void fn_1_5B40(void) { + s16 spC[] = { 27, 32 }; + s16 temp_r30; + s32 temp_r31; + float sp8; + float temp_f31; - cupDir = boardWork->cupDir[cupSide]; - boardWork->cupDir[cupSide] ^= 1; - cupArrowMdlId = mapObjMdlId[cupArrowMapObj[cupSide]]; - rotY = cupArrowRot[cupSide][cupDir]; - rotYNew = cupArrowRot[cupSide][cupDir ^ 1]; + temp_r31 = lbl_1_bss_0->unk01[lbl_1_bss_29]; + lbl_1_bss_0->unk01[lbl_1_bss_29] ^= 1; + temp_r30 = lbl_1_bss_6C4[spC[lbl_1_bss_29]]; + sp8 = lbl_1_data_610[lbl_1_bss_29][temp_r31]; + temp_f31 = lbl_1_data_610[lbl_1_bss_29][temp_r31 ^ 1]; HuAudFXPlay(0x403); while (TRUE) { HuPrcVSleep(); - if (BoardDAngleCalcRange(&rotY, rotYNew, 3.0f) != 0) { + if (BoardDAngleCalcRange(&sp8, temp_f31, 3.0f) != 0) { break; } - BoardModelRotSet(cupArrowMdlId, 0.0f, rotY, 0.0f); + BoardModelRotSet(temp_r30, 0.0f, sp8, 0.0f); } } -static BOOL CupObjCheck(void) -{ - return cupObj ? FALSE : TRUE; +static BOOL fn_1_5CD0(void) { + return lbl_1_bss_18 ? FALSE : TRUE; } -static void CupObjCreate(void) -{ - CupObjWork *work; - float time; - float speed; - s16 dishMdlId; - s16 cupMdlId; +static void fn_1_5D08(void) { + Bss18Work *temp_r31; + float var_f30; + float var_f31; + s16 var_r28; + s16 var_r25; s32 i; - if (cupSide == 0) { - dishMdlId = mapObjMdlId[MAPOBJ_CUPR_DISH]; - } - else { - dishMdlId = mapObjMdlId[MAPOBJ_CUPL_DISH]; + if (lbl_1_bss_29 == 0) { + var_r28 = lbl_1_bss_6C4[23]; + } else { + var_r28 = lbl_1_bss_6C4[28]; } while (TRUE) { - time = BoardModelMotionTimeGet(dishMdlId); - if (time >= 209.0f && time <= 211.0f) { + var_f30 = BoardModelMotionTimeGet(var_r28); + if (var_f30 >= 209.0f && var_f30 <= 211.0f) { break; } - if (time >= 129.0f && time <= 131.0f) { + if (var_f30 >= 129.0f && var_f30 <= 131.0f) { break; } - if (time >= 49.0f && time <= 51.0f) { + if (var_f30 >= 49.0f && var_f30 <= 51.0f) { break; } HuPrcVSleep(); } - speed = 1.0f; - while (speed > 0.01f) { - speed *= 0.9f; - if (speed <= 0.01f) { - speed = 0.0f; + var_f31 = 1.0f; + while (var_f31 > 0.01f) { + var_f31 *= 0.9f; + if (var_f31 <= 0.01f) { + var_f31 = 0.0f; } - BoardModelMotionSpeedSet(dishMdlId, speed); + BoardModelMotionSpeedSet(var_r28, var_f31); for (i = 0; i < 3; i++) { - cupMdlId = mapObjMdlId[cupMapObj[cupSide][i]]; - BoardModelMotionSpeedSet(cupMdlId, speed); + var_r25 = lbl_1_bss_6C4[lbl_1_data_5DC[lbl_1_bss_29][i]]; + BoardModelMotionSpeedSet(var_r25, var_f31); } HuPrcVSleep(); } - CupMotOnSet(0); - cupObj = omAddObjEx(boardObjMan, 0x103, 0, 0, -1, CupObjMain); - work = OM_GET_WORK_PTR(cupObj, CupObjWork); - work->killF = 0; - work->time = 0; - work->delay = 0; - work->stopF = 0; - work->dishMdlId = dishMdlId; + fn_1_5694(0); + lbl_1_bss_18 = omAddObjEx(boardObjMan, 0x103, 0, 0, -1, fn_1_6098); + temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_18, Bss18Work); + temp_r31->unk00_field0 = 0; + temp_r31->unk01 = 0; + temp_r31->unk02 = 0; + temp_r31->unk00_field2 = 0; + temp_r31->unk04 = var_r28; if (BoardPlayerSizeGet(GWSystem.player_curr) == 2) { - work->decaF = TRUE; - } - else { - work->decaF = FALSE; + temp_r31->unk00_field3 = 1; + } else { + temp_r31->unk00_field3 = 0; } } -static void CupObjMain(omObjData *obj) -{ - CupObjWork *work = OM_GET_WORK_PTR(obj, CupObjWork); +static void fn_1_6098(omObjData *arg0) { + Bss18Work *temp_r31 = OM_GET_WORK_PTR(arg0, Bss18Work); + s32 temp_r0; - if (work->killF != 0 || BoardIsKill()) { - cupObj = NULL; - omDelObjEx(HuPrcCurrentGet(), obj); + if (temp_r31->unk00_field0 != 0 || BoardIsKill()) { + lbl_1_bss_18 = NULL; + omDelObjEx(HuPrcCurrentGet(), arg0); return; } - if (work->delay != 0) { - work->delay--; + if (temp_r31->unk02 != 0) { + temp_r31->unk02--; return; } - switch (work->mode) { + switch (temp_r31->unk00_field1) { case 0: - CupObjInit(work, obj); + fn_1_6194(temp_r31, arg0); break; case 2: - CupObjJumpWait(work, obj); + fn_1_63F0(temp_r31, arg0); break; case 3: - CupObjStop(work, obj); + fn_1_6BC0(temp_r31, arg0); break; case 1: - CupObjRotate(work, obj); + fn_1_6FB4(temp_r31, arg0); break; } } -static void CupObjInit(CupObjWork *work, omObjData *obj) -{ - Mtx objMtx; - Vec objPosPrev; - Vec playerPos; - Vec objRot; - Vec objPos; +static void fn_1_6194(Bss18Work *arg0, omObjData *arg1) { + Mtx sp38; + Vec sp2C; + Vec sp20; + Vec sp14; + Vec sp8; float temp_f31; float var_f30; s32 var_r28; s32 i; - BoardPlayerPosGet(GWSystem.player_curr, &playerPos); + BoardPlayerPosGet(GWSystem.player_curr, &sp20); var_f30 = 1000000.0f; for (i = 0; i < 3; i++) { - Hu3DModelObjPosGet(BoardModelIDGet(work->dishMdlId), cupHookTbl[i], &objPos); - temp_f31 = VECSquareDistance(&objPos, &playerPos); + Hu3DModelObjPosGet(BoardModelIDGet(arg0->unk04), lbl_1_data_604[i], &sp8); + temp_f31 = PSVECSquareDistance(&sp8, &sp20); if (temp_f31 < var_f30) { var_f30 = temp_f31; - cupHookNo = i; - objPosPrev = objPos; + lbl_1_bss_28 = i; + sp2C = sp8; } } - Hu3DModelObjMtxGet(BoardModelIDGet(work->dishMdlId), cupHookTbl[cupHookNo], objMtx); - Hu3DMtxRotGet(&objMtx, &objRot); - objRot.y = 180.0f; - VECSubtract(&objPosPrev, &playerPos, &objPos); - obj->trans.x = objPos.x / 25.0f; - obj->trans.z = objPos.z / 25.0f; + Hu3DModelObjMtxGet(BoardModelIDGet(arg0->unk04), lbl_1_data_604[lbl_1_bss_28], sp38); + Hu3DMtxRotGet(&sp38, &sp14); + sp14.y = 180.0f; + PSVECSubtract(&sp2C, &sp20, &sp8); + arg1->trans.x = sp8.x / 25.0f; + arg1->trans.z = sp8.z / 25.0f; var_r28 = BoardPlayerRotYGet(GWSystem.player_curr); - obj->trans.y = BoardDAngleCalc(objRot.y - var_r28) / 25.0f; - obj->scale.x = objPosPrev.x; - obj->scale.y = objPosPrev.y; - obj->scale.z = objPosPrev.z; - BoardPlayerMotionShiftSet(GWSystem.player_curr, 4, 15.0f, 5.0f, HU3D_MOTATTR_NONE); - work->mode = 2; - work->time = 0; + arg1->trans.y = BoardDAngleCalc(sp14.y - var_r28) / 25.0f; + arg1->scale.x = sp2C.x; + arg1->scale.y = sp2C.y; + arg1->scale.z = sp2C.z; + BoardPlayerMotionShiftSet(GWSystem.player_curr, 4, 15.0f, 5.0f, 0); + arg0->unk00_field1 = 2; + arg0->unk01 = 0; } -static void CupObjJumpWait(CupObjWork *work, omObjData *obj) -{ - Vec pos; - float time; - float rotY; - float scaleY; +static void fn_1_63F0(Bss18Work *arg0, omObjData *arg1) { + Vec sp10; + float temp_f29; + float var_f27; + float var_f28; s16 var_r24; - if (work->time >= 55) { + if (arg0->unk01 >= 55) { BoardPlayerRotSet(GWSystem.player_curr, 0.0f, 0.0f, 0.0f); BoardPlayerIdleSet(GWSystem.player_curr); if (GWPlayer[GWSystem.player_curr].bowser_suit) { - BoardModelHookSet(work->dishMdlId, cupHookTbl[cupHookNo], BoardBowserSuitModelGet()); + BoardModelHookSet(arg0->unk04, lbl_1_data_604[lbl_1_bss_28], BoardBowserSuitModelGet()); + } else { + BoardModelHookSet(arg0->unk04, lbl_1_data_604[lbl_1_bss_28], BoardPlayerModelGet(GWSystem.player_curr)); } - else { - BoardModelHookSet(work->dishMdlId, cupHookTbl[cupHookNo], BoardPlayerModelGet(GWSystem.player_curr)); - } - var_r24 = mapObjMdlId[cupMapObj[cupSide][cupHookNo]]; - if (work->decaF != 0) { + var_r24 = lbl_1_bss_6C4[lbl_1_data_5DC[lbl_1_bss_29][lbl_1_bss_28]]; + if (arg0->unk00_field3 != 0) { BoardModelScaleSet(var_r24, 1.0f, 0.1f, 1.0f); } - CupMotOnSet(1); - cupMoveSeNo = HuAudFXPlay(0x410); - work->time = 0; - work->mode = 1; + fn_1_5694(1); + lbl_1_data_5D4 = HuAudFXPlay(0x410); + arg0->unk01 = 0; + arg0->unk00_field1 = 1; return; } - if (work->time == 25) { - BoardPlayerPosSet(GWSystem.player_curr, obj->scale.x, obj->scale.y, obj->scale.z); - BoardPlayerMotionShiftSet(GWSystem.player_curr, 5, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + if (arg0->unk01 == 25) { + BoardPlayerPosSet(GWSystem.player_curr, arg1->scale.x, arg1->scale.y, arg1->scale.z); + BoardPlayerMotionShiftSet(GWSystem.player_curr, 5, 0.0f, 8.0f, 0); } - if (work->time < 25) { - OSu8tof32(&work->time, &time); - BoardPlayerPosGet(GWSystem.player_curr, &pos); - pos.x += obj->trans.x; - pos.z += obj->trans.z; - pos.y += 15.0f + -0.08166667f * time * time; - if (pos.y <= obj->scale.y) { - pos.y = obj->scale.y; + if (arg0->unk01 < 25) { + OSu8tof32(&arg0->unk01, &temp_f29); + BoardPlayerPosGet(GWSystem.player_curr, &sp10); + sp10.x += arg1->trans.x; + sp10.z += arg1->trans.z; + sp10.y += 15.0f + -0.08166667f * temp_f29 * temp_f29; + if (sp10.y <= arg1->scale.y) { + sp10.y = arg1->scale.y; } - rotY = obj->trans.y + BoardPlayerRotYGet(GWSystem.player_curr); - BoardPlayerRotYSet(GWSystem.player_curr, rotY); - BoardPlayerPosSetV(GWSystem.player_curr, &pos); - if (work->time > 12 && work->decaF != 0) { - if (decaStompSeNo == -1) { - decaStompSeNo = HuAudFXPlay(0x411); + var_f27 = arg1->trans.y + BoardPlayerRotYGet(GWSystem.player_curr); + BoardPlayerRotYSet(GWSystem.player_curr, var_f27); + BoardPlayerPosSetV(GWSystem.player_curr, &sp10); + if (arg0->unk01 > 12 && arg0->unk00_field3 != 0) { + if (lbl_1_data_5D8 == -1) { + lbl_1_data_5D8 = HuAudFXPlay(0x411); } - OSu8tof32(&work->time, &time); - time -= 12.0f; - time = 90.0f * (time / 12.5f); - scaleY = cosd(time); - if (scaleY < 0.1f) { - scaleY = 0.1f; + OSu8tof32(&arg0->unk01, &temp_f29); + temp_f29 -= 12.0f; + temp_f29 = 90.0f * (temp_f29 / 12.5f); + var_f28 = cosd(temp_f29); + if (var_f28 < 0.1f) { + var_f28 = 0.1f; } - var_r24 = mapObjMdlId[cupMapObj[cupSide][cupHookNo]]; - BoardModelScaleSet(var_r24, 1.0f, scaleY, 1.0f); + var_r24 = lbl_1_bss_6C4[lbl_1_data_5DC[lbl_1_bss_29][lbl_1_bss_28]]; + BoardModelScaleSet(var_r24, 1.0f, var_f28, 1.0f); } } - work->time++; + arg0->unk01++; } -static void CupObjHookReset(CupObjWork *work, omObjData *obj) -{ - Vec endPos; - Vec startPos; - Vec diff; +static void fn_1_6A14(Bss18Work *arg0, omObjData *arg1) { + Vec sp20; + Vec sp14; + Vec sp8; - BoardModelHookObjReset(work->dishMdlId, cupHookTbl[cupHookNo]); - Hu3DModelObjPosGet(BoardModelIDGet(work->dishMdlId), cupHookTbl[cupHookNo], &startPos); - BoardPlayerPosSetV(GWSystem.player_curr, &startPos); - BoardSpacePosGet(0, cupSpaceEnd, &endPos); - VECSubtract(&endPos, &startPos, &diff); - obj->trans.x = diff.x / 25.0f; - obj->trans.z = diff.z / 25.0f; - obj->scale.x = endPos.x; - obj->scale.y = endPos.y; - obj->scale.z = endPos.z; - BoardPlayerMotionShiftSet(GWSystem.player_curr, 4, 15.0f, 5.0f, HU3D_MOTATTR_NONE); - BoardPlayerRotYSet(GWSystem.player_curr, atan2d(diff.x, diff.z)); - work->mode = 3; - work->time = 0; + BoardModelHookObjReset(arg0->unk04, lbl_1_data_604[lbl_1_bss_28]); + Hu3DModelObjPosGet(BoardModelIDGet(arg0->unk04), lbl_1_data_604[lbl_1_bss_28], &sp14); + BoardPlayerPosSetV(GWSystem.player_curr, &sp14); + BoardSpacePosGet(0, lbl_1_bss_24, &sp20); + PSVECSubtract(&sp20, &sp14, &sp8); + arg1->trans.x = sp8.x / 25.0f; + arg1->trans.z = sp8.z / 25.0f; + arg1->scale.x = sp20.x; + arg1->scale.y = sp20.y; + arg1->scale.z = sp20.z; + BoardPlayerMotionShiftSet(GWSystem.player_curr, 4, 15.0f, 5.0f, 0); + BoardPlayerRotYSet(GWSystem.player_curr, atan2d(sp8.x, sp8.z)); + arg0->unk00_field1 = 3; + arg0->unk01 = 0; } -static void CupObjStop(CupObjWork *work, omObjData *obj) -{ - Vec pos; - Vec spacePos; - float angle; - float time; - s16 mdlId; +static void fn_1_6BC0(Bss18Work *arg0, omObjData *arg1) { + Vec sp14; + Vec sp8; + float var_f28; + float temp_f29; + s16 var_r27; - if (work->time >= 55) { - BoardSpacePosGet(0, cupSpaceEnd, &spacePos); - GWPlayer[GWSystem.player_curr].space_curr = cupSpaceEnd; - BoardPlayerPosSetV(GWSystem.player_curr, &spacePos); + if (arg0->unk01 >= 55) { + BoardSpacePosGet(0, lbl_1_bss_24, &sp8); + GWPlayer[GWSystem.player_curr].space_curr = lbl_1_bss_24; + BoardPlayerPosSetV(GWSystem.player_curr, &sp8); BoardPlayerIdleSet(GWSystem.player_curr); - mdlId = mapObjMdlId[cupMapObj[cupSide][cupHookNo]]; - if (work->decaF != 0) { - BoardModelScaleSet(mdlId, 1.0f, 1.0f, 1.0f); + var_r27 = lbl_1_bss_6C4[lbl_1_data_5DC[lbl_1_bss_29][lbl_1_bss_28]]; + if (arg0->unk00_field3 != 0) { + BoardModelScaleSet(var_r27, 1.0f, 1.0f, 1.0f); } - work->killF = 1; + arg0->unk00_field0 = 1; } - if (work->time == 25) { - BoardPlayerPosSet(GWSystem.player_curr, obj->scale.x, obj->scale.y, obj->scale.z); - BoardPlayerMotionShiftSet(GWSystem.player_curr, 5, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + if (arg0->unk01 == 25) { + BoardPlayerPosSet(GWSystem.player_curr, arg1->scale.x, arg1->scale.y, arg1->scale.z); + BoardPlayerMotionShiftSet(GWSystem.player_curr, 5, 0.0f, 8.0f, 0); } - if (work->time < 25) { - OSu8tof32(&work->time, &time); - BoardPlayerPosGet(GWSystem.player_curr, &pos); - pos.x += obj->trans.x; - pos.z += obj->trans.z; - pos.y += 15.0f + -0.08166667f * time * time; - if (pos.y <= obj->scale.y) { - pos.y = obj->scale.y; + if (arg0->unk01 < 25) { + OSu8tof32(&arg0->unk01, &temp_f29); + BoardPlayerPosGet(GWSystem.player_curr, &sp14); + sp14.x += arg1->trans.x; + sp14.z += arg1->trans.z; + sp14.y += 15.0f + -0.08166667f * temp_f29 * temp_f29; + if (sp14.y <= arg1->scale.y) { + sp14.y = arg1->scale.y; } - BoardPlayerPosSetV(GWSystem.player_curr, &pos); - if (work->time > 12 && work->decaF != 0) { - OSu8tof32(&work->time, &time); - time -= 12.0f; - time = 90.0f * (time / 12.5f); - angle = sind(time); - if (angle < 0.1f) { - angle = 0.1f; + BoardPlayerPosSetV(GWSystem.player_curr, &sp14); + if (arg0->unk01 > 12 && arg0->unk00_field3 != 0) { + OSu8tof32(&arg0->unk01, &temp_f29); + temp_f29 -= 12.0f; + temp_f29 = 90.0f * (temp_f29 / 12.5f); + var_f28 = sind(temp_f29); + if (var_f28 < 0.1f) { + var_f28 = 0.1f; } - mdlId = mapObjMdlId[cupMapObj[cupSide][cupHookNo]]; - BoardModelScaleSet(mdlId, 1.0f, angle, 1.0f); + var_r27 = lbl_1_bss_6C4[lbl_1_data_5DC[lbl_1_bss_29][lbl_1_bss_28]]; + BoardModelScaleSet(var_r27, 1.0f, var_f28, 1.0f); } } - work->time++; + arg0->unk01++; } -static void CupObjRotate(CupObjWork *work, omObjData *obj) -{ - Vec spacePos; - Vec objPos; - - float dist; - BoardSpace *space; - s16 mdlId; - u32 flag; - s32 cupDir; +static void fn_1_6FB4(Bss18Work *arg0, omObjData *arg1) { + Vec sp40; + Vec sp34; + Vec sp28; + Vec sp1C; + Vec sp10; + float var_f31; + BoardSpace *temp_r29; + s16 var_r22; + u32 temp_r3; + s32 var_r24; s32 i; - if (work->stopF != 0) { - work->dishSpeed *= 0.9f; - if (work->dishSpeed <= 0.01f) { - work->dishSpeed = 0.0f; - CupMotOnSet(0); - if (cupMoveSeNo != -1) { - HuAudFXStop(cupMoveSeNo); - cupMoveSeNo = -1; + if (arg0->unk00_field2 != 0) { + arg0->unk08 *= 0.9f; + if (arg0->unk08 <= 0.01f) { + arg0->unk08 = 0.0f; + fn_1_5694(0); + if (lbl_1_data_5D4 != -1) { + HuAudFXStop(lbl_1_data_5D4); + lbl_1_data_5D4 = -1; } - CupObjHookReset(work, obj); + fn_1_6A14(arg0, arg1); } - BoardModelMotionSpeedSet(work->dishMdlId, work->dishSpeed); + BoardModelMotionSpeedSet(arg0->unk04, arg0->unk08); for (i = 0; i < 3; i++) { - mdlId = mapObjMdlId[cupMapObj[cupSide][i]]; - BoardModelMotionSpeedSet(mdlId, work->dishSpeed); + var_r22 = lbl_1_bss_6C4[lbl_1_data_5DC[lbl_1_bss_29][i]]; + BoardModelMotionSpeedSet(var_r22, arg0->unk08); } return; } - if (cupSide == 0) { - cupDir = boardWork->cupDir[cupSide] ^ 1; + if (lbl_1_bss_29 == 0) { + var_r24 = lbl_1_bss_0->unk01[lbl_1_bss_29] ^ 1; + } else { + var_r24 = lbl_1_bss_0->unk01[lbl_1_bss_29]; } - else { - cupDir = boardWork->cupDir[cupSide]; - } - space = BoardSpaceGet(0, cupSpaceStart); - cupSpaceEnd = -1; - for (i = 0; i < space->link_cnt; i++) { - if (space->link[i] != -1) { - flag = BoardSpaceFlagGet(0, space->link[i]); - if ((flag & 0x200) && cupDir == 0) { - cupSpaceEnd = space->link[i]; + temp_r29 = BoardSpaceGet(0, lbl_1_bss_26); + lbl_1_bss_24 = -1; + for (i = 0; i < temp_r29->link_cnt; i++) { + if (temp_r29->link[i] != -1) { + temp_r3 = BoardSpaceFlagGet(0, temp_r29->link[i]); + if ((temp_r3 & 0x200) && var_r24 == 0) { + lbl_1_bss_24 = temp_r29->link[i]; } - if ((flag & 0x100) && cupDir != 0) { - cupSpaceEnd = space->link[i]; + if ((temp_r3 & 0x100) && var_r24 != 0) { + lbl_1_bss_24 = temp_r29->link[i]; } } } - BoardSpacePosGet(0, cupSpaceEnd, &spacePos); - Hu3DModelObjPosGet(BoardModelIDGet(work->dishMdlId), cupHookTbl[cupHookNo], &objPos); - dist = BoardVecDistXZCalc(&spacePos, &objPos); - if (dist <= 300.0f) { - work->stopF = TRUE; - work->dishSpeed = 1.0f; + BoardSpacePosGet(0, lbl_1_bss_24, &sp40); + Hu3DModelObjPosGet(BoardModelIDGet(arg0->unk04), lbl_1_data_604[lbl_1_bss_28], &sp34); + var_f31 = BoardVecDistXZCalc(&sp40, &sp34); + if (var_f31 <= 300.0f) { + arg0->unk00_field2 = 1; + arg0->unk08 = 1.0f; } } -static void CupLandEvent(s32 playerNo, s32 spaceId) -{ - Vec spacePos; - Vec cupRPos; - Vec cupLPos; - float cupRDist; - float cupLDist; - s16 sp14[] = { MAPOBJ_CUPR_DISH, MAPOBJ_CUPL_DISH }; +static void fn_1_7528(s32 arg0, s32 arg1) { + Vec sp30; + Vec sp24; + Vec sp18; + float temp_f31; + float temp_f30; + s16 sp14[] = { 23, 28 }; BoardPlayerIdleSet(GWSystem.player_curr); - BoardSpacePosGet(0, spaceId, &spacePos); - BoardModelPosGet(mapObjMdlId[MAPOBJ_CUPR_DISH], &cupRPos); - BoardModelPosGet(mapObjMdlId[MAPOBJ_CUPL_DISH], &cupLPos); - cupRDist = VECDistance(&cupRPos, &spacePos); - cupLDist = VECDistance(&cupLPos, &spacePos); - if (cupRDist < cupLDist) { - cupSide = 0; + BoardSpacePosGet(0, arg1, &sp30); + BoardModelPosGet(lbl_1_bss_6C4[23], &sp24); + BoardModelPosGet(lbl_1_bss_6C4[28], &sp18); + temp_f31 = PSVECDistance(&sp24, &sp30); + temp_f30 = PSVECDistance(&sp18, &sp30); + if (temp_f31 < temp_f30) { + lbl_1_bss_29 = 0; + } else { + lbl_1_bss_29 = 1; } - else { - cupSide = 1; - } - BoardCameraTargetModelSet(mapObjMdlId[sp14[cupSide]]); + BoardCameraTargetModelSet(lbl_1_bss_6C4[sp14[lbl_1_bss_29]]); BoardCameraMotionWait(); HuPrcSleep(42); - CupExec(); + fn_1_5B40(); BoardCameraTargetPlayerSet(GWSystem.player_curr); BoardCameraMotionWait(); HuPrcSleep(12); } -static void CoasterLandEvent(s32 playerNo, s32 spaceId) -{ - eventPlayer = playerNo; - coasterType = 0; - coasterProc = HuPrcChildCreate(CoasterLandMain, 0x2003, 0x2000, 0, boardMainProc); - HuPrcDestructorSet2(coasterProc, CoasterDestroy); - while (coasterProc) { +static void fn_1_77EC(s32 arg0, s32 arg1) { + lbl_1_bss_6B4 = arg0; + lbl_1_bss_6B0 = 0; + lbl_1_bss_8 = HuPrcChildCreate(fn_1_7894, 0x2003, 0x2000, 0, boardMainProc); + HuPrcDestructorSet2(lbl_1_bss_8, fn_1_4FA8); + while (lbl_1_bss_8) { HuPrcVSleep(); } } -static void CoasterLandMain(void) -{ - coasterLandF = 1; +static void fn_1_7894(void) { + lbl_1_bss_6B1 = 1; WipeColorSet(0, 0, 0); WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 21); while (WipeStatGet() != 0) { HuPrcVSleep(); } - CoasterLandExec(); - CoasterExit(); + fn_1_7A64(); + fn_1_45F4(); HuPrcEnd(); } -static void CoasterLandExec(void) -{ - Vec spacePos; - float motSpeed; - s16 spaceId; - s32 seNo; - s32 endF; +static void fn_1_7A64(void) { + Vec sp34; + Vec sp28; + Vec sp1C; + Vec sp10; + float var_f30; + s16 var_r20; + s32 temp_r19; + s32 var_r28; - endF = 0; - coasterAccel = coasterSpeed = 0.18f; - coasterTime = 0.0f; - coasterRot.x = 0.0f; - coasterRot.y = 0.0f; - coasterRot.z = 0.0f; + var_r28 = 0; + lbl_1_bss_674 = lbl_1_bss_670 = 0.18f; + lbl_1_bss_640 = 0.0f; + lbl_1_bss_660.x = 0.0f; + lbl_1_bss_660.y = 0.0f; + lbl_1_bss_660.z = 0.0f; lbl_1_bss_6A8 = 0.0f; - coasterLoopF = 0; - coasterCameraUp.x = 0.0f; - coasterCameraUp.z = 0.0f; - coasterCameraUp.y = 1.0f; - coasterCamSpeed = 0.04f; + lbl_1_bss_6B3 = 0; + lbl_1_bss_624.x = 0.0f; + lbl_1_bss_624.z = 0.0f; + lbl_1_bss_624.y = 1.0f; + lbl_1_bss_66C = 0.04f; BoardSpaceAttrSet(0, 1); - CoasterEffCreate(); - BoardModelMotionStart(coasterPathMdlId, 0, 0); - if (boardWork->hostSide == 0) { - BoardModelMotionTimeSet(coasterPathMdlId, coasterMaxTime); - coasterBaseRotY = -90.0f; - coasterStartSpace = BoardSpaceFlagPosGet(1, 0x2000, &spacePos); - spaceId = BoardSpaceFlagSearch(1, 0x1000); + fn_1_97F4(); + BoardModelMotionStart(lbl_1_bss_6AE, 0, 0); + if (lbl_1_bss_0->unk00_field0 == 0) { + BoardModelMotionTimeSet(lbl_1_bss_6AE, lbl_1_bss_644); + lbl_1_bss_63C = -90.0f; + lbl_1_bss_6AC = BoardSpaceFlagPosGet(1, 0x2000, &sp34); + var_r20 = BoardSpaceFlagSearch(1, 0x1000); + } else { + BoardModelMotionTimeSet(lbl_1_bss_6AE, 0.0f); + lbl_1_bss_63C = 90.0f; + lbl_1_bss_6AC = BoardSpaceFlagPosGet(1, 0x1000, &sp34); + var_r20 = BoardSpaceFlagSearch(1, 0x2000); } - else { - BoardModelMotionTimeSet(coasterPathMdlId, 0.0f); - coasterBaseRotY = 90.0f; - coasterStartSpace = BoardSpaceFlagPosGet(1, 0x1000, &spacePos); - spaceId = BoardSpaceFlagSearch(1, 0x2000); - } - coasterPos = spacePos; - BoardCameraMotionStartEx(mapObjMdlId[MAPOBJ_COASTER], NULL, NULL, 2400.0f, -1.0f, 2); - MTXRotRad(coasterMtx, 'y', MTXDegToRad(coasterBaseRotY)); - BoardModelMtxSet(mapObjMdlId[MAPOBJ_COASTER], &coasterMtx); - BoardModelRotSet(mapObjMdlId[MAPOBJ_COASTER], 0.0f, 0.0f, 0.0f); - CoasterPathMotUpdate(); - coasterPosOld = coasterPos; - coasterCameraTarget = coasterPos; - coasterCameraPos = coasterPos; - CoasterPlayerManCreate(); - BoardModelMotionSpeedSet(coasterPathMdlId, coasterSpeed); + lbl_1_bss_654 = sp34; + BoardCameraMotionStartEx(lbl_1_bss_6C4[0], NULL, NULL, 2400.0f, -1.0f, 2); + PSMTXRotRad(lbl_1_bss_678, 'y', MTXDegToRad(lbl_1_bss_63C)); + BoardModelMtxSet(lbl_1_bss_6C4[0], &lbl_1_bss_678); + BoardModelRotSet(lbl_1_bss_6C4[0], 0.0f, 0.0f, 0.0f); + fn_1_3350(); + lbl_1_bss_648 = lbl_1_bss_654; + lbl_1_bss_618 = lbl_1_bss_654; + lbl_1_bss_630 = lbl_1_bss_654; + fn_1_852C(); + BoardModelMotionSpeedSet(lbl_1_bss_6AE, lbl_1_bss_670); BoardCameraMotionWait(); WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - coasterType = 1; - seNo = HuAudFXPlay(0x412); + lbl_1_bss_6B0 = 1; + temp_r19 = HuAudFXPlay(0x412); while (TRUE) { - CoasterPathUpdate(); - CoasterPathMotUpdate(); - CoasterRotUpdate(); - BoardModelPosSetV(mapObjMdlId[MAPOBJ_COASTER], &coasterPos); - BoardModelMtxSet(mapObjMdlId[MAPOBJ_COASTER], &coasterMtx); - if (boardWork->hostSide == 0) { - motSpeed = -coasterSpeed; + fn_1_1990(); + fn_1_3350(); + fn_1_276C(); + BoardModelPosSetV(lbl_1_bss_6C4[0], &lbl_1_bss_654); + BoardModelMtxSet(lbl_1_bss_6C4[0], &lbl_1_bss_678); + if (lbl_1_bss_0->unk00_field0 == 0) { + var_f30 = -lbl_1_bss_670; + } else { + var_f30 = lbl_1_bss_670; } - else { - motSpeed = coasterSpeed; - } - BoardModelMotionSpeedSet(coasterPathMdlId, motSpeed); - if (boardWork->hostSide == 0) { - if (BoardModelMotionTimeGet(coasterPathMdlId) <= 20.0f && endF == 0) { + BoardModelMotionSpeedSet(lbl_1_bss_6AE, var_f30); + if (lbl_1_bss_0->unk00_field0 == 0) { + if (BoardModelMotionTimeGet(lbl_1_bss_6AE) <= 20.0f && var_r28 == 0) { WipeColorSet(0, 0, 0); WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - endF = 1; + var_r28 = 1; } - } - else { - if (BoardModelMotionTimeGet(coasterPathMdlId) >= coasterMaxTime - 20.0f && endF == 0) { + } else { + if (BoardModelMotionTimeGet(lbl_1_bss_6AE) >= lbl_1_bss_644 - 20.0f && var_r28 == 0) { WipeColorSet(0, 0, 0); WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - endF = 1; + var_r28 = 1; } } - if (endF != 0 && WipeStatGet() == 0) { + if (var_r28 != 0 && WipeStatGet() == 0) { break; } HuPrcVSleep(); } - HuAudFXStop(seNo); - CoasterEffKill(); - CoasterPlayerManKill(); - while (coasterPlayerManObj) { + HuAudFXStop(temp_r19); + fn_1_98EC(); + fn_1_87AC(); + while (lbl_1_bss_C) { HuPrcVSleep(); } - MTXIdentity(coasterMtx); - BoardModelMtxSet(mapObjMdlId[MAPOBJ_COASTER], &coasterMtx); - coasterRot.x = 0.0f; - coasterRot.z = 0.0f; - coasterRot.y = -coasterBaseRotY; - BoardModelRotSetV(mapObjMdlId[MAPOBJ_COASTER], &coasterRot); - BoardSpacePosGet(1, spaceId, &spacePos); - BoardModelPosSetV(mapObjMdlId[MAPOBJ_COASTER], &spacePos); + PSMTXIdentity(lbl_1_bss_678); + BoardModelMtxSet(lbl_1_bss_6C4[0], &lbl_1_bss_678); + lbl_1_bss_660.x = 0.0f; + lbl_1_bss_660.z = 0.0f; + lbl_1_bss_660.y = -lbl_1_bss_63C; + BoardModelRotSetV(lbl_1_bss_6C4[0], &lbl_1_bss_660); + BoardSpacePosGet(1, var_r20, &sp34); + BoardModelPosSetV(lbl_1_bss_6C4[0], &sp34); BoardSpaceAttrReset(0, 1); BoardCameraMoveSet(0); - BoardCameraTargetPlayerSet(eventPlayer); + BoardCameraTargetPlayerSet(lbl_1_bss_6B4); BoardCameraViewSet(1); BoardCameraMotionWait(); - coasterDoneF = 1; + lbl_1_bss_6B2 = 1; } -static s8 coasterChasePlayer = -1; +static s8 lbl_1_data_633 = -1; -static void CoasterPlayerManCreate(void) -{ - CoasterPlayerManWork *work; - CoasterPlayerWork *workPlayer; - Vec playerPos; - float motTime; - s16 charNo; - s16 spaceId; +static void fn_1_852C(void) { + BssCWork *temp_r30; + BssCData *temp_r31; + Vec spC; + float temp_f31; + s16 sp8; + s16 var_r28; s16 i; - u32 spaceFlag; + u32 var_r27; - coasterPlayerManObj = omAddObjEx(boardObjMan, 0x103, 0, 0, -1, CoasterPlayerManUpdate); - work = OM_GET_WORK_PTR(coasterPlayerManObj, CoasterPlayerManWork); - work->killF = 0; - work->player = HuMemDirectMallocNum(HEAP_SYSTEM, 4 * sizeof(CoasterPlayerWork), MEMORY_DEFAULT_NUM); - memset(work->player, 0, 4 * sizeof(CoasterPlayerWork)); - coasterChasePlayer = -1; - coasterPlayerChaseNum = 0; - for (work->playerNum = i = 0; i < 4; i++) { - workPlayer = &work->player[work->playerNum]; - spaceId = GWPlayer[i].space_curr; - charNo = GWPlayer[i].character; - spaceFlag = BoardSpaceFlagGet(0, spaceId); - if (!(spaceFlag & 1)) { - workPlayer->mode = -1; + lbl_1_bss_C = omAddObjEx(boardObjMan, 0x103, 0, 0, -1, fn_1_87E0); + temp_r30 = OM_GET_WORK_PTR(lbl_1_bss_C, BssCWork); + temp_r30->unk00_field0 = 0; + temp_r30->unk04 = HuMemDirectMallocNum(HEAP_SYSTEM, 4 * sizeof(BssCData), MEMORY_DEFAULT_NUM); + memset(temp_r30->unk04, 0, 4 * sizeof(BssCData)); + lbl_1_data_633 = -1; + lbl_1_bss_1C = 0; + for (temp_r30->unk01 = i = 0; i < 4; i++) { + temp_r31 = &temp_r30->unk04[temp_r30->unk01]; + var_r28 = GWPlayer[i].space_curr; + sp8 = GWPlayer[i].character; + var_r27 = BoardSpaceFlagGet(0, var_r28); + if (!(var_r27 & 1)) { + temp_r31->unk00 = -1; continue; } - workPlayer->mode = 0; - workPlayer->playerNo = i; - workPlayer->delay = 0; - BoardPlayerPosGet(workPlayer->playerNo, &playerPos); - workPlayer->pathMdlId = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W01, 10), NULL, 0); - motTime = BoardModelMotionMaxTimeGet(workPlayer->pathMdlId); - BoardModelVisibilitySet(workPlayer->pathMdlId, 0); - CoasterPlayerTimeInit(workPlayer); - BoardModelMotionStart(workPlayer->pathMdlId, 0, 0); - BoardModelMotionSpeedSet(workPlayer->pathMdlId, 0.0f); - if (boardWork->hostSide == 0) { - workPlayer->speed = -0.18f; - BoardModelMotionTimeSet(workPlayer->pathMdlId, motTime); + temp_r31->unk00 = 0; + temp_r31->unk01 = i; + temp_r31->unk02 = 0; + BoardPlayerPosGet(temp_r31->unk01, &spC); + temp_r31->unk04 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W01, 10), NULL, 0); + temp_f31 = BoardModelMotionMaxTimeGet(temp_r31->unk04); + BoardModelVisibilitySet(temp_r31->unk04, 0); + fn_1_95F4(temp_r31); + BoardModelMotionStart(temp_r31->unk04, 0, 0); + BoardModelMotionSpeedSet(temp_r31->unk04, 0.0f); + if (lbl_1_bss_0->unk00_field0 == 0) { + temp_r31->unk08 = -0.18f; + BoardModelMotionTimeSet(temp_r31->unk04, temp_f31); + } else { + temp_r31->unk08 = 0.18f; + BoardModelMotionTimeSet(temp_r31->unk04, 0.0f); } - else { - workPlayer->speed = 0.18f; - BoardModelMotionTimeSet(workPlayer->pathMdlId, 0.0f); - } - CoasterPlayerEndSet(workPlayer); - work->playerNum++; + fn_1_932C(temp_r31); + temp_r30->unk01++; } BoardCameraMoveSet(1); - BoardCameraTargetModelSet(mapObjMdlId[MAPOBJ_COASTER]); + BoardCameraTargetModelSet(lbl_1_bss_6C4[0]); } -static void CoasterPlayerManKill(void) -{ - if (coasterPlayerManObj) { - OM_GET_WORK_PTR(coasterPlayerManObj, CoasterPlayerManWork)->killF = 1; +static void fn_1_87AC(void) { + if (lbl_1_bss_C) { + OM_GET_WORK_PTR(lbl_1_bss_C, BssCWork)->unk00_field0 = 1; } } -static void CoasterPlayerManUpdate(omObjData *obj) -{ - CoasterPlayerManWork *work = OM_GET_WORK_PTR(obj, CoasterPlayerManWork); - CoasterPlayerWork *workPlayer; +static void fn_1_87E0(omObjData *arg0) { + BssCWork *temp_r30 = OM_GET_WORK_PTR(arg0, BssCWork); + BssCData *temp_r31; s32 i; - if (work->killF != 0 || BoardIsKill()) { - for (i = 0; i < work->playerNum; i++) { - workPlayer = &work->player[i]; + if (temp_r30->unk00_field0 != 0 || BoardIsKill()) { + for (i = 0; i < temp_r30->unk01; i++) { + temp_r31 = &temp_r30->unk04[i]; } - HuMemDirectFree(work->player); - coasterPlayerManObj = NULL; - omDelObjEx(HuPrcCurrentGet(), obj); + HuMemDirectFree(temp_r30->unk04); + lbl_1_bss_C = NULL; + omDelObjEx(HuPrcCurrentGet(), arg0); return; } - if (coasterType == 0) { + if (lbl_1_bss_6B0 == 0) { return; } - for (i = 0; i < work->playerNum; i++) { - workPlayer = &work->player[i]; - if (workPlayer->delay != 0) { - workPlayer->delay--; - } - else { - switch (workPlayer->mode) { + for (i = 0; i < temp_r30->unk01; i++) { + temp_r31 = &temp_r30->unk04[i]; + if (temp_r31->unk02 != 0) { + temp_r31->unk02--; + } else { + switch (temp_r31->unk00) { case 0: - CoasterPlayerWait(workPlayer, obj); + fn_1_8988(temp_r31, arg0); break; case 1: - CoasterPlayerChaseBegin(workPlayer, obj); + fn_1_8A50(temp_r31, arg0); break; case 2: - CoasterPlayerChasePathSet(workPlayer, obj); + fn_1_8B6C(temp_r31, arg0); break; case 3: - CoasterPlayerChase(workPlayer, obj); + fn_1_8DDC(temp_r31, arg0); break; case 4: - CoasterPlayerStop(workPlayer, obj); + fn_1_918C(temp_r31, arg0); break; case 5: - CoasterPlayerEnd(workPlayer, obj); + fn_1_927C(temp_r31, arg0); break; } } } } -static void CoasterPlayerWait(CoasterPlayerWork *work, omObjData *obj) -{ - Vec mdlCoasterPos; - Vec playerPos; - Vec dir; +static void fn_1_8988(BssCData *arg0, omObjData *arg1) { + Vec sp20; + Vec sp14; + Vec sp8; - if (work->time - coasterTime > 900.0f) { + if (arg0->unk10 - lbl_1_bss_640 > 900.0f) { return; } - BoardModelPosGet(mapObjMdlId[MAPOBJ_COASTER], &mdlCoasterPos); - BoardPlayerPosGet(work->playerNo, &playerPos); - VECSubtract(&mdlCoasterPos, &playerPos, &dir); - BoardPlayerRotYSet(work->playerNo, atan2d(dir.x, dir.z)); - work->mode = 1; + BoardModelPosGet(*lbl_1_bss_6C4, &sp20); + BoardPlayerPosGet(arg0->unk01, &sp14); + PSVECSubtract(&sp20, &sp14, &sp8); + BoardPlayerRotYSet(arg0->unk01, atan2d(sp8.x, sp8.z)); + arg0->unk00 = 1; } -static s32 coasterChaseSe[8] = { 0x00000123, 0x00000163, 0x000001A3, 0x000001E3, 0x00000223, 0x00000263, 0x000002A3, 0x000002E3 }; +static s32 lbl_1_data_634[8] = { + 0x00000123, + 0x00000163, + 0x000001A3, + 0x000001E3, + 0x00000223, + 0x00000263, + 0x000002A3, + 0x000002E3 +}; -static void CoasterPlayerChaseBegin(CoasterPlayerWork *work, omObjData *obj) -{ - if (coasterChasePlayer == -1) { - BoardCameraTargetPlayerSet(work->playerNo); - coasterChasePlayer = work->playerNo; +static void fn_1_8A50(BssCData *arg0, omObjData *arg1) { + if (lbl_1_data_633 == -1) { + BoardCameraTargetPlayerSet(arg0->unk01); + lbl_1_data_633 = arg0->unk01; } - HuAudFXPlay(coasterChaseSe[GWPlayer[work->playerNo].character]); - BoardPlayerMotionStart(work->playerNo, 9, 0); - BoardPlayerMotionSpeedSet(work->playerNo, 2.0f); - work->delay = coasterPlayerChaseNum * 3 + 9; - work->mode = 2; - coasterPlayerChaseNum++; - omVibrate(work->playerNo, 12, 4, 2); + HuAudFXPlay(lbl_1_data_634[GWPlayer[arg0->unk01].character]); + BoardPlayerMotionStart(arg0->unk01, 9, 0); + BoardPlayerMotionSpeedSet(arg0->unk01, 2.0f); + arg0->unk02 = lbl_1_bss_1C * 3 + 9; + arg0->unk00 = 2; + lbl_1_bss_1C++; + omVibrate(arg0->unk01, 12, 4, 2); } -static void CoasterPlayerChasePathSet(CoasterPlayerWork *work, omObjData *obj) -{ - ModelData *modelP; - HsfObject *modelObj; - Vec mdlCoasterPos; - Vec dir; - Vec objPos; - float motTime; - float time; - s16 modelId; +static void fn_1_8B6C(BssCData *arg0, omObjData *arg1) { + ModelData *temp_r29; + HsfObject *var_r30; + Vec sp20; + Vec sp14; + Vec sp8; + float temp_f30; + float var_f31; + s16 var_r28; - BoardPlayerPosGet(work->playerNo, &work->pos); - BoardModelPosGet(mapObjMdlId[MAPOBJ_COASTER], &mdlCoasterPos); - VECSubtract(&mdlCoasterPos, &work->pos, &dir); - BoardPlayerRotYSet(work->playerNo, -atan2d(dir.x, dir.z)); - BoardPlayerMotionStart(work->playerNo, 3, HU3D_MOTATTR_LOOP); - BoardPlayerMotionSpeedSet(work->playerNo, 2.0f); - motTime = BoardModelMotionTimeGet(coasterPathMdlId); - modelId = BoardModelIDGet(coasterPathMdlId); - modelP = &Hu3DData[modelId]; - Hu3DMotionExec(modelId, modelP->unk_08, modelP->unk_64, 0); - modelObj = Hu3DModelObjPtrGet(modelId, "looppath-cube1"); - objPos.x = modelObj->data.curr.pos.x; - objPos.y = modelObj->data.curr.pos.y; - objPos.z = modelObj->data.curr.pos.z; - time = coasterTime; + BoardPlayerPosGet(arg0->unk01, &arg0->unk14); + BoardModelPosGet(lbl_1_bss_6C4[0], &sp20); + PSVECSubtract(&sp20, &arg0->unk14, &sp14); + BoardPlayerRotYSet(arg0->unk01, -atan2d(sp14.x, sp14.z)); + BoardPlayerMotionStart(arg0->unk01, 3, 0x40000001); + BoardPlayerMotionSpeedSet(arg0->unk01, 2.0f); + temp_f30 = BoardModelMotionTimeGet(lbl_1_bss_6AE); + var_r28 = BoardModelIDGet(lbl_1_bss_6AE); + temp_r29 = &Hu3DData[var_r28]; + Hu3DMotionExec(var_r28, temp_r29->unk_08, temp_r29->unk_64, 0); + var_r30 = Hu3DModelObjPtrGet(var_r28, "looppath-cube1"); + sp8.x = var_r30->data.curr.pos.x; + sp8.y = var_r30->data.curr.pos.y; + sp8.z = var_r30->data.curr.pos.z; + var_f31 = lbl_1_bss_640; while (TRUE) { - Hu3DMotionExec(modelId, modelP->unk_08, modelP->unk_64, 0); - modelObj = Hu3DModelObjPtrGet(modelId, "looppath-cube1"); - dir.x = objPos.x - modelObj->data.curr.pos.x; - dir.y = objPos.y - modelObj->data.curr.pos.y; - dir.z = objPos.z - modelObj->data.curr.pos.z; - time += VECMag(&dir); - if (time >= work->time) { + Hu3DMotionExec(var_r28, temp_r29->unk_08, temp_r29->unk_64, 0); + var_r30 = Hu3DModelObjPtrGet(var_r28, "looppath-cube1"); + sp14.x = sp8.x - var_r30->data.curr.pos.x; + sp14.y = sp8.y - var_r30->data.curr.pos.y; + sp14.z = sp8.z - var_r30->data.curr.pos.z; + var_f31 += PSVECMag(&sp14); + if (var_f31 >= arg0->unk10) { break; } - objPos.x = modelObj->data.curr.pos.x; - objPos.y = modelObj->data.curr.pos.y; - objPos.z = modelObj->data.curr.pos.z; - modelP->unk_64 += work->speed; + sp8.x = var_r30->data.curr.pos.x; + sp8.y = var_r30->data.curr.pos.y; + sp8.z = var_r30->data.curr.pos.z; + temp_r29->unk_64 += arg0->unk08; } - BoardModelMotionStart(work->pathMdlId, 0, 0); - BoardModelMotionTimeSet(work->pathMdlId, modelP->unk_64); - BoardModelMotionSpeedSet(work->pathMdlId, modelP->unk_68); - work->mode = 3; - BoardModelMotionTimeSet(coasterPathMdlId, motTime); + BoardModelMotionStart(arg0->unk04, 0, 0); + BoardModelMotionTimeSet(arg0->unk04, temp_r29->unk_64); + BoardModelMotionSpeedSet(arg0->unk04, temp_r29->unk_68); + arg0->unk00 = 3; + BoardModelMotionTimeSet(lbl_1_bss_6AE, temp_f30); } -static void CoasterPlayerChase(CoasterPlayerWork *work, omObjData *obj) -{ - ModelData *modelP; - HsfObject *modelObj; - Vec *pos; - Vec *target; - Vec up; - Vec rot; - Vec objPos; - Vec diff; - Vec railPos; - Vec spacePos; - Mtx matrix; - s16 modelId; +static void fn_1_8DDC(BssCData *arg0, omObjData *arg1) { + ModelData *temp_r29; + HsfObject *var_r30; + Vec *var_r27; + Vec *var_r26; + Vec sp48; + Vec sp3C; + Vec sp30; + Vec sp24; + Vec sp18; + Vec spC; + Mtx sp54; + s16 var_r28; - modelId = BoardModelIDGet(work->pathMdlId); - modelP = &Hu3DData[modelId]; - Hu3DMotionExec(modelId, modelP->unk_08, modelP->unk_64, 0); - modelObj = Hu3DModelObjPtrGet(modelId, "looppath-cube1"); - objPos.x = modelObj->data.curr.pos.x; - objPos.y = modelObj->data.curr.pos.y; - objPos.z = modelObj->data.curr.pos.z; - VECSubtract(&objPos, &work->pos, &diff); - if (CoasterPlayerLoopCheck(work) != 0) { - BoardModelPosGet(mapObjMdlId[MAPOBJ_COASTER_RAIL], &railPos); - VECSubtract(&railPos, &objPos, &up); - VECNormalize(&up, &up); - pos = &work->pos; - target = &objPos; - BoardMTXCalcLookAt(matrix, target, &up, pos); - MTXTranspose(matrix, work->matrix); - } - else { - if (diff.z != 0.0f || diff.x != 0.0f) { - rot.y = atan2d(diff.x, diff.z); - rot.x = -atan2d(diff.y, VECMagXZ(&diff)); + var_r28 = BoardModelIDGet(arg0->unk04); + temp_r29 = &Hu3DData[var_r28]; + Hu3DMotionExec(var_r28, temp_r29->unk_08, temp_r29->unk_64, 0); + var_r30 = Hu3DModelObjPtrGet(var_r28, "looppath-cube1"); + sp30.x = var_r30->data.curr.pos.x; + sp30.y = var_r30->data.curr.pos.y; + sp30.z = var_r30->data.curr.pos.z; + PSVECSubtract(&sp30, &arg0->unk14, &sp24); + if (fn_1_94A8(arg0) != 0) { + BoardModelPosGet(lbl_1_bss_6C4[1], &sp18); + PSVECSubtract(&sp18, &sp30, &sp48); + PSVECNormalize(&sp48, &sp48); + var_r27 = &arg0->unk14; + var_r26 = &sp30; + BoardMTXCalcLookAt(sp54, var_r26, &sp48, var_r27); + PSMTXTranspose(sp54, arg0->unk20); + } else { + if (sp24.z != 0.0f || sp24.x != 0.0f) { + sp3C.y = atan2d(sp24.x, sp24.z); + sp3C.x = -atan2d(sp24.y, VECMagXZ(&sp24)); + } else { + sp3C.x = sp3C.y = 0.0f; } - else { - rot.x = rot.y = 0.0f; - } - MTXRotRad(matrix, 'x', MTXDegToRad(rot.x)); - MTXRotRad(work->matrix, 'y', MTXDegToRad(rot.y)); - MTXConcat(work->matrix, matrix, work->matrix); + PSMTXRotRad(sp54, 'x', MTXDegToRad(sp3C.x)); + PSMTXRotRad(arg0->unk20, 'y', MTXDegToRad(sp3C.y)); + PSMTXConcat(arg0->unk20, sp54, arg0->unk20); } - BoardPlayerPosSetV(work->playerNo, &objPos); - BoardPlayerRotSet(work->playerNo, 0.0f, 0.0f, 0.0f); - BoardPlayerMtxSet(work->playerNo, &work->matrix); - work->pos = objPos; - BoardSpacePosGet(0, work->endSpace, &spacePos); - if (BoardVecMaxDistXZCheck(&spacePos, &objPos, 200.0f)) { - work->mode = 4; + BoardPlayerPosSetV(arg0->unk01, &sp30); + BoardPlayerRotSet(arg0->unk01, 0.0f, 0.0f, 0.0f); + BoardPlayerMtxSet(arg0->unk01, &arg0->unk20); + arg0->unk14 = sp30; + BoardSpacePosGet(0, arg0->unk06, &spC); + if (BoardVecMaxDistXZCheck(&spC, &sp30, 200.0f)) { + arg0->unk00 = 4; } } -static void CoasterPlayerStop(CoasterPlayerWork *work, omObjData *obj) -{ - Vec spacePos; - Vec playerPos; - Vec dir; - s32 spaceEnd; +static void fn_1_918C(BssCData *arg0, omObjData *arg1) { + Vec sp20; + Vec sp14; + Vec sp8; + s32 var_r30; - MTXIdentity(work->matrix); - spaceEnd = BoardSpaceLinkFlagSearch(0, work->endSpace, 0x40); - BoardSpacePosGet(0, spaceEnd, &spacePos); - BoardPlayerPosGet(work->playerNo, &playerPos); - BoardPlayerMtxSet(work->playerNo, &work->matrix); - VECSubtract(&spacePos, &playerPos, &dir); - BoardPlayerRotYSet(work->playerNo, atan2d(-dir.z, -dir.x)); - BoardPlayerPosLerpStart(work->playerNo, &playerPos, &spacePos, 20); - work->mode = 5; + PSMTXIdentity(arg0->unk20); + var_r30 = BoardSpaceLinkFlagSearch(0, arg0->unk06, 0x40); + BoardSpacePosGet(0, var_r30, &sp20); + BoardPlayerPosGet(arg0->unk01, &sp14); + BoardPlayerMtxSet(arg0->unk01, &arg0->unk20); + PSVECSubtract(&sp20, &sp14, &sp8); + BoardPlayerRotYSet(arg0->unk01, atan2d(-sp8.z, -sp8.x)); + BoardPlayerPosLerpStart(arg0->unk01, &sp14, &sp20, 20); + arg0->unk00 = 5; } -static void CoasterPlayerEnd(CoasterPlayerWork *work, omObjData *obj) -{ - s32 spaceEnd; +static void fn_1_927C(BssCData *arg0, omObjData *arg1) { + s32 temp_r3; - if (!GWPlayer[work->playerNo].moving) { - BoardPlayerIdleSet(work->playerNo); - spaceEnd = BoardSpaceLinkFlagSearch(0, work->endSpace, 0x40); - GWPlayer[work->playerNo].space_curr = spaceEnd; - work->mode = -1; - BoardPlayerMoveAwayStartCurr(spaceEnd, 0); + if (!GWPlayer[arg0->unk01].moving) { + BoardPlayerIdleSet(arg0->unk01); + temp_r3 = BoardSpaceLinkFlagSearch(0, arg0->unk06, 0x40); + GWPlayer[arg0->unk01].space_curr = temp_r3; + arg0->unk00 = -1; + BoardPlayerMoveAwayStartCurr(temp_r3, 0); } } -static void CoasterPlayerEndSet(CoasterPlayerWork *work) -{ - BoardSpace *space; - BoardSpace *linkSpace; - Vec spacePos[2]; - Vec beginPos; - float spaceDist[2]; - s16 spaceId[2]; - s32 j; - s32 no; +static void fn_1_932C(BssCData *arg0) { + BoardSpace *temp_r30; + BoardSpace *var_r26; + Vec sp20[2]; + Vec sp14; + float spC[2]; + s16 sp8[2]; + s32 var_r29; + s32 var_r28; s32 i; - for (no = i = 0; i < BoardSpaceCountGet(0); i++) { - space = BoardSpaceGet(0, i + 1); - for (j = 0; j < space->link_cnt; j++) { - linkSpace = BoardSpaceGet(0, space->link[j]); - if (linkSpace->flag & 0x40) { - spaceId[no] = i + 1; - BoardSpacePosGet(0, space->link[j], &spacePos[no]); - no++; + for (var_r28 = i = 0; i < BoardSpaceCountGet(0); i++) { + temp_r30 = BoardSpaceGet(0, i + 1); + for (var_r29 = 0; var_r29 < temp_r30->link_cnt; var_r29++) { + var_r26 = BoardSpaceGet(0, temp_r30->link[var_r29]); + if (var_r26->flag & 0x40) { + sp8[var_r28] = i + 1; + BoardSpacePosGet(0, temp_r30->link[var_r29], &sp20[var_r28]); + var_r28++; } } - if (no >= 2) { + if (var_r28 >= 2) { break; } } - if (boardWork->hostSide == 0) { - BoardSpaceFlagPosGet(0, 0x1000, &beginPos); - } - else { - BoardSpaceFlagPosGet(0, 0x2000, &beginPos); + if (lbl_1_bss_0->unk00_field0 == 0) { + BoardSpaceFlagPosGet(0, 0x1000, &sp14); + } else { + BoardSpaceFlagPosGet(0, 0x2000, &sp14); } for (i = 0; i < 2; i++) { - spaceDist[i] = VECSquareDistance(&beginPos, &spacePos[i]); + spC[i] = PSVECSquareDistance(&sp14, &sp20[i]); } - if (spaceDist[0] < spaceDist[1]) { - work->endSpace = spaceId[0]; - } - else { - work->endSpace = spaceId[1]; + if (spC[0] < spC[1]) { + arg0->unk06 = sp8[0]; + } else { + arg0->unk06 = sp8[1]; } } -static s32 CoasterPlayerLoopCheck(CoasterPlayerWork *arg0) -{ - Vec playerPos; - s16 linkTbl[4]; +static s32 fn_1_94A8(BssCData *arg0) { + Vec sp14; + s16 spC[4]; float sp8; - s32 spaceId; - s32 spaceIdLink; - s32 spaceIdPrev; - BoardSpace *space; - BoardSpace *spaceLink; - BoardSpace *spacePrev; + s32 var_r30; + s32 var_r29; + s32 var_r26; + BoardSpace *var_r31; + BoardSpace *var_r27; + BoardSpace *var_r28; - BoardPlayerPosGet(arg0->playerNo, &playerPos); - spacePrev = NULL; - spaceIdPrev = -1; - spaceId = coasterStartSpace; + BoardPlayerPosGet(arg0->unk01, &sp14); + var_r28 = NULL; + var_r26 = -1; + var_r30 = lbl_1_bss_6AC; sp8 = 0.0f; while (TRUE) { - space = BoardSpaceGet(1, spaceId); - if (boardWork->hostSide == 0) { - spaceIdLink = space->link[0]; + var_r31 = BoardSpaceGet(1, var_r30); + if (lbl_1_bss_0->unk00_field0 == 0) { + var_r29 = var_r31->link[0]; + } else { + BoardSpaceLinkTargetListGet(1, var_r30, spC); + var_r29 = spC[0]; } - else { - BoardSpaceLinkTargetListGet(1, spaceId, linkTbl); - spaceIdLink = linkTbl[0]; - } - spaceLink = BoardSpaceGet(1, spaceIdLink); - if (!spaceLink) { - spaceLink = space; + var_r27 = BoardSpaceGet(1, var_r29); + if (!var_r27) { + var_r27 = var_r31; break; } - if (BoardVecMaxDistXZCheck(&space->pos, &playerPos, 200.0f)) { - if (BoardVecMaxDistXZCheck(&space->pos, &playerPos, 100.0f)) { + if (BoardVecMaxDistXZCheck(&var_r31->pos, &sp14, 200.0f)) { + if (BoardVecMaxDistXZCheck(&var_r31->pos, &sp14, 100.0f)) { break; } - if (spacePrev) { - space = spacePrev; + if (var_r28) { + var_r31 = var_r28; break; - } - else { - spacePrev = space; + } else { + var_r28 = var_r31; } } - spaceIdPrev = spaceId; - spaceId = spaceIdLink; + var_r26 = var_r30; + var_r30 = var_r29; } - if (space->flag & 8) { + if (var_r31->flag & 8) { return 1; - } - else { + } else { return 0; } } -static void CoasterPlayerTimeInit(CoasterPlayerWork *work) -{ - HsfObject *modelObj; - ModelData *modelP; - Vec pos; - Vec prevPos; - Vec playerPos; - Vec diff; - float maxTime; - float time; - s16 modelId; +static void fn_1_95F4(BssCData *arg0) { + HsfObject *var_r30; + ModelData *temp_r29; + Vec sp2C; + Vec sp20; + Vec sp14; + Vec sp8; + float temp_f30; + float var_f31; + s16 var_r28; - maxTime = BoardModelMotionMaxTimeGet(work->pathMdlId); - if (boardWork->hostSide == 0) { - BoardModelMotionTimeSet(work->pathMdlId, maxTime); - BoardModelMotionSpeedSet(work->pathMdlId, -0.18f); + temp_f30 = BoardModelMotionMaxTimeGet(arg0->unk04); + if (lbl_1_bss_0->unk00_field0 == 0) { + BoardModelMotionTimeSet(arg0->unk04, temp_f30); + BoardModelMotionSpeedSet(arg0->unk04, -0.18f); + } else { + BoardModelMotionTimeSet(arg0->unk04, 0.0f); + BoardModelMotionSpeedSet(arg0->unk04, 0.18f); } - else { - BoardModelMotionTimeSet(work->pathMdlId, 0.0f); - BoardModelMotionSpeedSet(work->pathMdlId, 0.18f); - } - BoardPlayerPosGet(work->playerNo, &playerPos); - modelId = BoardModelIDGet(work->pathMdlId); - modelP = &Hu3DData[modelId]; - Hu3DMotionExec(modelId, modelP->unk_08, modelP->unk_64, 0); - modelObj = Hu3DModelObjPtrGet(modelId, "looppath-cube1"); - prevPos.x = modelObj->data.curr.pos.x; - prevPos.y = modelObj->data.curr.pos.y; - prevPos.z = modelObj->data.curr.pos.z; - time = 0.0f; + BoardPlayerPosGet(arg0->unk01, &sp14); + var_r28 = BoardModelIDGet(arg0->unk04); + temp_r29 = &Hu3DData[var_r28]; + Hu3DMotionExec(var_r28, temp_r29->unk_08, temp_r29->unk_64, 0); + var_r30 = Hu3DModelObjPtrGet(var_r28, "looppath-cube1"); + sp20.x = var_r30->data.curr.pos.x; + sp20.y = var_r30->data.curr.pos.y; + sp20.z = var_r30->data.curr.pos.z; + var_f31 = 0.0f; while (TRUE) { - Hu3DMotionExec(modelId, modelP->unk_08, modelP->unk_64, 0); - modelObj = Hu3DModelObjPtrGet(modelId, "looppath-cube1"); - pos.x = modelObj->data.curr.pos.x; - pos.y = modelObj->data.curr.pos.y; - pos.z = modelObj->data.curr.pos.z; - VECSubtract(&pos, &prevPos, &diff); - time += VECMag(&diff); - if (BoardVecMinDistCheck(&playerPos, &pos, 150.0f)) { + Hu3DMotionExec(var_r28, temp_r29->unk_08, temp_r29->unk_64, 0); + var_r30 = Hu3DModelObjPtrGet(var_r28, "looppath-cube1"); + sp2C.x = var_r30->data.curr.pos.x; + sp2C.y = var_r30->data.curr.pos.y; + sp2C.z = var_r30->data.curr.pos.z; + PSVECSubtract(&sp2C, &sp20, &sp8); + var_f31 += PSVECMag(&sp8); + if (BoardVecMinDistCheck(&sp14, &sp2C, 150.0f)) { break; } - prevPos = pos; - modelP->unk_64 += modelP->unk_68; + sp20 = sp2C; + temp_r29->unk_64 += temp_r29->unk_68; } - work->time = time; + arg0->unk10 = var_f31; } -static void CoasterEffCreate(void) -{ - CoasterEffWork *work; - CoasterEffData *data; +static void fn_1_97F4(void) { + Bss20Work *temp_r30; + Bss20Data *var_r31; s32 i; - if (coasterEffObj) { + if (lbl_1_bss_20) { return; } - coasterEffObj = omAddObjEx(boardObjMan, 0x101, 1, 0, -1, CoasterEffUpdate); - work = OM_GET_WORK_PTR(coasterEffObj, CoasterEffWork); - work->killF = 0; - work->data = HuMemDirectMallocNum(HEAP_SYSTEM, 20 * sizeof(CoasterEffData), MEMORY_DEFAULT_NUM); - data = work->data; - for (i = 0; i < 20; data++, i++) { - data->time = -1; - data->mdlId = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W01, 7), NULL, 0); - BoardModelVisibilitySet(data->mdlId, 0); + lbl_1_bss_20 = omAddObjEx(boardObjMan, 0x101, 1, 0, -1, fn_1_9920); + temp_r30 = OM_GET_WORK_PTR(lbl_1_bss_20, Bss20Work); + temp_r30->unk00_field0 = 0; + temp_r30->unk04 = HuMemDirectMallocNum(HEAP_SYSTEM, 20 * sizeof(Bss20Data), MEMORY_DEFAULT_NUM); + var_r31 = temp_r30->unk04; + for (i = 0; i < 20; var_r31++, i++) { + var_r31->unk00 = -1; + var_r31->unk02 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W01, 7), NULL, 0); + BoardModelVisibilitySet(var_r31->unk02, 0); } } -static void CoasterEffKill(void) -{ - if (coasterEffObj) { - OM_GET_WORK_PTR(coasterEffObj, CoasterEffWork)->killF = TRUE; +static void fn_1_98EC(void) { + if (lbl_1_bss_20) { + OM_GET_WORK_PTR(lbl_1_bss_20, Bss20Work)->unk00_field0 = 1; } } -static void CoasterEffUpdate(omObjData *obj) -{ - CoasterEffWork *work; +static void fn_1_9920(omObjData *arg0) { + Bss20Work *temp_r31; s32 i; - work = OM_GET_WORK_PTR(coasterEffObj, CoasterEffWork); - if (work->killF != 0 || BoardIsKill()) { + temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_20, Bss20Work); + if (temp_r31->unk00_field0 != 0 || BoardIsKill()) { for (i = 0; i < 20; i++) { - BoardModelKill(work->data[i].mdlId); + BoardModelKill(temp_r31->unk04[i].unk02); } - HuMemDirectFree(work->data); - coasterEffObj = 0; - omDelObjEx(HuPrcCurrentGet(), obj); + HuMemDirectFree(temp_r31->unk04); + lbl_1_bss_20 = 0; + omDelObjEx(HuPrcCurrentGet(), arg0); return; } - if (coasterTime < 10.0f) { + if (lbl_1_bss_640 < 10.0f) { return; } - if (work->delay != 0) { - work->delay--; + if (temp_r31->unk01 != 0) { + temp_r31->unk01--; + } else { + temp_r31->unk01 = 2; + fn_1_9A24(temp_r31); } - else { - work->delay = 2; - CoasterEffAdd(work); - } - CoasterEffModelUpdate(work); + fn_1_9BBC(temp_r31); } -static void CoasterEffAdd(CoasterEffWork *work) -{ - CoasterEffData *data; - Mtx matrix; +static void fn_1_9A24(Bss20Work *arg0) { + Bss20Data *temp_r31; + Mtx sp8; s32 i; s32 j; - if (coasterLandF != 0) { - MTXTrans(matrix, 0.0f, 50.0f, -100.0f); + if (lbl_1_bss_6B1 != 0) { + PSMTXTrans(sp8, 0.0f, 50.0f, -100.0f); + } else { + PSMTXTrans(sp8, 0.0f, 70.0f, -100.0f); } - else { - MTXTrans(matrix, 0.0f, 70.0f, -100.0f); - } - MTXConcat(coasterMtx, matrix, matrix); + PSMTXConcat(lbl_1_bss_678, sp8, sp8); for (i = 0; i < 4; i++) { for (j = 0; j < 20; j++) { - data = &work->data[j]; - if (data->time == -1) { - data->time = 10; - Hu3DMtxTransGet(matrix, &data->pos); - VECAdd(&coasterPos, &data->pos, &data->pos); - data->vel.x = 0.0f; - data->vel.y = 0.0f; - data->vel.z = 0.001f; - data->scale = 1.0f; - BoardModelVisibilitySet(data->mdlId, 1); - BoardModelLayerSet(data->mdlId, 2); - BoardModelPosSetV(data->mdlId, &data->pos); + temp_r31 = &arg0->unk04[j]; + if (temp_r31->unk00 == -1) { + temp_r31->unk00 = 10; + Hu3DMtxTransGet(sp8, &temp_r31->unk08); + PSVECAdd(&lbl_1_bss_654, &temp_r31->unk08, &temp_r31->unk08); + temp_r31->unk14.x = 0.0f; + temp_r31->unk14.y = 0.0f; + temp_r31->unk14.z = 0.001f; + temp_r31->unk04 = 1.0f; + BoardModelVisibilitySet(temp_r31->unk02, 1); + BoardModelLayerSet(temp_r31->unk02, 2); + BoardModelPosSetV(temp_r31->unk02, &temp_r31->unk08); break; } } } } -static void CoasterEffModelUpdate(CoasterEffWork *work) -{ - CoasterEffData *data; +static void fn_1_9BBC(Bss20Work *arg0) { + Bss20Data *temp_r31; s32 i; for (i = 0; i < 20; i++) { - data = &work->data[i]; - if (data->time == -1) { + temp_r31 = &arg0->unk04[i]; + if (temp_r31->unk00 == -1) { continue; } - data->time--; - if (data->time == 0) { - data->time = -1; - BoardModelVisibilitySet(data->mdlId, 0); - } - else { - if (data->time <= 3) { - data->scale = sind(30.0f * data->time); + temp_r31->unk00--; + if (temp_r31->unk00 == 0) { + temp_r31->unk00 = -1; + BoardModelVisibilitySet(temp_r31->unk02, 0); + } else { + if (temp_r31->unk00 <= 3) { + temp_r31->unk04 = sind(30.0f * temp_r31->unk00); } - VECAdd(&data->pos, &data->vel, &data->pos); - BoardModelMtxSet(data->mdlId, &coasterMtx); - BoardModelPosSetV(data->mdlId, &data->pos); - BoardModelScaleSet(data->mdlId, data->scale, data->scale, data->scale); + PSVECAdd(&temp_r31->unk08, &temp_r31->unk14, &temp_r31->unk08); + BoardModelMtxSet(temp_r31->unk02, &lbl_1_bss_678); + BoardModelPosSetV(temp_r31->unk02, &temp_r31->unk08); + BoardModelScaleSet(temp_r31->unk02, temp_r31->unk04, temp_r31->unk04, temp_r31->unk04); } } } - -static void CoasterHostComKeySet(s32 playerNo) -{ - s32 starPos; - s32 yesF; - - starPos = GWSystem.star_pos; - yesF = 0; - if (boardWork->hostSide != 0) { - if (starPos == 0 || starPos == 1 || starPos == 7) { - yesF = 0; - } - else { - yesF = 1; - } - } - else if (starPos == 0 || starPos == 1 || starPos == 7) { - yesF = 1; - } - else { - yesF = 0; - } - if (BoardPlayerCoinsGet(playerNo) < 5) { - yesF = 0; - } - if (yesF != 0) { - BoardComKeySetLeft(); - } - else { - BoardComKeySetRight(); - } -} \ No newline at end of file diff --git a/src/REL/w01Dll/mg_coin.c b/src/REL/w01Dll/mg_coin.c index f07a4b3b..9520710c 100755 --- a/src/REL/w01Dll/mg_coin.c +++ b/src/REL/w01Dll/mg_coin.c @@ -2,16 +2,10 @@ #include "game/audio.h" #include "game/chrman.h" #include "game/data.h" -#include "game/frand.h" #include "game/gamework_data.h" #include "game/hsfanim.h" +#include "game/frand.h" -#include "game/board/audio.h" -#include "game/board/com.h" -#include "game/board/main.h" -#include "game/board/model.h" -#include "game/board/player.h" -#include "game/board/window.h" #include "game/hsfman.h" #include "game/memory.h" #include "game/minigame_seq.h" @@ -20,992 +14,1061 @@ #include "game/pad.h" #include "game/sprite.h" #include "game/window.h" +#include "game/board/audio.h" +#include "game/board/com.h" +#include "game/board/main.h" +#include "game/board/model.h" +#include "game/board/player.h" +#include "game/board/window.h" #include "dolphin.h" #include "ext_math.h" typedef struct { - /* 0x00 */ Vec pos; - /* 0x0C */ float len; -} SpaceAmidaPathPoint; // Size 0x10 + /* 0x00 */ Vec unk00; + /* 0x0C */ float unk0C; +} Data690InnerStruct; // Size 0x10 -typedef SpaceAmidaPathPoint SpaceAmidaMap[15]; +typedef Data690InnerStruct Data690Block[15]; typedef struct { /* 0x00 */ s16 unk00; /* 0x02 */ s16 unk02; - /* 0x04 */ Vec rocketPos; - /* 0x10 */ Vec jumpDir; - /* 0x1C */ u16 waitTime; - /* 0x20 */ float jumpTime; - /* 0x24 */ u16 comDelay; - /* 0x26 */ s16 comChoice; - /* 0x28 */ s16 comInputTimer; -} SpaceAmidaGameWork; // Size 0x2C + /* 0x04 */ Vec unk04; + /* 0x10 */ Vec unk10; + /* 0x1C */ u16 unk1C; + /* 0x1E */ char unk1E[2]; + /* 0x20 */ float unk20; + /* 0x24 */ u16 unk24; + /* 0x26 */ s16 unk26; + /* 0x28 */ s16 unk28; + /* 0x2A */ char unk2A[2]; +} Bss720Data; // Size 0x2C typedef struct { /* 0x00 */ char unk00[4]; - /* 0x04 */ SpaceAmidaMap *map; - /* 0x08 */ u16 mapCursor; - /* 0x0C */ float len; - /* 0x10 */ float speed; - /* 0x14 */ float maxSpeed; - /* 0x18 */ float rocketXOfs; - /* 0x1C */ float kemuriSize; - /* 0x20 */ Vec kemuriScale; - /* 0x2C */ Vec kemuriScaleVel; - /* 0x38 */ float kemuriTPLvl; + /* 0x04 */ Data690Block *unk04; + /* 0x08 */ u16 unk08; + /* 0x0A */ char unk0A[2]; + /* 0x0C */ float unk0C; + /* 0x10 */ float unk10; + /* 0x14 */ float unk14; + /* 0x18 */ float unk18; + /* 0x1C */ float unk1C; + /* 0x20 */ Vec unk20; + /* 0x2C */ Vec unk2C; + /* 0x38 */ float unk38; /* 0x3C */ float unk3C; - /* 0x40 */ s16 targetNo; -} RocketWork; // Size 0x44 + /* 0x40 */ s16 unk40; + /* 0x42 */ char unk42[2]; +} Bss714Data; // Size 0x44 -static void SpaceAmidaMainUpdate(omObjData *obj); -static void SpaceAmidaStop(void); -static void SpaceAmidaKill(void); -static void SpaceAmidaRocketObjUpdate(omObjData *obj); -static float SpaceAmidaMapLenGet(SpaceAmidaMap *obj); -static void SpaceAmidaComChoiceSet(omObjData *obj); -static void SpaceAmidaComInputGet(omObjData *obj, u16 *stkBtn, u16 *btn); -static void SpaceAmidaGameOpen(omObjData *obj); -static void SpaceAmidaGameUpdate(omObjData *obj); -static void SpaceAmidaRocketJump(omObjData *obj); -static void SpaceAmidaRocketKemuriExec(omObjData *obj); -static void SpaceAmidaRocketWait(omObjData *obj); -static void SpaceAmidaRocketUp(omObjData *obj); -static void SpaceAmidaCoinWin(void); -static void SpaceAmidaJumpDown(omObjData *obj); -static void SpaceAmidaCoinRainMain(void); -static void SpaceAmidaReturnWinMain(void); -static void SpaceAmidaGameStop(omObjData *obj); -static void SpaceAmidaDirGet(Vec *a, Vec *b, Vec *result); -static float SpaceAmidaAngleGet(Vec *dir); -static u32 SpaceAmidaPlayerRotAdd(Vec *rocketPos, float delta); -static void SpaceAmidaEffCreate(void); -static void SpaceAmidaEffKill(void); -static void SpaceAmidaEffUpdate(omObjData *arg0); -static void SpaceAmidaEffParticleHook(ModelData *model, ParticleData *particle, Mtx matrix); +static void fn_1_A4B8(omObjData *arg0); +static void fn_1_A554(void); +static void fn_1_A5FC(void); +static void fn_1_A6E0(omObjData *arg0); +static float fn_1_B018(Data690Block *arg0); +static void fn_1_B088(omObjData *arg0); +static void fn_1_B1CC(omObjData *arg0, u16 *arg1, u16 *arg2); +static void fn_1_B3B8(omObjData *arg0); +static void fn_1_B478(omObjData *arg0); +static void fn_1_BAF8(omObjData *arg0); +static void fn_1_BCDC(omObjData *arg0); +static void fn_1_BF00(omObjData *arg0); +static void fn_1_BF68(omObjData *arg0); +static void fn_1_C000(void); +static void fn_1_C0FC(omObjData *arg0); +static void fn_1_C25C(void); +static void fn_1_C844(void); +static void fn_1_C894(omObjData *arg0); +static void fn_1_C94C(Vec *arg0, Vec *arg1, Vec *arg2); +static float fn_1_C998(Vec *arg0); +static u32 fn_1_CB44(Vec *arg0, float arg1); +static void fn_1_CEC4(void); +static void fn_1_D034(void); +static void fn_1_D07C(omObjData *arg0); +static void fn_1_D114(ModelData *model, ParticleData *particle, Mtx matrix); -static s32 spaceAmidaPadNo; -static s32 spaceAmidaPlayerNo; -static s16 spaceAmidaMdlId; -static s16 mapMdlId[3]; -static s16 rocketMdlId[3]; -static s16 spaceAmidaEffMdlId; -static s16 coinMdlId[20]; -static Process *coinWinProc; -static omObjData *spaceAmidaMainObj; -static float spaceAmidaTime; -static s16 kemuriMdlId; -static s32 timerSec; -static s32 timerFrame; -static s16 timerSeqId; -static Vec spaceAmidaPos; -static s32 spaceAmidaMapNo; -static s32 spaceAmidaPath; -static s32 rocketWarpF; -static u16 spaceAmidaStopF; -static u16 spaceAmidaCoinNum; -static s32 spaceAmidaSeNo; -static omObjData *spaceAmidaGameObj; -static omObjData *rocketObj[3]; -static omObjData *spaceAmidaEffObj; -static AnimData *spaceAmidaEffAnim; -static s16 spaceAmidaSeqStopF; +static s32 lbl_1_bss_79C; +static s32 lbl_1_bss_798; +static s16 lbl_1_bss_796; +static s16 lbl_1_bss_790[3]; +static s16 lbl_1_bss_78A[3]; +static s16 lbl_1_bss_788; +static s16 lbl_1_bss_760[20]; +static Process *lbl_1_bss_75C; +static omObjData *lbl_1_bss_758; +static float lbl_1_bss_754; +static s16 lbl_1_bss_750; +static s32 lbl_1_bss_74C; +static s32 lbl_1_bss_748; +static s16 lbl_1_bss_744; +static Vec lbl_1_bss_738; +static s32 lbl_1_bss_734; +static s32 lbl_1_bss_730; +static s32 lbl_1_bss_72C; +static u16 lbl_1_bss_72A; +static u16 lbl_1_bss_728; +static s32 lbl_1_bss_724; +static omObjData *lbl_1_bss_720; +static omObjData *lbl_1_bss_714[3]; +static omObjData *lbl_1_bss_710; +static AnimData *lbl_1_bss_70C; +static s16 lbl_1_bss_708; -static Vec effPosTbl[3] = { { -50.0f, 238.0f, 0.0f }, { 0.0f, 275.5f, 0.0f }, { 50.0f, 238.0f, 0.0f } }; +static Vec lbl_1_data_658[3] = { + { -50.0f, 238.0f, 0.0f }, + { 0.0f, 275.5f, 0.0f }, + { 50.0f, 238.0f, 0.0f } +}; -static u16 spaceAmidaCoinNumTbl[3][3] = { { 10, 5, 20 }, { 10, 5, 20 }, { 5, 20, 10 } }; +static u16 lbl_1_data_67C[3][3] = { + { 10, 5, 20 }, + { 10, 5, 20 }, + { 5, 20, 10 } +}; -static SpaceAmidaMap spaceAmidaMap1[3] - = { { { { -50.0f, -12.0f, 0.0f }, 75.0f }, { { -50.0f, 63.0f, 0.0f }, 50.0f }, { { 0.0f, 63.0f, 0.0f }, 25.0f }, { { 0.0f, 88.0f, 0.0f }, 50.0f }, - { { 50.0f, 88.0f, 0.0f }, 87.5f }, { { 50.0f, 175.5f, 0.0f }, 0.0f } }, - { { { 0.0f, -12.0f, 0.0f }, 75.0f }, { { 0.0f, 63.0f, 0.0f }, 50.0f }, { { -50.0f, 63.0f, 0.0f }, 50.0f }, - { { -50.0f, 113.0f, 0.0f }, 50.0f }, { { 0.0f, 113.0f, 0.0f }, 50.0f }, { { 0.0f, 163.0f, 0.0f }, 50.0f }, - { { -50.0f, 163.0f, 0.0f }, 12.5f }, { { -50.0f, 175.5f, 0.0f }, 0.0f } }, - { { { 50.0f, -12.0f, 0.0f }, 100.0f }, { { 50.0f, 88.0f, 0.0f }, 50.0f }, { { 0.0f, 88.0f, 0.0f }, 25.0f }, - { { 0.0f, 113.0f, 0.0f }, 50.0f }, { { -50.0f, 113.0f, 0.0f }, 50.0f }, { { -50.0f, 163.0f, 0.0f }, 50.0f }, - { { 0.0f, 163.0f, 0.0f }, 50.0f }, { { 0.0f, 213.0f, 0.0f }, 0.0f } } }; - -static SpaceAmidaMap spaceAmidaMap2[3] - = { { { { -50.0f, -12.0f, 0.0f }, 125.0f }, { { -50.0f, 113.0f, 0.0f }, 50.0f }, { { 0.0f, 113.0f, 0.0f }, 25.0f }, - { { 0.0f, 138.0f, 0.0f }, 50.0f }, { { 50.0f, 138.0f, 0.0f }, 37.5f }, { { 50.0f, 175.5f, 0.0f }, 0.0f } }, - { { { 0.0f, -12.0f, 0.0f }, 75.0f }, { { 0.0f, 63.0f, 0.0f }, 50.0f }, { { 50.0f, 63.0f, 0.0f }, 75.0f }, - { { 50.0f, 138.0f, 0.0f }, 50.0f }, { { 0.0f, 138.0f, 0.0f }, 25.0f }, { { 0.0f, 163.0f, 0.0f }, 50.0f }, - { { -50.0f, 163.0f, 0.0f }, 12.5f }, { { -50.0f, 175.5f, 0.0f }, 0.0f } }, - { { { 50.0f, -12.0f, 0.0f }, 75.0f }, { { 50.0f, 63.0f, 0.0f }, 50.0f }, { { 0.0f, 63.0f, 0.0f }, 50.0f }, - { { 0.0f, 113.0f, 0.0f }, 50.0f }, { { -50.0f, 113.0f, 0.0f }, 50.0f }, { { -50.0f, 163.0f, 0.0f }, 50.0f }, - { { 0.0f, 163.0f, 0.0f }, 50.0f }, { { 0.0f, 213.0f, 0.0f }, 0.0f } } }; - -static SpaceAmidaMap spaceAmidaMap3[3] - = { { { { -50.0f, -12.0f, 0.0f }, 100.0f }, { { -50.0f, 88.0f, 0.0f }, 50.0f }, { { 0.0f, 88.0f, 0.0f }, 50.0f }, - { { 0.0f, 138.0f, 0.0f }, 50.0f }, { { -50.0f, 138.0f, 0.0f }, 37.5f }, { { -50.0f, 175.5f, 0.0f }, 0.0f } }, - { { { 0.0f, -12.0f, 0.0f }, 75.0f }, { { 0.0f, 63.0f, 0.0f }, 50.0f }, { { 50.0f, 63.0f, 0.0f }, 100.0f }, - { { 50.0f, 163.0f, 0.0f }, 50.0f }, { { 0.0f, 163.0f, 0.0f }, 50.0f }, { { 0.0f, 213.0f, 0.0f }, 0.0f } }, - { { { 50.0f, -12.0f, 0.0f }, 75.0f }, { { 50.0f, 63.0f, 0.0f }, 50.0f }, { { 0.0f, 63.0f, 0.0f }, 25.0f }, { { 0.0f, 88.0f, 0.0f }, 50.0f }, - { { -50.0f, 88.0f, 0.0f }, 50.0f }, { { -50.0f, 138.0f, 0.0f }, 50.0f }, { { 0.0f, 138.0f, 0.0f }, 25.0f }, - { { 0.0f, 163.0f, 0.0f }, 50.0f }, { { 50.0f, 163.0f, 0.0f }, 12.5f }, { { 50.0f, 175.5f, 0.0f }, 0.0f } } }; - -void SpaceAmidaExec(void) -{ - Vec rocketMdlOfs[3]; - Vec pos; - Vec rocketPos; - Vec scale; - SpaceAmidaGameWork *gameObjWork; - RocketWork *rocketWork; - s32 i; - - spaceAmidaPadNo = GWPlayer[GWSystem.player_curr].port; - spaceAmidaMdlId = mapObjMdlId[MAPOBJ_SPACEAMIDA]; - mapMdlId[0] = mapObjMdlId[MAPOBJ_SPACEAMIDA_MAP1]; - mapMdlId[1] = mapObjMdlId[MAPOBJ_SPACEAMIDA_MAP2]; - mapMdlId[2] = mapObjMdlId[MAPOBJ_SPACEAMIDA_MAP3]; - rocketMdlId[0] = mapObjMdlId[MAPOBJ_SPACEAMIDA_ROCKET1]; - rocketMdlId[1] = mapObjMdlId[MAPOBJ_SPACEAMIDA_ROCKET2]; - rocketMdlId[2] = mapObjMdlId[MAPOBJ_SPACEAMIDA_ROCKET3]; - BoardModelVisibilitySet(mapMdlId[0], 0); - BoardModelVisibilitySet(mapMdlId[1], 0); - BoardModelVisibilitySet(mapMdlId[2], 0); - spaceAmidaMapNo = rand8() % 3; - BoardModelVisibilitySet(mapMdlId[spaceAmidaMapNo], 1); - BoardModelMotionStart(mapMdlId[spaceAmidaMapNo], 0, HU3D_MOTATTR_LOOP); - BoardModelPosGet(spaceAmidaMdlId, &pos); - scale.x = scale.y = scale.z = 1.0f; - for (i = 0; i < 3; i++) { - rocketMdlOfs[i] = spaceAmidaMap1[i][0].pos; - rocketMdlOfs[i].y -= -12.0f; - BoardModelPosSet(rocketMdlId[i], pos.x + rocketMdlOfs[i].x, pos.y + rocketMdlOfs[i].y, pos.z + 30.0f); - BoardModelVisibilitySet(rocketMdlId[i], 1); - BoardModelScaleSetV(rocketMdlId[i], &scale); +static Data690Block lbl_1_data_690[3] = { + { + { { -50.0f, -12.0f, 0.0f }, 75.0f }, + { { -50.0f, 63.0f, 0.0f }, 50.0f }, + { { 0.0f, 63.0f, 0.0f }, 25.0f }, + { { 0.0f, 88.0f, 0.0f }, 50.0f }, + { { 50.0f, 88.0f, 0.0f }, 87.5f }, + { { 50.0f, 175.5f, 0.0f }, 0.0f } + }, + { + { { 0.0f, -12.0f, 0.0f }, 75.0f }, + { { 0.0f, 63.0f, 0.0f }, 50.0f }, + { { -50.0f, 63.0f, 0.0f }, 50.0f }, + { { -50.0f, 113.0f, 0.0f }, 50.0f }, + { { 0.0f, 113.0f, 0.0f }, 50.0f }, + { { 0.0f, 163.0f, 0.0f }, 50.0f }, + { { -50.0f, 163.0f, 0.0f }, 12.5f }, + { { -50.0f, 175.5f, 0.0f }, 0.0f } + }, + { + { { 50.0f, -12.0f, 0.0f }, 100.0f }, + { { 50.0f, 88.0f, 0.0f }, 50.0f }, + { { 0.0f, 88.0f, 0.0f }, 25.0f }, + { { 0.0f, 113.0f, 0.0f }, 50.0f }, + { { -50.0f, 113.0f, 0.0f }, 50.0f }, + { { -50.0f, 163.0f, 0.0f }, 50.0f }, + { { 0.0f, 163.0f, 0.0f }, 50.0f }, + { { 0.0f, 213.0f, 0.0f }, 0.0f } } - spaceAmidaPlayerNo = GWSystem.player_curr; - BoardModelPosGet(spaceAmidaMdlId, &spaceAmidaPos); - spaceAmidaPath = 1; - BoardModelPosGet(rocketMdlId[spaceAmidaPath], &rocketPos); - BoardPlayerPosGet(spaceAmidaPlayerNo, &pos); - spaceAmidaMainObj = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, SpaceAmidaMainUpdate); - spaceAmidaGameObj = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, SpaceAmidaGameOpen); - spaceAmidaGameObj->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(SpaceAmidaGameWork), MEMORY_DEFAULT_NUM); - gameObjWork = spaceAmidaGameObj->data; - gameObjWork->unk02 = 0; - gameObjWork->rocketPos = rocketPos; - gameObjWork->comInputTimer = 0; - SpaceAmidaPlayerRotAdd(&rocketPos, 0.0f); - SpaceAmidaComChoiceSet(spaceAmidaGameObj); - kemuriMdlId = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_W01, 19)); - Hu3DModelAttrSet(kemuriMdlId, HU3D_ATTR_DISPOFF); - for (i = 0; i < 3; i++) { - rocketObj[i] = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, SpaceAmidaRocketObjUpdate); - rocketObj[i]->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(RocketWork), MEMORY_DEFAULT_NUM); - rocketObj[i]->work[0] = rocketMdlId[i]; - rocketObj[i]->work[1] = 0; - rocketObj[i]->work[3] = 0; - rocketWork = rocketObj[i]->data; - if (i == spaceAmidaPath) { - rocketObj[i]->work[2] = 1; - } - else { - rocketObj[i]->work[2] = 0; - } - rocketWork->rocketXOfs = 1.0f; - rocketWork->kemuriSize = 0.0f; +}; + +static Data690Block lbl_1_data_960[3] = { + { + { { -50.0f, -12.0f, 0.0f }, 125.0f }, + { { -50.0f, 113.0f, 0.0f }, 50.0f }, + { { 0.0f, 113.0f, 0.0f }, 25.0f }, + { { 0.0f, 138.0f, 0.0f }, 50.0f }, + { { 50.0f, 138.0f, 0.0f }, 37.5f }, + { { 50.0f, 175.5f, 0.0f }, 0.0f } + }, + { + { { 0.0f, -12.0f, 0.0f }, 75.0f }, + { { 0.0f, 63.0f, 0.0f }, 50.0f }, + { { 50.0f, 63.0f, 0.0f }, 75.0f }, + { { 50.0f, 138.0f, 0.0f }, 50.0f }, + { { 0.0f, 138.0f, 0.0f }, 25.0f }, + { { 0.0f, 163.0f, 0.0f }, 50.0f }, + { { -50.0f, 163.0f, 0.0f }, 12.5f }, + { { -50.0f, 175.5f, 0.0f }, 0.0f } + }, + { + { { 50.0f, -12.0f, 0.0f }, 75.0f }, + { { 50.0f, 63.0f, 0.0f }, 50.0f }, + { { 0.0f, 63.0f, 0.0f }, 50.0f }, + { { 0.0f, 113.0f, 0.0f }, 50.0f }, + { { -50.0f, 113.0f, 0.0f }, 50.0f }, + { { -50.0f, 163.0f, 0.0f }, 50.0f }, + { { 0.0f, 163.0f, 0.0f }, 50.0f }, + { { 0.0f, 213.0f, 0.0f }, 0.0f } } - rocketWarpF = 0; - timerSec = 5; - timerFrame = REFRESH_RATE; - spaceAmidaStopF = 0; - SpaceAmidaEffCreate(); - spaceAmidaEffMdlId = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W01, 17), NULL, 0); - BoardModelMotionUpdateSet(spaceAmidaEffMdlId, 1); - BoardModelVisibilitySet(spaceAmidaEffMdlId, 0); - for (i = 0; i < 20; i++) { - coinMdlId[i] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 10), NULL, 1); - BoardModelVisibilitySet(coinMdlId[i], 0); +}; + +static Data690Block lbl_1_data_C30[3] = { + { + { { -50.0f, -12.0f, 0.0f }, 100.0f }, + { { -50.0f, 88.0f, 0.0f }, 50.0f }, + { { 0.0f, 88.0f, 0.0f }, 50.0f }, + { { 0.0f, 138.0f, 0.0f }, 50.0f }, + { { -50.0f, 138.0f, 0.0f }, 37.5f }, + { { -50.0f, 175.5f, 0.0f }, 0.0f } + }, + { + { { 0.0f, -12.0f, 0.0f }, 75.0f }, + { { 0.0f, 63.0f, 0.0f }, 50.0f }, + { { 50.0f, 63.0f, 0.0f }, 100.0f }, + { { 50.0f, 163.0f, 0.0f }, 50.0f }, + { { 0.0f, 163.0f, 0.0f }, 50.0f }, + { { 0.0f, 213.0f, 0.0f }, 0.0f } + }, + { + { { 50.0f, -12.0f, 0.0f }, 75.0f }, + { { 50.0f, 63.0f, 0.0f }, 50.0f }, + { { 0.0f, 63.0f, 0.0f }, 25.0f }, + { { 0.0f, 88.0f, 0.0f }, 50.0f }, + { { -50.0f, 88.0f, 0.0f }, 50.0f }, + { { -50.0f, 138.0f, 0.0f }, 50.0f }, + { { 0.0f, 138.0f, 0.0f }, 25.0f }, + { { 0.0f, 163.0f, 0.0f }, 50.0f }, + { { 50.0f, 163.0f, 0.0f }, 12.5f }, + { { 50.0f, 175.5f, 0.0f }, 0.0f } + } +}; + +void fn_1_9D00(s32 arg0) { + s32 temp_r31; + s32 var_r30; + + temp_r31 = GWSystem.star_pos; + var_r30 = 0; + if (lbl_1_bss_0->unk00_field0 != 0) { + if (temp_r31 == 0 || temp_r31 == 1 || temp_r31 == 7) { + var_r30 = 0; + } else { + var_r30 = 1; + } + } else if (temp_r31 == 0 || temp_r31 == 1 || temp_r31 == 7) { + var_r30 = 1; + } else { + var_r30 = 0; + } + if (BoardPlayerCoinsGet(arg0) < 5) { + var_r30 = 0; + } + if (var_r30 != 0) { + BoardComKeySetLeft(); + } else { + BoardComKeySetRight(); } } -static void SpaceAmidaMainUpdate(omObjData *obj) -{ - if (spaceAmidaStopF == 0) { +void fn_1_9DD8(void) { + Vec sp2C[3]; + Vec sp20; + Vec sp14; + Vec sp8; + Bss720Data *temp_r30; + Bss714Data *temp_r29; + s32 i; + + lbl_1_bss_79C = GWPlayer[GWSystem.player_curr].port; + lbl_1_bss_796 = lbl_1_bss_6C4[6]; + lbl_1_bss_790[0] = lbl_1_bss_6C4[7]; + lbl_1_bss_790[1] = lbl_1_bss_6C4[8]; + lbl_1_bss_790[2] = lbl_1_bss_6C4[9]; + lbl_1_bss_78A[0] = lbl_1_bss_6C4[10]; + lbl_1_bss_78A[1] = lbl_1_bss_6C4[11]; + lbl_1_bss_78A[2] = lbl_1_bss_6C4[12]; + BoardModelVisibilitySet(lbl_1_bss_790[0], 0); + BoardModelVisibilitySet(lbl_1_bss_790[1], 0); + BoardModelVisibilitySet(lbl_1_bss_790[2], 0); + lbl_1_bss_734 = rand8() % 3; + BoardModelVisibilitySet(lbl_1_bss_790[lbl_1_bss_734], 1); + BoardModelMotionStart(lbl_1_bss_790[lbl_1_bss_734], 0, 0x40000001); + BoardModelPosGet(lbl_1_bss_796, &sp20); + sp8.x = sp8.y = sp8.z = 1.0f; + for (i = 0; i < 3; i++) { + sp2C[i] = lbl_1_data_690[i][0].unk00; + sp2C[i].y -= -12.0f; + BoardModelPosSet(lbl_1_bss_78A[i], sp20.x + sp2C[i].x, sp20.y + sp2C[i].y, sp20.z + 30.0f); + BoardModelVisibilitySet(lbl_1_bss_78A[i], 1); + BoardModelScaleSetV(lbl_1_bss_78A[i], &sp8); + } + lbl_1_bss_798 = GWSystem.player_curr; + BoardModelPosGet(lbl_1_bss_796, &lbl_1_bss_738); + lbl_1_bss_730 = 1; + BoardModelPosGet(lbl_1_bss_78A[lbl_1_bss_730], &sp14); + BoardPlayerPosGet(lbl_1_bss_798, &sp20); + lbl_1_bss_758 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, fn_1_A4B8); + lbl_1_bss_720 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, fn_1_B3B8); + lbl_1_bss_720->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Bss720Data), MEMORY_DEFAULT_NUM); + temp_r30 = lbl_1_bss_720->data; + temp_r30->unk02 = 0; + temp_r30->unk04 = sp14; + temp_r30->unk28 = 0; + fn_1_CB44(&sp14, 0.0f); + fn_1_B088(lbl_1_bss_720); + lbl_1_bss_750 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_W01, 19)); + Hu3DModelAttrSet(lbl_1_bss_750, 1); + for (i = 0; i < 3; i++) { + lbl_1_bss_714[i] = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, fn_1_A6E0); + lbl_1_bss_714[i]->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Bss714Data), MEMORY_DEFAULT_NUM); + lbl_1_bss_714[i]->work[0] = lbl_1_bss_78A[i]; + lbl_1_bss_714[i]->work[1] = 0; + lbl_1_bss_714[i]->work[3] = 0; + temp_r29 = lbl_1_bss_714[i]->data; + if (i == lbl_1_bss_730) { + lbl_1_bss_714[i]->work[2] = 1; + } else { + lbl_1_bss_714[i]->work[2] = 0; + } + temp_r29->unk18 = 1.0f; + temp_r29->unk1C = 0.0f; + } + lbl_1_bss_72C = 0; + lbl_1_bss_74C = 5; + lbl_1_bss_748 = 0x3C; + lbl_1_bss_72A = 0; + fn_1_CEC4(); + lbl_1_bss_788 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W01, 17), NULL, 0); + BoardModelMotionUpdateSet(lbl_1_bss_788, 1); + BoardModelVisibilitySet(lbl_1_bss_788, 0); + for (i = 0; i < 20; i++) { + lbl_1_bss_760[i] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 10), NULL, 1); + BoardModelVisibilitySet(lbl_1_bss_760[i], 0); + } +} + +static void fn_1_A4B8(omObjData *arg0) { + if (lbl_1_bss_72A == 0) { return; } if (BoardMGDoneFlagGet() == 1) { - if (spaceAmidaTime <= 0.0f) { - SpaceAmidaKill(); - omDelObjEx(HuPrcCurrentGet(), obj); + if (lbl_1_bss_754 <= 0.0f) { + fn_1_A5FC(); + omDelObjEx(HuPrcCurrentGet(), arg0); } } - spaceAmidaTime -= 1.0f; + lbl_1_bss_754 -= 1.0f; } -static void SpaceAmidaStop(void) -{ - float time; +static void fn_1_A554(void) { + float temp_f1; - spaceAmidaStopF = 1; + lbl_1_bss_72A = 1; BoardMGExit(); - time = BoardModelMotionTimeGet(spaceAmidaMdlId); - spaceAmidaTime = time; - BoardModelMotionStart(spaceAmidaMdlId, 0, 0); - BoardModelMotionTimeSet(spaceAmidaMdlId, time); - BoardModelMotionSpeedSet(spaceAmidaMdlId, -1.0f); + temp_f1 = BoardModelMotionTimeGet(lbl_1_bss_796); + lbl_1_bss_754 = temp_f1; + BoardModelMotionStart(lbl_1_bss_796, 0, 0); + BoardModelMotionTimeSet(lbl_1_bss_796, temp_f1); + BoardModelMotionSpeedSet(lbl_1_bss_796, -1.0f); } -static void SpaceAmidaKill(void) -{ +static void fn_1_A5FC(void) { s32 i; for (i = 0; i < 3; i++) { - BoardModelVisibilitySet(mapMdlId[i], 0); - BoardModelVisibilitySet(rocketMdlId[i], 0); - omDelObjEx(HuPrcCurrentGet(), rocketObj[i]); + BoardModelVisibilitySet(lbl_1_bss_790[i], 0); + BoardModelVisibilitySet(lbl_1_bss_78A[i], 0); + omDelObjEx(HuPrcCurrentGet(), lbl_1_bss_714[i]); } for (i = 0; i < 20; i++) { - BoardModelKill(coinMdlId[i]); + BoardModelKill(lbl_1_bss_760[i]); } - SpaceAmidaEffKill(); - BoardModelKill(spaceAmidaEffMdlId); + fn_1_D034(); + BoardModelKill(lbl_1_bss_788); BoardMGDoneFlagSet(0); - Hu3DModelKill(kemuriMdlId); + Hu3DModelKill(lbl_1_bss_750); } -static void SpaceAmidaRocketObjUpdate(omObjData *obj) -{ - RocketWork *work; - Vec scale; - Vec pos; - Vec rocketPos; - Vec dir; - float len; +static void fn_1_A6E0(omObjData *arg0) { + Bss714Data *temp_r31; + Vec sp2C; + Vec sp20; + Vec sp14; + Vec sp8; + float var_f31; - work = obj->data; - BoardModelScaleGet(obj->work[0], &scale); - switch (obj->work[2]) { + temp_r31 = arg0->data; + BoardModelScaleGet(arg0->work[0], &sp2C); + switch (arg0->work[2]) { case 1: - if ((scale.x += 0.08f) >= 1.5f) { - scale.x = 1.5f; - scale.y = 1.5f; - if (obj->work[3] == 1) { - obj->work[2] = 0; - } - else { - obj->work[2] = 2; + if ((sp2C.x += 0.08f) >= 1.5f) { + sp2C.x = 1.5f; + sp2C.y = 1.5f; + if (arg0->work[3] == 1) { + arg0->work[2] = 0; + } else { + arg0->work[2] = 2; } + } else { + sp2C.y += 0.08f; } - else { - scale.y += 0.08f; - } - BoardModelScaleSetV(obj->work[0], &scale); + BoardModelScaleSetV(arg0->work[0], &sp2C); break; case 2: - if ((scale.x -= 0.08f) <= 1.0f) { - scale.x = 1.0f; - scale.y = 1.0f; - if (obj->work[1] == 1) { - obj->work[2] = 0; - obj->work[1] = 0; - } - else { - obj->work[2] = 1; + if ((sp2C.x -= 0.08f) <= 1.0f) { + sp2C.x = 1.0f; + sp2C.y = 1.0f; + if (arg0->work[1] == 1) { + arg0->work[2] = 0; + arg0->work[1] = 0; + } else { + arg0->work[2] = 1; } + } else { + sp2C.y -= 0.08f; } - else { - scale.y -= 0.08f; - } - BoardModelScaleSetV(obj->work[0], &scale); + BoardModelScaleSetV(arg0->work[0], &sp2C); break; case 3: - switch (spaceAmidaMapNo) { + switch (lbl_1_bss_734) { case 0: - work->map = &spaceAmidaMap1[spaceAmidaPath]; + temp_r31->unk04 = &lbl_1_data_690[lbl_1_bss_730]; break; case 1: - work->map = &spaceAmidaMap2[spaceAmidaPath]; + temp_r31->unk04 = &lbl_1_data_960[lbl_1_bss_730]; break; case 2: - work->map = &spaceAmidaMap3[spaceAmidaPath]; + temp_r31->unk04 = &lbl_1_data_C30[lbl_1_bss_730]; break; } - BoardModelPosGet(obj->work[0], &rocketPos); - rocketPos.x = spaceAmidaPos.x + ((*work->map)[0].pos.x + work->rocketXOfs); - work->rocketXOfs = -work->rocketXOfs; - BoardModelPosSetV(obj->work[0], &rocketPos); - rocketPos.y += 5.0f; - BoardPlayerPosSetV(spaceAmidaPlayerNo, &rocketPos); - work->kemuriSize += 0.022222223f; - work->kemuriTPLvl -= 0.011111111f; - if (work->kemuriTPLvl < 0.0f) { - work->kemuriTPLvl = 0.0f; + BoardModelPosGet(arg0->work[0], &sp14); + sp14.x = lbl_1_bss_738.x + ((*temp_r31->unk04)[0].unk00.x + temp_r31->unk18); + temp_r31->unk18 = -temp_r31->unk18; + BoardModelPosSetV(arg0->work[0], &sp14); + sp14.y += 5.0f; + BoardPlayerPosSetV(lbl_1_bss_798, &sp14); + temp_r31->unk1C += 0.022222223f; + temp_r31->unk38 -= 0.011111111f; + if (temp_r31->unk38 < 0.0f) { + temp_r31->unk38 = 0.0f; } - Hu3DModelTPLvlSet(kemuriMdlId, work->kemuriTPLvl); - if (work->kemuriSize > 1.0f) { - work->kemuriSize = 1.0f; + Hu3DModelTPLvlSet(lbl_1_bss_750, temp_r31->unk38); + if (temp_r31->unk1C > 1.0f) { + temp_r31->unk1C = 1.0f; } - VECAdd(&work->kemuriScale, &work->kemuriScaleVel, &work->kemuriScale); - if (work->kemuriScale.y >= 4.0f) { - work->kemuriScale.y = 4.0f; - work->kemuriScaleVel.y = -0.1f; + PSVECAdd(&temp_r31->unk20, &temp_r31->unk2C, &temp_r31->unk20); + if (temp_r31->unk20.y >= 4.0f) { + temp_r31->unk20.y = 4.0f; + temp_r31->unk2C.y = -0.1f; } - if (work->kemuriScale.y < 1.0f) { - work->kemuriScale.y = 1.0f; + if (temp_r31->unk20.y < 1.0f) { + temp_r31->unk20.y = 1.0f; } - Hu3DModelScaleSet(kemuriMdlId, work->kemuriScale.x, work->kemuriScale.y, work->kemuriScale.z); + Hu3DModelScaleSet(lbl_1_bss_750, temp_r31->unk20.x, temp_r31->unk20.y, temp_r31->unk20.z); break; case 4: - Hu3DModelAttrSet(kemuriMdlId, HU3D_ATTR_DISPOFF); - obj->work[2] = 5; - work->mapCursor = 0; - work->len = 12.0f; - work->maxSpeed = (SpaceAmidaMapLenGet(work->map) - work->len) / 90.0f; - work->speed = work->maxSpeed / 20.0f; + Hu3DModelAttrSet(lbl_1_bss_750, 1); + arg0->work[2] = 5; + temp_r31->unk08 = 0; + temp_r31->unk0C = 12.0f; + temp_r31->unk14 = (fn_1_B018(temp_r31->unk04) - temp_r31->unk0C) / 90.0f; + temp_r31->unk10 = temp_r31->unk14 / 20.0f; HuAudFXPlay(0x406); HuAudFXPlay(0x407); - HuAudFXStop(spaceAmidaSeNo); + HuAudFXStop(lbl_1_bss_724); break; case 5: - len = work->len + work->speed; - work->len = len; - work->speed *= 1.04f; - if (work->speed > work->maxSpeed) { - work->speed = work->maxSpeed; + var_f31 = temp_r31->unk0C + temp_r31->unk10; + temp_r31->unk0C = var_f31; + temp_r31->unk10 *= 1.04f; + if (temp_r31->unk10 > temp_r31->unk14) { + temp_r31->unk10 = temp_r31->unk14; } - BoardModelPosGet(obj->work[0], &pos); - while (len >= (*work->map)[work->mapCursor].len) { - len -= (*work->map)[work->mapCursor].len; - work->mapCursor++; - if ((*work->map)[work->mapCursor].len == 0.0f) { - omVibrate(spaceAmidaPlayerNo, 12, 6, 6); - len = 0.0f; - rocketWarpF = 1; - spaceAmidaSeNo = HuAudFXPlay(0x332); - spaceAmidaSeqStopF = 0; - obj->work[2] = 6; - if (pos.x - spaceAmidaPos.x < -25.0f) { - work->targetNo = 0; - spaceAmidaCoinNum = 5; - } - else if (pos.x - spaceAmidaPos.x > 25.0f) { - work->targetNo = 2; - spaceAmidaCoinNum = 10; - } - else { - work->targetNo = 1; - spaceAmidaCoinNum = 20; + BoardModelPosGet(arg0->work[0], &sp20); + while (var_f31 >= (*temp_r31->unk04)[temp_r31->unk08].unk0C) { + var_f31 -= (*temp_r31->unk04)[temp_r31->unk08].unk0C; + temp_r31->unk08++; + if ((*temp_r31->unk04)[temp_r31->unk08].unk0C == 0.0f) { + omVibrate(lbl_1_bss_798, 12, 6, 6); + var_f31 = 0.0f; + lbl_1_bss_72C = 1; + lbl_1_bss_724 = HuAudFXPlay(0x332); + lbl_1_bss_708 = 0; + arg0->work[2] = 6; + if (sp20.x - lbl_1_bss_738.x < -25.0f) { + temp_r31->unk40 = 0; + lbl_1_bss_728 = 5; + } else if (sp20.x - lbl_1_bss_738.x > 25.0f) { + temp_r31->unk40 = 2; + lbl_1_bss_728 = 10; + } else { + temp_r31->unk40 = 1; + lbl_1_bss_728 = 20; } break; } } - work->len = len; - rocketPos.x = rocketPos.y = rocketPos.z = 0.0f; - if (rocketWarpF == 0) { - SpaceAmidaDirGet(&(*work->map)[work->mapCursor].pos, &(*work->map)[work->mapCursor + 1].pos, &dir); - pos.x = spaceAmidaPos.x + (dir.x * len + (*work->map)[work->mapCursor].pos.x); - pos.y = spaceAmidaPos.y + (dir.y * len + (*work->map)[work->mapCursor].pos.y); + temp_r31->unk0C = var_f31; + sp14.x = sp14.y = sp14.z = 0.0f; + if (lbl_1_bss_72C == 0) { + fn_1_C94C(&(*temp_r31->unk04)[temp_r31->unk08].unk00, &(*temp_r31->unk04)[temp_r31->unk08 + 1].unk00, &sp8); + sp20.x = lbl_1_bss_738.x + (sp8.x * var_f31 + (*temp_r31->unk04)[temp_r31->unk08].unk00.x); + sp20.y = lbl_1_bss_738.y + (sp8.y * var_f31 + (*temp_r31->unk04)[temp_r31->unk08].unk00.y); + } else { + sp20.x = lbl_1_bss_738.x + (*temp_r31->unk04)[temp_r31->unk08].unk00.x; + sp20.y = lbl_1_bss_738.y + (*temp_r31->unk04)[temp_r31->unk08].unk00.y; } - else { - pos.x = spaceAmidaPos.x + (*work->map)[work->mapCursor].pos.x; - pos.y = spaceAmidaPos.y + (*work->map)[work->mapCursor].pos.y; - } - BoardModelPosSetV(obj->work[0], &pos); - pos.y += 5.0f; - BoardPlayerPosSetV(spaceAmidaPlayerNo, &pos); - BoardModelRotSetV(obj->work[0], &rocketPos); - BoardPlayerRotSetV(spaceAmidaPlayerNo, &rocketPos); + BoardModelPosSetV(arg0->work[0], &sp20); + sp20.y += 5.0f; + BoardPlayerPosSetV(lbl_1_bss_798, &sp20); + BoardModelRotSetV(arg0->work[0], &sp14); + BoardPlayerRotSetV(lbl_1_bss_798, &sp14); break; case 6: - if (spaceAmidaSeqStopF == 0 && (HuAudFXStatusGet(spaceAmidaSeNo) == 1 || HuAudFXStatusGet(spaceAmidaSeNo) == 0)) { + if (lbl_1_bss_708 == 0 && (HuAudFXStatusGet(lbl_1_bss_724) == 1 || HuAudFXStatusGet(lbl_1_bss_724) == 0)) { BoardAudSeqPause(0, 0, 1000); - spaceAmidaSeqStopF = 1; + lbl_1_bss_708 = 1; } - BoardModelVisibilitySet(spaceAmidaEffMdlId, 1); - pos.x = spaceAmidaPos.x + effPosTbl[work->targetNo].x; - pos.y = spaceAmidaPos.y + effPosTbl[work->targetNo].y; - pos.z = spaceAmidaPos.z + effPosTbl[work->targetNo].z; - BoardModelPosSetV(spaceAmidaEffMdlId, &pos); - work->kemuriSize -= 0.05f; - if (work->kemuriSize <= 0.0f) { - work->kemuriSize = 0.0f; + BoardModelVisibilitySet(lbl_1_bss_788, 1); + sp20.x = lbl_1_bss_738.x + lbl_1_data_658[temp_r31->unk40].x; + sp20.y = lbl_1_bss_738.y + lbl_1_data_658[temp_r31->unk40].y; + sp20.z = lbl_1_bss_738.z + lbl_1_data_658[temp_r31->unk40].z; + BoardModelPosSetV(lbl_1_bss_788, &sp20); + temp_r31->unk1C -= 0.05f; + if (temp_r31->unk1C <= 0.0f) { + temp_r31->unk1C = 0.0f; } break; } } -static float SpaceAmidaMapLenGet(SpaceAmidaMap *arg0) -{ - float len; +static float fn_1_B018(Data690Block *arg0) { + float var_f31; s32 i; - len = 0.0f; + var_f31 = 0.0f; i = 0; while (TRUE) { - if ((*arg0)[i].len == 0.0f) { + if ((*arg0)[i].unk0C == 0.0f) { break; } - len += (*arg0)[i].len; + var_f31 += (*arg0)[i].unk0C; i++; } - return len; + return var_f31; } -static void SpaceAmidaComChoiceSet(omObjData *obj) -{ - SpaceAmidaGameWork *work; - u16 chance[] = { 20, 60, 120, 190 }; +static void fn_1_B088(omObjData *arg0) { + Bss720Data *temp_r31; + u16 sp8[] = { 20, 60, 120, 190 }; s32 i; - work = obj->data; - if (rand8() < chance[GWPlayerCfg[spaceAmidaPlayerNo].diff]) { + temp_r31 = arg0->data; + if (rand8() < sp8[GWPlayerCfg[lbl_1_bss_798].diff]) { for (i = 0; i < 3; i++) { - if (spaceAmidaCoinNumTbl[spaceAmidaMapNo][i] == 20) { - work->comChoice = i; + if (lbl_1_data_67C[lbl_1_bss_734][i] == 20) { + temp_r31->unk26 = i; } } + } else { + temp_r31->unk26 = rand8() % 3; } - else { - work->comChoice = rand8() % 3; - } - work->comDelay = rand8() % 20 + 20; + temp_r31->unk24 = rand8() % 20 + 20; } -static void SpaceAmidaComInputGet(omObjData *obj, u16 *stkBtn, u16 *btn) -{ - SpaceAmidaGameWork *work; +static void fn_1_B1CC(omObjData *arg0, u16 *arg1, u16 *arg2) { + Bss720Data *temp_r31; - work = obj->data; - *stkBtn = *btn = 0; - if (work->comDelay != 0) { - work->comDelay--; + temp_r31 = arg0->data; + *arg1 = *arg2 = 0; + if (temp_r31->unk24 != 0) { + temp_r31->unk24--; return; } - if (work->comInputTimer >= 4 || (rand8() & 1)) { - if (work->comChoice == spaceAmidaPath) { - *btn |= PAD_BUTTON_A; + if (temp_r31->unk28 >= 4 || (rand8() & 1)) { + if (temp_r31->unk26 == lbl_1_bss_730) { + *arg2 |= 0x100; + } else if (temp_r31->unk26 < lbl_1_bss_730) { + *arg1 |= 1; + } else { + *arg1 |= 2; } - else if (work->comChoice < spaceAmidaPath) { - *stkBtn |= PAD_BUTTON_LEFT; - } - else { - *stkBtn |= PAD_BUTTON_RIGHT; - } - work->comDelay = rand8() % 10 + 10; - } - else { - work->comInputTimer++; - work->comDelay = rand8() % 10 + 20; - if (spaceAmidaPath == 0) { - *stkBtn |= PAD_BUTTON_RIGHT; - } - else if (spaceAmidaPath == 2) { - *stkBtn |= PAD_BUTTON_LEFT; - } - else if (rand8() & 1) { - *stkBtn |= PAD_BUTTON_LEFT; - } - else { - *stkBtn |= PAD_BUTTON_RIGHT; + temp_r31->unk24 = rand8() % 10 + 10; + } else { + temp_r31->unk28++; + temp_r31->unk24 = rand8() % 10 + 20; + if (lbl_1_bss_730 == 0) { + *arg1 |= 2; + } else if (lbl_1_bss_730 == 2) { + *arg1 |= 1; + } else if (rand8() & 1) { + *arg1 |= 1; + } else { + *arg1 |= 2; } } } -static void SpaceAmidaGameOpen(omObjData *obj) -{ - if (BoardModelMotionTimeGet(spaceAmidaMdlId) >= BoardModelMotionMaxTimeGet(spaceAmidaMdlId)) { - timerSeqId = MGSeqCreate(1, timerSec, 0x120, 0x40); - spaceAmidaGameObj->func = SpaceAmidaGameUpdate; +static void fn_1_B3B8(omObjData *arg0) { + float temp_f31; + + temp_f31 = BoardModelMotionMaxTimeGet(lbl_1_bss_796); + if (BoardModelMotionTimeGet(lbl_1_bss_796) >= temp_f31) { + lbl_1_bss_744 = MGSeqCreate(1, lbl_1_bss_74C, 0x120, 0x40); + lbl_1_bss_720->func = fn_1_B478; BoardMusStart(1, 0xF, 0x7F, 0); - spaceAmidaSeNo = HuAudFXPlay(0x408); + lbl_1_bss_724 = HuAudFXPlay(0x408); } } -static void SpaceAmidaGameUpdate(omObjData *obj) -{ - SpaceAmidaGameWork *work; - Vec rocketPos; - Vec playerPos; - float jumpDist; - u16 btn; - u16 stkBtn; +static void fn_1_B478(omObjData *arg0) { + Bss720Data *temp_r31; + Vec sp18; + Vec spC; + float var_f28; + u16 var_r27; + u16 var_r29; - work = obj->data; - if ((--timerFrame) == 0) { - if ((--timerSec) >= 0) { - MGSeqParamSet(timerSeqId, 1, timerSec); + temp_r31 = arg0->data; + if ((lbl_1_bss_748 -= 1) == 0) { + if ((lbl_1_bss_74C -= 1) >= 0) { + MGSeqParamSet(lbl_1_bss_744, 1, lbl_1_bss_74C); } - timerFrame = REFRESH_RATE; + lbl_1_bss_748 = 60; } - if (GWPlayerCfg[spaceAmidaPlayerNo].iscom == 1) { - SpaceAmidaComInputGet(obj, &stkBtn, &btn); + if (GWPlayerCfg[lbl_1_bss_798].iscom == 1) { + fn_1_B1CC(arg0, &var_r29, &var_r27); + } else { + var_r29 = HuPadDStkRep[lbl_1_bss_79C]; + var_r27 = HuPadBtnDown[lbl_1_bss_79C]; } - else { - stkBtn = HuPadDStkRep[spaceAmidaPadNo]; - btn = HuPadBtnDown[spaceAmidaPadNo]; + if ((var_r29 & 1) && lbl_1_bss_730 != 0) { + lbl_1_bss_714[lbl_1_bss_730]->work[1] = 1; + lbl_1_bss_714[lbl_1_bss_730]->work[2] = 2; + lbl_1_bss_730--; + lbl_1_bss_714[lbl_1_bss_730]->work[2] = 1; } - if ((stkBtn & PAD_BUTTON_LEFT) && spaceAmidaPath != 0) { - rocketObj[spaceAmidaPath]->work[1] = 1; - rocketObj[spaceAmidaPath]->work[2] = 2; - spaceAmidaPath--; - rocketObj[spaceAmidaPath]->work[2] = 1; + if ((var_r29 & 2) && lbl_1_bss_730 != 2) { + lbl_1_bss_714[lbl_1_bss_730]->work[1] = 1; + lbl_1_bss_714[lbl_1_bss_730]->work[2] = 2; + lbl_1_bss_730++; + lbl_1_bss_714[lbl_1_bss_730]->work[2] = 1; } - if ((stkBtn & PAD_BUTTON_RIGHT) && spaceAmidaPath != 2) { - rocketObj[spaceAmidaPath]->work[1] = 1; - rocketObj[spaceAmidaPath]->work[2] = 2; - spaceAmidaPath++; - rocketObj[spaceAmidaPath]->work[2] = 1; - } - BoardModelPosGet(rocketMdlId[spaceAmidaPath], &rocketPos); - BoardPlayerPosGet(spaceAmidaPlayerNo, &playerPos); - SpaceAmidaPlayerRotAdd(&rocketPos, 0.0f); - work->rocketPos = rocketPos; - if (timerSec < 0 || (btn & PAD_BUTTON_A)) { - MGSeqParamSet(timerSeqId, 2, -1); - rocketObj[spaceAmidaPath]->work[1] = 1; - BoardPlayerPosGet(spaceAmidaPlayerNo, &playerPos); - jumpDist = VECDistanceXZ(&work->rocketPos, &playerPos); - SpaceAmidaDirGet(&playerPos, &work->rocketPos, &work->jumpDir); - work->jumpDir.y = 0.0f; - work->jumpDir.x *= jumpDist / 30.0f; - work->jumpDir.z *= jumpDist / 30.0f; - work->unk00 = 0; - work->jumpTime = 0.0f; - obj->func = SpaceAmidaRocketJump; + BoardModelPosGet(lbl_1_bss_78A[lbl_1_bss_730], &sp18); + BoardPlayerPosGet(lbl_1_bss_798, &spC); + fn_1_CB44(&sp18, 0.0f); + temp_r31->unk04 = sp18; + if (lbl_1_bss_74C < 0 || (var_r27 & 0x100)) { + MGSeqParamSet(lbl_1_bss_744, 2, -1); + lbl_1_bss_714[lbl_1_bss_730]->work[1] = 1; + BoardPlayerPosGet(lbl_1_bss_798, &spC); + var_f28 = VECDistanceXZ(&temp_r31->unk04, &spC); + fn_1_C94C(&spC, &temp_r31->unk04, &temp_r31->unk10); + temp_r31->unk10.y = 0.0f; + temp_r31->unk10.x *= var_f28 / 30.0f; + temp_r31->unk10.z *= var_f28 / 30.0f; + temp_r31->unk00 = 0; + temp_r31->unk20 = 0.0f; + arg0->func = fn_1_BAF8; } } -static void SpaceAmidaRocketJump(omObjData *obj) -{ - SpaceAmidaGameWork *work; - Vec playerPos; - Vec rocketPos; +static void fn_1_BAF8(omObjData *arg0) { + Bss720Data *temp_r31; + Vec sp14; + Vec sp8; - work = obj->data; - if (rocketObj[spaceAmidaPath]->work[2] != 0) { + temp_r31 = arg0->data; + if (lbl_1_bss_714[lbl_1_bss_730]->work[2] != 0) { return; } - BoardPlayerMotionStart(spaceAmidaPlayerNo, 4, 0); - BoardPlayerPosGet(spaceAmidaPlayerNo, &playerPos); - playerPos.x += work->jumpDir.x; - playerPos.z += work->jumpDir.z; - playerPos.y = spaceAmidaPos.y + 80.0 * sind(6.0f * work->jumpTime); - BoardModelPosGet(rocketObj[spaceAmidaPath]->work[0], &rocketPos); - if ((++work->jumpTime) == 30.0f) { - playerPos.y = rocketPos.y + 5.0f; - BoardPlayerPosSetV(spaceAmidaPlayerNo, &playerPos); - BoardPlayerMotionShiftSet(spaceAmidaPlayerNo, 2, 0.0f, 10.0f, HU3D_MOTATTR_NONE); - obj->func = SpaceAmidaRocketKemuriExec; + BoardPlayerMotionStart(lbl_1_bss_798, 4, 0); + BoardPlayerPosGet(lbl_1_bss_798, &sp14); + sp14.x += temp_r31->unk10.x; + sp14.z += temp_r31->unk10.z; + sp14.y = lbl_1_bss_738.y + 80.0 * sind(6.0f * temp_r31->unk20); + BoardModelPosGet(lbl_1_bss_714[lbl_1_bss_730]->work[0], &sp8); + if ((temp_r31->unk20 += 1.0f) == 30.0f) { + sp14.y = sp8.y + 5.0f; + BoardPlayerPosSetV(lbl_1_bss_798, &sp14); + BoardPlayerMotionShiftSet(lbl_1_bss_798, 2, 0.0f, 10.0f, 0); + arg0->func = fn_1_BCDC; } - BoardPlayerPosSetV(spaceAmidaPlayerNo, &playerPos); + BoardPlayerPosSetV(lbl_1_bss_798, &sp14); } -static void SpaceAmidaRocketKemuriExec(omObjData *obj) -{ - SpaceAmidaGameWork *work; - RocketWork *rocketWork; - Vec playerPos; - Vec kemuriPos; +static void fn_1_BCDC(omObjData *arg0) { + Bss720Data *temp_r29; + Bss714Data *temp_r31; + Vec sp14; + Vec sp8; - work = obj->data; - BoardPlayerPosGet(spaceAmidaPlayerNo, &playerPos); - kemuriPos = playerPos; - kemuriPos.z += 100.0f; - if (SpaceAmidaPlayerRotAdd(&kemuriPos, 10.0f) == 1) { - BoardPlayerMotionShiftSet(spaceAmidaPlayerNo, 1, 0.0f, 10.0f, HU3D_MOTATTR_NONE); - work->waitTime = 90; - spaceAmidaEffObj->work[0] = 1; - rocketObj[spaceAmidaPath]->work[2] = 3; - rocketWork = rocketObj[spaceAmidaPath]->data; - Hu3DModelAttrReset(kemuriMdlId, HU3D_ATTR_DISPOFF); - Hu3DModelPosSet(kemuriMdlId, playerPos.x, playerPos.y, playerPos.z); - rocketWork->kemuriScale.x = 1.4f; - rocketWork->kemuriScale.y = 1.4f; - rocketWork->kemuriScale.z = 1.4f; - rocketWork->kemuriScaleVel.x = 0.055999998f; - rocketWork->kemuriScaleVel.y = 0.08088889f; - rocketWork->kemuriScaleVel.z = 0.055999998f; - rocketWork->kemuriTPLvl = 1.0f; - rocketWork->unk3C = 0.0f; - Hu3DModelScaleSet(kemuriMdlId, 1.4f, 1.4f, 1.4f); - obj->func = SpaceAmidaRocketWait; + temp_r29 = arg0->data; + BoardPlayerPosGet(lbl_1_bss_798, &sp14); + sp8 = sp14; + sp8.z += 100.0f; + if (fn_1_CB44(&sp8, 10.0f) == 1) { + BoardPlayerMotionShiftSet(lbl_1_bss_798, 1, 0.0f, 10.0f, 0); + temp_r29->unk1C = 90; + lbl_1_bss_710->work[0] = 1; + lbl_1_bss_714[lbl_1_bss_730]->work[2] = 3; + temp_r31 = lbl_1_bss_714[lbl_1_bss_730]->data; + Hu3DModelAttrReset(lbl_1_bss_750, 1); + Hu3DModelPosSet(lbl_1_bss_750, sp14.x, sp14.y, sp14.z); + temp_r31->unk20.x = 1.4f; + temp_r31->unk20.y = 1.4f; + temp_r31->unk20.z = 1.4f; + temp_r31->unk2C.x = 0.055999998f; + temp_r31->unk2C.y = 0.08088889f; + temp_r31->unk2C.z = 0.055999998f; + temp_r31->unk38 = 1.0f; + temp_r31->unk3C = 0.0f; + Hu3DModelScaleSet(lbl_1_bss_750, 1.4f, 1.4f, 1.4f); + arg0->func = fn_1_BF00; } } -static void SpaceAmidaRocketWait(omObjData *obj) -{ - SpaceAmidaGameWork *work; +static void fn_1_BF00(omObjData *arg0) { + Bss720Data *temp_r31; - work = obj->data; - if (work->waitTime == 0) { - rocketObj[spaceAmidaPath]->work[2] = 4; - obj->func = SpaceAmidaRocketUp; - } - else { - work->waitTime--; + temp_r31 = arg0->data; + if (temp_r31->unk1C == 0) { + lbl_1_bss_714[lbl_1_bss_730]->work[2] = 4; + arg0->func = fn_1_BF68; + } else { + temp_r31->unk1C--; } } -static void SpaceAmidaRocketUp(omObjData *obj) -{ - SpaceAmidaGameWork *work; +static void fn_1_BF68(omObjData *arg0) { + Bss720Data *sp8; - work = obj->data; - if (rocketObj[spaceAmidaPath]->work[2] == 6) { - coinWinProc = HuPrcCreate(SpaceAmidaCoinWin, 0x2004, 0x1000, 0); - coinWinProc->user_data = obj; - obj->func = NULL; + sp8 = arg0->data; + if (lbl_1_bss_714[lbl_1_bss_730]->work[2] == 6) { + lbl_1_bss_75C = HuPrcCreate(fn_1_C000, 0x2004, 0x1000, 0); + lbl_1_bss_75C->user_data = arg0; + arg0->func = NULL; } } -static void SpaceAmidaCoinWin(void) -{ - char mess[16]; // array size may range between 1 and 16 (inclusive) - omObjData *obj; - SpaceAmidaGameWork *work; +static void fn_1_C000(void) { + char sp8[16]; // array size may range between 1 and 16 (inclusive) + omObjData *temp_r30; + Bss720Data *temp_r31; BoardAudSeqFadeOut(1, 100); - sprintf(&mess, "%d", spaceAmidaCoinNum); + sprintf(&sp8, "%d", lbl_1_bss_728); BoardWinCreate(2, MAKE_MESSID(11, 6), 0); - BoardWinInsertMesSet(MAKE_MESSID_PTR(mess), 0); + BoardWinInsertMesSet(MAKE_MESSID_PTR(sp8), 0); BoardWinWait(); BoardWinKill(); - obj = HuPrcCurrentGet()->user_data; - work = obj->data; - work->jumpDir.x = 0.0f; - work->jumpDir.y = 10.0f; - work->jumpDir.z = 3.0f; - work->jumpTime = 0.0f; - BoardPlayerMotionShiftSet(spaceAmidaPlayerNo, 4, 0.0f, 10.0f, HU3D_MOTATTR_NONE); - obj->func = SpaceAmidaJumpDown; + temp_r30 = HuPrcCurrentGet()->user_data; + temp_r31 = temp_r30->data; + temp_r31->unk10.x = 0.0f; + temp_r31->unk10.y = 10.0f; + temp_r31->unk10.z = 3.0f; + temp_r31->unk20 = 0.0f; + BoardPlayerMotionShiftSet(lbl_1_bss_798, 4, 0.0f, 10.0f, 0); + temp_r30->func = fn_1_C0FC; HuPrcKill(NULL); while (TRUE) { HuPrcVSleep(); } } -static void SpaceAmidaJumpDown(omObjData *obj) -{ - SpaceAmidaGameWork *work; - Vec pos; +static void fn_1_C0FC(omObjData *arg0) { + Bss720Data *temp_r31; + Vec sp8; - work = obj->data; - BoardPlayerPosGet(spaceAmidaPlayerNo, &pos); - pos.x += work->jumpDir.x; - pos.y += work->jumpDir.y - 0.029166667f * work->jumpTime * work->jumpTime; - pos.z += work->jumpDir.z; - work->jumpTime += 1.0f; - if (pos.y <= spaceAmidaPos.y) { - BoardPlayerMotionShiftSet(spaceAmidaPlayerNo, 1, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - pos.y = spaceAmidaPos.y; - coinWinProc = HuPrcCreate(SpaceAmidaCoinRainMain, 0x2004, 0x1000, 0); - coinWinProc->user_data = obj; - obj->func = NULL; + temp_r31 = arg0->data; + BoardPlayerPosGet(lbl_1_bss_798, &sp8); + sp8.x += temp_r31->unk10.x; + sp8.y += temp_r31->unk10.y - 0.029166667f * temp_r31->unk20 * temp_r31->unk20; + sp8.z += temp_r31->unk10.z; + temp_r31->unk20 += 1.0f; + if (sp8.y <= lbl_1_bss_738.y) { + BoardPlayerMotionShiftSet(lbl_1_bss_798, 1, 0.0f, 10.0f, 0x40000001); + sp8.y = lbl_1_bss_738.y; + lbl_1_bss_75C = HuPrcCreate(fn_1_C25C, 0x2004, 0x1000, 0); + lbl_1_bss_75C->user_data = arg0; + arg0->func = NULL; } - BoardPlayerPosSetV(spaceAmidaPlayerNo, &pos); + BoardPlayerPosSetV(lbl_1_bss_798, &sp8); } -static void SpaceAmidaCoinRainMain(void) -{ - Vec coinPos[20]; - Vec coinRot[20]; - Vec playerPos; - Vec scale; - Vec coinEffPos; - float velY; - s16 coinNum; +static void fn_1_C25C(void) { + Vec sp11C[20]; + Vec sp2C[20]; + Vec sp20; + Vec sp14; + Vec sp8; + float var_f31; + s16 var_r30; s16 i; - coinNum = 0; - BoardPlayerPosGet(spaceAmidaPlayerNo, &playerPos); - scale.x = scale.y = scale.z = 1.0f; - for (i = 0; i < spaceAmidaCoinNum; i++) { - BoardModelVisibilitySet(coinMdlId[i], 1); - coinPos[i] = playerPos; - coinPos[i].y += 600.0f + i * 120; - coinPos[i].x += -25.0f + 50.0f * frand8() * 0.003921569f; - coinPos[i].z += -25.0f + 50.0f * frand8() * 0.003921569f; - coinRot[i].x = coinRot[i].z = 0.0f; - coinRot[i].y = 360.0f * frand8() * 0.003921569f; - BoardModelPosSetV(coinMdlId[i], &coinPos[i]); - BoardModelScaleSetV(coinMdlId[i], &scale); - BoardModelRotSetV(coinMdlId[i], &coinRot[i]); + var_r30 = 0; + BoardPlayerPosGet(lbl_1_bss_798, &sp20); + sp14.x = sp14.y = sp14.z = 1.0f; + for (i = 0; i < lbl_1_bss_728; i++) { + BoardModelVisibilitySet(lbl_1_bss_760[i], 1); + sp11C[i] = sp20; + sp11C[i].y += 600.0f + i * 120; + sp11C[i].x += -25.0f + 50.0f * frand8() * 0.003921569f; + sp11C[i].z += -25.0f + 50.0f * frand8() * 0.003921569f; + sp2C[i].x = sp2C[i].z = 0.0f; + sp2C[i].y = 360.0f * frand8() * 0.003921569f; + BoardModelPosSetV(lbl_1_bss_760[i], &sp11C[i]); + BoardModelScaleSetV(lbl_1_bss_760[i], &sp14); + BoardModelRotSetV(lbl_1_bss_760[i], &sp2C[i]); } - velY = -1.0f; + var_f31 = -1.0f; while (TRUE) { - for (i = 0; i < spaceAmidaCoinNum; i++) { - if (i >= coinNum) { - coinPos[i].y += velY; - BoardModelPosSetV(coinMdlId[i], &coinPos[i]); - coinRot[i].y += 45.0f; - if (coinRot[i].y >= 360.0f) { - coinRot[i].y -= 360.0f; + for (i = 0; i < lbl_1_bss_728; i++) { + if (i >= var_r30) { + sp11C[i].y += var_f31; + BoardModelPosSetV(lbl_1_bss_760[i], &sp11C[i]); + sp2C[i].y += 45.0f; + if (sp2C[i].y >= 360.0f) { + sp2C[i].y -= 360.0f; } - BoardModelRotSetV(coinMdlId[i], &coinRot[i]); - if (coinPos[i].y <= playerPos.y + 80.0f) { - Vec pos = coinPos[i]; - CharModelCoinEffectCreate(1, &pos); - BoardModelVisibilitySet(coinMdlId[i], 0); - coinNum++; - BoardPlayerCoinsAdd(spaceAmidaPlayerNo, 1); + BoardModelRotSetV(lbl_1_bss_760[i], &sp2C[i]); + if (sp11C[i].y <= sp20.y + 80.0f) { + sp8 = sp11C[i]; + CharModelCoinEffectCreate(1, &sp8); + BoardModelVisibilitySet(lbl_1_bss_760[i], 0); + var_r30++; + BoardPlayerCoinsAdd(lbl_1_bss_798, 1); HuAudFXPlay(7); - omVibrate(spaceAmidaPlayerNo, 0xC, 6, 6); + omVibrate(lbl_1_bss_798, 0xC, 6, 6); } } } - velY *= 1.05f; - if (velY < -20.0f) { - velY = -20.0f; + var_f31 *= 1.05f; + if (var_f31 < -20.0f) { + var_f31 = -20.0f; } - if (coinNum == spaceAmidaCoinNum) { - BoardPlayerMotionShiftSet(spaceAmidaPlayerNo, 7, 0.0f, 10.0f, HU3D_MOTATTR_NONE); + if (var_r30 == lbl_1_bss_728) { + BoardPlayerMotionShiftSet(lbl_1_bss_798, 7, 0.0f, 10.0f, 0); break; } HuPrcVSleep(); } - while (!BoardPlayerMotionEndCheck(spaceAmidaPlayerNo)) { + while (!BoardPlayerMotionEndCheck(lbl_1_bss_798)) { HuPrcVSleep(); } - coinWinProc = HuPrcCreate(SpaceAmidaReturnWinMain, 0x2004, 0x1000, 0); - coinWinProc->user_data = HuPrcCurrentGet()->user_data; + lbl_1_bss_75C = HuPrcCreate(fn_1_C844, 0x2004, 0x1000, 0); + lbl_1_bss_75C->user_data = HuPrcCurrentGet()->user_data; HuPrcKill(NULL); while (TRUE) { HuPrcVSleep(); } } -static void SpaceAmidaReturnWinMain(void) -{ - omObjData *obj; +static void fn_1_C844(void) { + omObjData *var_r31; BoardWinCreate(2, MAKE_MESSID(11, 7), 0); BoardWinWait(); BoardWinKill(); - obj = HuPrcCurrentGet()->user_data; - obj->func = SpaceAmidaGameStop; + var_r31 = HuPrcCurrentGet()->user_data; + var_r31->func = fn_1_C894; HuPrcKill(NULL); while (TRUE) { HuPrcVSleep(); } } -static void SpaceAmidaGameStop(omObjData *obj) -{ - SpaceAmidaStop(); - omDelObjEx(HuPrcCurrentGet(), obj); +static void fn_1_C894(omObjData *arg0) { + float temp_f31; + + lbl_1_bss_72A = 1; + BoardMGExit(); + temp_f31 = BoardModelMotionTimeGet(lbl_1_bss_796); + lbl_1_bss_754 = temp_f31; + BoardModelMotionStart(lbl_1_bss_796, 0, 0); + BoardModelMotionTimeSet(lbl_1_bss_796, temp_f31); + BoardModelMotionSpeedSet(lbl_1_bss_796, -1.0f); + omDelObjEx(HuPrcCurrentGet(), arg0); } -static void SpaceAmidaDirGet(Vec *b, Vec *a, Vec *result) -{ - VECSubtract(a, b, result); - VECNormalize(result, result); +static void fn_1_C94C(Vec *arg0, Vec *arg1, Vec *arg2) { + PSVECSubtract(arg1, arg0, arg2); + PSVECNormalize(arg2, arg2); } -static float SpaceAmidaAngleGet(Vec *dir) -{ - float angle; +static float fn_1_C998(Vec *arg0) { + float temp_f31; - if (dir->x || dir->z) { - if (dir->x == 0.0f) { - if (dir->z > 0.0f) { + if (arg0->x || arg0->z) { + if (arg0->x == 0.0f) { + if (arg0->z > 0.0f) { return 0.0f; - } - else { + } else { return 180.0f; } } - if (dir->z == 0.0f) { - if (dir->x > 0.0f) { + if (arg0->z == 0.0f) { + if (arg0->x > 0.0f) { return 90.0f; - } - else { + } else { return 270.0f; } } - angle = atan2d(dir->z, dir->x); - if (dir->z < 0.0f) { - angle = 90.0f - angle; - } - else { - angle = 90.0f - angle; - if (angle < 0.0f) { - angle += 360.0f; + temp_f31 = atan2d(arg0->z, arg0->x); + if (arg0->z < 0.0f) { + temp_f31 = 90.0f - temp_f31; + } else { + temp_f31 = 90.0f - temp_f31; + if (temp_f31 < 0.0f) { + temp_f31 += 360.0f; } } - return angle; + return temp_f31; } return -1.0f; } -static u32 SpaceAmidaPlayerRotAdd(Vec *rocketPos, float delta) -{ - Vec dir; - Vec playerPos; - Vec playerRot; - float rocketAngle; - float angleDelta; - float rotY; +static u32 fn_1_CB44(Vec *arg0, float arg1) { + Vec sp24; + Vec sp18; + Vec spC; + float var_f28; + float var_f30; + float var_f31; - BoardPlayerPosGet(spaceAmidaPlayerNo, &playerPos); - SpaceAmidaDirGet(&playerPos, rocketPos, &dir); - rocketAngle = SpaceAmidaAngleGet(&dir); - BoardPlayerRotGet(spaceAmidaPlayerNo, &playerRot); - rotY = playerRot.y; - angleDelta = rocketAngle - rotY; - if (delta == 0.0f) { - rotY = rocketAngle; - } - else if (fabs(angleDelta) > delta) { - if (angleDelta < 0.0f) { - angleDelta += 360.0f; + BoardPlayerPosGet(lbl_1_bss_798, &sp18); + PSVECSubtract(arg0, &sp18, &sp24); + PSVECNormalize(&sp24, &sp24); + var_f28 = fn_1_C998(&sp24); + BoardPlayerRotGet(lbl_1_bss_798, &spC); + var_f31 = spC.y; + var_f30 = var_f28 - var_f31; + if (arg1 == 0.0f) { + var_f31 = var_f28; + } else if (fabs(var_f30) > arg1) { + if (var_f30 < 0.0f) { + var_f30 += 360.0f; } - if (angleDelta < 180.0f) { - if (angleDelta > delta) { - rotY += delta; - } - else { - rotY += angleDelta; + if (var_f30 < 180.0f) { + if (var_f30 > arg1) { + var_f31 += arg1; + } else { + var_f31 += var_f30; } + } else if (360.0f - var_f30 > arg1) { + var_f31 -= arg1; + } else { + var_f31 -= 360.0f - var_f30; } - else if (360.0f - angleDelta > delta) { - rotY -= delta; - } - else { - rotY -= 360.0f - angleDelta; - } + } else { + var_f31 = var_f28; } - else { - rotY = rocketAngle; + if (var_f31 >= 360.0f) { + var_f31 -= 360.0f; } - if (rotY >= 360.0f) { - rotY -= 360.0f; + if (var_f31 < 0.0f) { + var_f31 += 360.0f; } - if (rotY < 0.0f) { - rotY += 360.0f; - } - BoardPlayerRotYSet(spaceAmidaPlayerNo, rotY); - if (rotY == rocketAngle) { - return TRUE; - } - else { - return FALSE; + BoardPlayerRotYSet(lbl_1_bss_798, var_f31); + if (var_f31 == var_f28) { + return 1; + } else { + return 0; } } -static void SpaceAmidaEffCreate(void) -{ - spaceAmidaEffAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_W01, 20)); - spaceAmidaEffObj = omAddObjEx(boardObjMan, 0x101, 1, 0, -1, SpaceAmidaEffUpdate); - spaceAmidaEffObj->data = HuMemDirectMallocNum(HEAP_SYSTEM, 12, MEMORY_DEFAULT_NUM); - spaceAmidaEffObj->model[0] = Hu3DParticleCreate(spaceAmidaEffAnim, 0x320); - Hu3DParticleColSet(spaceAmidaEffObj->model[0], 255, 0, 0); - Hu3DParticleScaleSet(spaceAmidaEffObj->model[0], 5.0f); - Hu3DParticleHookSet(spaceAmidaEffObj->model[0], SpaceAmidaEffParticleHook); - Hu3DParticleBlendModeSet(spaceAmidaEffObj->model[0], 1); - Hu3DModelAttrSet(spaceAmidaEffObj->model[0], HU3D_ATTR_DISPOFF); - spaceAmidaEffObj->work[0] = 0; +static void fn_1_CEC4(void) { + lbl_1_bss_70C = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_W01, 20)); + lbl_1_bss_710 = omAddObjEx(boardObjMan, 0x101, 1, 0, -1, fn_1_D07C); + lbl_1_bss_710->data = HuMemDirectMallocNum(HEAP_SYSTEM, 12, MEMORY_DEFAULT_NUM); + lbl_1_bss_710->model[0] = Hu3DParticleCreate(lbl_1_bss_70C, 0x320); + Hu3DParticleColSet(lbl_1_bss_710->model[0], 0xFF, 0, 0); + Hu3DParticleScaleSet(lbl_1_bss_710->model[0], 5.0f); + Hu3DParticleHookSet(lbl_1_bss_710->model[0], fn_1_D114); + Hu3DParticleBlendModeSet(lbl_1_bss_710->model[0], 1); + Hu3DModelAttrSet(lbl_1_bss_710->model[0], 1); + lbl_1_bss_710->work[0] = 0; } -static void SpaceAmidaEffKill(void) -{ - Hu3DModelKill(spaceAmidaEffObj->model[0]); - omDelObjEx(HuPrcCurrentGet(), spaceAmidaEffObj); +static void fn_1_D034(void) { + Hu3DModelKill(lbl_1_bss_710->model[0]); + omDelObjEx(HuPrcCurrentGet(), lbl_1_bss_710); } -static void SpaceAmidaEffUpdate(omObjData *obj) -{ - void *work; +static void fn_1_D07C(omObjData *arg0) { + void *sp8; - work = obj->data; - switch (obj->work[0]) { + sp8 = arg0->data; + switch (arg0->work[0]) { case 0: break; case 1: - obj->work[0] = 2; - Hu3DModelAttrReset(obj->model[0], HU3D_ATTR_DISPOFF); - Hu3DModelScaleSet(obj->model[0], 10.0f, 10.0f, 10.0f); + arg0->work[0] = 2; + Hu3DModelAttrReset(arg0->model[0], 1); + Hu3DModelScaleSet(arg0->model[0], 10.0f, 10.0f, 10.0f); break; case 2: break; } } -static void SpaceAmidaEffParticleHook(ModelData *model, ParticleData *particle, Mtx matrix) -{ - RocketWork *work; - HsfanimStruct01 *particleDataP; - Vec pos; - float size; +static void fn_1_D114(ModelData *model, ParticleData *particle, Mtx matrix) { + Bss714Data *temp_r28; + HsfanimStruct01 *var_r31; + Vec sp8; + float temp_f31; s32 i; s32 j; - s32 relSize; + s32 temp_r26; - BoardModelPosGet(rocketObj[spaceAmidaPath]->work[0], &pos); - work = rocketObj[spaceAmidaPath]->data; + BoardModelPosGet(lbl_1_bss_714[lbl_1_bss_730]->work[0], &sp8); + temp_r28 = lbl_1_bss_714[lbl_1_bss_730]->data; if (particle->unk_34 == 0) { - particleDataP = particle->unk_48; - for (i = 0; i < particle->unk_30; i++, particleDataP++) { - particleDataP->unk2C = 0.0f; + var_r31 = particle->unk_48; + for (i = 0; i < particle->unk_30; i++, var_r31++) { + var_r31->unk2C = 0.0f; } - particle->unk_1C = (void *)1; + particle->unk_1C = (void*) 1; } - if (work->kemuriSize > 0.0f) { - for (i = 0; i < 80.0f * work->kemuriSize; i++) { - particleDataP = particle->unk_48; - for (j = 0; j < particle->unk_30; j++, particleDataP++) { - if (particleDataP->unk2C == 0.0f) { + if (temp_r28->unk1C > 0.0f) { + for (i = 0; i < 80.0f * temp_r28->unk1C; i++) { + var_r31 = particle->unk_48; + for (j = 0; j < particle->unk_30; j++, var_r31++) { + if (var_r31->unk2C == 0.0f) { break; } } if (j != particle->unk_30) { - relSize = frand16(); - size = (-15.0f + 30.0f * (relSize / 65536.0f)) * work->kemuriSize; - particleDataP->unk08.x = pos.x + size; - particleDataP->unk08.y = pos.y; - particleDataP->unk08.z = pos.z; - particleDataP->unk14.x = 255.0f; - particleDataP->unk14.y = 155.0f; - particleDataP->unk14.z = 55.0f; - particleDataP->unk40.a = 0xFF; - particleDataP->unk20 = 0.0f; - particleDataP->unk24 = work->kemuriSize * (-3.0 + (2.0 * (fabs(size) / 15.0))); - particleDataP->unk28 = 0.0f; - particleDataP->unk2C = 7.3f; + temp_r26 = frand16(); + temp_f31 = (-15.0f + 30.0f * (temp_r26 / 65536.0f)) * temp_r28->unk1C; + var_r31->unk08.x = sp8.x + temp_f31; + var_r31->unk08.y = sp8.y; + var_r31->unk08.z = sp8.z; + var_r31->unk14.x = 255.0f; + var_r31->unk14.y = 155.0f; + var_r31->unk14.z = 55.0f; + var_r31->unk40.a = 0xFF; + var_r31->unk20 = 0.0f; + var_r31->unk24 = temp_r28->unk1C * (-3.0 + (2.0 * (fabs(temp_f31) / 15.0))); + var_r31->unk28 = 0.0f; + var_r31->unk2C = 7.3f; } } } - particleDataP = particle->unk_48; - for (i = 0; i < particle->unk_30; i++, particleDataP++) { - if (particleDataP->unk2C == 0.0f) { + var_r31 = particle->unk_48; + for (i = 0; i < particle->unk_30; i++, var_r31++) { + if (var_r31->unk2C == 0.0f) { continue; } - particleDataP->unk34.x = particleDataP->unk08.x; - particleDataP->unk34.y = particleDataP->unk08.y; - particleDataP->unk34.z = particleDataP->unk08.z; - particleDataP->unk08.x += particleDataP->unk20; - particleDataP->unk08.y += particleDataP->unk24; - particleDataP->unk08.z += particleDataP->unk28; - if (particleDataP->unk08.y <= spaceAmidaPos.y) { - particleDataP->unk08.y = spaceAmidaPos.y; - particleDataP->unk24 = -particleDataP->unk24 - 0.3f; - if (particleDataP->unk24 < 0.0f) { - particleDataP->unk24 = 0.0f; + var_r31->unk34.x = var_r31->unk08.x; + var_r31->unk34.y = var_r31->unk08.y; + var_r31->unk34.z = var_r31->unk08.z; + var_r31->unk08.x += var_r31->unk20; + var_r31->unk08.y += var_r31->unk24; + var_r31->unk08.z += var_r31->unk28; + if (var_r31->unk08.y <= lbl_1_bss_738.y) { + var_r31->unk08.y = lbl_1_bss_738.y; + var_r31->unk24 = -var_r31->unk24 - 0.3f; + if (var_r31->unk24 < 0.0f) { + var_r31->unk24 = 0.0f; } - relSize = 80.0f * (2.0f * ((pos.x - particleDataP->unk08.x) / 15.0f) - rand8() / 255.0f); - particleDataP->unk20 = 8.0 * sind(relSize); - particleDataP->unk28 = 8.0 * cosd(relSize); + temp_r26 = 80.0f * (2.0f * ((sp8.x - var_r31->unk08.x) / 15.0f) - rand8() / 255.0f); + var_r31->unk20 = 8.0 * sind(temp_r26); + var_r31->unk28 = 8.0 * cosd(temp_r26); } - particleDataP->unk24 -= 0.35f; - if ((particleDataP->unk14.x -= 25.5f) < 0.0f) { - particleDataP->unk14.x = 0.0f; + var_r31->unk24 -= 0.35f; + if ((var_r31->unk14.x -= 25.5f) < 0.0f) { + var_r31->unk14.x = 0.0f; } - if ((particleDataP->unk14.y -= 36.42857f) < 0.0f) { - particleDataP->unk14.y = 0.0f; + if ((var_r31->unk14.y -= 36.42857f) < 0.0f) { + var_r31->unk14.y = 0.0f; } - if ((particleDataP->unk14.z -= 63.75f) < 0.0f) { - particleDataP->unk14.z = 0.0f; + if ((var_r31->unk14.z -= 63.75f) < 0.0f) { + var_r31->unk14.z = 0.0f; } - particleDataP->unk40.r = particleDataP->unk14.x; - particleDataP->unk40.g = particleDataP->unk14.y; - particleDataP->unk40.b = particleDataP->unk14.z; - if (particleDataP->unk40.r == 0 && particleDataP->unk40.g == 0 && particleDataP->unk40.b == 0) { - particleDataP->unk2C = 0.0f; + var_r31->unk40.r = var_r31->unk14.x; + var_r31->unk40.g = var_r31->unk14.y; + var_r31->unk40.b = var_r31->unk14.z; + if (var_r31->unk40.r == 0 && var_r31->unk40.g == 0 && var_r31->unk40.b == 0) { + var_r31->unk2C = 0.0f; } } } diff --git a/src/REL/w01Dll/mg_item.c b/src/REL/w01Dll/mg_item.c index 6a61927a..a2c6333e 100755 --- a/src/REL/w01Dll/mg_item.c +++ b/src/REL/w01Dll/mg_item.c @@ -1,7 +1,6 @@ #include "REL/w01Dll.h" #include "game/audio.h" #include "game/data.h" -#include "game/frand.h" #include "game/gamework_data.h" #include "game/hsfanim.h" #include "game/hsfdraw.h" @@ -13,949 +12,937 @@ #include "game/pad.h" #include "game/process.h" #include "game/sprite.h" +#include "game/frand.h" +#include "game/window.h" #include "game/board/audio.h" #include "game/board/main.h" #include "game/board/model.h" #include "game/board/player.h" #include "game/board/ui.h" #include "game/board/window.h" -#include "game/window.h" #include "dolphin.h" #include "ext_math.h" -static void RoundItemEnd(void); -static void RoundItemClose(void); -static void RoundItemMainUpdate(omObjData *obj); -static void RoundItemUmaStop(omObjData *obj); -static void RoundItemPlayerJump(omObjData *obj); -static void RoundItemStartWait(omObjData *obj); -static void RoundItemComInputGet(omObjData *obj, u16 *btn); -static void RoundItemInputWait(omObjData *obj); -static void RoundItemStop(omObjData *obj); -static void RoundItemLightFlicker(omObjData *obj); -static void RoundItemUmaJumpWait(omObjData *obj); -static void RoundItemUmaJump(omObjData *obj); -static void RoundItemRotatePlayer(omObjData *obj); -static void RoundItemStreamWait(omObjData *obj); -static void RoundItemWinWait(omObjData *obj); -static void ItemGetWinExec(void); -static void ItemGetShrinkWait(omObjData *obj); -static void ItemGetReturnWinExec(void); -static void RoundItemGameClose(omObjData *obj); -static void RoundItemGameEnd(omObjData *obj); -static void RoundItemItemUpdate(omObjData *obj); -static s16 RoundItemItemGet(u32 umaNo); -static void ItemGetCreate(s16 itemNo); -static void ItemGetObjUpdate(omObjData *obj); -static void ItemGetPlayerMove(omObjData *obj); -static void ItemGetShrink(omObjData *obj); -static float RoundItemUmaRotYGet(u32 umaNo); -static void RoundItemUmaPlayerSet(u32 umaNo); -static float RoundItemAngleGet(Vec *arg0); -static void ItemGetEff1Hook(ModelData *model, ParticleData *particle, Mtx matrix); -static void ItemGetEff2Hook(ModelData *model, ParticleData *particle, Mtx matrix); +static void fn_1_E100(void); +static void fn_1_E154(void); +static void fn_1_E2B8(omObjData *arg0); +static void fn_1_E44C(omObjData *arg0); +static void fn_1_E914(omObjData *arg0); +static void fn_1_ECD4(omObjData *arg0); +static void fn_1_EEA0(omObjData *arg0, u16 *arg1); +static void fn_1_EED8(omObjData *arg0); +static void fn_1_F09C(omObjData *arg0); +static void fn_1_F348(omObjData *arg0); +static void fn_1_F3F8(omObjData *arg0); +static void fn_1_F6E8(omObjData *arg0); +static void fn_1_F890(omObjData *arg0); +static void fn_1_FA1C(omObjData *arg0); +static void fn_1_FABC(omObjData *arg0); +static void fn_1_FB58(void); +static void fn_1_FC3C(omObjData *arg0); +static void fn_1_FCEC(void); +static void fn_1_FD3C(omObjData *arg0); +static void fn_1_FE44(omObjData *arg0); +static void fn_1_FED0(omObjData *arg0); +static s16 fn_1_1001C(u32 arg0); +static void fn_1_101B8(s16 arg0); +static void fn_1_10664(omObjData *arg0); +static void fn_1_10820(omObjData *arg0); +static void fn_1_10AE8(omObjData *arg0); +static float fn_1_10BB0(u32 arg0); +static void fn_1_10CF0(u32 arg0); +static float fn_1_10EB8(Vec *arg0); +static void fn_1_11064(ModelData *model, ParticleData *particle, Mtx matrix); +static void fn_1_11484(ModelData *model, ParticleData *particle, Mtx matrix); -static void *itemAnim; -static Vec roundItemPos; -static omObjData *itemObj[4]; -static omObjData *roundItemUmaObj; -static omObjData *roundItemMainObj; -static omObjData *itemGetObj; -static float umaSpeed; -static float borderSpeed; -static s32 roundItemPlayer; -static Vec umaPos; -static s16 seqStartId; -static s16 timerSeqId; -static s16 timerSec; -static s16 timerFrame; -static Vec roundItemPlayerPos; +static void *lbl_1_bss_818; +static Vec lbl_1_bss_80C; +static omObjData *lbl_1_bss_7FC[4]; +static omObjData *lbl_1_bss_7F8; +static omObjData *lbl_1_bss_7F4; +static omObjData *lbl_1_bss_7F0; +static float lbl_1_bss_7EC; +static float lbl_1_bss_7E8; +static s32 lbl_1_bss_7E4; +static Vec lbl_1_bss_7D8; +static s16 lbl_1_bss_7D6; +static s16 lbl_1_bss_7D4; +static s16 lbl_1_bss_7D2; +static s16 lbl_1_bss_7D0; +static Vec lbl_1_bss_7C4; static s32 lbl_1_bss_7C0_pad; -static s32 itemGetMotId; -static s32 jumpMotId; -static s16 umaStopF; +static s32 lbl_1_bss_7BC; +static s32 lbl_1_bss_7B8; +static s16 lbl_1_bss_7B4; static s32 lbl_1_bss_7B0_pad; -static s32 itemGetSeNo; -static s16 roundItemStopF; -static s16 umaStopTimer; -static s32 roundItemStreamId; -static AnimData *roundItemEffAnim; +static s32 lbl_1_bss_7AC; +static s16 lbl_1_bss_7AA; +static s16 lbl_1_bss_7A8; +static s32 lbl_1_bss_7A4; +static AnimData *lbl_1_bss_7A0; -#if VERSION_JP -#define MDL_ID_SHIFT 0 -#else -#define MDL_ID_SHIFT 1 -#endif - -static s32 itemMdlTbl[] = { - DATA_MAKE_NUM(DATADIR_BOARD, 108 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 109 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 110 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 111 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 112 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 113 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 114 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 115 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 117 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 118 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 119 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 120 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 121 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 122 + MDL_ID_SHIFT), +static s32 lbl_1_data_F08[] = { + DATA_MAKE_NUM(DATADIR_BOARD, 109), + DATA_MAKE_NUM(DATADIR_BOARD, 110), + DATA_MAKE_NUM(DATADIR_BOARD, 111), + DATA_MAKE_NUM(DATADIR_BOARD, 112), + DATA_MAKE_NUM(DATADIR_BOARD, 113), + DATA_MAKE_NUM(DATADIR_BOARD, 114), + DATA_MAKE_NUM(DATADIR_BOARD, 115), + DATA_MAKE_NUM(DATADIR_BOARD, 116), + DATA_MAKE_NUM(DATADIR_BOARD, 118), + DATA_MAKE_NUM(DATADIR_BOARD, 119), + DATA_MAKE_NUM(DATADIR_BOARD, 120), + DATA_MAKE_NUM(DATADIR_BOARD, 121), + DATA_MAKE_NUM(DATADIR_BOARD, 122), + DATA_MAKE_NUM(DATADIR_BOARD, 123) }; -static s32 itemGetMotTbl[8] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 23), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 23), DATA_MAKE_NUM(DATADIR_PEACHMOT, 23), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 23), DATA_MAKE_NUM(DATADIR_WARIOMOT, 23), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 23), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 23), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 23) }; +static s32 lbl_1_data_F40[8] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 23), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 23), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 23), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 23), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 23), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 23), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 23), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 23) +}; -static s32 jumpMotTbl[8] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 64), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 64), DATA_MAKE_NUM(DATADIR_PEACHMOT, 64), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 64), DATA_MAKE_NUM(DATADIR_WARIOMOT, 64), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 64), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 64), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 64) }; +static s32 lbl_1_data_F60[8] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 64), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 64), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 64), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 64), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 64), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 64), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 64), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 64) +}; -void RoundItemInit(s16 *itemTbl) -{ - s16 itemOrderTbl[14]; - s16 itemMdlId[4]; - float borderTime; - float borderMaxTime; - float itemAngle; - s32 itemOrderNum; - s32 itemNum; +void fn_1_D740(s16 *arg0) { + s16 sp10[14]; + s16 sp8[4]; + float temp_f30; + float temp_f29; + float var_f31; + s32 var_r28; + s32 var_r30; s32 i; s32 j; - itemAnim = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_W01, 28), MEMORY_DEFAULT_NUM, HEAP_DATA); - BoardModelPosGet(mapObjMdlId[MAPOBJ_ROUNDITEM], &roundItemPos); - itemMdlId[0] = BoardModelIDGet(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM]); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM], 1); + lbl_1_bss_818 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_W01, 28), MEMORY_DEFAULT_NUM, HEAP_DATA); + BoardModelPosGet(lbl_1_bss_6C4[16], &lbl_1_bss_80C); + sp8[0] = BoardModelIDGet(lbl_1_bss_6C4[19]); + BoardModelVisibilitySet(lbl_1_bss_6C4[19], 1); for (i = 1; i < 4; i++) { - itemMdlId[i] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_W01, 24)); + sp8[i] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_W01, 24)); } - itemNum = 0; + var_r30 = 0; for (i = 0; i < 4; i++) { - itemObj[i] = omAddObjEx(boardObjMan, 0x165, 2, 0, -1, NULL); - if (itemTbl[i] != -1) { - itemObj[itemNum++]->work[1] = itemTbl[i]; + lbl_1_bss_7FC[i] = omAddObjEx(boardObjMan, 0x165, 2, 0, -1, NULL); + if (arg0[i] != -1) { + lbl_1_bss_7FC[var_r30++]->work[1] = arg0[i]; } } - while (itemNum != 4) { - itemOrderNum = 0; + while (var_r30 != 4) { + var_r28 = 0; for (i = 0; i < 14; i++) { - for (j = 0; j < itemNum; j++) { - if (i == itemObj[j]->work[1]) { + for (j = 0; j < var_r30; j++) { + if (i == lbl_1_bss_7FC[j]->work[1]) { break; } } - if (j == itemNum) { - itemOrderTbl[itemOrderNum++] = i; + if (j == var_r30) { + sp10[var_r28++] = i; } } - itemObj[itemNum++]->work[1] = itemOrderTbl[rand8() % itemOrderNum]; + lbl_1_bss_7FC[var_r30++]->work[1] = sp10[rand8() % var_r28]; } - borderTime = BoardModelMotionTimeGet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER]); - borderMaxTime = BoardModelMotionMaxTimeGet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER]); + temp_f30 = BoardModelMotionTimeGet(lbl_1_bss_6C4[18]); + temp_f29 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[18]); for (i = 0; i < 4; i++) { - itemObj[i]->model[0] = itemMdlId[i]; - itemObj[i]->model[1] = Hu3DModelCreateFile(itemMdlTbl[itemObj[i]->work[1]]); - if (itemObj[i]->work[1] == 5) { - Hu3DData[itemObj[i]->model[1]].unk_F0[1][3] = -50.0f; + lbl_1_bss_7FC[i]->model[0] = sp8[i]; + lbl_1_bss_7FC[i]->model[1] = Hu3DModelCreateFile(lbl_1_data_F08[lbl_1_bss_7FC[i]->work[1]]); + if (lbl_1_bss_7FC[i]->work[1] == 5) { + Hu3DData[lbl_1_bss_7FC[i]->model[1]].unk_F0[1][3] = -50.0f; } - if (itemObj[i]->work[1] == 11) { - Hu3DModelAttrSet(itemObj[i]->model[1], HU3D_MOTATTR_LOOP); + if (lbl_1_bss_7FC[i]->work[1] == 11) { + Hu3DModelAttrSet(lbl_1_bss_7FC[i]->model[1], 0x40000001); } - if (itemObj[i]->work[1] == 4) { - Hu3DMotionSpeedSet(itemObj[i]->model[1], 0.0f); + if (lbl_1_bss_7FC[i]->work[1] == 4) { + Hu3DMotionSpeedSet(lbl_1_bss_7FC[i]->model[1], 0.0f); } - Hu3DModelAttrReset(itemMdlId[i], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(itemObj[i]->model[1], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(itemObj[i]->model[1], HU3D_MOTATTR_PAUSE); - omSetTra(itemObj[i], roundItemPos.x, roundItemPos.y + 66.0f, roundItemPos.z); - itemAngle = 90.0f - 90.0f * i + 360.0f * (borderTime / borderMaxTime); - if (itemAngle >= 360.0f) { - itemAngle -= 360.0f; + Hu3DModelAttrReset(sp8[i], 1); + Hu3DModelAttrSet(lbl_1_bss_7FC[i]->model[1], 1); + Hu3DModelAttrSet(lbl_1_bss_7FC[i]->model[1], 0x40000002); + omSetTra(lbl_1_bss_7FC[i], lbl_1_bss_80C.x, lbl_1_bss_80C.y + 66.0f, lbl_1_bss_80C.z); + var_f31 = 90.0f - 90.0f * i + 360.0f * (temp_f30 / temp_f29); + if (var_f31 >= 360.0f) { + var_f31 -= 360.0f; } - if (itemAngle < 0.0f) { - itemAngle += 360.0f; + if (var_f31 < 0.0f) { + var_f31 += 360.0f; } - omSetRot(itemObj[i], 0.0f, itemAngle, 0.0f); - itemObj[i]->work[0] = Hu3DAnimCreate(itemAnim, itemObj[i]->model[0], "item01"); - Hu3DAnimAttrSet(itemObj[i]->work[0], 1); - itemObj[i]->work[2] = i; + omSetRot(lbl_1_bss_7FC[i], 0.0f, var_f31, 0.0f); + lbl_1_bss_7FC[i]->work[0] = Hu3DAnimCreate(lbl_1_bss_818, lbl_1_bss_7FC[i]->model[0], "item01"); + Hu3DAnimAttrSet(lbl_1_bss_7FC[i]->work[0], 1); + lbl_1_bss_7FC[i]->work[2] = i; } for (i = 0; i < 4; i++) { - Hu3DAnmNoSet(itemObj[i]->work[0], itemObj[i]->work[1]); + Hu3DAnmNoSet(lbl_1_bss_7FC[i]->work[0], lbl_1_bss_7FC[i]->work[1]); } } -void RoundItemKill(void) -{ +void fn_1_DD84(void) { s32 i; for (i = 0; i < 4; i++) { if (i != 0) { - Hu3DModelKill(itemObj[i]->model[0]); + Hu3DModelKill(lbl_1_bss_7FC[i]->model[0]); + } else { + BoardModelVisibilitySet(lbl_1_bss_6C4[19], 0); + Hu3DAnimKill(lbl_1_bss_7FC[i]->work[0]); } - else { - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM], 0); - Hu3DAnimKill(itemObj[i]->work[0]); - } - Hu3DModelKill(itemObj[i]->model[1]); - omDelObjEx(boardObjMan, itemObj[i]); + Hu3DModelKill(lbl_1_bss_7FC[i]->model[1]); + omDelObjEx(boardObjMan, lbl_1_bss_7FC[i]); } - if (roundItemEffAnim) { - HuSprAnimKill(roundItemEffAnim); - roundItemEffAnim = NULL; + if (lbl_1_bss_7A0) { + HuSprAnimKill(lbl_1_bss_7A0); + lbl_1_bss_7A0 = NULL; } } -void RoundItemEventStart(void) -{ +void fn_1_DE94(void) { s32 i; - BoardModelPosGet(mapObjMdlId[MAPOBJ_ROUNDITEM], &roundItemPos); + BoardModelPosGet(lbl_1_bss_6C4[16], &lbl_1_bss_80C); for (i = 0; i < 4; i++) { - itemObj[i]->func = RoundItemItemUpdate; + lbl_1_bss_7FC[i]->func = fn_1_FED0; } - roundItemMainObj = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, RoundItemMainUpdate); - roundItemUmaObj = omAddObjEx(boardObjMan, 0x133, 0, 0, -1, RoundItemUmaStop); - roundItemUmaObj->work[3] = rand8() % 200 + 10; - roundItemPlayer = GWSystem.player_curr; - BoardPlayerPosGet(roundItemPlayer, &roundItemPlayerPos); - umaSpeed = 1.0f; - borderSpeed = 1.0f; - roundItemStopF = 0; - itemGetMotId = BoardPlayerMotionCreate(roundItemPlayer, itemGetMotTbl[GWPlayer[roundItemPlayer].character]); - jumpMotId = BoardPlayerMotionCreate(roundItemPlayer, jumpMotTbl[GWPlayer[roundItemPlayer].character]); - roundItemEffAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_EFFECT, 0)); - HuSprAnimLock(roundItemEffAnim); - umaStopF = 0; + lbl_1_bss_7F4 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, fn_1_E2B8); + lbl_1_bss_7F8 = omAddObjEx(boardObjMan, 0x133, 0, 0, -1, fn_1_E44C); + lbl_1_bss_7F8->work[3] = rand8() % 200 + 10; + lbl_1_bss_7E4 = GWSystem.player_curr; + BoardPlayerPosGet(lbl_1_bss_7E4, &lbl_1_bss_7C4); + lbl_1_bss_7EC = 1.0f; + lbl_1_bss_7E8 = 1.0f; + lbl_1_bss_7AA = 0; + lbl_1_bss_7BC = BoardPlayerMotionCreate(lbl_1_bss_7E4, lbl_1_data_F40[GWPlayer[lbl_1_bss_7E4].character]); + lbl_1_bss_7B8 = BoardPlayerMotionCreate(lbl_1_bss_7E4, lbl_1_data_F60[GWPlayer[lbl_1_bss_7E4].character]); + lbl_1_bss_7A0 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_EFFECT, 0)); + HuSprAnimLock(lbl_1_bss_7A0); + lbl_1_bss_7B4 = 0; } -static void RoundItemEnd(void) -{ - roundItemStopF = 1; +static void fn_1_E100(void) { + lbl_1_bss_7AA = 1; BoardMGExit(); HuAudFXPlay(0x40F); - BoardModelMotionStart(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_UP], 0, HU3D_MOTATTR_REV); + BoardModelMotionStart(lbl_1_bss_6C4[21], 0, 0x40000004); } -static void RoundItemClose(void) -{ - RoundItemKill(); - BoardPlayerMotionKill(roundItemPlayer, itemGetMotId); - BoardPlayerMotionKill(roundItemPlayer, jumpMotId); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_LIGHT], 0); +static void fn_1_E154(void) { + fn_1_DD84(); + BoardPlayerMotionKill(lbl_1_bss_7E4, lbl_1_bss_7BC); + BoardPlayerMotionKill(lbl_1_bss_7E4, lbl_1_bss_7B8); + BoardModelVisibilitySet(lbl_1_bss_6C4[20], 0); BoardMGDoneFlagSet(0); } -static void RoundItemMainUpdate(omObjData *obj) -{ - if (roundItemStopF == 1 && BoardMGDoneFlagGet() == 1) { - RoundItemClose(); - omDelObjEx(HuPrcCurrentGet(), obj); +static void fn_1_E2B8(omObjData *arg0) { + if (lbl_1_bss_7AA == 1 && BoardMGDoneFlagGet() == 1) { + fn_1_E154(); + omDelObjEx(HuPrcCurrentGet(), arg0); } } -static char *umaHookTbl[] = { "uma1", "uma2", "uma3", "uma4" }; +static char *lbl_1_data_F9C[] = { + "uma1", "uma2", "uma3", "uma4" +}; -static void RoundItemUmaStop(omObjData *obj) -{ - Vec playerPos; - Vec objPos; - float umaDist; - float motTime; - float motMaxTime; - float umaMinDist; +static void fn_1_E44C(omObjData *arg0) { + Vec sp18; + Vec spC; + float temp_f27; + float var_f29; + float temp_f28; + float var_f26; + float var_f24; s32 i; - motMaxTime = BoardModelMotionMaxTimeGet(mapObjMdlId[MAPOBJ_ROUNDITEM_UMA]); - motTime = BoardModelMotionTimeGet(mapObjMdlId[MAPOBJ_ROUNDITEM_UMA]); - if (motTime >= motMaxTime) { - motTime -= motMaxTime; + temp_f28 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[17]); + var_f29 = BoardModelMotionTimeGet(lbl_1_bss_6C4[17]); + if (var_f29 >= temp_f28) { + var_f29 -= temp_f28; } - if (fmodf(motTime, motMaxTime / 4) >= motMaxTime / 4 - 30.0f && umaStopF == 0) { - umaStopF = 1; - umaStopTimer = 90; + var_f24 = fmod(var_f29, temp_f28 / 4); + if (var_f24 >= temp_f28 / 4 - 30.0f && lbl_1_bss_7B4 == 0) { + lbl_1_bss_7B4 = 1; + lbl_1_bss_7A8 = 90; } - if (umaStopF != 0) { - umaSpeed *= 0.97f; - umaStopTimer--; + if (lbl_1_bss_7B4 != 0) { + lbl_1_bss_7EC *= 0.97f; + lbl_1_bss_7A8--; } - if (umaSpeed != 1.0f && umaStopTimer == 0) { - umaSpeed = 0.0f; + if (lbl_1_bss_7EC != 1.0f && lbl_1_bss_7A8 == 0) { + lbl_1_bss_7EC = 0.0f; BoardAudSeqPause(0, 1, 1000); - BoardPlayerPosGet(roundItemPlayer, &playerPos); - Hu3DModelObjPosGet(BoardModelIDGet(mapObjMdlId[MAPOBJ_ROUNDITEM_UMA]), umaHookTbl[0], &objPos); - umaMinDist = VECSquareDistance(&playerPos, &objPos); - obj->work[2] = 0; + BoardPlayerPosGet(lbl_1_bss_7E4, &sp18); + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_6C4[17]), lbl_1_data_F9C[0], &spC); + var_f26 = PSVECSquareDistance(&sp18, &spC); + arg0->work[2] = 0; for (i = 1; i < 4; i++) { - Hu3DModelObjPosGet(BoardModelIDGet(mapObjMdlId[MAPOBJ_ROUNDITEM_UMA]), umaHookTbl[i], &objPos); - umaDist = VECSquareDistance(&playerPos, &objPos); - if (umaDist < umaMinDist) { - umaMinDist = umaDist; - obj->work[2] = i; + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_6C4[17]), lbl_1_data_F9C[i], &spC); + temp_f27 = PSVECSquareDistance(&sp18, &spC); + if (temp_f27 < var_f26) { + var_f26 = temp_f27; + arg0->work[2] = i; } } - Hu3DModelObjPosGet(BoardModelIDGet(mapObjMdlId[MAPOBJ_ROUNDITEM_UMA]), umaHookTbl[obj->work[2]], &umaPos); - VECSubtract(&umaPos, &playerPos, &objPos); - VECNormalize(&objPos, &objPos); - obj->trans.x = objPos.x; - obj->trans.y = objPos.y; - obj->trans.z = objPos.z; - obj->rot.x = VECDistanceXZ(&umaPos, &playerPos); - obj->rot.y = 10.0f; - obj->rot.z = playerPos.y; - obj->scale.x = 0.0f; - BoardPlayerMotionShiftSet(roundItemPlayer, 4, 0.0f, 5.0f, HU3D_MOTATTR_NONE); - obj->func = RoundItemPlayerJump; + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_6C4[17]), lbl_1_data_F9C[arg0->work[2]], &lbl_1_bss_7D8); + PSVECSubtract(&lbl_1_bss_7D8, &sp18, &spC); + PSVECNormalize(&spC, &spC); + arg0->trans.x = spC.x; + arg0->trans.y = spC.y; + arg0->trans.z = spC.z; + arg0->rot.x = VECDistanceXZ(&lbl_1_bss_7D8, &sp18); + arg0->rot.y = 10.0f; + arg0->rot.z = sp18.y; + arg0->scale.x = 0.0f; + BoardPlayerMotionShiftSet(lbl_1_bss_7E4, 4, 0.0f, 5.0f, 0); + arg0->func = fn_1_E914; } - BoardModelMotionSpeedSet(mapObjMdlId[MAPOBJ_ROUNDITEM_UMA], umaSpeed); + BoardModelMotionSpeedSet(lbl_1_bss_6C4[17], lbl_1_bss_7EC); } -static void RoundItemPlayerJump(omObjData *obj) -{ - Vec pos; +static void fn_1_E914(omObjData *arg0) { + Vec spC; s32 i; - BoardPlayerPosGet(roundItemPlayer, &pos); - pos.x += obj->trans.x * obj->rot.x / 32.760002f; - pos.z += obj->trans.z * obj->rot.x / 32.760002f; - pos.y += obj->rot.y - 0.016666668f * obj->scale.x * obj->scale.x; - obj->scale.x += 1.0f; - if (VECDistanceXZ(&umaPos, &pos) < 2.0f) { - pos = umaPos; - BoardPlayerRotSet(roundItemPlayer, 0.0f, RoundItemUmaRotYGet(obj->work[2]), 0.0f); - umaSpeed = 0.05f; - borderSpeed = 0.05f; - BoardModelAttrReset(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER], HU3D_MOTATTR_PAUSE); - BoardModelAttrSet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER], HU3D_MOTATTR_LOOP); - BoardModelMotionSpeedSet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER], 0.0f); + BoardPlayerPosGet(lbl_1_bss_7E4, &spC); + spC.x += arg0->trans.x * arg0->rot.x / 32.760002f; + spC.z += arg0->trans.z * arg0->rot.x / 32.760002f; + spC.y += arg0->rot.y - 0.016666668f * arg0->scale.x * arg0->scale.x; + arg0->scale.x += 1.0f; + if (VECDistanceXZ(&lbl_1_bss_7D8, &spC) < 2.0f) { + spC = lbl_1_bss_7D8; + BoardPlayerRotSet(lbl_1_bss_7E4, 0.0f, fn_1_10BB0(arg0->work[2]), 0.0f); + lbl_1_bss_7EC = 0.05f; + lbl_1_bss_7E8 = 0.05f; + BoardModelAttrReset(lbl_1_bss_6C4[18], 0x40000002); + BoardModelAttrSet(lbl_1_bss_6C4[18], 0x40000001); + BoardModelMotionSpeedSet(lbl_1_bss_6C4[18], 0.0f); for (i = 0; i < 4; i++) { - itemObj[i]->func = RoundItemItemUpdate; + lbl_1_bss_7FC[i]->func = fn_1_FED0; } - BoardPlayerMotionShiftSet(roundItemPlayer, jumpMotId, 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - seqStartId = MGSeqStartCreate(); + BoardPlayerMotionShiftSet(lbl_1_bss_7E4, lbl_1_bss_7B8, 0.0f, 5.0f, 0x40000001); + lbl_1_bss_7D6 = MGSeqStartCreate(); BoardMusStart(1, 0xE, 0x7F, 0); - obj->func = RoundItemStartWait; + arg0->func = fn_1_ECD4; } - BoardPlayerPosSetV(roundItemPlayer, &pos); + BoardPlayerPosSetV(lbl_1_bss_7E4, &spC); } -static void RoundItemStartWait(omObjData *obj) -{ - umaSpeed *= 1.05f; - borderSpeed *= 1.05f; - if (umaSpeed > 2.0f) { - umaSpeed = 2.0f; +static void fn_1_ECD4(omObjData *arg0) { + lbl_1_bss_7EC *= 1.05f; + lbl_1_bss_7E8 *= 1.05f; + if (lbl_1_bss_7EC > 2.0f) { + lbl_1_bss_7EC = 2.0f; } - if (borderSpeed > 4.0f) { - borderSpeed = 4.0f; + if (lbl_1_bss_7E8 > 4.0f) { + lbl_1_bss_7E8 = 4.0f; } - if (MGSeqStatGet(seqStartId) == 0) { - umaSpeed = 2.0f; - borderSpeed = 4.0f; - obj->func = RoundItemInputWait; - timerSec = 5; - timerFrame = REFRESH_RATE; - timerSeqId = MGSeqTimerCreateXY(timerSec, 288, 64); + if (MGSeqStatGet(lbl_1_bss_7D6) == 0) { + lbl_1_bss_7EC = 2.0f; + lbl_1_bss_7E8 = 4.0f; + arg0->func = fn_1_EED8; + lbl_1_bss_7D2 = 5; + lbl_1_bss_7D0 = 60; + lbl_1_bss_7D4 = MGSeqTimerCreateXY(lbl_1_bss_7D2, 288, 64); } - BoardModelMotionSpeedSet(mapObjMdlId[MAPOBJ_ROUNDITEM_UMA], umaSpeed); - BoardModelMotionSpeedSet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER], borderSpeed); - RoundItemUmaPlayerSet(obj->work[2]); + BoardModelMotionSpeedSet(lbl_1_bss_6C4[17], lbl_1_bss_7EC); + BoardModelMotionSpeedSet(lbl_1_bss_6C4[18], lbl_1_bss_7E8); + fn_1_10CF0(arg0->work[2]); } -static void RoundItemComInputGet(omObjData *obj, u16 *btn) -{ - *btn = 0; - if (obj->work[3] != 0) { - obj->work[3]--; - } - else { - *btn |= PAD_BUTTON_A; +static void fn_1_EEA0(omObjData *arg0, u16 *arg1) { + *arg1 = 0; + if (arg0->work[3] != 0) { + arg0->work[3]--; + } else { + *arg1 |= 0x100; } } -static void RoundItemInputWait(omObjData *obj) -{ - s16 padNo; - u16 btn; +static void fn_1_EED8(omObjData *arg0) { + s16 temp_r29; + u16 var_r30; - RoundItemUmaPlayerSet(obj->work[2]); - padNo = GWPlayer[roundItemPlayer].port; - if ((--timerFrame) == 0) { - if ((--timerSec) >= 0) { - MGSeqParamSet(timerSeqId, 1, timerSec); + fn_1_10CF0(arg0->work[2]); + temp_r29 = GWPlayer[lbl_1_bss_7E4].port; + if ((lbl_1_bss_7D0 -= 1) == 0) { + if ((lbl_1_bss_7D2 -= 1) >= 0) { + MGSeqParamSet(lbl_1_bss_7D4, 1, lbl_1_bss_7D2); } - timerFrame = REFRESH_RATE; + lbl_1_bss_7D0 = 60; } - if (GWPlayerCfg[roundItemPlayer].iscom == 1) { - RoundItemComInputGet(obj, &btn); + if (GWPlayerCfg[lbl_1_bss_7E4].iscom == 1) { + fn_1_EEA0(arg0, &var_r30); + } else { + var_r30 = HuPadBtnDown[temp_r29]; } - else { - btn = HuPadBtnDown[padNo]; - } - if (timerSec < 0 || (btn & PAD_BUTTON_A)) { - BoardModelMotionSpeedSet(mapObjMdlId[MAPOBJ_ROUNDITEM_UMA], 0.0f); - MGSeqParamSet(timerSeqId, 2, -1); - obj->scale.y = 0.0f; - obj->func = RoundItemStop; + if (lbl_1_bss_7D2 < 0 || (var_r30 & 0x100)) { + BoardModelMotionSpeedSet(lbl_1_bss_6C4[17], 0.0f); + MGSeqParamSet(lbl_1_bss_7D4, 2, -1); + arg0->scale.y = 0.0f; + arg0->func = fn_1_F09C; } } -static void RoundItemStop(omObjData *obj) -{ - float maxTime; - float time; +static void fn_1_F09C(omObjData *arg0) { + float temp_f31; + float var_f30; - maxTime = BoardModelMotionMaxTimeGet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER]); - obj->scale.y += borderSpeed; - if (obj->scale.y >= maxTime - 150.0f) { - borderSpeed *= 0.9745f; - if (borderSpeed < 0.08f) { - borderSpeed = 0.08f; + temp_f31 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[18]); + arg0->scale.y += lbl_1_bss_7E8; + if (arg0->scale.y >= temp_f31 - 150.0f) { + lbl_1_bss_7E8 *= 0.9745f; + if (lbl_1_bss_7E8 < 0.08f) { + lbl_1_bss_7E8 = 0.08f; } } - BoardModelMotionSpeedSet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER], borderSpeed); - if (obj->scale.y >= maxTime) { - BoardModelMotionSpeedSet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER], 0.0f); - time = obj->scale.y - maxTime + BoardModelMotionTimeGet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER]); - if (time > maxTime) { - time -= maxTime; + BoardModelMotionSpeedSet(lbl_1_bss_6C4[18], lbl_1_bss_7E8); + if (arg0->scale.y >= temp_f31) { + BoardModelMotionSpeedSet(lbl_1_bss_6C4[18], 0.0f); + var_f30 = arg0->scale.y - temp_f31 + BoardModelMotionTimeGet(lbl_1_bss_6C4[18]); + if (var_f30 > temp_f31) { + var_f30 -= temp_f31; } - BoardModelMotionTimeSet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER], time); - obj->work[0] = RoundItemItemGet(obj->work[2]); - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_LIGHT], 1); - BoardModelPosSet(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_LIGHT], itemObj[obj->work[0]]->trans.x, itemObj[obj->work[0]]->trans.y + 1.0f, - itemObj[obj->work[0]]->trans.z); - BoardModelRotSet( - mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_LIGHT], itemObj[obj->work[0]]->rot.x, itemObj[obj->work[0]]->rot.y + 1.0f, itemObj[obj->work[0]]->rot.z); - obj->work[1] = 60; + BoardModelMotionTimeSet(lbl_1_bss_6C4[18], var_f30); + arg0->work[0] = fn_1_1001C(arg0->work[2]); + BoardModelVisibilitySet(lbl_1_bss_6C4[20], 1); + BoardModelPosSet(lbl_1_bss_6C4[20], lbl_1_bss_7FC[arg0->work[0]]->trans.x, lbl_1_bss_7FC[arg0->work[0]]->trans.y + 1.0f, lbl_1_bss_7FC[arg0->work[0]]->trans.z); + BoardModelRotSet(lbl_1_bss_6C4[20], lbl_1_bss_7FC[arg0->work[0]]->rot.x, lbl_1_bss_7FC[arg0->work[0]]->rot.y + 1.0f, lbl_1_bss_7FC[arg0->work[0]]->rot.z); + arg0->work[1] = 60; BoardAudSeqFadeOut(1, 100); - obj->func = RoundItemLightFlicker; + arg0->func = fn_1_F348; HuAudFXPlay(0x40A); } } -static void RoundItemLightFlicker(omObjData *obj) -{ - if ((obj->work[1] / 4) & 1) { - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_LIGHT], 0); +static void fn_1_F348(omObjData *arg0) { + if ((arg0->work[1] / 4) & 1) { + BoardModelVisibilitySet(lbl_1_bss_6C4[20], 0); + } else { + BoardModelVisibilitySet(lbl_1_bss_6C4[20], 1); } - else { - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_LIGHT], 1); - } - if ((--obj->work[1]) == 0) { - BoardModelVisibilitySet(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_LIGHT], 0); - ItemGetCreate(obj->work[0]); + if ((arg0->work[1] -= 1) == 0) { + BoardModelVisibilitySet(lbl_1_bss_6C4[20], 0); + fn_1_101B8(arg0->work[0]); HuAudFXPlay(0x310); - obj->func = RoundItemUmaJumpWait; + arg0->func = fn_1_F3F8; } } -static void RoundItemUmaJumpWait(omObjData *obj) -{ - Vec playerPos; - Vec dir; +static void fn_1_F3F8(omObjData *arg0) { + Vec sp18; + Vec spC; - if (itemGetObj->work[0] != 1) { + if (lbl_1_bss_7F0->work[0] != 1) { return; } - BoardPlayerPosGet(roundItemPlayer, &playerPos); - VECSubtract(&roundItemPlayerPos, &playerPos, &dir); - VECNormalize(&dir, &dir); - obj->trans.x = dir.x; - obj->trans.y = dir.y; - obj->trans.z = dir.z; - obj->rot.x = VECDistanceXZ(&roundItemPlayerPos, &playerPos); - obj->scale.y = 20.0f + 40.0f * (obj->rot.x / 445.0f); - obj->rot.y = 0.016666668f * (obj->scale.y / 2) * (obj->scale.y / 2); - obj->rot.z = playerPos.y; - obj->scale.x = 0.0f; - BoardPlayerMotionShiftSet(roundItemPlayer, 4, 0.0f, 5.0f, HU3D_MOTATTR_NONE); - VECSubtract(&roundItemPlayerPos, &playerPos, &dir); - VECNormalize(&dir, &dir); - BoardPlayerRotSet(roundItemPlayer, 0.0f, RoundItemAngleGet(&dir), 0.0f); - obj->func = RoundItemUmaJump; + BoardPlayerPosGet(lbl_1_bss_7E4, &sp18); + PSVECSubtract(&lbl_1_bss_7C4, &sp18, &spC); + PSVECNormalize(&spC, &spC); + arg0->trans.x = spC.x; + arg0->trans.y = spC.y; + arg0->trans.z = spC.z; + arg0->rot.x = VECDistanceXZ(&lbl_1_bss_7C4, &sp18); + arg0->scale.y = 20.0f + 40.0f * (arg0->rot.x / 445.0f); + arg0->rot.y = 0.016666668f * (arg0->scale.y / 2) * (arg0->scale.y / 2); + arg0->rot.z = sp18.y; + arg0->scale.x = 0.0f; + BoardPlayerMotionShiftSet(lbl_1_bss_7E4, 4, 0.0f, 5.0f, 0); + PSVECSubtract(&lbl_1_bss_7C4, &sp18, &spC); + PSVECNormalize(&spC, &spC); + BoardPlayerRotSet(lbl_1_bss_7E4, 0.0f, fn_1_10EB8(&spC), 0.0f); + arg0->func = fn_1_F6E8; } -static void RoundItemUmaJump(omObjData *obj) -{ - Vec pos; +static void fn_1_F6E8(omObjData *arg0) { + Vec sp8; - BoardPlayerPosGet(roundItemPlayer, &pos); - pos.x += obj->trans.x * obj->rot.x / obj->scale.y; - pos.z += obj->trans.z * obj->rot.x / obj->scale.y; - pos.y += obj->rot.y - 0.016666668f * obj->scale.x * obj->scale.x; - obj->scale.x += 1.0f; - if (pos.y < roundItemPos.y || obj->scale.x >= obj->scale.y) { - pos.y = roundItemPos.y; - BoardCameraMotionStart(BoardPlayerModelGet(roundItemPlayer), NULL, 700.0f, -1.0f); - BoardPlayerMotionStart(roundItemPlayer, 2, HU3D_MOTATTR_LOOP); - obj->func = RoundItemRotatePlayer; + BoardPlayerPosGet(lbl_1_bss_7E4, &sp8); + sp8.x += arg0->trans.x * arg0->rot.x / arg0->scale.y; + sp8.z += arg0->trans.z * arg0->rot.x / arg0->scale.y; + sp8.y += arg0->rot.y - 0.016666668f * arg0->scale.x * arg0->scale.x; + arg0->scale.x += 1.0f; + if (sp8.y < lbl_1_bss_80C.y || arg0->scale.x >= arg0->scale.y) { + sp8.y = lbl_1_bss_80C.y; + BoardCameraMotionStart(BoardPlayerModelGet(lbl_1_bss_7E4), NULL, 700.0f, -1.0f); + BoardPlayerMotionStart(lbl_1_bss_7E4, 2, 0x40000001); + arg0->func = fn_1_F890; } - BoardPlayerPosSetV(roundItemPlayer, &pos); + BoardPlayerPosSetV(lbl_1_bss_7E4, &sp8); } -static void RoundItemRotatePlayer(omObjData *obj) -{ - Vec rot; +static void fn_1_F890(omObjData *arg0) { + Vec sp8; - BoardPlayerRotGet(roundItemPlayer, &rot); - if (rot.y == 0.0f) { - BoardPlayerMotionShiftSet(roundItemPlayer, 1, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - itemGetObj->work[0] = 0; - itemGetObj->func = ItemGetPlayerMove; - obj->func = RoundItemStreamWait; - } - else if (rot.y > 180.0f) { - if (360.0f - rot.y < 3.0f) { - rot.y = 0.0f; + BoardPlayerRotGet(lbl_1_bss_7E4, &sp8); + if (sp8.y == 0.0f) { + BoardPlayerMotionShiftSet(lbl_1_bss_7E4, 1, 0.0f, 10.0f, 0x40000001); + lbl_1_bss_7F0->work[0] = 0; + lbl_1_bss_7F0->func = fn_1_10820; + arg0->func = fn_1_FA1C; + } else if (sp8.y > 180.0f) { + if (360.0f - sp8.y < 3.0f) { + sp8.y = 0.0f; + } else { + sp8.y += 3.0f; } - else { - rot.y += 3.0f; + } else { + if (sp8.y < 3.0f) { + sp8.y = 0.0f; + } else { + sp8.y -= 3.0f; } } - else { - if (rot.y < 3.0f) { - rot.y = 0.0f; - } - else { - rot.y -= 3.0f; - } - } - BoardPlayerRotSetV(roundItemPlayer, &rot); + BoardPlayerRotSetV(lbl_1_bss_7E4, &sp8); } -static void RoundItemStreamWait(omObjData *obj) -{ - if (itemGetObj->work[0] == 1) { - BoardPlayerMotionShiftSet(roundItemPlayer, itemGetMotId, 0.0f, 10.0f, HU3D_MOTATTR_NONE); - obj->work[0] = 30; - roundItemStreamId = HuAudSStreamPlay(2); - obj->func = RoundItemWinWait; +static void fn_1_FA1C(omObjData *arg0) { + if (lbl_1_bss_7F0->work[0] == 1) { + BoardPlayerMotionShiftSet(lbl_1_bss_7E4, lbl_1_bss_7BC, 0.0f, 10.0f, 0); + arg0->work[0] = 30; + lbl_1_bss_7A4 = HuAudSStreamPlay(2); + arg0->func = fn_1_FABC; } } -static void RoundItemWinWait(omObjData *obj) -{ - Process *proc; +static void fn_1_FABC(omObjData *arg0) { + Process *var_r30; - if (obj->work[0] == 0) { - if (HuAudSStreamStatGet(roundItemStreamId) == 0) { - proc = HuPrcCreate(ItemGetWinExec, 0x2004, 0x1000, 0); - proc->user_data = obj; + if (arg0->work[0] == 0) { + if (HuAudSStreamStatGet(lbl_1_bss_7A4) == 0) { + var_r30 = HuPrcCreate(fn_1_FB58, 0x2004, 0x1000, 0); + var_r30->user_data = arg0; BoardAudSeqPause(0, 0, 1000); - obj->func = NULL; + arg0->func = NULL; } - } - else { - obj->work[0]--; + } else { + arg0->work[0]--; } } -static void ItemGetWinExec(void) -{ - omObjData *obj; +static void fn_1_FB58(void) { + omObjData *temp_r31; BoardWinCreate(2, MAKE_MESSID(10, 6), 0); - BoardWinInsertMesSet(MAKE_MESSID(8, itemGetObj->work[1]), 0); + BoardWinInsertMesSet(MAKE_MESSID(8, lbl_1_bss_7F0->work[1]), 0); BoardWinWait(); BoardWinKill(); - obj = HuPrcCurrentGet()->user_data; - BoardPlayerMotionShiftSet(roundItemPlayer, 1, 0.0f, 10.0f, HU3D_MOTATTR_NONE); - itemGetObj->work[0] = 0; + temp_r31 = HuPrcCurrentGet()->user_data; + BoardPlayerMotionShiftSet(lbl_1_bss_7E4, 1, 0.0f, 10.0f, 0); + lbl_1_bss_7F0->work[0] = 0; HuAudFXPlay(0x30D); - HuAudFXFadeOut(itemGetSeNo, 1000); - itemGetObj->func = ItemGetShrink; - obj->func = ItemGetShrinkWait; + HuAudFXFadeOut(lbl_1_bss_7AC, 1000); + lbl_1_bss_7F0->func = fn_1_10AE8; + temp_r31->func = fn_1_FC3C; HuPrcKill(NULL); while (TRUE) { HuPrcVSleep(); } } -static void ItemGetShrinkWait(omObjData *obj) -{ - Process *proc; +static void fn_1_FC3C(omObjData *arg0) { + Process *var_r31; - if (itemGetObj->work[0] == 1) { - BoardPlayerItemAdd(roundItemPlayer, itemGetObj->work[1]); - omVibrate(roundItemPlayer, 12, 6, 6); - proc = HuPrcCreate(ItemGetReturnWinExec, 0x2004, 0x1000, 0); - proc->user_data = obj; - obj->func = NULL; + if (lbl_1_bss_7F0->work[0] == 1) { + BoardPlayerItemAdd(lbl_1_bss_7E4, lbl_1_bss_7F0->work[1]); + omVibrate(lbl_1_bss_7E4, 12, 6, 6); + var_r31 = HuPrcCreate(fn_1_FCEC, 0x2004, 0x1000, 0); + var_r31->user_data = arg0; + arg0->func = NULL; } } -static void ItemGetReturnWinExec(void) -{ - omObjData *obj; +static void fn_1_FCEC(void) { + omObjData *var_r31; BoardWinCreate(2, MAKE_MESSID(10, 7), 0); BoardWinWait(); BoardWinKill(); - obj = HuPrcCurrentGet()->user_data; - obj->func = RoundItemGameClose; + var_r31 = HuPrcCurrentGet()->user_data; + var_r31->func = fn_1_FD3C; HuPrcKill(NULL); while (TRUE) { HuPrcVSleep(); } } -static void RoundItemGameClose(omObjData *obj) -{ +static void fn_1_FD3C(omObjData *arg0) { BoardStatusShowSetAll(1); - BoardCameraTargetModelSet(mapObjMdlId[MAPOBJ_ROUNDITEM_ITEM_UP]); + BoardCameraTargetModelSet(lbl_1_bss_6C4[21]); BoardCameraOffsetSet(0.0f, 0.0f, 0.0f); BoardCameraXRotZoomSet(1200.0f, -45.0f); - BoardModelMotionSpeedSet(mapObjMdlId[MAPOBJ_ROUNDITEM_UMA], 1.0f); - Hu3DModelKill(itemGetObj->model[0]); - Hu3DModelKill(itemGetObj->model[1]); - Hu3DModelKill(itemGetObj->model[2]); - omDelObjEx(HuPrcCurrentGet(), itemGetObj); - obj->func = RoundItemGameEnd; + BoardModelMotionSpeedSet(lbl_1_bss_6C4[17], 1.0f); + Hu3DModelKill(lbl_1_bss_7F0->model[0]); + Hu3DModelKill(lbl_1_bss_7F0->model[1]); + Hu3DModelKill(lbl_1_bss_7F0->model[2]); + omDelObjEx(HuPrcCurrentGet(), lbl_1_bss_7F0); + arg0->func = fn_1_FE44; } -static void RoundItemGameEnd(omObjData *obj) -{ - if (BoardStatusStopCheck(roundItemPlayer) && BoardCameraMotionIsDone()) { - RoundItemEnd(); - obj->func = NULL; +static void fn_1_FE44(omObjData *arg0) { + if (BoardStatusStopCheck(lbl_1_bss_7E4) && BoardCameraMotionIsDone()) { + lbl_1_bss_7AA = 1; + BoardMGExit(); + HuAudFXPlay(0x40F); + BoardModelMotionStart(lbl_1_bss_6C4[21], 0, 0x40000004); + arg0->func = NULL; } } -static void RoundItemItemUpdate(omObjData *obj) -{ - float time; - float rotY; - float maxTime; +static void fn_1_FED0(omObjData *arg0) { + float temp_f30; + float var_f31; + float var_f29; - time = BoardModelMotionTimeGet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER]); - maxTime = BoardModelMotionMaxTimeGet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER]); - rotY = 90.0f - 90.0f * obj->work[2] + 360.0f * (time / maxTime); - if (rotY >= 360.0f) { - rotY -= 360.0f; + temp_f30 = BoardModelMotionTimeGet(lbl_1_bss_6C4[18]); + var_f29 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[18]); + var_f31 = 90.0f - 90.0f * arg0->work[2] + 360.0f * (temp_f30 / var_f29); + if (var_f31 >= 360.0f) { + var_f31 -= 360.0f; } - if (rotY < 0.0f) { - rotY += 360.0f; + if (var_f31 < 0.0f) { + var_f31 += 360.0f; } - omSetRot(obj, 0.0f, rotY, 0.0f); + omSetRot(arg0, 0.0f, var_f31, 0.0f); } -static s16 RoundItemItemGet(u32 umaNo) -{ - float umaMaxTime; - float umaAngle; - float borderAngle; - float angle; - float umaTime; - - borderAngle = 360.0f - 360.0f * (BoardModelMotionTimeGet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER]) / BoardModelMotionMaxTimeGet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER])); - umaTime = BoardModelMotionTimeGet(mapObjMdlId[MAPOBJ_ROUNDITEM_UMA]); - umaMaxTime = BoardModelMotionMaxTimeGet(mapObjMdlId[MAPOBJ_ROUNDITEM_UMA]); - umaTime = umaTime - (umaMaxTime / 4) * umaNo; - if (umaTime < 0.0f) { - umaTime += umaMaxTime; - } - umaAngle = 360.0f * (umaTime / umaMaxTime); - angle = umaAngle - borderAngle; - if (angle < 0.0f) { - angle += 360.0f; - } - angle /= 90.0f; - return angle; -} - -static void ItemGetCreate(s16 itemNo) -{ - omObjData *obj; - float *data; - float borderAngle; - float posX; - float posY; - float posZ; - float angle; - - obj = itemGetObj = omAddObjEx(boardObjMan, 0x165, 3, 0, -1, ItemGetObjUpdate); - obj->model[0] = itemObj[itemNo]->model[1]; - Hu3DModelAttrReset(obj->model[0], HU3D_ATTR_DISPOFF); - itemGetObj->work[1] = itemObj[itemNo]->work[1]; - itemGetObj->data = HuMemDirectMallocNum(HEAP_SYSTEM, 3 * sizeof(float), MEMORY_DEFAULT_NUM); - data = itemGetObj->data; - omSetRot(obj, 0.0f, 0.0f, 0.0f); - omSetSca(obj, 0.0f, 0.0f, 0.0f); - borderAngle = 360.0f - 360.0f * (BoardModelMotionTimeGet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER]) / BoardModelMotionMaxTimeGet(mapObjMdlId[MAPOBJ_ROUNDITEM_BORDER])); - angle = 45.0f + borderAngle + 90.0f * itemNo; - if (angle >= 360.0f) { - angle -= 360.0f; - } - posX = roundItemPos.x - 100.0 * cosd(angle); - posZ = roundItemPos.z - 100.0 * sind(angle); - posY = roundItemPos.y + 66.0f + 1.0f; - omSetTra(obj, posX, posY, posZ); - obj->work[0] = 0; - data[0] = 0.1f; - data[2] = 20.0f; - data[1] = 0.0f; - obj->model[1] = Hu3DParticleCreate(roundItemEffAnim, 200); - obj->model[2] = Hu3DParticleCreate(roundItemEffAnim, 100); - Hu3DParticleHookSet(obj->model[1], ItemGetEff1Hook); - Hu3DParticleHookSet(obj->model[2], ItemGetEff2Hook); - Hu3DParticleColSet(obj->model[1], 0xFF, 0xFF, 0); - Hu3DParticleColSet(obj->model[2], 0xFF, 0xFF, 0); - Hu3DModelPosSet(obj->model[1], 0.0f, 0.0f, 0.0f); - Hu3DModelPosSet(obj->model[2], posX, posY, posZ); - Hu3DParticleBlendModeSet(obj->model[1], 1); - Hu3DParticleBlendModeSet(obj->model[2], 1); - Hu3DModelLayerSet(obj->model[1], 3); - Hu3DModelLayerSet(obj->model[2], 3); - itemGetSeNo = HuAudFXPlay(0x35F); -} - -static void ItemGetObjUpdate(omObjData *obj) -{ - float *data; - float scale; - - data = obj->data; - scale = data[0]; - if (obj->work[0] == 0) { - if (scale > 1.0f) { - scale = 1.0f; - } - else { - data[0] += 0.025f; - } - obj->trans.y += data[2]; - data[2] -= 1.0f; - if (data[2] < 0.0f && obj->trans.y < roundItemPos.y + 66.0f + 1.0f + 90.0f) { - obj->work[0] = 1; - } - omSetSca(obj, scale, scale, scale); - } - else { - obj->trans.y += sind(data[1]); - data[1] += 4.0f; - if (data[1] >= 360.0f) { - data[1] -= 360.0f; - } - } -} - -static void ItemGetPlayerMove(omObjData *obj) -{ - Vec playerPos; - Vec objPos; - Vec dir; +static s16 fn_1_1001C(u32 arg0) { + float var_f29; float var_f28; - float *data; + float temp_f27; + float temp_f26; + float var_f31; + float var_f30; - data = obj->data; - if (obj->work[0] == 0) { - BoardPlayerPosGet(roundItemPlayer, &playerPos); - objPos.x = obj->trans.x; - objPos.y = 0.0f; - objPos.z = obj->trans.z; - playerPos.y = 0.0f; - VECSubtract(&playerPos, &objPos, &dir); - VECNormalize(&dir, &dir); - var_f28 = VECDistanceXZ(&playerPos, &objPos); + temp_f26 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[18]); + temp_f27 = 360.0f - 360.0f * (BoardModelMotionTimeGet(lbl_1_bss_6C4[18]) / temp_f26); + var_f30 = BoardModelMotionTimeGet(lbl_1_bss_6C4[17]); + var_f29 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[17]); + var_f30 = var_f30 - (var_f29 / 4) * arg0; + if (var_f30 < 0.0f) { + var_f30 += var_f29; + } + var_f28 = 360.0f * (var_f30 / var_f29); + var_f31 = var_f28 - temp_f27; + if (var_f31 < 0.0f) { + var_f31 += 360.0f; + } + var_f31 /= 90.0f; + return var_f31; +} + +static void fn_1_101B8(s16 arg0) { + omObjData *var_r31; + float *var_r30; + float var_f27; + float temp_f26; + float temp_f30; + float temp_f29; + float temp_f28; + float var_f31; + + var_r31 = lbl_1_bss_7F0 = omAddObjEx(boardObjMan, 0x165, 3, 0, -1, fn_1_10664); + var_r31->model[0] = lbl_1_bss_7FC[arg0]->model[1]; + Hu3DModelAttrReset(var_r31->model[0], 1); + lbl_1_bss_7F0->work[1] = lbl_1_bss_7FC[arg0]->work[1]; + lbl_1_bss_7F0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 3 * sizeof(float), MEMORY_DEFAULT_NUM); + var_r30 = lbl_1_bss_7F0->data; + omSetRot(var_r31, 0.0f, 0.0f, 0.0f); + omSetSca(var_r31, 0.0f, 0.0f, 0.0f); + temp_f26 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[18]); + var_f27 = 360.0f - 360.0f * (BoardModelMotionTimeGet(lbl_1_bss_6C4[18]) / temp_f26); + var_f31 = 45.0f + var_f27 + 90.0f * arg0; + if (var_f31 >= 360.0f) { + var_f31 -= 360.0f; + } + temp_f30 = lbl_1_bss_80C.x - 100.0 * cosd(var_f31); + temp_f28 = lbl_1_bss_80C.z - 100.0 * sind(var_f31); + temp_f29 = lbl_1_bss_80C.y + 66.0f + 1.0f; + omSetTra(var_r31, temp_f30, temp_f29, temp_f28); + var_r31->work[0] = 0; + var_r30[0] = 0.1f; + var_r30[2] = 20.0f; + var_r30[1] = 0.0f; + var_r31->model[1] = Hu3DParticleCreate(lbl_1_bss_7A0, 200); + var_r31->model[2] = Hu3DParticleCreate(lbl_1_bss_7A0, 100); + Hu3DParticleHookSet(var_r31->model[1], fn_1_11064); + Hu3DParticleHookSet(var_r31->model[2], fn_1_11484); + Hu3DParticleColSet(var_r31->model[1], 0xFF, 0xFF, 0); + Hu3DParticleColSet(var_r31->model[2], 0xFF, 0xFF, 0); + Hu3DModelPosSet(var_r31->model[1], 0.0f, 0.0f, 0.0f); + Hu3DModelPosSet(var_r31->model[2], temp_f30, temp_f29, temp_f28); + Hu3DParticleBlendModeSet(var_r31->model[1], 1); + Hu3DParticleBlendModeSet(var_r31->model[2], 1); + Hu3DModelLayerSet(var_r31->model[1], 3); + Hu3DModelLayerSet(var_r31->model[2], 3); + lbl_1_bss_7AC = HuAudFXPlay(0x35F); +} + +static void fn_1_10664(omObjData *arg0) { + float *temp_r31; + float var_f31; + + temp_r31 = arg0->data; + var_f31 = temp_r31[0]; + if (arg0->work[0] == 0) { + if (var_f31 > 1.0f) { + var_f31 = 1.0f; + } else { + temp_r31[0] += 0.025f; + } + arg0->trans.y += temp_r31[2]; + temp_r31[2] -= 1.0f; + if (temp_r31[2] < 0.0f && arg0->trans.y < lbl_1_bss_80C.y + 66.0f + 1.0f + 90.0f) { + arg0->work[0] = 1; + } + omSetSca(arg0, var_f31, var_f31, var_f31); + } else { + arg0->trans.y += sind(temp_r31[1]); + temp_r31[1] += 4.0f; + if (temp_r31[1] >= 360.0f) { + temp_r31[1] -= 360.0f; + } + } +} + +static void fn_1_10820(omObjData *arg0) { + Vec sp24; + Vec sp18; + Vec spC; + float var_f28; + float *temp_r30; + + temp_r30 = arg0->data; + if (arg0->work[0] == 0) { + BoardPlayerPosGet(lbl_1_bss_7E4, &sp24); + sp18.x = arg0->trans.x; + sp18.y = 0.0f; + sp18.z = arg0->trans.z; + sp24.y = 0.0f; + PSVECSubtract(&sp24, &sp18, &spC); + PSVECNormalize(&spC, &spC); + var_f28 = VECDistanceXZ(&sp24, &sp18); if (var_f28 < 8.0f) { - obj->trans.x = playerPos.x; - obj->trans.z = playerPos.z; - obj->work[0] = 1; - } - else { - obj->trans.x += 8.0f * dir.x; - obj->trans.z += 8.0f * dir.z; + arg0->trans.x = sp24.x; + arg0->trans.z = sp24.z; + arg0->work[0] = 1; + } else { + arg0->trans.x += 8.0f * spC.x; + arg0->trans.z += 8.0f * spC.z; } } - obj->trans.y += sind(data[1]); - data[1] += 4.0f; - if (data[1] >= 360.0f) { - data[1] -= 360.0f; + arg0->trans.y += sind(temp_r30[1]); + temp_r30[1] += 4.0f; + if (temp_r30[1] >= 360.0f) { + temp_r30[1] -= 360.0f; } } -static void ItemGetShrink(omObjData *obj) -{ - float *data; +static void fn_1_10AE8(omObjData *arg0) { + float *temp_r31; - data = obj->data; - if (obj->work[0] == 0) { - data[0] -= 0.016666668f; - if (data[0] <= 0.0f) { - data[0] = 0.0f; - obj->work[0] = 1; - HuAudFXStop(itemGetSeNo); + temp_r31 = arg0->data; + if (arg0->work[0] == 0) { + temp_r31[0] -= 0.016666668f; + if (temp_r31[0] <= 0.0f) { + temp_r31[0] = 0.0f; + arg0->work[0] = 1; + HuAudFXStop(lbl_1_bss_7AC); } - obj->trans.y -= 2.1666667f; + arg0->trans.y -= 2.1666667f; } - omSetSca(obj, data[0], data[0], data[0]); + omSetSca(arg0, temp_r31[0], temp_r31[0], temp_r31[0]); } -static float RoundItemUmaRotYGet(u32 umaNo) -{ - float time; - float maxTime; - float rotY; +static float fn_1_10BB0(u32 arg0) { + float var_f30; + float temp_f29; + float var_f31; - time = BoardModelMotionTimeGet(mapObjMdlId[MAPOBJ_ROUNDITEM_UMA]); - maxTime = BoardModelMotionMaxTimeGet(mapObjMdlId[MAPOBJ_ROUNDITEM_UMA]); - time = time - (maxTime / 4) * umaNo; - if (time < 0.0f) { - time += maxTime; + var_f30 = BoardModelMotionTimeGet(lbl_1_bss_6C4[17]); + temp_f29 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[17]); + var_f30 = var_f30 - (temp_f29 / 4) * arg0; + if (var_f30 < 0.0f) { + var_f30 += temp_f29; } - rotY = 180.0f + -360.0f * (time / maxTime); - if (rotY >= 360.0f) { - rotY -= 360.0f; + var_f31 = 180.0f + -360.0f * (var_f30 / temp_f29); + if (var_f31 >= 360.0f) { + var_f31 -= 360.0f; } - if (rotY < 0.0f) { - rotY += 360.0f; + if (var_f31 < 0.0f) { + var_f31 += 360.0f; } - return rotY; + return var_f31; } -static void RoundItemUmaPlayerSet(u32 umaNo) -{ - Hu3DModelObjPosGet(BoardModelIDGet(mapObjMdlId[MAPOBJ_ROUNDITEM_UMA]), umaHookTbl[umaNo], &umaPos); - BoardPlayerPosSetV(roundItemPlayer, &umaPos); - BoardPlayerRotSet(roundItemPlayer, 0.0f, RoundItemUmaRotYGet(umaNo), 0.0f); +static void fn_1_10CF0(u32 arg0) { + float var_f30; + float temp_f29; + float var_f31; + float var_f28; + + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_6C4[17]), lbl_1_data_F9C[arg0], &lbl_1_bss_7D8); + BoardPlayerPosSetV(lbl_1_bss_7E4, &lbl_1_bss_7D8); + var_f30 = BoardModelMotionTimeGet(lbl_1_bss_6C4[17]); + temp_f29 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[17]); + var_f30 = var_f30 - (temp_f29 / 4) * arg0; + if (var_f30 < 0.0f) { + var_f30 += temp_f29; + } + var_f31 = 180.0f + -360.0f * (var_f30 / temp_f29); + if (var_f31 >= 360.0f) { + var_f31 -= 360.0f; + } + if (var_f31 < 0.0f) { + var_f31 += 360.0f; + } + var_f28 = var_f31; + BoardPlayerRotSet(lbl_1_bss_7E4, 0.0f, var_f28, 0.0f); } -static float RoundItemAngleGet(Vec *dir) -{ - float angle; +static float fn_1_10EB8(Vec *arg0) { + float var_f31; - if (dir->x || dir->z) { - if (dir->x == 0.0f) { - if (dir->z > 0.0f) { + if (arg0->x || arg0->z) { + if (arg0->x == 0.0f) { + if (arg0->z > 0.0f) { return 0.0f; - } - else { + } else { return 180.0f; } } - if (dir->z == 0.0f) { - if (dir->x > 0.0f) { + if (arg0->z == 0.0f) { + if (arg0->x > 0.0f) { return 90.0f; - } - else { + } else { return 270.0f; } } - angle = atan2d(dir->z, dir->x); - if (dir->z < 0.0f) { - angle = 90.0f - angle; - } - else { - angle = 90.0f - angle; - if (angle < 0.0f) { - angle += 360.0f; + var_f31 = atan2d(arg0->z, arg0->x); + if (arg0->z < 0.0f) { + var_f31 = 90.0f - var_f31; + } else { + var_f31 = 90.0f - var_f31; + if (var_f31 < 0.0f) { + var_f31 += 360.0f; } } - return angle; + return var_f31; } return -1.0f; } -static void ItemGetEff1Hook(ModelData *model, ParticleData *particle, Mtx matrix) -{ - HsfanimStruct01 *particleDataP; - float angle; - float radius; - float radiusBase; - s32 j; +static void fn_1_11064(ModelData *model, ParticleData *particle, Mtx matrix) { + HsfanimStruct01 *var_r31; + float temp_f30; + float temp_f29; + float temp_f31; + s32 var_r28; s32 i; if (particle->unk_34 == 0) { - particleDataP = particle->unk_48; - for (i = 0; i < particle->unk_30; i++, particleDataP++) { - particleDataP->unk40.a = 0; - particleDataP->unk2C = 0.0f; + var_r31 = particle->unk_48; + for (i = 0; i < particle->unk_30; i++, var_r31++) { + var_r31->unk40.a = 0; + var_r31->unk2C = 0.0f; } particle->unk_00 = 0; } - radiusBase = itemGetObj->scale.x; + temp_f31 = lbl_1_bss_7F0->scale.x; for (i = 0; i < 30; i++) { - particleDataP = particle->unk_48; - for (j = 0; j < particle->unk_30; j++, particleDataP++) { - if (particleDataP->unk2C == 0.0f) { + var_r31 = particle->unk_48; + for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { + if (var_r31->unk2C == 0.0f) { break; } } - if (j != particle->unk_30) { - angle = 0.003921569f * frand8() * 360.0f; - radius = 0.003921569f * frand8() * 70.0f * radiusBase; - particleDataP->unk34.x = itemGetObj->trans.x + radius * sind(angle); - particleDataP->unk34.z = itemGetObj->trans.z + radius * cosd(angle); - particleDataP->unk34.y = itemGetObj->trans.y + radiusBase * (-30.0f + 0.003921569f * frand8() * 60.0f); - particleDataP->unk08.x = 0.5f + 0.003921569f * frand8() * 3.0f; - particleDataP->unk08.y = 0.3f + 0.003921569f * frand8() * 2.0f; - particleDataP->unk40.a = 0xB4; - particleDataP->unk2C = 15.0f * radiusBase; + if (var_r28 != particle->unk_30) { + temp_f30 = 0.003921569f * frand8() * 360.0f; + temp_f29 = 0.003921569f * frand8() * 70.0f * temp_f31; + var_r31->unk34.x = lbl_1_bss_7F0->trans.x + temp_f29 * sind(temp_f30); + var_r31->unk34.z = lbl_1_bss_7F0->trans.z + temp_f29 * cosd(temp_f30); + var_r31->unk34.y = lbl_1_bss_7F0->trans.y + temp_f31 * (-30.0f + 0.003921569f * frand8() * 60.0f); + var_r31->unk08.x = 0.5f + 0.003921569f * frand8() * 3.0f; + var_r31->unk08.y = 0.3f + 0.003921569f * frand8() * 2.0f; + var_r31->unk40.a = 0xB4; + var_r31->unk2C = 15.0f * temp_f31; } } - particleDataP = particle->unk_48; - for (i = 0; i < particle->unk_30; i++, particleDataP++) { - if (particleDataP->unk2C != 0.0f) { - particleDataP->unk34.y -= particleDataP->unk08.x; - particleDataP->unk2C -= particleDataP->unk08.y; - if (particleDataP->unk2C <= 0.0f) { - particleDataP->unk2C = 0.0f; + var_r31 = particle->unk_48; + for (i = 0; i < particle->unk_30; i++, var_r31++) { + if (var_r31->unk2C != 0.0f) { + var_r31->unk34.y -= var_r31->unk08.x; + var_r31->unk2C -= var_r31->unk08.y; + if (var_r31->unk2C <= 0.0f) { + var_r31->unk2C = 0.0f; } } } } -static void ItemGetEff2Hook(ModelData *model, ParticleData *particle, Mtx matrix) -{ - HsfanimStruct01 *particleDataP; - float angle2; - float angle; - float radius; - s32 j; - s32 i; +static void fn_1_11484(ModelData *model, ParticleData *particle, Mtx matrix) { + HsfanimStruct01 *var_r31; + float temp_f29; + float temp_f30; + float temp_f31; + s32 var_r28; + s32 var_r29; if (particle->unk_34 == 0) { - particleDataP = particle->unk_48; - for (i = 0; i < particle->unk_30; i++, particleDataP++) { - particleDataP->unk40.a = 0; - particleDataP->unk2C = 0.0f; + var_r31 = particle->unk_48; + for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { + var_r31->unk40.a = 0; + var_r31->unk2C = 0.0f; } particle->unk_00 = 0; } if (particle->unk_00 == 0) { - particleDataP = particle->unk_48; - for (j = 0; j < particle->unk_30; j++, particleDataP++) { - angle = 0.003921569f * frand8() * 360.0f; - radius = 0.003921569f * frand8() * 50.0f; - particleDataP->unk08.x = radius * cosd(angle); - particleDataP->unk08.y = 2.0f + 0.003921569f * frand8() * 4.0f; - particleDataP->unk08.z = radius * sind(angle); - angle2 = 60.0f + 20.0f * frand8() * 0.003921569f; - radius = 4.0f + 5.0f * frand8() * 0.003921569f; - particleDataP->unk14.x = radius * sind(angle) * cosd(angle2); - particleDataP->unk14.y = radius * sind(angle2); - particleDataP->unk14.z = radius * cosd(angle) * cosd(angle2); - particleDataP->unk20 = 1.0f; - particleDataP->unk40.a = 0xB4; - particleDataP->unk2C = 9.0f + 0.003921569f * frand8() * 4.0f; + var_r31 = particle->unk_48; + for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { + temp_f30 = 0.003921569f * frand8() * 360.0f; + temp_f31 = 0.003921569f * frand8() * 50.0f; + var_r31->unk08.x = temp_f31 * cosd(temp_f30); + var_r31->unk08.y = 2.0f + 0.003921569f * frand8() * 4.0f; + var_r31->unk08.z = temp_f31 * sind(temp_f30); + temp_f29 = 60.0f + 20.0f * frand8() * 0.003921569f; + temp_f31 = 4.0f + 5.0f * frand8() * 0.003921569f; + var_r31->unk14.x = temp_f31 * sind(temp_f30) * cosd(temp_f29); + var_r31->unk14.y = temp_f31 * sind(temp_f29); + var_r31->unk14.z = temp_f31 * cosd(temp_f30) * cosd(temp_f29); + var_r31->unk20 = 1.0f; + var_r31->unk40.a = 0xB4; + var_r31->unk2C = 9.0f + 0.003921569f * frand8() * 4.0f; } particle->unk_00 = 1; } - particleDataP = particle->unk_48; - for (i = 0; i < particle->unk_30; i++, particleDataP++) { - if (particleDataP->unk2C != 0.0f) { - particleDataP->unk34.x = particleDataP->unk08.x + particleDataP->unk14.x * particleDataP->unk20; - particleDataP->unk34.z = particleDataP->unk08.z + particleDataP->unk14.z * particleDataP->unk20; - particleDataP->unk34.y = particleDataP->unk08.y + particleDataP->unk14.y * particleDataP->unk20 - 0.2f * particleDataP->unk20 * particleDataP->unk20; - particleDataP->unk2C -= 0.25f; - particleDataP->unk20 += 1.0f; - if (particleDataP->unk2C <= 0.0f) { - particleDataP->unk2C = 0.0f; + var_r31 = particle->unk_48; + for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { + if (var_r31->unk2C != 0.0f) { + var_r31->unk34.x = var_r31->unk08.x + var_r31->unk14.x * var_r31->unk20; + var_r31->unk34.z = var_r31->unk08.z + var_r31->unk14.z * var_r31->unk20; + var_r31->unk34.y = var_r31->unk08.y + var_r31->unk14.y * var_r31->unk20 - 0.2f * var_r31->unk20 * var_r31->unk20; + var_r31->unk2C -= 0.25f; + var_r31->unk20 += 1.0f; + if (var_r31->unk2C <= 0.0f) { + var_r31->unk2C = 0.0f; } } } diff --git a/src/REL/w02Dll/gamble.c b/src/REL/w02Dll/gamble.c index 42804c58..92fa2ce9 100644 --- a/src/REL/w02Dll/gamble.c +++ b/src/REL/w02Dll/gamble.c @@ -17,16 +17,16 @@ void fn_1_2D04(void) m02GenDice spEC; m02GenDice sp4C; s32 sp24[10] = { - DATA_MAKE_NUM(DATADIR_W02, 0x1C), - DATA_MAKE_NUM(DATADIR_W02, 0x1D), - DATA_MAKE_NUM(DATADIR_W02, 0x1E), - DATA_MAKE_NUM(DATADIR_W02, 0x1F), - DATA_MAKE_NUM(DATADIR_W02, 0x20), - DATA_MAKE_NUM(DATADIR_W02, 0x21), - DATA_MAKE_NUM(DATADIR_W02, 0x22), - DATA_MAKE_NUM(DATADIR_W02, 0x23), - DATA_MAKE_NUM(DATADIR_W02, 0x24), - DATA_MAKE_NUM(DATADIR_W02, 0x25) + 0x0076001C, + 0x0076001D, + 0x0076001E, + 0x0076001F, + 0x00760020, + 0x00760021, + 0x00760022, + 0x00760023, + 0x00760024, + 0x00760025 }; Vec sp18; Vec spC; @@ -43,7 +43,7 @@ void fn_1_2D04(void) OSReport("gamble start %d\n", temp_r31); sp8 = BoardSpaceGet(0, GWPlayer[temp_r31].space_curr); BoardRollDispSet(0); - temp_r28 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W02, 0x0F), NULL, 0); + temp_r28 = BoardModelCreate(0x76000F, NULL, 0); BoardModelVisibilitySet(temp_r28, 0); switch(lbl_1_bss_54) { case 0: @@ -78,9 +78,9 @@ void fn_1_2D04(void) BoardModelHookReset(temp_r30); BoardModelPosGet(temp_r30, &sp18); BoardModelPosSetV(lbl_1_data_286, &sp18); - fn_1_121C(MAKE_MESSID(0x13, 0x0A)); + fn_1_121C(0x13000A); spEC.unk00 = 1; - spEC.unk04 = DATA_MAKE_NUM(DATADIR_W02, 0x1B); + spEC.unk04 = 0x76001B; spEC.unk08 = sp24; spEC.unk0C = sp18; spEC.unk18 = 1; @@ -140,9 +140,9 @@ void fn_1_2D04(void) temp_r27 = spEC.unk94; if(temp_r27 == 10) { HuAudPlayerVoicePlay(temp_r31, 302); - fn_1_121C(MAKE_MESSID(0x13, 0x10)); + fn_1_121C(0x130010); } else { - fn_1_121C(MAKE_MESSID(0x13, 0x0C)); + fn_1_121C(0x13000C); } BoardPlayerMotBlendSet(temp_r31, 0, 15); while(!BoardPlayerMotBlendCheck(temp_r31)) { @@ -189,10 +189,10 @@ void fn_1_2D04(void) HuPrcVSleep(); } if(sp4C.unk94 > temp_r27) { - fn_1_121C(MAKE_MESSID(0x13, 0x0D)); + fn_1_121C(0x13000D); } else { HuAudPlayerVoicePlay(temp_r31, 302); - fn_1_121C(MAKE_MESSID(0x13, 0x0F)); + fn_1_121C(0x13000F); } } else { sp4C.unk94 = 0; @@ -214,11 +214,11 @@ void fn_1_2D04(void) HuAudFXPlay(7); HuPrcSleep(6); } - fn_1_121C(MAKE_MESSID(0x13, 0x0E)); + fn_1_121C(0x13000E); } else { temp_r26 = GWPlayer[temp_r31].space_curr; BoardCameraTargetSpaceSet(temp_r26); - BoardPlayerMotionShiftSet(temp_r31, 6, 0, 5, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(temp_r31, 6, 0, 5, 0x40000001); HuPrcSleep(60); HuPrcSleep(30); BoardModelPosSetV(temp_r28, &spC); @@ -320,4 +320,4 @@ void fn_1_394C(s32 arg0) { while (lbl_1_bss_50) { HuPrcVSleep(); } -} +} \ No newline at end of file diff --git a/src/REL/w02Dll/gendice.c b/src/REL/w02Dll/gendice.c index eb264bc3..7562a53b 100644 --- a/src/REL/w02Dll/gendice.c +++ b/src/REL/w02Dll/gendice.c @@ -3,20 +3,20 @@ typedef struct { union { - /* 0x00 */ struct { - u8 unk7 : 1; - u8 unk6 : 1; - u8 unk3 : 3; - u8 unk1 : 2; - u8 unk0 : 1; - }; - u8 unk00; +/* 0x00 */ struct { + u8 unk7 : 1; + u8 unk6 : 1; + u8 unk3 : 3; + u8 unk1 : 2; + u8 unk0 : 1; }; - /* 0x01 */ u8 unk01; - /* 0x02 */ u8 unk02; - /* 0x03 */ u8 unk03; - /* 0x04 */ s16 unk04; - /* 0x06 */ s16 unk06; + u8 unk00; + }; +/* 0x01 */ u8 unk01; +/* 0x02 */ u8 unk02; +/* 0x03 */ u8 unk03; +/* 0x04 */ s16 unk04; +/* 0x06 */ s16 unk06; } WorkGenDice; /* EXTERN FUNCTIONS */ @@ -24,7 +24,7 @@ void fn_1_13D0(void); void fn_1_1574(m02GenDice *arg0); void fn_1_1794(m02GenDice *arg0); void fn_1_1850(omObjData *object); -void fn_1_1F94(m02GenDice *arg0, s32 arg1); +void fn_1_1F94(m02GenDice* arg0, s32 arg1); void fn_1_2030(m02GenDice *arg0); void fn_1_2100(m02GenDice *arg0, s32 arg1); void fn_1_2220(m02GenDice *arg0); @@ -34,8 +34,7 @@ void fn_1_23B4(m02GenDice *arg0, s32 arg1); void fn_1_272C(m02GenDice *arg0); /* LOCAL FUNCTIONS */ -void fn_1_1254(m02GenDice *arg0) -{ +void fn_1_1254(m02GenDice* arg0) { Vec sp8; s32 i; @@ -62,12 +61,11 @@ void fn_1_1254(m02GenDice *arg0) } } -void fn_1_13D0(void) -{ +void fn_1_13D0(void) { s32 var_r29; s32 i; s32 var_r30_2; - m02GenDice *temp_r31; + m02GenDice* temp_r31; temp_r31 = HuPrcCurrentGet()->user_data; temp_r31->unk36[0] = temp_r31->unk36[1] = temp_r31->unk36[2] = 0; @@ -76,17 +74,17 @@ void fn_1_13D0(void) while (temp_r31->unk96 < temp_r31->unk00) { fn_1_1574(temp_r31); fn_1_1794(temp_r31); - while (temp_r31->unk9C == 0) { + while (temp_r31->unk9C == 0) { HuPrcVSleep(); - } - fn_1_2220(temp_r31); - while (temp_r31->unk9C != 0) { + } + fn_1_2220(temp_r31); + while (temp_r31->unk9C != 0) { HuPrcVSleep(); - } - temp_r31->unk96 += 1; + } + temp_r31->unk96 += 1; } - for (i = 0; i < temp_r31->unk00; i++) { + for ( i = 0; i < temp_r31->unk00; i++) { var_r29 += temp_r31->unk36[i]; } OSReport("Dice res: %d\n", var_r29); @@ -94,7 +92,7 @@ void fn_1_13D0(void) while (fn_1_233C(temp_r31) == 0) { HuPrcVSleep(); } - temp_r31->unk94 = (s16)var_r29; + temp_r31->unk94 = (s16) var_r29; temp_r31->unk28 = 1; if (temp_r31->unk22 != 0) { for (i = 0; i < temp_r31->unk00; i++) { @@ -104,12 +102,11 @@ void fn_1_13D0(void) HuPrcEnd(); } while (TRUE) { - HuPrcVSleep(); + HuPrcVSleep(); } } -void fn_1_1518(m02GenDice *arg0) -{ +void fn_1_1518(m02GenDice* arg0) { OSReport("m02GenDiceKill\n"); if (arg0->unk2C) { HuPrcKill(arg0->unk2C); @@ -118,13 +115,12 @@ void fn_1_1518(m02GenDice *arg0) fn_1_272C(arg0); } -void fn_1_1574(m02GenDice *arg0) -{ +void fn_1_1574(m02GenDice* arg0) { Vec sp8; f32 temp_f0; - omObjData *temp_r3; + omObjData* temp_r3; s32 temp_r28; - WorkGenDice *temp_r29; + WorkGenDice* temp_r29; temp_r28 = arg0->unk96; arg0->unk30[temp_r28] = BoardModelCreate(arg0->unk04, NULL, 0); @@ -133,7 +129,7 @@ void fn_1_1574(m02GenDice *arg0) BoardModelMotionSpeedSet(arg0->unk30[temp_r28], 0); BoardModelMotionTimeSet(arg0->unk30[temp_r28], arg0->unk98); temp_r3 = omAddObjEx(boardObjMan, 0x102, 0U, 0U, -1, fn_1_1850); - temp_r29 = (WorkGenDice *)temp_r3->work; + temp_r29 = (WorkGenDice*) temp_r3->work; temp_r29->unk7 = 0; temp_r29->unk6 = 0; @@ -143,7 +139,7 @@ void fn_1_1574(m02GenDice *arg0) temp_r29->unk04 = 0; temp_r29->unk01 = 3; temp_r29->unk02 = 0; - temp_r3->unk10 = (u32)arg0; + temp_r3->unk10 = (u32) arg0; arg0->unk3C[temp_r28] = temp_r3; sp8 = arg0->unk0C; sp8.y += (250.0f * arg0->unk24); @@ -157,9 +153,8 @@ void fn_1_1574(m02GenDice *arg0) HuAudFXPlay(0x302); } -void fn_1_1794(m02GenDice *arg0) -{ - WorkGenDice *temp_r30; +void fn_1_1794(m02GenDice* arg0) { + WorkGenDice* temp_r30; temp_r30 = OM_GET_WORK_PTR(arg0->unk3C[arg0->unk96], WorkGenDice); while (temp_r30->unk3 != 1) { @@ -167,10 +162,10 @@ void fn_1_1794(m02GenDice *arg0) } } -s32 fn_1_17F4(m02GenDice *arg0) +s32 fn_1_17F4(m02GenDice* arg0) { - WorkGenDice *temp; - if (arg0->unk96 < 0) { + WorkGenDice* temp; + if ( arg0->unk96 < 0) { return 0; } temp = OM_GET_WORK_PTR(arg0->unk3C[arg0->unk96], WorkGenDice); @@ -182,126 +177,121 @@ s32 fn_1_17F4(m02GenDice *arg0) void fn_1_1850(omObjData *object) { - WorkGenDice *temp_r29; - m02GenDice *temp_r27; - s16 temp_r26; - s16 temp_r25; - float temp_f29; - float temp_f28; - float temp_f27; - temp_r27 = (m02GenDice *)object->unk10; - temp_r29 = OM_GET_WORK_PTR(object, WorkGenDice); - if (temp_r29->unk7 || BoardIsKill()) { - fn_1_1F94(temp_r27, temp_r29->unk1); - temp_r27->unk3C[temp_r29->unk1] = NULL; - omDelObjEx(HuPrcCurrentGet(), object); - return; - } - if (BoardPauseActiveCheck()) { - return; - } - switch (temp_r29->unk3) { - case 0: - if (temp_r29->unk06 >= 1080) { - temp_r29->unk3 = 1; - object->scale.x = object->scale.y = object->scale.z = 1; - - object->rot.y = temp_r29->unk04 = 0; - } - else { - if (!temp_r29->unk04 && temp_r27->unk88[temp_r29->unk1] == -1) { - temp_r27->unk88[temp_r29->unk1] = HuAudFXPlay(768); - } - object->rot.y = temp_r29->unk06 % 360; - temp_r29->unk06 += 25; - if (temp_r29->unk04 < 180) { - temp_f27 = 0; - temp_f28 = 1; - } - else { - temp_f27 = 1; - temp_f28 = 0.5f; - } - object->scale.x = (temp_f28 * sind((float)(temp_r29->unk04 % 180))) + temp_f27; - object->scale.y = object->scale.x; - object->scale.z = object->scale.x; - if (temp_r29->unk04 <= 360) { - if (temp_r29->unk04 < 180) { - temp_r29->unk04 += 6; - } - else { - temp_r29->unk04 += 18; - } - if (temp_r29->unk04 > 360) { - temp_r29->unk04 = 360; - } - } - } - break; - - case 1: - temp_r29->unk04 += 4; - if (temp_r29->unk04 > 360) { - temp_r29->unk04 -= 360; - } - OSs16tof32(&temp_r29->unk04, &temp_f29); - object->trans.y += sind(temp_f29) * 0.2f; - break; - - case 2: - temp_r29->unk04++; - if (temp_r29->unk04 >= 8) { - if (temp_r27->unk88[temp_r29->unk1] != -1) { - HuAudFXStop(temp_r27->unk88[temp_r29->unk1]); - temp_r27->unk88[temp_r29->unk1] = -1; - } - HuAudFXPlay(771); - HuAudFXPlay(780); - temp_r29->unk3 = 3; - temp_r29->unk04 = 0; - fn_1_23FC(temp_r27, temp_r27->unk36[temp_r29->unk1]); - fn_1_2100(temp_r27, temp_r29->unk1); - Hu3DParManPosSet(temp_r27->unk48[temp_r29->unk1], object->trans.x, object->trans.y, object->trans.z); - BoardModelVisibilitySet(temp_r27->unk30[temp_r29->unk1], 0); - } - else { - OSs16tof32(&temp_r29->unk04, &temp_f29); - if (temp_r29->unk04 < 4) { - object->trans.y += (0.5f * temp_f29) + 10.0f; - object->scale.x += (0.1f * sind(4.0f * temp_f29)); - object->scale.y = object->scale.x; - object->scale.z = object->scale.x; - } - else { - BoardModelAlphaSet(temp_r27->unk30[temp_r29->unk1], 255 - (temp_r29->unk04 * 32)); - } - object->trans.y += -0.49f * temp_f29 * temp_f29; - } - break; - - case 3: - if (++temp_r29->unk04 >= 150) { - temp_r29->unk7 = 1; - } - break; - } - if (!temp_r29->unk6 || temp_r29->unk3 != 3) { - if (temp_r29->unk02++ > temp_r29->unk01) { - temp_r29->unk02 = 0; - temp_r25 = BoardModelMotionTimeGet(temp_r27->unk30[temp_r29->unk1]); - do { - temp_r26 = BoardRandMod(temp_r27->unk1A); - } while (temp_r26 == temp_r25); - BoardModelMotionTimeSet(temp_r27->unk30[temp_r29->unk1], temp_r26 + 0.5f); - } - } - BoardModelPosSet(temp_r27->unk30[temp_r29->unk1], object->trans.x, object->trans.y, object->trans.z); - BoardModelRotSet(temp_r27->unk30[temp_r29->unk1], object->rot.x, object->rot.y, object->rot.z); - BoardModelScaleSet(temp_r27->unk30[temp_r29->unk1], object->scale.x, object->scale.y, object->scale.z); + WorkGenDice *temp_r29; + m02GenDice *temp_r27; + s16 temp_r26; + s16 temp_r25; + float temp_f29; + float temp_f28; + float temp_f27; + temp_r27 = (m02GenDice *)object->unk10; + temp_r29 = OM_GET_WORK_PTR(object, WorkGenDice); + if(temp_r29->unk7 || BoardIsKill()) { + fn_1_1F94(temp_r27, temp_r29->unk1); + temp_r27->unk3C[temp_r29->unk1] = NULL; + omDelObjEx(HuPrcCurrentGet(), object); + return; + } + if(BoardPauseActiveCheck()) { + return; + } + switch(temp_r29->unk3) { + case 0: + if(temp_r29->unk06 >= 1080) { + temp_r29->unk3 = 1; + object->scale.x = object->scale.y = object->scale.z = 1; + + object->rot.y = temp_r29->unk04 = 0; + } else { + if(!temp_r29->unk04 && temp_r27->unk88[temp_r29->unk1] == -1) { + temp_r27->unk88[temp_r29->unk1] = HuAudFXPlay(768); + } + object->rot.y = temp_r29->unk06%360; + temp_r29->unk06 += 25; + if(temp_r29->unk04 < 180) { + temp_f27 = 0; + temp_f28 = 1; + } else { + temp_f27 = 1; + temp_f28 = 0.5f; + } + object->scale.x = (temp_f28*sind((float)(temp_r29->unk04%180)))+temp_f27; + object->scale.y = object->scale.x; + object->scale.z = object->scale.x; + if(temp_r29->unk04 <= 360) { + if(temp_r29->unk04 < 180) { + temp_r29->unk04 += 6; + } else { + temp_r29->unk04 += 18; + } + if(temp_r29->unk04 > 360) { + temp_r29->unk04 = 360; + } + } + + } + break; + + case 1: + temp_r29->unk04 += 4; + if(temp_r29->unk04 > 360) { + temp_r29->unk04 -= 360; + } + OSs16tof32(&temp_r29->unk04, &temp_f29); + object->trans.y += sind(temp_f29)*0.2f; + break; + + case 2: + temp_r29->unk04++; + if(temp_r29->unk04 >= 8) { + if(temp_r27->unk88[temp_r29->unk1] != -1) { + HuAudFXStop(temp_r27->unk88[temp_r29->unk1]); + temp_r27->unk88[temp_r29->unk1] = -1; + } + HuAudFXPlay(771); + HuAudFXPlay(780); + temp_r29->unk3 = 3; + temp_r29->unk04 = 0; + fn_1_23FC(temp_r27, temp_r27->unk36[temp_r29->unk1]); + fn_1_2100(temp_r27, temp_r29->unk1); + Hu3DParManPosSet(temp_r27->unk48[temp_r29->unk1], object->trans.x, object->trans.y, object->trans.z); + BoardModelVisibilitySet(temp_r27->unk30[temp_r29->unk1], 0); + } else { + OSs16tof32(&temp_r29->unk04, &temp_f29); + if(temp_r29->unk04 < 4) { + object->trans.y += (0.5f*temp_f29)+10.0f; + object->scale.x += (0.1f*sind(4.0f*temp_f29)); + object->scale.y = object->scale.x; + object->scale.z = object->scale.x; + } else { + BoardModelAlphaSet(temp_r27->unk30[temp_r29->unk1], 255-(temp_r29->unk04*32)); + } + object->trans.y += -0.49f*temp_f29*temp_f29; + } + break; + + case 3: + if(++temp_r29->unk04 >= 150) { + temp_r29->unk7 = 1; + } + break; + } + if(!temp_r29->unk6 || temp_r29->unk3 != 3) { + if(temp_r29->unk02++ > temp_r29->unk01) { + temp_r29->unk02 = 0; + temp_r25 = BoardModelMotionTimeGet(temp_r27->unk30[temp_r29->unk1]); + do { + temp_r26 = BoardRandMod(temp_r27->unk1A); + } while(temp_r26 == temp_r25); + BoardModelMotionTimeSet(temp_r27->unk30[temp_r29->unk1], temp_r26+0.5f); + } + } + BoardModelPosSet(temp_r27->unk30[temp_r29->unk1], object->trans.x, object->trans.y, object->trans.z); + BoardModelRotSet(temp_r27->unk30[temp_r29->unk1], object->rot.x, object->rot.y, object->rot.z); + BoardModelScaleSet(temp_r27->unk30[temp_r29->unk1], object->scale.x, object->scale.y, object->scale.z); } -void fn_1_1F94(m02GenDice *arg0, s32 arg1) -{ +void fn_1_1F94(m02GenDice* arg0, s32 arg1) { if (arg0->unk30[arg1] != -1) { BoardModelKill(arg0->unk30[arg1]); arg0->unk30[arg1] = -1; @@ -315,134 +305,157 @@ void fn_1_1F94(m02GenDice *arg0, s32 arg1) void fn_1_2030(m02GenDice *arg0) { - fn_1_1F94(arg0, 0); - fn_1_1F94(arg0, 1); - fn_1_1F94(arg0, 2); + fn_1_1F94(arg0, 0); + fn_1_1F94(arg0, 1); + fn_1_1F94(arg0, 2); } -HsfanimStruct00 lbl_1_data_2D8 = { 150, { 0x00, 0x00 }, // padding? - 50, 0, 65.0f, { 0.0f, -0.195f, 0.0f }, 100.0f, 0.99f, 40.0f, 0.999f, 0x0004, - { 0xFF, 0xFF, 0x20, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }, - { 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00 } }; + +HsfanimStruct00 lbl_1_data_2D8 = { + 150, + { 0x00, 0x00 }, // padding? + 50, + 0, + 65.0f, + { 0.0f, -0.195f, 0.0f }, + 100.0f, + 0.99f, + 40.0f, + 0.999f, + 0x0004, + { + 0xFF, 0xFF, 0x20, 0xFF, + 0xFF, 0xFF, 0x00, 0xFF, + 0xFF, 0xFF, 0x80, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF + }, + { + 0xFF, 0xFF, 0xFF, 0x00, + 0xFF, 0xFF, 0xFF, 0x00, + 0xFF, 0xFF, 0xFF, 0x00, + 0xFF, 0xFF, 0xFF, 0x00 + } +}; void fn_1_2100(m02GenDice *arg0, s32 arg1) { - s16 temp_r29; - AnimData *temp_r28; - void *temp_r27; - temp_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 0x01), MEMORY_DEFAULT_NUM, HEAP_DATA); - temp_r28 = HuSprAnimRead(temp_r27); - arg0->unk48[arg1] = Hu3DParManCreate(temp_r28, 100, &lbl_1_data_2D8); - Hu3DParManAttrSet(arg0->unk48[arg1], 0x108); - Hu3DParManRotSet(arg0->unk48[arg1], 0, 0, 0); - Hu3DParManVecSet(arg0->unk48[arg1], 0, 0.4f, 0.2f); - temp_r29 = Hu3DParManModelIDGet(arg0->unk48[arg1]); - Hu3DModelLayerSet(temp_r29, 2); - Hu3DParticleBlendModeSet(temp_r29, 0); + s16 temp_r29; + AnimData *temp_r28; + void *temp_r27; + temp_r27 = HuDataSelHeapReadNum(0x120001, MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r28 = HuSprAnimRead(temp_r27); + arg0->unk48[arg1] = Hu3DParManCreate(temp_r28, 100, &lbl_1_data_2D8); + Hu3DParManAttrSet(arg0->unk48[arg1], 0x108); + Hu3DParManRotSet(arg0->unk48[arg1], 0, 0, 0); + Hu3DParManVecSet(arg0->unk48[arg1], 0, 0.4f, 0.2f); + temp_r29 = Hu3DParManModelIDGet(arg0->unk48[arg1]); + Hu3DModelLayerSet(temp_r29, 2); + Hu3DParticleBlendModeSet(temp_r29, 0); } void fn_1_2220(m02GenDice *arg0) { - s32 temp_r30; - WorkGenDice *temp_r29; - temp_r30 = arg0->unk96; - temp_r29 = OM_GET_WORK_PTR(arg0->unk3C[temp_r30], WorkGenDice); - temp_r29->unk3 = 2; - temp_r29->unk04 = 0; - BoardModelMotionSpeedSet(arg0->unk30[temp_r30], 0); - - arg0->unk36[temp_r30] = arg0->unk1C[temp_r30]; + s32 temp_r30; + WorkGenDice *temp_r29; + temp_r30 = arg0->unk96; + temp_r29 = OM_GET_WORK_PTR(arg0->unk3C[temp_r30], WorkGenDice); + temp_r29->unk3 = 2; + temp_r29->unk04 = 0; + BoardModelMotionSpeedSet(arg0->unk30[temp_r30], 0); + + arg0->unk36[temp_r30] = arg0->unk1C[temp_r30]; } typedef struct { - u8 field0_bit0 : 1; - u8 field0_bit1 : 1; - u8 field0_bit2 : 1; - u8 field0_bit3 : 2; - s8 unk01; - s16 unk02; - s16 unk04[2]; - float unk08; + u8 field0_bit0 : 1; + u8 field0_bit1 : 1; + u8 field0_bit2 : 1; + u8 field0_bit3 : 2; + s8 unk01; + s16 unk02; + s16 unk04[2]; + float unk08; } WorkGenDiceNum; void fn_1_22BC(m02GenDice *arg0) { - s32 temp_r31; - WorkGenDiceNum *temp_r30; - for (temp_r31 = 0; temp_r31 < arg0->unk00; temp_r31++) { - if (arg0->unk50[temp_r31]) { - temp_r30 = OM_GET_WORK_PTR(arg0->unk50[temp_r31], WorkGenDiceNum); - temp_r30->field0_bit1 = 1; - temp_r30->field0_bit2 = 1; - temp_r30->unk02 = 0; - } - } + s32 temp_r31; + WorkGenDiceNum *temp_r30; + for(temp_r31=0; temp_r31unk00; temp_r31++) { + if(arg0->unk50[temp_r31]) { + temp_r30 = OM_GET_WORK_PTR(arg0->unk50[temp_r31], WorkGenDiceNum); + temp_r30->field0_bit1 = 1; + temp_r30->field0_bit2 = 1; + temp_r30->unk02 = 0; + } + } } -s32 fn_1_233C(m02GenDice *arg0) +s32 fn_1_233C(m02GenDice* arg0) { - s32 temp_r31; - WorkGenDiceNum *temp_r30; - for (temp_r31 = 0; temp_r31 < arg0->unk00; temp_r31++) { - if (!arg0->unk50[temp_r31]) { - continue; - } - temp_r30 = OM_GET_WORK_PTR(arg0->unk50[temp_r31], WorkGenDiceNum); - if (temp_r30->field0_bit2) { - return 0; - } - } - return 1; + s32 temp_r31; + WorkGenDiceNum *temp_r30; + for(temp_r31=0; temp_r31unk00; temp_r31++) { + if(!arg0->unk50[temp_r31]) { + continue; + } + temp_r30 = OM_GET_WORK_PTR(arg0->unk50[temp_r31], WorkGenDiceNum); + if(temp_r30->field0_bit2) { + return 0; + } + } + return 1; } void fn_1_23B4(m02GenDice *arg0, s32 arg1) { - WorkGenDiceNum *work; - if (!arg0->unk50[arg1]) { - return; - } - work = OM_GET_WORK_PTR(arg0->unk50[arg1], WorkGenDiceNum); - work->field0_bit0 = 1; + WorkGenDiceNum *work; + if(!arg0->unk50[arg1]) { + return; + } + work = OM_GET_WORK_PTR(arg0->unk50[arg1], WorkGenDiceNum); + work->field0_bit0 = 1; } void fn_1_25D0(omObjData *object); void fn_1_23FC(m02GenDice *arg0, s32 arg1) { - Vec spC; - s16 sp8[2]; - WorkGenDiceNum *temp_r31; - s16 temp_r29; - omObjData *temp_r28; - s32 temp_r26; - s16 temp_r25; - temp_r26 = arg0->unk96; - if (arg1 > 99) { - arg1 = 99; - } - sp8[0] = arg1 % 10; - sp8[1] = arg1 / 10; - spC = arg0->unk0C; - spC.y += 300.0f; - temp_r28 = omAddObjEx(boardObjMan, 258, 0, 0, -1, fn_1_25D0); - temp_r28->unk10 = (u32)arg0; - temp_r31 = OM_GET_WORK_PTR(temp_r28, WorkGenDiceNum); - temp_r31->field0_bit0 = 0; - temp_r31->field0_bit1 = 0; - temp_r31->field0_bit2 = 0; - temp_r31->field0_bit3 = temp_r26; - temp_r31->unk08 = 0.3f; - temp_r31->unk01 = arg1; - temp_r31->unk02 = 360; - for (temp_r29 = 0; temp_r29 < 2; temp_r29++) { - temp_r25 = BoardModelCreate(arg0->unk08[sp8[temp_r29]], NULL, 0); - BoardModelPosSetV(temp_r25, &spC); - temp_r31->unk04[temp_r29] = temp_r25; - } - if (sp8[1] == 0) { - BoardModelVisibilitySet(temp_r31->unk04[1], 0); - } - arg0->unk50[temp_r26] = temp_r28; + Vec spC; + s16 sp8[2]; + WorkGenDiceNum *temp_r31; + s16 temp_r29; + omObjData *temp_r28; + s32 temp_r26; + s16 temp_r25; + temp_r26 = arg0->unk96; + if(arg1 > 99) { + arg1 = 99; + } + sp8[0] = arg1%10; + sp8[1] = arg1/10; + spC = arg0->unk0C; + spC.y += 300.0f; + temp_r28 = omAddObjEx(boardObjMan, 258, 0, 0, -1, fn_1_25D0); + temp_r28->unk10 = (u32)arg0; + temp_r31 = OM_GET_WORK_PTR(temp_r28, WorkGenDiceNum); + temp_r31->field0_bit0 = 0; + temp_r31->field0_bit1 = 0; + temp_r31->field0_bit2 = 0; + temp_r31->field0_bit3 = temp_r26; + temp_r31->unk08 = 0.3f; + temp_r31->unk01 = arg1; + temp_r31->unk02 = 360; + for(temp_r29=0; temp_r29<2; temp_r29++) { + temp_r25 = BoardModelCreate(arg0->unk08[sp8[temp_r29]], NULL, 0); + BoardModelPosSetV(temp_r25, &spC); + temp_r31->unk04[temp_r29] = temp_r25; + } + if(sp8[1] == 0) { + BoardModelVisibilitySet(temp_r31->unk04[1], 0); + } + arg0->unk50[temp_r26] = temp_r28; + } void fn_1_2694(WorkGenDiceNum *arg0); @@ -451,147 +464,150 @@ void fn_1_2BE4(m02GenDice *arg0, WorkGenDiceNum *arg1, s32 arg2); void fn_1_25D0(omObjData *object) { - WorkGenDiceNum *temp_r31; - m02GenDice *temp_r30; - temp_r30 = (m02GenDice *)object->unk10; - temp_r31 = OM_GET_WORK_PTR(object, WorkGenDiceNum); - if (temp_r31->field0_bit0 || BoardIsKill()) { - fn_1_2694(temp_r31); - temp_r30->unk50[temp_r31->field0_bit3] = NULL; - omDelObjEx(HuPrcCurrentGet(), object); - return; - } - if (BoardPauseActiveCheck()) { - return; - } - fn_1_2830(temp_r30, temp_r31, temp_r31->field0_bit1); - fn_1_2BE4(temp_r30, temp_r31, temp_r31->field0_bit1); + WorkGenDiceNum *temp_r31; + m02GenDice *temp_r30; + temp_r30 = (m02GenDice *)object->unk10; + temp_r31 = OM_GET_WORK_PTR(object, WorkGenDiceNum); + if(temp_r31->field0_bit0 || BoardIsKill()) { + fn_1_2694(temp_r31); + temp_r30->unk50[temp_r31->field0_bit3] = NULL; + omDelObjEx(HuPrcCurrentGet(), object); + return; + } + if(BoardPauseActiveCheck()) { + return; + } + fn_1_2830(temp_r30, temp_r31, temp_r31->field0_bit1); + fn_1_2BE4(temp_r30, temp_r31, temp_r31->field0_bit1); } void fn_1_2694(WorkGenDiceNum *arg0) { - s32 i; - for (i = 0; i < 2; i++) { - if (arg0->unk04[i] == -1) { - continue; - } - OSReport("%d:GenDiceNumExitOM Kill %d\n", i, arg0->unk04[i]); - BoardModelKill(arg0->unk04[i]); - arg0->unk04[i] = -1; - (void)i; - } + s32 i; + for(i=0; i<2; i++) { + if(arg0->unk04[i] == -1) { + continue; + } + OSReport("%d:GenDiceNumExitOM Kill %d\n", i, arg0->unk04[i]); + BoardModelKill(arg0->unk04[i]); + arg0->unk04[i] = -1; + (void)i; + } } void fn_1_272C(m02GenDice *arg0) { - s32 i; - WorkGenDiceNum *work; - s32 j; - for (i = 0; i < 3; i++) { - if (!arg0->unk50[i]) { - continue; - } - work = OM_GET_WORK_PTR(arg0->unk50[i], WorkGenDiceNum); - for (j = 0; j < 2; j++) { - if (work->unk04[j] == -1) { - continue; - } - OSReport("%d:GenDiceNumOMKillAll %d\n", j, work->unk04[j]); - BoardModelKill(work->unk04[j]); - work->unk04[j] = -1; - (void)j; - } - fn_1_23B4(arg0, i); - } + s32 i; + WorkGenDiceNum *work; + s32 j; + for(i=0; i<3; i++) { + if(!arg0->unk50[i]) { + continue; + } + work = OM_GET_WORK_PTR(arg0->unk50[i], WorkGenDiceNum); + for(j=0; j<2; j++) { + if(work->unk04[j] == -1) { + continue; + } + OSReport("%d:GenDiceNumOMKillAll %d\n", j, work->unk04[j]); + BoardModelKill(work->unk04[j]); + work->unk04[j] = -1; + (void)j; + } + fn_1_23B4(arg0, i); + } + } void fn_1_2830(m02GenDice *arg0, WorkGenDiceNum *arg1, s32 arg2) { - float temp_f31; - s16 temp_r31; - Vec *temp_r29; - s16 temp_r27; - s32 sp8 = 0; - Vec sp30; - Vec sp24; - Vec sp18 = { 288, 155, 1400 }; - Vec sp54[2]; - Vec sp3C[2] = { { 144, 155, 1400 }, { 432, 155, 1400 } }; - Vec sp6C[3] = { { 144, 155, 1400 }, { 432, 155, 1400 }, { 288, 155, 1400 } }; - Vec spC = { 288, 176, 1400 }; - temp_r27 = arg1->unk01 / 10; - if (arg2) { - temp_r29 = &spC; - temp_f31 = -20.0f * arg1->field0_bit3; - } - else { - switch (arg0->unk00) { - case 1: - temp_r29 = &arg0->unk7C; - break; - - case 2: - case 3: - temp_r29 = &arg0->unk64[arg1->field0_bit3]; - break; - } - temp_f31 = 0; - } - for (temp_r31 = 0; temp_r31 < 2; temp_r31++) { - if (temp_r27 == 0) { - sp54[temp_r31].x = temp_r29->x; - } - else { - if (temp_r31) { - sp54[temp_r31].x = temp_r29->x - 30; - } - else { - sp54[temp_r31].x = temp_r29->x + 30; - } - } - sp54[temp_r31].y = temp_r29->y; - sp54[temp_r31].z = temp_r29->z + temp_f31; - } - for (temp_r31 = 0; temp_r31 < 2; temp_r31++) { - BoardModelPosGet(arg1->unk04[temp_r31], &sp30); - Hu3D2Dto3D(&sp54[temp_r31], 1, &sp54[temp_r31]); - VECSubtract(&sp54[temp_r31], &sp30, &sp24); - if (VECMag(&sp24) < 0.01f) { - arg1->field0_bit2 = 0; - if (arg2 && arg1->field0_bit3) { - BoardModelVisibilitySet(arg1->unk04[temp_r31], 0); - } - } - else { - arg1->field0_bit2 = 1; - } - VECScale(&sp24, &sp24, arg1->unk08); - VECAdd(&sp30, &sp24, &sp30); - BoardModelPosSetV(arg1->unk04[temp_r31], &sp30); - } + float temp_f31; + s16 temp_r31; + Vec *temp_r29; + s16 temp_r27; + s32 sp8 = 0; + Vec sp30; + Vec sp24; + Vec sp18 = { 288, 155, 1400 }; + Vec sp54[2]; + Vec sp3C[2] = { + { 144, 155, 1400 }, + { 432, 155, 1400 } + }; + Vec sp6C[3] = { + { 144, 155, 1400 }, + { 432, 155, 1400 }, + { 288, 155, 1400 } + }; + Vec spC = { 288, 176, 1400 }; + temp_r27 = arg1->unk01/10; + if(arg2) { + temp_r29 = &spC; + temp_f31 = -20.0f*arg1->field0_bit3; + } else { + switch(arg0->unk00) { + case 1: + temp_r29 = &arg0->unk7C; + break; + + case 2: + case 3: + temp_r29 = &arg0->unk64[arg1->field0_bit3]; + break; + } + temp_f31 = 0; + } + for(temp_r31=0; temp_r31<2; temp_r31++) { + if(temp_r27 == 0) { + sp54[temp_r31].x = temp_r29->x; + } else { + if(temp_r31) { + sp54[temp_r31].x = temp_r29->x-30; + } else { + sp54[temp_r31].x = temp_r29->x+30; + } + } + sp54[temp_r31].y = temp_r29->y; + sp54[temp_r31].z = temp_r29->z+temp_f31; + } + for(temp_r31=0; temp_r31<2; temp_r31++) { + BoardModelPosGet(arg1->unk04[temp_r31], &sp30); + Hu3D2Dto3D(&sp54[temp_r31], 1, &sp54[temp_r31]); + VECSubtract(&sp54[temp_r31], &sp30, &sp24); + if(VECMag(&sp24) < 0.01f) { + arg1->field0_bit2 = 0; + if(arg2 && arg1->field0_bit3) { + BoardModelVisibilitySet(arg1->unk04[temp_r31], 0); + } + } else { + arg1->field0_bit2 = 1; + } + VECScale(&sp24, &sp24, arg1->unk08); + VECAdd(&sp30, &sp24, &sp30); + BoardModelPosSetV(arg1->unk04[temp_r31], &sp30); + } } void fn_1_2BE4(m02GenDice *arg0, WorkGenDiceNum *arg1, s32 arg2) { - s32 temp_r29; - float temp_f30; - if (arg2) { - arg1->unk02 += 18; - if (arg1->unk02 >= 360) { - arg1->unk02 = 360; - } - } - else { - arg1->unk02 -= 18; - if (arg1->unk02 <= 0) { - arg1->unk02 = 0; - } - } - OSs16tof32(&arg1->unk02, &temp_f30); - for (temp_r29 = 0; temp_r29 < 2; temp_r29++) { - if (arg1->unk04[temp_r29] == -1) { - continue; - } - BoardModelRotSet(arg1->unk04[temp_r29], 0, temp_f30, 0); - } -} + s32 temp_r29; + float temp_f30; + if(arg2) { + arg1->unk02 += 18; + if(arg1->unk02 >= 360) { + arg1->unk02 = 360; + } + } else { + arg1->unk02 -= 18; + if(arg1->unk02 <= 0) { + arg1->unk02 = 0; + } + } + OSs16tof32(&arg1->unk02, &temp_f30); + for(temp_r29=0; temp_r29<2; temp_r29++) { + if(arg1->unk04[temp_r29] == -1) { + continue; + } + BoardModelRotSet(arg1->unk04[temp_r29], 0, temp_f30, 0); + } +} \ No newline at end of file diff --git a/src/REL/w02Dll/main.c b/src/REL/w02Dll/main.c index ab699fc7..db0b592e 100644 --- a/src/REL/w02Dll/main.c +++ b/src/REL/w02Dll/main.c @@ -2,22 +2,22 @@ #include "game/frand.h" // Temporary defines -#define BOARD_ITEM_MINI 0x0 -#define BOARD_ITEM_MEGA 0x1 -#define BOARD_ITEM_SUPERMINI 0x2 -#define BOARD_ITEM_SUPERMEGA 0x3 -#define BOARD_ITEM_HAMMER 0x4 -#define BOARD_ITEM_PIPE 0x5 -#define BOARD_ITEM_CARD 0x6 -#define BOARD_ITEM_SPARKY 0x7 -#define BOARD_ITEM_GADDLIGHT 0x8 -#define BOARD_ITEM_CHOMPCALL 0x9 -#define BOARD_ITEM_SUIT 0xA -#define BOARD_ITEM_BOO 0xB -#define BOARD_ITEM_LAMP 0xC -#define BOARD_ITEM_BAG 0xD -#define BOARD_ITEM_MAX 0xE -#define BOARD_ITEM_NONE -1 +#define BOARD_ITEM_MINI 0x0 +#define BOARD_ITEM_MEGA 0x1 +#define BOARD_ITEM_SUPERMINI 0x2 +#define BOARD_ITEM_SUPERMEGA 0x3 +#define BOARD_ITEM_HAMMER 0x4 +#define BOARD_ITEM_PIPE 0x5 +#define BOARD_ITEM_CARD 0x6 +#define BOARD_ITEM_SPARKY 0x7 +#define BOARD_ITEM_GADDLIGHT 0x8 +#define BOARD_ITEM_CHOMPCALL 0x9 +#define BOARD_ITEM_SUIT 0xA +#define BOARD_ITEM_BOO 0xB +#define BOARD_ITEM_LAMP 0xC +#define BOARD_ITEM_BAG 0xD +#define BOARD_ITEM_MAX 0xE +#define BOARD_ITEM_NONE -1 /* BSS */ s16 lbl_1_bss_30[0x10]; // Model List @@ -25,29 +25,30 @@ s16 lbl_1_bss_2E; s16 lbl_1_bss_2C; Vec lbl_1_bss_20; Vec lbl_1_bss_14; -s32 *lbl_1_bss_10; +s32* lbl_1_bss_10; s16 lbl_1_bss_8[4]; // Item List -Process *lbl_1_bss_4; -u8 *lbl_1_bss_0; +Process* lbl_1_bss_4; +u8* lbl_1_bss_0; /* DATA */ -static BoardMapObject lbl_1_data_0[0x10] - = { { { 2550.0f, 0.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x000C) }, - { { -3150.0f, 0.0f, -1350.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x000D) }, - { { -3150.0f, 0.0f, 1650.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x000E) }, - { { -150.0f, 0.0f, 900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0008) }, - { { -150.0f, 0.0f, 900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0009) }, - { { -150.0f, 0.0f, 900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x000A) }, - { { -150.0f, 0.0f, 900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x000B) }, - { { 1350.0f, 0.0f, -300.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0011) }, - { { 1350.0f, 0.0f, -300.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0012) }, - { { 1350.0f, 0.0f, -300.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0015) }, - { { -300.0f, 0.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0016) }, - { { 1175.0f, 0.0f, -125.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005) }, - { { -525.0f, 0.0f, -825.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005) }, - { { -2225.0f, 0.0f, -2100.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005) }, - { { 1925.0f, 0.0f, -2100.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005) }, - { { 150.0f, 0.0f, 1650.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005) } }; +static BoardMapObject lbl_1_data_0[0x10] = { + {{2550.0f, 0.0f, -450.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x000C)}, + {{-3150.0f, 0.0f, -1350.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x000D)}, + {{-3150.0f, 0.0f, 1650.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x000E)}, + {{-150.0f, 0.0f, 900.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0008)}, + {{-150.0f, 0.0f, 900.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0009)}, + {{-150.0f, 0.0f, 900.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x000A)}, + {{-150.0f, 0.0f, 900.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x000B)}, + {{1350.0f, 0.0f, -300.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0011)}, + {{1350.0f, 0.0f, -300.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0012)}, + {{1350.0f, 0.0f, -300.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0015)}, + {{-300.0f, 0.0f, -900.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0016)}, + {{1175.0f, 0.0f, -125.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005)}, + {{-525.0f, 0.0f, -825.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005)}, + {{-2225.0f, 0.0f, -2100.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005)}, + {{1925.0f, 0.0f, -2100.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005)}, + {{150.0f, 0.0f, 1650.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005)} +}; // Special Models s16 lbl_1_data_280 = -1; @@ -55,15 +56,21 @@ s16 lbl_1_data_282 = -1; s16 lbl_1_data_284 = -1; s16 lbl_1_data_286 = -1; -s32 lbl_1_data_288[] = { DATA_MAKE_NUM(DATADIR_W02, 0x0004), DATA_NUM_LISTEND }; +s32 lbl_1_data_288[] = { + DATA_MAKE_NUM(DATADIR_W02, 0x0004), + DATA_NUM_LISTEND +}; s32 lbl_1_data_290[] = { - DATA_MAKE_NUM(DATADIR_BGUEST, 0x0009), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0006), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0007), - DATA_MAKE_NUM(DATADIR_BGUEST, 0x0008), DATA_NUM_LISTEND, + DATA_MAKE_NUM(DATADIR_BGUEST, 0x0009), + DATA_MAKE_NUM(DATADIR_BGUEST, 0x0006), + DATA_MAKE_NUM(DATADIR_BGUEST, 0x0007), + DATA_MAKE_NUM(DATADIR_BGUEST, 0x0008), + DATA_NUM_LISTEND, 0x00000000 // Padding }; /* Functions */ -// Actual externs +//Actual externs extern void BoardMusStart(s32, s32, s32, s32); extern void BoardAudSeqPause(s32, s32, s32); s8 BoardComPreferItemCheck(s32, s8, s8, s8); @@ -72,42 +79,39 @@ extern void BoardComKeySetRight(); extern void CharModelDataClose(s16); // function is probably global. only inlined in rels? -inline s32 get_current_board(void) -{ +inline s32 get_current_board(void) { return GWSystem.board; } -void BoardCreate(void) -{ +void BoardCreate(void) { s32 i, boardData; - BoardMapObject *modelTransform; + BoardMapObject* modelTransform; boardData = get_current_board(); lbl_1_bss_0 = GWSystem.board_data; - BoardSpaceInit(DATA_MAKE_NUM(DATADIR_W02, 0x00)); - lbl_1_data_280 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W02, 0x01), NULL, 0); + BoardSpaceInit(0x760000); + lbl_1_data_280 = BoardModelCreate(0x760001, NULL, 0); fn_8006DDE8(lbl_1_data_280, -1.0f); BoardModelPosSet(lbl_1_data_280, 0.0f, 0.0f, 0.0f); BoardModelMotionStart(lbl_1_data_280, 0, 0x40000001); BoardModelMotionSpeedSet(lbl_1_data_280, 0.1f); - lbl_1_data_282 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W02, 0x02), NULL, 0); + lbl_1_data_282 = BoardModelCreate(0x760002, NULL, 0); fn_8006DDE8(lbl_1_data_282, -1.0f); BoardModelPosSet(lbl_1_data_282, 0.0f, 0.0f, 0.0f); BoardModelMotionStart(lbl_1_data_282, 0, 0x40000001); - lbl_1_data_284 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W02, 0x03), lbl_1_data_288, 0); + lbl_1_data_284 = BoardModelCreate(0x760003, lbl_1_data_288, 0); BoardModelPosSet(lbl_1_data_284, 0.0f, 0.0f, 0.0f); BoardModelMotionStart(lbl_1_data_284, 1, 0x40000001); lbl_1_data_286 = BoardModelCreate(0x20005, lbl_1_data_290, 0); BoardModelMotionStart(lbl_1_data_286, 1, 0x40000001); BoardLightHookSet(fn_1_72C, fn_1_770); - for (i = 0; i < 0x10; i++) { + for(i = 0; i < 0x10; i++) { modelTransform = &lbl_1_data_0[i]; if (modelTransform->data_num != -1) { if ((i == 0xB) || (i == 0xC) || (i == 0xD) || (i == 0xE) || (i == 0xF)) { lbl_1_bss_10 = lbl_1_data_290; - } - else { + } else { lbl_1_bss_10 = NULL; } lbl_1_bss_30[i] = BoardModelCreate(modelTransform->data_num, lbl_1_bss_10, 0); @@ -128,8 +132,8 @@ void BoardCreate(void) fn_1_92C(); BoardModelPosGet(lbl_1_bss_30[13], &lbl_1_bss_20); BoardModelPosGet(lbl_1_bss_30[14], &lbl_1_bss_14); - lbl_1_bss_2E = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W02, 0x10), NULL, 1); - lbl_1_bss_2C = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W02, 0x10), NULL, 1); + lbl_1_bss_2E = BoardModelCreate(0x760010, NULL, 1); + lbl_1_bss_2C = BoardModelCreate(0x760010, NULL, 1); fn_1_9250(); BoardSpaceWalkEventFuncSet(fn_1_800); BoardSpaceWalkMiniEventFuncSet(fn_1_1128); @@ -142,8 +146,7 @@ void BoardCreate(void) BoardJunctionMaskSet(0x30); } -void BoardDestroy(void) -{ +void BoardDestroy(void) { /* Kill Model List */ s32 i; for (i = 0; i < 0x10; i++) { @@ -173,17 +176,17 @@ void BoardDestroy(void) BoardSpaceDestroy(); } -void fn_1_72C(void) -{ +void fn_1_72C(void) { s16 var = BoardModelIDGet(lbl_1_data_280); Hu3DModelLightInfoSet(var, 1); } -void fn_1_770(void) { } +void fn_1_770(void) { + +} /* Decrement current space's [UNKNOWN] flag */ -s32 fn_1_774(void) -{ +s32 fn_1_774(void) { u32 unkFlag; u32 currPlayer; u32 currSpace; @@ -191,7 +194,7 @@ s32 fn_1_774(void) currPlayer = GWSystem.player_curr; currSpace = GWPlayer[currPlayer].space_curr; spaceFlags = BoardSpaceFlagGet(0, currSpace); - // temp_r31 = (temp_r) + //temp_r31 = (temp_r) unkFlag = (spaceFlags & 0x1C0) >> 6; if (unkFlag != 0) { unkFlag--; @@ -200,9 +203,8 @@ s32 fn_1_774(void) } /* Check if can iteract with board object? */ -s32 fn_1_800(void) -{ - BoardSpace *currSpace; +s32 fn_1_800(void) { + BoardSpace* currSpace; s32 currPlayer; s32 var_r29; @@ -210,6 +212,7 @@ s32 fn_1_800(void) currSpace = BoardSpaceGet(0, GWPlayer[currPlayer].space_curr); if ((currSpace->flag & 0x30) != 0) { + // If mega mushroom state return if (BoardPlayerSizeGet(currPlayer) == 2) { return 0; @@ -221,11 +224,9 @@ s32 fn_1_800(void) if ((currSpace->flag & 0x20) != 0 && (currSpace->flag & 0x10) != 0) { var_r29 = 2; - } - else if ((currSpace->flag & 0x20) != 0) { + } else if ((currSpace->flag & 0x20) != 0) { var_r29 = 1; - } - else { + } else { var_r29 = 0; } fn_1_394C(var_r29); @@ -238,23 +239,22 @@ s32 fn_1_800(void) return 0; } -void fn_1_92C(void) -{ +void fn_1_92C(void) { fn_1_39F4(); fn_1_5CF8(); } -void fn_1_950(void) { } +void fn_1_950(void) { -void fn_1_954(void) -{ +} + +void fn_1_954(void) { HuPrcSleep(0x3C); BoardMusStart(1, 0x12, 0x7F, 0); HuPrcEnd(); } -void fn_1_990(void) -{ +void fn_1_990(void) { Vec rotation; Vec offset; Vec boardSpacePos; @@ -264,13 +264,13 @@ void fn_1_990(void) s32 currSpace; s32 spaceLinkFlag; + currPlayer = GWSystem.player_curr; BoardWinCreateChoice(2, MAKE_MESSID(19, 17), 4, 0); if (GWPlayer[currPlayer].com) { if (frandBool() != 0) { BoardComKeySetLeft(); - } - else { + } else { BoardComKeySetRight(); } } @@ -317,8 +317,7 @@ void fn_1_990(void) BoardPlayerMotionStart(currPlayer, 1, 0x40000001); } -void fn_1_C50(void) -{ +void fn_1_C50(void) { Vec rotation; Vec offset; s32 currSpace; @@ -328,7 +327,7 @@ void fn_1_C50(void) s32 i, j; currPlayer = GWSystem.player_curr; - if (BoardPlayerItemCount((s32)currPlayer) == 3) { + if (BoardPlayerItemCount((s32) currPlayer) == 3) { BoardWinCreate(2, MAKE_MESSID(19, 26), 4); BoardWinWait(); BoardWinKill(); @@ -352,7 +351,7 @@ void fn_1_C50(void) } if (lbl_1_bss_8[i] != BOARD_ITEM_NONE) { i++; - } + } } } fn_1_79BC(lbl_1_bss_8); @@ -362,8 +361,7 @@ void fn_1_C50(void) if (GWPlayer[currPlayer].com) { if (BoardComPreferItemCheck(currPlayer, lbl_1_bss_8[0], lbl_1_bss_8[1], lbl_1_bss_8[2]) != -1) { BoardComKeySetLeft(); - } - else { + } else { BoardComKeySetRight(); } } @@ -389,14 +387,14 @@ void fn_1_C50(void) offset.x = 0.0f; offset.y = 0.0f; offset.z = -250.0f; - BoardCameraMotionStartEx(lbl_1_bss_30[10], (Vec *)&rotation, (Vec *)&offset, 1500.0f, 25.0f, 0x15); + BoardCameraMotionStartEx(lbl_1_bss_30[10], (Point3d* ) &rotation, (Point3d* ) &offset, 1500.0f, 25.0f, 0x15); currSpace = GWPlayer[currPlayer].space_curr; spaceLinkFlags = BoardSpaceLinkFlagSearch(0, currSpace, 0x02000000U); BoardPlayerMoveBetween(currPlayer, currSpace, spaceLinkFlags); while (GWPlayer[currPlayer].moving) { HuPrcVSleep(); } - BoardPlayerMotionStart((s32)currPlayer, 1, 0x40000001); + BoardPlayerMotionStart((s32) currPlayer, 1, 0x40000001); BoardPlayerMotBlendSet(currPlayer, 0xB4, 0xF); while (BoardPlayerMotBlendCheck(currPlayer) == 0) { HuPrcVSleep(); @@ -411,19 +409,17 @@ void fn_1_C50(void) HuPrcVSleep(); } fn_1_5F90(); - BoardPlayerMotionStart((s32)currPlayer, 1, 0x40000001); + BoardPlayerMotionStart((s32) currPlayer, 1, 0x40000001); HuPrcEnd(); } -void fn_1_1070(void) -{ +void fn_1_1070(void) { BoardWinKill(); CharModelDataClose(-1); lbl_1_bss_4 = 0; } -void fn_1_10A8(void) -{ +void fn_1_10A8(void) { lbl_1_bss_4 = HuPrcChildCreate(fn_1_C50, 0x2003U, 0x2000U, 0, boardMainProc); HuPrcDestructorSet2(lbl_1_bss_4, fn_1_1070); while (lbl_1_bss_4) { @@ -431,8 +427,7 @@ void fn_1_10A8(void) } } -s32 fn_1_1128(void) -{ +s32 fn_1_1128(void) { u32 spaceFlags; s16 currSpace; currSpace = GWPlayer[GWSystem.player_curr].space_curr; @@ -441,8 +436,7 @@ s32 fn_1_1128(void) if (spaceFlags & 0x200000) { fn_1_990(); - } - else if (spaceFlags & 0x400000) { + } else if (spaceFlags & 0x400000) { lbl_1_bss_4 = HuPrcChildCreate(fn_1_C50, 0x2003U, 0x2000U, 0, boardMainProc); HuPrcDestructorSet2(lbl_1_bss_4, fn_1_1070); while (lbl_1_bss_4) { @@ -453,8 +447,7 @@ s32 fn_1_1128(void) BoardRollDispSet(1); } -void fn_1_121C(u32 mesg) -{ +void fn_1_121C(u32 mesg) { BoardWinCreate(2, mesg, 4); BoardWinWait(); BoardWinKill(); diff --git a/src/REL/w02Dll/mg_coin.c b/src/REL/w02Dll/mg_coin.c index 054d750b..a1ce769c 100644 --- a/src/REL/w02Dll/mg_coin.c +++ b/src/REL/w02Dll/mg_coin.c @@ -1,9 +1,10 @@ #include "REL/w02Dll.h" #include "game/audio.h" -#include "game/chrman.h" +#include "game/pad.h" +#include "game/objsub.h" #include "game/frand.h" #include "game/objsub.h" -#include "game/pad.h" +#include "game/chrman.h" #include "ext_math.h" @@ -23,158 +24,184 @@ s16 lbl_1_bss_84; s16 lbl_1_bss_5C[20]; s32 lbl_1_bss_58; -Vec lbl_1_data_378[3] = { { -45, 155, 108 }, { 0, 155, 108 }, { 45, 155, 108 } }; +Vec lbl_1_data_378[3] = { + { -45, 155, 108 }, + { 0, 155, 108 }, + { 45, 155, 108 } +}; -Vec lbl_1_data_39C[3] = { { -45, 25, 200 }, { 0, 25, 200 }, { 45, 25, 200 } }; +Vec lbl_1_data_39C[3] = { + { -45, 25, 200 }, + { 0, 25, 200 }, + { 45, 25, 200 } +}; -s32 lbl_1_data_3C0[9] = { 5, 10, 20, 5, 10, 20, 5, 10, 20 }; +s32 lbl_1_data_3C0[9] = { + 5, 10, 20, + 5, 10, 20, + 5, 10, 20 +}; -s32 lbl_1_data_3E4[8] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x08), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x08), DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x08), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x08), DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x08), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x08), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x08), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x08) }; +s32 lbl_1_data_3E4[8] = { + 0x5F0008, + 0x1A0008, + 0x6D0008, + 0x8A0008, + 0x850008, + 0x110008, + 0x0D0008, + 0x810008 +}; -s32 lbl_1_data_404[8] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x0A), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x0A), DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x0A), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x0A), DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x0A), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x0A), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x0A), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x0A) }; +s32 lbl_1_data_404[8] = { + 0x5F000A, + 0x1A000A, + 0x6D000A, + 0x8A000A, + 0x85000A, + 0x11000A, + 0x0D000A, + 0x81000A +}; void fn_1_51B4(Vec *arg0); void fn_1_39F4(void) { - Vec sp8; - s32 temp_r31; - BoardModelVisibilitySet(lbl_1_bss_30[7], 1); - BoardModelVisibilitySet(lbl_1_bss_30[8], 1); - BoardModelVisibilitySet(lbl_1_bss_30[9], 0); - BoardModelAttrSet(lbl_1_bss_30[8], 0x40000002); - BoardModelAttrSet(lbl_1_bss_30[9], 0x40000003); - BoardModelAttrSet(lbl_1_bss_30[7], 0x40000001); - BoardModelPosGet(lbl_1_bss_30[8], &lbl_1_bss_94); - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - lbl_1_bss_C2[temp_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W02, 0x13), NULL, 1); - lbl_1_bss_BC[temp_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W02, 0x14), NULL, 1); - BoardModelAttrSet(lbl_1_bss_BC[temp_r31], 0x40000002); - lbl_1_bss_B0[temp_r31] = (s32)frandmod(9) * 40.0f; - sp8.x = lbl_1_bss_B0[temp_r31]; - sp8.y = sp8.z = 0; - BoardModelRotSetV(lbl_1_bss_C2[temp_r31], &sp8); - } - BoardModelPosSetV(lbl_1_bss_30[7], &lbl_1_bss_94); - fn_1_51B4(&lbl_1_bss_94); + Vec sp8; + s32 temp_r31; + BoardModelVisibilitySet(lbl_1_bss_30[7], 1); + BoardModelVisibilitySet(lbl_1_bss_30[8], 1); + BoardModelVisibilitySet(lbl_1_bss_30[9], 0); + BoardModelAttrSet(lbl_1_bss_30[8], 0x40000002); + BoardModelAttrSet(lbl_1_bss_30[9], 0x40000003); + BoardModelAttrSet(lbl_1_bss_30[7], 0x40000001); + BoardModelPosGet(lbl_1_bss_30[8], &lbl_1_bss_94); + for(temp_r31=0; temp_r31<3; temp_r31++) { + lbl_1_bss_C2[temp_r31] = BoardModelCreate(0x760013, NULL, 1); + lbl_1_bss_BC[temp_r31] = BoardModelCreate(0x760014, NULL, 1); + BoardModelAttrSet(lbl_1_bss_BC[temp_r31], 0x40000002); + lbl_1_bss_B0[temp_r31] = (s32)frandmod(9)*40.0f; + sp8.x = lbl_1_bss_B0[temp_r31]; + sp8.y = sp8.z = 0; + BoardModelRotSetV(lbl_1_bss_C2[temp_r31], &sp8); + } + BoardModelPosSetV(lbl_1_bss_30[7], &lbl_1_bss_94); + fn_1_51B4(&lbl_1_bss_94); } void fn_1_3F0C(omObjData *object); void fn_1_4050(omObjData *object); typedef struct work_mgcoin_player { - float unk0[3]; - float unkC[3]; - float unk18[3]; - s16 unk24[3]; + float unk0[3]; + float unkC[3]; + float unk18[3]; + s16 unk24[3]; } WorkMGCoinPlayer; typedef struct work_mgcoin { - float unk0; - float unk4; - s16 unk8; - Vec unkC; - s16 unk18; - s16 unk1A; - s16 unk1C; - s16 unk1E; - s16 unk20; + float unk0; + float unk4; + s16 unk8; + Vec unkC; + s16 unk18; + s16 unk1A; + s16 unk1C; + s16 unk1E; + s16 unk20; } WorkMGCoin; void fn_1_3BF4(void) { - Vec sp8; - - s32 temp_r31; - WorkMGCoinPlayer *temp_r30; - lbl_1_bss_86 = GWSystem.player_curr; - lbl_1_bss_AC = omAddObjEx(boardObjMan, 257, 0, 0, -1, fn_1_3F0C); - lbl_1_bss_A4 = omAddObjEx(boardObjMan, 257, 0, 0, -1, fn_1_4050); - lbl_1_bss_A8 = omAddObjEx(boardObjMan, 257, 0, 2, -1, NULL); - lbl_1_bss_A8->motion[0] = BoardPlayerMotionCreate(lbl_1_bss_86, lbl_1_data_3E4[GWPlayer[lbl_1_bss_86].character]); - lbl_1_bss_A8->motion[1] = BoardPlayerMotionCreate(lbl_1_bss_86, lbl_1_data_404[GWPlayer[lbl_1_bss_86].character]); - lbl_1_bss_A4->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkMGCoinPlayer), MEMORY_DEFAULT_NUM); - temp_r30 = lbl_1_bss_A4->data; - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - temp_r30->unk0[temp_r31] = lbl_1_bss_B0[temp_r31]; - temp_r30->unkC[temp_r31] = 0; - temp_r30->unk18[temp_r31] = 0; - temp_r30->unk24[temp_r31] = 0; - } - lbl_1_bss_A8->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkMGCoin), MEMORY_DEFAULT_NUM); - BoardPlayerPosGet(lbl_1_bss_86, &sp8); - lbl_1_bss_A8->trans.x = sp8.x; - lbl_1_bss_A8->trans.y = sp8.y; - lbl_1_bss_A8->trans.z = sp8.z; - for (temp_r31 = 0; temp_r31 < 20; temp_r31++) { - lbl_1_bss_5C[temp_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x0A), NULL, 1); - BoardModelVisibilitySet(lbl_1_bss_5C[temp_r31], 0); - } - lbl_1_bss_A0 = 0; + Vec sp8; + + s32 temp_r31; + WorkMGCoinPlayer *temp_r30; + lbl_1_bss_86 = GWSystem.player_curr; + lbl_1_bss_AC = omAddObjEx(boardObjMan, 257, 0, 0, -1, fn_1_3F0C); + lbl_1_bss_A4 = omAddObjEx(boardObjMan, 257, 0, 0, -1, fn_1_4050); + lbl_1_bss_A8 = omAddObjEx(boardObjMan, 257, 0, 2, -1, NULL); + lbl_1_bss_A8->motion[0] = BoardPlayerMotionCreate(lbl_1_bss_86, lbl_1_data_3E4[GWPlayer[lbl_1_bss_86].character]); + lbl_1_bss_A8->motion[1] = BoardPlayerMotionCreate(lbl_1_bss_86, lbl_1_data_404[GWPlayer[lbl_1_bss_86].character]); + lbl_1_bss_A4->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkMGCoinPlayer), MEMORY_DEFAULT_NUM); + temp_r30 = lbl_1_bss_A4->data; + for(temp_r31=0; temp_r31<3; temp_r31++) { + temp_r30->unk0[temp_r31] = lbl_1_bss_B0[temp_r31]; + temp_r30->unkC[temp_r31] = 0; + temp_r30->unk18[temp_r31] = 0; + temp_r30->unk24[temp_r31] = 0; + } + lbl_1_bss_A8->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkMGCoin), MEMORY_DEFAULT_NUM); + BoardPlayerPosGet(lbl_1_bss_86, &sp8); + lbl_1_bss_A8->trans.x = sp8.x; + lbl_1_bss_A8->trans.y = sp8.y; + lbl_1_bss_A8->trans.z = sp8.z; + for(temp_r31=0; temp_r31<20; temp_r31++) { + lbl_1_bss_5C[temp_r31] = BoardModelCreate(0x7000A, NULL, 1); + BoardModelVisibilitySet(lbl_1_bss_5C[temp_r31], 0); + } + lbl_1_bss_A0 = 0; } void fn_1_3F94(void); void fn_1_3F0C(omObjData *object) { - if (lbl_1_bss_A0 && BoardMGDoneFlagGet() == 1) { - fn_1_3F94(); - omDelObjEx(boardObjMan, object); - } + if(lbl_1_bss_A0 && BoardMGDoneFlagGet() == 1) { + fn_1_3F94(); + omDelObjEx(boardObjMan, object); + } } void fn_1_3F64(void) { - lbl_1_bss_A0 = 1; - BoardMGExit(); + lbl_1_bss_A0 = 1; + BoardMGExit(); } void fn_1_3F94(void) { - s32 temp_r31; - BoardPlayerMotionKill(lbl_1_bss_86, lbl_1_bss_A8->motion[0]); - BoardPlayerMotionKill(lbl_1_bss_86, lbl_1_bss_A8->motion[1]); - omDelObjEx(boardObjMan, lbl_1_bss_A8); - for (temp_r31 = 0; temp_r31 < 20; temp_r31++) { - BoardModelKill(lbl_1_bss_5C[temp_r31]); - } - BoardMGDoneFlagSet(0); + s32 temp_r31; + BoardPlayerMotionKill(lbl_1_bss_86, lbl_1_bss_A8->motion[0]); + BoardPlayerMotionKill(lbl_1_bss_86, lbl_1_bss_A8->motion[1]); + omDelObjEx(boardObjMan, lbl_1_bss_A8); + for(temp_r31=0; temp_r31<20; temp_r31++) { + BoardModelKill(lbl_1_bss_5C[temp_r31]); + } + BoardMGDoneFlagSet(0); } void fn_1_4100(omObjData *object); void fn_1_4050(omObjData *object) { - if (object->work[0] == 0) { - object->work[0] = MGSeqStartCreate(); - return; - } - if (MGSeqStatGet(object->work[0])) { - return; - } - object->func = fn_1_4100; - BoardModelMotionTimeSet(lbl_1_bss_30[8], 0); - BoardModelAttrReset(lbl_1_bss_30[8], 0x40000006); - HuAudFXPlay(1062); + if(object->work[0] == 0) { + object->work[0] = MGSeqStartCreate(); + return; + } + if(MGSeqStatGet(object->work[0])) { + return; + } + object->func = fn_1_4100; + BoardModelMotionTimeSet(lbl_1_bss_30[8], 0); + BoardModelAttrReset(lbl_1_bss_30[8], 0x40000006); + HuAudFXPlay(1062); } void fn_1_41B8(omObjData *object); void fn_1_4100(omObjData *object) { - if (BoardModelMotionTimeGet(lbl_1_bss_30[8]) >= BoardModelMotionMaxTimeGet(lbl_1_bss_30[8])) { - object->work[0] = 0; - object->work[1] = 0; - object->work[2] = 1; - object->work[3] = 0; - object->func = fn_1_41B8; - BoardModelAttrSet(lbl_1_bss_30[8], 0x40000004); - lbl_1_bss_58 = HuAudFXPlay(1063); - } + if(BoardModelMotionTimeGet(lbl_1_bss_30[8]) >= BoardModelMotionMaxTimeGet(lbl_1_bss_30[8])) { + object->work[0] = 0; + object->work[1] = 0; + object->work[2] = 1; + object->work[3] = 0; + object->func = fn_1_41B8; + BoardModelAttrSet(lbl_1_bss_30[8], 0x40000004); + lbl_1_bss_58 = HuAudFXPlay(1063); + } } void fn_1_4378(omObjData *object); @@ -182,42 +209,42 @@ void fn_1_5290(omObjData *object); void fn_1_41B8(omObjData *object) { - Vec sp8; - WorkMGCoinPlayer *temp_r30; - s32 temp_r29; - s32 temp_r28; - u32 temp_r27; - temp_r30 = object->data; - if (object->work[1] == 0) { - object->work[0] |= object->work[2]; - object->work[1] = 12; - object->work[2] <<= 1; - } - else { - object->work[1]--; - } - sp8.y = sp8.z = 0; - temp_r28 = 0; - for (temp_r29 = 0; temp_r29 < 3; temp_r29++) { - temp_r27 = 1 << temp_r29; - if (object->work[0] & temp_r27) { - temp_r30->unkC[temp_r29] += 0.25f; - if (temp_r30->unkC[temp_r29] > 5.0f) { - temp_r30->unkC[temp_r29] = 5.0f; - temp_r28++; - } - temp_r30->unk0[temp_r29] += temp_r30->unkC[temp_r29]; - if (temp_r30->unk0[temp_r29] >= 360.0f) { - temp_r30->unk0[temp_r29] -= 360.0f; - } - sp8.x = temp_r30->unk0[temp_r29]; - BoardModelRotSetV(lbl_1_bss_C2[temp_r29], &sp8); - } - } - if (temp_r28 == 3) { - object->func = fn_1_4378; - lbl_1_bss_A8->func = fn_1_5290; - } + Vec sp8; + WorkMGCoinPlayer *temp_r30; + s32 temp_r29; + s32 temp_r28; + u32 temp_r27; + temp_r30 = object->data; + if(object->work[1] == 0) { + object->work[0] |= object->work[2]; + object->work[1] = 12; + object->work[2] <<= 1; + } else { + object->work[1]--; + } + sp8.y = sp8.z = 0; + temp_r28 = 0; + for(temp_r29=0; temp_r29<3; temp_r29++) { + temp_r27 = 1 << temp_r29; + if(object->work[0] & temp_r27) { + temp_r30->unkC[temp_r29] += 0.25f; + if(temp_r30->unkC[temp_r29] > 5.0f) { + temp_r30->unkC[temp_r29] = 5.0f; + temp_r28++; + } + temp_r30->unk0[temp_r29] += temp_r30->unkC[temp_r29]; + if(temp_r30->unk0[temp_r29] >= 360.0f) { + temp_r30->unk0[temp_r29] -= 360.0f; + } + sp8.x = temp_r30->unk0[temp_r29]; + BoardModelRotSetV(lbl_1_bss_C2[temp_r29], &sp8); + } + } + if(temp_r28 == 3) { + object->func = fn_1_4378; + lbl_1_bss_A8->func = fn_1_5290; + } + } void fn_1_4698(omObjData *object); @@ -226,442 +253,431 @@ void fn_1_46E8(void); void fn_1_4378(omObjData *object) { - Vec sp8; - float temp_f31; - WorkMGCoinPlayer *temp_r31; - s32 temp_r30; - s32 temp_r28; - Process *temp_r27; - temp_r31 = object->data; - sp8.y = sp8.z = 0; - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - temp_r28 = 1 << temp_r30; - if (object->work[0] & temp_r28) { - if (object->work[3] & temp_r28) { - temp_r31->unk18[temp_r30] = 360; - temp_r31->unk24[temp_r30] = 1; - object->work[3] &= ~temp_r28; - } - if (temp_r31->unk24[temp_r30]) { - if (0.0f == temp_r31->unk18[temp_r30]) { - temp_f31 = fmod(temp_r31->unk0[temp_r30], 40.0); - if (temp_f31 + temp_r31->unkC[temp_r30] >= 40.0f) { - temp_r31->unk0[temp_r30] += (temp_f31 + temp_r31->unkC[temp_r30]) - 40.0f; - temp_f31 = 0; - } - if (0.0f == temp_f31) { - HuAudFXPlay(1067); - object->work[0] &= ~temp_r28; - temp_r31->unkC[temp_r30] = 0; - lbl_1_bss_A8->work[2] = REFRESH_RATE; - if (temp_r30 != 2) { - lbl_1_bss_A8->func = fn_1_5290; - } - else { - BoardAudSeqFadeOut(1, 100); - temp_r27 = HuPrcCreate(fn_1_46E8, 8196, 6144, 0); - temp_r27->user_data = object; - HuAudFXStop(lbl_1_bss_58); - object->func = fn_1_4698; - } - } - } - else { - temp_r31->unk18[temp_r30] -= temp_r31->unkC[temp_r30]; - if (temp_r31->unk18[temp_r30] < 0.0f) { - temp_r31->unk18[temp_r30] = 0.0f; - } - } - } - temp_r31->unk0[temp_r30] += temp_r31->unkC[temp_r30]; - if (temp_r31->unk0[temp_r30] >= 360.0f) { - temp_r31->unk0[temp_r30] -= 360.0f; - } - } - sp8.x = temp_r31->unk0[temp_r30]; - BoardModelRotSetV(lbl_1_bss_C2[temp_r30], &sp8); - } + Vec sp8; + float temp_f31; + WorkMGCoinPlayer *temp_r31; + s32 temp_r30; + s32 temp_r28; + Process *temp_r27; + temp_r31 = object->data; + sp8.y = sp8.z = 0; + for(temp_r30=0; temp_r30<3; temp_r30++) { + temp_r28 = 1<work[0] & temp_r28) { + if(object->work[3] & temp_r28) { + temp_r31->unk18[temp_r30] = 360; + temp_r31->unk24[temp_r30] = 1; + object->work[3] &= ~temp_r28; + } + if(temp_r31->unk24[temp_r30]) { + if(0.0f == temp_r31->unk18[temp_r30]) { + temp_f31 = fmod(temp_r31->unk0[temp_r30], 40.0); + if(temp_f31+temp_r31->unkC[temp_r30] >= 40.0f) { + temp_r31->unk0[temp_r30] += (temp_f31+temp_r31->unkC[temp_r30])-40.0f; + temp_f31 = 0; + } + if(0.0f == temp_f31) { + HuAudFXPlay(1067); + object->work[0] &= ~temp_r28; + temp_r31->unkC[temp_r30] = 0; + lbl_1_bss_A8->work[2] = 60; + if(temp_r30 != 2) { + lbl_1_bss_A8->func = fn_1_5290; + } else { + BoardAudSeqFadeOut(1, 100); + temp_r27 = HuPrcCreate(fn_1_46E8, 8196, 6144, 0); + temp_r27->user_data = object; + HuAudFXStop(lbl_1_bss_58); + object->func = fn_1_4698; + } + } + } else { + temp_r31->unk18[temp_r30] -= temp_r31->unkC[temp_r30]; + if(temp_r31->unk18[temp_r30] < 0.0f) { + temp_r31->unk18[temp_r30] = 0.0f; + } + } + } + temp_r31->unk0[temp_r30] += temp_r31->unkC[temp_r30]; + if(temp_r31->unk0[temp_r30] >= 360.0f) { + temp_r31->unk0[temp_r30] -= 360.0f; + } + } + sp8.x = temp_r31->unk0[temp_r30]; + BoardModelRotSetV(lbl_1_bss_C2[temp_r30], &sp8); + } } void fn_1_4698(omObjData *object) { - if (msmMusGetStatus(1) == 0) { - BoardAudSeqPause(0, 0, 1000); - object->func = NULL; - } + if(msmMusGetStatus(1) == 0) { + BoardAudSeqPause(0, 0, 1000); + object->func = NULL; + } } void fn_1_511C(omObjData *object); void fn_1_46E8(void) { - Vec sp21C[20]; - Vec sp12C[20]; - Vec sp3C[20]; - s32 sp30[3]; - Vec sp24; - Vec sp18; - Vec spC; - char sp8[4]; - float temp_f31; - s32 temp_r31; - s32 temp_r30; - s32 temp_r29; - s32 temp_r28; - omObjData *temp_r27; - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - BoardModelRotGet(lbl_1_bss_C2[temp_r31], &sp24); - sp30[temp_r31] = lbl_1_data_3C0[(int)(sp24.x / 40.0f)]; - } - if (sp30[0] == sp30[1] && sp30[0] == sp30[2]) { - lbl_1_bss_84 = sp30[0]; - } - else { - lbl_1_bss_84 = 1; - } - if (lbl_1_bss_84 != 1) { - BoardModelVisibilitySet(lbl_1_bss_30[9], 1); - BoardModelAttrReset(lbl_1_bss_30[9], 0x40000002); - } - sprintf(sp8, "%d", lbl_1_bss_84); - BoardWinCreate(2, MAKE_MESSID(19, 19), 4); - BoardWinInsertMesSet((u32)sp8, 0); - BoardWinWait(); - BoardWinKill(); - BoardCameraTargetModelSet(-1); - temp_r30 = 0; - temp_r29 = 45; - temp_f31 = 0; - sp18 = lbl_1_bss_94; - HuAudFXPlay(1065); - while (1) { - temp_r28 = 0; - if (temp_r29 == 0 && temp_r30 < lbl_1_bss_84) { - HuAudFXPlay(18); - BoardModelVisibilitySet(lbl_1_bss_5C[temp_r30], 1); - sp21C[temp_r30].x = -5.0f + ((1.0f / 255.0f) * (10.0f * frand8())); - sp21C[temp_r30].y = 212.5f; - sp21C[temp_r30].z = 130.0f; - VECAdd(&sp21C[temp_r30], &sp18, &sp21C[temp_r30]); - BoardModelPosSetV(lbl_1_bss_5C[temp_r30], &sp21C[temp_r30]); - sp12C[temp_r30].x = -1.0f + ((1.0f / 255.0f) * (2.0f * frand8())); - sp12C[temp_r30].y = 18.0f; - sp12C[temp_r30].z = 0.0f; - temp_r29 = frandmod(3) + 5; - temp_r30++; - } - else { - temp_r29--; - } - for (temp_r31 = 0; temp_r31 < temp_r30; temp_r31++) { - if (sp21C[temp_r31].y >= 500.0f) { - BoardModelVisibilitySet(lbl_1_bss_5C[temp_r31], 0); - temp_r28++; - } - else { - VECAdd(&sp21C[temp_r31], &sp12C[temp_r31], &sp21C[temp_r31]); - } - BoardModelPosSetV(lbl_1_bss_5C[temp_r31], &sp21C[temp_r31]); - } - sp18.y += 0.8f * sind(temp_f31); - temp_f31 += 45.0f; - if (temp_f31 >= 360.0f) { - temp_f31 -= 360.0f; - } - fn_1_51B4(&sp18); - if (temp_r28 == lbl_1_bss_84) { - break; - } - HuPrcVSleep(); - } - fn_1_51B4(&lbl_1_bss_94); - BoardModelAttrSet(lbl_1_bss_30[9], 0x40000002); - BoardModelMotionTimeSet(lbl_1_bss_30[9], 0); - BoardModelVisibilitySet(lbl_1_bss_30[9], 0); - BoardPlayerPosGet(lbl_1_bss_86, &sp18); - for (temp_r31 = 0; temp_r31 < lbl_1_bss_84; temp_r31++) { - BoardModelVisibilitySet(lbl_1_bss_5C[temp_r31], 1); - sp21C[temp_r31] = sp18; - sp21C[temp_r31].y += (temp_r31 * 120) + 600.0f; - sp21C[temp_r31].x += -25.0f + ((1.0f / 255.0f) * (50.0f * frand8())); - sp21C[temp_r31].z += -25.0f + ((1.0f / 255.0f) * (50.0f * frand8())); - sp3C[temp_r31].x = sp3C[temp_r31].z = 0; - sp3C[temp_r31].y = ((1.0f / 255.0f) * (360.0f * frand8())); - BoardModelPosSetV(lbl_1_bss_5C[temp_r31], &sp21C[temp_r31]); - BoardModelRotSetV(lbl_1_bss_5C[temp_r31], &sp3C[temp_r31]); - } - temp_f31 = -1; - temp_r30 = 0; - while (1) { - for (temp_r31 = 0; temp_r31 < lbl_1_bss_84; temp_r31++) { - if (temp_r31 < temp_r30) { - continue; - } - sp21C[temp_r31].y += temp_f31; - BoardModelPosSetV(lbl_1_bss_5C[temp_r31], &sp21C[temp_r31]); - sp3C[temp_r31].y += 45.0f; - if (sp3C[temp_r31].y >= 360.0f) { - sp3C[temp_r31].y -= 360.0f; - } - BoardModelRotSetV(lbl_1_bss_5C[temp_r31], &sp3C[temp_r31]); - if (sp21C[temp_r31].y <= 80.0f + sp18.y) { - spC = sp21C[temp_r31]; - CharModelCoinEffectCreate(1, &spC); - BoardModelVisibilitySet(lbl_1_bss_5C[temp_r31], 0); - temp_r30++; - BoardPlayerCoinsAdd(lbl_1_bss_86, 1); - HuAudFXPlay(7); - omVibrate(lbl_1_bss_86, 12, 6, 6); - } - } - temp_f31 *= 1.05f; - if (temp_f31 < -20.0f) { - temp_f31 = -20.0f; - } - if (temp_r30 == lbl_1_bss_84) { - BoardPlayerMotionShiftSet(lbl_1_bss_86, 7, 0, 10, HU3D_MOTATTR_NONE); - break; - } - HuPrcVSleep(); - } - while (!BoardPlayerMotionEndCheck(lbl_1_bss_86)) { - HuPrcVSleep(); - } - fn_1_121C(MAKE_MESSID(0x13, 0x14)); - temp_r27 = HuPrcCurrentGet()->user_data; - temp_r27->func = fn_1_511C; - HuPrcEnd(); + Vec sp21C[20]; + Vec sp12C[20]; + Vec sp3C[20]; + s32 sp30[3]; + Vec sp24; + Vec sp18; + Vec spC; + char sp8[4]; + float temp_f31; + s32 temp_r31; + s32 temp_r30; + s32 temp_r29; + s32 temp_r28; + omObjData *temp_r27; + for(temp_r31=0; temp_r31<3; temp_r31++) { + BoardModelRotGet(lbl_1_bss_C2[temp_r31], &sp24); + sp30[temp_r31] = lbl_1_data_3C0[(int)(sp24.x/40.0f)]; + } + if(sp30[0] == sp30[1] && sp30[0] == sp30[2]) { + lbl_1_bss_84 = sp30[0]; + } else { + lbl_1_bss_84 = 1; + } + if(lbl_1_bss_84 != 1) { + BoardModelVisibilitySet(lbl_1_bss_30[9], 1); + BoardModelAttrReset(lbl_1_bss_30[9], 0x40000002); + } + sprintf(sp8, "%d", lbl_1_bss_84); + BoardWinCreate(2, MAKE_MESSID(19, 19), 4); + BoardWinInsertMesSet((u32)sp8, 0); + BoardWinWait(); + BoardWinKill(); + BoardCameraTargetModelSet(-1); + temp_r30 = 0; + temp_r29 = 45; + temp_f31 = 0; + sp18 = lbl_1_bss_94; + HuAudFXPlay(1065); + while(1) { + temp_r28 = 0; + if(temp_r29 == 0 && temp_r30 < lbl_1_bss_84) { + HuAudFXPlay(18); + BoardModelVisibilitySet(lbl_1_bss_5C[temp_r30], 1); + sp21C[temp_r30].x = -5.0f+((1.0f/255.0f)*(10.0f*frand8())); + sp21C[temp_r30].y = 212.5f; + sp21C[temp_r30].z = 130.0f; + VECAdd(&sp21C[temp_r30], &sp18, &sp21C[temp_r30]); + BoardModelPosSetV(lbl_1_bss_5C[temp_r30], &sp21C[temp_r30]); + sp12C[temp_r30].x = -1.0f+((1.0f/255.0f)*(2.0f*frand8())); + sp12C[temp_r30].y = 18.0f; + sp12C[temp_r30].z = 0.0f; + temp_r29 = frandmod(3)+5; + temp_r30++; + } else { + temp_r29--; + } + for(temp_r31=0; temp_r31= 500.0f) { + BoardModelVisibilitySet(lbl_1_bss_5C[temp_r31], 0); + temp_r28++; + } else { + VECAdd(&sp21C[temp_r31], &sp12C[temp_r31], &sp21C[temp_r31]); + } + BoardModelPosSetV(lbl_1_bss_5C[temp_r31], &sp21C[temp_r31]); + } + sp18.y += 0.8f*sind(temp_f31); + temp_f31 += 45.0f; + if(temp_f31 >= 360.0f) { + temp_f31 -= 360.0f; + } + fn_1_51B4(&sp18); + if(temp_r28 == lbl_1_bss_84) { + break; + } + HuPrcVSleep(); + } + fn_1_51B4(&lbl_1_bss_94); + BoardModelAttrSet(lbl_1_bss_30[9], 0x40000002); + BoardModelMotionTimeSet(lbl_1_bss_30[9], 0); + BoardModelVisibilitySet(lbl_1_bss_30[9], 0); + BoardPlayerPosGet(lbl_1_bss_86, &sp18); + for(temp_r31=0; temp_r31= 360.0f) { + sp3C[temp_r31].y -= 360.0f; + } + BoardModelRotSetV(lbl_1_bss_5C[temp_r31], &sp3C[temp_r31]); + if(sp21C[temp_r31].y <= 80.0f+sp18.y) { + spC = sp21C[temp_r31]; + CharModelCoinEffectCreate(1, &spC); + BoardModelVisibilitySet(lbl_1_bss_5C[temp_r31], 0); + temp_r30++; + BoardPlayerCoinsAdd(lbl_1_bss_86, 1); + HuAudFXPlay(7); + omVibrate(lbl_1_bss_86, 12, 6, 6); + } + } + temp_f31 *= 1.05f; + if(temp_f31 < -20.0f) { + temp_f31 = -20.0f; + } + if(temp_r30 == lbl_1_bss_84) { + BoardPlayerMotionShiftSet(lbl_1_bss_86, 7, 0, 10, 0); + break; + } + HuPrcVSleep(); + } + while(!BoardPlayerMotionEndCheck(lbl_1_bss_86)) { + HuPrcVSleep(); + } + fn_1_121C(0x130014); + temp_r27 = HuPrcCurrentGet()->user_data; + temp_r27->func = fn_1_511C; + HuPrcEnd(); } void fn_1_511C(omObjData *object) { - Vec spC; - s32 temp_r31; - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - BoardModelRotGet(lbl_1_bss_C2[temp_r31], &spC); - lbl_1_bss_B0[temp_r31] = spC.x; - } - fn_1_3F64(); - omDelObjEx(boardObjMan, object); + Vec spC; + s32 temp_r31; + for(temp_r31=0; temp_r31<3; temp_r31++) { + BoardModelRotGet(lbl_1_bss_C2[temp_r31], &spC); + lbl_1_bss_B0[temp_r31] = spC.x; + } + fn_1_3F64(); + omDelObjEx(boardObjMan, object); } void fn_1_51B4(Vec *arg0) { - s32 temp_r31; - Vec sp8; - BoardModelPosSetV(lbl_1_bss_30[8], arg0); - BoardModelPosSetV(lbl_1_bss_30[9], arg0); - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - VECAdd(arg0, &lbl_1_data_378[temp_r31], &sp8); - BoardModelPosSetV(lbl_1_bss_C2[temp_r31], &sp8); - VECAdd(arg0, &lbl_1_data_39C[temp_r31], &sp8); - BoardModelPosSetV(lbl_1_bss_BC[temp_r31], &sp8); - } + s32 temp_r31; + Vec sp8; + BoardModelPosSetV(lbl_1_bss_30[8], arg0); + BoardModelPosSetV(lbl_1_bss_30[9], arg0); + for(temp_r31=0; temp_r31<3; temp_r31++) { + VECAdd(arg0, &lbl_1_data_378[temp_r31], &sp8); + BoardModelPosSetV(lbl_1_bss_C2[temp_r31], &sp8); + VECAdd(arg0, &lbl_1_data_39C[temp_r31], &sp8); + BoardModelPosSetV(lbl_1_bss_BC[temp_r31], &sp8); + } } void fn_1_53B8(omObjData *object); void fn_1_5290(omObjData *object) { - WorkMGCoin *temp_r31; - float sp8[2]; - if (object->work[2] == 0) { - temp_r31 = object->data; - temp_r31->unk18 = 5; - temp_r31->unk1A = REFRESH_RATE; - temp_r31->unk1C = MGSeqTimerCreateXY(temp_r31->unk18, 288, 64); - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x13, 0x15)); - temp_r31->unk1E = HuWinCreate(-10000, 400, sp8[0], sp8[1], 0); - HuWinMesSet(temp_r31->unk1E, MAKE_MESSID(0x13, 0x15)); - HuWinBGTPLvlSet(temp_r31->unk1E, 0); - HuWinMesSpeedSet(temp_r31->unk1E, 0); - temp_r31->unk20 = frandmod(100) + 20; - object->func = fn_1_53B8; - } - else { - object->work[2]--; - } + WorkMGCoin *temp_r31; + float sp8[2]; + if(object->work[2] == 0) { + temp_r31 = object->data; + temp_r31->unk18 = 5; + temp_r31->unk1A = 60; + temp_r31->unk1C = MGSeqTimerCreateXY(temp_r31->unk18, 288, 64); + HuWinMesMaxSizeGet(1, sp8, 0x130015); + temp_r31->unk1E = HuWinCreate(-10000, 400, sp8[0], sp8[1], 0); + HuWinMesSet(temp_r31->unk1E, 0x130015); + HuWinBGTPLvlSet(temp_r31->unk1E, 0); + HuWinMesSpeedSet(temp_r31->unk1E, 0); + temp_r31->unk20 = frandmod(100)+20; + object->func = fn_1_53B8; + } else { + object->work[2]--; + } } void fn_1_5634(omObjData *object); void fn_1_53B8(omObjData *object) { - Vec sp14; - Vec sp8; - WorkMGCoin *temp_r31; - s32 temp_r29; - s32 temp_r28; - temp_r31 = object->data; - temp_r28 = GWPlayer[lbl_1_bss_86].port; - if (--temp_r31->unk1A == 0) { - temp_r31->unk1A = REFRESH_RATE; - if (--temp_r31->unk18 >= 0) { - MGSeqParamSet(temp_r31->unk1C, 1, temp_r31->unk18); - } - } - if (!GWPlayer[lbl_1_bss_86].com) { - temp_r29 = HuPadBtnDown[temp_r28]; - } - else { - if (--temp_r31->unk20 == 0) { - temp_r29 = PAD_BUTTON_A; - } - } - if ((temp_r29 & PAD_BUTTON_A) || temp_r31->unk18 < 0) { - MGSeqParamSet(temp_r31->unk1C, 2, -1); - HuWinKill(temp_r31->unk1E); - BoardPlayerMotionShiftSet(lbl_1_bss_86, 4, 0, 5, HU3D_MOTATTR_NONE); - temp_r31->unk0 = 10; - temp_r31->unk4 = 0; - if (lbl_1_bss_A4->work[0] & 0x1) { - temp_r31->unk8 = 0; - } - else { - if (lbl_1_bss_A4->work[0] & 0x2) { - temp_r31->unk8 = 1; - } - else { - temp_r31->unk8 = 2; - } - } - BoardPlayerPosGet(lbl_1_bss_86, &sp14); - sp8 = lbl_1_bss_94; - VECAdd(&sp8, &lbl_1_data_39C[temp_r31->unk8], &sp8); - VECSubtract(&sp8, &sp14, &temp_r31->unkC); - VECScale(&temp_r31->unkC, &temp_r31->unkC, 0.05f); - object->work[0] = 1; - object->func = fn_1_5634; - } + Vec sp14; + Vec sp8; + WorkMGCoin *temp_r31; + s32 temp_r29; + s32 temp_r28; + temp_r31 = object->data; + temp_r28 = GWPlayer[lbl_1_bss_86].port; + if(--temp_r31->unk1A == 0) { + temp_r31->unk1A = 60; + if(--temp_r31->unk18 >= 0) { + MGSeqParamSet(temp_r31->unk1C, 1, temp_r31->unk18); + } + } + if(!GWPlayer[lbl_1_bss_86].com) { + temp_r29 = HuPadBtnDown[temp_r28]; + } else { + if(--temp_r31->unk20 == 0) { + temp_r29 = PAD_BUTTON_A; + } + } + if((temp_r29 & PAD_BUTTON_A) || temp_r31->unk18 < 0) { + MGSeqParamSet(temp_r31->unk1C, 2, -1); + HuWinKill(temp_r31->unk1E); + BoardPlayerMotionShiftSet(lbl_1_bss_86, 4, 0, 5, 0); + temp_r31->unk0 = 10; + temp_r31->unk4 = 0; + if(lbl_1_bss_A4->work[0] & 0x1) { + temp_r31->unk8 = 0; + } else { + if(lbl_1_bss_A4->work[0] & 0x2) { + temp_r31->unk8 = 1; + } else { + temp_r31->unk8 = 2; + } + } + BoardPlayerPosGet(lbl_1_bss_86, &sp14); + sp8 = lbl_1_bss_94; + VECAdd(&sp8, &lbl_1_data_39C[temp_r31->unk8], &sp8); + VECSubtract(&sp8, &sp14, &temp_r31->unkC); + VECScale(&temp_r31->unkC, &temp_r31->unkC, 0.05f); + object->work[0] = 1; + object->func = fn_1_5634; + } } void fn_1_5868(omObjData *object); void fn_1_5634(omObjData *object) { - Vec sp14; - Vec sp8; - float temp_f31; - WorkMGCoin *temp_r31; - temp_r31 = object->data; - if (object->work[0] == 1) { - BoardPlayerPosGet(lbl_1_bss_86, &sp14); - temp_r31->unkC.y = temp_r31->unk0 - (0.075f * (0.25f * (temp_r31->unk4 * temp_r31->unk4))); - temp_r31->unk4++; - VECAdd(&sp14, &temp_r31->unkC, &sp14); - if (sp14.y <= lbl_1_bss_94.y) { - sp14.y = lbl_1_bss_94.y; - } - BoardPlayerPosSetV(lbl_1_bss_86, &sp14); - sp8 = lbl_1_bss_94; - VECAdd(&sp8, &lbl_1_data_39C[temp_r31->unk8], &sp8); - sp8.y = sp14.y = 0; - VECSubtract(&sp8, &sp14, &sp14); - temp_f31 = VECMag(&sp14); - if (temp_f31 <= 1.0f) { - BoardPlayerMotionStart(lbl_1_bss_86, object->motion[0], 0); - object->work[0] = 0; - } - } - else { - if (BoardPlayerMotionTimeGet(lbl_1_bss_86) >= BoardPlayerMotionMaxTimeGet(lbl_1_bss_86)) { - temp_r31->unk0 = -5; - temp_r31->unk4 = 0; - temp_r31->unkC.x = temp_r31->unkC.z = 0; - object->func = fn_1_5868; - } - } + Vec sp14; + Vec sp8; + float temp_f31; + WorkMGCoin *temp_r31; + temp_r31 = object->data; + if(object->work[0] == 1) { + BoardPlayerPosGet(lbl_1_bss_86, &sp14); + temp_r31->unkC.y = temp_r31->unk0-(0.075f*(0.25f*(temp_r31->unk4*temp_r31->unk4))); + temp_r31->unk4++; + VECAdd(&sp14, &temp_r31->unkC, &sp14); + if(sp14.y <= lbl_1_bss_94.y) { + sp14.y = lbl_1_bss_94.y; + } + BoardPlayerPosSetV(lbl_1_bss_86, &sp14); + sp8 = lbl_1_bss_94; + VECAdd(&sp8, &lbl_1_data_39C[temp_r31->unk8], &sp8); + sp8.y = sp14.y = 0; + VECSubtract(&sp8, &sp14, &sp14); + temp_f31 = VECMag(&sp14); + if(temp_f31 <= 1.0f) { + BoardPlayerMotionStart(lbl_1_bss_86, object->motion[0], 0); + object->work[0] = 0; + } + } else { + if(BoardPlayerMotionTimeGet(lbl_1_bss_86) >= BoardPlayerMotionMaxTimeGet(lbl_1_bss_86)) { + temp_r31->unk0 = -5; + temp_r31->unk4 = 0; + temp_r31->unkC.x = temp_r31->unkC.z = 0; + object->func = fn_1_5868; + } + } } void fn_1_5AC0(omObjData *object); void fn_1_5868(omObjData *object) { - Vec sp14; - Vec sp8; - WorkMGCoin *temp_r31; - temp_r31 = object->data; - BoardPlayerPosGet(lbl_1_bss_86, &sp14); - temp_r31->unkC.y = temp_r31->unk0 - (0.075f * (0.25f * (temp_r31->unk4 * temp_r31->unk4))); - temp_r31->unk4++; - VECAdd(&sp14, &temp_r31->unkC, &sp14); - sp8 = lbl_1_bss_94; - VECAdd(&sp8, &lbl_1_data_39C[temp_r31->unk8], &sp8); - sp8.y += 16.0f; - if (sp14.y <= sp8.y) { - sp14.y = sp8.y; - } - BoardPlayerPosSetV(lbl_1_bss_86, &sp14); - if (sp14.y == sp8.y) { - BoardModelMotionTimeSet(lbl_1_bss_BC[temp_r31->unk8], 0); - BoardModelAttrReset(lbl_1_bss_BC[temp_r31->unk8], 0x40000002); - BoardPlayerMotionShiftSet(lbl_1_bss_86, object->motion[1], 0, 5, HU3D_MOTATTR_NONE); - lbl_1_bss_A4->work[3] |= 1 << temp_r31->unk8; - temp_r31->unk0 = 5; - temp_r31->unk4 = 0; - sp8.x = object->trans.x; - sp8.y = object->trans.y; - sp8.z = object->trans.z; - VECSubtract(&sp8, &sp14, &temp_r31->unkC); - VECScale(&temp_r31->unkC, &temp_r31->unkC, 0.03f); - HuAudFXPlay(1064); - object->func = fn_1_5AC0; - } + Vec sp14; + Vec sp8; + WorkMGCoin *temp_r31; + temp_r31 = object->data; + BoardPlayerPosGet(lbl_1_bss_86, &sp14); + temp_r31->unkC.y = temp_r31->unk0-(0.075f*(0.25f*(temp_r31->unk4*temp_r31->unk4))); + temp_r31->unk4++; + VECAdd(&sp14, &temp_r31->unkC, &sp14); + sp8 = lbl_1_bss_94; + VECAdd(&sp8, &lbl_1_data_39C[temp_r31->unk8], &sp8); + sp8.y += 16.0f; + if(sp14.y <= sp8.y) { + sp14.y = sp8.y; + } + BoardPlayerPosSetV(lbl_1_bss_86, &sp14); + if(sp14.y == sp8.y) { + BoardModelMotionTimeSet(lbl_1_bss_BC[temp_r31->unk8], 0); + BoardModelAttrReset(lbl_1_bss_BC[temp_r31->unk8], 0x40000002); + BoardPlayerMotionShiftSet(lbl_1_bss_86, object->motion[1], 0, 5, 0); + lbl_1_bss_A4->work[3] |= 1 << temp_r31->unk8; + temp_r31->unk0 = 5; + temp_r31->unk4 = 0; + sp8.x = object->trans.x; + sp8.y = object->trans.y; + sp8.z = object->trans.z; + VECSubtract(&sp8, &sp14, &temp_r31->unkC); + VECScale(&temp_r31->unkC, &temp_r31->unkC, 0.03f); + HuAudFXPlay(1064); + object->func = fn_1_5AC0; + + } } void fn_1_5C84(omObjData *object); void fn_1_5AC0(omObjData *object) { - float temp_f31; - float temp_f30; - Vec sp14; - Vec sp8; - WorkMGCoin *temp_r30; - temp_r30 = object->data; - BoardPlayerPosGet(lbl_1_bss_86, &sp14); - temp_r30->unkC.y = temp_r30->unk0 - (0.075f * (0.25f * (temp_r30->unk4 * temp_r30->unk4))); - temp_r30->unk4++; - VECAdd(&sp14, &temp_r30->unkC, &sp14); - sp8.x = object->trans.x; - sp8.y = 0; - sp8.z = object->trans.z; - temp_f30 = sp14.y; - sp14.y = 0; - VECSubtract(&sp8, &sp14, &sp8); - sp14.y = temp_f30; - temp_f31 = VECMag(&sp8); - if (temp_f31 <= 1.0f) { - temp_r30->unkC.x = temp_r30->unkC.z = 0; - } - if (sp14.y <= object->trans.y) { - sp14.x = object->trans.x; - sp14.y = object->trans.y; - sp14.z = object->trans.z; - BoardPlayerIdleSet(lbl_1_bss_86); - if (temp_r30->unk8 != 2) { - object->func = NULL; - } - else { - object->work[1] = 8; - object->func = fn_1_5C84; - } - } - BoardPlayerPosSetV(lbl_1_bss_86, &sp14); + float temp_f31; + float temp_f30; + Vec sp14; + Vec sp8; + WorkMGCoin *temp_r30; + temp_r30 = object->data; + BoardPlayerPosGet(lbl_1_bss_86, &sp14); + temp_r30->unkC.y = temp_r30->unk0-(0.075f*(0.25f*(temp_r30->unk4*temp_r30->unk4))); + temp_r30->unk4++; + VECAdd(&sp14, &temp_r30->unkC, &sp14); + sp8.x = object->trans.x; + sp8.y = 0; + sp8.z = object->trans.z; + temp_f30 = sp14.y; + sp14.y = 0; + VECSubtract(&sp8, &sp14, &sp8); + sp14.y = temp_f30; + temp_f31 = VECMag(&sp8); + if(temp_f31 <= 1.0f) { + temp_r30->unkC.x = temp_r30->unkC.z = 0; + } + if(sp14.y <= object->trans.y) { + sp14.x = object->trans.x; + sp14.y = object->trans.y; + sp14.z = object->trans.z; + BoardPlayerIdleSet(lbl_1_bss_86); + if(temp_r30->unk8 != 2) { + object->func = NULL; + } else { + object->work[1] = 8; + object->func = fn_1_5C84; + } + } + BoardPlayerPosSetV(lbl_1_bss_86, &sp14); } void fn_1_5C84(omObjData *object) { - WorkMGCoin *sp8; - sp8 = object->data; - if (object->work[1] != 0) { - if (--object->work[1] == 0) { - BoardPlayerMotBlendSet(lbl_1_bss_86, 0, 15); - object->func = NULL; - } - (void)object; - } - else { - (void)object; - } -} + WorkMGCoin *sp8; + sp8 = object->data; + if(object->work[1] != 0) { + if(--object->work[1] == 0) { + BoardPlayerMotBlendSet(lbl_1_bss_86, 0, 15); + object->func = NULL; + } + (void)object; + } else { + (void)object; + } +} \ No newline at end of file diff --git a/src/REL/w02Dll/mg_item.c b/src/REL/w02Dll/mg_item.c index fd0f4073..a03f2ed7 100644 --- a/src/REL/w02Dll/mg_item.c +++ b/src/REL/w02Dll/mg_item.c @@ -1,41 +1,45 @@ #include "REL/w02Dll.h" #include "game/audio.h" -#include "game/chrman.h" -#include "game/frand.h" -#include "game/hsfdraw.h" -#include "game/objsub.h" #include "game/pad.h" +#include "game/objsub.h" +#include "game/frand.h" +#include "game/objsub.h" +#include "game/chrman.h" +#include "game/hsfdraw.h" #include "ext_math.h" #include "game/minigame_seq.h" -#if VERSION_JP -#define MDL_ID_SHIFT 0 -#else -#define MDL_ID_SHIFT 1 -#endif - s32 lbl_1_data_428[14] = { - DATA_MAKE_NUM(DATADIR_BOARD, 0x6C + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x6D + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x6E + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x6F + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x70 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x71 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x72 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x73 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x75 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x76 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x77 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x78 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x79 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x7A + MDL_ID_SHIFT), + 0x0007006D, + 0x0007006E, + 0x0007006F, + 0x00070070, + 0x00070071, + 0x00070072, + 0x00070073, + 0x00070074, + 0x00070076, + 0x00070077, + 0x00070078, + 0x00070079, + 0x0007007A, + 0x0007007B }; -char *lbl_1_data_474[3] = { "item", "item1", "item2" }; +char *lbl_1_data_474[3] = { + "item", + "item1", + "item2" +}; -s32 lbl_1_data_480[] = { DATA_MAKE_NUM(DATADIR_W02, 0x18), DATA_MAKE_NUM(DATADIR_W02, 0x19), DATA_MAKE_NUM(DATADIR_W02, 0x1A), -1 }; +s32 lbl_1_data_480[] = { + 0x760018, + 0x760019, + 0x76001A, + -1 +}; u16 lbl_1_bss_198; s16 lbl_1_bss_196; @@ -58,28 +62,28 @@ AnimData *lbl_1_bss_C8; void fn_1_5CF8(void) { - BoardModelVisibilitySet(lbl_1_bss_30[10], 1); + BoardModelVisibilitySet(lbl_1_bss_30[10], 1); } typedef struct work_mgitem { - s16 unk0; - s16 unk2; - s16 unk4; - s16 unk6; - s16 unk8; - s16 unkA; - s16 unkC; + s16 unk0; + s16 unk2; + s16 unk4; + s16 unk6; + s16 unk8; + s16 unkA; + s16 unkC; } WorkMGItem; typedef struct work_mgitem_player { - Vec unk0[3]; - s16 unk24[3]; - s16 unk2A[3]; - float unk30[2]; - float unk38[2]; - s16 unk40[2]; - Vec unk44[3]; - s16 unk68; + Vec unk0[3]; + s16 unk24[3]; + s16 unk2A[3]; + float unk30[2]; + float unk38[2]; + s16 unk40[2]; + Vec unk44[3]; + s16 unk68; } WorkMGItemPlayer; void fn_1_8570(void); @@ -89,291 +93,285 @@ void fn_1_606C(omObjData *object); void fn_1_5D28(void) { - Vec spC; - WorkMGItem *sp8; - lbl_1_bss_196 = GWSystem.player_curr; - BoardPlayerPosGet(lbl_1_bss_196, &spC); - BoardPlayerPosLerpStart(lbl_1_bss_196, &spC, &lbl_1_bss_DC[1], 20); - while (GWPlayer[lbl_1_bss_196].moving) { - HuPrcVSleep(); - } - BoardPlayerIdleSet(lbl_1_bss_196); - HuPrcSleep(REFRESH_RATE*2); - BoardAudSeqPause(0, 1, 1000); - HuAudFXPlay(781); - fn_1_8570(); - HuPrcSleep(REFRESH_RATE); - lbl_1_bss_104 = omAddObjEx(boardObjMan, 257, 0, 0, -1, fn_1_5F08); - lbl_1_bss_108 = omAddObjEx(boardObjMan, 257, 0, 0, -1, fn_1_606C); - lbl_1_bss_10C = omAddObjEx(boardObjMan, 257, 0, 0, -1, NULL); - lbl_1_bss_108->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkMGItemPlayer), MEMORY_DEFAULT_NUM); - lbl_1_bss_10C->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkMGItem), MEMORY_DEFAULT_NUM); - sp8 = lbl_1_bss_10C->data; - lbl_1_bss_198 = 0; + Vec spC; + WorkMGItem *sp8; + lbl_1_bss_196 = GWSystem.player_curr; + BoardPlayerPosGet(lbl_1_bss_196, &spC); + BoardPlayerPosLerpStart(lbl_1_bss_196, &spC, &lbl_1_bss_DC[1], 20); + while(GWPlayer[lbl_1_bss_196].moving) { + HuPrcVSleep(); + } + BoardPlayerIdleSet(lbl_1_bss_196); + HuPrcSleep(120); + BoardAudSeqPause(0, 1, 1000); + HuAudFXPlay(781); + fn_1_8570(); + HuPrcSleep(60); + lbl_1_bss_104 = omAddObjEx(boardObjMan, 257, 0, 0, -1, fn_1_5F08); + lbl_1_bss_108 = omAddObjEx(boardObjMan, 257, 0, 0, -1, fn_1_606C); + lbl_1_bss_10C = omAddObjEx(boardObjMan, 257, 0, 0, -1, NULL); + lbl_1_bss_108->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkMGItemPlayer), MEMORY_DEFAULT_NUM); + lbl_1_bss_10C->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkMGItem), MEMORY_DEFAULT_NUM); + sp8 = lbl_1_bss_10C->data; + lbl_1_bss_198 = 0; } void fn_1_602C(void); void fn_1_5F08(omObjData *object) { - if (lbl_1_bss_198 && BoardMGDoneFlagGet() == 1) { - fn_1_602C(); - omDelObjEx(boardObjMan, object); - } + if(lbl_1_bss_198 && BoardMGDoneFlagGet() == 1) { + fn_1_602C(); + omDelObjEx(boardObjMan, object); + } } void fn_1_5F60(void) { - lbl_1_bss_198 = 1; - BoardMGExit(); + lbl_1_bss_198 = 1; + BoardMGExit(); } void fn_1_5F90(void) { - s32 i; - for (i = 0; i < 3; i++) { - BoardModelKill(lbl_1_bss_184[i]); - BoardModelKill(lbl_1_bss_18A[i]); - } - if (lbl_1_bss_C8) { - HuSprAnimKill(lbl_1_bss_C8); - lbl_1_bss_C8 = NULL; - } + s32 i; + for(i=0; i<3; i++) { + BoardModelKill(lbl_1_bss_184[i]); + BoardModelKill(lbl_1_bss_18A[i]); + } + if(lbl_1_bss_C8) { + HuSprAnimKill(lbl_1_bss_C8); + lbl_1_bss_C8 = NULL; + } } void fn_1_602C(void) { - omDelObjEx(boardObjMan, lbl_1_bss_10C); - BoardMGDoneFlagSet(0); + omDelObjEx(boardObjMan, lbl_1_bss_10C); + BoardMGDoneFlagSet(0); } void fn_1_6248(omObjData *object); void fn_1_606C(omObjData *object) { - WorkMGItemPlayer *temp_r31 = object->data; - temp_r31->unk24[0] = lbl_1_bss_18A[0]; - temp_r31->unk24[1] = lbl_1_bss_18A[1]; - temp_r31->unk24[2] = lbl_1_bss_18A[2]; - BoardModelPosGet(lbl_1_bss_18A[1], &temp_r31->unk44[0]); - temp_r31->unk44[0].x -= lbl_1_bss_110; - BoardModelPosGet(lbl_1_bss_18A[1], &temp_r31->unk44[1]); - temp_r31->unk44[1].x += lbl_1_bss_110; - BoardModelPosGet(lbl_1_bss_18A[1], &temp_r31->unk44[2]); - BoardMusStart(1, 19, 127, 0); - object->work[0] = REFRESH_RATE*5; - object->work[1] = 0; - object->func = fn_1_6248; + WorkMGItemPlayer *temp_r31 = object->data; + temp_r31->unk24[0] = lbl_1_bss_18A[0]; + temp_r31->unk24[1] = lbl_1_bss_18A[1]; + temp_r31->unk24[2] = lbl_1_bss_18A[2]; + BoardModelPosGet(lbl_1_bss_18A[1], &temp_r31->unk44[0]); + temp_r31->unk44[0].x -= lbl_1_bss_110; + BoardModelPosGet(lbl_1_bss_18A[1], &temp_r31->unk44[1]); + temp_r31->unk44[1].x += lbl_1_bss_110; + BoardModelPosGet(lbl_1_bss_18A[1], &temp_r31->unk44[2]); + BoardMusStart(1, 19, 127, 0); + object->work[0] = 300; + object->work[1] = 0; + object->func = fn_1_6248; } void fn_1_616C(s16 arg0, s16 arg1) { - s32 temp; - temp = lbl_1_bss_190[arg0]; - lbl_1_bss_190[arg0] = lbl_1_bss_190[arg1]; - lbl_1_bss_190[arg1] = temp; - temp = lbl_1_bss_184[arg0]; - lbl_1_bss_184[arg0] = lbl_1_bss_184[arg1]; - lbl_1_bss_184[arg1] = temp; + s32 temp; + temp = lbl_1_bss_190[arg0]; + lbl_1_bss_190[arg0] = lbl_1_bss_190[arg1]; + lbl_1_bss_190[arg1] = temp; + temp = lbl_1_bss_184[arg0]; + lbl_1_bss_184[arg0] = lbl_1_bss_184[arg1]; + lbl_1_bss_184[arg1] = temp; } void fn_1_6AB0(omObjData *object); void fn_1_6248(omObjData *object) { - float temp_f31; - float temp_f30; - Vec sp34; - Vec sp28; - Vec sp1C; - Vec sp10; - u8 sp8[8] = { 0, 1, 1, 2, 0, 1, 0, 2 }; - WorkMGItemPlayer *temp_r31 = object->data; - s32 temp_r30; - s32 temp_r28; - if (object->work[0]) { - object->work[0]--; - } - if (object->work[1] == 0) { - if (object->work[0] == 0) { - object->func = fn_1_6AB0; - } - temp_r28 = sp8[frand() & 0x7]; - switch (temp_r28) { - case 0: - temp_r31->unk2A[0] = temp_r31->unk24[0]; - temp_r31->unk2A[1] = temp_r31->unk24[1]; - sp28 = lbl_1_bss_160[0]; - sp34 = lbl_1_bss_160[1]; - temp_f31 = (VERSION_PAL) ? 13 : 15; - break; - - case 1: - temp_r31->unk2A[0] = temp_r31->unk24[1]; - temp_r31->unk2A[1] = temp_r31->unk24[2]; - sp28 = lbl_1_bss_160[1]; - sp34 = lbl_1_bss_160[2]; - temp_f31 = (VERSION_PAL) ? 13 : 15; - break; - - case 2: - temp_r31->unk2A[0] = temp_r31->unk24[0]; - temp_r31->unk2A[1] = temp_r31->unk24[2]; - temp_f31 = (VERSION_PAL) ? 19.5f : 22.5f; - break; - } - temp_r31->unk68 = temp_r28; - temp_r31->unk30[0] = 180; - temp_r31->unk30[1] = 0; - if (temp_r28 != 2) { - temp_r31->unk40[0] = frandmod(3); - temp_r31->unk40[1] = frandmod(3); - while (temp_r31->unk40[1] == temp_r31->unk40[0]) { - temp_r31->unk40[1] = frandmod(3); - } - VECSubtract(&sp34, &sp28, &temp_r31->unk0[0]); - VECScale(&temp_r31->unk0[0], &temp_r31->unk0[0], 1.0f / temp_f31); - VECSubtract(&sp28, &sp34, &temp_r31->unk0[1]); - VECScale(&temp_r31->unk0[1], &temp_r31->unk0[1], 1.0f / temp_f31); - } - else { - temp_r31->unk40[0] = frandmod(2); - temp_r31->unk40[1] = temp_r31->unk40[0] ^ 1; - } - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - if (temp_r31->unk40[temp_r30] == 0) { - temp_r31->unk38[temp_r30] = 180.0f / temp_f31; - } - else { - temp_r31->unk38[temp_r30] = -180.0f / temp_f31; - } - if (temp_r30 == 1) { - temp_r31->unk38[temp_r30] = -temp_r31->unk38[temp_r30]; - } - } - object->work[2] = temp_f31; - object->work[1] = 1; - BoardModelMotionStart(temp_r31->unk2A[temp_r30], 2, 0x40000001); - BoardModelMotionSpeedSet(temp_r31->unk2A[temp_r30], 3.0f); - } - else { - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - BoardModelPosGet(temp_r31->unk2A[temp_r30], &sp1C); - sp10 = sp1C; - if (temp_r31->unk68 != 2) { - temp_f30 = lbl_1_bss_110; - } - else { - temp_f30 = 2.0f * lbl_1_bss_110; - } - if (temp_r31->unk40[temp_r30] != 2) { - sp1C.x = temp_r31->unk44[temp_r31->unk68].x + (temp_f30 * cosd(temp_r31->unk30[temp_r30])); - sp1C.z = temp_r31->unk44[temp_r31->unk68].z + (temp_f30 * sind(temp_r31->unk30[temp_r30])); - temp_r31->unk30[temp_r30] += temp_r31->unk38[temp_r30]; - } - else { - VECAdd(&sp1C, &temp_r31->unk0[temp_r30], &sp1C); - } - BoardModelPosSetV(temp_r31->unk2A[temp_r30], &sp1C); - VECSubtract(&sp1C, &sp10, &sp10); - BoardModelRotGet(temp_r31->unk2A[temp_r30], &sp1C); - sp1C.y = atan2d(sp10.x, sp10.z); - BoardModelRotSetV(temp_r31->unk2A[temp_r30], &sp1C); - } - if (--object->work[2] == 0) { - object->work[1] = 0; - BoardModelMotionStart(temp_r31->unk2A[temp_r30], 1, 0x40000001); - BoardModelMotionSpeedSet(temp_r31->unk2A[temp_r30], 1.0f); - for (temp_r30 = 0; temp_r30 < 2; temp_r30++) { - if (temp_r31->unk40[temp_r30] == 0) { - BoardModelRotGet(temp_r31->unk2A[temp_r30], &sp1C); - sp1C.y = 0; - BoardModelRotSetV(temp_r31->unk2A[temp_r30], &sp1C); - } - else if (temp_r31->unk40[temp_r30] == 1) { - BoardModelRotGet(temp_r31->unk2A[temp_r30], &sp1C); - sp1C.y = 180; - BoardModelRotSetV(temp_r31->unk2A[temp_r30], &sp1C); - } - } - switch (temp_r31->unk68) { - case 0: - temp_r31->unk24[0] = temp_r31->unk2A[1]; - temp_r31->unk24[1] = temp_r31->unk2A[0]; - fn_1_616C(0, 1); - break; - - case 1: - temp_r31->unk24[1] = temp_r31->unk2A[1]; - temp_r31->unk24[2] = temp_r31->unk2A[0]; - fn_1_616C(1, 2); - break; - - case 2: - temp_r31->unk24[0] = temp_r31->unk2A[1]; - temp_r31->unk24[2] = temp_r31->unk2A[0]; - fn_1_616C(0, 2); - break; - } - for (temp_r30 = 0; temp_r30 < 3; temp_r30++) { - BoardModelPosSetV(temp_r31->unk24[temp_r30], &lbl_1_bss_160[temp_r30]); - } - } - } + float temp_f31; + float temp_f30; + Vec sp34; + Vec sp28; + Vec sp1C; + Vec sp10; + u8 sp8[8] = { + 0, 1, 1, 2, + 0, 1, 0, 2 + }; + WorkMGItemPlayer *temp_r31 = object->data; + s32 temp_r30; + s32 temp_r28; + if(object->work[0]) { + object->work[0]--; + } + if(object->work[1] == 0) { + if(object->work[0] == 0) { + object->func = fn_1_6AB0; + } + temp_r28 = sp8[frand() & 0x7]; + switch(temp_r28) { + case 0: + temp_r31->unk2A[0] = temp_r31->unk24[0]; + temp_r31->unk2A[1] = temp_r31->unk24[1]; + sp28 = lbl_1_bss_160[0]; + sp34 = lbl_1_bss_160[1]; + temp_f31 = 15; + break; + + case 1: + temp_r31->unk2A[0] = temp_r31->unk24[1]; + temp_r31->unk2A[1] = temp_r31->unk24[2]; + sp28 = lbl_1_bss_160[1]; + sp34 = lbl_1_bss_160[2]; + temp_f31 = 15; + break; + + case 2: + temp_r31->unk2A[0] = temp_r31->unk24[0]; + temp_r31->unk2A[1] = temp_r31->unk24[2]; + temp_f31 = 22.5f; + break; + } + temp_r31->unk68 = temp_r28; + temp_r31->unk30[0] = 180; + temp_r31->unk30[1] = 0; + if(temp_r28 != 2) { + temp_r31->unk40[0] = frandmod(3); + temp_r31->unk40[1] = frandmod(3); + while(temp_r31->unk40[1] == temp_r31->unk40[0]) { + temp_r31->unk40[1] = frandmod(3); + } + VECSubtract(&sp34, &sp28, &temp_r31->unk0[0]); + VECScale(&temp_r31->unk0[0], &temp_r31->unk0[0], 1.0f/temp_f31); + VECSubtract(&sp28, &sp34, &temp_r31->unk0[1]); + VECScale(&temp_r31->unk0[1], &temp_r31->unk0[1], 1.0f/temp_f31); + } else { + temp_r31->unk40[0] = frandmod(2); + temp_r31->unk40[1] = temp_r31->unk40[0]^1; + } + for(temp_r30=0; temp_r30<2; temp_r30++) { + if(temp_r31->unk40[temp_r30] == 0) { + temp_r31->unk38[temp_r30] = 180.0f/temp_f31; + } else { + temp_r31->unk38[temp_r30] = -180.0f/temp_f31; + } + if(temp_r30 == 1) { + temp_r31->unk38[temp_r30] = -temp_r31->unk38[temp_r30]; + } + } + object->work[2] = temp_f31; + object->work[1] = 1; + BoardModelMotionStart(temp_r31->unk2A[temp_r30], 2, 0x40000001); + BoardModelMotionSpeedSet(temp_r31->unk2A[temp_r30], 3.0f); + } else { + for(temp_r30=0; temp_r30<2; temp_r30++) { + BoardModelPosGet(temp_r31->unk2A[temp_r30], &sp1C); + sp10 = sp1C; + if(temp_r31->unk68 != 2) { + temp_f30 = lbl_1_bss_110; + } else { + temp_f30 = 2.0f*lbl_1_bss_110; + } + if(temp_r31->unk40[temp_r30] != 2) { + sp1C.x = temp_r31->unk44[temp_r31->unk68].x+(temp_f30*cosd(temp_r31->unk30[temp_r30])); + sp1C.z = temp_r31->unk44[temp_r31->unk68].z+(temp_f30*sind(temp_r31->unk30[temp_r30])); + temp_r31->unk30[temp_r30] += temp_r31->unk38[temp_r30]; + } else { + VECAdd(&sp1C, &temp_r31->unk0[temp_r30], &sp1C); + } + BoardModelPosSetV(temp_r31->unk2A[temp_r30], &sp1C); + VECSubtract(&sp1C, &sp10, &sp10); + BoardModelRotGet(temp_r31->unk2A[temp_r30], &sp1C); + sp1C.y = atan2d(sp10.x, sp10.z); + BoardModelRotSetV(temp_r31->unk2A[temp_r30], &sp1C); + } + if(--object->work[2] == 0) { + object->work[1] = 0; + BoardModelMotionStart(temp_r31->unk2A[temp_r30], 1, 0x40000001); + BoardModelMotionSpeedSet(temp_r31->unk2A[temp_r30], 1.0f); + for(temp_r30=0; temp_r30<2; temp_r30++) { + if(temp_r31->unk40[temp_r30] == 0) { + BoardModelRotGet(temp_r31->unk2A[temp_r30], &sp1C); + sp1C.y = 0; + BoardModelRotSetV(temp_r31->unk2A[temp_r30], &sp1C); + } else if(temp_r31->unk40[temp_r30] == 1) { + BoardModelRotGet(temp_r31->unk2A[temp_r30], &sp1C); + sp1C.y = 180; + BoardModelRotSetV(temp_r31->unk2A[temp_r30], &sp1C); + } + } + switch(temp_r31->unk68) { + case 0: + temp_r31->unk24[0] = temp_r31->unk2A[1]; + temp_r31->unk24[1] = temp_r31->unk2A[0]; + fn_1_616C(0, 1); + break; + + case 1: + temp_r31->unk24[1] = temp_r31->unk2A[1]; + temp_r31->unk24[2] = temp_r31->unk2A[0]; + fn_1_616C(1, 2); + break; + + case 2: + temp_r31->unk24[0] = temp_r31->unk2A[1]; + temp_r31->unk24[2] = temp_r31->unk2A[0]; + fn_1_616C(0, 2); + break; + } + for(temp_r30=0; temp_r30<3; temp_r30++) { + BoardModelPosSetV(temp_r31->unk24[temp_r30], &lbl_1_bss_160[temp_r30]); + } + } + } } void fn_1_6CA4(omObjData *object); void fn_1_6AB0(omObjData *object) { - Vec sp8; - s32 temp_r31; - s32 temp_r30; - temp_r30 = 0; - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - BoardModelRotGet(lbl_1_bss_18A[temp_r31], &sp8); - if (sp8.y < 0.0f) { - sp8.y += 360.0f; - } - if (0.0f == sp8.y) { - temp_r30++; - continue; - } - if (sp8.y < 180.0f) { - if (sp8.y < -10.0f) { - sp8.y = 0; - } - else { - sp8.y -= 10.0f; - } - } - else { - if (360.0f - sp8.y < 10.0f) { - sp8.y = 0; - } - else { - sp8.y += 10.0f; - } - } - BoardModelRotSetV(lbl_1_bss_18A[temp_r31], &sp8); - } - if (temp_r30 == 3) { - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - BoardModelPosSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_160[temp_r31]); - } - object->work[0] = MGSeqStartCreate(); - object->func = fn_1_6CA4; - } + Vec sp8; + s32 temp_r31; + s32 temp_r30; + temp_r30 = 0; + for(temp_r31=0; temp_r31<3; temp_r31++) { + BoardModelRotGet(lbl_1_bss_18A[temp_r31], &sp8); + if(sp8.y < 0.0f) { + sp8.y += 360.0f; + } + if(0.0f == sp8.y) { + temp_r30++; + continue; + } + if(sp8.y < 180.0f) { + if(sp8.y < -10.0f) { + sp8.y = 0; + } else { + sp8.y -= 10.0f; + } + } else { + if(360.0f-sp8.y < 10.0f) { + sp8.y = 0; + } else { + sp8.y += 10.0f; + } + } + BoardModelRotSetV(lbl_1_bss_18A[temp_r31], &sp8); + } + if(temp_r30 == 3) { + for(temp_r31=0; temp_r31<3; temp_r31++) { + BoardModelPosSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_160[temp_r31]); + } + object->work[0] = MGSeqStartCreate(); + object->func = fn_1_6CA4; + } } void fn_1_73C8(omObjData *object); void fn_1_6CA4(omObjData *object) { - if (!MGSeqStatGet(object->work[0])) { - lbl_1_bss_10C->func = fn_1_73C8; - object->func = NULL; - } + if(!MGSeqStatGet(object->work[0])) { + lbl_1_bss_10C->func = fn_1_73C8; + object->func = NULL; + } } void fn_1_6E34(omObjData *object); @@ -382,161 +380,161 @@ void fn_1_8DAC(void); void fn_1_6D04(omObjData *object) { - Vec sp8; - BoardModelRotGet(lbl_1_bss_18A[object->work[0]], &sp8); - sp8.y += 8.0f; - if (sp8.y >= 360.0f) { - sp8.y = 0.0f; - HuAudFXPlay(784); - lbl_1_bss_100 = HuPrcCreate(fn_1_85FC, 8196, 8192, 0); - HuPrcDestructorSet2(lbl_1_bss_100, fn_1_8DAC); - *((u32 *)&lbl_1_bss_100->user_data) = (1 << object->work[0]) | 0x10000000; - lbl_1_bss_D8 = HuAudFXPlay(863); - object->func = fn_1_6E34; - } - BoardModelRotSetV(lbl_1_bss_18A[object->work[0]], &sp8); + Vec sp8; + BoardModelRotGet(lbl_1_bss_18A[object->work[0]], &sp8); + sp8.y += 8.0f; + if(sp8.y >= 360.0f) { + sp8.y = 0.0f; + HuAudFXPlay(784); + lbl_1_bss_100 = HuPrcCreate(fn_1_85FC, 8196, 8192, 0); + HuPrcDestructorSet2(lbl_1_bss_100, fn_1_8DAC); + *((u32 *)&lbl_1_bss_100->user_data) = (1 << object->work[0])|0x10000000; + lbl_1_bss_D8 = HuAudFXPlay(863); + object->func = fn_1_6E34; + } + BoardModelRotSetV(lbl_1_bss_18A[object->work[0]], &sp8); } void fn_1_6EA8(void); void fn_1_6E34(omObjData *object) { - Process *temp_r31; - if ((u32)lbl_1_bss_100->user_data & 0x40000000) { - temp_r31 = HuPrcCreate(fn_1_6EA8, 8196, 6144, 0); - temp_r31->user_data = object; - object->func = NULL; - } + Process *temp_r31; + if((u32)lbl_1_bss_100->user_data & 0x40000000) { + temp_r31 = HuPrcCreate(fn_1_6EA8, 8196, 6144, 0); + temp_r31->user_data = object; + object->func = NULL; + } } void fn_1_72E4(omObjData *object); void fn_1_6EA8(void) { - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - float temp_f31; - float temp_f30; - float temp_f29; - s32 temp_r31; - s32 temp_r30; - s32 temp_r29; - s32 temp_r28; - - temp_r31 = lbl_1_bss_108->work[0]; - BoardWinCreate(2, MAKE_MESSID(19, 24), 4); - BoardWinInsertMesSet(MAKE_MESSID(8, lbl_1_bss_190[temp_r31]), 1); - BoardWinWait(); - BoardWinKill(); - BoardPlayerPosGet(lbl_1_bss_196, &sp20); - BoardModelPosGet(lbl_1_bss_184[temp_r31], &sp2C); - sp20.y = sp2C.y = 0; - VECSubtract(&sp20, &sp2C, &sp14); - temp_f30 = VECMag(&sp14); - VECScale(&sp14, &sp14, 1.0f / REFRESH_RATE); - for (temp_r30 = 0; temp_r30 < REFRESH_RATE; temp_r30++) { - BoardModelPosGet(lbl_1_bss_184[temp_r31], &sp2C); - VECAdd(&sp2C, &sp14, &sp2C); - BoardModelPosSetV(lbl_1_bss_184[temp_r31], &sp2C); - HuPrcVSleep(); - } - BoardModelPosGet(lbl_1_bss_184[temp_r31], &sp2C); - sp2C.x = sp20.x; - sp2C.z = sp20.z; - BoardModelPosSetV(lbl_1_bss_184[temp_r31], &sp2C); - BoardPlayerMotBlendSet(lbl_1_bss_196, 0, 15); - while (!BoardPlayerMotBlendCheck(lbl_1_bss_196)) { - HuPrcVSleep(); - } - HuPrcKill(lbl_1_bss_100); - lbl_1_bss_100 = NULL; - HuPrcVSleep(); - HuAudFXPlay(781); - BoardModelPosGet(lbl_1_bss_184[temp_r31], &sp2C); - BoardModelScaleGet(lbl_1_bss_184[temp_r31], &sp8); - temp_f31 = sp8.x; - temp_f29 = -0.04f; - temp_f30 = (sp20.y - sp2C.y) / (REFRESH_RATE/2); - temp_r29 = 0; - HuAudFXFadeOut(lbl_1_bss_D8, (((REFRESH_RATE*500)+30)/60)-1); - while (!temp_r29) { - sp2C.y += temp_f30; - temp_f31 += temp_f29; - if (temp_f31 < 0.0f) { - temp_f31 = 0.0f; - temp_r29 = 1; - } - sp8.x = sp8.y = sp8.z = temp_f31; - BoardModelPosSetV(lbl_1_bss_184[temp_r31], &sp2C); - BoardModelScaleSetV(lbl_1_bss_184[temp_r31], &sp8); - HuPrcVSleep(); - } - HuAudFXStop(lbl_1_bss_D8); - BoardModelVisibilitySet(lbl_1_bss_184[temp_r31], 0); - BoardPlayerItemAdd(lbl_1_bss_196, lbl_1_bss_190[temp_r31]); - omVibrate(lbl_1_bss_196, 12, 6, 6); - temp_r28 = HuAudSStreamPlay(2); - BoardPlayerMotionShiftSet(lbl_1_bss_196, 7, 0, 5, HU3D_MOTATTR_NONE); - while (!BoardPlayerMotionEndCheck(lbl_1_bss_196)) { - HuPrcVSleep(); - } - HuPrcSleep(REFRESH_RATE/2); - while (HuAudSStreamStatGet(temp_r28)) { - HuPrcVSleep(); - } - BoardAudSeqPause(0, 0, 1000); - HuAudFXPlay(68); - fn_1_121C(MAKE_MESSID(0x13, 0x19)); - lbl_1_bss_108->func = fn_1_72E4; - HuPrcKill(NULL); - while (1) { - HuPrcVSleep(); - } + Vec sp2C; + Vec sp20; + Vec sp14; + Vec sp8; + float temp_f31; + float temp_f30; + float temp_f29; + s32 temp_r31; + s32 temp_r30; + s32 temp_r29; + s32 temp_r28; + + temp_r31 = lbl_1_bss_108->work[0]; + BoardWinCreate(2, MAKE_MESSID(19, 24), 4); + BoardWinInsertMesSet(lbl_1_bss_190[temp_r31]+0x80000, 1); + BoardWinWait(); + BoardWinKill(); + BoardPlayerPosGet(lbl_1_bss_196, &sp20); + BoardModelPosGet(lbl_1_bss_184[temp_r31], &sp2C); + sp20.y = sp2C.y = 0; + VECSubtract(&sp20, &sp2C, &sp14); + temp_f30 = VECMag(&sp14); + VECScale(&sp14, &sp14, 1.0f/60.0f); + for(temp_r30=0; temp_r30<60; temp_r30++) { + BoardModelPosGet(lbl_1_bss_184[temp_r31], &sp2C); + VECAdd(&sp2C, &sp14, &sp2C); + BoardModelPosSetV(lbl_1_bss_184[temp_r31], &sp2C); + HuPrcVSleep(); + } + BoardModelPosGet(lbl_1_bss_184[temp_r31], &sp2C); + sp2C.x = sp20.x; + sp2C.z = sp20.z; + BoardModelPosSetV(lbl_1_bss_184[temp_r31], &sp2C); + BoardPlayerMotBlendSet(lbl_1_bss_196, 0, 15); + while(!BoardPlayerMotBlendCheck(lbl_1_bss_196)) { + HuPrcVSleep(); + } + HuPrcKill(lbl_1_bss_100); + lbl_1_bss_100 = NULL; + HuPrcVSleep(); + HuAudFXPlay(781); + BoardModelPosGet(lbl_1_bss_184[temp_r31], &sp2C); + BoardModelScaleGet(lbl_1_bss_184[temp_r31], &sp8); + temp_f31 = sp8.x; + temp_f29 = -0.04f; + temp_f30 = (sp20.y-sp2C.y)/30.0f; + temp_r29 = 0; + HuAudFXFadeOut(lbl_1_bss_D8, 499); + while(!temp_r29) { + sp2C.y += temp_f30; + temp_f31 += temp_f29; + if(temp_f31 < 0.0f) { + temp_f31 = 0.0f; + temp_r29 = 1; + } + sp8.x = sp8.y = sp8.z = temp_f31; + BoardModelPosSetV(lbl_1_bss_184[temp_r31], &sp2C); + BoardModelScaleSetV(lbl_1_bss_184[temp_r31], &sp8); + HuPrcVSleep(); + } + HuAudFXStop(lbl_1_bss_D8); + BoardModelVisibilitySet(lbl_1_bss_184[temp_r31], 0); + BoardPlayerItemAdd(lbl_1_bss_196, lbl_1_bss_190[temp_r31]); + omVibrate(lbl_1_bss_196, 12, 6, 6); + temp_r28 = HuAudSStreamPlay(2); + BoardPlayerMotionShiftSet(lbl_1_bss_196, 7, 0, 5, 0); + while(!BoardPlayerMotionEndCheck(lbl_1_bss_196)) { + HuPrcVSleep(); + } + HuPrcSleep(30); + while(HuAudSStreamStatGet(temp_r28)) { + HuPrcVSleep(); + } + BoardAudSeqPause(0, 0, 1000); + HuAudFXPlay(68); + fn_1_121C(0x130019); + lbl_1_bss_108->func = fn_1_72E4; + HuPrcKill(NULL); + while(1) { + HuPrcVSleep(); + } } void fn_1_72E4(omObjData *object) { - fn_1_5F60(); - omDelObjEx(boardObjMan, object); + fn_1_5F60(); + omDelObjEx(boardObjMan, object); } void fn_1_732C(s32 arg0) { - lbl_1_bss_108->work[0] = arg0; - lbl_1_bss_108->func = fn_1_6D04; + lbl_1_bss_108->work[0] = arg0; + lbl_1_bss_108->func = fn_1_6D04; } void fn_1_7358(WorkMGItem *arg0) { - if (--arg0->unk2 == 0) { - arg0->unk2 = REFRESH_RATE; - if (--arg0->unk0 >= 0) { - MGSeqParamSet(arg0->unk4, 1, arg0->unk0); - } - } + if(--arg0->unk2 == 0) { + arg0->unk2 = 60; + if(--arg0->unk0 >= 0) { + MGSeqParamSet(arg0->unk4, 1, arg0->unk0); + } + } } void fn_1_74E4(omObjData *object); void fn_1_73C8(omObjData *object) { - float sp8[2]; - WorkMGItem *temp_r31; - temp_r31 = object->data; - temp_r31->unk0 = 5; - temp_r31->unk2 = REFRESH_RATE; - temp_r31->unk4 = MGSeqTimerCreateXY(temp_r31->unk0, 288, 64); - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x13, 0x1B)); - temp_r31->unk6 = HuWinCreate(-10000, 368, sp8[0], sp8[1], 0); - HuWinMesSet(temp_r31->unk6, MAKE_MESSID(0x13, 0x1B)); - HuWinBGTPLvlSet(temp_r31->unk6, 0); - HuWinMesSpeedSet(temp_r31->unk6, 0); - temp_r31->unk8 = 1; - temp_r31->unkA = frandmod(30) + 15; - temp_r31->unkC = 0; - object->func = fn_1_74E4; + float sp8[2]; + WorkMGItem *temp_r31; + temp_r31 = object->data; + temp_r31->unk0 = 5; + temp_r31->unk2 = 60; + temp_r31->unk4 = MGSeqTimerCreateXY(temp_r31->unk0, 288, 64); + HuWinMesMaxSizeGet(1, sp8, 0x13001B); + temp_r31->unk6 = HuWinCreate(-10000, 368, sp8[0], sp8[1], 0); + HuWinMesSet(temp_r31->unk6, 0x13001B); + HuWinBGTPLvlSet(temp_r31->unk6, 0); + HuWinMesSpeedSet(temp_r31->unk6, 0); + temp_r31->unk8 = 1; + temp_r31->unkA = frandmod(30)+15; + temp_r31->unkC = 0; + object->func = fn_1_74E4; } void fn_1_7898(omObjData *arg0, s32 *arg1, s32 *arg2); @@ -546,417 +544,413 @@ void fn_1_7818(omObjData *object); void fn_1_74E4(omObjData *object) { - s32 spC; - s32 sp8; - WorkMGItem *temp_r31; - s32 temp_r29; - temp_r31 = object->data; - fn_1_7358(temp_r31); - temp_r29 = GWPlayer[lbl_1_bss_196].port; - if (GWPlayer[lbl_1_bss_196].com) { - fn_1_7898(object, &spC, &sp8); - } - else { - spC = HuPadDStkRep[temp_r29]; - sp8 = HuPadBtnDown[temp_r29]; - } - if ((sp8 & PAD_BUTTON_A) || temp_r31->unk0 < 0) { - MGSeqParamSet(temp_r31->unk4, 2, -1); - HuWinKill(temp_r31->unk6); - BoardPlayerMotBlendSet(lbl_1_bss_196, 180, 10); - BoardAudSeqFadeOut(1, 1000); - object->func = fn_1_7818; - } - else if (spC & PAD_BUTTON_LEFT) { - if (temp_r31->unk8 != 0) { - temp_r31->unk8--; - BoardPlayerPosLerpStart(lbl_1_bss_196, &lbl_1_bss_DC[temp_r31->unk8 + 1], &lbl_1_bss_DC[temp_r31->unk8], REFRESH_RATE/5); - object->func = fn_1_7750; - } - } - else if (spC & PAD_BUTTON_RIGHT) { - if (temp_r31->unk8 != 2) { - temp_r31->unk8++; - BoardPlayerPosLerpStart(lbl_1_bss_196, &lbl_1_bss_DC[temp_r31->unk8 - 1], &lbl_1_bss_DC[temp_r31->unk8], REFRESH_RATE/5); - object->func = fn_1_7750; - } - } + s32 spC; + s32 sp8; + WorkMGItem *temp_r31; + s32 temp_r29; + temp_r31 = object->data; + fn_1_7358(temp_r31); + temp_r29 = GWPlayer[lbl_1_bss_196].port; + if(GWPlayer[lbl_1_bss_196].com) { + fn_1_7898(object, &spC, &sp8); + } else { + spC = HuPadDStkRep[temp_r29]; + sp8 = HuPadBtnDown[temp_r29]; + } + if((sp8 & PAD_BUTTON_A) || temp_r31->unk0 < 0) { + MGSeqParamSet(temp_r31->unk4, 2, -1); + HuWinKill(temp_r31->unk6); + BoardPlayerMotBlendSet(lbl_1_bss_196, 180, 10); + BoardAudSeqFadeOut(1, 1000); + object->func = fn_1_7818; + } else if(spC & PAD_BUTTON_LEFT) { + if(temp_r31->unk8 != 0) { + temp_r31->unk8--; + BoardPlayerPosLerpStart(lbl_1_bss_196, &lbl_1_bss_DC[temp_r31->unk8+1], &lbl_1_bss_DC[temp_r31->unk8], 12); + object->func = fn_1_7750; + } + } else if(spC & PAD_BUTTON_RIGHT) { + if(temp_r31->unk8 != 2) { + temp_r31->unk8++; + BoardPlayerPosLerpStart(lbl_1_bss_196, &lbl_1_bss_DC[temp_r31->unk8-1], &lbl_1_bss_DC[temp_r31->unk8], 12); + object->func = fn_1_7750; + } + } } void fn_1_7750(omObjData *object) { - WorkMGItem *temp_r31 = object->data; - fn_1_7358(temp_r31); - if (!GWPlayer[lbl_1_bss_196].moving) { - BoardPlayerIdleSet(lbl_1_bss_196); - object->func = fn_1_74E4; - } + WorkMGItem *temp_r31 = object->data; + fn_1_7358(temp_r31); + if(!GWPlayer[lbl_1_bss_196].moving) { + BoardPlayerIdleSet(lbl_1_bss_196); + object->func = fn_1_74E4; + } } void fn_1_7818(omObjData *object) { - if (BoardPlayerMotBlendCheck(lbl_1_bss_196)) { - fn_1_732C(((WorkMGItem *)object->data)->unk8); - object->func = NULL; - } + if(BoardPlayerMotBlendCheck(lbl_1_bss_196)) { + fn_1_732C(((WorkMGItem *)object->data)->unk8); + object->func = NULL; + } } void fn_1_7898(omObjData *arg0, s32 *arg1, s32 *arg2) { - WorkMGItem *temp_r31; - s32 temp_r28; - temp_r31 = arg0->data; - *arg1 = *arg2 = 0; - if (temp_r31->unkA) { - temp_r31->unkA--; - } - else { - temp_r31->unkA = frandmod(30) + 15; - if (temp_r31->unkC == 4) { - *arg2 |= PAD_BUTTON_A; - } - else if ((s32)frandmod(10) < 4) { - *arg2 |= PAD_BUTTON_A; - } - else { - temp_r28 = frandBool(); - if ((temp_r28 == 0 && temp_r31->unk8 != 2) || temp_r31->unk8 == 0) { - *arg1 |= PAD_BUTTON_RIGHT; - } - else if ((temp_r28 == 1 && temp_r31->unk8 != 0) || temp_r31->unk8 == 2) { - *arg1 |= PAD_BUTTON_LEFT; - } - temp_r31->unkC++; - } - } + WorkMGItem *temp_r31; + s32 temp_r28; + temp_r31 = arg0->data; + *arg1 = *arg2 = 0; + if(temp_r31->unkA) { + temp_r31->unkA--; + } else { + temp_r31->unkA = frandmod(30)+15; + if(temp_r31->unkC == 4) { + *arg2 |= PAD_BUTTON_A; + } else if((s32)frandmod(10) < 4) { + *arg2 |= PAD_BUTTON_A; + } else { + temp_r28 = frandBool(); + if((temp_r28 == 0 && temp_r31->unk8 != 2) || temp_r31->unk8 == 0) { + *arg1 |= PAD_BUTTON_RIGHT; + } else if((temp_r28 == 1 && temp_r31->unk8 != 0) || temp_r31->unk8 == 2) { + *arg1 |= PAD_BUTTON_LEFT; + } + temp_r31->unkC++; + } + } } static inline void WriteTrans(s32 index, float value) { - Hu3DData[BoardModelIDGet(lbl_1_bss_184[index])].unk_F0[1][3] = value; + Hu3DData[BoardModelIDGet(lbl_1_bss_184[index])].unk_F0[1][3] = value; } void fn_1_79BC(s16 *arg0) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f25; - Vec sp8; - s32 temp_r31; - s32 temp_r29; - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - lbl_1_bss_190[temp_r31] = arg0[temp_r31]; - lbl_1_bss_184[temp_r31] = BoardModelCreate(lbl_1_data_428[lbl_1_bss_190[temp_r31]], NULL, 0); - if (lbl_1_bss_190[temp_r31] == 5) { - WriteTrans(temp_r31, -50.0f); - } - if (arg0[temp_r31] == 4) { - BoardModelMotionSpeedSet(lbl_1_bss_184[temp_r31], 0); - } - BoardModelVisibilitySet(lbl_1_bss_184[temp_r31], 0); - if (arg0[temp_r31] == 11) { - BoardModelAttrSet(lbl_1_bss_184[temp_r31], 0x40000001); - } - } - if (lbl_1_bss_C8 == NULL) { - lbl_1_bss_C8 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_EFFECT, 0x00)); - HuSprAnimLock(lbl_1_bss_C8); - } - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - lbl_1_bss_18A[temp_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W02, 0x17), lbl_1_data_480, 0); - lbl_1_bss_118[temp_r31].x = lbl_1_bss_118[temp_r31].z = 0.1f; - lbl_1_bss_118[temp_r31].y = 0.1f; - lbl_1_bss_13C[temp_r31].x = 0; - lbl_1_bss_13C[temp_r31].y = lbl_1_bss_13C[temp_r31].z = 0; - Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_30[10]), lbl_1_data_474[temp_r31], &lbl_1_bss_160[temp_r31]); - BoardModelPosSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_160[temp_r31]); - BoardModelRotSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_13C[temp_r31]); - BoardModelScaleSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_118[temp_r31]); - } - lbl_1_bss_114 = lbl_1_bss_160[0].y; - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - BoardModelPosGet(lbl_1_bss_30[10], &lbl_1_bss_DC[temp_r31]); - lbl_1_bss_DC[temp_r31].x = lbl_1_bss_160[temp_r31].x; - lbl_1_bss_DC[temp_r31].z = lbl_1_bss_160[temp_r31].z + 200.0f; - BoardModelMotionStart(lbl_1_bss_18A[temp_r31], 3, 0); - } - lbl_1_bss_110 = fabs(lbl_1_bss_160[0].x - lbl_1_bss_160[1].x) / 2; - temp_f31 = 0; - temp_f29 = 20; - sp8.x = 0.04f; - sp8.y = 0.04f; - sp8.z = 0.04f; - for (temp_r29 = 0; temp_r29 < 3;) { - temp_f30 = temp_f29 - ((7.0f / 60.0f) * (0.25f * (temp_f31 * temp_f31))); - temp_f31++; - temp_r29 = 0; - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - lbl_1_bss_160[temp_r31].y += temp_f30; - if (lbl_1_bss_160[temp_r31].y < lbl_1_bss_114) { - lbl_1_bss_160[temp_r31].y = lbl_1_bss_114; - temp_r29++; - } - BoardModelPosSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_160[temp_r31]); - VECAdd(&lbl_1_bss_118[temp_r31], &sp8, &lbl_1_bss_118[temp_r31]); - if (lbl_1_bss_118[temp_r31].x > 0.7f) { - lbl_1_bss_118[temp_r31].x = 0.7f; - } - if (lbl_1_bss_118[temp_r31].y > 0.7f) { - lbl_1_bss_118[temp_r31].y = 0.7f; - } - if (lbl_1_bss_118[temp_r31].z > 0.7f) { - lbl_1_bss_118[temp_r31].z = 0.7f; - } - BoardModelScaleSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_118[temp_r31]); - } - HuPrcVSleep(); - } - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - lbl_1_bss_118[temp_r31].x = lbl_1_bss_118[temp_r31].y = lbl_1_bss_118[temp_r31].z = 0.7f; - BoardModelScaleSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_118[temp_r31]); - BoardModelMotionStart(lbl_1_bss_18A[temp_r31], 1, 0x40000001); - } - lbl_1_bss_100 = HuPrcCreate(fn_1_85FC, 8196, 8192, 0); - HuPrcDestructorSet2(lbl_1_bss_100, fn_1_8DAC); - *((u32 *)&lbl_1_bss_100->user_data) = 7; - HuAudFXPlay(866); - while (((u32)lbl_1_bss_100->user_data & 0x40000000) == 0) { - HuPrcVSleep(); - } + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f25; + Vec sp8; + s32 temp_r31; + s32 temp_r29; + for(temp_r31=0; temp_r31<3; temp_r31++) { + lbl_1_bss_190[temp_r31] = arg0[temp_r31]; + lbl_1_bss_184[temp_r31] = BoardModelCreate(lbl_1_data_428[lbl_1_bss_190[temp_r31]], NULL, 0); + if(lbl_1_bss_190[temp_r31] == 5) { + WriteTrans(temp_r31, -50.0f); + } + if(arg0[temp_r31] == 4) { + BoardModelMotionSpeedSet(lbl_1_bss_184[temp_r31], 0); + } + BoardModelVisibilitySet(lbl_1_bss_184[temp_r31], 0); + if(arg0[temp_r31] == 11) { + BoardModelAttrSet(lbl_1_bss_184[temp_r31], 0x40000001); + } + } + if(lbl_1_bss_C8 == NULL) { + lbl_1_bss_C8 = HuSprAnimReadFile(0x120000); + HuSprAnimLock(lbl_1_bss_C8); + } + for(temp_r31=0; temp_r31<3; temp_r31++) { + lbl_1_bss_18A[temp_r31] = BoardModelCreate(0x760017, lbl_1_data_480, 0); + lbl_1_bss_118[temp_r31].x = lbl_1_bss_118[temp_r31].z = 0.1f; + lbl_1_bss_118[temp_r31].y = 0.1f; + lbl_1_bss_13C[temp_r31].x = 0; + lbl_1_bss_13C[temp_r31].y = lbl_1_bss_13C[temp_r31].z = 0; + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_30[10]), lbl_1_data_474[temp_r31], &lbl_1_bss_160[temp_r31]); + BoardModelPosSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_160[temp_r31]); + BoardModelRotSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_13C[temp_r31]); + BoardModelScaleSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_118[temp_r31]); + } + lbl_1_bss_114 = lbl_1_bss_160[0].y; + for(temp_r31=0; temp_r31<3; temp_r31++) { + BoardModelPosGet(lbl_1_bss_30[10], &lbl_1_bss_DC[temp_r31]); + lbl_1_bss_DC[temp_r31].x = lbl_1_bss_160[temp_r31].x; + lbl_1_bss_DC[temp_r31].z = lbl_1_bss_160[temp_r31].z+200.0f; + BoardModelMotionStart(lbl_1_bss_18A[temp_r31], 3, 0); + } + lbl_1_bss_110 = fabs(lbl_1_bss_160[0].x-lbl_1_bss_160[1].x)/2; + temp_f31 = 0; + temp_f29 = 20; + sp8.x = 0.04f; + sp8.y = 0.04f; + sp8.z = 0.04f; + for(temp_r29=0; temp_r29<3;) { + temp_f30 = temp_f29-((7.0f/60.0f)*(0.25f*(temp_f31*temp_f31))); + temp_f31++; + temp_r29 = 0; + for(temp_r31=0; temp_r31<3; temp_r31++) { + lbl_1_bss_160[temp_r31].y += temp_f30; + if(lbl_1_bss_160[temp_r31].y < lbl_1_bss_114) { + lbl_1_bss_160[temp_r31].y = lbl_1_bss_114; + temp_r29++; + } + BoardModelPosSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_160[temp_r31]); + VECAdd(&lbl_1_bss_118[temp_r31], &sp8, &lbl_1_bss_118[temp_r31]); + if(lbl_1_bss_118[temp_r31].x > 0.7f) { + lbl_1_bss_118[temp_r31].x = 0.7f; + } + if(lbl_1_bss_118[temp_r31].y > 0.7f) { + lbl_1_bss_118[temp_r31].y = 0.7f; + } + if(lbl_1_bss_118[temp_r31].z > 0.7f) { + lbl_1_bss_118[temp_r31].z = 0.7f; + } + BoardModelScaleSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_118[temp_r31]); + } + HuPrcVSleep(); + } + for(temp_r31=0; temp_r31<3; temp_r31++) { + lbl_1_bss_118[temp_r31].x = lbl_1_bss_118[temp_r31].y = lbl_1_bss_118[temp_r31].z = 0.7f; + BoardModelScaleSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_118[temp_r31]); + BoardModelMotionStart(lbl_1_bss_18A[temp_r31], 1, 0x40000001); + } + lbl_1_bss_100 = HuPrcCreate(fn_1_85FC, 8196, 8192, 0); + HuPrcDestructorSet2(lbl_1_bss_100, fn_1_8DAC); + *((u32 *)&lbl_1_bss_100->user_data) = 7; + HuAudFXPlay(866); + while(((u32)lbl_1_bss_100->user_data & 0x40000000) == 0) { + HuPrcVSleep(); + } } void fn_1_8244(u16 arg0) { - float temp_f31; - float temp_f30; - float temp_f29; - Vec spC; - - s32 temp_r31; - s32 temp_r30; - if (arg0) { - fn_1_8570(); - } - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - BoardModelMotionStart(lbl_1_bss_18A[temp_r31], 3, 0); - } - temp_f31 = 0; - temp_f29 = 20; - spC.x = -0.02f; - spC.y = -0.02f; - spC.z = -0.02f; - for (temp_r30 = 0; temp_r30 < 3;) { - temp_f30 = temp_f29 - ((7.0f / 60.0f) * (0.25f * (temp_f31 * temp_f31))); - temp_f31++; - temp_r30 = 0; - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - lbl_1_bss_160[temp_r31].y += temp_f30; - BoardModelPosSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_160[temp_r31]); - if (temp_f30 < 0.0f) { - VECAdd(&lbl_1_bss_118[temp_r31], &spC, &lbl_1_bss_118[temp_r31]); - if (lbl_1_bss_118[temp_r31].x < 0.0f) { - lbl_1_bss_118[temp_r31].x = 0.0f; - } - if (lbl_1_bss_118[temp_r31].y < 0.0f) { - lbl_1_bss_118[temp_r31].y = 0.0f; - } - if (lbl_1_bss_118[temp_r31].z < 0.0f) { - lbl_1_bss_118[temp_r31].z = 0.0f; - } - BoardModelScaleSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_118[temp_r31]); - if (lbl_1_bss_118[temp_r31].x == 0.0f) { - temp_r30++; - } - } - } - HuPrcVSleep(); - } - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - BoardModelVisibilitySet(lbl_1_bss_18A[temp_r31], 0); - } + float temp_f31; + float temp_f30; + float temp_f29; + Vec spC; + + s32 temp_r31; + s32 temp_r30; + if(arg0) { + fn_1_8570(); + } + for(temp_r31=0; temp_r31<3; temp_r31++) { + BoardModelMotionStart(lbl_1_bss_18A[temp_r31], 3, 0); + } + temp_f31 = 0; + temp_f29 = 20; + spC.x = -0.02f; + spC.y = -0.02f; + spC.z = -0.02f; + for(temp_r30=0; temp_r30<3;) { + temp_f30 = temp_f29-((7.0f/60.0f)*(0.25f*(temp_f31*temp_f31))); + temp_f31++; + temp_r30 = 0; + for(temp_r31=0; temp_r31<3; temp_r31++) { + lbl_1_bss_160[temp_r31].y += temp_f30; + BoardModelPosSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_160[temp_r31]); + if(temp_f30 < 0.0f) { + VECAdd(&lbl_1_bss_118[temp_r31], &spC, &lbl_1_bss_118[temp_r31]); + if(lbl_1_bss_118[temp_r31].x < 0.0f) { + lbl_1_bss_118[temp_r31].x = 0.0f; + } + if(lbl_1_bss_118[temp_r31].y < 0.0f) { + lbl_1_bss_118[temp_r31].y = 0.0f; + } + if(lbl_1_bss_118[temp_r31].z < 0.0f) { + lbl_1_bss_118[temp_r31].z = 0.0f; + } + BoardModelScaleSetV(lbl_1_bss_18A[temp_r31], &lbl_1_bss_118[temp_r31]); + if(lbl_1_bss_118[temp_r31].x == 0.0f) { + temp_r30++; + } + } + + + } + HuPrcVSleep(); + } + for(temp_r31=0; temp_r31<3; temp_r31++) { + BoardModelVisibilitySet(lbl_1_bss_18A[temp_r31], 0); + } } void fn_1_8570(void) { - u32 temp_r31; - temp_r31 = (u32)lbl_1_bss_100->user_data; - temp_r31 |= 0x20000000; - *(u32 *)&lbl_1_bss_100->user_data = temp_r31; - while (((u32)lbl_1_bss_100->user_data & 0x80000000) == 0) { - HuPrcVSleep(); - } - HuPrcKill(lbl_1_bss_100); - lbl_1_bss_100 = NULL; + u32 temp_r31; + temp_r31 = (u32)lbl_1_bss_100->user_data; + temp_r31 |= 0x20000000; + *(u32 *)&lbl_1_bss_100->user_data = temp_r31; + while(((u32)lbl_1_bss_100->user_data & 0x80000000) == 0) { + HuPrcVSleep(); + } + HuPrcKill(lbl_1_bss_100); + lbl_1_bss_100 = NULL; } void fn_1_8E38(ModelData *model, ParticleData *particle, Mtx matrix); void fn_1_85FC(void) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - - Vec sp20[3]; - Vec sp14; - float sp8[3]; - s32 temp_r31; - u32 temp_r30; - u32 temp_r29; - s32 temp_r28; - ParticleData *temp_r27; - temp_r30 = (u32)HuPrcCurrentGet()->user_data; - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - temp_r29 = 1 << temp_r31; - if (temp_r30 & temp_r29) { - BoardModelPosGet(lbl_1_bss_18A[temp_r31], &sp20[temp_r31]); - sp20[temp_r31].y += 50.0f; - sp8[temp_r31] = 0.0f; - BoardModelPosSetV(lbl_1_bss_184[temp_r31], &sp20[temp_r31]); - sp14.x = sp14.y = sp14.z = sp8[temp_r31]; - BoardModelScaleSetV(lbl_1_bss_184[temp_r31], &sp14); - BoardModelVisibilitySet(lbl_1_bss_184[temp_r31], 1); - temp_f28 = 130.0f + sp20[temp_r31].y; - if (temp_r30 & 0x10000000) { - lbl_1_bss_CC[temp_r31] = Hu3DParticleCreate(lbl_1_bss_C8, 100); - temp_r27 = Hu3DData[lbl_1_bss_CC[temp_r31]].unk_120; - temp_r27->unk_02 = lbl_1_bss_184[temp_r31]; - Hu3DParticleHookSet(lbl_1_bss_CC[temp_r31], fn_1_8E38); - Hu3DParticleColSet(lbl_1_bss_CC[temp_r31], 255, 255, 0); - Hu3DModelPosSet(lbl_1_bss_CC[temp_r31], 0, 0, 0); - Hu3DParticleBlendModeSet(lbl_1_bss_CC[temp_r31], 1); - Hu3DModelLayerSet(lbl_1_bss_CC[temp_r31], 2); - } - } - } - temp_f31 = 12; - temp_f29 = 0.05f; - while (1) { - temp_r28 = 0; - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - temp_r29 = 1 << temp_r31; - if (temp_r30 & temp_r29) { - temp_r28++; - BoardModelPosGet(lbl_1_bss_184[temp_r31], &sp20[temp_r31]); - sp20[temp_r31].y += temp_f31; - if (sp20[temp_r31].y >= temp_f28) { - sp20[temp_r31].y = temp_f28; - temp_r28--; - } - BoardModelPosSetV(lbl_1_bss_184[temp_r31], &sp20[temp_r31]); - sp8[temp_r31] += temp_f29; - if (sp8[temp_r31] > 1.0f) { - sp8[temp_r31] = 1.0f; - } - sp14.x = sp14.y = sp14.z = sp8[temp_r31]; - BoardModelScaleSetV(lbl_1_bss_184[temp_r31], &sp14); - } - } - temp_f31 *= 0.92f; - if (temp_r28 == 0) { - break; - } - HuPrcVSleep(); - } - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - temp_r29 = 1 << temp_r31; - if (temp_r30 & temp_r29) { - sp8[temp_r31] = 1.0f; - sp14.x = sp14.y = sp14.z = sp8[temp_r31]; - BoardModelScaleSetV(lbl_1_bss_184[temp_r31], &sp14); - } - } - temp_r30 |= 0x40000000; - *((u32 *)&HuPrcCurrentGet()->user_data) = temp_r30; - temp_f30 = 0; - while (1) { - - temp_r30 = (u32)HuPrcCurrentGet()->user_data; - if (temp_r30 & 0x20000000) { - break; - } - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - temp_r29 = 1 << temp_r31; - if (temp_r30 & temp_r29) { - BoardModelPosGet(lbl_1_bss_184[temp_r31], &sp20[temp_r31]); - sp20[temp_r31].y += sind(temp_f30) * 0.25f; - BoardModelPosSetV(lbl_1_bss_184[temp_r31], &sp20[temp_r31]); - } - } - temp_f30 += 5.0f; - if (temp_f30 >= 360.0f) { - temp_f30 -= 360.0f; - } - - HuPrcVSleep(); - } - temp_f31 = -12; - temp_f29 = -0.05f; - while (1) { - temp_r28 = 0; - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - temp_r29 = 1 << temp_r31; - if (temp_r30 & temp_r29) { - temp_r28++; - BoardModelPosGet(lbl_1_bss_184[temp_r31], &sp20[temp_r31]); - sp20[temp_r31].y += temp_f31; - BoardModelPosSetV(lbl_1_bss_184[temp_r31], &sp20[temp_r31]); - sp8[temp_r31] += temp_f29; - if (sp8[temp_r31] < 0.0f) { - sp8[temp_r31] = 0.0f; - } - if (sp8[temp_r31] == 0.0f) { - temp_r28--; - } - sp14.x = sp14.y = sp14.z = sp8[temp_r31]; - BoardModelScaleSetV(lbl_1_bss_184[temp_r31], &sp14); - } - } - temp_f31 *= 0.92f; - if (temp_r28 == 0) { - break; - } - HuPrcVSleep(); - } - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - temp_r29 = 1 << temp_r31; - if (temp_r30 & temp_r29) { - sp14.x = sp14.y = sp14.z = 1.0f; - BoardModelScaleSetV(lbl_1_bss_184[temp_r31], &sp14); - BoardModelVisibilitySet(lbl_1_bss_184[temp_r31], 0); - } - } - temp_r30 |= 0x80000000; - *((u32 *)&HuPrcCurrentGet()->user_data) = temp_r30; - while (1) { - HuPrcVSleep(); - } + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + + Vec sp20[3]; + Vec sp14; + float sp8[3]; + s32 temp_r31; + u32 temp_r30; + u32 temp_r29; + s32 temp_r28; + ParticleData *temp_r27; + temp_r30 = (u32)HuPrcCurrentGet()->user_data; + for(temp_r31=0; temp_r31<3; temp_r31++) { + temp_r29 = 1 << temp_r31; + if(temp_r30 & temp_r29) { + BoardModelPosGet(lbl_1_bss_18A[temp_r31], &sp20[temp_r31]); + sp20[temp_r31].y += 50.0f; + sp8[temp_r31] = 0.0f; + BoardModelPosSetV(lbl_1_bss_184[temp_r31], &sp20[temp_r31]); + sp14.x = sp14.y = sp14.z = sp8[temp_r31]; + BoardModelScaleSetV(lbl_1_bss_184[temp_r31], &sp14); + BoardModelVisibilitySet(lbl_1_bss_184[temp_r31], 1); + temp_f28 = 130.0f+sp20[temp_r31].y; + if(temp_r30 & 0x10000000) { + lbl_1_bss_CC[temp_r31] = Hu3DParticleCreate(lbl_1_bss_C8, 100); + temp_r27 = Hu3DData[lbl_1_bss_CC[temp_r31]].unk_120; + temp_r27->unk_02 = lbl_1_bss_184[temp_r31]; + Hu3DParticleHookSet(lbl_1_bss_CC[temp_r31], fn_1_8E38); + Hu3DParticleColSet(lbl_1_bss_CC[temp_r31], 255, 255, 0); + Hu3DModelPosSet(lbl_1_bss_CC[temp_r31], 0, 0, 0); + Hu3DParticleBlendModeSet(lbl_1_bss_CC[temp_r31], 1); + Hu3DModelLayerSet(lbl_1_bss_CC[temp_r31], 2); + } + } + } + temp_f31 = 12; + temp_f29 = 0.05f; + while(1) { + temp_r28 = 0; + for(temp_r31=0; temp_r31<3; temp_r31++) { + temp_r29 = 1 << temp_r31; + if(temp_r30 & temp_r29) { + temp_r28++; + BoardModelPosGet(lbl_1_bss_184[temp_r31], &sp20[temp_r31]); + sp20[temp_r31].y += temp_f31; + if(sp20[temp_r31].y >= temp_f28) { + sp20[temp_r31].y = temp_f28; + temp_r28--; + } + BoardModelPosSetV(lbl_1_bss_184[temp_r31], &sp20[temp_r31]); + sp8[temp_r31] += temp_f29; + if(sp8[temp_r31] > 1.0f) { + sp8[temp_r31] = 1.0f; + } + sp14.x = sp14.y = sp14.z = sp8[temp_r31]; + BoardModelScaleSetV(lbl_1_bss_184[temp_r31], &sp14); + } + } + temp_f31 *= 0.92f; + if(temp_r28 == 0) { + break; + } + HuPrcVSleep(); + } + for(temp_r31=0; temp_r31<3; temp_r31++) { + temp_r29 = 1 << temp_r31; + if(temp_r30 & temp_r29) { + sp8[temp_r31] = 1.0f; + sp14.x = sp14.y = sp14.z = sp8[temp_r31]; + BoardModelScaleSetV(lbl_1_bss_184[temp_r31], &sp14); + } + } + temp_r30 |= 0x40000000; + *((u32 *)&HuPrcCurrentGet()->user_data) = temp_r30; + temp_f30 = 0; + while(1) { + + temp_r30 = (u32)HuPrcCurrentGet()->user_data; + if(temp_r30 & 0x20000000) { + break; + } + for(temp_r31=0; temp_r31<3; temp_r31++) { + temp_r29 = 1 << temp_r31; + if(temp_r30 & temp_r29) { + BoardModelPosGet(lbl_1_bss_184[temp_r31], &sp20[temp_r31]); + sp20[temp_r31].y += sind(temp_f30)*0.25f; + BoardModelPosSetV(lbl_1_bss_184[temp_r31], &sp20[temp_r31]); + } + + } + temp_f30 += 5.0f; + if(temp_f30 >= 360.0f) { + temp_f30 -= 360.0f; + } + + HuPrcVSleep(); + } + temp_f31 = -12; + temp_f29 = -0.05f; + while(1) { + temp_r28 = 0; + for(temp_r31=0; temp_r31<3; temp_r31++) { + temp_r29 = 1 << temp_r31; + if(temp_r30 & temp_r29) { + temp_r28++; + BoardModelPosGet(lbl_1_bss_184[temp_r31], &sp20[temp_r31]); + sp20[temp_r31].y += temp_f31; + BoardModelPosSetV(lbl_1_bss_184[temp_r31], &sp20[temp_r31]); + sp8[temp_r31] += temp_f29; + if(sp8[temp_r31] < 0.0f) { + sp8[temp_r31] = 0.0f; + } + if(sp8[temp_r31] == 0.0f) { + temp_r28--; + } + sp14.x = sp14.y = sp14.z = sp8[temp_r31]; + BoardModelScaleSetV(lbl_1_bss_184[temp_r31], &sp14); + } + } + temp_f31 *= 0.92f; + if(temp_r28 == 0) { + break; + } + HuPrcVSleep(); + } + for(temp_r31=0; temp_r31<3; temp_r31++) { + temp_r29 = 1 << temp_r31; + if(temp_r30 & temp_r29) { + sp14.x = sp14.y = sp14.z = 1.0f; + BoardModelScaleSetV(lbl_1_bss_184[temp_r31], &sp14); + BoardModelVisibilitySet(lbl_1_bss_184[temp_r31], 0); + } + } + temp_r30 |= 0x80000000; + *((u32 *)&HuPrcCurrentGet()->user_data) = temp_r30; + while(1) { + HuPrcVSleep(); + } } void fn_1_8DAC(void) { - s32 temp_r31; - u32 temp_r30 = (u32)HuPrcCurrentGet()->user_data; - u32 temp_r29; - if (temp_r30 & 0x10000000) { - for (temp_r31 = 0; temp_r31 < 3; temp_r31++) { - temp_r29 = 1 << temp_r31; - if (temp_r30 & temp_r29) { - Hu3DModelKill(lbl_1_bss_CC[temp_r31]); - } - } - } + s32 temp_r31; + u32 temp_r30 = (u32)HuPrcCurrentGet()->user_data; + u32 temp_r29; + if(temp_r30 & 0x10000000) { + for(temp_r31=0; temp_r31<3; temp_r31++) { + temp_r29 = 1 << temp_r31; + if(temp_r30 & temp_r29) { + Hu3DModelKill(lbl_1_bss_CC[temp_r31]); + } + } + } } void fn_1_8E38(ModelData *model, ParticleData *particle, Mtx matrix) { - Vec sp8; + Vec sp8; f32 temp_f30; f32 temp_f29; f32 temp_f31; - HsfanimStruct01 *var_r31; + HsfanimStruct01* var_r31; s32 i, j; if (particle->unk_34 == 0) { @@ -980,20 +974,20 @@ void fn_1_8E38(ModelData *model, ParticleData *particle, Mtx matrix) } } if (j != particle->unk_30) { - temp_f30 = 360.0f * ((1.0f / 255.0f) * frand8()); - temp_f29 = temp_f31 * (20.0f + (60.0f * ((1.0f / 255.0f) * frand8()))); + temp_f30 = 360.0f * ((1.0f/255.0f) * frand8()); + temp_f29 = temp_f31 * (20.0f + (60.0f * ((1.0f/255.0f) * frand8()))); var_r31->unk34.x = (sp8.x + (temp_f29 * sind(temp_f30))); var_r31->unk34.z = (sp8.z + (temp_f29 * cosd(temp_f30))); - var_r31->unk34.y = (sp8.y + (temp_f31 * (-30.0f + (40.0f * ((1.0f / 255.0f) * frand8()))))); - var_r31->unk08.x = (0.5f + (3.0f * ((1.0f / 255.0f) * frand8()))); - var_r31->unk08.y = (0.3f + (2.0f * ((1.0f / 255.0f) * frand8()))); + var_r31->unk34.y = (sp8.y + (temp_f31 * (-30.0f + (40.0f * ((1.0f/255.0f) * frand8()))))); + var_r31->unk08.x = (0.5f + (3.0f * ((1.0f/255.0f) * frand8()))); + var_r31->unk08.y = (0.3f + (2.0f * ((1.0f/255.0f) * frand8()))); var_r31->unk40.a = 180; - var_r31->unk2C = (15.0f * temp_f31); + var_r31->unk2C = (15.0f * temp_f31); } } var_r31 = particle->unk_48; - + for (i = 0; i < particle->unk_30; i++, var_r31++) { if (0.0f != var_r31->unk2C) { var_r31->unk34.y = (var_r31->unk34.y - var_r31->unk08.x); @@ -1001,6 +995,6 @@ void fn_1_8E38(ModelData *model, ParticleData *particle, Mtx matrix) if (var_r31->unk2C <= 0.0f) { var_r31->unk2C = 0.0f; } - } + } } } diff --git a/src/REL/w02Dll/roulette.c b/src/REL/w02Dll/roulette.c index b21e0dbe..2a2808bc 100644 --- a/src/REL/w02Dll/roulette.c +++ b/src/REL/w02Dll/roulette.c @@ -1,21 +1,26 @@ #include "REL/w02Dll.h" #include "game/audio.h" -#include "game/chrman.h" #include "game/frand.h" +#include "game/chrman.h" #include "game/pad.h" - #include "ext_math.h" + /* DATA */ -s32 lbl_1_data_4D0[] = { -1, 2, 2, 2, -1, 1, 1, 1, -1, 0, 0, 0, -1, 3, 3, 3 }; +s32 lbl_1_data_4D0[] = { + -1, 2, 2, 2, + -1, 1, 1, 1, + -1, 0, 0, 0, + -1, 3, 3, 3 +}; Process *lbl_1_bss_38C; s16 lbl_1_bss_388; s32 lbl_1_bss_384; float lbl_1_bss_380; -// Local Functions +//Local Functions void fn_1_D3AC(void); s32 fn_1_D8C4(void); void fn_1_DF48(void); @@ -29,10 +34,10 @@ typedef struct UnkPoint { Vec point; } UnkPoint; + /* FUNCTIONS */ -void fn_1_BC1C(void) -{ - Vec sp8; +void fn_1_BC1C(void) { + Point3d sp8; BoardModelPosGet(lbl_1_bss_30[15], &sp8); sp8.z -= 90.0f; @@ -45,14 +50,13 @@ void fn_1_BC1C(void) BoardModelRotSetV(lbl_1_bss_30[15], &sp8); } -void fn_1_BCFC(void) -{ +void fn_1_BCFC(void) { s32 spaceLinkFlags; s32 temp_r30; s32 temp_r29; - + BoardRollDispSet(0); - spaceLinkFlags = BoardSpaceLinkFlagSearch(0, (s32)GWPlayer[lbl_1_bss_388].space_curr, 2U); + spaceLinkFlags = BoardSpaceLinkFlagSearch(0, (s32) GWPlayer[lbl_1_bss_388].space_curr, 2U); BoardPlayerMoveToAsync(lbl_1_bss_388, spaceLinkFlags); while (GWPlayer[lbl_1_bss_388].moving) { HuPrcVSleep(); @@ -60,16 +64,16 @@ void fn_1_BCFC(void) BoardPlayerIdleSet(lbl_1_bss_388); BoardCameraViewSet(2); BoardCameraMotionWait(); - BoardPlayerMotBlendSet((s32)lbl_1_bss_388, 0x5A, 0xF); - while (BoardPlayerMotBlendCheck((s32)lbl_1_bss_388) == 0) { + BoardPlayerMotBlendSet((s32) lbl_1_bss_388, 0x5A, 0xF); + while (BoardPlayerMotBlendCheck((s32) lbl_1_bss_388) == 0) { HuPrcVSleep(); } BoardModelRotYSet(lbl_1_bss_30[15], -90.0f); - fn_1_121C(MAKE_MESSID(0x13, 0x00)); + fn_1_121C(0x130000); HuAudFXPlay(0x44); temp_r29 = fn_1_BE88(); BoardStatusShowSetAll(0); - fn_1_121C(MAKE_MESSID(0x13, 0x01)); + fn_1_121C(0x130001); temp_r30 = fn_1_C108(temp_r29); fn_1_CD04(temp_r30); BoardCameraViewSet(1); @@ -77,18 +81,16 @@ void fn_1_BCFC(void) BoardCameraMotionWait(); BoardRollDispSet(1); HuPrcKill(NULL); - while (TRUE) { - HuPrcVSleep(); + while(TRUE) { + HuPrcVSleep(); } } -s32 fn_1_BE74(void) -{ +s32 fn_1_BE74(void) { lbl_1_bss_38C = 0; } -s32 fn_1_BE88(void) -{ +s32 fn_1_BE88(void) { s32 coinAmount; s32 var_r30; s16 playerCoinRegion; @@ -98,11 +100,11 @@ s32 fn_1_BE88(void) s32 mesg; var_r30 = -1; - coinAmount = BoardPlayerCoinsGet((s32)lbl_1_bss_388); + coinAmount = BoardPlayerCoinsGet((s32) lbl_1_bss_388); if (coinAmount < 5) { return var_r30; } - fn_1_121C(MAKE_MESSID(0x13, 0x02)); + fn_1_121C(0x130002); do { BoardWinCreateChoice(2, MAKE_MESSID(19, 29), 4, 0); @@ -110,8 +112,7 @@ s32 fn_1_BE88(void) if (GWPlayer[lbl_1_bss_388].com) { if (frandBool()) { BoardComKeySetRight(); - } - else { + } else { BoardComKeySetLeft(); } } @@ -135,66 +136,65 @@ s32 fn_1_BE88(void) if (GWPlayer[lbl_1_bss_388].com) { if (playerCoinRegion < 2) { BoardComKeySetUp(); - } - else if (frandBool()) { + } else if (frandBool()) { BoardComKeySetUp(); - } - else { + } else { BoardComKeySetDown(); } } BoardWinWait(); BoardWinKill(); bribeChoice = BoardWinChoiceGet(); - if (bribeChoice == -1 || bribeChoice == 3) { + if (bribeChoice == -1 || + bribeChoice == 3) { continue; } // Coin amount is now the bribe amount in coins switch (bribeChoice) { - case 0: - mesg = MAKE_MESSID(0x13, 0x04); - coinAmount = 0x14; - var_r30 = 0x5A; // 90% - break; - case 1: - mesg = MAKE_MESSID(0x13, 0x05); - coinAmount = 0xA; - var_r30 = 0x3C; // 60% - break; - case 2: - mesg = MAKE_MESSID(0x13, 0x06); - coinAmount = 5; - var_r30 = 0x1E; // 30% - break; + case 0: + mesg = 0x130004; + coinAmount = 0x14; + var_r30 = 0x5A; // 90% + break; + case 1: + mesg = 0x130005; + coinAmount = 0xA; + var_r30 = 0x3C; // 60% + break; + case 2: + mesg = 0x130006; + coinAmount = 5; + var_r30 = 0x1E; // 30% + break; } fn_1_121C(mesg); + for (i = 0; i < coinAmount; i++) { BoardPlayerCoinsAdd(lbl_1_bss_388, -1); HuAudFXPlay(0xE); HuPrcSleep(6); } HuAudFXPlay(0xF); - // If chose to view map - } - else if (rouletteChoice == 2) { + // If chose to view map + } else if (rouletteChoice == 2) { BoardViewMapExec(lbl_1_bss_388); } } while (rouletteChoice == 2); // While viewing map if (var_r30 == -1) { - fn_1_121C(MAKE_MESSID(0x13, 0x07)); + fn_1_121C(0x130007); } return var_r30; } -s32 fn_1_C108(s32 arg0) -{ +s32 fn_1_C108(s32 arg0) { Vec sp34; Vec sp28; Vec sp1C; Vec sp10; + f32 var_f27; f32 var_f26; f32 var_f25; @@ -210,16 +210,15 @@ s32 fn_1_C108(s32 arg0) s32 var_r29; s32 i; - if ((s32)frandmod(0x64U) < arg0) { + if ((s32) frandmod(0x64U) < arg0) { s32 temp_r25 = fn_1_E2AC(); var_r27 = 4; var_r29 = frandmod(3U); - if ((s32)frandmod(0x64U) < 0x14) { + if ((s32) frandmod(0x64U) < 0x14) { var_r29 += 1; } var_r29 = var_r29 + (3 - temp_r25) * 4; - } - else { + } else { var_r29 = frandmod(0x10U); var_r27 = frandmod(4U); } @@ -250,7 +249,7 @@ s32 fn_1_C108(s32 arg0) HuAudFXPitchSet(lbl_1_bss_384, var_r28); HuPrcVSleep(); } - + var_f29 = -22.5f; HuAudFXPitchSet(lbl_1_bss_384, 0); BoardModelMotionStart(lbl_1_bss_30[15], 2, 0x40000001); @@ -270,7 +269,7 @@ s32 fn_1_C108(s32 arg0) } BoardModelMotionStart(lbl_1_bss_30[15], 3, 0x40000001); BoardModelMotionSpeedSet(lbl_1_bss_30[15], 4.0f); - + for (i = 0; i < 0xA; i++) { sp34.z -= 6.2999997f; BoardModelPosSetV(lbl_1_bss_30[15], &sp34); @@ -288,19 +287,19 @@ s32 fn_1_C108(s32 arg0) sp1C.z = -50.0f; // Roulette motion and ball ? - while (TRUE) { + while(TRUE) { sp1C.y = var_f27 - (0.55833334f * (0.25f * (var_f31 * var_f31))); var_f31 += 1.0f; BoardModelPosGet(lbl_1_bss_30[6], &sp28); - VECAdd(&sp28, &sp1C, &sp28); + PSVECAdd(&sp28, &sp1C, &sp28); var_f25 = VECDistanceXZ(&sp28, &sp10); if (var_f25 >= 430.0f) { if (sp28.y <= (55.0f + sp10.y)) { - VECSubtract(&sp28, &sp10, (Vec *)&sp1C); - VECNormalize((Vec *)&sp1C, (Vec *)&sp1C); + PSVECSubtract(&sp28, &sp10, (Vec* ) &sp1C); + PSVECNormalize((Vec* ) &sp1C, (Vec* ) &sp1C); sp1C.y = 0.0f; - VECScale((Vec *)&sp1C, (Vec *)&sp1C, 429.0f); - VECAdd((Vec *)&sp1C, &sp10, (Vec *)&sp1C); + PSVECScale((Vec* ) &sp1C, (Vec* ) &sp1C, 429.0f); + PSVECAdd((Vec* ) &sp1C, &sp10, (Vec* ) &sp1C); sp28.x = sp1C.x; sp28.z = sp1C.z; sp1C.x = -5.0f; @@ -310,34 +309,34 @@ s32 fn_1_C108(s32 arg0) if (sp28.y < sp10.y) { sp28.y = sp10.y; - if (var_r27 >= 3) { + if (var_r27 >= 3) { break; } - // var_f31 = ((1.0f/255.0f) * (6.0f * frand8())); - var_f27 = 6.0f + ((1.0f / 255.0f) * (6.0f * frand8())); + //var_f31 = ((1.0f/255.0f) * (6.0f * frand8())); + var_f27 = 6.0f + ((1.0f/255.0f) * (6.0f * frand8())); var_f31 = 1.0f; var_r27 += 1; - // var_f31 = ((1.0f/255.0f) * (5.0f * frand8())); - sp1C.x = 15.0f + ((1.0f / 255.0f) * (5.0f * frand8())); - sp1C.z = 15.0f + ((1.0f / 255.0f) * (5.0f * frand8())); + //var_f31 = ((1.0f/255.0f) * (5.0f * frand8())); + sp1C.x = 15.0f + ((1.0f/255.0f) * (5.0f * frand8())); + sp1C.z = 15.0f + ((1.0f/255.0f) * (5.0f * frand8())); HuAudFXPlay(0x41E); } - - BoardModelPosSetV(lbl_1_bss_30[6], (Vec *)&sp28); + + BoardModelPosSetV(lbl_1_bss_30[6], (Vec* ) &sp28); fn_1_E310(var_f29); HuPrcVSleep(); } HuAudFXPlay(0x41E); - VECSubtract(&sp28, &sp10, (Vec *)&sp1C); - VECNormalize((Vec *)&sp1C, (Vec *)&sp1C); + PSVECSubtract(&sp28, &sp10, (Vec* ) &sp1C); + PSVECNormalize((Vec* ) &sp1C, (Vec* ) &sp1C); var_f31 = atan2d(-sp1C.z, sp1C.x); BoardModelRotGet(lbl_1_bss_30[4], &sp34); var_f31 = var_f31 - sp34.y; if (var_f31 < 0.0f) { var_f31 += 360.0f; } - var_r30 = (s32)(var_f31 / 22.5f); + var_r30 = (s32) (var_f31 / 22.5f); if (fmod(var_f31, 22.5) > 11.25) { var_r30 += 1; } @@ -346,18 +345,19 @@ s32 fn_1_C108(s32 arg0) } sp1C.y = 0.0f; - while (TRUE) { + while(TRUE) { fn_1_E310(var_f29); BoardModelRotGet(lbl_1_bss_30[4], &sp34); var_f31 = (22.5f * var_r30) + sp34.y; // TODO: Update rodata for asm change sp1C.x = cosd(var_f31); sp1C.z = -sind(var_f31); - VECScale(&sp1C, &sp1C, 429.0f); - VECAdd(&sp1C, &sp10, &sp1C); + PSVECScale(&sp1C, &sp1C, 429.0f); + PSVECAdd(&sp1C, &sp10, &sp1C); sp28.x = sp1C.x; sp28.z = sp1C.z; BoardModelPosSetV(lbl_1_bss_30[6], &sp28); - if (sp34.y >= 292.5f && sp34.y < 315.0f) { + if (sp34.y >= 292.5f && + sp34.y < 315.0f) { break; } HuPrcVSleep(); @@ -367,14 +367,14 @@ s32 fn_1_C108(s32 arg0) var_f29 += 0.375f; fn_1_E310(var_f29); BoardModelRotGet(lbl_1_bss_30[4], &sp34); - var_f31 = (22.5f * (f32)var_r30) + sp34.y; + var_f31 = (22.5f * (f32) var_r30) + sp34.y; sp1C.x = cosd(var_f31); sp1C.z = -sind(var_f31); - VECScale(&sp1C, &sp1C, 429.0f); - VECAdd((Vec *)&sp1C, &sp10, (Vec *)&sp1C); + PSVECScale(&sp1C, &sp1C, 429.0f); + PSVECAdd((Vec* ) &sp1C, &sp10, (Vec* ) &sp1C); sp28.x = sp1C.x; sp28.z = sp1C.z; - BoardModelPosSetV(lbl_1_bss_30[6], (Vec *)&sp28); + BoardModelPosSetV(lbl_1_bss_30[6], (Vec* ) &sp28); var_r28 += -136.51666f; HuAudFXPitchSet(lbl_1_bss_384, var_r28); HuPrcVSleep(); @@ -385,8 +385,7 @@ s32 fn_1_C108(s32 arg0) } // Place player on space post roulette? -void fn_1_CD04(s32 arg0) -{ +void fn_1_CD04(s32 arg0) { Vec sp24; Vec sp18; Vec spC; @@ -394,25 +393,25 @@ void fn_1_CD04(s32 arg0) f32 temp_f30; f32 temp_f29; f32 var_f31; - + s16 var_r25; u32 var_r26; s32 var_r27; s32 var_r29; s32 var_r28; s32 var_r30; - BoardSpace *temp_r31; + BoardSpace* temp_r31; if (arg0 < 0) { fn_1_D3AC(); arg0 = fn_1_D8C4(); } temp_r31 = BoardSpaceGet(0, BoardSpaceFlagSearch(0, 0x800)); - + for (var_r28 = 0; var_r28 < temp_r31->link_cnt; var_r28++) { var_r29 = temp_r31->link[var_r28]; - var_r26 = ((BoardSpaceFlagGet(0, var_r29) & 0xE) >> 1U); - if (var_r26 == (arg0 + 2)) { + var_r26 = ( (BoardSpaceFlagGet(0, var_r29) & 0xE) >> 1U); + if ( var_r26 == (arg0 + 2)) { break; } } @@ -428,7 +427,7 @@ void fn_1_CD04(s32 arg0) while (BoardModelMotionTimeGet(lbl_1_bss_30[5]) < 30.0f) { spC.x -= 0.25f; spC.y -= 0.25f; - // temp_f1 = spC.z; + //temp_f1 = spC.z; spC.z = spC.z - 0.25f; BoardPlayerScaleSetV(lbl_1_bss_388, &spC); HuPrcVSleep(); @@ -444,8 +443,7 @@ void fn_1_CD04(s32 arg0) if (GWPlayer[lbl_1_bss_388].bowser_suit) { BoardModelVisibilitySet(BoardBowserSuitModelGet(), 0); BoardModelVisibilitySet(BoardBowserSuitPlayerModelGet(), 0); - } - else { + } else { BoardModelVisibilitySet(BoardPlayerModelGet(lbl_1_bss_388), 0); } HuAudFXPlay(0x421); @@ -456,7 +454,7 @@ void fn_1_CD04(s32 arg0) } BoardModelPosGet(lbl_1_bss_30[5], &sp18); - temp_f30 = atan2d(sp24.x - sp18.x, sp24.z - sp18.z) / 30; + temp_f30 = atan2d(sp24.x - sp18.x, sp24.z - sp18.z)/30; while (BoardModelMotionTimeGet(lbl_1_bss_30[5]) < 90.0f) { BoardModelRotYSet(lbl_1_bss_30[5], temp_f30 + BoardModelRotYGet(lbl_1_bss_30[5])); @@ -466,23 +464,22 @@ void fn_1_CD04(s32 arg0) omVibrate(lbl_1_bss_388, 0xC, 4, 2); if (GWPlayer[lbl_1_bss_388].bowser_suit) { - BoardModelVisibilitySet(BoardBowserSuitModelGet(), 1); - BoardModelVisibilitySet(BoardBowserSuitPlayerModelGet(), 1); - } - else { + BoardModelVisibilitySet(BoardBowserSuitModelGet(),1); + BoardModelVisibilitySet(BoardBowserSuitPlayerModelGet(),1); + } else { BoardModelVisibilitySet(BoardPlayerModelGet(lbl_1_bss_388), 1); } - GWPlayer[lbl_1_bss_388].space_curr = (s16)var_r29; + GWPlayer[lbl_1_bss_388].space_curr =(s16) var_r29; BoardPlayerPosSetV(lbl_1_bss_388, &sp24); temp_r31 = BoardSpaceGet(0, var_r29); - - for (var_r30 = 0; var_r30 < (s32)temp_r31->link_cnt; var_r30++) { + + for ( var_r30 = 0; var_r30 < (s32) temp_r31->link_cnt; var_r30++) { if (BoardSpaceTypeGet(0, temp_r31->link[var_r30])) { break; } } - if (var_r30 != (s32)temp_r31->link_cnt) { + if (var_r30 != (s32) temp_r31->link_cnt) { BoardSpacePosGet(0, temp_r31->link[var_r30], &sp18); BoardPlayerRotYSet(lbl_1_bss_388, atan2d(sp18.x - sp24.x, sp18.z - sp24.z)); } @@ -510,290 +507,289 @@ void fn_1_CD04(s32 arg0) void fn_1_D3AC(void) { - float temp_f31; - float temp_f30; - s32 temp_r31; - s32 temp_r30; - s16 sp38[20]; - Vec sp2C; - Vec sp20; - Vec sp14; - float sp8[3] = { 1.0f, 0.3f, 2.5f }; - fn_1_121C(MAKE_MESSID(0x13, 0x08)); - BoardStatusShowSetAll(1); - BoardPlayerMotBlendSet(lbl_1_bss_388, 0, 15); - BoardPlayerPosGet(lbl_1_bss_388, &sp14); - for (temp_r31 = 0; temp_r31 < 20; temp_r31++) { - sp38[temp_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x0A), NULL, 1); - sp2C.x = (sp14.x - 25.0f) + ((1.0f / 255.0f) * (frand8() * 50.0f)); - sp2C.y = (sp14.y + 1200.0f) + (temp_r31 * 130.0f) + ((1.0f / 255.0f) * (frand8() * 60.0f)); - sp2C.z = (sp14.z - 25.0f) + ((1.0f / 255.0f) * (frand8() * 50.0f)); - BoardModelPosSetV(sp38[temp_r31], &sp2C); - sp20.x = sp20.z = 0; - sp20.y = (1.0f / 255.0f) * (frand8() * 360.0f); - BoardModelRotSetV(sp38[temp_r31], &sp20); - } - temp_f31 = -4; - temp_r30 = 0; - temp_f30 = sp8[BoardPlayerSizeGet(lbl_1_bss_388)]; - while (1) { - for (temp_r31 = 0; temp_r31 < 20; temp_r31++) { - if (temp_r31 < temp_r30) { - continue; - } - BoardModelPosGet(sp38[temp_r31], &sp2C); - BoardModelRotGet(sp38[temp_r31], &sp20); - sp2C.y += temp_f31; - sp20.y += 45.0f; - BoardModelPosSetV(sp38[temp_r31], &sp2C); - BoardModelRotSetV(sp38[temp_r31], &sp20); - if (sp2C.y <= sp14.y + (180.0f * temp_f30)) { - CharModelCoinEffectCreate(1, &sp2C); - BoardModelVisibilitySet(sp38[temp_r31], 0); - temp_r30++; - BoardPlayerCoinsAdd(lbl_1_bss_388, 1); - HuAudFXPlay(7); - omVibrate(lbl_1_bss_388, 12, 6, 6); - } - } - temp_f31 *= 1.05f; - if (temp_f31 < -40.0f) { - temp_f31 = -40.0f; - } - if (temp_r30 == 20) { - BoardPlayerMotionShiftSet(lbl_1_bss_388, 7, 0, 10, HU3D_MOTATTR_NONE); - break; - } - HuPrcVSleep(); - } - while (!BoardPlayerMotionEndCheck(lbl_1_bss_388)) { - HuPrcVSleep(); - } - for (temp_r31 = 0; temp_r31 < 20; temp_r31++) { - BoardModelKill(sp38[temp_r31]); - } - HuPrcSleep(60); - BoardPlayerMotBlendSet(lbl_1_bss_388, 180, 15); - BoardStatusShowSetAll(0); - while (!BoardPlayerMotBlendCheck(lbl_1_bss_388)) { - HuPrcVSleep(); - } + float temp_f31; + float temp_f30; + s32 temp_r31; + s32 temp_r30; + s16 sp38[20]; + Vec sp2C; + Vec sp20; + Vec sp14; + float sp8[3] = { 1.0f, 0.3f, 2.5f }; + fn_1_121C(0x130008); + BoardStatusShowSetAll(1); + BoardPlayerMotBlendSet(lbl_1_bss_388, 0, 15); + BoardPlayerPosGet(lbl_1_bss_388, &sp14); + for(temp_r31=0; temp_r31<20; temp_r31++) { + sp38[temp_r31] = BoardModelCreate(0x7000A, NULL, 1); + sp2C.x = (sp14.x-25.0f)+((1.0f/255.0f)*(frand8()*50.0f)); + sp2C.y = (sp14.y+1200.0f)+(temp_r31*130.0f)+((1.0f/255.0f)*(frand8()*60.0f)); + sp2C.z = (sp14.z-25.0f)+((1.0f/255.0f)*(frand8()*50.0f)); + BoardModelPosSetV(sp38[temp_r31], &sp2C); + sp20.x = sp20.z = 0; + sp20.y = (1.0f/255.0f)*(frand8()*360.0f); + BoardModelRotSetV(sp38[temp_r31], &sp20); + } + temp_f31 = -4; + temp_r30 = 0; + temp_f30 = sp8[BoardPlayerSizeGet(lbl_1_bss_388)]; + while(1) { + for(temp_r31=0; temp_r31<20; temp_r31++) { + if(temp_r31 < temp_r30) { + continue; + } + BoardModelPosGet(sp38[temp_r31], &sp2C); + BoardModelRotGet(sp38[temp_r31], &sp20); + sp2C.y += temp_f31; + sp20.y += 45.0f; + BoardModelPosSetV(sp38[temp_r31], &sp2C); + BoardModelRotSetV(sp38[temp_r31], &sp20); + if(sp2C.y <= sp14.y+(180.0f*temp_f30)) { + CharModelCoinEffectCreate(1, &sp2C); + BoardModelVisibilitySet(sp38[temp_r31], 0); + temp_r30++; + BoardPlayerCoinsAdd(lbl_1_bss_388, 1); + HuAudFXPlay(7); + omVibrate(lbl_1_bss_388, 12, 6, 6); + + } + } + temp_f31 *= 1.05f; + if(temp_f31 < -40.0f) { + temp_f31 = -40.0f; + } + if(temp_r30 == 20) { + BoardPlayerMotionShiftSet(lbl_1_bss_388, 7, 0, 10, 0); + break; + } + HuPrcVSleep(); + } + while(!BoardPlayerMotionEndCheck(lbl_1_bss_388)) { + HuPrcVSleep(); + } + for(temp_r31=0; temp_r31<20; temp_r31++) { + BoardModelKill(sp38[temp_r31]); + } + HuPrcSleep(60); + BoardPlayerMotBlendSet(lbl_1_bss_388, 180, 15); + BoardStatusShowSetAll(0); + while(!BoardPlayerMotBlendCheck(lbl_1_bss_388)) { + HuPrcVSleep(); + } } s32 fn_1_D8C4(void) { - Vec sp40; - Vec sp34; - Vec sp28; - Vec sp1C; - s16 sp14[4]; - float spC[2]; - s32 sp8; - - float temp_f31; - float temp_f30; - - s32 temp_r31; - s16 temp_r30; - BoardSpace *temp_r29; - s32 temp_r28; - s16 temp_r27; - s16 temp_r26; - s32 temp_r25; - s16 temp_r24; - s16 temp_r23; - s16 temp_r22; - - u32 temp_r21; - fn_1_121C(MAKE_MESSID(0x13, 0x09)); - temp_r29 = BoardSpaceGet(0, BoardSpaceFlagSearch(0, 0x800)); - BoardModelPosGet(lbl_1_bss_30[3], &sp40); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - sp14[temp_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x00), NULL, 1); - BoardModelLayerSet(sp14[temp_r31], 2); - for (temp_r28 = 0; temp_r28 < temp_r29->link_cnt; temp_r28++) { - temp_r21 = (BoardSpaceFlagGet(0, temp_r29->link[temp_r28]) & 0xE) >> 1; - if (temp_r21 == temp_r31 + 2) { - break; - } - } - sp8 = BoardSpacePosGet(0, temp_r29->link[temp_r28], &sp28); - VECSubtract(&sp28, &sp40, &sp34); - BoardModelRotYSet(sp14[temp_r31], atan2d(sp34.x, sp34.z)); - VECNormalize(&sp34, &sp34); - VECScale(&sp34, &sp34, 400); - VECAdd(&sp34, &sp40, &sp34); - sp34.y += 300.0f; - BoardModelPosSetV(sp14[temp_r31], &sp34); - sp1C.x = sp1C.y = sp1C.z = 3; - BoardModelScaleSetV(sp14[temp_r31], &sp1C); - } - temp_r25 = fn_1_E2AC(); - HuWinMesMaxSizeGet(1, spC, MAKE_MESSID(0x13, 0x1E)); - temp_r30 = HuWinCreate(-10000, 356, spC[0], spC[1], 0); - HuWinMesSet(temp_r30, MAKE_MESSID(0x13, 0x1E)); - HuWinBGTPLvlSet(temp_r30, 0); - HuWinMesSpeedSet(temp_r30, 0); - temp_r23 = GWPlayer[lbl_1_bss_388].port; - temp_f30 = 0; - temp_r22 = frandmod(20) + 20; -restart: - while (1) { - if (GWPlayer[lbl_1_bss_388].com) { - temp_r27 = 0; - temp_r26 = 0; - if (temp_r22) { - temp_r22--; - temp_r24 = 0; - } - else { - temp_r24 = PAD_BUTTON_A; - } - break; - } - temp_r24 = HuPadBtnDown[temp_r23]; - temp_r27 = HuPadStkX[temp_r23]; - temp_r26 = HuPadStkY[temp_r23]; - if (!(temp_r24 & PAD_TRIGGER_Z)) { - break; - } - HuAudFXPlay(1); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - BoardModelVisibilitySet(sp14[temp_r31], 0); - } - HuWinDispOff(temp_r30); - BoardViewMapExec(lbl_1_bss_388); - HuWinDispOn(temp_r30); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - BoardModelVisibilitySet(sp14[temp_r31], 1); - } - } - if (!(temp_r24 & PAD_BUTTON_A)) { - if (abs(temp_r27) < 10) { - temp_r27 = 0; - } - if (abs(temp_r26) < 10) { - temp_r26 = 0; - } - if (temp_r27 != 0 || temp_r26 != 0) { - temp_f31 = atan2d(-temp_r27, -temp_r26); - if (temp_f31 < 0.0f) { - temp_f31 += 360.0f; - } - temp_r31 = temp_f31 / 90.0f; - temp_f31 = fmod(temp_f31, 90.0); - if (temp_r31 != temp_r25 && temp_f31 >= 20.0f && temp_f31 <= 70.0f) { - temp_f30 = 0; - temp_r25 = temp_r31; - HuAudFXPlay(0); - } - } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - if (temp_r31 == temp_r25) { - sp1C.x = sp1C.y = sp1C.z = sind(temp_f30) + 3.0; - temp_f30 += 8.0f; - if (temp_f30 > 180.0f) { - temp_f30 -= 180.0f; - } - } - else { - sp1C.x = sp1C.y = sp1C.z = 3.0f; - } - - BoardModelScaleSetV(sp14[temp_r31], &sp1C); - } - HuPrcVSleep(); - goto restart; - } - else { - HuAudFXPlay(2); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - BoardModelKill(sp14[temp_r31]); - } - HuWinKill(temp_r30); - return temp_r25; - } + Vec sp40; + Vec sp34; + Vec sp28; + Vec sp1C; + s16 sp14[4]; + float spC[2]; + s32 sp8; + + float temp_f31; + float temp_f30; + + s32 temp_r31; + s16 temp_r30; + BoardSpace *temp_r29; + s32 temp_r28; + s16 temp_r27; + s16 temp_r26; + s32 temp_r25; + s16 temp_r24; + s16 temp_r23; + s16 temp_r22; + + u32 temp_r21; + fn_1_121C(0x130009); + temp_r29 = BoardSpaceGet(0, BoardSpaceFlagSearch(0, 0x800)); + BoardModelPosGet(lbl_1_bss_30[3], &sp40); + for(temp_r31=0; temp_r31<4; temp_r31++) { + sp14[temp_r31] = BoardModelCreate(0x70000, NULL, 1); + BoardModelLayerSet(sp14[temp_r31], 2); + for(temp_r28=0; temp_r28link_cnt; temp_r28++) { + temp_r21 = (BoardSpaceFlagGet(0, temp_r29->link[temp_r28]) & 0xE) >> 1; + if(temp_r21 == temp_r31+2) { + break; + } + } + sp8 = BoardSpacePosGet(0, temp_r29->link[temp_r28], &sp28); + VECSubtract(&sp28, &sp40, &sp34); + BoardModelRotYSet(sp14[temp_r31], atan2d(sp34.x, sp34.z)); + VECNormalize(&sp34, &sp34); + VECScale(&sp34, &sp34, 400); + VECAdd(&sp34, &sp40, &sp34); + sp34.y += 300.0f; + BoardModelPosSetV(sp14[temp_r31], &sp34); + sp1C.x = sp1C.y = sp1C.z = 3; + BoardModelScaleSetV(sp14[temp_r31], &sp1C); + } + temp_r25 = fn_1_E2AC(); + HuWinMesMaxSizeGet(1, spC, 0x13001E); + temp_r30 = HuWinCreate(-10000, 356, spC[0], spC[1], 0); + HuWinMesSet(temp_r30, 0x13001E); + HuWinBGTPLvlSet(temp_r30, 0); + HuWinMesSpeedSet(temp_r30, 0); + temp_r23 = GWPlayer[lbl_1_bss_388].port; + temp_f30 = 0; + temp_r22 = frandmod(20)+20; + restart: + while(1) { + if(GWPlayer[lbl_1_bss_388].com) { + temp_r27 = 0; + temp_r26 = 0; + if(temp_r22) { + temp_r22--; + temp_r24 = 0; + } else { + temp_r24 = PAD_BUTTON_A; + } + break; + } + temp_r24 = HuPadBtnDown[temp_r23]; + temp_r27 = HuPadStkX[temp_r23]; + temp_r26 = HuPadStkY[temp_r23]; + if(!(temp_r24 & PAD_TRIGGER_Z)) { + break; + } + HuAudFXPlay(1); + for(temp_r31=0; temp_r31<4; temp_r31++) { + BoardModelVisibilitySet(sp14[temp_r31], 0); + } + HuWinDispOff(temp_r30); + BoardViewMapExec(lbl_1_bss_388); + HuWinDispOn(temp_r30); + for(temp_r31=0; temp_r31<4; temp_r31++) { + BoardModelVisibilitySet(sp14[temp_r31], 1); + } + } + if(!(temp_r24 & PAD_BUTTON_A)) { + if(abs(temp_r27) < 10) { + temp_r27 = 0; + } + if(abs(temp_r26) < 10) { + temp_r26 = 0; + } + if(temp_r27 != 0 || temp_r26 != 0) { + temp_f31 = atan2d(-temp_r27, -temp_r26); + if(temp_f31 < 0.0f) { + temp_f31 += 360.0f; + } + temp_r31 = temp_f31/90.0f; + temp_f31 = fmod(temp_f31, 90.0); + if(temp_r31 != temp_r25 && temp_f31 >= 20.0f && temp_f31 <= 70.0f){ + temp_f30 = 0; + temp_r25 = temp_r31; + HuAudFXPlay(0); + } + + } + for(temp_r31=0; temp_r31<4; temp_r31++) { + if(temp_r31 == temp_r25) { + sp1C.x = sp1C.y = sp1C.z = sind(temp_f30)+3.0; + temp_f30 += 8.0f; + if(temp_f30 > 180.0f) { + temp_f30 -= 180.0f; + } + } else { + sp1C.x = sp1C.y = sp1C.z = 3.0f; + } + + + BoardModelScaleSetV(sp14[temp_r31], &sp1C); + } + HuPrcVSleep(); + goto restart; + } else { + HuAudFXPlay(2); + for(temp_r31=0; temp_r31<4; temp_r31++) { + BoardModelKill(sp14[temp_r31]); + } + HuWinKill(temp_r30); + return temp_r25; + } } void fn_1_DF48(void) { - Vec sp14; - Vec sp8; - s32 temp_r31; - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - BoardModelMotionTimeSet(lbl_1_bss_30[5], 0); - BoardModelAttrSet(lbl_1_bss_30[5], 0x40000002); - temp_f31 = BoardModelRotYGet(lbl_1_bss_30[5]); - temp_f29 = -temp_f31 / 20.0f; - temp_f30 = BoardModelRotYGet(lbl_1_bss_30[15]); - temp_f28 = -temp_f30 / 20.0f; - BoardModelScaleGet(lbl_1_bss_30[6], &sp14); - for (temp_r31 = 0; temp_r31 < 10; temp_r31++) { - sp14.x = sp14.y = sp14.z = 1.0f - (temp_r31 * 0.1f); - if (sp14.x < 0.0f) { - sp14.x = sp14.y = sp14.z = 0.0f; - } - BoardModelScaleSetV(lbl_1_bss_30[6], &sp14); - temp_f31 += temp_f29; - BoardModelRotYSet(lbl_1_bss_30[5], temp_f31); - temp_f30 += temp_f28; - BoardModelRotYSet(lbl_1_bss_30[15], temp_f30); - HuPrcVSleep(); - } - BoardModelPosGet(lbl_1_bss_30[15], &sp8); - sp8.z -= 90.0f; - sp8.y += 50.0f; - BoardModelPosSetV(lbl_1_bss_30[6], &sp8); - for (temp_r31 = 0; temp_r31 < 10; temp_r31++) { - sp14.x = sp14.y = sp14.z = temp_r31 * 0.1f; - if (sp14.x > 1.0f) { - sp14.x = sp14.y = sp14.z = 1.0f; - } - BoardModelScaleSetV(lbl_1_bss_30[6], &sp14); - temp_f31 += temp_f29; - BoardModelRotYSet(lbl_1_bss_30[5], temp_f31); - temp_f30 += temp_f28; - BoardModelRotYSet(lbl_1_bss_30[15], temp_f30); - HuPrcVSleep(); - } - sp14.x = sp14.y = sp14.z = 1.0f; - BoardModelScaleSetV(lbl_1_bss_30[6], &sp14); - BoardModelRotYSet(lbl_1_bss_30[5], 0); - BoardModelRotYSet(lbl_1_bss_30[15], 0); - HuPrcEnd(); + Vec sp14; + Vec sp8; + s32 temp_r31; + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + BoardModelMotionTimeSet(lbl_1_bss_30[5], 0); + BoardModelAttrSet(lbl_1_bss_30[5], 0x40000002); + temp_f31 = BoardModelRotYGet(lbl_1_bss_30[5]); + temp_f29 = -temp_f31/20.0f; + temp_f30 = BoardModelRotYGet(lbl_1_bss_30[15]); + temp_f28 = -temp_f30/20.0f; + BoardModelScaleGet(lbl_1_bss_30[6], &sp14); + for(temp_r31=0; temp_r31<10; temp_r31++) { + sp14.x = sp14.y = sp14.z = 1.0f-(temp_r31*0.1f); + if(sp14.x < 0.0f) { + sp14.x = sp14.y = sp14.z = 0.0f; + } + BoardModelScaleSetV(lbl_1_bss_30[6], &sp14); + temp_f31 += temp_f29; + BoardModelRotYSet(lbl_1_bss_30[5], temp_f31); + temp_f30 += temp_f28; + BoardModelRotYSet(lbl_1_bss_30[15], temp_f30); + HuPrcVSleep(); + } + BoardModelPosGet(lbl_1_bss_30[15], &sp8); + sp8.z -= 90.0f; + sp8.y += 50.0f; + BoardModelPosSetV(lbl_1_bss_30[6], &sp8); + for(temp_r31=0; temp_r31<10; temp_r31++) { + sp14.x = sp14.y = sp14.z = temp_r31*0.1f; + if(sp14.x > 1.0f) { + sp14.x = sp14.y = sp14.z = 1.0f; + } + BoardModelScaleSetV(lbl_1_bss_30[6], &sp14); + temp_f31 += temp_f29; + BoardModelRotYSet(lbl_1_bss_30[5], temp_f31); + temp_f30 += temp_f28; + BoardModelRotYSet(lbl_1_bss_30[15], temp_f30); + HuPrcVSleep(); + } + sp14.x = sp14.y = sp14.z = 1.0f; + BoardModelScaleSetV(lbl_1_bss_30[6], &sp14); + BoardModelRotYSet(lbl_1_bss_30[5], 0); + BoardModelRotYSet(lbl_1_bss_30[15], 0); + HuPrcEnd(); } s32 fn_1_E2AC(void) { - switch (GWSystem.star_pos) { - case 0: - return 3; - - case 1: - case 2: - return 0; - - case 3: - case 4: - return 1; - - case 5: - case 6: - case 7: - return 2; - - default: - return -1; - } + switch(GWSystem.star_pos) { + case 0: + return 3; + + case 1: + case 2: + return 0; + + case 3: + case 4: + return 1; + + case 5: + case 6: + case 7: + return 2; + + default: + return -1; + } } /* Rotate (yaw) of model 4 */ -void fn_1_E310(f32 degrees) -{ - Vec spC; +void fn_1_E310(f32 degrees) { + Point3d spC; lbl_1_bss_380 += degrees; if (lbl_1_bss_380 >= 360.0f) { lbl_1_bss_380 -= 360.0f; @@ -808,11 +804,11 @@ void fn_1_E310(f32 degrees) void fn_1_E41C(void) { - lbl_1_bss_388 = GWSystem.player_curr; - OSReport("Roulette Player %d\n", lbl_1_bss_388); - lbl_1_bss_38C = HuPrcChildCreate(fn_1_BCFC, 8195, 8192, 0, boardMainProc); - HuPrcDestructorSet2(lbl_1_bss_38C, (void *)fn_1_BE74); // fn_1_BE74 requires implicit return - while (lbl_1_bss_38C) { - HuPrcVSleep(); - } -} + lbl_1_bss_388 = GWSystem.player_curr; + OSReport("Roulette Player %d\n", lbl_1_bss_388); + lbl_1_bss_38C = HuPrcChildCreate(fn_1_BCFC, 8195, 8192, 0, boardMainProc); + HuPrcDestructorSet2(lbl_1_bss_38C, (void *)fn_1_BE74); //fn_1_BE74 requires implicit return + while(lbl_1_bss_38C) { + HuPrcVSleep(); + } +} \ No newline at end of file diff --git a/src/REL/w02Dll/shuffleboard.c b/src/REL/w02Dll/shuffleboard.c index 27b8a332..2d3d0ff9 100644 --- a/src/REL/w02Dll/shuffleboard.c +++ b/src/REL/w02Dll/shuffleboard.c @@ -25,25 +25,25 @@ s16 lbl_1_bss_1AC; Vec lbl_1_bss_1A0; s32 lbl_1_data_490[8] = { - DATA_MAKE_NUM(DATADIR_W02, 0x2E), - DATA_MAKE_NUM(DATADIR_W02, 0x2F), - DATA_MAKE_NUM(DATADIR_W02, 0x30), - DATA_MAKE_NUM(DATADIR_W02, 0x31), - DATA_MAKE_NUM(DATADIR_W02, 0x32), - DATA_MAKE_NUM(DATADIR_W02, 0x33), - DATA_MAKE_NUM(DATADIR_W02, 0x34), - DATA_MAKE_NUM(DATADIR_W02, 0x35) + 0x0076002E, + 0x0076002F, + 0x00760030, + 0x00760031, + 0x00760032, + 0x00760033, + 0x00760034, + 0x00760035 }; s32 lbl_1_data_4B0[8] = { - DATA_MAKE_NUM(DATADIR_W02, 0x26), - DATA_MAKE_NUM(DATADIR_W02, 0x27), - DATA_MAKE_NUM(DATADIR_W02, 0x28), - DATA_MAKE_NUM(DATADIR_W02, 0x29), - DATA_MAKE_NUM(DATADIR_W02, 0x2A), - DATA_MAKE_NUM(DATADIR_W02, 0x2B), - DATA_MAKE_NUM(DATADIR_W02, 0x2C), - DATA_MAKE_NUM(DATADIR_W02, 0x2D) + 0x00760026, + 0x00760027, + 0x00760028, + 0x00760029, + 0x0076002A, + 0x0076002B, + 0x0076002C, + 0x0076002D }; s32 fn_1_9250(void) @@ -135,9 +135,9 @@ void fn_1_94C0(void) BoardCameraRotSet(-10, -sp10.y); BoardCameraZoomSet(900); BoardStatusShowSetAll(0); - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x13, 0x1C)); + HuWinMesMaxSizeGet(1, sp8, 0x13001C); lbl_1_bss_1AC = HuWinCreate(-10000, 400, sp8[0], sp8[1], 0); - HuWinMesSet(lbl_1_bss_1AC, MAKE_MESSID(0x13, 0x1C)); + HuWinMesSet(lbl_1_bss_1AC, 0x13001C); HuWinBGTPLvlSet(lbl_1_bss_1AC, 0); HuWinMesSpeedSet(lbl_1_bss_1AC, 0); fn_1_9EC4(); @@ -217,7 +217,7 @@ void fn_1_98D8(void) while(!BoardPlayerMotBlendCheck(lbl_1_bss_36E)) { HuPrcVSleep(); } - BoardPlayerMotionShiftSet(lbl_1_bss_36E, lbl_1_bss_1C0[0], 0, 10, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(lbl_1_bss_36E, lbl_1_bss_1C0[0], 0, 10, 0x40000001); HuPrcSleep(20); } @@ -238,7 +238,7 @@ void fn_1_9EC4(void) s32 temp_r31; s32 temp_r30; for(temp_r31=0; temp_r31<15; temp_r31++) { - lbl_1_bss_34C[temp_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x0A), NULL, 1); + lbl_1_bss_34C[temp_r31] = BoardModelCreate(0x7000A, NULL, 1); BoardModelVisibilitySet(lbl_1_bss_34C[temp_r31], 0); lbl_1_bss_1C4[temp_r31] = 1; } @@ -483,7 +483,7 @@ void fn_1_A8E8(void) HuWinKill(lbl_1_bss_1AC); BoardPlayerMotionStart(lbl_1_bss_36E, lbl_1_bss_1C0[1], 0); BoardPlayerMotionEndWait(lbl_1_bss_36E); - BoardPlayerMotionShiftSet(lbl_1_bss_36E, 6, 0, 15, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(lbl_1_bss_36E, 6, 0, 15, 0x40000001); HuPrcSleep(40); BoardAudSeqFadeOut(1, 1000); HuPrcSleep(70); @@ -582,4 +582,4 @@ void fn_1_BB30(void) HuPrcVSleep(); } -} +} \ No newline at end of file diff --git a/src/REL/w03Dll/condor.c b/src/REL/w03Dll/condor.c index c42f53b3..cfc9a13a 100644 --- a/src/REL/w03Dll/condor.c +++ b/src/REL/w03Dll/condor.c @@ -1,23 +1,21 @@ #include "REL/w03Dll.h" -#include "game/board/main.h" -#include "game/board/model.h" -#include "game/board/player.h" -#include "game/board/space.h" -#include "game/board/window.h" #include "game/data.h" +#include "game/board/main.h" +#include "game/board/space.h" +#include "game/board/player.h" +#include "game/board/model.h" +#include "game/board/window.h" -#include "game/hsfdraw.h" #include "game/hsfman.h" +#include "game/hsfdraw.h" #include "game/pad.h" #include "game/wipe.h" -#include "ext_math.h" - -// structs +//structs typedef struct w03UnkStruct5 { - /* 0x00 */ struct { + /* 0x00 */ struct { u8 unk00_bit0 : 1; u8 unk00_bit1 : 2; u8 unk00_bit3 : 1; @@ -29,21 +27,21 @@ typedef struct w03UnkStruct5 { } w03UnkStruct5; typedef struct w03UnkStruct4 { - /* 0x00 */ struct { + /* 0x00 */ struct { u8 unk00_bit0 : 1; - }; + }; } w03UnkStruct4; typedef struct w03StructUnk3 { - /* 0x00 */ s16 unk_00; - /* 0x02 */ s16 model; - /* 0x04 */ f32 unk_04; - /* 0x08 */ Vec unk_08; - /* 0x14 */ Vec unk_14; +/* 0x00 */ s16 unk_00; +/* 0x02 */ s16 model; +/* 0x04 */ f32 unk_04; +/* 0x08 */ Vec unk_08; +/* 0x14 */ Vec unk_14; } w03StructUnk3; typedef struct w03StructUnk2 { - /* 0x00 */ struct { +/* 0x00 */ struct { u8 unkbit_00 : 1; u8 unkbit_01 : 2; u8 unkbit_03 : 1; @@ -54,10 +52,10 @@ typedef struct w03StructUnk2 { u8 unk_03; s16 model; char unk_06[2]; - w03StructUnk3 *unk_08; + w03StructUnk3* unk_08; } w03StructUnk2; -// function signatures +//function signatures void fn_1_313C(void); void fn_1_3218(void); void fn_1_3304(void); @@ -69,40 +67,44 @@ void fn_1_3F5C(s32); void fn_1_4354(s32); void fn_1_48EC(s32); void fn_1_4A9C(void); -void fn_1_50D4(omObjData *arg0); +void fn_1_50D4(omObjData* arg0); void fn_1_5838(s32); -void fn_1_5AC8(omObjData *arg0); -void fn_1_5C5C(omObjData *arg0, w03UnkStruct5 *arg1); -void fn_1_602C(omObjData *arg0, w03UnkStruct5 *arg1); -f32 fn_1_61A4(omObjData *arg0, w03UnkStruct5 *arg1); +void fn_1_5AC8(omObjData* arg0); +void fn_1_5C5C(omObjData* arg0, w03UnkStruct5* arg1); +void fn_1_602C(omObjData* arg0, w03UnkStruct5* arg1); +f32 fn_1_61A4(omObjData* arg0, w03UnkStruct5* arg1); void fn_1_629C(s8 arg0); s32 fn_1_62D0(void); void fn_1_62FC(void); -// bss +//bss float lbl_1_bss_80[20][2]; s8 lbl_1_bss_7D; s8 lbl_1_bss_7C; omObjData *lbl_1_bss_78; omObjData *lbl_1_bss_74; -Process *lbl_1_bss_70; +Process* lbl_1_bss_70; -// data +//data s16 lbl_1_data_310 = -1; s16 lbl_1_data_312 = -1; s16 lbl_1_data_314 = -1; s16 lbl_1_data_316 = -1; -s32 lbl_1_data_318[] = { DATA_MAKE_NUM(DATADIR_W03, 0x0016), DATA_MAKE_NUM(DATADIR_W03, 0x0017), DATA_MAKE_NUM(DATADIR_W03, 0x0018), - DATA_MAKE_NUM(DATADIR_W03, 0x0019), DATA_MAKE_NUM(DATADIR_W03, 0x001A), DATA_NUM_LISTEND }; +s32 lbl_1_data_318[] = { + DATA_MAKE_NUM(DATADIR_W03, 0x0016), + DATA_MAKE_NUM(DATADIR_W03, 0x0017), + DATA_MAKE_NUM(DATADIR_W03, 0x0018), + DATA_MAKE_NUM(DATADIR_W03, 0x0019), + DATA_MAKE_NUM(DATADIR_W03, 0x001A), + DATA_NUM_LISTEND +}; -void fn_1_3058(void) -{ - lbl_1_data_310 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x15), lbl_1_data_318, 0); +void fn_1_3058(void) { + lbl_1_data_310 = BoardModelCreate(0x770015, lbl_1_data_318, 0); fn_1_3304(); } -s32 fn_1_309C(void) -{ +s32 fn_1_309C(void) { BoardRollDispSet(0); lbl_1_bss_70 = HuPrcChildCreate(fn_1_313C, 0x2003U, 0x2000U, 0, boardMainProc); HuPrcDestructorSet2(lbl_1_bss_70, fn_1_3218); @@ -110,13 +112,12 @@ s32 fn_1_309C(void) while (lbl_1_bss_70) { HuPrcVSleep(); } - + BoardRollDispSet(1); return lbl_1_bss_7C; } -void fn_1_313C(void) -{ +void fn_1_313C(void) { s32 temp_r31; temp_r31 = GWSystem.player_curr; @@ -137,8 +138,8 @@ void fn_1_313C(void) HuPrcEnd(); } -void fn_1_3218(void) -{ + +void fn_1_3218(void) { if (lbl_1_data_316 != -1) { HuWinKill(lbl_1_data_316); lbl_1_data_316 = -1; @@ -153,36 +154,34 @@ void fn_1_3218(void) BoardPlayerMotionKill(GWSystem.player_curr, lbl_1_data_312); lbl_1_data_312 = -1; } - + lbl_1_bss_0->unk3 = 0; lbl_1_bss_70 = 0; } -void fn_1_3304(void) -{ + +void fn_1_3304(void) { Vec sp8; f32 temp_f31; s32 var_r31; if (lbl_1_bss_0->unk1 != 0) { var_r31 = BoardSpaceFlagSearch(0, 0x4000); - } - else { + } else { var_r31 = BoardSpaceFlagSearch(0, 0x8000); } var_r31 = BoardSpaceLinkFlagSearch(0, var_r31, 0x02000000); BoardSpacePosGet(0, var_r31, &sp8); temp_f31 = 0.0f; - sp8.x += -300.0 * sind(temp_f31); - sp8.z += -300.0 * cosd(temp_f31); + sp8.x = sp8.x + (-300.0 * sin((M_PI * temp_f31) / 180.0)); + sp8.z = sp8.z + (-300.0 * cos((M_PI * temp_f31) / 180.0)); sp8.y = 45.0f + sp8.y; BoardModelPosSetV(lbl_1_data_310, &sp8); BoardModelMotionStart(lbl_1_data_310, 2, 0x40000001); } -s32 fn_1_3478(s32 arg0) -{ +s32 fn_1_3478(s32 arg0) { Vec sp38; Vec sp2C; Vec sp20; @@ -212,24 +211,24 @@ s32 fn_1_3478(s32 arg0) BoardPlayerPosGet(arg0, &sp2C); temp = BoardSpaceLinkFlagSearch(0, temp_r28, 0x02000000); BoardSpacePosGet(0, temp, &sp38); - VECSubtract(&sp38, &sp2C, &sp20); - float_temp = atan2d(sp20.x, sp20.z); + PSVECSubtract(&sp38, &sp2C, &sp20); + float_temp = atan2(sp20.x, sp20.z) / M_PI * 180.0f; BoardPlayerMotBlendSet(arg0, (float_temp), 0xF); - + while (BoardPlayerMotBlendCheck(arg0) == 0) { HuPrcVSleep(); } - + BoardPlayerIdleSet(arg0); HuAudFXPlay(0x447); - BoardModelMotionShiftSet(lbl_1_data_310, 4, 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_data_310, 4, 0.0f, 5.0f, 0); HuPrcSleep(6); - + while (BoardModelMotionEndCheck(lbl_1_data_310) == 0) { HuPrcVSleep(); } - - BoardModelMotionShiftSet(lbl_1_data_310, 1, 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + + BoardModelMotionShiftSet(lbl_1_data_310, 1, 0.0f, 5.0f, 0x40000001); temp_r26 = BoardPlayerGetCharMess(arg0); BoardWinCreate(2, MAKE_MESSID(22, 16), 8); BoardWinInsertMesSet(temp_r26, 3); @@ -246,26 +245,26 @@ s32 fn_1_3478(s32 arg0) while (var_r29 == 0) { BoardWinCreateChoice(2, MAKE_MESSID(22, 17), 8, 0); BoardWinAttrSet(0x10); - + if (GWPlayer[arg0].com != 0) { fn_1_4354(arg0); } - + BoardWinWait(); BoardWinKill(); switch (BoardWinChoiceGet()) { - case 0: - var_r29 = 1; - break; - case 2: - BoardViewMapExec(arg0); - break; - default: - case 1: - BoardWinCreate(2, MAKE_MESSID(22, 20), 8); - BoardWinWait(); - BoardWinKill(); - return 0; + case 0: + var_r29 = 1; + break; + case 2: + BoardViewMapExec(arg0); + break; + default: + case 1: + BoardWinCreate(2, MAKE_MESSID(22, 20), 8); + BoardWinWait(); + BoardWinKill(); + return 0; } } @@ -274,7 +273,7 @@ s32 fn_1_3478(s32 arg0) for (j = 0; j < 5; j++) { BoardPlayerCoinsAdd(arg0, -1); HuAudFXPlay(14); - HuPrcSleep(6); + HuPrcSleep(6); } HuAudFXPlay(15); @@ -282,20 +281,19 @@ s32 fn_1_3478(s32 arg0) return 1; } -void fn_1_3814(s32 arg0) -{ +void fn_1_3814(s32 arg0) { Vec sp14; Vec sp8; f32 temp; - BoardModelMotionShiftSet(lbl_1_data_310, 2, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_data_310, 2, 0.0f, 10.0f, 0x40000001); temp = (180.0f + BoardPlayerRotYGet(arg0)); BoardPlayerMotBlendSet(arg0, temp, 0xF); - + while (BoardPlayerMotBlendCheck(arg0) == 0) { HuPrcVSleep(); } - + BoardCameraViewSet(1); BoardCameraTargetPlayerSet(arg0); @@ -312,21 +310,18 @@ void fn_1_3814(s32 arg0) BoardCameraMotionWait(); } -void fn_1_3968(s32 arg0) -{ +void fn_1_3968(s32 arg0) { s32 var_r29 = 0; s32 var_r28 = 0; - s32 sp48[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x65), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x65), DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x65), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x65), DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x65), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x65), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x65), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x65) }; + s32 sp48[] = {0x005F0065, 0x001A0065, 0x006D0065, 0x008A0065, 0x00850065, 0x00110065, 0x000D0065, 0x00810065}; Vec sp3C; Vec sp30; Vec sp24; Vec sp18; - s32 sp10[2] = { 0x00770013, 0x00770014 }; + s32 sp10[2] = {0x00770013, 0x00770014}; f32 spC; s16 sp8; - + f32 temp_f30; f32 temp_f28; f32 temp_f31; @@ -337,26 +332,26 @@ void fn_1_3968(s32 arg0) lbl_1_data_314 = BoardModelCreate(sp10[lbl_1_bss_0->unk1], NULL, 0); character = GWPlayer[arg0].character; lbl_1_data_312 = BoardPlayerMotionCreate(arg0, sp48[character]); - + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_data_310), "itemhook_oya", &sp3C); BoardPlayerPosGet(arg0, &sp30); temp_f30 = BoardVecDistXZCalc(&sp3C, &sp30); - VECSubtract(&sp3C, &sp30, &sp24); - VECNormalize(&sp24, &sp24); - VECScale(&sp24, &sp24, temp_f30 / 45.0f); - BoardPlayerMotionShiftSet(arg0, 4, 0.0f, 5.0f, HU3D_MOTATTR_NONE); + PSVECSubtract(&sp3C, &sp30, &sp24); + PSVECNormalize(&sp24, &sp24); + PSVECScale(&sp24, &sp24, temp_f30 / 45.0f); + BoardPlayerMotionShiftSet(arg0, 4, 0.0f, 5.0f, 0); HuPrcSleep(5); - + spC = BoardPlayerRotYGet(arg0); temp_f27 = 180.0f + spC; var_r29 = 0; sp8 = 0; temp_f28 = 40.0f; - + while (1) { temp_f31 = __OSs16tof32(&sp8); sp24.y = temp_f28 + (-0.08166667f * (0.75f * (temp_f31 * temp_f31))); - VECAdd(&sp30, &sp24, &sp30); + PSVECAdd(&sp30, &sp24, &sp30); temp_f30 = BoardVecDistXZCalc(&sp3C, &sp30); if (temp_f30 < 5.0f) { @@ -364,17 +359,16 @@ void fn_1_3968(s32 arg0) sp30.x = sp3C.x; sp30.z = sp3C.z; } - + if (var_r29 == 0) { if (sp3C.y < sp30.y) { var_r29 = 1; } - } - else { + } else { BoardDAngleCalcRange(&spC, temp_f27, 5.142857f); BoardPlayerRotYSet(arg0, spC); } - + if (sp30.y <= sp3C.y && var_r29 != 0) { sp30.y = sp3C.y; break; @@ -382,40 +376,39 @@ void fn_1_3968(s32 arg0) BoardPlayerPosSetV(arg0, &sp30); HuPrcVSleep(); - sp8 += 1; + sp8 += 1; } - + BoardMusStart(1, 0x18, 0x7F, 0); BoardPlayerPosSet(arg0, 0.0f, 0.0f, 0.0f); - - BoardModelHookSet(lbl_1_data_310, "itemhook_oya", BoardPlayerModelGet(arg0)); + + + BoardModelHookSet(lbl_1_data_310, "itemhook_oya", BoardPlayerModelGet(arg0)); BoardPlayerMotionStart(arg0, lbl_1_data_312, 0x40000001); HuAudFXPlay(0x44F); - BoardModelMotionShiftSet(lbl_1_data_310, 5, 0.0f, 5.0f, HU3D_MOTATTR_NONE); - + BoardModelMotionShiftSet(lbl_1_data_310, 5, 0.0f, 5.0f, 0); + sp18.x = -15.0f; sp18.y = 180.0f; sp18.z = 0.0f; - + BoardCameraMotionStartEx(lbl_1_data_310, &sp18, NULL, 4000.0f, -1.0f, 336); - - for (var_r28 = 0, sp8 = 0;; sp8++) { + + for (var_r28 = 0, sp8 = 0; ; sp8++) { if (var_r28 == 0) { if (sp8 == 0x78U) { WipeColorSet(0, 0, 0); WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); var_r28 = 1; } - } - else if (WipeStatGet() == 0) { + } else if (WipeStatGet() == 0) { break; } HuPrcVSleep(); } } -void fn_1_3E88(s32 arg0) -{ +void fn_1_3E88(s32 arg0) { lbl_1_bss_7D = 0; fn_1_48EC(arg0); fn_1_5838(arg0); @@ -440,8 +433,7 @@ void fn_1_3E88(s32 arg0) BoardAudSeqPause(0, 0, 0x3E8); } -void fn_1_3F5C(s32 arg0) -{ +void fn_1_3F5C(s32 arg0) { Mtx sp38; Vec sp2C; Vec sp20; @@ -455,8 +447,7 @@ void fn_1_3F5C(s32 arg0) if (lbl_1_bss_0->unk1 != 0) { lbl_1_bss_0->unk1 = 0; var_r30 = BoardSpaceFlagSearch(0, 0x8000); - } - else { + } else { lbl_1_bss_0->unk1 = 1; var_r30 = BoardSpaceFlagSearch(0, 0x4000); } @@ -467,22 +458,21 @@ void fn_1_3F5C(s32 arg0) if (lbl_1_bss_0->unk1 != 0) { var_r31 = BoardSpaceFlagSearch(0, 0x4000); - } - else { + } else { var_r31 = BoardSpaceFlagSearch(0, 0x8000); } var_r31 = BoardSpaceLinkFlagSearch(0, var_r31, 0x02000000); BoardSpacePosGet(0, var_r31, &sp8); temp_f31 = 0.0f; - sp8.x += -300.0 * sind(temp_f31); - sp8.z += -300.0 * cosd(temp_f31); + sp8.x = (sp8.x + (-300.0 * sin((M_PI * temp_f31) / 180.0f))); + sp8.z = (sp8.z + (-300.0 * cos((M_PI * temp_f31) / 180.0f))); sp8.y = 45.0f + sp8.y; BoardModelPosSetV(lbl_1_data_310, &sp8); BoardModelMotionStart(lbl_1_data_310, 2, 0x40000001); BoardModelMotionStart(lbl_1_data_310, 1, 0x40000001); BoardModelRotYSet(lbl_1_data_310, 0.0f); - MTXIdentity(sp38); + PSMTXIdentity(sp38); BoardModelMtxSet(lbl_1_data_310, &sp38); sp20.x = 0.0f; @@ -516,21 +506,19 @@ void fn_1_3F5C(s32 arg0) BoardWinKill(); } -void fn_1_4354(s32 arg0) -{ +void fn_1_4354(s32 arg0) { s32 sp8; s32 starPos; s32 var_r30; var_r30 = 0; starPos = GWSystem.star_pos; - + if (lbl_1_bss_0->unk1 != 0) { if ((starPos == 1) || (starPos == 2) || (starPos == 3) || (starPos == 4)) { var_r30 = 1; } - } - else if ((starPos == 0) || (starPos == 5) || (starPos == 6) || (starPos == 7)) { + } else if ((starPos == 0) || (starPos == 5) || (starPos == 6) || (starPos == 7)) { var_r30 = 1; } @@ -546,10 +534,12 @@ void fn_1_4354(s32 arg0) BoardComKeySetRight(); } -char *lbl_1_data_34C[] = { "jyanA", "jyanB" }; +char *lbl_1_data_34C[] = { + "jyanA", + "jyanB" +}; -void fn_1_4424(w03StructUnk2 *arg0) -{ +void fn_1_4424(w03StructUnk2* arg0) { Mtx sp108; Mtx spD8; Mtx spA8; @@ -572,9 +562,9 @@ void fn_1_4424(w03StructUnk2 *arg0) f32 sp10; f32 sp10_2; s16 i; - char *temp_r22; - w03StructUnk3 *temp_r27; - ModelData *temp_r28; + char* temp_r22; + w03StructUnk3* temp_r27; + ModelData* temp_r28; memset(&lbl_1_bss_80, 0, 0xA0); sp48.x = sp54.x = 0.0f; @@ -585,13 +575,12 @@ void fn_1_4424(w03StructUnk2 *arg0) BoardSpaceFlagPosGet(0, 0x8000U, &sp60); if (lbl_1_bss_0->unk1 != 0) { - VECSubtract(&sp6C, &sp60, &sp3C); - } - else { - VECSubtract(&sp60, &sp6C, &sp3C); + PSVECSubtract(&sp6C, &sp60, &sp3C); + } else { + PSVECSubtract(&sp60, &sp6C, &sp3C); } - sp10_2 = atan2d(-sp3C.x, -sp3C.z); + sp10_2 = 180.0f * (atan2(-sp3C.x, -sp3C.z) / M_PI); BoardModelMotionStart(lbl_1_data_314, 0, 0U); BoardModelMotionSpeedSet(lbl_1_data_314, 8.0f); HuPrcSleep(1); @@ -606,31 +595,31 @@ void fn_1_4424(w03StructUnk2 *arg0) for (i = var_r25 = 0; i < 20;) { Hu3DMotionExec(temp_r23, temp_r28->unk_08, temp_r28->unk_64, 0); Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_data_314), temp_r22, &sp54); - temp_r28->unk_64 += temp_r28->unk_68; + temp_r28->unk_64 = (f32) (temp_r28->unk_64 + temp_r28->unk_68); if (temp_r28->unk_64 > 400.0f) { break; } - - if (var_r25 % 4 == 0 && ((s16)var_r25 != 0)) { + + if (var_r25 % 4 == 0 && ((s16) var_r25 != 0)) { temp_r27 = &arg0->unk_08[i]; temp_r27->unk_00 = 1; temp_f30 = (0.5f - BoardRandFloat()) * 90; OSf32tos16(&temp_f30, &sp8); sp8 = (sp8 / 10) * 10; OSs16tof32(&sp8, &temp_f30); - lbl_1_bss_80[i + 1][0] = temp_f30; - lbl_1_bss_80[i + 1][1] = temp_r28->unk_64; + lbl_1_bss_80[i+1][0] = temp_f30; + lbl_1_bss_80[i+1][1] = temp_r28->unk_64; sp30 = sp48; sp18 = sp54; BoardMTXCalcLookAt(spA8, &sp18, &sp24, &sp30); - MTXTranspose(spA8, spA8); + PSMTXTranspose(spA8, spA8); MTXRotDeg(spD8, 'z', temp_f30); - MTXTrans(sp108, 0.0f, -350.0f, 0.0f); - MTXConcat(spD8, sp108, sp108); - MTXConcat(spA8, sp108, sp108); - MTXTrans(sp78, sp54.x, sp54.y, sp54.z); - MTXConcat(sp78, sp108, sp78); + PSMTXTrans(sp108, 0.0f, -350.0f, 0.0f); + PSMTXConcat(spD8, sp108, sp108); + PSMTXConcat(spA8, sp108, sp108); + PSMTXTrans(sp78, sp54.x, sp54.y, sp54.z); + PSMTXConcat(sp78, sp108, sp78); Hu3DMtxTransGet(sp78, &temp_r27->unk_08); BoardModelPosSetV(temp_r27->model, &temp_r27->unk_08); BoardModelVisibilitySet(temp_r27->model, 1); @@ -643,13 +632,12 @@ void fn_1_4424(w03StructUnk2 *arg0) arg0->unk_03 = i; } -void fn_1_48EC(s32 arg0) -{ +void fn_1_48EC(s32 arg0) { Vec spC; - omObjData *obj; + omObjData* obj; s32 i; - w03StructUnk2 *temp_r31; - w03StructUnk3 *temp_r30; + w03StructUnk2* temp_r31; + w03StructUnk3* temp_r30; obj = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, fn_1_50D4); lbl_1_bss_74 = obj; @@ -660,9 +648,9 @@ void fn_1_48EC(s32 arg0) temp_r31->unkbit_04 = 0; temp_r31->unk_02 = -1; temp_r31->unkbit_01 = arg0; - temp_r31->unk_08 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xA00, MEMORY_DEFAULT_NUM); + temp_r31->unk_08 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xA00, 0x10000000U); Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_C[2]), "coin", &spC); - temp_r31->model = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x07), NULL, 0); + temp_r31->model = BoardModelCreate(0x770007, NULL, 0); BoardModelVisibilitySet(temp_r31->model, 0); BoardModelPosSetV(temp_r31->model, &spC); BoardModelLayerSet(temp_r31->model, 2U); @@ -670,26 +658,24 @@ void fn_1_48EC(s32 arg0) for (i = 0; i < 80; i++) { temp_r30 = &temp_r31->unk_08[i]; - temp_r30->model = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x09), 0, 1); + temp_r30->model = BoardModelCreate(0x70009, 0, 1); BoardModelVisibilitySet(temp_r30->model, 0); - BoardModelMotionStart(temp_r30->model, 0, 0x40000001U); + BoardModelMotionStart(temp_r30->model, 0, 0x40000001U); } - + fn_1_4424(temp_r31); } -void fn_1_4A9C(void) -{ +void fn_1_4A9C(void) { OM_GET_WORK_PTR(lbl_1_bss_74, w03UnkStruct4)->unk00_bit0 = 1; } -void fn_1_4ABC(w03StructUnk2 *arg0) -{ +void fn_1_4ABC(w03StructUnk2* arg0) { Vec sp8; f32 temp_f31; - w03StructUnk3 *temp_r31; + w03StructUnk3* temp_r31; s32 i; - + BoardModelPosGet(lbl_1_data_310, &sp8); sp8.y += 250.0f; @@ -705,10 +691,10 @@ void fn_1_4ABC(w03StructUnk2 *arg0) HuAudFXPlay(7); } BoardModelPosSetV(temp_r31->model, &temp_r31->unk_08); - } + } } - // reg alloc hack + //reg alloc hack (void)i; (void)i; @@ -719,30 +705,27 @@ void fn_1_4ABC(w03StructUnk2 *arg0) if (temp_r31->unk_00 == 1) { temp_r31->unk_04 += 1.0f; temp_f31 = 0.8f * (temp_r31->unk_04 * temp_r31->unk_04); - VECAdd(&temp_r31->unk_14, &temp_r31->unk_08, &temp_r31->unk_08); + PSVECAdd(&temp_r31->unk_14, &temp_r31->unk_08, &temp_r31->unk_08); temp_r31->unk_08.y += -0.0375f * temp_f31; if (temp_r31->unk_08.y < -300.0f) { temp_r31->unk_00 = -1; BoardModelVisibilitySet(temp_r31->model, 0); - } - else if (BoardVecMinDistCheck(&sp8, &temp_r31->unk_08, 200.0f) != 0) { + } else if (BoardVecMinDistCheck(&sp8, &temp_r31->unk_08, 200.0f) != 0) { temp_r31->unk_00 = -1; BoardModelVisibilitySet(temp_r31->model, 0); BoardPlayerCoinsAdd(arg0->unkbit_01, 1); CharModelLayerSetAll(2); CharModelCoinEffectCreate(1, &temp_r31->unk_08); HuAudFXPlay(7); - } - else { + } else { BoardModelPosSetV(temp_r31->model, &temp_r31->unk_08); } - } + } } } -s32 fn_1_4D0C(w03StructUnk3 **arg0, s16 *arg1) -{ - w03StructUnk2 *temp_r31; +s32 fn_1_4D0C(w03StructUnk3** arg0, s16* arg1) { + w03StructUnk2* temp_r31; if (!(lbl_1_bss_74)) { return 0; @@ -754,14 +737,13 @@ s32 fn_1_4D0C(w03StructUnk3 **arg0, s16 *arg1) return 1; } -void fn_1_4D60(w03StructUnk2 *arg0) -{ +void fn_1_4D60(w03StructUnk2* arg0) { Vec sp8; f32 temp_f31; f32 temp_f30; s32 i; s32 j; - w03StructUnk3 *temp_r31; + w03StructUnk3* temp_r31; if (arg0->unk_02 == 1) { Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_C[2]), "coin", &sp8); @@ -772,9 +754,9 @@ void fn_1_4D60(w03StructUnk2 *arg0) temp_r31->unk_00 = 1; temp_f31 = 360.0f * BoardRandFloat(); temp_f30 = 5.0f * BoardRandFloat(); - temp_r31->unk_14.x = temp_f30 * sind(temp_f31); + temp_r31->unk_14.x = temp_f30 * sin((M_PI * temp_f31) / 180.0); temp_r31->unk_14.y = 50.0f + (20.0f * BoardRandFloat()); - temp_r31->unk_14.z = temp_f30 * cosd(temp_f31); + temp_r31->unk_14.z = temp_f30 * cos((M_PI * temp_f31) / 180.0); temp_r31->unk_08.x = sp8.x; temp_r31->unk_08.y = sp8.y; temp_r31->unk_08.z = sp8.z; @@ -787,23 +769,20 @@ void fn_1_4D60(w03StructUnk2 *arg0) } } -void fn_1_4F24(w03StructUnk2 *arg0) -{ +void fn_1_4F24(w03StructUnk2* arg0) { s32 var_r30 = 0; - s32 sp8[4] = { 5, 10, 30, 40 }; + s32 sp8[4] = {5, 10, 30, 40}; s32 temp_r29; s32 temp_r28; - + if (arg0->unk_02 == -1) { if (GWTeamGet()) { if (GWPlayer[arg0->unkbit_01].rank == 0) { var_r30 = 5; - } - else if (GWPlayer[arg0->unkbit_01].rank == 1) { + } else if (GWPlayer[arg0->unkbit_01].rank == 1) { var_r30 = 20; } - } - else { + } else { var_r30 = sp8[GWPlayer[arg0->unkbit_01].rank]; } @@ -813,28 +792,25 @@ void fn_1_4F24(w03StructUnk2 *arg0) if (temp_r29 < var_r30) { if (temp_r28 < 30) { arg0->unk_02 = 2; - } - else { + } else { arg0->unk_02 = 1; } - } - else { + } else { arg0->unk_02 = 0; } if (arg0->unk_02 != 0) { - BoardModelMotionShiftSet(lbl_1_bss_C[2], 0, 101.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_bss_C[2], 0, 101.0f, 10.0f, 0); } } } -void fn_1_50D4(omObjData *arg0) -{ +void fn_1_50D4(omObjData* arg0) { Vec sp50; Vec sp44; Vec sp38; - PlayerState *sp18; - PlayerState *sp14; + PlayerState* sp18; + PlayerState* sp14; s16 sp10[2]; s16 spC[2]; f32 temp_f31; @@ -843,12 +819,12 @@ void fn_1_50D4(omObjData *arg0) s32 i, j, k; s32 temp_r22; s32 temp_r23; - w03StructUnk3 *temp_r30; - w03StructUnk2 *temp_r31; - w03StructUnk3 *temp; + w03StructUnk3* temp_r30; + w03StructUnk2* temp_r31; + w03StructUnk3* temp; temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_74, w03StructUnk2); - + if ((temp_r31->unkbit_00 != 0) || (BoardIsKill() != 0)) { for (i = 0; i < 80; i++) { temp = &temp_r31->unk_08[i]; @@ -858,26 +834,28 @@ void fn_1_50D4(omObjData *arg0) for (i = 0; i < 4; i++) { BoardModelVisibilitySet(BoardPlayerModelGet(i), 1); } - + BoardModelKill(temp_r31->model); HuMemDirectFree(temp_r31->unk_08); lbl_1_bss_74 = 0; omDelObjEx(HuPrcCurrentGet(), arg0); return; } - + if (lbl_1_data_314 != -1) { temp_f31 = BoardModelMotionTimeGet(lbl_1_data_314); if (temp_r31->unk_01 == 0) { - if ((lbl_1_bss_0->unk1 != 0) && ((temp_f31 >= 212.0f)) || (lbl_1_bss_0->unk1 == 0) && ((temp_f31 >= 86.0f))) { - + if ((lbl_1_bss_0->unk1 != 0) && + ((temp_f31 >= 212.0f)) || + (lbl_1_bss_0->unk1 == 0) && + ((temp_f31 >= 86.0f))) { + temp_r31->unk_01 = 1; } - } - else { + } else { fn_1_4F24(temp_r31); } - + if (temp_r31->unk_01 != 0) { if (BoardModelMotionEndCheck(lbl_1_bss_C[2]) != 0) { BoardModelMotionStart(lbl_1_bss_C[2], 0, 0x40000001); @@ -887,13 +865,12 @@ void fn_1_50D4(omObjData *arg0) BoardModelVisibilitySet(temp_r31->model, 0); } } - + if (BoardModelMotionTimeGet(lbl_1_bss_C[2]) >= 170.0f) { if (temp_r31->unkbit_04 == 0) { if (temp_r31->unkbit_03 == 0) { HuAudFXPlay(0x43C); - } - else { + } else { HuAudFXPlay(0x43D); } temp_r31->unkbit_04 = 1; @@ -901,26 +878,24 @@ void fn_1_50D4(omObjData *arg0) if (temp_r31->unk_02 == 1) { omVibrate(GWSystem.player_curr, 0xC, 4, 2); fn_1_4D60(temp_r31); - } - else if ((temp_r31->unk_02 == 2) && (temp_r31->unkbit_03 == 0)) { + } else if ((temp_r31->unk_02 == 2) && (temp_r31->unkbit_03 == 0)) { omVibrate(GWSystem.player_curr, 0xC, 0xC, 0); BoardModelVisibilitySet(temp_r31->model, 1); BoardModelMotionStart(temp_r31->model, 0, 0); temp_r31->unkbit_03 = 1; } } - + fn_1_4ABC(temp_r31); - + for (i = 0; i < 4; i++) { if (i != GWSystem.player_curr) { BoardPlayerPosGet(i, &sp50); BoardModelPosGet(lbl_1_data_310, &sp44); - VECSubtract(&sp50, &sp44, &sp38); - if (VECMag(&sp38) >= 2000.0f) { + PSVECSubtract(&sp50, &sp44, &sp38); + if (PSVECMag(&sp38) >= 2000.0f) { BoardModelVisibilitySet(BoardPlayerModelGet(i), 0); - } - else { + } else { BoardModelVisibilitySet(BoardPlayerModelGet(i), 1); } } @@ -928,12 +903,11 @@ void fn_1_50D4(omObjData *arg0) } } -void fn_1_5838(s32 arg0) -{ +void fn_1_5838(s32 arg0) { Vec sp18; Vec spC; - omObjData *obj; - w03UnkStruct5 *temp_r31; + omObjData* obj; + w03UnkStruct5* temp_r31; obj = omAddObjEx(boardObjMan, 0x7E01, 0, 0, -1, &fn_1_5AC8); lbl_1_bss_78 = obj; @@ -944,18 +918,18 @@ void fn_1_5838(s32 arg0) temp_r31->unk00_bit3 = 0; switch (GWPlayer[temp_r31->unk00_bit1].diff) { - case 0: - temp_r31->unk_08 = (-15.0f + (-30.0f * BoardRandFloat())); - break; - case 1: - temp_r31->unk_08 = (-5.0f + (-10.0f * BoardRandFloat())); - break; - case 2: - temp_r31->unk_08 = (-2.0f + (-5.0f * BoardRandFloat())); - break; - case 3: - temp_r31->unk_08 = 0.0f; - break; + case 0: + temp_r31->unk_08 = (-15.0f + (-30.0f * BoardRandFloat())); + break; + case 1: + temp_r31->unk_08 = (-5.0f + (-10.0f * BoardRandFloat())); + break; + case 2: + temp_r31->unk_08 = (-2.0f + (-5.0f * BoardRandFloat())); + break; + case 3: + temp_r31->unk_08 = 0.0f; + break; } BoardCameraMoveSet(0); @@ -976,10 +950,9 @@ void fn_1_5838(s32 arg0) BoardCameraTargetModelSet(-1); } -void fn_1_5AC8(omObjData *arg0) -{ +void fn_1_5AC8(omObjData* arg0) { s32 temp_r0; - w03UnkStruct5 *temp_r31; + w03UnkStruct5* temp_r31; temp_r31 = OM_GET_WORK_PTR(arg0, w03UnkStruct5); @@ -998,29 +971,32 @@ void fn_1_5AC8(omObjData *arg0) } switch (temp_r31->unk00_bit4) { - case 1: - if (lbl_1_bss_7D != 0) { - fn_1_629C(2); - fn_1_62FC(); - BoardCameraTargetModelSet(lbl_1_data_310); - BoardCameraMoveSet(1); - } - break; - case 2: - fn_1_5C5C(arg0, (w03UnkStruct5 *)temp_r31); - break; - case 3: - BoardCameraTargetModelSet(-1); - BoardCameraMoveSet(0); - temp_r31->unk00_bit0 = 1; - break; + case 1: + if (lbl_1_bss_7D != 0) { + fn_1_629C(2); + fn_1_62FC(); + BoardCameraTargetModelSet(lbl_1_data_310); + BoardCameraMoveSet(1); + + } + break; + case 2: + fn_1_5C5C(arg0, (w03UnkStruct5* ) temp_r31); + break; + case 3: + BoardCameraTargetModelSet(-1); + BoardCameraMoveSet(0); + temp_r31->unk00_bit0 = 1; + break; } } -char *lbl_1_data_35C[] = { "jyanA", "jyanB" }; +char *lbl_1_data_35C[] = { + "jyanA", + "jyanB" +}; -void fn_1_5C5C(omObjData *arg0, w03UnkStruct5 *arg1) -{ +void fn_1_5C5C(omObjData* arg0, w03UnkStruct5* arg1) { Mtx sp110; Mtx spE0; Mtx spB0; @@ -1033,8 +1009,8 @@ void fn_1_5C5C(omObjData *arg0, w03UnkStruct5 *arg1) Vec sp14; Vec sp8; s16 temp_r3; - char *temp_r27; - ModelData *temp_r30; + char* temp_r27; + ModelData* temp_r30; if (((WipeStatGet() == 0) && (arg1->unk00_bit3) || (BoardModelMotionEndCheck(lbl_1_data_314) != 0))) { fn_1_629C(3); @@ -1060,9 +1036,8 @@ void fn_1_5C5C(omObjData *arg0, w03UnkStruct5 *arg1) Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_data_314), temp_r27, &sp44); if (0.0f != temp_r30->unk_64) { - VECSubtract(&sp38, &sp44, &sp2C); - } - else { + PSVECSubtract(&sp38, &sp44, &sp2C); + } else { sp2C.x = sp2C.y = sp2C.z = 0.0f; } @@ -1078,31 +1053,29 @@ void fn_1_5C5C(omObjData *arg0, w03UnkStruct5 *arg1) sp20.y = 1.0f; BoardMTXCalcLookAt(sp110, &sp14, &sp20, &sp8); - MTXTranspose(sp110, sp110); + PSMTXTranspose(sp110, sp110); MTXRotDeg(spE0, 'z', -arg1->unk_04); - MTXTrans(sp50, 0.0f, -600.0f, 0.0f); - MTXConcat(spE0, sp50, sp50); - MTXConcat(sp110, sp50, sp50); - MTXTrans(sp80, sp44.x, sp44.y, sp44.z); - MTXConcat(sp80, sp50, sp80); + PSMTXTrans(sp50, 0.0f, -600.0f, 0.0f); + PSMTXConcat(spE0, sp50, sp50); + PSMTXConcat(sp110, sp50, sp50); + PSMTXTrans(sp80, sp44.x, sp44.y, sp44.z); + PSMTXConcat(sp80, sp50, sp80); Hu3DMtxTransGet(sp80, &sp44); - MTXRotDeg(spB0, 'y', atan2d(-sp2C.x, -sp2C.z)); - MTXConcat(spB0, spE0, sp110); + MTXRotDeg(spB0, 'y', (180.0 * (atan2(-sp2C.x, -sp2C.z) / M_PI))); + PSMTXConcat(spB0, spE0, sp110); BoardModelMtxSet(lbl_1_data_310, &sp110); BoardModelPosSetV(lbl_1_data_310, &sp44); - BoardCameraRotSet(-20.0f, atan2d(sp2C.x, sp2C.z)); + BoardCameraRotSet(-20.0f, (180.0 * (atan2(sp2C.x, sp2C.z) / M_PI))); } -void fn_1_602C(omObjData *arg0, w03UnkStruct5 *arg1) -{ +void fn_1_602C(omObjData* arg0, w03UnkStruct5* arg1) { f32 temp_f31 = 0.0f; f32 var_f30; f32 var_f29; if (GWPlayer[arg1->unk00_bit1].com == 0) { var_f30 = HuPadStkX[GWPlayer[arg1->unk00_bit1].port]; - } - else { + } else { var_f30 = fn_1_61A4(arg0, arg1); } @@ -1110,8 +1083,7 @@ void fn_1_602C(omObjData *arg0, w03UnkStruct5 *arg1) if (temp_f31 < 0.0f) { var_f29 = -temp_f31; - } - else { + } else { var_f29 = temp_f31; } @@ -1123,14 +1095,13 @@ void fn_1_602C(omObjData *arg0, w03UnkStruct5 *arg1) BoardDAngleCalcRange(&arg1->unk_04, temp_f31, 1.0f); } -f32 fn_1_61A4(omObjData *arg0, w03UnkStruct5 *arg1) -{ - w03StructUnk3 *sp8; +f32 fn_1_61A4(omObjData* arg0, w03UnkStruct5* arg1) { + w03StructUnk3* sp8; f32 temp_f31; s16 i; - w03StructUnk2 *temp_r29; + w03StructUnk2* temp_r29; s16 var_r28; - f32 *temp_r31; + f32* temp_r31; if (lbl_1_bss_74) { temp_r29 = OM_GET_WORK_PTR(lbl_1_bss_74, w03StructUnk2); @@ -1145,31 +1116,28 @@ f32 fn_1_61A4(omObjData *arg0, w03UnkStruct5 *arg1) temp_r31 = lbl_1_bss_80[i]; if ((temp_r31[1] < temp_f31) && (temp_r31[3] > temp_f31)) { return -1.5f * temp_r31[2]; - } + } } - + return 0.0f; } -void fn_1_629C(s8 arg0) -{ - w03UnkStruct5 *temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_78, w03UnkStruct5); +void fn_1_629C(s8 arg0) { + w03UnkStruct5* temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_78, w03UnkStruct5); temp_r31->unk00_bit4 = arg0; } -s32 fn_1_62D0(void) -{ - w03UnkStruct5 *temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_78, w03UnkStruct5); +s32 fn_1_62D0(void) { + w03UnkStruct5* temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_78, w03UnkStruct5); return temp_r31->unk00_bit4; } -void fn_1_62FC(void) -{ +void fn_1_62FC(void) { f32 widthHeight[2]; - s32 messageID = DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x05); + s32 messageID = 0x000D0005; f32 x; f32 y; - + HuWinMesMaxSizeGet(1, widthHeight, messageID); x = -10000.0f; y = 392.0f; diff --git a/src/REL/w03Dll/main.c b/src/REL/w03Dll/main.c index a721d95b..3127700f 100644 --- a/src/REL/w03Dll/main.c +++ b/src/REL/w03Dll/main.c @@ -125,24 +125,24 @@ void BoardCreate(void) { lbl_1_bss_0 = (w03State*)&GWSystem.board_data; lbl_1_bss_0->unk3 = 0; - BoardSpaceInit(DATA_MAKE_NUM(DATADIR_W03, 0x00)); + BoardSpaceInit(0x770000); - lbl_1_data_1E0 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x01), NULL, 0); + lbl_1_data_1E0 = BoardModelCreate(0x770001, NULL, 0); fn_8006DDE8(lbl_1_data_1E0, -1.0f); BoardModelPosSet(lbl_1_data_1E0, 0.0f, 0.0f, 0.0f); BoardModelMotionStart(lbl_1_data_1E0, 0, 0x40000001); - lbl_1_data_1E8 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x03), NULL, 0); + lbl_1_data_1E8 = BoardModelCreate(0x770003, NULL, 0); fn_8006DDE8(lbl_1_data_1E8, -1.0f); BoardModelPosSet(lbl_1_data_1E8, 0.0f, 0.0f, 0.0f); BoardModelLayerSet(lbl_1_data_1E8, 2); - lbl_1_data_1E2 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x02), NULL, 0); + lbl_1_data_1E2 = BoardModelCreate(0x770002, NULL, 0); fn_8006DDE8(lbl_1_data_1E2, -1.0f); BoardModelPosSet(lbl_1_data_1E2, 0.0f, 0.0f, 0.0f); BoardModelMotionStart(lbl_1_data_1E2, 0, 0x40000001); - lbl_1_data_1E4 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x1B), lbl_1_data_20C, 0); + lbl_1_data_1E4 = BoardModelCreate(0x77001B, lbl_1_data_20C, 0); BoardModelPosSet(lbl_1_data_1E4, 0.0f, 0.0f, 0.0f); BoardModelMotionStart(lbl_1_data_1E4, 1, 0x40000001); @@ -473,4 +473,4 @@ void fn_1_10E4(omObjData* arg0) { } HuAudFXListnerUpdate(&sp14, &sp8); -} +} \ No newline at end of file diff --git a/src/REL/w03Dll/mg_coin.c b/src/REL/w03Dll/mg_coin.c index dc05b755..fa2cb7dc 100644 --- a/src/REL/w03Dll/mg_coin.c +++ b/src/REL/w03Dll/mg_coin.c @@ -1,19 +1,17 @@ -#include "REL/w03Dll.h" #include "dolphin.h" +#include "game/chrman.h" +#include "game/object.h" +#include "REL/w03Dll.h" #include "game/board/main.h" #include "game/board/model.h" #include "game/board/player.h" #include "game/board/space.h" -#include "game/chrman.h" -#include "game/hsfdraw.h" #include "game/minigame_seq.h" -#include "game/object.h" +#include "game/hsfdraw.h" #include "game/pad.h" -#include "ext_math.h" - -// structs -typedef struct someBits3 { // make sure this is defined correctly +//structs +typedef struct someBits3 { //make sure this is defined correctly /* 0x00 */ struct { u8 unk00_bit0 : 1; u8 unk00_bit1 : 4; @@ -44,61 +42,58 @@ typedef struct unkTemp2 { s8 unk4; char unk_05[3]; f32 unk8; - unkTemp *unk_0C; + unkTemp* unk_0C; } unkTemp2; -// function signatures +//function signatures void fn_1_7C98(void); void fn_1_7C38(void); s32 fn_1_7D18(s32 arg0); void fn_1_8140(s32 arg0); void fn_1_81E0(s32 arg0); -void fn_1_8530(omObjData *arg0); +void fn_1_8530(omObjData* arg0); void fn_1_84A8(s32 arg0); -void fn_1_8698(omObjData *arg0, someBits3 *arg1); -void fn_1_8C08(omObjData *arg0, someBits3 *arg1); -void fn_1_8E44(omObjData *arg0, someBits3 *arg1); -void fn_1_9044(omObjData *arg0, someBits3 *arg1); +void fn_1_8698(omObjData* arg0, someBits3* arg1); +void fn_1_8C08(omObjData* arg0, someBits3* arg1); +void fn_1_8E44(omObjData* arg0, someBits3* arg1); +void fn_1_9044(omObjData* arg0, someBits3* arg1); void fn_1_91B8(void); void fn_1_9230(s32 arg0); void fn_1_9384(void); void fn_1_9474(s32 arg0); void fn_1_97F8(s32 arg0); -void fn_1_9A1C(unkTemp2 *arg0); +void fn_1_9A1C(unkTemp2* arg0); -// data +//data s32 lbl_1_data_450 = -1; s16 lbl_1_data_454 = -1; s16 lbl_1_data_456 = -1; s16 lbl_1_data_458 = -1; -s32 lbl_1_data_45C[] = { DATA_MAKE_NUM(DATADIR_W03, 0x21), DATA_MAKE_NUM(DATADIR_W03, 0x22), DATA_NUM_LISTEND }; +s32 lbl_1_data_45C[] = {0x00770021, 0x00770022, -1}; -// BSS +//BSS char lbl_1_bss_150[0x30]; s16 lbl_1_bss_14E; s8 lbl_1_bss_14C; -omObjData *lbl_1_bss_148; -omObjData *lbl_1_bss_144; -Process *lbl_1_bss_140; +omObjData* lbl_1_bss_148; +omObjData* lbl_1_bss_144; +Process* lbl_1_bss_140; -void fn_1_7ABC(void) -{ - lbl_1_data_456 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x20), lbl_1_data_45C, 0); +void fn_1_7ABC(void) { + lbl_1_data_456 = BoardModelCreate(0x770020, lbl_1_data_45C, 0); BoardModelHookSet(lbl_1_bss_C[7], "phei", lbl_1_data_456); BoardModelMotionStart(lbl_1_data_456, 2, 0x40000002); BoardModelRotYSet(lbl_1_data_456, -45.0f); } -void fn_1_7B58(void) -{ +void fn_1_7B58(void) { if (lbl_1_data_456 != -1) { BoardModelKill(lbl_1_data_456); lbl_1_data_456 = -1; } } -void fn_1_7BA8(void) -{ +void fn_1_7BA8(void) { BoardRollDispSet(0); lbl_1_bss_140 = HuPrcChildCreate(&fn_1_7C98, 0x2003, 0x2000, 0, boardMainProc); HuPrcDestructorSet2(lbl_1_bss_140, &fn_1_7C38); @@ -108,8 +103,7 @@ void fn_1_7BA8(void) BoardRollDispSet(1); } -void fn_1_7C38(void) -{ +void fn_1_7C38(void) { if (lbl_1_data_454 != -1) { HuWinKill(lbl_1_data_454); lbl_1_data_454 = -1; @@ -117,8 +111,7 @@ void fn_1_7C38(void) lbl_1_bss_140 = 0; } -void fn_1_7C98(void) -{ +void fn_1_7C98(void) { s32 temp_r31; temp_r31 = GWSystem.player_curr; @@ -132,11 +125,10 @@ void fn_1_7C98(void) HuPrcEnd(); } -s32 fn_1_7D18(s32 arg0) -{ - Vec sp38; - Vec sp2C; - Vec sp20; +s32 fn_1_7D18(s32 arg0) { + Point3d sp38; + Point3d sp2C; + Point3d sp20; Vec sp14; Vec sp8; f32 var_f31; @@ -144,7 +136,7 @@ s32 fn_1_7D18(s32 arg0) s16 space; s16 temp_r28; f32 arctan; - + BoardWinCreateChoice(2, MAKE_MESSID(22, 21), 2, 0); if (GWPlayer[arg0].com != 0) { @@ -175,22 +167,21 @@ s32 fn_1_7D18(s32 arg0) temp_r28 = BoardSpaceLinkFlagSearch(0, space, 0x02000000); BoardPlayerPosGet(arg0, &sp2C); BoardSpacePosGet(0, temp_r28, &sp38); - VECSubtract(&sp38, &sp2C, &sp20); - VECNormalize(&sp20, &sp20); - BoardPlayerRotYSet(arg0, atan2d(-sp20.x, -sp20.z)); + PSVECSubtract(&sp38, &sp2C, &sp20); + PSVECNormalize(&sp20, &sp20); + BoardPlayerRotYSet(arg0, 180.0 * (atan2(-sp20.x, -sp20.z) / M_PI)); HuPrcSleep(0x1E); model = BoardModelIDGet(lbl_1_bss_C[7]); Hu3DModelObjPosGet(model, "phei", &sp38); if (GWPlayer[arg0].character == 5) { var_f31 = 54.000004f; - } - else { + } else { var_f31 = 39.0f; } - sp38.x += var_f31 * sind(180.0f + BoardModelRotYGet(lbl_1_data_456)); - sp38.z += var_f31 * cosd(180.0f + BoardModelRotYGet(lbl_1_data_456)); + sp38.x = sp38.x + (var_f31 * sin((M_PI * (180.0f + BoardModelRotYGet(lbl_1_data_456))) / 180.0)); + sp38.z = sp38.z + (var_f31 * cos((M_PI * (180.0f + BoardModelRotYGet(lbl_1_data_456))) / 180.0)); BoardPlayerPosGet(arg0, &sp2C); BoardPlayerPosLerpStart(arg0, &sp2C, &sp38, 0x14); @@ -198,8 +189,8 @@ s32 fn_1_7D18(s32 arg0) while (GWPlayer[arg0].moving != 0) { BoardModelPosGet(lbl_1_bss_C[10], &sp2C); BoardPlayerPosGet(arg0, &sp38); - VECSubtract(&sp38, &sp2C, &sp20); - arctan = atan2d(sp20.x, sp20.z); + PSVECSubtract(&sp38, &sp2C, &sp20); + arctan = atan2(sp20.x, sp20.z) / M_PI * 180.0; BoardModelRotYSet(lbl_1_bss_C[10], arctan); HuPrcVSleep(); } @@ -213,10 +204,9 @@ s32 fn_1_7D18(s32 arg0) return 1; } -void fn_1_8140(s32 arg0) -{ +void fn_1_8140(s32 arg0) { s16 temp_r31; - + fn_1_81E0(arg0); BoardMusStart(1, 0x16, 0x7F, 0); temp_r31 = MGSeqStartCreate(); @@ -236,36 +226,35 @@ void fn_1_8140(s32 arg0) } s32 lbl_1_data_470[] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x66), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x66), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x66), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x66), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x66), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x66), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x66), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x66), + 0x005F0066, + 0x001A0066, + 0x006D0066, + 0x008A0066, + 0x00850066, + 0x00110066, + 0x000D0066, + 0x00810066 }; s32 lbl_1_data_490[] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x67), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x67), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x67), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x67), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x67), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x67), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x67), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x67), + 0x005F0067, + 0x001A0067, + 0x006D0067, + 0x008A0067, + 0x00850067, + 0x00110067, + 0x000D0067, + 0x00810067 }; -void fn_1_81E0(s32 arg0) -{ - Vec sp8; - omObjData *temp_r3; +void fn_1_81E0(s32 arg0) { + Point3d sp8; + omObjData* temp_r3; f32 temp_f31; s32 temp_r28; s32 temp_r5; s32 temp_r5_2; - someBits3 *temp_r31; + someBits3* temp_r31; temp_r3 = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, fn_1_8530); lbl_1_bss_144 = temp_r3; @@ -284,7 +273,7 @@ void fn_1_81E0(s32 arg0) temp_r31->unk_06[1] = BoardPlayerMotionCreate(arg0, lbl_1_data_470[temp_r28]); temp_r31->unk_06[2] = BoardPlayerMotionCreate(arg0, lbl_1_data_490[temp_r28]); temp_f31 = 0.3f; - temp_r31->unk_06[0] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x09), NULL, 0); + temp_r31->unk_06[0] = BoardModelCreate(0x770009, NULL, 0); BoardModelVisibilitySet(temp_r31->unk_06[0], 0); BoardPlayerPosGet(arg0, &sp8); BoardModelPosSetV(temp_r31->unk_06[0], &sp8); @@ -294,11 +283,10 @@ void fn_1_81E0(s32 arg0) BoardModelMotionSpeedSet(lbl_1_data_456, temp_r3->trans.x); BoardPlayerMotionStart(arg0, temp_r31->unk_06[1], 0x40000001); BoardPlayerMotionSpeedSet(arg0, temp_r3->trans.x); - lbl_1_data_458 = BoardModelMotionCreate(lbl_1_bss_C[10], DATA_MAKE_NUM(DATADIR_W03, 0x25)); + lbl_1_data_458 = BoardModelMotionCreate(lbl_1_bss_C[10], 0x770025); } -void fn_1_8434(someBits3 *arg0) -{ +void fn_1_8434(someBits3* arg0) { if (arg0->unk_06[1] != -1) { BoardPlayerMotionKill(arg0->unk00_bit5, arg0->unk_06[1]); } @@ -310,10 +298,9 @@ void fn_1_8434(someBits3 *arg0) } } -void fn_1_84A8(s32 arg0) -{ - someBits3 *temp_r31; - +void fn_1_84A8(s32 arg0) { + someBits3* temp_r31; + if (lbl_1_bss_144) { temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_144, someBits3); temp_r31->unk00_bit1 = arg0; @@ -323,13 +310,12 @@ void fn_1_84A8(s32 arg0) } } -void fn_1_8530(omObjData *arg0) -{ +void fn_1_8530(omObjData* arg0) { s32 temp_r0; - someBits3 *temp_r31; + someBits3* temp_r31; temp_r31 = OM_GET_WORK_PTR(arg0, someBits3); - + if ((temp_r31->unk00_bit0 != 0) || (BoardIsKill() != 0)) { if (temp_r31->unk_04 != -1) { MGSeqParamSet(temp_r31->unk_04, 2, -1); @@ -344,7 +330,7 @@ void fn_1_8530(omObjData *arg0) BoardModelKill(temp_r31->unk_06[0]); } lbl_1_bss_144 = NULL; - + omDelObjEx(HuPrcCurrentGet(), arg0); return; } @@ -355,25 +341,24 @@ void fn_1_8530(omObjData *arg0) } switch (temp_r31->unk00_bit1) { - case 0: - fn_1_8698(arg0, temp_r31); - return; - case 1: - fn_1_8C08(arg0, temp_r31); - return; - case 2: - fn_1_8E44(arg0, temp_r31); - return; - case 3: - fn_1_9044(arg0, temp_r31); - /* fallthrough */ - case 4: - break; + case 0: + fn_1_8698(arg0, temp_r31); + return; + case 1: + fn_1_8C08(arg0, temp_r31); + return; + case 2: + fn_1_8E44(arg0, temp_r31); + return; + case 3: + fn_1_9044(arg0, temp_r31); + /* fallthrough */ + case 4: + break; } } -void fn_1_8698(omObjData *arg0, someBits3 *arg1) -{ +void fn_1_8698(omObjData* arg0, someBits3* arg1) { s32 temp_r27; u32 var_r28; u32 var_r26; @@ -382,12 +367,10 @@ void fn_1_8698(omObjData *arg0, someBits3 *arg1) if (arg1->unk3 != 0) { arg1->unk3--; - } - else { + } else { if (arg1->unk2 != 0) { arg1->unk2--; - } - else { + } else { MGSeqParamSet(arg1->unk_04, 2, -1); arg1->unk_04 = -1; arg1->unk00_bit1 = 1; @@ -401,7 +384,7 @@ void fn_1_8698(omObjData *arg0, someBits3 *arg1) lbl_1_bss_14E = 30; } - OSu16tof32((u16 *)&lbl_1_bss_14E, &arg0->rot.x); //?? + OSu16tof32((u16*)&lbl_1_bss_14E, &arg0->rot.x); //?? BoardModelAttrReset(lbl_1_data_456, 0x40000002); BoardModelAttrReset(lbl_1_bss_C[7], 0x40000002); BoardModelAttrReset(lbl_1_bss_C[10], 0x40000002); @@ -424,35 +407,35 @@ void fn_1_8698(omObjData *arg0, someBits3 *arg1) MGSeqParamSet(arg1->unk_04, 1, arg1->unk2); arg1->unk3 = 60; } - + + var_r26 = GWPlayer[arg1->unk00_bit5].port; var_r28 = 0; - + if ((GWPlayer[arg1->unk00_bit5].com) != 0) { temp_r27 = BoardRandMod(100); switch (GWPlayer[arg1->unk00_bit5].diff) { - case 0: - if (temp_r27 < 12) { - var_r28 = 0x100; - } - break; - case 1: - if (temp_r27 < 22) { - var_r28 = 0x100; - } - break; - case 2: - if (temp_r27 < 50) { - var_r28 = 0x100; - } - break; - case 3: + case 0: + if (temp_r27 < 12) { var_r28 = 0x100; - break; + } + break; + case 1: + if (temp_r27 < 22) { + var_r28 = 0x100; + } + break; + case 2: + if (temp_r27 < 50) { + var_r28 = 0x100; + } + break; + case 3: + var_r28 = 0x100; + break; } - } - else { + } else { var_r28 = HuPadBtnDown[var_r26] & 0x100; } @@ -467,8 +450,7 @@ void fn_1_8698(omObjData *arg0, someBits3 *arg1) lbl_1_bss_14E += 1; BoardModelVisibilitySet(arg1->unk_06[0], 1); BoardModelRotYSet(arg1->unk_06[0], BoardPlayerRotYGet(arg1->unk00_bit5)); - } - else { + } else { arg0->trans.x *= 0.98f; arg0->trans.y = 0.0f; if (arg0->trans.x <= 1.0f) { @@ -495,11 +477,16 @@ void fn_1_8698(omObjData *arg0, someBits3 *arg1) } s8 lbl_1_data_4B0 = -1; -s32 lbl_1_data_4B4[] = { 0x00000440, 0x00000441, 0x00000442, 0x00000443, 0x00000444 }; +s32 lbl_1_data_4B4[] = { + 0x00000440, + 0x00000441, + 0x00000442, + 0x00000443, + 0x00000444 +}; -void fn_1_8C08(omObjData *arg0, someBits3 *arg1) -{ - Vec spC; +void fn_1_8C08(omObjData* arg0, someBits3* arg1) { + Point3d spC; f32 temp_f31; f32 temp_f30; s8 temp_r27; @@ -533,9 +520,8 @@ void fn_1_8C08(omObjData *arg0, someBits3 *arg1) BoardPlayerMotionTimeSet(arg1->unk00_bit5, 2.0f * temp_f30); } -void fn_1_8E44(omObjData *arg0, someBits3 *arg1) -{ - Vec sp8; +void fn_1_8E44(omObjData* arg0, someBits3* arg1) { + Point3d sp8; f32 temp_f1; f32 temp_f31; @@ -572,8 +558,7 @@ void fn_1_8E44(omObjData *arg0, someBits3 *arg1) BoardModelPosSetV(lbl_1_data_456, &sp8); } -void fn_1_9044(omObjData *arg0, someBits3 *arg1) -{ +void fn_1_9044(omObjData* arg0, someBits3* arg1) { Vec sp8; BoardModelRotGet(lbl_1_data_456, &sp8); @@ -585,20 +570,19 @@ void fn_1_9044(omObjData *arg0, someBits3 *arg1) if (arg0->trans.x <= 1.0f) { arg0->trans.y = 0.0f; BoardPlayerIdleSet(arg1->unk00_bit5); - BoardModelMotionShiftSet(lbl_1_bss_C[10], 1, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_C[10], 1, 0.0f, 10.0f, 0x40000001U); arg1->unk00_bit0 = 1; } } } - sp8.z = arg0->trans.x * sind(arg0->trans.y); + sp8.z = arg0->trans.x * sin((M_PI * arg0->trans.y) / 180.0); BoardModelRotSetV(lbl_1_data_456, &sp8); } -s8 lbl_1_data_4C8[] = { 1, 5, 10, 15, 20, 20 }; +s8 lbl_1_data_4C8[] = {1, 5, 10, 15, 20, 20}; -void fn_1_91B8(void) -{ +void fn_1_91B8(void) { s8 temp_r3; if (lbl_1_bss_14E == 0) { @@ -609,11 +593,10 @@ void fn_1_91B8(void) lbl_1_bss_14C = lbl_1_data_4C8[temp_r3]; } -void fn_1_9230(s32 arg0) -{ - Vec sp20; - Vec sp14; - Vec sp8; +void fn_1_9230(s32 arg0) { + Point3d sp20; + Point3d sp14; + Point3d sp8; s16 temp_r30; f32 rotY; @@ -627,8 +610,8 @@ void fn_1_9230(s32 arg0) while (GWPlayer[arg0].moving != 0) { BoardModelPosGet(lbl_1_bss_C[10], &sp20); BoardPlayerPosGet(arg0, &sp14); - VECSubtract(&sp14, &sp20, &sp8); - rotY = atan2d(sp8.x, sp8.z); + PSVECSubtract(&sp14, &sp20, &sp8); + rotY = atan2(sp8.x, sp8.z) / M_PI * 180.0; BoardModelRotYSet(lbl_1_bss_C[10], rotY); HuPrcVSleep(); } @@ -637,22 +620,20 @@ void fn_1_9230(s32 arg0) BoardCameraMotionWait(); } -void fn_1_9384(void) -{ +void fn_1_9384(void) { f32 widthHeight[2]; f32 x, y; - HuWinMesMaxSizeGet(1, widthHeight, MAKE_MESSID(0x16, 0x19)); + HuWinMesMaxSizeGet(1, widthHeight, 0x160019); x = -10000.0f; y = 288.0f; lbl_1_data_454 = HuWinCreate(x, y, widthHeight[0], widthHeight[1], 0); HuWinBGTPLvlSet(lbl_1_data_454, 0.0f); HuWinMesSpeedSet(lbl_1_data_454, 0); - HuWinMesSet(lbl_1_data_454, MAKE_MESSID(0x16, 0x19)); + HuWinMesSet(lbl_1_data_454, 0x160019U); } -void fn_1_9474(s32 arg0) -{ +void fn_1_9474(s32 arg0) { sprintf(lbl_1_bss_150, "%d", lbl_1_bss_14C); BoardWinCreate(2, MAKE_MESSID(22, 23), 2); BoardWinInsertMesSet((u32)lbl_1_bss_150, 4); @@ -670,7 +651,7 @@ void fn_1_9474(s32 arg0) HuPrcVSleep(); } - BoardPlayerMotionShiftSet(arg0, 7, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(arg0, 7, 0.0f, 8.0f, 0U); HuPrcSleep(8); while (BoardPlayerMotionEndCheck(arg0) == 0) { @@ -683,15 +664,14 @@ void fn_1_9474(s32 arg0) BoardModelMotionStart(lbl_1_bss_C[7], 0, 0x40000002); } -void fn_1_95B8(omObjData *arg0) -{ +void fn_1_95B8(omObjData* arg0) { f32 temp_f31; s32 var_r25; s32 var_r26; s32 var_r27; s32 var_r28; - unkTemp *var_r30; - unkTemp2 *temp_r29; + unkTemp* var_r30; + unkTemp2* temp_r29; s32 i; s32 temp; @@ -699,14 +679,14 @@ void fn_1_95B8(omObjData *arg0) if ((temp_r29->unk00_bit0 != 0) || (BoardIsKill() != 0)) { fn_1_9A1C(temp_r29); - HuMemDirectFree((void *)temp_r29->unk_0C); + HuMemDirectFree((void*)temp_r29->unk_0C); lbl_1_bss_148 = 0; omDelObjEx(HuPrcCurrentGet(), arg0); return; } var_r30 = temp_r29->unk_0C; - + for (var_r27 = i = 0; i < 20; i++, var_r30++) { if (var_r30->unk0 == 0) { var_r27++; @@ -717,7 +697,7 @@ void fn_1_95B8(omObjData *arg0) temp_r29->unk00_bit0 = 1; return; } - + var_r25 = 0; for (i = 0; i < 20; i++) { var_r30 = &temp_r29->unk_0C[i]; @@ -745,23 +725,23 @@ void fn_1_95B8(omObjData *arg0) } } -void fn_1_97F8(s32 arg0) -{ - Vec sp8; + +void fn_1_97F8(s32 arg0) { + Point3d sp8; f32 temp_f2; f32 var_f31; f64 temp_f1; - omObjData *temp_r3; + omObjData* temp_r3; s32 i; - unkTemp2 *temp_r30; - unkTemp *temp_r31; + unkTemp2* temp_r30; + unkTemp* temp_r31; temp_r3 = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, fn_1_95B8); lbl_1_bss_148 = temp_r3; temp_r30 = OM_GET_WORK_PTR(temp_r3, unkTemp2); temp_r30->unk00_bit0 = 0; temp_r30->unk4 = arg0; - temp_r30->unk_0C = HuMemDirectMallocNum(0, 0x190, MEMORY_DEFAULT_NUM); + temp_r30->unk_0C = HuMemDirectMallocNum(0, 0x190, 0x10000000); BoardPlayerPosGet(arg0, &sp8); temp_r30->unk8 = (80.0f + sp8.y); memset(temp_r30->unk_0C, 0, 0x190); @@ -769,25 +749,23 @@ void fn_1_97F8(s32 arg0) for (i = 0; i < lbl_1_bss_14C; i++) { if (i == 0) { var_f31 = 0.0f; - } - else { + } else { var_f31 = BoardRandFloat(); } temp_r31 = &temp_r30->unk_0C[i]; temp_r31->unk0 = 1; - temp_r31->unk8.x = sp8.x + (50.0f * sind(var_f31)); - temp_r31->unk8.z = sp8.z + (50.0f * cosd(var_f31)); + temp_r31->unk8.x = sp8.x + (50.0f * sin((M_PI * var_f31) / 180.0)); + temp_r31->unk8.z = sp8.z + (50.0f * cos((M_PI * var_f31) / 180.0)); temp_r31->unk8.y = 600.0f + sp8.y + (500.0f * BoardRandFloat()); temp_r31->unk1 = 0; temp_r31->unk4 = BoardRandFloat() * 360.0f; - temp_r31->unk_02 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x0A), NULL, 1); + temp_r31->unk_02 = BoardModelCreate(0x7000A, NULL, 1); } } -void fn_1_9A1C(unkTemp2 *arg0) -{ +void fn_1_9A1C(unkTemp2* arg0) { s32 i; - unkTemp *temp; + unkTemp* temp; for (i = 0; i < 20; i++) { temp = &arg0->unk_0C[i]; diff --git a/src/REL/w03Dll/mg_item.c b/src/REL/w03Dll/mg_item.c index 9b9ccfa3..2644f97b 100644 --- a/src/REL/w03Dll/mg_item.c +++ b/src/REL/w03Dll/mg_item.c @@ -1,25 +1,25 @@ -#include "REL/executor.h" -#include "REL/w03Dll.h" #include "dolphin.h" -#include "dolphin/os/OSFastCast.h" -#include "ext_math.h" +#include "REL/executor.h" +#include "game/process.h" +#include "game/data.h" +#include "game/gamework_data.h" +#include "REL/w03Dll.h" #include "game/board/main.h" #include "game/board/model.h" -#include "game/board/player.h" #include "game/board/space.h" -#include "game/data.h" -#include "game/frand.h" -#include "game/gamework_data.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/minigame_seq.h" #include "game/object.h" #include "game/objsub.h" -#include "game/pad.h" -#include "game/process.h" #include "game/sprite.h" +#include "game/board/player.h" #include "math.h" +#include "game/hsfman.h" +#include "dolphin/os/OSFastCast.h" +#include "game/minigame_seq.h" +#include "game/hsfdraw.h" +#include "game/hsfmotion.h" +#include "game/pad.h" +#include "game/frand.h" +#include "ext_math.h" typedef struct someBits { /* 0x00 */ struct { @@ -58,11 +58,11 @@ typedef struct w03UnkMG { /* 0x16 */ s16 unk_16; } w03UnkMG; -// external symbols +//external symbols extern u16 HuPadBtnDown[4]; -// function signatures +//function signatures s32 BoardVecDAngleCalcRange(float *value, float min, float range); void fn_1_BE30(ModelData *model, ParticleData *particle, Mtx matrix); @@ -70,23 +70,23 @@ void fn_1_BDAC(void); void fn_1_BC7C(s16 arg0); void fn_1_BBF8(void); s32 fn_1_BBC4(void); -void fn_1_BB74(s8 *arg0); +void fn_1_BB74(s8* arg0); s32 fn_1_BB48(void); void fn_1_B8E8(s32 arg0); -void fn_1_B748(omObjData *arg0, someBits2 *arg1); -void fn_1_B688(omObjData *arg0, someBits2 *arg1); -void fn_1_B4AC(omObjData *arg0, someBits2 *arg1); -void fn_1_B350(omObjData *arg0); +void fn_1_B748(omObjData* arg0, someBits2* arg1); +void fn_1_B688(omObjData* arg0, someBits2* arg1); +void fn_1_B4AC(omObjData* arg0, someBits2* arg1); +void fn_1_B350(omObjData* arg0); void fn_1_B0A4(s32 arg0); u32 fn_1_AF24(s32 arg0); -s32 fn_1_AE4C(s32 arg0, s8 *arg1); +s32 fn_1_AE4C(s32 arg0, s8* arg1); s32 fn_1_AE20(void); void fn_1_ACD8(s32 arg0); -void fn_1_ABD0(omObjData *arg0, someBits *arg1); -void fn_1_AB18(omObjData *arg0, someBits *arg1); +void fn_1_ABD0(omObjData* arg0, someBits* arg1); +void fn_1_AB18(omObjData* arg0, someBits* arg1); void fn_1_A8AC(s32 arg0); void fn_1_A7A0(s32 arg0); -void fn_1_A994(omObjData *arg0); +void fn_1_A994(omObjData* arg0); void fn_1_A5E0(s32 arg0); void fn_1_A6B0(void); void fn_1_A44C(s32 arg0); @@ -96,56 +96,52 @@ s32 fn_1_9CF4(s32 arg0); void fn_1_9F78(void); void fn_1_9FE4(void); -// data +//data s16 lbl_1_data_4D8 = -1; s16 lbl_1_data_4DA = -1; s16 lbl_1_data_4DC = -1; s32 lbl_1_data_4E0 = -1; s16 lbl_1_data_4E4 = -1; -s8 lbl_1_data_4E6[] = { 1, 1, 3, 3, 2, 2, 2, 1, 2, 3, 0, 4, 5, 0 }; +s8 lbl_1_data_4E6[] = {1, 1, 3, 3, 2, 2, 2, 1, 2, 3, 0, 4, 5, 0}; -char *lbl_1_data_508[] = { "item", "item1", "item2" }; - -#if VERSION_JP -#define MDL_ID_SHIFT 0 -#else -#define MDL_ID_SHIFT 1 -#endif - -s32 lbl_1_data_514[] = { - DATA_MAKE_NUM(DATADIR_BOARD, 0x6C + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x6D + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x6E + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x6F + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x70 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x71 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x72 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x73 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x75 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x76 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x77 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x78 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x79 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x7A + MDL_ID_SHIFT), +char* lbl_1_data_508[] = { + "item", "item1", "item2" }; -// BSS -s8 lbl_1_bss_194[3]; -AnimData *lbl_1_bss_190; -s8 lbl_1_bss_18C; -omObjData *lbl_1_bss_188; -omObjData *lbl_1_bss_184; -Process *lbl_1_bss_180; +s32 lbl_1_data_514[] = { + DATA_MAKE_NUM(DATADIR_BOARD, 0x6D), + DATA_MAKE_NUM(DATADIR_BOARD, 0x6E), + DATA_MAKE_NUM(DATADIR_BOARD, 0x6F), + DATA_MAKE_NUM(DATADIR_BOARD, 0x70), + DATA_MAKE_NUM(DATADIR_BOARD, 0x71), + DATA_MAKE_NUM(DATADIR_BOARD, 0x72), + DATA_MAKE_NUM(DATADIR_BOARD, 0x73), + DATA_MAKE_NUM(DATADIR_BOARD, 0x74), + DATA_MAKE_NUM(DATADIR_BOARD, 0x76), + DATA_MAKE_NUM(DATADIR_BOARD, 0x77), + DATA_MAKE_NUM(DATADIR_BOARD, 0x78), + DATA_MAKE_NUM(DATADIR_BOARD, 0x79), + DATA_MAKE_NUM(DATADIR_BOARD, 0x7A), + DATA_MAKE_NUM(DATADIR_BOARD, 0x7B), +}; -void fn_1_9A7C(void) -{ +//BSS +s8 lbl_1_bss_194[3]; +AnimData* lbl_1_bss_190; +s8 lbl_1_bss_18C; +omObjData* lbl_1_bss_188; +omObjData* lbl_1_bss_184; +Process* lbl_1_bss_180; + +void fn_1_9A7C(void) { fn_1_BBF8(); } -void fn_1_9A9C(void) { } +void fn_1_9A9C(void) { -void fn_1_9AA0(void) -{ +} + +void fn_1_9AA0(void) { BoardRollDispSet(0); lbl_1_bss_180 = HuPrcChildCreate(fn_1_9C8C, 0x2003, 0x2000, 0, boardMainProc); HuPrcDestructorSet2(lbl_1_bss_180, fn_1_9B30); @@ -157,8 +153,7 @@ void fn_1_9AA0(void) BoardRollDispSet(1); } -void fn_1_9B30(void) -{ +void fn_1_9B30(void) { fn_1_BDAC(); if (lbl_1_bss_188) { @@ -178,7 +173,7 @@ void fn_1_9B30(void) BoardModelMotionKill(lbl_1_bss_C[11], lbl_1_data_4DC); lbl_1_data_4DC = -1; } - + if (lbl_1_data_4DA != -1) { BoardModelMotionKill(lbl_1_bss_C[11], lbl_1_data_4DA); lbl_1_data_4DA = -1; @@ -192,8 +187,7 @@ void fn_1_9B30(void) lbl_1_bss_180 = 0; } -void fn_1_9C8C(void) -{ +void fn_1_9C8C(void) { s32 temp_r31; temp_r31 = GWSystem.player_curr; @@ -207,8 +201,7 @@ void fn_1_9C8C(void) HuPrcEnd(); } -s32 fn_1_9CF4(s32 arg0) -{ +s32 fn_1_9CF4(s32 arg0) { Vec sp38; Vec sp2C; Vec sp20; @@ -253,9 +246,9 @@ s32 fn_1_9CF4(s32 arg0) temp_r29 = BoardSpaceLinkFlagSearch(0, spaceCur, 0x02000000); BoardPlayerPosGet(arg0, &sp2C); BoardSpacePosGet(0, temp_r29, &sp38); - VECSubtract(&sp38, &sp2C, &sp20); - VECNormalize(&sp20, &sp20); - BoardPlayerRotYSet(arg0, atan2d(-sp20.x, -sp20.z)); + PSVECSubtract(&sp38, &sp2C, &sp20); + PSVECNormalize(&sp20, &sp20); + BoardPlayerRotYSet(arg0, (f32) (180.0 * (atan2(-sp20.x, -sp20.z) / M_PI))); BoardPlayerPosLerpStart(arg0, &sp2C, &sp38, 0x14); while (GWPlayer[arg0].moving != 0) { @@ -271,14 +264,12 @@ s32 fn_1_9CF4(s32 arg0) return 1; } -void fn_1_9F78(void) -{ - lbl_1_data_4DA = BoardModelMotionCreate(lbl_1_bss_C[11], DATA_MAKE_NUM(DATADIR_W03, 0x23)); - lbl_1_data_4DC = BoardModelMotionCreate(lbl_1_bss_C[11], DATA_MAKE_NUM(DATADIR_W03, 0x24)); +void fn_1_9F78(void) { + lbl_1_data_4DA = BoardModelMotionCreate(lbl_1_bss_C[11], 0x770023); + lbl_1_data_4DC = BoardModelMotionCreate(lbl_1_bss_C[11], 0x770024); } -void fn_1_9FE4(void) -{ +void fn_1_9FE4(void) { Vec sp30; Vec sp24; Vec sp18; @@ -288,13 +279,13 @@ void fn_1_9FE4(void) f32 var_f31; BoardModelPosGet(lbl_1_bss_C[11], &sp24); - sp18.x = -3179.8f + 200.0 * sin(0.0); - sp18.z = -907.7f + 200.0 * cos(0.0); + sp18.x = (-3179.800048828125 + (200.0 * sin(0.0))); + sp18.z = (-907.7000122070313 + 200.0 * cos(0.0)); sp18.y = sp24.y; - VECSubtract(&sp18, &sp24, &spC); - temp_f30 = atan2d(spC.z, spC.x); + PSVECSubtract(&sp18, &sp24, &spC); + temp_f30 = (atan2(spC.z, spC.x) / M_PI * 180.0); sp8 = BoardModelRotYGet(lbl_1_bss_C[11]); - BoardModelMotionShiftSet(lbl_1_bss_C[11], lbl_1_data_4DA, 0.0f, 10.0, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_C[11], lbl_1_data_4DA, 0.0f, 10.0, 0x40000001); while (BoardDAngleCalcRange(&sp8, temp_f30, 10.0) == 0) { BoardModelRotYSet(lbl_1_bss_C[11], sp8); @@ -311,7 +302,7 @@ void fn_1_9FE4(void) var_f31 = 0.0f; while (var_f31 < 20.0f) { - VECAdd(&sp30, &spC, &sp30); + PSVECAdd(&sp30, &spC, &sp30); BoardModelPosSetV(lbl_1_bss_C[11], &sp30); HuPrcVSleep(); var_f31 += 1.0f; @@ -322,8 +313,8 @@ void fn_1_9FE4(void) HuAudFXPlay(0x362); BoardCameraQuakeSet(3, 100.0f); fn_1_B8E8(1); - BoardModelMotionShiftSet(lbl_1_bss_C[11], lbl_1_data_4DC, 0.0f, 10.0, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_REV); - VECSubtract(&sp24, &sp30, &spC); + BoardModelMotionShiftSet(lbl_1_bss_C[11], lbl_1_data_4DC, 0.0f, 10.0, 0x40000005); + PSVECSubtract(&sp24, &sp30, &spC); spC.x /= 60.0f; spC.z /= 60.0f; @@ -331,7 +322,7 @@ void fn_1_9FE4(void) var_f31 = 0.0f; while (var_f31 < 60.0f) { - VECAdd(&sp30, &spC, &sp30); + PSVECAdd(&sp30, &spC, &sp30); BoardModelPosSetV(lbl_1_bss_C[11], &sp30); HuPrcVSleep(); var_f31 += 1.0f; @@ -339,18 +330,17 @@ void fn_1_9FE4(void) temp_f30 = 0.0f; sp8 = BoardModelRotYGet(lbl_1_bss_C[11]); - BoardModelMotionShiftSet(lbl_1_bss_C[11], lbl_1_data_4DA, 0.0f, 10.0, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_C[11], lbl_1_data_4DA, 0.0f, 10.0, 0x40000001); while (BoardDAngleCalcRange(&sp8, temp_f30, 10.0) == 0) { BoardModelRotYSet(lbl_1_bss_C[11], sp8); HuPrcVSleep(); } - BoardModelMotionShiftSet(lbl_1_bss_C[11], 1, 0.0f, 10.0, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_C[11], 1, 0.0f, 10.0, 0x40000001); } -void fn_1_A44C(s32 arg0) -{ +void fn_1_A44C(s32 arg0) { s16 temp_r30; s32 temp_r29; s32 temp_r28; @@ -401,8 +391,7 @@ void fn_1_A44C(s32 arg0) BoardWinKill(); } -void fn_1_A5E0(s32 arg0) -{ +void fn_1_A5E0(s32 arg0) { Vec sp14; Vec sp8; s16 spaceCur; @@ -420,28 +409,26 @@ void fn_1_A5E0(s32 arg0) BoardCameraMotionWait(); } -void fn_1_A6B0(void) -{ +void fn_1_A6B0(void) { f32 sp8[2]; f32 val1, val2; - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x16, 0x1F)); + HuWinMesMaxSizeGet(1, sp8, 0x16001F); val1 = -10000.0f; val2 = 392.0f; lbl_1_data_4D8 = HuWinCreate(val1, val2, sp8[0], sp8[1], 0); HuWinBGTPLvlSet(lbl_1_data_4D8, 0.0f); HuWinMesSpeedSet(lbl_1_data_4D8, 0); - HuWinMesSet(lbl_1_data_4D8, MAKE_MESSID(0x16, 0x1F)); + HuWinMesSet(lbl_1_data_4D8, 0x16001F); } -void fn_1_A7A0(s32 arg0) -{ - someBits *temp_r31; - omObjData *temp_r3; +void fn_1_A7A0(s32 arg0) { + someBits* temp_r31; + omObjData* temp_r3; - temp_r3 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, (void *)fn_1_A994); + temp_r3 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, (void*)fn_1_A994); lbl_1_bss_188 = temp_r3; - temp_r31 = (someBits *)&temp_r3->work[0]; + temp_r31 = (someBits*)&temp_r3->work[0]; temp_r31->unk00_bit0 = 0; temp_r31->unk00_bit6 = 0; temp_r31->unk00_bit4 = arg0; @@ -453,8 +440,7 @@ void fn_1_A7A0(s32 arg0) lbl_1_bss_18C = fn_1_AE4C(arg0, lbl_1_bss_194); } -void fn_1_A8AC(s32 arg0) -{ +void fn_1_A8AC(s32 arg0) { Vec sp14; Vec sp8; f32 playerYRot; @@ -476,19 +462,18 @@ void fn_1_A8AC(s32 arg0) } } -void fn_1_A994(omObjData *arg0) -{ +void fn_1_A994(omObjData* arg0) { s32 temp_r0; - someBits *temp_r31; + someBits* temp_r31; - temp_r31 = (someBits *)&lbl_1_bss_188->work[0]; - if ((temp_r31->unk00_bit0 != 0) || (BoardIsKill() != 0)) { + temp_r31 = (someBits*)&lbl_1_bss_188->work[0]; + if ((temp_r31->unk00_bit0 != 0)|| (BoardIsKill() != 0)) { if (temp_r31->unk4 != -1) { MGSeqParamSet(temp_r31->unk4, 2, -1U); temp_r31->unk4 = -1; } lbl_1_bss_188 = NULL; - + omDelObjEx(HuPrcCurrentGet(), arg0); return; } @@ -496,12 +481,10 @@ void fn_1_A994(omObjData *arg0) if (temp_r31->unk00_bit6 == 0) { if (temp_r31->unk2 != 0) { temp_r31->unk2--; - } - else { + } else { if (temp_r31->unk1 != 0) { temp_r31->unk1--; - } - else { + } else { fn_1_ACD8(2); } MGSeqParamSet(temp_r31->unk4, 1, temp_r31->unk1); @@ -510,29 +493,27 @@ void fn_1_A994(omObjData *arg0) } switch (temp_r31->unk00_bit1) { - case 1: - fn_1_AB18(arg0, temp_r31); - return; - case 2: - fn_1_ABD0(arg0, temp_r31); - return; - case 3: - if (BoardPlayerMotionEndCheck(temp_r31->unk00_bit4) != 0) { - temp_r31->unk00_bit0 = 1; - } - case 0: - break; + case 1: + fn_1_AB18(arg0, temp_r31); + return; + case 2: + fn_1_ABD0(arg0, temp_r31); + return; + case 3: + if (BoardPlayerMotionEndCheck(temp_r31->unk00_bit4) != 0) { + temp_r31->unk00_bit0 = 1; + } + case 0: + break; } } -void fn_1_AB18(omObjData *arg0, someBits *arg1) -{ +void fn_1_AB18(omObjData* arg0, someBits* arg1) { u32 var_r31 = 0; if (GWPlayer[arg1->unk00_bit4].com != 0) { var_r31 = fn_1_AF24(arg1->unk00_bit4); - } - else { + } else { var_r31 = HuPadBtnDown[GWPlayer[arg1->unk00_bit4].port]; } if (var_r31 == 0x100) { @@ -540,15 +521,14 @@ void fn_1_AB18(omObjData *arg0, someBits *arg1) } } -// TODO properly use inlines -void fn_1_ABD0(omObjData *arg0, someBits *arg1) -{ +//TODO properly use inlines +void fn_1_ABD0(omObjData* arg0, someBits* arg1) { s16 boardModelID; - PlayerState *playerStateCopy; + PlayerState* playerStateCopy; s32 bit; - PlayerState *playerState; + PlayerState* playerState; s16 temp, temp2; - + bit = arg1->unk00_bit4; playerState = &GWPlayer[bit]; playerStateCopy = playerState; @@ -571,43 +551,40 @@ void fn_1_ABD0(omObjData *arg0, someBits *arg1) } } -void fn_1_ACD8(s32 arg0) -{ - someBits *temp_r31; +void fn_1_ACD8(s32 arg0) { + someBits* temp_r31; - temp_r31 = (someBits *)&lbl_1_bss_188->work[0]; + temp_r31 = (someBits*)&lbl_1_bss_188->work[0]; temp_r31->unk00_bit1 = arg0; switch (arg0) { - case 0: - BoardPlayerIdleSet(temp_r31->unk00_bit4); - return; - case 2: - temp_r31->unk00_bit6 = 1; - if (lbl_1_data_4D8 != -1) { - HuWinKill(lbl_1_data_4D8); - lbl_1_data_4D8 = -1; - } - if (temp_r31->unk4 != -1) { - MGSeqParamSet(temp_r31->unk4, 2, -1U); - temp_r31->unk4 = -1; - } - BoardPlayerMotionShiftSet(temp_r31->unk00_bit4, 0xB, 0.0f, 10.0f, HU3D_MOTATTR_NONE); - return; - case 3: - BoardPlayerMotionShiftSet(temp_r31->unk00_bit4, 7, 0.0f, 10.0f, HU3D_MOTATTR_NONE); - break; + case 0: + BoardPlayerIdleSet(temp_r31->unk00_bit4); + return; + case 2: + temp_r31->unk00_bit6 = 1; + if (lbl_1_data_4D8 != -1) { + HuWinKill(lbl_1_data_4D8); + lbl_1_data_4D8 = -1; + } + if (temp_r31->unk4 != -1) { + MGSeqParamSet(temp_r31->unk4, 2, -1U); + temp_r31->unk4 = -1; + } + BoardPlayerMotionShiftSet(temp_r31->unk00_bit4, 0xB, 0.0f, 10.0f, 0); + return; + case 3: + BoardPlayerMotionShiftSet(temp_r31->unk00_bit4, 7, 0.0f, 10.0f, 0); + break; } } -s32 fn_1_AE20(void) -{ - someBits *temp_r31 = (someBits *)&lbl_1_bss_188->work[0]; +s32 fn_1_AE20(void) { + someBits* temp_r31 = (someBits*)&lbl_1_bss_188->work[0]; return temp_r31->unk00_bit1; } -s32 fn_1_AE4C(s32 arg0, s8 *arg1) -{ +s32 fn_1_AE4C(s32 arg0, s8* arg1) { s32 temp_r30; s32 temp_r29; s32 temp_r28; @@ -620,29 +597,23 @@ s32 fn_1_AE4C(s32 arg0, s8 *arg1) if (temp_r29 > temp_r28) { if (temp_r29 > temp_r30) { var_r31 = 0; - } - else if (temp_r30 > temp_r28) { + } else if (temp_r30 > temp_r28) { var_r31 = 2; - } - else { + } else { var_r31 = 1; } - } - else if (temp_r28 > temp_r30) { + } else if (temp_r28 > temp_r30) { var_r31 = 1; - } - else if (temp_r30 > temp_r29) { + } else if (temp_r30 > temp_r29) { var_r31 = 2; - } - else { + } else { var_r31 = 0; } return var_r31; } -u32 fn_1_AF24(s32 arg0) -{ +u32 fn_1_AF24(s32 arg0) { s32 spC; s32 sp8; s16 temp_r31; @@ -652,18 +623,18 @@ u32 fn_1_AF24(s32 arg0) spC = 0; switch (GWPlayer[arg0].diff) { - case 3: - var_r30 = 0; - break; - case 2: - var_r30 = 5; - break; - case 1: - var_r30 = 15; - break; - case 0: - var_r30 = 40; - break; + case 3: + var_r30 = 0; + break; + case 2: + var_r30 = 5; + break; + case 1: + var_r30 = 15; + break; + case 0: + var_r30 = 40; + break; } if ((var_r30 != 0) && (BoardRandMod(100) < var_r30)) { return 0x100U; @@ -672,39 +643,38 @@ u32 fn_1_AF24(s32 arg0) temp_r31 = BoardModelMotionTimeGet(lbl_1_bss_C[9]); switch (lbl_1_bss_18C) { - case 0: - if ((temp_r31 < 33) || (temp_r31 > 35)) { - break; - } + case 0: + if ((temp_r31 < 33) || (temp_r31 > 35)) { + break; + } + return 0x100U; + case 1: + if (((temp_r31 >= 40) && (temp_r31 <= 42)) || ((temp_r31 >= 20) && (temp_r31 <= 22))) { return 0x100U; - case 1: - if (((temp_r31 >= 40) && (temp_r31 <= 42)) || ((temp_r31 >= 20) && (temp_r31 <= 22))) { - return 0x100U; - } - break; - case 2: - if (temp_r31 >= 50) { - return 0x100U; - } - break; + } + break; + case 2: + if (temp_r31 >= 50) { + return 0x100U; + } + break; } return 0; } -void fn_1_B0A4(s32 arg0) -{ +void fn_1_B0A4(s32 arg0) { Mtx sp18; s32 spC[3]; s32 j; s32 i; s32 var_r31_2; s32 temp_r29; - someBits2 *temp_r30; - omObjData *temp_r3; + someBits2* temp_r30; + omObjData* temp_r3; - temp_r3 = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, (void *)fn_1_B350); - lbl_1_bss_184 = (void *)temp_r3; - temp_r30 = (someBits2 *)&temp_r3->work[0]; + temp_r3 = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, (void*)fn_1_B350); + lbl_1_bss_184 = (void*)temp_r3; + temp_r30 = (someBits2*)&temp_r3->work[0]; temp_r30->unk00_bit0 = 0; temp_r30->unk00_bit1 = 0; @@ -721,15 +691,14 @@ void fn_1_B0A4(s32 arg0) if (spC[i] == -1) { continue; } - } - else { + } else { continue; } i++; } - + fn_1_BBF8(); - + for (i = 0; i < ARRAY_COUNT(spC); i++) { temp_r29 = spC[i]; temp_r30->unk3[i] = temp_r29; @@ -742,23 +711,22 @@ void fn_1_B0A4(s32 arg0) } if (temp_r29 == 5) { - MTXTrans(sp18, 0.0f, -50.0f, 0.0f); + PSMTXTrans(sp18, 0.0f, -50.0f, 0.0f); BoardModelMtxSet(temp_r30->unk_06[i], &sp18); } if ((temp_r29 == 6) || (temp_r29 == 7)) { - MTXTrans(sp18, 0.0f, 0.0f, 8.0f); + PSMTXTrans(sp18, 0.0f, 0.0f, 8.0f); BoardModelMtxSet(temp_r30->unk_06[i], &sp18); } } } -void fn_1_B350(omObjData *arg0) -{ +void fn_1_B350(omObjData* arg0) { s32 i; - someBits2 *temp_r31; + someBits2* temp_r31; - temp_r31 = (someBits2 *)&arg0->work[0]; + temp_r31 = (someBits2*)&arg0->work[0]; if ((temp_r31->unk00_bit0 != 0) || (BoardIsKill() != 0)) { BoardModelHookReset(lbl_1_bss_C[9]); @@ -772,31 +740,30 @@ void fn_1_B350(omObjData *arg0) } switch (temp_r31->unk00_bit1) { - case 1: - if (!(BoardModelMotionTimeGet(lbl_1_bss_C[9]) < 20.0f)) { - BoardModelMotionStartEndSet(lbl_1_bss_C[9], 0x14, 0x3A); - fn_1_B8E8(0); - return; - } - case 0: - break; - case 2: - fn_1_B4AC(arg0, temp_r31); + case 1: + if (!(BoardModelMotionTimeGet(lbl_1_bss_C[9]) < 20.0f)) { + BoardModelMotionStartEndSet(lbl_1_bss_C[9], 0x14, 0x3A); + fn_1_B8E8(0); return; - case 3: - fn_1_B688(arg0, temp_r31); - return; - case 4: - fn_1_B748(arg0, temp_r31); - break; + } + case 0: + break; + case 2: + fn_1_B4AC(arg0, temp_r31); + return; + case 3: + fn_1_B688(arg0, temp_r31); + return; + case 4: + fn_1_B748(arg0, temp_r31); + break; } } -void fn_1_B4AC(omObjData *arg0, someBits2 *arg1) -{ - Vec sp20; - Vec sp14; - Vec sp8; +void fn_1_B4AC(omObjData* arg0, someBits2* arg1) { + Point3d sp20; + Point3d sp14; + Point3d sp8; f32 temp_f31; s8 temp_r0; s32 i; @@ -811,13 +778,13 @@ void fn_1_B4AC(omObjData *arg0, someBits2 *arg1) sp8 = sp20; arg1->unk2 = i; break; - } + } } HuAudFXPlay(0x30C); BoardModelHookObjReset(lbl_1_bss_C[9], lbl_1_data_508[arg1->unk2]); temp_f31 = BoardModelMotionTimeGet(lbl_1_bss_C[9]); - BoardModelMotionShiftSet(lbl_1_bss_C[9], 0, 15.0f, 10.0f, HU3D_MOTATTR_REV); + BoardModelMotionShiftSet(lbl_1_bss_C[9], 0, 15.0f, 10.0f, 0x40000004U); BoardModelMotionSpeedSet(lbl_1_bss_C[9], 0.5f); BoardModelMotionTimeSet(lbl_1_bss_C[9], temp_f31); BoardModelPosSetV(arg1->unk_06[arg1->unk2], &sp8); @@ -825,9 +792,8 @@ void fn_1_B4AC(omObjData *arg0, someBits2 *arg1) fn_1_BC7C(arg1->unk_06[arg1->unk2]); } -void fn_1_B688(omObjData *arg0, someBits2 *arg1) -{ - Vec sp8; +void fn_1_B688(omObjData* arg0, someBits2* arg1) { + Point3d sp8; if (arg1->unk1-- != 0) { BoardModelPosGet(arg1->unk_06[arg1->unk2], &sp8); @@ -840,11 +806,10 @@ void fn_1_B688(omObjData *arg0, someBits2 *arg1) fn_1_B8E8(0); } - -void fn_1_B748(omObjData *arg0, someBits2 *arg1) -{ + +void fn_1_B748(omObjData* arg0, someBits2* arg1) { Vec sp14; - Vec sp8; + Point3d sp8; f32 temp_f0; s16 temp_r29; @@ -855,13 +820,13 @@ void fn_1_B748(omObjData *arg0, someBits2 *arg1) } if (arg1->unk1 < 90) { - OSu8tof32((u8 *)&arg1->unk1, &temp_f0); + OSu8tof32((u8*)&arg1->unk1, &temp_f0); BoardModelPosGet(temp_r29, &sp8); sp8.y += arg0->trans.y; BoardModelPosSetV(temp_r29, &sp8); BoardModelRotYSet(temp_r29, 8.0f + BoardModelRotYGet(temp_r29)); BoardModelScaleGet(temp_r29, &sp14); - sp14.x = sp14.y = sp14.z = cosd(temp_f0); + sp14.x = sp14.y = sp14.z = cos(M_PI * temp_f0 / 180.0); BoardModelScaleSetV(temp_r29, &sp14); arg1->unk1 += 4; return; @@ -875,81 +840,76 @@ void fn_1_B748(omObjData *arg0, someBits2 *arg1) fn_1_B8E8(0); } -void fn_1_B8E8(s32 arg0) -{ - Vec sp14; - Vec sp8; +void fn_1_B8E8(s32 arg0) { + Point3d sp14; + Point3d sp8; f32 temp_f31; - someBits2 *temp_r31; + someBits2* temp_r31; f32 temp; - temp_r31 = (someBits2 *)&lbl_1_bss_184->work[0]; + temp_r31 = (someBits2*)&lbl_1_bss_184->work[0]; temp_r31->unk00_bit1 = arg0; switch (arg0) { - case 1: - temp_f31 = 0.31666666f; - BoardModelMotionStart(lbl_1_bss_C[9], 0, 0x40000001); - BoardModelMotionSpeedSet(lbl_1_bss_C[9], temp_f31); - BoardModelMotionTimeSet(lbl_1_bss_C[9], 8.0f); - return; - case 2: - temp_r31->unk00_bit6 = 1; - return; - case 3: - lbl_1_data_4E0 = HuAudFXPlay(0x35F); - BoardModelPosGet(temp_r31->unk_06[temp_r31->unk2], &sp8); - BoardPlayerPosGet(temp_r31->unk00_bit4, &sp14); - temp = 50.0f + sp8.y; - lbl_1_bss_184->trans.x = (sp14.x - sp8.x) / 10.0f; - lbl_1_bss_184->trans.z = (sp14.z - sp8.z) / 10.0f; - lbl_1_bss_184->trans.y = (temp - sp8.y) / 10.0f; - temp_r31->unk1 = 10; - return; - case 4: - BoardPlayerPosGet(temp_r31->unk00_bit4, &sp14); - sp14.y += 30.000002f; - BoardModelPosGet(temp_r31->unk_06[temp_r31->unk2], &sp8); - lbl_1_bss_184->trans.y = (sp14.y - sp8.y) / 22.0f; - temp_r31->unk1 = 0; + case 1: + temp_f31 = 0.31666666f; + BoardModelMotionStart(lbl_1_bss_C[9], 0, 0x40000001); + BoardModelMotionSpeedSet(lbl_1_bss_C[9], temp_f31); + BoardModelMotionTimeSet(lbl_1_bss_C[9], 8.0f); + return; + case 2: + temp_r31->unk00_bit6 = 1; + return; + case 3: + lbl_1_data_4E0 = HuAudFXPlay(0x35F); + BoardModelPosGet(temp_r31->unk_06[temp_r31->unk2], &sp8); + BoardPlayerPosGet(temp_r31->unk00_bit4, &sp14); + temp = 50.0f + sp8.y; + lbl_1_bss_184->trans.x = (sp14.x - sp8.x) / 10.0f; + lbl_1_bss_184->trans.z = (sp14.z - sp8.z) / 10.0f; + lbl_1_bss_184->trans.y = (temp - sp8.y) / 10.0f; + temp_r31->unk1 = 10; + return; + case 4: + BoardPlayerPosGet(temp_r31->unk00_bit4, &sp14); + sp14.y += 30.000002f; + BoardModelPosGet(temp_r31->unk_06[temp_r31->unk2], &sp8); + lbl_1_bss_184->trans.y = (sp14.y - sp8.y) / 22.0f; + temp_r31->unk1 = 0; } } -s32 fn_1_BB48(void) -{ - someBits2 *temp = (someBits2 *)&lbl_1_bss_184->work[0]; +s32 fn_1_BB48(void) { + someBits2* temp = (someBits2*)&lbl_1_bss_184->work[0]; return temp->unk00_bit1; } -void fn_1_BB74(s8 *arg0) -{ - someBits2 *bits = OM_GET_WORK_PTR(lbl_1_bss_184, someBits2); +void fn_1_BB74(s8* arg0) { + someBits2* bits = OM_GET_WORK_PTR(lbl_1_bss_184, someBits2); s32 i; - + for (i = 0; i < ARRAY_COUNT(bits->unk3); i++) { arg0[i] = bits->unk3[i]; } } -s32 fn_1_BBC4(void) -{ - someBits2 *bits = OM_GET_WORK_PTR(lbl_1_bss_184, someBits2); +s32 fn_1_BBC4(void) { + someBits2* bits = OM_GET_WORK_PTR(lbl_1_bss_184, someBits2); return bits->unk3[bits->unk2]; } -void fn_1_BBF8(void) -{ +void fn_1_BBF8(void) { BoardModelMotionStart(lbl_1_bss_C[9], 0, 0); BoardModelMotionSpeedSet(lbl_1_bss_C[9], 0.0f); BoardModelMotionTimeSet(lbl_1_bss_C[9], 0.0f); BoardModelAttrReset(lbl_1_bss_C[9], 0x40000004); } -void fn_1_BC7C(s16 arg0) -{ - ParticleData *particle; - lbl_1_bss_190 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_EFFECT, 0x00)); +void fn_1_BC7C(s16 arg0) { + ParticleData* particle; + + lbl_1_bss_190 = HuSprAnimReadFile(0x120000); HuSprAnimLock(lbl_1_bss_190); lbl_1_data_4E4 = Hu3DParticleCreate(lbl_1_bss_190, 100); Hu3DParticleHookSet(lbl_1_data_4E4, fn_1_BE30); @@ -961,8 +921,7 @@ void fn_1_BC7C(s16 arg0) particle->unk_02 = arg0; } -void fn_1_BDAC(void) -{ +void fn_1_BDAC(void) { if (lbl_1_data_4E4 != -1) { Hu3DModelKill(lbl_1_data_4E4); lbl_1_data_4E4 = -1; @@ -973,13 +932,12 @@ void fn_1_BDAC(void) } } -void fn_1_BE30(ModelData *model, ParticleData *particle, Mtx matrix) -{ - Vec sp8; +void fn_1_BE30(ModelData *model, ParticleData *particle, Mtx matrix) { + Point3d sp8; f32 temp_f30; f32 temp_f29; f32 temp_f31; - HsfanimStruct01 *var_r31; + HsfanimStruct01* var_r31; s32 i, j; if (particle->unk_34 == 0) { @@ -1003,20 +961,20 @@ void fn_1_BE30(ModelData *model, ParticleData *particle, Mtx matrix) } } if (j != particle->unk_30) { - temp_f30 = 360.0f * ((1.0f / 255.0f) * frand8()); - temp_f29 = temp_f31 * (20.0f + (60.0f * ((1.0f / 255.0f) * frand8()))); + temp_f30 = 360.0f * ((1.0f/255.0f) * frand8()); + temp_f29 = temp_f31 * (20.0f + (60.0f * ((1.0f/255.0f) * frand8()))); var_r31->unk34.x = (sp8.x + (temp_f29 * sind(temp_f30))); var_r31->unk34.z = (sp8.z + (temp_f29 * cosd(temp_f30))); - var_r31->unk34.y = (sp8.y + (temp_f31 * (-30.0f + (40.0f * ((1.0f / 255.0f) * frand8()))))); - var_r31->unk08.x = (0.5f + (3.0f * ((1.0f / 255.0f) * frand8()))); - var_r31->unk08.y = (0.3f + (2.0f * ((1.0f / 255.0f) * frand8()))); + var_r31->unk34.y = (sp8.y + (temp_f31 * (-30.0f + (40.0f * ((1.0f/255.0f) * frand8()))))); + var_r31->unk08.x = (0.5f + (3.0f * ((1.0f/255.0f) * frand8()))); + var_r31->unk08.y = (0.3f + (2.0f * ((1.0f/255.0f) * frand8()))); var_r31->unk40.a = 180; - var_r31->unk2C = (15.0f * temp_f31); + var_r31->unk2C = (15.0f * temp_f31); } } var_r31 = particle->unk_48; - + for (i = 0; i < particle->unk_30; i++, var_r31++) { if (0.0f != var_r31->unk2C) { var_r31->unk34.y = (var_r31->unk34.y - var_r31->unk08.x); @@ -1024,6 +982,6 @@ void fn_1_BE30(ModelData *model, ParticleData *particle, Mtx matrix) if (var_r31->unk2C <= 0.0f) { var_r31->unk2C = 0.0f; } - } + } } } diff --git a/src/REL/w03Dll/river.c b/src/REL/w03Dll/river.c index 810ab586..99d0aeda 100644 --- a/src/REL/w03Dll/river.c +++ b/src/REL/w03Dll/river.c @@ -1,29 +1,26 @@ -#include "REL/w03Dll.h" #include "dolphin.h" +#include "game/object.h" +#include "REL/w03Dll.h" #include "game/board/main.h" #include "game/board/model.h" #include "game/board/player.h" #include "game/hsfdraw.h" -#include "game/object.h" - -#include "ext_math.h" - -// BSS +//BSS char lbl_1_bss_130[8]; -omObjData *lbl_1_bss_12C; +omObjData* lbl_1_bss_12C; s16 lbl_1_bss_128; s32 lbl_1_bss_124; -Process *lbl_1_bss_120; +Process* lbl_1_bss_120; -// function signatures +//function signatures void fn_1_67F8(void); void fn_1_6884(void); -void fn_1_767C(omObjData *arg0); +void fn_1_767C(omObjData* arg0); s32 fn_1_6898(s32 arg0); void fn_1_6B98(s32 arg0); void fn_1_6F9C(s32 arg0); -void fn_1_767C(omObjData *arg0); +void fn_1_767C(omObjData* arg0); void fn_1_735C(s32 arg0); void fn_1_77E4(s32 arg0); @@ -35,40 +32,46 @@ typedef struct unkWorkStruct { f32 unk_04; } unkWorkStruct; -// data -s32 lbl_1_data_368[] = { 0x00000105, 0x00000145, 0x00000185, 0x000001C5, 0x00000205, 0x00000245, 0x00000285, 0x000002C5 }; +//data +s32 lbl_1_data_368[] = { + 0x00000105, 0x00000145, 0x00000185, + 0x000001C5, 0x00000205, 0x00000245, + 0x00000285, 0x000002C5 +}; s16 lbl_1_data_388 = -1; s16 lbl_1_data_38A = -1; s16 lbl_1_data_38C = -1; -s32 lbl_1_data_390[] = { DATA_MAKE_NUM(DATADIR_W03, 0x26), DATA_MAKE_NUM(DATADIR_W03, 0x27), DATA_MAKE_NUM(DATADIR_W03, 0x28), DATA_NUM_LISTEND }; +s32 lbl_1_data_390[] = { + 0x00770026, + 0x00770027, + 0x00770028, + -1 +}; -void fn_1_63F4(s32 arg0) -{ +void fn_1_63F4(s32 arg0) { Vec spC; - unkWorkStruct *work = OM_GET_WORK_PTR(lbl_1_bss_12C, unkWorkStruct); + unkWorkStruct* work = OM_GET_WORK_PTR(lbl_1_bss_12C, unkWorkStruct); work->unk_04 = 0.0f; BoardModelPosGet(lbl_1_data_388, &spC); if (arg0 != 0) { spC.y = -185.0f; - } - else { + } else { spC.y = 10.0f; } BoardModelPosSetV(lbl_1_data_388, &spC); } -void fn_1_6494(void) -{ +void fn_1_6494(void) { Vec sp14; Vec sp8; - unkWorkStruct *temp_r31; + unkWorkStruct* temp_r31; - lbl_1_data_388 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x0E), NULL, 0); - lbl_1_data_38C = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x0F), NULL, 0); + lbl_1_data_388 = BoardModelCreate(0x77000E, NULL, 0); + lbl_1_data_38C = BoardModelCreate(0x77000F, NULL, 0); lbl_1_data_38A = BoardModelCreate(0x2000D, &lbl_1_data_390[0], 0); BoardModelMotionStart(lbl_1_data_38A, 1, 0x40000001); BoardModelHookSet(lbl_1_data_38A, "itemhook_R", lbl_1_data_38C); @@ -78,15 +81,14 @@ void fn_1_6494(void) sp14.x = sp8.x + (400.0 * sin(-(M_PI / 2))); sp14.z = sp8.z + (400.0 * cos(-(M_PI / 2))); BoardModelPosSetV(lbl_1_data_388, &sp14); - lbl_1_bss_12C = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, (void *)fn_1_767C); + lbl_1_bss_12C = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, (void*)fn_1_767C); temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_12C, unkWorkStruct); temp_r31->temp1 = 0; temp_r31->unk_04 = 0.0f; lbl_1_bss_124 = 0; } -s32 fn_1_6698(void) -{ +s32 fn_1_6698(void) { Vec sp14; Vec sp8; @@ -94,12 +96,11 @@ s32 fn_1_6698(void) BoardSpaceFlagPosGet(0, 0x200, &sp8); sp14.x = sp8.x + (400.0 * sin(-(M_PI / 2))); sp14.z = sp8.z + (400.0 * cos(-(M_PI / 2))); - BoardModelPosSetV(lbl_1_data_388, (Vec *)&sp14); + BoardModelPosSetV(lbl_1_data_388, (Point3d* ) &sp14); return 1; } -s16 fn_1_675C(void) -{ +s16 fn_1_675C(void) { BoardRollDispSet(0); lbl_1_bss_120 = HuPrcChildCreate(fn_1_67F8, 0x2003, 0x2000, 0, boardMainProc); HuPrcDestructorSet2(lbl_1_bss_120, fn_1_6884); @@ -112,8 +113,7 @@ s16 fn_1_675C(void) return lbl_1_bss_128; } -void fn_1_67F8(void) -{ +void fn_1_67F8(void) { s32 temp_r31; temp_r31 = GWSystem.player_curr; @@ -131,8 +131,7 @@ void fn_1_67F8(void) HuPrcEnd(); } -void fn_1_6884(void) -{ +void fn_1_6884(void) { lbl_1_bss_120 = 0; } @@ -143,16 +142,15 @@ typedef struct unkPos { } unkPos; unkPos lbl_1_data_3B8[6] = { - { 5, 20, 5 }, - { 21, 35, 7 }, - { 31, 50, 10 }, - { 51, 80, 15 }, - { 81, 100, 17 }, - { 101, 999, 20 }, + {5, 20, 5}, + {21, 35, 7}, + {31, 50, 10}, + {51, 80, 15}, + {81, 100, 17}, + {101, 999, 20}, }; -s32 fn_1_6898(s32 arg0) -{ +s32 fn_1_6898(s32 arg0) { Vec sp20; Vec sp14; Vec sp8; @@ -165,11 +163,11 @@ s32 fn_1_6898(s32 arg0) BoardPlayerIdleSet(arg0); BoardCameraViewSet(2); BoardCameraMotionWait(); - + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_data_388), "hei01", &sp20); BoardPlayerPosGet(arg0, &sp14); - VECSubtract(&sp20, &sp14, &sp8); - temp_f31 = atan2d(sp8.x, sp8.z); + PSVECSubtract(&sp20, &sp14, &sp8); + temp_f31 = 180.0 * (atan2(sp8.x, sp8.z) / M_PI); BoardCameraTargetModelSet(lbl_1_data_388); BoardPlayerMotBlendSet(arg0, temp_f31, 15); @@ -197,7 +195,7 @@ s32 fn_1_6898(s32 arg0) var_r27 = lbl_1_data_3B8[i].z; break; } - } + } } sprintf(lbl_1_bss_130, "%d", var_r27); @@ -216,24 +214,24 @@ s32 fn_1_6898(s32 arg0) BoardWinKill(); switch (BoardWinChoiceGet()) { - case 0: - j = 1; - break; - case 1: - case -1: - BoardWinCreate(2, MAKE_MESSID(22, 14), 2); - BoardWinWait(); - BoardWinKill(); - return 0; - default: - BoardViewMapExec(arg0); + case 0: + j = 1; + break; + case 1: + case -1: + BoardWinCreate(2, MAKE_MESSID(22, 14), 2); + BoardWinWait(); + BoardWinKill(); + return 0; + default: + BoardViewMapExec(arg0); } } for (i = 0; i < var_r27; i++) { BoardPlayerCoinsAdd(arg0, -1); HuAudFXPlay(0xE); - HuPrcSleep(6); + HuPrcSleep(6); } HuAudFXPlay(0xF); @@ -245,19 +243,18 @@ s32 fn_1_6898(s32 arg0) s32 BoardDAngleCalcRange(float *value, float min, float range); -void fn_1_6B98(s32 arg0) -{ +void fn_1_6B98(s32 arg0) { Vec sp30; - Vec sp24; + Point3d sp24; Vec sp18; - Vec spC; + Point3d spC; f32 sp8; f32 temp_f1; f32 temp_f31; s16 var_r31; s16 i; - BoardModelMotionShiftSet(lbl_1_data_38A, 2, 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_data_38A, 2, 0.0f, 10.0f, 0); sp8 = BoardModelRotYGet(lbl_1_data_38A); temp_f31 = sp8 + 180.0f; @@ -275,35 +272,35 @@ void fn_1_6B98(s32 arg0) sp18.x = sp30.x + (400.0 * sin(M_PI / 2)); sp18.z = sp30.z + (400.0 * cos(M_PI / 2)); sp18.y = sp24.y; - VECSubtract(&sp18, &sp24, &spC); + PSVECSubtract(&sp18, &sp24, &spC); spC.x = spC.x / 120.0f; spC.y /= 120.0f; spC.z = spC.z / 120.0f; BoardCameraTargetModelSet(lbl_1_data_388); - BoardModelMotionShiftSet(lbl_1_data_38A, 3, 0.0f, 4.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_data_38A, 3, 0.0f, 4.0f, 0x40000001U); HuPrcSleep(4); var_r31 = 0; for (i = 0; i < 0x78U; i++) { - VECAdd(&spC, &sp24, &sp24); + PSVECAdd(&spC, &sp24, &sp24); temp_f1 = BoardModelMotionTimeGet(lbl_1_data_38A); - if ((temp_f1 >= 5.0f) && (temp_f1 < 15.0f) && ((s16)var_r31 == 0)) { + if ((temp_f1 >= 5.0f) && (temp_f1 < 15.0f) && ((s16) var_r31 == 0)) { HuAudFXPlay(0x451); var_r31 = 1; } - if ((BoardModelMotionTimeGet(lbl_1_data_38A) >= 21.0f) && ((s16)var_r31 != 0)) { + if ((BoardModelMotionTimeGet(lbl_1_data_38A) >= 21.0f) && ((s16) var_r31 != 0)) { var_r31 = 0; } BoardModelPosSetV(lbl_1_data_388, &sp24); - HuPrcVSleep(); + HuPrcVSleep(); } - + BoardModelPosSetV(lbl_1_data_388, &sp18); BoardCameraTargetModelSet(-1); - BoardModelMotionShiftSet(lbl_1_data_38A, 2, 0.0f, 10.0f, HU3D_MOTATTR_REV); + BoardModelMotionShiftSet(lbl_1_data_38A, 2, 0.0f, 10.0f, 0x40000004U); sp8 = BoardModelRotYGet(lbl_1_data_38A); temp_f31 = 0.0f; @@ -316,14 +313,13 @@ void fn_1_6B98(s32 arg0) HuPrcVSleep(); } - BoardModelMotionShiftSet(lbl_1_data_38A, 1, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_data_38A, 1, 0.0f, 10.0f, 0x40000001U); } extern s32 lbl_1_data_368[]; // extern w03State* lbl_1_bss_0; -void fn_1_6F9C(s32 arg0) -{ +void fn_1_6F9C(s32 arg0) { Vec sp20; Vec sp14; Vec sp8; @@ -336,7 +332,7 @@ void fn_1_6F9C(s32 arg0) BoardPlayerPosGet(arg0, &sp14); Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_data_388), "chara01", &sp20); - VECSubtract(&sp20, &sp14, &sp8); + PSVECSubtract(&sp20, &sp14, &sp8); sp8.x /= 60.0f; sp8.z /= 60.0f; @@ -346,38 +342,36 @@ void fn_1_6F9C(s32 arg0) var_f30 = 10.0f; var_f29 = 0.21f; sp14.y += sp20.y; - } - else { + } else { var_f30 = 0.0f; var_f29 = 0.15f; } lbl_1_bss_124 = 1; HuAudFXPlay(lbl_1_data_368[GWPlayer[arg0].character]); - BoardPlayerMotionShiftSet(arg0, 4, 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(arg0, 4, 0.0f, 10.0f, 0); for (var_r30 = 0, var_f31 = 0.0f; var_f31 < 60.0f; var_f31 += 1.0f) { - VECAdd(&sp14, &sp8, &sp14); + PSVECAdd(&sp14, &sp8, &sp14); sp14.y += 10.0f + var_f30 + (var_f29 * (-0.08166667f * var_f31 * var_f31)); if (sp14.y <= sp20.y) { sp14.y = sp20.y; if (var_r30 == 0) { - BoardPlayerMotionShiftSet(arg0, 5, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(arg0, 5, 0.0f, 8.0f, 0); var_r30 = 1; } } BoardPlayerPosSetV(arg0, &sp14); - HuPrcVSleep(); + HuPrcVSleep(); } - - BoardPlayerMotionShiftSet(arg0, 5, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + + BoardPlayerMotionShiftSet(arg0, 5, 0.0f, 8.0f, 0); HuPrcSleep(10); BoardPlayerIdleSet(arg0); if (GWPlayer[arg0].bowser_suit != 0) { BoardModelHookSet(lbl_1_data_388, "chara01", BoardPlayerModelGet(arg0)); - } - else { + } else { BoardModelHookSet(lbl_1_data_388, "chara01", BoardPlayerModelGet(arg0)); } @@ -385,11 +379,10 @@ void fn_1_6F9C(s32 arg0) lbl_1_bss_124 = 0; } -void fn_1_735C(s32 arg0) -{ +void fn_1_735C(s32 arg0) { Vec sp20; Vec sp14; - Vec sp8; + Point3d sp8; f32 temp_f1; f32 var_f30; f32 var_f31; @@ -401,35 +394,34 @@ void fn_1_735C(s32 arg0) Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_data_388), "chara01", &sp14); BoardPlayerPosSetV(arg0, &sp14); BoardModelHookObjReset(lbl_1_data_388, "chara01"); - VECSubtract(&sp20, &sp14, &sp8); - + PSVECSubtract(&sp20, &sp14, &sp8); + sp8.x = sp8.x / 60.0f; sp8.z = sp8.z / 60.0f; sp8.y = 0.0f; - + HuAudFXPlay(lbl_1_data_368[GWPlayer[arg0].character]); - BoardPlayerMotionShiftSet(arg0, 4, 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(arg0, 4, 0.0f, 10.0f, 0); if (lbl_1_bss_0->unk0 != 0) { var_f30 = 0.25f; - } - else { + } else { var_f30 = 0.2f; } - + for (var_r30 = 0, var_f31 = 0.0f; var_f31 < 60.0f; var_f31 += 1.0f) { - VECAdd(&sp14, &sp8, &sp14); + PSVECAdd(&sp14, &sp8, &sp14); sp14.y += 20.0f + (var_f30 * (-0.08166667f * var_f31 * var_f31)); if (sp14.y <= sp20.y && var_f31 > 48.0f) { sp14.y = sp20.y; if (var_r30 == 0) { - BoardPlayerMotionShiftSet(arg0, 5, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(arg0, 5, 0.0f, 8.0f, 0); var_r30 = 1; } } BoardPlayerPosSetV(arg0, &sp14); - HuPrcVSleep(); + HuPrcVSleep(); } - + BoardPlayerPosSetV(arg0, &sp20); HuPrcSleep(0xA); BoardPlayerMotBlendSet(arg0, 0, 15); @@ -447,15 +439,15 @@ void fn_1_735C(s32 arg0) BoardWinKill(); } -void fn_1_767C(omObjData *arg0) -{ - Vec sp8; + +void fn_1_767C(omObjData* arg0) { + Point3d sp8; s32 temp_r30; - unkWorkStruct *temp_r31; + unkWorkStruct* temp_r31; temp_r31 = OM_GET_WORK_PTR(arg0, unkWorkStruct); - if ((temp_r31->temp1 != 0) || (BoardIsKill() != 0)) { + if ( (temp_r31->temp1 != 0) || (BoardIsKill() != 0)) { lbl_1_bss_12C = NULL; omDelObjEx(HuPrcCurrentGet(), arg0); return; @@ -464,16 +456,15 @@ void fn_1_767C(omObjData *arg0) if ((lbl_1_data_388 != -1) && (lbl_1_bss_124 == 0)) { temp_r31->unk_04 += 3.0f; if (temp_r31->unk_04 >= 360.0f) { - temp_r31->unk_04 -= 360.0f; + temp_r31->unk_04 = (f32) (temp_r31->unk_04 - 360.0f); } BoardModelPosGet(lbl_1_data_388, &sp8); - sp8.y += 0.25 * (2.0 * sind(temp_r31->unk_04)); + sp8.y = (f32) ((f64) sp8.y + (0.25 * (2.0 * sin((M_PI * (f64) temp_r31->unk_04) / 180.0)))); BoardModelPosSetV(lbl_1_data_388, &sp8); } } -void fn_1_77E4(s32 arg0) -{ +void fn_1_77E4(s32 arg0) { s32 boardIndex; s32 var_r30 = 0; diff --git a/src/REL/w03Dll/smoke.c b/src/REL/w03Dll/smoke.c index 0fcdeda3..ae32fa76 100644 --- a/src/REL/w03Dll/smoke.c +++ b/src/REL/w03Dll/smoke.c @@ -31,7 +31,7 @@ void fn_1_785C(void) { lbl_1_bss_138[0] = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, fn_1_79E0); temp_r31 = (w03UnkWorkStruct*)&lbl_1_bss_138[0]->work[0]; for (i = 0; i < ARRAY_COUNT(temp_r31->unk_00); i++) { - temp_r31->unk_00[i] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x08), NULL, 0); + temp_r31->unk_00[i] = BoardModelCreate(0x770008, NULL, 0); temp_r29 = kemuri_strings[i]; if (0.0f == temp_r31->unk_0C) { diff --git a/src/REL/w03Dll/statue.c b/src/REL/w03Dll/statue.c index 2d4d9102..ac985685 100644 --- a/src/REL/w03Dll/statue.c +++ b/src/REL/w03Dll/statue.c @@ -1,19 +1,17 @@ -#include "REL/executor.h" -#include "REL/w03Dll.h" #include "dolphin.h" +#include "REL/executor.h" +#include "game/process.h" +#include "game/data.h" +#include "game/gamework_data.h" +#include "REL/w03Dll.h" #include "game/audio.h" -#include "game/board/main.h" #include "game/board/model.h" #include "game/board/player.h" #include "game/board/space.h" #include "game/board/ui.h" -#include "game/data.h" -#include "game/gamework_data.h" #include "game/hsfman.h" +#include "game/board/main.h" #include "game/objsub.h" -#include "game/process.h" - -#include "ext_math.h" void fn_1_1358(void); void fn_1_152C(void); @@ -28,17 +26,19 @@ void fn_1_2AC0(void); void fn_1_2818(void); void fn_1_2A40(void); void fn_1_2B44(void); +double atan2(double y, double x); -// data +//data s16 lbl_1_data_280 = -1; s16 lbl_1_data_282 = -1; s16 lbl_1_data_284 = -1; s16 lbl_1_data_286 = -1; s32 lbl_1_data_288 = -1; -// BSS Extern +//BSS Extern -// BSS + +//BSS s8 lbl_1_bss_6F; s8 lbl_1_bss_6E; s16 lbl_1_bss_6C; @@ -47,13 +47,12 @@ s16 lbl_1_bss_68; GXTexObj lbl_1_bss_48; char lbl_1_bss_44[4]; char lbl_1_bss_38[12]; -void *lbl_1_bss_34; +void* lbl_1_bss_34; f32 lbl_1_bss_30; s8 lbl_1_bss_2C; -Process *lbl_1_bss_28; +Process* lbl_1_bss_28; -void fn_1_12C8(void) -{ +void fn_1_12C8(void) { BoardRollDispSet(0); lbl_1_bss_28 = HuPrcChildCreate(&fn_1_1358, 0x2003, 0x2000, 0, boardMainProc); HuPrcDestructorSet2(lbl_1_bss_28, &fn_1_152C); @@ -65,8 +64,7 @@ void fn_1_12C8(void) BoardRollDispSet(1); } -void fn_1_1358(void) -{ +void fn_1_1358(void) { s32 cur_player_index; s32 unkC; @@ -77,8 +75,7 @@ void fn_1_1358(void) if ((BoardSpaceFlagGet(0, GWPlayer[cur_player_index].space_curr) & 0x2000)) { lbl_1_bss_6E = 0; lbl_1_bss_6C = lbl_1_bss_C[3]; - } - else { + } else { lbl_1_bss_6E = 1; lbl_1_bss_6C = lbl_1_bss_C[4]; } @@ -86,8 +83,7 @@ void fn_1_1358(void) if (fn_1_1650(cur_player_index) != 0) { if (fn_1_1D1C() != 0) { fn_1_1ED4(cur_player_index); - } - else { + } else { fn_1_20E0(cur_player_index); } if (lbl_1_bss_2C) { @@ -109,8 +105,7 @@ void fn_1_1358(void) HuPrcEnd(); } -void fn_1_152C(void) -{ +void fn_1_152C(void) { BoardConfettiKill(); if (lbl_1_data_282 != -1) { @@ -127,8 +122,7 @@ void fn_1_152C(void) lbl_1_bss_28 = NULL; } -s32 fn_1_15E8(void) -{ +s32 fn_1_15E8(void) { BoardModelVisibilitySet(lbl_1_bss_6C, 1); if (lbl_1_data_284 != -1) { @@ -139,30 +133,29 @@ s32 fn_1_15E8(void) return 1; } -s32 fn_1_1650(s32 arg0) -{ - Vec sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; +s32 fn_1_1650(s32 arg0) { + Point3d sp38; + Point3d sp2C; + Point3d sp20; + Point3d sp14; + Point3d sp8; f32 temp; s32 temp2; BoardPlayerIdleSet(arg0); - + if (lbl_1_bss_0->unk2) { BoardWinCreate(0, MAKE_MESSID(22, 0), -1); BoardWinWait(); BoardWinKill(); return 0; } - + temp2 = BoardSpaceLinkFlagSearch(0, GWPlayer[arg0].space_curr, 0x02000000); BoardSpacePosGet(0, temp2, &sp38); BoardPlayerPosGet(arg0, &sp2C); - VECSubtract(&sp38, &sp2C, &sp20); - temp = atan2d(-sp20.x, -sp20.z); + PSVECSubtract(&sp38, &sp2C, &sp20); + temp = (atan2(-sp20.x, -sp20.z) / M_PI) * 180.0f; BoardPlayerRotYSet(arg0, temp); sp14.x = 0.0f; sp14.y = 100.0f; @@ -176,14 +169,14 @@ s32 fn_1_1650(s32 arg0) while (GWPlayer[arg0].moving) { HuPrcVSleep(); } - + BoardStatusShowSetAll(0); BoardPlayerMotBlendSet(arg0, 0xB4, 0xF); while (BoardPlayerMotBlendCheck(arg0) == 0) { HuPrcVSleep(); } - + BoardPlayerIdleSet(arg0); BoardWinCreate(2, MAKE_MESSID(22, 1), 2); BoardWinWait(); @@ -193,8 +186,7 @@ s32 fn_1_1650(s32 arg0) if (GWPlayer[arg0].com) { if (BoardRandMod(0x64) > 0x32U) { BoardComKeySetLeft(); - } - else { + } else { BoardComKeySetRight(); } } @@ -207,35 +199,56 @@ s32 fn_1_1650(s32 arg0) BoardMusStart(1, 0x19, 0x7F, 0); HuAudFXPlay(0x435); sp8.y = BoardModelRotYGet(lbl_1_bss_6C); - + while (BoardDAngleCalcRange(&sp8.y, 180.0f, 2.0f) == 0) { BoardModelRotYSet(lbl_1_bss_6C, sp8.y); HuPrcVSleep(); } - + HuAudFXPlay(0x445); BoardModelRotYSet(lbl_1_bss_6C, 180.0f); - + while (BoardMusStatusGet(1) != 0) { HuPrcVSleep(); } return 1; } -s32 lbl_1_data_290[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 98), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 98), DATA_MAKE_NUM(DATADIR_PEACHMOT, 98), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 98), DATA_MAKE_NUM(DATADIR_WARIOMOT, 98), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 98), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 98), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 98) }; +s32 lbl_1_data_290[] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 98), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 98), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 98), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 98), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 98), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 98), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 98), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 98) +}; -s32 lbl_1_data_2B0[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 51), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 51), DATA_MAKE_NUM(DATADIR_PEACHMOT, 51), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 51), DATA_MAKE_NUM(DATADIR_WARIOMOT, 51), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 51), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 51), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 51) }; +s32 lbl_1_data_2B0[] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 51), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 51), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 51), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 51), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 51), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 51), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 51), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 51) +}; -s32 lbl_1_data_2D0[] = { 0x00000125, 0x00000165, 0x000001A5, 0x000001E5, 0x00000225, 0x00000265, 0x000002A5, 0x000002E5 }; +s32 lbl_1_data_2D0[] = { + 0x00000125, 0x00000165, 0x000001A5, + 0x000001E5, 0x00000225, 0x00000265, + 0x000002A5, 0x000002E5 +}; -s32 lbl_1_data_2F0[] = { 0x0000012E, 0x0000016E, 0x000001AE, 0x000001EE, 0x0000022E, 0x0000026E, 0x000002AE, 0x000002EE }; +s32 lbl_1_data_2F0[] = { + 0x0000012E, 0x0000016E, 0x000001AE, + 0x000001EE, 0x0000022E, 0x0000026E, + 0x000002AE, 0x000002EE +}; -void fn_1_19DC(s32 arg0, s32 arg1) -{ +void fn_1_19DC(s32 arg0, s32 arg1) { s32 temp_r30; s32 temp_r5; s32 temp_r5_2; @@ -249,8 +262,7 @@ void fn_1_19DC(s32 arg0, s32 arg1) lbl_1_bss_6A = 8; lbl_1_bss_68 = lbl_1_data_282; var_r29 = lbl_1_data_2F0[GWPlayer[arg0].character]; - } - else { + } else { lbl_1_bss_6A = 7; lbl_1_bss_68 = 1; var_r29 = lbl_1_data_2D0[GWPlayer[arg0].character]; @@ -266,17 +278,18 @@ void fn_1_19DC(s32 arg0, s32 arg1) HuAudFXPlay(var_r29); BoardPlayerVoiceEnableSet(arg0, lbl_1_bss_6A, 0); - BoardPlayerMotionShiftSet(arg0, lbl_1_bss_6A, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(arg0, lbl_1_bss_6A, 0.0f, 8.0f, 0); HuPrcSleep(9); while (BoardPlayerMotionEndCheck(arg0) == 0) { HuPrcVSleep(); + } HuPrcSleep(60); - + if (arg1 != 0) { - BoardPlayerMotionShiftSet(arg0, lbl_1_bss_68, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(arg0, lbl_1_bss_68, 0.0f, 8.0f, 0); HuPrcSleep(9); while (BoardPlayerMotionEndCheck(arg0) == 0) { HuPrcVSleep(); @@ -293,7 +306,7 @@ void fn_1_19DC(s32 arg0, s32 arg1) } BoardAudSeqPause(0, 1, 1000); - BoardPlayerMotionShiftSet(arg0, lbl_1_data_280, 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(arg0, lbl_1_data_280, 0.0f, 10.0f, 0); HuPrcSleep(11); while (BoardPlayerMotionEndCheck(arg0) == 0) { @@ -301,8 +314,7 @@ void fn_1_19DC(s32 arg0, s32 arg1) } } -s32 fn_1_1D1C(void) -{ +s32 fn_1_1D1C(void) { s32 sp34; s32 sp30; s32 sp2C; @@ -317,7 +329,11 @@ s32 fn_1_1D1C(void) s32 maxTurn; s32 sp8[3] = { 70, 50, 45 }; - s32 sp14[3][3] = { { 3, 5, 22 }, { 5, 10, 35 }, { 5, 15, 35 } }; + s32 sp14[3][3] = { + {3, 5, 22}, + {5, 10, 35}, + {5, 15, 35} + }; while (BoardMusStatusGet(1) != 0) { HuPrcVSleep(); @@ -335,30 +351,27 @@ s32 fn_1_1D1C(void) } modRand = BoardRandMod(100); - if (modRand < sp8[var_r31]) { + if (modRand < sp8[var_r31] ) { return 1; } modRand2 = BoardRandMod(100 - sp8[var_r31]); if (modRand2 < sp14[var_r31][0]) { lbl_1_bss_2C = 3; - } - else if (modRand2 < sp14[var_r31][1]) { + } else if (modRand2 < sp14[var_r31][1]) { lbl_1_bss_2C = 2; - } - else { + } else { lbl_1_bss_2C = 1; } return 0; } -void fn_1_1ED4(s32 arg0) -{ - Vec spC; +void fn_1_1ED4(s32 arg0) { + Point3d spC; f32 sp8; - lbl_1_data_284 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x0C), NULL, 0); + lbl_1_data_284 = BoardModelCreate(0x77000C, NULL, 0); BoardModelVisibilitySet(lbl_1_data_284, 0); BoardModelVisibilitySet(lbl_1_bss_6C, 0); BoardModelPosGet(lbl_1_bss_6C, &spC); @@ -369,12 +382,12 @@ void fn_1_1ED4(s32 arg0) spC.y += 700.0f; BoardConfettiCreate(&spC, 0x64, 300.0f); sp8 = BoardModelRotYGet(lbl_1_bss_6C); - + while (BoardDAngleCalcRange(&sp8, 0.0f, 30.0f) == 0) { BoardModelRotYSet(lbl_1_data_284, sp8); HuPrcVSleep(); } - + omVibrate(arg0, 0xC, 4, 2); BoardMusStart(1, 0x1A, 0x7F, 0); BoardModelRotYSet(lbl_1_data_284, 0.0f); @@ -385,7 +398,7 @@ void fn_1_1ED4(s32 arg0) } BoardPlayerIdleSet(arg0); - + while (BoardMusStatusGet(1) != 0) { HuPrcVSleep(); } @@ -397,16 +410,15 @@ void fn_1_1ED4(s32 arg0) BoardConfettiStop(); } -void fn_1_20E0(s32 arg0) -{ - Vec sp24; - Vec sp18; - Vec spC; +void fn_1_20E0(s32 arg0) { + Point3d sp24; + Point3d sp18; + Point3d spC; f32 sp8; f32 var_f31; s32 i; - lbl_1_data_284 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x0D), NULL, 0); + lbl_1_data_284 = BoardModelCreate(0x77000D, NULL, 0); BoardModelVisibilitySet(lbl_1_data_284, 0); BoardModelVisibilitySet(lbl_1_bss_6C, 0); BoardModelPosGet(lbl_1_bss_6C, &spC); @@ -423,28 +435,28 @@ void fn_1_20E0(s32 arg0) omVibrate(arg0, 0xC, 4, 2); BoardModelRotYSet(lbl_1_data_284, 0.0f); BoardModelRotYSet(lbl_1_bss_6C, 0.0f); - + while (BoardFilterFadePauseCheck() == 0) { HuPrcVSleep(); } - + BoardMusStart(1, 0x1B, 0x7F, 0); HuAudFXPlay(0x44A); fn_1_2A40(); lbl_1_bss_30 = 0.0f; - + while (lbl_1_bss_30 < 128.0f) { HuPrcVSleep(); lbl_1_bss_30 += 12.0f; } - + if (lbl_1_bss_30 > 128.0f) { lbl_1_bss_30 = 128.0f; } HuPrcSleep(40); lbl_1_bss_30 = 128.0f; - + while (lbl_1_bss_30 > 0.0f) { HuPrcVSleep(); lbl_1_bss_30 -= 12.0f; @@ -462,13 +474,13 @@ void fn_1_20E0(s32 arg0) BoardCameraMotionStartEx(-1, NULL, NULL, 1360.0f, -1.0f, 13); BoardCameraMotionWait(); } - + BoardPlayerIdleSet(arg0); while (BoardMusStatusGet(1) != 0) { HuPrcVSleep(); } - + BoardAudSeqPause(0, 0, 1000); BoardWinCreate(2, MAKE_MESSID(22, 5), 2); BoardWinWait(); @@ -491,16 +503,16 @@ void fn_1_20E0(s32 arg0) for (var_f31 = 100.0f; var_f31 > 0.0f; var_f31 -= 2.0f) { BoardCameraQuakeSet(0xA, var_f31); - HuPrcVSleep(); + HuPrcVSleep(); } - + BoardCameraQuakeReset(); if (lbl_1_data_288 != 0) { HuAudFXStop(lbl_1_data_288); lbl_1_data_288 = -1; } - + fn_1_2818(); omVibrate(arg0, 0xC, 0xC, 0); HuAudFXPlay(0x438); @@ -517,18 +529,17 @@ void fn_1_20E0(s32 arg0) HuPrcSleep(0x3C); } -void fn_1_26E0(s32 arg0) -{ - Vec sp20; - Vec sp14; - Vec sp8; +void fn_1_26E0(s32 arg0) { + Point3d sp20; + Point3d sp14; + Point3d sp8; f32 temp; BoardSpacePosGet(0, GWPlayer[arg0].space_curr, &sp20); BoardPlayerPosGet(arg0, &sp14); - VECSubtract(&sp20, &sp14, &sp8); - VECNormalize(&sp8, &sp8); - temp = atan2d(-sp8.x, -sp8.z); + PSVECSubtract(&sp20, &sp14, &sp8); + PSVECNormalize(&sp8, &sp8); + temp = (180.0f * (atan2(-sp8.x, -sp8.z) / M_PI)); BoardPlayerRotYSet(arg0, temp); BoardCameraViewSet(1); BoardCameraTargetPlayerSet(arg0); @@ -543,12 +554,11 @@ void fn_1_26E0(s32 arg0) BoardPlayerIdleSet(arg0); } -void fn_1_2818(void) -{ +void fn_1_2818(void) { s16 temp_r29; s16 temp_r30; s16 j; - s16 sp8[3] = { 0x0002, 0x003E, 0x007A }; + s16 sp8[3] = {0x0002, 0x003E, 0x007A}; temp_r29 = (4 - lbl_1_bss_2C) * 60; BoardModelMotionStart(lbl_1_bss_C[1], 0, 0); @@ -559,21 +569,19 @@ void fn_1_2818(void) for (j = 0; j < ARRAY_COUNT(sp8); j++) { if (temp_r30 == sp8[j]) { HuAudFXPlay(0x446); - } + } } HuPrcVSleep(); - } - else { + } else { break; - } + } } BoardModelAttrSet(lbl_1_bss_C[1], 0x40000002); HuPrcSleep(0x3C); } -s32 fn_1_2930(s32 arg0) -{ +s32 fn_1_2930(s32 arg0) { lbl_1_bss_0->unk0--; if (lbl_1_bss_0->unk0 <= 0) { @@ -596,16 +604,14 @@ s32 fn_1_2930(s32 arg0) return 0; } -void fn_1_2A40(void) -{ +void fn_1_2A40(void) { lbl_1_bss_30 = 0.0f; - lbl_1_bss_34 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x96000, MEMORY_DEFAULT_NUM); - lbl_1_data_286 = Hu3DHookFuncCreate((void *)&fn_1_2B44); + lbl_1_bss_34 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x96000, 0x10000000U); + lbl_1_data_286 = Hu3DHookFuncCreate((void*)&fn_1_2B44); Hu3DModelLayerSet(lbl_1_data_286, 3); } -void fn_1_2AC0(void) -{ +void fn_1_2AC0(void) { if (lbl_1_bss_34) { HuMemDirectFree(lbl_1_bss_34); lbl_1_bss_34 = NULL; @@ -617,16 +623,15 @@ void fn_1_2AC0(void) } } -void fn_1_2B44(void) -{ +void fn_1_2B44(void) { Mtx44 sp50; Mtx sp20; GXColor sp14; GXColor sp10; GXColor spC; u8 sp8; - GXColor sp1C = { 0xFF, 0xFF, 0xFF, 0xFF }; - GXColor sp18 = { 0xFF, 0xFF, 0xFF, 0xFF }; + GXColor sp1C = {0xFF, 0xFF, 0xFF, 0xFF}; + GXColor sp18 = {0xFF, 0xFF, 0xFF, 0xFF}; f32 temp_f28 = 0.0f; f32 temp_f30 = 640.0f; @@ -638,7 +643,7 @@ void fn_1_2B44(void) GXLoadTexObj(&lbl_1_bss_48, GX_TEXMAP0); C_MTXOrtho(sp50, temp_f27, temp_f29, temp_f28, temp_f30, 0.0f, 10.0f); GXSetProjection(sp50, GX_ORTHOGRAPHIC); - MTXIdentity(sp20); + PSMTXIdentity(sp20); GXLoadPosMtxImm(sp20, 0); GXSetCurrentMtx(0); GXSetViewport(0.0f, 0.0f, temp_f30, 1.0f + temp_f29, 0.0f, 1.0f); diff --git a/src/REL/w04Dll/big_boo.c b/src/REL/w04Dll/big_boo.c index 16df9492..ff859078 100755 --- a/src/REL/w04Dll/big_boo.c +++ b/src/REL/w04Dll/big_boo.c @@ -391,7 +391,7 @@ static void fn_1_6CF8(void) { HuPrcSleep(0x78); for (i = 0; i < 3; i++) { BoardPlayerModelAttrReset(sp8[i], 0x40000001); - BoardPlayerMotionShiftSet(sp8[i], lbl_1_bss_114[sp8[i]][1], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(sp8[i], lbl_1_bss_114[sp8[i]][1], 0.0f, 5.0f, 0); } BoardModelPosGet(lbl_1_bss_274, &sp10); var_r28 = 10; @@ -407,7 +407,7 @@ static void fn_1_6CF8(void) { HuPrcVSleep(); } for (i = 0; i < 3; i++) { - BoardPlayerMotionShiftSet(sp8[i], 1, 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(sp8[i], 1, 0.0f, 5.0f, 0x40000001); } } @@ -780,7 +780,7 @@ static void fn_1_7888(void) { var_f31 = -40.0f; } if (var_r28 == var_r27) { - BoardPlayerMotionShiftSet(lbl_1_bss_282, 7, 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(lbl_1_bss_282, 7, 0.0f, 10.0f, 0); break; } HuPrcVSleep(); @@ -913,13 +913,9 @@ static void fn_1_8A60(void) { HuPrcVSleep(); } fn_1_7300(); - #if VERSION_ENG sprintf(sp10, "%d", var_r29); BoardWinCreate(2, MAKE_MESSID(32, 11), 9); BoardWinInsertMesSet(MAKE_MESSID_PTR(sp10), 0); - #else - BoardWinCreate(2, MAKE_MESSID(32, 11), 9); - #endif BoardWinWait(); BoardWinKill(); BoardAudSeqFadeOut(1, 1000); @@ -981,7 +977,7 @@ static void fn_1_8A60(void) { } } temp_r27 = HuAudSStreamPlay(6); - BoardPlayerMotionShiftSet(lbl_1_bss_282, 7, 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(lbl_1_bss_282, 7, 0.0f, 10.0f, 0); while (!BoardPlayerMotionEndCheck(lbl_1_bss_282)) { HuPrcVSleep(); } @@ -1012,7 +1008,7 @@ static void fn_1_98A0(void) { BoardModelPosGet(lbl_1_bss_274, &sp14); var_f30 = BoardModelRotYGet(lbl_1_bss_274); - BoardModelMotionShiftSet(lbl_1_bss_274, 2, 0.0f, 25.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_274, 2, 0.0f, 25.0f, 0x40000001); for (i = 0; i < 25; i++) { var_f30 += 7.2f; BoardModelRotYSet(lbl_1_bss_274, var_f30); diff --git a/src/REL/w04Dll/boo_event.c b/src/REL/w04Dll/boo_event.c index 2913f005..3a89e85b 100755 --- a/src/REL/w04Dll/boo_event.c +++ b/src/REL/w04Dll/boo_event.c @@ -1,14 +1,6 @@ #include "REL/w04Dll.h" #include "game/audio.h" -#include "game/board/audio.h" -#include "game/board/main.h" -#include "game/board/model.h" -#include "game/board/player.h" -#include "game/board/space.h" -#include "game/board/ui.h" -#include "game/board/window.h" #include "game/data.h" -#include "game/frand.h" #include "game/gamework_data.h" #include "game/hsfanim.h" #include "game/hsfdraw.h" @@ -20,6 +12,14 @@ #include "game/process.h" #include "game/sprite.h" #include "game/window.h" +#include "game/board/audio.h" +#include "game/board/main.h" +#include "game/board/model.h" +#include "game/board/player.h" +#include "game/board/space.h" +#include "game/board/ui.h" +#include "game/board/window.h" +#include "game/frand.h" #include "dolphin.h" #include "ext_math.h" @@ -94,25 +94,50 @@ static s16 lbl_1_bss_50; static AnimData *lbl_1_bss_4C; static Process *lbl_1_bss_48; -static s32 lbl_1_data_2D0[8] = { DATADIR_MARIOMOT, DATADIR_LUIGIMOT, DATADIR_PEACHMOT, DATADIR_YOSHIMOT, DATADIR_WARIOMOT, DATADIR_DONKEYMOT, - DATADIR_DAISYMOT, DATADIR_WALUIGIMOT }; +static s32 lbl_1_data_2D0[8] = { + DATADIR_MARIOMOT, + DATADIR_LUIGIMOT, + DATADIR_PEACHMOT, + DATADIR_YOSHIMOT, + DATADIR_WARIOMOT, + DATADIR_DONKEYMOT, + DATADIR_DAISYMOT, + DATADIR_WALUIGIMOT +}; static s32 lbl_1_data_2F0 = 28; -static s32 lbl_1_data_2F4[8] - = { DATA_MAKE_NUM(DATADIR_W04, 35), DATA_MAKE_NUM(DATADIR_W04, 36), DATA_MAKE_NUM(DATADIR_W04, 37), DATA_MAKE_NUM(DATADIR_W04, 38), - DATA_MAKE_NUM(DATADIR_W04, 39), DATA_MAKE_NUM(DATADIR_W04, 40), DATA_MAKE_NUM(DATADIR_W04, 41), DATA_MAKE_NUM(DATADIR_W04, 42) }; +static s32 lbl_1_data_2F4[8] = { + DATA_MAKE_NUM(DATADIR_W04, 35), + DATA_MAKE_NUM(DATADIR_W04, 36), + DATA_MAKE_NUM(DATADIR_W04, 37), + DATA_MAKE_NUM(DATADIR_W04, 38), + DATA_MAKE_NUM(DATADIR_W04, 39), + DATA_MAKE_NUM(DATADIR_W04, 40), + DATA_MAKE_NUM(DATADIR_W04, 41), + DATA_MAKE_NUM(DATADIR_W04, 42) +}; -static s32 lbl_1_data_314[8] - = { DATA_MAKE_NUM(DATADIR_W04, 43), DATA_MAKE_NUM(DATADIR_W04, 44), DATA_MAKE_NUM(DATADIR_W04, 45), DATA_MAKE_NUM(DATADIR_W04, 46), - DATA_MAKE_NUM(DATADIR_W04, 47), DATA_MAKE_NUM(DATADIR_W04, 48), DATA_MAKE_NUM(DATADIR_W04, 49), DATA_MAKE_NUM(DATADIR_W04, 50) }; +static s32 lbl_1_data_314[8] = { + DATA_MAKE_NUM(DATADIR_W04, 43), + DATA_MAKE_NUM(DATADIR_W04, 44), + DATA_MAKE_NUM(DATADIR_W04, 45), + DATA_MAKE_NUM(DATADIR_W04, 46), + DATA_MAKE_NUM(DATADIR_W04, 47), + DATA_MAKE_NUM(DATADIR_W04, 48), + DATA_MAKE_NUM(DATADIR_W04, 49), + DATA_MAKE_NUM(DATADIR_W04, 50) +}; -static char *lbl_1_data_348[] = { "kan1", "kan2", "kan3", "kan4" }; +static char *lbl_1_data_348[] = { + "kan1", "kan2", "kan3", "kan4" +}; -static float lbl_1_data_358[] = { -150.00001f, -170.00001f, -30.0f, -220.0f }; +static float lbl_1_data_358[] = { + -150.00001f, -170.00001f, -30.0f, -220.0f +}; -static void fn_1_20EC(void) -{ +static void fn_1_20EC(void) { Vec sp20; Vec sp14; Vec sp8; @@ -138,7 +163,7 @@ static void fn_1_20EC(void) } } for (i = 0; i < 3; i++) { - lbl_1_bss_F4[i] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x00), NULL, 1); + lbl_1_bss_F4[i] = BoardModelCreate(0x70000, NULL, 1); BoardModelLayerSet(lbl_1_bss_F4[i], 2); BoardModelVisibilitySet(lbl_1_bss_F4[i], 0); } @@ -162,7 +187,7 @@ static void fn_1_20EC(void) HuPrcVSleep(); } BoardCameraMotionWait(); - BoardPlayerMotionShiftSet(temp_r30, lbl_1_bss_52[temp_r30][0], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(temp_r30, lbl_1_bss_52[temp_r30][0], 0.0f, 5.0f, 0); HuAudPlayerVoicePlay(temp_r30, 0x128); BoardModelPosGet(lbl_1_bss_14[3], &sp20); BoardModelPosSetV(lbl_1_bss_FA, &sp20); @@ -186,10 +211,10 @@ static void fn_1_20EC(void) while (fn_1_1130(lbl_1_bss_FA, atan2d(sp14.x - sp20.x, sp14.z - sp20.z), 2.0f) == 0) { HuPrcVSleep(); } - VECSubtract(&sp14, &sp20, &sp8); - VECScale(&sp8, &sp8, 0.022222223f); + PSVECSubtract(&sp14, &sp20, &sp8); + PSVECScale(&sp8, &sp8, 0.022222223f); for (i = 0; i < 45; i++) { - VECAdd(&sp20, &sp8, &sp20); + PSVECAdd(&sp20, &sp8, &sp20); BoardModelPosSetV(lbl_1_bss_FA, &sp20); HuPrcVSleep(); } @@ -233,8 +258,7 @@ static void fn_1_20EC(void) HuPrcEnd(); } -static void fn_1_28BC(void) -{ +static void fn_1_28BC(void) { Vec sp20; Vec sp14; Vec sp8; @@ -249,7 +273,7 @@ static void fn_1_28BC(void) var_r27 = HuPrcChildCreate(fn_1_45A8, 0x2001, 0x800, 0, boardMainProc); HuPrcDestructorSet2(var_r27, fn_1_4630); - var_r26 = (float *)&var_r27->user_data; + var_r26 = (float*) &var_r27->user_data; lbl_1_bss_C2 = fn_1_4680(lbl_1_bss_78); var_r29 = 0; while (var_r29 == 0) { @@ -269,12 +293,12 @@ static void fn_1_28BC(void) BoardModelPosGet(lbl_1_bss_FA, &sp14); temp_f30 = atan2d(sp20.x - sp14.x, sp20.z - sp14.z); BoardModelRotYSet(lbl_1_bss_FA, temp_f30); - VECSubtract(&sp20, &sp14, &sp8); - VECScale(&sp8, &sp8, 0.022222223f); + PSVECSubtract(&sp20, &sp14, &sp8); + PSVECScale(&sp8, &sp8, 0.022222223f); *var_r26 = temp_f30 - 180.0f; fn_1_2EE8(3); for (i = 0; i < 45; i++) { - VECAdd(&sp8, &sp14, &sp14); + PSVECAdd(&sp8, &sp14, &sp14); BoardModelPosSetV(lbl_1_bss_FA, &sp14); fn_1_5018(); if (var_r29 != 0) { @@ -294,8 +318,7 @@ static void fn_1_28BC(void) } } -static void fn_1_2B8C(void) -{ +static void fn_1_2B8C(void) { s32 i; while (fn_1_2F54(4) == 0 || lbl_1_bss_7C != 0) { @@ -308,8 +331,7 @@ static void fn_1_2B8C(void) } } -static void fn_1_2C10(void) -{ +static void fn_1_2C10(void) { Vec sp8; BssE4Data *temp_r31; s32 i; @@ -334,9 +356,8 @@ static void fn_1_2C10(void) temp_r31->unk0C = 0; if (i == 0) { temp_r31->unk0A = lbl_1_bss_FA; - } - else { - temp_r31->unk0A = ((BssE4Data *)lbl_1_bss_E4[i - 1]->user_data)->unk04; + } else { + temp_r31->unk0A = ((BssE4Data*) lbl_1_bss_E4[i - 1]->user_data)->unk04; } lbl_1_bss_E4[i] = HuPrcChildCreate(fn_1_30A4, 0x2003, 0x1000, 0, boardMainProc); lbl_1_bss_E4[i]->user_data = temp_r31; @@ -345,8 +366,7 @@ static void fn_1_2C10(void) } } -static void fn_1_2E60(s16 arg0) -{ +static void fn_1_2E60(s16 arg0) { BssE4Data *temp_r3; temp_r3 = fn_1_2FBC(arg0); @@ -356,8 +376,7 @@ static void fn_1_2E60(s16 arg0) HuMemDirectFree(lbl_1_bss_E4[arg0]->user_data); } -static void fn_1_2EE8(s32 arg0) -{ +static void fn_1_2EE8(s32 arg0) { s32 i; for (i = 0; i < 4; i++) { @@ -367,8 +386,7 @@ static void fn_1_2EE8(s32 arg0) } } -static s32 fn_1_2F54(u32 arg0) -{ +static s32 fn_1_2F54(u32 arg0) { s32 i; for (i = 0; i < 4; i++) { @@ -378,19 +396,16 @@ static s32 fn_1_2F54(u32 arg0) } if (i != 4) { return 0; - } - else { + } else { return 1; } } -static BssE4Data *fn_1_2FBC(s16 arg0) -{ +static BssE4Data *fn_1_2FBC(s16 arg0) { return lbl_1_bss_E4[arg0]->user_data; } -static void fn_1_2FDC(void) -{ +static void fn_1_2FDC(void) { Vec sp8; BssE4Data *temp_r31; @@ -408,8 +423,7 @@ static void fn_1_2FDC(void) } } -static void fn_1_30A4(void) -{ +static void fn_1_30A4(void) { Vec sp20; Vec sp14; float temp_f31; @@ -437,8 +451,7 @@ static void fn_1_30A4(void) if (temp_r31->unk06 == 0) { BoardPlayerPosGet(GWSystem.player_curr, &temp_r31->unk20); temp_r31->unk20.y += 65.0f; - } - else { + } else { temp_r31->unk20 = fn_1_2FBC(temp_r31->unk06 - 1)->unk20; temp_r31->unk20.z -= 300.0f; } @@ -460,10 +473,10 @@ static void fn_1_30A4(void) while (fn_1_1130(temp_r31->unk04, temp_f31, 5.0f) == 0) { HuPrcVSleep(); } - VECSubtract(&temp_r31->unk20, &sp20, &sp14); - VECScale(&sp14, &sp14, 0.016666668f); + PSVECSubtract(&temp_r31->unk20, &sp20, &sp14); + PSVECScale(&sp14, &sp14, 0.016666668f); for (i = 0; i < 60; i++) { - VECAdd(&sp14, &sp20, &sp20); + PSVECAdd(&sp14, &sp20, &sp20); BoardModelPosSetV(temp_r31->unk04, &sp20); HuPrcVSleep(); } @@ -495,13 +508,12 @@ static void fn_1_30A4(void) } BoardPlayerPosSetV(i, &sp14); BoardPlayerRotYSet(i, 0.0f); - BoardPlayerMotionShiftSet(i, lbl_1_bss_52[GWSystem.player_curr][1], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(i, lbl_1_bss_52[GWSystem.player_curr][1], 0.0f, 10.0f, 0x40000001); temp_r31->unk08 = i; } if (temp_r31->unk06 == 0) { BoardModelPosGet(lbl_1_bss_FA, &temp_r31->unk20); - } - else { + } else { BoardModelPosGet(fn_1_2FBC(temp_r31->unk06 - 1)->unk04, &temp_r31->unk20); } temp_r31->unk00 = 0; @@ -521,8 +533,8 @@ static void fn_1_30A4(void) if (temp_r31->unk08 != -1) { BoardPlayerRotYSet(temp_r31->unk08, temp_f31); } - VECSubtract(&temp_r31->unk20, &sp20, &sp14); - VECScale(&sp14, &sp14, 0.022222223f); + PSVECSubtract(&temp_r31->unk20, &sp20, &sp14); + PSVECScale(&sp14, &sp14, 0.022222223f); if (temp_r31->unk0C > 0) { var_r28 = BoardSpaceGet(0, temp_r31->unk0C); if (var_r28->flag & 1) { @@ -535,7 +547,7 @@ static void fn_1_30A4(void) } } for (i = 0; i < 45; i++) { - VECAdd(&sp20, &sp14, &sp20); + PSVECAdd(&sp20, &sp14, &sp20); BoardModelPosSetV(temp_r31->unk04, &sp20); if (temp_r31->unk08 != -1) { BoardPlayerPosSetV(temp_r31->unk08, &sp20); @@ -553,8 +565,7 @@ static void fn_1_30A4(void) temp_r31->unk0E = temp_r31->unk0C; if (temp_r31->unk06 == 0) { temp_r31->unk0C = lbl_1_bss_74; - } - else { + } else { temp_r31->unk0C = fn_1_2FBC(temp_r31->unk06 - 1)->unk0E; } BoardModelPosSetV(temp_r31->unk04, &temp_r31->unk20); @@ -563,16 +574,14 @@ static void fn_1_30A4(void) } if (temp_r31->unk06 == 0) { BoardModelPosGet(lbl_1_bss_FA, &temp_r31->unk20); - } - else { + } else { BoardModelPosGet(fn_1_2FBC(temp_r31->unk06 - 1)->unk04, &temp_r31->unk20); } if (var_r29 != 0) { BoardModelVisibilitySet(temp_r31->unk04, 0); temp_r31->unk02 = 0; temp_r31->unk00 = 4; - } - else { + } else { temp_r31->unk00 = 0; } break; @@ -581,8 +590,7 @@ static void fn_1_30A4(void) } } -static void fn_1_38D8(void) -{ +static void fn_1_38D8(void) { Vec sp24; Vec sp18; Vec spC; @@ -596,20 +604,20 @@ static void fn_1_38D8(void) temp_r30 = HuPrcCurrentGet()->user_data; temp_r31 = temp_r30->unk08; temp_r30->unk08 = -1; - BoardPlayerMotionShiftSet(temp_r31, 4, 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(temp_r31, 4, 0.0f, 5.0f, 0); sp18 = lbl_1_bss_80[temp_r31]; GWPlayer[temp_r31].space_curr = lbl_1_bss_B0; BoardPlayerPosGet(temp_r31, &sp24); var_f28 = atan2d(sp18.x - sp24.x, sp18.z - sp24.z); BoardPlayerRotYSet(temp_r31, var_f28); - VECSubtract(&sp18, &sp24, &spC); - VECScale(&spC, &spC, 0.025f); + PSVECSubtract(&sp18, &sp24, &spC); + PSVECScale(&spC, &spC, 0.025f); temp_f26 = 12.0f; var_f29 = 0.0f; while (TRUE) { spC.y = temp_f26 - var_f29 * var_f29 * 0.25f * 0.075f; var_f29 += 1.0f; - VECAdd(&spC, &sp24, &sp24); + PSVECAdd(&spC, &sp24, &sp24); if (sp24.y <= sp18.y) { sp24.y = sp18.y; break; @@ -632,8 +640,7 @@ static void fn_1_38D8(void) HuPrcEnd(); } -static s32 fn_1_3C9C(void) -{ +static s32 fn_1_3C9C(void) { Vec sp50; Vec sp44; Vec sp38; @@ -689,16 +696,16 @@ static s32 fn_1_3C9C(void) for (i = 0; i < var_r29; i++) { BoardSpacePosGet(0, sp20[i], &sp44); sp50.y = sp44.y; - VECSubtract(&sp44, &sp50, &sp38); + PSVECSubtract(&sp44, &sp50, &sp38); var_f31 = atan2d(sp38.x, sp38.z); if (var_f31 < 0.0f) { var_f31 += 360.0f; } sp28[i] = var_f31; - VECNormalize(&sp38, &sp44); - VECScale(&sp44, &sp44, 110.0f); + PSVECNormalize(&sp38, &sp44); + PSVECScale(&sp44, &sp44, 110.0f); sp44.y += 200.0f; - VECAdd(&sp50, &sp44, &sp44); + PSVECAdd(&sp50, &sp44, &sp44); BoardModelPosSetV(lbl_1_bss_F4[i], &sp44); BoardModelRotYSet(lbl_1_bss_F4[i], var_f31); BoardModelVisibilitySet(lbl_1_bss_F4[i], 1); @@ -724,20 +731,17 @@ static s32 fn_1_3C9C(void) var_r19 = 0; if (var_r21 != 0) { var_r21--; - } - else { + } else { var_r21 = frandmod(10) + 15; if (frandBool() || var_r18 == 3) { var_r19 = 0x100; - } - else { + } else { OSReport("com sel chg: %d \n", var_r29); var_r18++; var_r23 = frandmod(var_r29); } } - } - else { + } else { var_r26 = HuPadStkX[temp_r20]; var_r25 = HuPadStkY[temp_r20]; var_r19 = HuPadBtnDown[temp_r20]; @@ -779,8 +783,7 @@ static s32 fn_1_3C9C(void) if (var_f31 > 180.0f) { var_f31 -= 180.0f; } - } - else { + } else { sp38.x = sp38.y = sp38.z = 1.8f; } BoardModelScaleSetV(lbl_1_bss_F4[i], &sp38); @@ -795,8 +798,7 @@ static s32 fn_1_3C9C(void) var_r24 = sp20[var_r27]; lbl_1_bss_70 = sp18[var_r27]; lbl_1_bss_C2 = fn_1_4680(var_r24); - } - else if (lbl_1_bss_70 != 0) { + } else if (lbl_1_bss_70 != 0) { i = BoardSpaceLinkTargetListGet(0, lbl_1_bss_78, sp10); for (i--; i >= 0; i--) { var_r28 = BoardSpaceGet(0, sp10[i]); @@ -805,8 +807,7 @@ static s32 fn_1_3C9C(void) } } var_r24 = sp10[i]; - } - else { + } else { for (i = 0; i < temp_r30->link_cnt; i++) { var_r28 = BoardSpaceGet(0, temp_r30->link[i]); if (var_r28->flag & 0x200) { @@ -818,13 +819,12 @@ static s32 fn_1_3C9C(void) return var_r24; } -static void fn_1_45A8(void) -{ +static void fn_1_45A8(void) { float *temp_r30; s32 var_r31; var_r31 = 15; - temp_r30 = (float *)&HuPrcCurrentGet()->user_data; + temp_r30 = (float*) &HuPrcCurrentGet()->user_data; while (TRUE) { if (var_r31 == 0) { BoardCameraMoveSet(0); @@ -842,8 +842,7 @@ static void fn_1_45A8(void) } } -static void fn_1_4630(void) -{ +static void fn_1_4630(void) { BoardCameraMoveSet(0); BoardCameraTargetPlayerSet(GWSystem.player_curr); BoardCameraViewSet(2); @@ -851,8 +850,7 @@ static void fn_1_4630(void) BoardCameraMoveSet(1); } -static s32 fn_1_4680(s16 arg0) -{ +static s32 fn_1_4680(s16 arg0) { BoardSpace *var_r30; BoardSpace *var_r29; s16 sp8[4]; @@ -882,8 +880,7 @@ static s32 fn_1_4680(s16 arg0) } } arg0 = sp8[i]; - } - else { + } else { for (i = 0; i < var_r30->link_cnt; i++) { var_r29 = BoardSpaceGet(0, var_r30->link[i]); if (var_r29->flag & 0x200) { @@ -900,8 +897,7 @@ static s32 fn_1_4680(s16 arg0) return var_r27; } -static void fn_1_4848(void) -{ +static void fn_1_4848(void) { Vec sp20; Vec sp14; float temp_f28; @@ -909,7 +905,7 @@ static void fn_1_4848(void) s32 temp_r30; s32 i; - temp_r30 = (s32)HuPrcCurrentGet()->user_data; + temp_r30 = (s32) HuPrcCurrentGet()->user_data; BoardPlayerPosGet(temp_r30, &sp20); BoardPlayerMotBlendSet(temp_r30, BoardModelRotYGet(lbl_1_bss_FA) - 180.0f, 0xA); while (!BoardPlayerMotBlendCheck(temp_r30)) { @@ -921,7 +917,7 @@ static void fn_1_4848(void) } HuPrcVSleep(); } - BoardPlayerMotionShiftSet(temp_r30, lbl_1_bss_52[temp_r30][0], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(temp_r30, lbl_1_bss_52[temp_r30][0], 0.0f, 5.0f, 0); HuAudPlayerVoicePlay(temp_r30, 0x128); for (i = 0; i < 65; i++) { BoardModelPosGet(lbl_1_bss_FA, &sp14); @@ -931,7 +927,7 @@ static void fn_1_4848(void) } HuPrcVSleep(); } - BoardPlayerMotionShiftSet(temp_r30, 1, 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(temp_r30, 1, 0.0f, 5.0f, 0); BoardModelPosGet(lbl_1_bss_FA, &sp14); temp_f28 = VECDistanceXZ(&sp20, &sp14); if (temp_f28 > 200.0f) { @@ -985,8 +981,7 @@ block_A: HuPrcEnd(); } -static void fn_1_5018(void) -{ +static void fn_1_5018(void) { Vec sp18; Vec spC; float var_f29; @@ -1000,14 +995,13 @@ static void fn_1_5018(void) if (var_f29 < 900.0f && lbl_1_bss_B2[lbl_1_bss_BA[i]] == 0) { temp_r3 = HuPrcChildCreate(fn_1_4848, 0x2003, 0x2000, 0, boardMainProc); lbl_1_bss_D4[lbl_1_bss_BA[i]] = temp_r3; - temp_r3->user_data = (u8 *)lbl_1_bss_BA[i]; + temp_r3->user_data = (u8*) lbl_1_bss_BA[i]; lbl_1_bss_B2[lbl_1_bss_BA[i]] = 1; } } } -static void fn_1_52A0(s16 arg0, Vec *arg1) -{ +static void fn_1_52A0(s16 arg0, Vec *arg1) { Vec sp40[4]; Vec sp10[4]; BssE4Data *var_r30; @@ -1066,13 +1060,11 @@ static void fn_1_52A0(s16 arg0, Vec *arg1) BoardSpacePosGet(0, lbl_1_bss_B0, &arg1[GWSystem.player_curr]); } -static void fn_1_55A0(void) -{ +static void fn_1_55A0(void) { lbl_1_bss_48 = NULL; } -void fn_1_55B4(void) -{ +void fn_1_55B4(void) { s32 sp8; sp8 = GWSystem.player_curr; @@ -1083,8 +1075,7 @@ void fn_1_55B4(void) } } -static void fn_1_5648(void) -{ +static void fn_1_5648(void) { ParticleData *var_r30; s32 i; @@ -1096,14 +1087,13 @@ static void fn_1_5648(void) Hu3DParticleScaleSet(lbl_1_bss_C4[i]->model[0], 5.0f); Hu3DParticleHookSet(lbl_1_bss_C4[i]->model[0], fn_1_5A2C); Hu3DParticleBlendModeSet(lbl_1_bss_C4[i]->model[0], 1); - Hu3DModelAttrSet(lbl_1_bss_C4[i]->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(lbl_1_bss_C4[i]->model[0], 1); var_r30 = Hu3DData[lbl_1_bss_C4[i]->model[0]].unk_120; var_r30->unk_1C = lbl_1_bss_C4[i]; } } -static void fn_1_5828(void) -{ +static void fn_1_5828(void) { s32 i; for (i = 0; i < 4; i++) { @@ -1112,8 +1102,7 @@ static void fn_1_5828(void) } } -static s16 fn_1_58A4(Vec *arg0) -{ +static s16 fn_1_58A4(Vec *arg0) { s16 i; for (i = 0; i < 4; i++) { @@ -1128,25 +1117,22 @@ static s16 fn_1_58A4(Vec *arg0) return -1; } -static void fn_1_5980(s16 arg0) -{ +static void fn_1_5980(s16 arg0) { lbl_1_bss_C4[arg0]->work[1] = 1; lbl_1_bss_C4[arg0]->work[2] = 0; } -static void fn_1_59C4(omObjData *arg0) -{ +static void fn_1_59C4(omObjData *arg0) { if (arg0->work[0] != 0) { - Hu3DModelAttrReset(arg0->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(arg0->model[0], 1); } if (arg0->work[2] != 0) { arg0->work[0] = 0; - Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(arg0->model[0], 1); } } -static void fn_1_5A2C(ModelData *model, ParticleData *particle, Mtx matrix) -{ +static void fn_1_5A2C(ModelData *model, ParticleData *particle, Mtx matrix) { s32 var_r26; s32 i; s32 j; @@ -1202,8 +1188,7 @@ static void fn_1_5A2C(ModelData *model, ParticleData *particle, Mtx matrix) if (var_r31->unk08.z <= 0.0f) { var_r31->unk08.z = 0.0f; } - } - else { + } else { var_r26++; } } diff --git a/src/REL/w04Dll/bridge.c b/src/REL/w04Dll/bridge.c index 005223a4..8198e5e7 100755 --- a/src/REL/w04Dll/bridge.c +++ b/src/REL/w04Dll/bridge.c @@ -122,7 +122,7 @@ void fn_1_1618(void) { BoardWinWait(); BoardWinKill(); } - BoardPlayerMotionShiftSet(temp_r31, 1, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(temp_r31, 1, 0.0f, 10.0f, 0x40000001); BoardCameraViewSet(1); BoardCameraMotionWait(); BoardRollDispSet(1); @@ -262,8 +262,8 @@ static void fn_1_1E60(void) { while (TRUE) { BoardSpacePosGet(0, var_r29, &sp14); BoardSpacePosGet(0, var_r28, &sp8); - VECSubtract(&sp8, &sp14, &sp20); - VECScale(&sp20, &sp20, 0.008333334f); + PSVECSubtract(&sp8, &sp14, &sp20); + PSVECScale(&sp20, &sp20, 0.008333334f); temp_f31 = atan2d(sp8.x - sp14.x, sp8.z - sp14.z); BoardModelPosGet(temp_r31[1], &sp14); while (fn_1_1130(temp_r31[1], temp_f31, 2.5f) == 0) { @@ -280,7 +280,7 @@ static void fn_1_1E60(void) { } else { BoardModelAlphaSet(temp_r31[1], 0); } - VECAdd(&sp14, &sp20, &sp14); + PSVECAdd(&sp14, &sp20, &sp14); BoardModelPosSetV(temp_r31[1], &sp14); HuPrcVSleep(); } diff --git a/src/REL/w04Dll/mg_coin.c b/src/REL/w04Dll/mg_coin.c index 72baaaff..4be845b4 100755 --- a/src/REL/w04Dll/mg_coin.c +++ b/src/REL/w04Dll/mg_coin.c @@ -137,11 +137,11 @@ void fn_1_C7D4(void) { BoardModelPosGet(lbl_1_bss_14[9], &sp8); sp14 = sp8; sp14.x = sp2C.x; - VECSubtract(&sp14, &sp8, &sp38); - VECScale(&sp38, &sp38, 0.022727273f); + PSVECSubtract(&sp14, &sp8, &sp38); + PSVECScale(&sp38, &sp38, 0.022727273f); for (i = 0; i < 44; i++) { BoardModelPosGet(lbl_1_bss_14[9], &sp8); - VECAdd(&sp8, &sp38, &sp8); + PSVECAdd(&sp8, &sp38, &sp8); BoardModelPosSetV(lbl_1_bss_14[9], &sp8); HuPrcVSleep(); } @@ -156,20 +156,20 @@ void fn_1_C7D4(void) { while (!BoardPlayerMotBlendCheck(lbl_1_bss_324)) { HuPrcVSleep(); } - BoardPlayerMotionShiftSet(lbl_1_bss_324, 4, 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(lbl_1_bss_324, 4, 0.0f, 5.0f, 0); var_f31 = 0.0f; temp_f30 = 8.0f; - VECSubtract(&sp2C, &sp20, &sp38); - VECScale(&sp38, &sp38, 0.05f); + PSVECSubtract(&sp2C, &sp20, &sp38); + PSVECScale(&sp38, &sp38, 0.05f); while (TRUE) { BoardPlayerPosGet(lbl_1_bss_324, &sp20); sp38.y = temp_f30 - var_f31 * var_f31 * 0.25f * 0.075f; var_f31 += 1.0f; - VECAdd(&sp38, &sp20, &sp20); + PSVECAdd(&sp38, &sp20, &sp20); sp14 = sp2C; sp14.y = sp20.y; - VECSubtract(&sp14, &sp20, &sp14); - var_f29 = VECMag(&sp14); + PSVECSubtract(&sp14, &sp20, &sp14); + var_f29 = PSVECMag(&sp14); if (var_f29 <= 1.0f) { sp38.x = sp38.z = 0.0f; sp20.x = sp2C.x; @@ -235,7 +235,7 @@ static void fn_1_D0DC(void) { } static void fn_1_D174(omObjData *arg0) { - MSM_MUSPARAM musParam; + UnkMsmStruct_03 sp8; if (arg0->work[0] == 0) { arg0->work[0] = MGSeqCreate(3, 0); @@ -243,11 +243,11 @@ static void fn_1_D174(omObjData *arg0) { return; } if (MGSeqStatGet(arg0->work[0]) == 0) { - musParam.flag = MSM_MUSPARAM_CHAN; - musParam.fadeSpeed = 0; - musParam.vol = 0x7F; - musParam.chan = 1; - lbl_1_data_588 = msmMusPlay(0x1D, &musParam); + sp8.unk00 = 1; + sp8.unk06 = 0; + sp8.unk05 = 0x7F; + sp8.unk04 = 1; + lbl_1_data_588 = msmMusPlay(0x1D, &sp8); arg0->func = fn_1_D230; } } @@ -273,7 +273,7 @@ static void fn_1_D2A4(omObjData *arg0) { sp8 = BoardModelRotYGet(lbl_1_bss_14[9]); BoardModelPosGet(lbl_1_bss_14[9], &spC); if (arg0->scale.x != 0.0f) { - arg0->scale.x -= 510.0f/REFRESH_RATE; + arg0->scale.x -= 8.5f; if (arg0->scale.x < 0.0f) { arg0->scale.x = 0.0f; } @@ -294,7 +294,7 @@ static void fn_1_D2A4(omObjData *arg0) { Hu3DMotionExec(BoardModelIDGet(lbl_1_bss_2F8), temp_r30->unk_08, temp_r30->unk_64, 0); } lbl_1_bss_31C->work[0] = 60; - lbl_1_bss_31C->unk10 = frandmod((REFRESH_RATE*2)/3) + (REFRESH_RATE/6); + lbl_1_bss_31C->unk10 = frandmod(40) + 10; lbl_1_bss_31C->work[1] = arg0->work[1]; lbl_1_bss_31C->func = fn_1_E18C; } @@ -304,7 +304,7 @@ static void fn_1_D554(omObjData *arg0) { float sp8; sp8 = BoardModelRotYGet(lbl_1_bss_14[9]); - arg0->scale.x += 510.0f/REFRESH_RATE; + arg0->scale.x += 8.5f; if (arg0->scale.x > 255.0f) { arg0->scale.x = 255.0f; } @@ -411,7 +411,7 @@ static void fn_1_D770(void) { var_f31 = -20.0f; } if (var_r29 == lbl_1_bss_314) { - BoardPlayerMotionShiftSet(lbl_1_bss_324, 7, 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(lbl_1_bss_324, 7, 0.0f, 10.0f, 0); break; } HuPrcVSleep(); @@ -424,22 +424,22 @@ static void fn_1_D770(void) { BoardWinKill(); temp_r3 = HuPrcCreate(fn_1_E004, 0x2004, 0x1000, 0); temp_r3->user_data = NULL; - BoardPlayerMotionShiftSet(lbl_1_bss_324, 4, 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(lbl_1_bss_324, 4, 0.0f, 5.0f, 0); var_f30 = 0.0f; temp_f29 = 8.0f; lbl_1_bss_308.z = sp18.z + 100.0f; lbl_1_bss_308.x = sp18.x + 50.0f; - VECSubtract(&lbl_1_bss_308, &sp18, &spC); - VECScale(&spC, &spC, 0.04f); + PSVECSubtract(&lbl_1_bss_308, &sp18, &spC); + PSVECScale(&spC, &spC, 0.04f); while (TRUE) { BoardPlayerPosGet(lbl_1_bss_324, &sp18); spC.y = temp_f29 - var_f30 * var_f30 * 0.25f * 0.075f; var_f30 += 1.0f; - VECAdd(&spC, &sp18, &sp18); + PSVECAdd(&spC, &sp18, &sp18); sp114[0] = lbl_1_bss_308; sp114[0].y = sp18.y; - VECSubtract(&sp114[0], &sp18, &sp114[0]); - var_f31 = VECMag(&sp114[0]); + PSVECSubtract(&sp114[0], &sp18, &sp114[0]); + var_f31 = PSVECMag(&sp114[0]); if (var_f31 <= 1.0f) { spC.x = spC.z = 0.0f; sp18.x = lbl_1_bss_308.x; @@ -472,11 +472,11 @@ static void fn_1_E004(void) { HuPrcVSleep(); } BoardModelPosGet(lbl_1_bss_14[9], &sp14); - VECSubtract(&lbl_1_bss_2FC, &sp14, &sp8); - VECScale(&sp8, &sp8, 0.1f); + PSVECSubtract(&lbl_1_bss_2FC, &sp14, &sp8); + PSVECScale(&sp8, &sp8, 0.1f); for (i = 0; i < 10; i++) { BoardModelPosGet(lbl_1_bss_14[9], &sp14); - VECAdd(&sp14, &sp8, &sp14); + PSVECAdd(&sp14, &sp8, &sp14); BoardModelPosSetV(lbl_1_bss_14[9], &sp14); HuPrcVSleep(); } @@ -540,8 +540,8 @@ static void fn_1_E374(omObjData *arg0) { if (temp_r3 >= 30 && temp_r3 <= 39) { Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[7]), lbl_1_data_5BC[arg0->work[1]], &sp14); BoardPlayerPosGet(lbl_1_bss_324, &sp20); - VECSubtract(&sp14, &sp20, &sp8); - VECScale(&sp8, &sp8, 0.04f); + PSVECSubtract(&sp14, &sp20, &sp8); + PSVECScale(&sp8, &sp8, 0.04f); arg0->trans.x = sp8.x; arg0->trans.z = sp8.z; arg0->trans.y = 5.0f; @@ -549,7 +549,7 @@ static void fn_1_E374(omObjData *arg0) { arg0->scale.x = sp14.x; arg0->scale.y = sp14.y; arg0->scale.z = sp14.z; - BoardPlayerMotionShiftSet(lbl_1_bss_324, 4, 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(lbl_1_bss_324, 4, 0.0f, 5.0f, 0); arg0->func = fn_1_E4C0; } } @@ -567,13 +567,13 @@ static void fn_1_E4C0(omObjData *arg0) { sp14.z = arg0->scale.z; sp20.x = arg0->trans.x; sp20.z = arg0->trans.z; - sp20.y = arg0->trans.y - arg0->rot.x * arg0->rot.x * 0.25f * ((VERSION_PAL) ? 0.1125f : 0.075f); + sp20.y = arg0->trans.y - arg0->rot.x * arg0->rot.x * 0.25f * 0.075f; arg0->rot.x += 1.0f; - VECAdd(&sp2C, &sp20, &sp2C); + PSVECAdd(&sp2C, &sp20, &sp2C); sp8 = sp2C; sp8.y = sp14.y; - VECSubtract(&sp14, &sp8, &sp8); - var_f31 = VECMag(&sp8); + PSVECSubtract(&sp14, &sp8, &sp8); + var_f31 = PSVECMag(&sp8); if (var_f31 <= 1.0f) { arg0->trans.x = arg0->trans.z = 0.0f; sp2C.x = sp14.x; diff --git a/src/REL/w04Dll/mg_item.c b/src/REL/w04Dll/mg_item.c index cbda9008..342d8f5c 100755 --- a/src/REL/w04Dll/mg_item.c +++ b/src/REL/w04Dll/mg_item.c @@ -45,27 +45,21 @@ static s32 lbl_1_data_534[] = { 0x00000468 }; -#if VERSION_JP -#define MDL_ID_SHIFT 0 -#else -#define MDL_ID_SHIFT 1 -#endif - static s32 lbl_1_data_540[] = { - DATA_MAKE_NUM(DATADIR_BOARD, 108 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 109 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 110 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 111 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 112 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 113 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 114 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 115 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 117 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 118 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 119 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 120 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 121 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 122 + MDL_ID_SHIFT), + DATA_MAKE_NUM(DATADIR_BOARD, 109), + DATA_MAKE_NUM(DATADIR_BOARD, 110), + DATA_MAKE_NUM(DATADIR_BOARD, 111), + DATA_MAKE_NUM(DATADIR_BOARD, 112), + DATA_MAKE_NUM(DATADIR_BOARD, 113), + DATA_MAKE_NUM(DATADIR_BOARD, 114), + DATA_MAKE_NUM(DATADIR_BOARD, 115), + DATA_MAKE_NUM(DATADIR_BOARD, 116), + DATA_MAKE_NUM(DATADIR_BOARD, 118), + DATA_MAKE_NUM(DATADIR_BOARD, 119), + DATA_MAKE_NUM(DATADIR_BOARD, 120), + DATA_MAKE_NUM(DATADIR_BOARD, 121), + DATA_MAKE_NUM(DATADIR_BOARD, 122), + DATA_MAKE_NUM(DATADIR_BOARD, 123), DATA_MAKE_NUM(DATADIR_W02, 24), DATA_MAKE_NUM(DATADIR_W02, 25), DATA_MAKE_NUM(DATADIR_W02, 26), @@ -132,13 +126,13 @@ void fn_1_A1F0(void) { while (BoardModelMotionTimeGet(lbl_1_bss_14[10]) < BoardModelMotionMaxTimeGet(lbl_1_bss_14[10])) { HuPrcVSleep(); } - BoardModelMotionShiftSet(lbl_1_bss_14[10], 1, 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_14[10], 1, 0.0f, 5.0f, 0x40000001); BoardAudSeqPause(0, 1, 1000); BoardModelMotionTimeSet(lbl_1_bss_14[6], 0.0f); BoardModelAttrReset(lbl_1_bss_14[6], 0x40000002); - HuPrcSleep((REFRESH_RATE+2)/3); + HuPrcSleep(20); HuAudFXPlay(0x469); - HuPrcSleep(((REFRESH_RATE*5)+3)/6); + HuPrcSleep(50); BoardMusStart(1, 0x1E, 0x7F, 0); HuAudFXPlay(0x46C); while (BoardModelMotionTimeGet(lbl_1_bss_14[6]) < 202.0f) { @@ -305,18 +299,18 @@ static void fn_1_A7E8(void) { } BoardModelVisibilitySet(var_r28, 0); BoardPlayerPosGet(lbl_1_bss_2AC, &sp18); - BoardPlayerMotionShiftSet(lbl_1_bss_2AC, 4, 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(lbl_1_bss_2AC, 4, 0.0f, 5.0f, 0); var_f30 = 0.0f; var_f29 = 12.0f; sp3C = sp54[var_r30]; BoardPlayerPosGet(lbl_1_bss_2AC, &sp30); - VECSubtract(&sp3C, &sp30, &sp3C); - VECScale(&sp3C, &sp3C, 0.05f); + PSVECSubtract(&sp3C, &sp30, &sp3C); + PSVECScale(&sp3C, &sp3C, 0.05f); while (TRUE) { BoardPlayerPosGet(lbl_1_bss_2AC, &sp30); sp3C.y = var_f29 - var_f30 * var_f30 * 0.25f * 0.075f; var_f30 += 1.0f; - VECAdd(&sp3C, &sp30, &sp30); + PSVECAdd(&sp3C, &sp30, &sp30); if (sp30.y <= sp54[var_r30].y - 40.0f && sp3C.y < 0.0f) { sp30.y = sp54[var_r30].y - 40.0f; break; @@ -324,8 +318,8 @@ static void fn_1_A7E8(void) { BoardPlayerPosSetV(lbl_1_bss_2AC, &sp30); sp48 = sp54[var_r30]; sp48.y = sp30.y = 0.0f; - VECSubtract(&sp48, &sp30, &sp30); - var_f31 = VECMag(&sp30); + PSVECSubtract(&sp48, &sp30, &sp30); + var_f31 = PSVECMag(&sp30); if (var_f31 <= 1.0f) { sp3C.x = sp3C.z = 0.0f; } @@ -336,7 +330,7 @@ static void fn_1_A7E8(void) { BoardModelMotionTimeSet(lbl_1_bss_29E[var_r30], 0.0f); BoardModelAttrReset(lbl_1_bss_29E[var_r30], 0x40000002); BoardPlayerPosSetV(lbl_1_bss_2AC, &sp30); - BoardPlayerMotionShiftSet(lbl_1_bss_2AC, 1, 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(lbl_1_bss_2AC, 1, 0.0f, 5.0f, 0x40000001); while (BoardModelMotionTimeGet(lbl_1_bss_29E[var_r30]) < BoardModelMotionMaxTimeGet(lbl_1_bss_29E[var_r30])) { if (BoardModelMotionTimeGet(lbl_1_bss_29E[var_r30]) >= 13.0f) { BoardPlayerPosGet(lbl_1_bss_2AC, &sp30); @@ -355,7 +349,7 @@ static void fn_1_A7E8(void) { } BoardModelHookSet(lbl_1_bss_14[6], lbl_1_data_51C[1], lbl_1_bss_298[temp_r29]); BoardModelAttrReset(lbl_1_bss_14[6], 0x40000002); - HuPrcSleep(REFRESH_RATE/2); + HuPrcSleep(30); HuAudFXPlay(0x310); while (BoardModelMotionTimeGet(lbl_1_bss_14[6]) < BoardModelMotionMaxTimeGet(lbl_1_bss_14[6])) { HuPrcVSleep(); @@ -381,17 +375,17 @@ static void fn_1_A7E8(void) { while (!BoardPlayerMotBlendCheck(lbl_1_bss_2AC)) { HuPrcVSleep(); } - BoardPlayerMotionShiftSet(lbl_1_bss_2AC, 4, 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(lbl_1_bss_2AC, 4, 0.0f, 5.0f, 0); var_f30 = 0.0f; var_f29 = 12.0f; BoardPlayerPosGet(lbl_1_bss_2AC, &sp30); - VECSubtract(&sp18, &sp30, &sp3C); - VECScale(&sp3C, &sp3C, 0.05f); + PSVECSubtract(&sp18, &sp30, &sp3C); + PSVECScale(&sp3C, &sp3C, 0.05f); while (TRUE) { BoardPlayerPosGet(lbl_1_bss_2AC, &sp30); sp3C.y = var_f29 - var_f30 * var_f30 * 0.25f * 0.075f; var_f30 += 1.0f; - VECAdd(&sp3C, &sp30, &sp30); + PSVECAdd(&sp3C, &sp30, &sp30); if (sp30.y < sp18.y) { sp30.y = sp18.y; break; @@ -399,8 +393,8 @@ static void fn_1_A7E8(void) { BoardPlayerPosSetV(lbl_1_bss_2AC, &sp30); sp48 = sp18; sp48.y = sp30.y = 0.0f; - VECSubtract(&sp48, &sp30, &sp30); - var_f31 = VECMag(&sp30); + PSVECSubtract(&sp48, &sp30, &sp30); + var_f31 = PSVECMag(&sp30); if (var_f31 <= 1.0f) { sp3C.x = sp3C.z = 0.0f; } @@ -408,15 +402,15 @@ static void fn_1_A7E8(void) { } omVibrate(lbl_1_bss_2AC, 12, 6, 6); BoardPlayerPosSetV(lbl_1_bss_2AC, &sp30); - BoardPlayerMotionShiftSet(lbl_1_bss_2AC, 1, 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(lbl_1_bss_2AC, 1, 0.0f, 5.0f, 0x40000001); BoardModelPosGet(lbl_1_bss_298[temp_r29], &sp24); sp3C = sp24; sp3C.z += 100.0f; - VECSubtract(&sp3C, &sp24, &sp3C); - VECScale(&sp3C, &sp3C, 0.033333335f); + PSVECSubtract(&sp3C, &sp24, &sp3C); + PSVECScale(&sp3C, &sp3C, 0.033333335f); for (i = 0; i < 30; i++) { BoardModelPosGet(lbl_1_bss_298[temp_r29], &sp24); - VECAdd(&sp24, &sp3C, &sp24); + PSVECAdd(&sp24, &sp3C, &sp24); BoardModelPosSetV(lbl_1_bss_298[temp_r29], &sp24); HuPrcVSleep(); } @@ -466,7 +460,7 @@ static void fn_1_A7E8(void) { BoardPlayerItemAdd(lbl_1_bss_2AC, lbl_1_bss_2A6[temp_r29]); omVibrate(lbl_1_bss_2AC, 12, 6, 6); sp8 = HuAudSStreamPlay(2); - BoardPlayerMotionShiftSet(lbl_1_bss_2AC, 7, 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(lbl_1_bss_2AC, 7, 0.0f, 5.0f, 0); while (!BoardPlayerMotionEndCheck(lbl_1_bss_2AC)) { HuPrcVSleep(); } @@ -477,7 +471,7 @@ static void fn_1_A7E8(void) { HuPrcVSleep(); } BoardModelRotYSet(lbl_1_bss_14[10], 0.0f); - HuPrcSleep(REFRESH_RATE/2); + HuPrcSleep(30); while (HuAudSStreamStatGet(sp8) != 0) { HuPrcVSleep(); } @@ -544,8 +538,8 @@ void fn_1_BB00(s16 *arg0) { BoardModelPosGet(lbl_1_bss_14[10], &sp24); BoardModelPosSetV(lbl_1_bss_298[i], &sp24); BoardModelScaleSetV(lbl_1_bss_298[i], &sp18); - VECSubtract(&sp54[i], &sp24, &sp30[i]); - VECNormalize(&sp30[i], &sp30[i]); + PSVECSubtract(&sp54[i], &sp24, &sp30[i]); + PSVECNormalize(&sp30[i], &sp30[i]); spC[i] = 0.0f; } sp30[0].y = 16.0f; diff --git a/src/REL/w05Dll/dolphin.c b/src/REL/w05Dll/dolphin.c index 46cc5a9e..8115c637 100644 --- a/src/REL/w05Dll/dolphin.c +++ b/src/REL/w05Dll/dolphin.c @@ -1,17 +1,15 @@ #include "REL/w05Dll.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/frand.h" #include "game/hsfdraw.h" +#include "game/audio.h" #include "game/objsub.h" +#include "game/frand.h" +#include "game/chrman.h" -#include "game/board/audio.h" #include "game/board/model.h" #include "game/board/player.h" #include "game/board/window.h" - -#include "ext_math.h" +#include "game/board/audio.h" // bss s16 lbl_1_bss_72[2]; @@ -22,60 +20,44 @@ s16 lbl_1_bss_58[6]; // data char *lbl_1_data_22C[6] = { "orange1", "orange2", "pine2", "pine1", "suika1", "suika2" }; -s32 lbl_1_data_244[6] = { - DATA_MAKE_NUM(DATADIR_W05, 0x27), - DATA_MAKE_NUM(DATADIR_W05, 0x28), - DATA_MAKE_NUM(DATADIR_W05, 0x29), - DATA_MAKE_NUM(DATADIR_W05, 0x2A), - DATA_MAKE_NUM(DATADIR_W05, 0x2B), - DATA_NUM_LISTEND, -}; +s32 lbl_1_data_244[6] = { 0x00790027, 0x00790028, 0x00790029, 0x0079002A, 0x0079002B, 0xFFFFFFFF }; Vec lbl_1_data_25C[6] = { - { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, { 0.0f, 90.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 180.0f, 0.0f }, - { 0.0f, 270.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 180.0f, 0.0f }, + { 0.0f, 270.0f, 0.0f }, { 0.0f, 90.0f, 0.0f }, }; Vec lbl_1_data_2A4[6] = { - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 300.0f, 0.0f }, - { 0.0f, 450.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 300.0f, 0.0f }, + { 0.0f, 450.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, }; s32 lbl_1_data_2EC[2] = { 0x76, 0x77 }; -s32 lbl_1_data_2F4[6] = { - DATA_MAKE_NUM(DATADIR_W05, 0x2C), - DATA_MAKE_NUM(DATADIR_W05, 0x2D), - DATA_MAKE_NUM(DATADIR_W05, 0x2E), - DATA_MAKE_NUM(DATADIR_W05, 0x2C), - DATA_MAKE_NUM(DATADIR_W05, 0x2F), - DATA_MAKE_NUM(DATADIR_W05, 0x30), -}; +s32 lbl_1_data_2F4[6] = { 0x0079002C, 0x0079002D, 0x0079002E, 0x0079002C, 0x0079002F, 0x00790030 }; -void fn_1_3F74(void) -{ +void fn_1_3F74(void) { s32 var_r31; BoardAudSeqPause(0, 1, 0x3E8); - + for (var_r31 = 0x3C; var_r31 != 0; var_r31--) { HuPrcVSleep(); } - + BoardMusStart(1, 0x24, 0x7F, 0); HuPrcEnd(); } -void fn_1_3FD8(void) -{ +void fn_1_3FD8(void) { s32 var_r31; BoardAudSeqFadeOut(1, 0x3E8); - + for (var_r31 = 0x3C; var_r31 != 0; var_r31--) { HuPrcVSleep(); } @@ -83,8 +65,7 @@ void fn_1_3FD8(void) HuPrcEnd(); } -void fn_1_4034(s32 arg0) -{ +void fn_1_4034(s32 arg0) { Vec sp40; Vec sp34; Vec sp28; @@ -98,20 +79,20 @@ void fn_1_4034(s32 arg0) s16 var_r30; s32 var_r27; BoardSpace *var_r25; - omObjData *temp_r24; + omObjData* temp_r24; BoardSpace *var_r28; s32 var_r31; s32 temp_r26; lbl_1_bss_68 = GWSystem.player_curr; sp10 = GWPlayer[lbl_1_bss_68].character; - + for (var_r31 = 0; var_r31 < 2; var_r31++) { lbl_1_bss_72[var_r31] = BoardPlayerMotionCreate(lbl_1_bss_68, lbl_1_data_2EC[var_r31] | lbl_1_data_124[GWPlayer[lbl_1_bss_68].character]); } - + for (var_r31 = 0; var_r31 < 3; var_r31++) { - lbl_1_bss_6C[var_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x0A), NULL, 1); + lbl_1_bss_6C[var_r31] = BoardModelCreate(0x7000A, NULL, 1); BoardModelAttrSet(lbl_1_bss_6C[var_r31], 0x40000001); BoardModelVisibilitySet(lbl_1_bss_6C[var_r31], 0); } @@ -137,15 +118,15 @@ void fn_1_4034(s32 arg0) } BoardPlayerIdleSet(lbl_1_bss_68); HuPrcSleep(8); - lbl_1_bss_64 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W05, 0x26), lbl_1_data_244, 0); + lbl_1_bss_64 = BoardModelCreate(0x790026, lbl_1_data_244, 0); Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_data_118), lbl_1_data_22C[arg0], &sp40); - VECAdd(&sp40, &lbl_1_data_2A4[arg0], &sp40); + PSVECAdd(&sp40, &lbl_1_data_2A4[arg0], &sp40); BoardModelMotionStart(lbl_1_bss_64, 4, 0); sp40.y = -50.0f; BoardModelPosSetV(lbl_1_bss_64, &sp40); BoardModelRotSetV(lbl_1_bss_64, &lbl_1_data_25C[arg0]); fn_1_66C0(0, &sp40); - + var_r30 = 0; while (BoardModelMotionTimeGet(lbl_1_bss_64) < BoardModelMotionMaxTimeGet(lbl_1_bss_64)) { if (BoardModelMotionTimeGet(lbl_1_bss_64) > 50.0f && var_r30 == 0) { @@ -176,31 +157,30 @@ void fn_1_4034(s32 arg0) } if ((arg0 & 1) != 0) { var_r27 = arg0 - 1; - } - else { + } else { var_r27 = arg0 + 1; } Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_data_118), lbl_1_data_22C[var_r27], &sp34); - temp_f25 = atan2d(sp34.x - sp40.x, sp34.z - sp40.z); - BoardModelMotionShiftSet(lbl_1_bss_64, 2, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + temp_f25 = (180.0 * (atan2((sp34.x - sp40.x), (sp34.z - sp40.z)) / M_PI)); + BoardModelMotionShiftSet(lbl_1_bss_64, 2, 0.0f, 10.0f, 0x40000001); while (fn_1_1208(lbl_1_bss_64, temp_f25, 10.0f) == 0) { HuPrcVSleep(); } - + BoardPlayerPosGet(lbl_1_bss_68, &sp28); var_f27 = sqrtf(((sp40.x - sp28.x) * (sp40.x - sp28.x)) + ((sp40.z - sp28.z) * (sp40.z - sp28.z))); - VECSubtract(&sp40, &sp28, &sp1C); - VECNormalize(&sp1C, &sp1C); - VECScale(&sp1C, &sp1C, var_f27 / 50.0f); + PSVECSubtract(&sp40, &sp28, &sp1C); + PSVECNormalize(&sp1C, &sp1C); + PSVECScale(&sp1C, &sp1C, var_f27 / 50.0f); BoardPlayerMotionStart(lbl_1_bss_68, 4, 0); var_f26 = 0.0f; temp_f22 = 15.0f; - + loop_37: sp1C.y = temp_f22 - (0.075f * (0.25f * (var_f26 * var_f26))); var_f26++; - VECAdd(&sp28, &sp1C, &sp28); + PSVECAdd(&sp28, &sp1C, &sp28); var_f27 = sqrtf(((sp40.x - sp28.x) * (sp40.x - sp28.x)) + ((sp40.z - sp28.z) * (sp40.z - sp28.z))); if (var_f27 < 5.0f) { sp1C.x = sp1C.z = 0.0f; @@ -210,43 +190,41 @@ loop_37: if (sp28.y <= 20.0f + sp40.y) { sp28.y = 20.0f + sp40.y; - } - else { + } else { BoardPlayerPosSetV(lbl_1_bss_68, &sp28); HuPrcVSleep(); goto loop_37; } BoardPlayerPosSetV(lbl_1_bss_68, &sp28); BoardPlayerMotionStart(lbl_1_bss_68, lbl_1_bss_72[0], 0); - + while (fn_1_1208(BoardPlayerModelGet(lbl_1_bss_68), temp_f25, 10.0f) == 0) { HuPrcVSleep(); } - + while (BoardPlayerMotionEndCheck(lbl_1_bss_68) == 0) { HuPrcVSleep(); } - + BoardPlayerMotionStart(lbl_1_bss_68, lbl_1_bss_72[1], 0x40000001); HuPrcSleep(0x12); temp_r24->work[1] = 1; if (arg0 < 4) { fn_1_4EB4(arg0, temp_r26, &sp34); - } - else { + } else { fn_1_5794(arg0, temp_r26, &sp34); } BoardModelPosGet(lbl_1_bss_64, &sp40); BoardPlayerPosGet(lbl_1_bss_68, &sp28); - var_f27 = atan2d(sp40.x - sp28.x, sp40.z - sp28.z); + var_f27 = 180.0 * (atan2((sp40.x - sp28.x), (sp40.z - sp28.z)) / M_PI); BoardPlayerMotBlendSet(lbl_1_bss_68, var_f27, 0xF); while (BoardPlayerMotBlendCheck(lbl_1_bss_68) == 0) { HuPrcVSleep(); } - + fn_1_66C0(1, &sp40); - BoardModelMotionShiftSet(lbl_1_bss_64, 5, 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_bss_64, 5, 0.0f, 5.0f, 0); var_r30 = 0; var_r31 = 0; @@ -294,7 +272,7 @@ loop_37: for (var_r31 = 0; var_r31 < 2; var_r31++) { BoardPlayerMotionKill(lbl_1_bss_68, lbl_1_bss_72[var_r31]); } - + fn_1_6670(); for (var_r31 = 0; var_r31 < 3; var_r31++) { @@ -302,8 +280,7 @@ loop_37: } } -void fn_1_4EB4(s32 arg1, s32 arg2, Vec *arg3) -{ +void fn_1_4EB4(s32 arg1, s32 arg2, Vec* arg3) { Vec sp3C; Vec sp30; Vec sp24; @@ -314,16 +291,16 @@ void fn_1_4EB4(s32 arg1, s32 arg2, Vec *arg3) f32 var_f22; f32 var_f24; f32 var_f28; - omObjData *temp_r30; - omObjData *temp_r29; + omObjData* temp_r30; + omObjData* temp_r29; s32 temp_r28; temp_f23 = 10.0f; BoardModelPosGet(lbl_1_bss_64, &sp3C); arg3->y = sp3C.y; - VECSubtract(arg3, &sp3C, &sp24); - VECNormalize(&sp24, &sp24); - VECScale(&sp24, &sp24, temp_f23); + PSVECSubtract(arg3, &sp3C, &sp24); + PSVECNormalize(&sp24, &sp24); + PSVECScale(&sp24, &sp24, temp_f23); temp_r28 = HuAudFXPlay(0x47F); BoardModelPosGet(lbl_1_bss_64, &sp18); temp_r30 = fn_1_66C0(4, &sp18); @@ -338,9 +315,8 @@ void fn_1_4EB4(s32 arg1, s32 arg2, Vec *arg3) sp30.y += 20.0f; BoardPlayerPosSetV(lbl_1_bss_68, &sp30); break; - } - else { - VECAdd(&sp3C, &sp24, &sp3C); + } else { + PSVECAdd(&sp3C, &sp24, &sp3C); BoardModelPosSetV(lbl_1_bss_64, &sp3C); sp30 = sp3C; sp30.y += 20.0f; @@ -354,27 +330,27 @@ void fn_1_4EB4(s32 arg1, s32 arg2, Vec *arg3) BoardPlayerIdleSet(lbl_1_bss_68); HuPrcSleep(8); BoardSpacePosGet(0, arg2, &sp3C); - var_f28 = atan2d(sp3C.x - sp30.x, sp3C.z - sp30.z); + var_f28 = 180.0 * (atan2((sp3C.x - sp30.x), (sp3C.z - sp30.z)) / M_PI); BoardPlayerMotBlendSet(lbl_1_bss_68, var_f28, 0xF); while (BoardPlayerMotBlendCheck(lbl_1_bss_68) == 0) { HuPrcVSleep(); } - + BoardPlayerPosGet(lbl_1_bss_68, &sp30); var_f28 = sqrtf(((sp3C.x - sp30.x) * (sp3C.x - sp30.x)) + ((sp3C.z - sp30.z) * (sp3C.z - sp30.z))); - VECSubtract(&sp3C, &sp30, &sp24); - VECNormalize(&sp24, &sp24); - VECScale(&sp24, &sp24, var_f28 / 45.0f); + PSVECSubtract(&sp3C, &sp30, &sp24); + PSVECNormalize(&sp24, &sp24); + PSVECScale(&sp24, &sp24, var_f28 / 45.0f); BoardPlayerMotionStart(lbl_1_bss_68, 4, 0); - + var_f24 = 0.0f; temp_f19 = 15.0f; - + while (1) { sp24.y = temp_f19 - (0.075f * (0.25f * (var_f24 * var_f24))); var_f24++; - VECAdd(&sp30, &sp24, &sp30); + PSVECAdd(&sp30, &sp24, &sp30); var_f28 = sqrtf(((sp3C.x - sp30.x) * (sp3C.x - sp30.x)) + ((sp3C.z - sp30.z) * (sp3C.z - sp30.z))); if (var_f28 < 5.0f) { sp24.x = sp24.z = 0.0f; @@ -383,8 +359,7 @@ void fn_1_4EB4(s32 arg1, s32 arg2, Vec *arg3) } if (sp30.y <= sp3C.y && sp24.y < 0.0f) { sp30.y = sp3C.y; - } - else { + } else { BoardPlayerPosSetV(lbl_1_bss_68, &sp30); HuPrcVSleep(); continue; @@ -394,8 +369,7 @@ void fn_1_4EB4(s32 arg1, s32 arg2, Vec *arg3) } } -void fn_1_5648(void) -{ +void fn_1_5648(void) { Vec sp8; s32 var_r31; @@ -417,8 +391,7 @@ void fn_1_5648(void) } } -void fn_1_5794(s32 arg0, s32 arg1, Vec *arg2) -{ +void fn_1_5794(s32 arg0, s32 arg1, Vec* arg2) { Vec sp64; Vec sp58; Vec sp4C; @@ -427,16 +400,16 @@ void fn_1_5794(s32 arg0, s32 arg1, Vec *arg2) Vec sp28; Vec sp1C; f32 sp18; - Process *temp_r23; + Process* temp_r23; f32 temp_f18; f32 temp_f22; f32 var_f27; f32 var_f23; f32 var_f28; - omObjData *temp_r27; - omObjData *var_r26; - omObjData *temp_r25; - omObjData *var_r24; + omObjData* temp_r27; + omObjData* var_r26; + omObjData* temp_r25; + omObjData* var_r24; s32 var_r28; s32 var_r29; s32 var_r30; @@ -451,13 +424,12 @@ void fn_1_5794(s32 arg0, s32 arg1, Vec *arg2) fn_1_62AC(arg0, arg2); temp_f22 = 10.0f; arg2->y = sp58.y; - VECSubtract(arg2, &sp58, &sp40); - VECNormalize(&sp40, &sp40); - VECScale(&sp40, &sp40, temp_f22); + PSVECSubtract(arg2, &sp58, &sp40); + PSVECNormalize(&sp40, &sp40); + PSVECScale(&sp40, &sp40, temp_f22); if (arg0 == 5) { var_r29 = 0x96; - } - else { + } else { var_r29 = 0x5A; } var_f28 = 0.0f; @@ -470,7 +442,7 @@ void fn_1_5794(s32 arg0, s32 arg1, Vec *arg2) BoardModelPosGet(lbl_1_bss_64, &sp1C); temp_r27 = fn_1_66C0(4, &sp1C); temp_r25 = fn_1_66C0(5, &sp1C); - + while (1) { sp18 = BoardModelRotYGet(lbl_1_bss_64); sp58 = sp64; @@ -483,12 +455,11 @@ void fn_1_5794(s32 arg0, s32 arg1, Vec *arg2) sp4C.y += 20.0f; BoardPlayerPosSetV(lbl_1_bss_68, &sp4C); break; - } - else { - VECAdd(&sp58, &sp40, &sp58); + } else { + PSVECAdd(&sp58, &sp40, &sp58); sp64 = sp58; if (var_r29 == 0) { - sp58.y += 250.0 * sind(var_f28); + sp58.y += 250.0 * sin((M_PI * var_f28) / 180.0); var_f28 -= 2.5f; if (var_f28 < -540.0f) { var_f28 = -540.0f; @@ -498,32 +469,28 @@ void fn_1_5794(s32 arg0, s32 arg1, Vec *arg2) temp_r27->work[1] = 1; temp_r25->work[1] = 1; var_r30++; - } - else if (var_r30 == 1 && var_f28 < -180.0f) { - HuAudFXStop(var_r28); - HuAudFXPlay(0x47D); - HuAudPlayerVoicePlay(lbl_1_bss_68, 0x125); - fn_1_66C0(3, &sp58); - var_r30++; - } - else if ((var_r30 == 2) && (var_f28 < -360.0f)) { - var_r28 = HuAudFXPlay(0x47F); - HuAudFXPlay(0x481); - fn_1_66C0(3, &sp58); - var_r30++; - } - else if ((var_r30 == 3) && (-540.0f == var_f28)) { + } else if (var_r30 == 1 && var_f28 < -180.0f) { + HuAudFXStop(var_r28); + HuAudFXPlay(0x47D); + HuAudPlayerVoicePlay(lbl_1_bss_68, 0x125); + fn_1_66C0(3, &sp58); + var_r30++; + } else if ((var_r30 == 2) && (var_f28 < -360.0f)) { + var_r28 = HuAudFXPlay(0x47F); + HuAudFXPlay(0x481); + fn_1_66C0(3, &sp58); + var_r30++; + } else if ((var_r30 == 3) && (-540.0f == var_f28)) { var_r30++; BoardModelPosGet(lbl_1_bss_64, &sp1C); var_r26 = fn_1_66C0(4, &sp1C); var_r24 = fn_1_66C0(5, &sp1C); } - } - else { + } else { var_r29--; } BoardModelPosSetV(lbl_1_bss_64, &sp58); - sp28.x = sp34.x = 45.0 * -sind(var_f28); + sp28.x = sp34.x = (45.0 * -sin((M_PI * var_f28) / 180.0)); BoardModelRotSetV(lbl_1_bss_64, &sp34); BoardPlayerRotSetV(lbl_1_bss_68, &sp28); sp4C = sp58; @@ -542,7 +509,7 @@ void fn_1_5794(s32 arg0, s32 arg1, Vec *arg2) BoardPlayerIdleSet(lbl_1_bss_68); HuPrcSleep(8); BoardSpacePosGet(0, arg1, &sp58); - var_f27 = atan2d(sp58.x - sp4C.x, sp58.z - sp4C.z); + var_f27 = (180.0 * (atan2((sp58.x - sp4C.x), (sp58.z - sp4C.z)) / M_PI)); BoardPlayerMotBlendSet(lbl_1_bss_68, var_f27, 0xF); while (BoardPlayerMotBlendCheck(lbl_1_bss_68) == 0) { @@ -550,16 +517,16 @@ void fn_1_5794(s32 arg0, s32 arg1, Vec *arg2) } BoardPlayerPosGet(lbl_1_bss_68, &sp4C); var_f27 = sqrtf(((sp58.x - sp4C.x) * (sp58.x - sp4C.x)) + ((sp58.z - sp4C.z) * (sp58.z - sp4C.z))); - VECSubtract(&sp58, &sp4C, &sp40); - VECNormalize(&sp40, &sp40); - VECScale(&sp40, &sp40, var_f27 / 45.0f); + PSVECSubtract(&sp58, &sp4C, &sp40); + PSVECNormalize(&sp40, &sp40); + PSVECScale(&sp40, &sp40, var_f27 / 45.0f); BoardPlayerMotionStart(lbl_1_bss_68, 4, 0); var_f23 = 0.0f; temp_f18 = 15.0f; while (1) { sp40.y = temp_f18 - (0.075f * (0.25f * (var_f23 * var_f23))); var_f23++; - VECAdd(&sp4C, &sp40, &sp4C); + PSVECAdd(&sp4C, &sp40, &sp4C); var_f27 = sqrtf(((sp58.x - sp4C.x) * (sp58.x - sp4C.x)) + ((sp58.z - sp4C.z) * (sp58.z - sp4C.z))); if (var_f27 < 5.0f) { sp40.x = sp40.z = 0.0f; @@ -569,8 +536,7 @@ void fn_1_5794(s32 arg0, s32 arg1, Vec *arg2) if (sp4C.y <= sp58.y && sp40.y < 0.0f) { sp4C.y = sp58.y; break; - } - else { + } else { BoardPlayerPosSetV(lbl_1_bss_68, &sp4C); HuPrcVSleep(); } @@ -579,8 +545,7 @@ void fn_1_5794(s32 arg0, s32 arg1, Vec *arg2) HuPrcKill(temp_r23); } -void fn_1_62AC(s32 arg0, Vec *arg1) -{ +void fn_1_62AC(s32 arg0, Vec* arg1) { Vec sp34; Vec sp28; Vec sp1C; @@ -593,19 +558,19 @@ void fn_1_62AC(s32 arg0, Vec *arg1) BoardModelPosGet(lbl_1_bss_64, &sp34); arg0 -= 4; arg1->y = sp34.y; - VECSubtract(arg1, &sp34, &sp28); - VECNormalize(&sp28, &sp28); + PSVECSubtract(arg1, &sp34, &sp28); + PSVECNormalize(&sp28, &sp28); var_f31 = 45.0f; var_r31 = 0; while (var_r31 < 3) { sp1C = sp28; sp10 = sp28; - VECScale(&sp1C, &sp1C, sp8[arg0]); - sp1C.y += 250.0 * sind(var_f31); - var_f30 = 250.0 * -cosd(var_f31); - VECScale(&sp10, &sp10, var_f30); - VECAdd(&sp10, &sp1C, &sp1C); - VECAdd(&sp1C, &sp34, &sp1C); + PSVECScale(&sp1C, &sp1C, sp8[arg0]); + sp1C.y += (250.0 * sin((M_PI * var_f31) / 180.0)); + var_f30 = (250.0 * -cos((M_PI * var_f31) / 180.0)); + PSVECScale(&sp10, &sp10, var_f30); + PSVECAdd(&sp10, &sp1C, &sp1C); + PSVECAdd(&sp1C, &sp34, &sp1C); BoardModelPosSetV(lbl_1_bss_6C[var_r31], &sp1C); BoardModelVisibilitySet(lbl_1_bss_6C[var_r31], 1); var_f31 += 45.0f; @@ -613,8 +578,7 @@ void fn_1_62AC(s32 arg0, Vec *arg1) } } -void fn_1_64BC(void) -{ +void fn_1_64BC(void) { Vec sp20; Vec sp14; Vec sp8; @@ -625,8 +589,8 @@ void fn_1_64BC(void) for (var_r31 = 0; var_r31 < 3; var_r31++) { if (BoardModelVisibilityGet(lbl_1_bss_6C[var_r31]) != 0) { BoardModelPosGet(lbl_1_bss_6C[var_r31], &sp14); - VECSubtract(&sp14, &sp20, &sp8); - var_f31 = VECMag(&sp8); + PSVECSubtract(&sp14, &sp20, &sp8); + var_f31 = PSVECMag(&sp8); if (var_f31 < 60.0f) { CharModelCoinEffectCreate(1, &sp14); BoardModelVisibilitySet(lbl_1_bss_6C[var_r31], 0); @@ -638,8 +602,7 @@ void fn_1_64BC(void) } } -void fn_1_65E8(void) -{ +void fn_1_65E8(void) { s32 var_r31; for (var_r31 = 0; var_r31 < 6; var_r31++) { @@ -648,8 +611,7 @@ void fn_1_65E8(void) } } -void fn_1_6670(void) -{ +void fn_1_6670(void) { s32 var_r31; for (var_r31 = 0; var_r31 < 6; var_r31++) { @@ -657,10 +619,9 @@ void fn_1_6670(void) } } -omObjData *fn_1_66C0(u32 arg0, Vec *arg1) -{ +omObjData* fn_1_66C0(u32 arg0, Vec* arg1) { Vec sp8; - omObjData *temp_r31; + omObjData* temp_r31; f32 temp_f31; temp_r31 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, fn_1_6914); @@ -704,8 +665,7 @@ omObjData *fn_1_66C0(u32 arg0, Vec *arg1) return temp_r31; } -void fn_1_6914(omObjData *arg0) -{ +void fn_1_6914(omObjData* arg0) { Vec sp8; if (arg0->work[1] != 0) { @@ -720,8 +680,7 @@ void fn_1_6914(omObjData *arg0) BoardModelKill(arg0->work[0]); omDelObjEx(boardObjMan, arg0); } - } - else { + } else { switch (arg0->work[2]) { case 0: case 1: diff --git a/src/REL/w05Dll/hotel.c b/src/REL/w05Dll/hotel.c index bebb63c7..73256443 100644 --- a/src/REL/w05Dll/hotel.c +++ b/src/REL/w05Dll/hotel.c @@ -10,12 +10,9 @@ #include "game/board/player.h" #include "game/board/window.h" -#include "ext_math.h" - // data s32 lbl_1_data_150[5] = { - DATA_MAKE_NUM(DATADIR_W05, 0x21), DATA_MAKE_NUM(DATADIR_W05, 0x22), DATA_MAKE_NUM(DATADIR_W05, 0x23), - DATA_MAKE_NUM(DATADIR_W05, 0x24), DATA_MAKE_NUM(DATADIR_W05, 0x25), + 0x790021, 0x790022, 0x790023, 0x790024, 0x790025, }; s16 lbl_1_data_164 = 0xFFFF; @@ -39,7 +36,7 @@ void fn_1_14D0(void) { } u32 lbl_1_data_170[4] = { 0, 10, 25, 40 }; -s32 lbl_1_data_180 = DATA_MAKE_NUM(DATADIR_W05, 0x0C); +s32 lbl_1_data_180 = 0x79000C; s16 fn_1_14FC(void) { s16 var_r31; @@ -77,7 +74,7 @@ void fn_1_155C(void) { temp_f30 = BoardPlayerRotYGet(lbl_1_bss_28); BoardPlayerPosGet(lbl_1_bss_28, &sp58); Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_data_118), "hotel1", &sp64); - temp_f31 = atan2d(sp64.x - sp58.x, sp64.z - sp58.z); + temp_f31 = 180.0 * (atan2((sp64.x - sp58.x), (sp64.z - sp58.z)) / M_PI); BoardPlayerMotBlendSet(lbl_1_bss_28, temp_f31, 0xF); BoardCameraViewSet(2); @@ -96,29 +93,29 @@ void fn_1_155C(void) { BoardModelRotYSet(lbl_1_bss_14[4], -90.0f); } BoardModelMotionStart(lbl_1_bss_14[4], temp_r28, 0x40000001); - VECSubtract(&sp28, &sp40, &sp34); - VECScale(&sp34, &sp34, 0.018518519f); + PSVECSubtract(&sp28, &sp40, &sp34); + PSVECScale(&sp34, &sp34, 0.018518519f); for (var_r31 = 0; var_r31 < 0x36; var_r31++) { - VECAdd(&sp40, &sp34, &sp40); + PSVECAdd(&sp40, &sp34, &sp40); BoardModelPosSetV(lbl_1_bss_14[4], &sp40); HuPrcVSleep(); } BoardModelPosSetV(lbl_1_bss_14[4], &sp28); - temp_f31 = atan2d(sp58.x - sp28.x, sp58.z - sp28.z); + temp_f31 = (180.0 * (atan2((sp58.x - sp28.x), (sp58.z - sp28.z)) / M_PI)); while (fn_1_1208(lbl_1_bss_14[4], temp_f31, 10.0f) == 0) { HuPrcVSleep(); } - BoardModelMotionShiftSet(lbl_1_bss_14[4], 0, 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_14[4], 0, 0.0f, 5.0f, 0x40000001); var_r30 = BoardPlayerCoinsGet(lbl_1_bss_28); sprintf(sp18, "%d", lbl_1_bss_0->unk_00); if (var_r30 > 0) { if (var_r30 >= 5) { - var_r27 = MAKE_MESSID(0x27, 0x01); + var_r27 = 0x270001; var_r30 = 5; } else { - var_r27 = MAKE_MESSID(0x27, 0x02); + var_r27 = 0x270002; } sprintf(sp8, "%d", var_r30); BoardWinCreate(2, var_r27, 7); @@ -177,11 +174,11 @@ void fn_1_155C(void) { BoardModelRotYSet(lbl_1_bss_14[4], 90.0f); } BoardModelMotionStart(lbl_1_bss_14[4], temp_r28, 0x40000001); - VECSubtract(&sp28, &sp40, &sp34); - VECScale(&sp34, &sp34, 0.033333335f); + PSVECSubtract(&sp28, &sp40, &sp34); + PSVECScale(&sp34, &sp34, 0.033333335f); for (var_r31 = 0; var_r31 < 0x1E; var_r31++) { - VECAdd(&sp40, &sp34, &sp40); + PSVECAdd(&sp40, &sp34, &sp40); BoardModelPosSetV(lbl_1_bss_14[4], &sp40); HuPrcVSleep(); } @@ -190,7 +187,7 @@ void fn_1_155C(void) { while (fn_1_1208(lbl_1_bss_14[4], 0.0f, 15.0f) == 0) { HuPrcVSleep(); } - BoardModelMotionShiftSet(lbl_1_bss_14[4], 0, 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_14[4], 0, 0.0f, 5.0f, 0x40000001); BoardCameraViewSet(1); while (BoardPlayerMotBlendCheck(lbl_1_bss_28) == 0) { @@ -201,10 +198,7 @@ void fn_1_155C(void) { BoardRollDispSet(1); } -s32 lbl_1_data_188[4] = { - DATA_MAKE_NUM(DATADIR_W05, 0x0C), DATA_MAKE_NUM(DATADIR_W05, 0x0E), - DATA_MAKE_NUM(DATADIR_W05, 0x0F),DATA_MAKE_NUM(DATADIR_W05, 0x10) -}; +s32 lbl_1_data_188[4] = { 0x79000C, 0x79000E, 0x79000F, 0x790010 }; s32 lbl_1_data_198[2] = { 28, 25 }; void fn_1_1E44(void) { @@ -259,22 +253,22 @@ void fn_1_1E44(void) { BoardModelRotYSet(lbl_1_bss_14[4], -90.0f); } BoardModelMotionStart(lbl_1_bss_14[4], sp8[0], 0x40000001); - VECSubtract(&sp2C, &sp5C, &sp44); - VECScale(&sp44, &sp44, 0.018518519f); + PSVECSubtract(&sp2C, &sp5C, &sp44); + PSVECScale(&sp44, &sp44, 0.018518519f); for (var_r31 = 0; var_r31 < 0x36U; var_r31++) { - VECAdd(&sp5C, &sp44, &sp5C); + PSVECAdd(&sp5C, &sp44, &sp5C); BoardModelPosSetV(lbl_1_bss_14[4], &sp5C); HuPrcVSleep(); } BoardModelPosSetV(lbl_1_bss_14[4], &sp2C); - temp_f31 = atan2d(sp50.x - sp2C.x, sp50.z - sp2C.z); + temp_f31 = (180.0 * (atan2((sp50.x - sp2C.x), (sp50.z - sp2C.z)) / M_PI)); while (fn_1_1208(lbl_1_bss_14[4], temp_f31, 10.0f) == 0) { HuPrcVSleep(); } - BoardModelMotionShiftSet(lbl_1_bss_14[4], 0, 0.0f, 5.0f, HU3D_MOTATTR_LOOP); - temp_f31 = atan2d(sp2C.x - sp50.x, sp2C.z - sp50.z); + BoardModelMotionShiftSet(lbl_1_bss_14[4], 0, 0.0f, 5.0f, 0x40000001); + temp_f31 = 180.0 * (atan2((sp2C.x - sp50.x), (sp2C.z - sp50.z)) / M_PI); BoardPlayerMotBlendSet(lbl_1_bss_28, temp_f31, 0xF); while (BoardPlayerMotBlendCheck(lbl_1_bss_28) == 0) { @@ -285,7 +279,7 @@ void fn_1_1E44(void) { BoardWinWait(); BoardWinKill(); } else { - temp_r3 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W05, 0x04), NULL, 0); + temp_r3 = BoardModelCreate(0x790004, NULL, 0); BoardModelVisibilitySet(temp_r3, 0); BoardModelLayerSet(temp_r3, 2U); if (lbl_1_bss_0->unk_00 > BoardPlayerCoinsGet(lbl_1_bss_28)) { @@ -379,17 +373,17 @@ void fn_1_1E44(void) { BoardWinWait(); BoardWinKill(); HuPrcSleep(0x1E); - BoardModelMotionShiftSet(lbl_1_bss_14[4], sp8[3], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_bss_14[4], sp8[3], 0.0f, 5.0f, 0U); for (var_r31 = 0; var_r31 < 4; var_r31++) { - BoardPlayerMotionShiftSet(var_r31, sp1C[var_r31][1], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(var_r31, sp1C[var_r31][1], 0.0f, 5.0f, 0); BoardPlayerVoiceEnableSet(var_r31, 6, 1); } HuPrcSleep(0x23); - BoardModelMotionShiftSet(lbl_1_bss_14[4], 0, 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_14[4], 0, 0.0f, 5.0f, 0x40000001); for (var_r31 = 0; var_r31 < 4; var_r31++) { - BoardPlayerMotionShiftSet(var_r31, 1, 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(var_r31, 1, 0.0f, 5.0f, 0x40000001); } } BoardCameraViewSet(1); @@ -402,11 +396,11 @@ void fn_1_1E44(void) { BoardModelRotYSet(lbl_1_bss_14[4], 90.0f); } BoardModelMotionStart(lbl_1_bss_14[4], sp8[0], 0x40000001U); - VECSubtract(&sp38, &sp5C, &sp44); - VECScale(&sp44, &sp44, 0.055555556); + PSVECSubtract(&sp38, &sp5C, &sp44); + PSVECScale(&sp44, &sp44, 0.055555556); for (var_r31 = 0; var_r31 < 0x12U; var_r31++) { - VECAdd(&sp5C, &sp44, &sp5C); + PSVECAdd(&sp5C, &sp44, &sp5C); BoardModelPosSetV(lbl_1_bss_14[4], &sp5C); HuPrcVSleep(); } @@ -415,7 +409,7 @@ void fn_1_1E44(void) { while (fn_1_1208(lbl_1_bss_14[4], 0.0f, 15.0f) == 0) { HuPrcVSleep(); } - BoardModelMotionShiftSet(lbl_1_bss_14[4], 0, 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_14[4], 0, 0.0f, 5.0f, 0x40000001U); for (var_r31 = 0; var_r31 < 4; var_r31++) { BoardModelMotionKill(lbl_1_bss_14[4], sp8[var_r31]); diff --git a/src/REL/w05Dll/main.c b/src/REL/w05Dll/main.c index b17d72a1..6c45d892 100644 --- a/src/REL/w05Dll/main.c +++ b/src/REL/w05Dll/main.c @@ -1,9 +1,8 @@ #include "REL/w05Dll.h" +#include "game/gamework_data.h" #include "game/chrman.h" #include "game/frand.h" -#include "game/gamework_data.h" - #include "game/board/audio.h" #include "game/board/boo_house.h" @@ -18,50 +17,68 @@ // data BoardMapObject lbl_1_data_0[7] = { - { { 3300.0f, 100.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W05, 0x11) }, - { { -2550.0f, 0.0f, 1350.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W05, 0x14) }, - { { -3000.0f, 100.0f, -1050.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W05, 0x1A) }, - { { 2100.0f, 100.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W05, 0x1B) }, - { { -450.0f, 100.0f, -750.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W05, 0x0A) }, - { { -2710.0f, 0.0f, 1315.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W05, 0x0A) }, - { { 3055.0f, 100.0f, -815.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W05, 0x0A) }, + { { 3300.0f, 100.0f, -900.0f }, + { 0.0f, 0.0f, 0.0f }, + { 1.0f, 1.0f, 1.0f }, + 0x790011 + }, + { { -2550.0f, 0.0f, 1350.0f }, + { 0.0f, 0.0f, 0.0f }, + { 1.0f, 1.0f, 1.0f }, + 0x790014 + }, + { { -3000.0f, 100.0f, -1050.0f }, + { 0.0f, 0.0f, 0.0f }, + { 1.0f, 1.0f, 1.0f }, + 0x79001A + }, + { { 2100.0f, 100.0f, -450.0f }, + { 0.0f, 0.0f, 0.0f }, + { 1.0f, 1.0f, 1.0f }, + 0x79001B + }, + { { -450.0f, 100.0f, -750.0f }, + { 0.0f, 0.0f, 0.0f }, + { 1.0f, 1.0f, 1.0f }, + 0x79000A + }, + { { -2710.0f, 0.0f, 1315.0f }, + { 0.0f, 0.0f, 0.0f }, + { 1.0f, 1.0f, 1.0f }, + 0x79000A + }, + { { 3055.0f, 100.0f, -815.0f }, + { 0.0f, 0.0f, 0.0f }, + { 1.0f, 1.0f, 1.0f }, + 0x79000A + }, }; s16 lbl_1_data_118 = 0xFFFF; s16 lbl_1_data_11A = 0xFFFF; s16 lbl_1_data_11C = 0xFFFF; s16 lbl_1_data_11E = 0xFFFF; s16 lbl_1_data_120 = 0xFFFF; -s32 lbl_1_data_124[8] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x00), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x00), -}; -s32 lbl_1_data_144[2] = { DATA_MAKE_NUM(DATADIR_W05, 0x06), DATA_NUM_LISTEND }; +s32 lbl_1_data_124[8] = {0x5F0000, 0x1A0000, 0x6D0000, 0x8A0000, 0x850000, 0x110000, 0xD0000, 0x810000}; +s32 lbl_1_data_144[2] = {0x790006, 0xFFFFFFFF}; s32 lbl_1_data_14C = 0xFFFFFFFF; // bss s16 lbl_1_bss_14[7]; -s32 *lbl_1_bss_10; +s32* lbl_1_bss_10; s16 lbl_1_bss_8[4]; -Process *lbl_1_bss_4; -bitcopy *lbl_1_bss_0; +Process* lbl_1_bss_4; +bitcopy* lbl_1_bss_0; -void BoardCreate(void) -{ +void BoardCreate(void) { s32 sp8; s32 var_r31; - BoardMapObject *temp_r30; + BoardMapObject* temp_r30; sp8 = GWBoardGet(); - lbl_1_bss_0 = (bitcopy *)GWSystem.board_data; - BoardSpaceInit(DATA_MAKE_NUM(DATADIR_W05, 0x00)); - lbl_1_data_118 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W05, 0x01), NULL, 0); - lbl_1_data_120 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W05, 0x02), NULL, 0); + lbl_1_bss_0 = (bitcopy*) GWSystem.board_data; + BoardSpaceInit(0x790000); + lbl_1_data_118 = BoardModelCreate(0x790001, NULL, 0); + lbl_1_data_120 = BoardModelCreate(0x790002, NULL, 0); fn_8006DDE8(lbl_1_data_118, -1.0f); BoardModelPosSet(lbl_1_data_118, 0.0f, 0.0f, 0.0f); BoardModelMotionStart(lbl_1_data_118, 0, 0x40000001); @@ -71,24 +88,23 @@ void BoardCreate(void) BoardModelMotionStart(lbl_1_data_120, 0, 0x40000001); BoardModelMotionSpeedSet(lbl_1_data_120, 1.0f); BoardModelLayerSet(lbl_1_data_120, 1); - lbl_1_data_11A = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W05, 0x03), NULL, 0); + lbl_1_data_11A = BoardModelCreate(0x790003, NULL, 0); fn_8006DDE8(lbl_1_data_11A, -1.0f); BoardModelPosSet(lbl_1_data_11A, 0.0f, 0.0f, 0.0f); BoardModelMotionStart(lbl_1_data_11A, 0, 0x40000001); - lbl_1_data_11C = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W05, 0x05), lbl_1_data_144, 0); + lbl_1_data_11C = BoardModelCreate(0x790005, lbl_1_data_144, 0); BoardModelPosSet(lbl_1_data_11C, 0.0f, 0.0f, 0.0f); BoardModelMotionStart(lbl_1_data_11C, 1, 0x40000001); lbl_1_data_11E = BoardModelCreate(0x2001C, &lbl_1_data_14C, 0); BoardModelMotionStart(lbl_1_data_11E, 1, 0x40000001); BoardLightHookSet(&fn_1_744, &fn_1_788); - + for (var_r31 = 0; var_r31 < 7; var_r31++) { temp_r30 = &lbl_1_data_0[var_r31]; if (temp_r30->data_num != -1) { if ((var_r31 == 4) || (var_r31 == 5) || (var_r31 == 6)) { lbl_1_bss_10 = &lbl_1_data_14C; - } - else { + } else { lbl_1_bss_10 = NULL; } lbl_1_bss_14[var_r31] = BoardModelCreate(temp_r30->data_num, lbl_1_bss_10, 0); @@ -113,8 +129,7 @@ void BoardCreate(void) BoardLotteryHostSet(lbl_1_data_11E); } -void BoardDestroy(void) -{ +void BoardDestroy(void) { s32 var_r31; for (var_r31 = 0; var_r31 < 7; var_r31++) { @@ -146,21 +161,20 @@ void BoardDestroy(void) BoardSpaceDestroy(); } -void fn_1_744(void) -{ +void fn_1_744(void) { s16 var_r31 = BoardModelIDGet(lbl_1_data_118); Hu3DModelLightInfoSet(var_r31, 1); } -void fn_1_788(void) { } +void fn_1_788(void) { +} -s32 fn_1_78C(void) -{ +s32 fn_1_78C(void) { s32 var_r30 = GWSystem.player_curr; s32 var_r29 = GWPlayer[var_r30].space_curr; s32 var_r28; u32 temp_r3; - + temp_r3 = BoardSpaceFlagGet(0, var_r29); if ((temp_r3 & 2) != 0) { fn_1_1E44(); @@ -172,10 +186,9 @@ s32 fn_1_78C(void) } } -s32 fn_1_82C(void) -{ +s32 fn_1_82C(void) { s32 temp_r30; - BoardSpace *temp_r3; + BoardSpace* temp_r3; temp_r30 = GWSystem.player_curr; temp_r3 = BoardSpaceGet(0, GWPlayer[temp_r30].space_curr); @@ -200,16 +213,15 @@ s32 fn_1_82C(void) return 0; } -void fn_1_92C(void) -{ +void fn_1_92C(void) { fn_1_6B28(); fn_1_9680(); } -void fn_1_950(void) { } +void fn_1_950(void) { +} -void fn_1_954(void) -{ +void fn_1_954(void) { Vec sp14; Vec sp8; s32 var_r26; @@ -227,7 +239,7 @@ void fn_1_954(void) HuPrcEnd(); } lbl_1_bss_8[0] = 0; - + for (var_r31 = 1; var_r31 < 3;) { lbl_1_bss_8[var_r31] = (u32)frandmod(0xE); if ((lbl_1_bss_8[var_r31] == 0xA) || (lbl_1_bss_8[var_r31] == 0xD)) { @@ -248,8 +260,7 @@ void fn_1_954(void) if (GWPlayer[temp_r30].com != 0) { if (BoardComPreferItemCheck(temp_r30, lbl_1_bss_8[0], lbl_1_bss_8[1], lbl_1_bss_8[2]) != -1) { BoardComKeySetLeft(); - } - else { + } else { BoardComKeySetRight(); } } @@ -286,7 +297,7 @@ void fn_1_954(void) temp_r27 = GWPlayer[temp_r30].space_curr; var_r26 = BoardSpaceLinkFlagSearch(0, temp_r27, 0x02000000); BoardPlayerMoveBetween(temp_r30, temp_r27, var_r26); - + while (GWPlayer[temp_r30].moving != 0) { HuPrcVSleep(); } @@ -303,32 +314,28 @@ void fn_1_954(void) HuPrcEnd(); } -void fn_1_D4C(void) -{ +void fn_1_D4C(void) { BoardWinKill(); CharModelDataClose(-1); lbl_1_bss_4 = NULL; } -void fn_1_D84(void) -{ +void fn_1_D84(void) { lbl_1_bss_4 = HuPrcChildCreate(fn_1_954, 0x2003U, 0x3000U, 0, boardMainProc); HuPrcDestructorSet2(lbl_1_bss_4, fn_1_D4C); - + while (lbl_1_bss_4 != 0) { HuPrcVSleep(); } } -void fn_1_E04(void) -{ +void fn_1_E04(void) { HuPrcSleep(0x3C); BoardMusStart(1, 0x23, 0x7F, 0); HuPrcEnd(); } -void fn_1_E40(void) -{ +void fn_1_E40(void) { Vec sp20; Vec sp14; Vec sp8; @@ -343,8 +350,7 @@ void fn_1_E40(void) if (GWPlayer[temp_r31].com != 0) { if (frandBool() != 0) { BoardComKeySetLeft(); - } - else { + } else { BoardComKeySetRight(); } } @@ -357,7 +363,7 @@ void fn_1_E40(void) BoardWinWait(); BoardWinKill(); BoardMGExit(); - + while (BoardMGDoneFlagGet() != 1) { HuPrcVSleep(); } @@ -393,8 +399,7 @@ void fn_1_E40(void) BoardPlayerMotionStart(temp_r31, 1, 0x40000001); } -s32 fn_1_1114(void) -{ +s32 fn_1_1114(void) { u32 temp_r31; s16 var_r30 = GWPlayer[GWSystem.player_curr].space_curr; @@ -407,15 +412,13 @@ s32 fn_1_1114(void) while (lbl_1_bss_4 != 0) { HuPrcVSleep(); } - } - else if ((temp_r31 & 0x400000) != 0) { + } else if ((temp_r31 & 0x400000) != 0) { fn_1_E40(); } BoardRollDispSet(1); } -s32 fn_1_1208(s16 arg0, f32 arg8, f32 arg9) -{ +s32 fn_1_1208(s16 arg0, f32 arg8, f32 arg9) { f32 var_f29; f32 var_f31; s32 var_r31; @@ -437,15 +440,12 @@ s32 fn_1_1208(s16 arg0, f32 arg8, f32 arg9) if (var_f29 < 180.0f) { if (var_f29 > arg9) { var_f31 = var_f31 + arg9; - } - else { + } else { var_f31 = arg8; } - } - else if ((360.0f - var_f29) > arg9) { + } else if ((360.0f - var_f29) > arg9) { var_f31 = var_f31 - arg9; - } - else { + } else { var_f31 = arg8; } if (var_f31 < 0.0f) { @@ -455,8 +455,7 @@ s32 fn_1_1208(s16 arg0, f32 arg8, f32 arg9) var_f31 -= 360.0f; } BoardModelRotYSet(arg0, var_f31); - } - else { + } else { var_r31 = 1; } return var_r31; diff --git a/src/REL/w05Dll/mg_coin.c b/src/REL/w05Dll/mg_coin.c index c2f8d938..f9fcb606 100644 --- a/src/REL/w05Dll/mg_coin.c +++ b/src/REL/w05Dll/mg_coin.c @@ -1,30 +1,25 @@ #include "REL/w05Dll.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/frand.h" #include "game/hsfdraw.h" -#include "game/minigame_seq.h" +#include "game/audio.h" #include "game/objsub.h" +#include "game/frand.h" +#include "game/chrman.h" #include "game/pad.h" +#include "game/minigame_seq.h" - -#include "game/board/audio.h" #include "game/board/model.h" #include "game/board/window.h" - - -#include "ext_math.h" - +#include "game/board/audio.h" s16 lbl_1_bss_102[3]; s16 lbl_1_bss_100; s16 lbl_1_bss_FE; s16 lbl_1_bss_D6[20]; s16 lbl_1_bss_D4; -omObjData *lbl_1_bss_D0; -omObjData *lbl_1_bss_CC; -omObjData *lbl_1_bss_C8; +omObjData* lbl_1_bss_D0; +omObjData* lbl_1_bss_CC; +omObjData* lbl_1_bss_C8; s16 lbl_1_bss_C6; s16 lbl_1_bss_C4; s16 lbl_1_bss_C2; @@ -34,16 +29,14 @@ s32 lbl_1_bss_B8; char *lbl_1_data_464[3] = { "gyoei", "gyoei1", "gyoei2" }; s32 lbl_1_data_470[3] = { 0x7B, 0x7C, 0x7D }; -s32 lbl_1_data_47C[3] = { DATA_MAKE_NUM(DATADIR_W05, 0x16), DATA_MAKE_NUM(DATADIR_W05, 0x17), DATA_MAKE_NUM(DATADIR_W05, 0x18) }; +s32 lbl_1_data_47C[3] = { 0x00790016, 0x00790017, 0x00790018 }; char *lbl_1_data_494[3] = { "uo", "uo1", "uo2" }; -void fn_1_9680(void) -{ +void fn_1_9680(void) { BoardModelAttrSet(lbl_1_bss_14[1], 0x40000002U); } -void fn_1_96B4(void) -{ +void fn_1_96B4(void) { BoardModelAttrReset(lbl_1_bss_14[1], 0x40000002); BoardModelMotionTimeSet(lbl_1_bss_14[1], 0.0f); @@ -54,63 +47,58 @@ void fn_1_96B4(void) BoardModelMotionStartEndSet(lbl_1_bss_14[1], 0x3C, 0x64); } -void fn_1_9760(void) -{ +void fn_1_9760(void) { BoardModelAttrReset(lbl_1_bss_14[1], 0x40000001); BoardModelMotionStartEndSet(lbl_1_bss_14[1], 0, 0xA0); } -void fn_1_97AC(void) -{ +void fn_1_97AC(void) { Vec sp8; s32 var_r31; lbl_1_bss_C0 = GWSystem.player_curr; - + for (var_r31 = 0; var_r31 < 3; var_r31++) { lbl_1_bss_102[var_r31] = BoardPlayerMotionCreate(lbl_1_bss_C0, lbl_1_data_470[var_r31] | lbl_1_data_124[GWPlayer[lbl_1_bss_C0].character]); } sp8.x = sp8.y = sp8.z = 1.0f; - lbl_1_bss_100 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W05, 0x15), NULL, 0); + lbl_1_bss_100 = BoardModelCreate(0x790015, NULL, 0); BoardModelScaleSetV(lbl_1_bss_100, &sp8); BoardModelVisibilitySet(lbl_1_bss_100, 0); - lbl_1_bss_D4 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W05, 0x2C), NULL, 0); + lbl_1_bss_D4 = BoardModelCreate(0x79002C, NULL, 0); BoardModelVisibilitySet(lbl_1_bss_D4, 0); lbl_1_bss_C2 = frandmod(3U); lbl_1_bss_FE = BoardModelCreate(lbl_1_data_47C[lbl_1_bss_C2], NULL, 0); BoardModelVisibilitySet(lbl_1_bss_FE, 0); - + for (var_r31 = 0; var_r31 < 0x14; var_r31++) { - lbl_1_bss_D6[var_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x0A), NULL, 1); + lbl_1_bss_D6[var_r31] = BoardModelCreate(0x7000A, NULL, 1); BoardModelVisibilitySet(lbl_1_bss_D6[var_r31], 0); } - BoardPlayerPostTurnHookSet(lbl_1_bss_C0, (s32(*)())fn_1_9B74); + BoardPlayerPostTurnHookSet(lbl_1_bss_C0, (s32 (*)())fn_1_9B74); lbl_1_bss_CC = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, fn_1_9A68); lbl_1_bss_D0 = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, fn_1_9C24); lbl_1_bss_C6 = 0; lbl_1_bss_C4 = 0; } -void fn_1_9A68(omObjData *arg0) -{ +void fn_1_9A68(omObjData* arg0) { if ((lbl_1_bss_C4 != 0) && (BoardMGDoneFlagGet() == 1)) { fn_1_9AF0(); omDelObjEx(boardObjMan, arg0); } } -void fn_1_9AC0(void) -{ +void fn_1_9AC0(void) { lbl_1_bss_C4 = 1; BoardMGExit(); } -void fn_1_9AF0(void) -{ +void fn_1_9AF0(void) { s32 var_r31; omDelObjEx(boardObjMan, lbl_1_bss_D0); - + for (var_r31 = 0; var_r31 < 0x14; var_r31++) { BoardModelKill(lbl_1_bss_D6[var_r31]); } @@ -118,8 +106,7 @@ void fn_1_9AF0(void) BoardMGDoneFlagSet(0); } -void fn_1_9B74(void) -{ +void fn_1_9B74(void) { HsfObject *var_r31; omDelObjEx(boardObjMan, lbl_1_bss_C8); BoardModelKill(lbl_1_bss_FE); @@ -128,8 +115,7 @@ void fn_1_9B74(void) BoardModelAttrReset(lbl_1_bss_14[1], 0x40000004); } -void fn_1_9C24(omObjData *arg0) -{ +void fn_1_9C24(omObjData* arg0) { if (arg0->work[0] == 0) { arg0->work[0] = MGSeqCreate(3, 0); return; @@ -139,8 +125,7 @@ void fn_1_9C24(omObjData *arg0) } } -void fn_1_9C98(dataCopy2 *arg0) -{ +void fn_1_9C98(dataCopy2* arg0) { Vec sp8; Vec temp_r4; @@ -149,22 +134,21 @@ void fn_1_9C98(dataCopy2 *arg0) BoardModelPosSetV(arg0->unk_0A, &sp8); } -void fn_1_9D0C(omObjData *arg0) -{ +void fn_1_9D0C(omObjData* arg0) { Vec sp1C; Vec sp10; f32 sp8[2]; s32 var_r30; - dataCopy2 *temp_r31; + dataCopy2* temp_r31; - arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x34, MEMORY_DEFAULT_NUM); + arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x34, 0x10000000); temp_r31 = arg0->data; temp_r31->unk_02 = 5; temp_r31->unk_04 = 0x3C; temp_r31->unk_00 = MGSeqCreate(1, temp_r31->unk_02, 0x120, 0x40); - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x27, 0x0E)); + HuWinMesMaxSizeGet(1, sp8, 0x27000E); temp_r31->unk_06 = HuWinCreate(-10000.0f, 368.0f, sp8[0], sp8[1], 0); - HuWinMesSet(temp_r31->unk_06, MAKE_MESSID(0x27, 0x0E)); + HuWinMesSet(temp_r31->unk_06, 0x27000E); HuWinBGTPLvlSet(temp_r31->unk_06, 0.0f); HuWinMesSpeedSet(temp_r31->unk_06, 0); temp_r31->unk_08 = 1; @@ -174,7 +158,7 @@ void fn_1_9D0C(omObjData *arg0) for (var_r30 = 0; var_r30 < 3; var_r30++) { Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[1]), lbl_1_data_494[var_r30], &temp_r31->unk_0C[var_r30]); } - temp_r31->unk_0A = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W05, 0x19), NULL, 0); + temp_r31->unk_0A = BoardModelCreate(0x790019, NULL, 0); BoardModelAttrSet(temp_r31->unk_0A, 0x40000001); sp1C.x = sp1C.y = sp1C.z = 1.5f; BoardModelScaleSetV(temp_r31->unk_0A, &sp1C); @@ -184,8 +168,7 @@ void fn_1_9D0C(omObjData *arg0) arg0->func = fn_1_9F24; } -void fn_1_9F24(omObjData *arg0) -{ +void fn_1_9F24(omObjData* arg0) { Vec sp24; Vec sp18; Vec spC; @@ -193,7 +176,7 @@ void fn_1_9F24(omObjData *arg0) s16 sp8; f32 var_f31; u16 temp_r29; - dataCopy2 *temp_r31; + dataCopy2* temp_r31; temp_r31 = arg0->data; if (--temp_r31->unk_04 == 0) { @@ -206,8 +189,7 @@ void fn_1_9F24(omObjData *arg0) temp_r29 = GWPlayer[lbl_1_bss_C0].port; if (GWPlayer[lbl_1_bss_C0].com != 0) { fn_1_B2B0(arg0, &spA, &sp8); - } - else { + } else { sp8 = HuPadDStkRep[temp_r29]; spA = HuPadBtnDown[temp_r29]; } @@ -219,25 +201,22 @@ void fn_1_9F24(omObjData *arg0) BoardPlayerMotionStart(lbl_1_bss_C0, lbl_1_bss_102[0], 0); BoardPlayerMotionSpeedSet(lbl_1_bss_C0, 0.5f); arg0->func = fn_1_A224; - } - else if ((temp_r31->unk_08 != 0) && ((sp8 & 1) != 0)) { + } else if ((temp_r31->unk_08 != 0) && ((sp8 & 1) != 0)) { HuAudFXPlay(0); temp_r31->unk_08--; - } - else if ((temp_r31->unk_08 != 2) && ((sp8 & 2) != 0)) { + } else if ((temp_r31->unk_08 != 2) && ((sp8 & 2) != 0)) { HuAudFXPlay(0); temp_r31->unk_08++; } sp18 = temp_r31->unk_0C[temp_r31->unk_08]; - var_f31 = atan2d(sp18.x - sp24.x, sp18.z - sp24.z); + var_f31 = (180.0 * (atan2((sp18.x - sp24.x), (sp18.z - sp24.z)) / M_PI)); BoardPlayerRotYSet(lbl_1_bss_C0, var_f31); spC = temp_r31->unk_0C[temp_r31->unk_08]; spC.y += 50.0f; BoardModelPosSetV(temp_r31->unk_0A, &spC); } -void fn_1_A224(omObjData *arg0) -{ +void fn_1_A224(omObjData* arg0) { Vec sp14; Vec sp8; f32 temp_f31; @@ -260,22 +239,21 @@ void fn_1_A224(omObjData *arg0) BoardPlayerMotionStart(lbl_1_bss_C0, lbl_1_bss_102[1], 0); BoardPlayerMotionSpeedSet(lbl_1_bss_C0, 0.5f); switch (lbl_1_bss_C2) { - case 0: - omVibrate(lbl_1_bss_C0, 0x7FFF, 0xC, 0); - break; - case 1: - omVibrate(lbl_1_bss_C0, 0x7FFF, 4, 2); - break; - case 2: - omVibrate(lbl_1_bss_C0, 0x7FFF, 6, 6); - break; + case 0: + omVibrate(lbl_1_bss_C0, 0x7FFF, 0xC, 0); + break; + case 1: + omVibrate(lbl_1_bss_C0, 0x7FFF, 4, 2); + break; + case 2: + omVibrate(lbl_1_bss_C0, 0x7FFF, 6, 6); + break; } arg0->func = fn_1_A4F8; } } -void fn_1_A4F8(omObjData *arg0) -{ +void fn_1_A4F8(omObjData* arg0) { f32 temp_f31; temp_f31 = BoardPlayerMotionMaxTimeGet(lbl_1_bss_C0); @@ -286,14 +264,13 @@ void fn_1_A4F8(omObjData *arg0) } } -void fn_1_A5B0(omObjData *arg0) -{ +void fn_1_A5B0(omObjData* arg0) { Vec sp14; Vec sp8; - HsfObject *temp_r28; - dataCopy2 *temp_r30; - omObjData *temp_r29; - Vec *temp_r31; + HsfObject* temp_r28; + dataCopy2* temp_r30; + omObjData* temp_r29; + Vec* temp_r31; f32 temp_f30; f32 var_f31; @@ -318,17 +295,17 @@ void fn_1_A5B0(omObjData *arg0) BoardModelVisibilitySet(lbl_1_bss_D4, 1); BoardModelMotionTimeSet(lbl_1_bss_D4, 110.0f); lbl_1_bss_C8 = temp_r29 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, fn_1_B3C4); - temp_r29->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0xC, MEMORY_DEFAULT_NUM); + temp_r29->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0xC, 0x10000000); temp_r31 = temp_r29->data; lbl_1_bss_C8->work[1] = 1; Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[1]), "fish", &sp14); BoardModelPosGet(lbl_1_bss_FE, &sp8); sp14.y = sp8.y; - VECSubtract(&sp14, &sp8, temp_r31); - var_f31 = VECMag(temp_r31); - VECNormalize(temp_r31, temp_r31); + PSVECSubtract(&sp14, &sp8, temp_r31); + var_f31 = PSVECMag(temp_r31); + PSVECNormalize(temp_r31, temp_r31); var_f31 /= 38.0f; - VECScale(temp_r31, temp_r31, var_f31); + PSVECScale(temp_r31, temp_r31, var_f31); temp_r31->y = 25.0f; temp_r29->trans.x = var_f31; BoardPlayerMotionStart(lbl_1_bss_C0, lbl_1_bss_102[2], 0); @@ -346,8 +323,7 @@ void fn_1_A5B0(omObjData *arg0) BoardModelMotionSpeedSet(lbl_1_bss_100, var_f31); } -void fn_1_A990(omObjData *arg0) -{ +void fn_1_A990(omObjData* arg0) { Vec sp8; Process *var_r31; @@ -368,10 +344,9 @@ void fn_1_A990(omObjData *arg0) } s16 lbl_1_data_4B2[3] = { 20, 10, 5 }; -s32 lbl_1_data_4B8[3] = { MAKE_MESSID(0x27, 0x13), MAKE_MESSID(0x27, 0x14), MAKE_MESSID(0x27, 0x15) }; +s32 lbl_1_data_4B8[3] = { 0x00270013, 0x00270014, 0x00270015 }; -void fn_1_AB24(void) -{ +void fn_1_AB24(void) { Vec sp124[20]; Vec sp34[20]; Vec sp28; @@ -384,15 +359,15 @@ void fn_1_AB24(void) s32 var_r29; s32 var_r31; f32 var_f30; - Vec *temp_r4; + Vec* temp_r4; temp_r30 = HuPrcCurrentGet()->user_data; spC = temp_r30->data; BoardPlayerPosGet(lbl_1_bss_C0, &sp28); BoardModelPosGet(lbl_1_bss_14[5], &sp1C); - var_f30 = atan2d(sp1C.z - sp28.z, sp1C.x - sp28.x); + var_f30 = (180.0 * (atan2((sp1C.z - sp28.z), (sp1C.x - sp28.x)) / M_PI)); BoardPlayerMotBlendSet(lbl_1_bss_C0, var_f30, 0xF); - + while (BoardPlayerMotBlendCheck(lbl_1_bss_C0) == 0) { HuPrcVSleep(); } @@ -406,12 +381,12 @@ void fn_1_AB24(void) BoardWinWait(); BoardWinKill(); BoardPlayerMotBlendSet(lbl_1_bss_C0, 0, 0xF); - + while (BoardPlayerMotBlendCheck(lbl_1_bss_C0) == 0) { HuPrcVSleep(); } BoardPlayerPosGet(lbl_1_bss_C0, &sp28); - + for (var_r31 = 0; var_r31 < lbl_1_bss_C6; var_r31++) { BoardModelVisibilitySet(lbl_1_bss_D6[var_r31], 1); sp124[var_r31] = sp28; @@ -425,7 +400,7 @@ void fn_1_AB24(void) } var_f31 = -1.0f; var_r29 = 0; - + while (1) { for (var_r31 = 0; var_r31 < lbl_1_bss_C6; var_r31++) { if (var_r31 >= var_r29) { @@ -452,14 +427,13 @@ void fn_1_AB24(void) var_f31 = -20.0f; } if (var_r29 == lbl_1_bss_C6) { - BoardPlayerMotionShiftSet(lbl_1_bss_C0, 7, 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(lbl_1_bss_C0, 7, 0.0f, 10.0f, 0); break; - } - else { + } else { HuPrcVSleep(); } } - + while (BoardPlayerMotionEndCheck(lbl_1_bss_C0) == 0) { HuPrcVSleep(); } @@ -470,8 +444,7 @@ void fn_1_AB24(void) HuPrcEnd(); } -void fn_1_B214(omObjData *arg0) -{ +void fn_1_B214(omObjData* arg0) { s32 var_r31; for (var_r31 = 0; var_r31 < 3; var_r31++) { @@ -483,9 +456,8 @@ void fn_1_B214(omObjData *arg0) omDelObjEx(boardObjMan, arg0); } -void fn_1_B2B0(omObjData *arg0, u16 *arg1, s16 *arg2) -{ - dataCopy2 *temp_r31; +void fn_1_B2B0(omObjData* arg0, u16* arg1, s16* arg2) { + dataCopy2* temp_r31; temp_r31 = arg0->data; *arg1 = 0; @@ -518,8 +490,7 @@ void fn_1_B2B0(omObjData *arg0, u16 *arg1, s16 *arg2) *arg2 = 2; } -void fn_1_B3C4(omObjData *arg0) -{ +void fn_1_B3C4(omObjData* arg0) { Vec sp2C; Vec sp20; Vec sp14; @@ -539,10 +510,10 @@ void fn_1_B3C4(omObjData *arg0) sp8.y = 180.0f; sp8.z = 0.0f; BoardModelRotSetV(lbl_1_bss_FE, &sp8); - VECAdd(&sp20, &sp2C, &sp20); + PSVECAdd(&sp20, &sp2C, &sp20); sp14.y = sp20.y; - VECSubtract(&sp14, &sp20, &sp14); - temp_f29 = VECMag(&sp14); + PSVECSubtract(&sp14, &sp20, &sp14); + temp_f29 = PSVECMag(&sp14); Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[1]), "fish", &sp14); if (temp_f29 <= arg0->trans.x) { sp20.x = sp14.x; @@ -555,10 +526,9 @@ void fn_1_B3C4(omObjData *arg0) if ((0.0f == BoardModelMotionTimeGet(lbl_1_bss_FE)) && (arg0->work[1] != 0)) { HuAudFXPlay(0x484); } - } - else { + } else { arg0->work[0] += 1; } BoardModelPosSetV(lbl_1_bss_FE, &sp20); } -} +} \ No newline at end of file diff --git a/src/REL/w05Dll/mg_item.c b/src/REL/w05Dll/mg_item.c index 0e942bef..92c0f959 100644 --- a/src/REL/w05Dll/mg_item.c +++ b/src/REL/w05Dll/mg_item.c @@ -1,18 +1,16 @@ #include "REL/w05Dll.h" -#include "game/audio.h" -#include "game/chrman.h" -#include "game/frand.h" #include "game/hsfdraw.h" -#include "game/minigame_seq.h" +#include "game/audio.h" #include "game/objsub.h" +#include "game/frand.h" +#include "game/chrman.h" #include "game/pad.h" +#include "game/minigame_seq.h" -#include "game/board/audio.h" #include "game/board/model.h" #include "game/board/window.h" - -#include "ext_math.h" +#include "game/board/audio.h" // data s32 lbl_1_data_310[2] = { 0x79, 0x7A }; @@ -26,23 +24,22 @@ s16 lbl_1_bss_A4[3]; s16 lbl_1_bss_A2; s16 lbl_1_bss_9E[2]; s16 lbl_1_bss_9C; -Process *lbl_1_bss_98; -omObjData *lbl_1_bss_94; -omObjData *lbl_1_bss_90; -omObjData *lbl_1_bss_8C; +Process* lbl_1_bss_98; +omObjData* lbl_1_bss_94; +omObjData* lbl_1_bss_90; +omObjData* lbl_1_bss_8C; s32 lbl_1_bss_88; s32 lbl_1_bss_7C[3]; -AnimData *lbl_1_bss_78; +AnimData* lbl_1_bss_78; -void fn_1_6B28(void) -{ + +void fn_1_6B28(void) { BoardModelAttrSet(*lbl_1_bss_14, 0x40000002U); lbl_1_bss_98 = NULL; lbl_1_bss_78 = NULL; } -void fn_1_6B7C(void) -{ +void fn_1_6B7C(void) { Vec sp1C; Vec sp10; s32 spC; @@ -54,7 +51,7 @@ void fn_1_6B7C(void) for (var_r31 = 0; var_r31 < 2; var_r31++) { lbl_1_bss_9E[var_r31] = BoardPlayerMotionCreate(lbl_1_bss_B6, lbl_1_data_310[var_r31] | lbl_1_data_124[GWPlayer[lbl_1_bss_B6].character]); } - lbl_1_bss_A2 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W05, 0x13), NULL, 0); + lbl_1_bss_A2 = BoardModelCreate(0x790013, NULL, 0); BoardModelVisibilitySet(lbl_1_bss_A2, 0); sp1C.x = sp1C.y = sp1C.z = 3.33333f; BoardModelScaleSetV(lbl_1_bss_A2, &sp1C); @@ -66,11 +63,11 @@ void fn_1_6B7C(void) HuPrcVSleep(); } BoardPlayerMotBlendSet(lbl_1_bss_B6, 0, 0xF); - + while (BoardPlayerMotBlendCheck(lbl_1_bss_B6) == 0) { HuPrcVSleep(); } - + HuPrcSleep(0x3C); BoardAudSeqPause(0, 1, 0x3E8); HuAudFXPlay(0x30D); @@ -81,13 +78,13 @@ void fn_1_6B7C(void) BoardModelMotionStartEndSet(lbl_1_bss_14[0], 0x1E, 0x5A); BoardModelAttrReset(lbl_1_bss_14[0], 0x40000002); BoardMusStart(1, 0x22, 0x7F, 0); - BoardPlayerMotionShiftSet(lbl_1_bss_B6, lbl_1_bss_9E[0], 0.0f, 30.0f, HU3D_MOTATTR_LOOP); - HuPrcSleep(REFRESH_RATE/2); + BoardPlayerMotionShiftSet(lbl_1_bss_B6, lbl_1_bss_9E[0], 0.0f, 30.0f, 0x40000001); + HuPrcSleep(0x1E); BoardModelVisibilitySet(lbl_1_bss_A2, 1); BoardModelHookSet(BoardPlayerModelGet(lbl_1_bss_B6), "a-itemhook-r", lbl_1_bss_A2); Hu3DModelObjPosGet(BoardModelIDGet(*lbl_1_bss_14), "chara1", &sp10); Hu3DModelObjPosGet(BoardModelIDGet(BoardPlayerModelGet(lbl_1_bss_B6)), "a-itemhook-r", &sp1C); - VECAdd(&sp1C, &sp10, &sp1C); + PSVECAdd(&sp1C, &sp10, &sp1C); sp1C.y += 25.0f; CharModelLayerSetAll(7); CharModelEffectCreate(-1, &sp1C); @@ -97,14 +94,14 @@ void fn_1_6B7C(void) BoardModelAttrReset(lbl_1_bss_14[0], 0x40000002); omVibrate(lbl_1_bss_B6, 0x7FFF, 6, 6); HuAudFXPlay(0x492); - + while (BoardModelMotionTimeGet(lbl_1_bss_14[0]) < 90.0f) { HuPrcVSleep(); } BoardModelMotionTimeSet(lbl_1_bss_14[0], 90.0f); HuPadRumbleStop(GWPlayer[lbl_1_bss_B6].port); BoardModelHookReset(lbl_1_bss_14[0]); - + for (var_r31 = 0; var_r31 < 3; var_r31++) { BoardModelHookSet(lbl_1_bss_14[0], lbl_1_data_330[var_r31], lbl_1_bss_AA[var_r31]); } @@ -114,16 +111,15 @@ void fn_1_6B7C(void) lbl_1_bss_94 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, fn_1_7284); lbl_1_bss_8C = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, fn_1_78A0); lbl_1_bss_90 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, NULL); - lbl_1_bss_90->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x14, MEMORY_DEFAULT_NUM); + lbl_1_bss_90->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x14, 0x10000000U); if (lbl_1_bss_78 == NULL) { - lbl_1_bss_78 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_EFFECT, 0x00)); + lbl_1_bss_78 = HuSprAnimRead(HuDataSelHeapReadNum(0x120000, 0x10000000, HEAP_DATA)); HuSprAnimLock(lbl_1_bss_78); } lbl_1_bss_9C = 0; } -void fn_1_7284(omObjData *arg0) -{ +void fn_1_7284(omObjData* arg0) { if ((lbl_1_bss_9C != 0) && (BoardMGDoneFlagGet() == 1)) { fn_1_77B0(); fn_1_7314(); @@ -132,14 +128,12 @@ void fn_1_7284(omObjData *arg0) } } -void fn_1_72E4(void) -{ +void fn_1_72E4(void) { lbl_1_bss_9C = 1; BoardMGExit(); } -void fn_1_7314(void) -{ +void fn_1_7314(void) { s32 var_r31; BoardModelHookReset(lbl_1_bss_14[0]); @@ -154,14 +148,12 @@ void fn_1_7314(void) } } -void fn_1_73C0(void) -{ +void fn_1_73C0(void) { omDelObjEx(boardObjMan, lbl_1_bss_90); BoardMGDoneFlagSet(0); } -void fn_1_7400(void) -{ +void fn_1_7400(void) { while (BoardModelMotionTimeGet(lbl_1_bss_14[0]) < 30.0f) { HuPrcVSleep(); @@ -170,48 +162,42 @@ void fn_1_7400(void) BoardModelMotionTimeSet(lbl_1_bss_14[0], 30.0f); lbl_1_bss_98 = HuPrcCreate(fn_1_896C, 0x2004, 0x1000, 0); HuPrcDestructorSet2(lbl_1_bss_98, fn_1_91DC); - lbl_1_bss_98->user_data = (void *)7; + lbl_1_bss_98->user_data = (void* )7; HuPrcEnd(); } -#if VERSION_JP -#define MDL_ID_SHIFT 0 -#else -#define MDL_ID_SHIFT 1 -#endif - s32 lbl_1_data_350[14] = { - DATA_MAKE_NUM(DATADIR_BOARD, 0x6C + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x6D + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x6E + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x6F + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x70 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x71 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x72 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x73 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x75 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x76 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x77 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x78 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x79 + MDL_ID_SHIFT), - DATA_MAKE_NUM(DATADIR_BOARD, 0x7A + MDL_ID_SHIFT), + 0x0007006D, 0x0007006E, 0x0007006F, 0x00070070, + 0x00070071, 0x00070072, 0x00070073, 0x00070074, + 0x00070076, 0x00070077, 0x00070078, 0x00070079, + 0x0007007A, 0x0007007B }; -s16 lbl_1_data_388[92] = { 0, 1, -1, 2, 0, -1, 1, 2, 0, -1, 2, 1, 0, 2, -1, 1, 0, 2, 1, -1, 1, 2, -1, 0, 1, 2, 0, -1, 1, -1, 0, 2, 1, -1, 2, 0, 1, 0, - 2, -1, 1, 0, -1, 2, 2, -1, 0, 1, 2, -1, 1, 0, 2, 0, 1, -1, 2, 0, -1, 1, 2, 1, -1, 0, 2, 1, 0, -1, -1, 0, 1, 2, -1, 0, 2, 1, -1, 1, 2, 0, -1, 1, 0, - 2, -1, 2, 0, 1, -1, 2, 1, 0 }; +s16 lbl_1_data_388[92] = { + 0, 1, -1, 2, 0, -1, 1, 2, + 0, -1, 2, 1, 0, 2, -1, 1, + 0, 2, 1, -1, 1, 2, -1, 0, + 1, 2, 0, -1, 1, -1, 0, 2, + 1, -1, 2, 0, 1, 0, 2, -1, + 1, 0, -1, 2, 2, -1, 0, 1, + 2, -1, 1, 0, 2, 0, 1, -1, + 2, 0, -1, 1, 2, 1, -1, 0, + 2, 1, 0, -1, -1, 0, 1, 2, + -1, 0, 2, 1, -1, 1, 2, 0, + -1, 1, 0, 2, -1, 2, 0, 1, + -1, 2, 1, 0 +}; -f32 lbl_1_data_440[3] = { -90.0f, 0.0f, 90.0f }; +f32 lbl_1_data_440[3] = {-90.0f, 0.0f, 90.0f}; -void fn_1_74D0(s16 arg0[3]) -{ +void fn_1_74D0(s16 arg0[3]) { f32 temp_f31; s32 var_r31; for (var_r31 = 0; var_r31 < 3; var_r31++) { lbl_1_bss_B0[var_r31] = arg0[var_r31]; } - + for (var_r31 = 0; var_r31 < 3; var_r31++) { lbl_1_bss_A4[var_r31] = BoardModelCreate(lbl_1_data_350[lbl_1_bss_B0[var_r31]], NULL, 0); if (lbl_1_bss_B0[var_r31] == 0xB) { @@ -228,12 +214,12 @@ void fn_1_74D0(s16 arg0[3]) } for (var_r31 = 0; var_r31 < 3; var_r31++) { - lbl_1_bss_AA[var_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W05, 0x12), NULL, 1); + lbl_1_bss_AA[var_r31] = BoardModelCreate(0x790012, NULL, 1); BoardModelHookSet(lbl_1_bss_14[0], lbl_1_data_330[var_r31], lbl_1_bss_AA[var_r31]); BoardModelAttrSet(lbl_1_bss_AA[var_r31], 0x40000002); BoardModelMotionTimeSet(lbl_1_bss_AA[var_r31], 10.0f); } - + HuAudFXPlay(0x488); BoardModelMotionTimeSet(lbl_1_bss_14[0], 0.0f); BoardModelMotionStartEndSet(lbl_1_bss_14[0], 0, 0x1E); @@ -241,8 +227,7 @@ void fn_1_74D0(s16 arg0[3]) HuPrcCreate(fn_1_7400, 0x2004, 0x1000, 0); } -void fn_1_77B0(void) -{ +void fn_1_77B0(void) { HuAudFXPlay(0x489); BoardModelMotionStartEndSet(lbl_1_bss_14[0], 0x5A, 0x78); BoardModelMotionTimeSet(lbl_1_bss_14[0], 90.0f); @@ -258,8 +243,7 @@ void fn_1_77B0(void) } } -void fn_1_78A0(omObjData *arg0) -{ +void fn_1_78A0(omObjData* arg0) { if (arg0->work[0] == 0) { arg0->work[0] = MGSeqCreate(3, 0); return; @@ -270,8 +254,7 @@ void fn_1_78A0(omObjData *arg0) } } -void fn_1_7928(omObjData *arg0) -{ +void fn_1_7928(omObjData* arg0) { Process *temp; if (((u32)lbl_1_bss_98->user_data & 0x10) != 0) { temp = HuPrcCreate(fn_1_799C, 0x2004, 0x1800, 0); @@ -280,8 +263,7 @@ void fn_1_7928(omObjData *arg0) } } -void fn_1_799C(void) -{ +void fn_1_799C(void) { Vec sp2C; Vec sp20; Vec sp14; @@ -293,20 +275,20 @@ void fn_1_799C(void) s32 temp_r31; s32 var_r28; s32 var_r29; - omObjData *temp_r30; + omObjData* temp_r30; temp_r30 = HuPrcCurrentGet()->user_data; BoardPlayerPosGet(lbl_1_bss_B6, &sp2C); temp_r31 = temp_r30->work[0]; BoardModelPosGet(lbl_1_bss_A4[temp_r31], &sp20); sp2C.y = sp20.y = 0.0f; - VECSubtract(&sp2C, &sp20, &sp14); - temp_f30 = VECMag(&sp14); - VECScale(&sp14, &sp14, 0.016666668); - + PSVECSubtract(&sp2C, &sp20, &sp14); + temp_f30 = PSVECMag(&sp14); + PSVECScale(&sp14, &sp14, 0.016666668); + for (var_r29 = 0; var_r29 < 0x3C; var_r29++) { BoardModelPosGet(lbl_1_bss_A4[temp_r31], &sp20); - VECAdd(&sp20, &sp14, &sp20); + PSVECAdd(&sp20, &sp14, &sp20); BoardModelPosSetV(lbl_1_bss_A4[temp_r31], &sp20); HuPrcVSleep(); } @@ -356,13 +338,13 @@ void fn_1_799C(void) BoardPlayerItemAdd(lbl_1_bss_B6, lbl_1_bss_B0[temp_r31]); omVibrate(lbl_1_bss_B6, 0xC, 6, 6); temp_r27 = HuAudSStreamPlay(2); - BoardPlayerMotionShiftSet(lbl_1_bss_B6, 7, 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(lbl_1_bss_B6, 7, 0.0f, 5.0f, 0); while (BoardPlayerMotionEndCheck(lbl_1_bss_B6) == 0) { HuPrcVSleep(); } - HuPrcSleep(REFRESH_RATE/2); - + HuPrcSleep(0x1E); + while (HuAudSStreamStatGet(temp_r27) != 0) { HuPrcVSleep(); } @@ -374,15 +356,13 @@ void fn_1_799C(void) HuPrcEnd(); } -void fn_1_7E4C(omObjData *arg0) -{ +void fn_1_7E4C(omObjData* arg0) { lbl_1_bss_9C = 1; BoardMGExit(); omDelObjEx(boardObjMan, arg0); } -void fn_1_7E94(dataCopy *arg0) -{ +void fn_1_7E94(dataCopy* arg0) { if (--arg0->unk_02 == 0) { arg0->unk_02 = 0x3C; if (--arg0->unk_00 >= 0) { @@ -391,20 +371,19 @@ void fn_1_7E94(dataCopy *arg0) } } -void fn_1_7F04(omObjData *arg0) -{ +void fn_1_7F04(omObjData* arg0) { f32 sp8[2]; s32 var_r30; s32 var_r28; - dataCopy *temp_r31; + dataCopy* temp_r31; temp_r31 = arg0->data; temp_r31->unk_00 = 5; temp_r31->unk_02 = 0x3C; temp_r31->unk_04 = MGSeqCreate(1, temp_r31->unk_00, 0x120, 0x40); - HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x27, 0x0E)); + HuWinMesMaxSizeGet(1, sp8, 0x27000E); temp_r31->unk_06 = HuWinCreate(-10000.0f, 344.0f, sp8[0], sp8[1], 0); - HuWinMesSet(temp_r31->unk_06, MAKE_MESSID(0x27, 0x0E)); + HuWinMesSet(temp_r31->unk_06, 0x27000E); HuWinBGTPLvlSet(temp_r31->unk_06, 0.0f); HuWinMesSpeedSet(temp_r31->unk_06, 0); temp_r31->unk_08 = 1; @@ -430,28 +409,26 @@ void fn_1_7F04(omObjData *arg0) arg0->func = fn_1_80D8; } -void fn_1_80D8(omObjData *arg0) -{ +void fn_1_80D8(omObjData* arg0) { s32 sp10; s32 spC; s32 sp8; f32 var_f31; s32 temp_r30; s32 var_r29; - dataCopy *temp_r31; + dataCopy* temp_r31; temp_r31 = arg0->data; fn_1_7E94(temp_r31); temp_r30 = GWPlayer[lbl_1_bss_B6].port; if (GWPlayer[lbl_1_bss_B6].com != 0) { fn_1_8798(temp_r31, &sp10, &spC, &sp8); - } - else { + } else { sp10 = HuPadStkX[temp_r30]; spC = HuPadStkY[temp_r30]; sp8 = HuPadBtnDown[temp_r30]; } - + if (((sp8 & 0x100) != 0) || (temp_r31->unk_00 < 0)) { MGSeqParamSet(temp_r31->unk_04, 2, -1); HuWinKill(temp_r31->unk_06); @@ -461,18 +438,16 @@ void fn_1_80D8(omObjData *arg0) } if ((spC != 0) || (sp10 != 0)) { var_r29 = -1; - var_f31 = atan2d(spC, sp10); + var_f31 = (180.0 * (atan2(spC, sp10) / M_PI)); if (var_f31 < 0.0f) { var_f31 += 360.0f; } - + if ((var_f31 > 170.0f) && (var_f31 < 190.0f)) { var_r29 = 0; - } - else if ((var_f31 > 260.0f) && (var_f31 < 280.0f)) { + } else if ((var_f31 > 260.0f) && (var_f31 < 280.0f)) { var_r29 = 1; - } - else if ((var_f31 < 10.0f) || (var_f31 > 350.0f)) { + } else if ((var_f31 < 10.0f) || (var_f31 > 350.0f)) { var_r29 = 2; } if (var_r29 != -1) { @@ -482,10 +457,9 @@ void fn_1_80D8(omObjData *arg0) } } -void fn_1_8410(omObjData *arg0) -{ +void fn_1_8410(omObjData* arg0) { s32 temp_r30; - dataCopy *temp_r31; + dataCopy* temp_r31; temp_r31 = arg0->data; if (BoardPlayerMotionTimeGet(lbl_1_bss_B6) >= 30.0f) { @@ -496,14 +470,13 @@ void fn_1_8410(omObjData *arg0) temp_r30 |= 0x1C0; lbl_1_bss_98 = HuPrcCreate(fn_1_896C, 0x2004, 0x4000, 0); HuPrcDestructorSet2(lbl_1_bss_98, fn_1_91DC); - lbl_1_bss_98->user_data = (void *)temp_r30; + lbl_1_bss_98->user_data = (void*)temp_r30; lbl_1_bss_8C->work[0] = temp_r31->unk_08; arg0->func = fn_1_850C; } } -void fn_1_850C(omObjData *arg0) -{ +void fn_1_850C(omObjData* arg0) { Vec sp14; Vec sp8; f32 temp_f31; @@ -513,7 +486,7 @@ void fn_1_850C(omObjData *arg0) BoardPlayerMotionStart(lbl_1_bss_B6, lbl_1_bss_9E[0], 0x40000001); Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[0]), "chara1", &sp8); Hu3DModelObjPosGet(BoardModelIDGet(BoardPlayerModelGet(lbl_1_bss_B6)), "a-itemhook-r", &sp14); - VECAdd(&sp14, &sp8, &sp14); + PSVECAdd(&sp14, &sp8, &sp14); sp14.y += 25.0f; CharModelLayerSetAll(7); CharModelEffectCreate(-1, &sp14); @@ -522,17 +495,16 @@ void fn_1_850C(omObjData *arg0) } } -void fn_1_8668(omObjData *arg0) -{ +void fn_1_8668(omObjData* arg0) { s32 var_r30; if (arg0->work[0] == 0) { BoardModelHookReset(BoardPlayerModelGet(lbl_1_bss_B6)); - BoardPlayerMotionShiftSet(lbl_1_bss_B6, 1, 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(lbl_1_bss_B6, 1, 0.0f, 5.0f, 0x40000001); arg0->func = NULL; lbl_1_bss_8C->func = fn_1_7928; BoardModelKill(lbl_1_bss_A2); - + for (var_r30 = 0; var_r30 < 2; var_r30++) { BoardPlayerMotionKill(lbl_1_bss_B6, lbl_1_bss_9E[var_r30]); } @@ -541,8 +513,7 @@ void fn_1_8668(omObjData *arg0) arg0->work[0] -= 1; } -void fn_1_8798(dataCopy *arg0, s32 *arg1, s32 *arg2, s32 *arg3) -{ +void fn_1_8798(dataCopy* arg0, s32* arg1, s32* arg2, s32* arg3) { *arg1 = *arg2 = *arg3 = 0; if (arg0->unk_10 != 0) { arg0->unk_10 -= 1; @@ -561,19 +532,17 @@ void fn_1_8798(dataCopy *arg0, s32 *arg1, s32 *arg2, s32 *arg3) *arg2 = (frandBool() * 0x8C) - 0x46; } -void *fn_1_8884(void) -{ +void* fn_1_8884(void) { if (lbl_1_bss_98 == NULL) { return NULL; } return lbl_1_bss_98->user_data; } -void fn_1_88B8(void) -{ +void fn_1_88B8(void) { s32 userData = (s32)lbl_1_bss_98->user_data; userData |= 8; - lbl_1_bss_98->user_data = (void *)(userData); + lbl_1_bss_98->user_data = (void* ) (userData); while (((u32)fn_1_8884() & 0x20) == 0) { HuPrcVSleep(); @@ -582,8 +551,7 @@ void fn_1_88B8(void) lbl_1_bss_98 = NULL; } -void fn_1_896C(void) -{ +void fn_1_896C(void) { Vec sp18; Vec spC; f32 sp8; @@ -597,7 +565,7 @@ void fn_1_896C(void) ParticleData *var_r27; temp_r30 = (u32)HuPrcCurrentGet()->user_data; - + for (var_r31 = 0; var_r31 < 3; var_r31++) { var_r29 = (1 << var_r31); if ((temp_r30 & var_r29) != 0) { @@ -605,21 +573,19 @@ void fn_1_896C(void) if ((temp_r30 & 0x80) != 0) { BoardModelMotionStartEndSet(lbl_1_bss_AA[var_r31], 0, 0x28); BoardModelMotionTimeSet(lbl_1_bss_AA[var_r31], 0.0f); - } - else { + } else { BoardModelMotionStartEndSet(lbl_1_bss_AA[var_r31], 0xA, 0x28); BoardModelMotionTimeSet(lbl_1_bss_AA[var_r31], 10.0f); } } } if ((temp_r30 & 0x80) != 0) { - HuPrcSleep(((REFRESH_RATE*5)+6)/12); - } - else { - HuPrcSleep((REFRESH_RATE+2)/4); + HuPrcSleep(0x19); + } else { + HuPrcSleep(0xF); } spC.x = spC.y = spC.z = 0.0f; - + for (var_r31 = 0; var_r31 < 3; var_r31++) { var_r29 = (1 << var_r31); if ((temp_r30 & var_r29) != 0) { @@ -640,8 +606,7 @@ void fn_1_896C(void) if ((temp_r30 & 0x100) != 0) { lbl_1_bss_88 = HuAudFXPlay(0x35F); HuAudFXPlay(0x310); - } - else { + } else { HuAudFXPlay(0x362); } } @@ -649,7 +614,7 @@ void fn_1_896C(void) temp_f29 = 150.0f + sp18.y; sp8 = 0.0f; var_f31 = 12.0f; - + while (1) { for (var_r28 = 0, var_r31 = 0; var_r31 < 3; var_r31++) { var_r29 = (1 << var_r31); @@ -661,7 +626,7 @@ void fn_1_896C(void) } spC.x = spC.y = spC.z = sp8; - BoardModelScaleSetV(lbl_1_bss_A4[var_r31], (Vec *)&sp8); //! + BoardModelScaleSetV(lbl_1_bss_A4[var_r31], (Vec* ) &sp8); //! BoardModelPosGet(lbl_1_bss_A4[var_r31], &sp18); sp18.y += var_f31; if (sp18.y >= temp_f29) { @@ -674,8 +639,7 @@ void fn_1_896C(void) var_f31 *= 0.95f; if (var_r28 > 0) { HuPrcVSleep(); - } - else { + } else { break; } } @@ -686,18 +650,18 @@ void fn_1_896C(void) BoardModelScaleSetV(lbl_1_bss_A4[var_r31], &spC); } } - temp_r30 = (u32)HuPrcCurrentGet()->user_data | 0x10; - HuPrcCurrentGet()->user_data = (void *)temp_r30; + temp_r30 = (u32) HuPrcCurrentGet()->user_data | 0x10; + HuPrcCurrentGet()->user_data = (void*)temp_r30; var_f30 = 0.0f; while (1) { - temp_r30 = (u32)HuPrcCurrentGet()->user_data; + temp_r30 = (u32) HuPrcCurrentGet()->user_data; if ((temp_r30 & 8) == 0) { for (var_r31 = 0; var_r31 < 3; var_r31++) { var_r29 = (1 << var_r31); if ((temp_r30 & var_r29) != 0) { BoardModelPosGet(lbl_1_bss_A4[var_r31], &sp18); - sp18.y += 0.25 * sind(var_f30); + sp18.y = (sp18.y + (0.25 * sin((M_PI * var_f30) / 180.0))); BoardModelPosSetV(lbl_1_bss_A4[var_r31], &sp18); } } @@ -706,15 +670,14 @@ void fn_1_896C(void) var_f30 -= 360.0f; } HuPrcVSleep(); - } - else { + } else { break; } } for (var_r31 = 0; var_r31 < 3; var_r31++) { BoardModelMotionStartEndSet(lbl_1_bss_AA[var_r31], 0x28, 0x46); } - HuPrcSleep((REFRESH_RATE*2)/9); + HuPrcSleep(13); var_f31 = -8.0f; while (1) { for (var_r28 = 0, var_r31 = 0; var_r31 < 3; var_r31++) { @@ -726,7 +689,7 @@ void fn_1_896C(void) sp8 = 0.0f; } spC.x = spC.y = spC.z = sp8; - BoardModelScaleSetV(lbl_1_bss_A4[var_r31], (Vec *)&sp8); //! + BoardModelScaleSetV(lbl_1_bss_A4[var_r31], (Vec* ) &sp8); //! BoardModelPosGet(lbl_1_bss_A4[var_r31], &sp18); sp18.y += var_f31; if (sp18.y <= (temp_f29 - 150.0f)) { @@ -741,12 +704,11 @@ void fn_1_896C(void) var_f31 *= 0.98f; if (var_r28 > 0) { HuPrcVSleep(); - } - else { + } else { break; } } - + for (var_r31 = 0; var_r31 < 3; var_r31++) { var_r29 = (1 << var_r31); if ((temp_r30 & var_r29) != 0) { @@ -757,14 +719,13 @@ void fn_1_896C(void) } temp_r30 = (u32)HuPrcCurrentGet()->user_data; temp_r30 |= 0x20; - HuPrcCurrentGet()->user_data = (void *)temp_r30; + HuPrcCurrentGet()->user_data = (void*)temp_r30; while (1) { HuPrcVSleep(); } } -void fn_1_91DC(void) -{ +void fn_1_91DC(void) { u32 temp_r30; s32 var_r29; s32 var_r31; @@ -780,10 +741,9 @@ void fn_1_91DC(void) } } -void fn_1_9268(ModelData *model, ParticleData *particle, f32 (*matrix)[4]) -{ +void fn_1_9268(ModelData* model, ParticleData* particle, f32 (*matrix)[4]) { Vec sp8; - HsfanimStruct01 *var_r31; + HsfanimStruct01* var_r31; f32 temp_f30; f32 temp_f29; f32 temp_f31; @@ -801,19 +761,18 @@ void fn_1_9268(ModelData *model, ParticleData *particle, f32 (*matrix)[4]) BoardModelScaleGet(particle->unk_02, &sp8); temp_f31 = sp8.x; BoardModelPosGet(particle->unk_02, &sp8); - + for (var_r29 = 0; var_r29 < 0x16; var_r29++) { var_r31 = particle->unk_48; for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { - if (var_r31->unk2C == 0.0f) - break; + if (var_r31->unk2C == 0.0f) break; } if (var_r28 != particle->unk_30) { temp_f30 = 360.0f * (0.003921569f * (s32)(frand() & 0xFF)); temp_f29 = temp_f31 * (20.0f + (60.0f * (0.003921569f * (s32)(frand() & 0xFF)))); - var_r31->unk34.x = sp8.x + temp_f29 * sind(temp_f30); - var_r31->unk34.z = sp8.z + temp_f29 * cosd(temp_f30); + var_r31->unk34.x = sp8.x + (temp_f29 * sin((M_PI * temp_f30) / 180.0)); + var_r31->unk34.z = sp8.z + (temp_f29 * cos((M_PI * temp_f30) / 180.0)); var_r31->unk34.y = sp8.y + (temp_f31 * (-30.0f + (40.0f * (0.003921569f * (s32)(frand() & 0xFF))))); var_r31->unk08.x = 0.5f + (3.0f * (0.003921569f * (s32)(frand() & 0xFF))); var_r31->unk08.y = 0.3f + (2.0f * (0.003921569f * (s32)(frand() & 0xFF))); @@ -831,4 +790,4 @@ void fn_1_9268(ModelData *model, ParticleData *particle, f32 (*matrix)[4]) } } } -} +} \ No newline at end of file diff --git a/src/REL/w05Dll/monkey.c b/src/REL/w05Dll/monkey.c index d7a9d431..fb7e8efc 100644 --- a/src/REL/w05Dll/monkey.c +++ b/src/REL/w05Dll/monkey.c @@ -7,7 +7,7 @@ #include "game/board/player.h" // data -s32 lbl_1_data_1A8[3] = { DATA_MAKE_NUM(DATADIR_W05, 0x1F), DATA_MAKE_NUM(DATADIR_W05, 0x20), DATA_NUM_LISTEND }; +s32 lbl_1_data_1A8[3] = { 0x0079001F, 0x00790020, 0xFFFFFFFF }; char *lbl_1_data_1C4[2] = { "monkyA", "monkyB"}; s32 lbl_1_data_1CC[3] = { 0x78, 0x6F, 0x70 }; @@ -29,7 +29,7 @@ void fn_1_2B40(void) { BoardModelMotionTimeSet(lbl_1_bss_14[3], 0.0f); for (var_r31 = 0; var_r31 < 2; var_r31++) { - lbl_1_bss_4E[var_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W05, 0x1E), lbl_1_data_1A8, 0); + lbl_1_bss_4E[var_r31] = BoardModelCreate(0x79001E, lbl_1_data_1A8, 0); BoardModelAttrSet(lbl_1_bss_4E[var_r31], 0x40000001); } BoardModelHookSet(lbl_1_bss_14[2], lbl_1_data_1C4[0], lbl_1_bss_4E[0]); @@ -53,8 +53,8 @@ void fn_1_2C7C(s32 arg0) { BoardModelPosGet(lbl_1_bss_4A, &lbl_1_bss_38); lbl_1_bss_38.x -= 140.0f; } - lbl_1_bss_44[0] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W05, 0x1C), NULL, 0); - lbl_1_bss_44[1] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W05, 0x1D), NULL, 0); + lbl_1_bss_44[0] = BoardModelCreate(0x79001C, NULL, 0); + lbl_1_bss_44[1] = BoardModelCreate(0x79001D, NULL, 0); BoardModelVisibilitySet(lbl_1_bss_44[0], 0); BoardModelVisibilitySet(lbl_1_bss_44[1], 0); BoardModelAttrSet(lbl_1_bss_44[0], 0x40000001); @@ -110,25 +110,25 @@ void fn_1_3044(void) { HuPrcSleep(0x88); Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_4A), lbl_1_data_1C4[lbl_1_bss_48], &sp20); Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_4E[lbl_1_bss_48]), "bakawa1", &sp14); - VECAdd(&sp20, &sp14, &sp14); + PSVECAdd(&sp20, &sp14, &sp14); BoardModelPosSetV(lbl_1_bss_44[0], &sp14); BoardModelVisibilitySet(lbl_1_bss_44[0], 1); BoardModelMotionTimeSet(lbl_1_bss_44[0], 0.0f); HuAudFXPlay(0x48C); - VECSubtract(&lbl_1_bss_38, &sp14, &sp8); + PSVECSubtract(&lbl_1_bss_38, &sp14, &sp8); sp8.y = 0.0f; - VECNormalize(&sp8, &sp8); - VECScale(&sp8, &sp8, 8.0f); + PSVECNormalize(&sp8, &sp8); + PSVECScale(&sp8, &sp8, 8.0f); temp_f30 = 11.0f; var_f31 = 0.0f; while (1) { sp8.y = (temp_f30 - (0.075 * (0.25f * (var_f31 * var_f31)))); var_f31 += 1.0f; - VECAdd(&sp14, &sp8, &sp14); - VECSubtract(&lbl_1_bss_38, &sp14, &sp20); + PSVECAdd(&sp14, &sp8, &sp14); + PSVECSubtract(&lbl_1_bss_38, &sp14, &sp20); sp20.y = 0.0f; - var_f29 = VECMag(&sp20); + var_f29 = PSVECMag(&sp20); if (var_f29 <= 8.0f) { sp14.x = lbl_1_bss_38.x; sp14.z = lbl_1_bss_38.z; @@ -153,7 +153,7 @@ void fn_1_3044(void) { void fn_1_3430(void) { if (GWPlayer[lbl_1_bss_4C].bowser_suit == 0) { - BoardPlayerMotionShiftSet(lbl_1_bss_4C, lbl_1_bss_30[2], 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(lbl_1_bss_4C, lbl_1_bss_30[2], 0.0f, 8.0f, 0); HuPrcSleep(8); while (BoardPlayerMotionEndCheck(lbl_1_bss_4C) == 0) { @@ -178,20 +178,20 @@ void fn_1_3514(void) { s32 var_r31; BoardPlayerPosGet(lbl_1_bss_4C, &sp2C); - BoardPlayerMotionShiftSet(lbl_1_bss_4C, 4, 0.0f, 5.0f, HU3D_MOTATTR_NONE); - VECSubtract(&lbl_1_bss_38, &sp2C, &sp20); + BoardPlayerMotionShiftSet(lbl_1_bss_4C, 4, 0.0f, 5.0f, 0); + PSVECSubtract(&lbl_1_bss_38, &sp2C, &sp20); sp20.y = 0.0f; - VECNormalize(&sp20, &sp20); - VECScale(&sp20, &sp20, 7.2f); + PSVECNormalize(&sp20, &sp20); + PSVECScale(&sp20, &sp20, 7.2f); var_f30 = 10.0f; var_f31 = 0.0f; while (1) { sp20.y = (var_f30 - (0.075f * (0.25f * (var_f31 * var_f31)))); var_f31 += 1.0f; - VECAdd(&sp2C, &sp20, &sp2C); - VECSubtract(&lbl_1_bss_38, &sp2C, &sp14); + PSVECAdd(&sp2C, &sp20, &sp2C); + PSVECSubtract(&lbl_1_bss_38, &sp2C, &sp14); sp14.y = 0.0f; - var_f29 = VECMag(&sp14); + var_f29 = PSVECMag(&sp14); if (var_f29 <= 7.2f) { sp2C.x = lbl_1_bss_38.x; sp2C.z = lbl_1_bss_38.z; @@ -218,19 +218,19 @@ void fn_1_3514(void) { var_r31 = BoardSpaceLinkFlagSearch(0, var_r31, 0x400); } BoardSpacePosGet(0, var_r31, &sp8); - VECSubtract(&sp8, &sp2C, &sp20); + PSVECSubtract(&sp8, &sp2C, &sp20); sp20.y = 0.0f; - VECNormalize(&sp20, &sp20); - VECScale(&sp20, &sp20, 10.0f); + PSVECNormalize(&sp20, &sp20); + PSVECScale(&sp20, &sp20, 10.0f); var_f30 = 9.0f; var_f31 = 0.0f; while (1) { sp20.y = var_f30 - (0.075f * (0.25f * (var_f31 * var_f31))); var_f31 += 1.0f; - VECAdd(&sp2C, &sp20, &sp2C); - VECSubtract(&sp8, &sp2C, &sp14); + PSVECAdd(&sp2C, &sp20, &sp2C); + PSVECSubtract(&sp8, &sp2C, &sp14); sp14.y = 0.0f; - var_f29 = VECMag(&sp14); + var_f29 = PSVECMag(&sp14); if (var_f29 <= 10.0f) { sp2C.x = sp8.x; sp2C.z = sp8.z; @@ -284,7 +284,7 @@ void fn_1_3514(void) { } HuPrcVSleep(); } else { - BoardPlayerMotionShiftSet(lbl_1_bss_4C, 6, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(lbl_1_bss_4C, 6, 0.0f, 8.0f, 0x40000001U); break; } } @@ -327,7 +327,7 @@ void fn_1_3E8C(void) { sp8.x = 25.0f; } for (i = 0; i < 60; i++) { - VECAdd(&sp14, &sp8, &sp14); + PSVECAdd(&sp14, &sp8, &sp14); sp8.y -= 0.625f; BoardModelPosSetV(lbl_1_bss_44[1], &sp14); HuPrcVSleep(); diff --git a/src/REL/w06Dll/bowser.c b/src/REL/w06Dll/bowser.c index bce6d422..5b05c367 100755 --- a/src/REL/w06Dll/bowser.c +++ b/src/REL/w06Dll/bowser.c @@ -89,12 +89,6 @@ static s32 lbl_1_data_4CC[8] = { 0x000002E3 }; -#if VERSION_JP -#define MDL_ID_SHIFT 0 -#else -#define MDL_ID_SHIFT 1 -#endif - static s32 lbl_1_data_4EC[] = { DATA_MAKE_NUM(DATADIR_BKOOPA, 8), DATA_MAKE_NUM(DATADIR_BKOOPA, 10), @@ -256,9 +250,9 @@ static void fn_1_95AC(s32 arg0) { lbl_1_data_49C = BoardPlayerMotionCreate(arg0, lbl_1_data_510[GWPlayer[arg0].character]); BoardPlayerPosGet(arg0, &sp38); BoardModelPosGet(lbl_1_data_49A, &sp2C); - VECSubtract(&sp2C, &sp38, &sp20); - VECNormalize(&sp20, &sp20); - BoardModelMotionShiftSet(lbl_1_data_498, 4, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + PSVECSubtract(&sp2C, &sp38, &sp20); + PSVECNormalize(&sp20, &sp20); + BoardModelMotionShiftSet(lbl_1_data_498, 4, 0.0f, 8.0f, 0); HuPrcSleep(8); HuAudFXPlay(0x3C); BoardMusStart(1, 6, 0x7F, 0); @@ -286,13 +280,13 @@ static void fn_1_95AC(s32 arg0) { while (!BoardModelMotionEndCheck(lbl_1_data_498)) { HuPrcVSleep(); } - BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, 0x40000001); BoardWinCreate(2, MAKE_MESSID(48, 2), 5); BoardWinWait(); BoardWinKill(); BoardCameraMotionStartEx(-1, NULL, NULL, 2000.0f, -1.0f, 21); BoardCameraMotionWait(); - BoardModelMotionShiftSet(lbl_1_data_498, 5, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_data_498, 5, 0.0f, 8.0f, 0); HuPrcSleep(8); while (BoardModelMotionTimeGet(lbl_1_data_498) < 80.0f) { HuPrcVSleep(); @@ -306,8 +300,8 @@ static void fn_1_95AC(s32 arg0) { omVibrate(arg0, 12, 4, 2); BoardPlayerMotionStart(arg0, lbl_1_data_49C, 0x40000001); temp_r30 = BoardSpaceFlagPosGet(0, 0x8000, &sp2C); - VECSubtract(&sp2C, &sp38, &sp20); - VECNormalize(&sp20, &sp20); + PSVECSubtract(&sp2C, &sp38, &sp20); + PSVECNormalize(&sp20, &sp20); sp20.x = 500.0f * sp20.x / 90.0f; sp20.z = 500.0f * sp20.z / 90.0f; sp38.y += 150.0f; @@ -390,9 +384,9 @@ static void fn_1_9E5C(s32 arg0) { BoardPlayerPosGet(arg0, &sp38); BoardModelPosGet(lbl_1_data_49A, &sp2C); - VECSubtract(&sp2C, &sp38, &sp20); - VECNormalize(&sp20, &sp20); - BoardModelMotionShiftSet(lbl_1_data_498, 4, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + PSVECSubtract(&sp2C, &sp38, &sp20); + PSVECNormalize(&sp20, &sp20); + BoardModelMotionShiftSet(lbl_1_data_498, 4, 0.0f, 8.0f, 0); HuPrcSleep(8); HuAudFXPlay(0x3C); BoardMusStart(1, 6, 0x7F, 0); @@ -420,7 +414,7 @@ static void fn_1_9E5C(s32 arg0) { while (!BoardModelMotionEndCheck(lbl_1_data_498)) { HuPrcVSleep(); } - BoardModelMotionShiftSet(lbl_1_data_498, 7, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_data_498, 7, 0.0f, 8.0f, 0); HuPrcSleep(9); while (BoardModelMotionTimeGet(lbl_1_data_498) < 33.0f) { HuPrcVSleep(); @@ -428,12 +422,12 @@ static void fn_1_9E5C(s32 arg0) { HuAudFXPlay(0x51); var_r30 = BoardPlayerCoinsGet(arg0); if (var_r30 != 0) { - var_r29 = MAKE_MESSID(48, 3); + var_r29 = 0x300003; var_r28 = -1; var_r30 = BoardPlayerCoinsGet(arg0) - (var_r30 >> 1); var_r25 = 8; } else { - var_r29 = MAKE_MESSID(48, 5); + var_r29 = 0x300005; var_r28 = 1; var_r30 = 50; var_r25 = 7; @@ -465,18 +459,18 @@ static void fn_1_9E5C(s32 arg0) { while (!BoardModelMotionEndCheck(lbl_1_data_498)) { HuPrcVSleep(); } - BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); - BoardPlayerMotionShiftSet(arg0, var_r25, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, 0x40000001); + BoardPlayerMotionShiftSet(arg0, var_r25, 0.0f, 8.0f, 0); HuPrcSleep(10); while (!BoardPlayerMotionEndCheck(arg0)) { HuPrcVSleep(); } if (var_r28 == -1) { - var_r29 = MAKE_MESSID(48, 4); + var_r29 = 0x300004; } else { - var_r29 = MAKE_MESSID(48, 6); + var_r29 = 0x300006; } - BoardModelMotionShiftSet(lbl_1_data_498, 3, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_data_498, 3, 0.0f, 8.0f, 0); HuAudFXPlay(0x3A); BoardWinCreate(2, var_r29, 5); BoardWinWait(); @@ -487,7 +481,7 @@ static void fn_1_9E5C(s32 arg0) { BoardCameraMoveSet(1); BoardCameraViewSet(1); BoardCameraMotionWait(); - BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, 0x40000001); fn_1_B6A0(0.0f, 20); BoardAudSeqPause(0, 0, 1000); } @@ -506,9 +500,9 @@ static void fn_1_A408(s32 arg0) { BoardPlayerPosGet(arg0, &sp38); BoardModelPosGet(lbl_1_data_49A, &sp2C); - VECSubtract(&sp2C, &sp38, &sp20); - VECNormalize(&sp20, &sp20); - BoardModelMotionShiftSet(lbl_1_data_498, 4, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + PSVECSubtract(&sp2C, &sp38, &sp20); + PSVECNormalize(&sp20, &sp20); + BoardModelMotionShiftSet(lbl_1_data_498, 4, 0.0f, 8.0f, 0); HuPrcSleep(8); HuAudFXPlay(0x3C); BoardMusStart(1, 6, 0x7F, 0); @@ -529,16 +523,16 @@ static void fn_1_A408(s32 arg0) { while (!BoardModelMotionEndCheck(lbl_1_data_498)) { HuPrcVSleep(); } - BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, 0x40000001); BoardWinCreate(2, MAKE_MESSID(48, 7), 5); BoardWinWait(); BoardWinKill(); fn_1_BD08(0); BoardPlayerPosGet(arg0, &sp38); BoardAudSeqFadeOut(1, 1000); - BoardModelMotionShiftSet(lbl_1_data_498, 2, 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_data_498, 2, 0.0f, 10.0f, 0); HuPrcSleep(55); - BoardPlayerMotionShiftSet(arg0, 4, 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(arg0, 4, 0.0f, 5.0f, 0); HuPrcSleep(5); temp_r28 = HuAudFXPlay(0x3D); BoardPlayerPosGet(arg0, &sp20); @@ -662,8 +656,8 @@ static void fn_1_AB4C(s32 arg0, s32 arg1) { BoardSpacePosGet(0, arg1, &sp3C); BoardPlayerPosSetV(arg0, &sp3C); BoardModelPosGet(lbl_1_data_49A, &sp30); - VECSubtract(&sp30, &sp3C, &sp24); - VECNormalize(&sp24, &sp24); + PSVECSubtract(&sp30, &sp3C, &sp24); + PSVECNormalize(&sp24, &sp24); BoardPlayerRotYSet(arg0, atan2d(sp24.x, sp24.z)); BoardPlayerSizeSet(arg0, 2); sp18.x = 0.0f; @@ -690,7 +684,7 @@ static void fn_1_AB4C(s32 arg0, s32 arg1) { var_r26 = MAKE_MESSID(48, 10); var_r25 = 8; HuAudFXPlay(0x3A); - BoardModelMotionShiftSet(lbl_1_data_498, 3, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_data_498, 3, 0.0f, 8.0f, 0); } else { var_r26 = MAKE_MESSID(48, 8); var_r25 = 7; @@ -704,7 +698,7 @@ static void fn_1_AB4C(s32 arg0, s32 arg1) { HuPrcVSleep(); } if (var_r29 != 0) { - BoardModelMotionShiftSet(lbl_1_data_498, 7, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_data_498, 7, 0.0f, 8.0f, 0); temp_r23 = BoardPlayerCoinsGet(arg0); var_r30 = temp_r23 - (BoardPlayerCoinsGet(arg0) >> 1); if (var_r30 < 0) { @@ -724,7 +718,7 @@ static void fn_1_AB4C(s32 arg0, s32 arg1) { } HuAudFXPlay(0xF); } else { - BoardModelMotionShiftSet(lbl_1_data_498, 8, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_data_498, 8, 0.0f, 8.0f, 0); BoardWinCreate(2, MAKE_MESSID(48, 9), 5); BoardWinWait(); BoardWinKill(); @@ -749,7 +743,7 @@ static void fn_1_AB4C(s32 arg0, s32 arg1) { BoardSpaceTypeSet(0, var_r24, 1); BoardMusStartBoard(); } - BoardPlayerMotionShiftSet(arg0, var_r25, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(arg0, var_r25, 0.0f, 8.0f, 0); HuPrcSleep(8); BoardModelAttrSet(lbl_1_data_498, 0x40000004); while (!BoardModelMotionEndCheck(lbl_1_data_498)) { @@ -762,7 +756,7 @@ static void fn_1_AB4C(s32 arg0, s32 arg1) { BoardAudSeqFadeOut(1, 1000); } HuPrcSleep(48); - BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, 0x40000001); BoardPlayerIdleSet(arg0); fn_1_B6A0(0.0f, 20); } @@ -780,9 +774,9 @@ static void fn_1_B27C(s32 arg0) { BoardPlayerPosGet(arg0, &sp38); BoardModelPosGet(lbl_1_data_49A, &sp2C); - VECSubtract(&sp2C, &sp38, &sp20); - VECNormalize(&sp20, &sp20); - BoardModelMotionShiftSet(lbl_1_data_498, 4, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + PSVECSubtract(&sp2C, &sp38, &sp20); + PSVECNormalize(&sp20, &sp20); + BoardModelMotionShiftSet(lbl_1_data_498, 4, 0.0f, 8.0f, 0); HuPrcSleep(8); HuAudFXPlay(0x3C); sp14.x = 0.0f; @@ -803,11 +797,11 @@ static void fn_1_B27C(s32 arg0) { while (!BoardModelMotionEndCheck(lbl_1_data_498)) { HuPrcVSleep(); } - BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, 0x40000001); BoardMusStart(1, 6, 0x7F, 0); - BoardModelMotionShiftSet(lbl_1_data_498, 7, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_data_498, 7, 0.0f, 8.0f, 0); HuPrcSleep(8); - var_r29 = MAKE_MESSID(48, 38); + var_r29 = 0x300026; var_r27 = 50; BoardWinCreate(2, var_r29, 5); BoardWinWait(); @@ -826,13 +820,13 @@ static void fn_1_B27C(s32 arg0) { while (!BoardModelMotionEndCheck(lbl_1_data_498)) { HuPrcVSleep(); } - var_r29 = MAKE_MESSID(48, 39); - BoardModelMotionShiftSet(lbl_1_data_498, 3, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + var_r29 = 0x300027; + BoardModelMotionShiftSet(lbl_1_data_498, 3, 0.0f, 8.0f, 0); HuAudFXPlay(0x3A); BoardWinCreate(2, var_r29, 5); BoardWinWait(); BoardWinKill(); - BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, 0x40000001); BoardAudSeqFadeOut(1, 1000); HuPrcSleep(24); BoardPlayerIdleSet(arg0); @@ -868,7 +862,7 @@ static void fn_1_B6A0(float arg0, s16 arg1) { BoardModelRotYSet(lbl_1_data_498, arg0); return; } - BoardModelMotionShiftSet(lbl_1_data_498, 6, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_data_498, 6, 0.0f, 8.0f, 0x40000001); BoardModelMotionSpeedSet(lbl_1_data_498, 2.0f); while (arg1 > 0) { var_f27 = var_f25 + BoardModelRotYGet(lbl_1_data_498); @@ -877,7 +871,7 @@ static void fn_1_B6A0(float arg0, s16 arg1) { arg1--; } BoardModelRotYSet(lbl_1_data_498, arg0); - BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, 0x40000001); } static void fn_1_B8E0(omObjData *arg0) { @@ -966,7 +960,7 @@ static void fn_1_BD8C(s32 arg0) { OSs8tof32(&lbl_1_data_4A4[lbl_1_bss_0->unk04 - 1], &var_f25); BoardPlayerPosGet(arg0, &sp18); BoardModelPosGet(lbl_1_data_49A, &sp24); - VECSubtract(&sp18, &sp24, &spC); + PSVECSubtract(&sp18, &sp24, &spC); var_f26 = atan2d(spC.x, spC.z); BoardPlayerMotBlendSet(arg0, var_f26 + 180.0f, 0x14); fn_1_B6A0(var_f25, 20); @@ -978,7 +972,7 @@ static void fn_1_BD8C(s32 arg0) { void fn_1_C108(s32 arg0) { if (arg0 != 0) { - BoardModelMotionShiftSet(lbl_1_data_498, 2, 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_data_498, 2, 0.0f, 10.0f, 0); BoardModelMotionSpeedSet(lbl_1_data_498, 2.0f); HuPrcSleep(30); lbl_1_bss_0->unk00_field4 = 1; @@ -995,7 +989,7 @@ void fn_1_C108(s32 arg0) { while (!BoardModelMotionEndCheck(lbl_1_data_498)) { HuPrcVSleep(); } - BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 8.0f, 0x40000001); } } @@ -1042,7 +1036,7 @@ static void fn_1_C40C(void) { BoardCameraMotionWait(); BoardCameraTargetModelSet(-1); BoardModelRotYSet(lbl_1_data_498, var_f30); - lbl_1_data_4A0 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 98 + MDL_ID_SHIFT), NULL, 0); + lbl_1_data_4A0 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 99), NULL, 0); BoardModelVisibilitySet(lbl_1_data_4A0, 0); BoardModelLayerSet(lbl_1_data_4A0, 2); var_r29 = BoardSpaceStarGet(lbl_1_bss_0->unk04 - 1); @@ -1064,7 +1058,7 @@ static void fn_1_C40C(void) { BoardWinWait(); BoardWinKill(); HuAudFXPlay(0x359); - BoardModelMotionShiftSet(lbl_1_data_498, 4, 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_data_498, 4, 0.0f, 10.0f, 0); HuPrcSleep(11); HuAudFXPlay(0x33F); HuAudFXPlay(0x3C); @@ -1083,7 +1077,7 @@ static void fn_1_C40C(void) { while (!BoardModelMotionEndCheck(lbl_1_data_498)) { HuPrcVSleep(); } - BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_data_498, 1, 0.0f, 10.0f, 0); BoardWinCreate(0, MAKE_MESSID(48, 12), -1); BoardWinWait(); BoardWinKill(); @@ -1211,9 +1205,9 @@ void fn_1_CD0C(void) { BoardModelVisibilitySet(lbl_1_data_49A, 1); BoardModelPosGet(lbl_1_data_498, &sp20); BoardViewFocusGetPos(&sp2C); - VECSubtract(&sp2C, &sp20, &sp14); + PSVECSubtract(&sp2C, &sp20, &sp14); sp14.y = 0.0f; - temp_f30 = VECMag(&sp14); + temp_f30 = PSVECMag(&sp14); if (temp_f30 > 3000.0f) { var_r30 = 180; } else if (temp_f30 > 1500.0f) { @@ -1228,7 +1222,7 @@ void fn_1_CD0C(void) { while (!BoardViewMoveCheck()) { HuPrcVSleep(); } - BoardWinCreate(3, MAKE_MESSID(48, 1), -1); + BoardWinCreate(3, 0x300001, -1); BoardWinWait(); BoardWinKill(); } diff --git a/src/REL/w06Dll/bridge.c b/src/REL/w06Dll/bridge.c index d1b18256..9045bc1e 100755 --- a/src/REL/w06Dll/bridge.c +++ b/src/REL/w06Dll/bridge.c @@ -118,7 +118,7 @@ void fn_1_7BB0(void) { temp_r27 = BoardSpaceFlagPosGet(0, lbl_1_data_434[i][var_r28], &sp8); BoardModelPosSetV(lbl_1_bss_D0[i], &sp8); BoardModelRotYSet(lbl_1_bss_D0[i], lbl_1_data_41C[i][var_r28]); - BoardModelMotionShiftSet(lbl_1_bss_D0[i], 0, 60.0f * var_f29, 0.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_bss_D0[i], 0, 60.0f * var_f29, 0.0f, 0); HuPrcSleep(2); BoardModelMotionSpeedSet(lbl_1_bss_D0[i], 0.0f); lbl_1_bss_D6[i][var_r28] = temp_r27; @@ -157,7 +157,7 @@ void fn_1_7FA4(void) { temp_r29 = BoardSpaceFlagPosGet(0, lbl_1_data_434[var_r31][temp_r30], &sp8); BoardModelPosSetV(lbl_1_bss_D0[var_r31], &sp8); BoardModelRotYSet(lbl_1_bss_D0[var_r31], lbl_1_data_41C[var_r31][temp_r30]); - BoardModelMotionShiftSet(lbl_1_bss_D0[var_r31], 0, 60.0f * temp_f31, 0.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_bss_D0[var_r31], 0, 60.0f * temp_f31, 0.0f, 0); HuPrcSleep(2); BoardModelMotionSpeedSet(lbl_1_bss_D0[var_r31], 0.0f); lbl_1_bss_D6[var_r31][temp_r30] = temp_r29; @@ -226,7 +226,7 @@ static s32 fn_1_8490(s32 arg0, s8 arg1) { BoardPlayerPosGet(arg0, &sp18); BoardSpacePosGet(0, lbl_1_bss_E2, &sp24); - VECSubtract(&sp24, &sp18, &spC); + PSVECSubtract(&sp24, &sp18, &spC); temp_f30 = atan2d(spC.x, spC.z); BoardPlayerMotBlendSet(arg0, temp_f30, 0xF); while (!BoardPlayerMotBlendCheck(arg0)) { @@ -249,7 +249,7 @@ static s32 fn_1_8490(s32 arg0, s8 arg1) { BoardPlayerIdleSet(arg0); HuPrcSleep(30); } else { - BoardPlayerMotionShiftSet(arg0, lbl_1_data_418, 0.0f, 6.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(arg0, lbl_1_data_418, 0.0f, 6.0f, 0); BoardPlayerMotionSpeedSet(arg0, 1.5f); HuPrcSleep(60); } @@ -262,7 +262,7 @@ static s32 fn_1_8490(s32 arg0, s8 arg1) { BoardPlayerIdleSet(arg0); HuPrcSleep(30); } else { - BoardPlayerMotionShiftSet(arg0, lbl_1_data_418, 0.0f, 6.0f, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(arg0, lbl_1_data_418, 0.0f, 6.0f, 0x40000001); BoardPlayerMotionSpeedSet(arg0, 3.0f); HuPrcSleep(60); } diff --git a/src/REL/w06Dll/fire.c b/src/REL/w06Dll/fire.c index f9fb964b..be247094 100755 --- a/src/REL/w06Dll/fire.c +++ b/src/REL/w06Dll/fire.c @@ -49,24 +49,6 @@ static s16 lbl_1_data_22A = -1; static s16 lbl_1_data_22C = -1; static s16 lbl_1_data_22E = -1; -#if VERSION_PAL -static s32 lbl_1_data_230[] = { - MAKE_MESSID(8, 0), - MAKE_MESSID(8, 1), - MAKE_MESSID(8, 2), - MAKE_MESSID(8, 3), - MAKE_MESSID(8, 4), - MAKE_MESSID(8, 5), - MAKE_MESSID(8, 6), - MAKE_MESSID(8, 7), - MAKE_MESSID(8, 8), - MAKE_MESSID(8, 9), - MAKE_MESSID(8, 10), - MAKE_MESSID(8, 11), - MAKE_MESSID(8, 12), - MAKE_MESSID(8, 13) -}; -#else static s32 lbl_1_data_230[] = { MAKE_MESSID(8, 14), MAKE_MESSID(8, 15), @@ -83,7 +65,7 @@ static s32 lbl_1_data_230[] = { MAKE_MESSID(8, 26), MAKE_MESSID(8, 27) }; -#endif + void fn_1_6EF0(void) { BoardRollDispSet(0); lbl_1_bss_90 = HuPrcChildCreate(fn_1_6F80, 0x2003, 0x3800, 0, boardMainProc); @@ -113,7 +95,7 @@ static void fn_1_6F80(void) { fn_1_72CC(temp_r31); fn_1_7760(temp_r31); BoardCameraMotionWait(); - BoardModelMotionShiftSet(lbl_1_bss_C0, 0, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_C0, 0, 0.0f, 8.0f, 0x40000001); HuPrcSleep(8); while (BoardModelMotionTimeGet(lbl_1_bss_C0) < 22.0f) { HuPrcVSleep(); @@ -131,7 +113,7 @@ static void fn_1_6F80(void) { if (lbl_1_bss_B8 != -1) { HuAudFXStop(lbl_1_bss_B8); } - BoardModelMotionShiftSet(lbl_1_bss_C0, 0, 60.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(lbl_1_bss_C0, 0, 60.0f, 8.0f, 0); fn_1_73EC(0.0f); fn_1_7574(); while (!BoardModelMotionEndCheck(lbl_1_bss_C0)) { @@ -172,7 +154,7 @@ static void fn_1_72CC(s32 arg0) { } BoardPlayerPosGet(arg0, &sp18); BoardModelPosGet(lbl_1_bss_C0, &sp24); - VECSubtract(&sp24, &sp18, &spC); + PSVECSubtract(&sp24, &sp18, &spC); for (i = 0; i < 4; i++) { if (var_r30 & BoardSpaceFlagGet(0, GWPlayer[i].space_curr)) { lbl_1_bss_C2[i] = 1; @@ -221,12 +203,9 @@ static void fn_1_74BC(s32 arg0) { static void fn_1_7574(void) { s32 temp_r3; s32 temp_r29; - #if VERSION_PAL - s32 playerNo = GWSystem.player_curr; - #endif s32 temp_r28; s32 i; - + for (i = 0; i < 4; i++) { if (lbl_1_bss_C2[i] == 0) { continue; @@ -239,17 +218,11 @@ static void fn_1_7574(void) { BoardWinCreate(0, MAKE_MESSID(48, 16), -1); BoardWinInsertMesSet(temp_r28, 0); BoardWinInsertMesSet(lbl_1_data_230[temp_r29], 1); - #if VERSION_PAL - GWSystem.player_curr = i; - #endif BoardWinPlayerSet(i); BoardWinWait(); BoardWinKill(); } } - #if VERSION_PAL - GWSystem.player_curr = playerNo; - #endif } static void fn_1_7674(s32 arg0) { @@ -292,11 +265,11 @@ static void fn_1_7760(s32 arg0) { } BoardModelPosGet(lbl_1_bss_C0, &sp20); BoardSpacePosGet(0, var_r29, &sp2C); - VECSubtract(&sp2C, &sp20, &sp8); + PSVECSubtract(&sp2C, &sp20, &sp8); sp8.x *= 0.4f; sp8.y *= 0.4f; sp8.z *= 0.4f; - VECAdd(&sp20, &sp8, &sp2C); + PSVECAdd(&sp20, &sp8, &sp2C); lbl_1_data_22A = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 10), NULL, 0); BoardModelVisibilitySet(lbl_1_data_22A, 0); BoardModelPosSetV(lbl_1_data_22A, &sp2C); diff --git a/src/REL/w06Dll/mg_coin.c b/src/REL/w06Dll/mg_coin.c index 5734aa84..112ba588 100755 --- a/src/REL/w06Dll/mg_coin.c +++ b/src/REL/w06Dll/mg_coin.c @@ -203,20 +203,20 @@ static s32 fn_1_4BF8(s32 arg0) { BoardModelPosGet(lbl_1_bss_C[0], &sp38); sp38.x += 115.0 * sin(M_PI); sp38.z += 115.0 * cos(M_PI); - VECSubtract(&sp38, &sp2C, &sp20); - VECNormalize(&sp20, &sp20); + PSVECSubtract(&sp38, &sp2C, &sp20); + PSVECNormalize(&sp20, &sp20); BoardPlayerRotYSet(arg0, atan2d(-sp20.x, -sp20.z)); BoardPlayerPosLerpStart(arg0, &sp2C, &sp38, 40); BoardModelPosGet(lbl_1_bss_C[5], &sp2C); - BoardModelMotionShiftSet(lbl_1_bss_C[5], lbl_1_data_1DA, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_C[5], lbl_1_data_1DA, 0.0f, 8.0f, 0x40000001); BoardModelMotionSpeedSet(lbl_1_bss_C[5], 2.0f); while (GWPlayer[arg0].moving) { BoardPlayerPosGet(arg0, &sp38); - VECSubtract(&sp38, &sp2C, &sp20); + PSVECSubtract(&sp38, &sp2C, &sp20); BoardModelRotYSet(lbl_1_bss_C[5], atan2d(sp20.x, sp20.z)); HuPrcVSleep(); } - BoardModelMotionShiftSet(lbl_1_bss_C[5], 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_C[5], 1, 0.0f, 8.0f, 0x40000001); BoardPlayerIdleSet(arg0); BoardPlayerRotYSet(arg0, -90.0f); BoardAudSeqPause(0, 1, 1000); @@ -255,7 +255,7 @@ static void fn_1_4FB8(s32 arg0) { while (lbl_1_bss_54) { HuPrcVSleep(); } - BoardPlayerMotionShiftSet(arg0, 7, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(arg0, 7, 0.0f, 8.0f, 0); HuPrcSleep(8); while (!BoardPlayerMotionEndCheck(arg0)) { HuPrcVSleep(); @@ -281,15 +281,15 @@ static void fn_1_519C(s32 arg0) { if (lbl_1_bss_8C == 0) { BoardPlayerPosLerpStart(arg0, &sp20, &sp14, 40); BoardModelPosGet(lbl_1_bss_C[5], &sp20); - BoardModelMotionShiftSet(lbl_1_bss_C[5], lbl_1_data_1DA, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_C[5], lbl_1_data_1DA, 0.0f, 8.0f, 0x40000001); BoardModelMotionSpeedSet(lbl_1_bss_C[5], 2.0f); while (GWPlayer[arg0].moving) { BoardPlayerPosGet(arg0, &sp14); - VECSubtract(&sp14, &sp20, &sp8); + PSVECSubtract(&sp14, &sp20, &sp8); BoardModelRotYSet(lbl_1_bss_C[5], atan2d(sp8.x, sp8.z)); HuPrcVSleep(); } - BoardModelMotionShiftSet(lbl_1_bss_C[5], 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_C[5], 1, 0.0f, 8.0f, 0x40000001); } BoardModelRotYSet(lbl_1_bss_C[5], 0.0f); BoardCameraMotionWait(); @@ -336,8 +336,8 @@ static void fn_1_5490(s32 arg0) { sp3C.x += 50.0f; BoardPlayerPosGet(arg0, &sp30); sp30.x -= 10.0f; - VECSubtract(&sp30, &sp3C, &sp24); - VECNormalize(&sp24, &sp18); + PSVECSubtract(&sp30, &sp3C, &sp24); + PSVECNormalize(&sp24, &sp18); temp_r3->trans.x = sp24.x / 60.0f; temp_r3->trans.y = sp24.y / 60.0f; temp_r3->trans.z = sp24.z / 60.0f; @@ -446,7 +446,7 @@ static void fn_1_59D0(s32 arg0) { return; } if (arg0 == 4) { - BoardModelMotionShiftSet(temp_r31->unk04, 2, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(temp_r31->unk04, 2, 0.0f, 8.0f, 0); temp_r31->unk02 = 10; return; } diff --git a/src/REL/w06Dll/mg_item.c b/src/REL/w06Dll/mg_item.c index 6313eb6d..60400ef0 100755 --- a/src/REL/w06Dll/mg_item.c +++ b/src/REL/w06Dll/mg_item.c @@ -1,15 +1,6 @@ #include "REL/w06Dll.h" #include "game/audio.h" -#include "game/board/audio.h" -#include "game/board/com.h" -#include "game/board/main.h" -#include "game/board/model.h" -#include "game/board/player.h" -#include "game/board/space.h" -#include "game/board/ui.h" -#include "game/board/window.h" #include "game/data.h" -#include "game/frand.h" #include "game/gamework_data.h" #include "game/hsfanim.h" #include "game/hsfman.h" @@ -19,7 +10,15 @@ #include "game/process.h" #include "game/sprite.h" #include "game/window.h" - +#include "game/frand.h" +#include "game/board/audio.h" +#include "game/board/com.h" +#include "game/board/main.h" +#include "game/board/model.h" +#include "game/board/player.h" +#include "game/board/space.h" +#include "game/board/ui.h" +#include "game/board/window.h" #include "dolphin.h" #include "ext_math.h" @@ -133,8 +132,7 @@ static s8 lbl_1_data_1AD[3] = { 0, 0, 0 }; static s16 lbl_1_data_1B0 = -1; static omObjData *lbl_1_data_1B4[3] = { NULL, NULL, NULL }; -void fn_1_D70(void) -{ +void fn_1_D70(void) { Vec sp20; Vec sp14; Vec sp8; @@ -159,8 +157,7 @@ void fn_1_D70(void) } } -void fn_1_F6C(void) -{ +void fn_1_F6C(void) { s32 i; for (i = 0; i < 3; i++) { @@ -176,8 +173,7 @@ void fn_1_F6C(void) } } -void fn_1_1054(void) -{ +void fn_1_1054(void) { BoardRollDispSet(0); lbl_1_bss_18 = HuPrcChildCreate(fn_1_1148, 0x2003, 0x3800, 0, boardMainProc); HuPrcDestructorSet2(lbl_1_bss_18, fn_1_10E4); @@ -187,8 +183,7 @@ void fn_1_1054(void) BoardRollDispSet(1); } -static void fn_1_10E4(void) -{ +static void fn_1_10E4(void) { fn_1_43DC(); if (lbl_1_data_1A8 != -1) { HuWinKill(lbl_1_data_1A8); @@ -197,8 +192,7 @@ static void fn_1_10E4(void) lbl_1_bss_18 = NULL; } -static void fn_1_1148(void) -{ +static void fn_1_1148(void) { s32 temp_r3; s32 temp_r31; @@ -211,8 +205,7 @@ static void fn_1_1148(void) HuPrcEnd(); } -static void fn_1_11B0(void) -{ +static void fn_1_11B0(void) { float sp8[2]; float var_f31; float var_f30; @@ -226,8 +219,7 @@ static void fn_1_11B0(void) HuWinMesSet(lbl_1_data_1A8, MAKE_MESSID(48, 25)); } -static s32 fn_1_12A0(s32 arg0) -{ +static s32 fn_1_12A0(s32 arg0) { Vec sp38; Vec sp2C; Vec sp20; @@ -281,8 +273,8 @@ static s32 fn_1_12A0(s32 arg0) lbl_1_bss_34 = BoardSpaceLinkFlagSearch(0, var_r30, 0x02000000); BoardPlayerPosGet(arg0, &sp2C); BoardSpacePosGet(0, lbl_1_bss_34, &sp38); - VECSubtract(&sp38, &sp2C, &sp20); - VECNormalize(&sp20, &sp20); + PSVECSubtract(&sp38, &sp2C, &sp20); + PSVECNormalize(&sp20, &sp20); BoardPlayerRotYSet(arg0, atan2d(-sp20.x, -sp20.z)); BoardPlayerPosLerpStart(arg0, &sp2C, &sp38, 20); while (GWPlayer[arg0].moving) { @@ -293,8 +285,7 @@ static s32 fn_1_12A0(s32 arg0) return 1; } -static void fn_1_15CC(s32 arg0) -{ +static void fn_1_15CC(s32 arg0) { s8 sp8[] = { 80, 50 }; s32 var_r28; s16 temp_r26; @@ -352,8 +343,7 @@ static void fn_1_15CC(s32 arg0) BoardWinCreate(2, MAKE_MESSID(48, 41), 6); BoardWinWait(); BoardWinKill(); - } - else { + } else { for (var_r31 = 0; var_r31 < 3; var_r31++) { if (lbl_1_bss_30[var_r31] == 0) { lbl_1_bss_33 = var_r31; @@ -387,7 +377,7 @@ static void fn_1_15CC(s32 arg0) } fn_1_2048(lbl_1_bss_33, 3); temp_r25 = HuAudSStreamPlay(2); - BoardPlayerMotionShiftSet(arg0, 7, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(arg0, 7, 0.0f, 8.0f, 0); HuPrcSleep(8); while (!BoardPlayerMotionEndCheck(arg0)) { HuPrcVSleep(); @@ -410,8 +400,7 @@ static void fn_1_15CC(s32 arg0) } } -static void fn_1_1BE0(s32 arg0, s32 arg1) -{ +static void fn_1_1BE0(s32 arg0, s32 arg1) { Vec sp18; Vec spC; s16 temp_r30; @@ -431,8 +420,7 @@ static void fn_1_1BE0(s32 arg0, s32 arg1) fn_1_2048(-1, 4); } -static void fn_1_1CB0(s32 arg0) -{ +static void fn_1_1CB0(s32 arg0) { while (!BoardModelMotionEndCheck(lbl_1_bss_3C[arg0])) { HuPrcVSleep(); } @@ -442,8 +430,7 @@ static void fn_1_1CB0(s32 arg0) } } -static void fn_1_1D5C(s32 arg0) -{ +static void fn_1_1D5C(s32 arg0) { s8 spC[] = { 0x20, 0x40, 0x60 }; s16 sp10[] = { -100, 0, 100 }; s32 sp8; @@ -455,8 +442,7 @@ static void fn_1_1D5C(s32 arg0) } } -static void fn_1_1E30(s32 arg0) -{ +static void fn_1_1E30(s32 arg0) { s8 spC[] = { 0x20, 0x40, 0x60 }; s16 sp10[] = { -100, 0, 100 }; s32 sp8; @@ -468,8 +454,7 @@ static void fn_1_1E30(s32 arg0) } } -static void fn_1_1F08(s32 arg0) -{ +static void fn_1_1F08(s32 arg0) { s32 i; s32 j; @@ -492,8 +477,7 @@ static void fn_1_1F08(s32 arg0) } } -static void fn_1_2048(s32 arg0, s32 arg1) -{ +static void fn_1_2048(s32 arg0, s32 arg1) { Data1B4Work *temp_r30; s32 i; @@ -506,8 +490,7 @@ static void fn_1_2048(s32 arg0, s32 arg1) } } -static void fn_1_20CC(s32 arg0) -{ +static void fn_1_20CC(s32 arg0) { Data1B4Work *temp_r30; s32 i; @@ -521,8 +504,7 @@ static void fn_1_20CC(s32 arg0) } } -static s32 fn_1_2174(s32 arg0) -{ +static s32 fn_1_2174(s32 arg0) { Data1B4Work *temp_r31; if (!lbl_1_data_1B4[arg0]) { @@ -532,8 +514,7 @@ static s32 fn_1_2174(s32 arg0) return temp_r31->unk02; } -static s16 fn_1_21CC(s32 arg0) -{ +static s16 fn_1_21CC(s32 arg0) { Data1B4Work *temp_r31; if (!lbl_1_data_1B4[arg0]) { @@ -543,8 +524,7 @@ static s16 fn_1_21CC(s32 arg0) return temp_r31->unk06; } -static void fn_1_2220(s32 arg0, s32 arg1, s32 arg2) -{ +static void fn_1_2220(s32 arg0, s32 arg1, s32 arg2) { Mtx sp18; Vec spC; omObjData *temp_r3; @@ -575,7 +555,7 @@ static void fn_1_2220(s32 arg0, s32 arg1, s32 arg2) temp_r3->rot.y = 0.0f; temp_r3->rot.z = 0.0f; if (arg2 == 5) { - MTXTrans(sp18, 0.0f, -50.0f, 0.0f); + PSMTXTrans(sp18, 0.0f, -50.0f, 0.0f); BoardModelMtxSet(temp_r31->unk06, &sp18); } BoardModelPosSet(temp_r31->unk06, temp_r3->trans.x, temp_r3->trans.y, temp_r3->trans.z); @@ -583,8 +563,7 @@ static void fn_1_2220(s32 arg0, s32 arg1, s32 arg2) BoardModelLayerSet(temp_r31->unk06, 2); } -static void fn_1_243C(omObjData *arg0) -{ +static void fn_1_243C(omObjData *arg0) { Vec sp14; Vec sp8; Data1B4Work *temp_r31; @@ -613,8 +592,7 @@ static void fn_1_243C(omObjData *arg0) sp8.y += 200.0f; arg0->trans.y = (sp8.y - sp14.y) / 30.0f; arg0->rot.z = 0.01f; - } - else { + } else { arg0->rot.z += 0.033333335f; if (arg0->rot.z > 1.0f) { arg0->rot.z = 1.0f; @@ -639,8 +617,7 @@ static void fn_1_243C(omObjData *arg0) BoardModelPosGet(lbl_1_bss_3C[temp_r31->unk00_field2], &sp8); arg0->trans.y = (sp8.y - sp14.y) / 30.0f; arg0->rot.z = 1.0f; - } - else { + } else { arg0->rot.z -= 0.033333335f; if (arg0->rot.z < 0.001f) { arg0->rot.z = 0.001f; @@ -667,13 +644,11 @@ static void fn_1_243C(omObjData *arg0) BoardPlayerPosGet(temp_r31->unk00_field1, &sp8); arg0->rot.x = (sp8.x - sp14.x) / 30.0f; arg0->rot.z = (sp8.z - sp14.z) / 30.0f; - } - else if (temp_r31->unk08 < 30) { + } else if (temp_r31->unk08 < 30) { sp14.x += arg0->rot.x; sp14.z += arg0->rot.z; BoardModelPosSetV(temp_r31->unk06, &sp14); - } - else { + } else { BoardPlayerPosGet(temp_r31->unk00_field1, &sp8); arg0->trans.x = sp8.x; arg0->trans.y = sp8.y; @@ -694,10 +669,13 @@ static void fn_1_243C(omObjData *arg0) } } -static s8 lbl_1_data_1C5[14] = { 1, 1, 3, 3, 2, 2, 2, 1, 2, 3, 0, 4, 5, 0 }; +static s8 lbl_1_data_1C5[14] = { + 1, 1, 3, 3, 2, + 2, 2, 1, 2, 3, + 0, 4, 5, 0 +}; -static s32 fn_1_2A1C(s32 arg0) -{ +static s32 fn_1_2A1C(s32 arg0) { s32 var_r29; s32 var_r28; s32 var_r30; @@ -718,30 +696,24 @@ static s32 fn_1_2A1C(s32 arg0) if (var_r29 > var_r28) { if (var_r29 > var_r30) { var_r31 = 0; - } - else if (var_r30 > var_r28) { + } else if (var_r30 > var_r28) { var_r31 = 2; - } - else { + } else { var_r31 = 1; } - } - else { + } else { if (var_r28 > var_r30) { var_r31 = 1; - } - else if (var_r30 > var_r29) { + } else if (var_r30 > var_r29) { var_r31 = 2; - } - else { + } else { var_r31 = 0; } } return var_r31; } -static void fn_1_2B60(s32 arg0) -{ +static void fn_1_2B60(s32 arg0) { omObjData *temp_r3; Bss24Work *temp_r31; @@ -756,8 +728,7 @@ static void fn_1_2B60(s32 arg0) temp_r31->unk02 = 1; } -static void fn_1_2C18(void) -{ +static void fn_1_2C18(void) { Bss24Work *var_r27; if (lbl_1_bss_24) { @@ -766,8 +737,7 @@ static void fn_1_2C18(void) } } -static void fn_1_2D90(s32 arg0) -{ +static void fn_1_2D90(s32 arg0) { Bss24Work *var_r31; if (lbl_1_bss_24) { @@ -776,8 +746,7 @@ static void fn_1_2D90(s32 arg0) } } -static s32 fn_1_2DD0(void) -{ +static s32 fn_1_2DD0(void) { Bss24Work *var_r31; if (!lbl_1_bss_24) { @@ -787,8 +756,7 @@ static s32 fn_1_2DD0(void) return var_r31->unk01; } -static u32 fn_1_2E18(Bss24Work *arg0) -{ +static u32 fn_1_2E18(Bss24Work *arg0) { s32 temp_r31; s32 var_r30; @@ -806,8 +774,7 @@ static u32 fn_1_2E18(Bss24Work *arg0) return var_r30; } -static void fn_1_2EF4(omObjData *arg0) -{ +static void fn_1_2EF4(omObjData *arg0) { Vec sp14; Vec sp8; float var_f30; @@ -827,14 +794,12 @@ static void fn_1_2EF4(omObjData *arg0) } if (lbl_1_bss_30[0] != 0) { var_r25 = 1; - } - else { + } else { var_r25 = 0; } if (lbl_1_bss_30[2] != 0) { var_r26 = 1; - } - else { + } else { var_r26 = 2; } switch (temp_r30->unk01) { @@ -855,16 +820,13 @@ static void fn_1_2EF4(omObjData *arg0) if (lbl_1_bss_30[0] == 0 && lbl_1_bss_30[1] == 0) { if (BoardRandMod(100) < 50) { var_r29 = 1; - } - else { + } else { var_r29 = 2; } - } - else { + } else { if (lbl_1_bss_30[0] == 0) { var_r29 = 2; - } - else if (lbl_1_bss_30[1] == 0) { + } else if (lbl_1_bss_30[1] == 0) { var_r29 = 1; } } @@ -922,8 +884,7 @@ static void fn_1_2EF4(omObjData *arg0) } } -static void fn_1_3470(void) -{ +static void fn_1_3470(void) { omObjData *temp_r3; Bss28Work *temp_r31; @@ -940,8 +901,7 @@ static void fn_1_3470(void) temp_r31->unk0A = BoardModelMotionCreate(lbl_1_bss_C[4], DATA_MAKE_NUM(DATADIR_W06, 23)); } -static void fn_1_3560(s32 arg0) -{ +static void fn_1_3560(s32 arg0) { Bss28Work *temp_r31; if (!lbl_1_bss_28) { @@ -950,15 +910,13 @@ static void fn_1_3560(s32 arg0) temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_28, Bss28Work); temp_r31->unk00_field1 = arg0; if (arg0 != 1) { - (void)0; - } - else { + (void) 0; + } else { temp_r31->unk06 = 20; } } -static s32 fn_1_35BC(void) -{ +static s32 fn_1_35BC(void) { Bss28Work *temp_r31; if (!lbl_1_bss_28) { @@ -968,8 +926,7 @@ static s32 fn_1_35BC(void) return temp_r31->unk00_field1; } -static void fn_1_3604(s32 arg0) -{ +static void fn_1_3604(s32 arg0) { Bss28Work *temp_r31; if (!lbl_1_bss_28) { @@ -992,8 +949,7 @@ static void fn_1_3604(s32 arg0) } } -static void fn_1_3698(s8 arg0) -{ +static void fn_1_3698(s8 arg0) { Vec sp24; Vec sp18; Vec spC; @@ -1013,26 +969,24 @@ static void fn_1_3698(s8 arg0) sp18.z = sp24.z; temp_f31 = sp18.x - sp24.x; if (ABS(temp_f31) < 1.0f) { - BoardModelMotionShiftSet(lbl_1_bss_C[4], 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_C[4], 1, 0.0f, 8.0f, 0x40000001); lbl_1_bss_28->trans.y = 0.0f; return; } if (ABS(temp_f31) >= 300.0f) { var_f30 = 40.0f; temp_r31->unk06 *= 2; - } - else { + } else { var_f30 = 20.0f; } - VECSubtract(&sp18, &sp24, &spC); + PSVECSubtract(&sp18, &sp24, &spC); lbl_1_bss_28->trans.y = temp_f31 / var_f30; BoardModelRotYSet(lbl_1_bss_C[4], atan2d(spC.x, spC.z)); - BoardModelMotionShiftSet(lbl_1_bss_C[4], temp_r31->unk08, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_C[4], temp_r31->unk08, 0.0f, 8.0f, 0x40000001); BoardModelMotionSpeedSet(lbl_1_bss_C[4], 2.0f); } -static void fn_1_3974(omObjData *arg0) -{ +static void fn_1_3974(omObjData *arg0) { Vec sp30; Vec sp24; s32 sp8; @@ -1058,8 +1012,7 @@ static void fn_1_3974(omObjData *arg0) fn_1_3560(4); return; } - } - else { + } else { temp_r31->unk03++; } fn_1_3560(1); @@ -1084,11 +1037,11 @@ static void fn_1_3974(omObjData *arg0) fn_1_3560(0); temp_r31->unk06 = 0; BoardModelRotYSet(lbl_1_bss_C[4], 0.0f); - BoardModelMotionShiftSet(lbl_1_bss_C[4], 1, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_C[4], 1, 0.0f, 10.0f, 0x40000001); break; case 2: if (temp_r31->unk06++ == 0) { - BoardModelMotionShiftSet(lbl_1_bss_C[4], temp_r31->unk0A, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_C[4], temp_r31->unk0A, 0.0f, 10.0f, 0x40000001); break; } if (temp_r31->unk06 < 50) { @@ -1100,7 +1053,7 @@ static void fn_1_3974(omObjData *arg0) case 4: temp_r31->unk00_field3 = 0; lbl_1_bss_33 = temp_r31->unk01[temp_r31->unk00_field2]; - BoardModelMotionShiftSet(lbl_1_bss_C[4], 1, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(lbl_1_bss_C[4], 1, 0.0f, 10.0f, 0x40000001); fn_1_3560(0); break; case 5: @@ -1109,8 +1062,7 @@ static void fn_1_3974(omObjData *arg0) } } -static void fn_1_4070(void) -{ +static void fn_1_4070(void) { Bss2CWork *temp_r31; lbl_1_bss_1C = 0; @@ -1122,8 +1074,7 @@ static void fn_1_4070(void) temp_r31->unk04 = MGSeqTimerCreateXY(temp_r31->unk01, 288, 64); } -static void fn_1_4124(void) -{ +static void fn_1_4124(void) { Bss2CWork *temp_r31; if (!lbl_1_bss_2C) { @@ -1135,8 +1086,7 @@ static void fn_1_4124(void) temp_r31->unk00_field0 = 1; } -static void fn_1_4194(omObjData *arg0) -{ +static void fn_1_4194(omObjData *arg0) { Bss2CWork *temp_r31; temp_r31 = OM_GET_WORK_PTR(arg0, Bss2CWork); @@ -1157,8 +1107,7 @@ static void fn_1_4194(omObjData *arg0) } if (temp_r31->unk01 != 0) { temp_r31->unk01--; - } - else { + } else { MGSeqParamSet(temp_r31->unk04, 2, -1); temp_r31->unk04 = -1; lbl_1_bss_1C = 1; @@ -1168,8 +1117,7 @@ static void fn_1_4194(omObjData *arg0) temp_r31->unk02 = 60; } -static void fn_1_42AC(s16 arg0) -{ +static void fn_1_42AC(s16 arg0) { ParticleData *var_r31; lbl_1_bss_20 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_EFFECT, 0)); @@ -1184,8 +1132,7 @@ static void fn_1_42AC(s16 arg0) var_r31->unk_02 = arg0; } -static void fn_1_43DC(void) -{ +static void fn_1_43DC(void) { if (lbl_1_data_1B0 != -1) { Hu3DModelKill(lbl_1_data_1B0); lbl_1_data_1B0 = -1; @@ -1196,8 +1143,7 @@ static void fn_1_43DC(void) } } -static void fn_1_4460(ModelData *model, ParticleData *particle, Mtx matrix) -{ +static void fn_1_4460(ModelData *model, ParticleData *particle, Mtx matrix) { HsfanimStruct01 *var_r31; Vec sp8; float var_f31; diff --git a/src/REL/w07Dll/big_boo.c b/src/REL/w07Dll/big_boo.c new file mode 100644 index 00000000..ff859078 --- /dev/null +++ b/src/REL/w07Dll/big_boo.c @@ -0,0 +1,1176 @@ +#include "REL/w04Dll.h" +#include "game/audio.h" +#include "game/chrman.h" +#include "game/data.h" +#include "game/gamework.h" +#include "game/gamework_data.h" +#include "game/hsfanim.h" +#include "game/hsfdraw.h" +#include "game/hsfman.h" +#include "game/msm.h" +#include "game/objsub.h" +#include "game/pad.h" +#include "game/process.h" +#include "game/sprite.h" +#include "game/window.h" +#include "game/wipe.h" +#include "game/board/audio.h" +#include "game/board/com.h" +#include "game/board/main.h" +#include "game/board/model.h" +#include "game/board/player.h" +#include "game/board/space.h" +#include "game/board/ui.h" +#include "game/board/view.h" +#include "game/board/window.h" + +#include "dolphin.h" +#include "ext_math.h" + +// Remove this and include frand.h header once we decide what to do with frandmod. +#define frand8() (((s32)frand() & 0xFF)) + +static void fn_1_62B0(void); +static void fn_1_68D8(void); +static void fn_1_6CF8(void); +static void fn_1_7300(void); +static void fn_1_757C(void); +static void fn_1_75D8(void); +static void fn_1_7888(void); +static void fn_1_8A60(void); +static void fn_1_98A0(void); +static void fn_1_9B34(void); +static void fn_1_9BDC(void); +static void fn_1_9C18(void); +static void fn_1_9EA8(void); +static s16 fn_1_9F50(void); +static void fn_1_A074(s16 arg0); + +static s16 lbl_1_bss_282; +static s16 lbl_1_bss_280; +static s16 lbl_1_bss_27E; +static s16 lbl_1_bss_27C; +static Process *lbl_1_bss_278; +static s16 lbl_1_bss_274; +static s16 lbl_1_bss_272; +static s16 lbl_1_bss_270; +static Vec lbl_1_bss_240[4]; +static Vec lbl_1_bss_210[4]; +static s16 lbl_1_bss_13C[105]; +static s16 lbl_1_bss_13A; +static s16 lbl_1_bss_134[3]; +static s16 lbl_1_bss_114[4][4]; +static Vec lbl_1_bss_108; +static Process *lbl_1_bss_104; +static AnimData *lbl_1_bss_100; + +static char *lbl_1_data_3CC[] = { + "picture", "picture2", "clock", "hari", "papa" +}; + +static s32 lbl_1_data_3E0[] = { + DATA_MAKE_NUM(DATADIR_W04, 25), + DATA_MAKE_NUM(DATADIR_W04, 26), + DATA_MAKE_NUM(DATADIR_W04, 27), + DATA_MAKE_NUM(DATADIR_W04, 28), + -1 +}; + +static s32 lbl_1_data_3F4[8] = { + DATADIR_MARIOMOT, + DATADIR_LUIGIMOT, + DATADIR_PEACHMOT, + DATADIR_YOSHIMOT, + DATADIR_WARIOMOT, + DATADIR_DONKEYMOT, + DATADIR_DAISYMOT, + DATADIR_WALUIGIMOT +}; + +static s32 lbl_1_data_414[] = { + 26, 28, 93, 12 +}; + +static s16 lbl_1_data_424[][2] = { + { 0, 0 }, { 6, 1 }, { 7, 3 }, { 12, 2 }, + { 15, 3 }, { 18, 4 }, { 20, 6 }, { 23, 5 }, + { 26, 6 }, { 28, 7 }, { 29, 8 }, { -1, 9 } +}; + +void fn_1_6024(void) { + lbl_1_bss_27C = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 19), NULL, 0); + BoardModelHookSet(lbl_1_bss_14[4], lbl_1_data_3CC[0], lbl_1_bss_27C); + lbl_1_bss_280 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 20), NULL, 0); + BoardModelHookSet(lbl_1_bss_14[4], lbl_1_data_3CC[2], lbl_1_bss_280); + lbl_1_bss_27E = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 21), NULL, 0); + BoardModelHookSet(lbl_1_bss_280, lbl_1_data_3CC[3], lbl_1_bss_27E); + BoardModelAttrSet(lbl_1_bss_27E, 0x40000002); + BoardModelAttrSet(lbl_1_bss_27C, 0x40000002); + BoardModelMotionTimeSet(lbl_1_bss_27C, 20.0f); + BoardModelAttrSet(lbl_1_bss_280, 0x40000003); + BoardModelMotionSpeedSet(lbl_1_bss_27C, 0.5f); + if (lbl_1_bss_0->unk01 != 0) { + BoardModelMotionTimeSet(lbl_1_bss_280, 0.0f); + BoardModelMotionSpeedSet(lbl_1_bss_280, 0.5f); + BoardModelAttrReset(lbl_1_bss_280, 0x40000002); + BoardModelMotionTimeSet(lbl_1_bss_27E, 120.0f * lbl_1_bss_0->unk01); + BoardModelMotionTimeSet(lbl_1_bss_27C, 25.0f + 30.0f * lbl_1_bss_0->unk01); + } +} + +static void fn_1_62B0(void) { + Vec sp14; + Vec sp8; + s32 var_r31; + + lbl_1_bss_0->unk01++; + if (lbl_1_bss_0->unk01 == 3) { + lbl_1_bss_272 = GWPlayer[lbl_1_bss_282].space_curr; + var_r31 = BoardSpaceLinkFlagSearch(0, lbl_1_bss_272, 0x02000000); + BoardPlayerMoveToAsync(lbl_1_bss_282, var_r31); + while (GWPlayer[lbl_1_bss_282].moving) { + HuPrcVSleep(); + } + lbl_1_bss_274 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 24), lbl_1_data_3E0, 0); + BoardModelMotionStart(lbl_1_bss_274, 4, 0); + BoardModelAttrSet(lbl_1_bss_274, 0x40000002); + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[4]), lbl_1_data_3CC[4], &sp14); + BoardModelPosSetV(lbl_1_bss_274, &sp14); + sp8.x = sp8.y = sp8.z = 3.0f; + BoardModelScaleSetV(lbl_1_bss_274, &sp8); + BoardModelVisibilitySet(lbl_1_bss_274, 0); + } + BoardPlayerMotBlendSet(lbl_1_bss_282, 180, 0xF); + while (!BoardPlayerMotBlendCheck(lbl_1_bss_282)) { + HuPrcVSleep(); + } + fn_1_9C18(); + switch (lbl_1_bss_0->unk01) { + case 1: + HuAudFXPlay(0x4E); + omVibrate(lbl_1_bss_282, 0x7FFF, 6, 6); + BoardModelMotionTimeSet(lbl_1_bss_27C, 30.0f); + BoardModelAttrReset(lbl_1_bss_27C, 0x40000002); + HuPrcSleep(40); + BoardModelAttrSet(lbl_1_bss_27C, 0x40000002); + HuPadRumbleStop(GWPlayer[lbl_1_bss_282].port); + BoardWinCreate(0, MAKE_MESSID(32, 26), -1); + BoardWinWait(); + BoardWinKill(); + break; + case 2: + HuAudFXPlay(0x4E); + omVibrate(lbl_1_bss_282, 0x7FFF, 6, 6); + BoardModelMotionTimeSet(lbl_1_bss_27C, 60.0f); + BoardModelAttrReset(lbl_1_bss_27C, 0x40000002); + HuPrcSleep(40); + BoardModelAttrSet(lbl_1_bss_27C, 0x40000002); + HuPadRumbleStop(GWPlayer[lbl_1_bss_282].port); + BoardWinCreate(0, MAKE_MESSID(32, 27), -1); + BoardWinWait(); + BoardWinKill(); + break; + case 3: + BoardWinCreate(0, MAKE_MESSID(32, 28), -1); + BoardWinWait(); + BoardWinKill(); + HuAudFXPlay(0x4E); + sp14.x = 5.0f; + sp14.y = 0.0f; + sp14.z = 0.0f; + sp8.x = 0.0f; + sp8.y = 300.0f; + sp8.z = -200.0f; + BoardCameraMotionStartEx(lbl_1_bss_14[4], &sp14, &sp8, 1400.0f, -1.0f, 30); + BoardCameraMotionWait(); + HuPrcSleep(9); + HuAudFXPlay(0x464); + BoardModelMotionTimeSet(lbl_1_bss_27C, 90.0f); + BoardModelAttrReset(lbl_1_bss_27C, 0x40000002); + HuPrcSleep(10); + omVibrate(lbl_1_bss_282, 12, 4, 2); + BoardModelVisibilitySet(lbl_1_bss_274, 1); + BoardModelAttrReset(lbl_1_bss_274, 0x40000002); + HuPrcSleep(39); + BoardModelPosGet(lbl_1_bss_274, &sp14); + BoardModelScaleGet(lbl_1_bss_274, &sp8); + while (!BoardModelMotionEndCheck(lbl_1_bss_274)) { + sp14.z += 15.0f; + BoardModelPosSetV(lbl_1_bss_274, &sp14); + HuPrcVSleep(); + } + BoardModelMotionStart(lbl_1_bss_274, 1, 0x40000001); + break; + } + if (lbl_1_bss_0->unk01 == 3) { + fn_1_68D8(); + BoardCameraViewSet(1); + BoardPlayerMoveToAsync(lbl_1_bss_282, lbl_1_bss_272); + while (GWPlayer[lbl_1_bss_282].moving) { + HuPrcVSleep(); + } + BoardPlayerIdleSet(lbl_1_bss_282); + BoardCameraMotionWait(); + } else { + HuPrcSleep(29); + } + HuPrcEnd(); +} + +static void fn_1_68D8(void) { + float var_f31; + s32 var_r30; + s32 var_r29; + s32 var_r28; + s32 var_r27; + s32 i; + + BoardWinCreate(2, MAKE_MESSID(32, 3), 9); + BoardWinWait(); + BoardWinKill(); + if (BoardPlayerCoinsGet(lbl_1_bss_282) < 15) { + BoardWinCreate(2, MAKE_MESSID(32, 4), 9); + BoardWinWait(); + BoardWinKill(); + BoardAudSeqFadeOut(1, 1000); + while (msmMusGetStatus(1) != 0) { + HuPrcVSleep(); + } + BoardAudSeqPause(0, 0, 1000); + fn_1_98A0(); + return; + } + do { + var_r30 = 0; + for (i = 0; i < 4; i++) { + if (i != lbl_1_bss_282) { + var_r30 += GWStarsGet(i); + } + } + var_r28 = 0; + for (i = 0; i < 4; i++) { + if (i != lbl_1_bss_282) { + var_r28 += BoardPlayerCoinsGet(i); + } + } + BoardWinCreateChoice(4, MAKE_MESSID(32, 5), 9, 0); + if (BoardPlayerCoinsGet(lbl_1_bss_282) < 150 || var_r30 == 0) { + BoardWinChoiceDisable(1); + } + if (var_r28 == 0) { + BoardWinChoiceDisable(0); + } + if (GWPlayer[lbl_1_bss_282].com) { + if (var_r30 != 0 && BoardPlayerCoinsGet(lbl_1_bss_282) >= 150) { + BoardComKeySetDown(); + } else { + BoardComKeySetUp(); + } + } + BoardWinWait(); + BoardWinKill(); + var_r27 = BoardWinChoiceGet(); + var_r29 = 6; + switch (var_r27) { + case 1: + var_r29 /= 4; + for (i = 0; i < 135; i++) { + BoardPlayerCoinsAdd(lbl_1_bss_282, -1); + HuAudFXPlay(0xE); + HuPrcSleep(var_r29); + } + /* fallthrough */ + case 0: + for (i = 0; i < 15; i++) { + BoardPlayerCoinsAdd(lbl_1_bss_282, -1); + HuAudFXPlay(0xE); + HuPrcSleep(var_r29); + } + HuAudFXPlay(0xF); + HuAudFXPlay(0x4E); + BoardWinCreate(2, MAKE_MESSID(32, 7), 9); + BoardWinWait(); + BoardWinKill(); + var_f31 = 255.0f; + for (i = 0; i < 60; i++) { + var_f31 -= 4.25f; + if (var_f31 < 0.0f) { + var_f31 = 0.0f; + } + BoardModelAlphaSet(lbl_1_bss_274, var_f31); + HuPrcVSleep(); + } + BoardModelAlphaSet(lbl_1_bss_274, 0); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + WipeColorSet(0, 0, 0); + while (WipeStatGet() != 0) { + HuPrcVSleep(); + } + BoardModelAlphaSet(lbl_1_bss_274, 0xFF); + if (var_r27 == 0) { + fn_1_7888(); + } else { + fn_1_8A60(); + } + break; + case -1: + case 2: + BoardWinCreate(2, MAKE_MESSID(32, 6), 9); + BoardWinWait(); + BoardWinKill(); + BoardAudSeqFadeOut(1, 1000); + while (msmMusGetStatus(1) != 0) { + HuPrcVSleep(); + } + BoardAudSeqPause(0, 0, 1000); + break; + case 3: + BoardViewMapExec(lbl_1_bss_282); + break; + } + } while (var_r27 == 3); + fn_1_98A0(); +} + +static void fn_1_6CF8(void) { + Vec sp10; + s16 sp8[4]; + s16 var_r29; + s16 var_r28; + s32 temp_r27; + s32 var_r30; + s32 i; + + var_r29 = 0; + for (i = 0; i < 4; i++) { + if (i != lbl_1_bss_282) { + BoardPlayerPosGet(i, &lbl_1_bss_240[i]); + BoardPlayerRotGet(i, &lbl_1_bss_210[i]); + sp8[var_r29++] = i; + } + } + BoardModelHideSetAll(1); + BoardSpaceHide(1); + for (i = 0; i < 4; i++) { + BoardStatusShowSet(i, 0); + } + BoardLightResetExec(); + lbl_1_bss_270 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 22), NULL, 0); + BoardModelAttrSet(lbl_1_bss_270, 0x40000001); + sp10.y = 0.0f; + for (i = -1; i < 2; i++) { + sp10.z = 220.0f + -20.0f * abs(i); + sp10.x = 150.0f * i; + BoardPlayerPosSetV(sp8[i + 1], &sp10); + BoardPlayerRotYSet(sp8[i + 1], 180.0f); + BoardModelVisibilitySet(BoardPlayerModelGet(sp8[i + 1]), 1); + temp_r27 = lbl_1_data_3F4[GWPlayer[sp8[i + 1]].character]; + for (var_r30 = 0; var_r30 < 4; var_r30++) { + lbl_1_bss_114[sp8[i + 1]][var_r30] = BoardPlayerMotionCreate(sp8[i + 1], temp_r27 | lbl_1_data_414[var_r30]); + } + BoardPlayerMotionStart(sp8[i + 1], lbl_1_bss_114[sp8[i + 1]][0], 0x40000001); + } + BoardModelPosGet(lbl_1_bss_274, &lbl_1_bss_108); + BoardModelVisibilitySet(lbl_1_bss_274, 1); + sp10.x = sp10.z = 0.0f; + sp10.y = 800.0f; + BoardModelPosSetV(lbl_1_bss_274, &sp10); + sp10.x = sp10.y = sp10.z = 4.0f; + BoardModelScaleSetV(lbl_1_bss_274, &sp10); + BoardModelMotionStart(lbl_1_bss_274, 0, 0); + BoardCameraMoveSet(0); + BoardCameraTargetModelSet(lbl_1_bss_270); + BoardCameraOffsetSet(0.0f, 200.0f, 0.0f); + BoardCameraXRotZoomSet(1600.0f, -5.0f); + lbl_1_bss_104 = HuPrcChildCreate(fn_1_75D8, 0x2003, 0x1000, 0, boardMainProc); + HuPrcDestructorSet2(lbl_1_bss_104, fn_1_757C); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + while (WipeStatGet() != 0) { + HuPrcVSleep(); + } + HuPrcSleep(0x78); + for (i = 0; i < 3; i++) { + BoardPlayerModelAttrReset(sp8[i], 0x40000001); + BoardPlayerMotionShiftSet(sp8[i], lbl_1_bss_114[sp8[i]][1], 0.0f, 5.0f, 0); + } + BoardModelPosGet(lbl_1_bss_274, &sp10); + var_r28 = 10; + for (i = 0; i < 60; i++) { + if (--var_r28 == 0) { + HuAudFXPlay(0x4E); + for (var_r30 = 0; var_r30 < 3; var_r30++) { + HuAudPlayerVoicePlay(sp8[var_r30], 0x12F); + } + } + sp10.y -= 10.0f; + BoardModelPosSetV(lbl_1_bss_274, &sp10); + HuPrcVSleep(); + } + for (i = 0; i < 3; i++) { + BoardPlayerMotionShiftSet(sp8[i], 1, 0.0f, 5.0f, 0x40000001); + } +} + +static void fn_1_7300(void) { + Vec sp14; + Vec sp8; + s32 i; + s32 j; + + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + while (WipeStatGet() != 0) { + HuPrcVSleep(); + } + BoardModelKill(lbl_1_bss_270); + for (i = 0; i < 4; i++) { + if (i != lbl_1_bss_282) { + BoardPlayerPosSetV(i, &lbl_1_bss_240[i]); + BoardPlayerRotSetV(i, &lbl_1_bss_210[i]); + for (j = 0; j < 4; j++) { + BoardPlayerMotionKill(i, lbl_1_bss_114[i][j]); + } + BoardPlayerMotionStart(i, 1, 0x40000001); + } + } + HuPrcKill(lbl_1_bss_104); + HuPrcVSleep(); + BoardModelHideSetAll(0); + BoardSpaceHide(0); + for (i = 0; i < 4; i++) { + BoardStatusShowSet(i, 1); + } + BoardLightSetExec(); + BoardCameraMoveSet(0); + sp14.x = 5.0f; + sp14.y = 0.0f; + sp14.z = 0.0f; + sp8.x = 0.0f; + sp8.y = 220.0f; + sp8.z = -200.0f; + BoardCameraMotionStartEx(lbl_1_bss_14[4], &sp14, &sp8, 1400.0f, -1.0f, 0); + BoardCameraMoveSet(1); + BoardModelMotionStart(lbl_1_bss_274, 1, 0x40000001); + sp8.x = sp8.y = sp8.z = 3.0f; + BoardModelScaleSetV(lbl_1_bss_274, &sp8); + BoardModelPosSetV(lbl_1_bss_274, &lbl_1_bss_108); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); + while (WipeStatGet() != 0) { + HuPrcVSleep(); + } +} + +static void fn_1_757C(void) { + s16 temp_r31; + s16 temp_r30; + + temp_r31 = ((s32) HuPrcCurrentGet()->user_data) >> 16; + temp_r30 = (u16) HuPrcCurrentGet()->user_data; + Hu3DGLightKill(temp_r31); + Hu3DGLightKill(temp_r30); +} + +static void fn_1_75D8(void) { + Vec sp1C; + Vec sp10; + GXColor spC; + float sp8; + float var_f31; + s16 temp_r3; + s16 temp_r3_2; + + temp_r3 = Hu3DGLightCreate(0.0f, 1000.0f, 0.0f, 0.0f, 0.9f, -0.1f, 0xFF, 0x64, 0xC8); + Hu3DGLightInfinitytSet(temp_r3); + Hu3DGLightStaticSet(temp_r3, 1); + spC.r = 0xCD; + spC.g = 0x32; + spC.b = 0x96; + sp1C.x = sp1C.y = sp1C.z = 0.0f; + sp10.x = 0.0f; + sp10.y = -1.0f; + sp10.z = 0.0f; + temp_r3_2 = Hu3DGLightCreateV(&sp1C, &sp10, &spC); + Hu3DGLightInfinitytSet(temp_r3_2); + Hu3DGLightStaticSet(temp_r3_2, 1); + HuPrcCurrentGet()->user_data = (void*) (((temp_r3 << 16) & 0xFFFF0000) | (temp_r3_2 & 0xFFFF)); + var_f31 = 0.0f; + sp8 = var_f31; + while (TRUE) { + sp10.x = cosd(var_f31 - 180.0f); + sp10.y = sind(var_f31); + sp10.z = cosd(var_f31) * sind(var_f31); + var_f31 += 3.0f + 6.0f * frand8() * 0.003921569f; + if (var_f31 >= 360.0f) { + var_f31 -= 360.0f; + } + Hu3DGLightPosSetV(temp_r3_2, &sp1C, &sp10); + HuPrcVSleep(); + } +} + +static void fn_1_7888(void) { + Vec sp8F8[105]; + Vec sp40C[105]; + float sp268[105]; + float spC4[105]; + u8 sp58[105]; + Vec sp4C; + float sp40[3] = { 270.0f, 0.0f, 90.0f }; + float sp28[2]; + float var_f31; + char sp30[16]; + s16 sp20[4]; + s16 sp18[4]; + s16 sp10[4]; + s16 sp8[4]; + u16 var_r26; + u16 var_r24; + s16 var_r28; + s16 var_r27; + s16 var_r22; + s16 var_r21; + s16 var_r20; + s16 var_r23; + s32 var_r25; + s32 i; + s32 j; + s32 k; + + fn_1_6CF8(); + HuWinMesMaxSizeGet(1, sp28, MAKE_MESSID(32, 8)); + var_r21 = HuWinCreate(-10000.0f, 32.0f, sp28[0], sp28[1], 1); + HuWinMesSet(var_r21, MAKE_MESSID(32, 8)); + HuWinMesSpeedSet(var_r21, 0); + BoardModelMotionStart(lbl_1_bss_274, 3, 0x40000001); + for (i = 0; i < 4; i++) { + sp20[i] = 0; + sp18[i] = 0; + } + BoardModelPosGet(lbl_1_bss_274, &sp4C); + var_r20 = 48; + for (i = 0; i < 120; i++) { + if (--var_r20 == 0) { + var_r20 = 48; + for (j = 0; j < 4; j++) { + if (j != lbl_1_bss_282) { + HuAudPlayerVoicePlay(j, 0x130); + } + } + } + for (j = 0; j < 4; j++) { + if (j == lbl_1_bss_282) { + continue; + } + if (GWPlayer[j].com) { + switch (GWPlayer[j].diff) { + case 0: + var_r28 = 12; + break; + case 1: + var_r28 = 22; + break; + case 2: + var_r28 = 50; + break; + case 3: + var_r28 = 1000; + break; + } + if (frandmod(100) < var_r28) { + var_r26 = 0x100; + } else { + var_r26 = 0; + } + } else { + var_r24 = GWPlayer[j].port; + var_r26 = HuPadBtnDown[var_r24]; + } + if (var_r26 & 0x100) { + sp20[j]++; + } + if (sp18[j] != 0) { + if (BoardPlayerMotionEndCheck(j)) { + sp18[j] = 0; + BoardPlayerMotionStart(j, 1, 0x40000001); + } + } else if (var_r26 & 0x100) { + sp18[j] = 1; + BoardPlayerMotionStart(j, lbl_1_bss_114[j][2], 0); + } + } + HuPrcVSleep(); + } + for (i = 0; i < 4; i++) { + if (i == lbl_1_bss_282) { + continue; + } + BoardPlayerMotionStart(i, lbl_1_bss_114[i][3], 0); + OSReport("%d:%dhit ", i, sp20[i]); + omVibrate(i, 12, 4, 2); + } + OSReport("\n"); + HuWinKill(var_r21); + var_r27 = 0; + var_r23 = GWSystem.turn; + if (var_r23 <= 5) { + var_r25 = 15; + } else if (var_r23 <= 15) { + var_r25 = 25; + } else if (var_r23 <= 25) { + var_r25 = 27; + } else if (var_r23 <= 35) { + var_r25 = 30; + } else if (var_r23 <= 45) { + var_r25 = 32; + } else { + var_r25 = 35; + } + for (i = 0; i < 4; i++) { + if (i == lbl_1_bss_282) { + continue; + } + j = 0; + while (TRUE) { + if (lbl_1_data_424[j][0] == -1) { + sp8[i] = lbl_1_data_424[j][1]; + break; + } else if (sp20[i] <= lbl_1_data_424[j][0]) { + sp8[i] = lbl_1_data_424[j][1]; + break; + } + j++; + } + sp10[i] = var_r25 - sp8[i]; + if (BoardPlayerCoinsGet(i) < sp10[i]) { + sp10[i] = BoardPlayerCoinsGet(i); + } + var_r27 += sp10[i]; + BoardPlayerCoinsAdd(i, -sp10[i]); + OSReport("%d:%dlost ", i, sp10[i]); + } + OSReport("\n"); + for (i = 0; i < var_r27; i++) { + lbl_1_bss_13C[i] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 10), 0, 1); + BoardModelVisibilitySet(lbl_1_bss_13C[i], 0); + sp58[i] = 0; + } + for (i = 0; i < 10; i++) { + sp4C.z += 21.0f - i; + BoardModelPosSetV(lbl_1_bss_274, &sp4C); + HuPrcVSleep(); + } + for (i = 0; i < 4; i++) { + if (i == lbl_1_bss_282) { + continue; + } + omVibrate(i, 12, 4, 2); + HuAudPlayerVoicePlay(i, 0x131); + } + HuAudFXPlay(0x4E); + var_r28 = 0; + var_r24 = var_r27; + while (TRUE) { + if (var_r28 == 0) { + var_r22 = 0; + for (i = 0; i < 4; i++) { + if (i == lbl_1_bss_282) { + continue; + } + for (j = 0; j < 3; j++) { + if (sp10[i] == 0) { + continue; + } + sp10[i]--; + var_r24--; + for (k = 0; k < var_r27; k++) { + if (sp58[k] == 0) { + break; + } + } + if (k == var_r27) { + OSReport("\x82\xB1\x82\xA2\x82\xF1\x82\xAA\x8F\x6F\x82\xB9\x82\xC8\x82\xA2 total %d\n", var_r27); + while (TRUE) { + HuPrcVSleep(); + } + } + HuAudFXPlay(0x12); + sp58[k] = 1; + BoardPlayerPosGet(i, &sp8F8[k]); + sp8F8[k].y += 180.0f; + BoardModelVisibilitySet(lbl_1_bss_13C[k], 1); + BoardModelPosSetV(lbl_1_bss_13C[k], &sp8F8[k]); + sp40C[k].x = 10.0 * sind(sp40[var_r22] - 20.0f + 40.0f * j); + sp40C[k].z = 10.0 * cosd(sp40[var_r22] - 20.0f + 40.0f * j); + sp40C[k].y = 6.0f + 6.0f * frand8() * 0.003921569f; + sp268[k] = 0.0f; + spC4[k] = 360.0f * frand8() * 0.003921569f; + } + var_r22++; + } + var_r28 = 8; + } else { + var_r28--; + } + var_r26 = 0; + for (i = 0; i < var_r27; i++) { + if (sp58[i] == 0) { + continue; + } + var_r26++; + sp8F8[i].x += sp40C[i].x; + sp8F8[i].z += sp40C[i].z; + sp8F8[i].y += sp40C[i].y - sp268[i] * sp268[i] * 0.25f * 0.075f; + BoardModelPosSetV(lbl_1_bss_13C[i], &sp8F8[i]); + BoardModelRotYSet(lbl_1_bss_13C[i], spC4[i]); + sp268[i] += 1.0f; + spC4[i] += 12.0f; + if (spC4[i] >= 360.0f) { + spC4[i] -= 360.0f; + } + if (sp8F8[i].y < -450.0f) { + sp58[i] = 0; + BoardModelVisibilitySet(lbl_1_bss_13C[i], 0); + } + } + if (var_r26 == 0 && var_r24 == 0) { + break; + } + HuPrcVSleep(); + } + fn_1_7300(); + sprintf(sp30, "%d", var_r27); + BoardWinCreate(2, MAKE_MESSID(32, 9), 9); + BoardWinInsertMesSet(MAKE_MESSID_PTR(sp30), 0); + BoardWinWait(); + BoardWinKill(); + BoardPlayerMotBlendSet(lbl_1_bss_282, 0, 0xF); + while (!BoardPlayerMotBlendCheck(lbl_1_bss_282)) { + HuPrcVSleep(); + } + BoardPlayerIdleSet(lbl_1_bss_282); + BoardPlayerPosGet(lbl_1_bss_282, &sp4C); + for (i = 0; i < var_r27; i++) { + BoardModelVisibilitySet(lbl_1_bss_13C[i], 1); + sp8F8[i].x = sp4C.x - 25.0f + 50.0f * frand8() * 0.003921569f; + sp8F8[i].y = sp4C.y + 1200.0f + 130.0f * i + 60.0f * frand8() * 0.003921569f; + sp8F8[i].z = sp4C.z - 25.0f + 50.0f * frand8() * 0.003921569f; + BoardModelPosSetV(lbl_1_bss_13C[i], &sp8F8[i]); + } + var_f31 = -4.0f; + var_r28 = 0; + while (TRUE) { + for (i = 0; i < var_r27; i++) { + if (i < var_r28) { + continue; + } + sp8F8[i].y += var_f31; + spC4[i] += 45.0f; + BoardModelPosSetV(lbl_1_bss_13C[i], &sp8F8[i]); + BoardModelRotYSet(lbl_1_bss_13C[i], spC4[i]); + if (sp8F8[i].y <= sp4C.y + 180.0f) { + CharModelCoinEffectCreate(1, &sp8F8[i]); + BoardModelVisibilitySet(lbl_1_bss_13C[i], 0); + var_r28++; + BoardPlayerCoinsAdd(lbl_1_bss_282, 1); + HuAudFXPlay(7); + omVibrate(lbl_1_bss_282, 12, 6, 6); + } + } + var_f31 *= 1.05f; + if (var_f31 < -40.0f) { + var_f31 = -40.0f; + } + if (var_r28 == var_r27) { + BoardPlayerMotionShiftSet(lbl_1_bss_282, 7, 0.0f, 10.0f, 0); + break; + } + HuPrcVSleep(); + } + while (!BoardPlayerMotionEndCheck(lbl_1_bss_282)) { + HuPrcVSleep(); + } + HuPrcSleep(30); + for (i = 0; i < var_r27; i++) { + BoardModelKill(lbl_1_bss_13C[i]); + } + BoardPlayerMotBlendSet(lbl_1_bss_282, 0xB4, 0xF); + while (!BoardPlayerMotBlendCheck(lbl_1_bss_282)) { + HuPrcVSleep(); + } + BoardPlayerIdleSet(lbl_1_bss_282); + BoardWinCreate(2, MAKE_MESSID(32, 10), 9); + BoardWinWait(); + BoardWinKill(); + BoardAudSeqFadeOut(1, 1000); + while (msmMusGetStatus(1) != 0) { + HuPrcVSleep(); + } + BoardAudSeqPause(0, 0, 1000); +} + +static void fn_1_8A60(void) { + Vec sp7C[3]; + Vec sp58[3]; + Vec sp4C; + Vec sp40; + float sp34[3]; + float sp28[3]; + float sp1C[3] = { 315.0f, 0.0f, 45.0f }; + char sp10[12]; + float var_f31; + float var_f30; + s16 sp8[4]; + s16 var_r30; + s32 temp_r27; + s32 var_r28; + s32 var_r29; + s32 i; + + fn_1_6CF8(); + lbl_1_bss_13A = 0; + BoardModelMotionStart(lbl_1_bss_274, 3, 0x40000001); + BoardModelPosGet(lbl_1_bss_274, &sp4C); + for (i = 0; i < 120; i++) { + HuPrcVSleep(); + } + for (i = 0; i < 4; i++) { + if (i == lbl_1_bss_282) { + continue; + } + BoardPlayerMotionStart(i, lbl_1_bss_114[i][3], 0); + omVibrate(i, 12, 4, 2); + } + var_r29 = 0; + for (i = 0; i < 4; i++) { + if (i == lbl_1_bss_282) { + continue; + } + if (GWStarsGet(i) > 0) { + sp8[i] = 1; + var_r29++; + } else { + sp8[i] = 0; + } + BoardPlayerStarsAdd(i, -sp8[i]); + } + OSReport("Total Star %d\n", var_r29); + for (i = 0; i < var_r29; i++) { + lbl_1_bss_13C[i] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 8), NULL, 0); + BoardModelAttrSet(lbl_1_bss_13C[i], 0x40000002); + BoardModelVisibilitySet(lbl_1_bss_13C[i], 0); + } + for (i = 0; i < 10; i++) { + sp4C.z += 21.0f - i; + BoardModelPosSetV(lbl_1_bss_274, &sp4C); + HuPrcVSleep(); + } + for (i = 0; i < 4; i++) { + if (i == lbl_1_bss_282) { + continue; + } + omVibrate(i, 12, 4, 2); + HuAudPlayerVoicePlay(i, 0x131); + } + HuAudFXPlay(0x4E); + var_r30 = 0; + for (i = 0; i < 4; i++) { + if (i == lbl_1_bss_282 || sp8[i] == 0) { + continue; + } + BoardPlayerPosGet(i, &sp7C[var_r30]); + sp7C[var_r30].y += 180.0f; + sp34[var_r30] = 0.0f; + sp58[var_r30].x = 10.0 * sind(sp1C[var_r30]); + sp58[var_r30].z = 10.0 * cosd(sp1C[var_r30]); + sp58[var_r30].y = 6.0f + 6.0f * frand8() * 0.003921569f; + sp34[var_r30] = 360.0f * frand8() * 0.003921569f; + sp28[var_r30] = 0.0f; + BoardModelVisibilitySet(lbl_1_bss_13C[var_r30], 1); + lbl_1_bss_134[var_r30] = fn_1_9F50(); + var_r30++; + } + while (TRUE) { + var_r30 = 0; + for (i = 0; i < var_r29; i++) { + sp7C[i].x += sp58[i].x; + sp7C[i].z += sp58[i].z; + sp7C[i].y += sp58[i].y - sp28[i] * sp28[i] * 0.25f * 0.075f; + BoardModelPosSetV(lbl_1_bss_13C[i], &sp7C[i]); + BoardModelRotYSet(lbl_1_bss_13C[i], sp34[i]); + sp28[i] += 1.0f; + sp34[i] += 12.0f; + if (sp34[i] >= 360.0f) { + sp34[i] -= 360.0f; + } + if (sp7C[i].y < -500.0f) { + BoardModelVisibilitySet(lbl_1_bss_13C[i], 0); + var_r30++; + } + Hu3DParManPosSet(lbl_1_bss_134[i], sp7C[i].x, sp7C[i].y + -70.0f, sp7C[i].z); + } + if (var_r30 == var_r29) { + break; + } + HuPrcVSleep(); + } + fn_1_7300(); + sprintf(sp10, "%d", var_r29); + BoardWinCreate(2, MAKE_MESSID(32, 11), 9); + BoardWinInsertMesSet(MAKE_MESSID_PTR(sp10), 0); + BoardWinWait(); + BoardWinKill(); + BoardAudSeqFadeOut(1, 1000); + BoardPlayerMotBlendSet(lbl_1_bss_282, 0, 0xF); + while (!BoardPlayerMotBlendCheck(lbl_1_bss_282)) { + HuPrcVSleep(); + } + BoardPlayerIdleSet(lbl_1_bss_282); + BoardPlayerPosGet(lbl_1_bss_282, &sp4C); + for (i = 0; i < var_r29; i++) { + BoardModelVisibilitySet(lbl_1_bss_13C[i], 1); + sp7C[i] = sp4C; + sp7C[i].y += 600.0f; + BoardModelPosSetV(lbl_1_bss_13C[i], &sp7C[i]); + sp34[i] = 0.0f; + BoardModelRotYSet(lbl_1_bss_13C[i], sp34[i]); + } + for (i = 0; i < var_r29; i++) { + var_f31 = -4.0f; + HuAudFXPlay(0x338); + HuAudFXPlay(0x353); + while (TRUE) { + sp7C[i].y += var_f31; + BoardModelPosSetV(lbl_1_bss_13C[i], &sp7C[i]); + Hu3DParManPosSet(lbl_1_bss_134[i], sp7C[i].x, sp7C[i].y + -70.0f, sp7C[i].z); + if (sp7C[i].y <= sp4C.y + 270.0f) { + sp7C[i].y = sp4C.y + 270.0f; + BoardModelPosSetV(lbl_1_bss_13C[i], &sp7C[i]); + Hu3DParManPosSet(lbl_1_bss_134[i], sp7C[i].x, sp7C[i].y + -70.0f, sp7C[i].z); + BoardModelAttrReset(lbl_1_bss_13C[i], 0x40000002); + while (BoardModelMotionTimeGet(lbl_1_bss_13C[i]) < BoardModelMotionMaxTimeGet(lbl_1_bss_13C[i]) - 10.0f) { + HuPrcVSleep(); + } + var_f31 = -5.0f; + var_f30 = 1.0f; + HuAudFXPlay(0x339); + for (var_r28 = 0; var_r28 < 30; var_r28++) { + var_f30 -= 0.033333335f; + sp40.x = sp40.y = sp40.z = var_f30; + BoardModelScaleSetV(lbl_1_bss_13C[i], &sp40); + sp7C[i].y += var_f31; + BoardModelPosSetV(lbl_1_bss_13C[i], &sp7C[i]); + sp34[i] += 25.0f; + BoardModelRotYSet(lbl_1_bss_13C[i], sp34[i]); + Hu3DParManPosSet(lbl_1_bss_134[i], sp7C[i].x, sp7C[i].y + -70.0f, sp7C[i].z); + HuPrcVSleep(); + } + omVibrate(lbl_1_bss_282, 12, 0xC, 0); + BoardPlayerStarsAdd(lbl_1_bss_282, 1); + BoardModelVisibilitySet(lbl_1_bss_13C[i], 0); + fn_1_A074(lbl_1_bss_134[i]); + break; + } + var_f31 *= 1.05f; + if (var_f31 < -20.0f) { + var_f31 = -20.0f; + } + HuPrcVSleep(); + } + } + temp_r27 = HuAudSStreamPlay(6); + BoardPlayerMotionShiftSet(lbl_1_bss_282, 7, 0.0f, 10.0f, 0); + while (!BoardPlayerMotionEndCheck(lbl_1_bss_282)) { + HuPrcVSleep(); + } + HuPrcSleep(30); + while (HuAudSStreamStatGet(temp_r27) != 0) { + HuPrcVSleep(); + } + BoardAudSeqPause(0, 0, 1000); + for (i = 0; i < var_r29; i++) { + BoardModelKill(lbl_1_bss_13C[i]); + } + BoardPlayerMotBlendSet(lbl_1_bss_282, 0xB4, 0xF); + while (!BoardPlayerMotBlendCheck(lbl_1_bss_282)) { + HuPrcVSleep(); + } + BoardPlayerIdleSet(lbl_1_bss_282); + BoardWinCreate(2, MAKE_MESSID(32, 10), 9); + BoardWinWait(); + BoardWinKill(); +} + +static void fn_1_98A0(void) { + Vec sp14; + Vec sp8; + float var_f30; + float var_f31; + s32 i; + + BoardModelPosGet(lbl_1_bss_274, &sp14); + var_f30 = BoardModelRotYGet(lbl_1_bss_274); + BoardModelMotionShiftSet(lbl_1_bss_274, 2, 0.0f, 25.0f, 0x40000001); + for (i = 0; i < 25; i++) { + var_f30 += 7.2f; + BoardModelRotYSet(lbl_1_bss_274, var_f30); + HuPrcVSleep(); + } + BoardModelRotYSet(lbl_1_bss_274, 180.0f); + BoardModelMotionTimeSet(lbl_1_bss_27C, 0.0f); + BoardModelAttrReset(lbl_1_bss_27C, 0x40000002); + HuAudFXPlay(0x464); + HuAudFXPlay(0x4E); + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[4]), lbl_1_data_3CC[4], &sp8); + var_f31 = 255.0f; + while (TRUE) { + sp14.z -= 10.0f; + if (sp14.z <= sp8.z + 200.0f) { + var_f31 -= 20.0f; + if (var_f31 <= 0.0f) { + break; + } + BoardModelAlphaSet(lbl_1_bss_274, var_f31); + } + BoardModelPosSetV(lbl_1_bss_274, &sp14); + if (BoardModelMotionTimeGet(lbl_1_bss_27C) >= 20.0f) { + BoardModelAttrSet(lbl_1_bss_27C, 0x40000002); + } + HuPrcVSleep(); + } + BoardModelAlphaSet(lbl_1_bss_274, 0); + BoardModelMotionTimeSet(lbl_1_bss_27C, 20.0f); + BoardModelAttrSet(lbl_1_bss_27C, 0x40000002); + fn_1_9B34(); +} + +static void fn_1_9B34(void) { + BoardModelKill(lbl_1_bss_274); + lbl_1_bss_0->unk01 = 0; + BoardModelMotionTimeSet(lbl_1_bss_280, 0.0f); + BoardModelAttrSet(lbl_1_bss_280, 0x40000002); + BoardModelMotionTimeSet(lbl_1_bss_27E, 0.0f); + BoardModelAttrSet(lbl_1_bss_280, 0x40000002); +} + +static void fn_1_9BDC(void) { + HuPrcSleep(240); + BoardMusStart(1, 0x1F, 0x7F, 0); + HuPrcEnd(); +} + +static void fn_1_9C18(void) { + Vec sp14; + Vec sp8; + s32 temp_r31; + + sp14.x = -150.0f; + sp14.y = 0.0f; + sp14.z = 120.0f; + sp8.x = -45.0f; + sp8.y = 0.0f; + sp8.z = 0.0f; + BoardCameraMotionStartEx(lbl_1_bss_14[4], &sp8, &sp14, 2300.0f, -1.0f, 30); + BoardCameraMotionWait(); + if (lbl_1_bss_0->unk01 == 1) { + BoardModelMotionTimeSet(lbl_1_bss_280, 0.0f); + BoardModelMotionSpeedSet(lbl_1_bss_280, 0.5f); + BoardModelAttrReset(lbl_1_bss_280, 0x40000002); + } + HuAudFXPlay(0x461); + temp_r31 = HuAudFXPlay(0x462); + BoardModelAttrReset(lbl_1_bss_27E, 0x40000002); + HuPrcSleep(110); + BoardModelAttrSet(lbl_1_bss_27E, 0x40000002); + HuAudFXStop(temp_r31); + switch (lbl_1_bss_0->unk01) { + case 1: + case 2: + HuAudFXPlay(0x46A); + break; + case 3: + HuAudFXPlay(0x46B); + BoardAudSeqPause(0, 1, 1000); + HuPrcChildCreate(fn_1_9BDC, 0x2003, 0x1000, 0, boardMainProc); + break; + } + HuPrcSleep(9); + sp14.x = -150.0f; + sp14.y = 250.0f; + sp14.z = 120.0f; + sp8.x = -5.0f; + sp8.y = 0.0f; + sp8.z = 0.0f; + BoardCameraMotionStartEx(lbl_1_bss_14[4], &sp8, &sp14, 1800.0f, -1.0f, 30); + BoardCameraMotionWait(); + HuPrcSleep(30); +} + +static void fn_1_9EA8(void) { + lbl_1_bss_278 = NULL; +} + +void fn_1_9EBC(void) { + lbl_1_bss_282 = GWSystem.player_curr; + lbl_1_bss_278 = HuPrcCreate(fn_1_62B0, 0x2004, 0x2000, 0); + HuPrcDestructorSet2(lbl_1_bss_278, fn_1_9EA8); + while (lbl_1_bss_278) { + HuPrcVSleep(); + } + BoardEventFlagReset(); +} + +static HsfanimStruct00 lbl_1_data_49C = { + 0x001E, + { 0x00, 0x00 }, // padding? + 3.3f, + 70.0f, + 7.0f, + { 0.0f, -0.05f, 0.0f }, + 2.0f, + 1.0f, + 20.0f, + 0.98f, + 0x0002, + { + { 0xFF, 0xFF, 0xFF, 0xFF }, + { 0xFF, 0xFF, 0x40, 0xFF }, + { 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00 } + }, + { + { 0xFF, 0x80, 0x80, 0x00 }, + { 0xFF, 0x40, 0x20, 0x00 }, + { 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00 } + } +}; + +static s16 fn_1_9F50(void) { + void *var_r29; + s16 temp_r3; + s16 temp_r3_2; + + if (lbl_1_bss_100 == NULL) { + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 1), MEMORY_DEFAULT_NUM, HEAP_DATA); + lbl_1_bss_100 = HuSprAnimRead(var_r29); + HuSprAnimLock(lbl_1_bss_100); + } + temp_r3 = Hu3DParManCreate(lbl_1_bss_100, 0x64, &lbl_1_data_49C); + Hu3DParManAttrSet(temp_r3, 0x64); + Hu3DParManRotSet(temp_r3, 90.0f, 0.0f, 0.0f); + temp_r3_2 = Hu3DParManModelIDGet(temp_r3); + Hu3DParticleBlendModeSet(temp_r3_2, 1); + Hu3DModelLayerSet(temp_r3_2, 2); + lbl_1_bss_13A++; + return temp_r3; +} + +static void fn_1_A074(s16 arg0) { + if (arg0 == -1) { + return; + } + Hu3DParManKill(arg0); + if (--lbl_1_bss_13A == 0) { + HuSprAnimKill(lbl_1_bss_100); + lbl_1_bss_100 = NULL; + } +} diff --git a/src/REL/w07Dll/boo_event.c b/src/REL/w07Dll/boo_event.c new file mode 100644 index 00000000..3a89e85b --- /dev/null +++ b/src/REL/w07Dll/boo_event.c @@ -0,0 +1,1198 @@ +#include "REL/w04Dll.h" +#include "game/audio.h" +#include "game/data.h" +#include "game/gamework_data.h" +#include "game/hsfanim.h" +#include "game/hsfdraw.h" +#include "game/hsfman.h" +#include "game/memory.h" +#include "game/object.h" +#include "game/objsub.h" +#include "game/pad.h" +#include "game/process.h" +#include "game/sprite.h" +#include "game/window.h" +#include "game/board/audio.h" +#include "game/board/main.h" +#include "game/board/model.h" +#include "game/board/player.h" +#include "game/board/space.h" +#include "game/board/ui.h" +#include "game/board/window.h" +#include "game/frand.h" + +#include "dolphin.h" +#include "ext_math.h" + +typedef struct { + /* 0x00 */ char unk00[0x50]; + /* 0x50 */ u32 unk50; // pointer? + /* 0x54 */ s32 unk54; +} UnkParticleDataStruct; // Size unknown + +typedef struct { + /* 0x00 */ s16 unk00; + /* 0x02 */ s16 unk02; + /* 0x04 */ s16 unk04; + /* 0x06 */ s16 unk06; + /* 0x08 */ s16 unk08; + /* 0x0A */ s16 unk0A; + /* 0x0C */ s16 unk0C; + /* 0x0E */ s16 unk0E; + /* 0x10 */ float unk10; + /* 0x14 */ float unk14; + /* 0x18 */ float unk18; + /* 0x1C */ float unk1C; + /* 0x20 */ Vec unk20; + /* 0x2C */ Process *unk2C; +} BssE4Data; // Size 0x30 + +static void fn_1_20EC(void); +static void fn_1_28BC(void); +static void fn_1_2B8C(void); +static void fn_1_2C10(void); +static void fn_1_2E60(s16 arg0); +static void fn_1_2EE8(s32 arg0); +static s32 fn_1_2F54(u32 arg0); +static BssE4Data *fn_1_2FBC(s16 arg0); +static void fn_1_2FDC(void); +static void fn_1_30A4(void); +static void fn_1_38D8(void); +static s32 fn_1_3C9C(void); +static void fn_1_45A8(void); +static void fn_1_4630(void); +static s32 fn_1_4680(s16 arg0); +static void fn_1_4848(void); +static void fn_1_5018(void); +static void fn_1_52A0(s16 arg0, Vec *arg1); +static void fn_1_55A0(void); +static void fn_1_5648(void); +static void fn_1_5828(void); +static s16 fn_1_58A4(Vec *arg0); +static void fn_1_5980(s16 arg0); +static void fn_1_59C4(omObjData *arg0); +static void fn_1_5A2C(ModelData *model, ParticleData *particle, Mtx matrix); + +static s16 lbl_1_bss_FA; +static s16 lbl_1_bss_F4[3]; +static Process *lbl_1_bss_E4[4]; +static Process *lbl_1_bss_D4[4]; +static omObjData *lbl_1_bss_C4[4]; +static s16 lbl_1_bss_C2; +static s16 lbl_1_bss_BA[4]; +static s16 lbl_1_bss_B2[4]; +static s16 lbl_1_bss_B0; +static Vec lbl_1_bss_80[4]; +static s16 lbl_1_bss_7C; +static s32 lbl_1_bss_78; +static s32 lbl_1_bss_74; +static s16 lbl_1_bss_70; +static s32 lbl_1_bss_6C; +static s16 lbl_1_bss_6A; +static s16 lbl_1_bss_52[4][3]; +static s16 lbl_1_bss_50; +static AnimData *lbl_1_bss_4C; +static Process *lbl_1_bss_48; + +static s32 lbl_1_data_2D0[8] = { + DATADIR_MARIOMOT, + DATADIR_LUIGIMOT, + DATADIR_PEACHMOT, + DATADIR_YOSHIMOT, + DATADIR_WARIOMOT, + DATADIR_DONKEYMOT, + DATADIR_DAISYMOT, + DATADIR_WALUIGIMOT +}; + +static s32 lbl_1_data_2F0 = 28; + +static s32 lbl_1_data_2F4[8] = { + DATA_MAKE_NUM(DATADIR_W04, 35), + DATA_MAKE_NUM(DATADIR_W04, 36), + DATA_MAKE_NUM(DATADIR_W04, 37), + DATA_MAKE_NUM(DATADIR_W04, 38), + DATA_MAKE_NUM(DATADIR_W04, 39), + DATA_MAKE_NUM(DATADIR_W04, 40), + DATA_MAKE_NUM(DATADIR_W04, 41), + DATA_MAKE_NUM(DATADIR_W04, 42) +}; + +static s32 lbl_1_data_314[8] = { + DATA_MAKE_NUM(DATADIR_W04, 43), + DATA_MAKE_NUM(DATADIR_W04, 44), + DATA_MAKE_NUM(DATADIR_W04, 45), + DATA_MAKE_NUM(DATADIR_W04, 46), + DATA_MAKE_NUM(DATADIR_W04, 47), + DATA_MAKE_NUM(DATADIR_W04, 48), + DATA_MAKE_NUM(DATADIR_W04, 49), + DATA_MAKE_NUM(DATADIR_W04, 50) +}; + +static char *lbl_1_data_348[] = { + "kan1", "kan2", "kan3", "kan4" +}; + +static float lbl_1_data_358[] = { + -150.00001f, -170.00001f, -30.0f, -220.0f +}; + +static void fn_1_20EC(void) { + Vec sp20; + Vec sp14; + Vec sp8; + float var_f31; + s32 temp_r30; + s32 temp_r28; + BoardSpace *var_r27; + BoardMapObject *var_r26; + s32 i; + s32 j; + + temp_r30 = GWSystem.player_curr; + lbl_1_bss_70 = 0; + lbl_1_bss_7C = 0; + temp_r28 = lbl_1_data_2D0[GWPlayer[temp_r30].character]; + lbl_1_bss_52[temp_r30][0] = BoardPlayerMotionCreate(temp_r30, temp_r28 | lbl_1_data_2F0); + lbl_1_bss_52[temp_r30][1] = BoardPlayerMotionCreate(temp_r30, lbl_1_data_2F4[GWPlayer[temp_r30].character]); + for (i = 0; i < 4; i++) { + if (i != temp_r30) { + lbl_1_bss_52[i][0] = BoardPlayerMotionCreate(i, temp_r28 | lbl_1_data_2F0); + lbl_1_bss_52[i][1] = BoardPlayerMotionCreate(i, lbl_1_data_2F4[GWPlayer[i].character]); + lbl_1_bss_52[i][2] = BoardPlayerMotionCreate(i, lbl_1_data_314[GWPlayer[i].character]); + } + } + for (i = 0; i < 3; i++) { + lbl_1_bss_F4[i] = BoardModelCreate(0x70000, NULL, 1); + BoardModelLayerSet(lbl_1_bss_F4[i], 2); + BoardModelVisibilitySet(lbl_1_bss_F4[i], 0); + } + var_r26 = &lbl_1_data_0[8]; + lbl_1_bss_FA = lbl_1_bss_14[8]; + BoardModelPosSetV(lbl_1_bss_FA, &var_r26->pos); + BoardModelRotSetV(lbl_1_bss_FA, &var_r26->rot); + BoardModelVisibilitySet(lbl_1_bss_FA, 1); + BoardModelAlphaSet(lbl_1_bss_FA, 0); + var_f31 = 0.0f; + for (i = 0; i < 4; i++) { + lbl_1_bss_B2[i] = 0; + lbl_1_bss_D4[i] = NULL; + } + fn_1_5648(); + fn_1_2C10(); + BoardRollDispSet(0); + BoardPlayerMotBlendSet(temp_r30, 180, 15); + BoardCameraViewSet(2); + while (!BoardPlayerMotBlendCheck(temp_r30)) { + HuPrcVSleep(); + } + BoardCameraMotionWait(); + BoardPlayerMotionShiftSet(temp_r30, lbl_1_bss_52[temp_r30][0], 0.0f, 5.0f, 0); + HuAudPlayerVoicePlay(temp_r30, 0x128); + BoardModelPosGet(lbl_1_bss_14[3], &sp20); + BoardModelPosSetV(lbl_1_bss_FA, &sp20); + BoardModelVisibilitySet(lbl_1_bss_FA, 1); + for (i = 0; i < 60; i++) { + var_f31 += 4.25f; + BoardModelAlphaSet(lbl_1_bss_FA, var_f31); + HuPrcVSleep(); + } + BoardModelAlphaSet(lbl_1_bss_FA, 0xFF); + HuAudFXPlay(0x4C); + BoardPlayerIdleSet(temp_r30); + HuPrcSleep(8); + BoardWinCreate(2, MAKE_MESSID(32, 1), 3); + BoardWinWait(); + BoardWinKill(); + var_r27 = BoardSpaceGet(0, GWPlayer[temp_r30].space_curr); + lbl_1_bss_74 = lbl_1_bss_78 = var_r27->link[0]; + BoardSpacePosGet(0, lbl_1_bss_78, &sp14); + BoardModelPosGet(lbl_1_bss_FA, &sp20); + while (fn_1_1130(lbl_1_bss_FA, atan2d(sp14.x - sp20.x, sp14.z - sp20.z), 2.0f) == 0) { + HuPrcVSleep(); + } + PSVECSubtract(&sp14, &sp20, &sp8); + PSVECScale(&sp8, &sp8, 0.022222223f); + for (i = 0; i < 45; i++) { + PSVECAdd(&sp20, &sp8, &sp20); + BoardModelPosSetV(lbl_1_bss_FA, &sp20); + HuPrcVSleep(); + } + BoardAudSeqPause(0, 1, 1000); + BoardModelPosSetV(lbl_1_bss_FA, &sp14); + BoardPlayerPosGet(temp_r30, &sp14); + while (fn_1_1130(lbl_1_bss_FA, atan2d(sp14.x - sp20.x, sp14.z - sp20.z), 3.0f) == 0) { + HuPrcVSleep(); + } + fn_1_2EE8(1); + while (fn_1_2F54(0) == 0) { + HuPrcVSleep(); + } + fn_1_2FBC(0)->unk00 = 2; + while (fn_1_1130(lbl_1_bss_FA, 90.0f, 3.0f) == 0) { + HuPrcVSleep(); + } + while (fn_1_2F54(0) == 0) { + HuPrcVSleep(); + } + fn_1_28BC(); + fn_1_2B8C(); + BoardAudSeqPause(0, 0, 1000); + BoardRollDispSet(1); + BoardCameraViewSet(1); + BoardCameraMotionWait(); + BoardPlayerMotionKill(temp_r30, lbl_1_bss_52[temp_r30][0]); + BoardPlayerMotionKill(temp_r30, lbl_1_bss_52[temp_r30][1]); + for (i = 0; i < 4; i++) { + if (i != temp_r30) { + for (j = 0; j < 3; j++) { + BoardPlayerMotionKill(i, lbl_1_bss_52[i][j]); + } + } + } + for (i = 0; i < 3; i++) { + BoardModelKill(lbl_1_bss_F4[i]); + } + fn_1_5828(); + BoardModelVisibilitySet(lbl_1_bss_FA, 0); + HuPrcEnd(); +} + +static void fn_1_28BC(void) { + Vec sp20; + Vec sp14; + Vec sp8; + float temp_f30; + float var_f31; + BoardSpace *var_r30; + s16 var_r29; + s32 var_r31; + s32 i; + Process *var_r27; + float *var_r26; + + var_r27 = HuPrcChildCreate(fn_1_45A8, 0x2001, 0x800, 0, boardMainProc); + HuPrcDestructorSet2(var_r27, fn_1_4630); + var_r26 = (float*) &var_r27->user_data; + lbl_1_bss_C2 = fn_1_4680(lbl_1_bss_78); + var_r29 = 0; + while (var_r29 == 0) { + var_r31 = fn_1_3C9C(); + if (var_r31 != -1) { + var_r30 = BoardSpaceGet(0, var_r31); + if (var_r30->flag & 1) { + lbl_1_bss_50 = var_r31; + } + if (var_r30->flag & 8) { + fn_1_52A0(lbl_1_bss_50, lbl_1_bss_80); + var_r29 = 1; + var_f31 = 255.0f; + HuPrcKill(var_r27); + } + BoardSpacePosGet(0, var_r31, &sp20); + BoardModelPosGet(lbl_1_bss_FA, &sp14); + temp_f30 = atan2d(sp20.x - sp14.x, sp20.z - sp14.z); + BoardModelRotYSet(lbl_1_bss_FA, temp_f30); + PSVECSubtract(&sp20, &sp14, &sp8); + PSVECScale(&sp8, &sp8, 0.022222223f); + *var_r26 = temp_f30 - 180.0f; + fn_1_2EE8(3); + for (i = 0; i < 45; i++) { + PSVECAdd(&sp8, &sp14, &sp14); + BoardModelPosSetV(lbl_1_bss_FA, &sp14); + fn_1_5018(); + if (var_r29 != 0) { + var_f31 -= 5.6666665f; + BoardModelAlphaSet(lbl_1_bss_FA, var_f31); + } + HuPrcVSleep(); + } + BoardModelPosSetV(lbl_1_bss_FA, &sp20); + lbl_1_bss_74 = lbl_1_bss_78; + lbl_1_bss_78 = var_r31; + if (var_r29 != 0) { + BoardModelVisibilitySet(lbl_1_bss_FA, 0); + } + } + HuPrcVSleep(); + } +} + +static void fn_1_2B8C(void) { + s32 i; + + while (fn_1_2F54(4) == 0 || lbl_1_bss_7C != 0) { + fn_1_2EE8(3); + HuPrcVSleep(); + } + HuAudFXStop(lbl_1_bss_6C); + for (i = 0; i < 4; i++) { + fn_1_2E60(i); + } +} + +static void fn_1_2C10(void) { + Vec sp8; + BssE4Data *temp_r31; + s32 i; + + for (i = 0; i < 4; i++) { + temp_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(BssE4Data), MEMORY_DEFAULT_NUM); + temp_r31->unk04 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 3), NULL, 0); + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[3]), lbl_1_data_348[i], &sp8); + BoardModelLayerSet(temp_r31->unk04, 2); + BoardModelPosSetV(temp_r31->unk04, &sp8); + temp_r31->unk10 = lbl_1_data_358[i]; + BoardModelRotYSet(temp_r31->unk04, temp_r31->unk10); + temp_r31->unk18 = 0.0f; + BoardModelAlphaSet(temp_r31->unk04, temp_r31->unk18); + BoardModelVisibilitySet(temp_r31->unk04, 0); + temp_r31->unk14 = 0.003921569f * frand8() * 360.0f; + temp_r31->unk08 = -1; + temp_r31->unk00 = 0; + temp_r31->unk06 = i; + temp_r31->unk1C = 0.0f; + temp_r31->unk02 = 1; + temp_r31->unk0C = 0; + if (i == 0) { + temp_r31->unk0A = lbl_1_bss_FA; + } else { + temp_r31->unk0A = ((BssE4Data*) lbl_1_bss_E4[i - 1]->user_data)->unk04; + } + lbl_1_bss_E4[i] = HuPrcChildCreate(fn_1_30A4, 0x2003, 0x1000, 0, boardMainProc); + lbl_1_bss_E4[i]->user_data = temp_r31; + temp_r31->unk2C = HuPrcChildCreate(fn_1_2FDC, 0x2002, 0x1000, 0, boardMainProc); + temp_r31->unk2C->user_data = temp_r31; + } +} + +static void fn_1_2E60(s16 arg0) { + BssE4Data *temp_r3; + + temp_r3 = fn_1_2FBC(arg0); + BoardModelKill(temp_r3->unk04); + HuPrcKill(temp_r3->unk2C); + HuPrcKill(lbl_1_bss_E4[arg0]); + HuMemDirectFree(lbl_1_bss_E4[arg0]->user_data); +} + +static void fn_1_2EE8(s32 arg0) { + s32 i; + + for (i = 0; i < 4; i++) { + if (fn_1_2FBC(i)->unk02 != 0) { + fn_1_2FBC(i)->unk00 = arg0; + } + } +} + +static s32 fn_1_2F54(u32 arg0) { + s32 i; + + for (i = 0; i < 4; i++) { + if (arg0 != fn_1_2FBC(i)->unk00) { + break; + } + } + if (i != 4) { + return 0; + } else { + return 1; + } +} + +static BssE4Data *fn_1_2FBC(s16 arg0) { + return lbl_1_bss_E4[arg0]->user_data; +} + +static void fn_1_2FDC(void) { + Vec sp8; + BssE4Data *temp_r31; + + temp_r31 = HuPrcCurrentGet()->user_data; + while (TRUE) { + BoardModelPosGet(temp_r31->unk04, &sp8); + sp8.y = temp_r31->unk1C + 4.0 * sind(temp_r31->unk14); + BoardModelPosSetV(temp_r31->unk04, &sp8); + if (temp_r31->unk08 != -1) { + sp8.y += 50.0f; + BoardPlayerPosSetV(temp_r31->unk08, &sp8); + } + temp_r31->unk14 += 2.0f; + HuPrcVSleep(); + } +} + +static void fn_1_30A4(void) { + Vec sp20; + Vec sp14; + float temp_f31; + BssE4Data *temp_r31; + BoardSpace *var_r28; + Process *var_r27; + s16 var_r29; + s16 temp_r22; + s32 i; + + var_r29 = 0; + temp_r31 = HuPrcCurrentGet()->user_data; + while (TRUE) { + switch (temp_r31->unk00) { + case 0: + case 4: + break; + case 1: + BoardModelPosGet(temp_r31->unk04, &sp20); + BoardMusStart(1, 0x20, 0x7F, 0); + lbl_1_bss_6A = 1; + HuAudFXPlay(0x45F); + temp_r22 = fn_1_58A4(&sp20); + HuPrcSleep(45); + if (temp_r31->unk06 == 0) { + BoardPlayerPosGet(GWSystem.player_curr, &temp_r31->unk20); + temp_r31->unk20.y += 65.0f; + } else { + temp_r31->unk20 = fn_1_2FBC(temp_r31->unk06 - 1)->unk20; + temp_r31->unk20.z -= 300.0f; + } + BoardModelPosGet(lbl_1_bss_14[3], &sp20); + temp_r31->unk1C = sp20.y; + BoardModelVisibilitySet(temp_r31->unk04, 1); + if (temp_r31->unk06 == 0) { + lbl_1_bss_6C = HuAudFXPlay(0x460); + } + for (i = 0; i < 60; i++) { + temp_r31->unk18 += 4.25f; + BoardModelAlphaSet(temp_r31->unk04, temp_r31->unk18); + temp_r31->unk1C += 1.0833334f; + HuPrcVSleep(); + } + fn_1_5980(temp_r22); + BoardModelPosGet(temp_r31->unk04, &sp20); + temp_f31 = atan2d(temp_r31->unk20.x - sp20.x, temp_r31->unk20.z - sp20.z); + while (fn_1_1130(temp_r31->unk04, temp_f31, 5.0f) == 0) { + HuPrcVSleep(); + } + PSVECSubtract(&temp_r31->unk20, &sp20, &sp14); + PSVECScale(&sp14, &sp14, 0.016666668f); + for (i = 0; i < 60; i++) { + PSVECAdd(&sp14, &sp20, &sp20); + BoardModelPosSetV(temp_r31->unk04, &sp20); + HuPrcVSleep(); + } + BoardModelPosSetV(temp_r31->unk04, &temp_r31->unk20); + while (fn_1_1130(temp_r31->unk04, 0.0f, 5.0f) == 0) { + HuPrcVSleep(); + } + if (temp_r31->unk06 == 0) { + i = GWSystem.player_curr; + temp_f31 = BoardPlayerRotYGet(i); + omVibrate(i, 12, 6, 6); + while (TRUE) { + if (temp_f31 > 0.0f) { + temp_f31 -= 2.0f; + if (temp_f31 < 0.0f) { + temp_f31 = 0.0f; + } + } + BoardPlayerRotYSet(i, temp_f31); + BoardPlayerPosGet(i, &sp14); + BoardModelPosGet(temp_r31->unk04, &sp20); + sp14.y += 2.2f; + if (sp14.y > sp20.y + 50.0f) { + sp14.y = sp20.y + 50.0f; + break; + } + BoardPlayerPosSetV(i, &sp14); + HuPrcVSleep(); + } + BoardPlayerPosSetV(i, &sp14); + BoardPlayerRotYSet(i, 0.0f); + BoardPlayerMotionShiftSet(i, lbl_1_bss_52[GWSystem.player_curr][1], 0.0f, 10.0f, 0x40000001); + temp_r31->unk08 = i; + } + if (temp_r31->unk06 == 0) { + BoardModelPosGet(lbl_1_bss_FA, &temp_r31->unk20); + } else { + BoardModelPosGet(fn_1_2FBC(temp_r31->unk06 - 1)->unk04, &temp_r31->unk20); + } + temp_r31->unk00 = 0; + break; + case 2: + while (fn_1_1130(temp_r31->unk04, 90.0f, 3.0f) == 0) { + BoardPlayerRotYSet(temp_r31->unk08, BoardModelRotYGet(temp_r31->unk04)); + HuPrcVSleep(); + } + BoardPlayerRotYSet(temp_r31->unk08, BoardModelRotYGet(temp_r31->unk04)); + temp_r31->unk00 = 0; + break; + case 3: + BoardModelPosGet(temp_r31->unk04, &sp20); + temp_f31 = atan2d(temp_r31->unk20.x - sp20.x, temp_r31->unk20.z - sp20.z); + BoardModelRotYSet(temp_r31->unk04, temp_f31); + if (temp_r31->unk08 != -1) { + BoardPlayerRotYSet(temp_r31->unk08, temp_f31); + } + PSVECSubtract(&temp_r31->unk20, &sp20, &sp14); + PSVECScale(&sp14, &sp14, 0.022222223f); + if (temp_r31->unk0C > 0) { + var_r28 = BoardSpaceGet(0, temp_r31->unk0C); + if (var_r28->flag & 1) { + var_r29 = 1; + if (temp_r31->unk08 != -1) { + var_r27 = HuPrcChildCreate(fn_1_38D8, 0x2002, 0x1000, 0, boardMainProc); + var_r27->user_data = temp_r31; + lbl_1_bss_7C++; + } + } + } + for (i = 0; i < 45; i++) { + PSVECAdd(&sp20, &sp14, &sp20); + BoardModelPosSetV(temp_r31->unk04, &sp20); + if (temp_r31->unk08 != -1) { + BoardPlayerPosSetV(temp_r31->unk08, &sp20); + } + if (var_r29 != 0) { + if (temp_r31->unk06 == 2 && lbl_1_bss_6A != 0) { + BoardAudSeqFadeOut(1, 1000); + lbl_1_bss_6A = 0; + } + temp_r31->unk18 -= 5.6666665f; + BoardModelAlphaSet(temp_r31->unk04, temp_r31->unk18); + } + HuPrcVSleep(); + } + temp_r31->unk0E = temp_r31->unk0C; + if (temp_r31->unk06 == 0) { + temp_r31->unk0C = lbl_1_bss_74; + } else { + temp_r31->unk0C = fn_1_2FBC(temp_r31->unk06 - 1)->unk0E; + } + BoardModelPosSetV(temp_r31->unk04, &temp_r31->unk20); + if (temp_r31->unk08 != -1) { + BoardPlayerPosSetV(temp_r31->unk08, &temp_r31->unk20); + } + if (temp_r31->unk06 == 0) { + BoardModelPosGet(lbl_1_bss_FA, &temp_r31->unk20); + } else { + BoardModelPosGet(fn_1_2FBC(temp_r31->unk06 - 1)->unk04, &temp_r31->unk20); + } + if (var_r29 != 0) { + BoardModelVisibilitySet(temp_r31->unk04, 0); + temp_r31->unk02 = 0; + temp_r31->unk00 = 4; + } else { + temp_r31->unk00 = 0; + } + break; + } + HuPrcVSleep(); + } +} + +static void fn_1_38D8(void) { + Vec sp24; + Vec sp18; + Vec spC; + float var_f28; + float temp_f26; + float var_f29; + BssE4Data *temp_r30; + s16 temp_r31; + + OSReport("Getoff\n"); + temp_r30 = HuPrcCurrentGet()->user_data; + temp_r31 = temp_r30->unk08; + temp_r30->unk08 = -1; + BoardPlayerMotionShiftSet(temp_r31, 4, 0.0f, 5.0f, 0); + sp18 = lbl_1_bss_80[temp_r31]; + GWPlayer[temp_r31].space_curr = lbl_1_bss_B0; + BoardPlayerPosGet(temp_r31, &sp24); + var_f28 = atan2d(sp18.x - sp24.x, sp18.z - sp24.z); + BoardPlayerRotYSet(temp_r31, var_f28); + PSVECSubtract(&sp18, &sp24, &spC); + PSVECScale(&spC, &spC, 0.025f); + temp_f26 = 12.0f; + var_f29 = 0.0f; + while (TRUE) { + spC.y = temp_f26 - var_f29 * var_f29 * 0.25f * 0.075f; + var_f29 += 1.0f; + PSVECAdd(&spC, &sp24, &sp24); + if (sp24.y <= sp18.y) { + sp24.y = sp18.y; + break; + } + var_f28 = VECDistanceXZ(&sp18, &sp24); + if (var_f28 <= 1.0f) { + spC.x = spC.z = 0.0f; + } + BoardPlayerPosSetV(temp_r31, &sp24); + HuPrcVSleep(); + } + BoardPlayerPosSetV(temp_r31, &sp18); + BoardPlayerIdleSet(temp_r31); + HuPrcSleep(8); + BoardPlayerMotBlendSet(temp_r31, 0, 0xF); + while (!BoardPlayerMotBlendCheck(temp_r31)) { + HuPrcVSleep(); + } + lbl_1_bss_7C--; + HuPrcEnd(); +} + +static s32 fn_1_3C9C(void) { + Vec sp50; + Vec sp44; + Vec sp38; + float sp28[4]; + s16 sp20[4]; + s16 sp18[4]; + s16 sp10[4]; + float sp8[2]; + BoardSpace *temp_r30; + BoardSpace *var_r28; + float var_f29; + float var_f30; + float var_f31; + s8 var_r26; + s8 var_r25; + s32 var_r24; + s16 var_r23; + s16 var_r22; + s16 temp_r20; + s16 var_r19; + s16 var_r21; + s16 var_r27; + s16 var_r29; + s16 var_r18; + s32 temp_r17; + s32 i; + + temp_r30 = BoardSpaceGet(0, lbl_1_bss_78); + if (temp_r30->flag & 8) { + return -1; + } + if (temp_r30->flag & 0x400) { + var_r29 = 0; + i = BoardSpaceLinkTargetListGet(0, lbl_1_bss_78, sp10); + for (i--; i >= 0; i--) { + var_r28 = BoardSpaceGet(0, sp10[i]); + if (var_r28->flag & 4) { + sp20[var_r29] = sp10[i]; + sp18[var_r29] = 1; + var_r29++; + } + } + for (i = 0; i < temp_r30->link_cnt; i++) { + var_r28 = BoardSpaceGet(0, temp_r30->link[i]); + if (var_r28->flag & 4) { + sp20[var_r29] = temp_r30->link[i]; + sp18[var_r29] = 0; + var_r29++; + } + } + var_r27 = 0; + BoardModelPosGet(lbl_1_bss_FA, &sp50); + for (i = 0; i < var_r29; i++) { + BoardSpacePosGet(0, sp20[i], &sp44); + sp50.y = sp44.y; + PSVECSubtract(&sp44, &sp50, &sp38); + var_f31 = atan2d(sp38.x, sp38.z); + if (var_f31 < 0.0f) { + var_f31 += 360.0f; + } + sp28[i] = var_f31; + PSVECNormalize(&sp38, &sp44); + PSVECScale(&sp44, &sp44, 110.0f); + sp44.y += 200.0f; + PSVECAdd(&sp50, &sp44, &sp44); + BoardModelPosSetV(lbl_1_bss_F4[i], &sp44); + BoardModelRotYSet(lbl_1_bss_F4[i], var_f31); + BoardModelVisibilitySet(lbl_1_bss_F4[i], 1); + } + HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(19, 27)); + var_r22 = HuWinCreate(-10000.0f, 368.0f, sp8[0], sp8[1], 0); + HuWinMesSet(var_r22, MAKE_MESSID(19, 27)); + HuWinBGTPLvlSet(var_r22, 0.0f); + HuWinMesSpeedSet(var_r22, 0); + var_f31 = 0.0f; + temp_r17 = GWSystem.player_curr; + temp_r20 = GWPlayer[temp_r17].port; + var_f29 = BoardModelRotYGet(lbl_1_bss_FA) - 180.0f; + if (var_f29 < 0.0f) { + var_f29 += 360.0f; + } + var_r21 = frandmod(30) + 30; + var_r18 = 0; + while (TRUE) { + var_r23 = var_r27; + if (GWPlayer[temp_r17].com) { + var_r26 = var_r25 = 0; + var_r19 = 0; + if (var_r21 != 0) { + var_r21--; + } else { + var_r21 = frandmod(10) + 15; + if (frandBool() || var_r18 == 3) { + var_r19 = 0x100; + } else { + OSReport("com sel chg: %d \n", var_r29); + var_r18++; + var_r23 = frandmod(var_r29); + } + } + } else { + var_r26 = HuPadStkX[temp_r20]; + var_r25 = HuPadStkY[temp_r20]; + var_r19 = HuPadBtnDown[temp_r20]; + } + if (abs(var_r26) < 10) { + var_r26 = 0; + } + if (abs(var_r25) < 10) { + var_r25 = 0; + } + if (var_r26 != 0 || var_r25 != 0) { + var_f30 = atan2d(-var_r26, var_r25) - 180.0; + var_f30 += var_f29; + if (var_f30 >= 360.0f) { + var_f30 -= 360.0f; + } + if (var_f30 < 0.0f) { + var_f30 += 360.0f; + } + for (i = 0; i < var_r29; i++) { + if (fabs(sp28[i] - var_f30) < 30.0) { + var_r23 = i; + break; + } + } + } + if (var_r23 != var_r27) { + HuAudFXPlay(0); + var_f31 = 0.0f; + var_r27 = var_r23; + } + if (var_r19 & 0x100) { + break; + } + for (i = 0; i < var_r29; i++) { + if (var_r27 == i) { + sp38.x = sp38.y = sp38.z = 1.8f + sind(var_f31); + var_f31 += 8.0f; + if (var_f31 > 180.0f) { + var_f31 -= 180.0f; + } + } else { + sp38.x = sp38.y = sp38.z = 1.8f; + } + BoardModelScaleSetV(lbl_1_bss_F4[i], &sp38); + } + HuPrcVSleep(); + } + HuAudFXPlay(2); + for (i = 0; i < var_r29; i++) { + BoardModelVisibilitySet(lbl_1_bss_F4[i], 0); + } + HuWinKill(var_r22); + var_r24 = sp20[var_r27]; + lbl_1_bss_70 = sp18[var_r27]; + lbl_1_bss_C2 = fn_1_4680(var_r24); + } else if (lbl_1_bss_70 != 0) { + i = BoardSpaceLinkTargetListGet(0, lbl_1_bss_78, sp10); + for (i--; i >= 0; i--) { + var_r28 = BoardSpaceGet(0, sp10[i]); + if (var_r28->flag & 0x200) { + break; + } + } + var_r24 = sp10[i]; + } else { + for (i = 0; i < temp_r30->link_cnt; i++) { + var_r28 = BoardSpaceGet(0, temp_r30->link[i]); + if (var_r28->flag & 0x200) { + break; + } + } + var_r24 = temp_r30->link[i]; + } + return var_r24; +} + +static void fn_1_45A8(void) { + float *temp_r30; + s32 var_r31; + + var_r31 = 15; + temp_r30 = (float*) &HuPrcCurrentGet()->user_data; + while (TRUE) { + if (var_r31 == 0) { + BoardCameraMoveSet(0); + BoardCameraTargetPlayerSet(GWSystem.player_curr); + BoardCameraZoomSet(700.0f); + BoardStatusShowSetAll(0); + break; + } + var_r31--; + HuPrcVSleep(); + } + while (TRUE) { + BoardCameraRotSet(-15.0f, *temp_r30); + HuPrcVSleep(); + } +} + +static void fn_1_4630(void) { + BoardCameraMoveSet(0); + BoardCameraTargetPlayerSet(GWSystem.player_curr); + BoardCameraViewSet(2); + BoardStatusShowSetAll(1); + BoardCameraMoveSet(1); +} + +static s32 fn_1_4680(s16 arg0) { + BoardSpace *var_r30; + BoardSpace *var_r29; + s16 sp8[4]; + s16 var_r26; + s32 var_r27; + s32 i; + + var_r27 = 0; + var_r26 = 0; + var_r30 = BoardSpaceGet(0, arg0); + lbl_1_bss_C2 = 0; + while (TRUE) { + for (i = 0; i < 4; i++) { + if (i != GWSystem.player_curr && arg0 == GWPlayer[i].space_curr) { + lbl_1_bss_BA[var_r27++] = i; + } + } + if (var_r27 == 3 || var_r26 == 1) { + break; + } + if (lbl_1_bss_70 != 0) { + i = BoardSpaceLinkTargetListGet(0, arg0, sp8); + for (i--; i >= 0; i--) { + var_r29 = BoardSpaceGet(0, sp8[i]); + if (var_r29->flag & 0x200) { + break; + } + } + arg0 = sp8[i]; + } else { + for (i = 0; i < var_r30->link_cnt; i++) { + var_r29 = BoardSpaceGet(0, var_r30->link[i]); + if (var_r29->flag & 0x200) { + break; + } + } + arg0 = var_r30->link[i]; + } + var_r30 = BoardSpaceGet(0, arg0); + if (var_r30->flag & 0x401) { + var_r26 = 1; + } + } + return var_r27; +} + +static void fn_1_4848(void) { + Vec sp20; + Vec sp14; + float temp_f28; + BssE4Data *var_r29; + s32 temp_r30; + s32 i; + + temp_r30 = (s32) HuPrcCurrentGet()->user_data; + BoardPlayerPosGet(temp_r30, &sp20); + BoardPlayerMotBlendSet(temp_r30, BoardModelRotYGet(lbl_1_bss_FA) - 180.0f, 0xA); + while (!BoardPlayerMotBlendCheck(temp_r30)) { + BoardModelPosGet(lbl_1_bss_FA, &sp14); + temp_f28 = VECDistanceXZ(&sp20, &sp14); + if (temp_f28 <= 200.0f) { + HuAudPlayerVoicePlay(temp_r30, 0x128); + goto block_A; + } + HuPrcVSleep(); + } + BoardPlayerMotionShiftSet(temp_r30, lbl_1_bss_52[temp_r30][0], 0.0f, 5.0f, 0); + HuAudPlayerVoicePlay(temp_r30, 0x128); + for (i = 0; i < 65; i++) { + BoardModelPosGet(lbl_1_bss_FA, &sp14); + temp_f28 = VECDistanceXZ(&sp20, &sp14); + if (temp_f28 <= 200.0f) { + goto block_A; + } + HuPrcVSleep(); + } + BoardPlayerMotionShiftSet(temp_r30, 1, 0.0f, 5.0f, 0); + BoardModelPosGet(lbl_1_bss_FA, &sp14); + temp_f28 = VECDistanceXZ(&sp20, &sp14); + if (temp_f28 > 200.0f) { + HuPrcVSleep(); + } +block_A: + lbl_1_bss_B2[temp_r30] = 2; + BoardPlayerMotionStart(temp_r30, lbl_1_bss_52[temp_r30][2], 0x40000001); + temp_f28 = 20.0f; + omVibrate(temp_r30, 12, 4, 2); + while (TRUE) { + sp20.y += temp_f28; + BoardPlayerPosSetV(temp_r30, &sp20); + if (sp20.y >= 600.0f) { + break; + } + HuPrcVSleep(); + } + BoardPlayerMotionStart(temp_r30, lbl_1_bss_52[temp_r30][1], 0x40000001); + for (i = 0; i < 4; i++) { + var_r29 = fn_1_2FBC(i); + if (var_r29->unk08 == -1) { + break; + } + } + var_r29->unk08 = temp_r30; + BoardPlayerRotYSet(temp_r30, BoardModelRotYGet(var_r29->unk04)); + for (i = 0; i < 4; i++) { + HuPrcSetStat(lbl_1_bss_E4[i], 1); + } + for (i = 0; i < 4; i++) { + if (lbl_1_bss_D4[i] && i != temp_r30) { + HuPrcSetStat(lbl_1_bss_D4[i], 1); + } + } + HuPrcSetStat(lbl_1_bss_48, 1); + BoardWinCreate(0, MAKE_MESSID(32, 2), -1); + BoardWinInsertMesSet(GWPlayer[temp_r30].character, 0); + BoardWinWait(); + BoardWinKill(); + for (i = 0; i < 4; i++) { + HuPrcResetStat(lbl_1_bss_E4[i], 1); + } + for (i = 0; i < 4; i++) { + if (lbl_1_bss_D4[i] && i != temp_r30) { + HuPrcResetStat(lbl_1_bss_D4[i], 1); + } + } + HuPrcResetStat(lbl_1_bss_48, 1); + lbl_1_bss_D4[temp_r30] = NULL; + HuPrcEnd(); +} + +static void fn_1_5018(void) { + Vec sp18; + Vec spC; + float var_f29; + Process *temp_r3; + s32 i; + + BoardModelPosGet(lbl_1_bss_FA, &spC); + for (i = 0; i < lbl_1_bss_C2; i++) { + BoardPlayerPosGet(lbl_1_bss_BA[i], &sp18); + var_f29 = VECDistanceXZ(&sp18, &spC); + if (var_f29 < 900.0f && lbl_1_bss_B2[lbl_1_bss_BA[i]] == 0) { + temp_r3 = HuPrcChildCreate(fn_1_4848, 0x2003, 0x2000, 0, boardMainProc); + lbl_1_bss_D4[lbl_1_bss_BA[i]] = temp_r3; + temp_r3->user_data = (u8*) lbl_1_bss_BA[i]; + lbl_1_bss_B2[lbl_1_bss_BA[i]] = 1; + } + } +} + +static void fn_1_52A0(s16 arg0, Vec *arg1) { + Vec sp40[4]; + Vec sp10[4]; + BssE4Data *var_r30; + BoardSpace *var_r29; + BoardSpace *var_r28; + s16 sp8[4]; + s32 var_r27; + s32 i; + + OSReport("Landing Pos Get\n"); + lbl_1_bss_B0 = -1; + var_r29 = BoardSpaceGet(0, arg0); + for (i = 0; i < var_r29->link_cnt; i++) { + var_r28 = BoardSpaceGet(0, var_r29->link[i]); + if (var_r28->flag & 2) { + lbl_1_bss_B0 = var_r29->link[i]; + break; + } + } + if (lbl_1_bss_B0 == -1) { + i = BoardSpaceLinkTargetListGet(0, arg0, sp8); + for (i--; i >= 0; i--) { + var_r28 = BoardSpaceGet(0, sp8[i]); + if (var_r28->flag & 2) { + lbl_1_bss_B0 = sp8[i]; + break; + } + } + } + if (lbl_1_bss_B0 == -1) { + OSReport("\x92\x85\x92\x6E\x92\x6E\x93_\x82\xAA\x96\xB3\x82\xA2\n"); + while (TRUE) { + HuPrcVSleep(); + } + } + var_r27 = 0; + for (i = 0; i < 4; i++) { + BoardPlayerPosGet(i, &sp40[i]); + BoardPlayerRotGet(i, &sp10[i]); + sp8[i] = GWPlayer[i].space_curr; + if (lbl_1_bss_B0 == sp8[i]) { + var_r27 += 1; + } + } + for (i = 0; i < 4; i++) { + var_r30 = fn_1_2FBC(i); + if (var_r30->unk08 != -1 && var_r30->unk08 != GWSystem.player_curr) { + BoardSpaceCornerPosGet(lbl_1_bss_B0, var_r27++, &arg1[var_r30->unk08]); + } + } + for (i = 0; i < 4; i++) { + BoardPlayerPosSetV(i, &sp40[i]); + BoardPlayerRotSetV(i, &sp10[i]); + GWPlayer[i].space_curr = sp8[i]; + } + BoardSpacePosGet(0, lbl_1_bss_B0, &arg1[GWSystem.player_curr]); +} + +static void fn_1_55A0(void) { + lbl_1_bss_48 = NULL; +} + +void fn_1_55B4(void) { + s32 sp8; + + sp8 = GWSystem.player_curr; + lbl_1_bss_48 = HuPrcChildCreate(fn_1_20EC, 0x2004, 0x2000, 0, boardMainProc); + HuPrcDestructorSet2(lbl_1_bss_48, fn_1_55A0); + while (lbl_1_bss_48) { + HuPrcVSleep(); + } +} + +static void fn_1_5648(void) { + ParticleData *var_r30; + s32 i; + + lbl_1_bss_4C = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_W04, 6)); + for (i = 0; i < 4; i++) { + lbl_1_bss_C4[i] = omAddObjEx(boardObjMan, 0x101, 1, 0, -1, fn_1_59C4); + lbl_1_bss_C4[i]->model[0] = Hu3DParticleCreate(lbl_1_bss_4C, 100); + Hu3DParticleColSet(lbl_1_bss_C4[i]->model[0], 0x40, 0xD2, 0xFF); + Hu3DParticleScaleSet(lbl_1_bss_C4[i]->model[0], 5.0f); + Hu3DParticleHookSet(lbl_1_bss_C4[i]->model[0], fn_1_5A2C); + Hu3DParticleBlendModeSet(lbl_1_bss_C4[i]->model[0], 1); + Hu3DModelAttrSet(lbl_1_bss_C4[i]->model[0], 1); + var_r30 = Hu3DData[lbl_1_bss_C4[i]->model[0]].unk_120; + var_r30->unk_1C = lbl_1_bss_C4[i]; + } +} + +static void fn_1_5828(void) { + s32 i; + + for (i = 0; i < 4; i++) { + Hu3DModelKill(lbl_1_bss_C4[i]->model[0]); + omDelObjEx(boardObjMan, lbl_1_bss_C4[i]); + } +} + +static s16 fn_1_58A4(Vec *arg0) { + s16 i; + + for (i = 0; i < 4; i++) { + if (lbl_1_bss_C4[i]->work[0] == 0) { + lbl_1_bss_C4[i]->work[0] = 1; + lbl_1_bss_C4[i]->trans.x = arg0->x; + lbl_1_bss_C4[i]->trans.y = arg0->y; + lbl_1_bss_C4[i]->trans.z = arg0->z; + return i; + } + } + return -1; +} + +static void fn_1_5980(s16 arg0) { + lbl_1_bss_C4[arg0]->work[1] = 1; + lbl_1_bss_C4[arg0]->work[2] = 0; +} + +static void fn_1_59C4(omObjData *arg0) { + if (arg0->work[0] != 0) { + Hu3DModelAttrReset(arg0->model[0], 1); + } + if (arg0->work[2] != 0) { + arg0->work[0] = 0; + Hu3DModelAttrSet(arg0->model[0], 1); + } +} + +static void fn_1_5A2C(ModelData *model, ParticleData *particle, Mtx matrix) { + s32 var_r26; + s32 i; + s32 j; + HsfanimStruct01 *var_r31; + UnkParticleDataStruct *temp_r27; + + temp_r27 = particle->unk_1C; + if (particle->unk_34 == 0) { + var_r31 = particle->unk_48; + for (i = 0; i < particle->unk_30; i++, var_r31++) { + var_r31->unk08.z = 0.0f; + var_r31->unk2C = 0.0f; + } + } + if (temp_r27->unk50 == 0) { + for (i = 0; i < 3; i++) { + var_r31 = particle->unk_48; + for (j = 0; j < particle->unk_30; j++, var_r31++) { + if (var_r31->unk08.z == 0.0f) { + break; + } + } + if (j != particle->unk_30) { + var_r31->unk08.x = 0.003921569f * frand8() * 360.0f; + var_r31->unk08.y = 1.0f + 0.003921569f * frand8() * 1.5f; + var_r31->unk08.z = 240.0f; + var_r31->unk40.r = 0x40; + var_r31->unk40.g = 0xD2; + var_r31->unk40.b = 0xFF; + var_r31->unk20 = 2.0f + 0.003921569f * frand8() * 8.0f; + var_r31->unk24 = 2.0f + 0.003921569f * frand8() * 6.0f; + var_r31->unk28 = 1.0f + 0.003921569f * frand8() * 3.0f; + var_r31->unk34.x = -100.0f + 0.003921569f * frand8() * 200.0f; + var_r31->unk34.y = 0.003921569f * frand8() * 10.0f; + var_r31->unk34.z = -100.0f + 0.003921569f * frand8() * 200.0f; + var_r31->unk2C = 7.0f + 0.003921569f * frand8() * 3.0f; + } + } + } + var_r31 = particle->unk_48; + var_r26 = 0; + for (i = 0; i < particle->unk_30; i++, var_r31++) { + if (var_r31->unk08.z != 0.0f) { + var_r31->unk34.x += var_r31->unk28 * sind(var_r31->unk08.x); + var_r31->unk34.y += var_r31->unk08.y; + var_r31->unk34.z += var_r31->unk28 * cosd(var_r31->unk08.x); + var_r31->unk08.x += var_r31->unk24 * sind(var_r31->unk08.x); + if (var_r31->unk08.x >= 360.0f) { + var_r31->unk08.x -= 360.0f; + } + var_r31->unk40.a = var_r31->unk08.z; + var_r31->unk08.z -= var_r31->unk20; + if (var_r31->unk08.z <= 0.0f) { + var_r31->unk08.z = 0.0f; + } + } else { + var_r26++; + } + } + if (var_r26 == particle->unk_30) { + temp_r27->unk54 = 1; + } +} diff --git a/src/REL/w07Dll/bridge.c b/src/REL/w07Dll/bridge.c new file mode 100644 index 00000000..8198e5e7 --- /dev/null +++ b/src/REL/w07Dll/bridge.c @@ -0,0 +1,314 @@ +#include "REL/w04Dll.h" +#include "game/audio.h" +#include "game/data.h" +#include "game/gamework_data.h" +#include "game/memory.h" +#include "game/objsub.h" +#include "game/process.h" +#include "game/window.h" +#include "game/board/main.h" +#include "game/board/model.h" +#include "game/board/player.h" +#include "game/board/space.h" +#include "game/board/window.h" + +#include "dolphin.h" +#include "ext_math.h" + +static void fn_1_17B4(s16 arg0, s16 arg1); +static void fn_1_191C(void); +static void fn_1_1B98(s16 arg0); +static void fn_1_1C2C(void); +static void fn_1_1E60(void); +static void fn_1_2008(void); +static void fn_1_2044(void); + +static Process *lbl_1_bss_3C[3]; +static Process *lbl_1_bss_38; + +static s32 lbl_1_data_298[] = { + DATA_MAKE_NUM(DATADIR_W04, 32), + -1 +}; + +void fn_1_12FC(void) { + Vec sp14; + Vec sp8; + s16 *temp_r3; + s32 var_r29; + s32 i; + + sp8.x = sp8.y = sp8.z = 1.5f; + for (i = 0; i < 3; i++) { + lbl_1_bss_3C[i] = HuPrcChildCreate(fn_1_1E60, 0x2003, 0x1000, 0, boardMainProc); + HuPrcDestructorSet2(lbl_1_bss_3C[i], fn_1_2008); + temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 5 * sizeof(s16), MEMORY_DEFAULT_NUM); + lbl_1_bss_3C[i]->user_data = temp_r3; + temp_r3[0] = i; + temp_r3[1] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 31), lbl_1_data_298, 1); + BoardModelScaleSetV(temp_r3[1], &sp8); + temp_r3[2] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 33), NULL, 1); + BoardModelAttrSet(temp_r3[2], 0x40000001); + BoardModelHookSet(temp_r3[1], "itemhook_R", temp_r3[2]); + BoardModelMotionStart(temp_r3[1], 1, 0x40000001); + var_r29 = (0x8000 >> i); + var_r29 |= 0x1000; + temp_r3[3] = BoardSpaceFlagSearch(0, var_r29); + var_r29 = (0x8000 >> i); + var_r29 |= 0x800; + temp_r3[4] = BoardSpaceFlagSearch(0, var_r29); + BoardSpacePosGet(0, temp_r3[3], &sp14); + BoardModelPosSetV(temp_r3[1], &sp14); + } + sp8.x = sp8.y = sp8.z = 2.0f; + BoardModelScaleSetV(lbl_1_bss_14[11], &sp8); + fn_1_1C2C(); + if (lbl_1_bss_0->unk00 & 1) { + BoardModelMotionStartEndSet(lbl_1_bss_14[5], 0, 180); + BoardModelMotionTimeSet(lbl_1_bss_14[5], 108.0f); + fn_1_17B4(0, 1); + BoardModelAttrSet(lbl_1_bss_14[5], 0x40000002); + return; + } + BoardModelAttrReset(lbl_1_bss_14[5], 0x40000002); + BoardModelMotionStartEndSet(lbl_1_bss_14[5], 0, 60); + BoardModelMotionTimeSet(lbl_1_bss_14[5], 0.0f); + fn_1_17B4(1, 1); +} + +void fn_1_15C8(void) { + s32 i; + + for (i = 0; i < 3; i++) { + HuPrcKill(lbl_1_bss_3C[i]); + } +} + +static s32 lbl_1_data_2AC[8] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 28), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 28), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 28), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 28), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 28), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 28), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 28), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 28) +}; + +void fn_1_1618(void) { + s32 temp_r31; + s16 temp_r30; + + temp_r31 = GWSystem.player_curr; + temp_r30 = BoardPlayerMotionCreate(temp_r31, lbl_1_data_2AC[GWPlayer[temp_r31].character]); + BoardRollDispSet(0); + BoardPlayerMotBlendSet(temp_r31, 180, 15); + BoardCameraViewSet(2); + while (!BoardPlayerMotBlendCheck(temp_r31)) { + HuPrcVSleep(); + } + BoardCameraMotionWait(); + lbl_1_bss_0->unk00 ^= 1; + fn_1_191C(); + fn_1_1C2C(); + HuAudPlayerVoicePlay(temp_r31, 0x128); + BoardPlayerMotionStart(temp_r31, temp_r30, 0); + while (!BoardPlayerMotionEndCheck(temp_r31)) { + HuPrcVSleep(); + } + HuPrcSleep(30); + if (!(lbl_1_bss_0->unk00 & 1)) { + BoardWinCreate(2, MAKE_MESSID(32, 24), 11); + BoardWinWait(); + BoardWinKill(); + } + BoardPlayerMotionShiftSet(temp_r31, 1, 0.0f, 10.0f, 0x40000001); + BoardCameraViewSet(1); + BoardCameraMotionWait(); + BoardRollDispSet(1); + BoardPlayerMotionKill(temp_r31, temp_r30); + HuPrcKill(NULL); + while (TRUE) { + HuPrcVSleep(); + } +} + +static void fn_1_17B4(s16 arg0, s16 arg1) { + float var_f30; + float var_f31; + s32 i; + + if (arg0 != 0) { + var_f31 = 0.0f; + var_f30 = 255.0f / arg1; + } else { + var_f31 = 255.0f; + var_f30 = -255.0f / arg1; + } + for (i = 0; i < arg1; i++) { + BoardModelAlphaSet(lbl_1_bss_14[11], var_f31); + var_f31 += var_f30; + HuPrcVSleep(); + } + if (arg0 != 0) { + BoardModelAlphaSet(lbl_1_bss_14[11], 0xFF); + } else { + BoardModelAlphaSet(lbl_1_bss_14[11], 0); + } +} + +static void fn_1_191C(void) { + float var_f31; + float temp_f29; + float var_f30; + float temp_f28; + s32 var_r31; + s32 var_r30; + + HuAudFXPlay(0x4B); + if (lbl_1_bss_0->unk00 & 1) { + BoardWinCreate(2, MAKE_MESSID(32, 23), 11); + BoardWinWait(); + BoardWinKill(); + omVibrate(GWSystem.player_curr, 12, 6, 6); + HuAudFXPlay(0x45E); + BoardModelMotionStartEndSet(lbl_1_bss_14[5], 0, 180); + BoardModelMotionTimeSet(lbl_1_bss_14[5], 59.0f); + var_f31 = 255.0f; + temp_f29 = -5.1f; + for (var_r31 = 0; var_r31 < 50; var_r31++) { + BoardModelAlphaSet(lbl_1_bss_14[11], var_f31); + var_f31 += temp_f29; + HuPrcVSleep(); + } + BoardModelAlphaSet(lbl_1_bss_14[11], 0); + BoardModelAttrSet(lbl_1_bss_14[5], 0x40000002); + } else { + omVibrate(GWSystem.player_curr, 12, 6, 6); + HuAudFXPlay(0x45D); + BoardModelAttrReset(lbl_1_bss_14[5], 0x40000002); + BoardModelMotionStartEndSet(lbl_1_bss_14[5], 0, 180); + BoardModelMotionTimeSet(lbl_1_bss_14[5], 110.0f); + var_f30 = 0.0f; + temp_f28 = 3.642857f; + for (var_r30 = 0; var_r30 < 70; var_r30++) { + BoardModelAlphaSet(lbl_1_bss_14[11], var_f30); + var_f30 += temp_f28; + HuPrcVSleep(); + } + BoardModelAlphaSet(lbl_1_bss_14[11], 0xFF); + BoardModelMotionStartEndSet(lbl_1_bss_14[5], 0, 60); + } +} + +static void fn_1_1B98(s16 arg0) { + BoardSpace *temp_r3; + s32 i; + + for (i = 0; i < BoardSpaceCountGet(0); i++) { + temp_r3 = BoardSpaceGet(0, i + 1); + if (temp_r3->flag & 0x20) { + if (arg0 != 0) { + temp_r3->flag |= 0x04000000; + } else { + temp_r3->flag &= ~0x04000000; + } + } + } +} + +static void fn_1_1C2C(void) { + s16 *var_r28; + s32 i; + + if (lbl_1_bss_0->unk00 == 0) { + BoardModelMotionStartEndSet(lbl_1_bss_14[3], 0, 80); + BoardModelMotionTimeSet(lbl_1_bss_14[3], 0.0f); + BoardModelVisibilitySet(lbl_1_bss_14[0], 1); + BoardModelVisibilitySet(lbl_1_bss_14[1], 1); + BoardModelVisibilitySet(lbl_1_bss_14[2], 1); + fn_1_1B98(0); + for (i = 0; i < 3; i++) { + var_r28 = lbl_1_bss_3C[i]->user_data; + BoardModelMotionStartEndSet(var_r28[2], 0, 20); + } + } else { + BoardModelMotionStartEndSet(lbl_1_bss_14[3], 100, 100); + BoardModelMotionTimeSet(lbl_1_bss_14[3], 100.0f); + BoardModelVisibilitySet(lbl_1_bss_14[0], 0); + BoardModelVisibilitySet(lbl_1_bss_14[1], 0); + BoardModelVisibilitySet(lbl_1_bss_14[2], 0); + fn_1_1B98(1); + for (i = 0; i < 3; i++) { + var_r28 = lbl_1_bss_3C[i]->user_data; + BoardModelMotionStartEndSet(var_r28[2], 25, 25); + } + } +} + +static void fn_1_1E60(void) { + Vec sp20; + Vec sp14; + Vec sp8; + float temp_f31; + s16 *temp_r31; + s16 var_r29; + s16 var_r28; + s16 i; + + temp_r31 = HuPrcCurrentGet()->user_data; + var_r29 = temp_r31[3]; + var_r28 = temp_r31[4]; + while (TRUE) { + BoardSpacePosGet(0, var_r29, &sp14); + BoardSpacePosGet(0, var_r28, &sp8); + PSVECSubtract(&sp8, &sp14, &sp20); + PSVECScale(&sp20, &sp20, 0.008333334f); + temp_f31 = atan2d(sp8.x - sp14.x, sp8.z - sp14.z); + BoardModelPosGet(temp_r31[1], &sp14); + while (fn_1_1130(temp_r31[1], temp_f31, 2.5f) == 0) { + if (lbl_1_bss_0->unk00 == 0) { + BoardModelAlphaSet(temp_r31[1], 0xFF); + } else { + BoardModelAlphaSet(temp_r31[1], 0); + } + HuPrcVSleep(); + } + for (i = 0; i < 120; i++) { + if (lbl_1_bss_0->unk00 == 0) { + BoardModelAlphaSet(temp_r31[1], 0xFF); + } else { + BoardModelAlphaSet(temp_r31[1], 0); + } + PSVECAdd(&sp14, &sp20, &sp14); + BoardModelPosSetV(temp_r31[1], &sp14); + HuPrcVSleep(); + } + i = var_r29; + var_r29 = var_r28; + var_r28 = i; + } +} + +static void fn_1_2008(void) { + s16 *temp_r31; + + temp_r31 = HuPrcCurrentGet()->user_data; + BoardModelKill(temp_r31[1]); + HuMemDirectFree(temp_r31); +} + +static void fn_1_2044(void) { + lbl_1_bss_38 = NULL; +} + +void fn_1_2058(void) { + s32 sp8; + + sp8 = GWSystem.player_curr; + lbl_1_bss_38 = HuPrcChildCreate(fn_1_1618, 0x2003, 0x2000, 0, boardMainProc); + HuPrcDestructorSet2(lbl_1_bss_38, fn_1_2044); + while (lbl_1_bss_38) { + HuPrcVSleep(); + } +} diff --git a/src/REL/w07Dll/main.c b/src/REL/w07Dll/main.c new file mode 100644 index 00000000..ec194dc7 --- /dev/null +++ b/src/REL/w07Dll/main.c @@ -0,0 +1,446 @@ +#include "REL/w04Dll.h" +#include "REL/board_executor.h" +#include "game/chrman.h" +#include "game/data.h" +#include "game/gamework_data.h" +#include "game/object.h" +#include "game/process.h" +#include "game/window.h" +#include "game/board/boo_house.h" +#include "game/board/com.h" +#include "game/board/lottery.h" +#include "game/board/main.h" +#include "game/board/model.h" +#include "game/board/player.h" +#include "game/board/shop.h" +#include "game/board/space.h" +#include "game/board/star.h" +#include "game/board/window.h" + +#include "dolphin.h" +#include "math.h" + +static void fn_1_750(void); +static void fn_1_794(void); +static s32 fn_1_798(void); +static s32 fn_1_7FC(void); +static void fn_1_930(void); +static void fn_1_954(void); +static void fn_1_958(void); +static void fn_1_CF8(void); +static void fn_1_D30(void); +static void fn_1_DB0(void); +static s32 fn_1_103C(void); + +s16 lbl_1_bss_14[MAPOBJ_MAX]; + +BoardMapObject lbl_1_data_0[MAPOBJ_MAX] = { + { { 750.0f, 0.0f, 1500.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 5) }, + { { -1500.0f, 0.0f, 150.0f }, { 0.0f, 89.999985f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 5) }, + { { 1200.0f, 0.0f, -1650.0f }, { 0.0f, -89.999985f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 5) }, + { { -1950.0f, 0.0f, -2100.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 4) }, + { { 2100.0f, 0.0f, -2100.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 18) }, + { { -150.0f, 0.0f, -150.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 23) }, + { { 3000.0f, 0.0f, -600.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 12) }, + { { -1500.0f, 0.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 15) }, + { { -1950.0f, 0.0f, -2000.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 34) }, + { { -1350.0f, 50.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 34) }, + { { 2750.0f, 0.0f, -600.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 34) }, + { { -150.0f, 0.0f, -100.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 29) }, + { { 2850.0f, 0.0f, -1500.0f }, { 0.0f, -89.999985f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 17) }, + { { -3150.0f, 0.0f, 300.0f }, { 0.0f, 89.999985f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 17) }, + { { 2850.0f, 0.0f, 0.000003f }, { 0.0f, -89.999985f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 17) }, + { { 900.0f, 0.0f, 2250.0f }, { 0.0f, 180.00001f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 17) } +}; + +static s32 *lbl_1_bss_10; +static s16 lbl_1_bss_8[4]; +static Process *lbl_1_bss_4; +UnkW04BoardData *lbl_1_bss_0; + +static s16 lbl_1_data_280 = -1; +static s16 lbl_1_data_282 = -1; +static s16 lbl_1_data_284 = -1; +static s16 lbl_1_data_286 = -1; + +static s32 lbl_1_data_288[] = { + DATA_MAKE_NUM(DATADIR_W04, 8), + -1 +}; + +static s32 lbl_1_data_290[] = { + DATA_MAKE_NUM(DATADIR_BGUEST, 24), + -1 +}; + +void BoardCreate(void) { + BoardMapObject *temp_r30; + s32 sp8; + s32 i; + + omDBGMenuButton = 1; + sp8 = GWBoardGet(); + lbl_1_bss_0 = (UnkW04BoardData*) GWSystem.board_data; + BoardSpaceInit(DATA_MAKE_NUM(DATADIR_W04, 0)); + lbl_1_data_280 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 1), NULL, 0); + fn_8006DDE8(lbl_1_data_280, -1.0f); + BoardModelPosSet(lbl_1_data_280, 0.0f, 0.0f, 0.0f); + BoardModelMotionStart(lbl_1_data_280, 0, 0x40000001); + BoardModelMotionSpeedSet(lbl_1_data_280, 1.0f); + lbl_1_data_282 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 2), NULL, 0); + fn_8006DDE8(lbl_1_data_282, -1.0f); + BoardModelPosSet(lbl_1_data_282, 0.0f, 0.0f, 0.0f); + BoardModelMotionStart(lbl_1_data_282, 0, 0x40000001); + lbl_1_data_284 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 7), lbl_1_data_288, 0); + BoardModelPosSet(lbl_1_data_284, 0.0f, 0.0f, 0.0f); + BoardModelMotionStart(lbl_1_data_284, 1, 0x40000001); + lbl_1_data_286 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BGUEST, 18), lbl_1_data_290, 0); + BoardModelMotionStart(lbl_1_data_286, 1, 0x40000001); + BoardLightHookSet(fn_1_750, fn_1_794); + for (i = 0; i < 16; i++) { + temp_r30 = &lbl_1_data_0[i]; + if (temp_r30->data_num != -1) { + if (i == 8 || i == 9 || i == 10 || i == 11) { + lbl_1_bss_10 = lbl_1_data_290; + } else { + lbl_1_bss_10 = NULL; + } + lbl_1_bss_14[i] = BoardModelCreate(temp_r30->data_num, lbl_1_bss_10, 0); + BoardModelPosSetV(lbl_1_bss_14[i], &temp_r30->pos); + BoardModelRotSetV(lbl_1_bss_14[i], &temp_r30->rot); + BoardModelScaleSetV(lbl_1_bss_14[i], &temp_r30->scale); + BoardModelVisibilitySet(lbl_1_bss_14[i], 1); + if (lbl_1_bss_10 != NULL) { + BoardModelMotionStart(lbl_1_bss_14[i], 1, 0x40000001); + } + } + } + BoardModelAlphaSet(lbl_1_bss_14[8], 0); + BoardModelVisibilitySet(lbl_1_bss_14[8], 0); + BoardModelMotionStartEndSet(lbl_1_bss_14[5], 0, 60); + BoardModelAttrSet(lbl_1_bss_14[5], 0x40000001); + BoardModelAttrSet(lbl_1_bss_14[4], 0x40000001); + fn_1_930(); + fn_1_12FC(); + fn_1_6024(); + BoardModelAttrSet(lbl_1_bss_14[0], 0x40000001); + BoardModelAttrSet(lbl_1_bss_14[1], 0x40000001); + BoardModelAttrSet(lbl_1_bss_14[2], 0x40000001); + BoardModelAttrSet(lbl_1_bss_14[3], 0x40000001); + BoardSpaceWalkEventFuncSet(fn_1_7FC); + BoardSpaceWalkMiniEventFuncSet(fn_1_103C); + BoardSpaceLandEventFuncSet(fn_1_798); + BoardStarHostSet(lbl_1_data_284); + BoardBooHouseHostSet(lbl_1_data_286); + BoardShopHostSet(lbl_1_data_286); + BoardLotteryHostSet(lbl_1_data_286); + BoardJunctionMaskSet(0x100); + BoardJunctionMaskSet(0x40); +} + +void BoardDestroy(void) { + s32 i; + + fn_1_15C8(); + for (i = 0; i < MAPOBJ_MAX; i++) { + if (lbl_1_bss_14[i] != 0) { + BoardModelKill(lbl_1_bss_14[i]); + lbl_1_bss_14[i] = 0; + } + } + if (lbl_1_data_286 != -1) { + BoardModelKill(lbl_1_data_286); + lbl_1_data_286 = -1; + } + if (lbl_1_data_284 != -1) { + BoardModelKill(lbl_1_data_284); + lbl_1_data_284 = -1; + } + if (lbl_1_data_280 != -1) { + BoardModelKill(lbl_1_data_280); + lbl_1_data_280 = -1; + } + if (lbl_1_data_282 != -1) { + BoardModelKill(lbl_1_data_282); + lbl_1_data_282 = -1; + } + BoardSpaceDestroy(); +} + +static void fn_1_750(void) { + s16 var_r31; + + var_r31 = BoardModelIDGet(lbl_1_data_280); + Hu3DModelLightInfoSet(var_r31, 1); +} + +static void fn_1_794(void) { +} + +static s32 fn_1_798(void) { + s32 var_r31; + s32 var_r30; + s32 sp8; + + var_r31 = GWSystem.player_curr; + var_r30 = GWPlayer[var_r31].space_curr; + sp8 = BoardSpaceFlagGet(0, var_r30); + fn_1_9EBC(); +} + +static s32 fn_1_7FC(void) { + s32 temp_r31; + BoardSpace *temp_r3; + + temp_r31 = GWSystem.player_curr; + if (BoardPlayerSizeGet(temp_r31) == 2) { + return 0; + } + if (GWPlayer[temp_r31].bowser_suit) { + return 0; + } + temp_r3 = BoardSpaceGet(0, GWPlayer[temp_r31].space_curr); + if (temp_r3->flag & 0x80) { + fn_1_2058(); + return 1; + } + if (temp_r3->flag & 0x100) { + if (lbl_1_bss_0->unk00 & 1) { + fn_1_55B4(); + } else { + BoardRollDispSet(0); + BoardPlayerIdleSet(temp_r31); + BoardWinCreate(0, MAKE_MESSID(32, 25), -1); + BoardWinWait(); + BoardWinKill(); + BoardRollDispSet(1); + } + return 1; + } + return 0; +} + +static void fn_1_930(void) { + fn_1_A0F8(); + fn_1_C7A0(); +} + +static void fn_1_954(void) { +} + +static void fn_1_958(void) { + Vec sp8; + u32 temp_r3; + s32 temp_r27; + s32 temp_r31; + s32 var_r26; + s32 var_r30; + s32 var_r29; + + temp_r31 = GWSystem.player_curr; + if (BoardPlayerItemCount(temp_r31) == 3) { + BoardWinCreate(2, MAKE_MESSID(32, 12), 3); + BoardWinWait(); + BoardWinKill(); + HuPrcEnd(); + } + lbl_1_bss_8[0] = 0; + var_r30 = 1; + while (var_r30 < 3) { + lbl_1_bss_8[var_r30] = frandmod(14); + if (lbl_1_bss_8[var_r30] != 10 && lbl_1_bss_8[var_r30] != 13) { + for (var_r29 = 0; var_r29 < var_r30; var_r29++) { + if (lbl_1_bss_8[var_r30] == lbl_1_bss_8[var_r29]) { + lbl_1_bss_8[var_r30] = -1; + } + } + if (lbl_1_bss_8[var_r30] != -1) { + var_r30++; + } + } + } + fn_1_BB00(lbl_1_bss_8); + BoardWinCreateChoice(2, MAKE_MESSID(32, 13), 3, 0); + if (GWPlayer[temp_r31].com) { + if (BoardComPreferItemCheck(temp_r31, lbl_1_bss_8[0], lbl_1_bss_8[1], lbl_1_bss_8[2]) != -1) { + BoardComKeySetLeft(); + } else { + BoardComKeySetRight(); + } + } + BoardWinWait(); + BoardWinKill(); + temp_r3 = BoardWinChoiceGet(); + if (temp_r3 == 1 || temp_r3 == -1) { + BoardWinCreate(2, MAKE_MESSID(32, 14), 3); + BoardWinWait(); + BoardWinKill(); + BoardMGExit(); + fn_1_C2BC(); + while (BoardMGDoneFlagGet() != 1) { + HuPrcVSleep(); + } + BoardMGDoneFlagSet(0); + fn_1_BA7C(); + HuPrcEnd(); + } + temp_r27 = GWPlayer[temp_r31].space_curr; + var_r26 = BoardSpaceLinkFlagSearch(0, temp_r27, 0x02000000); + BoardPlayerMoveBetween(temp_r31, temp_r27, var_r26); + while (GWPlayer[temp_r31].moving) { + HuPrcVSleep(); + } + BoardPlayerMotionStart(temp_r31, 1, 0x40000001); + BoardPlayerPosGet(temp_r31, &sp8); + sp8.y += 5.0f; + BoardPlayerPosSetV(temp_r31, &sp8); + BoardCameraViewSet(2); + BoardPlayerMotBlendSet(temp_r31, 180, 15); + while (!BoardPlayerMotBlendCheck(temp_r31)) { + HuPrcVSleep(); + } + BoardCameraMotionWait(); + fn_1_A1F0(); + while (BoardEventFlagGet() != 0) { + HuPrcVSleep(); + } + while (GWPlayer[temp_r31].moving) { + HuPrcVSleep(); + } + BoardPlayerMotionStart(temp_r31, 1, 0x40000001); + HuPrcEnd(); +} + +static void fn_1_CF8(void) { + BoardWinKill(); + CharModelDataClose(-1); + lbl_1_bss_4 = NULL; +} + +static void fn_1_D30(void) { + lbl_1_bss_4 = HuPrcChildCreate(fn_1_958, 0x2003, 0x2000, 0, boardMainProc); + HuPrcDestructorSet2(lbl_1_bss_4, fn_1_CF8); + while (lbl_1_bss_4) { + HuPrcVSleep(); + } +} + +static void fn_1_DB0(void) { + Vec sp20; + Vec sp14; + Vec sp8; + s32 temp_r31; + s32 temp_r3; + s32 temp_r29; + s32 temp_r3_2; + + temp_r31 = GWSystem.player_curr; + BoardWinCreateChoice(2, MAKE_MESSID(32, 17), 3, 0); + if (GWPlayer[temp_r31].com) { + if (frand() & 1) { + BoardComKeySetLeft(); + } else { + BoardComKeySetRight(); + } + } + BoardWinWait(); + BoardWinKill(); + temp_r3 = BoardWinChoiceGet(); + if (temp_r3 == 1 || temp_r3 == -1) { + BoardWinCreate(2, MAKE_MESSID(32, 18), 3); + BoardWinWait(); + BoardWinKill(); + BoardMGExit(); + while (BoardMGDoneFlagGet() != 1) { + HuPrcVSleep(); + } + BoardMGDoneFlagSet(0); + return; + } + sp20.x = -45.0f; + sp20.y = sp20.z = 0.0f; + sp14.y = 50.0f; + sp14.x = sp14.z = 0.0f; + BoardCameraMotionStartEx(lbl_1_bss_14[7], &sp20, &sp14, 1200.0f, 25.0f, 21); + temp_r29 = GWPlayer[temp_r31].space_curr; + temp_r3_2 = BoardSpaceLinkFlagSearch(0, temp_r29, 0x02000000); + BoardSpacePosGet(0, temp_r3_2, &sp8); + BoardPlayerMoveBetween(temp_r31, temp_r29, temp_r3_2); + while (GWPlayer[temp_r31].moving) { + HuPrcVSleep(); + } + BoardPlayerMotionStart(temp_r31, 1, 0x40000001); + fn_1_C7D4(); + while (GWPlayer[temp_r31].moving) { + HuPrcVSleep(); + } + while (BoardEventFlagGet() != 0) { + HuPrcVSleep(); + } + while (GWPlayer[temp_r31].moving) { + HuPrcVSleep(); + } + BoardPlayerMotionStart(temp_r31, 1, 0x40000001); +} + +static s32 fn_1_103C(void) { + s16 var_r30; + u32 temp_r31; + + var_r30 = GWPlayer[GWSystem.player_curr].space_curr; + temp_r31 = BoardSpaceFlagGet(0, var_r30) & 0x600000; + BoardRollDispSet(0); + if (temp_r31 & 0x200000) { + lbl_1_bss_4 = HuPrcChildCreate(fn_1_958, 0x2003, 0x2000, 0, boardMainProc); + HuPrcDestructorSet2(lbl_1_bss_4, fn_1_CF8); + while (lbl_1_bss_4) { + HuPrcVSleep(); + } + } else if (temp_r31 & 0x400000) { + fn_1_DB0(); + } + BoardRollDispSet(1); +} + +s32 fn_1_1130(s16 arg0, float arg1, float arg2) { + float var_f29; + float var_f31; + s32 var_r31; + + var_r31 = 0; + var_f31 = BoardModelRotYGet(arg0); + arg1 = fmod(arg1, 360.0); + if (var_f31 < 0.0f) { + var_f31 += 360.0f; + } + if (arg1 < 0.0f) { + arg1 += 360.0f; + } + if (var_f31 != arg1) { + var_f29 = arg1 - var_f31; + if (var_f29 < 0.0f) { + var_f29 += 360.0f; + } + if (var_f29 < 180.0f) { + if (var_f29 > arg2) { + var_f31 += arg2; + } else { + var_f31 = arg1; + } + } else if (360.0f - var_f29 > arg2) { + var_f31 -= arg2; + } else { + var_f31 = arg1; + } + if (var_f31 < 0.0f) { + var_f31 += 360.0f; + } + if (var_f31 >= 360.0f) { + var_f31 -= 360.0f; + } + BoardModelRotYSet(arg0, var_f31); + } else { + var_r31 = 1; + } + return var_r31; +} diff --git a/src/REL/w07Dll/mg_coin.c b/src/REL/w07Dll/mg_coin.c new file mode 100644 index 00000000..4be845b4 --- /dev/null +++ b/src/REL/w07Dll/mg_coin.c @@ -0,0 +1,663 @@ +#include "REL/w04Dll.h" +#include "game/audio.h" +#include "game/chrman.h" +#include "game/data.h" +#include "game/frand.h" +#include "game/gamework_data.h" +#include "game/hsfdraw.h" +#include "game/hsfmotion.h" +#include "game/minigame_seq.h" +#include "game/msm.h" +#include "game/object.h" +#include "game/objsub.h" +#include "game/pad.h" +#include "game/process.h" +#include "game/window.h" +#include "game/board/audio.h" +#include "game/board/main.h" +#include "game/board/model.h" +#include "game/board/player.h" +#include "game/board/window.h" + +static void fn_1_CF8C(omObjData *arg0); +static void fn_1_D0AC(void); +static void fn_1_D0DC(void); +static void fn_1_D174(omObjData *arg0); +static void fn_1_D230(omObjData *arg0); +static void fn_1_D2A4(omObjData *arg0); +static void fn_1_D554(omObjData *arg0); +static void fn_1_D6A8(omObjData *arg0); +static void fn_1_D70C(omObjData *arg0); +static void fn_1_D770(void); +static void fn_1_E004(void); +static void fn_1_E144(omObjData *arg0); +static void fn_1_E18C(omObjData *arg0); +static void fn_1_E374(omObjData *arg0); +static void fn_1_E4C0(omObjData *arg0); +static void fn_1_E6AC(omObjData *arg0); +static s16 fn_1_E880(omObjData *arg0); + +static u16 lbl_1_bss_326; +static s16 lbl_1_bss_324; +static omObjData *lbl_1_bss_320; +static omObjData *lbl_1_bss_31C; +static omObjData *lbl_1_bss_318; +static s16 lbl_1_bss_314; +static Vec lbl_1_bss_308; +static Vec lbl_1_bss_2FC; +static s16 lbl_1_bss_2FA; +static s16 lbl_1_bss_2F8; +static s16 lbl_1_bss_2D0[20]; +static u16 lbl_1_bss_2C2[7]; +static u16 lbl_1_bss_2B4[7]; +static s32 lbl_1_bss_2B0; + +static s32 lbl_1_data_588 = -1; + +static char *lbl_1_data_5BC[] = { + "pia1", "pia2", "pia3", "pia4", + "pia5", "pia6", "pia7", "pia8", + "pia9" +}; + +static u16 lbl_1_data_5E0[] = { + 0x0100, 0x0200, 0x0040, 0x0020, + 0x0800, 0x0400, 0x0010 +}; + +static s32 lbl_1_data_5F0[] = { + 0x0000046D, + 0x0000046E, + 0x0000046F, + 0x00000470, + 0x00000471, + 0x00000472, + 0x00000473, + 0x00000474 +}; + +void fn_1_C7A0(void) { + BoardModelAttrSet(lbl_1_bss_14[7], 0x40000002); +} + +void fn_1_C7D4(void) { + Vec sp38; + Vec sp2C; + Vec sp20; + Vec sp14; + Vec sp8; + float temp_f30; + float var_f31; + float var_f29; + s16 temp_r30; + s32 i; + + BoardModelLayerSet(lbl_1_bss_14[9], 1); + lbl_1_bss_324 = GWSystem.player_curr; + lbl_1_data_588 = -1; + lbl_1_bss_2FA = 0; + for (i = 0; i < 7; i++) { + lbl_1_bss_2B4[i] = 0; + } + for (i = 0; i < 7; i++) { + do { + temp_r30 = frandmod(7); + } while (lbl_1_bss_2B4[temp_r30] != 0); + lbl_1_bss_2B4[temp_r30] = i + 1; + lbl_1_bss_2C2[temp_r30] = lbl_1_data_5E0[i]; + } + for (i = 0; i < 7; i++) { + OSReport("%d: %d %04X\n", i, lbl_1_bss_2B4[i], lbl_1_bss_2C2[i]); + } + lbl_1_bss_2F8 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 16), NULL, 0); + BoardModelVisibilitySet(lbl_1_bss_2F8, 0); + BoardModelAttrSet(lbl_1_bss_2F8, 0x40000002); + for (i = 0; i < 20; i++) { + lbl_1_bss_2D0[i] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 10), NULL, 1); + BoardModelVisibilitySet(lbl_1_bss_2D0[i], 0); + } + BoardPlayerMotBlendSet(lbl_1_bss_324, 0xB4, 0xF); + while (!BoardPlayerMotBlendCheck(lbl_1_bss_324)) { + HuPrcVSleep(); + } + BoardWinCreate(2, MAKE_MESSID(32, 19), 3); + BoardWinWait(); + BoardWinKill(); + BoardPlayerPosGet(lbl_1_bss_324, &lbl_1_bss_308); + BoardModelPosGet(lbl_1_bss_14[9], &lbl_1_bss_2FC); + BoardPlayerPosGet(lbl_1_bss_324, &sp38); + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[7]), lbl_1_data_5BC[0], &sp2C); + sp20 = sp2C; + sp20.z = sp38.z; + sp20.y = sp38.y; + BoardPlayerPosLerpStart(lbl_1_bss_324, &sp38, &sp20, 0x3C); + while (fn_1_1130(lbl_1_bss_14[9], 270.0f, 30.0f) == 0) { + HuPrcVSleep(); + } + BoardModelPosGet(lbl_1_bss_14[9], &sp8); + sp14 = sp8; + sp14.x = sp2C.x; + PSVECSubtract(&sp14, &sp8, &sp38); + PSVECScale(&sp38, &sp38, 0.022727273f); + for (i = 0; i < 44; i++) { + BoardModelPosGet(lbl_1_bss_14[9], &sp8); + PSVECAdd(&sp8, &sp38, &sp8); + BoardModelPosSetV(lbl_1_bss_14[9], &sp8); + HuPrcVSleep(); + } + BoardModelPosSetV(lbl_1_bss_14[9], &sp14); + while (fn_1_1130(lbl_1_bss_14[9], 0.0f, 30.0f) == 0) { + HuPrcVSleep(); + } + while (GWPlayer[lbl_1_bss_324].moving) { + HuPrcVSleep(); + } + BoardPlayerMotBlendSet(lbl_1_bss_324, 0xB4, 0xF); + while (!BoardPlayerMotBlendCheck(lbl_1_bss_324)) { + HuPrcVSleep(); + } + BoardPlayerMotionShiftSet(lbl_1_bss_324, 4, 0.0f, 5.0f, 0); + var_f31 = 0.0f; + temp_f30 = 8.0f; + PSVECSubtract(&sp2C, &sp20, &sp38); + PSVECScale(&sp38, &sp38, 0.05f); + while (TRUE) { + BoardPlayerPosGet(lbl_1_bss_324, &sp20); + sp38.y = temp_f30 - var_f31 * var_f31 * 0.25f * 0.075f; + var_f31 += 1.0f; + PSVECAdd(&sp38, &sp20, &sp20); + sp14 = sp2C; + sp14.y = sp20.y; + PSVECSubtract(&sp14, &sp20, &sp14); + var_f29 = PSVECMag(&sp14); + if (var_f29 <= 1.0f) { + sp38.x = sp38.z = 0.0f; + sp20.x = sp2C.x; + sp20.z = sp2C.z; + } + if (sp20.y <= sp2C.y && sp38.y < 0.0f) { + sp20.y = sp2C.y; + break; + } + BoardPlayerPosSetV(lbl_1_bss_324, &sp20); + HuPrcVSleep(); + } + BoardPlayerPosSetV(lbl_1_bss_324, &sp20); + BoardPlayerMotBlendSet(lbl_1_bss_324, 0x5A, 0xF); + while (!BoardPlayerMotBlendCheck(lbl_1_bss_324)) { + HuPrcVSleep(); + } + HuPrcSleep(60); + lbl_1_bss_320 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, fn_1_CF8C); + lbl_1_bss_318 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, fn_1_D174); + lbl_1_bss_31C = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, NULL); + lbl_1_bss_318->scale.x = 255.0f; + lbl_1_bss_314 = 0; + lbl_1_bss_326 = 0; +} + +static void fn_1_CF8C(omObjData *arg0) { + s32 spC; + + if (lbl_1_data_588 != -1) { + spC = HuAudSeqMidiCtrlGet(lbl_1_data_588, 0, 1); + if (msmMusGetStatus(lbl_1_data_588) == 0) { + HuAudSeqFadeOut(lbl_1_data_588, 100); + lbl_1_bss_2FA = 1; + } + if (lbl_1_bss_2FA == 1 && msmMusGetStatus(lbl_1_data_588) == 0) { + lbl_1_data_588 = -1; + BoardAudSeqPause(0, 0, 1000); + OSReport("BGM1 Restore\n"); + } + } + if (lbl_1_bss_326 != 0 && BoardMGDoneFlagGet() == 1) { + fn_1_D0DC(); + omDelObjEx(boardObjMan, arg0); + } +} + +static void fn_1_D0AC(void) { + lbl_1_bss_326 = 1; + BoardMGExit(); +} + +static void fn_1_D0DC(void) { + s32 i; + + omDelObjEx(boardObjMan, lbl_1_bss_31C); + BoardModelKill(lbl_1_bss_2F8); + for (i = 0; i < 20; i++) { + BoardModelKill(lbl_1_bss_2D0[i]); + } + BoardModelLayerSet(lbl_1_bss_14[9], 0); + BoardMGDoneFlagSet(0); +} + +static void fn_1_D174(omObjData *arg0) { + UnkMsmStruct_03 sp8; + + if (arg0->work[0] == 0) { + arg0->work[0] = MGSeqCreate(3, 0); + BoardAudSeqPause(0, 1, 1000); + return; + } + if (MGSeqStatGet(arg0->work[0]) == 0) { + sp8.unk00 = 1; + sp8.unk06 = 0; + sp8.unk05 = 0x7F; + sp8.unk04 = 1; + lbl_1_data_588 = msmMusPlay(0x1D, &sp8); + arg0->func = fn_1_D230; + } +} + +static void fn_1_D230(omObjData *arg0) { + s32 temp_r3; + + temp_r3 = HuAudSeqMidiCtrlGet(lbl_1_data_588, 0, 1); + if (temp_r3 >= 10 && temp_r3 <= 19) { + arg0->work[1]++; + arg0->func = fn_1_D2A4; + } +} + +static void fn_1_D2A4(omObjData *arg0) { + Vec sp18; + Vec spC; + float sp8; + ModelData *temp_r30; + s32 temp_r3; + + temp_r30 = &Hu3DData[BoardModelIDGet(lbl_1_bss_2F8)]; + sp8 = BoardModelRotYGet(lbl_1_bss_14[9]); + BoardModelPosGet(lbl_1_bss_14[9], &spC); + if (arg0->scale.x != 0.0f) { + arg0->scale.x -= 8.5f; + if (arg0->scale.x < 0.0f) { + arg0->scale.x = 0.0f; + } + BoardModelAlphaSet(lbl_1_bss_14[9], arg0->scale.x); + return; + } + temp_r3 = HuAudSeqMidiCtrlGet(lbl_1_data_588, 0, 1); + if (temp_r3 >= 20 && temp_r3 <= 29) { + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[7]), lbl_1_data_5BC[arg0->work[1]], &sp18); + spC.x = sp18.x; + BoardModelPosSetV(lbl_1_bss_14[9], &spC); + arg0->func = fn_1_D554; + if (arg0->work[1] < 8) { + BoardModelHookReset(lbl_1_bss_14[7]); + BoardModelVisibilitySet(lbl_1_bss_2F8, 1); + BoardModelMotionTimeSet(lbl_1_bss_2F8, lbl_1_bss_2B4[arg0->work[1] - 1]); + BoardModelHookSet(lbl_1_bss_14[7], lbl_1_data_5BC[arg0->work[1]], lbl_1_bss_2F8); + Hu3DMotionExec(BoardModelIDGet(lbl_1_bss_2F8), temp_r30->unk_08, temp_r30->unk_64, 0); + } + lbl_1_bss_31C->work[0] = 60; + lbl_1_bss_31C->unk10 = frandmod(40) + 10; + lbl_1_bss_31C->work[1] = arg0->work[1]; + lbl_1_bss_31C->func = fn_1_E18C; + } +} + +static void fn_1_D554(omObjData *arg0) { + float sp8; + + sp8 = BoardModelRotYGet(lbl_1_bss_14[9]); + arg0->scale.x += 8.5f; + if (arg0->scale.x > 255.0f) { + arg0->scale.x = 255.0f; + } + BoardModelAlphaSet(lbl_1_bss_14[9], arg0->scale.x); + if (arg0->scale.x == 255.0f) { + arg0->work[0] = 0; + lbl_1_bss_31C->work[1] = arg0->work[1]; + arg0->scale.x = 255.0f; + BoardModelAlphaSet(lbl_1_bss_14[9], arg0->scale.x); + if (arg0->work[1] == 8) { + arg0->func = fn_1_D70C; + lbl_1_bss_31C->work[2] = 1; + lbl_1_bss_31C->func = fn_1_E374; + } else { + arg0->func = fn_1_D6A8; + } + } +} + +static void fn_1_D6A8(omObjData *arg0) { + if (arg0->work[0] != 0) { + BoardModelHookReset(lbl_1_bss_14[7]); + BoardModelVisibilitySet(lbl_1_bss_2F8, 0); + arg0->func = fn_1_D230; + } +} + +static void fn_1_D70C(omObjData *arg0) { + Process *var_r30; + + if (arg0->work[0] == 1) { + var_r30 = HuPrcCreate(fn_1_D770, 0x2004, 0x1800, 0); + var_r30->user_data = arg0; + arg0->func = NULL; + } +} + +s16 lbl_1_data_62C[] = { + 1, 3, 5, 7, 10, 14, 18, 20 +}; + +static void fn_1_D770(void) { + Vec sp114[20]; + Vec sp24[20]; + Vec sp18; + Vec spC; + float temp_f29; + float var_f30; + float var_f31; + char sp8[4]; + Process *temp_r3; + omObjData *var_r28; + s32 var_r29; + s32 i; + + lbl_1_bss_314 = lbl_1_data_62C[lbl_1_bss_314 - 1]; + sprintf(sp8, "%d", lbl_1_bss_314); + BoardWinCreate(2, MAKE_MESSID(32, 20), 3); + BoardWinInsertMesSet(MAKE_MESSID_PTR(sp8), 0); + BoardWinWait(); + BoardWinKill(); + BoardPlayerMotBlendSet(lbl_1_bss_324, 0, 0xF); + while (!BoardPlayerMotBlendCheck(lbl_1_bss_324)) { + HuPrcVSleep(); + } + BoardPlayerPosGet(lbl_1_bss_324, &sp18); + for (i = 0; i < lbl_1_bss_314; i++) { + BoardModelVisibilitySet(lbl_1_bss_2D0[i], 1); + sp114[i] = sp18; + sp114[i].y += 800.0f + i * 120; + sp114[i].x += -25.0f + 50.0f * frand8() * 0.003921569f; + sp114[i].z += -25.0f + 50.0f * frand8() * 0.003921569f; + sp24[i].x = sp24[i].z = 0.0f; + sp24[i].y = 360.0f * frand8() * 0.003921569f; + BoardModelPosSetV(lbl_1_bss_2D0[i], &sp114[i]); + BoardModelRotSetV(lbl_1_bss_2D0[i], &sp24[i]); + } + var_f31 = -1.0f; + var_r29 = 0; + while (TRUE) { + for (i = 0; i < lbl_1_bss_314; i++) { + if (i < var_r29) { + continue; + } + sp114[i].y += var_f31; + BoardModelPosSetV(lbl_1_bss_2D0[i], &sp114[i]); + sp24[i].y += 45.0f; + if (sp24[i].y >= 360.0f) { + sp24[i].y -= 360.0f; + } + BoardModelRotSetV(lbl_1_bss_2D0[i], &sp24[i]); + if (sp114[i].y <= sp18.y + 80.0f) { + spC = sp114[i]; + CharModelCoinEffectCreate(1, &spC); + BoardModelVisibilitySet(lbl_1_bss_2D0[i], 0); + var_r29 += 1; + BoardPlayerCoinsAdd(lbl_1_bss_324, 1); + HuAudFXPlay(7); + omVibrate(lbl_1_bss_324, 12, 6, 6); + } + } + var_f31 *= 1.05f; + if (var_f31 < -20.0f) { + var_f31 = -20.0f; + } + if (var_r29 == lbl_1_bss_314) { + BoardPlayerMotionShiftSet(lbl_1_bss_324, 7, 0.0f, 10.0f, 0); + break; + } + HuPrcVSleep(); + } + while (!BoardPlayerMotionEndCheck(lbl_1_bss_324)) { + HuPrcVSleep(); + } + BoardWinCreate(2, MAKE_MESSID(32, 21), 3); + BoardWinWait(); + BoardWinKill(); + temp_r3 = HuPrcCreate(fn_1_E004, 0x2004, 0x1000, 0); + temp_r3->user_data = NULL; + BoardPlayerMotionShiftSet(lbl_1_bss_324, 4, 0.0f, 5.0f, 0); + var_f30 = 0.0f; + temp_f29 = 8.0f; + lbl_1_bss_308.z = sp18.z + 100.0f; + lbl_1_bss_308.x = sp18.x + 50.0f; + PSVECSubtract(&lbl_1_bss_308, &sp18, &spC); + PSVECScale(&spC, &spC, 0.04f); + while (TRUE) { + BoardPlayerPosGet(lbl_1_bss_324, &sp18); + spC.y = temp_f29 - var_f30 * var_f30 * 0.25f * 0.075f; + var_f30 += 1.0f; + PSVECAdd(&spC, &sp18, &sp18); + sp114[0] = lbl_1_bss_308; + sp114[0].y = sp18.y; + PSVECSubtract(&sp114[0], &sp18, &sp114[0]); + var_f31 = PSVECMag(&sp114[0]); + if (var_f31 <= 1.0f) { + spC.x = spC.z = 0.0f; + sp18.x = lbl_1_bss_308.x; + sp18.z = lbl_1_bss_308.z; + } + if (sp18.y <= lbl_1_bss_308.y && spC.y < 0.0f) { + sp18.y = lbl_1_bss_308.y; + break; + } + BoardPlayerPosSetV(lbl_1_bss_324, &sp18); + HuPrcVSleep(); + } + BoardPlayerPosSetV(lbl_1_bss_324, &sp18); + omVibrate(lbl_1_bss_324, 12, 6, 6); + while (!temp_r3->user_data) { + HuPrcVSleep(); + } + HuPrcKill(temp_r3); + var_r28 = HuPrcCurrentGet()->user_data; + var_r28->func = fn_1_E144; + HuPrcEnd(); +} + +static void fn_1_E004(void) { + Vec sp14; + Vec sp8; + s32 i; + + while (fn_1_1130(lbl_1_bss_14[9], 90.0f, 30.0f) == 0) { + HuPrcVSleep(); + } + BoardModelPosGet(lbl_1_bss_14[9], &sp14); + PSVECSubtract(&lbl_1_bss_2FC, &sp14, &sp8); + PSVECScale(&sp8, &sp8, 0.1f); + for (i = 0; i < 10; i++) { + BoardModelPosGet(lbl_1_bss_14[9], &sp14); + PSVECAdd(&sp14, &sp8, &sp14); + BoardModelPosSetV(lbl_1_bss_14[9], &sp14); + HuPrcVSleep(); + } + BoardModelPosSetV(lbl_1_bss_14[9], &lbl_1_bss_2FC); + while (fn_1_1130(lbl_1_bss_14[9], 0.0f, 30.0f) == 0) { + HuPrcVSleep(); + } + HuPrcCurrentGet()->user_data = (void*) 1; + while (TRUE) { + HuPrcVSleep(); + } +} + +static void fn_1_E144(omObjData *arg0) { + lbl_1_bss_326 = 1; + BoardMGExit(); + omDelObjEx(boardObjMan, arg0); +} + +static void fn_1_E18C(omObjData *arg0) { + s32 var_r29; + s16 var_r28; + s16 var_r30; + + var_r29 = HuAudSeqMidiCtrlGet(lbl_1_data_588, 0, 1); + if (var_r29 >= 20 && var_r29 <= 29) { + var_r28 = GWPlayer[lbl_1_bss_324].port; + var_r30 = 0; + if (GWPlayer[lbl_1_bss_324].com) { + if (--arg0->unk10 == 0) { + var_r30 = fn_1_E880(arg0); + } + } else { + var_r30 = HuPadBtnDown[var_r28]; + } + if (var_r30 & 0xF70) { + if ((var_r30 & lbl_1_bss_2C2[arg0->work[1] - 1]) && !(var_r30 & ~lbl_1_bss_2C2[arg0->work[1] - 1])) { + arg0->work[2] = 1; + } else { + arg0->work[2] = 0; + } + BoardModelVisibilitySet(lbl_1_bss_2F8, 0); + arg0->func = fn_1_E374; + } + } else { + BoardModelVisibilitySet(lbl_1_bss_2F8, 0); + arg0->work[2] = 0; + arg0->func = fn_1_E374; + lbl_1_bss_318->work[0] = 1; + fn_1_E374(arg0); + } +} + +static void fn_1_E374(omObjData *arg0) { + Vec sp20; + Vec sp14; + Vec sp8; + s32 temp_r3; + + temp_r3 = HuAudSeqMidiCtrlGet(lbl_1_data_588, 0, 1); + if (temp_r3 >= 30 && temp_r3 <= 39) { + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[7]), lbl_1_data_5BC[arg0->work[1]], &sp14); + BoardPlayerPosGet(lbl_1_bss_324, &sp20); + PSVECSubtract(&sp14, &sp20, &sp8); + PSVECScale(&sp8, &sp8, 0.04f); + arg0->trans.x = sp8.x; + arg0->trans.z = sp8.z; + arg0->trans.y = 5.0f; + arg0->rot.x = 0.0f; + arg0->scale.x = sp14.x; + arg0->scale.y = sp14.y; + arg0->scale.z = sp14.z; + BoardPlayerMotionShiftSet(lbl_1_bss_324, 4, 0.0f, 5.0f, 0); + arg0->func = fn_1_E4C0; + } +} + +static void fn_1_E4C0(omObjData *arg0) { + Vec sp2C; + Vec sp20; + Vec sp14; + Vec sp8; + float var_f31; + + BoardPlayerPosGet(lbl_1_bss_324, &sp2C); + sp14.x = arg0->scale.x; + sp14.y = arg0->scale.y; + sp14.z = arg0->scale.z; + sp20.x = arg0->trans.x; + sp20.z = arg0->trans.z; + sp20.y = arg0->trans.y - arg0->rot.x * arg0->rot.x * 0.25f * 0.075f; + arg0->rot.x += 1.0f; + PSVECAdd(&sp2C, &sp20, &sp2C); + sp8 = sp2C; + sp8.y = sp14.y; + PSVECSubtract(&sp14, &sp8, &sp8); + var_f31 = PSVECMag(&sp8); + if (var_f31 <= 1.0f) { + arg0->trans.x = arg0->trans.z = 0.0f; + sp2C.x = sp14.x; + sp2C.z = sp14.z; + } + if (sp2C.y <= sp14.y && sp20.y < 0.0f) { + sp2C.y = sp14.y; + BoardPlayerIdleSet(lbl_1_bss_324); + arg0->work[3] = 0; + if (arg0->work[2] != 0) { + arg0->func = fn_1_E6AC; + } else { + lbl_1_bss_318->work[0] = 1; + HuAudFXPlay(0x475); + arg0->func = NULL; + } + } + BoardPlayerPosSetV(lbl_1_bss_324, &sp2C); +} + +static void fn_1_E6AC(omObjData *arg0) { + Vec sp8; + float var_f31; + + if (arg0->work[3] == 0) { + lbl_1_bss_2B0 = -1; + var_f31 = 4.0f + 20.0f * (arg0->work[1] - 1); + BoardModelMotionTimeSet(lbl_1_bss_14[7], var_f31); + BoardModelAttrReset(lbl_1_bss_14[7], 0x40000002); + lbl_1_bss_314++; + arg0->work[3] = 1; + arg0->work[0] = 0x10; + lbl_1_bss_2B0 = HuAudFXPlay(lbl_1_data_5F0[arg0->work[1] - 1]); + } + if (--arg0->work[0] != 0) { + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[7]), lbl_1_data_5BC[arg0->work[1]], &sp8); + BoardPlayerPosSetV(lbl_1_bss_324, &sp8); + return; + } + if (lbl_1_bss_2B0 >= 0) { + HuAudFXStop(lbl_1_bss_2B0); + } + lbl_1_bss_318->work[0] = 1; + BoardModelAttrSet(lbl_1_bss_14[7], 0x40000002); + arg0->func = NULL; +} + +static s16 fn_1_E880(omObjData *arg0) { + s16 temp_r28; + s16 var_r30; + s32 temp_r29; + + temp_r28 = GWPlayer[lbl_1_bss_324].diff; + var_r30 = 0; + temp_r29 = frandmod(100); + switch (temp_r28) { + case 0: + if (temp_r29 < 35) { + var_r30 = lbl_1_bss_2C2[arg0->work[1] - 1]; + } else if (temp_r29 < 90) { + var_r30 = -1; + } else { + arg0->unk10 = 100; + } + break; + case 1: + if (temp_r29 < 55) { + var_r30 = lbl_1_bss_2C2[arg0->work[1] - 1]; + } else if (temp_r29 < 90) { + var_r30 = -1; + } else { + arg0->unk10 = 100; + } + break; + case 2: + if (temp_r29 < 85) { + var_r30 = lbl_1_bss_2C2[arg0->work[1] - 1]; + } else { + var_r30 = -1; + } + break; + case 3: + var_r30 = lbl_1_bss_2C2[arg0->work[1] - 1]; + break; + } + return var_r30; +} diff --git a/src/REL/w07Dll/mg_item.c b/src/REL/w07Dll/mg_item.c new file mode 100644 index 00000000..342d8f5c --- /dev/null +++ b/src/REL/w07Dll/mg_item.c @@ -0,0 +1,656 @@ +#include "REL/w04Dll.h" +#include "game/audio.h" +#include "game/data.h" +#include "game/frand.h" +#include "game/gamework_data.h" +#include "game/hsfanim.h" +#include "game/hsfdraw.h" +#include "game/hsfman.h" +#include "game/minigame_seq.h" +#include "game/objsub.h" +#include "game/pad.h" +#include "game/process.h" +#include "game/sprite.h" +#include "game/window.h" +#include "game/board/audio.h" +#include "game/board/main.h" +#include "game/board/model.h" +#include "game/board/player.h" +#include "game/board/window.h" + +#include "dolphin.h" +#include "ext_math.h" + +static void fn_1_A71C(void); +static void fn_1_A7E8(void); +static void fn_1_C388(ModelData *model, ParticleData *particle, Mtx matrix); + +static s16 lbl_1_bss_2AC; +static s16 lbl_1_bss_2A6[3]; +static s16 lbl_1_bss_29E[4]; +static s16 lbl_1_bss_298[3]; +static float lbl_1_bss_294; +static s32 lbl_1_bss_290_pad; +static s32 lbl_1_bss_28C; +static AnimData *lbl_1_bss_288; + +static char *lbl_1_data_51C[] = { + "item1", "item2", "item3", + "switch1", "switch2", "switch3" +}; + +static s32 lbl_1_data_534[] = { + 0x00000466, + 0x00000467, + 0x00000468 +}; + +static s32 lbl_1_data_540[] = { + DATA_MAKE_NUM(DATADIR_BOARD, 109), + DATA_MAKE_NUM(DATADIR_BOARD, 110), + DATA_MAKE_NUM(DATADIR_BOARD, 111), + DATA_MAKE_NUM(DATADIR_BOARD, 112), + DATA_MAKE_NUM(DATADIR_BOARD, 113), + DATA_MAKE_NUM(DATADIR_BOARD, 114), + DATA_MAKE_NUM(DATADIR_BOARD, 115), + DATA_MAKE_NUM(DATADIR_BOARD, 116), + DATA_MAKE_NUM(DATADIR_BOARD, 118), + DATA_MAKE_NUM(DATADIR_BOARD, 119), + DATA_MAKE_NUM(DATADIR_BOARD, 120), + DATA_MAKE_NUM(DATADIR_BOARD, 121), + DATA_MAKE_NUM(DATADIR_BOARD, 122), + DATA_MAKE_NUM(DATADIR_BOARD, 123), + DATA_MAKE_NUM(DATADIR_W02, 24), + DATA_MAKE_NUM(DATADIR_W02, 25), + DATA_MAKE_NUM(DATADIR_W02, 26), + -1 +}; + +void fn_1_A0F8(void) { + Vec sp8; + s32 i; + + BoardModelAttrSet(lbl_1_bss_14[6], 0x40000002); + for (i = 0; i < 3; i++) { + lbl_1_bss_29E[i] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 13), NULL, 1); + BoardModelHookSet(lbl_1_bss_14[6], lbl_1_data_51C[i + 3], lbl_1_bss_29E[i]); + BoardModelAttrSet(lbl_1_bss_29E[i], 0x40000002); + } + BoardModelPosGet(lbl_1_bss_14[6], &sp8); + lbl_1_bss_294 = sp8.y; +} + +void fn_1_A1F0(void) { + Vec sp38[3]; + Vec sp2C; + Vec sp20; + Vec sp14; + Vec sp8; + float var_f31; + s16 temp_r29; + s32 var_r30; + s32 i; + + lbl_1_bss_2AC = GWSystem.player_curr; + temp_r29 = BoardModelMotionCreate(lbl_1_bss_14[10], DATA_MAKE_NUM(DATADIR_BGUEST, 25)); + HuPrcSleep(60); + var_f31 = 0.0f; + for (i = 0; i < 30; i++) { + var_f31 += 3.0f; + BoardModelRotYSet(lbl_1_bss_14[10], var_f31); + HuPrcVSleep(); + } + BoardModelMotionStart(lbl_1_bss_14[10], temp_r29, 0); + for (i = 0; i < 3; i++) { + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[6]), lbl_1_data_51C[i], &sp38[i]); + } + while (TRUE) { + var_r30 = 0; + for (i = 0; i < 3; i++) { + BoardModelPosGet(lbl_1_bss_298[i], &sp2C); + sp2C.y += 2.0f; + if (sp2C.y >= sp38[i].y) { + sp2C.y = sp38[i].y; + var_r30++; + } + BoardModelPosSetV(lbl_1_bss_298[i], &sp2C); + } + if (var_r30 == 3) { + break; + } + HuPrcVSleep(); + } + for (i = 0; i < 3; i++) { + BoardModelHookSet(lbl_1_bss_14[6], lbl_1_data_51C[i], lbl_1_bss_298[i]); + } + while (BoardModelMotionTimeGet(lbl_1_bss_14[10]) < BoardModelMotionMaxTimeGet(lbl_1_bss_14[10])) { + HuPrcVSleep(); + } + BoardModelMotionShiftSet(lbl_1_bss_14[10], 1, 0.0f, 5.0f, 0x40000001); + BoardAudSeqPause(0, 1, 1000); + BoardModelMotionTimeSet(lbl_1_bss_14[6], 0.0f); + BoardModelAttrReset(lbl_1_bss_14[6], 0x40000002); + HuPrcSleep(20); + HuAudFXPlay(0x469); + HuPrcSleep(50); + BoardMusStart(1, 0x1E, 0x7F, 0); + HuAudFXPlay(0x46C); + while (BoardModelMotionTimeGet(lbl_1_bss_14[6]) < 202.0f) { + HuPrcVSleep(); + } + BoardModelMotionTimeSet(lbl_1_bss_14[6], 202.0f); + BoardModelAttrSet(lbl_1_bss_14[6], 0x40000002); + BoardModelMotionKill(lbl_1_bss_14[10], temp_r29); + sp14.x = -35.0f; + sp14.y = sp14.z = 0.0f; + sp8.x = 0.0f; + sp8.y = 0.0f; + sp8.z = -150.0f; + BoardCameraMotionStartEx(lbl_1_bss_14[6], &sp14, &sp8, 1500.0f, 25.0f, 21); + BoardPlayerPosGet(lbl_1_bss_2AC, &sp2C); + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[6]), lbl_1_data_51C[4], &sp20); + sp20.z = sp2C.z - 50.0f; + sp20.y = sp2C.y; + BoardPlayerPosLerpStart(lbl_1_bss_2AC, &sp2C, &sp20, 0x3C); + while (GWPlayer[lbl_1_bss_2AC].moving) { + HuPrcVSleep(); + } + BoardPlayerMotBlendSet(lbl_1_bss_2AC, 0xB4, 0xF); + while (!BoardPlayerMotBlendCheck(lbl_1_bss_2AC)) { + HuPrcVSleep(); + } + BoardCameraMotionWait(); + fn_1_A7E8(); + BoardMGExit(); + while (TRUE) { + if (BoardMGDoneFlagGet() == 1) { + BoardMGDoneFlagSet(0); + fn_1_BA7C(); + break; + } + HuPrcVSleep(); + } + HuPrcEnd(); +} + +static void fn_1_A71C(void) { + Vec sp8; + float var_f31; + s16 temp_r31; + + var_f31 = 0.0f; + temp_r31 = (s16) HuPrcCurrentGet()->user_data; + while (TRUE) { + BoardModelPosGet(temp_r31, &sp8); + sp8.y += 0.25 * sind(var_f31); + var_f31 += 5.0f; + if (var_f31 >= 360.0f) { + var_f31 -= 360.0f; + } + BoardModelPosSetV(temp_r31, &sp8); + HuPrcVSleep(); + } +} + +static void fn_1_A7E8(void) { + Vec sp54[3]; + Vec sp48; + Vec sp3C; + Vec sp30; + Vec sp24; + Vec sp18; + float sp10[2]; + float var_f29; + float var_f30; + float var_f31; + Process *var_r20; + s16 var_r30; + s16 var_r28; + s16 var_r27; + s16 var_r26; + s16 var_r25; + s16 var_r24; + u16 temp_r29; + u16 var_r23; + s16 var_r22; + s16 var_r21; + s16 var_r19; + u16 temp_r18; + u16 var_r17; + ParticleData *spC; + s32 sp8; + s32 i; + + var_r28 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 14), NULL, 0); + BoardModelAttrSet(var_r28, 0x40000001); + BoardModelVisibilitySet(var_r28, 0); + var_r30 = 1; + for (i = 0; i < 3; i++) { + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[6]), lbl_1_data_51C[i + 3], &sp54[i]); + sp54[i].y += 50.0f; + } + var_r25 = MGSeqCreate(3, 0); + while (MGSeqStatGet(var_r25) != 0) { + HuPrcVSleep(); + } + var_r24 = 5; + var_r21 = 60; + var_r25 = MGSeqCreate(1, var_r24, 0x120, 0x40); + HuWinMesMaxSizeGet(1, sp10, MAKE_MESSID(32, 22)); + var_r27 = HuWinCreate(-10000.0f, 368.0f, sp10[0], sp10[1], 0); + HuWinMesSet(var_r27, MAKE_MESSID(32, 22)); + HuWinBGTPLvlSet(var_r27, 0.0f); + HuWinMesSpeedSet(var_r27, 0); + BoardModelVisibilitySet(var_r28, 1); + BoardModelPosSetV(var_r28, &sp54[var_r30]); + var_r22 = 30; + var_r19 = 0; + temp_r18 = GWPlayer[lbl_1_bss_2AC].port; + while (TRUE) { + var_r21--; + if (var_r21 == 0) { + var_r21 = 60; + if (--var_r24 < 0) { + break; + } + MGSeqParamSet(var_r25, 1, var_r24); + } + if (GWPlayer[lbl_1_bss_2AC].com) { + if (var_r22 != 0) { + var_r22--; + } else { + var_r22 = frandmod(30) + 15; + if (frandBool() || var_r19 == 3) { + var_r17 = 0x100; + } else { + if (frandBool()) { + var_r23 = 1; + } else { + var_r23 = 2; + } + var_r19++; + } + } + } else { + var_r17 = HuPadBtnDown[temp_r18]; + var_r23 = HuPadDStkRep[temp_r18]; + } + if (var_r17 & 0x100) { + break; + } + if ((var_r23 & 1) && var_r30 != 0) { + HuAudFXPlay(0); + var_r30--; + } + if ((var_r23 & 2) && var_r30 != 2) { + HuAudFXPlay(0); + var_r30++; + } + BoardModelPosSetV(var_r28, &sp54[var_r30]); + HuPrcVSleep(); + } + HuAudFXPlay(2); + MGSeqParamSet(var_r25, 2, -1); + HuWinKill(var_r27); + for (i = 0; i < 360; i += 12) { + sp48.x = sp48.y = sp48.z = 1.0 + 0.8f * sind(i % 180); + BoardModelScaleSetV(var_r28, &sp48); + HuPrcVSleep(); + } + BoardModelVisibilitySet(var_r28, 0); + BoardPlayerPosGet(lbl_1_bss_2AC, &sp18); + BoardPlayerMotionShiftSet(lbl_1_bss_2AC, 4, 0.0f, 5.0f, 0); + var_f30 = 0.0f; + var_f29 = 12.0f; + sp3C = sp54[var_r30]; + BoardPlayerPosGet(lbl_1_bss_2AC, &sp30); + PSVECSubtract(&sp3C, &sp30, &sp3C); + PSVECScale(&sp3C, &sp3C, 0.05f); + while (TRUE) { + BoardPlayerPosGet(lbl_1_bss_2AC, &sp30); + sp3C.y = var_f29 - var_f30 * var_f30 * 0.25f * 0.075f; + var_f30 += 1.0f; + PSVECAdd(&sp3C, &sp30, &sp30); + if (sp30.y <= sp54[var_r30].y - 40.0f && sp3C.y < 0.0f) { + sp30.y = sp54[var_r30].y - 40.0f; + break; + } + BoardPlayerPosSetV(lbl_1_bss_2AC, &sp30); + sp48 = sp54[var_r30]; + sp48.y = sp30.y = 0.0f; + PSVECSubtract(&sp48, &sp30, &sp30); + var_f31 = PSVECMag(&sp30); + if (var_f31 <= 1.0f) { + sp3C.x = sp3C.z = 0.0f; + } + HuPrcVSleep(); + } + BoardAudSeqFadeOut(1, 100); + HuAudFXPlay(lbl_1_data_534[var_r30]); + BoardModelMotionTimeSet(lbl_1_bss_29E[var_r30], 0.0f); + BoardModelAttrReset(lbl_1_bss_29E[var_r30], 0x40000002); + BoardPlayerPosSetV(lbl_1_bss_2AC, &sp30); + BoardPlayerMotionShiftSet(lbl_1_bss_2AC, 1, 0.0f, 5.0f, 0x40000001); + while (BoardModelMotionTimeGet(lbl_1_bss_29E[var_r30]) < BoardModelMotionMaxTimeGet(lbl_1_bss_29E[var_r30])) { + if (BoardModelMotionTimeGet(lbl_1_bss_29E[var_r30]) >= 13.0f) { + BoardPlayerPosGet(lbl_1_bss_2AC, &sp30); + sp30.y += 1.0f; + BoardPlayerPosSetV(lbl_1_bss_2AC, &sp30); + } + HuPrcVSleep(); + } + temp_r29 = frandmod(3); + BoardModelHookReset(lbl_1_bss_14[6]); + for (i = 0; i < 3; i++) { + BoardModelHookSet(lbl_1_bss_14[6], lbl_1_data_51C[i + 3], lbl_1_bss_29E[i]); + if (i != temp_r29) { + BoardModelVisibilitySet(lbl_1_bss_298[i], 0); + } + } + BoardModelHookSet(lbl_1_bss_14[6], lbl_1_data_51C[1], lbl_1_bss_298[temp_r29]); + BoardModelAttrReset(lbl_1_bss_14[6], 0x40000002); + HuPrcSleep(30); + HuAudFXPlay(0x310); + while (BoardModelMotionTimeGet(lbl_1_bss_14[6]) < BoardModelMotionMaxTimeGet(lbl_1_bss_14[6])) { + HuPrcVSleep(); + } + BoardModelHookReset(lbl_1_bss_14[6]); + for (i = 0; i < 3; i++) { + BoardModelHookSet(lbl_1_bss_14[6], lbl_1_data_51C[i + 3], lbl_1_bss_29E[i]); + } + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[6]), lbl_1_data_51C[1], &sp24); + BoardModelPosSetV(lbl_1_bss_298[temp_r29], &sp24); + var_r20 = HuPrcChildCreate(fn_1_A71C, 0x2002, 0x800, 0, boardMainProc); + var_r20->user_data = (void*) lbl_1_bss_298[temp_r29]; + var_r26 = Hu3DParticleCreate(lbl_1_bss_288, 100); + spC = Hu3DData[var_r26].unk_120; + spC->unk_02 = lbl_1_bss_298[temp_r29]; + Hu3DParticleHookSet(var_r26, fn_1_C388); + Hu3DParticleColSet(var_r26, 0xFF, 0xFF, 0); + Hu3DModelPosSet(var_r26, 0.0f, 0.0f, 0.0f); + Hu3DParticleBlendModeSet(var_r26, 1); + Hu3DModelLayerSet(var_r26, 2); + lbl_1_bss_28C = HuAudFXPlay(0x35F); + BoardPlayerMotBlendSet(lbl_1_bss_2AC, 0, 0xF); + while (!BoardPlayerMotBlendCheck(lbl_1_bss_2AC)) { + HuPrcVSleep(); + } + BoardPlayerMotionShiftSet(lbl_1_bss_2AC, 4, 0.0f, 5.0f, 0); + var_f30 = 0.0f; + var_f29 = 12.0f; + BoardPlayerPosGet(lbl_1_bss_2AC, &sp30); + PSVECSubtract(&sp18, &sp30, &sp3C); + PSVECScale(&sp3C, &sp3C, 0.05f); + while (TRUE) { + BoardPlayerPosGet(lbl_1_bss_2AC, &sp30); + sp3C.y = var_f29 - var_f30 * var_f30 * 0.25f * 0.075f; + var_f30 += 1.0f; + PSVECAdd(&sp3C, &sp30, &sp30); + if (sp30.y < sp18.y) { + sp30.y = sp18.y; + break; + } + BoardPlayerPosSetV(lbl_1_bss_2AC, &sp30); + sp48 = sp18; + sp48.y = sp30.y = 0.0f; + PSVECSubtract(&sp48, &sp30, &sp30); + var_f31 = PSVECMag(&sp30); + if (var_f31 <= 1.0f) { + sp3C.x = sp3C.z = 0.0f; + } + HuPrcVSleep(); + } + omVibrate(lbl_1_bss_2AC, 12, 6, 6); + BoardPlayerPosSetV(lbl_1_bss_2AC, &sp30); + BoardPlayerMotionShiftSet(lbl_1_bss_2AC, 1, 0.0f, 5.0f, 0x40000001); + BoardModelPosGet(lbl_1_bss_298[temp_r29], &sp24); + sp3C = sp24; + sp3C.z += 100.0f; + PSVECSubtract(&sp3C, &sp24, &sp3C); + PSVECScale(&sp3C, &sp3C, 0.033333335f); + for (i = 0; i < 30; i++) { + BoardModelPosGet(lbl_1_bss_298[temp_r29], &sp24); + PSVECAdd(&sp24, &sp3C, &sp24); + BoardModelPosSetV(lbl_1_bss_298[temp_r29], &sp24); + HuPrcVSleep(); + } + BoardPlayerPosGet(lbl_1_bss_2AC, &sp30); + sp24.y = sp30.y; + BoardPlayerPosLerpStart(lbl_1_bss_2AC, &sp30, &sp24, 0x3C); + while (GWPlayer[lbl_1_bss_2AC].moving) { + HuPrcVSleep(); + } + BoardPlayerMotBlendSet(lbl_1_bss_2AC, 0, 0xF); + while (!BoardPlayerMotBlendCheck(lbl_1_bss_2AC)) { + HuPrcVSleep(); + } + var_f31 = 90.0f; + for (i = 0; i < 15; i++) { + var_f31 -= 3.0f; + BoardModelRotYSet(lbl_1_bss_14[10], var_f31); + HuPrcVSleep(); + } + BoardWinCreate(2, MAKE_MESSID(32, 15), 3); + BoardWinInsertMesSet(MAKE_MESSID(8, lbl_1_bss_2A6[temp_r29]), 0); + BoardWinWait(); + BoardWinKill(); + HuAudFXPlay(0x30D); + HuPrcKill(var_r20); + BoardPlayerPosGet(lbl_1_bss_2AC, &sp30); + BoardModelPosGet(lbl_1_bss_298[temp_r29], &sp24); + var_f29 = 1.0f; + var_f31 = (sp30.y - sp24.y) / 30.0f; + var_f30 = -0.04f; + var_r27 = 0; + HuAudFXFadeOut(lbl_1_bss_28C, 0x1F3); + while (var_r27 == 0) { + sp24.y += var_f31; + var_f29 += var_f30; + if (var_f29 < 0.0f) { + var_f29 = 0.0f; + var_r27 = 1; + } + sp48.x = sp48.y = sp48.z = var_f29; + BoardModelPosSetV(lbl_1_bss_298[temp_r29], &sp24); + BoardModelScaleSetV(lbl_1_bss_298[temp_r29], &sp48); + HuPrcVSleep(); + } + HuAudFXStop(lbl_1_bss_28C); + BoardModelVisibilitySet(lbl_1_bss_298[temp_r29], 0); + BoardPlayerItemAdd(lbl_1_bss_2AC, lbl_1_bss_2A6[temp_r29]); + omVibrate(lbl_1_bss_2AC, 12, 6, 6); + sp8 = HuAudSStreamPlay(2); + BoardPlayerMotionShiftSet(lbl_1_bss_2AC, 7, 0.0f, 5.0f, 0); + while (!BoardPlayerMotionEndCheck(lbl_1_bss_2AC)) { + HuPrcVSleep(); + } + var_f31 = 45.0f; + for (i = 0; i < 15; i++) { + var_f31 -= 3.0f; + BoardModelRotYSet(lbl_1_bss_14[10], var_f31); + HuPrcVSleep(); + } + BoardModelRotYSet(lbl_1_bss_14[10], 0.0f); + HuPrcSleep(30); + while (HuAudSStreamStatGet(sp8) != 0) { + HuPrcVSleep(); + } + BoardAudSeqPause(0, 0, 1000); + BoardWinCreate(2, MAKE_MESSID(32, 16), 3); + BoardWinWait(); + BoardWinKill(); + BoardModelMotionTimeSet(lbl_1_bss_14[6], 0.0f); + BoardModelAttrSet(lbl_1_bss_14[6], 0x40000002); + Hu3DModelKill(var_r26); + BoardModelKill(var_r28); +} + +void fn_1_BA7C(void) { + s32 i; + + for (i = 0; i < 3; i++) { + BoardModelKill(lbl_1_bss_298[i]); + } + if (lbl_1_bss_288) { + HuSprAnimKill(lbl_1_bss_288); + lbl_1_bss_288 = NULL; + } +} + +void fn_1_BB00(s16 *arg0) { + Vec sp54[3]; + Vec sp30[3]; + Vec sp24; + Vec sp18; + float spC[3]; + float temp_f28; + float var_f27; + float var_f29; + s32 var_r30; + s32 i; + + for (i = 0; i < 3; i++) { + lbl_1_bss_2A6[i] = arg0[i]; + lbl_1_bss_298[i] = BoardModelCreate(lbl_1_data_540[lbl_1_bss_2A6[i]], NULL, 0); + BoardModelVisibilitySet(lbl_1_bss_298[i], 0); + if (lbl_1_bss_2A6[i] == 11) { + BoardModelAttrSet(lbl_1_bss_298[i], 0x40000001); + } + if (lbl_1_bss_2A6[i] == 5) { + Hu3DData[BoardModelIDGet(lbl_1_bss_298[i])].unk_F0[1][3] = -50.0f; + } + if (lbl_1_bss_2A6[i] == 4) { + BoardModelMotionSpeedSet(lbl_1_bss_298[i], 0.0f); + } + } + if (lbl_1_bss_288 == NULL) { + lbl_1_bss_288 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_EFFECT, 0)); + HuSprAnimLock(lbl_1_bss_288); + } + BoardModelMotionTimeSet(lbl_1_bss_14[6], 0.0f); + BoardModelAttrSet(lbl_1_bss_14[6], 0x40000002); + sp18.x = sp18.y = sp18.z = 0.0f; + for (i = 0; i < 3; i++) { + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[6]), lbl_1_data_51C[i], &sp54[i]); + sp54[i].y += -50.0f; + BoardModelVisibilitySet(lbl_1_bss_298[i], 1); + BoardModelPosSetV(lbl_1_bss_298[i], &sp54[i]); + BoardModelPosGet(lbl_1_bss_14[10], &sp24); + BoardModelPosSetV(lbl_1_bss_298[i], &sp24); + BoardModelScaleSetV(lbl_1_bss_298[i], &sp18); + PSVECSubtract(&sp54[i], &sp24, &sp30[i]); + PSVECNormalize(&sp30[i], &sp30[i]); + spC[i] = 0.0f; + } + sp30[0].y = 16.0f; + sp30[1].y = 13.0f; + sp30[2].y = 10.0f; + HuAudFXPlay(0x362); + var_f29 = 0.0f; + while (TRUE) { + var_r30 = 0; + var_f29 += 0.05f; + if (var_f29 > 1.0f) { + var_f29 = 1.0f; + } + sp18.x = sp18.y = sp18.z = var_f29; + for (i = 0; i < 3; i++) { + BoardModelPosGet(lbl_1_bss_298[i], &sp24); + temp_f28 = sp30[i].y - spC[i] * spC[i] * 0.25f * 0.075f; + sp24.x += 6.55f * sp30[i].x; + sp24.z += 6.55f * sp30[i].z; + sp24.y += temp_f28; + var_f27 = VECDistanceXZ(&sp54[i], &sp24); + if (var_f27 < 3.0f) { + sp30[i].x = sp30[i].z = 0.0f; + sp24.x = sp54[i].x; + sp24.z = sp54[i].z; + } + if (sp24.y <= sp54[i].y && temp_f28 < 0.0f) { + sp24.y = sp54[i].y; + var_r30++; + } + BoardModelPosSetV(lbl_1_bss_298[i], &sp24); + BoardModelScaleSetV(lbl_1_bss_298[i], &sp18); + spC[i] += 1.0f; + } + if (var_r30 == 3) { + break; + } + HuPrcVSleep(); + } + for (i = 0; i < 3; i++) { + BoardModelPosSetV(lbl_1_bss_298[i], &sp54[i]); + } +} + +void fn_1_C2BC(void) { + Vec sp8; + float var_f31; + s32 i; + s32 j; + + var_f31 = 1.0f; + for (i = 0; i < 20; i++) { + var_f31 -= 0.05f; + if (var_f31 < 0.0f) { + var_f31 = 0.0f; + } + sp8.x = sp8.y = sp8.z = var_f31; + for (j = 0; j < 3; j++) { + BoardModelScaleSetV(lbl_1_bss_298[j], &sp8); + } + HuPrcVSleep(); + } +} + +static void fn_1_C388(ModelData *model, ParticleData *particle, Mtx matrix) { + Vec sp8; + HsfanimStruct01 *var_r31; + float var_f31; + float temp_f30; + float temp_f29; + s32 var_r28; + s32 i; + + if (particle->unk_34 == 0) { + var_r31 = particle->unk_48; + for (i = 0; i < particle->unk_30; i++, var_r31++) { + var_r31->unk40.a = 0; + var_r31->unk2C = 0.0f; + } + particle->unk_00 = 0; + } + BoardModelScaleGet(particle->unk_02, &sp8); + var_f31 = sp8.x; + BoardModelPosGet(particle->unk_02, &sp8); + for (i = 0; i < 22; i++) { + var_r31 = particle->unk_48; + for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { + if (var_r31->unk2C == 0.0f) { + break; + } + } + if (var_r28 != particle->unk_30) { + temp_f30 = 0.003921569f * frand8() * 360.0f; + temp_f29 = var_f31 * (20.0f + 0.003921569f * frand8() * 60.0f); + var_r31->unk34.x = sp8.x + temp_f29 * sind(temp_f30); + var_r31->unk34.z = sp8.z + temp_f29 * cosd(temp_f30); + var_r31->unk34.y = sp8.y + var_f31 * (-30.0f + 0.003921569f * frand8() * 40.0f); + var_r31->unk08.x = 0.5f + 0.003921569f * frand8() * 3.0f; + var_r31->unk08.y = 0.3f + 0.003921569f * frand8() * 2.0f; + var_r31->unk40.a = 0xB4; + var_r31->unk2C = var_f31 * 15.0f; + } + } + var_r31 = particle->unk_48; + for (i = 0; i < particle->unk_30; i++, var_r31++) { + if (var_r31->unk2C != 0.0f) { + var_r31->unk34.y -= var_r31->unk08.x; + var_r31->unk2C -= var_r31->unk08.y; + if (var_r31->unk2C <= 0.0f) { + var_r31->unk2C = 0.0f; + } + } + } +} diff --git a/src/REL/w10Dll/main.c b/src/REL/w10Dll/main.c index 0b8de21c..a9eaff17 100644 --- a/src/REL/w10Dll/main.c +++ b/src/REL/w10Dll/main.c @@ -134,9 +134,9 @@ void BoardCreate(void) BoardBooHouseHostSet(boardBooHouseHostMdl); BoardShopHostSet(boardShopHostMdl); BoardLotteryHostSet(boardLotteryHostMdl); - HuWinMesMaxSizeGet(1, size, MAKE_MESSID(0x2E, 0x3A)); + HuWinMesMaxSizeGet(1, size, 0x2E003A); tutorialExitWin = HuWinCreate(-10000.0f, 390.0f, size[0], size[1], 1); - HuWinMesSet(tutorialExitWin, MAKE_MESSID(0x2E, 0x3A)); + HuWinMesSet(tutorialExitWin, 0x2E003A); HuWinMesSpeedSet(tutorialExitWin, 0); HuWinPriSet(tutorialExitWin, 1); HuWinMesPalSet(tutorialExitWin, 7, 0, 0, 0); diff --git a/src/REL/w20Dll/main.c b/src/REL/w20Dll/main.c index 70592f07..f4c3829d 100644 --- a/src/REL/w20Dll/main.c +++ b/src/REL/w20Dll/main.c @@ -17,14 +17,14 @@ s16 lbl_1_data_6 = 0xFFFF; s16 lbl_1_data_8 = 0xFFFF; s16 lbl_1_data_A = 0xFFFF; s32 lbl_1_data_C[] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x00), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x00), + 0x005F0000, + 0x001A0000, + 0x006D0000, + 0x008A0000, + 0x00850000, + 0x00110000, + 0x000D0000, + 0x00810000, }; s32 unkMotTbl[] = { DATA_MAKE_NUM(DATADIR_BGUEST, 42), -1 }; @@ -50,12 +50,12 @@ void BoardCreate(void) lbl_1_bss_0->unk_04 = 0; lbl_1_bss_0->unk_06 = 0; BoardSpaceInit(DATA_MAKE_NUM(DATADIR_W20, 0)); - lbl_1_data_0 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W20, 0x01), NULL, 0); + lbl_1_data_0 = BoardModelCreate(0x7C0001, NULL, 0); fn_8006DDE8(lbl_1_data_0, -1.0f); BoardModelPosSet(lbl_1_data_0, 0.0f, 0.0f, 0.0f); BoardModelMotionStart(lbl_1_data_0, 0, 0x40000001); BoardModelMotionSpeedSet(lbl_1_data_0, 1.0f); - lbl_1_data_2 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W20, 0x02), NULL, 0); + lbl_1_data_2 = BoardModelCreate(0x7C0002, NULL, 0); fn_8006DDE8(lbl_1_data_2, -1.0f); BoardModelPosSet(lbl_1_data_2, 0.0f, 0.0f, 0.0f); BoardModelMotionStart(lbl_1_data_2, 0, 0x40000001); diff --git a/src/REL/ztardll/font.c b/src/REL/ztardll/font.c deleted file mode 100644 index 74f9608a..00000000 --- a/src/REL/ztardll/font.c +++ /dev/null @@ -1,266 +0,0 @@ -#include "game/minigame_seq.h" -#include "game/sprite.h" - -#include "REL/ztardll.h" - -#define FONT_CHAR_MAX 100 - -#if VERSION_ENG -s32 lbl_1_data_B0[0xC6] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x01), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x02), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x03), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x04), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x05), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x06), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x07), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x08), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x09), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x0A), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x0F), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x10), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x11), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x12), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x13), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x14), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x15), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x16), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x17), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x18), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x19), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x1A), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x1B), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x1C), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x1D), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x1E), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x1F), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x20), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x21), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x22), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x23), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x24), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x25), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x26), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x27), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x28), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x1D), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x0D), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x1D), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x1D), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x1D), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x1D), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x29), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x2A), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x2B), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x2C), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x2D), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x2E), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x2F), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x30), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x31), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x32), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x33), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x34), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x35), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x36), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x37), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x38), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x39), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x3A), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x3B), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x3C), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x3D), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x3E), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x3F), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x40), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x41), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x42), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x0A), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x0E), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x0B), - DATA_MAKE_NUM(DATADIR_INSTFONT, 0x0C), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00) }; -#elif VERSION_PAL -s32 lbl_1_data_B0[0x130] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0x00140025, 0x00140026, 0x00140027, 0x00140028, 0x00140029, 0x0014002A, 0x0014002B, 0x0014002C, 0x0014002D, 0x0014002E, - 0x00140025, 0x00140025, 0x00140025, 0x0014002F, 0x00140025, 0x00140025, 0x00140025, 0x00140035, 0x00140036, 0x00140037, 0x00140038, 0x00140039, - 0x0014003A, 0x0014003B, 0x0014003C, 0x0014003D, 0x0014003E, 0x0014003F, 0x00140040, 0x00140041, 0x00140042, 0x00140043, 0x00140044, 0x00140045, - 0x00140046, 0x00140047, 0x00140048, 0x00140049, 0x0014004A, 0x0014004B, 0x0014004C, 0x0014004D, 0x0014004E, 0x00140043, 0x00140032, 0x00140043, - 0x00140043, 0x00140043, 0x00140043, 0x0014004F, 0x00140050, 0x00140051, 0x00140052, 0x00140053, 0x00140054, 0x00140055, 0x00140056, 0x00140057, - 0x00140058, 0x00140059, 0x0014005A, 0x0014005B, 0x0014005C, 0x0014005D, 0x0014005E, 0x0014005F, 0x00140060, 0x00140061, 0x00140062, 0x00140063, - 0x00140064, 0x00140065, 0x00140066, 0x00140067, 0x00140068, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, - 0x00140025, 0x00140025, 0x0014002F, 0x00140033, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, - 0x00140025, 0x00140025, 0x00140025, 0x00140069, 0x0014006A, 0x0014006B, 0x0014006C, 0x0014006D, 0x0014006E, 0x0014006F, 0x00140070, 0x00140071, - 0x00140072, 0x00140073, 0x00140074, 0x00140075, 0x00140076, 0x00140077, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, - 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, - 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, - 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140030, 0x00140031, 0x00140025, 0x00140025, 0x0014008F, 0x0014008E, 0x00140025, 0x00140025, - 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140078, 0x00140079, 0x0014007A, 0x0014007B, 0x0014007C, - 0x0014007D, 0x0014007E, 0x0014007F, 0x00140080, 0x00140081, 0x00140082, 0x00140083, 0x00140084, 0x00140085, 0x00140086, 0x00140087, 0x00140088, - 0x00140089, 0x0014008A, 0x0014008B, 0x0014008C, 0x0014008D, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, - 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, - 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, - 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, - 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, - 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, - 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025 }; -#else -s32 lbl_1_data_B0[0x132] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0x00150000, 0x00150001, 0x00150002, 0x00150003, 0x00150004, 0x00150005, 0x00150006, 0x00150007, 0x00150008, 0x00150009, - 0x0013000A, 0x0013000A, 0x0013000A, 0x0015000A, 0x0013000A, 0x0013000A, 0x0013000A, 0x00130014, 0x00130015, 0x00130016, 0x00130017, 0x00130018, - 0x00130019, 0x001500AE, 0x0013001B, 0x0013001C, 0x0013001D, 0x0013001E, 0x0013001F, 0x00130020, 0x00130021, 0x001500AF, 0x00130023, 0x00130024, - 0x00130025, 0x00130026, 0x00130027, 0x00130028, 0x00130029, 0x0013002A, 0x0013002B, 0x0013002C, 0x0013002D, 0x00130022, 0x00130022, 0x00130022, - 0x00130022, 0x00130022, 0x00130022, 0x0013002E, 0x0013002F, 0x00130030, 0x00130031, 0x00130032, 0x00130033, 0x00130034, 0x00130035, 0x00130036, - 0x00130037, 0x00130038, 0x00130039, 0x0013003A, 0x0013003B, 0x0013003C, 0x0013003D, 0x0013003E, 0x0013003F, 0x00130040, 0x00130041, 0x00130042, - 0x00130043, 0x00130044, 0x00130045, 0x00130046, 0x00130047, 0x0013000A, 0x0013000A, 0x0013000A, 0x0013000A, 0x0013000A, 0x0013000A, 0x0013000A, - 0x0013000A, 0x0013000A, 0x0015000A, 0x0013000A, 0x0015008A, 0x0015008C, 0x0015008D, 0x0015008E, 0x0015008F, 0x00150090, 0x00150091, 0x00150092, - 0x00150093, 0x00150094, 0x0013000A, 0x0015005E, 0x0015005F, 0x00150060, 0x00150061, 0x00150062, 0x00150063, 0x00150064, 0x00150065, 0x00150066, - 0x00150067, 0x00150068, 0x00150069, 0x0015006A, 0x0015006B, 0x0015006C, 0x0015006D, 0x0015006E, 0x0015006F, 0x00150070, 0x00150071, 0x00150072, - 0x00150073, 0x00150074, 0x00150075, 0x00150076, 0x00150077, 0x00150078, 0x00150079, 0x0015007A, 0x0015007B, 0x0015007C, 0x0015007D, 0x0015007E, - 0x0015007F, 0x00150080, 0x00150081, 0x00150082, 0x00150083, 0x00150084, 0x00150085, 0x00150086, 0x00150087, 0x00150088, 0x00150089, 0x0015008B, - 0x0013000A, 0x0013000A, 0x0013000A, 0x0013000A, 0x0015000B, 0x0015000C, 0x0013000A, 0x0013000A, 0x0015003A, 0x0015003C, 0x0015003D, 0x0015003E, - 0x0015003F, 0x00150040, 0x00150041, 0x00150042, 0x00150043, 0x00150044, 0x0013000A, 0x0015000E, 0x0015000F, 0x00150010, 0x00150011, 0x00150012, - 0x00150013, 0x00150014, 0x00150015, 0x00150016, 0x00150017, 0x00150018, 0x00150019, 0x0015001A, 0x0015001B, 0x0015001C, 0x0015001D, 0x0015001E, - 0x0015001F, 0x00150020, 0x00150021, 0x00150022, 0x00150023, 0x00150024, 0x00150025, 0x00150026, 0x00150027, 0x00150028, 0x00150029, 0x0015002A, - 0x0015002B, 0x0015002C, 0x0015002D, 0x0015002E, 0x0015002F, 0x00150030, 0x00150031, 0x00150032, 0x00150033, 0x00150034, 0x00150035, 0x00150036, - 0x00150037, 0x00150038, 0x00150039, 0x0015003B, 0x0013000A, 0x0013000A, 0x00150095, 0x00150096, 0x00150097, 0x00150098, 0x00150099, 0x0015009A, - 0x0015009B, 0x0015009C, 0x0015009D, 0x0015009E, 0x0015009F, 0x001500A0, 0x001500A1, 0x001500A2, 0x001500A3, 0x001500A4, 0x001500A5, 0x001500A6, - 0x001500A7, 0x001500A8, 0x001500A9, 0x001500AA, 0x001500AB, 0x001500AC, 0x001500AD, 0x00150045, 0x00150046, 0x00150047, 0x00150048, 0x00150049, - 0x0015004A, 0x0015004B, 0x0015004C, 0x0015004D, 0x0015004E, 0x0015004F, 0x00150050, 0x00150051, 0x00150052, 0x00150053, 0x00150054, 0x00150055, - 0x00150056, 0x00150057, 0x00150058, 0x00150059, 0x0015005A, 0x0015005B, 0x0015005C, 0x0015005D }; -#endif - -s32 fn_1_7754(SeqWork *work, char *mess) -{ - char* str; - s16 len; - s16* posY; - s16 charNum; - s32* fileTbl; - s16 i; - s16 grpNo; - s32 file; - s16 *posX; - AnimData **animP; - s16 gid; - s16 sprid; - s32 var_r19_2; - - fileTbl = lbl_1_data_B0; - for (grpNo = 0; grpNo < 0x10; grpNo++) { - if (work->spr_grp[grpNo] == -1) { - break; - } - } - if (grpNo == 0x10) { - return -1; - } - - animP = HuMemDirectMalloc(HEAP_SYSTEM, (FONT_CHAR_MAX * sizeof(AnimData*))); - posX = HuMemDirectMalloc(HEAP_SYSTEM, FONT_CHAR_MAX * sizeof(*posX)); - posY = HuMemDirectMalloc(HEAP_SYSTEM, FONT_CHAR_MAX * sizeof(*posY)); - - for (str = mess, len = 0, charNum = 0; str[0] != 0; str++) { - if (str[0] == 0x20 || str[0] == 0x10) { - len += VERSION_JP ? 0x1C : 0xE; - } -#if VERSION_PAL - else if (*str >= 0x30) { - var_r19_2 = fileTbl[*str]; - animP[charNum] = HuSprAnimReadFile(var_r19_2); - posX[charNum] = len; - if ((*str >= 0x61) && (*str <= 0x7A)) { - posY[charNum] = 2; - len += 0x12; - } - else if ((*str == 0xC2) || (*str == 0xC3) || (*str == 0xC7)) { - posY[charNum] = 0; - len += 0x12; - } - else if (*str == 0xC6) { - posY[charNum] = 0; - len += 0x18; - } - else if (*str == 0x5C) { - posY[charNum] = 0; - len += 8; - } - else if ((*str >= 0x90) && (*str <= 0x9F)) { - posY[charNum] = -2; - len += 0x18; - } - else if ((*str >= 0xD0) && (*str <= 0xEF)) { - posY[charNum] = -2; - len += 0x12; - } - else if ((*str == 0x3D) || (*str == 0x84)) { - posY[charNum] = 0; - len += 0x14; - } - else { - posY[charNum] = 0; - len += 0x1C; - } - charNum++; - } -#else - else if (str[0] < 0x30) { - } - else if (str[0] == 0x80) { - } - else if (str[0] == 0x81) { - } - else { - if (str[1] == 0x80) { - if ((str[0] >= 0x96) && (str[0] <= 0xA4)) { - file = fileTbl[str[0] + 0x6A]; - } - else if ((str[0] >= 0xAA) && (str[0] <= 0xAE)) { - file = fileTbl[str[0] + 0x65]; - } - else if ((str[0] >= 0xD6) && (str[0] <= 0xE4)) { - file = fileTbl[str[0] + 0x43]; - } - else if ((str[0] >= 0xEA) && (str[0] <= 0xEE)) { - file = fileTbl[str[0] + 0x3E]; - } - } - else if (str[1] == 0x81) { - if ((str[0] >= 0xAA) && (str[0] <= 0xAE)) { - file = fileTbl[str[0] + 0x6A]; - } - else if ((str[0] >= 0xEA) && (str[0] <= 0xEE)) { - file = fileTbl[str[0] + 0x43]; - } - } - else { - file = fileTbl[str[0]]; - } - animP[charNum] = HuSprAnimReadFile(file); - posX[charNum] = len; - if ((str[0] >= 0x61) && (str[0] <= 0x7A)) { - posY[charNum] = 2; - len += 0x12; - } - else if ((str[0] == 0xC2) || (str[0] == 0xC3)) { - posY[charNum] = 0; - len += 0x12; - } - else if (str[0] == 0x5C) { - posY[charNum] = 0; - len += 8; - } - else if ((str[0] >= 0x87) && (str[0] <= 0x8F)) { - posY[charNum] = 4; - len += 0x18; - } - else if ((str[0] >= 0xC7) && (str[0] <= 0xCF)) { - posY[charNum] = 4; - len += 0x18; - } -#if !VERSION_JP - else if ((str[0] == 0x3D) || (str[0] == 0x84)) { - posY[charNum] = 0; - len += 0x14; - } -#endif - else { - posY[charNum] = 0; - len += 0x1C; - } - charNum++; - } -#endif - } - gid = HuSprGrpCreate(charNum); - work->spr_grp[grpNo] = gid; - work->alt_word_len = len; - len = (len / 2) - 0xE; - for (i = 0; i < charNum; i++) { - sprid = HuSprCreate(animP[i], 0, 0); - HuSprGrpMemberSet(gid, i, sprid); - HuSprPosSet(gid, i, posX[i] - len, posY[i]); - } - work->word_len = charNum; - HuMemDirectFree(animP); - HuMemDirectFree(posX); - HuMemDirectFree(posY); - return grpNo; -} diff --git a/src/REL/ztardll/main.c b/src/REL/ztardll/main.c deleted file mode 100644 index 0d20bade..00000000 --- a/src/REL/ztardll/main.c +++ /dev/null @@ -1,1541 +0,0 @@ -#include "ext_math.h" -#include "game/chrman.h" -#include "game/gamework.h" -#include "game/gamework_data.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - -#include "REL/ztardll.h" - -extern s32 charVoiceGroupStat[8]; - -void fn_1_1774(void); -void fn_1_1CF0(void); -void fn_1_1DA0(void); -void fn_1_2350(void); -void fn_1_33B0(void); -void fn_1_40E4(void); -void fn_1_424(void); -void fn_1_4374(void); -void fn_1_4948(void); -void fn_1_51BC(s16 arg0); -s32 fn_1_524C(s32 arg0); -void fn_1_66F8(void); -void fn_1_7414(ModelData *model, Mtx matrix); - -omObjData *lbl_1_bss_6C; -Process *lbl_1_bss_68; -s32 lbl_1_bss_64; -s32 lbl_1_bss_60; -s16 lbl_1_bss_5E; -s16 lbl_1_bss_5C; - -s16 lbl_1_bss_5A; -s16 lbl_1_bss_58; -s32 lbl_1_bss_54; -s16 lbl_1_bss_52; -s16 lbl_1_bss_50; -s16 lbl_1_bss_4C[2]; -s16 lbl_1_bss_4A; -s16 lbl_1_bss_48; -s16 lbl_1_bss_46; -s16 lbl_1_bss_44; -s16 lbl_1_bss_42; -s16 lbl_1_bss_3E[2]; -s16 lbl_1_bss_36[4]; -s16 lbl_1_bss_E[4][5]; -s16 lbl_1_bss_C; -Process *lbl_1_bss_8; -s16 lbl_1_bss_4; -s32 lbl_1_bss_0; - -void ObjectSetup(void) -{ - s32 var_r31; - s32 var_r30; - - OSReport("******* ZP ObjectSetup *********\n"); - lbl_1_bss_68 = omInitObjMan(0x32, 0x2000); - lbl_1_bss_60 = 0; - lbl_1_bss_58 = omovlevtno; - _ClearFlag(0x10000); - _ClearFlag(0x10008); - GWSystem.mg_type = -1; - GWSystem.player_curr = 0; - lbl_1_bss_5E = -1; - mgBoardHostEnableF = 1; - var_r30 = omMgIndexGet(0x29); - lbl_1_bss_54 = GWMGAvailGet(var_r30 + 0x191); - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 30.0f, 20.0f, 15000.0f, 1.2f); - Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); - CRot.x = 0.0f; - CRot.y = 0.0f; - CRot.z = 0.0f; - Center.x = 0.0f; - Center.y = 90.0f; - Center.z = 30.0f; - CZoom = 1220.0f; - var_r31 = Hu3DGLightCreate(0.0f, 100.0f, 1000.0f, 0.0f, -0.5f, -1.0f, 0xFF, 0xFF, 0xFF); - Hu3DGLightInfinitytSet(var_r31); - HuPrcChildCreate(fn_1_424, 0x64, 0x3000, 0, lbl_1_bss_68); - HuPrcChildCreate(fn_1_66F8, 0xC8, 0x1000, 0, lbl_1_bss_68); - lbl_1_bss_6C = omAddObjEx(lbl_1_bss_68, 0x7FDA, 0, 0, -1, omOutView); - Hu3DBGColorSet(0, 0, 0); - HuWinInit(1); - if (lbl_1_bss_58 == 1) { - HuAudVoiceInit(-1); - } - if (lbl_1_bss_58 != 0) { - HuAudSndGrpSetSet(4); - HuAudSeqPlay(0x2E); - } - GWSystem.mg_type = -1; - mgPracticeEnableF = 1; -} - -s16 lbl_1_data_22[4] = { 0x3A, 0xC8, 0x166, 0xC8 }; - -void fn_1_424(void) -{ - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - s16 var_r31; - s16 var_r30; - s16 var_r29; - s16 var_r28; - s16 var_r27; - s16 var_r26; - - var_r26 = 0; - var_r27 = 0; - fn_1_7D6C(lbl_1_bss_68); - HuPrcVSleep(); - HuDataDirClose(DATADIR_MPEX); - lbl_1_bss_5A = 0; - if (mgQuitExtraF != 0) { - mgQuitExtraF = 0; - var_r26 = 1; - lbl_1_bss_58 = 0; - } - else { - if (lbl_1_bss_58 == 1) { - lbl_1_bss_5A = 0; - goto block_92; - } - if (lbl_1_bss_58 == 2) { - lbl_1_bss_5A = 1; - goto block_93; - } - GWPlayerCfg[0].group = GWPlayerCfg[1].group = 0; - GWPlayerCfg[2].group = GWPlayerCfg[3].group = 1; - } -block_7: - fn_1_1774(); - if (lbl_1_bss_54 == 0) { - HuSprTPLvlSet(lbl_1_bss_4C[1], 0, 0.5f); - HuSprTPLvlSet(lbl_1_bss_4C[1], 2, 0.5f); - } - if (var_r26 == 0) { - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30); - HuPrcSleep(0xA); - sp2C.x = 510.0f; - sp2C.y = 80.0f; - sp2C.z = 1500.0f; - Hu3D2Dto3D(&sp2C, 1, &sp8); - sp2C.x = 200.0f; - sp2C.y = 400.0f; - sp2C.z = 100.0f; - Hu3D2Dto3D(&sp2C, 1, &sp20); - VECSubtract(&sp8, &sp20, &sp14); - for (var_r31 = 0; var_r31 <= 0x1E; var_r31++) { - if (var_r31 <= 0x14) { - var_f31 = var_r31 / 20.0; - HuSprGrpPosSet(lbl_1_bss_52, 288.0f, 80.0 - (180.0 * (1.0 - sind((90.0f * var_f31))))); - HuSprGrpPosSet(lbl_1_bss_50, 288.0f, 80.0 - (180.0 * (1.0 - sind((90.0f * var_f31))))); - HuSprGrpPosSet(lbl_1_bss_4C[0], 138.0 - (300.0 * (1.0 - sind((90.0f * var_f31)))), 240.0f); - HuSprGrpPosSet(lbl_1_bss_4C[1], 438.0 + (300.0 * (1.0 - sind((90.0f * var_f31)))), 240.0f); - } - var_f31 = var_r31 / 30.0; - VECScale(&sp14, &sp2C, var_f31); - VECAdd(&sp2C, &sp20, &sp2C); - Hu3DModelRotSet(lbl_1_bss_42, 0.0f, -10.0f, -15.0f); - Hu3DModelPosSetV(lbl_1_bss_42, &sp2C); - HuPrcVSleep(); - } - } - else { - sp2C.x = 510.0f; - sp2C.y = 80.0f; - sp2C.z = 1500.0f; - Hu3D2Dto3D(&sp2C, 1, &sp20); - Hu3DModelRotSet(lbl_1_bss_42, 0.0f, -10.0f, -15.0f); - Hu3DModelPosSetV(lbl_1_bss_42, &sp20); - var_f31 = var_r31 / 20.0; - HuSprGrpPosSet(lbl_1_bss_52, 288.0f, 80.0f); - HuSprGrpPosSet(lbl_1_bss_50, 288.0f, 80.0f); - HuSprGrpPosSet(lbl_1_bss_4C[0], 138.0f, 240.0f); - HuSprGrpPosSet(lbl_1_bss_4C[1], 438.0f, 240.0f); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - } -loop_19: - fn_1_11020(); - fn_1_11264(MAKE_MESSID(0x33, 0x24), 0, 0); - if (lbl_1_bss_5A == 0) { - fn_1_11264(MAKE_MESSID(0x33, 0x25), 0, 1); - } - else { - fn_1_11264(MAKE_MESSID(0x33, 0x2A), 0, 1); - } - fn_1_11708(MAKE_MESSID(0x33, 0x8D)); - for (var_r31 = 0; var_r31 <= 0x0A; var_r31++) { - var_f31 = var_r31 / 10.0; - - HuSprTPLvlSet(lbl_1_bss_4A, 0, var_f31); - HuSprGrpPosSet(lbl_1_bss_4A, lbl_1_data_22[lbl_1_bss_5A * 2], lbl_1_data_22[(lbl_1_bss_5A * 2) + 1]); - HuPrcVSleep(); - } - while (TRUE) { - HuPrcVSleep(); - if ((HuPadStkX[0] / 10) != 0) { - var_r29 = lbl_1_bss_5A; - if (HuPadStkX[0] < 0 && lbl_1_bss_5A > 0) { - lbl_1_bss_5A--; - } - if (HuPadStkX[0] > 0 && lbl_1_bss_5A < 1) { - lbl_1_bss_5A++; - } - if (lbl_1_bss_5A != var_r29) { - HuAudFXPlay(0); - for (var_r31 = 0; var_r31 <= 0xA; var_r31++) { - var_f31 = sind((90.0 * (var_r31 / 10.0))); - var_f30 = lbl_1_data_22[var_r29 * 2] + (var_f31 * (lbl_1_data_22[lbl_1_bss_5A * 2] - lbl_1_data_22[var_r29 * 2])); - HuSprGrpPosSet(lbl_1_bss_4A, var_f30, lbl_1_data_22[(lbl_1_bss_5A * 2) + 1]); - HuPrcVSleep(); - } - if (lbl_1_bss_5A == 0) { - fn_1_11264(MAKE_MESSID(0x33, 0x25), 0, 1); - } - else { - fn_1_11264(MAKE_MESSID(0x33, 0x2A), 0, 1); - } - } - } - if (HuPadBtnDown[0] & PAD_BUTTON_B) { - HuAudFXPlay(3); - fn_1_111E0(); - fn_1_1190C(); - lbl_1_bss_60 = 1; - while (TRUE) { - HuPrcVSleep(); - } - } - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - if (lbl_1_bss_5A != 1 || lbl_1_bss_54 != 0) { - break; - } - HuAudFXPlay(4); - } - } - HuAudFXPlay(2); - fn_1_111E0(); - fn_1_1190C(); - lbl_1_bss_5E = -1; - var_r29 = lbl_1_bss_5A ^ 1; - for (var_r31 = 0; var_r31 <= 0x14; var_r31++) { - if (var_r31 <= 0xA) { - var_f31 = var_r31 / 10.0; - HuSprTPLvlSet(lbl_1_bss_4A, 0, 1.0 - var_f31); - } - var_f31 = 1.0 - (var_r31 / 20.0); - - HuSprGrpScaleSet(lbl_1_bss_4C[var_r29], var_f31, var_f31); - if (lbl_1_bss_5A == 0) { - var_f31 = -var_f31; - } - HuSprGrpPosSet(lbl_1_bss_4C[lbl_1_bss_5A], 288.0f + (150.0f * var_f31), 240.0f); - HuPrcVSleep(); - } - for (var_r27 = 0;;) { - if (lbl_1_bss_5A == 0) { - var_r30 = fn_1_97D0(2, var_r27); - } - else { - var_r30 = fn_1_97D0(3, var_r27); - if (var_r30 != 0) { - mgTypeCurr = 2; - var_r30 = fn_1_524C(1); - if (var_r30 == 0) { - var_r27 = 1; - continue; - } - } - } - if (var_r30 == 0) { - for (var_r31 = 0; var_r31 <= 0x14; var_r31++) { - var_f31 = var_r31 / 20.0; - HuSprGrpScaleSet(lbl_1_bss_4C[var_r29], var_f31, var_f31); - if (lbl_1_bss_5A != 0) { - var_f31 = -var_f31; - } - HuSprGrpPosSet(lbl_1_bss_4C[lbl_1_bss_5A], 288.0f - (150.0f * var_f31), 240.0f); - var_f31 = var_r31 / 20.0; - if (lbl_1_bss_5A == 0) { - var_r28 = -1; - } - else { - var_r28 = 1; - } - HuSprGrpPosSet(lbl_1_bss_46, 288.0 + (var_r28 * (400.0 * (1.0 - cosd((90.0f * var_f31))))), 340.0f); - HuPrcVSleep(); - } - goto loop_19; - } - var_r27 = 1; - fn_1_1DA0(); - for (var_r31 = 0; var_r31 <= 0x14; var_r31++) { - var_f31 = var_r31 / 20.0; - if (lbl_1_bss_5A == 0) { - var_r28 = -1; - } - else { - var_r28 = 1; - } - HuSprGrpPosSet(lbl_1_bss_46, 288.0 + (var_r28 * (400.0 * (1.0 - sind((90.0f * var_f31))))), 340.0f); - HuPrcVSleep(); - } - if (lbl_1_bss_5A == 0) { - fn_1_40E4(); - } - if (lbl_1_bss_4 == 0) { - lbl_1_bss_4 = 1; - HuPrcChildCreate(fn_1_7C00, 0x64, 0x2000, 0, lbl_1_bss_68); - } - fn_1_11020(); - fn_1_11264(MAKE_MESSID(0x33, 0x2C), 0, 0); - var_r30 = fn_1_11390(0); - if (var_r30 != -1) { - if (var_r30 != 1) { - break; - } - } - fn_1_111E0(); - for (var_r31 = 0; var_r31 <= 0xA; var_r31++) { - var_f31 = cosd((90.0 * (var_r31 / 10.0))); - HuSprGrpScaleSet(lbl_1_bss_46, 1.0f, var_f31); - HuPrcVSleep(); - } - HuSprGrpKill(lbl_1_bss_46); - } - fn_1_111E0(); - fn_1_1190C(); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - mgBattleStarMax = 0; - HuSprGrpKill(lbl_1_bss_48); - HuSprGrpKill(lbl_1_bss_52); - HuSprGrpKill(lbl_1_bss_50); - HuSprGrpKill(lbl_1_bss_4C[0]); - HuSprGrpKill(lbl_1_bss_4C[1]); - HuSprGrpKill(lbl_1_bss_4A); - HuSprGrpKill(lbl_1_bss_46); - Hu3DModelKill(lbl_1_bss_42); - HuPrcKill(lbl_1_bss_8); - while (lbl_1_bss_4 != 0) { - HuPrcVSleep(); - } - if (lbl_1_bss_5A == 0) { - block_92: - fn_1_2350(); - } - else { - block_93: - fn_1_4374(); - } - var_r26 = 1; - goto block_7; -} - -void fn_1_1774(void) -{ - SeqWork work; - s16 var_r31; - s16 var_r30; - char *var_r29; - s16 var_r28; - AnimData *var_r27; - char *var_r26; - AnimData *var_r25; - AnimData *var_r24; - AnimData *var_r23; - - var_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 3)); - lbl_1_bss_48 = HuSprGrpCreate(1); - var_r31 = HuSprCreate(var_r27, 0xC8, 0); - HuSprGrpMemberSet(lbl_1_bss_48, 0, var_r31); - HuSprGrpDrawNoSet(lbl_1_bss_48, 0x7F); - HuSprGrpPosSet(lbl_1_bss_48, 288.0f, 240.0f); - for (var_r30 = 0; var_r30 < 0x10; var_r30++) { - work.sprite[var_r30] = work.spr_grp[var_r30] = -1; - } - var_r29 = MessData_MesPtrGet(messDataPtr, MAKE_MESSID(0x17, 0x21)); - for (var_r26 = var_r29; *var_r29 != 0; var_r29++) { - if (*var_r29 == 0xA) { - *var_r29 = 0x10; - } - } - lbl_1_bss_52 = work.spr_grp[fn_1_7754(&work, var_r26)]; - HuSprGrpPosSet(lbl_1_bss_52, 288.0f, -300.0f); - HuSprGrpDrawNoSet(lbl_1_bss_52, 0x7F); - var_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 4)); - lbl_1_bss_50 = HuSprGrpCreate(1); - var_r31 = HuSprCreate(var_r27, 0x64, 0); - HuSprGrpMemberSet(lbl_1_bss_50, 0, var_r31); - HuSprGrpPosSet(lbl_1_bss_50, 288.0f, -300.0f); - HuSprGrpDrawNoSet(lbl_1_bss_50, 0x7F); - var_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 5)); - var_r25 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 14)); - var_r24 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 64)); - var_r23 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 15)); - for (var_r30 = 0; var_r30 < 2; var_r30++) { - var_r28 = HuSprGrpCreate(4); - lbl_1_bss_4C[var_r30] = var_r28; - var_r31 = HuSprCreate(var_r27, 0x64, var_r30); - HuSprGrpMemberSet(var_r28, 0, var_r31); - var_r31 = HuSprCreate(var_r25, 0x6E, 0); - HuSprGrpMemberSet(var_r28, 1, var_r31); - var_r31 = HuSprCreate(var_r24, 0x78, 0); - HuSprGrpMemberSet(var_r28, 2, var_r31); - HuSprScaleSet(var_r28, 2, 0.5f, 0.5f); - var_r31 = HuSprCreate(var_r23, 0x82, 0); - HuSprGrpMemberSet(var_r28, 3, var_r31); - HuSprGrpPosSet(var_r28, 288.0f, -300.0f); - HuSprGrpDrawNoSet(var_r28, 0x7F); - } - var_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 6)); - lbl_1_bss_4A = HuSprGrpCreate(1); - var_r31 = HuSprCreate(var_r27, 0x32, 0); - HuSprGrpMemberSet(lbl_1_bss_4A, 0, var_r31); - HuSprGrpPosSet(lbl_1_bss_4A, 288.0f, -300.0f); - lbl_1_bss_42 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_ZTAR, 0)); - lbl_1_bss_3E[0] = Hu3DJointMotionFile(lbl_1_bss_42, DATA_MAKE_NUM(DATADIR_ZTAR, 1)); - lbl_1_bss_3E[1] = Hu3DJointMotionFile(lbl_1_bss_42, DATA_MAKE_NUM(DATADIR_ZTAR, 2)); - Hu3DMotionSet(lbl_1_bss_42, lbl_1_bss_3E[0]); - Hu3DModelAttrSet(lbl_1_bss_42, HU3D_MOTATTR_LOOP); - Hu3DModelPosSet(lbl_1_bss_42, 0.0f, 1000.0f, 0.0f); - lbl_1_bss_8 = HuPrcChildCreate(fn_1_1CF0, 0x64, 0x2000, 0, lbl_1_bss_68); -} - -void fn_1_1CF0(void) -{ - float var_f31 = 0.0f; - ModelData *var_r31 = &Hu3DData[lbl_1_bss_42]; - - while (TRUE) { - var_r31->pos.y += sind(var_f31); - var_f31 += 3.0f; - if (var_f31 > 360.0f) { - var_f31 -= 360.0f; - } - HuPrcVSleep(); - } -} - -void fn_1_1DA0(void) -{ - s16 spC[4]; - s16 sp8[2]; - s16 var_r31; - AnimData *var_r30; - s16 var_r29; - s16 var_r28; - s16 var_r27; - - sp8[0] = 0; - sp8[1] = 2; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - spC[sp8[GWPlayerCfg[var_r31].group]++] = var_r31; - } - if (lbl_1_bss_5A == 0) { - var_r28 = HuSprGrpCreate(5); - lbl_1_bss_46 = var_r28; - var_r30 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 17)); - var_r29 = HuSprCreate(var_r30, 0x78, 0); - HuSprGrpMemberSet(var_r28, 0, var_r29); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r30 = HuSprAnimReadFile(GWPlayerCfg[spC[var_r31]].character + DATA_MAKE_NUM(DATADIR_ZTAR, 18)); - var_r29 = HuSprCreate(var_r30, 0x6E, 0); - HuSprGrpMemberSet(var_r28, (var_r31 * 2) + 1, var_r29); - HuSprPosSet(var_r28, (var_r31 * 2) + 1, (var_r31 * 0x30) - 0x18, -4.0f); - if (GWPlayerCfg[spC[var_r31]].iscom == 0) { - var_r30 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 32)); - var_r29 = HuSprCreate(var_r30, 0x64, spC[var_r31]); - } - else { - var_r30 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 33)); - var_r29 = HuSprCreate(var_r30, 0x64, GWPlayerCfg[spC[var_r31]].diff); - } - HuSprGrpMemberSet(var_r28, (var_r31 * 2) + 2, var_r29); - HuSprPosSet(var_r28, (var_r31 * 2) + 2, (var_r31 * 0x30) - 0x18, 20.0f); - } - } - else { - var_r28 = HuSprGrpCreate(0xA); - lbl_1_bss_46 = var_r28; - var_r30 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 16)); - var_r29 = HuSprCreate(var_r30, 0x78, 0); - HuSprGrpMemberSet(var_r28, 0, var_r29); - var_r27 = -0x4B; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = HuSprAnimReadFile(GWPlayerCfg[spC[var_r31]].character + DATA_MAKE_NUM(DATADIR_ZTAR, 18)); - var_r29 = HuSprCreate(var_r30, 0x6E, 0); - HuSprGrpMemberSet(var_r28, (var_r31 * 2) + 1, var_r29); - HuSprPosSet(var_r28, (var_r31 * 2) + 1, var_r27, 0.0f); - if (GWPlayerCfg[spC[var_r31]].iscom == 0) { - var_r30 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 32)); - var_r29 = HuSprCreate(var_r30, 0x64, spC[var_r31]); - } - else { - var_r30 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 33)); - var_r29 = HuSprCreate(var_r30, 0x64, GWPlayerCfg[spC[var_r31]].diff); - } - HuSprGrpMemberSet(var_r28, (var_r31 * 2) + 2, var_r29); - HuSprPosSet(var_r28, (var_r31 * 2) + 2, var_r27, 22.0f); - var_r27 += 0x2A; - if (var_r31 == 1) { - var_r27 += 0x18; - } - } - var_r30 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 10)); - var_r29 = HuSprCreate(var_r30, 0x5A, 0); - HuSprGrpMemberSet(var_r28, 9, var_r29); - } - HuSprGrpPosSet(var_r28, 0.0f, -100.0f); -} - -void fn_1_2350(void) -{ - s16 spC[4]; - s16 sp8[2]; - float var_f31; - s16 var_r31; - - sp8[0] = 0; - sp8[1] = 2; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - spC[sp8[GWPlayerCfg[var_r31].group]++] = var_r31; - } - if (lbl_1_bss_58 != 0) { - if (GWPlayerCoinWinGet(spC[0]) > 0) { - mgBattleStarMax++; - } - } - fn_1_33B0(); - Hu3DModelPosSet(lbl_1_bss_36[2], 500.0f, 0.0f, 0.0f); - Hu3DModelPosSet(lbl_1_bss_36[3], 500.0f, 0.0f, 0.0f); - HuSprScaleSet(lbl_1_bss_50, 2, 0.0f, 0.0f); - if (lbl_1_bss_58 != 0) { - if (GWPlayerCoinWinGet(spC[0]) == 0) { - mgBattleStarMax++; - } - HuSprBankSet(lbl_1_bss_50, 1, mgBattleStarMax); - HuSprScaleSet(lbl_1_bss_50, 1, 1.0f, 1.0f); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - HuPrcSleep(0x1E); - if (GWPlayerCoinWinGet(spC[0]) > 0) { - HuSprAttrReset(lbl_1_bss_44, 6, 4); - HuSprPosSet(lbl_1_bss_44, 6, ((mgBattleStarMax - 1) << 5) + 0x46, 340.0f); - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - var_f31 = var_r31 / 60.0; - HuSprTPLvlSet(lbl_1_bss_44, 6, var_f31); - var_f31 = 1.0 + (5.0 * cosd((90.0f * var_f31))); - HuSprScaleSet(lbl_1_bss_44, 6, var_f31, var_f31); - if (var_r31 == 0x14) { - HuAudFXPlay(0x9A); - if (mgBattleStarMax < 6) { - Hu3DMotionShiftSet(lbl_1_bss_36[0], lbl_1_bss_E[0][2], 0.0f, 10.0f, HU3D_MOTATTR_NONE); - Hu3DMotionShiftSet(lbl_1_bss_36[1], lbl_1_bss_E[1][2], 0.0f, 10.0f, HU3D_MOTATTR_NONE); - } - else { - Hu3DMotionShiftSet(lbl_1_bss_36[0], lbl_1_bss_E[0][3], 0.0f, 10.0f, HU3D_MOTATTR_NONE); - Hu3DMotionShiftSet(lbl_1_bss_36[1], lbl_1_bss_E[1][3], 0.0f, 10.0f, HU3D_MOTATTR_NONE); - } - } - HuPrcVSleep(); - } - HuAudFXPlay(8); - if (mgBattleStarMax >= 6) { - HuPrcSleep(0x3C); - var_r31 = omMgIndexGet(0x29); - lbl_1_bss_54 = 1; - fn_1_11020(); - fn_1_11338(GWPlayerCfg[spC[0]].character, 0); - fn_1_11338(GWPlayerCfg[spC[1]].character, 1); - fn_1_11264(MAKE_MESSID(0x33, 0xA0), 0, 0); - if (GWMGAvailGet(var_r31 + 0x191) == 0) { - GWMGAvailSet(var_r31 + 0x191); - GWGameStat.present[0x37] = 1; - fn_1_11264(MAKE_MESSID(0x33, 0x29), 0, 0); - } - fn_1_111E0(); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - } - else { - Hu3DMotionShiftSet(lbl_1_bss_36[0], lbl_1_bss_E[0][0], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSet(lbl_1_bss_36[1], lbl_1_bss_E[1][0], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - for (var_r31 = 0; var_r31 <= 0xA; var_r31++) { - var_f31 = 1.0 - (var_r31 / 10.0); - HuSprScaleSet(lbl_1_bss_50, 1, var_f31, var_f31); - HuPrcVSleep(); - } - HuPrcSleep(0x3C); - goto block_39; - } - } - else { - Hu3DMotionShiftSet(lbl_1_bss_36[0], lbl_1_bss_E[0][4], 0.0f, 10.0f, HU3D_MOTATTR_NONE); - Hu3DMotionShiftSet(lbl_1_bss_36[1], lbl_1_bss_E[1][4], 0.0f, 10.0f, HU3D_MOTATTR_NONE); - HuPrcSleep(0xB4); - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - } - } - else { - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - HuPrcSleep(0x1E); - block_39: - Hu3DMotionSet(lbl_1_bss_36[2], lbl_1_bss_E[2][1]); - Hu3DMotionSet(lbl_1_bss_36[3], lbl_1_bss_E[3][1]); - Hu3DModelRotSet(lbl_1_bss_36[2], 0.0f, -90.0f, 0.0f); - Hu3DModelRotSet(lbl_1_bss_36[3], 0.0f, -90.0f, 0.0f); - HuSprBankSet(lbl_1_bss_50, 1, mgBattleStarMax + 1); - for (var_r31 = 0; var_r31 <= 0x1E; var_r31++) { - var_f31 = 1.0 - sind((90.0 * (var_r31 / 30.0))); - Hu3DModelPosSet(lbl_1_bss_36[2], 125.0f + (400.0f * var_f31), 0.0f, 0.0f); - Hu3DModelPosSet(lbl_1_bss_36[3], 275.0f + (400.0f * var_f31), 0.0f, 0.0f); - if (var_r31 == 0x19) { - Hu3DMotionShiftSet(lbl_1_bss_36[2], lbl_1_bss_E[2][0], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - Hu3DMotionShiftSet(lbl_1_bss_36[3], lbl_1_bss_E[3][0], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - } - if ((GWPlayerCfg[2].character < 8) && ((var_r31 % 5) == 0)) { - HuAudFXPlay(GWPlayerCfg[2].character + 0xD5); - } - if ((GWPlayerCfg[3].character < 8) && (((var_r31 + 3) % 5) == 0)) { - HuAudFXPlay(GWPlayerCfg[3].character + 0xD5); - } - if (var_r31 > 0x14) { - var_f31 = 1.0 - ((var_r31 - 0x14) / 10.0); - Hu3DModelRotSet(lbl_1_bss_36[2], 0.0f, 90.0f * -var_f31, 0.0f); - Hu3DModelRotSet(lbl_1_bss_36[3], 0.0f, 90.0f * -var_f31, 0.0f); - } - if (var_r31 <= 0x14) { - var_f31 = 1.2 * sind((90.0 * (var_r31 / 20.0))); - HuSprScaleSet(lbl_1_bss_50, 1, var_f31, var_f31); - } - else if (var_r31 > 0x14) { - var_f31 = 1.0 + (0.2 * cosd((90.0 * ((var_r31 - 0x14) / 10.0)))); - HuSprScaleSet(lbl_1_bss_50, 1, var_f31, var_f31); - } - HuPrcVSleep(); - } - HuAudFXPlay(0x355); - for (var_r31 = 0; var_r31 <= 0x14; var_r31++) { - var_f31 = 1.0 + (5.0 * cosd((90.0 * (var_r31 / 20.0)))); - HuSprScaleSet(lbl_1_bss_50, 2, var_f31, var_f31); - HuSprTPLvlSet(lbl_1_bss_50, 2, var_r31 / 20.0); - HuPrcVSleep(); - } - fn_1_114EC(MAKE_MESSID(0x33, 0x4F), 1); - while (TRUE) { - if ((*HuPadBtnDown & 0x100) != 0) { - HuAudFXPlay(2); - if (mgBattleStarMax >= 5) { - GWSystem.mg_type = 0; - } - fn_1_51BC(1); - } - if ((*HuPadBtnDown & 0x200) != 0) { - break; - } - HuPrcVSleep(); - } - HuAudFXPlay(3); - fn_1_1190C(); - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - } - HuSprGrpKill(lbl_1_bss_48); - HuSprGrpKill(lbl_1_bss_50); - HuSprGrpKill(lbl_1_bss_44); - Hu3DModelKill(lbl_1_bss_42); - HuPrcKill(lbl_1_bss_8); - Hu3DModelKill(lbl_1_bss_C); - CharModelKill(-1); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (GWPlayerCfg[spC[var_r31]].character >= 8) { - Hu3DModelKill(lbl_1_bss_36[var_r31]); - Hu3DMotionKill(lbl_1_bss_E[var_r31][0]); - Hu3DMotionKill(lbl_1_bss_E[var_r31][1]); - } - } - lbl_1_bss_58 = 0; - lbl_1_bss_5A = 0; -} - -s32 lbl_1_data_2C[6] = { - DATA_MAKE_NUM(DATADIR_ZTAR, 59), - DATA_MAKE_NUM(DATADIR_ZTAR, 34), - DATA_MAKE_NUM(DATADIR_ZTAR, 39), - DATA_MAKE_NUM(DATADIR_ZTAR, 44), - DATA_MAKE_NUM(DATADIR_ZTAR, 49), - DATA_MAKE_NUM(DATADIR_ZTAR, 54), -}; - -u8 lbl_1_data_44[6] = { 0, 1, 1, 2, 2, 3 }; - -void fn_1_33B0(void) -{ - Vec sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - s16 spC[4]; - s16 sp8[2]; - s16 var_r31; - s16 var_r30; - AnimData *var_r29; - s16 var_r28; - s16 var_r27; - s16 var_r26; - s16 var_r25; - s16 var_r24; - AnimData *var_r23; - - sp8[0] = 0; - sp8[1] = 2; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - spC[sp8[GWPlayerCfg[var_r31].group]++] = var_r31; - } - var_r29 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 3)); - lbl_1_bss_48 = HuSprGrpCreate(1); - var_r30 = HuSprCreate(var_r29, 0xC8, 0); - HuSprGrpMemberSet(lbl_1_bss_48, 0, var_r30); - HuSprGrpDrawNoSet(lbl_1_bss_48, 0x7F); - HuSprGrpPosSet(lbl_1_bss_48, 288.0f, 240.0f); - lbl_1_bss_50 = HuSprGrpCreate(3); - var_r29 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 12)); - var_r30 = HuSprCreate(var_r29, 0x78, 0); - HuSprGrpMemberSet(lbl_1_bss_50, 0, var_r30); - HuSprPosSet(lbl_1_bss_50, 0, 288.0f, 80.0f); - var_r29 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 11)); - if ((mgBattleStarMax + 1) >= 7) { - var_r30 = HuSprCreate(var_r29, 0x64, 6); - } - else { - var_r30 = HuSprCreate(var_r29, 0x64, mgBattleStarMax + 1); - } - HuSprGrpMemberSet(lbl_1_bss_50, 1, var_r30); - HuSprPosSet(lbl_1_bss_50, 1, VERSION_JP ? 234.0f : 342.0f, 80.0f); - HuSprScaleSet(lbl_1_bss_50, 1, 0.0f, 0.0f); - HuSprGrpDrawNoSet(lbl_1_bss_50, 0x7F); - var_r29 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 9)); - var_r30 = HuSprCreate(var_r29, 0x64, 0); - HuSprGrpMemberSet(lbl_1_bss_50, 2, var_r30); - HuSprPosSet(lbl_1_bss_50, 2, 288.0f, 240.0f); - HuSprDrawNoSet(lbl_1_bss_50, 2, 0); - HuSprGrpPosSet(lbl_1_bss_50, 0.0f, 0.0f); - var_r27 = HuSprGrpCreate(7); - lbl_1_bss_44 = var_r27; - var_r29 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 8)); - var_r23 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 7)); - var_r24 = mgBattleStarMax; - if (GWPlayerCoinWinGet(spC[0]) > 0) { - var_r24--; - } - for (var_r31 = 0; var_r31 < 6; var_r31++) { - if (var_r31 >= var_r24) { - var_r30 = HuSprCreate(var_r23, 0x64, 0); - } - else { - var_r30 = HuSprCreate(var_r29, 0x64, 0); - } - HuSprGrpMemberSet(var_r27, var_r31, var_r30); - HuSprPosSet(var_r27, var_r31, (var_r31 << 5) + 0x46, 340.0f); - } - var_r30 = HuSprCreate(var_r29, 0x5A, 0); - HuSprGrpMemberSet(var_r27, 6, var_r30); - HuSprAttrSet(var_r27, 6, 4); - HuSprGrpPosSet(var_r27, 0.0f, 0.0f); - sp38.x = 510.0f; - sp38.y = 80.0f; - sp38.z = 1500.0f; - Hu3D2Dto3D(&sp38, 1, &sp2C); - lbl_1_bss_42 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_ZTAR, 0)); - lbl_1_bss_3E[0] = Hu3DJointMotionFile(lbl_1_bss_42, DATA_MAKE_NUM(DATADIR_ZTAR, 1)); - lbl_1_bss_3E[1] = Hu3DJointMotionFile(lbl_1_bss_42, DATA_MAKE_NUM(DATADIR_ZTAR, 2)); - Hu3DModelAttrSet(lbl_1_bss_42, HU3D_MOTATTR_LOOP); - Hu3DModelPosSetV(lbl_1_bss_42, &sp2C); - Hu3DModelRotSet(lbl_1_bss_42, 0.0f, -10.0f, -15.0f); - Hu3DMotionSet(lbl_1_bss_42, lbl_1_bss_3E[0]); - lbl_1_bss_8 = HuPrcChildCreate(fn_1_1CF0, 0x64, 0x2000, 0, lbl_1_bss_68); - GWPlayerCfg[spC[2]].character = mgIndexList[mgBattleStarMax * 2]; - GWPlayerCfg[spC[3]].character = mgIndexList[mgBattleStarMax * 2 + 1]; - GWPlayerCfg[spC[0]].group = GWPlayerCfg[spC[1]].group = 0; - GWPlayerCfg[spC[2]].group = GWPlayerCfg[spC[3]].group = 1; - GWPlayerCfg[spC[2]].iscom = GWPlayerCfg[spC[3]].iscom = 1; - GWPlayerCfg[spC[2]].diff = GWPlayerCfg[spC[3]].diff = lbl_1_data_44[mgBattleStarMax]; - var_r26 = -0x113; - if (lbl_1_bss_58 != 0) { - CharKill(-1); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (GWPlayerCfg[spC[var_r31]].character < 8) { - CharARAMOpen(GWPlayerCfg[spC[var_r31]].character); - } - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r28 = GWPlayerCfg[spC[var_r31]].character; - if (var_r28 != 0xFF) { - if (var_r28 < 8) { - lbl_1_bss_36[var_r31] = CharModelCreate(var_r28, 2); - lbl_1_bss_E[var_r31][0] = CharModelMotionCreate(var_r28, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00)); - lbl_1_bss_E[var_r31][1] = CharModelMotionCreate(var_r28, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03)); - if (var_r31 < 2) { - lbl_1_bss_E[var_r31][2] = CharModelMotionCreate(var_r28, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x48)); - lbl_1_bss_E[var_r31][3] = CharModelMotionCreate(var_r28, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17)); - lbl_1_bss_E[var_r31][4] = CharModelMotionCreate(var_r28, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18)); - } - CharModelVoiceEnableSet(GWPlayerCfg[spC[var_r31]].character, lbl_1_bss_E[var_r31][1], 0); - Hu3DModelScaleSet(lbl_1_bss_36[var_r31], 0.8f, 0.8f, 0.8f); - } - else { - var_r25 = var_r28 - 8; - lbl_1_bss_36[var_r31] = Hu3DModelCreateFile(lbl_1_data_2C[var_r25]); - lbl_1_bss_E[var_r31][0] = Hu3DJointMotionFile(lbl_1_bss_36[var_r31], lbl_1_data_2C[var_r25] + 1); - lbl_1_bss_E[var_r31][1] = Hu3DJointMotionFile(lbl_1_bss_36[var_r31], lbl_1_data_2C[var_r25] + 2); - Hu3DModelScaleSet(lbl_1_bss_36[var_r31], 0.8f, 0.8f, 0.8f); - } - Hu3DMotionSet(lbl_1_bss_36[var_r31], lbl_1_bss_E[var_r31][0]); - Hu3DModelAttrSet(lbl_1_bss_36[var_r31], HU3D_MOTATTR_LOOP); - Hu3DModelPosSet(lbl_1_bss_36[var_r31], var_r26, 0.0f, 0.0f); - Hu3DModelShadowSet(lbl_1_bss_36[var_r31]); - var_r26 += 0x96; - if (var_r31 == 1) { - var_r26 += 0x64; - } - } - } - CharModelDataClose(-1); - Hu3DShadowCreate(20.0f, 500.0f, 8000.0f); - Hu3DShadowTPLvlSet(0.5f); - Hu3DShadowSizeSet(0xC0); - sp20.x = sp20.y = sp20.z = 0.0f; - sp38.x = sp38.z = 100.0f; - sp38.y = 2000.0f; - sp14.x = sp14.y = 0.0f; - sp14.z = 1.0f; - Hu3DShadowPosSet(&sp38, &sp14, &sp20); - lbl_1_bss_C = Hu3DHookFuncCreate(fn_1_7414); - Hu3DModelLayerSet(lbl_1_bss_C, 1); -} - -void fn_1_40E4(void) -{ - s16 sp14[4]; - s16 spC[4]; - s16 sp8[2]; - s16 var_r31; - s16 var_r30; - s16 var_r29; - s16 var_r28; - - sp8[0] = 0; - sp8[1] = 2; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - spC[sp8[GWPlayerCfg[var_r31].group]++] = var_r31; - } - var_r30 = 0; - for (var_r31 = var_r30; var_r31 < 8; var_r31++) { - if ((var_r31 != GWPlayerCfg[spC[0]].character) && (var_r31 != GWPlayerCfg[spC[1]].character)) { - sp14[var_r30++] = var_r31; - } - } - for (var_r31 = 0; var_r31 < 0x1E; var_r31++) { - var_r30 = frandmod(6); - var_r29 = frandmod(6); - var_r28 = sp14[var_r30]; - sp14[var_r30] = sp14[var_r29]; - sp14[var_r29] = var_r28; - } - for (var_r31 = 0; var_r31 < 6; var_r31++) { - mgIndexList[var_r31] = sp14[var_r31]; - } - mgIndexList[6] = 0xC; - mgIndexList[7] = 9; - mgIndexList[8] = 0xB; - mgIndexList[9] = 0xA; - mgIndexList[0xA] = 8; - mgIndexList[0xB] = 0xD; - mgIndexList[0xC] = mgIndexList[0xD] = 0xFF; - GWPlayerCfg[spC[2]].character = mgIndexList[0]; - GWPlayerCfg[spC[3]].character = mgIndexList[1]; -} - -s16 lbl_1_data_4A[6] = { 0x3A, 0x36, 0x40, 0x4B, 0x46, 0x3E }; -s16 lbl_1_data_56[7] = { 0x3B, 0x38, 0x42, 0x4D, 0x48, 0x3F, 0 }; - -void fn_1_4374(void) -{ - s16 spC[4]; - s16 sp8[2]; - float var_f31; - s16 var_r31; - s16 var_r30; - - sp8[0] = 0; - sp8[1] = 2; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - spC[sp8[GWPlayerCfg[var_r31].group]++] = var_r31; - } - fn_1_4948(); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - HuPrcSleep(0x1E); - if (lbl_1_bss_58 != 0) { - var_r30 = 0; - for (var_r31 = var_r30; var_r31 < 4; var_r31++) { - if (GWPlayerCoinWinGet(spC[var_r31]) > 0) { - if (var_r30 == 0) { - HuAudFXPlay(0x9A); - } - if (GWPlayerCfg[spC[var_r31]].character >= 8) { - HuAudFXPlay(lbl_1_data_4A[GWPlayerCfg[spC[var_r31]].character - 8]); - } - Hu3DMotionShiftSet(lbl_1_bss_36[var_r31], lbl_1_bss_E[var_r31][3], 0.0f, 10.0f, HU3D_MOTATTR_NONE); - var_r30++; - } - else { - if (GWPlayerCfg[spC[var_r31]].character >= 8) { - HuAudFXPlay(lbl_1_data_56[GWPlayerCfg[spC[var_r31]].character - 8]); - } - Hu3DMotionShiftSet(lbl_1_bss_36[var_r31], lbl_1_bss_E[var_r31][4], 0.0f, 10.0f, HU3D_MOTATTR_NONE); - } - } - HuSprAttrReset(lbl_1_bss_50, 1, 4); - HuPrcSleep(0x78); - } - else { - HuAudFXPlay(0x355); - HuSprAttrReset(lbl_1_bss_50, 1, 4); - for (var_r31 = 0; var_r31 <= 0x14; var_r31++) { - var_f31 = 1.0 + (5.0 * cosd((90.0 * (var_r31 / 20.0)))); - - HuSprScaleSet(lbl_1_bss_50, 1, var_f31, var_f31); - HuSprTPLvlSet(lbl_1_bss_50, 1, var_r31 / 20.0); - HuPrcVSleep(); - } - } - fn_1_114EC(MAKE_MESSID(0x33, 0x4F), 1); - while (TRUE) { - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - HuAudFXPlay(2); - fn_1_51BC(2); - } - if (HuPadBtnDown[0] & PAD_BUTTON_B) { - break; - } - HuPrcVSleep(); - } - HuAudFXPlay(3); - fn_1_1190C(); - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - HuSprGrpKill(lbl_1_bss_48); - HuSprGrpKill(lbl_1_bss_50); - Hu3DModelKill(lbl_1_bss_42); - HuPrcKill(lbl_1_bss_8); - Hu3DModelKill(lbl_1_bss_C); - CharModelKill(-1); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (GWPlayerCfg[spC[var_r31]].character >= 8) { - Hu3DModelKill(lbl_1_bss_36[var_r31]); - Hu3DMotionKill(lbl_1_bss_E[var_r31][0]); - Hu3DMotionKill(lbl_1_bss_E[var_r31][1]); - } - } - lbl_1_bss_58 = 0; - lbl_1_bss_5A = 0; -} - -void fn_1_4948(void) -{ - Vec sp38; - Vec sp2C; - Vec sp20; - Vec sp14; - s16 spC[4]; - s16 sp8[2]; - s16 var_r31; - s16 var_r30; - s16 var_r29; - s16 var_r28; - AnimData *var_r27; - s16 var_r26; - s16 var_r25; - - sp8[0] = 0; - sp8[1] = 2; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - spC[sp8[GWPlayerCfg[var_r31].group]++] = var_r31; - } - var_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 3)); - lbl_1_bss_48 = HuSprGrpCreate(1); - var_r29 = HuSprCreate(var_r27, 0xC8, 0); - HuSprGrpMemberSet(lbl_1_bss_48, 0, var_r29); - HuSprGrpDrawNoSet(lbl_1_bss_48, 0x7F); - HuSprGrpPosSet(lbl_1_bss_48, 288.0f, 240.0f); - lbl_1_bss_50 = HuSprGrpCreate(2); - var_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 13)); - var_r29 = HuSprCreate(var_r27, 0x78, 0); - HuSprGrpMemberSet(lbl_1_bss_50, 0, var_r29); - HuSprPosSet(lbl_1_bss_50, 0, 288.0f, 80.0f); - HuSprGrpPosSet(lbl_1_bss_50, 0.0f, 0.0f); - HuSprGrpDrawNoSet(lbl_1_bss_50, 0x7F); - var_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 9)); - var_r29 = HuSprCreate(var_r27, 0x64, 0); - HuSprGrpMemberSet(lbl_1_bss_50, 1, var_r29); - HuSprPosSet(lbl_1_bss_50, 1, 288.0f, 240.0f); - HuSprAttrSet(lbl_1_bss_50, 1, 4); - HuSprDrawNoSet(lbl_1_bss_50, 1, 0); - sp38.x = 510.0f; - sp38.y = 80.0f; - sp38.z = 1500.0f; - Hu3D2Dto3D(&sp38, 1, &sp2C); - lbl_1_bss_42 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_ZTAR, 0)); - lbl_1_bss_3E[0] = Hu3DJointMotionFile(lbl_1_bss_42, DATA_MAKE_NUM(DATADIR_ZTAR, 1)); - lbl_1_bss_3E[1] = Hu3DJointMotionFile(lbl_1_bss_42, DATA_MAKE_NUM(DATADIR_ZTAR, 2)); - Hu3DModelAttrSet(lbl_1_bss_42, HU3D_MOTATTR_LOOP); - Hu3DModelPosSetV(lbl_1_bss_42, &sp2C); - Hu3DModelRotSet(lbl_1_bss_42, 0.0f, -10.0f, -15.0f); - Hu3DMotionSet(lbl_1_bss_42, lbl_1_bss_3E[0]); - lbl_1_bss_8 = HuPrcChildCreate(fn_1_1CF0, 0x64, 0x2000, 0, lbl_1_bss_68); - var_r28 = -0x113; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = GWPlayerCfg[spC[var_r31]].character; - if (var_r30 < 8) { - lbl_1_bss_36[var_r31] = CharModelCreate(var_r30, 2); - lbl_1_bss_E[var_r31][0] = CharModelMotionCreate(var_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00)); - lbl_1_bss_E[var_r31][3] = CharModelMotionCreate(var_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17)); - lbl_1_bss_E[var_r31][4] = CharModelMotionCreate(var_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18)); - Hu3DModelScaleSet(lbl_1_bss_36[var_r31], 0.8f, 0.8f, 0.8f); - } - else { - var_r26 = var_r30 - 8; - var_r25 = Hu3DModelCreateFile(lbl_1_data_2C[var_r26]); - lbl_1_bss_36[var_r31] = var_r25; - lbl_1_bss_E[var_r31][0] = Hu3DJointMotionFile(var_r25, lbl_1_data_2C[var_r26] + 1); - lbl_1_bss_E[var_r31][3] = Hu3DJointMotionFile(var_r25, lbl_1_data_2C[var_r26] + 3); - lbl_1_bss_E[var_r31][4] = Hu3DJointMotionFile(var_r25, lbl_1_data_2C[var_r26] + 4); - Hu3DModelScaleSet(lbl_1_bss_36[var_r31], 0.8f, 0.8f, 0.8f); - } - Hu3DMotionSet(lbl_1_bss_36[var_r31], lbl_1_bss_E[var_r31][0]); - Hu3DModelAttrSet(lbl_1_bss_36[var_r31], HU3D_MOTATTR_LOOP); - Hu3DModelPosSet(lbl_1_bss_36[var_r31], var_r28, 0.0f, 0.0f); - Hu3DModelShadowSet(lbl_1_bss_36[var_r31]); - var_r28 += 0x96; - if (var_r31 == 1) { - var_r28 += 0x64; - } - } - CharModelDataClose(-1); - Hu3DShadowCreate(20.0f, 500.0f, 8000.0f); - Hu3DShadowTPLvlSet(0.5f); - Hu3DShadowSizeSet(0xC0); - sp20.x = sp20.y = sp20.z = 0.0f; - sp38.x = sp38.z = 100.0f; - sp38.y = 2000.0f; - sp14.x = sp14.y = 0.0f; - sp14.z = 1.0f; - Hu3DShadowPosSet(&sp38, &sp14, &sp20); - lbl_1_bss_C = Hu3DHookFuncCreate(fn_1_7414); - Hu3DModelLayerSet(lbl_1_bss_C, 1); -} - -void fn_1_51BC(s16 arg0) -{ - s16 var_r31; - omOvlHisData *var_r30; - u32 var_r29; - - WipeColorSet(0xFF, 0xFF, 0xFF); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x3C); - HuAudSeqAllFadeOut(0x3E8); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } -#if !VERSION_ENG - if ((GWPlayerCfg->character >= 8) && (GWPlayerCfg->character >= 8) && (GWPlayerCfg->character >= 8) && (GWPlayerCfg->character >= 8)) { - msmMusStopAll(1, 0); - msmSeStopAll(1, 0); - var_r29 = OSGetTick(); - while (TRUE) { - if ((msmMusGetNumPlay(1) != 0) || (msmSeGetNumPlay(1) != 0)) { - if (((OSGetTick() - var_r29) / (*((u32 *)0x800000F8) / 4 / 1000)) >= 0x1F4) { - break; - } - } - else { - break; - } - } - msmSysDelGroupBase(0); -#if VERSION_PAL - for (var_r31 = 0; var_r31 < 8; var_r31++) { - charVoiceGroupStat[var_r31] = 0; - } -#endif - } -#endif - var_r30 = omOvlHisGet(0); - omOvlHisChg(0, OVL_ZTAR, arg0, var_r30->stat); - omOvlCallEx(OVL_M433, 1, 0, 0); - while (TRUE) { - HuPrcVSleep(); - } -} - -float lbl_1_data_64[8] = { - -132.0f, - -12.0f, - 60.0f, - 132.0f, - -132.0f, - -60.0f, - 60.0f, - 132.0f, -}; - -u8 lbl_1_data_84[16] = { 0, 1, 2, 3, 1, 0, 2, 3, 2, 0, 1, 3, 3, 0, 1, 2 }; -u8 lbl_1_data_94[12] = { 0, 1, 2, 3, 0, 2, 1, 3, 0, 3, 1, 2 }; - -s32 fn_1_524C(s32 arg0) -{ - s16 spC; - float var_f31; - float var_f30; - float var_f29; - s16 var_r31; - s16 var_r30; - float *var_r29; - s16 var_r28; - s16 var_r27; - AnimData *var_r26; - s16 var_r25; - s16 var_r24; - s16 var_r23; - WindowData *var_r22; - - if (mgTypeCurr == 1) { - var_r29 = lbl_1_data_64; - var_f29 = 216.0f; - } - else { - var_r29 = &lbl_1_data_64[4]; - var_f29 = 288.0f; - } - var_r28 = HuSprGrpCreate(0x10); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r26 = HuSprAnimReadFile(GWPlayerCfg[var_r31].character + DATA_MAKE_NUM(DATADIR_ZTAR, 69)); - var_r25 = HuSprCreate(var_r26, 4, 0); - HuSprGrpMemberSet(var_r28, var_r31 * 4, var_r25); - HuSprPosSet(var_r28, var_r31 * 4, var_r29[var_r31], 0.0f); - if (mgTypeCurr == 1) { - if (var_r31 == 0) { - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 89)); - } - else { - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 90)); - } - } - else if (var_r31 < 2) { - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 89)); - } - else { - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 90)); - } - var_r25 = HuSprCreate(var_r26, 3, 0); - HuSprGrpMemberSet(var_r28, (var_r31 * 4) + 1, var_r25); - HuSprPosSet(var_r28, (var_r31 * 4) + 1, var_r29[var_r31], 0.0f); - if (GWPlayerCfg[var_r31].iscom != 0) { - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 87)); - } - else { - var_r26 = HuSprAnimReadFile(GWPlayerCfg[var_r31].pad_idx + DATA_MAKE_NUM(DATADIR_ZTAR, 83)); - } - var_r25 = HuSprCreate(var_r26, 2, 1); - HuSprGrpMemberSet(var_r28, (var_r31 * 4) + 2, var_r25); - HuSprPosSet(var_r28, (var_r31 * 4) + 2, var_r29[var_r31], 0.0f); - var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 88)); - var_r25 = HuSprCreate(var_r26, 2, GWPlayerCfg[var_r31].diff); - HuSprGrpMemberSet(var_r28, (var_r31 * 4) + 3, var_r25); - HuSprPosSet(var_r28, (var_r31 * 4) + 3, var_r29[var_r31], 38.0f); - if (GWPlayerCfg[var_r31].iscom == 0) { - HuSprAttrSet(var_r28, (var_r31 * 4) + 3, 4); - } - } - var_r27 = HuSprGrpCreate(5); - var_r26 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_ZTAR, 67), MEMORY_DEFAULT_NUM)); - var_r25 = HuSprCreate(var_r26, 0x32, 0); - HuSprGrpMemberSet(var_r27, 0, var_r25); - HuSprTPLvlSet(var_r27, 0, 0.9f); - HuSprPosSet(var_r27, 0, 0.0f, 0.0f); - HuSprScaleSet(var_r27, 0, 1.1f, 1.0f); - var_r26 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_ZTAR, 65), MEMORY_DEFAULT_NUM)); - var_r25 = HuSprCreate(var_r26, 0x28, 0); - HuSprGrpMemberSet(var_r27, 1, var_r25); - HuSprPosSet(var_r27, 1, 0.0f, -90.0f); - var_r26 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_ZTAR, 66), MEMORY_DEFAULT_NUM)); - var_r25 = HuSprCreate(var_r26, 0x28, 0); - HuSprGrpMemberSet(var_r27, 2, var_r25); - HuSprPosSet(var_r27, 2, 0.0f, 0.0f); - var_r26 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_ZTAR, 68), MEMORY_DEFAULT_NUM)); - var_r25 = HuSprCreate(var_r26, 0x28, 1); - HuSprGrpMemberSet(var_r27, 3, var_r25); - HuSprPosSet(var_r27, 3, 180.0f, 0.0f); - var_r26 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_ZTAR, 68), MEMORY_DEFAULT_NUM)); - var_r25 = HuSprCreate(var_r26, 0x28, 0); - HuSprGrpMemberSet(var_r27, 4, var_r25); - HuSprPosSet(var_r27, 4, -180.0f, 0.0f); - HuSprGrpPosSet(var_r27, 288.0f, 240.0f); - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - if (var_r31 <= 0x32) { - var_f31 = var_r31 / 50.0; - var_f30 = -300.0 + (560.0 * sind((90.0f * var_f31))); - HuSprGrpPosSet(var_r27, 288.0f, var_f30); - HuSprGrpPosSet(var_r28, 288.0f, var_f30); - } - else { - var_f31 = (var_r31 - 0x32) / 10.0; - var_f30 = 240.0 + (20.0 * cosd((90.0f * var_f31))); - var_f30 = var_f30; - HuSprGrpPosSet(var_r27, 288.0f, var_f30); - HuSprGrpPosSet(var_r28, 288.0f, var_f30); - } - HuPrcVSleep(); - } - var_r24 = HuWinCreate(0.0f, 0.0f, 0x1E0, 0x28, 0); - HuWinMesSpeedSet(var_r24, 0); - HuWinBGTPLvlSet(var_r24, 0.0f); - HuWinMesSet(var_r24, MAKE_MESSID(0x1A, 0x20)); - var_r22 = &winData[var_r24]; - HuWinPriSet(var_r24, 5); - HuWinPosSet(var_r24, (576.0f - var_r22->w) / 2, 300.0f); -#if VERSION_PAL - HuWinScaleSet(var_r24, 0.95f, 1.0f); -#endif - HuWinAttrSet(var_r24, 0x800); - var_r30 = 0; - var_r23 = 0; - while (TRUE) { - HuPrcVSleep(); - if (HuPadBtnDown[0] & PAD_BUTTON_B) { - HuAudFXPlay(3); - goto block_89; - } - spC = 0; - if (HuPadDStkRep[0] & PAD_BUTTON_LEFT) { - HuAudFXPlay(0x304); - for (var_r31 = 0; var_r31 <= 5; var_r31++) { - var_f31 = var_r31 / 5.0; - HuSprPosSet(var_r27, 4, -180.0 - (10.0 * sind((90.0f * var_f31))), 0.0f); - HuPrcVSleep(); - } - var_r30--; - if (mgTypeCurr == 1) { - if (var_r30 < 0) { - var_r30 = 3; - } - if (var_r30 >= 4) { - var_r30 = 0; - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprPosSet(var_r28, lbl_1_data_84[var_r30 * 4 + var_r31] * 4, var_r29[var_r31], 0.0f); - HuSprPosSet(var_r28, lbl_1_data_84[var_r30 * 4 + var_r31] * 4 + 2, var_r29[var_r31], 0.0f); - HuSprPosSet(var_r28, lbl_1_data_84[var_r30 * 4 + var_r31] * 4 + 3, var_r29[var_r31], 38.0f); - } - } - else { - if (var_r30 < 0) { - var_r30 = 2; - } - if (var_r30 >= 3) { - var_r30 = 0; - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprPosSet(var_r28, lbl_1_data_94[var_r30 * 4 + var_r31] * 4, var_r29[var_r31], 0.0f); - HuSprPosSet(var_r28, lbl_1_data_94[var_r30 * 4 + var_r31] * 4 + 2, var_r29[var_r31], 0.0f); - HuSprPosSet(var_r28, lbl_1_data_94[var_r30 * 4 + var_r31] * 4 + 3, var_r29[var_r31], 38.0f); - } - } - for (var_r31 = 0; var_r31 <= 5; var_r31++) { - var_f31 = var_r31 / 5.0; - HuSprPosSet(var_r27, 4, -180.0 - (10.0 * cosd((90.0f * var_f31))), 0.0f); - HuPrcVSleep(); - } - } - else { - if (HuPadDStkRep[0] & PAD_BUTTON_RIGHT) { - HuAudFXPlay(0x304); - for (var_r31 = 0; var_r31 <= 5; var_r31++) { - var_f31 = var_r31 / 5.0; - HuSprPosSet(var_r27, 3, 180.0 - (10.0 * sind((90.0f * var_f31))), 0.0f); - HuPrcVSleep(); - } - var_r30++; - if (mgTypeCurr == 1) { - if (var_r30 < 0) { - var_r30 = 3; - } - if (var_r30 >= 4) { - var_r30 = 0; - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprPosSet(var_r28, lbl_1_data_84[var_r30 * 4 + var_r31] * 4, var_r29[var_r31], 0.0f); - HuSprPosSet(var_r28, (lbl_1_data_84[var_r30 * 4 + var_r31] * 4) + 2, var_r29[var_r31], 0.0f); - HuSprPosSet(var_r28, (lbl_1_data_84[var_r30 * 4 + var_r31] * 4) + 3, var_r29[var_r31], 38.0f); - } - } - else { - if (var_r30 < 0) { - var_r30 = 2; - } - if (var_r30 >= 3) { - var_r30 = 0; - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprPosSet(var_r28, lbl_1_data_94[var_r30 * 4 + var_r31] * 4, var_r29[var_r31], 0.0f); - HuSprPosSet(var_r28, (lbl_1_data_94[var_r30 * 4 + var_r31] * 4) + 2, var_r29[var_r31], 0.0f); - HuSprPosSet(var_r28, (lbl_1_data_94[var_r30 * 4 + var_r31] * 4) + 3, var_r29[var_r31], 38.0f); - } - } - for (var_r31 = 0; var_r31 <= 5; var_r31++) { - var_f31 = var_r31 / 5.0; - HuSprPosSet(var_r27, 3, 180.0 + (10.0 * cosd((90.0f * var_f31))), 0.0f); - HuPrcVSleep(); - } - } - } - if (HuPadBtnDown[0] & (PAD_BUTTON_START | PAD_BUTTON_A)) { - HuAudFXPlay(0x305); - if (mgTypeCurr == 1) { - GWPlayerCfg[lbl_1_data_84[var_r30 * 4]].group = 0; - for (var_r31 = 1; var_r31 < 4; var_r31++) { - GWPlayerCfg[lbl_1_data_84[var_r30 * 4 + var_r31]].group = 1; - } - } - else { - for (var_r31 = 0; var_r31 < 2; var_r31++) { - GWPlayerCfg[lbl_1_data_94[var_r30 * 4 + var_r31]].group = 0; - } - for (var_r31 = 2; var_r31 < 4; var_r31++) { - GWPlayerCfg[lbl_1_data_94[var_r30 * 4 + var_r31]].group = 1; - } - } - if (arg0 != 0) { - var_r23 = 1; - } - else { - return 1; - } - block_89: - HuWinKill(var_r24); - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - if (var_r31 <= 0xA) { - var_f31 = var_r31 / 10.0; - var_f30 = 240.0 + (20.0 * sind((90.0f * var_f31))); - HuSprGrpPosSet(var_r27, 288.0f, var_f30); - HuSprGrpPosSet(var_r28, 288.0f, var_f30); - } - else { - var_f31 = (var_r31 - 0xA) / 50.0; - var_f30 = -300.0 + (560.0 * cosd(90.0f * var_f31)); - HuSprGrpPosSet(var_r27, 288.0f, var_f30); - HuSprGrpPosSet(var_r28, 288.0f, var_f30); - } - HuPrcVSleep(); - } - HuSprGrpKill(var_r28); - HuSprGrpKill(var_r27); - return var_r23; - } - } -} - -void fn_1_66F8(void) -{ - s16 var_r31; - - while (TRUE) { - if (lbl_1_bss_60 != 0 || omSysExitReq) { - break; - } - HuPrcVSleep(); - } - WipeColorSet(0xFF, 0xFF, 0xFF); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); - while (WipeStatGet() != 0) { - HuPrcVSleep(); - } - HuDataDirClose(DATADIR_INSTPIC); - while (lbl_1_bss_4 != 0) { - HuPrcVSleep(); - } - CharModelDataClose(-1); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - GWPlayerCfg[var_r31].character = -1; - } -#if VERSION_PAL - for (var_r31 = 0; var_r31 < 8; var_r31++) { - charVoiceGroupStat[var_r31] = 0; - } -#endif - mgPracticeEnableF = 0; - omOvlReturnEx(1, 1); - HuPrcEnd(); -} - -void fn_1_6804(void) -{ - Vec sp2C; - Vec sp20; - Vec sp14; - Vec sp8; - float var_f31; - float var_f30; - float var_f29; - s8 var_r31; - - CRot.y += 0.1f * HuPadStkX[0]; - CRot.x += 0.1f * HuPadStkY[0]; - CZoom += HuPadTrigL[0] / 2; - CZoom -= HuPadTrigR[0] / 2; - if (HuPadBtnDown[0] & PAD_BUTTON_B) { - OSReport("%f,%f,%f\n", CRot.x, CRot.y, CRot.z); - OSReport("%f,%f,%f\n", Center.x, Center.y, Center.z); - OSReport("%f\n", CZoom); - } - if (CZoom < 100.0f) { - CZoom = 100.0f; - } - sp2C.x = Center.x + (CZoom * (sind(CRot.y) * cosd(CRot.x))); - sp2C.y = Center.y + (CZoom * -sind(CRot.x)); - sp2C.z = Center.z + (CZoom * (cosd(CRot.y) * cosd(CRot.x))); - sp20.x = Center.x - sp2C.x; - sp20.y = Center.y - sp2C.y; - sp20.z = Center.z - sp2C.z; - sp14.x = sind(CRot.y) * sind(CRot.x); - sp14.y = cosd(CRot.x); - sp14.z = cosd(CRot.y) * sind(CRot.x); - var_f31 = CRot.z; - sp8.x = sp14.x * ((sp20.x * sp20.x) + ((1.0f - (sp20.x * sp20.x)) * cosd(var_f31))) - + sp14.y * (((sp20.x * sp20.y) * (1.0 - cosd(var_f31))) - sp20.z * sind(var_f31)) - + sp14.z * (((sp20.x * sp20.z) * (1.0 - cosd(var_f31))) + sp20.y * sind(var_f31)); - - sp8.y = sp14.y * ((sp20.y * sp20.y) + ((1.0f - (sp20.y * sp20.y)) * cosd(var_f31))) - + sp14.x * (((sp20.x * sp20.y) * (1.0 - cosd(var_f31))) + sp20.z * sind(var_f31)) - + sp14.z * (((sp20.y * sp20.z) * (1.0 - cosd(var_f31))) - sp20.x * sind(var_f31)); - - sp8.z = sp14.z * ((sp20.z * sp20.z) + ((1.0f - (sp20.z * sp20.z)) * cosd(var_f31))) - + (sp14.x * (((sp20.x * sp20.z) * (1.0 - cosd(var_f31))) - sp20.y * sind(var_f31)) - + sp14.y * (((sp20.y * sp20.z) * (1.0 - cosd(var_f31))) + sp20.x * sind(var_f31))); - VECCrossProduct(&sp14, &sp20, &sp20); - VECNormalize(&sp20, &sp20); - var_r31 = HuPadSubStkX[0] & 0xF8; - if (var_r31 != 0) { - Center.x += 0.05f * (sp20.x * var_r31); - Center.y += 0.05f * (sp20.y * var_r31); - Center.z += 0.05f * (sp20.z * var_r31); - } - VECNormalize(&sp8, &sp20); - var_r31 = -(HuPadSubStkY[0] & 0xF8); - if (var_r31 != 0) { - Center.x += 0.05f * (sp20.x * var_r31); - Center.y += 0.05f * (sp20.y * var_r31); - Center.z += 0.05f * (sp20.z * var_r31); - } -} - -void fn_1_7414(ModelData *model, Mtx matrix) -{ - Mtx sp8C; - Mtx sp5C; - Mtx sp2C; - GXTexObj spC; - s32 sp8; - - sp8 = 0; - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXInitTexObj(&spC, Hu3DShadowData.unk_04, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, 1, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXInitTexObjLOD(&spC, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); - GXLoadTexObj(&spC, GX_TEXMAP0); - MTXInverse(Hu3DCameraMtx, sp5C); - MTXConcat(sp5C, matrix, sp8C); - MTXConcat(Hu3DShadowData.unk_68, Hu3DShadowData.unk_38, sp2C); - MTXConcat(sp2C, sp8C, sp8C); - GXLoadTexMtxImm(sp8C, 0x39, GX_MTX3x4); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 0x39, GX_FALSE, 0x7D); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_TEXC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_FALSE, GX_TEVPREV); - GXSetNumTexGens(1); - GXSetNumTevStages(1); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0, GX_TRUE, GX_SRC_REG, GX_SRC_VTX, 1, GX_DF_CLAMP, GX_AF_NONE); - GXSetBlendMode(GX_BM_BLEND, GX_BL_ZERO, GX_BL_INVDSTCLR, GX_LO_NOOP); - GXSetZMode(1, GX_LEQUAL, GX_FALSE); - GXLoadPosMtxImm(matrix, 0); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(-500.0f, 0.0f, -500.0f); - GXPosition3f32(500.0f, 0.0f, -500.0f); - GXPosition3f32(500.0f, 0.0f, 500.0f); - GXPosition3f32(-500.0f, 0.0f, 500.0f); -} diff --git a/src/REL/ztardll/select.c b/src/REL/ztardll/select.c deleted file mode 100644 index 0076979e..00000000 --- a/src/REL/ztardll/select.c +++ /dev/null @@ -1,3214 +0,0 @@ -#include "ext_math.h" -#include "game/chrman.h" -#include "game/gamework.h" -#include "game/gamework_data.h" -#include "game/hsfdraw.h" -#include "game/hsfman.h" -#include "game/hsfmotion.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/sprite.h" -#include "game/window.h" -#include "game/wipe.h" - -#include "REL/ztardll.h" - -typedef void (*ZtarUnkFunc)(omObjData *, ...); - -typedef struct ZtarDllUnkStruct2 { - /* 0x00 */ omObjData *unk_00; - /* 0x04 */ ZtarUnkFunc unk_04; - /* 0x08 */ s32 unk_08; - /* 0x0C */ s32 unk_0C; - /* 0x10 */ s32 unk_10; - /* 0x14 */ s32 unk_14; - /* 0x18 */ char pad_18[0x10]; /* maybe part of unk_14[5]? */ - /* 0x28 */ s32 unk_28; - /* 0x2C */ s32 unk_2C; - /* 0x30 */ s32 unk_30; - /* 0x34 */ s32 unk_34; - /* 0x38 */ char pad_38[0x10]; /* maybe part of unk_34[5]? */ - /* 0x48 */ s32 unk_48; - /* 0x4C */ s32 unk_4C; - /* 0x50 */ s32 unk_50; - /* 0x54 */ s32 unk_54; - /* 0x58 */ s32 unk_58; - /* 0x5C */ s32 unk_5C; -} ZtarDllUnkStruct2; /* size = 0x60 */ - -void fn_1_106E8(s32 arg0); -void fn_1_10764(s32 arg0); -void fn_1_108C8(s32); -void fn_1_10A80(void); -void fn_1_10B24(void); -s32 fn_1_10C18(s32 arg0); -s32 fn_1_10C98(s32 arg0); -float fn_1_10D60(float arg8, float arg9, float argA, float argB); -float fn_1_10E38(float arg8, float arg9, float argA, float argB); -void fn_1_10FBC(s32 arg0); -void fn_1_11960(void); -void fn_1_11C64(void); -void fn_1_11F68(void); -void fn_1_122A8(s32 arg0); -void fn_1_A02C(void); -void fn_1_A248(void); -void fn_1_A574(void); -void fn_1_A610(void); -void fn_1_A8E8(void); -void fn_1_ABC4(void); -void fn_1_AE94(void); -void fn_1_AEE4(omObjData *object, ZtarDllUnkStruct2 *arg1); -void fn_1_B468(omObjData *object, ZtarDllUnkStruct2 *arg1); -void fn_1_BA40(void); -void fn_1_BD7C(s32 arg0); -void fn_1_BFF0(s32 arg0); -void fn_1_C06C(s32 arg0, s32 arg1); -void fn_1_C4B8(s32 arg0); -void fn_1_C8EC(s32 arg0); -void fn_1_CAF0(void); -void fn_1_D280(omObjData *arg0, ZtarDllUnkStruct2 *arg1); -void fn_1_DD8C(ZtarDllUnkStruct2 *arg0); -void fn_1_E4AC(ZtarDllUnkStruct2 *arg0); -void fn_1_E548(omObjData *arg0, ZtarDllUnkStruct2 *arg1); -s32 fn_1_F214(ZtarDllUnkStruct2 *arg0); -void fn_1_FB38(void); -void fn_1_FD90(s32 arg0); - -extern s16 lbl_1_bss_4; - -s32 lbl_1_data_3C8[8] = { - DATADIR_MARIOMOT, - DATADIR_LUIGIMOT, - DATADIR_PEACHMOT, - DATADIR_YOSHIMOT, - DATADIR_WARIOMOT, - DATADIR_DONKEYMOT, - DATADIR_DAISYMOT, - DATADIR_WALUIGIMOT, -}; -s32 lbl_1_data_3E8[8] = { - DATADIR_MARIOMDL1, - DATADIR_LUIGIMDL1, - DATADIR_PEACHMDL1, - DATADIR_YOSHIMDL1, - DATADIR_WARIOMDL1, - DATADIR_DONKEYMDL1, - DATADIR_DAISYMDL1, - DATADIR_WALUIGIMDL1, -}; - -s32 lbl_1_bss_26C[0x1B]; -ZtarDllUnkStruct2 lbl_1_bss_20C; -ZtarDllUnkStruct2 lbl_1_bss_8C[4]; -s32 lbl_1_bss_78[5]; -s32 lbl_1_bss_74; -Process *lbl_1_bss_70; - -void fn_1_7C00(void) -{ - s16 var_r31; - s32 var_r30; - - CharKill(-1); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (GWPlayerCfg[var_r31].character < 8) { - var_r30 = HuDataDirReadAsync(lbl_1_data_3C8[GWPlayerCfg[var_r31].character]); - if (var_r30 != -1) { - while (HuDataGetAsyncStat(var_r30) == 0) { - HuPrcVSleep(); - } - } - CharARAMOpen(GWPlayerCfg[var_r31].character); - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (GWPlayerCfg[var_r31].character < 8) { - var_r30 = HuDataDirReadAsync(lbl_1_data_3E8[GWPlayerCfg[var_r31].character]); - if (var_r30 != -1) { - while (HuDataGetAsyncStat(var_r30) == 0) { - HuPrcVSleep(); - } - } - } - } - lbl_1_bss_4 = 0; - HuPrcEnd(); - while (TRUE) { - HuPrcVSleep(); - } -} - -void fn_1_7D6C(Process *arg0) -{ - s32 var_r31; - - lbl_1_bss_70 = arg0; - fn_1_A02C(); - fn_1_BA40(); - fn_1_FB38(); - HuPrcChildCreate(fn_1_10A80, 0x3E8, 0x2000, 0, lbl_1_bss_70); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuPrcChildCreate(fn_1_10B24, 0x3E8, 0x2000, 0, lbl_1_bss_70); - } -} - -s32 fn_1_7E0C(s32 arg0) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - - var_r29 = -1; - fn_1_A610(); - fn_1_11020(); - fn_1_11264(MAKE_MESSID(0x1A, 0x05), -1, -1); - fn_1_10FBC(1); - fn_1_11708(MAKE_MESSID(0x33, 0x91)); - lbl_1_bss_20C.unk_04 = (ZtarUnkFunc)fn_1_AEE4; - var_r29 = -1; - while (TRUE) { - fn_1_10FBC(1); - var_r30 = 0; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_8C[var_r31].unk_14 == 0) { - var_r30++; - } - } - if (var_r29 != var_r30) { - var_r29 = var_r30; - fn_1_11264(var_r30 + MAKE_MESSID(0x1A, 0x1B), -1, 1); - } - if (lbl_1_bss_20C.unk_28 == 0) { - if (HuPadBtnDown[0] & PAD_BUTTON_A) { - HuAudFXPlay(2); - var_r28 = 1; - break; - } - else if (HuPadBtnDown[0] & PAD_BUTTON_B) { - HuAudFXPlay(3); - var_r28 = 0; - break; - } - } - } - fn_1_AE94(); - lbl_1_bss_20C.unk_04 = NULL; - fn_1_1190C(); - if (var_r28 == 1) { - var_r27 = 0; - var_r26 = 0; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_8C[var_r31].unk_50 == 0) { - var_r27++; - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (var_r26 < var_r27) { - if (HuPadStatGet(var_r31) != -1) { - lbl_1_bss_8C[var_r31].unk_50 = 0; - var_r26++; - } - else { - lbl_1_bss_8C[var_r31].unk_50 = 1; - } - } - else { - lbl_1_bss_8C[var_r31].unk_50 = 1; - } - } - } - fn_1_111E0(); - fn_1_ABC4(); - return var_r28; -} - -s32 fn_1_8030(s32 arg0, s32 arg1) -{ - s32 sp10; - s32 spC; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r27; - - sp10 = 0; - spC = 0; - var_r30 = 0; - if (arg1 == 1) { - var_r30 = 1; - for (var_r31 = 1; var_r31 < 4; var_r31++) { - lbl_1_bss_8C[var_r31].unk_50 = 1; - } - } - else { - var_r30 = 4; - } - fn_1_CAF0(); - if (arg0 == 0) { - fn_1_C4B8(0); - } - fn_1_11020(); - fn_1_10FBC(1); - if (arg1 == 1) { - fn_1_11264(MAKE_MESSID(0x1E, 0x5E), -1, -1); - } - else { - fn_1_11264(MAKE_MESSID(0x1A, 0x09), -1, -1); - } - fn_1_11708(MAKE_MESSID(0x33, 0x92)); - for (var_r31 = 0; var_r31 < var_r30; var_r31++) { - if (lbl_1_bss_8C[var_r31].unk_50 == 0) { - lbl_1_bss_8C[var_r31].unk_04 = (ZtarUnkFunc)fn_1_D280; - } - } - while (TRUE) { - fn_1_10FBC(1); - if ((lbl_1_bss_8C[0].unk_08 == 0) && (HuPadBtnDown[0] & PAD_BUTTON_B) != 0) { - HuAudFXPlay(3); - if (lbl_1_bss_20C.unk_10 == 1) { - lbl_1_bss_20C.unk_10 = 0; - continue; - } - var_r27 = 0; - break; - } - else { - for (var_r31 = 0; var_r31 < var_r30; var_r31++) { - if ((lbl_1_bss_8C[var_r31].unk_50 == 0) && (lbl_1_bss_8C[var_r31].unk_08 != 1)) { - break; - } - } - if (var_r31 == var_r30) { - var_r27 = 2; - break; - } - } - } - for (var_r31 = 0; var_r31 < var_r30; var_r31++) { - lbl_1_bss_8C[var_r31].unk_04 = NULL; - } - fn_1_1190C(); - fn_1_111E0(); - if (var_r27 == 0) { - fn_1_C8EC(0); - return 0; - } - var_r29 = 0; - for (var_r31 = 0; var_r31 < var_r30; var_r31++) { - if (lbl_1_bss_8C[var_r31].unk_50 != 0) { - lbl_1_bss_8C[var_r31].unk_5C = 0; - var_r29++; - } - } - if ((var_r29 == 0) || ((arg1 == 2) && (var_r29 == 2))) { - fn_1_C8EC(0); - return 2; - } - if (arg1 == 2) { - lbl_1_bss_8C[1].unk_4C = 0; - } - return 1; -} - -void fn_1_830C(s32 arg0) -{ - fn_1_8030(arg0, 4); -} - -s32 fn_1_8338(s32 arg0, s32 arg1) -{ - s32 spC; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - - var_r30 = -1; - var_r27 = -1; - var_r26 = -1; - var_r24 = -1; - spC = 0; - if (arg0 != 0) { - if (arg1 == 2) { - fn_1_C06C(0, 2); - } - else { - fn_1_C06C(0, 1); - } - } - fn_1_11020(); - while (TRUE) { - fn_1_10FBC(1); - var_r25 = 0; - for (var_r31 = 0; var_r31 < arg1; var_r31++) { - if ((lbl_1_bss_8C[var_r31].unk_50 != 0) && (lbl_1_bss_8C[var_r31].unk_08 == 0)) { - var_r25++; - } - } - if (var_r26 == -1) { - fn_1_11338(var_r25 + MAKE_MESSID(0x1A, 0x23), 1); - fn_1_11264(MAKE_MESSID(0x1A, 0x28), -1, var_r26); - } - else { - fn_1_11338(var_r25 + MAKE_MESSID(0x1A, 0x23), 1); - fn_1_11264(MAKE_MESSID(0x1A, 0x28), -1, var_r26); - } - var_r26 = 1; - fn_1_11708(MAKE_MESSID(0x33, 0x92)); - for (var_r31 = 0; var_r31 < arg1; var_r31++) { - if ((lbl_1_bss_8C[var_r31].unk_50 != 0) && (lbl_1_bss_8C[var_r31].unk_08 == 0)) { - var_r30 = var_r31; - lbl_1_bss_8C[var_r31].unk_0C = var_r27; - fn_1_DD8C(&lbl_1_bss_8C[var_r31]); - lbl_1_bss_8C[var_r31].unk_04 = (ZtarUnkFunc)fn_1_E548; - break; - } - } - while (TRUE) { - fn_1_10FBC(1); - if (((HuPadBtnDown[lbl_1_bss_8C[0].unk_58] & 0x200) != 0) && (lbl_1_bss_8C[var_r30].unk_08 == 0) && (lbl_1_bss_20C.unk_30 == 0)) { - HuAudFXPlay(3); - if (var_r27 == -1) { - var_r29 = 0; - } - else { - var_r29 = 1; - } - break; - } - else if (lbl_1_bss_8C[var_r30].unk_08 == 1) { - for (var_r31 = 0; var_r31 < arg1; var_r31++) { - if (lbl_1_bss_8C[var_r31].unk_08 == 0) { - lbl_1_bss_8C[var_r31].unk_5C = 0; - } - } - lbl_1_bss_8C[var_r30].unk_04 = NULL; - fn_1_11264(MAKE_MESSID(0x1A, 0x22), -1, 1); - fn_1_10FBC(1); - fn_1_11708(MAKE_MESSID(0x33, 0x93)); - var_r29 = fn_1_F214(&lbl_1_bss_8C[var_r30]); - if (var_r29 == 1) { - HuAudFXPlay(2); - lbl_1_bss_8C[var_r30].unk_10 = 1; - var_r29 = 4; - var_r27 = var_r30; - } - else { - HuAudFXPlay(3); - lbl_1_bss_8C[var_r30].unk_10 = 0; - var_r29 = 4; - lbl_1_bss_8C[var_r30].unk_08 = 0; - fn_1_E4AC(&lbl_1_bss_8C[var_r30]); - fn_1_DD8C(&lbl_1_bss_8C[var_r30]); - } - break; - } - } - for (var_r31 = 0; var_r31 < arg1; var_r31++) { - lbl_1_bss_8C[var_r31].unk_04 = NULL; - } - for (var_r31 = 0; var_r31 < arg1; var_r31++) { - if (lbl_1_bss_8C[var_r31].unk_08 == 0) { - break; - } - } - if (var_r31 == arg1) { - var_r29 = 3; - break; - } - else { - if (var_r29 == 1) { - fn_1_DD8C(&lbl_1_bss_8C[var_r30]); - fn_1_E4AC(&lbl_1_bss_8C[var_r30]); - fn_1_DD8C(&lbl_1_bss_8C[lbl_1_bss_8C[var_r30].unk_0C]); - var_r27 = lbl_1_bss_8C[lbl_1_bss_8C[var_r30].unk_0C].unk_0C; - lbl_1_bss_8C[lbl_1_bss_8C[var_r30].unk_0C].unk_08 = 0; - } - else if (var_r29 != 4) { - if (var_r29 == 0) { - fn_1_E4AC(&lbl_1_bss_8C[var_r30]); - } - break; - } - var_r24 = -1; - } - } - - fn_1_1190C(); - fn_1_111E0(); - if (var_r29 != 0) { - fn_1_C8EC(0); - } - return var_r29; -} - -void fn_1_8850(s32 arg0) -{ - fn_1_8338(arg0, 4); -} - -void fn_1_887C(void) -{ - fn_1_8030(0, 1); -} - -s32 fn_1_88A4(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - - var_r26 = -1; - fn_1_A8E8(); - fn_1_11020(); - fn_1_11264(MAKE_MESSID(0x1A, 0x05), -1, -1); - fn_1_10FBC(1); - fn_1_11708(MAKE_MESSID(0x33, 0x91)); - lbl_1_bss_20C.unk_04 = (ZtarUnkFunc)fn_1_B468; - while (TRUE) { - fn_1_10FBC(1); - var_r30 = 0; - for (var_r31 = 0; var_r31 < 2; var_r31++) { - if (lbl_1_bss_8C[var_r31].unk_14 == 0) { - var_r30++; - } - } - if (var_r26 != var_r30) { - var_r26 = var_r30; - fn_1_11264(var_r30 + MAKE_MESSID(0x33, 0x93), -1, 1); - } - if (lbl_1_bss_20C.unk_28 != 0) { - continue; - } - if ((*HuPadBtnDown & PAD_BUTTON_A) != 0) { - HuAudFXPlay(2); - var_r28 = 1; - break; - } - else if ((*HuPadBtnDown & PAD_BUTTON_B) != 0) { - HuAudFXPlay(3); - var_r28 = 0; - break; - } - } - fn_1_AE94(); - lbl_1_bss_20C.unk_04 = NULL; - fn_1_1190C(); - if (var_r28 == 1) { - var_r29 = 0; - var_r27 = 0; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_8C[var_r31].unk_50 == 0) { - var_r29++; - } - } - if (var_r29 >= 2) { - var_r29 = 2; - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (var_r27 < var_r29) { - if (HuPadStatGet(var_r31) != -1) { - lbl_1_bss_8C[var_r31].unk_50 = 0; - lbl_1_bss_8C[var_r31].unk_4C = 0; - var_r27++; - } - else { - lbl_1_bss_8C[var_r31].unk_50 = 1; - lbl_1_bss_8C[var_r31].unk_4C = 1; - } - } - else { - lbl_1_bss_8C[var_r31].unk_50 = 1; - lbl_1_bss_8C[var_r31].unk_4C = 1; - } - } - } - fn_1_111E0(); - fn_1_ABC4(); - return var_r28; -} - -void fn_1_8B18(s32 arg0) -{ - fn_1_8030(arg0, 2); -} - -void fn_1_8B44(s32 arg0) -{ - fn_1_8338(arg0, 2); -} - -void fn_1_8B70(void) -{ - fn_1_7E0C(0); -} - -s32 fn_1_8B94(s32 arg0) -{ - s32 sp10; - s32 spC; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - - sp10 = 0; - spC = 0; - var_r30 = 4; - var_r28 = 4; - if (var_r28 == 1) { - var_r30 = 1; - for (var_r31 = 1; var_r31 < 4; var_r31++) { - lbl_1_bss_8C[var_r31].unk_50 = 1; - } - } - else { - var_r30 = 4; - } - fn_1_CAF0(); - if (arg0 == 0) { - fn_1_C4B8(3); - } - fn_1_11020(); - fn_1_10FBC(1); - fn_1_11264(MAKE_MESSID(0x1A, 0x09), -1, -1); - fn_1_11708(MAKE_MESSID(0x33, 0x92)); - for (var_r31 = 0; var_r31 < var_r30; var_r31++) { - if (lbl_1_bss_8C[var_r31].unk_50 == 0) { - lbl_1_bss_8C[var_r31].unk_04 = (ZtarUnkFunc)fn_1_D280; - } - } - while (TRUE) { - fn_1_10FBC(1); - if ((lbl_1_bss_8C[0].unk_08 == 0) && ((*HuPadBtnDown & 0x200) != 0)) { - HuAudFXPlay(3); - if (lbl_1_bss_20C.unk_10 == 1) { - lbl_1_bss_20C.unk_10 = 0; - continue; - } - var_r27 = 0; - break; - } - else { - for (var_r31 = 0; var_r31 < var_r30; var_r31++) { - if ((lbl_1_bss_8C[var_r31].unk_50 == 0) && (lbl_1_bss_8C[var_r31].unk_08 != 1)) { - break; - } - } - if (var_r31 == var_r30) { - var_r27 = 2; - break; - } - } - } - for (var_r31 = 0; var_r31 < var_r30; var_r31++) { - lbl_1_bss_8C[var_r31].unk_04 = NULL; - } - fn_1_1190C(); - fn_1_111E0(); - if (var_r27 == 0) { - fn_1_C8EC(0); - return 0; - } - var_r29 = 0; - for (var_r31 = 0; var_r31 < var_r30; var_r31++) { - if (lbl_1_bss_8C[var_r31].unk_50 != 0) { - lbl_1_bss_8C[var_r31].unk_5C = 1; - var_r29++; - } - } - if ((var_r29 == 0) || ((var_r28 == 2) && (var_r29 == 2))) { - fn_1_C8EC(3); - return 2; - } - if (var_r28 == 2) { - lbl_1_bss_8C[1].unk_4C = 0; - } - return 1; -} - -s32 fn_1_8E50(s32 arg0) -{ - s32 spC; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - - var_r30 = -1; - var_r27 = -1; - var_r26 = -1; - var_r28 = 4; - var_r24 = -1; - spC = 0; - if (arg0 != 0) { - fn_1_C06C(3, 3); - } - fn_1_11020(); - while (TRUE) { - fn_1_10FBC(1); - var_r25 = 0; - for (var_r31 = 0; var_r31 < var_r28; var_r31++) { - if ((lbl_1_bss_8C[var_r31].unk_50 != 0) && (lbl_1_bss_8C[var_r31].unk_08 == 0)) { - var_r25++; - } - } - if (var_r26 == -1) { - fn_1_11338(var_r25 + MAKE_MESSID(0x1A, 0x23), 1); - fn_1_11264(MAKE_MESSID(0x1A, 0x28), -1, var_r26); - } - else { - fn_1_11338(var_r25 + MAKE_MESSID(0x1A, 0x23), 1); - fn_1_11264(MAKE_MESSID(0x1A, 0x28), -1, var_r26); - } - var_r26 = 1; - fn_1_11708(MAKE_MESSID(0x33, 0x92)); - for (var_r31 = 0; var_r31 < var_r28; var_r31++) { - if ((lbl_1_bss_8C[var_r31].unk_50 != 0) && (lbl_1_bss_8C[var_r31].unk_08 == 0)) { - var_r30 = var_r31; - lbl_1_bss_8C[var_r31].unk_0C = var_r27; - fn_1_DD8C(&lbl_1_bss_8C[var_r31]); - lbl_1_bss_8C[var_r31].unk_04 = (ZtarUnkFunc)fn_1_E548; - break; - } - } - while (TRUE) { - fn_1_10FBC(1); - if ((HuPadBtnDown[lbl_1_bss_8C[0].unk_58] & PAD_BUTTON_B) && (lbl_1_bss_8C[var_r30].unk_08 == 0) && (lbl_1_bss_20C.unk_30 == 0)) { - HuAudFXPlay(3); - if (var_r27 == -1) { - var_r29 = 0; - } - else { - var_r29 = 1; - } - break; - } - else if (lbl_1_bss_8C[var_r30].unk_08 == 1) { - for (var_r31 = 0; var_r31 < var_r28; var_r31++) { - if (lbl_1_bss_8C[var_r31].unk_08 == 0) { - lbl_1_bss_8C[var_r31].unk_5C = 1; - } - } - lbl_1_bss_8C[var_r30].unk_04 = NULL; - fn_1_11264(MAKE_MESSID(0x1A, 0x22), -1, 1); - fn_1_10FBC(1); - fn_1_11708(MAKE_MESSID(0x33, 0x93)); - var_r29 = fn_1_F214(&lbl_1_bss_8C[var_r30]); - if (var_r29 == 1) { - HuAudFXPlay(2); - lbl_1_bss_8C[var_r30].unk_10 = 1; - var_r29 = 4; - var_r27 = var_r30; - } - else { - HuAudFXPlay(3); - lbl_1_bss_8C[var_r30].unk_10 = 0; - var_r29 = 4; - lbl_1_bss_8C[var_r30].unk_08 = 0; - fn_1_E4AC(&lbl_1_bss_8C[var_r30]); - fn_1_DD8C(&lbl_1_bss_8C[var_r30]); - } - break; - } - } - for (var_r31 = 0; var_r31 < var_r28; var_r31++) { - lbl_1_bss_8C[var_r31].unk_04 = NULL; - } - for (var_r31 = 0; var_r31 < var_r28; var_r31++) { - if (lbl_1_bss_8C[var_r31].unk_08 == 0) { - break; - } - } - if (var_r31 == var_r28) { - var_r29 = 3; - break; - } - else { - if (var_r29 == 1) { - fn_1_DD8C(&lbl_1_bss_8C[var_r30]); - fn_1_E4AC(&lbl_1_bss_8C[var_r30]); - fn_1_DD8C(&lbl_1_bss_8C[lbl_1_bss_8C[var_r30].unk_0C]); - var_r27 = lbl_1_bss_8C[lbl_1_bss_8C[var_r30].unk_0C].unk_0C; - lbl_1_bss_8C[lbl_1_bss_8C[var_r30].unk_0C].unk_08 = 0; - } - else if (var_r29 == 4) { - } - else if (var_r29 == 0) { - fn_1_E4AC(&lbl_1_bss_8C[var_r30]); - break; - } - else { - break; - } - var_r24 = -1; - } - } - fn_1_1190C(); - fn_1_111E0(); - if (var_r29 != 0) { - fn_1_C8EC(3); - } - return var_r29; -} - -void fn_1_9350(s32 arg0) -{ - s32 var_r31; - - for (var_r31 = 0; var_r31 < 4; var_r31++) { - GWPlayer[var_r31].team = GWPlayerCfg[var_r31].group = lbl_1_bss_8C[var_r31].unk_4C; - GWPlayer[var_r31].com = GWPlayerCfg[var_r31].iscom = lbl_1_bss_8C[var_r31].unk_50; - GWPlayer[var_r31].diff = GWPlayerCfg[var_r31].diff = lbl_1_bss_8C[var_r31].unk_54; - if (lbl_1_bss_74 != 0) { - if (lbl_1_bss_8C[var_r31].unk_5C <= 5) { - GWPlayer[var_r31].character = GWPlayerCfg[var_r31].character = lbl_1_bss_8C[var_r31].unk_5C - 1; - } - else if (lbl_1_bss_8C[var_r31].unk_5C <= 0xB) { - GWPlayer[var_r31].character = GWPlayerCfg[var_r31].character = lbl_1_bss_8C[var_r31].unk_5C - 3; - } - else { - GWPlayer[var_r31].character = GWPlayerCfg[var_r31].character = fn_1_10C98(lbl_1_bss_8C[var_r31].unk_5C - 4); - } - } - else if (arg0 == 1) { - if (var_r31 != 0) { - lbl_1_bss_8C[var_r31].unk_5C = lbl_1_bss_8C[var_r31 - 1].unk_5C + 1; - if (lbl_1_bss_8C[var_r31].unk_5C >= 8) { - lbl_1_bss_8C[var_r31].unk_5C = 0; - } - } - GWPlayer[var_r31].character = GWPlayerCfg[var_r31].character = lbl_1_bss_8C[var_r31].unk_5C; - } - else { - GWPlayer[var_r31].character = GWPlayerCfg[var_r31].character = lbl_1_bss_8C[var_r31].unk_5C; - } - GWPlayer[var_r31].port = GWPlayerCfg[var_r31].pad_idx = lbl_1_bss_8C[var_r31].unk_58; - } - OSReport("\n\n#################### SET PLAYERDATA ####################\n"); - OSReport("ID) GRP:COM:DIF:CHR:PAD\n"); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - OSReport("%2d) %3d:%3d:%3d:%3d:%3d\n", var_r31, GWPlayerCfg[var_r31].group, GWPlayerCfg[var_r31].iscom, GWPlayerCfg[var_r31].diff, - GWPlayerCfg[var_r31].character, GWPlayerCfg[var_r31].pad_idx); - } - OSReport("########################################################\n"); -} - -s32 lbl_1_data_4B4[4][2] = { - { -0x69, 0 }, - { -0x23, 0 }, - { 0x23, 0 }, - { 0x69, 0 }, -}; -s32 lbl_1_data_4D4[8][2] = { - { -0x7B, -0x34 }, - { -0x29, -0x34 }, - { 0x29, -0x34 }, - { 0x7B, -0x34 }, - { -0x7B, 0x34 }, - { -0x29, 0x34 }, - { 0x29, 0x34 }, - { 0x7B, 0x34 }, -}; -s32 lbl_1_data_514[0xE][2] = { - { -0x7B, -0x66 }, - { -0x29, -0x66 }, - { 0x29, -0x66 }, - { 0x7B, -0x66 }, - { -0x7B, 0 }, - { -0x29, 0 }, - { 0x29, 0 }, - { 0x7B, 0 }, - { -0xCD, 0x66 }, - { -0x7B, 0x66 }, - { -0x29, 0x66 }, - { 0x29, 0x66 }, - { 0x7B, 0x66 }, - { 0xCD, 0x66 }, -}; -s32 lbl_1_data_584[0x12][2] = { - { 0, 0 }, - { -0x7B, -0x66 }, - { -0x29, -0x66 }, - { 0x29, -0x66 }, - { 0x7B, -0x66 }, - { 0, 0 }, - { 0, 0 }, - { -0x7B, 0 }, - { -0x29, 0 }, - { 0x29, 0 }, - { 0x7B, 0 }, - { 0, 0 }, - { -0xCD, 0x66 }, - { -0x7B, 0x66 }, - { -0x29, 0x66 }, - { 0x29, 0x66 }, - { 0x7B, 0x66 }, - { 0xCD, 0x66 }, -}; -s32 lbl_1_data_614[4][2] = { - { -0x45, -8 }, - { -0x17, -8 }, - { 0x17, -8 }, - { 0x45, -8 }, -}; -s32 lbl_1_data_634[2] = { 0, 0xFFFFFFF8 }; -s32 lbl_1_data_63C[2][2] = { - { -0x17, -8 }, - { 0x17, -8 }, -}; -s32 lbl_1_data_64C[4][2] = { - { -0x59, -8 }, - { -0x2B, -8 }, - { 0x2B, -8 }, - { 0x59, -8 }, -}; -s32 lbl_1_data_66C = -1; -s32 lbl_1_data_670 = -1; - -s32 fn_1_97D0(s32 arg0, s32 arg1) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r24; - s32 var_r23; - s32 var_r22; - s32 var_r21; - s32 var_r20; - s32 var_r19; - s32 var_r18; - - var_r30 = 0; - var_r27 = 0; - var_r26 = 0; - var_r29 = arg0; - if (arg0 == 3) { - lbl_1_bss_74 = 1; - } - else { - lbl_1_bss_74 = 0; - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_8C[var_r31].unk_48 = var_r31; - lbl_1_bss_8C[var_r31].unk_4C = 0; - lbl_1_bss_8C[var_r31].unk_50 = 0; - lbl_1_bss_8C[var_r31].unk_54 = 0; - if (lbl_1_bss_74 != 0) { - lbl_1_bss_8C[var_r31].unk_5C = var_r31 + 1; - } - else { - lbl_1_bss_8C[var_r31].unk_5C = var_r31; - } - lbl_1_bss_8C[var_r31].unk_58 = var_r31; - } - if (arg1 == 1) { - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_8C[var_r31].unk_48 = var_r31; - lbl_1_bss_8C[var_r31].unk_4C = GWPlayerCfg[var_r31].group; - lbl_1_bss_8C[var_r31].unk_50 = GWPlayerCfg[var_r31].iscom; - lbl_1_bss_8C[var_r31].unk_54 = GWPlayerCfg[var_r31].diff; - lbl_1_bss_8C[var_r31].unk_5C = GWPlayerCfg[var_r31].character; - lbl_1_bss_8C[var_r31].unk_58 = GWPlayerCfg[var_r31].pad_idx; - lbl_1_bss_8C[var_r31].unk_08 = lbl_1_bss_8C[var_r31].unk_0C = lbl_1_bss_8C[var_r31].unk_10 = lbl_1_bss_8C[var_r31].unk_14 = 0; - lbl_1_bss_8C[var_r31].unk_28 = lbl_1_bss_8C[var_r31].unk_2C = lbl_1_bss_8C[var_r31].unk_30 = lbl_1_bss_8C[var_r31].unk_34 = 0; - switch (arg0) { - case 0: - if (lbl_1_bss_8C[var_r31].unk_50 == 0) { - lbl_1_bss_8C[var_r31].unk_08 = 1; - } - else { - var_r27 = 1; - } - break; - case 2: - if (lbl_1_bss_8C[var_r31].unk_50 == 0) { - lbl_1_bss_8C[var_r31].unk_08 = 1; - var_r26++; - } - else { - var_r27 = 1; - } - break; - case 3: - if (lbl_1_bss_8C[var_r31].unk_50 == 0) { - lbl_1_bss_8C[var_r31].unk_08 = 1; - var_r26++; - } - else { - var_r27 = 1; - } - if (lbl_1_bss_8C[var_r31].unk_5C <= 3) { - lbl_1_bss_8C[var_r31].unk_5C++; - } - else if (lbl_1_bss_8C[var_r31].unk_5C <= 7) { - lbl_1_bss_8C[var_r31].unk_5C += 3; - } - else { - lbl_1_bss_8C[var_r31].unk_5C = fn_1_10C18(lbl_1_bss_8C[var_r31].unk_5C) + 4; - } - break; - } - } - switch (arg0) { - case 0: - if (var_r27 == 1) { - var_r29 = 0x66; - var_r30 = 1; - } - else { - var_r29 = 0x65; - var_r30 = 0; - } - break; - case 1: - var_r29 = 0xC8; - break; - case 2: - if ((var_r27 == 1) && (var_r26 == 1)) { - var_r29 = 0x12E; - var_r30 = 1; - } - else { - var_r29 = 0x12D; - var_r30 = 0; - } - break; - case 3: - if (var_r27 == 1) { - var_r29 = 0x192; - var_r30 = 1; - } - else { - var_r29 = 0x191; - var_r30 = 0; - } - break; - } - } - while (TRUE) { - fn_1_10FBC(1); - if (var_r28 == 0x3E7) { - break; - } - switch (var_r29) { - case 0x0: - var_r29 = 0x64; - break; - case 0x1: - var_r29 = 0xC8; - break; - case 0x2: - var_r29 = 0x12C; - break; - case 0x3: - var_r29 = 0x190; - break; - case 0x64: - var_r28 = fn_1_7E0C(var_r30); - if (var_r28 != 0) { - var_r29 = 0x65; - var_r30 = 0; - } - else { - var_r29 = 0x385; - var_r30 = 1; - } - break; - case 0x65: - var_r23 = fn_1_8030(var_r30, 4); - var_r28 = var_r23; - if (var_r28 == 1) { - var_r29 = 0x66; - var_r30 = 0; - } - else if (var_r28 == 2) { - var_r29 = 0x384; - var_r30 = 0; - } - else { - var_r29 = 0x64; - var_r30 = 1; - } - break; - case 0x66: - var_r22 = fn_1_8338(var_r30, 4); - var_r28 = var_r22; - var_r28 = var_r28; - if (var_r28 != 0) { - var_r29 = 0x384; - var_r30 = 0; - } - else { - var_r29 = 0x65; - var_r30 = 1; - } - break; - case 0xC8: - var_r21 = fn_1_8030(0, 1); - var_r28 = var_r21; - if (var_r28 != 0) { - var_r29 = 0x384; - var_r30 = 0; - } - else { - var_r29 = 0x385; - var_r30 = 1; - } - break; - case 0x12C: - var_r28 = fn_1_88A4(); - if (var_r28 != 0) { - var_r29 = 0x12D; - var_r30 = 0; - } - else { - var_r29 = 0x385; - var_r30 = 1; - } - break; - case 0x12D: - var_r20 = fn_1_8030(var_r30, 2); - var_r28 = var_r20; - if (var_r28 == 1) { - var_r29 = 0x12E; - var_r30 = 0; - } - else if (var_r28 == 2) { - var_r29 = 0x384; - var_r30 = 0; - } - else { - var_r29 = 0x12C; - var_r30 = 1; - } - break; - case 0x12E: - var_r19 = fn_1_8338(var_r30, 2); - var_r28 = var_r19; - if (var_r28 != 0) { - var_r29 = 0x384; - var_r30 = 0; - } - else { - var_r29 = 0x12D; - var_r30 = 1; - } - break; - case 0x190: - var_r18 = fn_1_7E0C(0); - var_r28 = var_r18; - if (var_r28 != 0) { - var_r29 = 0x191; - var_r30 = 0; - } - else { - var_r29 = 0x385; - var_r30 = 1; - } - break; - case 0x191: - var_r28 = fn_1_8B94(var_r30); - if (var_r28 == 1) { - var_r29 = 0x192; - var_r30 = 0; - } - else if (var_r28 == 2) { - var_r29 = 0x384; - var_r30 = 0; - } - else { - var_r29 = 0x190; - var_r30 = 1; - } - break; - case 0x192: - var_r28 = fn_1_8E50(var_r30); - if (var_r28 != 0) { - var_r29 = 0x384; - var_r30 = 0; - } - else { - var_r29 = 0x191; - var_r30 = 1; - } - break; - case 0x384: - fn_1_9350(arg0); - var_r24 = 1; - var_r28 = 0x3E7; - break; - case 0x385: - var_r24 = 0; - var_r28 = 0x3E7; - break; - } - } - return var_r24; -} - -void fn_1_9FDC(s32 arg0) -{ - fn_1_10764(arg0); -} - -void fn_1_A004(s32 arg0) -{ - fn_1_108C8(arg0); -} - -void fn_1_A02C(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - AnimData *var_r28; - - var_r30 = HuSprGrpCreate(0xB); - lbl_1_bss_26C[0] = var_r30; - var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x46)), 0xBB8, 0); - HuSprGrpMemberSet(var_r30, 0, var_r29); - HuSprPosSet(var_r30, 0, 0.0f, 0.0f); - var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x47)); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r29 = HuSprCreate(var_r28, 0x3E8, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 1, var_r29); - HuSprBankSet(var_r30, var_r31 + 1, var_r31); - } - var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x48)); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r29 = HuSprCreate(var_r28, 0x76C, 0); - HuSprGrpMemberSet(var_r30, var_r31 + 3, var_r29); - HuSprPosSet(var_r30, var_r31 + 3, lbl_1_data_4B4[var_r31 % 4][0], lbl_1_data_4B4[0][1]); - HuSprBankSet(var_r30, var_r31 + 3, 0); - } - fn_1_A248(); - fn_1_A574(); -} - -void fn_1_A248(void) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_26C[0]; - for (var_r31 = 0; var_r31 < 0xB; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - HuSprAttrReset(var_r30, 0, 4); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 3, 4); - HuSprPosSet(var_r30, var_r31 + 3, lbl_1_data_4B4[var_r31 % 4][0], lbl_1_data_4B4[0][1]); - HuSprBankSet(var_r30, var_r31 + 3, 0); - } - HuSprGrpPosSet(var_r30, 288.0f, -390.0f); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_8C[var_r31].unk_14 = lbl_1_bss_8C[var_r31].unk_50 = 0; - } -} - -void fn_1_A3DC(void) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_26C[0]; - for (var_r31 = 0; var_r31 < 0xB; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - HuSprAttrReset(var_r30, 0, 4); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 3, 4); - HuSprPosSet(var_r30, var_r31 + 3, lbl_1_data_4B4[var_r31 % 4 + 1][0], lbl_1_data_4B4[0][1]); - HuSprBankSet(var_r30, var_r31 + 3, 0); - } - HuSprGrpPosSet(var_r30, 288.0f, -390.0f); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_8C[var_r31].unk_14 = lbl_1_bss_8C[var_r31].unk_50 = 0; - } -} - -void fn_1_A574(void) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_26C[0]; - for (var_r31 = 0; var_r31 < 0xB; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - HuSprGrpPosSet(var_r30, 288.0f, 110.0f); - HuSprGrpScaleSet(var_r30, 1.0f, 1.0f); -} - -void fn_1_A610(void) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r28 = lbl_1_bss_26C[0]; - var_r29 = lbl_1_bss_26C[0]; - for (var_r31 = 0; var_r31 < 0xB; var_r31++) { - HuSprAttrSet(var_r29, var_r31, 4); - } - HuSprAttrReset(var_r29, 0, 4); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r29, var_r31 + 3, 4); - HuSprPosSet(var_r29, var_r31 + 3, lbl_1_data_4B4[var_r31 % 4][0], lbl_1_data_4B4[0][1]); - HuSprBankSet(var_r29, var_r31 + 3, 0); - } - HuSprGrpPosSet(var_r29, 288.0f, -390.0f); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_8C[var_r31].unk_14 = lbl_1_bss_8C[var_r31].unk_50 = 0; - } - for (var_r30 = 0; var_r30 <= 0x3C; var_r30++) { - fn_1_10FBC(1); - if (var_r30 <= 0x32) { - var_f31 = fn_1_10E38(-500.0f, 10.0f, var_r30, 50.0f); - } - else { - var_f31 = fn_1_10D60(10.0f, 0.0f, var_r30 - 0x32, 10.0f); - } - HuSprGrpPosSet(var_r28, 288.0f, 110.0f + var_f31); - } - HuSprGrpPosSet(var_r28, 288.0f, 110.0f); - fn_1_10FBC(0xA); -} - -void fn_1_A8E8(void) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r28 = lbl_1_bss_26C[0]; - var_r29 = lbl_1_bss_26C[0]; - for (var_r31 = 0; var_r31 < 0xB; var_r31++) { - HuSprAttrSet(var_r29, var_r31, 4); - } - HuSprAttrReset(var_r29, 0, 4); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - HuSprAttrReset(var_r29, var_r31 + 3, 4); - HuSprPosSet(var_r29, var_r31 + 3, lbl_1_data_4B4[var_r31 % 4 + 1][0], lbl_1_data_4B4[0][1]); - HuSprBankSet(var_r29, var_r31 + 3, 0); - } - HuSprGrpPosSet(var_r29, 288.0f, -390.0f); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - lbl_1_bss_8C[var_r31].unk_14 = lbl_1_bss_8C[var_r31].unk_50 = 0; - } - for (var_r30 = 0; var_r30 <= 0x3C; var_r30++) { - fn_1_10FBC(1); - if (var_r30 <= 0x32) { - var_f31 = fn_1_10E38(-500.0f, 10.0f, var_r30, 50.0f); - } - else { - var_f31 = fn_1_10D60(10.0f, 0.0f, var_r30 - 0x32, 10.0f); - } - HuSprGrpPosSet(var_r28, 288.0f, 110.0f + var_f31); - } - HuSprGrpPosSet(var_r28, 288.0f, 110.0f); - fn_1_10FBC(0xA); -} -void fn_1_ABC4(void) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r28 = lbl_1_bss_26C[0]; - fn_1_10FBC(0xA); - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - fn_1_10FBC(1); - if (var_r31 <= 0xA) { - var_f31 = fn_1_10E38(0.0f, 10.0f, var_r31, 10.0f); - } - else { - var_f31 = fn_1_10D60(10.0f, -500.0f, var_r31 - 0xA, 50.0f); - } - HuSprGrpPosSet(var_r28, 288.0f, 110.0f + var_f31); - } - HuSprGrpPosSet(var_r28, 288.0f, -390.0f); - var_r29 = lbl_1_bss_26C[0]; - for (var_r30 = 0; var_r30 < 0xB; var_r30++) { - HuSprAttrSet(var_r29, var_r30, 4); - } - HuSprGrpPosSet(var_r29, 288.0f, 110.0f); - HuSprGrpScaleSet(var_r29, 1.0f, 1.0f); -} - -void fn_1_ADA4(s32 arg0) -{ - s32 var_r31 = lbl_1_bss_26C[0]; - HuSprAttrReset(var_r31, 1, 4); - HuSprAttrReset(var_r31, 2, 4); - HuSprPosSet(var_r31, 1, -155.0f, 0.0f); - HuSprPosSet(var_r31, 2, 155.0f, 0.0f); - if (arg0 == 2) { - HuSprPosSet(var_r31, 1, -80.0f, 0.0f); - HuSprPosSet(var_r31, 2, 80.0f, 0.0f); - } -} - -void fn_1_AE94(void) -{ - s32 var_r31 = lbl_1_bss_26C[0]; - HuSprAttrSet(var_r31, 1, 4); - HuSprAttrSet(var_r31, 2, 4); -} - -void fn_1_AEE4(omObjData *object, ZtarDllUnkStruct2 *arg1) -{ - float var_f31; - float var_f30; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - - var_r27 = lbl_1_bss_26C[0]; - var_r29 = var_r28 = var_r26 = var_r24 = 0; - lbl_1_bss_20C.unk_28 = 0; - var_r29 = 1; - for (var_r31 = 1; var_r31 < 4; var_r31++) { - if (lbl_1_bss_8C[var_r31].unk_50 == 0) { - var_r29++; - } - } - var_r28 = 1; - for (var_r31 = 1; var_r31 < 4; var_r31++) { - if (HuPadStatGet(var_r31) != -1) { - var_r28++; - } - } - if (var_r28 >= 2) { - var_r25 = lbl_1_bss_26C[0]; - HuSprAttrReset(var_r25, 1, 4); - HuSprAttrReset(var_r25, 2, 4); - HuSprPosSet(var_r25, 1, -155.0f, 0.0f); - HuSprPosSet(var_r25, 2, 155.0f, 0.0f); - if (HuPadStkX[0] >= 5) { - var_r29++; - var_r26 = 1; - } - else if (HuPadStkX[0] <= -5) { - var_r29--; - var_r26 = -1; - } - } - else { - var_r23 = lbl_1_bss_26C[0]; - HuSprAttrSet(var_r23, 1, 4); - HuSprAttrSet(var_r23, 2, 4); - } - if (var_r29 < 1) { - var_r29 = var_r28; - } - else if (var_r29 > var_r28) { - if (var_r26 == 0) { - var_r29 = var_r28; - var_r24 = 1; - } - else { - var_r29 = 1; - } - } - if ((var_r26 != 0) || (var_r24 != 0)) { - lbl_1_bss_20C.unk_28 = 1; - HuAudFXPlay(0); - for (var_r31 = 0; var_r31 <= 0xA; var_r31++) { - if (var_r31 <= 5) { - var_f31 = fn_1_10E38(0.0f, 10.0f, var_r31, 5.0f); - var_f30 = fn_1_10E38(1.0f, 0.0f, var_r31, 5.0f); - } - else { - var_f31 = fn_1_10E38(10.0f, 0.0f, var_r31 - 5, 5.0f); - var_f30 = fn_1_10E38(0.0f, 1.0f, var_r31 - 5, 5.0f); - } - if (var_r26 == 1) { - HuSprPosSet(var_r27, 2, 3.0f + (155.0f + var_f31), 0.0f); - } - else if (var_r26 == -1) { - HuSprPosSet(var_r27, 1, (-155.0f - var_f31) - 3.0f, 0.0f); - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if ((var_r30 < var_r29) && (lbl_1_bss_8C[var_r30].unk_50 == 1)) { - lbl_1_bss_8C[var_r30].unk_14 = 0; - HuSprScaleSet(var_r27, var_r30 + 3, var_f30, 1.0f); - if (var_r31 == 5) { - HuSprBankSet(var_r27, var_r30 + 3, 0); - } - } - else if ((var_r30 >= var_r29) && (lbl_1_bss_8C[var_r30].unk_50 == 0)) { - lbl_1_bss_8C[var_r30].unk_14 = 1; - HuSprScaleSet(var_r27, var_r30 + 3, var_f30, 1.0f); - if (var_r31 == 5) { - HuSprBankSet(var_r27, var_r30 + 3, 1); - } - } - } - fn_1_10FBC(1); - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if (var_r30 < var_r29) { - lbl_1_bss_8C[var_r30].unk_50 = 0; - } - else { - lbl_1_bss_8C[var_r30].unk_50 = 1; - } - } - } - lbl_1_bss_20C.unk_28 = 0; -} - -void fn_1_B468(omObjData *object, ZtarDllUnkStruct2 *arg1) -{ - float var_f31; - float var_f30; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - - var_r27 = lbl_1_bss_26C[0]; - var_r29 = var_r28 = var_r26 = var_r24 = 0; - lbl_1_bss_20C.unk_28 = 0; - var_r29 = 1; - for (var_r31 = 1; var_r31 < 2; var_r31++) { - if (lbl_1_bss_8C[var_r31].unk_50 == 0) { - var_r29++; - } - } - var_r28 = 1; - for (var_r31 = 1; var_r31 < 4; var_r31++) { - if (HuPadStatGet(var_r31) != -1) { - var_r28++; - } - } - if (var_r28 > 2) { - var_r28 = 2; - } - if (var_r28 >= 2) { - var_r25 = lbl_1_bss_26C[0]; - HuSprAttrReset(var_r25, 1, 4); - HuSprAttrReset(var_r25, 2, 4); - HuSprPosSet(var_r25, 1, -155.0f, 0.0f); - HuSprPosSet(var_r25, 2, 155.0f, 0.0f); - HuSprPosSet(var_r25, 1, -80.0f, 0.0f); - HuSprPosSet(var_r25, 2, 80.0f, 0.0f); - if (HuPadStkX[0] >= 5) { - var_r29++; - var_r26 = 1; - } - else if (HuPadStkX[0] <= -5) { - var_r29--; - var_r26 = -1; - } - } - else { - var_r23 = lbl_1_bss_26C[0]; - HuSprAttrSet(var_r23, 1, 4); - HuSprAttrSet(var_r23, 2, 4); - } - if (var_r29 < 1) { - var_r29 = var_r28; - } - else if (var_r29 > var_r28) { - if (var_r26 == 0) { - var_r29 = var_r28; - var_r24 = 1; - } - else { - var_r29 = 1; - } - } - if ((var_r26 != 0) || (var_r24 != 0)) { - lbl_1_bss_20C.unk_28 = 1; - HuAudFXPlay(0); - for (var_r31 = 0; var_r31 <= 0xA; var_r31++) { - if (var_r31 <= 5) { - var_f31 = fn_1_10E38(0.0f, 10.0f, var_r31, 5.0f); - var_f30 = fn_1_10E38(1.0f, 0.0f, var_r31, 5.0f); - } - else { - var_f31 = fn_1_10E38(10.0f, 0.0f, var_r31 - 5, 5.0f); - var_f30 = fn_1_10E38(0.0f, 1.0f, var_r31 - 5, 5.0f); - } - if (var_r26 == 1) { - HuSprPosSet(var_r27, 2, 3.0f + (77.0f + var_f31), 0.0f); - } - else if (var_r26 == -1) { - HuSprPosSet(var_r27, 1, (-77.0f - var_f31) - 3.0f, 0.0f); - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if ((var_r30 < var_r29) && (lbl_1_bss_8C[var_r30].unk_50 == 1)) { - lbl_1_bss_8C[var_r30].unk_14 = 0; - HuSprScaleSet(var_r27, var_r30 + 3, var_f30, 1.0f); - if (var_r31 == 5) { - HuSprBankSet(var_r27, var_r30 + 3, 0); - } - } - else if ((var_r30 >= var_r29) && (lbl_1_bss_8C[var_r30].unk_50 == 0)) { - lbl_1_bss_8C[var_r30].unk_14 = 1; - HuSprScaleSet(var_r27, var_r30 + 3, var_f30, 1.0f); - if (var_r31 == 5) { - HuSprBankSet(var_r27, var_r30 + 3, 1); - } - } - } - fn_1_10FBC(1); - } - for (var_r30 = 0; var_r30 < 4; var_r30++) { - if (var_r30 < var_r29) { - lbl_1_bss_8C[var_r30].unk_50 = 0; - } - else { - lbl_1_bss_8C[var_r30].unk_50 = 1; - } - } - } - lbl_1_bss_20C.unk_28 = 0; -} - -void fn_1_BA40(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - AnimData *var_r28; - AnimData *var_r27; - - var_r29 = HuSprGrpCreate(0x36); - lbl_1_bss_26C[1] = var_r29; - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x4A)), 0xBB8, 0); - HuSprGrpMemberSet(var_r29, 0, var_r30); - HuSprPosSet(var_r29, 0, 0.0f, 0.0f); - var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x4B)), 0xBB8, 0); - HuSprGrpMemberSet(var_r29, 1, var_r30); - HuSprPosSet(var_r29, 1, 0.0f, 0.0f); - var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x5A)); - for (var_r31 = 0; var_r31 < 0xE; var_r31++) { - var_r30 = HuSprCreate(HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MPEX, 0x4C)), 0x76C, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 2, var_r30); - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = HuSprCreate(HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MPEX, 0x5B)), 0x384, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x1E, var_r30); - var_r30 = HuSprCreate(HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MPEX, 0x60)), 0x3E8, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x22, var_r30); - } - var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x5F)); - var_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x64)); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = HuSprCreate(var_r28, 0x384, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x26, var_r30); - var_r30 = HuSprCreate(var_r27, 0x3E8, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x2A, var_r30); - } - var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x65)); - var_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x66)); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r30 = HuSprCreate(var_r28, 0x384, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x2E, var_r30); - var_r30 = HuSprCreate(var_r27, 0x320, 0); - HuSprGrpMemberSet(var_r29, var_r31 + 0x32, var_r30); - } - fn_1_BD7C(0); - fn_1_BFF0(0); -} - -void fn_1_BD7C(s32 arg0) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_26C[1]; - for (var_r31 = 0; var_r31 < 0x36; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - if (arg0 != 3) { - HuSprAttrReset(var_r30, 0, 4); - for (var_r31 = 0; var_r31 < 8; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 2, 0); - HuSprAttrReset(var_r30, var_r31 + 2, 4); - HuSprPosSet(var_r30, var_r31 + 2, lbl_1_data_4D4[var_r31][0], lbl_1_data_4D4[var_r31][1]); - HuSprBankSet(var_r30, var_r31 + 2, 0); - } - } - else { - HuSprAttrReset(var_r30, 1, 4); - HuSprPosSet(var_r30, 1, 2.0f, 0.0f); - for (var_r31 = 0; var_r31 < 0xE; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 2, 0); - HuSprAttrReset(var_r30, var_r31 + 2, 4); - HuSprPosSet(var_r30, var_r31 + 2, lbl_1_data_514[var_r31][0], lbl_1_data_514[var_r31][1]); - HuSprBankSet(var_r30, var_r31 + 2, 0); - } - } - HuSprGrpPosSet(var_r30, 288.0f, -331.0f); -} - -void fn_1_BFF0(s32 arg0) -{ - s32 var_r31; - s32 var_r30 = lbl_1_bss_26C[1]; - for (var_r31 = 0; var_r31 < 0x36; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - HuSprGrpPosSet(var_r30, 288.0f, -331.0f); -} -void fn_1_C06C(s32 arg0, s32 arg1) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r28 = lbl_1_bss_26C[1]; - var_r30 = lbl_1_bss_26C[1]; - for (var_r31 = 0; var_r31 < 0x36; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - if (arg0 != 3) { - HuSprAttrReset(var_r30, 0, 4); - for (var_r31 = 0; var_r31 < 8; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 2, 0); - HuSprAttrReset(var_r30, var_r31 + 2, 4); - HuSprPosSet(var_r30, var_r31 + 2, lbl_1_data_4D4[var_r31][0], lbl_1_data_4D4[var_r31][1]); - HuSprBankSet(var_r30, var_r31 + 2, 0); - } - } - else { - HuSprAttrReset(var_r30, 1, 4); - HuSprPosSet(var_r30, 1, 2.0f, 0.0f); - for (var_r31 = 0; var_r31 < 0xE; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 2, 0); - HuSprAttrReset(var_r30, var_r31 + 2, 4); - HuSprPosSet(var_r30, var_r31 + 2, lbl_1_data_514[var_r31][0], lbl_1_data_514[var_r31][1]); - HuSprBankSet(var_r30, var_r31 + 2, 0); - } - } - HuSprGrpPosSet(var_r30, 288.0f, -331.0f); - if (arg1 == 1) { - fn_1_11960(); - } - if (arg1 == 2) { - fn_1_11C64(); - } - if (arg1 == 3) { - fn_1_11F68(); - } - for (var_r29 = 0; var_r29 <= 0x3C; var_r29++) { - fn_1_10FBC(1); - if (var_r29 <= 0x32) { - var_f31 = fn_1_10E38(-500.0f, 10.0f, var_r29, 50.0f); - } - else { - var_f31 = fn_1_10D60(10.0f, 0.0f, var_r29 - 0x32, 10.0f); - } - if (lbl_1_bss_74 != 0) { - HuSprGrpPosSet(var_r28, 288.0f, 20.0f + (169.0f + var_f31)); - } - else { - HuSprGrpPosSet(var_r28, 288.0f, 169.0f + var_f31); - } - } - if (lbl_1_bss_74 != 0) { - HuSprGrpPosSet(var_r28, 288.0f, 189.0f); - return; - } - HuSprGrpPosSet(var_r28, 288.0f, 169.0f); -} - -void fn_1_C4B8(s32 arg0) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r28 = lbl_1_bss_26C[1]; - var_r30 = lbl_1_bss_26C[1]; - for (var_r31 = 0; var_r31 < 0x36; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - if (arg0 != 3) { - HuSprAttrReset(var_r30, 0, 4); - for (var_r31 = 0; var_r31 < 8; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 2, 0); - HuSprAttrReset(var_r30, var_r31 + 2, 4); - HuSprPosSet(var_r30, var_r31 + 2, lbl_1_data_4D4[var_r31][0], lbl_1_data_4D4[var_r31][1]); - HuSprBankSet(var_r30, var_r31 + 2, 0); - } - } - else { - HuSprAttrReset(var_r30, 1, 4); - HuSprPosSet(var_r30, 1, 2.0f, 0.0f); - for (var_r31 = 0; var_r31 < 0xE; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 2, 0); - HuSprAttrReset(var_r30, var_r31 + 2, 4); - HuSprPosSet(var_r30, var_r31 + 2, lbl_1_data_514[var_r31][0], lbl_1_data_514[var_r31][1]); - HuSprBankSet(var_r30, var_r31 + 2, 0); - } - } - HuSprGrpPosSet(var_r30, 288.0f, -331.0f); - for (var_r29 = 0; var_r29 <= 0x3C; var_r29++) { - fn_1_10FBC(1); - if (var_r29 <= 0x32) { - var_f31 = fn_1_10E38(-500.0f, 10.0f, var_r29, 50.0f); - } - else { - var_f31 = fn_1_10D60(10.0f, 0.0f, var_r29 - 0x32, 10.0f); - } - if (lbl_1_bss_74 != 0) { - HuSprGrpPosSet(var_r28, 288.0f, 20.0f + (169.0f + var_f31)); - } - else { - HuSprGrpPosSet(var_r28, 288.0f, 169.0f + var_f31); - } - } - if (lbl_1_bss_74 != 0) { - HuSprGrpPosSet(var_r28, 288.0f, 189.0f); - return; - } - HuSprGrpPosSet(var_r28, 288.0f, 169.0f); -} - -void fn_1_C8EC(s32 arg0) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r29 = lbl_1_bss_26C[1]; - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - fn_1_10FBC(1); - if (var_r31 <= 0xA) { - var_f31 = fn_1_10E38(0.0f, 10.0f, var_r31, 10.0f); - } - else { - var_f31 = fn_1_10D60(10.0f, -500.0f, var_r31 - 0xA, 50.0f); - } - if (lbl_1_bss_74 != 0) { - HuSprGrpPosSet(var_r29, 288.0f, 20.0f + (169.0f + var_f31)); - } - else { - HuSprGrpPosSet(var_r29, 288.0f, 169.0f + var_f31); - } - } - HuSprGrpPosSet(var_r29, 288.0f, -331.0f); - var_r28 = lbl_1_bss_26C[1]; - for (var_r30 = 0; var_r30 < 0x36; var_r30++) { - HuSprAttrSet(var_r28, var_r30, 4); - } - HuSprGrpPosSet(var_r28, 288.0f, -331.0f); -} - -void fn_1_CAF0(void) -{ - float var_f31; - float var_f30; - s32 var_r31; - s32 var_r30; - s32 var_r29; - - var_r30 = lbl_1_bss_26C[1]; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 0x1E, 0); - HuSprBankSet(var_r30, var_r31 + 0x22, 0); - HuSprBankSet(var_r30, var_r31 + 0x26, 0); - HuSprBankSet(var_r30, var_r31 + 0x2A, 0); - HuSprBankSet(var_r30, var_r31 + 0x2E, 0); - HuSprBankSet(var_r30, var_r31 + 0x32, 0); - } - if (lbl_1_bss_74 != 0) { - for (var_r31 = 0; var_r31 < 0xE; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 2, 0); - } - } - else { - for (var_r31 = 0; var_r31 < 8; var_r31++) { - HuSprBankSet(var_r30, var_r31 + 2, 0); - } - } - for (var_r31 = 0; var_r31 <= 0xA; var_r31++) { - fn_1_10FBC(1); - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if (lbl_1_bss_74 != 0) { - var_f31 = fn_1_10E38(lbl_1_data_584[lbl_1_bss_8C[var_r29].unk_5C][0], lbl_1_data_584[var_r29 + 1][0], var_r31, 10.0f); - var_f30 = fn_1_10E38(lbl_1_data_584[lbl_1_bss_8C[var_r29].unk_5C][1], lbl_1_data_584[1][1], var_r31, 10.0f); - } - else { - var_f31 = fn_1_10E38(lbl_1_data_4D4[lbl_1_bss_8C[var_r29].unk_5C % 4][0], lbl_1_data_4D4[var_r29][0], var_r31, 10.0f); - var_f30 = fn_1_10E38(lbl_1_data_4D4[(lbl_1_bss_8C[var_r29].unk_5C / 4) * 4][1], lbl_1_data_4D4[0][1], var_r31, 10.0f); - } - HuSprPosSet(var_r30, var_r29 + 0x1E, var_f31, var_f30); - HuSprPosSet(var_r30, var_r29 + 0x22, var_f31, var_f30); - } - } - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_74 != 0) { - HuSprPosSet(var_r30, var_r31 + 0x1E, *lbl_1_data_584[var_r31 + 1], lbl_1_data_584[var_r31 + 1][1]); - HuSprPosSet(var_r30, var_r31 + 0x22, *lbl_1_data_584[var_r31 + 1], lbl_1_data_584[var_r31 + 1][1]); - lbl_1_bss_8C[var_r31].unk_5C = var_r31 + 1; - lbl_1_bss_8C[var_r31].unk_48 = var_r31; - lbl_1_bss_8C[var_r31].unk_08 = 0; - } - else { - HuSprPosSet(var_r30, var_r31 + 0x1E, lbl_1_data_4D4[var_r31][0], lbl_1_data_4D4[var_r31][1]); - HuSprPosSet(var_r30, var_r31 + 0x22, lbl_1_data_4D4[var_r31][0], lbl_1_data_4D4[var_r31][1]); - lbl_1_bss_8C[var_r31].unk_48 = var_r31; - lbl_1_bss_8C[var_r31].unk_5C = var_r31; - lbl_1_bss_8C[var_r31].unk_08 = 0; - } - } -} - -void fn_1_D280(omObjData *arg0, ZtarDllUnkStruct2 *arg1) -{ - float var_f31; - float var_f30; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - s32 var_r22; - s32 var_r21; - s32 var_r20; - s32 var_r19; - - var_r24 = lbl_1_bss_26C[1]; - var_r27 = 0; - var_r26 = 0; - HuSprAttrReset(var_r24, arg1->unk_48 + 0x1E, 4); - HuSprAttrReset(var_r24, arg1->unk_48 + 0x22, 4); - if (lbl_1_bss_74 != 0) { - var_r30 = arg1->unk_5C % 6; - var_r23 = var_r30; - var_r29 = arg1->unk_5C / 6; - var_r22 = var_r29; - } - else { - var_r30 = arg1->unk_5C % 4; - var_r23 = var_r30; - var_r29 = arg1->unk_5C / 4; - var_r22 = var_r29; - } - if (arg1->unk_08 == 0) { - if (HuPadBtnDown[arg1->unk_48] & PAD_BUTTON_A) { - arg1->unk_08 = 1; - if (lbl_1_bss_74 != 0) { - var_r21 = 0; - if (arg1->unk_5C <= 5) { - var_r21 = arg1->unk_5C - 1; - } - else if (arg1->unk_5C <= 0xB) { - var_r21 = arg1->unk_5C - 3; - } - else { - var_r21 = arg1->unk_5C - 4; - } - fn_1_122A8(var_r21); - HuSprBankSet(var_r24, var_r21 + 2, 1); - } - else { - fn_1_122A8(arg1->unk_5C); - HuSprBankSet(var_r24, arg1->unk_5C + 2, 1); - } - HuSprBankSet(var_r24, arg1->unk_48 + 0x1E, 1); - HuSprBankSet(var_r24, arg1->unk_48 + 0x22, 1); - } - else if (lbl_1_bss_74 != 0) { - if (HuPadStkX[arg1->unk_48] >= 5) { - var_r30++; - var_r27 = 1; - if (var_r30 > 5) { - var_r30 = 5; - } - } - else if (HuPadStkX[arg1->unk_48] <= -5) { - var_r30--; - var_r27 = -1; - if (var_r30 < 0) { - var_r30 = 0; - } - } - if (HuPadStkY[arg1->unk_48] <= -5) { - var_r29++; - var_r26 = 1; - if (var_r29 > 2) { - var_r29 = 2; - } - } - else if (HuPadStkY[arg1->unk_48] >= 5) { - var_r29--; - var_r26 = -1; - if (var_r29 < 0) { - var_r29 = 0; - } - } - } - else { - if (HuPadStkX[arg1->unk_48] >= 5) { - var_r30++; - var_r27 = 1; - if (var_r30 > 3) { - var_r30 = 3; - } - } - else if (HuPadStkX[arg1->unk_48] <= -5) { - var_r30--; - var_r27 = -1; - if (var_r30 < 0) { - var_r30 = 0; - } - } - if (HuPadStkY[arg1->unk_48] <= -5) { - var_r29++; - var_r26 = 1; - if (var_r29 > 1) { - var_r29 = 1; - } - } - else if (HuPadStkY[arg1->unk_48] >= 5) { - var_r29--; - var_r26 = -1; - if (var_r29 < 0) { - var_r29 = 0; - } - } - } - } - else if ((HuPadBtnDown[arg1->unk_48] & PAD_BUTTON_B) != 0) { - arg1->unk_08 = 0; - lbl_1_bss_20C.unk_10 = 1; - HuAudFXPlay(3); - if (lbl_1_bss_74 != 0) { - var_r20 = 0; - if (arg1->unk_5C <= 5) { - var_r20 = arg1->unk_5C - 1; - } - else if (arg1->unk_5C <= 0xB) { - var_r20 = arg1->unk_5C - 3; - } - else { - var_r20 = arg1->unk_5C - 4; - } - HuSprBankSet(var_r24, var_r20 + 2, 0); - } - else { - HuSprBankSet(var_r24, arg1->unk_5C + 2, 0); - } - HuSprBankSet(var_r24, arg1->unk_48 + 0x1E, 0); - HuSprBankSet(var_r24, arg1->unk_48 + 0x22, 0); - } - if (lbl_1_bss_74 != 0) { - var_r25 = var_r30 + (var_r29 * 6); - } - else { - var_r25 = var_r30 + (var_r29 * 4); - } - if (arg1->unk_5C != var_r25) { - if (lbl_1_bss_74 != 0) { - while (1) { - var_r25 = var_r30 + (var_r29 * 6); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - if (((var_r28 != arg1->unk_48) && (lbl_1_bss_8C[var_r28].unk_50 == 0) && (var_r25 == lbl_1_bss_8C[var_r28].unk_5C)) - || (var_r25 == 0) || (var_r25 == 5) || (var_r25 == 6) || (var_r25 == 0xB)) { - if ((var_r27 == 0) || (var_r26 == 0)) { - if (((var_r30 + var_r27) > 5) || ((var_r30 + var_r27) < 0)) { - var_r30 = var_r23; - } - else { - var_r30 += var_r27; - } - if (((var_r29 + var_r26) > 2) || ((var_r29 + var_r26) < 0)) { - var_r29 = var_r22; - } - else { - var_r29 += var_r26; - } - } - else if (((var_r30 + var_r27) <= 5) && ((var_r30 + var_r27) >= 0)) { - var_r30 += var_r27; - } - else if (((var_r29 + var_r26) <= 2) && ((var_r29 + var_r26) >= 0)) { - var_r29 += var_r26; - } - else { - var_r30 = var_r23; - var_r29 = var_r22; - } - break; - } - else { - } - } - if (var_r28 == 4) { - break; - } - } - } - else { - while (1) { - var_r25 = var_r30 + (var_r29 * 4); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - if ((var_r28 != arg1->unk_48) && (lbl_1_bss_8C[var_r28].unk_50 == 0) && (var_r25 == lbl_1_bss_8C[var_r28].unk_5C)) { - if ((var_r27 == 0) || (var_r26 == 0)) { - if (((var_r30 + var_r27) > 3) || ((var_r30 + var_r27) < 0)) { - var_r30 = var_r23; - } - else { - var_r30 += var_r27; - } - if (((var_r29 + var_r26) > 1) || ((var_r29 + var_r26) < 0)) { - var_r29 = var_r22; - } - else { - var_r29 += var_r26; - } - break; - } - else if (((var_r30 + var_r27) <= 3) && ((var_r30 + var_r27) >= 0)) { - var_r30 += var_r27; - break; - } - else if (((var_r29 + var_r26) <= 1) && ((var_r29 + var_r26) >= 0)) { - var_r29 += var_r26; - break; - } - else { - var_r30 = var_r23; - var_r29 = var_r22; - break; - } - } - else { - continue; - } - } - if (var_r28 == 4) { - break; - } - } - } - if (lbl_1_bss_74 != 0) { - var_r25 = var_r30 + (var_r29 * 6); - } - else { - var_r25 = var_r30 + (var_r29 * 4); - } - if (arg1->unk_5C != var_r25) { - HuAudFXPlay(0); - var_r19 = arg1->unk_5C; - arg1->unk_5C = var_r25; - if (lbl_1_bss_74 != 0) { - for (var_r28 = 0; var_r28 <= 0xA; var_r28++) { - fn_1_10FBC(1); - var_f31 = fn_1_10E38(lbl_1_data_584[var_r19][0], lbl_1_data_584[var_r25][0], var_r28, 10.0f); - var_f30 = fn_1_10E38(lbl_1_data_584[var_r19][1], lbl_1_data_584[var_r25][1], var_r28, 10.0f); - HuSprPosSet(var_r24, arg1->unk_48 + 0x1E, var_f31, var_f30); - HuSprPosSet(var_r24, arg1->unk_48 + 0x22, var_f31, var_f30); - } - return; - } - for (var_r28 = 0; var_r28 <= 0xA; var_r28++) { - fn_1_10FBC(1); - var_f31 = fn_1_10E38(*lbl_1_data_4D4[var_r23], *lbl_1_data_4D4[var_r30], var_r28, 10.0f); - var_f30 = fn_1_10E38(lbl_1_data_4D4[var_r22 * 4][1], lbl_1_data_4D4[var_r29 * 4][1], var_r28, 10.0f); - HuSprPosSet(var_r24, arg1->unk_48 + 0x1E, var_f31, var_f30); - HuSprPosSet(var_r24, arg1->unk_48 + 0x22, var_f31, var_f30); - } - } - } -} - -void fn_1_DD8C(ZtarDllUnkStruct2 *arg0) -{ - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r30 = lbl_1_bss_26C[1]; - do { - for (var_r29 = 0; var_r29 < 4; var_r29++) { - if ((var_r29 != arg0->unk_48) && (lbl_1_bss_8C[var_r29].unk_08 == 1) && (arg0->unk_5C == lbl_1_bss_8C[var_r29].unk_5C)) { - arg0->unk_5C += 1; - break; - } - } - } while (var_r29 != 4); - arg0->unk_54 = 0; - if (lbl_1_bss_74 != 0) { - var_r28 = 0; - if (arg0->unk_5C <= 5) { - var_r28 = arg0->unk_5C - 1; - } - else if (arg0->unk_5C <= 0xB) { - var_r28 = arg0->unk_5C - 3; - } - else { - var_r28 = arg0->unk_5C - 4; - } - HuSprBankSet(var_r30, var_r28 + 2, 0); - } - else { - HuSprBankSet(var_r30, arg0->unk_5C + 2, 0); - } - HuSprBankSet(var_r30, arg0->unk_48 + 0x26, 0); - HuSprBankSet(var_r30, arg0->unk_48 + 0x2A, 0); - HuSprBankSet(var_r30, arg0->unk_48 + 0x2E, arg0->unk_54); - HuSprBankSet(var_r30, arg0->unk_48 + 0x32, arg0->unk_54); - if (lbl_1_bss_74 != 0) { - HuSprPosSet(var_r30, arg0->unk_48 + 0x26, *lbl_1_data_584[arg0->unk_5C], lbl_1_data_584[arg0->unk_5C][1]); - HuSprPosSet(var_r30, arg0->unk_48 + 0x2A, *lbl_1_data_584[arg0->unk_5C], lbl_1_data_584[arg0->unk_5C][1]); - HuSprPosSet(var_r30, arg0->unk_48 + 0x2E, *lbl_1_data_584[arg0->unk_5C], lbl_1_data_584[arg0->unk_5C][1] + 0x23); - HuSprPosSet(var_r30, arg0->unk_48 + 0x32, *lbl_1_data_584[arg0->unk_5C], lbl_1_data_584[arg0->unk_5C][1] + 0x23); - } - else { - HuSprPosSet(var_r30, arg0->unk_48 + 0x26, *lbl_1_data_4D4[arg0->unk_5C % 4], lbl_1_data_4D4[(arg0->unk_5C / 4) * 4][1]); - HuSprPosSet(var_r30, arg0->unk_48 + 0x2A, *lbl_1_data_4D4[arg0->unk_5C % 4], lbl_1_data_4D4[(arg0->unk_5C / 4) * 4][1]); - HuSprPosSet(var_r30, arg0->unk_48 + 0x2E, *lbl_1_data_4D4[arg0->unk_5C % 4], lbl_1_data_4D4[(arg0->unk_5C / 4) * 4][1] + 0x23); - HuSprPosSet(var_r30, arg0->unk_48 + 0x32, *lbl_1_data_4D4[arg0->unk_5C % 4], lbl_1_data_4D4[(arg0->unk_5C / 4) * 4][1] + 0x23); - } - arg0->unk_10 = 0; - HuSprAttrReset(var_r30, arg0->unk_48 + 0x26, 4); - HuSprAttrReset(var_r30, arg0->unk_48 + 0x2A, 4); - HuSprAttrSet(var_r30, arg0->unk_48 + 0x2E, 4); - HuSprAttrSet(var_r30, arg0->unk_48 + 0x32, 4); -} - -void fn_1_E4AC(ZtarDllUnkStruct2 *arg0) -{ - s32 var_r30 = lbl_1_bss_26C[1]; - HuSprAttrSet(var_r30, arg0->unk_48 + 0x26, 4); - HuSprAttrSet(var_r30, arg0->unk_48 + 0x2A, 4); - HuSprAttrSet(var_r30, arg0->unk_48 + 0x2E, 4); - HuSprAttrSet(var_r30, arg0->unk_48 + 0x32, 4); -} - -void fn_1_E548(omObjData *arg0, ZtarDllUnkStruct2 *arg1) -{ - s32 sp8; - float var_f31; - float var_f30; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - u32 var_r22; - s32 var_r21; - s32 var_r20; - s32 var_r19; - - var_r27 = lbl_1_bss_26C[1]; - var_r26 = 0; - var_r25 = 0; - sp8 = arg1->unk_54; - lbl_1_bss_20C.unk_30 = 0; - if (lbl_1_bss_74 != 0) { - var_r30 = arg1->unk_5C % 6; - var_r23 = var_r30; - var_r29 = arg1->unk_5C / 6; - var_r22 = var_r29; - } - else { - var_r30 = arg1->unk_5C % 4; - var_r23 = var_r30; - var_r29 = arg1->unk_5C / 4; - var_r22 = var_r29; - } - if (arg1->unk_08 == 0) { - if (HuPadBtnDown[lbl_1_bss_8C[0].unk_58] & PAD_BUTTON_A) { - arg1->unk_08 = 1; - HuSprBankSet(var_r27, arg1->unk_48 + 0x26, 1); - HuSprBankSet(var_r27, arg1->unk_48 + 0x2A, 1); - if (lbl_1_bss_74 != 0) { - var_r21 = 0; - if (arg1->unk_5C <= 5) { - var_r21 = arg1->unk_5C - 1; - } - else if (arg1->unk_5C <= 0xB) { - var_r21 = arg1->unk_5C - 3; - } - else { - var_r21 = arg1->unk_5C - 4; - } - HuSprBankSet(var_r27, var_r21 + 2, 1); - fn_1_122A8(var_r21); - } - else { - HuSprBankSet(var_r27, arg1->unk_5C + 2, 1); - fn_1_122A8(arg1->unk_5C); - } - arg1->unk_54 = 0; - HuSprBankSet(var_r27, arg1->unk_48 + 0x2E, arg1->unk_54); - if (lbl_1_bss_74 != 0) { - HuSprPosSet(var_r27, arg1->unk_48 + 0x2E, lbl_1_data_584[arg1->unk_5C][0], lbl_1_data_584[arg1->unk_5C][1] + 0x23); - } - else { - HuSprPosSet(var_r27, arg1->unk_48 + 0x2E, lbl_1_data_4D4[arg1->unk_5C % 4][0], lbl_1_data_4D4[(arg1->unk_5C / 4) * 4][1] + 0x23); - } - HuSprAttrReset(var_r27, arg1->unk_48 + 0x2E, 4); - } - else if (lbl_1_bss_74 != 0) { - if (HuPadStkX[0] >= 5) { - var_r30++; - var_r26 = 1; - if (var_r30 > 5) { - var_r30 = 5; - } - } - else if (HuPadStkX[0] <= -5) { - var_r30--; - var_r26 = -1; - if (var_r30 < 0) { - var_r30 = 0; - } - } - if (*HuPadStkY <= -5) { - var_r29++; - var_r25 = 1; - if (var_r29 > 2) { - var_r29 = 2; - } - } - else if (*HuPadStkY >= 5) { - var_r29--; - var_r25 = -1; - if (var_r29 < 0) { - var_r29 = 0; - } - } - } - else { - if (HuPadStkX[0] >= 5) { - var_r30++; - var_r26 = 1; - if (var_r30 > 3) { - var_r30 = 3; - } - } - else if (HuPadStkX[0] <= -5) { - var_r30--; - var_r26 = -1; - if (var_r30 < 0) { - var_r30 = 0; - } - } - if (*HuPadStkY <= -5) { - var_r29++; - var_r25 = 1; - if (var_r29 > 1) { - var_r29 = 1; - } - } - else if (*HuPadStkY >= 5) { - var_r29--; - var_r25 = -1; - if (var_r29 < 0) { - var_r29 = 0; - } - } - } - } - else if (HuPadBtnDown[lbl_1_bss_8C[0].unk_58] & PAD_BUTTON_B) { - arg1->unk_08 = arg1->unk_10 = 0; - if (lbl_1_bss_74 != 0) { - var_r20 = 0; - if (arg1->unk_5C <= 5) { - var_r20 = arg1->unk_5C - 1; - } - else if (arg1->unk_5C <= 0xB) { - var_r20 = arg1->unk_5C - 3; - } - else { - var_r20 = arg1->unk_5C - 4; - } - HuSprBankSet(var_r27, var_r20 + 2, 0); - } - else { - HuSprBankSet(var_r27, arg1->unk_5C + 2, 0); - } - HuSprBankSet(var_r27, arg1->unk_48 + 0x26, 0); - HuSprBankSet(var_r27, arg1->unk_48 + 0x2A, 0); - HuSprAttrSet(var_r27, arg1->unk_48 + 0x2E, 4); - HuAudFXPlay(3); - } - if (lbl_1_bss_74 != 0) { - var_r24 = var_r30 + (var_r29 * 6); - } - else { - var_r24 = var_r30 + (var_r29 * 4); - } - if (arg1->unk_5C != var_r24) { - if (lbl_1_bss_74 != 0) { - while (1) { - fn_1_10FBC(1); - var_r24 = var_r30 + (var_r29 * 6); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - if (((var_r28 != arg1->unk_48) && (lbl_1_bss_8C[var_r28].unk_08 == 1) && (var_r24 == lbl_1_bss_8C[var_r28].unk_5C)) - || (var_r24 == 0) || (var_r24 == 5) || (var_r24 == 6) || (var_r24 == 0xB)) { - if ((var_r26 == 0) || (var_r25 == 0)) { - if (((var_r30 + var_r26) > 5) || ((var_r30 + var_r26) < 0)) { - var_r30 = var_r23; - } - else { - var_r30 += var_r26; - } - if (((var_r29 + var_r25) > 2) || ((var_r29 + var_r25) < 0)) { - var_r29 = var_r22; - } - else { - var_r29 += var_r25; - } - } - else if (((var_r30 + var_r26) <= 5) && ((var_r30 + var_r26) >= 0)) { - var_r30 += var_r26; - } - else if (((var_r29 + var_r25) <= 2) && ((var_r29 + var_r25) >= 0)) { - var_r29 += var_r25; - } - else { - var_r30 = var_r23; - var_r29 = var_r22; - } - break; - } - } - if (var_r28 == 4) { - break; - } - } - } - else { - do { - var_r24 = var_r30 + (var_r29 * 4); - for (var_r28 = 0; var_r28 < 4; var_r28++) { - if ((var_r28 != arg1->unk_48) && (lbl_1_bss_8C[var_r28].unk_08 == 1) && (var_r24 == lbl_1_bss_8C[var_r28].unk_5C)) { - if ((var_r26 == 0) || (var_r25 == 0)) { - if (((var_r30 + var_r26) > 3) || ((var_r30 + var_r26) < 0)) { - var_r30 = var_r23; - } - else { - var_r30 += var_r26; - } - if (((var_r29 + var_r25) > 1) || ((var_r29 + var_r25) < 0)) { - var_r29 = var_r22; - } - else { - var_r29 += var_r25; - } - } - else if (((var_r30 + var_r26) <= 3) && ((var_r30 + var_r26) >= 0)) { - var_r30 += var_r26; - } - else if (((var_r29 + var_r25) <= 1) && ((var_r29 + var_r25) >= 0)) { - var_r29 += var_r25; - } - else { - var_r30 = var_r23; - var_r29 = var_r22; - } - break; - } - } - } while (var_r28 != 4); - } - if (lbl_1_bss_74 != 0) { - var_r24 = var_r30 + (var_r29 * 6); - } - else { - var_r24 = var_r30 + (var_r29 * 4); - } - if (arg1->unk_5C != var_r24) { - var_r19 = arg1->unk_5C; - arg1->unk_5C = var_r24; - HuAudFXPlay(0); - if (lbl_1_bss_74 != 0) { - for (var_r28 = 0; var_r28 <= 0xA; var_r28++) { - fn_1_10FBC(1); - var_f31 = fn_1_10E38(lbl_1_data_584[var_r19][0], lbl_1_data_584[var_r24][0], var_r28, 10.0f); - var_f30 = fn_1_10E38(lbl_1_data_584[var_r19][1], lbl_1_data_584[var_r24][1], var_r28, 10.0f); - HuSprPosSet(var_r27, arg1->unk_48 + 0x26, var_f31, var_f30); - HuSprPosSet(var_r27, arg1->unk_48 + 0x2A, var_f31, var_f30); - HuSprPosSet(var_r27, arg1->unk_48 + 0x2E, var_f31, 35.0f + var_f30); - } - } - else { - for (var_r28 = 0; var_r28 <= 0xA; var_r28++) { - fn_1_10FBC(1); - var_f31 = fn_1_10E38(lbl_1_data_4D4[var_r23][0], lbl_1_data_4D4[var_r30][0], var_r28, 10.0f); - var_f30 = fn_1_10E38(lbl_1_data_4D4[var_r22 * 4][1], lbl_1_data_4D4[var_r29 * 4][1], var_r28, 10.0f); - HuSprPosSet(var_r27, arg1->unk_48 + 0x26, var_f31, var_f30); - HuSprPosSet(var_r27, arg1->unk_48 + 0x2A, var_f31, var_f30); - HuSprPosSet(var_r27, arg1->unk_48 + 0x2E, var_f31, 35.0f + var_f30); - } - } - } - } - lbl_1_bss_20C.unk_30 = 0; -} - -s32 fn_1_F214(ZtarDllUnkStruct2 *arg0) -{ - float var_f31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - - var_r28 = 0; - var_r29 = lbl_1_bss_26C[1]; - while (1) { - fn_1_10FBC(1); - var_r28 = 0; - var_r26 = arg0->unk_54; - if (HuPadStkX[lbl_1_bss_8C[0].unk_58] >= 5 || (HuPadBtn[lbl_1_bss_8C[0].unk_58] & PAD_BUTTON_RIGHT)) { - if (GWGameStat.veryHardUnlock == 1) { - arg0->unk_54++; - var_r28 = 1; - if (arg0->unk_54 > 3) { - arg0->unk_54 = 0; - } - } - else { - arg0->unk_54++; - var_r28 = 1; - if (arg0->unk_54 > 2) { - arg0->unk_54 = 0; - } - } - } - else if (HuPadStkX[lbl_1_bss_8C[0].unk_58] <= -5 || (HuPadBtn[lbl_1_bss_8C[0].unk_58] & PAD_BUTTON_LEFT)) { - if (GWGameStat.veryHardUnlock == 1) { - arg0->unk_54--; - var_r28 = -1; - if (arg0->unk_54 < 0) { - arg0->unk_54 = 3; - } - } - else { - arg0->unk_54--; - var_r28 = -1; - if (arg0->unk_54 < 0) { - arg0->unk_54 = 2; - } - } - } - else if (HuPadBtnDown[0] & PAD_BUTTON_A) { - var_r27 = 1; - break; - } - else if (HuPadBtnDown[0] & PAD_BUTTON_B) { - var_r27 = 0; - HuAudFXPlay(3); - break; - } - if (arg0->unk_54 != var_r26) { - HuAudFXPlay(0); - for (var_r30 = 0; var_r30 <= 5; var_r30++) { - fn_1_10FBC(1); - if (lbl_1_bss_74) { - var_f31 = fn_1_10E38(lbl_1_data_584[arg0->unk_5C][0], lbl_1_data_584[arg0->unk_5C][0] + (var_r28 * 10), var_r30, 5.0f); - HuSprPosSet(var_r29, arg0->unk_48 + 46, var_f31, lbl_1_data_584[arg0->unk_5C][1] + 35); - } - else { - var_f31 = fn_1_10E38(lbl_1_data_4D4[arg0->unk_5C % 4][0], lbl_1_data_4D4[arg0->unk_5C % 4][0] + (var_r28 * 10), var_r30, 5.0f); - HuSprPosSet(var_r29, arg0->unk_48 + 46, var_f31, lbl_1_data_4D4[(arg0->unk_5C / 4) * 4][1] + 35); - } - } - HuSprBankSet(var_r29, arg0->unk_48 + 46, arg0->unk_54); - for (var_r30 = 0; var_r30 <= 5; var_r30++) { - fn_1_10FBC(1); - if (lbl_1_bss_74) { - var_f31 = fn_1_10E38(lbl_1_data_584[arg0->unk_5C][0] + (var_r28 * 10), lbl_1_data_584[arg0->unk_5C][0], var_r30, 5.0f); - HuSprPosSet(var_r29, arg0->unk_48 + 46, var_f31, lbl_1_data_584[arg0->unk_5C][1] + 35); - } - else { - var_f31 = fn_1_10E38(lbl_1_data_4D4[arg0->unk_5C % 4][0] + (var_r28 * 10), lbl_1_data_4D4[arg0->unk_5C % 4][0], var_r30, 5.0f); - HuSprPosSet(var_r29, arg0->unk_48 + 46, var_f31, lbl_1_data_4D4[(arg0->unk_5C / 4) * 4][1] + 35); - } - } - } - } - if (var_r27 == 1) { - if (lbl_1_bss_74) { - HuSprPosSet(var_r29, arg0->unk_48 + 50, lbl_1_data_584[arg0->unk_5C][0], lbl_1_data_584[arg0->unk_5C][1] + 35); - } - else { - HuSprPosSet(var_r29, arg0->unk_48 + 50, lbl_1_data_4D4[arg0->unk_5C % 4][0], lbl_1_data_4D4[(arg0->unk_5C / 4) * 4][1] + 35); - } - HuSprBankSet(var_r29, arg0->unk_48 + 50, arg0->unk_54); - HuSprAttrReset(var_r29, arg0->unk_48 + 50, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(var_r29, arg0->unk_48 + 46, HUSPR_ATTR_DISPOFF); - } - return var_r27; -} - -void fn_1_FB38(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - AnimData *var_r28; - AnimData *var_r27; - - var_r29 = HuSprGrpCreate(0x1B); - lbl_1_bss_26C[2] = var_r29; - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x67)), 0x64, 0); - HuSprGrpMemberSet(var_r29, 0, var_r31); - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x68)), 0x64, 0); - HuSprGrpMemberSet(var_r29, 1, var_r31); - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x69)), 0x64, 0); - HuSprGrpMemberSet(var_r29, 2, var_r31); - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x6A)), 0x64, 0); - HuSprGrpMemberSet(var_r29, 3, var_r31); - for (var_r30 = 0; var_r30 < 0xE; var_r30++) { - var_r31 = HuSprCreate(HuSprAnimReadFile(var_r30 + DATA_MAKE_NUM(DATADIR_MPEX, 0x6B)), 0x5A, 0); - HuSprGrpMemberSet(var_r29, var_r30 + 4, var_r31); - } - var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x79)); - var_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x7A)); - for (var_r30 = 0; var_r30 < 4; var_r30++) { - var_r31 = HuSprCreate(var_r28, 0x50, 0); - HuSprGrpMemberSet(var_r29, var_r30 + 0x12, var_r31); - var_r31 = HuSprCreate(var_r27, 0x50, 0); - HuSprGrpMemberSet(var_r29, var_r30 + 0x16, var_r31); - } - var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x7B)), 0x46, 0); - HuSprGrpMemberSet(var_r29, 0x1A, var_r31); - fn_1_FD90(0); - fn_1_106E8(0); -} - -void fn_1_FD90(s32 arg0) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s16 var_r28; - s16 var_r27; - s16 var_r26; - s32 var_r25; - s32 var_r24; - s32 var_r23; - s32 var_r22; - - var_r30 = lbl_1_bss_26C[2]; - for (var_r31 = 0; var_r31 < 0x1B; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - switch (arg0) { - case 0: - HuSprAttrReset(var_r30, 2, 4); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r28 = GWPlayerCfg[var_r31].character; - var_r25 = GWPlayerCfg[var_r31].diff; - HuSprAttrReset(var_r30, var_r28 + 4, 4); - HuSprPosSet(var_r30, var_r28 + 4, lbl_1_data_614[var_r31][0], lbl_1_data_614[var_r31][1]); - if (GWPlayerCfg[var_r31].iscom != 0) { - HuSprAttrReset(var_r30, var_r31 + 0x16, 4); - HuSprBankSet(var_r30, var_r31 + 0x16, var_r25); - HuSprPosSet(var_r30, var_r31 + 0x16, lbl_1_data_614[var_r31][0], lbl_1_data_614[var_r31][1] + 0x14); - } - else { - HuSprAttrReset(var_r30, var_r31 + 0x12, 4); - HuSprBankSet(var_r30, var_r31 + 0x12, var_r31); - HuSprPosSet(var_r30, var_r31 + 0x12, lbl_1_data_614[var_r31][0], lbl_1_data_614[var_r31][1] + 0x14); - } - } - break; - case 1: - HuSprAttrReset(var_r30, 0, 4); - var_r27 = GWPlayerCfg->character; - var_r24 = GWPlayerCfg->diff; - HuSprAttrReset(var_r30, var_r27 + 4, 4); - HuSprPosSet(var_r30, var_r27 + 4, 0.0f, lbl_1_data_634[1]); - if (GWPlayerCfg->iscom != 0) { - HuSprAttrReset(var_r30, 0x16, 4); - HuSprBankSet(var_r30, 0x16, var_r24); - HuSprPosSet(var_r30, var_r31 + 0x16, 0.0f, lbl_1_data_634[1] + 0x14); - } - else { - HuSprAttrReset(var_r30, 0x12, 4); - HuSprBankSet(var_r30, 0x12, 0); - HuSprPosSet(var_r30, 0x12, 0.0f, lbl_1_data_634[1] + 0x14); - } - break; - case 2: - HuSprAttrReset(var_r30, 1, 4); - for (var_r31 = 0; var_r31 < 2; var_r31++) { - var_r26 = GWPlayerCfg[var_r31].character; - var_r23 = GWPlayerCfg[var_r31].diff; - HuSprAttrReset(var_r30, var_r26 + 4, 4); - HuSprPosSet(var_r30, var_r26 + 4, lbl_1_data_63C[var_r31][0], lbl_1_data_63C[var_r31][1]); - if (GWPlayerCfg[var_r31].iscom != 0) { - HuSprAttrReset(var_r30, var_r31 + 0x16, 4); - HuSprBankSet(var_r30, var_r31 + 0x16, var_r23); - HuSprPosSet(var_r30, var_r31 + 0x16, lbl_1_data_63C[var_r31][0], lbl_1_data_63C[var_r31][1] + 0x19); - } - else { - HuSprAttrReset(var_r30, var_r31 + 0x12, 4); - HuSprBankSet(var_r30, var_r31 + 0x12, var_r31); - HuSprPosSet(var_r30, var_r31 + 0x12, lbl_1_data_63C[var_r31][0], lbl_1_data_63C[var_r31][1] + 0x19); - } - } - break; - case 3: - HuSprAttrReset(var_r30, 1, 4); - for (var_r31 = 0; var_r31 < 4; var_r31++) { - var_r29 = GWPlayerCfg[var_r31].character; - var_r22 = GWPlayerCfg[var_r31].diff; - var_r29 = fn_1_10C18(var_r29); - HuSprAttrReset(var_r30, var_r29 + 4, 4); - HuSprPosSet(var_r30, var_r29 + 4, lbl_1_data_64C[var_r31][0], lbl_1_data_64C[var_r31][1]); - if (GWPlayerCfg[var_r31].iscom != 0) { - HuSprAttrReset(var_r30, var_r31 + 0x16, 4); - HuSprBankSet(var_r30, var_r31 + 0x16, var_r22); - HuSprPosSet(var_r30, var_r31 + 0x16, lbl_1_data_64C[var_r31][0], lbl_1_data_64C[var_r31][1] + 0x19); - } - else { - HuSprAttrReset(var_r30, var_r31 + 0x12, 4); - HuSprBankSet(var_r30, var_r31 + 0x12, var_r31); - HuSprPosSet(var_r30, var_r31 + 0x12, lbl_1_data_64C[var_r31][0], lbl_1_data_64C[var_r31][1] + 0x19); - } - } - HuSprAttrReset(var_r30, 0x1A, 4); - break; - } - HuSprGrpPosSet(var_r30, 112.0f, -428.0f); -} - -void fn_1_106E8(s32 arg0) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_26C[2]; - for (var_r31 = 0; var_r31 < 0x1B; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); - } - HuSprGrpPosSet(var_r30, 112.0f, -428.0f); -} - -void fn_1_10764(s32 arg0) -{ - float var_f31; - s32 var_r30; - s32 var_r31; - - var_r30 = lbl_1_bss_26C[2]; - fn_1_FD90(arg0); - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - fn_1_10FBC(1); - if (var_r31 <= 0x32) { - var_f31 = fn_1_10E38(-500.0f, 10.0f, var_r31, 50.0f); - } - else { - var_f31 = fn_1_10D60(10.0f, 0.0f, var_r31 - 0x32, 10.0f); - } - HuSprGrpPosSet(var_r30, 112.0f, 72.0f + var_f31); - } - HuSprGrpPosSet(var_r30, 112.0f, 72.0f); -} - -void fn_1_108C8(s32 arg0) -{ - float var_f31; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - var_r29 = lbl_1_bss_26C[2]; - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { - fn_1_10FBC(1); - if (var_r31 <= 0xA) { - var_f31 = fn_1_10E38(0.0f, 10.0f, var_r31, 10.0f); - } - else { - var_f31 = fn_1_10D60(10.0f, -500.0f, var_r31 - 0xA, 50.0f); - } - HuSprGrpPosSet(var_r29, 112.0f, 72.0f + var_f31); - } - HuSprGrpPosSet(var_r29, 112.0f, -428.0f); - var_r28 = lbl_1_bss_26C[2]; - for (var_r30 = 0; var_r30 < 0x1B; var_r30++) { - HuSprAttrSet(var_r28, var_r30, 4); - } - HuSprGrpPosSet(var_r28, 112.0f, -428.0f); -} - -void fn_1_10A80(void) -{ - omObjData *var_r31; - - var_r31 = NULL; - var_r31 = omAddObjEx(lbl_1_bss_70, 0x1000, 8, 8, -1, NULL); - lbl_1_bss_20C.unk_00 = var_r31; - lbl_1_bss_20C.unk_04 = NULL; - while (TRUE) { - HuPrcVSleep(); - if (lbl_1_bss_20C.unk_04 != NULL) { - lbl_1_bss_20C.unk_04(lbl_1_bss_20C.unk_00, &lbl_1_bss_20C); - } - } -} - -void fn_1_10B24(void) -{ - s32 var_r31; - omObjData *var_r30; - - var_r31 = lbl_1_bss_78[0]; - lbl_1_bss_78[0] = var_r31 + 1; - var_r30 = NULL; - var_r30 = omAddObjEx(lbl_1_bss_70, 0x1000, 8, 8, -1, NULL); - lbl_1_bss_8C[var_r31].unk_00 = var_r30; - lbl_1_bss_8C[var_r31].unk_04 = NULL; - - while (TRUE) { - HuPrcVSleep(); - if (lbl_1_bss_8C[var_r31].unk_04 != NULL) { - lbl_1_bss_8C[var_r31].unk_04(lbl_1_bss_8C[var_r31].unk_00, &lbl_1_bss_8C[var_r31]); - } - } -} - -s32 fn_1_10C18(s32 arg0) -{ - s32 var_r31; - - switch (arg0) { - case 9: - var_r31 = 8; - break; - case 10: - var_r31 = 9; - break; - case 11: - var_r31 = 0xA; - break; - case 12: - var_r31 = 0xB; - break; - case 13: - var_r31 = 0xC; - break; - case 8: - var_r31 = 0xD; - break; - default: - var_r31 = -1; - break; - } - return var_r31; -} - -s32 fn_1_10C98(s32 arg0) -{ - s32 var_r31; - - switch (arg0) { - case 8: - var_r31 = 9; - break; - case 9: - var_r31 = 0xA; - break; - case 10: - var_r31 = 0xB; - break; - case 11: - var_r31 = 0xC; - break; - case 12: - var_r31 = 0xD; - break; - case 13: - var_r31 = 8; - break; - default: - var_r31 = -1; - break; - } - return var_r31; -} - -float fn_1_10D18(float arg8, float arg9, float argA, float argB) -{ - if (argB <= argA) { - return arg9; - } - return arg8 + ((argA / argB) * (arg9 - arg8)); -} - -float fn_1_10D40(float arg8, float arg9, float argA) -{ - return (arg9 + (arg8 * (argA - 1.0f))) / argA; -} - -float fn_1_10D60(float arg8, float arg9, float argA, float argB) -{ - if (argA >= argB) { - return arg9; - } - return arg8 + ((arg9 - arg8) * (1.0 - cosd(((90.0f / argB) * argA)))); -} - -float fn_1_10E38(float arg8, float arg9, float argA, float argB) -{ - if (argA >= argB) { - return arg9; - } - return arg8 + ((arg9 - arg8) * sind(((90.0f / argB) * argA))); -} - -float fn_1_10F00(float arg8, float arg9, float argA, float argB) -{ - if (argA >= argB) { - return arg8; - } - return arg8 + ((arg9 - arg8) * sind(((360.0f / argB) * argA))); -} - -void fn_1_10FBC(s32 arg0) -{ - if (arg0 <= 1) { - HuPrcVSleep(); - return; - } - HuPrcSleep(arg0); -} - -void fn_1_10FFC(void) -{ - HuWinInit(1); -} - -void fn_1_11020(void) -{ - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - - if (lbl_1_data_66C == -1) { - var_r31 = 0x1C9; - var_r30 = 0x44; - var_r29 = 1.0f + ((576.0f - var_r31) / 2.0f); - var_r28 = 445.0f - var_r30; - lbl_1_data_66C = HuWinExCreateStyled(var_r29, var_r28, var_r31, var_r30, -1, 1); - winData[lbl_1_data_66C].active_pad = 1; - HuWinMesPalSet(lbl_1_data_66C, 7, 0, 0, 0); - HuWinExAnimIn(lbl_1_data_66C); - } -} - -void fn_1_111E0(void) -{ - if (lbl_1_data_66C != -1) { - HuWinMesSet(lbl_1_data_66C, MAKE_MESSID(0x25, 0x04)); - HuWinExAnimOut(lbl_1_data_66C); - HuWinExCleanup(lbl_1_data_66C); - lbl_1_data_66C = -1; - } -} - -void fn_1_11264(s32 arg0, s32 arg1, s32 arg2) -{ - if (lbl_1_data_66C != -1) { - if (arg2 == 1) { - HuWinMesSpeedSet(lbl_1_data_66C, 0); - } - else { - HuWinMesSpeedSet(lbl_1_data_66C, 1); - } - HuWinMesSet(lbl_1_data_66C, arg0); - if (arg1 <= 0) { - HuWinMesWait(lbl_1_data_66C); - return; - } - if (arg1 <= 1) { - HuPrcVSleep(); - return; - } - HuPrcSleep(arg1); - } -} - -void fn_1_11338(u32 arg0, s32 arg1) -{ - if (lbl_1_data_66C != -1) { - HuWinInsertMesSet(lbl_1_data_66C, arg0, arg1); - } -} - -s32 fn_1_11390(s32 arg0) -{ - float spC[2]; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - s32 var_r27; - s32 var_r26; - - HuWinMesMaxSizeGet(1, spC, MAKE_MESSID(0x1E, 0x35)); - var_r30 = spC[0]; - var_r29 = spC[1]; - var_r27 = 0x22C - var_r30; - var_r26 = 0x1BD - var_r29; - var_r31 = HuWinExCreateStyled(var_r27, var_r26, var_r30, var_r29, -1, 1); - winData[var_r31].active_pad = 1; - HuWinMesPalSet(var_r31, 7, 0, 0, 0); - HuWinExAnimIn(var_r31); - HuWinMesSpeedSet(var_r31, 0); - HuWinMesSet(var_r31, MAKE_MESSID(0x1E, 0x35)); - var_r28 = HuWinChoiceGet(var_r31, arg0); - HuWinMesSet(var_r31, MAKE_MESSID(0x25, 0x04)); - HuWinExAnimOut(var_r31); - HuWinExCleanup(var_r31); - - return var_r28; -} - -void fn_1_114EC(u32 arg0, s32 arg1) -{ - float spC[2]; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - -#if VERSION_JP - if (lbl_1_data_670 != -1) { - HuWinMesSet(lbl_1_data_670, arg0); - return; - } -#endif - HuWinMesMaxSizeGet(1, spC, arg0); - var_r29 = spC[0]; - var_r31 = spC[1]; - var_r28 = (0x240 - var_r29) / 2.0f; - if (arg1 == 1) { - var_r30 = 0x1BD - var_r31; - } - else { - var_r30 = 0x181 - var_r31; - } -#if VERSION_JP - lbl_1_data_670 = HuWinExCreateStyled(var_r28, var_r30, var_r29, var_r31, -1, 1); -#else - if (lbl_1_data_670 != -1) { - fn_1_1190C(); - lbl_1_data_670 = HuWinExCreateStyled(var_r28, var_r30, var_r29, var_r31, -1, 1); - } - else { - lbl_1_data_670 = HuWinExCreateStyled(var_r28, var_r30, var_r29, var_r31, -1, 1); - } -#endif - HuWinBGTPLvlSet(lbl_1_data_670, 0.0f); - HuWinDispOn(lbl_1_data_670); - HuWinMesSet(lbl_1_data_670, arg0); - HuWinMesSpeedSet(lbl_1_data_670, 0); -} - -void fn_1_11708(u32 arg0) -{ - float sp8[2]; - s32 var_r31; - s32 var_r30; - s32 var_r29; - s32 var_r28; - -#if VERSION_JP - if (lbl_1_data_670 != -1) { - HuWinMesSet(lbl_1_data_670, arg0); - return; - } -#endif - HuWinMesMaxSizeGet(1, sp8, arg0); - var_r30 = sp8[0]; - var_r31 = sp8[1]; - var_r28 = (0x240 - var_r30) / 2.0f; - var_r29 = 0x181 - var_r31; -#if VERSION_JP - lbl_1_data_670 = HuWinExCreateStyled(var_r28, var_r29, var_r30, var_r31, -1, 1); - (void)var_r29; -#else - if (lbl_1_data_670 != -1) { - fn_1_1190C(); - lbl_1_data_670 = HuWinExCreateStyled(var_r28, var_r29, var_r30, var_r31, -1, 1); - } - else { - lbl_1_data_670 = HuWinExCreateStyled(var_r28, var_r29, var_r30, var_r31, -1, 1); - } -#endif - HuWinBGTPLvlSet(lbl_1_data_670, 0.0f); - HuWinDispOn(lbl_1_data_670); - HuWinMesSet(lbl_1_data_670, arg0); - HuWinMesSpeedSet(lbl_1_data_670, 0); -} - -void fn_1_1190C(void) -{ - if (lbl_1_data_670 != -1) { - HuWinExCleanup(lbl_1_data_670); - lbl_1_data_670 = -1; - } -} - -void fn_1_11960(void) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_26C[1]; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_8C[var_r31].unk_08 == 1) { - HuSprBankSet(var_r30, lbl_1_bss_8C[var_r31].unk_5C + 2, 1); - HuSprBankSet(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x1E, 1); - HuSprBankSet(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x22, 1); - HuSprAttrReset(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x1E, 4); - HuSprAttrReset(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x22, 4); - HuSprPosSet(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x1E, *lbl_1_data_4D4[lbl_1_bss_8C[var_r31].unk_5C % 4], - lbl_1_data_4D4[(lbl_1_bss_8C[var_r31].unk_5C / 4) * 4][1]); - HuSprPosSet(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x22, *lbl_1_data_4D4[lbl_1_bss_8C[var_r31].unk_5C % 4], - lbl_1_data_4D4[(lbl_1_bss_8C[var_r31].unk_5C / 4) * 4][1]); - } - else { - lbl_1_bss_8C[var_r31].unk_5C = 0; - } - } -} - -void fn_1_11C64(void) -{ - s32 var_r31; - s32 var_r30; - - var_r30 = lbl_1_bss_26C[1]; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_8C[var_r31].unk_08 == 1) { - HuSprBankSet(var_r30, lbl_1_bss_8C[var_r31].unk_5C + 2, 1); - HuSprBankSet(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x1E, 1); - HuSprBankSet(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x22, 1); - HuSprAttrReset(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x1E, 4); - HuSprAttrReset(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x22, 4); - HuSprPosSet(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x1E, *lbl_1_data_4D4[lbl_1_bss_8C[var_r31].unk_5C % 4], - lbl_1_data_4D4[(lbl_1_bss_8C[var_r31].unk_5C / 4) * 4][1]); - HuSprPosSet(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x22, *lbl_1_data_4D4[lbl_1_bss_8C[var_r31].unk_5C % 4], - lbl_1_data_4D4[(lbl_1_bss_8C[var_r31].unk_5C / 4) * 4][1]); - } - else { - lbl_1_bss_8C[var_r31].unk_5C = 0; - } - } -} - -void fn_1_11F68(void) -{ - s32 var_r29; - s32 var_r30; - s32 var_r31; - - var_r30 = lbl_1_bss_26C[1]; - for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (lbl_1_bss_8C[var_r31].unk_08 == 1) { - if (lbl_1_bss_8C[var_r31].unk_5C <= 5) { - var_r29 = lbl_1_bss_8C[var_r31].unk_5C - 1; - } - else if (lbl_1_bss_8C[var_r31].unk_5C <= 0xB) { - var_r29 = lbl_1_bss_8C[var_r31].unk_5C - 3; - } - else { - var_r29 = lbl_1_bss_8C[var_r31].unk_5C - 4; - } - HuSprBankSet(var_r30, var_r29 + 2, 1); - HuSprBankSet(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x1E, 1); - HuSprBankSet(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x22, 1); - HuSprAttrReset(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x1E, 4); - HuSprAttrReset(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x22, 4); - HuSprPosSet(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x1E, *lbl_1_data_584[lbl_1_bss_8C[var_r31].unk_5C], - lbl_1_data_584[lbl_1_bss_8C[var_r31].unk_5C][1]); - HuSprPosSet(var_r30, lbl_1_bss_8C[var_r31].unk_48 + 0x22, *lbl_1_data_584[lbl_1_bss_8C[var_r31].unk_5C], - lbl_1_data_584[lbl_1_bss_8C[var_r31].unk_5C][1]); - } - else { - lbl_1_bss_8C[var_r31].unk_5C = 1; - } - } -} - -void fn_1_122A8(s32 arg0) -{ - s32 sp8[14] = { - 0x0000006D, - 0x0000006E, - 0x0000006F, - 0x00000070, - 0x00000071, - 0x00000072, - 0x00000073, - 0x00000074, - 0x00000039, - 0x00000040, - 0x0000004B, - 0x00000046, - 0x0000003E, - 0x0000003A, - }; - - if ((arg0 < 0) || (arg0 > 0xD)) { - return; - } - HuAudFXPlay(sp8[arg0]); -} diff --git a/src/Runtime.PPCEABI.H/GCN_Mem_Alloc.c b/src/Runtime.PPCEABI.H/GCN_Mem_Alloc.c deleted file mode 100644 index c36465e2..00000000 --- a/src/Runtime.PPCEABI.H/GCN_Mem_Alloc.c +++ /dev/null @@ -1,30 +0,0 @@ -#include "dolphin/os.h" - -inline static void InitDefaultHeap(void) { - void* arenaLo; - void* arenaHi; - - OSReport("GCN_Mem_Alloc.c : InitDefaultHeap. No Heap Available\n"); - OSReport("Metrowerks CW runtime library initializing default heap\n"); - - arenaLo = OSGetArenaLo(); - arenaHi = OSGetArenaHi(); - - arenaLo = OSInitAlloc(arenaLo, arenaHi, 1); - OSSetArenaLo(arenaLo); - - arenaLo = OSRoundUpPtr(arenaLo, 0x20); - arenaHi = OSRoundDownPtr(arenaHi, 0x20); - - OSSetCurrentHeap(OSCreateHeap(arenaLo, arenaHi)); - OSSetArenaLo(arenaLo = arenaHi); -} - -/* 80362914-803629CC 35D254 00B8+00 0/0 1/1 0/0 .text __sys_free */ -void __sys_free(void* p) { - if (__OSCurrHeap == -1) { - InitDefaultHeap(); - } - - OSFreeToHeap(__OSCurrHeap, p); -} diff --git a/src/Runtime.PPCEABI.H/GCN_mem_alloc.c b/src/Runtime.PPCEABI.H/GCN_mem_alloc.c deleted file mode 100755 index c36465e2..00000000 --- a/src/Runtime.PPCEABI.H/GCN_mem_alloc.c +++ /dev/null @@ -1,30 +0,0 @@ -#include "dolphin/os.h" - -inline static void InitDefaultHeap(void) { - void* arenaLo; - void* arenaHi; - - OSReport("GCN_Mem_Alloc.c : InitDefaultHeap. No Heap Available\n"); - OSReport("Metrowerks CW runtime library initializing default heap\n"); - - arenaLo = OSGetArenaLo(); - arenaHi = OSGetArenaHi(); - - arenaLo = OSInitAlloc(arenaLo, arenaHi, 1); - OSSetArenaLo(arenaLo); - - arenaLo = OSRoundUpPtr(arenaLo, 0x20); - arenaHi = OSRoundDownPtr(arenaHi, 0x20); - - OSSetCurrentHeap(OSCreateHeap(arenaLo, arenaHi)); - OSSetArenaLo(arenaLo = arenaHi); -} - -/* 80362914-803629CC 35D254 00B8+00 0/0 1/1 0/0 .text __sys_free */ -void __sys_free(void* p) { - if (__OSCurrHeap == -1) { - InitDefaultHeap(); - } - - OSFreeToHeap(__OSCurrHeap, p); -} diff --git a/src/Runtime.PPCEABI.H/Gecko_ExceptionPPC.cpp b/src/Runtime.PPCEABI.H/Gecko_ExceptionPPC.cpp deleted file mode 100755 index faa1385f..00000000 --- a/src/Runtime.PPCEABI.H/Gecko_ExceptionPPC.cpp +++ /dev/null @@ -1,1052 +0,0 @@ -#include "PowerPC_EABI_Support/Runtime/MWCPlusLib.h" -#include "PowerPC_EABI_Support/Runtime/Gecko_ExceptionPPC.h" -#include "PowerPC_EABI_Support/Runtime/NMWException.h" -#include "PowerPC_EABI_Support/Runtime/__ppc_eabi_linker.h" - -#define RETURN_ADDRESS 4 - -union MWE_GeckoVector64 { - f64 d; - f32 f[2]; -}; - -typedef union MWE_GeckoVector64 MWE_GeckoVector64; - -struct GeckoFPRContext { - f64 d; - MWE_GeckoVector64 v; -}; - -typedef struct GeckoFPRContext GeckoFPRContext; - -typedef struct ThrowContext { - GeckoFPRContext FPR[32]; - s32 GPR[32]; - s32 CR; - char* SP; - char* FP; - char* throwSP; - char* returnaddr; - char* throwtype; - void* location; - void* dtor; - CatchInfo* catchinfo; -} ThrowContext; - -typedef ThrowContext* ThrowContextPtr; - -typedef struct MWExceptionInfo { - ExceptionTableSmall* exception_record; - char* current_function; - char* action_pointer; - char* code_section; - char* data_section; - char* TOC; -} MWExceptionInfo; - -typedef struct FragmentInfo { - ExceptionTableIndex* exception_start; - ExceptionTableIndex* exception_end; - char* code_start; - char* code_end; - char* data_start; - char* data_end; - char* TOC; - int active; -} FragmentInfo; - -typedef struct ProcessInfo { - __eti_init_info* exception_info; - char* TOC; - int active; -} ProcessInfo; - -typedef struct ActionIterator { - MWExceptionInfo info; - char* current_SP; - char* current_FP; - s32 current_R31; -} ActionIterator; - -#define MAXFRAGMENTS 1 -static ProcessInfo fragmentinfo[MAXFRAGMENTS]; - -typedef void (*DeleteFunc)(void*); - -/** - * @note Address: 0x800C2374 - * @note Size: 0x34 - */ -int __register_fragment(struct __eti_init_info* info, char* TOC) -{ - - ProcessInfo* f = fragmentinfo; - int i; - - for (i = 0; i < MAXFRAGMENTS; i++, f++) { - if (f->active == 0) { - f->exception_info = info; - f->TOC = TOC; - f->active = 1; - return i; - } - } - - return -1; -} - -/** - * @note Address: 0x800C2340 - * @note Size: 0x34 - */ -void __unregister_fragment(int fragmentID) -{ - ProcessInfo* f; - - if (fragmentID >= 0 && fragmentID < MAXFRAGMENTS) { - f = &fragmentinfo[fragmentID]; - f->exception_info = 0; - f->TOC = 0; - f->active = 0; - } -} - -/** - * @note Address: N/A - * @note Size: 0x88 - */ -static inline int ExPPC_FindExceptionFragment(char* returnaddr, FragmentInfo* frag) -{ - ProcessInfo* f; - int i; - __eti_init_info* eti_info; - - for (i = 0, f = fragmentinfo; i < MAXFRAGMENTS; ++i, ++f) { - if (f->active) { - eti_info = f->exception_info; - while (1) { - if (eti_info->code_size == 0) - break; - if (returnaddr >= eti_info->code_start && returnaddr < (char*)eti_info->code_start + eti_info->code_size) { - frag->exception_start = (ExceptionTableIndex*)eti_info->eti_start; - frag->exception_end = (ExceptionTableIndex*)eti_info->eti_end; - frag->code_start = 0; - frag->code_end = 0; - frag->data_start = 0; - frag->data_end = 0; - frag->TOC = f->TOC; - frag->active = f->active; - return 1; - } - eti_info++; - } - } - } - - return 0; -} - -/** - * @note Address: N/A - * @note Size: 0x204 - */ -static void ExPPC_FindExceptionRecord(char* returnaddr, MWExceptionInfo* info) -{ - FragmentInfo* fragment; - FragmentInfo frag; - ExceptionTableIndex *exceptionindex, *p; - u32 returnoffset; - s32 i, m, n; - - info->exception_record = 0; - info->action_pointer = 0; - - if ((ExPPC_FindExceptionFragment(returnaddr, &frag)) == 0) - return; - fragment = &frag; - - info->code_section = fragment->code_start; - info->data_section = fragment->data_start; - info->TOC = fragment->TOC; - - returnoffset = returnaddr - fragment->code_start; - exceptionindex = fragment->exception_start; - for (i = 0, n = fragment->exception_end - fragment->exception_start;;) { - if (i > n) - return; - p = &exceptionindex[m = (i + n) / 2]; - - if (returnoffset < p->functionoffset) { - n = m - 1; - } else if (returnoffset > p->functionoffset + ETI_GetFunctionSize(p->eti_field)) { - i = m + 1; - } else - break; - } - info->current_function = fragment->code_start + p->functionoffset; - info->exception_record = ETI_GetDirectStore(p->eti_field) ? (ExceptionTableSmall*)(&p->exceptionoffset) - : (ExceptionTableSmall*)(fragment->data_start + p->exceptionoffset); - - returnoffset -= p->functionoffset; - - if (ET_IsLargeTable(info->exception_record->et_field)) { - ExceptionTableLarge* etl = (ExceptionTableLarge*)info->exception_record; - ExceptionRangeLarge* erl; - - for (erl = etl->ranges; erl->start != 0; erl++) { - u32 range_end = erl->start + (erl->size * 4); - - if (erl->start <= returnoffset && range_end >= returnoffset) { - info->action_pointer = (char*)etl + erl->action; - break; - } - } - } else { - ExceptionTableSmall* ets = (ExceptionTableSmall*)info->exception_record; - ExceptionRangeSmall* ers; - - for (ers = ets->ranges; ers->start != 0; ers++) { - if (ers->start <= returnoffset && ers->end >= returnoffset) { - info->action_pointer = (char*)ets + ers->action; - break; - } - } - } -} - -/** - * @note Address: N/A - * @note Size: 0x18 - */ -static inline s32 ExPPC_PopR31(char* SP, MWExceptionInfo* info) -{ - f64* FPR_save_area; - s32* GPR_save_area; - int saved_GPRs, saved_FPRs; - - saved_FPRs = ET_GetSavedFPRs(info->exception_record->et_field); - FPR_save_area = (f64*)(SP - saved_FPRs * 8); - saved_GPRs = ET_GetSavedGPRs(info->exception_record->et_field); - GPR_save_area = (s32*)FPR_save_area; - - return GPR_save_area[-1]; -} - -/** - * @note Address: N/A - * @note Size: 0x20 - */ -static inline exaction_type ExPPC_CurrentAction(const ActionIterator* iter) -{ - if (iter->info.action_pointer == 0) { - return EXACTION_ENDOFLIST; - } - - return ((ex_destroylocal*)iter->info.action_pointer)->action & EXACTION_MASK; -} - -/** - * @note Address: N/A - * @note Size: 0x1C0 - */ -static exaction_type ExPPC_NextAction(ActionIterator* iter) -{ - exaction_type action; - - for (;;) { - if (iter->info.action_pointer == 0 || ((action = ((ex_destroylocal*)iter->info.action_pointer)->action) & EXACTION_ENDBIT) != 0) { - char *return_addr, *callers_SP; - - callers_SP = *(char**)iter->current_SP; - - if (ET_GetSavedGPRs(iter->info.exception_record->et_field)) { - iter->current_R31 = ExPPC_PopR31(callers_SP, &iter->info); - } - - return_addr = *(char**)(callers_SP + RETURN_ADDRESS); - - ExPPC_FindExceptionRecord(return_addr, &iter->info); - - if (iter->info.exception_record == 0) { - terminate(); - } - - iter->current_SP = callers_SP; - iter->current_FP = (ET_GetHasFramePtr(iter->info.exception_record->et_field)) ? (char*)iter->current_R31 : iter->current_SP; - - if (iter->info.action_pointer == 0) - continue; - } else { - switch (action) { - case EXACTION_DESTROYLOCAL: - iter->info.action_pointer += sizeof(ex_destroylocal); - break; - case EXACTION_DESTROYLOCALCOND: - iter->info.action_pointer += sizeof(ex_destroylocalcond); - break; - case EXACTION_DESTROYLOCALPOINTER: - iter->info.action_pointer += sizeof(ex_destroylocalpointer); - break; - case EXACTION_DESTROYLOCALARRAY: - iter->info.action_pointer += sizeof(ex_destroylocalarray); - break; - case EXACTION_DESTROYBASE: - case EXACTION_DESTROYMEMBER: - iter->info.action_pointer += sizeof(ex_destroymember); - break; - case EXACTION_DESTROYMEMBERCOND: - iter->info.action_pointer += sizeof(ex_destroymembercond); - break; - case EXACTION_DESTROYMEMBERARRAY: - iter->info.action_pointer += sizeof(ex_destroymemberarray); - break; - case EXACTION_DELETEPOINTER: - iter->info.action_pointer += sizeof(ex_deletepointer); - break; - case EXACTION_DELETEPOINTERCOND: - iter->info.action_pointer += sizeof(ex_deletepointercond); - break; - case EXACTION_CATCHBLOCK: - iter->info.action_pointer += sizeof(ex_catchblock); - break; - case EXACTION_CATCHBLOCK_32: - iter->info.action_pointer += sizeof(ex_catchblock_32); - break; - case EXACTION_ACTIVECATCHBLOCK: - iter->info.action_pointer += sizeof(ex_activecatchblock); - break; - case EXACTION_SPECIFICATION: - iter->info.action_pointer - += sizeof(ex_specification) + ((ex_specification*)iter->info.action_pointer)->specs * sizeof(void*); - break; - default: - terminate(); - } - } - - action = ((ex_destroylocal*)iter->info.action_pointer)->action & EXACTION_MASK; - - if (action == EXACTION_BRANCH) { - iter->info.action_pointer = ((char*)iter->info.exception_record) + ((ex_branch*)iter->info.action_pointer)->target; - action = ((ex_destroylocal*)iter->info.action_pointer)->action & EXACTION_MASK; - } - return action; - } -} - -/** - * @note Address: N/A - * @note Size: 0x248 - */ -static char* ExPPC_PopStackFrame(ThrowContext* context, MWExceptionInfo* info) -{ - char *SP, *callers_SP; - f64* FPR_save_area; - s32* GPR_save_area; - int saved_GPRs, saved_FPRs; - GeckoFPRContext* Vector_save_area; - int i, j; - - SP = context->SP; - callers_SP = *(char**)SP; - saved_FPRs = ET_GetSavedFPRs(info->exception_record->et_field); - - if (ET_HasElfVector(info->exception_record->et_field)) { - Vector_save_area = (GeckoFPRContext*)(callers_SP - saved_FPRs * 16); - FPR_save_area = (f64*)Vector_save_area; - } else { - FPR_save_area = (f64*)(callers_SP - saved_FPRs * 8); - } - - if (ET_HasElfVector(info->exception_record->et_field)) { - for (i = 32 - saved_FPRs, j = 0; i < 32; ++i, ++j) { - context->FPR[i].v.f[0] = Vector_save_area[j].v.f[0]; - context->FPR[i].v.f[1] = Vector_save_area[j].v.f[1]; - context->FPR[i].d = Vector_save_area[j].d; - } - } else { - for (i = 32 - saved_FPRs, j = 0; i < 32; ++i, ++j) { - context->FPR[i].d = FPR_save_area[j]; - } - } - - saved_GPRs = ET_GetSavedGPRs(info->exception_record->et_field); - GPR_save_area = (s32*)FPR_save_area; - GPR_save_area -= saved_GPRs; - - for (i = 32 - saved_GPRs, j = 0; i < 32; ++i, ++j) { - context->GPR[i] = GPR_save_area[j]; - } - - context->SP = callers_SP; - return *(char**)(callers_SP + RETURN_ADDRESS); -} - -/** - * @note Address: N/A - * @note Size: 0x3C - */ -static inline void ExPPC_DestroyLocal(ThrowContext* context, const ex_destroylocal* ex) { DTORCALL_COMPLETE(ex->dtor, context->FP + ex->local); } - -/** - * @note Address: N/A - * @note Size: 0x74 - */ -static inline void ExPPC_DestroyLocalCond(ThrowContext* context, const ex_destroylocalcond* ex) -{ - int cond = ex_destroylocalcond_GetRegCond(ex->dlc_field) ? (local_cond_type)context->GPR[ex->cond] - : *(local_cond_type*)(context->FP + ex->cond); - - if (cond) { - DTORCALL_COMPLETE(ex->dtor, context->FP + ex->local); - } -} - -/** - * @note Address: N/A - * @note Size: 0x58 - */ -static inline void ExPPC_DestroyLocalPointer(ThrowContext* context, const ex_destroylocalpointer* ex) -{ - void* pointer - = ex_destroylocalpointer_GetRegPointer(ex->dlp_field) ? (void*)context->GPR[ex->pointer] : *(void**)(context->FP + ex->pointer); - - DTORCALL_COMPLETE(ex->dtor, pointer); -} - -/** - * @note Address: N/A - * @note Size: 0x84 - */ -static inline void ExPPC_DestroyLocalArray(ThrowContext* context, const ex_destroylocalarray* ex) -{ - char* ptr = context->FP + ex->localarray; - s32 n = ex->elements; - s32 size = ex->element_size; - - for (ptr = ptr + size * n; n > 0; n--) { - ptr -= size; - DTORCALL_COMPLETE(ex->dtor, ptr); - } -} - -/** - * @note Address: N/A - * @note Size: 0x64 - */ -static inline void ExPPC_DestroyMember(ThrowContext* context, const ex_destroymember* ex) -{ - char* objectptr - = ex_destroymember_GetRegPointer(ex->dm_field) ? (char*)context->GPR[ex->objectptr] : *(char**)(context->FP + ex->objectptr); - - DTORCALL_COMPLETE(ex->dtor, objectptr + ex->offset); -} - -/** - * @note Address: N/A - * @note Size: 0x64 - */ -static inline void ExPPC_DestroyBase(ThrowContext* context, const ex_destroymember* ex) -{ - char* objectptr - = ex_destroymember_GetRegPointer(ex->dm_field) ? (char*)context->GPR[ex->objectptr] : *(char**)(context->FP + ex->objectptr); - - DTORCALL_PARTIAL(ex->dtor, objectptr + ex->offset); -} - -/** - * @note Address: N/A - * @note Size: 0x98 - */ -static inline void ExPPC_DestroyMemberCond(ThrowContext* context, const ex_destroymembercond* ex) -{ - char* objectptr - = ex_destroymembercond_GetRegPointer(ex->dmc_field) ? (char*)context->GPR[ex->objectptr] : *(char**)(context->FP + ex->objectptr); - int cond = ex_destroymembercond_GetRegCond(ex->dmc_field) ? (vbase_ctor_arg_type)context->GPR[ex->cond] - : *(vbase_ctor_arg_type*)(context->FP + ex->cond); - - if (cond) { - DTORCALL_PARTIAL(ex->dtor, objectptr + ex->offset); - } -} - -/** - * @note Address: N/A - * @note Size: 0xAC - */ -static inline void ExPPC_DestroyMemberArray(ThrowContext* context, const ex_destroymemberarray* ex) -{ - char* ptr - = ex_destroymemberarray_GetRegPointer(ex->dma_field) ? (char*)context->GPR[ex->objectptr] : *(char**)(context->FP + ex->objectptr); - s32 n = ex->elements; - s32 size = ex->element_size; - - ptr += ex->offset; - - for (ptr = ptr + size * n; n > 0; n--) { - ptr -= size; - DTORCALL_COMPLETE(ex->dtor, ptr); - } -} - -/** - * @note Address: N/A - * @note Size: 0x54 - */ -static inline void ExPPC_DeletePointer(ThrowContext* context, const ex_deletepointer* ex) -{ - char* objectptr - = ex_deletepointer_GetRegPointer(ex->dp_field) ? (char*)context->GPR[ex->objectptr] : *(char**)(context->FP + ex->objectptr); - - ((DeleteFunc)ex->deletefunc)(objectptr); -} - -/** - * @note Address: N/A - * @note Size: 0x8C - */ -static inline void ExPPC_DeletePointerCond(ThrowContext* context, const ex_deletepointercond* ex) -{ - char* objectptr - = ex_deletepointercond_GetRegPointer(ex->dpc_field) ? (char*)context->GPR[ex->objectptr] : *(char**)(context->FP + ex->objectptr); - int cond = ex_deletepointercond_GetRegCond(ex->dpc_field) ? (local_cond_type)context->GPR[ex->cond] - : *(local_cond_type*)(context->FP + ex->cond); - - if (cond) { - ((DeleteFunc)ex->deletefunc)(objectptr); - } -} - -/** - * @note Address: N/A - * @note Size: 0x50C - */ -static void ExPPC_UnwindStack(ThrowContext* context, MWExceptionInfo* info, void* catcher) -{ - exaction_type action; - -#pragma exception_terminate - - for (;;) { - if (info->action_pointer == 0) { - char* return_addr; - - return_addr = ExPPC_PopStackFrame(context, info); - ExPPC_FindExceptionRecord(return_addr, info); - - if (info->exception_record == 0) { - terminate(); - } - - context->FP = (ET_GetHasFramePtr(info->exception_record->et_field)) ? (char*)context->GPR[31] : context->SP; - continue; - } - - action = ((ex_destroylocal*)info->action_pointer)->action; - - switch (action & EXACTION_MASK) { - case EXACTION_BRANCH: - info->action_pointer = ((char*)info->exception_record) + ((ex_branch*)info->action_pointer)->target; - break; - case EXACTION_DESTROYLOCAL: - ExPPC_DestroyLocal(context, (ex_destroylocal*)info->action_pointer); - info->action_pointer += sizeof(ex_destroylocal); - break; - case EXACTION_DESTROYLOCALCOND: - ExPPC_DestroyLocalCond(context, (ex_destroylocalcond*)info->action_pointer); - info->action_pointer += sizeof(ex_destroylocalcond); - break; - case EXACTION_DESTROYLOCALPOINTER: - ExPPC_DestroyLocalPointer(context, (ex_destroylocalpointer*)info->action_pointer); - info->action_pointer += sizeof(ex_destroylocalpointer); - break; - case EXACTION_DESTROYLOCALARRAY: - ExPPC_DestroyLocalArray(context, (ex_destroylocalarray*)info->action_pointer); - info->action_pointer += sizeof(ex_destroylocalarray); - break; - case EXACTION_DESTROYBASE: - ExPPC_DestroyBase(context, (ex_destroymember*)info->action_pointer); - info->action_pointer += sizeof(ex_destroymember); - break; - case EXACTION_DESTROYMEMBER: - ExPPC_DestroyMember(context, (ex_destroymember*)info->action_pointer); - info->action_pointer += sizeof(ex_destroymember); - break; - case EXACTION_DESTROYMEMBERCOND: - ExPPC_DestroyMemberCond(context, (ex_destroymembercond*)info->action_pointer); - info->action_pointer += sizeof(ex_destroymembercond); - break; - case EXACTION_DESTROYMEMBERARRAY: - ExPPC_DestroyMemberArray(context, (ex_destroymemberarray*)info->action_pointer); - info->action_pointer += sizeof(ex_destroymemberarray); - break; - case EXACTION_DELETEPOINTER: - ExPPC_DeletePointer(context, (ex_deletepointer*)info->action_pointer); - info->action_pointer += sizeof(ex_deletepointer); - break; - case EXACTION_DELETEPOINTERCOND: - ExPPC_DeletePointerCond(context, (ex_deletepointercond*)info->action_pointer); - info->action_pointer += sizeof(ex_deletepointercond); - break; - case EXACTION_CATCHBLOCK: - if (catcher == (void*)info->action_pointer) - return; - info->action_pointer += sizeof(ex_catchblock); - break; - case EXACTION_CATCHBLOCK_32: - if (catcher == (void*)info->action_pointer) - return; - info->action_pointer += sizeof(ex_catchblock_32); - break; - case EXACTION_ACTIVECATCHBLOCK: { - CatchInfo* catchinfo; - - catchinfo = (CatchInfo*)(context->FP + ((ex_activecatchblock*)info->action_pointer)->cinfo_ref); - - if (catchinfo->dtor) { - if (context->location == catchinfo->location) { - context->dtor = catchinfo->dtor; - } else { - DTORCALL_COMPLETE(catchinfo->dtor, catchinfo->location); - } - } - info->action_pointer += sizeof(ex_activecatchblock); - } break; - case EXACTION_SPECIFICATION: - if (catcher == (void*)info->action_pointer) - return; - info->action_pointer += sizeof(ex_specification) + ((ex_specification*)info->action_pointer)->specs * sizeof(void*); - break; - default: - terminate(); - } - - if (action & EXACTION_ENDBIT) - info->action_pointer = 0; - } -} - -/** - * @note Address: N/A - * @note Size: 0x88 - */ -static inline int ExPPC_IsInSpecification(char* extype, ex_specification* spec) -{ - s32 i, offset; - - for (i = 0; i < spec->specs; i++) { - if (__throw_catch_compare(extype, spec->spec[i], &offset)) - return 1; - } - - return 0; -} - -/** - * @note Address: N/A - * @note Size: 0x1B4 - */ -extern void __unexpected(CatchInfo* catchinfo) -{ - ex_specification* unexp = (ex_specification*)catchinfo->stacktop; - -#pragma exception_magic // allow access to __exception_magic in try/catch blocks - - try { - unexpected(); - } catch (...) { - if (ExPPC_IsInSpecification((char*)((CatchInfo*)&__exception_magic)->typeinfo, unexp)) { - throw; - } - if (ExPPC_IsInSpecification("!bad_exception!!", unexp)) { - throw bad_exception(); - } - if (ExPPC_IsInSpecification("!std::bad_exception!!", unexp)) { - throw bad_exception(); - } - } - terminate(); -} - -/** - * @note Address: N/A - * @note Size: 0x104 - */ -asm static void ExPPC_LongJump(register ThrowContext* context, register void* newRTOC, register void* newPC) -{ -#ifdef __MWERKS__ // clang-format off - nofralloc - - mr r8, newPC - mr RTOC, newRTOC - lwz r0, context->CR - mtcrf 255, r0 - - lmw r13, context->GPR[13] - - la r7, context->FPR[14].v - psq_lx fp14, 0, r7, 0, 0 - lfd fp14, context->FPR[14].d - - la r7, context->FPR[15].v - psq_lx fp15, 0, r7, 0, 0 - lfd fp15, context->FPR[15].d - - la r7, context->FPR[16].v - psq_lx fp16, 0, r7, 0, 0 - lfd fp16, context->FPR[16].d - - la r7, context->FPR[17].v - psq_lx fp17, 0, r7, 0, 0 - lfd fp17, context->FPR[17].d - - la r7, context->FPR[18].v - psq_lx fp18, 0, r7, 0, 0 - lfd fp18, context->FPR[18].d - - la r7, context->FPR[19].v - psq_lx fp19, 0, r7, 0, 0 - lfd fp19, context->FPR[19].d - - la r7, context->FPR[20].v - psq_lx fp20, 0, r7, 0, 0 - lfd fp20, context->FPR[20].d - - la r7, context->FPR[21].v - psq_lx fp21, 0, r7, 0, 0 - lfd fp21, context->FPR[21].d - - la r7, context->FPR[22].v - psq_lx fp22, 0, r7, 0, 0 - lfd fp22, context->FPR[22].d - - la r7, context->FPR[23].v - psq_lx fp23, 0, r7, 0, 0 - lfd fp23, context->FPR[23].d - - la r7, context->FPR[24].v - psq_lx fp24, 0, r7, 0, 0 - lfd fp24, context->FPR[24].d - - la r7, context->FPR[25].v - psq_lx fp25, 0, r7, 0, 0 - lfd fp25, context->FPR[25].d - - la r7, context->FPR[26].v - psq_lx fp26, 0, r7, 0, 0 - lfd fp26, context->FPR[26].d - - la r7, context->FPR[27].v - psq_lx fp27, 0, r7, 0, 0 - lfd fp27, context->FPR[27].d - - la r7, context->FPR[28].v - psq_lx fp28, 0, r7, 0, 0 - lfd fp28, context->FPR[28].d - - la r7, context->FPR[29].v - psq_lx fp29, 0, r7, 0, 0 - lfd fp29, context->FPR[29].d - - la r7, context->FPR[30].v - psq_lx fp30, 0, r7, 0, 0 - lfd fp30, context->FPR[30].d - - la r7, context->FPR[31].v - psq_lx fp31, 0, r7, 0, 0 - lfd fp31, context->FPR[31].d - - mtlr r8 - - lwz SP, context->throwSP - lwz r3, context->SP - lwz r3, 0(r3) - stw r3, 0(SP) - blr -#endif // clang-format on -} - -/** - * @note Address: N/A - * @note Size: 0x84 - */ -static inline void ExPPC_HandleUnexpected(ThrowContext* context, MWExceptionInfo* info, ex_specification* unexp) -{ - CatchInfo* catchinfo; - -#pragma exception_terminate - - ExPPC_UnwindStack(context, info, unexp); - - catchinfo = (CatchInfo*)(context->FP + unexp->cinfo_ref); - catchinfo->location = context->location; - catchinfo->typeinfo = context->throwtype; - catchinfo->dtor = context->dtor; - catchinfo->stacktop = unexp; - - ExPPC_LongJump(context, info->TOC, info->current_function + unexp->pcoffset); -} - -/** - * @note Address: N/A - * @note Size: 0x410 - */ -static void ExPPC_ThrowHandler(ThrowContext* context) -{ - ActionIterator iter; - MWExceptionInfo info; - exaction_type action; - CatchInfo* catchinfo; - s32 offset; - - ExPPC_FindExceptionRecord(context->returnaddr, &info); - - if (info.exception_record == 0) { - terminate(); - } - - context->FP = (ET_GetHasFramePtr(info.exception_record->et_field)) ? (char*)context->GPR[31] : context->SP; - - if (context->throwtype == 0) { - iter.info = info; - iter.current_SP = context->SP; - iter.current_FP = context->FP; - iter.current_R31 = context->GPR[31]; - - for (action = ExPPC_CurrentAction(&iter);; action = ExPPC_NextAction(&iter)) { - switch (action) { - case EXACTION_ACTIVECATCHBLOCK: - break; - case EXACTION_ENDOFLIST: - case EXACTION_DESTROYLOCAL: - case EXACTION_DESTROYLOCALCOND: - case EXACTION_DESTROYLOCALPOINTER: - case EXACTION_DESTROYLOCALARRAY: - case EXACTION_DESTROYBASE: - case EXACTION_DESTROYMEMBER: - case EXACTION_DESTROYMEMBERCOND: - case EXACTION_DESTROYMEMBERARRAY: - case EXACTION_DELETEPOINTER: - case EXACTION_DELETEPOINTERCOND: - case EXACTION_CATCHBLOCK: - case EXACTION_CATCHBLOCK_32: - case EXACTION_SPECIFICATION: - continue; - case EXACTION_TERMINATE: - default: - terminate(); - } - break; - } - - catchinfo = (CatchInfo*)(iter.current_FP + ((ex_activecatchblock*)iter.info.action_pointer)->cinfo_ref); - context->throwtype = (char*)catchinfo->typeinfo; - context->location = catchinfo->location; - context->dtor = 0; - context->catchinfo = catchinfo; - } else { - context->catchinfo = 0L; - } - - iter.info = info; - iter.current_SP = context->SP; - iter.current_FP = context->FP; - iter.current_R31 = context->GPR[31]; - - for (action = ExPPC_CurrentAction(&iter);; action = ExPPC_NextAction(&iter)) { - switch (action) { - case EXACTION_CATCHBLOCK_32: - if (__throw_catch_compare(context->throwtype, ((ex_catchblock_32*)iter.info.action_pointer)->catch_type, &offset)) { - break; - } - continue; - case EXACTION_CATCHBLOCK: - if (__throw_catch_compare(context->throwtype, ((ex_catchblock*)iter.info.action_pointer)->catch_type, &offset)) { - break; - } - continue; - case EXACTION_SPECIFICATION: - if (!ExPPC_IsInSpecification(context->throwtype, (ex_specification*)iter.info.action_pointer)) { - ExPPC_HandleUnexpected(context, &info, (ex_specification*)iter.info.action_pointer); - } - continue; - case EXACTION_ENDOFLIST: - case EXACTION_DESTROYLOCAL: - case EXACTION_DESTROYLOCALCOND: - case EXACTION_DESTROYLOCALPOINTER: - case EXACTION_DESTROYLOCALARRAY: - case EXACTION_DESTROYBASE: - case EXACTION_DESTROYMEMBER: - case EXACTION_DESTROYMEMBERCOND: - case EXACTION_DESTROYMEMBERARRAY: - case EXACTION_DELETEPOINTER: - case EXACTION_DELETEPOINTERCOND: - case EXACTION_ACTIVECATCHBLOCK: - continue; - case EXACTION_TERMINATE: - default: - terminate(); - } - break; - } - - if (action == EXACTION_CATCHBLOCK_32) { - ex_catchblock_32* catchblock_32; - catchblock_32 = (ex_catchblock_32*)iter.info.action_pointer; - - ExPPC_UnwindStack(context, &info, catchblock_32); - - catchinfo = (CatchInfo*)(context->FP + catchblock_32->cinfo_ref); - catchinfo->location = context->location; - catchinfo->typeinfo = context->throwtype; - catchinfo->dtor = context->dtor; - - if (*context->throwtype == '*') { - catchinfo->sublocation = &catchinfo->pointercopy; - catchinfo->pointercopy = *(s32*)context->location + offset; - } else { - catchinfo->sublocation = (char*)context->location + offset; - } - - ExPPC_LongJump(context, info.TOC, info.current_function + catchblock_32->catch_pcoffset); - } else { - ex_catchblock* catchblock; - - catchblock = (ex_catchblock*)iter.info.action_pointer; - ExPPC_UnwindStack(context, &info, catchblock); - - catchinfo = (CatchInfo*)(context->FP + catchblock->cinfo_ref); - catchinfo->location = context->location; - catchinfo->typeinfo = context->throwtype; - catchinfo->dtor = context->dtor; - - if (*context->throwtype == '*') { - catchinfo->sublocation = &catchinfo->pointercopy; - catchinfo->pointercopy = *(s32*)context->location + offset; - } else { - catchinfo->sublocation = (char*)context->location + offset; - } - - ExPPC_LongJump(context, info.TOC, info.current_function + catchblock->catch_pcoffset); - } -} - -/** - * @note Address: N/A - * @note Size: 0x44 - */ -void __end__catch(CatchInfo* catchinfo) -{ - if (catchinfo->location && catchinfo->dtor) { - DTORCALL_COMPLETE(catchinfo->dtor, catchinfo->location); - } -} - -/** - * @note Address: N/A - * @note Size: 0x144 - */ -asm void __throw(char* throwtype, void* location, void* dtor) -{ -#ifdef __MWERKS__ // clang-format off - ThrowContext throwcontext; - - fralloc - - stmw r13, throwcontext.GPR[13] - - stfd fp14, throwcontext.FPR[14].d - la r3, throwcontext.FPR[14].v - psq_stx fp14, 0, r3,0,0 - - stfd fp15, throwcontext.FPR[15].d - la r3, throwcontext.FPR[15].v - psq_stx fp15, 0, r3, 0, 0 - - stfd fp16, throwcontext.FPR[16].d - la r3, throwcontext.FPR[16].v - psq_stx fp16, 0, r3, 0, 0 - - stfd fp17, throwcontext.FPR[17].d - la r3, throwcontext.FPR[17].v - psq_stx fp17, 0, r3, 0, 0 - - stfd fp18, throwcontext.FPR[18].d - la r3, throwcontext.FPR[18].v - psq_stx fp18, 0, r3, 0, 0 - - stfd fp19, throwcontext.FPR[19].d - la r3, throwcontext.FPR[19].v - psq_stx fp19, 0, r3, 0, 0 - - stfd fp20, throwcontext.FPR[20].d - la r3, throwcontext.FPR[20].v - psq_stx fp20, 0, r3, 0, 0 - - stfd fp21, throwcontext.FPR[21].d - la r3, throwcontext.FPR[21].v - psq_stx fp21, 0, r3, 0, 0 - - stfd fp22, throwcontext.FPR[22].d - la r3, throwcontext.FPR[22].v - psq_stx fp22, 0, r3, 0, 0 - - stfd fp23, throwcontext.FPR[23].d - la r3, throwcontext.FPR[23].v - psq_stx fp23, 0, r3, 0, 0 - - stfd fp24, throwcontext.FPR[24].d - la r3, throwcontext.FPR[24].v - psq_stx fp24, 0, r3, 0, 0 - - stfd fp25, throwcontext.FPR[25].d - la r3, throwcontext.FPR[25].v - psq_stx fp25, 0, r3, 0, 0 - - stfd fp26, throwcontext.FPR[26].d - la r3, throwcontext.FPR[26].v - psq_stx fp26, 0, r3, 0, 0 - - stfd fp27, throwcontext.FPR[27].d - la r3, throwcontext.FPR[27].v - psq_stx fp27, 0, r3, 0, 0 - - stfd fp28, throwcontext.FPR[28].d - la r3, throwcontext.FPR[28].v - psq_stx fp28, 0, r3, 0, 0 - - stfd fp29, throwcontext.FPR[29].d - la r3, throwcontext.FPR[29].v - psq_stx fp29, 0, r3, 0, 0 - - stfd fp30, throwcontext.FPR[30].d - la r3, throwcontext.FPR[30].v - psq_stx fp30, 0, r3, 0, 0 - - stfd fp31, throwcontext.FPR[31].d - la r3, throwcontext.FPR[31].v - psq_stx fp31, 0, r3, 0, 0 - - - mfcr r3 - stw r3, throwcontext.CR; - - lwz r3, 0(sp) - lwz r4, RETURN_ADDRESS(r3) - stw r3, throwcontext.SP; - stw r3, throwcontext.throwSP; - stw r4, throwcontext.returnaddr; - - lwz r3,throwtype - stw r3, throwcontext.throwtype - lwz r3,location - stw r3, throwcontext.location - lwz r3,dtor - stw r3, throwcontext.dtor - la r3, throwcontext - bl ExPPC_ThrowHandler - nop - frfree - blr -#endif // clang-format on -} diff --git a/src/Runtime.PPCEABI.H/NMWException.cpp b/src/Runtime.PPCEABI.H/NMWException.cpp deleted file mode 100755 index b5f722de..00000000 --- a/src/Runtime.PPCEABI.H/NMWException.cpp +++ /dev/null @@ -1,157 +0,0 @@ -#include "PowerPC_EABI_Support/Runtime/NMWException.h" -#include "PowerPC_EABI_Support/Runtime/MWCPlusLib.h" - -#define ARRAY_HEADER_SIZE 16 - -extern "C" { -extern void abort(); -} - -namespace std { -/** - * @note Address: N/A - * @note Size: 0x20 - */ -static void dthandler() { abort(); } - -static terminate_handler thandler = dthandler; - -/** - * @note Address: N/A - * @note Size: 0x28 - */ -static void duhandler() { terminate(); } - -static unexpected_handler uhandler = duhandler; - -/** - * @note Address: N/A - * @note Size: 0x28 - */ -extern void terminate() { thandler(); } - -/** - * @note Address: N/A - * @note Size: 0x28 - */ -extern void unexpected() { uhandler(); } -} // namespace std - -/** - * @note Address: N/A - * @note Size: 0x22C - */ -extern char __throw_catch_compare(const char* throwtype, const char* catchtype, s32* offset_result) -{ - const char *cptr1, *cptr2; - - *offset_result = 0; - - if ((cptr2 = catchtype) == 0) { - return true; - } - - cptr1 = throwtype; - - if (*cptr2 == 'P') { - cptr2++; - if (*cptr2 == 'C') - cptr2++; - if (*cptr2 == 'V') - cptr2++; - if (*cptr2 == 'v') { - if (*cptr1 == 'P' || *cptr1 == '*') { - return true; - } - } - cptr2 = catchtype; - } - - switch (*cptr1) { - case '*': - case '!': - if (*cptr1++ != *cptr2++) - return false; - for (;;) { - if (*cptr1 == *cptr2++) { - if (*cptr1++ == '!') { - s32 offset; - - for (offset = 0; *cptr1 != '!';) { - offset = offset * 10 + *cptr1++ - '0'; - } - *offset_result = offset; - return true; - } - } else { - while (*cptr1++ != '!') { } - while (*cptr1++ != '!') { } - if (*cptr1 == 0) - return false; - - cptr2 = catchtype + 1; - } - } - return false; - } - - while ((*cptr1 == 'P' || *cptr1 == 'R') && *cptr1 == *cptr2) { - cptr1++; - cptr2++; - - if (*cptr2 == 'C') { - if (*cptr1 == 'C') - cptr1++; - cptr2++; - } - if (*cptr1 == 'C') - return false; - - if (*cptr2 == 'V') { - if (*cptr1 == 'V') - cptr1++; - cptr2++; - } - if (*cptr1 == 'V') - return false; - } - - for (; *cptr1 == *cptr2; cptr1++, cptr2++) { - if (*cptr1 == 0) - return true; - } - - return false; -} - -class __partial_array_destructor { -private: - void* p; - size_t size; - size_t n; - ConstructorDestructor dtor; - -public: - size_t i; - - __partial_array_destructor(void* array, size_t elementsize, size_t nelements, ConstructorDestructor destructor) - { - p = array; - size = elementsize; - n = nelements; - dtor = destructor; - i = n; - } - - ~__partial_array_destructor() - { - char* ptr; - - if (i < n && dtor) { - for (ptr = (char*)p + size * i; i > 0; i--) { - ptr -= size; - DTORCALL_COMPLETE(dtor, ptr); - } - } - } -}; diff --git a/src/Runtime.PPCEABI.H/New.cp b/src/Runtime.PPCEABI.H/New.cp deleted file mode 100644 index c92b6c29..00000000 --- a/src/Runtime.PPCEABI.H/New.cp +++ /dev/null @@ -1,8 +0,0 @@ -#include "PowerPC_EABI_Support/Msl/MSL_C/MSL_Common/alloc.h" -#include "PowerPC_EABI_Support/Runtime/New.h" - -void operator delete(void* arg0) throw() { - if (arg0 != 0) { - free(arg0); - } -} diff --git a/src/Runtime.PPCEABI.H/NewMore.cp b/src/Runtime.PPCEABI.H/NewMore.cp deleted file mode 100644 index c2ed6fe8..00000000 --- a/src/Runtime.PPCEABI.H/NewMore.cp +++ /dev/null @@ -1,15 +0,0 @@ -#include "PowerPC_EABI_Support/Runtime/New.h" - -namespace std { - class exception { - public: - virtual ~exception(); - virtual const char *what() const; - }; -} - -const char *std::exception::what() const { - return "exception"; -}; - -std::exception::~exception() {}; diff --git a/src/Runtime.PPCEABI.H/__mem.c b/src/Runtime.PPCEABI.H/__mem.c deleted file mode 100644 index 08da3972..00000000 --- a/src/Runtime.PPCEABI.H/__mem.c +++ /dev/null @@ -1,91 +0,0 @@ -#include "dol2asm.h" -#include "stddef.h" -#include - - -/* 80003540-80003590 000440 0050+00 1/1 63/63 6/6 .init memcpy */ -SECTION_INIT void* memcpy(void* dst, const void* src, size_t n) { - const unsigned char* s; - unsigned char* d; - - if ((unsigned long)src >= (unsigned long)dst) { - s = (const unsigned char*)src - 1; - d = (unsigned char*)dst - 1; - n++; - while (--n != 0) - *++d = *++s; - } else { - s = (const unsigned char*)src + n; - d = (unsigned char*)dst + n; - n++; - while (--n != 0) - *--d = *--s; - } - return dst; -} - -/* 80003488-80003540 000388 00B8+00 1/1 0/0 0/0 .init __fill_mem */ -SECTION_INIT void __fill_mem(void* dst, int val, size_t n) { - unsigned long v = (unsigned char)val; - unsigned long i; - - ((unsigned char*)dst) = ((unsigned char*)dst) - 1; - - if (n >= 32) { - i = (~(unsigned long)dst) & 3; - - if (i) { - n -= i; - - do { - *++(((unsigned char*)dst)) = v; - } while (--i); - } - - if (v) - v |= v << 24 | v << 16 | v << 8; - - ((unsigned long*)dst) = ((unsigned long*)(((unsigned char*)dst) + 1)) - 1; - - i = n >> 5; - - if (i) { - do { - *++((unsigned long*)dst) = v; - *++((unsigned long*)dst) = v; - *++((unsigned long*)dst) = v; - *++((unsigned long*)dst) = v; - *++((unsigned long*)dst) = v; - *++((unsigned long*)dst) = v; - *++((unsigned long*)dst) = v; - *++((unsigned long*)dst) = v; - } while (--i); - } - - i = (n & 31) >> 2; - - if (i) { - do { - *++((unsigned long*)dst) = v; - } while (--i); - } - - ((unsigned char*)dst) = ((unsigned char*)(((unsigned long*)dst) + 1)) - 1; - - n &= 3; - } - - if (n) - do { - *++((unsigned char*)dst) = v; - } while (--n); - - return; -} - -/* 80003458-80003488 000358 0030+00 1/1 55/55 137/137 .init memset */ -SECTION_INIT void* memset(void* dst, int val, size_t n) { - __fill_mem(dst, val, n); - - return dst; -} diff --git a/src/Runtime.PPCEABI.H/__va_arg.c b/src/Runtime.PPCEABI.H/__va_arg.c deleted file mode 100644 index c6e8bc63..00000000 --- a/src/Runtime.PPCEABI.H/__va_arg.c +++ /dev/null @@ -1,50 +0,0 @@ -#include "Runtime.PPCEABI.H/__va_arg.h" - -#undef __va_arg - -/* 80361B14-80361BDC 35C454 00C8+00 0/0 3/3 0/0 .text __va_arg */ -void* __va_arg(_va_list_struct* list, int type) { - char* addr; - char* reg = &(list->gpr); - int g_reg = list->gpr; - int maxsize = 8; - int size = 4; - int increment = 1; - int even = 0; - int fpr_offset = 0; - int regsize = 4; - - if (type == 3) { - reg = &(list->fpr); - g_reg = list->fpr; - size = 8; - fpr_offset = 32; - regsize = 8; - } - - if (type == 2) { - size = 8; - maxsize--; - if (g_reg & 1) { - even = 1; - } - increment = 2; - } - - if (g_reg < maxsize) { - g_reg += even; - addr = list->reg_save_area + fpr_offset + (g_reg * regsize); - *reg = g_reg + increment; - } else { - *reg = 8; - addr = list->input_arg_area; - addr = (char*)(((u32)(addr) + ((size)-1)) & ~((size)-1)); - list->input_arg_area = addr + size; - } - - if (type == 0) { - addr = *((char**)addr); - } - - return addr; -} diff --git a/src/Runtime.PPCEABI.H/runtime.c b/src/Runtime.PPCEABI.H/runtime.c deleted file mode 100644 index 8616931a..00000000 --- a/src/Runtime.PPCEABI.H/runtime.c +++ /dev/null @@ -1,827 +0,0 @@ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* macros for GPR/FPR resting and saving */ -#define SAVE_FPR(reg) _savefpr_##reg -#define RESTORE_FPR(reg) _restfpr_##reg -#define SAVE_GPR(reg) _savegpr_##reg -#define RESTORE_GPR(reg) _restgpr_##reg - -#define ENTRY_SAVE_FPR(reg) entry SAVE_FPR(reg) -#define ENTRY_RESTORE_FPR(reg) entry RESTORE_FPR(reg) -#define ENTRY_SAVE_GPR(reg) entry SAVE_GPR(reg) -#define ENTRY_RESTORE_GPR(reg) entry RESTORE_GPR(reg) - -#define save_restore_reg r11 - -asm void __div2u(void); -asm void __div2i(void); -asm void __mod2u(void); -asm void __mod2i(void); -asm void __shl2i(void); -asm void __shr2u(void); -asm void __shr2i(void); -asm void __cvt_dbl_usll(void); - -void SAVE_FPR(14)(void); -void SAVE_FPR(15)(void); -void SAVE_FPR(16)(void); -void SAVE_FPR(17)(void); -void SAVE_FPR(18)(void); -void SAVE_FPR(19)(void); -void SAVE_FPR(20)(void); -void SAVE_FPR(21)(void); -void SAVE_FPR(22)(void); -void SAVE_FPR(23)(void); -void SAVE_FPR(24)(void); -void SAVE_FPR(25)(void); -void SAVE_FPR(26)(void); -void SAVE_FPR(27)(void); -void SAVE_FPR(28)(void); -void SAVE_FPR(29)(void); -void SAVE_FPR(30)(void); -void SAVE_FPR(31)(void); - -void RESTORE_FPR(14)(void); -void RESTORE_FPR(15)(void); -void RESTORE_FPR(16)(void); -void RESTORE_FPR(17)(void); -void RESTORE_FPR(18)(void); -void RESTORE_FPR(19)(void); -void RESTORE_FPR(20)(void); -void RESTORE_FPR(21)(void); -void RESTORE_FPR(22)(void); -void RESTORE_FPR(23)(void); -void RESTORE_FPR(24)(void); -void RESTORE_FPR(25)(void); -void RESTORE_FPR(26)(void); -void RESTORE_FPR(27)(void); -void RESTORE_FPR(28)(void); -void RESTORE_FPR(29)(void); -void RESTORE_FPR(30)(void); -void RESTORE_FPR(31)(void); - -void SAVE_GPR(14)(void); -void SAVE_GPR(15)(void); -void SAVE_GPR(16)(void); -void SAVE_GPR(17)(void); -void SAVE_GPR(18)(void); -void SAVE_GPR(19)(void); -void SAVE_GPR(20)(void); -void SAVE_GPR(21)(void); -void SAVE_GPR(22)(void); -void SAVE_GPR(23)(void); -void SAVE_GPR(24)(void); -void SAVE_GPR(25)(void); -void SAVE_GPR(26)(void); -void SAVE_GPR(27)(void); -void SAVE_GPR(28)(void); -void SAVE_GPR(29)(void); -void SAVE_GPR(30)(void); -void SAVE_GPR(31)(void); - -void RESTORE_GPR(14)(void); -void RESTORE_GPR(15)(void); -void RESTORE_GPR(16)(void); -void RESTORE_GPR(17)(void); -void RESTORE_GPR(18)(void); -void RESTORE_GPR(19)(void); -void RESTORE_GPR(20)(void); -void RESTORE_GPR(21)(void); -void RESTORE_GPR(22)(void); -void RESTORE_GPR(23)(void); -void RESTORE_GPR(24)(void); -void RESTORE_GPR(25)(void); -void RESTORE_GPR(26)(void); -void RESTORE_GPR(27)(void); -void RESTORE_GPR(28)(void); -void RESTORE_GPR(29)(void); -void RESTORE_GPR(30)(void); -void RESTORE_GPR(31)(void); - -static const u32 __constants[] = { - 0x00000000, 0x00000000, 0x41F00000, 0x00000000, 0x41E00000, 0x00000000, -}; - -/* 803620AC-80362108 35C9EC 005C+00 0/0 42/42 89/89 .text __cvt_fp2unsigned */ -asm u32 __cvt_fp2unsigned(register f64 d) -{ -#ifdef __MWERKS__ // clang-format off - nofralloc - stwu r1,-16(r1) - lis r4, __constants@h - ori r4, r4, __constants@l - li r3,0 - lfd fp0,0(r4) - lfd fp3,8(r4) - lfd fp4,16(r4) - fcmpu cr0,fp1,fp0 - fcmpu cr6,fp1,fp3 - blt cr0, @exit - addi r3,r3,-1 - bge cr6,@exit - fcmpu cr7,fp1,fp4 - fmr fp2,fp1 - blt cr7,@1 - fsub fp2,fp1,fp4 -@1 fctiwz fp2,fp2 - stfd fp2,8(r1) - lwz r3,12(r1) - blt cr7,@exit - addis r3,r3,-0x8000 -@exit: - addi r1,r1,16 - blr -#endif // clang-format on -} - -/* 80362108-80362134 35CA48 002C+00 0/0 0/0 0/0 .text __save_fpr */ -asm void __save_fpr(void) { -#ifdef __MWERKS__ // clang-format off - nofralloc - ENTRY_SAVE_FPR(14) - stfd fp14,-144(save_restore_reg) - ENTRY_SAVE_FPR(15) - stfd fp15,-136(save_restore_reg) - ENTRY_SAVE_FPR(16) - stfd fp16,-128(save_restore_reg) - ENTRY_SAVE_FPR(17) - stfd fp17,-120(save_restore_reg) - ENTRY_SAVE_FPR(18) - stfd fp18,-112(save_restore_reg) - ENTRY_SAVE_FPR(19) - stfd fp19,-104(save_restore_reg) - ENTRY_SAVE_FPR(20) - stfd fp20,-96(save_restore_reg) - ENTRY_SAVE_FPR(21) - stfd fp21,-88(save_restore_reg) - ENTRY_SAVE_FPR(22) - stfd fp22,-80(save_restore_reg) - ENTRY_SAVE_FPR(23) - stfd fp23,-72(save_restore_reg) - ENTRY_SAVE_FPR(24) - stfd fp24,-64(save_restore_reg) - ENTRY_SAVE_FPR(25) - stfd fp25,-56(save_restore_reg) - ENTRY_SAVE_FPR(26) - stfd fp26,-48(save_restore_reg) - ENTRY_SAVE_FPR(27) - stfd fp27,-40(save_restore_reg) - ENTRY_SAVE_FPR(28) - stfd fp28,-32(save_restore_reg) - ENTRY_SAVE_FPR(29) - stfd fp29,-24(save_restore_reg) - ENTRY_SAVE_FPR(30) - stfd fp30,-16(save_restore_reg) - ENTRY_SAVE_FPR(31) - stfd fp31,-8(save_restore_reg) - blr -#endif // clang-format on -} - -/* 80362154-80362180 35CA94 002C+00 0/0 0/0 0/0 .text __restore_fpr */ -asm void __restore_fpr(void) { -#ifdef __MWERKS__ // clang-format off - nofralloc - ENTRY_RESTORE_FPR(14) - lfd fp14,-144(save_restore_reg) - ENTRY_RESTORE_FPR(15) - lfd fp15,-136(save_restore_reg) - ENTRY_RESTORE_FPR(16) - lfd fp16,-128(save_restore_reg) - ENTRY_RESTORE_FPR(17) - lfd fp17,-120(save_restore_reg) - ENTRY_RESTORE_FPR(18) - lfd fp18,-112(save_restore_reg) - ENTRY_RESTORE_FPR(19) - lfd fp19,-104(save_restore_reg) - ENTRY_RESTORE_FPR(20) - lfd fp20,-96(save_restore_reg) - ENTRY_RESTORE_FPR(21) - lfd fp21,-88(save_restore_reg) - ENTRY_RESTORE_FPR(22) - lfd fp22,-80(save_restore_reg) - ENTRY_RESTORE_FPR(23) - lfd fp23,-72(save_restore_reg) - ENTRY_RESTORE_FPR(24) - lfd fp24,-64(save_restore_reg) - ENTRY_RESTORE_FPR(25) - lfd fp25,-56(save_restore_reg) - ENTRY_RESTORE_FPR(26) - lfd fp26,-48(save_restore_reg) - ENTRY_RESTORE_FPR(27) - lfd fp27,-40(save_restore_reg) - ENTRY_RESTORE_FPR(28) - lfd fp28,-32(save_restore_reg) - ENTRY_RESTORE_FPR(29) - lfd fp29,-24(save_restore_reg) - ENTRY_RESTORE_FPR(30) - lfd fp30,-16(save_restore_reg) - ENTRY_RESTORE_FPR(31) - lfd fp31,-8(save_restore_reg) - blr -#endif // clang-format on -} - -/* 803621A0-803621A4 35CAE0 0004+00 0/0 22/22 13/13 .text _savegpr_14 */ -asm void __save_gpr(void) { -#ifdef __MWERKS__ // clang-format off - nofralloc - ENTRY_SAVE_GPR(14) - stw r14,-72(save_restore_reg) - ENTRY_SAVE_GPR(15) - stw r15,-68(save_restore_reg) - ENTRY_SAVE_GPR(16) - stw r16,-64(save_restore_reg) - ENTRY_SAVE_GPR(17) - stw r17,-60(save_restore_reg) - ENTRY_SAVE_GPR(18) - stw r18,-56(save_restore_reg) - ENTRY_SAVE_GPR(19) - stw r19,-52(save_restore_reg) - ENTRY_SAVE_GPR(20) - stw r20,-48(save_restore_reg) - ENTRY_SAVE_GPR(21) - stw r21,-44(save_restore_reg) - ENTRY_SAVE_GPR(22) - stw r22,-40(save_restore_reg) - ENTRY_SAVE_GPR(23) - stw r23,-36(save_restore_reg) - ENTRY_SAVE_GPR(24) - stw r24,-32(save_restore_reg) - ENTRY_SAVE_GPR(25) - stw r25,-28(save_restore_reg) - ENTRY_SAVE_GPR(26) - stw r26,-24(save_restore_reg) - ENTRY_SAVE_GPR(27) - stw r27,-20(save_restore_reg) - ENTRY_SAVE_GPR(28) - stw r28,-16(save_restore_reg) - ENTRY_SAVE_GPR(29) - stw r29,-12(save_restore_reg) - ENTRY_SAVE_GPR(30) - stw r30,-8(save_restore_reg) - ENTRY_SAVE_GPR(31) - stw r31,-4(save_restore_reg) - blr -#endif // clang-format on -} - -/* 803621EC-803621F0 35CB2C 0004+00 0/0 22/22 13/13 .text _restgpr_14 */ -asm void __restore_gpr(void) { -#ifdef __MWERKS__ // clang-format off - nofralloc - ENTRY_RESTORE_GPR(14) - lwz r14,-72(save_restore_reg) - ENTRY_RESTORE_GPR(15) - lwz r15,-68(save_restore_reg) - ENTRY_RESTORE_GPR(16) - lwz r16,-64(save_restore_reg) - ENTRY_RESTORE_GPR(17) - lwz r17,-60(save_restore_reg) - ENTRY_RESTORE_GPR(18) - lwz r18,-56(save_restore_reg) - ENTRY_RESTORE_GPR(19) - lwz r19,-52(save_restore_reg) - ENTRY_RESTORE_GPR(20) - lwz r20,-48(save_restore_reg) - ENTRY_RESTORE_GPR(21) - lwz r21,-44(save_restore_reg) - ENTRY_RESTORE_GPR(22) - lwz r22,-40(save_restore_reg) - ENTRY_RESTORE_GPR(23) - lwz r23,-36(save_restore_reg) - ENTRY_RESTORE_GPR(24) - lwz r24,-32(save_restore_reg) - ENTRY_RESTORE_GPR(25) - lwz r25,-28(save_restore_reg) - ENTRY_RESTORE_GPR(26) - lwz r26,-24(save_restore_reg) - ENTRY_RESTORE_GPR(27) - lwz r27,-20(save_restore_reg) - ENTRY_RESTORE_GPR(28) - lwz r28,-16(save_restore_reg) - ENTRY_RESTORE_GPR(29) - lwz r29,-12(save_restore_reg) - ENTRY_RESTORE_GPR(30) - lwz r30,-8(save_restore_reg) - ENTRY_RESTORE_GPR(31) - lwz r31,-4(save_restore_reg) - blr -#endif // clang-format on -} - -/* 80362238-80362324 35CB78 00EC+00 0/0 2/2 0/0 .text __div2u */ -asm void __div2u(void) { -#ifdef __MWERKS__ // clang-format off - nofralloc - cmpwi cr0,r3,0 - cntlzw r0,r3 - cntlzw r9,r4 - bne cr0,lab1 - addi r0,r9,32 -lab1: - cmpwi cr0,r5,0 - cntlzw r9,r5 - cntlzw r10,r6 - bne cr0,lab2 - addi r9,r10,32 -lab2: - cmpw cr0,r0,r9 - subfic r10,r0,64 - bgt cr0,lab9 - addi r9,r9,1 - subfic r9,r9,64 - add r0,r0,r9 - subf r9,r9,r10 - mtctr r9 - cmpwi cr0,r9,32 - addi r7,r9,-32 - blt cr0,lab3 - srw r8,r3,r7 - li r7,0 - b lab4 -lab3: - srw r8,r4,r9 - subfic r7,r9,32 - slw r7,r3,r7 - or r8,r8,r7 - srw r7,r3,r9 -lab4: - cmpwi cr0,r0,32 - addic r9,r0,-32 - blt cr0,lab5 - slw r3,r4,r9 - li r4,0 - b lab6 -lab5: - slw r3,r3,r0 - subfic r9,r0,32 - srw r9,r4,r9 - or r3,r3,r9 - slw r4,r4,r0 -lab6: - li r10,-1 - addic r7,r7,0 -lab7: - adde r4,r4,r4 - adde r3,r3,r3 - adde r8,r8,r8 - adde r7,r7,r7 - subfc r0,r6,r8 - subfe. r9,r5,r7 - blt cr0,lab8 - mr r8,r0 - mr r7,r9 - addic r0,r10,1 -lab8: - bdnz lab7 - adde r4,r4,r4 - adde r3,r3,r3 - blr -lab9: - li r4,0 - li r3,0 - blr -#endif // clang-format on -} - -/* 80362324-8036245C 35CC64 0138+00 0/0 16/16 1/1 .text __div2i */ -asm void __div2i(void) { -#ifdef __MWERKS__ // clang-format off - nofralloc - stwu r1,-16(r1) - rlwinm. r9,r3,0,0,0 - beq cr0,positive1 - subfic r4,r4,0 - subfze r3,r3 -positive1: - stw r9,8(r1) - rlwinm. r10,r5,0,0,0 - beq cr0,positive2 - subfic r6,r6,0 - subfze r5,r5 -positive2: - stw r10,12(r1) - cmpwi cr0,r3,0 - cntlzw r0,r3 - cntlzw r9,r4 - bne cr0,lab1 - addi r0,r9,32 -lab1: - cmpwi cr0,r5,0 - cntlzw r9,r5 - cntlzw r10,r6 - bne cr0,lab2 - addi r9,r10,32 -lab2: - cmpw cr0,r0,r9 - subfic r10,r0,64 - bgt cr0,lab9 - addi r9,r9,1 - subfic r9,r9,64 - add r0,r0,r9 - subf r9,r9,r10 - mtctr r9 - cmpwi cr0,r9,32 - addi r7,r9,-32 - blt cr0,lab3 - srw r8,r3,r7 - li r7,0 - b lab4 -lab3: - srw r8,r4,r9 - subfic r7,r9,32 - slw r7,r3,r7 - or r8,r8,r7 - srw r7,r3,r9 -lab4: - cmpwi cr0,r0,32 - addic r9,r0,-32 - blt cr0,lab5 - slw r3,r4,r9 - li r4,0 - b lab6 -lab5: - slw r3,r3,r0 - subfic r9,r0,32 - srw r9,r4,r9 - or r3,r3,r9 - slw r4,r4,r0 -lab6: - li r10,-1 - addic r7,r7,0 -lab7: - adde r4,r4,r4 - adde r3,r3,r3 - adde r8,r8,r8 - adde r7,r7,r7 - subfc r0,r6,r8 - subfe. r9,r5,r7 - blt cr0,lab8 - mr r8,r0 - mr r7,r9 - addic r0,r10,1 -lab8: - bdnz lab7 - adde r4,r4,r4 - adde r3,r3,r3 - lwz r9,8(r1) - lwz r10,12(r1) - xor. r7,r9,r10 - beq cr0,no_adjust - cmpwi cr0,r9,0 - subfic r4,r4,0 - subfze r3,r3 - -no_adjust: - b func_end - -lab9: - li r4,0 - li r3,0 -func_end: - addi r1,r1,16 - blr -#endif // clang-format on -} - -/* 8036245C-80362540 35CD9C 00E4+00 0/0 2/2 0/0 .text __mod2u */ -asm void __mod2u(void) { -#ifdef __MWERKS__ // clang-format off - nofralloc - cmpwi cr0,r3,0 - cntlzw r0,r3 - cntlzw r9,r4 - bne cr0,lab1 - addi r0,r9,32 -lab1: - cmpwi cr0,r5,0 - cntlzw r9,r5 - cntlzw r10,r6 - bne cr0,lab2 - addi r9,r10,32 -lab2: - cmpw cr0,r0,r9 - subfic r10,r0,64 - bgt cr0,lab9 - addi r9,r9,1 - subfic r9,r9,64 - add r0,r0,r9 - subf r9,r9,r10 - mtctr r9 - cmpwi cr0,r9,32 - addi r7,r9,-32 - blt cr0,lab3 - srw r8,r3,r7 - li r7,0 - b lab4 -lab3: - srw r8,r4,r9 - subfic r7,r9,32 - slw r7,r3,r7 - or r8,r8,r7 - srw r7,r3,r9 -lab4: - cmpwi cr0,r0,32 - addic r9,r0,-32 - blt cr0,lab5 - slw r3,r4,r9 - li r4,0 - b lab6 -lab5: - slw r3,r3,r0 - subfic r9,r0,32 - srw r9,r4,r9 - or r3,r3,r9 - slw r4,r4,r0 -lab6: - li r10,-1 - addic r7,r7,0 -lab7: - adde r4,r4,r4 - adde r3,r3,r3 - adde r8,r8,r8 - adde r7,r7,r7 - subfc r0,r6,r8 - subfe. r9,r5,r7 - blt cr0,lab8 - mr r8,r0 - mr r7,r9 - addic r0,r10,1 -lab8: - bdnz lab7 - mr r4,r8 - mr r3,r7 - blr -lab9: - blr -#endif // clang-format on -} - -/* 80362540-8036264C 35CE80 010C+00 0/0 2/2 0/0 .text __mod2i */ -asm void __mod2i(void) { -#ifdef __MWERKS__ // clang-format off - nofralloc - - cmpwi cr7,r3,0 - bge cr7,positive1 - subfic r4,r4,0 - subfze r3,r3 -positive1: - cmpwi cr0,r5,0 - bge cr0,positive2 - subfic r6,r6,0 - subfze r5,r5 -positive2: - cmpwi cr0,r3,0 - cntlzw r0,r3 - cntlzw r9,r4 - bne cr0,lab1 - addi r0,r9,32 -lab1: - cmpwi cr0,r5,0 - cntlzw r9,r5 - cntlzw r10,r6 - bne cr0,lab2 - addi r9,r10,32 -lab2: - cmpw cr0,r0,r9 - subfic r10,r0,64 - bgt cr0,lab9 - addi r9,r9,1 - subfic r9,r9,64 - add r0,r0,r9 - subf r9,r9,r10 - mtctr r9 - cmpwi cr0,r9,32 - addi r7,r9,-32 - blt cr0,lab3 - srw r8,r3,r7 - li r7,0 - b lab4 -lab3: - srw r8,r4,r9 - subfic r7,r9,32 - slw r7,r3,r7 - or r8,r8,r7 - srw r7,r3,r9 -lab4: - cmpwi cr0,r0,32 - addic r9,r0,-32 - blt cr0,lab5 - slw r3,r4,r9 - li r4,0 - b lab6 -lab5: - slw r3,r3,r0 - subfic r9,r0,32 - srw r9,r4,r9 - or r3,r3,r9 - slw r4,r4,r0 -lab6: - li r10,-1 - addic r7,r7,0 -lab7: - adde r4,r4,r4 - adde r3,r3,r3 - adde r8,r8,r8 - adde r7,r7,r7 - subfc r0,r6,r8 - subfe. r9,r5,r7 - blt cr0,lab8 - mr r8,r0 - mr r7,r9 - addic r0,r10,1 -lab8: - bdnz lab7 - mr r4,r8 - mr r3,r7 -lab9: - bge cr7,no_adjust - subfic r4,r4,0 - subfze r3,r3 -no_adjust: - blr -#endif // clang-format on -} - -/* 8036264C-80362670 35CF8C 0024+00 0/0 2/2 0/0 .text __shl2i */ -asm void __shl2i(void) { -#ifdef __MWERKS__ // clang-format off - nofralloc - subfic r8,r5,32 - subic r9,r5,32 - slw r3,r3,r5 - srw r10,r4,r8 - or r3,r3,r10 - slw r10,r4,r9 - or r3,r3,r10 - slw r4,r4,r5 - blr -#endif // clang-format on -} - -/* 80362670-80362694 35CFB0 0024+00 0/0 2/2 0/0 .text __shr2u */ -asm void __shr2u(void) { -#ifdef __MWERKS__ // clang-format off - nofralloc - subfic r8,r5,32 - subic r9,r5,32 - srw r4,r4,r5 - slw r10,r3,r8 - or r4,r4,r10 - srw r10,r3,r9 - or r4,r4,r10 - srw r3,r3,r5 - blr -#endif // clang-format on -} - -/* 80362694-803626BC 35CFD4 0028+00 0/0 3/3 0/0 .text __shr2i */ -asm void __shr2i(void) { -#ifdef __MWERKS__ // clang-format off - nofralloc - subfic r8, r5, 0x20 - addic. r9, r5, -0x20 - srw r4, r4, r5 - slw r10, r3, r8 - or r4, r4, r10 - sraw r10, r3, r9 - ble around - or r4, r4, r10 -around: - sraw r3, r3, r5 - blr -#endif // clang-format on -} - -/* 803626BC-80362770 35CFFC 00B4+00 0/0 1/1 0/0 .text __cvt_sll_flt */ -asm void __cvt_sll_flt(void) -{ -#ifdef __MWERKS__ // clang-format off - nofralloc - stwu r1, -0x10(r1) - rlwinm. r5, r3, 0, 0, 0 - beq lbl_803626D0 - subfic r4, r4, 0 - subfze r3, r3 -lbl_803626D0: - or. r7, r3, r4 - li r6, 0 - beq lbl_80362758 - cntlzw r7, r3 - cntlzw r8, r4 - rlwinm r9, r7, 0x1a, 0, 4 - srawi r9, r9, 0x1f - and r9, r9, r8 - add r7, r7, r9 - subfic r8, r7, 0x20 - addic r9, r7, -32 - slw r3, r3, r7 - srw r10, r4, r8 - or r3, r3, r10 - slw r10, r4, r9 - or r3, r3, r10 - slw r4, r4, r7 - subf r6, r7, r6 - clrlwi r7, r4, 0x15 - cmpwi r7, 0x400 - addi r6, r6, 0x43e - blt lbl_80362740 - bgt lbl_80362734 - rlwinm. r7, r4, 0, 0x14, 0x14 - beq lbl_80362740 -lbl_80362734: - addic r4, r4, 0x800 - addze r3, r3 - addze r6, r6 -lbl_80362740: - rotlwi r4, r4, 0x15 - rlwimi r4, r3, 0x15, 0, 0xa - rlwinm r3, r3, 0x15, 0xc, 0x1f - slwi r6, r6, 0x14 - or r3, r6, r3 - or r3, r5, r3 -lbl_80362758: - stw r3, 8(r1) - stw r4, 0xc(r1) - lfd f1, 8(r1) - frsp f1, f1 - addi r1, r1, 0x10 - blr -#endif // clang-format on -} - -/* 80362770-8036283C 35D0B0 00CC+00 0/0 2/2 0/0 .text __cvt_dbl_usll */ -asm void __cvt_dbl_usll(void) -{ -#ifdef __MWERKS__ // clang-format off - nofralloc - stwu r1,-16(r1) - stfd f1,8(r1) - lwz r3,8(r1) - lwz r4,12(r1) - rlwinm r5,r3,12,21,31 - cmpli cr0,0,r5,1023 - bge cr0,not_fraction - li r3,0 - li r4,0 - b func_end -not_fraction: - mr r6,r3 - rlwinm r3,r3,0,12,31 - oris r3,r3,0x0010 - addi r5,r5,-1075 - cmpwi cr0,r5,0 - bge cr0,left - neg r5,r5 - subfic r8,r5,32 - subic r9,r5,32 - srw r4,r4,r5 - slw r10,r3,r8 - or r4,r4,r10 - srw r10,r3,r9 - or r4,r4,r10 - srw r3,r3,r5 - b around -left: - cmpwi cr0,r5,10 - ble+ no_overflow - rlwinm. r6,r6,0,0,0 - beq cr0,max_positive - lis r3,0x8000 - li r4,0 - b func_end -max_positive: - lis r3,0x7FFF - ori r3,r3,0xFFFF - li r4,-1 - b func_end -no_overflow: - subfic r8,r5,32 - subic r9,r5,32 - slw r3,r3,r5 - srw r10,r4,r8 - or r3,r3,r10 - slw r10,r4,r9 - or r3,r3,r10 - slw r4,r4,r5 -around: - rlwinm. r6,r6,0,0,0 - beq cr0,positive - subfic r4,r4,0 - subfze r3,r3 -positive: -func_end: - addi r1,r1,16 - blr -#endif // clang-format on -} - -#ifdef __cplusplus -} -#endif diff --git a/src/TRK_MINNOW_DOLPHIN/__exception.s b/src/TRK_MINNOW_DOLPHIN/__exception.s deleted file mode 100644 index a5c63065..00000000 --- a/src/TRK_MINNOW_DOLPHIN/__exception.s +++ /dev/null @@ -1,2018 +0,0 @@ -.include "macros.inc" -.file "__exception.s" - -# 0x80003534..0x80005468 | size: 0x1F34 -.section .init, "ax" -.balign 4 -# .init:0x0 | 0x80003534 | size: 0x0 -.sym gTRKInterruptVectorTable, global - -# .init:0x0 | 0x80003534 | size: 0x1F34 -.fn pad_00_80003534_init, local -.4byte 0x4D657472 -xoris r23, r27, 0x6572 -xori r19, r27, 0x2054 -ori r18, r11, 0x6765 -andis. r0, r1, 0x5265 -andi. r9, r27, 0x6465 -xoris r20, r19, 0x204b -oris r18, r11, 0x6e65 -xoris r0, r1, 0x666f -andi. r0, r17, 0x506f -andis. r5, r27, 0x7250 -.L_80003560: - .4byte 0x43000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - b 0x1e34 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mfsrr0 r2 - icbi r0, r2 - mfdar r2 - dcbi r0, r2 - mfsprg r2, 1 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x200 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x300 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 -# .init:0x348 | 0x8000387C | size: 0x0 -.sym lbl_8000387C, global - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 -# .init:0x3AC | 0x800038E0 | size: 0x0 -.sym lbl_800038E0, global - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x400 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x500 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x600 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x700 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x800 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x900 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0xc00 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0xd00 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0xe00 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - b .L_80004488 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0xf20 - rfi -.L_80004488: - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0xf00 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mfcr r2 - mtsprg 2, r2 - mfmsr r2 - andis. r2, r2, 0x2 - beq .L_80004564 - mfmsr r2 - xoris r2, r2, 0x2 - sync - mtmsr r2 - sync - mtsprg 1, r2 -.L_80004564: - mfsprg r2, 2 - mtcrf 255, r2 - mfsprg r2, 1 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x1000 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mfcr r2 - mtsprg 2, r2 - mfmsr r2 - andis. r2, r2, 0x2 - beq .L_80004664 - mfmsr r2 - xoris r2, r2, 0x2 - sync - mtmsr r2 - sync - mtsprg 1, r2 -.L_80004664: - mfsprg r2, 2 - mtcrf 255, r2 - mfsprg r2, 1 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x1100 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mfcr r2 - mtsprg 2, r2 - mfmsr r2 - andis. r2, r2, 0x2 - beq .L_80004764 - mfmsr r2 - xoris r2, r2, 0x2 - sync - mtmsr r2 - sync - mtsprg 1, r2 -.L_80004764: - mfsprg r2, 2 - mtcrf 255, r2 - mfsprg r2, 1 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x1200 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x1300 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x1400 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x1600 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x1700 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x1c00 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x1d00 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x1e00 - rfi - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - mtsprg 1, r2 - mtsprg 2, r3 - mtsprg 3, r4 - mfsrr0 r2 - mfsrr1 r4 - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - lis r3, 0x800f - ori r3, r3, 0x4a0 - mtsrr0 r3 - li r3, 0x1f00 - rfi -.endfn pad_00_80003534_init diff --git a/src/TRK_MINNOW_DOLPHIN/dispatch.c b/src/TRK_MINNOW_DOLPHIN/dispatch.c deleted file mode 100644 index 9e3fc1e2..00000000 --- a/src/TRK_MINNOW_DOLPHIN/dispatch.c +++ /dev/null @@ -1,44 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.h" - -u32 gTRKDispatchTableSize; - -struct DispatchEntry { - int (*fn)(TRKBuffer*); -}; - -struct DispatchEntry gTRKDispatchTable[33] = { - { &TRKDoUnsupported }, { &TRKDoConnect }, { &TRKDoDisconnect }, - { &TRKDoReset }, { &TRKDoVersions }, { &TRKDoSupportMask }, - { &TRKDoCPUType }, { &TRKDoUnsupported }, { &TRKDoUnsupported }, - { &TRKDoUnsupported }, { &TRKDoUnsupported }, { &TRKDoUnsupported }, - { &TRKDoUnsupported }, { &TRKDoUnsupported }, { &TRKDoUnsupported }, - { &TRKDoUnsupported }, { &TRKDoReadMemory }, { &TRKDoWriteMemory }, - { &TRKDoReadRegisters }, { &TRKDoWriteRegisters }, { &TRKDoUnsupported }, - { &TRKDoUnsupported }, { &TRKDoFlushCache }, { &TRKDoSetOption }, - { &TRKDoContinue }, { &TRKDoStep }, { &TRKDoStop }, - { &TRKDoUnsupported }, { &TRKDoUnsupported }, { &TRKDoUnsupported }, - { &TRKDoUnsupported }, { &TRKDoUnsupported }, -}; - -DSError TRKInitializeDispatcher() -{ - gTRKDispatchTableSize = 32; - return DS_NoError; -} - -DSError TRKDispatchMessage(TRKBuffer* buffer) -{ - DSError error; - u8 command; - - error = DS_DispatchError; - TRKSetBufferPosition(buffer, 0); - TRKReadBuffer1_ui8(buffer, &command); - command &= 0xFF; - if (command < gTRKDispatchTableSize) { - error = gTRKDispatchTable[command].fn(buffer); - } - return error; -} diff --git a/src/TRK_MINNOW_DOLPHIN/dolphin_trk.c b/src/TRK_MINNOW_DOLPHIN/dolphin_trk.c deleted file mode 100644 index b8ffd29d..00000000 --- a/src/TRK_MINNOW_DOLPHIN/dolphin_trk.c +++ /dev/null @@ -1,138 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.h" -#include "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h" -#include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h" -#include "TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.h" -#include "dolphin/ar.h" -#include "stddef.h" - -#define EXCEPTIONMASK_ADDR 0x80000044 - -static u32 lc_base; -extern u32 _db_stack_addr; - -static u32 TRK_ISR_OFFSETS[15] = { PPC_SystemReset, - PPC_MachineCheck, - PPC_DataStorage, - PPC_InstructionStorage, - PPC_ExternalInterrupt, - PPC_Alignment, - PPC_Program, - PPC_FloatingPointUnavaiable, - PPC_Decrementer, - PPC_SystemCall, - PPC_Trace, - PPC_PerformanceMonitor, - PPC_InstructionAddressBreakpoint, - PPC_SystemManagementInterrupt, - PPC_ThermalManagementInterrupt }; - -__declspec(section ".init") void __TRK_reset(void) { __TRK_copy_vectors(); } - -asm void InitMetroTRK() -{ -#ifdef __MWERKS__ // clang-format off - nofralloc - - addi r1, r1, -4 - stw r3, 0(r1) - lis r3, gTRKCPUState@h - ori r3, r3, gTRKCPUState@l - stmw r0, ProcessorState_PPC.Default.GPR(r3) //Save the gprs - lwz r4, 0(r1) - addi r1, r1, 4 - stw r1, ProcessorState_PPC.Default.GPR[1](r3) - stw r4, ProcessorState_PPC.Default.GPR[3](r3) - mflr r4 - stw r4, ProcessorState_PPC.Default.LR(r3) - stw r4, ProcessorState_PPC.Default.PC(r3) - mfcr r4 - stw r4, ProcessorState_PPC.Default.CR(r3) - //??? - mfmsr r4 - ori r3, r4, (1 << (31 - 16)) - xori r3, r3, (1 << (31 - 16)) - mtmsr r3 - mtsrr1 r4 //Copy msr to srr1 - //Save misc registers to gTRKCPUState - bl TRKSaveExtended1Block - lis r3, gTRKCPUState@h - ori r3, r3, gTRKCPUState@l - lmw r0, ProcessorState_PPC.Default.GPR(r3) //Restore the gprs - //Reset IABR and DABR - li r0, 0 - mtspr 0x3f2, r0 - mtspr 0x3f5, r0 - //Restore stack pointer - lis r1, _db_stack_addr@h - ori r1, r1, _db_stack_addr@l - mr r3, r5 - bl InitMetroTRKCommTable //Initialize comm table - /* - If InitMetroTRKCommTable returned 1 (failure), an invalid hardware - id or the id for GDEV was somehow passed. Since only BBA or NDEV - are supported, we return early. Otherwise, we proceed with - starting up TRK. - */ - cmpwi r3, 1 - bne initCommTableSuccess - /* - BUG: The code probably orginally reloaded gTRKCPUState here, but - as is it will read the returned value of InitMetroTRKCommTable - as a TRKCPUState struct pointer, causing the CPU to return to - a garbage code address. - */ - lwz r4, ProcessorState_PPC.Default.LR(r3) - mtlr r4 - lmw r0, ProcessorState_PPC.Default.GPR(r3) //Restore the gprs - blr -initCommTableSuccess: - b TRK_main //Jump to TRK_main -#endif // clang-format on -} - -void EnableMetroTRKInterrupts(void) { EnableEXI2Interrupts(); } - -u32 TRKTargetTranslate(u32 param_0) -{ - if (param_0 >= lc_base) { - if ((param_0 < lc_base + 0x4000) - && ((gTRKCPUState.Extended1.DBAT3U & 3) != 0)) { - return param_0; - } - } - - return param_0 & 0x3FFFFFFF | 0x80000000; -} - -extern u8 gTRKInterruptVectorTable[]; - -void TRK_copy_vector(u32 offset) -{ - void* destPtr = (void*)TRKTargetTranslate(offset); - TRK_memcpy(destPtr, gTRKInterruptVectorTable + offset, 0x100); - TRK_flush_cache(destPtr, 0x100); -} - -void __TRK_copy_vectors(void) -{ - int i; - u32 mask; - - mask = *(u32*)TRKTargetTranslate(0x44); - - for (i = 0; i <= 14; ++i) { - if (mask & (1 << i)) { - TRK_copy_vector(TRK_ISR_OFFSETS[i]); - } - } -} - -DSError TRKInitializeTarget() -{ - gTRKState.isStopped = TRUE; - gTRKState.msr = __TRK_get_MSR(); - lc_base = 0xE0000000; - return DS_NoError; -} diff --git a/src/TRK_MINNOW_DOLPHIN/dolphin_trk_glue.c b/src/TRK_MINNOW_DOLPHIN/dolphin_trk_glue.c deleted file mode 100644 index 46eb1107..00000000 --- a/src/TRK_MINNOW_DOLPHIN/dolphin_trk_glue.c +++ /dev/null @@ -1,173 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h" -#include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h" -#include "OdemuExi2/odemuexi/DebuggerDriver.h" -#include "amcstubs/AmcExi2Stubs.h" -#include "PowerPC_EABI_Support/MetroTRK/trk.h" - -#define BUFF_LEN 4362 - -u8 gWriteBuf[BUFF_LEN]; -u8 gReadBuf[BUFF_LEN]; -s32 _MetroTRK_Has_Framing; -s32 gReadCount; -s32 gReadPos; -s32 gWritePos; - -DBCommTable gDBCommTable = {}; - -asm void TRKLoadContext(OSContext* ctx, u32) -{ -#ifdef __MWERKS__ // clang-format off - nofralloc - lwz r0, OSContext.gpr[0](r3) - lwz r1, OSContext.gpr[1](r3) - lwz r2, OSContext.gpr[2](r3) - lhz r5, OSContext.state(r3) - rlwinm. r6, r5, 0, 0x1e, 0x1e - beq lbl_80371C1C - rlwinm r5, r5, 0, 0x1f, 0x1d - sth r5, OSContext.state(r3) - lmw r5, OSContext.gpr[5](r3) - b lbl_80371C20 -lbl_80371C1C: - lmw r13, OSContext.gpr[13](r3) -lbl_80371C20: - mr r31, r3 - mr r3, r4 - lwz r4, OSContext.cr(r31) - mtcrf 0xff, r4 - lwz r4, OSContext.lr(r31) - mtlr r4 - lwz r4, OSContext.ctr(r31) - mtctr r4 - lwz r4, OSContext.xer(r31) - mtxer r4 - mfmsr r4 - rlwinm r4, r4, 0, 0x11, 0xf //Turn off external exceptions - rlwinm r4, r4, 0, 0x1f, 0x1d //Turn off recoverable exception flag - mtmsr r4 - mtsprg 1, r2 - lwz r4, OSContext.gpr[3](r31) - mtsprg 2, r4 - lwz r4, OSContext.gpr[4](r31) - mtsprg 3, r4 - lwz r2, OSContext.srr0(r31) - lwz r4, OSContext.srr1(r31) - lwz r31, OSContext.gpr[31](r31) - b TRKInterruptHandler -#endif // clang-format on -} - -void TRKEXICallBack(__OSInterrupt param_0, OSContext* ctx) -{ - OSEnableScheduler(); - TRKLoadContext(ctx, 0x500); -} - -int InitMetroTRKCommTable(int hwId) -{ - int result; - - if (hwId == HARDWARE_GDEV) { - OSReport("MetroTRK : Set to GDEV hardware\n"); - result = Hu_IsStub(); - - gDBCommTable.initialize_func = DBInitComm; - gDBCommTable.init_interrupts_func = DBInitInterrupts; - gDBCommTable.peek_func = DBQueryData; - gDBCommTable.read_func = DBRead; - gDBCommTable.write_func = DBWrite; - gDBCommTable.open_func = DBOpen; - gDBCommTable.close_func = DBClose; - } else { - OSReport("MetroTRK : Set to AMC DDH hardware\n"); - result = AMC_IsStub(); - - gDBCommTable.initialize_func = EXI2_Init; - gDBCommTable.init_interrupts_func = EXI2_EnableInterrupts; - gDBCommTable.peek_func = EXI2_Poll; - gDBCommTable.read_func = EXI2_ReadN; - gDBCommTable.write_func = EXI2_WriteN; - gDBCommTable.open_func = EXI2_Reserve; - gDBCommTable.close_func = EXI2_Unreserve; - } - - return result; -} - -DSError TRKInitializeIntDrivenUART(u32 param_0, u32 param_1, u32 param_2, - volatile u8** param_3) -{ - gDBCommTable.initialize_func(param_3, TRKEXICallBack); - return DS_NoError; -} - -void EnableEXI2Interrupts(void) { gDBCommTable.init_interrupts_func(); } - -inline int TRKPollUART(void) { return gDBCommTable.peek_func(); } - -inline UARTError TRKReadUARTN(void* bytes, u32 length) -{ - int readErr = gDBCommTable.read_func(bytes, length); - return readErr == 0 ? 0 : -1; -} - -inline UARTError TRKWriteUARTN(const void* bytes, u32 length) -{ - int writeErr = gDBCommTable.write_func(bytes, length); - return writeErr == 0 ? 0 : -1; -} - -UARTError WriteUARTFlush(void) -{ - UARTError readErr = 0; - - while (gWritePos < 0x800) { - gWriteBuf[gWritePos] = 0; - gWritePos++; - } - if (gWritePos != 0) { - readErr = TRKWriteUARTN(gWriteBuf, gWritePos); - gWritePos = 0; - } - return readErr; -} - -UARTError WriteUART1(u8 arg0) -{ - gWriteBuf[gWritePos++] = arg0; - return 0; -} - -UARTError TRKReadUARTPoll(u8* arg0) -{ - UARTError readErr = 4; - s32 cnt; - - if (gReadPos >= gReadCount) { - gReadPos = 0; - cnt = gReadCount = TRKPollUART(); - if (cnt > 0) { - if (cnt > BUFF_LEN) { - gReadCount = BUFF_LEN; - } - readErr = TRKReadUARTN(gReadBuf, gReadCount); - if (readErr != 0) { - gReadCount = 0; - } - } - } - if (gReadPos < gReadCount) { - *arg0 = gReadBuf[gReadPos++]; - readErr = 0; - } - return readErr; -} - -void ReserveEXI2Port(void) { gDBCommTable.open_func(); } - -void UnreserveEXI2Port(void) { gDBCommTable.close_func(); } - -void TRK_board_display(char* str) { OSReport(str); } - -void TRKUARTInterruptHandler() { } diff --git a/src/TRK_MINNOW_DOLPHIN/flush_cache.c b/src/TRK_MINNOW_DOLPHIN/flush_cache.c deleted file mode 100644 index 116d8d72..00000000 --- a/src/TRK_MINNOW_DOLPHIN/flush_cache.c +++ /dev/null @@ -1,26 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.h" - -asm void TRK_flush_cache(register void* param_1, register int param_2) -{ -#ifdef __MWERKS__ // clang-format off - nofralloc - - lis r5, 0xFFFF - ori r5, r5, 0xFFF1 - and r5, r5, param_1 - subf r3, r5, param_1 - add r4, param_2, r3 - -loop: - dcbst 0, r5 - dcbf 0, r5 - sync - icbi 0, r5 - addic r5, r5, 8 - addic. r4, r4, -8 - bge loop - - isync - blr -#endif // clang-format on -} diff --git a/src/TRK_MINNOW_DOLPHIN/main_TRK.c b/src/TRK_MINNOW_DOLPHIN/main_TRK.c deleted file mode 100644 index 0ce137a8..00000000 --- a/src/TRK_MINNOW_DOLPHIN/main_TRK.c +++ /dev/null @@ -1,17 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.h" - -static DSError TRK_mainError; - -DSError TRK_main(void) -{ - TRK_mainError = TRKInitializeNub(); - - if (TRK_mainError == DS_NoError) { - TRKNubWelcome(); - TRKNubMainLoop(); - } - - TRK_mainError = TRKTerminateNub(); - return TRK_mainError; -} diff --git a/src/TRK_MINNOW_DOLPHIN/mainloop.c b/src/TRK_MINNOW_DOLPHIN/mainloop.c deleted file mode 100644 index 62783f82..00000000 --- a/src/TRK_MINNOW_DOLPHIN/mainloop.c +++ /dev/null @@ -1,70 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h" -#include "TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.h" -#include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h" - -void TRKHandleRequestEvent(TRKEvent* event) -{ - TRKBuffer* buffer = TRKGetBuffer(event->msgBufID); - TRKDispatchMessage(buffer); -} - -void TRKHandleSupportEvent(TRKEvent* event) { TRKTargetSupportRequest(); } - -void TRKIdle() -{ - if (TRKTargetStopped() == FALSE) { - TRKTargetContinue(); - } -} - -void TRKNubMainLoop(void) -{ - void* msg; - TRKEvent event; - BOOL isShutdownRequested; - BOOL isNewInput; - - isShutdownRequested = FALSE; - isNewInput = FALSE; - while (isShutdownRequested == FALSE) { - if (TRKGetNextEvent(&event) != FALSE) { - isNewInput = FALSE; - - switch (event.eventType) { - case NUBEVENT_Null: - break; - - case NUBEVENT_Request: - TRKHandleRequestEvent(&event); - break; - - case NUBEVENT_Shutdown: - isShutdownRequested = TRUE; - break; - - case NUBEVENT_Breakpoint: - case NUBEVENT_Exception: - TRKTargetInterrupt(&event); - break; - - case NUBEVENT_Support: - TRKHandleSupportEvent(&event); - break; - } - - TRKDestructEvent(&event); - continue; - } - - if ((isNewInput == FALSE) || (*(u8*)gTRKInputPendingPtr != '\0')) { - isNewInput = TRUE; - TRKGetInput(); - continue; - } - - TRKIdle(); - isNewInput = FALSE; - } -} diff --git a/src/TRK_MINNOW_DOLPHIN/mem_TRK.c b/src/TRK_MINNOW_DOLPHIN/mem_TRK.c deleted file mode 100644 index b25259fe..00000000 --- a/src/TRK_MINNOW_DOLPHIN/mem_TRK.c +++ /dev/null @@ -1,83 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.h" -#include "dolphin/types.h" - -void TRK_fill_mem(void *dest, int value, unsigned long length) -{ -#define cDest ((unsigned char *)dest) -#define lDest ((unsigned long *)dest) - unsigned long val = (unsigned char)value; - unsigned long i; - lDest = (unsigned long *)dest; - cDest = (unsigned char *)dest; - - cDest--; - - if (length >= 32) { - i = ~(unsigned long)dest & 3; - - if (i) { - length -= i; - do { - *++cDest = val; - } while (--i); - } - - if (val) { - val |= val << 24 | val << 16 | val << 8; - } - - lDest = (unsigned long *)(cDest + 1) - 1; - - i = length >> 5; - if (i) { - do { - *++lDest = val; - *++lDest = val; - *++lDest = val; - *++lDest = val; - *++lDest = val; - *++lDest = val; - *++lDest = val; - *++lDest = val; - } while (--i); - } - - i = (length & 31) >> 2; - - if (i) { - do { - *++lDest = val; - } while (--i); - } - - cDest = (unsigned char *)(lDest + 1) - 1; - - length &= 3; - } - - if (length) { - do { - *++cDest = val; - } while (--length); - } - -#undef cDest -#undef lDest -} - -__declspec(section ".init") void *TRK_memcpy(void *dst, const void *src, size_t n) -{ - const char *p; - char *q; - - for (p = (const char *)src - 1, q = (char *)dst - 1, n++; --n;) - *++q = *++p; - - return dst; -} - -__declspec(section ".init") void *TRK_memset(void *dst, int val, size_t n) -{ - TRK_fill_mem(dst, val, n); - return dst; -} diff --git a/src/TRK_MINNOW_DOLPHIN/mpc_7xx_603e.c b/src/TRK_MINNOW_DOLPHIN/mpc_7xx_603e.c deleted file mode 100644 index 921aa79d..00000000 --- a/src/TRK_MINNOW_DOLPHIN/mpc_7xx_603e.c +++ /dev/null @@ -1,248 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/ppc/Generic/mpc_7xx_603e.h" -#include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h" - -extern u8 gTRKRestoreFlags[9 + 3 /* padding */]; - -asm void TRKSaveExtended1Block() -{ -#ifdef __MWERKS__ // clang-format off - nofralloc - lis r2, gTRKCPUState@h /* 0x8044F338@h */ - ori r2, r2, gTRKCPUState@l /* 0x8044F338@l */ - mfsr r16, 0 - mfsr r17, 1 - mfsr r18, 2 - mfsr r19, 3 - mfsr r20, 4 - mfsr r21, 5 - mfsr r22, 6 - mfsr r23, 7 - mfsr r24, 8 - mfsr r25, 9 - mfsr r26, 0xa - mfsr r27, 0xb - mfsr r28, 0xc - mfsr r29, 0xd - mfsr r30, 0xe - mfsr r31, 0xf - stmw r16, 0x1a8(r2) - mftb r10, 0x10c - mftbu r11 - mfspr r12, 0x3f0 - mfspr r13, 0x3f1 - mfspr r14, 0x1b - mfpvr r15 - mfibatu r16, 0 - mfibatl r17, 0 - mfibatu r18, 1 - mfibatl r19, 1 - mfibatu r20, 2 - mfibatl r21, 2 - mfibatu r22, 3 - mfibatl r23, 3 - mfdbatu r24, 0 - mfdbatl r25, 0 - mfdbatu r26, 1 - mfdbatl r27, 1 - mfdbatu r28, 2 - mfdbatl r29, 2 - mfdbatu r30, 3 - mfdbatl r31, 3 - stmw r10, 0x1e8(r2) - mfspr r22, 0x19 - mfdar r23 - mfdsisr r24 - mfspr r25, 0x110 - mfspr r26, 0x111 - mfspr r27, 0x112 - mfspr r28, 0x113 - li r29, 0 - mfspr r30, 0x3f2 - mfspr r31, 0x11a - stmw r22, 0x25c(r2) - mfspr r20, 0x390 - mfspr r21, 0x391 - mfspr r22, 0x392 - mfspr r23, 0x393 - mfspr r24, 0x394 - mfspr r25, 0x395 - mfspr r26, 0x396 - mfspr r27, 0x397 - mfspr r28, 0x398 - mfspr r29, 0x399 - mfspr r30, 0x39a - mfspr r31, 0x39b - stmw r20, 0x2fc(r2) - b lbl_80371340 - mfspr r16, 0x3a0 - mfspr r17, 0x3a7 - mfspr r18, 0x3a8 - mfspr r19, 0x3a9 - mfspr r20, 0x3aa - mfspr r21, 0x3ab - mfspr r22, 0x3ac - mfspr r23, 0x3ad - mfspr r24, 0x3ae - mfspr r25, 0x3af - mfspr r26, 0x3b0 - mfspr r27, 0x3b7 - mfspr r28, 0x3bf - mfspr r29, 0x3f6 - mfspr r30, 0x3f7 - mfspr r31, 0x3ff - stmw r16, 0x2b8(r2) - -lbl_80371340: - mfspr r19, 0x3f5 - mfspr r20, 0x3b9 - mfspr r21, 0x3ba - mfspr r22, 0x3bd - mfspr r23, 0x3be - mfspr r24, 0x3bb - mfspr r25, 0x3b8 - mfspr r26, 0x3bc - mfspr r27, 0x3fc - mfspr r28, 0x3fd - mfspr r29, 0x3fe - mfspr r30, 0x3FB - mfspr r31, 0x3f9 - stmw r19, 0x284(r2) - b end - - mfspr r25, 0x3d0 - mfspr r26, 0x3d1 - mfspr r27, 0x3d2 - mfspr r28, 0x3d3 - mfspr r29, 0x3D4 - mfspr r30, 0x3D5 - mfspr r31, 0x3d6 - stmw r25, 0x240(r2) - mfspr r31, 0x16 - stw r31, 0x278(r2) -end: - blr -#endif // clang-format on -} - -asm void TRKRestoreExtended1Block() -{ -#ifdef __MWERKS__ // clang-format off - nofralloc - lis r2, gTRKCPUState@h /* 0x8044F338@h */ - ori r2, r2, gTRKCPUState@l /* 0x8044F338@l */ - lis r5, gTRKRestoreFlags@h /* 0x803D3238@h */ - ori r5, r5, gTRKRestoreFlags@l /* 0x803D3238@l */ - lbz r3, 0(r5) - lbz r6, 1(r5) - li r0, 0 - stb r0, 0(r5) - stb r0, 1(r5) - cmpwi r3, 0 - beq lbl_803713E4 - lwz r24, 0x1e8(r2) - lwz r25, 0x1ec(r2) - mttbl r24 - mttbu r25 -lbl_803713E4: - lmw r20, 0x2fc(r2) - mtspr 0x390, r20 - mtspr 0x391, r21 - mtspr 0x392, r22 - mtspr 0x393, r23 - mtspr 0x394, r24 - mtspr 0x395, r25 - mtspr 0x396, r26 - mtspr 0x397, r27 - mtspr 0x398, r28 - mtspr 0x39a, r30 - mtspr 0x39b, r31 - b lbl_80371430 - lmw r26, 0x2e0(r2) - mtspr 0x3b0, r26 - mtspr 0x3b7, r27 - mtspr 0x3f6, r29 - mtspr 0x3f7, r30 - mtspr 0x3ff, r31 -lbl_80371430: - lmw r19, 0x284(r2) - mtspr 0x3f5, r19 - mtspr 0x3b9, r20 - mtspr 0x3ba, r21 - mtspr 0x3bd, r22 - mtspr 0x3be, r23 - mtspr 0x3bb, r24 - mtspr 0x3b8, r25 - mtspr 0x3bc, r26 - mtspr 0x3fc, r27 - mtspr 0x3fd, r28 - mtspr 0x3fe, r29 - mtspr 0x3FB, r30 - mtspr 0x3f9, r31 - b lbl_8037149C - cmpwi r6, 0 - beq lbl_8037147C - lwz r26, 0x278(r2) - mtspr 0x16, r26 -lbl_8037147C: - lmw r25, 0x240(r2) - mtspr 0x3d0, r25 - mtspr 0x3d1, r26 - mtspr 0x3d2, r27 - mtspr 0x3d3, r28 - mtspr 0x3D4, r29 - mtspr 0x3D5, r30 - mtspr 0x3d6, r31 -lbl_8037149C: - lmw r16, 0x1a8(r2) - mtsr 0, r16 - mtsr 1, r17 - mtsr 2, r18 - mtsr 3, r19 - mtsr 4, r20 - mtsr 5, r21 - mtsr 6, r22 - mtsr 7, r23 - mtsr 8, r24 - mtsr 9, r25 - mtsr 0xa, r26 - mtsr 0xb, r27 - mtsr 0xc, r28 - mtsr 0xd, r29 - mtsr 0xe, r30 - mtsr 0xf, r31 - lmw r12, 0x1f0(r2) - mtspr 0x3f0, r12 - mtspr 0x3f1, r13 - mtspr 0x1b, r14 - mtspr 0x11f, r15 - mtibatu 0, r16 - mtibatl 0, r17 - mtibatu 1, r18 - mtibatl 1, r19 - mtibatu 2, r20 - mtibatl 2, r21 - mtibatu 3, r22 - mtibatl 3, r23 - mtdbatu 0, r24 - mtdbatl 0, r25 - mtdbatu 1, r26 - mtdbatl 1, r27 - mtdbatu 2, r28 - mtdbatl 2, r29 - mtdbatu 3, r30 - mtdbatl 3, r31 - lmw r22, 0x25c(r2) - mtspr 0x19, r22 - mtdar r23 - mtdsisr r24 - mtspr 0x110, r25 - mtspr 0x111, r26 - mtspr 0x112, r27 - mtspr 0x113, r28 - mtspr 0x3f2, r30 - mtspr 0x11a, r31 - blr -#endif // clang-format on -} - -u8 TRKTargetCPUMinorType(void) { return 0x54; } diff --git a/src/TRK_MINNOW_DOLPHIN/msg.c b/src/TRK_MINNOW_DOLPHIN/msg.c deleted file mode 100644 index 09f5de11..00000000 --- a/src/TRK_MINNOW_DOLPHIN/msg.c +++ /dev/null @@ -1,61 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.h" -#include "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h" -#include "PowerPC_EABI_Support/MetroTRK/trk.h" - -// Incorrect signature? Should be u8. -UARTError WriteUART1(s8 arg0); - -DSError TRKMessageSend(TRK_Msg* msg) -{ - u8 var_r30; - u8 var_r28; - u8 var_r28_2; - s32 var_r3; - s32 i; - - var_r30 = 0; - for (i = 0; i < msg->m_msgLength; i++) { - var_r30 = var_r30 + msg->m_msg[i]; - } - var_r30 = var_r30 ^ 0xFF; - var_r3 = WriteUART1(0x7E); - if (var_r3 == 0) { - for (i = 0; i < msg->m_msgLength; i++) { - var_r28 = msg->m_msg[i]; - if (var_r28 == 0x7E || var_r28 == 0x7D) { - var_r3 = WriteUART1(0x7D); - var_r28 ^= 0x20; - if (var_r3 != 0) { - break; - } - } - var_r3 = WriteUART1(var_r28); - if (var_r3 != 0) { - break; - } - } - } - if (var_r3 == 0) { - var_r28_2 = var_r30; - for (i = 0; i < 1; i++) { - if (var_r28_2 == 0x7E || var_r28_2 == 0x7D) { - var_r3 = WriteUART1(0x7D); - var_r28_2 ^= 0x20; - if (var_r3 != 0) { - break; - } - } - var_r3 = WriteUART1(var_r28_2); - if (var_r3 != 0) { - break; - } - } - } - if (var_r3 == 0) { - var_r3 = WriteUART1(0x7E); - } - if (var_r3 == 0) { - var_r3 = WriteUARTFlush(); - } - return var_r3; -} diff --git a/src/TRK_MINNOW_DOLPHIN/msgbuf.c b/src/TRK_MINNOW_DOLPHIN/msgbuf.c deleted file mode 100644 index 71702e8c..00000000 --- a/src/TRK_MINNOW_DOLPHIN/msgbuf.c +++ /dev/null @@ -1,365 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.h" -#include "stddef.h" - -TRKBuffer gTRKMsgBufs[3]; - -void TRKSetBufferUsed(TRKBuffer* msg, BOOL state) { msg->isInUse = state; } - -DSError TRKInitializeMessageBuffers(void) -{ - int i; - for (i = 0; i < 3; i++) { - TRKInitializeMutex(&gTRKMsgBufs[i]); - TRKAcquireMutex(&gTRKMsgBufs[i]); - TRKSetBufferUsed(&gTRKMsgBufs[i], FALSE); - TRKReleaseMutex(&gTRKMsgBufs[i]); - } - - return DS_NoError; -} - -DSError TRKGetFreeBuffer(int* msgID, TRKBuffer** outMsg) -{ - TRKBuffer* buf; - DSError error = DS_NoMessageBufferAvailable; - int i; - - *outMsg = NULL; - - for (i = 0; i < 3; i++) { - buf = TRKGetBuffer(i); - - TRKAcquireMutex(buf); - if (!buf->isInUse) { - TRKResetBuffer(buf, 1); - TRKSetBufferUsed(buf, TRUE); - error = DS_NoError; - *outMsg = buf; - *msgID = i; - i = 3; // why not break? weird choice - } - TRKReleaseMutex(buf); - } - - if (error == DS_NoMessageBufferAvailable) { - usr_puts_serial("ERROR : No buffer available\n"); - } - - return error; -} - -void* TRKGetBuffer(int idx) -{ - TRKBuffer* buf = NULL; - if (idx >= 0 && idx < 3) { - buf = &gTRKMsgBufs[idx]; - } - - return buf; -} - -void TRKReleaseBuffer(int idx) -{ - TRKBuffer* msg; - if (idx != -1 && idx >= 0 && idx < 3) { - msg = &gTRKMsgBufs[idx]; - TRKAcquireMutex(msg); - TRKSetBufferUsed(msg, FALSE); - TRKReleaseMutex(msg); - } -} - -void TRKResetBuffer(TRKBuffer* msg, u8 keepData) -{ - msg->length = 0; - msg->position = 0; - - if (!keepData) { - TRK_memset(msg->data, 0, TRKMSGBUF_SIZE); - } -} - -DSError TRKSetBufferPosition(TRKBuffer* msg, u32 pos) -{ - DSError error = DS_NoError; - - if (pos > 0x880) { - error = DS_MessageBufferOverflow; - } else { - msg->position = pos; - // If the new position is past the current length, - // update the length - if (pos > msg->length) { - msg->length = pos; - } - } - - return error; -} - -#pragma dont_inline on -DSError TRKAppendBuffer(TRKBuffer* msg, const void* data, size_t length) -{ - DSError error = DS_NoError; // r31 - u32 bytesLeft; - - // Return if no bytes to append - if (length == 0) { - return DS_NoError; - } - - bytesLeft = 0x880 - msg->position; - - // If there isn't enough space left in the buffer, change the number - // of bytes to append to the remaning number of bytes - if (bytesLeft < length) { - error = DS_MessageBufferOverflow; - length = bytesLeft; - } - - if (length == 1) { - // If the length of bytes to append is 1, just copy the byte over - msg->data[msg->position] = ((u8*)data)[0]; - } else { - // Otherwise, use memcpy - TRK_memcpy(msg->data + msg->position, data, length); - } - - // Update the position and length - msg->position += length; - msg->length = msg->position; - - return error; -} -#pragma dont_inline reset - -DSError TRKReadBuffer(TRKBuffer* msg, void* data, size_t length) -{ - DSError error = DS_NoError; - unsigned int - bytesLeft; // this has to be unsigned int not u32 to match lmfao. - - // Return if no bytes to read - if (length == 0) { - return DS_NoError; - } - - bytesLeft = msg->length - msg->position; - - // If the number of bytes to read exceeds the buffer length, change - // the length to the remaining number of bytes - if (length > bytesLeft) { - error = DS_MessageBufferReadError; - length = bytesLeft; - } - - TRK_memcpy(data, msg->data + msg->position, length); - msg->position += length; - return error; -} - -DSError TRKAppendBuffer1_ui16(TRKBuffer* buffer, const u16 data) -{ - u8* bigEndianData; - u8* byteData; - u8 swapBuffer[sizeof(data)]; - - if (gTRKBigEndian) { - bigEndianData = (u8*)&data; - } else { - byteData = (u8*)&data; - bigEndianData = swapBuffer; - - bigEndianData[0] = byteData[1]; - bigEndianData[1] = byteData[0]; - } - - return TRKAppendBuffer(buffer, (const void*)bigEndianData, sizeof(data)); -} - -DSError TRKAppendBuffer1_ui32(TRKBuffer* buffer, const u32 data) -{ - u8* bigEndianData; - u8* byteData; - u8 swapBuffer[sizeof(data)]; - - if (gTRKBigEndian) { - bigEndianData = (u8*)&data; - } else { - byteData = (u8*)&data; - bigEndianData = swapBuffer; - - bigEndianData[0] = byteData[3]; - bigEndianData[1] = byteData[2]; - bigEndianData[2] = byteData[1]; - bigEndianData[3] = byteData[0]; - } - - return TRKAppendBuffer(buffer, (const void*)bigEndianData, sizeof(data)); -} - -DSError TRKAppendBuffer1_ui64(TRKBuffer* buffer, const u64 data) -{ - u8* bigEndianData; - u8* byteData; - u8 swapBuffer[sizeof(data)]; - if (gTRKBigEndian) { - bigEndianData = (u8*)&data; - } else { - byteData = (u8*)&data; - bigEndianData = swapBuffer; - - bigEndianData[0] = byteData[7]; - bigEndianData[1] = byteData[6]; - bigEndianData[2] = byteData[5]; - bigEndianData[3] = byteData[4]; - bigEndianData[4] = byteData[3]; - bigEndianData[5] = byteData[2]; - bigEndianData[6] = byteData[1]; - bigEndianData[7] = byteData[0]; - } - - return TRKAppendBuffer(buffer, (const void*)bigEndianData, sizeof(data)); -} - -DSError TRKAppendBuffer_ui8(TRKBuffer* buffer, const u8* data, int count) -{ - DSError err; - int i; - - for (i = 0, err = DS_NoError; err == DS_NoError && i < count; i++) { - err = TRKAppendBuffer1_ui8(buffer, data[i]); - } - - return err; -} - -DSError TRKAppendBuffer_ui32(TRKBuffer* buffer, const u32* data, int count) -{ - DSError err; - int i; - - for (i = 0, err = DS_NoError; err == DS_NoError && i < count; i++) { - err = TRKAppendBuffer1_ui32(buffer, data[i]); - } - - return err; -} - -DSError TRKReadBuffer1_ui8(TRKBuffer* buffer, u8* data) -{ - return TRKReadBuffer(buffer, (void*)data, 1); -} - -DSError TRKReadBuffer1_ui16(TRKBuffer* buffer, u16* data) -{ - DSError err; - - u8* bigEndianData; - u8* byteData; - u8 swapBuffer[sizeof(data)]; - - if (gTRKBigEndian) { - bigEndianData = (u8*)data; - } else { - bigEndianData = swapBuffer; - } - - err = TRKReadBuffer(buffer, (void*)bigEndianData, sizeof(*data)); - - if (!gTRKBigEndian && err == DS_NoError) { - byteData = (u8*)data; - - byteData[0] = bigEndianData[1]; - byteData[1] = bigEndianData[0]; - } - - return err; -} - -DSError TRKReadBuffer1_ui32(TRKBuffer* buffer, u32* data) -{ - DSError err; - - u8* bigEndianData; - u8* byteData; - u8 swapBuffer[sizeof(data)]; - - if (gTRKBigEndian) { - bigEndianData = (u8*)data; - } else { - bigEndianData = swapBuffer; - } - - err = TRKReadBuffer(buffer, (void*)bigEndianData, sizeof(*data)); - - if (!gTRKBigEndian && err == DS_NoError) { - byteData = (u8*)data; - - byteData[0] = bigEndianData[3]; - byteData[1] = bigEndianData[2]; - byteData[2] = bigEndianData[1]; - byteData[3] = bigEndianData[0]; - } - - return err; -} - -DSError TRKReadBuffer1_ui64(TRKBuffer* buffer, u64* data) -{ - DSError err; - - u8* bigEndianData; - u8* byteData; - u8 swapBuffer[sizeof(data)]; - - if (gTRKBigEndian) { - bigEndianData = (u8*)data; - } else { - bigEndianData = swapBuffer; - } - - err = TRKReadBuffer(buffer, (void*)bigEndianData, sizeof(*data)); - - if (!gTRKBigEndian && err == 0) { - byteData = (u8*)data; - - byteData[0] = bigEndianData[7]; - byteData[1] = bigEndianData[6]; - byteData[2] = bigEndianData[5]; - byteData[3] = bigEndianData[4]; - byteData[4] = bigEndianData[3]; - byteData[5] = bigEndianData[2]; - byteData[6] = bigEndianData[1]; - byteData[7] = bigEndianData[0]; - } - - return err; -} - -DSError TRKReadBuffer_ui8(TRKBuffer* buffer, u8* data, int count) -{ - DSError err; - int i; - - for (i = 0, err = DS_NoError; err == DS_NoError && i < count; i++) { - err = TRKReadBuffer1_ui8(buffer, &(data[i])); - } - - return err; -} - -DSError TRKReadBuffer_ui32(TRKBuffer* buffer, u32* data, int count) -{ - DSError err; - s32 i; - - for (i = 0, err = DS_NoError; err == DS_NoError && i < count; i++) { - err = TRKReadBuffer1_ui32(buffer, &(data[i])); - } - - return err; -} diff --git a/src/TRK_MINNOW_DOLPHIN/msghndlr.c b/src/TRK_MINNOW_DOLPHIN/msghndlr.c deleted file mode 100644 index c8ede7e7..00000000 --- a/src/TRK_MINNOW_DOLPHIN/msghndlr.c +++ /dev/null @@ -1,724 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.h" -#include "TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.h" -#include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h" -#include "PowerPC_EABI_Support/MetroTRK/trk.h" - -BOOL IsTRKConnected; - -BOOL GetTRKConnected() -{ - return IsTRKConnected; -} - -void SetTRKConnected(BOOL connected) -{ - IsTRKConnected = connected; -} - -static void TRKMessageIntoReply(TRKBuffer* buffer, u8 ackCmd, - DSReplyError errSentInAck) -{ - TRKResetBuffer(buffer, 1); - - TRKAppendBuffer1_ui8(buffer, ackCmd); - TRKAppendBuffer1_ui8(buffer, errSentInAck); -} - -DSError TRKSendACK(TRKBuffer* buffer) -{ - DSError err; - int ackTries; - - ackTries = 3; - do { - err = TRKMessageSend((TRK_Msg*)buffer); - --ackTries; - } while (err != DS_NoError && ackTries > 0); - - return err; -} - -DSError TRKStandardACK(TRKBuffer* buffer, MessageCommandID commandID, - DSReplyError replyError) -{ - TRKMessageIntoReply(buffer, commandID, replyError); - return TRKSendACK(buffer); -} - -DSError TRKDoUnsupported(TRKBuffer* buffer) -{ - return TRKStandardACK(buffer, DSMSG_ReplyACK, - DSREPLY_UnsupportedCommandError); -} - -DSError TRKDoConnect(TRKBuffer* buffer) -{ - SetTRKConnected(TRUE); - return TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_NoError); -} - -DSError TRKDoDisconnect(TRKBuffer* buffer) -{ - DSError error = DS_NoError; - TRKEvent event; - SetTRKConnected(FALSE); - - if ((error = TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_NoError)) - == DS_NoError) { - TRKConstructEvent(&event, 1); - TRKPostEvent(&event); - } - return error; -} - -DSError TRKDoReset(TRKBuffer* buffer) -{ - TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_NoError); - __TRK_reset(); - return DS_NoError; -} - -DSError TRKDoVersions(TRKBuffer* buffer) -{ - DSError error; - DSVersions versions; - - if (buffer->length != 1) { - error = TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_PacketSizeError); - } else { - TRKMessageIntoReply(buffer, DSMSG_ReplyACK, DSREPLY_NoError); - error = TRKTargetVersions(&versions); - - if (error == DS_NoError) - error = TRKAppendBuffer1_ui8(buffer, versions.kernelMajor); - if (error == DS_NoError) - error = TRKAppendBuffer1_ui8(buffer, versions.kernelMinor); - if (error == DS_NoError) - error = TRKAppendBuffer1_ui8(buffer, versions.protocolMajor); - if (error == DS_NoError) - error = TRKAppendBuffer1_ui8(buffer, versions.protocolMinor); - - if (error != DS_NoError) - error = TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_CWDSError); - else - error = TRKSendACK(buffer); - } -} - -DSError TRKDoSupportMask(TRKBuffer* buffer) -{ - DSError error; - u8 mask[32]; - - if (buffer->length != 1) { - TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_PacketSizeError); - } else { - TRKMessageIntoReply(buffer, DSMSG_ReplyACK, DSREPLY_NoError); - error = TRKTargetSupportMask(mask); - - if (error == DS_NoError) - error = TRKAppendBuffer(buffer, mask, 32); - if (error == DS_NoError) - error = TRKAppendBuffer1_ui8(buffer, 2); - - if (error != DS_NoError) - TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_CWDSError); - else - TRKSendACK(buffer); - } -} - -DSError TRKDoCPUType(TRKBuffer* buffer) -{ - DSError error; - DSCPUType cputype; - - if (buffer->length != 1) { - error = TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_PacketSizeError); - return; - } - - TRKMessageIntoReply(buffer, DSMSG_ReplyACK, DSREPLY_NoError); - - error = TRKTargetCPUType(&cputype); - - if (error == DS_NoError) - error = TRKAppendBuffer1_ui8(buffer, cputype.cpuMajor); - if (error == DS_NoError) - error = TRKAppendBuffer1_ui8(buffer, cputype.cpuMinor); - if (error == DS_NoError) - error = TRKAppendBuffer1_ui8(buffer, cputype.bigEndian); - if (error == DS_NoError) - error = TRKAppendBuffer1_ui8(buffer, cputype.defaultTypeSize); - if (error == DS_NoError) - error = TRKAppendBuffer1_ui8(buffer, cputype.fpTypeSize); - if (error == DS_NoError) - error = TRKAppendBuffer1_ui8(buffer, cputype.extended1TypeSize); - if (error == DS_NoError) - error = TRKAppendBuffer1_ui8(buffer, cputype.extended2TypeSize); - - if (error != DS_NoError) - error = TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_CWDSError); - else - error = TRKSendACK(buffer); -} - -DSError TRKDoReadMemory(TRKBuffer* buffer) -{ - DSError error; - DSReplyError replyError; - u8 tempBuf[0x800]; - u32 msg_start; - u32 length; - u16 msg_length; - u8 msg_command; - u8 msg_options; - - if (buffer->length != 8) { - error = TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_PacketSizeError); - return error; - } - - TRKSetBufferPosition(buffer, DSREPLY_NoError); - error = TRKReadBuffer1_ui8(buffer, &msg_command); - if (error == DS_NoError) - error = TRKReadBuffer1_ui8(buffer, &msg_options); - - if (error == DS_NoError) - error = TRKReadBuffer1_ui16(buffer, &msg_length); - - if (error == DS_NoError) - error = TRKReadBuffer1_ui32(buffer, &msg_start); - - if (msg_options & 2) { - error = TRKStandardACK(buffer, DSMSG_ReplyACK, - DSREPLY_UnsupportedOptionError); - return error; - } - - if (msg_length > 0x800) { - error = TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_ParameterError); - return error; - } - - TRKMessageIntoReply(buffer, DSMSG_ReplyACK, DSREPLY_NoError); - - if (error == DS_NoError) { - length = (u32)msg_length; - error = TRKTargetAccessMemory( - tempBuf, msg_start, &length, - (msg_options & 8) ? MEMACCESS_UserMemory : MEMACCESS_DebuggerMemory, - 1); - msg_length = (u16)length; - if (error == DS_NoError) - error = TRKAppendBuffer1_ui16(buffer, msg_length); - if (error == DS_NoError) - error = TRKAppendBuffer(buffer, tempBuf, length); - } - - if (error != DS_NoError) { - switch (error) { - case DS_CWDSException: - replyError = DSREPLY_CWDSException; - break; - case DS_InvalidMemory: - replyError = DSREPLY_InvalidMemoryRange; - break; - case DS_InvalidProcessID: - replyError = DSREPLY_InvalidProcessID; - break; - case DS_InvalidThreadID: - replyError = DSREPLY_InvalidThreadID; - break; - case DS_OSError: - replyError = DSREPLY_OSError; - break; - default: - replyError = DSREPLY_CWDSError; - break; - } - error = TRKStandardACK(buffer, DSMSG_ReplyACK, replyError); - } else { - error = TRKSendACK(buffer); - } - - return error; -} - -DSError TRKDoWriteMemory(TRKBuffer* buffer) -{ - DSError error; - DSReplyError replyError; - u8 tmpBuffer[0x800]; - u32 msg_start; - u32 length; - u16 msg_length; - u8 msg_command; - u8 msg_options; - - if (buffer->length <= 8) { - error = TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_PacketSizeError); - return error; - } - - TRKSetBufferPosition(buffer, DSREPLY_NoError); - error = TRKReadBuffer1_ui8(buffer, &msg_command); - if (error == DS_NoError) - error = TRKReadBuffer1_ui8(buffer, &msg_options); - - if (error == DS_NoError) - error = TRKReadBuffer1_ui16(buffer, &msg_length); - - if (error == DS_NoError) - error = TRKReadBuffer1_ui32(buffer, &msg_start); - - if (msg_options & 2) { - error = TRKStandardACK(buffer, DSMSG_ReplyACK, - DSREPLY_UnsupportedOptionError); - return error; - } - - if ((buffer->length != msg_length + 8) || (msg_length > 0x800)) { - error = TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_ParameterError); - } else { - if (error == DS_NoError) { - length = (u32)msg_length; - error = TRKReadBuffer(buffer, tmpBuffer, length); - if (error == DS_NoError) { - error = TRKTargetAccessMemory(tmpBuffer, msg_start, &length, - (msg_options & 8) - ? MEMACCESS_UserMemory - : MEMACCESS_DebuggerMemory, - FALSE); - } - msg_length = (u16)length; - } - - if (error == DS_NoError) - TRKMessageIntoReply(buffer, DSMSG_ReplyACK, DSREPLY_NoError); - - if (error == DS_NoError) - error = TRKAppendBuffer1_ui16(buffer, msg_length); - - if (error != DS_NoError) { - switch (error) { - case DS_CWDSException: - replyError = DSREPLY_CWDSException; - break; - case DS_InvalidMemory: - replyError = DSREPLY_InvalidMemoryRange; - break; - case DS_InvalidProcessID: - replyError = DSREPLY_InvalidProcessID; - break; - case DS_InvalidThreadID: - replyError = DSREPLY_InvalidThreadID; - break; - case DS_OSError: - replyError = DSREPLY_OSError; - break; - default: - replyError = DSREPLY_CWDSError; - break; - } - error = TRKStandardACK(buffer, DSMSG_ReplyACK, replyError); - } else { - error = TRKSendACK(buffer); - } - } - - return error; -} - -DSError TRKDoReadRegisters(TRKBuffer* buffer) -{ - DSError error; - DSReplyError replyError; - DSMessageRegisterOptions options; - u32 registerDataLength; - u16 msg_firstRegister; - u16 msg_lastRegister; - u8 msg_command; - u8 msg_options; - - if (buffer->length != 6) { - error = TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_PacketSizeError); - return; - } - TRKSetBufferPosition(buffer, DSREPLY_NoError); - error = TRKReadBuffer1_ui8(buffer, &msg_command); - if (error == DS_NoError) - error = TRKReadBuffer1_ui8(buffer, &msg_options); - - if (error == DS_NoError) - error = TRKReadBuffer1_ui16(buffer, &msg_firstRegister); - - if (error == DS_NoError) - error = TRKReadBuffer1_ui16(buffer, &msg_lastRegister); - - if (msg_firstRegister > msg_lastRegister) { - error = TRKStandardACK(buffer, DSMSG_ReplyACK, - DSREPLY_InvalidRegisterRange); - return; - } - - if (error == DS_NoError) - TRKMessageIntoReply(buffer, DSMSG_ReplyACK, DSREPLY_NoError); - - options = (DSMessageRegisterOptions)(msg_options & 7); - switch (options) { - case DSREG_Default: - error = TRKTargetAccessDefault(msg_firstRegister, msg_lastRegister, - buffer, ®isterDataLength, TRUE); - break; - case DSREG_FP: - error = TRKTargetAccessFP(msg_firstRegister, msg_lastRegister, buffer, - ®isterDataLength, TRUE); - break; - case DSREG_Extended1: - error = TRKTargetAccessExtended1(msg_firstRegister, msg_lastRegister, - buffer, ®isterDataLength, TRUE); - break; - case DSREG_Extended2: - error = TRKTargetAccessExtended2(msg_firstRegister, msg_lastRegister, - buffer, ®isterDataLength, TRUE); - break; - default: - error = DS_UnsupportedError; - break; - } - - if (error != DS_NoError) { - switch (error) { - case DS_UnsupportedError: - replyError = DSREPLY_UnsupportedOptionError; - break; - case DS_InvalidRegister: - replyError = DSREPLY_InvalidRegisterRange; - break; - case DS_CWDSException: - replyError = DSREPLY_CWDSException; - break; - case DS_InvalidProcessID: - replyError = DSREPLY_InvalidProcessID; - break; - case DS_InvalidThreadID: - replyError = DSREPLY_InvalidThreadID; - break; - case DS_OSError: - replyError = DSREPLY_OSError; - break; - default: - replyError = DSREPLY_CWDSError; - } - - error = TRKStandardACK(buffer, DSMSG_ReplyACK, replyError); - } else { - error = TRKSendACK(buffer); - } -} - -DSError TRKDoWriteRegisters(TRKBuffer* buffer) -{ - DSError error; - DSReplyError replyError; - DSMessageRegisterOptions options; - u32 registerDataLength; - u16 msg_firstRegister; - u16 msg_lastRegister; - u8 msg_command; - u8 msg_options; - - if (buffer->length <= 6) { - error = TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_PacketSizeError); - return; - } - TRKSetBufferPosition(buffer, DSREPLY_NoError); - error = TRKReadBuffer1_ui8(buffer, &msg_command); - if (error == DS_NoError) - error = TRKReadBuffer1_ui8(buffer, &msg_options); - - if (error == DS_NoError) - error = TRKReadBuffer1_ui16(buffer, &msg_firstRegister); - - if (error == DS_NoError) - error = TRKReadBuffer1_ui16(buffer, &msg_lastRegister); - - if (msg_firstRegister > msg_lastRegister) { - error = TRKStandardACK(buffer, DSMSG_ReplyACK, - DSREPLY_InvalidRegisterRange); - return; - } - - options = (DSMessageRegisterOptions)msg_options; - switch (options) { - case DSREG_Default: - error = TRKTargetAccessDefault(msg_firstRegister, msg_lastRegister, - buffer, ®isterDataLength, FALSE); - break; - case DSREG_FP: - error = TRKTargetAccessFP(msg_firstRegister, msg_lastRegister, buffer, - ®isterDataLength, FALSE); - break; - case DSREG_Extended1: - error = TRKTargetAccessExtended1(msg_firstRegister, msg_lastRegister, - buffer, ®isterDataLength, FALSE); - break; - case DSREG_Extended2: - error = TRKTargetAccessExtended2(msg_firstRegister, msg_lastRegister, - buffer, ®isterDataLength, FALSE); - break; - default: - error = DS_UnsupportedError; - break; - } - - if (error == DS_NoError) - TRKMessageIntoReply(buffer, DSMSG_ReplyACK, DSREPLY_NoError); - - if (error != DS_NoError) { - switch (error) { - case DS_UnsupportedError: - replyError = DSREPLY_UnsupportedOptionError; - break; - case DS_InvalidRegister: - replyError = DSREPLY_InvalidRegisterRange; - break; - case DS_MessageBufferReadError: - replyError = DSREPLY_PacketSizeError; - break; - case DS_CWDSException: - replyError = DSREPLY_CWDSException; - break; - case DS_InvalidProcessID: - replyError = DSREPLY_InvalidProcessID; - break; - case DS_InvalidThreadID: - replyError = DSREPLY_InvalidThreadID; - break; - case DS_OSError: - replyError = DSREPLY_OSError; - break; - default: - replyError = DSREPLY_CWDSError; - } - - error = TRKStandardACK(buffer, DSMSG_ReplyACK, replyError); - } else { - error = TRKSendACK(buffer); - } -} - -DSError TRKDoFlushCache(TRKBuffer* buffer) -{ - DSError error; - DSReplyError replyErr; - u32 msg_start; - u32 msg_end; - u8 msg_command; - u8 msg_options; - - if (buffer->length != 10) { - error = TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_PacketSizeError); - return; - } - - TRKSetBufferPosition(buffer, DSREPLY_NoError); - error = TRKReadBuffer1_ui8(buffer, &msg_command); - if (error == DS_NoError) - error = TRKReadBuffer1_ui8(buffer, &msg_options); - if (error == DS_NoError) - error = TRKReadBuffer1_ui32(buffer, &msg_start); - if (error == DS_NoError) - error = TRKReadBuffer1_ui32(buffer, &msg_end); - - if (msg_start > msg_end) { - error = TRKStandardACK(buffer, DSMSG_ReplyACK, - DSREPLY_InvalidMemoryRange); - return; - } - - if (error == DS_NoError) - error = TRKTargetFlushCache(msg_options, (void*)msg_start, - (void*)msg_end); - - if (error == DS_NoError) - TRKMessageIntoReply(buffer, DSMSG_ReplyACK, DSREPLY_NoError); - - if (error != DS_NoError) { - switch (error) { - case DS_UnsupportedError: - replyErr = DSREPLY_UnsupportedOptionError; - break; - default: - replyErr = DSREPLY_CWDSError; - break; - } - - error = TRKStandardACK(buffer, DSMSG_ReplyACK, replyErr); - } else { - error = TRKSendACK(buffer); - } -} - -DSError TRKDoContinue(TRKBuffer* buffer) -{ - DSError error; - - error = TRKTargetStopped(); - if (error == DS_NoError) { - error = TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_NotStopped); - return; - } - - error = TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_NoError); - if (error == DS_NoError) - error = TRKTargetContinue(); -} - -DSError TRKDoStep(TRKBuffer* buffer) -{ - DSError error; - u8 msg_command; - u8 msg_options; - u8 msg_count; - u32 msg_rangeStart; - u32 msg_rangeEnd; - u32 pc; - - if (buffer->length < 3) { - TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_PacketSizeError); - return; - } - - TRKSetBufferPosition(buffer, DSREPLY_NoError); - - error = TRKReadBuffer1_ui8(buffer, &msg_command); - if (error == DS_NoError) - error = TRKReadBuffer1_ui8(buffer, &msg_options); - - switch (msg_options) { - case DSSTEP_IntoCount: - case DSSTEP_OverCount: - if (error == DS_NoError) - TRKReadBuffer1_ui8(buffer, &msg_count); - if (msg_count >= 1) { - break; - } - TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_ParameterError); - return; - case DSSTEP_IntoRange: - case DSSTEP_OverRange: - if (buffer->length != 10) { - TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_PacketSizeError); - return; - } - - if (error == DS_NoError) - error = TRKReadBuffer1_ui32(buffer, &msg_rangeStart); - if (error == DS_NoError) - error = TRKReadBuffer1_ui32(buffer, &msg_rangeEnd); - - pc = TRKTargetGetPC(); - if (pc >= msg_rangeStart && pc <= msg_rangeEnd) { - break; - } - TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_ParameterError); - return; - default: - TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_UnsupportedOptionError); - return; - } - - if (!TRKTargetStopped()) { - TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_NotStopped); - return; - } - - error = TRKStandardACK(buffer, DSMSG_ReplyACK, DSREPLY_NoError); - if (error == DS_NoError) - switch (msg_options) { - case DSSTEP_IntoCount: - case DSSTEP_OverCount: - error = TRKTargetSingleStep(msg_count, - (msg_options == DSSTEP_OverCount)); - break; - case DSSTEP_IntoRange: - case DSSTEP_OverRange: - error = TRKTargetStepOutOfRange( - msg_rangeStart, msg_rangeEnd, - (msg_options == DSSTEP_OverRange)); - break; - } -} - -DSError TRKDoStop(TRKBuffer* b) -{ - DSReplyError replyError; - - switch (TRKTargetStop()) { - case DS_NoError: - replyError = DSREPLY_NoError; - break; - case DS_InvalidProcessID: - replyError = DSREPLY_InvalidProcessID; - break; - case DS_InvalidThreadID: - replyError = DSREPLY_InvalidThreadID; - break; - case DS_OSError: - replyError = DSREPLY_OSError; - break; - default: - replyError = DSREPLY_Error; - break; - } - - return TRKStandardACK(b, DSMSG_ReplyACK, replyError); -} - -DSError TRKDoSetOption(TRKBuffer* buffer) { - DSError error; - u8 spA; - u8 sp9; - u8 sp8; - - spA = 0; - sp9 = 0; - sp8 = 0; - TRKSetBufferPosition(buffer, DSREPLY_NoError); - error = TRKReadBuffer1_ui8(buffer, &spA); - if (error == DS_NoError) { - error = TRKReadBuffer1_ui8(buffer, &sp9); - } - if (error == DS_NoError) { - error = TRKReadBuffer1_ui8(buffer, &sp8); - } - if (error != DS_NoError) { - TRKResetBuffer(buffer, 1); - if (buffer->position < 0x880) { - buffer->data[buffer->position++] = 0x80; - buffer->length++; - } - if (buffer->position < 0x880) { - buffer->data[buffer->position++] = 1; - buffer->length++; - } - TRKSendACK(buffer); - } else if (sp9 == 1) { - SetUseSerialIO(sp8); - } - TRKResetBuffer(buffer, 1); - if (buffer->position < 0x880) { - buffer->data[buffer->position++] = 0x80; - buffer->length++; - } - if (buffer->position < 0x880) { - buffer->data[buffer->position++] = 0; - buffer->length++; - } - return TRKSendACK(buffer); -} diff --git a/src/TRK_MINNOW_DOLPHIN/mslsupp.c b/src/TRK_MINNOW_DOLPHIN/mslsupp.c deleted file mode 100755 index cbcfc85f..00000000 --- a/src/TRK_MINNOW_DOLPHIN/mslsupp.c +++ /dev/null @@ -1,112 +0,0 @@ -#include "PowerPC_EABI_Support/MetroTRK/trk.h" -#include - -// forward declares -DSIOResult __read_file(u32 handle, u8* buffer, size_t* count, void* ref_con); -DSIOResult __write_file(u32 handle, u8* buffer, size_t* count, void* ref_con); -DSIOResult __access_file(u32 handle, u8* buffer, size_t* count, void* ref_con, MessageCommandID cmd); - -/** - * @note Address: 0x800C0B4C - * @note Size: 0xBC - */ -DSIOResult __read_console(u32 handle, u8* buffer, size_t* count, void* ref_con) -{ - if (GetUseSerialIO() == 0) { - return DS_IOError; - } - return __read_file(DS_Stdin, buffer, count, ref_con); -} - -/** - * @note Address: 0x800C0A90 - * @note Size: 0xBC - */ -DSIOResult __TRK_write_console(u32 handle, u8* buffer, size_t* count, void* ref_con) -{ - if (GetUseSerialIO() == 0) { - return DS_IOError; - } - return __write_file(DS_Stdout, buffer, count, ref_con); -} - -/** - * @note Address: N/A - * @note Size: 0xB4 - */ -DSIOResult __read_file(u32 handle, u8* buffer, size_t* count, void* ref_con) -{ - return __access_file(handle, buffer, count, ref_con, DSMSG_ReadFile); -} - -/** - * @note Address: N/A - * @note Size: 0xB4 - */ -DSIOResult __write_file(u32 handle, u8* buffer, size_t* count, void* ref_con) -{ - return __access_file(handle, buffer, count, ref_con, DSMSG_WriteFile); -} - -/** - * @note Address: N/A - * @note Size: 0x17C - */ -void __open_file(void) -{ - // UNUSED FUNCTION -} - -/** - * @note Address: N/A - * @note Size: 0xDC - */ -void __position_file(void) -{ - // UNUSED FUNCTION -} - -/** - * @note Address: N/A - * @note Size: 0xE0 - */ -void convertFileMode(void) -{ - // UNUSED FUNCTION -} - -/** - * @note Address: N/A - * @note Size: 0xC0 - */ -DSIOResult __access_file(u32 handle, u8* buffer, size_t* count, void* ref_con, MessageCommandID cmd) -{ - size_t countTemp; - u32 r0; - - if (GetTRKConnected() == DS_NoError) { - return DS_IOError; - } - - countTemp = *count; - r0 = TRKAccessFile(cmd, handle, &countTemp, buffer); - *count = countTemp; - - switch ((u8)r0) { - case DS_IONoError: - return DS_IONoError; - case DS_IOEOF: - return DS_IOEOF; - } - - return DS_IOError; -} - -/** - * @note Address: N/A - * @note Size: 0x1D0 - */ -void __open_temp_file(void) -{ - // UNUSED FUNCTION -} diff --git a/src/TRK_MINNOW_DOLPHIN/mutex_TRK.c b/src/TRK_MINNOW_DOLPHIN/mutex_TRK.c deleted file mode 100644 index 37e09501..00000000 --- a/src/TRK_MINNOW_DOLPHIN/mutex_TRK.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h" - -DSError TRKInitializeMutex(void*) { return DS_NoError; } - -DSError TRKAcquireMutex(void*) { return DS_NoError; } - -DSError TRKReleaseMutex(void*) { return DS_NoError; } diff --git a/src/TRK_MINNOW_DOLPHIN/notify.c b/src/TRK_MINNOW_DOLPHIN/notify.c deleted file mode 100644 index bd41e2f7..00000000 --- a/src/TRK_MINNOW_DOLPHIN/notify.c +++ /dev/null @@ -1,47 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.h" -#include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h" -#include "PowerPC_EABI_Support/MetroTRK/trk.h" - -inline DSError TRKDoNotifyStopped_Inline(TRKBuffer* msg, MessageCommandID cmd) { - DSError err; - - if (msg->position >= 0x880) { - err = DS_MessageBufferOverflow; - } else { - msg->data[msg->position++] = cmd; - msg->length+=1; - err = 0; - } - return err; -} - -DSError TRKDoNotifyStopped(MessageCommandID cmd) -{ - DSError err; - int reqIdx; - int bufIdx; - TRKBuffer* msg; - - err = TRKGetFreeBuffer(&bufIdx, &msg); - if (err == DS_NoError) { - err = TRKDoNotifyStopped_Inline(msg, cmd); - - if (err == DS_NoError) { - if (cmd == DSMSG_NotifyStopped) { - TRKTargetAddStopInfo(msg); - } else { - TRKTargetAddExceptionInfo(msg); - } - } - - err = TRKRequestSend(msg, &reqIdx, 2, 3, 1); - if (err == DS_NoError) { - TRKReleaseBuffer(reqIdx); - } - TRKReleaseBuffer(bufIdx); - } - - return err; -} diff --git a/src/TRK_MINNOW_DOLPHIN/nubevent.c b/src/TRK_MINNOW_DOLPHIN/nubevent.c deleted file mode 100644 index a35a43cd..00000000 --- a/src/TRK_MINNOW_DOLPHIN/nubevent.c +++ /dev/null @@ -1,72 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.h" - -TRKEventQueue gTRKEventQueue; - -DSError TRKInitializeEventQueue() -{ - TRKInitializeMutex(&gTRKEventQueue); - TRKAcquireMutex(&gTRKEventQueue); - gTRKEventQueue.count = 0; - gTRKEventQueue.next = 0; - gTRKEventQueue.eventID = 0x100; - TRKReleaseMutex(&gTRKEventQueue); - return DS_NoError; -} - -void TRKCopyEvent(TRKEvent* dstEvent, const TRKEvent* srcEvent) -{ - TRK_memcpy(dstEvent, srcEvent, sizeof(TRKEvent)); -} - -BOOL TRKGetNextEvent(TRKEvent* event) -{ - BOOL status = 0; - TRKAcquireMutex(&gTRKEventQueue); - if (0 < gTRKEventQueue.count) { - TRKCopyEvent(event, &gTRKEventQueue.events[gTRKEventQueue.next]); - gTRKEventQueue.count--; - gTRKEventQueue.next++; - if (gTRKEventQueue.next == 2) - gTRKEventQueue.next = 0; - - status = 1; - } - TRKReleaseMutex(&gTRKEventQueue); - return status; -} - -DSError TRKPostEvent(TRKEvent* event) -{ - DSError ret = DS_NoError; - int nextEventID; - - TRKAcquireMutex(&gTRKEventQueue); - - if (gTRKEventQueue.count == 2) { - ret = DS_EventQueueFull; - } else { - nextEventID = (gTRKEventQueue.next + gTRKEventQueue.count) % 2; - TRKCopyEvent(&gTRKEventQueue.events[nextEventID], event); - gTRKEventQueue.events[nextEventID].eventID = gTRKEventQueue.eventID; - gTRKEventQueue.eventID++; - if (gTRKEventQueue.eventID < 0x100) - gTRKEventQueue.eventID = 0x100; - - gTRKEventQueue.count++; - } - - TRKReleaseMutex(&gTRKEventQueue); - return ret; -} - -void TRKConstructEvent(TRKEvent* event, NubEventType eventType) -{ - event->eventType = eventType; - event->eventID = 0; - event->msgBufID = -1; -} - -void TRKDestructEvent(TRKEvent* event) { TRKReleaseBuffer(event->msgBufID); } diff --git a/src/TRK_MINNOW_DOLPHIN/nubinit.c b/src/TRK_MINNOW_DOLPHIN/nubinit.c deleted file mode 100644 index fc08e85e..00000000 --- a/src/TRK_MINNOW_DOLPHIN/nubinit.c +++ /dev/null @@ -1,80 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.h" -#include "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.h" -#include "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h" -#include "TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.h" -#include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h" - -BOOL gTRKBigEndian; - -BOOL TRKInitializeEndian(void); - -DSError TRKInitializeNub(void) -{ - DSError ret; - DSError uartErr; - - ret = TRKInitializeEndian(); - - if (ret == DS_NoError) - usr_put_initialize(); - if (ret == DS_NoError) - ret = TRKInitializeEventQueue(); - if (ret == DS_NoError) - ret = TRKInitializeMessageBuffers(); - if (ret == DS_NoError) - ret = TRKInitializeDispatcher(); - - if (ret == DS_NoError) { - uartErr = TRKInitializeIntDrivenUART(0x0000e100, 1, 0, - (volatile u8**)&gTRKInputPendingPtr); - TRKTargetSetInputPendingPtr(gTRKInputPendingPtr); - if (uartErr != DS_NoError) { - ret = uartErr; - } - } - - if (ret == DS_NoError) - ret = TRKInitializeSerialHandler(); - if (ret == DS_NoError) - ret = TRKInitializeTarget(); - - return ret; -} - -DSError TRKTerminateNub(void) -{ - TRKTerminateSerialHandler(); - return DS_NoError; -} - -void TRKNubWelcome(void) -{ - TRK_board_display("MetroTRK for GAMECUBE v0.10"); - return; -} - -BOOL TRKInitializeEndian(void) -{ - u8 bendian[4]; - BOOL result = FALSE; - gTRKBigEndian = TRUE; - - bendian[0] = 0x12; - bendian[1] = 0x34; - bendian[2] = 0x56; - bendian[3] = 0x78; - - if (*(u32*)bendian == 0x12345678) { - gTRKBigEndian = TRUE; - } else if (*(u32*)bendian == 0x78563412) { - gTRKBigEndian = FALSE; - } else { - result = TRUE; - } - return result; -} diff --git a/src/TRK_MINNOW_DOLPHIN/serpoll.c b/src/TRK_MINNOW_DOLPHIN/serpoll.c deleted file mode 100644 index c21fde38..00000000 --- a/src/TRK_MINNOW_DOLPHIN/serpoll.c +++ /dev/null @@ -1,141 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.h" -#include "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h" -#include "PowerPC_EABI_Support/MetroTRK/trk.h" - -static TRKFramingState gTRKFramingState; - -void* gTRKInputPendingPtr; - -static inline BOOL serpoll_inline_00(TRKBuffer* buffer) { - if (buffer->length < 2) { - TRKStandardACK(buffer, DSMSG_ReplyNAK, DSREPLY_PacketSizeError); - if (gTRKFramingState.msgBufID != -1) { - TRKReleaseBuffer(gTRKFramingState.msgBufID); - gTRKFramingState.msgBufID = -1; - } - gTRKFramingState.buffer = NULL; - gTRKFramingState.receiveState = DSRECV_Wait; - return FALSE; - } - buffer->position = 0; - buffer->length--; - return TRUE; -} - -MessageBufferID TRKTestForPacket(void) { - s32 var_r29; - s32 var_r3; - s8 sp8; - s32 temp_r3; - - var_r29 = 0; - var_r3 = TRKReadUARTPoll(&sp8); - while (var_r3 == 0 && var_r29 == 0) { - if (gTRKFramingState.receiveState != DSRECV_InFrame) { - gTRKFramingState.isEscape = FALSE; - } - switch (gTRKFramingState.receiveState) { - case DSRECV_Wait: - if (sp8 == 0x7E) { - var_r29 = TRKGetFreeBuffer(&gTRKFramingState.msgBufID, &gTRKFramingState.buffer); - gTRKFramingState.fcsType = 0; - gTRKFramingState.receiveState = DSRECV_Found; - } - break; - case DSRECV_Found: - if (sp8 == 0x7E) { - break; - } - gTRKFramingState.receiveState = DSRECV_InFrame; - /* fallthrough */ - case DSRECV_InFrame: - if (sp8 == 0x7E) { - if (gTRKFramingState.isEscape) { - TRKStandardACK(gTRKFramingState.buffer, DSMSG_ReplyNAK, DSREPLY_EscapeError); - if (gTRKFramingState.msgBufID != -1) { - TRKReleaseBuffer(gTRKFramingState.msgBufID); - gTRKFramingState.msgBufID = -1; - } - gTRKFramingState.buffer = NULL; - gTRKFramingState.receiveState = DSRECV_Wait; - break; - } - if (serpoll_inline_00(gTRKFramingState.buffer)) { - temp_r3 = gTRKFramingState.msgBufID; - gTRKFramingState.msgBufID = -1; - gTRKFramingState.buffer = NULL; - gTRKFramingState.receiveState = DSRECV_Wait; - return temp_r3; - } - gTRKFramingState.receiveState = DSRECV_Wait; - } else { - if (gTRKFramingState.isEscape) { - sp8 ^= 0x20; - gTRKFramingState.isEscape = FALSE; - } else if (sp8 == 0x7D) { - gTRKFramingState.isEscape = TRUE; - break; - } - var_r29 = TRKAppendBuffer1_ui8(gTRKFramingState.buffer, sp8); - gTRKFramingState.fcsType += sp8; - } - break; - case DSRECV_FrameOverflow: - if (sp8 == 0x7E) { - if (gTRKFramingState.msgBufID != -1) { - TRKReleaseBuffer(gTRKFramingState.msgBufID); - gTRKFramingState.msgBufID = -1; - } - gTRKFramingState.buffer = NULL; - gTRKFramingState.receiveState = DSRECV_Wait; - } - break; - } - var_r3 = TRKReadUARTPoll(&sp8); - } - return -1; -} - -void TRKGetInput(void) -{ - TRKBuffer* msgBuffer; - MessageBufferID id; - u8 command; - - id = TRKTestForPacket(); - if (id == -1) - return; - - msgBuffer = TRKGetBuffer(id); - TRKSetBufferPosition(msgBuffer, 0); - TRKReadBuffer1_ui8(msgBuffer, &command); - if (command < DSMSG_ReplyACK) { - TRKProcessInput(id); - } else { - TRKReleaseBuffer(id); - } -} - -void TRKProcessInput(int bufferIdx) -{ - TRKEvent event; - - TRKConstructEvent(&event, NUBEVENT_Request); - gTRKFramingState.msgBufID = -1; - event.msgBufID = bufferIdx; - TRKPostEvent(&event); -} - -DSError TRKInitializeSerialHandler(void) -{ - gTRKFramingState.msgBufID = -1; - gTRKFramingState.receiveState = DSRECV_Wait; - gTRKFramingState.isEscape = FALSE; - - return DS_NoError; -} - -DSError TRKTerminateSerialHandler(void) { return DS_NoError; } diff --git a/src/TRK_MINNOW_DOLPHIN/support.c b/src/TRK_MINNOW_DOLPHIN/support.c deleted file mode 100644 index 3f1e54c1..00000000 --- a/src/TRK_MINNOW_DOLPHIN/support.c +++ /dev/null @@ -1,288 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.h" -#include "stddef.h" -#include "string.h" - -DSError TRKSuppAccessFile(u32 file_handle, u8* data, size_t* count, - DSIOResult* io_result, BOOL need_reply, BOOL read) -{ - DSError error; - int replyBufferId; - TRKBuffer* replyBuffer; - int bufferId; - TRKBuffer* buffer; - u32 length; - u32 done; - u8 replyIOResult; - u16 replyLength; - BOOL exit; - - if (data == NULL || *count == 0) { - return DS_ParameterError; - } - - exit = FALSE; - *io_result = DS_IONoError; - done = 0; - error = DS_NoError; - while (!exit && done < *count && error == DS_NoError && *io_result == DS_IONoError) { - if (*count - done > 0x800) { - length = 0x800; - } else { - length = *count - done; - } - - error = TRKGetFreeBuffer(&bufferId, &buffer); - - if (error == DS_NoError) - error = TRKAppendBuffer1_ui8(buffer, read ? DSMSG_ReadFile - : DSMSG_WriteFile); - - if (error == DS_NoError) - error = TRKAppendBuffer1_ui32(buffer, file_handle); - - if (error == DS_NoError) - error = TRKAppendBuffer1_ui16(buffer, length); - - if (!read && error == DS_NoError) - error = TRKAppendBuffer_ui8(buffer, data + done, length); - - if (error == DS_NoError) { - if (need_reply) { - replyLength = 0; - replyIOResult = 0; - - error = TRKRequestSend(buffer, &replyBufferId, read ? 5 : 5, 3, - !(read && file_handle == 0)); - if (error == DS_NoError) { - replyBuffer = (TRKBuffer*)TRKGetBuffer(replyBufferId); - TRKSetBufferPosition(replyBuffer, 2); - } - - if (error == DS_NoError) - error = TRKReadBuffer1_ui8(replyBuffer, &replyIOResult); - - if (error == DS_NoError) - error = TRKReadBuffer1_ui16(replyBuffer, &replyLength); - - if (read && error == DS_NoError) { - if (replyBuffer->length != replyLength + 5) { - replyLength = replyBuffer->length - 5; - if (replyIOResult == 0) - replyIOResult = 1; - } - - if (replyLength <= length) - error = TRKReadBuffer_ui8(replyBuffer, data + done, - replyLength); - } - - if (replyLength != length) { - if ((!read || replyLength >= length) && replyIOResult == 0) - replyIOResult = 1; - length = replyLength; - exit = TRUE; - } - - *io_result = (DSIOResult)replyIOResult; - TRKReleaseBuffer(replyBufferId); - } else { - error = TRKMessageSend((TRK_Msg*)buffer); - } - } - - TRKReleaseBuffer(bufferId); - done += length; - } - - *count = done; - return error; -} - -DSError TRKRequestSend(TRKBuffer* msgBuf, int* bufferId, u32 p1, u32 p2, int p3) -{ - int error = DS_NoError; - TRKBuffer* buffer; - u32 timer; - int tries; - u8 msg_command; - u8 msg_error; - BOOL badReply = TRUE; - - *bufferId = -1; - - for (tries = p2 + 1; tries != 0 && *bufferId == -1 && error == DS_NoError; - tries--) { - error = TRKMessageSend((TRK_Msg*)msgBuf); - if (error == DS_NoError) { - if (p3) { - timer = 0; - } - - while (TRUE) { - do { - *bufferId = TRKTestForPacket(); - if (*bufferId != -1) - break; - } while (!p3 || ++timer < 79999980); - - if (*bufferId == -1) - break; - - badReply = FALSE; - - buffer = TRKGetBuffer(*bufferId); - TRKSetBufferPosition(buffer, 0); - - if ((error = TRKReadBuffer1_ui8(buffer, &msg_command)) - != DS_NoError) - break; - - if (msg_command >= DSMSG_ReplyACK) - break; - - TRKProcessInput(*bufferId); - *bufferId = -1; - } - - if (*bufferId != -1) { - if (buffer->length < p1) { - badReply = TRUE; - } - if (error == DS_NoError && !badReply) { - error = TRKReadBuffer1_ui8(buffer, &msg_error); - } - if (error == DS_NoError && !badReply) { - if (msg_command != DSMSG_ReplyACK - || msg_error != DSREPLY_NoError) { - badReply = TRUE; - } - } - if (error != DS_NoError || badReply) { - TRKReleaseBuffer(*bufferId); - *bufferId = -1; - } - } - } - } - - if (*bufferId == -1) { - error = DS_Error800; - } - - return error; -} - -DSError HandleOpenFileSupportRequest(const char* path, u8 replyError, u32* param_3, u8* ioResult) { - int sp10; - int spC; - TRKBuffer* sp8; - TRKBuffer* var_r31; - DSError var_r26; - - *param_3 = 0; - var_r26 = TRKGetFreeBuffer(&spC, &sp8); - if (var_r26 == DS_NoError) { - var_r26 = TRKAppendBuffer1_ui8(sp8, 0xD2); - } - if (var_r26 == DS_NoError) { - var_r26 = TRKAppendBuffer1_ui8(sp8, replyError); - } - if (var_r26 == DS_NoError) { - var_r26 = TRKAppendBuffer1_ui16(sp8, strlen(path) + 1); - } - if (var_r26 == DS_NoError) { - var_r26 = TRKAppendBuffer_ui8(sp8, (u8*) path, strlen(path) + 1); - } - if (var_r26 == DS_NoError) { - *ioResult = 0; - var_r26 = TRKRequestSend(sp8, &sp10, 7, 3, 0); - if (var_r26 == DS_NoError) { - var_r31 = TRKGetBuffer(sp10); - TRKSetBufferPosition(var_r31, 2); - } - if (var_r26 == DS_NoError) { - var_r26 = TRKReadBuffer1_ui8(var_r31, ioResult); - } - if (var_r26 == DS_NoError) { - var_r26 = TRKReadBuffer1_ui32(var_r31, param_3); - } - TRKReleaseBuffer(sp10); - } - TRKReleaseBuffer(spC); - return var_r26; -} - -DSError HandleCloseFileSupportRequest(int replyError, u8* ioResult) { - int sp10; - int spC; - DSError var_r31; - TRKBuffer* sp8; - TRKBuffer* var_r30; - - var_r31 = TRKGetFreeBuffer(&spC, &sp8); - if (var_r31 == DS_NoError) { - var_r31 = TRKAppendBuffer1_ui8(sp8, 0xD3); - } - if (var_r31 == DS_NoError) { - var_r31 = TRKAppendBuffer1_ui32(sp8, replyError); - } - if (var_r31 == DS_NoError) { - *ioResult = DS_IONoError; - var_r31 = TRKRequestSend(sp8, &sp10, 3, 3, 0); - if (var_r31 == DS_NoError) { - var_r30 = TRKGetBuffer(sp10); - TRKSetBufferPosition(var_r30, 2); - } - if (var_r31 == DS_NoError) { - var_r31 = TRKReadBuffer1_ui8(var_r30, ioResult); - } - TRKReleaseBuffer(sp10); - } - TRKReleaseBuffer(spC); - return var_r31; -} - -DSError HandlePositionFileSupportRequest(u32 replyErr, u32* param_2, u8 param_3, u8* ioResult) { - int sp10; - int spC; - TRKBuffer* sp8; - TRKBuffer* var_r31; - DSError var_r27; - - var_r27 = TRKGetFreeBuffer(&spC, &sp8); - if (var_r27 == DS_NoError) { - var_r27 = TRKAppendBuffer1_ui8(sp8, 0xD4); - } - if (var_r27 == DS_NoError) { - var_r27 = TRKAppendBuffer1_ui32(sp8, replyErr); - } - if (var_r27 == DS_NoError) { - var_r27 = TRKAppendBuffer1_ui32(sp8, *param_2); - } - if (var_r27 == DS_NoError) { - var_r27 = TRKAppendBuffer1_ui8(sp8, param_3); - } - if (var_r27 == DS_NoError) { - *ioResult = DS_IONoError; - var_r27 = TRKRequestSend(sp8, &sp10, 3, 3, 0); - if (var_r27 == DS_NoError) { - var_r31 = TRKGetBuffer(sp10); - TRKSetBufferPosition(var_r31, 2); - } - if (var_r27 == DS_NoError) { - var_r27 = TRKReadBuffer1_ui8(var_r31, ioResult); - } - if (var_r27 == DS_NoError) { - var_r27 = TRKReadBuffer1_ui32(var_r31, param_2); - } else { - *param_2 = -1; - } - TRKReleaseBuffer(sp10); - } - TRKReleaseBuffer(spC); - return var_r27; -} diff --git a/src/TRK_MINNOW_DOLPHIN/targcont.c b/src/TRK_MINNOW_DOLPHIN/targcont.c deleted file mode 100644 index 1827ae1a..00000000 --- a/src/TRK_MINNOW_DOLPHIN/targcont.c +++ /dev/null @@ -1,12 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.h" -#include "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h" -#include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h" - -DSError TRKTargetContinue(void) -{ - TRKTargetSetStopped(0); - UnreserveEXI2Port(); - TRKSwapAndGo(); - ReserveEXI2Port(); - return 0; -} diff --git a/src/TRK_MINNOW_DOLPHIN/target_options.c b/src/TRK_MINNOW_DOLPHIN/target_options.c deleted file mode 100755 index 22cc3e98..00000000 --- a/src/TRK_MINNOW_DOLPHIN/target_options.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "PowerPC_EABI_Support/MetroTRK/trk.h" - -static u8 bUseSerialIO; - -void SetUseSerialIO(u8 sio) { - bUseSerialIO = sio; -} - -u8 GetUseSerialIO(void) { - return bUseSerialIO; -} diff --git a/src/TRK_MINNOW_DOLPHIN/targimpl.c b/src/TRK_MINNOW_DOLPHIN/targimpl.c deleted file mode 100644 index ba77ff35..00000000 --- a/src/TRK_MINNOW_DOLPHIN/targimpl.c +++ /dev/null @@ -1,1202 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h" -#include "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.h" -#include "TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.h" -#include "TRK_MINNOW_DOLPHIN/ppc/Generic/mpc_7xx_603e.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.h" -#include "stddef.h" -#include "string.h" - -typedef struct memRange { - u8* start; - u8* end; - BOOL readable; - BOOL writeable; -} memRange; - -const memRange gTRKMemMap[1] = { { (u8*)0, (u8*)-1, TRUE, TRUE } }; - -typedef struct StopInfo_PPC { - u32 PC; - u32 PCInstruction; - u16 exceptionID; -} StopInfo_PPC; - -typedef struct TRKExceptionStatus { - StopInfo_PPC exceptionInfo; - u8 inTRK; - u8 exceptionDetected; -} TRKExceptionStatus; - -typedef struct TRKStepStatus { - BOOL active; // 0x0 - DSMessageStepOptions type; // 0x4 - u32 count; // 0x8 - u32 rangeStart; // 0xC - u32 rangeEnd; // 0x10 -} TRKStepStatus; - -ProcessorRestoreFlags_PPC gTRKRestoreFlags = { FALSE, FALSE }; - -static TRKExceptionStatus gTRKExceptionStatus = { { 0, 0, 0 }, TRUE, 0 }; - -static TRKStepStatus gTRKStepStatus = { FALSE, DSSTEP_IntoCount, 0, 0 }; - -static u16 TRK_saved_exceptionID = 0; -ProcessorState_PPC gTRKCPUState; -TRKState gTRKState; - -typedef unsigned char u128[16]; -u128 TRKvalue128_temp; - -Default_PPC gTRKSaveState; - -// Instruction macros -#define INSTR_NOP 0x60000000 -#define INSTR_BLR 0x4E800020 -#define INSTR_PSQ_ST(psr, offset, rDest, w, gqr) \ - (0xF0000000 | (psr << 21) | (rDest << 16) | (w << 15) | (gqr << 12) \ - | offset) -#define INSTR_PSQ_L(psr, offset, rSrc, w, gqr) \ - (0xE0000000 | (psr << 21) | (rSrc << 16) | (w << 15) | (gqr << 12) | offset) -#define INSTR_STW(rSrc, offset, rDest) \ - (0x90000000 | (rSrc << 21) | (rDest << 16) | offset) -#define INSTR_LWZ(rDest, offset, rSrc) \ - (0x80000000 | (rDest << 21) | (rSrc << 16) | offset) -#define INSTR_STFD(fprSrc, offset, rDest) \ - (0xD8000000 | (fprSrc << 21) | (rDest << 16) | offset) -#define INSTR_LFD(fprDest, offset, rSrc) \ - (0xC8000000 | (fprDest << 21) | (rSrc << 16) | offset) -#define INSTR_MFSPR(rDest, spr) \ - (0x7C000000 | (rDest << 21) | ((spr & 0xFE0) << 6) | ((spr & 0x1F) << 16) \ - | 0x2A6) -#define INSTR_MTSPR(spr, rSrc) \ - (0x7C000000 | (rSrc << 21) | ((spr & 0xFE0) << 6) | ((spr & 0x1F) << 16) \ - | 0x3A6) - -#define DSFetch_u32(_p_) (*((u32*)_p_)) -#define DSFetch_u64(_p_) (*((u64*)_p_)) - -DSError TRKPPCAccessSPR(void* value, u32 spr_register_num, BOOL read); -DSError TRKPPCAccessPairedSingleRegister(void* srcDestPtr, u32 psr, BOOL read); -DSError TRKPPCAccessFPRegister(void* srcDestPtr, u32 fpr, BOOL read); -DSError TRKPPCAccessSpecialReg(void* value, u32* access_func, BOOL read); -static void TRKExceptionHandler(u16); -void TRKInterruptHandlerEnableInterrupts(void); -void WriteFPSCR(register f64*); -void ReadFPSCR(register f64*); -void __TRK_set_MSR(u32 msr); -u32 __TRK_get_MSR(); -static void TRK_ppc_memcpy(register void* dest, register const void* src, - register int n, register u32 param_4, - register u32 param_5); - -void TRKRestoreExtended1Block(); -void TRKUARTInterruptHandler(); -DSError TRKTargetReadInstruction(void* data, u32 start); - -static BOOL TRKTargetCheckStep(); - -asm u32 __TRK_get_MSR() -{ -#ifdef __MWERKS__ // clang-format off - nofralloc - mfmsr r3 - blr -#endif // clang-format on -} - -asm void __TRK_set_MSR(register u32 msr) { -#ifdef __MWERKS__ // clang-format off - nofralloc - mtmsr msr - blr -#endif // clang-format on -} - -#pragma dont_inline on -DSError TRKValidMemory32(const void* addr, size_t length, - ValidMemoryOptions readWriteable) -{ - DSError err = DS_InvalidMemory; /* assume range is invalid */ - - const u8* start; - const u8* end; - - s32 i; - - /* - ** Get start and end addresses for the memory range and - ** verify that they are reasonable. - */ - - start = (const u8*)addr; - end = ((const u8*)addr + (length - 1)); - - if (end < start) - return DS_InvalidMemory; - - /* - ** Iterate through the gTRKMemMap array to determine if the requested - ** range falls within the valid ranges in the map. - */ - - for (i = 0; (i < (s32)(sizeof(gTRKMemMap) / sizeof(memRange))); i++) { - /* - ** If the requested range is not completely above - ** the valid range AND it is not completely below - ** the valid range then it must overlap somewhere. - ** If the requested range overlaps with one of the - ** valid ranges, do some additional checking. - ** - */ - - if ((start <= (const u8*)gTRKMemMap[i].end) - && (end >= (const u8*)gTRKMemMap[i].start)) { - /* - ** First, verify that the read/write attributes are - ** acceptable. If so, then recursively check any - ** part of the requested range that falls before or - ** after the valid range. - */ - - if (((readWriteable == VALIDMEM_Readable) - && !gTRKMemMap[i].readable) - || ((readWriteable == VALIDMEM_Writeable) - && !gTRKMemMap[i].writeable)) { - err = DS_InvalidMemory; - } else { - err = DS_NoError; - - /* - ** If a portion of the requested range falls before - ** the current valid range, then recursively - ** check it. - */ - - if (start < (const u8*)gTRKMemMap[i].start) - err = TRKValidMemory32( - start, (u32)((const u8*)gTRKMemMap[i].start - start), - readWriteable); - - /* - ** If a portion of the requested range falls after - ** the current valid range, then recursively - ** check it. - ** Note: Only do this step if the previous check - ** did not detect invalid access. - */ - - if ((err == DS_NoError) && (end > (const u8*)gTRKMemMap[i].end)) - err = TRKValidMemory32( - (const u8*)gTRKMemMap[i].end, - (u32)(end - (const u8*)gTRKMemMap[i].end), - readWriteable); - } - - break; - } - } - - return err; -} -#pragma dont_inline reset - -static asm void TRK_ppc_memcpy(register void* dest, register const void* src, - register int n, register u32 param_4, - register u32 param_5) { -#ifdef __MWERKS__ // clang-format off -#define msr r8 -#define byte r9 -#define count r10 - nofralloc - - mfmsr msr - li count, 0 - -top_loop: - cmpw count, n - beq out_loop - - mtmsr param_5 - sync - - lbzx byte, count, src - - mtmsr param_4 - sync - - stbx byte, count, dest - - addi count, count, 1 - - b top_loop -out_loop: - mtmsr msr - sync - - blr -#undef count -#undef byte -#undef msr -#endif // clang-format on -} - -#pragma dont_inline on -DSError TRKTargetAccessMemory(void* data, u32 start, size_t* length, - MemoryAccessOptions accessOptions, BOOL read) -{ - DSError error; - u32 target_msr; - void* addr; - u32 trk_msr; - TRKExceptionStatus tempExceptionStatus = gTRKExceptionStatus; - gTRKExceptionStatus.exceptionDetected = FALSE; - - addr = (void*)TRKTargetTranslate(start); - error = TRKValidMemory32(addr, *length, - read ? VALIDMEM_Readable : VALIDMEM_Writeable); - - if (error != DS_NoError) { - *length = 0; - } else { - target_msr = __TRK_get_MSR(); - trk_msr = target_msr | gTRKCPUState.Extended1.MSR & 0x10; - - if (read) { - TRK_ppc_memcpy(data, addr, *length, target_msr, trk_msr); - } else { - TRK_ppc_memcpy(addr, data, *length, trk_msr, target_msr); - TRK_flush_cache(addr, *length); - if ((void*)start != addr) { - TRK_flush_cache((void*)start, *length); - } - } - } - - if (gTRKExceptionStatus.exceptionDetected) { - *length = 0; - error = DS_CWDSException; - } - - gTRKExceptionStatus = tempExceptionStatus; - return error; -} -#pragma dont_inline reset - -DSError TRKTargetReadInstruction(void* data, u32 start) -{ - DSError error; - size_t registersLength = 4; - - error = TRKTargetAccessMemory(data, start, ®istersLength, - MEMACCESS_UserMemory, TRUE); - - if (error == DS_NoError && registersLength != 4) { - error = DS_InvalidMemory; - } - - return error; -} - -DSError TRKTargetAccessDefault(u32 firstRegister, u32 lastRegister, - TRKBuffer* b, size_t* registersLengthPtr, - BOOL read) -{ - DSError error; - u32 count; - u32* data; - TRKExceptionStatus tempExceptionStatus; - - if (lastRegister > 0x24) { - return DS_InvalidRegister; - } - - tempExceptionStatus = gTRKExceptionStatus; - - gTRKExceptionStatus.exceptionDetected = FALSE; - - data = gTRKCPUState.Default.GPR + firstRegister; - - count = (lastRegister - firstRegister) + 1; - - *registersLengthPtr = count * sizeof(u32); - - if (read) { - error = TRKAppendBuffer_ui32(b, data, count); - } else { - error = TRKReadBuffer_ui32(b, data, count); - } - - if (gTRKExceptionStatus.exceptionDetected) { - *registersLengthPtr = 0; - error = DS_CWDSException; - } - - gTRKExceptionStatus = tempExceptionStatus; - return error; -} - -DSError TRKTargetAccessFP(u32 firstRegister, u32 lastRegister, TRKBuffer* b, - size_t* registersLengthPtr, BOOL read) -{ - u64 temp; - DSError error; - TRKExceptionStatus tempExceptionStatus; - u32 current; - - if (lastRegister > 0x21) { - return DS_InvalidRegister; - } - - tempExceptionStatus = gTRKExceptionStatus; - gTRKExceptionStatus.exceptionDetected = FALSE; - - __TRK_set_MSR(__TRK_get_MSR() | 0x2000); - - *registersLengthPtr = 0; - error = DS_NoError; - - for (current = firstRegister; - (current <= lastRegister) && (error == DS_NoError); - current++, *registersLengthPtr += sizeof(f64)) { - if (read) { - TRKPPCAccessFPRegister(&temp, current, read); - error = TRKAppendBuffer1_ui64(b, temp); - } else { - TRKReadBuffer1_ui64(b, &temp); - error = TRKPPCAccessFPRegister(&temp, current, read); - } - } - - if (gTRKExceptionStatus.exceptionDetected) { - *registersLengthPtr = 0; - error = DS_CWDSException; - } - - gTRKExceptionStatus = tempExceptionStatus; - return error; -} - -DSError TRKTargetAccessExtended1(u32 firstRegister, u32 lastRegister, - TRKBuffer* b, size_t* registersLengthPtr, - BOOL read) -{ - TRKExceptionStatus tempExceptionStatus; - int error; - u32* data; - int count; - - if (lastRegister > 0x60) { - return DS_InvalidRegister; - } - - tempExceptionStatus = gTRKExceptionStatus; - gTRKExceptionStatus.exceptionDetected = FALSE; - - *registersLengthPtr = 0; - - if (firstRegister <= lastRegister) { - data = (u32*)&gTRKCPUState.Extended1 + firstRegister; - count = lastRegister - firstRegister + 1; - *registersLengthPtr += count * sizeof(u32); - - if (read) { - error = TRKAppendBuffer_ui32(b, data, count); - } else { - if (data <= &gTRKCPUState.Extended1.TBU - && (data + count - 1) >= &gTRKCPUState.Extended1.TBL) { - gTRKRestoreFlags.TBR = 1; - } - - if (data <= &gTRKCPUState.Extended1.DEC - && (data + count - 1) >= &gTRKCPUState.Extended1.DEC) { - gTRKRestoreFlags.DEC = 1; - } - error = TRKReadBuffer_ui32(b, data, count); - } - } - if (gTRKExceptionStatus.exceptionDetected) { - *registersLengthPtr = 0; - error = DS_CWDSException; - } - - gTRKExceptionStatus = tempExceptionStatus; - return error; -} - -DSError TRKTargetAccessExtended2(u32 firstRegister, u32 lastRegister, - TRKBuffer* b, size_t* registerStorageSize, - BOOL read) -{ - TRKExceptionStatus savedException; - u32 i; - u32 value_buf0[1]; - u32 value_buf[2]; - DSError err; - u32 access_func[10]; - - if (lastRegister > 0x1f) - return DS_InvalidRegister; - - /* - ** Save any existing exception status and clear the exception flag. - ** This allows detection of exceptions that occur ONLY within this - ** function. - */ - - savedException = gTRKExceptionStatus; - gTRKExceptionStatus.exceptionDetected = FALSE; - - TRKPPCAccessSPR(value_buf0, SPR_HID2, TRUE); - - value_buf0[0] |= 0xA0000000; - TRKPPCAccessSPR(value_buf0, SPR_HID2, FALSE); - - value_buf0[0] = 0; - TRKPPCAccessSPR(value_buf0, SPR_GQR0, FALSE); - - *registerStorageSize = 0; - err = DS_NoError; - - for (i = firstRegister; (i <= lastRegister) && (err == DS_NoError); i++) { - if (read) { - err = TRKPPCAccessPairedSingleRegister((u64*)value_buf, i, read); - err = TRKAppendBuffer1_ui64(b, *(u64*)value_buf); - } else { - err = TRKReadBuffer1_ui64(b, (u64*)value_buf); - err = TRKPPCAccessPairedSingleRegister((u64*)value_buf, i, read); - } - - *registerStorageSize += sizeof(u64); - } - - if (gTRKExceptionStatus.exceptionDetected) { - *registerStorageSize = 0; - err = DS_CWDSException; - } - - gTRKExceptionStatus = savedException; - - return err; -} - -DSError TRKTargetVersions(DSVersions* versions) -{ - versions->kernelMajor = 0; - versions->kernelMinor = 10; - versions->protocolMajor = 1; - versions->protocolMinor = 10; - return DS_NoError; -} - -DSError TRKTargetSupportMask(u8 mask[32]) -{ - mask[0] = 0x7a; - mask[1] = 0; - mask[2] = 0x4f; - mask[3] = 7; - mask[4] = 0; - mask[5] = 0; - mask[6] = 0; - mask[7] = 0; - mask[8] = 0; - mask[9] = 0; - mask[10] = 0; - mask[0xb] = 0; - mask[0xc] = 0; - mask[0xd] = 0; - mask[0xe] = 0; - mask[0xf] = 0; - mask[0x10] = 1; - mask[0x11] = 0; - mask[0x12] = 3; - mask[0x13] = 0; - mask[0x14] = 0; - mask[0x15] = 0; - mask[0x16] = 0; - mask[0x17] = 0; - mask[0x18] = 0; - mask[0x19] = 0; - mask[0x1a] = 3; - mask[0x1b] = 0; - mask[0x1c] = 0; - mask[0x1d] = 0; - mask[0x1e] = 0; - mask[0x1f] = 0x80; - return DS_NoError; -} - -extern BOOL gTRKBigEndian; - -DSError TRKTargetCPUType(DSCPUType* cpuType) -{ - cpuType->cpuMajor = 0; - cpuType->cpuMinor = TRKTargetCPUMinorType(); - cpuType->bigEndian = gTRKBigEndian; - cpuType->defaultTypeSize = 4; - cpuType->fpTypeSize = 8; - cpuType->extended1TypeSize = 4; - cpuType->extended2TypeSize = 8; - return DS_NoError; -} - -asm void TRKInterruptHandler() -{ -#ifdef __MWERKS__ // clang-format off - nofralloc - mtsrr0 r2 - mtsrr1 r4 - mfsprg r4, 3 - mfcr r2 - mtsprg 3, r2 - lis r2, gTRKState@h - ori r2, r2, gTRKState@l - lwz r2, TRKState_PPC.MSR(r2) - ori r2, r2, 0x8002 - xori r2, r2, 0x8002 - sync - mtmsr r2 - sync - lis r2, TRK_saved_exceptionID@h - ori r2, r2, TRK_saved_exceptionID@l - sth r3, 0(r2) - cmpwi r3, 0x500 - bne L_802CF694 - lis r2, gTRKCPUState@h - ori r2, r2, gTRKCPUState@l - mflr r3 - stw r3, ProcessorState_PPC.transport_handler_saved_ra(r2) - bl TRKUARTInterruptHandler - lis r2, gTRKCPUState@h - ori r2, r2, gTRKCPUState@l - lwz r3, ProcessorState_PPC.transport_handler_saved_ra(r2) - mtlr r3 - lis r2, gTRKState@h - ori r2, r2, gTRKState@l - lwz r2, TRKState_PPC.inputPendingPtr(r2) - lbz r2, TRKState_PPC.GPR[0](r2) - cmpwi r2, 0 - beq L_802CF678 - lis r2, gTRKExceptionStatus@h - ori r2, r2, gTRKExceptionStatus@l - lbz r2, TRKExceptionStatus.inTRK(r2) - cmpwi r2, 1 - beq L_802CF678 - lis r2, gTRKState@h - ori r2, r2, gTRKState@l - li r3, 1 - stb r3, TRKState_PPC.inputActivated(r2) - b L_802CF694 -L_802CF678: - lis r2, gTRKSaveState@h - ori r2, r2, gTRKSaveState@l - lwz r3, Default_PPC.CR(r2) - mtcrf 0xff, r3 - lwz r3, Default_PPC.GPR[3](r2) - lwz r2, Default_PPC.GPR[2](r2) - rfi -L_802CF694: - lis r2, TRK_saved_exceptionID@h - ori r2, r2, TRK_saved_exceptionID@l - lhz r3, 0(r2) - lis r2, gTRKExceptionStatus@h - ori r2, r2, gTRKExceptionStatus@l - lbz r2, TRKExceptionStatus.inTRK(r2) - cmpwi r2, 0 - bne TRKExceptionHandler - lis r2, gTRKCPUState@h - ori r2, r2, gTRKCPUState@l - stw r0, ProcessorState_PPC.Default.GPR[0](r2) - stw r1, ProcessorState_PPC.Default.GPR[1](r2) - mfsprg r0, 1 - stw r0, ProcessorState_PPC.Default.GPR[2](r2) - sth r3, ProcessorState_PPC.Extended1.exceptionID(r2) - sth r3, (ProcessorState_PPC.Extended1.exceptionID + 2)(r2) - mfsprg r0, 2 - stw r0, ProcessorState_PPC.Default.GPR[3](r2) - stmw r4, ProcessorState_PPC.Default.GPR[4](r2) - mfsrr0 r27 - mflr r28 - mfsprg r29, 3 - mfctr r30 - mfxer r31 - stmw r27, ProcessorState_PPC.Default.PC(r2) - bl TRKSaveExtended1Block - lis r2, gTRKExceptionStatus@h - ori r2, r2, gTRKExceptionStatus@l - li r3, 1 - stb r3, TRKExceptionStatus.inTRK(r2) - lis r2, gTRKState@h - ori r2, r2, gTRKState@l - lwz r0, TRKState_PPC.MSR(r2) - sync - mtmsr r0 - sync - lwz r0, TRKState_PPC.LR(r2) - mtlr r0 - lwz r0, TRKState_PPC.CTR(r2) - mtctr r0 - lwz r0, TRKState_PPC.XER(r2) - mtxer r0 - lwz r0, TRKState_PPC.DSISR(r2) - mtdsisr r0 - lwz r0, TRKState_PPC.DAR(r2) - mtdar r0 - lmw r3, TRKState_PPC.GPR[3](r2) - lwz r0, TRKState_PPC.GPR[0](r2) - lwz r1, TRKState_PPC.GPR[1](r2) - lwz r2, TRKState_PPC.GPR[2](r2) - b TRKPostInterruptEvent -#endif // clang-format on -} - -static asm void TRKExceptionHandler(u16) -{ -#ifdef __MWERKS__ // clang-format off - nofralloc - lis r2, gTRKExceptionStatus@h - ori r2, r2, gTRKExceptionStatus@l - sth r3, TRKExceptionStatus.exceptionInfo.exceptionID(r2) - mfsrr0 r3 - stw r3, TRKExceptionStatus.exceptionInfo.PC(r2) - lhz r3, TRKExceptionStatus.exceptionInfo.exceptionID(r2) - cmpwi r3, 0x200 - beq LAB_00010ba4 - cmpwi r3, 0x300 - beq LAB_00010ba4 - cmpwi r3, 0x400 - beq LAB_00010ba4 - cmpwi r3, 0x600 - beq LAB_00010ba4 - cmpwi r3, 0x700 - beq LAB_00010ba4 - cmpwi r3, 0x800 - beq LAB_00010ba4 - cmpwi r3, 0x1000 - beq LAB_00010ba4 - cmpwi r3, 0x1100 - beq LAB_00010ba4 - cmpwi r3, 0x1200 - beq LAB_00010ba4 - cmpwi r3, 0x1300 - beq LAB_00010ba4 - b LAB_00010bb0 -LAB_00010ba4: - mfsrr0 r3 - addi r3, r3, 0x4 - mtsrr0 r3 -LAB_00010bb0: - lis r2, gTRKExceptionStatus@h - ori r2, r2, gTRKExceptionStatus@l - li r3, 0x1 - stb r3, TRKExceptionStatus.exceptionDetected(r2) - mfsprg r3, 3 - mtcrf 0xff, r3 - mfsprg r2, 1 - mfsprg r3, 2 - rfi -#endif // clang-format on -} - -void TRKPostInterruptEvent(void) -{ - NubEventType eventType; - u32 inst; - TRKEvent event; - - if (gTRKState.inputActivated) { - gTRKState.inputActivated = FALSE; - } else { - switch (gTRKCPUState.Extended1.exceptionID & 0xFFFF) { - case 0xd00: - case 0x700: - TRKTargetReadInstruction(&inst, gTRKCPUState.Default.PC); - - if (inst == 0xfe00000) { - eventType = NUBEVENT_Support; - } else { - eventType = NUBEVENT_Breakpoint; - } - break; - default: - eventType = NUBEVENT_Exception; - break; - } - - TRKConstructEvent(&event, eventType); - TRKPostEvent(&event); - } -} - -asm void TRKSwapAndGo() -{ -#ifdef __MWERKS__ // clang-format off - nofralloc - lis r3, gTRKState@h - ori r3, r3, gTRKState@l - stmw r0, TRKState_PPC.GPR[0](r3) - mfmsr r0 - stw r0, TRKState_PPC.MSR(r3) - mflr r0 - stw r0, TRKState_PPC.LR(r3) - mfctr r0 - stw r0, TRKState_PPC.CTR(r3) - mfxer r0 - stw r0, TRKState_PPC.XER(r3) - mfdsisr r0 - stw r0, TRKState_PPC.DSISR(r3) - mfdar r0 - stw r0, TRKState_PPC.DAR(r3) - li r1, -0x7ffe - nor r1, r1, r1 - mfmsr r3 - and r3, r3, r1 - mtmsr r3 - lis r2, gTRKState@h - ori r2, r2, gTRKState@l - lwz r2, TRKState_PPC.inputPendingPtr(r2) - lbz r2, TRKState_PPC.GPR[0](r2) - cmpwi r2, 0 - beq L_802CF930 - lis r2, gTRKState@h - ori r2, r2, gTRKState@l - li r3, 1 - stb r3, TRKState_PPC.inputActivated(r2) - b TRKInterruptHandlerEnableInterrupts -L_802CF930: - lis r2, gTRKExceptionStatus@h - ori r2, r2, gTRKExceptionStatus@l - li r3, 0 - stb r3, 0xc(r2) - bl TRKRestoreExtended1Block - lis r2, gTRKCPUState@h - ori r2, r2, gTRKCPUState@l - lmw r27, ProcessorState_PPC.Default.PC(r2) - mtsrr0 r27 - mtlr r28 - mtcrf 0xff, r29 - mtctr r30 - mtxer r31 - lmw r3, ProcessorState_PPC.Default.GPR[3](r2) - lwz r0, ProcessorState_PPC.Default.GPR[0](r2) - lwz r1, ProcessorState_PPC.Default.GPR[1](r2) - lwz r2, ProcessorState_PPC.Default.GPR[2](r2) - rfi -#endif // clang-format on -} - -asm void TRKInterruptHandlerEnableInterrupts(void) -{ -#ifdef __MWERKS__ // clang-format off - nofralloc; - lis r2, gTRKState@h - ori r2, r2, gTRKState@l - lwz r0, TRKState_PPC.MSR(r2) - sync - mtmsr r0 - sync - lwz r0, TRKState_PPC.LR(r2) - mtlr r0 - lwz r0, TRKState_PPC.CTR(r2) - mtctr r0 - lwz r0, TRKState_PPC.XER(r2) - mtxer r0 - lwz r0, TRKState_PPC.DSISR(r2) - mtdsisr r0 - lwz r0, TRKState_PPC.DAR(r2) - mtdar r0 - lmw r3, TRKState_PPC.GPR[3](r2) - lwz r0, TRKState_PPC.GPR[0](r2) - lwz r1, TRKState_PPC.GPR[1](r2) - lwz r2, TRKState_PPC.GPR[2](r2) - b TRKPostInterruptEvent -#endif // clang-format on -} - -DSError TRKTargetInterrupt(TRKEvent* event) -{ - DSError error = DS_NoError; - switch (event->eventType) { - case NUBEVENT_Breakpoint: - case NUBEVENT_Exception: - if (TRKTargetCheckStep() == FALSE) { - TRKTargetSetStopped(TRUE); - error = TRKDoNotifyStopped(DSMSG_NotifyStopped); - } - break; - default: - break; - } - - return error; -} - -DSError TRKTargetAddStopInfo(TRKBuffer* buffer) -{ - DSError error; - u32 instruction; - s32 i; - - error = TRKAppendBuffer1_ui32(buffer, gTRKCPUState.Default.PC); - if (error == DS_NoError) { - error = TRKTargetReadInstruction(&instruction, gTRKCPUState.Default.PC); - } - if (error == DS_NoError) - error = TRKAppendBuffer1_ui32(buffer, instruction); - if (error == DS_NoError) - error = TRKAppendBuffer1_ui16(buffer, gTRKCPUState.Extended1.exceptionID); - - if (error == DS_NoError) { - for (i = 0; i < 32; i++) { - error = TRKAppendBuffer1_ui32(buffer, (u16) gTRKCPUState.Default.GPR[i]); - } - for (i = 0; i < 32; i++) { - error = TRKAppendBuffer1_ui64(buffer, (u16) gTRKCPUState.Float.FPR[i]); - } - } - - return error; -} - -DSError TRKTargetAddExceptionInfo(TRKBuffer* buffer) -{ - DSError error; - u32 local_10; - - error = TRKAppendBuffer1_ui32(buffer, gTRKExceptionStatus.exceptionInfo.PC); - if (error == 0) { - error = TRKTargetReadInstruction(&local_10, - gTRKExceptionStatus.exceptionInfo.PC); - } - if (error == 0) { - error = TRKAppendBuffer1_ui32(buffer, local_10); - } - if (error == 0) { - error = TRKAppendBuffer1_ui16( - buffer, gTRKExceptionStatus.exceptionInfo.exceptionID); - } - - return error; -} - -static DSError TRKTargetEnableTrace(BOOL val) -{ - if (val) { - gTRKCPUState.Extended1.MSR = (gTRKCPUState.Extended1.MSR | 0x400); - } else { - gTRKCPUState.Extended1.MSR = (gTRKCPUState.Extended1.MSR & ~0x400); - } - return DS_NoError; -} - -static BOOL TRKTargetStepDone() -{ - BOOL result = TRUE; - - if (gTRKStepStatus.active - && ((u16)gTRKCPUState.Extended1.exceptionID) == PPC_Trace) { - switch (gTRKStepStatus.type) { - case DSSTEP_IntoCount: - if (gTRKStepStatus.count > 0) { - result = FALSE; - } - break; - case DSSTEP_IntoRange: - if (gTRKCPUState.Default.PC >= gTRKStepStatus.rangeStart - && gTRKCPUState.Default.PC <= gTRKStepStatus.rangeEnd) { - result = FALSE; - } - break; - default: - break; - } - } - - return result; -} - -static DSError TRKTargetDoStep() -{ - gTRKStepStatus.active = TRUE; - TRKTargetEnableTrace(TRUE); - - if (gTRKStepStatus.type == DSSTEP_IntoCount - || gTRKStepStatus.type == DSSTEP_OverCount) { - gTRKStepStatus.count--; - } - - TRKTargetSetStopped(FALSE); - return DS_NoError; -} - -static BOOL TRKTargetCheckStep() -{ - if (gTRKStepStatus.active) { - TRKTargetEnableTrace(FALSE); - - if (TRKTargetStepDone()) { - gTRKStepStatus.active = FALSE; - } else { - TRKTargetDoStep(); - } - } - - return gTRKStepStatus.active; -} - -DSError TRKTargetSingleStep(u32 count, BOOL stepOver) -{ - DSError error = DS_NoError; - - if (stepOver) { - error = DS_UnsupportedError; - } else { - gTRKStepStatus.type = DSSTEP_IntoCount; - gTRKStepStatus.count = count; - error = TRKTargetDoStep(); - } - - return error; -} - -DSError TRKTargetStepOutOfRange(u32 rangeStart, u32 rangeEnd, BOOL stepOver) -{ - DSError error = DS_NoError; - - if (stepOver) { - // Stepping over isn't supported for PowerPC - error = DS_UnsupportedError; - } else { - gTRKStepStatus.type = DSSTEP_IntoRange; - // gTRKStepStatus.active = TRUE; - gTRKStepStatus.rangeStart = rangeStart; - gTRKStepStatus.rangeEnd = rangeEnd; - error = TRKTargetDoStep(); - } - - return error; -} - -u32 TRKTargetGetPC() { return gTRKCPUState.Default.PC; } - -DSError TRKTargetSupportRequest(void) { - DSError error; - u32 spC; - size_t* length; - MessageCommandID commandId; - TRKEvent event; - u8 ioResult; - - commandId = (u8) gTRKCPUState.Default.GPR[3]; - if (commandId != DSMSG_ReadFile && commandId != DSMSG_WriteFile && commandId != DSMSG_OpenFile && commandId != DSMSG_CloseFile && commandId != DSMSG_PositionFile) { - TRKConstructEvent(&event, NUBEVENT_Exception); - TRKPostEvent(&event); - return DS_NoError; - } - if (commandId == DSMSG_OpenFile) { - error = HandleOpenFileSupportRequest((char*) gTRKCPUState.Default.GPR[4], gTRKCPUState.Default.GPR[5], (u32*) gTRKCPUState.Default.GPR[6], &ioResult); - if (ioResult == DS_IONoError && error != DS_NoError) { - ioResult = DS_IOError; - } - gTRKCPUState.Default.GPR[3] = ioResult; - } else if (commandId == DSMSG_CloseFile) { - error = HandleCloseFileSupportRequest(gTRKCPUState.Default.GPR[4], &ioResult); - if (ioResult == DS_IONoError && error != DS_NoError) { - ioResult = DS_IOError; - } - gTRKCPUState.Default.GPR[3] = ioResult; - } else if (commandId == DSMSG_PositionFile) { - spC = *((u32*) gTRKCPUState.Default.GPR[5]); - error = HandlePositionFileSupportRequest(gTRKCPUState.Default.GPR[4], &spC, gTRKCPUState.Default.GPR[6], &ioResult); - if (ioResult == DS_IONoError && error != DS_NoError) { - ioResult = DS_IOError; - } - gTRKCPUState.Default.GPR[3] = ioResult; - *((u32*) gTRKCPUState.Default.GPR[5]) = spC; - } else { - length = (size_t*) gTRKCPUState.Default.GPR[5]; - error = TRKSuppAccessFile((u8) gTRKCPUState.Default.GPR[4], (u8*) gTRKCPUState.Default.GPR[6], length, (DSIOResult*) &ioResult, TRUE, commandId == DSMSG_ReadFile); - if (ioResult == DS_IONoError && error != DS_NoError) { - ioResult = DS_IOError; - } - gTRKCPUState.Default.GPR[3] = ioResult; - if (commandId == DSMSG_ReadFile) { - TRK_flush_cache((void*) gTRKCPUState.Default.GPR[6], *length); - } - } - gTRKCPUState.Default.PC += 4; - return error; -} - -DSError TRKTargetFlushCache(u8, void* start, void* end) -{ - if (start < end) { - TRK_flush_cache(start, (u8*)end - (u8*)start); - return DS_NoError; - } - - return DS_InvalidMemory; -} - -BOOL TRKTargetStopped() { return gTRKState.isStopped; } - -void TRKTargetSetStopped(unsigned int stopped) -{ - gTRKState.isStopped = stopped; -} - -u32 TRKTargetStop() -{ - TRKTargetSetStopped(1); - return 0; -} - -DSError TRKPPCAccessSPR(void* value, u32 spr_register_num, BOOL read) -{ - /* Initialize instruction array with nop */ - - u32 access_func[10] = { - INSTR_NOP, INSTR_NOP, INSTR_NOP, INSTR_NOP, INSTR_NOP, - INSTR_NOP, INSTR_NOP, INSTR_NOP, INSTR_NOP, INSTR_NOP - }; - /* - ** Construct a small assembly function to perform the - ** requested access and call it. The read/write function - ** is in the form: - ** - ** read: - ** mfspr r4, spr_register_num - ** stw r4, 0(r3) - ** blr - ** - ** write: - ** lwz r4, 0(r3) - ** mtspr spr_register_num, r4 - ** blr - ** - */ - - if (read) { - access_func[0] = INSTR_MFSPR(4, spr_register_num); - access_func[1] = (u32)INSTR_STW(4, 0, 3); - } else { - access_func[0] = (u32)INSTR_LWZ(4, 0, 3); - access_func[1] = INSTR_MTSPR(spr_register_num, 4); - } - - return TRKPPCAccessSpecialReg(value, access_func, read); -} - -DSError TRKPPCAccessPairedSingleRegister(void* srcDestPtr, u32 psr, BOOL read) -{ - // all nop by default - u32 instructionData[] = { - INSTR_NOP, INSTR_NOP, INSTR_NOP, INSTR_NOP, INSTR_NOP, - INSTR_NOP, INSTR_NOP, INSTR_NOP, INSTR_NOP, INSTR_NOP - }; - - if (read) { - instructionData[0] - = INSTR_PSQ_ST(psr, 0, 3, 0, 0); // psq_st psr, 0(r3), 0, 0 - } else { - instructionData[0] - = INSTR_PSQ_L(psr, 0, 3, 0, 0); // psq_l psr, 0(r3), 0, 0 - } - - return TRKPPCAccessSpecialReg(srcDestPtr, instructionData, read); -} - -#pragma dont_inline on -DSError TRKPPCAccessFPRegister(void* srcDestPtr, u32 fpr, BOOL read) -{ - DSError error = DS_NoError; - // all nop by default - u32 instructionData1[] = { - INSTR_NOP, INSTR_NOP, INSTR_NOP, INSTR_NOP, INSTR_NOP, - INSTR_NOP, INSTR_NOP, INSTR_NOP, INSTR_NOP, INSTR_NOP - }; - - if (fpr < 0x20) { - if (read) { - instructionData1[0] = INSTR_STFD(fpr, 0, 3); // stfd fpr, 0(r3) - } else { - instructionData1[0] = INSTR_LFD(fpr, 0, 3); // lfd fpr, 0(r3) - } - - error = TRKPPCAccessSpecialReg(srcDestPtr, instructionData1, read); - } else if (fpr == 0x20) { - *(u64*)srcDestPtr &= 0xFFFFFFFF; - } else if (fpr == 0x21) { - if (!read) { - *(u32*)srcDestPtr = *((u32*)(srcDestPtr) + 1); - } - error = TRKPPCAccessSPR(srcDestPtr, 1022, read); - if (read) { - DSFetch_u64(srcDestPtr) = DSFetch_u32(srcDestPtr) & 0xffffffffLL; - } - } - - return error; -} -#pragma dont_inline reset - -#define DEBUG_VECTORREG_ACCESS 0 - -DSError TRKPPCAccessSpecialReg(void* value, u32* access_func, BOOL read) -{ - typedef void (*asm_access_type)(void*, void*); - - asm_access_type asm_access; - - /* - ** Construct a small assembly function to perform the - ** requested access and call it. The read/write function - ** is in the form: - ** - ** - ** blr - */ - - /* - ** Put blr instruction at the end of access function (it should be - ** a 5-instruction array w/the last one empty). - */ - - access_func[9] = INSTR_BLR; - - /* - ** Now that the instruction array is built, get a function pointer to it. - */ - - asm_access = (asm_access_type)access_func; - -#if DEBUG_VECTORREG_ACCESS - - __puts("\r\nasm_access: "); - __puthex8((u32)asm_access); - __puts(" access_func: "); - __puthex8((u32)access_func); - - for (i = 0; i < 10; i++) { - __puts("\r\ninst["); - __puthex2(i); - __puts("]: "); - __puthex8(access_func[i]); - __puts(" ; "); - __puthex8(*((u32*)asm_access + i)); - } - - __puts("\r\n"); - -#endif - - // Flush cache - TRK_flush_cache((void*)(u32)access_func, (sizeof(access_func) * 10)); - (*asm_access)((u32*)value, (void*)&TRKvalue128_temp); - - return DS_NoError; -} - -void TRKTargetSetInputPendingPtr(void* ptr) { gTRKState.inputPendingPtr = ptr; } diff --git a/src/TRK_MINNOW_DOLPHIN/targsupp.s b/src/TRK_MINNOW_DOLPHIN/targsupp.s deleted file mode 100644 index 0244131b..00000000 --- a/src/TRK_MINNOW_DOLPHIN/targsupp.s +++ /dev/null @@ -1,25 +0,0 @@ -.include "macros.inc" -.file "targsupp.s" - -.text -.balign 16 - -.fn TRKAccessFile, global - twui r0, 0x0 - blr -.endfn TRKAccessFile - -.fn TRKOpenFile, global - twui r0, 0x0 - blr -.endfn TRKOpenFile - -.fn TRKCloseFile, global - twui r0, 0x0 - blr -.endfn TRKCloseFile - -.fn TRKPositionFile, global - twui r0, 0x0 - blr -.endfn TRKPositionFile diff --git a/src/TRK_MINNOW_DOLPHIN/usr_put.c b/src/TRK_MINNOW_DOLPHIN/usr_put.c deleted file mode 100644 index 7ba2dc21..00000000 --- a/src/TRK_MINNOW_DOLPHIN/usr_put.c +++ /dev/null @@ -1,26 +0,0 @@ -#include "TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.h" -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.h" -#include "PowerPC_EABI_Support/MetroTRK/trk.h" - -BOOL usr_puts_serial(const char* msg) -{ - BOOL connect_ = FALSE; - char c; - char buf[2]; - - while (!connect_ && (c = *msg++) != '\0') { - BOOL connect = GetTRKConnected(); - - buf[0] = c; - buf[1] = '\0'; - - SetTRKConnected(FALSE); - OSReport(buf); - - SetTRKConnected(connect); - connect_ = FALSE; - } - return connect_; -} - -void usr_put_initialize(void) { } diff --git a/src/amcstubs/AmcExi2Stubs.c b/src/amcstubs/AmcExi2Stubs.c deleted file mode 100644 index f3aa9d3f..00000000 --- a/src/amcstubs/AmcExi2Stubs.c +++ /dev/null @@ -1,40 +0,0 @@ -#include - -// EXI error codes -typedef enum { AMC_EXI_NO_ERROR = 0, AMC_EXI_UNSELECTED } AmcExiError; - -int AMC_IsStub(); -void EXI2_Unreserve(); -void EXI2_Reserve(); -AmcExiError EXI2_WriteN(); -AmcExiError EXI2_ReadN(); -int EXI2_Poll(); -void EXI2_EnableInterrupts(); -void EXI2_Init(); - -int AMC_IsStub() -{ - return 1; -} - -void EXI2_Unreserve() { } - -void EXI2_Reserve() { } - -AmcExiError EXI2_WriteN() -{ - return AMC_EXI_NO_ERROR; -} - -AmcExiError EXI2_ReadN() -{ - return AMC_EXI_NO_ERROR; -} - -int EXI2_Poll() -{ - return 0; -} - -void EXI2_EnableInterrupts() { } -void EXI2_Init() { } diff --git a/src/dolphin/PPCArch.c b/src/dolphin/PPCArch.c deleted file mode 100644 index 8004ab3d..00000000 --- a/src/dolphin/PPCArch.c +++ /dev/null @@ -1,565 +0,0 @@ -#include "types.h" -#include "asm_types.h" - -/* clang-format off */ - -union FpscrUnion -{ - f64 f; - struct - { - u32 fpscr_pad; - u32 fpscr; - } u; -}; - -#define HID0_SPD 0x00000200 // Speculative cache access enable (0 enable) - -void PPCMthid0 ( u32 newHID0 ); - -/* - * --INFO-- - * Address: 8036F7D4 - * Size: 000008 - */ -asm u32 PPCMfmsr (void) -{ - nofralloc - mfmsr r3 - blr -} - -/* - * --INFO-- - * Address: 8036F7DC - * Size: 000008 - */ -asm void PPCMtmsr (register u32 newMSR) -{ - nofralloc - mtmsr newMSR - blr -} - -/* - * --INFO-- - * Address: ........ - * Size: 00000C - */ -void PPCOrMsr(void) -{ - // UNUSED FUNCTION -} - -/* - * --INFO-- - * Address: ........ - * Size: 00000C - */ -void PPCAndMsr(void) -{ - // UNUSED FUNCTION -} - -/* - * --INFO-- - * Address: ........ - * Size: 00000C - */ -void PPCAndCMsr(void) -{ - // UNUSED FUNCTION -} - -/* - * --INFO-- - * Address: 8036F7E4 - * Size: 000008 - */ -asm u32 PPCMfhid0 (void) -{ - nofralloc - mfspr r3, HID0 - blr -} - -/* - * --INFO-- - * Address: 8036F7EC - * Size: 000008 - */ -asm void PPCMthid0 (register u32 newHID0) -{ - nofralloc - mtspr HID0, newHID0 - blr -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - */ -void PPCMfhid1(void) -{ - // UNUSED FUNCTION -} - -/* - * --INFO-- - * Address: 8036F7F4 - * Size: 000008 - */ -asm u32 PPCMfl2cr (void) -{ - nofralloc - mfspr r3, L2CR - blr -} - -/* - * --INFO-- - * Address: 8036F7FC - * Size: 000008 - */ -asm void PPCMtl2cr (register u32 newL2cr) -{ - nofralloc - mtspr L2CR, newL2cr - blr -} - -/* - * --INFO-- - * Address: 8036F804 - * Size: 000008 - */ -__declspec ( weak ) asm void PPCMtdec ( register u32 newDec ) -{ - nofralloc - mtdec newDec - blr -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - */ -void PPCMfdec(void) -{ - // UNUSED FUNCTION -} - -/* - * --INFO-- - * Address: 8036F80C - * Size: 000008 - */ -asm void PPCSync (void) -{ - nofralloc - sc - blr -} - -/* - * --INFO-- - * Address: ........ - * Size: 000034 - */ -asm void PPCEieio(void) { - nofralloc - mfmsr r5 - rlwinm r6, r5, 0, 0x11, 0xf - mtmsr r6 - mfspr r3, hid0 - ori r4, r3, 8 - mtspr hid0, r4 - isync - eieio - isync - - mtspr hid0, r3 - mtmsr r5 - isync - - blr -} - -/* - * --INFO-- - * Address: 8036F814 - * Size: 000014 - */ -__declspec ( weak ) asm void PPCHalt (void) //spins infinitely -{ - nofralloc - - sync - -_spin: - nop - li r3, 0 - nop - b _spin - - // NEVER REACHED -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - */ -asm void PPCMfmmcr0(void) -{ - nofralloc - mfspr r3, MMCR0 - blr -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - * UNUSED - */ -asm void PPCMtmmcr0 (register u32 newMmcr0) -{ - nofralloc - mtspr MMCR0, newMmcr0 - blr -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - */ -asm void PPCMfmmcr1(void) -{ - nofralloc - mfspr r3, MMCR1 - blr} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - * UNUSED - */ -asm void PPCMtmmcr1 (register u32 newMmcr1) -{ - nofralloc - mtspr MMCR1, newMmcr1 - blr -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - */ -asm void PPCMfpmc1(void) -{ - nofralloc - mfspr r3, PMC1 - blr -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - * UNUSED - */ -asm void PPCMtpmc1 (register u32 newPmc1) -{ - nofralloc - mtspr PMC1, newPmc1 - blr -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - */ -asm void PPCMfpmc2(void) -{ - nofralloc - mfspr r3, PMC2 - blr -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - * UNUSED - */ -asm void PPCMtpmc2 (register u32 newPmc2) -{ - nofralloc - mtspr PMC2, newPmc2 - blr -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - */ -asm void PPCMfpmc3(void) -{ - nofralloc - mfspr r3, PMC2 - blr} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - * UNUSED - */ -asm void PPCMtpmc3 (register u32 newPmc3) -{ - nofralloc - mtspr PMC3, newPmc3 - blr -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - */ -asm void PPCMfpmc4(void) -{ - nofralloc - mfspr r3, PMC4 - blr -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - * UNUSED - */ -asm void PPCMtpmc4 (register u32 newPmc4) -{ - nofralloc - mtspr PMC4, newPmc4 - blr -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - */ -asm void PPCMfsia(void) -{ - nofralloc - mfspr r3, SIA - blr} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - */ -asm void PPCMtsia(register u32 newSia) -{ - nofralloc - mtspr SIA, newSia - blr -} - -/* - * --INFO-- - * Address: 8036F828 - * Size: 000020 - */ -u32 PPCMffpscr(void) -{ - union FpscrUnion m; - - - asm - { - mffs fp31 - stfd fp31, m.f; - } - - return m.u.fpscr; -} - -/* - * --INFO-- - * Address: 8036F848 - * Size: 000028 - */ -void PPCMtfpscr(register u32 newFPSCR) -{ - union FpscrUnion m; - - asm - { - li r4, 0 - stw r4, m.u.fpscr_pad; - stw newFPSCR, m.u.fpscr - lfd fp31, m.f - mtfsf 0xff, fp31 - } -} - -/* - * --INFO-- - * Address: 8036F870 - * Size: 000008 - */ -asm u32 PPCMfhid2 ( void ) -{ - nofralloc - mfspr r3, HID2 - blr -} - -/* - * --INFO-- - * Address: 8036F878 - * Size: 000008 - */ -asm void PPCMthid2 ( register u32 newhid2 ) -{ - nofralloc - mtspr HID2, newhid2 - blr -} - -/* - * --INFO-- - * Address: 8036F880 - * Size: 00000C - */ -asm u32 PPCMfwpar(void) -{ - nofralloc - sync - mfspr r3, WPAR - blr -} - -/* - * --INFO-- - * Address: 8036F88C - * Size: 000008 - */ -asm void PPCMtwpar ( register u32 newwpar ) -{ - nofralloc - mtspr WPAR, newwpar - blr -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - */ -asm void PPCMfdmaU(void) -{ - nofralloc - mfspr r3, DMA_U - blr -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - */ -asm void PPCMfdmaL(void) -{ - nofralloc - mfspr r3, DMA_L - blr -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - */ -void PPCMtdmaU(void) -{ - // UNUSED FUNCTION -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - */ -void PPCMtdmaL(void) -{ - // UNUSED FUNCTION -} - -/* - * --INFO-- - * Address: ........ - * Size: 000008 - */ -void PPCMfpvr(void) -{ - // UNUSED FUNCTION -} - -/* - * --INFO-- - * Address: ........ - * Size: 000028 - */ -void PPCEnableSpeculation(void) -{ - // UNUSED FUNCTION -} - -/* - * --INFO-- - * Address: 8036F894 - * Size: 000028 - */ -void PPCDisableSpeculation (void) -{ - PPCMthid0(PPCMfhid0() | HID0_SPD); -} - -/* - * --INFO-- - * Address: 8036F8BC - * Size: 000008 - */ -asm void PPCSetFpIEEEMode(void) -{ - nofralloc - mtfsb0 4*7+1 - blr -} -/* - * --INFO-- - * Address: 8036F8C4 - * Size: 000008 - */ -asm void PPCSetFpNonIEEEMode (void) -{ - nofralloc - mtfsb1 4*7+1 - blr -} - -/* clang-format on */ diff --git a/src/dolphin/ai.c b/src/dolphin/ai.c deleted file mode 100644 index e9fa77bd..00000000 --- a/src/dolphin/ai.c +++ /dev/null @@ -1,362 +0,0 @@ -#include "dolphin/ai.h" -#include "dolphin/hw_regs.h" -#include "dolphin/os.h" - -const char *__AIVersion = "<< Dolphin SDK - AI\trelease build: Sep 5 2002 05:34:25 (0x2301) >>"; - -static AISCallback __AIS_Callback = NULL; -static AIDCallback __AID_Callback = NULL; -static u8 *__CallbackStack; -static u8 *__OldStack; -static volatile s32 __AI_init_flag = FALSE; -static volatile s32 __AID_Active = FALSE; - -static OSTime bound_32KHz; -static OSTime bound_48KHz; -static OSTime min_wait; -static OSTime max_wait; -static OSTime buffer; - -void __AISHandler(s16 interrupt, OSContext *context); -void __AIDHandler(s16 interrupt, OSContext *context); -void __AICallbackStackSwitch(register AIDCallback cb); -void __AI_SRC_INIT(void); - -AIDCallback AIRegisterDMACallback(AIDCallback callback) -{ - s32 oldInts; - AIDCallback ret; - - ret = __AID_Callback; - oldInts = OSDisableInterrupts(); - __AID_Callback = callback; - OSRestoreInterrupts(oldInts); - return ret; -} - -void AIInitDMA(u32 addr, u32 length) -{ - s32 oldInts; - oldInts = OSDisableInterrupts(); - __DSPRegs[24] = (u16)((__DSPRegs[24] & ~0x3FF) | (addr >> 16)); - __DSPRegs[25] = (u16)((__DSPRegs[25] & ~0xFFE0) | (0xffff & addr)); - __DSPRegs[27] = (u16)((__DSPRegs[27] & ~0x7FFF) | (u16)((length >> 5) & 0xFFFF)); - OSRestoreInterrupts(oldInts); -} - -void AIStartDMA() -{ - __DSPRegs[27] |= 0x8000; -} - -void AIStopDMA(void) -{ - __DSPRegs[27] &= ~0x8000; -} - -u32 AIGetDMAStartAddr(void) -{ - return (u32)((__DSPRegs[24] & 0x03ff) << 16) | (__DSPRegs[25] & 0xffe0); -} - -AISCallback AIRegisterStreamCallback(AISCallback callback) -{ - AISCallback ret; - s32 oldInts; - - ret = __AIS_Callback; - oldInts = OSDisableInterrupts(); - __AIS_Callback = callback; - OSRestoreInterrupts(oldInts); - return ret; -} - -void AIResetStreamSampleCount(void) -{ - __AIRegs[0] = (__AIRegs[0] & ~0x20) | 0x20; -} - -void AISetStreamTrigger(u32 trigger) -{ - __AIRegs[3] = trigger; -} - -void AISetStreamPlayState(u32 state) -{ - s32 oldInts; - u8 volRight; - u8 volLeft; - - if (state == AIGetStreamPlayState()) { - return; - } - if ((AIGetStreamSampleRate() == 0U) && (state == 1)) { - volRight = AIGetStreamVolRight(); - volLeft = AIGetStreamVolLeft(); - AISetStreamVolRight(0); - AISetStreamVolLeft(0); - oldInts = OSDisableInterrupts(); - __AI_SRC_INIT(); - __AIRegs[0] = (__AIRegs[0] & ~0x20) | 0x20; - __AIRegs[0] = (__AIRegs[0] & ~1) | 1; - OSRestoreInterrupts(oldInts); - AISetStreamVolLeft(volRight); - AISetStreamVolRight(volLeft); - } - else { - __AIRegs[0] = (__AIRegs[0] & ~1) | state; - } -} - -u32 AIGetStreamPlayState() -{ - return __AIRegs[0] & 1; -} - -void AISetDSPSampleRate(u32 rate) -{ - u32 state; - s32 oldInts; - u8 left; - u8 right; - u32 sampleRate; - - if (rate == AIGetDSPSampleRate()) { - return; - } - - __AIRegs[0] &= ~0x40; - if (rate == 0) { - left = AIGetStreamVolLeft(); - right = AIGetStreamVolRight(); - state = AIGetStreamPlayState(); - sampleRate = AIGetStreamSampleRate(); - AISetStreamVolLeft(0); - AISetStreamVolRight(0); - oldInts = OSDisableInterrupts(); - __AI_SRC_INIT(); - __AIRegs[0] = (__AIRegs[0] & ~0x20) | 0x20; - __AIRegs[0] = (__AIRegs[0] & ~2) | (sampleRate * 2); - __AIRegs[0] = (__AIRegs[0] & ~1) | state; - __AIRegs[0] |= 0x40; - OSRestoreInterrupts(oldInts); - AISetStreamVolLeft(left); - AISetStreamVolRight(right); - } -} - -u32 AIGetDSPSampleRate() -{ - return ((__AIRegs[0] >> 6) & 1) ^ 1; -} - -void __AI_set_stream_sample_rate(u32 rate) -{ - s32 oldInts; - s32 state; - u8 left; - u8 right; - s32 temp_r26; - - if (rate == AIGetStreamSampleRate()) { - return; - } - state = AIGetStreamPlayState(); - left = AIGetStreamVolLeft(); - right = AIGetStreamVolRight(); - AISetStreamVolRight(0); - AISetStreamVolLeft(0); - temp_r26 = __AIRegs[0] & 0x40; - __AIRegs[0] &= ~0x40; - oldInts = OSDisableInterrupts(); - __AI_SRC_INIT(); - __AIRegs[0] |= temp_r26; - __AIRegs[0] = (__AIRegs[0] & ~0x20) | 0x20; - __AIRegs[0] = (__AIRegs[0] & ~2) | (rate * 2); - OSRestoreInterrupts(oldInts); - AISetStreamPlayState(state); - AISetStreamVolLeft(left); - AISetStreamVolRight(right); -} - -u32 AIGetStreamSampleRate() -{ - return (__AIRegs[0] >> 1) & 1; -} - -void AISetStreamVolLeft(u8 volume) -{ - __AIRegs[1] = (__AIRegs[1] & ~0xFF) | (volume & 0xFF); -} - -u8 AIGetStreamVolLeft() -{ - return __AIRegs[1]; -} - -void AISetStreamVolRight(u8 volume) -{ - __AIRegs[1] = (__AIRegs[1] & ~0xFF00) | ((volume & 0xFF) << 8); -} - -u8 AIGetStreamVolRight() -{ - return __AIRegs[1] >> 8; -} - -void AIInit(u8 *stack) -{ - if (__AI_init_flag == TRUE) { - return; - } - - bound_32KHz = OSNanosecondsToTicks(31524); - bound_48KHz = OSNanosecondsToTicks(42024); - min_wait = OSNanosecondsToTicks(42000); - max_wait = OSNanosecondsToTicks(63000); - buffer = OSNanosecondsToTicks(3000); - - AISetStreamVolRight(0); - AISetStreamVolLeft(0); - AISetStreamTrigger(0); - AIResetStreamSampleCount(); - __AI_set_stream_sample_rate(1); - AISetDSPSampleRate(0); - __AIS_Callback = 0; - __AID_Callback = 0; - __CallbackStack = stack; - __OSSetInterruptHandler(5, __AIDHandler); - __OSUnmaskInterrupts(0x04000000); - __OSSetInterruptHandler(8, __AISHandler); - __OSUnmaskInterrupts(0x800000); - __AI_init_flag = TRUE; -} - -void __AISHandler(s16 interrupt, OSContext *context) -{ - OSContext tmpContext; - __AIRegs[0] |= 8; - OSClearContext(&tmpContext); - OSSetCurrentContext(&tmpContext); - if (__AIS_Callback != NULL) { - __AIS_Callback(__AIRegs[2]); - } - OSClearContext(&tmpContext); - OSSetCurrentContext(context); -} - -void __AIDHandler(s16 interrupt, OSContext *context) -{ - OSContext tempContext; - u16 temp = __DSPRegs[5]; - __DSPRegs[5] = (temp & ~0xA0) | 8; - OSClearContext(&tempContext); - OSSetCurrentContext(&tempContext); - if (__AID_Callback) { - if (__CallbackStack) { - __AICallbackStackSwitch(__AID_Callback); - } - else { - __AID_Callback(); - } - } - - OSClearContext(&tempContext); - OSSetCurrentContext(context); -} - -// clang-format off -asm void __AICallbackStackSwitch(register AIDCallback cb) { - // Allocate stack frame - fralloc - - // Store current stack - lis r5, __OldStack@ha - addi r5, r5, __OldStack@l - stw r1, 0(r5) - - // Load stack for callback - lis r5, __CallbackStack@ha - addi r5, r5, __CallbackStack@l - lwz r1,0(r5) - - // Move stack down 8 bytes - subi r1, r1, 8 - // Call callback - mtlr cb - blrl - - // Restore old stack - lis r5, __OldStack @ha - addi r5, r5, __OldStack@l - lwz r1,0(r5) - - // Free stack frame - frfree - - blr -} -// clang-format on - -void __AI_SRC_INIT(void) -{ - OSTime rise32 = 0; - OSTime rise48 = 0; - OSTime diff = 0; - OSTime unused1 = 0; - OSTime temp = 0; - u32 temp0 = 0; - u32 temp1 = 0; - u32 done = 0; - u32 walking = 0; - u32 unused2 = 0; - u32 initCnt = 0; - - walking = 0; - initCnt = 0; - temp = 0; - - while (!done) { - __AIRegs[0] = (__AIRegs[0] & ~0x20) | 0x20; - __AIRegs[0] &= ~2; - __AIRegs[0] = (__AIRegs[0] & ~1) | 1; - - temp0 = __AIRegs[2]; - - while (temp0 == __AIRegs[2]) - ; - rise32 = OSGetTime(); - - __AIRegs[0] = (__AIRegs[0] & ~2) | 2; - __AIRegs[0] = (__AIRegs[0] & ~1) | 1; - - temp1 = __AIRegs[2]; - while (temp1 == __AIRegs[2]) - ; - - rise48 = OSGetTime(); - - diff = rise48 - rise32; - __AIRegs[0] &= ~2; - __AIRegs[0] &= ~1; - - if (diff < (bound_32KHz - buffer)) { - temp = min_wait; - done = 1; - ++initCnt; - } - else if (diff >= (bound_32KHz + buffer) && diff < (bound_48KHz - buffer)) { - temp = max_wait; - done = 1; - ++initCnt; - } - else { - done = 0; - walking = 1; - ++initCnt; - } - } - - while ((rise48 + temp) > OSGetTime()) - ; -} diff --git a/src/dolphin/ar/ar.c b/src/dolphin/ar/ar.c deleted file mode 100644 index 94954318..00000000 --- a/src/dolphin/ar/ar.c +++ /dev/null @@ -1,343 +0,0 @@ -#include "dolphin/ar.h" - -#include "dolphin/hw_regs.h" -#include "dolphin/os.h" -#include "dolphin/os/OSCache.h" - -static ARCallback __AR_Callback; -static u32 __AR_Size; -static u32 __AR_InternalSize; -static u32 __AR_ExpansionSize; - -static u32 __AR_StackPointer; -static u32 __AR_FreeBlocks; -static u32 *__AR_BlockLength; - -static volatile BOOL __AR_init_flag = FALSE; - -static void __ARHandler(__OSInterrupt interrupt, OSContext *context); -static void __ARChecksize(void); -static void __ARClearArea(u32 start_addr, u32 length); - -// TODO import defines for magic numbers from other repos - -ARCallback ARRegisterDMACallback(ARCallback callback) -{ - ARCallback oldCb; - BOOL enabled; - oldCb = __AR_Callback; - enabled = OSDisableInterrupts(); - __AR_Callback = callback; - OSRestoreInterrupts(enabled); - return oldCb; -} - -u32 ARGetDMAStatus() -{ - BOOL enabled; - u32 val; - enabled = OSDisableInterrupts(); - val = __DSPRegs[5] & 0x0200; - OSRestoreInterrupts(enabled); - return val; -} - -void ARStartDMA(u32 type, u32 mainmem_addr, u32 aram_addr, u32 length) -{ - BOOL enabled; - - enabled = OSDisableInterrupts(); - - __DSPRegs[16] = (u16)(__DSPRegs[16] & ~0x3ff) | (u16)(mainmem_addr >> 16); - __DSPRegs[17] = (u16)(__DSPRegs[17] & ~0xffe0) | (u16)(mainmem_addr & 0xffff); - __DSPRegs[18] = (u16)(__DSPRegs[18] & ~0x3ff) | (u16)(aram_addr >> 16); - __DSPRegs[19] = (u16)(__DSPRegs[19] & ~0xffe0) | (u16)(aram_addr & 0xffff); - __DSPRegs[20] = (u16)((__DSPRegs[20] & ~0x8000) | (type << 15)); - __DSPRegs[20] = (u16)(__DSPRegs[20] & ~0x3ff) | (u16)(length >> 16); - __DSPRegs[21] = (u16)(__DSPRegs[21] & ~0xffe0) | (u16)(length & 0xffff); - OSRestoreInterrupts(enabled); -} - -u32 ARAlloc(u32 length) -{ - u32 tmp; - BOOL enabled; - - enabled = OSDisableInterrupts(); - tmp = __AR_StackPointer; - __AR_StackPointer += length; - *__AR_BlockLength = length; - __AR_BlockLength++; - __AR_FreeBlocks--; - OSRestoreInterrupts(enabled); - - return tmp; -} - -u32 ARFree(u32 *length) -{ - BOOL old; - - old = OSDisableInterrupts(); - - __AR_BlockLength--; - - if (length) { - *length = *__AR_BlockLength; - } - - __AR_StackPointer -= *__AR_BlockLength; - - __AR_FreeBlocks++; - - OSRestoreInterrupts(old); - - return __AR_StackPointer; -} - -BOOL ARCheckInit() -{ - return __AR_init_flag; -} - -u32 ARInit(u32 *stack_index_addr, u32 num_entries) -{ - - BOOL old; - u16 refresh; - - if (__AR_init_flag == TRUE) { - return 0x4000; - } - - old = OSDisableInterrupts(); - - __AR_Callback = NULL; - - __OSSetInterruptHandler(__OS_INTERRUPT_DSP_ARAM, __ARHandler); - __OSUnmaskInterrupts(OS_INTERRUPTMASK_DSP_ARAM); - - __AR_StackPointer = 0x4000; - __AR_FreeBlocks = num_entries; - __AR_BlockLength = stack_index_addr; - - refresh = (u16)(__DSPRegs[13] & 0x000000ff); - - __DSPRegs[13] = (u16)((__DSPRegs[13] & ~0x000000ff) | (refresh & 0x000000ff)); - - __ARChecksize(); - - __AR_init_flag = TRUE; - - OSRestoreInterrupts(old); - - return __AR_StackPointer; -} - -void ARSetSize(void) { } - -u32 ARGetBaseAddress(void) -{ - return 0x4000; -} - -u32 ARGetSize() -{ - return __AR_Size; -} - -static void __ARHandler(__OSInterrupt interrupt, OSContext *context) -{ - - OSContext exceptionContext; - u16 tmp; - - tmp = __DSPRegs[5]; - tmp = (u16)((tmp & ~0x00000088) | 0x20); - __DSPRegs[5] = tmp; - - OSClearContext(&exceptionContext); - OSSetCurrentContext(&exceptionContext); - - if (__AR_Callback) { - (*__AR_Callback)(); - } - - OSClearContext(&exceptionContext); - OSSetCurrentContext(context); -} - -#define RoundUP32(x) (((u32)(x) + 32 - 1) & ~(32 - 1)) - -void __ARClearInterrupt(void) -{ - - u16 tmp; - tmp = __DSPRegs[5]; - tmp = (u16)((tmp & ~(0x00000080 | 0x00000008)) | 0x00000020); - __DSPRegs[5] = tmp; -} -u16 __ARGetInterruptStatus(void) -{ - return ((u16)(__DSPRegs[5] & 0x0200)); -} - -static void __ARWaitForDMA(void) -{ - - while (__DSPRegs[5] & 0x0200) { } -} - -static void __ARWriteDMA(u32 mmem_addr, u32 aram_addr, u32 length) -{ - - __DSPRegs[16] = (u16)((__DSPRegs[16] & ~0x03ff) | (u16)(mmem_addr >> 16)); - __DSPRegs[16 + 1] = (u16)((__DSPRegs[16 + 1] & ~0xffe0) | (u16)(mmem_addr & 0xffff)); - - __DSPRegs[18] = (u16)((__DSPRegs[18] & ~0x03ff) | (u16)(aram_addr >> 16)); - __DSPRegs[18 + 1] = (u16)((__DSPRegs[18 + 1] & ~0xffe0) | (u16)(aram_addr & 0xffff)); - - __DSPRegs[20] = (u16)(__DSPRegs[20] & ~0x8000); - - __DSPRegs[20] = (u16)((__DSPRegs[20] & ~0x03ff) | (u16)(length >> 16)); - __DSPRegs[20 + 1] = (u16)((__DSPRegs[20 + 1] & ~0xffe0) | (u16)(length & 0xffff)); - - __ARWaitForDMA(); - - __ARClearInterrupt(); -} - -static void __ARReadDMA(u32 mmem_addr, u32 aram_addr, u32 length) -{ - - __DSPRegs[16] = (u16)((__DSPRegs[16] & ~0x03ff) | (u16)(mmem_addr >> 16)); - __DSPRegs[16 + 1] = (u16)((__DSPRegs[16 + 1] & ~0xffe0) | (u16)(mmem_addr & 0xffff)); - - __DSPRegs[18] = (u16)((__DSPRegs[18] & ~0x03ff) | (u16)(aram_addr >> 16)); - __DSPRegs[18 + 1] = (u16)((__DSPRegs[18 + 1] & ~0xffe0) | (u16)(aram_addr & 0xffff)); - - __DSPRegs[20] = (u16)(__DSPRegs[20] | 0x8000); - - __DSPRegs[20] = (u16)((__DSPRegs[20] & ~0x03ff) | (u16)(length >> 16)); - __DSPRegs[20 + 1] = (u16)((__DSPRegs[20 + 1] & ~0xffe0) | (u16)(length & 0xffff)); - - __ARWaitForDMA(); - - __ARClearInterrupt(); -} - -void __ARChecksize(void) -{ - u8 test_data_pad[0x20 + 31]; - u8 dummy_data_pad[0x20 + 31]; - u8 buffer_pad[0x20 + 31]; - - u32 *test_data; - u32 *dummy_data; - u32 *buffer; - - u16 ARAM_mode; - u32 ARAM_size; - - u32 i; - - while (!(__DSPRegs[11] & 1)) - ; - - ARAM_mode = 3; - ARAM_size = __AR_InternalSize = 0x1000000; - __DSPRegs[9] = (u16)((__DSPRegs[9] & ~(0x00000007 | 0x00000038)) | 0x20 | 2 | 1); - - test_data = (u32 *)(RoundUP32((u32)(test_data_pad))); - dummy_data = (u32 *)(RoundUP32((u32)(dummy_data_pad))); - buffer = (u32 *)(RoundUP32((u32)(buffer_pad))); - - for (i = 0; i < 8; i++) { - *(test_data + i) = 0xdeadbeef; - *(dummy_data + i) = 0xbad0bad0; - } - - DCFlushRange((void *)test_data, 0x20); - DCFlushRange((void *)dummy_data, 0x20); - - __AR_ExpansionSize = 0; - - __ARWriteDMA((u32)dummy_data, ARAM_size, 0x20U); - __ARWriteDMA((u32)dummy_data, ARAM_size + 0x200000, 0x20U); - __ARWriteDMA((u32)dummy_data, ARAM_size + 0x01000000, 0x20U); - __ARWriteDMA((u32)dummy_data, ARAM_size + 0x200, 0x20U); - __ARWriteDMA((u32)dummy_data, ARAM_size + 0x400000, 0x20U); - - memset((void *)buffer, 0, 0x20); - DCFlushRange((void *)buffer, 0x20); - - __ARWriteDMA((u32)test_data, ARAM_size + 0x0000000, 0x20); - - DCInvalidateRange((void *)buffer, 0x20); - - __ARReadDMA((u32)buffer, ARAM_size + 0x0000000, 0x20); - PPCSync(); - - if (buffer[0] == test_data[0]) { - memset((void *)buffer, 0, 0x20); - DCFlushRange((void *)buffer, 0x20); - - __ARReadDMA((u32)buffer, ARAM_size + 0x0200000, 0x20); - PPCSync(); - - if (buffer[0] == test_data[0]) { - ARAM_mode |= 0 << 1; - ARAM_size += 0x0200000; - __AR_ExpansionSize = 0x0200000; - } - else { - memset((void *)buffer, 0, 0x20); - DCFlushRange((void *)buffer, 0x20); - - __ARReadDMA((u32)buffer, ARAM_size + 0x1000000, 0x20); - PPCSync(); - - if (buffer[0] == test_data[0]) { - ARAM_mode |= 4 << 1; - ARAM_size += 0x0400000; - __AR_ExpansionSize = 0x0400000; - } - else { - memset((void *)buffer, 0, 0x20); - DCFlushRange((void *)buffer, 0x20); - - __ARReadDMA((u32)buffer, ARAM_size + 0x0000200, 0x20); - PPCSync(); - - if (buffer[0] == test_data[0]) { - ARAM_mode |= 8 << 1; - ARAM_size += 0x800000; - __AR_ExpansionSize = 0x0800000; - } - else { - memset((void *)buffer, 0, 0x20); - DCFlushRange((void *)buffer, 0x20); - - __ARReadDMA((u32)buffer, ARAM_size + 0x0400000, 0x20); - PPCSync(); - - if (buffer[0] == test_data[0]) { - ARAM_mode |= 12 << 1; - ARAM_size += 0x1000000; - __AR_ExpansionSize = 0x1000000; - } - else { - ARAM_mode |= 16 << 1; - ARAM_size += 0x2000000; - __AR_ExpansionSize = 0x2000000; - } - } - } - } - __DSPRegs[9] = (u16)((__DSPRegs[9] & ~(0x07 | 0x38)) | ARAM_mode); - } - - *(u32 *)OSPhysicalToUncached(0x00D0) = ARAM_size; - - __AR_Size = ARAM_size; -} diff --git a/src/dolphin/ar/arq.c b/src/dolphin/ar/arq.c deleted file mode 100644 index a0537463..00000000 --- a/src/dolphin/ar/arq.c +++ /dev/null @@ -1,168 +0,0 @@ -#include "dolphin/arq.h" -#include "dolphin/os.h" - -static ARQRequest* __ARQRequestQueueHi; -static ARQRequest* __ARQRequestTailHi; -static ARQRequest* __ARQRequestQueueLo; -static ARQRequest* __ARQRequestTailLo; -static ARQRequest* __ARQRequestPendingHi; -static ARQRequest* __ARQRequestPendingLo; -static ARQCallback __ARQCallbackHi; -static ARQCallback __ARQCallbackLo; -static u32 __ARQChunkSize; - -static volatile BOOL __ARQ_init_flag = FALSE; - -void __ARQPopTaskQueueHi(void); -void __ARQServiceQueueLo(void); -void __ARQCallbackHack(void); -void __ARQInterruptServiceRoutine(void); -void __ARQInitTempQueue(void); -void __ARQPushTempQueue(ARQRequest* task); - -void __ARQPopTaskQueueHi(void) { - - if (__ARQRequestQueueHi) { - if (__ARQRequestQueueHi->type == ARQ_TYPE_MRAM_TO_ARAM) { - ARStartDMA(__ARQRequestQueueHi->type, __ARQRequestQueueHi->source, __ARQRequestQueueHi->dest, - __ARQRequestQueueHi->length); - } else { - ARStartDMA(__ARQRequestQueueHi->type, __ARQRequestQueueHi->dest, __ARQRequestQueueHi->source, - __ARQRequestQueueHi->length); - } - - __ARQCallbackHi = __ARQRequestQueueHi->callback; - - __ARQRequestPendingHi = __ARQRequestQueueHi; - - __ARQRequestQueueHi = __ARQRequestQueueHi->next; - } -} - -void __ARQServiceQueueLo(void) { - - if ((__ARQRequestPendingLo == NULL) && (__ARQRequestQueueLo)) { - __ARQRequestPendingLo = __ARQRequestQueueLo; - - __ARQRequestQueueLo = __ARQRequestQueueLo->next; - } - - if (__ARQRequestPendingLo) { - if (__ARQRequestPendingLo->length <= __ARQChunkSize) { - if (__ARQRequestPendingLo->type == ARQ_TYPE_MRAM_TO_ARAM) - ARStartDMA(__ARQRequestPendingLo->type, __ARQRequestPendingLo->source, - __ARQRequestPendingLo->dest, __ARQRequestPendingLo->length); - else - ARStartDMA(__ARQRequestPendingLo->type, __ARQRequestPendingLo->dest, - __ARQRequestPendingLo->source, __ARQRequestPendingLo->length); - - __ARQCallbackLo = __ARQRequestPendingLo->callback; - } else { - if (__ARQRequestPendingLo->type == ARQ_TYPE_MRAM_TO_ARAM) - ARStartDMA(__ARQRequestPendingLo->type, __ARQRequestPendingLo->source, - __ARQRequestPendingLo->dest, __ARQChunkSize); - else - ARStartDMA(__ARQRequestPendingLo->type, __ARQRequestPendingLo->dest, - __ARQRequestPendingLo->source, __ARQChunkSize); - } - - __ARQRequestPendingLo->length -= __ARQChunkSize; - __ARQRequestPendingLo->source += __ARQChunkSize; - __ARQRequestPendingLo->dest += __ARQChunkSize; - } -} -void __ARQCallbackHack(void) { return; } - -void __ARQInterruptServiceRoutine(void) { - - if (__ARQCallbackHi) { - (*__ARQCallbackHi)((u32)__ARQRequestPendingHi); - __ARQRequestPendingHi = NULL; - __ARQCallbackHi = NULL; - } - - else if (__ARQCallbackLo) { - (*__ARQCallbackLo)((u32)__ARQRequestPendingLo); - __ARQRequestPendingLo = NULL; - __ARQCallbackLo = NULL; - } - - __ARQPopTaskQueueHi(); - - if (__ARQRequestPendingHi == NULL) - __ARQServiceQueueLo(); -} - -void ARQInit(void) { - - if (TRUE == __ARQ_init_flag) { - return; - } - - __ARQRequestQueueHi = __ARQRequestQueueLo = NULL; - __ARQChunkSize = ARQ_CHUNK_SIZE_DEFAULT; - ARRegisterDMACallback(&__ARQInterruptServiceRoutine); - __ARQRequestPendingHi = NULL; - __ARQRequestPendingLo = NULL; - __ARQCallbackHi = NULL; - __ARQCallbackLo = NULL; - __ARQ_init_flag = TRUE; -} - -void ARQPostRequest(ARQRequest* request, u32 owner, u32 type, u32 priority, u32 source, u32 dest, - u32 length, ARQCallback callback) { - - BOOL enabled; - - request->next = NULL; - request->owner = owner; - request->type = type; - request->source = source; - request->dest = dest; - request->length = length; - - if (callback) { - request->callback = callback; - } else { - request->callback = (ARQCallback)&__ARQCallbackHack; - } - - enabled = OSDisableInterrupts(); - - switch (priority) { - case ARQ_PRIORITY_LOW: - - if (__ARQRequestQueueLo) { - __ARQRequestTailLo->next = request; - } else { - __ARQRequestQueueLo = request; - } - __ARQRequestTailLo = request; - - break; - - case ARQ_PRIORITY_HIGH: - - if (__ARQRequestQueueHi) { - __ARQRequestTailHi->next = request; - } else { - __ARQRequestQueueHi = request; - } - - __ARQRequestTailHi = request; - - break; - } - - if ((__ARQRequestPendingHi == NULL) && (__ARQRequestPendingLo == NULL)) { - __ARQPopTaskQueueHi(); - - if (__ARQRequestPendingHi == NULL) { - __ARQServiceQueueLo(); - } - } - - OSRestoreInterrupts(enabled); -} - -u32 ARQGetChunkSize(void) { return __ARQChunkSize; } \ No newline at end of file diff --git a/src/dolphin/card/CARDBios.c b/src/dolphin/card/CARDBios.c deleted file mode 100644 index ff2d55ff..00000000 --- a/src/dolphin/card/CARDBios.c +++ /dev/null @@ -1,615 +0,0 @@ -#include -#include -#include -#include -#include - -#include - -CARDControl __CARDBlock[2]; -DVDDiskID __CARDDiskNone; - -static u16 __CARDEncode; - -s32 __CARDReadStatus(s32 chan, u8 *status); -s32 __CARDClearStatus(s32 chan); -void __CARDSetDiskID(const DVDDiskID *id); -static s32 Retry(s32 chan); - -static BOOL OnReset(BOOL f); -static OSResetFunctionInfo ResetFunctionInfo = { OnReset, 127 }; - -void __CARDDefaultApiCallback(s32 chan, s32 result) { } - -void __CARDSyncCallback(s32 chan, s32 result) -{ - OSWakeupThread(&__CARDBlock[chan].threadQueue); -} - -void __CARDExtHandler(s32 chan, OSContext *context) -{ - CARDControl *card; - CARDCallback callback; - - card = &__CARDBlock[chan]; - if (card->attached) { - card->attached = FALSE; - EXISetExiCallback(chan, 0); - OSCancelAlarm(&card->alarm); - callback = card->exiCallback; - - if (callback) { - card->exiCallback = 0; - callback(chan, CARD_RESULT_NOCARD); - } - - if (card->result != CARD_RESULT_BUSY) { - card->result = CARD_RESULT_NOCARD; - } - - callback = card->extCallback; - if (callback && CARD_MAX_MOUNT_STEP <= card->mountStep) { - card->extCallback = 0; - callback(chan, CARD_RESULT_NOCARD); - } - } -} - -void __CARDExiHandler(s32 chan, OSContext *context) -{ - CARDControl *card; - CARDCallback callback; - u8 status; - s32 result; - - card = &__CARDBlock[chan]; - - OSCancelAlarm(&card->alarm); - - if (!card->attached) { - return; - } - - if (!EXILock(chan, 0, 0)) { - result = CARD_RESULT_FATAL_ERROR; - goto fatal; - } - - if ((result = __CARDReadStatus(chan, &status)) < 0 || (result = __CARDClearStatus(chan)) < 0) { - goto error; - } - - if ((result = (status & 0x18) ? CARD_RESULT_IOERROR : CARD_RESULT_READY) == CARD_RESULT_IOERROR && --card->retry > 0) { - result = Retry(chan); - if (result >= 0) { - return; - } - goto fatal; - } - -error: - EXIUnlock(chan); - -fatal: - callback = card->exiCallback; - if (callback) { - card->exiCallback = 0; - callback(chan, result); - } -} - -void __CARDTxHandler(s32 chan, OSContext *context) -{ - CARDControl *card; - CARDCallback callback; - BOOL err; - - card = &__CARDBlock[chan]; - err = !EXIDeselect(chan); - EXIUnlock(chan); - callback = card->txCallback; - if (callback) { - card->txCallback = 0; - callback(chan, (!err && EXIProbe(chan)) ? CARD_RESULT_READY : CARD_RESULT_NOCARD); - } -} - -void __CARDUnlockedHandler(s32 chan, OSContext *context) -{ - CARDControl *card; - CARDCallback callback; - - card = &__CARDBlock[chan]; - callback = card->unlockCallback; - if (callback) { - card->unlockCallback = 0; - callback(chan, EXIProbe(chan) ? CARD_RESULT_UNLOCKED : CARD_RESULT_NOCARD); - } -} - -s32 __CARDEnableInterrupt(s32 chan, BOOL enable) -{ - BOOL err; - u32 cmd; - - if (!EXISelect(chan, 0, 4)) { - return CARD_RESULT_NOCARD; - } - - cmd = enable ? 0x81010000 : 0x81000000; - err = FALSE; - err |= !EXIImm(chan, &cmd, 2, 1, NULL); - err |= !EXISync(chan); - err |= !EXIDeselect(chan); - return err ? CARD_RESULT_NOCARD : CARD_RESULT_READY; -} - -s32 __CARDReadStatus(s32 chan, u8 *status) -{ - BOOL err; - u32 cmd; - - if (!EXISelect(chan, 0, 4)) { - return CARD_RESULT_NOCARD; - } - - cmd = 0x83000000; - err = FALSE; - err |= !EXIImm(chan, &cmd, 2, 1, NULL); - err |= !EXISync(chan); - err |= !EXIImm(chan, status, 1, 0, NULL); - err |= !EXISync(chan); - err |= !EXIDeselect(chan); - return err ? CARD_RESULT_NOCARD : CARD_RESULT_READY; -} - -s32 __CARDClearStatus(s32 chan) -{ - BOOL err; - u32 cmd; - - if (!EXISelect(chan, 0, 4)) { - return CARD_RESULT_NOCARD; - } - - cmd = 0x89000000; - err = FALSE; - err |= !EXIImm(chan, &cmd, 1, 1, 0); - err |= !EXISync(chan); - err |= !EXIDeselect(chan); - - return err ? CARD_RESULT_NOCARD : CARD_RESULT_READY; -} - -static void TimeoutHandler(OSAlarm *alarm, OSContext *context) -{ - s32 chan; - CARDControl *card; - CARDCallback callback; - for (chan = 0; chan < 2; ++chan) { - card = &__CARDBlock[chan]; - if (alarm == &card->alarm) { - break; - } - } - - if (!card->attached) { - return; - } - - EXISetExiCallback(chan, NULL); - callback = card->exiCallback; - if (callback) { - card->exiCallback = 0; - callback(chan, CARD_RESULT_IOERROR); - } -} - -static void SetupTimeoutAlarm(CARDControl *card) -{ - OSCancelAlarm(&card->alarm); - switch (card->cmd[0]) { - case 0xF2: - OSSetAlarm(&card->alarm, OSMillisecondsToTicks(100), TimeoutHandler); - break; - case 0xF3: - break; - case 0xF4: - case 0xF1: - OSSetAlarm(&card->alarm, OSSecondsToTicks((OSTime)2) * (card->sectorSize / 0x2000), TimeoutHandler); - break; - } -} - -static s32 Retry(s32 chan) -{ - CARDControl *card; - card = &__CARDBlock[chan]; - - if (!EXISelect(chan, 0, 4)) { - EXIUnlock(chan); - return CARD_RESULT_NOCARD; - } - - SetupTimeoutAlarm(card); - - if (!EXIImmEx(chan, card->cmd, card->cmdlen, 1)) { - EXIDeselect(chan); - EXIUnlock(chan); - return CARD_RESULT_NOCARD; - } - - if (card->cmd[0] == 0x52 && !EXIImmEx(chan, (u8 *)card->workArea + sizeof(CARDID), card->latency, 1)) { - EXIDeselect(chan); - EXIUnlock(chan); - return CARD_RESULT_NOCARD; - } - - if (card->mode == 0xffffffff) { - EXIDeselect(chan); - EXIUnlock(chan); - return CARD_RESULT_READY; - } - - if (!EXIDma(chan, card->buffer, (s32)((card->cmd[0] == 0x52) ? 512 : 128), card->mode, __CARDTxHandler)) { - EXIDeselect(chan); - EXIUnlock(chan); - return CARD_RESULT_NOCARD; - } - - return CARD_RESULT_READY; -} - -static void UnlockedCallback(s32 chan, s32 result) -{ - CARDCallback callback; - CARDControl *card; - - card = &__CARDBlock[chan]; - if (result >= 0) { - card->unlockCallback = UnlockedCallback; - if (!EXILock(chan, 0, __CARDUnlockedHandler)) { - result = CARD_RESULT_READY; - } - else { - card->unlockCallback = 0; - result = Retry(chan); - } - } - - if (result < 0) { - switch (card->cmd[0]) { - case 0x52: - callback = card->txCallback; - if (callback) { - card->txCallback = 0; - callback(chan, result); - } - - break; - case 0xF2: - case 0xF4: - case 0xF1: - callback = card->exiCallback; - if (callback) { - card->exiCallback = 0; - callback(chan, result); - } - break; - } - } -} - -static s32 __CARDStart(s32 chan, CARDCallback txCallback, CARDCallback exiCallback) -{ - BOOL enabled; - CARDControl *card; - s32 result; - - enabled = OSDisableInterrupts(); - - card = &__CARDBlock[chan]; - if (!card->attached) { - result = CARD_RESULT_NOCARD; - } - else { - - if (txCallback) { - card->txCallback = txCallback; - } - if (exiCallback) { - card->exiCallback = exiCallback; - } - card->unlockCallback = UnlockedCallback; - if (!EXILock(chan, 0, __CARDUnlockedHandler)) { - result = CARD_RESULT_BUSY; - } - else { - card->unlockCallback = 0; - - if (!EXISelect(chan, 0, 4)) { - EXIUnlock(chan); - result = CARD_RESULT_NOCARD; - } - else { - SetupTimeoutAlarm(card); - result = CARD_RESULT_READY; - } - } - } - - OSRestoreInterrupts(enabled); - return result; -} - -#define AD1(x) ((u8)(((x) >> 17) & 0x7f)) -#define AD1EX(x) ((u8)(AD1(x) | 0x80)); -#define AD2(x) ((u8)(((x) >> 9) & 0xff)) -#define AD3(x) ((u8)(((x) >> 7) & 0x03)) -#define BA(x) ((u8)((x)&0x7f)) - -s32 __CARDReadSegment(s32 chan, CARDCallback callback) -{ - CARDControl *card; - s32 result; - - card = &__CARDBlock[chan]; - card->cmd[0] = 0x52; - card->cmd[1] = AD1(card->addr); - card->cmd[2] = AD2(card->addr); - card->cmd[3] = AD3(card->addr); - card->cmd[4] = BA(card->addr); - card->cmdlen = 5; - card->mode = 0; - card->retry = 0; - - result = __CARDStart(chan, callback, 0); - if (result == CARD_RESULT_BUSY) { - result = CARD_RESULT_READY; - } - else if (result >= 0) { - if (!EXIImmEx(chan, card->cmd, card->cmdlen, 1) - || !EXIImmEx(chan, (u8 *)card->workArea + sizeof(CARDID), card->latency, - 1) - || // XXX use DMA if possible - !EXIDma(chan, card->buffer, 512, card->mode, __CARDTxHandler)) { - card->txCallback = 0; - EXIDeselect(chan); - EXIUnlock(chan); - result = CARD_RESULT_NOCARD; - } - else { - result = CARD_RESULT_READY; - } - } - return result; -} - -s32 __CARDWritePage(s32 chan, CARDCallback callback) -{ - CARDControl *card; - s32 result; - - card = &__CARDBlock[chan]; - card->cmd[0] = 0xF2; - card->cmd[1] = AD1(card->addr); - card->cmd[2] = AD2(card->addr); - card->cmd[3] = AD3(card->addr); - card->cmd[4] = BA(card->addr); - card->cmdlen = 5; - card->mode = 1; - card->retry = 3; - - result = __CARDStart(chan, 0, callback); - if (result == CARD_RESULT_BUSY) { - result = CARD_RESULT_READY; - } - else if (result >= 0) { - if (!EXIImmEx(chan, card->cmd, card->cmdlen, 1) || !EXIDma(chan, card->buffer, 128, card->mode, __CARDTxHandler)) { - card->exiCallback = 0; - EXIDeselect(chan); - EXIUnlock(chan); - result = CARD_RESULT_NOCARD; - } - else { - result = CARD_RESULT_READY; - } - } - return result; -} - -s32 __CARDEraseSector(s32 chan, u32 addr, CARDCallback callback) -{ - CARDControl *card; - s32 result; - - card = &__CARDBlock[chan]; - card->cmd[0] = 0xF1; - card->cmd[1] = AD1(addr); - card->cmd[2] = AD2(addr); - card->cmdlen = 3; - card->mode = -1; - card->retry = 3; - - result = __CARDStart(chan, 0, callback); - - if (result == CARD_RESULT_BUSY) { - result = CARD_RESULT_READY; - } - else if (result >= 0) { - if (!EXIImmEx(chan, card->cmd, card->cmdlen, 1)) { - card->exiCallback = NULL; - result = CARD_RESULT_NOCARD; - } - else { - result = CARD_RESULT_READY; - } - - EXIDeselect(chan); - EXIUnlock(chan); - } - return result; -} - -void CARDInit(void) -{ - int chan; - - if (__CARDBlock[0].diskID && __CARDBlock[1].diskID) { - return; - } - - DSPInit(); - OSInitAlarm(); - - for (chan = 0; chan < 2; ++chan) { - CARDControl *card = &__CARDBlock[chan]; - - card->result = CARD_RESULT_NOCARD; - OSInitThreadQueue(&card->threadQueue); - OSCreateAlarm(&card->alarm); - } - __CARDSetDiskID((DVDDiskID *)OSPhysicalToCached(0x0)); - - OSRegisterResetFunction(&ResetFunctionInfo); -} - -u16 __CARDGetFontEncode() -{ - return __CARDEncode; -} - -void __CARDSetDiskID(const DVDDiskID *id) -{ - __CARDBlock[0].diskID = id ? id : &__CARDDiskNone; - __CARDBlock[1].diskID = id ? id : &__CARDDiskNone; -} - -s32 __CARDGetControlBlock(s32 chan, CARDControl **pcard) -{ - BOOL enabled; - s32 result; - CARDControl *card; - - card = &__CARDBlock[chan]; - if (chan < 0 || chan >= 2 || card->diskID == NULL) { - return CARD_RESULT_FATAL_ERROR; - } - - enabled = OSDisableInterrupts(); - if (!card->attached) { - result = CARD_RESULT_NOCARD; - } - else if (card->result == CARD_RESULT_BUSY) { - result = CARD_RESULT_BUSY; - } - else { - card->result = CARD_RESULT_BUSY; - result = CARD_RESULT_READY; - card->apiCallback = 0; - *pcard = card; - } - OSRestoreInterrupts(enabled); - return result; -} - -s32 __CARDPutControlBlock(CARDControl *card, s32 result) -{ - BOOL enabled; - - enabled = OSDisableInterrupts(); - if (card->attached) { - card->result = result; - } - else if (card->result == CARD_RESULT_BUSY) { - card->result = result; - } - OSRestoreInterrupts(enabled); - return result; -} - -s32 CARDGetResultCode(s32 chan) -{ - CARDControl *card; - if (chan < 0 || chan >= 2) { - return CARD_RESULT_FATAL_ERROR; - } - card = &__CARDBlock[chan]; - return card->result; -} - -s32 CARDFreeBlocks(s32 chan, s32 *byteNotUsed, s32 *filesNotUsed) -{ - CARDControl *card; - s32 result; - u16 *fat; - CARDDir *dir; - CARDDir *ent; - u16 fileNo; - - result = __CARDGetControlBlock(chan, &card); - if (result < 0) { - return result; - } - - fat = __CARDGetFatBlock(card); - dir = __CARDGetDirBlock(card); - if (fat == 0 || dir == 0) { - return __CARDPutControlBlock(card, CARD_RESULT_BROKEN); - } - - if (byteNotUsed) { - *byteNotUsed = (s32)(card->sectorSize * fat[CARD_FAT_FREEBLOCKS]); - } - - if (filesNotUsed) { - *filesNotUsed = 0; - for (fileNo = 0; fileNo < CARD_MAX_FILE; fileNo++) { - ent = &dir[fileNo]; - if (ent->fileName[0] == 0xff) { - ++*filesNotUsed; - } - } - } - - return __CARDPutControlBlock(card, CARD_RESULT_READY); -} - -s32 CARDGetSectorSize(s32 chan, u32 *size) -{ - struct CARDControl *card; - long result; - - result = __CARDGetControlBlock(chan, &card); - if (result < 0) { - return result; - } - *size = card->sectorSize; - return __CARDPutControlBlock(card, 0); -} - -s32 __CARDSync(s32 chan) -{ - CARDControl *block; - s32 result; - s32 enabled; - - block = &__CARDBlock[chan]; - enabled = OSDisableInterrupts(); - while ((result = CARDGetResultCode(chan)) == -1) { - OSSleepThread(&block->threadQueue); - } - OSRestoreInterrupts(enabled); - return result; -} - -static BOOL OnReset(BOOL f) -{ - if (!f) { - if (CARDUnmount(0) == CARD_RESULT_BUSY || CARDUnmount(1) == CARD_RESULT_BUSY) { - return FALSE; - } - } - - return TRUE; -} diff --git a/src/dolphin/card/CARDBlock.c b/src/dolphin/card/CARDBlock.c deleted file mode 100644 index c6543c7f..00000000 --- a/src/dolphin/card/CARDBlock.c +++ /dev/null @@ -1,170 +0,0 @@ -#include -#include -#include -#include - -#include "string.h" - -#include - -u16 *__CARDGetFatBlock(CARDControl *card) -{ - return card->currentFat; -} - -static void WriteCallback(s32 chan, s32 result) -{ - CARDControl *card; - CARDCallback callback; - u16 *fat; - u16 *fatBack; - - card = &__CARDBlock[chan]; - - if (result >= 0) { - fat = (u16 *)((u8 *)card->workArea + 0x6000); - fatBack = (u16 *)((u8 *)card->workArea + 0x8000); - - if (card->currentFat == fat) { - card->currentFat = fatBack; - memcpy(fatBack, fat, 0x2000); - } - else { - card->currentFat = fat; - memcpy(fat, fatBack, 0x2000); - } - } - - if (card->apiCallback == NULL) { - __CARDPutControlBlock(card, result); - } - - callback = card->eraseCallback; - if (callback) { - card->eraseCallback = NULL; - callback(chan, result); - } -} - -static void EraseCallback(s32 chan, s32 result) -{ - CARDControl *card; - CARDCallback callback; - u32 temp[2]; /* this compiler sucks */ - u16 *fat; - u32 addr; - - card = &__CARDBlock[chan]; - if (result < 0) { - goto error; - } - - fat = __CARDGetFatBlock(card); - addr = ((u32)fat - (u32)card->workArea) / CARD_SYSTEM_BLOCK_SIZE * card->sectorSize; - result = __CARDWrite(chan, addr, CARD_SYSTEM_BLOCK_SIZE, fat, WriteCallback); - if (result < 0) { - goto error; - } - - return; - -error: - if (card->apiCallback == NULL) { - __CARDPutControlBlock(card, result); - } - callback = card->eraseCallback; - if (callback) { - card->eraseCallback = NULL; - callback(chan, result); - } -} - -s32 __CARDAllocBlock(s32 chan, u32 cBlock, CARDCallback callback) -{ - CARDControl *card; - u16 *fat; - u16 iBlock; - u16 startBlock; - u16 prevBlock; - u16 count; - - card = &__CARDBlock[chan]; - if (!card->attached) { - return CARD_RESULT_NOCARD; - } - - fat = __CARDGetFatBlock(card); - if (fat[3] < cBlock) { - return CARD_RESULT_INSSPACE; - } - - fat[3] -= cBlock; - startBlock = 0xFFFF; - iBlock = fat[4]; - count = 0; - while (0 < cBlock) { - if (card->cBlock - 5 < ++count) { - return CARD_RESULT_BROKEN; - } - - iBlock++; - if (!CARDIsValidBlockNo(card, iBlock)) { - iBlock = 5; - } - - if (fat[iBlock] == 0x0000u) { - if (startBlock == 0xFFFF) { - startBlock = iBlock; - } - else { - fat[prevBlock] = iBlock; - } - prevBlock = iBlock; - fat[iBlock] = 0xFFFF; - --cBlock; - } - } - fat[4] = iBlock; - card->startBlock = startBlock; - - return __CARDUpdateFatBlock(chan, fat, callback); -} - -s32 __CARDFreeBlock(s32 chan, u16 nBlock, CARDCallback callback) -{ - CARDControl *card; - u16 *fat; - u16 nextBlock; - - card = card = &__CARDBlock[chan]; - if (!card->attached) { - return CARD_RESULT_NOCARD; - } - - fat = __CARDGetFatBlock(card); - while (nBlock != 0xFFFF) { - if (!CARDIsValidBlockNo(card, nBlock)) { - return CARD_RESULT_BROKEN; - } - - nextBlock = fat[nBlock]; - fat[nBlock] = 0; - nBlock = nextBlock; - ++fat[3]; - } - - return __CARDUpdateFatBlock(chan, fat, callback); -} - -s32 __CARDUpdateFatBlock(s32 chan, u16 *fat, CARDCallback callback) -{ - CARDControl *card; - - card = &__CARDBlock[chan]; - ++fat[2]; - __CARDCheckSum(fat + 2, 0x1FFC, fat, fat + 1); - DCStoreRange(fat, 0x2000); - card->eraseCallback = callback; - - return __CARDEraseSector(chan, (((u32)fat - (u32)card->workArea) / 8192u) * card->sectorSize, EraseCallback); -} diff --git a/src/dolphin/card/CARDCheck.c b/src/dolphin/card/CARDCheck.c deleted file mode 100644 index 988e16b3..00000000 --- a/src/dolphin/card/CARDCheck.c +++ /dev/null @@ -1,343 +0,0 @@ -#include -#include -#include -#include - -#include -#include - -#include "string.h" - -void __CARDCheckSum(void *ptr, int length, u16 *checksum, u16 *checksumInv) -{ - u16 *p; - int i; - - length /= sizeof(u16); - *checksum = *checksumInv = 0; - for (i = 0, p = ptr; i < length; i++, p++) { - *checksum += *p; - *checksumInv += ~*p; - } - if (*checksum == 0xffff) { - *checksum = 0; - } - if (*checksumInv == 0xffff) { - *checksumInv = 0; - } -} - -static s32 VerifyID(CARDControl *card) -{ - CARDID *id; - u16 checksum; - u16 checksumInv; - OSSramEx *sramEx; - OSTime rand; - int i; - - id = card->workArea; - - if (id->deviceID != 0 || id->size != card->size) - return CARD_RESULT_BROKEN; - - __CARDCheckSum(id, sizeof(CARDID) - sizeof(u32), &checksum, &checksumInv); - if (id->checkSum != checksum || id->checkSumInv != checksumInv) - return CARD_RESULT_BROKEN; - - if (id->encode != OSGetFontEncode()) - return CARD_RESULT_ENCODING; - - rand = *(OSTime *)&id->serial[12]; - sramEx = __OSLockSramEx(); - for (i = 0; i < 12; i++) { - rand = (rand * 1103515245 + 12345) >> 16; - if (id->serial[i] != (u8)(sramEx->flashID[card - __CARDBlock][i] + rand)) { - __OSUnlockSramEx(FALSE); - return CARD_RESULT_BROKEN; - } - rand = ((rand * 1103515245 + 12345) >> 16) & 0x7FFF; - } - - __OSUnlockSramEx(FALSE); - - return CARD_RESULT_READY; -} - -static s32 VerifyDir(CARDControl *card, int *outCurrent) -{ - CARDDir *dir[2]; - CARDDirCheck *check[2]; - u16 checkSum; - u16 checkSumInv; - int i; - int errors; - int current; - - current = errors = 0; - for (i = 0; i < 2; i++) { - dir[i] = (CARDDir *)((u8 *)card->workArea + (1 + i) * CARD_SYSTEM_BLOCK_SIZE); - check[i] = __CARDGetDirCheck(dir[i]); - __CARDCheckSum(dir[i], CARD_SYSTEM_BLOCK_SIZE - sizeof(u32), &checkSum, &checkSumInv); - if (check[i]->checkSum != checkSum || check[i]->checkSumInv != checkSumInv) { - ++errors; - current = i; - card->currentDir = 0; - } - } - - if (0 == errors) { - if (card->currentDir == 0) { - if ((check[0]->checkCode - check[1]->checkCode) < 0) { - current = 0; - } - else { - current = 1; - } - card->currentDir = dir[current]; - memcpy(dir[current], dir[current ^ 1], CARD_SYSTEM_BLOCK_SIZE); - } - else { - current = (card->currentDir == dir[0]) ? 0 : 1; - } - } - if (outCurrent) { - *outCurrent = current; - } - return errors; -} - -static s32 VerifyFAT(CARDControl *card, int *outCurrent) -{ - u16 *fat[2]; - u16 *fatp; - u16 nBlock; - u16 cFree; - int i; - u16 checkSum; - u16 checkSumInv; - int errors; - int current; - - current = errors = 0; - for (i = 0; i < 2; i++) { - fatp = fat[i] = (u16 *)((u8 *)card->workArea + (3 + i) * CARD_SYSTEM_BLOCK_SIZE); - - __CARDCheckSum(&fatp[CARD_FAT_CHECKCODE], CARD_SYSTEM_BLOCK_SIZE - sizeof(u32), &checkSum, &checkSumInv); - if (fatp[CARD_FAT_CHECKSUM] != checkSum || fatp[CARD_FAT_CHECKSUMINV] != checkSumInv) { - ++errors; - current = i; - card->currentFat = 0; - continue; - } - - cFree = 0; - for (nBlock = CARD_NUM_SYSTEM_BLOCK; nBlock < card->cBlock; nBlock++) { - if (fatp[nBlock] == CARD_FAT_AVAIL) { - cFree++; - } - } - if (cFree != fatp[CARD_FAT_FREEBLOCKS]) { - ++errors; - current = i; - card->currentFat = 0; - continue; - } - } - - if (0 == errors) { - if (card->currentFat == 0) { - if (((s16)fat[0][CARD_FAT_CHECKCODE] - (s16)fat[1][CARD_FAT_CHECKCODE]) < 0) { - current = 0; - } - else { - current = 1; - } - card->currentFat = fat[current]; - memcpy(fat[current], fat[current ^ 1], CARD_SYSTEM_BLOCK_SIZE); - } - else { - current = (card->currentFat == fat[0]) ? 0 : 1; - } - } - if (outCurrent) { - *outCurrent = current; - } - return errors; -} - -s32 __CARDVerify(CARDControl *card) -{ - s32 result; - int errors; - - result = VerifyID(card); - if (result < 0) { - return result; - } - - errors = VerifyDir(card, NULL); - errors += VerifyFAT(card, NULL); - switch (errors) { - case 0: - return CARD_RESULT_READY; - case 1: - return CARD_RESULT_BROKEN; - default: - return CARD_RESULT_BROKEN; - } -} - -s32 CARDCheckExAsync(s32 chan, s32 *xferBytes, CARDCallback callback) -{ - CARDControl *card; - CARDDir *dir[2]; - u16 *fat[2]; - u16 *map; - s32 result; - int errors; - int currentFat; - int currentDir; - s32 fileNo; - u16 iBlock; - u16 cBlock; - u16 cFree; - BOOL updateFat = FALSE; - BOOL updateDir = FALSE; - BOOL updateOrphan = FALSE; - - if (xferBytes) { - *xferBytes = 0; - } - - result = __CARDGetControlBlock(chan, &card); - if (result < 0) { - return result; - } - - result = VerifyID(card); - if (result < 0) { - return __CARDPutControlBlock(card, result); - } - - errors = VerifyDir(card, ¤tDir); - errors += VerifyFAT(card, ¤tFat); - if (1 < errors) { - return __CARDPutControlBlock(card, CARD_RESULT_BROKEN); - } - - dir[0] = (CARDDir *)((u8 *)card->workArea + (1 + 0) * CARD_SYSTEM_BLOCK_SIZE); - dir[1] = (CARDDir *)((u8 *)card->workArea + (1 + 1) * CARD_SYSTEM_BLOCK_SIZE); - fat[0] = (u16 *)((u8 *)card->workArea + (3 + 0) * CARD_SYSTEM_BLOCK_SIZE); - fat[1] = (u16 *)((u8 *)card->workArea + (3 + 1) * CARD_SYSTEM_BLOCK_SIZE); - - switch (errors) { - case 0: - break; - case 1: - if (!card->currentDir) { - card->currentDir = dir[currentDir]; - memcpy(dir[currentDir], dir[currentDir ^ 1], CARD_SYSTEM_BLOCK_SIZE); - updateDir = TRUE; - } - else { - card->currentFat = fat[currentFat]; - memcpy(fat[currentFat], fat[currentFat ^ 1], CARD_SYSTEM_BLOCK_SIZE); - updateFat = TRUE; - } - break; - } - - map = fat[currentFat ^ 1]; - memset(map, 0, CARD_SYSTEM_BLOCK_SIZE); - - for (fileNo = 0; fileNo < CARD_MAX_FILE; fileNo++) { - CARDDir *ent; - - ent = &card->currentDir[fileNo]; - if (ent->gameName[0] == 0xff) { - continue; - } - - for (iBlock = ent->startBlock, cBlock = 0; iBlock != 0xFFFF && cBlock < ent->length; iBlock = card->currentFat[iBlock], ++cBlock) { - if (!CARDIsValidBlockNo(card, iBlock) || 1 < ++map[iBlock]) { - return __CARDPutControlBlock(card, CARD_RESULT_BROKEN); - } - } - if (cBlock != ent->length || iBlock != 0xFFFF) { - return __CARDPutControlBlock(card, CARD_RESULT_BROKEN); - } - } - - cFree = 0; - for (iBlock = CARD_NUM_SYSTEM_BLOCK; iBlock < card->cBlock; iBlock++) { - u16 nextBlock; - - nextBlock = card->currentFat[iBlock]; - if (map[iBlock] == 0) { - if (nextBlock != CARD_FAT_AVAIL) { - card->currentFat[iBlock] = CARD_FAT_AVAIL; - updateOrphan = TRUE; - } - cFree++; - } - else if (!CARDIsValidBlockNo(card, nextBlock) && nextBlock != 0xFFFF) { - return __CARDPutControlBlock(card, CARD_RESULT_BROKEN); - } - } - if (cFree != card->currentFat[CARD_FAT_FREEBLOCKS]) { - card->currentFat[CARD_FAT_FREEBLOCKS] = cFree; - updateOrphan = TRUE; - } - if (updateOrphan) { - __CARDCheckSum(&card->currentFat[CARD_FAT_CHECKCODE], CARD_SYSTEM_BLOCK_SIZE - sizeof(u32), &card->currentFat[CARD_FAT_CHECKSUM], - &card->currentFat[CARD_FAT_CHECKSUMINV]); - } - - memcpy(fat[currentFat ^ 1], fat[currentFat], CARD_SYSTEM_BLOCK_SIZE); - - if (updateDir) { - if (xferBytes) { - *xferBytes = CARD_SYSTEM_BLOCK_SIZE; - } - return __CARDUpdateDir(chan, callback); - } - - if (updateFat | updateOrphan) { - if (xferBytes) { - *xferBytes = CARD_SYSTEM_BLOCK_SIZE; - } - return __CARDUpdateFatBlock(chan, card->currentFat, callback); - } - - __CARDPutControlBlock(card, CARD_RESULT_READY); - if (callback) { - BOOL enabled = OSDisableInterrupts(); - callback(chan, CARD_RESULT_READY); - OSRestoreInterrupts(enabled); - } - return CARD_RESULT_READY; -} - -s32 CARDCheckAsync(s32 chan, CARDCallback callback) -{ - s32 xferBytes; - - return CARDCheckExAsync(chan, &xferBytes, callback); -} - -s32 CARDCheck(s32 chan) -{ - s32 xferBytes; - - s32 result = CARDCheckExAsync(chan, &xferBytes, __CARDSyncCallback); - if (result >= 0) { - if (&xferBytes == NULL) { - return result; - } - - return __CARDSync(chan); - } - - return result; -} diff --git a/src/dolphin/card/CARDCreate.c b/src/dolphin/card/CARDCreate.c deleted file mode 100644 index ac91d727..00000000 --- a/src/dolphin/card/CARDCreate.c +++ /dev/null @@ -1,126 +0,0 @@ -#include -#include -#include -#include - -#include - -static void CreateCallbackFat(s32 chan, s32 result) -{ - CARDControl *card; - CARDDir *dir; - CARDDir *ent; - CARDCallback callback; - - card = &__CARDBlock[chan]; - callback = card->apiCallback; - card->apiCallback = 0; - if (result < 0) { - goto error; - } - - dir = __CARDGetDirBlock(card); - ent = &dir[card->freeNo]; - memcpy(ent->gameName, card->diskID->gameName, sizeof(ent->gameName)); - memcpy(ent->company, card->diskID->company, sizeof(ent->company)); - ent->permission = CARD_ATTR_PUBLIC; - ent->copyTimes = 0; - ent->startBlock = card->startBlock; - - ent->bannerFormat = 0; - ent->iconAddr = 0xffffffff; - ent->iconFormat = 0; - ent->iconSpeed = 0; - ent->commentAddr = 0xffffffff; - - CARDSetIconSpeed(ent, 0, CARD_STAT_SPEED_FAST); - - card->fileInfo->offset = 0; - card->fileInfo->iBlock = ent->startBlock; - - ent->time = (u32)OSTicksToSeconds(OSGetTime()); - result = __CARDUpdateDir(chan, callback); - if (result < 0) { - goto error; - } - return; - -error: - __CARDPutControlBlock(card, result); - if (callback) { - callback(chan, result); - } -} - -s32 CARDCreateAsync(s32 chan, const char *fileName, u32 size, CARDFileInfo *fileInfo, CARDCallback callback) -{ - CARDControl *card; - CARDDir *dir; - CARDDir *ent; - s32 result; - u16 fileNo; - u16 freeNo; - u16 *fat; - - if (strlen(fileName) > (u32)CARD_FILENAME_MAX) { - return CARD_RESULT_NAMETOOLONG; - } - - result = __CARDGetControlBlock(chan, &card); - if (result < 0) { - return result; - } - - if (size <= 0 || (size % card->sectorSize) != 0) { - return CARD_RESULT_FATAL_ERROR; - } - - freeNo = (u16)-1; - dir = __CARDGetDirBlock(card); - for (fileNo = 0; fileNo < CARD_MAX_FILE; fileNo++) { - ent = &dir[fileNo]; - if (ent->gameName[0] == 0xff) { - if (freeNo == (u16)-1) { - freeNo = fileNo; - } - } - else if (memcmp(ent->gameName, card->diskID->gameName, sizeof(ent->gameName)) == 0 - && memcmp(ent->company, card->diskID->company, sizeof(ent->company)) == 0 && __CARDCompareFileName(ent, fileName)) { - return __CARDPutControlBlock(card, CARD_RESULT_EXIST); - } - } - if (freeNo == (u16)-1) { - return __CARDPutControlBlock(card, CARD_RESULT_NOENT); - } - - fat = __CARDGetFatBlock(card); - if (card->sectorSize * fat[CARD_FAT_FREEBLOCKS] < size) { - return __CARDPutControlBlock(card, CARD_RESULT_INSSPACE); - } - - card->apiCallback = callback ? callback : __CARDDefaultApiCallback; - card->freeNo = freeNo; - ent = &dir[freeNo]; - ent->length = (u16)(size / card->sectorSize); - strcat(ent->fileName, fileName, CARD_FILENAME_MAX); - - card->fileInfo = fileInfo; - fileInfo->chan = chan; - fileInfo->fileNo = freeNo; - - result = __CARDAllocBlock(chan, size / card->sectorSize, CreateCallbackFat); - if (result < 0) { - return __CARDPutControlBlock(card, result); - } - return result; -} - -s32 CARDCreate(s32 chan, const char *fileName, u32 size, CARDFileInfo *fileInfo) -{ - s32 result = CARDCreateAsync(chan, fileName, size, fileInfo, __CARDSyncCallback); - if (result < 0) { - return result; - } - - return __CARDSync(chan); -} diff --git a/src/dolphin/card/CARDDelete.c b/src/dolphin/card/CARDDelete.c deleted file mode 100644 index 8b531738..00000000 --- a/src/dolphin/card/CARDDelete.c +++ /dev/null @@ -1,111 +0,0 @@ -#include -#include -#include -#include - -#include "string.h" - -#include - -static void DeleteCallback(s32 chan, s32 result) -{ - CARDControl *card; - CARDCallback callback; - - card = &__CARDBlock[chan]; - callback = card->apiCallback; - card->apiCallback = 0; - - if (result < 0) { - goto error; - } - - result = __CARDFreeBlock(chan, card->startBlock, callback); - if (result < 0) { - goto error; - } - return; - -error: - __CARDPutControlBlock(card, result); - if (callback) { - callback(chan, result); - } -} - -s32 CARDFastDeleteAsync(s32 chan, s32 fileNo, CARDCallback callback) -{ - CARDControl *card; - CARDDir *dir; - CARDDir *ent; - s32 result; - - if (fileNo < 0 || CARD_MAX_FILE <= fileNo) { - return CARD_RESULT_FATAL_ERROR; - } - result = __CARDGetControlBlock(chan, &card); - if (result < 0) { - return result; - } - - dir = __CARDGetDirBlock(card); - ent = &dir[fileNo]; - result = __CARDAccess(card, ent); - if (result < 0) { - return __CARDPutControlBlock(card, result); - } - if (__CARDIsOpened(card, fileNo)) { - return __CARDPutControlBlock(card, CARD_RESULT_BUSY); - } - card->startBlock = ent->startBlock; - memset(ent, 0xff, sizeof(CARDDir)); - - card->apiCallback = callback ? callback : __CARDDefaultApiCallback; - result = __CARDUpdateDir(chan, DeleteCallback); - if (result < 0) { - __CARDPutControlBlock(card, result); - } - return result; -} - -s32 CARDDeleteAsync(s32 chan, const char *fileName, CARDCallback callback) -{ - CARDControl *card; - s32 fileNo; - s32 result; - CARDDir *dir; - CARDDir *ent; - - result = __CARDGetControlBlock(chan, &card); - if (result < 0) { - return result; - } - result = __CARDGetFileNo(card, fileName, &fileNo); - if (result < 0) { - return __CARDPutControlBlock(card, result); - } - if (__CARDIsOpened(card, fileNo)) { - return __CARDPutControlBlock(card, CARD_RESULT_BUSY); - } - - dir = __CARDGetDirBlock(card); - ent = &dir[fileNo]; - card->startBlock = ent->startBlock; - memset(ent, 0xff, sizeof(CARDDir)); - - card->apiCallback = callback ? callback : __CARDDefaultApiCallback; - result = __CARDUpdateDir(chan, DeleteCallback); - if (result < 0) { - __CARDPutControlBlock(card, result); - } - return result; -} - -s32 CARDDelete(s32 chan, const char *fileName) -{ - s32 result = CARDDeleteAsync(chan, fileName, __CARDSyncCallback); - - if (result < 0) - return result; - return __CARDSync(chan); -} diff --git a/src/dolphin/card/CARDDir.c b/src/dolphin/card/CARDDir.c deleted file mode 100644 index 97844a6e..00000000 --- a/src/dolphin/card/CARDDir.c +++ /dev/null @@ -1,101 +0,0 @@ -#include -#include -#include -#include - -#include "string.h" - -#include - -CARDDir *__CARDGetDirBlock(CARDControl *card) -{ - return card->currentDir; -} - -static void WriteCallback(s32 chan, s32 result) -{ - CARDControl *card; - CARDCallback callback; - - card = &__CARDBlock[chan]; - if (0 <= result) { - CARDDir *dir0 = (CARDDir *)((u8 *)card->workArea + 0x2000); - CARDDir *dir1 = (CARDDir *)((u8 *)card->workArea + 0x4000); - - if (card->currentDir == dir0) { - card->currentDir = dir1; - memcpy(dir1, dir0, 0x2000); - } - else { - card->currentDir = dir0; - memcpy(dir0, dir1, 0x2000); - } - } - -error: - if (card->apiCallback == 0) { - __CARDPutControlBlock(card, result); - } - callback = card->eraseCallback; - if (callback) { - card->eraseCallback = 0; - callback(chan, result); - } -} - -static void EraseCallback(s32 chan, s32 result) -{ - CARDControl *card; - CARDCallback callback; - CARDDir *dir; - u32 tmp[2]; - u32 addr; - - card = &__CARDBlock[chan]; - if (result < 0) { - goto error; - } - - dir = __CARDGetDirBlock(card); - addr = ((u32)dir - (u32)card->workArea) / 0x2000 * card->sectorSize; - result = __CARDWrite(chan, addr, 0x2000, dir, WriteCallback); - if (result < 0) { - goto error; - } - - return; - -error: - if (card->apiCallback == 0) { - __CARDPutControlBlock(card, result); - } - callback = card->eraseCallback; - if (callback) { - card->eraseCallback = 0; - callback(chan, result); - } -} - -s32 __CARDUpdateDir(s32 chan, CARDCallback callback) -{ - CARDControl *card; - CARDDirCheck *check; - u32 tmp[2]; - u32 addr; - CARDDir *dir; - - card = &__CARDBlock[chan]; - if (!card->attached) { - return CARD_RESULT_NOCARD; - } - - dir = __CARDGetDirBlock(card); - check = __CARDGetDirCheck(dir); - ++check->checkCode; - __CARDCheckSum(dir, 0x2000 - sizeof(u32), &check->checkSum, &check->checkSumInv); - DCStoreRange(dir, 0x2000); - - card->eraseCallback = callback; - addr = ((u32)dir - (u32)card->workArea) / 0x2000 * card->sectorSize; - return __CARDEraseSector(chan, addr, EraseCallback); -} diff --git a/src/dolphin/card/CARDFormat.c b/src/dolphin/card/CARDFormat.c deleted file mode 100644 index b2c91930..00000000 --- a/src/dolphin/card/CARDFormat.c +++ /dev/null @@ -1,141 +0,0 @@ -#include -#include -#include -#include - -#include -#include -#include -#include - -#include "string.h" - -static void FormatCallback(s32 chan, s32 result) -{ - CARDControl *card; - CARDCallback callback; - - card = &__CARDBlock[chan]; - if (result < 0) { - goto error; - } - - ++card->formatStep; - if (card->formatStep < CARD_NUM_SYSTEM_BLOCK) { - result = __CARDEraseSector(chan, (u32)card->sectorSize * card->formatStep, FormatCallback); - if (0 <= result) { - return; - } - } - else if (card->formatStep < 2 * CARD_NUM_SYSTEM_BLOCK) { - int step = card->formatStep - CARD_NUM_SYSTEM_BLOCK; - result = __CARDWrite( - chan, (u32)card->sectorSize * step, CARD_SYSTEM_BLOCK_SIZE, (u8 *)card->workArea + (CARD_SYSTEM_BLOCK_SIZE * step), FormatCallback); - if (result >= 0) { - return; - } - } - else { - card->currentDir = (CARDDir *)((u8 *)card->workArea + (1 + 0) * CARD_SYSTEM_BLOCK_SIZE); - memcpy(card->currentDir, (u8 *)card->workArea + (1 + 1) * CARD_SYSTEM_BLOCK_SIZE, CARD_SYSTEM_BLOCK_SIZE); - card->currentFat = (u16 *)((u8 *)card->workArea + (3 + 0) * CARD_SYSTEM_BLOCK_SIZE); - memcpy(card->currentFat, (u8 *)card->workArea + (3 + 1) * CARD_SYSTEM_BLOCK_SIZE, CARD_SYSTEM_BLOCK_SIZE); - } - -error: - callback = card->apiCallback; - card->apiCallback = 0; - __CARDPutControlBlock(card, result); - callback(chan, result); -} - -s32 __CARDFormatRegionAsync(s32 chan, u16 encode, CARDCallback callback) -{ - CARDControl *card; - CARDID *id; - CARDDir *dir; - u16 *fat; - s16 i; - s32 result; - OSSram *sram; - OSSramEx *sramEx; - u16 viDTVStatus; - OSTime time; - OSTime rand; - - result = __CARDGetControlBlock(chan, &card); - if (result < 0) { - return result; - } - - id = (CARDID *)card->workArea; - memset(id, 0xff, CARD_SYSTEM_BLOCK_SIZE); - viDTVStatus = __VIRegs[55]; - - id->encode = encode; - - sram = __OSLockSram(); - *(u32 *)&id->serial[20] = sram->counterBias; - *(u32 *)&id->serial[24] = sram->language; - __OSUnlockSram(FALSE); - - rand = time = OSGetTime(); - - sramEx = __OSLockSramEx(); - for (i = 0; i < 12; i++) { - rand = (rand * 1103515245 + 12345) >> 16; - id->serial[i] = (u8)(sramEx->flashID[chan][i] + rand); - rand = ((rand * 1103515245 + 12345) >> 16) & 0x7FFF; - } - __OSUnlockSramEx(FALSE); - - *(u32 *)&id->serial[28] = viDTVStatus; - *(OSTime *)&id->serial[12] = time; - - id->deviceID = 0; - id->size = card->size; - __CARDCheckSum(id, sizeof(CARDID) - sizeof(u32), &id->checkSum, &id->checkSumInv); - - for (i = 0; i < 2; i++) { - CARDDirCheck *check; - - dir = (CARDDir *)((u8 *)card->workArea + (1 + i) * CARD_SYSTEM_BLOCK_SIZE); - memset(dir, 0xff, CARD_SYSTEM_BLOCK_SIZE); - check = __CARDGetDirCheck(dir); - check->checkCode = i; - __CARDCheckSum(dir, CARD_SYSTEM_BLOCK_SIZE - sizeof(u32), &check->checkSum, &check->checkSumInv); - } - for (i = 0; i < 2; i++) { - fat = (u16 *)((u8 *)card->workArea + (3 + i) * CARD_SYSTEM_BLOCK_SIZE); - memset(fat, 0x00, CARD_SYSTEM_BLOCK_SIZE); - fat[CARD_FAT_CHECKCODE] = (u16)i; - fat[CARD_FAT_FREEBLOCKS] = (u16)(card->cBlock - CARD_NUM_SYSTEM_BLOCK); - fat[CARD_FAT_LASTSLOT] = CARD_NUM_SYSTEM_BLOCK - 1; - __CARDCheckSum(&fat[CARD_FAT_CHECKCODE], CARD_SYSTEM_BLOCK_SIZE - sizeof(u32), &fat[CARD_FAT_CHECKSUM], &fat[CARD_FAT_CHECKSUMINV]); - } - - card->apiCallback = callback ? callback : __CARDDefaultApiCallback; - DCStoreRange(card->workArea, CARD_WORKAREA_SIZE); - - card->formatStep = 0; - result = __CARDEraseSector(chan, (u32)card->sectorSize * card->formatStep, FormatCallback); - if (result < 0) { - __CARDPutControlBlock(card, result); - } - return result; -} - -s32 CARDFormatAsync(s32 chan, CARDCallback callback) -{ - return __CARDFormatRegionAsync(chan, __CARDGetFontEncode(), callback); -} - -s32 CARDFormat(s32 chan) -{ - s32 result = __CARDFormatRegionAsync(chan, OSGetFontEncode(), __CARDSyncCallback); - if (result < 0) { - return result; - } - - return __CARDSync(chan); -} diff --git a/src/dolphin/card/CARDMount.c b/src/dolphin/card/CARDMount.c deleted file mode 100644 index f8e75c49..00000000 --- a/src/dolphin/card/CARDMount.c +++ /dev/null @@ -1,396 +0,0 @@ -#include -#include -#include -#include -#include - -#include -#include - -u8 GameChoice : (OS_BASE_CACHED | 0x000030E3); - -static u32 SectorSizeTable[8] = { - 8 * 1024, - 16 * 1024, - 32 * 1024, - 64 * 1024, - 128 * 1024, - 256 * 1024, - 0, - 0, -}; - -static u32 LatencyTable[8] = { - 4, - 8, - 16, - 32, - 64, - 128, - 256, - 512, -}; - -void __CARDMountCallback(s32 chan, s32 result); -static void DoUnmount(s32 chan, s32 result); - -static BOOL IsCard(u32 id) -{ - u32 size; - s32 sectorSize; - if (id & (0xFFFF0000) && (id != 0x80000004 || __CARDVendorID == 0xFFFF)) { - return FALSE; - } - - if ((id & 3) != 0) { - return FALSE; - } - - size = id & 0xfc; - switch (size) { - case 4: - case 8: - case 16: - case 32: - case 64: - case 128: - break; - default: - return FALSE; - break; - } - - sectorSize = SectorSizeTable[(id & 0x00003800) >> 11]; - if (sectorSize == 0) { - return FALSE; - } - - if ((size * 1024 * 1024 / 8) / sectorSize < 8) { - return FALSE; - } - - return TRUE; -} - -s32 CARDProbeEx(s32 chan, s32 *memSize, s32 *sectorSize) -{ - u32 id; - CARDControl *card; - BOOL enabled; - s32 result; - int probe; - - if (chan < 0 || 2 <= chan) { - return CARD_RESULT_FATAL_ERROR; - } - - if (GameChoice & 0x80) { - return CARD_RESULT_NOCARD; - } - - card = &__CARDBlock[chan]; - enabled = OSDisableInterrupts(); - - probe = EXIProbeEx(chan); - if (probe == -1) { - result = CARD_RESULT_NOCARD; - } - else if (probe == 0) { - result = CARD_RESULT_BUSY; - } - else if (card->attached) { - if (card->mountStep < 1) { - result = CARD_RESULT_BUSY; - } - else { - if (memSize) { - *memSize = card->size; - } - if (sectorSize) { - *sectorSize = card->sectorSize; - } - result = CARD_RESULT_READY; - } - } - else if ((EXIGetState(chan) & 8)) { - result = CARD_RESULT_WRONGDEVICE; - } - else if (!EXIGetID(chan, 0, &id)) { - result = CARD_RESULT_BUSY; - } - else if (IsCard(id)) { - if (memSize) { - *memSize = (s32)(id & 0xfc); - } - if (sectorSize) { - *sectorSize = SectorSizeTable[(id & 0x00003800) >> 11]; - } - result = CARD_RESULT_READY; - } - else { - result = CARD_RESULT_WRONGDEVICE; - } - - OSRestoreInterrupts(enabled); - return result; -} - -static s32 DoMount(s32 chan) -{ - CARDControl *card; - u32 id; - u8 status; - s32 result; - OSSramEx *sram; - int i; - u8 checkSum; - int step; - - card = &__CARDBlock[chan]; - - if (card->mountStep == 0) { - if (EXIGetID(chan, 0, &id) == 0) { - result = CARD_RESULT_NOCARD; - } - else if (IsCard(id)) { - result = CARD_RESULT_READY; - } - else { - result = CARD_RESULT_WRONGDEVICE; - } - if (result < 0) { - goto error; - } - - card->cid = id; - - card->size = (u16)(id & 0xFC); - card->sectorSize = SectorSizeTable[(id & 0x00003800) >> 11]; - card->cBlock = (u16)((card->size * 1024 * 1024 / 8) / card->sectorSize); - card->latency = LatencyTable[(id & 0x00000700) >> 8]; - - result = __CARDClearStatus(chan); - if (result < 0) { - goto error; - } - result = __CARDReadStatus(chan, &status); - if (result < 0) { - goto error; - } - - if (!EXIProbe(chan)) { - result = CARD_RESULT_NOCARD; - goto error; - } - - if (!(status & 0x40)) { - result = __CARDUnlock(chan, card->id); - if (result < 0) { - goto error; - } - - checkSum = 0; - sram = __OSLockSramEx(); - for (i = 0; i < 12; i++) { - sram->flashID[chan][i] = card->id[i]; - checkSum += card->id[i]; - } - sram->flashIDCheckSum[chan] = (u8)~checkSum; - __OSUnlockSramEx(TRUE); - - return result; - } - else { - card->mountStep = 1; - - checkSum = 0; - sram = __OSLockSramEx(); - for (i = 0; i < 12; i++) { - checkSum += sram->flashID[chan][i]; - } - __OSUnlockSramEx(FALSE); - if (sram->flashIDCheckSum[chan] != (u8)~checkSum) { - result = CARD_RESULT_IOERROR; - goto error; - } - } - } - - if (card->mountStep == 1) { - if (card->cid == 0x80000004) { - u16 vendorID; - - sram = __OSLockSramEx(); - vendorID = *(u16 *)sram->flashID[chan]; - __OSUnlockSramEx(FALSE); - - if (__CARDVendorID == 0xffff || vendorID != __CARDVendorID) { - result = CARD_RESULT_WRONGDEVICE; - goto error; - } - } - - card->mountStep = 2; - - result = __CARDEnableInterrupt(chan, TRUE); - if (result < 0) { - goto error; - } - - EXISetExiCallback(chan, __CARDExiHandler); - EXIUnlock(chan); - DCInvalidateRange(card->workArea, CARD_WORKAREA_SIZE); - } - - step = card->mountStep - 2; - result = __CARDRead( - chan, (u32)card->sectorSize * step, CARD_SYSTEM_BLOCK_SIZE, (u8 *)card->workArea + (CARD_SYSTEM_BLOCK_SIZE * step), __CARDMountCallback); - if (result < 0) { - __CARDPutControlBlock(card, result); - } - return result; - -error: - EXIUnlock(chan); - DoUnmount(chan, result); - return result; -} - -void __CARDMountCallback(s32 chan, s32 result) -{ - CARDControl *card; - CARDCallback callback; - - card = &__CARDBlock[chan]; - - switch (result) { - case CARD_RESULT_READY: - if (++card->mountStep < CARD_MAX_MOUNT_STEP) { - result = DoMount(chan); - if (0 <= result) { - return; - } - } - else { - result = __CARDVerify(card); - } - break; - case CARD_RESULT_UNLOCKED: - card->unlockCallback = __CARDMountCallback; - if (!EXILock(chan, 0, __CARDUnlockedHandler)) { - return; - } - card->unlockCallback = 0; - - result = DoMount(chan); - if (0 <= result) { - return; - } - break; - case CARD_RESULT_IOERROR: - case CARD_RESULT_NOCARD: - DoUnmount(chan, result); - break; - } - - callback = card->apiCallback; - card->apiCallback = 0; - __CARDPutControlBlock(card, result); - callback(chan, result); -} - -s32 CARDMountAsync(s32 chan, void *workArea, CARDCallback detachCallback, CARDCallback attachCallback) -{ - CARDControl *card; - BOOL enabled; - - if (chan < 0 || 2 <= chan) { - return CARD_RESULT_FATAL_ERROR; - } - if (GameChoice & 0x80) { - return CARD_RESULT_NOCARD; - } - card = &__CARDBlock[chan]; - - enabled = OSDisableInterrupts(); - if (card->result == CARD_RESULT_BUSY) { - OSRestoreInterrupts(enabled); - return CARD_RESULT_BUSY; - } - - if (!card->attached && (EXIGetState(chan) & 0x08)) { - OSRestoreInterrupts(enabled); - return CARD_RESULT_WRONGDEVICE; - } - - card->result = CARD_RESULT_BUSY; - card->workArea = workArea; - card->extCallback = detachCallback; - card->apiCallback = attachCallback ? attachCallback : __CARDDefaultApiCallback; - card->exiCallback = 0; - - if (!card->attached && !EXIAttach(chan, __CARDExtHandler)) { - card->result = CARD_RESULT_NOCARD; - OSRestoreInterrupts(enabled); - return CARD_RESULT_NOCARD; - } - - card->mountStep = 0; - card->attached = TRUE; - EXISetExiCallback(chan, 0); - OSCancelAlarm(&card->alarm); - - card->currentDir = 0; - card->currentFat = 0; - - OSRestoreInterrupts(enabled); - - card->unlockCallback = __CARDMountCallback; - if (!EXILock(chan, 0, __CARDUnlockedHandler)) { - return CARD_RESULT_READY; - } - card->unlockCallback = 0; - - return DoMount(chan); -} - -s32 CARDMount(s32 chan, void *workArea, CARDCallback attachCb) -{ - s32 result = CARDMountAsync(chan, workArea, attachCb, __CARDSyncCallback); - if (result < 0) { - return result; - } - - return __CARDSync(chan); -} - -static void DoUnmount(s32 chan, s32 result) -{ - CARDControl *card; - BOOL enabled; - - card = &__CARDBlock[chan]; - enabled = OSDisableInterrupts(); - if (card->attached) { - EXISetExiCallback(chan, 0); - EXIDetach(chan); - OSCancelAlarm(&card->alarm); - card->attached = FALSE; - card->result = result; - card->mountStep = 0; - } - OSRestoreInterrupts(enabled); -} - -s32 CARDUnmount(s32 chan) -{ - CARDControl *card; - s32 result; - - result = __CARDGetControlBlock(chan, &card); - if (result < 0) { - return result; - } - DoUnmount(chan, CARD_RESULT_NOCARD); - return CARD_RESULT_READY; -} diff --git a/src/dolphin/card/CARDNet.c b/src/dolphin/card/CARDNet.c deleted file mode 100644 index 24ab484f..00000000 --- a/src/dolphin/card/CARDNet.c +++ /dev/null @@ -1,34 +0,0 @@ -#include -#include -#include -#include - -#include - -u16 __CARDVendorID = 0xffff; - -s32 CARDGetSerialNo(s32 chan, u64 *serialNo) -{ - CARDControl *card; - CARDID *id; - int i; - u64 code; - s32 result; - - if (!(0 <= chan && chan < 2)) { - return CARD_RESULT_FATAL_ERROR; - } - - result = __CARDGetControlBlock(chan, &card); - if (result < 0) { - return result; - } - - id = (CARDID *)card->workArea; - for (code = 0, i = 0; i < sizeof(id->serial) / sizeof(u64); ++i) { - code ^= *(u64 *)&id->serial[sizeof(u64) * i]; - } - *serialNo = code; - - return __CARDPutControlBlock(card, CARD_RESULT_READY); -} diff --git a/src/dolphin/card/CARDOpen.c b/src/dolphin/card/CARDOpen.c deleted file mode 100644 index 929982a0..00000000 --- a/src/dolphin/card/CARDOpen.c +++ /dev/null @@ -1,134 +0,0 @@ -#include -#include -#include -#include - -#include - -BOOL __CARDCompareFileName(CARDDir *ent, const char *fileName) -{ - char *entName; - char c1; - char c2; - int n; - - entName = (char *)ent->fileName; - n = CARD_FILENAME_MAX; - while (0 <= --n) { - if ((c1 = *entName++) != (c2 = *fileName++)) { - return FALSE; - } - else if (c2 == '\0') { - return TRUE; - } - } - - if (*fileName == '\0') { - return TRUE; - } - - return FALSE; -} - -s32 __CARDAccess(CARDControl *card, CARDDir *ent) -{ - if (ent->gameName[0] == 0xFF) { - return CARD_RESULT_NOFILE; - } - - if (card->diskID == &__CARDDiskNone - || (memcmp(ent->gameName, card->diskID->gameName, 4) == 0 && memcmp(ent->company, card->diskID->company, 2) == 0)) { - return CARD_RESULT_READY; - } - - return CARD_RESULT_NOPERM; -} - -BOOL __CARDIsPublic(CARDDir *ent) -{ - if (ent->gameName[0] == 0xFF) { - return CARD_RESULT_NOFILE; - } - - if ((ent->permission & CARD_ATTR_PUBLIC) != 0) { - return CARD_RESULT_READY; - } - - return CARD_RESULT_NOPERM; -} - -s32 __CARDGetFileNo(CARDControl *card, const char *fileName, s32 *pfileNo) -{ - CARDDir *dir; - CARDDir *ent; - s32 fileNo; - s32 result; - - if (!card->attached) { - return CARD_RESULT_NOCARD; - } - - dir = __CARDGetDirBlock(card); - for (fileNo = 0; fileNo < CARD_MAX_FILE; fileNo++) { - ent = &dir[fileNo]; - result = __CARDAccess(card, ent); - if (result < 0) { - continue; - } - if (__CARDCompareFileName(ent, fileName)) { - *pfileNo = fileNo; - return CARD_RESULT_READY; - } - } - - return CARD_RESULT_NOFILE; -} - -s32 CARDOpen(s32 chan, const char *fileName, CARDFileInfo *fileInfo) -{ - CARDControl *card; - CARDDir *dir; - CARDDir *ent; - s32 result; - s32 fileNo; - - fileInfo->chan = -1; - result = __CARDGetControlBlock(chan, &card); - if (result < 0) { - return result; - } - result = __CARDGetFileNo(card, fileName, &fileNo); - if (0 <= result) { - dir = __CARDGetDirBlock(card); - ent = &dir[fileNo]; - if (!CARDIsValidBlockNo(card, ent->startBlock)) { - result = CARD_RESULT_BROKEN; - } - else { - fileInfo->chan = chan; - fileInfo->fileNo = fileNo; - fileInfo->offset = 0; - fileInfo->iBlock = ent->startBlock; - } - } - return __CARDPutControlBlock(card, result); -} - -s32 CARDClose(CARDFileInfo *fileInfo) -{ - CARDControl *card; - s32 result; - - result = __CARDGetControlBlock(fileInfo->chan, &card); - if (result < 0) { - return result; - } - - fileInfo->chan = -1; - return __CARDPutControlBlock(card, CARD_RESULT_READY); -} - -BOOL __CARDIsOpened(CARDControl *card, s32 fileNo) -{ - return FALSE; -} diff --git a/src/dolphin/card/CARDRdwr.c b/src/dolphin/card/CARDRdwr.c deleted file mode 100644 index 3a235891..00000000 --- a/src/dolphin/card/CARDRdwr.c +++ /dev/null @@ -1,108 +0,0 @@ -#include -#include -#include -#include - -#include - -static void BlockReadCallback(s32 chan, s32 result) -{ - CARDControl *card; - CARDCallback callback; - - card = &__CARDBlock[chan]; - if (result < 0) { - goto error; - } - - card->xferred += CARD_SEG_SIZE; - - card->addr += CARD_SEG_SIZE; - (u8 *)card->buffer += CARD_SEG_SIZE; - if (--card->repeat <= 0) { - goto error; - } - - result = __CARDReadSegment(chan, BlockReadCallback); - if (result < 0) { - goto error; - } - return; - -error: - if (card->apiCallback == 0) { - __CARDPutControlBlock(card, result); - } - callback = card->xferCallback; - if (callback) { - card->xferCallback = 0; - callback(chan, result); - } -} - -s32 __CARDRead(s32 chan, u32 addr, s32 length, void *dst, CARDCallback callback) -{ - CARDControl *card; - card = &__CARDBlock[chan]; - if (!card->attached) { - return CARD_RESULT_NOCARD; - } - - card->xferCallback = callback; - card->repeat = (int)(length / CARD_SEG_SIZE); - card->addr = addr; - card->buffer = dst; - - return __CARDReadSegment(chan, BlockReadCallback); -} - -static void BlockWriteCallback(s32 chan, s32 result) -{ - CARDControl *card; - CARDCallback callback; - - card = &__CARDBlock[chan]; - if (result < 0) { - goto error; - } - - card->xferred += CARD_PAGE_SIZE; - - card->addr += CARD_PAGE_SIZE; - (u8 *)card->buffer += CARD_PAGE_SIZE; - if (--card->repeat <= 0) { - goto error; - } - - result = __CARDWritePage(chan, BlockWriteCallback); - if (result < 0) { - goto error; - } - return; - -error: - if (card->apiCallback == 0) { - __CARDPutControlBlock(card, result); - } - callback = card->xferCallback; - if (callback) { - card->xferCallback = 0; - callback(chan, result); - } -} - -s32 __CARDWrite(s32 chan, u32 addr, s32 length, void *dst, CARDCallback callback) -{ - CARDControl *card; - card = &__CARDBlock[chan]; - if (!card->attached) { - return CARD_RESULT_NOCARD; - } - - card->xferCallback = callback; - card->repeat = (int)(length / CARD_PAGE_SIZE); - card->addr = addr; - card->buffer = dst; - - return __CARDWritePage(chan, BlockWriteCallback); -} diff --git a/src/dolphin/card/CARDRead.c b/src/dolphin/card/CARDRead.c deleted file mode 100644 index 4de1d769..00000000 --- a/src/dolphin/card/CARDRead.c +++ /dev/null @@ -1,149 +0,0 @@ -#include -#include -#include -#include - -#include - -s32 __CARDSeek(CARDFileInfo *fileInfo, s32 length, s32 offset, CARDControl **pcard) -{ - CARDControl *card; - CARDDir *dir; - CARDDir *ent; - s32 result; - u16 *fat; - - result = __CARDGetControlBlock(fileInfo->chan, &card); - if (result < 0) { - return result; - } - - if (!CARDIsValidBlockNo(card, fileInfo->iBlock) || card->cBlock * card->sectorSize <= fileInfo->offset) { - return __CARDPutControlBlock(card, CARD_RESULT_FATAL_ERROR); - } - - dir = __CARDGetDirBlock(card); - ent = &dir[fileInfo->fileNo]; - if (ent->length * card->sectorSize <= offset || ent->length * card->sectorSize < offset + length) { - return __CARDPutControlBlock(card, CARD_RESULT_LIMIT); - } - - card->fileInfo = fileInfo; - fileInfo->length = length; - if (offset < fileInfo->offset) { - fileInfo->offset = 0; - fileInfo->iBlock = ent->startBlock; - if (!CARDIsValidBlockNo(card, fileInfo->iBlock)) { - return __CARDPutControlBlock(card, CARD_RESULT_BROKEN); - } - } - fat = __CARDGetFatBlock(card); - while (fileInfo->offset < TRUNC(offset, card->sectorSize)) { - fileInfo->offset += card->sectorSize; - fileInfo->iBlock = fat[fileInfo->iBlock]; - if (!CARDIsValidBlockNo(card, fileInfo->iBlock)) { - return __CARDPutControlBlock(card, CARD_RESULT_BROKEN); - } - } - - fileInfo->offset = offset; - - *pcard = card; - return CARD_RESULT_READY; -} - -static void ReadCallback(s32 chan, s32 result) -{ - CARDControl *card; - CARDCallback callback; - u16 *fat; - CARDFileInfo *fileInfo; - s32 length; - - card = &__CARDBlock[chan]; - if (result < 0) { - goto error; - } - - fileInfo = card->fileInfo; - if (fileInfo->length < 0) { - result = CARD_RESULT_CANCELED; - goto error; - } - - length = (s32)TRUNC(fileInfo->offset + card->sectorSize, card->sectorSize) - fileInfo->offset; - fileInfo->length -= length; - if (fileInfo->length <= 0) { - goto error; - } - - fat = __CARDGetFatBlock(card); - fileInfo->offset += length; - fileInfo->iBlock = fat[fileInfo->iBlock]; - if (!CARDIsValidBlockNo(card, fileInfo->iBlock)) { - result = CARD_RESULT_BROKEN; - goto error; - } - - result = __CARDRead(chan, card->sectorSize * (u32)fileInfo->iBlock, (fileInfo->length < card->sectorSize) ? fileInfo->length : card->sectorSize, - card->buffer, ReadCallback); - if (result < 0) { - goto error; - } - - return; - -error: - callback = card->apiCallback; - card->apiCallback = 0; - __CARDPutControlBlock(card, result); - callback(chan, result); -} - -s32 CARDReadAsync(CARDFileInfo *fileInfo, void *buf, s32 length, s32 offset, CARDCallback callback) -{ - CARDControl *card; - s32 result; - CARDDir *dir; - CARDDir *ent; - - if (OFFSET(offset, CARD_SEG_SIZE) != 0 || OFFSET(length, CARD_SEG_SIZE) != 0) { - return CARD_RESULT_FATAL_ERROR; - } - result = __CARDSeek(fileInfo, length, offset, &card); - if (result < 0) { - return result; - } - - dir = __CARDGetDirBlock(card); - ent = &dir[fileInfo->fileNo]; - result = __CARDAccess(card, ent); - if (result == CARD_RESULT_NOPERM) { - result = __CARDIsPublic(ent); - } - - if (result < 0) { - return __CARDPutControlBlock(card, result); - } - - DCInvalidateRange(buf, (u32)length); - card->apiCallback = callback ? callback : __CARDDefaultApiCallback; - - offset = (s32)OFFSET(fileInfo->offset, card->sectorSize); - length = (length < card->sectorSize - offset) ? length : card->sectorSize - offset; - result = __CARDRead(fileInfo->chan, card->sectorSize * (u32)fileInfo->iBlock + offset, length, buf, ReadCallback); - if (result < 0) { - __CARDPutControlBlock(card, result); - } - return result; -} - -s32 CARDRead(CARDFileInfo *fileInfo, void *buf, s32 length, s32 offset) -{ - s32 result = CARDReadAsync(fileInfo, buf, length, offset, __CARDSyncCallback); - if (result < 0) { - return result; - } - - return __CARDSync(fileInfo->chan); -} diff --git a/src/dolphin/card/CARDRename.c b/src/dolphin/card/CARDRename.c deleted file mode 100644 index 83d1c8a5..00000000 --- a/src/dolphin/card/CARDRename.c +++ /dev/null @@ -1,70 +0,0 @@ -#include -#include -#include -#include - -#include - -s32 CARDRenameAsync(s32 chan, const char* old, const char* new, CARDCallback callback) { - CARDControl* card; - CARDDir* dir; - CARDDir* ent; - s32 result; - int fileNo; - int newNo; - int oldNo; - - if (*old == 0xff || *new == 0xff || *old == 0x00 || *new == 0x00) { - return CARD_RESULT_FATAL_ERROR; - } - if (CARD_FILENAME_MAX < (u32)strlen(old) || CARD_FILENAME_MAX < (u32)strlen(new)) { - return CARD_RESULT_NAMETOOLONG; - } - result = __CARDGetControlBlock(chan, &card); - if (result < 0) { - return result; - } - - newNo = oldNo = -1; - dir = __CARDGetDirBlock(card); - for (fileNo = 0; fileNo < CARD_MAX_FILE; fileNo++) { - ent = &dir[fileNo]; - if (ent->gameName[0] == 0xff) { - continue; - } - - if (memcmp(ent->gameName, card->diskID->gameName, sizeof(ent->gameName)) != 0 || - memcmp(ent->company, card->diskID->company, sizeof(ent->company)) != 0) { - continue; - } - - if (__CARDCompareFileName(ent, old)) { - oldNo = fileNo; - } - if (__CARDCompareFileName(ent, new)) { - newNo = fileNo; - } - } - - if (oldNo == -1) { - return __CARDPutControlBlock(card, CARD_RESULT_NOFILE); - } - if (newNo != -1) { - return __CARDPutControlBlock(card, CARD_RESULT_EXIST); - } - - ent = &dir[oldNo]; - result = __CARDAccess(card, ent); - if (result < 0) { - return __CARDPutControlBlock(card, result); - } - - strncpy((char*)ent->fileName, new, CARD_FILENAME_MAX); - - ent->time = (u32)OSTicksToSeconds(OSGetTime()); - result = __CARDUpdateDir(chan, callback); - if (result < 0) { - __CARDPutControlBlock(card, result); - } - return result; -} diff --git a/src/dolphin/card/CARDStat.c b/src/dolphin/card/CARDStat.c deleted file mode 100644 index e4fbc265..00000000 --- a/src/dolphin/card/CARDStat.c +++ /dev/null @@ -1,158 +0,0 @@ -#include -#include -#include -#include - -#include "string.h" - -#include - -static void UpdateIconOffsets(CARDDir *ent, CARDStat *stat) -{ - u32 offset; - BOOL iconTlut; - int i; - - offset = ent->iconAddr; - if (offset == 0xffffffff) { - stat->bannerFormat = 0; - stat->iconFormat = 0; - stat->iconSpeed = 0; - offset = 0; - } - - iconTlut = FALSE; - switch (CARDGetBannerFormat(ent)) { - case CARD_STAT_BANNER_C8: - stat->offsetBanner = offset; - offset += CARD_BANNER_WIDTH * CARD_BANNER_HEIGHT; - stat->offsetBannerTlut = offset; - offset += 2 * 256; - break; - case CARD_STAT_BANNER_RGB5A3: - stat->offsetBanner = offset; - offset += 2 * CARD_BANNER_WIDTH * CARD_BANNER_HEIGHT; - stat->offsetBannerTlut = 0xffffffff; - break; - default: - stat->offsetBanner = 0xffffffff; - stat->offsetBannerTlut = 0xffffffff; - break; - } - for (i = 0; i < CARD_ICON_MAX; ++i) { - switch (CARDGetIconFormat(ent, i)) { - case CARD_STAT_ICON_C8: - stat->offsetIcon[i] = offset; - offset += CARD_ICON_WIDTH * CARD_ICON_HEIGHT; - iconTlut = TRUE; - break; - case CARD_STAT_ICON_RGB5A3: - stat->offsetIcon[i] = offset; - offset += 2 * CARD_ICON_WIDTH * CARD_ICON_HEIGHT; - break; - default: - stat->offsetIcon[i] = 0xffffffff; - break; - } - } - if (iconTlut) { - stat->offsetIconTlut = offset; - offset += 2 * 256; - } - else { - stat->offsetIconTlut = 0xffffffff; - } - stat->offsetData = offset; -} - -s32 CARDGetStatus(s32 chan, s32 fileNo, CARDStat *stat) -{ - CARDControl *card; - CARDDir *dir; - CARDDir *ent; - s32 result; - - if (fileNo < 0 || CARD_MAX_FILE <= fileNo) { - return CARD_RESULT_FATAL_ERROR; - } - result = __CARDGetControlBlock(chan, &card); - if (result < 0) { - return result; - } - - dir = __CARDGetDirBlock(card); - ent = &dir[fileNo]; - result = __CARDAccess(card, ent); - if (result == CARD_RESULT_NOPERM) { - result = __CARDIsPublic(ent); - } - - if (result >= 0) { - memcpy(stat->gameName, ent->gameName, sizeof(stat->gameName)); - memcpy(stat->company, ent->company, sizeof(stat->company)); - stat->length = (u32)ent->length * card->sectorSize; - memcpy(stat->fileName, ent->fileName, CARD_FILENAME_MAX); - stat->time = ent->time; - - stat->bannerFormat = ent->bannerFormat; - stat->iconAddr = ent->iconAddr; - stat->iconFormat = ent->iconFormat; - stat->iconSpeed = ent->iconSpeed; - stat->commentAddr = ent->commentAddr; - - UpdateIconOffsets(ent, stat); - } - return __CARDPutControlBlock(card, result); -} - -s32 CARDSetStatusAsync(s32 chan, s32 fileNo, CARDStat *stat, CARDCallback callback) -{ - CARDControl *card; - CARDDir *dir; - CARDDir *ent; - s32 result; - - if (fileNo < 0 || CARD_MAX_FILE <= fileNo || (stat->iconAddr != 0xffffffff && CARD_READ_SIZE <= stat->iconAddr) - || (stat->commentAddr != 0xffffffff && CARD_SYSTEM_BLOCK_SIZE - CARD_COMMENT_SIZE < stat->commentAddr % CARD_SYSTEM_BLOCK_SIZE)) { - return CARD_RESULT_FATAL_ERROR; - } - result = __CARDGetControlBlock(chan, &card); - if (result < 0) { - return result; - } - - dir = __CARDGetDirBlock(card); - ent = &dir[fileNo]; - result = __CARDAccess(card, ent); - if (result < 0) { - return __CARDPutControlBlock(card, result); - } - - ent->bannerFormat = stat->bannerFormat; - ent->iconAddr = stat->iconAddr; - ent->iconFormat = stat->iconFormat; - ent->iconSpeed = stat->iconSpeed; - ent->commentAddr = stat->commentAddr; - UpdateIconOffsets(ent, stat); - - if (ent->iconAddr == 0xffffffff) { - CARDSetIconSpeed(ent, 0, CARD_STAT_SPEED_FAST); - } - - ent->time = (u32)OSTicksToSeconds(OSGetTime()); - result = __CARDUpdateDir(chan, callback); - if (result < 0) { - __CARDPutControlBlock(card, result); - } - return result; -} - -s32 CARDSetStatus(s32 chan, s32 fileNo, CARDStat *stat) -{ - s32 result = CARDSetStatusAsync(chan, fileNo, stat, __CARDSyncCallback); - if (result < 0) { - return result; - } - - return __CARDSync(chan); -} diff --git a/src/dolphin/card/CARDUnlock.c b/src/dolphin/card/CARDUnlock.c deleted file mode 100644 index 55989b97..00000000 --- a/src/dolphin/card/CARDUnlock.c +++ /dev/null @@ -1,406 +0,0 @@ -#include -#include -#include -#include -#include - -#include "string.h" - -#include - -static void InitCallback(void *task); -static void DoneCallback(void *task); - -static u8 CardData[] ATTRIBUTE_ALIGN(32) = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x02, 0xFF, 0x00, 0x21, 0x13, 0x06, 0x12, 0x03, 0x12, 0x04, 0x13, 0x05, 0x00, - 0x92, 0x00, 0xFF, 0x00, 0x88, 0xFF, 0xFF, 0x00, 0x89, 0xFF, 0xFF, 0x00, 0x8A, 0xFF, 0xFF, 0x00, 0x8B, 0xFF, 0xFF, 0x8F, 0x00, 0x02, 0xBF, 0x00, - 0x88, 0x16, 0xFC, 0xDC, 0xD1, 0x16, 0xFD, 0x00, 0x00, 0x16, 0xFB, 0x00, 0x01, 0x02, 0xBF, 0x00, 0x8E, 0x25, 0xFF, 0x03, 0x80, 0xFF, 0x00, 0x02, - 0x94, 0x00, 0x27, 0x02, 0xBF, 0x00, 0x8E, 0x1F, 0xDF, 0x24, 0xFF, 0x02, 0x40, 0x0F, 0xFF, 0x00, 0x98, 0x04, 0x00, 0x00, 0x9A, 0x00, 0x10, 0x00, - 0x99, 0x00, 0x00, 0x8E, 0x00, 0x02, 0xBF, 0x00, 0x94, 0x02, 0xBF, 0x86, 0x44, 0x02, 0xBF, 0x00, 0x88, 0x16, 0xFC, 0xDC, 0xD1, 0x16, 0xFD, 0x00, - 0x03, 0x16, 0xFB, 0x00, 0x01, 0x8F, 0x00, 0x02, 0xBF, 0x00, 0x8E, 0x03, 0x80, 0xCD, 0xD1, 0x02, 0x94, 0x00, 0x48, 0x27, 0xFF, 0x03, 0x80, 0x00, - 0x01, 0x02, 0x95, 0x00, 0x5A, 0x03, 0x80, 0x00, 0x02, 0x02, 0x95, 0x80, 0x00, 0x02, 0x9F, 0x00, 0x48, 0x00, 0x21, 0x8E, 0x00, 0x02, 0xBF, 0x00, - 0x8E, 0x25, 0xFF, 0x02, 0xBF, 0x00, 0x8E, 0x25, 0xFF, 0x02, 0xBF, 0x00, 0x8E, 0x25, 0xFF, 0x02, 0xBF, 0x00, 0x8E, 0x00, 0xC5, 0xFF, 0xFF, 0x03, - 0x40, 0x0F, 0xFF, 0x1C, 0x9F, 0x02, 0xBF, 0x00, 0x8E, 0x00, 0xC7, 0xFF, 0xFF, 0x02, 0xBF, 0x00, 0x8E, 0x00, 0xC6, 0xFF, 0xFF, 0x02, 0xBF, 0x00, - 0x8E, 0x00, 0xC0, 0xFF, 0xFF, 0x02, 0xBF, 0x00, 0x8E, 0x20, 0xFF, 0x03, 0x40, 0x0F, 0xFF, 0x1F, 0x5F, 0x02, 0xBF, 0x00, 0x8E, 0x21, 0xFF, 0x02, - 0xBF, 0x00, 0x8E, 0x23, 0xFF, 0x12, 0x05, 0x12, 0x06, 0x02, 0x9F, 0x80, 0xB5, 0x00, 0x21, 0x27, 0xFC, 0x03, 0xC0, 0x80, 0x00, 0x02, 0x9D, 0x00, - 0x88, 0x02, 0xDF, 0x27, 0xFE, 0x03, 0xC0, 0x80, 0x00, 0x02, 0x9C, 0x00, 0x8E, 0x02, 0xDF, 0x2E, 0xCE, 0x2C, 0xCF, 0x00, 0xF8, 0xFF, 0xCD, 0x00, - 0xF9, 0xFF, 0xC9, 0x00, 0xFA, 0xFF, 0xCB, 0x26, 0xC9, 0x02, 0xC0, 0x00, 0x04, 0x02, 0x9D, 0x00, 0x9C, 0x02, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - -typedef struct DecodeParameters { - u8 *inputAddr; - u32 inputLength; - u32 aramAddr; - u8 *outputAddr; -} DecodeParameters; - -static unsigned long int next = 1; - -static int CARDRand(void) -{ - next = next * 1103515245 + 12345; - return (int)((unsigned int)(next / 65536) % 32768); -} - -static void CARDSrand(unsigned int seed) -{ - next = seed; -} - -static u32 GetInitVal(void) -{ - u32 tmp; - u32 tick; - - tick = OSGetTick(); - CARDSrand(tick); - tmp = 0x7fec8000; - tmp |= CARDRand(); - tmp &= 0xfffff000; - return tmp; -} - -static u32 exnor_1st(u32 data, u32 rshift) -{ - u32 wk; - u32 w; - u32 i; - - w = data; - for (i = 0; i < rshift; i++) { - wk = ~(w ^ (w >> 7) ^ (w >> 15) ^ (w >> 23)); - w = (w >> 1) | ((wk << 30) & 0x40000000); - } - return w; -} - -static u32 exnor(u32 data, u32 lshift) -{ - u32 wk; - u32 w; - u32 i; - - w = data; - for (i = 0; i < lshift; i++) { - // 1bit Left Shift - wk = ~(w ^ (w << 7) ^ (w << 15) ^ (w << 23)); - w = (w << 1) | ((wk >> 30) & 0x00000002); - // printf("i=%d, w=%8x\n", i, w); - } - return w; -} - -static u32 bitrev(u32 data) -{ - u32 wk; - u32 i; - u32 k = 0; - u32 j = 1; - - wk = 0; - for (i = 0; i < 32; i++) { - if (i > 15) { - if (i == 31) { - wk |= (((data & (0x01 << 31)) >> 31) & 0x01); - } - else { - wk |= ((data & (0x01 << i)) >> j); - j += 2; - } - } - else { - wk |= ((data & (0x01 << i)) << (31 - i - k)); - k++; - } - } - return wk; -} - -#define SEC_AD1(x) ((u8)(((x) >> 29) & 0x03)) -#define SEC_AD2(x) ((u8)(((x) >> 21) & 0xff)) -#define SEC_AD3(x) ((u8)(((x) >> 19) & 0x03)) -#define SEC_BA(x) ((u8)(((x) >> 12) & 0x7f)) - -static s32 ReadArrayUnlock(s32 chan, u32 data, void *rbuf, s32 rlen, s32 mode) -{ - CARDControl *card; - BOOL err; - u8 cmd[5]; - - card = &__CARDBlock[chan]; - if (!EXISelect(chan, 0, 4)) { - return CARD_RESULT_NOCARD; - } - - data &= 0xfffff000; - memset(cmd, 0, 5); - cmd[0] = 0x52; - if (mode == 0) { - cmd[1] = SEC_AD1(data); - cmd[2] = SEC_AD2(data); - cmd[3] = SEC_AD3(data); - cmd[4] = SEC_BA(data); - } - else { - cmd[1] = (u8)((data & 0xff000000) >> 24); - cmd[2] = (u8)((data & 0x00ff0000) >> 16); - } - - err = FALSE; - err |= !EXIImmEx(chan, cmd, 5, 1); - err |= !EXIImmEx(chan, (u8 *)card->workArea + (u32)sizeof(CARDID), card->latency, 1); - err |= !EXIImmEx(chan, rbuf, rlen, 0); - err |= !EXIDeselect(chan); - - return err ? CARD_RESULT_NOCARD : CARD_RESULT_READY; -} - -// Calculate Dummy Read Length, 4-32Bytes -static s32 DummyLen(void) -{ - u32 tick; - u32 wk; - s32 tmp; - u32 max; - - wk = 1; - max = 0; - tick = OSGetTick(); - CARDSrand(tick); - - tmp = CARDRand(); - tmp &= 0x0000001f; - tmp += 1; - while ((tmp < 4) && (max < 10)) { - tick = OSGetTick(); - tmp = (s32)(tick << wk); - wk++; - if (wk > 16) { - wk = 1; - } - CARDSrand((u32)tmp); - tmp = CARDRand(); - tmp &= 0x0000001f; - tmp += 1; - max++; - } - if (tmp < 4) { - tmp = 4; - } - - return tmp; -} - -s32 __CARDUnlock(s32 chan, u8 flashID[12]) -{ - u32 init_val; - u32 data; - - s32 dummy; - s32 rlen; - u32 rshift; - - u8 fsts; - u32 wk, wk1; - u32 Ans1 = 0; - u32 Ans2 = 0; - u32 *dp; - u8 rbuf[64]; - u32 para1A = 0; - u32 para1B = 0; - u32 para2A = 0; - u32 para2B = 0; - - CARDControl *card; - DSPTaskInfo *task; - DecodeParameters *param; - u8 *input; - u8 *output; - - card = &__CARDBlock[chan]; - task = &card->task; - param = (DecodeParameters *)card->workArea; - input = (u8 *)((u8 *)param + sizeof(DecodeParameters)); - input = (u8 *)OSRoundUp32B(input); - output = input + 32; - - fsts = 0; - init_val = GetInitVal(); - - dummy = DummyLen(); - rlen = dummy; - if (ReadArrayUnlock(chan, init_val, rbuf, rlen, 0) < 0) { - return CARD_RESULT_NOCARD; - } - - rshift = (u32)(dummy * 8 + 1); - wk = exnor_1st(init_val, rshift); - wk1 = ~(wk ^ (wk >> 7) ^ (wk >> 15) ^ (wk >> 23)); - card->scramble = (wk | ((wk1 << 31) & 0x80000000)); - card->scramble = bitrev(card->scramble); - dummy = DummyLen(); - rlen = 20 + dummy; - data = 0; - if (ReadArrayUnlock(chan, data, rbuf, rlen, 1) < 0) { - return CARD_RESULT_NOCARD; - } - dp = (u32 *)rbuf; - para1A = *dp++; - para1B = *dp++; - Ans1 = *dp++; - para2A = *dp++; - para2B = *dp++; - para1A = (para1A ^ card->scramble); - rshift = 32; - wk = exnor(card->scramble, rshift); - wk1 = ~(wk ^ (wk << 7) ^ (wk << 15) ^ (wk << 23)); - card->scramble = (wk | ((wk1 >> 31) & 0x00000001)); - para1B = (para1B ^ card->scramble); - rshift = 32; - wk = exnor(card->scramble, rshift); - wk1 = ~(wk ^ (wk << 7) ^ (wk << 15) ^ (wk << 23)); - card->scramble = (wk | ((wk1 >> 31) & 0x00000001)); - Ans1 ^= card->scramble; - rshift = 32; - wk = exnor(card->scramble, rshift); - wk1 = ~(wk ^ (wk << 7) ^ (wk << 15) ^ (wk << 23)); - card->scramble = (wk | ((wk1 >> 31) & 0x00000001)); - para2A = (para2A ^ card->scramble); - rshift = 32; - wk = exnor(card->scramble, rshift); - wk1 = ~(wk ^ (wk << 7) ^ (wk << 15) ^ (wk << 23)); - card->scramble = (wk | ((wk1 >> 31) & 0x00000001)); - para2B = (para2B ^ card->scramble); - rshift = (u32)(dummy * 8); - wk = exnor(card->scramble, rshift); - wk1 = ~(wk ^ (wk << 7) ^ (wk << 15) ^ (wk << 23)); - card->scramble = (wk | ((wk1 >> 31) & 0x00000001)); - rshift = 32 + 1; - wk = exnor(card->scramble, rshift); - wk1 = ~(wk ^ (wk << 7) ^ (wk << 15) ^ (wk << 23)); - card->scramble = (wk | ((wk1 >> 31) & 0x00000001)); - - *(u32 *)&input[0] = para2A; - *(u32 *)&input[4] = para2B; - - param->inputAddr = input; - param->inputLength = 8; - param->outputAddr = output; - param->aramAddr = 0; - - DCFlushRange(input, 8); - DCInvalidateRange(output, 4); - DCFlushRange(param, sizeof(DecodeParameters)); - - task->priority = 255; - task->iram_mmem_addr = (u16 *)OSPhysicalToCached(CardData); - task->iram_length = 0x160; - task->iram_addr = 0; - task->dsp_init_vector = 0x10; - task->init_cb = InitCallback; - task->res_cb = NULL; - task->done_cb = DoneCallback; - task->req_cb = NULL; - DSPAddTask(task); - - dp = (u32 *)flashID; - *dp++ = para1A; - *dp++ = para1B; - *dp = Ans1; - - return CARD_RESULT_READY; -} - -static void InitCallback(void *_task) -{ - s32 chan; - CARDControl *card; - DSPTaskInfo *task; - DecodeParameters *param; - - task = _task; - for (chan = 0; chan < 2; ++chan) { - card = &__CARDBlock[chan]; - if ((DSPTaskInfo *)&card->task == task) { - break; - } - } - param = (DecodeParameters *)card->workArea; - - DSPSendMailToDSP(0xff000000); - while (DSPCheckMailToDSP()) - ; - - DSPSendMailToDSP((u32)param); - while (DSPCheckMailToDSP()) - ; -} - -static void DoneCallback(void *_task) -{ - u8 rbuf[64]; - u32 data; - s32 dummy; - s32 rlen; - u32 rshift; - - u8 unk; - u32 wk, wk1; - u32 Ans2; - - s32 chan; - CARDControl *card; - s32 result; - DSPTaskInfo *task; - DecodeParameters *param; - - u8 *input; - u8 *output; - task = _task; - for (chan = 0; chan < 2; ++chan) { - card = &__CARDBlock[chan]; - if ((DSPTaskInfo *)&card->task == task) { - break; - } - } - - param = (DecodeParameters *)card->workArea; - input = (u8 *)((u8 *)param + sizeof(DecodeParameters)); - input = (u8 *)OSRoundUp32B(input); - output = input + 32; - - Ans2 = *(u32 *)output; - dummy = DummyLen(); - rlen = dummy; - data = ((Ans2 ^ card->scramble) & 0xffff0000); - if (ReadArrayUnlock(chan, data, rbuf, rlen, 1) < 0) { - EXIUnlock(chan); - __CARDMountCallback(chan, CARD_RESULT_NOCARD); - return; - } - - rshift = (u32)((dummy + 4 + card->latency) * 8 + 1); - wk = exnor(card->scramble, rshift); - wk1 = ~(wk ^ (wk << 7) ^ (wk << 15) ^ (wk << 23)); - card->scramble = (wk | ((wk1 >> 31) & 0x00000001)); - - dummy = DummyLen(); - rlen = dummy; - data = (((Ans2 << 16) ^ card->scramble) & 0xffff0000); - if (ReadArrayUnlock(chan, data, rbuf, rlen, 1) < 0) { - EXIUnlock(chan); - __CARDMountCallback(chan, CARD_RESULT_NOCARD); - return; - } - result = __CARDReadStatus(chan, &unk); - if (!EXIProbe(chan)) { - EXIUnlock(chan); - __CARDMountCallback(chan, CARD_RESULT_NOCARD); - return; - } - if (result == CARD_RESULT_READY && !(unk & 0x40)) { - EXIUnlock(chan); - result = CARD_RESULT_IOERROR; - } - __CARDMountCallback(chan, result); -} diff --git a/src/dolphin/card/CARDWrite.c b/src/dolphin/card/CARDWrite.c deleted file mode 100644 index ca8aacfb..00000000 --- a/src/dolphin/card/CARDWrite.c +++ /dev/null @@ -1,128 +0,0 @@ -#include -#include -#include -#include - -#include - -static void EraseCallback(s32 chan, s32 result); - -static void WriteCallback(s32 chan, s32 result) -{ - CARDControl *card; - CARDCallback callback; - u16 *fat; - CARDDir *dir; - CARDDir *ent; - CARDFileInfo *fileInfo; - - card = &__CARDBlock[chan]; - if (result < 0) { - goto error; - } - - fileInfo = card->fileInfo; - if (fileInfo->length < 0) { - result = CARD_RESULT_CANCELED; - goto error; - } - - fileInfo->length -= card->sectorSize; - if (fileInfo->length <= 0) { - dir = __CARDGetDirBlock(card); - ent = &dir[fileInfo->fileNo]; - ent->time = (u32)OSTicksToSeconds(OSGetTime()); - callback = card->apiCallback; - card->apiCallback = 0; - result = __CARDUpdateDir(chan, callback); - } - else { - fat = __CARDGetFatBlock(card); - fileInfo->offset += card->sectorSize; - fileInfo->iBlock = fat[fileInfo->iBlock]; - if (!CARDIsValidBlockNo(card, fileInfo->iBlock)) { - result = CARD_RESULT_BROKEN; - goto error; - } - result = __CARDEraseSector(chan, card->sectorSize * (u32)fileInfo->iBlock, EraseCallback); - } - - if (result < 0) { - goto error; - } - return; - -error: - callback = card->apiCallback; - card->apiCallback = 0; - __CARDPutControlBlock(card, result); - callback(chan, result); -} - -static void EraseCallback(s32 chan, s32 result) -{ - CARDControl *card; - CARDCallback callback; - CARDFileInfo *fileInfo; - - card = &__CARDBlock[chan]; - if (result < 0) { - goto error; - } - - fileInfo = card->fileInfo; - result = __CARDWrite(chan, card->sectorSize * (u32)fileInfo->iBlock, card->sectorSize, card->buffer, WriteCallback); - if (result < 0) { - goto error; - } - return; - -error: - callback = card->apiCallback; - card->apiCallback = 0; - __CARDPutControlBlock(card, result); - callback(chan, result); -} - -s32 CARDWriteAsync(CARDFileInfo *fileInfo, const void *buf, s32 length, s32 offset, CARDCallback callback) -{ - CARDControl *card; - s32 result; - CARDDir *dir; - CARDDir *ent; - - result = __CARDSeek(fileInfo, length, offset, &card); - if (result < 0) { - return result; - } - - if (OFFSET(offset, card->sectorSize) != 0 || OFFSET(length, card->sectorSize) != 0) { - return __CARDPutControlBlock(card, CARD_RESULT_FATAL_ERROR); - } - - dir = __CARDGetDirBlock(card); - ent = &dir[fileInfo->fileNo]; - result = __CARDAccess(card, ent); - if (result < 0) { - return __CARDPutControlBlock(card, result); - } - - DCStoreRange((void *)buf, (u32)length); - card->apiCallback = callback ? callback : __CARDDefaultApiCallback; - card->buffer = (void *)buf; - result = __CARDEraseSector(fileInfo->chan, card->sectorSize * (u32)fileInfo->iBlock, EraseCallback); - if (result < 0) { - __CARDPutControlBlock(card, result); - } - return result; -} - -s32 CARDWrite(CARDFileInfo *fileInfo, const void *buf, s32 length, s32 offset) -{ - s32 result = CARDWriteAsync(fileInfo, buf, length, offset, __CARDSyncCallback); - if (result < 0) { - return result; - } - - return __CARDSync(fileInfo->chan); -} diff --git a/src/dolphin/db.c b/src/dolphin/db.c deleted file mode 100644 index bcf8534d..00000000 --- a/src/dolphin/db.c +++ /dev/null @@ -1,43 +0,0 @@ -#include -#include - -DBInterface* __DBInterface = NULL; -int DBVerbose; - -extern void __DBExceptionStart(); -extern void __DBExceptionEnd(); -extern void __DBExceptionSetNumber(); - -void DBInit(void) { - __DBInterface = (DBInterface*)OSPhysicalToCached(OS_DBINTERFACE_ADDR); - __DBInterface->ExceptionDestination = (void (*)())OSCachedToPhysical(__DBExceptionDestination); - DBVerbose = TRUE; -} - -void __DBExceptionDestinationAux(void) { - u32* contextAddr = (void*)0x00C0; - OSContext* context = (OSContext*)OSPhysicalToCached(*contextAddr); - - OSReport("DBExceptionDestination\n"); - OSDumpContext(context); - PPCHalt(); -} - -/* clang-format off */ -asm void __DBExceptionDestination(void) { - nofralloc - mfmsr r3 - ori r3, r3, 0x10|0x20 - mtmsr r3 - - b __DBExceptionDestinationAux -} -/* clang-format on */ - -BOOL __DBIsExceptionMarked(__OSException exception) { - u32 mask = 1 << exception; - - return (BOOL)(__DBInterface->exceptionMask & mask); -} - -void DBPrintf(char* format, ...) {} diff --git a/src/dolphin/demo/DEMOFont.c b/src/dolphin/demo/DEMOFont.c deleted file mode 100644 index 121cd356..00000000 --- a/src/dolphin/demo/DEMOFont.c +++ /dev/null @@ -1,773 +0,0 @@ -#include -#include - -unsigned long DEMOFontBitmap[768] ATTRIBUTE_ALIGN(32) = { - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x000FF000, - 0x000FF000, - 0x000FF000, - 0x000FF000, - 0x000FF000, - 0x00000000, - 0x000FF000, - 0x00000000, - 0x00F00F00, - 0x00F00F00, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00F00F00, - 0x00F00F00, - 0x0FFFFFF0, - 0x00F00F00, - 0x0FFFFFF0, - 0x00F00F00, - 0x00F00F00, - 0x00000000, - 0x0000F000, - 0x00FFFFF0, - 0x0F00F000, - 0x00FFFF00, - 0x0000F0F0, - 0x0FFFFF00, - 0x0000F000, - 0x00000000, - 0x0FF000F0, - 0x0FF00F00, - 0x0000F000, - 0x000F0000, - 0x00F00FF0, - 0x0F000FF0, - 0x00000000, - 0x00000000, - 0x000F0000, - 0x00F0F000, - 0x00F0F000, - 0x00FF0000, - 0x0F000FF0, - 0x0F0000F0, - 0x00FFFF00, - 0x00000000, - 0x000FF000, - 0x000FF000, - 0x0000F000, - 0x000F0000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x0000F000, - 0x000F0000, - 0x00F00000, - 0x00F00000, - 0x00F00000, - 0x000F0000, - 0x0000F000, - 0x00000000, - 0x000F0000, - 0x0000F000, - 0x00000F00, - 0x00000F00, - 0x00000F00, - 0x0000F000, - 0x000F0000, - 0x00000000, - 0x00000000, - 0x00F000F0, - 0x000F0F00, - 0x00FFFFF0, - 0x000F0F00, - 0x00F000F0, - 0x00000000, - 0x00000000, - 0x00000000, - 0x0000F000, - 0x0000F000, - 0x00FFFFF0, - 0x0000F000, - 0x0000F000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x000FF000, - 0x000FF000, - 0x0000F000, - 0x000F0000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00FFFFF0, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x000FF000, - 0x000FF000, - 0x00000000, - 0x000000F0, - 0x00000F00, - 0x0000F000, - 0x000F0000, - 0x00F00000, - 0x0F000000, - 0x00000000, - 0x00000000, - 0x000FF000, - 0x00F00F00, - 0x0F0000F0, - 0x0F0000F0, - 0x0F0000F0, - 0x00F00F00, - 0x000FF000, - 0x00000000, - 0x0000F000, - 0x000FF000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x000FFF00, - 0x00000000, - 0x00FFFF00, - 0x0F0000F0, - 0x000000F0, - 0x00000F00, - 0x0000F000, - 0x000F0000, - 0x0FFFFFF0, - 0x00000000, - 0x00FFFF00, - 0x0F0000F0, - 0x000000F0, - 0x0000FF00, - 0x000000F0, - 0x0F0000F0, - 0x00FFFF00, - 0x00000000, - 0x00000F00, - 0x0000FF00, - 0x000F0F00, - 0x00F00F00, - 0x0FFFFFF0, - 0x00000F00, - 0x00000F00, - 0x00000000, - 0x0FFFFFF0, - 0x0F000000, - 0x0F000000, - 0x0FFFFF00, - 0x000000F0, - 0x0F0000F0, - 0x00FFFF00, - 0x00000000, - 0x000FFF00, - 0x00F00000, - 0x0F000000, - 0x0FFFFF00, - 0x0F0000F0, - 0x0F0000F0, - 0x00FFFF00, - 0x00000000, - 0x0FFFFFF0, - 0x0F0000F0, - 0x00000F00, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x00000000, - 0x00FFFF00, - 0x0F0000F0, - 0x0F0000F0, - 0x00FFFF00, - 0x0F0000F0, - 0x0F0000F0, - 0x00FFFF00, - 0x00000000, - 0x00FFFF00, - 0x0F0000F0, - 0x0F0000F0, - 0x00FFFFF0, - 0x000000F0, - 0x000000F0, - 0x00FFFF00, - 0x00000000, - 0x00000000, - 0x000FF000, - 0x000FF000, - 0x00000000, - 0x000FF000, - 0x000FF000, - 0x00000000, - 0x00000000, - 0x000FF000, - 0x000FF000, - 0x00000000, - 0x000FF000, - 0x000FF000, - 0x0000F000, - 0x000F0000, - 0x00000000, - 0x00000F00, - 0x0000F000, - 0x000F0000, - 0x00F00000, - 0x000F0000, - 0x0000F000, - 0x00000F00, - 0x00000000, - 0x00000000, - 0x00000000, - 0x0FFFFFF0, - 0x00000000, - 0x0FFFFFF0, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00F00000, - 0x000F0000, - 0x0000F000, - 0x00000F00, - 0x0000F000, - 0x000F0000, - 0x00F00000, - 0x00000000, - 0x00FFFF00, - 0x0F0000F0, - 0x0F0000F0, - 0x0000FF00, - 0x000FF000, - 0x00000000, - 0x000FF000, - 0x00000000, - 0x00FFFF00, - 0x0F0000F0, - 0x0F000FF0, - 0x0F00F0F0, - 0x0F00FFF0, - 0x0F000000, - 0x00FFFFF0, - 0x00000000, - 0x000FF000, - 0x00F00F00, - 0x0F0000F0, - 0x0F0000F0, - 0x0FFFFFF0, - 0x0F0000F0, - 0x0F0000F0, - 0x00000000, - 0x0FFFFF00, - 0x0F0000F0, - 0x0F0000F0, - 0x0FFFFF00, - 0x0F0000F0, - 0x0F0000F0, - 0x0FFFFF00, - 0x00000000, - 0x000FFF00, - 0x00F000F0, - 0x0F000000, - 0x0F000000, - 0x0F000000, - 0x00F000F0, - 0x000FFF00, - 0x00000000, - 0x0FFFF000, - 0x0F000F00, - 0x0F0000F0, - 0x0F0000F0, - 0x0F0000F0, - 0x0F000F00, - 0x0FFFF000, - 0x00000000, - 0x0FFFFFF0, - 0x0F000000, - 0x0F000000, - 0x0FFFFF00, - 0x0F000000, - 0x0F000000, - 0x0FFFFFF0, - 0x00000000, - 0x0FFFFFF0, - 0x0F000000, - 0x0F000000, - 0x0FFFFF00, - 0x0F000000, - 0x0F000000, - 0x0F000000, - 0x00000000, - 0x000FFF00, - 0x00F00000, - 0x0F000000, - 0x0F00FFF0, - 0x0F0000F0, - 0x00F000F0, - 0x000FFF00, - 0x00000000, - 0x0F0000F0, - 0x0F0000F0, - 0x0F0000F0, - 0x0FFFFFF0, - 0x0F0000F0, - 0x0F0000F0, - 0x0F0000F0, - 0x00000000, - 0x000FFF00, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x000FFF00, - 0x00000000, - 0x0000FFF0, - 0x00000F00, - 0x00000F00, - 0x00000F00, - 0x00000F00, - 0x0F000F00, - 0x00FFF000, - 0x00000000, - 0x0F0000F0, - 0x0F000F00, - 0x0F00F000, - 0x0FFF0000, - 0x0F00F000, - 0x0F000F00, - 0x0F0000F0, - 0x00000000, - 0x0F000000, - 0x0F000000, - 0x0F000000, - 0x0F000000, - 0x0F000000, - 0x0F000000, - 0x0FFFFFF0, - 0x00000000, - 0x0F00000F, - 0x0FF000FF, - 0x0F0F0F0F, - 0x0F00F00F, - 0x0F00F00F, - 0x0F00000F, - 0x0F00000F, - 0x00000000, - 0x0F0000F0, - 0x0FF000F0, - 0x0F0F00F0, - 0x0F00F0F0, - 0x0F00F0F0, - 0x0F000FF0, - 0x0F0000F0, - 0x00000000, - 0x00FFFF00, - 0x0F0000F0, - 0x0F0000F0, - 0x0F0000F0, - 0x0F0000F0, - 0x0F0000F0, - 0x00FFFF00, - 0x00000000, - 0x0FFFFF00, - 0x0F0000F0, - 0x0F0000F0, - 0x0FFFFF00, - 0x0F000000, - 0x0F000000, - 0x0F000000, - 0x00000000, - 0x00FFFF00, - 0x0F0000F0, - 0x0F0000F0, - 0x0F0000F0, - 0x0F00F0F0, - 0x0F000F00, - 0x00FFF0F0, - 0x00000000, - 0x0FFFFF00, - 0x0F0000F0, - 0x0F0000F0, - 0x0FFFFF00, - 0x0F00F000, - 0x0F000F00, - 0x0F0000F0, - 0x00000000, - 0x00FFFF00, - 0x0F0000F0, - 0x0F000000, - 0x00FFFF00, - 0x000000F0, - 0x0F0000F0, - 0x00FFFF00, - 0x00000000, - 0x0FFFFFFF, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x00000000, - 0x0F0000F0, - 0x0F0000F0, - 0x0F0000F0, - 0x0F0000F0, - 0x0F0000F0, - 0x0F0000F0, - 0x00FFFF00, - 0x00000000, - 0x0F0000F0, - 0x0F0000F0, - 0x0F0000F0, - 0x0F0000F0, - 0x00F00F00, - 0x00F00F00, - 0x000FF000, - 0x00000000, - 0x0F00000F, - 0x0F00000F, - 0x0F00000F, - 0x0F00F00F, - 0x0F00F00F, - 0x0F00F00F, - 0x00FF0FF0, - 0x00000000, - 0x0F0000F0, - 0x0F0000F0, - 0x00F00F00, - 0x000FF000, - 0x00F00F00, - 0x0F0000F0, - 0x0F0000F0, - 0x00000000, - 0x0F00000F, - 0x00F000F0, - 0x000F0F00, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x00000000, - 0x0FFFFFF0, - 0x000000F0, - 0x00000F00, - 0x000FF000, - 0x00F00000, - 0x0F000000, - 0x0FFFFFF0, - 0x00000000, - 0x000FFF00, - 0x000F0000, - 0x000F0000, - 0x000F0000, - 0x000F0000, - 0x000F0000, - 0x000FFF00, - 0x00000000, - 0x0F000000, - 0x00F00000, - 0x000F0000, - 0x0000F000, - 0x00000F00, - 0x000000F0, - 0x00000000, - 0x00000000, - 0x00FFF000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x00FFF000, - 0x00000000, - 0x000FF000, - 0x00F00F00, - 0x0F0000F0, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x0FFFFFF0, - 0x00000000, - 0x000FF000, - 0x000FF000, - 0x000F0000, - 0x0000F000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00FFFF00, - 0x0F000F00, - 0x0F000F00, - 0x0F000F00, - 0x00FFFFF0, - 0x00000000, - 0x00F00000, - 0x00F00000, - 0x00F00000, - 0x00FFFF00, - 0x00F000F0, - 0x00F000F0, - 0x00FFFF00, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00FFFF00, - 0x0F000000, - 0x0F000000, - 0x0F000000, - 0x00FFFF00, - 0x00000000, - 0x000000F0, - 0x000000F0, - 0x000000F0, - 0x000FFFF0, - 0x00F000F0, - 0x00F000F0, - 0x000FFFF0, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00FFFF00, - 0x0F0000F0, - 0x0FFFFFF0, - 0x0F000000, - 0x00FFFF00, - 0x00000000, - 0x0000FF00, - 0x000F0000, - 0x000F0000, - 0x0FFFFF00, - 0x000F0000, - 0x000F0000, - 0x000F0000, - 0x00000000, - 0x00000000, - 0x000FFFF0, - 0x00F000F0, - 0x00F000F0, - 0x000FFFF0, - 0x000000F0, - 0x000FFF00, - 0x00000000, - 0x00F00000, - 0x00F00000, - 0x00F00000, - 0x00F0FF00, - 0x00FF00F0, - 0x00F000F0, - 0x00F000F0, - 0x00000000, - 0x00000000, - 0x0000F000, - 0x00000000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x00000000, - 0x00000F00, - 0x00000000, - 0x00000F00, - 0x00000F00, - 0x00000F00, - 0x00F00F00, - 0x000FF000, - 0x00000000, - 0x00000000, - 0x00F00000, - 0x00F00000, - 0x00F00F00, - 0x00F0F000, - 0x00FFF000, - 0x00F00F00, - 0x00000000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x00000F00, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00F0FF00, - 0x0F0F00F0, - 0x0F0F00F0, - 0x0F0F00F0, - 0x0F0F00F0, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00F0FF00, - 0x00FF00F0, - 0x00F000F0, - 0x00F000F0, - 0x00F000F0, - 0x00000000, - 0x00000000, - 0x00000000, - 0x000FFF00, - 0x00F000F0, - 0x00F000F0, - 0x00F000F0, - 0x000FFF00, - 0x00000000, - 0x00000000, - 0x00FFF000, - 0x00F00F00, - 0x00F00F00, - 0x00FFF000, - 0x00F00000, - 0x00F00000, - 0x00000000, - 0x00000000, - 0x000FFF00, - 0x00F00F00, - 0x00F00F00, - 0x000FFF00, - 0x00000F00, - 0x00000FF0, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00F0FFF0, - 0x00FF0000, - 0x00F00000, - 0x00F00000, - 0x00F00000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x000FFFF0, - 0x00F00000, - 0x000FFF00, - 0x000000F0, - 0x00FFFF00, - 0x00000000, - 0x00000000, - 0x0000F000, - 0x00FFFFF0, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x00000FF0, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00F000F0, - 0x00F000F0, - 0x00F000F0, - 0x00F000F0, - 0x000FFFF0, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00F000F0, - 0x00F000F0, - 0x00F000F0, - 0x000F0F00, - 0x0000F000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x0F0000F0, - 0x0F00F0F0, - 0x0F00F0F0, - 0x0F00F0F0, - 0x00FF0F00, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00F000F0, - 0x000F0F00, - 0x0000F000, - 0x000F0F00, - 0x00F000F0, - 0x00000000, - 0x00000000, - 0x0F000F00, - 0x0F000F00, - 0x00F00F00, - 0x000FFF00, - 0x00000F00, - 0x00FFF000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00FFFFF0, - 0x00000F00, - 0x0000F000, - 0x000F0000, - 0x00FFFFF0, - 0x00000000, - 0x00000F00, - 0x0000F000, - 0x0000F000, - 0x00FF0000, - 0x0000F000, - 0x0000F000, - 0x00000F00, - 0x00000000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x0000F000, - 0x00000000, - 0x000F0000, - 0x0000F000, - 0x0000F000, - 0x00000FF0, - 0x0000F000, - 0x0000F000, - 0x000F0000, - 0x00000000, - 0x00FF00FF, - 0x0F00FF00, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00FF0000, - 0x0FF00000, - 0xFFFFFFFF, - 0xFFFFF000, - 0xFFFFF000, - 0xFFF00000, - 0x00000000 -}; diff --git a/src/dolphin/demo/DEMOInit.c b/src/dolphin/demo/DEMOInit.c deleted file mode 100644 index 86df9bd1..00000000 --- a/src/dolphin/demo/DEMOInit.c +++ /dev/null @@ -1,251 +0,0 @@ -#include -#include -#include -#include -#include -#include "game/init.h" - -#include - -extern unsigned char DemoStatEnable; // size: 0x1, address: 0x0 - -// .bss -static struct _GXRenderModeObj rmodeobj; // size: 0x3C, address: 0x0 - -// .sdata -static unsigned char DemoFirstFrame = 1; // size: 0x1, address: 0x0 - -// .sbss -static void *DefaultFifo = NULL; // size: 0x4, address: 0x0 -static GXFifoObj *DefaultFifoObj = NULL; // size: 0x4, address: 0x4 -static struct _GXRenderModeObj *rmode; // size: 0x4, address: 0x8 -static int BypassWorkaround; // size: 0x4, address: 0xC -static unsigned long FrameCount; // size: 0x4, address: 0x10 -static unsigned long FrameMissThreshold; // size: 0x4, address: 0x14 - -// functions -static void __DEMOInitRenderMode(struct _GXRenderModeObj *mode); -static void __DEMOInitMem(); -static void __DEMOInitGX(); -static void __DEMOInitVI(); -static void __DEMOInitForEmu(); -static void __BypassRetraceCallback(); -static void LoadMemInfo(); - -void DEMOInit(struct _GXRenderModeObj *mode) -{ - OSInit(); - DVDInit(); - VIInit(); - DEMOPadInit(); - __DEMOInitRenderMode(mode); - __DEMOInitMem(); - VIConfigure(rmode); - DefaultFifo = OSAllocFromHeap(__OSCurrHeap, 0x40000); - DefaultFifoObj = GXInit(DefaultFifo, 0x40000); - __DEMOInitGX(); - __DEMOInitVI(); -} - -static void __DEMOInitRenderMode(struct _GXRenderModeObj *mode) -{ - if (mode != NULL) { - rmode = mode; - return; - } - switch (VIGetTvFormat()) { - case VI_NTSC: - rmode = &GXNtsc480IntDf; - break; - case VI_PAL: - rmode = &GXPal528IntDf; - break; - case VI_MPAL: - rmode = &GXMpal480IntDf; - break; - default: - OSPanic(__FILE__, 0x1A6, "DEMOInit: invalid TV format\n"); - break; - } - GXAdjustForOverscan(rmode, &rmodeobj, 0, 0x10); - rmode = &rmodeobj; -} - -static void __DEMOInitMem() -{ - void *arenaLo = OSGetArenaLo(); - void *arenaHi = OSGetArenaHi(); - unsigned long fbSize = ((u16)(rmode->fbWidth + 15) & 0xFFF0) * rmode->xfbHeight * 2; - - DemoFrameBuffer1 = (void *)(((u32)arenaLo + 0x1F) & 0xFFFFFFE0); - DemoFrameBuffer2 = (void *)(((u32)DemoFrameBuffer1 + fbSize + 0x1F) & 0xFFFFFFE0); - DemoCurrentBuffer = DemoFrameBuffer2; - arenaLo = (void *)(((u32)DemoFrameBuffer2 + fbSize + 0x1F) & 0xFFFFFFE0); - OSSetArenaLo(arenaLo); - if (((OSGetConsoleType() + 0xF0000000) == 4U) && ((OSGetPhysicalMemSize() + 0xFFC00000) != 0U) - && (OSGetConsoleSimulatedMemSize() < 0x01800000U)) { - LoadMemInfo(); - return; - } - arenaLo = OSGetArenaLo(); - arenaHi = OSGetArenaHi(); - arenaLo = OSInitAlloc(arenaLo, arenaHi, 1); - OSSetArenaLo(arenaLo); - arenaLo = (void *)(((u32)arenaLo + 0x1F) & 0xFFFFFFE0); - arenaHi = (void *)((u32)arenaHi & 0xFFFFFFE0); - OSSetCurrentHeap(OSCreateHeap((void *)(((u32)arenaLo)), arenaHi)); - OSSetArenaLo((arenaLo = arenaHi)); -} - -static void __DEMOInitGX() -{ - GXSetViewport(0.0f, 0.0f, rmode->fbWidth, rmode->xfbHeight, 0.0f, 1.0f); - GXSetScissor(0, 0, rmode->fbWidth, rmode->efbHeight); - GXSetDispCopySrc(0, 0, rmode->fbWidth, rmode->efbHeight); - GXSetDispCopyDst(rmode->fbWidth, rmode->xfbHeight); - GXSetDispCopyYScale(((f32)rmode->xfbHeight / (f32)rmode->efbHeight)); - GXSetCopyFilter(rmode->aa, rmode->sample_pattern, 1, rmode->vfilter); - if (rmode->aa != 0) { - GXSetPixelFmt(2, 0); - } - else { - GXSetPixelFmt(0, 0); - } - GXCopyDisp(DemoCurrentBuffer, 1); - GXSetDispCopyGamma(0); -} - -static void __DEMOInitVI() -{ - unsigned long nin; - - VISetNextFrameBuffer(DemoFrameBuffer1); - DemoCurrentBuffer = DemoFrameBuffer2; - VIFlush(); - VIWaitForRetrace(); - nin = rmode->viTVmode & 1; - if (nin != 0) { - VIWaitForRetrace(); - } -} - -static void __DEMOInitForEmu() { } - -void DEMOBeforeRender() -{ - if (BypassWorkaround != 0) { - GXSetDrawSync(0xFEEB); - } - if (rmode->field_rendering != 0) { - GXSetViewportJitter(0.0f, 0.0f, rmode->fbWidth, rmode->xfbHeight, 0.0f, 1.0f, VIGetNextField()); - } - else { - GXSetViewport(0.0f, 0.0f, rmode->fbWidth, rmode->xfbHeight, 0.0f, 1.0f); - } - GXInvalidateVtxCache(); - GXInvalidateTexAll(); -} - -void DEMOSwapBuffers() -{ - VISetNextFrameBuffer(DemoCurrentBuffer); - if (DemoFirstFrame != 0) { - VISetBlack(0); - DemoFirstFrame = 0; - } - VIFlush(); - VIWaitForRetrace(); - if ((u32)DemoCurrentBuffer == (u32)DemoFrameBuffer1) { - DemoCurrentBuffer = DemoFrameBuffer2; - return; - } - DemoCurrentBuffer = DemoFrameBuffer1; -} - -struct _GXRenderModeObj *DEMOGetRenderModeObj() -{ - return rmode; -} - -u32 DEMOGetCurrentBuffer(void) -{ - return (u32)DemoCurrentBuffer; -} - -void DEMOEnableBypassWorkaround(unsigned long timeoutFrames) -{ - BypassWorkaround = 1; - FrameMissThreshold = timeoutFrames; - VISetPreRetraceCallback(__BypassRetraceCallback); -} - -static void __BypassRetraceCallback() -{ - FrameCount += 1; -} - -static void LoadMemInfo() -{ - void *arenaHiOld; - void *arenaLo; - void *arenaHi; - void *simMemEnd; - struct DVDFileInfo fileInfo; - unsigned long length; - unsigned long transferLength; - long offset; - unsigned long i; - unsigned long indexMax; - char *buf[63]; - struct { - void *start; - void *end; - } *memEntry; - - OSReport("\nNow, try to find memory info file...\n\n"); - if (!DVDOpen("/meminfo.bin", &fileInfo)) { - OSReport("\nCan't find memory info file. Use /XXX toolname/ to maximize available\n"); - OSReport("memory space. For now, we only use the first %dMB.\n", OSGetConsoleSimulatedMemSize() >> 0x14); - arenaLo = OSGetArenaLo(); - arenaHi = OSGetArenaHi(); - arenaLo = OSInitAlloc(arenaLo, arenaHi, 1); - OSSetArenaLo(arenaLo); - arenaLo = (void *)(((u32)arenaLo + 0x1F) & 0xFFFFFFE0); - arenaHi = (void *)((u32)arenaHi & 0xFFFFFFE0); - OSSetCurrentHeap(OSCreateHeap((void *)(((u32)arenaLo)), arenaHi)); - OSSetArenaLo((arenaLo = arenaHi)); - return; - } - memEntry = (void *)((u32)buf + 0x1F & 0xFFFFFFE0); - arenaHiOld = OSGetArenaHi(); - simMemEnd = OSPhysicalToCached(OSGetConsoleSimulatedMemSize()); - OSSetArenaHi(OSPhysicalToCached(OSGetPhysicalMemSize())); - arenaLo = OSGetArenaLo(); - arenaHi = OSGetArenaHi(); - arenaLo = OSInitAlloc(arenaLo, arenaHi, 1); - OSSetArenaLo(arenaLo); - arenaLo = (void *)(((u32)arenaLo + 0x1F) & 0xFFFFFFE0); - arenaHi = (void *)((u32)arenaHi & 0xFFFFFFE0); - OSSetCurrentHeap(OSCreateHeap((void *)(arenaLo), arenaHi)); - OSSetArenaLo((arenaLo = arenaHi)); - OSAllocFixed(&arenaHiOld, &simMemEnd); - length = fileInfo.length; - offset = 0; - while (length) { - OSReport("loop\n"); - transferLength = (length < 0x20) ? length : 0x20; - if (DVDReadPrio(&fileInfo, memEntry, (transferLength + 0x1F) & 0xFFFFFFE0, offset, 2) < 0) { - OSPanic(__FILE__, 0x49F, "An error occurred when issuing read to /meminfo.bin\n"); - } - indexMax = (transferLength / 8); - for (i = 0; i < indexMax; i++) { - OSReport("start: 0x%08x, end: 0x%08x\n", memEntry[i].start, memEntry[i].end); - OSAllocFixed(&memEntry[i].start, &memEntry[i].end); - OSReport("Removed 0x%08x - 0x%08x from the current heap\n", memEntry[i].start, (char *)memEntry[i].end - 1); - } - length -= transferLength; - offset += transferLength; - } - DVDClose(&fileInfo); - OSDumpHeap(__OSCurrHeap); -} diff --git a/src/dolphin/demo/DEMOPuts.c b/src/dolphin/demo/DEMOPuts.c deleted file mode 100644 index 618152e5..00000000 --- a/src/dolphin/demo/DEMOPuts.c +++ /dev/null @@ -1,146 +0,0 @@ -#include "stdarg.h" -#include "stdio.h" -#include -#include -#include -#include - -#include - -extern unsigned long DEMOFontBitmap[]; // size: 0x0, address: 0x0 - -// .bss -static struct _GXTexObj fontTexObj; // size: 0x20, address: 0x0 - -// .sbss -static long fontShift; // size: 0x4, address: 0x0 - -// functions -static void DrawFontChar(int x, int y, int z, int xChar, int yChar); -static void LoadSheet(void *image, enum _GXTexMapID texMapID); - -void DEMOSetFontType(DMFontType attr) -{ - switch (attr) { - case DM_FT_RVS: - GXSetBlendMode(2, 0, 0, 0xC); - break; - case DM_FT_XLU: - GXSetBlendMode(1, 1, 1, 0); - break; - case DM_FT_OPQ: - default: - GXSetBlendMode(1, 1, 0, 0); - break; - } -} - -void DEMOLoadFont(enum _GXTexMapID texMap, enum _GXTexMtx texMtx, DMTexFlt texFlt) -{ - float fontTMtx[3][4]; - unsigned short width; - unsigned short height; - - width = 64; - height = 0x1800 / width; - GXInitTexObj(&fontTexObj, (void *)DEMOFontBitmap, width, (u16)height, 0, 0, 0, 0); - if (texFlt == 0) { - GXInitTexObjLOD(&fontTexObj, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f); - fontShift = 0; - } - GXLoadTexObj(&fontTexObj, texMap); - MTXScale(fontTMtx, 1.0f / width, 1.0f / height, 1.0f); - GXLoadTexMtxImm(fontTMtx, texMtx, 1); - GXSetNumTexGens(1); - GXSetTexCoordGen(0, 1, 4, texMtx); -} - -void DEMOSetupScrnSpc(long width, long height, float depth) -{ - float pMtx[4][4]; - float mMtx[3][4]; - - MTXOrtho(pMtx, 0.0f, height, 0.0f, width, 0.0f, -depth); - GXSetProjection(pMtx, 1); - MTXIdentity(mMtx); - GXLoadPosMtxImm(mMtx, 0); - GXSetCurrentMtx(0); -} - -void DEMOInitCaption(long font_type, long width, long height) -{ - DEMOSetupScrnSpc(width, height, 100.0f); - GXSetZMode(1, 7, 1); - GXSetNumChans(0); - GXSetNumTevStages(1); - GXSetTevOp(0, 3); - GXSetTevOrder(0, 0, 0, 0xFF); - DEMOLoadFont(0, 0x1E, 0); - DEMOSetFontType(font_type); -} - -void DEMOPuts(s16 x, s16 y, s16 z, char *string) -{ - char *str; - long s; - long t; - long c; - long w; - long len; - long i; - - str = string; - GXClearVtxDesc(); - GXSetVtxDesc(9, 1); - GXSetVtxDesc(0xD, 1); - GXSetVtxAttrFmt(0, 9, 1, 3, 0); - GXSetVtxAttrFmt(0, 0xD, 1, 3, 1); - - // calc len - len = 0; - while (1) { - c = *(str++); - if ((c >= 0x20) && (c <= 0x7F)) { - len++; - continue; - } - - if (len > 0) { - GXBegin(0x80, 0, len * 4); - for (i = 0; i < len; i++) { - w = string[i] - 0x20; - s = fontShift + ((w % 8) * 0x10); - t = fontShift + ((w / 8) * 0x10); - GXPosition3s16(x + (i * 8), y, z); - GXTexCoord2s16(s, t); - GXPosition3s16(x + (i * 8) + 8, y, z); - GXTexCoord2s16(s + 0x10, t); - GXPosition3s16(x + (i * 8) + 8, y + 8, z); - GXTexCoord2s16(s + 0x10, t + 0x10); - GXPosition3s16(x + (i * 8), y + 8, z); - GXTexCoord2s16(s, t + 0x10); - } - GXEnd(); - len = 0; - } - - string = str; - if (c == 0xA) { - y += 0x8; - } - else { - break; - } - } -} - -void DEMOPrintf(s16 x, s16 y, s16 z, char *fmt, ...) -{ - va_list vlist; - char buf[256]; - - va_start(vlist, fmt); - vsprintf(buf, fmt, vlist); - DEMOPuts(x, y, z, buf); - va_end(vlist); -} diff --git a/src/dolphin/demo/DEMOStats.c b/src/dolphin/demo/DEMOStats.c deleted file mode 100644 index 89a6595f..00000000 --- a/src/dolphin/demo/DEMOStats.c +++ /dev/null @@ -1,424 +0,0 @@ -#include "dolphin/gx/GXPerf.h" -#include "string.h" -#include -#include -#include - -#include - -unsigned char DemoStatEnable = 0; -static DemoStatData *DemoStat; -static unsigned long DemoStatIndx; -static unsigned long DemoStatMaxIndx; -static unsigned long DemoStatClocks; -static unsigned long DemoStatDisp; -static unsigned long DemoStatStrLen; -static unsigned long topPixIn; -static unsigned long topPixOut; -static unsigned long botPixIn; -static unsigned long botPixOut; -static unsigned long clrPixIn; -static unsigned long copyClks; -static unsigned long vcCheck; -static unsigned long vcMiss; -static unsigned long vcStall; -static unsigned long cpReq; -static unsigned long tcReq; -static unsigned long cpuRdReq; -static unsigned long cpuWrReq; -static unsigned long dspReq; -static unsigned long ioReq; -static unsigned long viReq; -static unsigned long peReq; -static unsigned long rfReq; -static unsigned long fiReq; - -// functions -static void DEMOWriteStats(unsigned char update); -static void DEMOWriteStats(unsigned char update); - -void DEMOSetStats(DemoStatData *stat, unsigned long nstats, DEMO_STAT_DISP disp) -{ - if (!stat || nstats == 0) { - DemoStatEnable = FALSE; - } - else { - DemoStatEnable = TRUE; - DemoStat = stat; - DemoStatIndx = 0; - DemoStatMaxIndx = nstats; - DemoStatDisp = disp; - DemoStatStrLen = strlen(DemoStat->text); - } -} - -static void DEMOWriteStats(unsigned char update) -{ - unsigned long cnt0; - unsigned long cnt1; - unsigned long cnt2; - unsigned long cnt3; - unsigned long cnt4; - unsigned long cnt5; - unsigned long cnt6; - unsigned long cnt7; - unsigned long cnt8; - unsigned long cnt9; - - switch (DemoStat[DemoStatIndx].stat_type) { - case DEMO_STAT_GP0: - if (update) { - cnt0 = GXReadGP0Metric(); - DemoStat[DemoStatIndx].count = cnt0; - GXSetGPMetric(GX_PERF0_NONE, GX_PERF1_NONE); - break; - } - GXSetGPMetric(DemoStat[DemoStatIndx].stat, GX_PERF1_NONE); - GXClearGPMetric(); - break; - case DEMO_STAT_GP1: - if (update) { - cnt0 = GXReadGP1Metric(); - DemoStat[DemoStatIndx].count = cnt0; - GXSetGPMetric(GX_PERF0_NONE, GX_PERF1_NONE); - break; - } - GXSetGPMetric(GX_PERF0_NONE, DemoStat[DemoStatIndx].stat); - GXClearGPMetric(); - break; - case DEMO_STAT_MEM: - if (update) { - GXReadMemMetric(&cnt0, &cnt1, &cnt2, &cnt3, &cnt4, &cnt5, &cnt6, &cnt7, &cnt8, &cnt9); - cpReq = cnt0; - tcReq = cnt1; - cpuRdReq = cnt2; - cpuWrReq = cnt3; - dspReq = cnt4; - ioReq = cnt5; - viReq = cnt6; - peReq = cnt7; - rfReq = cnt8; - fiReq = cnt9; - break; - } - GXClearMemMetric(); - break; - case DEMO_STAT_PIX: - if (update) { - GXReadPixMetric(&cnt0, &cnt1, &cnt2, &cnt3, &cnt4, &cnt5); - topPixIn = cnt0; - topPixOut = cnt1; - botPixIn = cnt2; - botPixOut = cnt3; - clrPixIn = cnt4; - copyClks = cnt5; - break; - } - GXClearPixMetric(); - break; - case DEMO_STAT_VC: - if (update) { - GXReadVCacheMetric(&cnt0, &cnt1, &cnt2); - vcCheck = cnt0; - vcMiss = cnt1; - vcStall = cnt2; - break; - } - GXSetVCacheMetric(GX_VC_POS); - GXClearVCacheMetric(); - break; - case DEMO_STAT_FR: - if (update) { - GXReadPixMetric(&cnt0, &cnt1, &cnt2, &cnt3, &cnt4, &cnt5); - topPixIn = cnt0; - topPixOut = cnt1; - botPixIn = cnt2; - botPixOut = cnt3; - clrPixIn = cnt4; - copyClks = cnt5; - DemoStatClocks = GXReadGP0Metric(); - GXSetGPMetric(GX_PERF0_NONE, GX_PERF1_NONE); - break; - } - GXClearPixMetric(); - GXSetGPMetric(GX_PERF0_CLOCKS, GX_PERF1_NONE); - GXClearGPMetric(); - break; - case DEMO_STAT_TBW: - case DEMO_STAT_TBP: - GXClearPixMetric(); - if (update) { - GXReadPixMetric(&cnt0, &cnt1, &cnt2, &cnt3, &cnt4, &cnt5); - topPixIn = cnt0; - topPixOut = cnt1; - botPixIn = cnt2; - botPixOut = cnt3; - clrPixIn = cnt4; - copyClks = cnt5; - DemoStatClocks = GXReadGP0Metric(cnt4, cnt3, cnt2, cnt1, cnt0); - GXReadMemMetric(&cnt0, &cnt1, &cnt2, &cnt3, &cnt4, &cnt5, &cnt6, &cnt7, &cnt8, &cnt9); - tcReq = cnt1; - GXSetGPMetric(GX_PERF0_NONE, GX_PERF1_NONE); - break; - } - GXClearMemMetric(); - GXSetGPMetric(GX_PERF0_CLOCKS, GX_PERF1_NONE); - GXClearGPMetric(); - break; - case DEMO_STAT_MYC: - case DEMO_STAT_MYR: - break; - default: - OSPanic("DEMOStats.c", 0x127, "DEMOSetStats: Unknown demo stat type\n"); - } -} - -void DEMOUpdateStats(unsigned char inc) -{ - DEMOWriteStats(inc); - if (inc) { - DemoStatIndx = DemoStatIndx + 1; - if (DemoStatIndx == DemoStatMaxIndx) { - DemoStatIndx = 0; - } - } -} - -void DEMOPrintStats(void) -{ - GXRenderModeObj *rmode; - unsigned long i; - signed short text_x; - signed short text_y; - signed short text_yinc; - unsigned short wd; - unsigned short ht; - float rate; - - if (DemoStatDisp == DEMO_STAT_IO) { - for (i = 0; i < DemoStatMaxIndx; i++) { - switch (DemoStat[i].stat_type) { - case DEMO_STAT_PIX: - switch (DemoStat[i].stat) { - case 0: - OSReport("%s: %8d\n", DemoStat[i].text, topPixIn); - break; - case 1: - OSReport("%s: %8d\n", DemoStat[i].text, topPixOut); - break; - case 2: - OSReport("%s: %8d\n", DemoStat[i].text, botPixIn); - break; - case 3: - OSReport("%s: %8d\n", DemoStat[i].text, botPixOut); - break; - case 4: - OSReport("%s: %8d\n", DemoStat[i].text, clrPixIn); - break; - case 5: - OSReport("%s: %8d\n", DemoStat[i].text, copyClks); - break; - } - break; - case DEMO_STAT_FR: - rate = 162.0F * (topPixIn + botPixIn) / (float)(DemoStatClocks - copyClks); - OSReport("%s: %8.2f\n", DemoStat[i].text, rate); - break; - case DEMO_STAT_TBW: - rate = 162.0F * (tcReq << 5) / (float)(DemoStatClocks - copyClks); - OSReport("%s: %8.2f\n", DemoStat[i].text, rate); - break; - case DEMO_STAT_TBP: - rate = (tcReq << 5) / (float)(topPixIn + botPixIn); - OSReport("%s: %8.2f\n", DemoStat[i].text, rate); - break; - case DEMO_STAT_VC: - switch (DemoStat[i].stat) { - case 0: - OSReport("%s: %8d\n", DemoStat[i].text, vcCheck); - break; - case 1: - OSReport("%s: %8d\n", DemoStat[i].text, vcMiss); - break; - case 2: - OSReport("%s: %8d\n", DemoStat[i].text, vcStall); - break; - } - break; - case DEMO_STAT_MYR: - rate = DemoStat[i].stat / (float)DemoStat[i].count; - OSReport("%s: %8.2f\n", DemoStat[i].text, rate); - break; - case DEMO_STAT_MEM: - switch (DemoStat[i].stat) { - case 0: - OSReport("%s: %8d\n", DemoStat[i].text, cpReq); - break; - case 1: - OSReport("%s: %8d\n", DemoStat[i].text, tcReq); - break; - case 2: - OSReport("%s: %8d\n", DemoStat[i].text, cpuRdReq); - break; - case 3: - OSReport("%s: %8d\n", DemoStat[i].text, cpuWrReq); - break; - case 4: - OSReport("%s: %8d\n", DemoStat[i].text, dspReq); - break; - case 5: - OSReport("%s: %8d\n", DemoStat[i].text, ioReq); - break; - case 6: - OSReport("%s: %8d\n", DemoStat[i].text, viReq); - break; - case 7: - OSReport("%s: %8d\n", DemoStat[i].text, peReq); - break; - case 8: - OSReport("%s: %8d\n", DemoStat[i].text, rfReq); - break; - case 9: - OSReport("%s: %8d\n", DemoStat[i].text, fiReq); - break; - } - break; - default: - OSReport("%s: %8d\n", DemoStat[i].text, DemoStat[i].count); - break; - } - } - } - else { - rmode = DEMOGetRenderModeObj(); - switch (DemoStatDisp) { - case DEMO_STAT_TL: - text_x = 0x10; - text_y = 0x10; - text_yinc = 0xA; - wd = rmode->fbWidth; - ht = rmode->xfbHeight; - break; - case DEMO_STAT_BL: - text_x = 0x10; - text_y = rmode->xfbHeight - 0x18; - text_yinc = -0xA; - wd = rmode->fbWidth; - ht = rmode->xfbHeight; - break; - case DEMO_STAT_TLD: - text_x = 8; - text_y = 8; - text_yinc = 9; - wd = rmode->fbWidth / 2; - ht = rmode->xfbHeight / 2; - break; - case DEMO_STAT_BLD: - text_x = 8; - text_y = (rmode->xfbHeight - 0x18) / 2; - text_yinc = -9; - wd = rmode->fbWidth / 2; - ht = rmode->xfbHeight / 2; - break; - } - DEMOInitCaption(0, wd, ht); - for (i = 0; i < DemoStatMaxIndx; i++) { - switch (DemoStat[i].stat_type) { - case DEMO_STAT_PIX: - switch (DemoStat[i].stat) { - case 0: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, topPixIn); - break; - case 1: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, topPixOut); - break; - case 2: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, botPixIn); - break; - case 3: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, botPixOut); - break; - case 4: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, clrPixIn); - break; - case 5: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, copyClks); - break; - } - break; - case DEMO_STAT_FR: - rate = 162.0F * (topPixIn + botPixIn) / (float)(DemoStatClocks - copyClks); - DEMOPrintf(text_x, text_y, 0, "%s: %8.2f\n", DemoStat[i].text, rate); - break; - case DEMO_STAT_TBW: - rate = 162.0F * (tcReq << 5) / (float)(DemoStatClocks - copyClks); - DEMOPrintf(text_x, text_y, 0, "%s: %8.2f\n", DemoStat[i].text, rate); - break; - case DEMO_STAT_TBP: - rate = (tcReq << 5) / (float)(topPixIn - botPixIn); - DEMOPrintf(text_x, text_y, 0, "%s: %8.3f\n", DemoStat[i].text, rate); - break; - case DEMO_STAT_VC: - switch (DemoStat[i].stat) { - case 0: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, vcCheck); - break; - case 1: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, vcMiss); - break; - case 2: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, vcStall); - break; - } - break; - case DEMO_STAT_MEM: - switch (DemoStat[i].stat) { - case 0: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, cpReq); - break; - case 1: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, tcReq); - break; - case 2: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, cpuRdReq); - break; - case 3: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, cpuWrReq); - break; - case 4: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, dspReq); - break; - case 5: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, ioReq); - break; - case 6: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, viReq); - break; - case 7: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, peReq); - break; - case 8: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, rfReq); - break; - case 9: - DEMOPrintf(text_x, text_y, 0, "%s: %8d\n", DemoStat[i].text, fiReq); - break; - } - break; - case DEMO_STAT_GP0: - case DEMO_STAT_GP1: - case DEMO_STAT_MYC: - DEMOPrintf(text_x, text_y, 0, "%s: %8d", DemoStat[i].text, DemoStat[i].count); - break; - case DEMO_STAT_MYR: - rate = DemoStat[i].stat / (float)DemoStat[i].count; - DEMOPrintf(text_x, text_y, 0, "%s: %8.3f", DemoStat[i].text, rate); - break; - default: - OSReport("Undefined stat type %d in DEMOPrintStats()\n", DemoStat[i].stat_type); - break; - } - text_y += text_yinc; - } - } -} diff --git a/src/dolphin/dsp/dsp.c b/src/dolphin/dsp/dsp.c deleted file mode 100644 index f003f6fb..00000000 --- a/src/dolphin/dsp/dsp.c +++ /dev/null @@ -1,99 +0,0 @@ -#include "dolphin/dsp.h" -#include "dolphin/os.h" - -#include "dolphin/hw_regs.h" - -#ifdef __cplusplus -extern "C" { -#endif - -static s32 __DSP_init_flag = 0; -extern DSPTaskInfo* __DSP_tmp_task; -extern DSPTaskInfo* __DSP_last_task; -extern DSPTaskInfo* __DSP_first_task; -extern DSPTaskInfo* __DSP_curr_task; - -extern void __DSPHandler(__OSInterrupt, OSContext*); -extern void __DSP_debug_printf(const char* fmt, ...); -extern void __DSP_boot_task(DSPTaskInfo* task); - -u32 DSPCheckMailToDSP(void) { return (__DSPRegs[0] >> 0xF) & 1; } - -u32 DSPCheckMailFromDSP(void) { return (__DSPRegs[2] >> 0xF) & 1; } - -u32 DSPReadMailFromDSP() { - u16 reg1; - u16 reg2; - reg1 = __DSPRegs[2]; - reg2 = __DSPRegs[3]; - return reg1 << 16 | reg2; -} - -void DSPSendMailToDSP(u32 mail) { - __DSPRegs[0] = mail >> 16; - __DSPRegs[1] = mail; -} - -void DSPInit(void) { - u32 oldInt; - u16 reg; - __DSP_debug_printf("DSPInit(): Build Date: %s %s\n", "Dec 17 2001", "18:25:00"); - - if (__DSP_init_flag == 1) { - return; - } - oldInt = OSDisableInterrupts(); - __OSSetInterruptHandler(7, __DSPHandler); - __OSUnmaskInterrupts(0x1000000); - reg = __DSPRegs[5]; - reg = (reg & ~0xA8) | 0x800; - __DSPRegs[5] = reg; - reg = __DSPRegs[5]; - reg = reg & ~0xAC; - __DSPRegs[5] = reg; - __DSP_tmp_task = 0; - __DSP_curr_task = 0; - __DSP_last_task = 0; - __DSP_first_task = 0; - __DSP_init_flag = 1; - OSRestoreInterrupts(oldInt); -} - -void DSPReset(void) { - u16 reg; - u32 oldInt; - oldInt = OSDisableInterrupts(); - reg = __DSPRegs[5]; - __DSPRegs[5] = (reg & ~0xA8) | 0x801; - __DSP_init_flag = 0; - OSRestoreInterrupts(oldInt); -} - -void DSPHalt(void) { - u16 reg; - u32 oldInt; - oldInt = OSDisableInterrupts(); - reg = __DSPRegs[5]; - __DSPRegs[5] = (reg & ~0xA8) | 4; - OSRestoreInterrupts(oldInt); -} - -u32 DSPGetDMAStatus(void) { return __DSPRegs[5] & 0x200; } - -DSPTaskInfo* DSPAddTask(DSPTaskInfo* task) { - u32 oldInt; - oldInt = OSDisableInterrupts(); - __DSP_insert_task(task); - task->state = 0; - task->flags = 1; - OSRestoreInterrupts(oldInt); - if (task == __DSP_first_task) { - __DSP_boot_task(task); - } - - return task; -} - -#ifdef __cplusplus -} -#endif diff --git a/src/dolphin/dsp/dsp_debug.c b/src/dolphin/dsp/dsp_debug.c deleted file mode 100644 index 22455a34..00000000 --- a/src/dolphin/dsp/dsp_debug.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "types.h" - -void __DSP_debug_printf(const char* fmt, ...) { - // UNUSED(fmt); -} diff --git a/src/dolphin/dsp/dsp_task.c b/src/dolphin/dsp/dsp_task.c deleted file mode 100644 index 9ba343cf..00000000 --- a/src/dolphin/dsp/dsp_task.c +++ /dev/null @@ -1,389 +0,0 @@ -#include "dolphin/dsp.h" -#include "dolphin/hw_regs.h" - -DSPTaskInfo *__DSP_curr_task; -DSPTaskInfo *__DSP_first_task; -DSPTaskInfo *__DSP_last_task; -DSPTaskInfo *__DSP_tmp_task; -DSPTaskInfo *__DSP_rude_task; - -BOOL __DSP_rude_task_pending; - -void __DSPHandler(__OSInterrupt, OSContext *context) -{ - DSPTaskInfo *tmp_task; - OSContext exceptionContext; - u16 tmp; - u32 mail; - - tmp = __DSPRegs[5]; - tmp = (u16)(tmp & ~0x28) | 0x80; - __DSPRegs[5] = tmp; - - OSClearContext(&exceptionContext); - OSSetCurrentContext(&exceptionContext); - - while (!DSPCheckMailFromDSP()) - ; - mail = DSPReadMailFromDSP(); - - if ((__DSP_curr_task->flags & DSP_TASK_FLAG_CANCEL) && (mail == 0xDCD10002)) { - mail = 0xDCD10003; - } - - switch (mail) { - case 0xDCD10000: - __DSP_curr_task->state = DSP_TASK_STATE_RUN; - - if (__DSP_curr_task->init_cb) { - (*(__DSP_curr_task->init_cb))((void *)(__DSP_curr_task)); - } - break; - case 0xDCD10001: - __DSP_curr_task->state = DSP_TASK_STATE_RUN; - if (__DSP_curr_task->res_cb) { - (*(__DSP_curr_task->res_cb))((void *)(__DSP_curr_task)); - } - break; - case 0xDCD10002: - if (__DSP_rude_task_pending) { - - if (__DSP_curr_task == __DSP_rude_task) { - DSPSendMailToDSP(0xCDD10003); - while (DSPCheckMailToDSP()) { } - - __DSP_rude_task = NULL; - __DSP_rude_task_pending = FALSE; - - if (__DSP_curr_task->res_cb) { - (*(__DSP_curr_task->res_cb))((void *)(__DSP_curr_task)); - } - - break; - } - else { - DSPSendMailToDSP(0xCDD10001); - while (DSPCheckMailToDSP()) - ; - __DSP_exec_task(__DSP_curr_task, __DSP_rude_task); - - __DSP_curr_task->state = DSP_TASK_STATE_YIELD; - __DSP_curr_task = __DSP_rude_task; - - __DSP_rude_task = NULL; - __DSP_rude_task_pending = FALSE; - - break; - } - } - - if (__DSP_curr_task->next == NULL) { - - if (__DSP_curr_task == __DSP_first_task) { - - DSPSendMailToDSP(0xCDD10003); - while (DSPCheckMailToDSP()) - ; - - if (__DSP_curr_task->res_cb) { - (*(__DSP_curr_task->res_cb))((void *)(__DSP_curr_task)); - } - } - else { - DSPSendMailToDSP(0xCDD10001); - while (DSPCheckMailToDSP()) { } - - __DSP_exec_task(__DSP_curr_task, __DSP_first_task); - - __DSP_curr_task->state = DSP_TASK_STATE_YIELD; - __DSP_curr_task = __DSP_first_task; - } - } - else { - - DSPSendMailToDSP(0xCDD10001); - while (DSPCheckMailToDSP()) { } - - __DSP_exec_task(__DSP_curr_task, __DSP_curr_task->next); - - __DSP_curr_task->state = DSP_TASK_STATE_YIELD; - __DSP_curr_task = __DSP_curr_task->next; - } - break; - case 0xDCD10003: - if (__DSP_rude_task_pending) { - - if (__DSP_curr_task->done_cb) { - (*(__DSP_curr_task->done_cb))((void *)(__DSP_curr_task)); - } - - DSPSendMailToDSP(0xCDD10001); - while (DSPCheckMailToDSP()) - ; - - __DSP_exec_task(NULL, __DSP_rude_task); - - __DSP_remove_task(__DSP_curr_task); - __DSP_curr_task = __DSP_rude_task; - - __DSP_rude_task = NULL; - __DSP_rude_task_pending = FALSE; - - break; - } - - if (__DSP_curr_task->next == NULL) { - - if (__DSP_curr_task == __DSP_first_task) { - - if (__DSP_curr_task->done_cb) { - (*(__DSP_curr_task->done_cb))((void *)(__DSP_curr_task)); - } - - DSPSendMailToDSP(0xCDD10002); - while (DSPCheckMailToDSP()) - ; - - __DSP_curr_task->state = DSP_TASK_STATE_DONE; - - __DSP_remove_task(__DSP_curr_task); - } - else { - - if (__DSP_curr_task->done_cb) { - (*(__DSP_curr_task->done_cb))((void *)(__DSP_curr_task)); - } - - DSPSendMailToDSP(0xCDD10001); - while (DSPCheckMailToDSP()) - ; - - __DSP_curr_task->state = DSP_TASK_STATE_DONE; - __DSP_exec_task(NULL, __DSP_first_task); - - __DSP_curr_task = __DSP_first_task; - __DSP_remove_task(__DSP_last_task); - } - } - else { - if (__DSP_curr_task->done_cb) { - (*(__DSP_curr_task->done_cb))((void *)(__DSP_curr_task)); - } - DSPSendMailToDSP(0xCDD10001); - while (DSPCheckMailToDSP()) - ; - - __DSP_curr_task->state = DSP_TASK_STATE_DONE; - __DSP_exec_task(NULL, __DSP_curr_task->next); - - __DSP_curr_task = __DSP_curr_task->next; - __DSP_remove_task(__DSP_curr_task->prev); - } - break; - - case 0xDCD10004: - - if (__DSP_curr_task->req_cb) { - (*(__DSP_curr_task->req_cb))((void *)(__DSP_curr_task)); - } - break; - default: - break; - } - OSClearContext(&exceptionContext); - OSSetCurrentContext(context); -} - -void __DSP_exec_task(DSPTaskInfo *curr, DSPTaskInfo *next) -{ - if (curr) { - DSPSendMailToDSP((u32)(curr->dram_mmem_addr)); - while (DSPCheckMailToDSP()) - ; - DSPSendMailToDSP((u32)(curr->dram_length)); - while (DSPCheckMailToDSP()) - ; - DSPSendMailToDSP((u32)(curr->dram_addr)); - while (DSPCheckMailToDSP()) - ; - } - else { - - DSPSendMailToDSP((u32)(0)); - while (DSPCheckMailToDSP()) - ; - DSPSendMailToDSP((u32)(0)); - while (DSPCheckMailToDSP()) - ; - DSPSendMailToDSP((u32)(0)); - while (DSPCheckMailToDSP()) - ; - } - - DSPSendMailToDSP((u32)(next->iram_mmem_addr)); - while (DSPCheckMailToDSP()) - ; - DSPSendMailToDSP((u32)(next->iram_length)); - while (DSPCheckMailToDSP()) - ; - DSPSendMailToDSP((u32)(next->iram_addr)); - while (DSPCheckMailToDSP()) - ; - - if (DSP_TASK_STATE_INIT == next->state) { - DSPSendMailToDSP((u32)(next->dsp_init_vector)); - while (DSPCheckMailToDSP()) - ; - DSPSendMailToDSP((u32)(0)); - while (DSPCheckMailToDSP()) - ; - DSPSendMailToDSP((u32)(0)); - while (DSPCheckMailToDSP()) - ; - DSPSendMailToDSP((u32)(0)); - while (DSPCheckMailToDSP()) - ; - } - else { - DSPSendMailToDSP((u32)(next->dsp_resume_vector)); - while (DSPCheckMailToDSP()) - ; - DSPSendMailToDSP((u32)(next->dram_mmem_addr)); - while (DSPCheckMailToDSP()) - ; - - DSPSendMailToDSP((u32)(next->dram_length)); - while (DSPCheckMailToDSP()) - ; - - DSPSendMailToDSP((u32)(next->dram_addr)); - while (DSPCheckMailToDSP()) - ; - } -} - -#define MSG_BASE 0x80F30000 -void __DSP_boot_task(DSPTaskInfo *task) -{ - - volatile u32 mail; - - while (!DSPCheckMailFromDSP()) - ; - - mail = DSPReadMailFromDSP(); - - DSPSendMailToDSP(MSG_BASE | 0xA001); - while (DSPCheckMailToDSP()) { } - DSPSendMailToDSP((u32)(task->iram_mmem_addr)); - while (DSPCheckMailToDSP()) { } - - DSPSendMailToDSP(MSG_BASE | 0xC002); - while (DSPCheckMailToDSP()) { } - DSPSendMailToDSP((u32)(task->iram_addr & 0xffff)); - while (DSPCheckMailToDSP()) { } - - DSPSendMailToDSP(MSG_BASE | 0xA002); - while (DSPCheckMailToDSP()) { } - DSPSendMailToDSP(task->iram_length); - while (DSPCheckMailToDSP()) { } - - DSPSendMailToDSP(MSG_BASE | 0xB002); - while (DSPCheckMailToDSP()) { } - DSPSendMailToDSP(0x00000000); - while (DSPCheckMailToDSP()) { } - - DSPSendMailToDSP(MSG_BASE | 0xD001); - while (DSPCheckMailToDSP()) { } - DSPSendMailToDSP((u32)(0xffff & task->dsp_init_vector)); - while (DSPCheckMailToDSP()) { } - - __DSP_debug_printf("DSP is booting task: 0x%08X\n", task); - __DSP_debug_printf("__DSP_boot_task() : IRAM MMEM ADDR: 0x%08X\n", (u32)(task->iram_mmem_addr)); - __DSP_debug_printf("__DSP_boot_task() : IRAM DSP ADDR : 0x%08X\n", (u32)(task->iram_addr)); - __DSP_debug_printf("__DSP_boot_task() : IRAM LENGTH : 0x%08X\n", (u32)(task->iram_length)); - __DSP_debug_printf("__DSP_boot_task() : DRAM MMEM ADDR: 0x%08X\n", (u32)(task->dram_length)); - __DSP_debug_printf("__DSP_boot_task() : Start Vector : 0x%08X\n", (u32)(task->dsp_init_vector)); -} - -void __DSP_insert_task(DSPTaskInfo *task) -{ - - DSPTaskInfo *temp; - - if (__DSP_first_task == NULL) { - __DSP_first_task = __DSP_last_task = __DSP_curr_task = task; - task->next = task->prev = NULL; - } - else { - temp = __DSP_first_task; - - while (temp) { - if (task->priority < temp->priority) { - task->prev = temp->prev; - temp->prev = task; - task->next = temp; - if (task->prev == NULL) { - __DSP_first_task = task; - } - else { - (task->prev)->next = task; - } - break; - } - temp = temp->next; - } - - if (temp == NULL) { - __DSP_last_task->next = task; - task->next = NULL; - task->prev = __DSP_last_task; - __DSP_last_task = task; - } - } -} - -void __DSP_add_task(DSPTaskInfo *task) -{ - if (__DSP_last_task == NULL) { - __DSP_first_task = __DSP_last_task = __DSP_curr_task = task; - task->next = task->prev = NULL; - } - else { - __DSP_last_task->next = task; - task->next = NULL; - task->prev = __DSP_last_task; - __DSP_last_task = task; - } - - task->state = DSP_TASK_STATE_INIT; - - __DSP_debug_printf("__DSP_add_task() : Added task : 0x%08X\n", task); -} - -void __DSP_remove_task(DSPTaskInfo *task) -{ - - task->flags = DSP_TASK_FLAG_CLEARALL; - task->state = DSP_TASK_STATE_DONE; - - if (__DSP_first_task == task) { - if (task->next) { - __DSP_first_task = (task->next); - task->next->prev = NULL; - } - else { - __DSP_first_task = __DSP_last_task = __DSP_curr_task = NULL; - } - } - else if (__DSP_last_task == task) { - __DSP_last_task = (task->prev); - task->prev->next = NULL; - __DSP_curr_task = __DSP_first_task; - } - else { - __DSP_curr_task = task->next; - task->prev->next = task->next; - task->next->prev = task->prev; - } -} diff --git a/src/dolphin/dvd/dvd.c b/src/dolphin/dvd/dvd.c deleted file mode 100644 index 5ddde4fc..00000000 --- a/src/dolphin/dvd/dvd.c +++ /dev/null @@ -1,1431 +0,0 @@ -#include "dolphin/os/OSAlarm.h" -#include -#include -#include -#include -#include - -typedef void (*stateFunc)(DVDCommandBlock *block); - -extern OSThreadQueue __DVDThreadQueue; - -static u8 tmpBuffer[0x80] ATTRIBUTE_ALIGN(32); -static DVDCommandBlock *executing; -static DVDDiskID *currID; -static OSBootInfo *bootInfo; -static BOOL autoInvalidation = TRUE; -static volatile BOOL PauseFlag = FALSE; -static volatile BOOL PausingFlag = FALSE; -static volatile BOOL AutoFinishing = FALSE; -static volatile BOOL FatalErrorFlag = FALSE; -static vu32 CurrCommand; -static vu32 Canceling = FALSE; -static DVDCBCallback CancelCallback; -static vu32 ResumeFromHere = 0; -static vu32 CancelLastError; -static vu32 LastError; -static vs32 NumInternalRetry = 0; -static volatile BOOL ResetRequired; -static volatile BOOL CancelAllSyncComplete = FALSE; -static volatile BOOL FirstTimeInBootrom = FALSE; - -static DVDCommandBlock DummyCommandBlock; -static OSAlarm ResetAlarm; - -static BOOL DVDInitialized = FALSE; -static stateFunc LastState; - -/* States */ -static void stateReadingFST(); -static void stateTimeout(); -static void stateGettingError(); -static void stateGoToRetry(); -static void stateCheckID(); -static void stateCheckID3(); -static void stateCheckID2a(); -static void stateCheckID2(); -static void stateCoverClosed(); -static void stateCoverClosed_CMD(); -static void stateCoverOpen(); -static void stateMotorStopped(); -static void stateReady(); -static void stateBusy(); - -/* Callbacks */ -static void cbForStateReadingFST(u32 intType); -static void cbForStateError(u32 intType); -static void cbForStateGettingError(u32 intType); -static void cbForUnrecoveredError(u32 intType); -static void cbForUnrecoveredErrorRetry(u32 intType); -static void cbForStateGoToRetry(u32 intType); -static void cbForStateCheckID2a(u32 intType); -static void cbForStateCheckID1(u32 intType); -static void cbForStateCheckID2(u32 intType); -static void cbForStateCheckID3(u32 intType); -static void cbForStateCoverClosed(u32 intType); -static void cbForStateMotorStopped(u32 intType); -static void cbForStateBusy(u32 intType); -static void cbForCancelStreamSync(s32 result, DVDCommandBlock *block); -static void cbForCancelSync(s32 result, DVDCommandBlock *block); -static void cbForCancelAllSync(s32 result, DVDCommandBlock *block); - -static void defaultOptionalCommandChecker(DVDCommandBlock *block, DVDLowCallback cb); - -static DVDOptionalCommandChecker checkOptionalCommand = defaultOptionalCommandChecker; - -extern void __DVDInterruptHandler(__OSInterrupt interrupt, OSContext *context); - -static void defaultOptionalCommandChecker(DVDCommandBlock *block, DVDLowCallback cb) { } - -void DVDInit() -{ - if (DVDInitialized) { - return; - } - - OSInitAlarm(); - DVDInitialized = TRUE; - __DVDFSInit(); - __DVDClearWaitingQueue(); - __DVDInitWA(); - bootInfo = (OSBootInfo *)OSPhysicalToCached(0x0000); - currID = &(bootInfo->DVDDiskID); - __OSSetInterruptHandler(21, __DVDInterruptHandler); - __OSUnmaskInterrupts(0x400); - OSInitThreadQueue(&__DVDThreadQueue); - __DIRegs[DI_STATUS] = 42; - __DIRegs[DI_COVER_STATUS] = 0; - if (bootInfo->magic == OS_BOOTINFO_MAGIC_JTAG) { - OSReport("app booted via JTAG\n"); - OSReport("load fst\n"); - __fstLoad(); - } - else if (bootInfo->magic == 0xD15EA5E) { - OSReport("app booted from bootrom\n"); - } - else { - FirstTimeInBootrom = TRUE; - OSReport("bootrom\n"); - } -} - -static void stateReadingFST() -{ - LastState = (stateFunc)stateReadingFST; - - DVDLowRead(bootInfo->FSTLocation, OSRoundUp32B(((u32 *)tmpBuffer)[2]), ((u32 *)tmpBuffer)[1], cbForStateReadingFST); -} - -static void cbForStateReadingFST(u32 intType) -{ - DVDCommandBlock *finished; - if (intType == 0x10) { - executing->state = -1; - stateTimeout(); - } - else if ((intType & 1) != 0) { - NumInternalRetry = 0; - finished = executing; - executing = &DummyCommandBlock; - finished->state = 0; - if (finished->callback) { - (finished->callback)(0, finished); - } - stateReady(); - } - else { - stateGettingError(); - } -} - -inline static void stateError(u32 error) -{ - __DVDStoreErrorCode(error); - DVDLowStopMotor(cbForStateError); -} - -static void cbForStateError(u32 intType) -{ - DVDCommandBlock *finished; - - if (intType == 16) { - executing->state = -1; - stateTimeout(); - return; - } - - FatalErrorFlag = TRUE; - finished = executing; - executing = &DummyCommandBlock; - if (finished->callback) { - (finished->callback)(-1, finished); - } - - if (Canceling) { - Canceling = FALSE; - if (CancelCallback) - (CancelCallback)(0, finished); - } - - stateReady(); - - return; -} - -static void stateTimeout() -{ - __DVDStoreErrorCode(0x1234568); - DVDReset(); - cbForStateError(0); -} - -static void stateGettingError() -{ - DVDLowRequestError(cbForStateGettingError); -} - -static u32 CategorizeError(u32 error) -{ - if (error == 0x20400) { - LastError = error; - return 1; - } - - error &= 0xffffff; - - if ((error == 0x62800) || (error == 0x23a00) || (error == 0xb5a01)) { - return 0; - } - - ++NumInternalRetry; - if (NumInternalRetry == 2) { - if (error == LastError) { - LastError = error; - return 1; - } - else { - LastError = error; - return 2; - } - } - else { - LastError = error; - - if ((error == 0x31100) || (executing->command == 5)) { - return 2; - } - else { - return 3; - } - } -} - -inline static BOOL CheckCancel(u32 resume) -{ - DVDCommandBlock *finished; - - if (Canceling) { - ResumeFromHere = resume; - Canceling = FALSE; - - finished = executing; - executing = &DummyCommandBlock; - - finished->state = 10; - if (finished->callback) - (*finished->callback)(-3, finished); - if (CancelCallback) - (CancelCallback)(0, finished); - stateReady(); - return TRUE; - } - return FALSE; -} - -static void cbForStateGettingError(u32 intType) -{ - u32 error; - u32 status; - u32 errorCategory; - u32 resume; - - if (intType == 16) { - executing->state = -1; - stateTimeout(); - return; - } - - if (intType & 2) { - executing->state = -1; - stateError(0x1234567); - return; - } - - error = __DIRegs[8]; - status = error & 0xff000000; - - errorCategory = CategorizeError(error); - - if (errorCategory == 1) { - executing->state = -1; - stateError(error); - return; - } - - if ((errorCategory == 2) || (errorCategory == 3)) { - resume = 0; - } - else { - if (status == 0x01000000) - resume = 4; - else if (status == 0x02000000) - resume = 6; - else if (status == 0x03000000) - resume = 3; - else - resume = 5; - } - - if (CheckCancel(resume)) - return; - - if (errorCategory == 2) { - __DVDStoreErrorCode(error); - stateGoToRetry(); - return; - } - - if (errorCategory == 3) { - if ((error & 0x00ffffff) == 0x00031100) { - DVDLowSeek(executing->offset, cbForUnrecoveredError); - } - else { - LastState(executing); - } - return; - } - - if (status == 0x01000000) { - executing->state = 5; - stateMotorStopped(); - return; - } - else if (status == 0x02000000) { - executing->state = 3; - stateCoverClosed(); - return; - } - else if (status == 0x03000000) { - executing->state = 4; - stateMotorStopped(); - return; - } - else { - executing->state = -1; - stateError(0x1234567); - return; - } -} - -static void cbForUnrecoveredError(u32 intType) -{ - if (intType == 16) { - executing->state = -1; - stateTimeout(); - return; - } - - if (intType & 1) { - stateGoToRetry(); - return; - } - - DVDLowRequestError(cbForUnrecoveredErrorRetry); -} - -static void cbForUnrecoveredErrorRetry(u32 intType) -{ - if (intType == 16) { - executing->state = -1; - stateTimeout(); - return; - } - executing->state = -1; - - if (intType & 2) { - __DVDStoreErrorCode(0x1234567); - DVDLowStopMotor(cbForStateError); - return; - } - - __DVDStoreErrorCode(__DIRegs[8]); - DVDLowStopMotor(cbForStateError); -} - -static void stateGoToRetry() -{ - DVDLowStopMotor(cbForStateGoToRetry); -} - -static void cbForStateGoToRetry(u32 intType) -{ - if (intType == 16) { - executing->state = -1; - stateTimeout(); - return; - } - - if (intType & 2) { - executing->state = -1; - stateError(0x1234567); - return; - } - - NumInternalRetry = 0; - - if ((CurrCommand == 4) || (CurrCommand == 5) || (CurrCommand == 13) || (CurrCommand == 15)) { - ResetRequired = TRUE; - } - - if (!CheckCancel(2)) { - executing->state = 11; - stateMotorStopped(); - } -} - -static void stateCheckID() -{ - switch (CurrCommand) { - case 3: - if (memcmp(tmpBuffer, executing->id, 0x1C) != FALSE) { - DVDLowStopMotor(cbForStateCheckID1); - } - else { - memcpy(currID, tmpBuffer, sizeof(DVDDiskID)); - executing->state = 1; - DCInvalidateRange(tmpBuffer, sizeof(DVDBB2)); - LastState = stateCheckID2; - stateCheckID2(executing); - } - break; - default: - if (memcmp(tmpBuffer, currID, sizeof(DVDDiskID)) != 0) { - DVDLowStopMotor(cbForStateCheckID1); - } - else { - LastState = stateCheckID3; - stateCheckID3(executing); - } - break; - } -} - -static void stateCheckID3() -{ - DVDLowAudioBufferConfig(currID->streaming, 10, cbForStateCheckID3); -} - -static void stateCheckID2a() -{ - DVDLowAudioBufferConfig(currID->streaming, 10, cbForStateCheckID2a); -} - -static void cbForStateCheckID2a(u32 intType) -{ - if (intType == 16) { - executing->state = -1; - stateTimeout(); - return; - } - - if (intType & 1) { - NumInternalRetry = 0; - stateCheckID2(executing); - return; - } - - DVDLowRequestError(cbForStateGettingError); -} - -static void stateCheckID2(DVDCommandBlock *block) -{ - DVDLowRead(tmpBuffer, OSRoundUp32B(sizeof(DVDBB2)), 0x420, cbForStateCheckID2); -} - -static void cbForStateCheckID1(u32 intType) -{ - if (intType == 16) { - executing->state = -1; - stateTimeout(); - return; - } - - if (intType & 2) { - executing->state = -1; - stateError(0x1234567); - return; - } - - NumInternalRetry = 0; - - if (!CheckCancel(1)) { - executing->state = 6; - stateMotorStopped(); - } -} - -static void cbForStateCheckID2(u32 intType) -{ - if (intType == 16) { - executing->state = -1; - stateTimeout(); - return; - } - - if (intType & 1) { - - NumInternalRetry = 0; - - stateReadingFST(); - } - else { - - stateGettingError(); - } -} - -static void cbForStateCheckID3(u32 intType) -{ - if (intType == 16) { - executing->state = -1; - stateTimeout(); - return; - } - - if (intType & 1) { - - NumInternalRetry = 0; - - if (!CheckCancel(0)) { - executing->state = 1; - stateBusy(executing); - } - } - else { - stateGettingError(); - } -} - -static void AlarmHandler(OSAlarm *alarm, OSContext *context) -{ - DVDReset(); - DCInvalidateRange(tmpBuffer, sizeof(DVDDiskID)); - LastState = stateCoverClosed_CMD; - stateCoverClosed_CMD(executing); -} - -static void stateCoverClosed() -{ - DVDCommandBlock *finished; - - switch (CurrCommand) { - case 5: - case 4: - case 13: - case 15: - __DVDClearWaitingQueue(); - finished = executing; - executing = &DummyCommandBlock; - if (finished->callback) { - (finished->callback)(-4, finished); - } - stateReady(); - break; - - default: - DVDReset(); - OSCreateAlarm(&ResetAlarm); - OSSetAlarm(&ResetAlarm, OSMillisecondsToTicks(1150), AlarmHandler); - break; - } -} - -static void stateCoverClosed_CMD(DVDCommandBlock *block) -{ - DVDLowReadDiskID(tmpBuffer, cbForStateCoverClosed); -} - -static void cbForStateCoverClosed(u32 intType) -{ - if (intType == 16) { - executing->state = -1; - stateTimeout(); - return; - } - - if (intType & 1) { - NumInternalRetry = 0; - stateCheckID(); - } - else { - stateGettingError(); - } -} - -static void stateMotorStopped(void) -{ - DVDLowWaitCoverClose(cbForStateMotorStopped); -} - -static void cbForStateMotorStopped(u32 intType) -{ - __DIRegs[1] = 0; - executing->state = 3; - stateCoverClosed(); -} - -void stateReady() -{ - DVDCommandBlock *finished; - - if (!__DVDCheckWaitingQueue()) { - executing = (DVDCommandBlock *)nullptr; - return; - } - - if (PauseFlag) { - PausingFlag = TRUE; - executing = (DVDCommandBlock *)nullptr; - return; - } - - executing = __DVDPopWaitingQueue(); - - if (FatalErrorFlag) { - executing->state = -1; - finished = executing; - executing = &DummyCommandBlock; - if (finished->callback) { - (finished->callback)(-1, finished); - } - stateReady(); - return; - } - - CurrCommand = executing->command; - - if (ResumeFromHere) { - switch (ResumeFromHere) { - case 1: - executing->state = 6; - stateMotorStopped(); - break; - - case 2: - executing->state = 11; - stateMotorStopped(); - break; - - case 3: - executing->state = 4; - stateMotorStopped(); - break; - - case 7: - executing->state = 7; - stateMotorStopped(); - break; - - case 4: - executing->state = 5; - stateMotorStopped(); - break; - - case 6: - executing->state = 3; - stateCoverClosed(); - break; - - case 5: - executing->state = -1; - stateError(CancelLastError); - break; - } - - ResumeFromHere = 0; - } - else { - executing->state = 1; - stateBusy(executing); - } -} - -#define MIN(a, b) (((a) > (b)) ? (b) : (a)) -static void stateBusy(DVDCommandBlock *block) -{ - DVDCommandBlock *finished; - LastState = stateBusy; - switch (block->command) { - case 5: - __DIRegs[1] = __DIRegs[1]; - block->currTransferSize = sizeof(DVDDiskID); - DVDLowReadDiskID(block->addr, cbForStateBusy); - break; - case 1: - case 4: - __DIRegs[1] = __DIRegs[1]; - block->currTransferSize = MIN(block->length - block->transferredSize, 0x80000); - DVDLowRead((void *)((u8 *)block->addr + block->transferredSize), block->currTransferSize, block->offset + block->transferredSize, - cbForStateBusy); - break; - case 2: - __DIRegs[1] = __DIRegs[1]; - DVDLowSeek(block->offset, cbForStateBusy); - break; - case 3: - DVDLowStopMotor(cbForStateBusy); - break; - case 15: - DVDLowStopMotor(cbForStateBusy); - break; - case 6: - __DIRegs[1] = __DIRegs[1]; - if (AutoFinishing) { - executing->currTransferSize = 0; - DVDLowRequestAudioStatus(0, cbForStateBusy); - } - else { - executing->currTransferSize = 1; - DVDLowAudioStream(0, block->length, block->offset, cbForStateBusy); - } - break; - case 7: - __DIRegs[1] = __DIRegs[1]; - DVDLowAudioStream(0x10000, 0, 0, cbForStateBusy); - break; - case 8: - __DIRegs[1] = __DIRegs[1]; - AutoFinishing = TRUE; - DVDLowAudioStream(0, 0, 0, cbForStateBusy); - break; - case 9: - __DIRegs[1] = __DIRegs[1]; - DVDLowRequestAudioStatus(0, cbForStateBusy); - break; - case 10: - __DIRegs[1] = __DIRegs[1]; - DVDLowRequestAudioStatus(0x10000, cbForStateBusy); - break; - case 11: - __DIRegs[1] = __DIRegs[1]; - DVDLowRequestAudioStatus(0x20000, cbForStateBusy); - break; - case 12: - __DIRegs[1] = __DIRegs[1]; - DVDLowRequestAudioStatus(0x30000, cbForStateBusy); - break; - case 13: - __DIRegs[1] = __DIRegs[1]; - DVDLowAudioBufferConfig(block->offset, block->length, cbForStateBusy); - break; - case 14: - __DIRegs[1] = __DIRegs[1]; - block->currTransferSize = sizeof(DVDDriveInfo); - DVDLowInquiry(block->addr, cbForStateBusy); - break; - } -} - -void cbForStateBusy(u32 intType) -{ - DVDCommandBlock *finished; - - if (intType == 16) { - executing->state = -1; - stateTimeout(); - return; - } - - if ((CurrCommand == 3) || (CurrCommand == 15)) { - if (intType & 2) { - executing->state = -1; - stateError(0x1234567); - return; - } - - NumInternalRetry = 0; - - if (CurrCommand == 15) { - ResetRequired = TRUE; - } - - if (CheckCancel(7)) { - return; - } - - executing->state = 7; - stateMotorStopped(); - return; - } - - if ((CurrCommand == 1) || (CurrCommand == 4) || (CurrCommand == 5) || (CurrCommand == 14)) { - executing->transferredSize += executing->currTransferSize - __DIRegs[6]; - } - - if (intType & 8) { - Canceling = FALSE; - finished = executing; - executing = &DummyCommandBlock; - - finished->state = 10; - if (finished->callback) { - (*finished->callback)(-3, finished); - } - if (CancelCallback) { - (CancelCallback)(0, finished); - } - stateReady(); - - return; - } - - if (intType & 1) { - NumInternalRetry = 0; - - if (CheckCancel(0)) - return; - - if ((CurrCommand == 1) || (CurrCommand == 4) || (CurrCommand == 5) || (CurrCommand == 14)) { - if (executing->transferredSize != executing->length) { - stateBusy(executing); - return; - } - - finished = executing; - executing = &DummyCommandBlock; - - finished->state = 0; - if (finished->callback) { - (finished->callback)((s32)finished->transferredSize, finished); - } - stateReady(); - } - else if ((CurrCommand == 9) || (CurrCommand == 10) || (CurrCommand == 11) || (CurrCommand == 12)) { - s32 result; - - if ((CurrCommand == 11) || (CurrCommand == 10)) { - result = (s32)(__DIRegs[DI_MM_BUF] << 2); - } - else { - result = (s32)__DIRegs[DI_MM_BUF]; - } - finished = executing; - executing = &DummyCommandBlock; - - finished->state = 0; - if (finished->callback) { - (finished->callback)(result, finished); - } - stateReady(); - } - else if (CurrCommand == 6) { - if (executing->currTransferSize == 0) { - if (__DIRegs[DI_MM_BUF] & 1) { - finished = executing; - executing = &DummyCommandBlock; - - finished->state = 9; - if (finished->callback) { - (finished->callback)(-2, finished); - } - stateReady(); - } - else { - AutoFinishing = FALSE; - executing->currTransferSize = 1; - DVDLowAudioStream(0, executing->length, executing->offset, cbForStateBusy); - } - } - else { - finished = executing; - executing = &DummyCommandBlock; - - finished->state = 0; - if (finished->callback) { - (finished->callback)(0, finished); - } - stateReady(); - } - } - else { - finished = executing; - executing = &DummyCommandBlock; - - finished->state = 0; - if (finished->callback) { - (finished->callback)(0, finished); - } - stateReady(); - } - } - else { - if (CurrCommand == 14) { - executing->state = -1; - stateError(0x01234567); - return; - } - - if ((CurrCommand == 1 || CurrCommand == 4 || CurrCommand == 5 || CurrCommand == 14) && (executing->transferredSize == executing->length)) { - - if (CheckCancel(0)) { - return; - } - finished = executing; - executing = &DummyCommandBlock; - - finished->state = 0; - if (finished->callback) { - (finished->callback)((s32)finished->transferredSize, finished); - } - stateReady(); - return; - } - - stateGettingError(); - } -} - -static BOOL issueCommand(s32 prio, DVDCommandBlock *block) -{ - BOOL level; - BOOL result; - - if (autoInvalidation && (block->command == 1 || block->command == 4 || block->command == 5 || block->command == 14)) { - DCInvalidateRange(block->addr, block->length); - } - - level = OSDisableInterrupts(); - - block->state = 2; - result = __DVDPushWaitingQueue(prio, block); - - if ((executing == (DVDCommandBlock *)NULL) && (PauseFlag == FALSE)) { - stateReady(); - } - - OSRestoreInterrupts(level); - - return result; -} - -BOOL DVDReadAbsAsyncPrio(DVDCommandBlock *block, void *addr, s32 length, s32 offset, DVDCBCallback callback, s32 prio) -{ - BOOL idle; - block->command = 1; - block->addr = addr; - block->length = length; - block->offset = offset; - block->transferredSize = 0; - block->callback = callback; - - idle = issueCommand(prio, block); - return idle; -} -BOOL DVDReadAbsAsyncForBS(DVDCommandBlock *block, void *addr, s32 length, s32 offset, DVDCBCallback callback) -{ - BOOL idle; - block->command = 4; - block->addr = addr; - block->length = length; - block->offset = offset; - block->transferredSize = 0; - block->callback = callback; - - idle = issueCommand(2, block); - return idle; -} -BOOL DVDReadDiskID(DVDCommandBlock *block, DVDDiskID *diskID, DVDCBCallback callback) -{ - BOOL idle; - block->command = 5; - block->addr = diskID; - block->length = sizeof(DVDDiskID); - ; - block->offset = 0; - block->transferredSize = 0; - block->callback = callback; - - idle = issueCommand(2, block); - return idle; -} -BOOL DVDPrepareStreamAbsAsync(DVDCommandBlock *block, u32 length, u32 offset, DVDCBCallback callback) -{ - BOOL idle; - block->command = 6; - block->length = length; - block->offset = offset; - block->callback = callback; - - idle = issueCommand(1, block); - return idle; -} -BOOL DVDCancelStreamAsync(DVDCommandBlock *block, DVDCBCallback callback) -{ - BOOL idle; - block->command = 7; - block->callback = callback; - idle = issueCommand(1, block); - return idle; -} -s32 DVDCancelStream(DVDCommandBlock *block) -{ - BOOL result; - s32 state; - BOOL enabled; - s32 retVal; - - result = DVDCancelStreamAsync(block, cbForCancelStreamSync); - - if (result == FALSE) { - return -1; - } - - enabled = OSDisableInterrupts(); - - while (TRUE) { - state = ((volatile DVDCommandBlock *)block)->state; - - if (state == 0 || state == -1 || state == 10) { - retVal = (s32)block->transferredSize; - break; - } - - OSSleepThread(&__DVDThreadQueue); - } - - OSRestoreInterrupts(enabled); - return retVal; -} -static void cbForCancelStreamSync(s32 result, DVDCommandBlock *block) -{ - block->transferredSize = (u32)result; - OSWakeupThread(&__DVDThreadQueue); -} -BOOL DVDStopStreamAtEndAsync(DVDCommandBlock *block, DVDCBCallback callback) -{ - BOOL idle; - - block->command = 8; - block->callback = callback; - - idle = issueCommand(1, block); - - return idle; -} -BOOL DVDGetStreamErrorStatusAsync(DVDCommandBlock *block, DVDCBCallback callback) -{ - BOOL idle; - - block->command = 9; - block->callback = callback; - - idle = issueCommand(1, block); - - return idle; -} -BOOL DVDGetStreamPlayAddrAsync(DVDCommandBlock *block, DVDCBCallback callback) -{ - BOOL idle; - - block->command = 10; - block->callback = callback; - - idle = issueCommand(1, block); - - return idle; -} -BOOL DVDInquiryAsync(DVDCommandBlock *block, DVDDriveInfo *info, DVDCBCallback callback) -{ - BOOL idle; - - block->command = 14; - block->addr = (void *)info; - block->length = sizeof(DVDDriveInfo); - block->transferredSize = 0; - block->callback = callback; - - idle = issueCommand(2, block); - - return idle; -} - -void DVDReset(void) -{ - DVDLowReset(); - __DIRegs[0] = 0x2a; - __DIRegs[1] = __DIRegs[1]; - ResetRequired = FALSE; - ResumeFromHere = 0; -} - -s32 DVDGetCommandBlockStatus(const DVDCommandBlock *block) -{ - BOOL enabled; - s32 retVal; - - enabled = OSDisableInterrupts(); - - if (block->state == 3) { - retVal = 1; - } - else { - retVal = block->state; - } - - OSRestoreInterrupts(enabled); - - return retVal; -} - -s32 DVDGetDriveStatus() -{ - BOOL enabled; - s32 retVal; - - enabled = OSDisableInterrupts(); - - if (FatalErrorFlag) { - retVal = -1; - } - else if (PausingFlag) { - retVal = 8; - } - else { - if (executing == (DVDCommandBlock *)NULL) { - retVal = 0; - } - else if (executing == &DummyCommandBlock) { - retVal = 0; - } - else { - retVal = DVDGetCommandBlockStatus(executing); - } - } - - OSRestoreInterrupts(enabled); - - return retVal; -} - -BOOL DVDSetAutoInvalidation(BOOL autoInval) -{ - BOOL prev; - prev = autoInvalidation; - autoInvalidation = autoInval; - return prev; -} - -inline void DVDPause(void) -{ - BOOL level; - level = OSDisableInterrupts(); - PauseFlag = TRUE; - if (executing == (DVDCommandBlock *)NULL) { - PausingFlag = TRUE; - } - OSRestoreInterrupts(level); -} - -inline void DVDResume(void) -{ - BOOL level; - level = OSDisableInterrupts(); - PauseFlag = FALSE; - if (PausingFlag) { - PausingFlag = FALSE; - stateReady(); - } - OSRestoreInterrupts(level); -} - -BOOL DVDCancelAsync(DVDCommandBlock *block, DVDCBCallback callback) -{ - BOOL enabled; - DVDLowCallback old; - - enabled = OSDisableInterrupts(); - - switch (block->state) { - case -1: - case 0: - case 10: - if (callback) - (*callback)(0, block); - break; - - case 1: - if (Canceling) { - OSRestoreInterrupts(enabled); - return FALSE; - } - - Canceling = TRUE; - CancelCallback = callback; - if (block->command == 4 || block->command == 1) { - DVDLowBreak(); - } - break; - - case 2: - __DVDDequeueWaitingQueue(block); - block->state = 10; - if (block->callback) - (block->callback)(-3, block); - if (callback) - (*callback)(0, block); - break; - - case 3: - switch (block->command) { - case 5: - case 4: - case 13: - case 15: - if (callback) - (*callback)(0, block); - break; - - default: - if (Canceling) { - OSRestoreInterrupts(enabled); - return FALSE; - } - Canceling = TRUE; - CancelCallback = callback; - break; - } - break; - - case 4: - case 5: - case 6: - case 7: - case 11: - old = DVDLowClearCallback(); - if (old != cbForStateMotorStopped) { - OSRestoreInterrupts(enabled); - return FALSE; - } - - if (block->state == 4) - ResumeFromHere = 3; - if (block->state == 5) - ResumeFromHere = 4; - if (block->state == 6) - ResumeFromHere = 1; - if (block->state == 11) - ResumeFromHere = 2; - if (block->state == 7) - ResumeFromHere = 7; - - block->state = 10; - if (block->callback) { - (block->callback)(-3, block); - } - if (callback) { - (callback)(0, block); - } - stateReady(); - break; - } - - OSRestoreInterrupts(enabled); - return TRUE; -} - -s32 DVDCancel(DVDCommandBlock *block) -{ - BOOL result; - s32 state; - u32 command; - BOOL enabled; - - result = DVDCancelAsync(block, cbForCancelSync); - - if (result == FALSE) { - return -1; - } - - enabled = OSDisableInterrupts(); - - for (;;) { - state = ((volatile DVDCommandBlock *)block)->state; - - if ((state == 0) || (state == -1) || (state == 10)) { - break; - } - - if (state == 3) { - command = ((volatile DVDCommandBlock *)block)->command; - - if ((command == 4) || (command == 5) || (command == 13) || (command == 15)) { - break; - } - } - - OSSleepThread(&__DVDThreadQueue); - } - - OSRestoreInterrupts(enabled); - return 0; -} - -static void cbForCancelSync(s32 result, DVDCommandBlock *block) -{ - OSWakeupThread(&__DVDThreadQueue); -} - -inline BOOL DVDCancelAllAsync(DVDCBCallback callback) -{ - BOOL enabled; - DVDCommandBlock *p; - BOOL retVal; - - enabled = OSDisableInterrupts(); - DVDPause(); - - while ((p = __DVDPopWaitingQueue()) != 0) { - DVDCancelAsync(p, NULL); - } - - if (executing) - retVal = DVDCancelAsync(executing, callback); - else { - retVal = TRUE; - if (callback) - (*callback)(0, NULL); - } - - DVDResume(); - OSRestoreInterrupts(enabled); - return retVal; -} - -s32 DVDCancelAll(void) -{ - BOOL result; - BOOL enabled; - - enabled = OSDisableInterrupts(); - CancelAllSyncComplete = FALSE; - - result = DVDCancelAllAsync(cbForCancelAllSync); - - if (result == FALSE) { - OSRestoreInterrupts(enabled); - return -1; - } - - for (;;) { - if (CancelAllSyncComplete) - break; - - OSSleepThread(&__DVDThreadQueue); - } - - OSRestoreInterrupts(enabled); - return 0; -} - -static void cbForCancelAllSync(s32 result, DVDCommandBlock *block) -{ - CancelAllSyncComplete = TRUE; - OSWakeupThread(&__DVDThreadQueue); -} - -DVDDiskID *DVDGetCurrentDiskID(void) -{ - return (DVDDiskID *)OSPhysicalToCached(0); -} -BOOL DVDCheckDisk(void) -{ - BOOL enabled; - s32 retVal; - s32 state; - u32 coverReg; - - enabled = OSDisableInterrupts(); - - if (FatalErrorFlag) { - state = -1; - } - else if (PausingFlag) { - state = 8; - } - else { - if (executing == (DVDCommandBlock *)NULL) { - state = 0; - } - else if (executing == &DummyCommandBlock) { - state = 0; - } - else { - state = executing->state; - } - } - - switch (state) { - case 1: - case 9: - case 10: - case 2: - retVal = TRUE; - break; - - case -1: - case 11: - case 7: - case 3: - case 4: - case 5: - case 6: - retVal = FALSE; - break; - - case 0: - case 8: - coverReg = __DIRegs[1]; - if (((coverReg >> 2) & 1) || (coverReg & 1)) { - retVal = FALSE; - } - else { - retVal = TRUE; - } - } - - OSRestoreInterrupts(enabled); - - return retVal; -} - -void __DVDPrepareResetAsync(DVDCBCallback callback) -{ - BOOL enabled; - - enabled = OSDisableInterrupts(); - - __DVDClearWaitingQueue(); - - if (Canceling) { - CancelCallback = callback; - } - else { - if (executing) { - executing->callback = NULL; - } - - DVDCancelAllAsync(callback); - } - - OSRestoreInterrupts(enabled); -} diff --git a/src/dolphin/dvd/dvderror.c b/src/dolphin/dvd/dvderror.c deleted file mode 100644 index d7bf68ba..00000000 --- a/src/dolphin/dvd/dvderror.c +++ /dev/null @@ -1,56 +0,0 @@ -#include "dolphin/DVDPriv.h" -#include "dolphin/OSRtcPriv.h" - -static u32 ErrorTable[] = { - 0, 0x00023A00, 0x00062800, 0x00030200, 0x00031100, 0x00052000, - 0x00052001, 0x00052100, 0x00052400, 0x00052401, 0x00052402, 0x000B5A01, - 0x00056300, 0x00020401, 0x00020400, 0x00040800, 0x00100007, 0, -}; - -static u8 ErrorCode2Num(u32 errorCode) { - u32 i; - - for (i = 0; i < sizeof(ErrorTable) / sizeof(ErrorTable[0]); i++) { - if (ErrorTable[i] == errorCode) { - return (u8)i; - } - } - - if ((errorCode >= 0x00100000) && (errorCode <= 0x00100008)) { - return 17; - } - - return 29; -} - -static u8 Convert(u32 error) { - u32 statusCode; - u32 errorCode; - u8 errorNum; - - if (error == 0x01234567) - return 255; - - if (error == 0x01234568) - return 254; - - statusCode = (error & 0xff000000) >> 24; - errorCode = error & 0x00ffffff; - - errorNum = ErrorCode2Num(errorCode); - if (statusCode >= 6) - statusCode = 6; - - return (u8)(statusCode * 30 + errorNum); -} - -void __DVDStoreErrorCode(u32 error) { - OSSramEx* sram; - u8 num; - - num = Convert(error); - - sram = __OSLockSramEx(); - sram->dvdErrorCode = num; - __OSUnlockSramEx(TRUE); -} \ No newline at end of file diff --git a/src/dolphin/dvd/dvdfs.c b/src/dolphin/dvd/dvdfs.c deleted file mode 100644 index 4f465be0..00000000 --- a/src/dolphin/dvd/dvdfs.c +++ /dev/null @@ -1,356 +0,0 @@ - -#include "dolphin/DVDPriv.h" -#include "dolphin/os.h" -#include "dolphin/os/OSBootInfo.h" - -typedef struct FSTEntry FSTEntry; - -struct FSTEntry { - unsigned int isDirAndStringOff; - unsigned int parentOrPosition; - unsigned int nextEntryOrLength; -}; - -static OSBootInfo* BootInfo; -static FSTEntry* FstStart; -static char* FstStringStart; -static u32 MaxEntryNum; -static u32 currentDirectory = 0; -OSThreadQueue __DVDThreadQueue; -u32 __DVDLongFileNameFlag = 0; - -static void cbForReadAsync(s32 result, DVDCommandBlock* block); -static void cbForReadSync(s32 result, DVDCommandBlock* block); -static void cbForSeekAsync(s32 result, DVDCommandBlock* block); -static void cbForSeekSync(s32 result, DVDCommandBlock* block); -static void cbForPrepareStreamAsync(s32 result, DVDCommandBlock* block); -static void cbForPrepareStreamSync(s32 result, DVDCommandBlock* block); - -void __DVDFSInit() { - BootInfo = (OSBootInfo*)OSPhysicalToCached(0); - FstStart = (FSTEntry*)BootInfo->FSTLocation; - - if (FstStart) { - MaxEntryNum = FstStart[0].nextEntryOrLength; - FstStringStart = (char*)&(FstStart[MaxEntryNum]); - } -} - -/* For convenience */ -#define entryIsDir(i) (((FstStart[i].isDirAndStringOff & 0xff000000) == 0) ? FALSE : TRUE) -#define stringOff(i) (FstStart[i].isDirAndStringOff & ~0xff000000) -#define parentDir(i) (FstStart[i].parentOrPosition) -#define nextDir(i) (FstStart[i].nextEntryOrLength) -#define filePosition(i) (FstStart[i].parentOrPosition) -#define fileLength(i) (FstStart[i].nextEntryOrLength) - -static BOOL isSame(const char* path, const char* string) { - while (*string != '\0') { - if (tolower(*path++) != tolower(*string++)) { - return FALSE; - } - } - - if ((*path == '/') || (*path == '\0')) { - return TRUE; - } - - return FALSE; -} - -s32 DVDConvertPathToEntrynum(char* pathPtr) { - const char* ptr; - char* stringPtr; - BOOL isDir; - u32 length; - u32 dirLookAt; - u32 i; - const char* origPathPtr = pathPtr; - const char* extentionStart; - BOOL illegal; - BOOL extention; - - dirLookAt = currentDirectory; - - while (1) { - - if (*pathPtr == '\0') { - return (s32)dirLookAt; - } else if (*pathPtr == '/') { - dirLookAt = 0; - pathPtr++; - continue; - } else if (*pathPtr == '.') { - if (*(pathPtr + 1) == '.') { - if (*(pathPtr + 2) == '/') { - dirLookAt = parentDir(dirLookAt); - pathPtr += 3; - continue; - } else if (*(pathPtr + 2) == '\0') { - return (s32)parentDir(dirLookAt); - } - } else if (*(pathPtr + 1) == '/') { - pathPtr += 2; - continue; - } else if (*(pathPtr + 1) == '\0') { - return (s32)dirLookAt; - } - } - - if (__DVDLongFileNameFlag == 0) { - extention = FALSE; - illegal = FALSE; - - for (ptr = pathPtr; (*ptr != '\0') && (*ptr != '/'); ptr++) { - if (*ptr == '.') { - if ((ptr - pathPtr > 8) || (extention == TRUE)) { - illegal = TRUE; - break; - } - extention = TRUE; - extentionStart = ptr + 1; - - } else if (*ptr == ' ') - illegal = TRUE; - } - - if ((extention == TRUE) && (ptr - extentionStart > 3)) - illegal = TRUE; - - if (illegal) - OSPanic(__FILE__, 376, - "DVDConvertEntrynumToPath(possibly DVDOpen or DVDChangeDir or DVDOpenDir): " - "specified directory or file (%s) doesn't match standard 8.3 format. This is a " - "temporary restriction and will be removed soon\n", - origPathPtr); - } else { - for (ptr = pathPtr; (*ptr != '\0') && (*ptr != '/'); ptr++) - ; - } - - isDir = (*ptr == '\0') ? FALSE : TRUE; - length = (u32)(ptr - pathPtr); - - ptr = pathPtr; - - for (i = dirLookAt + 1; i < nextDir(dirLookAt); i = entryIsDir(i) ? nextDir(i) : (i + 1)) { - if ((entryIsDir(i) == FALSE) && (isDir == TRUE)) { - continue; - } - - stringPtr = FstStringStart + stringOff(i); - - if (isSame(ptr, stringPtr) == TRUE) { - goto next_hier; - } - } - - return -1; - - next_hier: - if (!isDir) { - return (s32)i; - } - - dirLookAt = i; - pathPtr += length + 1; - } -} - -BOOL DVDFastOpen(s32 entrynum, DVDFileInfo* fileInfo) { - if ((entrynum < 0) || (entrynum >= MaxEntryNum) || entryIsDir(entrynum)) { - return FALSE; - } - - fileInfo->startAddr = filePosition(entrynum); - fileInfo->length = fileLength(entrynum); - fileInfo->callback = (DVDCallback)NULL; - fileInfo->cb.state = DVD_STATE_END; - - return TRUE; -} - -BOOL DVDOpen(char* fileName, DVDFileInfo* fileInfo) { - s32 entry; - char currentDir[128]; - - entry = DVDConvertPathToEntrynum(fileName); - - if (0 > entry) { - DVDGetCurrentDir(currentDir, 128); - OSReport("Warning: DVDOpen(): file '%s' was not found under %s.\n", fileName, currentDir); - return FALSE; - } - - if (entryIsDir(entry)) { - return FALSE; - } - - fileInfo->startAddr = filePosition(entry); - fileInfo->length = fileLength(entry); - fileInfo->callback = (DVDCallback)NULL; - fileInfo->cb.state = DVD_STATE_END; - - return TRUE; -} - -BOOL DVDClose(DVDFileInfo* fileInfo) { - DVDCancel(&(fileInfo->cb)); - return TRUE; -} - -static u32 myStrncpy(char* dest, char* src, u32 maxlen) { - u32 i = maxlen; - - while ((i > 0) && (*src != 0)) { - *dest++ = *src++; - i--; - } - - return (maxlen - i); -} - -static u32 entryToPath(u32 entry, char* path, u32 maxlen) { - char* name; - u32 loc; - - if (entry == 0) { - return 0; - } - - name = FstStringStart + stringOff(entry); - - loc = entryToPath(parentDir(entry), path, maxlen); - - if (loc == maxlen) { - return loc; - } - - *(path + loc++) = '/'; - - loc += myStrncpy(path + loc, name, maxlen - loc); - - return loc; -} - -static BOOL DVDConvertEntrynumToPath(s32 entrynum, char* path, u32 maxlen) { - u32 loc; - - loc = entryToPath((u32)entrynum, path, maxlen); - - if (loc == maxlen) { - path[maxlen - 1] = '\0'; - return FALSE; - } - - if (entryIsDir(entrynum)) { - if (loc == maxlen - 1) { - path[loc] = '\0'; - return FALSE; - } - - path[loc++] = '/'; - } - - path[loc] = '\0'; - return TRUE; -} - -BOOL DVDGetCurrentDir(char* path, u32 maxlen) { - return DVDConvertEntrynumToPath((s32)currentDirectory, path, maxlen); -} - -BOOL DVDChangeDir(char* dirName) { - s32 entry; - entry = DVDConvertPathToEntrynum(dirName); - if ((entry < 0) || (entryIsDir(entry) == FALSE)) { - return FALSE; - } - - currentDirectory = (u32)entry; - - return TRUE; -} - -BOOL DVDReadAsyncPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, - DVDCallback callback, s32 prio) { - - if (!((0 <= offset) && (offset < fileInfo->length))) { - OSPanic(__FILE__, 739, "DVDReadAsync(): specified area is out of the file "); - } - - if (!((0 <= offset + length) && (offset + length < fileInfo->length + DVD_MIN_TRANSFER_SIZE))) { - OSPanic(__FILE__, 745, "DVDReadAsync(): specified area is out of the file "); - } - - fileInfo->callback = callback; - DVDReadAbsAsyncPrio(&(fileInfo->cb), addr, length, (s32)(fileInfo->startAddr + offset), - cbForReadAsync, prio); - - return TRUE; -} -#ifndef offsetof -#define offsetof(type, memb) ((u32) & ((type*)0)->memb) -#endif - -static void cbForReadAsync(s32 result, DVDCommandBlock* block) { - DVDFileInfo* fileInfo; - - fileInfo = (DVDFileInfo*)((char*)block - offsetof(DVDFileInfo, cb)); - if (fileInfo->callback) { - (fileInfo->callback)(result, fileInfo); - } -} - -/* This is based on the revolution SDK, these may not match in all cases I have also left the line numbers at 0 */ -BOOL DVDReadPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, s32 prio) { - BOOL result; - DVDCommandBlock* block; - s32 state; - BOOL enabled; - s32 retVal; - - if (!((0 <= offset) && (offset < fileInfo->length))) { - OSPanic(__FILE__, 809, "DVDRead(): specified area is out of the file "); - } - - if (!((0 <= offset + length) && (offset + length < fileInfo->length + DVD_MIN_TRANSFER_SIZE))) { - OSPanic(__FILE__, 815, "DVDRead(): specified area is out of the file "); - } - - block = &(fileInfo->cb); - - result = DVDReadAbsAsyncPrio(block, addr, length, (s32)(fileInfo->startAddr + offset), - cbForReadSync, prio); - - if (result == FALSE) { - return -1; - } - - enabled = OSDisableInterrupts(); - - while(1) { - state = ((volatile DVDCommandBlock*)block)->state; - - if (state == DVD_STATE_END) { - retVal = (s32)block->transferredSize; - break; - } - if (state == DVD_STATE_FATAL_ERROR) { - retVal = DVD_RESULT_FATAL_ERROR; - break; - } - if (state == DVD_STATE_CANCELED) { - retVal = DVD_RESULT_CANCELED; - break; - } - - OSSleepThread(&__DVDThreadQueue); - } - - OSRestoreInterrupts(enabled); - return retVal; -} - -/* This is based on the revolution SDK, these may not match in all cases */ -static void cbForReadSync(s32 result, DVDCommandBlock* block) { OSWakeupThread(&__DVDThreadQueue); } \ No newline at end of file diff --git a/src/dolphin/dvd/dvdlow.c b/src/dolphin/dvd/dvdlow.c deleted file mode 100644 index 9b64c91a..00000000 --- a/src/dolphin/dvd/dvdlow.c +++ /dev/null @@ -1,436 +0,0 @@ -#include "dolphin/DVDPriv.h" -#include "dolphin/os.h" - -extern DVDDiskID* DVDGetCurrentDiskID(); - -extern OSTime __OSGetSystemTime(); - -static BOOL FirstRead = TRUE; -static volatile BOOL StopAtNextInt = FALSE; -static u32 LastLength = 0; -static DVDLowCallback Callback = NULL; -static DVDLowCallback ResetCoverCallback = NULL; -static volatile OSTime LastResetEnd = 0; -static volatile u32 ResetOccurred = FALSE; -static volatile BOOL WaitingCoverClose = FALSE; -static BOOL Breaking = FALSE; -static volatile u32 WorkAroundType = 0; -static u32 WorkAroundSeekLocation = 0; -static volatile OSTime LastReadFinished = 0; -static OSTime LastReadIssued = 0; -static volatile BOOL LastCommandWasRead = FALSE; -static vu32 NextCommandNumber = 0; - -typedef struct DVDBuffer { - void* addr; - u32 length; - u32 offset; -} DVDBuffer; - -typedef struct DVDCommand { - s32 cmd; - void* addr; - u32 length; - u32 offset; - DVDLowCallback callback; -} DVDCommand; - -static DVDCommand CommandList[3]; -static OSAlarm AlarmForWA; -static OSAlarm AlarmForTimeout; -static OSAlarm AlarmForBreak; -static DVDBuffer Prev; -static DVDBuffer Curr; - -void __DVDInitWA() { - NextCommandNumber = 0; - CommandList[0].cmd = -1; - __DVDLowSetWAType(0, 0); - OSInitAlarm(); -} - -static void Read(void* addr, u32 length, u32 offset, DVDLowCallback callback); - -static BOOL ProcessNextCommand() { - s32 n = NextCommandNumber; - ASSERT(n < 3); - - if (CommandList[n].cmd == 1) { - ++NextCommandNumber; - Read(CommandList[n].addr, CommandList[n].length, CommandList[n].offset, - CommandList[n].callback); - return TRUE; - } else if (CommandList[n].cmd == 2) { - ++NextCommandNumber; - DVDLowSeek(CommandList[n].offset, CommandList[n].callback); - return TRUE; - } - - return FALSE; -} - -void __DVDInterruptHandler(__OSInterrupt interrupt, OSContext* context) { - DVDLowCallback cb; - OSContext exceptionContext; - u32 cause = 0; - u32 reg; - u32 intr; - u32 mask; - - OSCancelAlarm(&AlarmForTimeout); - - if (LastCommandWasRead) { - LastReadFinished = __OSGetSystemTime(); - FirstRead = FALSE; - Prev.addr = Curr.addr; - Prev.length = Curr.length; - Prev.offset = Curr.offset; - if (StopAtNextInt == TRUE) { - cause |= 8; - } - } - - LastCommandWasRead = FALSE; - StopAtNextInt = FALSE; - reg = __DIRegs[0]; - mask = reg & 0x2a; - intr = (reg & 0x54) & (mask << 1); - - if (intr & 0x40) { - cause |= 8; - } - - if (intr & 0x10) { - cause |= 1; - } - - if (intr & 4) { - cause |= 2; - } - - if (cause) { - ResetOccurred = FALSE; - - } - - __DIRegs[0] = intr | mask; - - if (ResetOccurred && (__OSGetSystemTime() - LastResetEnd) < OSMillisecondsToTicks(200)) { - reg = __DIRegs[1]; - mask = reg & 0x2; - intr = (reg & 4) & (mask << 1); - if (intr & 4) { - if (ResetCoverCallback) { - ResetCoverCallback(4); - } - ResetCoverCallback = NULL; - } - - __DIRegs[1] = __DIRegs[1]; - } else if (WaitingCoverClose) { - reg = __DIRegs[1]; - mask = reg & 2; - intr = (reg & 4) & (mask << 1); - - if (intr & 4) { - cause |= 4; - } - - __DIRegs[1] = intr | mask; - WaitingCoverClose = FALSE; - } else { - __DIRegs[1] = 0; - } - - if ((cause & 8) && !Breaking) { - cause &= ~8; - } - - if ((cause & 1)) { - if (ProcessNextCommand()) { - return; - } - } else { - CommandList[0].cmd = -1; - NextCommandNumber = 0; - } - - OSClearContext(&exceptionContext); - OSSetCurrentContext(&exceptionContext); - - if (cause) { - cb = Callback; - Callback = NULL; - if (cb) { - cb(cause); - } - - Breaking = FALSE; - } - - OSClearContext(&exceptionContext); - OSSetCurrentContext(context); -} - -static void AlarmHandler(OSAlarm* alarm, OSContext* context) { - BOOL error = ProcessNextCommand(); - ASSERTMSG(error != FALSE, "Failed assertion processed"); -} - -static void AlarmHandlerForTimeout(OSAlarm* alarm, OSContext* context) { - OSContext tmpContext; - DVDLowCallback callback; - __OSMaskInterrupts(0x400); - OSClearContext(&tmpContext); - OSSetCurrentContext(&tmpContext); - callback = Callback; - Callback = NULL; - if (callback != NULL) { - callback(0x10); - } - OSClearContext(&tmpContext); - OSSetCurrentContext(context); -} - -static void SetTimeoutAlarm(OSTime timeout) { - OSCreateAlarm(&AlarmForTimeout); - OSSetAlarm(&AlarmForTimeout, timeout, AlarmHandlerForTimeout); -} - -static void Read(void* addr, u32 length, u32 offset, DVDLowCallback callback) { - StopAtNextInt = FALSE; - LastCommandWasRead = TRUE; - Callback = callback; - LastReadIssued = __OSGetSystemTime(); - - __DIRegs[2] = 0xa8000000; - __DIRegs[3] = offset / 4; - __DIRegs[4] = length; - __DIRegs[5] = (u32)addr; - __DIRegs[6] = length; - LastLength = length; - __DIRegs[7] = 3; - - if (length > 0xa00000) { - SetTimeoutAlarm(OSSecondsToTicks(20)); - } else { - SetTimeoutAlarm(OSSecondsToTicks(10)); - } -} - -BOOL HitCache(DVDBuffer* cur, DVDBuffer* prev) { - u32 uVar1 = (prev->offset + prev->length - 1) >> 15; - u32 uVar2 = (cur->offset >> 15); - u32 iVar3 = (DVDGetCurrentDiskID()->streaming ? TRUE : FALSE) ? 5 : 15; - - if ((uVar2 > uVar1 - 2) || (uVar2 < uVar1 + iVar3 + 3)) { - return TRUE; - } - return FALSE; -} - -static void DoJustRead(void* addr, u32 length, u32 offset, DVDLowCallback callback) { - CommandList[0].cmd = -1; - NextCommandNumber = 0; - Read(addr, length, offset, callback); -} - -static void SeekTwiceBeforeRead(void* addr, u32 length, u32 offset, DVDLowCallback callback) { - u32 newOffset = offset & ~0x7FFF; - if (!newOffset) { - newOffset = 0; - } else { - newOffset += WorkAroundSeekLocation; - } - CommandList[0].cmd = 2; - CommandList[0].offset = newOffset; - CommandList[0].callback = callback; - CommandList[1].cmd = 1; - CommandList[1].addr = addr; - CommandList[1].length = length; - CommandList[1].offset = offset; - CommandList[1].callback = callback; - CommandList[2].cmd = -1; - NextCommandNumber = 0; - DVDLowSeek(newOffset, callback); -} - -static void WaitBeforeRead(void* addr, u32 length, u32 offset, DVDLowCallback callback, - OSTime timeout) { - CommandList[0].cmd = 1; - CommandList[0].addr = addr; - CommandList[0].length = length; - CommandList[0].offset = offset; - CommandList[0].callback = callback; - CommandList[1].cmd = -1; - NextCommandNumber = 0; - OSCreateAlarm(&AlarmForWA); - OSSetAlarm(&AlarmForWA, timeout, AlarmHandler); -} - - -BOOL DVDLowRead(void* addr, u32 length, u32 offset, DVDLowCallback callback) { - OSTime diff; - u32 prev; - - __DIRegs[6] = length; - Curr.addr = addr; - Curr.length = length; - Curr.offset = offset; - - if (WorkAroundType == 0) { - DoJustRead(addr, length, offset, callback); - } else if (WorkAroundType == 1) { - if (FirstRead) { - SeekTwiceBeforeRead(addr, length, offset, callback); - } else { - if (!HitCache(&Curr, &Prev)) { - DoJustRead(addr, length, offset, callback); - } else { - prev = (Prev.offset + Prev.length - 1) >> 15; - if (prev == Curr.offset >> 15 || prev + 1 == Curr.offset >> 15) { - diff = __OSGetSystemTime() - LastReadFinished; - if (OSMillisecondsToTicks(5) < diff) { - DoJustRead(addr, length, offset, callback); - } else { - WaitBeforeRead(addr, length, offset, callback, - OSMillisecondsToTicks(5) - diff + OSMicrosecondsToTicks(500)); - } - } else { - SeekTwiceBeforeRead(addr, length, offset, callback); - } - } - } - } - return TRUE; -} - -BOOL DVDLowSeek(u32 offset, DVDLowCallback callback) { - ASSERTMSG(offset & 3, "DVDLowSeek(): offset must be a multiple of 4."); - StopAtNextInt = FALSE; - Callback = callback; - __DIRegs[2] = 0xab000000; - __DIRegs[3] = offset / 4; - __DIRegs[7] = 1; - SetTimeoutAlarm(OSSecondsToTicks(10)); - return TRUE; -} - -BOOL DVDLowWaitCoverClose(DVDLowCallback callback) { - Callback = callback; - WaitingCoverClose = TRUE; - StopAtNextInt = FALSE; - __DIRegs[1] = 2; - return TRUE; -} - -BOOL DVDLowReadDiskID(DVDDiskID* diskID, DVDLowCallback callback) { - StopAtNextInt = FALSE; - Callback = callback; - __DIRegs[2] = 0xa8000040; - __DIRegs[3] = 0; - __DIRegs[4] = sizeof(DVDDiskID); - __DIRegs[5] = (u32)diskID; - __DIRegs[6] = sizeof(DVDDiskID); - __DIRegs[7] = 3; - SetTimeoutAlarm(OSSecondsToTicks(10)); - return TRUE; -} - -BOOL DVDLowStopMotor(DVDLowCallback callback) { - StopAtNextInt = FALSE; - Callback = callback; - __DIRegs[2] = 0xe3000000; - __DIRegs[7] = 1; - SetTimeoutAlarm(OSSecondsToTicks(10)); - return TRUE; -} - -BOOL DVDLowRequestError(DVDLowCallback callback) { - StopAtNextInt = FALSE; - Callback = callback; - __DIRegs[2] = 0xe0000000; - __DIRegs[7] = 1; - SetTimeoutAlarm(OSSecondsToTicks(10)); - return TRUE; -} - -BOOL DVDLowInquiry(DVDDriveInfo* info, DVDLowCallback callback) { - StopAtNextInt = FALSE; - Callback = callback; - __DIRegs[2] = 0x12000000; - __DIRegs[4] = sizeof(DVDDriveInfo); - __DIRegs[5] = (u32)info; - __DIRegs[6] = sizeof(DVDDriveInfo); - __DIRegs[7] = 3; - SetTimeoutAlarm(OSSecondsToTicks(10)); - return TRUE; -} - -BOOL DVDLowAudioStream(u32 subcmd, u32 length, u32 offset, DVDLowCallback callback) { - StopAtNextInt = FALSE; - Callback = callback; - __DIRegs[2] = subcmd | 0xe1000000; - __DIRegs[3] = offset >> 2; - __DIRegs[4] = length; - __DIRegs[7] = 1; - SetTimeoutAlarm(OSSecondsToTicks(10)); - return TRUE; -} - -BOOL DVDLowRequestAudioStatus(u32 subcmd, DVDLowCallback callback) { - StopAtNextInt = FALSE; - Callback = callback; - __DIRegs[2] = subcmd | 0xe2000000; - __DIRegs[7] = 1; - SetTimeoutAlarm(OSSecondsToTicks(10)); - return TRUE; -} - -BOOL DVDLowAudioBufferConfig(BOOL enable, u32 size, DVDLowCallback callback) { - StopAtNextInt = FALSE; - Callback = callback; - __DIRegs[2] = 0xe4000000 | (enable != 0 ? 0x10000 : 0) | size; - __DIRegs[7] = 1; - SetTimeoutAlarm(OSSecondsToTicks(10)); - return TRUE; -} - -void DVDLowReset() { - u32 reg; - OSTime resetStart; - - __DIRegs[1] = 2; - reg = __PIRegs[9]; - __PIRegs[9] = (reg & ~4) | 1; - - resetStart = __OSGetSystemTime(); - while ((__OSGetSystemTime() - resetStart) < OSMicrosecondsToTicks(12)) - ; - - __PIRegs[9] = reg | 5; - ResetOccurred = TRUE; - LastResetEnd = __OSGetSystemTime(); -} - -BOOL DVDLowBreak() { - StopAtNextInt = TRUE; - Breaking = TRUE; - return TRUE; -} - -DVDLowCallback DVDLowClearCallback() { - DVDLowCallback old; - __DIRegs[1] = 0; - old = Callback; - Callback = NULL; - return old; -} - -void __DVDLowSetWAType(u32 type, u32 location) { - BOOL enabled; - enabled = OSDisableInterrupts(); - WorkAroundType = type; - WorkAroundSeekLocation = location; - OSRestoreInterrupts(enabled); -} \ No newline at end of file diff --git a/src/dolphin/dvd/dvdqueue.c b/src/dolphin/dvd/dvdqueue.c deleted file mode 100644 index 445ae7e7..00000000 --- a/src/dolphin/dvd/dvdqueue.c +++ /dev/null @@ -1,142 +0,0 @@ -#include "dolphin/DVDPriv.h" - -#define MAX_QUEUES 4 -typedef struct { - DVDCommandBlock* next; - DVDCommandBlock* prev; -} DVDQueue; - -static DVDQueue WaitingQueue[MAX_QUEUES]; - -void __DVDClearWaitingQueue(void) { - u32 i; - - for (i = 0; i < MAX_QUEUES; i++) { - DVDCommandBlock* q; - - q = (DVDCommandBlock*)&(WaitingQueue[i]); - q->next = q; - q->prev = q; - } -} - -BOOL __DVDPushWaitingQueue(s32 prio, DVDCommandBlock* block) { - BOOL enabled; - DVDCommandBlock* q; - - enabled = OSDisableInterrupts(); - - q = (DVDCommandBlock*)&(WaitingQueue[prio]); - - q->prev->next = block; - block->prev = q->prev; - block->next = q; - q->prev = block; - - OSRestoreInterrupts(enabled); - - return TRUE; -} - -static DVDCommandBlock* PopWaitingQueuePrio(s32 prio) { - DVDCommandBlock* tmp; - BOOL enabled; - DVDCommandBlock* q; - - enabled = OSDisableInterrupts(); - - q = (DVDCommandBlock*)&(WaitingQueue[prio]); - - tmp = q->next; - q->next = tmp->next; - tmp->next->prev = q; - - OSRestoreInterrupts(enabled); - - tmp->next = (DVDCommandBlock*)NULL; - tmp->prev = (DVDCommandBlock*)NULL; - - return tmp; -} - -DVDCommandBlock* __DVDPopWaitingQueue(void) { - u32 i; - BOOL enabled; - DVDCommandBlock* q; - - enabled = OSDisableInterrupts(); - - for (i = 0; i < MAX_QUEUES; i++) { - q = (DVDCommandBlock*)&(WaitingQueue[i]); - if (q->next != q) { - OSRestoreInterrupts(enabled); - return PopWaitingQueuePrio((s32)i); - } - } - - OSRestoreInterrupts(enabled); - - return (DVDCommandBlock*)NULL; -} - -BOOL __DVDCheckWaitingQueue(void) { - u32 i; - BOOL enabled; - DVDCommandBlock* q; - - enabled = OSDisableInterrupts(); - - for (i = 0; i < MAX_QUEUES; i++) { - q = (DVDCommandBlock*)&(WaitingQueue[i]); - if (q->next != q) { - OSRestoreInterrupts(enabled); - return TRUE; - } - } - - OSRestoreInterrupts(enabled); - - return FALSE; -} - -BOOL __DVDDequeueWaitingQueue(DVDCommandBlock* block) { - BOOL enabled; - DVDCommandBlock* prev; - DVDCommandBlock* next; - - enabled = OSDisableInterrupts(); - - prev = block->prev; - next = block->next; - - if ((prev == (DVDCommandBlock*)NULL) || (next == (DVDCommandBlock*)NULL)) { - OSRestoreInterrupts(enabled); - return FALSE; - } - - prev->next = next; - next->prev = prev; - - OSRestoreInterrupts(enabled); - - return TRUE; -} - -BOOL __DVDIsBlockInWaitingQueue(DVDCommandBlock* block) { - u32 i; - DVDCommandBlock* start; - DVDCommandBlock* q; - - for (i = 0; i < MAX_QUEUES; i++) { - start = (DVDCommandBlock*)&(WaitingQueue[i]); - - if (start->next != start) { - for (q = start->next; q != start; q = q->next) { - if (q == block) - return TRUE; - } - } - } - - return FALSE; -} \ No newline at end of file diff --git a/src/dolphin/dvd/fstload.c b/src/dolphin/dvd/fstload.c deleted file mode 100644 index fd127c61..00000000 --- a/src/dolphin/dvd/fstload.c +++ /dev/null @@ -1,68 +0,0 @@ - -#include -#include -#include -#include -#include -#include - -static s32 status = 0; - -static u8 bb2Buf[OSRoundUp32B(sizeof(DVDBB2)) + 31]; -static DVDBB2* bb2 = 0; -static DVDDiskID* idTmp = NULL; - -static void cb(s32 result, DVDCommandBlock* block) { - if (result > 0) { - switch (status) { - case 0: - status = 1; - DVDReadAbsAsyncForBS(block, bb2, OSRoundUp32B(sizeof(bb2)), 0x420, cb); - break; - case 1: - status = 2; - DVDReadAbsAsyncForBS(block, bb2->FSTAddress, OSRoundUp32B(bb2->FSTLength), bb2->FSTPosition, - cb); - } - } else if (result == -1) { - - } else if (result == -4) { - status = 0; - DVDReset(); - DVDReadDiskID(block, idTmp, cb); - } -} - -void __fstLoad() { - OSBootInfo* bootInfo; - DVDDiskID* id; - u8 idTmpBuf[sizeof(DVDDiskID) + 31]; - static DVDCommandBlock block; - void* arenaHi; - - arenaHi = OSGetArenaHi(); - bootInfo = (OSBootInfo*)OSPhysicalToCached(0); - - idTmp = (DVDDiskID*)(OSRoundUp32B(idTmpBuf)); - bb2 = (DVDBB2*)(OSRoundUp32B(bb2Buf)); - - DVDReset(); - DVDReadDiskID(&block, idTmp, cb); - while (DVDGetDriveStatus() != 0); - - bootInfo->FSTLocation = bb2->FSTAddress; - bootInfo->FSTMaxLength = bb2->FSTMaxLength; - - id = &bootInfo->DVDDiskID; - - memcpy(id, idTmp, sizeof(DVDDiskID)); - OSReport("\n"); - OSReport(" Game Name ... %c%c%c%c\n", id->gameName[0], id->gameName[1], id->gameName[2], - id->gameName[3]); - OSReport(" Company ..... %c%c\n", id->company[0], id->company[1]); - OSReport(" Disk # ...... %d\n", id->diskNumber); - OSReport(" Game ver .... %d\n", id->gameVersion); - OSReport(" Streaming ... %s\n", (id->streaming == 0) ? "OFF" : "ON"); - OSReport("\n"); - OSSetArenaHi(bb2->FSTAddress); -} diff --git a/src/dolphin/exi/EXIBios.c b/src/dolphin/exi/EXIBios.c deleted file mode 100644 index 4b9a1d78..00000000 --- a/src/dolphin/exi/EXIBios.c +++ /dev/null @@ -1,686 +0,0 @@ -#include -#include -#include - -#define MAX_DEV 3 -#define MAX_CHAN 3 - -#define REG_MAX 5 -#define REG(chan, idx) (__EXIRegs[((chan)*REG_MAX) + (idx)]) - -#define STATE_IDLE 0x00 -#define STATE_DMA 0x01 -#define STATE_IMM 0x02 -#define STATE_BUSY (STATE_DMA | STATE_IMM) -#define STATE_SELECTED 0x04 -#define STATE_ATTACHED 0x08 -#define STATE_LOCKED 0x10 - -#define EXI_0CR(tstart, dma, rw, tlen) ((((u32)(tstart)) << 0) | (((u32)(dma)) << 1) | (((u32)(rw)) << 2) | (((u32)(tlen)) << 4)) - -#define CPR_CS(x) ((1u << (x)) << 7) -#define CPR_CLK(x) ((x) << 4) - -static BOOL __EXIProbe(s32 chan); - -typedef struct EXIControl { - EXICallback exiCallback; - EXICallback tcCallback; - EXICallback extCallback; - vu32 state; - int immLen; - u8 *immBuf; - u32 dev; - u32 id; - s32 idTime; - int items; - struct { - u32 dev; - EXICallback callback; - } queue[MAX_DEV]; -} EXIControl; - -static EXIControl Ecb[MAX_CHAN]; - -s32 __EXIProbeStartTime[2] : (OS_BASE_CACHED | 0x30C0); - -static void SetExiInterruptMask(s32 chan, EXIControl *exi) -{ - EXIControl *exi2; - - exi2 = &Ecb[2]; - switch (chan) { - case 0: - if ((exi->exiCallback == 0 && exi2->exiCallback == 0) || (exi->state & STATE_LOCKED)) { - __OSMaskInterrupts(OS_INTERRUPTMASK_EXI_0_EXI | OS_INTERRUPTMASK_EXI_2_EXI); - } - else { - __OSUnmaskInterrupts(OS_INTERRUPTMASK_EXI_0_EXI | OS_INTERRUPTMASK_EXI_2_EXI); - } - break; - case 1: - if (exi->exiCallback == 0 || (exi->state & STATE_LOCKED)) { - __OSMaskInterrupts(OS_INTERRUPTMASK_EXI_1_EXI); - } - else { - __OSUnmaskInterrupts(OS_INTERRUPTMASK_EXI_1_EXI); - } - break; - case 2: - if (__OSGetInterruptHandler(__OS_INTERRUPT_PI_DEBUG) == 0 || (exi->state & STATE_LOCKED)) { - __OSMaskInterrupts(OS_INTERRUPTMASK_PI_DEBUG); - } - else { - __OSUnmaskInterrupts(OS_INTERRUPTMASK_PI_DEBUG); - } - break; - } -} - -static void CompleteTransfer(s32 chan) -{ - EXIControl *exi = &Ecb[chan]; - u8 *buf; - u32 data; - int i; - int len; - - if (exi->state & STATE_BUSY) { - if ((exi->state & STATE_IMM) && (len = exi->immLen)) { - buf = exi->immBuf; - data = REG(chan, 4); - for (i = 0; i < len; i++) { - *buf++ = (u8)((data >> ((3 - i) * 8)) & 0xff); - } - } - exi->state &= ~STATE_BUSY; - } -} - -BOOL EXIImm(s32 chan, void *buf, s32 len, u32 type, EXICallback callback) -{ - EXIControl *exi = &Ecb[chan]; - BOOL enabled; - - enabled = OSDisableInterrupts(); - if ((exi->state & STATE_BUSY) || !(exi->state & STATE_SELECTED)) { - OSRestoreInterrupts(enabled); - return FALSE; - } - - exi->tcCallback = callback; - if (exi->tcCallback) { - EXIClearInterrupts(chan, FALSE, TRUE, FALSE); - __OSUnmaskInterrupts(OS_INTERRUPTMASK_EXI_0_TC >> (3 * chan)); - } - - exi->state |= STATE_IMM; - - if (type != EXI_READ) { - u32 data; - int i; - - data = 0; - for (i = 0; i < len; i++) { - data |= ((u8 *)buf)[i] << ((3 - i) * 8); - } - REG(chan, 4) = data; - } - - exi->immBuf = buf; - exi->immLen = (type != EXI_WRITE) ? len : 0; - - REG(chan, 3) = EXI_0CR(1, 0, type, len - 1); - - OSRestoreInterrupts(enabled); - - return TRUE; -} - -BOOL EXIImmEx(s32 chan, void *buf, s32 len, u32 mode) -{ - s32 xLen; - - while (len) { - xLen = (len < 4) ? len : 4; - if (!EXIImm(chan, buf, xLen, mode, NULL)) { - return FALSE; - } - - if (!EXISync(chan)) { - return FALSE; - } - - (u8 *)buf += xLen; - len -= xLen; - } - return TRUE; -} - -BOOL EXIDma(s32 chan, void *buf, s32 len, u32 type, EXICallback callback) -{ - EXIControl *exi = &Ecb[chan]; - BOOL enabled; - - enabled = OSDisableInterrupts(); - if ((exi->state & STATE_BUSY) || !(exi->state & STATE_SELECTED)) { - OSRestoreInterrupts(enabled); - return FALSE; - } - - exi->tcCallback = callback; - if (exi->tcCallback) { - EXIClearInterrupts(chan, FALSE, TRUE, FALSE); - __OSUnmaskInterrupts(OS_INTERRUPTMASK_EXI_0_TC >> (3 * chan)); - } - - exi->state |= STATE_DMA; - - REG(chan, 1) = (u32)buf & 0x3ffffe0; - REG(chan, 2) = (u32)len; - REG(chan, 3) = EXI_0CR(1, 1, type, 0); - - OSRestoreInterrupts(enabled); - - return TRUE; -} - -extern u32 __OSGetDIConfig(void); - -vu16 __OSDeviceCode : (OS_BASE_CACHED | 0x30E6); - -BOOL EXISync(s32 chan) -{ - EXIControl *exi = &Ecb[chan]; - BOOL rc = FALSE; - BOOL enabled; - - while (exi->state & STATE_SELECTED) { - if (((REG(chan, 3) & 1) >> 0) == 0) { - enabled = OSDisableInterrupts(); - if (exi->state & STATE_SELECTED) { - CompleteTransfer(chan); - if (__OSGetDIConfig() != 0xff || exi->immLen != 4 || (REG(chan, 0) & 0x00000070) != (EXI_FREQ_1M << 4) - || (REG(chan, 4) != EXI_USB_ADAPTER && REG(chan, 4) != EXI_IS_VIEWER && REG(chan, 4) != 0x04220001) || __OSDeviceCode == 0x8200) { - rc = TRUE; - } - } - OSRestoreInterrupts(enabled); - break; - } - } - return rc; -} - -u32 EXIClearInterrupts(s32 chan, BOOL exi, BOOL tc, BOOL ext) -{ - u32 cpr; - u32 prev; - - prev = cpr = REG(chan, 0); - cpr &= 0x7f5; - if (exi) - cpr |= 2; - if (tc) - cpr |= 8; - if (ext) - cpr |= 0x800; - REG(chan, 0) = cpr; - return prev; -} - -EXICallback EXISetExiCallback(s32 chan, EXICallback exiCallback) -{ - EXIControl *exi = &Ecb[chan]; - EXICallback prev; - BOOL enabled; - - enabled = OSDisableInterrupts(); - prev = exi->exiCallback; - exi->exiCallback = exiCallback; - - if (chan != 2) { - SetExiInterruptMask(chan, exi); - } - else { - SetExiInterruptMask(0, &Ecb[0]); - } - - OSRestoreInterrupts(enabled); - return prev; -} - -void EXIProbeReset(void) -{ - __EXIProbeStartTime[0] = __EXIProbeStartTime[1] = 0; - Ecb[0].idTime = Ecb[1].idTime = 0; - __EXIProbe(0); - __EXIProbe(1); -} - -static BOOL __EXIProbe(s32 chan) -{ - EXIControl *exi = &Ecb[chan]; - BOOL enabled; - BOOL rc; - u32 cpr; - s32 t; - - if (chan == 2) { - return TRUE; - } - - rc = TRUE; - enabled = OSDisableInterrupts(); - cpr = REG(chan, 0); - if (!(exi->state & EXI_STATE_ATTACHED)) { - if (cpr & 0x00000800) { - EXIClearInterrupts(chan, FALSE, FALSE, TRUE); - __EXIProbeStartTime[chan] = exi->idTime = 0; - } - - if (cpr & 0x00001000) { - t = (s32)(OSTicksToMilliseconds(OSGetTime()) / 100) + 1; - if (__EXIProbeStartTime[chan] == 0) { - __EXIProbeStartTime[chan] = t; - } - if (t - __EXIProbeStartTime[chan] < 300 / 100) { - rc = FALSE; - } - } - else { - __EXIProbeStartTime[chan] = exi->idTime = 0; - rc = FALSE; - } - } - else if (!(cpr & 0x00001000) || (cpr & 0x00000800)) { - __EXIProbeStartTime[chan] = exi->idTime = 0; - rc = FALSE; - } - OSRestoreInterrupts(enabled); - - return rc; -} - -BOOL EXIProbe(s32 chan) -{ - EXIControl *exi = &Ecb[chan]; - BOOL rc; - u32 id; - - rc = __EXIProbe(chan); - if (rc && exi->idTime == 0) { - rc = EXIGetID(chan, 0, &id) ? TRUE : FALSE; - } - return rc; -} - -s32 EXIProbeEx(s32 chan) -{ - if (EXIProbe(chan)) { - return 1; - } - else if (__EXIProbeStartTime[chan] != 0) { - return 0; - } - else { - return -1; - } -} - -static BOOL __EXIAttach(s32 chan, EXICallback extCallback) -{ - EXIControl *exi = &Ecb[chan]; - BOOL enabled; - - enabled = OSDisableInterrupts(); - if ((exi->state & EXI_STATE_ATTACHED) || __EXIProbe(chan) == FALSE) { - OSRestoreInterrupts(enabled); - return FALSE; - } - - EXIClearInterrupts(chan, TRUE, FALSE, FALSE); - - exi->extCallback = extCallback; - __OSUnmaskInterrupts(OS_INTERRUPTMASK_EXI_0_EXT >> (3 * chan)); - exi->state |= STATE_ATTACHED; - OSRestoreInterrupts(enabled); - - return TRUE; -} - -BOOL EXIAttach(s32 chan, EXICallback extCallback) -{ - EXIControl *exi = &Ecb[chan]; - BOOL enabled; - BOOL rc; - - EXIProbe(chan); - - enabled = OSDisableInterrupts(); - if (exi->idTime == 0) { - OSRestoreInterrupts(enabled); - return FALSE; - } - rc = __EXIAttach(chan, extCallback); - OSRestoreInterrupts(enabled); - return rc; -} - -BOOL EXIDetach(s32 chan) -{ - EXIControl *exi = &Ecb[chan]; - BOOL enabled; - - enabled = OSDisableInterrupts(); - if (!(exi->state & STATE_ATTACHED)) { - OSRestoreInterrupts(enabled); - return TRUE; - } - if ((exi->state & STATE_LOCKED) && exi->dev == 0) { - OSRestoreInterrupts(enabled); - return FALSE; - } - - exi->state &= ~STATE_ATTACHED; - __OSMaskInterrupts((OS_INTERRUPTMASK_EXI_0_EXT | OS_INTERRUPTMASK_EXI_0_EXI) >> (3 * chan)); - OSRestoreInterrupts(enabled); - return TRUE; -} - -BOOL EXISelect(s32 chan, u32 dev, u32 freq) -{ - EXIControl *exi = &Ecb[chan]; - u32 cpr; - BOOL enabled; - - enabled = OSDisableInterrupts(); - if ((exi->state & STATE_SELECTED) - || chan != 2 && (dev == 0 && !(exi->state & STATE_ATTACHED) && !__EXIProbe(chan) || !(exi->state & STATE_LOCKED) || (exi->dev != dev))) { - OSRestoreInterrupts(enabled); - return FALSE; - } - - exi->state |= STATE_SELECTED; - cpr = REG(chan, 0); - cpr &= 0x405; - cpr |= CPR_CS(dev) | CPR_CLK(freq); - REG(chan, 0) = cpr; - - if (exi->state & STATE_ATTACHED) { - switch (chan) { - case 0: - __OSMaskInterrupts(OS_INTERRUPTMASK_EXI_0_EXT); - break; - case 1: - __OSMaskInterrupts(OS_INTERRUPTMASK_EXI_1_EXT); - break; - } - } - - OSRestoreInterrupts(enabled); - return TRUE; -} - -BOOL EXIDeselect(s32 chan) -{ - EXIControl *exi = &Ecb[chan]; - u32 cpr; - BOOL enabled; - - enabled = OSDisableInterrupts(); - if (!(exi->state & STATE_SELECTED)) { - OSRestoreInterrupts(enabled); - return FALSE; - } - exi->state &= ~STATE_SELECTED; - cpr = REG(chan, 0); - REG(chan, 0) = cpr & 0x405; - - if (exi->state & STATE_ATTACHED) { - switch (chan) { - case 0: - __OSUnmaskInterrupts(OS_INTERRUPTMASK_EXI_0_EXT); - break; - case 1: - __OSUnmaskInterrupts(OS_INTERRUPTMASK_EXI_1_EXT); - break; - } - } - - OSRestoreInterrupts(enabled); - - if (chan != 2 && (cpr & CPR_CS(0))) { - return __EXIProbe(chan) ? TRUE : FALSE; - } - - return TRUE; -} - -static void EXIIntrruptHandler(__OSInterrupt interrupt, OSContext *context) -{ - s32 chan; - EXIControl *exi; - EXICallback callback; - - chan = (interrupt - __OS_INTERRUPT_EXI_0_EXI) / 3; - exi = &Ecb[chan]; - EXIClearInterrupts(chan, TRUE, FALSE, FALSE); - callback = exi->exiCallback; - if (callback) { - OSContext exceptionContext; - - OSClearContext(&exceptionContext); - OSSetCurrentContext(&exceptionContext); - - callback(chan, context); - - OSClearContext(&exceptionContext); - OSSetCurrentContext(context); - } -} - -static void TCIntrruptHandler(__OSInterrupt interrupt, OSContext *context) -{ - OSContext exceptionContext; - s32 chan; - EXIControl *exi; - EXICallback callback; - - chan = (interrupt - __OS_INTERRUPT_EXI_0_TC) / 3; - exi = &Ecb[chan]; - __OSMaskInterrupts(OS_INTERRUPTMASK(interrupt)); - EXIClearInterrupts(chan, FALSE, TRUE, FALSE); - callback = exi->tcCallback; - if (callback) { - exi->tcCallback = 0; - CompleteTransfer(chan); - - OSClearContext(&exceptionContext); - OSSetCurrentContext(&exceptionContext); - - callback(chan, context); - - OSClearContext(&exceptionContext); - OSSetCurrentContext(context); - } -} - -static void EXTIntrruptHandler(__OSInterrupt interrupt, OSContext *context) -{ - s32 chan; - EXIControl *exi; - EXICallback callback; - - chan = (interrupt - __OS_INTERRUPT_EXI_0_EXT) / 3; - __OSMaskInterrupts((OS_INTERRUPTMASK_EXI_0_EXT | OS_INTERRUPTMASK_EXI_0_EXI) >> (3 * chan)); - exi = &Ecb[chan]; - callback = exi->extCallback; - exi->state &= ~STATE_ATTACHED; - if (callback) { - OSContext exceptionContext; - - OSClearContext(&exceptionContext); - OSSetCurrentContext(&exceptionContext); - - exi->extCallback = 0; - callback(chan, context); - - OSClearContext(&exceptionContext); - OSSetCurrentContext(context); - } -} - -void EXIInit(void) -{ - __OSMaskInterrupts(OS_INTERRUPTMASK_EXI_0_EXI | OS_INTERRUPTMASK_EXI_0_TC | OS_INTERRUPTMASK_EXI_0_EXT | OS_INTERRUPTMASK_EXI_1_EXI - | OS_INTERRUPTMASK_EXI_1_TC | OS_INTERRUPTMASK_EXI_1_EXT | OS_INTERRUPTMASK_EXI_2_EXI | OS_INTERRUPTMASK_EXI_2_TC); - - REG(0, 0) = 0; - REG(1, 0) = 0; - REG(2, 0) = 0; - - REG(0, 0) = 0x00002000; - - __OSSetInterruptHandler(__OS_INTERRUPT_EXI_0_EXI, EXIIntrruptHandler); - __OSSetInterruptHandler(__OS_INTERRUPT_EXI_0_TC, TCIntrruptHandler); - __OSSetInterruptHandler(__OS_INTERRUPT_EXI_0_EXT, EXTIntrruptHandler); - __OSSetInterruptHandler(__OS_INTERRUPT_EXI_1_EXI, EXIIntrruptHandler); - __OSSetInterruptHandler(__OS_INTERRUPT_EXI_1_TC, TCIntrruptHandler); - __OSSetInterruptHandler(__OS_INTERRUPT_EXI_1_EXT, EXTIntrruptHandler); - __OSSetInterruptHandler(__OS_INTERRUPT_EXI_2_EXI, EXIIntrruptHandler); - __OSSetInterruptHandler(__OS_INTERRUPT_EXI_2_TC, TCIntrruptHandler); - - if ((OSGetConsoleType() & 0x10000000) != 0) { - __EXIProbeStartTime[0] = __EXIProbeStartTime[1] = 0; - Ecb[0].idTime = Ecb[1].idTime = 0; - __EXIProbe(0); - __EXIProbe(1); - } -} - -BOOL EXILock(s32 chan, u32 dev, EXICallback unlockedCallback) -{ - EXIControl *exi = &Ecb[chan]; - BOOL enabled; - int i; - - enabled = OSDisableInterrupts(); - if (exi->state & STATE_LOCKED) { - if (unlockedCallback) { - for (i = 0; i < exi->items; i++) { - if (exi->queue[i].dev == dev) { - OSRestoreInterrupts(enabled); - return FALSE; - } - } - exi->queue[exi->items].callback = unlockedCallback; - exi->queue[exi->items].dev = dev; - exi->items++; - } - OSRestoreInterrupts(enabled); - return FALSE; - } - - exi->state |= STATE_LOCKED; - exi->dev = dev; - SetExiInterruptMask(chan, exi); - - OSRestoreInterrupts(enabled); - return TRUE; -} - -BOOL EXIUnlock(s32 chan) -{ - EXIControl *exi = &Ecb[chan]; - BOOL enabled; - EXICallback unlockedCallback; - - enabled = OSDisableInterrupts(); - if (!(exi->state & STATE_LOCKED)) { - OSRestoreInterrupts(enabled); - return FALSE; - } - exi->state &= ~STATE_LOCKED; - SetExiInterruptMask(chan, exi); - - if (0 < exi->items) { - unlockedCallback = exi->queue[0].callback; - if (0 < --exi->items) { - memmove(&exi->queue[0], &exi->queue[1], sizeof(exi->queue[0]) * exi->items); - } - unlockedCallback(chan, 0); - } - - OSRestoreInterrupts(enabled); - return TRUE; -} - -u32 EXIGetState(s32 chan) -{ - EXIControl *exi = &Ecb[chan]; - - return (u32)exi->state; -} - -static void UnlockedHandler(s32 chan, OSContext *context) -{ - u32 id; - - EXIGetID(chan, 0, &id); -} - -s32 EXIGetID(s32 chan, u32 dev, u32 *id) -{ - EXIControl *exi = &Ecb[chan]; - BOOL err; - u32 cmd; - s32 startTime; - BOOL enabled; - - if (chan < 2 && dev == 0) { - if (!__EXIProbe(chan)) { - return 0; - } - - if (exi->idTime == __EXIProbeStartTime[chan]) { - *id = exi->id; - return exi->idTime; - } - - if (!__EXIAttach(chan, NULL)) { - return 0; - } - - startTime = __EXIProbeStartTime[chan]; - } - - err = !EXILock(chan, dev, (chan < 2 && dev == 0) ? UnlockedHandler : NULL); - if (!err) { - err = !EXISelect(chan, dev, EXI_FREQ_1M); - if (!err) { - cmd = 0; - err |= !EXIImm(chan, &cmd, 2, EXI_WRITE, NULL); - err |= !EXISync(chan); - err |= !EXIImm(chan, id, 4, EXI_READ, NULL); - err |= !EXISync(chan); - err |= !EXIDeselect(chan); - } - EXIUnlock(chan); - } - - if (chan < 2 && dev == 0) { - EXIDetach(chan); - enabled = OSDisableInterrupts(); - err |= (startTime != __EXIProbeStartTime[chan]); - if (!err) { - exi->id = *id; - exi->idTime = startTime; - } - OSRestoreInterrupts(enabled); - - return err ? 0 : exi->idTime; - } - - return err ? 0 : !0; -} diff --git a/src/dolphin/exi/EXIUart.c b/src/dolphin/exi/EXIUart.c deleted file mode 100644 index fb067196..00000000 --- a/src/dolphin/exi/EXIUart.c +++ /dev/null @@ -1,184 +0,0 @@ -#include -#include - -#define EXI_TX 0x800400u -#define EXI_MAGIC 0xa5ff005a - -static s32 Chan; -static u32 Dev; -static u32 Enabled = 0; -static u32 BarnacleEnabled = 0; - -static BOOL ProbeBarnacle(s32 chan, u32 dev, u32 *revision) -{ - BOOL err; - u32 cmd; - - if (chan != 2 && dev == 0 && !EXIAttach(chan, NULL)) { - return FALSE; - } - - err = !EXILock(chan, dev, NULL); - if (!err) { - err = !EXISelect(chan, dev, EXI_FREQ_1M); - if (!err) { - cmd = 0x20011300; - err = FALSE; - err |= !EXIImm(chan, &cmd, 4, EXI_WRITE, NULL); - err |= !EXISync(chan); - err |= !EXIImm(chan, revision, 4, EXI_READ, NULL); - err |= !EXISync(chan); - err |= !EXIDeselect(chan); - } - EXIUnlock(chan); - } - - if (chan != 2 && dev == 0) { - EXIDetach(chan); - } - - if (err) { - return FALSE; - } - - return (*revision != 0xFFFFFFFF) ? TRUE : FALSE; -} - -void __OSEnableBarnacle(s32 chan, u32 dev) -{ - u32 id; - - if (EXIGetID(chan, dev, &id)) { - switch (id) { - case 0xffffffff: - case EXI_MEMORY_CARD_59: - case EXI_MEMORY_CARD_123: - case EXI_MEMORY_CARD_251: - case EXI_MEMORY_CARD_507: - case EXI_USB_ADAPTER: - case EXI_NPDP_GDEV: - case EXI_MODEM: - case EXI_MARLIN: - case 0x04220000: - case 0x04020100: - case 0x04020200: - case 0x04020300: - case 0x04040404: - case 0x04060000: - case 0x04120000: - case 0x04130000: - case 0x80000000 | EXI_MEMORY_CARD_59: - case 0x80000000 | EXI_MEMORY_CARD_123: - case 0x80000000 | EXI_MEMORY_CARD_251: - case 0x80000000 | EXI_MEMORY_CARD_507: - break; - default: - if (ProbeBarnacle(chan, dev, &id)) { - Chan = chan; - Dev = dev; - Enabled = BarnacleEnabled = EXI_MAGIC; - } - break; - } - } -} - -u32 InitializeUART(u32 baudRate) -{ - if (BarnacleEnabled == EXI_MAGIC) { - return 0; - } - - if (!(OSGetConsoleType() & OS_CONSOLE_DEVELOPMENT)) { - Enabled = 0; - return 2; - } - else { - Chan = 0; - Dev = 1; - Enabled = EXI_MAGIC; - return 0; - } -} - -u32 ReadUARTN(void *bytes, unsigned long length) -{ - return 4; -} - -static int QueueLength(void) -{ - u32 cmd; - - if (!EXISelect(Chan, Dev, EXI_FREQ_8M)) - return -1; - - cmd = EXI_TX << 6; - EXIImm(Chan, &cmd, 4, EXI_WRITE, NULL); - EXISync(Chan); - - EXIImm(Chan, &cmd, 1, EXI_READ, NULL); - EXISync(Chan); - EXIDeselect(Chan); - - return 16 - (int)((cmd >> 24) & 0xff); -} - -u32 WriteUARTN(const void *buf, unsigned long len) -{ - u32 cmd; - int qLen; - long xLen; - char *ptr; - BOOL locked; - u32 error; - - if (Enabled != EXI_MAGIC) - return 2; - - locked = EXILock(Chan, Dev, 0); - if (!locked) { - return 0; - } - - for (ptr = (char *)buf; ptr - buf < len; ptr++) { - if (*ptr == '\n') - *ptr = '\r'; - } - - error = 0; - cmd = (EXI_TX | 0x2000000) << 6; - while (len) { - qLen = QueueLength(); - if (qLen < 0) { - error = 3; - break; - } - - if (qLen < 12 && qLen < len) - continue; - - if (!EXISelect(Chan, Dev, EXI_FREQ_8M)) { - error = 3; - break; - } - - EXIImm(Chan, &cmd, 4, EXI_WRITE, NULL); - EXISync(Chan); - - while (qLen && len) { - if (qLen < 4 && qLen < len) - break; - xLen = (len < 4) ? (long)len : 4; - EXIImm(Chan, (void *)buf, xLen, EXI_WRITE, NULL); - (u8 *)buf += xLen; - len -= xLen; - qLen -= xLen; - EXISync(Chan); - } - EXIDeselect(Chan); - } - - EXIUnlock(Chan); - return error; -} diff --git a/src/dolphin/gx/GXAttr.c b/src/dolphin/gx/GXAttr.c deleted file mode 100644 index 721027db..00000000 --- a/src/dolphin/gx/GXAttr.c +++ /dev/null @@ -1,586 +0,0 @@ -#include -#include - -#include - -#define CHECK_ATTRPTR(line, attrPtr) ASSERTMSGLINE(line, (attrPtr) != NULL, "GXSetVtxDescv: attrPtr is NULL") -#define CHECK_ATTRNAME(line, attr) ASSERTMSGLINE(line, (attr) >= GX_VA_PNMTXIDX && (attr) < GX_VA_MAX_ATTR, "GXSetVtxDesc: Invalid vertex attribute name") -#define CHECK_ATTRNAME2(line, attr) ASSERTMSGLINE(line, (attr) >= GX_VA_POS && (attr) <= GX_VA_MAX_ATTR, "GXSetVtxAttrFmt: Invalid vertex attribute name") -#define CHECK_ATTRNAME3(line, attr) ASSERTMSGLINE(line, (attr) >= GX_VA_POS && (attr) <= GX_LIGHT_ARRAY, "GXSetArray: Invalid vertex attribute name") -#define CHECK_ATTRTYPE(line, type) ASSERTMSGLINE(line, (type) >= GX_NONE && (type) <= GX_INDEX16, "GXSetVtxDesc: Invalid vertex attribute type") -#define CHECK_VTXFMT(line, vtxfmt) ASSERTMSGLINE(line, (vtxfmt) < GX_MAX_VTXFMT, "GXSetVtxAttrFmt: Format Index is out of range") -#define CHECK_FRAC(line, frac) ASSERTMSGLINE(line, (frac) < 32, "GXSetVtxAttrFmt: Frac value is >= 32") -#define CHECK_LISTPTR(line, list) ASSERTMSGLINE(line, (list) != NULL, "GXSetVtxAttrFmt: list pointer is NULL") - -static void __GXXfVtxSpecs(void) -{ - u32 nCols = 0; - u32 nNrm; - u32 nTex; - u32 reg; - - nCols = GET_REG_FIELD(gx->vcdLo, 2, 13) ? 1 : 0; - nCols += GET_REG_FIELD(gx->vcdLo, 2, 15) ? 1 : 0; - nNrm = gx->hasBiNrms ? 2 : gx->hasNrms ? 1 : 0; - nTex = 0; - nTex += GET_REG_FIELD(gx->vcdHi, 2, 0) ? 1 : 0; - nTex += GET_REG_FIELD(gx->vcdHi, 2, 2) ? 1 : 0; - nTex += GET_REG_FIELD(gx->vcdHi, 2, 4) ? 1 : 0; - nTex += GET_REG_FIELD(gx->vcdHi, 2, 6) ? 1 : 0; - nTex += GET_REG_FIELD(gx->vcdHi, 2, 8) ? 1 : 0; - nTex += GET_REG_FIELD(gx->vcdHi, 2, 10) ? 1 : 0; - nTex += GET_REG_FIELD(gx->vcdHi, 2, 12) ? 1 : 0; - nTex += GET_REG_FIELD(gx->vcdHi, 2, 14) ? 1 : 0; - reg = (nCols) | (nNrm << 2) | (nTex << 4); - GX_WRITE_XF_REG(8, reg); - gx->bpSentNot = 1; -} - -static inline void SETVCDATTR(GXAttr Attr, GXAttrType Type) -{ - switch (Attr) { - case GX_VA_PNMTXIDX: SET_REG_FIELD(0xD4, gx->vcdLo, 1, 0, Type); break; - case GX_VA_TEX0MTXIDX: SET_REG_FIELD(0xD5, gx->vcdLo, 1, 1, Type); break; - case GX_VA_TEX1MTXIDX: SET_REG_FIELD(0xD6, gx->vcdLo, 1, 2, Type); break; - case GX_VA_TEX2MTXIDX: SET_REG_FIELD(0xD7, gx->vcdLo, 1, 3, Type); break; - case GX_VA_TEX3MTXIDX: SET_REG_FIELD(0xD8, gx->vcdLo, 1, 4, Type); break; - case GX_VA_TEX4MTXIDX: SET_REG_FIELD(0xD9, gx->vcdLo, 1, 5, Type); break; - case GX_VA_TEX5MTXIDX: SET_REG_FIELD(0xDA, gx->vcdLo, 1, 6, Type); break; - case GX_VA_TEX6MTXIDX: SET_REG_FIELD(0xDB, gx->vcdLo, 1, 7, Type); break; - case GX_VA_TEX7MTXIDX: SET_REG_FIELD(0xDC, gx->vcdLo, 1, 8, Type); break; - case GX_VA_POS: SET_REG_FIELD(0xDD, gx->vcdLo, 2, 9, Type); break; - case GX_VA_NRM: - if (Type != GX_NONE) { - gx->hasNrms = 1; - gx->hasBiNrms = 0; - gx->nrmType = Type; - } else { - gx->hasNrms = 0; - } - break; - case GX_VA_NBT: - if (Type != GX_NONE) { - gx->hasBiNrms = 1; - gx->hasNrms = 0; - gx->nrmType = Type; - } else { - gx->hasBiNrms = 0; - } - break; - case GX_VA_CLR0: SET_REG_FIELD(0xF6, gx->vcdLo, 2, 13, Type); break; - case GX_VA_CLR1: SET_REG_FIELD(0xF7, gx->vcdLo, 2, 15, Type); break; - case GX_VA_TEX0: SET_REG_FIELD(0xF8, gx->vcdHi, 2, 0, Type); break; - case GX_VA_TEX1: SET_REG_FIELD(0xF9, gx->vcdHi, 2, 2, Type); break; - case GX_VA_TEX2: SET_REG_FIELD(0xFA, gx->vcdHi, 2, 4, Type); break; - case GX_VA_TEX3: SET_REG_FIELD(0xFB, gx->vcdHi, 2, 6, Type); break; - case GX_VA_TEX4: SET_REG_FIELD(0xFC, gx->vcdHi, 2, 8, Type); break; - case GX_VA_TEX5: SET_REG_FIELD(0xFD, gx->vcdHi, 2, 10, Type); break; - case GX_VA_TEX6: SET_REG_FIELD(0xFE, gx->vcdHi, 2, 12, Type); break; - case GX_VA_TEX7: SET_REG_FIELD(0xFF, gx->vcdHi, 2, 14, Type); break; - } -} - -void GXSetVtxDesc(GXAttr attr, GXAttrType type) -{ - CHECK_GXBEGIN(0xCC, "GXSetVtxDesc"); - CHECK_ATTRNAME(0xCF, attr); - CHECK_ATTRTYPE(0xD1, type); - - SETVCDATTR(attr, type); - if (gx->hasNrms || gx->hasBiNrms) { - SET_REG_FIELD(0xD7, gx->vcdLo, 2, 11, gx->nrmType); - } else { - SET_REG_FIELD(0x00, gx->vcdLo, 2, 11, 0); - } - gx->dirtyState |= 8; -} - -void GXSetVtxDescv(GXVtxDescList *attrPtr) -{ - CHECK_GXBEGIN(0xF5, "GXSetVtxDescv"); - CHECK_ATTRPTR(0xF6, attrPtr); - while (attrPtr->attr != 0xFF) { - CHECK_ATTRNAME(0xFB, attrPtr->attr); - CHECK_ATTRTYPE(0xFE, attrPtr->type); - SETVCDATTR(attrPtr->attr, attrPtr->type); - attrPtr++; - } - if (gx->hasNrms || gx->hasBiNrms) { - SET_REG_FIELD(0x107, gx->vcdLo, 2, 11, gx->nrmType); - } else { - SET_REG_FIELD(0x107, gx->vcdLo, 2, 11, 0); - } - gx->dirtyState |= 8; -} - -void __GXSetVCD(void) -{ - GX_WRITE_SOME_REG4(8, 0x50, gx->vcdLo, -12); - GX_WRITE_SOME_REG4(8, 0x60, gx->vcdHi, -12); - __GXXfVtxSpecs(); -} - -void __GXCalculateVLim() { - static u8 tbl1[] = { 0, 4, 1, 2 }; - static u8 tbl2[] = { 0, 8, 1, 2 }; - static u8 tbl3[] = { 0, 12, 1, 2 }; - - GXCompCnt nc = 0; - unsigned long vlm; - unsigned long b; - unsigned long vl; - unsigned long vh; - unsigned long va; - - if (gx->vNum != 0) { - vl = gx->vcdLo; - vh = gx->vcdHi; - va = gx->vatA[0]; - nc = GET_REG_FIELD(va, 1, 9); - - vlm = GET_REG_FIELD(vl, 1, 0); - vlm += (u8)GET_REG_FIELD(vl, 1, 1); - vlm += (u8)GET_REG_FIELD(vl, 1, 2); - vlm += (u8)GET_REG_FIELD(vl, 1, 3); - vlm += (u8)GET_REG_FIELD(vl, 1, 4); - vlm += (u8)GET_REG_FIELD(vl, 1, 5); - vlm += (u8)GET_REG_FIELD(vl, 1, 6); - vlm += (u8)GET_REG_FIELD(vl, 1, 7); - vlm += (u8)GET_REG_FIELD(vl, 1, 8); - vlm += tbl3[(u8)GET_REG_FIELD(vl, 2, 9)]; - - if (nc == 1) { - b = 3; - } else { - b = 1; - } - - vlm += tbl3[(u8)GET_REG_FIELD(vl, 2, 11)] * b; - vlm += tbl1[(u8)GET_REG_FIELD(vl, 2, 13)]; - vlm += tbl1[(u8)GET_REG_FIELD(vl, 2, 15)]; - vlm += tbl2[(u8)GET_REG_FIELD(vh, 2, 0)]; - vlm += tbl2[(u8)GET_REG_FIELD(vh, 2, 2)]; - vlm += tbl2[(u8)GET_REG_FIELD(vh, 2, 4)]; - vlm += tbl2[(u8)GET_REG_FIELD(vh, 2, 6)]; - vlm += tbl2[(u8)GET_REG_FIELD(vh, 2, 8)]; - vlm += tbl2[(u8)GET_REG_FIELD(vh, 2, 10)]; - vlm += tbl2[(u8)GET_REG_FIELD(vh, 2, 12)]; - vlm += tbl2[(u8)GET_REG_FIELD(vh, 2, 14)]; - gx->vLim = vlm; - } -} - -void GXGetVtxDesc(GXAttr attr, GXAttrType *type) -{ - u32 cpType; - - CHECK_GXBEGIN(0x185, "GXGetVtxDesc"); - CHECK_ATTRNAME(0x187, attr); - - switch (attr) { - case GX_VA_PNMTXIDX: cpType = GET_REG_FIELD(gx->vcdLo, 1, 0); break; - case GX_VA_TEX0MTXIDX: cpType = GET_REG_FIELD(gx->vcdLo, 1, 1); break; - case GX_VA_TEX1MTXIDX: cpType = GET_REG_FIELD(gx->vcdLo, 1, 2); break; - case GX_VA_TEX2MTXIDX: cpType = GET_REG_FIELD(gx->vcdLo, 1, 3); break; - case GX_VA_TEX3MTXIDX: cpType = GET_REG_FIELD(gx->vcdLo, 1, 4); break; - case GX_VA_TEX4MTXIDX: cpType = GET_REG_FIELD(gx->vcdLo, 1, 5); break; - case GX_VA_TEX5MTXIDX: cpType = GET_REG_FIELD(gx->vcdLo, 1, 6); break; - case GX_VA_TEX6MTXIDX: cpType = GET_REG_FIELD(gx->vcdLo, 1, 7); break; - case GX_VA_TEX7MTXIDX: cpType = GET_REG_FIELD(gx->vcdLo, 1, 8); break; - case GX_VA_POS: cpType = GET_REG_FIELD(gx->vcdLo, 2, 9); break; - case GX_VA_NRM: cpType = gx->hasNrms ? GET_REG_FIELD(gx->vcdLo, 2, 11) : 0; break; - case GX_VA_NBT: cpType = gx->hasBiNrms ? GET_REG_FIELD(gx->vcdLo, 2, 11) : 0; break; - case GX_VA_CLR0: cpType = GET_REG_FIELD(gx->vcdLo, 2, 13); break; - case GX_VA_CLR1: cpType = GET_REG_FIELD(gx->vcdLo, 2, 15); break; - case GX_VA_TEX0: cpType = GET_REG_FIELD(gx->vcdHi, 2, 0); break; - case GX_VA_TEX1: cpType = GET_REG_FIELD(gx->vcdHi, 2, 2); break; - case GX_VA_TEX2: cpType = GET_REG_FIELD(gx->vcdHi, 2, 4); break; - case GX_VA_TEX3: cpType = GET_REG_FIELD(gx->vcdHi, 2, 6); break; - case GX_VA_TEX4: cpType = GET_REG_FIELD(gx->vcdHi, 2, 8); break; - case GX_VA_TEX5: cpType = GET_REG_FIELD(gx->vcdHi, 2, 10); break; - case GX_VA_TEX6: cpType = GET_REG_FIELD(gx->vcdHi, 2, 12); break; - case GX_VA_TEX7: cpType = GET_REG_FIELD(gx->vcdHi, 2, 14); break; - default: cpType = 0; break; - } - *type = cpType; -} - -void GXGetVtxDescv(GXVtxDescList *vcd) -{ - GXAttr attr; - - CHECK_GXBEGIN(0x1BA, "GXGetVtxDescv"); - CHECK_ATTRPTR(0x1BC, vcd); - for (attr = 0; attr < GX_VA_MAX_ATTR; attr++) { - vcd[attr].attr = attr; - GXGetVtxDesc(attr, &vcd[attr].type); - } - vcd[attr].attr = 0xFF; -} - -void GXClearVtxDesc(void) -{ - CHECK_GXBEGIN(0x1D3, "GXClearVtxDesc"); - gx->vcdLo = 0; - SET_REG_FIELD(0x00, gx->vcdLo, 2, 9, 1); - gx->vcdHi = 0; - gx->hasNrms = 0; - gx->hasBiNrms = 0; - gx->dirtyState |= 8; -} - -static inline void SETVAT(u32 *va, u32 *vb, u32 *vc, GXAttr attr, GXCompCnt cnt, GXCompType type, u8 shft) -{ - switch (attr) { - case GX_VA_POS: - SET_REG_FIELD(511, *va, 1, 0, cnt); - SET_REG_FIELD(512, *va, 3, 1, type); - SET_REG_FIELD(513, *va, 5, 4, shft); - break; - case GX_VA_NRM: - case GX_VA_NBT: - SET_REG_FIELD(521, *va, 3, 10, type); - if (cnt == GX_NRM_NBT3) { - SET_REG_FIELD(0, *va, 1, 9, 1); - SET_REG_FIELD(0, *va, 1, 31, 1); - } else { - SET_REG_FIELD(527, *va, 1, 9, cnt); - SET_REG_FIELD(528, *va, 1, 31, 0); - } - break; - case GX_VA_CLR0: - SET_REG_FIELD(0x215, *va, 1, 13, cnt); - SET_REG_FIELD(0x216, *va, 3, 14, type); - break; - case GX_VA_CLR1: - SET_REG_FIELD(0x219, *va, 1, 0x11, cnt); - SET_REG_FIELD(0x21A, *va, 3, 18, type); - break; - case GX_VA_TEX0: - SET_REG_FIELD(0x21D, *va, 1, 0x15, cnt); - SET_REG_FIELD(0x21E, *va, 3, 0x16, type); - SET_REG_FIELD(0x21F, *va, 5, 0x19, shft); - break; - case GX_VA_TEX1: - SET_REG_FIELD(0x222, *vb, 1, 0, cnt); - SET_REG_FIELD(0x223, *vb, 3, 1, type); - SET_REG_FIELD(0x224, *vb, 5, 4, shft); - break; - case GX_VA_TEX2: - SET_REG_FIELD(0x227, *vb, 1, 9, cnt); - SET_REG_FIELD(0x228, *vb, 3, 10, type); - SET_REG_FIELD(0x229, *vb, 5, 13, shft); - break; - case GX_VA_TEX3: - SET_REG_FIELD(0x22C, *vb, 1, 18, cnt); - SET_REG_FIELD(0x22D, *vb, 3, 19, type); - SET_REG_FIELD(0x22E, *vb, 5, 22, shft); - break; - case GX_VA_TEX4: - SET_REG_FIELD(0x231, *vb, 1, 27, cnt); - SET_REG_FIELD(0x232, *vb, 3, 28, type); - SET_REG_FIELD(0x233, *vc, 5, 0, shft); - break; - case GX_VA_TEX5: - SET_REG_FIELD(0x236, *vc, 1, 5, cnt); - SET_REG_FIELD(0x237, *vc, 3, 6, type); - SET_REG_FIELD(0x238, *vc, 5, 9, shft); - break; - case GX_VA_TEX6: - SET_REG_FIELD(0x23B, *vc, 1, 14, cnt); - SET_REG_FIELD(0x23C, *vc, 3, 15, type); - SET_REG_FIELD(0x23D, *vc, 5, 18, shft); - break; - case GX_VA_TEX7: - SET_REG_FIELD(0x240, *vc, 1, 23, cnt); - SET_REG_FIELD(0x241, *vc, 3, 24, type); - SET_REG_FIELD(0x242, *vc, 5, 27, shft); - break; - } -} - -void GXSetVtxAttrFmt(GXVtxFmt vtxfmt, GXAttr attr, GXCompCnt cnt, GXCompType type, u8 frac) -{ - u32 *va; - u32 *vb; - u32 *vc; - - CHECK_GXBEGIN(0x252, "GXSetVtxAttrFmt"); - CHECK_VTXFMT(0x253, vtxfmt); - CHECK_ATTRNAME2(0x255, attr); - CHECK_FRAC(0x256, frac); - va = &gx->vatA[vtxfmt]; - vb = &gx->vatB[vtxfmt]; - vc = &gx->vatC[vtxfmt]; - SETVAT(va, vb, vc, attr, cnt, type, frac); - gx->dirtyState |= 0x10; - gx->dirtyVAT |= (u8)(1 << (u8)vtxfmt); -} - -void GXSetVtxAttrFmtv(GXVtxFmt vtxfmt, const GXVtxAttrFmtList *list) -{ - u32 *va; - u32 *vb; - u32 *vc; - - CHECK_GXBEGIN(0x27B, "GXSetVtxAttrFmtv"); - CHECK_LISTPTR(0x27C, list); - CHECK_VTXFMT(0x27D, vtxfmt); - va = &gx->vatA[vtxfmt]; - vb = &gx->vatB[vtxfmt]; - vc = &gx->vatC[vtxfmt]; - while (list->attr != GX_VA_NULL) { - CHECK_ATTRNAME2(0x286, list->attr); - CHECK_FRAC(0x287, list->frac); - SETVAT(va, vb, vc, list->attr, list->cnt, list->type, list->frac); - list++; - } - gx->dirtyState |= 0x10; - gx->dirtyVAT |= (u8)(1 << (u8)vtxfmt); -} - -void __GXSetVAT(void) -{ - u8 i; - - for (i = 0; i < 8; i++) { - if (gx->dirtyVAT & (1 << (u8)i)) { - GX_WRITE_SOME_REG4(8, i | 0x70, gx->vatA[i], i - 12); - GX_WRITE_SOME_REG4(8, i | 0x80, gx->vatB[i], i - 12); - GX_WRITE_SOME_REG4(8, i | 0x90, gx->vatC[i], i - 12); - } - } - gx->dirtyVAT = 0; -} - -void GXGetVtxAttrFmt(GXVtxFmt fmt, GXAttr attr, GXCompCnt *cnt, GXCompType *type, u8 *frac) -{ - u32 *va; - u32 *vb; - u32 *vc; - - CHECK_GXBEGIN(0x2CF, "GXGetVtxAttrFmt"); - CHECK_VTXFMT(0x2D0, fmt); - va = &gx->vatA[fmt]; - vb = &gx->vatB[fmt]; - vc = &gx->vatC[fmt]; - switch (attr) { - case GX_VA_POS: - *cnt = GET_REG_FIELD(*va, 1, 0); - *type = GET_REG_FIELD(*va, 3, 1); - *frac = (u8)(*va >> 4) & 0x1F; // GET_REG_FIELD(*va, 5, 4) - return; - case GX_VA_NRM: - case GX_VA_NBT: - *cnt = GET_REG_FIELD(*va, 1, 9); - if (*cnt == GX_TEX_ST && (u8)(*va >> 0x1F) != 0) { - *cnt = GX_NRM_NBT3; - } - *type = GET_REG_FIELD(*va, 3, 10); - *frac = 0; - return; - case GX_VA_CLR0: - *cnt = GET_REG_FIELD(*va, 1, 13); - *type = GET_REG_FIELD(*va, 3, 14); - *frac = 0; - return; - case GX_VA_CLR1: - *cnt = GET_REG_FIELD(*va, 1, 17); - *type = GET_REG_FIELD(*va, 3, 18); - *frac = 0; - return; - case GX_VA_TEX0: - *cnt = GET_REG_FIELD(*va, 1, 21); - *type = GET_REG_FIELD(*va, 3, 22); - *frac = (u8)(*va >> 0x19U) & 0x1F; - return; - case GX_VA_TEX1: - *cnt = GET_REG_FIELD(*vb, 1, 0); - *type = GET_REG_FIELD(*vb, 3, 1); - *frac = (u8)(*vb >> 4U) & 0x1F; - return; - case GX_VA_TEX2: - *cnt = GET_REG_FIELD(*vb, 1, 9); - *type = GET_REG_FIELD(*vb, 3, 10); - *frac = (u8)(*vb >> 0xDU) & 0x1F; - return; - case GX_VA_TEX3: - *cnt = GET_REG_FIELD(*vb, 1, 18); - *type = GET_REG_FIELD(*vb, 3, 19); - *frac = (u8)(*vb >> 0x16U) & 0x1F; - return; - case GX_VA_TEX4: - *cnt = GET_REG_FIELD(*vb, 1, 27); - *type = GET_REG_FIELD(*vb, 3, 28); - *frac = GET_REG_FIELD(*vc, 5, 0); - return; - case GX_VA_TEX5: - *cnt = GET_REG_FIELD(*vc, 1, 5); - *type = GET_REG_FIELD(*vc, 3, 6); - *frac = (u8)(*vc >> 9U) & 0x1F; - return; - case GX_VA_TEX6: - *cnt = GET_REG_FIELD(*vc, 1, 14); - *type = GET_REG_FIELD(*vc, 3, 15); - *frac = (u8)(*vc >> 0x12) & 0x1F; - return; - case GX_VA_TEX7: - *cnt = GET_REG_FIELD(*vc, 1, 23); - *type = GET_REG_FIELD(*vc, 3, 24); - *frac = (int)(*vc >> 0x1BU); - return; - default: - *cnt = GX_TEX_ST; - *type = GX_RGB565; - *frac = 0; - return; - } -} - -void GXGetVtxAttrFmtv(GXVtxFmt fmt, GXVtxAttrFmtList *vat) -{ - GXAttr attr; - - CHECK_GXBEGIN(0x330, "GXGetVtxAttrFmtv"); - CHECK_LISTPTR(0x331, vat); - CHECK_VTXFMT(0x332, fmt); - for (attr = GX_VA_POS; attr < GX_VA_MAX_ATTR; attr++) { - vat->attr = attr; - GXGetVtxAttrFmt(fmt, attr, &vat->cnt, &vat->type, &vat->frac); - vat++; - } - vat->attr = GX_VA_NULL; -} - -void GXSetArray(GXAttr attr, const void *base_ptr, u8 stride) -{ - GXAttr cpAttr; - unsigned long phyAddr; - - attr; // needed to match - - CHECK_GXBEGIN(0x34F, "GXSetArray"); - if (attr == GX_VA_NBT) { - attr = GX_VA_NRM; - } - CHECK_ATTRNAME3(0x352, attr); - cpAttr = attr - GX_VA_POS; - phyAddr = (u32)base_ptr & 0x3FFFFFFF; - GX_WRITE_SOME_REG2(8, cpAttr | 0xA0, phyAddr, cpAttr - 12); - GX_WRITE_SOME_REG3(8, cpAttr | 0xB0, stride, cpAttr - 12); -} - -void GXInvalidateVtxCache(void) -{ - CHECK_GXBEGIN(0x368, "GXInvalidateVtxCache"); - GX_WRITE_U8(0x48); -} - -void GXSetTexCoordGen2(GXTexCoordID dst_coord, GXTexGenType func, GXTexGenSrc src_param, u32 mtx, GXBool normalize, u32 pt_texmtx) -{ - u32 reg = 0; - u32 row; - u32 bumprow; // unused - u32 form; - GXAttr mtxIdAttr; - - CHECK_GXBEGIN(0x392, "GXSetTexCoordGen"); - ASSERTMSGLINE(0x393, dst_coord < 8, "GXSetTexCoordGen: Invalid coordinate Id"); - form = 0; - row = 5; - switch (src_param) { - case GX_TG_POS: row = 0; form = 1; break; - case GX_TG_NRM: row = 1; form = 1; break; - case GX_TG_BINRM: row = 3; form = 1; break; - case GX_TG_TANGENT: row = 4; form = 1; break; - case GX_TG_COLOR0: row = 2; break; - case GX_TG_COLOR1: row = 2; break; - case GX_TG_TEX0: row = 5; break; - case GX_TG_TEX1: row = 6; break; - case GX_TG_TEX2: row = 7; break; - case GX_TG_TEX3: row = 8; break; - case GX_TG_TEX4: row = 9; break; - case GX_TG_TEX5: row = 10; break; - case GX_TG_TEX6: row = 11; break; - case GX_TG_TEX7: row = 12; break; - case GX_TG_TEXCOORD0: bumprow; break; - case GX_TG_TEXCOORD1: bumprow; break; - case GX_TG_TEXCOORD2: bumprow; break; - case GX_TG_TEXCOORD3: bumprow; break; - case GX_TG_TEXCOORD4: bumprow; break; - case GX_TG_TEXCOORD5: bumprow; break; - case GX_TG_TEXCOORD6: bumprow; break; - default: - ASSERTMSGLINE(0x3AF, 0, "GXSetTexCoordGen: Invalid source parameter"); - break; - } - switch (func) - { - case GX_TG_MTX2x4: - SET_REG_FIELD(0x3B8, reg, 1, 1, 0); - SET_REG_FIELD(0x3B9, reg, 1, 2, form); - SET_REG_FIELD(0x3BA, reg, 3, 4, 0); - SET_REG_FIELD(0x3BB, reg, 5, 7, row); - break; - case GX_TG_MTX3x4: - SET_REG_FIELD(0x3BF, reg, 1, 1, 1); - SET_REG_FIELD(0x3C0, reg, 1, 2, form); - SET_REG_FIELD(0x3C1, reg, 3, 4, 0); - SET_REG_FIELD(0x3C2, reg, 5, 7, row); - break; - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - ASSERTMSGLINE(0x3CF, src_param >= 12 && src_param <= 18, "GXSetTexCoordGen: Bump source texture value is invalid"); - SET_REG_FIELD(0x3D0, reg, 1, 1, 0); - SET_REG_FIELD(0x3D1, reg, 1, 2, form); - SET_REG_FIELD(0x3D2, reg, 3, 4, 1); - SET_REG_FIELD(0x3D3, reg, 5, 7, row); - SET_REG_FIELD(0x3D4, reg, 3, 12, src_param - 12); - SET_REG_FIELD(0x3D5, reg, 3, 15, func - 2); - break; - case GX_TG_SRTG: - SET_REG_FIELD(0x3D9, reg, 1, 1, 0); - SET_REG_FIELD(0x3DA, reg, 1, 2, form); - if (src_param == GX_TG_COLOR0) { - SET_REG_FIELD(0, reg, 3, 4, 2); - } else { - SET_REG_FIELD(0, reg, 3, 4, 3); - } - SET_REG_FIELD(0, reg, 5, 7, 2); - break; - default: - ASSERTMSGLINE(0x3E5, 0, "GXSetTexCoordGen: Invalid function"); - break; - } - GX_WRITE_XF_REG(dst_coord + 0x40, reg); - reg = 0; - SET_REG_FIELD(0x3F8, reg, 6, 0, pt_texmtx - 64); - SET_REG_FIELD(0x3F9, reg, 1, 8, normalize); - GX_WRITE_XF_REG(dst_coord + 0x50, reg); - switch (dst_coord) { - case GX_TEXCOORD0: SET_REG_FIELD(0x402, gx->matIdxA, 6, 6, mtx); break; - case GX_TEXCOORD1: SET_REG_FIELD(0x403, gx->matIdxA, 6, 12, mtx); break; - case GX_TEXCOORD2: SET_REG_FIELD(0x404, gx->matIdxA, 6, 18, mtx); break; - case GX_TEXCOORD3: SET_REG_FIELD(0x405, gx->matIdxA, 6, 24, mtx); break; - case GX_TEXCOORD4: SET_REG_FIELD(0x406, gx->matIdxB, 6, 0, mtx); break; - case GX_TEXCOORD5: SET_REG_FIELD(0x407, gx->matIdxB, 6, 6, mtx); break; - case GX_TEXCOORD6: SET_REG_FIELD(0x408, gx->matIdxB, 6, 12, mtx); break; - default: SET_REG_FIELD(0x409, gx->matIdxB, 6, 18, mtx); break; - } - mtxIdAttr = dst_coord + 1; - __GXSetMatrixIndex(mtxIdAttr); -} - -void GXSetNumTexGens(u8 nTexGens) -{ - CHECK_GXBEGIN(0x41B, "GXSetNumTexGens"); - SET_REG_FIELD(0x41D, gx->genMode, 4, 0, nTexGens); - GX_WRITE_XF_REG(0x3F, nTexGens); - gx->dirtyState |= 4; -} diff --git a/src/dolphin/gx/GXBump.c b/src/dolphin/gx/GXBump.c deleted file mode 100644 index 910370d8..00000000 --- a/src/dolphin/gx/GXBump.c +++ /dev/null @@ -1,335 +0,0 @@ -#include -#include - -#include - -#if DEBUG -#define GX_WRITE_SOME_REG5(a, b) \ - do { \ - GX_WRITE_U8(a); \ - GX_WRITE_U32(b); \ - __gxVerif->rasRegs[(b >> 24) & 0xFF] = b; \ - } while (0) -#else -#define GX_WRITE_SOME_REG5(a, b) \ - do { \ - GX_WRITE_U8(a); \ - GX_WRITE_U32(b); \ - } while (0) -#endif - -void GXSetTevIndirect(GXTevStageID tev_stage, GXIndTexStageID ind_stage, GXIndTexFormat format, GXIndTexBiasSel bias_sel, GXIndTexMtxID matrix_sel, - GXIndTexWrap wrap_s, GXIndTexWrap wrap_t, GXBool add_prev, GXBool utc_lod, GXIndTexAlphaSel alpha_sel) -{ - u32 reg; - - CHECK_GXBEGIN(0x92, "GXInitIndTexture"); - reg = 0; - SET_REG_FIELD(0x81, reg, 2, 0, ind_stage); - SET_REG_FIELD(0x82, reg, 2, 2, format); - SET_REG_FIELD(0x83, reg, 3, 4, bias_sel); - SET_REG_FIELD(0x84, reg, 2, 7, alpha_sel); - SET_REG_FIELD(0x85, reg, 4, 9, matrix_sel); - SET_REG_FIELD(0x86, reg, 3, 13, wrap_s); - SET_REG_FIELD(0x87, reg, 3, 16, wrap_t); - SET_REG_FIELD(0x88, reg, 1, 19, utc_lod); - SET_REG_FIELD(0x89, reg, 1, 20, add_prev); - SET_REG_FIELD(0x8A, reg, 8, 24, tev_stage + 16); - GX_WRITE_SOME_REG5(0x61, reg); - gx->bpSentNot = 0; -} - -void GXSetIndTexMtx(GXIndTexMtxID mtx_id, f32 offset[2][3], s8 scale_exp) -{ - s32 mtx[6]; - u32 reg; - u32 id; - - CHECK_GXBEGIN(0xBA, "GXSetIndTexMtx"); - - switch (mtx_id) { - case GX_ITM_0: - case GX_ITM_1: - case GX_ITM_2: - id = mtx_id - 1; - break; - case GX_ITM_S0: - case GX_ITM_S1: - case GX_ITM_S2: - id = mtx_id - 5; - break; - case GX_ITM_T0: - case GX_ITM_T1: - case GX_ITM_T2: - id = mtx_id - 9; - break; - default: - id = 0; - break; - } - - mtx[0] = (int)(1024.0f * offset[0][0]) & 0x7FF; - mtx[1] = (int)(1024.0f * offset[1][0]) & 0x7FF; - scale_exp += 0x11; - reg = 0; - SET_REG_FIELD(0xBD, reg, 11, 0, mtx[0]); - SET_REG_FIELD(0xBE, reg, 11, 11, mtx[1]); - SET_REG_FIELD(0xBF, reg, 2, 22, scale_exp & 3); - SET_REG_FIELD(0xC0, reg, 8, 24, id * 3 + 6); - GX_WRITE_SOME_REG5(0x61, reg); - - mtx[2] = (int)(1024.0f * offset[0][1]) & 0x7FF; - mtx[3] = (int)(1024.0f * offset[1][1]) & 0x7FF; - reg = 0; - SET_REG_FIELD(0xC6, reg, 11, 0, mtx[2]); - SET_REG_FIELD(0xC7, reg, 11, 11, mtx[3]); - SET_REG_FIELD(0xC8, reg, 2, 22, (scale_exp >> 2) & 3); - SET_REG_FIELD(0xC9, reg, 8, 24, id * 3 + 7); - GX_WRITE_SOME_REG5(0x61, reg); - - mtx[4] = (int)(1024.0f * offset[0][2]) & 0x7FF; - mtx[5] = (int)(1024.0f * offset[1][2]) & 0x7FF; - reg = 0; - SET_REG_FIELD(0xCF, reg, 11, 0, mtx[4]); - SET_REG_FIELD(0xD0, reg, 11, 11, mtx[5]); - SET_REG_FIELD(0xD1, reg, 2, 22, (scale_exp >> 4) & 3); - SET_REG_FIELD(0xD2, reg, 8, 24, id * 3 + 8); - GX_WRITE_SOME_REG5(0x61, reg); - - gx->bpSentNot = 0; -} - -void GXSetIndTexCoordScale(GXIndTexStageID ind_state, GXIndTexScale scale_s, GXIndTexScale scale_t) -{ - CHECK_GXBEGIN(0xF9, "GXSetIndTexScale"); - - switch (ind_state) { - case GX_INDTEXSTAGE0: - SET_REG_FIELD(0xEA, gx->IndTexScale0, 4, 0, scale_s); - SET_REG_FIELD(0xEB, gx->IndTexScale0, 4, 4, scale_t); - SET_REG_FIELD(0xEC, gx->IndTexScale0, 8, 24, 0x25); - GX_WRITE_SOME_REG5(0x61, gx->IndTexScale0); - break; - case GX_INDTEXSTAGE1: - SET_REG_FIELD(0xF0, gx->IndTexScale0, 4, 8, scale_s); - SET_REG_FIELD(0xF1, gx->IndTexScale0, 4, 12, scale_t); - SET_REG_FIELD(0xF2, gx->IndTexScale0, 8, 24, 0x25); - GX_WRITE_SOME_REG5(0x61, gx->IndTexScale0); - break; - case GX_INDTEXSTAGE2: - SET_REG_FIELD(0xF6, gx->IndTexScale1, 4, 0, scale_s); - SET_REG_FIELD(0xF7, gx->IndTexScale1, 4, 4, scale_t); - SET_REG_FIELD(0xF8, gx->IndTexScale1, 8, 24, 0x26); - GX_WRITE_SOME_REG5(0x61, gx->IndTexScale1); - break; - case GX_INDTEXSTAGE3: - SET_REG_FIELD(0xFC, gx->IndTexScale1, 4, 8, scale_s); - SET_REG_FIELD(0xFD, gx->IndTexScale1, 4, 12, scale_t); - SET_REG_FIELD(0xFE, gx->IndTexScale1, 8, 24, 0x26); - GX_WRITE_SOME_REG5(0x61, gx->IndTexScale1); - break; - default: - ASSERTMSGLINE(0x115, 0, "GXSetIndTexCoordScale: Invalid Indirect Stage Id"); - break; - } - gx->bpSentNot = 0; -} - -void GXSetIndTexOrder(GXIndTexStageID ind_stage, GXTexCoordID tex_coord, GXTexMapID tex_map) -{ - CHECK_GXBEGIN(0x12E, "GXSetIndTexOrder"); - - ASSERTMSGLINE(0x11D, tex_map < 8, "GXSetIndTexOrder: Invalid direct texture Id"); - ASSERTMSGLINE(0x11E, tex_coord < 8, "GXSetIndTexOrder: Invalid texture coord"); - switch (ind_stage) { - case GX_INDTEXSTAGE0: - SET_REG_FIELD(0x122, gx->iref, 3, 0, tex_map); - SET_REG_FIELD(0x123, gx->iref, 3, 3, tex_coord); - break; - case GX_INDTEXSTAGE1: - SET_REG_FIELD(0x126, gx->iref, 3, 6, tex_map); - SET_REG_FIELD(0x127, gx->iref, 3, 9, tex_coord); - break; - case GX_INDTEXSTAGE2: - SET_REG_FIELD(0x12A, gx->iref, 3, 12, tex_map); - SET_REG_FIELD(0x12B, gx->iref, 3, 15, tex_coord); - break; - case GX_INDTEXSTAGE3: - SET_REG_FIELD(0x12E, gx->iref, 3, 18, tex_map); - SET_REG_FIELD(0x12F, gx->iref, 3, 21, tex_coord); - break; - default: - ASSERTMSGLINE(0x132, 0, "GXSetIndTexOrder: Invalid Indirect Stage Id"); - break; - } - GX_WRITE_SOME_REG5(0x61, gx->iref); - gx->dirtyState |= 3; - gx->bpSentNot = 0; -} - -void GXSetNumIndStages(u8 nIndStages) -{ - CHECK_GXBEGIN(0x144, "GXSetNumIndStages"); - ASSERTMSGLINE(0x146, nIndStages <= 4, "GXSetNumIndStages: Exceeds max. number of indirect texture stages"); - SET_REG_FIELD(0x147, gx->genMode, 3, 16, nIndStages); - gx->dirtyState |= 6; -} - -#pragma dont_inline on -void GXSetTevDirect(GXTevStageID tev_stage) -{ - CHECK_GXBEGIN(0x158, "GXSetTevDirect"); - GXSetTevIndirect(tev_stage, GX_INDTEXSTAGE0, GX_ITF_8, GX_ITB_NONE, GX_ITM_OFF, GX_ITW_OFF, GX_ITW_OFF, 0U, 0, 0); -} - -void GXSetTevIndWarp(GXTevStageID tev_stage, GXIndTexStageID ind_stage, u8 signed_offset, u8 replace_mode, GXIndTexMtxID matrix_sel) -{ - GXIndTexWrap wrap = (replace_mode != 0) ? GX_ITW_0 : GX_ITW_OFF; - - CHECK_GXBEGIN(0x16E, "GXSetTevIndWarp"); - GXSetTevIndirect(tev_stage, ind_stage, GX_ITF_8, (signed_offset != 0) ? GX_ITB_STU : GX_ITB_NONE, matrix_sel, wrap, wrap, 0U, 0, 0); -} - -void GXSetTevIndTile(GXTevStageID tev_stage, GXIndTexStageID ind_stage, u16 tilesize_s, u16 tilesize_t, u16 tilespacing_s, u16 tilespacing_t, - GXIndTexFormat format, GXIndTexMtxID matrix_sel, GXIndTexBiasSel bias_sel, GXIndTexAlphaSel alpha_sel) -{ - GXIndTexWrap wrap_s; - GXIndTexWrap wrap_t; - f32 mtx[2][3]; - - CHECK_GXBEGIN(0x190, "GXSetTevIndTile"); - ASSERTMSGLINE(0x191, tev_stage < 16, "GXSetTevIndTile: Invalid tev stage id"); - ASSERTMSGLINE(0x192, ind_stage < 4, "GXSetTevIndTile: Invalid indirect stage id"); - switch (tilesize_s) { - case 256: - wrap_s = GX_ITW_256; - break; - case 128: - wrap_s = GX_ITW_128; - break; - case 64: - wrap_s = GX_ITW_64; - break; - case 32: - wrap_s = GX_ITW_32; - break; - case 16: - wrap_s = GX_ITW_16; - break; - default: - ASSERTMSGLINE(0x19B, 0, "GXSetTevIndTile: Invalid tilesize for S coordinate"); - wrap_s = GX_ITW_OFF; - break; - } - switch (tilesize_t) { - case 256: - wrap_t = GX_ITW_256; - break; - case 128: - wrap_t = GX_ITW_128; - break; - case 64: - wrap_t = GX_ITW_64; - break; - case 32: - wrap_t = GX_ITW_32; - break; - case 16: - wrap_t = GX_ITW_16; - break; - default: - ASSERTMSGLINE(0x1A7, 0, "GXSetTevIndTile: Invalid tilesize for T coordinate"); - wrap_t = GX_ITW_OFF; - break; - } - mtx[0][0] = tilespacing_s / 1024.0f; - mtx[0][1] = mtx[0][2] = 0.0f; - mtx[1][1] = tilespacing_t / 1024.0f; - mtx[1][0] = mtx[1][2] = 0.0f; - GXSetIndTexMtx(matrix_sel, mtx, 0xA); - GXSetTevIndirect(tev_stage, ind_stage, format, bias_sel, matrix_sel, wrap_s, wrap_t, 0U, 1, alpha_sel); -} -#pragma dont_inline off - -void GXSetTevIndBumpST(GXTevStageID tev_stage, GXIndTexStageID ind_stage, GXIndTexMtxID matrix_sel) -{ - GXIndTexMtxID sm; - GXIndTexMtxID tm; - - CHECK_GXBEGIN(0x1CF, "GXSetTevIndBumpST"); - switch (matrix_sel) { - case GX_ITM_0: - sm = GX_ITM_S0; - tm = GX_ITM_T0; - break; - case GX_ITM_1: - sm = GX_ITM_S1; - tm = GX_ITM_T1; - break; - case GX_ITM_2: - sm = GX_ITM_S2; - tm = GX_ITM_T2; - break; - default: - ASSERTMSGLINE(0x1E0, 0, "GXSetTevIndBumpST: Invalid matrix selection"); - break; - } - GXSetTevIndirect(tev_stage, ind_stage, GX_ITF_8, GX_ITB_ST, sm, GX_ITW_0, GX_ITW_0, 0U, 0, 0); - GXSetTevIndirect(tev_stage + 1, ind_stage, GX_ITF_8, GX_ITB_ST, tm, GX_ITW_0, GX_ITW_0, 1U, 0, 0); - GXSetTevIndirect(tev_stage + 2, ind_stage, GX_ITF_8, GX_ITB_NONE, GX_ITM_OFF, GX_ITW_OFF, GX_ITW_OFF, 1U, 0, 0); -} - -void GXSetTevIndBumpXYZ(GXTevStageID tev_stage, GXIndTexStageID ind_stage, GXIndTexMtxID matrix_sel) -{ - CHECK_GXBEGIN(0x214, "GXSetTevIndBumpXYZ"); - GXSetTevIndirect(tev_stage, ind_stage, GX_ITF_8, GX_ITB_STU, matrix_sel, GX_ITW_OFF, GX_ITW_OFF, 0U, 0, 0); -} - -void GXSetTevIndRepeat(GXTevStageID tev_stage) -{ - CHECK_GXBEGIN(0x231, "GXSetTevIndRepeat"); - GXSetTevIndirect(tev_stage, GX_INDTEXSTAGE0, GX_ITF_8, GX_ITB_NONE, GX_ITM_OFF, GX_ITW_0, GX_ITW_0, 1U, 0, 0); -} - -void __GXUpdateBPMask(void) -{ - u32 nIndStages; - u32 i; - u32 tmap; - u32 new_imask; - u32 nStages; - u32 new_dmask; - - new_imask = 0; - new_dmask = 0; - nIndStages = GET_REG_FIELD(gx->genMode, 3, 16); - for (i = 0; i < nIndStages; i++) { - switch (i) { - case 0: - tmap = GET_REG_FIELD(gx->iref, 3, 0); - break; - case 1: - tmap = GET_REG_FIELD(gx->iref, 3, 6); - break; - case 2: - tmap = GET_REG_FIELD(gx->iref, 3, 12); - break; - case 3: - tmap = GET_REG_FIELD(gx->iref, 3, 18); - break; - } - new_imask |= 1 << tmap; - } - - if ((u8)gx->bpMask != new_imask) { - SET_REG_FIELD(0x26E, gx->bpMask, 8, 0, new_imask); - GX_WRITE_SOME_REG5(0x61, gx->bpMask); - gx->bpSentNot = 0; - } -} - -void __GXFlushTextureState(void) -{ - GX_WRITE_SOME_REG5(0x61, gx->bpMask); - gx->bpSentNot = 0; -} diff --git a/src/dolphin/gx/GXDisplayList.c b/src/dolphin/gx/GXDisplayList.c deleted file mode 100644 index cc751606..00000000 --- a/src/dolphin/gx/GXDisplayList.c +++ /dev/null @@ -1,83 +0,0 @@ -#include - -#include -#include - -#include - -static struct __GXFifoObj DisplayListFifo; -static volatile struct __GXFifoObj *OldCPUFifo; -static struct __GXData_struct __savedGXdata; - -void GXBeginDisplayList(void *list, u32 size) -{ - struct __GXFifoObj *CPUFifo = (struct __GXFifoObj *)GXGetCPUFifo(); - - CHECK_GXBEGIN(0x89, "GXBeginDisplayList"); - ASSERTMSGLINE(0x8A, !__GXData->inDispList, "GXBeginDisplayList: display list already in progress"); - ASSERTMSGLINE(0x8B, (size & 0x1F) == 0, "GXBeginDisplayList: size is not 32 byte aligned"); - ASSERTMSGLINE(0x8C, ((u32)list & 0x1F) == 0, "GXBeginDisplayList: list is not 32 byte aligned"); - if (gx->dirtyState != 0) { - __GXSetDirtyState(); - } - if (gx->dlSaveContext != 0) { - memcpy(&__savedGXdata, gx, sizeof(__savedGXdata)); - } - DisplayListFifo.base = (u8 *)list; - DisplayListFifo.top = (u8 *)list + size - 4; - DisplayListFifo.size = size; - DisplayListFifo.count = 0; - DisplayListFifo.rdPtr = list; - DisplayListFifo.wrPtr = list; - gx->inDispList = 1; - GXSaveCPUFifo((GXFifoObj *)CPUFifo); - OldCPUFifo = CPUFifo; - GXSetCPUFifo((GXFifoObj *)&DisplayListFifo); -} - -unsigned long GXEndDisplayList(void) -{ - u32 ov; - BOOL enabled; - u32 cpenable; - - CHECK_GXBEGIN(0xB5, "GXEndDisplayList"); - ASSERTMSGLINE(0xB6, gx->inDispList == TRUE, "GXEndDisplayList: no display list in progress"); - if (gx->dirtyState != 0) { - __GXSetDirtyState(); - } - ov = (__piReg[5] >> 26) & 1; - __GXSaveCPUFifoAux(&DisplayListFifo); - ASSERTMSGLINE(0xC3, !ov, "GXEndDisplayList: display list commands overflowed buffer"); - GXSetCPUFifo((GXFifoObj *)OldCPUFifo); - if (gx->dlSaveContext != 0) { - enabled = OSDisableInterrupts(); - cpenable = gx->cpEnable; - memcpy(gx, &__savedGXdata, sizeof(*gx)); - gx->cpEnable = cpenable; - OSRestoreInterrupts(enabled); - } - gx->inDispList = 0; - if (!ov) { - return DisplayListFifo.count; - } - return 0; -} - -void GXCallDisplayList(const void *list, u32 nbytes) -{ - CHECK_GXBEGIN(0xEC, "GXCallDisplayList"); - ASSERTMSGLINE(0xED, !gx->inDispList, "GXCallDisplayList: display list already in progress"); - ASSERTMSGLINE(0xEE, (nbytes & 0x1F) == 0, "GXCallDisplayList: nbytes is not 32 byte aligned"); - ASSERTMSGLINE(0xEF, ((u32)list & 0x1F) == 0, "GXCallDisplayList: list is not 32 byte aligned"); - - if (gx->dirtyState != 0) { - __GXSetDirtyState(); - } - if (*(u32 *)&gx->vNumNot == 0) { // checks both vNum and bpSent - __GXSendFlushPrim(); - } - GX_WRITE_U8(0x40); - GX_WRITE_U32((u32)list); - GX_WRITE_U32(nbytes); -} diff --git a/src/dolphin/gx/GXFifo.c b/src/dolphin/gx/GXFifo.c deleted file mode 100644 index 583303a0..00000000 --- a/src/dolphin/gx/GXFifo.c +++ /dev/null @@ -1,559 +0,0 @@ -#include -#include -#include -#include - - -#include - -static struct __GXFifoObj* CPUFifo; -static struct __GXFifoObj* GPFifo; -static OSThread* __GXCurrentThread; -static GXBool CPGPLinked; -static BOOL GXOverflowSuspendInProgress; -static GXBreakPtCallback BreakPointCB; -static u32 __GXOverflowCount; - -void* __GXCurrentBP; - -static void __GXFifoReadEnable(void); -static void __GXFifoReadDisable(void); -static void __GXFifoLink(u8 arg0); -static void __GXWriteFifoIntEnable(u8 arg0, u8 arg1); -static void __GXWriteFifoIntReset(u8 arg0, u8 arg1); - -static void GXOverflowHandler(s16 interrupt, OSContext *context) -{ - ASSERTLINE(0x179, !GXOverflowSuspendInProgress); - - __GXOverflowCount++; - __GXWriteFifoIntEnable(0, 1); - __GXWriteFifoIntReset(1, 0); - GXOverflowSuspendInProgress = TRUE; - - OSSuspendThread(__GXCurrentThread); -} - -static void GXUnderflowHandler(s16 interrupt, OSContext *context) -{ - ASSERTLINE(0x1A3, GXOverflowSuspendInProgress); - - OSResumeThread(__GXCurrentThread); - GXOverflowSuspendInProgress = FALSE; - __GXWriteFifoIntReset(1U, 1U); - __GXWriteFifoIntEnable(1U, 0U); -} - -#define SOME_SET_REG_MACRO(reg, size, shift, val) \ - do { \ - (reg) = (u32)__rlwimi((u32)(reg), (val), (shift), (32 - (shift) - (size)), (31 - (shift))); \ - } while (0); - -static void GXBreakPointHandler(s16 interrupt, OSContext *context) -{ - OSContext exceptionContext; - - gx->cpEnable = gx->cpEnable & 0xFFFFFFDF; - __cpReg[1] = gx->cpEnable; - if (BreakPointCB != NULL) { - OSClearContext(&exceptionContext); - OSSetCurrentContext(&exceptionContext); - BreakPointCB(); - OSClearContext(&exceptionContext); - OSSetCurrentContext(context); - } -} - -static void GXCPInterruptHandler(s16 interrupt, OSContext *context) -{ - gx->cpStatus = GX_GET_CP_REG(0); - if (GET_REG_FIELD(gx->cpEnable, 1, 3) && GET_REG_FIELD(gx->cpStatus, 1, 1)) { - GXUnderflowHandler(interrupt, context); - } - if (GET_REG_FIELD(gx->cpEnable, 1, 2) && GET_REG_FIELD(gx->cpStatus, 1, 0)) { - GXOverflowHandler(interrupt, context); - } - if (GET_REG_FIELD(gx->cpEnable, 1, 5) && GET_REG_FIELD(gx->cpStatus, 1, 4)) { - GXBreakPointHandler(interrupt, context); - } -} - -void GXInitFifoBase(GXFifoObj *fifo, void *base, u32 size) -{ - struct __GXFifoObj *realFifo = (struct __GXFifoObj *)fifo; - - ASSERTMSGLINE(0x21E, realFifo != CPUFifo, "GXInitFifoBase: fifo is attached to CPU"); - ASSERTMSGLINE(0x220, realFifo != GPFifo, "GXInitFifoBase: fifo is attached to GP"); - ASSERTMSGLINE(0x222, ((u32)base & 0x1F) == 0, "GXInitFifoBase: base must be 32B aligned"); - ASSERTMSGLINE(0x224, base != NULL, "GXInitFifoBase: base pointer is NULL"); - ASSERTMSGLINE(0x226, (size & 0x1F) == 0, "GXInitFifoBase: size must be 32B aligned"); - ASSERTMSGLINE(0x228, size >= 0x10000, "GXInitFifoBase: fifo is not large enough"); - - realFifo->base = base; - realFifo->top = (u8 *)base + size - 4; - realFifo->size = size; - realFifo->count = 0; - GXInitFifoLimits(fifo, size - 0x4000, (size >> 1) & ~0x1F); - GXInitFifoPtrs(fifo, base, base); -} - -void GXInitFifoPtrs(GXFifoObj *fifo, void *readPtr, void *writePtr) -{ - struct __GXFifoObj *realFifo = (struct __GXFifoObj *)fifo; - BOOL enabled; - - ASSERTMSGLINE(0x250, realFifo != CPUFifo, "GXInitFifoPtrs: fifo is attached to CPU"); - ASSERTMSGLINE(0x252, realFifo != GPFifo, "GXInitFifoPtrs: fifo is attached to GP"); - ASSERTMSGLINE(0x254, ((u32)readPtr & 0x1F) == 0, "GXInitFifoPtrs: readPtr not 32B aligned"); - ASSERTMSGLINE(0x256, ((u32)writePtr & 0x1F) == 0, "GXInitFifoPtrs: writePtr not 32B aligned"); - ASSERTMSGLINE(0x259, realFifo->base <= readPtr && readPtr < realFifo->top, "GXInitFifoPtrs: readPtr not in fifo range"); - ASSERTMSGLINE(0x25C, realFifo->base <= writePtr && writePtr < realFifo->top, "GXInitFifoPtrs: writePtr not in fifo range"); - - enabled = OSDisableInterrupts(); - realFifo->rdPtr = readPtr; - realFifo->wrPtr = writePtr; - realFifo->count = (u8 *)writePtr - (u8 *)readPtr; - if (realFifo->count < 0) { - realFifo->count += realFifo->size; - } - OSRestoreInterrupts(enabled); -} - -void GXInitFifoLimits(GXFifoObj *fifo, u32 hiWatermark, u32 loWatermark) -{ - struct __GXFifoObj *realFifo = (struct __GXFifoObj *)fifo; - - ASSERTMSGLINE(0x281, realFifo != GPFifo, "GXInitFifoLimits: fifo is attached to GP"); - ASSERTMSGLINE(0x283, (hiWatermark & 0x1F) == 0, "GXInitFifoLimits: hiWatermark not 32B aligned"); - ASSERTMSGLINE(0x285, (loWatermark & 0x1F) == 0, "GXInitFifoLimits: loWatermark not 32B aligned"); - ASSERTMSGLINE(0x287, hiWatermark < realFifo->top - realFifo->base, "GXInitFifoLimits: hiWatermark too large"); - ASSERTMSGLINE(0x289, loWatermark < hiWatermark, "GXInitFifoLimits: hiWatermark below lo watermark"); - - realFifo->hiWatermark = hiWatermark; - realFifo->loWatermark = loWatermark; -} - -void GXSetCPUFifo(GXFifoObj *fifo) -{ - struct __GXFifoObj *realFifo = (struct __GXFifoObj *)fifo; - BOOL enabled = OSDisableInterrupts(); - - CPUFifo = realFifo; - if (CPUFifo == GPFifo) - { - u32 reg = 0; - - __piReg[3] = (u32)realFifo->base & 0x3FFFFFFF; - __piReg[4] = (u32)realFifo->top & 0x3FFFFFFF; - SET_REG_FIELD(0x294, reg, 21, 5, ((u32)realFifo->wrPtr & 0x3FFFFFFF) >> 5); - SET_REG_FIELD(0x295, reg, 1, 26, 0); - __piReg[5] = reg; - CPGPLinked = GX_TRUE; - __GXWriteFifoIntReset(1, 1); - __GXWriteFifoIntEnable(1, 0); - __GXFifoLink(1); - } - else - { - u32 reg; - - if (CPGPLinked) - { - __GXFifoLink(0); - CPGPLinked = GX_FALSE; - } - __GXWriteFifoIntEnable(0, 0); - reg = 0; - __piReg[3] = (u32)realFifo->base & 0x3FFFFFFF; - __piReg[4] = (u32)realFifo->top & 0x3FFFFFFF; - SET_REG_FIELD(0x2B7, reg, 21, 5, ((u32)realFifo->wrPtr & 0x3FFFFFFF) >> 5); - SET_REG_FIELD(0x2B8, reg, 1, 26, 0); - __piReg[5] = reg; - } - - __sync(); - - OSRestoreInterrupts(enabled); -} - -void GXSetGPFifo(GXFifoObj *fifo) -{ - struct __GXFifoObj *realFifo = (struct __GXFifoObj *)fifo; - BOOL enabled = OSDisableInterrupts(); - - __GXFifoReadDisable(); - __GXWriteFifoIntEnable(0, 0); - GPFifo = realFifo; - - GX_SET_CP_REG(16, (u32)realFifo->base & 0xFFFF); - GX_SET_CP_REG(18, (u32)realFifo->top & 0xFFFF); - GX_SET_CP_REG(24, realFifo->count & 0xFFFF); - GX_SET_CP_REG(26, (u32)realFifo->wrPtr & 0xFFFF); - GX_SET_CP_REG(28, (u32)realFifo->rdPtr & 0xFFFF); - GX_SET_CP_REG(20, (u32)realFifo->hiWatermark & 0xFFFF); - GX_SET_CP_REG(22, (u32)realFifo->loWatermark & 0xFFFF); - GX_SET_CP_REG(17, ((u32)realFifo->base & 0x3FFFFFFF) >> 16); - GX_SET_CP_REG(19, ((u32)realFifo->top & 0x3FFFFFFF) >> 16); - GX_SET_CP_REG(25, realFifo->count >> 16); - GX_SET_CP_REG(27, ((u32)realFifo->wrPtr & 0x3FFFFFFF) >> 16); - GX_SET_CP_REG(29, ((u32)realFifo->rdPtr & 0x3FFFFFFF) >> 16); - GX_SET_CP_REG(21, (u32)realFifo->hiWatermark >> 16); - GX_SET_CP_REG(23, (u32)realFifo->loWatermark >> 16); - - __sync(); - - if (CPUFifo == GPFifo) { - CPGPLinked = GX_TRUE; - __GXWriteFifoIntEnable(1, 0); - __GXFifoLink(1); - } - else { - CPGPLinked = GX_FALSE; - __GXWriteFifoIntEnable(0, 0); - __GXFifoLink(0); - } - __GXWriteFifoIntReset(1, 1); - __GXFifoReadEnable(); - OSRestoreInterrupts(enabled); -} - -void GXSaveCPUFifo(GXFifoObj *fifo) -{ - struct __GXFifoObj *realFifo = (struct __GXFifoObj *)fifo; - ASSERTMSGLINE(0x343, realFifo == CPUFifo, "GXSaveCPUFifo: fifo is not attached to CPU"); - __GXSaveCPUFifoAux(realFifo); -} - -#define SOME_MACRO1(fifo) \ - do { \ - u32 temp = GX_GET_CP_REG(29) << 16; \ - temp |= GX_GET_CP_REG(28); \ - fifo->rdPtr = OSPhysicalToCached(temp); \ - } while (0) - -#define SOME_MACRO2(fifo) \ - do { \ - u32 temp = GX_GET_CP_REG(25) << 16; \ - temp |= GX_GET_CP_REG(24); \ - fifo->count = temp; \ - } while (0) - -void __GXSaveCPUFifoAux(struct __GXFifoObj *realFifo) -{ - BOOL enabled = OSDisableInterrupts(); - - GXFlush(); - realFifo->base = OSPhysicalToCached(__piReg[3]); - realFifo->top = OSPhysicalToCached(__piReg[4]); - realFifo->wrPtr = OSPhysicalToCached(__piReg[5] & 0xFBFFFFFF); - if (CPGPLinked) { - SOME_MACRO1(realFifo); - SOME_MACRO2(realFifo); - } else { - realFifo->count = (u8 *)realFifo->wrPtr - (u8 *)realFifo->rdPtr; - if (realFifo->count < 0) - realFifo->count += realFifo->size; - } - OSRestoreInterrupts(enabled); -} - -void GXSaveGPFifo(GXFifoObj *fifo) -{ - struct __GXFifoObj *realFifo = (struct __GXFifoObj *)fifo; - unsigned long cpStatus; - unsigned char readIdle; - unsigned long temp; - - ASSERTMSGLINE(0x38C, realFifo == GPFifo, "GXSaveGPFifo: fifo is not attached to GP"); - cpStatus = GX_GET_CP_REG(0); - readIdle = GET_REG_FIELD(cpStatus, 1, 2); - ASSERTMSGLINE(0x393, readIdle, "GXSaveGPFifo: GP is not idle"); - - SOME_MACRO1(realFifo); - SOME_MACRO2(realFifo); -} - -void GXGetGPStatus(GXBool *overhi, GXBool *underlow, GXBool *readIdle, GXBool *cmdIdle, GXBool *brkpt) -{ - gx->cpStatus = GX_GET_CP_REG(0); - *overhi = GET_REG_FIELD(gx->cpStatus, 1, 0); - *underlow = (int)GET_REG_FIELD(gx->cpStatus, 1, 1); - *readIdle = (int)GET_REG_FIELD(gx->cpStatus, 1, 2); - *cmdIdle = (int)GET_REG_FIELD(gx->cpStatus, 1, 3); - *brkpt = (int)GET_REG_FIELD(gx->cpStatus, 1, 4); -} - -void GXGetFifoStatus(GXFifoObj *fifo, GXBool *overhi, GXBool *underflow, u32 *fifoCount, GXBool *cpuWrite, GXBool *gpRead, GXBool *fifowrap) -{ - struct __GXFifoObj *realFifo = (struct __GXFifoObj *)fifo; - - *underflow = GX_FALSE; - *overhi = GX_FALSE; - *fifoCount = 0; - *fifowrap = GX_FALSE; - if (realFifo == GPFifo) { - SOME_MACRO1(realFifo); - SOME_MACRO2(realFifo); - } - if (realFifo == CPUFifo) { - GXFlush(); - __GXSaveCPUFifoAux(realFifo); - *fifowrap = (int)GET_REG_FIELD(GX_GET_PI_REG(5), 1, 26); - } - *overhi = (realFifo->count > realFifo->hiWatermark); - *underflow = (realFifo->count < realFifo->loWatermark); - *fifoCount = (realFifo->count); - *cpuWrite = (CPUFifo == realFifo); - *gpRead = (GPFifo == realFifo); -} - -void GXGetFifoPtrs(GXFifoObj *fifo, void **readPtr, void **writePtr) -{ - struct __GXFifoObj *realFifo = (struct __GXFifoObj *)fifo; - - if (realFifo == CPUFifo) { - realFifo->wrPtr = OSPhysicalToCached(GX_GET_PI_REG(5) & 0xFBFFFFFF); - } - if (realFifo == GPFifo) { - SOME_MACRO1(realFifo); - SOME_MACRO2(realFifo); - } - else { - realFifo->count = (u8 *)realFifo->wrPtr - (u8 *)realFifo->rdPtr; - if (realFifo->count < 0) { - realFifo->count += realFifo->size; - } - } - *readPtr = realFifo->rdPtr; - *writePtr = realFifo->wrPtr; -} - -void *GXGetFifoBase(const GXFifoObj *fifo) -{ - struct __GXFifoObj *realFifo = (struct __GXFifoObj *)fifo; - - return realFifo->base; -} - -u32 GXGetFifoSize(const GXFifoObj *fifo) -{ - struct __GXFifoObj *realFifo = (struct __GXFifoObj *)fifo; - - return realFifo->size; -} - -void GXGetFifoLimits(const GXFifoObj *fifo, u32 *hi, u32 *lo) -{ - struct __GXFifoObj *realFifo = (struct __GXFifoObj *)fifo; - - *hi = realFifo->hiWatermark; - *lo = realFifo->loWatermark; -} - -GXBreakPtCallback GXSetBreakPtCallback(GXBreakPtCallback cb) -{ - GXBreakPtCallback oldcb = BreakPointCB; - BOOL enabled = OSDisableInterrupts(); - - BreakPointCB = cb; - OSRestoreInterrupts(enabled); - return oldcb; -} - -void *__GXCurrentBP; - -void GXEnableBreakPt(void *break_pt) -{ - BOOL enabled = OSDisableInterrupts(); - - __GXFifoReadDisable(); - GX_SET_CP_REG(30, (u32)break_pt); - GX_SET_CP_REG(31, ((u32)break_pt >> 16) & 0x3FFF); - SOME_SET_REG_MACRO(gx->cpEnable, 1, 1, 1); - SOME_SET_REG_MACRO(gx->cpEnable, 1, 5, 1); - GX_SET_CP_REG(1, gx->cpEnable); - __GXCurrentBP = break_pt; - __GXFifoReadEnable(); - OSRestoreInterrupts(enabled); -} - -void GXDisableBreakPt(void) -{ - BOOL enabled = OSDisableInterrupts(); - - SOME_SET_REG_MACRO(gx->cpEnable, 1, 1, 0); - SOME_SET_REG_MACRO(gx->cpEnable, 1, 5, 0); - GX_SET_CP_REG(1, gx->cpEnable); - __GXCurrentBP = NULL; - OSRestoreInterrupts(enabled); -} - -void __GXFifoInit(void) -{ - __OSSetInterruptHandler(0x11, GXCPInterruptHandler); - __OSUnmaskInterrupts(0x4000); - __GXCurrentThread = OSGetCurrentThread(); - GXOverflowSuspendInProgress = FALSE; - CPUFifo = NULL; - GPFifo = NULL; -} - -static void __GXFifoReadEnable(void) -{ - SET_REG_FIELD(0, gx->cpEnable, 1, 0, 1); - GX_SET_CP_REG(1, gx->cpEnable); -} - -static void __GXFifoReadDisable(void) -{ - SET_REG_FIELD(0, gx->cpEnable, 1, 0, 0); - GX_SET_CP_REG(1, gx->cpEnable); -} - -static void __GXFifoLink(u8 en) -{ - SET_REG_FIELD(0x4DA, gx->cpEnable, 1, 4, (en != 0) ? 1 : 0); - GX_SET_CP_REG(1, gx->cpEnable); -} - -static void __GXWriteFifoIntEnable(u8 hiWatermarkEn, u8 loWatermarkEn) -{ - SET_REG_FIELD(0x4F0, gx->cpEnable, 1, 2, hiWatermarkEn); - SET_REG_FIELD(0x4F1, gx->cpEnable, 1, 3, loWatermarkEn); - GX_SET_CP_REG(1, gx->cpEnable); -} - -static void __GXWriteFifoIntReset(u8 hiWatermarkClr, u8 loWatermarkClr) -{ - SET_REG_FIELD(0x508, gx->cpClr, 1, 0, hiWatermarkClr); - SET_REG_FIELD(0x509, gx->cpClr, 1, 1, loWatermarkClr); - GX_SET_CP_REG(2, gx->cpClr); -} - -void __GXInsaneWatermark(void) -{ - struct __GXFifoObj *realFifo = GPFifo; - - realFifo->hiWatermark = realFifo->loWatermark + 512; - GX_SET_CP_REG(20, (realFifo->hiWatermark & 0x3FFFFFFF) & 0xFFFF); - GX_SET_CP_REG(21, (realFifo->hiWatermark & 0x3FFFFFFF) >> 16); -} - -void __GXCleanGPFifo(void) -{ - GXFifoObj dummyFifo; - GXFifoObj *gpFifo = GXGetGPFifo(); - GXFifoObj *cpuFifo = GXGetCPUFifo(); - void *base = GXGetFifoBase(gpFifo); - - dummyFifo = *gpFifo; - GXInitFifoPtrs(&dummyFifo, base, base); - GXSetGPFifo(&dummyFifo); - if (cpuFifo == gpFifo) { - GXSetCPUFifo(&dummyFifo); - } - GXInitFifoPtrs(gpFifo, base, base); - GXSetGPFifo(gpFifo); - if (cpuFifo == gpFifo) { - GXSetCPUFifo(cpuFifo); - } -} - -OSThread *GXSetCurrentGXThread(void) -{ - BOOL enabled; - struct OSThread *prev; - - enabled = OSDisableInterrupts(); - prev = __GXCurrentThread; - ASSERTMSGLINE(0x561, !GXOverflowSuspendInProgress, "GXSetCurrentGXThread: Two threads cannot generate GX commands at the same time!"); - __GXCurrentThread = OSGetCurrentThread(); - OSRestoreInterrupts(enabled); - return prev; -} - -OSThread *GXGetCurrentGXThread(void) -{ - return __GXCurrentThread; -} - -GXFifoObj *GXGetCPUFifo(void) -{ - return (GXFifoObj *)CPUFifo; -} - -GXFifoObj *GXGetGPFifo(void) -{ - return (GXFifoObj *)GPFifo; -} - -u32 GXGetOverflowCount(void) -{ - return __GXOverflowCount; -} - -u32 GXResetOverflowCount(void) -{ - u32 oldcount; - - oldcount = __GXOverflowCount; - __GXOverflowCount = 0; - return oldcount; -} - -// NONMATCHING -volatile void *GXRedirectWriteGatherPipe(void *ptr) -{ - u32 reg = 0; - BOOL enabled = OSDisableInterrupts(); - - CHECK_GXBEGIN(0x5D5, "GXRedirectWriteGatherPipe"); - ASSERTLINE(0x5D6, OFFSET(ptr, 32) == 0); - ASSERTLINE(0x5D8, !IsWGPipeRedirected); - - GXFlush(); - while (PPCMfwpar() & 1) { } - PPCMtwpar((u32)OSUncachedToPhysical((void *)GXFIFO_ADDR)); - if (CPGPLinked) { - __GXFifoLink(0); - __GXWriteFifoIntEnable(0, 0); - } - CPUFifo->wrPtr = OSPhysicalToCached(GX_GET_PI_REG(5) & 0xFBFFFFFF); - GX_SET_PI_REG(3, 0); - GX_SET_PI_REG(4, 0x04000000); - SET_REG_FIELD(0x5F7, reg, 21, 5, ((u32)ptr & 0x3FFFFFFF) >> 5); - reg &= 0xFBFFFFFF; - GX_SET_PI_REG(5, reg); - PPCSync(); - OSRestoreInterrupts(enabled); - return (volatile void *)GXFIFO_ADDR; -} - -// NONMATCHING -void GXRestoreWriteGatherPipe(void) -{ - u32 reg = 0; // r31 - u32 i; // r29 - BOOL enabled; // r28 - - ASSERTLINE(0x610, IsWGPipeRedirected); - enabled = OSDisableInterrupts(); - for (i = 0; i < 31; i++) { - GXWGFifo.u8 = 0; - } - PPCSync(); - while (PPCMfwpar() & 1) { } - PPCMtwpar((u32)OSUncachedToPhysical((void *)GXFIFO_ADDR)); - GX_SET_PI_REG(3, (u32)CPUFifo->base & 0x3FFFFFFF); - GX_SET_PI_REG(4, (u32)CPUFifo->top & 0x3FFFFFFF); - SET_REG_FIELD(0x62A, reg, 21, 5, ((u32)CPUFifo->wrPtr & 0x3FFFFFFF) >> 5); - reg &= 0xFBFFFFFF; - GX_SET_PI_REG(5, reg); - if (CPGPLinked) { - __GXWriteFifoIntReset(1, 1); - __GXWriteFifoIntEnable(1, 0); - __GXFifoLink(1); - } - PPCSync(); - OSRestoreInterrupts(enabled); -} diff --git a/src/dolphin/gx/GXFrameBuf.c b/src/dolphin/gx/GXFrameBuf.c deleted file mode 100644 index 9c12a892..00000000 --- a/src/dolphin/gx/GXFrameBuf.c +++ /dev/null @@ -1,603 +0,0 @@ -#include -#include - -#include - -GXRenderModeObj GXNtsc240Ds = { 1, 640, 240, 240, 40, 0, 640, 480, 0, 0, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 0, 0, 21, 22, 21, 0, 0 } }; - -GXRenderModeObj GXNtsc240DsAa = { 1, 640, 240, 240, 40, 0, 640, 480, 0, 0, 1, - { 3, 2, 9, 6, 3, 10, 3, 2, 9, 6, 3, 10, 9, 2, 3, 6, 9, 10, 9, 2, 3, 6, 9, 10 }, { 0, 0, 21, 22, 21, 0, 0 } }; - -GXRenderModeObj GXNtsc240Int = { 0, 640, 240, 240, 40, 0, 640, 480, 0, 1, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 0, 0, 21, 22, 21, 0, 0 } }; - -GXRenderModeObj GXNtsc240IntAa = { 0, 640, 240, 240, 40, 0, 640, 480, 0, 1, 1, - { 3, 2, 9, 6, 3, 10, 3, 2, 9, 6, 3, 10, 9, 2, 3, 6, 9, 10, 9, 2, 3, 6, 9, 10 }, { 0, 0, 21, 22, 21, 0, 0 } }; - -GXRenderModeObj GXNtsc480IntDf = { 0, 640, 480, 480, 40, 0, 640, 480, 1, 0, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 8, 8, 10, 12, 10, 8, 8 } }; - -GXRenderModeObj GXNtsc480Int = { 0, 640, 480, 480, 40, 0, 640, 480, 1, 0, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 0, 0, 21, 22, 21, 0, 0 } }; - -GXRenderModeObj GXNtsc480IntAa = { 0, 640, 242, 480, 40, 0, 640, 480, 1, 0, 1, - { 3, 2, 9, 6, 3, 10, 3, 2, 9, 6, 3, 10, 9, 2, 3, 6, 9, 10, 9, 2, 3, 6, 9, 10 }, { 4, 8, 12, 16, 12, 8, 4 } }; - -GXRenderModeObj GXNtsc480Prog = { 2, 640, 480, 480, 40, 0, 640, 480, 0, 0, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 0, 0, 21, 22, 21, 0, 0 } }; - -GXRenderModeObj GXNtsc480ProgSoft = { 2, 640, 480, 480, 40, 0, 640, 480, 0, 0, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 8, 8, 10, 12, 10, 8, 8 } }; - -GXRenderModeObj GXNtsc480ProgAa = { 2, 640, 242, 480, 40, 0, 640, 480, 0, 0, 1, - { 3, 2, 9, 6, 3, 10, 3, 2, 9, 6, 3, 10, 9, 2, 3, 6, 9, 10, 9, 2, 3, 6, 9, 10 }, { 4, 8, 12, 16, 12, 8, 4 } }; - -GXRenderModeObj GXMpal240Ds = { 9, 640, 240, 240, 40, 0, 640, 480, 0, 0, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 0, 0, 21, 22, 21, 0, 0 } }; -GXRenderModeObj GXMpal240DsAa = { 9, 640, 240, 240, 40, 0, 640, 480, 0, 0, 1, - { 3, 2, 9, 6, 3, 10, 3, 2, 9, 6, 3, 10, 9, 2, 3, 6, 9, 10, 9, 2, 3, 6, 9, 10 }, { 0, 0, 21, 22, 21, 0, 0 } }; -GXRenderModeObj GXMpal240Int = { 8, 640, 240, 240, 40, 0, 640, 480, 0, 1, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 0, 0, 21, 22, 21, 0, 0 } }; -GXRenderModeObj GXMpal240IntAa = { 8, 640, 240, 240, 40, 0, 640, 480, 0, 1, 1, - { 3, 2, 9, 6, 3, 10, 3, 2, 9, 6, 3, 10, 9, 2, 3, 6, 9, 10, 9, 2, 3, 6, 9, 10 }, { 0, 0, 21, 22, 21, 0, 0 } }; -GXRenderModeObj GXMpal480IntDf = { 8, 640, 480, 480, 40, 0, 640, 480, 1, 0, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 8, 8, 10, 12, 10, 8, 8 } }; -GXRenderModeObj GXMpal480Int = { 8, 640, 480, 480, 40, 0, 640, 480, 1, 0, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 0, 0, 21, 22, 21, 0, 0 } }; -GXRenderModeObj GXMpal480IntAa = { 8, 640, 242, 480, 40, 0, 640, 480, 1, 0, 1, - { 3, 2, 9, 6, 3, 10, 3, 2, 9, 6, 3, 10, 9, 2, 3, 6, 9, 10, 9, 2, 3, 6, 9, 10 }, { 4, 8, 12, 16, 12, 8, 4 } }; -GXRenderModeObj GXPal264Ds = { 5, 640, 264, 264, 40, 11, 640, 528, 0, 0, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 0, 0, 21, 22, 21, 0, 0 } }; -GXRenderModeObj GXPal264DsAa = { 5, 640, 264, 264, 40, 11, 640, 528, 0, 0, 1, - { 3, 2, 9, 6, 3, 10, 3, 2, 9, 6, 3, 10, 9, 2, 3, 6, 9, 10, 9, 2, 3, 6, 9, 10 }, { 0, 0, 21, 22, 21, 0, 0 } }; -GXRenderModeObj GXPal264Int = { 4, 640, 264, 264, 40, 23, 640, 528, 0, 1, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 0, 0, 21, 22, 21, 0, 0 } }; -GXRenderModeObj GXPal264IntAa = { 4, 640, 264, 264, 40, 23, 640, 528, 0, 1, 1, - { 3, 2, 9, 6, 3, 10, 3, 2, 9, 6, 3, 10, 9, 2, 3, 6, 9, 10, 9, 2, 3, 6, 9, 10 }, { 0, 0, 21, 22, 21, 0, 0 } }; -GXRenderModeObj GXPal528IntDf = { 4, 640, 528, 528, 40, 23, 640, 528, 1, 0, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 8, 8, 10, 12, 10, 8, 8 } }; -GXRenderModeObj GXPal528Int = { 4, 640, 528, 528, 40, 23, 640, 528, 1, 0, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 0, 0, 21, 22, 21, 0, 0 } }; -GXRenderModeObj GXPal524IntAa = { 4, 640, 264, 524, 40, 23, 640, 524, 1, 0, 1, - { 3, 2, 9, 6, 3, 10, 3, 2, 9, 6, 3, 10, 9, 2, 3, 6, 9, 10, 9, 2, 3, 6, 9, 10 }, { 4, 8, 12, 16, 12, 8, 4 } }; -GXRenderModeObj GXEurgb60Hz240Ds = { 21, 640, 240, 240, 40, 0, 640, 480, 0, 0, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 0, 0, 21, 22, 21, 0, 0 } }; -GXRenderModeObj GXEurgb60Hz240DsAa = { 21, 640, 240, 240, 40, 0, 640, 480, 0, 0, 1, - { 3, 2, 9, 6, 3, 10, 3, 2, 9, 6, 3, 10, 9, 2, 3, 6, 9, 10, 9, 2, 3, 6, 9, 10 }, { 0, 0, 21, 22, 21, 0, 0 } }; -GXRenderModeObj GXEurgb60Hz240Int = { 20, 640, 240, 240, 40, 0, 640, 480, 0, 1, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 0, 0, 21, 22, 21, 0, 0 } }; -GXRenderModeObj GXEurgb60Hz240IntAa = { 20, 640, 240, 240, 40, 0, 640, 480, 0, 1, 1, - { 3, 2, 9, 6, 3, 10, 3, 2, 9, 6, 3, 10, 9, 2, 3, 6, 9, 10, 9, 2, 3, 6, 9, 10 }, { 0, 0, 21, 22, 21, 0, 0 } }; -GXRenderModeObj GXEurgb60Hz480IntDf = { 20, 640, 480, 480, 40, 0, 640, 480, 1, 0, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 8, 8, 10, 12, 10, 8, 8 } }; -GXRenderModeObj GXEurgb60Hz480Int = { 20, 640, 480, 480, 40, 0, 640, 480, 1, 0, 0, - { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, { 0, 0, 21, 22, 21, 0, 0 } }; -GXRenderModeObj GXEurgb60Hz480IntAa = { 20, 640, 242, 480, 40, 0, 640, 480, 1, 0, 1, - { 3, 2, 9, 6, 3, 10, 3, 2, 9, 6, 3, 10, 9, 2, 3, 6, 9, 10, 9, 2, 3, 6, 9, 10 }, { 4, 8, 12, 16, 12, 8, 4 } }; -GXRenderModeObj GXRmHW = { 1, 320, 240, 240, 40, 0, 640, 480, 0, 0, 0, { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, - { 0, 0, 21, 22, 21, 0, 0 } }; - -void GXAdjustForOverscan(GXRenderModeObj *rmin, GXRenderModeObj *rmout, u16 hor, u16 ver) -{ - u16 hor2 = hor * 2; - u16 ver2 = ver * 2; - u32 verf; - u32 mode; - - if (rmin != rmout) { - *rmout = *rmin; - } - - mode = rmin->viTVmode & 3; - rmout->fbWidth = rmin->fbWidth - hor2; - verf = (ver2 * rmin->efbHeight) / (u32)rmin->xfbHeight; - rmout->efbHeight = rmin->efbHeight - verf; - if (rmin->xFBmode == VI_XFBMODE_SF && ((rmin->viTVmode & 2) != 2)) { - rmout->xfbHeight = rmin->xfbHeight - ver; - } - else { - rmout->xfbHeight = rmin->xfbHeight - ver2; - } - - rmout->viWidth = rmin->viWidth - hor2; - rmout->viHeight = rmin->viHeight - ver2; - rmout->viXOrigin = rmin->viXOrigin + hor; - rmout->viYOrigin = rmin->viYOrigin + ver; -} - -void GXSetDispCopySrc(u16 left, u16 top, u16 wd, u16 ht) -{ - CHECK_GXBEGIN(0x4D3, "GXSetDispCopySrc"); - - gx->cpDispSrc = 0; - SET_REG_FIELD(0x4D6, gx->cpDispSrc, 10, 0, left); - SET_REG_FIELD(0x4D7, gx->cpDispSrc, 10, 10, top); - SET_REG_FIELD(0x4D7, gx->cpDispSrc, 8, 24, 0x49); - - gx->cpDispSize = 0; - SET_REG_FIELD(0x4DB, gx->cpDispSize, 10, 0, wd - 1); - SET_REG_FIELD(0x4DC, gx->cpDispSize, 10, 10, ht - 1); - SET_REG_FIELD(0x4DC, gx->cpDispSize, 8, 24, 0x4A); -} - -void GXSetTexCopySrc(u16 left, u16 top, u16 wd, u16 ht) -{ - CHECK_GXBEGIN(0x4EF, "GXSetTexCopySrc"); - - gx->cpTexSrc = 0; - SET_REG_FIELD(0x4F2, gx->cpTexSrc, 10, 0, left); - SET_REG_FIELD(0x4F3, gx->cpTexSrc, 10, 10, top); - SET_REG_FIELD(0x4F3, gx->cpTexSrc, 8, 24, 0x49); - - gx->cpTexSize = 0; - SET_REG_FIELD(0x4F7, gx->cpTexSize, 10, 0, wd - 1); - SET_REG_FIELD(0x4F8, gx->cpTexSize, 10, 10, ht - 1); - SET_REG_FIELD(0x4F8, gx->cpTexSize, 8, 24, 0x4A); -} - -void GXSetDispCopyDst(u16 wd, u16 ht) -{ - u16 stride; - - ASSERTMSGLINE(0x50D, (wd & 0xF) == 0, "GXSetDispCopyDst: Width must be a multiple of 16"); - CHECK_GXBEGIN(0x50E, "GXSetDispCopyDst"); - - stride = (int)wd * 2; - gx->cpDispStride = 0; - SET_REG_FIELD(0x514, gx->cpDispStride, 10, 0, (stride >> 5)); - SET_REG_FIELD(0x514, gx->cpDispStride, 8, 24, 0x4D); -} - -void GXSetTexCopyDst(u16 wd, u16 ht, GXTexFmt fmt, GXBool mipmap) -{ - u32 rowTiles; - u32 colTiles; - u32 cmpTiles; - u32 peTexFmt; - u32 peTexFmtH; - - CHECK_GXBEGIN(0x52F, "GXSetTexCopyDst"); - - gx->cpTexZ = 0; - peTexFmt = fmt & 0xF; - ASSERTMSGLINEV(0x54E, peTexFmt < 13, "%s: invalid texture format", "GXSetTexCopyDst"); - - if (fmt == GX_TF_Z16) { - peTexFmt = 0xB; - } - switch (fmt) { - case GX_TF_I4: - case GX_TF_I8: - case GX_TF_IA4: - case GX_TF_IA8: - case GX_CTF_YUVA8: - SET_REG_FIELD(0, gx->cpTex, 2, 15, 3); - break; - default: - SET_REG_FIELD(0, gx->cpTex, 2, 15, 2); - break; - } - - gx->cpTexZ = (fmt & _GX_TF_ZTF) == _GX_TF_ZTF; - peTexFmtH = (peTexFmt >> 3) & 1; - !peTexFmt; - SET_REG_FIELD(0x565, gx->cpTex, 1, 3, peTexFmtH); - peTexFmt = peTexFmt & 7; - __GetImageTileCount(fmt, wd, ht, &rowTiles, &colTiles, &cmpTiles); - - gx->cpTexStride = 0; - SET_REG_FIELD(0x56E, gx->cpTexStride, 10, 0, rowTiles * cmpTiles); - SET_REG_FIELD(0x570, gx->cpTexStride, 8, 24, 0x4D); - SET_REG_FIELD(0x570, gx->cpTex, 1, 9, mipmap); - SET_REG_FIELD(0x571, gx->cpTex, 3, 4, peTexFmt); -} - -void GXSetDispCopyFrame2Field(GXCopyMode mode) -{ - CHECK_GXBEGIN(0x582, "GXSetDispCopyFrame2Field"); - SET_REG_FIELD(0x583, gx->cpDisp, 2, 12, mode); - SET_REG_FIELD(0x583, gx->cpTex, 2, 12, 0); -} - -void GXSetCopyClamp(GXFBClamp clamp) -{ - u8 clmpB; - u8 clmpT; - - CHECK_GXBEGIN(0x597, "GXSetCopyClamp"); - - clmpT = (clamp & 1) == 1; - clmpB = (clamp & 2) == 2; - - SET_REG_FIELD(0x59B, gx->cpDisp, 1, 0, clmpT); - SET_REG_FIELD(0x59C, gx->cpDisp, 1, 1, clmpB); - - SET_REG_FIELD(0x59E, gx->cpTex, 1, 0, clmpT); - SET_REG_FIELD(0x59F, gx->cpTex, 1, 1, clmpB); -} - -static u32 __GXGetNumXfbLines(u32 efbHt, u32 iScale) -{ - u32 count; - u32 realHt; - u32 iScaleD; - - count = (efbHt - 1) * 0x100; - realHt = (count / iScale) + 1; - - iScaleD = iScale; - - if (iScaleD > 0x80 && iScaleD < 0x100) { - while (iScaleD % 2 == 0) { - iScaleD /= 2; - } - - if (efbHt % iScaleD == 0) { - realHt++; - } - } - - if (realHt > 0x400) { - realHt = 0x400; - } - - return realHt; -} - -u16 GXGetNumXfbLines(u16 efbHeight, f32 yScale) -{ - u32 iScale; - ASSERTMSGLINE(0x5CE, yScale >= 1.0f, "GXGetNumXfbLines: Vertical scale must be >= 1.0"); - - iScale = (u32)(256.0f / yScale) & 0x1FF; - return __GXGetNumXfbLines(efbHeight, iScale); -} - -f32 GXGetYScaleFactor(u16 efbHeight, u16 xfbHeight) -{ - f32 fScale; - f32 yScale; - u32 iScale; - u32 tgtHt; - u32 realHt; - - ASSERTMSGLINE(0x5E6, xfbHeight <= 1024, "GXGetYScaleFactor: Display copy only supports up to 1024 lines.\n"); - ASSERTMSGLINE(0x5E8, efbHeight <= xfbHeight, "GXGetYScaleFactor: EFB height should not be greater than XFB height.\n"); - - tgtHt = xfbHeight; - yScale = (f32)xfbHeight / (f32)efbHeight; - iScale = (u32)(256.0f / yScale) & 0x1FF; - realHt = __GXGetNumXfbLines(efbHeight, iScale); - - while (realHt > xfbHeight) { - tgtHt--; - yScale = (f32)tgtHt / (f32)efbHeight; - iScale = (u32)(256.0f / yScale) & 0x1FF; - realHt = __GXGetNumXfbLines(efbHeight, iScale); - } - - fScale = yScale; - while (realHt < xfbHeight) { - fScale = yScale; - tgtHt++; - yScale = (f32)tgtHt / (f32)efbHeight; - iScale = (u32)(256.0f / yScale) & 0x1FF; - realHt = __GXGetNumXfbLines(efbHeight, iScale); - } - - return fScale; -} - -u32 GXSetDispCopyYScale(f32 vscale) -{ - u32 scale; - GXBool check; - u32 height; - u32 reg; - - scale = (u32)(256.0f / vscale) & 0x1FF; - check = (scale != 0x100); - - reg = 0; - SET_REG_FIELD(0, reg, 9, 0, scale); - SET_REG_FIELD(0, reg, 8, 24, 0x4E); - GX_WRITE_RAS_REG(reg); - gx->bpSentNot = GX_FALSE; - - SET_REG_FIELD(0, gx->cpDisp, 1, 10, check); - - height = (gx->cpDispSize >> 10 & 0x3FF) + 1; - - return __GXGetNumXfbLines(height, scale); -} - -void GXSetCopyClear(GXColor clear_clr, u32 clear_z) -{ - u32 reg; - - CHECK_GXBEGIN(0x63C, "GXSetCopyClear"); - ASSERTMSGLINE(0x63E, clear_z <= 0xFFFFFF, "GXSetCopyClear: Z clear value is out of range"); - - reg = 0; - SET_REG_FIELD(0x641, reg, 8, 0, clear_clr.r); - SET_REG_FIELD(0x642, reg, 8, 8, clear_clr.a); - SET_REG_FIELD(0x642, reg, 8, 24, 0x4F); - GX_WRITE_RAS_REG(reg); - - reg = 0; - SET_REG_FIELD(0x647, reg, 8, 0, clear_clr.b); - SET_REG_FIELD(0x648, reg, 8, 8, clear_clr.g); - SET_REG_FIELD(0x648, reg, 8, 24, 0x50); - GX_WRITE_RAS_REG(reg); - - reg = 0; - SET_REG_FIELD(0x64D, reg, 24, 0, clear_z); - SET_REG_FIELD(0x64D, reg, 8, 24, 0x51); - GX_WRITE_RAS_REG(reg); - gx->bpSentNot = 0; -} - -void GXSetCopyFilter(GXBool aa, u8 sample_pattern[12][2], GXBool vf, u8 vfilter[7]) -{ - u32 msLoc[4]; - u32 coeff0; - u32 coeff1; - - CHECK_GXBEGIN(0x669, "GXSetCopyFilter"); - - if (aa != 0) { - msLoc[0] = 0; - SET_REG_FIELD(0x66D, msLoc[0], 4, 0, sample_pattern[0][0]); - SET_REG_FIELD(0x66E, msLoc[0], 4, 4, sample_pattern[0][1]); - SET_REG_FIELD(0x66F, msLoc[0], 4, 8, sample_pattern[1][0]); - SET_REG_FIELD(0x670, msLoc[0], 4, 12, sample_pattern[1][1]); - SET_REG_FIELD(0x671, msLoc[0], 4, 16, sample_pattern[2][0]); - SET_REG_FIELD(0x672, msLoc[0], 4, 20, sample_pattern[2][1]); - SET_REG_FIELD(0x673, msLoc[0], 8, 24, 1); - - msLoc[1] = 0; - SET_REG_FIELD(0x676, msLoc[1], 4, 0, sample_pattern[3][0]); - SET_REG_FIELD(0x677, msLoc[1], 4, 4, sample_pattern[3][1]); - SET_REG_FIELD(0x678, msLoc[1], 4, 8, sample_pattern[4][0]); - SET_REG_FIELD(0x679, msLoc[1], 4, 12, sample_pattern[4][1]); - SET_REG_FIELD(0x67A, msLoc[1], 4, 16, sample_pattern[5][0]); - SET_REG_FIELD(0x67B, msLoc[1], 4, 20, sample_pattern[5][1]); - SET_REG_FIELD(0x67C, msLoc[1], 8, 24, 2); - - msLoc[2] = 0; - SET_REG_FIELD(0x67F, msLoc[2], 4, 0, sample_pattern[6][0]); - SET_REG_FIELD(0x680, msLoc[2], 4, 4, sample_pattern[6][1]); - SET_REG_FIELD(0x681, msLoc[2], 4, 8, sample_pattern[7][0]); - SET_REG_FIELD(0x682, msLoc[2], 4, 12, sample_pattern[7][1]); - SET_REG_FIELD(0x683, msLoc[2], 4, 16, sample_pattern[8][0]); - SET_REG_FIELD(0x684, msLoc[2], 4, 20, sample_pattern[8][1]); - SET_REG_FIELD(0x685, msLoc[2], 8, 24, 3); - - msLoc[3] = 0; - SET_REG_FIELD(0x688, msLoc[3], 4, 0, sample_pattern[9][0]); - SET_REG_FIELD(0x689, msLoc[3], 4, 4, sample_pattern[9][1]); - SET_REG_FIELD(0x68A, msLoc[3], 4, 8, sample_pattern[10][0]); - SET_REG_FIELD(0x68B, msLoc[3], 4, 12, sample_pattern[10][1]); - SET_REG_FIELD(0x68C, msLoc[3], 4, 16, sample_pattern[11][0]); - SET_REG_FIELD(0x68D, msLoc[3], 4, 20, sample_pattern[11][1]); - SET_REG_FIELD(0x68E, msLoc[3], 8, 24, 4); - } - else { - msLoc[0] = 0x01666666; - msLoc[1] = 0x02666666; - msLoc[2] = 0x03666666; - msLoc[3] = 0x04666666; - } - GX_WRITE_RAS_REG(msLoc[0]); - GX_WRITE_RAS_REG(msLoc[1]); - GX_WRITE_RAS_REG(msLoc[2]); - GX_WRITE_RAS_REG(msLoc[3]); - - coeff0 = 0; - SET_REG_FIELD(0, coeff0, 8, 24, 0x53); - coeff1 = 0; - SET_REG_FIELD(0, coeff1, 8, 24, 0x54); - if (vf != 0) { - SET_REG_FIELD(0x6A6, coeff0, 6, 0, vfilter[0]); - SET_REG_FIELD(0x6A7, coeff0, 6, 6, vfilter[1]); - SET_REG_FIELD(0x6A8, coeff0, 6, 12, vfilter[2]); - SET_REG_FIELD(0x6A9, coeff0, 6, 18, vfilter[3]); - SET_REG_FIELD(0x6AA, coeff1, 6, 0, vfilter[4]); - SET_REG_FIELD(0x6AB, coeff1, 6, 6, vfilter[5]); - SET_REG_FIELD(0x6AC, coeff1, 6, 12, vfilter[6]); - } - else { - SET_REG_FIELD(0, coeff0, 6, 0, 0); - SET_REG_FIELD(0, coeff0, 6, 6, 0); - SET_REG_FIELD(0, coeff0, 6, 12, 21); - SET_REG_FIELD(0, coeff0, 6, 18, 22); - SET_REG_FIELD(0, coeff1, 6, 0, 21); - SET_REG_FIELD(0, coeff1, 6, 6, 0); - SET_REG_FIELD(0, coeff1, 6, 12, 0); - } - GX_WRITE_RAS_REG(coeff0); - GX_WRITE_RAS_REG(coeff1); - gx->bpSentNot = 0; -} - -void GXSetDispCopyGamma(GXGamma gamma) -{ - CHECK_GXBEGIN(0x6CD, "GXSetDispCopyGamma"); - SET_REG_FIELD(0x6CE, gx->cpDisp, 2, 7, gamma); -} - -#if DEBUG -static void __GXVerifCopy(void *dest, u8 clear) -{ - u8 clmpT; - u8 clmpB; - u32 x0; - u32 y0; - u32 dx; - u32 dy; - - CHECK_GXBEGIN(0x6E2, "GXCopyDisp"); - - clmpT = GET_REG_FIELD(gx->cpDisp, 1, 0); - clmpB = (u32)GET_REG_FIELD(gx->cpDisp, 1, 1); - x0 = GET_REG_FIELD(gx->cpDispSrc, 10, 0); - dx = GET_REG_FIELD(gx->cpDispSize, 10, 0) + 1; - y0 = GET_REG_FIELD(gx->cpDispSrc, 10, 10); - dy = GET_REG_FIELD(gx->cpDispSize, 10, 10) + 1; - - ASSERTMSGLINE(0x6EC, clmpT || y0 != 0, "GXCopy: Have to set GX_CLAMP_TOP if source top == 0"); - ASSERTMSGLINE(0x6EE, clmpB || y0 + dy <= 528, "GXCopy: Have to set GX_CLAMP_BOTTOM if source bottom > 528"); - ASSERTMSGLINE(0x6F3, (gx->peCtrl & 7) != 3 || clear == 0, "GXCopy: Can not do clear while pixel type is Z"); - if ((u32)(gx->peCtrl & 7) == 5) { - ASSERTMSGLINE(0x6F9, clear == 0, "GXCopy: Can not clear YUV framebuffer"); - ASSERTMSGLINE(0x6FB, (x0 & 3) == 0, "GXCopy: Source x is not multiple of 4 for YUV copy"); - ASSERTMSGLINE(0x6FD, (y0 & 3) == 0, "GXCopy: Source y is not multiple of 4 for YUV copy"); - ASSERTMSGLINE(0x6FF, (dx & 3) == 0, "GXCopy: Source width is not multiple of 4 for YUV copy"); - ASSERTMSGLINE(0x701, (dy & 3) == 0, "GXCopy: Source height is not multiple of 4 for YUV copy"); - } - else { - ASSERTMSGLINE(0x705, (x0 & 1) == 0, "GXCopy: Source x is not multiple of 2 for RGB copy"); - ASSERTMSGLINE(0x707, (y0 & 1) == 0, "GXCopy: Source y is not multiple of 2 for RGB copy"); - ASSERTMSGLINE(0x709, (dx & 1) == 0, "GXCopy: Source width is not multiple of 2 for RGB copy"); - ASSERTMSGLINE(0x70B, (dy & 1) == 0, "GXCopy: Source height is not multiple of 2 for RGB copy"); - } - ASSERTMSGLINE(0x70F, ((u32)dest & 0x1F) == 0, "GXCopy: Display destination address not 32B aligned"); -} -#endif - -void GXCopyDisp(void *dest, GXBool clear) -{ - u32 reg; - u32 tempPeCtrl; - u32 phyAddr; - u8 changePeCtrl; - - CHECK_GXBEGIN(0x729, "GXCopyDisp"); - -#if DEBUG - __GXVerifCopy(dest, clear); -#endif - if (clear) { - reg = gx->zmode; - SET_REG_FIELD(0, reg, 1, 0, 1); - SET_REG_FIELD(0, reg, 3, 1, 7); - GX_WRITE_RAS_REG(reg); - - reg = gx->cmode0; - SET_REG_FIELD(0, reg, 1, 0, 0); - SET_REG_FIELD(0, reg, 1, 1, 0); - GX_WRITE_RAS_REG(reg); - } - changePeCtrl = FALSE; - if ((clear || (u32)GET_REG_FIELD(gx->peCtrl, 3, 0) == 3) && (u32)GET_REG_FIELD(gx->peCtrl, 1, 6) == 1) { - changePeCtrl = TRUE; - tempPeCtrl = gx->peCtrl; - SET_REG_FIELD(0, tempPeCtrl, 1, 6, 0); - GX_WRITE_RAS_REG(tempPeCtrl); - } - GX_WRITE_RAS_REG(gx->cpDispSrc); - GX_WRITE_RAS_REG(gx->cpDispSize); - GX_WRITE_RAS_REG(gx->cpDispStride); - - phyAddr = (u32)dest & 0x3FFFFFFF; - reg = 0; - SET_REG_FIELD(0x750, reg, 21, 0, phyAddr >> 5); - SET_REG_FIELD(0x754, reg, 8, 24, 0x4B); - GX_WRITE_RAS_REG(reg); - - SET_REG_FIELD(0x754, gx->cpDisp, 1, 11, clear); - SET_REG_FIELD(0x754, gx->cpDisp, 1, 14, 1); - SET_REG_FIELD(0x754, gx->cpDisp, 8, 24, 0x52); - GX_WRITE_RAS_REG(gx->cpDisp); - - if (clear) { - GX_WRITE_RAS_REG(gx->zmode); - GX_WRITE_RAS_REG(gx->cmode0); - } - if (changePeCtrl) { - GX_WRITE_RAS_REG(gx->peCtrl); - } - gx->bpSentNot = 0; -} - -void GXCopyTex(void *dest, GXBool clear) -{ - u32 reg; - u32 tempPeCtrl; - u32 phyAddr; - u8 changePeCtrl; - - CHECK_GXBEGIN(0x77C, "GXCopyTex"); - -#if DEBUG - __GXVerifCopy(dest, clear); -#endif - if (clear) { - reg = gx->zmode; - SET_REG_FIELD(0, reg, 1, 0, 1); - SET_REG_FIELD(0, reg, 3, 1, 7); - GX_WRITE_RAS_REG(reg); - - reg = gx->cmode0; - SET_REG_FIELD(0, reg, 1, 0, 0); - SET_REG_FIELD(0, reg, 1, 1, 0); - GX_WRITE_RAS_REG(reg); - } - changePeCtrl = 0; - tempPeCtrl = gx->peCtrl; - if (gx->cpTexZ && ((tempPeCtrl & 7) != 3)) { - changePeCtrl = 1; - SET_REG_FIELD(0, tempPeCtrl, 3, 0, 3); - } - if (((clear != 0) || ((u32)(tempPeCtrl & 7) == 3)) && ((u32)((tempPeCtrl >> 6U) & 1) == 1)) { - changePeCtrl = 1; - SET_REG_FIELD(0, tempPeCtrl, 1, 6, 0); - } - if (changePeCtrl) { - GX_WRITE_RAS_REG(tempPeCtrl); - } - GX_WRITE_RAS_REG(gx->cpTexSrc); - GX_WRITE_RAS_REG(gx->cpTexSize); - GX_WRITE_RAS_REG(gx->cpTexStride); - - phyAddr = (u32)dest & 0x3FFFFFFF; - reg = 0; - SET_REG_FIELD(0x7AD, reg, 21, 0, phyAddr >> 5); - SET_REG_FIELD(0x7AD, reg, 8, 24, 0x4B); - GX_WRITE_RAS_REG(reg); - - SET_REG_FIELD(0x7B1, gx->cpTex, 1, 11, clear); - SET_REG_FIELD(0x7B1, gx->cpTex, 1, 14, 0); - SET_REG_FIELD(0x7B1, gx->cpTex, 8, 24, 0x52); - GX_WRITE_RAS_REG(gx->cpTex); - - if (clear != 0) { - GX_WRITE_RAS_REG(gx->zmode); - GX_WRITE_RAS_REG(gx->cmode0); - } - if (changePeCtrl) { - GX_WRITE_RAS_REG(gx->peCtrl); - } - gx->bpSentNot = 0; -} - -void GXClearBoundingBox(void) -{ - u32 reg; - - CHECK_GXBEGIN(0x7D3, "GXClearBoundingBox"); - reg = 0x550003FF; - GX_WRITE_RAS_REG(reg); - reg = 0x560003FF; - GX_WRITE_RAS_REG(reg); - gx->bpSentNot = 0; -} - -void GXReadBoundingBox(u16 *left, u16 *top, u16 *right, u16 *bottom) -{ - *left = GX_GET_PE_REG(8); - *top = GX_GET_PE_REG(10); - *right = GX_GET_PE_REG(9); - *bottom = GX_GET_PE_REG(11); -} diff --git a/src/dolphin/gx/GXGeometry.c b/src/dolphin/gx/GXGeometry.c deleted file mode 100644 index 853e2989..00000000 --- a/src/dolphin/gx/GXGeometry.c +++ /dev/null @@ -1,146 +0,0 @@ -#include -#include -#include - -#include - -void __GXSetDirtyState(void) -{ - if (gx->dirtyState & 1) { - __GXSetSUTexRegs(); - } - if (gx->dirtyState & 2) { - __GXUpdateBPMask(); - } - if (gx->dirtyState & 4) { - __GXSetGenMode(); - } - if (gx->dirtyState & 8) { - __GXSetVCD(); - } - if (gx->dirtyState & 0x10) { - __GXSetVAT(); - } - if (gx->dirtyState & 0x18) { - __GXCalculateVLim(); - } - gx->dirtyState = 0; -} - -void GXBegin(GXPrimitive type, GXVtxFmt vtxfmt, u16 nverts) -{ - ASSERTMSGLINE(0x167, vtxfmt < 8, "GXBegin: Format Index is out of range"); - ASSERTMSGLINE(0x168, !__GXinBegin, "GXBegin: called inside another GXBegin/GXEnd"); - - if (gx->dirtyState != 0) { - __GXSetDirtyState(); - } - if (*(u32 *)&gx->vNumNot == 0) { // checks both vNum and bpSentNot - __GXSendFlushPrim(); - } - GX_WRITE_U8(vtxfmt | type); - GX_WRITE_U16(nverts); -} - -void __GXSendFlushPrim(void) -{ - u32 i; - u32 numD = gx->vNum * gx->vLim; - - GX_WRITE_U8(0x98); - GX_WRITE_U16(gx->vNum); - for (i = 0; i < numD; i += 4) { - GX_WRITE_U32(0); - } - gx->bpSentNot = 1; -} - -void GXSetLineWidth(u8 width, GXTexOffset texOffsets) -{ - CHECK_GXBEGIN(0x1B8, "GXSetLineWidth"); - SET_REG_FIELD(0x1B9, gx->lpSize, 8, 0, width); - SET_REG_FIELD(0x1BA, gx->lpSize, 3, 16, texOffsets); - GX_WRITE_RAS_REG(gx->lpSize); - gx->bpSentNot = 0; -} - -void GXGetLineWidth(u8 *width, GXTexOffset *texOffsets) -{ - ASSERTMSGLINE(0x1CF, width != NULL && texOffsets != NULL, "GXGet*: invalid null pointer"); - - *width = GET_REG_FIELD(gx->lpSize, 8, 0); - *texOffsets = GET_REG_FIELD(gx->lpSize, 3, 16); -} - -void GXSetPointSize(u8 pointSize, GXTexOffset texOffsets) -{ - CHECK_GXBEGIN(0x1E4, "GXSetPointSize"); - SET_REG_FIELD(0x1E5, gx->lpSize, 8, 8, pointSize); - SET_REG_FIELD(0x1E6, gx->lpSize, 3, 19, texOffsets); - GX_WRITE_RAS_REG(gx->lpSize); - gx->bpSentNot = 0; -} - -void GXGetPointSize(u8 *pointSize, GXTexOffset *texOffsets) -{ - ASSERTMSGLINE(0x1FB, pointSize != NULL && texOffsets != NULL, "GXGet*: invalid null pointer"); - - *pointSize = (int)GET_REG_FIELD(gx->lpSize, 8, 8); - *texOffsets = GET_REG_FIELD(gx->lpSize, 3, 19); -} - -void GXEnableTexOffsets(GXTexCoordID coord, u8 line_enable, u8 point_enable) -{ - CHECK_GXBEGIN(0x211, "GXEnableTexOffsets"); - - ASSERTMSGLINE(0x213, coord < 8, "GXEnableTexOffsets: Invalid coordinate Id"); - - SET_REG_FIELD(0x215, gx->suTs0[coord], 1, 18, line_enable); - SET_REG_FIELD(0x216, gx->suTs0[coord], 1, 19, point_enable); - GX_WRITE_RAS_REG(gx->suTs0[coord]); - gx->bpSentNot = 0; -} - -void GXSetCullMode(GXCullMode mode) -{ - GXCullMode hwMode; - - CHECK_GXBEGIN(0x21D, "GXSetCullMode"); - switch (mode) { - case GX_CULL_FRONT: - hwMode = GX_CULL_BACK; - break; - case GX_CULL_BACK: - hwMode = GX_CULL_FRONT; - break; - default: - hwMode = mode; - break; - } - SET_REG_FIELD(0x225, gx->genMode, 2, 14, hwMode); - gx->dirtyState |= 4; -} - -void GXGetCullMode(GXCullMode *mode) -{ - GXCullMode hwMode = gx->genMode; - *mode = ((hwMode >> 0xD) & 0x2) | (((((int)hwMode >> 0xE) & 0x2) >> 0x1)); -} - -void GXSetCoPlanar(GXBool enable) -{ - u32 reg; - - CHECK_GXBEGIN(0x265, "GXSetCoPlanar"); - - SET_REG_FIELD(0x267, gx->genMode, 1, 19, enable); - reg = 0xFE080000; - GX_WRITE_RAS_REG(reg); - GX_WRITE_RAS_REG(gx->genMode); -} - -void __GXSetGenMode(void) -{ - GX_WRITE_RAS_REG(gx->genMode); - gx->bpSentNot = 0; -} diff --git a/src/dolphin/gx/GXInit.c b/src/dolphin/gx/GXInit.c deleted file mode 100644 index e6774ba7..00000000 --- a/src/dolphin/gx/GXInit.c +++ /dev/null @@ -1,356 +0,0 @@ -#include - -#include -#include -#include -#include - -#include - -void __GXInitGX(); - -static struct __GXData_struct gxData; -struct __GXData_struct *gx = &gxData; -// DWARF info lists all of these as "void *", but these types make more sense. -u16 *__memReg; -u16 *__peReg; -u16 *__cpReg; -u32 *__piReg; - -// clang-format off -asm BOOL IsWriteGatherBufferEmpty(void) -{ - sync - mfspr r3, WPAR - andi. r3, r3, 1 -} -// clang-format on - -static void EnableWriteGatherPipe(void) -{ - u32 hid2 = PPCMfhid2(); - - PPCMtwpar(OSUncachedToPhysical((void *)GXFIFO_ADDR)); - hid2 |= 0x40000000; - PPCMthid2(hid2); -} - -static void DisableWriteGatherPipe(void) -{ - u32 hid2 = PPCMfhid2(); - - hid2 &= ~0x40000000; - PPCMthid2(hid2); -} - -static GXTexRegion *__GXDefaultTexRegionCallback(GXTexObj *t_obj, GXTexMapID unused) -{ - GXTexFmt fmt = GXGetTexObjFmt(t_obj); - - if (fmt != GX_TF_C4 && fmt != GX_TF_C8 && fmt != GX_TF_C14X2) { - return &gx->TexRegions[gx->nextTexRgn++ & 7]; - } - else { - return &gx->TexRegionsCI[gx->nextTexRgnCI++ & 3]; - } -} - -static GXTlutRegion *__GXDefaultTlutRegionCallback(u32 idx) -{ - if (idx >= 0x14U) { - return NULL; - } - return &gx->TlutRegions[idx]; -} - -GXFifoObj FifoObj; - -GXFifoObj* GXInit(void* base, u32 size) -{ - u32 i; - u32 reg; - u32 freqBase; - char stack_padding[8]; - - gx->inDispList = FALSE; - gx->dlSaveContext = TRUE; - - gx->tcsManEnab = FALSE; - gx->tevTcEnab = 0; - GXSetMisc(GX_MT_XF_FLUSH, 0); - __piReg = OSPhysicalToUncached(0xC003000); - __cpReg = OSPhysicalToUncached(0xC000000); - __peReg = OSPhysicalToUncached(0xC001000); - __memReg = OSPhysicalToUncached(0xC004000); - __GXFifoInit(); - GXInitFifoBase(&FifoObj, base, size); - GXSetCPUFifo(&FifoObj); - GXSetGPFifo(&FifoObj); - __GXPEInit(); - EnableWriteGatherPipe(); - - gx->genMode = 0; - SET_REG_FIELD(0, gx->genMode, 8, 24, 0); - gx->bpMask = 255; - SET_REG_FIELD(0, gx->bpMask, 8, 24, 0x0F); - gx->lpSize = 0; - SET_REG_FIELD(0, gx->lpSize, 8, 24, 0x22); - for (i = 0; i < 16; ++i) { - gx->tevc[i] = 0; - gx->teva[i] = 0; - gx->tref[i / 2] = 0; - gx->texmapId[i] = GX_TEXMAP_NULL; - SET_REG_FIELD(0x2F2, gx->tevc[i], 8, 24, 0xC0 + i * 2); - SET_REG_FIELD(0x2F3, gx->teva[i], 8, 24, 0xC1 + i * 2); - SET_REG_FIELD(0x2F5, gx->tevKsel[i / 2], 8, 24, 0xF6 + i / 2); - SET_REG_FIELD(0x2F7, gx->tref[i / 2], 8, 24, 0x28 + i / 2); - } - gx->iref = 0; - SET_REG_FIELD(0, gx->iref, 8, 24, 0x27); - for (i = 0; i < 8; ++i) { - gx->suTs0[i] = 0; - gx->suTs1[i] = 0; - SET_REG_FIELD(0x300, gx->suTs0[i], 8, 24, 0x30 + i * 2); - SET_REG_FIELD(0x301, gx->suTs1[i], 8, 24, 0x31 + i * 2); - } - SET_REG_FIELD(0, gx->suScis0, 8, 24, 0x20); - SET_REG_FIELD(0, gx->suScis1, 8, 24, 0x21); - SET_REG_FIELD(0, gx->cmode0, 8, 24, 0x41); - SET_REG_FIELD(0, gx->cmode1, 8, 24, 0x42); - SET_REG_FIELD(0, gx->zmode, 8, 24, 0x40); - SET_REG_FIELD(0, gx->peCtrl, 8, 24, 0x43); - SET_REG_FIELD(0, gx->cpTex, 2, 7, 0); - gx->dirtyState = 0; - gx->dirtyVAT = FALSE; - - freqBase = __OSBusClock / 500; - __GXFlushTextureState(); - reg = (freqBase >> 11) | 0x400 | 0x69000000; - GX_WRITE_RAS_REG(reg); - - __GXFlushTextureState(); - reg = (freqBase / 0x1080) | 0x200 | 0x46000000; - GX_WRITE_RAS_REG(reg); - - for (i = GX_VTXFMT0; i < GX_MAX_VTXFMT; i++) { - SET_REG_FIELD(0, gx->vatA[i], 1, 30, 1); - SET_REG_FIELD(0, gx->vatB[i], 1, 31, 1); - do { - s32 regAddr; - GX_WRITE_U8(GX_LOAD_CP_REG); - GX_WRITE_U8(i | 0x80); - GX_WRITE_U32(gx->vatB[i]); - regAddr = i - 12; - } while (0); - } - { - u32 reg1 = 0; - u32 reg2 = 0; - SET_REG_FIELD(0, reg1, 1, 0, 1); - SET_REG_FIELD(0, reg1, 1, 1, 1); - SET_REG_FIELD(0, reg1, 1, 2, 1); - SET_REG_FIELD(0, reg1, 1, 3, 1); - SET_REG_FIELD(0, reg1, 1, 4, 1); - SET_REG_FIELD(0, reg1, 1, 5, 1); - GX_WRITE_XF_REG(0, reg1); - SET_REG_FIELD(0, reg2, 1, 0, 1); - GX_WRITE_XF_REG(0x12, reg2); - } - { - u32 reg = 0; - SET_REG_FIELD(0, reg, 1, 0, 1); - SET_REG_FIELD(0, reg, 1, 1, 1); - SET_REG_FIELD(0, reg, 1, 2, 1); - SET_REG_FIELD(0, reg, 1, 3, 1); - SET_REG_FIELD(0, reg, 8, 24, 0x58); - GX_WRITE_RAS_REG(reg); - } - for (i = 0; i < 8; i++) - GXInitTexCacheRegion(&gx->TexRegions[i], 0, i * 0x8000, 0, - 0x80000 + i * 0x8000, 0); - for (i = 0; i < 4; i++) - GXInitTexCacheRegion(&gx->TexRegionsCI[i], 0, (i * 2 + 8) * 0x8000, 0, - (i * 2 + 9) * 0x8000, 0); - for (i = 0; i < 16; i++) - GXInitTlutRegion(&gx->TlutRegions[i], 0xC0000 + i * 0x2000, 16); - for (i = 0; i < 4; i++) - GXInitTlutRegion(&gx->TlutRegions[i + 16], 0xE0000 + i * 0x8000, 64); - __cpReg[3] = 0; - - { - SET_REG_FIELD(0, gx->perfSel, 4, 4, 0); - GX_WRITE_U8(GX_LOAD_CP_REG); - GX_WRITE_U8(0x20); - GX_WRITE_U32(gx->perfSel); - GX_WRITE_U8(GX_LOAD_XF_REG); - GX_WRITE_U32(0x1006); - GX_WRITE_U32(0); - GX_WRITE_RAS_REG(0x23000000); - GX_WRITE_RAS_REG(0x24000000); - GX_WRITE_RAS_REG(0x67000000); - } - - __GXSetTmemConfig(0); - __GXInitGX(); - return &FifoObj; -} - -void __GXInitGX() -{ - GXRenderModeObj *rmode; - GXAttr var_r30; - f32 identity_mtx[3][4]; - GXColor clear = { 64, 64, 64, 255 }; - GXColor black = { 0, 0, 0, 0 }; - GXColor white = { 255, 255, 255, 255 }; - u32 i; - - switch (VIGetTvFormat()) { - case 0: - rmode = &GXNtsc480IntDf; - break; - case 1: - rmode = &GXPal528IntDf; - break; - case 5: - rmode = &GXEurgb60Hz480IntDf; - break; - case 2: - rmode = &GXMpal480IntDf; - break; - default: - rmode = &GXNtsc480IntDf; - break; - } - - GXSetCopyClear(clear, 0xFFFFFF); - GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3CU); - GXSetTexCoordGen(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEX1, 0x3CU); - GXSetTexCoordGen(GX_TEXCOORD2, GX_TG_MTX2x4, GX_TG_TEX2, 0x3CU); - GXSetTexCoordGen(GX_TEXCOORD3, GX_TG_MTX2x4, GX_TG_TEX3, 0x3CU); - GXSetTexCoordGen(GX_TEXCOORD4, GX_TG_MTX2x4, GX_TG_TEX4, 0x3CU); - GXSetTexCoordGen(GX_TEXCOORD5, GX_TG_MTX2x4, GX_TG_TEX5, 0x3CU); - GXSetTexCoordGen(GX_TEXCOORD6, GX_TG_MTX2x4, GX_TG_TEX6, 0x3CU); - GXSetTexCoordGen(GX_TEXCOORD7, GX_TG_MTX2x4, GX_TG_TEX7, 0x3CU); - GXSetNumTexGens(1); - GXClearVtxDesc(); - GXInvalidateVtxCache(); - for (var_r30 = GX_VA_POS; (u32)var_r30 <= 0x18; var_r30++) { - GXSetArray(var_r30, gx, 0); - } - GXSetLineWidth(6, 0); - GXSetPointSize(6, 0); - GXEnableTexOffsets(0, 0, 0); - GXEnableTexOffsets(1, 0, 0); - GXEnableTexOffsets(2, 0, 0); - GXEnableTexOffsets(3, 0, 0); - GXEnableTexOffsets(4, 0, 0); - GXEnableTexOffsets(5, 0, 0); - GXEnableTexOffsets(6, 0, 0); - GXEnableTexOffsets(7, 0, 0); - identity_mtx[0][0] = 1.0f; - identity_mtx[0][1] = 0.0f; - identity_mtx[0][2] = 0.0f; - identity_mtx[0][3] = 0.0f; - identity_mtx[1][0] = 0.0f; - identity_mtx[1][1] = 1.0f; - identity_mtx[1][2] = 0.0f; - identity_mtx[1][3] = 0.0f; - identity_mtx[2][0] = 0.0f; - identity_mtx[2][1] = 0.0f; - identity_mtx[2][2] = 1.0f; - identity_mtx[2][3] = 0.0f; - GXLoadPosMtxImm(identity_mtx, GX_PNMTX0); - GXLoadNrmMtxImm(identity_mtx, GX_PNMTX0); - GXSetCurrentMtx(GX_PNMTX0); - GXLoadTexMtxImm(identity_mtx, GX_IDENTITY, GX_MTX3x4); - GXLoadTexMtxImm(identity_mtx, GX_PTIDENTITY, GX_MTX3x4); - GXSetViewport(0.0f, 0.0f, rmode->fbWidth, rmode->xfbHeight, 0.0f, 1.0f); - GXSetCoPlanar(GX_DISABLE); - GXSetCullMode(GX_CULL_BACK); - GXSetClipMode(GX_CLIP_ENABLE); - GXSetScissor(0, 0, rmode->fbWidth, rmode->efbHeight); - GXSetScissorBoxOffset(0, 0); - GXSetNumChans(0); - GXSetChanCtrl(GX_COLOR0A0, GX_DISABLE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_NONE, GX_AF_NONE); - GXSetChanAmbColor(GX_COLOR0A0, black); - GXSetChanMatColor(GX_COLOR0A0, white); - GXSetChanCtrl(GX_COLOR1A1, GX_DISABLE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_NONE, GX_AF_NONE); - GXSetChanAmbColor(GX_COLOR1A1, black); - GXSetChanMatColor(GX_COLOR1A1, white); - GXInvalidateTexAll(); - gx->nextTexRgnCI = gx->nextTexRgn = i = GX_TEVSTAGE0; - GXSetTexRegionCallback((void *)__GXDefaultTexRegionCallback); - GXSetTlutRegionCallback(__GXDefaultTlutRegionCallback); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR0A0); - GXSetTevOrder(GX_TEVSTAGE2, GX_TEXCOORD2, GX_TEXMAP2, GX_COLOR0A0); - GXSetTevOrder(GX_TEVSTAGE3, GX_TEXCOORD3, GX_TEXMAP3, GX_COLOR0A0); - GXSetTevOrder(GX_TEVSTAGE4, GX_TEXCOORD4, GX_TEXMAP4, GX_COLOR0A0); - GXSetTevOrder(GX_TEVSTAGE5, GX_TEXCOORD5, GX_TEXMAP5, GX_COLOR0A0); - GXSetTevOrder(GX_TEVSTAGE6, GX_TEXCOORD6, GX_TEXMAP6, GX_COLOR0A0); - GXSetTevOrder(GX_TEVSTAGE7, GX_TEXCOORD7, GX_TEXMAP7, GX_COLOR0A0); - GXSetTevOrder(GX_TEVSTAGE8, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL); - GXSetTevOrder(GX_TEVSTAGE9, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL); - GXSetTevOrder(GX_TEVSTAGE10, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL); - GXSetTevOrder(GX_TEVSTAGE11, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL); - GXSetTevOrder(GX_TEVSTAGE12, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL); - GXSetTevOrder(GX_TEVSTAGE13, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL); - GXSetTevOrder(GX_TEVSTAGE14, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL); - GXSetTevOrder(GX_TEVSTAGE15, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL); - - GXSetNumTevStages(1); - GXSetTevOp(GX_TEVSTAGE0, GX_REPLACE); - GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0); - GXSetZTexture(GX_ZT_DISABLE, GX_TF_Z8, 0); - for (; i < GX_MAX_TEVSTAGE; i++) { - GXSetTevKColorSel((GXTevStageID)i, GX_TEV_KCSEL_1_4); - GXSetTevKAlphaSel((GXTevStageID)i, GX_TEV_KASEL_1); - GXSetTevSwapMode((GXTevStageID)i, GX_TEV_SWAP0, GX_TEV_SWAP0); - } - GXSetTevSwapModeTable(GX_TEV_SWAP0, GX_CH_RED, GX_CH_GREEN, GX_CH_BLUE, GX_CH_ALPHA); - GXSetTevSwapModeTable(GX_TEV_SWAP1, GX_CH_RED, GX_CH_RED, GX_CH_RED, GX_CH_ALPHA); - GXSetTevSwapModeTable(GX_TEV_SWAP2, GX_CH_GREEN, GX_CH_GREEN, GX_CH_GREEN, GX_CH_ALPHA); - GXSetTevSwapModeTable(GX_TEV_SWAP3, GX_CH_BLUE, GX_CH_BLUE, GX_CH_BLUE, GX_CH_ALPHA); - - for (i = GX_TEVSTAGE0; i < GX_MAX_TEVSTAGE; i++) - GXSetTevDirect((GXTevStageID)i); - GXSetNumIndStages(0); - GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); - GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1); - GXSetIndTexCoordScale(GX_INDTEXSTAGE2, GX_ITS_1, GX_ITS_1); - GXSetIndTexCoordScale(GX_INDTEXSTAGE3, GX_ITS_1, GX_ITS_1); - - GXSetFog(GX_FOG_NONE, 0.0f, 1.0f, 0.1f, 1.0f, black); - GXSetFogRangeAdj(GX_DISABLE, 0, 0); - GXSetBlendMode(GX_BM_NONE, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR); - GXSetColorUpdate(GX_ENABLE); - GXSetAlphaUpdate(GX_ENABLE); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - GXSetZCompLoc(GX_TRUE); - GXSetDither(GX_ENABLE); - GXSetDstAlpha(GX_DISABLE, 0); - GXSetPixelFmt(GX_PF_RGB8_Z24, GX_ZC_LINEAR); - GXSetFieldMask(GX_ENABLE, GX_ENABLE); - GXSetFieldMode(rmode->field_rendering, ((rmode->viHeight == 2 * rmode->xfbHeight) ? GX_ENABLE : GX_DISABLE)); - - GXSetDispCopySrc(0, 0, rmode->fbWidth, rmode->efbHeight); - GXSetDispCopyDst(rmode->fbWidth, rmode->efbHeight); - GXSetDispCopyYScale((f32)(rmode->xfbHeight) / (f32)(rmode->efbHeight)); - GXSetCopyClamp((GXFBClamp)(GX_CLAMP_TOP | GX_CLAMP_BOTTOM)); - GXSetCopyFilter(rmode->aa, rmode->sample_pattern, GX_TRUE, rmode->vfilter); - GXSetDispCopyGamma(GX_GM_1_0); - GXSetDispCopyFrame2Field(GX_COPY_PROGRESSIVE); - GXClearBoundingBox(); - - GXPokeColorUpdate(GX_TRUE); - GXPokeAlphaUpdate(GX_TRUE); - GXPokeDither(GX_FALSE); - GXPokeBlendMode(GX_BM_NONE, GX_BL_ZERO, GX_BL_ONE, GX_LO_SET); - GXPokeAlphaMode(GX_ALWAYS, 0); - GXPokeAlphaRead(GX_READ_FF); - GXPokeDstAlpha(GX_DISABLE, 0); - GXPokeZMode(GX_TRUE, GX_ALWAYS, GX_TRUE); - GXSetGPMetric(GX_PERF0_NONE, GX_PERF1_NONE); - GXClearGPMetric(); -} diff --git a/src/dolphin/gx/GXLight.c b/src/dolphin/gx/GXLight.c deleted file mode 100644 index a084fd84..00000000 --- a/src/dolphin/gx/GXLight.c +++ /dev/null @@ -1,620 +0,0 @@ -#include -#include - -#include - -float cosf(float x); -inline float sqrtf(float x) -{ - static const double _half = .5; - static const double _three = 3.0; - volatile float y; - if (x > 0.0f) - { - double guess = __frsqrte((double)x); // returns an approximation to - guess = _half*guess*(_three - guess*guess*x); // now have 12 sig bits - guess = _half*guess*(_three - guess*guess*x); // now have 24 sig bits - guess = _half*guess*(_three - guess*guess*x); // now have 32 sig bits - y = (float)(x*guess); - return y ; - } - return x; -} - -// GXLightObj private data -struct __GXLightObjInt_struct { - u32 reserved[3]; - u32 Color; - f32 a[3]; - f32 k[3]; - f32 lpos[3]; - f32 ldir[3]; -}; - -void GXInitLightAttn(GXLightObj *lt_obj, f32 a0, f32 a1, f32 a2, f32 k0, f32 k1, f32 k2) -{ - struct __GXLightObjInt_struct *obj; - - ASSERTMSGLINE(0x62, lt_obj != NULL, "Light Object Pointer is null"); - obj = (struct __GXLightObjInt_struct *)lt_obj; - CHECK_GXBEGIN(0x63, "GXInitLightAttn"); - obj->a[0] = a0; - obj->a[1] = a1; - obj->a[2] = a2; - obj->k[0] = k0; - obj->k[1] = k1; - obj->k[2] = k2; -} - -void GXInitLightAttnA(GXLightObj *lt_obj, f32 a0, f32 a1, f32 a2) -{ - struct __GXLightObjInt_struct *obj; - - ASSERTMSGLINE(0x70, lt_obj != NULL, "Light Object Pointer is null"); - obj = (struct __GXLightObjInt_struct *)lt_obj; - CHECK_GXBEGIN(0x71, "GXInitLightAttnA"); - obj->a[0] = a0; - obj->a[1] = a1; - obj->a[2] = a2; -} - -void GXGetLightAttnA(GXLightObj *lt_obj, f32 *a0, f32 *a1, f32 *a2) -{ - struct __GXLightObjInt_struct *obj; - - ASSERTMSGLINE(0x7A, lt_obj != NULL, "Light Object Pointer is null"); - obj = (struct __GXLightObjInt_struct *)lt_obj; - CHECK_GXBEGIN(0x7B, "GXGetLightAttnA"); - *a0 = obj->a[0]; - *a1 = obj->a[1]; - *a2 = obj->a[2]; -} - -void GXInitLightAttnK(GXLightObj *lt_obj, f32 k0, f32 k1, f32 k2) -{ - struct __GXLightObjInt_struct *obj; - - ASSERTMSGLINE(0x84, lt_obj != NULL, "Light Object Pointer is null"); - obj = (struct __GXLightObjInt_struct *)lt_obj; - CHECK_GXBEGIN(0x85, "GXInitLightAttnK"); - obj->k[0] = k0; - obj->k[1] = k1; - obj->k[2] = k2; -} - -void GXGetLightAttnK(GXLightObj *lt_obj, f32 *k0, f32 *k1, f32 *k2) -{ - struct __GXLightObjInt_struct *obj; - - ASSERTMSGLINE(0x8E, lt_obj != NULL, "Light Object Pointer is null"); - obj = (struct __GXLightObjInt_struct *)lt_obj; - CHECK_GXBEGIN(0x8F, "GXGetLightAttnK"); - *k0 = obj->k[0]; - *k1 = obj->k[1]; - *k2 = obj->k[2]; -} - -void GXInitLightSpot(GXLightObj *lt_obj, f32 cutoff, GXSpotFn spot_func) -{ - float a0, a1, a2; - float d; - float cr; - struct __GXLightObjInt_struct *obj; - - ASSERTMSGLINE(0xA7, lt_obj != NULL, "Light Object Pointer is null"); - obj = (struct __GXLightObjInt_struct *)lt_obj; - CHECK_GXBEGIN(0xA9, "GXInitLightSpot"); - - if (cutoff <= 0.0f || cutoff > 90.0f) - spot_func = GX_SP_OFF; - - cr = cosf((3.1415927f * cutoff) / 180.0f); - switch (spot_func) { - case GX_SP_FLAT: - a0 = -1000.0f * cr; - a1 = 1000.0f; - a2 = 0.0f; - break; - case GX_SP_COS: - a0 = -cr / (1.0f - cr); - a1 = 1.0f / (1.0f - cr); - a2 = 0.0f; - break; - case GX_SP_COS2: - a0 = 0.0f; - a1 = -cr / (1.0f - cr); - a2 = 1.0f / (1.0f - cr); - break; - case GX_SP_SHARP: - d = (1.0f - cr) * (1.0f - cr); - a0 = (cr * (cr - 2.0f)) / d; - a1 = 2.0f / d; - a2 = -1.0f / d; - break; - case GX_SP_RING1: - d = (1.0f - cr) * (1.0f - cr); - a0 = (-4.0f * cr) / d; - a1 = (4.0f * (1.0f + cr)) / d; - a2 = -4.0f / d; - break; - case GX_SP_RING2: - d = (1.0f - cr) * (1.0f - cr); - a0 = 1.0f - ((2.0f * cr * cr) / d); - a1 = (4.0f * cr) / d; - a2 = -2.0f / d; - break; - case GX_SP_OFF: - default: - a0 = 1.0f; - a1 = 0.0f; - a2 = 0.0f; - break; - } - obj->a[0] = a0; - obj->a[1] = a1; - obj->a[2] = a2; -} - -void GXInitLightDistAttn(GXLightObj *lt_obj, f32 ref_dist, f32 ref_br, GXDistAttnFn dist_func) -{ - f32 k0, k1, k2; - struct __GXLightObjInt_struct *obj; - - ASSERTMSGLINE(0xF2, lt_obj != NULL, "Light Object Pointer is null"); - obj = (struct __GXLightObjInt_struct *)lt_obj; - CHECK_GXBEGIN(0xF4, "GXInitLightDistAttn"); - - if (ref_dist < 0.0f) - dist_func = GX_DA_OFF; - if (ref_br <= 0.0f || ref_br >= 1.0f) - dist_func = GX_DA_OFF; - - switch (dist_func) { - case GX_DA_GENTLE: - k0 = 1.0f; - k1 = (1.0f - ref_br) / (ref_br * ref_dist); - k2 = 0.0f; - break; - case GX_DA_MEDIUM: - k0 = 1.0f; - k1 = (0.5f * (1.0f - ref_br)) / (ref_br * ref_dist); - k2 = (0.5f * (1.0f - ref_br)) / (ref_br * ref_dist * ref_dist); - break; - case GX_DA_STEEP: - k0 = 1.0f; - k1 = 0.0f; - k2 = (1.0f - ref_br) / (ref_br * ref_dist * ref_dist); - break; - case GX_DA_OFF: - default: - k0 = 1.0f; - k1 = 0.0f; - k2 = 0.0f; - break; - } - - obj->k[0] = k0; - obj->k[1] = k1; - obj->k[2] = k2; -} - -void GXInitLightPos(GXLightObj *lt_obj, f32 x, f32 y, f32 z) -{ - struct __GXLightObjInt_struct *obj; - - ASSERTMSGLINE(0x129, lt_obj != NULL, "Light Object Pointer is null"); - obj = (struct __GXLightObjInt_struct *)lt_obj; - CHECK_GXBEGIN(0x12B, "GXInitLightPos"); - - obj->lpos[0] = x; - obj->lpos[1] = y; - obj->lpos[2] = z; -} - -void GXGetLightPos(const GXLightObj *lt_obj, f32 *x, f32 *y, f32 *z) -{ - struct __GXLightObjInt_struct *obj; - - ASSERTMSGLINE(0x134, lt_obj != NULL, "Light Object Pointer is null"); - obj = (struct __GXLightObjInt_struct *)lt_obj; - CHECK_GXBEGIN(0x136, "GXGetLightPos"); - - *x = obj->lpos[0]; - *y = obj->lpos[1]; - *z = obj->lpos[2]; -} - -void GXInitLightDir(GXLightObj *lt_obj, f32 nx, f32 ny, f32 nz) -{ - struct __GXLightObjInt_struct *obj; - - ASSERTMSGLINE(0x149, lt_obj != NULL, "Light Object Pointer is null"); - obj = (struct __GXLightObjInt_struct *)lt_obj; - - obj->ldir[0] = -nx; - obj->ldir[1] = -ny; - obj->ldir[2] = -nz; -} - -void GXGetLightDir(GXLightObj *lt_obj, f32 *nx, f32 *ny, f32 *nz) -{ - struct __GXLightObjInt_struct *obj; - - ASSERTMSGLINE(0x155, lt_obj != NULL, "Light Object Pointer is null"); - obj = (struct __GXLightObjInt_struct *)lt_obj; - - *nx = -obj->ldir[0]; - *ny = -obj->ldir[1]; - *nz = -obj->ldir[2]; -} - -void GXInitSpecularDir(GXLightObj *lt_obj, f32 nx, f32 ny, f32 nz) -{ - float mag; - float vx; - float vy; - float vz; - struct __GXLightObjInt_struct *obj; - - ASSERTMSGLINE(0x16F, lt_obj != NULL, "Light Object Pointer is null"); - obj = (struct __GXLightObjInt_struct *)lt_obj; - CHECK_GXBEGIN(0x170, "GXInitSpecularDir"); - - vx = -nx; - vy = -ny; - vz = -nz + 1.0f; - mag = 1.0f / sqrtf((vx * vx) + (vy * vy) + (vz * vz)); - obj->ldir[0] = vx * mag; - obj->ldir[1] = vy * mag; - obj->ldir[2] = vz * mag; - obj->lpos[0] = -nx * 1048576.0f; - obj->lpos[1] = -ny * 1048576.0f; - obj->lpos[2] = -nz * 1048576.0f; -} - -void GXInitSpecularDirHA(GXLightObj *lt_obj, f32 nx, f32 ny, f32 nz, f32 hx, f32 hy, f32 hz) -{ - struct __GXLightObjInt_struct *obj; - - ASSERTMSGLINE(0x18E, lt_obj != NULL, "Light Object Pointer is null"); - obj = (struct __GXLightObjInt_struct *)lt_obj; - CHECK_GXBEGIN(0x18F, "GXInitSpecularHA"); - - obj->ldir[0] = hx; - obj->ldir[1] = hy; - obj->ldir[2] = hz; - obj->lpos[0] = -nx * 1048576.0f; - obj->lpos[1] = -ny * 1048576.0f; - obj->lpos[2] = -nz * 1048576.0f; -} - -void GXInitLightColor(GXLightObj *lt_obj, GXColor color) -{ - struct __GXLightObjInt_struct *obj; - - ASSERTMSGLINE(0x1A8, lt_obj != NULL, "Light Object Pointer is null"); - obj = (struct __GXLightObjInt_struct *)lt_obj; - CHECK_GXBEGIN(0x1A9, "GXInitLightColor"); - - obj->Color = (color.r << 24) | (color.g << 16) | (color.b << 8) | color.a; -} - -void GXGetLightColor(const GXLightObj *lt_obj, GXColor *color) -{ - struct __GXLightObjInt_struct *obj; - - ASSERTMSGLINE(0x1B2, lt_obj != NULL, "Light Object Pointer is null"); - obj = (struct __GXLightObjInt_struct *)lt_obj; - CHECK_GXBEGIN(0x1B3, "GXGetLightColor"); - - color->r = (obj->Color >> 24) & 0xFF; - color->g = (obj->Color >> 16) & 0xFF; - color->b = (obj->Color >> 8) & 0xFF; - color->a = obj->Color & 0xFF; -} - -#if DEBUG -#define WRITE_SOME_LIGHT_REG1(val, addr) \ - do { \ - u32 xfData = val; \ - GX_WRITE_U32(val); \ - VERIF_MTXLIGHT(addr, xfData); \ - } while (0) - -#define WRITE_SOME_LIGHT_REG2(val, addr) \ - do { \ - f32 xfData = val; \ - GX_WRITE_F32(val); \ - VERIF_MTXLIGHT(addr, *(u32 *)&xfData); \ - } while (0) -#else -#define WRITE_SOME_LIGHT_REG1(val, addr) GX_WRITE_U32(val) -#define WRITE_SOME_LIGHT_REG2(val, addr) GX_WRITE_F32(val) -#endif - -void GXLoadLightObjImm(GXLightObj *lt_obj, GXLightID light) -{ - unsigned long addr; - unsigned long idx; - struct __GXLightObjInt_struct *obj; - - ASSERTMSGLINE(0x1C9, lt_obj != NULL, "Light Object Pointer is null"); - obj = (struct __GXLightObjInt_struct *)lt_obj; - CHECK_GXBEGIN(0x1CA, "GXLoadLightObjImm"); - - switch (light) { - case GX_LIGHT0: - idx = 0; - break; - case GX_LIGHT1: - idx = 1; - break; - case GX_LIGHT2: - idx = 2; - break; - case GX_LIGHT3: - idx = 3; - break; - case GX_LIGHT4: - idx = 4; - break; - case GX_LIGHT5: - idx = 5; - break; - case GX_LIGHT6: - idx = 6; - break; - case GX_LIGHT7: - idx = 7; - break; - default: - idx = 0; - ASSERTMSGLINE(0x1DA, 0, "GXLoadLightStateImm: Invalid Light Id"); - break; - } - - addr = idx * 0x10 + 0x600; - GX_WRITE_U8(0x10); - GX_WRITE_U32(addr | 0xF0000); - - WRITE_SOME_LIGHT_REG1(0, addr); - WRITE_SOME_LIGHT_REG1(0, addr + 1); - WRITE_SOME_LIGHT_REG1(0, addr + 2); - WRITE_SOME_LIGHT_REG1(obj->Color, addr + 3); - WRITE_SOME_LIGHT_REG2(obj->a[0], addr + 4); - WRITE_SOME_LIGHT_REG2(obj->a[1], addr + 5); - WRITE_SOME_LIGHT_REG2(obj->a[2], addr + 6); - WRITE_SOME_LIGHT_REG2(obj->k[0], addr + 7); - WRITE_SOME_LIGHT_REG2(obj->k[1], addr + 8); - WRITE_SOME_LIGHT_REG2(obj->k[2], addr + 9); - WRITE_SOME_LIGHT_REG2(obj->lpos[0], addr + 10); - WRITE_SOME_LIGHT_REG2(obj->lpos[1], addr + 11); - WRITE_SOME_LIGHT_REG2(obj->lpos[2], addr + 12); - WRITE_SOME_LIGHT_REG2(obj->ldir[0], addr + 13); - WRITE_SOME_LIGHT_REG2(obj->ldir[1], addr + 14); - WRITE_SOME_LIGHT_REG2(obj->ldir[2], addr + 15); - - gx->bpSentNot = 1; -} - -void GXLoadLightObjIndx(u32 lt_obj_indx, GXLightID light) -{ - unsigned long reg; - unsigned long addr; - unsigned long idx; - - CHECK_GXBEGIN(0x209, "GXLoadLightObjIndx"); - - switch (light) { - case GX_LIGHT0: - idx = 0; - break; - case GX_LIGHT1: - idx = 1; - break; - case GX_LIGHT2: - idx = 2; - break; - case GX_LIGHT3: - idx = 3; - break; - case GX_LIGHT4: - idx = 4; - break; - case GX_LIGHT5: - idx = 5; - break; - case GX_LIGHT6: - idx = 6; - break; - case GX_LIGHT7: - idx = 7; - break; - default: - idx = 0; - ASSERTMSGLINE(0x216, 0, "GXLoadLightObjIndx: Invalid Light Id"); - break; - } - - addr = idx * 0x10 + 0x600; - reg = 0; - SET_REG_FIELD(0x21C, reg, 12, 0, addr); - SET_REG_FIELD(0x21D, reg, 4, 12, 0xF); - SET_REG_FIELD(0x21E, reg, 16, 16, lt_obj_indx); - GX_WRITE_U8(0x38); - GX_WRITE_U32(reg); -#if DEBUG - __GXShadowIndexState(7, reg); -#endif - gx->bpSentNot = 1; -} - -void GXSetChanAmbColor(GXChannelID chan, GXColor amb_color) -{ - u32 reg = 0; - u32 colIdx; - u32 alpha; - - CHECK_GXBEGIN(0x239, "GXSetChanAmbColor"); - - switch (chan) { - case GX_COLOR0: - alpha = gx->ambColor[0] & 0xFF; - SET_REG_FIELD(0x23E, reg, 8, 0, alpha); - SET_REG_FIELD(0x23F, reg, 8, 8, amb_color.b); - SET_REG_FIELD(0x240, reg, 8, 16, amb_color.g); - SET_REG_FIELD(0x241, reg, 8, 24, amb_color.r); - colIdx = 0; - break; - case GX_COLOR1: - alpha = gx->ambColor[1] & 0xFF; - SET_REG_FIELD(0x247, reg, 8, 0, alpha); - SET_REG_FIELD(0x248, reg, 8, 8, amb_color.b); - SET_REG_FIELD(0x249, reg, 8, 16, amb_color.g); - SET_REG_FIELD(0x24A, reg, 8, 24, amb_color.r); - colIdx = 1; - break; - case GX_ALPHA0: - reg = gx->ambColor[0]; - SET_REG_FIELD(0x250, reg, 8, 0, amb_color.a); - colIdx = 0; - break; - case GX_ALPHA1: - reg = gx->ambColor[1]; - SET_REG_FIELD(0x256, reg, 8, 0, amb_color.a); - colIdx = 1; - break; - case GX_COLOR0A0: - SET_REG_FIELD(0x25B, reg, 8, 0, amb_color.a); - SET_REG_FIELD(0x25C, reg, 8, 8, amb_color.b); - SET_REG_FIELD(0x25D, reg, 8, 16, amb_color.g); - SET_REG_FIELD(0x25E, reg, 8, 24, amb_color.r); - colIdx = 0; - break; - case GX_COLOR1A1: - SET_REG_FIELD(0x263, reg, 8, 0, amb_color.a); - SET_REG_FIELD(0x264, reg, 8, 8, amb_color.b); - SET_REG_FIELD(0x265, reg, 8, 16, amb_color.g); - SET_REG_FIELD(0x266, reg, 8, 24, amb_color.r); - colIdx = 1; - break; - default: - ASSERTMSGLINE(0x26B, 0, "GXSetChanAmbColor: Invalid Channel Id"); - return; - } - - GX_WRITE_XF_REG(colIdx + 10, reg); - gx->bpSentNot = 1; - gx->ambColor[colIdx] = reg; -} - -void GXSetChanMatColor(GXChannelID chan, GXColor mat_color) -{ - u32 reg = 0; - u32 alpha; - u32 colIdx; - - CHECK_GXBEGIN(0x28A, "GXSetChanMatColor"); - - switch (chan) { - case GX_COLOR0: - alpha = gx->matColor[0] & 0xFF; - SET_REG_FIELD(0x28F, reg, 8, 0, alpha); - SET_REG_FIELD(0x290, reg, 8, 8, mat_color.b); - SET_REG_FIELD(0x291, reg, 8, 16, mat_color.g); - SET_REG_FIELD(0x292, reg, 8, 24, mat_color.r); - colIdx = 0; - break; - case GX_COLOR1: - alpha = gx->matColor[1] & 0xFF; - SET_REG_FIELD(0x298, reg, 8, 0, alpha); - SET_REG_FIELD(0x299, reg, 8, 8, mat_color.b); - SET_REG_FIELD(0x29A, reg, 8, 16, mat_color.g); - SET_REG_FIELD(0x29B, reg, 8, 24, mat_color.r); - colIdx = 1; - break; - case GX_ALPHA0: - reg = gx->matColor[0]; - SET_REG_FIELD(0x2A1, reg, 8, 0, mat_color.a); - colIdx = 0; - break; - case GX_ALPHA1: - reg = gx->matColor[1]; - SET_REG_FIELD(0x2A7, reg, 8, 0, mat_color.a); - colIdx = 1; - break; - case GX_COLOR0A0: - SET_REG_FIELD(0x2AC, reg, 8, 0, mat_color.a); - SET_REG_FIELD(0x2AD, reg, 8, 8, mat_color.b); - SET_REG_FIELD(0x2AE, reg, 8, 16, mat_color.g); - SET_REG_FIELD(0x2AF, reg, 8, 24, mat_color.r); - colIdx = 0; - break; - case GX_COLOR1A1: - SET_REG_FIELD(0x2B4, reg, 8, 0, mat_color.a); - SET_REG_FIELD(0x2B5, reg, 8, 8, mat_color.b); - SET_REG_FIELD(0x2B6, reg, 8, 16, mat_color.g); - SET_REG_FIELD(0x2B7, reg, 8, 24, mat_color.r); - colIdx = 1; - break; - default: - ASSERTMSGLINE(0x2BC, 0, "GXSetChanMatColor: Invalid Channel Id"); - return; - } - - GX_WRITE_XF_REG(colIdx + 12, reg); - gx->bpSentNot = 1; - gx->matColor[colIdx] = reg; -} - -void GXSetNumChans(u8 nChans) -{ - CHECK_GXBEGIN(0x2D5, "GXSetNumChans"); - ASSERTMSGLINE(0x2D6, nChans <= 2, "GXSetNumChans: nChans > 2"); - - SET_REG_FIELD(0x2D8, gx->genMode, 3, 4, nChans); - GX_WRITE_XF_REG(9, nChans); - gx->dirtyState |= 4; -} - -void GXSetChanCtrl(GXChannelID chan, GXBool enable, GXColorSrc amb_src, GXColorSrc mat_src, u32 light_mask, GXDiffuseFn diff_fn, GXAttnFn attn_fn) -{ - u32 reg; // r31 - u32 idx; // r26 - - CHECK_GXBEGIN(0x2F8, "GXSetChanCtrl"); - - ASSERTMSGLINE(0x2FB, chan >= 0 && chan <= 5, "GXSetChanCtrl: Invalid Channel Id"); - - if (chan == 4) - idx = 0; - else if (chan == 5) - idx = 1; - else - idx = chan; - - reg = 0; - SET_REG_FIELD(0x302, reg, 1, 1, enable); - SET_REG_FIELD(0x303, reg, 1, 0, mat_src); - SET_REG_FIELD(0x304, reg, 1, 6, amb_src); - SET_REG_FIELD(0x305, reg, 1, 2, (light_mask & GX_LIGHT0) != 0); - SET_REG_FIELD(0x306, reg, 1, 3, (light_mask & GX_LIGHT1) != 0); - SET_REG_FIELD(0x307, reg, 1, 4, (light_mask & GX_LIGHT2) != 0); - SET_REG_FIELD(0x308, reg, 1, 5, (light_mask & GX_LIGHT3) != 0); - SET_REG_FIELD(0x309, reg, 1, 11, (light_mask & GX_LIGHT4) != 0); - SET_REG_FIELD(0x30A, reg, 1, 12, (light_mask & GX_LIGHT5) != 0); - SET_REG_FIELD(0x30B, reg, 1, 13, (light_mask & GX_LIGHT6) != 0); - SET_REG_FIELD(0x30C, reg, 1, 14, (light_mask & GX_LIGHT7) != 0); - SET_REG_FIELD(0x30E, reg, 2, 7, (attn_fn == 0) ? 0 : diff_fn); - SET_REG_FIELD(0x30F, reg, 1, 9, (attn_fn != 2)); - SET_REG_FIELD(0x310, reg, 1, 10, (attn_fn != 0)); - - GX_WRITE_XF_REG(idx + 14, reg); - gx->bpSentNot = 1; - if (chan == GX_COLOR0A0) { - GX_WRITE_XF_REG(16, reg); - } - else if (chan == GX_COLOR1A1) { - GX_WRITE_XF_REG(17, reg); - } -} diff --git a/src/dolphin/gx/GXMisc.c b/src/dolphin/gx/GXMisc.c deleted file mode 100644 index 1b7bea94..00000000 --- a/src/dolphin/gx/GXMisc.c +++ /dev/null @@ -1,485 +0,0 @@ -#include -#include -#include -#include - - -#include - -static GXDrawSyncCallback TokenCB; -static GXDrawDoneCallback DrawDoneCB; -static u8 DrawDone; -static OSThreadQueue FinishQueue; - -void GXSetMisc(GXMiscToken token, u32 val) -{ - switch (token) { - case GX_MT_XF_FLUSH: - gx->vNum = val; - gx->vNumNot = !gx->vNum; - gx->bpSentNot = 1; - if (gx->vNum != 0) { - gx->dirtyState |= 8; - } - break; - case GX_MT_DL_SAVE_CONTEXT: - ASSERTMSGLINE(0xC4, !gx->inDispList, "GXSetMisc: Cannot change DL context setting while making a display list"); - gx->dlSaveContext = (val > 0); - break; - case GX_MT_NULL: - break; - default: - break; - } -} - -void GXFlush(void) -{ - CHECK_GXBEGIN(0x10E, "GXFlush"); - if (gx->dirtyState) { - __GXSetDirtyState(); - } - - GX_WRITE_U32(0); - GX_WRITE_U32(0); - GX_WRITE_U32(0); - GX_WRITE_U32(0); - GX_WRITE_U32(0); - GX_WRITE_U32(0); - GX_WRITE_U32(0); - GX_WRITE_U32(0); - - PPCSync(); -} - -void GXResetWriteGatherPipe(void) -{ - while (PPCMfwpar() & 1) { } - PPCMtwpar(OSUncachedToPhysical((void *)GXFIFO_ADDR)); -} - -static inline void __GXAbortWait(u32 clocks) -{ - OSTime time0; - OSTime time1; - - time0 = OSGetTime(); - do { - time1 = OSGetTime(); - } while (time1 - time0 <= (clocks / 4)); -} - -void __GXAbortWaitPECopyDone(void) -{ - __piReg[6] = 1; - __GXAbortWait(0xC8U); - __piReg[6] = 0; - __GXAbortWait(0x14U); - __GXCleanGPFifo(); -} - -void GXSetDrawSync(u16 token) -{ - BOOL enabled; - u32 reg; - - CHECK_GXBEGIN(0x162, "GXSetDrawSync"); - - enabled = OSDisableInterrupts(); - reg = token | 0x48000000; - GX_WRITE_RAS_REG(reg); - SET_REG_FIELD(0x16F, reg, 16, 0, token); - SET_REG_FIELD(0x170, reg, 8, 24, 0x47); - GX_WRITE_RAS_REG(reg); - GXFlush(); - OSRestoreInterrupts(enabled); - gx->bpSentNot = 0; -} - -u16 GXReadDrawSync(void) -{ - u16 token = __peReg[7]; - return token; -} - -void GXSetDrawDone(void) -{ - u32 reg; - BOOL enabled; - - CHECK_GXBEGIN(0x19C, "GXSetDrawDone"); - enabled = OSDisableInterrupts(); - reg = 0x45000002; - GX_WRITE_RAS_REG(reg); - GXFlush(); - DrawDone = 0; - OSRestoreInterrupts(enabled); -} - -void GXWaitDrawDone(void) -{ - BOOL enabled; - - CHECK_GXBEGIN(0x1CA, "GXWaitDrawDone"); - - enabled = OSDisableInterrupts(); - while (!DrawDone) { - OSSleepThread(&FinishQueue); - } - OSRestoreInterrupts(enabled); -} - -void GXDrawDone(void) -{ - CHECK_GXBEGIN(0x1EA, "GXDrawDone"); - GXSetDrawDone(); - GXWaitDrawDone(); -} - -void GXPixModeSync(void) -{ - CHECK_GXBEGIN(0x20D, "GXPixModeSync"); - GX_WRITE_RAS_REG(gx->peCtrl); - gx->bpSentNot = 0; -} - -void GXTexModeSync(void) -{ - u32 reg; - - CHECK_GXBEGIN(0x225, "GXTexModeSync"); - reg = 0x63000000; - GX_WRITE_RAS_REG(reg); - gx->bpSentNot = 0; -} - -void GXPokeAlphaMode(GXCompare func, u8 threshold) -{ - u32 reg; - - CHECK_GXBEGIN(0x25F, "GXPokeAlphaMode"); - reg = (func << 8) | threshold; - __peReg[3] = reg; -} - -void GXPokeAlphaRead(GXAlphaReadMode mode) -{ - u32 reg; - - CHECK_GXBEGIN(0x26A, "GXPokeAlphaRead"); - reg = 0; - SET_REG_FIELD(0x26D, reg, 2, 0, mode); - SET_REG_FIELD(0x26E, reg, 1, 2, 1); - __peReg[4] = reg; -} - -void GXPokeAlphaUpdate(GXBool update_enable) -{ - u32 reg; - - CHECK_GXBEGIN(0x277, "GXPokeAlphaUpdate"); - reg = __peReg[1]; - SET_REG_FIELD(0x27A, reg, 1, 4, update_enable); - __peReg[1] = reg; -} - -void GXPokeBlendMode(GXBlendMode type, GXBlendFactor src_factor, GXBlendFactor dst_factor, GXLogicOp op) -{ - u32 reg; - - CHECK_GXBEGIN(0x284, "GXPokeBlendUpdate"); - reg = __peReg[1]; - SET_REG_FIELD(0x28C, reg, 1, 0, (type == GX_BM_BLEND) || (type == GX_BM_SUBTRACT)); - SET_REG_FIELD(0x28D, reg, 1, 11, (type == GX_BM_SUBTRACT)); - SET_REG_FIELD(0x28F, reg, 1, 1, (type == GX_BM_LOGIC)); - SET_REG_FIELD(0x290, reg, 4, 12, op); - SET_REG_FIELD(0x291, reg, 3, 8, src_factor); - SET_REG_FIELD(0x292, reg, 3, 5, dst_factor); - SET_REG_FIELD(0x293, reg, 8, 24, 0x41); - __peReg[1] = reg; -} - -void GXPokeColorUpdate(GXBool update_enable) -{ - u32 reg; - - CHECK_GXBEGIN(0x29D, "GXPokeColorUpdate"); - reg = __peReg[1]; - SET_REG_FIELD(0x2A0, reg, 1, 3, update_enable); - __peReg[1] = reg; -} - -void GXPokeDstAlpha(GXBool enable, u8 alpha) -{ - u32 reg = 0; - - CHECK_GXBEGIN(0x2A9, "GXPokeDstAlpha"); - SET_REG_FIELD(0x2AB, reg, 8, 0, alpha); - SET_REG_FIELD(0x2AC, reg, 1, 8, enable); - __peReg[2] = reg; -} - -void GXPokeDither(GXBool dither) -{ - u32 reg; - - CHECK_GXBEGIN(0x2B5, "GXPokeDither"); - reg = __peReg[1]; - SET_REG_FIELD(0x2B8, reg, 1, 2, dither); - __peReg[1] = reg; -} - -void GXPokeZMode(GXBool compare_enable, GXCompare func, GXBool update_enable) -{ - u32 reg = 0; - - CHECK_GXBEGIN(0x2C1, "GXPokeZMode"); - - SET_REG_FIELD(0x2C3, reg, 1, 0, compare_enable); - SET_REG_FIELD(0x2C4, reg, 3, 1, func); - SET_REG_FIELD(0x2C5, reg, 1, 4, update_enable); - __peReg[0] = reg; -} - -void GXPeekARGB(u16 x, u16 y, u32 *color) -{ - u32 addr = (u32)OSPhysicalToUncached(0x08000000); - - SET_REG_FIELD(0x2DC, addr, 10, 2, x); - SET_REG_FIELD(0x2DD, addr, 10, 12, y); - SET_REG_FIELD(0x2DE, addr, 2, 22, 0); - *color = *(u32 *)addr; -} - -void GXPokeARGB(u16 x, u16 y, u32 color) -{ - u32 addr = (u32)OSPhysicalToUncached(0x08000000); - - SET_REG_FIELD(0x2E6, addr, 10, 2, x); - SET_REG_FIELD(0x2E7, addr, 10, 12, y); - SET_REG_FIELD(0x2E8, addr, 2, 22, 0); - *(u32 *)addr = color; -} - -void GXPeekZ(u16 x, u16 y, u32 *z) -{ - u32 addr = (u32)OSPhysicalToUncached(0x08000000); - - SET_REG_FIELD(0x2F0, addr, 10, 2, x); - SET_REG_FIELD(0x2F1, addr, 10, 12, y); - SET_REG_FIELD(0x2F2, addr, 2, 22, 1); - *z = *(u32 *)addr; -} - -void GXPokeZ(u16 x, u16 y, u32 z) -{ - u32 addr = (u32)OSPhysicalToUncached(0x08000000); - - SET_REG_FIELD(0x2FA, addr, 10, 2, x); - SET_REG_FIELD(0x2FB, addr, 10, 12, y); - SET_REG_FIELD(0x2FC, addr, 2, 22, 1); - *(u32 *)addr = z; -} - -GXDrawSyncCallback GXSetDrawSyncCallback(GXDrawSyncCallback cb) -{ - GXDrawSyncCallback oldcb; - BOOL enabled; - - oldcb = TokenCB; - enabled = OSDisableInterrupts(); - TokenCB = cb; - OSRestoreInterrupts(enabled); - return oldcb; -} - -static void GXTokenInterruptHandler(__OSInterrupt interrupt, OSContext *context) -{ - u16 token; - OSContext exceptionContext; - u32 reg; - - token = __peReg[7]; - if (TokenCB != NULL) { - OSClearContext(&exceptionContext); - OSSetCurrentContext(&exceptionContext); - TokenCB(token); - OSClearContext(&exceptionContext); - OSSetCurrentContext(context); - } - reg = __peReg[5]; - SET_REG_FIELD(0, reg, 1, 2, 1); - __peReg[5] = reg; -} - -GXDrawDoneCallback GXSetDrawDoneCallback(GXDrawDoneCallback cb) -{ - GXDrawDoneCallback oldcb; - BOOL enabled; - - oldcb = DrawDoneCB; - enabled = OSDisableInterrupts(); - DrawDoneCB = cb; - OSRestoreInterrupts(enabled); - return oldcb; -} - -static void GXFinishInterruptHandler(__OSInterrupt interrupt, OSContext *context) -{ - OSContext exceptionContext; - u32 reg; - - reg = __peReg[5]; - SET_REG_FIELD(0, reg, 1, 3, 1); - __peReg[5] = reg; - DrawDone = 1; - if (DrawDoneCB != NULL) { - OSClearContext(&exceptionContext); - OSSetCurrentContext(&exceptionContext); - DrawDoneCB(); - OSClearContext(&exceptionContext); - OSSetCurrentContext(context); - } - OSWakeupThread(&FinishQueue); -} - -void __GXPEInit(void) -{ - u32 reg; - __OSSetInterruptHandler(0x12, GXTokenInterruptHandler); - __OSSetInterruptHandler(0x13, GXFinishInterruptHandler); - OSInitThreadQueue(&FinishQueue); - __OSUnmaskInterrupts(0x2000); - __OSUnmaskInterrupts(0x1000); - reg = __peReg[5]; - SET_REG_FIELD(0, reg, 1, 2, 1); - SET_REG_FIELD(0, reg, 1, 3, 1); - SET_REG_FIELD(0, reg, 1, 0, 1); - SET_REG_FIELD(0, reg, 1, 1, 1); - __peReg[5] = reg; -} - -u32 GXCompressZ16(u32 z24, GXZFmt16 zfmt) -{ - u32 z16; - u32 z24n; - s32 exp; - s32 shift; - s32 temp; - u8 unused[4]; - - z24n = ~(z24 << 8); - temp = __cntlzw(z24n); - switch (zfmt) { - case GX_ZC_LINEAR: - z16 = (z24 >> 8) & 0xFFFF; - break; - case GX_ZC_NEAR: - if (temp > 3) { - exp = 3; - } - else { - exp = temp; - } - if (exp == 3) { - shift = 7; - } - else { - shift = 9 - exp; - } - z16 = ((z24 >> shift) & 0x3FFF & ~0xFFFFC000) | (exp << 14); - break; - case GX_ZC_MID: - if (temp > 7) { - exp = 7; - } - else { - exp = temp; - } - if (exp == 7) { - shift = 4; - } - else { - shift = 10 - exp; - } - z16 = ((z24 >> shift) & 0x1FFF & ~0xFFFFE000) | (exp << 13); - break; - case GX_ZC_FAR: - if (temp > 12) { - exp = 12; - } - else { - exp = temp; - } - if (exp == 12) { - shift = 0; - } - else { - shift = 11 - exp; - } - z16 = ((z24 >> shift) & 0xFFF & ~0xFFFFF000) | (exp << 12); - break; - default: - OSPanic(__FILE__, 0x3B0, "GXCompressZ16: Invalid Z format\n"); - break; - } - return z16; -} - -u32 GXDecompressZ16(u32 z16, GXZFmt16 zfmt) -{ - u32 z24; - u32 cb1; - long exp; - long shift; - - cb1; - cb1; - cb1; - z16; - z16; - z16; // needed to match - - switch (zfmt) { - case GX_ZC_LINEAR: - z24 = (z16 << 8) & 0xFFFF00; - break; - case GX_ZC_NEAR: - exp = (z16 >> 14) & 3; - if (exp == 3) { - shift = 7; - } - else { - shift = 9 - exp; - } - cb1 = -1 << (24 - exp); - z24 = (cb1 | ((z16 & 0x3FFF) << shift)) & 0xFFFFFF; - break; - case GX_ZC_MID: - exp = (z16 >> 13) & 7; - if (exp == 7) { - shift = 4; - } - else { - shift = 10 - exp; - } - cb1 = -1 << (24 - exp); - z24 = (cb1 | ((z16 & 0x1FFF) << shift)) & 0xFFFFFF; - break; - case GX_ZC_FAR: - exp = (z16 >> 12) & 0xF; - if (exp == 12) { - shift = 0; - } - else { - shift = 11 - exp; - } - cb1 = -1 << (24 - exp); - z24 = (cb1 | ((z16 & 0xFFF) << shift)) & 0xFFFFFF; - break; - default: - OSPanic(__FILE__, 0x3E2, "GXDecompressZ16: Invalid Z format\n"); - break; - } - return z24; -} diff --git a/src/dolphin/gx/GXPerf.c b/src/dolphin/gx/GXPerf.c deleted file mode 100644 index 34b4d0ae..00000000 --- a/src/dolphin/gx/GXPerf.c +++ /dev/null @@ -1,577 +0,0 @@ -#include -#include - -#include - -void GXSetGPMetric(GXPerf0 perf0, GXPerf1 perf1) -{ - u32 reg; - - CHECK_GXBEGIN(0x6A, "GXSetGPMetric"); - - switch (gx->perf0) { - case GX_PERF0_VERTICES: - case GX_PERF0_CLIP_VTX: - case GX_PERF0_CLIP_CLKS: - case GX_PERF0_XF_WAIT_IN: - case GX_PERF0_XF_WAIT_OUT: - case GX_PERF0_XF_XFRM_CLKS: - case GX_PERF0_XF_LIT_CLKS: - case GX_PERF0_XF_BOT_CLKS: - case GX_PERF0_XF_REGLD_CLKS: - case GX_PERF0_XF_REGRD_CLKS: - case GX_PERF0_CLIP_RATIO: - case GX_PERF0_CLOCKS: - reg = 0; - GX_WRITE_XF_REG(6, reg); - break; - case GX_PERF0_TRIANGLES: - case GX_PERF0_TRIANGLES_CULLED: - case GX_PERF0_TRIANGLES_PASSED: - case GX_PERF0_TRIANGLES_SCISSORED: - case GX_PERF0_TRIANGLES_0TEX: - case GX_PERF0_TRIANGLES_1TEX: - case GX_PERF0_TRIANGLES_2TEX: - case GX_PERF0_TRIANGLES_3TEX: - case GX_PERF0_TRIANGLES_4TEX: - case GX_PERF0_TRIANGLES_5TEX: - case GX_PERF0_TRIANGLES_6TEX: - case GX_PERF0_TRIANGLES_7TEX: - case GX_PERF0_TRIANGLES_8TEX: - case GX_PERF0_TRIANGLES_0CLR: - case GX_PERF0_TRIANGLES_1CLR: - case GX_PERF0_TRIANGLES_2CLR: - reg = 0x23000000; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_QUAD_0CVG: - case GX_PERF0_QUAD_NON0CVG: - case GX_PERF0_QUAD_1CVG: - case GX_PERF0_QUAD_2CVG: - case GX_PERF0_QUAD_3CVG: - case GX_PERF0_QUAD_4CVG: - case GX_PERF0_AVG_QUAD_CNT: - reg = 0x24000000; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_NONE: - break; - default: - ASSERTMSGLINE(0xA6, 0, "GXSetGPMetric: Invalid GXPerf0 metric name"); - break; - } - - switch (gx->perf1) { - case GX_PERF1_TEXELS: - case GX_PERF1_TX_IDLE: - case GX_PERF1_TX_REGS: - case GX_PERF1_TX_MEMSTALL: - case GX_PERF1_TC_CHECK1_2: - case GX_PERF1_TC_CHECK3_4: - case GX_PERF1_TC_CHECK5_6: - case GX_PERF1_TC_CHECK7_8: - case GX_PERF1_TC_MISS: - case GX_PERF1_CLOCKS: - reg = 0x67000000; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF1_VC_ELEMQ_FULL: - case GX_PERF1_VC_MISSQ_FULL: - case GX_PERF1_VC_MEMREQ_FULL: - case GX_PERF1_VC_STATUS7: - case GX_PERF1_VC_MISSREP_FULL: - case GX_PERF1_VC_STREAMBUF_LOW: - case GX_PERF1_VC_ALL_STALLS: - case GX_PERF1_VERTICES: - SET_REG_FIELD(0, gx->perfSel, 4, 4, 0); - GX_WRITE_SOME_REG4(8, 0x20, gx->perfSel, -12); - break; - case GX_PERF1_FIFO_REQ: - case GX_PERF1_CALL_REQ: - case GX_PERF1_VC_MISS_REQ: - case GX_PERF1_CP_ALL_REQ: - reg = 0; - GX_SET_CP_REG(3, reg); - break; - case GX_PERF1_NONE: - break; - default: - ASSERTMSGLINE(0xD8, 0, "GXSetGPMetric: Invalid GXPerf1 metric name"); - break; - } - - gx->perf0 = perf0; - switch (gx->perf0) { - case GX_PERF0_VERTICES: - reg = 0x273; - GX_WRITE_XF_REG(6, reg); - break; - case GX_PERF0_CLIP_VTX: - reg = 0x14A; - GX_WRITE_XF_REG(6, reg); - break; - case GX_PERF0_CLIP_CLKS: - reg = 0x16B; - GX_WRITE_XF_REG(6, reg); - break; - case GX_PERF0_XF_WAIT_IN: - reg = 0x84; - GX_WRITE_XF_REG(6, reg); - break; - case GX_PERF0_XF_WAIT_OUT: - reg = 0xC6; - GX_WRITE_XF_REG(6, reg); - break; - case GX_PERF0_XF_XFRM_CLKS: - reg = 0x210; - GX_WRITE_XF_REG(6, reg); - break; - case GX_PERF0_XF_LIT_CLKS: - reg = 0x252; - GX_WRITE_XF_REG(6, reg); - break; - case GX_PERF0_XF_BOT_CLKS: - reg = 0x231; - GX_WRITE_XF_REG(6, reg); - break; - case GX_PERF0_XF_REGLD_CLKS: - reg = 0x1AD; - GX_WRITE_XF_REG(6, reg); - break; - case GX_PERF0_XF_REGRD_CLKS: - reg = 0x1CE; - GX_WRITE_XF_REG(6, reg); - break; - case GX_PERF0_CLOCKS: - reg = 0x21; - GX_WRITE_XF_REG(6, reg); - break; - case GX_PERF0_CLIP_RATIO: - reg = 0x153; - GX_WRITE_XF_REG(6, reg); - break; - case GX_PERF0_TRIANGLES: - reg = 0x2300AE7F; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_TRIANGLES_CULLED: - reg = 0x23008E7F; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_TRIANGLES_PASSED: - reg = 0x23009E7F; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_TRIANGLES_SCISSORED: - reg = 0x23001E7F; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_TRIANGLES_0TEX: - reg = 0x2300AC3F; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_TRIANGLES_1TEX: - reg = 0x2300AC7F; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_TRIANGLES_2TEX: - reg = 0x2300ACBF; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_TRIANGLES_3TEX: - reg = 0x2300ACFF; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_TRIANGLES_4TEX: - reg = 0x2300AD3F; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_TRIANGLES_5TEX: - reg = 0x2300AD7F; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_TRIANGLES_6TEX: - reg = 0x2300ADBF; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_TRIANGLES_7TEX: - reg = 0x2300ADFF; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_TRIANGLES_8TEX: - reg = 0x2300AE3F; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_TRIANGLES_0CLR: - reg = 0x2300A27F; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_TRIANGLES_1CLR: - reg = 0x2300A67F; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_TRIANGLES_2CLR: - reg = 0x2300AA7F; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_QUAD_0CVG: - reg = 0x2402C0C6; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_QUAD_NON0CVG: - reg = 0x2402C16B; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_QUAD_1CVG: - reg = 0x2402C0E7; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_QUAD_2CVG: - reg = 0x2402C108; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_QUAD_3CVG: - reg = 0x2402C129; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_QUAD_4CVG: - reg = 0x2402C14A; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_AVG_QUAD_CNT: - reg = 0x2402C1AD; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF0_NONE: - break; - default: - ASSERTMSGLINE(0x1DA, 0, "GXSetGPMetric: Invalid GXPerf0 metric name"); - break; - } - - gx->perf1 = perf1; - switch (gx->perf1) { - case GX_PERF1_TEXELS: - reg = 0x67000042; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF1_TX_IDLE: - reg = 0x67000084; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF1_TX_REGS: - reg = 0x67000063; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF1_TX_MEMSTALL: - reg = 0x67000129; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF1_TC_MISS: - reg = 0x67000252; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF1_CLOCKS: - reg = 0x67000021; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF1_TC_CHECK1_2: - reg = 0x6700014B; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF1_TC_CHECK3_4: - reg = 0x6700018D; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF1_TC_CHECK5_6: - reg = 0x670001CF; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF1_TC_CHECK7_8: - reg = 0x67000211; - GX_WRITE_RAS_REG(reg); - break; - case GX_PERF1_VC_ELEMQ_FULL: - SET_REG_FIELD(0, gx->perfSel, 4, 4, 2); - GX_WRITE_SOME_REG4(8, 0x20, gx->perfSel, -12); - break; - case GX_PERF1_VC_MISSQ_FULL: - SET_REG_FIELD(0, gx->perfSel, 4, 4, 3); - GX_WRITE_SOME_REG4(8, 0x20, gx->perfSel, -12); - break; - case GX_PERF1_VC_MEMREQ_FULL: - SET_REG_FIELD(0, gx->perfSel, 4, 4, 4); - GX_WRITE_SOME_REG4(8, 0x20, gx->perfSel, -12); - break; - case GX_PERF1_VC_STATUS7: - SET_REG_FIELD(0, gx->perfSel, 4, 4, 5); - GX_WRITE_SOME_REG4(8, 0x20, gx->perfSel, -12); - break; - case GX_PERF1_VC_MISSREP_FULL: - SET_REG_FIELD(0, gx->perfSel, 4, 4, 6); - GX_WRITE_SOME_REG4(8, 0x20, gx->perfSel, -12); - break; - case GX_PERF1_VC_STREAMBUF_LOW: - SET_REG_FIELD(0, gx->perfSel, 4, 4, 7); - GX_WRITE_SOME_REG4(8, 0x20, gx->perfSel, -12); - break; - case GX_PERF1_VC_ALL_STALLS: - SET_REG_FIELD(0, gx->perfSel, 4, 4, 9); - GX_WRITE_SOME_REG4(8, 0x20, gx->perfSel, -12); - break; - case GX_PERF1_VERTICES: - SET_REG_FIELD(0, gx->perfSel, 4, 4, 8); - GX_WRITE_SOME_REG4(8, 0x20, gx->perfSel, -12); - break; - case GX_PERF1_FIFO_REQ: - reg = 2; - GX_SET_CP_REG(3, reg); - break; - case GX_PERF1_CALL_REQ: - reg = 3; - GX_SET_CP_REG(3, reg); - break; - case GX_PERF1_VC_MISS_REQ: - reg = 4; - GX_SET_CP_REG(3, reg); - break; - case GX_PERF1_CP_ALL_REQ: - reg = 5; - GX_SET_CP_REG(3, reg); - break; - case GX_PERF1_NONE: - break; - default: - ASSERTMSGLINE(0x26B, 0, "GXSetGPMetric: Invalid GXPerf1 metric name"); - break; - } - - gx->bpSentNot = 0; -} - -#pragma scheduling off -void GXReadGPMetric(u32 *cnt0, u32 *cnt1) -{ - u32 cpCtr0, cpCtr1, cpCtr2, cpCtr3; - - ASSERTMSGLINE(0x286, !gx->inDispList, "GXReadGPMetric: don't use in a display list"); - - cpCtr0 = __GXReadCPCounterU32(32, 33); - cpCtr1 = __GXReadCPCounterU32(34, 35); - cpCtr2 = __GXReadCPCounterU32(36, 37); - cpCtr3 = __GXReadCPCounterU32(38, 39); - - switch (gx->perf0) { - case GX_PERF0_CLIP_RATIO: - *cnt0 = cpCtr1 * 0x3E8 / cpCtr0; - break; - case GX_PERF0_VERTICES: - case GX_PERF0_CLIP_VTX: - case GX_PERF0_CLIP_CLKS: - case GX_PERF0_XF_WAIT_IN: - case GX_PERF0_XF_WAIT_OUT: - case GX_PERF0_XF_XFRM_CLKS: - case GX_PERF0_XF_LIT_CLKS: - case GX_PERF0_XF_BOT_CLKS: - case GX_PERF0_XF_REGLD_CLKS: - case GX_PERF0_XF_REGRD_CLKS: - case GX_PERF0_TRIANGLES: - case GX_PERF0_TRIANGLES_CULLED: - case GX_PERF0_TRIANGLES_PASSED: - case GX_PERF0_TRIANGLES_SCISSORED: - case GX_PERF0_TRIANGLES_0TEX: - case GX_PERF0_TRIANGLES_1TEX: - case GX_PERF0_TRIANGLES_2TEX: - case GX_PERF0_TRIANGLES_3TEX: - case GX_PERF0_TRIANGLES_4TEX: - case GX_PERF0_TRIANGLES_5TEX: - case GX_PERF0_TRIANGLES_6TEX: - case GX_PERF0_TRIANGLES_7TEX: - case GX_PERF0_TRIANGLES_8TEX: - case GX_PERF0_TRIANGLES_0CLR: - case GX_PERF0_TRIANGLES_1CLR: - case GX_PERF0_TRIANGLES_2CLR: - case GX_PERF0_QUAD_0CVG: - case GX_PERF0_QUAD_NON0CVG: - case GX_PERF0_QUAD_1CVG: - case GX_PERF0_QUAD_2CVG: - case GX_PERF0_QUAD_3CVG: - case GX_PERF0_QUAD_4CVG: - case GX_PERF0_AVG_QUAD_CNT: - case GX_PERF0_CLOCKS: - *cnt0 = cpCtr0; - break; - case GX_PERF0_NONE: - *cnt0 = 0; - break; - default: - ASSERTMSGLINE(0x2CF, 0, "GXReadGPMetric: Invalid GXPerf0 metric name"); - *cnt0 = 0; - break; - } - - switch (gx->perf1) { - case GX_PERF1_TEXELS: - *cnt1 = cpCtr3 * 4; - break; - case GX_PERF1_TC_CHECK1_2: - *cnt1 = cpCtr2 + (cpCtr3 * 2); - break; - case GX_PERF1_TC_CHECK3_4: - *cnt1 = (cpCtr2 * 3) + (cpCtr3 * 4); - break; - case GX_PERF1_TC_CHECK5_6: - *cnt1 = (cpCtr2 * 5) + (cpCtr3 * 6); - break; - case GX_PERF1_TC_CHECK7_8: - *cnt1 = (cpCtr2 * 7) + (cpCtr3 * 8); - break; - case GX_PERF1_TX_IDLE: - case GX_PERF1_TX_REGS: - case GX_PERF1_TX_MEMSTALL: - case GX_PERF1_TC_MISS: - case GX_PERF1_VC_ELEMQ_FULL: - case GX_PERF1_VC_MISSQ_FULL: - case GX_PERF1_VC_MEMREQ_FULL: - case GX_PERF1_VC_STATUS7: - case GX_PERF1_VC_MISSREP_FULL: - case GX_PERF1_VC_STREAMBUF_LOW: - case GX_PERF1_VC_ALL_STALLS: - case GX_PERF1_VERTICES: - case GX_PERF1_CLOCKS: - *cnt1 = cpCtr3; - break; - case GX_PERF1_FIFO_REQ: - case GX_PERF1_CALL_REQ: - case GX_PERF1_VC_MISS_REQ: - case GX_PERF1_CP_ALL_REQ: - *cnt1 = cpCtr2; - break; - case GX_PERF1_NONE: - *cnt1 = 0; - break; - default: - ASSERTMSGLINE(0x30A, 0, "GXReadGPMetric: Invalid GXPerf1 metric name"); - *cnt1 = 0; - break; - } -} -#pragma scheduling reset - -void GXClearGPMetric(void) -{ - u32 reg; - - ASSERTMSGLINE(0x322, !gx->inDispList, "GXClearGPMetric: don't use in a display list"); - reg = 4; - __cpReg[2] = reg; -} - -u32 GXReadGP0Metric(void) -{ - u32 cnt0, cnt1; - - GXReadGPMetric(&cnt0, &cnt1); - return cnt0; -} - -u32 GXReadGP1Metric(void) -{ - u32 cnt0, cnt1; - - GXReadGPMetric(&cnt0, &cnt1); - return cnt1; -} - -#pragma scheduling off -void GXReadMemMetric( - u32 *cp_req, u32 *tc_req, u32 *cpu_rd_req, u32 *cpu_wr_req, u32 *dsp_req, u32 *io_req, u32 *vi_req, u32 *pe_req, u32 *rf_req, u32 *fi_req) -{ - ASSERTMSGLINE(0x380, !gx->inDispList, "GXReadMemMetric: don't use in a display list"); - - *cp_req = __GXReadMEMCounterU32(26, 25); - *tc_req = __GXReadMEMCounterU32(28, 27); - *cpu_rd_req = __GXReadMEMCounterU32(30, 29); - *cpu_wr_req = __GXReadMEMCounterU32(32, 31); - *dsp_req = __GXReadMEMCounterU32(34, 33); - *io_req = __GXReadMEMCounterU32(36, 35); - *vi_req = __GXReadMEMCounterU32(38, 37); - *pe_req = __GXReadMEMCounterU32(40, 39); - *rf_req = __GXReadMEMCounterU32(42, 41); - *fi_req = __GXReadMEMCounterU32(44, 43); -} -#pragma scheduling reset - -void GXClearMemMetric(void) -{ - ASSERTMSGLINE(0x3B9, !gx->inDispList, "GXClearMemMetric: don't use in a display list"); - - GX_SET_MEM_REG(25, 0); - GX_SET_MEM_REG(26, 0); - GX_SET_MEM_REG(27, 0); - GX_SET_MEM_REG(28, 0); - GX_SET_MEM_REG(30, 0); - GX_SET_MEM_REG(29, 0); - GX_SET_MEM_REG(32, 0); - GX_SET_MEM_REG(31, 0); - GX_SET_MEM_REG(34, 0); - GX_SET_MEM_REG(33, 0); - GX_SET_MEM_REG(36, 0); - GX_SET_MEM_REG(35, 0); - GX_SET_MEM_REG(38, 0); - GX_SET_MEM_REG(37, 0); - GX_SET_MEM_REG(40, 0); - GX_SET_MEM_REG(39, 0); - GX_SET_MEM_REG(42, 0); - GX_SET_MEM_REG(41, 0); - GX_SET_MEM_REG(44, 0); - GX_SET_MEM_REG(43, 0); -} - -#pragma scheduling off -void GXReadPixMetric(u32 *top_pixels_in, u32 *top_pixels_out, u32 *bot_pixels_in, u32 *bot_pixels_out, u32 *clr_pixels_in, u32 *copy_clks) -{ - *top_pixels_in = __GXReadPECounterU32(12, 13) * 4; - *top_pixels_out = __GXReadPECounterU32(14, 15) * 4; - *bot_pixels_in = __GXReadPECounterU32(16, 17) * 4; - *bot_pixels_out = __GXReadPECounterU32(18, 19) * 4; - *clr_pixels_in = __GXReadPECounterU32(20, 21) * 4; - *copy_clks = __GXReadPECounterU32(22, 23); -} -#pragma scheduling reset - -void GXClearPixMetric(void) -{ - u32 reg; - - CHECK_GXBEGIN(0x48B, "GXClearPixMetric"); - reg = 0x57000000; - GX_WRITE_RAS_REG(reg); - reg = 0x57000AAA; - GX_WRITE_RAS_REG(reg); - gx->bpSentNot = 0; -} - -void GXSetVCacheMetric(GXVCachePerf attr) -{ - u32 reg; - - SET_REG_FIELD(0x43C, gx->perfSel, 4, 0, attr); - GX_WRITE_SOME_REG4(8, 0x20, gx->perfSel, -12); - reg = 1; - GX_WRITE_SOME_REG4(8, 0x10, reg, -12); -} - -#pragma scheduling off -void GXReadVCacheMetric(u32 *check, u32 *miss, u32 *stall) -{ - *check = __GXReadCPCounterU32(40, 41); - *miss = __GXReadCPCounterU32(42, 43); - *stall = __GXReadCPCounterU32(44, 45); -} -#pragma scheduling on - -void GXClearVCacheMetric(void) -{ - GX_WRITE_SOME_REG4(8, 0, 0, -12); -} diff --git a/src/dolphin/gx/GXPixel.c b/src/dolphin/gx/GXPixel.c deleted file mode 100644 index 5460b4b6..00000000 --- a/src/dolphin/gx/GXPixel.c +++ /dev/null @@ -1,290 +0,0 @@ -#include -#include -#include - -#include - -void GXSetFog(GXFogType type, f32 startz, f32 endz, f32 nearz, f32 farz, GXColor color) -{ - u32 fogclr; - u32 fog0; - u32 fog1; - u32 fog2; - u32 fog3; - f32 A; - f32 B; - f32 B_mant; - f32 C; - f32 a; - f32 c; - u32 B_expn; - u32 b_m; - u32 b_s; - u32 a_hex; - u32 c_hex; - - CHECK_GXBEGIN(0x8A, "GXSetFog"); - - ASSERTMSGLINE(0x8C, farz >= 0.0f, "GXSetFog: The farz should be positive value"); - ASSERTMSGLINE(0x8D, farz >= nearz, "GXSetFog: The farz should be larger than nearz"); - - if (farz == nearz || endz == startz) { - A = 0.0f; - B = 0.5f; - C = 0.0f; - } - else { - A = (farz * nearz) / ((farz - nearz) * (endz - startz)); - B = farz / (farz - nearz); - C = startz / (endz - startz); - } - - B_mant = B; - B_expn = 0; - while (B_mant > 1.0) { - B_mant *= 0.5f; - B_expn++; - } - while (B_mant > 0.0f && B_mant < 0.5) { - B_mant *= 2.0f; - B_expn--; - } - - a = A / (f32)(1 << (B_expn + 1)); - b_m = 8.388638e6f * B_mant; - b_s = B_expn + 1; - c = C; - - fog1 = 0; - SET_REG_FIELD(0x94, fog1, 24, 0, b_m); - SET_REG_FIELD(0x95, fog1, 8, 24, 0xEF); - - fog2 = 0; - SET_REG_FIELD(0x98, fog2, 5, 0, b_s); - SET_REG_FIELD(0x99, fog2, 8, 24, 0xF0); - - a_hex = *(u32 *)&a; - c_hex = *(u32 *)&c; - - fog0 = 0; - SET_REG_FIELD(0xA0, fog0, 11, 0, (a_hex >> 12) & 0x7FF); - SET_REG_FIELD(0xA1, fog0, 8, 11, (a_hex >> 23) & 0xFF); - SET_REG_FIELD(0xA2, fog0, 1, 19, (a_hex >> 31)); - SET_REG_FIELD(0xA3, fog0, 8, 24, 0xEE); - - fog3 = 0; - SET_REG_FIELD(0xA6, fog3, 11, 0, (c_hex >> 12) & 0x7FF); - SET_REG_FIELD(0xA7, fog3, 8, 11, (c_hex >> 23) & 0xFF); - SET_REG_FIELD(0xA8, fog3, 1, 19, (c_hex >> 31)); - SET_REG_FIELD(0xA9, fog3, 1, 20, 0); - SET_REG_FIELD(0xAA, fog3, 3, 21, type); - SET_REG_FIELD(0xAB, fog3, 8, 24, 0xF1); - - fogclr = 0; - SET_REG_FIELD(0xAE, fogclr, 8, 0, color.b); - SET_REG_FIELD(0xAF, fogclr, 8, 8, color.g); - SET_REG_FIELD(0xB0, fogclr, 8, 16, color.r); - SET_REG_FIELD(0xB1, fogclr, 8, 24, 0xF2); - - GX_WRITE_RAS_REG(fog0); - GX_WRITE_RAS_REG(fog1); - GX_WRITE_RAS_REG(fog2); - GX_WRITE_RAS_REG(fog3); - GX_WRITE_RAS_REG(fogclr); - gx->bpSentNot = 0; -} - -void GXSetFogColor(GXColor color) -{ - unsigned long rgba; - unsigned long fogclr = 0xF2000000; - - rgba = *(u32 *)&color; - SET_REG_FIELD(0xFA, fogclr, 24, 0, rgba >> 8); - GX_WRITE_RAS_REG(fogclr); - gx->bpSentNot = 0; -} - -void GXInitFogAdjTable(GXFogAdjTable *table, u16 width, const f32 projmtx[4][4]) -{ - f32 xi; - f32 iw; - f32 rangeVal; - f32 nearZ; - f32 sideX; - u32 i; - - CHECK_GXBEGIN(0x113, "GXInitFogAdjTable"); - ASSERTMSGLINE(0x114, table != NULL, "GXInitFogAdjTable: table pointer is null"); - ASSERTMSGLINE(0x115, width <= 640, "GXInitFogAdjTable: invalid width value"); - - if (0.0 == projmtx[3][3]) { - nearZ = projmtx[2][3] / (projmtx[2][2] - 1.0f); - sideX = nearZ / projmtx[0][0]; - } - else { - sideX = 1.0f / projmtx[0][0]; - nearZ = 1.73205f * sideX; - } - - iw = 2.0f / width; - for (i = 0; i < 10; i++) { - xi = (i + 1) << 5; - xi *= iw; - xi *= sideX; - rangeVal = sqrtf(1.0f + ((xi * xi) / (nearZ * nearZ))); - table->r[i] = (u32)(256.0f * rangeVal) & 0xFFF; - } -} - -void GXSetFogRangeAdj(GXBool enable, u16 center, const GXFogAdjTable *table) -{ - u32 i; - u32 range_adj; - u32 range_c; - - CHECK_GXBEGIN(0x14B, "GXSetFogRangeAdj"); - - if (enable) { - ASSERTMSGLINE(0x14E, table != NULL, "GXSetFogRangeAdj: table pointer is null"); - for (i = 0; i < 10; i += 2) { - range_adj = 0; - SET_REG_FIELD(0x152, range_adj, 12, 0, table->r[i]); - SET_REG_FIELD(0x153, range_adj, 12, 12, table->r[i + 1]); - SET_REG_FIELD(0x154, range_adj, 8, 24, (i >> 1) + 0xE9); - GX_WRITE_RAS_REG(range_adj); - } - } - range_c = 0; - SET_REG_FIELD(0x15A, range_c, 10, 0, center + 342); - SET_REG_FIELD(0x15B, range_c, 1, 10, enable); - SET_REG_FIELD(0x15C, range_c, 8, 24, 0xE8); - GX_WRITE_RAS_REG(range_c); - gx->bpSentNot = 0; -} - -void GXSetBlendMode(GXBlendMode type, GXBlendFactor src_factor, GXBlendFactor dst_factor, GXLogicOp op) -{ - CHECK_GXBEGIN(0x177, "GXSetBlendMode"); - - SET_REG_FIELD(0x135, gx->cmode0, 1, 0, (type == GX_BM_BLEND || type == GX_BM_SUBTRACT)); - SET_REG_FIELD(0x136, gx->cmode0, 1, 11, (type == GX_BM_SUBTRACT)); - SET_REG_FIELD(0x138, gx->cmode0, 1, 1, (type == GX_BM_LOGIC)); - SET_REG_FIELD(0x139, gx->cmode0, 4, 12, op); - SET_REG_FIELD(0x13A, gx->cmode0, 3, 8, src_factor); - SET_REG_FIELD(0x13B, gx->cmode0, 3, 5, dst_factor); - SET_REG_FIELD(0x13C, gx->cmode0, 8, 24, 0x41); - GX_WRITE_RAS_REG(gx->cmode0); - gx->bpSentNot = 0; -} - -void GXSetColorUpdate(GXBool update_enable) -{ - CHECK_GXBEGIN(0x1A3, "GXSetColorUpdate"); - - SET_REG_FIELD(0x150, gx->cmode0, 1, 3, update_enable); - GX_WRITE_RAS_REG(gx->cmode0); - gx->bpSentNot = 0; -} - -void GXSetAlphaUpdate(GXBool update_enable) -{ - CHECK_GXBEGIN(0x1B0, "GXSetAlphaUpdate"); - - SET_REG_FIELD(0x159, gx->cmode0, 1, 4, update_enable); - GX_WRITE_RAS_REG(gx->cmode0); - gx->bpSentNot = 0; -} - -void GXSetZMode(GXBool compare_enable, GXCompare func, GXBool update_enable) -{ - CHECK_GXBEGIN(0x1CB, "GXSetZMode"); - - SET_REG_FIELD(0x171, gx->zmode, 1, 0, compare_enable); - SET_REG_FIELD(0x172, gx->zmode, 3, 1, func); - SET_REG_FIELD(0x173, gx->zmode, 1, 4, update_enable); - GX_WRITE_RAS_REG(gx->zmode); - gx->bpSentNot = 0; -} - -void GXSetZCompLoc(GXBool before_tex) -{ - CHECK_GXBEGIN(0x1DA, "GXSetZCompLoc"); - - SET_REG_FIELD(0x1DB, gx->peCtrl, 1, 6, before_tex); - GX_WRITE_RAS_REG(gx->peCtrl); - gx->bpSentNot = 0; -} - -void GXSetPixelFmt(GXPixelFmt pix_fmt, GXZFmt16 z_fmt) -{ - u32 oldPeCtrl; - u8 aa; - static u32 p2f[8] = { 0, 1, 2, 3, 4, 4, 4, 5 }; - - CHECK_GXBEGIN(0x1FF, "GXSetPixelFmt"); - oldPeCtrl = gx->peCtrl; - ASSERTMSGLINE(0x203, pix_fmt >= 0 && pix_fmt <= 7, "Invalid Pixel format"); - SET_REG_FIELD(0x205, gx->peCtrl, 3, 0, p2f[pix_fmt]); - SET_REG_FIELD(0x206, gx->peCtrl, 3, 3, z_fmt); - if (oldPeCtrl != gx->peCtrl) { - GX_WRITE_RAS_REG(gx->peCtrl); - if (pix_fmt == GX_PF_RGB565_Z16) - aa = 1; - else - aa = 0; - SET_REG_FIELD(0x20F, gx->genMode, 1, 9, aa); - gx->dirtyState |= 4; - } - if (p2f[pix_fmt] == 4) { - SET_REG_FIELD(0x216, gx->cmode1, 2, 9, (pix_fmt - 4) & 0x3); - SET_REG_FIELD(0x216, gx->cmode1, 8, 24, 0x42); - GX_WRITE_RAS_REG(gx->cmode1); - } - gx->bpSentNot = 0; -} - -void GXSetDither(GXBool dither) -{ - CHECK_GXBEGIN(0x22C, "GXSetDither"); - - SET_REG_FIELD(0x1CE, gx->cmode0, 1, 2, dither); - GX_WRITE_RAS_REG(gx->cmode0); - gx->bpSentNot = 0; -} - -void GXSetDstAlpha(GXBool enable, u8 alpha) -{ - CHECK_GXBEGIN(0x245, "GXSetDstAlpha"); - - SET_REG_FIELD(0x1E2, gx->cmode1, 8, 0, alpha); - SET_REG_FIELD(0x1E3, gx->cmode1, 1, 8, enable); - GX_WRITE_RAS_REG(gx->cmode1); - gx->bpSentNot = 0; -} - -void GXSetFieldMask(GXBool odd_mask, GXBool even_mask) -{ - u32 reg; - - CHECK_GXBEGIN(0x260, "GXSetFieldMask"); - reg = 0; - SET_REG_FIELD(0x262, reg, 1, 0, even_mask); - SET_REG_FIELD(0x263, reg, 1, 1, odd_mask); - SET_REG_FIELD(0x263, reg, 8, 24, 0x44); - GX_WRITE_RAS_REG(reg); - gx->bpSentNot = 0; -} - -void GXSetFieldMode(GXBool field_mode, GXBool half_aspect_ratio) -{ - u32 reg; - - CHECK_GXBEGIN(0x27D, "GXSetFieldMode"); - SET_REG_FIELD(0x281, gx->lpSize, 1, 22, half_aspect_ratio); - GX_WRITE_RAS_REG(gx->lpSize); - __GXFlushTextureState(); - reg = field_mode | 0x68000000; - GX_WRITE_RAS_REG(reg); - __GXFlushTextureState(); -} diff --git a/src/dolphin/gx/GXStubs.c b/src/dolphin/gx/GXStubs.c deleted file mode 100644 index 85f05a89..00000000 --- a/src/dolphin/gx/GXStubs.c +++ /dev/null @@ -1,5 +0,0 @@ -#include - -#include - -void __GXSetRange(float nearz, float fgSideX) {} diff --git a/src/dolphin/gx/GXTev.c b/src/dolphin/gx/GXTev.c deleted file mode 100644 index c2f6d67a..00000000 --- a/src/dolphin/gx/GXTev.c +++ /dev/null @@ -1,403 +0,0 @@ -#include -#include - -#include - -void GXSetTevOp(GXTevStageID id, GXTevMode mode) -{ - GXTevColorArg carg = GX_CC_RASC; - GXTevAlphaArg aarg = GX_CA_RASA; - - CHECK_GXBEGIN(0x1A4, "GXSetTevOp"); - ASSERTMSGLINE(0x1A5, id < 16, "GXSetTevColor*: Invalid Tev Stage Index"); - ASSERTMSGLINE(0x1A6, mode <= 4, "GXSetTevOp: Invalid Tev Mode"); - - if (id != GX_TEVSTAGE0) { - carg = GX_CC_CPREV; - aarg = GX_CA_APREV; - } - - switch (mode) { - case GX_MODULATE: - GXSetTevColorIn(id, GX_CC_ZERO, GX_CC_TEXC, carg, GX_CC_ZERO); - GXSetTevAlphaIn(id, GX_CA_ZERO, GX_CA_TEXA, aarg, GX_CA_ZERO); - break; - case GX_DECAL: - GXSetTevColorIn(id, carg, GX_CC_TEXC, GX_CC_TEXA, GX_CC_ZERO); - GXSetTevAlphaIn(id, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, aarg); - break; - case GX_BLEND: - GXSetTevColorIn(id, carg, GX_CC_ONE, GX_CC_TEXC, GX_CC_ZERO); - GXSetTevAlphaIn(id, GX_CA_ZERO, GX_CA_TEXA, aarg, GX_CA_ZERO); - break; - case GX_REPLACE: - GXSetTevColorIn(id, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); - GXSetTevAlphaIn(id, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_TEXA); - break; - case GX_PASSCLR: - GXSetTevColorIn(id, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, carg); - GXSetTevAlphaIn(id, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, aarg); - break; - } - GXSetTevColorOp(id, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaOp(id, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); -} - -void GXSetTevColorIn(GXTevStageID stage, GXTevColorArg a, GXTevColorArg b, GXTevColorArg c, GXTevColorArg d) -{ - u32 *pTevReg; - - CHECK_GXBEGIN(0x242, "GXSetTevColorIn"); - ASSERTMSGLINE(0x243, stage < 16, "GXSetTevColor*: Invalid Tev Stage Index"); - ASSERTMSGLINE(0x244, a <= 15, "GXSetTev*In: A/B/C/D argument out of range"); - ASSERTMSGLINE(0x245, b <= 15, "GXSetTev*In: A/B/C/D argument out of range"); - ASSERTMSGLINE(0x246, c <= 15, "GXSetTev*In: A/B/C/D argument out of range"); - ASSERTMSGLINE(0x247, d <= 15, "GXSetTev*In: A/B/C/D argument out of range"); - - pTevReg = &gx->tevc[stage]; - SET_REG_FIELD(0xED, *pTevReg, 4, 12, a); - SET_REG_FIELD(0xEE, *pTevReg, 4, 8, b); - SET_REG_FIELD(0xEF, *pTevReg, 4, 4, c); - SET_REG_FIELD(0xF0, *pTevReg, 4, 0, d); - - GX_WRITE_RAS_REG(*pTevReg); - gx->bpSentNot = 0; -} - -void GXSetTevAlphaIn(GXTevStageID stage, GXTevAlphaArg a, GXTevAlphaArg b, GXTevAlphaArg c, GXTevAlphaArg d) -{ - u32 *pTevReg; - - CHECK_GXBEGIN(0x266, "GXSetTevAlphaIn"); - ASSERTMSGLINE(0x267, stage < 16, "GXSetTevAlpha*: Invalid Tev Stage Index"); - ASSERTMSGLINE(0x268, a <= 7, "GXSetTev*In: A/B/C/D argument out of range"); - ASSERTMSGLINE(0x269, b <= 7, "GXSetTev*In: A/B/C/D argument out of range"); - ASSERTMSGLINE(0x26A, c <= 7, "GXSetTev*In: A/B/C/D argument out of range"); - ASSERTMSGLINE(0x26B, d <= 7, "GXSetTev*In: A/B/C/D argument out of range"); - - pTevReg = &gx->teva[stage]; - SET_REG_FIELD(0x110, *pTevReg, 3, 13, a); - SET_REG_FIELD(0x111, *pTevReg, 3, 10, b); - SET_REG_FIELD(0x112, *pTevReg, 3, 7, c); - SET_REG_FIELD(0x113, *pTevReg, 3, 4, d); - - GX_WRITE_RAS_REG(*pTevReg); - gx->bpSentNot = 0; -} - -void GXSetTevColorOp(GXTevStageID stage, GXTevOp op, GXTevBias bias, GXTevScale scale, GXBool clamp, GXTevRegID out_reg) -{ - u32 *pTevReg; - - CHECK_GXBEGIN(0x28D, "GXSetTevColorOp"); - ASSERTMSGLINE(0x28E, stage < 16, "GXSetTevColor*: Invalid Tev Stage Index"); - - pTevReg = &gx->tevc[stage]; - SET_REG_FIELD(0x137, *pTevReg, 1, 18, op & 1); - if (op <= 1) { - SET_REG_FIELD(0x139, *pTevReg, 2, 20, scale); - SET_REG_FIELD(0x13A, *pTevReg, 2, 16, bias); - } - else { - SET_REG_FIELD(0x13C, *pTevReg, 2, 20, (op >> 1) & 3); - SET_REG_FIELD(0x13D, *pTevReg, 2, 16, 3); - } - SET_REG_FIELD(0x140, *pTevReg, 1, 19, clamp & 0xFF); - SET_REG_FIELD(0x141, *pTevReg, 2, 22, out_reg); - - GX_WRITE_RAS_REG(*pTevReg); - gx->bpSentNot = 0; -} - -void GXSetTevAlphaOp(GXTevStageID stage, GXTevOp op, GXTevBias bias, GXTevScale scale, GXBool clamp, GXTevRegID out_reg) -{ - u32 *pTevReg; - - CHECK_GXBEGIN(0x2BB, "GXSetTevAlphaOp"); - ASSERTMSGLINE(0x2BC, stage < 16, "GXSetTevAlpha*: Invalid Tev Stage Index"); - - pTevReg = &gx->teva[stage]; - SET_REG_FIELD(0x163, *pTevReg, 1, 18, op & 1); - if (op <= 1) { - SET_REG_FIELD(0x165, *pTevReg, 2, 20, scale); - SET_REG_FIELD(0x166, *pTevReg, 2, 16, bias); - } - else { - SET_REG_FIELD(0x168, *pTevReg, 2, 20, (op >> 1) & 3); - SET_REG_FIELD(0x169, *pTevReg, 2, 16, 3); - } - SET_REG_FIELD(0x16C, *pTevReg, 1, 19, clamp & 0xFF); - SET_REG_FIELD(0x16D, *pTevReg, 2, 22, out_reg); - - GX_WRITE_RAS_REG(*pTevReg); - gx->bpSentNot = 0; -} - -void GXSetTevColor(GXTevRegID id, GXColor color) -{ - u32 regRA; - u32 regBG; - - CHECK_GXBEGIN(0x2E4, "GXSetTevColor"); - regRA = 0; - SET_REG_FIELD(0x185, regRA, 11, 0, color.r); - SET_REG_FIELD(0x186, regRA, 11, 12, color.a); - SET_REG_FIELD(0x187, regRA, 8, 24, 224 + id * 2); - - regBG = 0; - SET_REG_FIELD(0x18A, regBG, 11, 0, color.b); - SET_REG_FIELD(0x18B, regBG, 11, 12, color.g); - SET_REG_FIELD(0x18C, regBG, 8, 24, 225 + id * 2); - - GX_WRITE_RAS_REG(regRA); - GX_WRITE_RAS_REG(regBG); - GX_WRITE_RAS_REG(regBG); - GX_WRITE_RAS_REG(regBG); - gx->bpSentNot = 0; -} - -void GXSetTevColorS10(GXTevRegID id, GXColorS10 color) -{ - u32 regRA; - u32 regBG; - - ASSERTMSGLINE(0x309, color.r >= -1024 && color.r < 1024, "GXSetTevColorS10: Color not in range -1024 to +1023"); - ASSERTMSGLINE(0x30A, color.g >= -1024 && color.g < 1024, "GXSetTevColorS10: Color not in range -1024 to +1023"); - ASSERTMSGLINE(0x30B, color.b >= -1024 && color.b < 1024, "GXSetTevColorS10: Color not in range -1024 to +1023"); - ASSERTMSGLINE(0x30C, color.a >= -1024 && color.a < 1024, "GXSetTevColorS10: Color not in range -1024 to +1023"); - - CHECK_GXBEGIN(0x30E, "GXSetTevColorS10"); - regRA = 0; - SET_REG_FIELD(0x1AF, regRA, 11, 0, color.r & 0x7FF); - SET_REG_FIELD(0x1B0, regRA, 11, 12, color.a & 0x7FF); - SET_REG_FIELD(0x1B1, regRA, 8, 24, 224 + id * 2); - - regBG = 0; - SET_REG_FIELD(0x1B4, regBG, 11, 0, color.b & 0x7FF); - SET_REG_FIELD(0x1B5, regBG, 11, 12, color.g & 0x7FF); - SET_REG_FIELD(0x1B6, regBG, 8, 24, 225 + id * 2); - - GX_WRITE_RAS_REG(regRA); - GX_WRITE_RAS_REG(regBG); - GX_WRITE_RAS_REG(regBG); - GX_WRITE_RAS_REG(regBG); - gx->bpSentNot = 0; -} - -void GXSetTevKColor(GXTevKColorID id, GXColor color) -{ - u32 regRA; - u32 regBG; - - CHECK_GXBEGIN(0x341, "GXSetTevKColor"); - regRA = 0; - SET_REG_FIELD(0x1E0, regRA, 8, 0, color.r); - SET_REG_FIELD(0x1E1, regRA, 8, 12, color.a); - SET_REG_FIELD(0x1E2, regRA, 4, 20, 8); - SET_REG_FIELD(0x1E3, regRA, 8, 24, 224 + id * 2); - - regBG = 0; - SET_REG_FIELD(0x1E6, regBG, 8, 0, color.b); - SET_REG_FIELD(0x1E7, regBG, 8, 12, color.g); - SET_REG_FIELD(0x1E8, regBG, 4, 20, 8); - SET_REG_FIELD(0x1E9, regBG, 8, 24, 225 + id * 2); - - GX_WRITE_RAS_REG(regRA); - GX_WRITE_RAS_REG(regBG); - gx->bpSentNot = 0; -} - -void GXSetTevKColorSel(GXTevStageID stage, GXTevKColorSel sel) -{ - u32 *Kreg; - - CHECK_GXBEGIN(0x368, "GXSetTevKColorSel"); - ASSERTMSGLINE(0x369, stage < 16, "GXSetTevKColor*: Invalid Tev Stage Index"); - - Kreg = &gx->tevKsel[stage >> 1]; - if (stage & 1) { - SET_REG_FIELD(0x20A, *Kreg, 5, 14, sel); - } - else { - SET_REG_FIELD(0x20C, *Kreg, 5, 4, sel); - } - - GX_WRITE_RAS_REG(*Kreg); - gx->bpSentNot = 0; -} - -void GXSetTevKAlphaSel(GXTevStageID stage, GXTevKAlphaSel sel) -{ - u32 *Kreg; - - CHECK_GXBEGIN(0x389, "GXSetTevKAlphaSel"); - ASSERTMSGLINE(0x38A, stage < 16, "GXSetTevKColor*: Invalid Tev Stage Index"); - - Kreg = &gx->tevKsel[stage >> 1]; - if (stage & 1) { - SET_REG_FIELD(0x22B, *Kreg, 5, 19, sel); - } - else { - SET_REG_FIELD(0x22D, *Kreg, 5, 9, sel); - } - - GX_WRITE_RAS_REG(*Kreg); - gx->bpSentNot = 0; -} - -void GXSetTevSwapMode(GXTevStageID stage, GXTevSwapSel ras_sel, GXTevSwapSel tex_sel) -{ - u32 *pTevReg; - - CHECK_GXBEGIN(0x3AE, "GXSetTevSwapMode"); - ASSERTMSGLINE(0x3AF, stage < 16, "GXSetTevSwapMode: Invalid Tev Stage Index"); - - pTevReg = &gx->teva[stage]; - SET_REG_FIELD(0x24E, *pTevReg, 2, 0, ras_sel); - SET_REG_FIELD(0x24F, *pTevReg, 2, 2, tex_sel); - - GX_WRITE_RAS_REG(*pTevReg); - gx->bpSentNot = 0; -} - -void GXSetTevSwapModeTable(GXTevSwapSel table, GXTevColorChan red, GXTevColorChan green, GXTevColorChan blue, GXTevColorChan alpha) -{ - u32 *Kreg; -#if !DEBUG - // not a real variable, but needed to match release - int index = table * 2; -#endif - - CHECK_GXBEGIN(0x3D2, "GXSetTevSwapModeTable"); - ASSERTMSGLINE(0x3D3, table < 4, "GXSetTevSwapModeTable: Invalid Swap Selection Index"); - -#if DEBUG - Kreg = &gx->tevKsel[table * 2]; -#else - Kreg = &gx->tevKsel[index]; -#endif - SET_REG_FIELD(0x272, *Kreg, 2, 0, red); - SET_REG_FIELD(0x273, *Kreg, 2, 2, green); - - GX_WRITE_RAS_REG(*Kreg); - - Kreg = &gx->tevKsel[table * 2 + 1]; - SET_REG_FIELD(0x277, *Kreg, 2, 0, blue); - SET_REG_FIELD(0x278, *Kreg, 2, 2, alpha); - - GX_WRITE_RAS_REG(*Kreg); - gx->bpSentNot = 0; -} - -void GXSetTevClampMode(void) -{ - ASSERTMSGLINE(0x3F4, 0, "GXSetTevClampMode: not available on this hardware"); -} - -void GXSetAlphaCompare(GXCompare comp0, u8 ref0, GXAlphaOp op, GXCompare comp1, u8 ref1) -{ - u32 reg = 0; - - CHECK_GXBEGIN(0x416, "GXSetAlphaCompare"); - SET_REG_FIELD(0x2B4, reg, 8, 0, ref0); - SET_REG_FIELD(0x2B5, reg, 8, 8, ref1); - SET_REG_FIELD(0x2B6, reg, 3, 16, comp0); - SET_REG_FIELD(0x2B7, reg, 3, 19, comp1); - SET_REG_FIELD(0x2B8, reg, 2, 22, op); - SET_REG_FIELD(0x2B9, reg, 8, 24, 0xF3); - - GX_WRITE_RAS_REG(reg); - gx->bpSentNot = 0; -} - -void GXSetZTexture(GXZTexOp op, GXTexFmt fmt, u32 bias) -{ - u32 zenv0; - u32 zenv1; - u32 type; - - CHECK_GXBEGIN(0x435, "GXSetZTexture"); - - zenv0 = 0; - SET_REG_FIELD(0x2D4, zenv0, 24, 0, bias); - SET_REG_FIELD(0x2D5, zenv0, 8, 24, 0xF4); - - zenv1 = 0; - switch (fmt) { - case GX_TF_Z8: - type = 0; - break; - case GX_TF_Z16: - type = 1; - break; - case GX_TF_Z24X8: - type = 2; - break; - default: - ASSERTMSGLINE(0x441, 0, "GXSetZTexture: Invalid z-texture format"); - type = 2; - break; - } - SET_REG_FIELD(0x2E0, zenv1, 2, 0, type); - SET_REG_FIELD(0x2E1, zenv1, 2, 2, op); - SET_REG_FIELD(0x2E2, zenv1, 8, 24, 0xF5); - - GX_WRITE_RAS_REG(zenv0); - GX_WRITE_RAS_REG(zenv1); - gx->bpSentNot = 0; -} - -void GXSetTevOrder(GXTevStageID stage, GXTexCoordID coord, GXTexMapID map, GXChannelID color) -{ - u32 *ptref; - u32 tmap; - u32 tcoord; - static int c2r[] = { 0, 1, 0, 1, 0, 1, 7, 5, 6 }; - - CHECK_GXBEGIN(0x46B, "GXSetTevOrder"); - ASSERTMSGLINE(0x46C, stage < 16, "GXSetTevOrder: Invalid Tev Stage Index"); - ASSERTMSGLINE(0x46E, coord < 8 || coord == 0xFF, "GXSetTevOrder: Invalid Texcoord"); - ASSERTMSGLINE(0x470, (map & ~0x100) < 8 || map == 0xFF, "GXSetTevOrder: Invalid Tex Map"); - ASSERTMSGLINE(0x472, color >= 4 && color <= 0xFF, "GXSetTevOrder: Invalid Color Channel ID"); - - ptref = &gx->tref[stage / 2]; - gx->texmapId[stage] = map; - - tmap = map & ~0x100; - tmap = (tmap >= GX_MAX_TEXMAP) ? GX_TEXMAP0 : tmap; - - if (coord >= GX_MAX_TEXCOORD) { - tcoord = GX_TEXCOORD0; - gx->tevTcEnab = gx->tevTcEnab & ~(1 << stage); - } - else { - tcoord = coord; - gx->tevTcEnab = gx->tevTcEnab | (1 << stage); - } - - if (stage & 1) { - SET_REG_FIELD(0x486, *ptref, 3, 12, tmap); - SET_REG_FIELD(0x487, *ptref, 3, 15, tcoord); - SET_REG_FIELD(0x489, *ptref, 3, 19, (color == GX_COLOR_NULL) ? 7 : c2r[color]); - SET_REG_FIELD(0x48B, *ptref, 1, 18, (map != GX_TEXMAP_NULL && !(map & 0x100))); - } - else { - SET_REG_FIELD(0x48E, *ptref, 3, 0, tmap); - SET_REG_FIELD(0x48F, *ptref, 3, 3, tcoord); - SET_REG_FIELD(0x491, *ptref, 3, 7, (color == GX_COLOR_NULL) ? 7 : c2r[color]); - SET_REG_FIELD(0x493, *ptref, 1, 6, (map != GX_TEXMAP_NULL && !(map & 0x100))); - } - - GX_WRITE_RAS_REG(*ptref); - gx->bpSentNot = 0; - gx->dirtyState |= 1; -} - -void GXSetNumTevStages(u8 nStages) -{ - CHECK_GXBEGIN(0x4A3, "GXSetNumTevStages"); - - ASSERTMSGLINE(0x4A5, nStages != 0 && nStages <= 16, "GXSetNumTevStages: Exceed max number of tex stages"); - SET_REG_FIELD(0x334, gx->genMode, 4, 10, nStages - 1); - gx->dirtyState |= 4; -} diff --git a/src/dolphin/gx/GXTexture.c b/src/dolphin/gx/GXTexture.c deleted file mode 100644 index ec67f795..00000000 --- a/src/dolphin/gx/GXTexture.c +++ /dev/null @@ -1,1269 +0,0 @@ -#include -#include - -#include - -// GXTexObj internal data -typedef struct __GXTexObjInt_struct { - u32 mode0; - u32 mode1; - u32 image0; - u32 image3; - void *userData; - GXTexFmt fmt; - u32 tlutName; - u16 loadCnt; - u8 loadFmt; - u8 flags; -} __GXTexObjInt; - -// GXTexRegion internal data -typedef struct __GXTexRegionInt_struct { - u32 image1; - u32 image2; - u16 sizeEven; - u16 sizeOdd; - u8 is32bMipmap; - u8 isCached; -} __GXTexRegionInt; - -// GXTlutObj internal data -typedef struct __GXTlutObjInt_struct { - u32 tlut; - u32 loadTlut0; - u16 numEntries; -} __GXTlutObjInt; - -// GXTlutRegion internal data -typedef struct __GXTlutRegionInt_struct { - u32 loadTlut1; - __GXTlutObjInt tlutObj; -} __GXTlutRegionInt; - -u8 GXTexMode0Ids[8] = { 0x80, 0x81, 0x82, 0x83, 0xA0, 0xA1, 0xA2, 0xA3 }; -u8 GXTexMode1Ids[8] = { 0x84, 0x85, 0x86, 0x87, 0xA4, 0xA5, 0xA6, 0xA7 }; -u8 GXTexImage0Ids[8] = { 0x88, 0x89, 0x8A, 0x8B, 0xA8, 0xA9, 0xAA, 0xAB }; -u8 GXTexImage1Ids[8] = { 0x8C, 0x8D, 0x8E, 0x8F, 0xAC, 0xAD, 0xAE, 0xAF }; -u8 GXTexImage2Ids[8] = { 0x90, 0x91, 0x92, 0x93, 0xB0, 0xB1, 0xB2, 0xB3 }; -u8 GXTexImage3Ids[8] = { 0x94, 0x95, 0x96, 0x97, 0xB4, 0xB5, 0xB6, 0xB7 }; -u8 GXTexTlutIds[8] = { 0x98, 0x99, 0x9A, 0x9B, 0xB8, 0xB9, 0xBA, 0xBB }; -static u8 GX2HWFiltConv[6] = { 0x00, 0x04, 0x01, 0x05, 0x02, 0x06 }; -static u8 HW2GXFiltConv[8] = { 0x00, 0x02, 0x04, 0x00, 0x01, 0x03, 0x05, 0x00 }; - -static void __GXGetTexTileShift(GXTexFmt fmt, u32 *rowTileS, u32 *colTileS) -{ - switch (fmt) { - case GX_TF_I4: - case 0x8: - case GX_TF_CMPR: - case GX_CTF_R4: - case GX_CTF_Z4: - *rowTileS = 3; - *colTileS = 3; - break; - case GX_TF_I8: - case GX_TF_IA4: - case 0x9: - case GX_TF_Z8: - case GX_CTF_RA4: - case GX_TF_A8: - case GX_CTF_R8: - case GX_CTF_G8: - case GX_CTF_B8: - case GX_CTF_Z8M: - case GX_CTF_Z8L: - *rowTileS = 3; - *colTileS = 2; - break; - case GX_TF_IA8: - case GX_TF_RGB565: - case GX_TF_RGB5A3: - case GX_TF_RGBA8: - case 0xA: - case GX_TF_Z16: - case GX_TF_Z24X8: - case GX_CTF_RA8: - case GX_CTF_RG8: - case GX_CTF_GB8: - case GX_CTF_Z16L: - *rowTileS = 2; - *colTileS = 2; - break; - default: - *rowTileS = *colTileS = 0; - ASSERTMSGLINEV(0x1BC, 0, "%s: invalid texture format", "GX"); - break; - } -} - -u32 GXGetTexBufferSize(u16 width, u16 height, u32 format, u8 mipmap, u8 max_lod) -{ - u32 tileShiftX; - u32 tileShiftY; - u32 tileBytes; - u32 bufferSize; - u32 nx; - u32 ny; - u32 level; - - ASSERTMSGLINEV(0x1CC, width <= 1024, "%s: width too large", "GXGetTexBufferSize"); - ASSERTMSGLINEV(0x1CD, height <= 1024, "%s: height too large", "GXGetTexBufferSize"); - - __GXGetTexTileShift(format, &tileShiftX, &tileShiftY); - if (format == GX_TF_RGBA8 || format == GX_TF_Z24X8) { - tileBytes = 64; - } - else { - tileBytes = 32; - } - if (mipmap == 1) { - nx = 1 << (31 - __cntlzw(width)); - ASSERTMSGLINEV(0x1DF, width == nx, "%s: width must be a power of 2", "GXGetTexBufferSize"); - ny = 1 << (31 - __cntlzw(height)); - ASSERTMSGLINEV(0x1E2, height == ny, "%s: height must be a power of 2", "GXGetTexBufferSize"); - - bufferSize = 0; - for (level = 0; level < max_lod; level++) { - nx = (width + (1 << tileShiftX) - 1) >> tileShiftX; - ny = (height + (1 << tileShiftY) - 1) >> tileShiftY; - bufferSize += tileBytes * (nx * ny); - if (width == 1 && height == 1) { - break; - } - width = (width > 1) ? width >> 1 : 1; - height = (height > 1) ? height >> 1 : 1; - } - } - else { - nx = (width + (1 << tileShiftX) - 1) >> tileShiftX; - ny = (height + (1 << tileShiftY) - 1) >> tileShiftY; - bufferSize = nx * ny * tileBytes; - } - return bufferSize; -} - -void __GetImageTileCount(GXTexFmt fmt, u16 wd, u16 ht, u32 *rowTiles, u32 *colTiles, u32 *cmpTiles) -{ - u32 texRowShift; - u32 texColShift; - - __GXGetTexTileShift(fmt, &texRowShift, &texColShift); - if (wd == 0) { - wd = 1; - } - if (ht == 0) { - ht = 1; - } - *rowTiles = (wd + (1 << texRowShift) - 1) >> texRowShift; - *colTiles = (ht + (1 << texColShift) - 1) >> texColShift; - *cmpTiles = (fmt == GX_TF_RGBA8 || fmt == GX_TF_Z24X8) ? 2 : 1; -} - -#define SOME_SET_REG_MACRO(reg, val) \ - do { \ - (reg) = (u32)__rlwinm((u32)(reg), 0, 27, 23) | val; \ - } while (0); - -void GXInitTexObj(GXTexObj *obj, void *image_ptr, u16 width, u16 height, GXTexFmt format, GXTexWrapMode wrap_s, GXTexWrapMode wrap_t, u8 mipmap) -{ - u32 imageBase; - u32 maxLOD; - u16 rowT; - u16 colT; - u32 rowC; - u32 colC; - __GXTexObjInt *t = (__GXTexObjInt *)obj; - - ASSERTMSGLINE(0x235, obj, "Texture Object Pointer is null"); - CHECK_GXBEGIN(0x237, "GXInitTexObj"); - ASSERTMSGLINEV(0x238, width <= 1024, "%s: width too large", "GXInitTexObj"); - ASSERTMSGLINEV(0x239, height <= 1024, "%s: height too large", "GXInitTexObj"); - ASSERTMSGLINEV(0x23B, !(format & 0x20), "%s: invalid texture format", "GXInitTexObj"); - memset(t, 0, 0x20); - SET_REG_FIELD(0x258, t->mode0, 2, 0, wrap_s); - SET_REG_FIELD(0x259, t->mode0, 2, 2, wrap_t); - SET_REG_FIELD(0x25A, t->mode0, 1, 4, 1); - if (mipmap != 0) { - u8 lmax; - t->flags |= 1; - - if (format == 8 || format == 9 || format == 10) { - SOME_SET_REG_MACRO(t->mode0, 0xa0); - } - else { - SOME_SET_REG_MACRO(t->mode0, 0xc0); - } - - if (width > height) { - maxLOD = 31 - __cntlzw(width); - } - else { - maxLOD = 31 - __cntlzw(height); - } - lmax = 16.0f * maxLOD; - SET_REG_FIELD(0x278, t->mode1, 8, 8, lmax); - } - else { - SOME_SET_REG_MACRO(t->mode0, 0x80); - } - t->fmt = format; - SET_REG_FIELD(0x286, t->image0, 10, 0, width - 1); - SET_REG_FIELD(0x287, t->image0, 10, 10, height - 1); - SET_REG_FIELD(0x288, t->image0, 4, 20, format & 0xF); - ASSERTMSGLINEV(0x28E, ((u32)image_ptr & 0x1F) == 0, "%s: %s pointer not aligned to 32B", "GXInitTexObj", "image"); - imageBase = (u32)((u32)image_ptr >> 5) & 0x01FFFFFF; - SET_REG_FIELD(0x290, t->image3, 21, 0, imageBase); - switch (format & 0xF) { - case 0: - case 8: - t->loadFmt = 1; - rowT = 3; - colT = 3; - break; - case 1: - case 2: - case 9: - t->loadFmt = 2; - rowT = 3; - colT = 2; - break; - case 3: - case 4: - case 5: - case 10: - t->loadFmt = 2; - rowT = 2; - colT = 2; - break; - case 6: - t->loadFmt = 3; - rowT = 2; - colT = 2; - break; - case 14: - t->loadFmt = 0; - rowT = 3; - colT = 3; - break; - default: - ASSERTMSGLINEV(0x2BB, 0, "%s: invalid texture format", "GXPreLoadEntireTexture"); - t->loadFmt = 2; - rowT = 2; - colT = 2; - break; - } - rowC = (width + (1 << rowT) - 1) >> rowT; - colC = (height + (1 << colT) - 1) >> colT; - t->loadCnt = (rowC * colC) & 0x7FFF; - t->flags |= 2; -} - -void GXInitTexObjCI( - GXTexObj *obj, void *image_ptr, u16 width, u16 height, GXCITexFmt format, GXTexWrapMode wrap_s, GXTexWrapMode wrap_t, u8 mipmap, u32 tlut_name) -{ - __GXTexObjInt *t = (__GXTexObjInt *)obj; - - ASSERTMSGLINE(0x2E1, obj, "Texture Object Pointer is null"); - CHECK_GXBEGIN(0x2E3, "GXInitTexObjCI"); - GXInitTexObj(obj, image_ptr, width, height, format, wrap_s, wrap_t, mipmap); - t->flags &= 0xFFFFFFFD; - t->tlutName = tlut_name; -} - -void GXInitTexObjLOD(GXTexObj *obj, GXTexFilter min_filt, GXTexFilter mag_filt, f32 min_lod, f32 max_lod, f32 lod_bias, u8 bias_clamp, u8 do_edge_lod, - GXAnisotropy max_aniso) -{ - u8 lbias; - u8 lmin; - u8 lmax; - __GXTexObjInt *t = (__GXTexObjInt *)obj; - - ASSERTMSGLINE(0x308, obj, "Texture Object Pointer is null"); - CHECK_GXBEGIN(0x30A, "GXInitTexObjLOD"); - - if (lod_bias < -4.0f) { - lod_bias = -4.0f; - } - else if (lod_bias >= 4.0f) { - lod_bias = 3.99f; - } - lbias = 32.0f * lod_bias; - SET_REG_FIELD(0x314, t->mode0, 8, 9, lbias); - ASSERTMSG1LINE(0x317, (u32)mag_filt <= 1, "%s: invalid mag_filt value", "GXInitTexObjLOD"); - SET_REG_FIELD(0x318, t->mode0, 1, 4, (mag_filt == GX_LINEAR) ? 1 : 0); - ASSERTMSG1LINE(0x31B, (u32)min_filt <= 5, "%s: invalid min_filt value", "GXInitTexObjLOD"); - SET_REG_FIELD(0x31C, t->mode0, 3, 5, GX2HWFiltConv[min_filt]); - SET_REG_FIELD(0x31E, t->mode0, 1, 8, do_edge_lod ? 0 : 1); - SET_REG_FIELD(0x321, t->mode0, 1, 17, 0); - SET_REG_FIELD(0x321, t->mode0, 1, 18, 0); - SET_REG_FIELD(0x321, t->mode0, 2, 19, max_aniso); - SET_REG_FIELD(0x322, t->mode0, 1, 21, bias_clamp); - - if (min_lod < 0.0f) { - min_lod = 0.0f; - } - else if (min_lod > 10.0f) { - min_lod = 10.0f; - } - lmin = 16.0f * min_lod; - if (max_lod < 0.0f) { - max_lod = 0.0f; - } - else if (max_lod > 10.0f) { - max_lod = 10.0f; - } - lmax = 16.0f * max_lod; - SET_REG_FIELD(0x330, t->mode1, 8, 0, lmin); - SET_REG_FIELD(0x331, t->mode1, 8, 8, lmax); -} - -void GXInitTexObjData(GXTexObj *obj, void *image_ptr) -{ - u32 imageBase; - __GXTexObjInt *t = (__GXTexObjInt *)obj; - - ASSERTMSGLINE(0x343, obj, "Texture Object Pointer is null"); - CHECK_GXBEGIN(0x345, "GXInitTexObjData"); - ASSERTMSGLINEV(0x348, ((u32)image_ptr & 0x1F) == 0, "%s: %s pointer not aligned to 32B", "GXInitTexObjData", "image"); - imageBase = ((u32)image_ptr >> 5) & 0x01FFFFFF; - SET_REG_FIELD(0x34B, t->image3, 21, 0, imageBase); -} - -void GXInitTexObjWrapMode(GXTexObj *obj, GXTexWrapMode sm, GXTexWrapMode tm) -{ - __GXTexObjInt *t = (__GXTexObjInt *)obj; - - ASSERTMSGLINE(0x35C, obj, "Texture Object Pointer is null"); - CHECK_GXBEGIN(0x35E, "GXInitTexObjWrapMode"); - SET_REG_FIELD(0x360, t->mode0, 2, 0, sm); - SET_REG_FIELD(0x361, t->mode0, 2, 2, tm); -} - -void GXInitTexObjTlut(GXTexObj *obj, u32 tlut_name) -{ - __GXTexObjInt *t = (__GXTexObjInt *)obj; - - ASSERTMSGLINE(0x371, obj, "Texture Object Pointer is null"); - CHECK_GXBEGIN(0x373, "GXInitTexObjTlut"); - t->tlutName = tlut_name; -} - -void GXInitTexObjFilter(GXTexObj *obj, GXTexFilter min_filt, GXTexFilter mag_filt) -{ - __GXTexObjInt *t = (__GXTexObjInt *)obj; - - ASSERTMSGLINE(0x386, obj, "Texture Object Pointer is null"); - CHECK_GXBEGIN(0x388, "GXInitTexObjFilter"); - - ASSERTMSG1LINE(0x38B, (u32)mag_filt <= 1, "%s: invalid mag_filt value", "GXInitTexObjFilter"); - SET_REG_FIELD(0x38C, t->mode0, 1, 4, mag_filt == 1 ? 1 : 0); - - ASSERTMSG1LINE(0x38F, (u32)min_filt <= 5, "%s: invalid min_filt value", "GXInitTexObjFilter"); - SET_REG_FIELD(0x390, t->mode0, 3, 5, GX2HWFiltConv[min_filt]); -} - -void GXInitTexObjMaxLOD(GXTexObj *obj, f32 max_lod) -{ - u8 lmax; - __GXTexObjInt *t = (__GXTexObjInt *)obj; - - ASSERTMSGLINE(0x3A2, obj, "Texture Object Pointer is null"); - CHECK_GXBEGIN(0x3A4, "GXInitTexObjMaxLOD"); - - if (max_lod < 0.0f) { - max_lod = 0.0f; - } - else if (max_lod > 10.0f) { - max_lod = 10.0f; - } - lmax = 16.0f * max_lod; - SET_REG_FIELD(0x3AA, t->mode1, 8, 8, lmax); -} - -void GXInitTexObjMinLOD(GXTexObj *obj, f32 min_lod) -{ - u8 lmin; - __GXTexObjInt *t = (__GXTexObjInt *)obj; - - ASSERTMSGLINE(0x3BC, obj, "Texture Object Pointer is null"); - CHECK_GXBEGIN(0x3BE, "GXInitTexObjMinLOD"); - - if (min_lod < 0.0f) { - min_lod = 0.0f; - } - else if (min_lod > 10.0f) { - min_lod = 10.0f; - } - lmin = 16.0f * min_lod; - SET_REG_FIELD(0x3C4, t->mode1, 8, 0, lmin); -} - -void GXInitTexObjLODBias(GXTexObj *obj, f32 lod_bias) -{ - u8 lbias; // r30 - __GXTexObjInt *t = (__GXTexObjInt *)obj; // r29 - - ASSERTMSGLINE(0x3D6, obj, "Texture Object Pointer is null"); - CHECK_GXBEGIN(0x3D8, "GXInitTexObjLODBias"); - - if (lod_bias < -4.0f) { - lod_bias = -4.0f; - } - else if (lod_bias >= 4.0f) { - lod_bias = 3.99f; - } - lbias = 32.0f * lod_bias; - SET_REG_FIELD(0x3DF, t->mode0, 8, 9, lbias); -} - -void GXInitTexObjBiasClamp(GXTexObj *obj, u8 bias_clamp) -{ - __GXTexObjInt *t = (__GXTexObjInt *)obj; // r30 - - ASSERTMSGLINE(0x3EF, obj, "Texture Object Pointer is null"); - CHECK_GXBEGIN(0x3F1, "GXInitTexObjBiasClamp"); - - SET_REG_FIELD(0x3F3, t->mode0, 1, 21, bias_clamp); -} - -void GXInitTexObjEdgeLOD(GXTexObj *obj, u8 do_edge_lod) -{ - __GXTexObjInt *t = (__GXTexObjInt *)obj; // r30 - - ASSERTMSGLINE(0x403, obj, "Texture Object Pointer is null"); - CHECK_GXBEGIN(0x405, "GXInitTexObjEdgeLOD"); - - SET_REG_FIELD(0x407, t->mode0, 1, 8, do_edge_lod ? 0 : 1); -} - -void GXInitTexObjMaxAniso(GXTexObj *obj, GXAnisotropy max_aniso) -{ - __GXTexObjInt *t = (__GXTexObjInt *)obj; // r30 - - ASSERTMSGLINE(0x417, obj, "Texture Object Pointer is null"); - CHECK_GXBEGIN(0x419, "GXInitTexObjMaxAniso"); - - SET_REG_FIELD(0x41B, t->mode0, 2, 19, max_aniso); -} - -void GXInitTexObjUserData(GXTexObj *obj, void *user_data) -{ - __GXTexObjInt *t = (__GXTexObjInt *)obj; - - ASSERTMSGLINE(0x42C, obj, "Texture Object Pointer is null"); - CHECK_GXBEGIN(0x42D, "GXInitTexObjUserData"); - t->userData = user_data; -} - -void *GXGetTexObjUserData(const GXTexObj *obj) -{ - const __GXTexObjInt *t = (const __GXTexObjInt *)obj; - - ASSERTMSGLINE(0x433, obj, "Texture Object Pointer is null"); - return t->userData; -} - -void GXGetTexObjAll( - const GXTexObj *obj, void **image_ptr, u16 *width, u16 *height, GXTexFmt *format, GXTexWrapMode *wrap_s, GXTexWrapMode *wrap_t, u8 *mipmap) -{ - const __GXTexObjInt *t = (const __GXTexObjInt *)obj; - - ASSERTMSGLINE(0x447, obj, "Texture Object Pointer is null"); - *image_ptr = (void *)(GET_REG_FIELD(t->image3, 21, 0) << 5); - *width = (u32)GET_REG_FIELD(t->image0, 10, 0) + 1; - *height = (u32)GET_REG_FIELD(t->image0, 10, 10) + 1; - *format = t->fmt; - *wrap_s = GET_REG_FIELD(t->mode0, 2, 0); - *wrap_t = GET_REG_FIELD(t->mode0, 2, 2); - *mipmap = (t->flags & 1) == 1; -} - -void *GXGetTexObjData(const GXTexObj *to) -{ - const __GXTexObjInt *t = (const __GXTexObjInt *)to; - - ASSERTMSGLINE(0x454, to, "Texture Object Pointer is null"); - return (void *)(GET_REG_FIELD(t->image3, 21, 0) << 5); -} - -u16 GXGetTexObjWidth(const GXTexObj *to) -{ - const __GXTexObjInt *t = (const __GXTexObjInt *)to; - - ASSERTMSGLINE(0x45A, to, "Texture Object Pointer is null"); - return (u32)GET_REG_FIELD(t->image0, 10, 0) + 1; -} - -u16 GXGetTexObjHeight(const GXTexObj *to) -{ - const __GXTexObjInt *t = (const __GXTexObjInt *)to; - - ASSERTMSGLINE(0x460, to, "Texture Object Pointer is null"); - return (u32)GET_REG_FIELD(t->image0, 10, 10) + 1; -} - -GXTexFmt GXGetTexObjFmt(const GXTexObj *to) -{ - const __GXTexObjInt *t = (const __GXTexObjInt *)to; - - ASSERTMSGLINE(0x466, to, "Texture Object Pointer is null"); - return t->fmt; -} - -GXTexWrapMode GXGetTexObjWrapS(const GXTexObj *to) -{ - const __GXTexObjInt *t = (const __GXTexObjInt *)to; - - ASSERTMSGLINE(0x46C, to, "Texture Object Pointer is null"); - return GET_REG_FIELD(t->mode0, 2, 0); -} - -GXTexWrapMode GXGetTexObjWrapT(const GXTexObj *to) -{ - const __GXTexObjInt *t = (const __GXTexObjInt *)to; - - ASSERTMSGLINE(0x472, to, "Texture Object Pointer is null"); - return GET_REG_FIELD(t->mode0, 2, 2); -} - -GXBool GXGetTexObjMipMap(const GXTexObj *to) -{ - const __GXTexObjInt *t = (const __GXTexObjInt *)to; - - ASSERTMSGLINE(0x478, to, "Texture Object Pointer is null"); - return (t->flags & 1) == 1; -} - -// NONMATCHING -void GXGetTexObjLODAll(const GXTexObj *tex_obj, GXTexFilter *min_filt, GXTexFilter *mag_filt, f32 *min_lod, f32 *max_lod, f32 *lod_bias, - u8 *bias_clamp, u8 *do_edge_lod, GXAnisotropy *max_aniso) -{ - s16 tmp; // r30 - const __GXTexObjInt *t = (const __GXTexObjInt *)tex_obj; - - ASSERTMSGLINE(0x48E, tex_obj, "Texture Object Pointer is null"); - *min_filt = HW2GXFiltConv[GET_REG_FIELD(t->mode0, 3, 5)]; - *mag_filt = GET_REG_FIELD(t->mode0, 1, 4); - *min_lod = (u8)t->mode1 / 16.0f; - *max_lod = (u32)GET_REG_FIELD(t->mode1, 8, 8) / 16.0f; - tmp = (s32)GET_REG_FIELD(t->mode0, 8, 9); - *lod_bias = (s8)tmp * 0.03125f; - *bias_clamp = (u32)GET_REG_FIELD(t->mode0, 1, 21); - *do_edge_lod = !GET_REG_FIELD(t->mode0, 1, 8); - *max_aniso = GET_REG_FIELD(t->mode0, 2, 19); -} - -GXTexFilter GXGetTexObjMinFilt(const GXTexObj *tex_obj) -{ - const __GXTexObjInt *t = (const __GXTexObjInt *)tex_obj; - - ASSERTMSGLINE(0x49E, tex_obj, "Texture Object Pointer is null"); - return HW2GXFiltConv[GET_REG_FIELD(t->mode0, 3, 5)]; -} - -GXTexFilter GXGetTexObjMagFilt(const GXTexObj *tex_obj) -{ - const __GXTexObjInt *t = (const __GXTexObjInt *)tex_obj; - - ASSERTMSGLINE(0x4A5, tex_obj, "Texture Object Pointer is null"); - return GET_REG_FIELD(t->mode0, 1, 4); -} - -f32 GXGetTexObjMinLOD(const GXTexObj *tex_obj) -{ - const __GXTexObjInt *t = (const __GXTexObjInt *)tex_obj; - - ASSERTMSGLINE(0x4AB, tex_obj, "Texture Object Pointer is null"); - return (u32)GET_REG_FIELD(t->mode1, 8, 0) / 16.0f; -} - -f32 GXGetTexObjMaxLOD(const GXTexObj *tex_obj) -{ - const __GXTexObjInt *t = (const __GXTexObjInt *)tex_obj; - - ASSERTMSGLINE(0x4B1, tex_obj, "Texture Object Pointer is null"); - return (u32)GET_REG_FIELD(t->mode1, 8, 8) / 16.0f; -} - -// NONMATCHING -f32 GXGetTexObjLODBias(const GXTexObj *tex_obj) -{ - s16 tmp; - const __GXTexObjInt *t = (const __GXTexObjInt *)tex_obj; - - ASSERTMSGLINE(0x4B8, tex_obj, "Texture Object Pointer is null"); - tmp = (s32)GET_REG_FIELD(t->mode0, 8, 9); - return (s8)tmp * 0.03125f; -} - -GXBool GXGetTexObjBiasClamp(const GXTexObj *tex_obj) -{ - const __GXTexObjInt *t = (const __GXTexObjInt *)tex_obj; - - ASSERTMSGLINE(0x4BF, tex_obj, "Texture Object Pointer is null"); - return (u32)GET_REG_FIELD(t->mode0, 1, 21); -} - -GXBool GXGetTexObjEdgeLOD(const GXTexObj *tex_obj) -{ - const __GXTexObjInt *t = (const __GXTexObjInt *)tex_obj; - - ASSERTMSGLINE(0x4C5, tex_obj, "Texture Object Pointer is null"); - return !GET_REG_FIELD(t->mode0, 1, 8); -} - -GXAnisotropy GXGetTexObjMaxAniso(const GXTexObj *tex_obj) -{ - const __GXTexObjInt *t = (const __GXTexObjInt *)tex_obj; - - ASSERTMSGLINE(0x4CB, tex_obj, "Texture Object Pointer is null"); - return GET_REG_FIELD(t->mode0, 2, 19); -} - -u32 GXGetTexObjTlut(const GXTexObj *tex_obj) -{ - const __GXTexObjInt *t = (const __GXTexObjInt *)tex_obj; - - ASSERTMSGLINE(0x4D1, tex_obj, "Texture Object Pointer is null"); - return t->tlutName; -} - -void GXLoadTexObjPreLoaded(GXTexObj *obj, GXTexRegion *region, GXTexMapID id) -{ - __GXTlutRegionInt *tlr; - __GXTexObjInt *t = (__GXTexObjInt *)obj; - __GXTexRegionInt *r = (__GXTexRegionInt *)region; - - ASSERTMSGLINE(0x4E9, obj, "Texture Object Pointer is null"); - ASSERTMSGLINE(0x4E9, region, "TexRegion Object Pointer is null"); - CHECK_GXBEGIN(0x4EB, "GXLoadTexObjPreLoaded"); - ASSERTMSGLINEV(0x4EC, id < 8, "%s: invalid texture map ID", "GXLoadTexObj"); - - SET_REG_FIELD(0x4F7, t->mode0, 8, 24, GXTexMode0Ids[id]); - SET_REG_FIELD(0x4F8, t->mode1, 8, 24, GXTexMode1Ids[id]); - SET_REG_FIELD(0x4F9, t->image0, 8, 24, GXTexImage0Ids[id]); - SET_REG_FIELD(0x4FA, r->image1, 8, 24, GXTexImage1Ids[id]); - SET_REG_FIELD(0x4FB, r->image2, 8, 24, GXTexImage2Ids[id]); - SET_REG_FIELD(0x4FC, t->image3, 8, 24, GXTexImage3Ids[id]); - - GX_WRITE_RAS_REG(t->mode0); - GX_WRITE_RAS_REG(t->mode1); - GX_WRITE_RAS_REG(t->image0); - GX_WRITE_RAS_REG(r->image1); - GX_WRITE_RAS_REG(r->image2); - GX_WRITE_RAS_REG(t->image3); - - if (!(t->flags & 2)) { - ASSERTMSGLINEV(0x507, gx->tlutRegionCallback, "%s: Tex/Tlut Region Callback not set", "GXLoadTexObj/PreLoaded"); - tlr = (__GXTlutRegionInt *)gx->tlutRegionCallback(t->tlutName); - ASSERTMSGLINEV(0x509, tlr, "%s: Tex/Tlut Region Callback returns NULL", "GXLoadTexObj/PreLoaded"); - - SET_REG_FIELD(0x50B, tlr->tlutObj.tlut, 8, 24, GXTexTlutIds[id]); - GX_WRITE_RAS_REG(tlr->tlutObj.tlut); - } - gx->tImage0[id] = t->image0; - gx->tMode0[id] = t->mode0; - gx->dirtyState |= 1; - gx->bpSentNot = 0; -} - -void GXLoadTexObj(GXTexObj *obj, GXTexMapID id) -{ - GXTexRegion *r; - - CHECK_GXBEGIN(0x526, "GXLoadTexObj"); - ASSERTMSGLINEV(0x527, id < 8, "%s: invalid texture map ID", "GXLoadTexObj"); - ASSERTMSGLINEV(0x52C, gx->texRegionCallback, "%s: Tex/Tlut Region Callback not set", "GXLoadTexObj"); - r = gx->texRegionCallback(obj, id); - ASSERTMSGLINEV(0x52E, r, "%s: Tex/Tlut Region Callback returns NULL", "GXLoadTexObj"); - GXLoadTexObjPreLoaded(obj, r, id); -} - -void GXInitTlutObj(GXTlutObj *tlut_obj, void *lut, GXTlutFmt fmt, u16 n_entries) -{ - __GXTlutObjInt *t = (__GXTlutObjInt *)tlut_obj; - - ASSERTMSGLINE(0x546, tlut_obj, "TLut Object Pointer is null"); - CHECK_GXBEGIN(0x547, "GXInitTlutObj"); - ASSERTMSGLINEV(0x54A, n_entries <= 0x4000, "%s: number of entries exceeds maximum", "GXInitTlutObj"); - ASSERTMSGLINEV(0x54C, ((u32)lut & 0x1F) == 0, "%s: %s pointer not aligned to 32B", "GXInitTlutObj", "Tlut"); - t->tlut = 0; - SET_REG_FIELD(0x54F, t->tlut, 2, 10, fmt); - SET_REG_FIELD(0x550, t->loadTlut0, 21, 0, ((u32)lut & 0x3FFFFFFF) >> 5); - SET_REG_FIELD(0x551, t->loadTlut0, 8, 24, 0x64); - t->numEntries = n_entries; -} - -void GXGetTlutObjAll(const GXTlutObj *tlut_obj, void **data, GXTlutFmt *format, u16 *numEntries) -{ - const __GXTlutObjInt *t = (const __GXTlutObjInt *)tlut_obj; - - ASSERTMSGLINE(0x566, tlut_obj, "TLut Object Pointer is null"); - *data = (void *)(GET_REG_FIELD(t->loadTlut0, 21, 0) << 5); - *format = GET_REG_FIELD(t->tlut, 2, 10); - *numEntries = t->numEntries; -} - -void *GXGetTlutObjData(const GXTlutObj *tlut_obj) -{ - const __GXTlutObjInt *t = (const __GXTlutObjInt *)tlut_obj; - - ASSERTMSGLINE(0x56F, tlut_obj, "TLut Object Pointer is null"); - return (void *)(GET_REG_FIELD(t->loadTlut0, 21, 0) << 5); -} - -GXTlutFmt GXGetTlutObjFmt(const GXTlutObj *tlut_obj) -{ - const __GXTlutObjInt *t = (const __GXTlutObjInt *)tlut_obj; - - ASSERTMSGLINE(0x576, tlut_obj, "TLut Object Pointer is null"); - return GET_REG_FIELD(t->tlut, 2, 10); -} - -u16 GXGetTlutObjNumEntries(const GXTlutObj *tlut_obj) -{ - const __GXTlutObjInt *t = (const __GXTlutObjInt *)tlut_obj; - - ASSERTMSGLINE(0x57D, tlut_obj, "TLut Object Pointer is null"); - return t->numEntries; -} - -void GXLoadTlut(GXTlutObj *tlut_obj, u32 tlut_name) -{ - __GXTlutRegionInt *r; - u32 tlut_offset; - __GXTlutObjInt *t = (__GXTlutObjInt *)tlut_obj; - - ASSERTMSGLINE(0x598, tlut_obj, "TLut Object Pointer is null"); - CHECK_GXBEGIN(0x59A, "GXLoadTlut"); - ASSERTMSGLINEV(0x59B, gx->tlutRegionCallback, "%s: Tex/Tlut Region Callback not set", "GXLoadTlut"); - r = (__GXTlutRegionInt *)gx->tlutRegionCallback(tlut_name); - ASSERTMSGLINEV(0x59D, r, "%s: Tex/Tlut Region Callback returns NULL", "GXLoadTlut"); - __GXFlushTextureState(); - GX_WRITE_RAS_REG(t->loadTlut0); - GX_WRITE_RAS_REG(r->loadTlut1); - __GXFlushTextureState(); - tlut_offset = r->loadTlut1 & 0x3FF; - SET_REG_FIELD(0x5AD, t->tlut, 10, 0, tlut_offset); - r->tlutObj = *t; -} - -void GXInitTexCacheRegion(GXTexRegion *region, u8 is_32b_mipmap, u32 tmem_even, GXTexCacheSize size_even, u32 tmem_odd, GXTexCacheSize size_odd) -{ - u32 WidthExp2; - __GXTexRegionInt *t = (__GXTexRegionInt *)region; - - ASSERTMSGLINE(0x5CC, region, "TexRegion Object Pointer is null"); - CHECK_GXBEGIN(0x5CE, "GXInitTexCacheRegion"); - ASSERTMSGLINEV(0x5D0, (tmem_even & 0x1F) == 0, "%s: %s pointer not aligned to 32B", "GXInitTexCacheRegion", "tmem even"); - ASSERTMSGLINEV(0x5D2, (tmem_odd & 0x1F) == 0, "%s: %s pointer not aligned to 32B", "GXInitTexCacheRegion", "tmem odd"); - switch (size_even) { - case GX_TEXCACHE_32K: - WidthExp2 = 3; - break; - case GX_TEXCACHE_128K: - WidthExp2 = 4; - break; - case GX_TEXCACHE_512K: - WidthExp2 = 5; - break; - default: - ASSERTMSGLINEV(0x5DA, 0, "%s: Invalid %s size", "GXInitTexCacheRegion", "tmem even"); - break; - } - t->image1 = 0; - SET_REG_FIELD(0x5DF, t->image1, 15, 0, tmem_even >> 5); - SET_REG_FIELD(0x5E0, t->image1, 3, 15, WidthExp2); - SET_REG_FIELD(0x5E1, t->image1, 3, 18, WidthExp2); - SET_REG_FIELD(0x5E2, t->image1, 1, 21, 0); - - switch (size_odd) { - case GX_TEXCACHE_32K: - WidthExp2 = 3; - break; - case GX_TEXCACHE_128K: - WidthExp2 = 4; - break; - case GX_TEXCACHE_512K: - WidthExp2 = 5; - break; - case GX_TEXCACHE_NONE: - WidthExp2 = 0; - break; - default: - ASSERTMSGLINEV(0x5EA, 0, "%s: Invalid %s size", "GXInitTexCacheRegion", "tmem odd"); - break; - } - t->image2 = 0; - SET_REG_FIELD(0x5EF, t->image2, 15, 0, tmem_odd >> 5); - SET_REG_FIELD(0x5F0, t->image2, 3, 15, WidthExp2); - SET_REG_FIELD(0x5F1, t->image2, 3, 18, WidthExp2); - t->is32bMipmap = is_32b_mipmap; - t->isCached = 1; -} - -void GXInitTexPreLoadRegion(GXTexRegion *region, u32 tmem_even, u32 size_even, u32 tmem_odd, u32 size_odd) -{ - __GXTexRegionInt *t = (__GXTexRegionInt *)region; - - ASSERTMSGLINE(0x60E, region, "TexRegion Object Pointer is null"); - CHECK_GXBEGIN(0x610, "GXInitTexPreLoadRegion"); - ASSERTMSGLINEV(0x612, (tmem_even & 0x1F) == 0, "%s: %s pointer not aligned to 32B", "GXInitTexPreLoadRegion", "tmem even"); - ASSERTMSGLINEV(0x614, (tmem_odd & 0x1F) == 0, "%s: %s pointer not aligned to 32B", "GXInitTexPreLoadRegion", "tmem odd"); - ASSERTMSGLINEV(0x616, (size_even & 0x1F) == 0, "%s: %s pointer not aligned to 32B", "GXInitTexPreLoadRegion", "size even"); - ASSERTMSGLINEV(0x618, (size_odd & 0x1F) == 0, "%s: %s pointer not aligned to 32B", "GXInitTexPreLoadRegion", "size odd"); - - t->image1 = 0; - SET_REG_FIELD(0x61C, t->image1, 15, 0, tmem_even >> 5); - SET_REG_FIELD(0x61D, t->image1, 3, 15, 0); - SET_REG_FIELD(0x61E, t->image1, 3, 18, 0); - SET_REG_FIELD(0x61F, t->image1, 1, 21, 1); - - t->image2 = 0; - SET_REG_FIELD(0x622, t->image2, 15, 0, tmem_odd >> 5); - SET_REG_FIELD(0x623, t->image2, 3, 15, 0); - SET_REG_FIELD(0x624, t->image2, 3, 18, 0); - t->is32bMipmap = 0; - t->isCached = 0; - t->sizeEven = (u16)(size_even >> 5U); - t->sizeOdd = (u16)(size_odd >> 5U); -} - -void GXGetTexRegionAll(const GXTexRegion *region, u8 *is_cached, u8 *is_32b_mipmap, u32 *tmem_even, u32 *size_even, u32 *tmem_odd, u32 *size_odd) -{ - const __GXTexRegionInt *t = (const __GXTexRegionInt *)region; - - ASSERTMSGLINE(0x641, region, "TexRegion Object Pointer is null"); - *tmem_even = GET_REG_FIELD(t->image1, 15, 0) << 5; - *tmem_odd = GET_REG_FIELD(t->image2, 15, 0) << 5; - if (t->isCached) { - switch (GET_REG_FIELD(t->image1, 3, 15)) { - case 3: - *size_even = 0x8000; - break; - case 4: - *size_even = 0x20000; - break; - case 5: - *size_even = 0x80000; - break; - default: - *size_even = 0; - break; - } - switch (GET_REG_FIELD(t->image2, 3, 15)) { - case 3: - *size_odd = 0x8000; - break; - case 4: - *size_odd = 0x20000; - break; - case 5: - *size_odd = 0x80000; - break; - default: - *size_odd = 0; - break; - } - } - else { - *size_even = t->sizeEven << 5; - *size_odd = t->sizeOdd << 5; - } - *is_32b_mipmap = t->is32bMipmap; - *is_cached = t->isCached; -} - -void GXInitTlutRegion(GXTlutRegion *region, u32 tmem_addr, GXTlutSize tlut_size) -{ - __GXTlutRegionInt *t = (__GXTlutRegionInt *)region; - - ASSERTMSGLINE(0x674, region, "TLutRegion Object Pointer is null"); - CHECK_GXBEGIN(0x676, "GXInitTlutRegion"); - ASSERTMSGLINEV(0x677, (tmem_addr & 0x1FF) == 0, "%s: tmem pointer is not aligned to 512B", "GXInitTlutRegion"); - ASSERTMSGLINEV(0x678, tlut_size <= 0x400, "%s: tlut size exceeds 16K", "GXInitTlutRegion"); - t->loadTlut1 = 0; - tmem_addr -= 0x80000; - SET_REG_FIELD(0x67C, t->loadTlut1, 10, 0, tmem_addr >> 9); - SET_REG_FIELD(0x67D, t->loadTlut1, 11, 10, tlut_size); - SET_REG_FIELD(0x67E, t->loadTlut1, 8, 24, 0x65); -} - -void GXGetTlutRegionAll(const GXTlutRegion *region, u32 *tmem_addr, GXTlutSize *tlut_size) -{ - const __GXTlutRegionInt *t = (const __GXTlutRegionInt *)region; - - ASSERTMSGLINE(0x692, region, "TLutRegion Object Pointer is null"); - *tmem_addr = (GET_REG_FIELD(t->loadTlut1, 10, 0) << 9) + 0x80000; - *tlut_size = GET_REG_FIELD(t->loadTlut1, 11, 10); -} - -void GXInvalidateTexRegion(GXTexRegion *region) -{ - s32 wle; - s32 hle; - s32 wlo; - s32 hlo; - s32 count; - u32 reg0; - u32 reg1; - __GXTexRegionInt *r = (__GXTexRegionInt *)region; - - ASSERTMSGLINE(0x6A9, region, "TexRegion Object Pointer is null"); - CHECK_GXBEGIN(0x6AB, "GXInvalidateTexRegion"); - - wle = GET_REG_FIELD(r->image1, 3, 15) - 1; - hle = GET_REG_FIELD(r->image1, 3, 18) - 1; - wlo = GET_REG_FIELD(r->image2, 3, 15) - 1; - hlo = GET_REG_FIELD(r->image2, 3, 18) - 1; - if (wle < 0) { - wle = 0; - } - if (hle < 0) { - hle = 0; - } - if (wlo < 0) { - wlo = 0; - } - if (hlo < 0) { - hlo = 0; - } - count = wle + hle; - if (r->is32bMipmap) { - count = wlo + hlo - 2 + count; - } - reg0 = 0; - SET_REG_FIELD(0x6BC, reg0, 9, 0, GET_REG_FIELD(r->image1, 9, 6)); - SET_REG_FIELD(0x6BD, reg0, 4, 9, count); - SET_REG_FIELD(0x6BC, reg0, 8, 24, 0x66); - if (wlo != 0) { - count = wlo + hlo; - if (r->is32bMipmap) { - count = wle + hle - 2 + count; - } - reg1 = 0; - SET_REG_FIELD(0x6C8, reg1, 9, 0, GET_REG_FIELD(r->image2, 9, 6)); - SET_REG_FIELD(0x6C9, reg1, 4, 9, count); - SET_REG_FIELD(0x6CA, reg1, 8, 24, 0x66); - } - __GXFlushTextureState(); - GX_WRITE_RAS_REG(reg0); - if (wlo != 0) { - GX_WRITE_RAS_REG(reg1); - } - __GXFlushTextureState(); - - reg0; - reg1; - r; // needed to match -} - -void GXInvalidateTexAll(void) -{ - u32 reg0; - u32 reg1; - - CHECK_GXBEGIN(0x6DB, "GXInvalidateTexAll"); - reg0 = 0x66001000; - reg1 = 0x66001100; - __GXFlushTextureState(); - GX_WRITE_RAS_REG(reg0); - GX_WRITE_RAS_REG(reg1); - __GXFlushTextureState(); -} - -GXTexRegionCallback GXSetTexRegionCallback(GXTexRegionCallback f) -{ - GXTexRegionCallback oldcb = gx->texRegionCallback; - - gx->texRegionCallback = f; - return oldcb; -} - -GXTlutRegionCallback GXSetTlutRegionCallback(GXTlutRegionCallback f) -{ - GXTlutRegionCallback oldcb = gx->tlutRegionCallback; - - gx->tlutRegionCallback = f; - return oldcb; -} - -void GXPreLoadEntireTexture(GXTexObj *tex_obj, GXTexRegion *region) -{ - u8 isMipMap; - u8 is32bit; - u32 wd; - u32 ht; - u32 maxLevelIndex; - u32 loadImage0; - u32 loadImage1; - u32 loadImage2; - u32 loadImage3; - u32 base; - u32 tmem1; - u32 tmem2; - u32 tmemAR; - u32 tmemGB; - u32 nTiles; - u32 rowTiles; - u32 colTiles; - u32 cmpTiles; - u32 i; - __GXTexObjInt *t = (__GXTexObjInt *)tex_obj; - __GXTexRegionInt *r = (__GXTexRegionInt *)region; - - ASSERTMSGLINE(0x71C, tex_obj, "Texture Object Pointer is null"); - ASSERTMSGLINE(0x71C, region, "TexRegion Object Pointer is null"); - CHECK_GXBEGIN(0x71E, "GXPreLoadEntireTexture"); - isMipMap = (t->flags & 1) == 1; - is32bit = GET_REG_FIELD(t->image0, 4, 20) == 6; - - loadImage0 = 0; - SET_REG_FIELD(0, loadImage0, 8, 24, 0x60); - base = t->image3 & 0x1FFFFF; - SET_REG_FIELD(0x727, loadImage0, 21, 0, base); - - loadImage1 = 0; - SET_REG_FIELD(0, loadImage1, 8, 24, 0x61); - tmem1 = r->image1 & 0x7FFF; - SET_REG_FIELD(0x72D, loadImage1, 15, 0, tmem1); - - loadImage2 = 0; - SET_REG_FIELD(0, loadImage2, 8, 24, 0x62); - tmem2 = r->image2 & 0x7FFF; - SET_REG_FIELD(0x733, loadImage2, 15, 0, tmem2); - - loadImage3 = 0; - SET_REG_FIELD(0, loadImage3, 8, 24, 0x63); - SET_REG_FIELD(0x738, loadImage3, 15, 0, t->loadCnt); - SET_REG_FIELD(0x739, loadImage3, 2, 15, t->loadFmt); - maxLevelIndex = 0; - nTiles = t->loadCnt; - if (isMipMap != 0) { - wd = GET_REG_FIELD(t->image0, 10, 0) + 1; - ht = GET_REG_FIELD(t->image0, 10, 10) + 1; - if (wd > ht) { - maxLevelIndex = (u16)(31 - __cntlzw(wd)); - } - else { - maxLevelIndex = (u16)(31 - __cntlzw(ht)); - } - } - __GXFlushTextureState(); - GX_WRITE_RAS_REG(loadImage0); - GX_WRITE_RAS_REG(loadImage1); - GX_WRITE_RAS_REG(loadImage2); - GX_WRITE_RAS_REG(loadImage3); - if (maxLevelIndex != 0) { - tmemAR = tmem1; - tmemGB = tmem2; - for (i = 0; i < maxLevelIndex; i++) { - if (is32bit != 0) { - base += nTiles * 2; - tmemAR += nTiles; - tmemGB += nTiles; - } - else { - base += nTiles; - if (i & 1) { - tmemGB += nTiles; - } - else { - tmemAR += nTiles; - } - } - tmem1 = (i & 1) ? tmemAR : tmemGB; - tmem2 = (i & 1) ? tmemGB : tmemAR; - __GetImageTileCount(t->fmt, (u16)(wd >> (i + 1)), (u16)(ht >> (i + 1)), &rowTiles, &colTiles, &cmpTiles); - nTiles = rowTiles * colTiles; - SET_REG_FIELD(0x7A5, loadImage0, 21, 0, base); - SET_REG_FIELD(0x7A6, loadImage1, 15, 0, tmem1); - SET_REG_FIELD(0x7A7, loadImage2, 15, 0, tmem2); - SET_REG_FIELD(0x7A8, loadImage3, 15, 0, nTiles); - GX_WRITE_RAS_REG(loadImage0); - GX_WRITE_RAS_REG(loadImage1); - GX_WRITE_RAS_REG(loadImage2); - GX_WRITE_RAS_REG(loadImage3); - } - } - __GXFlushTextureState(); -} - -void GXSetTexCoordScaleManually(GXTexCoordID coord, u8 enable, u16 ss, u16 ts) -{ - CHECK_GXBEGIN(0x7C5, "GXSetTexCoordScaleManually"); - ASSERTMSGLINEV(0x7C7, coord < 8, "%s: bad texcoord specified", "GXSetTexCoordScaleManually"); - gx->tcsManEnab = (gx->tcsManEnab & ~(1 << coord)) | (enable << coord); - if (enable != 0) { - SET_REG_FIELD(0x7CD, gx->suTs0[coord], 16, 0, (u16)(ss - 1)); - SET_REG_FIELD(0x7CE, gx->suTs1[coord], 16, 0, (u16)(ts - 1)); - GX_WRITE_RAS_REG(gx->suTs0[coord]); - GX_WRITE_RAS_REG(gx->suTs1[coord]); - gx->bpSentNot = 0; - } -} - -void GXSetTexCoordCylWrap(GXTexCoordID coord, u8 s_enable, u8 t_enable) -{ - CHECK_GXBEGIN(0x7E7, "GXSetTexCoordCylWrap"); - ASSERTMSGLINEV(0x7E9, coord < 8, "%s: bad texcoord specified", "GXSetTexCoordCylWrap"); - SET_REG_FIELD(0x7EB, gx->suTs0[coord], 1, 17, s_enable); - SET_REG_FIELD(0x7EC, gx->suTs1[coord], 1, 17, t_enable); - if (gx->tcsManEnab & (1 << coord)) { - GX_WRITE_RAS_REG(gx->suTs0[coord]); - GX_WRITE_RAS_REG(gx->suTs1[coord]); - gx->bpSentNot = 0; - } -} - -void GXSetTexCoordBias(GXTexCoordID coord, u8 s_enable, u8 t_enable) -{ - CHECK_GXBEGIN(0x806, "GXSetTexCoordBias"); - ASSERTMSGLINEV(0x808, coord < 8, "%s: bad texcoord specified", "GXSetTexCoordBias"); - SET_REG_FIELD(0x80A, gx->suTs0[coord], 1, 16, s_enable); - SET_REG_FIELD(0x80B, gx->suTs1[coord], 1, 16, t_enable); - if (gx->tcsManEnab & (1 << coord)) { - GX_WRITE_RAS_REG(gx->suTs0[coord]); - GX_WRITE_RAS_REG(gx->suTs1[coord]); - gx->bpSentNot = 0; - } -} - -static void __SetSURegs(u32 tmap, u32 tcoord) -{ - u32 w; - u32 h; - u8 s_bias; - u8 t_bias; - - w = GET_REG_FIELD(gx->tImage0[tmap], 10, 0); - h = GET_REG_FIELD(gx->tImage0[tmap], 10, 10); - SET_REG_FIELD(0x829, gx->suTs0[tcoord], 16, 0, w); - SET_REG_FIELD(0x82A, gx->suTs1[tcoord], 16, 0, h); - s_bias = GET_REG_FIELD(gx->tMode0[tmap], 2, 0) == 1; - t_bias = GET_REG_FIELD(gx->tMode0[tmap], 2, 2) == 1; - SET_REG_FIELD(0x830, gx->suTs0[tcoord], 1, 16, s_bias); - SET_REG_FIELD(0x831, gx->suTs1[tcoord], 1, 16, t_bias); - GX_WRITE_RAS_REG(gx->suTs0[tcoord]); - GX_WRITE_RAS_REG(gx->suTs1[tcoord]); - gx->bpSentNot = 0; -} - -void __GXSetSUTexRegs(void) -{ - u32 nStages; - u32 nIndStages; - u32 i; - u32 map; - u32 tmap; - u32 coord; - u32 *ptref; - - if (gx->tcsManEnab != 0xFF) { - nStages = GET_REG_FIELD(gx->genMode, 4, 10) + 1; - nIndStages = GET_REG_FIELD(gx->genMode, 3, 16); - for (i = 0; i < nIndStages; i++) { - switch (i) { - case 0: - tmap = GET_REG_FIELD(gx->iref, 3, 0); - coord = GET_REG_FIELD(gx->iref, 3, 3); - break; - case 1: - tmap = GET_REG_FIELD(gx->iref, 3, 6); - coord = GET_REG_FIELD(gx->iref, 3, 9); - break; - case 2: - tmap = GET_REG_FIELD(gx->iref, 3, 12); - coord = GET_REG_FIELD(gx->iref, 3, 15); - break; - case 3: - tmap = GET_REG_FIELD(gx->iref, 3, 18); - coord = GET_REG_FIELD(gx->iref, 3, 21); - break; - } - if (!(gx->tcsManEnab & (1 << coord))) { - __SetSURegs(tmap, coord); - } - } - i = 0; - for (i = 0; i < nStages; i++) { - ptref = &gx->tref[i / 2]; - map = gx->texmapId[i]; - tmap = map & 0xFFFFFEFF; - if (i & 1) { - coord = GET_REG_FIELD(*ptref, 3, 15); - } - else { - coord = GET_REG_FIELD(*ptref, 3, 3); - } - if ((tmap != 0xFF) && !(gx->tcsManEnab & (1 << coord)) && (gx->tevTcEnab & (1 << i))) { - __SetSURegs(tmap, coord); - } - } - } -} - -void __GXGetSUTexSize(GXTexCoordID coord, u16 *width, u16 *height) -{ - *width = (u16)gx->suTs0[coord] + 1; - *height = (u16)gx->suTs1[coord] + 1; -} - -void __GXSetTmemConfig(u32 config) -{ - switch (config) { - case 1: - GX_WRITE_RAS_REG(0x8c0d8000); - GX_WRITE_RAS_REG(0x900dc000); - - GX_WRITE_RAS_REG(0x8d0d8800); - GX_WRITE_RAS_REG(0x910dc800); - - GX_WRITE_RAS_REG(0x8e0d9000); - GX_WRITE_RAS_REG(0x920dd000); - - GX_WRITE_RAS_REG(0x8f0d9800); - GX_WRITE_RAS_REG(0x930dd800); - - GX_WRITE_RAS_REG(0xac0da000); - GX_WRITE_RAS_REG(0xb00de000); - - GX_WRITE_RAS_REG(0xad0da800); - GX_WRITE_RAS_REG(0xb10de800); - - GX_WRITE_RAS_REG(0xae0db000); - GX_WRITE_RAS_REG(0xb20df000); - - GX_WRITE_RAS_REG(0xaf0db800); - GX_WRITE_RAS_REG(0xb30df800); - - break; - case 0: - default: - GX_WRITE_RAS_REG(0x8c0d8000); - GX_WRITE_RAS_REG(0x900dc000); - - GX_WRITE_RAS_REG(0x8d0d8400); - GX_WRITE_RAS_REG(0x910dc400); - - GX_WRITE_RAS_REG(0x8e0d8800); - GX_WRITE_RAS_REG(0x920dc800); - - GX_WRITE_RAS_REG(0x8f0d8c00); - GX_WRITE_RAS_REG(0x930dcc00); - - GX_WRITE_RAS_REG(0xac0d9000); - GX_WRITE_RAS_REG(0xb00dd000); - - GX_WRITE_RAS_REG(0xad0d9400); - GX_WRITE_RAS_REG(0xb10dd400); - - GX_WRITE_RAS_REG(0xae0d9800); - GX_WRITE_RAS_REG(0xb20dd800); - - GX_WRITE_RAS_REG(0xaf0d9c00); - GX_WRITE_RAS_REG(0xb30ddc00); - - break; - } -} diff --git a/src/dolphin/gx/GXTransform.c b/src/dolphin/gx/GXTransform.c deleted file mode 100644 index dbe9d5d1..00000000 --- a/src/dolphin/gx/GXTransform.c +++ /dev/null @@ -1,372 +0,0 @@ -#include -#include -#include - -#include - -void GXProject(f32 x, f32 y, f32 z, const f32 mtx[3][4], const f32 *pm, const f32 *vp, f32 *sx, f32 *sy, f32 *sz) -{ - Vec peye; - f32 xc; - f32 yc; - f32 zc; - f32 wc; - - ASSERTMSGLINE(0xA8, pm && vp && sx && sy && sz, "GXGet*: invalid null pointer"); - - peye.x = mtx[0][3] + ((mtx[0][2] * z) + ((mtx[0][0] * x) + (mtx[0][1] * y))); - peye.y = mtx[1][3] + ((mtx[1][2] * z) + ((mtx[1][0] * x) + (mtx[1][1] * y))); - peye.z = mtx[2][3] + ((mtx[2][2] * z) + ((mtx[2][0] * x) + (mtx[2][1] * y))); - if (pm[0] == 0.0f) { - xc = (peye.x * pm[1]) + (peye.z * pm[2]); - yc = (peye.y * pm[3]) + (peye.z * pm[4]); - zc = pm[6] + (peye.z * pm[5]); - wc = 1.0f / -peye.z; - } - else { - xc = pm[2] + (peye.x * pm[1]); - yc = pm[4] + (peye.y * pm[3]); - zc = pm[6] + (peye.z * pm[5]); - wc = 1.0f; - } - *sx = (vp[2] / 2.0f) + (vp[0] + (wc * (xc * vp[2] / 2.0f))); - *sy = (vp[3] / 2.0f) + (vp[1] + (wc * (-yc * vp[3] / 2.0f))); - *sz = vp[5] + (wc * (zc * (vp[5] - vp[4]))); -} - -static void WriteProjPS(const register f32 proj[6], register volatile void *dest) -{ - register f32 p01, p23, p45; - - asm { - psq_l p01, 0(proj), 0, 0 - psq_l p23, 8(proj), 0, 0 - psq_l p45, 16(proj), 0, 0 - psq_st p01, 0(dest), 0, 0 - psq_st p23, 0(dest), 0, 0 - psq_st p45, 0(dest), 0, 0 - } -} - -static void __GXSetProjection(void) -{ - u32 reg = 0x00061020; - GX_WRITE_U8(0x10); - GX_WRITE_U32(reg); - GX_WRITE_XF_REG_F(32, gx->projMtx[0]); - GX_WRITE_XF_REG_F(33, gx->projMtx[1]); - GX_WRITE_XF_REG_F(34, gx->projMtx[2]); - GX_WRITE_XF_REG_F(35, gx->projMtx[3]); - GX_WRITE_XF_REG_F(36, gx->projMtx[4]); - GX_WRITE_XF_REG_F(37, gx->projMtx[5]); - GX_WRITE_XF_REG_2(38, gx->projType); -} - -void GXSetProjection(f32 mtx[4][4], GXProjectionType type) -{ - CHECK_GXBEGIN(0x127, "GXSetProjection"); - - gx->projType = type; - gx->projMtx[0] = mtx[0][0]; - gx->projMtx[2] = mtx[1][1]; - gx->projMtx[4] = mtx[2][2]; - gx->projMtx[5] = mtx[2][3]; - if (type == GX_ORTHOGRAPHIC) { - gx->projMtx[1] = mtx[0][3]; - gx->projMtx[3] = mtx[1][3]; - } - else { - gx->projMtx[1] = mtx[0][2]; - gx->projMtx[3] = mtx[1][2]; - } - - __GXSetProjection(); - gx->bpSentNot = 1; -} - -#define qr0 0 - -void GXGetProjectionv(f32 *ptr) -{ - ASSERTMSGLINE(0x172, ptr, "GXGet*: invalid null pointer"); - - ptr[0] = gx->projType; - - ptr[1] = gx->projMtx[0]; - ptr[2] = gx->projMtx[1]; - ptr[3] = gx->projMtx[2]; - ptr[4] = gx->projMtx[3]; - ptr[5] = gx->projMtx[4]; - ptr[6] = gx->projMtx[5]; -} - -static void WriteMTXPS4x3(const register f32 mtx[3][4], register volatile f32 *dest) -{ - register f32 a00_a01; - register f32 a02_a03; - register f32 a10_a11; - register f32 a12_a13; - register f32 a20_a21; - register f32 a22_a23; - - asm { - psq_l a00_a01, 0x00(mtx), 0, qr0 - psq_l a02_a03, 0x08(mtx), 0, qr0 - psq_l a10_a11, 0x10(mtx), 0, qr0 - psq_l a12_a13, 0x18(mtx), 0, qr0 - psq_l a20_a21, 0x20(mtx), 0, qr0 - psq_l a22_a23, 0x28(mtx), 0, qr0 - psq_st a00_a01, 0(dest), 0, qr0 - psq_st a02_a03, 0(dest), 0, qr0 - psq_st a10_a11, 0(dest), 0, qr0 - psq_st a12_a13, 0(dest), 0, qr0 - psq_st a20_a21, 0(dest), 0, qr0 - psq_st a22_a23, 0(dest), 0, qr0 - } -} - -static void WriteMTXPS3x3from3x4(register f32 mtx[3][4], register volatile f32 *dest) -{ - register f32 a00_a01; - register f32 a02_a03; - register f32 a10_a11; - register f32 a12_a13; - register f32 a20_a21; - register f32 a22_a23; - - asm { - psq_l a00_a01, 0x00(mtx), 0, qr0 - lfs a02_a03, 0x08(mtx) - psq_l a10_a11, 0x10(mtx), 0, qr0 - lfs a12_a13, 0x18(mtx) - psq_l a20_a21, 0x20(mtx), 0, qr0 - lfs a22_a23, 0x28(mtx) - psq_st a00_a01, 0(dest), 0, qr0 - stfs a02_a03, 0(dest) - psq_st a10_a11, 0(dest), 0, qr0 - stfs a12_a13, 0(dest) - psq_st a20_a21, 0(dest), 0, qr0 - stfs a22_a23, 0(dest) - } -} - -static void WriteMTXPS4x2(const register f32 mtx[2][4], register volatile f32 *dest) -{ - register f32 a00_a01; - register f32 a02_a03; - register f32 a10_a11; - register f32 a12_a13; - - asm { - psq_l a00_a01, 0x00(mtx), 0, qr0 - psq_l a02_a03, 0x08(mtx), 0, qr0 - psq_l a10_a11, 0x10(mtx), 0, qr0 - psq_l a12_a13, 0x18(mtx), 0, qr0 - psq_st a00_a01, 0(dest), 0, qr0 - psq_st a02_a03, 0(dest), 0, qr0 - psq_st a10_a11, 0(dest), 0, qr0 - psq_st a12_a13, 0(dest), 0, qr0 - } -} - -#pragma peephole off -#pragma dont_inline on -void GXLoadPosMtxImm(f32 mtx[3][4], u32 id) -{ - u32 reg; - u32 addr; - - CHECK_GXBEGIN(0x1FB, "GXLoadPosMtxImm"); - - addr = id * 4; - reg = addr | 0xB0000; - - GX_WRITE_U8(0x10); - GX_WRITE_U32(reg); - WriteMTXPS4x3(mtx, &GXWGFifo.f32); -} - -void GXLoadNrmMtxImm(f32 mtx[3][4], u32 id) -{ - u32 reg; - u32 addr; - - CHECK_GXBEGIN(0x24C, "GXLoadNrmMtxImm"); - - addr = id * 3 + 0x400; - reg = addr | 0x80000; - - GX_WRITE_U8(0x10); - GX_WRITE_U32(reg); - WriteMTXPS3x3from3x4((void *)mtx, &GXWGFifo.f32); -} - -void GXSetCurrentMtx(u32 id) -{ - CHECK_GXBEGIN(0x2C4, "GXSetCurrentMtx"); - SET_REG_FIELD(0x2C8, gx->matIdxA, 6, 0, id); - __GXSetMatrixIndex(GX_VA_PNMTXIDX); -} - -void GXLoadTexMtxImm(f32 mtx[][4], u32 id, GXTexMtxType type) -{ - u32 reg; - u32 addr; - u32 count; - - CHECK_GXBEGIN(0x2E5, "GXLoadTexMtxImm"); - - if (id >= GX_PTTEXMTX0) { - addr = (id - GX_PTTEXMTX0) * 4 + 0x500; - ASSERTMSGLINE(0x2EF, type == GX_MTX3x4, "GXLoadTexMtx: Invalid matrix type"); - } - else { - addr = id * 4; - } - count = (type == GX_MTX2x4) ? 8 : 12; - reg = addr | ((count - 1) << 16); - - GX_WRITE_U8(0x10); - GX_WRITE_U32(reg); - if (type == GX_MTX3x4) { - WriteMTXPS4x3(mtx, &GXWGFifo.f32); - } - else { - WriteMTXPS4x2(mtx, &GXWGFifo.f32); - } -} -#pragma dont_inline reset - -void GXSetViewportJitter(f32 left, f32 top, f32 wd, f32 ht, f32 nearz, f32 farz, u32 field) -{ - f32 sx; - f32 sy; - f32 sz; - f32 ox; - f32 oy; - f32 oz; - f32 zmin; - f32 zmax; - u32 reg; - - CHECK_GXBEGIN(0x387, "GXSetViewport"); // not the correct function name - - if (field == 0) { - top -= 0.5f; - } - sx = wd / 2.0f; - sy = -ht / 2.0f; - ox = 342.0f + (left + (wd / 2.0f)); - oy = 342.0f + (top + (ht / 2.0f)); - zmin = 1.6777215e7f * nearz; - zmax = 1.6777215e7f * farz; - sz = zmax - zmin; - oz = zmax; - gx->vpLeft = left; - gx->vpTop = top; - gx->vpWd = wd; - gx->vpHt = ht; - gx->vpNearz = nearz; - gx->vpFarz = farz; - if (gx->fgRange != 0) { - __GXSetRange(nearz, gx->fgSideX); - } - reg = 0x5101A; - GX_WRITE_U8(0x10); - GX_WRITE_U32(reg); - GX_WRITE_XF_REG_F(26, sx); - GX_WRITE_XF_REG_F(27, sy); - GX_WRITE_XF_REG_F(28, sz); - GX_WRITE_XF_REG_F(29, ox); - GX_WRITE_XF_REG_F(30, oy); - GX_WRITE_XF_REG_F(31, oz); - gx->bpSentNot = 1; -} - -void GXSetViewport(f32 left, f32 top, f32 wd, f32 ht, f32 nearz, f32 farz) -{ - GXSetViewportJitter(left, top, wd, ht, nearz, farz, 1U); -} - -void GXGetViewportv(f32 *vp) -{ - ASSERTMSGLINE(0x3C8, vp, "GXGet*: invalid null pointer"); - - vp[0] = gx->vpLeft; - vp[1] = gx->vpTop; - vp[2] = gx->vpWd; - vp[3] = gx->vpHt; - vp[4] = gx->vpNearz; - vp[5] = gx->vpFarz; -} - -// maybe get it from melee? -void GXSetScissor(u32 left, u32 top, u32 wd, u32 ht) -{ - u32 tp; - u32 lf; - u32 bm; - u32 rt; - - CHECK_GXBEGIN(0x418, "GXSetScissor"); - ASSERTMSGLINE(0x419, left < 1706, "GXSetScissor: Left origin > 1708"); - ASSERTMSGLINE(0x41A, top < 1706, "GXSetScissor: top origin > 1708"); - ASSERTMSGLINE(0x41B, left + wd < 1706, "GXSetScissor: right edge > 1708"); - ASSERTMSGLINE(0x41C, top + ht < 1706, "GXSetScissor: bottom edge > 1708"); - - tp = top + 342; - lf = left + 342; - bm = tp + ht - 1; - rt = lf + wd - 1; - - SET_REG_FIELD(0x423, gx->suScis0, 11, 0, tp); - SET_REG_FIELD(0x424, gx->suScis0, 11, 12, lf); - SET_REG_FIELD(0x426, gx->suScis1, 11, 0, bm); - SET_REG_FIELD(0x427, gx->suScis1, 11, 12, rt); - - GX_WRITE_RAS_REG(gx->suScis0); - GX_WRITE_RAS_REG(gx->suScis1); - gx->bpSentNot = 0; -} - -void GXSetScissorBoxOffset(s32 x_off, s32 y_off) -{ - u32 reg = 0; - u32 hx; - u32 hy; - - CHECK_GXBEGIN(0x45F, "GXSetScissorBoxOffset"); - - ASSERTMSGLINE(0x462, (u32)(x_off + 342) < 2048, "GXSetScissorBoxOffset: Invalid X offset"); - ASSERTMSGLINE(0x464, (u32)(y_off + 342) < 2048, "GXSetScissorBoxOffset: Invalid Y offset"); - - hx = (u32)(x_off + 342) >> 1; - hy = (u32)(y_off + 342) >> 1; - - SET_REG_FIELD(0x469, reg, 10, 0, hx); - SET_REG_FIELD(0x46A, reg, 10, 10, hy); - SET_REG_FIELD(0x46B, reg, 8, 24, 0x59); - GX_WRITE_RAS_REG(reg); - gx->bpSentNot = 0; -} -#pragma peephole on - -void GXSetClipMode(GXClipMode mode) -{ - CHECK_GXBEGIN(0x47F, "GXSetClipMode"); - GX_WRITE_XF_REG(5, mode); - gx->bpSentNot = 1; -} - -void __GXSetMatrixIndex(GXAttr matIdxAttr) -{ - if (matIdxAttr < GX_VA_TEX4MTXIDX) { - GX_WRITE_SOME_REG4(8, 0x30, gx->matIdxA, -12); - GX_WRITE_XF_REG(24, gx->matIdxA); - } - else { - GX_WRITE_SOME_REG4(8, 0x40, gx->matIdxB, -12); - GX_WRITE_XF_REG(25, gx->matIdxB); - } - gx->bpSentNot = 1; -} diff --git a/src/dolphin/mtx/mtx.c b/src/dolphin/mtx/mtx.c deleted file mode 100644 index 558d4d03..00000000 --- a/src/dolphin/mtx/mtx.c +++ /dev/null @@ -1,1300 +0,0 @@ -#include "dolphin/mtx.h" - -static f32 Unit01[] = { 0.0f, 1.0f }; - -extern f32 sinf(f32); -extern f32 cosf(f32); -extern f32 tanf(f32); - -void C_MTXIdentity(Mtx mtx) -{ - mtx[0][0] = 1.0f; - mtx[0][1] = 0.0f; - mtx[0][2] = 0.0f; - mtx[1][0] = 0.0f; - mtx[1][1] = 1.0f; - mtx[1][2] = 0.0f; - mtx[2][0] = 0.0f; - mtx[2][1] = 0.0f; - mtx[2][2] = 1.0f; -} - -#ifdef GEKKO -void PSMTXIdentity(register Mtx m) -{ - register f32 zero_c = 0.0f; - register f32 one_c = 1.0f; - register f32 c_01; - register f32 c_10; - // clang-format off - asm { - psq_st zero_c, 8(m), 0, 0 - ps_merge01 c_01, zero_c, one_c - psq_st zero_c, 24(m), 0, 0 - ps_merge10 c_10, one_c, zero_c - psq_st zero_c, 32(m), 0, 0 - psq_st c_01, 16(m), 0, 0 - psq_st c_10, 0(m), 0, 0 - psq_st c_10, 40(m), 0, 0 - } - // clang-format on -} -#endif - -void C_MTXCopy(const Mtx src, Mtx dst) -{ - - if (src == dst) { - return; - } - - dst[0][0] = src[0][0]; - dst[0][1] = src[0][1]; - dst[0][2] = src[0][2]; - dst[0][3] = src[0][3]; - - dst[1][0] = src[1][0]; - dst[1][1] = src[1][1]; - dst[1][2] = src[1][2]; - dst[1][3] = src[1][3]; - - dst[2][0] = src[2][0]; - dst[2][1] = src[2][1]; - dst[2][2] = src[2][2]; - dst[2][3] = src[2][3]; -} - -#ifdef GEKKO -asm void PSMTXCopy(const register Mtx src, register Mtx dst) -{ - // clang-format off - nofralloc - - psq_l fp0, 0(src), 0, 0 - psq_st fp0, 0(dst), 0, 0 - psq_l fp1, 8(src), 0, 0 - psq_st fp1, 8(dst), 0, 0 - psq_l fp2, 16(src), 0, 0 - psq_st fp2, 16(dst), 0, 0 - psq_l fp3, 24(src), 0, 0 - psq_st fp3, 24(dst), 0, 0 - psq_l fp4, 32(src), 0, 0 - psq_st fp4, 32(dst), 0, 0 - psq_l fp5, 40(src), 0, 0 - psq_st fp5, 40(dst), 0, 0 - - blr - // clang-format on -} -#endif - -void C_MTXConcat(const Mtx a, const Mtx b, Mtx ab) -{ - Mtx mTmp; - MtxPtr m; - - if ((ab == a) || (ab == b)) { - m = mTmp; - } - - else { - m = ab; - } - - m[0][0] = a[0][0] * b[0][0] + a[0][1] * b[1][0] + a[0][2] * b[2][0]; - m[0][1] = a[0][0] * b[0][1] + a[0][1] * b[1][1] + a[0][2] * b[2][1]; - m[0][2] = a[0][0] * b[0][2] + a[0][1] * b[1][2] + a[0][2] * b[2][2]; - m[0][3] = a[0][0] * b[0][3] + a[0][1] * b[1][3] + a[0][2] * b[2][3] + a[0][3]; - - m[1][0] = a[1][0] * b[0][0] + a[1][1] * b[1][0] + a[1][2] * b[2][0]; - m[1][1] = a[1][0] * b[0][1] + a[1][1] * b[1][1] + a[1][2] * b[2][1]; - m[1][2] = a[1][0] * b[0][2] + a[1][1] * b[1][2] + a[1][2] * b[2][2]; - m[1][3] = a[1][0] * b[0][3] + a[1][1] * b[1][3] + a[1][2] * b[2][3] + a[1][3]; - - m[2][0] = a[2][0] * b[0][0] + a[2][1] * b[1][0] + a[2][2] * b[2][0]; - m[2][1] = a[2][0] * b[0][1] + a[2][1] * b[1][1] + a[2][2] * b[2][1]; - m[2][2] = a[2][0] * b[0][2] + a[2][1] * b[1][2] + a[2][2] * b[2][2]; - m[2][3] = a[2][0] * b[0][3] + a[2][1] * b[1][3] + a[2][2] * b[2][3] + a[2][3]; - - if (m == mTmp) { - C_MTXCopy(mTmp, ab); - } -} - -#ifdef GEKKO -asm void PSMTXConcat(const register Mtx mA, const register Mtx mB, register Mtx mAB) -{ - // clang-format off - nofralloc - -#define FP0 fp0 -#define FP1 fp1 -#define FP2 fp2 -#define FP3 fp3 -#define FP4 fp4 -#define FP5 fp5 -#define FP6 fp6 -#define FP7 fp7 -#define FP8 fp8 -#define FP9 fp9 -#define FP10 fp10 -#define FP11 fp11 -#define FP12 fp12 -#define FP13 fp13 -#define FP14 fp14 -#define FP15 fp15 -#define FP31 fp31 - stwu r1, -64(r1); - psq_l FP0, 0(mA), 0, 0; - stfd fp14, 8(r1); - psq_l FP6, 0(mB), 0, 0; - addis r6, 0, Unit01@ha; - psq_l FP7, 8(mB), 0, 0; - stfd fp15, 16(r1) - addi r6, r6, Unit01@l; - stfd fp31, 40(r1) - psq_l FP8, 16(mB), 0, 0 - ps_muls0 FP12, FP6, FP0 - psq_l FP2, 16(mA), 0, 0 - ps_muls0 FP13, FP7, FP0 - psq_l FP31, 0(r6), 0, 0 - ps_muls0 FP14, FP6, FP2 - psq_l FP9, 24(mB), 0, 0 - ps_muls0 FP15, FP7, FP2 - psq_l FP1, 8(mA), 0, 0 - ps_madds1 FP12, FP8, FP0, FP12 - psq_l FP3, 24(mA), 0, 0 - ps_madds1 FP14, FP8, FP2, FP14 - psq_l FP10, 32(mB), 0, 0 - ps_madds1 FP13, FP9, FP0, FP13 - psq_l FP11, 40(mB), 0, 0 - ps_madds1 FP15, FP9, FP2, FP15 - psq_l FP4, 32(mA), 0, 0 - psq_l FP5, 40(mA), 0, 0 - ps_madds0 FP12, FP10, FP1, FP12 - ps_madds0 FP13, FP11, FP1, FP13 - ps_madds0 FP14, FP10, FP3, FP14 - ps_madds0 FP15, FP11, FP3, FP15 - psq_st FP12, 0(mAB), 0, 0 - - ps_muls0 FP2, FP6, FP4 - ps_madds1 FP13, FP31, FP1, FP13 - ps_muls0 FP0, FP7, FP4 - psq_st FP14, 16(mAB), 0, 0 - ps_madds1 FP15, FP31, FP3, FP15 - - psq_st FP13, 8(mAB), 0, 0 - - ps_madds1 FP2, FP8, FP4, FP2 - ps_madds1 FP0, FP9, FP4, FP0 - ps_madds0 FP2, FP10, FP5, FP2 - lfd fp14, 8(r1) - psq_st FP15, 24(mAB), 0, 0 - ps_madds0 FP0, FP11, FP5, FP0 - psq_st FP2, 32(mAB), 0, 0 - ps_madds1 FP0, FP31, FP5, FP0 - lfd fp15, 16(r1) - psq_st FP0, 40(mAB), 0, 0 - - lfd fp31, 40(r1) - addi r1, r1, 64 - - blr - // clang-format on - -#undef FP0 -#undef FP1 -#undef FP2 -#undef FP3 -#undef FP4 -#undef FP5 -#undef FP6 -#undef FP7 -#undef FP8 -#undef FP9 -#undef FP10 -#undef FP11 -#undef FP12 -#undef FP13 -#undef FP14 -#undef FP15 -#undef FP31 -} -#endif - -void C_MTXConcatArray(const Mtx a, const Mtx *srcBase, Mtx *dstBase, u32 count) -{ - u32 i; - for (i = 0; i < count; i++) { - C_MTXConcat(a, *srcBase, *dstBase); - - srcBase++; - dstBase++; - } -} - -#ifdef GEKKO -#if (defined(__MWERKS__) && defined(_DEBUG)) -#pragma global_optimizer on -#pragma optimization_level 1 -#endif - -void PSMTXConcatArray(const register Mtx a, const register Mtx *srcBase, register Mtx *dstBase, register u32 count) -{ - register f32 va0, va1, va2, va3, va4, va5; - register f32 vb0, vb1, vb2, vb3, vb4, vb5; - register f32 vd0, vd1, vd2, vd3, vd4, vd5; - register f32 u01; - register f32 *u01Ptr = Unit01; - - // clang-format off - asm - { - psq_l va0, 0(a), 0, 0 - psq_l va1, 8(a), 0, 0 - psq_l va2, 16(a), 0, 0 - psq_l va3, 24(a), 0, 0 - subi count, count, 1 - psq_l va4, 32(a), 0, 0 - psq_l va5, 40(a), 0, 0 - mtctr count - psq_l u01, 0(u01Ptr), 0, 0 - - psq_l vb0, 0(srcBase), 0, 0 - psq_l vb2, 16(srcBase), 0, 0 - - ps_muls0 vd0, vb0, va0 - ps_muls0 vd2, vb0, va2 - ps_muls0 vd4, vb0, va4 - - psq_l vb4, 32(srcBase), 0, 0 - - ps_madds1 vd0, vb2, va0, vd0 - ps_madds1 vd2, vb2, va2, vd2 - ps_madds1 vd4, vb2, va4, vd4 - - psq_l vb1, 8(srcBase), 0, 0 - - ps_madds0 vd0, vb4, va1, vd0 - ps_madds0 vd2, vb4, va3, vd2 - ps_madds0 vd4, vb4, va5, vd4 - - psq_l vb3, 24(srcBase), 0, 0 - psq_st vd0, 0(dstBase), 0, 0 - - ps_muls0 vd1, vb1, va0 - ps_muls0 vd3, vb1, va2 - ps_muls0 vd5, vb1, va4 - - psq_l vb5, 40(srcBase), 0, 0 - psq_st vd2, 16(dstBase), 0, 0 - ps_madds1 vd1, vb3, va0, vd1 - ps_madds1 vd3, vb3, va2, vd3 - ps_madds1 vd5, vb3, va4, vd5 - -_loop: - addi srcBase, srcBase, sizeof(Mtx) - ps_madds0 vd1, vb5, va1, vd1 - ps_madds0 vd3, vb5, va3, vd3 - ps_madds0 vd5, vb5, va5, vd5 - psq_l vb0, 0(srcBase), 0, 0 - psq_st vd4, 32(dstBase), 0, 0 - ps_madd vd1, u01, va1, vd1 - ps_madd vd3, u01, va3, vd3 - ps_madd vd5, u01, va5, vd5 - psq_l vb2, 16(srcBase), 0, 0 - psq_st vd1, 8(dstBase), 0, 0 - ps_muls0 vd0, vb0, va0 - ps_muls0 vd2, vb0, va2 - ps_muls0 vd4, vb0, va4 - psq_l vb4, 32(srcBase), 0, 0 - psq_st vd3, 24(dstBase), 0, 0 - ps_madds1 vd0, vb2, va0, vd0 - ps_madds1 vd2, vb2, va2, vd2 - ps_madds1 vd4, vb2, va4, vd4 - psq_l vb1, 8(srcBase), 0, 0 - psq_st vd5, 40(dstBase), 0, 0 - addi dstBase, dstBase, sizeof(Mtx) - - ps_madds0 vd0, vb4, va1, vd0 - ps_madds0 vd2, vb4, va3, vd2 - ps_madds0 vd4, vb4, va5, vd4 - psq_l vb3, 24(srcBase), 0, 0 - psq_st vd0, 0(dstBase), 0, 0 - ps_muls0 vd1, vb1, va0 - ps_muls0 vd3, vb1, va2 - ps_muls0 vd5, vb1, va4 - psq_l vb5, 40(srcBase), 0, 0 - psq_st vd2, 16(dstBase), 0, 0 - ps_madds1 vd1, vb3, va0, vd1 - ps_madds1 vd3, vb3, va2, vd3 - ps_madds1 vd5, vb3, va4, vd5 - bdnz _loop - psq_st vd4, 32(dstBase), 0, 0 - ps_madds0 vd1, vb5, va1, vd1 - ps_madds0 vd3, vb5, va3, vd3 - ps_madds0 vd5, vb5, va5, vd5 - ps_madd vd1, u01, va1, vd1 - ps_madd vd3, u01, va3, vd3 - ps_madd vd5, u01, va5, vd5 - psq_st vd1, 8(dstBase), 0, 0 - psq_st vd3, 24(dstBase), 0, 0 - psq_st vd5, 40(dstBase), 0, 0 - } - // clang-format on -} - -#if (defined(__MWERKS__) && defined(_DEBUG)) -#pragma optimization_level 0 -#pragma global_optimizer reset -#endif - -#endif - -void C_MTXTranspose(const Mtx src, Mtx xPose) -{ - Mtx mTmp; - MtxPtr m; - - if (src == xPose) { - m = mTmp; - } - else { - m = xPose; - } - - m[0][0] = src[0][0]; - m[0][1] = src[1][0]; - m[0][2] = src[2][0]; - m[0][3] = 0.0f; - m[1][0] = src[0][1]; - m[1][1] = src[1][1]; - m[1][2] = src[2][1]; - m[1][3] = 0.0f; - m[2][0] = src[0][2]; - m[2][1] = src[1][2]; - m[2][2] = src[2][2]; - m[2][3] = 0.0f; - - if (m == mTmp) { - C_MTXCopy(mTmp, xPose); - } -} - -#ifdef GEKKO -void PSMTXTranspose(const register Mtx src, register Mtx xPose) -{ - register f32 c_zero = 0.0F; - register f32 row0a, row1a, row0b, row1b; - register f32 trns0, trns1, trns2; - // clang-format off - asm - { - psq_l row0a, 0(src), 0, 0 - stfs c_zero, 44(xPose) - psq_l row1a, 16(src), 0, 0 - ps_merge00 trns0, row0a, row1a - psq_l row0b, 8(src), 1, 0 - ps_merge11 trns1, row0a, row1a - psq_l row1b, 24(src), 1, 0 - psq_st trns0, 0(xPose), 0, 0 - psq_l row0a, 32(src), 0, 0 - ps_merge00 trns2, row0b, row1b - psq_st trns1, 16(xPose), 0, 0 - ps_merge00 trns0, row0a, c_zero - psq_st trns2, 32(xPose), 0, 0 - ps_merge10 trns1, row0a, c_zero - psq_st trns0, 8(xPose), 0, 0 - lfs row0b, 40(src) - psq_st trns1, 24(xPose), 0, 0 - stfs row0b, 40(xPose) - } - // clang-format on -} -#endif - -u32 C_MTXInverse(const Mtx src, Mtx inv) -{ - Mtx mTmp; - MtxPtr m; - f32 det; - - if (src == inv) { - m = mTmp; - } - else { - m = inv; - } - - det = src[0][0] * src[1][1] * src[2][2] + src[0][1] * src[1][2] * src[2][0] + src[0][2] * src[1][0] * src[2][1] - - src[2][0] * src[1][1] * src[0][2] - src[1][0] * src[0][1] * src[2][2] - src[0][0] * src[2][1] * src[1][2]; - - if (det == 0.0f) { - return 0; - } - - det = 1.0f / det; - - m[0][0] = (src[1][1] * src[2][2] - src[2][1] * src[1][2]) * det; - m[0][1] = -(src[0][1] * src[2][2] - src[2][1] * src[0][2]) * det; - m[0][2] = (src[0][1] * src[1][2] - src[1][1] * src[0][2]) * det; - - m[1][0] = -(src[1][0] * src[2][2] - src[2][0] * src[1][2]) * det; - m[1][1] = (src[0][0] * src[2][2] - src[2][0] * src[0][2]) * det; - m[1][2] = -(src[0][0] * src[1][2] - src[1][0] * src[0][2]) * det; - - m[2][0] = (src[1][0] * src[2][1] - src[2][0] * src[1][1]) * det; - m[2][1] = -(src[0][0] * src[2][1] - src[2][0] * src[0][1]) * det; - m[2][2] = (src[0][0] * src[1][1] - src[1][0] * src[0][1]) * det; - - m[0][3] = -m[0][0] * src[0][3] - m[0][1] * src[1][3] - m[0][2] * src[2][3]; - m[1][3] = -m[1][0] * src[0][3] - m[1][1] * src[1][3] - m[1][2] * src[2][3]; - m[2][3] = -m[2][0] * src[0][3] - m[2][1] * src[1][3] - m[2][2] * src[2][3]; - - if (m == mTmp) { - C_MTXCopy(mTmp, inv); - } - - return 1; -} - -#ifdef GEKKO -asm u32 PSMTXInverse(const register Mtx src, register Mtx inv) { - // clang-format off - nofralloc - - psq_l fp0, 0(src), 1, 0 - psq_l fp1, 4(src), 0, 0 - psq_l fp2, 16(src), 1, 0 - ps_merge10 fp6, fp1, fp0 - psq_l fp3, 20(src), 0, 0 - psq_l fp4, 32(src), 1, 0 - ps_merge10 fp7, fp3, fp2 - psq_l fp5, 36(src), 0, 0 - ps_mul fp11, fp3, fp6 - ps_mul fp13, fp5, fp7 - ps_merge10 fp8, fp5, fp4 - ps_msub fp11, fp1, fp7, fp11 - ps_mul fp12, fp1, fp8 - ps_msub fp13, fp3, fp8, fp13 - ps_mul fp10, fp3, fp4 - ps_msub fp12, fp5, fp6, fp12 - ps_mul fp9, fp0, fp5 - ps_mul fp8, fp1, fp2 - ps_sub fp6, fp6, fp6 - ps_msub fp10, fp2, fp5, fp10 - ps_mul fp7, fp0, fp13 - ps_msub fp9, fp1, fp4, fp9 - ps_madd fp7, fp2, fp12, fp7 - ps_msub fp8, fp0, fp3, fp8 - ps_madd fp7, fp4, fp11, fp7 - ps_cmpo0 cr0, fp7, fp6 - bne _regular - addi r3, 0, 0 - blr - -_regular: - fres fp0, fp7 - ps_add fp6, fp0, fp0 - ps_mul fp5, fp0, fp0 - ps_nmsub fp0, fp7, fp5, fp6 - lfs fp1, 12(src) - ps_muls0 fp13, fp13, fp0 - lfs fp2, 28(src) - ps_muls0 fp12, fp12, fp0 - lfs fp3, 44(src) - ps_muls0 fp11, fp11, fp0 - ps_merge00 fp5, fp13, fp12 - ps_muls0 fp10, fp10, fp0 - ps_merge11 fp4, fp13, fp12 - ps_muls0 fp9, fp9, fp0 - psq_st fp5, 0(inv), 0, 0 - ps_mul fp6, fp13, fp1 - psq_st fp4, 16(inv), 0, 0 - ps_muls0 fp8, fp8, fp0 - ps_madd fp6, fp12, fp2, fp6 - psq_st fp10, 32(inv), 1, 0 - ps_nmadd fp6, fp11, fp3, fp6 - psq_st fp9, 36(inv), 1, 0 - ps_mul fp7, fp10, fp1 - ps_merge00 fp5, fp11, fp6 - psq_st fp8, 40(inv), 1, 0 - ps_merge11 fp4, fp11, fp6 - psq_st fp5, 8(inv), 0, 0 - ps_madd fp7, fp9, fp2, fp7 - psq_st fp4, 24(inv), 0, 0 - ps_nmadd fp7, fp8, fp3, fp7 - addi r3, 0, 1 - psq_st fp7, 44(inv), 1, 0 - blr - // clang-format on -} -#endif - -u32 C_MTXInvXpose(const Mtx src, Mtx invX) -{ - Mtx mTmp; - MtxPtr m; - f32 det; - - if (src == invX) { - m = mTmp; - } - else { - m = invX; - } - - det = src[0][0] * src[1][1] * src[2][2] + src[0][1] * src[1][2] * src[2][0] + src[0][2] * src[1][0] * src[2][1] - - src[2][0] * src[1][1] * src[0][2] - src[1][0] * src[0][1] * src[2][2] - src[0][0] * src[2][1] * src[1][2]; - - if (det == 0.0f) { - return 0; - } - - det = 1.0f / det; - - m[0][0] = (src[1][1] * src[2][2] - src[2][1] * src[1][2]) * det; - m[0][1] = -(src[1][0] * src[2][2] - src[2][0] * src[1][2]) * det; - m[0][2] = (src[1][0] * src[2][1] - src[2][0] * src[1][1]) * det; - - m[1][0] = -(src[0][1] * src[2][2] - src[2][1] * src[0][2]) * det; - m[1][1] = (src[0][0] * src[2][2] - src[2][0] * src[0][2]) * det; - m[1][2] = -(src[0][0] * src[2][1] - src[2][0] * src[0][1]) * det; - - m[2][0] = (src[0][1] * src[1][2] - src[1][1] * src[0][2]) * det; - m[2][1] = -(src[0][0] * src[1][2] - src[1][0] * src[0][2]) * det; - m[2][2] = (src[0][0] * src[1][1] - src[1][0] * src[0][1]) * det; - - m[0][3] = 0.0F; - m[1][3] = 0.0F; - m[2][3] = 0.0F; - - if (m == mTmp) { - C_MTXCopy(mTmp, invX); - } - - return 1; -} - -#ifdef GEKKO -asm u32 PSMTXInvXpose(const register Mtx src, register Mtx invX) -{ - // clang-format off - nofralloc - - psq_l fp0, 0(src), 1, 0 - psq_l fp1, 4(src), 0, 0 - psq_l fp2, 16(src), 1, 0 - ps_merge10 fp6, fp1, fp0 - psq_l fp3, 20(src), 0, 0 - psq_l fp4, 32(src), 1, 0 - ps_merge10 fp7, fp3, fp2 - psq_l fp5, 36(src), 0, 0 - ps_mul fp11, fp3, fp6 - ps_merge10 fp8, fp5, fp4 - ps_mul fp13, fp5, fp7 - ps_msub fp11, fp1, fp7, fp11 - ps_mul fp12, fp1, fp8 - ps_msub fp13, fp3, fp8, fp13 - ps_msub fp12, fp5, fp6, fp12 - ps_mul fp10, fp3, fp4 - ps_mul fp9, fp0, fp5 - ps_mul fp8, fp1, fp2 - ps_msub fp10, fp2, fp5, fp10 - ps_msub fp9, fp1, fp4, fp9 - ps_msub fp8, fp0, fp3, fp8 - ps_mul fp7, fp0, fp13 - ps_sub fp1, fp1, fp1 - ps_madd fp7, fp2, fp12, fp7 - ps_madd fp7, fp4, fp11, fp7 - ps_cmpo0 cr0, fp7, fp1 - bne _regular - addi r3, 0, 0 - blr - -_regular: - fres fp0, fp7 - psq_st fp1, 12(invX), 1, 0 - ps_add fp6, fp0, fp0 - ps_mul fp5, fp0, fp0 - psq_st fp1, 28(invX), 1, 0 - ps_nmsub fp0, fp7, fp5, fp6 - psq_st fp1, 44(invX), 1, 0 - ps_muls0 fp13, fp13, fp0 - ps_muls0 fp12, fp12, fp0 - ps_muls0 fp11, fp11, fp0 - psq_st fp13, 0(invX), 0, 0 - psq_st fp12, 16(invX), 0, 0 - ps_muls0 fp10, fp10, fp0 - ps_muls0 fp9, fp9, fp0 - psq_st fp11, 32(invX), 0, 0 - psq_st fp10, 8(invX), 1, 0 - ps_muls0 fp8, fp8, fp0 - addi r3, 0, 1 - psq_st fp9, 24(invX), 1, 0 - psq_st fp8, 40(invX), 1, 0 - blr - // clang-format on -} -#endif - -void C_MTXRotRad(Mtx m, char axis, f32 rad) -{ - - f32 sinA, cosA; - sinA = sinf(rad); - cosA = cosf(rad); - C_MTXRotTrig(m, axis, sinA, cosA); -} - -#ifdef GEKKO -void PSMTXRotRad(Mtx m, char axis, f32 rad) -{ - f32 sinA, cosA; - - sinA = sinf(rad); - cosA = cosf(rad); - - PSMTXRotTrig(m, axis, sinA, cosA); -} -#endif - -void C_MTXRotTrig(Mtx m, char axis, f32 sinA, f32 cosA) -{ - switch (axis) { - - case 'x': - case 'X': - m[0][0] = 1.0f; - m[0][1] = 0.0f; - m[0][2] = 0.0f; - m[0][3] = 0.0f; - m[1][0] = 0.0f; - m[1][1] = cosA; - m[1][2] = -sinA; - m[1][3] = 0.0f; - m[2][0] = 0.0f; - m[2][1] = sinA; - m[2][2] = cosA; - m[2][3] = 0.0f; - break; - - case 'y': - case 'Y': - m[0][0] = cosA; - m[0][1] = 0.0f; - m[0][2] = sinA; - m[0][3] = 0.0f; - m[1][0] = 0.0f; - m[1][1] = 1.0f; - m[1][2] = 0.0f; - m[1][3] = 0.0f; - m[2][0] = -sinA; - m[2][1] = 0.0f; - m[2][2] = cosA; - m[2][3] = 0.0f; - break; - - case 'z': - case 'Z': - m[0][0] = cosA; - m[0][1] = -sinA; - m[0][2] = 0.0f; - m[0][3] = 0.0f; - m[1][0] = sinA; - m[1][1] = cosA; - m[1][2] = 0.0f; - m[1][3] = 0.0f; - m[2][0] = 0.0f; - m[2][1] = 0.0f; - m[2][2] = 1.0f; - m[2][3] = 0.0f; - break; - - default: - break; - } -} - -#ifdef GEKKO -void PSMTXRotTrig(register Mtx m, register char axis, register f32 sinA, register f32 cosA) -{ - register f32 fc0, fc1, nsinA; - register f32 fw0, fw1, fw2, fw3; - // clang-format off - - fc0 = 0.0F; - fc1 = 1.0F; - asm - { - ori axis, axis, 0x20 - ps_neg nsinA, sinA - cmplwi axis, 'x' - beq _case_x - cmplwi axis, 'y' - beq _case_y - cmplwi axis, 'z' - beq _case_z - b _end - -_case_x: - psq_st fc1, 0(m), 1, 0 - psq_st fc0, 4(m), 0, 0 - ps_merge00 fw0, sinA, cosA - psq_st fc0, 12(m), 0, 0 - ps_merge00 fw1, cosA, nsinA - psq_st fc0, 28(m), 0, 0 - psq_st fc0, 44(m), 1, 0 - psq_st fw0, 36(m), 0, 0 - psq_st fw1, 20(m), 0, 0 - b _end; - -_case_y: - ps_merge00 fw0, cosA, fc0 - ps_merge00 fw1, fc0, fc1 - psq_st fc0, 24(m), 0, 0 - psq_st fw0, 0(m), 0, 0 - ps_merge00 fw2, nsinA, fc0 - ps_merge00 fw3, sinA, fc0 - psq_st fw0, 40(m), 0, 0; - psq_st fw1, 16(m), 0, 0; - psq_st fw3, 8(m), 0, 0; - psq_st fw2, 32(m), 0, 0; - b _end; - -_case_z: - psq_st fc0, 8(m), 0, 0 - ps_merge00 fw0, sinA, cosA - ps_merge00 fw2, cosA, nsinA - psq_st fc0, 24(m), 0, 0 - psq_st fc0, 32(m), 0, 0 - ps_merge00 fw1, fc1, fc0 - psq_st fw0, 16(m), 0, 0 - psq_st fw2, 0(m), 0, 0 - psq_st fw1, 40(m), 0, 0 - -_end: - } - // clang-format on -} - -#endif - -void C_MTXRotAxisRad(Mtx m, const Vec *axis, f32 rad) -{ - Vec vN; - f32 s, c; - f32 t; - f32 x, y, z; - f32 xSq, ySq, zSq; - - s = sinf(rad); - c = cosf(rad); - t = 1.0f - c; - - C_VECNormalize(axis, &vN); - - x = vN.x; - y = vN.y; - z = vN.z; - - xSq = x * x; - ySq = y * y; - zSq = z * z; - - m[0][0] = (t * xSq) + (c); - m[0][1] = (t * x * y) - (s * z); - m[0][2] = (t * x * z) + (s * y); - m[0][3] = 0.0f; - - m[1][0] = (t * x * y) + (s * z); - m[1][1] = (t * ySq) + (c); - m[1][2] = (t * y * z) - (s * x); - m[1][3] = 0.0f; - - m[2][0] = (t * x * z) - (s * y); - m[2][1] = (t * y * z) + (s * x); - m[2][2] = (t * zSq) + (c); - m[2][3] = 0.0f; -} - -#ifdef GEKKO -#define qr0 0 - -void PSMTXRotAxisRad(register Mtx m, const Vec *axis, register f32 rad) -{ - register f32 tmp0, tmp1, tmp2, tmp3, tmp4; - register f32 tmp5, tmp6, tmp7, tmp8, tmp9; - - register f32 sT; - register f32 cT; - register f32 oneMinusCosT; - register f32 zero; - Vec axisNormalized; - register Vec *axisNormalizedPtr; - - zero = 0.0f; - axisNormalizedPtr = &axisNormalized; - sT = sinf(rad); - cT = cosf(rad); - oneMinusCosT = 1.0f - cT; - - PSVECNormalize(axis, axisNormalizedPtr); - -#ifdef __MWERKS__ // clang-format off - asm { - psq_l rad, 0x0(axisNormalizedPtr), 0, qr0 - lfs tmp1, 0x8(axisNormalizedPtr) - ps_merge00 tmp0, cT, cT - ps_muls0 tmp4, rad, oneMinusCosT - ps_muls0 tmp5, tmp1, oneMinusCosT - ps_muls1 tmp3, tmp4, rad - ps_muls0 tmp2, tmp4, rad - ps_muls0 rad, rad, sT - ps_muls0 tmp4, tmp4, tmp1 - fnmsubs tmp6, tmp1, sT, tmp3 - fmadds tmp7, tmp1, sT, tmp3 - ps_neg tmp9, rad - ps_sum0 tmp8, tmp4, zero, rad - ps_sum0 tmp2, tmp2, tmp6, tmp0 - ps_sum1 tmp3, tmp0, tmp7, tmp3 - ps_sum0 tmp6, tmp9, zero, tmp4 - ps_sum0 tmp9, tmp4, tmp4, tmp9 - psq_st tmp8, 0x8(m), 0, qr0 - ps_muls0 tmp5, tmp5, tmp1 - psq_st tmp2, 0x0(m), 0, qr0 - ps_sum1 tmp4, rad, tmp9, tmp4 - psq_st tmp3, 0x10(m), 0, qr0 - ps_sum0 tmp5, tmp5, zero, tmp0 - psq_st tmp6, 0x18(m), 0, qr0 - psq_st tmp4, 0x20(m), 0, qr0 - psq_st tmp5, 0x28(m), 0, qr0 - } -#endif // clang-format on -} - -#endif - -void C_MTXTrans(Mtx m, f32 xT, f32 yT, f32 zT) -{ - m[0][0] = 1.0f; - m[0][1] = 0.0f; - m[0][2] = 0.0f; - m[0][3] = xT; - m[1][0] = 0.0f; - m[1][1] = 1.0f; - m[1][2] = 0.0f; - m[1][3] = yT; - m[2][0] = 0.0f; - m[2][1] = 0.0f; - m[2][2] = 1.0f; - m[2][3] = zT; -} - -#ifdef GEKKO -void PSMTXTrans(register Mtx m, register f32 xT, register f32 yT, register f32 zT) -{ - register f32 c0 = 0.0F; - register f32 c1 = 1.0F; - // clang-format off - asm - { - stfs xT, 12(m) - stfs yT, 28(m) - psq_st c0, 4(m), 0, 0 - psq_st c0, 32(m), 0, 0 - stfs c0, 16(m) - stfs c1, 20(m) - stfs c0, 24(m) - stfs c1, 40(m) - stfs zT, 44(m) - stfs c1, 0(m) - } - // clang-format on -} -#endif - -void C_MTXTransApply(const Mtx src, Mtx dst, f32 xT, f32 yT, f32 zT) -{ - if (src != dst) { - dst[0][0] = src[0][0]; - dst[0][1] = src[0][1]; - dst[0][2] = src[0][2]; - dst[1][0] = src[1][0]; - dst[1][1] = src[1][1]; - dst[1][2] = src[1][2]; - dst[2][0] = src[2][0]; - dst[2][1] = src[2][1]; - dst[2][2] = src[2][2]; - } - - dst[0][3] = src[0][3] + xT; - dst[1][3] = src[1][3] + yT; - dst[2][3] = src[2][3] + zT; -} - -#ifdef GEKKO -asm void PSMTXTransApply(const register Mtx src, register Mtx dst, register f32 xT, register f32 yT, register f32 zT) -{ - // clang-format off - nofralloc; - psq_l fp4, 0(src), 0, 0 - frsp xT, xT - psq_l fp5, 8(src), 0, 0 - frsp yT, yT - psq_l fp7, 24(src), 0, 0 - frsp zT, zT - psq_l fp8, 40(src), 0, 0 - psq_st fp4, 0(dst), 0, 0 - ps_sum1 fp5, xT, fp5, fp5 - psq_l fp6, 16(src), 0, 0 - psq_st fp5, 8(dst), 0, 0 - ps_sum1 fp7, yT, fp7, fp7 - psq_l fp9, 32(src), 0, 0 - psq_st fp6, 16(dst), 0, 0 - ps_sum1 fp8, zT, fp8, fp8 - psq_st fp7, 24(dst), 0, 0 - psq_st fp9, 32(dst), 0, 0 - psq_st fp8, 40(dst), 0, 0 - blr - // clang-format on -} -#endif - -void C_MTXScale(Mtx m, f32 xS, f32 yS, f32 zS) -{ - m[0][0] = xS; - m[0][1] = 0.0f; - m[0][2] = 0.0f; - m[0][3] = 0.0f; - m[1][0] = 0.0f; - m[1][1] = yS; - m[1][2] = 0.0f; - m[1][3] = 0.0f; - m[2][0] = 0.0f; - m[2][1] = 0.0f; - m[2][2] = zS; - m[2][3] = 0.0f; -} - -#ifdef GEKKO -void PSMTXScale(register Mtx m, register f32 xS, register f32 yS, register f32 zS) -{ - register f32 c0 = 0.0F; - // clang-format off - asm - { - stfs xS, 0(m) - psq_st c0, 4(m), 0, 0 - psq_st c0, 12(m), 0, 0 - stfs yS, 20(m) - psq_st c0, 24(m), 0, 0 - psq_st c0, 32(m), 0, 0 - stfs zS, 40(m) - stfs c0, 44(m) - } - // clang-format on -} -#endif - -void C_MTXScaleApply(const Mtx src, Mtx dst, f32 xS, f32 yS, f32 zS) -{ - dst[0][0] = src[0][0] * xS; - dst[0][1] = src[0][1] * xS; - dst[0][2] = src[0][2] * xS; - dst[0][3] = src[0][3] * xS; - - dst[1][0] = src[1][0] * yS; - dst[1][1] = src[1][1] * yS; - dst[1][2] = src[1][2] * yS; - dst[1][3] = src[1][3] * yS; - - dst[2][0] = src[2][0] * zS; - dst[2][1] = src[2][1] * zS; - dst[2][2] = src[2][2] * zS; - dst[2][3] = src[2][3] * zS; -} - -#ifdef GEKKO -asm void PSMTXScaleApply(const register Mtx src, register Mtx dst, register f32 xS, register f32 yS, register f32 zS) -{ - // clang-format off - nofralloc; - frsp xS, xS - psq_l fp4, 0(src), 0, 0 - frsp yS, yS - psq_l fp5, 8(src), 0, 0 - frsp zS, zS - ps_muls0 fp4, fp4, xS - psq_l fp6, 16(src), 0, 0 - ps_muls0 fp5, fp5, xS - psq_l fp7, 24(src), 0, 0 - ps_muls0 fp6, fp6, yS - psq_l fp8, 32(src), 0, 0 - psq_st fp4, 0(dst), 0, 0 - ps_muls0 fp7, fp7, yS - psq_l fp2, 40(src), 0, 0 - psq_st fp5, 8(dst), 0, 0 - ps_muls0 fp8, fp8, zS - psq_st fp6, 16(dst), 0, 0 - ps_muls0 fp2, fp2, zS - psq_st fp7, 24(dst), 0, 0 - psq_st fp8, 32(dst), 0, 0 - psq_st fp2, 40(dst), 0, 0 - blr - // clang-format on -} -#endif - -void C_MTXQuat(Mtx m, const Quaternion *q) -{ - - f32 s, xs, ys, zs, wx, wy, wz, xx, xy, xz, yy, yz, zz; - s = 2.0f / ((q->x * q->x) + (q->y * q->y) + (q->z * q->z) + (q->w * q->w)); - - xs = q->x * s; - ys = q->y * s; - zs = q->z * s; - wx = q->w * xs; - wy = q->w * ys; - wz = q->w * zs; - xx = q->x * xs; - xy = q->x * ys; - xz = q->x * zs; - yy = q->y * ys; - yz = q->y * zs; - zz = q->z * zs; - - m[0][0] = 1.0f - (yy + zz); - m[0][1] = xy - wz; - m[0][2] = xz + wy; - m[0][3] = 0.0f; - - m[1][0] = xy + wz; - m[1][1] = 1.0f - (xx + zz); - m[1][2] = yz - wx; - m[1][3] = 0.0f; - - m[2][0] = xz - wy; - m[2][1] = yz + wx; - m[2][2] = 1.0f - (xx + yy); - m[2][3] = 0.0f; -} - -#ifdef GEKKO -void PSMTXQuat(register Mtx m, const register Quaternion *q) -{ - register f32 c_zero, c_one, c_two, scale; - register f32 tmp0, tmp1, tmp2, tmp3, tmp4; - register f32 tmp5, tmp6, tmp7, tmp8, tmp9; - - c_one = 1.0F; - // clang-format off - asm - { - psq_l tmp0, 0(q), 0, 0 - psq_l tmp1, 8(q), 0, 0 - fsubs c_zero, c_one, c_one - fadds c_two, c_one, c_one - ps_mul tmp2, tmp0, tmp0 - ps_merge10 tmp5, tmp0, tmp0 - ps_madd tmp4, tmp1, tmp1, tmp2 - ps_mul tmp3, tmp1, tmp1 - ps_sum0 scale, tmp4, tmp4, tmp4 - ps_muls1 tmp7, tmp5, tmp1 - fres tmp9, scale - ps_sum1 tmp4, tmp3, tmp4, tmp2 - ps_nmsub scale, scale, tmp9, c_two - ps_muls1 tmp6, tmp1, tmp1 - ps_mul scale, tmp9, scale - ps_sum0 tmp2, tmp2, tmp2, tmp2 - fmuls scale, scale, c_two - ps_madd tmp8, tmp0, tmp5, tmp6 - ps_msub tmp6, tmp0, tmp5, tmp6 - psq_st c_zero, 12(m), 1, 0 - ps_nmsub tmp2, tmp2, scale, c_one - ps_nmsub tmp4, tmp4, scale, c_one - psq_st c_zero, 44(m), 1, 0 - ps_mul tmp8, tmp8, scale - ps_mul tmp6, tmp6, scale - psq_st tmp2, 40(m), 1, 0 - ps_madds0 tmp5, tmp0, tmp1, tmp7 - ps_merge00 tmp1, tmp8, tmp4 - ps_nmsub tmp7, tmp7, c_two, tmp5 - ps_merge10 tmp0, tmp4, tmp6 - psq_st tmp1, 16(m), 0, 0 - ps_mul tmp5, tmp5, scale - ps_mul tmp7, tmp7, scale - psq_st tmp0, 0(m), 0, 0 - psq_st tmp5, 8(m), 1, 0 - ps_merge10 tmp3, tmp7, c_zero - ps_merge01 tmp9, tmp7, tmp5 - psq_st tmp3, 24(m), 0, 0 - psq_st tmp9, 32(m), 0, 0 - } - // clang-format on -} -#endif - -void C_MTXReflect(Mtx m, const Vec *p, const Vec *n) -{ - f32 vxy, vxz, vyz, pdotn; - - vxy = -2.0f * n->x * n->y; - vxz = -2.0f * n->x * n->z; - vyz = -2.0f * n->y * n->z; - pdotn = 2.0f * C_VECDotProduct(p, n); - - m[0][0] = 1.0f - 2.0f * n->x * n->x; - m[0][1] = vxy; - m[0][2] = vxz; - m[0][3] = pdotn * n->x; - - m[1][0] = vxy; - m[1][1] = 1.0f - 2.0f * n->y * n->y; - m[1][2] = vyz; - m[1][3] = pdotn * n->y; - - m[2][0] = vxz; - m[2][1] = vyz; - m[2][2] = 1.0f - 2.0f * n->z * n->z; - m[2][3] = pdotn * n->z; -} - -#ifdef GEKKO -void PSMTXReflect(register Mtx m, const register Vec *p, const register Vec *n) -{ - register f32 c_one = 1.0F; - register f32 vn_xy, vn_z1, n2vn_xy, n2vn_z1, pdotn; - register f32 tmp0, tmp1, tmp2, tmp3; - register f32 tmp4, tmp5, tmp6, tmp7; - // clang-format off - asm - { - psq_l vn_z1, 8(n), 1, 0 - psq_l vn_xy, 0(n), 0, 0 - psq_l tmp0, 0(p), 0, 0 - ps_nmadd n2vn_z1, vn_z1, c_one, vn_z1 - psq_l tmp1, 8(p), 1, 0 - ps_nmadd n2vn_xy, vn_xy, c_one, vn_xy - ps_muls0 tmp4, vn_xy, n2vn_z1 - ps_mul pdotn, n2vn_xy, tmp0 - ps_muls0 tmp2, vn_xy, n2vn_xy - ps_sum0 pdotn, pdotn, pdotn, pdotn - ps_muls1 tmp3, vn_xy, n2vn_xy - psq_st tmp4, 32(m), 0, 0 - ps_sum0 tmp2, tmp2, tmp2, c_one - ps_nmadd pdotn, n2vn_z1, tmp1, pdotn - ps_sum1 tmp3, c_one, tmp3, tmp3 - psq_st tmp2, 0(m), 0, 0 - ps_muls0 tmp5, vn_xy, pdotn - ps_merge00 tmp6, n2vn_z1, pdotn - psq_st tmp3, 16(m), 0, 0 - ps_merge00 tmp7, tmp4, tmp5 - ps_muls0 tmp6, tmp6, vn_z1 - ps_merge11 tmp5, tmp4, tmp5 - psq_st tmp7, 8(m), 0, 0 - ps_sum0 tmp6, tmp6, tmp6, c_one - psq_st tmp5, 24(m), 0, 0 - psq_st tmp6, 40(m), 0, 0 - } - // clang-format on -} -#endif - -void C_MTXLookAt(Mtx m, const Vec *camPos, const Vec *camUp, const Vec *target) -{ - Vec vLook, vRight, vUp; - - vLook.x = camPos->x - target->x; - vLook.y = camPos->y - target->y; - vLook.z = camPos->z - target->z; - VECNormalize(&vLook, &vLook); - VECCrossProduct(camUp, &vLook, &vRight); - VECNormalize(&vRight, &vRight); - VECCrossProduct(&vLook, &vRight, &vUp); - - m[0][0] = vRight.x; - m[0][1] = vRight.y; - m[0][2] = vRight.z; - m[0][3] = -(camPos->x * vRight.x + camPos->y * vRight.y + camPos->z * vRight.z); - - m[1][0] = vUp.x; - m[1][1] = vUp.y; - m[1][2] = vUp.z; - m[1][3] = -(camPos->x * vUp.x + camPos->y * vUp.y + camPos->z * vUp.z); - - m[2][0] = vLook.x; - m[2][1] = vLook.y; - m[2][2] = vLook.z; - m[2][3] = -(camPos->x * vLook.x + camPos->y * vLook.y + camPos->z * vLook.z); -} - -void C_MTXLightFrustum(Mtx m, float t, float b, float l, float r, float n, float scaleS, float scaleT, float transS, float transT) -{ - f32 tmp; - - tmp = 1.0f / (r - l); - m[0][0] = ((2 * n) * tmp) * scaleS; - m[0][1] = 0.0f; - m[0][2] = (((r + l) * tmp) * scaleS) - transS; - m[0][3] = 0.0f; - - tmp = 1.0f / (t - b); - m[1][0] = 0.0f; - m[1][1] = ((2 * n) * tmp) * scaleT; - m[1][2] = (((t + b) * tmp) * scaleT) - transT; - m[1][3] = 0.0f; - - m[2][0] = 0.0f; - m[2][1] = 0.0f; - m[2][2] = -1.0f; - m[2][3] = 0.0f; -} - -void C_MTXLightPerspective(Mtx m, f32 fovY, f32 aspect, float scaleS, float scaleT, float transS, float transT) -{ - f32 angle; - f32 cot; - - angle = fovY * 0.5f; - angle = MTXDegToRad(angle); - - cot = 1.0f / tanf(angle); - - m[0][0] = (cot / aspect) * scaleS; - m[0][1] = 0.0f; - m[0][2] = -transS; - m[0][3] = 0.0f; - - m[1][0] = 0.0f; - m[1][1] = cot * scaleT; - m[1][2] = -transT; - m[1][3] = 0.0f; - - m[2][0] = 0.0f; - m[2][1] = 0.0f; - m[2][2] = -1.0f; - m[2][3] = 0.0f; -} - -void C_MTXLightOrtho(Mtx m, f32 t, f32 b, f32 l, f32 r, float scaleS, float scaleT, float transS, float transT) -{ - f32 tmp; - tmp = 1.0f / (r - l); - m[0][0] = (2.0f * tmp * scaleS); - m[0][1] = 0.0f; - m[0][2] = 0.0f; - m[0][3] = ((-(r + l) * tmp) * scaleS) + transS; - - tmp = 1.0f / (t - b); - m[1][0] = 0.0f; - m[1][1] = (2.0f * tmp) * scaleT; - m[1][2] = 0.0f; - m[1][3] = ((-(t + b) * tmp) * scaleT) + transT; - - m[2][0] = 0.0f; - m[2][1] = 0.0f; - m[2][2] = 0.0f; - m[2][3] = 1.0f; -} diff --git a/src/dolphin/mtx/mtx44.c b/src/dolphin/mtx/mtx44.c deleted file mode 100644 index a6c2faa9..00000000 --- a/src/dolphin/mtx/mtx44.c +++ /dev/null @@ -1,99 +0,0 @@ -#include "dolphin/mtx.h" -#include "math.h" - -void C_MTXFrustum(Mtx44 m, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6) -{ - f32 tmp = 1.0f / (arg4 - arg3); - m[0][0] = (2 * arg5) * tmp; - m[0][1] = 0.0f; - m[0][2] = (arg4 + arg3) * tmp; - m[0][3] = 0.0f; - tmp = 1.0f / (arg1 - arg2); - m[1][0] = 0.0f; - m[1][1] = (2 * arg5) * tmp; - m[1][2] = (arg1 + arg2) * tmp; - m[1][3] = 0.0f; - m[2][0] = 0.0f; - m[2][1] = 0.0f; - tmp = 1.0f / (arg6 - arg5); - m[2][2] = -(arg5)*tmp; - m[2][3] = -(arg6 * arg5) * tmp; - m[3][0] = 0.0f; - m[3][1] = 0.0f; - m[3][2] = -1.0f; - m[3][3] = 0.0f; -} - -// Functions match but has issues with float constants -void C_MTXPerspective(Mtx44 m, f32 fovY, f32 aspect, f32 n, f32 f) -{ - f32 angle = fovY * 0.5f; - f32 cot; - f32 tmp; - angle = MTXDegToRad(angle); - cot = 1.0f / tanf(angle); - m[0][0] = cot / aspect; - m[0][1] = 0.0f; - m[0][2] = 0.0f; - m[0][3] = 0.0f; - m[1][0] = 0.0f; - m[1][1] = cot; - m[1][2] = 0.0f; - m[1][3] = 0.0f; - m[2][0] = 0.0f; - m[2][1] = 0.0f; - tmp = 1.0f / (f - n); - m[2][2] = -(n)*tmp; - m[2][3] = -(f * n) * tmp; - m[3][0] = 0.0f; - m[3][1] = 0.0f; - m[3][2] = -1.0f; - m[3][3] = 0.0f; -} - -void C_MTXOrtho(Mtx44 m, f32 t, f32 b, f32 l, f32 r, f32 n, f32 f) -{ - f32 tmp = 1.0f / (r - l); - m[0][0] = 2.0f * tmp; - m[0][1] = 0.0f; - m[0][2] = 0.0f; - m[0][3] = -(r + l) * tmp; - tmp = 1.0f / (t - b); - m[1][0] = 0.0f; - m[1][1] = 2.0f * tmp; - m[1][2] = 0.0f; - m[1][3] = -(t + b) * tmp; - m[2][0] = 0.0f; - m[2][1] = 0.0f; - tmp = 1.0f / (f - n); - m[2][2] = -(1.0f) * tmp; - m[2][3] = -(f)*tmp; - m[3][0] = 0.0f; - m[3][1] = 0.0f; - m[3][2] = 0.0f; - m[3][3] = 1.0f; -} - -asm void PSMTX44Copy(register Mtx44 src, register Mtx44 dest) -{ -#ifdef __MWERKS__ // clang-format off - nofralloc; - psq_l fp1, 0(src), 0, 0; - psq_st fp1, 0(dest), 0, 0; - psq_l fp1, 8(src), 0, 0; - psq_st fp1, 8(dest), 0, 0; - psq_l fp1, 0x10(src), 0, 0; - psq_st fp1, 0x10(dest), 0, 0; - psq_l fp1, 0x18(src), 0, 0; - psq_st fp1, 0x18(dest), 0, 0; - psq_l fp1, 0x20(src), 0, 0; - psq_st fp1, 0x20(dest), 0, 0; - psq_l fp1, 0x28(src), 0, 0; - psq_st fp1, 0x28(dest), 0, 0; - psq_l fp1, 0x30(src), 0, 0; - psq_st fp1, 0x30(dest), 0, 0; - psq_l fp1, 0x38(src), 0, 0; - psq_st fp1, 0x38(dest), 0, 0; - blr; -#endif // clang-format on -} diff --git a/src/dolphin/mtx/mtxvec.c b/src/dolphin/mtx/mtxvec.c deleted file mode 100644 index d4e70ab0..00000000 --- a/src/dolphin/mtx/mtxvec.c +++ /dev/null @@ -1,146 +0,0 @@ -#include "dolphin/mtx.h" - -asm void PSMTXMultVec(const register Mtx m, const register Vec* in, register Vec* out) { -#ifdef __MWERKS__ // clang-format off - nofralloc; - psq_l fp0, 0(in), 0, 0; - psq_l fp2, 0(m), 0, 0; - psq_l fp1, 8(in), 1, 0; - ps_mul fp4, fp2, fp0; - psq_l fp3, 8(m), 0, 0; - ps_madd fp5, fp3, fp1, fp4; - psq_l fp8, 16(m), 0, 0; - ps_sum0 fp6, fp5, fp6, fp5; - psq_l fp9, 24(m), 0, 0; - ps_mul fp10, fp8, fp0; - psq_st fp6, 0(out), 1, 0; - ps_madd fp11, fp9, fp1, fp10; - psq_l fp2, 32(m), 0, 0; - ps_sum0 fp12, fp11, fp12, fp11; - psq_l fp3, 40(m), 0, 0; - ps_mul fp4, fp2, fp0; - psq_st fp12, 4(out), 1, 0; - ps_madd fp5, fp3, fp1, fp4; - ps_sum0 fp6, fp5, fp6, fp5; - psq_st fp6, 8(out), 1, 0; - blr -#endif // clang-format on -} - -asm void PSMTXMultVecArray(register const Mtx m, register const Vec* srcBase, register Vec* dstBase, - register u32 count) { -#ifdef __MWERKS__ // clang-format off - nofralloc - - psq_l f13, 0(m), 0, 0 - psq_l f12, 16(m), 0, 0 - addi count, count, -1 - psq_l f11, 8(m), 0, 0 - ps_merge00 f0, f13, f12 - addi dstBase, dstBase, -4 - psq_l f10, 24(m), 0, 0 - ps_merge11 f1, f13, f12 - mtctr count - psq_l f4, 32(m), 0, 0 - ps_merge00 f2, f11, f10 - psq_l f5, 40(m), 0, 0 - ps_merge11 f3, f11, f10 - psq_l f6, 0(srcBase), 0, 0 - psq_lu f7, 8(srcBase), 1, 0 - ps_madds0 f8, f0, f6, f3 - ps_mul f9, f4, f6 - ps_madds1 f8, f1, f6, f8 - ps_madd f10, f5, f7, f9 - -lbl_80346E0C: - psq_lu f6, 4(srcBase), 0, 0 - ps_madds0 f12, f2, f7, f8 - psq_lu f7, 8(srcBase), 1, 0 - ps_sum0 f13, f10, f9, f10 - ps_madds0 f8, f0, f6, f3 - ps_mul f9, f4, f6 - psq_stu f12, 4(dstBase), 0, 0 - ps_madds1 f8, f1, f6, f8 - psq_stu f13, 8(dstBase), 1, 0 - ps_madd f10, f5, f7, f9 - bdnz lbl_80346E0C - - ps_madds0 f12, f2, f7, f8 - ps_sum0 f13, f10, f9, f10 - psq_stu f12, 4(dstBase), 0, 0 - psq_stu f13, 8(dstBase), 1, 0 - blr -#endif // clang-format on -} - -asm void PSMTXMultVecSR(const register Mtx mtx, const register Vec* in, register Vec* out) { -#ifdef __MWERKS__ // clang-format off - nofralloc; - psq_l fp0, 0(mtx), 0, 0; - psq_l fp6, 0(in), 0, 0; - psq_l fp2, 0x10(mtx), 0, 0; - ps_mul fp8, fp0, fp6; - psq_l fp4, 0x20(mtx), 0, 0; - ps_mul fp10, fp2, fp6; - psq_l fp7, 8(in), 1, 0; - ps_mul fp12, fp4, fp6; - psq_l fp3, 0x18(mtx), 0, 0; - ps_sum0 fp8, fp8, fp8, fp8; - psq_l fp5, 0x28(mtx), 0, 0; - ps_sum0 fp10, fp10, fp10, fp10; - psq_l fp1, 8(mtx), 0, 0; - ps_sum0 fp12, fp12, fp12, fp12; - ps_madd fp9, fp1, fp7, fp8; - psq_st fp9, 0(out), 1, 0; - ps_madd fp11, fp3, fp7, fp10; - psq_st fp11, 4(out), 1, 0; - ps_madd fp13, fp5, fp7, fp12; - psq_st fp13, 8(out), 1, 0; - blr -#endif // clang-format on -} - -asm void PSMTXMultVecArraySR(register const Mtx m, register const Vec* srcBase, - register Vec* dstBase, register u32 count) { -#ifdef __MWERKS__ // clang-format off - nofralloc - - psq_l f13, 0(m), 0, 0 - psq_l f12, 16(m), 0, 0 - addi count, count, -1 - psq_l f11, 8(m), 1, 0 - ps_merge00 f0, f13, f12 - addi dstBase, dstBase, -4 - psq_l f10, 24(m), 1, 0 - ps_merge11 f1, f13, f12 - mtctr count - psq_l f3, 32(m), 0, 0 - ps_merge00 f2, f11, f10 - psq_l f4, 40(m), 1, 0 - psq_l f6, 0(srcBase), 0, 0 - psq_lu f7, 8(srcBase), 1, 0 - ps_muls0 f8, f0, f6 - ps_mul f9, f3, f6 - ps_madds1 f8, f1, f6, f8 - ps_madd f10, f4, f7, f9 - -lbl_80346EE8: - psq_lu f6, 4(srcBase), 0, 0 - ps_madds0 f12, f2, f7, f8 - psq_lu f7, 8(srcBase), 1, 0 - ps_sum0 f13, f10, f9, f9 - ps_muls0 f8, f0, f6 - ps_mul f9, f3, f6 - psq_stu f12, 4(dstBase), 0, 0 - ps_madds1 f8, f1, f6, f8 - psq_stu f13, 8(dstBase), 1, 0 - ps_madd f10, f4, f7, f9 - bdnz lbl_80346EE8 - - ps_madds0 f12, f2, f7, f8 - ps_sum0 f13, f10, f9, f9 - psq_stu f12, 4(dstBase), 0, 0 - psq_stu f13, 8(dstBase), 1, 0 - blr -#endif // clang-format on -} diff --git a/src/dolphin/mtx/psmtx.c b/src/dolphin/mtx/psmtx.c deleted file mode 100644 index 0a6c5276..00000000 --- a/src/dolphin/mtx/psmtx.c +++ /dev/null @@ -1,355 +0,0 @@ -#include -#include - -#define qr0 0 -#define qr1 1 -#define qr6 6 - -asm void PSMTXReorder(const register Mtx src, register ROMtx dest) -{ - /* clang-format off */ - psq_l f0, 0(src), 0, qr0 - psq_l f2, 16(src), 0, qr0 - psq_l f4, 32(src), 0, qr0 - psq_l f1, 8(src), 0, qr0 - ps_merge00 f6, f0, f2 - psq_l f3, 24(src), 0, qr0 - ps_merge01 f12, f4, f0 - psq_l f5, 40(src), 0, qr0 - ps_merge11 f7, f2, f4 - psq_st f6, 0(dest), 0, qr0 - ps_merge00 f8, f1, f3 - psq_st f12, 8(dest), 0, qr0 - ps_merge01 f9, f5, f1 - psq_st f7, 16(dest), 0, qr0 - ps_merge11 f10, f3, f5 - psq_st f8, 24(dest), 0, qr0 - psq_st f9, 32(dest), 0, qr0 - psq_st f10, 40(dest), 0, qr0 - /* clang-format on */ -} - -asm void PSMTXROMultVecArray(const register ROMtx m, const register Vec *srcBase, register Vec *dstBase, register u32 count) -{ - /* clang-format off */ - nofralloc - stwu r1, -64(r1) - stfd f14, 8(r1) - subi r7, count, 1 - stfd f15, 16(r1) - srwi r7, r7, 1 - stfd f16, 24(r1) - stfd f17, 32(r1) - stfd f18, 40(r1) - mtctr r7 - psq_l f0, 0(m), 0, qr0 - subi srcBase, srcBase, 8 - psq_l f1, 8(m), 1, qr0 - subi dstBase, dstBase, 4 - psq_l f6, 36(m), 0, qr0 - psq_lu f8, 8(srcBase), 0, qr0 - psq_l f7, 44(m), 1, qr0 - psq_lu f9, 8(srcBase), 0, qr0 - ps_madds0 f11, f0, f8, f6 - psq_l f2, 12(m), 0, qr0 - ps_madds0 f12, f1, f8, f7 - psq_l f3, 20(m), 1, qr0 - ps_madds1 f13, f0, f9, f6 - psq_lu f10, 8(srcBase), 0, qr0 - ps_madds1 f14, f1, f9, f7 - psq_l f5, 32(m), 1, qr0 - ps_madds1 f11, f2, f8, f11 - ps_madds1 f12, f3, f8, f12 - psq_l f4, 24(m), 0, qr0 - ps_madds0 f13, f2, f10, f13 - psq_lu f8, 8(srcBase), 0, qr0 - ps_madds0 f14, f3, f10, f14 - ps_madds0 f15, f4, f9, f11 - ps_madds0 f16, f5, f9, f12 - psq_lu f9, 8(srcBase), 0, qr0 - ps_madds1 f17, f4, f10, f13 - ps_madds1 f18, f5, f10, f14 - psq_lu f10, 8(srcBase), 0, qr0 -loop: - ps_madds0 f11, f0, f8, f6 - psq_stu f15, 4(dstBase), 0, qr0 - ps_madds0 f12, f1, f8, f7 - psq_stu f16, 8(dstBase), 1, qr0 - ps_madds1 f13, f0, f9, f6 - psq_stu f17, 4(dstBase), 0, qr0 - ps_madds1 f14, f1, f9, f7 - psq_stu f18, 8(dstBase), 1, qr0 - ps_madds1 f11, f2, f8, f11 - ps_madds1 f12, f3, f8, f12 - psq_lu f8, 8(srcBase), 0, qr0 - ps_madds0 f13, f2, f10, f13 - ps_madds0 f14, f3, f10, f14 - ps_madds0 f15, f4, f9, f11 - ps_madds0 f16, f5, f9, f12 - psq_lu f9, 8(srcBase), 0, qr0 - ps_madds1 f17, f4, f10, f13 - ps_madds1 f18, f5, f10, f14 - psq_lu f10, 8(srcBase), 0, qr0 - bdnz loop - psq_stu f15, 4(dstBase), 0, qr0 - clrlwi. r7, count, 31 - psq_stu f16, 8(dstBase), 1, qr0 - bne exit - psq_stu f17, 4(dstBase), 0, qr0 - psq_stu f18, 8(dstBase), 1, qr0 -exit: - lfd f14, 8(r1) - lfd f15, 16(r1) - lfd f16, 24(r1) - lfd f17, 32(r1) - lfd f18, 40(r1) - addi r1, r1, 64 - blr - /* clang-format on */ -} - -asm void PSMTXROSkin2VecArray(const register ROMtx m0, const register ROMtx m1, const register f32 *wtBase, const register Vec *srcBase, - register Vec *dstBase, register u32 count) -{ - /* clang-format off */ - nofralloc - stwu r1, -160(r1) - stfd f14, 8(r1) - stfd f15, 16(r1) - stfd f16, 24(r1) - stfd f17, 32(r1) - stfd f18, 40(r1) - stfd f19, 48(r1) - stfd f20, 56(r1) - stfd f21, 64(r1) - stfd f22, 72(r1) - stfd f23, 80(r1) - stfd f24, 88(r1) - stfd f25, 96(r1) - stfd f26, 104(r1) - stfd f27, 112(r1) - stfd f28, 120(r1) - stfd f29, 128(r1) - stfd f30, 136(r1) - subi r9, r8, 1 - mtctr r9 - subi srcBase, srcBase, 4 - subi dstBase, dstBase, 4 - subi wtBase, wtBase, 4 - psq_l f14, 0(m0), 0, qr0 - psq_l f22, 0(m1), 0, qr0 - psq_l f15, 8(m0), 1, qr0 - psq_l f23, 8(m1), 1, qr0 - psq_l f16, 12(m0), 0, qr0 - psq_l f24, 12(m1), 0, qr0 - ps_sub f22, f22, f14 - psq_l f17, 20(m0), 1, qr0 - psq_l f25, 20(m1), 1, qr0 - ps_sub f23, f23, f15 - psq_l f18, 24(m0), 0, qr0 - psq_l f26, 24(m1), 0, qr0 - ps_sub f24, f24, f16 - psq_l f19, 32(m0), 1, qr0 - psq_l f27, 32(m1), 1, qr0 - ps_sub f25, f25, f17 - psq_l f20, 36(m0), 0, qr0 - psq_l f28, 36(m1), 0, qr0 - ps_sub f26, f26, f18 - psq_l f21, 44(m0), 1, qr0 - psq_l f29, 44(m1), 1, qr0 - ps_sub f27, f27, f19 - ps_sub f28, f28, f20 - ps_sub f29, f29, f21 - psq_lu f30, 4(wtBase), 1, qr0 - psq_lu f8, 4(srcBase), 0, qr0 - psq_lu f9, 8(srcBase), 1, qr0 - ps_madds0 f0, f22, f30, f14 - ps_madds0 f1, f23, f30, f15 - ps_madds0 f2, f24, f30, f16 - ps_madds0 f3, f25, f30, f17 - ps_madds0 f4, f26, f30, f18 - ps_madds0 f5, f27, f30, f19 - ps_madds0 f6, f28, f30, f20 - ps_madds0 f7, f29, f30, f21 - ps_madds0 f12, f0, f8, f6 - ps_madds0 f13, f1, f8, f7 - psq_lu f30, 4(wtBase), 1, qr0 -loop: - ps_madds1 f12, f2, f8, f12 - ps_madds1 f13, f3, f8, f13 - psq_lu f8, 4(srcBase), 0, qr0 - ps_madds0 f10, f4, f9, f12 - ps_madds0 f11, f5, f9, f13 - psq_lu f9, 8(srcBase), 1, qr0 - ps_madds0 f0, f22, f30, f14 - ps_madds0 f1, f23, f30, f15 - ps_madds0 f2, f24, f30, f16 - ps_madds0 f3, f25, f30, f17 - ps_madds0 f4, f26, f30, f18 - ps_madds0 f5, f27, f30, f19 - ps_madds0 f6, f28, f30, f20 - ps_madds0 f7, f29, f30, f21 - psq_stu f10, 4(dstBase), 0, qr0 - ps_madds0 f12, f0, f8, f6 - ps_madds0 f13, f1, f8, f7 - psq_stu f11, 8(dstBase), 1, qr0 - psq_lu f30, 4(wtBase), 1, qr0 - bdnz loop - ps_madds1 f12, f2, f8, f12 - ps_madds1 f13, f3, f8, f13 - ps_madds0 f10, f4, f9, f12 - psq_stu f10, 4(dstBase), 0, qr0 - ps_madds0 f11, f5, f9, f13 - psq_stu f11, 8(dstBase), 1, qr0 - lfd f14, 8(r1) - lfd f15, 16(r1) - lfd f16, 24(r1) - lfd f17, 32(r1) - lfd f18, 40(r1) - lfd f19, 48(r1) - lfd f20, 56(r1) - lfd f21, 64(r1) - lfd f22, 72(r1) - lfd f23, 80(r1) - lfd f24, 88(r1) - lfd f25, 96(r1) - lfd f26, 104(r1) - lfd f27, 112(r1) - lfd f28, 120(r1) - lfd f29, 128(r1) - lfd f30, 136(r1) - addi r1, r1, 160 - blr - /* clang-format on */ -} - -asm void PSMTXROMultS16VecArray(const register ROMtx m, const register S16Vec *srcBase, register Vec *dstBase, register u32 count) -{ - /* clang-format off */ - nofralloc - stwu r1, -64(r1) - stfd f14, 8(r1) - subi r7, count, 1 - stfd f15, 16(r1) - srwi r7, r7, 1 - stfd f16, 24(r1) - lis r8, 7 - stfd f17, 32(r1) - mtspr GQR6, r8 - stfd f18, 40(r1) - mtctr r7 - psq_l f0, 0(m), 0, qr0 - subi srcBase, srcBase, 4 - psq_l f1, 8(m), 1, qr0 - subi dstBase, dstBase, 4 - psq_l f6, 36(m), 0, qr0 - psq_lu f8, 4(srcBase), 0, qr6 - psq_l f7, 44(m), 1, qr0 - psq_lu f9, 4(srcBase), 0, qr6 - ps_madds0 f11, f0, f8, f6 - psq_l f2, 12(m), 0, qr0 - ps_madds0 f12, f1, f8, f7 - psq_l f3, 20(m), 1, qr0 - ps_madds1 f13, f0, f9, f6 - psq_lu f10, 4(srcBase), 0, qr6 - ps_madds1 f14, f1, f9, f7 - psq_l f5, 32(m), 1, qr0 - ps_madds1 f11, f2, f8, f11 - ps_madds1 f12, f3, f8, f12 - psq_l f4, 24(m), 0, qr0 - ps_madds0 f13, f2, f10, f13 - psq_lu f8, 4(srcBase), 0, qr6 - ps_madds0 f14, f3, f10, f14 - ps_madds0 f15, f4, f9, f11 - ps_madds0 f16, f5, f9, f12 - psq_lu f9, 4(srcBase), 0, qr6 - ps_madds1 f17, f4, f10, f13 - ps_madds1 f18, f5, f10, f14 - psq_lu f10, 4(srcBase), 0, qr6 -loop: - ps_madds0 f11, f0, f8, f6 - psq_stu f15, 4(dstBase), 0, qr0 - ps_madds0 f12, f1, f8, f7 - psq_stu f16, 8(dstBase), 1, qr0 - ps_madds1 f13, f0, f9, f6 - psq_stu f17, 4(dstBase), 0, qr0 - ps_madds1 f14, f1, f9, f7 - psq_stu f18, 8(dstBase), 1, qr0 - ps_madds1 f11, f2, f8, f11 - ps_madds1 f12, f3, f8, f12 - psq_lu f8, 4(srcBase), 0, qr6 - ps_madds0 f13, f2, f10, f13 - ps_madds0 f14, f3, f10, f14 - ps_madds0 f15, f4, f9, f11 - ps_madds0 f16, f5, f9, f12 - psq_lu f9, 4(srcBase), 0, qr6 - ps_madds1 f17, f4, f10, f13 - ps_madds1 f18, f5, f10, f14 - psq_lu f10, 4(srcBase), 0, qr6 - bdnz loop - psq_stu f15, 4(dstBase), 0, qr0 - clrlwi. r7, count, 31 - psq_stu f16, 8(dstBase), 1, qr0 - bne exit - psq_stu f17, 4(dstBase), 0, qr0 - psq_stu f18, 8(dstBase), 1, qr0 -exit: - lfd f14, 8(r1) - lfd f15, 16(r1) - lfd f16, 24(r1) - lfd f17, 32(r1) - lfd f18, 40(r1) - addi r1, r1, 64 - blr - /* clang-format on */ -} - -asm void PSMTXMultS16VecArray(const register Mtx44 m, const register S16Vec *srcBase, register Vec *dstBase, register u32 count) -{ - /* clang-format off */ - psq_l f0, 0(m), 0, qr0 - lis r7, 7 - mtspr GQR6, r7 - psq_l f6, 0(srcBase), 0, qr6 - subi count, count, 1 - psq_l f7, 4(srcBase), 1, qr6 - mtctr count - psq_l f1, 8(m), 0, qr0 - addi srcBase, srcBase, 4 - psq_l f2, 16(m), 0, qr0 - subi dstBase, dstBase, 4 - psq_l f3, 24(m), 0, qr0 - ps_mul f8, f0, f6 - psq_l f4, 32(m), 0, qr0 - ps_mul f10, f2, f6 - psq_l f5, 40(m), 0, qr0 - ps_mul f12, f4, f6 - psq_lu f6, 2(srcBase), 0, qr1 - ps_madd f8, f1, f7, f8 - ps_madd f10, f3, f7, f10 - ps_madd f12, f5, f7, f12 - psq_lu f7, 4(srcBase), 1, qr6 - ps_sum0 f9, f8, f8, f8 -loop: - ps_sum0 f11, f10, f10, f10 - ps_mul f8, f0, f6 - ps_sum0 f13, f12, f12, f12 - ps_mul f10, f2, f6 - psq_stu f9, 4(dstBase), 1, qr0 - ps_mul f12, f4, f6 - psq_stu f11, 4(dstBase), 1, qr0 - ps_madd f8, f1, f7, f8 - psq_stu f13, 4(dstBase), 1, qr0 - ps_madd f10, f3, f7, f10 - psq_lu f6, 2(srcBase), 0, qr6 - ps_madd f12, f5, f7, f12 - psq_lu f7, 4(srcBase), 1, qr6 - ps_sum0 f9, f8, f8, f8 - bdnz loop - ps_sum0 f11, f10, f10, f10 - ps_sum0 f13, f12, f12, f12 - psq_stu f9, 4(dstBase), 1, qr0 - psq_stu f11, 4(dstBase), 1, qr0 - psq_stu f13, 4(dstBase), 1, qr0 - /* clang-format on */ -} diff --git a/src/dolphin/mtx/quat.c b/src/dolphin/mtx/quat.c deleted file mode 100644 index f3e15a87..00000000 --- a/src/dolphin/mtx/quat.c +++ /dev/null @@ -1,214 +0,0 @@ -#include "dolphin/math.h" -#include "dolphin/mtx.h" - -float acosf(float x); - -float sinf(float x); -float cosf(float x); - -void C_QUATAdd(const Quaternion *p, const Quaternion *q, Qtrn *r) -{ - r->x = p->x + q->x; - r->y = p->y + q->y; - r->z = p->z + q->z; - r->w = p->w + q->w; -} - -void PSQUATAdd(register const Quaternion *p, register const Quaternion *q, register Quaternion *r) -{ - asm { - psq_l f0, 0x0(r3), 0, 0 - psq_l f1, 0x0(r4), 0, 0 - ps_add f0, f0, f1 - psq_st f0, 0x0(r5), 0, 0 - psq_l f0, 0x8(r3), 0, 0 - psq_l f1, 0x8(r4), 0, 0 - ps_add f0, f0, f1 - psq_st f0, 0x8(r5), 0, 0 - } -} - -void PSQUATMultiply(register const Quaternion *a, register const Quaternion *b, register Quaternion *ab) -{ - asm { - psq_l f0, 0(a), 0, 0 - psq_l f1, 8(a), 0, 0 - psq_l f2, 0(b), 0, 0 - ps_neg f5, f0 - psq_l f3, 8(b), 0, 0 - ps_neg f6, f1 - ps_merge01 f4, f5, f0 - ps_muls0 f7, f1, f2 - ps_muls0 f5, f5, f2 - ps_merge01 f1, f6, f1 - ps_muls1 f8, f4, f2 - ps_madds0 f7, f4, f3, f7 - ps_muls1 f2, f1, f2 - ps_madds0 f5, f1, f3, f5 - ps_madds1 f8, f6, f3, f8 - ps_merge10 f7, f7, f7 - ps_madds1 f2, f0, f3, f2 - ps_merge10 f5, f5, f5 - ps_add f7, f7, f2 - psq_st f7, 0(ab), 0, 0 - ps_sub f5, f5, f8 - psq_st f5, 8(ab), 0, 0 - } -} - -void PSQUATNormalize(const register Quaternion *src, register Quaternion *unit) -{ - // sdata2 - (void)0.00001f; - (void)0.0f; - (void)0.5; - (void)3.0; - (void)1.0f; - (void)0.5f; - (void)3.0f; - { - register f32 vv1, vv2, vv3; - register f32 vv4, vv5, vv6; - register f32 vv7, vv8; - register f32 vv9 = 0.00001f; - register f32 vvA = 0.5F; - register f32 vvB = 3.0F; - asm - { - psq_l vv1, 0(src), 0, 0; - ps_mul vv3, vv1, vv1; - psq_l vv2, 8(src), 0, 0; - ps_sub vv6, vv9, vv9; - ps_madd vv3, vv2, vv2, vv3; - ps_sum0 vv3, vv3, vv3, vv3; - frsqrte vv4, vv3; - ps_sub vv5, vv3, vv9; - fmul vv7, vv4, vv4; - fmul vv8, vv4, vvA; - fnmsub vv7, vv7, vv3, vvB; - fmul vv4, vv7, vv8; - ps_sel vv4, vv5, vv4, vv6; - ps_muls0 vv1, vv1, vv4; - ps_muls0 vv2, vv2, vv4; - psq_st vv1, 0(unit), 0, 0; - psq_st vv2, 8(unit), 0, 0; - } - } -} - -void PSQUATInverse(const register Quaternion *src, register Quaternion *inv) -{ - register f32 vv1, vv2, vv3, vv4; - register f32 vv5, vv6, vv7, vv8, vv9, vvA, vvB; - register f32 vvC = 1.0F; - asm { - psq_l vv1, 0(src), 0, 0; - ps_mul vv5, vv1, vv1; - psq_l vv2, 8(src), 0, 0; - ps_madd vv5, vv2, vv2, vv5; - ps_add vvA, vvC, vvC; - ps_sum0 vv5, vv5, vv5, vv5; - fres vv7, vv5; - ps_neg vv6, vv5; - ps_nmsub vv9, vv5, vv7, vvA; - ps_mul vv7, vv7, vv9; - ps_sel vv7, vv6, vvC, vv7 - b loc1; - loc0: - fmr vv7, vvC; - loc1: - ps_neg vv8, vv7; - ps_muls1 vv4, vv7, vv2; - ps_muls0 vv1, vv1, vv8; - psq_st vv4, 12(inv), 1, 0; - ps_muls0 vv3, vv2, vv8; - psq_st vv1, 0(inv), 0, 0; - psq_st vv3, 8(inv), 1, 0; - } -} - -void C_QUATRotAxisRad(Quaternion *q, const Vec *axis, f32 rad) -{ - f32 tmp, tmp2, tmp3; - Vec dst; - - tmp = rad; - PSVECNormalize(axis, &dst); - - tmp2 = tmp * 0.5f; - tmp3 = sinf(tmp * 0.5f); - tmp = tmp3; - tmp3 = cosf(tmp2); - - q->x = tmp * dst.x; - q->y = tmp * dst.y; - q->z = tmp * dst.z; - q->w = tmp3; -} - -void C_QUATMtx(Quaternion *r, const Mtx m) -{ - f32 vv0, vv1; - s32 i, j, k; - s32 idx[3] = { 1, 2, 0 }; - f32 vec[3]; - vv0 = m[0][0] + m[1][1] + m[2][2]; - if (vv0 > 0.0f) { - vv1 = (f32)sqrtf(vv0 + 1.0f); - r->w = vv1 * 0.5f; - vv1 = 0.5f / vv1; - r->x = (m[2][1] - m[1][2]) * vv1; - r->y = (m[0][2] - m[2][0]) * vv1; - r->z = (m[1][0] - m[0][1]) * vv1; - } - else { - i = 0; - if (m[1][1] > m[0][0]) - i = 1; - if (m[2][2] > m[i][i]) - i = 2; - j = idx[i]; - k = idx[j]; - vv1 = (f32)sqrtf((m[i][i] - (m[j][j] + m[k][k])) + 1.0f); - vec[i] = vv1 * 0.5f; - if (vv1 != 0.0f) - vv1 = 0.5f / vv1; - r->w = (m[k][j] - m[j][k]) * vv1; - vec[j] = (m[i][j] + m[j][i]) * vv1; - vec[k] = (m[i][k] + m[k][i]) * vv1; - r->x = vec[0]; - r->y = vec[1]; - r->z = vec[2]; - } -} - -void C_QUATSlerp(const Quaternion *p, const Quaternion *q, Quaternion *r, f32 t) -{ - f32 ratioA, ratioB; - - f32 value = 1.0f; - f32 cosHalfTheta = p->x * q->x + p->y * q->y + p->z * q->z + p->w * q->w; - - if (cosHalfTheta < 0.0f) { - cosHalfTheta = -cosHalfTheta; - value = -value; - } - - if (cosHalfTheta <= 0.9999899864196777f) { - f32 halfTheta = acosf(cosHalfTheta); - f32 sinHalfTheta = sinf(halfTheta); - - ratioA = sinf((1.0f - t) * halfTheta) / sinHalfTheta; - ratioB = sinf(t * halfTheta) / sinHalfTheta; - value *= ratioB; - } - else { - ratioA = 1.0f - t; - value *= t; - } - - r->x = (ratioA * p->x) + (value * q->x); - r->y = (ratioA * p->y) + (value * q->y); - r->z = (ratioA * p->z) + (value * q->z); - r->w = (ratioA * p->w) + (value * q->w); -} diff --git a/src/dolphin/mtx/vec.c b/src/dolphin/mtx/vec.c deleted file mode 100644 index de5ad450..00000000 --- a/src/dolphin/mtx/vec.c +++ /dev/null @@ -1,287 +0,0 @@ -#include "dolphin/mtx.h" -#include "math.h" - -#define R_RET fp1 -#define FP2 fp2 -#define FP3 fp3 -#define FP4 fp4 -#define FP5 fp5 -#define FP6 fp6 -#define FP7 fp7 -#define FP8 fp8 -#define FP9 fp9 -#define FP10 fp10 -#define FP11 fp11 -#define FP12 fp12 -#define FP13 fp13 - -asm void PSVECAdd(const register Vec *vec1, const register Vec *vec2, register Vec *ret) -{ -#ifdef __MWERKS__ // clang-format off - nofralloc; - psq_l FP2, 0(vec1), 0, 0; - psq_l FP4, 0(vec2), 0, 0; - ps_add FP6, FP2, FP4; - psq_st FP6, 0(ret), 0, 0; - psq_l FP3, 8(vec1), 1, 0; - psq_l FP5, 8(vec2), 1, 0; - ps_add FP7, FP3, FP5; - psq_st FP7, 8(ret), 1, 0; - blr -#endif // clang-format on -} - -asm void PSVECSubtract(const register Vec *vec1, const register Vec *vec2, register Vec *ret) -{ -#ifdef __MWERKS__ // clang-format off - nofralloc; - psq_l FP2, 0(vec1), 0, 0; - psq_l FP4, 0(vec2), 0, 0; - ps_sub FP6, FP2, FP4; - psq_st FP6, 0(ret), 0, 0; - psq_l FP3, 8(vec1), 1, 0; - psq_l FP5, 8(vec2), 1, 0; - ps_sub FP7, FP3, FP5; - psq_st FP7, 8(ret), 1, 0; - blr -#endif // clang-format on -} - -asm void PSVECScale(register const Vec *src, register Vec *dst, register f32 scale) -{ -#ifdef __MWERKS__ // clang-format off - nofralloc - psq_l f0, 0(src), 0, 0 - psq_l f2, 8(src), 1, 0 - ps_muls0 f0, f0, f1 - psq_st f0, 0(dst), 0, 0 - ps_muls0 f0, f2, f1 - psq_st f0, 8(dst), 1, 0 - blr -#endif // clang-format on -} - -void C_VECScale(const Vec *src, Vec *dst, f32 scale) -{ - f32 s; - - s = 1.0f / sqrtf(src->z * src->z + src->x * src->x + src->y * src->y); - dst->x = src->x * s; - dst->y = src->y * s; - dst->z = src->z * s; -} - -void PSVECNormalize(const register Vec *vec1, register Vec *ret) -{ -#ifdef __MWERKS__ // clang-format off - register f32 half = 0.5f; - register f32 three = 3.0f; - register f32 xx_zz, xx_yy; - register f32 square_sum; - register f32 ret_sqrt; - register f32 n_0, n_1; - asm { - psq_l FP2, 0(vec1), 0, 0; - ps_mul xx_yy, FP2, FP2; - psq_l FP3, 8(vec1), 1, 0; - ps_madd xx_zz, FP3, FP3, xx_yy; - ps_sum0 square_sum, xx_zz, FP3, xx_yy; - frsqrte ret_sqrt, square_sum; - fmuls n_0, ret_sqrt, ret_sqrt; - fmuls n_1, ret_sqrt, half; - fnmsubs n_0, n_0, square_sum, three; - fmuls ret_sqrt, n_0, n_1; - ps_muls0 FP2, FP2, ret_sqrt; - psq_st FP2, 0(ret), 0, 0; - ps_muls0 FP3, FP3, ret_sqrt; - psq_st FP3, 8(ret), 1, 0; - } -#endif // clang-format on -} - -asm f32 PSVECSquareMag(register const Vec *v) { -#ifdef __MWERKS__ // clang-format off - nofralloc - psq_l f0, 0(v), 0, 0 - ps_mul f0, f0, f0 - lfs f1, 8(v) - ps_madd f1, f1, f1, f0 - ps_sum0 f1, f1, f0, f0 - blr -#endif // clang-format on -} - -f32 PSVECMag(const register Vec *v) -{ - register f32 v_xy, v_zz, square_mag; - register f32 ret_mag, n_0, n_1; - register f32 three, half, zero; -#ifdef __MWERKS__ // clang-format off - asm { - psq_l v_xy, 0(v), 0, 0 - ps_mul v_xy, v_xy, v_xy - lfs v_zz, 8(v) - ps_madd square_mag, v_zz, v_zz, v_xy - } -#endif // clang-format on - half = 0.5f; -#ifdef __MWERKS__ // clang-format off - asm { - ps_sum0 square_mag, square_mag, v_xy, v_xy - frsqrte ret_mag, square_mag - } -#endif // clang-format on - three = 3.0f; -#ifdef __MWERKS__ // clang-format off -asm { - fmuls n_0, ret_mag, ret_mag - fmuls n_1, ret_mag, half - fnmsubs n_0, n_0, square_mag, three - fmuls ret_mag, n_0, n_1 - fsel ret_mag, ret_mag, ret_mag, square_mag - fmuls square_mag, square_mag, ret_mag - } -#endif // clang-format on - return square_mag; -} - -asm f32 PSVECDotProduct(const register Vec *vec1, const register Vec *vec2) -{ -#ifdef __MWERKS__ // clang-format off - nofralloc; - psq_l f2, 4(r3), 0, 0 /* qr0 */ - psq_l f3, 4(r4), 0, 0 /* qr0 */ - ps_mul f2, f2, f3 - psq_l f5, 0(r3), 0, 0 /* qr0 */ - psq_l f4, 0(r4), 0, 0 /* qr0 */ - ps_madd f3, f5, f4, f2 - ps_sum0 f1, f3, f2, f2 - blr -#endif // clang-format on -} - -asm void PSVECCrossProduct(register const Vec *a, register const Vec *b, register Vec *axb) -{ -#ifdef __MWERKS__ // clang-format off - nofralloc - psq_l f1, 0(b), 0, 0 - lfs f2, 8(a) - psq_l f0, 0(a), 0, 0 - ps_merge10 f6, f1, f1 - lfs f3, 8(b) - ps_mul f4, f1, f2 - ps_muls0 f7, f1, f0 - ps_msub f5, f0, f3, f4 - ps_msub f8, f0, f6, f7 - ps_merge11 f9, f5, f5 - ps_merge01 f10, f5, f8 - psq_st f9, 0(axb), 1, 0 - ps_neg f10, f10 - psq_st f10, 4(axb), 0, 0 - blr -#endif // clang-format on -} - -void C_VECHalfAngle(const Vec *a, const Vec *b, Vec *half) -{ - Vec a0; - Vec b0; - Vec ab; - - a0.x = -a->x; - a0.y = -a->y; - a0.z = -a->z; - - b0.x = -b->x; - b0.y = -b->y; - b0.z = -b->z; - - VECNormalize(&a0, &a0); - VECNormalize(&b0, &b0); - VECAdd(&a0, &b0, &ab); - - if (VECDotProduct(&ab, &ab) > 0.0f) { - VECNormalize(&ab, half); - } - else { - *half = ab; - } -} - -void C_VECReflect(const Vec *src, const Vec *normal, Vec *dst) -{ - Vec a0; - Vec b0; - f32 dot; - - a0.x = -src->x; - a0.y = -src->y; - a0.z = -src->z; - - VECNormalize(&a0, &a0); - VECNormalize(normal, &b0); - - dot = VECDotProduct(&a0, &b0); - dst->x = b0.x * 2.0f * dot - a0.x; - dst->y = b0.y * 2.0f * dot - a0.y; - dst->z = b0.z * 2.0f * dot - a0.z; - - VECNormalize(dst, dst); -} - -asm f32 PSVECSquareDistance(register const Vec *a, register const Vec *b) { -#ifdef __MWERKS__ // clang-format off - nofralloc - psq_l f0, 4(a), 0, 0 - psq_l f1, 4(b), 0, 0 - ps_sub f2, f0, f1 - psq_l f0, 0(a), 0, 0 - psq_l f1, 0(b), 0, 0 - ps_mul f2, f2, f2 - ps_sub f0, f0, f1 - ps_madd f1, f0, f0, f2 - ps_sum0 f1, f1, f2, f2 - blr -#endif // clang-format on -} - -f32 PSVECDistance(register const Vec *a, register const Vec *b) -{ - - register f32 half_c; - register f32 three_c; - register f32 dist; - -#ifdef __MWERKS__ // clang-format off - asm { - psq_l f0, 4(a), 0, 0 /* qr0 */ - psq_l f1, 4(b), 0, 0 /* qr0 */ - ps_sub f2, f0, f1 - psq_l f0, 0(a), 0, 0 /* qr0 */ - psq_l f1, 0(b), 0, 0 /* qr0 */ - ps_mul f2, f2, f2 - ps_sub f0, f0, f1 - } - - half_c = 0.5f; - - asm { - ps_madd f0, f0, f0, f2 - ps_sum0 f0, f0, f2, f2 - } - - three_c = 3.0f; - - asm { - frsqrte dist, f0 - fmuls f2, dist, dist - fmuls dist, dist, half_c - fnmsubs f2, f2, f0, three_c - fmuls dist, f2, dist - fsel dist, dist, dist, f0 - fmuls dist, f0, dist - } - - return dist; -#endif // clang-format on -} diff --git a/src/dolphin/os/OS.c b/src/dolphin/os/OS.c deleted file mode 100644 index 69843d73..00000000 --- a/src/dolphin/os/OS.c +++ /dev/null @@ -1,645 +0,0 @@ -#include <__ppc_eabi_linker.h> -#include -#include -#include -#include -#include -#include -#include -#include -#include - -extern OSTime __OSGetSystemTime(); -extern char _db_stack_end[]; - -#define OS_BI2_DEBUG_ADDRESS 0x800000F4 -#define DEBUGFLAG_ADDR 0x800030E8 -#define OS_DEBUG_ADDRESS_2 0x800030E9 -#define OS_CURRENTCONTEXT_PADDR 0x00C0 - -extern char *__OSResetSWInterruptHandler[]; - -vu16 __OSDeviceCode : (OS_BASE_CACHED | 0x30E6); -static DVDDriveInfo DriveInfo ATTRIBUTE_ALIGN(32); -static DVDCommandBlock DriveBlock; - -static OSBootInfo *BootInfo; -static u32 *BI2DebugFlag; -static u32 *BI2DebugFlagHolder; -__declspec(weak) BOOL __OSIsGcam = FALSE; -static f64 ZeroF; -static f32 ZeroPS[2]; -static BOOL AreWeInitialized = FALSE; -static __OSExceptionHandler *OSExceptionTable; -OSTime __OSStartTime; -BOOL __OSInIPL; - -extern u8 __ArenaHi[]; -extern u8 __ArenaLo[]; -extern u32 __DVDLongFileNameFlag; -extern u32 __PADSpec; - -#define OS_EXCEPTIONTABLE_ADDR 0x3000 -#define OS_DBJUMPPOINT_ADDR 0x60 -// memory locations for important stuff -#define OS_CACHED_REGION_PREFIX 0x8000 -#define OS_BI2_DEBUG_ADDRESS 0x800000F4 -#define OS_BI2_DEBUGFLAG_OFFSET 0xC -#define PAD3_BUTTON_ADDR 0x800030E4 -#define OS_DVD_DEVICECODE 0x800030E6 -#define DEBUGFLAG_ADDR 0x800030E8 -#define OS_DEBUG_ADDRESS_2 0x800030E9 -#define DB_EXCEPTIONRET_OFFSET 0xC -#define DB_EXCEPTIONDEST_OFFSET 0x8 - -void OSDefaultExceptionHandler(__OSException exception, OSContext *context); -extern BOOL __DBIsExceptionMarked(__OSException); -static void OSExceptionInit(void); - -/* clang-format off */ -asm void __OSFPRInit(void) -{ - nofralloc - - mfmsr r3 - ori r3, r3, 0x2000 - mtmsr r3 - - mfspr r3, 0x398 - rlwinm. r3, r3, 3, 31, 31 - beq SkipPairedSingles - - lis r3, ZeroPS@ha - addi r3, r3, ZeroPS@l - psq_l fp0, 0(r3), 0, 0 - ps_mr fp1, fp0 - ps_mr fp2, fp0 - ps_mr fp3, fp0 - ps_mr fp4, fp0 - ps_mr fp5, fp0 - ps_mr fp6, fp0 - ps_mr fp7, fp0 - ps_mr fp8, fp0 - ps_mr fp9, fp0 - ps_mr fp10, fp0 - ps_mr fp11, fp0 - ps_mr fp12, fp0 - ps_mr fp13, fp0 - ps_mr fp14, fp0 - ps_mr fp15, fp0 - ps_mr fp16, fp0 - ps_mr fp17, fp0 - ps_mr fp18, fp0 - ps_mr fp19, fp0 - ps_mr fp20, fp0 - ps_mr fp21, fp0 - ps_mr fp22, fp0 - ps_mr fp23, fp0 - ps_mr fp24, fp0 - ps_mr fp25, fp0 - ps_mr fp26, fp0 - ps_mr fp27, fp0 - ps_mr fp28, fp0 - ps_mr fp29, fp0 - ps_mr fp30, fp0 - ps_mr fp31, fp0 - -SkipPairedSingles: - lfd fp0, ZeroF - fmr fp1, fp0 - fmr fp2, fp0 - fmr fp3, fp0 - fmr fp4, fp0 - fmr fp5, fp0 - fmr fp6, fp0 - fmr fp7, fp0 - fmr fp8, fp0 - fmr fp9, fp0 - fmr fp10, fp0 - fmr fp11, fp0 - fmr fp12, fp0 - fmr fp13, fp0 - fmr fp14, fp0 - fmr fp15, fp0 - fmr fp16, fp0 - fmr fp17, fp0 - fmr fp18, fp0 - fmr fp19, fp0 - fmr fp20, fp0 - fmr fp21, fp0 - fmr fp22, fp0 - fmr fp23, fp0 - fmr fp24, fp0 - fmr fp25, fp0 - fmr fp26, fp0 - fmr fp27, fp0 - fmr fp28, fp0 - fmr fp29, fp0 - fmr fp30, fp0 - fmr fp31, fp0 - - mtfsf 0xFF, fp0 - - blr -} -/* clang-format on */ - -u32 OSGetConsoleType() -{ - if (BootInfo == NULL || BootInfo->consoleType == 0) { - return OS_CONSOLE_ARTHUR; - } - return BootInfo->consoleType; -} - -void *__OSSavedRegionStart; -void *__OSSavedRegionEnd; - -extern u32 BOOT_REGION_START : 0x812FDFF0; //(*(u32 *)0x812fdff0) -extern u32 BOOT_REGION_END : 0x812FDFEC; //(*(u32 *)0x812fdfec) - -void ClearArena(void) -{ - if ((u32)(OSGetResetCode() + 0x80000000) != 0U) { - __OSSavedRegionStart = 0U; - __OSSavedRegionEnd = 0U; - memset(OSGetArenaLo(), 0U, (u32)OSGetArenaHi() - (u32)OSGetArenaLo()); - return; - } - __OSSavedRegionStart = (void *)BOOT_REGION_START; - __OSSavedRegionEnd = (void *)BOOT_REGION_END; - if (BOOT_REGION_START == 0U) { - memset(OSGetArenaLo(), 0U, (u32)OSGetArenaHi() - (u32)OSGetArenaLo()); - return; - } - - if ((u32)OSGetArenaLo() < (u32)__OSSavedRegionStart) { - if ((u32)OSGetArenaHi() <= (u32)__OSSavedRegionStart) { - memset((u32)OSGetArenaLo(), 0U, (u32)OSGetArenaHi() - (u32)OSGetArenaLo()); - return; - } - memset(OSGetArenaLo(), 0U, (u32)__OSSavedRegionStart - (u32)OSGetArenaLo()); - if ((u32)OSGetArenaHi() > (u32)__OSSavedRegionEnd) { - memset((u32)__OSSavedRegionEnd, 0, (u32)OSGetArenaHi() - (u32)__OSSavedRegionEnd); - } - } -} - -static void InquiryCallback(s32 result, DVDCommandBlock *block) -{ - switch (block->state) { - case 0: - __OSDeviceCode = (u16)(0x8000 | DriveInfo.deviceCode); - break; - default: - __OSDeviceCode = 1; - break; - } -} - -void OSInit(void) -{ - /* - Initializes the Dolphin operating system. - - most of the main operations get farmed out to other functions - - loading debug info and setting up heap bounds largely happen here - - a lot of OS reporting also gets controlled here - */ - // pretty sure this is the min(/max) amount of pointers etc for the stack to match - BI2Debug *DebugInfo; - void *debugArenaLo; - u32 inputConsoleType; - - // check if we've already done all this or not - if ((BOOL)AreWeInitialized == FALSE) { // fantastic name - AreWeInitialized = TRUE; // flag to make sure we don't have to do this again - - // SYSTEM // - __OSStartTime = __OSGetSystemTime(); - OSDisableInterrupts(); - - // set some PPC things - PPCDisableSpeculation(); - PPCSetFpNonIEEEMode(); - - // DEBUG // - // load some DVD stuff - BI2DebugFlag = 0; // debug flag from the DVD BI2 header - BootInfo = (OSBootInfo *)OS_BASE_CACHED; // set pointer to BootInfo - - __DVDLongFileNameFlag = (u32)0; // flag to tell us whether we make it through the debug loading - - // time to grab a bunch of debug info from the DVD - // the address for where the BI2 debug info is, is stored at OS_BI2_DEBUG_ADDRESS - DebugInfo = (BI2Debug *)*((u32 *)OS_BI2_DEBUG_ADDRESS); - - // if the debug info address exists, grab some debug info - if (DebugInfo != NULL) { - BI2DebugFlag = &DebugInfo->debugFlag; // debug flag from DVD BI2 - __PADSpec = (u32)DebugInfo->padSpec; // some other info from DVD BI2 - *((u8 *)DEBUGFLAG_ADDR) = (u8)*BI2DebugFlag; // store flag in mem - *((u8 *)OS_DEBUG_ADDRESS_2) = (u8)__PADSpec; // store other info in mem - } - else if (BootInfo->arenaHi) { // if the top of the heap is already set - BI2DebugFlagHolder = (u32 *)*((u8 *)DEBUGFLAG_ADDR); // grab whatever's stored at 0x800030E8 - BI2DebugFlag = (u32 *)&BI2DebugFlagHolder; // flag is then address of flag holder - __PADSpec = (u32) * ((u8 *)OS_DEBUG_ADDRESS_2); // pad spec is whatever's at 0x800030E9 - } - - __DVDLongFileNameFlag = 1; // we made it through debug! - - // HEAP // - // set up bottom of heap (ArenaLo) - // grab address from BootInfo if it exists, otherwise use default __ArenaLo - OSSetArenaLo((BootInfo->arenaLo == NULL) ? __ArenaLo : BootInfo->arenaLo); - - // if the input arenaLo is null, and debug flag location exists (and flag is < 2), - // set arenaLo to just past the end of the db stack - if ((BootInfo->arenaLo == NULL) && (BI2DebugFlag != 0) && (*BI2DebugFlag < 2)) { - debugArenaLo = (char *)(((u32)_stack_addr + 0x1f) & ~0x1f); - OSSetArenaLo(debugArenaLo); - } - - // set up top of heap (ArenaHi) - // grab address from BootInfo if it exists, otherwise use default __ArenaHi - OSSetArenaHi((BootInfo->arenaHi == NULL) ? __ArenaHi : BootInfo->arenaHi); - - // OS INIT AND REPORT // - // initialise a whole bunch of OS stuff - OSExceptionInit(); - __OSInitSystemCall(); - OSInitAlarm(); - __OSModuleInit(); - __OSInterruptInit(); - __OSSetInterruptHandler(__OS_INTERRUPT_PI_RSW, (void *)__OSResetSWInterruptHandler); - __OSContextInit(); - __OSCacheInit(); - EXIInit(); - SIInit(); - __OSInitSram(); - __OSThreadInit(); - __OSInitAudioSystem(); - PPCMthid2(PPCMfhid2() & 0xBFFFFFFF); - if ((BootInfo->consoleType & OS_CONSOLE_DEVELOPMENT) != 0) { - BootInfo->consoleType = OS_CONSOLE_DEVHW1; - } - else { - BootInfo->consoleType = OS_CONSOLE_RETAIL1; - } - BootInfo->consoleType += (__PIRegs[11] & 0xF0000000) >> 28; - if ((BOOL)__OSInIPL == FALSE) { - __OSInitMemoryProtection(); - } - - // begin OS reporting - OSReport("\nDolphin OS $Revision: 54 $.\n"); - OSReport("Kernel built : %s %s\n", "Jun 5 2002", "02:09:12"); - OSReport("Console Type : "); - - // this is a function in the same file, but it doesn't seem to match - // inputConsoleType = OSGetConsoleType(); - - // inputConsoleType = (BootInfo == NULL || (inputConsoleType = BootInfo->consoleType) == 0) ? - // 0x10000002 : BootInfo->consoleType; - if (BootInfo == NULL || (inputConsoleType = BootInfo->consoleType) == 0) { - inputConsoleType = OS_CONSOLE_ARTHUR; // default console type - } - else { - inputConsoleType = BootInfo->consoleType; - } - - // work out what console type this corresponds to and report it - // consoleTypeSwitchHi = inputConsoleType & 0xF0000000; - inputConsoleType = OSGetConsoleType(); - if ((inputConsoleType & 0x10000000) == OS_CONSOLE_RETAIL) { // check "first" byte - OSReport("Retail %d\n", inputConsoleType); - } - else { - switch (inputConsoleType) { // if "first" byte is 2, check "the rest" - case OS_CONSOLE_EMULATOR: - OSReport("Mac Emulator\n"); - break; - case OS_CONSOLE_PC_EMULATOR: - OSReport("PC Emulator\n"); - break; - case OS_CONSOLE_ARTHUR: - OSReport("EPPC Arthur\n"); - break; - case OS_CONSOLE_MINNOW: - OSReport("EPPC Minnow\n"); - break; - default: - OSReport("Development HW%d\n", ((u32)inputConsoleType - 0x10000000) - 3); - break; - } - } - - // report memory size - OSReport("Memory %d MB\n", (u32)BootInfo->memorySize >> 0x14U); - // report heap bounds - OSReport("Arena : 0x%x - 0x%x\n", OSGetArenaLo(), OSGetArenaHi()); - // report OS version - - // if location of debug flag exists, and flag is >= 2, enable MetroTRKInterrupts - if (BI2DebugFlag && ((*BI2DebugFlag) >= 2)) { - EnableMetroTRKInterrupts(); - } - - // free up memory and re-enable things - ClearArena(); - OSEnableInterrupts(); - - // check if we can load OS from IPL; if not, grab it from DVD (?) - if ((BOOL)__OSInIPL == FALSE) { - DVDInit(); - if ((BOOL)__OSIsGcam) { - __OSDeviceCode = 0x9000; - return; - } - DCInvalidateRange(&DriveInfo, sizeof(DriveInfo)); - DVDInquiryAsync((char *)&DriveBlock, &DriveInfo, InquiryCallback); - } - } -} - -static u32 __OSExceptionLocations[] = { - 0x00000100, - 0x00000200, - 0x00000300, - 0x00000400, - 0x00000500, - 0x00000600, - 0x00000700, - 0x00000800, - 0x00000900, - 0x00000C00, - 0x00000D00, - 0x00000F00, - 0x00001300, - 0x00001400, - 0x00001700, -}; - -// dummy entry points to the OS Exception vector -void __OSEVStart(void); -void __OSEVEnd(void); -void __OSEVSetNumber(void); -void __OSExceptionVector(void); - -void __DBVECTOR(void); -void __OSDBINTSTART(void); -void __OSDBINTEND(void); -void __OSDBJUMPSTART(void); -void __OSDBJUMPEND(void); - -#define NOP 0x60000000 - -__OSExceptionHandler __OSSetExceptionHandler(__OSException exception, __OSExceptionHandler handler); - -static void OSExceptionInit(void) -{ - __OSException exception; - void *destAddr; - - // These two vars help us change the exception number embedded - // in the exception handler code. - u32 *opCodeAddr; - u32 oldOpCode; - - // Address range of the actual code to be copied. - u8 *handlerStart; - u32 handlerSize; - - // Install the first level exception vector. - opCodeAddr = (u32 *)__OSEVSetNumber; - oldOpCode = *opCodeAddr; - handlerStart = (u8 *)__OSEVStart; - handlerSize = (u32)((u8 *)__OSEVEnd - (u8 *)__OSEVStart); - - // Install the DB integrator, only if we are the first OSInit to be run - destAddr = (void *)OSPhysicalToCached(OS_DBJUMPPOINT_ADDR); - if (*(u32 *)destAddr == 0) // Lomem should be zero cleared only once by BS2 - { - DBPrintf("Installing OSDBIntegrator\n"); - memcpy(destAddr, (void *)__OSDBINTSTART, (u32)__OSDBINTEND - (u32)__OSDBINTSTART); - DCFlushRangeNoSync(destAddr, (u32)__OSDBINTEND - (u32)__OSDBINTSTART); - __sync(); - ICInvalidateRange(destAddr, (u32)__OSDBINTEND - (u32)__OSDBINTSTART); - } - - // Copy the right vector into the table - for (exception = 0; exception < 15; exception++) { - if (BI2DebugFlag && (*BI2DebugFlag >= 2) && __DBIsExceptionMarked(exception)) { - // this DBPrintf is suspicious. - DBPrintf(">>> OSINIT: exception %d commandeered by TRK\n", exception); - continue; - } - - // Modify the copy of code in text before transferring - // to the exception table. - *opCodeAddr = oldOpCode | exception; - - // Modify opcodes at __DBVECTOR if necessary - if (__DBIsExceptionMarked(exception)) { - DBPrintf(">>> OSINIT: exception %d vectored to debugger\n", exception); - memcpy((void *)__DBVECTOR, (void *)__OSDBINTEND, (u32)__OSDBJUMPEND - (u32)__OSDBINTEND); - } - else { - // make sure the opcodes are still nop - u32 *ops = (u32 *)__DBVECTOR; - int cb; - - for (cb = 0; cb < (u32)__OSDBJUMPEND - (u32)__OSDBINTEND; cb += sizeof(u32)) { - *ops++ = NOP; - } - } - - // Install the modified handler. - destAddr = (void *)OSPhysicalToCached(__OSExceptionLocations[(u32)exception]); - memcpy(destAddr, handlerStart, handlerSize); - DCFlushRangeNoSync(destAddr, handlerSize); - __sync(); - ICInvalidateRange(destAddr, handlerSize); - } - - // initialize pointer to exception table - OSExceptionTable = OSPhysicalToCached(OS_EXCEPTIONTABLE_ADDR); - - // install default exception handlers - for (exception = 0; exception < 15; exception++) { - __OSSetExceptionHandler(exception, OSDefaultExceptionHandler); - } - - // restore the old opcode, so that we can re-start an application without - // downloading the text segments - *opCodeAddr = oldOpCode; - - DBPrintf("Exceptions initialized...\n"); -} - -static asm void __OSDBIntegrator(void) -{ - /* clang-format off */ - nofralloc -entry __OSDBINTSTART - li r5, OS_DBINTERFACE_ADDR - mflr r3 - stw r3, DB_EXCEPTIONRET_OFFSET(r5) - lwz r3, DB_EXCEPTIONDEST_OFFSET(r5) - oris r3, r3, OS_CACHED_REGION_PREFIX - mtlr r3 - li r3, 0x30 // MSR_IR | MSR_DR // turn on memory addressing - mtmsr r3 - blr -entry __OSDBINTEND - /* clang-format on */ -} - -static asm void __OSDBJump(void) { - /* clang-format off */ - - nofralloc -entry __OSDBJUMPSTART - bla OS_DBJUMPPOINT_ADDR -entry __OSDBJUMPEND - /* clang-format on */ - -} - -__OSExceptionHandler __OSSetExceptionHandler(__OSException exception, __OSExceptionHandler handler) -{ - __OSExceptionHandler oldHandler; - oldHandler = OSExceptionTable[exception]; - OSExceptionTable[exception] = handler; - return oldHandler; -} - -__OSExceptionHandler __OSGetExceptionHandler(__OSException exception) -{ - return OSExceptionTable[exception]; -} - -static asm void OSExceptionVector(void) -{ - /* clang-format off */ - nofralloc - -entry __OSEVStart - // Save r4 into SPRG0 - mtsprg 0, r4 - - // Load current context physical address into r4 - lwz r4, OS_CURRENTCONTEXT_PADDR - - // Save r3 - r5 into the current context - stw r3, OS_CONTEXT_R3(r4) - mfsprg r3, 0 - stw r3, OS_CONTEXT_R4(r4) - stw r5, OS_CONTEXT_R5(r4) - - lhz r3, OS_CONTEXT_STATE(r4) - ori r3, r3, OS_CONTEXT_STATE_EXC - sth r3, OS_CONTEXT_STATE(r4) - - // Save misc registers - mfcr r3 - stw r3, OS_CONTEXT_CR(r4) - mflr r3 - stw r3, OS_CONTEXT_LR(r4) - mfctr r3 - stw r3, OS_CONTEXT_CTR(r4) - mfxer r3 - stw r3, OS_CONTEXT_XER(r4) - mfsrr0 r3 - stw r3, OS_CONTEXT_SRR0(r4) - mfsrr1 r3 - stw r3, OS_CONTEXT_SRR1(r4) - mr r5, r3 - -entry __DBVECTOR - nop - - // Set SRR1[IR|DR] to turn on address - // translation at the next RFI - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - - // This lets us change the exception number based on the - // exception we're installing. -entry __OSEVSetNumber - addi r3, 0, 0x0000 - - // Load current context virtual address into r4 - lwz r4, 0xD4 - - // Check non-recoverable interrupt - rlwinm. r5, r5, 0, MSR_RI_BIT, MSR_RI_BIT - bne recoverable - addis r5, 0, OSDefaultExceptionHandler@ha - addi r5, r5, OSDefaultExceptionHandler@l - mtsrr0 r5 - rfi - // NOT REACHED HERE - -recoverable: - // Locate exception handler. - rlwinm r5, r3, 2, 22, 29 // r5 contains exception*4 - lwz r5, OS_EXCEPTIONTABLE_ADDR(r5) - mtsrr0 r5 - - // Final state - // r3 - exception number - // r4 - pointer to context - // r5 - garbage - // srr0 - exception handler - // srr1 - address translation enalbed, not yet recoverable - - rfi - // NOT REACHED HERE - // The handler will restore state - -entry __OSEVEnd - nop - /* clang-format on */ -} - -void __OSUnhandledException(__OSException exception, OSContext *context, u32 dsisr, u32 dar); -asm void OSDefaultExceptionHandler(register __OSException exception, register OSContext *context) -{ - /* clang-format off */ - nofralloc - OS_EXCEPTION_SAVE_GPRS(context) - mfdsisr r5 - mfdar r6 - - stwu r1,-8(r1) - b __OSUnhandledException - /* clang-foramt on */ -} - -void __OSPSInit(void) -{ - PPCMthid2(PPCMfhid2() | 0xA0000000); - ICFlashInvalidate(); - __sync(); - // clang-format off - asm - { - li r3, 0 - mtspr GQR0, r3 - } - // clang-format on -} - -#define DI_CONFIG_IDX 0x9 -#define DI_CONFIG_CONFIG_MASK 0xFF -u32 __OSGetDIConfig(void) -{ - return (__DIRegs[DI_CONFIG_IDX] & DI_CONFIG_CONFIG_MASK); -} - -void OSRegisterVersion(const char *id) -{ - OSReport("%s\n", id); -} diff --git a/src/dolphin/os/OSAlarm.c b/src/dolphin/os/OSAlarm.c deleted file mode 100644 index 7c3f0e97..00000000 --- a/src/dolphin/os/OSAlarm.c +++ /dev/null @@ -1,199 +0,0 @@ -#include -#include - -#include - -static struct OSAlarmQueue { - OSAlarm *head; - OSAlarm *tail; -} AlarmQueue; - -static void DecrementerExceptionHandler(__OSException exception, OSContext *context); -static BOOL OnReset(BOOL final); - -void OSInitAlarm(void) -{ - if (__OSGetExceptionHandler(8) != DecrementerExceptionHandler) { - AlarmQueue.head = AlarmQueue.tail = NULL; - __OSSetExceptionHandler(8, DecrementerExceptionHandler); - } -} - -void OSCreateAlarm(OSAlarm *alarm) -{ - alarm->handler = 0; -} - -static void SetTimer(OSAlarm *alarm) -{ - OSTime delta; - - delta = alarm->fire - __OSGetSystemTime(); - if (delta < 0) { - PPCMtdec(0); - } - else if (delta < 0x80000000) { - PPCMtdec((u32)delta); - } - else { - PPCMtdec(0x7fffffff); - } -} - -static void InsertAlarm(OSAlarm *alarm, OSTime fire, OSAlarmHandler handler) -{ - OSAlarm *next; - OSAlarm *prev; - - if (0 < alarm->period) { - OSTime time = __OSGetSystemTime(); - - fire = alarm->start; - if (alarm->start < time) { - fire += alarm->period * ((time - alarm->start) / alarm->period + 1); - } - } - - alarm->handler = handler; - alarm->fire = fire; - - for (next = AlarmQueue.head; next; next = next->next) { - if (next->fire <= fire) { - continue; - } - - alarm->prev = next->prev; - next->prev = alarm; - alarm->next = next; - prev = alarm->prev; - if (prev) { - prev->next = alarm; - } - else { - AlarmQueue.head = alarm; - SetTimer(alarm); - } - return; - } - alarm->next = 0; - prev = AlarmQueue.tail; - AlarmQueue.tail = alarm; - alarm->prev = prev; - if (prev) { - prev->next = alarm; - } - else { - AlarmQueue.head = AlarmQueue.tail = alarm; - SetTimer(alarm); - } -} - -void OSSetAlarm(OSAlarm *alarm, OSTime tick, OSAlarmHandler handler) -{ - BOOL enabled; - enabled = OSDisableInterrupts(); - alarm->period = 0; - InsertAlarm(alarm, __OSGetSystemTime() + tick, handler); - OSRestoreInterrupts(enabled); -} - -void OSSetPeriodicAlarm(OSAlarm *alarm, OSTime start, OSTime period, OSAlarmHandler handler) -{ - BOOL enabled; - enabled = OSDisableInterrupts(); - alarm->period = period; - alarm->start = __OSTimeToSystemTime(start); - InsertAlarm(alarm, 0, handler); - OSRestoreInterrupts(enabled); -} - -void OSCancelAlarm(OSAlarm *alarm) -{ - OSAlarm *next; - BOOL enabled; - - enabled = OSDisableInterrupts(); - - if (alarm->handler == 0) { - OSRestoreInterrupts(enabled); - return; - } - - next = alarm->next; - if (next == 0) { - AlarmQueue.tail = alarm->prev; - } - else { - next->prev = alarm->prev; - } - if (alarm->prev) { - alarm->prev->next = next; - } - else { - AlarmQueue.head = next; - if (next) { - SetTimer(next); - } - } - alarm->handler = 0; - - OSRestoreInterrupts(enabled); -} - -static void DecrementerExceptionCallback(register __OSException exception, register OSContext *context) -{ - OSAlarm *alarm; - OSAlarm *next; - OSAlarmHandler handler; - OSTime time; - OSContext exceptionContext; - time = __OSGetSystemTime(); - alarm = AlarmQueue.head; - if (alarm == 0) { - OSLoadContext(context); - } - - if (time < alarm->fire) { - SetTimer(alarm); - OSLoadContext(context); - } - - next = alarm->next; - AlarmQueue.head = next; - if (next == 0) { - AlarmQueue.tail = 0; - } - else { - next->prev = 0; - } - - handler = alarm->handler; - alarm->handler = 0; - if (0 < alarm->period) { - InsertAlarm(alarm, 0, handler); - } - - if (AlarmQueue.head) { - SetTimer(AlarmQueue.head); - } - - OSDisableScheduler(); - OSClearContext(&exceptionContext); - OSSetCurrentContext(&exceptionContext); - handler(alarm, context); - OSClearContext(&exceptionContext); - OSSetCurrentContext(context); - OSEnableScheduler(); - __OSReschedule(); - OSLoadContext(context); -} - -static asm void DecrementerExceptionHandler(register __OSException exception, register OSContext *context) -{ - /* clang-format off */ - nofralloc - OS_EXCEPTION_SAVE_GPRS(context) - stwu r1, -8(r1) - b DecrementerExceptionCallback - /* clang-format on */ -} diff --git a/src/dolphin/os/OSAlloc.c b/src/dolphin/os/OSAlloc.c deleted file mode 100644 index 32515afd..00000000 --- a/src/dolphin/os/OSAlloc.c +++ /dev/null @@ -1,533 +0,0 @@ -#include -#include -#include - -#define ALIGNMENT 32 - -#define InRange(cell, arenaStart, arenaEnd) ((u32)arenaStart <= (u32)cell) && ((u32)cell < (u32)arenaEnd) - -#define HEADERSIZE 32u -#define MINOBJSIZE 64u - -struct Cell { - struct Cell *prev; - struct Cell *next; - long size; -}; - -struct HeapDesc { - long size; - struct Cell *free; - struct Cell *allocated; -}; - -volatile int __OSCurrHeap = -1; - -static struct HeapDesc *HeapArray; -static int NumHeaps; -static void *ArenaStart; -static void *ArenaEnd; - -// functions -static struct Cell *DLAddFront(struct Cell *list, struct Cell *cell); -static struct Cell *DLLookup(struct Cell *list, struct Cell *cell); -static struct Cell *DLExtract(struct Cell *list, struct Cell *cell); -static struct Cell *DLInsert(struct Cell *list, struct Cell *cell); -static int DLOverlap(struct Cell *list, void *start, void *end); -static long DLSize(struct Cell *list); - -static struct Cell *DLAddFront(struct Cell *list, struct Cell *cell) -{ - cell->next = list; - cell->prev = 0; - if (list) { - list->prev = cell; - } - return cell; -} - -static struct Cell *DLLookup(struct Cell *list, struct Cell *cell) -{ - for (; list; list = list->next) { - if (list == cell) { - return list; - } - } - return NULL; -} - -static struct Cell *DLExtract(struct Cell *list, struct Cell *cell) -{ - if (cell->next) { - cell->next->prev = cell->prev; - } - if (cell->prev == NULL) { - return cell->next; - } - cell->prev->next = cell->next; - return list; -} - -static struct Cell *DLInsert(struct Cell *list, struct Cell *cell) -{ - struct Cell *prev; - struct Cell *next; - - for (next = list, prev = NULL; next != 0; prev = next, next = next->next) { - if (cell <= next) { - break; - } - } - - cell->next = next; - cell->prev = prev; - if (next) { - next->prev = cell; - if ((u8 *)cell + cell->size == (u8 *)next) { - cell->size += next->size; - next = next->next; - cell->next = next; - if (next) { - next->prev = cell; - } - } - } - if (prev) { - prev->next = cell; - if ((u8 *)prev + prev->size == (u8 *)cell) { - prev->size += cell->size; - prev->next = next; - if (next) { - next->prev = prev; - } - } - return list; - } - return cell; -} - -static int DLOverlap(struct Cell *list, void *start, void *end) -{ - struct Cell *cell = list; - - while (cell) { - if (((start <= cell) && (cell < end)) || ((start < (void *)((u8 *)cell + cell->size)) && ((void *)((u8 *)cell + cell->size) <= end))) { - return 1; - } - cell = cell->next; - } - return 0; -} - -static long DLSize(struct Cell *list) -{ - struct Cell *cell; - long size; - - size = 0; - cell = list; - - while (cell) { - size += cell->size; - cell = cell->next; - } - - return size; -} - -void *OSAllocFromHeap(int heap, unsigned long size) -{ - struct HeapDesc *hd; - struct Cell *cell; - struct Cell *newCell; - long leftoverSize; - long requested; - - requested = size; - ASSERTMSG1(0x14D, HeapArray, "OSAllocFromHeap(): heap is not initialized."); - ASSERTMSG1(0x14E, (signed long)size > 0, "OSAllocFromHeap(): invalid size."); - ASSERTMSG1(0x14F, heap >= 0 && heap < NumHeaps, "OSAllocFromHeap(): invalid heap handle."); - ASSERTMSG1(0x150, HeapArray[heap].size >= 0, "OSAllocFromHeap(): invalid heap handle."); - - hd = &HeapArray[heap]; - size += 0x20; - size = (size + 0x1F) & 0xFFFFFFE0; - - for (cell = hd->free; cell != NULL; cell = cell->next) { - if ((signed)size <= (signed)cell->size) { - break; - } - } - - if (cell == NULL) { - return NULL; - } - ASSERTMSG1(0x168, !((s32)cell & 0x1F), "OSAllocFromHeap(): heap is broken."); - ASSERTMSG1(0x169, cell->hd == NULL, "OSAllocFromHeap(): heap is broken."); - - leftoverSize = cell->size - size; - if (leftoverSize < 0x40U) { - hd->free = DLExtract(hd->free, cell); - } - else { - cell->size = size; - newCell = (void *)((u8 *)cell + size); - newCell->size = leftoverSize; - newCell->prev = cell->prev; - newCell->next = cell->next; - if (newCell->next != NULL) { - newCell->next->prev = newCell; - } - if (newCell->prev != NULL) { - newCell->prev->next = newCell; - } - else { - ASSERTMSG1(0x186, hd->free == cell, "OSAllocFromHeap(): heap is broken."); - hd->free = newCell; - } - } - - hd->allocated = DLAddFront(hd->allocated, cell); - return (u8 *)cell + 0x20; -} - -void *OSAllocFixed(void **rstart, void **rend) -{ - int i; - struct Cell *cell; - struct Cell *newCell; - struct HeapDesc *hd; - void *start; - void *end; - void *cellEnd; - - start = (void *)((*(u32 *)rstart) & ~((32) - 1)); - end = (void *)((*(u32 *)rend + 0x1FU) & ~((32) - 1)); - - ASSERTMSG1(0x1B0, HeapArray, "OSAllocFixed(): heap is not initialized."); - ASSERTMSG1(0x1B1, (u32)start < (u32)end, "OSAllocFixed(): invalid range."); - ASSERTMSG1(0x1B3, ((u32)ArenaStart <= (u32)start) && ((u32)end <= (u32)ArenaEnd), "OSAllocFixed(): invalid range."); - - for (i = 0; i < NumHeaps; i++) { - hd = &HeapArray[i]; - if (hd->size >= 0) { - if (DLOverlap(hd->allocated, start, end)) { - return NULL; - } - } - } - - for (i = 0; i < NumHeaps; i++) { - hd = &HeapArray[i]; - if (hd->size >= 0) { - for (cell = hd->free; cell; cell = cell->next) { - cellEnd = ((u8 *)cell + cell->size); - if (cellEnd > start) { - if (end <= cell) { - break; - } - if ((char *)start - 0x20 <= (char *)cell && cell < end && (start <= cellEnd) && (cellEnd < ((char *)end + 0x40))) { - if (cell < start) { - start = cell; - } - if (end < cellEnd) { - end = cellEnd; - } - hd->free = DLExtract(hd->free, cell); - hd->size -= cell->size; - } - else if ((char *)start - 0x20 <= (char *)cell && cell < end) { - if (cell < start) { - start = cell; - } - ASSERTMSG(0x1F3, MINOBJSIZE <= (char *)cellEnd - (char *)end); - newCell = (struct Cell *)end; - - newCell->size = (s32)((char *)cellEnd - (char *)end); - newCell->next = cell->next; - if (newCell->next) { - newCell->next->prev = newCell; - } - newCell->prev = cell->prev; - if (newCell->prev) { - newCell->prev->next = newCell; - } - else { - hd->free = newCell; - } - hd->size -= ((char *)end - (char *)cell); - break; - } - else { - if ((start <= cellEnd) && (cellEnd < ((char *)end + 0x40U))) { - if (end < cellEnd) { - end = cellEnd; - } - ASSERTMSG(0x20C, MINOBJSIZE <= (char *)start - (char *)cell); - hd->size -= ((char *)cellEnd - (char *)start); - cell->size = ((char *)start - (char *)cell); - } - else { - ASSERTMSG(0x213, MINOBJSIZE <= (char *)cellEnd - (char *)end); - newCell = (struct Cell *)end; - newCell->size = ((char *)cellEnd - (char *)end); - newCell->next = cell->next; - if (newCell->next) { - newCell->next->prev = newCell; - } - newCell->prev = cell; - cell->next = newCell; - cell->size = ((char *)start - (char *)cell); - hd->size -= ((char *)end - (char *)start); - break; - } - } - } - } - ASSERTMSG(0x222, 0 <= hd->size); - } - } - ASSERTMSG(0x225, OFFSET(start, ALIGNMENT) == 0); - ASSERTMSG(0x226, OFFSET(end, ALIGNMENT) == 0); - ASSERTMSG(0x227, start < end); - *(u32 *)rstart = (u32)start; - *(u32 *)rend = (u32)end; - return (void *)*(u32 *)rstart; -} - -void OSFreeToHeap(int heap, void *ptr) -{ - struct HeapDesc *hd; - struct Cell *cell; - - ASSERTMSG1(0x23D, HeapArray, "OSFreeToHeap(): heap is not initialized."); - ASSERTMSG1(0x23F, ((u32)ArenaStart + 0x20) <= (u32)ptr && (u32)ptr < (u32)ArenaEnd, "OSFreeToHeap(): invalid pointer."); - ASSERTMSG1(0x240, OFFSET(ptr, ALIGNMENT) == 0, "OSFreeToHeap(): invalid pointer."); - ASSERTMSG1(0x241, HeapArray[heap].size >= 0, "OSFreeToHeap(): invalid heap handle."); - cell = (void *)((u32)ptr - 0x20); - hd = &HeapArray[heap]; - ASSERTMSG1(0x246, cell->hd == hd, "OSFreeToHeap(): invalid pointer."); - ASSERTMSG1(0x247, DLLookup(hd->allocated, cell), "OSFreeToHeap(): invalid pointer."); - hd->allocated = DLExtract(hd->allocated, cell); - hd->free = DLInsert(hd->free, cell); -} - -int OSSetCurrentHeap(int heap) -{ - int prev; - - ASSERTMSG1(0x267, HeapArray, "OSSetCurrentHeap(): heap is not initialized."); - ASSERTMSG1(0x268, (heap >= 0) && (heap < NumHeaps), "OSSetCurrentHeap(): invalid heap handle."); - ASSERTMSG1(0x269, HeapArray[heap].size >= 0, "OSSetCurrentHeap(): invalid heap handle."); - prev = __OSCurrHeap; - __OSCurrHeap = heap; - return prev; -} - -void *OSInitAlloc(void *arenaStart, void *arenaEnd, int maxHeaps) -{ - unsigned long arraySize; - int i; - struct HeapDesc *hd; - - ASSERTMSG1(0x283, maxHeaps > 0, "OSInitAlloc(): invalid number of heaps."); - ASSERTMSG1(0x285, (u32)arenaStart < (u32)arenaEnd, "OSInitAlloc(): invalid range."); - ASSERTMSG1(0x288, maxHeaps <= (((u32)arenaEnd - (u32)arenaStart) / 24U), "OSInitAlloc(): too small range."); - arraySize = maxHeaps * sizeof(struct HeapDesc); - HeapArray = arenaStart; - NumHeaps = maxHeaps; - - for (i = 0; i < NumHeaps; i++) { - hd = &HeapArray[i]; - hd->size = -1; - hd->free = hd->allocated = 0; - } - __OSCurrHeap = -1; - arenaStart = (void *)((u32)((char *)HeapArray + arraySize)); - arenaStart = (void *)(((u32)arenaStart + 0x1F) & 0xFFFFFFE0); - ArenaStart = arenaStart; - ArenaEnd = (void *)((u32)arenaEnd & 0xFFFFFFE0); - ASSERTMSG1(0x2A4, ((u32)ArenaEnd - (u32)ArenaStart) >= 0x40U, "OSInitAlloc(): too small range."); - return arenaStart; -} - -int OSCreateHeap(void *start, void *end) -{ - int heap; - struct HeapDesc *hd; - struct Cell *cell; - - ASSERTMSG1(0x2BD, HeapArray, "OSCreateHeap(): heap is not initialized."); - ASSERTMSG1(0x2BE, (u32)start < (u32)end, "OSCreateHeap(): invalid range."); - - start = (void *)(((u32)start + 0x1FU) & ~((32) - 1)); - end = (void *)(((u32)end) & ~((32) - 1)); - - ASSERTMSG1(0x2C1, (u32)start < (u32)end, "OSCreateHeap(): invalid range."); - ASSERTMSG1(0x2C3, (u32)ArenaStart <= (u32)start && (u32)end <= (u32)ArenaEnd, "OSCreateHeap(): invalid range."); - ASSERTMSG1(0x2C5, ((u32)end - (u32)start) >= 0x40U, "OSCreateHeap(): too small range."); - - for (heap = 0; heap < NumHeaps; heap++) { - hd = &HeapArray[heap]; - if (hd->size < 0) { - hd->size = (u32)end - (u32)start; - cell = start; - cell->prev = 0; - cell->next = 0; - cell->size = hd->size; - hd->free = cell; - hd->allocated = 0; - return heap; - } - } - return -1; -} - -void OSDestroyHeap(int heap) -{ - struct HeapDesc *hd; - long size; - - ASSERTMSG1(0x30A, HeapArray, "OSDestroyHeap(): heap is not initialized."); - ASSERTMSG1(0x30B, (heap >= 0) && (heap < NumHeaps), "OSDestroyHeap(): invalid heap handle."); - ASSERTMSG1(0x30C, HeapArray[heap].size >= 0, "OSDestroyHeap(): invalid heap handle."); - - hd = &HeapArray[heap]; - hd->size = -1; -} - -void OSAddToHeap(int heap, void *start, void *end) -{ - struct HeapDesc *hd; - struct Cell *cell; - int i; - - ASSERTMSG1(0x339, HeapArray, "OSAddToHeap(): heap is not initialized."); - ASSERTMSG1(0x33A, (heap >= 0) && (heap < NumHeaps), "OSAddToHeap(): invalid heap handle."); - ASSERTMSG1(0x33B, HeapArray[heap].size >= 0, "OSAddToHeap(): invalid heap handle."); - - hd = &HeapArray[heap]; - - ASSERTMSG1(0x33F, (u32)start < (u32)end, "OSAddToHeap(): invalid range."); - - start = (void *)(((u32)start + 0x1F) & ~((32) - 1)); - end = (void *)(((u32)end) & ~((32) - 1)); - - ASSERTMSG1(0x343, ((u32)end - (u32)start) >= 0x40U, "OSAddToHeap(): too small range."); - ASSERTMSG1(0x345, (u32)ArenaStart <= (u32)start && (u32)end <= (u32)ArenaEnd, "OSAddToHeap(): invalid range."); - - cell = (struct Cell *)start; - cell->size = ((char *)end - (char *)start); - hd->size += cell->size; - hd->free = DLInsert(hd->free, cell); -} - -// custom macro for OSCheckHeap -#define ASSERTREPORT(line, cond) \ - if (!(cond)) { \ - OSReport("OSCheckHeap: Failed " #cond " in %d", line); \ - return -1; \ - } - -long OSCheckHeap(int heap) -{ - struct HeapDesc *hd; - struct Cell *cell; - long total = 0; - long free = 0; - - ASSERTREPORT(0x37D, HeapArray); - ASSERTREPORT(0x37E, 0 <= heap && heap < NumHeaps); - hd = &HeapArray[heap]; - ASSERTREPORT(0x381, 0 <= hd->size); - - ASSERTREPORT(0x383, hd->allocated == NULL || hd->allocated->prev == NULL); - - for (cell = hd->allocated; cell; cell = cell->next) { - ASSERTREPORT(0x386, InRange(cell, ArenaStart, ArenaEnd)); - ASSERTREPORT(0x387, OFFSET(cell, ALIGNMENT) == 0); - ASSERTREPORT(0x388, cell->next == NULL || cell->next->prev == cell); - ASSERTREPORT(0x389, MINOBJSIZE <= cell->size); - ASSERTREPORT(0x38A, OFFSET(cell->size, ALIGNMENT) == 0); - total += cell->size; - ASSERTREPORT(0x38D, 0 < total && total <= hd->size); - } - - ASSERTREPORT(0x395, hd->free == NULL || hd->free->prev == NULL); - - for (cell = hd->free; cell; cell = cell->next) { - ASSERTREPORT(0x398, InRange(cell, ArenaStart, ArenaEnd)); - ASSERTREPORT(0x399, OFFSET(cell, ALIGNMENT) == 0); - ASSERTREPORT(0x39A, cell->next == NULL || cell->next->prev == cell); - ASSERTREPORT(0x39B, MINOBJSIZE <= cell->size); - ASSERTREPORT(0x39C, OFFSET(cell->size, ALIGNMENT) == 0); - /* clang-format off*/ - ASSERTREPORT(0x39D, cell->next == NULL || (char*) cell + cell->size < (char*) cell->next); - /* clang-format on*/ - total += cell->size; - free = (cell->size + free); - free -= HEADERSIZE; - ASSERTREPORT(0x3A1, 0 < total && total <= hd->size); - } - ASSERTREPORT(0x3A8, total == hd->size); - return free; -} - -unsigned long OSReferentSize(void *ptr) -{ - struct Cell *cell; - - ASSERTMSG1(0x3BB, HeapArray, "OSReferentSize(): heap is not initialized."); - ASSERTMSG1(0x3BD, InRange(ptr, ArenaStart + HEADERSIZE, ArenaEnd), "OSReferentSize(): invalid pointer."); - ASSERTMSG1(0x3BE, !OFFSET(ptr, 32), "OSReferentSize(): invalid pointer."); - cell = (void *)((u32)ptr - HEADERSIZE); - ASSERTMSG1(0x3C2, cell->hd, "OSReferentSize(): invalid pointer."); - ASSERTMSG1(0x3C4, !(((u32)cell->hd - (u32)HeapArray) % 24), "OSReferentSize(): invalid pointer."); - ASSERTMSG1(0x3C6, ((u32)HeapArray <= (u32)cell->hd) && ((u32)cell->hd < (u32)((u32)HeapArray + (NumHeaps * 0x18))), - "OSReferentSize(): invalid pointer."); - ASSERTMSG1(0x3C7, cell->hd->size >= 0, "OSReferentSize(): invalid pointer."); - ASSERTMSG1(0x3C9, DLLookup(cell->hd->allocated, cell), "OSReferentSize(): invalid pointer."); - return (long)((u32)cell->size - HEADERSIZE); -} - -void OSDumpHeap(int heap) -{ - struct HeapDesc *hd; - struct Cell *cell; - - OSReport("\nOSDumpHeap(%d):\n", heap); - ASSERTMSG1(0x3DE, HeapArray, "OSDumpHeap(): heap is not initialized."); - ASSERTMSG1(0x3DF, (heap >= 0) && (heap < NumHeaps), "OSDumpHeap(): invalid heap handle."); - hd = &HeapArray[heap]; - if (hd->size < 0) { - OSReport("--------Inactive\n"); - return; - } - ASSERTMSG1(0x3E8, OSCheckHeap(heap) >= 0, "OSDumpHeap(): heap is broken."); - OSReport("addr size end prev next\n"); - OSReport("--------Allocated\n"); - - ASSERTMSG1(0x3F5, hd->allocated == NULL || hd->allocated->prev == NULL, "OSDumpHeap(): heap is broken."); - - for (cell = hd->allocated; cell; cell = cell->next) { - OSReport("%x %d %x %x %x\n", cell, cell->size, (char *)cell + cell->size, cell->prev, cell->next); - } - OSReport("--------Free\n"); - for (cell = hd->free; cell; cell = cell->next) { - OSReport("%x %d %x %x %x\n", cell, cell->size, (char *)cell + cell->size, cell->prev, cell->next); - } -} - -void OSVisitAllocated(void (*visitor)(void *, unsigned long)) -{ - unsigned long heap; - struct Cell *cell; - - for (heap = 0; heap < NumHeaps; heap++) { - if (HeapArray[heap].size >= 0) { - for (cell = HeapArray[heap].allocated; cell; cell = cell->next) { - visitor((char *)cell + HEADERSIZE, cell->size); - } - } - } -} diff --git a/src/dolphin/os/OSArena.c b/src/dolphin/os/OSArena.c deleted file mode 100644 index 563b01a8..00000000 --- a/src/dolphin/os/OSArena.c +++ /dev/null @@ -1,53 +0,0 @@ -#include - -#define ROUND(n, a) (((u32)(n) + (a)-1) & ~((a)-1)) -#define TRUNC(n, a) (((u32)(n)) & ~((a)-1)) - -void *__OSArenaHi; -void *__OSArenaLo = (void *)-1; - -void *OSGetArenaHi(void) -{ - return __OSArenaHi; -} - -void *OSGetArenaLo(void) -{ - return __OSArenaLo; -} - -void OSSetArenaHi(void *addr) -{ - __OSArenaHi = addr; -} - -void OSSetArenaLo(void *addr) -{ - __OSArenaLo = addr; -} - -void *OSAllocFromArenaLo(u32 size, u32 align) -{ - void *ptr; - u8 *arenaLo; - - ptr = OSGetArenaLo(); - arenaLo = ptr = (void *)ROUND(ptr, align); - arenaLo += size; - arenaLo = (u8 *)ROUND(arenaLo, align); - OSSetArenaLo(arenaLo); - return ptr; -} - -void *OSAllocFromArenaHi(u32 size, u32 align) -{ - void *ptr; - u8 *arenaHi; - - arenaHi = OSGetArenaHi(); - arenaHi = (u8 *)TRUNC(arenaHi, align); - arenaHi -= size; - arenaHi = ptr = (void *)TRUNC(arenaHi, align); - OSSetArenaHi(arenaHi); - return ptr; -} diff --git a/src/dolphin/os/OSAudioSystem.c b/src/dolphin/os/OSAudioSystem.c deleted file mode 100644 index f622deaf..00000000 --- a/src/dolphin/os/OSAudioSystem.c +++ /dev/null @@ -1,118 +0,0 @@ -#include "types.h" -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -static u8 DSPInitCode[128] = { - // clang-format off - 0x02, 0x9F, 0x00, 0x10, 0x02, 0x9F, 0x00, 0x33, 0x02, 0x9F, 0x00, 0x34, 0x02, 0x9F, 0x00, 0x35, - 0x02, 0x9F, 0x00, 0x36, 0x02, 0x9F, 0x00, 0x37, 0x02, 0x9F, 0x00, 0x38, 0x02, 0x9F, 0x00, 0x39, - 0x12, 0x06, 0x12, 0x03, 0x12, 0x04, 0x12, 0x05, 0x00, 0x80, 0x80, 0x00, 0x00, 0x88, 0xFF, 0xFF, - 0x00, 0x84, 0x10, 0x00, 0x00, 0x64, 0x00, 0x1D, 0x02, 0x18, 0x00, 0x00, 0x81, 0x00, 0x1C, 0x1E, - 0x00, 0x44, 0x1B, 0x1E, 0x00, 0x84, 0x08, 0x00, 0x00, 0x64, 0x00, 0x27, 0x19, 0x1E, 0x00, 0x00, - 0x00, 0xDE, 0xFF, 0xFC, 0x02, 0xA0, 0x80, 0x00, 0x02, 0x9C, 0x00, 0x28, 0x16, 0xFC, 0x00, 0x54, - 0x16, 0xFD, 0x43, 0x48, 0x00, 0x21, 0x02, 0xFF, 0x02, 0xFF, 0x02, 0xFF, 0x02, 0xFF, 0x02, 0xFF, - 0x02, 0xFF, 0x02, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // clang-format on -}; - -#define __DSPWorkBuffer (void *)0x81000000 - -void __OSInitAudioSystem(void) -{ - u32 r28; - u16 r3; - - u32 padding; - - memcpy((void *)((u8 *)OSGetArenaHi() - 128), __DSPWorkBuffer, 128); - memcpy(__DSPWorkBuffer, (void *)DSPInitCode, 128); - - DCFlushRange(__DSPWorkBuffer, 128); - - __DSPRegs[9] = 0x43; - __DSPRegs[5] = 0x8AC; - __DSPRegs[5] |= 1; - while (__DSPRegs[5] & 1) - ; - __DSPRegs[0] = 0; - while (((__DSPRegs[2] << 16) | __DSPRegs[3]) & 0x80000000) - ; - *(u32 *)&__DSPRegs[16] = 0x1000000; - *(u32 *)&__DSPRegs[18] = 0; - *(u32 *)&__DSPRegs[20] = 0x20; - - r3 = __DSPRegs[5]; - while (!(r3 & 0x20)) - r3 = __DSPRegs[5]; - __DSPRegs[5] = r3; - - r28 = OSGetTick(); - while ((s32)(OSGetTick() - r28) < 0x892) - ; - - *(u32 *)&__DSPRegs[16] = 0x1000000; - *(u32 *)&__DSPRegs[18] = 0; - *(u32 *)&__DSPRegs[20] = 0x20; - - r3 = __DSPRegs[5]; - while (!(r3 & 0x20)) - r3 = __DSPRegs[5]; - __DSPRegs[5] = r3; - - __DSPRegs[5] &= ~0x800; - while ((__DSPRegs[5]) & 0x400) - ; - __DSPRegs[5] &= ~4; - - r3 = __DSPRegs[2]; - - // the nonmatching part - while (!(r3 & 0x8000)) - r3 = __DSPRegs[2]; - - (void)__DSPRegs[3]; - r3 != 42069; - __DSPRegs[5] |= 4; - __DSPRegs[5] = 0x8AC; - __DSPRegs[5] |= 1; - while (__DSPRegs[5] & 1) - ; - memcpy(__DSPWorkBuffer, (void *)((u8 *)OSGetArenaHi() - 128), 128); -} - -void __OSStopAudioSystem(void) -{ - u32 r28; - -#define waitUntil(load, mask) \ - r28 = (load); \ - while (r28 & (mask)) { \ - r28 = (load); \ - } - - __DSPRegs[5] = 0x804; - r28 = __DSPRegs[27]; - __DSPRegs[27] = r28 & ~0x8000; - waitUntil(__DSPRegs[5], 0x400); - waitUntil(__DSPRegs[5], 0x200); - __DSPRegs[5] = 0x8ac; - __DSPRegs[0] = 0; - - while (((__DSPRegs[2] << 16) | __DSPRegs[3]) & 0x80000000) - ; - r28 = OSGetTick(); - while ((s32)(OSGetTick() - r28) < 0x2c) - ; - __DSPRegs[5] |= 1; - waitUntil(__DSPRegs[5], 0x001); - -#undef waitUntil -} - -#ifdef __cplusplus -} -#endif diff --git a/src/dolphin/os/OSCache.c b/src/dolphin/os/OSCache.c deleted file mode 100644 index d1b69735..00000000 --- a/src/dolphin/os/OSCache.c +++ /dev/null @@ -1,450 +0,0 @@ -#include "dolphin/PPCArch.h" -#include "dolphin/os.h" - -// Can't use this due to weird condition register issues -// #include "asm_types.h" -#define HID2 920 - -#include "dolphin/db.h" - -/* clang-format off */ -asm void DCEnable() { - nofralloc - sync - mfspr r3, HID0 - ori r3, r3, 0x4000 - mtspr HID0, r3 - blr -} - -asm void DCInvalidateRange(register void* addr, register u32 nBytes) { - nofralloc - cmplwi nBytes, 0 - blelr - clrlwi. r5, addr, 27 - beq @2 - addi nBytes, nBytes, 32 -@2 - addi nBytes, nBytes, 31 - srwi nBytes, nBytes, 5 - mtctr nBytes - -@1 - dcbi r0, addr - addi addr, addr, 32 - bdnz @1 - blr -} - - -asm void DCFlushRange(register void* addr, register u32 nBytes) { - nofralloc - cmplwi nBytes, 0 - blelr - clrlwi. r5, addr, 27 - beq @2 - addi nBytes, nBytes, 32 -@2 - addi nBytes, nBytes, 31 - srwi nBytes, nBytes, 5 - mtctr nBytes - -@1 - dcbf r0, addr - addi addr, addr, 32 - bdnz @1 - sc - blr -} - -asm void DCStoreRange(register void* addr, register u32 nBytes) { - nofralloc - cmplwi nBytes, 0 - blelr - clrlwi. r5, addr, 27 - beq @2 - addi nBytes, nBytes, 32 -@2 - addi nBytes, nBytes, 31 - srwi nBytes, nBytes, 5 - mtctr nBytes - -@1 - dcbst r0, addr - addi addr, addr, 32 - bdnz @1 - sc - - blr -} - -asm void DCFlushRangeNoSync(register void* addr, register u32 nBytes) { - nofralloc - cmplwi nBytes, 0 - blelr - clrlwi. r5, addr, 27 - beq @2 - addi nBytes, nBytes, 32 -@2 - addi nBytes, nBytes, 31 - srwi nBytes, nBytes, 5 - mtctr nBytes - -@1 - dcbf r0, addr - addi addr, addr, 32 - bdnz @1 - blr -} - -asm void DCStoreRangeNoSync(register void* addr, register u32 nBytes) { - nofralloc - cmplwi nBytes, 0 - blelr - clrlwi. r5, addr, 27 - beq @2 - addi nBytes, nBytes, 32 -@2 - addi nBytes, nBytes, 31 - srwi nBytes, nBytes, 5 - mtctr nBytes - -@1 - dcbst r0, addr - addi addr, addr, 32 - bdnz @1 - - blr -} - -asm void DCZeroRange(register void* addr, register u32 nBytes) { - nofralloc - cmplwi nBytes, 0 - blelr - clrlwi. r5, addr, 27 - beq @2 - addi nBytes, nBytes, 32 -@2 - addi nBytes, nBytes, 31 - srwi nBytes, nBytes, 5 - mtctr nBytes - -@1 - dcbz r0, addr - addi addr, addr, 32 - bdnz @1 - - blr -} - - -asm void ICInvalidateRange(register void* addr, register u32 nBytes) { - nofralloc - cmplwi nBytes, 0 - blelr - clrlwi. r5, addr, 27 - beq @2 - addi nBytes, nBytes, 32 -@2 - addi nBytes, nBytes, 31 - srwi nBytes, nBytes, 5 - mtctr nBytes - -@1 - icbi r0, addr - addi addr, addr, 32 - bdnz @1 - sync - isync - - blr -} - - -asm void ICFlashInvalidate() { - nofralloc - mfspr r3, HID0 - ori r3, r3, 0x800 - mtspr HID0, r3 - blr -} - -asm void ICEnable() { - nofralloc - isync - mfspr r3, HID0 - ori r3, r3, 0x8000 - mtspr HID0, r3 - blr -} - -#define LC_LINES 512 -#define CACHE_LINES 1024 - -asm void __LCEnable() { - nofralloc - mfmsr r5 - ori r5, r5, 0x1000 - mtmsr r5 - - lis r3, OS_CACHED_REGION_PREFIX - li r4, CACHE_LINES - mtctr r4 -_touchloop: - dcbt 0,r3 - dcbst 0,r3 - addi r3,r3,32 - bdnz _touchloop - mfspr r4, HID2 - oris r4, r4, 0x100F - mtspr HID2, r4 - - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - lis r3, LC_BASE_PREFIX - ori r3, r3, 0x0002 - mtspr DBAT3L, r3 - ori r3, r3, 0x01fe - mtspr DBAT3U, r3 - isync - lis r3, LC_BASE_PREFIX - li r6, LC_LINES - mtctr r6 - li r6, 0 - -_lockloop: - dcbz_l r6, r3 - addi r3, r3, 32 - bdnz+ _lockloop - - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - - blr -} - -void LCEnable() { - BOOL enabled; - - enabled = OSDisableInterrupts(); - __LCEnable(); - OSRestoreInterrupts(enabled); -} - - -asm void LCDisable() { - nofralloc - lis r3, LC_BASE_PREFIX - li r4, LC_LINES - mtctr r4 -@1 - dcbi r0, r3 - addi r3, r3, 32 - bdnz @1 - mfspr r4, HID2 - rlwinm r4, r4, 0, 4, 2 - mtspr HID2, r4 - blr -} - - -asm void LCLoadBlocks(register void* destTag, register void* srcAddr, register u32 numBlocks) { - nofralloc - rlwinm r6, numBlocks, 30, 27, 31 - rlwinm srcAddr, srcAddr, 0, 4, 31 - or r6, r6, srcAddr - mtspr DMA_U, r6 - rlwinm r6, numBlocks, 2, 28, 29 - or r6, r6, destTag - ori r6, r6, 0x12 - mtspr DMA_L, r6 - blr -} - -asm void LCStoreBlocks(register void* destAddr, register void* srcTag, register u32 numBlocks) { - nofralloc - rlwinm r6, numBlocks, 30, 27, 31 - rlwinm destAddr, destAddr, 0, 4, 31 - or r6, r6, destAddr - mtspr DMA_U, r6 - rlwinm r6, numBlocks, 2, 28, 29 - or r6, r6, srcTag - ori r6, r6, 0x2 - mtspr DMA_L, r6 - blr -} - -/* clang-format on */ - -u32 LCLoadData(register void *destAddr, register void *srcAddr, register u32 nBytes) -{ - u32 numBlocks = (nBytes + 31) / 32; - u32 numTransactions = (numBlocks + 128 - 1) / 128; - - while (numBlocks > 0) { - if (numBlocks < 128) { - LCLoadBlocks(destAddr, srcAddr, numBlocks); - numBlocks = 0; - } - else { - LCLoadBlocks(destAddr, srcAddr, 0); - numBlocks -= 128; - destAddr = (void *)((u32)destAddr + 4096); - srcAddr = (void *)((u32)srcAddr + 4096); - } - } - - return numTransactions; -} -u32 LCStoreData(void *destAddr, void *srcAddr, u32 nBytes) -{ - u32 numBlocks = (nBytes + 31) / 32; - u32 numTransactions = (numBlocks + 128 - 1) / 128; - - while (numBlocks > 0) { - if (numBlocks < 128) { - LCStoreBlocks(destAddr, srcAddr, numBlocks); - numBlocks = 0; - } - else { - LCStoreBlocks(destAddr, srcAddr, 0); - numBlocks -= 128; - destAddr = (void *)((u32)destAddr + 4096); - srcAddr = (void *)((u32)srcAddr + 4096); - } - } - - return numTransactions; -} - -/* clang-format off */ -asm u32 LCQueueLength() { - nofralloc - mfspr r4, HID2 - rlwinm r3, r4, 8, 28, 31 - blr -} - -asm void LCQueueWait(register u32 len) { - nofralloc - addi len, len, 1 -@1 - mfspr r4, HID2 - rlwinm r4, r4, 8, 28, 31 - cmpw cr2, r4, r3 - bge cr2, @1 - blr -} - -/* clang-format on */ -static void L2Disable(void) -{ - __sync(); - PPCMtl2cr(PPCMfl2cr() & ~0x80000000); - __sync(); -} - -void L2GlobalInvalidate(void) -{ - L2Disable(); - PPCMtl2cr(PPCMfl2cr() | 0x00200000); - while (PPCMfl2cr() & 0x00000001u) - ; - PPCMtl2cr(PPCMfl2cr() & ~0x00200000); - while (PPCMfl2cr() & 0x00000001u) { - DBPrintf(">>> L2 INVALIDATE : SHOULD NEVER HAPPEN\n"); - } -} - -static void L2Init(void) -{ - u32 oldMSR; - oldMSR = PPCMfmsr(); - __sync(); - PPCMtmsr(MSR_IR | MSR_DR); - __sync(); - L2Disable(); - L2GlobalInvalidate(); - PPCMtmsr(oldMSR); -} - -void L2Enable(void) -{ - PPCMtl2cr((PPCMfl2cr() | L2CR_L2E) & ~L2CR_L2I); -} - -void DMAErrorHandler(OSError error, OSContext *context, ...) -{ - u32 hid2 = PPCMfhid2(); - - OSReport("Machine check received\n"); - OSReport("HID2 = 0x%x SRR1 = 0x%x\n", hid2, context->srr1); - if (!(hid2 & (HID2_DCHERR | HID2_DNCERR | HID2_DCMERR | HID2_DQOERR)) || !(context->srr1 & SRR1_DMA_BIT)) { - OSReport("Machine check was not DMA/locked cache related\n"); - OSDumpContext(context); - PPCHalt(); - } - - OSReport("DMAErrorHandler(): An error occurred while processing DMA.\n"); - OSReport("The following errors have been detected and cleared :\n"); - - if (hid2 & HID2_DCHERR) { - OSReport("\t- Requested a locked cache tag that was already in the cache\n"); - } - - if (hid2 & HID2_DNCERR) { - OSReport("\t- DMA attempted to access normal cache\n"); - } - - if (hid2 & HID2_DCMERR) { - OSReport("\t- DMA missed in data cache\n"); - } - - if (hid2 & HID2_DQOERR) { - OSReport("\t- DMA queue overflowed\n"); - } - - // write hid2 back to clear the error bits - PPCMthid2(hid2); -} - -void __OSCacheInit() -{ - if (!(PPCMfhid0() & HID0_ICE)) { - ICEnable(); - DBPrintf("L1 i-caches initialized\n"); - } - if (!(PPCMfhid0() & HID0_DCE)) { - DCEnable(); - DBPrintf("L1 d-caches initialized\n"); - } - - if (!(PPCMfl2cr() & L2CR_L2E)) { - L2Init(); - L2Enable(); - DBPrintf("L2 cache initialized\n"); - } - - OSSetErrorHandler(OS_ERROR_MACHINE_CHECK, DMAErrorHandler); - DBPrintf("Locked cache machine check handler installed\n"); -} diff --git a/src/dolphin/os/OSContext.c b/src/dolphin/os/OSContext.c deleted file mode 100644 index 81b28648..00000000 --- a/src/dolphin/os/OSContext.c +++ /dev/null @@ -1,555 +0,0 @@ -#include -#include -#include - -#define HID2 920 - -volatile OSContext *__OSCurrentContext : (OS_BASE_CACHED | 0x00D4); -volatile OSContext *__OSFPUContext : (OS_BASE_CACHED | 0x00D8); - -static asm void __OSLoadFPUContext(register u32, register OSContext *fpuContext) -{ - // clang-format off - nofralloc - lhz r5, fpuContext->state; - clrlwi. r5, r5, 31 - beq _return - - lfd fp0, OS_CONTEXT_FPSCR(fpuContext) - mtfsf 0xFF, fp0 - mfspr r5, HID2 - rlwinm. r5, r5, 3, 31, 31 - beq _regular_FPRs - - psq_l fp0, OS_CONTEXT_PSF0(fpuContext), 0, 0 - psq_l fp1, OS_CONTEXT_PSF1(fpuContext), 0, 0 - psq_l fp2, OS_CONTEXT_PSF2(fpuContext), 0, 0 - psq_l fp3, OS_CONTEXT_PSF3(fpuContext), 0, 0 - psq_l fp4, OS_CONTEXT_PSF4(fpuContext), 0, 0 - psq_l fp5, OS_CONTEXT_PSF5(fpuContext), 0, 0 - psq_l fp6, OS_CONTEXT_PSF6(fpuContext), 0, 0 - psq_l fp7, OS_CONTEXT_PSF7(fpuContext), 0, 0 - psq_l fp8, OS_CONTEXT_PSF8(fpuContext), 0, 0 - psq_l fp9, OS_CONTEXT_PSF9(fpuContext), 0, 0 - psq_l fp10, OS_CONTEXT_PSF10(fpuContext), 0, 0 - psq_l fp11, OS_CONTEXT_PSF11(fpuContext), 0, 0 - psq_l fp12, OS_CONTEXT_PSF12(fpuContext), 0, 0 - psq_l fp13, OS_CONTEXT_PSF13(fpuContext), 0, 0 - psq_l fp14, OS_CONTEXT_PSF14(fpuContext), 0, 0 - psq_l fp15, OS_CONTEXT_PSF15(fpuContext), 0, 0 - psq_l fp16, OS_CONTEXT_PSF16(fpuContext), 0, 0 - psq_l fp17, OS_CONTEXT_PSF17(fpuContext), 0, 0 - psq_l fp18, OS_CONTEXT_PSF18(fpuContext), 0, 0 - psq_l fp19, OS_CONTEXT_PSF19(fpuContext), 0, 0 - psq_l fp20, OS_CONTEXT_PSF20(fpuContext), 0, 0 - psq_l fp21, OS_CONTEXT_PSF21(fpuContext), 0, 0 - psq_l fp22, OS_CONTEXT_PSF22(fpuContext), 0, 0 - psq_l fp23, OS_CONTEXT_PSF23(fpuContext), 0, 0 - psq_l fp24, OS_CONTEXT_PSF24(fpuContext), 0, 0 - psq_l fp25, OS_CONTEXT_PSF25(fpuContext), 0, 0 - psq_l fp26, OS_CONTEXT_PSF26(fpuContext), 0, 0 - psq_l fp27, OS_CONTEXT_PSF27(fpuContext), 0, 0 - psq_l fp28, OS_CONTEXT_PSF28(fpuContext), 0, 0 - psq_l fp29, OS_CONTEXT_PSF29(fpuContext), 0, 0 - psq_l fp30, OS_CONTEXT_PSF30(fpuContext), 0, 0 - psq_l fp31, OS_CONTEXT_PSF31(fpuContext), 0, 0 - -_regular_FPRs: - lfd fp0, fpuContext->fpr[0] - lfd fp1, fpuContext->fpr[1] - lfd fp2, fpuContext->fpr[2] - lfd fp3, fpuContext->fpr[3] - lfd fp4, fpuContext->fpr[4] - lfd fp5, fpuContext->fpr[5] - lfd fp6, fpuContext->fpr[6] - lfd fp7, fpuContext->fpr[7] - lfd fp8, fpuContext->fpr[8] - lfd fp9, fpuContext->fpr[9] - lfd fp10, fpuContext->fpr[10] - lfd fp11, fpuContext->fpr[11] - lfd fp12, fpuContext->fpr[12] - lfd fp13, fpuContext->fpr[13] - lfd fp14, fpuContext->fpr[14] - lfd fp15, fpuContext->fpr[15] - lfd fp16, fpuContext->fpr[16] - lfd fp17, fpuContext->fpr[17] - lfd fp18, fpuContext->fpr[18] - lfd fp19, fpuContext->fpr[19] - lfd fp20, fpuContext->fpr[20] - lfd fp21, fpuContext->fpr[21] - lfd fp22, fpuContext->fpr[22] - lfd fp23, fpuContext->fpr[23] - lfd fp24, fpuContext->fpr[24] - lfd fp25, fpuContext->fpr[25] - lfd fp26, fpuContext->fpr[26] - lfd fp27, fpuContext->fpr[27] - lfd fp28, fpuContext->fpr[28] - lfd fp29, fpuContext->fpr[29] - lfd fp30, fpuContext->fpr[30] - lfd fp31, fpuContext->fpr[31] -_return: - blr - // clang-format on -} - -static asm void __OSSaveFPUContext(register u32, register u32, register OSContext *fpuContext) -{ - // clang-format off - nofralloc - - lhz r3, fpuContext->state - ori r3, r3, 1 - sth r3, fpuContext->state - - stfd fp0, fpuContext->fpr[0] - stfd fp1, fpuContext->fpr[1] - stfd fp2, fpuContext->fpr[2] - stfd fp3, fpuContext->fpr[3] - stfd fp4, fpuContext->fpr[4] - stfd fp5, fpuContext->fpr[5] - stfd fp6, fpuContext->fpr[6] - stfd fp7, fpuContext->fpr[7] - stfd fp8, fpuContext->fpr[8] - stfd fp9, fpuContext->fpr[9] - stfd fp10, fpuContext->fpr[10] - stfd fp11, fpuContext->fpr[11] - stfd fp12, fpuContext->fpr[12] - stfd fp13, fpuContext->fpr[13] - stfd fp14, fpuContext->fpr[14] - stfd fp15, fpuContext->fpr[15] - stfd fp16, fpuContext->fpr[16] - stfd fp17, fpuContext->fpr[17] - stfd fp18, fpuContext->fpr[18] - stfd fp19, fpuContext->fpr[19] - stfd fp20, fpuContext->fpr[20] - stfd fp21, fpuContext->fpr[21] - stfd fp22, fpuContext->fpr[22] - stfd fp23, fpuContext->fpr[23] - stfd fp24, fpuContext->fpr[24] - stfd fp25, fpuContext->fpr[25] - stfd fp26, fpuContext->fpr[26] - stfd fp27, fpuContext->fpr[27] - stfd fp28, fpuContext->fpr[28] - stfd fp29, fpuContext->fpr[29] - stfd fp30, fpuContext->fpr[30] - stfd fp31, fpuContext->fpr[31] - - mffs fp0 - stfd fp0, OS_CONTEXT_FPSCR(fpuContext) - - lfd fp0, fpuContext->fpr[0] - - mfspr r3, HID2 - rlwinm. r3, r3, 3, 31, 31 - bc 12, 2, _return - - psq_st fp0, OS_CONTEXT_PSF0(fpuContext), 0, 0 - psq_st fp1, OS_CONTEXT_PSF1(fpuContext), 0, 0 - psq_st fp2, OS_CONTEXT_PSF2(fpuContext), 0, 0 - psq_st fp3, OS_CONTEXT_PSF3(fpuContext), 0, 0 - psq_st fp4, OS_CONTEXT_PSF4(fpuContext), 0, 0 - psq_st fp5, OS_CONTEXT_PSF5(fpuContext), 0, 0 - psq_st fp6, OS_CONTEXT_PSF6(fpuContext), 0, 0 - psq_st fp7, OS_CONTEXT_PSF7(fpuContext), 0, 0 - psq_st fp8, OS_CONTEXT_PSF8(fpuContext), 0, 0 - psq_st fp9, OS_CONTEXT_PSF9(fpuContext), 0, 0 - psq_st fp10, OS_CONTEXT_PSF10(fpuContext), 0, 0 - psq_st fp11, OS_CONTEXT_PSF11(fpuContext), 0, 0 - psq_st fp12, OS_CONTEXT_PSF12(fpuContext), 0, 0 - psq_st fp13, OS_CONTEXT_PSF13(fpuContext), 0, 0 - psq_st fp14, OS_CONTEXT_PSF14(fpuContext), 0, 0 - psq_st fp15, OS_CONTEXT_PSF15(fpuContext), 0, 0 - psq_st fp16, OS_CONTEXT_PSF16(fpuContext), 0, 0 - psq_st fp17, OS_CONTEXT_PSF17(fpuContext), 0, 0 - psq_st fp18, OS_CONTEXT_PSF18(fpuContext), 0, 0 - psq_st fp19, OS_CONTEXT_PSF19(fpuContext), 0, 0 - psq_st fp20, OS_CONTEXT_PSF20(fpuContext), 0, 0 - psq_st fp21, OS_CONTEXT_PSF21(fpuContext), 0, 0 - psq_st fp22, OS_CONTEXT_PSF22(fpuContext), 0, 0 - psq_st fp23, OS_CONTEXT_PSF23(fpuContext), 0, 0 - psq_st fp24, OS_CONTEXT_PSF24(fpuContext), 0, 0 - psq_st fp25, OS_CONTEXT_PSF25(fpuContext), 0, 0 - psq_st fp26, OS_CONTEXT_PSF26(fpuContext), 0, 0 - psq_st fp27, OS_CONTEXT_PSF27(fpuContext), 0, 0 - psq_st fp28, OS_CONTEXT_PSF28(fpuContext), 0, 0 - psq_st fp29, OS_CONTEXT_PSF29(fpuContext), 0, 0 - psq_st fp30, OS_CONTEXT_PSF30(fpuContext), 0, 0 - psq_st fp31, OS_CONTEXT_PSF31(fpuContext), 0, 0 - -_return: - blr - // clang-format on -} - -asm void OSLoadFPUContext(register OSContext *fpuContext) -{ - // clang-format off - nofralloc - addi r4, fpuContext, 0 - b __OSLoadFPUContext - // clang-format on -} - -asm void OSSaveFPUContext(register OSContext *fpuContext) -{ - // clang-format off - nofralloc - addi r5, fpuContext, 0 - b __OSSaveFPUContext - // clang-format on -} - -asm void OSSetCurrentContext(register OSContext *context) { - // clang-format off - nofralloc - - addis r4, r0, OS_CACHED_REGION_PREFIX - - stw context, 0x00D4(r4) - - clrlwi r5, context, 2 - stw r5, 0x00C0(r4) - - lwz r5, 0x00D8(r4) - cmpw r5, context - bne _disableFPU - - lwz r6, context->srr1 - ori r6, r6, 0x2000 - stw r6, context->srr1 - mfmsr r6 - ori r6, r6, 2 - mtmsr r6 - blr - -_disableFPU: - lwz r6, context->srr1 - rlwinm r6, r6, 0, 19, 17 - stw r6, context->srr1 - mfmsr r6 - rlwinm r6, r6, 0, 19, 17 - ori r6, r6, 2 - mtmsr r6 - isync - blr - // clang-format on -} - -OSContext *OSGetCurrentContext(void) -{ - return (OSContext *)__OSCurrentContext; -} - -asm u32 OSSaveContext(register OSContext *context) -{ - // clang-format off - nofralloc - stmw r13, context->gpr[13] - mfspr r0, GQR1 - stw r0, context->gqr[1] - mfspr r0, GQR2 - stw r0, context->gqr[2] - mfspr r0, GQR3 - stw r0, context->gqr[3] - mfspr r0, GQR4 - stw r0, context->gqr[4] - mfspr r0, GQR5 - stw r0, context->gqr[5] - mfspr r0, GQR6 - stw r0, context->gqr[6] - mfspr r0, GQR7 - stw r0, context->gqr[7] - mfcr r0 - stw r0, context->cr - mflr r0 - stw r0, context->lr - stw r0, context->srr0 - mfmsr r0 - stw r0, context->srr1 - mfctr r0 - stw r0, context->ctr - mfxer r0 - stw r0, context->xer - stw r1, context->gpr[1] - stw r2, context->gpr[2] - li r0, 0x1 - stw r0, context->gpr[3] - li r3, 0 - blr - // clang-format on -} - -asm void OSLoadContext(register OSContext *context) -{ - // clang-format off - nofralloc - - lis r4, __RAS_OSDisableInterrupts_begin@ha - lwz r6, 0x198(context) - addi r5, r4, __RAS_OSDisableInterrupts_begin@l - cmplw r6, r5 - blt srr0_not_in_disableintr - lis r4, __RAS_OSDisableInterrupts_end@ha - addi r0, r4, __RAS_OSDisableInterrupts_end@l - cmplw r6, r0 - bgt srr0_not_in_disableintr - stw r5, 0x198(context) - -srr0_not_in_disableintr: - lwz r0, 0(context) - lwz r1, 4(context) - lwz r2, 8(context) - lhz r4, 0x1a2(context) - rlwinm. r5, r4, 0, 0x1e, 0x1e - beq load_saved_gprs - rlwinm r4, r4, 0, 0x1f, 0x1d - sth r4, 0x1a2(context) - lmw r5, 0x14(context) - b load_special_regs - -load_saved_gprs: - lmw r13, 0x34(context) - -load_special_regs: - lwz r4, 0x1a8(context) - mtspr 0x391, r4 - lwz r4, 0x1ac(context) - mtspr 0x392, r4 - lwz r4, 0x1b0(context) - mtspr 0x393, r4 - lwz r4, 0x1b4(context) - mtspr 0x394, r4 - lwz r4, 0x1b8(context) - mtspr 0x395, r4 - lwz r4, 0x1bc(context) - mtspr 0x396, r4 - lwz r4, 0x1c0(context) - mtspr 0x397, r4 - lwz r4, 0x80(context) - mtcrf 0xff, r4 - lwz r4, 0x84(context) - mtlr r4 - lwz r4, 0x88(context) - mtctr r4 - lwz r4, 0x8c(context) - mtxer r4 - mfmsr r4 - rlwinm r4, r4, 0, 0x11, 0xf - rlwinm r4, r4, 0, 0x1f, 0x1d - mtmsr r4 - lwz r4, 0x198(context) - mtspr 0x1a, r4 - lwz r4, 0x19c(context) - mtspr 0x1b, r4 - lwz r4, 0x10(context) - lwz context, 0xc(context) - rfi - // clang-format on -} - -asm u32 OSGetStackPointer() -{ - // clang-format off - nofralloc - mr r3, r1 - blr - // clang-format on -} - -asm u32 OSSwitchStack(register u32 newsp) -{ - // clang-format off - nofralloc - mr r5, r1 - mr r1, newsp - mr r3, r5 - blr - // clang-format on -} - -asm int OSSwitchFiber(register u32 pc, register u32 newsp) -{ - // clang-format off - nofralloc - mflr r0 - mr r5, r1 - stwu r5, -8(newsp) - mr r1, newsp - stw r0, 4(r5) - mtlr pc - blrl - lwz r5, 0(r1) - lwz r0, 4(r5) - mtlr r0 - mr r1, r5 - blr - // clang-format on -} - -void OSClearContext(register OSContext *context) -{ - context->mode = 0; - context->state = 0; - if (context == __OSFPUContext) - __OSFPUContext = NULL; -} - -asm void OSInitContext(register OSContext *context, register u32 pc, register u32 newsp) -{ - // clang-format off - nofralloc - - stw pc, OS_CONTEXT_SRR0(context) - stw newsp, OS_CONTEXT_R1(context) - li r11, 0 - ori r11, r11, 0x00008000 | 0x00000020 | 0x00000010 | 0x00000002 | 0x00001000 - stw r11, OS_CONTEXT_SRR1(context) - li r0, 0x0 - stw r0, OS_CONTEXT_CR(context) - stw r0, OS_CONTEXT_XER(context) - - - stw r2, OS_CONTEXT_R2(context) - stw r13, OS_CONTEXT_R13(context) - - stw r0, OS_CONTEXT_R3(context) - stw r0, OS_CONTEXT_R4(context) - stw r0, OS_CONTEXT_R5(context) - stw r0, OS_CONTEXT_R6(context) - stw r0, OS_CONTEXT_R7(context) - stw r0, OS_CONTEXT_R8(context) - stw r0, OS_CONTEXT_R9(context) - stw r0, OS_CONTEXT_R10(context) - stw r0, OS_CONTEXT_R11(context) - stw r0, OS_CONTEXT_R12(context) - - stw r0, OS_CONTEXT_R14(context) - stw r0, OS_CONTEXT_R15(context) - stw r0, OS_CONTEXT_R16(context) - stw r0, OS_CONTEXT_R17(context) - stw r0, OS_CONTEXT_R18(context) - stw r0, OS_CONTEXT_R19(context) - stw r0, OS_CONTEXT_R20(context) - stw r0, OS_CONTEXT_R21(context) - stw r0, OS_CONTEXT_R22(context) - stw r0, OS_CONTEXT_R23(context) - stw r0, OS_CONTEXT_R24(context) - stw r0, OS_CONTEXT_R25(context) - stw r0, OS_CONTEXT_R26(context) - stw r0, OS_CONTEXT_R27(context) - stw r0, OS_CONTEXT_R28(context) - stw r0, OS_CONTEXT_R29(context) - stw r0, OS_CONTEXT_R30(context) - stw r0, OS_CONTEXT_R31(context) - - stw r0, OS_CONTEXT_GQR0(context) - stw r0, OS_CONTEXT_GQR1(context) - stw r0, OS_CONTEXT_GQR2(context) - stw r0, OS_CONTEXT_GQR3(context) - stw r0, OS_CONTEXT_GQR4(context) - stw r0, OS_CONTEXT_GQR5(context) - stw r0, OS_CONTEXT_GQR6(context) - stw r0, OS_CONTEXT_GQR7(context) - - b OSClearContext - // clang-format on -} - -void OSDumpContext(OSContext *context) -{ - u32 i; - u32 *p; - - OSReport("------------------------- Context 0x%08x -------------------------\n", context); - - for (i = 0; i < 16; ++i) { - OSReport("r%-2d = 0x%08x (%14d) r%-2d = 0x%08x (%14d)\n", i, context->gpr[i], context->gpr[i], i + 16, context->gpr[i + 16], - context->gpr[i + 16]); - } - - OSReport("LR = 0x%08x CR = 0x%08x\n", context->lr, context->cr); - OSReport("SRR0 = 0x%08x SRR1 = 0x%08x\n", context->srr0, context->srr1); - - OSReport("\nGQRs----------\n"); - for (i = 0; i < 4; ++i) { - OSReport("gqr%d = 0x%08x \t gqr%d = 0x%08x\n", i, context->gqr[i], i + 4, context->gqr[i + 4]); - } - - if (context->state & OS_CONTEXT_STATE_FPSAVED) { - OSContext *currentContext; - OSContext fpuContext; - BOOL enabled; - - enabled = OSDisableInterrupts(); - currentContext = OSGetCurrentContext(); - OSClearContext(&fpuContext); - OSSetCurrentContext(&fpuContext); - - OSReport("\n\nFPRs----------\n"); - for (i = 0; i < 32; i += 2) { - OSReport("fr%d \t= %d \t fr%d \t= %d\n", i, (u32)context->fpr[i], i + 1, (u32)context->fpr[i + 1]); - } - OSReport("\n\nPSFs----------\n"); - for (i = 0; i < 32; i += 2) { - OSReport("ps%d \t= 0x%x \t ps%d \t= 0x%x\n", i, (u32)context->psf[i], i + 1, (u32)context->psf[i + 1]); - } - - OSClearContext(&fpuContext); - OSSetCurrentContext(currentContext); - OSRestoreInterrupts(enabled); - } - - OSReport("\nAddress: Back Chain LR Save\n"); - for (i = 0, p = (u32 *)context->gpr[1]; p && (u32)p != 0xffffffff && i++ < 16; p = (u32 *)*p) { - OSReport("0x%08x: 0x%08x 0x%08x\n", p, p[0], p[1]); - } -} - -static asm void OSSwitchFPUContext(register __OSException exception, register OSContext *context) -{ - // clang-format off - nofralloc - mfmsr r5 - ori r5, r5, 0x2000 - mtmsr r5 - isync - lwz r5, OS_CONTEXT_SRR1(context) - ori r5, r5, 0x2000 - mtsrr1 r5 - addis r3, r0, OS_CACHED_REGION_PREFIX - lwz r5, 0x00D8(r3) - stw context, 0x00D8(r3) - cmpw r5, r4 - beq _restoreAndExit - cmpwi r5, 0x0 - beq _loadNewFPUContext - bl __OSSaveFPUContext -_loadNewFPUContext: - bl __OSLoadFPUContext -_restoreAndExit: - lwz r3, OS_CONTEXT_CR(context) - mtcr r3 - lwz r3, OS_CONTEXT_LR(context) - mtlr r3 - lwz r3, OS_CONTEXT_SRR0(context) - mtsrr0 r3 - lwz r3, OS_CONTEXT_CTR(context) - mtctr r3 - lwz r3, OS_CONTEXT_XER(context) - mtxer r3 - lhz r3, context->state - rlwinm r3, r3, 0, 31, 29 - sth r3, context->state - lwz r5, OS_CONTEXT_R5(context) - lwz r3, OS_CONTEXT_R3(context) - lwz r4, OS_CONTEXT_R4(context) - rfi - // clang-format on -} - -void __OSContextInit(void) -{ - __OSSetExceptionHandler(__OS_EXCEPTION_FLOATING_POINT, OSSwitchFPUContext); - __OSFPUContext = NULL; - DBPrintf("FPU-unavailable handler installed\n"); -} diff --git a/src/dolphin/os/OSError.c b/src/dolphin/os/OSError.c deleted file mode 100644 index 2965756f..00000000 --- a/src/dolphin/os/OSError.c +++ /dev/null @@ -1,115 +0,0 @@ -#include -#include -#include -#include - -#include - -OSThread *__OSCurrentThread : (OS_BASE_CACHED | 0x00E4); -OSThreadQueue __OSActiveThreadQueue : (OS_BASE_CACHED | 0x00DC); -volatile OSContext *__OSFPUContext : (OS_BASE_CACHED | 0x00D8); - -OSErrorHandler __OSErrorTable[OS_ERROR_MAX]; -#define FPSCR_ENABLE (FPSCR_VE | FPSCR_OE | FPSCR_UE | FPSCR_ZE | FPSCR_XE) - -__declspec(weak) void OSReport(const char *msg, ...) -{ - va_list args; - va_start(args, msg); - vprintf(msg, args); - va_end(args); -} - -__declspec(weak) void OSVReport(const char *msg, va_list list) -{ - vprintf(msg, list); -} - -__declspec(weak) void OSPanic(const char *file, int line, const char *msg, ...) -{ - va_list marker; - u32 i; - u32 *p; - - OSDisableInterrupts(); - va_start(marker, msg); - vprintf(msg, marker); - va_end(marker); - OSReport(" in \"%s\" on line %d.\n", file, line); - - OSReport("\nAddress: Back Chain LR Save\n"); - for (i = 0, p = (u32 *)OSGetStackPointer(); p && (u32)p != 0xffffffff && i++ < 16; p = (u32 *)*p) { - OSReport("0x%08x: 0x%08x 0x%08x\n", p, p[0], p[1]); - } - - PPCHalt(); -} - -OSErrorHandler OSSetErrorHandler(OSError error, OSErrorHandler handler) -{ - OSErrorHandler oldHandler; - - oldHandler = __OSErrorTable[error]; - __OSErrorTable[error] = handler; - return oldHandler; -} - -void __OSUnhandledException(__OSException exception, OSContext *context, u32 dsisr, u32 dar) -{ - if (!(context->srr1 & MSR_RI)) { - OSReport("Non-recoverable Exception %d", exception); - } - else { - if (__OSErrorTable[exception]) { - OSDisableScheduler(); - __OSErrorTable[exception](exception, context, dsisr, dar); - OSEnableScheduler(); - __OSReschedule(); - OSLoadContext(context); - } - - if (exception == OS_ERROR_DECREMENTER) { - OSLoadContext(context); - } - - OSReport("Unhandled Exception %d", exception); - } - - OSReport("\n"); - OSDumpContext(context); - OSReport("\nDSISR = 0x%08x DAR = 0x%08x\n", dsisr, dar); - OSReport("TB = 0x%016llx\n", OSGetTime()); - - switch (exception) { - case __OS_EXCEPTION_DSI: - OSReport("\nInstruction at 0x%x (read from SRR0) attempted to access " - "invalid address 0x%x (read from DAR)\n", - context->srr0, dar); - break; - case __OS_EXCEPTION_ISI: - OSReport("\nAttempted to fetch instruction from invalid address 0x%x " - "(read from SRR0)\n", - context->srr0); - break; - case __OS_EXCEPTION_ALIGNMENT: - OSReport("\nInstruction at 0x%x (read from SRR0) attempted to access " - "unaligned address 0x%x (read from DAR)\n", - context->srr0, dar); - break; - case __OS_EXCEPTION_PROGRAM: - OSReport("\nProgram exception : Possible illegal instruction/operation " - "at or around 0x%x (read from SRR0)\n", - context->srr0, dar); - break; - case OS_ERROR_PROTECTION: - OSReport("\n"); - OSReport("AI DMA Address = 0x%04x%04x\n", __DSPRegs[0x00000018], __DSPRegs[0x00000018 + 1]); - OSReport("ARAM DMA Address = 0x%04x%04x\n", __DSPRegs[0x00000010], __DSPRegs[0x00000010 + 1]); - OSReport("DI DMA Address = 0x%08x\n", __DIRegs[0x00000005]); - break; - } - - OSReport("\nLast interrupt (%d): SRR0 = 0x%08x TB = 0x%016llx\n", __OSLastInterrupt, __OSLastInterruptSrr0, __OSLastInterruptTime); - - PPCHalt(); -} diff --git a/src/dolphin/os/OSFont.c b/src/dolphin/os/OSFont.c deleted file mode 100644 index a87ba76e..00000000 --- a/src/dolphin/os/OSFont.c +++ /dev/null @@ -1,323 +0,0 @@ -#include -#include -#include - -static OSFontHeader *FontData; -static u8 *SheetImage; -static u8 *WidthTable; -static int CharsInSheet; - -static u16 HankakuToCode[] = { 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, - 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, - 0x232, 0x233, 0x234, 0x235, 0x236, 0x237, 0x238, 0x239, 0x23A, 0x23B, 0x23C, 0x23D, 0x23E, 0x23F, 0x240, 0x241, 0x242, 0x243, 0x244, 0x245, 0x246, - 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x250, 0x251, 0x252, 0x253, 0x254, 0x255, 0x256, 0x257, 0x258, 0x259, 0x25A, 0x25B, - 0x25C, 0x25D, 0x25E, 0x25F, 0x260, 0x261, 0x262, 0x263, 0x264, 0x265, 0x266, 0x267, 0x268, 0x269, 0x26A, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, - 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, - 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x20C, 0x26B, 0x26C, 0x26D, 0x26E, 0x26F, 0x270, 0x271, 0x272, 0x273, 0x274, 0x275, 0x276, 0x277, 0x278, - 0x279, 0x27A, 0x27B, 0x27C, 0x27D, 0x27E, 0x27F, 0x280, 0x281, 0x282, 0x283, 0x284, 0x285, 0x286, 0x287, 0x288, 0x289, 0x28A, 0x28B, 0x28C, 0x28D, - 0x28E, 0x28F, 0x290, 0x291, 0x292, 0x293, 0x294, 0x295, 0x296, 0x297, 0x298, 0x299, 0x29A, 0x29B, 0x29C, 0x29D, 0x29E, 0x29F, 0x2A0, 0x2A1, 0x2A2, - 0x2A3, 0x2A4, 0x2A5, 0x2A6, 0x2A7, 0x2A8, 0x2A9 }; - -static u16 Zenkaku2Code[] = { 0x000, 0x001, 0x002, 0x003, 0x004, 0x005, 0x006, 0x007, 0x008, 0x009, 0x00A, 0x00B, 0x00C, 0x00D, 0x00E, 0x00F, 0x010, - 0x011, 0x012, 0x013, 0x014, 0x015, 0x016, 0x017, 0x018, 0x019, 0x01A, 0x01B, 0x01C, 0x01D, 0x01E, 0x01F, 0x020, 0x021, 0x022, 0x023, 0x024, 0x025, - 0x026, 0x027, 0x028, 0x029, 0x02A, 0x02B, 0x02C, 0x02D, 0x02E, 0x02F, 0x030, 0x031, 0x032, 0x033, 0x034, 0x035, 0x036, 0x037, 0x038, 0x039, 0x03A, - 0x03B, 0x03C, 0x03D, 0x03E, 0x03F, 0x040, 0x041, 0x042, 0x043, 0x044, 0x045, 0x046, 0x047, 0x048, 0x049, 0x04A, 0x04B, 0x04C, 0x04D, 0x04E, 0x04F, - 0x050, 0x051, 0x052, 0x053, 0x054, 0x055, 0x056, 0x057, 0x058, 0x059, 0x05A, 0x05B, 0x05C, 0x05D, 0x05E, 0x05F, 0x060, 0x061, 0x062, 0x063, 0x064, - 0x065, 0x066, 0x067, 0x068, 0x069, 0x06A, 0x06B, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x06C, 0x06D, 0x06E, - 0x06F, 0x070, 0x071, 0x072, 0x073, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x074, 0x075, 0x076, 0x077, 0x078, 0x079, 0x07A, 0x000, - 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x07B, 0x07C, 0x07D, 0x07E, 0x07F, 0x080, 0x081, 0x082, 0x083, 0x084, 0x085, - 0x086, 0x087, 0x088, 0x089, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x08A, 0x08B, 0x08C, 0x08D, 0x08E, 0x08F, 0x090, 0x091, 0x000, 0x000, - 0x000, 0x000, 0x092, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x093, 0x094, 0x095, - 0x096, 0x097, 0x098, 0x099, 0x09A, 0x09B, 0x09C, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x09D, 0x09E, 0x09F, 0x0A0, 0x0A1, 0x0A2, 0x0A3, - 0x0A4, 0x0A5, 0x0A6, 0x0A7, 0x0A8, 0x0A9, 0x0AA, 0x0AB, 0x0AC, 0x0AD, 0x0AE, 0x0AF, 0x0B0, 0x0B1, 0x0B2, 0x0B3, 0x0B4, 0x0B5, 0x0B6, 0x000, 0x000, - 0x000, 0x000, 0x000, 0x000, 0x0B7, 0x0B8, 0x0B9, 0x0BA, 0x0BB, 0x0BC, 0x0BD, 0x0BE, 0x0BF, 0x0C0, 0x0C1, 0x0C2, 0x0C3, 0x0C4, 0x0C5, 0x0C6, 0x0C7, - 0x0C8, 0x0C9, 0x0CA, 0x0CB, 0x0CC, 0x0CD, 0x0CE, 0x0CF, 0x0D0, 0x000, 0x000, 0x000, 0x000, 0x0D1, 0x0D2, 0x0D3, 0x0D4, 0x0D5, 0x0D6, 0x0D7, 0x0D8, - 0x0D9, 0x0DA, 0x0DB, 0x0DC, 0x0DD, 0x0DE, 0x0DF, 0x0E0, 0x0E1, 0x0E2, 0x0E3, 0x0E4, 0x0E5, 0x0E6, 0x0E7, 0x0E8, 0x0E9, 0x0EA, 0x0EB, 0x0EC, 0x0ED, - 0x0EE, 0x0EF, 0x0F0, 0x0F1, 0x0F2, 0x0F3, 0x0F4, 0x0F5, 0x0F6, 0x0F7, 0x0F8, 0x0F9, 0x0FA, 0x0FB, 0x0FC, 0x0FD, 0x0FE, 0x0FF, 0x100, 0x101, 0x102, - 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, - 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, - 0x000, 0x000, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, - 0x137, 0x138, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14A, 0x14B, - 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, - 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, - 0x176, 0x177, 0x178, 0x179, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x182, - 0x183, 0x184, 0x185, 0x186, 0x187, 0x188, 0x189, 0x18A, 0x18B, 0x18C, 0x18D, 0x18E, 0x18F, 0x190, 0x191, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, - 0x000, 0x000, 0x192, 0x193, 0x194, 0x195, 0x196, 0x197, 0x198, 0x199, 0x19A, 0x19B, 0x19C, 0x19D, 0x19E, 0x19F, 0x1A0, 0x1A1, 0x1A2, 0x1A3, 0x1A4, - 0x1A5, 0x1A6, 0x1A7, 0x1A8, 0x1A9, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, - 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, - 0x000, 0x1AA, 0x1AB, 0x1AC, 0x1AD, 0x1AE, 0x1AF, 0x1B0, 0x1B1, 0x1B2, 0x1B3, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B8, 0x1B9, 0x1BA, 0x1BB, 0x1BC, 0x1BD, - 0x1BE, 0x1BF, 0x1C0, 0x1C1, 0x1C2, 0x1C3, 0x1C4, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9, 0x1CA, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, - 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, - 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x000, 0x000, - 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F0, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, - 0x1F6, 0x1F7, 0x1F8, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, - 0x20B, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, - 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, - 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x20C, - 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, - 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x234, 0x235, 0x236, - 0x237, 0x238, 0x239, 0x23A, 0x23B, 0x23C, 0x23D, 0x23E, 0x23F, 0x240, 0x241, 0x242, 0x243, 0x244, 0x245, 0x246, 0x247, 0x248, 0x249, 0x24A, 0x24B, - 0x24C, 0x24D, 0x24E, 0x24F, 0x250, 0x251, 0x252, 0x253, 0x254, 0x255, 0x256, 0x257, 0x258, 0x259, 0x25A, 0x25B, 0x25C, 0x25D, 0x25E, 0x25F, 0x260, - 0x261, 0x262, 0x263, 0x264, 0x265, 0x266, 0x267, 0x268, 0x269, 0x26A, 0x26B, 0x26C, 0x26D, 0x26E, 0x26F, 0x270, 0x271, 0x272, 0x273, 0x274, 0x275, - 0x276, 0x277, 0x278, 0x279, 0x27A, 0x27B, 0x27C, 0x27D, 0x27E, 0x27F, 0x280, 0x281, 0x282, 0x283, 0x284, 0x285, 0x286, 0x287, 0x288, 0x289, 0x28A, - 0x28B, 0x28C, 0x28D, 0x28E, 0x28F, 0x290, 0x291, 0x292, 0x293, 0x294, 0x295, 0x296, 0x297, 0x298, 0x299, 0x29A, 0x29B, 0x29C, 0x29D, 0x29E, 0x29F, - 0x2A0, 0x2A1, 0x2A2, 0x2A3, 0x2A4, 0x2A5, 0x2A6, 0x2A7, 0x2A8, 0x2A9, 0x2AA, 0x2AB, 0x2AC, 0x2AD, 0x2AE, 0x2AF, 0x2B0, 0x2B1, 0x2B2, 0x2B3, 0x2B4, - 0x2B5, 0x2B6, 0x2B7, 0x2B8, 0x2B9, 0x2BA, 0x2BB, 0x2BC, 0x2BD, 0x2BE, 0x2BF, 0x2C0, 0x2C1, 0x2C2, 0x2C3, 0x2C4, 0x2C5, 0x2C6, 0x2C7, 0x2C8, 0x000, - 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, - 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, - 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, - 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, - 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, - 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, - 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, - 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, - 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x2C9, 0x2CA, - 0x2CB, 0x2CC, 0x2CD, 0x2CE, 0x2CF, 0x2D0, 0x2D1, 0x2D2, 0x2D3, 0x2D4, 0x2D5, 0x2D6, 0x2D7, 0x2D8, 0x2D9, 0x2DA, 0x2DB, 0x2DC, 0x2DD, 0x2DE, 0x2DF, - 0x2E0, 0x2E1, 0x2E2, 0x2E3, 0x2E4, 0x2E5, 0x2E6, 0x000, 0x2E7, 0x2E8, 0x2E9, 0x2EA, 0x2EB, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x2F0, 0x2F1, 0x2F2, 0x2F3, - 0x2F4, 0x2F5, 0x2F6, 0x2F7, 0x2F8, 0x2F9, 0x2FA, 0x2FB, 0x2FC, 0x2FD, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x2FE, 0x2FF, 0x300, - 0x301, 0x302, 0x303, 0x304, 0x305, 0x306, 0x307, 0x308, 0x309, 0x30A, 0x30B, 0x30C, 0x30D, 0x30E, 0x30F, 0x310, 0x311, 0x312, 0x313, 0x314, 0x315, - 0x316, 0x317, 0x318, 0x319, 0x31A, 0x31B, 0x000 }; - -static int GetFontCode(unsigned short code) -{ - if (OSGetFontEncode() == OS_FONT_ENCODE_SJIS) { - if (code >= 0x20 && code <= 0xDF) { - return HankakuToCode[code - 0x20]; - } - - if (code > 0x889E) { - int i = ((code >> 8) - 0x88) * 188; - int j = (code & 0xFF) - 0x40; - - if (j >= 0x40) { - j--; - } - - return (i + j + 0x2BE); - } - - if (code < 0x879E) { - int i = ((code >> 8) - 0x81) * 188; - int j = (code & 0xFF) - 0x40; - - if (j >= 0x40) { - j--; - } - - return Zenkaku2Code[i + j]; - } - } - else if (code > 0x20 && code <= 0xFF) { - return code - 0x20; - } - else { - return 0; - } -} - -static void Decode(unsigned char *s, unsigned char *d) -{ - int i; - int j; - int k; - int p; - int q; - int r7; // huh? DWARF info says these 2 variables might be register names and not actual names. - int r25; - int cnt; - int os; - unsigned int flag; - unsigned int code; - - os = *(int *)(s + 0x4); - r7 = *(int *)(s + 0x8); - r25 = *(int *)(s + 0xC); - - q = 0; - flag = 0; - p = 16; - - do { - // Get next mask - if (flag == 0) { - code = *(u32 *)(s + p); - p += sizeof(u32); - flag = sizeof(u32) * 8; - } - - // Non-linked chunk - if (code & 0x80000000) { - d[q++] = s[r25++]; - } - // Linked chunk - else { - // Read offset from link table - j = s[r7] << 8 | s[r7 + 1]; - r7 += sizeof(u16); - - // Apply offset - k = q - (j & 0x0FFF); - cnt = j >> 12; - if (cnt == 0) { - cnt = s[r25++] + 0x12; - } - else { - cnt += 2; - } - - // Copy chunk - for (i = 0; i < cnt; i++, q++, k++) { - d[q] = d[k - 1]; - } - } - - // Prepare next mask bit - code <<= 1; - flag--; - } while (q < os); -} - -static u32 GetFontSize(u8 *buf) -{ - if (buf[0] == 'Y' && buf[1] == 'a' && buf[2] == 'y') { - return *(u32 *)(buf + 0x4); - } - - return 0; -} - -u16 OSGetFontEncode(void) -{ - static u16 fontEncode = 0xFFFF; - if (fontEncode <= 1) { - return fontEncode; - } - switch (*(int *)OSPhysicalToCached(0xCC)) { - case VI_NTSC: - fontEncode = (__VIRegs[VI_DTV_STAT] & 2) ? OS_FONT_ENCODE_SJIS : OS_FONT_ENCODE_ANSI; - break; - - case VI_PAL: - case VI_MPAL: - case VI_DEBUG: - case VI_DEBUG_PAL: - case VI_EURGB60: - default: - fontEncode = OS_FONT_ENCODE_ANSI; - } - - return fontEncode; -} - -static void ReadROM(void *buf, int length, int offset) -{ - int len; - while (length > 0) { - len = (length <= 0x100) ? length : 0x100; - length -= len; - - while (!__OSReadROM(buf, len, offset)) { - ; - } - - offset += len; - (u8 *)buf += len; - } -} - -static u32 ReadFont(void *img) -{ - if (OSGetFontEncode() == OS_FONT_ENCODE_SJIS) { - ReadROM(img, OS_FONT_ROM_SIZE_SJIS, 0x1AFF00); - } - else { - ReadROM(img, OS_FONT_ROM_SIZE_ANSI, 0x1FCF00); - } - - return GetFontSize(img); -} - -u32 OSLoadFont(OSFontHeader *fontData, void *temp) -{ - u32 size; - - SheetImage = NULL; - size = ReadFont(temp); - if (size) { - Decode(temp, (void *)fontData); - FontData = fontData; - WidthTable = (u8 *)FontData + FontData->widthTable; - CharsInSheet = FontData->sheetColumn * FontData->sheetRow; - } - - return size; -} - -char *OSGetFontTexel(char *string, void *image, long pos, long stride, long *width) -{ - unsigned short code; - unsigned char *src; - unsigned char *dst; - int fontCode; - int sheet; - int numChars; - int row; - int column; - int x; - int y; - int offsetSrc; - int offsetDst; - unsigned char *colorIndex; - unsigned char *imageSrc; - - // ASSERTLINE(0x1F6, FontData && !SheetImage); - - code = *string; - if (code == '\0') { - return string; - } - - string++; - if (OSGetFontEncode() == OS_FONT_ENCODE_SJIS) { - if ((((code >= 0x80) && (code <= 0x9F)) || ((code >= 0xE0) && (code <= 0xFF))) && ((s8)*string != 0U)) { - code = (code << 8) | (*string++); // Shift-JIS encoded byte - } - } - colorIndex = &FontData->c0; - - // ASSERTLINE(0x209, FontData->sheetFormat == GX_TF_I4); - - fontCode = GetFontCode(code); - - sheet = fontCode / CharsInSheet; - numChars = fontCode - (sheet * CharsInSheet); - row = numChars / FontData->sheetColumn; - column = (numChars - (row * FontData->sheetColumn)); - row *= FontData->cellHeight; - column *= FontData->cellWidth; - imageSrc = (u8 *)FontData + FontData->sheetImage; - imageSrc += (sheet * FontData->sheetSize) / 2; - - for (y = 0; y < FontData->cellHeight; y++) { - for (x = 0; x < FontData->cellWidth; x++) { - src = imageSrc + (((FontData->sheetWidth / 8) * 32) / 2) * ((row + y) / 8); - src += ((column + x) / 8) * 16; - src += ((row + y) % 8) * 2; - src += ((column + x) % 8) / 4; - - offsetSrc = (column + x) % 4; - - dst = (u8 *)image + ((y / 8) * (((stride * 4) / 8) * 32)); - dst += (((pos + x) / 8) * 32); - dst += ((y % 8) * 4); - dst += ((pos + x) % 8) / 2; - - offsetDst = (pos + x) % 2; - - *dst |= colorIndex[*src >> (6 - (offsetSrc * 2)) & 3] & ((offsetDst != 0) ? 0x0F : 0xF0); - } - } - *width = WidthTable[fontCode]; - - return string; -} diff --git a/src/dolphin/os/OSInterrupt.c b/src/dolphin/os/OSInterrupt.c deleted file mode 100644 index 061e7daf..00000000 --- a/src/dolphin/os/OSInterrupt.c +++ /dev/null @@ -1,434 +0,0 @@ -#include -#include -#include - -static asm void ExternalInterruptHandler(register __OSException exception, register OSContext *context); - -static __OSInterruptHandler *InterruptHandlerTable; - -static OSInterruptMask InterruptPrioTable[] = { - OS_INTERRUPTMASK_PI_ERROR, - OS_INTERRUPTMASK_PI_DEBUG, - OS_INTERRUPTMASK_MEM, - OS_INTERRUPTMASK_PI_RSW, - OS_INTERRUPTMASK_PI_VI, - OS_INTERRUPTMASK_PI_PE, - OS_INTERRUPTMASK_PI_HSP, - OS_INTERRUPTMASK_DSP_ARAM | OS_INTERRUPTMASK_DSP_DSP | OS_INTERRUPTMASK_AI | OS_INTERRUPTMASK_EXI | OS_INTERRUPTMASK_PI_SI - | OS_INTERRUPTMASK_PI_DI, - OS_INTERRUPTMASK_DSP_AI, - OS_INTERRUPTMASK_PI_CP, - 0xFFFFFFFF, -}; - -asm BOOL OSDisableInterrupts(void) -{ - // clang-format off - nofralloc -entry __RAS_OSDisableInterrupts_begin - mfmsr r3 - rlwinm r4, r3, 0, 17, 15 - mtmsr r4 - rlwinm r3, r3, 17, 31, 31 -entry __RAS_OSDisableInterrupts_end - blr - // clang-format on -} -asm BOOL OSEnableInterrupts(void) -{ - // clang-format off - nofralloc - - mfmsr r3 - ori r4, r3, 0x8000 - mtmsr r4 - rlwinm r3, r3, 17, 31, 31 - blr - // clang-format on -} - -asm BOOL OSRestoreInterrupts(register BOOL level) { - // clang-format off - - nofralloc - - cmpwi level, 0 - mfmsr r4 - beq _disable - ori r5, r4, 0x8000 - b _restore -_disable: - rlwinm r5, r4, 0, 17, 15 -_restore: - mtmsr r5 - rlwinm r3, r4, 17, 31, 31 - blr - // clang-format on -} - -__OSInterruptHandler __OSSetInterruptHandler(__OSInterrupt interrupt, __OSInterruptHandler handler) -{ - __OSInterruptHandler oldHandler; - - oldHandler = InterruptHandlerTable[interrupt]; - InterruptHandlerTable[interrupt] = handler; - return oldHandler; -} - -__OSInterruptHandler __OSGetInterruptHandler(__OSInterrupt interrupt) -{ - return InterruptHandlerTable[interrupt]; -} - -void __OSInterruptInit(void) -{ - InterruptHandlerTable = OSPhysicalToCached(0x3040); - memset(InterruptHandlerTable, 0, __OS_INTERRUPT_MAX * sizeof(__OSInterruptHandler)); - - *(OSInterruptMask *)OSPhysicalToCached(0x00C4) = 0; - - *(OSInterruptMask *)OSPhysicalToCached(0x00C8) = 0; - - __PIRegs[1] = 0xf0; - - __OSMaskInterrupts(OS_INTERRUPTMASK_MEM | OS_INTERRUPTMASK_DSP | OS_INTERRUPTMASK_AI | OS_INTERRUPTMASK_EXI | OS_INTERRUPTMASK_PI); - - __OSSetExceptionHandler(4, ExternalInterruptHandler); -} - -u32 SetInterruptMask(OSInterruptMask mask, OSInterruptMask current) -{ - u32 reg; - - switch (__cntlzw(mask)) { - case __OS_INTERRUPT_MEM_0: - case __OS_INTERRUPT_MEM_1: - case __OS_INTERRUPT_MEM_2: - case __OS_INTERRUPT_MEM_3: - case __OS_INTERRUPT_MEM_ADDRESS: - reg = 0; - if (!(current & OS_INTERRUPTMASK_MEM_0)) - reg |= 0x1; - if (!(current & OS_INTERRUPTMASK_MEM_1)) - reg |= 0x2; - if (!(current & OS_INTERRUPTMASK_MEM_2)) - reg |= 0x4; - if (!(current & OS_INTERRUPTMASK_MEM_3)) - reg |= 0x8; - if (!(current & OS_INTERRUPTMASK_MEM_ADDRESS)) - reg |= 0x10; - __MEMRegs[0x0000000e] = (u16)reg; - mask &= ~OS_INTERRUPTMASK_MEM; - break; - case __OS_INTERRUPT_DSP_AI: - case __OS_INTERRUPT_DSP_ARAM: - case __OS_INTERRUPT_DSP_DSP: - reg = __DSPRegs[0x00000005]; - reg &= ~0x1F8; - if (!(current & OS_INTERRUPTMASK_DSP_AI)) - reg |= 0x10; - if (!(current & OS_INTERRUPTMASK_DSP_ARAM)) - reg |= 0x40; - if (!(current & OS_INTERRUPTMASK_DSP_DSP)) - reg |= 0x100; - __DSPRegs[0x00000005] = (u16)reg; - mask &= ~OS_INTERRUPTMASK_DSP; - break; - case __OS_INTERRUPT_AI_AI: - reg = __AIRegs[0]; - reg &= ~0x2C; - if (!(current & OS_INTERRUPTMASK_AI_AI)) - reg |= 0x4; - __AIRegs[0] = reg; - mask &= ~OS_INTERRUPTMASK_AI; - break; - case __OS_INTERRUPT_EXI_0_EXI: - case __OS_INTERRUPT_EXI_0_TC: - case __OS_INTERRUPT_EXI_0_EXT: - reg = __EXIRegs[0]; - reg &= ~0x2C0F; - if (!(current & OS_INTERRUPTMASK_EXI_0_EXI)) - reg |= 0x1; - if (!(current & OS_INTERRUPTMASK_EXI_0_TC)) - reg |= 0x4; - if (!(current & OS_INTERRUPTMASK_EXI_0_EXT)) - reg |= 0x400; - __EXIRegs[0] = reg; - mask &= ~OS_INTERRUPTMASK_EXI_0; - break; - case __OS_INTERRUPT_EXI_1_EXI: - case __OS_INTERRUPT_EXI_1_TC: - case __OS_INTERRUPT_EXI_1_EXT: - reg = __EXIRegs[5]; - reg &= ~0xC0F; - - if (!(current & OS_INTERRUPTMASK_EXI_1_EXI)) - reg |= 0x1; - if (!(current & OS_INTERRUPTMASK_EXI_1_TC)) - reg |= 0x4; - if (!(current & OS_INTERRUPTMASK_EXI_1_EXT)) - reg |= 0x400; - __EXIRegs[5] = reg; - mask &= ~OS_INTERRUPTMASK_EXI_1; - break; - case __OS_INTERRUPT_EXI_2_EXI: - case __OS_INTERRUPT_EXI_2_TC: - reg = __EXIRegs[10]; - reg &= ~0xF; - if (!(current & OS_INTERRUPTMASK_EXI_2_EXI)) - reg |= 0x1; - if (!(current & OS_INTERRUPTMASK_EXI_2_TC)) - reg |= 0x4; - - __EXIRegs[10] = reg; - mask &= ~OS_INTERRUPTMASK_EXI_2; - break; - case __OS_INTERRUPT_PI_CP: - case __OS_INTERRUPT_PI_SI: - case __OS_INTERRUPT_PI_DI: - case __OS_INTERRUPT_PI_RSW: - case __OS_INTERRUPT_PI_ERROR: - case __OS_INTERRUPT_PI_VI: - case __OS_INTERRUPT_PI_DEBUG: - case __OS_INTERRUPT_PI_PE_TOKEN: - case __OS_INTERRUPT_PI_PE_FINISH: - case __OS_INTERRUPT_PI_HSP: - reg = 0xF0; - - if (!(current & OS_INTERRUPTMASK_PI_CP)) { - reg |= 0x800; - } - if (!(current & OS_INTERRUPTMASK_PI_SI)) { - reg |= 0x8; - } - if (!(current & OS_INTERRUPTMASK_PI_DI)) { - reg |= 0x4; - } - if (!(current & OS_INTERRUPTMASK_PI_RSW)) { - reg |= 0x2; - } - if (!(current & OS_INTERRUPTMASK_PI_ERROR)) { - reg |= 0x1; - } - if (!(current & OS_INTERRUPTMASK_PI_VI)) { - reg |= 0x100; - } - if (!(current & OS_INTERRUPTMASK_PI_DEBUG)) { - reg |= 0x1000; - } - if (!(current & OS_INTERRUPTMASK_PI_PE_TOKEN)) { - reg |= 0x200; - } - if (!(current & OS_INTERRUPTMASK_PI_PE_FINISH)) { - reg |= 0x400; - } - if (!(current & OS_INTERRUPTMASK_PI_HSP)) { - reg |= 0x2000; - } - __PIRegs[1] = reg; - mask &= ~OS_INTERRUPTMASK_PI; - break; - default: - break; - } - return mask; -} - -OSInterruptMask OSGetInterruptMask(void) -{ - return *(OSInterruptMask *)OSPhysicalToCached(0x00C8); -} - -OSInterruptMask OSSetInterruptMask(OSInterruptMask local) -{ - BOOL enabled; - OSInterruptMask global; - OSInterruptMask prev; - OSInterruptMask mask; - - enabled = OSDisableInterrupts(); - global = *(OSInterruptMask *)OSPhysicalToCached(0x00C4); - prev = *(OSInterruptMask *)OSPhysicalToCached(0x00C8); - mask = (global | prev) ^ local; - *(OSInterruptMask *)OSPhysicalToCached(0x00C8) = local; - while (mask) { - mask = SetInterruptMask(mask, global | local); - } - OSRestoreInterrupts(enabled); - return prev; -} - -OSInterruptMask __OSMaskInterrupts(OSInterruptMask global) -{ - BOOL enabled; - OSInterruptMask prev; - OSInterruptMask local; - OSInterruptMask mask; - - enabled = OSDisableInterrupts(); - prev = *(OSInterruptMask *)OSPhysicalToCached(0x00C4); - local = *(OSInterruptMask *)OSPhysicalToCached(0x00C8); - mask = ~(prev | local) & global; - global |= prev; - *(OSInterruptMask *)OSPhysicalToCached(0x00C4) = global; - while (mask) { - mask = SetInterruptMask(mask, global | local); - } - OSRestoreInterrupts(enabled); - return prev; -} - -OSInterruptMask __OSUnmaskInterrupts(OSInterruptMask global) -{ - BOOL enabled; - OSInterruptMask prev; - OSInterruptMask local; - OSInterruptMask mask; - - enabled = OSDisableInterrupts(); - prev = *(OSInterruptMask *)OSPhysicalToCached(0x00C4); - local = *(OSInterruptMask *)OSPhysicalToCached(0x00C8); - mask = (prev | local) & global; - global = prev & ~global; - *(OSInterruptMask *)OSPhysicalToCached(0x00C4) = global; - while (mask) { - mask = SetInterruptMask(mask, global | local); - } - OSRestoreInterrupts(enabled); - return prev; -} - -volatile OSTime __OSLastInterruptTime; -volatile __OSInterrupt __OSLastInterrupt; -volatile u32 __OSLastInterruptSrr0; - -void __OSDispatchInterrupt(__OSException exception, OSContext *context) -{ - u32 intsr; - u32 reg; - OSInterruptMask cause; - OSInterruptMask unmasked; - OSInterruptMask *prio; - __OSInterrupt interrupt; - __OSInterruptHandler handler; - intsr = __PIRegs[0]; - intsr &= ~0x00010000; - - if (intsr == 0 || (intsr & __PIRegs[1]) == 0) { - OSLoadContext(context); - } - - cause = 0; - - if (intsr & 0x00000080) { - reg = __MEMRegs[15]; - if (reg & 0x1) - cause |= OS_INTERRUPTMASK_MEM_0; - if (reg & 0x2) - cause |= OS_INTERRUPTMASK_MEM_1; - if (reg & 0x4) - cause |= OS_INTERRUPTMASK_MEM_2; - if (reg & 0x8) - cause |= OS_INTERRUPTMASK_MEM_3; - if (reg & 0x10) - cause |= OS_INTERRUPTMASK_MEM_ADDRESS; - } - - if (intsr & 0x00000040) { - reg = __DSPRegs[5]; - if (reg & 0x8) - cause |= OS_INTERRUPTMASK_DSP_AI; - if (reg & 0x20) - cause |= OS_INTERRUPTMASK_DSP_ARAM; - if (reg & 0x80) - cause |= OS_INTERRUPTMASK_DSP_DSP; - } - - if (intsr & 0x00000020) { - reg = __AIRegs[0]; - if (reg & 0x8) - cause |= OS_INTERRUPTMASK_AI_AI; - } - - if (intsr & 0x00000010) { - reg = __EXIRegs[0]; - if (reg & 0x2) - cause |= OS_INTERRUPTMASK_EXI_0_EXI; - if (reg & 0x8) - cause |= OS_INTERRUPTMASK_EXI_0_TC; - if (reg & 0x800) - cause |= OS_INTERRUPTMASK_EXI_0_EXT; - reg = __EXIRegs[5]; - if (reg & 0x2) - cause |= OS_INTERRUPTMASK_EXI_1_EXI; - if (reg & 0x8) - cause |= OS_INTERRUPTMASK_EXI_1_TC; - if (reg & 0x800) - cause |= OS_INTERRUPTMASK_EXI_1_EXT; - reg = __EXIRegs[10]; - if (reg & 0x2) - cause |= OS_INTERRUPTMASK_EXI_2_EXI; - if (reg & 0x8) - cause |= OS_INTERRUPTMASK_EXI_2_TC; - } - - if (intsr & 0x00002000) - cause |= OS_INTERRUPTMASK_PI_HSP; - if (intsr & 0x00001000) - cause |= OS_INTERRUPTMASK_PI_DEBUG; - if (intsr & 0x00000400) - cause |= OS_INTERRUPTMASK_PI_PE_FINISH; - if (intsr & 0x00000200) - cause |= OS_INTERRUPTMASK_PI_PE_TOKEN; - if (intsr & 0x00000100) - cause |= OS_INTERRUPTMASK_PI_VI; - if (intsr & 0x00000008) - cause |= OS_INTERRUPTMASK_PI_SI; - if (intsr & 0x00000004) - cause |= OS_INTERRUPTMASK_PI_DI; - if (intsr & 0x00000002) - cause |= OS_INTERRUPTMASK_PI_RSW; - if (intsr & 0x00000800) - cause |= OS_INTERRUPTMASK_PI_CP; - if (intsr & 0x00000001) - cause |= OS_INTERRUPTMASK_PI_ERROR; - - unmasked = cause & ~(*(OSInterruptMask *)OSPhysicalToCached(0x00C4) | *(OSInterruptMask *)OSPhysicalToCached(0x00C8)); - if (unmasked) { - for (prio = InterruptPrioTable;; ++prio) { - if (unmasked & *prio) { - interrupt = (__OSInterrupt)__cntlzw(unmasked & *prio); - break; - } - } - - handler = __OSGetInterruptHandler(interrupt); - if (handler) { - if (__OS_INTERRUPT_MEM_ADDRESS < interrupt) { - __OSLastInterrupt = interrupt; - __OSLastInterruptTime = OSGetTime(); - __OSLastInterruptSrr0 = context->srr0; - } - - OSDisableScheduler(); - handler(interrupt, context); - OSEnableScheduler(); - __OSReschedule(); - OSLoadContext(context); - } - } - - OSLoadContext(context); -} - -static asm void ExternalInterruptHandler(register __OSException exception, register OSContext *context) -{ -#pragma unused(exception) - // clang-format off - nofralloc - OS_EXCEPTION_SAVE_GPRS(context) - - stwu r1, -8(r1) - b __OSDispatchInterrupt - // clang-format on -} diff --git a/src/dolphin/os/OSLink.c b/src/dolphin/os/OSLink.c deleted file mode 100644 index c3f3e03c..00000000 --- a/src/dolphin/os/OSLink.c +++ /dev/null @@ -1,504 +0,0 @@ -#include "dolphin/os.h" - -#define SHN_UNDEF 0 -#define SHN_LORESERVE 0xff00 -#define SHN_LOPROC 0xff00 -#define SHN_HIPROC 0xff1f -#define SHN_ABS 0xfff1 -#define SHN_COMMON 0xfff2 -#define SHN_HIRESERVE 0xffff - -#define ELF32_R_SYM(i) ((i) >> 8) -#define ELF32_R_TYPE(i) ((unsigned char)(i)) -#define ELF32_R_INFO(s, t) (((s) << 8) + (unsigned char)(t)) - -// Name Value Field Calculation -#define R_PPC_NONE 0 // none none -#define R_PPC_ADDR32 1 // word32 S + A -#define R_PPC_ADDR24 2 // low24* (S + A) >> 2 -#define R_PPC_ADDR16 3 // half16* S + A -#define R_PPC_ADDR16_LO 4 // half16 #lo(S + A) -#define R_PPC_ADDR16_HI 5 // half16 #hi(S + A) -#define R_PPC_ADDR16_HA 6 // half16 #ha(S + A) -#define R_PPC_ADDR14 7 // low14* (S + A) >> 2 -#define R_PPC_ADDR14_BRTAKEN 8 // low14* (S + A) >> 2 -#define R_PPC_ADDR14_BRNTAKEN 9 // low14* (S + A) >> 2 -#define R_PPC_REL24 10 // low24* (S + A - P) >> 2 -#define R_PPC_REL14 11 // low14* (S + A - P) >> 2 -#define R_PPC_REL14_BRTAKEN 12 // low14* (S + A - P) >> 2 -#define R_PPC_REL14_BRNTAKEN 13 // low14* (S + A - P) >> 2 - -#define R_PPC_GOT16 14 // half16* G + A -#define R_PPC_GOT16_LO 15 // half16 #lo(G + A) -#define R_PPC_GOT16_HI 16 // half16 #hi(G + A) -#define R_PPC_GOT16_HA 17 // half16 #ha(G + A) -#define R_PPC_PLTREL24 18 // low24* (L + A - P) >> 2 -#define R_PPC_COPY 19 // none none -#define R_PPC_GLOB_DAT 20 // word32 S + A -#define R_PPC_JMP_SLOT 21 // none -#define R_PPC_RELATIVE 22 // word32 B + A - -#define R_PPC_LOCAL24PC 23 // low24* - -#define R_PPC_UADDR32 24 // word32 S + A -#define R_PPC_UADDR16 25 // half16* S + A -#define R_PPC_REL32 26 // word32 S + A - P - -#define R_PPC_PLT32 27 // word32 L + A -#define R_PPC_PLTREL32 28 // word32 L + A - P -#define R_PPC_PLT16_LO 29 // half16 #lo(L + A) -#define R_PPL_PLT16_HI 30 // half16 #hi(L + A) -#define R_PPC_PLT16_HA 31 // half16 #ha(L + A) - -#define R_PPC_SDAREL16 32 // half16* S + A - _SDA_BASE_ -#define R_PPC_SECTOFF 33 // half16* R + A -#define R_PPC_SECTOFF_LO 34 // half16 #lo(R + A) -#define R_PPC_SECTOFF_HI 35 // half16 #hi(R + A) -#define R_PPC_SECTOFF_HA 36 // half16 #ha(R + A) -#define R_PPC_ADDR30 37 // word30 (S + A - P) >> 2 - -#define R_PPC_EMB_NADDR32 101 // uword32 N (A - S) -#define R_PPC_EMB_NADDR16 102 // uhalf16 Y (A - S) -#define R_PPC_EMB_NADDR16_LO 103 // uhalf16 N #lo(A - S) -#define R_PPC_EMB_NADDR16_HI 104 // uhalf16 N #hi(A - S) -#define R_PPC_EMB_NADDR16_HA 105 // uhalf16 N #ha(A - S) -#define R_PPC_EMB_SDAI16 106 // uhalf16 Y T -#define R_PPC_EMB_SDA2I16 107 // uhalf16 Y U -#define R_PPC_EMB_SDA2REL 108 // uhalf16 Y S + A - _SDA2_BASE_ -#define R_PPC_EMB_SDA21 109 // ulow21 N -#define R_PPC_EMB_MRKREF 110 // none N -#define R_PPC_EMB_RELSEC16 111 // uhalf16 Y V + A -#define R_PPC_EMB_RELST_LO 112 // uhalf16 N #lo(W + A) -#define R_PPC_EMB_RELST_HI 113 // uhalf16 N #hi(W + A) -#define R_PPC_EMB_RELST_HA 114 // uhalf16 N #ha(W + A) -#define R_PPC_EMB_BIT_FLD 115 // uword32 Y -#define R_PPC_EMB_RELSDA 116 // uhalf16 Y - -OSModuleQueue __OSModuleInfoList : (OS_BASE_CACHED | 0x30C8); -const void *__OSStringTable : (OS_BASE_CACHED | 0x30D0); - -#pragma dont_inline on -__declspec(weak) void OSNotifyLink(void) { } - -__declspec(weak) void OSNotifyUnlink(void) { } - -#pragma dont_inline reset - -#define EnqueueTail(queue, moduleInfo, link) \ - do { \ - OSModuleInfo *__prev; \ - \ - __prev = (queue)->tail; \ - if (__prev == NULL) \ - (queue)->head = (moduleInfo); \ - else \ - __prev->link.next = (moduleInfo); \ - (moduleInfo)->link.prev = __prev; \ - (moduleInfo)->link.next = NULL; \ - (queue)->tail = (moduleInfo); \ - } while (0) - -#define DequeueItem(queue, moduleInfo, link) \ - do { \ - OSModuleInfo *__next; \ - OSModuleInfo *__prev; \ - \ - __next = (moduleInfo)->link.next; \ - __prev = (moduleInfo)->link.prev; \ - \ - if (__next == NULL) \ - (queue)->tail = __prev; \ - else \ - __next->link.prev = __prev; \ - \ - if (__prev == NULL) \ - (queue)->head = __next; \ - else \ - __prev->link.next = __next; \ - } while (0) - -void OSSetStringTable(const void *stringTable) -{ - __OSStringTable = stringTable; -} - -static BOOL Relocate(OSModuleHeader *newModule, OSModuleHeader *module) -{ - OSModuleID idNew; - OSImportInfo *imp; - OSRel *rel; - OSSectionInfo *si; - OSSectionInfo *siFlush; - u32 *p; - u32 offset; - u32 x; - - idNew = newModule ? newModule->info.id : 0; - for (imp = (OSImportInfo *)module->impOffset; imp < (OSImportInfo *)(module->impOffset + module->impSize); imp++) { - if (imp->id == idNew) { - goto Found; - } - } - return FALSE; - -Found: - siFlush = 0; - for (rel = (OSRel *)imp->offset; rel->type != R_DOLPHIN_END; rel++) { - (u8 *)p += rel->offset; - if (idNew) { - si = &OSGetSectionInfo(newModule)[rel->section]; - offset = OS_SECTIONINFO_OFFSET(si->offset); - } - else { - offset = 0; - } - switch (rel->type) { - case R_PPC_NONE: - break; - case R_PPC_ADDR32: - x = offset + rel->addend; - *p = x; - break; - case R_PPC_ADDR24: - x = offset + rel->addend; - *p = (*p & ~0x03fffffc) | (x & 0x03fffffc); - break; - case R_PPC_ADDR16: - x = offset + rel->addend; - *(u16 *)p = (u16)(x & 0xffff); - break; - case R_PPC_ADDR16_LO: - x = offset + rel->addend; - *(u16 *)p = (u16)(x & 0xffff); - break; - case R_PPC_ADDR16_HI: - x = offset + rel->addend; - *(u16 *)p = (u16)(((x >> 16) & 0xffff)); - break; - case R_PPC_ADDR16_HA: - x = offset + rel->addend; - *(u16 *)p = (u16)(((x >> 16) + ((x & 0x8000) ? 1 : 0)) & 0xffff); - break; - case R_PPC_REL24: - x = offset + rel->addend - (u32)p; - *p = (*p & ~0x03fffffc) | (x & 0x03fffffc); - break; - case R_DOLPHIN_NOP: - break; - case R_DOLPHIN_SECTION: - si = &OSGetSectionInfo(module)[rel->section]; - p = (u32 *)OS_SECTIONINFO_OFFSET(si->offset); - if (siFlush) { - offset = OS_SECTIONINFO_OFFSET(siFlush->offset); - DCFlushRange((void *)offset, siFlush->size); - ICInvalidateRange((void *)offset, siFlush->size); - } - siFlush = (si->offset & OS_SECTIONINFO_EXEC) ? si : 0; - break; - default: - OSReport("OSLink: unknown relocation type %3d\n", rel->type); - break; - } - } - - if (siFlush) { - offset = OS_SECTIONINFO_OFFSET(siFlush->offset); - DCFlushRange((void *)offset, siFlush->size); - ICInvalidateRange((void *)offset, siFlush->size); - } - - return TRUE; -} - -#if OS_MODULE_VERSION >= 3 -static BOOL Link(OSModuleInfo *newModule, void *bss, BOOL fixed) -{ - u32 i; - OSSectionInfo *si; - OSModuleHeader *moduleHeader; - OSModuleInfo *moduleInfo; - OSImportInfo *imp; - - moduleHeader = (OSModuleHeader *)newModule; - moduleHeader->bssSection = 0; - - if (OS_MODULE_VERSION < newModule->version - || 2 <= newModule->version - && (moduleHeader->align && (u32)newModule % moduleHeader->align != 0 - || moduleHeader->bssAlign && (u32)bss % moduleHeader->bssAlign != 0)) { - return FALSE; - } - - EnqueueTail(&__OSModuleInfoList, newModule, link); - newModule->sectionInfoOffset += (u32)moduleHeader; - moduleHeader->relOffset += (u32)moduleHeader; - moduleHeader->impOffset += (u32)moduleHeader; - if (3 <= newModule->version) { - moduleHeader->fixSize += (u32)moduleHeader; - } - for (i = 1; i < newModule->numSections; i++) { - si = &OSGetSectionInfo(newModule)[i]; - if (si->offset != 0) { - si->offset += (u32)moduleHeader; - } - else if (si->size != 0) { - moduleHeader->bssSection = (u8)i; - si->offset = (u32)bss; - bss = (void *)((u32)bss + si->size); - } - } - for (imp = (OSImportInfo *)moduleHeader->impOffset; imp < (OSImportInfo *)(moduleHeader->impOffset + moduleHeader->impSize); imp++) { - imp->offset += (u32)moduleHeader; - } - if (moduleHeader->prologSection != SHN_UNDEF) { - moduleHeader->prolog += OS_SECTIONINFO_OFFSET(OSGetSectionInfo(newModule)[moduleHeader->prologSection].offset); - } - if (moduleHeader->epilogSection != SHN_UNDEF) { - moduleHeader->epilog += OS_SECTIONINFO_OFFSET(OSGetSectionInfo(newModule)[moduleHeader->epilogSection].offset); - } - if (moduleHeader->unresolvedSection != SHN_UNDEF) { - moduleHeader->unresolved += OS_SECTIONINFO_OFFSET(OSGetSectionInfo(newModule)[moduleHeader->unresolvedSection].offset); - } - if (__OSStringTable) { - newModule->nameOffset += (u32)__OSStringTable; - } - - Relocate(0, moduleHeader); - - for (moduleInfo = __OSModuleInfoList.head; moduleInfo; moduleInfo = moduleInfo->link.next) { - Relocate(moduleHeader, (OSModuleHeader *)moduleInfo); - if (moduleInfo != newModule) { - Relocate((OSModuleHeader *)moduleInfo, moduleHeader); - } - } - - if (fixed) { - for (imp = (OSImportInfo *)moduleHeader->impOffset; imp < (OSImportInfo *)(moduleHeader->impOffset + moduleHeader->impSize); imp++) { - if (imp->id == 0 || imp->id == newModule->id) { - moduleHeader->impSize = (u32)((u8 *)imp - (u8 *)moduleHeader->impOffset); - break; - } - } - } - - memset(bss, 0, moduleHeader->bssSize); - - OSNotifyLink(newModule); - - return TRUE; -} - -BOOL OSLink(OSModuleInfo *newModule, void *bss) -{ - return Link(newModule, bss, FALSE); -} - -BOOL OSLinkFixed(OSModuleInfo *newModule, void *bss) -{ - if (OS_MODULE_VERSION < newModule->version || newModule->version < 3) { - return FALSE; - } - return Link(newModule, bss, TRUE); -} -#else -BOOL OSLink(OSModuleInfo *newModule, void *bss) -{ - u32 i; - OSSectionInfo *si; - OSModuleHeader *moduleHeader; - OSModuleInfo *moduleInfo; - OSImportInfo *imp; - - moduleHeader = (OSModuleHeader *)newModule; - - if (OS_MODULE_VERSION < newModule->version - || 2 <= newModule->version - && (moduleHeader->align && (u32)newModule % moduleHeader->align != 0 - || moduleHeader->bssAlign && (u32)bss % moduleHeader->bssAlign != 0)) { - return FALSE; - } - - EnqueueTail(&__OSModuleInfoList, newModule, link); - memset(bss, 0, moduleHeader->bssSize); - newModule->sectionInfoOffset += (u32)moduleHeader; - moduleHeader->relOffset += (u32)moduleHeader; - moduleHeader->impOffset += (u32)moduleHeader; - - for (i = 0; i < newModule->numSections; i++) { - si = &OSGetSectionInfo(newModule)[i]; - if (si->offset != 0) { - si->offset += (u32)moduleHeader; - } - else if (si->size != 0) { - si->offset = (u32)bss; - bss = (void *)((u32)bss + si->size); - } - } - for (imp = (OSImportInfo *)moduleHeader->impOffset; imp < (OSImportInfo *)(moduleHeader->impOffset + moduleHeader->impSize); imp++) { - imp->offset += (u32)moduleHeader; - } - if (moduleHeader->prologSection != SHN_UNDEF) { - moduleHeader->prolog += OS_SECTIONINFO_OFFSET(OSGetSectionInfo(newModule)[moduleHeader->prologSection].offset); - } - if (moduleHeader->epilogSection != SHN_UNDEF) { - moduleHeader->epilog += OS_SECTIONINFO_OFFSET(OSGetSectionInfo(newModule)[moduleHeader->epilogSection].offset); - } - if (moduleHeader->unresolvedSection != SHN_UNDEF) { - moduleHeader->unresolved += OS_SECTIONINFO_OFFSET(OSGetSectionInfo(newModule)[moduleHeader->unresolvedSection].offset); - } - if (__OSStringTable) { - newModule->nameOffset += (u32)__OSStringTable; - } - - Relocate(0, moduleHeader); - - for (moduleInfo = __OSModuleInfoList.head; moduleInfo; moduleInfo = moduleInfo->link.next) { - Relocate(moduleHeader, (OSModuleHeader *)moduleInfo); - if (moduleInfo != newModule) { - Relocate((OSModuleHeader *)moduleInfo, moduleHeader); - } - } - - OSNotifyLink(); - - return TRUE; -} -#endif - -static BOOL Undo(OSModuleHeader *newModule, OSModuleHeader *module) -{ - OSModuleID idNew; - OSImportInfo *imp; - OSRel *rel; - OSSectionInfo *si; - OSSectionInfo *siFlush; - u32 *p; - u32 offset; - u32 x; - - idNew = newModule->info.id; - - for (imp = (OSImportInfo *)module->impOffset; imp < (OSImportInfo *)(module->impOffset + module->impSize); imp++) { - if (imp->id == idNew) { - goto Found; - } - } - return FALSE; - -Found: - siFlush = 0; - for (rel = (OSRel *)imp->offset; rel->type != R_DOLPHIN_END; rel++) { - (u8 *)p += rel->offset; - si = &OSGetSectionInfo(newModule)[rel->section]; - offset = OS_SECTIONINFO_OFFSET(si->offset); - x = 0; - switch (rel->type) { - case R_PPC_NONE: - break; - case R_PPC_ADDR32: - *p = x; - break; - case R_PPC_ADDR24: - *p = (*p & ~0x03fffffc) | (x & 0x03fffffc); - break; - case R_PPC_ADDR16: - *(u16 *)p = (u16)(x & 0xffff); - break; - case R_PPC_ADDR16_LO: - *(u16 *)p = (u16)(x & 0xffff); - break; - case R_PPC_ADDR16_HI: - *(u16 *)p = (u16)(((x >> 16) & 0xffff)); - break; - case R_PPC_ADDR16_HA: - *(u16 *)p = (u16)(((x >> 16) + ((x & 0x8000) ? 1 : 0)) & 0xffff); - break; - case R_PPC_REL24: - if (module->unresolvedSection != SHN_UNDEF) { - x = (u32)module->unresolved - (u32)p; - } - *p = (*p & ~0x03fffffc) | (x & 0x03fffffc); - break; - case R_DOLPHIN_NOP: - break; - case R_DOLPHIN_SECTION: - si = &OSGetSectionInfo(module)[rel->section]; - p = (u32 *)OS_SECTIONINFO_OFFSET(si->offset); - if (siFlush) { - offset = OS_SECTIONINFO_OFFSET(siFlush->offset); - DCFlushRange((void *)offset, siFlush->size); - ICInvalidateRange((void *)offset, siFlush->size); - } - siFlush = (si->offset & OS_SECTIONINFO_EXEC) ? si : 0; - break; - default: - OSReport("OSUnlink: unknown relocation type %3d\n", rel->type); - break; - } - } - - if (siFlush) { - offset = OS_SECTIONINFO_OFFSET(siFlush->offset); - DCFlushRange((void *)offset, siFlush->size); - ICInvalidateRange((void *)offset, siFlush->size); - } - - return TRUE; -} - -BOOL OSUnlink(OSModuleInfo *oldModule) -{ - OSModuleHeader *moduleHeader; - OSModuleInfo *moduleInfo; - - moduleHeader = (OSModuleHeader *)oldModule; - - DequeueItem(&__OSModuleInfoList, oldModule, link); - - for (moduleInfo = __OSModuleInfoList.head; moduleInfo; moduleInfo = moduleInfo->link.next) { - Undo(moduleHeader, (OSModuleHeader *)moduleInfo); - } - - OSNotifyUnlink(); - - return TRUE; -} - -void __OSModuleInit(void) -{ - __OSModuleInfoList.head = __OSModuleInfoList.tail = 0; - __OSStringTable = 0; -} - -OSModuleInfo *OSSearchModule(void *ptr, u32 *section, u32 *offset) -{ - OSModuleInfo *moduleInfo; - OSSectionInfo *sectionInfo; - u32 i; - u32 baseSection; - - if (ptr == NULL) { - return NULL; - } - - for (moduleInfo = __OSModuleInfoList.head; moduleInfo; moduleInfo = moduleInfo->link.next) { - sectionInfo = OSGetSectionInfo(moduleInfo); - for (i = 0; i < moduleInfo->numSections; ++i) { - if (sectionInfo->size) { - baseSection = OS_SECTIONINFO_OFFSET(sectionInfo->offset); - if (baseSection <= (u32)ptr && (u32)ptr < baseSection + sectionInfo->size) { - if (section) { - *section = i; - } - if (offset) { - *offset = (u32)ptr - baseSection; - } - return moduleInfo; - } - } - sectionInfo++; - } - } - - return NULL; -} diff --git a/src/dolphin/os/OSMemory.c b/src/dolphin/os/OSMemory.c deleted file mode 100644 index 7cfda15a..00000000 --- a/src/dolphin/os/OSMemory.c +++ /dev/null @@ -1,230 +0,0 @@ -#include -#include - -#define TRUNC(n, a) (((u32)(n)) & ~((a)-1)) -#define ROUND(n, a) (((u32)(n) + (a)-1) & ~((a)-1)) - -extern OSErrorHandler __OSErrorTable[16]; - -static BOOL OnReset(BOOL final); - -static OSResetFunctionInfo ResetFunctionInfo = { - OnReset, - 127, -}; -u32 OSGetPhysicalMemSize() -{ - return *(u32 *)(OSPhysicalToCached(0x0028)); -} - -u32 OSGetConsoleSimulatedMemSize() -{ - return *(u32 *)(OSPhysicalToCached(0x00F0)); -} - -static BOOL OnReset(BOOL final) -{ - if (final != FALSE) { - __MEMRegs[8] = 0xFF; - __OSMaskInterrupts(0xf0000000); - } - return TRUE; -} - -static void MEMIntrruptHandler(__OSInterrupt interrupt, OSContext *context) -{ - u32 addr; - u32 cause; - - cause = __MEMRegs[0xf]; - addr = (((u32)__MEMRegs[0x12] & 0x3ff) << 16) | __MEMRegs[0x11]; - __MEMRegs[0x10] = 0; - - if (__OSErrorTable[OS_ERROR_PROTECTION]) { - __OSErrorTable[OS_ERROR_PROTECTION](OS_ERROR_PROTECTION, context, cause, addr); - return; - } - - __OSUnhandledException(OS_ERROR_PROTECTION, context, cause, addr); -} - -void OSProtectRange(u32 chan, void *addr, u32 nBytes, u32 control) -{ - BOOL enabled; - u32 start; - u32 end; - u16 reg; - if (4 <= chan) { - return; - } - - control &= OS_PROTECT_CONTROL_RDWR; - - end = (u32)addr + nBytes; - start = TRUNC(addr, 1u << 10); - end = ROUND(end, 1u << 10); - - DCFlushRange((void *)start, end - start); - - enabled = OSDisableInterrupts(); - - __OSMaskInterrupts(OS_INTERRUPTMASK(__OS_INTERRUPT_MEM_0 + chan)); - - __MEMRegs[0 + 2 * chan] = (u16)(start >> 10); - __MEMRegs[1 + 2 * chan] = (u16)(end >> 10); - - reg = __MEMRegs[8]; - reg &= ~(OS_PROTECT_CONTROL_RDWR << 2 * chan); - reg |= control << 2 * chan; - __MEMRegs[8] = reg; - - if (control != OS_PROTECT_CONTROL_RDWR) { - __OSUnmaskInterrupts(OS_INTERRUPTMASK(__OS_INTERRUPT_MEM_0 + chan)); - } - - OSRestoreInterrupts(enabled); -} - -asm void Config24MB() -{ - // clang-format off - nofralloc - - addi r7,r0,0 - - addis r4,r0,0x00000002@ha - addi r4,r4,0x00000002@l - addis r3,r0,0x800001ff@ha - addi r3,r3,0x800001ff@l - - addis r6,r0,0x01000002@ha - addi r6,r6,0x01000002@l - addis r5,r0,0x810000ff@ha - addi r5,r5,0x810000ff@l - - isync - - mtspr dbat0u,r7 - mtspr dbat0l,r4 - mtspr dbat0u,r3 - isync - - mtspr ibat0u,r7 - mtspr ibat0l,r4 - mtspr ibat0u,r3 - isync - - mtspr dbat2u,r7 - mtspr dbat2l,r6 - mtspr dbat2u,r5 - isync - - mtspr ibat2u,r7 - mtspr ibat2l,r6 - mtspr ibat2u,r5 - isync - - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - - mflr r3 - mtsrr0 r3 - rfi - // clang-format on -} - -asm void Config48MB() -{ - // clang-format off - nofralloc - - addi r7,r0,0x0000 - - addis r4,r0,0x00000002@ha - addi r4,r4,0x00000002@l - addis r3,r0,0x800003ff@ha - addi r3,r3,0x800003ff@l - - addis r6,r0,0x02000002@ha - addi r6,r6,0x02000002@l - addis r5,r0,0x820001ff@ha - addi r5,r5,0x820001ff@l - - isync - - mtspr dbat0u,r7 - mtspr dbat0l,r4 - mtspr dbat0u,r3 - isync - - mtspr ibat0u,r7 - mtspr ibat0l,r4 - mtspr ibat0u,r3 - isync - - mtspr dbat2u,r7 - mtspr dbat2l,r6 - mtspr dbat2u,r5 - isync - - mtspr ibat2u,r7 - mtspr ibat2l,r6 - mtspr ibat2u,r5 - isync - - mfmsr r3 - ori r3, r3, 0x30 - mtsrr1 r3 - - mflr r3 - mtsrr0 r3 - rfi - // clang-format on -} - -asm void RealMode(register u32 addr) -{ - // clang-format off - nofralloc - clrlwi r3, r3, 2 - mtsrr0 r3 - mfmsr r3 - rlwinm r3, r3, 0, 28, 25 - mtsrr1 r3 - rfi - // clang-format on -} - -void __OSInitMemoryProtection() -{ - u32 padding[8]; - u32 simulatedSize; - BOOL enabled; - simulatedSize = OSGetConsoleSimulatedMemSize(); - enabled = OSDisableInterrupts(); - if (simulatedSize <= 0x1800000) { - RealMode((u32)&Config24MB); - } - else if (simulatedSize <= 0x3000000) { - RealMode((u32)&Config48MB); - } - - __MEMRegs[16] = 0; - __MEMRegs[8] = 0xFF; - - __OSMaskInterrupts(OS_INTERRUPTMASK_MEM_0 | OS_INTERRUPTMASK_MEM_1 | OS_INTERRUPTMASK_MEM_2 | OS_INTERRUPTMASK_MEM_3); - __OSSetInterruptHandler(__OS_INTERRUPT_MEM_0, MEMIntrruptHandler); - __OSSetInterruptHandler(__OS_INTERRUPT_MEM_1, MEMIntrruptHandler); - __OSSetInterruptHandler(__OS_INTERRUPT_MEM_2, MEMIntrruptHandler); - __OSSetInterruptHandler(__OS_INTERRUPT_MEM_3, MEMIntrruptHandler); - __OSSetInterruptHandler(__OS_INTERRUPT_MEM_ADDRESS, MEMIntrruptHandler); - OSRegisterResetFunction(&ResetFunctionInfo); - - if (OSGetConsoleSimulatedMemSize() < OSGetPhysicalMemSize() && OSGetConsoleSimulatedMemSize() == 0x1800000) { - __MEMRegs[20] = 2; - } - - __OSUnmaskInterrupts(OS_INTERRUPTMASK_MEM_ADDRESS); - OSRestoreInterrupts(enabled); -} diff --git a/src/dolphin/os/OSMessage.c b/src/dolphin/os/OSMessage.c deleted file mode 100644 index 0d364af2..00000000 --- a/src/dolphin/os/OSMessage.c +++ /dev/null @@ -1,91 +0,0 @@ -#include - -void OSInitMessageQueue(OSMessageQueue *mq, OSMessage *msgArray, s32 msgCount) -{ - OSInitThreadQueue(&mq->queueSend); - OSInitThreadQueue(&mq->queueReceive); - mq->msgArray = msgArray; - mq->msgCount = msgCount; - mq->firstIndex = 0; - mq->usedCount = 0; -} -BOOL OSSendMessage(OSMessageQueue *mq, OSMessage msg, s32 flags) -{ - BOOL enabled; - s32 lastIndex; - - enabled = OSDisableInterrupts(); - - while (mq->msgCount <= mq->usedCount) { - if (!(flags & OS_MESSAGE_BLOCK)) { - OSRestoreInterrupts(enabled); - return FALSE; - } - else { - OSSleepThread(&mq->queueSend); - } - } - - lastIndex = (mq->firstIndex + mq->usedCount) % mq->msgCount; - mq->msgArray[lastIndex] = msg; - mq->usedCount++; - - OSWakeupThread(&mq->queueReceive); - - OSRestoreInterrupts(enabled); - return TRUE; -} - -BOOL OSReceiveMessage(OSMessageQueue *mq, OSMessage *msg, s32 flags) -{ - BOOL enabled; - - enabled = OSDisableInterrupts(); - - while (mq->usedCount == 0) { - if (!(flags & OS_MESSAGE_BLOCK)) { - OSRestoreInterrupts(enabled); - return FALSE; - } - else { - OSSleepThread(&mq->queueReceive); - } - } - - if (msg != NULL) { - *msg = mq->msgArray[mq->firstIndex]; - } - mq->firstIndex = (mq->firstIndex + 1) % mq->msgCount; - mq->usedCount--; - - OSWakeupThread(&mq->queueSend); - - OSRestoreInterrupts(enabled); - return TRUE; -} - -BOOL OSJamMessage(OSMessageQueue *mq, OSMessage msg, s32 flags) -{ - BOOL enabled; - - enabled = OSDisableInterrupts(); - - while (mq->msgCount <= mq->usedCount) { - if (!(flags & OS_MESSAGE_BLOCK)) { - OSRestoreInterrupts(enabled); - return FALSE; - } - else { - OSSleepThread(&mq->queueSend); - } - } - - mq->firstIndex = (mq->firstIndex + mq->msgCount - 1) % mq->msgCount; - mq->msgArray[mq->firstIndex] = msg; - mq->usedCount++; - - OSWakeupThread(&mq->queueReceive); - - OSRestoreInterrupts(enabled); - return TRUE; -} diff --git a/src/dolphin/os/OSMutex.c b/src/dolphin/os/OSMutex.c deleted file mode 100644 index 986b81e0..00000000 --- a/src/dolphin/os/OSMutex.c +++ /dev/null @@ -1,244 +0,0 @@ -#include "dolphin/os.h" - -#define PushTail(queue, mutex, link) \ - do { \ - OSMutex *__prev; \ - \ - __prev = (queue)->tail; \ - if (__prev == NULL) \ - (queue)->head = (mutex); \ - else \ - __prev->link.next = (mutex); \ - (mutex)->link.prev = __prev; \ - (mutex)->link.next = NULL; \ - (queue)->tail = (mutex); \ - } while (0) - -#define PopHead(queue, mutex, link) \ - do { \ - OSMutex *__next; \ - \ - (mutex) = (queue)->head; \ - __next = (mutex)->link.next; \ - if (__next == NULL) \ - (queue)->tail = NULL; \ - else \ - __next->link.prev = NULL; \ - (queue)->head = __next; \ - } while (0) - -#define PopItem(queue, mutex, link) \ - do { \ - OSMutex *__next; \ - OSMutex *__prev; \ - \ - __next = (mutex)->link.next; \ - __prev = (mutex)->link.prev; \ - \ - if (__next == NULL) \ - (queue)->tail = __prev; \ - else \ - __next->link.prev = __prev; \ - \ - if (__prev == NULL) \ - (queue)->head = __next; \ - else \ - __prev->link.next = __next; \ - } while (0) - -void OSInitMutex(OSMutex *mutex) -{ - OSInitThreadQueue(&mutex->queue); - mutex->thread = 0; - mutex->count = 0; -} - -void OSLockMutex(OSMutex *mutex) -{ - BOOL enabled = OSDisableInterrupts(); - OSThread *currentThread = OSGetCurrentThread(); - OSThread *ownerThread; - - while (TRUE) { - ownerThread = ((OSMutex *)mutex)->thread; - if (ownerThread == 0) { - mutex->thread = currentThread; - mutex->count++; - PushTail(¤tThread->queueMutex, mutex, link); - break; - } - else if (ownerThread == currentThread) { - mutex->count++; - break; - } - else { - currentThread->mutex = mutex; - __OSPromoteThread(mutex->thread, currentThread->priority); - OSSleepThread(&mutex->queue); - currentThread->mutex = 0; - } - } - OSRestoreInterrupts(enabled); -} - -void OSUnlockMutex(OSMutex *mutex) -{ - BOOL enabled = OSDisableInterrupts(); - OSThread *currentThread = OSGetCurrentThread(); - - if (mutex->thread == currentThread && --mutex->count == 0) { - PopItem(¤tThread->queueMutex, mutex, link); - mutex->thread = NULL; - if (currentThread->priority < currentThread->base) { - currentThread->priority = __OSGetEffectivePriority(currentThread); - } - - OSWakeupThread(&mutex->queue); - } - OSRestoreInterrupts(enabled); -} - -void __OSUnlockAllMutex(OSThread *thread) -{ - OSMutex *mutex; - - while (thread->queueMutex.head) { - PopHead(&thread->queueMutex, mutex, link); - mutex->count = 0; - mutex->thread = NULL; - OSWakeupThread(&mutex->queue); - } -} - -BOOL OSTryLockMutex(OSMutex *mutex) -{ - BOOL enabled = OSDisableInterrupts(); - OSThread *currentThread = OSGetCurrentThread(); - BOOL locked; - if (mutex->thread == 0) { - mutex->thread = currentThread; - mutex->count++; - PushTail(¤tThread->queueMutex, mutex, link); - locked = TRUE; - } - else if (mutex->thread == currentThread) { - mutex->count++; - locked = TRUE; - } - else { - locked = FALSE; - } - OSRestoreInterrupts(enabled); - return locked; -} - -void OSInitCond(OSCond *cond) -{ - OSInitThreadQueue(&cond->queue); -} - -void OSWaitCond(OSCond *cond, OSMutex *mutex) -{ - BOOL enabled = OSDisableInterrupts(); - OSThread *currentThread = OSGetCurrentThread(); - s32 count; - - if (mutex->thread == currentThread) { - count = mutex->count; - mutex->count = 0; - PopItem(¤tThread->queueMutex, mutex, link); - mutex->thread = NULL; - - if (currentThread->priority < currentThread->base) { - currentThread->priority = __OSGetEffectivePriority(currentThread); - } - - OSDisableScheduler(); - OSWakeupThread(&mutex->queue); - OSEnableScheduler(); - OSSleepThread(&cond->queue); - OSLockMutex(mutex); - mutex->count = count; - } - - OSRestoreInterrupts(enabled); -} - -void OSSignalCond(OSCond *cond) -{ - OSWakeupThread(&cond->queue); -} - -static BOOL IsMember(OSMutexQueue *queue, OSMutex *mutex) -{ - OSMutex *member; - - for (member = queue->head; member; member = member->link.next) { - if (mutex == member) - return TRUE; - } - return FALSE; -} - -BOOL __OSCheckMutex(OSMutex *mutex) -{ - OSThread *thread; - OSThreadQueue *queue; - OSPriority priority = 0; - - queue = &mutex->queue; - if (!(queue->head == NULL || queue->head->link.prev == NULL)) - return FALSE; - if (!(queue->tail == NULL || queue->tail->link.next == NULL)) - return FALSE; - for (thread = queue->head; thread; thread = thread->link.next) { - if (!(thread->link.next == NULL || thread == thread->link.next->link.prev)) - return FALSE; - if (!(thread->link.prev == NULL || thread == thread->link.prev->link.next)) - return FALSE; - - if (thread->state != OS_THREAD_STATE_WAITING) - return FALSE; - - if (thread->priority < priority) - return FALSE; - priority = thread->priority; - } - - if (mutex->thread) { - if (mutex->count <= 0) - return FALSE; - } - else { - if (0 != mutex->count) - return FALSE; - } - - return TRUE; -} - -BOOL __OSCheckDeadLock(OSThread *thread) -{ - OSMutex *mutex; - - mutex = thread->mutex; - while (mutex && mutex->thread) { - if (mutex->thread == thread) - return TRUE; - mutex = mutex->thread->mutex; - } - return FALSE; -} - -BOOL __OSCheckMutexes(OSThread *thread) -{ - OSMutex *mutex; - - for (mutex = thread->queueMutex.head; mutex; mutex = mutex->link.next) { - if (mutex->thread != thread) - return FALSE; - if (!__OSCheckMutex(mutex)) - return FALSE; - } - return TRUE; -} diff --git a/src/dolphin/os/OSReboot.c b/src/dolphin/os/OSReboot.c deleted file mode 100644 index 5331e90a..00000000 --- a/src/dolphin/os/OSReboot.c +++ /dev/null @@ -1,137 +0,0 @@ -#include -#include -#include -#include -#include -#include - -typedef struct ApploaderHeader { - // total size: 0x20 - char date[16]; // offset 0x0, size 0x10 - u32 entry; // offset 0x10, size 0x4 - u32 size; // offset 0x14, size 0x4 - u32 rebootSize; // offset 0x18, size 0x4 - u32 reserved2; // offset 0x1C, size 0x4 -} ApploaderHeader; - -static ApploaderHeader Header ATTRIBUTE_ALIGN(32); - -extern void *__OSSavedRegionStart; -extern void *__OSSavedRegionEnd; - -static void *SaveStart = NULL; -static void *SaveEnd = NULL; - -volatile u8 DAT_800030e2 : 0x800030e2; - -extern void *BOOT_REGION_START AT_ADDRESS(0x812FDFF0); //(*(u32 *)0x812fdff0) -extern void *BOOT_REGION_END AT_ADDRESS(0x812FDFEC); //(*(u32 *)0x812fdfec) -extern u32 UNK_HOT_RESET1 AT_ADDRESS(0x817ffff8); -extern u32 UNK_HOT_RESET2 AT_ADDRESS(0x817ffffc); -extern u32 OS_RESET_CODE AT_ADDRESS(0x800030F0); -extern u8 OS_REBOOT_BOOL AT_ADDRESS(0x800030E2); // unknown function, set to true by __OSReboot -extern u32 UNK_817FFFF8 AT_ADDRESS(0x817FFFF8); -extern u32 UNK_817FFFFC AT_ADDRESS(0x817FFFFC); - -static volatile BOOL Prepared = FALSE; - -extern void __DVDPrepareResetAsync(DVDCBCallback callback); -extern BOOL DVDCheckDisk(void); -extern BOOL DVDReadAbsAsyncForBS(DVDCommandBlock *block, void *addr, s32 length, s32 offset, DVDCBCallback callback); - -#pragma dont_inline on -// peephole bug with mwcc -static asm void myFunc() { } -static void Run(register void (*addr)()) -{ - OSDisableInterrupts(); - ICFlashInvalidate(); - // clang-format off - asm { - sync - isync - mtlr addr - blr - } - // clang-format on -} -#pragma dont_inline reset - -static void Callback() -{ - Prepared = TRUE; -} - -inline void ReadApploader(DVDCommandBlock *dvdCmd, void *addr, u32 offset, u32 numBytes) -{ - /* Not sure if this inline is correct - might need to call other inlines */ - while (Prepared == FALSE) { } - DVDReadAbsAsyncForBS(dvdCmd, addr, numBytes, offset + 0x2440, NULL); - - while (TRUE) { - switch (dvdCmd->state) { - case 0: - break; - case 1: - default: - continue; - case -1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 11: - __OSDoHotReset(UNK_817FFFFC); - continue; - } - break; - } -} - -void __OSReboot(u32 resetCode, u32 bootDol) -{ - OSContext exceptionContext; - DVDCommandBlock dvdCmd; - DVDCommandBlock dvdCmd2; - u32 numBytes; - u32 offset; - - OSDisableInterrupts(); - - UNK_817FFFFC = 0; - UNK_817FFFF8 = 0; - OS_REBOOT_BOOL = TRUE; - BOOT_REGION_START = SaveStart; - BOOT_REGION_END = SaveEnd; - OSClearContext(&exceptionContext); - OSSetCurrentContext(&exceptionContext); - DVDInit(); - DVDSetAutoInvalidation(TRUE); - - __DVDPrepareResetAsync(Callback); - - if (!DVDCheckDisk()) { - __OSDoHotReset(UNK_817FFFFC); - } - - __OSMaskInterrupts(0xffffffe0); - __OSUnmaskInterrupts(0x400); - - OSEnableInterrupts(); - - offset = 0; - numBytes = 32; - ReadApploader(&dvdCmd, (void *)&Header, offset, numBytes); - - offset = Header.size + 0x20; - numBytes = OSRoundUp32B(Header.rebootSize); - ReadApploader(&dvdCmd2, OS_BOOTROM_ADDR, offset, numBytes); - - ICInvalidateRange(OS_BOOTROM_ADDR, numBytes); - Run(OS_BOOTROM_ADDR); -} diff --git a/src/dolphin/os/OSReset.c b/src/dolphin/os/OSReset.c deleted file mode 100644 index c4ee2c9b..00000000 --- a/src/dolphin/os/OSReset.c +++ /dev/null @@ -1,203 +0,0 @@ -#include -#include -#include -#include -#include - -#include "string.h" - -volatile u8 DAT_800030e2 : 0x800030e2; -typedef struct Unk { - u8 pad[0x24]; - u32 resetCode; -} Unk; -volatile Unk DAT_cc003000 : 0xcc003000; - -typedef struct Unk2 { - u16 _0; - u16 _2; -} Unk2; - -volatile Unk2 DAT_cc002000 : 0xcc002000; - -typedef struct OSResetQueue { - OSResetFunctionInfo *first; - OSResetFunctionInfo *last; -} OSResetQueue; - -OSResetQueue ResetFunctionQueue; - -void OSRegisterResetFunction(OSResetFunctionInfo *func) -{ - OSResetFunctionInfo *tmp; - OSResetFunctionInfo *iter; - - for (iter = ResetFunctionQueue.first; iter && iter->priority <= func->priority; iter = iter->next) - ; - - if (iter == NULL) { - tmp = ResetFunctionQueue.last; - if (tmp == NULL) { - ResetFunctionQueue.first = func; - } - else { - tmp->next = func; - } - func->prev = tmp; - func->next = NULL; - ResetFunctionQueue.last = func; - return; - } - - func->next = iter; - tmp = iter->prev; - iter->prev = func; - func->prev = tmp; - if (tmp == NULL) { - ResetFunctionQueue.first = func; - return; - } - tmp->next = func; -} - -BOOL __OSCallResetFunctions(u32 arg0) -{ - OSResetFunctionInfo *iter; - s32 retCode = 0; - - for (iter = ResetFunctionQueue.first; iter != NULL; iter = iter->next) { - retCode |= !iter->func(arg0); - } - retCode |= !__OSSyncSram(); - if (retCode) { - return 0; - } - return 1; -} - -asm void Reset(register s32 resetCode) -{ - // clang-format off - nofralloc - b lbl_8038315C -lbl_80383140: - mfspr r8, HID0 - ori r8, r8, 8 - mtspr HID0, r8 - isync - sync - nop - b lbl_80383160 -lbl_8038315C: - b lbl_8038317C -lbl_80383160: - mftb r5, 268 -lbl_80383164: - mftb r6, 268 - subf r7, r5, r6 - cmplwi r7, 0x1124 - blt lbl_80383164 - nop - b lbl_80383180 -lbl_8038317C: - b lbl_8038319C -lbl_80383180: - lis r8, 0xCC003000@h - ori r8, r8, 0xCC003000@l - li r4, 3 - stw r4, 0x24(r8) - stw r3, 0x24(r8) - nop - b lbl_803831A0 -lbl_8038319C: - b lbl_803831A8 -lbl_803831A0: - nop - b lbl_803831A0 -lbl_803831A8: - b lbl_80383140 - // clang-format on -} - -OSThreadQueue __OSActiveThreadQueue : (OS_BASE_CACHED | 0x00DC); - -static void KillThreads(void) -{ - OSThread *thread; - OSThread *next; - - for (thread = __OSActiveThreadQueue.head; thread; thread = next) { - next = thread->linkActive.next; - switch (thread->state) { - case 1: - case 4: - OSCancelThread(thread); - break; - default: - break; - } - } -} - -void __OSDoHotReset(s32 arg0) -{ - OSDisableInterrupts(); - __VIRegs[1] = 0; - ICFlashInvalidate(); - Reset(arg0 * 8); -} - -void OSResetSystem(int reset, u32 resetCode, BOOL forceMenu) -{ - BOOL rc; - BOOL disableRecalibration; - u32 unk[3]; - OSDisableScheduler(); - __OSStopAudioSystem(); - - if (reset == OS_RESET_SHUTDOWN) { - disableRecalibration = __PADDisableRecalibration(TRUE); - } - - while (!__OSCallResetFunctions(FALSE)) - ; - - if (reset == OS_RESET_HOTRESET && forceMenu) { - OSSram *sram; - - sram = __OSLockSram(); - sram->flags |= 0x40; - __OSUnlockSram(TRUE); - - while (!__OSSyncSram()) - ; - } - OSDisableInterrupts(); - __OSCallResetFunctions(TRUE); - LCDisable(); - if (reset == OS_RESET_HOTRESET) { - __OSDoHotReset(resetCode); - } - else if (reset == OS_RESET_RESTART) { - KillThreads(); - OSEnableScheduler(); - __OSReboot(resetCode, forceMenu); - } - KillThreads(); - memset(OSPhysicalToCached(0x40), 0, 0xcc - 0x40); - memset(OSPhysicalToCached(0xd4), 0, 0xe8 - 0xd4); - memset(OSPhysicalToCached(0xf4), 0, 0xf8 - 0xf4); - memset(OSPhysicalToCached(0x3000), 0, 0xc0); - memset(OSPhysicalToCached(0x30c8), 0, 0xd4 - 0xc8); - memset(OSPhysicalToCached(0x30e2), 0, 1); - - __PADDisableRecalibration(disableRecalibration); -} - -u32 OSGetResetCode(void) -{ - if (DAT_800030e2 != 0) { - return 0x80000000; - } - return ((DAT_cc003000.resetCode & ~7) >> 3); -} diff --git a/src/dolphin/os/OSResetSW.c b/src/dolphin/os/OSResetSW.c deleted file mode 100644 index 59e70494..00000000 --- a/src/dolphin/os/OSResetSW.c +++ /dev/null @@ -1,89 +0,0 @@ -#include - -extern OSTime __OSGetSystemTime(); - -u8 GameChoice : (OS_BASE_CACHED | 0x30E3); - -vu32 __PIRegs[12] : 0xCC003000; - -extern OSTime __OSStartTime; - -static OSResetCallback ResetCallback; -static BOOL Down; -static BOOL LastState; -static OSTime HoldUp; -static OSTime HoldDown; - -void __OSResetSWInterruptHandler(__OSInterrupt interrupt, OSContext* context) { - OSResetCallback callback; - - HoldDown = __OSGetSystemTime(); - while (__OSGetSystemTime() - HoldDown < OSMicrosecondsToTicks(100) && - !(__PIRegs[0] & 0x00010000)) { - ; - } - if (!(__PIRegs[0] & 0x00010000)) { - LastState = Down = TRUE; - __OSMaskInterrupts(OS_INTERRUPTMASK_PI_RSW); - if (ResetCallback) { - callback = ResetCallback; - ResetCallback = NULL; - callback(); - } - } - __PIRegs[0] = 2; -} - -BOOL OSGetResetButtonState(void) { - BOOL enabled; - BOOL state; - u32 reg; - OSTime now; - - enabled = OSDisableInterrupts(); - - now = __OSGetSystemTime(); - - reg = __PIRegs[0]; - if (!(reg & 0x00010000)) { - if (!Down) { - Down = TRUE; - state = HoldUp ? TRUE : FALSE; - HoldDown = now; - } else { - state = (HoldUp || (OSMicrosecondsToTicks(100) < now - HoldDown)) ? TRUE : FALSE; - } - } else if (Down) { - Down = FALSE; - state = LastState; - if (state) { - HoldUp = now; - } else { - HoldUp = 0; - } - } else if (HoldUp && (now - HoldUp < OSMillisecondsToTicks(40))) { - state = TRUE; - } else { - state = FALSE; - HoldUp = 0; - } - - LastState = state; - - if (GameChoice & 0x3f) { - OSTime fire = (GameChoice & 0x3f) * 60; - fire = __OSStartTime + OSSecondsToTicks(fire); - if (fire < now) { - now -= fire; - now = OSTicksToSeconds(now) / 2; - if ((now & 1) == 0) { - state = TRUE; - } else { - state = FALSE; - } - } - } - - OSRestoreInterrupts(enabled); - return state; -} diff --git a/src/dolphin/os/OSRtc.c b/src/dolphin/os/OSRtc.c deleted file mode 100644 index e3d2da41..00000000 --- a/src/dolphin/os/OSRtc.c +++ /dev/null @@ -1,363 +0,0 @@ -#include -#include -#include - -#define RTC_CMD_READ 0x20000000 -#define RTC_CMD_WRITE 0xa0000000 - -#define RTC_SRAM_ADDR 0x00000100 -#define RTC_SRAM_SIZE 64 - -#define RTC_CHAN 0 -#define RTC_DEV 1 -#define RTC_FREQ 3 // EXI_FREQ_8M - -typedef struct SramControlBlock { - u8 sram[RTC_SRAM_SIZE]; - u32 offset; - BOOL enabled; - BOOL locked; - BOOL sync; - void (*callback)(void); -} SramControlBlock; - -static SramControlBlock Scb ATTRIBUTE_ALIGN(32); - -static BOOL GetRTC(u32 *rtc) -{ - BOOL err; - u32 cmd; - - if (!EXILock(RTC_CHAN, RTC_DEV, 0)) { - return FALSE; - } - if (!EXISelect(RTC_CHAN, RTC_DEV, RTC_FREQ)) { - EXIUnlock(RTC_CHAN); - return FALSE; - } - - cmd = RTC_CMD_READ; - err = FALSE; - err |= !EXIImm(RTC_CHAN, &cmd, 4, 1, NULL); - err |= !EXISync(RTC_CHAN); - err |= !EXIImm(RTC_CHAN, &cmd, 4, 0, NULL); - err |= !EXISync(RTC_CHAN); - err |= !EXIDeselect(RTC_CHAN); - EXIUnlock(RTC_CHAN); - - *rtc = cmd; - - return !err; -} - -BOOL __OSGetRTC(u32 *rtc) -{ - BOOL err; - u32 t0; - u32 t1; - int i; - - for (i = 0; i < 16; i++) { - err = FALSE; - err |= !GetRTC(&t0); - err |= !GetRTC(&t1); - if (err) { - break; - } - if (t0 == t1) { - *rtc = t0; - return TRUE; - } - } - return FALSE; -} - -BOOL __OSSetRTC(u32 rtc) -{ - BOOL err; - u32 cmd; - - if (!EXILock(RTC_CHAN, RTC_DEV, 0)) { - return FALSE; - } - if (!EXISelect(RTC_CHAN, RTC_DEV, RTC_FREQ)) { - EXIUnlock(RTC_CHAN); - return FALSE; - } - - cmd = RTC_CMD_WRITE; - err = FALSE; - err |= !EXIImm(RTC_CHAN, &cmd, 4, 1, NULL); - err |= !EXISync(RTC_CHAN); - err |= !EXIImm(RTC_CHAN, &rtc, 4, 1, NULL); - err |= !EXISync(RTC_CHAN); - err |= !EXIDeselect(RTC_CHAN); - EXIUnlock(RTC_CHAN); - - return !err; -} - -static BOOL ReadSram(void *buffer) -{ - BOOL err; - u32 cmd; - - DCInvalidateRange(buffer, RTC_SRAM_SIZE); - - if (!EXILock(RTC_CHAN, RTC_DEV, 0)) { - return FALSE; - } - if (!EXISelect(RTC_CHAN, RTC_DEV, RTC_FREQ)) { - EXIUnlock(RTC_CHAN); - return FALSE; - } - - cmd = RTC_CMD_READ | RTC_SRAM_ADDR; - err = FALSE; - err |= !EXIImm(RTC_CHAN, &cmd, 4, 1, NULL); - err |= !EXISync(RTC_CHAN); - err |= !EXIDma(RTC_CHAN, buffer, RTC_SRAM_SIZE, 0, NULL); - err |= !EXISync(RTC_CHAN); - err |= !EXIDeselect(RTC_CHAN); - EXIUnlock(RTC_CHAN); - - return !err; -} - -BOOL WriteSram(void *buffer, u32 offset, u32 size); -static void WriteSramCallback(s32 chan, OSContext *context) -{ - Scb.sync = WriteSram(Scb.sram + Scb.offset, Scb.offset, RTC_SRAM_SIZE - Scb.offset); - if (Scb.sync) { - Scb.offset = RTC_SRAM_SIZE; - } -} - -BOOL WriteSram(void *buffer, u32 offset, u32 size) -{ - BOOL err; - u32 cmd; - - if (!EXILock(RTC_CHAN, RTC_DEV, WriteSramCallback)) { - return FALSE; - } - if (!EXISelect(RTC_CHAN, RTC_DEV, RTC_FREQ)) { - EXIUnlock(RTC_CHAN); - return FALSE; - } - - offset <<= 6; - cmd = RTC_CMD_WRITE | RTC_SRAM_ADDR + offset; - err = FALSE; - err |= !EXIImm(RTC_CHAN, &cmd, 4, 1, NULL); - err |= !EXISync(RTC_CHAN); - err |= !EXIImmEx(RTC_CHAN, buffer, (s32)size, 1); - err |= !EXIDeselect(RTC_CHAN); - EXIUnlock(RTC_CHAN); - - return !err; -} - -void __OSInitSram() -{ - Scb.locked = Scb.enabled = FALSE; - Scb.sync = ReadSram(Scb.sram); - Scb.offset = RTC_SRAM_SIZE; -} - -static void *LockSram(u32 offset) -{ - BOOL enabled; - enabled = OSDisableInterrupts(); - - if (Scb.locked != FALSE) { - OSRestoreInterrupts(enabled); - return NULL; - } - - Scb.enabled = enabled; - Scb.locked = TRUE; - - return Scb.sram + offset; -} - -OSSram *__OSLockSram() -{ - return LockSram(0); -} - -OSSramEx *__OSLockSramEx() -{ - return LockSram(sizeof(OSSram)); -} - -static BOOL UnlockSram(BOOL commit, u32 offset) -{ - u16 *p; - - if (commit) { - if (offset == 0) { - OSSram *sram = (OSSram *)Scb.sram; - - if (2u < (sram->flags & 3)) { - sram->flags &= ~3; - } - - sram->checkSum = sram->checkSumInv = 0; - for (p = (u16 *)&sram->counterBias; p < (u16 *)(Scb.sram + sizeof(OSSram)); p++) { - sram->checkSum += *p; - sram->checkSumInv += ~*p; - } - } - - if (offset < Scb.offset) { - Scb.offset = offset; - } - - Scb.sync = WriteSram(Scb.sram + Scb.offset, Scb.offset, RTC_SRAM_SIZE - Scb.offset); - if (Scb.sync) { - Scb.offset = RTC_SRAM_SIZE; - } - } - Scb.locked = FALSE; - OSRestoreInterrupts(Scb.enabled); - return Scb.sync; -} - -BOOL __OSUnlockSram(BOOL commit) -{ - return UnlockSram(commit, 0); -} - -BOOL __OSUnlockSramEx(BOOL commit) -{ - return UnlockSram(commit, sizeof(OSSram)); -} - -BOOL __OSSyncSram() -{ - return Scb.sync; -} - -BOOL __OSReadROM(void *buffer, s32 length, s32 offset) -{ - BOOL err; - u32 cmd; - - DCInvalidateRange(buffer, (u32)length); - - if (!EXILock(RTC_CHAN, RTC_DEV, 0)) { - return FALSE; - } - if (!EXISelect(RTC_CHAN, RTC_DEV, RTC_FREQ)) { - EXIUnlock(RTC_CHAN); - return FALSE; - } - - cmd = (u32)(offset << 6); - err = FALSE; - err |= !EXIImm(RTC_CHAN, &cmd, 4, 1, NULL); - err |= !EXISync(RTC_CHAN); - err |= !EXIDma(RTC_CHAN, buffer, length, 0, NULL); - err |= !EXISync(RTC_CHAN); - err |= !EXIDeselect(RTC_CHAN); - EXIUnlock(RTC_CHAN); - - return !err; -} - -inline OSSram *__OSLockSramHACK() -{ - return LockSram(0); -} -u32 OSGetSoundMode() -{ - OSSram *sram; - u32 mode; - - sram = __OSLockSramHACK(); - mode = (sram->flags & 0x4) ? OS_SOUND_MODE_STEREO : OS_SOUND_MODE_MONO; - __OSUnlockSram(FALSE); - return mode; -} - -void OSSetSoundMode(u32 mode) -{ - OSSram *sram; - mode <<= 2; - mode &= 4; - - sram = __OSLockSramHACK(); - if (mode == (sram->flags & 4)) { - __OSUnlockSram(FALSE); - return; - } - - sram->flags &= ~4; - sram->flags |= mode; - __OSUnlockSram(TRUE); -} - -u32 OSGetProgressiveMode() -{ - OSSram *sram; - u32 mode; - - sram = __OSLockSramHACK(); - mode = (sram->flags & 0x80) >> 7; - __OSUnlockSram(FALSE); - return mode; -} - -void OSSetProgressiveMode(u32 mode) -{ - OSSram *sram; - mode <<= 7; - mode &= 0x80; - - sram = __OSLockSramHACK(); - if (mode == (sram->flags & 0x80)) { - __OSUnlockSram(FALSE); - return; - } - - sram->flags &= ~0x80; - sram->flags |= mode; - __OSUnlockSram(TRUE); -} - -u8 OSGetLanguage() -{ - OSSram *sram; - u8 language; - - sram = __OSLockSramHACK(); - language = sram->language; - __OSUnlockSram(FALSE); - return language; -} - -u16 OSGetWirelessID(s32 channel) -{ - OSSramEx *sram; - u16 id; - - sram = __OSLockSramEx(); - id = sram->wirelessPadID[channel]; - __OSUnlockSramEx(FALSE); - return id; -} - -void OSSetWirelessID(s32 channel, u16 id) -{ - OSSramEx *sram; - - sram = __OSLockSramEx(); - if (sram->wirelessPadID[channel] != id) { - sram->wirelessPadID[channel] = id; - __OSUnlockSramEx(TRUE); - return; - } - - __OSUnlockSramEx(FALSE); -} diff --git a/src/dolphin/os/OSStopwatch.c b/src/dolphin/os/OSStopwatch.c deleted file mode 100644 index 80e7dbdd..00000000 --- a/src/dolphin/os/OSStopwatch.c +++ /dev/null @@ -1,61 +0,0 @@ -#include -#include - -void OSInitStopwatch(struct OSStopwatch *sw, char *name) -{ - sw->name = name; - sw->total = 0; - sw->hits = 0; - sw->min = 0x00000000FFFFFFFF; - sw->max = 0; -} - -void OSStartStopwatch(struct OSStopwatch *sw) -{ - sw->running = 1; - sw->last = OSGetTime(); -} - -void OSStopStopwatch(struct OSStopwatch *sw) -{ - long long interval; - - if (sw->running != 0) { - interval = OSGetTime() - sw->last; - sw->total += interval; - sw->running = 0; - sw->hits++; - if (sw->max < interval) { - sw->max = interval; - } - if (interval < sw->min) { - sw->min = interval; - } - } -} - -long long OSCheckStopwatch(struct OSStopwatch *sw) -{ - long long currTotal; - - currTotal = sw->total; - if (sw->running != 0) { - currTotal += OSGetTime() - sw->last; - } - return currTotal; -} - -void OSResetStopwatch(struct OSStopwatch *sw) -{ - OSInitStopwatch(sw, sw->name); -} - -void OSDumpStopwatch(struct OSStopwatch *sw) -{ - OSReport("Stopwatch [%s] :\n", sw->name); - OSReport("\tTotal= %lld us\n", OSTicksToMicroseconds(sw->total)); - OSReport("\tHits = %d \n", sw->hits); - OSReport("\tMin = %lld us\n", OSTicksToMicroseconds(sw->min)); - OSReport("\tMax = %lld us\n", OSTicksToMicroseconds(sw->max)); - OSReport("\tMean = %lld us\n", OSTicksToMicroseconds(sw->total / sw->hits)); -} diff --git a/src/dolphin/os/OSSync.c b/src/dolphin/os/OSSync.c deleted file mode 100644 index b5aeccf7..00000000 --- a/src/dolphin/os/OSSync.c +++ /dev/null @@ -1,29 +0,0 @@ -#include "string.h" -#include "dolphin/PPCArch.h" -#include "dolphin/os.h" - -void __OSSystemCallVectorStart(); -void __OSSystemCallVectorEnd(); -static asm void SystemCallVector() { - nofralloc -entry __OSSystemCallVectorStart - mfspr r9, HID0 - ori r10, r9, 8 - mtspr HID0, r10 - isync - sync - mtspr HID0, r9 - - rfi - -entry __OSSystemCallVectorEnd - nop -} - -void __OSInitSystemCall() { - void* addr = OSPhysicalToCached(0x00C00); - memcpy(addr, __OSSystemCallVectorStart, (size_t)__OSSystemCallVectorEnd - (size_t)__OSSystemCallVectorStart); - DCFlushRangeNoSync(addr, 0x100); - __sync(); - ICInvalidateRange(addr, 0x100); -} diff --git a/src/dolphin/os/OSThread.c b/src/dolphin/os/OSThread.c deleted file mode 100644 index c9f4348d..00000000 --- a/src/dolphin/os/OSThread.c +++ /dev/null @@ -1,552 +0,0 @@ -#include - -static vu32 RunQueueBits; -static volatile BOOL RunQueueHint; -static vs32 Reschedule; - -static OSThreadQueue RunQueue[32]; -static OSThread IdleThread; -static OSThread DefaultThread; -static OSContext IdleContext; -static void DefaultSwitchThreadCallback(OSThread *from, OSThread *to); -static OSSwitchThreadCallback SwitchThreadCallback = DefaultSwitchThreadCallback; - -OSThread *__OSCurrentThread : OS_BASE_CACHED + 0x00E4; -OSThreadQueue __OSActiveThreadQueue : OS_BASE_CACHED + 0x00DC; -volatile OSContext __OSCurrentContext : OS_BASE_CACHED + 0x00D4; -volatile OSContext *__OSFPUContext : OS_BASE_CACHED + 0x00D8; - -static void DefaultSwitchThreadCallback(OSThread *from, OSThread *to) { } - -extern u8 _stack_addr[]; -extern u8 _stack_end[]; - -#define AddTail(queue, thread, link) \ - do { \ - OSThread *prev; \ - \ - prev = (queue)->tail; \ - if (prev == NULL) \ - (queue)->head = (thread); \ - else \ - prev->link.next = (thread); \ - (thread)->link.prev = prev; \ - (thread)->link.next = NULL; \ - (queue)->tail = (thread); \ - } while (0) - -#define AddPrio(queue, thread, link) \ - do { \ - OSThread *prev, *next; \ - \ - for (next = (queue)->head; next && next->priority <= thread->priority; next = next->link.next) \ - ; \ - if (next == NULL) \ - AddTail(queue, thread, link); \ - else { \ - (thread)->link.next = next; \ - prev = next->link.prev; \ - next->link.prev = (thread); \ - (thread)->link.prev = prev; \ - if (prev == NULL) \ - (queue)->head = (thread); \ - else \ - prev->link.next = (thread); \ - } \ - } while (0) - -#define RemoveItem(queue, thread, link) \ - do { \ - OSThread *next, *prev; \ - next = (thread)->link.next; \ - prev = (thread)->link.prev; \ - if (next == NULL) \ - (queue)->tail = prev; \ - else \ - next->link.prev = prev; \ - if (prev == NULL) \ - (queue)->head = next; \ - else \ - prev->link.next = next; \ - } while (0) - -#define RemoveHead(queue, thread, link) \ - do { \ - OSThread *__next; \ - (thread) = (queue)->head; \ - __next = (thread)->link.next; \ - if (__next == NULL) \ - (queue)->tail = NULL; \ - else \ - __next->link.prev = NULL; \ - (queue)->head = __next; \ - } while (0) - -static inline void OSInitMutexQueue(OSMutexQueue *queue) -{ - queue->head = queue->tail = NULL; -} - -static inline void OSSetCurrentThread(OSThread *thread) -{ - __OSCurrentThread = thread; -} - -void __OSThreadInit() -{ - OSThread *thread = &DefaultThread; - int prio; - - thread->state = OS_THREAD_STATE_RUNNING; - thread->attr = OS_THREAD_ATTR_DETACH; - thread->priority = thread->base = 16; - thread->suspend = 0; - thread->val = (void *)-1; - thread->mutex = NULL; - OSInitThreadQueue(&thread->queueJoin); - OSInitMutexQueue(&thread->queueMutex); - - __OSFPUContext = &thread->context; - - OSClearContext(&thread->context); - OSSetCurrentContext(&thread->context); - thread->stackBase = (void *)_stack_addr; - thread->stackEnd = (void *)_stack_end; - *(thread->stackEnd) = OS_THREAD_STACK_MAGIC; - - OSSetCurrentThread(thread); - RunQueueBits = 0; - RunQueueHint = FALSE; - for (prio = OS_PRIORITY_MIN; prio <= OS_PRIORITY_MAX; ++prio) { - OSInitThreadQueue(&RunQueue[prio]); - } - - OSInitThreadQueue(&__OSActiveThreadQueue); - AddTail(&__OSActiveThreadQueue, thread, linkActive); - OSClearContext(&IdleContext); - Reschedule = 0; -} - -void OSInitThreadQueue(OSThreadQueue *queue) -{ - queue->head = queue->tail = NULL; -} - -OSThread *OSGetCurrentThread() -{ - return __OSCurrentThread; -} - -s32 OSDisableScheduler() -{ - BOOL enabled; - s32 count; - - enabled = OSDisableInterrupts(); - count = Reschedule++; - OSRestoreInterrupts(enabled); - return count; -} - -s32 OSEnableScheduler() -{ - BOOL enabled; - s32 count; - - enabled = OSDisableInterrupts(); - count = Reschedule--; - OSRestoreInterrupts(enabled); - return count; -} - -static void SetRun(OSThread *thread) -{ - thread->queue = &RunQueue[thread->priority]; - AddTail(thread->queue, thread, link); - RunQueueBits |= 1u << (OS_PRIORITY_MAX - thread->priority); - RunQueueHint = TRUE; -} -#pragma dont_inline on -static void UnsetRun(OSThread *thread) -{ - OSThreadQueue *queue; - queue = thread->queue; - RemoveItem(queue, thread, link); - if (queue->head == 0) - RunQueueBits &= ~(1u << (OS_PRIORITY_MAX - thread->priority)); - thread->queue = NULL; -} -#pragma dont_inline reset - -OSPriority __OSGetEffectivePriority(OSThread *thread) -{ - OSPriority priority; - OSMutex *mutex; - OSThread *blocked; - - priority = thread->base; - for (mutex = thread->queueMutex.head; mutex; mutex = mutex->link.next) { - blocked = mutex->queue.head; - if (blocked && blocked->priority < priority) { - priority = blocked->priority; - } - } - return priority; -} - -static OSThread *SetEffectivePriority(OSThread *thread, OSPriority priority) -{ - switch (thread->state) { - case OS_THREAD_STATE_READY: - UnsetRun(thread); - thread->priority = priority; - SetRun(thread); - break; - case OS_THREAD_STATE_WAITING: - RemoveItem(thread->queue, thread, link); - thread->priority = priority; - AddPrio(thread->queue, thread, link); - if (thread->mutex) { - return thread->mutex->thread; - } - break; - case OS_THREAD_STATE_RUNNING: - RunQueueHint = TRUE; - thread->priority = priority; - break; - } - return NULL; -} - -static void UpdatePriority(OSThread *thread) -{ - OSPriority priority; - - do { - if (0 < thread->suspend) { - break; - } - priority = __OSGetEffectivePriority(thread); - if (thread->priority == priority) { - break; - } - thread = SetEffectivePriority(thread, priority); - } while (thread); -} - -static void __OSSwitchThread(OSThread *nextThread) -{ - OSSetCurrentThread(nextThread); - OSSetCurrentContext(&nextThread->context); - OSLoadContext(&nextThread->context); -} - -static OSThread *SelectThread(BOOL yield) -{ - OSContext *currentContext; - OSThread *currentThread; - OSThread *nextThread; - OSPriority priority; - OSThreadQueue *queue; - - if (0 < Reschedule) { - return 0; - } - - currentContext = OSGetCurrentContext(); - currentThread = OSGetCurrentThread(); - if (currentContext != ¤tThread->context) { - return 0; - } - - if (currentThread) { - if (currentThread->state == OS_THREAD_STATE_RUNNING) { - if (!yield) { - priority = __cntlzw(RunQueueBits); - if (currentThread->priority <= priority) { - return 0; - } - } - currentThread->state = OS_THREAD_STATE_READY; - SetRun(currentThread); - } - - if (!(currentThread->context.state & OS_CONTEXT_STATE_EXC) && OSSaveContext(¤tThread->context)) { - return 0; - } - } - - OSSetCurrentThread(NULL); - if (RunQueueBits == 0) { - OSSetCurrentContext(&IdleContext); - do { - OSEnableInterrupts(); - while (RunQueueBits == 0) - ; - OSDisableInterrupts(); - } while (RunQueueBits == 0); - - OSClearContext(&IdleContext); - } - - RunQueueHint = FALSE; - - priority = __cntlzw(RunQueueBits); - queue = &RunQueue[priority]; - RemoveHead(queue, nextThread, link); - if (queue->head == 0) { - RunQueueBits &= ~(1u << (OS_PRIORITY_MAX - priority)); - } - nextThread->queue = NULL; - nextThread->state = OS_THREAD_STATE_RUNNING; - __OSSwitchThread(nextThread); - return nextThread; -} - -void __OSReschedule() -{ - if (!RunQueueHint) { - return; - } - - SelectThread(FALSE); -} - -void OSYieldThread(void) -{ - BOOL enabled; - - enabled = OSDisableInterrupts(); - SelectThread(TRUE); - OSRestoreInterrupts(enabled); -} - -int OSCreateThread(struct OSThread * thread, void * (* func)(void *), void * param, void * stack, unsigned long stackSize, long priority, unsigned short attr) { - int enabled; - unsigned long sp; - - // why check this for an assert just to check it again right after? - if ((priority < 0) || (priority > 0x1F)) { - return 0; - } - - thread->state = 1; - thread->attr = attr & 1U; - thread->base = priority; - thread->priority = priority; - thread->suspend = 1; - thread->val = (void*)-1; - thread->mutex = 0; - OSInitThreadQueue(&thread->queueJoin); - OSInitThreadQueue((void*)&thread->queueMutex); // why - sp = (u32)stack; - sp &= ~7; - sp -= 8; - ((u32*)sp)[0] = 0; - ((u32*)sp)[1] = 0; - OSInitContext(&thread->context, (u32)func, sp); - thread->context.lr = (unsigned long)&OSExitThread; - thread->context.gpr[3] = (unsigned long)param; - thread->stackBase = stack; - thread->stackEnd = (void*)((unsigned int)stack - stackSize); - *thread->stackEnd = 0xDEADBABE; - enabled = OSDisableInterrupts(); - - AddTail(&__OSActiveThreadQueue, thread, linkActive); - - OSRestoreInterrupts(enabled); - return 1; -} - -void OSExitThread(void *val) -{ - int enabled = OSDisableInterrupts(); - struct OSThread *currentThread = OSGetCurrentThread(); - - OSClearContext(¤tThread->context); - if (currentThread->attr & 1) { - RemoveItem(&__OSActiveThreadQueue, currentThread, linkActive); - currentThread->state = 0; - } - else { - currentThread->state = 8; - currentThread->val = val; - } - __OSUnlockAllMutex(currentThread); - OSWakeupThread(¤tThread->queueJoin); - RunQueueHint = 1; - if (RunQueueHint != 0) { - SelectThread(0); - } - OSRestoreInterrupts(enabled); -} - -void OSCancelThread(OSThread *thread) -{ - BOOL enabled; - - enabled = OSDisableInterrupts(); - - switch (thread->state) { - case OS_THREAD_STATE_READY: - if (!(0 < thread->suspend)) { - UnsetRun(thread); - } - break; - case OS_THREAD_STATE_RUNNING: - RunQueueHint = TRUE; - break; - case OS_THREAD_STATE_WAITING: - RemoveItem(thread->queue, thread, link); - thread->queue = NULL; - if (!(0 < thread->suspend) && thread->mutex) { - UpdatePriority(thread->mutex->thread); - } - break; - default: - OSRestoreInterrupts(enabled); - return; - } - - OSClearContext(&thread->context); - if (thread->attr & OS_THREAD_ATTR_DETACH) { - RemoveItem(&__OSActiveThreadQueue, thread, linkActive); - thread->state = 0; - } - else { - thread->state = OS_THREAD_STATE_MORIBUND; - } - - __OSUnlockAllMutex(thread); - - OSWakeupThread(&thread->queueJoin); - - __OSReschedule(); - OSRestoreInterrupts(enabled); - - return; -} - -s32 OSResumeThread(OSThread *thread) -{ - BOOL enabled; - s32 suspendCount; - - enabled = OSDisableInterrupts(); - suspendCount = thread->suspend--; - if (thread->suspend < 0) { - thread->suspend = 0; - } - else if (thread->suspend == 0) { - switch (thread->state) { - case OS_THREAD_STATE_READY: - thread->priority = __OSGetEffectivePriority(thread); - SetRun(thread); - break; - case OS_THREAD_STATE_WAITING: - RemoveItem(thread->queue, thread, link); - thread->priority = __OSGetEffectivePriority(thread); - AddPrio(thread->queue, thread, link); - if (thread->mutex) { - UpdatePriority(thread->mutex->thread); - } - break; - } - __OSReschedule(); - } - OSRestoreInterrupts(enabled); - return suspendCount; -} - -s32 OSSuspendThread(OSThread *thread) -{ - BOOL enabled; - s32 suspendCount; - - enabled = OSDisableInterrupts(); - suspendCount = thread->suspend++; - if (suspendCount == 0) { - switch (thread->state) { - case OS_THREAD_STATE_RUNNING: - RunQueueHint = TRUE; - thread->state = OS_THREAD_STATE_READY; - break; - case OS_THREAD_STATE_READY: - UnsetRun(thread); - break; - case OS_THREAD_STATE_WAITING: - RemoveItem(thread->queue, thread, link); - thread->priority = 32; - AddTail(thread->queue, thread, link); - if (thread->mutex) { - UpdatePriority(thread->mutex->thread); - } - break; - } - - __OSReschedule(); - } - OSRestoreInterrupts(enabled); - return suspendCount; -} - -void OSSleepThread(OSThreadQueue *queue) -{ - BOOL enabled; - OSThread *currentThread; - - enabled = OSDisableInterrupts(); - currentThread = OSGetCurrentThread(); - - currentThread->state = OS_THREAD_STATE_WAITING; - currentThread->queue = queue; - AddPrio(queue, currentThread, link); - RunQueueHint = TRUE; - __OSReschedule(); - OSRestoreInterrupts(enabled); -} - -void OSWakeupThread(OSThreadQueue *queue) -{ - BOOL enabled; - OSThread *thread; - - enabled = OSDisableInterrupts(); - while (queue->head) { - RemoveHead(queue, thread, link); - thread->state = OS_THREAD_STATE_READY; - if (!(0 < thread->suspend)) { - SetRun(thread); - } - } - __OSReschedule(); - OSRestoreInterrupts(enabled); -} - -void OSClearStack(u8 val) -{ - register u32 sp; - register u32 *p; - register u32 pattern; - - pattern = ((u32)val << 24) | ((u32)val << 16) | ((u32)val << 8) | (u32)val; - sp = OSGetStackPointer(); - for (p = __OSCurrentThread->stackEnd + 1; p < (u32 *)sp; ++p) { - *p = pattern; - } -} - -struct OSThread *OSSetIdleFunction(void (*idleFunction)(void *), void *param, void *stack, unsigned long stackSize) -{ - if (idleFunction) { - if (IdleThread.state == 0) { - OSCreateThread(&IdleThread, (void *)idleFunction, param, stack, stackSize, 0x1F, 1); - OSResumeThread(&IdleThread); - return &IdleThread; - } - } - else if (IdleThread.state != 0) { - OSCancelThread(&IdleThread); - } - return NULL; -} diff --git a/src/dolphin/os/OSTime.c b/src/dolphin/os/OSTime.c deleted file mode 100644 index 604e45c6..00000000 --- a/src/dolphin/os/OSTime.c +++ /dev/null @@ -1,146 +0,0 @@ -#include - -#define OS_TIME_MONTH_MAX 12 -#define OS_TIME_WEEK_DAY_MAX 7 -#define OS_TIME_YEAR_DAY_MAX 365 - -// End of each month in standard year -static s32 YearDays[OS_TIME_MONTH_MAX] = { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 }; -// End of each month in leap year -static s32 LeapYearDays[OS_TIME_MONTH_MAX] = { 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 }; - -asm OSTime OSGetTime(void) -{ - // clang-format off - nofralloc -@0 - mftbu r3 - mftb r4 - - // Check for possible carry from TBL to TBU - mftbu r5 - cmpw r3, r5 - bne @0 - - blr - // clang-format on -} - -asm OSTick OSGetTick(void) { - // clang-format off - nofralloc - - mftb r3 - blr - // clang-format on -} - -#define OS_SYSTEMTIME_BASE 0x30D8 - -OSTime __OSGetSystemTime(void) -{ - BOOL enabled; - OSTime *timeAdjustAddr = (OSTime *)(OS_BASE_CACHED + OS_SYSTEMTIME_BASE); - OSTime result; - - enabled = OSDisableInterrupts(); - result = *timeAdjustAddr + OSGetTime(); - OSRestoreInterrupts(enabled); - - return result; -} - -OSTime __OSTimeToSystemTime(OSTime time) -{ - BOOL enabled; - OSTime *timeAdjustAddr = (OSTime *)(OS_BASE_CACHED + OS_SYSTEMTIME_BASE); - OSTime result; - - enabled = OSDisableInterrupts(); - result = *timeAdjustAddr + time; - OSRestoreInterrupts(enabled); - - return result; -} - -static BOOL IsLeapYear(s32 year) -{ - return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); -} - -static s32 GetYearDays(s32 year, s32 mon) -{ - return (IsLeapYear(year) ? LeapYearDays : YearDays)[mon]; -} - -static s32 GetLeapDays(s32 year) -{ - if (year < 1) { - return 0; - } - return (year + 3) / 4 - (year - 1) / 100 + (year - 1) / 400; -} - -static void GetDates(s32 days, OSCalendarTime *cal) -{ - s32 year; - s32 totalDays; - s32 *p_days; - s32 month; - cal->wday = (days + 6) % OS_TIME_WEEK_DAY_MAX; - - for (year = days / OS_TIME_YEAR_DAY_MAX; days < (totalDays = year * OS_TIME_YEAR_DAY_MAX + GetLeapDays(year));) { - year--; - } - - days -= totalDays; - cal->year = year; - cal->yday = days; - - p_days = IsLeapYear(year) ? LeapYearDays : YearDays; - month = OS_TIME_MONTH_MAX; - while (days < p_days[--month]) { - ; - } - cal->mon = month; - cal->mday = days - p_days[month] + 1; -} - -#define BIAS (2000 * 365 + (2000 + 3) / 4 - (2000 - 1) / 100 + (2000 - 1) / 400) - -#pragma push -#pragma dont_inline on -void OSTicksToCalendarTime(OSTime ticks, OSCalendarTime *td) -{ - int days; - int secs; - OSTime d; - - d = ticks % OSSecondsToTicks(1); - if (d < 0) { - d += OSSecondsToTicks(1); - } - td->usec = (int)(OSTicksToMicroseconds(d) % 1000); - td->msec = (int)(OSTicksToMilliseconds(d) % 1000); - - ticks -= d; - days = (int)(OSTicksToSeconds(ticks) / 86400 + BIAS); - secs = (int)(OSTicksToSeconds(ticks) % 86400); - if (secs < 0) { - days -= 1; - secs += 24 * 60 * 60; - } - - GetDates(days, td); - - td->hour = secs / 60 / 60; - td->min = (secs / 60) % 60; - td->sec = secs % 60; -} -#pragma dont_inline reset - -OSTime OSCalendarTimeToTicks(OSCalendarTime *time) -{ - ; - ; -} diff --git a/src/dolphin/os/__ppc_eabi_init.c b/src/dolphin/os/__ppc_eabi_init.c deleted file mode 100644 index 4b7c8c6e..00000000 --- a/src/dolphin/os/__ppc_eabi_init.c +++ /dev/null @@ -1,76 +0,0 @@ -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif -void __OSPSInit(); -void __OSCacheInit(); - -asm void __init_hardware(void) -{ - // clang-format off - nofralloc - mfmsr r0 - ori r0, r0, 0x2000 - mtmsr r0 - - mflr r31 - bl __OSPSInit - bl __OSCacheInit - mtlr r31 - blr - // clang-format on -} - -asm void __flush_cache(register void *address, register unsigned int size) -{ - // clang-format off - nofralloc - lis r5, ~0 - ori r5, r5, ~14 - and r5, r5, r3 - subf r3, r5, r3 - add r4, r4, r3 - -loop: - dcbst r0, r5 - sync - icbi r0, r5 - addic r5, r5, 8 - subic. r4, r4, 8 - bge loop - isync - blr - // clang-format on -} - -void __init_user() -{ - __init_cpp(); -} - -typedef void (*voidfunctionptr)(void); // pointer to function returning void -__declspec(section ".init") extern voidfunctionptr _ctors[]; -__declspec(section ".init") extern voidfunctionptr _dtors[]; - -void __init_cpp(void) -{ - voidfunctionptr *constructor; - - /* - * call static initializers - */ - for (constructor = _ctors; *constructor; constructor++) { - (*constructor)(); - } -} - -void _ExitProcess(void) -{ - PPCHalt(); -} - -#ifdef __cplusplus -} -#endif diff --git a/src/dolphin/os/__start.c b/src/dolphin/os/__start.c deleted file mode 100644 index 475b3b4c..00000000 --- a/src/dolphin/os/__start.c +++ /dev/null @@ -1,161 +0,0 @@ -#include -#include "__ppc_eabi_linker.h" - -void __check_pad3(void) { - if ((Pad3Button & 0x0eef) == 0x0eef) { - OSResetSystem(OS_RESET_RESTART, 0, FALSE); - } - return; -} - -__declspec(weak) asm void __start(void) { - // clang-format off - nofralloc - bl __init_registers - bl __init_hardware - li r0, -1 - stwu r1, -8(r1) - stw r0, 4(r1) - stw r0, 0(r1) - bl __init_data - li r0, 0 - lis r6, EXCEPTIONMASK_ADDR@ha - addi r6, r6, EXCEPTIONMASK_ADDR@l - stw r0, 0(r6) - lis r6, BOOTINFO2_ADDR@ha - addi r6, r6, BOOTINFO2_ADDR@l - lwz r6, 0(r6) - -_check_TRK: - cmplwi r6, 0 - beq _load_lomem_debug_flag - lwz r7, OS_BI2_DEBUGFLAG_OFFSET(r6) - b _check_debug_flag - -_load_lomem_debug_flag: - lis r5, ARENAHI_ADDR@ha - addi r5, r5, ARENAHI_ADDR@l - lwz r5, 0(r5) - cmplwi r5, 0 - beq _goto_main - lis r7, DEBUGFLAG_ADDR@ha - addi r7, r7, DEBUGFLAG_ADDR@l - lwz r7, 0(r7) - -_check_debug_flag: - li r5, 0 - cmplwi r7, 2 - beq _goto_inittrk - cmplwi r7, 3 - bne _goto_main - li r5, 1 - -_goto_inittrk: - lis r6, InitMetroTRK@ha - addi r6, r6, InitMetroTRK@l - mtlr r6 - blrl - -_goto_main: - lis r6, BOOTINFO2_ADDR@ha - addi r6, r6, BOOTINFO2_ADDR@l - lwz r5, 0(r6) - cmplwi r5, 0 - beq+ _no_args - lwz r6, 8(r5) - cmplwi r6, 0 - beq+ _no_args - add r6, r5, r6 - lwz r14, 0(r6) - cmplwi r14, 0 - beq _no_args - addi r15, r6, 4 - mtctr r14 - -_loop: - addi r6, r6, 4 - lwz r7, 0(r6) - add r7, r7, r5 - stw r7, 0(r6) - bdnz _loop - lis r5, ARENAHI_ADDR@ha - addi r5, r5, ARENAHI_ADDR@l - rlwinm r7, r15, 0, 0, 0x1a - stw r7, 0(r5) - b _end_of_parseargs - -_no_args: - li r14, 0 - li r15, 0 - -_end_of_parseargs: - bl DBInit - bl OSInit - lis r4, DVD_DEVICECODE_ADDR@ha - addi r4, r4, DVD_DEVICECODE_ADDR@l - lhz r3, 0(r4) - andi. r5, r3, 0x8000 - beq _check_pad3 - andi. r3, r3, 0x7fff - cmplwi r3, 1 - bne _goto_skip_init_bba - -_check_pad3: - bl __check_pad3 - -_goto_skip_init_bba: - bl __init_user - mr r3, r14 - mr r4, r15 - bl main - b exit - // clang-format on -} - -asm static void __init_registers(void) { - // clang-format off - nofralloc - lis r1, _stack_addr@h - ori r1, r1, _stack_addr@l - lis r2, _SDA2_BASE_@h - ori r2, r2, _SDA2_BASE_@l - lis r13, _SDA_BASE_@h - ori r13, r13, _SDA_BASE_@l - blr - // clang-format on -} - -inline static void __copy_rom_section(void* dst, const void* src, unsigned long size) { - if (size && (dst != src)) { - memcpy(dst, src, size); - __flush_cache(dst, size); - } -} - -inline static void __init_bss_section(void* dst, unsigned long size) { - if (size) { - memset(dst, 0, size); - } -} - -#pragma scheduling off -void __init_data(void) { - __rom_copy_info* dci; - __bss_init_info* bii; - - dci = _rom_copy_info; - while (TRUE) { - if (dci->size == 0) - break; - __copy_rom_section(dci->addr, dci->rom, dci->size); - dci++; - } - - bii = _bss_init_info; - while (TRUE) { - if (bii->size == 0) - break; - __init_bss_section(bii->addr, bii->size); - bii++; - } -} diff --git a/src/dolphin/pad/Pad.c b/src/dolphin/pad/Pad.c deleted file mode 100644 index 1852cf0d..00000000 --- a/src/dolphin/pad/Pad.c +++ /dev/null @@ -1,783 +0,0 @@ -#include -#include - -u8 UnkVal : (OS_BASE_CACHED | 0x30e3); -u16 __OSWirelessPadFixMode : (OS_BASE_CACHED | 0x30E0); - -static void PADTypeAndStatusCallback(s32 chan, u32 type); -static void PADOriginCallback(s32 chan, u32 error, OSContext *context); -static void PADProbeCallback(s32 chan, u32 error, OSContext *context); -static void SPEC0_MakeStatus(s32 chan, PADStatus *status, u32 data[2]); -static void SPEC1_MakeStatus(s32 chan, PADStatus *status, u32 data[2]); -static void SPEC2_MakeStatus(s32 chan, PADStatus *status, u32 data[2]); -static void PADTypeAndStatusCallback(s32 chan, u32 type); - -static void PADOriginCallback(s32 chan, u32 error, OSContext *context); -static void PADProbeCallback(s32 chan, u32 error, OSContext *context); - -static void SPEC0_MakeStatus(s32 chan, PADStatus *status, u32 data[2]); -static void SPEC1_MakeStatus(s32 chan, PADStatus *status, u32 data[2]); -static void SPEC2_MakeStatus(s32 chan, PADStatus *status, u32 data[2]); - -static BOOL Initialized; - -static u32 EnabledBits; -static u32 ResettingBits; -static s32 ResettingChan = 32; -static u32 RecalibrateBits; -static u32 WaitingBits; -static u32 CheckingBits; -static u32 PendingBits; - -static u32 XPatchBits = PAD_CHAN0_BIT | PAD_CHAN1_BIT | PAD_CHAN2_BIT | PAD_CHAN3_BIT; - -static u32 AnalogMode = 0x00000300u; - -u32 __PADSpec; -static u32 Spec = 5; -static void (*MakeStatus)(s32, PADStatus *, u32[2]) = SPEC2_MakeStatus; - -static u32 Type[SI_MAX_CHAN]; -static PADStatus Origin[SI_MAX_CHAN]; - -static u32 CmdReadOrigin = 0x41 << 24; -static u32 CmdCalibrate = 0x42 << 24; -static u32 CmdProbeDevice[SI_MAX_CHAN]; - -static BOOL OnReset(BOOL final); - -static OSResetFunctionInfo ResetFunctionInfo = { OnReset, 127 }; - -static void (*SamplingCallback)(void); - -static void PADEnable(s32 chan) -{ - u32 cmd; - u32 chanBit; - u32 data[2]; - - chanBit = PAD_CHAN0_BIT >> chan; - EnabledBits |= chanBit; - SIGetResponse(chan, data); - cmd = (0x40 << 16) | AnalogMode; - SISetCommand(chan, cmd); - SIEnablePolling(EnabledBits); -} - -static void PADDisable(s32 chan) -{ - BOOL enabled; - u32 chanBit; - - enabled = OSDisableInterrupts(); - - chanBit = PAD_CHAN0_BIT >> chan; - SIDisablePolling(chanBit); - EnabledBits &= ~chanBit; - WaitingBits &= ~chanBit; - CheckingBits &= ~chanBit; - PendingBits &= ~chanBit; - OSSetWirelessID(chan, 0); - - OSRestoreInterrupts(enabled); -} - -static void DoReset(void) -{ - u32 chanBit; - - ResettingChan = __cntlzw(ResettingBits); - if (ResettingChan == 32) { - return; - } - - chanBit = PAD_CHAN0_BIT >> ResettingChan; - ResettingBits &= ~chanBit; - - memset(&Origin[ResettingChan], 0, sizeof(PADStatus)); - SIGetTypeAsync(ResettingChan, PADTypeAndStatusCallback); -} - -static void UpdateOrigin(s32 chan) -{ - PADStatus *origin; - u32 chanBit = PAD_CHAN0_BIT >> chan; - - origin = &Origin[chan]; - switch (AnalogMode & 0x00000700u) { - case 0x00000000u: - case 0x00000500u: - case 0x00000600u: - case 0x00000700u: - origin->triggerL &= ~15; - origin->triggerR &= ~15; - origin->analogA &= ~15; - origin->analogB &= ~15; - break; - case 0x00000100u: - origin->substickX &= ~15; - origin->substickY &= ~15; - origin->analogA &= ~15; - origin->analogB &= ~15; - break; - case 0x00000200u: - origin->substickX &= ~15; - origin->substickY &= ~15; - origin->triggerL &= ~15; - origin->triggerR &= ~15; - break; - case 0x00000300u: - break; - case 0x00000400u: - break; - } - - origin->stickX -= 128; - origin->stickY -= 128; - origin->substickX -= 128; - origin->substickY -= 128; - - if (XPatchBits & chanBit) { - if (64 < origin->stickX && (SIGetType(chan) & 0xffff0000) == SI_GC_CONTROLLER) { - origin->stickX = 0; - } - } -} - -static void PADOriginCallback(s32 chan, u32 error, OSContext *context) -{ - if (!(error & (SI_ERROR_UNDER_RUN | SI_ERROR_OVER_RUN | SI_ERROR_NO_RESPONSE | SI_ERROR_COLLISION))) { - UpdateOrigin(ResettingChan); - PADEnable(ResettingChan); - } - DoReset(); -} - -static void PADOriginUpdateCallback(s32 chan, u32 error, OSContext *context) -{ - - if (!(EnabledBits & (PAD_CHAN0_BIT >> chan))) { - return; - } - - if (!(error & (SI_ERROR_UNDER_RUN | SI_ERROR_OVER_RUN | SI_ERROR_NO_RESPONSE | SI_ERROR_COLLISION))) { - UpdateOrigin(chan); - } - - if (error & SI_ERROR_NO_RESPONSE) { - PADDisable(chan); - } -} - -static void PADProbeCallback(s32 chan, u32 error, OSContext *context) -{ - if (!(error & (SI_ERROR_UNDER_RUN | SI_ERROR_OVER_RUN | SI_ERROR_NO_RESPONSE | SI_ERROR_COLLISION))) { - PADEnable(ResettingChan); - WaitingBits |= PAD_CHAN0_BIT >> ResettingChan; - } - DoReset(); -} - -static void PADTypeAndStatusCallback(s32 chan, u32 type) -{ - u32 chanBit; - u32 recalibrate; - BOOL rc = TRUE; - u32 error; - chanBit = PAD_CHAN0_BIT >> ResettingChan; - error = type & 0xFF; - recalibrate = RecalibrateBits & chanBit; - RecalibrateBits &= ~chanBit; - - if (error & (SI_ERROR_UNDER_RUN | SI_ERROR_OVER_RUN | SI_ERROR_NO_RESPONSE | SI_ERROR_COLLISION)) { - DoReset(); - return; - } - - type &= ~0xFF; - - Type[ResettingChan] = type; - - if ((type & SI_TYPE_MASK) != SI_TYPE_GC || !(type & SI_GC_STANDARD)) { - DoReset(); - return; - } - - if (Spec < PAD_SPEC_2) { - PADEnable(ResettingChan); - DoReset(); - return; - } - - if (!(type & SI_GC_WIRELESS) || (type & SI_WIRELESS_IR)) { - if (recalibrate) { - rc = SITransfer(ResettingChan, &CmdCalibrate, 3, &Origin[ResettingChan], 10, PADOriginCallback, 0); - } - else { - rc = SITransfer(ResettingChan, &CmdReadOrigin, 1, &Origin[ResettingChan], 10, PADOriginCallback, 0); - } - } - else if ((type & SI_WIRELESS_FIX_ID) && (type & SI_WIRELESS_CONT_MASK) == SI_WIRELESS_CONT && !(type & SI_WIRELESS_LITE)) { - if (type & SI_WIRELESS_RECEIVED) { - rc = SITransfer(ResettingChan, &CmdReadOrigin, 1, &Origin[ResettingChan], 10, PADOriginCallback, 0); - } - else { - rc = SITransfer(ResettingChan, &CmdProbeDevice[ResettingChan], 3, &Origin[ResettingChan], 8, PADProbeCallback, 0); - } - } - if (!rc) { - PendingBits |= chanBit; - DoReset(); - return; - } -} - -static void PADReceiveCheckCallback(s32 chan, u32 type) -{ - u32 error; - u32 chanBit; - - chanBit = PAD_CHAN0_BIT >> chan; - if (!(EnabledBits & chanBit)) { - return; - } - - error = type & 0xFF; - type &= ~0xFF; - - WaitingBits &= ~chanBit; - CheckingBits &= ~chanBit; - - if (!(error & (SI_ERROR_UNDER_RUN | SI_ERROR_OVER_RUN | SI_ERROR_NO_RESPONSE | SI_ERROR_COLLISION)) && (type & SI_GC_WIRELESS) - && (type & SI_WIRELESS_FIX_ID) && (type & SI_WIRELESS_RECEIVED) && !(type & SI_WIRELESS_IR) - && (type & SI_WIRELESS_CONT_MASK) == SI_WIRELESS_CONT && !(type & SI_WIRELESS_LITE)) { - SITransfer(chan, &CmdReadOrigin, 1, &Origin[chan], 10, PADOriginUpdateCallback, 0); - } - else { - PADDisable(chan); - } -} - -BOOL PADReset(u32 mask) -{ - BOOL enabled; - u32 diableBits; - - enabled = OSDisableInterrupts(); - - mask |= PendingBits; - PendingBits = 0; - mask &= ~(WaitingBits | CheckingBits); - ResettingBits |= mask; - diableBits = ResettingBits & EnabledBits; - EnabledBits &= ~mask; - - if (Spec == PAD_SPEC_4) { - RecalibrateBits |= mask; - } - - SIDisablePolling(diableBits); - - if (ResettingChan == 32) { - DoReset(); - } - OSRestoreInterrupts(enabled); - return TRUE; -} - -BOOL PADRecalibrate(u32 mask) -{ - BOOL enabled; - u32 disableBits; - - enabled = OSDisableInterrupts(); - - mask |= PendingBits; - PendingBits = 0; - mask &= ~(WaitingBits | CheckingBits); - ResettingBits |= mask; - disableBits = ResettingBits & EnabledBits; - EnabledBits &= ~mask; - - if (!(UnkVal & 0x40)) { - RecalibrateBits |= mask; - } - - SIDisablePolling(disableBits); - if (ResettingChan == 32) { - DoReset(); - } - OSRestoreInterrupts(enabled); - return TRUE; -} - -BOOL PADInit() -{ - s32 chan; - if (Initialized) { - return TRUE; - } - - if (__PADSpec) { - PADSetSpec(__PADSpec); - } - - Initialized = TRUE; - - if (__PADFixBits != 0) { - OSTime time = OSGetTime(); - __OSWirelessPadFixMode = (u16)((((time)&0xffff) + ((time >> 16) & 0xffff) + ((time >> 32) & 0xffff) + ((time >> 48) & 0xffff)) & 0x3fffu); - RecalibrateBits = PAD_CHAN0_BIT | PAD_CHAN1_BIT | PAD_CHAN2_BIT | PAD_CHAN3_BIT; - } - - for (chan = 0; chan < SI_MAX_CHAN; ++chan) { - CmdProbeDevice[chan] = (0x4D << 24) | (chan << 22) | ((__OSWirelessPadFixMode & 0x3fffu) << 8); - } - - SIRefreshSamplingRate(); - OSRegisterResetFunction(&ResetFunctionInfo); - - return PADReset(PAD_CHAN0_BIT | PAD_CHAN1_BIT | PAD_CHAN2_BIT | PAD_CHAN3_BIT); -} - -#define offsetof(type, memb) ((u32) & ((type *)0)->memb) - -u32 PADRead(PADStatus *status) -{ - BOOL enabled; - s32 chan; - u32 data[2]; - u32 chanBit; - u32 sr; - int chanShift; - u32 motor; - - enabled = OSDisableInterrupts(); - - motor = 0; - for (chan = 0; chan < SI_MAX_CHAN; chan++, status++) { - chanBit = PAD_CHAN0_BIT >> chan; - chanShift = 8 * (SI_MAX_CHAN - 1 - chan); - - if (PendingBits & chanBit) { - PADReset(0); - status->err = PAD_ERR_NOT_READY; - memset(status, 0, offsetof(PADStatus, err)); - continue; - } - - if ((ResettingBits & chanBit) || ResettingChan == chan) { - status->err = PAD_ERR_NOT_READY; - memset(status, 0, offsetof(PADStatus, err)); - continue; - } - - if (!(EnabledBits & chanBit)) { - status->err = (s8)PAD_ERR_NO_CONTROLLER; - memset(status, 0, offsetof(PADStatus, err)); - continue; - } - - if (SIIsChanBusy(chan)) { - status->err = PAD_ERR_TRANSFER; - memset(status, 0, offsetof(PADStatus, err)); - continue; - } - - sr = SIGetStatus(chan); - if (sr & SI_ERROR_NO_RESPONSE) { - SIGetResponse(chan, data); - - if (WaitingBits & chanBit) { - status->err = (s8)PAD_ERR_NONE; - memset(status, 0, offsetof(PADStatus, err)); - - if (!(CheckingBits & chanBit)) { - CheckingBits |= chanBit; - SIGetTypeAsync(chan, PADReceiveCheckCallback); - } - continue; - } - - PADDisable(chan); - - status->err = (s8)PAD_ERR_NO_CONTROLLER; - memset(status, 0, offsetof(PADStatus, err)); - continue; - } - - if (!(SIGetType(chan) & SI_GC_NOMOTOR)) { - motor |= chanBit; - } - - if (!SIGetResponse(chan, data)) { - status->err = PAD_ERR_TRANSFER; - memset(status, 0, offsetof(PADStatus, err)); - continue; - } - - if (data[0] & 0x80000000) { - status->err = PAD_ERR_TRANSFER; - memset(status, 0, offsetof(PADStatus, err)); - continue; - } - - MakeStatus(chan, status, data); - - // Check and clear PAD_ORIGIN bit - if (status->button & 0x2000) { - status->err = PAD_ERR_TRANSFER; - memset(status, 0, offsetof(PADStatus, err)); - - // Get origin. It is okay if the following transfer fails - // since the PAD_ORIGIN bit remains until the read origin - // command complete. - SITransfer(chan, &CmdReadOrigin, 1, &Origin[chan], 10, PADOriginUpdateCallback, 0); - continue; - } - - status->err = PAD_ERR_NONE; - - // Clear PAD_INTERFERE bit - status->button &= ~0x0080; - } - - OSRestoreInterrupts(enabled); - return motor; -} - -void PADControlAllMotors(const u32 *commandArray) -{ - BOOL enabled; - int chan; - u32 command; - BOOL commit; - u32 chanBit; - - enabled = OSDisableInterrupts(); - commit = FALSE; - for (chan = 0; chan < SI_MAX_CHAN; chan++, commandArray++) { - chanBit = PAD_CHAN0_BIT >> chan; - if ((EnabledBits & chanBit) && !(SIGetType(chan) & SI_GC_NOMOTOR)) { - command = *commandArray; - if (Spec < PAD_SPEC_2 && command == PAD_MOTOR_STOP_HARD) { - command = PAD_MOTOR_STOP; - } - - SISetCommand(chan, (0x40 << 16) | AnalogMode | (command & (0x00000001 | 0x00000002))); - commit = TRUE; - } - } - if (commit) { - SITransferCommands(); - } - OSRestoreInterrupts(enabled); -} - -void PADControlMotor(s32 chan, u32 command) -{ - BOOL enabled; - u32 chanBit; - - enabled = OSDisableInterrupts(); - chanBit = PAD_CHAN0_BIT >> chan; - if ((EnabledBits & chanBit) && !(SIGetType(chan) & SI_GC_NOMOTOR)) { - if (Spec < PAD_SPEC_2 && command == PAD_MOTOR_STOP_HARD) { - command = PAD_MOTOR_STOP; - } - - SISetCommand(chan, (0x40 << 16) | AnalogMode | (command & (0x00000001 | 0x00000002))); - SITransferCommands(); - } - OSRestoreInterrupts(enabled); -} - -void PADSetSpec(u32 spec) -{ - __PADSpec = 0; - switch (spec) { - case PAD_SPEC_0: - MakeStatus = SPEC0_MakeStatus; - break; - case PAD_SPEC_1: - MakeStatus = SPEC1_MakeStatus; - break; - case PAD_SPEC_2: - case PAD_SPEC_3: - case PAD_SPEC_4: - case PAD_SPEC_5: - MakeStatus = SPEC2_MakeStatus; - break; - } - Spec = spec; -} - -u32 PADGetSpec(void) -{ - return Spec; -} - -static void SPEC0_MakeStatus(s32 chan, PADStatus *status, u32 data[2]) -{ - status->button = 0; - status->button |= ((data[0] >> 16) & 0x0008) ? PAD_BUTTON_A : 0; - status->button |= ((data[0] >> 16) & 0x0020) ? PAD_BUTTON_B : 0; - status->button |= ((data[0] >> 16) & 0x0100) ? PAD_BUTTON_X : 0; - status->button |= ((data[0] >> 16) & 0x0001) ? PAD_BUTTON_Y : 0; - status->button |= ((data[0] >> 16) & 0x0010) ? PAD_BUTTON_START : 0; - status->stickX = (s8)(data[1] >> 16); - status->stickY = (s8)(data[1] >> 24); - status->substickX = (s8)(data[1]); - status->substickY = (s8)(data[1] >> 8); - status->triggerL = (u8)(data[0] >> 8); - status->triggerR = (u8)data[0]; - status->analogA = 0; - status->analogB = 0; - if (170 <= status->triggerL) { - status->button |= PAD_TRIGGER_L; - } - if (170 <= status->triggerR) { - status->button |= PAD_TRIGGER_R; - } - status->stickX -= 128; - status->stickY -= 128; - status->substickX -= 128; - status->substickY -= 128; -} - -static void SPEC1_MakeStatus(s32 chan, PADStatus *status, u32 data[2]) -{ - - status->button = 0; - status->button |= ((data[0] >> 16) & 0x0080) ? PAD_BUTTON_A : 0; - status->button |= ((data[0] >> 16) & 0x0100) ? PAD_BUTTON_B : 0; - status->button |= ((data[0] >> 16) & 0x0020) ? PAD_BUTTON_X : 0; - status->button |= ((data[0] >> 16) & 0x0010) ? PAD_BUTTON_Y : 0; - status->button |= ((data[0] >> 16) & 0x0200) ? PAD_BUTTON_START : 0; - - status->stickX = (s8)(data[1] >> 16); - status->stickY = (s8)(data[1] >> 24); - status->substickX = (s8)(data[1]); - status->substickY = (s8)(data[1] >> 8); - - status->triggerL = (u8)(data[0] >> 8); - status->triggerR = (u8)data[0]; - - status->analogA = 0; - status->analogB = 0; - - if (170 <= status->triggerL) { - status->button |= PAD_TRIGGER_L; - } - if (170 <= status->triggerR) { - status->button |= PAD_TRIGGER_R; - } - - status->stickX -= 128; - status->stickY -= 128; - status->substickX -= 128; - status->substickY -= 128; -} - -static s8 ClampS8(s8 var, s8 org) -{ - if (0 < org) { - s8 min = (s8)(-128 + org); - if (var < min) { - var = min; - } - } - else if (org < 0) { - s8 max = (s8)(127 + org); - if (max < var) { - var = max; - } - } - return var -= org; -} - -static u8 ClampU8(u8 var, u8 org) -{ - if (var < org) { - var = org; - } - return var -= org; -} - -#define PAD_ALL \ - (PAD_BUTTON_LEFT | PAD_BUTTON_RIGHT | PAD_BUTTON_DOWN | PAD_BUTTON_UP | PAD_TRIGGER_Z | PAD_TRIGGER_R | PAD_TRIGGER_L | PAD_BUTTON_A \ - | PAD_BUTTON_B | PAD_BUTTON_X | PAD_BUTTON_Y | PAD_BUTTON_MENU | 0x2000 | 0x0080) - -static void SPEC2_MakeStatus(s32 chan, PADStatus *status, u32 data[2]) -{ - PADStatus *origin; - - status->button = (u16)((data[0] >> 16) & PAD_ALL); - status->stickX = (s8)(data[0] >> 8); - status->stickY = (s8)(data[0]); - - switch (AnalogMode & 0x00000700) { - case 0x00000000: - case 0x00000500: - case 0x00000600: - case 0x00000700: - status->substickX = (s8)(data[1] >> 24); - status->substickY = (s8)(data[1] >> 16); - status->triggerL = (u8)(((data[1] >> 12) & 0x0f) << 4); - status->triggerR = (u8)(((data[1] >> 8) & 0x0f) << 4); - status->analogA = (u8)(((data[1] >> 4) & 0x0f) << 4); - status->analogB = (u8)(((data[1] >> 0) & 0x0f) << 4); - break; - case 0x00000100: - status->substickX = (s8)(((data[1] >> 28) & 0x0f) << 4); - status->substickY = (s8)(((data[1] >> 24) & 0x0f) << 4); - status->triggerL = (u8)(data[1] >> 16); - status->triggerR = (u8)(data[1] >> 8); - status->analogA = (u8)(((data[1] >> 4) & 0x0f) << 4); - status->analogB = (u8)(((data[1] >> 0) & 0x0f) << 4); - break; - case 0x00000200: - status->substickX = (s8)(((data[1] >> 28) & 0x0f) << 4); - status->substickY = (s8)(((data[1] >> 24) & 0x0f) << 4); - status->triggerL = (u8)(((data[1] >> 20) & 0x0f) << 4); - status->triggerR = (u8)(((data[1] >> 16) & 0x0f) << 4); - status->analogA = (u8)(data[1] >> 8); - status->analogB = (u8)(data[1] >> 0); - break; - case 0x00000300: - status->substickX = (s8)(data[1] >> 24); - status->substickY = (s8)(data[1] >> 16); - status->triggerL = (u8)(data[1] >> 8); - status->triggerR = (u8)(data[1] >> 0); - status->analogA = 0; - status->analogB = 0; - break; - case 0x00000400: - status->substickX = (s8)(data[1] >> 24); - status->substickY = (s8)(data[1] >> 16); - status->triggerL = 0; - status->triggerR = 0; - status->analogA = (u8)(data[1] >> 8); - status->analogB = (u8)(data[1] >> 0); - break; - } - - status->stickX -= 128; - status->stickY -= 128; - status->substickX -= 128; - status->substickY -= 128; - - origin = &Origin[chan]; - status->stickX = ClampS8(status->stickX, origin->stickX); - status->stickY = ClampS8(status->stickY, origin->stickY); - status->substickX = ClampS8(status->substickX, origin->substickX); - status->substickY = ClampS8(status->substickY, origin->substickY); - status->triggerL = ClampU8(status->triggerL, origin->triggerL); - status->triggerR = ClampU8(status->triggerR, origin->triggerR); -} - -BOOL PADGetType(s32 chan, u32 *type) -{ - u32 chanBit; - - *type = SIGetType(chan); - chanBit = PAD_CHAN0_BIT >> chan; - if ((ResettingBits & chanBit) || ResettingChan == chan || !(EnabledBits & chanBit)) { - return FALSE; - } - return TRUE; -} - -BOOL PADSync(void) -{ - return ResettingBits == 0 && ResettingChan == 32 && !SIBusy(); -} - -void PADSetAnalogMode(u32 mode) -{ - BOOL enabled; - u32 mask; - - enabled = OSDisableInterrupts(); - AnalogMode = mode << 8; - mask = EnabledBits; - - EnabledBits &= ~mask; - WaitingBits &= ~mask; - CheckingBits &= ~mask; - - SIDisablePolling(mask); - OSRestoreInterrupts(enabled); -} - -static BOOL OnReset(BOOL f) -{ - static BOOL recalibrated = FALSE; - BOOL sync; - - if (SamplingCallback) { - PADSetSamplingCallback(NULL); - } - - if (!f) { - sync = PADSync(); - if (!recalibrated && sync) { - recalibrated = PADRecalibrate(PAD_CHAN0_BIT | PAD_CHAN1_BIT | PAD_CHAN2_BIT | PAD_CHAN3_BIT); - return FALSE; - } - return sync; - } - else { - recalibrated = FALSE; - } - - return TRUE; -} - -void __PADDisableXPatch(void) -{ - XPatchBits = 0; -} - -static void SamplingHandler(__OSInterrupt interrupt, OSContext *context) -{ - OSContext exceptionContext; - - if (SamplingCallback) { - OSClearContext(&exceptionContext); - OSSetCurrentContext(&exceptionContext); - SamplingCallback(); - OSClearContext(&exceptionContext); - OSSetCurrentContext(context); - } -} - -PADSamplingCallback PADSetSamplingCallback(PADSamplingCallback callback) -{ - PADSamplingCallback prev; - - prev = SamplingCallback; - SamplingCallback = callback; - if (callback) { - SIRegisterPollingHandler(SamplingHandler); - } - else { - SIUnregisterPollingHandler(SamplingHandler); - } - return prev; -} - -BOOL __PADDisableRecalibration(BOOL disable) -{ - BOOL enabled; - BOOL prev; - - enabled = OSDisableInterrupts(); - prev = (UnkVal & 0x40) ? TRUE : FALSE; - UnkVal &= (u8)~0x40; - if (disable) { - UnkVal |= 0x40; - } - OSRestoreInterrupts(enabled); - return prev; -} diff --git a/src/dolphin/pad/Padclamp.c b/src/dolphin/pad/Padclamp.c deleted file mode 100644 index bdc9af39..00000000 --- a/src/dolphin/pad/Padclamp.c +++ /dev/null @@ -1,136 +0,0 @@ -#include - -#include - -typedef struct PADClampRegion { - u8 minTrigger; - u8 maxTrigger; - s8 minStick; - s8 maxStick; - s8 xyStick; - s8 minSubstick; - s8 maxSubstick; - s8 xySubstick; -} PADClampRegion; - -static PADClampRegion ClampRegion = { - // Triggers - 30, - 180, - - // Left stick - 15, - 72, - 40, - - // Right stick - 15, - 59, - 31, -}; - -static void ClampStick(s8 *px, s8 *py, s8 max, s8 xy, s8 min) -{ - int x = *px; - int y = *py; - int signX; - int signY; - int d; - - if (0 <= x) { - signX = 1; - } - else { - signX = -1; - x = -x; - } - - if (0 <= y) { - signY = 1; - } - else { - signY = -1; - y = -y; - } - - if (x <= min) { - x = 0; - } - else { - x -= min; - } - if (y <= min) { - y = 0; - } - else { - y -= min; - } - - if (x == 0 && y == 0) { - *px = *py = 0; - return; - } - - if (xy * y <= xy * x) { - d = xy * x + (max - xy) * y; - if (xy * max < d) { - x = (s8)(xy * max * x / d); - y = (s8)(xy * max * y / d); - } - } - else { - d = xy * y + (max - xy) * x; - if (xy * max < d) { - x = (s8)(xy * max * x / d); - y = (s8)(xy * max * y / d); - } - } - - *px = (s8)(signX * x); - *py = (s8)(signY * y); -} - -static void ClampTrigger(u8 *trigger, u8 min, u8 max) -{ - if (*trigger <= min) { - *trigger = 0; - } - else { - if (max < *trigger) { - *trigger = max; - } - *trigger -= min; - } -} - -void PADClamp(PADStatus* status) -{ - int i; - for (i = 0; i < PAD_CHANMAX; i++, status++) { - if (status->err != PAD_ERR_NONE) { - continue; - } - - ClampStick(&status->stickX, &status->stickY, ClampRegion.maxStick, - ClampRegion.xyStick, ClampRegion.minStick); - ClampStick(&status->substickX, &status->substickY, - ClampRegion.maxSubstick, ClampRegion.xySubstick, - ClampRegion.minSubstick); - if (status->triggerL <= ClampRegion.minTrigger) { - status->triggerL = 0; - } else { - if (ClampRegion.maxTrigger < status->triggerL) { - status->triggerL = ClampRegion.maxTrigger; - } - status->triggerL -= ClampRegion.minTrigger; - } - if (status->triggerR <= ClampRegion.minTrigger) { - status->triggerR = 0; - } else { - if (ClampRegion.maxTrigger < status->triggerR) { - status->triggerR = ClampRegion.maxTrigger; - } - status->triggerR -= ClampRegion.minTrigger; - } - } -} diff --git a/src/dolphin/si/SIBios.c b/src/dolphin/si/SIBios.c deleted file mode 100644 index 0d34277a..00000000 --- a/src/dolphin/si/SIBios.c +++ /dev/null @@ -1,817 +0,0 @@ -#include -#include -#include -#include - - -extern OSTime __OSGetSystemTime(); - -typedef struct SIControl { - s32 chan; - u32 poll; - u32 inputBytes; - void *input; - SICallback callback; -} SIControl; - -static SIControl Si = { - -1, - 0, - 0, - NULL, - NULL, -}; - -typedef struct SIComm_s { - u32 tcint : 1; - u32 tcintmsk : 1; - u32 comerr : 1; - u32 rdstint : 1; - u32 rdstintmsk : 1; - u32 pad0 : 4; - u32 outlngth : 7; - u32 pad1 : 1; - u32 inlngth : 7; - u32 pad2 : 5; - u32 channel : 2; - u32 tstart : 1; -} SIComm_s; - -typedef union SIComm_u { - u32 val; - SIComm_s f; -} SIComm_u; - -static SIPacket Packet[SI_MAX_CHAN]; -static OSAlarm Alarm[SI_MAX_CHAN]; -static u32 Type[SI_MAX_CHAN] = { - SI_ERROR_NO_RESPONSE, - SI_ERROR_NO_RESPONSE, - SI_ERROR_NO_RESPONSE, - SI_ERROR_NO_RESPONSE, -}; - -static OSTime TypeTime[SI_MAX_CHAN]; -static OSTime XferTime[SI_MAX_CHAN]; - -static SITypeAndStatusCallback TypeCallback[SI_MAX_CHAN][4]; -static __OSInterruptHandler RDSTHandler[4]; - -u32 __PADFixBits; - -static BOOL __SITransfer(s32 chan, void *output, u32 outputBytes, void *input, u32 inputBytes, SICallback callback); - -static BOOL InputBufferValid[SI_MAX_CHAN]; -static u32 InputBuffer[SI_MAX_CHAN][2]; -static vu32 InputBufferVcount[SI_MAX_CHAN]; - -static BOOL SIGetResponseRaw(s32 chan); -static void GetTypeCallback(s32 chan, u32 error, OSContext *context); - -BOOL SIBusy() -{ - return Si.chan != -1 ? TRUE : FALSE; -} - -BOOL SIIsChanBusy(s32 chan) -{ - return (Packet[chan].chan != -1 || Si.chan == chan); -} - -static void SIClearTCInterrupt() -{ - u32 reg; - - reg = __SIRegs[13]; - reg |= 0x80000000; - reg &= ~0x00000001; - __SIRegs[13] = reg; -} - -static u32 CompleteTransfer() -{ - u32 sr; - u32 i; - u32 rLen; - u8 *input; - - sr = __SIRegs[14]; - - SIClearTCInterrupt(); - - if (Si.chan != -1) { - XferTime[Si.chan] = __OSGetSystemTime(); - - input = Si.input; - - rLen = Si.inputBytes / 4; - for (i = 0; i < rLen; i++) { - *(u32 *)input = __SIRegs[32 + i]; - input += 4; - } - - rLen = Si.inputBytes & 3; - if (rLen) { - u32 temp = __SIRegs[32 + i]; - for (i = 0; i < rLen; i++) { - *input++ = (u8)((temp >> ((3 - i) * 8)) & 0xff); - } - } - - if (__SIRegs[13] & 0x20000000) { - sr >>= 8 * (3 - Si.chan); - sr &= 0xf; - - if ((sr & SI_ERROR_NO_RESPONSE) && !(Type[Si.chan] & SI_ERROR_BUSY)) { - Type[Si.chan] = SI_ERROR_NO_RESPONSE; - } - if (sr == 0) { - sr = SI_ERROR_COLLISION; - } - } - else { - TypeTime[Si.chan] = __OSGetSystemTime(); - sr = 0; - } - - Si.chan = -1; - } - return sr; -} - -static void SITransferNext(s32 chan) -{ - int i; - SIPacket *packet; - - for (i = 0; i < SI_MAX_CHAN; ++i) { - ++chan; - chan %= SI_MAX_CHAN; - packet = &Packet[chan]; - if (packet->chan != -1 && packet->fire <= __OSGetSystemTime()) { - if (__SITransfer(packet->chan, packet->output, packet->outputBytes, packet->input, packet->inputBytes, packet->callback)) { - OSCancelAlarm(&Alarm[chan]); - packet->chan = -1; - } - break; - } - } -} - -static void SIInterruptHandler(__OSInterrupt interrupt, OSContext *context) -{ - u32 reg; - - reg = __SIRegs[13]; - - if ((reg & 0xc0000000) == 0xc0000000) { - s32 chan; - u32 sr; - SICallback callback; - - chan = Si.chan; - sr = CompleteTransfer(); - callback = Si.callback; - Si.callback = 0; - - SITransferNext(chan); - - if (callback) { - callback(chan, sr, context); - } - - sr = __SIRegs[14]; - sr &= 0xf000000 >> (8 * chan); - __SIRegs[14] = sr; - - if (Type[chan] == SI_ERROR_BUSY && !SIIsChanBusy(chan)) { - static u32 cmdTypeAndStatus = 0 << 24; - SITransfer(chan, &cmdTypeAndStatus, 1, &Type[chan], 3, GetTypeCallback, OSMicrosecondsToTicks(65)); - } - } - - if ((reg & 0x18000000) == 0x18000000) { - - int i; - u32 vcount; - u32 x; - - vcount = VIGetCurrentLine() + 1; - x = (Si.poll & 0x03ff0000) >> 16; - - for (i = 0; i < SI_MAX_CHAN; ++i) { - if (SIGetResponseRaw(i)) { - InputBufferVcount[i] = vcount; - } - } - - for (i = 0; i < SI_MAX_CHAN; ++i) { - if (!(Si.poll & (SI_CHAN0_BIT >> (31 - 7 + i)))) { - continue; - } - if (InputBufferVcount[i] == 0 || InputBufferVcount[i] + (x / 2) < vcount) { - return; - } - } - - for (i = 0; i < SI_MAX_CHAN; ++i) { - InputBufferVcount[i] = 0; - } - - for (i = 0; i < 4; ++i) { - if (RDSTHandler[i]) { - RDSTHandler[i](interrupt, context); - } - } - } -} - -static BOOL SIEnablePollingInterrupt(BOOL enable) -{ - BOOL enabled; - BOOL rc; - u32 reg; - int i; - - enabled = OSDisableInterrupts(); - reg = __SIRegs[13]; - rc = (reg & 0x08000000) ? TRUE : FALSE; - if (enable) { - reg |= 0x08000000; - for (i = 0; i < SI_MAX_CHAN; ++i) { - InputBufferVcount[i] = 0; - } - } - else { - reg &= ~0x08000000; - } - reg &= ~0x80000001; - __SIRegs[13] = reg; - OSRestoreInterrupts(enabled); - return rc; -} - -BOOL SIRegisterPollingHandler(__OSInterruptHandler handler) -{ - BOOL enabled; - int i; - - enabled = OSDisableInterrupts(); - for (i = 0; i < 4; ++i) { - if (RDSTHandler[i] == handler) { - OSRestoreInterrupts(enabled); - return TRUE; - } - } - for (i = 0; i < 4; ++i) { - if (RDSTHandler[i] == 0) { - RDSTHandler[i] = handler; - SIEnablePollingInterrupt(TRUE); - OSRestoreInterrupts(enabled); - return TRUE; - } - } - OSRestoreInterrupts(enabled); - return FALSE; -} - -BOOL SIUnregisterPollingHandler(__OSInterruptHandler handler) -{ - BOOL enabled; - int i; - - enabled = OSDisableInterrupts(); - for (i = 0; i < 4; ++i) { - if (RDSTHandler[i] == handler) { - RDSTHandler[i] = 0; - for (i = 0; i < 4; ++i) { - if (RDSTHandler[i]) { - break; - } - } - if (i == 4) { - SIEnablePollingInterrupt(FALSE); - } - OSRestoreInterrupts(enabled); - return TRUE; - break; - } - } - OSRestoreInterrupts(enabled); - return FALSE; -} - -void SIInit(void) -{ - Packet[0].chan = Packet[1].chan = Packet[2].chan = Packet[3].chan = -1; - - Si.poll = 0; - SISetSamplingRate(0); - - while (__SIRegs[13] & 1) - ; - - __SIRegs[13] = 0x80000000; - - __OSSetInterruptHandler(__OS_INTERRUPT_PI_SI, SIInterruptHandler); - __OSUnmaskInterrupts(OS_INTERRUPTMASK_PI_SI); - - SIGetType(0); - SIGetType(1); - SIGetType(2); - SIGetType(3); -} - -#define ROUND(n, a) (((u32)(n) + (a)-1) & ~((a)-1)) - -static BOOL __SITransfer(s32 chan, void *output, u32 outputBytes, void *input, u32 inputBytes, SICallback callback) -{ - BOOL enabled; - u32 rLen; - u32 i; - u32 sr; - SIComm_u comcsr; - - enabled = OSDisableInterrupts(); - if (Si.chan != -1) { - OSRestoreInterrupts(enabled); - return FALSE; - } - - sr = __SIRegs[14]; - sr &= (0xf000000) >> (8 * chan); - __SIRegs[14] = sr; - - Si.chan = chan; - Si.callback = callback; - Si.inputBytes = inputBytes; - Si.input = input; - - rLen = ROUND(outputBytes, 4) / 4; - for (i = 0; i < rLen; i++) { - __SIRegs[32 + i] = ((u32 *)output)[i]; - } - - comcsr.val = __SIRegs[13]; - comcsr.f.tcint = 1; - comcsr.f.tcintmsk = callback ? 1 : 0; - comcsr.f.outlngth = (outputBytes == SI_MAX_COMCSR_OUTLNGTH) ? 0 : outputBytes; - comcsr.f.inlngth = (inputBytes == SI_MAX_COMCSR_INLNGTH) ? 0 : inputBytes; - comcsr.f.channel = chan; - comcsr.f.tstart = 1; - __SIRegs[13] = comcsr.val; - - OSRestoreInterrupts(enabled); - - return TRUE; -} - -u32 SISync(void) -{ - BOOL enabled; - u32 sr; - - while (__SIRegs[13] & 1) - ; - - enabled = OSDisableInterrupts(); - sr = CompleteTransfer(); - - SITransferNext(SI_MAX_CHAN); - - OSRestoreInterrupts(enabled); - - return sr; -} - -u32 SIGetStatus(s32 chan) -{ - BOOL enabled; - u32 sr; - int chanShift; - - enabled = OSDisableInterrupts(); - sr = __SIRegs[14]; - chanShift = 8 * (SI_MAX_CHAN - 1 - chan); - sr >>= chanShift; - if (sr & SI_ERROR_NO_RESPONSE) { - if (!(Type[chan] & SI_ERROR_BUSY)) { - Type[chan] = SI_ERROR_NO_RESPONSE; - } - } - OSRestoreInterrupts(enabled); - return sr; -} - -void SISetCommand(s32 chan, u32 command) -{ - __SIRegs[3 * chan] = command; -} - -u32 SIGetCommand(s32 chan) -{ - return __SIRegs[3 * chan]; -} - -void SITransferCommands(void) -{ - __SIRegs[14] = 0x80000000; -} - -u32 SISetXY(u32 x, u32 y) -{ - u32 poll; - BOOL enabled; - - poll = x << 16; - poll |= y << 8; - - enabled = OSDisableInterrupts(); - Si.poll &= ~(0x03ff0000 | 0x0000ff00); - Si.poll |= poll; - poll = Si.poll; - __SIRegs[12] = poll; - OSRestoreInterrupts(enabled); - return poll; -} - -u32 SIEnablePolling(u32 poll) -{ - BOOL enabled; - u32 en; - - if (poll == 0) { - return Si.poll; - } - - enabled = OSDisableInterrupts(); - - poll >>= (31 - 7); - en = poll & 0xf0; - - poll &= (en >> 4) | 0x03fffff0; - - poll &= ~0x03ffff00; - - Si.poll &= ~(en >> 4); - - Si.poll |= poll; - - poll = Si.poll; - - SITransferCommands(); - - __SIRegs[12] = poll; - - OSRestoreInterrupts(enabled); - - return poll; -} - -u32 SIDisablePolling(u32 poll) -{ - BOOL enabled; - - if (poll == 0) { - return Si.poll; - } - - enabled = OSDisableInterrupts(); - - poll >>= (31 - 7); - poll &= 0xf0; - - poll = Si.poll & ~poll; - - __SIRegs[12] = poll; - Si.poll = poll; - - OSRestoreInterrupts(enabled); - return poll; -} - -static BOOL SIGetResponseRaw(s32 chan) -{ - u32 sr; - - sr = SIGetStatus(chan); - if (sr & SI_ERROR_RDST) { - InputBuffer[chan][0] = __SIRegs[3 * chan + 1]; - InputBuffer[chan][1] = __SIRegs[3 * chan + 2]; - InputBufferValid[chan] = TRUE; - return TRUE; - } - return FALSE; -} - -BOOL SIGetResponse(s32 chan, void *data) -{ - BOOL rc; - BOOL enabled; - - enabled = OSDisableInterrupts(); - SIGetResponseRaw(chan); - rc = InputBufferValid[chan]; - InputBufferValid[chan] = FALSE; - if (rc) { - ((u32 *)data)[0] = InputBuffer[chan][0]; - ((u32 *)data)[1] = InputBuffer[chan][1]; - } - OSRestoreInterrupts(enabled); - return rc; -} - -static void AlarmHandler(OSAlarm *alarm, OSContext *context) -{ -#pragma unused(context) - s32 chan; - SIPacket *packet; - - chan = alarm - Alarm; - packet = &Packet[chan]; - if (packet->chan != -1) { - if (__SITransfer(packet->chan, packet->output, packet->outputBytes, packet->input, packet->inputBytes, packet->callback)) { - packet->chan = -1; - } - } -} - -BOOL SITransfer(s32 chan, void *output, u32 outputBytes, void *input, u32 inputBytes, SICallback callback, OSTime delay) -{ - BOOL enabled; - SIPacket *packet = &Packet[chan]; - OSTime now; - OSTime fire; - - enabled = OSDisableInterrupts(); - if (packet->chan != -1 || Si.chan == chan) { - OSRestoreInterrupts(enabled); - return FALSE; - } - - now = __OSGetSystemTime(); - if (delay == 0) { - fire = now; - } - else { - fire = XferTime[chan] + delay; - } - if (now < fire) { - delay = fire - now; - OSSetAlarm(&Alarm[chan], delay, AlarmHandler); - } - else if (__SITransfer(chan, output, outputBytes, input, inputBytes, callback)) { - OSRestoreInterrupts(enabled); - return TRUE; - } - - packet->chan = chan; - packet->output = output; - packet->outputBytes = outputBytes; - packet->input = input; - packet->inputBytes = inputBytes; - packet->callback = callback; - packet->fire = fire; - - OSRestoreInterrupts(enabled); - return TRUE; -} - -static void CallTypeAndStatusCallback(s32 chan, u32 type) -{ - SITypeAndStatusCallback callback; - int i; - - for (i = 0; i < 4; ++i) { - callback = TypeCallback[chan][i]; - if (callback) { - TypeCallback[chan][i] = 0; - callback(chan, type); - } - } -} - -static void GetTypeCallback(s32 chan, u32 error, OSContext *context) -{ - static u32 cmdFixDevice[SI_MAX_CHAN]; - u32 type; - u32 chanBit; - BOOL fix; - u32 id; - - Type[chan] &= ~SI_ERROR_BUSY; - Type[chan] |= error; - TypeTime[chan] = __OSGetSystemTime(); - - type = Type[chan]; - - chanBit = SI_CHAN0_BIT >> chan; - fix = (BOOL)(__PADFixBits & chanBit); - __PADFixBits &= ~chanBit; - - if ((error & (SI_ERROR_UNDER_RUN | SI_ERROR_OVER_RUN | SI_ERROR_NO_RESPONSE | SI_ERROR_COLLISION)) || (type & SI_TYPE_MASK) != SI_TYPE_DOLPHIN - || !(type & SI_GC_WIRELESS) || (type & SI_WIRELESS_IR)) { - OSSetWirelessID(chan, 0); - CallTypeAndStatusCallback(chan, Type[chan]); - return; - } - - id = (u32)(OSGetWirelessID(chan) << 8); - - if (fix && (id & SI_WIRELESS_FIX_ID)) { - cmdFixDevice[chan] = 0x4Eu << 24 | (id & SI_WIRELESS_TYPE_ID) | SI_WIRELESS_FIX_ID; - Type[chan] = SI_ERROR_BUSY; - SITransfer(chan, &cmdFixDevice[chan], 3, &Type[chan], 3, GetTypeCallback, 0); - return; - } - - if (type & SI_WIRELESS_FIX_ID) { - if ((id & SI_WIRELESS_TYPE_ID) != (type & SI_WIRELESS_TYPE_ID)) { - if (!(id & SI_WIRELESS_FIX_ID)) { - id = type & SI_WIRELESS_TYPE_ID; - id |= SI_WIRELESS_FIX_ID; - OSSetWirelessID(chan, (u16)((id >> 8) & 0xffff)); - } - - cmdFixDevice[chan] = 0x4E << 24 | id; - Type[chan] = SI_ERROR_BUSY; - SITransfer(chan, &cmdFixDevice[chan], 3, &Type[chan], 3, GetTypeCallback, 0); - return; - } - } - else if (type & SI_WIRELESS_RECEIVED) { - id = type & SI_WIRELESS_TYPE_ID; - id |= SI_WIRELESS_FIX_ID; - - OSSetWirelessID(chan, (u16)((id >> 8) & 0xffff)); - - cmdFixDevice[chan] = 0x4E << 24 | id; - Type[chan] = SI_ERROR_BUSY; - SITransfer(chan, &cmdFixDevice[chan], 3, &Type[chan], 3, GetTypeCallback, 0); - return; - } - else { - OSSetWirelessID(chan, 0); - } - - CallTypeAndStatusCallback(chan, Type[chan]); -} - -u32 SIGetType(s32 chan) -{ - static u32 cmdTypeAndStatus; - BOOL enabled; - u32 type; - OSTime diff; - - enabled = OSDisableInterrupts(); - - type = Type[chan]; - diff = __OSGetSystemTime() - TypeTime[chan]; - if (Si.poll & (0x80 >> chan)) { - if (type != SI_ERROR_NO_RESPONSE) { - TypeTime[chan] = __OSGetSystemTime(); - OSRestoreInterrupts(enabled); - return type; - } - else { - type = Type[chan] = SI_ERROR_BUSY; - } - } - else if (diff <= OSMillisecondsToTicks(50) && type != SI_ERROR_NO_RESPONSE) { - OSRestoreInterrupts(enabled); - return type; - } - else if (diff <= OSMillisecondsToTicks(75)) { - Type[chan] = SI_ERROR_BUSY; - } - else { - type = Type[chan] = SI_ERROR_BUSY; - } - TypeTime[chan] = __OSGetSystemTime(); - - SITransfer(chan, &cmdTypeAndStatus, 1, &Type[chan], 3, GetTypeCallback, OSMicrosecondsToTicks(65)); - - OSRestoreInterrupts(enabled); - return type; -} - -u32 SIGetTypeAsync(s32 chan, SITypeAndStatusCallback callback) -{ - BOOL enabled; - u32 type; - - enabled = OSDisableInterrupts(); - type = SIGetType(chan); - if (Type[chan] & SI_ERROR_BUSY) { - int i; - - for (i = 0; i < 4; ++i) { - if (TypeCallback[chan][i] == callback) { - break; - } - if (TypeCallback[chan][i] == 0) { - TypeCallback[chan][i] = callback; - break; - } - } - } - else { - callback(chan, type); - } - OSRestoreInterrupts(enabled); - return type; -} - -u32 SIDecodeType(u32 type) -{ - u32 error; - - error = type & 0xff; - type &= ~0xff; - - if (error & SI_ERROR_NO_RESPONSE) { - return SI_ERROR_NO_RESPONSE; - } - if (error & (SI_ERROR_UNDER_RUN | SI_ERROR_OVER_RUN | SI_ERROR_COLLISION | SI_ERROR_UNKNOWN)) { - return SI_ERROR_UNKNOWN; - } - if (error) { - return SI_ERROR_BUSY; - } - - if ((type & SI_TYPE_MASK) == SI_TYPE_N64) { - switch (type & 0xffff0000) { - case SI_N64_CONTROLLER: - case SI_N64_MIC: - case SI_N64_KEYBOARD: - case SI_N64_MOUSE: - case SI_GBA: - return type & 0xffff0000; - break; - } - return SI_ERROR_UNKNOWN; - } - - if ((type & SI_TYPE_MASK) != SI_TYPE_GC) { - - return SI_ERROR_UNKNOWN; - } - switch (type & 0xffff0000) { - case SI_GC_CONTROLLER: - case SI_GC_STEERING: - return type & 0xffff0000; - break; - } - - if ((type & 0xffe00000) == SI_GC_KEYBOARD) { - return SI_GC_KEYBOARD; - } - - if ((type & SI_GC_WIRELESS) && !(type & SI_WIRELESS_IR)) { - if ((type & SI_GC_WAVEBIRD) == SI_GC_WAVEBIRD) { - return SI_GC_WAVEBIRD; - } - else if (!(type & SI_WIRELESS_STATE)) { - return SI_GC_RECEIVER; - } - } - - if ((type & SI_GC_CONTROLLER) == SI_GC_CONTROLLER) { - return SI_GC_CONTROLLER; - } - return SI_ERROR_UNKNOWN; -} - -u32 SIProbe(s32 chan) -{ - return SIDecodeType(SIGetType(chan)); -} - -char *SIGetTypeString(u32 type) -{ - switch (SIDecodeType(type)) { - case SI_ERROR_NO_RESPONSE: - return "No response"; - case SI_N64_CONTROLLER: - return "N64 controller"; - case SI_N64_MIC: - return "N64 microphone"; - case SI_N64_KEYBOARD: - return "N64 keyboard"; - case SI_N64_MOUSE: - return "N64 mouse"; - case SI_GBA: - return "GameBoy Advance"; - case SI_GC_CONTROLLER: - return "Standard controller"; - case SI_GC_RECEIVER: - return "Wireless receiver"; - case SI_GC_WAVEBIRD: - return "WaveBird controller"; - case SI_GC_KEYBOARD: - return "Keyboard"; - case SI_GC_STEERING: - return "Steering"; - } -} diff --git a/src/dolphin/si/SISamplingRate.c b/src/dolphin/si/SISamplingRate.c deleted file mode 100644 index 9b799fbc..00000000 --- a/src/dolphin/si/SISamplingRate.c +++ /dev/null @@ -1,56 +0,0 @@ -#include "dolphin/sipriv.h" -#include "dolphin/vi.h" -#include "dolphin/hw_regs.h" - -#pragma dont_inline on -static u32 SamplingRate; - -typedef struct XY { - u16 line; - u8 count; -} XY; - -static XY XYNTSC[12] = { - {263 - 17, 2}, {15, 18}, {30, 9}, {44, 6}, {52, 5}, {65, 4}, - {87, 3}, {87, 3}, {87, 3}, {131, 2}, {131, 2}, {131, 2}, -}; - -static XY XYPAL[12] = { - {313 - 17, 2}, {15, 21}, {29, 11}, {45, 7}, {52, 6}, {63, 5}, - {78, 4}, {104, 3}, {104, 3}, {104, 3}, {104, 3}, {156, 2}, -}; - -void SISetSamplingRate(u32 msec) { - XY* xy; - BOOL enabled; - - if (msec > 11) { - msec = 11; - } - - enabled = OSDisableInterrupts(); - - SamplingRate = msec; - - switch (VIGetTvFormat()) { - case VI_NTSC: - case VI_MPAL: - case VI_EURGB60: - xy = XYNTSC; - break; - case VI_PAL: - xy = XYPAL; - break; - default: - OSReport("SISetSamplingRate: unknown TV format. Use default."); - msec = 0; - xy = XYNTSC; - break; - } - - SISetXY((__VIRegs[54] & 1 ? 2u : 1u) * xy[msec].line, xy[msec].count); - OSRestoreInterrupts(enabled); -} - -void SIRefreshSamplingRate() { SISetSamplingRate(SamplingRate); } -#pragma dont_inline reset diff --git a/src/dolphin/thp/THPAudio.c b/src/dolphin/thp/THPAudio.c deleted file mode 100644 index e782abcb..00000000 --- a/src/dolphin/thp/THPAudio.c +++ /dev/null @@ -1,178 +0,0 @@ -#include - -u32 THPAudioDecode(s16 *audioBuffer, u8 *audioFrame, s32 flag) -{ - THPAudioRecordHeader *header; - THPAudioDecodeInfo decInfo; - u8 *left, *right; - s16 *decLeftPtr, *decRightPtr; - s16 yn1, yn2; - s32 i; - s32 step; - s32 sample; - s64 yn; - - if (audioBuffer == NULL || audioFrame == NULL) { - return 0; - } - - header = (THPAudioRecordHeader *)audioFrame; - left = audioFrame + sizeof(THPAudioRecordHeader); - right = left + header->offsetNextChannel; - - if (flag == 1) { - decRightPtr = audioBuffer; - decLeftPtr = audioBuffer + header->sampleSize; - step = 1; - } - else { - decRightPtr = audioBuffer; - decLeftPtr = audioBuffer + 1; - step = 2; - } - - if (header->offsetNextChannel == 0) { - __THPAudioInitialize(&decInfo, left); - - yn1 = header->lYn1; - yn2 = header->lYn2; - - for (i = 0; i < header->sampleSize; i++) { - sample = __THPAudioGetNewSample(&decInfo); - yn = header->lCoef[decInfo.predictor][1] * yn2; - yn += header->lCoef[decInfo.predictor][0] * yn1; - yn += (sample << decInfo.scale) << 11; - yn <<= 5; - - if ((u16)(yn & 0xffff) > 0x8000) { - yn += 0x10000; - } - else if ((u16)(yn & 0xffff) == 0x8000) { - if ((yn & 0x10000)) - yn += 0x10000; - } - - if (yn > 2147483647LL) { - yn = 2147483647LL; - } - - if (yn < -2147483648LL) { - yn = -2147483648LL; - } - - *decLeftPtr = (s16)(yn >> 16); - decLeftPtr += step; - *decRightPtr = (s16)(yn >> 16); - decRightPtr += step; - yn2 = yn1; - yn1 = (s16)(yn >> 16); - } - } - else { - __THPAudioInitialize(&decInfo, left); - - yn1 = header->lYn1; - yn2 = header->lYn2; - - for (i = 0; i < header->sampleSize; i++) { - sample = __THPAudioGetNewSample(&decInfo); - yn = header->lCoef[decInfo.predictor][1] * yn2; - yn += header->lCoef[decInfo.predictor][0] * yn1; - yn += (sample << decInfo.scale) << 11; - yn <<= 5; - - if ((u16)(yn & 0xffff) > 0x8000) { - yn += 0x10000; - } - else { - if ((u16)(yn & 0xffff) == 0x8000) { - if ((yn & 0x10000)) - yn += 0x10000; - } - } - - if (yn > 2147483647LL) { - yn = 2147483647LL; - } - - if (yn < -2147483648LL) { - yn = -2147483648LL; - } - - *decLeftPtr = (s16)(yn >> 16); - decLeftPtr += step; - yn2 = yn1; - yn1 = (s16)(yn >> 16); - } - - __THPAudioInitialize(&decInfo, right); - - yn1 = header->rYn1; - yn2 = header->rYn2; - - for (i = 0; i < header->sampleSize; i++) { - sample = __THPAudioGetNewSample(&decInfo); - yn = header->rCoef[decInfo.predictor][1] * yn2; - yn += header->rCoef[decInfo.predictor][0] * yn1; - yn += (sample << decInfo.scale) << 11; - yn <<= 5; - - if ((u16)(yn & 0xffff) > 0x8000) { - yn += 0x10000; - } - else { - if ((u16)(yn & 0xffff) == 0x8000) { - if ((yn & 0x10000)) - yn += 0x10000; - } - } - - if (yn > 2147483647LL) { - yn = 2147483647LL; - } - - if (yn < -2147483648LL) { - yn = -2147483648LL; - } - - *decRightPtr = (s16)(yn >> 16); - decRightPtr += step; - yn2 = yn1; - yn1 = (s16)(yn >> 16); - } - } - - return header->sampleSize; -} - -static s32 __THPAudioGetNewSample(THPAudioDecodeInfo *info) -{ - s32 sample; - - if (!(info->offsetNibbles & 0x0f)) { - info->predictor = (u8)((*(info->encodeData) & 0x70) >> 4); - info->scale = (u8)((*(info->encodeData) & 0xF)); - info->encodeData++; - info->offsetNibbles += 2; - } - - if (info->offsetNibbles & 0x1) { - sample = (s32)((*(info->encodeData) & 0xF) << 28) >> 28; - info->encodeData++; - } - else { - sample = (s32)((*(info->encodeData) & 0xF0) << 24) >> 28; - } - - info->offsetNibbles++; - return sample; -} - -static void __THPAudioInitialize(THPAudioDecodeInfo *info, u8 *ptr) -{ - info->encodeData = ptr; - info->offsetNibbles = 2; - info->predictor = (u8)((*(info->encodeData) & 0x70) >> 4); - info->scale = (u8)((*(info->encodeData) & 0xF)); - info->encodeData++; -} diff --git a/src/dolphin/thp/THPDec.c b/src/dolphin/thp/THPDec.c deleted file mode 100644 index 13ff4c8d..00000000 --- a/src/dolphin/thp/THPDec.c +++ /dev/null @@ -1,2280 +0,0 @@ -#include -#include - -static THPHuffmanTab *Ydchuff ATTRIBUTE_ALIGN(32); -static THPHuffmanTab *Udchuff ATTRIBUTE_ALIGN(32); -static THPHuffmanTab *Vdchuff ATTRIBUTE_ALIGN(32); -static THPHuffmanTab *Yachuff ATTRIBUTE_ALIGN(32); -static THPHuffmanTab *Uachuff ATTRIBUTE_ALIGN(32); -static THPHuffmanTab *Vachuff ATTRIBUTE_ALIGN(32); -static f32 __THPIDCTWorkspace[64] ATTRIBUTE_ALIGN(32); -static u8 *__THPHuffmanBits; -static u8 *__THPHuffmanSizeTab; -static u16 *__THPHuffmanCodeTab; -static THPSample *Gbase ATTRIBUTE_ALIGN(32); -static u32 Gwid ATTRIBUTE_ALIGN(32); -static f32 *Gq ATTRIBUTE_ALIGN(32); -static u8 *__THPLCWork512[3]; -static u8 *__THPLCWork640[3]; -static u32 __THPOldGQR5; -static u32 __THPOldGQR6; -static u8 *__THPWorkArea; -static THPCoeff *__THPMCUBuffer[6]; -static THPFileInfo *__THPInfo; -static BOOL __THPInitFlag = FALSE; - -#define THPROUNDUP(a, b) ((((s32)(a)) + ((s32)(b)-1L)) / ((s32)(b))) - -s32 THPVideoDecode(void *file, void *tileY, void *tileU, void *tileV, void *work) -{ - u8 all_done, status; - s32 errorCode; - - if (!file) { - goto _err_no_input; - } - - if (tileY == NULL || tileU == NULL || tileV == NULL) { - goto _err_no_output; - } - - if (!work) { - goto _err_no_work; - } - - if (!(PPCMfhid2() & 0x10000000)) { - goto _err_lc_not_enabled; - } - - if (__THPInitFlag == FALSE) { - goto _err_not_initialized; - } - - __THPWorkArea = (u8 *)work; - __THPInfo = (THPFileInfo *)OSRoundUp32B(__THPWorkArea); - __THPWorkArea = (u8 *)OSRoundUp32B(__THPWorkArea) + sizeof(THPFileInfo); - DCZeroRange(__THPInfo, sizeof(THPFileInfo)); - __THPInfo->cnt = 33; - __THPInfo->decompressedY = 0; - __THPInfo->c = (u8 *)file; - all_done = FALSE; - - for (;;) { - if ((*(__THPInfo->c)++) != 255) { - goto _err_bad_syntax; - } - - while (*__THPInfo->c == 255) { - ((__THPInfo->c)++); - } - - status = (*(__THPInfo->c)++); - - if (status <= 0xD7) { - if (status == 196) { - status = __THPReadHuffmanTableSpecification(); - if (status != 0) { - goto _err_bad_status; - } - } - - else if (status == 192) { - status = __THPReadFrameHeader(); - if (status != 0) { - goto _err_bad_status; - } - } - - else { - goto _err_unsupported_marker; - } - } - - else if (0xD8 <= status && status <= 0xDF) { - if (status == 221) { - __THPRestartDefinition(); - } - - else if (status == 219) { - status = __THPReadQuantizationTable(); - if (status != 0) { - goto _err_bad_status; - } - } - - else if (status == 218) { - status = __THPReadScaneHeader(); - if (status != 0) { - goto _err_bad_status; - } - - all_done = TRUE; - } - else if (status == 216) { - // empty but required for match - } - else { - goto _err_unsupported_marker; - } - } - - else if (0xE0 <= status) { - if ((224 <= status && status <= 239) || status == 254) { - __THPInfo->c += (__THPInfo->c)[0] << 8 | (__THPInfo->c)[1]; - } - else { - goto _err_unsupported_marker; - } - } - - if (all_done) { - break; - } - } - - __THPSetupBuffers(); - __THPDecompressYUV(tileY, tileU, tileV); - return 0; - -_err_no_input: - errorCode = 25; - goto _err_exit; - -_err_no_output: - errorCode = 27; - goto _err_exit; - -_err_no_work: - errorCode = 26; - goto _err_exit; - -_err_unsupported_marker: - errorCode = 11; - goto _err_exit; - -_err_bad_resource: - errorCode = 1; - goto _err_exit; - -_err_no_mem: - errorCode = 6; - goto _err_exit; - -_err_bad_syntax: - errorCode = 3; - goto _err_exit; - -_err_bad_status: - errorCode = status; - goto _err_exit; - -_err_lc_not_enabled: - errorCode = 28; - goto _err_exit; - -_err_not_initialized: - errorCode = 29; - goto _err_exit; - -_err_exit: - return errorCode; -} - -static void __THPSetupBuffers(void) -{ - u8 i; - THPCoeff *buffer; - - buffer = (THPCoeff *)OSRoundUp32B(__THPWorkArea); - - for (i = 0; i < 6; i++) { - __THPMCUBuffer[i] = &buffer[i * 64]; - } -} - -static u8 __THPReadFrameHeader(void) -{ - u8 i, utmp8; - - __THPInfo->c += 2; - - utmp8 = (*(__THPInfo->c)++); - - if (utmp8 != 8) { - return 10; - } - - __THPInfo->yPixelSize = (u16)((__THPInfo->c)[0] << 8 | (__THPInfo->c)[1]); - __THPInfo->c += 2; - __THPInfo->xPixelSize = (u16)((__THPInfo->c)[0] << 8 | (__THPInfo->c)[1]); - __THPInfo->c += 2; - - utmp8 = (*(__THPInfo->c)++); - if (utmp8 != 3) { - return 12; - } - - for (i = 0; i < 3; i++) { - utmp8 = (*(__THPInfo->c)++); - utmp8 = (*(__THPInfo->c)++); - if ((i == 0 && utmp8 != 0x22) || (i > 0 && utmp8 != 0x11)) { - return 19; - } - - __THPInfo->components[i].quantizationTableSelector = (*(__THPInfo->c)++); - } - - return 0; -} - -static u8 __THPReadScaneHeader(void) -{ - u8 i, utmp8; - __THPInfo->c += 2; - - utmp8 = (*(__THPInfo->c)++); - - if (utmp8 != 3) { - return 12; - } - - for (i = 0; i < 3; i++) { - utmp8 = (*(__THPInfo->c)++); - - utmp8 = (*(__THPInfo->c)++); - __THPInfo->components[i].DCTableSelector = (u8)(utmp8 >> 4); - __THPInfo->components[i].ACTableSelector = (u8)(utmp8 & 15); - - if ((__THPInfo->validHuffmanTabs & (1 << ((utmp8 >> 4)))) == 0) { - return 15; - } - - if ((__THPInfo->validHuffmanTabs & (1 << ((utmp8 & 15) + 1))) == 0) { - return 15; - } - } - - __THPInfo->c += 3; - __THPInfo->MCUsPerRow = (u16)THPROUNDUP(__THPInfo->xPixelSize, 16); - __THPInfo->components[0].predDC = 0; - __THPInfo->components[1].predDC = 0; - __THPInfo->components[2].predDC = 0; - return 0; -} - -static u8 __THPReadQuantizationTable(void) -{ - u16 length, id, i, row, col; - f32 q_temp[64]; - - length = (u16)((__THPInfo->c)[0] << 8 | (__THPInfo->c)[1]); - __THPInfo->c += 2; - length -= 2; - - for (;;) { - id = (*(__THPInfo->c)++); - - for (i = 0; i < 64; i++) { - q_temp[__THPJpegNaturalOrder[i]] = (f32)(*(__THPInfo->c)++); - } - - i = 0; - for (row = 0; row < 8; row++) { - for (col = 0; col < 8; col++) { - __THPInfo->quantTabs[id][i] = (f32)((f64)q_temp[i] * __THPAANScaleFactor[row] * __THPAANScaleFactor[col]); - i++; - } - } - - length -= 65; - if (!length) { - break; - } - } - - return 0; -} - -static u8 __THPReadHuffmanTableSpecification(void) -{ - u8 t_class, id, i, tab_index; - u16 length, num_Vij; - - __THPHuffmanSizeTab = __THPWorkArea; - __THPHuffmanCodeTab = (u16 *)((u32)__THPWorkArea + 256 + 1); - length = (u16)((__THPInfo->c)[0] << 8 | (__THPInfo->c)[1]); - __THPInfo->c += 2; - length -= 2; - - for (;;) { - i = (*(__THPInfo->c)++); - id = (u8)(i & 15); - t_class = (u8)(i >> 4); - __THPHuffmanBits = __THPInfo->c; - tab_index = (u8)((id << 1) + t_class); - num_Vij = 0; - - for (i = 0; i < 16; i++) { - num_Vij += (*(__THPInfo->c)++); - } - - __THPInfo->huffmanTabs[tab_index].Vij = __THPInfo->c; - __THPInfo->c += num_Vij; - __THPHuffGenerateSizeTable(); - __THPHuffGenerateCodeTable(); - __THPHuffGenerateDecoderTables(tab_index); - __THPInfo->validHuffmanTabs |= 1 << tab_index; - length -= 17 + num_Vij; - - if (length == 0) { - break; - } - } - - return 0; -} - -static void __THPHuffGenerateSizeTable(void) -{ - s32 p, l, i; - p = 0; - - for (l = 1; l <= 16; l++) { - i = (s32)__THPHuffmanBits[l - 1]; - while (i--) { - __THPHuffmanSizeTab[p++] = (u8)l; - } - } - - __THPHuffmanSizeTab[p] = 0; -} - -static void __THPHuffGenerateCodeTable(void) -{ - u8 si; - u16 p, code; - - p = 0; - code = 0; - si = __THPHuffmanSizeTab[0]; - - while (__THPHuffmanSizeTab[p]) { - while (__THPHuffmanSizeTab[p] == si) { - __THPHuffmanCodeTab[p++] = code; - code++; - } - - code <<= 1; - si++; - } -} - -static void __THPHuffGenerateDecoderTables(u8 tabIndex) -{ - s32 p, l; - THPHuffmanTab *h; - - p = 0; - h = &__THPInfo->huffmanTabs[tabIndex]; - for (l = 1; l <= 16; l++) { - if (__THPHuffmanBits[l - 1]) { - h->valPtr[l] = p - __THPHuffmanCodeTab[p]; - p += __THPHuffmanBits[l - 1]; - h->maxCode[l] = __THPHuffmanCodeTab[p - 1]; - } - else { - h->maxCode[l] = -1; - h->valPtr[l] = -1; - } - } - - h->maxCode[17] = 0xfffffL; -} - -static void __THPRestartDefinition(void) -{ - __THPInfo->RST = TRUE; - __THPInfo->c += 2; - __THPInfo->nMCU = (u16)((__THPInfo->c)[0] << 8 | (__THPInfo->c)[1]); - __THPInfo->c += 2; - __THPInfo->currMCU = __THPInfo->nMCU; -} - -static inline void __THPGQRSetup(void) -{ - register u32 tmp1, tmp2; - - // clang-format off - asm { - mfspr tmp1, GQR5; - mfspr tmp2, GQR6; - } - // clang-format on - - __THPOldGQR5 = tmp1; - __THPOldGQR6 = tmp2; - - // clang-format off - asm { - li r3, 0x0007 - oris r3, r3, 0x0007 - mtspr GQR5, r3 - li r3, 0x3D04 - oris r3, r3, 0x3D04 - mtspr GQR6, r3 - } - // clang-format on -} - -static inline void __THPGQRRestore(void) -{ - register u32 tmp1, tmp2; - tmp1 = __THPOldGQR5; - tmp2 = __THPOldGQR6; - - // clang-format off - asm { - mtspr GQR5, tmp1; - mtspr GQR6, tmp2; - } - // clang-format on -} - -void __THPPrepBitStream(void) -{ - u32 *ptr; - u32 offset, i, j, k; - - ptr = (u32 *)((u32)__THPInfo->c & 0xFFFFFFFC); - offset = (u32)__THPInfo->c & 3; - - if (__THPInfo->cnt != 33) { - __THPInfo->cnt -= (3 - offset) * 8; - } - else { - __THPInfo->cnt = (offset * 8) + 1; - } - - __THPInfo->c = (u8 *)ptr; - __THPInfo->currByte = *ptr; - - for (i = 0; i < 4; i++) { - if (__THPInfo->validHuffmanTabs & (1 << i)) { - for (j = 0; j < 32; j++) { - __THPInfo->huffmanTabs[i].quick[j] = 0xFF; - - for (k = 0; k < 5; k++) { - s32 code = (s32)(j >> (5 - k - 1)); - - if (code <= __THPInfo->huffmanTabs[i].maxCode[k + 1]) { - __THPInfo->huffmanTabs[i].quick[j] = __THPInfo->huffmanTabs[i].Vij[(s32)(code + __THPInfo->huffmanTabs[i].valPtr[k + 1])]; - __THPInfo->huffmanTabs[i].increment[j] = (u8)(k + 1); - k = 99; - } - else { - } - } - } - } - } - - { - s32 YdcTab, UdcTab, VdcTab, YacTab, UacTab, VacTab; - - YdcTab = (__THPInfo->components[0].DCTableSelector << 1); - UdcTab = (__THPInfo->components[1].DCTableSelector << 1); - VdcTab = (__THPInfo->components[2].DCTableSelector << 1); - - YacTab = (__THPInfo->components[0].ACTableSelector << 1) + 1; - UacTab = (__THPInfo->components[1].ACTableSelector << 1) + 1; - VacTab = (__THPInfo->components[2].ACTableSelector << 1) + 1; - - Ydchuff = &__THPInfo->huffmanTabs[YdcTab]; - Udchuff = &__THPInfo->huffmanTabs[UdcTab]; - Vdchuff = &__THPInfo->huffmanTabs[VdcTab]; - - Yachuff = &__THPInfo->huffmanTabs[YacTab]; - Uachuff = &__THPInfo->huffmanTabs[UacTab]; - Vachuff = &__THPInfo->huffmanTabs[VacTab]; - } -} - -static void __THPDecompressYUV(void *tileY, void *tileU, void *tileV) -{ - u16 currentY, targetY; - __THPInfo->dLC[0] = tileY; - __THPInfo->dLC[1] = tileU; - __THPInfo->dLC[2] = tileV; - - currentY = __THPInfo->decompressedY; - targetY = __THPInfo->yPixelSize; - - __THPGQRSetup(); - __THPPrepBitStream(); - - if (__THPInfo->xPixelSize == 512 && targetY == 448) { - while (currentY < targetY) { - __THPDecompressiMCURow512x448(); - currentY += 16; - } - } - else if (__THPInfo->xPixelSize == 640 && targetY == 480) { - while (currentY < targetY) { - __THPDecompressiMCURow640x480(); - currentY += 16; - } - } - else { - while (currentY < targetY) { - __THPDecompressiMCURowNxN(); - currentY += 16; - } - } - - __THPGQRRestore(); -} - -inline void __THPInverseDCTNoYPos(register THPCoeff *in, register u32 xPos) -{ - register f32 *q, *ws; - register f32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9; - register f32 tmp10, tmp11, tmp12, tmp13; - register f32 tmp20, tmp21, tmp22, tmp23; - register f32 cc4 = 1.414213562F; - register f32 cc2 = 1.847759065F; - register f32 cc2c6s = 1.082392200F; - register f32 cc2c6a = -2.613125930F; - register f32 bias = 1024.0F; - q = Gq; - ws = &__THPIDCTWorkspace[0] - 2; - - { - register u32 itmp0, itmp1, itmp2, itmp3; - // clang-format off - asm { - li itmp2, 8 - mtctr itmp2 - - _loopHead0: - psq_l tmp10, 0(in), 0, 5 - psq_l tmp11, 0(q), 0, 0 - lwz itmp0, 12(in) - lwz itmp3, 8(in) - ps_mul tmp10, tmp10, tmp11 - lwz itmp1, 4(in) - lhz itmp2, 2(in) - or. itmp0, itmp0, itmp3 - - _loopHead1: - cmpwi itmp0, 0 - bne _regularIDCT - ps_merge00 tmp0, tmp10, tmp10 - cmpwi itmp1, 0 - psq_st tmp0, 8(ws), 0, 0 - bne _halfIDCT - psq_st tmp0, 16(ws), 0, 0 - cmpwi itmp2, 0 - psq_st tmp0, 24(ws), 0, 0 - bne _quarterIDCT - addi q, q, 8*sizeof(f32) - psq_stu tmp0, 32(ws), 0, 0 - addi in, in, 8*sizeof(THPCoeff) - bdnz _loopHead0 - b _loopEnd - - _quarterIDCT: - addi in, in, 8*sizeof(THPCoeff) - ps_msub tmp2, tmp10, cc2, tmp10 - addi q, q, 8*sizeof(f32) - ps_merge00 tmp9, tmp10, tmp10 - lwz itmp1, 4(in) - ps_sub tmp1, cc2, cc2c6s - ps_msub tmp3, tmp10, cc4, tmp2 - lhz itmp2, 2(in) - ps_merge11 tmp5, tmp10, tmp2 - psq_l tmp11, 0(q), 0, 0 - ps_nmsub tmp4, tmp10, tmp1, tmp3 - ps_add tmp7, tmp9, tmp5 - psq_l tmp10, 0(in), 0, 5 - ps_merge11 tmp6, tmp3, tmp4 - ps_sub tmp5, tmp9, tmp5 - lwz itmp0, 12(in) - ps_add tmp8, tmp9, tmp6 - lwz itmp3, 8(in) - ps_sub tmp6, tmp9, tmp6 - psq_stu tmp7, 8(ws), 0, 0 - ps_merge10 tmp6, tmp6, tmp6 - psq_stu tmp8, 8(ws), 0, 0 - ps_merge10 tmp5, tmp5, tmp5 - or itmp0, itmp0, itmp3 - psq_stu tmp6, 8(ws), 0, 0 - ps_mul tmp10, tmp10, tmp11 - psq_stu tmp5, 8(ws), 0, 0 - bdnz _loopHead1 - b _loopEnd - - _halfIDCT: - psq_l tmp1, 4(in), 0, 5 - psq_l tmp9, 8(q), 0, 0 - addi in, in, 8*sizeof(THPCoeff) - ps_mul tmp1, tmp1, tmp9 - addi q, q, 8*sizeof(f32) - ps_sub tmp3, tmp10, tmp1 - ps_add tmp2, tmp10, tmp1 - lwz itmp0, 12(in) - ps_madd tmp4, tmp1, cc4, tmp3 - ps_nmsub tmp5, tmp1, cc4, tmp2 - ps_mul tmp8, tmp3, cc2 - ps_merge00 tmp4, tmp2, tmp4 - lwz itmp3, 8(in) - ps_nmsub tmp6, tmp1, cc2c6a, tmp8 - ps_merge00 tmp5, tmp5, tmp3 - lwz itmp1, 4(in) - ps_sub tmp6, tmp6, tmp2 - ps_msub tmp7, tmp10, cc2c6s, tmp8 - lhz itmp2, 2(in) - ps_merge11 tmp2, tmp2, tmp6 - ps_msub tmp8, tmp3, cc4, tmp6 - psq_l tmp10, 0(in), 0, 5 - ps_add tmp9, tmp4, tmp2 - ps_add tmp7, tmp8, tmp7 - psq_l tmp11, 0(q), 0, 0 - ps_merge11 tmp3, tmp8, tmp7 - ps_sub tmp4, tmp4, tmp2 - psq_stu tmp9, 8(ws), 0, 0 - ps_add tmp0, tmp5, tmp3 - ps_sub tmp1, tmp5, tmp3 - or itmp0, itmp0, itmp3 - psq_stu tmp0, 8(ws), 0, 0 - ps_merge10 tmp1, tmp1, tmp1 - ps_merge10 tmp4, tmp4, tmp4 - psq_stu tmp1, 8(ws), 0, 0 - ps_mul tmp10, tmp10, tmp11 - psq_stu tmp4, 8(ws), 0, 0 - bdnz _loopHead1 - b _loopEnd - - _regularIDCT: - psq_l tmp9, 4(in), 0, 5 - psq_l tmp5, 8(q), 0, 0 - ps_mul tmp9, tmp9, tmp5 - psq_l tmp2, 8(in), 0, 5 - psq_l tmp6, 16(q), 0, 0 - ps_merge01 tmp0, tmp10, tmp9 - psq_l tmp3, 12(in), 0, 5 - ps_merge01 tmp1, tmp9, tmp10 - psq_l tmp7, 24(q), 0, 0 - addi in, in, 8*sizeof(THPCoeff) - ps_madd tmp4, tmp2, tmp6, tmp0 - ps_nmsub tmp5, tmp2, tmp6, tmp0 - ps_madd tmp6, tmp3, tmp7, tmp1 - ps_nmsub tmp7, tmp3, tmp7, tmp1 - addi q, q, 8*sizeof(f32) - ps_add tmp0, tmp4, tmp6 - ps_sub tmp3, tmp4, tmp6 - ps_msub tmp2, tmp7, cc4, tmp6 - lwz itmp0, 12(in) - ps_sub tmp8, tmp7, tmp5 - ps_add tmp1, tmp5, tmp2 - ps_sub tmp2, tmp5, tmp2 - ps_mul tmp8, tmp8, cc2 - lwz itmp3, 8(in) - ps_merge00 tmp1, tmp0, tmp1 - ps_nmsub tmp6, tmp5, cc2c6a, tmp8 - ps_msub tmp4, tmp7, cc2c6s, tmp8 - lwz itmp1, 4(in) - ps_sub tmp6, tmp6, tmp0 - ps_merge00 tmp2, tmp2, tmp3 - lhz itmp2, 2(in) - ps_madd tmp5, tmp3, cc4, tmp6 - ps_merge11 tmp7, tmp0, tmp6 - psq_l tmp10, 0(in), 0, 5 - ps_sub tmp4, tmp4, tmp5 - ps_add tmp3, tmp1, tmp7 - psq_l tmp11, 0(q), 0, 0 - ps_merge11 tmp4, tmp5, tmp4 - ps_sub tmp0, tmp1, tmp7 - ps_mul tmp10, tmp10, tmp11 - ps_add tmp5, tmp2, tmp4 - ps_sub tmp6, tmp2, tmp4 - ps_merge10 tmp5, tmp5, tmp5 - psq_stu tmp3, 8(ws), 0, 0 - ps_merge10 tmp0, tmp0, tmp0 - psq_stu tmp6, 8(ws), 0, 0 - psq_stu tmp5, 8(ws), 0, 0 - or itmp0, itmp0, itmp3 - psq_stu tmp0, 8(ws), 0, 0 - bdnz _loopHead1 - - _loopEnd: - - } - // clang-format on - } - - ws = &__THPIDCTWorkspace[0]; - - { - register THPSample *obase = Gbase; - register u32 wid = Gwid; - - register u32 itmp0, off0, off1; - register THPSample *out0, *out1; - - // clang-format off - asm { - psq_l tmp10, 8*0*sizeof(f32)(ws), 0, 0 - slwi xPos, xPos, 2 - psq_l tmp11, 8*4*sizeof(f32)(ws), 0, 0 - slwi off1, wid, 2 - psq_l tmp12, 8*2*sizeof(f32)(ws), 0, 0 - mr off0, xPos - ps_add tmp6, tmp10, tmp11 - psq_l tmp13, 8*6*sizeof(f32)(ws), 0, 0 - ps_sub tmp8, tmp10, tmp11 - add off1, off0, off1 - ps_add tmp6, tmp6, bias - li itmp0, 3 - ps_add tmp7, tmp12, tmp13 - add out0, obase, off0 - ps_sub tmp9, tmp12, tmp13 - ps_add tmp0, tmp6, tmp7 - add out1, obase, off1 - ps_add tmp8, tmp8, bias - mtctr itmp0 - - _loopHead10: - psq_l tmp4, 8*1*sizeof(f32)(ws), 0, 0 - ps_msub tmp9, tmp9, cc4, tmp7 - psq_l tmp5, 8*3*sizeof(f32)(ws), 0, 0 - ps_sub tmp3, tmp6, tmp7 - ps_add tmp1, tmp8, tmp9 - psq_l tmp6, 8*5*sizeof(f32)(ws), 0, 0 - ps_sub tmp2, tmp8, tmp9 - psq_l tmp7, 8*7*sizeof(f32)(ws), 0, 0 - ps_add tmp8, tmp6, tmp5 - ps_sub tmp6, tmp6, tmp5 - addi ws, ws, 2*sizeof(f32) - ps_add tmp9, tmp4, tmp7 - ps_sub tmp4, tmp4, tmp7 - psq_l tmp10, 8*0*sizeof(f32)(ws), 0, 0 - ps_add tmp7, tmp9, tmp8 - ps_sub tmp5, tmp9, tmp8 - ps_add tmp8, tmp6, tmp4 - psq_l tmp11, 8*4*sizeof(f32)(ws), 0, 0 - ps_add tmp9, tmp0, tmp7 - ps_mul tmp8, tmp8, cc2 - psq_l tmp12, 8*2*sizeof(f32)(ws), 0, 0 - ps_sub tmp23, tmp0, tmp7 - ps_madd tmp6, tmp6, cc2c6a, tmp8 - psq_l tmp13, 8*6*sizeof(f32)(ws), 0, 0 - ps_sub tmp6, tmp6, tmp7 - addi off0, off0, 2*sizeof(THPSample) - psq_st tmp9, 0(out0), 0, 6 - ps_msub tmp4, tmp4, cc2c6s, tmp8 - ps_add tmp9, tmp1, tmp6 - ps_msub tmp5, tmp5, cc4, tmp6 - ps_sub tmp22, tmp1, tmp6 - psq_st tmp9, 8(out0), 0, 6 - ps_add tmp8, tmp2, tmp5 - ps_add tmp4, tmp4, tmp5 - psq_st tmp8, 16(out0), 0, 6 - addi off1, off1, 2*sizeof(THPSample) - ps_sub tmp9, tmp3, tmp4 - ps_add tmp20, tmp3, tmp4 - psq_st tmp9, 24(out0), 0, 6 - ps_sub tmp21, tmp2, tmp5 - ps_add tmp6, tmp10, tmp11 - psq_st tmp20, 0(out1), 0, 6 - ps_sub tmp8, tmp10, tmp11 - ps_add tmp6, tmp6, bias - psq_st tmp21, 8(out1), 0, 6 - ps_add tmp7, tmp12, tmp13 - ps_sub tmp9, tmp12, tmp13 - psq_st tmp22, 16(out1), 0, 6 - add out0, obase, off0 - ps_add tmp0, tmp6, tmp7 - psq_st tmp23, 24(out1), 0, 6 - ps_add tmp8, tmp8, bias - add out1, obase, off1 - bdnz _loopHead10 - psq_l tmp4, 8*1*sizeof(f32)(ws), 0, 0 - ps_msub tmp9, tmp9, cc4, tmp7 - psq_l tmp5, 8*3*sizeof(f32)(ws), 0, 0 - ps_sub tmp3, tmp6, tmp7 - ps_add tmp1, tmp8, tmp9 - psq_l tmp6, 8*5*sizeof(f32)(ws), 0, 0 - ps_sub tmp2, tmp8, tmp9 - psq_l tmp7, 8*7*sizeof(f32)(ws), 0, 0 - ps_add tmp8, tmp6, tmp5 - ps_sub tmp6, tmp6, tmp5 - ps_add tmp9, tmp4, tmp7 - ps_sub tmp4, tmp4, tmp7 - ps_add tmp7, tmp9, tmp8 - ps_sub tmp5, tmp9, tmp8 - ps_add tmp8, tmp6, tmp4 - ps_add tmp9, tmp0, tmp7 - ps_mul tmp8, tmp8, cc2 - ps_sub tmp23, tmp0, tmp7 - ps_madd tmp6, tmp6, cc2c6a, tmp8 - psq_st tmp9, 0(out0), 0, 6 - ps_sub tmp6, tmp6, tmp7 - ps_msub tmp4, tmp4, cc2c6s, tmp8 - psq_st tmp23, 24(out1), 0, 6 - ps_add tmp9, tmp1, tmp6 - ps_msub tmp5, tmp5, cc4, tmp6 - ps_sub tmp22, tmp1, tmp6 - psq_st tmp9, 8(out0), 0, 6 - ps_add tmp8, tmp2, tmp5 - ps_add tmp4, tmp4, tmp5 - psq_st tmp22, 16(out1), 0, 6 - psq_st tmp8, 16(out0), 0, 6 - ps_sub tmp9, tmp3, tmp4 - ps_add tmp20, tmp3, tmp4 - psq_st tmp9, 24(out0), 0, 6 - ps_sub tmp21, tmp2, tmp5 - psq_st tmp20, 0(out1), 0, 6 - psq_st tmp21, 8(out1), 0, 6 - } - // clang-format on - } -} - -inline void __THPInverseDCTY8(register THPCoeff *in, register u32 xPos) -{ - register f32 *q, *ws; - register f32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9; - register f32 tmp10, tmp11, tmp12, tmp13; - register f32 tmp20, tmp21, tmp22, tmp23; - register f32 cc4 = 1.414213562F; - register f32 cc2 = 1.847759065F; - register f32 cc2c6s = 1.082392200F; - register f32 cc2c6a = -2.613125930F; - register f32 bias = 1024.0F; - - q = Gq; - ws = &__THPIDCTWorkspace[0] - 2; - - { - register u32 itmp0, itmp1, itmp2, itmp3; - - // clang-format off - asm { - li itmp2, 8 - mtctr itmp2 - - _loopHead0: - psq_l tmp10, 0(in), 0, 5 - psq_l tmp11, 0(q), 0, 0 - lwz itmp0, 12(in) - lwz itmp3, 8(in) - ps_mul tmp10, tmp10, tmp11 - lwz itmp1, 4(in) - lhz itmp2, 2(in) - or itmp0, itmp0, itmp3 - - _loopHead1: - cmpwi itmp0, 0 - bne _regularIDCT - ps_merge00 tmp0, tmp10, tmp10 - cmpwi itmp1, 0 - psq_st tmp0, 8(ws), 0, 0 - bne _halfIDCT - psq_st tmp0, 16(ws), 0, 0 - cmpwi itmp2, 0 - psq_st tmp0, 24(ws), 0, 0 - bne _quarterIDCT - addi q, q, 8*sizeof(f32) - psq_stu tmp0, 32(ws), 0, 0 - addi in, in, 8*sizeof(THPCoeff) - bdnz _loopHead0 - b _loopEnd - - _quarterIDCT: - ps_msub tmp2, tmp10, cc2, tmp10 - addi in, in, 8*sizeof(THPCoeff) - ps_merge00 tmp9, tmp10, tmp10 - addi q, q, 8*sizeof(f32) - ps_sub tmp1, cc2, cc2c6s - lwz itmp1, 4(in) - ps_msub tmp3, tmp10, cc4, tmp2 - lhz itmp2, 2(in) - ps_merge11 tmp5, tmp10, tmp2 - psq_l tmp11, 0(q), 0, 0 - ps_nmsub tmp4, tmp10, tmp1, tmp3 - ps_add tmp7, tmp9, tmp5 - psq_l tmp10, 0(in), 0, 5 - ps_merge11 tmp6, tmp3, tmp4 - ps_sub tmp5, tmp9, tmp5 - lwz itmp0, 12(in) - ps_add tmp8, tmp9, tmp6 - lwz itmp3, 8(in) - ps_sub tmp6, tmp9, tmp6 - psq_stu tmp7, 8(ws), 0, 0 - ps_merge10 tmp6, tmp6, tmp6 - psq_stu tmp8, 8(ws), 0, 0 - ps_merge10 tmp5, tmp5, tmp5 - or itmp0, itmp0, itmp3 - psq_stu tmp6, 8(ws), 0, 0 - ps_mul tmp10, tmp10, tmp11 - psq_stu tmp5, 8(ws), 0, 0 - bdnz _loopHead1 - b _loopEnd - - _halfIDCT: - psq_l tmp1, 4(in), 0, 5 - psq_l tmp9, 8(q), 0, 0 - addi in, in, 8*sizeof(THPCoeff) - ps_mul tmp1, tmp1, tmp9 - addi q, q, 8*sizeof(f32) - ps_sub tmp3, tmp10, tmp1 - ps_add tmp2, tmp10, tmp1 - lwz itmp0, 12(in) - ps_madd tmp4, tmp1, cc4, tmp3 - ps_nmsub tmp5, tmp1, cc4, tmp2 - ps_mul tmp8, tmp3, cc2 - ps_merge00 tmp4, tmp2, tmp4 - lwz itmp3, 8(in) - ps_nmsub tmp6, tmp1, cc2c6a, tmp8 - ps_merge00 tmp5, tmp5, tmp3 - lwz itmp1, 4(in) - ps_sub tmp6, tmp6, tmp2 - ps_msub tmp7, tmp10, cc2c6s, tmp8 - lhz itmp2, 2(in) - ps_merge11 tmp2, tmp2, tmp6 - ps_msub tmp8, tmp3, cc4, tmp6 - psq_l tmp10, 0(in), 0, 5 - ps_add tmp9, tmp4, tmp2 - ps_add tmp7, tmp8, tmp7 - psq_l tmp11, 0(q), 0, 0 - ps_merge11 tmp3, tmp8, tmp7 - ps_sub tmp4, tmp4, tmp2 - psq_stu tmp9, 8(ws), 0, 0 - ps_add tmp0, tmp5, tmp3 - ps_sub tmp1, tmp5, tmp3 - or itmp0, itmp0, itmp3 - psq_stu tmp0, 8(ws), 0, 0 - ps_merge10 tmp1, tmp1, tmp1 - ps_merge10 tmp4, tmp4, tmp4 - psq_stu tmp1, 8(ws), 0, 0 - ps_mul tmp10, tmp10, tmp11 - psq_stu tmp4, 8(ws), 0, 0 - bdnz _loopHead1 - b _loopEnd - - _regularIDCT: - psq_l tmp9, 4(in), 0, 5 - psq_l tmp5, 8(q), 0, 0 - ps_mul tmp9, tmp9, tmp5 - psq_l tmp2, 8(in), 0, 5 - psq_l tmp6, 16(q), 0, 0 - ps_merge01 tmp0, tmp10, tmp9 - psq_l tmp3, 12(in), 0, 5 - ps_merge01 tmp1, tmp9, tmp10 - psq_l tmp7, 24(q), 0, 0 - addi in, in, 8*sizeof(THPCoeff) - ps_madd tmp4, tmp2, tmp6, tmp0 - ps_nmsub tmp5, tmp2, tmp6, tmp0 - ps_madd tmp6, tmp3, tmp7, tmp1 - ps_nmsub tmp7, tmp3, tmp7, tmp1 - addi q, q, 8*sizeof(f32) - ps_add tmp0, tmp4, tmp6 - ps_sub tmp3, tmp4, tmp6 - ps_msub tmp2, tmp7, cc4, tmp6 - lwz itmp0, 12(in) - ps_sub tmp8, tmp7, tmp5 - ps_add tmp1, tmp5, tmp2 - ps_sub tmp2, tmp5, tmp2 - ps_mul tmp8, tmp8, cc2 - lwz itmp3, 8(in) - ps_merge00 tmp1, tmp0, tmp1 - ps_nmsub tmp6, tmp5, cc2c6a, tmp8 - ps_msub tmp4, tmp7, cc2c6s, tmp8 - lwz itmp1, 4(in) - ps_sub tmp6, tmp6, tmp0 - ps_merge00 tmp2, tmp2, tmp3 - lhz itmp2, 2(in) - ps_madd tmp5, tmp3, cc4, tmp6 - ps_merge11 tmp7, tmp0, tmp6 - psq_l tmp10, 0(in), 0, 5 - ps_sub tmp4, tmp4, tmp5 - ps_add tmp3, tmp1, tmp7 - psq_l tmp11, 0(q), 0, 0 - ps_merge11 tmp4, tmp5, tmp4 - ps_sub tmp0, tmp1, tmp7 - ps_mul tmp10, tmp10, tmp11 - ps_add tmp5, tmp2, tmp4 - ps_sub tmp6, tmp2, tmp4 - ps_merge10 tmp5, tmp5, tmp5 - psq_stu tmp3, 8(ws), 0, 0 - ps_merge10 tmp0, tmp0, tmp0 - psq_stu tmp6, 8(ws), 0, 0 - psq_stu tmp5, 8(ws), 0, 0 - or itmp0, itmp0, itmp3 - psq_stu tmp0, 8(ws), 0, 0 - bdnz _loopHead1 - - _loopEnd: - - } - // clang-format on - } - - ws = &__THPIDCTWorkspace[0]; - - { - register THPSample *obase = Gbase; - register u32 wid = Gwid; - - register u32 itmp0, off0, off1; - register THPSample *out0, *out1; - - // clang-format off - asm { - psq_l tmp10, 8*0*sizeof(f32)(ws), 0, 0 - slwi off0, wid, 3; - psq_l tmp11, 8*4*sizeof(f32)(ws), 0, 0 - slwi xPos, xPos, 2 - psq_l tmp12, 8*2*sizeof(f32)(ws), 0, 0 - slwi off1, wid, 2 - ps_add tmp6, tmp10, tmp11 - add off0, off0, xPos - psq_l tmp13, 8*6*sizeof(f32)(ws), 0, 0 - ps_sub tmp8, tmp10, tmp11 - add off1, off0, off1 - ps_add tmp6, tmp6, bias - li itmp0, 3 - ps_add tmp7, tmp12, tmp13 - add out0, obase, off0 - ps_sub tmp9, tmp12, tmp13 - ps_add tmp0, tmp6, tmp7 - add out1, obase, off1 - ps_add tmp8, tmp8, bias - mtctr itmp0 - - _loopHead10: - psq_l tmp4, 8*1*sizeof(f32)(ws), 0, 0 - ps_msub tmp9, tmp9, cc4, tmp7 - psq_l tmp5, 8*3*sizeof(f32)(ws), 0, 0 - ps_sub tmp3, tmp6, tmp7 - ps_add tmp1, tmp8, tmp9 - psq_l tmp6, 8*5*sizeof(f32)(ws), 0, 0 - ps_sub tmp2, tmp8, tmp9 - psq_l tmp7, 8*7*sizeof(f32)(ws), 0, 0 - ps_add tmp8, tmp6, tmp5 - ps_sub tmp6, tmp6, tmp5 - addi ws, ws, 2*sizeof(f32) - ps_add tmp9, tmp4, tmp7 - ps_sub tmp4, tmp4, tmp7 - psq_l tmp10, 8*0*sizeof(f32)(ws), 0, 0 - ps_add tmp7, tmp9, tmp8 - ps_sub tmp5, tmp9, tmp8 - ps_add tmp8, tmp6, tmp4 - psq_l tmp11, 8*4*sizeof(f32)(ws), 0, 0 - ps_add tmp9, tmp0, tmp7 - ps_mul tmp8, tmp8, cc2 - psq_l tmp12, 8*2*sizeof(f32)(ws), 0, 0 - ps_sub tmp23, tmp0, tmp7 - ps_madd tmp6, tmp6, cc2c6a, tmp8 - psq_l tmp13, 8*6*sizeof(f32)(ws), 0, 0 - ps_sub tmp6, tmp6, tmp7 - addi off0, off0, 2*sizeof(THPSample) - psq_st tmp9, 0(out0), 0, 6 - ps_msub tmp4, tmp4, cc2c6s, tmp8 - ps_add tmp9, tmp1, tmp6 - ps_msub tmp5, tmp5, cc4, tmp6 - ps_sub tmp22, tmp1, tmp6 - psq_st tmp9, 8(out0), 0, 6 - ps_add tmp8, tmp2, tmp5 - ps_add tmp4, tmp4, tmp5 - psq_st tmp8, 16(out0), 0, 6 - addi off1, off1, 2*sizeof(THPSample) - ps_sub tmp9, tmp3, tmp4 - ps_add tmp20, tmp3, tmp4 - psq_st tmp9, 24(out0), 0, 6 - ps_sub tmp21, tmp2, tmp5 - ps_add tmp6, tmp10, tmp11 - psq_st tmp20, 0(out1), 0, 6 - ps_sub tmp8, tmp10, tmp11 - ps_add tmp6, tmp6, bias - psq_st tmp21, 8(out1), 0, 6 - ps_add tmp7, tmp12, tmp13 - ps_sub tmp9, tmp12, tmp13 - psq_st tmp22, 16(out1), 0, 6 - add out0, obase, off0 - ps_add tmp0, tmp6, tmp7 - psq_st tmp23, 24(out1), 0, 6 - ps_add tmp8, tmp8, bias - add out1, obase, off1 - - bdnz _loopHead10 - psq_l tmp4, 8*1*sizeof(f32)(ws), 0, 0 - ps_msub tmp9, tmp9, cc4, tmp7 - psq_l tmp5, 8*3*sizeof(f32)(ws), 0, 0 - ps_sub tmp3, tmp6, tmp7 - ps_add tmp1, tmp8, tmp9 - psq_l tmp6, 8*5*sizeof(f32)(ws), 0, 0 - ps_sub tmp2, tmp8, tmp9 - psq_l tmp7, 8*7*sizeof(f32)(ws), 0, 0 - ps_add tmp8, tmp6, tmp5 - ps_sub tmp6, tmp6, tmp5 - ps_add tmp9, tmp4, tmp7 - ps_sub tmp4, tmp4, tmp7 - ps_add tmp7, tmp9, tmp8 - ps_sub tmp5, tmp9, tmp8 - ps_add tmp8, tmp6, tmp4 - ps_add tmp9, tmp0, tmp7 - ps_mul tmp8, tmp8, cc2 - ps_sub tmp23, tmp0, tmp7 - ps_madd tmp6, tmp6, cc2c6a, tmp8 - psq_st tmp9, 0(out0), 0, 6 - ps_sub tmp6, tmp6, tmp7 - ps_msub tmp4, tmp4, cc2c6s, tmp8 - psq_st tmp23, 24(out1), 0, 6 - ps_add tmp9, tmp1, tmp6 - ps_msub tmp5, tmp5, cc4, tmp6 - ps_sub tmp22, tmp1, tmp6 - psq_st tmp9, 8(out0), 0, 6 - ps_add tmp8, tmp2, tmp5 - ps_add tmp4, tmp4, tmp5 - psq_st tmp8, 16(out0), 0, 6 - ps_sub tmp9, tmp3, tmp4 - psq_st tmp22, 16(out1), 0, 6 - ps_add tmp20, tmp3, tmp4 - psq_st tmp9, 24(out0), 0, 6 - ps_sub tmp21, tmp2, tmp5 - psq_st tmp20, 0(out1), 0, 6 - psq_st tmp21, 8(out1), 0, 6 - - } - // clang-format on - } -} - -static void __THPDecompressiMCURow512x448(void) -{ - u8 cl_num; - u32 x_pos; - THPComponent *comp; - - LCQueueWait(3); - - for (cl_num = 0; cl_num < __THPInfo->MCUsPerRow; cl_num++) { - __THPHuffDecodeDCTCompY(__THPInfo, __THPMCUBuffer[0]); - __THPHuffDecodeDCTCompY(__THPInfo, __THPMCUBuffer[1]); - __THPHuffDecodeDCTCompY(__THPInfo, __THPMCUBuffer[2]); - __THPHuffDecodeDCTCompY(__THPInfo, __THPMCUBuffer[3]); - __THPHuffDecodeDCTCompU(__THPInfo, __THPMCUBuffer[4]); - __THPHuffDecodeDCTCompV(__THPInfo, __THPMCUBuffer[5]); - - comp = &__THPInfo->components[0]; - Gbase = __THPLCWork512[0]; - Gwid = 512; - Gq = __THPInfo->quantTabs[comp->quantizationTableSelector]; - x_pos = (u32)(cl_num * 16); - __THPInverseDCTNoYPos(__THPMCUBuffer[0], x_pos); - __THPInverseDCTNoYPos(__THPMCUBuffer[1], x_pos + 8); - __THPInverseDCTY8(__THPMCUBuffer[2], x_pos); - __THPInverseDCTY8(__THPMCUBuffer[3], x_pos + 8); - - comp = &__THPInfo->components[1]; - Gbase = __THPLCWork512[1]; - Gwid = 256; - Gq = __THPInfo->quantTabs[comp->quantizationTableSelector]; - x_pos /= 2; - __THPInverseDCTNoYPos(__THPMCUBuffer[4], x_pos); - comp = &__THPInfo->components[2]; - Gbase = __THPLCWork512[2]; - Gq = __THPInfo->quantTabs[comp->quantizationTableSelector]; - __THPInverseDCTNoYPos(__THPMCUBuffer[5], x_pos); - - if (__THPInfo->RST != 0) { - if ((--__THPInfo->currMCU) == 0) { - __THPInfo->currMCU = __THPInfo->nMCU; - __THPInfo->cnt = 1 + ((__THPInfo->cnt + 6) & 0xFFFFFFF8); - - if (__THPInfo->cnt > 33) { - __THPInfo->cnt = 33; - } - - __THPInfo->components[0].predDC = 0; - __THPInfo->components[1].predDC = 0; - __THPInfo->components[2].predDC = 0; - } - } - } - - LCStoreData(__THPInfo->dLC[0], __THPLCWork512[0], 0x2000); - LCStoreData(__THPInfo->dLC[1], __THPLCWork512[1], 0x800); - LCStoreData(__THPInfo->dLC[2], __THPLCWork512[2], 0x800); - - __THPInfo->dLC[0] += 0x2000; - __THPInfo->dLC[1] += 0x800; - __THPInfo->dLC[2] += 0x800; -} - -inline s32 __THPHuffDecodeTab(register THPFileInfo *info, register THPHuffmanTab *h) -{ - register s32 code; - register u32 cnt; - register s32 cb; - register u32 increment; - register s32 tmp; - - // clang-format off - asm - { - lwz cnt, info->cnt; - addi increment, h, 32; - lwz cb, info->currByte; - addi code, cnt, 4; - cmpwi cnt, 28; - rlwnm tmp, cb, code, 27, 31; - bgt _notEnoughBits; - lbzx code, h, tmp; - lbzx increment, increment, tmp; - cmpwi code, 0xFF; - beq _FailedCheckEnoughBits; - add cnt, cnt, increment; - stw cnt, info->cnt; - } - // clang-format on -_done: - return code; - - { - register u32 maxcodebase; - register u32 tmp2; - - _FailedCheckEnoughBits: - maxcodebase = (u32) & (h->maxCode); - cnt += 5; - - // clang-format off - asm { - li tmp2, sizeof(s32)*(5); - li code, 5; - add maxcodebase, maxcodebase, tmp2; - __WHILE_START: - cmpwi cnt, 33; - slwi tmp, tmp, 1 - - beq _FCEB_faster; - rlwnm increment, cb, cnt, 31, 31; - lwzu tmp2, 4(maxcodebase); - or tmp, tmp, increment - addi cnt, cnt, 1; - b __WHILE_CHECK; - - _FCEB_faster: - lwz increment, info->c; - li cnt, 1; - lwzu cb, 4(increment); - lwzu tmp2, 4(maxcodebase); - - stw increment, info->c; - rlwimi tmp, cb, 1,31,31; - stw cb, info->currByte; - b __FL_WHILE_CHECK; - - __FL_WHILE_START: - slwi tmp, tmp, 1; - rlwnm increment, cb, cnt, 31, 31; - lwzu tmp2, 4(maxcodebase); - or tmp, tmp, increment; - - __FL_WHILE_CHECK: - cmpw tmp,tmp2 - addi cnt, cnt, 1; - addi code, code, 1 - bgt __FL_WHILE_START; - b _FCEB_Done; - - __WHILE_CHECK: - cmpw tmp,tmp2 - addi code, code, 1 - bgt __WHILE_START; - } - // clang-format on - } -_FCEB_Done: - info->cnt = cnt; - return (h->Vij[(s32)(tmp + h->valPtr[code])]); - - // clang-format off - asm - { - _notEnoughBits: - cmpwi cnt, 33; - lwz tmp, info->c; - beq _getfullword; - - cmpwi cnt, 32; - rlwnm code, cb, code, 27, 31 - beq _1bitleft; - - lbzx tmp, h, code; - lbzx increment, increment, code; - cmpwi tmp, 0xFF; - add code, cnt, increment; - beq _FailedCheckNoBits0; - - cmpwi code, 33; - stw code, info->cnt; - bgt _FailedCheckNoBits1; - } - // clang-format on - return tmp; - - // clang-format off - asm - { - _1bitleft: - lwzu cb, 4(tmp); - - stw tmp, info->c; - rlwimi code, cb, 4, 28, 31; - lbzx tmp, h, code; - lbzx increment, increment, code - stw cb, info->currByte; - cmpwi tmp, 0xFF - stw increment, info->cnt; - beq _Read4; - - } - // clang-format on - return tmp; - -_Read4 : { - register u32 maxcodebase = (u32) & (h->maxCode); - register u32 tmp2; - - // clang-format off - asm - { - li cnt, sizeof(s32)*5; - add maxcodebase, maxcodebase, cnt; - - slwi tmp, code, 32-5; - li cnt,5; - rlwimi tmp, cb, 32-1, 1,31; - - __DR4_WHILE_START: - - subfic cb, cnt, 31; - lwzu tmp2, 4(maxcodebase); - srw code, tmp, cb; - __DR4_WHILE_CHECK: - cmpw code, tmp2 - addi cnt, cnt, 1 - bgt __DR4_WHILE_START; - - } - // clang-format on -} - - info->cnt = cnt; -__CODE_PLUS_VP_CNT: - return (h->Vij[(s32)(code + h->valPtr[cnt])]); - -_getfullword: - // clang-format off - asm - { - lwzu cb, 4(tmp); - - rlwinm code, cb, 5, 27, 31 - stw tmp, info->c; - lbzx cnt, h, code; - lbzx increment, increment, code; - cmpwi cnt, 0xFF - stw cb, info->currByte; - addi increment, increment, 1 - beq _FailedCheckEnoughbits_Updated; - - stw increment, info->cnt; - } - // clang-format on - return (s32)cnt; - -_FailedCheckEnoughbits_Updated: - - cnt = 5; - do { - // clang-format off - asm - { - subfic tmp, cnt, 31; - addi cnt, cnt, 1; - srw code, cb, tmp; - } - // clang-format on - } while (code > h->maxCode[cnt]); - - info->cnt = cnt + 1; - goto __CODE_PLUS_VP_CNT; - -_FailedCheckNoBits0: -_FailedCheckNoBits1 : - -{ - register u32 mask = 0xFFFFFFFF << (33 - cnt); - register u32 tmp2; - - code = (s32)(cb & (~mask)); - mask = (u32) & (h->maxCode); - - // clang-format off - asm - { - lwz tmp, info->c; - subfic tmp2, cnt, 33; - addi cnt, tmp2, 1; - slwi tmp2, tmp2, 2; - lwzu cb, 4(tmp); - add mask,mask, tmp2; - stw tmp, info->c; - slwi code, code, 1; - stw cb, info->currByte; - rlwimi code, cb, 1, 31, 31; - lwzu tmp2, 4(mask); - li tmp, 2; - b __FCNB1_WHILE_CHECK; - - __FCNB1_WHILE_START: - slwi code, code, 1; - - addi cnt, cnt, 1; - lwzu tmp2, 4(mask); - add code, code, increment; - addi tmp, tmp, 1; - - __FCNB1_WHILE_CHECK: - cmpw code, tmp2; - rlwnm increment, cb, tmp, 31, 31; - bgt __FCNB1_WHILE_START; - - } - // clang-format on -} - - info->cnt = (u32)tmp; - return (h->Vij[(s32)(code + h->valPtr[cnt])]); -} - -static void __THPDecompressiMCURow640x480(void) -{ - u8 cl_num; - u32 x_pos; - THPComponent *comp; - - LCQueueWait(3); - - { - for (cl_num = 0; cl_num < __THPInfo->MCUsPerRow; cl_num++) { - THPFileInfo *um = __THPInfo; - __THPHuffDecodeDCTCompY(um, __THPMCUBuffer[0]); - __THPHuffDecodeDCTCompY(__THPInfo, __THPMCUBuffer[1]); - __THPHuffDecodeDCTCompY(__THPInfo, __THPMCUBuffer[2]); - __THPHuffDecodeDCTCompY(__THPInfo, __THPMCUBuffer[3]); - __THPHuffDecodeDCTCompU(__THPInfo, __THPMCUBuffer[4]); - __THPHuffDecodeDCTCompV(__THPInfo, __THPMCUBuffer[5]); - - comp = &__THPInfo->components[0]; - Gbase = __THPLCWork640[0]; - Gwid = 640; - Gq = __THPInfo->quantTabs[comp->quantizationTableSelector]; - x_pos = (u32)(cl_num * 16); - __THPInverseDCTNoYPos(__THPMCUBuffer[0], x_pos); - __THPInverseDCTNoYPos(__THPMCUBuffer[1], x_pos + 8); - __THPInverseDCTY8(__THPMCUBuffer[2], x_pos); - __THPInverseDCTY8(__THPMCUBuffer[3], x_pos + 8); - - comp = &__THPInfo->components[1]; - Gbase = __THPLCWork640[1]; - Gwid = 320; - Gq = __THPInfo->quantTabs[comp->quantizationTableSelector]; - x_pos /= 2; - __THPInverseDCTNoYPos(__THPMCUBuffer[4], x_pos); - - comp = &__THPInfo->components[2]; - Gbase = __THPLCWork640[2]; - Gq = __THPInfo->quantTabs[comp->quantizationTableSelector]; - __THPInverseDCTNoYPos(__THPMCUBuffer[5], x_pos); - - if (__THPInfo->RST != 0) { - __THPInfo->currMCU--; - if (__THPInfo->currMCU == 0) { - __THPInfo->currMCU = __THPInfo->nMCU; - - __THPInfo->cnt = 1 + ((__THPInfo->cnt + 6) & 0xFFFFFFF8); - - if (__THPInfo->cnt > 32) { - __THPInfo->cnt = 33; - } - - __THPInfo->components[0].predDC = 0; - __THPInfo->components[1].predDC = 0; - __THPInfo->components[2].predDC = 0; - } - } - } - } - - LCStoreData(__THPInfo->dLC[0], __THPLCWork640[0], 0x2800); - LCStoreData(__THPInfo->dLC[1], __THPLCWork640[1], 0xA00); - LCStoreData(__THPInfo->dLC[2], __THPLCWork640[2], 0xA00); - - __THPInfo->dLC[0] += 0x2800; - __THPInfo->dLC[1] += 0xA00; - __THPInfo->dLC[2] += 0xA00; -} - -static void __THPDecompressiMCURowNxN(void) -{ - u8 cl_num; - u32 x_pos, x; - THPComponent *comp; - - x = __THPInfo->xPixelSize; - - LCQueueWait(3); - - for (cl_num = 0; cl_num < __THPInfo->MCUsPerRow; cl_num++) { - __THPHuffDecodeDCTCompY(__THPInfo, __THPMCUBuffer[0]); - __THPHuffDecodeDCTCompY(__THPInfo, __THPMCUBuffer[1]); - __THPHuffDecodeDCTCompY(__THPInfo, __THPMCUBuffer[2]); - __THPHuffDecodeDCTCompY(__THPInfo, __THPMCUBuffer[3]); - __THPHuffDecodeDCTCompU(__THPInfo, __THPMCUBuffer[4]); - __THPHuffDecodeDCTCompV(__THPInfo, __THPMCUBuffer[5]); - - comp = &__THPInfo->components[0]; - Gbase = __THPLCWork640[0]; - Gwid = x; - Gq = __THPInfo->quantTabs[comp->quantizationTableSelector]; - x_pos = (u32)(cl_num * 16); - __THPInverseDCTNoYPos(__THPMCUBuffer[0], x_pos); - __THPInverseDCTNoYPos(__THPMCUBuffer[1], x_pos + 8); - __THPInverseDCTY8(__THPMCUBuffer[2], x_pos); - __THPInverseDCTY8(__THPMCUBuffer[3], x_pos + 8); - - comp = &__THPInfo->components[1]; - Gbase = __THPLCWork640[1]; - Gwid = x / 2; - Gq = __THPInfo->quantTabs[comp->quantizationTableSelector]; - x_pos /= 2; - __THPInverseDCTNoYPos(__THPMCUBuffer[4], x_pos); - - comp = &__THPInfo->components[2]; - Gbase = __THPLCWork640[2]; - Gq = __THPInfo->quantTabs[comp->quantizationTableSelector]; - __THPInverseDCTNoYPos(__THPMCUBuffer[5], x_pos); - - if (__THPInfo->RST != 0) { - __THPInfo->currMCU--; - if (__THPInfo->currMCU == 0) { - __THPInfo->currMCU = __THPInfo->nMCU; - __THPInfo->cnt = 1 + ((__THPInfo->cnt + 6) & 0xFFFFFFF8); - - if (__THPInfo->cnt > 32) { - __THPInfo->cnt = 33; - } - - __THPInfo->components[0].predDC = 0; - __THPInfo->components[1].predDC = 0; - __THPInfo->components[2].predDC = 0; - } - } - } - - LCStoreData(__THPInfo->dLC[0], __THPLCWork640[0], ((4 * sizeof(u8) * 64) * (x / 16))); - LCStoreData(__THPInfo->dLC[1], __THPLCWork640[1], ((sizeof(u8) * 64) * (x / 16))); - LCStoreData(__THPInfo->dLC[2], __THPLCWork640[2], ((sizeof(u8) * 64) * (x / 16))); - __THPInfo->dLC[0] += ((4 * sizeof(u8) * 64) * (x / 16)); - __THPInfo->dLC[1] += ((sizeof(u8) * 64) * (x / 16)); - __THPInfo->dLC[2] += ((sizeof(u8) * 64) * (x / 16)); -} - -static void __THPHuffDecodeDCTCompY(register THPFileInfo *info, THPCoeff *block) -{ - { - register s32 t; - THPCoeff dc; - register THPCoeff diff; - - __dcbz((void *)block, 0); - t = __THPHuffDecodeTab(info, Ydchuff); - __dcbz((void *)block, 32); - diff = 0; - __dcbz((void *)block, 64); - - if (t) { - { - register s32 v; - register u32 cb; - register u32 cnt; - register u32 code; - register u32 tmp; - register u32 cnt1; - register u32 tmp1; - // clang-format off - asm { - lwz cnt,info->cnt; - subfic code,cnt,33; - lwz cb,info->currByte; - - subfc. tmp, code, t; - subi cnt1,cnt,1; - - bgt _notEnoughBitsDIFF; - add v,cnt,t; - - slw cnt,cb,cnt1; - stw v,info->cnt; - subfic v,t,32; - srw diff,cnt,v; - } - // clang-format on - - // clang-format off - asm - { - b _DoneDIFF; - _notEnoughBitsDIFF: - lwz tmp1, info->c; - slw v, cb, cnt1; - lwzu cb, 4(tmp1); - addi tmp, tmp, 1; - stw cb, info->currByte; - srw cb, cb, code; - stw tmp1, info->c; - add v, cb, v; - stw tmp, info->cnt; - subfic tmp, t, 32; - srw diff, v, tmp; - _DoneDIFF: - } - // clang-format on - } - - if (__cntlzw((u32)diff) > 32 - t) { - diff += ((0xFFFFFFFF << t) + 1); - } - }; - - __dcbz((void *)block, 96); - dc = (s16)(info->components[0].predDC + diff); - block[0] = info->components[0].predDC = dc; - } - - { - register s32 k; - register s32 code; - register u32 cnt; - register u32 cb; - register u32 increment; - register s32 tmp; - register THPHuffmanTab *h = Yachuff; - - // clang-format off - asm - { - lwz cnt, info->cnt; - addi increment, h, 32; - lwz cb, info->currByte; - } - // clang-format on - - for (k = 1; k < 64; k++) - { - register s32 ssss; - register s32 rrrr; - - // clang-format off - asm { - addi code, cnt, 4; - cmpwi cnt, 28; - rlwnm tmp, cb, code, 27, 31; - bgt _notEnoughBits; - - lbzx ssss, h, tmp; - lbzx code, increment, tmp; - cmpwi ssss, 0xFF; - - beq _FailedCheckEnoughBits; - add cnt, cnt, code; - b _DoneDecodeTab; - } - // clang-format on - - { - register u32 maxcodebase; - register u32 tmp2; - - _FailedCheckEnoughBits: - cnt += 5; - maxcodebase = (u32) & (h->maxCode); - // clang-format off - asm { - li tmp2, sizeof(s32)*(5); - li code, 5; - add maxcodebase, maxcodebase, tmp2; - __WHILE_START: - cmpwi cnt, 33; - slwi tmp, tmp, 1 - - beq _FCEB_faster; - rlwnm ssss, cb, cnt, 31, 31; - lwzu tmp2, 4(maxcodebase); - or tmp, tmp, ssss - addi cnt, cnt, 1; - b __WHILE_CHECK; - - _FCEB_faster: - lwz ssss, info->c; - li cnt, 1; - lwzu cb, 4(ssss); - - lwzu tmp2, 4(maxcodebase); - - stw ssss, info->c; - rlwimi tmp, cb, 1,31,31; - b __FL_WHILE_CHECK; - - __FL_WHILE_START: - slwi tmp, tmp, 1; - - rlwnm ssss, cb, cnt, 31, 31; - lwzu tmp2, 4(maxcodebase); - or tmp, tmp, ssss; - - __FL_WHILE_CHECK: - cmpw tmp,tmp2 - addi cnt, cnt, 1; - addi code, code, 1 - bgt __FL_WHILE_START; - b _FCEB_Done; - - __WHILE_CHECK: - cmpw tmp,tmp2 - addi code, code, 1 - bgt __WHILE_START; - } - // clang-format on - } - _FCEB_Done: - ssss = (h->Vij[(s32)(tmp + h->valPtr[code])]); - goto _DoneDecodeTab; - - _notEnoughBits: - // clang-format off - asm - { - cmpwi cnt, 33; - lwz tmp, info->c; - beq _getfullword; - - cmpwi cnt, 32; - rlwnm code, cb, code, 27, 31 - beq _1bitleft; - - lbzx ssss, h, code; - lbzx rrrr, increment, code; - cmpwi ssss, 0xFF; - add code, cnt, rrrr; - beq _FailedCheckNoBits0; - - cmpwi code, 33; - bgt _FailedCheckNoBits1; - } - // clang-format on - cnt = (u32)code; - goto _DoneDecodeTab; - - _getfullword : { - // clang-format off - asm - { - lwzu cb, 4(tmp); - rlwinm code, cb, 5, 27, 31 - stw tmp, info->c; - lbzx ssss, h, code; - lbzx tmp, increment, code; - cmpwi ssss, 0xFF - addi cnt, tmp, 1 - beq _FailedCheckEnoughbits_Updated; - } - // clang-format on - } - goto _DoneDecodeTab; - - _FailedCheckEnoughbits_Updated: - ssss = 5; - do { - // clang-format off - asm - { - subfic tmp, ssss, 31; - addi ssss, ssss, 1; - srw code, cb, tmp; - } - // clang-format on - } while (code > h->maxCode[ssss]); - - cnt = (u32)(ssss + 1); - ssss = (h->Vij[(s32)(code + h->valPtr[ssss])]); - - goto _DoneDecodeTab; - - _1bitleft: - // clang-format off - asm { - lwzu cb, 4(tmp); - - stw tmp, info->c; - rlwimi code, cb, 4, 28, 31; - lbzx ssss, h, code; - lbzx cnt, increment, code - cmpwi ssss, 0xFF - beq _Read4; - - } - // clang-format on - - goto _DoneDecodeTab; - - _Read4 : { - register u32 maxcodebase = (u32) & (h->maxCode); - register u32 tmp2; - - // clang-format off - asm { - li cnt, sizeof(s32)*5; - add maxcodebase, maxcodebase, cnt; - - slwi tmp, code, 32-5; - li cnt,5; - rlwimi tmp, cb, 32-1, 1,31; - - __DR4_WHILE_START: - - subfic ssss, cnt, 31; - lwzu tmp2, 4(maxcodebase); - srw code, tmp, ssss; - __DR4_WHILE_CHECK: - cmpw code, tmp2 - addi cnt, cnt, 1 - bgt __DR4_WHILE_START; - - } - // clang-format on - } - ssss = (h->Vij[(s32)(code + h->valPtr[cnt])]); - goto _DoneDecodeTab; - - _FailedCheckNoBits0: - _FailedCheckNoBits1: - _REALFAILEDCHECKNOBITS : { - register u32 mask = 0xFFFFFFFF << (33 - cnt); - register u32 tmp2; - register u32 tmp3; - code = (s32)(cb & (~mask)); - mask = (u32) & (h->maxCode); - - // clang-format off - asm { - lwz tmp, info->c; - subfic tmp2, cnt, 33; - addi tmp3, tmp2, 1; - slwi tmp2, tmp2, 2; - lwzu cb, 4(tmp); - add mask,mask, tmp2; - stw tmp, info->c; - slwi code, code, 1; - rlwimi code, cb, 1, 31, 31; - lwzu tmp2, 4(mask); - li cnt, 2; - b __FCNB1_WHILE_CHECK; - - __FCNB1_WHILE_START: - slwi code, code, 1; - - addi tmp3, tmp3, 1; - lwzu tmp2, 4(mask); - add code, code, rrrr; - addi cnt, cnt, 1; - - __FCNB1_WHILE_CHECK: - cmpw code, tmp2; - rlwnm rrrr, cb, cnt, 31, 31; - bgt __FCNB1_WHILE_START; - - } - // clang-format on - ssss = (h->Vij[(s32)(code + h->valPtr[tmp3])]); - } - - goto _DoneDecodeTab; - - _DoneDecodeTab: - // clang-format off - asm { - andi. rrrr, ssss, 15; - srawi ssss, ssss, 4; - beq _RECV_SSSS_ZERO; - } - // clang-format on - - { - k += ssss; - { - register s32 v; - register u32 cnt1; - register u32 tmp1; - // clang-format off - asm - { - subfic code,cnt,33; - subfc. tmp, code, rrrr; - subi cnt1,cnt,1; - bgt _RECVnotEnoughBits; - add cnt,cnt,rrrr; - slw tmp1,cb,cnt1; - subfic v,rrrr,32; - srw ssss,tmp1,v; - } - // clang-format on - // clang-format off - asm - { - b _RECVDone; - _RECVnotEnoughBits: - lwz tmp1, info->c; - slw v, cb, cnt1; - lwzu cb, 4(tmp1); - addi cnt, tmp, 1; - stw tmp1, info->c; - srw tmp1, cb, code; - - add v, tmp1, v; - subfic tmp, rrrr, 32; - srw ssss, v, tmp; - _RECVDone: - } - // clang-format on - } - - if (__cntlzw((u32)ssss) > 32 - rrrr) { - ssss += ((0xFFFFFFFF << rrrr) + 1); - } - - block[__THPJpegNaturalOrder[k]] = (s16)ssss; - goto _RECV_END; - } - - { - _RECV_SSSS_ZERO: - if (ssss != 15) { - break; - } - - k += 15; - }; - - // clang-format off - asm - { - _RECV_END: - } - // clang-format on - } - info->cnt = cnt; - info->currByte = cb; - } -} - -static void __THPHuffDecodeDCTCompU(register THPFileInfo *info, THPCoeff *block) -{ - register s32 t; - register THPCoeff diff; - THPCoeff dc; - register s32 v; - register u32 cb; - register u32 cnt; - register u32 cnt33; - register u32 tmp; - register u32 cnt1; - register u32 tmp1; - register s32 k; - register s32 ssss; - register s32 rrrr; - - __dcbz((void *)block, 0); - t = __THPHuffDecodeTab(info, Udchuff); - __dcbz((void *)block, 32); - diff = 0; - __dcbz((void *)block, 64); - - if (t) { - // clang-format off - asm - { - lwz cnt,info->cnt; - subfic cnt33,cnt,33; - lwz cb,info->currByte; - subfc. tmp, cnt33, t; - subi cnt1,cnt,1; - bgt _notEnoughBitsDIFF; - add v,cnt,t; - slw cnt,cb,cnt1; - stw v,info->cnt; - subfic v,t,32; - srw diff,cnt,v; - } - // clang-format on - - // clang-format off - asm - { - b _DoneDIFF; - _notEnoughBitsDIFF: - lwz tmp1, info->c; - slw v, cb, cnt1; - lwzu cb, 4(tmp1); - addi tmp, tmp, 1; - stw cb, info->currByte; - srw cb, cb, cnt33; - stw tmp1, info->c; - add v, cb, v; - stw tmp, info->cnt; - subfic tmp, t, 32; - srw diff, v, tmp; - _DoneDIFF: - } - // clang-format on - - if (__cntlzw((u32)diff) > 32 - t) { - diff += ((0xFFFFFFFF << t) + 1); - } - } - - __dcbz((void *)block, 96); - dc = (s16)(info->components[1].predDC + diff); - block[0] = info->components[1].predDC = dc; - - for (k = 1; k < 64; k++) { - ssss = __THPHuffDecodeTab(info, Uachuff); - rrrr = ssss >> 4; - ssss &= 15; - - if (ssss) { - k += rrrr; - // clang-format off - asm - { - lwz cnt,info->cnt; - subfic cnt33,cnt,33; - lwz cb,info->currByte; - subf. tmp, cnt33, ssss; - subi cnt1,cnt,1; - bgt _notEnoughBits; - add v,cnt,ssss; - slw cnt,cb,cnt1; - stw v,info->cnt; - subfic v,ssss,32; - srw rrrr,cnt,v; - } - // clang-format on - - // clang-format off - asm - { - b _Done; - _notEnoughBits: - lwz tmp1, info->c; - slw v, cb, cnt1; - lwzu cb, 4(tmp1); - addi tmp, tmp, 1; - stw cb, info->currByte; - srw cb, cb, cnt33; - stw tmp1, info->c; - add v, cb, v; - stw tmp, info->cnt; - subfic tmp, ssss, 32; - srw rrrr, v, tmp; - _Done: - } - // clang-format on - - if (__cntlzw((u32)rrrr) > 32 - ssss) { - rrrr += ((0xFFFFFFFF << ssss) + 1); - } - - block[__THPJpegNaturalOrder[k]] = (s16)rrrr; - } - - else { - if (rrrr != 15) - break; - k += 15; - } - } -} - -static void __THPHuffDecodeDCTCompV(register THPFileInfo *info, THPCoeff *block) -{ - register s32 t; - register THPCoeff diff; - THPCoeff dc; - register s32 v; - register u32 cb; - register u32 cnt; - register u32 cnt33; - register u32 tmp; - register u32 cnt1; - register u32 tmp1; - register s32 k; - register s32 ssss; - register s32 rrrr; - - __dcbz((void *)block, 0); - t = __THPHuffDecodeTab(info, Vdchuff); - __dcbz((void *)block, 32); - diff = 0; - __dcbz((void *)block, 64); - - if (t) { - // clang-format off - asm - { - lwz cnt,info->cnt; - subfic cnt33,cnt,33; - lwz cb,info->currByte; - subf. tmp, cnt33, t; - subi cnt1,cnt,1; - bgt _notEnoughBitsDIFF; - add v,cnt,t; - slw cnt,cb,cnt1; - stw v,info->cnt; - subfic v,t,32; - srw diff,cnt,v; - } - // clang-format on - - // clang-format off - asm - { - b _DoneDIFF; - _notEnoughBitsDIFF: - lwz tmp1, info->c; - slw v, cb, cnt1; - lwzu cb, 4(tmp1); - addi tmp, tmp, 1; - stw cb, info->currByte; - srw cb, cb, cnt33; - stw tmp1, info->c; - add v, cb, v; - stw tmp, info->cnt; - subfic tmp, t, 32; - srw diff, v, tmp; - _DoneDIFF: - } - // clang-format on - - if (__cntlzw((u32)diff) > 32 - t) { - diff += ((0xFFFFFFFF << t) + 1); - } - } - - __dcbz((void *)block, 96); - - dc = (s16)(info->components[2].predDC + diff); - block[0] = info->components[2].predDC = dc; - - for (k = 1; k < 64; k++) { - ssss = __THPHuffDecodeTab(info, Vachuff); - rrrr = ssss >> 4; - ssss &= 15; - - if (ssss) { - k += rrrr; - - // clang-format off - asm - { - lwz cnt,info->cnt; - subfic cnt33,cnt,33; - lwz cb,info->currByte; - - subf. tmp, cnt33, ssss; - subi cnt1,cnt,1; - - bgt _notEnoughBits; - add v,cnt,ssss; - - slw cnt,cb,cnt1; - stw v,info->cnt; - subfic v,ssss,32; - srw rrrr,cnt,v; - } - // clang-format on - - // clang-format off - asm - { - b _Done; - _notEnoughBits: - lwz tmp1, info->c; - slw v, cb, cnt1; - lwzu cb, 4(tmp1); - addi tmp, tmp, 1; - stw cb, info->currByte; - srw cb, cb, cnt33; - stw tmp1, info->c; - add v, cb, v; - stw tmp, info->cnt; - subfic tmp, ssss, 32; - srw rrrr, v, tmp; - _Done: - } - // clang-format on - - if (__cntlzw((u32)rrrr) > 32 - ssss) { - rrrr += ((0xFFFFFFFF << ssss) + 1); - } - - block[__THPJpegNaturalOrder[k]] = (s16)rrrr; - } - else { - if (rrrr != 15) - break; - k += 15; - } - } -} - -BOOL THPInit(void) -{ - u8 *base; - base = (u8 *)(0xE000 << 16); - - __THPLCWork512[0] = base; - base += 0x2000; - __THPLCWork512[1] = base; - base += 0x800; - __THPLCWork512[2] = base; - base += 0x200; - - base = (u8 *)(0xE000 << 16); - __THPLCWork640[0] = base; - base += 0x2800; - __THPLCWork640[1] = base; - base += 0xA00; - __THPLCWork640[2] = base; - base += 0xA00; - - OSInitFastCast(); - - __THPInitFlag = TRUE; - return TRUE; -} diff --git a/src/dolphin/vi.c b/src/dolphin/vi.c deleted file mode 100644 index 3cdedba0..00000000 --- a/src/dolphin/vi.c +++ /dev/null @@ -1,943 +0,0 @@ -#include "dolphin/vi.h" -#include "dolphin/OSRtcPriv.h" -#include "dolphin/hw_regs.h" -#include "dolphin/os.h" - -// Useful macros. -#define CLAMP(x, l, h) (((x) > (h)) ? (h) : (((x) < (l)) ? (l) : (x))) -#define MIN(a, b) (((a) < (b)) ? (a) : (b)) -#define MAX(a, b) (((a) > (b)) ? (a) : (b)) -#define IS_LOWER_16MB(x) ((x) < 16 * 1024 * 1024) -#define ToPhysical(fb) (u32)(((u32)(fb)) & 0x3FFFFFFF) -#define ONES(x) ((1 << (x)) - 1) -#define VI_BITMASK(index) (1ull << (63 - (index))) - -static BOOL IsInitialized; -static vu32 retraceCount; -static u32 flushFlag; -static OSThreadQueue retraceQueue; -static VIRetraceCallback PreCB; -static VIRetraceCallback PostCB; -static u32 encoderType; - -static s16 displayOffsetH; -static s16 displayOffsetV; - -static vu32 changeMode; -static vu64 changed; - -static vu32 shdwChangeMode; -static vu64 shdwChanged; - -static VITimingInfo *CurrTiming; -static u32 CurrTvMode; - -static u32 NextBufAddr; -static u32 CurrBufAddr; - -static u32 FBSet; - -static vu16 regs[60]; -static vu16 shdwRegs[60]; - -static VIPositionInfo HorVer; -// clang-format off -static VITimingInfo timing[8] = { - { // NTSC INT - 6, 240, 24, 25, 3, 2, 12, 13, 12, 13, 520, 519, 520, 519, 525, 429, 64, 71, 105, 162, 373, 122, 412, - }, - { // NTSC DS - 6, 240, 24, 24, 4, 4, 12, 12, 12, 12, 520, 520, 520, 520, 526, 429, 64, 71, 105, 162, 373, 122, 412, - }, - { // PAL INT - 5, 287, 35, 36, 1, 0, 13, 12, 11, 10, 619, 618, 617, 620, 625, 432, 64, 75, 106, 172, 380, 133, 420, - }, - { // PAL DS - 5, 287, 33, 33, 2, 2, 13, 11, 13, 11, 619, 621, 619, 621, 624, 432, 64, 75, 106, 172, 380, 133, 420, - }, - { // MPAL INT - 6, 240, 24, 25, 3, 2, 16, 15, 14, 13, 518, 517, 516, 519, 525, 429, 64, 78, 112, 162, 373, 122, 412, - }, - { // MPAL DS - 6, 240, 24, 24, 4, 4, 16, 14, 16, 14, 518, 520, 518, 520, 526, 429, 64, 78, 112, 162, 373, 122, 412, - }, - { // NTSC PRO - 12, 480, 48, 48, 6, 6, 24, 24, 24, 24, 1038, 1038, 1038, 1038, 1050, 429, 64, 71, 105, 162, 373, 122, 412, - }, - { // NTSC 3D - 12, 480, 44, 44, 10, 10, 24, 24, 24, 24, 1038, 1038, 1038, 1038, 1050, 429, 64, 71, 105, 168, 379, 122, 412, - }, -}; -// clang-format on - -static u16 taps[25] = { 496, 476, 430, 372, 297, 219, 142, 70, 12, 226, 203, 192, 196, 207, 222, 236, 252, 8, 15, 19, 19, 15, 12, 8, 1 }; - -// forward declaring statics -static u32 getCurrentFieldEvenOdd(); - -static void getEncoderType(void) -{ - // UNUSED FUNCTION -} - -static int cntlzd(u64 bit) -{ - u32 hi, lo; - int value; - - hi = (u32)(bit >> 32); - lo = (u32)(bit & 0xFFFFFFFF); - value = __cntlzw(hi); - - if (value < 32) { - return value; - } - - return (32 + __cntlzw(lo)); -} - -static BOOL VISetRegs(void) -{ - int regIndex; - - if (!((shdwChangeMode == 1) && (getCurrentFieldEvenOdd() == 0))) { - while (shdwChanged) { - regIndex = cntlzd(shdwChanged); - __VIRegs[regIndex] = shdwRegs[regIndex]; - shdwChanged &= ~(VI_BITMASK(regIndex)); - } - - shdwChangeMode = 0; - CurrTiming = HorVer.timing; - CurrTvMode = HorVer.tv; - - return TRUE; - } - return FALSE; -} - -static void __VIRetraceHandler(__OSInterrupt interrupt, OSContext *context) -{ - OSContext exceptionContext; - u16 viReg; - u32 inter = 0; - - viReg = __VIRegs[VI_DISP_INT_0]; - if (viReg & 0x8000) { - __VIRegs[VI_DISP_INT_0] = (u16)(viReg & ~0x8000); - inter |= 1; - } - - viReg = __VIRegs[VI_DISP_INT_1]; - if (viReg & 0x8000) { - __VIRegs[VI_DISP_INT_1] = (u16)(viReg & ~0x8000); - inter |= 2; - } - - viReg = __VIRegs[VI_DISP_INT_2]; - if (viReg & 0x8000) { - __VIRegs[VI_DISP_INT_2] = (u16)(viReg & ~0x8000); - inter |= 4; - } - - viReg = __VIRegs[VI_DISP_INT_3]; - if (viReg & 0x8000) { - __VIRegs[VI_DISP_INT_3] = (u16)(viReg & ~0x8000); - inter |= 8; - } - - if ((inter & 4) || (inter & 8)) { - OSSetCurrentContext(context); - return; - } - - retraceCount++; - - OSClearContext(&exceptionContext); - OSSetCurrentContext(&exceptionContext); - if (PreCB) { - (*PreCB)(retraceCount); - } - - if (flushFlag) { - if (VISetRegs()) { - flushFlag = 0; - SIRefreshSamplingRate(); - } - } - - if (PostCB) { - OSClearContext(&exceptionContext); - (*PostCB)(retraceCount); - } - - OSWakeupThread(&retraceQueue); - OSClearContext(&exceptionContext); - OSSetCurrentContext(context); -} - -VIRetraceCallback VISetPreRetraceCallback(VIRetraceCallback callback) -{ - int interrupt; - VIRetraceCallback oldCallback; - - oldCallback = PreCB; - - interrupt = OSDisableInterrupts(); - PreCB = callback; - OSRestoreInterrupts(interrupt); - - return oldCallback; -} - -VIRetraceCallback VISetPostRetraceCallback(VIRetraceCallback callback) -{ - int interrupt; - VIRetraceCallback oldCallback; - - oldCallback = PostCB; - - interrupt = OSDisableInterrupts(); - PostCB = callback; - OSRestoreInterrupts(interrupt); - - return oldCallback; -} - -#pragma dont_inline on -static VITimingInfo *getTiming(VITVMode mode) -{ - switch (mode) { - case VI_TVMODE_NTSC_INT: - return &timing[0]; - case VI_TVMODE_NTSC_DS: - return &timing[1]; - - case VI_TVMODE_PAL_INT: - return &timing[2]; - case VI_TVMODE_PAL_DS: - return &timing[3]; - - case VI_TVMODE_EURGB60_INT: - return &timing[0]; - case VI_TVMODE_EURGB60_DS: - return &timing[1]; - - case VI_TVMODE_MPAL_INT: - return &timing[4]; - case VI_TVMODE_MPAL_DS: - return &timing[5]; - - case VI_TVMODE_NTSC_PROG: - return &timing[6]; - case VI_TVMODE_NTSC_3D: - return &timing[7]; - - case VI_TVMODE_DEBUG_PAL_INT: - return &timing[2]; - case VI_TVMODE_DEBUG_PAL_DS: - return &timing[3]; - } - - return nullptr; -} -#pragma dont_inline off - -void __VIInit(VITVMode mode) -{ - VITimingInfo *tm; - u32 nonInter; - vu32 a; - u32 tv, tvForReg; - - u16 hct, vct; - - nonInter = mode & 2; - tv = (u32)mode >> 2; - - *(u32 *)OSPhysicalToCached(0xCC) = tv; - - tm = getTiming(mode); - - __VIRegs[VI_DISP_CONFIG] = 2; - for (a = 0; a < 1000; a++) { - ; - } - - __VIRegs[VI_DISP_CONFIG] = 0; - - __VIRegs[VI_HORIZ_TIMING_0U] = tm->hlw << 0; - __VIRegs[VI_HORIZ_TIMING_0L] = (tm->hce << 0) | (tm->hcs << 8); - - __VIRegs[VI_HORIZ_TIMING_1U] = (tm->hsy << 0) | ((tm->hbe640 & ((1 << 9) - 1)) << 7); - __VIRegs[VI_HORIZ_TIMING_1L] = ((tm->hbe640 >> 9) << 0) | (tm->hbs640 << 1); - - __VIRegs[VI_VERT_TIMING] = (tm->equ << 0) | (0 << 4); - - __VIRegs[VI_VERT_TIMING_ODD_U] = (tm->prbOdd + tm->acv * 2 - 2) << 0; - __VIRegs[VI_VERT_TIMING_ODD] = tm->psbOdd + 2 << 0; - - __VIRegs[VI_VERT_TIMING_EVEN_U] = (tm->prbEven + tm->acv * 2 - 2) << 0; - __VIRegs[VI_VERT_TIMING_EVEN] = tm->psbEven + 2 << 0; - - __VIRegs[VI_BBI_ODD_U] = (tm->bs1 << 0) | (tm->be1 << 5); - __VIRegs[VI_BBI_ODD] = (tm->bs3 << 0) | (tm->be3 << 5); - - __VIRegs[VI_BBI_EVEN_U] = (tm->bs2 << 0) | (tm->be2 << 5); - __VIRegs[VI_BBI_EVEN] = (tm->bs4 << 0) | (tm->be4 << 5); - - __VIRegs[VI_HSW] = (40 << 0) | (40 << 8); - - __VIRegs[VI_DISP_INT_1U] = 1; - __VIRegs[VI_DISP_INT_1] = (1 << 0) | (1 << 12) | (0 << 15); - - hct = (tm->hlw + 1); - vct = (tm->numHalfLines / 2 + 1) | (1 << 12) | (0 << 15); - __VIRegs[VI_DISP_INT_0U] = hct << 0; - __VIRegs[VI_DISP_INT_0] = vct; - - if (mode != VI_TVMODE_NTSC_PROG && mode != VI_TVMODE_NTSC_3D) { - __VIRegs[VI_DISP_CONFIG] = (1 << 0) | (0 << 1) | (nonInter << 2) | (0 << 3) | (0 << 4) | (0 << 6) | (tv << 8); - __VIRegs[VI_CLOCK_SEL] = 0; - } - else { - __VIRegs[VI_DISP_CONFIG] = (1 << 0) | (0 << 1) | (1 << 2) | (0 << 3) | (0 << 4) | (0 << 6) | (tv << 8); - __VIRegs[VI_CLOCK_SEL] = 1; - } -} - -static void AdjustPosition(u16 acv) -{ - s32 coeff, frac; - - HorVer.adjDispPosX = (u16)CLAMP((s16)HorVer.dispPosX + displayOffsetH, 0, 720 - HorVer.dispSizeX); - - coeff = (HorVer.xfbMode == VI_XFBMODE_SF) ? 2 : 1; - frac = HorVer.dispPosY & 1; - - HorVer.adjDispPosY = (u16)MAX((s16)HorVer.dispPosY + displayOffsetV, frac); - - HorVer.adjDispSizeY = (u16)(HorVer.dispSizeY + MIN((s16)HorVer.dispPosY + displayOffsetV - frac, 0) - - MAX((s16)HorVer.dispPosY + (s16)HorVer.dispSizeY + displayOffsetV - ((s16)acv * 2 - frac), 0)); - - HorVer.adjPanPosY = (u16)(HorVer.panPosY - MIN((s16)HorVer.dispPosY + displayOffsetV - frac, 0) / coeff); - - HorVer.adjPanSizeY = (u16)(HorVer.panSizeY + MIN((s16)HorVer.dispPosY + displayOffsetV - frac, 0) / coeff - - MAX((s16)HorVer.dispPosY + (s16)HorVer.dispSizeY + displayOffsetV - ((s16)acv * 2 - frac), 0) / coeff); -} - -static void ImportAdjustingValues(void) -{ - displayOffsetH = __OSLockSram()->displayOffsetH; - displayOffsetV = 0; - __OSUnlockSram(FALSE); -} - -void VIInit(void) -{ - u16 dspCfg; - u32 value, tv; - - encoderType = 1; - - if (!(__VIRegs[VI_DISP_CONFIG] & 1)) { - __VIInit(VI_TVMODE_NTSC_INT); - } - - retraceCount = 0; - changed = 0; - shdwChanged = 0; - changeMode = 0; - shdwChangeMode = 0; - flushFlag = 0; - - __VIRegs[VI_FCT_0U] = ((((taps[0])) << 0) | (((taps[1] & ((1 << (6)) - 1))) << 10)); - __VIRegs[VI_FCT_0] = ((((taps[1] >> 6)) << 0) | (((taps[2])) << 4)); - __VIRegs[VI_FCT_1U] = ((((taps[3])) << 0) | (((taps[4] & ((1 << (6)) - 1))) << 10)); - __VIRegs[VI_FCT_1] = ((((taps[4] >> 6)) << 0) | (((taps[5])) << 4)); - __VIRegs[VI_FCT_2U] = ((((taps[6])) << 0) | (((taps[7] & ((1 << (6)) - 1))) << 10)); - __VIRegs[VI_FCT_2] = ((((taps[7] >> 6)) << 0) | (((taps[8])) << 4)); - __VIRegs[VI_FCT_3U] = ((((taps[9])) << 0) | (((taps[10])) << 8)); - __VIRegs[VI_FCT_3] = ((((taps[11])) << 0) | (((taps[12])) << 8)); - __VIRegs[VI_FCT_4U] = ((((taps[13])) << 0) | (((taps[14])) << 8)); - __VIRegs[VI_FCT_4] = ((((taps[15])) << 0) | (((taps[16])) << 8)); - __VIRegs[VI_FCT_5U] = ((((taps[17])) << 0) | (((taps[18])) << 8)); - __VIRegs[VI_FCT_5] = ((((taps[19])) << 0) | (((taps[20])) << 8)); - __VIRegs[VI_FCT_6U] = ((((taps[21])) << 0) | (((taps[22])) << 8)); - __VIRegs[VI_FCT_6] = ((((taps[23])) << 0) | (((taps[24])) << 8)); - - __VIRegs[VI_WIDTH] = 640; - ImportAdjustingValues(); - dspCfg = __VIRegs[VI_DISP_CONFIG]; - - HorVer.nonInter = ((((u32)(dspCfg)) >> 2 & 0x00000001)); - HorVer.tv = ((((u32)(dspCfg)) & 0x00000300) >> 8); - - tv = (HorVer.tv == VI_DEBUG) ? VI_NTSC : HorVer.tv; - HorVer.timing = getTiming((VITVMode)VI_TVMODE(tv, HorVer.nonInter)); - regs[VI_DISP_CONFIG] = dspCfg; - - CurrTiming = HorVer.timing; - CurrTvMode = HorVer.tv; - - HorVer.dispSizeX = 640; - HorVer.dispSizeY = (u16)(CurrTiming->acv * 2); - HorVer.dispPosX = (u16)((720 - HorVer.dispSizeX) / 2); - HorVer.dispPosY = 0; - - AdjustPosition(CurrTiming->acv); - - HorVer.fbSizeX = 640; - HorVer.fbSizeY = (u16)(CurrTiming->acv * 2); - HorVer.panPosX = 0; - HorVer.panPosY = 0; - HorVer.panSizeX = 640; - HorVer.panSizeY = (u16)(CurrTiming->acv * 2); - HorVer.xfbMode = VI_XFBMODE_SF; - HorVer.wordPerLine = 40; - HorVer.std = 40; - HorVer.wpl = 40; - HorVer.xof = 0; - HorVer.isBlack = TRUE; - HorVer.is3D = FALSE; - - OSInitThreadQueue(&retraceQueue); - - value = __VIRegs[VI_DISP_INT_0]; - value = (((u32)(value)) & ~0x00008000) | (((0)) << 15); - __VIRegs[VI_DISP_INT_0] = value; - - value = __VIRegs[VI_DISP_INT_1]; - value = (((u32)(value)) & ~0x00008000) | (((0)) << 15); - __VIRegs[VI_DISP_INT_1] = value; - - PreCB = nullptr; - PostCB = nullptr; - - __OSSetInterruptHandler(24, __VIRetraceHandler); - __OSUnmaskInterrupts((0x80000000u >> (24))); -} - -void VIWaitForRetrace(void) -{ - int interrupt; - u32 startCount; - - interrupt = OSDisableInterrupts(); - startCount = retraceCount; - do { - OSSleepThread(&retraceQueue); - } while (startCount == retraceCount); - OSRestoreInterrupts(interrupt); -} - -static void setInterruptRegs(VITimingInfo *tm) -{ - u16 vct, hct, borrow; - - vct = (u16)(tm->numHalfLines / 2); - borrow = (u16)(tm->numHalfLines % 2); - hct = (u16)((borrow) ? tm->hlw : (u16)0); - - vct++; - hct++; - - regs[VI_DISP_INT_0U] = (u16)hct; - changed |= VI_BITMASK(VI_DISP_INT_0U); - - regs[VI_DISP_INT_0] = (u16)((((u32)(vct))) | (((u32)(1)) << 12) | (((u32)(0)) << 15)); - changed |= VI_BITMASK(VI_DISP_INT_0); -} - -static void setPicConfig(u16 fbSizeX, VIXFBMode xfbMode, u16 panPosX, u16 panSizeX, u8 *wordPerLine, u8 *std, u8 *wpl, u8 *xof) -{ - *wordPerLine = (u8)((fbSizeX + 15) / 16); - *std = (u8)((xfbMode == VI_XFBMODE_SF) ? *wordPerLine : (u8)(2 * *wordPerLine)); - *xof = (u8)(panPosX % 16); - *wpl = (u8)((*xof + panSizeX + 15) / 16); - - regs[VI_HSW] = (u16)((((u32)(*std))) | (((u32)(*wpl)) << 8)); - changed |= VI_BITMASK(VI_HSW); -} - -static void setBBIntervalRegs(VITimingInfo *tm) -{ - u16 val; - - val = (u16)((((u32)(tm->bs1))) | (((u32)(tm->be1)) << 5)); - regs[VI_BBI_ODD_U] = val; - changed |= VI_BITMASK(VI_BBI_ODD_U); - - val = (u16)((((u32)(tm->bs3))) | (((u32)(tm->be3)) << 5)); - regs[VI_BBI_ODD] = val; - changed |= VI_BITMASK(VI_BBI_ODD); - - val = (u16)((((u32)(tm->bs2))) | (((u32)(tm->be2)) << 5)); - regs[VI_BBI_EVEN_U] = val; - changed |= VI_BITMASK(VI_BBI_EVEN_U); - - val = (u16)((((u32)(tm->bs4))) | (((u32)(tm->be4)) << 5)); - regs[VI_BBI_EVEN] = val; - changed |= VI_BITMASK(VI_BBI_EVEN); -} - -static void setScalingRegs(u16 panSizeX, u16 dispSizeX, BOOL is3D) -{ - u32 scale; - - panSizeX = (u16)(is3D ? panSizeX * 2 : panSizeX); - - if (panSizeX < dispSizeX) { - scale = (256 * (u32)panSizeX + (u32)dispSizeX - 1) / (u32)dispSizeX; - - regs[VI_HSR] = (u16)((((u32)(scale))) | (((u32)(1)) << 12)); - changed |= VI_BITMASK(VI_HSR); - - regs[VI_WIDTH] = (u16)((((u32)(panSizeX)))); - changed |= VI_BITMASK(VI_WIDTH); - } - else { - regs[VI_HSR] = (u16)((((u32)(256))) | (((u32)(0)) << 12)); - changed |= VI_BITMASK(VI_HSR); - } -} - -static void calcFbbs(u32 bufAddr, u16 panPosX, u16 panPosY, u8 wordPerLine, VIXFBMode xfbMode, u16 dispPosY, u32 *tfbb, u32 *bfbb) -{ - u32 bytesPerLine, xoffInWords; - xoffInWords = (u32)panPosX / 16; - bytesPerLine = (u32)wordPerLine * 32; - - *tfbb = bufAddr + xoffInWords * 32 + bytesPerLine * panPosY; - *bfbb = (xfbMode == VI_XFBMODE_SF) ? *tfbb : (*tfbb + bytesPerLine); - - if (dispPosY % 2 == 1) { - u32 tmp = *tfbb; - *tfbb = *bfbb; - *bfbb = tmp; - } - - *tfbb = ToPhysical(*tfbb); - *bfbb = ToPhysical(*bfbb); -} - -static void setFbbRegs(VIPositionInfo *hv, u32 *tfbb, u32 *bfbb, u32 *rtfbb, u32 *rbfbb) -{ - u32 shifted; - calcFbbs(hv->bufAddr, hv->panPosX, hv->adjPanPosY, hv->wordPerLine, hv->xfbMode, hv->adjDispPosY, tfbb, bfbb); - - if (hv->is3D) { - calcFbbs(hv->rbufAddr, hv->panPosX, hv->adjPanPosY, hv->wordPerLine, hv->xfbMode, hv->adjDispPosY, rtfbb, rbfbb); - } - - if (IS_LOWER_16MB(*tfbb) && IS_LOWER_16MB(*bfbb) && IS_LOWER_16MB(*rtfbb) && IS_LOWER_16MB(*rbfbb)) { - shifted = 0; - } - else { - shifted = 1; - } - - if (shifted) { - *tfbb >>= 5; - *bfbb >>= 5; - *rtfbb >>= 5; - *rbfbb >>= 5; - } - - regs[VI_TOP_FIELD_BASE_LEFT_U] = (u16)(*tfbb & 0xFFFF); - changed |= VI_BITMASK(VI_TOP_FIELD_BASE_LEFT_U); - - regs[VI_TOP_FIELD_BASE_LEFT] = (u16)((((*tfbb >> 16))) | hv->xof << 8 | shifted << 12); - changed |= VI_BITMASK(VI_TOP_FIELD_BASE_LEFT); - - regs[VI_BTTM_FIELD_BASE_LEFT_U] = (u16)(*bfbb & 0xFFFF); - changed |= VI_BITMASK(VI_BTTM_FIELD_BASE_LEFT_U); - - regs[VI_BTTM_FIELD_BASE_LEFT] = (u16)(*bfbb >> 16); - changed |= VI_BITMASK(VI_BTTM_FIELD_BASE_LEFT); - - if (hv->is3D) { - regs[VI_TOP_FIELD_BASE_RIGHT_U] = *rtfbb & 0xffff; - changed |= VI_BITMASK(VI_TOP_FIELD_BASE_RIGHT_U); - - regs[VI_TOP_FIELD_BASE_RIGHT] = *rtfbb >> 16; - changed |= VI_BITMASK(VI_TOP_FIELD_BASE_RIGHT); - - regs[VI_BTTM_FIELD_BASE_RIGHT_U] = *rbfbb & 0xFFFF; - changed |= VI_BITMASK(VI_BTTM_FIELD_BASE_RIGHT_U); - - regs[VI_BTTM_FIELD_BASE_RIGHT] = *rbfbb >> 16; - changed |= VI_BITMASK(VI_BTTM_FIELD_BASE_RIGHT); - } -} - -static void setHorizontalRegs(VITimingInfo *tm, u16 dispPosX, u16 dispSizeX) -{ - u32 hbe, hbs, hbeLo, hbeHi; - - regs[VI_HORIZ_TIMING_0U] = (u16)tm->hlw; - changed |= VI_BITMASK(VI_HORIZ_TIMING_0U); - - regs[VI_HORIZ_TIMING_0L] = (u16)(tm->hce | tm->hcs << 8); - changed |= VI_BITMASK(VI_HORIZ_TIMING_0L); - - hbe = (u32)(tm->hbe640 - 40 + dispPosX); - hbs = (u32)(tm->hbs640 + 40 + dispPosX - (720 - dispSizeX)); - - hbeLo = hbe & ONES(9); - hbeHi = hbe >> 9; - - regs[VI_HORIZ_TIMING_1U] = (u16)(tm->hsy | hbeLo << 7); - changed |= VI_BITMASK(VI_HORIZ_TIMING_1U); - - regs[VI_HORIZ_TIMING_1L] = (u16)(hbeHi | hbs << 1); - changed |= VI_BITMASK(VI_HORIZ_TIMING_1L); -} - -static void setVerticalRegs(u16 dispPosY, u16 dispSizeY, u8 equ, u16 acv, u16 prbOdd, u16 prbEven, u16 psbOdd, u16 psbEven, BOOL black) -{ - u16 actualPrbOdd, actualPrbEven, actualPsbOdd, actualPsbEven, actualAcv, c, d; - - if (equ >= 10) { - c = 1; - d = 2; - } - else { - c = 2; - d = 1; - } - - if (dispPosY % 2 == 0) { - actualPrbOdd = (u16)(prbOdd + d * dispPosY); - actualPsbOdd = (u16)(psbOdd + d * ((c * acv - dispSizeY) - dispPosY)); - actualPrbEven = (u16)(prbEven + d * dispPosY); - actualPsbEven = (u16)(psbEven + d * ((c * acv - dispSizeY) - dispPosY)); - } - else { - actualPrbOdd = (u16)(prbEven + d * dispPosY); - actualPsbOdd = (u16)(psbEven + d * ((c * acv - dispSizeY) - dispPosY)); - actualPrbEven = (u16)(prbOdd + d * dispPosY); - actualPsbEven = (u16)(psbOdd + d * ((c * acv - dispSizeY) - dispPosY)); - } - - actualAcv = (u16)(dispSizeY / c); - - if (black) { - actualPrbOdd += 2 * actualAcv - 2; - actualPsbOdd += 2; - actualPrbEven += 2 * actualAcv - 2; - actualPsbEven += 2; - actualAcv = 0; - } - - regs[VI_VERT_TIMING] = (u16)(equ | actualAcv << 4); - changed |= VI_BITMASK(VI_VERT_TIMING); - - regs[VI_VERT_TIMING_ODD_U] = (u16)actualPrbOdd << 0; - changed |= VI_BITMASK(VI_VERT_TIMING_ODD_U); - - regs[VI_VERT_TIMING_ODD] = (u16)actualPsbOdd << 0; - changed |= VI_BITMASK(VI_VERT_TIMING_ODD); - - regs[VI_VERT_TIMING_EVEN_U] = (u16)actualPrbEven << 0; - changed |= VI_BITMASK(VI_VERT_TIMING_EVEN_U); - - regs[VI_VERT_TIMING_EVEN] = (u16)actualPsbEven << 0; - changed |= VI_BITMASK(VI_VERT_TIMING_EVEN); -} - -static void PrintDebugPalCaution(void) -{ - static u32 message = 0; - - if (message == 0) { - message = 1; - OSReport("***************************************\n"); - OSReport(" ! ! ! C A U T I O N ! ! ! \n"); - OSReport("This TV format \"DEBUG_PAL\" is only for \n"); - OSReport("temporary solution until PAL DAC board \n"); - OSReport("is available. Please do NOT use this \n"); - OSReport("mode in real games!!! \n"); - OSReport("***************************************\n"); - } -} - -void VIConfigure(const GXRenderModeObj *obj) -{ - VITimingInfo *tm; - u32 regDspCfg; - BOOL enabled; - u32 newNonInter, tvInBootrom, tvInGame; - - enabled = OSDisableInterrupts(); - newNonInter = (u32)obj->viTVmode & 3; - - if (HorVer.nonInter != newNonInter) { - changeMode = 1; - HorVer.nonInter = newNonInter; - } - - tvInGame = (u32)obj->viTVmode >> 2; - tvInBootrom = *(u32 *)OSPhysicalToCached(0xCC); - - if (tvInGame == VI_DEBUG_PAL) { - PrintDebugPalCaution(); - } - - if ((tvInGame == VI_NTSC) || (tvInGame == VI_MPAL)) { - HorVer.tv = tvInBootrom; - } - else { - HorVer.tv = tvInGame; - } - - HorVer.dispPosX = obj->viXOrigin; - HorVer.dispPosY = (u16)((HorVer.nonInter == VI_NON_INTERLACE) ? (u16)(obj->viYOrigin * 2) : obj->viYOrigin); - HorVer.dispSizeX = obj->viWidth; - HorVer.fbSizeX = obj->fbWidth; - HorVer.fbSizeY = obj->xfbHeight; - HorVer.xfbMode = obj->xFBmode; - HorVer.panSizeX = HorVer.fbSizeX; - HorVer.panSizeY = HorVer.fbSizeY; - HorVer.panPosX = 0; - HorVer.panPosY = 0; - - HorVer.dispSizeY = (u16)((HorVer.nonInter == VI_PROGRESSIVE) ? HorVer.panSizeY - : (HorVer.nonInter == VI_3D) ? HorVer.panSizeY - : (HorVer.xfbMode == VI_XFBMODE_SF) ? (u16)(2 * HorVer.panSizeY) - : HorVer.panSizeY); - - HorVer.is3D = (HorVer.nonInter == VI_3D) ? TRUE : FALSE; - - tm = getTiming((VITVMode)VI_TVMODE(HorVer.tv, HorVer.nonInter)); - HorVer.timing = tm; - - AdjustPosition(tm->acv); - if (encoderType == 0) { - HorVer.tv = VI_DEBUG; - } - setInterruptRegs(tm); - - regDspCfg = regs[VI_DISP_CONFIG]; - - if ((HorVer.nonInter == VI_PROGRESSIVE) || (HorVer.nonInter == VI_3D)) { - regDspCfg = (((u32)(regDspCfg)) & ~0x00000004) | (((u32)(1)) << 2); - } - else { - regDspCfg = (((u32)(regDspCfg)) & ~0x00000004) | (((u32)(HorVer.nonInter & 1)) << 2); - } - - regDspCfg = (((u32)(regDspCfg)) & ~0x00000008) | (((u32)(HorVer.is3D)) << 3); - - if ((HorVer.tv == VI_DEBUG_PAL) || (HorVer.tv == VI_EURGB60)) { - regDspCfg = (((u32)(regDspCfg)) & ~0x00000300) | (((u32)(0)) << 8); - } - else { - regDspCfg = (((u32)(regDspCfg)) & ~0x00000300) | (((u32)(HorVer.tv)) << 8); - } - - regs[VI_DISP_CONFIG] = (u16)regDspCfg; - changed |= VI_BITMASK(0x01); - - regDspCfg = regs[VI_CLOCK_SEL]; - if (obj->viTVmode == VI_TVMODE_NTSC_PROG || obj->viTVmode == VI_TVMODE_NTSC_3D) { - regDspCfg = (u32)(regDspCfg & ~0x1) | 1; - } - else { - regDspCfg = (u32)(regDspCfg & ~0x1); - } - - regs[VI_CLOCK_SEL] = (u16)regDspCfg; - - changed |= 0x200; - - setScalingRegs(HorVer.panSizeX, HorVer.dispSizeX, HorVer.is3D); - setHorizontalRegs(tm, HorVer.adjDispPosX, HorVer.dispSizeX); - setBBIntervalRegs(tm); - setPicConfig(HorVer.fbSizeX, HorVer.xfbMode, HorVer.panPosX, HorVer.panSizeX, &HorVer.wordPerLine, &HorVer.std, &HorVer.wpl, &HorVer.xof); - - if (FBSet) { - setFbbRegs(&HorVer, &HorVer.tfbb, &HorVer.bfbb, &HorVer.rtfbb, &HorVer.rbfbb); - } - - setVerticalRegs(HorVer.adjDispPosY, HorVer.adjDispSizeY, tm->equ, tm->acv, tm->prbOdd, tm->prbEven, tm->psbOdd, tm->psbEven, HorVer.isBlack); - OSRestoreInterrupts(enabled); -} - -void VIConfigurePan(u16 xOrg, u16 yOrg, u16 width, u16 height) -{ - BOOL enabled; - VITimingInfo *tm; - - enabled = OSDisableInterrupts(); - HorVer.panPosX = xOrg; - HorVer.panPosY = yOrg; - HorVer.panSizeX = width; - HorVer.panSizeY = height; - HorVer.dispSizeY = (HorVer.nonInter == 2) ? HorVer.panSizeY - : (HorVer.nonInter == 3) ? HorVer.panSizeY - : (HorVer.xfbMode == VI_XFBMODE_SF) ? (u16)(HorVer.panSizeY * 2) - : HorVer.panSizeY; - tm = HorVer.timing; - AdjustPosition(tm->acv); - setScalingRegs(HorVer.panSizeX, HorVer.dispSizeX, HorVer.is3D); - setPicConfig(HorVer.fbSizeX, HorVer.xfbMode, HorVer.panPosX, HorVer.panSizeX, &HorVer.wordPerLine, &HorVer.std, &HorVer.wpl, &HorVer.xof); - if (FBSet != 0) { - setFbbRegs(&HorVer, &HorVer.tfbb, &HorVer.bfbb, &HorVer.rtfbb, &HorVer.rbfbb); - } - setVerticalRegs(HorVer.adjDispPosY, HorVer.dispSizeY, tm->equ, tm->acv, tm->prbOdd, tm->prbEven, tm->psbOdd, tm->psbEven, HorVer.isBlack); - OSRestoreInterrupts(enabled); -} - -void VIFlush(void) -{ - BOOL enabled; - s32 regIndex; - u32 val; // for stack. - - enabled = OSDisableInterrupts(); - shdwChangeMode |= changeMode; - changeMode = 0; - shdwChanged |= changed; - - while (changed) { - regIndex = cntlzd(changed); - shdwRegs[regIndex] = regs[regIndex]; - changed &= ~VI_BITMASK(regIndex); - } - - flushFlag = 1; - OSRestoreInterrupts(enabled); -} - -void VISetNextFrameBuffer(void *fb) -{ - BOOL enabled = OSDisableInterrupts(); - HorVer.bufAddr = (u32)fb; - FBSet = 1; - setFbbRegs(&HorVer, &HorVer.tfbb, &HorVer.bfbb, &HorVer.rtfbb, &HorVer.rbfbb); - OSRestoreInterrupts(enabled); -} - -void *VIGetNextFrameBuffer() -{ - // UNUSED FUNCTION -} - -void *VIGetCurrentFrameBuffer(void) -{ - return (void *)CurrBufAddr; -} - -void VISetNextRightFrameBuffer(void *fb) -{ - // UNUSED FUNCTION -} - -void VISetBlack(BOOL isBlack) -{ - int interrupt; - VITimingInfo *tm; - - interrupt = OSDisableInterrupts(); - HorVer.isBlack = isBlack; - tm = HorVer.timing; - setVerticalRegs(HorVer.adjDispPosY, HorVer.dispSizeY, tm->equ, tm->acv, tm->prbOdd, tm->prbEven, tm->psbOdd, tm->psbEven, HorVer.isBlack); - OSRestoreInterrupts(interrupt); -} - -void VISet3D(void) -{ - // UNUSED FUNCTION -} - -u32 VIGetRetraceCount(void) -{ - return retraceCount; -} - -static u32 getCurrentHalfLine(void) -{ - u32 hcount; - u32 vcount0; - u32 vcount; - - vcount = __VIRegs[22] & 0x7FF; - do { - vcount0 = vcount; - hcount = __VIRegs[23] & 0x7FF; - vcount = __VIRegs[22] & 0x7FF; - } while (vcount0 != vcount); - return ((vcount - 1) * 2) + ((hcount - 1) / CurrTiming->hlw); -} - -static u32 getCurrentFieldEvenOdd() -{ - return (getCurrentHalfLine() < CurrTiming->numHalfLines) ? 1 : 0; -} - -u32 VIGetNextField(void) -{ - u32 nextField; - int interrupt; - - interrupt = OSDisableInterrupts(); - nextField = getCurrentFieldEvenOdd() ^ 1; - OSRestoreInterrupts(interrupt); - return nextField ^ (HorVer.adjDispPosY & 1); -} - -u32 VIGetCurrentLine(void) -{ - u32 line; - VITimingInfo *tm; - int interrupt; - - tm = CurrTiming; - interrupt = OSDisableInterrupts(); - line = getCurrentHalfLine(); - OSRestoreInterrupts(interrupt); - - if (line >= tm->numHalfLines) { - line -= tm->numHalfLines; - } - - return (line >> 1); -} - -u32 VIGetTvFormat(void) -{ - u32 fmt; - int interrupt; - - interrupt = OSDisableInterrupts(); - - switch (CurrTvMode) { - case VI_NTSC: - case VI_DEBUG: - fmt = VI_NTSC; - break; - case VI_PAL: - case VI_DEBUG_PAL: - fmt = VI_PAL; - break; - case VI_EURGB60: - case VI_MPAL: - fmt = CurrTvMode; - break; - } - - OSRestoreInterrupts(interrupt); - return fmt; -} - -u32 VIGetDTVStatus(void) -{ - u32 stat; - int interrupt; - - interrupt = OSDisableInterrupts(); - stat = (__VIRegs[VI_DTV_STAT] & 3); - OSRestoreInterrupts(interrupt); - return (stat & 1); -} diff --git a/src/game/EnvelopeExec.c b/src/game/EnvelopeExec.c index 53a9d990..cf417b01 100644 --- a/src/game/EnvelopeExec.c +++ b/src/game/EnvelopeExec.c @@ -367,11 +367,11 @@ static void SetEnvelop(HsfCenv *arg0) { sp44.x = var_r25->value * (sp44.x - temp_r31->x); sp44.y = var_r25->value * (sp44.y - temp_r31->y); sp44.z = var_r25->value * (sp44.z - temp_r31->z); - VECAdd(&sp38, &sp44, &sp38); + PSVECAdd(&sp38, &sp44, &sp38); sp2C.x = var_r25->value * (sp2C.x - temp_r26->x); sp2C.y = var_r25->value * (sp2C.y - temp_r26->y); sp2C.z = var_r25->value * (sp2C.z - temp_r26->z); - VECAdd(&sp20, &sp2C, &sp20); + PSVECAdd(&sp20, &sp2C, &sp20); } temp_r28->x = temp_r31->x + sp38.x; temp_r28->y = temp_r31->y + sp38.y; diff --git a/src/game/armem.c b/src/game/armem.c index 66142f66..ec2be64c 100644 --- a/src/game/armem.c +++ b/src/game/armem.c @@ -25,7 +25,7 @@ static ARQRequest arqReq; static ARMemBlock ARInfo[64]; static s32 ARBase; -static volatile s32 arqCnt; +static s32 arqCnt; static s16 arqIdx; void HuARInit(void) { diff --git a/src/game/audio.c b/src/game/audio.c index 2227c3b7..b90ac0bd 100644 --- a/src/game/audio.c +++ b/src/game/audio.c @@ -5,13 +5,11 @@ #include "game/wipe.h" #include "game/gamework_data.h" -#define MUSIC_HEAP_SIZE 0x13FC00 - -static int HuSePlay(int seId, MSM_SEPARAM *param); +static s32 HuSePlay(s32 arg0, UnkMsmStruct_01 *arg1); extern s16 omSysExitReq; -s32 charVoiceGroupStat[8]; +static s32 charVoiceGroupStat[8]; static s32 sndFXBuf[64][2]; static s16 Hu3DAudVol; @@ -34,33 +32,29 @@ static char *lbl_8012E9AC[] = { "" }; -void HuAudInit(void) -{ - MSM_INIT msmInit; - MSM_ARAM msmAram; - - s32 result; +void HuAudInit(void) { + UnkMsmStruct_00 sp8; + s32 temp_r3; s16 i; - msmInit.heap = HuMemDirectMalloc(HEAP_MUSIC, MUSIC_HEAP_SIZE); - msmInit.heapSize = MUSIC_HEAP_SIZE; - msmInit.msmPath = "/sound/mpgcsnd.msm"; - msmInit.pdtPath = "/sound/mpgcstr.pdt"; - msmInit.open = NULL; - msmInit.read = NULL; - msmInit.close = NULL; - msmAram.skipARInit = TRUE; - msmAram.aramEnd = 0x808000; - result = msmSysInit(&msmInit, &msmAram); - - if (result < 0) { - OSReport("MSM(Sound Manager) Error:Error Code %d\n", result); + sp8.unk20 = HuMemDirectMalloc(HEAP_MUSIC, 0x13FC00); + sp8.unk24 = 0x13FC00; + sp8.unk0C = "/sound/mpgcsnd.msm"; + sp8.unk10 = "/sound/mpgcstr.pdt"; + sp8.unk14 = 0; + sp8.unk18 = 0; + sp8.unk1C = 0; + sp8.unk00 = 1; + sp8.unk04 = 0x808000; + temp_r3 = msmSysInit(&sp8.unk0C, &sp8); + if (temp_r3 < 0) { + OSReport("MSM(Sound Manager) Error:Error Code %d\n", temp_r3); while (1); } - if (OSGetSoundMode() == OS_SOUND_MODE_MONO) { - msmSysSetOutputMode(SND_OUTPUTMODE_MONO); + if (OSGetSoundMode() == 0) { + msmSysSetOutputMode(0); } else { - msmSysSetOutputMode(SND_OUTPUTMODE_SURROUND); + msmSysSetOutputMode(2); } for (i = 0; i < 64; i++) { sndFXBuf[i][0] = -1; @@ -74,7 +68,7 @@ void HuAudInit(void) musicOffF = 0; } -s32 HuAudStreamPlay(char *name, BOOL flag) { +s32 HuAudStreamPlay(char *name, s32 arg1) { return 0; } @@ -101,194 +95,186 @@ void HuAudAllStop(void) { HuAudSStreamAllStop(); } -void HuAudFadeOut(s32 speed) { +void HuAudFadeOut(s32 arg0) { HuAudFXAllStop(); - HuAudSeqAllFadeOut(speed); - HuAudSStreamAllFadeOut(speed); + HuAudSeqAllFadeOut(arg0); + HuAudSStreamAllFadeOut(arg0); } -int HuAudFXPlay(int seId) -{ +s32 HuAudFXPlay(s32 arg0) { WipeState *wipe = &wipeData; if (omSysExitReq != 0 || (wipeData.mode == WIPE_MODE_OUT && wipe->time / wipe->duration > 0.5)) { return 0; } - return HuAudFXPlayVolPan(seId, MSM_VOL_MAX, MSM_PAN_CENTER); + return HuAudFXPlayVolPan(arg0, 0x7F, 0x40); } -int HuAudFXPlayVol(int seId, s16 vol) { +s32 HuAudFXPlayVol(s32 arg0, s16 arg1) { if (omSysExitReq != 0) { return 0; } - return HuAudFXPlayVolPan(seId, vol, MSM_PAN_CENTER); + return HuAudFXPlayVolPan(arg0, arg1, 0x40); } -int HuAudFXPlayVolPan(int seId, s16 vol, s16 pan) -{ - MSM_SEPARAM seParam; +s32 HuAudFXPlayVolPan(s32 arg0, s16 arg1, s16 arg2) { + UnkMsmStruct_01 sp10; if (omSysExitReq != 0) { return 0; } - seParam.flag = MSM_SEPARAM_VOL|MSM_SEPARAM_PAN; - seParam.vol = vol; - seParam.pan = pan; - return HuSePlay(seId, &seParam); + sp10.unk00 = 3; + sp10.unk04 = arg1; + sp10.unk05 = arg2; + return HuSePlay(arg0, &sp10); } -void HuAudFXStop(int seNo) { - msmSeStop(seNo, 0); +void HuAudFXStop(s32 arg0) { + msmSeStop(arg0, 0); } void HuAudFXAllStop(void) { msmSeStopAll(0, 0); } -void HuAudFXFadeOut(int seNo, s32 speed) { - msmSeStop(seNo, speed); +void HuAudFXFadeOut(s32 arg0, s32 arg1) { + msmSeStop(arg0, arg1); } -void HuAudFXPanning(int seNo, s16 pan) { - MSM_SEPARAM seParam; +void HuAudFXPanning(s32 arg0, s16 arg1) { + UnkMsmStruct_01 sp10; if (omSysExitReq == 0) { - seParam.flag = MSM_SEPARAM_PAN; - seParam.pan = pan; - msmSeSetParam(seNo, &seParam); + sp10.unk00 = 2; + sp10.unk05 = arg1; + msmSeSetParam(arg0, &sp10); } } -void HuAudFXListnerSet(Vec *pos, Vec *heading, float sndDist, float sndSpeed) -{ - if(omSysExitReq) { - return; - } - HuAudFXListnerSetEX(pos, heading, - sndDist + Snd3DDistOffset, - sndSpeed + Snd3DSpeedOffset, - Snd3DStartDisOffset, - Snd3DFrontSurDisOffset + (0.25 * sndDist + Snd3DStartDisOffset), - Snd3DBackSurDisOffset + (0.25 * sndDist + Snd3DStartDisOffset)); -} - -void HuAudFXListnerSetEX(Vec *pos, Vec *heading, float sndDist, float sndSpeed, float startDis, float frontSurDis, float backSurDis) -{ - MSM_SELISTENER listener; - if(omSysExitReq) { - return; - } - listener.flag = MSM_LISTENER_STARTDIS|MSM_LISTENER_FRONTSURDIS|MSM_LISTENER_BACKSURDIS; - listener.startDis = startDis + Snd3DStartDisOffset; - listener.frontSurDis = frontSurDis + Snd3DFrontSurDisOffset; - listener.backSurDis = backSurDis + Snd3DBackSurDisOffset; - msmSeSetListener(pos, heading, sndDist + Snd3DDistOffset, sndSpeed + Snd3DSpeedOffset, &listener); - OSReport("//////////////////////////////////\n"); - OSReport("sndDist %f\n", sndDist); - OSReport("sndSpeed %f\n", sndSpeed); - OSReport("startDis %f\n", listener.startDis); - OSReport("frontSurDis %f\n", listener.frontSurDis); - OSReport("backSurDis %f\n", listener.backSurDis); - OSReport("//////////////////////////////////\n"); -} - -void HuAudFXListnerUpdate(Vec *pos, Vec *heading) -{ +void HuAudFXListnerSet(Vec* arg0, Vec* arg1, float arg2, float arg3) { if (omSysExitReq == 0) { - msmSeUpdataListener(pos, heading); + HuAudFXListnerSetEX(arg0, arg1, + arg2 + Snd3DDistOffset, + arg3 + Snd3DSpeedOffset, + Snd3DStartDisOffset, + Snd3DFrontSurDisOffset + (0.25 * arg2 + Snd3DStartDisOffset), + Snd3DBackSurDisOffset + (0.25 * arg2 + Snd3DStartDisOffset)); } } -int HuAudFXEmiterPlay(int seId, Vec *pos) -{ - MSM_SEPARAM seParam; - if(omSysExitReq) { - return 0; +void HuAudFXListnerSetEX(Vec* arg0, Vec* arg1, float sndDist, float sndSpeed, float arg4, float arg5, float arg6) { + UnkMsmStruct_02 sp1C; + + if (omSysExitReq == 0) { + sp1C.unk00 = 7; + sp1C.startDis = arg4 + Snd3DStartDisOffset; + sp1C.frontSurDis = arg5 + Snd3DFrontSurDisOffset; + sp1C.backSurDis = arg6 + Snd3DBackSurDisOffset; + msmSeSetListener(arg0, arg1, sndDist + Snd3DDistOffset, sndSpeed + Snd3DSpeedOffset, &sp1C); + OSReport("//////////////////////////////////\n"); + OSReport("sndDist %f\n", sndDist); + OSReport("sndSpeed %f\n", sndSpeed); + OSReport("startDis %f\n", sp1C.startDis); + OSReport("frontSurDis %f\n", sp1C.frontSurDis); + OSReport("backSurDis %f\n", sp1C.backSurDis); + OSReport("//////////////////////////////////\n"); } - seParam.flag = MSM_SEPARAM_POS; - seParam.pos.x = pos->x; - seParam.pos.y = pos->y; - seParam.pos.z = pos->z; - return HuSePlay(seId, &seParam); } -void HuAudFXEmiterUpDate(int seNo, Vec *pos) -{ - MSM_SEPARAM param; - if(omSysExitReq) { - return; +void HuAudFXListnerUpdate(Vec *arg0, Vec *arg1) { + if (omSysExitReq == 0) { + msmSeUpdataListener(arg0, arg1); + } +} + +s32 HuAudFXEmiterPlay(s32 arg0, Vec *arg1) { + UnkMsmStruct_01 spC; + + if (omSysExitReq != 0) { + return 0; + } + spC.unk00 = 0x40; + spC.unk10.x = arg1->x; + spC.unk10.y = arg1->y; + spC.unk10.z = arg1->z; + return HuSePlay(arg0, &spC); +} + +void HuAudFXEmiterUpDate(s32 arg0, Vec *arg1) { + UnkMsmStruct_01 spC; + + if (omSysExitReq == 0) { + spC.unk00 = 0x40; + spC.unk10.x = arg1->x; + spC.unk10.y = arg1->y; + spC.unk10.z = arg1->z; + msmSeSetParam(arg0, &spC); } - param.flag = MSM_SEPARAM_POS; - param.pos.x = pos->x; - param.pos.y = pos->y; - param.pos.z = pos->z; - msmSeSetParam(seNo, ¶m); } void HuAudFXListnerKill(void) { msmSeDelListener(); } -void HuAudFXPauseAll(s32 pause) { - msmSePauseAll(pause, 0x64); +void HuAudFXPauseAll(s32 arg0) { + msmSePauseAll(arg0, 0x64); } -s32 HuAudFXStatusGet(int seNo) { - return msmSeGetStatus(seNo); +s32 HuAudFXStatusGet(s32 arg0) { + return msmSeGetStatus(arg0); } -s32 HuAudFXPitchSet(int seNo, s16 pitch) -{ - MSM_SEPARAM param; - if(omSysExitReq) { +s32 HuAudFXPitchSet(s32 arg0, s16 arg1) { + UnkMsmStruct_01 sp10; + + if (omSysExitReq != 0) { return 0; } - param.flag = MSM_SEPARAM_PITCH; - param.pitch = pitch; - return msmSeSetParam(seNo, ¶m); + sp10.unk00 = 4; + sp10.unk06 = arg1; + return msmSeSetParam(arg0, &sp10); } -s32 HuAudFXVolSet(int seNo, s16 vol) -{ - MSM_SEPARAM param; +s32 HuAudFXVolSet(s32 arg0, s16 arg1) { + UnkMsmStruct_01 sp10; - if(omSysExitReq) { + if (omSysExitReq != 0) { return 0; } - param.flag = MSM_SEPARAM_VOL; - param.vol = vol; - return msmSeSetParam(seNo, ¶m); + sp10.unk00 = 1; + sp10.unk04 = arg1; + return msmSeSetParam(arg0, &sp10); } -s32 HuAudSeqPlay(s16 musId) { - s32 channel; +s32 HuAudSeqPlay(s16 arg0) { + s32 temp_r31; if (musicOffF != 0 || omSysExitReq != 0) { return 0; } - channel = msmMusPlay(musId, NULL); - return channel; + temp_r31 = msmMusPlay(arg0, NULL); + return temp_r31; } -void HuAudSeqStop(s32 musNo) { +void HuAudSeqStop(s32 arg0) { if (musicOffF != 0 || omSysExitReq != 0) { return; } - msmMusStop(musNo, 0); + msmMusStop(arg0, 0); } -void HuAudSeqFadeOut(s32 musNo, s32 speed) { +void HuAudSeqFadeOut(s32 arg0, s32 arg1) { if (musicOffF == 0) { - msmMusStop(musNo, speed); + msmMusStop(arg0, arg1); } } -void HuAudSeqAllFadeOut(s32 speed) { +void HuAudSeqAllFadeOut(s32 arg0) { s16 i; for (i = 0; i < 4; i++) { if (msmMusGetStatus(i) == 2) { - msmMusStop(i, speed); + msmMusStop(i, arg0); } } } @@ -297,61 +283,61 @@ void HuAudSeqAllStop(void) { msmMusStopAll(0, 0); } -void HuAudSeqPauseAll(s32 pause) { - msmMusPauseAll(pause, 0x64); +void HuAudSeqPauseAll(s32 arg0) { + msmMusPauseAll(arg0, 0x64); } -void HuAudSeqPause(s32 musNo, s32 pause, s32 speed) { +void HuAudSeqPause(s32 arg0, s32 arg1, s32 arg2) { if (musicOffF != 0 || omSysExitReq != 0) { return; } - msmMusPause(musNo, pause, speed); + msmMusPause(arg0, arg1, arg2); } -s32 HuAudSeqMidiCtrlGet(s32 musNo, s8 channel, s8 ctrl) { +s32 HuAudSeqMidiCtrlGet(s32 arg0, s8 arg1, s8 arg2) { if (musicOffF != 0 || omSysExitReq != 0) { return 0; } - return msmMusGetMidiCtrl(musNo, channel, ctrl); + return msmMusGetMidiCtrl(arg0, arg1, arg2); } -s32 HuAudSStreamPlay(s16 streamId) { - MSM_STREAMPARAM param; - s32 result; +s32 HuAudSStreamPlay(s16 arg0) { + s32 spC; + s32 temp_r31; if (musicOffF != 0 || omSysExitReq != 0) { return 0; } - param.flag = MSM_STREAMPARAM_NONE ; - result = msmStreamPlay(streamId, ¶m); - return result; + spC = 0; + temp_r31 = msmStreamPlay(arg0, &spC); + return temp_r31; } -void HuAudSStreamStop(s32 seNo) { +void HuAudSStreamStop(s32 arg0) { if (musicOffF == 0) { - msmStreamStop(seNo, 0); + msmStreamStop(arg0, 0); } } -void HuAudSStreamFadeOut(s32 seNo, s32 speed) { +void HuAudSStreamFadeOut(s32 arg0, s32 arg1) { if (musicOffF == 0) { - msmStreamStop(seNo, speed); + msmStreamStop(arg0, arg1); } } -void HuAudSStreamAllFadeOut(s32 speed) { - msmStreamStopAll(speed); +void HuAudSStreamAllFadeOut(s32 arg0) { + msmStreamPauseAll(arg0); } void HuAudSStreamAllStop(void) { - msmStreamStopAll(0); + msmStreamPauseAll(0); } -s32 HuAudSStreamStatGet(s32 seNo) { - return msmStreamGetStatus(seNo); +s32 HuAudSStreamStatGet(s32 arg0) { + return msmStreamGetStatus(arg0); } -SNDGRPTBL sndGrpTable[] = { +HuSndGrpData HuSndGrpTbl[] = { { OVL_BOOT, -1, 0, 1, -1, -1 }, { OVL_INST, -1, 0, 1, -1, -1 }, { OVL_M401, 18, 0, 2, 64, 64 }, @@ -446,75 +432,75 @@ SNDGRPTBL sndGrpTable[] = { }; void HuAudDllSndGrpSet(u16 ovl) { - SNDGRPTBL *sndGrp; - s16 grpSet; + HuSndGrpData *var_r31; + s16 var_r29; - sndGrp = sndGrpTable; + var_r31 = HuSndGrpTbl; while (1) { - if (sndGrp->ovl == ovl) { - grpSet = sndGrp->grpSet; + if (var_r31->ovl == ovl) { + var_r29 = var_r31->grpset; break; } - if (sndGrp->ovl == OVL_INVALID) { - grpSet = 0x12; + if (var_r31->ovl == OVL_INVALID) { + var_r29 = 0x12; break; } - sndGrp++; + var_r31++; } - if (grpSet != -1) { + if (var_r29 != -1) { OSReport("SOUND ##########################\n"); - HuAudSndGrpSetSet(grpSet); - if (sndGrp->auxANo != auxANoBak || sndGrp->auxBNo != auxBNoBak) { - msmSysSetAux(sndGrp->auxANo, sndGrp->auxBNo); - OSReport("Change AUX %d,%d\n", sndGrp->auxANo, sndGrp->auxBNo); - auxANoBak = sndGrp->auxANo; - auxBNoBak = sndGrp->auxBNo; + HuAudSndGrpSetSet(var_r29); + if (var_r31->auxANo != auxANoBak || var_r31->auxBNo != auxBNoBak) { + msmSysSetAux(var_r31->auxANo, var_r31->auxBNo); + OSReport("Change AUX %d,%d\n", var_r31->auxANo, var_r31->auxBNo); + auxANoBak = var_r31->auxANo; + auxBNoBak = var_r31->auxBNo; HuPrcVSleep(); } - HuAudAUXVolSet(sndGrp->auxAVol, sndGrp->auxBVol); + HuAudAUXVolSet(var_r31->auxAVol, var_r31->auxBVol); OSReport("##########################\n"); } } -void HuAudSndGrpSetSet(s16 dataSize) { - void *buf; - OSTick osTick; - s32 numPlay; - s32 err; +void HuAudSndGrpSetSet(s16 arg0) { + void *temp_r3; + OSTick temp_r31; + s32 temp_r26; + s32 temp_r27; - if (sndGroupBak != dataSize) { + if (sndGroupBak != arg0) { msmMusStopAll(1, 0); msmSeStopAll(1, 0); - osTick = OSGetTick(); + temp_r31 = OSGetTick(); while ((msmMusGetNumPlay(1) != 0 || msmSeGetNumPlay(1) != 0) - && OSTicksToMilliseconds(OSGetTick() - osTick) < 500); - OSReport("%d\n", OSTicksToMilliseconds(OSGetTick() - osTick)); - if (OSTicksToMilliseconds(OSGetTick() - osTick) >= 500) { - numPlay = msmSeGetNumPlay(1); - OSReport("Timed Out! Mus %d:SE %d\n", msmMusGetNumPlay(1), numPlay); + && OSTicksToMilliseconds(OSGetTick() - temp_r31) < 500); + OSReport("%d\n", OSTicksToMilliseconds(OSGetTick() - temp_r31)); + if (OSTicksToMilliseconds(OSGetTick() - temp_r31) >= 500) { + temp_r26 = msmSeGetNumPlay(1); + OSReport("Timed Out! Mus %d:SE %d\n", msmMusGetNumPlay(1), temp_r26); } - OSReport("GroupSet %d\n", dataSize); - sndGroupBak = dataSize; - err = msmSysDelGroupAll(); - buf = HuMemDirectMalloc(HEAP_DATA, msmSysGetSampSize(1)); - err = msmSysLoadGroupSet(dataSize, buf);\ - OSReport("***********GroupSet Error %d\n", err); - HuMemDirectFree(buf); + OSReport("GroupSet %d\n", arg0); + sndGroupBak = arg0; + temp_r27 = msmSysDelGroupAll(); + temp_r3 = HuMemDirectMalloc(HEAP_DATA, msmSysGetSampSize(1)); + temp_r27 = msmSysLoadGroupSet(arg0, temp_r3); + OSReport("***********GroupSet Error %d\n", temp_r27); + HuMemDirectFree(temp_r3); } } -void HuAudSndGrpSet(s16 grpId) { - void *buf; +void HuAudSndGrpSet(s16 arg0) { + void *temp_r3; - buf = HuMemDirectMalloc(HEAP_DATA, msmSysGetSampSize(grpId)); - msmSysLoadGroup(grpId, buf, 0); - HuMemDirectFree(buf); + temp_r3 = HuMemDirectMalloc(HEAP_DATA, msmSysGetSampSize(arg0)); + msmSysLoadGroup(arg0, temp_r3, 0); + HuMemDirectFree(temp_r3); } -void HuAudSndCommonGrpSet(s16 grpId, s32 groupCheck) { - s16 err; - OSTick osTick; - void *buf; +void HuAudSndCommonGrpSet(s16 arg0, s32 arg1) { + s16 temp_r30; + OSTick temp_r27; + void *temp_r3; s16 i; for (i = 0; i < 8; i++) { @@ -522,75 +508,74 @@ void HuAudSndCommonGrpSet(s16 grpId, s32 groupCheck) { } msmMusStopAll(1, 0); msmSeStopAll(1, 0); - osTick = OSGetTick(); + temp_r27 = OSGetTick(); while ((msmMusGetNumPlay(1) != 0 || msmSeGetNumPlay(1) != 0) - && OSTicksToMilliseconds(OSGetTick() - osTick) < 500); - OSReport("CommonGrpSet %d\n", grpId); - if (groupCheck != 0) { - err = msmSysDelGroupBase(0); - if (err < 0) { - OSReport("Del Group Error %d\n", err); + && OSTicksToMilliseconds(OSGetTick() - temp_r27) < 500); + OSReport("CommonGrpSet %d\n", arg0); + if (arg1 != 0) { + temp_r30 = msmSysDelGroupBase(0); + if (temp_r30 < 0) { + OSReport("Del Group Error %d\n", temp_r30); } } - buf = HuMemDirectMalloc(HEAP_DATA, msmSysGetSampSize(grpId)); - msmSysLoadGroupBase(grpId, buf); - HuMemDirectFree(buf); + temp_r3 = HuMemDirectMalloc(HEAP_DATA, msmSysGetSampSize(arg0)); + msmSysLoadGroupBase(arg0, temp_r3); + HuMemDirectFree(temp_r3); sndGroupBak = -1; } -void HuAudAUXSet(s32 auxA, s32 auxB) { - if (auxA == -1) { - auxA = 0; +void HuAudAUXSet(s32 arg0, s32 arg1) { + if (arg0 == -1) { + arg0 = 0; } - if (auxB == -1) { - auxB = 1; + if (arg1 == -1) { + arg1 = 1; } - msmSysSetAux(auxA, auxB); + msmSysSetAux(arg0, arg1); } -void HuAudAUXVolSet(s8 auxA, s8 auxB) { - HuAuxAVol = auxA; - HuAuxBVol = auxB; +void HuAudAUXVolSet(s8 arg0, s8 arg1) { + HuAuxAVol = arg0; + HuAuxBVol = arg1; } void HuAudVoiceInit(s16 ovl) { - SNDGRPTBL *sndGrp; - OSTick osTick; - s16 numNotChars; - s16 grpId; + HuSndGrpData *var_r29; + OSTick temp_r23; + s16 temp_r26; s16 temp_r25; - s16 character; - - void *buf; + s16 temp_r30; + s16 var_r27; + void *temp_r3; s16 i; if (ovl != OVL_INVALID) { - sndGrp = sndGrpTable; + var_r29 = HuSndGrpTbl; while (1) { - if (sndGrp->ovl == ovl && sndGrp->grpSet == -1) { + if (var_r29->ovl == ovl && var_r29->grpset == -1) { return; } - if (sndGrp->ovl == OVL_INVALID) { + if (var_r29->ovl == OVL_INVALID) { break; } - sndGrp++; + var_r29++; } } - for (i = numNotChars = 0; i < 4; i++) { - character = GWPlayerCfg[i].character; - if (character < 0 || character >= 8 || character == 0xFF || charVoiceGroupStat[character] != 0) { - numNotChars++; + for (i = var_r27 = 0; i < 4; i++) { + temp_r30 = GWPlayerCfg[i].character; + if (temp_r30 < 0 || temp_r30 >= 8 || temp_r30 == 0xFF || charVoiceGroupStat[temp_r30] != 0) { + var_r27++; } } - if (numNotChars < 4) { + if (var_r27 < 4) { for (i = 0; i < 8; i++) { charVoiceGroupStat[i] = 0; } msmMusStopAll(1, 0); msmSeStopAll(1, 0); - osTick = OSGetTick(); + temp_r23 = OSGetTick(); while ((msmMusGetNumPlay(1) != 0 || msmSeGetNumPlay(1) != 0) - && OSTicksToMilliseconds(OSGetTick() - osTick) < 500); + && OSTicksToMilliseconds(OSGetTick() - temp_r23) < 500); OSReport("############CharGrpSet\n"); temp_r25 = msmSysDelGroupBase(0); if (temp_r25 < 0) { @@ -599,102 +584,96 @@ void HuAudVoiceInit(s16 ovl) { OSReport("Del Group OK\n"); } for (i = 0; i < 4; i++) { - character = GWPlayerCfg[i].character; - if (character >= 0 && character < 8 && character != 0xFF) { - charVoiceGroupStat[character] = 1; - grpId = character + 10; - buf = HuMemDirectMalloc(HEAP_DATA, msmSysGetSampSize(grpId)); - #if VERSION_NTSC - msmSysLoadGroupBase(grpId, buf); - #else - temp_r25 = msmSysLoadGroupBase(grpId, buf); - #endif - HuMemDirectFree(buf); + temp_r30 = GWPlayerCfg[i].character; + if (temp_r30 >= 0 && temp_r30 < 8 && temp_r30 != 0xFF) { + charVoiceGroupStat[temp_r30] = 1; + temp_r26 = temp_r30 + 0xA; + temp_r3 = HuMemDirectMalloc(HEAP_DATA, msmSysGetSampSize(temp_r26)); + msmSysLoadGroupBase(temp_r26, temp_r3); + HuMemDirectFree(temp_r3); } } sndGroupBak = -1; } } -s32 HuAudPlayerVoicePlay(s16 player, s16 seId) { - s16 charNo = GWPlayerCfg[player].character; +s32 HuAudPlayerVoicePlay(s16 arg0, s16 arg1) { + s16 temp_r31 = GWPlayerCfg[arg0].character; - return HuAudCharVoicePlay(charNo, seId); + return HuAudCharVoicePlay(temp_r31, arg1); } -s32 HuAudPlayerVoicePlayPos(s16 player, s16 seId, Vec *pos) { - s16 charNo = GWPlayerCfg[player].character; +s32 HuAudPlayerVoicePlayPos(s16 arg0, s16 arg1, Vec *arg2) { + s16 temp_r31 = GWPlayerCfg[arg0].character; - return HuAudCharVoicePlayPos(charNo, seId, pos); + return HuAudCharVoicePlayPos(temp_r31, arg1, arg2); } -void HuAudPlayerVoicePlayEntry(s16 player, s16 seId) { - s16 charNo = GWPlayerCfg[player].character; +void HuAudPlayerVoicePlayEntry(s16 arg0, s16 arg1) { + s16 temp_r31 = GWPlayerCfg[arg0].character; - HuAudCharVoicePlayEntry(charNo, seId); + HuAudCharVoicePlayEntry(temp_r31, arg1); } -s32 HuAudCharVoicePlay(s16 charNo, s16 seId) -{ - MSM_SEPARAM param; +s32 HuAudCharVoicePlay(s16 arg0, s16 arg1) { + UnkMsmStruct_01 spC; if (omSysExitReq != 0) { return 0; } - seId += (charNo << 6); - param.flag = MSM_SEPARAM_NONE; + arg1 += (arg0 << 6); + spC.unk00 = 0; if (HuAuxAVol != -1) { - param.flag |= MSM_SEPARAM_AUXVOLA; + spC.unk00 |= 0x10; } if (HuAuxBVol != -1) { - param.flag |= MSM_SEPARAM_AUXVOLB; + spC.unk00 |= 0x20; } - param.auxAVol = HuAuxAVol; - param.auxBVol = HuAuxBVol; - return HuSePlay(seId, ¶m); + spC.unk09 = HuAuxAVol; + spC.unk0A = HuAuxBVol; + return HuSePlay(arg1, &spC); } -s32 HuAudCharVoicePlayPos(s16 charNo, s16 seId, Vec *pos) { - MSM_SEPARAM param; +s32 HuAudCharVoicePlayPos(s16 arg0, s16 arg1, Vec *arg2) { + UnkMsmStruct_01 spC; if (omSysExitReq != 0) { return 0; } - seId += (charNo << 6); - param.flag = MSM_SEPARAM_POS; + arg1 += (arg0 << 6); + spC.unk00 = 0x40; if (HuAuxAVol != -1) { - param.flag |= MSM_SEPARAM_AUXVOLA; + spC.unk00 |= 0x10; } if (HuAuxBVol != -1) { - param.flag |= MSM_SEPARAM_AUXVOLB; + spC.unk00 |= 0x20; } - param.auxAVol = HuAuxAVol; - param.auxBVol = HuAuxBVol; - param.pos.x = pos->x; - param.pos.y = pos->y; - param.pos.z = pos->z; - return HuSePlay(seId, ¶m); + spC.unk09 = HuAuxAVol; + spC.unk0A = HuAuxBVol; + spC.unk10.x = arg2->x; + spC.unk10.y = arg2->y; + spC.unk10.z = arg2->z; + return HuSePlay(arg1, &spC); } -void HuAudCharVoicePlayEntry(s16 charNo, s16 seId) { - int seNoTbl[MSM_ENTRY_SENO_MAX]; // size unknown (min: 30, max: 33) - u16 id; +void HuAudCharVoicePlayEntry(s16 arg0, s16 arg1) { + s32 spC[30]; // size unknown (min: 30, max: 33) + u16 temp_r29; u16 i; - seId += (charNo << 6); - id = msmSeGetEntryID(seId, seNoTbl); - for (i = 0; i < id; i++) { - msmSeStop(seNoTbl[i], 0); + arg1 += (arg0 << 6); + temp_r29 = msmSeGetEntryID(arg1, spC); + for (i = 0; i < temp_r29; i++) { + msmSeStop(spC[i], 0); } } -static int HuSePlay(int seId, MSM_SEPARAM *param) -{ - s32 result; +static s32 HuSePlay(s32 arg0, UnkMsmStruct_01 *arg1) { + s32 temp_r3; - result = msmSePlay(seId, param); - if (result < 0) { - OSReport("#########SE Entry Error\n", seId, result); + temp_r3 = msmSePlay(arg0, arg1); + if (temp_r3 < 0) { + OSReport("#########SE Entry Error\n", arg0, temp_r3); } - return result; + return temp_r3; } diff --git a/src/game/board/audio.c b/src/game/board/audio.c index d5d8ccda..18e8340d 100755 --- a/src/game/board/audio.c +++ b/src/game/board/audio.c @@ -8,106 +8,114 @@ static s16 boardSeq[2][2]; static s32 boardFX = -1; +//mod: add new music id for extra board static s16 boardMusTbl[] = { - 0x000D, 0x0011, 0x0015, - 0x001C, 0x0021, 0x0025, - 0x0028, 0x0029, 0x002A +/* [BOARD_ID_MAIN1] */ 0x000D, +/* [BOARD_ID_MAIN2] */ 0x0011, +/* [BOARD_ID_MAIN3] */ 0x0015, +/* [BOARD_ID_MAIN4] */ 0x001C, +/* [BOARD_ID_MAIN5] */ 0x0021, +/* [BOARD_ID_MAIN6] */ 0x0025, +/* [BOARD_ID_TUTORIAL] */ 0x0028, +/* [BOARD_ID_EXTRA1] */ 0x0029, +/* [BOARD_ID_EXTRA2] */ 0x002A, +/* [BOARD_ID_CUSTOM] */ 0x002A, }; void BoardMusStartBoard(void) { - s16 musIdx = boardMusTbl[GWBoardGet()]; + s16 temp_r31 = boardMusTbl[GWBoardGet()]; - BoardMusStart(0, musIdx, 0x7F, 0); + BoardMusStart(0, temp_r31, 0x7F, 0); BoardAudFXPlay(); } -void BoardMusStart(s32 boardNo, s32 musId, s8 vol, u16 speed) { - s16 *board = boardSeq[boardNo]; - MSM_MUSPARAM param; +void BoardMusStart(s32 arg0, s32 arg1, s8 arg2, u16 arg3) { + s16 *temp_r31 = boardSeq[arg0]; + UnkMsmStruct_03 sp8; - if (musId == board[1]) { + if (arg1 == temp_r31[1]) { return; } - if (board[0] != -1) { - BoardAudSeqFadeOutFast(board[0]); + if (temp_r31[0] != -1) { + BoardAudSeqFadeOutFast(temp_r31[0]); } - param.flag = MSM_MUSPARAM_CHAN; - if (speed != 0) { - param.flag |= MSM_MUSPARAM_FADESPEED; + sp8.unk00 = 1; + if (arg3 != 0) { + sp8.unk00 |= 8; } - if (vol < 0) { - param.flag |= MSM_MUSPARAM_VOL; - vol = 0x7F; + if (arg2 < 0) { + sp8.unk00 |= 2; + arg2 = 0x7F; } - param.fadeSpeed = speed; - param.vol = vol; - param.chan = boardNo; - board[0] = msmMusPlay(musId, ¶m); - board[1] = musId; + sp8.unk06 = arg3; + sp8.unk05 = arg2; + sp8.unk04 = arg0; + temp_r31[0] = msmMusPlay(arg1, &sp8); + temp_r31[1] = arg1; } -void BoardAudSeqFadeOutFast(s32 boardNo) { - BoardAudSeqFadeOut(boardNo, 0x64); +void BoardAudSeqFadeOutFast(s32 arg0) { + BoardAudSeqFadeOut(arg0, 0x64); } -void BoardAudSeqFadeOut(s32 boardNo, u16 speed) { - s16 *board = boardSeq[boardNo]; +void BoardAudSeqFadeOut(s32 arg0, u16 arg1) { + s16 *temp_r31 = boardSeq[arg0]; - if (board[0] == -1) { + if (temp_r31[0] == -1) { return; } - HuAudSeqFadeOut(board[0], speed); - board[1] = board[0] = -1; + HuAudSeqFadeOut(temp_r31[0], arg1); + temp_r31[1] = temp_r31[0] = -1; } -void BoardMusLoudSet(s32 boardNo, s32 isQuieter) { - if (isQuieter != 0) { - BoardMusVolPanSet(boardNo, 0x60, 0x1F4); +void BoardMusLoudSet(s32 arg0, s32 arg1) { + if (arg1 != 0) { + BoardMusVolPanSet(arg0, 0x60, 0x1F4); } else { - BoardMusVolPanSet(boardNo, 0x7F, 0x1F4); + BoardMusVolPanSet(arg0, 0x7F, 0x1F4); } } -void BoardMusVolPanSet(s32 boardNo, s8 vol, u16 fadeSpeed) { - s16 *board = boardSeq[boardNo]; - MSM_MUSPARAM param; +void BoardMusVolPanSet(s32 arg0, s8 arg1, u16 arg2) { + s16 *temp_r31 = boardSeq[arg0]; + UnkMsmStruct_04 sp10; - if (board[0] == -1) { + if (temp_r31[0] == -1) { return; } - param.flag = MSM_MUSPARAM_CHAN; - param.flag |= MSM_MUSPARAM_VOL; - if (vol < 0) { - vol = 0x7F; + sp10.unk00 = 1; + sp10.unk00 |= 2; + if (arg1 < 0) { + arg1 = 0x7F; } - param.fadeSpeed = fadeSpeed; - param.vol = vol; - msmMusSetParam(board[0], ¶m); + sp10.unk06 = arg2; + sp10.unk05 = arg1; + msmMusSetParam(temp_r31[0], &sp10); } -void BoardAudSeqPause(s32 boardNo, s32 pause, u16 speed) { - s16 *board = boardSeq[boardNo]; +void BoardAudSeqPause(s32 arg0, s32 arg1, u16 arg2) { + s16 *temp_r31 = boardSeq[arg0]; - if (board[0] == -1) { + if (temp_r31[0] == -1) { return; } - if (pause != 0) { - if (BoardMusStatusGet(boardNo) == 3) { + if (arg1 != 0) { + if (BoardMusStatusGet(arg0) == 3) { return; } - } else if (BoardMusStatusGet(boardNo) != 3) { + } else if (BoardMusStatusGet(arg0) != 3) { return; } - HuAudSeqPause(board[0], pause, speed); + HuAudSeqPause(temp_r31[0], arg1, arg2); } -s32 BoardMusStatusGet(s32 boardNo) { - s16 *board = boardSeq[boardNo]; +s32 BoardMusStatusGet(s32 arg0) { + s16 *temp_r31 = boardSeq[arg0]; - if (board[0] == -1) { + if (temp_r31[0] == -1) { return 0; } - return msmMusGetStatus(board[0]); + return msmMusGetStatus(temp_r31[0]); } void BoardAudSeqClear(void) { @@ -134,20 +142,20 @@ void BoardAudSeqFadeOutAll(void) { } void BoardAudFXPlay(void) { - s32 seId; + s32 var_r31; switch (GWBoardGet()) { case BOARD_ID_MAIN5: - seId = 0x48D; + var_r31 = 0x48D; break; case BOARD_ID_MAIN6: - seId = 0x4A2; + var_r31 = 0x4A2; break; default: return; } if (boardFX == -1) { - boardFX = HuAudFXPlay(seId); + boardFX = HuAudFXPlay(var_r31); } } diff --git a/src/game/board/basic_space.c b/src/game/board/basic_space.c index abce562c..678ff3a6 100644 --- a/src/game/board/basic_space.c +++ b/src/game/board/basic_space.c @@ -90,7 +90,7 @@ void BoardLandBlueExec(s32 player, s32 space) { coin_chg = BoardCoinChgCreate(&pos, coins); HuAudFXPlay(839); BoardCameraMotionWait(); - BoardPlayerMotionShiftSet(player, 12, 0.0f, 4.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(player, 12, 0.0f, 4.0f, 0); for (i = 0; i < coins; i++) { BoardPlayerCoinsAdd(player, 1); @@ -131,7 +131,7 @@ void BoardLandRedExec(s32 player, s32 space) { coin_chg = BoardCoinChgCreate(&pos, -coins); HuAudFXPlay(840); BoardCameraMotionWait(); - BoardPlayerMotionShiftSet(player, 13, 0.0f, 4.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(player, 13, 0.0f, 4.0f, 0); for (i = 0; i < coins; i++) { BoardPlayerCoinsAdd(player, -1); HuAudFXPlay(14); @@ -302,7 +302,7 @@ static void CoinChgAppear(omObjData *object, coinChg *coin_chg) { f32 angle; OSu16tof32(&coin_chg->angle, &angle); - angle = sind(angle); + angle = sin(M_PI * angle / 180.0); scale = angle; object->rot.x = 405.0f * angle; BoardModelScaleSet(coin_chg->coin_model, scale, scale, scale); @@ -342,8 +342,8 @@ static void CoinChgSeparate(omObjData *object, coinChg *coin_chg) { } else { spacing = 105.0f; } - y_offset = 200.0 * sind(2.0f * x_scale); - x_scale = sind(x_scale); + y_offset = (200.0 * sin((M_PI * (2.0f * x_scale)) / 180.0)); + x_scale = sin((M_PI * x_scale) / 180.0); object->rot.x = 45.0f + (315.0f * x_scale); if (coin_chg->tens != 0) { coin_x = object->trans.x + (x_scale * -spacing); @@ -374,25 +374,25 @@ static void CoinChgSeparate(omObjData *object, coinChg *coin_chg) { } static void CoinChgShow(omObjData* object, coinChg* coin_chg) { - Vec pos; + Vec sp8; f32 angle; f32 y_pos; OSu16tof32(&coin_chg->angle, &angle); - angle = sind(angle); + angle = (f32) sin((M_PI * angle) / 180.0); if (coin_chg->minus != 0) { y_pos = (-50.0f * angle) + object->trans.y; } else { y_pos = (50.0f * angle) + object->trans.y; } - BoardModelPosGet(coin_chg->coin_model, &pos); - BoardModelPosSet(coin_chg->coin_model, pos.x, y_pos, pos.z); - BoardModelPosGet(coin_chg->sign_model, &pos); - BoardModelPosSet(coin_chg->sign_model, pos.x, y_pos, pos.z); - BoardModelPosGet(coin_chg->ones_model, &pos); - BoardModelPosSet(coin_chg->ones_model, pos.x, y_pos, pos.z); - BoardModelPosGet(coin_chg->tens_model, &pos); - BoardModelPosSet(coin_chg->tens_model, pos.x, y_pos, pos.z); + BoardModelPosGet(coin_chg->coin_model, &sp8); + BoardModelPosSet(coin_chg->coin_model, sp8.x, y_pos, sp8.z); + BoardModelPosGet(coin_chg->sign_model, &sp8); + BoardModelPosSet(coin_chg->sign_model, sp8.x, y_pos, sp8.z); + BoardModelPosGet(coin_chg->ones_model, &sp8); + BoardModelPosSet(coin_chg->ones_model, sp8.x, y_pos, sp8.z); + BoardModelPosGet(coin_chg->tens_model, &sp8); + BoardModelPosSet(coin_chg->tens_model, sp8.x, y_pos, sp8.z); if (coin_chg->angle < 90) { coin_chg->angle += 6; return; diff --git a/src/game/board/battle.c b/src/game/board/battle.c index 2ba67445..884ef9c4 100755 --- a/src/game/board/battle.c +++ b/src/game/board/battle.c @@ -150,6 +150,7 @@ static void ExecBattle(void) { s32 var_r23; MgInfo *var_r29; s32 var_r27 = 0; + //mod: extend for custom board s32 sp8[] = { DATADIR_W01, DATADIR_W02, @@ -159,7 +160,8 @@ static void ExecBattle(void) { DATADIR_W06, DATADIR_W10, DATADIR_W20, - DATADIR_W21 + DATADIR_W21, + DATADIR_W07 }; var_r29 = mgInfoTbl; @@ -454,7 +456,7 @@ static void UpdateExplode(omObjData *arg0) { if (currSpace == GWPlayer[i].space_curr) { temp_f31 = 20.0f * BoardRandFloat(); HuAudFXPlay(bombFXTbl[GWPlayer[i].character]); - BoardPlayerMotionShiftSet(i, 6, temp_f31, 8.0f, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(i, 6, temp_f31, 8.0f, 0x40000001); } } CharModelLayerSetAll(2); @@ -619,7 +621,7 @@ static void ShowBattleGame(BattleWork *arg0, omObjData *arg1) { arg0->unk01 = 1; arg1->trans.z = 0.01f; arg1->trans.y = 0.0f; - HuSprAttrReset(arg0->unk08, 0, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(arg0->unk08, 0, 4); HuSprPosSet(arg0->unk08, 0, 0.0f, 0.0f); } else { return; @@ -682,8 +684,8 @@ static void UpdateBattleCoin(BattleWork *arg0, omObjData *arg1) { HuSprBankSet(arg0->unk08, 1, temp_r28); return; } - HuSprAttrReset(arg0->unk08, 2, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(arg0->unk08, 1, HUSPR_ATTR_NOANIM | HUSPR_ATTR_DISPOFF); + HuSprAttrReset(arg0->unk08, 2, 4); + HuSprAttrReset(arg0->unk08, 1, 5); HuSprPosSet(arg0->unk08, 2, 0.0f, 40.0f); HuSprPosSet(arg0->unk08, 1, 34.0f, 40.0f); HuSprScaleSet(arg0->unk08, 1, 0.9f, 0.9f); @@ -726,10 +728,10 @@ static void InitBattleGameSpr(BattleWork *arg0, omObjData *arg1) { temp_r30 = battleMGIdx[0]; temp_r29 = battleMGIdx[1]; - HuSprAttrReset(arg0->unk08, 3, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(arg0->unk08, 4, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(arg0->unk08, temp_r30 + 5, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(arg0->unk08, temp_r29 + 5, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(arg0->unk08, 3, 4); + HuSprAttrReset(arg0->unk08, 4, 4); + HuSprAttrReset(arg0->unk08, temp_r30 + 5, 4); + HuSprAttrReset(arg0->unk08, temp_r29 + 5, 4); HuSprPosSet(arg0->unk08, 3, sp8[0][0], sp8[0][1]); HuSprPosSet(arg0->unk08, 4, sp8[1][0], sp8[1][1]); HuSprPosSet(arg0->unk08, temp_r30 + 5, sp8[0][0], sp8[0][1]); diff --git a/src/game/board/block.c b/src/game/board/block.c index 0f7f86aa..a3e73511 100644 --- a/src/game/board/block.c +++ b/src/game/board/block.c @@ -1,13 +1,12 @@ -#include "ext_math.h" -#include "game/board/main.h" -#include "game/board/model.h" -#include "game/board/player.h" -#include "game/board/star.h" -#include "game/board/window.h" #include "game/flag.h" #include "game/objsub.h" #include "game/process.h" - +#include "game/board/main.h" +#include "game/board/player.h" +#include "game/board/model.h" +#include "game/board/star.h" +#include "game/board/window.h" +#include "math.h" #define BLOCK_SPAWN 0 #define BLOCK_HIT 2 @@ -22,7 +21,7 @@ typedef struct { u8 opened : 1; u8 unk00_field5 : 1; }; - + s16 hit_y_velocity; s16 target_y_pos; } BlockWork; @@ -31,7 +30,7 @@ typedef struct { struct { u8 kill : 1; }; - + u8 lifetime; s8 model_index; s16 model; @@ -39,19 +38,19 @@ typedef struct { static void BlockProc(void); static void DestroyBlock(void); -static void ExecBlockObj(omObjData *arg0); +static void ExecBlockObj(omObjData* arg0); static void CreateBlockObj(s32 arg0); -static void DestroyBlockObj(BlockWork *unused0, omObjData *unused1); -static void SpawnBlock(BlockWork *arg0, omObjData *arg1); -static void HitBlock(BlockWork *arg0, omObjData *arg1); -static void OpenBlock(BlockWork *arg0, omObjData *arg1); +static void DestroyBlockObj(BlockWork* unused0, omObjData* unused1); +static void SpawnBlock(BlockWork* arg0, omObjData* arg1); +static void HitBlock(BlockWork* arg0, omObjData* arg1); +static void OpenBlock(BlockWork* arg0, omObjData* arg1); static void SetBlockOpen(void); static void SetBlockStop(void); static void WaitBlockHit(void); static void CreateCoinMdl(void); static void KillCoinMdl(void); static void PopupCoin(void); -static void PopupCoinExec(omObjData *arg0); +static void PopupCoinExec(omObjData* arg0); extern s8 boardTutorialBlockF; extern s8 boardTutorialBlockItem; @@ -63,41 +62,37 @@ static f32 rotMax; static f32 scaleAngle; static f32 rotY; -static omObjData *blockObj; -static Process *blockProc; +static omObjData* blockObj; +static Process* blockProc; static s16 coinMdl[10] = { -1, -1, -1, -1 }; static s32 coinF[10]; -s32 BoardBlockExec(s32 arg0) -{ +s32 BoardBlockExec(s32 arg0) { if (BoardPlayerSizeGet(arg0) == 2) { return 0; } - + blockProc = HuPrcChildCreate(BlockProc, 0x2003, 0x3800U, 0, boardMainProc); HuPrcDestructorSet2(blockProc, DestroyBlock); - + while (blockProc != NULL) { HuPrcVSleep(); } - + return 0; } -static void BlockProc(void) -{ - s32 sp14[8] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x60), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x60), DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x60), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x60), DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x60), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x60), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x60), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x60) }; - Vec sp8; +static void BlockProc(void) { + s32 sp14[8] = {0x005F0060, 0x001A0060, 0x006D0060, 0x008A0060, 0x00850060, 0x00110060, 0x000D0060, 0x00810060}; + Point3d sp8; s32 var_r28; s32 i; s32 player; - BlockWork *work; - s32 *temp_r4; + BlockWork* work; + s32* temp_r4; s32 player_character; - + player = GWSystem.player_curr; player_character = GWPlayer[player].character; @@ -106,18 +101,18 @@ static void BlockProc(void) BoardPlayerMotBlendSet(player, 0, 0xF); omVibrate(player, 12, 12, 0); CreateBlockObj(player); - + work = OM_GET_WORK_PTR(blockObj, BlockWork); while (work->state != BLOCK_HIT) { HuPrcVSleep(); } - + BoardCameraViewSet(3); BoardCameraMotionWait(); BoardWinCreate(0, 0x10000, -1); BoardWinWait(); BoardWinKill(); - BoardPlayerMotionShiftSet(player, 0xB, 0, 8.0, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(player, 0xB, 0, 8.0, 0.0); HuPrcSleep(9); while (BoardPlayerMotionTimeGet(player) < 30.0f) { HuPrcVSleep(); @@ -128,7 +123,7 @@ static void BlockProc(void) HuPrcVSleep(); } BoardPlayerIdleSet(player); - + if (work->contains_star != 0) { SetBlockStop(); BoardModelPosGet(starMdl, &sp8); @@ -139,11 +134,10 @@ static void BlockProc(void) if (_CheckFlag(FLAG_ID_MAKE(1, 11)) == 0) { BoardAudSeqPause(0, 0, 1000); } - } - else { + } else { for (i = 0; i < 0x14; i++) { WaitBlockHit(); - BoardPlayerMotionStart(player, (s32)jumpMot, 0); + BoardPlayerMotionStart(player, (s32) jumpMot, 0); BoardPlayerMotionSpeedSet(player, 2); while (BoardPlayerMotionTimeGet(player) < 4) { HuPrcVSleep(); @@ -158,30 +152,29 @@ static void BlockProc(void) HuAudFXPlay(7); HuPrcVSleep(); } - + SetBlockStop(); } - + BoardWinCreate(0, work->contains_star != 0 ? MAKE_MESSID(1, 1) : MAKE_MESSID(1, 2), -1); BoardWinWait(); BoardWinKill(); KillCoinMdl(); work->kill = 1; - - BoardPlayerIdleSet((s32)player); + + BoardPlayerIdleSet((s32) player); HuPrcVSleep(); - + if ((_CheckFlag(FLAG_ID_MAKE(1, 11)) != 0) && work->contains_star == 0) { BoardTutorialHookExec(0x16, 0); } - + BoardCameraViewSet(2); BoardCameraMotionWait(); HuPrcEnd(); } -static void DestroyBlock(void) -{ +static void DestroyBlock(void) { if (jumpMot != -1) { BoardPlayerMotionKill(GWSystem.player_curr, jumpMot); jumpMot = -1; @@ -190,74 +183,71 @@ static void DestroyBlock(void) blockProc = 0; } -static void CreateBlockObj(s32 arg0) -{ - Vec player_pos; - BlockWork *work; +static void CreateBlockObj(s32 arg0) { + Point3d player_pos; + BlockWork* work; s8 contains_star; - + BoardPlayerPosGet(arg0, &player_pos); - starMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 4), NULL, 0); + starMdl = BoardModelCreate(0x70004, NULL, 0); BoardModelVisibilitySet(starMdl, 0); BoardModelMotionSpeedSet(starMdl, 0); BoardModelLayerSet(starMdl, 2U); - + blockObj = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, ExecBlockObj); - + work = OM_GET_WORK_PTR(blockObj, BlockWork); work->kill = 0; work->unk00_field2 = 0; work->opened = 0; work->unk00_field5 = 0; work->state = BLOCK_SPAWN; - + blockObj->trans.x = player_pos.x; blockObj->trans.y = 270 + player_pos.y; blockObj->trans.z = player_pos.z; - + blockObj->scale.x = blockObj->scale.y = blockObj->scale.z = 0.01; blockObj->rot.x = blockObj->rot.y = blockObj->rot.z = 0.0; - + scaleAngle = 0; rotY = 0; rotMax = 30; - + BoardModelVisibilitySet(starMdl, 1); - + if (BoardRandFloat() > 0.5f) { contains_star = 0; - } - else { + } else { contains_star = 1; } - + work->contains_star = contains_star; - + if (boardTutorialBlockF != 0) { work->contains_star = boardTutorialBlockItem; boardTutorialBlockF = 0; } - + HuAudFXPlay(0x302); - + if (work->contains_star == 0) { CreateCoinMdl(); } } -static void ExecBlockObj(omObjData *arg0) -{ - BlockWork *work; +static void ExecBlockObj(omObjData* arg0) { + BlockWork* work; work = OM_GET_WORK_PTR(arg0, BlockWork); - + if (work->kill != 0 || BoardIsKill() != 0) { DestroyBlockObj(work, arg0); blockObj = 0; omDelObjEx(HuPrcCurrentGet(), arg0); return; } - + switch (work->state) { case BLOCK_SPAWN: SpawnBlock(work, arg0); @@ -269,33 +259,30 @@ static void ExecBlockObj(omObjData *arg0) OpenBlock(work, arg0); break; } - + if (work->unk00_field5 != 0) { BoardModelVisibilitySet(starMdl, 0); } - + BoardModelPosSet(starMdl, arg0->trans.x, arg0->trans.y, arg0->trans.z); BoardModelRotSet(starMdl, arg0->rot.x, arg0->rot.y, arg0->rot.z); BoardModelScaleSet(starMdl, arg0->scale.x, arg0->scale.y, arg0->scale.z); } -static void DestroyBlockObj(BlockWork *unused0, omObjData *unused1) -{ +static void DestroyBlockObj(BlockWork* unused0, omObjData* unused1) { if (starMdl != -1) { BoardModelKill(starMdl); starMdl = -1; } } -static void SpawnBlock(BlockWork *arg0, omObjData *arg1) -{ +static void SpawnBlock(BlockWork* arg0, omObjData* arg1) { if (scaleAngle < 90.0f) { scaleAngle += 3.75f; if (scaleAngle > 90.0f) { scaleAngle = 90.0f; } - } - else { + } else { rotMax *= 0.5f; if (rotMax < 0.8f) { rotY = 0.0f; @@ -304,33 +291,31 @@ static void SpawnBlock(BlockWork *arg0, omObjData *arg1) arg0->state = BLOCK_HIT; } } - + if (rotY < 360.0f) { rotY += rotMax; if (rotY > 360.0f) { rotY = 360.0f; } } - + arg1->rot.y = rotY; - arg1->scale.x = arg1->scale.y = arg1->scale.z = sind(scaleAngle); + arg1->scale.x = arg1->scale.y = arg1->scale.z = sin(M_PI * scaleAngle / 180.0); } -static void HitBlock(BlockWork *arg0, omObjData *arg1) -{ +static void HitBlock(BlockWork* arg0, omObjData* arg1) { float var_f30; arg0->hit_y_velocity += 3; if (arg0->hit_y_velocity > 0x168) { arg0->hit_y_velocity -= 0x168; } - + OSs16tof32(&arg0->hit_y_velocity, &var_f30); - arg1->trans.y += 0.2f * sind(var_f30); + arg1->trans.y += 0.2f * sin((M_PI * var_f30) / 180.0); } -static void OpenBlock(BlockWork *arg0, omObjData *arg1) -{ +static void OpenBlock(BlockWork* arg0, omObjData* arg1) { f32 target_y_pos; if (arg0->opened == 0) { @@ -338,17 +323,16 @@ static void OpenBlock(BlockWork *arg0, omObjData *arg1) HuAudFXPlay(0x33B); BoardModelMotionStart(starMdl, 0, 0); } - + if (arg0->unk00_field2 == 0) { OSf32tos16(&arg1->trans.y, &arg0->target_y_pos); - + arg1->trans.y += 80.0f; arg0->unk00_field2 = 1; - } - else { + } else { OSs16tof32(&arg0->target_y_pos, &target_y_pos); arg1->trans.y += -8.0f; - + if (arg1->trans.y < target_y_pos) { arg1->trans.y = target_y_pos; arg0->state = BLOCK_HIT; @@ -356,48 +340,43 @@ static void OpenBlock(BlockWork *arg0, omObjData *arg1) } } -static void SetBlockOpen(void) -{ - BlockWork *work; +static void SetBlockOpen(void) { + BlockWork* work; work = OM_GET_WORK_PTR(blockObj, BlockWork); work->state = BLOCK_OPEN; } -static void SetBlockStop(void) -{ - BlockWork *work; +static void SetBlockStop(void) { + BlockWork* work; work = OM_GET_WORK_PTR(blockObj, BlockWork); work->unk00_field5 = 1; } -static void WaitBlockHit(void) -{ - BlockWork *work; +static void WaitBlockHit(void) { + BlockWork* work; work = OM_GET_WORK_PTR(blockObj, BlockWork); - + while (work->state != BLOCK_HIT) { HuPrcVSleep(); } } -static void CreateCoinMdl(void) -{ +static void CreateCoinMdl(void) { s32 i; - + for (i = 0; i < 10; i += 1) { - coinMdl[i] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 10), NULL, 1); + coinMdl[i] = BoardModelCreate(0x7000A, NULL, 1); BoardModelVisibilitySet(coinMdl[i], 0); coinF[i] = 0; } } -static void KillCoinMdl(void) -{ +static void KillCoinMdl(void) { s32 i; - + for (i = 0; i < 0xA; i += 1) { if (coinMdl[i] != -1) { BoardModelKill(coinMdl[i]); @@ -407,81 +386,77 @@ static void KillCoinMdl(void) } } -static inline s32 FindCoinModel(s16 *out_model) -{ +static inline s32 FindCoinModel(s16 *out_model) { s32 i; - + for (i = 0; i < 10; i++) { if (coinF[i] == 0) { *out_model = coinMdl[i]; return i; } } - + return -1; } -static void PopupCoin(void) -{ - Vec star_pos; - omObjData *coinObj; +static void PopupCoin(void) { + Point3d star_pos; + omObjData* coinObj; s32 model_index; s16 model; - CoinWork *work; - + CoinWork* work; + do { HuPrcVSleep(); model_index = FindCoinModel(&model); } while (model_index == -1); - + coinObj = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, PopupCoinExec); work = OM_GET_WORK_PTR(coinObj, CoinWork); - + work->kill = 0; work->lifetime = 10; work->model = model; work->model_index = model_index; - + coinObj->trans.x = 15.0f; coinObj->trans.y = 40.0f; - + BoardModelPosGet(starMdl, &star_pos); BoardModelPosSetV(work->model, &star_pos); BoardModelVisibilitySet(work->model, 1); } -static void PopupCoinExec(omObjData *obj) -{ - Vec coin_pos; - Vec coin_rot; - CoinWork *work; +static void PopupCoinExec(omObjData* obj) { + Point3d coin_pos; + Point3d coin_rot; + CoinWork* work; work = OM_GET_WORK_PTR(obj, CoinWork); - + if (work->kill != 0 || BoardIsKill() != 0) { BoardModelVisibilitySet(work->model, 0); coinF[work->model_index] = 0; omDelObjEx(HuPrcCurrentGet(), obj); return; } - + if (work->lifetime != 0) { work->lifetime -= 1; - } - else { + } else { work->kill = 1; return; } - + BoardModelPosGet(work->model, &coin_pos); coin_pos.y += obj->trans.y; BoardModelPosSetV(work->model, &coin_pos); BoardModelRotGet(work->model, &coin_rot); coin_rot.y += obj->trans.x; - + if (coin_rot.y > 360.0f) { coin_rot.y -= 360.0f; } - + BoardModelRotSetV(work->model, &coin_rot); } diff --git a/src/game/board/boo.c b/src/game/board/boo.c index 56dff9ce..ff5feee2 100755 --- a/src/game/board/boo.c +++ b/src/game/board/boo.c @@ -182,13 +182,22 @@ static s32 booSfxTbl[4][8] = { } }; +//mod: extend for custom board static s32 hostMess[] = { MAKE_MESSID(7, 14), MAKE_MESSID(7, 20), MAKE_MESSID(7, 26), MAKE_MESSID(7, 32), MAKE_MESSID(7, 38), - MAKE_MESSID(7, 44) + MAKE_MESSID(7, 44), + + //dummy data for tutorial and extra board + MAKE_MESSID(7, 44), + MAKE_MESSID(7, 44), + MAKE_MESSID(7, 44), + + //custom board data + MAKE_MESSID(7, 44), }; static s32 ballMdlTbl[] = { @@ -931,7 +940,7 @@ static void BallPlayerScare(omObjData *arg0, BallPlayerWork *arg1) { temp_r29 = arg0->data; temp_f31 = -BoardPlayerRotYGet(stealTarget); if (stealType == 2) { - BoardPlayerMotionShiftSet(stealTarget, temp_r29->unk04[3], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(stealTarget, temp_r29->unk04[3], 0.0f, 10.0f, 0x40000001); SetBallPlayerState(0); } else { BoardPlayerMotBlendSet(stealTarget, temp_f31, 15); @@ -1039,7 +1048,7 @@ static void BallPlayerCatch(omObjData *arg0, BallPlayerWork *arg1) { omVibrate(stealTarget, 12, 4, 2); TakeBallStar(); } - BoardPlayerMotionShiftSet(stealTarget, temp_r27->unk04[0], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(stealTarget, temp_r27->unk04[0], 0.0f, 10.0f, 0); arg1->unk02 = 1; } if (stealType == 0) { @@ -1124,7 +1133,7 @@ static void SetBallBooState(s32 arg0) { ballBooObj->rot.y = (sp8.y - ballBooObj->trans.y) / 30.0f; ballBooObj->rot.z = (sp8.z - ballBooObj->trans.z) / 30.0f; temp_r31->unk02 = 30; - BoardModelMotionShiftSet(temp_r31->unk04, 1, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(temp_r31->unk04, 1, 0.0f, 10.0f, 0x40000001); } if (arg0 == 5) { HuAudFXPlay(0x64); @@ -1133,7 +1142,7 @@ static void SetBallBooState(s32 arg0) { if (arg0 == 7) { temp_r31->unk08 = -ballBooObj->scale.y; HuAudFXPlay(0x64); - BoardModelMotionShiftSet(temp_r31->unk04, 5, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(temp_r31->unk04, 5, 0.0f, 10.0f, 0x40000001); } if (arg0 == 3) { battleTimer = 0; @@ -1200,7 +1209,7 @@ static void BallBooChase(omObjData *arg0, BallBooWork *arg1) { } else { SetBallBooState(0); } - BoardModelMotionShiftSet(arg1->unk04, 1, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(arg1->unk04, 1, 0.0f, 10.0f, 0x40000001); } } @@ -1255,7 +1264,7 @@ static void BallBooFlash(omObjData *arg0, BallBooWork *arg1) { if (BoardDAngleCalcRange(&arg0->scale.y, arg1->unk08, 8.0f) != 0) { SetBallBooState(6); - BoardModelMotionShiftSet(arg1->unk04, 3, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(arg1->unk04, 3, 0.0f, 10.0f, 0x40000001); temp_f31 = BoardPlayerRotYGet(stealTarget); BoardPlayerPosGet(stealTarget, &sp8); sp8.x += 500.0 * sind(-temp_f31); @@ -1292,7 +1301,7 @@ static void TakeBallCoin(void) { var_r31->unk1C.x = 3.0f * (BoardRandFloat() - 0.5f); var_r31->unk1C.y = 3.0 * sin(BoardRandFloat()); var_r31->unk1C.z = 3.0f * (BoardRandFloat() - 0.5f); - VECScale(&var_r31->unk1C, &var_r31->unk1C, 4.0f); + PSVECScale(&var_r31->unk1C, &var_r31->unk1C, 4.0f); BoardModelPosSetV(var_r31->unk00, &var_r31->unk04); var_r31->unk10 = var_r31->unk1C; } @@ -1329,13 +1338,13 @@ static void TakeBallCoinPosSet(BallTakeCoinData *arg0, Vec *arg1) { arg0->unk00 = -1; return; } - VECAdd(&arg0->unk04, &arg0->unk10, &arg0->unk04); - VECAdd(&arg0->unk04, &arg0->unk1C, &arg0->unk04); + PSVECAdd(&arg0->unk04, &arg0->unk10, &arg0->unk04); + PSVECAdd(&arg0->unk04, &arg0->unk1C, &arg0->unk04); arg0->unk10.y += -0.98f; BoardModelPosSetV(arg0->unk00, &arg0->unk04); } -static BOOL CheckBallCoinDone(void) { +BOOL CheckBallCoinDone(void) { BallTakeCoinData *var_r31; s32 i; @@ -1351,7 +1360,7 @@ static BOOL CheckBallCoinDone(void) { return TRUE; } -static void TakeBallStar(void) { +void TakeBallStar(void) { BallTakeCoinWork *temp_r31; Vec sp8; @@ -1376,7 +1385,7 @@ static void TakeBallStar(void) { HuAudFXPlay(0x361); } -static void ExecTakeBallStar(omObjData *arg0) { +void ExecTakeBallStar(omObjData *arg0) { BallTakeCoinWork *temp_r29 = OM_GET_WORK_PTR(arg0, BallTakeCoinWork); Vec sp8; float var_f30; @@ -1405,7 +1414,7 @@ static void ExecTakeBallStar(omObjData *arg0) { BoardModelRotYSet(temp_r29->unk02, arg0->rot.y); } -static BOOL CheckTakeBallStarDone(void) { +BOOL CheckTakeBallStarDone(void) { if (ballTakeCoinObj) { return FALSE; } else { diff --git a/src/game/board/boo_house.c b/src/game/board/boo_house.c index b35cadfd..76456ed9 100644 --- a/src/game/board/boo_house.c +++ b/src/game/board/boo_house.c @@ -1,18 +1,19 @@ #include "game/board/boo_house.h" -#include "game/board/audio.h" -#include "game/board/boo.h" -#include "game/board/com.h" -#include "game/board/main.h" -#include "game/board/model.h" +#include "game/msm.h" +#include "game/hsfdraw.h" +#include "game/gamework_data.h" #include "game/board/player.h" -#include "game/board/star.h" +#include "game/board/model.h" +#include "game/board/com.h" +#include "game/board/boo.h" #include "game/board/ui.h" #include "game/board/view.h" +#include "game/board/audio.h" +#include "game/board/main.h" +#include "game/board/star.h" +#include "game/board/player.h" #include "game/board/window.h" -#include "game/gamework_data.h" -#include "game/hsfdraw.h" -#include "game/msm.h" #include "ext_math.h" @@ -20,79 +21,57 @@ static s16 houseMdl[6]; // data -static s32 hostMesTbl[6][6] = { - { - DATA_MAKE_NUM(DATADIR_BOARD, 0x0C), - DATA_MAKE_NUM(DATADIR_BOARD, 0x0D), - DATA_MAKE_NUM(DATADIR_BOARD, 0x0E), - DATA_MAKE_NUM(DATADIR_BOARD, 0x0F), - DATA_MAKE_NUM(DATADIR_BOARD, 0x10), - DATA_MAKE_NUM(DATADIR_BOARD, 0x11), - }, - { - DATA_MAKE_NUM(DATADIR_BOARD, 0x12), - DATA_MAKE_NUM(DATADIR_BOARD, 0x13), - DATA_MAKE_NUM(DATADIR_BOARD, 0x14), - DATA_MAKE_NUM(DATADIR_BOARD, 0x15), - DATA_MAKE_NUM(DATADIR_BOARD, 0x16), - DATA_MAKE_NUM(DATADIR_BOARD, 0x17), - }, - { - DATA_MAKE_NUM(DATADIR_BOARD, 0x18), - DATA_MAKE_NUM(DATADIR_BOARD, 0x19), - DATA_MAKE_NUM(DATADIR_BOARD, 0x1A), - DATA_MAKE_NUM(DATADIR_BOARD, 0x1B), - DATA_MAKE_NUM(DATADIR_BOARD, 0x1C), - DATA_MAKE_NUM(DATADIR_BOARD, 0x1D), - }, - { - DATA_MAKE_NUM(DATADIR_BOARD, 0x1E), - DATA_MAKE_NUM(DATADIR_BOARD, 0x1F), - DATA_MAKE_NUM(DATADIR_BOARD, 0x20), - DATA_MAKE_NUM(DATADIR_BOARD, 0x21), - DATA_MAKE_NUM(DATADIR_BOARD, 0x22), - DATA_MAKE_NUM(DATADIR_BOARD, 0x23), - }, - { - DATA_MAKE_NUM(DATADIR_BOARD, 0x24), - DATA_MAKE_NUM(DATADIR_BOARD, 0x25), - DATA_MAKE_NUM(DATADIR_BOARD, 0x26), - DATA_MAKE_NUM(DATADIR_BOARD, 0x27), - DATA_MAKE_NUM(DATADIR_BOARD, 0x28), - DATA_MAKE_NUM(DATADIR_BOARD, 0x29), - }, - { - DATA_MAKE_NUM(DATADIR_BOARD, 0x2A), - DATA_MAKE_NUM(DATADIR_BOARD, 0x2B), - DATA_MAKE_NUM(DATADIR_BOARD, 0x2C), - DATA_MAKE_NUM(DATADIR_BOARD, 0x2D), - DATA_MAKE_NUM(DATADIR_BOARD, 0x2E), - DATA_MAKE_NUM(DATADIR_BOARD, 0x2F), - }, +//mod: extend for custom board +static s32 hostMesTbl[10][9] = { +/* [BOARD_ID_MAIN1] */ { 0x7000C, 0x7000D, 0x7000E, 0x7000F, 0x70010, 0x70011 }, +/* [BOARD_ID_MAIN2] */ { 0x70012, 0x70013, 0x70014, 0x70015, 0x70016, 0x70017 }, +/* [BOARD_ID_MAIN3] */ { 0x70018, 0x70019, 0x7001A, 0x7001B, 0x7001C, 0x7001D }, +/* [BOARD_ID_MAIN4] */ { 0x7001E, 0x7001F, 0x70020, 0x70021, 0x70022, 0x70023 }, +/* [BOARD_ID_MAIN5] */ { 0x70024, 0x70025, 0x70026, 0x70027, 0x70028, 0x70029 }, +/* [BOARD_ID_MAIN6] */ { 0x7002A, 0x7002B, 0x7002C, 0x7002D, 0x7002E, 0x7002F }, + + //dummy data for tutorial and extra board +/* [BOARD_ID_TUTORIAL] */ { 0x7002A, 0x7002B, 0x7002C, 0x7002D, 0x7002E, 0x7002F }, +/* [BOARD_ID_EXTRA2] */ { 0x7002A, 0x7002B, 0x7002C, 0x7002D, 0x7002E, 0x7002F }, + + //custom board data +/* [BOARD_ID_CUSTOM] */ { 0x7002A, 0x7002B, 0x7002C, 0x7002D, 0x7002E, 0x7002F }, }; -static BoardModelParam houseMdlTbl[6] = { - { DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x00), { 0, 1, 0, 0, 0 }, 0xFFFF }, - { DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x01), { 1, 1, 0, 0, 0 }, 0xFFFF }, - { DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x03), { 1, 1, 0, 0, 0 }, 0xFFFF }, - { DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x04), { 1, 1, 0, 0, 0 }, 0xFFFF }, - { DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x04), { 1, 1, 0, 0, 0 }, 0xFFFF }, - { DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x07), { 0, 1, 0, 0, 0 }, 0xFFFF }, + +//mod: extend for custom board +static BoardModelParam houseMdlTbl[10] = { +/* [BOARD_ID_MAIN1] */ { 0x90000, { 0, 1, 0, 0, 0 }, 0xFFFF }, +/* [BOARD_ID_MAIN2] */ { 0x90001, { 1, 1, 0, 0, 0 }, 0xFFFF }, +/* [BOARD_ID_MAIN3] */ { 0x90003, { 1, 1, 0, 0, 0 }, 0xFFFF }, +/* [BOARD_ID_MAIN4] */ { 0x90004, { 1, 1, 0, 0, 0 }, 0xFFFF }, +/* [BOARD_ID_MAIN5] */ { 0x90004, { 1, 1, 0, 0, 0 }, 0xFFFF }, +/* [BOARD_ID_MAIN6] */ { 0x90007, { 0, 1, 0, 0, 0 }, 0xFFFF }, + + //dummy data for tutorial and extra board +/* [BOARD_ID_TUTORIAL] */ { 0x90007, { 0, 1, 0, 0, 0 }, 0xFFFF }, +/* [BOARD_ID_EXTRA1] */ { 0x90007, { 0, 1, 0, 0, 0 }, 0xFFFF }, +/* [BOARD_ID_EXTRA2] */ { 0x90007, { 0, 1, 0, 0, 0 }, 0xFFFF }, + + //custom board data +/* [BOARD_ID_CUSTOM] */ { 0x90007, { 0, 1, 0, 0, 0 }, 0xFFFF }, }; + static s32 booMotTbl[3] = { - DATA_MAKE_NUM(DATADIR_BGUEST, 0x13), - DATA_MAKE_NUM(DATADIR_BGUEST, 0x16), - DATA_NUM_LISTEND, + 0x20013, 0x20016, 0xFFFFFFFF }; -static s32 hostMotTbl[9][3] = { - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x01), DATA_MAKE_NUM(DATADIR_BGUEST, 0x03), DATA_MAKE_NUM(DATADIR_BGUEST, 0x04) }, - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x09), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0B), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0C) }, - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x0E), DATA_MAKE_NUM(DATADIR_BGUEST, 0x10), DATA_MAKE_NUM(DATADIR_BGUEST, 0x11) }, - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x18), DATA_MAKE_NUM(DATADIR_BGUEST, 0x1A), DATA_MAKE_NUM(DATADIR_BGUEST, 0x1B) }, - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x1D), DATA_MAKE_NUM(DATADIR_BGUEST, 0x1F), DATA_MAKE_NUM(DATADIR_BGUEST, 0x20) }, - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x22), DATA_MAKE_NUM(DATADIR_BGUEST, 0x24), DATA_MAKE_NUM(DATADIR_BGUEST, 0x25) }, - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x18), DATA_MAKE_NUM(DATADIR_BGUEST, 0x1A), DATA_MAKE_NUM(DATADIR_BGUEST, 0x1B) }, - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x01), DATA_MAKE_NUM(DATADIR_BGUEST, 0x03), DATA_MAKE_NUM(DATADIR_BGUEST, 0x04) }, - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x01), DATA_MAKE_NUM(DATADIR_BGUEST, 0x03), DATA_MAKE_NUM(DATADIR_BGUEST, 0x04) }, + +//mod: add entry for custom board +static s32 houseMotTbl[10][3] = { +/* [BOARD_ID_MAIN1] */ { 0x20001, 0x20003, 0x20004 }, +/* [BOARD_ID_MAIN2] */ { 0x20009, 0x2000B, 0x2000C }, +/* [BOARD_ID_MAIN3] */ { 0x2000E, 0x20010, 0x20011 }, +/* [BOARD_ID_MAIN4] */ { 0x20018, 0x2001A, 0x2001B }, +/* [BOARD_ID_MAIN5] */ { 0x2001D, 0x2001F, 0x20020 }, +/* [BOARD_ID_MAIN6] */ { 0x20022, 0x20024, 0x20025 }, +/* [BOARD_ID_TUTORIAL] */ { 0x20018, 0x2001A, 0x2001B }, +/* [BOARD_ID_EXTRA1] */ { 0x20001, 0x20003, 0x20004 }, +/* [BOARD_ID_EXTRA2] */ { 0x20001, 0x20003, 0x20004 }, +/* [BOARD_ID_CUSTOM] */ { 0x20001, 0x20003, 0x20004 } }; // sbss @@ -101,16 +80,16 @@ static s8 stealTarget; static s8 comStarStealTarget; static s32 comCoinStealTarget; static s8 stealAmountStr[8]; -static Process *houseProc; +static Process* houseProc; // sdata static s16 houseShowMot = 0xFFFF; static s16 houseHideMot = 0xFFFF; static s16 ballMdl = 0xFFFF; static s16 booMdl = 0xFFFF; -static s16 smokeMdl = 0xFFFF; +static s16 lbl_801D37F8 = 0xFFFF; static s16 hostMdl = 0xFFFF; -static s16 hostMot[3] = { 0xFFFF, 0xFFFF, 0xFFFF }; +static s16 houseMot[3] = { 0xFFFF, 0xFFFF, 0xFFFF }; // determined functions static void ExecBooHouse(void); @@ -130,18 +109,15 @@ static void ApplyBooLight(void); static void SetBooBallPos(void); // FUNCTIONS // -void BoardBooHouseHostSet(s16 arg0) -{ +void BoardBooHouseHostSet(s16 arg0) { hostMdl = arg0; } -s16 BoardBooHouseHostGet(void) -{ +s16 BoardBooHouseHostGet(void) { return hostMdl; } -void BoardBooHouseCreate(void) -{ +void BoardBooHouseCreate(void) { Vec sp14; Vec sp8; @@ -153,19 +129,17 @@ void BoardBooHouseCreate(void) if (hostMdl != -1) { BoardModelVisibilitySet(hostMdl, 0); } - HuDataDirClose(DATADIR_BYOKODORI); + HuDataDirClose(0x90000); } -void BoardBooHouseKill(void) -{ +void BoardBooHouseKill(void) { if (houseMdl[0] != -1) { BoardModelKill(houseMdl[0]); houseMdl[0] = -1; } } -void BoardBooHouseExec(s32 arg0) -{ +void BoardBooHouseExec(s32 arg0) { currPlayer = arg0; if (BoardPlayerSizeGet(currPlayer) != 2) { BoardRollDispSet(0); @@ -178,8 +152,7 @@ void BoardBooHouseExec(s32 arg0) } } -static void ExecBooHouse(void) -{ +static void ExecBooHouse(void) { Vec sp38; Vec sp2C; Vec sp20; @@ -194,7 +167,7 @@ static void ExecBooHouse(void) s32 var_r26; _SetFlag(0x10018); - var_r28 = BoardDataDirReadAsync(DATADIR_BYOKODORI); + var_r28 = BoardDataDirReadAsync(0x90000); var_r30 = GWPlayer[currPlayer].space_curr; BoardPlayerIdleSet(currPlayer); if (BoardPlayerCoinsGet(currPlayer) < 5) { @@ -208,8 +181,7 @@ static void ExecBooHouse(void) if (GWPlayer[currPlayer].com != 0) { if (BoardBooComUseCheck(currPlayer) != 0) { BoardComKeySetLeft(); - } - else { + } else { BoardComKeySetRight(); } } @@ -218,13 +190,13 @@ static void ExecBooHouse(void) BoardDataAsyncWait(var_r28); HuPrcEnd(); } - + for (var_r26 = var_r31 = 0; var_r31 < 4; var_r31++) { if (currPlayer != var_r31) { var_r26 += GWStarsGet(var_r31); } } - + for (var_r27 = var_r31 = 0; var_r31 < 4; var_r31++) { if (currPlayer != var_r31) { var_r27 += BoardPlayerCoinsGet(var_r31); @@ -237,8 +209,8 @@ static void ExecBooHouse(void) temp_r29 = BoardSpaceLinkFlagSearch(0, var_r30, 0x02000000); BoardSpacePosGet(0, var_r30, &sp38); BoardSpacePosGet(0, temp_r29, &sp2C); - VECSubtract(&sp2C, &sp38, &sp20); - VECNormalize(&sp20, &sp20); + PSVECSubtract(&sp2C, &sp38, &sp20); + PSVECNormalize(&sp20, &sp20); temp_f31 = atan2d(-sp20.x, -sp20.z); sp14.x = -15.0f; sp14.y = temp_f31; @@ -253,7 +225,7 @@ static void ExecBooHouse(void) BoardPlayerMoveBetween(currPlayer, var_r30, temp_r29); BoardPlayerIdleSet(currPlayer); BoardMusStart(1, 1, 0x7F, 0); - BoardModelMotionShiftSet(BoardBooHouseHostGet(), hostMot[0], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(BoardBooHouseHostGet(), houseMot[0], 0.0f, 10.0f, 0x40000001); BoardWinCreate(2, hostMesTbl[GWBoardGet()][0], BoardWinPortraitGet()); BoardWinWait(); @@ -295,7 +267,7 @@ repeatWindowView: BoardStatusShowSet(currPlayer, 0); HuPrcVSleep(); } - BoardModelMotionShiftSet(BoardBooHouseHostGet(), hostMot[1], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(BoardBooHouseHostGet(), houseMot[1], 0.0f, 10.0f, 0x40000001); CloseBooHouse(); BoardCameraViewSet(1); BoardCameraRotSet(0.0f, 0.0f); @@ -309,14 +281,13 @@ repeatWindowView: HuPrcEnd(); } -static void DestroyBooHouse(void) -{ +static void DestroyBooHouse(void) { s32 var_r31; for (var_r31 = 0; var_r31 < 3; var_r31++) { - if (hostMot[var_r31] != -1) { - BoardModelMotionKill(BoardBooHouseHostGet(), hostMot[var_r31]); - hostMot[var_r31] = -1; + if (houseMot[var_r31] != -1) { + BoardModelMotionKill(BoardBooHouseHostGet(), houseMot[var_r31]); + houseMot[var_r31] = -1; } } if (houseShowMot != -1) { @@ -329,13 +300,12 @@ static void DestroyBooHouse(void) } BoardWinKill(); KillBooHouseModel(); - HuDataDirClose(DATADIR_BYOKODORI); + HuDataDirClose(0x90000); _ClearFlag(0x10018); houseProc = 0; } -static void PickComStealType(s32 arg0) -{ +static void PickComStealType(s32 arg0) { s32 var_r31; s32 var_r30; s32 var_r28; @@ -349,11 +319,10 @@ static void PickComStealType(s32 arg0) } if (BoardPlayerCoinsGet(arg0) >= 0x32) { for (var_r31 = 0; var_r31 < 4; var_r31++) { - if ((var_r31 != arg0) && (GWStarsGet(var_r31) != 0) && (((s32)GWSystem.team == 0) || (var_r31 != BoardPlayerSameTeamFind(arg0)))) { + if ((var_r31 != arg0) && (GWStarsGet(var_r31) != 0) && (((s32) GWSystem.team == 0) || (var_r31 != BoardPlayerSameTeamFind(arg0)))) { if (var_r30 != 0) { BoardComKeySetDown(); - } - else { + } else { BoardComKeySetUp(); } return; @@ -363,8 +332,7 @@ static void PickComStealType(s32 arg0) BoardComKeySetUp(); } -static void OpenBooHouse(void) -{ +static void OpenBooHouse(void) { s16 temp_r31; s32 temp_r5; s32 var_r30; @@ -372,11 +340,11 @@ static void OpenBooHouse(void) ballMdl = BoardBooCreate(currPlayer, 0); temp_r31 = BoardBooHouseHostGet(); BoardModelMotionStart(temp_r31, 1, 0x40000001); - + for (var_r30 = 0; var_r30 < 3; var_r30++) { - hostMot[var_r30] = BoardModelMotionCreate(temp_r31, hostMotTbl[GWBoardGet()][var_r30]); + houseMot[var_r30] = BoardModelMotionCreate(temp_r31, houseMotTbl[GWBoardGet()][var_r30]); } - BoardModelMotionStart(temp_r31, hostMot[0], 0x40000001); + BoardModelMotionStart(temp_r31, houseMot[0], 0x40000001); BoardModelVisibilitySet(temp_r31, 1); HuAudFXPlay(0x337); HuAudFXPlay(0x344); @@ -391,8 +359,7 @@ static void OpenBooHouse(void) BoardModelHookSet(houseMdl[0], "yoko06", temp_r31); if (GWBoardGet() == BOARD_ID_MAIN6) { BoardModelPosSet(temp_r31, 0.0f, 0.0f, -25.0f); - } - else { + } else { BoardModelPosSet(temp_r31, 0.0f, 0.0f, 0.0f); } BoardModelMotionStart(houseMdl[3], 0, 0x40000001); @@ -401,29 +368,28 @@ static void OpenBooHouse(void) BoardModelMotionStart(booMdl, 1, 0x40000001); BoardModelVisibilitySet(booMdl, 1); BoardModelHookSet(houseMdl[0], "yoko8", booMdl); - smokeMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x08), NULL, 0); - BoardModelVisibilitySet(smokeMdl, 0); - BoardModelLayerSet(smokeMdl, 2); + lbl_801D37F8 = BoardModelCreate(0x90008, NULL, 0); + BoardModelVisibilitySet(lbl_801D37F8, 0); + BoardModelLayerSet(lbl_801D37F8, 2); BoardModelMotionStart(houseMdl[1], 0, 0x40000001); while (BoardModelMotionTimeGet(houseMdl[0]) < 90.0f) { HuPrcVSleep(); } - BoardModelMotionShiftSet(houseMdl[0], houseShowMot, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - BoardModelMotionShiftSet(houseMdl[1], houseHideMot, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(houseMdl[0], houseShowMot, 0.0f, 10.0f, 0x40000001); + BoardModelMotionShiftSet(houseMdl[1], houseHideMot, 0.0f, 10.0f, 0x40000001); BoardModelHookObjReset(houseMdl[0], "yoko02"); SetBooBallPos(); - BoardModelMotionShiftSet(BoardBooHouseHostGet(), hostMot[2], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(BoardBooHouseHostGet(), houseMot[2], 0.0f, 10.0f, 0); } -static void CloseBooHouse(void) -{ +static void CloseBooHouse(void) { BoardModelPosSet(ballMdl, 0.0f, 0.0f, 0.0f); BoardModelHookSet(houseMdl[0], "yoko02", ballMdl); - BoardModelMotionShiftSet(houseMdl[1], 0, 90.0f, 10.0f, HU3D_MOTATTR_NONE); - BoardModelMotionShiftSet(houseMdl[0], 0, 90.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(houseMdl[1], 0, 90.0f, 10.0f, 0); + BoardModelMotionShiftSet(houseMdl[0], 0, 90.0f, 10.0f, 0); HuPrcSleep(0xA); - + while (BoardModelMotionShiftIDGet(houseMdl[0]) != -1) { HuPrcVSleep(); } @@ -432,7 +398,7 @@ static void CloseBooHouse(void) } HuAudFXPlay(0x336); BoardAudSeqFadeOut(1, 0x3E8); - + while (BoardModelMotionEndCheck(houseMdl[0]) == 0) { HuPrcVSleep(); } @@ -441,8 +407,7 @@ static void CloseBooHouse(void) ballMdl = -1; } -static void CreateBooHouseModel(void) -{ +static void CreateBooHouseModel(void) { s32 var_r31; for (var_r31 = 0; var_r31 < 6; var_r31++) { @@ -450,12 +415,11 @@ static void CreateBooHouseModel(void) houseMdl[var_r31] = BoardModelCreateParam(&houseMdlTbl[var_r31], 0, 0); } } - houseShowMot = BoardModelMotionCreate(houseMdl[0], DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x09)); - houseHideMot = BoardModelMotionCreate(houseMdl[1], DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x0A)); + houseShowMot = BoardModelMotionCreate(houseMdl[0], 0x90009); + houseHideMot = BoardModelMotionCreate(houseMdl[1], 0x9000A); } -static void KillBooHouseModel(void) -{ +static void KillBooHouseModel(void) { s32 temp_r4; s32 var_r31; @@ -469,29 +433,28 @@ static void KillBooHouseModel(void) BoardModelKill(booMdl); booMdl = -1; } - if (smokeMdl != -1) { - BoardModelKill(smokeMdl); - smokeMdl = -1; + if (lbl_801D37F8 != -1) { + BoardModelKill(lbl_801D37F8); + lbl_801D37F8 = -1; } BoardModelVisibilitySet(BoardBooHouseHostGet(), 0); } -static void ExecNullSteal(void) -{ +static void ExecNullSteal(void) { HuAudFXPlay(0x4C); BoardWinCreate(2, hostMesTbl[GWBoardGet()][5], BoardWinPortraitGet()); BoardWinWait(); BoardWinKill(); } -static void ExecStarSteal(void) -{ +static void ExecStarSteal(void) { Vec sp14; Vec sp8; s32 temp_r29; s32 var_r30; s32 var_r31; + for (var_r30 = 0; var_r30 < 0x32; var_r30++) { BoardPlayerCoinsAdd(currPlayer, -1); HuAudFXPlay(0xE); @@ -503,16 +466,16 @@ static void ExecStarSteal(void) BoardWinWait(); BoardWinKill(); BoardStatusShowSetAll(0); - + while (BoardPickerDoneCheck() == 0) { HuPrcVSleep(); } HuAudFXPlay(0x4C); Hu3DModelObjPosGet(BoardModelIDGet(houseMdl[0]), "yoko8", &sp14); sp14.y += 20.0f; - BoardModelMotionStart(smokeMdl, 0, 0); - BoardModelVisibilitySet(smokeMdl, 1); - BoardModelPosSetV(smokeMdl, &sp14); + BoardModelMotionStart(lbl_801D37F8, 0, 0); + BoardModelVisibilitySet(lbl_801D37F8, 1); + BoardModelPosSetV(lbl_801D37F8, &sp14); HuPrcSleep(5); for (var_r31 = 0xFF; var_r31 > 0; var_r31 -= 0x33) { @@ -523,11 +486,11 @@ static void ExecStarSteal(void) HuPrcVSleep(); } BoardModelVisibilitySet(booMdl, 0); - - while (BoardModelMotionEndCheck(smokeMdl) == 0) { + + while (BoardModelMotionEndCheck(lbl_801D37F8) == 0) { HuPrcVSleep(); } - BoardModelVisibilitySet(smokeMdl, 0); + BoardModelVisibilitySet(lbl_801D37F8, 0); BoardCameraMotionStartEx(ballMdl, NULL, NULL, 325.0f, -1.0f, 0x15); temp_r29 = BoardBooStealMain(); sp8.x = 0.0f; @@ -538,11 +501,11 @@ static void ExecStarSteal(void) if (temp_r29 == 0) { BoardModelMotionStart(booMdl, 2, 0x40000001); } - BoardModelMotionStart(smokeMdl, 0, 0); - BoardModelVisibilitySet(smokeMdl, 1); + BoardModelMotionStart(lbl_801D37F8, 0, 0); + BoardModelVisibilitySet(lbl_801D37F8, 1); HuPrcSleep(0xB); BoardModelVisibilitySet(booMdl, 1); - + for (var_r31 = 0; var_r31 < 0xFF; var_r31 += 0x33) { if (var_r31 > 0xFF) { var_r31 = 0xFF; @@ -551,21 +514,21 @@ static void ExecStarSteal(void) HuPrcVSleep(); } BoardModelAlphaSet(booMdl, -1); - - while (BoardModelMotionEndCheck(smokeMdl) == 0) { + + while (BoardModelMotionEndCheck(lbl_801D37F8) == 0) { HuPrcVSleep(); } - BoardModelVisibilitySet(smokeMdl, 0); + BoardModelVisibilitySet(lbl_801D37F8, 0); } -static void ExecCoinSteal(void) -{ +static void ExecCoinSteal(void) { Vec sp14; Vec sp8; s32 temp_r29; s32 var_r30; s32 var_r31; + for (var_r30 = 0; var_r30 < 5; var_r30++) { BoardPlayerCoinsAdd(currPlayer, -1); HuAudFXPlay(0xE); @@ -577,16 +540,16 @@ static void ExecCoinSteal(void) BoardWinWait(); BoardWinKill(); BoardStatusShowSetAll(0); - + while (BoardPickerDoneCheck() == 0) { HuPrcVSleep(); } HuAudFXPlay(0x4C); Hu3DModelObjPosGet(BoardModelIDGet(houseMdl[0]), "yoko8", &sp14); sp14.y += 20.0f; - BoardModelMotionStart(smokeMdl, 0, 0); - BoardModelVisibilitySet(smokeMdl, 1); - BoardModelPosSetV(smokeMdl, &sp14); + BoardModelMotionStart(lbl_801D37F8, 0, 0); + BoardModelVisibilitySet(lbl_801D37F8, 1); + BoardModelPosSetV(lbl_801D37F8, &sp14); HuPrcSleep(5); for (var_r31 = 0xFF; var_r31 > 0; var_r31 -= 0x33) { @@ -597,11 +560,11 @@ static void ExecCoinSteal(void) HuPrcVSleep(); } BoardModelVisibilitySet(booMdl, 0); - - while (BoardModelMotionEndCheck(smokeMdl) == 0) { + + while (BoardModelMotionEndCheck(lbl_801D37F8) == 0) { HuPrcVSleep(); } - BoardModelVisibilitySet(smokeMdl, 0); + BoardModelVisibilitySet(lbl_801D37F8, 0); BoardCameraMotionStartEx(ballMdl, NULL, NULL, 325.0f, -1.0f, 0x15); temp_r29 = BoardBooStealMain(); sp8.x = 0.0f; @@ -612,11 +575,11 @@ static void ExecCoinSteal(void) if (temp_r29 == 0) { BoardModelMotionStart(booMdl, 2, 0x40000001); } - BoardModelMotionStart(smokeMdl, 0, 0); - BoardModelVisibilitySet(smokeMdl, 1); + BoardModelMotionStart(lbl_801D37F8, 0, 0); + BoardModelVisibilitySet(lbl_801D37F8, 1); HuPrcSleep(0xB); BoardModelVisibilitySet(booMdl, 1); - + for (var_r31 = 0; var_r31 < 0xFF; var_r31 += 0x33) { if (var_r31 > 0xFF) { var_r31 = 0xFF; @@ -625,15 +588,14 @@ static void ExecCoinSteal(void) HuPrcVSleep(); } BoardModelAlphaSet(booMdl, -1); - - while (BoardModelMotionEndCheck(smokeMdl) == 0) { + + while (BoardModelMotionEndCheck(lbl_801D37F8) == 0) { HuPrcVSleep(); } - BoardModelVisibilitySet(smokeMdl, 0); + BoardModelVisibilitySet(lbl_801D37F8, 0); } -void ApplySteal(void) -{ +void ApplySteal(void) { s16 spA; s16 sp8; s32 temp_r30; @@ -649,7 +611,7 @@ void ApplySteal(void) BoardModelAlphaSet(booMdl, 0xFF); var_f31 = BoardDAngleCalc(180.0f + BoardPlayerRotYGet(currPlayer)); BoardPlayerMotBlendSet(currPlayer, var_f31, 0xF); - + while (BoardPlayerMotBlendCheck(currPlayer) == 0) { HuPrcVSleep(); } @@ -657,11 +619,9 @@ void ApplySteal(void) var_r31 = BoardBooStealValueGet(&spA, &sp8); if (var_r31 == 0) { ApplyBooLight(); - } - else if (stealTarget == 0) { + } else if (stealTarget == 0) { ApplyCoinSteal(spA, sp8); - } - else { + } else { ApplyStarSteal(); } BoardWinCreate(2, hostMesTbl[GWBoardGet()][4], BoardWinPortraitGet()); @@ -669,36 +629,31 @@ void ApplySteal(void) BoardWinKill(); } -void ApplyCoinSteal(s16 arg0, s16 arg1) -{ +void ApplyCoinSteal(s16 arg0, s16 arg1) { u32 var_r31; s32 var_r30; - if ((s16)arg1 == 0) { - var_r31 = MAKE_MESSID(7, 9); - } - else if ((s16)arg1 < 3) { - var_r31 = MAKE_MESSID(7, 8); - } - else if ((s16)arg1 < 6) { - var_r31 = MAKE_MESSID(7, 7); - } - else if ((s16)arg1 < 8) { - var_r31 = MAKE_MESSID(7, 6); - } - else { - var_r31 = MAKE_MESSID(7, 5); + if ((s16) arg1 == 0) { + var_r31 = 0x70009; + } else if ((s16) arg1 < 3) { + var_r31 = 0x70008; + } else if ((s16) arg1 < 6) { + var_r31 = 0x70007; + } else if ((s16) arg1 < 8) { + var_r31 = 0x70006; + } else { + var_r31 = 0x70005; } sprintf(&stealAmountStr, "%d", arg0); HuAudFXPlay(0x4B); BoardWinCreate(2, var_r31, 3); - BoardWinInsertMesSet((s32)&stealAmountStr, 0); + BoardWinInsertMesSet((s32) &stealAmountStr, 0); BoardWinWait(); BoardWinKill(); BoardStatusShowSetForce(currPlayer); BoardStatusShowSet(currPlayer, 1); - BoardPlayerMotionShiftSet(currPlayer, 7, 0.0f, 8.0f, HU3D_MOTATTR_NONE); - + BoardPlayerMotionShiftSet(currPlayer, 7, 0.0f, 8.0f, 0); + for (var_r30 = 0; var_r30 < arg0; var_r30++) { BoardPlayerCoinsAdd(currPlayer, 1); HuAudFXPlay(0xE); @@ -708,8 +663,7 @@ void ApplyCoinSteal(s16 arg0, s16 arg1) BoardPlayerMotionEndWait(currPlayer); } -void ApplyStarSteal(void) -{ +void ApplyStarSteal(void) { s32 temp_r31; HuAudFXPlay(0x4C); @@ -721,14 +675,14 @@ void ApplyStarSteal(void) BoardAudSeqPause(1, 1, 0x3E8); HuPrcSleep(0x17); BoardPlayerVoiceEnableSet(currPlayer, 7, 0); - BoardPlayerMotionShiftSet(currPlayer, 7, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(currPlayer, 7, 0.0f, 8.0f, 0); HuAudFXPlay(boardStarSndTbl[GWPlayer[currPlayer].character]); BoardPlayerStarsAdd(currPlayer, 1); HuAudFXPlay(8); HuPrcSleep(0xA); temp_r31 = HuAudSStreamPlay(6); BoardPlayerMotionEndWait(currPlayer); - + while (msmStreamGetStatus(temp_r31) != 0) { HuPrcVSleep(); } @@ -737,19 +691,17 @@ void ApplyStarSteal(void) BoardPlayerVoiceEnableSet(currPlayer, 7, 1); } -void ApplyBooLight(void) -{ +void ApplyBooLight(void) { BoardWinCreate(2, MAKE_MESSID(7, 11), 3); BoardWinWait(); BoardWinKill(); - BoardPlayerMotionShiftSet(currPlayer, 8, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(currPlayer, 8, 0.0f, 8.0f, 0); while (BoardPlayerMotionEndCheck(currPlayer) == 0) { HuPrcVSleep(); } } -void SetBooBallPos(void) -{ +void SetBooBallPos(void) { Mtx sp14; Vec sp8; s16 var_r31; @@ -760,8 +712,7 @@ void SetBooBallPos(void) BoardModelPosSetV(ballMdl, &sp8); } -s32 BoardBooComUseCheck(s32 arg0) -{ +s32 BoardBooComUseCheck(s32 arg0) { s32 var_r31; u32 var_r30; s32 var_r29; @@ -774,23 +725,23 @@ s32 BoardBooComUseCheck(s32 arg0) comStarStealTarget = comCoinStealTarget = -1; var_r26 = var_r27 = -1; switch (GWPlayer[arg0].diff) { - case 0: - var_r30 = 0x5F; - break; - case 1: - var_r30 = 0x32; - break; - case 2: - var_r30 = 5; - break; - case 3: - var_r30 = 0; - break; + case 0: + var_r30 = 0x5F; + break; + case 1: + var_r30 = 0x32; + break; + case 2: + var_r30 = 5; + break; + case 3: + var_r30 = 0; + break; } - + for (var_r31 = 0; var_r31 < 4; var_r31++) { if (var_r31 != arg0) { - if ((s32)GWSystem.team == 0 || var_r31 != BoardPlayerSameTeamFind(arg0)) { + if ((s32) GWSystem.team == 0 || var_r31 != BoardPlayerSameTeamFind(arg0)) { if (BoardPlayerItemFind(var_r31, 8) == -1 || BoardRandMod(0x64) < var_r30) { var_r29 = BoardPlayerCoinsGet(var_r31); var_r28 = GWStarsGet(var_r31); @@ -802,7 +753,7 @@ s32 BoardBooComUseCheck(s32 arg0) } if (var_r26 < var_r28) { var_r26 = var_r28; - comStarStealTarget = (s8)var_r31; + comStarStealTarget = (s8) var_r31; } } } @@ -816,8 +767,7 @@ s32 BoardBooComUseCheck(s32 arg0) return 1; } -void BoardBooHouseTutorialExec(void) -{ +void BoardBooHouseTutorialExec(void) { Vec sp38; Vec sp2C; Vec sp20; @@ -831,14 +781,14 @@ void BoardBooHouseTutorialExec(void) s32 var_r31; s32 var_r30; - temp_r27 = BoardDataDirReadAsync(DATADIR_BYOKODORI); + temp_r27 = BoardDataDirReadAsync(0x90000); temp_r29 = BoardSpaceFlagSearch(0, 0x08000000); BoardDataAsyncWait(temp_r27); temp_r28 = BoardSpaceLinkFlagSearch(0, temp_r29, 0x02000000); BoardSpacePosGet(0, temp_r29, &sp38); BoardSpacePosGet(0, temp_r28, &sp2C); - VECSubtract(&sp2C, &sp38, &sp20); - VECNormalize(&sp20, &sp20); + PSVECSubtract(&sp2C, &sp38, &sp20); + PSVECNormalize(&sp20, &sp20); temp_f31 = atan2d(-sp20.x, -sp20.z); sp14.x = -15.0f; sp14.y = temp_f31; @@ -847,26 +797,26 @@ void BoardBooHouseTutorialExec(void) sp8.y = 150.0f; sp8.z = 0.0f; BoardCameraMotionStartEx(houseMdl[0], &sp14, &sp8, 1370.0f, -1.0f, 0x15); - + for (var_r31 = 0; var_r31 < 6; var_r31++) { if (var_r31 != 0) { houseMdl[var_r31] = BoardModelCreateParam(&houseMdlTbl[var_r31], NULL, NULL); } } - houseShowMot = BoardModelMotionCreate(houseMdl[0], DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x09)); - houseHideMot = BoardModelMotionCreate(houseMdl[1], DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x0A)); + houseShowMot = BoardModelMotionCreate(houseMdl[0], 0x90009); + houseHideMot = BoardModelMotionCreate(houseMdl[1], 0x9000A); OpenBooHouse(); - + while (BoardModelMotionEndCheck(BoardBooHouseHostGet()) == 0) { HuPrcVSleep(); } - BoardModelMotionShiftSet(BoardBooHouseHostGet(), hostMot[0], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(BoardBooHouseHostGet(), houseMot[0], 0.0f, 10.0f, 0x40000001); BoardTutorialHookExec(0x1C, 0); - BoardModelMotionShiftSet(BoardBooHouseHostGet(), hostMot[1], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(BoardBooHouseHostGet(), houseMot[1], 0.0f, 10.0f, 0x40000001); BoardModelPosSet(ballMdl, 0.0f, 0.0f, 0.0f); BoardModelHookSet(houseMdl[0], "yoko02", ballMdl); - BoardModelMotionShiftSet(houseMdl[1], 0, 90.0f, 10.0f, HU3D_MOTATTR_NONE); - BoardModelMotionShiftSet(houseMdl[0], 0, 90.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(houseMdl[1], 0, 90.0f, 10.0f, 0); + BoardModelMotionShiftSet(houseMdl[0], 0, 90.0f, 10.0f, 0); HuPrcSleep(0xA); while (BoardModelMotionShiftIDGet(houseMdl[0]) != -1) { HuPrcVSleep(); @@ -882,7 +832,7 @@ void BoardBooHouseTutorialExec(void) BoardModelHookReset(houseMdl[0]); BoardBooKill(); ballMdl = -1; - + for (var_r30 = 1; var_r30 < 6; var_r30++) { if (houseMdl[var_r30] != -1) { BoardModelKill(houseMdl[var_r30]); @@ -893,9 +843,9 @@ void BoardBooHouseTutorialExec(void) BoardModelKill(booMdl); booMdl = -1; } - if (smokeMdl != -1) { - BoardModelKill(smokeMdl); - smokeMdl = -1; + if (lbl_801D37F8 != -1) { + BoardModelKill(lbl_801D37F8); + lbl_801D37F8 = -1; } BoardModelVisibilitySet(BoardBooHouseHostGet(), 0); } diff --git a/src/game/board/bowser.c b/src/game/board/bowser.c index bcbe7133..adecec98 100644 --- a/src/game/board/bowser.c +++ b/src/game/board/bowser.c @@ -12,29 +12,30 @@ #include "game/wipe.h" #include "game/gamework.h" -#include "ext_math.h" #include "string.h" +#define ABS(x) ((x) < 0 ? -(x) : (x)) + typedef struct bowser_event_data { - s16 sprite[3]; - s16 delay[3]; - s16 angle[3]; - s16 group; - s16 model; + s16 sprite[3]; + s16 delay[3]; + s16 angle[3]; + s16 group; + s16 model; } BowserEventData; static BowserEventData bowserEvent; static Vec playerPosTemp[4]; static s32 scareFxTbl[] = { - 0x128, - 0x168, - 0x1A8, - 0x1E8, - 0x228, - 0x268, - 0x2A8, - 0x2E8 + 0x128, + 0x168, + 0x1A8, + 0x1E8, + 0x228, + 0x268, + 0x2A8, + 0x2E8 }; @@ -101,701 +102,701 @@ static s32 ExecMiniBowserEvent(void); s32 BoardBowserExec(s32 player, s32 space) { - if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { - HuAudFXPlay(841); - BoardCameraViewSet(2); - BoardPlayerMotBlendSet(player, 0, 15); - while(!BoardPlayerMotBlendCheck(player)) { - HuPrcVSleep(); - } - BoardCameraMotionWait(); - BoardTutorialHookExec(12, 0); - GWPlayer[player].color = 2; - } else { - eventPlayer = player; - eventSpace = space; - playerMot[0] = playerMot[1] = playerMot[2] = playerMot[3] = -1; - bowserProc = HuPrcChildCreate(ExecBowser, 8196, 14336, 0, boardMainProc); - HuPrcDestructorSet2(bowserProc, DestroyBowser); - while(bowserProc) { - HuPrcVSleep(); - } - GWPlayer[player].color = 2; - } + if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { + HuAudFXPlay(841); + BoardCameraViewSet(2); + BoardPlayerMotBlendSet(player, 0, 15); + while(!BoardPlayerMotBlendCheck(player)) { + HuPrcVSleep(); + } + BoardCameraMotionWait(); + BoardTutorialHookExec(12, 0); + GWPlayer[player].color = 2; + } else { + eventPlayer = player; + eventSpace = space; + playerMot[0] = playerMot[1] = playerMot[2] = playerMot[3] = -1; + bowserProc = HuPrcChildCreate(ExecBowser, 8196, 14336, 0, boardMainProc); + HuPrcDestructorSet2(bowserProc, DestroyBowser); + while(bowserProc) { + HuPrcVSleep(); + } + GWPlayer[player].color = 2; + } } typedef struct bowser_work { - u8 kill : 1; - u8 state : 3; - u8 mot_active : 1; - u8 fall_done : 1; - u8 jump_done : 1; - u8 jump_state; - u8 idle_timer; + u8 kill : 1; + u8 state : 3; + u8 mot_active : 1; + u8 fall_done : 1; + u8 jump_done : 1; + u8 jump_state; + u8 idle_timer; } BowserWork; typedef struct mini_bowser_work { - u8 kill : 1; - s16 group; - s16 sprite; - s16 angle; + u8 kill : 1; + s16 group; + s16 sprite; + s16 angle; } MiniBowserWork; typedef struct bowser_event_work { - u8 kill : 1; - s8 state; - s16 timer; + u8 kill : 1; + s8 state; + s16 timer; } BowserEventWork; static void ExecBowser(void) { - #define BOWSER_EVENT 0 - #define MINI_BOWSER_EVENT 1 + #define BOWSER_EVENT 0 + #define MINI_BOWSER_EVENT 1 - s32 i; - s32 status; - if(!_CheckFlag(FLAG_ID_MAKE(1, 3))) { - HuAudFXPlay(841); - omVibrate(eventPlayer, 12, 4, 2); - if(GWBoardGet() == BOARD_ID_MAIN6 && boardBowserHook) { - boardBowserHook(1); - } - BoardAudSeqPause(0, 1, 1000); - //20% of bowser, 80% chance of koopa kid - if(BoardRandMod(100) < 20) { - eventType = BOWSER_EVENT; - } else { - eventType = MINI_BOWSER_EVENT; - } - } else { - BoardMusStart(1, 6, 127, 0); - } - status = BoardDataDirReadAsync(DATADIR_BKOOPA); - BoardDataAsyncWait(status); - CreatePlayerMot(); - if(!_CheckFlag(FLAG_ID_MAKE(1, 3))) { - ExecBowserMain(); - } else { - ExecMGReturn(); - } - for(i=0; i<4; i++) { - if(eventSpace == GWPlayer[i].space_curr) { - BoardPlayerMotionSpeedSet(i, 1.0f); - } - } - BoardAudSeqPause(0, 0, 1000); - if(bowserObj) { - OM_GET_WORK_PTR(bowserObj, BowserWork)->kill = 1; - } - if(miniBowserObj) { - OM_GET_WORK_PTR(miniBowserObj, MiniBowserWork)->kill = 1; - } - if(bowserEventObj) { - OM_GET_WORK_PTR(bowserEventObj, BowserEventWork)->kill = 1; - } - GWPlayer[eventPlayer].show_next = 1; - BoardCameraMotionStartEx(-1, NULL, NULL, 2100.0f, -1.0f, 21); - HuPrcSleep(30); - for(i=0; i<4; i++) { - BoardPlayerIdleSet(i); - } - BoardCameraMotionWait(); - if(GWBoardGet() == BOARD_ID_MAIN6 && boardBowserHook) { - boardBowserHook(0); - } else { - HuPrcSleep(30); - } - HuPrcEnd(); + s32 i; + s32 status; + if(!_CheckFlag(FLAG_ID_MAKE(1, 3))) { + HuAudFXPlay(841); + omVibrate(eventPlayer, 12, 4, 2); + if(GWBoardGet() == BOARD_ID_MAIN6 && boardBowserHook) { + boardBowserHook(1); + } + BoardAudSeqPause(0, 1, 1000); + //20% of bowser, 80% chance of koopa kid + if(BoardRandMod(100) < 20) { + eventType = BOWSER_EVENT; + } else { + eventType = MINI_BOWSER_EVENT; + } + } else { + BoardMusStart(1, 6, 127, 0); + } + status = BoardDataDirReadAsync(DATADIR_BKOOPA); + BoardDataAsyncWait(status); + CreatePlayerMot(); + if(!_CheckFlag(FLAG_ID_MAKE(1, 3))) { + ExecBowserMain(); + } else { + ExecMGReturn(); + } + for(i=0; i<4; i++) { + if(eventSpace == GWPlayer[i].space_curr) { + BoardPlayerMotionSpeedSet(i, 1.0f); + } + } + BoardAudSeqPause(0, 0, 1000); + if(bowserObj) { + OM_GET_WORK_PTR(bowserObj, BowserWork)->kill = 1; + } + if(miniBowserObj) { + OM_GET_WORK_PTR(miniBowserObj, MiniBowserWork)->kill = 1; + } + if(bowserEventObj) { + OM_GET_WORK_PTR(bowserEventObj, BowserEventWork)->kill = 1; + } + GWPlayer[eventPlayer].show_next = 1; + BoardCameraMotionStartEx(-1, NULL, NULL, 2100.0f, -1.0f, 21); + HuPrcSleep(30); + for(i=0; i<4; i++) { + BoardPlayerIdleSet(i); + } + BoardCameraMotionWait(); + if(GWBoardGet() == BOARD_ID_MAIN6 && boardBowserHook) { + boardBowserHook(0); + } else { + HuPrcSleep(30); + } + HuPrcEnd(); } static void ExecBowserMain(void) { - s32 result = 0; - BoardPlayerMotBlendSet(eventPlayer, 0, 15); - while(!BoardPlayerMotBlendCheck(eventPlayer)) { - HuPrcVSleep(); - } - BoardMusStart(1, 5, 127, 0); - BoardCameraViewSet(3); - BoardFilterFadeInit(30, 160); - BoardCameraMotionWait(); - BoardPlayerMotionShiftSet(eventPlayer, jumpMot, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - BoardPlayerMotionSpeedSet(eventPlayer, 2.0f); - HuPrcSleep(120); - ConfigBowserEvent(); - HuAudFXPlay(scareFxTbl[GWPlayer[eventPlayer].character]); - BoardPlayerMotionShiftSet(eventPlayer, scareMot, 0.0f, 10.0f, HU3D_MOTATTR_NONE); - CreateMiniBowser(); - while(!CheckMiniBowser()) { - HuPrcVSleep(); - } - BoardPlayerIdleSet(eventPlayer); - if(eventType) { - result = ExecMiniBowserEvent(); - if(!result) { - return; - } - BoardAudSeqFadeOut(1, 1000); - BoardFilterFadeInit(30, 160); - HuPrcSleep(30); - } - ExecBowserSpecial(); - BoardModelMotionShiftSet(bowserMdl, 3, 0.0f, 8.0f, HU3D_MOTATTR_NONE); - HuPrcSleep(8); - HuAudFXPlay(58); - BoardWinCreate(2, MAKE_MESSID(3, 11), 5); - BoardWinWait(); - BoardWinKill(); - BoardAudSeqFadeOut(1, 1000); - while(!BoardModelMotionEndCheck(bowserMdl)) { - HuPrcVSleep(); - } - SetBowserState(6); - while(!CheckBowserIdle()) { - HuPrcVSleep(); - } - BoardFilterFadeOut(30); + s32 result = 0; + BoardPlayerMotBlendSet(eventPlayer, 0, 15); + while(!BoardPlayerMotBlendCheck(eventPlayer)) { + HuPrcVSleep(); + } + BoardMusStart(1, 5, 127, 0); + BoardCameraViewSet(3); + BoardFilterFadeInit(30, 160); + BoardCameraMotionWait(); + BoardPlayerMotionShiftSet(eventPlayer, jumpMot, 0.0f, 10.0f, 0x40000001); + BoardPlayerMotionSpeedSet(eventPlayer, 2.0f); + HuPrcSleep(120); + ConfigBowserEvent(); + HuAudFXPlay(scareFxTbl[GWPlayer[eventPlayer].character]); + BoardPlayerMotionShiftSet(eventPlayer, scareMot, 0.0f, 10.0f, 0); + CreateMiniBowser(); + while(!CheckMiniBowser()) { + HuPrcVSleep(); + } + BoardPlayerIdleSet(eventPlayer); + if(eventType) { + result = ExecMiniBowserEvent(); + if(!result) { + return; + } + BoardAudSeqFadeOut(1, 1000); + BoardFilterFadeInit(30, 160); + HuPrcSleep(30); + } + ExecBowserSpecial(); + BoardModelMotionShiftSet(bowserMdl, 3, 0.0f, 8.0f, 0); + HuPrcSleep(8); + HuAudFXPlay(58); + BoardWinCreate(2, MAKE_MESSID(3, 11), 5); + BoardWinWait(); + BoardWinKill(); + BoardAudSeqFadeOut(1, 1000); + while(!BoardModelMotionEndCheck(bowserMdl)) { + HuPrcVSleep(); + } + SetBowserState(6); + while(!CheckBowserIdle()) { + HuPrcVSleep(); + } + BoardFilterFadeOut(30); } static void ExecMGReturn(void) { - s32 i; - s32 player; - BoardStatusItemSet(1); - for(i=0; i<4; i++) { - BoardPlayerPosSetV(i, &playerPosTemp[i]); - } - BoardCameraMoveSet(0); - BoardCameraTargetPlayerSet(eventPlayer); - BoardCameraViewSet(2); - BoardCameraMotionWait(); - CreateBowserObj(); - SquishPlayers(); - BoardPlayerMotBlendSet(eventPlayer, 0, 15); - BoardCameraViewSet(3); - BoardFilterFadeInit(30, 160); - BoardStatusItemSet(0); - BoardCameraMotionWait(); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 21); - while(WipeStatGet()) { - HuPrcVSleep(); - } - _ClearFlag(0x1001C); - BoardCameraMoveSet(1); - player = GWSystem.player_curr; - GWSystem.player_curr = -1; - DoMGReturnEffect(); - GWSystem.player_curr = player; - BoardStatusShowSetAll(1); - BoardModelMotionShiftSet(bowserMdl, 3, 0.0f, 8.0f, HU3D_MOTATTR_NONE); - HuPrcSleep(8); - HuAudFXPlay(58); - BoardWinCreate(2, MAKE_MESSID(3, 11), 5); - BoardWinWait(); - BoardWinKill(); - while(!BoardStatusStopCheck(0)) { - HuPrcVSleep(); - } - BoardAudSeqFadeOut(1, 1000); - while(!BoardModelMotionEndCheck(bowserMdl)) { - HuPrcVSleep(); - } - SetBowserState(6); - while(!CheckBowserIdle()) { - HuPrcVSleep(); - } - BoardFilterFadeOut(30); - BoardMusStartBoard(); + s32 i; + s32 player; + BoardStatusItemSet(1); + for(i=0; i<4; i++) { + BoardPlayerPosSetV(i, &playerPosTemp[i]); + } + BoardCameraMoveSet(0); + BoardCameraTargetPlayerSet(eventPlayer); + BoardCameraViewSet(2); + BoardCameraMotionWait(); + CreateBowserObj(); + SquishPlayers(); + BoardPlayerMotBlendSet(eventPlayer, 0, 15); + BoardCameraViewSet(3); + BoardFilterFadeInit(30, 160); + BoardStatusItemSet(0); + BoardCameraMotionWait(); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 21); + while(WipeStatGet()) { + HuPrcVSleep(); + } + _ClearFlag(0x1001C); + BoardCameraMoveSet(1); + player = GWSystem.player_curr; + GWSystem.player_curr = -1; + DoMGReturnEffect(); + GWSystem.player_curr = player; + BoardStatusShowSetAll(1); + BoardModelMotionShiftSet(bowserMdl, 3, 0.0f, 8.0f, 0); + HuPrcSleep(8); + HuAudFXPlay(58); + BoardWinCreate(2, MAKE_MESSID(3, 11), 5); + BoardWinWait(); + BoardWinKill(); + while(!BoardStatusStopCheck(0)) { + HuPrcVSleep(); + } + BoardAudSeqFadeOut(1, 1000); + while(!BoardModelMotionEndCheck(bowserMdl)) { + HuPrcVSleep(); + } + SetBowserState(6); + while(!CheckBowserIdle()) { + HuPrcVSleep(); + } + BoardFilterFadeOut(30); + BoardMusStartBoard(); } static void DestroyBowser(void) { - KillPlayerMot(); - HuDataDirClose(DATADIR_BKOOPA); - bowserProc = NULL; + KillPlayerMot(); + HuDataDirClose(DATADIR_BKOOPA); + bowserProc = NULL; } static void SquishPlayers(void) { - Vec pos; - Vec pos_space; - s32 i; - BoardPlayerPosGet(eventPlayer, &pos); - if(!_CheckFlag(FLAG_ID_MAKE(1, 3))) { - HuAudFXPlay(798); - } - pos.y += 6.0f; - BoardPlayerPosSetV(eventPlayer, &pos); - GWPlayer[eventPlayer].show_next = 0; - BoardPlayerMotionSpeedSet(eventPlayer, 0.0f); - for(i=0; i<4; i++) { - if(eventSpace == GWPlayer[i].space_curr) { - BoardPlayerPosGet(i, &pos); - BoardSpacePosGet(0, eventSpace, &pos_space); - pos.y = pos_space.y+2.5f; - BoardPlayerPosSetV(i, &pos); - BoardPlayerMotionStart(i, playerMot[i], 0); - BoardPlayerMotionTimeSet(i, 50.0f); - BoardPlayerMotionSpeedSet(i, 0.0f); - } - } + Vec pos; + Vec pos_space; + s32 i; + BoardPlayerPosGet(eventPlayer, &pos); + if(!_CheckFlag(FLAG_ID_MAKE(1, 3))) { + HuAudFXPlay(798); + } + pos.y += 6.0f; + BoardPlayerPosSetV(eventPlayer, &pos); + GWPlayer[eventPlayer].show_next = 0; + BoardPlayerMotionSpeedSet(eventPlayer, 0.0f); + for(i=0; i<4; i++) { + if(eventSpace == GWPlayer[i].space_curr) { + BoardPlayerPosGet(i, &pos); + BoardSpacePosGet(0, eventSpace, &pos_space); + pos.y = pos_space.y+2.5f; + BoardPlayerPosSetV(i, &pos); + BoardPlayerMotionStart(i, playerMot[i], 0); + BoardPlayerMotionTimeSet(i, 50.0f); + BoardPlayerMotionSpeedSet(i, 0.0f); + } + } } static void ExecBowserSpecial(void) { - s32 i; - CreateBowserObj(); - while(!CheckBowserIdle()) { - HuPrcVSleep(); - } - SetBowserState(2); - HuAudFXPlay(58); - BoardMusStart(1, 6, 127, 0); - HuPrcSleep(120); - BoardWinCreate(2, MAKE_MESSID(3, 7), 5); - BoardWinWait(); - BoardWinKill(); - HuAudFXPlay(857); - BoardModelMotionShiftSet(bowserMdl, 4, 0.0f, 10.0f, HU3D_MOTATTR_NONE); - for(i=0; i<4; i++) { - omVibrate(i, 12, 12, 0); - } - HuPrcSleep(11); - while(!BoardModelMotionEndCheck(bowserMdl)) { - HuPrcVSleep(); - } - CreateBowserEvent(); - HuAudFXPlay(831); - HuAudFXPlay(60); - while(!CheckBowserEvent()) { - HuPrcVSleep(); - } - HuPrcSleep(60); - BoardModelAttrSet(bowserMdl, 0x40000004); - while(!BoardModelMotionEndCheck(bowserMdl)) { - HuPrcVSleep(); - } - BoardModelMotionShiftSet(bowserMdl, 1, 0.0f, 10.0f, HU3D_MOTATTR_NONE); - StopBowserEvent(); - switch(GWSystem.bowser_event) { - case 0: - ExecBowserGame(); - break; - - case 2: - ExecBowserRevo(); - break; - - case 1: - ExecBowserShuffle(); - break; - - case 3: - ExecBowserSuit(); - break; - } + s32 i; + CreateBowserObj(); + while(!CheckBowserIdle()) { + HuPrcVSleep(); + } + SetBowserState(2); + HuAudFXPlay(58); + BoardMusStart(1, 6, 127, 0); + HuPrcSleep(120); + BoardWinCreate(2, MAKE_MESSID(3, 7), 5); + BoardWinWait(); + BoardWinKill(); + HuAudFXPlay(857); + BoardModelMotionShiftSet(bowserMdl, 4, 0.0f, 10.0f, 0); + for(i=0; i<4; i++) { + omVibrate(i, 12, 12, 0); + } + HuPrcSleep(11); + while(!BoardModelMotionEndCheck(bowserMdl)) { + HuPrcVSleep(); + } + CreateBowserEvent(); + HuAudFXPlay(831); + HuAudFXPlay(60); + while(!CheckBowserEvent()) { + HuPrcVSleep(); + } + HuPrcSleep(60); + BoardModelAttrSet(bowserMdl, 0x40000004); + while(!BoardModelMotionEndCheck(bowserMdl)) { + HuPrcVSleep(); + } + BoardModelMotionShiftSet(bowserMdl, 1, 0.0f, 10.0f, 0); + StopBowserEvent(); + switch(GWSystem.bowser_event) { + case 0: + ExecBowserGame(); + break; + + case 2: + ExecBowserRevo(); + break; + + case 1: + ExecBowserShuffle(); + break; + + case 3: + ExecBowserSuit(); + break; + } } static void ExecBowserGame(void) { - s32 i; - s16 mgTbl[3] = { - 435, - 436, - 437 - }; - s32 messLoss[3] = { - MAKE_MESSID(3, 9), - MAKE_MESSID(3, 12), - MAKE_MESSID(3, 14) - }; - s32 mg; - s32 mess; - s32 fx_stat; - for(i=0; i<4; i++) { - BoardPlayerPosGet(i, &playerPosTemp[i]); - } - BoardWinCreate(2, MAKE_MESSID(3, 8), 5); - BoardWinWait(); - mess = messLoss[GWSystem.bowser_loss]; - BoardWinCreate(2, mess, 5); - BoardWinWait(); - BoardWinKill(); - BoardModelMotionShiftSet(bowserMdl, 5, 0.0f, 8.0f, HU3D_MOTATTR_NONE); - HuPrcSleep(8); - while(BoardModelMotionTimeGet(bowserMdl) < 80.0f) { - HuPrcVSleep(); - } - fx_stat = HuAudFXPlay(846); - InitBowserFire(); - while(BoardModelMotionTimeGet(bowserMdl) < 200.0f) { - HuPrcVSleep(); - } - BoardAudSeqFadeOut(1, 1000); - BoardMusVolPanSet(0, 0, 1); - BoardAudSeqPause(0, 0, 1); - _SetFlag(0x1000E); - HuAudFXFadeOut(fx_stat, 500); - WipeColorSet(255, 255, 255); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while(WipeStatGet()) { - HuPrcVSleep(); - } - HuAudFXAllStop(); - _SetFlag(0x1001C); - KillBowserFire(); - HuPrcSleep(60); - BoardModelMotionStart(bowserMdl, 1, 0); - mg = (s16)mgTbl[BoardRandMod(3)]; - GWMGAvailSet(mg); - GWSystem.mg_next = mg-401; - _SetFlag(0x10003); - BoardNextOvlSet(OVL_INST); - BoardFilterFadeOut(30); - HuPrcEnd(); + s32 i; + s16 mgTbl[3] = { + 435, + 436, + 437 + }; + s32 messLoss[3] = { + 0x30009, + 0x3000C, + 0x3000E + }; + s32 mg; + s32 mess; + s32 fx_stat; + for(i=0; i<4; i++) { + BoardPlayerPosGet(i, &playerPosTemp[i]); + } + BoardWinCreate(2, MAKE_MESSID(3, 8), 5); + BoardWinWait(); + mess = messLoss[GWSystem.bowser_loss]; + BoardWinCreate(2, mess, 5); + BoardWinWait(); + BoardWinKill(); + BoardModelMotionShiftSet(bowserMdl, 5, 0.0f, 8.0f, 0); + HuPrcSleep(8); + while(BoardModelMotionTimeGet(bowserMdl) < 80.0f) { + HuPrcVSleep(); + } + fx_stat = HuAudFXPlay(846); + InitBowserFire(); + while(BoardModelMotionTimeGet(bowserMdl) < 200.0f) { + HuPrcVSleep(); + } + BoardAudSeqFadeOut(1, 1000); + BoardMusVolPanSet(0, 0, 1); + BoardAudSeqPause(0, 0, 1); + _SetFlag(0x1000E); + HuAudFXFadeOut(fx_stat, 500); + WipeColorSet(255, 255, 255); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); + while(WipeStatGet()) { + HuPrcVSleep(); + } + HuAudFXAllStop(); + _SetFlag(0x1001C); + KillBowserFire(); + HuPrcSleep(60); + BoardModelMotionStart(bowserMdl, 1, 0); + mg = (s16)mgTbl[BoardRandMod(3)]; + GWMGAvailSet(mg); + GWSystem.mg_next = mg-401; + _SetFlag(0x10003); + BoardNextOvlSet(OVL_INST); + BoardFilterFadeOut(30); + HuPrcEnd(); } static void DoMGReturnEffect(void) { - s32 messTbl[3] = { - MAKE_MESSID(3, 10), - MAKE_MESSID(3, 13), - MAKE_MESSID(3, 15) - }; - s32 player; - s32 coin; - s32 item; - s32 delay; - s32 item_cnt; - s32 mess; - s32 mess_char; - for(player=0; player<4; player++) { - if(GWPlayerCoinWinGet(player) == 1) { - break; - } - } - mess = messTbl[GWSystem.bowser_loss]; - mess_char = BoardPlayerGetCharMess(player); - BoardStatusShowSetForce(player); - BoardStatusShowSet(player, 1); - BoardWinCreate(2, mess, 5); - BoardWinInsertMesSet(mess_char, 1); - BoardWinWait(); - while(!BoardStatusStopCheck(player)) { - HuPrcVSleep(); - } - omVibrate(player, 12, 4, 2); - if(GWSystem.bowser_loss == 2) { - item_cnt = BoardPlayerItemCount(player); - for(item=0; item> 1); - } - if(coin >= 50 ) { - delay = 1; - } else if(coin >= 20) { - delay = 3; - } else { - delay = 6; - } - while(coin != 0 && BoardPlayerCoinsGet(player) != 0) { - BoardPlayerCoinsAdd(player, -1); - HuAudFXPlay(14); - HuPrcSleep(delay); - coin--; - } - HuAudFXPlay(15); - } - BoardStatusShowSet(player, 0); - while(!BoardStatusStopCheck(player)) { - HuPrcVSleep(); - } + s32 messTbl[3] = { + 0x3000A, + 0x3000D, + 0x3000F + }; + s32 player; + s32 coin; + s32 item; + s32 delay; + s32 item_cnt; + s32 mess; + s32 mess_char; + for(player=0; player<4; player++) { + if(GWPlayerCoinWinGet(player) == 1) { + break; + } + } + mess = messTbl[GWSystem.bowser_loss]; + mess_char = BoardPlayerGetCharMess(player); + BoardStatusShowSetForce(player); + BoardStatusShowSet(player, 1); + BoardWinCreate(2, mess, 5); + BoardWinInsertMesSet(mess_char, 1); + BoardWinWait(); + while(!BoardStatusStopCheck(player)) { + HuPrcVSleep(); + } + omVibrate(player, 12, 4, 2); + if(GWSystem.bowser_loss == 2) { + item_cnt = BoardPlayerItemCount(player); + for(item=0; item> 1); + } + if(coin >= 50 ) { + delay = 1; + } else if(coin >= 20) { + delay = 3; + } else { + delay = 6; + } + while(coin != 0 && BoardPlayerCoinsGet(player) != 0) { + BoardPlayerCoinsAdd(player, -1); + HuAudFXPlay(14); + HuPrcSleep(delay); + coin--; + } + HuAudFXPlay(15); + } + BoardStatusShowSet(player, 0); + while(!BoardStatusStopCheck(player)) { + HuPrcVSleep(); + } } static void ExecBowserShuffle(void) { - Vec pos; - Vec target; - s16 space_old[4]; - s16 space[4]; - s32 i; - s32 player; - s32 player_new; - s32 reset_cam; - BoardWinCreate(2, MAKE_MESSID(3, 16), 5); - BoardWinWait(); - BoardWinKill(); - for(i=0; i<4; i++) { - space_old[i] = GWPlayer[i].space_curr; - } - player=0; - while(player<4) { - player_new = BoardRandMod(4); - if(player_new == player || space_old[player_new] == -1) { - continue; - } - space[player] = space_old[player_new]; - space_old[player_new] = -1; - player++; - } - HuAudFXPlay(857); - BoardModelMotionShiftSet(bowserMdl, 4, 0.0f, 10.0f, HU3D_MOTATTR_NONE); - while(!BoardModelMotionEndCheck(bowserMdl)) { - HuPrcVSleep(); - } - SetBowserState(3); - HuPrcSleep(60); - WipeColorSet(255, 255, 255); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while(WipeStatGet()) { - HuPrcVSleep(); - } - reset_cam = 0; - for(i=0; i<4; i++) { - GWPlayer[i].space_curr = space[i]; - if(eventSpace == space[i]) { - BoardPlayerMotionStart(i, playerMot[i], 0); - BoardPlayerMotionTimeSet(i, 50.0f); - BoardPlayerMotionSpeedSet(i, 0.0f); - reset_cam = 1; - } else { - BoardPlayerIdleSet(i); - } - BoardPlayerMoveAwayStart(i, GWPlayer[i].space_curr, 1); - } - if(reset_cam) { - BoardCameraTargetGet(&target); - BoardCameraPosGet(&pos); - BoardCameraTargetModelSet(-1); - BoardCameraTargetSet(target.x, target.y, target.z); - BoardCameraPosSet(pos.x, pos.y, pos.z); - } - SetBowserState(4); - HuPrcSleep(60); - BoardModelMotionStart(bowserMdl, 1, 0x40000001); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - while(WipeStatGet()) { - HuPrcVSleep(); - } + Vec pos; + Vec target; + s16 space_old[4]; + s16 space[4]; + s32 i; + s32 player; + s32 player_new; + s32 reset_cam; + BoardWinCreate(2, MAKE_MESSID(3, 16), 5); + BoardWinWait(); + BoardWinKill(); + for(i=0; i<4; i++) { + space_old[i] = GWPlayer[i].space_curr; + } + player=0; + while(player<4) { + player_new = BoardRandMod(4); + if(player_new == player || space_old[player_new] == -1) { + continue; + } + space[player] = space_old[player_new]; + space_old[player_new] = -1; + player++; + } + HuAudFXPlay(857); + BoardModelMotionShiftSet(bowserMdl, 4, 0.0f, 10.0f, 0); + while(!BoardModelMotionEndCheck(bowserMdl)) { + HuPrcVSleep(); + } + SetBowserState(3); + HuPrcSleep(60); + WipeColorSet(255, 255, 255); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); + while(WipeStatGet()) { + HuPrcVSleep(); + } + reset_cam = 0; + for(i=0; i<4; i++) { + GWPlayer[i].space_curr = space[i]; + if(eventSpace == space[i]) { + BoardPlayerMotionStart(i, playerMot[i], 0); + BoardPlayerMotionTimeSet(i, 50.0f); + BoardPlayerMotionSpeedSet(i, 0.0f); + reset_cam = 1; + } else { + BoardPlayerIdleSet(i); + } + BoardPlayerMoveAwayStart(i, GWPlayer[i].space_curr, 1); + } + if(reset_cam) { + BoardCameraTargetGet(&target); + BoardCameraPosGet(&pos); + BoardCameraTargetModelSet(-1); + BoardCameraTargetSet(target.x, target.y, target.z); + BoardCameraPosSet(pos.x, pos.y, pos.z); + } + SetBowserState(4); + HuPrcSleep(60); + BoardModelMotionStart(bowserMdl, 1, 0x40000001); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); + while(WipeStatGet()) { + HuPrcVSleep(); + } } static void ExecBowserRevo(void) { - s32 i; - s32 coin; - BoardWinCreate(2, MAKE_MESSID(3, 17), 5); - BoardWinWait(); - BoardWinKill(); - for(coin=i=0; i<4; i++) { - coin += BoardPlayerCoinsGet(i); - } - coin /= 4; - HuAudFXPlay(857); - BoardModelMotionShiftSet(bowserMdl, 4, 0.0f, 10.0f, HU3D_MOTATTR_NONE); - while(!BoardModelMotionEndCheck(bowserMdl)) { - HuPrcVSleep(); - } - SetBowserState(3); - HuPrcSleep(60); - WipeColorSet(255, 255, 255); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - while(WipeStatGet()) { - HuPrcVSleep(); - } - SetBowserState(4); - for(i=0; i<4; i++) { - BoardPlayerCoinsSet(i, coin); - } - HuPrcSleep(60); - BoardModelMotionStart(bowserMdl, 1, 0x40000001); - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); - while(WipeStatGet()) { - HuPrcVSleep(); - } + s32 i; + s32 coin; + BoardWinCreate(2, MAKE_MESSID(3, 17), 5); + BoardWinWait(); + BoardWinKill(); + for(coin=i=0; i<4; i++) { + coin += BoardPlayerCoinsGet(i); + } + coin /= 4; + HuAudFXPlay(857); + BoardModelMotionShiftSet(bowserMdl, 4, 0.0f, 10.0f, 0); + while(!BoardModelMotionEndCheck(bowserMdl)) { + HuPrcVSleep(); + } + SetBowserState(3); + HuPrcSleep(60); + WipeColorSet(255, 255, 255); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); + while(WipeStatGet()) { + HuPrcVSleep(); + } + SetBowserState(4); + for(i=0; i<4; i++) { + BoardPlayerCoinsSet(i, coin); + } + HuPrcSleep(60); + BoardModelMotionStart(bowserMdl, 1, 0x40000001); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); + while(WipeStatGet()) { + HuPrcVSleep(); + } } static void ExecBowserSuit(void) { - BoardModelMotionShiftSet(bowserMdl, 1, 0.0f, 10.0f, HU3D_MOTATTR_NONE); - BoardWinCreate(2, MAKE_MESSID(3, 18), 5); - BoardWinWait(); - HuAudFXPlay(857); - BoardModelMotionShiftSet(bowserMdl, 4, 0.0f, 10.0f, HU3D_MOTATTR_NONE); - HuPrcSleep(10); - StartSuitGive(); - while(!CheckSuitGive()) { - HuPrcVSleep(); - } - BoardWinKill(); - BoardModelAttrSet(bowserMdl, 0x40000004); - while(!BoardModelMotionEndCheck(bowserMdl)) { - HuPrcVSleep(); - } + BoardModelMotionShiftSet(bowserMdl, 1, 0.0f, 10.0f, 0); + BoardWinCreate(2, MAKE_MESSID(3, 18), 5); + BoardWinWait(); + HuAudFXPlay(857); + BoardModelMotionShiftSet(bowserMdl, 4, 0.0f, 10.0f, 0); + HuPrcSleep(10); + StartSuitGive(); + while(!CheckSuitGive()) { + HuPrcVSleep(); + } + BoardWinKill(); + BoardModelAttrSet(bowserMdl, 0x40000004); + while(!BoardModelMotionEndCheck(bowserMdl)) { + HuPrcVSleep(); + } } typedef struct suit_give_work { - u8 kill : 1; - u8 state; - u8 timer; - u8 idle_timer; - s16 model; + u8 kill : 1; + u8 state; + u8 timer; + u8 idle_timer; + s16 model; } SuitGiveWork; static s32 CheckSuitGive(void) { - if(!suitGiveObj) { - return 1; - } else { - return 0; - } + if(!suitGiveObj) { + return 1; + } else { + return 0; + } } static void StartSuitGive(void) { - omObjData *object; - SuitGiveWork *work; - Vec pos; - object = omAddObjEx(boardObjMan, 258, 0, 0, -1, SuitGiveMain); - suitGiveObj = object; - work = OM_GET_WORK_PTR(suitGiveObj, SuitGiveWork); - work->kill = 0; - work->state = 0; - work->idle_timer = 0; - work->timer = 30; - work->model = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 120), NULL, 0); - BoardModelLayerSet(work->model, 7); - BoardModelScaleSet(work->model, 0.16f, 0.16f, 0.16f); - object->trans.x = 288.0f; - object->trans.y = -64.0f; - pos.x = 288.0f; - pos.y = 240.0f; - object->rot.x = (pos.x-object->trans.x)/30.0f; - object->rot.y = (pos.y-object->trans.y)/30.0f; - object->scale.x = 300.0f; - pos.x = object->trans.x; - pos.y = object->trans.y; - pos.z = object->scale.x; - Hu3D2Dto3D(&pos, 1, &pos); - BoardModelPosSetV(work->model, &pos); + omObjData *object; + SuitGiveWork *work; + Vec pos; + object = omAddObjEx(boardObjMan, 258, 0, 0, -1, SuitGiveMain); + suitGiveObj = object; + work = OM_GET_WORK_PTR(suitGiveObj, SuitGiveWork); + work->kill = 0; + work->state = 0; + work->idle_timer = 0; + work->timer = 30; + work->model = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 120), NULL, 0); + BoardModelLayerSet(work->model, 7); + BoardModelScaleSet(work->model, 0.16f, 0.16f, 0.16f); + object->trans.x = 288.0f; + object->trans.y = -64.0f; + pos.x = 288.0f; + pos.y = 240.0f; + object->rot.x = (pos.x-object->trans.x)/30.0f; + object->rot.y = (pos.y-object->trans.y)/30.0f; + object->scale.x = 300.0f; + pos.x = object->trans.x; + pos.y = object->trans.y; + pos.z = object->scale.x; + Hu3D2Dto3D(&pos, 1, &pos); + BoardModelPosSetV(work->model, &pos); } static void SuitGiveMain(omObjData *object) { - SuitGiveWork *work = OM_GET_WORK_PTR(object, SuitGiveWork); - s32 effect_active; - Vec pos; - if(work->kill || BoardIsKill()) { - BoardModelKill(work->model); - suitGiveObj = NULL; - omDelObjEx(HuPrcCurrentGet(), object); - return; - } - if(work->idle_timer) { - work->idle_timer--; - return; - } - - effect_active = 0; - switch(work->state) { - case 0: - if(work->timer == 0) { - work->state = 1; - work->idle_timer = 30; - work->timer = 30; - BoardStatusPosGet(eventPlayer, &pos); - object->rot.x = (pos.x-object->trans.x)/30.0f; - object->rot.y = (pos.y-object->trans.y)/30.0f; - } else { - work->timer--; - } - break; - - case 1: - if(work->timer == 0) { - work->state = 2; - work->idle_timer = 6; - effect_active = 1; - } else { - work->timer--; - } - break; - - case 2: - BoardPlayerItemAdd(eventPlayer, 10); - BoardModelVisibilitySet(work->model, 0); - work->kill = 1; - return; - - default: - break; - } - object->trans.x += object->rot.x; - object->trans.y += object->rot.y; - pos.x = object->trans.x; - pos.y = object->trans.y; - pos.z = object->scale.x; - Hu3D2Dto3D(&pos, 1, &pos); - BoardModelPosSetV(work->model, &pos); - if(effect_active) { - CharModelLayerSetAll(6); - CharModelEffectCreate(1, &pos); - } + SuitGiveWork *work = OM_GET_WORK_PTR(object, SuitGiveWork); + s32 effect_active; + Vec pos; + if(work->kill || BoardIsKill()) { + BoardModelKill(work->model); + suitGiveObj = NULL; + omDelObjEx(HuPrcCurrentGet(), object); + return; + } + if(work->idle_timer) { + work->idle_timer--; + return; + } + + effect_active = 0; + switch(work->state) { + case 0: + if(work->timer == 0) { + work->state = 1; + work->idle_timer = 30; + work->timer = 30; + BoardStatusPosGet(eventPlayer, &pos); + object->rot.x = (pos.x-object->trans.x)/30.0f; + object->rot.y = (pos.y-object->trans.y)/30.0f; + } else { + work->timer--; + } + break; + + case 1: + if(work->timer == 0) { + work->state = 2; + work->idle_timer = 6; + effect_active = 1; + } else { + work->timer--; + } + break; + + case 2: + BoardPlayerItemAdd(eventPlayer, 10); + BoardModelVisibilitySet(work->model, 0); + work->kill = 1; + return; + + default: + break; + } + object->trans.x += object->rot.x; + object->trans.y += object->rot.y; + pos.x = object->trans.x; + pos.y = object->trans.y; + pos.z = object->scale.x; + Hu3D2Dto3D(&pos, 1, &pos); + BoardModelPosSetV(work->model, &pos); + if(effect_active) { + CharModelLayerSetAll(6); + CharModelEffectCreate(1, &pos); + } } static const s32 bowserMotTbl[] = { - DATA_MAKE_NUM(DATADIR_BKOOPA, 8), - DATA_MAKE_NUM(DATADIR_BKOOPA, 10), - DATA_MAKE_NUM(DATADIR_BKOOPA, 11), - DATA_MAKE_NUM(DATADIR_BKOOPA, 12), - DATA_MAKE_NUM(DATADIR_BKOOPA, 13), - DATA_NUM_LISTEND + DATA_MAKE_NUM(DATADIR_BKOOPA, 8), + DATA_MAKE_NUM(DATADIR_BKOOPA, 10), + DATA_MAKE_NUM(DATADIR_BKOOPA, 11), + DATA_MAKE_NUM(DATADIR_BKOOPA, 12), + DATA_MAKE_NUM(DATADIR_BKOOPA, 13), + DATA_NUM_LISTEND }; static void CreateBowserObj(void) { - BowserWork *work; - Vec pos; - bowserObj = omAddObjEx(boardObjMan, 257, 0, 0, -1, ExecBowserObj); - work = OM_GET_WORK_PTR(bowserObj, BowserWork); - work->kill = 0; - work->jump_state = 0; - work->idle_timer = 0; - work->mot_active = 0; - work->fall_done = 0; - work->jump_done = 0; - if(!_CheckFlag(FLAG_ID_MAKE(1, 3))) { - work->state = 1; - } else { - work->state = 0; - } - bowserMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BKOOPA, 7), (s32 *)bowserMotTbl, 0); - BoardModelVisibilitySet(bowserMdl, 0); - BoardModelScaleSet(bowserMdl, 2.0f, 2.0f, 2.0f); - BoardPlayerPosGet(eventPlayer, &pos); - BoardModelLayerSet(bowserMdl, 2); - bowserObj->trans.x = pos.x; - bowserObj->trans.y = pos.y; - bowserObj->trans.z = pos.z; - if(!_CheckFlag(FLAG_ID_MAKE(1, 3))) { - suitItemMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 99), NULL, 0); - BoardModelLayerSet(suitItemMdl, 2); - BoardModelVisibilitySet(suitItemMdl, 0); - } else { - s32 space = GWPlayer[eventPlayer].space_curr; - BoardSpacePosGet(0, space, &pos); - bowserObj->trans.x = pos.x; - bowserObj->trans.y = pos.y; - bowserObj->trans.z = pos.z; - BoardModelPosSetV(bowserMdl, &pos); - BoardCameraTargetSpaceSet(space); - BoardModelMotionStart(bowserMdl, 1, 0x40000001); - BoardModelVisibilitySet(bowserMdl, 1); - } + BowserWork *work; + Vec pos; + bowserObj = omAddObjEx(boardObjMan, 257, 0, 0, -1, ExecBowserObj); + work = OM_GET_WORK_PTR(bowserObj, BowserWork); + work->kill = 0; + work->jump_state = 0; + work->idle_timer = 0; + work->mot_active = 0; + work->fall_done = 0; + work->jump_done = 0; + if(!_CheckFlag(FLAG_ID_MAKE(1, 3))) { + work->state = 1; + } else { + work->state = 0; + } + bowserMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BKOOPA, 7), (s32 *)bowserMotTbl, 0); + BoardModelVisibilitySet(bowserMdl, 0); + BoardModelScaleSet(bowserMdl, 2.0f, 2.0f, 2.0f); + BoardPlayerPosGet(eventPlayer, &pos); + BoardModelLayerSet(bowserMdl, 2); + bowserObj->trans.x = pos.x; + bowserObj->trans.y = pos.y; + bowserObj->trans.z = pos.z; + if(!_CheckFlag(FLAG_ID_MAKE(1, 3))) { + suitItemMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 99), NULL, 0); + BoardModelLayerSet(suitItemMdl, 2); + BoardModelVisibilitySet(suitItemMdl, 0); + } else { + s32 space = GWPlayer[eventPlayer].space_curr; + BoardSpacePosGet(0, space, &pos); + bowserObj->trans.x = pos.x; + bowserObj->trans.y = pos.y; + bowserObj->trans.z = pos.z; + BoardModelPosSetV(bowserMdl, &pos); + BoardCameraTargetSpaceSet(space); + BoardModelMotionStart(bowserMdl, 1, 0x40000001); + BoardModelVisibilitySet(bowserMdl, 1); + } } static void ExecBowserFall(BowserWork *work, omObjData *object); @@ -806,316 +807,316 @@ static void ExecBowserJump(BowserWork *work, omObjData *object); static void ExecBowserObj(omObjData *object) { - BowserWork *work = OM_GET_WORK_PTR(bowserObj, BowserWork); - Vec pos; - Vec rot; - - if(work->kill || BoardIsKill()) { - BoardModelKill(bowserMdl); - bowserMdl = -1; - BoardModelKill(suitItemMdl); - suitItemMdl = -1; - omDelObjEx(HuPrcCurrentGet(), object); - bowserObj = NULL; - return; - } - if(work->idle_timer) { - work->idle_timer--; - return; - } - if(work->mot_active && BoardModelMotionEndCheck(bowserMdl)) { - work->mot_active = 0; - BoardModelMotionShiftSet(bowserMdl, 1, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - } - switch(work->state) { - case 1: - ExecBowserFall(work, object); - break; - - case 2: - ExecBowserLaugh(work, object); - break; - - case 3: - ExecBowserPowerUp(work, object); - break; - - case 5: - ExecBowserFire(work, object); - break; - - case 6: - ExecBowserJump(work, object); - break; - - case 4: - BoardModelVisibilitySet(suitItemMdl, 0); - work->state = 0; - break; - - case 0: - break; - } - BoardModelPosSet(bowserMdl, object->trans.x, object->trans.y, object->trans.z); - BoardCameraRotGet(&rot); - pos.x = object->trans.x+(-100.0f*sind(BoardModelRotYGet(bowserMdl))); - pos.z = object->trans.z+(-100.0f*cosd(BoardModelRotYGet(bowserMdl))); - pos.y = object->trans.y+250.0f; - BoardModelPosSetV(suitItemMdl, &pos); + BowserWork *work = OM_GET_WORK_PTR(bowserObj, BowserWork); + Vec pos; + Vec rot; + + if(work->kill || BoardIsKill()) { + BoardModelKill(bowserMdl); + bowserMdl = -1; + BoardModelKill(suitItemMdl); + suitItemMdl = -1; + omDelObjEx(HuPrcCurrentGet(), object); + bowserObj = NULL; + return; + } + if(work->idle_timer) { + work->idle_timer--; + return; + } + if(work->mot_active && BoardModelMotionEndCheck(bowserMdl)) { + work->mot_active = 0; + BoardModelMotionShiftSet(bowserMdl, 1, 0.0f, 10.0f, 0x40000001); + } + switch(work->state) { + case 1: + ExecBowserFall(work, object); + break; + + case 2: + ExecBowserLaugh(work, object); + break; + + case 3: + ExecBowserPowerUp(work, object); + break; + + case 5: + ExecBowserFire(work, object); + break; + + case 6: + ExecBowserJump(work, object); + break; + + case 4: + BoardModelVisibilitySet(suitItemMdl, 0); + work->state = 0; + break; + + case 0: + break; + } + BoardModelPosSet(bowserMdl, object->trans.x, object->trans.y, object->trans.z); + BoardCameraRotGet(&rot); + pos.x = object->trans.x+(-100.0f*sin(M_PI*BoardModelRotYGet(bowserMdl)/180.0)); + pos.z = object->trans.z+(-100.0f*cos(M_PI*BoardModelRotYGet(bowserMdl)/180.0)); + pos.y = object->trans.y+250.0f; + BoardModelPosSetV(suitItemMdl, &pos); } static void ExecBowserFall(BowserWork *work, omObjData *object) { - Vec pos; - Vec pos_space; - Vec pos_player; - s32 i; - if(!work->jump_state) { - BoardModelVisibilitySet(bowserMdl, 1); - BoardModelMotionStart(bowserMdl, 2, 0); - BoardModelMotionTimeSet(bowserMdl, 100.0f); - work->jump_state = 1; - return; - } - if(BoardModelMotionEndCheck(bowserMdl)) { - work->state = 0; - BoardModelMotionShiftSet(bowserMdl, 1, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - return; - } - if(!work->fall_done && !(BoardModelMotionTimeGet(bowserMdl) < 140.0f)) { - BoardPlayerPosGet(eventPlayer, &pos); - HuAudFXPlay(829); - BoardCameraQuakeSet(60, 100.0f); - object->trans.y = pos.y; - BoardPlayerPosGet(eventPlayer, &pos_player); - if(!_CheckFlag(FLAG_ID_MAKE(1, 3))) { - HuAudFXPlay(798); - } - pos_player.y += 6.0f; - BoardPlayerPosSetV(eventPlayer, &pos_player); - GWPlayer[eventPlayer].show_next = 0; - BoardPlayerMotionSpeedSet(eventPlayer, 0.0f); - for(i=0; i<4; i++) { - if(eventSpace != GWPlayer[i].space_curr) { - continue; - } - BoardPlayerPosGet(i, &pos_player); - BoardSpacePosGet(0, eventSpace, &pos_space); - pos_player.y = 2.5f+pos_space.y; - BoardPlayerPosSetV(i, &pos_player); - BoardPlayerMotionStart(i, playerMot[i], 0); - BoardPlayerMotionTimeSet(i, 50.0f); - BoardPlayerMotionSpeedSet(i, 0.0f); - } - if(!work->fall_done) { - work->fall_done = 1; - omVibrate(eventPlayer, 12, 4, 2); - } - } - + Vec pos; + Vec pos_space; + Vec pos_player; + s32 i; + if(!work->jump_state) { + BoardModelVisibilitySet(bowserMdl, 1); + BoardModelMotionStart(bowserMdl, 2, 0); + BoardModelMotionTimeSet(bowserMdl, 100.0f); + work->jump_state = 1; + return; + } + if(BoardModelMotionEndCheck(bowserMdl)) { + work->state = 0; + BoardModelMotionShiftSet(bowserMdl, 1, 0.0f, 10.0f, 0x40000001); + return; + } + if(!work->fall_done && !(BoardModelMotionTimeGet(bowserMdl) < 140.0f)) { + BoardPlayerPosGet(eventPlayer, &pos); + HuAudFXPlay(829); + BoardCameraQuakeSet(60, 100.0f); + object->trans.y = pos.y; + BoardPlayerPosGet(eventPlayer, &pos_player); + if(!_CheckFlag(FLAG_ID_MAKE(1, 3))) { + HuAudFXPlay(798); + } + pos_player.y += 6.0f; + BoardPlayerPosSetV(eventPlayer, &pos_player); + GWPlayer[eventPlayer].show_next = 0; + BoardPlayerMotionSpeedSet(eventPlayer, 0.0f); + for(i=0; i<4; i++) { + if(eventSpace != GWPlayer[i].space_curr) { + continue; + } + BoardPlayerPosGet(i, &pos_player); + BoardSpacePosGet(0, eventSpace, &pos_space); + pos_player.y = 2.5f+pos_space.y; + BoardPlayerPosSetV(i, &pos_player); + BoardPlayerMotionStart(i, playerMot[i], 0); + BoardPlayerMotionTimeSet(i, 50.0f); + BoardPlayerMotionSpeedSet(i, 0.0f); + } + if(!work->fall_done) { + work->fall_done = 1; + omVibrate(eventPlayer, 12, 4, 2); + } + } + } static void ExecBowserLaugh(BowserWork *work, omObjData *object) { - BoardModelMotionStart(bowserMdl, 3, 0); - work->mot_active = 1; - work->state = 0; + BoardModelMotionStart(bowserMdl, 3, 0); + work->mot_active = 1; + work->state = 0; } static void ExecBowserFire(BowserWork *work, omObjData *object) { - BoardModelMotionStart(bowserMdl, 5, 0); - work->state = 0; + BoardModelMotionStart(bowserMdl, 5, 0); + work->state = 0; } static void ExecBowserJump(BowserWork *work, omObjData *object) { - switch(work->jump_state) { - case 0: - BoardModelMotionShiftSet(bowserMdl, 2, 0.0f, 4.0f, HU3D_MOTATTR_NONE); - work->jump_state = 1; - break; - - case 1: - { - s16 model_id = BoardModelIDGet(bowserMdl); - if(Hu3DMotionShiftIDGet(model_id) == -1) { - work->jump_state = 2; - } - } - break; - - case 2: - { - float time = BoardModelMotionTimeGet(bowserMdl); - if(time < 60.0f) { - break; - } - if(!work->jump_done) { - omVibrate(eventPlayer, 12, 12, 0); - HuAudFXPlay(61); - work->jump_done = 1; - } - if(time >= 100.0f) { - BoardModelVisibilitySet(bowserMdl, 0); - work->state = 0; - work->kill = 1; - } - } - break; - } + switch(work->jump_state) { + case 0: + BoardModelMotionShiftSet(bowserMdl, 2, 0.0f, 4.0f, 0); + work->jump_state = 1; + break; + + case 1: + { + s16 model_id = BoardModelIDGet(bowserMdl); + if(Hu3DMotionShiftIDGet(model_id) == -1) { + work->jump_state = 2; + } + } + break; + + case 2: + { + float time = BoardModelMotionTimeGet(bowserMdl); + if(time < 60.0f) { + break; + } + if(!work->jump_done) { + omVibrate(eventPlayer, 12, 12, 0); + HuAudFXPlay(61); + work->jump_done = 1; + } + if(time >= 100.0f) { + BoardModelVisibilitySet(bowserMdl, 0); + work->state = 0; + work->kill = 1; + } + } + break; + } } static void ExecBowserPowerUp(BowserWork *work, omObjData *object) { - Vec pos; - if(work->jump_state == 0) { - BoardModelVisibilitySet(suitItemMdl, 1); - BoardModelMotionStart(suitItemMdl, 0, 0); - BoardModelScaleSet(suitItemMdl, 10.0f, 10.0f, 10.0f); - pos.x = object->trans.x+(-100.0f*sind(BoardModelRotYGet(bowserMdl))); - pos.z = object->trans.z+(-100.0f*cosd(BoardModelRotYGet(bowserMdl))); - pos.y = object->trans.y+250.0f; - BoardModelPosSetV(suitItemMdl, &pos); - HuAudFXPlay(850); - } else { - if(work->jump_state >= 100) { - work->state = 0; - } - } - work->jump_state++; + Vec pos; + if(work->jump_state == 0) { + BoardModelVisibilitySet(suitItemMdl, 1); + BoardModelMotionStart(suitItemMdl, 0, 0); + BoardModelScaleSet(suitItemMdl, 10.0f, 10.0f, 10.0f); + pos.x = object->trans.x+(-100.0f*sin(M_PI*BoardModelRotYGet(bowserMdl)/180.0)); + pos.z = object->trans.z+(-100.0f*cos(M_PI*BoardModelRotYGet(bowserMdl)/180.0)); + pos.y = object->trans.y+250.0f; + BoardModelPosSetV(suitItemMdl, &pos); + HuAudFXPlay(850); + } else { + if(work->jump_state >= 100) { + work->state = 0; + } + } + work->jump_state++; } static void SetBowserState(s32 state) { - BowserWork *work = OM_GET_WORK_PTR(bowserObj, BowserWork); - work->state = state; - work->jump_state = 0; + BowserWork *work = OM_GET_WORK_PTR(bowserObj, BowserWork); + work->state = state; + work->jump_state = 0; } static s32 CheckBowserIdle(void) { - BowserWork *work; - if(!bowserObj) { - return 1; - } - work = OM_GET_WORK_PTR(bowserObj, BowserWork); - if(work->state != 0 || work->idle_timer != 0) { - return 0; - } else { - return 1; - } + BowserWork *work; + if(!bowserObj) { + return 1; + } + work = OM_GET_WORK_PTR(bowserObj, BowserWork); + if(work->state != 0 || work->idle_timer != 0) { + return 0; + } else { + return 1; + } } static void CreateMiniBowser(void) { - omObjData *object; - MiniBowserWork *work; - object = omAddObjEx(boardObjMan, 257, 0, 0, -1, ExecMiniBowser); - miniBowserObj = object; - work = OM_GET_WORK_PTR(object, MiniBowserWork); - work->kill = 0; - work->angle = 0; - work->group = HuSprGrpCreate(1); - BoardSpriteCreate(DATA_MAKE_NUM(DATADIR_BKOOPA, 5), 100, NULL, &work->sprite); - HuSprGrpMemberSet(work->group, 0, work->sprite); - HuSprAttrSet(work->group, 0, HUSPR_ATTR_LINEAR); - HuSprGrpPosSet(work->group, 288.0f, 240.0f); - HuSprGrpScaleSet(work->group, 4.0f, 4.0f); + omObjData *object; + MiniBowserWork *work; + object = omAddObjEx(boardObjMan, 257, 0, 0, -1, ExecMiniBowser); + miniBowserObj = object; + work = OM_GET_WORK_PTR(object, MiniBowserWork); + work->kill = 0; + work->angle = 0; + work->group = HuSprGrpCreate(1); + BoardSpriteCreate(DATA_MAKE_NUM(DATADIR_BKOOPA, 5), 100, NULL, &work->sprite); + HuSprGrpMemberSet(work->group, 0, work->sprite); + HuSprAttrSet(work->group, 0, HUSPR_ATTR_LINEAR); + HuSprGrpPosSet(work->group, 288.0f, 240.0f); + HuSprGrpScaleSet(work->group, 4.0f, 4.0f); } static s32 CheckMiniBowser(void) { - if(miniBowserObj) { - return 0; - } else { - return 1; - } + if(miniBowserObj) { + return 0; + } else { + return 1; + } } static void ExecMiniBowser(omObjData *object) { - MiniBowserWork *work = OM_GET_WORK_PTR(object, MiniBowserWork); - float alpha; - if(work->kill || BoardIsKill()) { - HuSprGrpKill(work->group); - miniBowserObj = NULL; - omDelObjEx(HuPrcCurrentGet(), object); - return; - } - OSs16tof32(&work->angle, &alpha); - alpha = sind(BoardDAngleCalc(alpha)); - HuSprTPLvlSet(work->group, 0, ABS(alpha)); - if(work->angle == 60) { - HuAudFXPlay(807); - } - work->angle += 2; - if(work->angle == 90 || work->angle == 270 || work->angle == 450) { - omVibrate(eventPlayer, 12, 4, 2); - } - if(work->angle >= 540) { - work->kill = 1; - } + MiniBowserWork *work = OM_GET_WORK_PTR(object, MiniBowserWork); + float alpha; + if(work->kill || BoardIsKill()) { + HuSprGrpKill(work->group); + miniBowserObj = NULL; + omDelObjEx(HuPrcCurrentGet(), object); + return; + } + OSs16tof32(&work->angle, &alpha); + alpha = sin(M_PI*BoardDAngleCalc(alpha)/180.0); + HuSprTPLvlSet(work->group, 0, ABS(alpha)); + if(work->angle == 60) { + HuAudFXPlay(807); + } + work->angle += 2; + if(work->angle == 90 || work->angle == 270 || work->angle == 450) { + omVibrate(eventPlayer, 12, 4, 2); + } + if(work->angle >= 540) { + work->kill = 1; + } } static void CreateBowserEvent(void) { - Vec pos_2d; - Vec pos_3d; - s32 eventSpr[] = { - DATA_MAKE_NUM(DATADIR_BKOOPA, 1), - DATA_MAKE_NUM(DATADIR_BKOOPA, 2), - DATA_MAKE_NUM(DATADIR_BKOOPA, 3), - DATA_MAKE_NUM(DATADIR_BKOOPA, 4), - }; - - - BowserEventData *data; - s32 i; - BowserEventWork *work; - s32 sprite; - bowserEventObj = omAddObjEx(boardObjMan, 257, 0, 0, -1, ExecBowserEvent); - work = OM_GET_WORK_PTR(bowserEventObj, BowserEventWork); - work->kill = 0; - work->state = 0; - work->timer = 0; - memset(&bowserEvent, 0, sizeof(BowserEventData)); - data = &bowserEvent; - data->group = HuSprGrpCreate(3); - sprite = eventSpr[GWSystem.bowser_event]; - for(i=0; i<3; i++) { - BoardSpriteCreate(sprite, 100, NULL, &data->sprite[i]); - HuSprGrpMemberSet(data->group, i, data->sprite[i]); - HuSprTPLvlSet(data->group, i, 0.0f); - HuSprPosSet(data->group, i, 0.0f, 0.0f); - data->delay[i] = i*2; - } - HuSprGrpPosSet(data->group, 288.0f, 240.0f); - data->model = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 101), NULL, 0); - pos_2d.x = 288.0f; - pos_2d.y = 240.0f; - pos_2d.z = 1000.0f; - Hu3D2Dto3D(&pos_2d, 1, &pos_3d); - BoardModelMotionStart(data->model, 0, 0x40000001); - BoardModelPosSetV(data->model, &pos_3d); - BoardModelLayerSet(data->model, 2); + Vec pos_2d; + Vec pos_3d; + s32 eventSpr[] = { + DATA_MAKE_NUM(DATADIR_BKOOPA, 1), + DATA_MAKE_NUM(DATADIR_BKOOPA, 2), + DATA_MAKE_NUM(DATADIR_BKOOPA, 3), + DATA_MAKE_NUM(DATADIR_BKOOPA, 4), + }; + + + BowserEventData *data; + s32 i; + BowserEventWork *work; + s32 sprite; + bowserEventObj = omAddObjEx(boardObjMan, 257, 0, 0, -1, ExecBowserEvent); + work = OM_GET_WORK_PTR(bowserEventObj, BowserEventWork); + work->kill = 0; + work->state = 0; + work->timer = 0; + memset(&bowserEvent, 0, sizeof(BowserEventData)); + data = &bowserEvent; + data->group = HuSprGrpCreate(3); + sprite = eventSpr[GWSystem.bowser_event]; + for(i=0; i<3; i++) { + BoardSpriteCreate(sprite, 100, NULL, &data->sprite[i]); + HuSprGrpMemberSet(data->group, i, data->sprite[i]); + HuSprTPLvlSet(data->group, i, 0.0f); + HuSprPosSet(data->group, i, 0.0f, 0.0f); + data->delay[i] = i*2; + } + HuSprGrpPosSet(data->group, 288.0f, 240.0f); + data->model = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 101), NULL, 0); + pos_2d.x = 288.0f; + pos_2d.y = 240.0f; + pos_2d.z = 1000.0f; + Hu3D2Dto3D(&pos_2d, 1, &pos_3d); + BoardModelMotionStart(data->model, 0, 0x40000001); + BoardModelPosSetV(data->model, &pos_3d); + BoardModelLayerSet(data->model, 2); } static s32 CheckBowserEvent(void) { - BowserEventWork *work = OM_GET_WORK_PTR(bowserEventObj, BowserEventWork); - - if(work->state != 2) { - return 0; - } else { - return 1; - } + BowserEventWork *work = OM_GET_WORK_PTR(bowserEventObj, BowserEventWork); + + if(work->state != 2) { + return 0; + } else { + return 1; + } } static void StopBowserEvent(void) { - BowserEventWork *work = OM_GET_WORK_PTR(bowserEventObj, BowserEventWork); - work->state = 1; + BowserEventWork *work = OM_GET_WORK_PTR(bowserEventObj, BowserEventWork); + work->state = 1; } static void ShowBowserEvent(BowserEventWork *work, omObjData *object); @@ -1123,187 +1124,187 @@ static void HideBowserEvent(BowserEventWork *work, omObjData *object); static void ExecBowserEvent(omObjData *object) { - BowserEventWork *work = OM_GET_WORK_PTR(object, BowserEventWork); - BowserEventData *data = &bowserEvent; - if(work->kill || BoardIsKill()) { - HuSprGrpKill(data->group); - BoardModelKill(data->model); - bowserEventObj = NULL; - omDelObjEx(HuPrcCurrentGet(), object); - return; - } - if(work->timer) { - work->timer--; - return; - } - switch(work->state) { - case 0: - ShowBowserEvent(work, object); - break; - - case 1: - HideBowserEvent(work, object); - break; - - case 2: - break; - } + BowserEventWork *work = OM_GET_WORK_PTR(object, BowserEventWork); + BowserEventData *data = &bowserEvent; + if(work->kill || BoardIsKill()) { + HuSprGrpKill(data->group); + BoardModelKill(data->model); + bowserEventObj = NULL; + omDelObjEx(HuPrcCurrentGet(), object); + return; + } + if(work->timer) { + work->timer--; + return; + } + switch(work->state) { + case 0: + ShowBowserEvent(work, object); + break; + + case 1: + HideBowserEvent(work, object); + break; + + case 2: + break; + } } static void ShowBowserEvent(BowserEventWork *work, omObjData *object) { - BowserEventData *data; - s32 i; - s32 count; - float angle; - float tplvl; - float scale; - data = &bowserEvent; - for(count=i=0; i<3; i++) { - if(data->delay[i]) { - data->delay[i]--; - } else { - if(data->angle[i] > 90) { - count++; - continue; - } - OSs16tof32(&data->angle[i], &angle); - tplvl = sind(angle); - scale = sind(angle); - HuSprTPLvlSet(data->group, i, tplvl); - HuSprScaleSet(data->group, i, scale, scale); - BoardModelAlphaSet(data->model, 255.0f*tplvl); - data->angle[i] += 9; - if(data->angle[i] > 90 && i != 0) { - HuSprAttrSet(data->group, i, HUSPR_ATTR_DISPOFF); - } - } - } - if(count == 3) { - work->state = 2; - work->timer = 60; - } + BowserEventData *data; + s32 i; + s32 count; + float angle; + float tplvl; + float scale; + data = &bowserEvent; + for(count=i=0; i<3; i++) { + if(data->delay[i]) { + data->delay[i]--; + } else { + if(data->angle[i] > 90) { + count++; + continue; + } + OSs16tof32(&data->angle[i], &angle); + tplvl = sin(M_PI*angle/180.0); + scale = sin(M_PI*angle/180.0); + HuSprTPLvlSet(data->group, i, tplvl); + HuSprScaleSet(data->group, i, scale, scale); + BoardModelAlphaSet(data->model, 255.0f*tplvl); + data->angle[i] += 9; + if(data->angle[i] > 90 && i != 0) { + HuSprAttrSet(data->group, i, HUSPR_ATTR_DISPOFF); + } + } + } + if(count == 3) { + work->state = 2; + work->timer = 60; + } } static void HideBowserEvent(BowserEventWork *work, omObjData *object) { - BowserEventData *data = &bowserEvent; - float angle; - float tplvl; - OSs16tof32(&data->angle[0], &angle); - tplvl = sind(angle); - HuSprTPLvlSet(data->group, 0, tplvl); - BoardModelAlphaSet(data->model, 255.0f*tplvl); - data->angle[0] -= 10; - if(data->angle[0] < 0) { - work->kill = 1; - HuSprAttrSet(data->group, 0, HUSPR_ATTR_DISPOFF); - } + BowserEventData *data = &bowserEvent; + float angle; + float tplvl; + OSs16tof32(&data->angle[0], &angle); + tplvl = sin(M_PI*angle/180.0); + HuSprTPLvlSet(data->group, 0, tplvl); + BoardModelAlphaSet(data->model, 255.0f*tplvl); + data->angle[0] -= 10; + if(data->angle[0] < 0) { + work->kill = 1; + HuSprAttrSet(data->group, 0, HUSPR_ATTR_DISPOFF); + } } static void ConfigBowserEvent(void) { - s32 i; - s32 chance; - s32 coins; - s32 item_full; - item_full = 0; - if(BoardPlayerItemCount(eventPlayer) == 3) { - item_full = 1; - } - for(coins=i=0; i<4; i++) { - coins += BoardPlayerCoinsGet(i); - } - retry: - while(1) { - chance = BoardRandMod(100); - if(chance >= 95) { - if(item_full) { - continue; - } - if(GWSystem.max_turn-GWSystem.turn == 0) { - continue; - } - GWSystem.bowser_event = 3; - break; - } else if(chance >= 85) { - GWSystem.bowser_event = 2; - break; - } else if(chance >= 70) { - GWSystem.bowser_event = 1; - break; - } else { - if(coins == 0) { - continue; - } - GWSystem.bowser_event = 0; - GWSystem.bowser_loss = BoardRandMod(3); - break; - } - } + s32 i; + s32 chance; + s32 coins; + s32 item_full; + item_full = 0; + if(BoardPlayerItemCount(eventPlayer) == 3) { + item_full = 1; + } + for(coins=i=0; i<4; i++) { + coins += BoardPlayerCoinsGet(i); + } + retry: + while(1) { + chance = BoardRandMod(100); + if(chance >= 95) { + if(item_full) { + continue; + } + if(GWSystem.max_turn-GWSystem.turn == 0) { + continue; + } + GWSystem.bowser_event = 3; + break; + } else if(chance >= 85) { + GWSystem.bowser_event = 2; + break; + } else if(chance >= 70) { + GWSystem.bowser_event = 1; + break; + } else { + if(coins == 0) { + continue; + } + GWSystem.bowser_event = 0; + GWSystem.bowser_loss = BoardRandMod(3); + break; + } + } } static void CreatePlayerMot(void) { - s32 scareMotTbl[] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 27), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 27), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 27), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 27), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 27), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 27), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 27), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 27), - }; - s32 jumpMotTbl[] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 26), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 26), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 26), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 26), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 26), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 26), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 26), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 26), - }; - s32 playerMotTbl[] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 31), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 31), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 31), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 31), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 31), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 31), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 31), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 31), - }; - s32 i; - s32 character; - character = GWPlayer[eventPlayer].character; - scareMot = BoardPlayerMotionCreate(eventPlayer, scareMotTbl[character]); - jumpMot = BoardPlayerMotionCreate(eventPlayer, jumpMotTbl[character]); - for(i=0; i<4; i++) { - character = GWPlayer[i].character; - playerMot[i] = BoardPlayerMotionCreate(i, playerMotTbl[character]); - } + s32 scareMotTbl[] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 27), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 27), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 27), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 27), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 27), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 27), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 27), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 27), + }; + s32 jumpMotTbl[] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 26), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 26), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 26), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 26), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 26), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 26), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 26), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 26), + }; + s32 playerMotTbl[] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 31), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 31), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 31), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 31), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 31), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 31), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 31), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 31), + }; + s32 i; + s32 character; + character = GWPlayer[eventPlayer].character; + scareMot = BoardPlayerMotionCreate(eventPlayer, scareMotTbl[character]); + jumpMot = BoardPlayerMotionCreate(eventPlayer, jumpMotTbl[character]); + for(i=0; i<4; i++) { + character = GWPlayer[i].character; + playerMot[i] = BoardPlayerMotionCreate(i, playerMotTbl[character]); + } } static void KillPlayerMot(void) { - s32 i; - if(scareMot > 0) { - BoardPlayerMotionKill(eventPlayer, scareMot); - scareMot = -1; - } - if(jumpMot > 0) { - BoardPlayerMotionKill(eventPlayer, jumpMot); - jumpMot = -1; - } - for(i=0; i<4; i++) { - if(playerMot[i] > 0) { - BoardPlayerMotionKill(i, playerMot[i]); - playerMot[i] = -1; - } - } + s32 i; + if(scareMot > 0) { + BoardPlayerMotionKill(eventPlayer, scareMot); + scareMot = -1; + } + if(jumpMot > 0) { + BoardPlayerMotionKill(eventPlayer, jumpMot); + jumpMot = -1; + } + for(i=0; i<4; i++) { + if(playerMot[i] > 0) { + BoardPlayerMotionKill(i, playerMot[i]); + playerMot[i] = -1; + } + } } static void BowserFireHook(ModelData *model, ParticleData *particle, Mtx matrix); @@ -1313,103 +1314,103 @@ static s32 CheckBowserFire(HsfanimStruct01 *arg0); static void InitBowserFire(void) { - fireAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_BOARD, 106)); - fireParMan = Hu3DParticleCreate(fireAnim, 30); - Hu3DParticleColSet(fireParMan, 255, 255, 255); - Hu3DParticleScaleSet(fireParMan, 10.0f); - Hu3DParticleHookSet(fireParMan, BowserFireHook); - Hu3DParticleBlendModeSet(fireParMan, 1); - Hu3DModelLayerSet(fireParMan, 2); + fireAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_BOARD, 106)); + fireParMan = Hu3DParticleCreate(fireAnim, 30); + Hu3DParticleColSet(fireParMan, 255, 255, 255); + Hu3DParticleScaleSet(fireParMan, 10.0f); + Hu3DParticleHookSet(fireParMan, BowserFireHook); + Hu3DParticleBlendModeSet(fireParMan, 1); + Hu3DModelLayerSet(fireParMan, 2); } static void BowserFireHook(ModelData *model, ParticleData *particle, Mtx matrix) { - HsfanimStruct01* var_r30; - s32 i; - s32 var_r28; - Vec pos; - Hu3DModelObjPosGet(BoardModelIDGet(bowserMdl), "itemhook_M_1", &pos); - if (particle->unk_34 == 0) { - var_r30 = particle->unk_48; + HsfanimStruct01* var_r30; + s32 i; + s32 var_r28; + Vec pos; + Hu3DModelObjPosGet(BoardModelIDGet(bowserMdl), "itemhook_M_1", &pos); + if (particle->unk_34 == 0) { + var_r30 = particle->unk_48; for (i = 0; i < particle->unk_30; i++, var_r30++) { - var_r30->unk2C = 0.0f; - } - particle->unk_34 = 1; - particle->unk_00 = 0; - } - if((particle->unk_34 & 0x3) == 0) { - var_r30 = particle->unk_48; - for(var_r28=0; var_r28unk_30; var_r28++, var_r30++) { - if(var_r30->unk2C == 0.0f) { - break; - } - } - if(var_r28 != particle->unk_30) { - var_r30->unk34 = pos; - particle->unk_00++; - SpawnBowserFire(var_r30); - } - } - var_r30 = particle->unk_48; - for (i = 0; i < particle->unk_30; i++, var_r30++) { - if(var_r30->unk2C != 0.0f && CheckBowserFire(var_r30)) { - particle->unk_00--; - } - } + var_r30->unk2C = 0.0f; + } + particle->unk_34 = 1; + particle->unk_00 = 0; + } + if((particle->unk_34 & 0x3) == 0) { + var_r30 = particle->unk_48; + for(var_r28=0; var_r28unk_30; var_r28++, var_r30++) { + if(var_r30->unk2C == 0.0f) { + break; + } + } + if(var_r28 != particle->unk_30) { + var_r30->unk34 = pos; + particle->unk_00++; + SpawnBowserFire(var_r30); + } + } + var_r30 = particle->unk_48; + for (i = 0; i < particle->unk_30; i++, var_r30++) { + if(var_r30->unk2C != 0.0f && CheckBowserFire(var_r30)) { + particle->unk_00--; + } + } } static void SpawnBowserFire(HsfanimStruct01 *arg0) { - Vec dir; - BoardCameraDirGet(&dir); - arg0->unk08.x = 0.0f; - arg0->unk08.y = 0.0f; - arg0->unk08.z = 0.0f; - arg0->unk14.x = -dir.x*((0.5f*BoardRandFloat())+0.5f); - arg0->unk14.y = -dir.y*((0.5f*BoardRandFloat())+0.5f); - arg0->unk14.z = -dir.z*((0.5f*BoardRandFloat())+0.5f); - arg0->unk24 = 1.025f; - arg0->unk40.a = 254; - arg0->unk40.r = 255; - arg0->unk40.g = 255; - arg0->unk40.b = 255; - arg0->unk2C = 100.0f; + Vec dir; + BoardCameraDirGet(&dir); + arg0->unk08.x = 0.0f; + arg0->unk08.y = 0.0f; + arg0->unk08.z = 0.0f; + arg0->unk14.x = -dir.x*((0.5f*BoardRandFloat())+0.5f); + arg0->unk14.y = -dir.y*((0.5f*BoardRandFloat())+0.5f); + arg0->unk14.z = -dir.z*((0.5f*BoardRandFloat())+0.5f); + arg0->unk24 = 1.025f; + arg0->unk40.a = 254; + arg0->unk40.r = 255; + arg0->unk40.g = 255; + arg0->unk40.b = 255; + arg0->unk2C = 100.0f; } static s32 CheckBowserFire(HsfanimStruct01 *arg0) { - arg0->unk34.x += arg0->unk08.x; - arg0->unk34.y += arg0->unk08.y; - arg0->unk34.z += arg0->unk08.z; - arg0->unk08.x += arg0->unk14.x; - arg0->unk08.y += arg0->unk14.y; - arg0->unk08.z += arg0->unk14.z; - arg0->unk40.a -= 8; - arg0->unk2C *= arg0->unk24; - if(arg0->unk40.a == 0.0f) { - arg0->unk40.a = 0; - arg0->unk2C = 0.0f; - return 1; - } - return 0; + arg0->unk34.x += arg0->unk08.x; + arg0->unk34.y += arg0->unk08.y; + arg0->unk34.z += arg0->unk08.z; + arg0->unk08.x += arg0->unk14.x; + arg0->unk08.y += arg0->unk14.y; + arg0->unk08.z += arg0->unk14.z; + arg0->unk40.a -= 8; + arg0->unk2C *= arg0->unk24; + if(arg0->unk40.a == 0.0f) { + arg0->unk40.a = 0; + arg0->unk2C = 0.0f; + return 1; + } + return 0; } static void KillBowserFire(void) { - if(fireParMan != -1) { - Hu3DModelKill(fireParMan); - fireParMan = -1; - fireAnim = NULL; - } + if(fireParMan != -1) { + Hu3DModelKill(fireParMan); + fireParMan = -1; + fireAnim = NULL; + } } typedef struct mini_bowser_balloon_work { - u8 kill : 1; - u8 state; - u16 timer; - s16 angle; - float offset; - s16 *models; + u8 kill : 1; + u8 state; + u16 timer; + s16 angle; + float offset; + s16 *models; } MiniBowserBalloonWork; static void MiniBowserTake(void); @@ -1432,384 +1433,384 @@ static void WaitMiniBowserMotion(void); static s32 ExecMiniBowserEvent(void) { - s32 doneF = 0; - CreateMiniBowserBalloon(); - SetMiniBowserBalloonState(0); - while(GetMiniBowserBalloonState() != 2) { - HuPrcVSleep(); - } - BoardFilterFadeOut(30); - BoardAudSeqFadeOut(1, 1000); - HuPrcSleep(30); - BoardAudSeqFadeOutFast(1); - BoardMusStart(1, 11, 127, 0); - HuAudFXPlay(62); - BoardWinCreate(2, MAKE_MESSID(3, 0), 6); - BoardWinWait(); - if(BoardRandMod(100) < 70) { - MiniBowserTake(); - } else { - MiniBowserTakeAll(); - } - //5% chance bowser will appear after baby bowser - if(BoardRandMod(100) < 5) { - doneF = 1; - } - if(doneF) { - HuPrcSleep(60); - BoardWinCreate(2, MAKE_MESSID(3, 6), 6); - BoardWinWait(); - BoardWinKill(); - HuAudFXPlay(62); - SetMiniBowserMotion(6, 10, 1); - HuPrcSleep(60); - } else { - HuAudFXPlay(62); - BoardWinCreate(2, MAKE_MESSID(3, 2), 6); - BoardWinWait(); - BoardWinKill(); - BoardAudSeqFadeOut(1, 1000); - SetMiniBowserMotion(4, 10, 1); - HuPrcSleep(30); - } - SetMiniBowserBalloonState(1); - while(GetMiniBowserBalloonState() != 2) { - HuPrcVSleep(); - } - MiniBowserBalloonStop(); - return doneF; + s32 doneF = 0; + CreateMiniBowserBalloon(); + SetMiniBowserBalloonState(0); + while(GetMiniBowserBalloonState() != 2) { + HuPrcVSleep(); + } + BoardFilterFadeOut(30); + BoardAudSeqFadeOut(1, 1000); + HuPrcSleep(30); + BoardAudSeqFadeOutFast(1); + BoardMusStart(1, 11, 127, 0); + HuAudFXPlay(62); + BoardWinCreate(2, MAKE_MESSID(3, 0), 6); + BoardWinWait(); + if(BoardRandMod(100) < 70) { + MiniBowserTake(); + } else { + MiniBowserTakeAll(); + } + //5% chance bowser will appear after baby bowser + if(BoardRandMod(100) < 5) { + doneF = 1; + } + if(doneF) { + HuPrcSleep(60); + BoardWinCreate(2, MAKE_MESSID(3, 6), 6); + BoardWinWait(); + BoardWinKill(); + HuAudFXPlay(62); + SetMiniBowserMotion(6, 10, 1); + HuPrcSleep(60); + } else { + HuAudFXPlay(62); + BoardWinCreate(2, MAKE_MESSID(3, 2), 6); + BoardWinWait(); + BoardWinKill(); + BoardAudSeqFadeOut(1, 1000); + SetMiniBowserMotion(4, 10, 1); + HuPrcSleep(30); + } + SetMiniBowserBalloonState(1); + while(GetMiniBowserBalloonState() != 2) { + HuPrcVSleep(); + } + MiniBowserBalloonStop(); + return doneF; } static void MiniBowserTake(void) { - u8 coinSteal[][3] = { - 20, 20, 30, - 20, 20, 30, - 10, 15, 20, - 10, 15, 20 - }; - s32 coin_inc; - s32 game_part; - u8 steal; - s32 i; - u32 mess; - s32 delay; - s32 turn; - s32 turn_max; - turn = GWSystem.turn-1; - turn_max = GWSystem.max_turn; - game_part = turn/(turn_max/3); - if(game_part >= 3) { - game_part = 2; - } - steal = (u8)coinSteal[GWPlayer[eventPlayer].rank][game_part]; - sprintf(coinStealStrAll, "%d", steal); - SetMiniBowserMotion(2, 10, 0); - if(steal >= 20) { - delay = 3; - } else { - delay = 6; - } - if(BoardPlayerCoinsGet(eventPlayer) != 0) { - mess = MAKE_MESSID(3, 1); - coin_inc = -1; - } else { - mess = MAKE_MESSID(3, 3); - steal = 10; - coin_inc = 1; - } - HuAudFXPlay(62); - BoardWinCreate(2, mess, 6); - BoardWinInsertMesSet(MAKE_MESSID_PTR(coinStealStrAll), 0); - BoardWinWait(); - if(coin_inc > 0) { - SetMiniBowserMotion(5, 10, 0); - } else { - SetMiniBowserMotion(3, 10, 1); - } - if(coin_inc < 0) { - omVibrate(eventPlayer, 12, 6, 6); - } - if(coin_inc < 0) { - BoardPlayerMotionShiftSet(eventPlayer, 13, 0.0f, 4.0f, HU3D_MOTATTR_NONE); - } else { - BoardPlayerMotionShiftSet(eventPlayer, 12, 0.0f, 4.0f, HU3D_MOTATTR_NONE); - } - for(i=0; i= 3) { + game_part = 2; + } + steal = (u8)coinSteal[GWPlayer[eventPlayer].rank][game_part]; + sprintf(coinStealStrAll, "%d", steal); + SetMiniBowserMotion(2, 10, 0); + if(steal >= 20) { + delay = 3; + } else { + delay = 6; + } + if(BoardPlayerCoinsGet(eventPlayer) != 0) { + mess = 0x30001; + coin_inc = -1; + } else { + mess = 0x30003; + steal = 10; + coin_inc = 1; + } + HuAudFXPlay(62); + BoardWinCreate(2, mess, 6); + BoardWinInsertMesSet(MAKE_MESSID_PTR(coinStealStrAll), 0); + BoardWinWait(); + if(coin_inc > 0) { + SetMiniBowserMotion(5, 10, 0); + } else { + SetMiniBowserMotion(3, 10, 1); + } + if(coin_inc < 0) { + omVibrate(eventPlayer, 12, 6, 6); + } + if(coin_inc < 0) { + BoardPlayerMotionShiftSet(eventPlayer, 13, 0.0f, 4.0f, 0); + } else { + BoardPlayerMotionShiftSet(eventPlayer, 12, 0.0f, 4.0f, 0); + } + for(i=0; i= 3) { - game_part = 2; - } - steal = (u8)coinSteal[game_part]; - sprintf(coinStealStr, "%d", steal); - SetMiniBowserMotion(2, 10, 0); - for(coin_total=j=0; j<4; j++) { - coin_total += BoardPlayerCoinsGet(j); - } - if(coin_total != 0) { - mess = MAKE_MESSID(3, 4); - coin_inc = -1; - } else { - mess = MAKE_MESSID(3, 5); - steal = 10; - coin_inc = 1; - } - HuAudFXPlay(62); - BoardWinCreate(2, mess, 6); - BoardWinInsertMesSet(MAKE_MESSID_PTR(coinStealStr), 0); - BoardWinWait(); - if(coin_inc > 0) { - SetMiniBowserMotion(5, 10, 0); - } else { - SetMiniBowserMotion(3, 10, 1); - } - if(coin_inc < 0) { - for(i=0; i<4; i++) { - omVibrate(i, 12, 6, 6); - } - } - for(i=0; i<4; i++) { - if(coin_inc < 0) { - BoardPlayerMotionShiftSet(i, 13, 0.0f, 4.0f, HU3D_MOTATTR_NONE); - } else { - BoardPlayerMotionShiftSet(i, 12, 0.0f, 4.0f, HU3D_MOTATTR_NONE); - } - } - if(steal >= 20) { - delay = 3; - } else { - delay = 6; - } - for(i=0; i= 3) { + game_part = 2; + } + steal = (u8)coinSteal[game_part]; + sprintf(coinStealStr, "%d", steal); + SetMiniBowserMotion(2, 10, 0); + for(coin_total=j=0; j<4; j++) { + coin_total += BoardPlayerCoinsGet(j); + } + if(coin_total != 0) { + mess = 0x30004; + coin_inc = -1; + } else { + mess = 0x30005; + steal = 10; + coin_inc = 1; + } + HuAudFXPlay(62); + BoardWinCreate(2, mess, 6); + BoardWinInsertMesSet(MAKE_MESSID_PTR(coinStealStr), 0); + BoardWinWait(); + if(coin_inc > 0) { + SetMiniBowserMotion(5, 10, 0); + } else { + SetMiniBowserMotion(3, 10, 1); + } + if(coin_inc < 0) { + for(i=0; i<4; i++) { + omVibrate(i, 12, 6, 6); + } + } + for(i=0; i<4; i++) { + if(coin_inc < 0) { + BoardPlayerMotionShiftSet(i, 13, 0.0f, 4.0f, 0); + } else { + BoardPlayerMotionShiftSet(i, 12, 0.0f, 4.0f, 0); + } + } + if(steal >= 20) { + delay = 3; + } else { + delay = 6; + } + for(i=0; ikill = 1; - } + if(miniBowserBalloonObj) { + OM_GET_WORK_PTR(miniBowserBalloonObj, MiniBowserBalloonWork)->kill = 1; + } } static s32 GetMiniBowserBalloonState(void) { - return OM_GET_WORK_PTR(miniBowserBalloonObj, MiniBowserBalloonWork)->state; + return OM_GET_WORK_PTR(miniBowserBalloonObj, MiniBowserBalloonWork)->state; } static void SetMiniBowserBalloonState(s32 state) { - OM_GET_WORK_PTR(miniBowserBalloonObj, MiniBowserBalloonWork)->state = state; + OM_GET_WORK_PTR(miniBowserBalloonObj, MiniBowserBalloonWork)->state = state; } static void CreateMiniBowserBalloon(void) { - MiniBowserBalloonWork *work; - s16 *models; - Vec pos; - miniBowserBalloonObj = omAddObjEx(boardObjMan, 257, 0, 0, -1, ExecMiniBowserBalloon); - work = OM_GET_WORK_PTR(miniBowserBalloonObj, MiniBowserBalloonWork); - work->kill = 0; - work->state = 0; - work->timer = 0; - work->offset = 0; - work->angle = 0; - work->models = HuMemDirectMallocNum(HEAP_SYSTEM, 9*sizeof(s16), MEMORY_DEFAULT_NUM); - models = work->models; - models[0] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BKOOPA, 14), (s32 *)miniBowserMotTbl, 0); - models[1] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BKOOPA, 0), NULL, 0); - BoardPlayerPosGet(eventPlayer, &pos); - miniBowserBalloonObj->trans.x = pos.x; - miniBowserBalloonObj->trans.y = pos.y+800.0f; - miniBowserBalloonObj->trans.z = pos.z; - BoardModelHookSet(models[1], "minik01", models[0]); - BoardModelPosSet(models[1], miniBowserBalloonObj->trans.x, - miniBowserBalloonObj->trans.y, - miniBowserBalloonObj->trans.z); - SetMiniBowserMotion(1, 0, 1); + MiniBowserBalloonWork *work; + s16 *models; + Vec pos; + miniBowserBalloonObj = omAddObjEx(boardObjMan, 257, 0, 0, -1, ExecMiniBowserBalloon); + work = OM_GET_WORK_PTR(miniBowserBalloonObj, MiniBowserBalloonWork); + work->kill = 0; + work->state = 0; + work->timer = 0; + work->offset = 0; + work->angle = 0; + work->models = HuMemDirectMallocNum(HEAP_SYSTEM, 9*sizeof(s16), MEMORY_DEFAULT_NUM); + models = work->models; + models[0] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BKOOPA, 14), (s32 *)miniBowserMotTbl, 0); + models[1] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BKOOPA, 0), NULL, 0); + BoardPlayerPosGet(eventPlayer, &pos); + miniBowserBalloonObj->trans.x = pos.x; + miniBowserBalloonObj->trans.y = pos.y+800.0f; + miniBowserBalloonObj->trans.z = pos.z; + BoardModelHookSet(models[1], "minik01", models[0]); + BoardModelPosSet(models[1], miniBowserBalloonObj->trans.x, + miniBowserBalloonObj->trans.y, + miniBowserBalloonObj->trans.z); + SetMiniBowserMotion(1, 0, 1); } static void ExecMiniBowserBalloon(omObjData *object) { - MiniBowserBalloonWork *work; - s16 *models; - work = OM_GET_WORK_PTR(miniBowserBalloonObj, MiniBowserBalloonWork); - models = work->models; - if(work->kill || BoardIsKill()) { - BoardModelKill(models[0]); - BoardModelKill(models[1]); - HuMemDirectFree(work->models); - miniBowserBalloonObj = NULL; - omDelObjEx(HuPrcCurrentGet(), object); - return; - } - if(work->timer) { - work->timer--; - } else { - switch(work->state) { - case 0: - MiniBowserBalloonFall(work, object); - break; - - case 1: - MiniBowserBalloonRaise(work, object); - break; - - case 2: - MiniBowserBalloonHover(work, object); - break; - } - } - BoardModelPosSet(models[1], object->trans.x, object->trans.y+work->offset, object->trans.z); + MiniBowserBalloonWork *work; + s16 *models; + work = OM_GET_WORK_PTR(miniBowserBalloonObj, MiniBowserBalloonWork); + models = work->models; + if(work->kill || BoardIsKill()) { + BoardModelKill(models[0]); + BoardModelKill(models[1]); + HuMemDirectFree(work->models); + miniBowserBalloonObj = NULL; + omDelObjEx(HuPrcCurrentGet(), object); + return; + } + if(work->timer) { + work->timer--; + } else { + switch(work->state) { + case 0: + MiniBowserBalloonFall(work, object); + break; + + case 1: + MiniBowserBalloonRaise(work, object); + break; + + case 2: + MiniBowserBalloonHover(work, object); + break; + } + } + BoardModelPosSet(models[1], object->trans.x, object->trans.y+work->offset, object->trans.z); } static void MiniBowserBalloonHover(MiniBowserBalloonWork *work, omObjData *object) { - float angle; - work->angle++; - if(work->angle >= 360) { - work->angle = 0; - } - OSs16tof32(&work->angle, &angle); - work->offset = 10.0*sind(angle); + float angle; + work->angle++; + if(work->angle >= 360) { + work->angle = 0; + } + OSs16tof32(&work->angle, &angle); + work->offset = 10.0*sin(M_PI*angle/180.0); } static void MiniBowserBalloonFall(MiniBowserBalloonWork *work, omObjData *object) { - Vec pos; - BoardPlayerPosGet(eventPlayer, &pos); - pos.y += 250.0f; - if(object->trans.y < pos.y) { - object->trans.y = pos.y; - work->state = 2; - } else { - object->trans.y += -10.0f; - } + Vec pos; + BoardPlayerPosGet(eventPlayer, &pos); + pos.y += 250.0f; + if(object->trans.y < pos.y) { + object->trans.y = pos.y; + work->state = 2; + } else { + object->trans.y += -10.0f; + } } static void MiniBowserBalloonRaise(MiniBowserBalloonWork *work, omObjData *object) { - Vec pos; - BoardPlayerPosGet(eventPlayer, &pos); - pos.y += 800.0f; - if(object->trans.y > pos.y) { - work->state = 2; - } else { - object->trans.y += 10.0f; - } + Vec pos; + BoardPlayerPosGet(eventPlayer, &pos); + pos.y += 800.0f; + if(object->trans.y > pos.y) { + work->state = 2; + } else { + object->trans.y += 10.0f; + } } static void SetMiniBowserMotion(s32 mot, u8 end, s32 pause) { - s16 *models; - u32 attr; - float shift_end; - MiniBowserBalloonWork *work; - work = OM_GET_WORK_PTR(miniBowserBalloonObj, MiniBowserBalloonWork); - models = work->models; - if(pause) { - attr = HU3D_MOTATTR_LOOP; - } else { - attr = HU3D_MOTATTR_NONE; - } - if(end) { - OSu8tof32(&end, &shift_end); - BoardModelMotionShiftSet(models[0], mot, 0, shift_end, attr); - } else { - BoardModelMotionStart(models[0], mot, attr); - } + s16 *models; + u32 attr; + float shift_end; + MiniBowserBalloonWork *work; + work = OM_GET_WORK_PTR(miniBowserBalloonObj, MiniBowserBalloonWork); + models = work->models; + if(pause) { + attr = 0x40000001; + } else { + attr = 0; + } + if(end) { + OSu8tof32(&end, &shift_end); + BoardModelMotionShiftSet(models[0], mot, 0, shift_end, attr); + } else { + BoardModelMotionStart(models[0], mot, attr); + } } static void SetMiniBowserMotionPause(s32 flag) { - s16 *models; - MiniBowserBalloonWork *work; - work = OM_GET_WORK_PTR(miniBowserBalloonObj, MiniBowserBalloonWork); - models = work->models; - if(flag) { - BoardModelAttrSet(models[0], 0x40000001); - } else { - BoardModelAttrReset(models[0], 0x40000001); - } + s16 *models; + MiniBowserBalloonWork *work; + work = OM_GET_WORK_PTR(miniBowserBalloonObj, MiniBowserBalloonWork); + models = work->models; + if(flag) { + BoardModelAttrSet(models[0], 0x40000001); + } else { + BoardModelAttrReset(models[0], 0x40000001); + } } static void WaitMiniBowserMotion(void) { - s16 *models; - MiniBowserBalloonWork *work; - work = OM_GET_WORK_PTR(miniBowserBalloonObj, MiniBowserBalloonWork); - models = work->models; - BoardModelAttrReset(models[0], 0x40000001); - while(!BoardModelMotionEndCheck(models[0])) { - HuPrcVSleep(); - } -} + s16 *models; + MiniBowserBalloonWork *work; + work = OM_GET_WORK_PTR(miniBowserBalloonObj, MiniBowserBalloonWork); + models = work->models; + BoardModelAttrReset(models[0], 0x40000001); + while(!BoardModelMotionEndCheck(models[0])) { + HuPrcVSleep(); + } +} \ No newline at end of file diff --git a/src/game/board/char_wheel.c b/src/game/board/char_wheel.c index bb33564a..e155fa5f 100755 --- a/src/game/board/char_wheel.c +++ b/src/game/board/char_wheel.c @@ -53,16 +53,16 @@ static s16 wheelSprGrp = -1; static s32 wheelFXStat = -1; static s32 wheelSprTbl[] = { - DATA_MAKE_NUM(DATADIR_BOARD, 0x36), - DATA_MAKE_NUM(DATADIR_BOARD, 0x38), - DATA_MAKE_NUM(DATADIR_BOARD, 0x38), - DATA_MAKE_NUM(DATADIR_BOARD, 0x38), - DATA_MAKE_NUM(DATADIR_BOARD, 0x37), - DATA_MAKE_NUM(DATADIR_BOARD, 0x37), - DATA_MAKE_NUM(DATADIR_BOARD, 0x37), - DATA_MAKE_NUM(DATADIR_BOARD, 0x37), - DATA_MAKE_NUM(DATADIR_BOARD, 0x3A), - DATA_MAKE_NUM(DATADIR_BOARD, 0x39) + 0x00070036, + 0x00070038, + 0x00070038, + 0x00070038, + 0x00070037, + 0x00070037, + 0x00070037, + 0x00070037, + 0x0007003A, + 0x00070039 }; static s8 wheelSprPrio[] = { @@ -74,14 +74,14 @@ static s8 wheelSprPrio[] = { }; static s32 wheelCharIconTbl[] = { - DATA_MAKE_NUM(DATADIR_BOARD, 0x3B), - DATA_MAKE_NUM(DATADIR_BOARD, 0x3C), - DATA_MAKE_NUM(DATADIR_BOARD, 0x3D), - DATA_MAKE_NUM(DATADIR_BOARD, 0x3E), - DATA_MAKE_NUM(DATADIR_BOARD, 0x3F), - DATA_MAKE_NUM(DATADIR_BOARD, 0x40), - DATA_MAKE_NUM(DATADIR_BOARD, 0x41), - DATA_MAKE_NUM(DATADIR_BOARD, 0x42) + 0x0007003B, + 0x0007003C, + 0x0007003D, + 0x0007003E, + 0x0007003F, + 0x00070040, + 0x00070041, + 0x00070042 }; s32 BoardCharWheelInit(s32 arg0, s32 arg1) { @@ -132,12 +132,6 @@ static void ExecCharWheel(omObjData *arg0) { temp_r31 = OM_GET_WORK_PTR(arg0, CharWheelWork);; if (temp_r31->unk00_field0 != 0 || BoardIsKill()) { KillCharWheelSpr(); - #if VERSION_PAL - if (wheelFXStat != -1) { - HuAudFXStop(wheelFXStat); - wheelFXStat = -1; - } - #endif charWheelObj = NULL; omDelObjEx(HuPrcCurrentGet(), arg0); return; @@ -328,13 +322,7 @@ static void UpdateCharWheel(CharWheelWork *arg0) { } var_f23 = 8191.0f - 8191.0f * (var_f25 / wheelSpeed); OSf32tos16(&var_f23, &var_r17); - #if VERSION_PAL - if(wheelFXStat != -1) { - HuAudFXPitchSet(wheelFXStat, -var_r17); - } - #else HuAudFXPitchSet(wheelFXStat, -var_r17); - #endif if (var_f25 > -0.0000001f && var_f25 < 0.0000001f) { arg0->unk00_field3 = 3; if (wheelFXStat != -1) { @@ -368,14 +356,14 @@ static void StopCharWheel(CharWheelWork *arg0) { } var_r30 = arg0->unk03 % 6; if (var_r30 < 3) { - HuSprAttrSet(wheelSprGrp, wheelPos + 10, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(wheelSprGrp, wheelPos + 10, 4); } else { - HuSprAttrReset(wheelSprGrp, wheelPos + 10, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(wheelSprGrp, wheelPos + 10, 4); } if (arg0->unk03 < 90) { arg0->unk03++; } else { - HuSprAttrReset(wheelSprGrp, wheelPos + 10, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(wheelSprGrp, wheelPos + 10, 4); arg0->unk00_field3 = 4; } } @@ -391,14 +379,7 @@ static void GrowCharWheel(CharWheelWork *arg0) { } arg0->unk02 = 90; arg0->unk00_field3 = 2; - #if VERSION_PAL - if(!BoardIsKill()) { - wheelFXStat = HuAudFXPlay(0x30A); - } - #else wheelFXStat = HuAudFXPlay(0x30A); - #endif - } OSs8tof32(&arg0->unk02, &temp_f30); HuSprGrpScaleSet(wheelSprGrp, sind(temp_f30), sind(temp_f30)); diff --git a/src/game/board/com.c b/src/game/board/com.c index 60ef9620..cb419e8a 100755 --- a/src/game/board/com.c +++ b/src/game/board/com.c @@ -47,7 +47,7 @@ static s8 itemUse = -1; #define BOARD_ITEM_ITEM_BAG 13 #define BOARD_ITEMS_END BOARD_ITEM_ITEM_BAG -static s8 comItemPreferTbl[CHARNO_MAX ][SHOP_ITEMS_END] = { +static s8 comItemPreferTbl[GW_CHARACTER_MAX][SHOP_ITEMS_END] = { { //Mario BOARD_ITEM_MAGIC_LAMP, BOARD_ITEM_BOOS_CRYSTAL_BALL, @@ -736,9 +736,9 @@ s32 BoardComJunctionInputGet(s32 item, Vec *input, s32 num_dirs, float *dirs) { choose_path = 0; } if (choose_path != 0) { - if (board >= 0 && board <= 5) { + if (board >= BOARD_ID_MAIN1 && board <= BOARD_ID_MAIN6) { space_next = BoardComPathBestGet(space); - } else if (board == 7) { + } else if (board == BOARD_ID_EXTRA1) { space_next = BoardComPathBestGetFlag(space, 0x10000000, 10); } if (space_next == -1) { @@ -746,7 +746,7 @@ s32 BoardComJunctionInputGet(s32 item, Vec *input, s32 num_dirs, float *dirs) { } else { BoardSpacePosGet(0, space, &pos_junction); BoardSpacePosGet(0, space_next, &pos_next); - VECSubtract(&pos_next, &pos_junction, &dir); + PSVECSubtract(&pos_next, &pos_junction, &dir); angle = BoardDAngleCalc(90.0 - atan2d(dir.z, dir.x)); if (angle < 0.0f) { angle += 360.0f; diff --git a/src/game/board/fortune.c b/src/game/board/fortune.c index 86294638..a5267bb6 100644 --- a/src/game/board/fortune.c +++ b/src/game/board/fortune.c @@ -21,12 +21,12 @@ typedef struct platform_work { } PlatformWork; static u32 comPrizeMessTbl[] = { - MAKE_MESSID(0x1C, 0x09), - MAKE_MESSID(0x1C, 0x0A), - MAKE_MESSID(0x1C, 0x0B), - MAKE_MESSID(0x1C, 0x0D), - MAKE_MESSID(0x1C, 0x0C), - MAKE_MESSID(0x1C, 0x0E) + 0x1C0009, + 0x1C000A, + 0x1C000B, + 0x1C000D, + 0x1C000C, + 0x1C000E }; static s8 currPlayer; @@ -280,20 +280,20 @@ static void ExecComFortuneWin(void) mess_player2 = BoardPlayerGetCharMess(comPlayer2); mess_prize = comPrizeMessTbl[comPrize]; if(comPrize == 0 || comPrize == 5 || comPrize == 3) { - mess_main = MAKE_MESSID(0x1C, 0x12); + mess_main = 0x1C0012; } else { if(comPrize == 2) { if(comCoin == 0) { - mess_main = MAKE_MESSID(0x1C, 0x13); + mess_main = 0x1C0013; } else { - mess_main = MAKE_MESSID(0x1C, 0x11); + mess_main = 0x1C0011; } } else { if(comPrize == 1 || comPrize == 4) { if(comStar == 0) { - mess_main = MAKE_MESSID(0x1C, 0x14); + mess_main = 0x1C0014; } else { - mess_main = MAKE_MESSID(0x1C, 0x11); + mess_main = 0x1C0011; } } } @@ -405,4 +405,4 @@ static void ComFortuneSwapStar(s32 player1, s32 player2) temp = GWStarsGet(player1); GWStarsSet(player1, GWStarsGet(player2)); GWStarsSet(player2, temp); -} +} \ No newline at end of file diff --git a/src/game/board/item.c b/src/game/board/item.c index d2341c9c..ae5b0639 100755 --- a/src/game/board/item.c +++ b/src/game/board/item.c @@ -1,20 +1,7 @@ #include "game/board/item.h" #include "game/audio.h" -#include "game/board/audio.h" -#include "game/board/boo.h" -#include "game/board/char_wheel.h" -#include "game/board/com.h" -#include "game/board/main.h" -#include "game/board/model.h" -#include "game/board/player.h" -#include "game/board/space.h" -#include "game/board/star.h" -#include "game/board/ui.h" -#include "game/board/view.h" -#include "game/board/window.h" #include "game/chrman.h" #include "game/data.h" -#include "game/frand.h" #include "game/gamework.h" #include "game/gamework_data.h" #include "game/hsfanim.h" @@ -25,6 +12,19 @@ #include "game/sprite.h" #include "game/window.h" #include "game/wipe.h" +#include "game/board/audio.h" +#include "game/board/boo.h" +#include "game/board/char_wheel.h" +#include "game/board/com.h" +#include "game/board/main.h" +#include "game/board/model.h" +#include "game/board/player.h" +#include "game/board/space.h" +#include "game/board/star.h" +#include "game/board/ui.h" +#include "game/board/window.h" +#include "game/board/view.h" +#include "game/frand.h" #include "ext_math.h" @@ -112,46 +112,140 @@ static AnimData *genieParticleAnim; static s16 geniePlayerMot[3]; static Process *itemProc; -static s32 itemMotTbl[2] = { DATA_MAKE_NUM(DATADIR_BOARD, 117), -1 }; +s32 lbl_801D37A0[2] = { + DATA_MAKE_NUM(DATADIR_BOARD, 117), + -1 +}; -static void (*itemFuncTbl[])(void) = { ExecItemMini, ExecItemMega, ExecItemMiniSuper, ExecItemMegaSuper, ExecItemHammer, ExecItemPipe, ExecItemSwap, - ExecItemSpark, ExecItemLight, ExecItemWhistle, ExecItemBowser, ExecItemBooBall, ExecItemGenie, ExecItemBag }; +static void (*itemFuncTbl[])(void) = { + ExecItemMini, + ExecItemMega, + ExecItemMiniSuper, + ExecItemMegaSuper, + ExecItemHammer, + ExecItemPipe, + ExecItemSwap, + ExecItemSpark, + ExecItemLight, + ExecItemWhistle, + ExecItemBowser, + ExecItemBooBall, + ExecItemGenie, + ExecItemBag +}; -static void (*itemRestoreFuncTbl[])(void) - = { RestoreItemMini, RestoreItemMega, RestoreItemMiniSuper, RestoreItemMegaSuper, RestoreItemNull, RestoreItemNull, RestoreItemNull, - RestoreItemNull, RestoreItemNull, RestoreItemNull, RestoreItemBowser, RestoreItemNull, RestoreItemNull, RestoreItemNull }; +static void (*itemRestoreFuncTbl[])(void) = { + RestoreItemMini, + RestoreItemMega, + RestoreItemMiniSuper, + RestoreItemMegaSuper, + RestoreItemNull, + RestoreItemNull, + RestoreItemNull, + RestoreItemNull, + RestoreItemNull, + RestoreItemNull, + RestoreItemBowser, + RestoreItemNull, + RestoreItemNull, + RestoreItemNull +}; -static s32 itemMdlTbl[] = { DATA_MAKE_NUM(DATADIR_BOARD, 109), DATA_MAKE_NUM(DATADIR_BOARD, 110), DATA_MAKE_NUM(DATADIR_BOARD, 111), - DATA_MAKE_NUM(DATADIR_BOARD, 112), DATA_MAKE_NUM(DATADIR_BOARD, 113), DATA_MAKE_NUM(DATADIR_BOARD, 114), DATA_MAKE_NUM(DATADIR_BOARD, 115), - DATA_MAKE_NUM(DATADIR_BOARD, 116), DATA_MAKE_NUM(DATADIR_BOARD, 118), DATA_MAKE_NUM(DATADIR_BOARD, 119), DATA_MAKE_NUM(DATADIR_BOARD, 120), - DATA_MAKE_NUM(DATADIR_BOARD, 121), DATA_MAKE_NUM(DATADIR_BOARD, 122), DATA_MAKE_NUM(DATADIR_BOARD, 123) }; +static s32 itemMdlTbl[] = { + DATA_MAKE_NUM(DATADIR_BOARD, 109), + DATA_MAKE_NUM(DATADIR_BOARD, 110), + DATA_MAKE_NUM(DATADIR_BOARD, 111), + DATA_MAKE_NUM(DATADIR_BOARD, 112), + DATA_MAKE_NUM(DATADIR_BOARD, 113), + DATA_MAKE_NUM(DATADIR_BOARD, 114), + DATA_MAKE_NUM(DATADIR_BOARD, 115), + DATA_MAKE_NUM(DATADIR_BOARD, 116), + DATA_MAKE_NUM(DATADIR_BOARD, 118), + DATA_MAKE_NUM(DATADIR_BOARD, 119), + DATA_MAKE_NUM(DATADIR_BOARD, 120), + DATA_MAKE_NUM(DATADIR_BOARD, 121), + DATA_MAKE_NUM(DATADIR_BOARD, 122), + DATA_MAKE_NUM(DATADIR_BOARD, 123) +}; -static s32 forceMoveSfxTbl[] = { 0x38, 0x45, 0x42, 0x4D, 0x48, 0x3F }; +static s32 forceMoveSfxTbl[] = { + 0x38, + 0x45, + 0x42, + 0x4D, + 0x48, + 0x3F +}; -static s32 callMotTbl[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 82), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 82), DATA_MAKE_NUM(DATADIR_PEACHMOT, 82), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 82), DATA_MAKE_NUM(DATADIR_WARIOMOT, 82), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 82), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 82), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 82) }; +static s32 callMotTbl[] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 82), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 82), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 82), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 82), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 82), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 82), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 82), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 82) +}; -static char *callHookTbl[] = { "c000m01-itemhook-r", "c001m01-itemhook-r", "c002m01-itemhook-r", "c003m01-itemhook-r", "c004m01-itemhook-r", - "c005m01-itemhook-r", "c006m01-itemhook-r", "c007m01-itemhook-r" }; +static char *callHookTbl[] = { + "c000m01-itemhook-r", + "c001m01-itemhook-r", + "c002m01-itemhook-r", + "c003m01-itemhook-r", + "c004m01-itemhook-r", + "c005m01-itemhook-r", + "c006m01-itemhook-r", + "c007m01-itemhook-r" +}; -static s32 callAttackMotTbl[] = { DATA_MAKE_NUM(DATADIR_W01, 31), DATA_MAKE_NUM(DATADIR_W02, 5), DATA_MAKE_NUM(DATADIR_W03, 29), - DATA_MAKE_NUM(DATADIR_W04, 9), DATA_MAKE_NUM(DATADIR_W05, 7), DATA_MAKE_NUM(DATADIR_W06, 19) }; +//mod: add data for custom board +static s32 callAttackMotTbl[] = { + DATA_MAKE_NUM(DATADIR_W01, 31), + DATA_MAKE_NUM(DATADIR_W02, 5), + DATA_MAKE_NUM(DATADIR_W03, 29), + DATA_MAKE_NUM(DATADIR_W04, 9), + DATA_MAKE_NUM(DATADIR_W05, 7), + DATA_MAKE_NUM(DATADIR_W06, 19), -static s32 callAttackMotTbl2[] = { DATA_MAKE_NUM(DATADIR_W01, 32), DATA_MAKE_NUM(DATADIR_W02, 6), DATA_MAKE_NUM(DATADIR_W03, 30), - DATA_MAKE_NUM(DATADIR_W04, 10), DATA_MAKE_NUM(DATADIR_W05, 8), DATA_MAKE_NUM(DATADIR_W06, 20) }; + //dummy data for tutorial and extra board + DATA_MAKE_NUM(DATADIR_W06, 19), + DATA_MAKE_NUM(DATADIR_W06, 19), + DATA_MAKE_NUM(DATADIR_W06, 19), -static s32 suitMotTbl[][2] = { { DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 1), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 2) }, + //Mod TODO: update this to w07 + DATA_MAKE_NUM(DATADIR_W06, 19) +}; + +//mod: add data for custom board +static s32 callAttackMotTbl2[] = { + DATA_MAKE_NUM(DATADIR_W01, 32), + DATA_MAKE_NUM(DATADIR_W02, 6), + DATA_MAKE_NUM(DATADIR_W03, 30), + DATA_MAKE_NUM(DATADIR_W04, 10), + DATA_MAKE_NUM(DATADIR_W05, 8), + DATA_MAKE_NUM(DATADIR_W06, 20), + + DATA_MAKE_NUM(DATADIR_W06, 20), + DATA_MAKE_NUM(DATADIR_W06, 20), + DATA_MAKE_NUM(DATADIR_W06, 20), + + //Mod TODO: update this to w07 + DATA_MAKE_NUM(DATADIR_W06, 20), +}; + +static s32 suitMotTbl[][2] = { + { DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 1), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 2) }, { DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 4), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 5) }, { DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 7), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 8) }, { DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 10), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 11) }, { DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 13), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 14) }, { DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 16), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 17) }, { DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 19), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 20) }, - { DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 22), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 23) } }; + { DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 22), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 23) } +}; -void BoardItemStart(s32 arg0, s32 arg1) -{ +void BoardItemStart(s32 arg0, s32 arg1) { currItemRestore = arg0; currItem = arg1; suitMdl = -1; @@ -159,26 +253,22 @@ void BoardItemStart(s32 arg0, s32 arg1) HuPrcDestructorSet2(itemProc, ItemDestroy); } -BOOL BoardItemDoneCheck(void) -{ +BOOL BoardItemDoneCheck(void) { if (itemProc) { return FALSE; - } - else { + } else { return TRUE; } } -void BoardItemPlayerRestore(s32 arg0, s32 arg1) -{ +void BoardItemPlayerRestore(s32 arg0, s32 arg1) { currItemRestore = arg0; currItem = arg1; itemProc = HuPrcChildCreate(RestoreProcess, 0x2004, 0x1000, 0, boardMainProc); HuPrcDestructorSet2(itemProc, RestoreDestroy); } -static void ItemProcess(void) -{ +static void ItemProcess(void) { void (*temp_r31)(void) = itemFuncTbl[currItem]; HuPrcChildCreate(temp_r31, 0x2003, 0x1000, 0, HuPrcCurrentGet()); @@ -186,8 +276,7 @@ static void ItemProcess(void) HuPrcEnd(); } -static void RestoreProcess(void) -{ +static void RestoreProcess(void) { void (*temp_r31)(void) = itemRestoreFuncTbl[currItem]; HuPrcChildCreate(temp_r31, 0x2003, 0x1000, 0, HuPrcCurrentGet()); @@ -195,18 +284,15 @@ static void RestoreProcess(void) HuPrcEnd(); } -static void ItemDestroy(void) -{ +static void ItemDestroy(void) { itemProc = NULL; } -static void RestoreDestroy(void) -{ +static void RestoreDestroy(void) { itemProc = NULL; } -static void ItemSizeShowAnim(void) -{ +static void ItemSizeShowAnim(void) { Vec sp24; Vec sp18; Vec spC; @@ -243,8 +329,7 @@ static void ItemSizeShowAnim(void) BoardModelKill(suitMdl); } -static void ItemRotProc(void) -{ +static void ItemRotProc(void) { Vec sp20; Vec sp14; Vec sp8; @@ -263,7 +348,7 @@ static void ItemRotProc(void) if (temp_r31->unk0C >= 360.0f) { temp_r31->unk0C -= 360.0f; } - VECAdd(&sp8, &temp_r31->unk10, &sp8); + PSVECAdd(&sp8, &temp_r31->unk10, &sp8); if (sp8.x < 0.0f) { sp8.x += 360.0f; } @@ -291,8 +376,7 @@ static void ItemRotProc(void) // TODO: needs the inline keyword to be inlined into ExecItemHammer, but adding it messes up sdata2. // sdata2 order should be: 1000.0f, 0.15f, then 20.0f. // With the inline keyword, it becomes 0.15f, 20.0f, then 1000.0f (workaround in BoardUiInlineFunc02 below). -static inline void BoardUiInlineFunc01(Vec *arg0) -{ +static inline void BoardUiInlineFunc01(Vec *arg0) { Vec sp30; Vec sp3C; Vec sp48; @@ -322,13 +406,13 @@ static inline void BoardUiInlineFunc01(Vec *arg0) } sp3C.y -= var_f31; BoardModelPosSetV(suitMdl, &sp3C); - VECAdd(&sp48, arg0, &sp48); + PSVECAdd(&sp48, arg0, &sp48); for (i = 0; i < 3; i++) { - if (((float *)&sp48)[i] < 0.0f) { - ((float *)&sp48)[i] += 360.0f; + if (((float*) &sp48)[i] < 0.0f) { + ((float*) &sp48)[i] += 360.0f; } - if (((float *)&sp48)[i] >= 360.0f) { - ((float *)&sp48)[i] -= 360.0f; + if (((float*) &sp48)[i] >= 360.0f) { + ((float*) &sp48)[i] -= 360.0f; } } BoardModelRotSetV(suitMdl, &sp48); @@ -338,14 +422,13 @@ static inline void BoardUiInlineFunc01(Vec *arg0) BoardModelPosSetV(suitMdl, &sp3C); } -static void BoardUiInlineFunc02(void) -{ +static void BoardUiInlineFunc02(void) { Vec sp18; Vec sp24; float sp8; float var_f30; - (void)1000.0f; // TODO: fix this. + (void) 1000.0f; // TODO: fix this. sp8 = 1.0f; BoardModelPosGet(suitMdl, &sp24); BoardPlayerPosGet(currItemRestore, &sp18); @@ -368,8 +451,7 @@ static void BoardUiInlineFunc02(void) BoardModelPosSetV(suitMdl, &sp24); } -static inline void BoardUiInlineFunc03(s32 arg0) -{ +static inline void BoardUiInlineFunc03(s32 arg0) { Vec sp8; Vec sp14; s32 space = GWPlayer[arg0].space_curr; @@ -387,15 +469,13 @@ static inline void BoardUiInlineFunc03(s32 arg0) BoardPlayerIdleSet(arg0); } -static inline void BoardUiInlineFunc04(Process *arg0, s32 arg1) -{ +static inline void BoardUiInlineFunc04(Process *arg0, s32 arg1) { UnkItemShowProcStruct *temp_r19 = arg0->user_data; temp_r19->unk00 = arg1; } -static inline Process *BoardUiInlineFunc05(UnkItemShowProcStruct *arg0) -{ +static inline Process *BoardUiInlineFunc05(UnkItemShowProcStruct *arg0) { Process *temp_r27; temp_r27 = HuPrcCreate(ItemRotProc, 0x2004, 0x1000, 0); @@ -404,8 +484,7 @@ static inline Process *BoardUiInlineFunc05(UnkItemShowProcStruct *arg0) return temp_r27; } -static Process *ItemShowProc(UnkItemShowProcStruct *arg0, Vec *arg1) -{ +static Process *ItemShowProc(UnkItemShowProcStruct *arg0, Vec *arg1) { Vec sp20; Vec sp14; Vec sp8; @@ -420,8 +499,7 @@ static Process *ItemShowProc(UnkItemShowProcStruct *arg0, Vec *arg1) } if (arg1 == NULL) { sp8.x = sp8.y = sp8.z = 1.0f; - } - else { + } else { sp8 = *arg1; } if (suitMdl >= 0) { @@ -450,8 +528,7 @@ static Process *ItemShowProc(UnkItemShowProcStruct *arg0, Vec *arg1) return var_r29; } -static s16 ItemGetTarget(void) -{ +static s16 ItemGetTarget(void) { s32 sp20[4]; s32 sp10[4]; float sp8[2]; @@ -487,8 +564,7 @@ static s16 ItemGetTarget(void) HuWinMesSet(temp_r29, MAKE_MESSID(18, 14)); if (GWPlayer[currItemRestore].com) { var_r26 = 0xF; - } - else { + } else { var_r26 = 0; for (var_r31 = 0; var_r31 < 4; var_r31++) { if (var_r31 != currItemRestore) { @@ -521,8 +597,7 @@ static s16 ItemGetTarget(void) return temp_r22; } -static void ItemSizeSet(s32 arg0) -{ +static void ItemSizeSet(s32 arg0) { float sp24[9]; float sp14[4]; float sp8[3] = { 1.0f, 0.3f, 2.5f }; @@ -550,7 +625,7 @@ static void ItemSizeSet(s32 arg0) sp24[8] = sp14[3]; temp_r26 = BoardPlayerModelGet(currItemRestore); temp_r28 = BoardModelIDGet(temp_r26); - Hu3DModelAttrSet(temp_r28, HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(temp_r28, 0x40000002); var_r27 = 0; for (i = 0; i < 9; i++) { temp_f30 = (sp24[var_r27++] - var_f31) / 10.0f; @@ -560,12 +635,11 @@ static void ItemSizeSet(s32 arg0) HuPrcVSleep(); } } - Hu3DModelAttrReset(temp_r28, HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(temp_r28, 0x40000002); BoardPlayerSizeSet(currItemRestore, arg0); } -static void ExecItemMini(void) -{ +static void ExecItemMini(void) { suitMdl = BoardModelCreate(itemMdlTbl[currItem], NULL, 0); BoardModelLayerSet(suitMdl, 2); HuAudFXPlay(0x350); @@ -582,8 +656,7 @@ static void ExecItemMini(void) } } -static void ExecItemMega(void) -{ +static void ExecItemMega(void) { suitMdl = BoardModelCreate(itemMdlTbl[currItem], NULL, 0); BoardModelLayerSet(suitMdl, 2); HuAudFXPlay(0x350); @@ -600,8 +673,7 @@ static void ExecItemMega(void) } } -static void ExecItemMiniSuper(void) -{ +static void ExecItemMiniSuper(void) { suitMdl = BoardModelCreate(itemMdlTbl[currItem], NULL, 0); BoardModelLayerSet(suitMdl, 2); HuAudFXPlay(0x350); @@ -618,8 +690,7 @@ static void ExecItemMiniSuper(void) } } -static void ExecItemMegaSuper(void) -{ +static void ExecItemMegaSuper(void) { suitMdl = BoardModelCreate(itemMdlTbl[currItem], NULL, 0); BoardModelLayerSet(suitMdl, 2); HuAudFXPlay(0x350); @@ -636,8 +707,7 @@ static void ExecItemMegaSuper(void) } } -static void ExecItemHammer(void) -{ +static void ExecItemHammer(void) { Vec sp6C; Vec sp60; float sp10[2]; @@ -655,8 +725,7 @@ static void ExecItemHammer(void) var_r30 = frandBool(); if (var_r30 != 0) { BoardModelMotionTimeSet(suitMdl, 1.5f); - } - else { + } else { BoardModelMotionTimeSet(suitMdl, 0.0f); } BoardModelAttrSet(suitMdl, 0x40000002); @@ -678,8 +747,7 @@ static void ExecItemHammer(void) var_r30 ^= 1; if (var_r30 != 0) { BoardModelMotionTimeSet(suitMdl, 1.5f); - } - else { + } else { BoardModelMotionTimeSet(suitMdl, 0.0f); } } @@ -688,8 +756,7 @@ static void ExecItemHammer(void) if (var_r26 == 0) { break; } - } - else { + } else { if (HuPadBtnDown[GWPlayerCfg[currItemRestore].pad_idx] & 0x100) { break; } @@ -702,8 +769,7 @@ static void ExecItemHammer(void) omVibrate(temp_r27, 12, 6, 6); if (var_r30 != 0) { BoardPlayerAutoSizeSet(temp_r27, 2); - } - else { + } else { BoardPlayerAutoSizeSet(temp_r27, 1); } HuPrcSleep(30); @@ -715,8 +781,7 @@ static void ExecItemHammer(void) } } -static void ExecItemPipe(void) -{ +static void ExecItemPipe(void) { Vec spE4[2]; Vec spCC[2]; Vec spB4[2]; @@ -773,8 +838,7 @@ static void ExecItemPipe(void) HuWinMesWait(temp_r28); HuPrcSleep(180); HuWinKill(temp_r28); - } - else { + } else { BoardUiInlineFunc03(sp2C[1]); HuAudFXPlay(0x318); for (var_r31 = 0; var_r31 < 2; var_r31++) { @@ -854,8 +918,8 @@ static void ExecItemPipe(void) temp_f28 = 19.0f; var_f29 = 0.0f; for (var_r31 = 0; var_r31 < 2; var_r31++) { - VECSubtract(&spE4[var_r31], &spCC[var_r31], &spB4[var_r31]); - VECScale(&spB4[var_r31], &spB4[var_r31], 0.03f); + PSVECSubtract(&spE4[var_r31], &spCC[var_r31], &spB4[var_r31]); + PSVECScale(&spB4[var_r31], &spB4[var_r31], 0.03f); BoardModelVisibilitySet(BoardPlayerModelGet(sp2C[var_r31]), 1); } HuAudPlayerVoicePlay(currItemRestore, 0x122); @@ -868,8 +932,7 @@ static void ExecItemPipe(void) if (GWPlayer[sp2C[var_r31]].character == 5) { if (var_r27 != 0) { var_r27--; - } - else { + } else { var_f31 += 0.05f; if (var_f31 > 1.0f) { var_f31 = 1.0f; @@ -882,15 +945,13 @@ static void ExecItemPipe(void) if (fabs(spCC[var_r31].x - spE4[var_r31].x) <= fabs(spB4[var_r31].x)) { spCC[var_r31].x = spE4[var_r31].x; var_r30++; - } - else { + } else { spCC[var_r31].x += spB4[var_r31].x; } if (fabs(spCC[var_r31].z - spE4[var_r31].z) <= fabs(spB4[var_r31].z)) { spCC[var_r31].z = spE4[var_r31].z; var_r30++; - } - else { + } else { spCC[var_r31].z += spB4[var_r31].z; } if (spCC[var_r31].y < spE4[var_r31].y) { @@ -905,7 +966,7 @@ static void ExecItemPipe(void) } HuPrcVSleep(); } - BoardPlayerMotionShiftSet(sp2C[1], 6, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(sp2C[1], 6, 0.0f, 8.0f, 0x40000001); BoardModelVoiceEnableSet(BoardPlayerModelGet(sp2C[1]), 6, 0); CharModelLayerSetAll(2); BoardPlayerIdleSet(sp2C[0]); @@ -940,8 +1001,7 @@ static void ExecItemPipe(void) } } -static void ExecItemSwap(void) -{ +static void ExecItemSwap(void) { Vec sp1A4[3]; Vec sp180[3]; Vec sp15C[3]; @@ -988,22 +1048,22 @@ static void ExecItemSwap(void) BoardModelPosGet(suitMdl, &spB4); BoardPlayerRotGet(currItemRestore, &sp90); for (var_r27 = 0; var_r27 < 3; var_r27++) { - if (((float *)&sp90)[var_r27] < 0.0f) { - ((float *)&sp90)[var_r27] += 360.0f; + if (((float*) &sp90)[var_r27] < 0.0f) { + ((float*) &sp90)[var_r27] += 360.0f; } - if (((float *)&sp90)[var_r27] >= 360.0f) { - ((float *)&sp90)[var_r27] -= 360.0f; + if (((float*) &sp90)[var_r27] >= 360.0f) { + ((float*) &sp90)[var_r27] -= 360.0f; } } BoardModelRotGet(suitMdl, &spA8); while (1) { - VECAdd(&spA8, &sp9C, &spA8); + PSVECAdd(&spA8, &sp9C, &spA8); for (var_r26 = 0; var_r26 < 3; var_r26++) { - if (((float *)&spA8)[var_r26] < 0.0f) { - ((float *)&spA8)[var_r26] += 360.0f; + if (((float*) &spA8)[var_r26] < 0.0f) { + ((float*) &spA8)[var_r26] += 360.0f; } - if (((float *)&spA8)[var_r26] >= 360.0f) { - ((float *)&spA8)[var_r26] -= 360.0f; + if (((float*) &spA8)[var_r26] >= 360.0f) { + ((float*) &spA8)[var_r26] -= 360.0f; } } sp9C.y *= 0.94f; @@ -1029,8 +1089,7 @@ static void ExecItemSwap(void) } if (var_r23 >= var_r22) { var_r28 = var_r23 * 2; - } - else { + } else { var_r28 = var_r22 * 2; } BoardModelRotGet(suitMdl, &sp3C); @@ -1055,8 +1114,8 @@ static void ExecItemSwap(void) BoardItemGetDestPos(currItemRestore, &sp15C[0]); BoardItemGetDestPos(temp_r24, &sp138[0]); BoardModelPosGet(suitMdl, &sp90); - VECSubtract(&sp90, &Hu3DCamera->pos, &sp90); - temp_f29 = VECMag(&sp90); + PSVECSubtract(&sp90, &Hu3DCamera->pos, &sp90); + temp_f29 = PSVECMag(&sp90); for (var_r31 = 0; var_r31 < 3; var_r31++) { sp15C[var_r31].z = temp_f29; sp138[var_r31].z = temp_f29; @@ -1068,15 +1127,15 @@ static void ExecItemSwap(void) sp1A4[var_r31] = sp180[var_r31] = spB4; Hu3D2Dto3D(&sp15C[var_r31], 1, &sp84); Hu3D2Dto3D(&sp138[var_r31], 1, &sp78); - VECSubtract(&sp84, &sp1A4[var_r31], &sp6C); - VECScale(&sp6C, &sp6C, 0.033333335f); - VECSubtract(&sp78, &sp180[var_r31], &sp60); - VECScale(&sp60, &sp60, 0.033333335f); + PSVECSubtract(&sp84, &sp1A4[var_r31], &sp6C); + PSVECScale(&sp6C, &sp6C, 0.033333335f); + PSVECSubtract(&sp78, &sp180[var_r31], &sp60); + PSVECScale(&sp60, &sp60, 0.033333335f); for (var_r30 = 0; var_r30 < 30; var_r30++) { BoardModelPosSetV(sp54[var_r31], &sp1A4[var_r31]); BoardModelPosSetV(sp54[var_r31 + 3], &sp180[var_r31]); - VECAdd(&sp1A4[var_r31], &sp6C, &sp1A4[var_r31]); - VECAdd(&sp180[var_r31], &sp60, &sp180[var_r31]); + PSVECAdd(&sp1A4[var_r31], &sp6C, &sp1A4[var_r31]); + PSVECAdd(&sp180[var_r31], &sp60, &sp180[var_r31]); HuPrcVSleep(); } sp1A4[var_r31] = sp84; @@ -1117,15 +1176,15 @@ static void ExecItemSwap(void) } for (var_r31 = (var_r28 / 2) - 1; var_r31 >= 0; var_r31--) { HuAudFXPlay(0x32C); - VECSubtract(&spB4, &sp1A4[var_r31], &sp6C); - VECScale(&sp6C, &sp6C, 0.033333335f); - VECSubtract(&spB4, &sp180[var_r31], &sp60); - VECScale(&sp60, &sp60, 0.033333335f); + PSVECSubtract(&spB4, &sp1A4[var_r31], &sp6C); + PSVECScale(&sp6C, &sp6C, 0.033333335f); + PSVECSubtract(&spB4, &sp180[var_r31], &sp60); + PSVECScale(&sp60, &sp60, 0.033333335f); for (var_r30 = 0; var_r30 < 30; var_r30++) { BoardModelPosSetV(sp54[var_r31], &sp1A4[var_r31]); BoardModelPosSetV(sp54[var_r31 + 3], &sp180[var_r31]); - VECAdd(&sp1A4[var_r31], &sp6C, &sp1A4[var_r31]); - VECAdd(&sp180[var_r31], &sp60, &sp180[var_r31]); + PSVECAdd(&sp1A4[var_r31], &sp6C, &sp1A4[var_r31]); + PSVECAdd(&sp180[var_r31], &sp60, &sp180[var_r31]); HuPrcVSleep(); } BoardModelVisibilitySet(sp54[var_r31], 0); @@ -1137,7 +1196,7 @@ static void ExecItemSwap(void) while (1) { BoardModelRotSetV(suitMdl, &spA8); BoardModelAlphaSet(suitMdl, var_f30); - VECAdd(&spA8, &sp9C, &spA8); + PSVECAdd(&spA8, &sp9C, &spA8); sp9C.y *= 1.02f; if (sp9C.y >= 35.0f) { if (var_r21 == 0) { @@ -1163,8 +1222,7 @@ static void ExecItemSwap(void) } } -static void ExecItemSpark(void) -{ +static void ExecItemSpark(void) { Vec sp68; Vec sp5C; Vec sp50; @@ -1183,7 +1241,7 @@ static void ExecItemSpark(void) BoardModelLayerSet(temp_r30, 3); BoardModelVisibilitySet(temp_r30, 0); HuAudFXPlay(0x350); - suitMdl = BoardModelCreate(itemMdlTbl[currItem], itemMotTbl, 0); + suitMdl = BoardModelCreate(itemMdlTbl[currItem], lbl_801D37A0, 0); BoardModelLayerSet(suitMdl, 2); ItemShowProc(NULL, NULL); temp_r28 = GWPlayer[currItemRestore].space_curr; @@ -1263,8 +1321,7 @@ static void ExecItemSpark(void) } } -static void ExecItemLight(void) -{ +static void ExecItemLight(void) { s16 temp_r31; HuAudFXPlay(0x350); @@ -1286,8 +1343,7 @@ static void ExecItemLight(void) } } -static void ExecItemWhistle(void) -{ +static void ExecItemWhistle(void) { Vec spF0[4]; Vec spC0[4]; Vec spB4; @@ -1363,8 +1419,8 @@ static void ExecItemWhistle(void) BoardPlayerPosGet(currItemRestore, &sp84); sp84.y += 200.0f; sp84.z += 100.0f; - VECSubtract(&sp84, &sp90, &sp78); - VECScale(&sp78, &sp78, 0.03448276f); + PSVECSubtract(&sp84, &sp90, &sp78); + PSVECScale(&sp78, &sp78, 0.03448276f); BoardPlayerMotionStart(currItemRestore, temp_r23, 0); BoardPlayerMotionTimeSet(currItemRestore, 1.0f); for (var_r31 = 0; var_r31 < 29; var_r31++) { @@ -1380,7 +1436,8 @@ static void ExecItemWhistle(void) BoardModelPosSetV(suitMdl, &sp84); BoardModelHookSet(sp8, temp_r22, suitMdl); while (BoardPlayerMotionTimeGet(currItemRestore) < BoardPlayerMotionMaxTimeGet(currItemRestore)) { - if (BoardPlayerMotionTimeGet(currItemRestore) == 95.0f || BoardPlayerMotionTimeGet(currItemRestore) == 185.0f + if (BoardPlayerMotionTimeGet(currItemRestore) == 95.0f + || BoardPlayerMotionTimeGet(currItemRestore) == 185.0f || BoardPlayerMotionTimeGet(currItemRestore) == 275.0f) { HuAudFXPlay(0x31F); } @@ -1445,7 +1502,7 @@ static void ExecItemWhistle(void) } HuPrcVSleep(); } - BoardModelMotionShiftSet(temp_r28, temp_r20, 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(temp_r28, temp_r20, 0.0f, 5.0f, 0x40000001); HuAudFXPlay(0x322); for (var_r29 = 0; var_r29 < 180; var_r29++) { for (var_r31 = 0; var_r31 < 4; var_r31++) { @@ -1498,7 +1555,7 @@ static void ExecItemWhistle(void) if (sp28[0] < 100.0f) { if (var_r27 == 0) { var_r27 = 1; - BoardModelMotionShiftSet(temp_r28, temp_r21, 0.0f, 3.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(temp_r28, temp_r21, 0.0f, 3.0f, 0x40000001); HuAudFXPlay(forceMoveSfxTbl[GWBoardGet()]); } sp9C.y += var_f30; @@ -1528,8 +1585,7 @@ static void ExecItemWhistle(void) } } -static void ExecItemBowser(void) -{ +static void ExecItemBowser(void) { Vec sp2C; Vec sp20; Vec sp14; @@ -1585,28 +1641,31 @@ static void ExecItemBowser(void) HuAudFXPlay(0x326); BoardModelVisibilitySet(temp_r31, 1); BoardModelHookSet(suitMdl, "itemhook_head", temp_r31); - BoardModelMotionShiftSet(suitMdl, suitMot[1], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - BoardModelMotionShiftSet(temp_r31, suitCommonMot[1], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(suitMdl, suitMot[1], 0.0f, 5.0f, 0); + BoardModelMotionShiftSet(temp_r31, suitCommonMot[1], 0.0f, 5.0f, 0); while (!BoardModelMotionEndCheck(suitMdl)) { HuPrcVSleep(); } - BoardModelMotionShiftSet(suitMdl, suitMot[0], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - BoardModelMotionShiftSet(temp_r31, suitCommonMot[0], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(suitMdl, suitMot[0], 0.0f, 5.0f, 0); + BoardModelMotionShiftSet(temp_r31, suitCommonMot[0], 0.0f, 5.0f, 0); HuPrcSleep(0x28); HuAudPlayerVoicePlay(currItemRestore, 0x129); omVibrate(currItemRestore, 12, 4, 2); HuPrcSleep(60); - BoardModelMotionShiftSet(suitMdl, 0, 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(suitMdl, 0, 0.0f, 5.0f, 0x40000001); HuPrcKill(NULL); while (1) { HuPrcVSleep(); } } -static s32 booMotTbl[3] = { DATA_MAKE_NUM(DATADIR_BGUEST, 24), DATA_MAKE_NUM(DATADIR_BGUEST, 22), -1 }; +static s32 booMotTbl[3] = { + DATA_MAKE_NUM(DATADIR_BGUEST, 24), + DATA_MAKE_NUM(DATADIR_BGUEST, 22), + -1 +}; -static inline void ExecItemBooBallInlineFunc01(s32 speed) -{ +static inline void ExecItemBooBallInlineFunc01(s32 speed) { Vec sp20; s32 var_r20; @@ -1618,14 +1677,14 @@ static inline void ExecItemBooBallInlineFunc01(s32 speed) BoardModelAlphaSet(booBallMdl, booBallAlpha); BoardModelVisibilitySet(booBallMdl, 1); for (var_r20 = 0; var_r20 < speed; var_r20++) { - booBallAlpha -= (255.0f / speed); + booBallAlpha -= (255.0f/speed); if (booBallAlpha < 0.0f) { booBallAlpha = 0.0f; } - booBallScale.x -= (1.0f / speed); - booBallScale.y -= (1.0f / speed); - booBallScale.z -= (1.0f / speed); - booBallPos.y -= (20.0f / speed); + booBallScale.x -= (1.0f/speed); + booBallScale.y -= (1.0f/speed); + booBallScale.z -= (1.0f/speed); + booBallPos.y -= (20.0f/speed); BoardModelAlphaSet(booBallMdl, booBallAlpha); BoardModelScaleSetV(booBallMdl, &booBallScale); BoardModelPosSetV(booBallMdl, &booBallPos); @@ -1637,8 +1696,7 @@ static inline void ExecItemBooBallInlineFunc01(s32 speed) BoardModelAlphaSet(booBallMdl, booBallAlpha); } -static inline void ExecItemBooBallInlineFunc02(s32 speed) -{ +static inline void ExecItemBooBallInlineFunc02(s32 speed) { Vec sp20; s32 var_r20; @@ -1650,14 +1708,14 @@ static inline void ExecItemBooBallInlineFunc02(s32 speed) BoardModelAlphaSet(booBallMdl, booBallAlpha); BoardModelVisibilitySet(booBallMdl, 1); for (var_r20 = 0; var_r20 < speed; var_r20++) { - booBallAlpha += (255.0f / speed); + booBallAlpha += (255.0f/speed); if (booBallAlpha > 255.0f) { booBallAlpha = 255.0f; } - booBallScale.x += (1.0f / speed); - booBallScale.y += (1.0f / speed); - booBallScale.z += (1.0f / speed); - booBallPos.y += (20.0f / speed); + booBallScale.x += (1.0f/speed); + booBallScale.y += (1.0f/speed); + booBallScale.z += (1.0f/speed); + booBallPos.y += (20.0f/speed); BoardModelAlphaSet(booBallMdl, booBallAlpha); BoardModelScaleSetV(booBallMdl, &booBallScale); BoardModelPosSetV(booBallMdl, &booBallPos); @@ -1671,8 +1729,7 @@ static inline void ExecItemBooBallInlineFunc02(s32 speed) BoardModelAlphaSet(booBallMdl, booBallAlpha); } -static void ExecItemBooBall(void) -{ +static void ExecItemBooBall(void) { UnkItemShowProcStruct spA0; UnkItemShowProcStruct sp80; Vec sp74; @@ -1719,8 +1776,7 @@ static void ExecItemBooBall(void) BoardWinCreate(2, MAKE_MESSID(18, 22), 3); BoardWinWait(); BoardWinKill(); - } - else { + } else { var_r28 = 0; for (var_r31 = 0; var_r31 < 4; var_r31++) { if (var_r31 != currItemRestore) { @@ -1745,8 +1801,7 @@ static void ExecItemBooBall(void) if (GWPlayer[currItemRestore].com) { if (var_r28 != 0 && BoardPlayerCoinsGet(currItemRestore) >= 50) { BoardComKeySetDown(); - } - else { + } else { BoardComKeySetUp(); } } @@ -1776,20 +1831,15 @@ static void ExecItemBooBall(void) var_r29 = BoardBooStealValueGet(&spC, &spA); if (var_r29 == 0) { var_r30 = MAKE_MESSID(7, 11); - } - else if (spA == 0) { + } else if (spA == 0) { var_r30 = MAKE_MESSID(7, 9); - } - else if (spA >= 1 && spA <= 3) { + } else if (spA >= 1 && spA <= 3) { var_r30 = MAKE_MESSID(7, 8); - } - else if (spA >= 4 && spA <= 6) { + } else if (spA >= 4 && spA <= 6) { var_r30 = MAKE_MESSID(7, 7); - } - else if (spA >= 7 && spA <= 8) { + } else if (spA >= 7 && spA <= 8) { var_r30 = MAKE_MESSID(7, 6); - } - else { + } else { var_r30 = MAKE_MESSID(7, 5); } sprintf(booCoinStr, "%d", spC); @@ -1800,7 +1850,7 @@ static void ExecItemBooBall(void) BoardWinKill(); BoardStatusShowSetAll(1); if (var_r29 != 0) { - BoardPlayerMotionShiftSet(currItemRestore, 7, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(currItemRestore, 7, 0.0f, 8.0f, 0); HuPrcSleep(30); for (var_r31 = 0; var_r31 < spC; var_r31++) { BoardPlayerCoinsAdd(currItemRestore, 1); @@ -1809,7 +1859,7 @@ static void ExecItemBooBall(void) } BoardPlayerMotionEndWait(currItemRestore); HuPrcSleep(10); - BoardPlayerMotionShiftSet(currItemRestore, 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(currItemRestore, 1, 0.0f, 8.0f, 0x40000001); } break; case 1: @@ -1833,8 +1883,7 @@ static void ExecItemBooBall(void) ExecItemBooBallInlineFunc02(30); if (var_r29 != 0) { var_r30 = MAKE_MESSID(7, 10); - } - else { + } else { var_r30 = MAKE_MESSID(7, 11); } HuAudFXPlay(0x4C); @@ -1847,7 +1896,7 @@ static void ExecItemBooBall(void) if (var_r29 != 0) { BoardPlayerVoiceEnableSet(currItemRestore, 7, 0); sp18 = HuAudSStreamPlay(6); - BoardPlayerMotionShiftSet(currItemRestore, 7, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(currItemRestore, 7, 0.0f, 8.0f, 0); HuAudFXPlay(boardStarSndTbl[GWPlayer[currItemRestore].character]); BoardPlayerStarsAdd(currItemRestore, 1); HuAudFXPlay(8); @@ -1858,7 +1907,7 @@ static void ExecItemBooBall(void) HuPrcVSleep(); } } - BoardPlayerMotionShiftSet(currItemRestore, 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(currItemRestore, 1, 0.0f, 8.0f, 0x40000001); break; case 3: BoardViewMapExec(currItemRestore); @@ -1901,8 +1950,7 @@ static void ForceConsts(void) (void)125.0f; } -static void LampParticleUpdate(ModelData *model, ParticleData *particle, Mtx matrix) -{ +static void LampParticleUpdate(ModelData *model, ParticleData *particle, Mtx matrix) { HsfanimStruct01 *var_r31; Vec spC; float sp8; @@ -1942,19 +1990,18 @@ static void LampParticleUpdate(ModelData *model, ParticleData *particle, Mtx mat var_r31->unk2C = 25.0f; temp_f30 = 175.0f + frand8() * 0x50 * 0.003921569f; var_r31->unk40.r = var_r31->unk40.g = var_r31->unk40.b = temp_f30; - var_r31->unk00 = 0; + var_r31->unk00_s16 = 0; } } - } - else { + } else { particle->unk_00--; } var_r31 = particle->unk_48; for (i = 0; i < particle->unk_30; i++, var_r31++) { if (var_r31->unk2C != 0.0f) { - if (var_r31->unk00 == 0) { - VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); - VECScale(&var_r31->unk08, &var_r31->unk08, 0.95f); + if (var_r31->unk00_s16 == 0) { + PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); + PSVECScale(&var_r31->unk08, &var_r31->unk08, 0.95f); var_r31->unk2C += 8.0f; var_r31->unk14.y -= 2.8333333f; if (var_r31->unk14.y <= 120.0f) { @@ -1963,12 +2010,11 @@ static void LampParticleUpdate(ModelData *model, ParticleData *particle, Mtx mat var_r31->unk08.x = 6.0 * cosd(temp_f31); var_r31->unk08.y = -4.0f; var_r31->unk08.z = 6.0 * sind(temp_f31); - var_r31->unk00 = 1; + var_r31->unk00_s16 = 1; } var_r31->unk40.a = var_r31->unk14.y; - } - else { - VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); + } else { + PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); var_r31->unk2C += 0.2f; var_r31->unk14.y -= 1.8214285f; if (var_r31->unk14.y <= 55.0f) { @@ -1981,9 +2027,8 @@ static void LampParticleUpdate(ModelData *model, ParticleData *particle, Mtx mat } } -static void GenieParticleUpdate(ModelData *model, ParticleData *particle, Mtx matrix) -{ - HsfanimStruct01 *var_r31; +static void GenieParticleUpdate(ModelData *model, ParticleData *particle, Mtx matrix) { + HsfanimStruct01* var_r31; float temp_f31; float temp_f30; s32 var_r28; @@ -2011,8 +2056,8 @@ static void GenieParticleUpdate(ModelData *model, ParticleData *particle, Mtx ma for (i = 0; i < particle->unk_30; i++, var_r31++) { if (var_r31->unk2C != 0.0f) { var_r28++; - VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); - VECScale(&var_r31->unk08, &var_r31->unk08, 0.995f); + PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); + PSVECScale(&var_r31->unk08, &var_r31->unk08, 0.995f); var_r31->unk2C -= 0.2f; var_r31->unk14.y -= 1.59375f; if (var_r31->unk14.y <= 20.0f) { @@ -2031,13 +2076,11 @@ static Vec shadowPos = { 0.0f, 4500.0f, 500.0f }; static Vec shadowTarget = { 0.0f, 0.9f, -0.1f }; static Vec shadowUp = { 0.0f, 0.0f, 500.0f }; -static void GenieCameraProcInlineFunc(void) -{ +static void GenieCameraProcInlineFunc(void) { Hu3DShadowPosSet(&shadowPos, &shadowTarget, &shadowUp); } -static void GenieCameraProc(void) -{ +static void GenieCameraProc(void) { while (1) { Hu3DCameraPerspectiveSet(2, genieFov, 10.0f, 20000.0f, 1.2f); Hu3DCameraPosSetV(2, &booCamPos, &booCamTarget, &booCamUp); @@ -2049,8 +2092,7 @@ static void GenieCameraProc(void) } } -static void GenieCameraCalc(UnkGenieCameraStruct *arg0, s32 arg1, float arg2, Vec *arg3, Vec *arg4) -{ +static void GenieCameraCalc(UnkGenieCameraStruct *arg0, s32 arg1, float arg2, Vec *arg3, Vec *arg4) { Vec spC = { 0.0f, 0.0f, 0.0f }; float temp_f31 = arg2 * arg2; float sp8 = temp_f31 * arg2; @@ -2070,26 +2112,13 @@ static void GenieCameraCalc(UnkGenieCameraStruct *arg0, s32 arg1, float arg2, Ve temp_r30 = &arg0[arg1].unk10; temp_r27 = &arg0[arg1 + 1].unk10; temp_r26 = &arg0[arg1 + 2].unk10; - arg3->x = 0.5f - * ((temp_r31->x - temp_r29->x * 2.0f + temp_r28->x) * temp_f31 + (temp_r31->x * -3.0f + temp_r29->x * 4.0f - temp_r28->x) * arg2 - + temp_r31->x * 2.0f); - arg3->y = 0.5f - * ((temp_r31->y - temp_r29->y * 2.0f + temp_r28->y) * temp_f31 + (temp_r31->y * -3.0f + temp_r29->y * 4.0f - temp_r28->y) * arg2 - + temp_r31->y * 2.0f); - arg3->z = 0.5f - * ((temp_r31->z - temp_r29->z * 2.0f + temp_r28->z) * temp_f31 + (temp_r31->z * -3.0f + temp_r29->z * 4.0f - temp_r28->z) * arg2 - + temp_r31->z * 2.0f); - arg4->x = 0.5f - * ((temp_r30->x - temp_r27->x * 2.0f + temp_r26->x) * temp_f31 + (temp_r30->x * -3.0f + temp_r27->x * 4.0f - temp_r26->x) * arg2 - + temp_r30->x * 2.0f); - arg4->y = 0.5f - * ((temp_r30->y - temp_r27->y * 2.0f + temp_r26->y) * temp_f31 + (temp_r30->y * -3.0f + temp_r27->y * 4.0f - temp_r26->y) * arg2 - + temp_r30->y * 2.0f); - arg4->z = 0.5f - * ((temp_r30->z - temp_r27->z * 2.0f + temp_r26->z) * temp_f31 + (temp_r30->z * -3.0f + temp_r27->z * 4.0f - temp_r26->z) * arg2 - + temp_r30->z * 2.0f); - } - else { + arg3->x = 0.5f * ((temp_r31->x - temp_r29->x * 2.0f + temp_r28->x) * temp_f31 + (temp_r31->x * -3.0f + temp_r29->x * 4.0f - temp_r28->x) * arg2 + temp_r31->x * 2.0f); + arg3->y = 0.5f * ((temp_r31->y - temp_r29->y * 2.0f + temp_r28->y) * temp_f31 + (temp_r31->y * -3.0f + temp_r29->y * 4.0f - temp_r28->y) * arg2 + temp_r31->y * 2.0f); + arg3->z = 0.5f * ((temp_r31->z - temp_r29->z * 2.0f + temp_r28->z) * temp_f31 + (temp_r31->z * -3.0f + temp_r29->z * 4.0f - temp_r28->z) * arg2 + temp_r31->z * 2.0f); + arg4->x = 0.5f * ((temp_r30->x - temp_r27->x * 2.0f + temp_r26->x) * temp_f31 + (temp_r30->x * -3.0f + temp_r27->x * 4.0f - temp_r26->x) * arg2 + temp_r30->x * 2.0f); + arg4->y = 0.5f * ((temp_r30->y - temp_r27->y * 2.0f + temp_r26->y) * temp_f31 + (temp_r30->y * -3.0f + temp_r27->y * 4.0f - temp_r26->y) * arg2 + temp_r30->y * 2.0f); + arg4->z = 0.5f * ((temp_r30->z - temp_r27->z * 2.0f + temp_r26->z) * temp_f31 + (temp_r30->z * -3.0f + temp_r27->z * 4.0f - temp_r26->z) * arg2 + temp_r30->z * 2.0f); + } else { temp_r31 = &arg0[arg1 - 1].unk04; temp_r29 = &arg0[arg1].unk04; temp_r28 = &arg0[arg1 + 1].unk04; @@ -2098,56 +2127,70 @@ static void GenieCameraCalc(UnkGenieCameraStruct *arg0, s32 arg1, float arg2, Ve temp_r27 = &arg0[arg1].unk10; temp_r26 = &arg0[arg1 + 1].unk10; temp_r24 = &arg0[arg1 + 2].unk10; - arg3->x = 0.5f - * ((-temp_r31->x + temp_r29->x * 3.0f - temp_r28->x * 3.0f + temp_r25->x) * temp_f31 * arg2 - + (temp_r31->x * 2.0f - temp_r29->x * 5.0f + temp_r28->x * 4.0f - temp_r25->x) * temp_f31 + (-temp_r31->x + temp_r28->x) * arg2 - + temp_r29->x * 2.0f); - arg3->y = 0.5f - * ((-temp_r31->y + temp_r29->y * 3.0f - temp_r28->y * 3.0f + temp_r25->y) * temp_f31 * arg2 - + (temp_r31->y * 2.0f - temp_r29->y * 5.0f + temp_r28->y * 4.0f - temp_r25->y) * temp_f31 + (-temp_r31->y + temp_r28->y) * arg2 - + temp_r29->y * 2.0f); - arg3->z = 0.5f - * ((-temp_r31->z + temp_r29->z * 3.0f - temp_r28->z * 3.0f + temp_r25->z) * temp_f31 * arg2 - + (temp_r31->z * 2.0f - temp_r29->z * 5.0f + temp_r28->z * 4.0f - temp_r25->z) * temp_f31 + (-temp_r31->z + temp_r28->z) * arg2 - + temp_r29->z * 2.0f); - arg4->x = 0.5f - * ((-temp_r30->x + temp_r27->x * 3.0f - temp_r26->x * 3.0f + temp_r24->x) * temp_f31 * arg2 - + (temp_r30->x * 2.0f - temp_r27->x * 5.0f + temp_r26->x * 4.0f - temp_r24->x) * temp_f31 + (-temp_r30->x + temp_r26->x) * arg2 - + temp_r27->x * 2.0f); - arg4->y = 0.5f - * ((-temp_r30->y + temp_r27->y * 3.0f - temp_r26->y * 3.0f + temp_r24->y) * temp_f31 * arg2 - + (temp_r30->y * 2.0f - temp_r27->y * 5.0f + temp_r26->y * 4.0f - temp_r24->y) * temp_f31 + (-temp_r30->y + temp_r26->y) * arg2 - + temp_r27->y * 2.0f); - arg4->z = 0.5f - * ((-temp_r30->z + temp_r27->z * 3.0f - temp_r26->z * 3.0f + temp_r24->z) * temp_f31 * arg2 - + (temp_r30->z * 2.0f - temp_r27->z * 5.0f + temp_r26->z * 4.0f - temp_r24->z) * temp_f31 + (-temp_r30->z + temp_r26->z) * arg2 - + temp_r27->z * 2.0f); + arg3->x = 0.5f * ((-temp_r31->x + temp_r29->x * 3.0f - temp_r28->x * 3.0f + temp_r25->x) * temp_f31 * arg2 + (temp_r31->x * 2.0f - temp_r29->x * 5.0f + temp_r28->x * 4.0f - temp_r25->x) * temp_f31 + (-temp_r31->x + temp_r28->x) * arg2 + temp_r29->x * 2.0f); + arg3->y = 0.5f * ((-temp_r31->y + temp_r29->y * 3.0f - temp_r28->y * 3.0f + temp_r25->y) * temp_f31 * arg2 + (temp_r31->y * 2.0f - temp_r29->y * 5.0f + temp_r28->y * 4.0f - temp_r25->y) * temp_f31 + (-temp_r31->y + temp_r28->y) * arg2 + temp_r29->y * 2.0f); + arg3->z = 0.5f * ((-temp_r31->z + temp_r29->z * 3.0f - temp_r28->z * 3.0f + temp_r25->z) * temp_f31 * arg2 + (temp_r31->z * 2.0f - temp_r29->z * 5.0f + temp_r28->z * 4.0f - temp_r25->z) * temp_f31 + (-temp_r31->z + temp_r28->z) * arg2 + temp_r29->z * 2.0f); + arg4->x = 0.5f * ((-temp_r30->x + temp_r27->x * 3.0f - temp_r26->x * 3.0f + temp_r24->x) * temp_f31 * arg2 + (temp_r30->x * 2.0f - temp_r27->x * 5.0f + temp_r26->x * 4.0f - temp_r24->x) * temp_f31 + (-temp_r30->x + temp_r26->x) * arg2 + temp_r27->x * 2.0f); + arg4->y = 0.5f * ((-temp_r30->y + temp_r27->y * 3.0f - temp_r26->y * 3.0f + temp_r24->y) * temp_f31 * arg2 + (temp_r30->y * 2.0f - temp_r27->y * 5.0f + temp_r26->y * 4.0f - temp_r24->y) * temp_f31 + (-temp_r30->y + temp_r26->y) * arg2 + temp_r27->y * 2.0f); + arg4->z = 0.5f * ((-temp_r30->z + temp_r27->z * 3.0f - temp_r26->z * 3.0f + temp_r24->z) * temp_f31 * arg2 + (temp_r30->z * 2.0f - temp_r27->z * 5.0f + temp_r26->z * 4.0f - temp_r24->z) * temp_f31 + (-temp_r30->z + temp_r26->z) * arg2 + temp_r27->z * 2.0f); } } -static s32 armUpMotTbl[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 92), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 92), DATA_MAKE_NUM(DATADIR_PEACHMOT, 92), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 92), DATA_MAKE_NUM(DATADIR_WARIOMOT, 92), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 92), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 92), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 92) }; +static s32 armUpMotTbl[] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 92), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 92), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 92), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 92), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 92), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 92), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 92), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 92) +}; -static s32 scareMotTbl[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 28), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 28), DATA_MAKE_NUM(DATADIR_PEACHMOT, 28), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 28), DATA_MAKE_NUM(DATADIR_WARIOMOT, 28), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 28), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 28), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 28) }; +static s32 scareMotTbl[] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 28), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 28), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 28), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 28), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 28), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 28), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 28), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 28) +}; -static s32 impactMotTbl[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 94), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 94), DATA_MAKE_NUM(DATADIR_PEACHMOT, 94), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 94), DATA_MAKE_NUM(DATADIR_WARIOMOT, 94), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 94), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 94), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 94) }; +static s32 impactMotTbl[] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 94), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 94), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 94), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 94), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 94), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 94), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 94), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 94) +}; -static UnkGenieCameraStruct cameraDataTbl[] = { 60.0f, { 0.0f, 100.0f, 950.0f }, { 0.0f, 100.0f, 600.0f }, 60.0f, { -353.0f, 100.0f, 662.5f }, - { 0.0f, 100.0f, 600.0f }, 60.0f, { -500.0f, 100.0f, 375.0f }, { 0.0f, 100.0f, 600.0f }, 60.0f, { -353.0f, 100.0f, 87.5f }, - { 0.0f, 100.0f, 600.0f }, 1.0f, { 0.0f, 100.0f, -200.0f }, { 0.0f, 100.0f, 600.0f }, 89.0f, { 0.0f, 100.0f, -200.0f }, { 0.0f, 100.0f, 600.0f }, - 1.0f, { 0.0f, 100.0f, -200.0f }, { 0.0f, 100.0f, 600.0f }, 9.0f, { 0.0f, 100.0f, -200.0f }, { 0.0f, 100.0f, 600.0f }, 1.0f, - { 0.0f, 100.0f, -200.0f }, { 0.0f, 500.0f, 600.0f }, 5.0f, { 0.0f, 100.0f, -200.0f }, { 0.0f, 500.0f, 600.0f }, 5.0f, { 0.0f, 100.0f, -200.0f }, - { 0.0f, 500.0f, 600.0f } }; +static UnkGenieCameraStruct cameraDataTbl[] = { + 60.0f, { 0.0f, 100.0f, 950.0f }, { 0.0f, 100.0f, 600.0f }, + 60.0f, { -353.0f, 100.0f, 662.5f }, { 0.0f, 100.0f, 600.0f }, + 60.0f, { -500.0f, 100.0f, 375.0f }, { 0.0f, 100.0f, 600.0f }, + 60.0f, { -353.0f, 100.0f, 87.5f }, { 0.0f, 100.0f, 600.0f }, + 1.0f, { 0.0f, 100.0f, -200.0f }, { 0.0f, 100.0f, 600.0f }, + 89.0f, { 0.0f, 100.0f, -200.0f }, { 0.0f, 100.0f, 600.0f }, + 1.0f, { 0.0f, 100.0f, -200.0f }, { 0.0f, 100.0f, 600.0f }, + 9.0f, { 0.0f, 100.0f, -200.0f }, { 0.0f, 100.0f, 600.0f }, + 1.0f, { 0.0f, 100.0f, -200.0f }, { 0.0f, 500.0f, 600.0f }, + 5.0f, { 0.0f, 100.0f, -200.0f }, { 0.0f, 500.0f, 600.0f }, + 5.0f, { 0.0f, 100.0f, -200.0f }, { 0.0f, 500.0f, 600.0f } +}; -static s32 genieMotTbl[] = { DATA_MAKE_NUM(DATADIR_BOARD, 125), DATA_MAKE_NUM(DATADIR_BOARD, 126), DATA_MAKE_NUM(DATADIR_BOARD, 127), -1 }; +static s32 genieMotTbl[] = { + DATA_MAKE_NUM(DATADIR_BOARD, 125), + DATA_MAKE_NUM(DATADIR_BOARD, 126), + DATA_MAKE_NUM(DATADIR_BOARD, 127), + -1 +}; -static void GenieSceneExec(void) -{ +static void GenieSceneExec(void) { GXColor sp1C = { 0xFF, 0xFF, 0xFF, 0xFF }; Vec sp50; Vec sp44; @@ -2195,8 +2238,8 @@ static void GenieSceneExec(void) BoardPlayerCameraSet(currItemRestore, 2); BoardPlayerPosSetV(currItemRestore, &sp38); BoardModelVisibilitySet(BoardPlayerModelGet(currItemRestore), 1); - VECSubtract(&shadowUp, &shadowPos, &sp2C); - VECNormalize(&sp2C, &sp2C); + PSVECSubtract(&shadowUp, &shadowPos, &sp2C); + PSVECNormalize(&sp2C, &sp2C); temp_r20 = Hu3DGLightCreateV(&shadowPos, &sp2C, &sp1C); Hu3DShadowCreate(60.0f, 10.0f, 20000.0f); Hu3DModelShadowSet(BoardModelIDGet(BoardPlayerModelGet(currItemRestore))); @@ -2290,7 +2333,7 @@ static void GenieSceneExec(void) temp_f30 = 40.0f - var_f31 * var_f31 * 0.25f * 0.0125f; if (temp_f30 <= 0.0f && var_r22 == 0) { var_r22 = 1; - BoardModelMotionShiftSet(temp_r28, 3, 0.0f, 4.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(temp_r28, 3, 0.0f, 4.0f, 0); } var_f31 += 1.0f; sp50.y += temp_f30; @@ -2345,8 +2388,7 @@ static void GenieSceneExec(void) HuAudFXPauseAll(0); } -static void ExecItemGenie(void) -{ +static void ExecItemGenie(void) { UnkItemShowProcStruct sp24; Vec sp18; Vec spC; @@ -2478,8 +2520,7 @@ static void ExecItemGenie(void) } } -void BoardItemBagItemSet(s16 *arg0) -{ +void BoardItemBagItemSet(s16 *arg0) { s32 i; for (i = 0; i < 3; i++) { @@ -2487,8 +2528,7 @@ void BoardItemBagItemSet(s16 *arg0) } } -static void ExecItemBagJump(void) -{ +static void ExecItemBagJump(void) { Vec sp20; Vec sp14; Vec sp8; @@ -2497,7 +2537,7 @@ static void ExecItemBagJump(void) float var_f31; s16 temp_r31; - temp_r31 = (s16)HuPrcCurrentGet()->user_data; + temp_r31 = (s16) HuPrcCurrentGet()->user_data; BoardModelScaleGet(temp_r31, &sp20); BoardModelPosGet(temp_r31, &sp14); sp8 = sp14; @@ -2531,8 +2571,7 @@ static void ExecItemBagJump(void) } } -static void ExecItemBagShow(void) -{ +static void ExecItemBagShow(void) { Vec sp14; Vec sp8; float var_f31; @@ -2564,8 +2603,7 @@ static void ExecItemBagShow(void) } } -static void ExecItemBag(void) -{ +static void ExecItemBag(void) { UnkItemShowProcStruct sp3C; Vec sp30; Vec sp24; @@ -2628,14 +2666,12 @@ static void ExecItemBag(void) var_r25 = 0x100; var_r26 = frandmod(40) + 30; } - } - else { + } else { var_r25 = HuPadBtnDown[temp_r23]; } if (!(var_r25 & 0x100)) { HuPrcVSleep(); - } - else { + } else { BoardPlayerDiceJumpStart(currItemRestore); while (!BoardPlayerDiceJumpCheck(currItemRestore)) { HuPrcVSleep(); @@ -2646,7 +2682,7 @@ static void ExecItemBag(void) BoardModelScaleSetV(sp8[var_r30], &sp24); BoardModelVisibilitySet(sp8[var_r30], 1); temp_r29 = HuPrcChildCreate(ExecItemBagJump, 0x2004, 0x1000, 0, HuPrcCurrentGet()); - temp_r29->user_data = (void *)sp8[var_r30]; + temp_r29->user_data = (void*) sp8[var_r30]; temp_r29 = HuPrcChildCreate(ExecItemBagShow, 0x2004, 0x1000, 0, HuPrcCurrentGet()); temp_r29->user_data = temp_r24; while (GWPlayer[currItemRestore].jump) { @@ -2654,7 +2690,7 @@ static void ExecItemBag(void) } HuPrcChildWatch(); BoardPlayerItemAdd(currItemRestore, itemBagItems[var_r30]); - BoardPlayerMotionShiftSet(currItemRestore, 1, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(currItemRestore, 1, 0.0f, 10.0f, 0x40000001); HuPrcSleep(10); var_r30++; } @@ -2677,16 +2713,14 @@ static void ExecItemBag(void) } } -static void RestoreItemNull(void) -{ +static void RestoreItemNull(void) { HuPrcKill(NULL); while (1) { HuPrcVSleep(); } } -static void RestoreItemMini(void) -{ +static void RestoreItemMini(void) { HuAudFXPlay(0x311); ItemSizeSet(0); HuPrcKill(NULL); @@ -2695,8 +2729,7 @@ static void RestoreItemMini(void) } } -static void RestoreItemMega(void) -{ +static void RestoreItemMega(void) { HuAudFXPlay(0x313); ItemSizeSet(0); HuPrcKill(NULL); @@ -2705,8 +2738,7 @@ static void RestoreItemMega(void) } } -static void RestoreItemMiniSuper(void) -{ +static void RestoreItemMiniSuper(void) { HuAudFXPlay(0x311); ItemSizeSet(0); HuPrcKill(NULL); @@ -2715,8 +2747,7 @@ static void RestoreItemMiniSuper(void) } } -static void RestoreItemMegaSuper(void) -{ +static void RestoreItemMegaSuper(void) { HuAudFXPlay(0x313); ItemSizeSet(0); HuPrcKill(NULL); @@ -2725,8 +2756,7 @@ static void RestoreItemMegaSuper(void) } } -static void RestoreItemBowser(void) -{ +static void RestoreItemBowser(void) { Vec sp20; Vec sp14; Vec sp8; @@ -2746,8 +2776,8 @@ static void RestoreItemBowser(void) BoardModelAttrSet(temp_r31, 0x400000); suitMdl = BoardBowserSuitModelGet(); temp_r29 = BoardBowserSuitPlayerModelGet(); - BoardModelMotionShiftSet(suitMdl, suitMot[0], 0.0f, 5.0f, HU3D_MOTATTR_NONE); - BoardModelMotionShiftSet(temp_r29, suitCommonMot[0], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(suitMdl, suitMot[0], 0.0f, 5.0f, 0); + BoardModelMotionShiftSet(temp_r29, suitCommonMot[0], 0.0f, 5.0f, 0); HuPrcSleep(40); HuAudPlayerVoicePlay(currItemRestore, 0x129); HuPrcSleep(20); diff --git a/src/game/board/last5.c b/src/game/board/last5.c index 8b9261c9..890a6eb5 100644 --- a/src/game/board/last5.c +++ b/src/game/board/last5.c @@ -13,8 +13,6 @@ #include "game/data.h" #include "game/wipe.h" -#include "ext_math.h" - static s16 stopWin = -1; static s16 wheelMdl = -1; s16 lbl_801D3854 = -1; @@ -115,12 +113,12 @@ static s32 hostMotTbl[][8] = { }; static s32 messBaseTbl[] = { - MAKE_MESSID(14, 0), - MAKE_MESSID(14, 24), - MAKE_MESSID(14, 48), - MAKE_MESSID(14, 72), - MAKE_MESSID(14, 96), - MAKE_MESSID(14, 120), + 0xE0000, + 0xE0018, + 0xE0030, + 0xE0048, + 0xE0060, + 0xE0078, 0, 0, 0, @@ -515,9 +513,9 @@ static void Last5Main(void) } BoardWinCreate(2, messBase+10, BoardWinPortraitGetStar()); BoardWinWait(); - BoardModelMotionShiftSet(hostMdl, hostMot[5], 0.0f, 4.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(hostMdl, hostMot[5], 0.0f, 4.0f, 0); HuPrcVSleep(8); - BoardModelMotionShiftSet(hostMdl, hostMot[6], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(hostMdl, hostMot[6], 0.0f, 8.0f, 0x40000001); for(temp_r31=0; temp_r31<4; temp_r31++) { temp_r30 = sp28[temp_r31]; temp_r27 = sp24[temp_r31]; @@ -568,7 +566,7 @@ static void Last5Main(void) HuPrcVSleep(); } BoardStatusItemSet(0); - temp_r24 = MAKE_MESSID(14, 144) + GWBoardGet(); + temp_r24 = 0xE0090+GWBoardGet(); BoardWinCreate(2, temp_r24, BoardWinPortraitGetStar()); BoardWinWait(); for(temp_r31=0; temp_r31<2; temp_r31++) { @@ -583,7 +581,7 @@ static void Last5Main(void) } BoardModelMotionStart(hostMdl, hostMot[5], 0x40000004); HuPrcVSleep(8); - BoardModelMotionShiftSet(hostMdl, 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(hostMdl, 1, 0.0f, 8.0f, 0x40000001); BoardWinCreate(2, messBase+15, BoardWinPortraitGetStar()); BoardWinWait(); if((s32)GWSystem.team != 0) { @@ -621,7 +619,7 @@ static void Last5Main(void) while(!CheckHostMove()) { HuPrcVSleep(); } - BoardModelMotionShiftSet(hostMdl, 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(hostMdl, 1, 0.0f, 8.0f, 0x40000001); HuPrcSleep(8); if((s32)GWSystem.team != 0) { temp_r30 = last5Player; @@ -644,9 +642,9 @@ static void Last5Main(void) BoardWinCreate(2, messBase+16, BoardWinPortraitGetStar()); BoardWinInsertMesSet(BoardPlayerGetCharMess(temp_r30), 3); BoardWinWait(); - BoardModelMotionShiftSet(hostMdl, hostMot[5], 0.0f, 4.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(hostMdl, hostMot[5], 0.0f, 4.0f, 0); HuPrcVSleep(8); - BoardModelMotionShiftSet(hostMdl, hostMot[6], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(hostMdl, hostMot[6], 0.0f, 8.0f, 0x40000001); temp_r19 = 0; temp_r29 = 3; for(temp_f31=0; temp_r29>0; temp_f31++) { @@ -670,7 +668,7 @@ static void Last5Main(void) sp3C = sp48; BoardModelMotionStart(hostMdl, hostMot[5], 0x40000004); HuPrcVSleep(8); - BoardModelMotionShiftSet(hostMdl, 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(hostMdl, 1, 0.0f, 8.0f, 0x40000001); CreateLast5Roulette(); SetLast5RouletteFade(1); SetLast5RouletteState(2); @@ -724,15 +722,15 @@ static void Last5Main(void) BoardPlayerIdleSet(temp_r30); BoardModelVisibilitySet(BoardPlayerModelGet(temp_r30), 0); SetLast5RouletteFade(0); - BoardModelMotionShiftSet(hostMdl, 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(hostMdl, 1, 0.0f, 8.0f, 0x40000001); BoardWinCreate(2, messBase+23, BoardWinPortraitGetStar()); BoardWinWait(); - BoardModelMotionShiftSet(hostMdl, hostMot[4], 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(hostMdl, hostMot[4], 0.0f, 8.0f, 0); HuPrcSleep(8); while(!BoardModelMotionEndCheck(hostMdl)) { HuPrcVSleep(); } - BoardModelMotionShiftSet(hostMdl, hostMot[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(hostMdl, hostMot[2], 0.0f, 8.0f, 0x40000001); SetLotteryDrawState(4); } @@ -1088,7 +1086,7 @@ static void ExecLotteryDraw(void) SetLotteryDrawWheelState(3); BoardWinCreate(2, 2+messBase+ticket, BoardWinPortraitGetStar()); BoardWinWait(); - BoardModelMotionShiftSet(hostMdl, hostMot[7], 0, 8, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(hostMdl, hostMot[7], 0, 8, 0); HuPrcSleep(8); while(BoardModelMotionTimeGet(hostMdl) < 26.0f) { HuPrcVSleep(); @@ -1100,7 +1098,7 @@ static void ExecLotteryDraw(void) while(!BoardModelMotionEndCheck(hostMdl)) { HuPrcVSleep(); } - BoardModelMotionShiftSet(hostMdl, 1, 0, 8, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(hostMdl, 1, 0, 8, 0x40000001); while(GetLotteryDrawWheelState() != 0) { HuPrcVSleep(); } @@ -1135,7 +1133,7 @@ static void ExecLotteryDraw(void) } } else { BoardAudSeqPause(1, 1, 1000); - BoardModelMotionShiftSet(hostMdl, hostMot[3], 0, 8, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(hostMdl, hostMot[3], 0, 8, 0x40000001); stream = HuAudSStreamPlay(10); while(HuAudSStreamStatGet(stream)) { HuPrcVSleep(); @@ -1166,11 +1164,11 @@ static void ExecLotteryDraw(void) HuPrcVSleep(); } BoardPlayerIdleSet(player); - BoardModelMotionShiftSet(hostMdl, hostMot[0], 0, 8, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(hostMdl, hostMot[0], 0, 8, 0x40000001); while(!CheckHostMove()) { HuPrcVSleep(); } - BoardModelMotionShiftSet(hostMdl, 1, 0, 8, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(hostMdl, 1, 0, 8, 0x40000001); BoardStatusShowSetForce(player); BoardStatusShowSet(player, 1); BoardPlayerMotBlendSet(player, 0, 7); @@ -1180,7 +1178,7 @@ static void ExecLotteryDraw(void) BoardWinCreate(2, 6+messBase, BoardWinPortraitGetStar()); BoardWinWait(); BoardAudSeqPause(1, 1, 1000); - BoardModelMotionShiftSet(hostMdl, hostMot[1], 0, 8, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(hostMdl, hostMot[1], 0, 8, 0); star_pos.x = host_start.x; star_pos.y = 60.0f+host_start.y; star_pos.z = host_start.z; @@ -1190,11 +1188,11 @@ static void ExecLotteryDraw(void) BoardStatusShowSet(player, 0); StartHostMove(&host_start, &host_end, 25); BoardPlayerPosLerpStart(player, &player_start, &player_end, 25); - BoardModelMotionShiftSet(hostMdl, hostMot[0], 0, 8, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(hostMdl, hostMot[0], 0, 8, 0x40000001); while(!CheckHostMove()) { HuPrcVSleep(); } - BoardModelMotionShiftSet(hostMdl, 1, 0, 8, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(hostMdl, 1, 0, 8, 0x40000001); while(GWPlayer[player].moving) { HuPrcVSleep(); } @@ -1332,7 +1330,7 @@ static void UpdateLotteryTicket(omObjData *object) switch(work->state) { case 2: if(work->angle < 540) { - float scale = 0.4f+(0.1f*sind((float)(work->angle%180))); + float scale = 0.4f+(0.1f*sin(M_PI*(float)(work->angle%180)/180.0)); HuSprGrpScaleSet(work->group, scale, scale); work->angle += 9; } else { @@ -1513,10 +1511,10 @@ static void StartHostMove(Vec *from, Vec *to, s16 time) omSetTra(object, from->x, from->y, from->z); omSetRot(object, (to->x-from->x)/duration, 0.0f, (to->z-from->z)/duration); omSetSca(object, to->x, to->y, to->z); - angle = atan2d(object->rot.x, object->rot.z); + angle = 180.0*(atan2(object->rot.x, object->rot.z)/M_PI); work->angle = 0; OSf32tos16(&angle, &work->angle_end); - BoardModelMotionShiftSet(hostMdl, hostMot[0], 0, 8, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(hostMdl, hostMot[0], 0, 8, 0x40000001); BoardModelMotionSpeedSet(hostMdl, 3.0f); } @@ -1580,7 +1578,7 @@ static s32 CheckHostMove(void) static void CreateStopWin(void) { - s32 mess = MAKE_MESSID(0x12, 0x11); + s32 mess = 0x120011; float size[2]; float pos_x, pos_y; HuWinMesMaxSizeGet(1, size, mess); @@ -1988,4 +1986,4 @@ static void UpdateTeamResult(omObjData *object) HuSprGrpPosSet(work->group[0], object->trans.x, object->trans.y); HuSprGrpPosSet(work->group[1], object->rot.x, object->rot.y); } -} +} \ No newline at end of file diff --git a/src/game/board/lottery.c b/src/game/board/lottery.c index f64992f4..cabf498b 100755 --- a/src/game/board/lottery.c +++ b/src/game/board/lottery.c @@ -247,6 +247,7 @@ void BoardLotteryInit(void) { } } +//mod: extend for custom board static void CreateModel(void) { s32 i; s32 sp10[4] = { @@ -259,7 +260,8 @@ static void CreateModel(void) { DATA_MAKE_NUM(DATADIR_BKUJIYA, 3), DATA_MAKE_NUM(DATADIR_BKUJIYA, 4) }; - s32 sp20[9][4] = { + //mod: extend for custom board + s32 sp20[10][4] = { { DATA_MAKE_NUM(DATADIR_BGUEST, 1), DATA_MAKE_NUM(DATADIR_BGUEST, 2), @@ -308,6 +310,13 @@ static void CreateModel(void) { DATA_MAKE_NUM(DATADIR_BGUEST, 44), DATA_MAKE_NUM(DATADIR_BGUEST, 45) }, + { + DATA_MAKE_NUM(DATADIR_BGUEST, 42), + DATA_MAKE_NUM(DATADIR_BGUEST, 43), + DATA_MAKE_NUM(DATADIR_BGUEST, 44), + DATA_MAKE_NUM(DATADIR_BGUEST, 45) + }, + //Mod TODO: added for custom board { DATA_MAKE_NUM(DATADIR_BGUEST, 42), DATA_MAKE_NUM(DATADIR_BGUEST, 43), @@ -503,10 +512,10 @@ static void ExecLottery(void) { lotterySpace = BoardSpaceLinkFlagSearch(0, temp_r28, 0x02000000); BoardSpacePosGet(0, temp_r28, &sp38); BoardSpacePosGet(0, lotterySpace, &sp2C); - VECSubtract(&sp2C, &sp38, &sp20); + PSVECSubtract(&sp2C, &sp38, &sp20); if (GWBoardGet() == BOARD_ID_MAIN3 || GWBoardGet() == BOARD_ID_MAIN4) { - VECScale(&sp20, &sp20, 0.95f); - VECAdd(&sp20, &sp38, &sp2C); + PSVECScale(&sp20, &sp20, 0.95f); + PSVECAdd(&sp20, &sp38, &sp2C); } temp_r26 = atan2d(-sp20.x, -sp20.z); if (BoardPlayerSizeGet(temp_r31) == 1) { @@ -533,7 +542,7 @@ static void ExecLottery(void) { while (!BoardModelMotionEndCheck(lotteryMdl[0])) { HuPrcVSleep(); } - BoardModelMotionShiftSet(BoardLotteryHostGet(), lotteryMot[3], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(BoardLotteryHostGet(), lotteryMot[3], 0.0f, 10.0f, 0); BoardPlayerRotSet(temp_r31, 0.0f, temp_r26, 0.0f); BoardPlayerPosLerpStart(temp_r31, &sp38, &sp2C, 0x14); while (GWPlayer[temp_r31].moving) { @@ -546,8 +555,8 @@ static void ExecLottery(void) { for (i = 0; i < 4; i++) { if (i != temp_r31) { BoardPlayerPosGet(i, &sp38); - VECSubtract(&sp2C, &sp38, &sp20); - VECNormalize(&sp20, &sp20); + PSVECSubtract(&sp2C, &sp38, &sp20); + PSVECNormalize(&sp20, &sp20); BoardPlayerMotBlendSet(i, atan2d(sp20.x, sp20.z), 7); } } @@ -556,7 +565,7 @@ static void ExecLottery(void) { while (!BoardStatusStopCheck(temp_r31)) { HuPrcVSleep(); } - BoardModelMotionShiftSet(BoardLotteryHostGet(), lotteryMot[0], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(BoardLotteryHostGet(), lotteryMot[0], 0.0f, 10.0f, 0x40000001); if (GWPlayer[temp_r31].draw_ticket == 0 && GWSystem.max_turn - GWSystem.turn >= 5) { SetupTicket(temp_r31); ShowTicket(); @@ -620,7 +629,7 @@ static void DoMiniJumpUp(s32 arg0) { temp_f29 = BoardPlayerMotionMaxTimeGet(arg0); BoardPlayerPosGet(arg0, &sp1C); sp28.y += 52.5308f; - VECSubtract(&sp28, &sp1C, &sp10); + PSVECSubtract(&sp28, &sp1C, &sp10); sp10.x /= temp_f29; sp10.z /= temp_f29; sp10.y /= temp_f29; @@ -653,7 +662,7 @@ static void DoMiniJumpDown(s32 arg0) { BoardPlayerPosGet(arg0, &sp18); BoardSpacePosGet(0, lotterySpace, &sp24); - VECSubtract(&sp24, &sp18, &spC); + PSVECSubtract(&sp24, &sp18, &spC); BoardPlayerMotionStart(arg0, 4, 0); spC.x /= 30.0f; spC.z /= 30.0f; @@ -833,7 +842,7 @@ static void LotteryInlineFunc00(s32 arg0, s32 arg1) { temp_f30 = 4.0f; if (lotterySpr == -1) { lotterySpr = espEntry(sp20[arg0], 30001, 0); - espAttrSet(lotterySpr, HUSPR_ATTR_NOANIM); + espAttrSet(lotterySpr, 1); } } else { sp34.y = (sp10[arg0] / 2) + 40; @@ -902,7 +911,7 @@ static void ExecBallGame(void) { BoardModelMotionTimeSet(lotteryMdl[1], 0.0f); BoardModelAttrSet(gripMdl[0], 0x40000001); BoardModelAttrSet(gripMdl[1], 0x40000001); - BoardPlayerMotionShiftSet(temp_r27, turnMot, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(temp_r27, turnMot, 0.0f, 8.0f, 0x40000001); BoardPlayerMotionSpeedSet(temp_r27, 0.0f); temp_f24 = BoardModelMotionMaxTimeGet(lotteryMdl[1]); temp_f24 -= 4.0f; @@ -1049,7 +1058,7 @@ static void ExecBallPrize(void) { PSMTXTrans(sp3C, temp_r3->data.curr.pos.x, temp_r3->data.curr.pos.y + 210.0f, temp_r3->data.curr.pos.z + -40.0f); PSMTXConcat(sp6C, sp3C, sp3C); Hu3DMtxTransGet(sp3C, &spC); - VECAdd(&spC, &sp30, &sp30); + PSVECAdd(&spC, &sp30, &sp30); BoardModelVisibilitySet(temp_r29, 1); sp24.x = 10.5f; sp24.y = -3.0f; @@ -1065,7 +1074,7 @@ static void ExecBallPrize(void) { sp24.y -= temp_f26; sp24.x *= 0.92f; sp24.z *= 0.92f; - VECAdd(&sp24, &sp30, &sp30); + PSVECAdd(&sp24, &sp30, &sp30); var_f29 += sp24.z; if (sp30.y - 25.0f < temp_f28) { if (var_r28 == 0) { @@ -1294,13 +1303,13 @@ static void ExecScratchSpr(omObjData *arg0) { sp14.y = arg0->trans.y; sp20.x = arg0->rot.x; sp20.y = arg0->rot.y; - VECSubtract(&sp14, &sp20, &sp8); + PSVECSubtract(&sp14, &sp20, &sp8); if (ABS(sp8.x) < 1.0f && ABS(sp8.y) < 1.0f) { sp8 = sp14; temp_r30->unk00_field1 = 1; } else { - VECScale(&sp8, &sp8, 0.2f); - VECAdd(&sp20, &sp8, &sp8); + PSVECScale(&sp8, &sp8, 0.2f); + PSVECAdd(&sp20, &sp8, &sp8); temp_r30->unk00_field1 = 0; } HuSprPosSet(ticketSprGrp, temp_r30->unk00_field2, sp8.x, sp8.y); @@ -1589,16 +1598,16 @@ static s32 TicketUpdate(AnimBmpData *arg0, Vec *arg1, s32 arg2) { if (handUpdateF == 0) { handUpdateF = 1; } - VECNormalize(&sp48, &sp48); + PSVECNormalize(&sp48, &sp48); temp_f20 = atan2f(sp48.x, -sp48.y); sp48.x = sin(temp_f20); sp48.y = cos(temp_f20); - temp_f25 = 127.0f * VECMag(&sp48); + temp_f25 = 127.0f * PSVECMag(&sp48); OSf32tos8(&temp_f25, &spD); HuAudFXVolSet(arg2, spD); sp48.x *= 8.0f; sp48.y *= 8.0f; - VECAdd(&sp48, arg1, &sp3C); + PSVECAdd(&sp48, arg1, &sp3C); var_r18 = 0; if (sp3C.x < 192.0f) { sp3C.x = 192.0f; @@ -1878,7 +1887,7 @@ static void ExecPrize(void) { HuAudFXPlay(0x332); } if (var_r29 == 7) { - BoardModelMotionShiftSet(BoardLotteryHostGet(), lotteryMot[1], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(BoardLotteryHostGet(), lotteryMot[1], 0.0f, 10.0f, 0x40000001); } if (var_r26 != 0) { BoardPlayerPosGet(temp_r30, &sp8); @@ -1922,7 +1931,7 @@ static void ExecPrize(void) { HuAudFXPlay(loseSoundTbl[GWPlayer[temp_r30].character]); BoardPlayerVoiceEnableSet(temp_r30, var_r29, 0); } - BoardPlayerMotionShiftSet(temp_r30, var_r29, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(temp_r30, var_r29, 0.0f, 8.0f, 0); switch (var_r31) { case 0: case 1: @@ -1951,7 +1960,7 @@ static void ExecPrize(void) { } else { var_r28 = lotteryMessBase + 8; } - BoardModelMotionShiftSet(BoardLotteryHostGet(), lotteryMot[2], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(BoardLotteryHostGet(), lotteryMot[2], 0.0f, 10.0f, 0x40000001); BoardWinCreate(2, var_r28, BoardWinPortraitGet()); BoardWinWait(); BoardWinKill(); @@ -1968,7 +1977,7 @@ static void ExecLose(s32 arg0) { temp_r30 = GWPlayer[arg0].character; loseMot = BoardPlayerMotionCreate(arg0, loseMotTbl[temp_r30]); - BoardPlayerMotionShiftSet(arg0, loseMot, 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(arg0, loseMot, 0.0f, 10.0f, 0); HuPrcSleep(10); while (!BoardPlayerMotionEndCheck(arg0)) { HuPrcVSleep(); @@ -2027,8 +2036,8 @@ void BoardLotteryTutorialExec(void) { temp_r29 = BoardSpaceLinkFlagSearch(0, temp_r31, 0x02000000); BoardSpacePosGet(0, temp_r31, &sp38); BoardSpacePosGet(0, temp_r29, &sp2C); - VECSubtract(&sp2C, &sp38, &sp20); - VECNormalize(&sp20, &sp20); + PSVECSubtract(&sp2C, &sp38, &sp20); + PSVECNormalize(&sp20, &sp20); temp_r28 = atan2d(-sp20.x, -sp20.z); sp14.x = -3.0f; sp14.y = temp_r28; @@ -2043,14 +2052,14 @@ void BoardLotteryTutorialExec(void) { while (!BoardModelMotionEndCheck(lotteryMdl[0])) { HuPrcVSleep(); } - BoardModelMotionShiftSet(BoardLotteryHostGet(), lotteryMot[3], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(BoardLotteryHostGet(), lotteryMot[3], 0.0f, 10.0f, 0); HuPrcSleep(10); while (!BoardModelMotionEndCheck(BoardShopHostGet())) { HuPrcVSleep(); } - BoardModelMotionShiftSet(BoardLotteryHostGet(), lotteryMot[0], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(BoardLotteryHostGet(), lotteryMot[0], 0.0f, 10.0f, 0x40000001); BoardTutorialHookExec(0x1C, 0); - BoardModelMotionShiftSet(BoardLotteryHostGet(), lotteryMot[2], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(BoardLotteryHostGet(), lotteryMot[2], 0.0f, 10.0f, 0x40000001); HuPrcSleep(30); BoardModelMotionStart(lotteryMdl[0], 0, 0x40000004); while (!BoardModelMotionEndCheck(lotteryMdl[0])) { diff --git a/src/game/board/main.c b/src/game/board/main.c index 1ce8c180..1e3071c6 100644 --- a/src/game/board/main.c +++ b/src/game/board/main.c @@ -1,5 +1,5 @@ #include "game/gamework_data.h" -#include "ext_math.h" +#include "math.h" #include "game/object.h" #include "game/flag.h" #include "game/data.h" @@ -19,13 +19,12 @@ #include "game/board/tutorial.h" #include "game/board/ui.h" #include "game/pad.h" -#include "game/disp.h" #include "game/msm.h" typedef struct camera_view { - s16 x_rot; - s16 zoom; - s16 fov; + s16 x_rot; + s16 zoom; + s16 fov; } CameraView; omObjData *boardMainObj; @@ -54,12 +53,12 @@ static BoardCameraData cameraBackup; static OverlayID nextOvl = OVL_INVALID; static CameraView camViewTbl[] = { - { 0, 0, 25 }, - { -33, 3200, 25 }, - { -33, 2100, 25 }, - { -33, 1800, 25 }, - { -33, 12640, 25 }, - { -33, 3200, 25 }, + { 0, 0, 25 }, + { -33, 3200, 25 }, + { -33, 2100, 25 }, + { -33, 1800, 25 }, + { -33, 12640, 25 }, + { -33, 3200, 25 }, }; @@ -83,1181 +82,1184 @@ static void DestroyBoard(void); void BoardObjectSetup(BoardFunc create, BoardFunc destroy) { - omSysPauseEnable(FALSE); - if(!_CheckFlag(FLAG_ID_MAKE(1, 0))) { - _SetFlag(FLAG_ID_MAKE(1, 0)); - _ClearFlag(FLAG_ID_MAKE(2, 1)); - _ClearFlag(FLAG_ID_MAKE(2, 3)); - _ClearFlag(FLAG_ID_MAKE(2, 0)); - _ClearFlag(FLAG_ID_MAKE(2, 2)); - _ClearFlag(FLAG_ID_MAKE(2, 4)); - _ClearFlag(FLAG_ID_MAKE(2, 5)); - _ClearFlag(FLAG_ID_MAKE(1, 6)); - _ClearFlag(FLAG_ID_MAKE(1, 9)); - _ClearFlag(FLAG_ID_MAKE(0, 8)); - _ClearFlag(FLAG_ID_MAKE(0, 10)); - BoardMGSetupPlayClear(); - } - - nextOvl = OVL_INVALID; - _SetFlag(FLAG_ID_MAKE(1, 28)); - _SetFlag(FLAG_ID_MAKE(1, 14)); - _ClearFlag(FLAG_ID_MAKE(1, 16)); - _ClearFlag(FLAG_ID_MAKE(1, 17)); - _ClearFlag(FLAG_ID_MAKE(1, 18)); - _ClearFlag(FLAG_ID_MAKE(1, 19)); - _ClearFlag(FLAG_ID_MAKE(1, 20)); - _ClearFlag(FLAG_ID_MAKE(1, 21)); - _ClearFlag(FLAG_ID_MAKE(1, 23)); - _ClearFlag(FLAG_ID_MAKE(1, 24)); - _ClearFlag(FLAG_ID_MAKE(1, 25)); - _ClearFlag(FLAG_ID_MAKE(1, 27)); - createFunc = create; - destroyFunc = destroy; - boardTurnFunc = NULL; - boardStarShowNextHook = NULL; - boardBowserHook = NULL; - boardStarGiveHook = NULL; - boardTurnStartFunc = NULL; - boardObjMan = omInitObjMan(64, 8192); - omSystemKeyCheckSetup(boardObjMan); - boardMainObj = omAddObjEx(boardObjMan, 0, 0, 0, -1, InitBoardFunc); - switch(omcurovl) { - case OVL_W01: - GWSystem.board = BOARD_ID_MAIN1; - break; - - case OVL_W02: - GWSystem.board = BOARD_ID_MAIN2; - break; - - case OVL_W03: - GWSystem.board = BOARD_ID_MAIN3; - break; - - case OVL_W04: - GWSystem.board = BOARD_ID_MAIN4; - break; - - case OVL_W05: - GWSystem.board = BOARD_ID_MAIN5; - break; - - case OVL_W06: - GWSystem.board = BOARD_ID_MAIN6; - break; - - case OVL_W10: - GWSystem.board = BOARD_ID_TUTORIAL; - break; - - case OVL_W20: - GWSystem.board = BOARD_ID_EXTRA1; - break; - - case OVL_W21: - GWSystem.board = BOARD_ID_EXTRA2; - break; - } + omSysPauseEnable(FALSE); + if(!_CheckFlag(FLAG_ID_MAKE(1, 0))) { + _SetFlag(FLAG_ID_MAKE(1, 0)); + _ClearFlag(FLAG_ID_MAKE(2, 1)); + _ClearFlag(FLAG_ID_MAKE(2, 3)); + _ClearFlag(FLAG_ID_MAKE(2, 0)); + _ClearFlag(FLAG_ID_MAKE(2, 2)); + _ClearFlag(FLAG_ID_MAKE(2, 4)); + _ClearFlag(FLAG_ID_MAKE(2, 5)); + _ClearFlag(FLAG_ID_MAKE(1, 6)); + _ClearFlag(FLAG_ID_MAKE(1, 9)); + _ClearFlag(FLAG_ID_MAKE(0, 8)); + _ClearFlag(FLAG_ID_MAKE(0, 10)); + BoardMGSetupPlayClear(); + } + + nextOvl = OVL_INVALID; + _SetFlag(FLAG_ID_MAKE(1, 28)); + _SetFlag(FLAG_ID_MAKE(1, 14)); + _ClearFlag(FLAG_ID_MAKE(1, 16)); + _ClearFlag(FLAG_ID_MAKE(1, 17)); + _ClearFlag(FLAG_ID_MAKE(1, 18)); + _ClearFlag(FLAG_ID_MAKE(1, 19)); + _ClearFlag(FLAG_ID_MAKE(1, 20)); + _ClearFlag(FLAG_ID_MAKE(1, 21)); + _ClearFlag(FLAG_ID_MAKE(1, 23)); + _ClearFlag(FLAG_ID_MAKE(1, 24)); + _ClearFlag(FLAG_ID_MAKE(1, 25)); + _ClearFlag(FLAG_ID_MAKE(1, 27)); + createFunc = create; + destroyFunc = destroy; + boardTurnFunc = NULL; + boardStarShowNextHook = NULL; + boardBowserHook = NULL; + boardStarGiveHook = NULL; + boardTurnStartFunc = NULL; + boardObjMan = omInitObjMan(64, 8192); + omSystemKeyCheckSetup(boardObjMan); + boardMainObj = omAddObjEx(boardObjMan, 0, 0, 0, -1, InitBoardFunc); + switch(omcurovl) { + case OVL_W01: + GWSystem.board = BOARD_ID_MAIN1; + break; + + case OVL_W02: + GWSystem.board = BOARD_ID_MAIN2; + break; + + case OVL_W03: + GWSystem.board = BOARD_ID_MAIN3; + break; + + case OVL_W04: + GWSystem.board = BOARD_ID_MAIN4; + break; + + case OVL_W05: + GWSystem.board = BOARD_ID_MAIN5; + break; + + case OVL_W06: + GWSystem.board = BOARD_ID_MAIN6; + break; + + case OVL_W10: + GWSystem.board = BOARD_ID_TUTORIAL; + break; + + case OVL_W20: + GWSystem.board = BOARD_ID_EXTRA1; + break; + + case OVL_W21: + GWSystem.board = BOARD_ID_EXTRA2; + break; + + case OVL_W07: + GWSystem.board = BOARD_ID_CUSTOM; + break; + } } static void InitBoardFunc(omObjData *object) { - boardMainProc = HuPrcChildCreate(MainFunc, 8194, 0x6000, 0, boardObjMan); - HuPrcDestructorSet2(boardMainProc, DestroyMainFunc); - object->func = ExecBoardFunc; + boardMainProc = HuPrcChildCreate(MainFunc, 8194, 0x6000, 0, boardObjMan); + HuPrcDestructorSet2(boardMainProc, DestroyMainFunc); + object->func = ExecBoardFunc; } static void ExecBoardFunc(omObjData *object) { - if(!_CheckFlag(FLAG_ID_MAKE(1, 16))) { - return; - } - if(!_CheckFlag(FLAG_ID_MAKE(1, 17))) { - if(omSysExitReq) { - BoardKill(); - } else { - if(BoardPauseReqCheck()) { - BoardPauseStart(); - } else { - return; - } - } - } else { - if(boardMainProc) { - HuPrcKill(boardMainProc); - } - object->func = KillBoardFunc; - } + if(!_CheckFlag(FLAG_ID_MAKE(1, 16))) { + return; + } + if(!_CheckFlag(FLAG_ID_MAKE(1, 17))) { + if(omSysExitReq) { + BoardKill(); + } else { + if(BoardPauseReqCheck()) { + BoardPauseStart(); + } else { + return; + } + } + } else { + if(boardMainProc) { + HuPrcKill(boardMainProc); + } + object->func = KillBoardFunc; + } } static void KillBoardFunc(omObjData *object) { - if(boardMainProc) { - return; - } - if(WipeStatGet()) { - return; - return_alt: - return; - } else { - if(HuARDMACheck()) { - goto return_alt; - } - if(nextOvl != OVL_INVALID) { - omOvlCallEx(nextOvl, 1, 0, 0); - } else { - if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { - BoardTutorialKill(); - BoardTutorialWorkRestore(); - } - _ClearFlag(FLAG_ID_MAKE(1, 0)); - HuARDirFree(DATADIR_BOARD); - if(_CheckFlag(FLAG_ID_MAKE(1, 27))) { - omOvlReturnEx(2, 1); - } else { - omOvlReturnEx(1, 1); - } - } - } + if(boardMainProc) { + return; + } + if(WipeStatGet()) { + return; + return_alt: + return; + } else { + if(HuARDMACheck()) { + goto return_alt; + } + if(nextOvl != OVL_INVALID) { + omOvlCallEx(nextOvl, 1, 0, 0); + } else { + if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { + BoardTutorialKill(); + BoardTutorialWorkRestore(); + } + _ClearFlag(FLAG_ID_MAKE(1, 0)); + HuARDirFree(DATADIR_BOARD); + if(_CheckFlag(FLAG_ID_MAKE(1, 27))) { + omOvlReturnEx(2, 1); + } else { + omOvlReturnEx(1, 1); + } + } + } } void BoardKill(void) { - _SetFlag(FLAG_ID_MAKE(1, 28)); - _SetFlag(FLAG_ID_MAKE(1, 14)); - if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { - BoardTutorialHookExec(29, 0); - } - HuAudFXAllStop(); - if(!BoardStartCheck()) { - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); - boardTutorialF = 1; - while(WipeStatGet()) { - HuPrcVSleep(); - } - } - _SetFlag(FLAG_ID_MAKE(1, 17)); - HuPrcKill(boardMainProc); - DestroyBoard(); + _SetFlag(FLAG_ID_MAKE(1, 28)); + _SetFlag(FLAG_ID_MAKE(1, 14)); + if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { + BoardTutorialHookExec(29, 0); + } + HuAudFXAllStop(); + if(!BoardStartCheck()) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); + boardTutorialF = 1; + while(WipeStatGet()) { + HuPrcVSleep(); + } + } + _SetFlag(FLAG_ID_MAKE(1, 17)); + HuPrcKill(boardMainProc); + DestroyBoard(); } s32 BoardIsKill(void) { - return (_CheckFlag(FLAG_ID_MAKE(1, 17))) ? 1 : 0; + return (_CheckFlag(FLAG_ID_MAKE(1, 17))) ? 1 : 0; } void BoardPauseDisableSet(s32 value) { - if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { - _SetFlag(FLAG_ID_MAKE(1, 25)); - omSysPauseEnable(FALSE); - } else { - if(value) { - _SetFlag(FLAG_ID_MAKE(1, 25)); - } else { - _ClearFlag(FLAG_ID_MAKE(1, 25)); - } - } + if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { + _SetFlag(FLAG_ID_MAKE(1, 25)); + omSysPauseEnable(FALSE); + } else { + if(value) { + _SetFlag(FLAG_ID_MAKE(1, 25)); + } else { + _ClearFlag(FLAG_ID_MAKE(1, 25)); + } + } } s32 BoardPauseDisableGet() { - return (_CheckFlag(FLAG_ID_MAKE(1, 25))) ? 1 : 0; + return (_CheckFlag(FLAG_ID_MAKE(1, 25))) ? 1 : 0; } void BoardSaveInit(s32 board) { - s32 i; - GWSystem.board = board; - _ClearFlag(FLAG_ID_MAKE(1, 0)); - _ClearFlag(FLAG_ID_MAKE(1, 1)); - _ClearFlag(FLAG_ID_MAKE(1, 5)); - _ClearFlag(FLAG_ID_MAKE(1, 4)); - _ClearFlag(FLAG_ID_MAKE(1, 6)); - _ClearFlag(FLAG_ID_MAKE(1, 2)); - _ClearFlag(FLAG_ID_MAKE(1, 9)); - _ClearFlag(FLAG_ID_MAKE(1, 7)); - _ClearFlag(FLAG_ID_MAKE(1, 8)); - _ClearFlag(FLAG_ID_MAKE(0, 8)); - _ClearFlag(FLAG_ID_MAKE(1, 12)); - _ClearFlag(FLAG_ID_MAKE(1, 3)); - GWSystem.turn = 1; - GWSystem.star_flag = 0; - GWSystem.star_pos = 0; - GWSystem.star_total = 1; - GWSystem.last5_effect = 0; - GWSystem.player_curr = -1; - GWSystem.bowser_loss = 0; - GWSystem.bowser_event = 0; - GWSystem.lucky_value = 1; - GWSystem.mg_next = 0; - GWMGTypeSet(0); - GWSystem.unk_38 = 0; - GWSystem.block_pos = 0; - memset(GWSystem.board_data, 0, sizeof(GWSystem.board_data)); - for(i=0; i<4; i++) { - s32 party_flag; - BoardPlayerAutoSizeSet(i, 0); - GWPlayer[i].draw_ticket = 0; - GWPlayer[i].color = 0; - GWPlayer[i].bowser_suit = 0; - GWPlayer[i].jump = 0; - GWPlayer[i].space_shock = 0; - GWPlayer[i].spark = 0; - GWPlayer[i].show_next = 1; - BoardPlayerCoinsSet(i, 0); - if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { - GWSystem.team = 0; - } - GWPlayer[i].blue_count = 0; - GWPlayer[i].red_count = 0; - GWPlayer[i].question_count = 0; - GWPlayer[i].fortune_count = 0; - GWPlayer[i].bowser_count = 0; - GWPlayer[i].battle_count = 0; - GWPlayer[i].mushroom_count = 0; - GWPlayer[i].warp_count = 0; - GWPlayer[i].coins_mg = 0; - GWPlayer[i].coins_total = 0; - GWPlayer[i].coins_max = 0; - GWPlayer[i].stars_max = 0; - GWPlayer[i].coins_battle = 0; - GWPlayer[i].coin_collect = 0; - GWPlayer[i].coin_win = 0; - GWPlayer[i].items[0] = -1; - GWPlayer[i].items[1] = -1; - GWPlayer[i].items[2] = -1; - if(GWPartyGet() == 0 || _CheckFlag(FLAG_ID_MAKE(1, 11))) { - GWStarsSet(i, 0); - } else { - GWStarsSet(i, BoardPlayerHandicapGet(i)); - } - } + s32 i; + GWSystem.board = board; + _ClearFlag(FLAG_ID_MAKE(1, 0)); + _ClearFlag(FLAG_ID_MAKE(1, 1)); + _ClearFlag(FLAG_ID_MAKE(1, 5)); + _ClearFlag(FLAG_ID_MAKE(1, 4)); + _ClearFlag(FLAG_ID_MAKE(1, 6)); + _ClearFlag(FLAG_ID_MAKE(1, 2)); + _ClearFlag(FLAG_ID_MAKE(1, 9)); + _ClearFlag(FLAG_ID_MAKE(1, 7)); + _ClearFlag(FLAG_ID_MAKE(1, 8)); + _ClearFlag(FLAG_ID_MAKE(0, 8)); + _ClearFlag(FLAG_ID_MAKE(1, 12)); + _ClearFlag(FLAG_ID_MAKE(1, 3)); + GWSystem.turn = 1; + GWSystem.star_flag = 0; + GWSystem.star_pos = 0; + GWSystem.star_total = 1; + GWSystem.last5_effect = 0; + GWSystem.player_curr = -1; + GWSystem.bowser_loss = 0; + GWSystem.bowser_event = 0; + GWSystem.lucky_value = 1; + GWSystem.mg_next = 0; + GWMGTypeSet(0); + GWSystem.unk_38 = 0; + GWSystem.block_pos = 0; + memset(GWSystem.board_data, 0, sizeof(GWSystem.board_data)); + for(i=0; i<4; i++) { + s32 party_flag; + BoardPlayerAutoSizeSet(i, 0); + GWPlayer[i].draw_ticket = 0; + GWPlayer[i].color = 0; + GWPlayer[i].bowser_suit = 0; + GWPlayer[i].jump = 0; + GWPlayer[i].space_shock = 0; + GWPlayer[i].spark = 0; + GWPlayer[i].show_next = 1; + BoardPlayerCoinsSet(i, 0); + if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { + GWSystem.team = 0; + } + GWPlayer[i].blue_count = 0; + GWPlayer[i].red_count = 0; + GWPlayer[i].question_count = 0; + GWPlayer[i].fortune_count = 0; + GWPlayer[i].bowser_count = 0; + GWPlayer[i].battle_count = 0; + GWPlayer[i].mushroom_count = 0; + GWPlayer[i].warp_count = 0; + GWPlayer[i].coins_mg = 0; + GWPlayer[i].coins_total = 0; + GWPlayer[i].coins_max = 0; + GWPlayer[i].stars_max = 0; + GWPlayer[i].coins_battle = 0; + GWPlayer[i].coin_collect = 0; + GWPlayer[i].coin_win = 0; + GWPlayer[i].items[0] = -1; + GWPlayer[i].items[1] = -1; + GWPlayer[i].items[2] = -1; + if(GWPartyGet() == 0 || _CheckFlag(FLAG_ID_MAKE(1, 11))) { + GWStarsSet(i, 0); + } else { + GWStarsSet(i, BoardPlayerHandicapGet(i)); + } + } } void BoardStoryConfigSet(s32 mg_list, s32 diff_story) { - GWSystem.party = 0; - GWSystem.team = 0; - GWSystem.diff_story = diff_story; - GWSystem.bonus_star = 0; - GWMGListSet(mg_list); - GWPlayer[0].handicap = 0; - GWPlayer[1].handicap = 0; - GWPlayer[2].handicap = 0; - GWPlayer[3].handicap = 0; - GWSystem.max_turn = 15; - memset(GWPlayer, 0, 4*sizeof(PlayerState)); - _ClearFlag(FLAG_ID_MAKE(0, 2)); - _ClearFlag(FLAG_ID_MAKE(0, 3)); - _ClearFlag(FLAG_ID_MAKE(0, 4)); - _ClearFlag(FLAG_ID_MAKE(0, 5)); - _ClearFlag(FLAG_ID_MAKE(0, 6)); - _ClearFlag(FLAG_ID_MAKE(0, 7)); - _ClearFlag(FLAG_ID_MAKE(1, 11)); - _SetFlag(FLAG_ID_MAKE(0, 11)); - _SetFlag(FLAG_ID_MAKE(1, 10)); + GWSystem.party = 0; + GWSystem.team = 0; + GWSystem.diff_story = diff_story; + GWSystem.bonus_star = 0; + GWMGListSet(mg_list); + GWPlayer[0].handicap = 0; + GWPlayer[1].handicap = 0; + GWPlayer[2].handicap = 0; + GWPlayer[3].handicap = 0; + GWSystem.max_turn = 15; + memset(GWPlayer, 0, 4*sizeof(PlayerState)); + _ClearFlag(FLAG_ID_MAKE(0, 2)); + _ClearFlag(FLAG_ID_MAKE(0, 3)); + _ClearFlag(FLAG_ID_MAKE(0, 4)); + _ClearFlag(FLAG_ID_MAKE(0, 5)); + _ClearFlag(FLAG_ID_MAKE(0, 6)); + _ClearFlag(FLAG_ID_MAKE(0, 7)); + _ClearFlag(FLAG_ID_MAKE(1, 11)); + _SetFlag(FLAG_ID_MAKE(0, 11)); + _SetFlag(FLAG_ID_MAKE(1, 10)); } void BoardPartyConfigSet(s32 team, s32 bonus_star, s32 mg_list, s32 max_turn, s32 p1_handicap, s32 p2_handicap, s32 p3_handicap, s32 p4_handicap) { - GWSystem.party = 1; - GWSystem.team = team; - GWSystem.diff_story = 0; - GWSystem.bonus_star = bonus_star; - GWMGListSet(mg_list); - GWSystem.max_turn = max_turn; - memset(GWPlayer, 0, 4*sizeof(PlayerState)); - GWPlayer[0].handicap = p1_handicap; - GWPlayer[1].handicap = p2_handicap; - GWPlayer[2].handicap = p3_handicap; - GWPlayer[3].handicap = p4_handicap; - _ClearFlag(FLAG_ID_MAKE(1, 11)); - _SetFlag(FLAG_ID_MAKE(0, 11)); - _SetFlag(FLAG_ID_MAKE(1, 10)); + GWSystem.party = 1; + GWSystem.team = team; + GWSystem.diff_story = 0; + GWSystem.bonus_star = bonus_star; + GWMGListSet(mg_list); + GWSystem.max_turn = max_turn; + memset(GWPlayer, 0, 4*sizeof(PlayerState)); + GWPlayer[0].handicap = p1_handicap; + GWPlayer[1].handicap = p2_handicap; + GWPlayer[2].handicap = p3_handicap; + GWPlayer[3].handicap = p4_handicap; + _ClearFlag(FLAG_ID_MAKE(1, 11)); + _SetFlag(FLAG_ID_MAKE(0, 11)); + _SetFlag(FLAG_ID_MAKE(1, 10)); } static void DestroyMainFunc(void) { - boardMainProc = NULL; + boardMainProc = NULL; } #define CHECK_LAST5_TURN() ((s32)(GWSystem.max_turn-GWSystem.turn) < 5) static void MainFunc(void) { - s32 i; - s32 fade_enable, turn_cont, fade_type; - fade_enable = 0; - turn_cont = 0; - BoardPauseDisableSet(1); - if(_CheckFlag(FLAG_ID_MAKE(0, 10))) { - _ClearFlag(FLAG_ID_MAKE(0, 10)); - _SetFlag(FLAG_ID_MAKE(1, 16)); - BoardKill(); - HuPrcSleep(-1); - } - _ClearFlag(FLAG_ID_MAKE(0, 10)); - BoardTutorialInit(); - if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { - BoardTutorialWorkSave(); - BoardTutorialPlayerInit(); - #if VERSION_PAL - GWMessSpeedSet(3); - #else - GWMessSpeedSet(1); - #endif - } - CreateBoard(); - if(!_CheckFlag(FLAG_ID_MAKE(1, 1))) { - GWSystem.player_curr = -1; - BoardStartExec(); - GWSystem.player_curr = 0; - fade_enable = 1; - _SetFlag(FLAG_ID_MAKE(1, 1)); - } else { - fade_enable = 0; - } - if(ExecTurnStart()) { - turn_cont = 1; - } - if(CHECK_LAST5_TURN() && GWSystem.player_curr == 0 && !turn_cont) { - if(!_CheckFlag(FLAG_ID_MAKE(0, 8))) { - BoardLast5Exec(); - _SetFlag(FLAG_ID_MAKE(0, 8)); - } else { - BoardLast5GfxInit(); - } - } - if(!turn_cont) { - fade_type = 1; - } else { - fade_type = 0; - } - _ClearFlag(FLAG_ID_MAKE(1, 28)); - do { - BoardStatusShowSetAll(1); - if(GWBoardGet() == BOARD_ID_MAIN6 && GWSystem.player_curr == 0 && !turn_cont && boardTurnFunc) { - GWSystem.player_curr = -1; - boardTurnFunc(); - GWSystem.player_curr = 0; - } - BoardMusStartBoard(); - for(i=GWSystem.player_curr; i<4; i++) { - if(GWBoardGet() == BOARD_ID_EXTRA1 || GWBoardGet() == BOARD_ID_EXTRA2) { - if(CHECK_LAST5_TURN() && i == 0 && !turn_cont) { - BoardLast5GfxInit(); - _SetFlag(FLAG_ID_MAKE(0, 8)); - } - } - if(_CheckFlag(FLAG_ID_MAKE(1, 6))) { - BoardPlayerTurnExec(i); - } else { - if(!turn_cont) { - BoardCameraMoveSet(0); - GWSystem.player_curr = i; - BoardCameraTargetPlayerSet(i); - BoardCameraMotionWait(); - { - Vec pos; - BoardSpacePosGet(0, GWPlayer[i].space_curr, &pos); - BoardPlayerPosSetV(i, &pos); - } - while(WipeStatGet()) { - HuPrcVSleep(); - } - if(!fade_enable) { - if(!fade_type) { - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_CROSS, 30); - while(WipeStatGet()) { - HuPrcVSleep(); - } - } else { - fade_type = 0; - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 21); - while(WipeStatGet()) { - HuPrcVSleep(); - } - } - } else { - fade_enable = 0; - } - BoardPlayerTurnExec(i); - } - } - turn_cont = 0; - if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { - BoardTutorialHookExec(9, 0); - } - if(i != 3 || _CheckFlag(FLAG_ID_MAKE(1, 11))) { - WipeColorSet(255, 255, 255); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_CROSS, 1); - while(WipeStatGet()) { - HuPrcVSleep(); - } - BoardPlayerMoveAwayStartCurr(GWPlayer[i].space_curr, 1); - fade_type = 0; - } else { - if(GWBoardGet() == BOARD_ID_EXTRA1 || GWBoardGet() == BOARD_ID_EXTRA2) { - if(GWSystem.turn != GWSystem.max_turn) { - WipeColorSet(255, 255, 255); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_CROSS, 1); - while(WipeStatGet()) { - HuPrcVSleep(); - } - BoardPlayerMoveAwayStartCurr(GWPlayer[i].space_curr, 1); - fade_type = 0; - } - } else { - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 21); - while(WipeStatGet()) { - HuPrcVSleep(); - } - } - } - BoardPlayerPostTurnHookExec(i); - } - if(GWBoardGet() == BOARD_ID_EXTRA1 || GWBoardGet() == BOARD_ID_EXTRA2) { - GWSystem.player_curr = 0; - if(BoardTurnNext()) { - BoardAudSeqFadeOut(0, 500); - BoardKill(); - HuPrcEnd(); - HuPrcSleep(-1); - } - } else { - _SetFlag(FLAG_ID_MAKE(1, 28)); - _SetFlag(FLAG_ID_MAKE(1, 14)); - BoardPauseDisableSet(1); - _ClearFlag(FLAG_ID_MAKE(1, 9)); - if(_CheckFlag(FLAG_ID_MAKE(2, 0)) || _CheckFlag(FLAG_ID_MAKE(1, 11)) ) { - for(i=0; i<4; i++) { - GWPlayer[i].color = 0; - } - GWSystem.player_curr = (GWSystem.player_curr+1)&3; - } else { - BoardMGSetupExec(); - HuPrcSleep(-1); - } - } - } while(1); + s32 i; + s32 fade_enable, turn_cont, fade_type; + fade_enable = 0; + turn_cont = 0; + BoardPauseDisableSet(1); + if(_CheckFlag(FLAG_ID_MAKE(0, 10))) { + _ClearFlag(FLAG_ID_MAKE(0, 10)); + _SetFlag(FLAG_ID_MAKE(1, 16)); + BoardKill(); + HuPrcSleep(-1); + } + _ClearFlag(FLAG_ID_MAKE(0, 10)); + BoardTutorialInit(); + if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { + BoardTutorialWorkSave(); + BoardTutorialPlayerInit(); + GWSystem.mess_speed = 1; + GWSystem.mess_delay = 32; + } + CreateBoard(); + if(!_CheckFlag(FLAG_ID_MAKE(1, 1))) { + GWSystem.player_curr = -1; + BoardStartExec(); + GWSystem.player_curr = 0; + fade_enable = 1; + _SetFlag(FLAG_ID_MAKE(1, 1)); + } else { + fade_enable = 0; + } + if(ExecTurnStart()) { + turn_cont = 1; + } + if(CHECK_LAST5_TURN() && GWSystem.player_curr == 0 && !turn_cont) { + if(!_CheckFlag(FLAG_ID_MAKE(0, 8))) { + BoardLast5Exec(); + _SetFlag(FLAG_ID_MAKE(0, 8)); + } else { + BoardLast5GfxInit(); + } + } + if(!turn_cont) { + fade_type = 1; + } else { + fade_type = 0; + } + _ClearFlag(FLAG_ID_MAKE(1, 28)); + do { + BoardStatusShowSetAll(1); + if(GWBoardGet() == BOARD_ID_MAIN6 && GWSystem.player_curr == 0 && !turn_cont && boardTurnFunc) { + GWSystem.player_curr = -1; + boardTurnFunc(); + GWSystem.player_curr = 0; + } + BoardMusStartBoard(); + for(i=GWSystem.player_curr; i<4; i++) { + if(GWBoardGet() == BOARD_ID_EXTRA1 || GWBoardGet() == BOARD_ID_EXTRA2) { + if(CHECK_LAST5_TURN() && i == 0 && !turn_cont) { + BoardLast5GfxInit(); + _SetFlag(FLAG_ID_MAKE(0, 8)); + } + } + if(_CheckFlag(FLAG_ID_MAKE(1, 6))) { + BoardPlayerTurnExec(i); + } else { + if(!turn_cont) { + BoardCameraMoveSet(0); + GWSystem.player_curr = i; + BoardCameraTargetPlayerSet(i); + BoardCameraMotionWait(); + { + Vec pos; + BoardSpacePosGet(0, GWPlayer[i].space_curr, &pos); + BoardPlayerPosSetV(i, &pos); + } + while(WipeStatGet()) { + HuPrcVSleep(); + } + if(!fade_enable) { + if(!fade_type) { + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_CROSS, 30); + while(WipeStatGet()) { + HuPrcVSleep(); + } + } else { + fade_type = 0; + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 21); + while(WipeStatGet()) { + HuPrcVSleep(); + } + } + } else { + fade_enable = 0; + } + BoardPlayerTurnExec(i); + } + } + turn_cont = 0; + if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { + BoardTutorialHookExec(9, 0); + } + if(i != 3 || _CheckFlag(FLAG_ID_MAKE(1, 11))) { + WipeColorSet(255, 255, 255); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_CROSS, 1); + while(WipeStatGet()) { + HuPrcVSleep(); + } + BoardPlayerMoveAwayStartCurr(GWPlayer[i].space_curr, 1); + fade_type = 0; + } else { + if(GWBoardGet() == BOARD_ID_EXTRA1 || GWBoardGet() == BOARD_ID_EXTRA2) { + if(GWSystem.turn != GWSystem.max_turn) { + WipeColorSet(255, 255, 255); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_CROSS, 1); + while(WipeStatGet()) { + HuPrcVSleep(); + } + BoardPlayerMoveAwayStartCurr(GWPlayer[i].space_curr, 1); + fade_type = 0; + } + } else { + WipeColorSet(0, 0, 0); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 21); + while(WipeStatGet()) { + HuPrcVSleep(); + } + } + } + BoardPlayerPostTurnHookExec(i); + } + if(GWBoardGet() == BOARD_ID_EXTRA1 || GWBoardGet() == BOARD_ID_EXTRA2) { + GWSystem.player_curr = 0; + if(BoardTurnNext()) { + BoardAudSeqFadeOut(0, 500); + BoardKill(); + HuPrcEnd(); + HuPrcSleep(-1); + } + } else { + _SetFlag(FLAG_ID_MAKE(1, 28)); + _SetFlag(FLAG_ID_MAKE(1, 14)); + BoardPauseDisableSet(1); + _ClearFlag(FLAG_ID_MAKE(1, 9)); + if(_CheckFlag(FLAG_ID_MAKE(2, 0)) || _CheckFlag(FLAG_ID_MAKE(1, 11)) ) { + for(i=0; i<4; i++) { + GWPlayer[i].color = 0; + } + GWSystem.player_curr = (GWSystem.player_curr+1)&3; + } else { + BoardMGSetupExec(); + HuPrcSleep(-1); + } + } + } while(1); } s32 BoardTurnNext(void) { - s32 i; - for(i=0; i<4; i++) { - GWPlayer[i].color = 0; - } - GWSystem.turn++; - if(GWSystem.turn > GWSystem.max_turn) { - return 1; - } else { - return 0; - } + s32 i; + for(i=0; i<4; i++) { + GWPlayer[i].color = 0; + } + GWSystem.turn++; + if(GWSystem.turn > GWSystem.max_turn) { + return 1; + } else { + return 0; + } } static s32 ExecTurnStart(void) { - s32 player; - s32 space; - if(!BoardStartCheck()) { - return 0; - } - player = GWSystem.player_curr; - space = GWPlayer[player].space_curr; - if(_CheckFlag(FLAG_ID_MAKE(1, 5))) { - BoardFortuneExec(player, space); - _ClearFlag(FLAG_ID_MAKE(1, 5)); - } else if(_CheckFlag(FLAG_ID_MAKE(1, 4))) { - BoardMusStartBoard(); - BoardBattleExec(player, space); - _ClearFlag(FLAG_ID_MAKE(1, 4)); - } else if(_CheckFlag(FLAG_ID_MAKE(1, 3))) { - BoardBowserExec(player, space); - _ClearFlag(FLAG_ID_MAKE(1, 3)); - } else if(_CheckFlag(FLAG_ID_MAKE(1, 2))) { - s32 turn_end = 0; - BoardCameraMoveSet(0); - BoardCameraViewSet(2); - BoardCameraMotionWait(); - turn_end = BoardTurnNext(); - if(turn_end) { - BoardKill(); - HuPrcEnd(); - } - _ClearFlag(FLAG_ID_MAKE(1, 2)); - return 0; - } else if(_CheckFlag(FLAG_ID_MAKE(1, 6))) { - boardTurnStartFunc(player, space); - return 1; - } - BoardPlayerZoomRestore(player); - return 1; + s32 player; + s32 space; + if(!BoardStartCheck()) { + return 0; + } + player = GWSystem.player_curr; + space = GWPlayer[player].space_curr; + if(_CheckFlag(FLAG_ID_MAKE(1, 5))) { + BoardFortuneExec(player, space); + _ClearFlag(FLAG_ID_MAKE(1, 5)); + } else if(_CheckFlag(FLAG_ID_MAKE(1, 4))) { + BoardMusStartBoard(); + BoardBattleExec(player, space); + _ClearFlag(FLAG_ID_MAKE(1, 4)); + } else if(_CheckFlag(FLAG_ID_MAKE(1, 3))) { + BoardBowserExec(player, space); + _ClearFlag(FLAG_ID_MAKE(1, 3)); + } else if(_CheckFlag(FLAG_ID_MAKE(1, 2))) { + s32 turn_end = 0; + BoardCameraMoveSet(0); + BoardCameraViewSet(2); + BoardCameraMotionWait(); + turn_end = BoardTurnNext(); + if(turn_end) { + BoardKill(); + HuPrcEnd(); + } + _ClearFlag(FLAG_ID_MAKE(1, 2)); + return 0; + } else if(_CheckFlag(FLAG_ID_MAKE(1, 6))) { + boardTurnStartFunc(player, space); + return 1; + } + BoardPlayerZoomRestore(player); + return 1; } void BoardNextOvlSet(OverlayID overlay) { - nextOvl = overlay; - BoardAudSeqFadeOut(0, 1000); - BoardKill(); + nextOvl = overlay; + BoardAudSeqFadeOut(0, 1000); + BoardKill(); } s32 BoardStartCheck(void) { - if(_CheckFlag(FLAG_ID_MAKE(1, 2)) || _CheckFlag(FLAG_ID_MAKE(1, 3)) || _CheckFlag(FLAG_ID_MAKE(1, 4)) || _CheckFlag(FLAG_ID_MAKE(1, 5)) || _CheckFlag(FLAG_ID_MAKE(1, 6))) { - return 1; - } else { - return 0; - } + if(_CheckFlag(FLAG_ID_MAKE(1, 2)) || _CheckFlag(FLAG_ID_MAKE(1, 3)) || _CheckFlag(FLAG_ID_MAKE(1, 4)) || _CheckFlag(FLAG_ID_MAKE(1, 5)) || _CheckFlag(FLAG_ID_MAKE(1, 6))) { + return 1; + } else { + return 0; + } } static void CreateBoard(void) { - s32 guest_status; - - GWSystem.mg_next = -1; - if(!GWGameStat.customPackEnable && GWMGListGet() == 2) { - GWMGListSet(0); - } - GWMessSpeedSet(GWMessSpeedGet()); - if(GWMGExplainGet()) { - _SetFlag(FLAG_ID_MAKE(0, 11)); - } else { - _ClearFlag(FLAG_ID_MAKE(0, 11)); - } - if(!BoardStartCheck()) { - _ClearFlag(FLAG_ID_MAKE(1, 2)); - _ClearFlag(FLAG_ID_MAKE(1, 3)); - _ClearFlag(FLAG_ID_MAKE(1, 4)); - _ClearFlag(FLAG_ID_MAKE(1, 5)); - _ClearFlag(FLAG_ID_MAKE(1, 6)); - } - _ClearFlag(FLAG_ID_MAKE(1, 8)); - if(!BoardStartCheck()) { - GWSystem.lucky_value = 1; - } - guest_status = BoardDataDirReadAsync(DATADIR_BGUEST); - if(guest_status != -1) { - BoardDataAsyncWait(guest_status); - } - BoardAudSeqClear(); - BoardModelInit(); - BoardRandInit(); - BoardWinInit(); - BoardPlayerModelInit(); - createFunc(); - BoardLightSetExec(); - BoardLotteryInit(); - BoardShopInit(); - BoardBooHouseCreate(); - BoardCameraInit(); - BoardStatusCreate(); - CharModelDataClose(-1); - BoardPlayerInit(); - if(GWSystem.last5_effect == 2) { - BoardSpaceTypeForce(2, 3); - } - if(GWSystem.last5_effect == 3) { - BoardSpaceTypeForce(2, 7); - } - BoardCameraMoveSet(0); - BoardCameraTargetPlayerSet(0); - BoardCameraViewSet(2); - BoardCameraMotionWait(); - BoardTauntInit(); - _SetFlag(FLAG_ID_MAKE(1, 14)); - HuDataDirClose(DATADIR_BKOOPASUIT); - HuDataDirClose(DATADIR_BBATTLE); - HuDataDirClose(DATADIR_BKOOPA); - HuDataDirClose(DATADIR_BKUJIYA); - HuDataDirClose(DATADIR_BYOKODORI); - HuDataDirClose(DATADIR_BPAUSE); - HuDataDirClose(DATADIR_BLAST5); - HuDataDirClose(DATADIR_EFFECT); - _SetFlag(FLAG_ID_MAKE(1, 16)); + s32 guest_status; + + GWSystem.mg_next = -1; + if(!GWGameStat.field10E_bit5 && GWMGListGet() == 2) { + GWMGListSet(0); + } + GWMessSpeedSet(GWMessSpeedGet()); + if(GWMGExplainGet()) { + _SetFlag(FLAG_ID_MAKE(0, 11)); + } else { + _ClearFlag(FLAG_ID_MAKE(0, 11)); + } + if(!BoardStartCheck()) { + _ClearFlag(FLAG_ID_MAKE(1, 2)); + _ClearFlag(FLAG_ID_MAKE(1, 3)); + _ClearFlag(FLAG_ID_MAKE(1, 4)); + _ClearFlag(FLAG_ID_MAKE(1, 5)); + _ClearFlag(FLAG_ID_MAKE(1, 6)); + } + _ClearFlag(FLAG_ID_MAKE(1, 8)); + if(!BoardStartCheck()) { + GWSystem.lucky_value = 1; + } + guest_status = BoardDataDirReadAsync(DATADIR_BGUEST); + if(guest_status != -1) { + BoardDataAsyncWait(guest_status); + } + BoardAudSeqClear(); + BoardModelInit(); + BoardRandInit(); + BoardWinInit(); + BoardPlayerModelInit(); + createFunc(); + BoardLightSetExec(); + BoardLotteryInit(); + BoardShopInit(); + BoardBooHouseCreate(); + BoardCameraInit(); + BoardStatusCreate(); + CharModelDataClose(-1); + BoardPlayerInit(); + if(GWSystem.last5_effect == 2) { + BoardSpaceTypeForce(2, 3); + } + if(GWSystem.last5_effect == 3) { + BoardSpaceTypeForce(2, 7); + } + BoardCameraMoveSet(0); + BoardCameraTargetPlayerSet(0); + BoardCameraViewSet(2); + BoardCameraMotionWait(); + BoardTauntInit(); + _SetFlag(FLAG_ID_MAKE(1, 14)); + HuDataDirClose(DATADIR_BKOOPASUIT); + HuDataDirClose(DATADIR_BBATTLE); + HuDataDirClose(DATADIR_BKOOPA); + HuDataDirClose(DATADIR_BKUJIYA); + HuDataDirClose(DATADIR_BYOKODORI); + HuDataDirClose(DATADIR_BPAUSE); + HuDataDirClose(DATADIR_BLAST5); + HuDataDirClose(DATADIR_EFFECT); + _SetFlag(FLAG_ID_MAKE(1, 16)); } static void DestroyBoard(void) { - s32 dir_table[] = { - DATADIR_W01, - DATADIR_W02, - DATADIR_W03, - DATADIR_W04, - DATADIR_W05, - DATADIR_W06, - DATADIR_W10, - DATADIR_W20, - DATADIR_W21 - }; - BoardTauntKill(); - BoardAudSeqFadeOutAll(); - HuAudAllStop(); - BoardRollKill(); - BoardStatusKill(); - BoardBooHouseKill(); - BoardShopKill(); - BoardLotteryKill(); - BoardSpaceDestroy(); - BoardPlayerModelKill(); - if(destroyFunc) { - destroyFunc(); - } - BoardModelKillAll(); - BoardWinKillAll(); - HuDataDirClose(dir_table[GWBoardGet()]); - HuDataDirClose(DATADIR_EFFECT); - HuDataDirClose(DATADIR_BGUEST); - HuDataDirClose(DATADIR_BKOOPASUIT); - HuDataDirClose(DATADIR_BBATTLE); - HuDataDirClose(DATADIR_BKOOPA); - HuDataDirClose(DATADIR_BKUJIYA); - HuDataDirClose(DATADIR_BYOKODORI); - HuDataDirClose(DATADIR_BOARD); - createFunc = destroyFunc = NULL; + //mod: extend for custom board + s32 dir_table[] = { + DATADIR_W01, + DATADIR_W02, + DATADIR_W03, + DATADIR_W04, + DATADIR_W05, + DATADIR_W06, + DATADIR_W10, + DATADIR_W20, + DATADIR_W21, + DATADIR_W07 + }; + BoardTauntKill(); + BoardAudSeqFadeOutAll(); + HuAudAllStop(); + BoardRollKill(); + BoardStatusKill(); + BoardBooHouseKill(); + BoardShopKill(); + BoardLotteryKill(); + BoardSpaceDestroy(); + BoardPlayerModelKill(); + if(destroyFunc) { + destroyFunc(); + } + BoardModelKillAll(); + BoardWinKillAll(); + HuDataDirClose(dir_table[GWBoardGet()]); + HuDataDirClose(DATADIR_EFFECT); + HuDataDirClose(DATADIR_BGUEST); + HuDataDirClose(DATADIR_BKOOPASUIT); + HuDataDirClose(DATADIR_BBATTLE); + HuDataDirClose(DATADIR_BKOOPA); + HuDataDirClose(DATADIR_BKUJIYA); + HuDataDirClose(DATADIR_BYOKODORI); + HuDataDirClose(DATADIR_BOARD); + createFunc = destroyFunc = NULL; } void BoardLightHookSet(BoardLightHook set, BoardLightHook reset) { - boardLightSetHook = set; - boardLightResetHook = reset; + boardLightSetHook = set; + boardLightResetHook = reset; } void BoardLightSetExec(void) { - Hu3DBGColorSet(0, 0, 0); - if(boardLightSetHook) { - boardLightSetHook(); - } + Hu3DBGColorSet(0, 0, 0); + if(boardLightSetHook) { + boardLightSetHook(); + } } void BoardLightResetExec(void) { - if(boardLightResetHook) { - boardLightResetHook(); - } - Hu3DBGColorSet(0, 0, 0); - Hu3DFogClear(); - Hu3DReflectNoSet(0); + if(boardLightResetHook) { + boardLightResetHook(); + } + Hu3DBGColorSet(0, 0, 0); + Hu3DFogClear(); + Hu3DReflectNoSet(0); } //Fixes order of boardCamera and cameraBackup static BoardCameraData *BoardCameraGet(void) { - return &boardCamera; + return &boardCamera; } void BoardCameraBackup(void) { - cameraUseBackup = TRUE; - memcpy(&cameraBackup, &boardCamera, sizeof(BoardCameraData)); + cameraUseBackup = TRUE; + memcpy(&cameraBackup, &boardCamera, sizeof(BoardCameraData)); } void BoardCameraRestore(void) { - if(cameraUseBackup) { - memcpy(&boardCamera, &cameraBackup, sizeof(BoardCameraData)); - cameraUseBackup = FALSE; - } + if(cameraUseBackup) { + memcpy(&boardCamera, &cameraBackup, sizeof(BoardCameraData)); + cameraUseBackup = FALSE; + } } void BoardCameraScissorSet(s32 x, s32 y, s32 w, s32 h) { - BoardCameraData *camera = &boardCamera; - Hu3DCameraScissorSet(camera->mask, x, y, w, h); + BoardCameraData *camera = &boardCamera; + Hu3DCameraScissorSet(camera->mask, x, y, w, h); } void BoardCameraViewSet(s32 type) { - BoardCameraData *camera = &boardCamera; - BoardFocusData *focus; - float size; - if(!cameraObj) { - return; - } - focus = &camera->focus; - if(type == 0) { - focus->view_type = 0; - return; - } - OSs16tof32(&camViewTbl[type].fov, &focus->fov_end); - focus->fov_start = camera->fov; - OSs16tof32(&camViewTbl[type].zoom, &focus->zoom_end); - focus->zoom_start = camera->zoom; - OSs16tof32(&camViewTbl[type].x_rot, &focus->rot_end.x); - focus->rot_end.y = 0; - focus->rot_end.z = 0; - focus->rot_start = camera->rot; - focus->target_start = camera->target; - if(BoardPlayerSizeGet(GWSystem.player_curr) == 2 || GWPlayer[GWSystem.player_curr].bowser_suit) { - focus->zoom_end += 400.0f; - size = 2.5f; - } else { - size = 1.0f; - } - BoardCameraTargetModelSet(BoardPlayerModelGet(GWSystem.player_curr)); - BoardPlayerPosGet(GWSystem.player_curr, &focus->target_end); - BoardCameraOffsetSet(0.0f, 100.0f*size, 0.0f); - focus->target_end.y += 100.0f*size; - _SetFlag(FLAG_ID_MAKE(1, 21)); - focus->view_type = type; - focus->time = 0; - if(camera->moving) { - focus->max_time = 21; - } else { - focus->max_time = 1; - } + BoardCameraData *camera = &boardCamera; + BoardFocusData *focus; + float size; + if(!cameraObj) { + return; + } + focus = &camera->focus; + if(type == 0) { + focus->view_type = 0; + return; + } + OSs16tof32(&camViewTbl[type].fov, &focus->fov_end); + focus->fov_start = camera->fov; + OSs16tof32(&camViewTbl[type].zoom, &focus->zoom_end); + focus->zoom_start = camera->zoom; + OSs16tof32(&camViewTbl[type].x_rot, &focus->rot_end.x); + focus->rot_end.y = 0; + focus->rot_end.z = 0; + focus->rot_start = camera->rot; + focus->target_start = camera->target; + if(BoardPlayerSizeGet(GWSystem.player_curr) == 2 || GWPlayer[GWSystem.player_curr].bowser_suit) { + focus->zoom_end += 400.0f; + size = 2.5f; + } else { + size = 1.0f; + } + BoardCameraTargetModelSet(BoardPlayerModelGet(GWSystem.player_curr)); + BoardPlayerPosGet(GWSystem.player_curr, &focus->target_end); + BoardCameraOffsetSet(0.0f, 100.0f*size, 0.0f); + focus->target_end.y += 100.0f*size; + _SetFlag(FLAG_ID_MAKE(1, 21)); + focus->view_type = type; + focus->time = 0; + if(camera->moving) { + focus->max_time = 21; + } else { + focus->max_time = 1; + } } s32 BoardCameraPosGet(Vec *dst) { - BoardCameraData *camera; - if(!dst) { - return -1; - } - camera = &boardCamera; - *dst = camera->pos; - return 0; + BoardCameraData *camera; + if(!dst) { + return -1; + } + camera = &boardCamera; + *dst = camera->pos; + return 0; } s32 BoardCameraTargetGet(Vec *dst) { - BoardCameraData *camera; - if(!dst) { - return -1; - } - camera = &boardCamera; - *dst = camera->target; - return 0; + BoardCameraData *camera; + if(!dst) { + return -1; + } + camera = &boardCamera; + *dst = camera->target; + return 0; } s32 BoardCameraRotGet(Vec *dst) { - BoardCameraData *camera; - if(!dst) { - return -1; - } - camera = &boardCamera; - *dst = camera->rot; - return 0; + BoardCameraData *camera; + if(!dst) { + return -1; + } + camera = &boardCamera; + *dst = camera->rot; + return 0; } float BoardCameraZoomGet() { - BoardCameraData *camera; - camera = &boardCamera; - return camera->zoom; + BoardCameraData *camera; + camera = &boardCamera; + return camera->zoom; } s32 BoardCameraDirGet(Vec *dst) { - BoardCameraData *camera; - if(!dst) { - return -1; - } - camera = &boardCamera; - if(!camera) { - return -1; - } - VECSubtract(&camera->target, &camera->pos, dst); - if(dst->x != 0 || dst->y != 0 || dst->z != 0) { - VECNormalize(dst, dst); - } - return 0; + BoardCameraData *camera; + if(!dst) { + return -1; + } + camera = &boardCamera; + if(!camera) { + return -1; + } + VECSubtract(&camera->target, &camera->pos, dst); + if(dst->x != 0 || dst->y != 0 || dst->z != 0) { + VECNormalize(dst, dst); + } + return 0; } s32 BoardCameraPointDirGet(Vec *point, Vec *dst) { - BoardCameraData *camera; - if(!dst || !point) { - return -1; - } - camera = &boardCamera; - if(!camera) { - return -1; - } - VECSubtract(point, &camera->pos, dst); - if(dst->x != 0 || dst->y != 0 || dst->z != 0) { - VECNormalize(dst, dst); - } - return 0; + BoardCameraData *camera; + if(!dst || !point) { + return -1; + } + camera = &boardCamera; + if(!camera) { + return -1; + } + VECSubtract(point, &camera->pos, dst); + if(dst->x != 0 || dst->y != 0 || dst->z != 0) { + VECNormalize(dst, dst); + } + return 0; } void BoardCameraMaskSet(u16 mask) { - BoardCameraData *camera = &boardCamera; - if(!camera) { - return; - } - camera->mask = mask; + BoardCameraData *camera = &boardCamera; + if(!camera) { + return; + } + camera->mask = mask; } void BoardCameraMoveSet(s32 move) { - BoardCameraData *camera = &boardCamera; - if(!camera) { - return; - } - if(!move) { - camera->moving = 0; - } else { - camera->moving = 1; - } + BoardCameraData *camera = &boardCamera; + if(!camera) { + return; + } + if(!move) { + camera->moving = 0; + } else { + camera->moving = 1; + } } void BoardCameraOffsetSet(float x, float y, float z) { - BoardCameraData *camera = &boardCamera; - if(!camera) { - return; - } - camera->offset.x = x; - camera->offset.y = y; - camera->offset.z = z; + BoardCameraData *camera = &boardCamera; + if(!camera) { + return; + } + camera->offset.x = x; + camera->offset.y = y; + camera->offset.z = z; } void BoardCameraTargetPlayerSet(s32 player) { - PlayerState *player_ptr = BoardPlayerGet(player); - if(!player_ptr) { - BoardCameraTargetModelSet(-1); - return; - } - BoardCameraTargetModelSet(BoardPlayerModelGet(player)); - BoardCameraOffsetSet(0, 100, 0); + PlayerState *player_ptr = BoardPlayerGet(player); + if(!player_ptr) { + BoardCameraTargetModelSet(-1); + return; + } + BoardCameraTargetModelSet(BoardPlayerModelGet(player)); + BoardCameraOffsetSet(0, 100, 0); } void BoardCameraTargetModelSet(s16 model) { - BoardCameraData *camera = &boardCamera; - if(!camera) { - return; - } - camera->target_mdl = model; - camera->target_space = -1; - camera->offset.x = camera->offset.y = camera->offset.z = 0; + BoardCameraData *camera = &boardCamera; + if(!camera) { + return; + } + camera->target_mdl = model; + camera->target_space = -1; + camera->offset.x = camera->offset.y = camera->offset.z = 0; } void BoardCameraTargetSpaceSet(s32 space) { - BoardCameraData *camera = &boardCamera; - if(!camera) { - return; - } - camera->target_mdl = -1; - camera->target_space = space; - camera->offset.x = camera->offset.y = camera->offset.z = 0; + BoardCameraData *camera = &boardCamera; + if(!camera) { + return; + } + camera->target_mdl = -1; + camera->target_space = space; + camera->offset.x = camera->offset.y = camera->offset.z = 0; } void BoardCameraPosCalcFuncSet(BoardCameraPosCalcFunc func) { - BoardCameraData *camera = &boardCamera; - if(!camera) { - return; - } - camera->pos_calc = func; + BoardCameraData *camera = &boardCamera; + if(!camera) { + return; + } + camera->pos_calc = func; } void BoardCameraQuakeSet(s32 duration, float strength) { - BoardCameraData *camera = &boardCamera; - if(!camera) { - return; - } - camera->quaking = 1; - camera->quake_strength = strength; - camera->quake_timer = duration; + BoardCameraData *camera = &boardCamera; + if(!camera) { + return; + } + camera->quaking = 1; + camera->quake_strength = strength; + camera->quake_timer = duration; } void BoardCameraQuakeReset() { - BoardCameraData *camera = &boardCamera; - camera->quaking = 0; - camera->quake_strength = 0; - camera->quake_timer = 0; + BoardCameraData *camera = &boardCamera; + camera->quaking = 0; + camera->quake_strength = 0; + camera->quake_timer = 0; } void BoardCameraTargetSet(float x, float y, float z) { - BoardCameraData *camera = &boardCamera; - camera->target.x = x; - camera->target.y = y; - camera->target.z = z; + BoardCameraData *camera = &boardCamera; + camera->target.x = x; + camera->target.y = y; + camera->target.z = z; } void BoardCameraPosSet(float x, float y, float z) { - BoardCameraData *camera = &boardCamera; - camera->pos.x = x; - camera->pos.y = y; - camera->pos.z = z; + BoardCameraData *camera = &boardCamera; + camera->pos.x = x; + camera->pos.y = y; + camera->pos.z = z; } void BoardCameraXRotZoomSet(float zoom, float x_rot) { - BoardCameraData *camera = &boardCamera; - camera->zoom = zoom; - camera->rot.x = x_rot; + BoardCameraData *camera = &boardCamera; + camera->zoom = zoom; + camera->rot.x = x_rot; } void BoardCameraZoomSet(float zoom) { - BoardCameraData *camera = &boardCamera; - camera->zoom = zoom; + BoardCameraData *camera = &boardCamera; + camera->zoom = zoom; } void BoardCameraRotSet(float x, float y) { - BoardCameraData *camera = &boardCamera; - camera->rot.x = x; - camera->rot.y = y; + BoardCameraData *camera = &boardCamera; + camera->rot.x = x; + camera->rot.y = y; } void BoardCameraNearFarSet(float near, float far) { - BoardCameraData *camera = &boardCamera; - camera->near = near; - camera->far = far; + BoardCameraData *camera = &boardCamera; + camera->near = near; + camera->far = far; } void BoardCameraNearFarGet(float *near, float *far) { - BoardCameraData *camera = &boardCamera; - if(near) { - *near = camera->near; - } - if(far) { - *far = camera->far; - } + BoardCameraData *camera = &boardCamera; + if(near) { + *near = camera->near; + } + if(far) { + *far = camera->far; + } } void BoardCameraMotionStart(s16 model_target, Vec *rot_target, float zoom_target, float fov_target) { - BoardCameraMotionStartEx(model_target, rot_target, NULL, zoom_target, fov_target, 21); + BoardCameraMotionStartEx(model_target, rot_target, NULL, zoom_target, fov_target, 21); } void BoardCameraMotionStartEx(s16 model_target, Vec *rot_target, Vec *offset_end, float zoom_target, float fov_target, s16 max_time) { - BoardCameraData *camera = &boardCamera; - BoardFocusData *focus; - if(!cameraObj) { - return; - } - focus = &camera->focus; - focus->fov_start = camera->fov; - focus->zoom_start = camera->zoom; - focus->rot_start = camera->rot; - focus->target_start = camera->target; - if(fov_target == -1) { - focus->fov_end = focus->fov_start; - } else { - focus->fov_end = fov_target; - } - if(zoom_target == -1) { - focus->zoom_end = focus->zoom_start; - } else { - focus->zoom_end = zoom_target; - } - if(!rot_target) { - focus->rot_end = focus->rot_start; - } else { - focus->rot_end = *rot_target; - } - if(model_target == -1) { - focus->target_end = focus->target_start; - } else { - BoardCameraTargetModelSet(model_target); - BoardModelPosGet(model_target, &focus->target_end); - } - if(offset_end) { - BoardCameraOffsetSet(offset_end->x, offset_end->y, offset_end->z); - VECAdd(offset_end, &focus->target_end, &focus->target_end); - } - _SetFlag(FLAG_ID_MAKE(1, 21)); - focus->view_type = 5; - focus->time = 0; - if(max_time < 0) { - max_time = 1; - } - focus->max_time = max_time; + BoardCameraData *camera = &boardCamera; + BoardFocusData *focus; + if(!cameraObj) { + return; + } + focus = &camera->focus; + focus->fov_start = camera->fov; + focus->zoom_start = camera->zoom; + focus->rot_start = camera->rot; + focus->target_start = camera->target; + if(fov_target == -1) { + focus->fov_end = focus->fov_start; + } else { + focus->fov_end = fov_target; + } + if(zoom_target == -1) { + focus->zoom_end = focus->zoom_start; + } else { + focus->zoom_end = zoom_target; + } + if(!rot_target) { + focus->rot_end = focus->rot_start; + } else { + focus->rot_end = *rot_target; + } + if(model_target == -1) { + focus->target_end = focus->target_start; + } else { + BoardCameraTargetModelSet(model_target); + BoardModelPosGet(model_target, &focus->target_end); + } + if(offset_end) { + BoardCameraOffsetSet(offset_end->x, offset_end->y, offset_end->z); + VECAdd(offset_end, &focus->target_end, &focus->target_end); + } + _SetFlag(FLAG_ID_MAKE(1, 21)); + focus->view_type = 5; + focus->time = 0; + if(max_time < 0) { + max_time = 1; + } + focus->max_time = max_time; } void BoardCameraFovSet(float fov) { - BoardCameraData *camera = &boardCamera; - camera->fov = fov; + BoardCameraData *camera = &boardCamera; + camera->fov = fov; } s32 BoardCameraCullCheck(Vec *point, float radius) { - Vec dir; - Vec pos; - float dist; - float dot; - BoardCameraData *camera = &boardCamera; - if(!camera->hide_all) { - return 0; - } - BoardCameraDirGet(&dir); - VECSubtract(point, &camera->pos, &pos); - dist = sqrtf((pos.x*pos.x)+(pos.y*pos.y)+(pos.z*pos.z)); - if(25000 < dist-(radius*2.0f)) { - return 0; - } - BoardCameraPointDirGet(point, &pos); - dot = VECDotProduct(&dir, &pos); - if(BOARD_FABS(dot) < cosd(camera->fov)) { - return 0; - } else { - return 1; - } + Vec dir; + Vec pos; + float dist; + float dot; + BoardCameraData *camera = &boardCamera; + if(!camera->hide_all) { + return 0; + } + BoardCameraDirGet(&dir); + VECSubtract(point, &camera->pos, &pos); + dist = sqrtf((pos.x*pos.x)+(pos.y*pos.y)+(pos.z*pos.z)); + if(25000 < dist-(radius*2.0f)) { + return 0; + } + BoardCameraPointDirGet(point, &pos); + dot = VECDotProduct(&dir, &pos); + if(BOARD_FABS(dot) < cos((camera->fov*M_PI)/180)) { + return 0; + } else { + return 1; + } } s32 BoardCameraMotionIsDone(void) { - return (_CheckFlag(FLAG_ID_MAKE(1, 21))) ? 0 : 1; + return (_CheckFlag(FLAG_ID_MAKE(1, 21))) ? 0 : 1; } void BoardCameraMotionWait(void) { - while(!BoardCameraMotionIsDone()) { - HuPrcVSleep(); - } - HuPrcVSleep(); + while(!BoardCameraMotionIsDone()) { + HuPrcVSleep(); + } + HuPrcVSleep(); } void BoardCameraInit(void) { - BoardCameraData *camera; - cameraUseBackup = FALSE; - memset(&cameraBackup, 0, sizeof(BoardCameraData)); - memset(&boardCamera, 0, sizeof(BoardCameraData)); - camera = &boardCamera; - camera->fov = 25; - camera->near = 100; - camera->far = 13000; - camera->aspect = HU_DISP_ASPECT; - camera->viewport_x = 0; - camera->viewport_y = 0; - camera->viewport_h = 480; - camera->viewport_w = 640; - camera->viewport_near = 0; - camera->viewport_far = 1; - camera->up.y = 1; - camera->moving = 0; - camera->quaking = 0; - camera->quake_timer = 0; - camera->pos.x = 0; - camera->pos.y = 5000; - camera->pos.z = 5000; - camera->offset.x = 0; - camera->offset.y = 0; - camera->offset.z = 0; - camera->pos_calc = NULL; - BoardSpaceFlagPosGet(0, 0x80000000, &camera->target); - camera->rot.x = camViewTbl[1].x_rot; - camera->zoom = camViewTbl[1].zoom; - camera->hide_all = 1; - camera->mask = 1; - Hu3DCameraCreate(1); - Hu3DCameraScissorSet(1, camera->viewport_x, camera->viewport_y, camera->viewport_w, camera->viewport_h); - Hu3DCameraScissorSet(2, 0, 0, 0, 0); - Hu3DCameraPerspectiveSet(2, -1, 100, 13000, 1.2); - cameraObj = omAddObjEx(boardObjMan, 32258, 0, 0, -1, UpdateCamera); + BoardCameraData *camera; + cameraUseBackup = FALSE; + memset(&cameraBackup, 0, sizeof(BoardCameraData)); + memset(&boardCamera, 0, sizeof(BoardCameraData)); + camera = &boardCamera; + camera->fov = 25; + camera->near = 100; + camera->far = 13000; + camera->aspect = 1.2; + camera->viewport_x = 0; + camera->viewport_y = 0; + camera->viewport_h = 480; + camera->viewport_w = 640; + camera->viewport_near = 0; + camera->viewport_far = 1; + camera->up.y = 1; + camera->moving = 0; + camera->quaking = 0; + camera->quake_timer = 0; + camera->pos.x = 0; + camera->pos.y = 5000; + camera->pos.z = 5000; + camera->offset.x = 0; + camera->offset.y = 0; + camera->offset.z = 0; + camera->pos_calc = NULL; + BoardSpaceFlagPosGet(0, 0x80000000, &camera->target); + camera->rot.x = camViewTbl[1].x_rot; + camera->zoom = camViewTbl[1].zoom; + camera->hide_all = 1; + camera->mask = 1; + Hu3DCameraCreate(1); + Hu3DCameraScissorSet(1, camera->viewport_x, camera->viewport_y, camera->viewport_w, camera->viewport_h); + Hu3DCameraScissorSet(2, 0, 0, 0, 0); + Hu3DCameraPerspectiveSet(2, -1, 100, 13000, 1.2); + cameraObj = omAddObjEx(boardObjMan, 32258, 0, 0, -1, UpdateCamera); } static inline void CalcCameraView(void) { - BoardCameraData *camera = &boardCamera; - CalcCameraTarget(camera); - CalcCameraPos(camera); + BoardCameraData *camera = &boardCamera; + CalcCameraTarget(camera); + CalcCameraPos(camera); } static void UpdateCamera(omObjData *object) { - BoardCameraData *camera; - Vec *target; - float x, y, z; - if(BoardIsKill()) { - omDelObjEx(HuPrcCurrentGet(), object); - return; - } - CalcCameraView(); - camera = &boardCamera; - Hu3DCameraPerspectiveSet(camera->mask, camera->fov, camera->near, camera->far, camera->aspect); - Hu3DCameraViewportSet(camera->mask, camera->viewport_x, camera->viewport_y, camera->viewport_w, camera->viewport_h, camera->viewport_near, camera->viewport_far); - target = &camera->target; - if(camera->pos_calc) { - camera->pos_calc(camera); - } else { - - x = camera->rot.x; - y = camera->rot.y; - camera->pos.x = target->x+(sind(y)*cosd(x)*camera->zoom); - camera->pos.y = target->y+(-sind(x)*camera->zoom); - camera->pos.z = target->z+(cosd(y)*cosd(x)*camera->zoom); - camera->up.x = sind(y)*sind(x); - camera->up.y = cosd(x); - camera->up.z = cosd(y)*sind(x); - if(camera->quaking) { - x = BoardRandFloat(); - y = BoardRandFloat(); - z = BoardRandFloat(); - camera->pos.x += (x-0.5f)*camera->quake_strength; - camera->pos.y += (y-0.5f)*camera->quake_strength; - camera->pos.z += (z-0.5f)*camera->quake_strength; - if(--camera->quake_timer <= 0) { - camera->quaking = 0; - camera->quake_timer = 0; - camera->quake_strength = 0; - } - } - } - Hu3DCameraPosSetV(camera->mask, &camera->pos, &camera->up, target); + BoardCameraData *camera; + Vec *target; + float x, y, z; + if(BoardIsKill()) { + omDelObjEx(HuPrcCurrentGet(), object); + return; + } + CalcCameraView(); + camera = &boardCamera; + Hu3DCameraPerspectiveSet(camera->mask, camera->fov, camera->near, camera->far, camera->aspect); + Hu3DCameraViewportSet(camera->mask, camera->viewport_x, camera->viewport_y, camera->viewport_w, camera->viewport_h, camera->viewport_near, camera->viewport_far); + target = &camera->target; + if(camera->pos_calc) { + camera->pos_calc(camera); + } else { + + x = camera->rot.x; + y = camera->rot.y; + camera->pos.x = target->x+(sin((y*M_PI)/180.0)*cos((x*M_PI)/180.0)*camera->zoom); + camera->pos.y = target->y+(-sin((x*M_PI)/180.0)*camera->zoom); + camera->pos.z = target->z+(cos((y*M_PI)/180.0)*cos((x*M_PI)/180.0)*camera->zoom); + camera->up.x = sin((y*M_PI)/180.0)*sin((x*M_PI)/180.0); + camera->up.y = cos((x*M_PI)/180.0); + camera->up.z = cos((y*M_PI)/180.0)*sin((x*M_PI)/180.0); + if(camera->quaking) { + x = BoardRandFloat(); + y = BoardRandFloat(); + z = BoardRandFloat(); + camera->pos.x += (x-0.5f)*camera->quake_strength; + camera->pos.y += (y-0.5f)*camera->quake_strength; + camera->pos.z += (z-0.5f)*camera->quake_strength; + if(--camera->quake_timer <= 0) { + camera->quaking = 0; + camera->quake_timer = 0; + camera->quake_strength = 0; + } + } + } + Hu3DCameraPosSetV(camera->mask, &camera->pos, &camera->up, target); } static void CalcCameraTarget(BoardCameraData *camera) { - Vec offset; - Vec pos = { 0, 0, 0 }; - BoardFocusData *focus = &camera->focus; - if(camera->target_mdl != -1) { - BoardModelPosGet(camera->target_mdl, &pos); - } else { - if(camera->target_space != -1) { - BoardSpacePosGet(0, camera->target_space, &pos); - } else { - return; - } - } - VECAdd(&camera->offset, &pos, &pos); - VECSubtract(&pos, &camera->target, &offset); - if(camera->moving) { - VECScale(&offset, &offset, 0.15f); - } - VECAdd(&offset, &camera->target, &camera->target); + Vec offset; + Vec pos = { 0, 0, 0 }; + BoardFocusData *focus = &camera->focus; + if(camera->target_mdl != -1) { + BoardModelPosGet(camera->target_mdl, &pos); + } else { + if(camera->target_space != -1) { + BoardSpacePosGet(0, camera->target_space, &pos); + } else { + return; + } + } + VECAdd(&camera->offset, &pos, &pos); + VECSubtract(&pos, &camera->target, &offset); + if(camera->moving) { + VECScale(&offset, &offset, 0.15f); + } + VECAdd(&offset, &camera->target, &camera->target); } #define CAM_LERP(t, x1, x2, out) \ { \ - float result; \ - float offset; \ - float unit_scale; \ - float lerp_t; \ - lerp_x2 = x2; \ - lerp_x1 = x1; \ - lerp_t = t; \ - if(lerp_t2 == lerp_t1) { \ - result = lerp_x2; \ - } else { \ - unit_scale = (lerp_x1-lerp_x2)/((float)lerp_t1-(float)lerp_t2); \ - offset = lerp_x2-(unit_scale*lerp_t2); \ - result = offset+(unit_scale*lerp_t); \ - } \ - out = result; \ + float result; \ + float offset; \ + float unit_scale; \ + float lerp_t; \ + lerp_x2 = x2; \ + lerp_x1 = x1; \ + lerp_t = t; \ + if(lerp_t2 == lerp_t1) { \ + result = lerp_x2; \ + } else { \ + unit_scale = (lerp_x1-lerp_x2)/((float)lerp_t1-(float)lerp_t2); \ + offset = lerp_x2-(unit_scale*lerp_t2); \ + result = offset+(unit_scale*lerp_t); \ + } \ + out = result; \ } #define CAM_LERP_VEC(t, x1, x2, out) \ @@ -1267,270 +1269,270 @@ CAM_LERP(t, (x1).z, (x2).z, (out).z) static void CalcCameraPos(BoardCameraData *camera) { - //These variables must be volatile to match - volatile u32 lerp_t1, lerp_t2; - volatile float lerp_x1, lerp_x2; - float time; - - BoardFocusData *focus = &camera->focus; - if(focus->time > focus->max_time) { - focus->view_type = 0; - _ClearFlag(FLAG_ID_MAKE(1, 21)); - return; - } - OSs16tof32(&focus->time, &time); - focus->time++; - lerp_t2 = focus->max_time; - lerp_t1 = 0; - CAM_LERP(time, focus->zoom_start, focus->zoom_end, camera->zoom) - CAM_LERP_VEC(time, focus->rot_start, focus->rot_end, camera->rot) - CAM_LERP(time, focus->fov_start, focus->fov_end, camera->fov) - CAM_LERP_VEC(time, focus->target_start, focus->target_end, camera->target) + //These variables must be volatile to match + volatile u32 lerp_t1, lerp_t2; + volatile float lerp_x1, lerp_x2; + float time; + + BoardFocusData *focus = &camera->focus; + if(focus->time > focus->max_time) { + focus->view_type = 0; + _ClearFlag(FLAG_ID_MAKE(1, 21)); + return; + } + OSs16tof32(&focus->time, &time); + focus->time++; + lerp_t2 = focus->max_time; + lerp_t1 = 0; + CAM_LERP(time, focus->zoom_start, focus->zoom_end, camera->zoom) + CAM_LERP_VEC(time, focus->rot_start, focus->rot_end, camera->rot) + CAM_LERP(time, focus->fov_start, focus->fov_end, camera->fov) + CAM_LERP_VEC(time, focus->target_start, focus->target_end, camera->target) } void BoardMGDoneFlagSet(s32 flag) { - if(flag) { - _SetFlag(FLAG_ID_MAKE(1, 20)); - } else { - _ClearFlag(FLAG_ID_MAKE(1, 20)); - } + if(flag) { + _SetFlag(FLAG_ID_MAKE(1, 20)); + } else { + _ClearFlag(FLAG_ID_MAKE(1, 20)); + } } s32 BoardMGDoneFlagGet() { - return (_CheckFlag(FLAG_ID_MAKE(1, 20))) ? 1 : 0; + return (_CheckFlag(FLAG_ID_MAKE(1, 20))) ? 1 : 0; } void BoardMGExit(void) { - s32 player = GWSystem.player_curr; - BoardPlayerMoveToAsync(player, GWPlayer[GWSystem.player_curr].space_curr); - BoardCameraTargetPlayerSet(player); - BoardCameraMoveSet(1); - BoardCameraViewSet(1); - _ClearFlag(FLAG_ID_MAKE(1, 19)); + s32 player = GWSystem.player_curr; + BoardPlayerMoveToAsync(player, GWPlayer[GWSystem.player_curr].space_curr); + BoardCameraTargetPlayerSet(player); + BoardCameraMoveSet(1); + BoardCameraViewSet(1); + _ClearFlag(FLAG_ID_MAKE(1, 19)); } static void KillBoardMG(omObjData *object) { - if(!BoardMGDoneFlagGet()) { - BoardEventFlagReset(); - omDelObjEx(HuPrcCurrentGet(), object); - } + if(!BoardMGDoneFlagGet()) { + BoardEventFlagReset(); + omDelObjEx(HuPrcCurrentGet(), object); + } } static void ExecBoardMG(omObjData *object) { - if(_CheckFlag(FLAG_ID_MAKE(1, 19))) { - return; - } - if(GWPlayer[GWSystem.player_curr].moving == 0) { - BoardPlayerMotionShiftSet(GWSystem.player_curr, 1, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); - if(!_CheckFlag(FLAG_ID_MAKE(1, 21))) { - _SetFlag(FLAG_ID_MAKE(1, 20)); - object->func = KillBoardMG; - } - } + if(_CheckFlag(FLAG_ID_MAKE(1, 19))) { + return; + } + if(GWPlayer[GWSystem.player_curr].moving == 0) { + BoardPlayerMotionShiftSet(GWSystem.player_curr, 1, 0.0f, 10.0f, 0x40000001); + if(!_CheckFlag(FLAG_ID_MAKE(1, 21))) { + _SetFlag(FLAG_ID_MAKE(1, 20)); + object->func = KillBoardMG; + } + } } void BoardMGCreate(s32 arg0) { - _SetFlag(FLAG_ID_MAKE(1, 19)); - _ClearFlag(FLAG_ID_MAKE(1, 20)); - GWSystem.unk_38 = arg0; - omAddObjEx(boardObjMan, 0x201, 0, 0, -1, ExecBoardMG); - BoardEventFlagSet(); - BoardSpaceWalkMiniEventExec(); + _SetFlag(FLAG_ID_MAKE(1, 19)); + _ClearFlag(FLAG_ID_MAKE(1, 20)); + GWSystem.unk_38 = arg0; + omAddObjEx(boardObjMan, 0x201, 0, 0, -1, ExecBoardMG); + BoardEventFlagSet(); + BoardSpaceWalkMiniEventExec(); } void BoardEventFlagSet(void) { - _SetFlag(FLAG_ID_MAKE(1, 18)); + _SetFlag(FLAG_ID_MAKE(1, 18)); } void BoardEventFlagReset(void) { - _ClearFlag(FLAG_ID_MAKE(1, 18)); + _ClearFlag(FLAG_ID_MAKE(1, 18)); } s32 BoardEventFlagGet(void) { - return _CheckFlag(FLAG_ID_MAKE(1, 18)) ? 1 : 0; + return _CheckFlag(FLAG_ID_MAKE(1, 18)) ? 1 : 0; } void BoardMTXCalcLookAt(Mtx dest, Vec *eye, Vec *up, Vec *target) { - Vec f, u, s; - f.x = eye->x-target->x; - f.y = eye->y-target->y; - f.z = eye->z-target->z; - VECNormalize(&f, &f); - VECCrossProduct(up, &f, &u); - VECNormalize(&u, &u); - VECCrossProduct(&f, &u, &s); - dest[0][0] = u.x; - dest[0][1] = u.y; - dest[0][2] = u.z; - dest[0][3] = 0; - dest[1][0] = s.x; - dest[1][1] = s.y; - dest[1][2] = s.z; - dest[1][3] = 0; - dest[2][0] = f.x; - dest[2][1] = f.y; - dest[2][2] = f.z; - dest[2][3] = 0; + Vec f, u, s; + f.x = eye->x-target->x; + f.y = eye->y-target->y; + f.z = eye->z-target->z; + VECNormalize(&f, &f); + VECCrossProduct(up, &f, &u); + VECNormalize(&u, &u); + VECCrossProduct(&f, &u, &s); + dest[0][0] = u.x; + dest[0][1] = u.y; + dest[0][2] = u.z; + dest[0][3] = 0; + dest[1][0] = s.x; + dest[1][1] = s.y; + dest[1][2] = s.z; + dest[1][3] = 0; + dest[2][0] = f.x; + dest[2][1] = f.y; + dest[2][2] = f.z; + dest[2][3] = 0; } float BoardArcSin(float value) { - float result; - s32 sign; - if(value < 0) { - sign = 1; - value = BOARD_FABS(value); - } else { - sign = 0; - } - if(value > 1.0f) { - return 0; - } - if(value <= (float)(M_PI/2)) { - result = atanf(value/sqrtf(1-(value*value))); - } else { - result = (float)(M_PI/2)-atanf(sqrtf(1-(value*value))/value); - } - if(sign) { - result = BOARD_FABS(result); - } - return result; + float result; + s32 sign; + if(value < 0) { + sign = 1; + value = BOARD_FABS(value); + } else { + sign = 0; + } + if(value > 1.0f) { + return 0; + } + if(value <= (float)(M_PI/2)) { + result = atanf(value/sqrtf(1-(value*value))); + } else { + result = (float)(M_PI/2)-atanf(sqrtf(1-(value*value))/value); + } + if(sign) { + result = BOARD_FABS(result); + } + return result; } float BoardArcCos(float value) { - if(BOARD_FABS(value) > 1) { - return 0; - } - return (float)(M_PI/2)-BoardArcSin(value); + if(BOARD_FABS(value) > 1) { + return 0; + } + return (float)(M_PI/2)-BoardArcSin(value); } void BoardRandInit(void) { - boardRandSeed = OSGetTime(); + boardRandSeed = OSGetTime(); } u32 BoardRand(void) { - boardRandSeed = (boardRandSeed*0x19660D)+(0x3C6EF35F); - return boardRandSeed; + boardRandSeed = (boardRandSeed*0x19660D)+(0x3C6EF35F); + return boardRandSeed; } u32 BoardRandMod(u32 value) { - return (BoardRand() & 0x7FFFFFFF)%value; + return (BoardRand() & 0x7FFFFFFF)%value; } float BoardRandFloat(void) { - float value; - *((u32 *)&value) = (BoardRand() & 0x7FFFFF)|0x3F800000; //Generate float from 1.0f to 2.0f - return value-1.0f; + float value; + *((u32 *)&value) = (BoardRand() & 0x7FFFFF)|0x3F800000; //Generate float from 1.0f to 2.0f + return value-1.0f; } float BoardVecDistXZCalc(Vec *vec1, Vec *vec2) { - float dx = vec1->x-vec2->x; - float dz = vec1->z-vec2->z; - return sqrtf((dx*dx)+(dz*dz)); + float dx = vec1->x-vec2->x; + float dz = vec1->z-vec2->z; + return sqrtf((dx*dx)+(dz*dz)); } s32 BoardVecMaxDistXZCheck(Vec *vec1, Vec *vec2, float max_dist) { - float dz = vec1->z-vec2->z; - float dx = vec1->x-vec2->x; - float dist = sqrtf((dx*dx)+(dz*dz)); - if(dist <= max_dist) { - return 1; - } else { - return 0; - } + float dz = vec1->z-vec2->z; + float dx = vec1->x-vec2->x; + float dist = sqrtf((dx*dx)+(dz*dz)); + if(dist <= max_dist) { + return 1; + } else { + return 0; + } } void BoardDAngleCalcVec(Vec *vec1) { - s32 i; - float *data = &vec1->x; - for(i=0; i<3; i++) { - while(*data > 180.0f) { - *data -= 360.0f; - } - while(*data < -180.0f) { - *data += 360.0f; - } - data++; - } + s32 i; + float *data = &vec1->x; + for(i=0; i<3; i++) { + while(*data > 180.0f) { + *data -= 360.0f; + } + while(*data < -180.0f) { + *data += 360.0f; + } + data++; + } } float BoardDAngleCalc(float value) { - while(value > 180.0f) { - value -= 360.0f; - } - while(value < -180.0f) { - value += 360.0f; - } - return value; + while(value > 180.0f) { + value -= 360.0f; + } + while(value < -180.0f) { + value += 360.0f; + } + return value; } s32 BoardDAngleCalcRange(float *value, float min, float range) { - float diff = min-(*value); - if(diff >= 180.0f) { - min -= 360.0f; - } - if(diff <= -180.0f) { - min += 360.0f; - } - if(min > *value) { - *value += range; - if(*value >= min) { - *value = BoardDAngleCalc(min); - return 1; - } - } else { - *value -= range; - if(*value <= min) { - *value = BoardDAngleCalc(min); - return 1; - } - } - *value = BoardDAngleCalc(*value); - return 0; + float diff = min-(*value); + if(diff >= 180.0f) { + min -= 360.0f; + } + if(diff <= -180.0f) { + min += 360.0f; + } + if(min > *value) { + *value += range; + if(*value >= min) { + *value = BoardDAngleCalc(min); + return 1; + } + } else { + *value -= range; + if(*value <= min) { + *value = BoardDAngleCalc(min); + return 1; + } + } + *value = BoardDAngleCalc(*value); + return 0; } s32 BoardVecMinDistCheck(Vec *vec1, Vec *vec2, float min_dist) { - Vec temp; - VECSubtract(vec1, vec2, &temp); - if(VECSquareMag(&temp) >= (min_dist*min_dist)) { - return 0; - } else { - return 1; - } + Vec temp; + VECSubtract(vec1, vec2, &temp); + if(VECSquareMag(&temp) >= (min_dist*min_dist)) { + return 0; + } else { + return 1; + } } typedef struct filter_work { - struct { - u8 kill : 1; - u8 paused : 1; - }; - u8 max_alpha; - s16 time; - s16 len; - s16 model; - GXColor color; - float speed; + struct { + u8 kill : 1; + u8 paused : 1; + }; + u8 max_alpha; + s16 time; + s16 len; + s16 model; + GXColor color; + float speed; } FilterWork; static void UpdateFilter(omObjData *object); @@ -1538,168 +1540,168 @@ static void DrawFilter(ModelData *model, Mtx matrix); void BoardFilterFadeOut(s16 len) { - FilterWork *work; - float speed; - if(!filterObj) { - return; - } - if(len <= 0) { - len = 1; - } - work = OM_GET_WORK_PTR(filterObj, FilterWork); - work->len = len; - OSs16tof32(&len, &speed); - work->speed = -(work->color.a)/speed; - work->paused = 0; - work->time = work->len; + FilterWork *work; + float speed; + if(!filterObj) { + return; + } + if(len <= 0) { + len = 1; + } + work = OM_GET_WORK_PTR(filterObj, FilterWork); + work->len = len; + OSs16tof32(&len, &speed); + work->speed = -(work->color.a)/speed; + work->paused = 0; + work->time = work->len; } void BoardFilterFadeInit(s16 len, u8 max_alpha) { - FilterWork *work; - if(filterObj) { - work = OM_GET_WORK_PTR(filterObj, FilterWork); - work->kill = 1; - while(filterObj) { - HuPrcVSleep(); - } - } - filterObj = omAddObjEx(boardObjMan, 32000, 0, 0, -1, UpdateFilter); - omSetStatBit(filterObj, OM_STAT_NOPAUSE|0x80); - if(len <= 0) { - len = 1; - } - work = OM_GET_WORK_PTR(filterObj, FilterWork); - work->kill = 0; - work->paused = 0; - work->color.r = 0; - work->color.g = 0; - work->color.b = 0; - work->color.a = 0; - work->max_alpha = max_alpha; - work->speed = (float)(max_alpha-work->color.a)/(float)len; - work->time = len; - work->len = len; - work->model = Hu3DHookFuncCreate(DrawFilter); - Hu3DModelLayerSet(work->model, 1); + FilterWork *work; + if(filterObj) { + work = OM_GET_WORK_PTR(filterObj, FilterWork); + work->kill = 1; + while(filterObj) { + HuPrcVSleep(); + } + } + filterObj = omAddObjEx(boardObjMan, 32000, 0, 0, -1, UpdateFilter); + omSetStatBit(filterObj, OM_STAT_NOPAUSE|0x80); + if(len <= 0) { + len = 1; + } + work = OM_GET_WORK_PTR(filterObj, FilterWork); + work->kill = 0; + work->paused = 0; + work->color.r = 0; + work->color.g = 0; + work->color.b = 0; + work->color.a = 0; + work->max_alpha = max_alpha; + work->speed = (float)(max_alpha-work->color.a)/(float)len; + work->time = len; + work->len = len; + work->model = Hu3DHookFuncCreate(DrawFilter); + Hu3DModelLayerSet(work->model, 1); } s32 BoardFilterFadePauseCheck(void) { - FilterWork *work; - if(!filterObj) { - return 1; - } - work = OM_GET_WORK_PTR(filterObj, FilterWork); - return (work->paused) ? 1 : 0; + FilterWork *work; + if(!filterObj) { + return 1; + } + work = OM_GET_WORK_PTR(filterObj, FilterWork); + return (work->paused) ? 1 : 0; } s32 BoardFilterFadeCheck(void) { - return (filterObj != NULL) ? 0 : 1; + return (filterObj != NULL) ? 0 : 1; } static void UpdateFilter(omObjData *object) { - float alpha; - FilterWork *work = OM_GET_WORK_PTR(object, FilterWork); - if(work->kill || BoardIsKill()) { - if(work->model != -1) { - Hu3DModelKill(work->model); - } - filterObj = NULL; - omDelObjEx(HuPrcCurrentGet(), object); - return; - } - if(work->paused) { - return; - } - OSu8tof32(&work->color.a, &alpha); - alpha += work->speed; - OSf32tou8(&alpha, &work->color.a); - if(work->time > 0) { - work->time--; - return; - } - if(work->speed > 0) { - work->paused = 1; - work->color.a = work->max_alpha; - } else { - work->kill = 1; - } + float alpha; + FilterWork *work = OM_GET_WORK_PTR(object, FilterWork); + if(work->kill || BoardIsKill()) { + if(work->model != -1) { + Hu3DModelKill(work->model); + } + filterObj = NULL; + omDelObjEx(HuPrcCurrentGet(), object); + return; + } + if(work->paused) { + return; + } + OSu8tof32(&work->color.a, &alpha); + alpha += work->speed; + OSf32tou8(&alpha, &work->color.a); + if(work->time > 0) { + work->time--; + return; + } + if(work->speed > 0) { + work->paused = 1; + work->color.a = work->max_alpha; + } else { + work->kill = 1; + } } static void DrawFilter(ModelData *model, Mtx matrix) { - static GXColor colorN = { 0xFF, 0xFF, 0xFF, 0xFF }; - Mtx44 proj; - Mtx modelview; - - float x1, x2, y1, y2; - FilterWork *work; - if(!filterObj) { - return; - } - work = OM_GET_WORK_PTR(filterObj, FilterWork); - x1 = 0.0f; - x2 = HU_FB_WIDTH; - y1 = 0.0f; - y2 = HU_FB_HEIGHT; - MTXOrtho(proj, y1, y2, x1, x2, 0, 10); - GXSetProjection(proj, GX_ORTHOGRAPHIC); - MTXIdentity(modelview); - GXLoadPosMtxImm(modelview, GX_PNMTX0); - GXSetCurrentMtx(GX_PNMTX0); - GXSetViewport(0, 0, x2, 1.0f+y2, 0, 1); - GXSetScissor(0, 0, x2, 1.0f+y2); - GXClearVtxDesc(); - GXSetChanMatColor(GX_COLOR0A0, work->color); - GXSetNumChans(1); - GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_NONE, GX_AF_NONE); - GXSetChanCtrl(GX_COLOR1A1, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_NONE, GX_AF_NONE); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); - GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR); - GXSetNumTexGens(0); - GXSetNumTevStages(1); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_U16, 0); - GXSetZMode(GX_TRUE, GX_ALWAYS, GX_FALSE); - GXSetAlphaUpdate(GX_FALSE); - GXSetColorUpdate(GX_TRUE); - GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition2u16(x1, y1); - GXPosition2u16(x2, y1); - GXPosition2u16(x2, y2); - GXPosition2u16(x1, y2); - GXEnd(); - GXSetChanMatColor(GX_COLOR0A0, colorN); - + static GXColor colorN = { 0xFF, 0xFF, 0xFF, 0xFF }; + Mtx44 proj; + Mtx modelview; + + float x1, x2, y1, y2; + FilterWork *work; + if(!filterObj) { + return; + } + work = OM_GET_WORK_PTR(filterObj, FilterWork); + x1 = 0.0f; + x2 = 640.0f; + y1 = 0.0f; + y2 = 480.0f; + MTXOrtho(proj, y1, y2, x1, x2, 0, 10); + GXSetProjection(proj, GX_ORTHOGRAPHIC); + MTXIdentity(modelview); + GXLoadPosMtxImm(modelview, GX_PNMTX0); + GXSetCurrentMtx(GX_PNMTX0); + GXSetViewport(0, 0, x2, 1.0f+y2, 0, 1); + GXSetScissor(0, 0, x2, 1.0f+y2); + GXClearVtxDesc(); + GXSetChanMatColor(GX_COLOR0A0, work->color); + GXSetNumChans(1); + GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_NONE, GX_AF_NONE); + GXSetChanCtrl(GX_COLOR1A1, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_NONE, GX_AF_NONE); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); + GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR); + GXSetNumTexGens(0); + GXSetNumTevStages(1); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_U16, 0); + GXSetZMode(GX_TRUE, GX_ALWAYS, GX_FALSE); + GXSetAlphaUpdate(GX_FALSE); + GXSetColorUpdate(GX_TRUE); + GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); + GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition2u16(x1, y1); + GXPosition2u16(x2, y1); + GXPosition2u16(x2, y2); + GXPosition2u16(x1, y2); + GXEnd(); + GXSetChanMatColor(GX_COLOR0A0, colorN); + } typedef struct confetti_particle { - s16 time; - u8 alpha; - u8 light_col; - Vec pos; - Vec rot; - Vec pos_vel; - Vec rot_vel; + s16 time; + u8 alpha; + u8 light_col; + Vec pos; + Vec rot; + Vec pos_vel; + Vec rot_vel; } ConfettiParticle; typedef struct confetti_work { - struct { - u8 kill : 1; - u8 paused : 1; - }; - s8 spawn_speed; - s8 time; - s8 delay; - s16 count; - s16 gfx_mdl; - s16 draw_mdl; - ConfettiParticle *data; + struct { + u8 kill : 1; + u8 paused : 1; + }; + s8 spawn_speed; + s8 time; + s8 delay; + s16 count; + s16 gfx_mdl; + s16 draw_mdl; + ConfettiParticle *data; } ConfettiWork; static void UpdateConfetti(omObjData *object); @@ -1710,501 +1712,497 @@ static void DrawConfetti(ModelData *model, Mtx matrix); void BoardConfettiCreate(Vec *pos, s16 count, float range) { - omObjData *object; - ConfettiWork *work; - if(confettiObj) { - BoardConfettiStop(); - HuPrcSleep(17); - } - object = omAddObjEx(boardObjMan, 257, 0, 0, -1, UpdateConfetti); - confettiObj = object; - work = OM_GET_WORK_PTR(object, ConfettiWork); - work->kill = 0; - work->paused = 0; - work->count = count; - work->spawn_speed = 1; - work->time = 0; - work->delay = 10; - work->draw_mdl = Hu3DHookFuncCreate(DrawConfetti); - work->data = HuMemDirectMallocNum(HEAP_SYSTEM, work->count*sizeof(ConfettiParticle), MEMORY_DEFAULT_NUM); - object->trans.x = pos->x; - object->trans.y = pos->y; - object->trans.z = pos->z; - object->rot.x = range; - work->gfx_mdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 7), NULL, 0); - BoardModelLayerSet(work->gfx_mdl, 2); - BoardModelVisibilitySet(work->gfx_mdl, 0); - { - ConfettiParticle *particle; - s32 i; - particle = work->data; - for(i=0; icount; i++, particle++) { - particle->time = -1; - } - } - HuAudFXPlay(774); + omObjData *object; + ConfettiWork *work; + if(confettiObj) { + BoardConfettiStop(); + HuPrcSleep(17); + } + object = omAddObjEx(boardObjMan, 257, 0, 0, -1, UpdateConfetti); + confettiObj = object; + work = OM_GET_WORK_PTR(object, ConfettiWork); + work->kill = 0; + work->paused = 0; + work->count = count; + work->spawn_speed = 1; + work->time = 0; + work->delay = 10; + work->draw_mdl = Hu3DHookFuncCreate(DrawConfetti); + work->data = HuMemDirectMallocNum(HEAP_SYSTEM, work->count*sizeof(ConfettiParticle), MEMORY_DEFAULT_NUM); + object->trans.x = pos->x; + object->trans.y = pos->y; + object->trans.z = pos->z; + object->rot.x = range; + work->gfx_mdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 7), NULL, 0); + BoardModelLayerSet(work->gfx_mdl, 2); + BoardModelVisibilitySet(work->gfx_mdl, 0); + { + ConfettiParticle *particle; + s32 i; + particle = work->data; + for(i=0; icount; i++, particle++) { + particle->time = -1; + } + } + HuAudFXPlay(774); } void BoardConfettiKill(void) { - if(confettiObj) { - OM_GET_WORK_PTR(confettiObj, ConfettiWork)->kill = 1; - } + if(confettiObj) { + OM_GET_WORK_PTR(confettiObj, ConfettiWork)->kill = 1; + } } void BoardConfettiStop(void) { - if(confettiObj) { - s32 i; - ConfettiParticle *particle; - ConfettiWork *work = OM_GET_WORK_PTR(confettiObj, ConfettiWork); - work->paused = 1; - particle = work->data; - for(i=0; icount; i++, particle++) { - if(particle->time != -1) { - if(particle->time > 16) { - particle->time = 16; - } - } - } - } + if(confettiObj) { + s32 i; + ConfettiParticle *particle; + ConfettiWork *work = OM_GET_WORK_PTR(confettiObj, ConfettiWork); + work->paused = 1; + particle = work->data; + for(i=0; icount; i++, particle++) { + if(particle->time != -1) { + if(particle->time > 16) { + particle->time = 16; + } + } + } + } } static void UpdateConfetti(omObjData *object) { - ConfettiWork *work = OM_GET_WORK_PTR(object, ConfettiWork); - if(work->kill || BoardIsKill()) { - BoardModelKill(work->gfx_mdl); - Hu3DModelKill(work->draw_mdl); - HuMemDirectFree(work->data); - confettiObj = NULL; - omDelObjEx(HuPrcCurrentGet(), object); - } else { - SpawnConfetti(object); - MoveConfetti(object); - } + ConfettiWork *work = OM_GET_WORK_PTR(object, ConfettiWork); + if(work->kill || BoardIsKill()) { + BoardModelKill(work->gfx_mdl); + Hu3DModelKill(work->draw_mdl); + HuMemDirectFree(work->data); + confettiObj = NULL; + omDelObjEx(HuPrcCurrentGet(), object); + } else { + SpawnConfetti(object); + MoveConfetti(object); + } } static void SpawnConfetti(omObjData *object) { - ConfettiWork *work = OM_GET_WORK_PTR(object, ConfettiWork); - s32 i; - if(work->paused) { - return; - } - if(work->spawn_speed < 5) { - if(work->time++ > work->delay) { - work->time = 0; - work->spawn_speed++; - } - } - for(i=0; ispawn_speed; i++) { - ConfettiParticle *particle; - float angle; - s32 j; - particle = work->data; - for(j=0; jcount; j++, particle++) { - if(particle->time == -1) { - break; - } - } - if(j == work->count) { - break; - } - particle->time = BoardRandMod(60)+120; - angle = BoardRandFloat()*360.0f; - particle->pos.x = (sind(angle)*object->rot.x)+object->trans.x; - particle->pos.y = object->trans.y; - particle->pos.z = (cosd(angle)*object->rot.x)+object->trans.z; - particle->pos_vel.x = 2.0f*(BoardRandFloat()-0.5f); - particle->pos_vel.y = (-98.00001f/15.0f)*BoardRandFloat(); - particle->pos_vel.z = 2.0f*(BoardRandFloat()-0.5f); - particle->rot_vel.x = 8.0f+((BoardRandFloat()-0.5f)*20.0f); - particle->rot_vel.y = 8.0f+((BoardRandFloat()-0.5f)*20.0f); - particle->rot_vel.z = 8.0f+((BoardRandFloat()-0.5f)*20.0f); - particle->rot.x = 0; - particle->rot.y = 0; - particle->rot.z = 0; - particle->alpha = 255; - particle->light_col = BoardRandMod(6); - } + ConfettiWork *work = OM_GET_WORK_PTR(object, ConfettiWork); + s32 i; + if(work->paused) { + return; + } + if(work->spawn_speed < 5) { + if(work->time++ > work->delay) { + work->time = 0; + work->spawn_speed++; + } + } + for(i=0; ispawn_speed; i++) { + ConfettiParticle *particle; + float angle; + s32 j; + particle = work->data; + for(j=0; jcount; j++, particle++) { + if(particle->time == -1) { + break; + } + } + if(j == work->count) { + break; + } + particle->time = BoardRandMod(60)+120; + angle = BoardRandFloat()*360.0f; + particle->pos.x = (sin((angle*M_PI)/180.0)*object->rot.x)+object->trans.x; + particle->pos.y = object->trans.y; + particle->pos.z = (cos((angle*M_PI)/180.0)*object->rot.x)+object->trans.z; + particle->pos_vel.x = 2.0f*(BoardRandFloat()-0.5f); + particle->pos_vel.y = (-98.00001f/15.0f)*BoardRandFloat(); + particle->pos_vel.z = 2.0f*(BoardRandFloat()-0.5f); + particle->rot_vel.x = 8.0f+((BoardRandFloat()-0.5f)*20.0f); + particle->rot_vel.y = 8.0f+((BoardRandFloat()-0.5f)*20.0f); + particle->rot_vel.z = 8.0f+((BoardRandFloat()-0.5f)*20.0f); + particle->rot.x = 0; + particle->rot.y = 0; + particle->rot.z = 0; + particle->alpha = 255; + particle->light_col = BoardRandMod(6); + } } static void MoveConfetti(omObjData *object) { - ConfettiWork *work = OM_GET_WORK_PTR(object, ConfettiWork); - s32 i; - s32 existF; - ConfettiParticle *particle; - - existF = 0; - particle = work->data; - - for(i=0; icount; i++, particle++) { - if(particle->time == -1) { - continue; - } - if(particle->time <= 0) { - particle->time = -1; - continue; - } - particle->time--; - particle->pos.x += particle->pos_vel.x; - particle->pos.y += particle->pos_vel.y; - particle->pos.z += particle->pos_vel.z; - particle->rot.x += particle->rot_vel.x; - particle->rot.y += particle->rot_vel.y; - particle->rot.z += particle->rot_vel.z; - if(particle->time < 16) { - if(particle->alpha >= 15) { - particle->alpha -= 15; - } else { - particle->alpha = 0; - } - } - if(!existF) { - existF = 1; - } - } - if(existF == 0 && work->paused) { - work->kill = 1; - } + ConfettiWork *work = OM_GET_WORK_PTR(object, ConfettiWork); + s32 i; + s32 existF; + ConfettiParticle *particle; + + existF = 0; + particle = work->data; + + for(i=0; icount; i++, particle++) { + if(particle->time == -1) { + continue; + } + if(particle->time <= 0) { + particle->time = -1; + continue; + } + particle->time--; + particle->pos.x += particle->pos_vel.x; + particle->pos.y += particle->pos_vel.y; + particle->pos.z += particle->pos_vel.z; + particle->rot.x += particle->rot_vel.x; + particle->rot.y += particle->rot_vel.y; + particle->rot.z += particle->rot_vel.z; + if(particle->time < 16) { + if(particle->alpha >= 15) { + particle->alpha -= 15; + } else { + particle->alpha = 0; + } + } + if(!existF) { + existF = 1; + } + } + if(existF == 0 && work->paused) { + work->kill = 1; + } } static Vec confettiLightTbl[6] = { - { 0.1, 0.4, 1 }, - { 0.2, 1, 0.1 }, - { 0.3, 1, 1 }, - { 1, 0.2, 0.1 }, - { 1, 0.2, 0.8 }, - { 1, 8, 0.3 } + { 0.1, 0.4, 1 }, + { 0.2, 1, 0.1 }, + { 0.3, 1, 1 }, + { 1, 0.2, 0.1 }, + { 1, 0.2, 0.8 }, + { 1, 8, 0.3 } }; static void DrawConfetti(ModelData *model, Mtx matrix) { - if(!confettiObj || BoardIsKill()) { - return; - } else { - ConfettiWork *work = OM_GET_WORK_PTR(confettiObj, ConfettiWork); - ModelData *model = &Hu3DData[work->gfx_mdl]; - ConfettiParticle *particle; - s32 i; - if(!model->hsfData) { - return; - } - particle = work->data; - for(i=0; icount; i++, particle++) { - Mtx result, temp; - float r, g, b, a; - if(particle->time == -1) { - continue; - } - MTXRotDeg(temp, 'z', particle->rot.z); - MTXRotDeg(result, 'x', particle->rot.x); - MTXConcat(temp, result, result); - MTXRotDeg(temp, 'y', particle->rot.y); - MTXConcat(temp, result, result); - MTXTrans(temp, particle->pos.x, particle->pos.y, particle->pos.z); - MTXConcat(temp, result, result); - MTXConcat(matrix, result, result); - r = confettiLightTbl[particle->light_col].x; - g = confettiLightTbl[particle->light_col].y; - b = confettiLightTbl[particle->light_col].z; - OSu8tof32(&particle->alpha, &a); - a = a*(1.0f/255.0f); - Hu3DModelTPLvlSet(BoardModelIDGet(work->gfx_mdl), a); - Hu3DModelAmbSet(BoardModelIDGet(work->gfx_mdl), r, g, b); - Hu3DModelObjDraw(BoardModelIDGet(work->gfx_mdl), "grid2", result); - } - } + if(!confettiObj || BoardIsKill()) { + return; + } else { + ConfettiWork *work = OM_GET_WORK_PTR(confettiObj, ConfettiWork); + ModelData *model = &Hu3DData[work->gfx_mdl]; + ConfettiParticle *particle; + s32 i; + if(!model->hsfData) { + return; + } + particle = work->data; + for(i=0; icount; i++, particle++) { + Mtx result, temp; + float r, g, b, a; + if(particle->time == -1) { + continue; + } + MTXRotDeg(temp, 'z', particle->rot.z); + MTXRotDeg(result, 'x', particle->rot.x); + MTXConcat(temp, result, result); + MTXRotDeg(temp, 'y', particle->rot.y); + MTXConcat(temp, result, result); + MTXTrans(temp, particle->pos.x, particle->pos.y, particle->pos.z); + MTXConcat(temp, result, result); + MTXConcat(matrix, result, result); + r = confettiLightTbl[particle->light_col].x; + g = confettiLightTbl[particle->light_col].y; + b = confettiLightTbl[particle->light_col].z; + OSu8tof32(&particle->alpha, &a); + a = a*(1.0f/255.0f); + Hu3DModelTPLvlSet(BoardModelIDGet(work->gfx_mdl), a); + Hu3DModelAmbSet(BoardModelIDGet(work->gfx_mdl), r, g, b); + Hu3DModelObjDraw(BoardModelIDGet(work->gfx_mdl), "grid2", result); + } + } } typedef struct last5_gfx_work { - struct { - u8 kill : 1; - u8 state : 3; - u8 is_last : 1; - u8 : 4; - }; - u8 stop_time; - s16 time; - s16 group; - s16 sprites[3]; + struct { + u8 kill : 1; + u8 state : 3; + u8 is_last : 1; + u8 : 4; + }; + u8 stop_time; + s16 time; + s16 group; + s16 sprites[3]; } Last5GfxWork; static s32 last5GfxSprTbl[3] = { - DATA_MAKE_NUM(DATADIR_BOARD, 95), - DATA_MAKE_NUM(DATADIR_BOARD, 97), - DATA_MAKE_NUM(DATADIR_BOARD, 96), + DATA_MAKE_NUM(DATADIR_BOARD, 95), + DATA_MAKE_NUM(DATADIR_BOARD, 97), + DATA_MAKE_NUM(DATADIR_BOARD, 96), }; static float last5GfxPosTbl[2][3][2] = { - { - { -80, 0 }, - { 0, 0 }, - { 80, 0 } - }, - { - { -52, 0 }, - { 0, 0 }, - { 52, 0 } - } + { + { -80, 0 }, + { 0, 0 }, + { 80, 0 } + }, + { + { -52, 0 }, + { 0, 0 }, + { 52, 0 } + } }; static void UpdateLast5Gfx(omObjData *object); void BoardLast5GfxInit(void) { - Last5GfxWork *work; - omObjData *object; - s32 turn_remain; - s32 lastF; - turn_remain = GWSystem.max_turn-GWSystem.turn; - if(turn_remain > 4 || turn_remain < 0) { - return; - } else { - s32 i; - turn_remain = 4-turn_remain; - object = omAddObjEx(boardObjMan, 0, 0, 0, -1, UpdateLast5Gfx); - last5GfxObj = object; - work = OM_GET_WORK_PTR(object, Last5GfxWork); - work->kill = 0; - work->stop_time = 0; - work->time = 0; - work->group = HuSprGrpCreate(3); - if((s32)(GWSystem.max_turn-GWSystem.turn) == 0) { - work->is_last = 1; - lastF = 1; - } else { - work->is_last = 0; - lastF = 0; - } - for(i=0; i<3; i++) { - s32 prio; - s32 spr_file; - - if(i == 1) { - prio = 1000; - } else { - prio = 1400; - } -#if !VERSION_JP - spr_file = last5GfxSprTbl[i]; - if(i == 2 && work->is_last && GWLanguageGet() != 0) { - spr_file = DATA_MAKE_NUM(DATADIR_BOARD, 98); - } - BoardSpriteCreate(spr_file, prio, NULL, &work->sprites[i]); -#else - BoardSpriteCreate(last5GfxSprTbl[i], prio, NULL, &work->sprites[i]); -#endif - HuSprGrpMemberSet(work->group, i, work->sprites[i]); - HuSprAttrSet(work->group, i, HUSPR_ATTR_LINEAR); - HuSprPosSet(work->group, i, last5GfxPosTbl[lastF][i][0], last5GfxPosTbl[lastF][i][1]); - } - if(!work->is_last) { - HuSprite *sprite = &HuSprData[HuSprGrpData[work->group].members[1]]; - HuSprBankSet(work->group, 1, 0); - sprite->frame = turn_remain; - } else { - HuSprAttrSet(work->group, 1, HUSPR_ATTR_DISPOFF); - } - HuSprAttrSet(work->group, 1, HUSPR_ATTR_NOANIM); - object->trans.x = 0.0f; - HuSprGrpTPLvlSet(work->group, object->trans.x); - HuSprGrpPosSet(work->group, HU_DISP_CENTERX, 72); - HuAudFXPlay(838); - work->time = 0; - } + Last5GfxWork *work; + omObjData *object; + s32 turn_remain; + s32 lastF; + turn_remain = GWSystem.max_turn-GWSystem.turn; + if(turn_remain > 4 || turn_remain < 0) { + return; + } else { + s32 i; + turn_remain = 4-turn_remain; + object = omAddObjEx(boardObjMan, 0, 0, 0, -1, UpdateLast5Gfx); + last5GfxObj = object; + work = OM_GET_WORK_PTR(object, Last5GfxWork); + work->kill = 0; + work->stop_time = 0; + work->time = 0; + work->group = HuSprGrpCreate(3); + if((s32)(GWSystem.max_turn-GWSystem.turn) == 0) { + work->is_last = 1; + lastF = 1; + } else { + work->is_last = 0; + lastF = 0; + } + for(i=0; i<3; i++) { + s32 prio; + s32 spr_file; + + if(i == 1) { + prio = 1000; + } else { + prio = 1400; + } + spr_file = last5GfxSprTbl[i]; + if(i == 2 && work->is_last && GWLanguageGet() != 0) { + spr_file = DATA_MAKE_NUM(DATADIR_BOARD, 98); + } + BoardSpriteCreate(spr_file, prio, NULL, &work->sprites[i]); + HuSprGrpMemberSet(work->group, i, work->sprites[i]); + HuSprAttrSet(work->group, i, HUSPR_ATTR_LINEAR); + HuSprPosSet(work->group, i, last5GfxPosTbl[lastF][i][0], last5GfxPosTbl[lastF][i][1]); + } + if(!work->is_last) { + HuSprite *sprite = &HuSprData[HuSprGrpData[work->group].members[1]]; + HuSprBankSet(work->group, 1, 0); + sprite->frame = turn_remain; + } else { + HuSprAttrSet(work->group, 1, HUSPR_ATTR_DISPOFF); + } + HuSprAttrSet(work->group, 1, HUSPR_ATTR_NOANIM); + object->trans.x = 0.0f; + HuSprGrpTPLvlSet(work->group, object->trans.x); + HuSprGrpPosSet(work->group, 288, 72); + HuAudFXPlay(838); + work->time = 0; + } } static void UpdateLast5Gfx(omObjData *object) { - Last5GfxWork *work = OM_GET_WORK_PTR(object, Last5GfxWork); - if(work->kill || BoardIsKill()) { - HuSprGrpKill(work->group); - last5GfxObj = NULL; - omDelObjEx(HuPrcCurrentGet(), object); - return; - } - if(work->stop_time != 0) { - work->stop_time--; - return; - } - switch(work->state) { - case 0: - object->trans.x += 1.0f/30.0f; - if(object->trans.x > 1.0f) { - object->trans.x = 1.0f; - work->state = 1; - } - HuSprGrpTPLvlSet(work->group, object->trans.x); - break; - - case 1: - if(work->time >= 720) { - work->state = 2; - work->stop_time = 90; - if(work->is_last) { - HuSprGrpScaleSet(work->group, 1.0f, 1.0f); - } else { - HuSprScaleSet(work->group, 1, 1.0f, 1.0f); - } - } else { - s16 angle; - angle = work->time%180; - OSs16tof32(&angle, &object->trans.y); - object->trans.y = sind(object->trans.y)+0.5; - if(work->is_last) { - HuSprGrpScaleSet(work->group, object->trans.y, object->trans.y); - } else { - HuSprScaleSet(work->group, 1, object->trans.y, object->trans.y); - } - work->time += 9; - } - break; - - case 2: - object->trans.x -= 1.0f/30.0f; - if(object->trans.x < 0.0f) { - object->trans.x = 0.0f; - work->kill = 1; - } - HuSprGrpTPLvlSet(work->group, object->trans.x); - break; - } + Last5GfxWork *work = OM_GET_WORK_PTR(object, Last5GfxWork); + if(work->kill || BoardIsKill()) { + HuSprGrpKill(work->group); + last5GfxObj = NULL; + omDelObjEx(HuPrcCurrentGet(), object); + return; + } + if(work->stop_time != 0) { + work->stop_time--; + return; + } + switch(work->state) { + case 0: + object->trans.x += 1.0f/30.0f; + if(object->trans.x > 1.0f) { + object->trans.x = 1.0f; + work->state = 1; + } + HuSprGrpTPLvlSet(work->group, object->trans.x); + break; + + case 1: + if(work->time >= 720) { + work->state = 2; + work->stop_time = 90; + if(work->is_last) { + HuSprGrpScaleSet(work->group, 1.0f, 1.0f); + } else { + HuSprScaleSet(work->group, 1, 1.0f, 1.0f); + } + } else { + s16 angle; + angle = work->time%180; + OSs16tof32(&angle, &object->trans.y); + object->trans.y = sin((object->trans.y*M_PI)/180.0)+0.5; + if(work->is_last) { + HuSprGrpScaleSet(work->group, object->trans.y, object->trans.y); + } else { + HuSprScaleSet(work->group, 1, object->trans.y, object->trans.y); + } + work->time += 9; + } + break; + + case 2: + object->trans.x -= 1.0f/30.0f; + if(object->trans.x < 0.0f) { + object->trans.x = 0.0f; + work->kill = 1; + } + HuSprGrpTPLvlSet(work->group, object->trans.x); + break; + } } void BoardLast5GfxShowSet(s32 show) { - s32 i; - Last5GfxWork *work; - if(!last5GfxObj) { - return; - } - - work = OM_GET_WORK_PTR(last5GfxObj, Last5GfxWork); - for(i=0; i<3; i++) { - if(show) { - HuSprAttrReset(work->group, i, HUSPR_ATTR_DISPOFF); - } else { - HuSprAttrSet(work->group, i, HUSPR_ATTR_DISPOFF); - } - if(work->is_last) { - HuSprAttrSet(work->group, 1, HUSPR_ATTR_DISPOFF); - } - } + s32 i; + Last5GfxWork *work; + if(!last5GfxObj) { + return; + } + + work = OM_GET_WORK_PTR(last5GfxObj, Last5GfxWork); + for(i=0; i<3; i++) { + if(show) { + HuSprAttrReset(work->group, i, HUSPR_ATTR_DISPOFF); + } else { + HuSprAttrSet(work->group, i, HUSPR_ATTR_DISPOFF); + } + if(work->is_last) { + HuSprAttrSet(work->group, 1, HUSPR_ATTR_DISPOFF); + } + } } static s32 tauntActiveFXTbl[4] = { -1, -1, -1, -1 }; static s32 tauntFXTbl[8] = { - 294, - 358, - 422, - 486, - 550, - 614, - 678, - 742 + 294, + 358, + 422, + 486, + 550, + 614, + 678, + 742 }; typedef struct taunt_work { - u8 kill : 1; + u8 kill : 1; } TauntWork; static void TauntUpdate(omObjData *object); void BoardTauntInit(void) { - s32 i; - tauntObj = omAddObjEx(boardObjMan, 32258, 0, 0, -1, TauntUpdate); - for(i=0; i<4; i++) { - tauntActiveFXTbl[i] = -1; - } - _SetFlag(FLAG_ID_MAKE(1, 14)); + s32 i; + tauntObj = omAddObjEx(boardObjMan, 32258, 0, 0, -1, TauntUpdate); + for(i=0; i<4; i++) { + tauntActiveFXTbl[i] = -1; + } + _SetFlag(FLAG_ID_MAKE(1, 14)); } void BoardTauntKill(void) { - TauntWork *work; - if(!tauntObj) { - return; - } - work = OM_GET_WORK_PTR(tauntObj, TauntWork); - work->kill = 1; - _SetFlag(FLAG_ID_MAKE(1, 14)); + TauntWork *work; + if(!tauntObj) { + return; + } + work = OM_GET_WORK_PTR(tauntObj, TauntWork); + work->kill = 1; + _SetFlag(FLAG_ID_MAKE(1, 14)); } static void TauntUpdate(omObjData *object) { - s32 i; - s32 port; - s32 character; - TauntWork *work; - work = OM_GET_WORK_PTR(object, TauntWork); - if(work->kill || BoardIsKill()) { - for(i=0; i<4; i++) { - if(tauntActiveFXTbl[i] >= 0) { - HuAudFXStop(tauntActiveFXTbl[i]); - tauntActiveFXTbl[i] = -1; - } - } - tauntObj = NULL; - omDelObjEx(HuPrcCurrentGet(), object); - return; - } - for(i=0; i<4; i++) { - if(tauntActiveFXTbl[i] >= 0 && HuAudFXStatusGet(tauntActiveFXTbl[i]) == 0) { - tauntActiveFXTbl[i] = -1; - } - } - if(BoardPauseActiveCheck()) { - return; - } - if(_CheckFlag(FLAG_ID_MAKE(1, 14))) { - return; - } - if(WipeStatGet()) { - return; - } - if(GWSystem.player_curr == -1) { - return; - } - for(i=0; i<4; i++) { - if(i == GWSystem.player_curr || GWPlayer[i].com) { - continue; - } - port = GWPlayer[i].port & 0x3; - character = GWPlayer[i].character & 0x7; - if(tauntActiveFXTbl[port] >= 0) { - MSM_SEPARAM param; - float vol, pan; - vol = (64.0f*(HuPadSubStkX[port]/59.0f))+64.0f; - pan = 8191.0f*(HuPadSubStkY[port]/59.0f); - memset(¶m, 0, sizeof(MSM_SEPARAM)); - param.flag = MSM_SEPARAM_PITCH|MSM_SEPARAM_PAN; - OSf32tos8(&vol, ¶m.pan); - OSf32tos16(&pan, ¶m.pitch); - msmSeSetParam(tauntActiveFXTbl[port], ¶m); - } else { - if(HuPadBtnDown[port] & PAD_TRIGGER_L) { - tauntActiveFXTbl[port] = HuAudFXPlay(tauntFXTbl[character]); - } - } - } + s32 i; + s32 port; + s32 character; + TauntWork *work; + work = OM_GET_WORK_PTR(object, TauntWork); + if(work->kill || BoardIsKill()) { + for(i=0; i<4; i++) { + if(tauntActiveFXTbl[i] >= 0) { + HuAudFXStop(tauntActiveFXTbl[i]); + tauntActiveFXTbl[i] = -1; + } + } + tauntObj = NULL; + omDelObjEx(HuPrcCurrentGet(), object); + return; + } + for(i=0; i<4; i++) { + if(tauntActiveFXTbl[i] >= 0 && HuAudFXStatusGet(tauntActiveFXTbl[i]) == 0) { + tauntActiveFXTbl[i] = -1; + } + } + if(BoardPauseActiveCheck()) { + return; + } + if(_CheckFlag(FLAG_ID_MAKE(1, 14))) { + return; + } + if(WipeStatGet()) { + return; + } + if(GWSystem.player_curr == -1) { + return; + } + for(i=0; i<4; i++) { + if(i == GWSystem.player_curr || GWPlayer[i].com) { + continue; + } + port = GWPlayer[i].port & 0x3; + character = GWPlayer[i].character & 0x7; + if(tauntActiveFXTbl[port] >= 0) { + UnkMsmStruct_01 param; + float vol, pan; + vol = (64.0f*(HuPadSubStkX[port]/59.0f))+64.0f; + pan = 8191.0f*(HuPadSubStkY[port]/59.0f); + memset(¶m, 0, sizeof(UnkMsmStruct_01)); + param.unk00 = 6; + OSf32tos8(&vol, ¶m.unk05); + OSf32tos16(&pan, ¶m.unk06); + msmSeSetParam(tauntActiveFXTbl[port], ¶m); + } else { + if(HuPadBtnDown[port] & PAD_TRIGGER_L) { + tauntActiveFXTbl[port] = HuAudFXPlay(tauntFXTbl[character]); + } + } + } } s32 BoardDataDirReadAsync(s32 data_num) { - s32 status = HuDataDirReadAsync(data_num); - return status; + s32 status = HuDataDirReadAsync(data_num); + return status; } void BoardDataAsyncWait(s32 status) { - if(status == -1) { - return; - } - while(!HuDataGetAsyncStat(status)) { - HuPrcVSleep(); - } -} + if(status == -1) { + return; + } + while(!HuDataGetAsyncStat(status)) { + HuPrcVSleep(); + } +} \ No newline at end of file diff --git a/src/game/board/mg_setup.c b/src/game/board/mg_setup.c index ec5ac7a4..6885c829 100644 --- a/src/game/board/mg_setup.c +++ b/src/game/board/mg_setup.c @@ -12,8 +12,6 @@ #include "game/board/tutorial.h" #include "game/board/window.h" -#include "ext_math.h" - // structs typedef struct structActiveMG { s16 unk_00; @@ -55,10 +53,10 @@ static s16 mgPlay4P[8]; // data static s32 mgSetupSprTbl[13] = { - DATA_MAKE_NUM(DATADIR_BOARD, 0x4B), DATA_MAKE_NUM(DATADIR_BOARD, 0x4C), DATA_MAKE_NUM(DATADIR_BOARD, 0x4D), DATA_MAKE_NUM(DATADIR_BOARD, 0x4E), - DATA_MAKE_NUM(DATADIR_BOARD, 0x4F), DATA_MAKE_NUM(DATADIR_BOARD, 0x52), DATA_MAKE_NUM(DATADIR_BOARD, 0x50), DATA_MAKE_NUM(DATADIR_BOARD, 0x51), - DATA_MAKE_NUM(DATADIR_BOARD, 0x53), DATA_MAKE_NUM(DATADIR_BOARD, 0x54), DATA_MAKE_NUM(DATADIR_BOARD, 0x55), DATA_MAKE_NUM(DATADIR_BOARD, 0x68), - DATA_MAKE_NUM(DATADIR_BOARD, 0x56) + 0x0007004B, 0x0007004C, 0x0007004D, 0x0007004E, + 0x0007004F, 0x00070052, 0x00070050, 0x00070051, + 0x00070053, 0x00070054, 0x00070055, 0x00070068, + 0x00070056 }; static Vec statusLayout4P[4] = { { 170.0f, 244.0f, 0.0f }, @@ -78,10 +76,20 @@ static Vec statusLayout2Vs2[4] = { { 406.0f, 260.0f, 0.0f }, { 406.0f, 348.0f, 0.0f }, }; -static s32 luckyMessTbl[9] = { - MAKE_MESSID(0x14, 0x00), MAKE_MESSID(0x14, 0x05), MAKE_MESSID(0x14, 0x0A), MAKE_MESSID(0x14, 0x0F), - MAKE_MESSID(0x14, 0x14), MAKE_MESSID(0x14, 0x19), MAKE_MESSID(0x14, 0x00), MAKE_MESSID(0x14, 0x00), - MAKE_MESSID(0x14, 0x00) + +//mod: extend for custom board +static s32 luckyMessTbl[10] = { + 0x00140000, + 0x00140005, + 0x0014000A, + 0x0014000F, + 0x00140014, + 0x00140019, + 0x00140000, + 0x00140000, + 0x00140000, + //added for custom board + 0x00140000 }; // sbss @@ -146,10 +154,18 @@ static inline s32 setupObjGet(void) { } static void ExecMGSetup(void) { - s32 sp60[9] = { - DATADIR_W01, DATADIR_W02, DATADIR_W03, - DATADIR_W04, DATADIR_W05, DATADIR_W06, - DATADIR_W10, DATADIR_W20, DATADIR_W21 + s32 sp60[10] = { + 0x750000, + 0x760000, + 0x770000, + 0x780000, + 0x790000, + 0x7A0000, + 0x7B0000, + 0x7C0000, + 0x7D0000, + //added for custom board + 0x7D0000 }; Vec sp54; u16 var_r24; @@ -257,8 +273,8 @@ static void ExecMGSetup(void) { while (setupObjGet() != 7) { HuPrcVSleep(); } - HuDataDirClose(DATADIR_BOARD); - HuDataDirClose(DATADIR_BGUEST); + HuDataDirClose(0x70000); + HuDataDirClose(0x20000); HuDataDirClose(sp60[GWBoardGet()]); HuPrcSleep(2); if (_CheckFlag(FLAG_ID_MAKE(0, 11)) != 0) { @@ -321,8 +337,8 @@ static void DetermineMGList(bitcopy* arg0) { } } mgListAll[var_r24] = -1; - temp_r26 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r27 * 4, MEMORY_DEFAULT_NUM); - temp_r25 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r27 * 2, MEMORY_DEFAULT_NUM); + temp_r26 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r27 * 4, 0x10000000U); + temp_r25 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r27 * 2, 0x10000000U); var_r31 = mgInfoTbl; for (var_r29 = var_r30 = 0; var_r30 < var_r27; var_r30++, var_r31++) { @@ -632,7 +648,7 @@ static void CreateMGSetup(void) { temp_r29->unk_02 = 0; temp_r29->unk_03 = 0; temp_r29->unk_04 = 0; - temp_r28->unk_0C = HuMemDirectMallocNum(HEAP_SYSTEM, 0x154, MEMORY_DEFAULT_NUM); + temp_r28->unk_0C = HuMemDirectMallocNum(HEAP_SYSTEM, 0x154, 0x10000000U); temp_r31 = temp_r28->unk_0C; temp_r31->unk_00[0] = HuSprGrpCreate(0xD); @@ -769,7 +785,7 @@ static void SeparateStatus(bitcopy* arg0, omObjData* arg1) { return; } OSu8tof32((u8*)&arg0->unk_03, &temp_f29); - temp_f30 = sind(temp_f29) * 4.0 + 1.0; + temp_f30 = sin((temp_f29 * M_PI) / 180.0) * 4.0 + 1.0; arg0->unk_03 += 6; if (arg0->unk_03 > 0x5A) { arg0->unk_03 = 0x5A; @@ -789,7 +805,7 @@ static void PopupVS(bitcopy* arg0, omObjData* arg1) { temp_r29 = arg0->unk_0C; if (arg0->unk_02 == 0) { - HuSprAttrReset(temp_r29->unk_00[0], 0, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r29->unk_00[0], 0, 4); HuSprAttrSet(temp_r29->unk_00[0], 0, 8); HuSprScaleSet(temp_r29->unk_00[0], 0, 0.001f, 0.001f); HuSprPosSet(temp_r29->unk_00[0], 0, 0.0f, 64.0f); @@ -799,9 +815,9 @@ static void PopupVS(bitcopy* arg0, omObjData* arg1) { } OSs16tof32(&arg0->unk_04, &temp_f31); if (arg0->unk_04 < 0x5A) { - var_f30 = 2.0 * sind(temp_f31); + var_f30 = 2.0 * sin((M_PI * temp_f31) / 180.0); } else { - var_f30 = 1.0 + sind(temp_f31); + var_f30 = 1.0 + sin((M_PI * temp_f31) / 180.0); if (arg0->unk_04 >= 0xB4) { var_f30 = 1.0f; temp_r28 = (bitcopy*) mgSetupObj->work; @@ -834,13 +850,13 @@ static void FallMGType(bitcopy* arg0, omObjData* arg1) { temp_r31 = arg0->unk_0C; temp_r30 = sp8[mgType]; if (arg0->unk_02 == 0) { - HuSprAttrReset(temp_r31->unk_00[0], temp_r30, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r31->unk_00[0], temp_r30, 4); temp_r31->unk_1C[0][temp_r30].y = -284.0f; temp_r31->unk_1C[1][temp_r30].y = -128.0f; arg0->unk_02 = 1; } - VECSubtract(&temp_r31->unk_1C[1][temp_r30], &temp_r31->unk_1C[0][temp_r30], &sp10); - if (VECMag(&sp10) <= 1.0f) { + PSVECSubtract(&temp_r31->unk_1C[1][temp_r30], &temp_r31->unk_1C[0][temp_r30], &sp10); + if (PSVECMag(&sp10) <= 1.0f) { temp_r31->unk_1C[0][temp_r30] = temp_r31->unk_1C[1][temp_r30]; temp_r29 = (bitcopy*) mgSetupObj->work; temp_r29->field00_bit1 = 7; @@ -848,8 +864,8 @@ static void FallMGType(bitcopy* arg0, omObjData* arg1) { temp_r29->unk_03 = 0; temp_r29->unk_04 = 0; } else { - VECScale(&sp10, &sp10, 0.1f); - VECAdd(&sp10, &temp_r31->unk_1C[0][temp_r30], &temp_r31->unk_1C[0][temp_r30]); + PSVECScale(&sp10, &sp10, 0.1f); + PSVECAdd(&sp10, &temp_r31->unk_1C[0][temp_r30], &temp_r31->unk_1C[0][temp_r30]); } HuSprPosSet(temp_r31->unk_00[0], temp_r30, temp_r31->unk_1C[0][temp_r30].x, temp_r31->unk_1C[0][temp_r30].y); } @@ -874,7 +890,7 @@ static void LuckyMGFall(bitcopy* arg0, omObjData* arg1) { temp_r27 = &temp_r29->unk_1C[0][temp_r24]; switch (arg0->unk_02) { case 0: - HuSprAttrReset(temp_r29->unk_00[0], 4, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r29->unk_00[0], 4, 4); temp_r28->y = -284.0f; temp_r25->y = -128.0f; arg0->unk_02 = 1; @@ -891,7 +907,7 @@ static void LuckyMGFall(bitcopy* arg0, omObjData* arg1) { case 2: temp_r27->y += 10.0f; if (328.0f < temp_r27->y) { - HuSprAttrReset(temp_r29->unk_00[0], temp_r24, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r29->unk_00[0], temp_r24, 4); temp_r26 = (bitcopy*) mgSetupObj->work; temp_r26->field00_bit1 = 7; temp_r26->unk_02 = 0; @@ -937,8 +953,8 @@ static void UpdateLuckyValue(bitcopy* arg0, omObjData* arg1) { temp_r27 = arg0->unk_0C; switch (arg0->unk_02) { case 0: - HuSprAttrReset(temp_r27->unk_00[0], 8, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(temp_r27->unk_00[0], 9, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r27->unk_00[0], 8, 4); + HuSprAttrReset(temp_r27->unk_00[0], 9, 4); HuSprAttrSet(temp_r27->unk_00[0], 8, 8); HuSprAttrSet(temp_r27->unk_00[0], 9, 8); HuSprPosSet(temp_r27->unk_00[0], 8, 0.0f, 0.0f); @@ -960,7 +976,7 @@ static void UpdateLuckyValue(bitcopy* arg0, omObjData* arg1) { case 1: if (arg0->unk_03 < 0x5A) { OSu8tof32((u8*) &arg0->unk_03, &temp_f28); - temp_f29 = sind(temp_f28); + temp_f29 = sin((M_PI * temp_f28) / 180.0); HuSprScaleSet(temp_r27->unk_00[0], 8, temp_f29, temp_f29); HuSprScaleSet(temp_r27->unk_00[0], 9, temp_f29, temp_f29); arg0->unk_03 += 2; @@ -1008,7 +1024,7 @@ static void UpdateLuckyValue(bitcopy* arg0, omObjData* arg1) { return; } temp_f28 = (arg0->unk_04 % 360); - temp_f29 = (1.0 + (0.5 * sind(temp_f28))); + temp_f29 = (1.0 + (0.5 * sin((M_PI * temp_f28) / 180.0))); HuSprScaleSet(temp_r27->unk_00[0], 8, temp_f29, temp_f29); HuSprScaleSet(temp_r27->unk_00[0], 9, temp_f29, temp_f29); break; @@ -1044,10 +1060,10 @@ static void UpdateMGList(bitcopy* arg0, omObjData* arg1) { temp_r24 = arg0->unk_0C; temp_r22 = mgType + 5; - switch (arg0->unk_02) { + switch (arg0->unk_02) { /* irregular */ case 0: HuSprAttrSet(temp_r24->unk_00[0], temp_r22, 8); - HuSprAttrReset(temp_r24->unk_00[0], temp_r22, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r24->unk_00[0], temp_r22, 4); HuSprPosSet(temp_r24->unk_00[0], temp_r22, 0.0f, 32.0f); HuSprScaleSet(temp_r24->unk_00[0], temp_r22, 0.001f, 0.001f); arg0->unk_04 = 0; @@ -1068,7 +1084,7 @@ static void UpdateMGList(bitcopy* arg0, omObjData* arg1) { if (activeMG[var_r23].unk_03 != 0) { sp14 = activeMG[var_r23].unk_04; } else { - sp14 = MAKE_MESSID(9, 1); + sp14 = 0x90001; } HuWinMesSet(temp_r3, sp14); activeMG[var_r23].unk_00 = temp_r3; @@ -1077,7 +1093,7 @@ static void UpdateMGList(bitcopy* arg0, omObjData* arg1) { case 1: if (arg0->unk_03 < 0x5A) { OSu8tof32((u8*) &arg0->unk_03, &var_f26); - temp_f27 = sind(var_f26); + temp_f27 = sin((M_PI * var_f26) / 180.0); arg0->unk_03 += 3; HuSprScaleSet(temp_r24->unk_00[0], temp_r22, temp_f27, temp_f27); return; @@ -1086,11 +1102,11 @@ static void UpdateMGList(bitcopy* arg0, omObjData* arg1) { for (var_r23 = 0; var_r23 < arg0->field01_bit0; var_r23++) { HuWinDispOn(activeMG[var_r23].unk_00); } - HuSprAttrReset(temp_r24->unk_00[0], 0xA, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r24->unk_00[0], 0xA, 4); HuSprAttrSet(temp_r24->unk_00[0], 0xA, 8); HuSprPosSet(temp_r24->unk_00[0], 0xA, -148.0f, cursorYTbl[0]); temp_r18 = &hiliteColTbl[mgType]; - HuSprAttrReset(temp_r24->unk_00[0], 0xC, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r24->unk_00[0], 0xC, 4); HuSprPosSet(temp_r24->unk_00[0], 0xC, 0.0f, hiliteYTbl[0]); HuSprTPLvlSet(temp_r24->unk_00[0], 0xC, 0.7f); HuSprScaleSet(temp_r24->unk_00[0], 0xC, 32.0f, 3.5f); @@ -1160,15 +1176,15 @@ static void UpdateMGList(bitcopy* arg0, omObjData* arg1) { hiliteTimer = 0; } if (hiliteShowF != 0) { - HuSprAttrReset(temp_r24->unk_00[0], 0xC, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r24->unk_00[0], 0xC, 4); return; } - HuSprAttrSet(temp_r24->unk_00[0], 0xC, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(temp_r24->unk_00[0], 0xC, 4); return; case 5: if (arg0->unk_03 < 0x5A) { OSu8tof32((u8*) &arg0->unk_03, &var_f26); - temp_f27 = (1.0 + (2.0 * sind(var_f26))); + temp_f27 = (1.0 + (2.0 * sin((M_PI * var_f26) / 180.0))); arg0->unk_03 += 4; if (arg0->unk_03 > 0x5A) { arg0->unk_03 = 0x5A; diff --git a/src/game/board/model.c b/src/game/board/model.c index 599f05e2..b621f1fd 100644 --- a/src/game/board/model.c +++ b/src/game/board/model.c @@ -1,5 +1,5 @@ -#include "game/board/model.h" #include "game/board/main.h" +#include "game/board/model.h" #include "game/chrman.h" #include "game/hsfman.h" #include "game/hsfmotion.h" @@ -10,31 +10,31 @@ #define BOARD_MOT_MAX 32 typedef struct board_model { - struct { - u8 visible : 1; - u8 visible_old : 1; - u8 field00_bit2 : 1; - u8 field00_bit3 : 1; - u8 field00_bit4 : 1; - }; - s8 mot_count; - s8 character; - u8 alpha; - u8 layer; - u16 camera; - s16 index; - s16 id; - s16 mot_id[BOARD_MOT_MAX]; - s16 curr_mot; - HsfData *data; - HsfData *mot_data[BOARD_MOT_MAX]; - float unk_D4; - s32 data_num; - float mot_start; - float mot_end; - Vec pos; - Vec rot; - Vec scale; + struct { + u8 visible : 1; + u8 visible_old : 1; + u8 field00_bit2 : 1; + u8 field00_bit3 : 1; + u8 field00_bit4 : 1; + }; + s8 mot_count; + s8 character; + u8 alpha; + u8 layer; + u16 camera; + s16 index; + s16 id; + s16 mot_id[BOARD_MOT_MAX]; + s16 curr_mot; + HsfData *data; + HsfData *mot_data[BOARD_MOT_MAX]; + float unk_D4; + s32 data_num; + float mot_start; + float mot_end; + Vec pos; + Vec rot; + Vec scale; } BoardModel; static s16 modelDataNum; @@ -52,1199 +52,1132 @@ void BoardModelDummyUpdate(void); void BoardModelVisibilityUpdate(void); typedef struct modelmgr_work { - u8 kill : 1; + u8 kill : 1; } ModelMgrWork; void BoardModelInit(void) { - ModelMgrWork *work; - s32 i; - modelDataList = HuMemDirectMallocNum(HEAP_SYSTEM, BOARD_MODEL_MAX * sizeof(BoardModel), MEMORY_DEFAULT_NUM); - reflectMapNo = 0; - modelDataNum = 0; - memset(modelDataList, 0, BOARD_MODEL_MAX * sizeof(BoardModel)); - for (i = 0; i < BOARD_MODEL_MAX; i++) { - modelDataList[i].index = -1; - modelDataList[i].visible = 0; - } - modelMgrObj = omAddObjEx(boardObjMan, 32258, 0, 0, -1, ModelMgrFunc); - work = OM_GET_WORK_PTR(modelMgrObj, ModelMgrWork); - work->kill = 0; - omSetStatBit(modelMgrObj, OM_STAT_NOPAUSE | 0x80); + ModelMgrWork *work; + s32 i; + modelDataList = HuMemDirectMallocNum(HEAP_SYSTEM, BOARD_MODEL_MAX*sizeof(BoardModel), MEMORY_DEFAULT_NUM); + reflectMapNo = 0; + modelDataNum = 0; + memset(modelDataList, 0, BOARD_MODEL_MAX*sizeof(BoardModel)); + for(i=0; ikill = 0; + omSetStatBit(modelMgrObj, OM_STAT_NOPAUSE|0x80); } void BoardModelKillAll(void) { - if (modelMgrObj) { - ModelMgrWork *work = OM_GET_WORK_PTR(modelMgrObj, ModelMgrWork); - work->kill = 1; - } - if (modelDataList) { - BoardModel *model; - for (model = modelDataList; model < &modelDataList[BOARD_MODEL_MAX]; model++) { - KillBoardModel(model); - } - if (modelDataList) { - HuMemDirectFree(modelDataList); - modelDataList = NULL; - } - } + if(modelMgrObj) { + ModelMgrWork *work = OM_GET_WORK_PTR(modelMgrObj, ModelMgrWork); + work->kill = 1; + } + if(modelDataList) { + BoardModel *model; + for(model=modelDataList; model < &modelDataList[BOARD_MODEL_MAX]; model++) { + KillBoardModel(model); + } + if(modelDataList) { + HuMemDirectFree(modelDataList); + modelDataList = NULL; + } + + } } static void ModelMgrFunc(omObjData *object) { - ModelMgrWork *work = OM_GET_WORK_PTR(modelMgrObj, ModelMgrWork); - if (work->kill || BoardIsKill()) { - modelMgrObj = NULL; - omDelObjEx(HuPrcCurrentGet(), object); - return; - } - BoardModelDummyUpdate(); - BoardModelVisibilityUpdate(); + ModelMgrWork *work = OM_GET_WORK_PTR(modelMgrObj, ModelMgrWork); + if(work->kill || BoardIsKill()) { + modelMgrObj = NULL; + omDelObjEx(HuPrcCurrentGet(), object); + return; + } + BoardModelDummyUpdate(); + BoardModelVisibilityUpdate(); } -void BoardModelDummyUpdate(void) { } +void BoardModelDummyUpdate(void) +{ + +} void BoardModelVisibilityUpdate(void) { - s32 i; - BoardModel *model; - u32 temp[2]; - Vec pos, target; - temp[1] = temp[0] = 0; - BoardCameraPosGet(&pos); - BoardCameraTargetGet(&target); - for (i = 0, model = modelDataList; i < BOARD_MODEL_MAX; i++, model++) { - u32 attr; - if (model->index == -1) { - continue; - } - attr = Hu3DModelAttrGet(model->id); - if (!model->visible) { - if (!(attr & 0x1)) { - Hu3DModelAttrSet(model->id, HU3D_ATTR_DISPOFF); - } - } - else { - if (attr & 0x1) { - Hu3DModelAttrReset(model->id, HU3D_ATTR_DISPOFF); - } - } - } + s32 i; + BoardModel *model; + u32 temp[2]; + Vec pos, target; + temp[1] = temp[0] = 0; + BoardCameraPosGet(&pos); + BoardCameraTargetGet(&target); + for(i=0, model = modelDataList; iindex == -1) { + continue; + } + attr = Hu3DModelAttrGet(model->id); + if(!model->visible) { + if(!(attr & 0x1)) { + Hu3DModelAttrSet(model->id, 1); + } + } else { + if(attr & 0x1) { + Hu3DModelAttrReset(model->id, 1); + } + } + } } void BoardModelHideSetAll(s32 flag) { - BoardModel *model; - if (!modelDataList) { - return; - } - - for (model = modelDataList; model < &modelDataList[BOARD_MODEL_MAX]; model++) { - if (model->index == -1) { - continue; - } - if (flag) { - model->visible_old = model->visible; - model->visible = 0; - } - else { - model->visible = model->visible_old; - } - } + BoardModel *model; + if(!modelDataList) { + return; + } + + for(model=modelDataList; model < &modelDataList[BOARD_MODEL_MAX]; model++) { + if(model->index == -1) { + continue; + } + if(flag) { + model->visible_old = model->visible; + model->visible = 0; + } else { + model->visible = model->visible_old; + } + } } void BoardModelAmbSetAll(float r, float g, float b) { - BoardModel *model; - for (model = modelDataList; model < &modelDataList[BOARD_MODEL_MAX]; model++) { - if (model->index == -1) { - continue; - } - BoardModelAmbSet(model->index, r, g, b); - } + BoardModel *model; + for(model=modelDataList; model < &modelDataList[BOARD_MODEL_MAX]; model++) { + if(model->index == -1) { + continue; + } + BoardModelAmbSet(model->index, r, g, b); + } } void BoardModelCameraSetAll(u16 camera) { - BoardModel *model; - for (model = modelDataList; model < &modelDataList[BOARD_MODEL_MAX]; model++) { - if (model->index == -1) { - continue; - } - if (model->character != -1) { - continue; - } - Hu3DModelCameraSet(model->id, camera); - model->camera = camera; - } + BoardModel *model; + for(model=modelDataList; model < &modelDataList[BOARD_MODEL_MAX]; model++) { + if(model->index == -1) { + continue; + } + if(model->character != -1) { + continue; + } + Hu3DModelCameraSet(model->id, camera); + model->camera = camera; + } } static s16 CreateInstance(s32 character, s32 data_num, s32 *mot_list, s32 link, s32 arg4) { - BoardModel *model; - s32 i; - model = NULL; - for (i = 0; i < BOARD_MODEL_MAX; i++) { - if (modelDataList[i].index == -1) { - model = &modelDataList[i]; - break; - } - } - if (!model) { - return -1; - } - memset(model, 0, sizeof(BoardModel)); - model->index = i + 1; - model->character = character; - modelDataNum++; - if (CreateBoardModel(model, data_num, link) == 0) { - s32 count; - count = 0; - if (mot_list) { - for (count = 0; mot_list[count] >= 0; count++) - ; - if (count >= BOARD_MOT_MAX) { - count = BOARD_MOT_MAX; - } - } - for (i = 0; i < BOARD_MOT_MAX; i++) { - model->mot_id[i] = -1; - } - if (CreateBoardModelMotion(model, count, mot_list) == 0) { - model->visible = 1; - model->visible_old = model->visible; - model->field00_bit2 = 0; - model->field00_bit4 = 0; - model->unk_D4 = 100.0f; - model->scale.x = model->scale.y = model->scale.z = 1.0f; - model->curr_mot = 0; - Hu3DModelCameraSet(model->id, 1); - Hu3DModelLayerSet(model->id, 0); - model->field00_bit3 = 0; - model->alpha = 255; - BoardModelPosSet(model->index, 0.0f, 0.0f, 0.0f); - BoardModelRotSet(model->index, 0.0f, 0.0f, 0.0f); - BoardModelScaleSet(model->index, 1.0f, 1.0f, 1.0f); - BoardModelAmbSet(model->index, 1.0f, 1.0f, 1.0f); - return model->index; - } - } - BoardModelKill(model->index); - return -1; + BoardModel *model; + s32 i; + model = NULL; + for(i=0; iindex = i+1; + model->character = character; + modelDataNum++; + if(CreateBoardModel(model, data_num, link) == 0) { + s32 count; + count = 0; + if(mot_list) { + for(count=0; mot_list[count] >= 0; count++); + if(count >= BOARD_MOT_MAX) { + count = BOARD_MOT_MAX; + } + } + for(i=0; imot_id[i] = -1; + } + if(CreateBoardModelMotion(model, count, mot_list) == 0) { + model->visible = 1; + model->visible_old = model->visible; + model->field00_bit2 = 0; + model->field00_bit4 = 0; + model->unk_D4 = 100.0f; + model->scale.x = model->scale.y = model->scale.z = 1.0f; + model->curr_mot = 0; + Hu3DModelCameraSet(model->id, 1); + Hu3DModelLayerSet(model->id, 0); + model->field00_bit3 = 0; + model->alpha = 255; + BoardModelPosSet(model->index, 0.0f, 0.0f, 0.0f); + BoardModelRotSet(model->index, 0.0f, 0.0f, 0.0f); + BoardModelScaleSet(model->index, 1.0f, 1.0f, 1.0f); + BoardModelAmbSet(model->index, 1.0f, 1.0f, 1.0f); + return model->index; + } + } + BoardModelKill(model->index); + return -1; } s16 BoardModelCreate(s32 data_num, s32 *mot_list, s32 link) { - return CreateInstance(-1, data_num, mot_list, link, 0); + return CreateInstance(-1, data_num, mot_list, link, 0); } s16 BoardModelCreateCharacter(s32 character, s32 data_num, s32 *mot_list, s32 link) { - return CreateInstance(character, data_num, mot_list, link, 0); + return CreateInstance(character, data_num, mot_list, link, 0); } s16 BoardModelCreateParam(BoardModelParam *param, Vec *pos, Vec *rot) { - float unk_param; - s16 model = BoardModelCreate(param->data_num, NULL, param->unk4.link); - if (model == -1) { - return -1; - } - BoardModelMotionStart(model, 0, (param->unk4.pause) ? 0x40000001 : 0); - if (!param->unk4.start_mot) { - BoardModelMotionSpeedSet(model, 0.0f); - } - BoardModelExistDupe(model, param->unk4.field04_bit0); - BoardModelVisibilitySet(model, param->unk4.visible); - if (pos) { - BoardModelPosSetV(model, pos); - } - if (rot) { - BoardModelRotSetV(model, rot); - } - OSs16tof32(¶m->unk6, &unk_param); - fn_8006DDE8(model, unk_param); - return model; + float unk_param; + s16 model = BoardModelCreate(param->data_num, NULL, param->unk4.link); + if(model == -1) { + return -1; + } + BoardModelMotionStart(model, 0, (param->unk4.pause) ? 0x40000001 : 0); + if(!param->unk4.start_mot) { + BoardModelMotionSpeedSet(model, 0.0f); + } + BoardModelExistDupe(model, param->unk4.field04_bit0); + BoardModelVisibilitySet(model, param->unk4.visible); + if(pos) { + BoardModelPosSetV(model, pos); + } + if(rot) { + BoardModelRotSetV(model, rot); + } + OSs16tof32(¶m->unk6, &unk_param); + fn_8006DDE8(model, unk_param); + return model; } void BoardModelKill(s16 model) { - BoardModel *model_ptr = SearchBoardModel(model); - if (model_ptr) { - KillBoardModel(model_ptr); - } + BoardModel *model_ptr = SearchBoardModel(model); + if(model_ptr) { + KillBoardModel(model_ptr); + } } s16 BoardModelIDGet(s16 model) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - return model_ptr->id; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + return model_ptr->id; + } } s32 fn_8006DC1C(s16 model, s32 arg1) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - model_ptr->field00_bit3 = arg1; - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + model_ptr->field00_bit3 = arg1; + return 0; + } } s32 BoardModelPassSet(s16 model, s32 pass) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - if (pass != 0) { - Hu3DModelAttrSet(model_ptr->id, HU3D_ATTR_ZWRITE_OFF); - } - else { - Hu3DModelAttrReset(model_ptr->id, HU3D_ATTR_ZWRITE_OFF); - } - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + if(pass != 0) { + Hu3DModelAttrSet(model_ptr->id, 2); + } else { + Hu3DModelAttrReset(model_ptr->id, 2); + } + return 0; + } } s32 BoardModelAmbSet(s16 model, float r, float g, float b) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - Hu3DModelAmbSet(model_ptr->id, r, g, b); - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + Hu3DModelAmbSet(model_ptr->id, r, g, b); + return 0; + } } s32 BoardModelExistCheck(s16 model, s32 arg1) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + return 0; + } } s32 BoardModelExistDupe(s16 model, s32 arg1) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + return 0; + } } s32 fn_8006DDE8(s16 model, float arg1) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - if (arg1 < 0) { - arg1 = -1; - } - model_ptr->unk_D4 = arg1; - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + if(arg1 < 0) { + arg1 = -1; + } + model_ptr->unk_D4 = arg1; + return 0; + } } s32 BoardModelMotionCreate(s16 model, s32 data_num) { - BoardModel *model_ptr = SearchBoardModel(model); - s32 i; - if (!model_ptr) { - return -1; - } - else { - s16 id; - if (model_ptr->mot_count >= BOARD_MOT_MAX) { - return -1; - } - for (i = 1; i < BOARD_MOT_MAX; i++) { - if (model_ptr->mot_id[i] == -1) { - break; - } - } - if (model_ptr->character == -1) { - model_ptr->mot_data[i] = HuDataSelHeapReadNum(data_num, MEMORY_DEFAULT_NUM, HEAP_DATA); - if (!model_ptr->mot_data[i]) { - return -1; - } - model = Hu3DJointMotion(model_ptr->id, model_ptr->mot_data[i]); - } - else { - model = CharModelMotionCreate(model_ptr->character, data_num); - CharModelMotionDataClose(model_ptr->character); - } - model_ptr->mot_id[i] = model; - model_ptr->mot_count++; - return i; - } + BoardModel *model_ptr = SearchBoardModel(model); + s32 i; + if(!model_ptr) { + return -1; + } else { + s16 id; + if(model_ptr->mot_count >= BOARD_MOT_MAX) { + return -1; + } + for(i=1; imot_id[i] == -1) { + break; + } + } + if(model_ptr->character == -1) { + model_ptr->mot_data[i] = HuDataSelHeapReadNum(data_num, MEMORY_DEFAULT_NUM, HEAP_DATA); + if(!model_ptr->mot_data[i]) { + return -1; + } + model = Hu3DJointMotion(model_ptr->id, model_ptr->mot_data[i]); + } else { + model = CharModelMotionCreate(model_ptr->character, data_num); + CharModelMotionDataClose(model_ptr->character); + } + model_ptr->mot_id[i] = model; + model_ptr->mot_count++; + return i; + } } s32 BoardModelMotionKill(s16 model, s32 motion) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - if (motion >= BOARD_MOT_MAX || motion <= 0) { - return -1; - } - if (motion == model_ptr->curr_mot && model_ptr->curr_mot != 0) { - BoardModelMotionStart(model, 0, 0); - } - if (model_ptr->mot_id[motion] > 0) { - if (model_ptr->character == -1) { - Hu3DMotionKill(model_ptr->mot_id[motion]); - } - else { - CharModelMotionKill(model_ptr->character, model_ptr->mot_id[motion]); - } - model_ptr->mot_id[motion] = -1; - } - model_ptr->mot_data[motion] = NULL; - model_ptr->mot_count--; - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + if(motion >= BOARD_MOT_MAX || motion <= 0) { + return -1; + } + if(motion == model_ptr->curr_mot && model_ptr->curr_mot != 0) { + BoardModelMotionStart(model, 0, 0); + } + if(model_ptr->mot_id[motion] > 0) { + if(model_ptr->character == -1) { + Hu3DMotionKill(model_ptr->mot_id[motion]); + } else { + CharModelMotionKill(model_ptr->character, model_ptr->mot_id[motion]); + } + model_ptr->mot_id[motion] = -1; + } + model_ptr->mot_data[motion] = NULL; + model_ptr->mot_count--; + return 0; + } } s32 BoardModelMotionStartEndSet(s16 model, s16 start, s16 end) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - if (start >= 0) { - OSs16tof32(&start, &model_ptr->mot_start); - } - if (end >= 0) { - OSs16tof32(&end, &model_ptr->mot_end); - } - Hu3DMotionStartEndSet(model_ptr->id, model_ptr->mot_start, model_ptr->mot_end); - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + if(start >= 0) { + OSs16tof32(&start, &model_ptr->mot_start); + } + if(end >= 0) { + OSs16tof32(&end, &model_ptr->mot_end); + } + Hu3DMotionStartEndSet(model_ptr->id, model_ptr->mot_start, model_ptr->mot_end); + return 0; + } } s32 BoardModelMotionUpdateSet(s16 model, s32 flag) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - if (flag) { - Hu3DModelAttrSet(model_ptr->id, HU3D_MOTATTR_LOOP); - } - else { - Hu3DModelAttrReset(model_ptr->id, HU3D_MOTATTR_LOOP); - } - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + if(flag) { + Hu3DModelAttrSet(model_ptr->id, 0x40000001); + } else { + Hu3DModelAttrReset(model_ptr->id, 0x40000001); + } + return 0; + } } s32 BoardModelVoiceEnableSet(s16 model, s32 motion, s32 flag) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - if (motion >= BOARD_MOT_MAX || motion < 0) { - return 0; - } - if (model_ptr->character == -1) { - return 0; - } - CharModelVoiceEnableSet(model_ptr->character, model_ptr->mot_id[motion], flag); - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + if(motion >= BOARD_MOT_MAX || motion < 0) { + return 0; + } + if(model_ptr->character == -1) { + return 0; + } + CharModelVoiceEnableSet(model_ptr->character, model_ptr->mot_id[motion], flag); + return 0; + } } s32 BoardModelMotionStart(s16 model, s32 motion, u32 attr) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - if (motion >= BOARD_MOT_MAX || motion < 0) { - return 0; - } - Hu3DMotionSpeedSet(model_ptr->id, 1.0f); - if (model_ptr->character == -1) { - Hu3DMotionSet(model_ptr->id, model_ptr->mot_id[motion]); - } - else { - CharModelMotionSet(model_ptr->character, model_ptr->mot_id[motion]); - } - model_ptr->mot_start = 0.0f; - if (model_ptr->character == -1) { - model_ptr->mot_end = Hu3DMotionMaxTimeGet(model_ptr->id); - } - else { - model_ptr->mot_end = CharModelMotionMaxTimeGet(model_ptr->character); - } - model_ptr->field00_bit4 = 0; - if (attr & 0x40000024) { - if (model_ptr->character == -1) { - Hu3DMotionTimeSet(model_ptr->id, model_ptr->mot_end); - } - else { - CharModelMotionTimeSet(model_ptr->character, model_ptr->mot_end); - } - } - Hu3DModelAttrReset(model_ptr->id, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); - Hu3DModelAttrSet(model_ptr->id, attr); - model_ptr->curr_mot = motion; - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + if(motion >= BOARD_MOT_MAX || motion < 0) { + return 0; + } + Hu3DMotionSpeedSet(model_ptr->id, 1.0f); + if(model_ptr->character == -1) { + Hu3DMotionSet(model_ptr->id, model_ptr->mot_id[motion]); + } else { + CharModelMotionSet(model_ptr->character, model_ptr->mot_id[motion]); + } + model_ptr->mot_start = 0.0f; + if(model_ptr->character == -1) { + model_ptr->mot_end = Hu3DMotionMaxTimeGet(model_ptr->id); + } else { + model_ptr->mot_end = CharModelMotionMaxTimeGet(model_ptr->character); + } + model_ptr->field00_bit4 = 0; + if(attr & 0x40000024) { + if(model_ptr->character == -1) { + Hu3DMotionTimeSet(model_ptr->id, model_ptr->mot_end); + } else { + CharModelMotionTimeSet(model_ptr->character, model_ptr->mot_end); + } + } + Hu3DModelAttrReset(model_ptr->id, 0x40000003); + Hu3DModelAttrSet(model_ptr->id, attr); + model_ptr->curr_mot = motion; + return 0; + } } s32 BoardModelMotionShiftIDGet(s16 model) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - return Hu3DMotionShiftIDGet(model_ptr->id); - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + return Hu3DMotionShiftIDGet(model_ptr->id); + } } s32 BoardModelMotionShiftSet(s16 model, s32 motion, float time, float shift_time, u32 attr) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - if (motion >= BOARD_MOT_MAX || motion < 0) { - return -1; - } - model_ptr->mot_start = 0.0f; - if (model_ptr->character == -1) { - model_ptr->mot_end = Hu3DMotionMaxTimeGet(model_ptr->id); - } - else { - model_ptr->mot_end = CharModelMotionMaxTimeGet(model_ptr->character); - } - model_ptr->field00_bit4 = 0; - if (model_ptr->character == -1) { - Hu3DMotionShiftSet(model_ptr->id, model_ptr->mot_id[motion], time, shift_time, attr); - } - else { - CharModelMotionShiftSet(model_ptr->character, model_ptr->mot_id[motion], time, shift_time, attr); - } - model_ptr->curr_mot = motion; - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + if(motion >= BOARD_MOT_MAX || motion < 0) { + return -1; + } + model_ptr->mot_start = 0.0f; + if(model_ptr->character == -1) { + model_ptr->mot_end = Hu3DMotionMaxTimeGet(model_ptr->id); + } else { + model_ptr->mot_end = CharModelMotionMaxTimeGet(model_ptr->character); + } + model_ptr->field00_bit4 = 0; + if(model_ptr->character == -1) { + Hu3DMotionShiftSet(model_ptr->id, model_ptr->mot_id[motion], time, shift_time, attr); + } else { + CharModelMotionShiftSet(model_ptr->character, model_ptr->mot_id[motion], time, shift_time, attr); + } + model_ptr->curr_mot = motion; + return 0; + } } s32 BoardModelAttrSet(s16 model, u32 attr) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - Hu3DModelAttrSet(model_ptr->id, attr); - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + Hu3DModelAttrSet(model_ptr->id, attr); + return 0; + } } s32 BoardModelAttrReset(s16 model, u32 attr) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - Hu3DModelAttrReset(model_ptr->id, attr); - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + Hu3DModelAttrReset(model_ptr->id, attr); + return 0; + } } s32 BoardModelMotionTimeSet(s16 model, float time) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - if (model_ptr->character == -1) { - Hu3DMotionTimeSet(model_ptr->id, time); - } - else { - CharModelMotionTimeSet(model_ptr->character, time); - } - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + if(model_ptr->character == -1) { + Hu3DMotionTimeSet(model_ptr->id, time); + } else { + CharModelMotionTimeSet(model_ptr->character, time); + } + return 0; + } } float BoardModelMotionTimeGet(s16 model) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - float time; - if (model_ptr->character == -1) { - time = Hu3DData[model_ptr->id].unk_64; - } - else { - time = CharModelMotionTimeGet(model_ptr->character); - } - return time; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + float time; + if(model_ptr->character == -1) { + time = Hu3DData[model_ptr->id].unk_64; + } else { + time = CharModelMotionTimeGet(model_ptr->character); + } + return time; + } } float BoardModelMotionMaxTimeGet(s16 model) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - float time; - if (model_ptr->character == -1) { - time = Hu3DMotionMaxTimeGet(model_ptr->id); - } - else { - time = CharModelMotionMaxTimeGet(model_ptr->character); - } - return time; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + float time; + if(model_ptr->character == -1) { + time = Hu3DMotionMaxTimeGet(model_ptr->id); + } else { + time = CharModelMotionMaxTimeGet(model_ptr->character); + } + return time; + } } float BoardModelMotionSpeedGet(s16 model) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - ModelData *hsf_model = &Hu3DData[model_ptr->id]; - return hsf_model->unk_68; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + ModelData *hsf_model = &Hu3DData[model_ptr->id]; + return hsf_model->unk_68; + } } s32 BoardModelMotionSpeedSet(s16 model, float speed) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - ModelData *hsf_model; - if (model_ptr->character == -1) { - Hu3DMotionSpeedSet(model_ptr->id, speed); - } - else { - CharModelMotionSpeedSet(model_ptr->character, speed); - } - hsf_model = &Hu3DData[model_ptr->id]; - hsf_model->unk_88 = speed; - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + ModelData *hsf_model; + if(model_ptr->character == -1) { + Hu3DMotionSpeedSet(model_ptr->id, speed); + } else { + CharModelMotionSpeedSet(model_ptr->character, speed); + } + hsf_model = &Hu3DData[model_ptr->id]; + hsf_model->unk_88 = speed; + return 0; + } } s32 BoardModelMotionEndCheck(s16 model) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return 1; - } - else { - s32 result; - if (model_ptr->character == -1) { - result = Hu3DMotionEndCheck(model_ptr->id); - } - else { - result = CharModelMotionEndCheck(model_ptr->character); - } - return result; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return 1; + } else { + s32 result; + if(model_ptr->character == -1) { + result = Hu3DMotionEndCheck(model_ptr->id); + } else { + result = CharModelMotionEndCheck(model_ptr->character); + } + return result; + } } s32 BoardModelMotionShapeSet(s16 model, s32 motion, u32 attr) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - ModelData *hsf_model; - if (model_ptr->character != -1) { - return -1; - } - if (motion >= BOARD_MOT_MAX) { - return -1; - } - hsf_model = &Hu3DData[model_ptr->id]; - hsf_model->unk_98 = 1.0f; - Hu3DMotionShapeSet(model_ptr->id, model_ptr->mot_id[motion]); - if (attr & 0x40000100) { - float max_time = Hu3DMotionMaxTimeGet(model_ptr->id); - hsf_model->unk_94 = max_time; - } - Hu3DModelAttrSet(model_ptr->id, attr); - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + ModelData *hsf_model; + if(model_ptr->character != -1) { + return -1; + } + if(motion >= BOARD_MOT_MAX) { + return -1; + } + hsf_model = &Hu3DData[model_ptr->id]; + hsf_model->unk_98 = 1.0f; + Hu3DMotionShapeSet(model_ptr->id, model_ptr->mot_id[motion]); + if(attr & 0x40000100) { + float max_time = Hu3DMotionMaxTimeGet(model_ptr->id); + hsf_model->unk_94 = max_time; + } + Hu3DModelAttrSet(model_ptr->id, attr); + return 0; + } } float BoardModelMotionShapeTimeGet(s16 model) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - ModelData *hsf_model; - if (model_ptr->character != -1) { - return -1; - } - hsf_model = &Hu3DData[model_ptr->id]; - return hsf_model->unk_94; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + ModelData *hsf_model; + if(model_ptr->character != -1) { + return -1; + } + hsf_model = &Hu3DData[model_ptr->id]; + return hsf_model->unk_94; + } } float BoardModelMotionShapeMaxTimeGet(s16 model) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - ModelData *hsf_model; - MotionData *motion; - HsfMotion *motion_hsf; - if (model_ptr->character != -1) { - return -1; - } - hsf_model = &Hu3DData[model_ptr->id]; - if (hsf_model->unk_0E == -1) { - return 0; - } - motion = &Hu3DMotion[hsf_model->unk_0E]; - motion_hsf = motion->unk_04->motion; - return motion_hsf->len; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + ModelData *hsf_model; + MotionData *motion; + HsfMotion *motion_hsf; + if(model_ptr->character != -1) { + return -1; + } + hsf_model = &Hu3DData[model_ptr->id]; + if(hsf_model->unk_0E == -1) { + return 0; + } + motion = &Hu3DMotion[hsf_model->unk_0E]; + motion_hsf = motion->unk_04->motion; + return motion_hsf->len; + } } s32 BoardModelMotionShapeSpeedSet(s16 model, float speed) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - ModelData *hsf_model; - if (model_ptr->character != -1) { - return -1; - } - hsf_model = &Hu3DData[model_ptr->id]; - hsf_model->unk_98 = speed; - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + ModelData *hsf_model; + if(model_ptr->character != -1) { + return -1; + } + hsf_model = &Hu3DData[model_ptr->id]; + hsf_model->unk_98 = speed; + return 0; + } } float BoardModelMotionShapeSpeedGet(s16 model, float speed) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - ModelData *hsf_model; - hsf_model = &Hu3DData[model_ptr->id]; - return hsf_model->unk_98; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + ModelData *hsf_model; + hsf_model = &Hu3DData[model_ptr->id]; + return hsf_model->unk_98; + } } s32 BoardModelMotionShapeEndCheck(s16 model) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return 1; - } - else { - ModelData *hsf_model; - if (model_ptr->character != -1) { - return 1; - } - hsf_model = &Hu3DData[model_ptr->id]; - if (hsf_model->attr & 0x40000100) { - return hsf_model->unk_94 <= 0.0f; - } - return BoardModelMotionShapeMaxTimeGet(model) <= hsf_model->unk_94; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return 1; + } else { + ModelData *hsf_model; + if(model_ptr->character != -1) { + return 1; + } + hsf_model = &Hu3DData[model_ptr->id]; + if(hsf_model->attr & 0x40000100) { + return hsf_model->unk_94 <= 0.0f; + } + return BoardModelMotionShapeMaxTimeGet(model) <= hsf_model->unk_94; + } } s32 BoardModelMotionShapeStartEndSet(s16 model, s16 start, s16 end) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - if (model_ptr->character != -1) { - return -1; - } - if (start >= 0) { - OSs16tof32(&start, &model_ptr->mot_start); - } - if (end >= 0) { - OSs16tof32(&end, &model_ptr->mot_end); - } - Hu3DMotionShapeStartEndSet(model_ptr->id, model_ptr->mot_start, model_ptr->mot_end); - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + if(model_ptr->character != -1) { + return -1; + } + if(start >= 0) { + OSs16tof32(&start, &model_ptr->mot_start); + } + if(end >= 0) { + OSs16tof32(&end, &model_ptr->mot_end); + } + Hu3DMotionShapeStartEndSet(model_ptr->id, model_ptr->mot_start, model_ptr->mot_end); + return 0; + } } s32 BoardModelAlphaSet(s16 model, u8 alpha) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - float tp_lvl; - model_ptr->alpha = alpha; - OSu8tof32(&alpha, &tp_lvl); - tp_lvl = tp_lvl * (1.0f / 255.0f); - Hu3DModelTPLvlSet(model_ptr->id, tp_lvl); - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + float tp_lvl; + model_ptr->alpha = alpha; + OSu8tof32(&alpha, &tp_lvl); + tp_lvl = tp_lvl*(1.0f/255.0f); + Hu3DModelTPLvlSet(model_ptr->id, tp_lvl); + return 0; + } } s32 BoardModelMtxSet(s16 model, Mtx *src) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - ModelData *hsf_model; - if (!src) { - return -1; - } - hsf_model = &Hu3DData[model_ptr->id]; - MTXCopy(*src, hsf_model->unk_F0); - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + ModelData *hsf_model; + if(!src) { + return -1; + } + hsf_model = &Hu3DData[model_ptr->id]; + MTXCopy(*src, hsf_model->unk_F0); + return 0; + } } s32 BoardModelMtxGet(s16 model, Mtx *dst) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - ModelData *hsf_model; - if (!dst) { - return -1; - } - hsf_model = &Hu3DData[model_ptr->id]; - MTXCopy(hsf_model->unk_F0, *dst); - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + ModelData *hsf_model; + if(!dst) { + return -1; + } + hsf_model = &Hu3DData[model_ptr->id]; + MTXCopy(hsf_model->unk_F0, *dst); + return 0; + } } s32 BoardModelRotYSet(s16 model, float rot) { - Vec rot_orig; - BoardModelRotGet(model, &rot_orig); - return BoardModelRotSet(model, rot_orig.x, BoardDAngleCalc(rot), rot_orig.z); + Vec rot_orig; + BoardModelRotGet(model, &rot_orig); + return BoardModelRotSet(model, rot_orig.x, BoardDAngleCalc(rot), rot_orig.z); } float BoardModelRotYGet(s16 model) { - Vec rot; - BoardModelRotGet(model, &rot); - return rot.y; + Vec rot; + BoardModelRotGet(model, &rot); + return rot.y; } s32 BoardModelPosSetV(s16 model, Vec *pos) { - if (!pos) { - return -1; - } - else { - return BoardModelPosSet(model, pos->x, pos->y, pos->z); - } + if(!pos) { + return -1; + } else { + return BoardModelPosSet(model, pos->x, pos->y, pos->z); + } } + s32 BoardModelPosSet(s16 model, float x, float y, float z) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - model_ptr->pos.x = x; - model_ptr->pos.y = y; - model_ptr->pos.z = z; - Hu3DModelPosSetV(model_ptr->id, &model_ptr->pos); - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + model_ptr->pos.x = x; + model_ptr->pos.y = y; + model_ptr->pos.z = z; + Hu3DModelPosSetV(model_ptr->id, &model_ptr->pos); + return 0; + } } s32 BoardModelRotSetV(s16 model, Vec *pos) { - if (!pos) { - return -1; - } - else { - return BoardModelRotSet(model, pos->x, pos->y, pos->z); - } + if(!pos) { + return -1; + } else { + return BoardModelRotSet(model, pos->x, pos->y, pos->z); + } } s32 BoardModelRotSet(s16 model, float x, float y, float z) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - model_ptr->rot.x = x; - model_ptr->rot.y = y; - model_ptr->rot.z = z; - Hu3DModelRotSetV(model_ptr->id, &model_ptr->rot); - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + model_ptr->rot.x = x; + model_ptr->rot.y = y; + model_ptr->rot.z = z; + Hu3DModelRotSetV(model_ptr->id, &model_ptr->rot); + return 0; + } } s32 BoardModelScaleSetV(s16 model, Vec *pos) { - if (!pos) { - return -1; - } - else { - return BoardModelScaleSet(model, pos->x, pos->y, pos->z); - } + if(!pos) { + return -1; + } else { + return BoardModelScaleSet(model, pos->x, pos->y, pos->z); + } } s32 BoardModelScaleSet(s16 model, float x, float y, float z) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - model_ptr->scale.x = x; - model_ptr->scale.y = y; - model_ptr->scale.z = z; - Hu3DModelScaleSetV(model_ptr->id, &model_ptr->scale); - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + model_ptr->scale.x = x; + model_ptr->scale.y = y; + model_ptr->scale.z = z; + Hu3DModelScaleSetV(model_ptr->id, &model_ptr->scale); + return 0; + } } s32 BoardModelPosGet(s16 model, Vec *dst) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr || !dst) { - return -1; - } - else { - *dst = model_ptr->pos; - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr || !dst) { + return -1; + } else { + *dst = model_ptr->pos; + return 0; + } } s32 BoardModelRotGet(s16 model, Vec *dst) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr || !dst) { - return -1; - } - else { - *dst = model_ptr->rot; - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr || !dst) { + return -1; + } else { + *dst = model_ptr->rot; + return 0; + } } s32 BoardModelScaleGet(s16 model, Vec *dst) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr || !dst) { - return -1; - } - else { - *dst = model_ptr->scale; - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr || !dst) { + return -1; + } else { + *dst = model_ptr->scale; + return 0; + } } s32 BoardModelVisibilitySet(s16 model, s32 visible) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - model_ptr->visible = visible; - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + model_ptr->visible = visible; + return 0; + } } s32 BoardModelVisibilityGet(s16 model) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return 0; - } - else { - return model_ptr->visible; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return 0; + } else { + return model_ptr->visible; + } } s32 BoardModelCameraSet(s16 model, u16 camera) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - Hu3DModelCameraSet(model_ptr->id, camera); - model_ptr->camera = camera; - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + Hu3DModelCameraSet(model_ptr->id, camera); + model_ptr->camera = camera; + return 0; + } } s32 BoardModelLayerSet(s16 model, u8 layer) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - model_ptr->layer = layer; - Hu3DModelLayerSet(model_ptr->id, layer); - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + model_ptr->layer = layer; + Hu3DModelLayerSet(model_ptr->id, layer); + return 0; + } } s32 BoardModelLayerGet(s16 model) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - return model_ptr->layer; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + return model_ptr->layer; + } } void BoardModelLayerSetAll(s32 layer) { - BoardModel *model; - for (model = modelDataList; model < &modelDataList[BOARD_MODEL_MAX]; model++) { - if (model->index == -1 || model->character != -1) { - continue; - } - Hu3DModelLayerSet(model->id, layer); - } + BoardModel *model; + for(model=modelDataList; model < &modelDataList[BOARD_MODEL_MAX]; model++) { + if(model->index == -1 || model->character != -1) { + continue; + } + Hu3DModelLayerSet(model->id, layer); + } } s32 BoardModelHookSet(s16 model, char *name, s16 hook) { - BoardModel *model_ptr = SearchBoardModel(model); + BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - BoardModel *hook_ptr = SearchBoardModel(hook); - if (!hook_ptr || !name) { - return -1; - } - Hu3DModelHookSet(model_ptr->id, name, hook_ptr->id); - BoardModelPosSet(hook, 0, 0, 0); - return 0; - } + if(!model_ptr) { + return -1; + } else { + BoardModel *hook_ptr = SearchBoardModel(hook); + if(!hook_ptr || !name) { + return -1; + } + Hu3DModelHookSet(model_ptr->id, name, hook_ptr->id); + BoardModelPosSet(hook, 0, 0, 0); + return 0; + } } s32 BoardModelHookReset(s16 model) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - Hu3DModelHookReset(model_ptr->id); - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + Hu3DModelHookReset(model_ptr->id); + return 0; + } } s32 BoardModelHookObjReset(s16 model, char *name) { - BoardModel *model_ptr = SearchBoardModel(model); - if (!model_ptr) { - return -1; - } - else { - Hu3DModelHookObjReset(model_ptr->id, name); - return 0; - } + BoardModel *model_ptr = SearchBoardModel(model); + if(!model_ptr) { + return -1; + } else { + Hu3DModelHookObjReset(model_ptr->id, name); + return 0; + } } static BoardModel *SearchBoardModel(s16 id) { - BoardModel *model; - if (id <= 0 || id > BOARD_MODEL_MAX || !modelDataList || BoardIsKill()) { - return NULL; - } - model = &modelDataList[id - 1]; - if (model->index != id) { - return NULL; - } - return model; + BoardModel *model; + if(id <= 0 || id > BOARD_MODEL_MAX || !modelDataList || BoardIsKill()) { + return NULL; + } + model = &modelDataList[id-1]; + if(model->index != id) { + return NULL; + } + return model; } static void KillBoardModel(BoardModel *model) { - s32 i; - if (model->index == -1) { - return; - } - if (model->character == -1) { - model->mot_id[0] = -1; - if (model->id >= 0) { - Hu3DModelKill(model->id); - model->id = -1; - } - for (i = 1; i < BOARD_MOT_MAX; i++) { - if (model->mot_id[i] >= 0) { - if (i != 0) { - Hu3DMotionKill(model->mot_id[i]); - } - model->mot_id[i] = -1; - } - model->mot_data[i] = NULL; - } - model->data = NULL; - model->data_num = 0; - } - else { - for (i = 0; i < BOARD_MOT_MAX; i++) { - model->mot_id[i] = -1; - model->mot_data[i] = NULL; - } - if (model->data) { - if (model->id >= 0) { - model->id = -1; - } - model->data = NULL; - } - CharModelKill(model->character); - model->character = -1; - } - modelDataNum--; - model->index = -1; - model->visible = 0; + s32 i; + if(model->index == -1) { + return; + } + if(model->character == -1) { + model->mot_id[0] = -1; + if(model->id >= 0) { + Hu3DModelKill(model->id); + model->id = -1; + } + for(i=1; imot_id[i] >= 0) { + if(i != 0) { + Hu3DMotionKill(model->mot_id[i]); + } + model->mot_id[i] = -1; + } + model->mot_data[i] = NULL; + } + model->data = NULL; + model->data_num = 0; + } else { + for(i=0; imot_id[i] = -1; + model->mot_data[i] = NULL; + } + if(model->data) { + if(model->id >= 0) { + model->id = -1; + } + model->data = NULL; + } + CharModelKill(model->character); + model->character = -1; + } + modelDataNum--; + model->index = -1; + model->visible = 0; } static BoardModel *FindLinkModel(s32 data_num) { - BoardModel *model; - for (model = modelDataList; model < &modelDataList[BOARD_MODEL_MAX]; model++) { - if (model->data_num == data_num) { - return model; - } - } - return NULL; + BoardModel *model; + for(model=modelDataList; model < &modelDataList[BOARD_MODEL_MAX]; model++) { + if(model->data_num == data_num) { + return model; + } + } + return NULL; } static s32 CreateBoardModel(BoardModel *model, s32 data_num, s32 link) { - BoardModel *linked_mdl = NULL; - if (link && model->character == -1) { - linked_mdl = FindLinkModel(data_num); - if (linked_mdl) { - model->id = Hu3DModelLink(linked_mdl->id); - model->data = NULL; - model->data_num = 0; - return 0; - } - } - if (model->character == -1) { - model->data = HuDataSelHeapReadNum(data_num, MEMORY_DEFAULT_NUM, HEAP_DATA); - if (!model->data) { - s32 size_data, size_dvd; - size_data = HuMemHeapSizeGet(HEAP_DATA) - HuMemUsedMallocSizeGet(HEAP_DATA); - size_dvd = HuMemHeapSizeGet(HEAP_DVD) - HuMemUsedMallocSizeGet(HEAP_DVD); - return -1; - } - } - else { - model->data = NULL; - } - if (model->character == -1) { - model->id = Hu3DModelCreate(model->data); - } - else { - model->id = CharModelCreate(model->character, 2); - } - Hu3DModelAttrSet(model->id, HU3D_ATTR_NOCULL); - if (model->id < 0) { - return -1; - } - else { - model->data_num = data_num; - return 0; - } + BoardModel *linked_mdl = NULL; + if(link && model->character == -1) { + linked_mdl = FindLinkModel(data_num); + if(linked_mdl) { + model->id = Hu3DModelLink(linked_mdl->id); + model->data = NULL; + model->data_num = 0; + return 0; + } + } + if(model->character == -1) { + model->data = HuDataSelHeapReadNum(data_num, MEMORY_DEFAULT_NUM, HEAP_DATA); + if(!model->data) { + s32 size_data, size_dvd; + size_data = HuMemHeapSizeGet(HEAP_DATA)-HuMemUsedMallocSizeGet(HEAP_DATA); + size_dvd = HuMemHeapSizeGet(HEAP_DVD)-HuMemUsedMallocSizeGet(HEAP_DVD); + return -1; + } + } else { + model->data = NULL; + } + if(model->character == -1) { + model->id = Hu3DModelCreate(model->data); + } else { + model->id = CharModelCreate(model->character, 2); + } + Hu3DModelAttrSet(model->id, 0x4000); + if(model->id < 0) { + return -1; + } else { + model->data_num = data_num; + return 0; + } } static s32 CreateBoardModelMotion(BoardModel *model, s32 count, s32 *data_num) { - void *data; - s32 i; - model->mot_id[0] = Hu3DData[model->id].unk_08; - if (!data_num) { - model->mot_count = 1; - return 0; - } - data = NULL; - for (i = 0; i < count; i++) { - s16 index; - if (model->character == -1) { - data = HuDataSelHeapReadNum(data_num[i], MEMORY_DEFAULT_NUM, HEAP_DATA); - if (!data) { - return -1; - } - index = Hu3DJointMotion(model->id, data); - } - else { - index = CharModelMotionCreate(model->character, data_num[i]); - } - if (index < 0) { - return -1; - } - model->mot_id[i + 1] = index; - model->mot_data[i + 1] = data; - } - model->mot_count = count + 1; - return 0; -} + void *data; + s32 i; + model->mot_id[0] = Hu3DData[model->id].unk_08; + if(!data_num) { + model->mot_count = 1; + return 0; + } + data = NULL; + for(i=0; icharacter == -1) { + data = HuDataSelHeapReadNum(data_num[i], MEMORY_DEFAULT_NUM, HEAP_DATA); + if(!data) { + return -1; + } + index = Hu3DJointMotion(model->id, data); + } else { + index = CharModelMotionCreate(model->character, data_num[i]); + } + if(index < 0) { + return -1; + } + model->mot_id[i+1] = index; + model->mot_data[i+1] = data; + } + model->mot_count = count+1; + return 0; +} \ No newline at end of file diff --git a/src/game/board/mushroom.c b/src/game/board/mushroom.c index 1b0c57b6..5bbe9a22 100644 --- a/src/game/board/mushroom.c +++ b/src/game/board/mushroom.c @@ -161,12 +161,12 @@ static void MushroomMain(void) { WaitItemGive(); if (itemResult != 0) { - var_r27 = MAKE_MESSID(5, 1); + var_r27 = 0x50001; } else { - var_r27 = MAKE_MESSID(5, 2); + var_r27 = 0x50002; } - BoardPlayerMotionShiftSet(curPlayer, 0xC, 0.0f, 4.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(curPlayer, 0xC, 0.0f, 4.0f, 0); HuPrcSleep(4); BoardWinCreate(0, var_r27, -1); BoardWinWait(); @@ -300,7 +300,7 @@ static void ExitBox(ItemGiveWork2* arg0, omObjData* arg1) { } arg1->trans.y = spC.y + (700.0f * cosd(arg0->unk_08)); - arg1->rot.y = sind(temp); + arg1->rot.y = sin((M_PI * temp) / 180.0); arg0->unk_08 -= 1.5f; arg0->unk_06 -= 30; } @@ -325,9 +325,9 @@ static void CenterBox(ItemGiveWork2* arg0, omObjData* arg1) { sp14.y = arg1->trans.y; sp14.z = arg1->trans.z; BoardPlayerPosGet(arg0->unk00_field5, &sp20); - VECSubtract(&sp20, &sp14, &sp8); - VECScale(&sp8, &sp8, 0.2f); - VECAdd(&sp8, &sp14, &sp14); + PSVECSubtract(&sp20, &sp14, &sp8); + PSVECScale(&sp8, &sp8, 0.2f); + PSVECAdd(&sp8, &sp14, &sp14); if (BoardVecMaxDistXZCheck(&sp20, &sp14, 3.0f) != 0) { arg1->trans.x = sp20.x; @@ -341,7 +341,7 @@ static void CenterBox(ItemGiveWork2* arg0, omObjData* arg1) { static void InitBox(s32 arg0) { Vec sp10; - s32 sp8[2] = {DATA_MAKE_NUM(DATADIR_BOARD, 0x6D), DATA_MAKE_NUM(DATADIR_BOARD, 0x6E)}; + s32 sp8[2] = {0x0007006D, 0x0007006E}; s32 var_r29; s32 var_r28; s32 var_r27; @@ -367,7 +367,7 @@ static void InitBox(s32 arg0) { boxObj[i]->rot.x = 0.0f; boxObj[i]->rot.y = 180.0f; boxObj[i]->rot.z = 0.0f; - temp_r31->unk_02 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 5), NULL, 0); + temp_r31->unk_02 = BoardModelCreate(0x70005, NULL, 0); BoardModelPosSet(temp_r31->unk_02, boxObj[i]->trans.x, boxObj[i]->trans.y, boxObj[i]->trans.z); BoardModelMotionSpeedSet(temp_r31->unk_02, 0.0f); BoardModelLayerSet(temp_r31->unk_02, 2U); @@ -558,4 +558,4 @@ static void WaitItemGive(void) { while (temp_r31->unk00_field2 != 1) { HuPrcVSleep(); } -} +} \ No newline at end of file diff --git a/src/game/board/pause.c b/src/game/board/pause.c index 3ca8058a..c88fad1e 100755 --- a/src/game/board/pause.c +++ b/src/game/board/pause.c @@ -113,6 +113,7 @@ static float padConfigPosTbl[4][2] = { { 458.0f, 160.0f } }; +//mod: extend for custom board static s32 boardLogoTbl[] = { DATA_MAKE_NUM(DATADIR_BOARD, 87), DATA_MAKE_NUM(DATADIR_BOARD, 88), @@ -122,6 +123,8 @@ static s32 boardLogoTbl[] = { DATA_MAKE_NUM(DATADIR_BOARD, 92), DATA_MAKE_NUM(DATADIR_BOARD, 87), DATA_MAKE_NUM(DATADIR_BOARD, 93), + DATA_MAKE_NUM(DATADIR_BOARD, 94), + //added for custom board DATA_MAKE_NUM(DATADIR_BOARD, 94) }; @@ -288,7 +291,7 @@ void CreatePauseScreen(void) { HuSprZRotSet(pauseSprGrp, 2, -30.0f); HuSprPosSet(pauseSprGrp, 2, 87.0f, 245.0f); HuSprAttrSet(pauseSprGrp, 2, 8); - if (GWBoardGet() == 7 || GWBoardGet() == 8) { + if (GWBoardGet() == BOARD_ID_EXTRA1 || GWBoardGet() == BOARD_ID_EXTRA2) { HuSprAttrSet(pauseSprGrp, 2, 4); } if (GWPartyGet() == 1) { @@ -332,7 +335,7 @@ void CreatePauseScreen(void) { hostOldLayer = BoardModelLayerGet(hostMdl); BoardModelLayerSet(hostMdl, 6); sp24.x = 68.0f; - if (GWBoardGet() == 3) { + if (GWBoardGet() == BOARD_ID_MAIN4) { sp24.y = 464.0f; } else { sp24.y = 434.0f; @@ -466,7 +469,7 @@ static void DeletePauseScreen(void) { BoardModelVisibilitySet(hostMdl, 1); BoardModelMtxSet(hostMdl, &sp8); BoardStarHostSet(hostMdl); - if (GWBoardGet() == 7 || GWBoardGet() == 8) { + if (GWBoardGet() == BOARD_ID_EXTRA1 || GWBoardGet() == BOARD_ID_EXTRA2) { BoardModelVisibilitySet(hostMdl, 0); } } @@ -717,9 +720,9 @@ static void InitPauseQuit(omObjData *arg0, ConfigWork *arg1) { SetBoxVisible(1); var_f31 = 0.5f; BoardModelScaleSet(boxModelID[7], var_f31, var_f31, var_f31); - HuSprAttrReset(pauseCursorPos, 0, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(pauseCursorPos, 0, 4); if (GWPartyGet() == 0) { - HuSprAttrReset(pauseCursorPos, 1, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(pauseCursorPos, 1, 4); } break; } @@ -811,7 +814,7 @@ static void CreatePadConfig(omObjData *arg0, ConfigWork *arg1) { sp14.x = 96.0f; sp14.y = 176.0f; sp14.z = padBoxPos.z; - VECSubtract(&sp14, &padBoxPos, &sp8); + PSVECSubtract(&sp14, &padBoxPos, &sp8); arg0->scale.x = sp8.x / 20.0f; arg0->scale.y = sp8.y / 20.0f; arg1->unk01 = 1; @@ -822,7 +825,7 @@ static void ScrollInPadConfig(omObjData *arg0, ConfigWork *arg1) { s32 i; if (arg1->unk07 == 0) { - HuSprAttrReset(pauseCursorPos, 0, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(pauseCursorPos, 0, 4); if (arg1->unk00_field2 != 0) { for (i = 0; i < 8; i++) { if (i != 0) { @@ -905,7 +908,7 @@ static void ChangeDiffPadConfig(omObjData *arg0, ConfigWork *arg1) { var_r30 |= 2; } temp_r29 = CheckPort(arg1->unk04); - if (GWGameStat.veryHardUnlock != 0) { + if (GWGameStat.field10E_bit4 != 0) { var_r27 = 4; } else { var_r27 = 3; @@ -962,7 +965,7 @@ static void ChangeDiffPadConfig(omObjData *arg0, ConfigWork *arg1) { arg1->unk09 = 0; } arg1->unk05 += var_r28; - if (GWGameStat.veryHardUnlock == 0 && arg1->unk05 == 4) { + if (GWGameStat.field10E_bit4 == 0 && arg1->unk05 == 4) { arg1->unk05 += var_r28; } if (arg1->unk05 > var_r27) { @@ -996,7 +999,7 @@ static void ScrollOutPadConfig(omObjData *arg0, ConfigWork *arg1) { sp14.x = boxPosTbl[0][0]; sp14.y = boxPosTbl[0][1]; sp14.z = 700.0f; - VECSubtract(&sp14, &padBoxPos, &sp8); + PSVECSubtract(&sp14, &padBoxPos, &sp8); arg0->scale.x = sp8.x / 20.0f; arg0->scale.y = sp8.y / 20.0f; arg1->unk01 = 1; @@ -1100,7 +1103,7 @@ static s32 UpdatePauseBoxExt(omObjData *arg0, ConfigWork *arg1, s32 arg2) { u32 temp_r28; Mtx sp8; - if (arg2 == 3 && GWGameStat.customPackEnable == 0) { + if (arg2 == 3 && GWGameStat.field10E_bit5 == 0) { var_r27 = 1; } else { var_r27 = 2; @@ -1278,7 +1281,7 @@ static void CreatePauseControlWin(void) { HuWinMesSpeedSet(settingsControlWin, 0); HuWinMesSet(settingsControlWin, var_r31); HuWinDispOff(settingsControlWin); - if (GWBoardGet() == 7 || GWBoardGet() == 8) { + if (GWBoardGet() == BOARD_ID_EXTRA1 || GWBoardGet() == BOARD_ID_EXTRA2) { var_r31 = MAKE_MESSID(16, 73); } else { var_r31 = MAKE_MESSID(16, 52); @@ -1325,15 +1328,15 @@ static s32 WaitPauseInput(void) { u32 temp_r30; mainScreenF = 1; - if (GWBoardGet() == 7 || GWBoardGet() == 8) { + if (GWBoardGet() == BOARD_ID_EXTRA1 || GWBoardGet() == BOARD_ID_EXTRA2) { var_r28 = 1; } else { var_r28 = 0; } HuWinDispOn(controlWin); SetBoxVisible(0); - HuSprAttrReset(pauseSprGrp, 0, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(pauseCursorPos, 0, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(pauseSprGrp, 0, 4); + HuSprAttrSet(pauseCursorPos, 0, 4); PauseCreateNumber(0, GWSystem.turn); PauseCreateNumber(1, GWSystem.max_turn); HuPrcSleep(4); @@ -1376,15 +1379,15 @@ static void ShowPauseConfig(void) { HuWinDispOn(settingsControlWin); HuWinDispOn(settingsWin); SetBoxVisible(1); - HuSprAttrReset(pauseCursorPos, 0, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(pauseCursorPos, 0, 4); BoardModelVisibilitySet(hostMdl, 1); if (GWPartyGet() == 0) { var_f31 = boxPosTbl[0][0]; var_f30 = boxPosTbl[0][1]; HuSprPosSet(pauseCursorPos, 1, var_f31, var_f30); - HuSprAttrReset(pauseCursorPos, 1, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(pauseCursorPos, 1, 4); } else { - HuSprAttrSet(pauseCursorPos, 1, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(pauseCursorPos, 1, 4); } while (configObj) { HuPrcVSleep(); @@ -1434,19 +1437,19 @@ static void ShowPadConfigSprite(s32 arg0) { for (i = 0; i < 4; i++) { temp_r31 = GWPlayer[i].port; if (arg0 != 0) { - HuSprAttrReset(padConfigSprGrp, temp_r31, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(padConfigSprGrp, temp_r31 + 4, HUSPR_ATTR_DISPOFF); - HuSprAttrReset(padConfigSprGrp, temp_r31 + 8, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(padConfigSprGrp, temp_r31, 4); + HuSprAttrReset(padConfigSprGrp, temp_r31 + 4, 4); + HuSprAttrReset(padConfigSprGrp, temp_r31 + 8, 4); } else { - HuSprAttrSet(padConfigSprGrp, temp_r31, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(padConfigSprGrp, temp_r31 + 4, HUSPR_ATTR_DISPOFF); - HuSprAttrSet(padConfigSprGrp, temp_r31 + 8, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(padConfigSprGrp, temp_r31, 4); + HuSprAttrSet(padConfigSprGrp, temp_r31 + 4, 4); + HuSprAttrSet(padConfigSprGrp, temp_r31 + 8, 4); } } if (arg0 != 0) { - HuSprAttrReset(padConfigSprGrp, 12, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(padConfigSprGrp, 12, 4); } else { - HuSprAttrSet(padConfigSprGrp, 12, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(padConfigSprGrp, 12, 4); } } diff --git a/src/game/board/player.c b/src/game/board/player.c index 046aafea..76863368 100644 --- a/src/game/board/player.c +++ b/src/game/board/player.c @@ -1,54 +1,53 @@ #include "game/board/player.h" -#include "ext_math.h" -#include "game/board/audio.h" -#include "game/board/basic_space.h" +#include "game/chrman.h" +#include "game/objsub.h" +#include "game/hsfman.h" #include "game/board/com.h" -#include "game/board/item.h" #include "game/board/main.h" -#include "game/board/model.h" #include "game/board/roll.h" #include "game/board/space.h" #include "game/board/tutorial.h" #include "game/board/ui.h" #include "game/board/view.h" -#include "game/chrman.h" -#include "game/disp.h" -#include "game/hsfman.h" -#include "game/objsub.h" +#include "game/board/model.h" +#include "game/board/item.h" +#include "game/board/basic_space.h" +#include "game/board/audio.h" #include "game/pad.h" - -#include "ext_math.h" #include "stdlib.h" +#include "math.h" +#include "ext_math.h" static void InitJunction(s32, s32, f32); -static void UpdateJunctionGfx(omObjData *); +static void UpdateJunctionGfx(omObjData*); static void StopJunctionPlayer(s32); static void RestoreJunction(f32, s32); -static s32 GetDefaultDirection(f32, f32 *, s32); -static s32 DoDebugMove(s32, s16 *); -static s32 ExecJunction(s32, s16 *); +static s32 GetDefaultDirection(f32, f32*, s32); +static s32 DoDebugMove(s32, s16*); +static s32 ExecJunction(s32, s16*); -static void PlayerPosLerpFunc(omObjData *); -static void DiceJumpFunc(omObjData *); +static void PlayerPosLerpFunc(omObjData*); +static void DiceJumpFunc(omObjData*); -static void UpdateRollSprite(omObjData *); -static void UpdateRoll(omObjData *); -static void MoveAwayObjFunc(omObjData *); +static void UpdateRollSprite(omObjData*); +static void UpdateRoll(omObjData*); +static void MoveAwayObjFunc(omObjData*); -static void MoveAwayObjFunc(omObjData *); -static void UpdateBowserSuit(omObjData *); +static void MoveAwayObjFunc(omObjData*); +static void UpdateBowserSuit(omObjData*); static void MegaSquishFunc(omObjData *object); + static s32 DoSparkSpace(s32 player, s32 pause_cam); static void RemoveSparkSpace(s32 player); static void SetPlayerSizeAuto(s32 player); static s32 MegaPlayerPassFunc(s32 player, s32 space); static s32 MegaExecJump(s32 player, s32 space); -// TODO: Give better name +//TODO: Give better name typedef struct bitcopy { struct { u8 field00_bit0 : 1; @@ -72,23 +71,30 @@ static s16 playerMot[4]; static s8 itemPrev; static s8 moveAwayPlayer[4]; static s16 junctionArrowRot[4]; -static omObjData *moveAwayObj; -static omObjData *rollObj; -static omObjData *junctionObj; +static omObjData* moveAwayObj; +static omObjData* rollObj; +static omObjData* junctionObj; static s32 junctionMask; -static omObjData *bowserSuitObj; +static omObjData* bowserSuitObj; static s32 megaDoubleDiceF; static s16 suitMdl = -1; static s16 suitPlayerMdl = -1; static s16 suitCurrMot = -1; -static omObjData *diceJumpObj[4] = { 0, 0, 0, 0 }; -static omObjData *motDoneF[4] = { 0, 0, 0, 0 }; -static s16 bowserSuitMot[5] = { -1, -1, -1, -1, -1 }; -static char *eyeMatTbl[8][2] - = { { "eye1", "eye2" }, { "eye1", "eye2" }, { "mat14", "mat16" }, { "eye1", "eye2" }, { "Clswario_eye_l1_AUTO14", "Clswario_eye_l1_AUTO15" }, - { "m_donkey_eye4", "m_donkey_eye5" }, { "mat65", "mat66" }, { "Clswaluigi_eye_l1_AUTO1", "Clswaluigi_eye_l1_AUTO2" } }; +static omObjData* diceJumpObj[4] = {0, 0, 0, 0}; +static omObjData* motDoneF[4] = {0, 0, 0, 0}; +static s16 bowserSuitMot[5] = {-1, -1, -1, -1, -1}; +static char* eyeMatTbl[8][2] = { + { "eye1", "eye2" }, + { "eye1", "eye2" }, + { "mat14", "mat16" }, + { "eye1", "eye2" }, + { "Clswario_eye_l1_AUTO14", "Clswario_eye_l1_AUTO15" }, + { "m_donkey_eye4", "m_donkey_eye5" }, + { "mat65", "mat66" }, + { "Clswaluigi_eye_l1_AUTO1", "Clswaluigi_eye_l1_AUTO2" } +}; s32 lbl_8013997C[] = { 0x10D, @@ -102,140 +108,81 @@ s32 lbl_8013997C[] = { }; static s32 boardMotTbl[] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x35), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x35), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x35), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x35), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x35), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x35), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x35), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x35), + 0x5F0035, 0x1A0035, 0x6D0035, 0x8A0035, + 0x850035, 0x110035, 0x0D0035, 0x810035, }; static s32 boardMotRevTbl[] = { - DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x36), - DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x36), - DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x36), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x36), - DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x36), - DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x36), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x36), - DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x36), + 0x5F0036, 0x1A0036, 0x6D0036, 0x8A0036, + 0x850036, 0x110036, 0x0D0036, 0x810036, }; static s32 bowserSuitCharMdlTbl[] = { - DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x00), - DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x03), - DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x06), - DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x09), - DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x0C), - DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x0F), - DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x12), - DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x15), + 0x40000, 0x40003, 0x40006, 0x40009, + 0x4000C, 0x4000F, 0x40012, 0x40015, }; -static s32 bowserSuitMotTbl[] = { DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x19), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x1A), - DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x1B), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x1E), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x1F) }; +static s32 bowserSuitMotTbl[] = { + 0x40019, 0x4001A, 0x4001B, 0x4001E, + 0x4001F +}; -#if VERSION_JP static s32 sparkMotTbl[] = { - DATA_MAKE_NUM(DATADIR_BOARD, 0x94), - DATA_MAKE_NUM(DATADIR_BOARD, 0x95), - DATA_MAKE_NUM(DATADIR_BOARD, 0x96), - DATA_MAKE_NUM(DATADIR_BOARD, 0x97), - DATA_MAKE_NUM(DATADIR_BOARD, 0x98), - DATA_MAKE_NUM(DATADIR_BOARD, 0x99), - DATA_MAKE_NUM(DATADIR_BOARD, 0x9A), - DATA_MAKE_NUM(DATADIR_BOARD, 0x9B), + 0x70095, 0x70096, 0x70097, 0x70098, + 0x70099, 0x7009A, 0x7009B, 0x7009C, }; -#else -static s32 sparkMotTbl[] = { - DATA_MAKE_NUM(DATADIR_BOARD, 0x95), - DATA_MAKE_NUM(DATADIR_BOARD, 0x96), - DATA_MAKE_NUM(DATADIR_BOARD, 0x97), - DATA_MAKE_NUM(DATADIR_BOARD, 0x98), - DATA_MAKE_NUM(DATADIR_BOARD, 0x99), - DATA_MAKE_NUM(DATADIR_BOARD, 0x9A), - DATA_MAKE_NUM(DATADIR_BOARD, 0x9B), - DATA_MAKE_NUM(DATADIR_BOARD, 0x9C), -}; -#endif static s32 boardSparkSfxTbl[] = { - 0x128, - 0x168, - 0x1A8, - 0x1E8, - 0x228, - 0x268, - 0x2A8, - 0x2E8, + 0x128, 0x168, 0x1A8, 0x1E8, + 0x228, 0x268, 0x2A8, 0x2E8, }; static s32 boardSparkSfxTblAlt[] = { - 0x123, - 0x163, - 0x1A3, - 0x1E3, - 0x223, - 0x263, - 0x2A3, - 0x2E3, + 0x123, 0x163, 0x1A3, 0x1E3, + 0x223, 0x263, 0x2A3, 0x2E3, }; static omObjData *megaSquishObj[4] = {}; static s32 megaSquishSfxTbl[] = { - 0x128, - 0x168, - 0x1A8, - 0x1E8, - 0x228, - 0x268, - 0x2A8, - 0x2E8, + 0x128, 0x168, 0x1A8, 0x1E8, + 0x228, 0x268, 0x2A8, 0x2E8, }; -s32 BoardItemPrevGet(void) -{ +s32 BoardItemPrevGet(void) { return itemPrev; } -void BoardItemPrevSet(s32 type) -{ +void BoardItemPrevSet(s32 type) { itemPrev = type; } -s32 BoardPlayerGetCharMess(s32 player) -{ - s32 charMess[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; - +s32 BoardPlayerGetCharMess(s32 player) { + s32 charMess[8] = {0, 1, 2, 3, 4, 5, 6, 7}; + return charMess[GWPlayer[player].character]; } -char *BoardPlayerGetCharName(s32 player) -{ - char *charNames[8] = { "Mario", "Luigi", "Peach", "Yoshi", "Wario", "Donky", "Daisy", "Waluigi" }; +char* BoardPlayerGetCharName(s32 player) { + char* charNames[8] = {"Mario", "Luigi", "Peach", "Yoshi", "Wario", "Donky", "Daisy", "Waluigi"}; return charNames[GWPlayer[player].character]; } -s32 BoardPlayerIsAllCom(void) -{ +s32 BoardPlayerIsAllCom(void) { if ((GWPlayer[0].com != 0) && (GWPlayer[1].com != 0) && (GWPlayer[2].com != 0) && (GWPlayer[3].com != 0)) { return 1; } return 0; } -void BoardPlayerInit(void) -{ +void BoardPlayerInit(void) { s32 temp_r30; s32 var_r31; if (BoardStartCheck() == 0) { GWSystem.player_curr = 0; temp_r30 = BoardSpaceFlagPosGet(0, 0x80000000, 0); - + for (var_r31 = 0; var_r31 < 4; var_r31++) { GWPlayer[var_r31].space_curr = temp_r30; BoardPlayerCornerPosSet(var_r31); @@ -247,7 +194,7 @@ void BoardPlayerInit(void) } return; } - + for (var_r31 = 0; var_r31 < 4; var_r31++) { BoardPlayerCornerPosSet(var_r31); if (BoardPlayerAutoSizeGet(var_r31) != 0) { @@ -257,8 +204,7 @@ void BoardPlayerInit(void) } } -void BoardPlayerModelInit(void) -{ +void BoardPlayerModelInit(void) { s32 sp64[14]; s32 var_r31; s32 var_r30; @@ -267,16 +213,12 @@ void BoardPlayerModelInit(void) s32 temp_r24; s16 temp_r3; s32 temp_r4; - PlayerState *temp_r27; + PlayerState* temp_r27; - s32 ro0[8] = { DATA_MAKE_NUM(DATADIR_MARIOMDL1, 0x00), DATA_MAKE_NUM(DATADIR_LUIGIMDL1, 0x00), DATA_MAKE_NUM(DATADIR_PEACHMDL1, 0x00), - DATA_MAKE_NUM(DATADIR_YOSHIMDL1, 0x00), DATA_MAKE_NUM(DATADIR_WARIOMDL1, 0x00), DATA_MAKE_NUM(DATADIR_DONKEYMDL1, 0x00), - DATA_MAKE_NUM(DATADIR_DAISYMDL1, 0), DATA_MAKE_NUM(DATADIR_WALUIGIMDL1, 0x00) }; - s32 ro1[8] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x00), DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x00), - DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x00), DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x00), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x00), - DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x00), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x00) }; + s32 ro0[8] = { 0x5E0000, 0x190000, 0x6C0000, 0x890000, 0x840000, 0x100000, 0xC0000, 0x800000 }; + s32 ro1[8] = { 0x5F0000, 0x1A0000, 0x6D0000, 0x8A0000, 0x850000, 0x110000, 0xD0000, 0x810000 }; u16 ro2[13] = { 0, 2, 3, 5, 6, 22, 23, 24, 27, 31, 47, 72, 73 }; - + memset(&boardPlayerMdl, 0, 8); suitMdl = -1; suitPlayerMdl = -1; @@ -297,7 +239,7 @@ void BoardPlayerModelInit(void) temp_r27->player_idx = var_r31; GWPlayer[var_r31].character = temp_r29; GWPlayerCfg[var_r31].character = temp_r29; - + for (var_r30 = 0; var_r30 < 0xD; var_r30++) { sp64[var_r30] = ro1[temp_r29] | ro2[var_r30]; } @@ -308,7 +250,7 @@ void BoardPlayerModelInit(void) playerMot[var_r31] = 1; BoardModelMotionStart(temp_r3, playerMot[var_r31], 0x40000001); if (BoardStartCheck() == 0) { - + for (var_r30 = 0; var_r30 < 3; var_r30++) { temp_r27->items[var_r30] = -1; } @@ -333,11 +275,10 @@ void BoardPlayerModelInit(void) CharModelLayerSetAll(2); } -void BoardPlayerModelKill(void) -{ +void BoardPlayerModelKill(void) { s32 var_r31; - PlayerState *temp_r30; - PlayerState *temp_r29; + PlayerState* temp_r30; + PlayerState* temp_r29; for (var_r31 = 0; var_r31 < 4; var_r31++) { temp_r30 = BoardPlayerGet(var_r31); @@ -353,34 +294,28 @@ void BoardPlayerModelKill(void) } } -void BoardPlayerLayerSet(s32 arg0, s32 arg1) -{ +void BoardPlayerLayerSet(s32 arg0, s32 arg1) { BoardModelLayerSet(BoardPlayerModelGet(arg0), arg1); } -void BoardPlayerCameraSet(s32 arg0, u16 arg1) -{ +void BoardPlayerCameraSet(s32 arg0, u16 arg1) { BoardModelCameraSet(BoardPlayerModelGet(arg0), arg1); } -void fn_80062A40(s32 arg0, f32 arg8) -{ +void fn_80062A40(s32 arg0, f32 arg8) { fn_8006DDE8(BoardPlayerModelGet(arg0), arg8); } -void BoardPlayerExistCheck(s32 arg0, s32 arg1) -{ +void BoardPlayerExistCheck(s32 arg0, s32 arg1) { if (arg1 == 0) { BoardModelExistCheck(BoardPlayerModelGet(arg0), 0); - } - else { + } else { BoardModelExistCheck(BoardPlayerModelGet(arg0), 1); } } -s32 BoardPlayerItemAdd(s32 arg0, s32 arg1) -{ - PlayerState *var_r30; +s32 BoardPlayerItemAdd(s32 arg0, s32 arg1) { + PlayerState* var_r30; s32 var_r29; s32 var_r31; @@ -398,10 +333,9 @@ s32 BoardPlayerItemAdd(s32 arg0, s32 arg1) return var_r29; } -s32 BoardPlayerItemRemove(s32 arg0, s32 arg1) -{ +s32 BoardPlayerItemRemove(s32 arg0, s32 arg1) { s32 temp_r29; - PlayerState *temp_r28; + PlayerState* temp_r28; temp_r28 = BoardPlayerGet(arg0); temp_r29 = temp_r28->items[arg1]; @@ -420,8 +354,7 @@ s32 BoardPlayerItemRemove(s32 arg0, s32 arg1) return temp_r29; } -s32 BoardPlayerItemFind(s32 arg0, s32 arg1) -{ +s32 BoardPlayerItemFind(s32 arg0, s32 arg1) { s32 var_r31; for (var_r31 = 0; var_r31 < 3; var_r31++) { @@ -429,12 +362,11 @@ s32 BoardPlayerItemFind(s32 arg0, s32 arg1) return var_r31; } } - + return -1; } -s32 BoardPlayerItemCount(s32 arg0) -{ +s32 BoardPlayerItemCount(s32 arg0) { s32 var_r30; s32 var_r31; @@ -443,20 +375,18 @@ s32 BoardPlayerItemCount(s32 arg0) var_r30++; } } - + return var_r30; } -void BoardPlayerCornerPosSet(s32 arg0) -{ +void BoardPlayerCornerPosSet(s32 arg0) { Vec sp8; BoardPlayerCornerPosGet(arg0, &sp8); BoardPlayerPosSetV(arg0, &sp8); } -void BoardPlayerCornerPosGet(s32 arg0, Vec *arg1) -{ +void BoardPlayerCornerPosGet(s32 arg0, Vec* arg1) { s32 var_r31; s32 var_r30; s32 var_r29; @@ -469,8 +399,7 @@ void BoardPlayerCornerPosGet(s32 arg0, Vec *arg1) var_r31 = 0; } for (var_r30 = 0, var_r29 = var_r30; var_r30 < 4; var_r31 = (var_r31 + 1) & 3, var_r30++) { - if (var_r31 == arg0) - break; + if (var_r31 == arg0) break; if (temp_r28 == GWPlayer[var_r31].space_curr) { var_r29 += 1; } @@ -479,18 +408,15 @@ void BoardPlayerCornerPosGet(s32 arg0, Vec *arg1) } } -void BoardPlayerAmbSet(s32 arg0, f32 arg8, f32 arg9, f32 argA) -{ +void BoardPlayerAmbSet(s32 arg0, f32 arg8, f32 arg9, f32 argA) { BoardModelAmbSet(BoardPlayerModelGet(arg0), arg8, arg9, argA); } -void BoardPlayerMtxSet(s32 arg0, Mtx *arg1) -{ +void BoardPlayerMtxSet(s32 arg0, Mtx *arg1) { BoardModelMtxSet(BoardPlayerModelGet(arg0), arg1); } -void BoardPlayerPosSetV(s32 arg0, Vec *arg1) -{ +void BoardPlayerPosSetV(s32 arg0, Vec* arg1) { BoardModelPosSetV(BoardPlayerModelGet(arg0), arg1); if (GWPlayer[arg0].bowser_suit != 0) { @@ -498,22 +424,19 @@ void BoardPlayerPosSetV(s32 arg0, Vec *arg1) } } -void BoardPlayerPosSet(s32 arg0, f32 arg8, f32 arg9, f32 argA) -{ +void BoardPlayerPosSet(s32 arg0, f32 arg8, f32 arg9, f32 argA) { BoardModelPosSet(BoardPlayerModelGet(arg0), arg8, arg9, argA); - + if (GWPlayer[arg0].bowser_suit != 0) { BoardModelPosSet(suitMdl, arg8, arg9, argA); } } -void BoardPlayerPosGet(s32 arg0, Vec *arg1) -{ +void BoardPlayerPosGet(s32 arg0, Vec* arg1) { BoardModelPosGet(BoardPlayerModelGet(arg0), arg1); } -void BoardPlayerRotSetV(s32 arg0, Vec *arg1) -{ +void BoardPlayerRotSetV(s32 arg0, Vec* arg1) { BoardModelRotSetV(BoardPlayerModelGet(arg0), arg1); if (GWPlayer[arg0].bowser_suit != 0) { @@ -521,22 +444,19 @@ void BoardPlayerRotSetV(s32 arg0, Vec *arg1) } } -void BoardPlayerRotSet(s32 arg0, f32 arg8, f32 arg9, f32 argA) -{ +void BoardPlayerRotSet(s32 arg0, f32 arg8, f32 arg9, f32 argA) { BoardModelRotSet(BoardPlayerModelGet(arg0), arg8, arg9, argA); - + if (GWPlayer[arg0].bowser_suit != 0) { BoardModelRotSet(suitMdl, arg8, arg9, argA); } } -void BoardPlayerRotGet(s32 arg0, Vec *arg1) -{ +void BoardPlayerRotGet(s32 arg0, Vec* arg1) { BoardModelRotGet(BoardPlayerModelGet(arg0), arg1); } -void BoardPlayerRotYSet(s32 arg0, f32 arg8) -{ +void BoardPlayerRotYSet(s32 arg0, f32 arg8) { if (arg8 < 0.0f) { arg8 += 360.0f; } @@ -549,75 +469,64 @@ void BoardPlayerRotYSet(s32 arg0, f32 arg8) } } -f32 BoardPlayerRotYGet(s32 arg0) -{ +f32 BoardPlayerRotYGet(s32 arg0) { f32 var_f31; if (GWPlayer[arg0].bowser_suit != 0) { var_f31 = BoardModelRotYGet(suitMdl); - } - else { + } else { var_f31 = BoardModelRotYGet(BoardPlayerModelGet(arg0)); } return var_f31; } -void BoardPlayerScaleSetV(s32 arg0, Vec *arg1) -{ +void BoardPlayerScaleSetV(s32 arg0, Vec* arg1) { BoardModelScaleSetV(BoardPlayerModelGet(arg0), arg1); } -void BoardPlayerScaleSet(s32 arg0, f32 arg8, f32 arg9, f32 argA) -{ +void BoardPlayerScaleSet(s32 arg0, f32 arg8, f32 arg9, f32 argA) { BoardModelScaleSet(BoardPlayerModelGet(arg0), arg8, arg9, argA); } -void BoardPlayerScaleGet(s32 arg0, Vec *arg1) -{ +void BoardPlayerScaleGet(s32 arg0, Vec *arg1) { BoardModelScaleGet(BoardPlayerModelGet(arg0), arg1); } -s16 BoardPlayerCurrMotionGet(s32 arg0) -{ - PlayerState *player = BoardPlayerGet(arg0); - +s16 BoardPlayerCurrMotionGet(s32 arg0) { + PlayerState* player = BoardPlayerGet(arg0); + return playerMot[player->player_idx]; } -void BoardPlayerVoiceEnableSet(s32 arg0, s32 arg1, s32 arg2) -{ +void BoardPlayerVoiceEnableSet(s32 arg0, s32 arg1, s32 arg2) { BoardModelVoiceEnableSet(BoardPlayerModelGet(arg0), arg1, arg2); } -s32 BoardPlayerMotionCreate(s32 arg0, s32 arg1) -{ +s32 BoardPlayerMotionCreate(s32 arg0, s32 arg1) { return BoardModelMotionCreate(BoardPlayerModelGet(arg0), arg1); } -s32 BoardPlayerMotionKill(s32 arg0, s32 arg1) -{ +s32 BoardPlayerMotionKill(s32 arg0, s32 arg1) { return BoardModelMotionKill(BoardPlayerModelGet(arg0), arg1); } -s32 BoardPlayerMotionEndCheck(s32 arg0) -{ +s32 BoardPlayerMotionEndCheck(s32 arg0) { return BoardModelMotionEndCheck(BoardPlayerModelGet(arg0)); } -void BoardPlayerMotionEndWait(s32 arg0) -{ +void BoardPlayerMotionEndWait(s32 arg0) { while (BoardModelMotionEndCheck(BoardPlayerModelGet(arg0)) == 0) { HuPrcVSleep(); } } -void BoardPlayerMotionStart(s32 arg0, s32 arg1, s32 arg2) -{ - PlayerState *player; +void BoardPlayerMotionStart(s32 arg0, s32 arg1, s32 arg2) { + PlayerState* player; s32 temp_r29; - + player = BoardPlayerGet(arg0); - if (arg1 == 0) { } + if (arg1 == 0) { + } if (arg1 != playerMot[player->player_idx]) { temp_r29 = BoardModelMotionStart(BoardPlayerModelGet(arg0), arg1, arg2); if (temp_r29 == 0) { @@ -626,13 +535,14 @@ void BoardPlayerMotionStart(s32 arg0, s32 arg1, s32 arg2) } } -void BoardPlayerMotionShiftSet(s32 arg0, s32 arg1, f32 arg8, f32 arg9, u32 arg2) -{ - s32 temp_r29; - PlayerState *player; - +void BoardPlayerMotionShiftSet(s32 arg0, s32 arg1, f32 arg8, f32 arg9, u32 arg2) { + s32 temp_r29; + PlayerState* player; + + player = BoardPlayerGet(arg0); - if (arg1 == 0) { } + if (arg1 == 0) { + } if (arg1 != playerMot[player->player_idx]) { temp_r29 = BoardModelMotionShiftSet(BoardPlayerModelGet(arg0), arg1, arg8, arg9, arg2); if (temp_r29 == 0) { @@ -641,54 +551,44 @@ void BoardPlayerMotionShiftSet(s32 arg0, s32 arg1, f32 arg8, f32 arg9, u32 arg2) } } -void BoardPlayerMotionSpeedSet(s32 arg0, f32 arg8) -{ +void BoardPlayerMotionSpeedSet(s32 arg0, f32 arg8) { BoardModelMotionSpeedSet(BoardPlayerModelGet(arg0), arg8); } -void BoardPlayerMotionTimeSet(s32 arg0, f32 arg8) -{ +void BoardPlayerMotionTimeSet(s32 arg0, f32 arg8) { BoardModelMotionTimeSet(BoardPlayerModelGet(arg0), arg8); } -f32 BoardPlayerMotionTimeGet(s32 arg0) -{ +f32 BoardPlayerMotionTimeGet(s32 arg0) { return BoardModelMotionTimeGet(BoardPlayerModelGet(arg0)); } -f32 BoardPlayerMotionMaxTimeGet(s32 arg0) -{ +f32 BoardPlayerMotionMaxTimeGet(s32 arg0) { return BoardModelMotionMaxTimeGet(BoardPlayerModelGet(arg0)); } -void BoardPlayerMotionStartEndSet(s32 arg0, f32 arg8, f32 arg9) -{ +void BoardPlayerMotionStartEndSet(s32 arg0, f32 arg8, f32 arg9) { BoardModelMotionStartEndSet(BoardPlayerModelGet(arg0), arg8, arg9); } -void BoardPlayerModelAttrSet(s32 arg0, s32 arg1) -{ +void BoardPlayerModelAttrSet(s32 arg0, s32 arg1) { BoardModelAttrSet(BoardPlayerModelGet(arg0), arg1); } -void BoardPlayerModelAttrReset(s32 arg0, s32 arg1) -{ +void BoardPlayerModelAttrReset(s32 arg0, s32 arg1) { BoardModelAttrReset(BoardPlayerModelGet(arg0), arg1); } -void BoardPlayerCoinsSet(s32 arg0, s32 arg1) -{ +void BoardPlayerCoinsSet(s32 arg0, s32 arg1) { GWCoinsSet(arg0, arg1); } -s32 BoardPlayerCoinsGet(s32 arg0) -{ +s32 BoardPlayerCoinsGet(s32 arg0) { return GWCoinsGet(arg0); } -void BoardPlayerCoinsAdd(s32 arg0, s32 arg1) -{ - PlayerState *player; +void BoardPlayerCoinsAdd(s32 arg0, s32 arg1) { + PlayerState* player; s16 coins; player = BoardPlayerGet(arg0); @@ -701,77 +601,65 @@ void BoardPlayerCoinsAdd(s32 arg0, s32 arg1) BoardPlayerCoinsSet(arg0, arg1 + BoardPlayerCoinsGet(arg0)); } -void BoardPlayerStarsAdd(s32 arg0, s32 arg1) -{ +void BoardPlayerStarsAdd(s32 arg0, s32 arg1) { GWStarsSet(arg0, (arg1 + GWStarsGet(arg0))); } -void BoardPlayerSizeSet(s32 arg0, s32 arg1) -{ - PlayerState *temp_r27; +void BoardPlayerSizeSet(s32 arg0, s32 arg1) { + PlayerState* temp_r27; Vec temp_r4[3] = { { 1, 1, 1 }, { 0.3, 0.3, 0.3 }, { 2.5, 2.5, 2.5 } }; temp_r27 = BoardPlayerGet(arg0); temp_r27->size = arg1; if (arg1 == 2) { CharModelStepTypeSet(GWPlayer[arg0].character, 4); - } - else if (arg1 == 1) { + } else if (arg1 == 1) { CharModelStepTypeSet(GWPlayer[arg0].character, 5); - } - else { + } else { CharModelStepTypeSet(GWPlayer[arg0].character, 0); } BoardPlayerScaleSetV(arg0, &temp_r4[arg1]); } -s32 BoardPlayerSizeGet(s32 idx) -{ - PlayerState *player; +s32 BoardPlayerSizeGet(s32 idx) { + PlayerState* player; player = BoardPlayerGet(idx); - if (!player) { + if(!player) { return; } return player->size; } -s32 BoardPlayerSameTeamFind(s32 arg0) -{ +s32 BoardPlayerSameTeamFind(s32 arg0) { s32 var_r31; s32 team2; s32 team; - + for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (var_r31 == arg0) - continue; + if (var_r31 == arg0) continue; team2 = GWPlayer[var_r31].team; team = GWPlayer[arg0].team; - if (team == team2) - break; + if (team == team2) break; } return var_r31; } -s32 BoardPlayerTeamFind(s32 arg0) -{ +s32 BoardPlayerTeamFind(s32 arg0) { s32 var_r31; s32 team2; s32 team; - + for (var_r31 = 0; var_r31 < 4; var_r31++) { - if (var_r31 == arg0) - continue; + if (var_r31 == arg0) continue; team2 = GWPlayer[var_r31].team; team = GWPlayer[arg0].team; - if (team != team2) - break; + if (team != team2) break; } return var_r31; } -s32 BoardPlayerRankCalc(s32 player) -{ +s32 BoardPlayerRankCalc(s32 player) { s32 coins; s32 rank; s32 i; @@ -789,18 +677,15 @@ s32 BoardPlayerRankCalc(s32 player) return rank; } -void BoardPlayerPreTurnHookSet(s32 arg0, s32 (*arg1)()) -{ +void BoardPlayerPreTurnHookSet(s32 arg0, s32 (*arg1)()) { preTurnHook[arg0] = arg1; } -void BoardPlayerPostTurnHookSet(s32 arg0, s32 (*arg1)()) -{ +void BoardPlayerPostTurnHookSet(s32 arg0, s32 (*arg1)()) { postTurnHook[arg0] = arg1; } -void BoardPlayerTurnExec(s32 arg0) -{ +void BoardPlayerTurnExec(s32 arg0) { BoardPauseDisableSet(1); BoardComUseItemSet(arg0, -1); GWSystem.bowser_event = 0xF; @@ -809,8 +694,8 @@ void BoardPlayerTurnExec(s32 arg0) BoardCameraMoveSet(1); if (_CheckFlag(FLAG_ID_MAKE(1, 6)) == 0) { BoardCameraViewSet(2); - omVibrate((s16)arg0, 0xC, 4, 2); - BoardItemPrevSet(-1); + omVibrate((s16) arg0, 0xC, 4, 2); + BoardItemPrevSet(-1); BoardYourTurnExec(arg0); megaDoubleDiceF = 0; SetPlayerSizeAuto(arg0); @@ -823,16 +708,14 @@ void BoardPlayerTurnExec(s32 arg0) BoardTutorialHookExec(5, 0); } BoardPlayerTurnRollExec(arg0); - } - else { + } else { BoardCameraViewSet(1); BoardCameraMotionWait(); } BoardPlayerTurnMoveExec(arg0); } -void BoardPlayerTurnRollExec(s32 arg0) -{ +void BoardPlayerTurnRollExec(s32 arg0) { s32 temp_r28; s32 temp_r30; @@ -842,35 +725,34 @@ void BoardPlayerTurnRollExec(s32 arg0) do { temp_r30 = BoardRollExec(arg0); switch (temp_r30) { - case -2: - BoardPauseDisableSet(1); - BoardRollKill(); - BoardCameraTargetPlayerSet(arg0); - BoardCameraMotionWait(); - BoardItemPrevSet(BoardItemUseExec(arg0)); - if (BoardItemPrevGet() == 0xC) { - _SetFlag(0x10016); - BoardSpaceLandExec(arg0, GWPlayer[arg0].space_curr); - BoardCameraMoveSet(1); - BoardCameraViewSet(2); - _ClearFlag(0x10016); - } - BoardPauseDisableSet(0); - break; - case -3: - BoardRollKill(); - BoardViewMapExec(arg0); - break; - case -4: - BoardRollKill(); - BoardViewOverheadExec(arg0); - break; + case -2: + BoardPauseDisableSet(1); + BoardRollKill(); + BoardCameraTargetPlayerSet(arg0); + BoardCameraMotionWait(); + BoardItemPrevSet(BoardItemUseExec(arg0)); + if (BoardItemPrevGet() == 0xC) { + _SetFlag(0x10016); + BoardSpaceLandExec(arg0, GWPlayer[arg0].space_curr); + BoardCameraMoveSet(1); + BoardCameraViewSet(2); + _ClearFlag(0x10016); + } + BoardPauseDisableSet(0); + break; + case -3: + BoardRollKill(); + BoardViewMapExec(arg0); + break; + case -4: + BoardRollKill(); + BoardViewOverheadExec(arg0); + break; } } while (temp_r30 <= 0); } -void BoardPlayerTurnMoveExec(s32 arg0) -{ +void BoardPlayerTurnMoveExec(s32 arg0) { s16 sp8; u32 temp_r27; s32 temp_r30; @@ -892,8 +774,7 @@ void BoardPlayerTurnMoveExec(s32 arg0) BoardCameraTargetModelSet(suitMdl); BoardCameraOffsetSet(0.0f, 100.0f, 0.0f); } - } - else { + } else { var_r29 = 0; var_r28 = 1; _ClearFlag(FLAG_ID_MAKE(1, 6)); @@ -908,11 +789,10 @@ void BoardPlayerTurnMoveExec(s32 arg0) if (ExecJunction(arg0, &sp8) != 0) { break; } - } - else if (DoDebugMove(arg0, &sp8) != 0) { + } else if (DoDebugMove(arg0, &sp8) != 0) { break; } - + GWPlayer[arg0].space_next = sp8; StopJunctionPlayer(0); if (MegaPlayerPassFunc(arg0, sp8) == 0) { @@ -933,7 +813,7 @@ void BoardPlayerTurnMoveExec(s32 arg0) if (BoardSpaceWalkExec(arg0, sp8) != 0) { continue; } - block_14: +block_14: temp_r30 = BoardSpaceTypeGet(0, sp8); temp_r27 = BoardSpaceFlagGet(0, sp8); if ((temp_r30 == 0 || temp_r30 == 8 || temp_r30 == 10) && ((temp_r27 & 0x20000000) == 0) || var_r28 != 0) { @@ -941,9 +821,8 @@ void BoardPlayerTurnMoveExec(s32 arg0) continue; } HuAudFXPlay(0x301); - - if (--GWPlayer[arg0].roll == 0) - break; + + if (--GWPlayer[arg0].roll == 0) break; } while (1); BoardPauseDisableSet(1); BoardRollUpdateSet(arg0); @@ -959,7 +838,7 @@ void BoardPlayerTurnMoveExec(s32 arg0) while (BoardItemDoneCheck() == 0) { HuPrcVSleep(); } - BoardItemPrevSet(-1); + BoardItemPrevSet(-1); } BoardPlayerSizeRestore(arg0); megaDoubleDiceF = 0; @@ -972,16 +851,14 @@ void BoardPlayerTurnMoveExec(s32 arg0) if (GWSystem.bowser_event != 1) { BoardCameraViewSet(2); BoardCameraMotionWait(); - } - else { + } else { GWSystem.bowser_event = 0xF; } BoardPlayerZoomRestore(arg0); return; } -void BoardPlayerPostTurnHookExec(s32 arg0) -{ +void BoardPlayerPostTurnHookExec(s32 arg0) { if (postTurnHook[arg0] != 0U) { if (postTurnHook[arg0]() != 0) { postTurnHook[arg0] = 0; @@ -989,13 +866,11 @@ void BoardPlayerPostTurnHookExec(s32 arg0) } } -void BoardPlayerSizeRestore(s32 arg0) -{ +void BoardPlayerSizeRestore(s32 arg0) { if (BoardPlayerSizeGet(arg0) != 0) { if (BoardPlayerSizeGet(arg0) == 1) { HuAudFXPlay(0x313); - } - else { + } else { HuAudFXPlay(0x311); } BoardPlayerResizeAnimExec(arg0, 0); @@ -1007,9 +882,8 @@ void BoardPlayerSizeRestore(s32 arg0) } } -void BoardPlayerZoomRestore(s32 arg0) -{ - PlayerState *sp8; +void BoardPlayerZoomRestore(s32 arg0) { + PlayerState* sp8; s32 var_r31; s32 var_r29; s32 var_r28; @@ -1018,15 +892,14 @@ void BoardPlayerZoomRestore(s32 arg0) Vec spC; sp8 = BoardPlayerGet(arg0); - BoardPlayerPosGet(arg0, &spC); + BoardPlayerPosGet(arg0, &spC); temp_r27 = GWPlayer[arg0].space_curr; var_r31 = GWSystem.player_curr; if (var_r31 == -1) { var_r31 = 0; } for (var_r29 = var_r28 = 0; var_r28 < 4; var_r28++) { - if (var_r31 == arg0) - break; + if (var_r31 == arg0) break; if (temp_r27 == GWPlayer[var_r31].space_curr) { var_r29++; } @@ -1034,63 +907,59 @@ void BoardPlayerZoomRestore(s32 arg0) } BoardSpaceCornerPosGet(temp_r27, var_r29, &sp18); BoardPlayerMotBlendSet(arg0, 0, 0xF); - + while (BoardPlayerMotBlendCheck(arg0) == 0) { HuPrcVSleep(); } BoardPlayerIdleSet(arg0); } -void BoardJunctionMaskSet(s32 arg0) -{ +void BoardJunctionMaskSet(s32 arg0) { junctionMask |= arg0; } -void BoardJunctionMaskReset(s32 arg0) -{ +void BoardJunctionMaskReset(s32 arg0) { junctionMask &= ~arg0; } -void BoardJunctionMaskZero(void) -{ +void BoardJunctionMaskZero(void) { junctionMask = 0; } -static inline u32 BoardJunctionMaskGet(void) -{ +static inline u32 BoardJunctionMaskGet(void) { return junctionMask; } -static inline GetLinkCount(s32 playerIdx, s32 boardIdx) -{ +static inline GetLinkCount(s32 playerIdx, s32 boardIdx) { s32 i; s32 linkCount; - BoardSpace *boardSpaceLink; - BoardSpace *boardSpaceFlag; - PlayerState *player; + BoardSpace* boardSpaceLink; + BoardSpace* boardSpaceFlag; + PlayerState* player; s32 color; s32 temp; linkCount = 0; boardSpaceLink = BoardSpaceGet(0, boardIdx); - + if (boardSpaceLink->link_cnt <= 1) { return 0; } linkCount = boardSpaceLink->link_cnt; for (i = 0; i < boardSpaceLink->link_cnt; i++) { boardSpaceFlag = BoardSpaceGet(0, boardSpaceLink->link[i]); - if (((boardSpaceFlag->flag & 0x20000000) != 0 && (BoardPlayerSizeGet(playerIdx) != 1)) || ((boardSpaceFlag->flag & 0x02000000) != 0) - || ((boardSpaceFlag->flag & 0x04000000) != 0) || ((boardSpaceFlag->flag & BoardJunctionMaskGet()) != 0)) { - + if (((boardSpaceFlag->flag & 0x20000000) != 0 && (BoardPlayerSizeGet(playerIdx) != 1)) + || ((boardSpaceFlag->flag & 0x02000000) != 0) + || ((boardSpaceFlag->flag & 0x04000000) != 0) + || ((boardSpaceFlag->flag & BoardJunctionMaskGet()) != 0)) { + linkCount--; } } return linkCount; } -static void InitJunction(s32 arg0, s32 arg1, f32 arg8) -{ +static void InitJunction(s32 arg0, s32 arg1, f32 arg8) { Vec sp68; Vec sp5C; Vec sp50; @@ -1099,14 +968,14 @@ static void InitJunction(s32 arg0, s32 arg1, f32 arg8) s32 sp38; s16 sp20; s16 spE; - BoardSpace *temp_r26; - BoardSpace *temp_r25; + BoardSpace* temp_r26; + BoardSpace* temp_r25; f32 var_f27; f32 var_f28; f32 var_f29; - omObjData *var_r28; + omObjData* var_r28; s32 var_r20; - bitcopy *temp_r29; + bitcopy* temp_r29; s32 var_r27; s32 var_r22; f32 angle; @@ -1115,7 +984,7 @@ static void InitJunction(s32 arg0, s32 arg1, f32 arg8) for (var_r20 = 0; var_r20 < 4; var_r20++) { junctionArrowRot[var_r20] = -1; } - + sp38 = GetLinkCount(arg0, arg1); if (sp38 > 1) { var_r28 = omAddObjEx(boardObjMan, 0x100, 0, 0, -1, UpdateJunctionGfx); @@ -1128,53 +997,50 @@ static void InitJunction(s32 arg0, s32 arg1, f32 arg8) temp_r29->field00_bit5 = 0; temp_r29->unk_01 = 0; var_r28->scale.x = var_r28->scale.y = var_r28->scale.z = 3.0f; - HuWinMesMaxSizeGet(1, sp3C, MAKE_MESSID(0x9, 0x03)); + HuWinMesMaxSizeGet(1, sp3C, 0x90003); var_f27 = -10000.0f; var_f28 = 304.0f; temp_r29->unk_04 = HuWinCreate(var_f27, var_f28, sp3C[0], sp3C[1], 0); HuWinBGTPLvlSet(temp_r29->unk_04, 0.0f); HuWinMesSpeedSet(temp_r29->unk_04, 0); - HuWinMesSet(temp_r29->unk_04, MAKE_MESSID(9, 3)); + HuWinMesSet(temp_r29->unk_04, 0x90003); if (_CheckFlag(FLAG_ID_MAKE(1, 11)) != 0) { HuWinDispOff(temp_r29->unk_04); } temp_r26 = BoardSpaceGet(0, arg1); BoardSpacePosGet(0, arg1, &sp68); spE = BoardPlayerSizeGet(arg0); - + for (var_r27 = 0, var_r22 = var_r27; var_r22 < temp_r26->link_cnt; var_r22++) { if (temp_r26->link[var_r22] != 0) { temp_r25 = BoardSpaceGet(0, temp_r26->link[var_r22]); - if (((((temp_r25->flag & 0x20000000) == 0) != 0) || (spE == 1)) && ((temp_r25->flag & 0x02000000) == 0) - && ((temp_r25->flag & 0x04000000) == 0)) { + if (((((temp_r25->flag & 0x20000000) == 0) != 0) || (spE == 1)) && ((temp_r25->flag & 0x02000000) == 0) && ((temp_r25->flag & 0x04000000) == 0)) { if ((temp_r25->flag & BoardJunctionMaskGet()) == 0) { BoardSpacePosGet(0, temp_r26->link[var_r22], &sp50); - VECSubtract(&sp50, &sp68, &sp44); - VECNormalize(&sp44, &sp44); - - angle = atan2d(sp44.x, sp44.z); + PSVECSubtract(&sp50, &sp68, &sp44); + PSVECNormalize(&sp44, &sp44); + + angle = (180.0 * (atan2(sp44.x, sp44.z) / M_PI)); if (angle < 0.0f) { angle += 360.0f; } if (angle > 360.0f) { angle -= 360.0f; } - + OSf32tos16(&angle, &sp20); - sp20 = ((sp20 + 0x16) / 45) * 0x2D; - ; + sp20 = ((sp20 + 0x16) / 45) * 0x2D;; junctionArrowRot[var_r27] = sp20; var_f29 = 0.0f; if (sp20 == 0) { var_f29 = 100.0f; - } - else if ((sp20 == 0xB4) && ((spE == 2) || (GWPlayer[arg0].bowser_suit != 0))) { + } else if ((sp20 == 0xB4) && ((spE == 2) || (GWPlayer[arg0].bowser_suit != 0))) { var_f29 = -100.0f; } - temp_r29->unk_06[var_r27] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0), NULL, 1); + temp_r29->unk_06[var_r27] = BoardModelCreate(0x70000, NULL, 1); BoardModelRotSet(temp_r29->unk_06[var_r27], 0.0f, angle, 0.0f); BoardModelLayerSet(temp_r29->unk_06[var_r27], 6); - sp5C.x = sp68.x + 100.0 * sind(angle); + sp5C.x = sp68.x + (100.0 * sin((M_PI * angle) / 180.0)); sp5C.y = 300.0f + sp68.y; sp5C.z = (var_f29 + (sp68.z + (100.0 * cosd(angle)))); BoardModelPosSetV(temp_r29->unk_06[var_r27], &sp5C); @@ -1193,10 +1059,9 @@ static void InitJunction(s32 arg0, s32 arg1, f32 arg8) return; } -static void UpdateJunctionGfx(omObjData *arg0) -{ +static void UpdateJunctionGfx(omObjData* arg0) { s32 var_r28; - bitcopy *temp_r30; + bitcopy* temp_r30; temp_r30 = OM_GET_WORK_PTR(arg0, bitcopy); if ((temp_r30->field00_bit0 != 0) || (BoardIsKill() != 0)) { @@ -1210,8 +1075,7 @@ static void UpdateJunctionGfx(omObjData *arg0) } if (temp_r30->unk_01 != 0) { temp_r30->unk_01--; - } - else if (temp_r30->field00_bit7 != 0) { + } else if (temp_r30->field00_bit7 != 0) { temp_r30->field00_bit0 = 1; } temp_r30->unk_02 += 8; @@ -1219,15 +1083,14 @@ static void UpdateJunctionGfx(omObjData *arg0) temp_r30->unk_02 -= 0xB4; } OSs16tof32(&temp_r30->unk_02, &arg0->scale.x); - arg0->scale.x = 3.0 + sind(arg0->scale.x); + arg0->scale.x = 3.0 + sin((M_PI * arg0->scale.x) / 180.0); arg0->scale.y = arg0->scale.x; arg0->scale.z = arg0->scale.x; BoardModelScaleSet(temp_r30->unk_06[temp_r30->field00_bit5], arg0->scale.x, arg0->scale.y, arg0->scale.z); } -static void StopJunctionPlayer(s32 arg0) -{ - bitcopy *temp_r31; +static void StopJunctionPlayer(s32 arg0) { + bitcopy* temp_r31; if (junctionObj != 0) { temp_r31 = OM_GET_WORK_PTR(junctionObj, bitcopy); @@ -1240,28 +1103,27 @@ static void StopJunctionPlayer(s32 arg0) } } -static void RestoreJunction(f32 arg8, s32 arg0) -{ +static void RestoreJunction(f32 arg8, s32 arg0) { Vec sp1C; f32 spC[4]; s16 var_r30; s16 temp_r29; - bitcopy *temp_r31; + bitcopy* temp_r31; if (junctionObj != 0) { temp_r31 = OM_GET_WORK_PTR(junctionObj, bitcopy); if (temp_r31->unk_01 == 0) { arg8 = 90.0f * (((90.0f + arg8) - 1.0f) / 90.0f); - + for (var_r30 = 0; var_r30 < temp_r31->field00_bit3; var_r30++) { BoardModelRotGet(temp_r31->unk_06[var_r30], &sp1C); spC[var_r30] = 90.0f * (((90.0f + sp1C.y) - 1.0f) / 90.0f); } - - for (; var_r30 < 4; var_r30++) { + + for (;var_r30 < 4; var_r30++) { spC[var_r30] = -999.0f; } - + temp_r29 = GetDefaultDirection(arg8, spC, temp_r31->field00_bit3); if ((temp_r29 != -1) && (temp_r31->field00_bit5 != temp_r29)) { temp_r31->field00_bit5 = temp_r29; @@ -1274,8 +1136,7 @@ static void RestoreJunction(f32 arg8, s32 arg0) } } -static s32 GetDefaultDirection(f32 arg0, f32 *arg1, s32 arg2) -{ +static s32 GetDefaultDirection(f32 arg0, f32* arg1, s32 arg2) { f32 var_f27; f32 var_f28; f32 temp_f1; @@ -1285,11 +1146,11 @@ static s32 GetDefaultDirection(f32 arg0, f32 *arg1, s32 arg2) temp_f30 = BoardDAngleCalc(arg0); var_f28 = 999.0f; - + for (var_r31 = 0, var_r30 = var_r31; var_r31 < arg2; var_r31++) { temp_f1 = BoardDAngleCalc(arg1[var_r31]); var_f27 = BOARD_FABS(BoardDAngleCalc(temp_f1 - temp_f30)); - + if (var_f27 < var_f28) { var_f28 = var_f27; var_r30 = var_r31; @@ -1300,45 +1161,43 @@ static s32 GetDefaultDirection(f32 arg0, f32 *arg1, s32 arg2) static inline s32 BoardPlayerMotGet(s32 player) { - PlayerState *player_ptr = BoardPlayerGet(player); - return playerMot[player_ptr->player_idx]; + PlayerState *player_ptr = BoardPlayerGet(player); + return playerMot[player_ptr->player_idx]; } -static s32 DoDebugMove(s32 arg0, s16 *arg1) -{ +static s32 DoDebugMove(s32 arg0, s16* arg1) { s16 spC0[10]; s16 spAC[10]; Vec spA0; Vec sp94; Vec sp88; Vec sp7C; - BoardSpace *sp5C; + BoardSpace* sp5C; s32 sp58; s32 sp54; - BoardCameraData *sp50; + BoardCameraData* sp50; f32 var_f30; s32 var_r29; s16 var_r26; - PlayerState *sp28; - BoardSpace *var_r23; + PlayerState* sp28; + BoardSpace* var_r23; s32 var_r22; s32 var_r21; s32 var_r20; s32 var_r18; - bitcopy *var_r17; + bitcopy* var_r17; var_r18 = -1; - + memset(spC0, 0, 0x14); memset(spAC, 0, 0x14); - while (1) { - loop_1: + while (1) {loop_1: sp28 = BoardPlayerGet(arg0); var_r23 = BoardSpaceGet(0, sp28->space_curr); sp58 = BoardSpaceCountGet(0); BoardPlayerPosGet(arg0, &sp88); var_r20 = GWPlayer[arg0].port; - + for (var_r22 = 0, var_r29 = var_r22; var_r29 < var_r23->link_cnt; var_r29++) { if ((BoardSpaceFlagGet(0, var_r23->link[var_r29]) & 0x06000000) == 0) { if ((BoardSpaceFlagGet(0, var_r23->link[var_r29]) & 0x20000000) == 0 || (BoardPlayerSizeGet(arg0) == 1)) { @@ -1347,15 +1206,14 @@ static s32 DoDebugMove(s32 arg0, s16 *arg1) } } var_r22 += BoardSpaceLinkTargetListGet(0, sp28->space_curr, &spAC[var_r22]); - + for (var_r29 = 0; var_r29 < var_r22; var_r29++) { sp5C = BoardSpaceGet(0, spAC[var_r29]); if (sp5C == 0) { spAC[var_r29] = 0; - } - else { - VECSubtract(&sp5C->pos, &sp88, &sp94); - var_f30 = 90.0 - atan2d(sp94.z, sp94.x); + } else { + PSVECSubtract(&sp5C->pos, &sp88, &sp94); + var_f30 = 90.0 - (180.0 * (atan2(sp94.z, sp94.x) / M_PI)); OSf32tos16(&var_f30, &var_r26); if (var_r26 < 0) { var_r26 += 0x168; @@ -1363,14 +1221,13 @@ static s32 DoDebugMove(s32 arg0, s16 *arg1) if (var_r26 > 0x168) { var_r26 -= 0x168; } - + spC0[var_r29] = var_r26 = var_r26 = (((var_r26 + 0x16) / 45) * 0x2D); } } sp54 = GWPlayer[arg0].space_curr; InitJunction(arg0, sp28->space_curr, -1.0f); - do { - loop_21: + do {loop_21: if (sp54 != GWPlayer[arg0].space_curr) { sp54 = GWPlayer[arg0].space_curr; goto loop_1; @@ -1382,8 +1239,7 @@ static s32 DoDebugMove(s32 arg0, s16 *arg1) StopJunctionPlayer(0); var_r18 = 1; goto end; - } - else { + } else { if (HuPadBtnDown[var_r20] == 0x10) { BoardRollDispSet(0); BoardPlayerIdleSet(arg0); @@ -1394,7 +1250,7 @@ static s32 DoDebugMove(s32 arg0, s16 *arg1) goto loop_21; } if ((0.0f != spA0.x) || (0.0f != spA0.z)) { - var_f30 = 90.0 + atan2d(spA0.z, spA0.x); + var_f30 = (90.0 + (180.0 * (atan2(spA0.z, spA0.x) / M_PI))); if (var_f30 < 0.0f) { var_f30 += 360.0f; } @@ -1403,8 +1259,8 @@ static s32 DoDebugMove(s32 arg0, s16 *arg1) } RestoreJunction(var_f30, 1); sp50 = &boardCamera; - VECSubtract(&sp50->target, &sp50->pos, &sp7C); - var_f30 += 90.0 - atan2d(-sp7C.z, -sp7C.x); + PSVECSubtract(&sp50->target, &sp50->pos, &sp7C); + var_f30 = (var_f30 + (90.0 - (180.0 * (atan2(-sp7C.z, -sp7C.x) / M_PI)))); if (var_f30 < 0.0f) { var_f30 += 360.0f; } @@ -1412,22 +1268,19 @@ static s32 DoDebugMove(s32 arg0, s16 *arg1) var_f30 -= 360.0f; } var_r21 = var_f30; - + for (var_r29 = 0; var_r29 < var_r22; var_r29++) { if ((spC0[var_r29] + 0x2D > var_r21) && (spC0[var_r29] - 0x2D < var_r21)) { *arg1 = spAC[var_r29]; var_r18 = 0; goto end; - } - else if ((var_r21 <= 0x168) && (var_r21 >= 0x13B) && ((s32)((&spC0[0])[var_r29] + 0x195) > var_r21) - && ((s32)((&spC0[0])[var_r29] + 0x13B) < var_r21)) { + } else if ((var_r21 <= 0x168) && (var_r21 >= 0x13B) && ((s32) ((&spC0[0])[var_r29] + 0x195) > var_r21) && ((s32) ((&spC0[0])[var_r29] + 0x13B) < var_r21)) { *arg1 = spAC[var_r29]; var_r18 = 0; goto end; } } - } - else { + } else { if (BoardPlayerMotGet(arg0) != 1) { BoardPlayerIdleSet(arg0); } @@ -1437,23 +1290,21 @@ static s32 DoDebugMove(s32 arg0, s16 *arg1) } } HuPrcVSleep(); - goto loop_21; + goto loop_21; } } while (1); } -end: + end: return var_r18; } -static inline f32 JunctionArrowRotGetCurr(void) -{ - bitcopy *juncObj; +static inline f32 JunctionArrowRotGetCurr(void) { + bitcopy* juncObj; f32 ret; - + if (!junctionObj) { return 0.0f; - } - else { + } else { juncObj = OM_GET_WORK_PTR(junctionObj, bitcopy); OSs16tof32(&(junctionArrowRot[juncObj->field00_bit5]), &ret); return ret; @@ -1463,12 +1314,11 @@ static inline f32 JunctionArrowRotGetCurr(void) static inline s32 CheckArrowRot(float value) { s32 sp58; - bitcopy *sp5C; + bitcopy* sp5C; s16 spE; if (!junctionObj) { return 0; - } - else { + } else { sp5C = OM_GET_WORK_PTR(junctionObj, bitcopy); OSf32tos16(&value, &spE); if (spE > 0x15E) { @@ -1483,21 +1333,20 @@ static inline s32 CheckArrowRot(float value) } } -static s32 ExecJunction(s32 arg0, s16 *arg1) -{ +static s32 ExecJunction(s32 arg0, s16* arg1) { f32 spE4[10]; s16 spD0[10]; Vec spC4; Vec spB8; Vec spAC; s32 sp8C; - BoardSpace *sp88; + BoardSpace* sp88; s32 sp84; - PlayerState *sp30; + PlayerState* sp30; s8 sp8; s32 var_r28; s32 var_r24; - BoardSpace *var_r22; + BoardSpace* var_r22; s32 var_r21; u32 var_r20; f32 var_f29; @@ -1511,7 +1360,7 @@ static s32 ExecJunction(s32 arg0, s16 *arg1) sp84 = BoardSpaceCountGet(0); BoardPlayerPosGet(arg0, &spAC); var_r24 = GWPlayer[arg0].port; - + for (var_r28 = var_r21 = 0; var_r28 < var_r22->link_cnt; var_r28++) { if ((BoardSpaceFlagGet(0, var_r22->link[var_r28]) & 0x06000000) == 0) { if ((BoardSpaceFlagGet(0, var_r22->link[var_r28]) & 0x20000000) == 0 || (BoardPlayerSizeGet(arg0) == 1)) { @@ -1527,15 +1376,14 @@ static s32 ExecJunction(s32 arg0, s16 *arg1) *arg1 = var_r22->link[0]; return 0; } - + for (var_r28 = 0; var_r28 < var_r21; var_r28++) { sp88 = BoardSpaceGet(0, spD0[var_r28]); if (!sp88) { spD0[var_r28] = 0; - } - else { - VECSubtract(&sp88->pos, &spAC, &spB8); - var_f29 = 90.0 - atan2d(spB8.z, spB8.x); + } else { + PSVECSubtract(&sp88->pos, &spAC, &spB8); + var_f29 = (90.0 - (180.0 * (atan2(spB8.z, spB8.x) / M_PI))); if (var_f29 < 0.0f) { var_f29 += 360.0f; } @@ -1551,38 +1399,32 @@ static s32 ExecJunction(s32 arg0, s16 *arg1) BoardPlayerIdleSet(arg0); HuPrcSleep(10); while (1) { - + if ((_CheckFlag(FLAG_ID_MAKE(1, 11)) != 0) && (boardTutorialDirInputTime != -1)) { if (boardTutorialDirInputTime > 0) { spC4.x = boardTutorialDirInputX; spC4.z = boardTutorialDirInputY; - } - else { + } else { var_r20 = 0x100; } boardTutorialDirInputTime -= 1; - } - else if (GWPlayer[arg0].com != 0) { + } else if (GWPlayer[arg0].com != 0) { if (sp8 == 0) { BoardComJunctionInputGet(arg0, &spC4, var_r21, &spE4[0]); var_r20 = 0; - } - else if (sp8 > 6U) { + } else if (sp8 > 6U) { var_r20 = 0x100; } sp8++; - } - else { + } else { if (abs(HuPadStkX[var_r24]) > 10) { spC4.x = HuPadStkX[var_r24]; - } - else { + } else { spC4.x = 0.0f; } if (abs(HuPadStkY[var_r24]) > 10) { spC4.z = HuPadStkY[var_r24]; - } - else { + } else { spC4.z = 0.0f; } var_r20 = HuPadBtnDown[var_r24]; @@ -1594,24 +1436,21 @@ static s32 ExecJunction(s32 arg0, s16 *arg1) StopJunctionPlayer(1); sp8C = 0; break; - } - else if (var_r20 == 0x20 || var_r20 == 0x10) { + } else if (var_r20 == 0x20 || var_r20 == 0x10) { HuAudFXPlay(1); BoardRollDispSet(0); BoardPlayerIdleSet(arg0); StopJunctionPlayer(0); if (var_r20 == 0x10) { BoardViewMapExec(arg0); - } - else if (var_r20 == 0x20) { + } else if (var_r20 == 0x20) { BoardViewOverheadExec(arg0); } InitJunction(arg0, sp30->space_curr, var_f28); BoardRollDispSet(1); - } - else { + } else { if ((0.0f != spC4.x) || (0.0f != spC4.z)) { - var_f29 = 90.0 + atan2d(spC4.z, spC4.x); + var_f29 = (90.0 + (180.0 * (atan2(spC4.z, spC4.x) / M_PI))); if (var_f29 < 0.0f) { var_f29 += 360.0f; } @@ -1622,7 +1461,7 @@ static s32 ExecJunction(s32 arg0, s16 *arg1) var_f28 = var_f29; RestoreJunction(var_f29, 1); } - + for (var_r28 = 0; var_r28 < var_r21; var_r28++) { if (((45.0f + spE4[var_r28]) > var_f29) && ((spE4[var_r28] - 45.0f) < var_f29)) { *arg1 = (&spD0[0])[var_r28]; @@ -1633,8 +1472,7 @@ static s32 ExecJunction(s32 arg0, s16 *arg1) } } } - } - else { + } else { if (BoardPlayerMotGet(arg0) != 1) { BoardPlayerIdleSet(arg0); } @@ -1649,11 +1487,10 @@ static s32 ExecJunction(s32 arg0, s16 *arg1) return sp8C; } -void BoardPlayerMoveTo(s32 arg0, s32 arg1) -{ +void BoardPlayerMoveTo(s32 arg0, s32 arg1) { Vec sp18; Vec spC; - PlayerState *player; + PlayerState* player; BoardModelPosGet(BoardPlayerModelGet(arg0), &sp18); BoardSpacePosGet(0, arg1, &spC); @@ -1663,8 +1500,7 @@ void BoardPlayerMoveTo(s32 arg0, s32 arg1) } } -void BoardPlayerMoveBetween(s32 arg0, s32 arg1, s32 arg2) -{ +void BoardPlayerMoveBetween(s32 arg0, s32 arg1, s32 arg2) { Vec sp1C; Vec sp10; s32 spC; @@ -1678,8 +1514,7 @@ void BoardPlayerMoveBetween(s32 arg0, s32 arg1, s32 arg2) } } -void BoardPlayerMoveToAsync(s32 arg0, s32 arg1) -{ +void BoardPlayerMoveToAsync(s32 arg0, s32 arg1) { Vec sp18; Vec spC; s32 sp8; @@ -1689,17 +1524,16 @@ void BoardPlayerMoveToAsync(s32 arg0, s32 arg1) BoardPlayerPosLerpStart(arg0, &sp18, &spC, 0x19); } -void BoardPlayerPosLerpStart(s32 arg0, Vec *arg1, Vec *arg2, s16 arg3) -{ +void BoardPlayerPosLerpStart(s32 arg0, Vec* arg1, Vec* arg2, s16 arg3) { Vec sp18; f32 var_f28; f32 var_f27; f32 var_f26; f32 var_f29; f32 var_f30; - omObjData *temp_r3; + omObjData* temp_r3; s32 var_r25; - PlayerState *temp_r21; + PlayerState* temp_r21; if ((arg1->x != arg2->x) || (arg1->y != arg2->y) || (arg1->z != arg2->z)) { var_f28 = BoardVecDistXZCalc(arg2, arg1); @@ -1710,15 +1544,14 @@ void BoardPlayerPosLerpStart(s32 arg0, Vec *arg1, Vec *arg2, s16 arg3) OSs16tof32(&arg3, &var_f29); var_f27 = var_f28 / var_f29; - } - else { + } else { var_f27 = var_f28; var_f29 = 1.0f; } temp_r21 = BoardPlayerGet(arg0); if (playerMot[temp_r21->player_idx] != 3) { - var_r25 = BoardModelMotionShiftSet(BoardPlayerModelGet(arg0), 3, 0.0f, 4.0f, HU3D_MOTATTR_LOOP); + var_r25 = BoardModelMotionShiftSet(BoardPlayerModelGet(arg0), 3, 0.0f, 4.0f, 0x40000001); if (var_r25 == 0) { playerMot[temp_r21->player_idx] = 3; } @@ -1727,9 +1560,9 @@ void BoardPlayerPosLerpStart(s32 arg0, Vec *arg1, Vec *arg2, s16 arg3) BoardBowserSuitMotionSetWalk(); BoardModelMotionSpeedSet(suitMdl, 1.5f); } - VECSubtract(arg2, arg1, &sp18); - VECNormalize(&sp18, &sp18); - var_f26 = 90.0 - atan2d(sp18.z, sp18.x); + PSVECSubtract(arg2, arg1, &sp18); + PSVECNormalize(&sp18, &sp18); + var_f26 = 90.0 - (180.0 * (atan2(sp18.z, sp18.x) / M_PI)); var_f30 = var_f26; if (var_f30 < 0.0f) { var_f30 += 360.0f; @@ -1755,7 +1588,7 @@ void BoardPlayerPosLerpStart(s32 arg0, Vec *arg1, Vec *arg2, s16 arg3) if (GWPlayer[arg0].bowser_suit != 0) { BoardModelPosSetV(suitMdl, arg1); } - // TODO: Make work struct for this + //TODO: Make work struct for this temp_r3->work[0] = arg0; *(f32 *)(&temp_r3->work[1]) = var_f27; temp_r3->work[2] = arg3; @@ -1763,8 +1596,7 @@ void BoardPlayerPosLerpStart(s32 arg0, Vec *arg1, Vec *arg2, s16 arg3) } } -static void PlayerPosLerpFunc(omObjData *arg0) -{ +static void PlayerPosLerpFunc(omObjData* arg0) { f32 temp_f28; f32 temp_f27; f32 temp_f26; @@ -1779,8 +1611,7 @@ static void PlayerPosLerpFunc(omObjData *arg0) arg0->trans.z += arg0->scale.z; if (arg0->work[2] != 0U) { arg0->work[2] -= 1; - } - else { + } else { GWPlayer[temp_r30].moving = 0; omDelObjEx(HuPrcCurrentGet(), arg0); temp_f26 = arg0->rot.z; @@ -1795,7 +1626,7 @@ static void PlayerPosLerpFunc(omObjData *arg0) BoardPlayerPosSet(temp_r30, temp_f31, temp_f30, temp_f29); } -// TODO: Make this 2 structs and give better names +//TODO: Make this 2 structs and give better names typedef struct bitcopy2 { struct { u8 field00_bit0 : 1; @@ -1807,7 +1638,7 @@ typedef struct bitcopy2 { }; s8 unk_01; s16 unk_02; - union { + union{ struct { s32 unk_04; f32 unk_08; @@ -1824,11 +1655,10 @@ typedef struct bitcopy2 { }; } bitcopy2; -void BoardPlayerDiceJumpStart(s32 arg0) -{ +void BoardPlayerDiceJumpStart(s32 arg0) { Vec sp8; - PlayerState *temp_r25; - bitcopy2 *temp_r31; + PlayerState* temp_r25; + bitcopy2* temp_r31; s32 var_r28; if (GWPlayer[arg0].bowser_suit != 0) { @@ -1853,8 +1683,7 @@ void BoardPlayerDiceJumpStart(s32 arg0) GWPlayer[arg0].jump = 1; } -s32 BoardPlayerDiceJumpCheck(s32 arg0) -{ +s32 BoardPlayerDiceJumpCheck(s32 arg0) { if (!diceJumpObj[arg0]) { return 0; } @@ -1864,12 +1693,11 @@ s32 BoardPlayerDiceJumpCheck(s32 arg0) return 1; } -static void DiceJumpFunc(omObjData *arg0) -{ +static void DiceJumpFunc(omObjData* arg0) { Vec sp38; f32 temp_f31; - PlayerState *var_r30; - bitcopy2 *temp_r31; + PlayerState* var_r30; + bitcopy2* temp_r31; s16 var_r28; s32 var_r23; s32 var_r17; @@ -1918,19 +1746,19 @@ static void DiceJumpFunc(omObjData *arg0) } } + void BoardPlayerIdleSet(s32 arg0) { if (GWPlayer[arg0].bowser_suit) { BoardBowserSuitMotionSetWait(); BoardBowserSuitPlayerModelKill(); } - BoardPlayerMotionShiftSet(arg0, 1, 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + BoardPlayerMotionShiftSet(arg0, 1, 0.0f, 8.0f, 0x40000001); } static void ExecMotBlend(omObjData *arg0); -void BoardPlayerMotBlendSet(s32 arg0, s16 arg1, s16 arg2) -{ +void BoardPlayerMotBlendSet(s32 arg0, s16 arg1, s16 arg2) { s16 sp1C; f32 temp_f25; f32 temp_f26; @@ -1939,19 +1767,19 @@ void BoardPlayerMotBlendSet(s32 arg0, s16 arg1, s16 arg2) f32 var_f22; f32 var_f21; f32 var_f19; - omObjData *temp_r3; + omObjData* temp_r3; s32 var_r22; s32 var_r20; s16 var_r19; s16 var_r18; - bitcopy2 *temp_r26; + bitcopy2* temp_r26; var_r20 = 0; if (motDoneF[arg0] != 0) { temp_r3 = motDoneF[arg0]; temp_r26 = OM_GET_WORK_PTR(temp_r3, bitcopy2); temp_r26->field00_bit0 = 1; - + for (var_r19 = 0; var_r19 < 180U; var_r19++) { if (BoardPlayerMotBlendCheck(arg0) != 0) break; @@ -1973,22 +1801,19 @@ void BoardPlayerMotBlendSet(s32 arg0, s16 arg1, s16 arg2) OSf32tos16(&temp_f25, &sp1C); if (sp1C > 0) { var_f24 = 59.0f; - } - else { + } else { var_f24 = 0.0f; } - + if (abs(sp1C) == 0) { temp_r26->field00_bit0 = 1; return; } if (abs(sp1C) <= 90) { var_r20 = boardMotTbl[var_r18]; - } - else if (abs(sp1C) <= 180) { + } else if (abs(sp1C) <= 180) { var_r20 = boardMotRevTbl[var_r18]; - } - else { + } else { temp_r26->field00_bit0 = 1; return; } @@ -1997,17 +1822,15 @@ void BoardPlayerMotBlendSet(s32 arg0, s16 arg1, s16 arg2) temp_f26 = var_f27 / 59.0f; if (temp_f26 != 0.0f) { var_f27 = 1.0f / temp_f26; - } - else { + } else { var_f27 = 1.0f; } if (GWPlayer[arg0].bowser_suit != 0) { BoardBowserSuitMotionSetWalk(); BoardModelMotionSpeedSet(BoardBowserSuitModelGet(), var_f27 / 2); - } - else if (var_f21 = 8.0f * temp_f26, abs(sp1C) > 45) { + } else if (var_f21 = 8.0f * temp_f26, abs(sp1C) > 45) { var_r22 = temp_r26->unk_04h; - BoardPlayerMotionShiftSet(arg0, var_r22, var_f24, var_f21, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(arg0, var_r22, var_f24, var_f21, 0); BoardPlayerMotionSpeedSet(arg0, var_f27); } OSs16tof32(&arg2, &var_f27); @@ -2016,11 +1839,10 @@ void BoardPlayerMotBlendSet(s32 arg0, s16 arg1, s16 arg2) } } -static void ExecMotBlend(omObjData *arg0) -{ +static void ExecMotBlend(omObjData* arg0) { f32 sp48; f32 var_f27; - bitcopy2 *temp_r30; + bitcopy2* temp_r30; temp_r30 = OM_GET_WORK_PTR(arg0, bitcopy2); if ((temp_r30->field00_bit0 != 0) || (BoardIsKill() != 0)) { @@ -2038,11 +1860,10 @@ static void ExecMotBlend(omObjData *arg0) if (GWPlayer[temp_r30->unk_01].bowser_suit != 0) { BoardBowserSuitMotionSetWait(); BoardBowserSuitPlayerModelKill(); - } - else { + } else { BoardPlayerMotionStart(temp_r30->unk_01, 1, 0x40000001); } - return; + return; } var_f27 = BoardPlayerRotYGet(temp_r30->unk_01); OSs16tof32(&temp_r30->unk_08h, &sp48); @@ -2050,15 +1871,14 @@ static void ExecMotBlend(omObjData *arg0) BoardPlayerRotYSet(temp_r30->unk_01, var_f27); } -s32 BoardPlayerMotBlendCheck(s32 arg0) -{ +s32 BoardPlayerMotBlendCheck(s32 arg0) { if (motDoneF[arg0] != 0) { return 0; } return 1; } -// TODO: Make this 3 structs and give better names +//TODO: Make this 3 structs and give better names typedef struct bitcopy3 { struct { @@ -2076,11 +1896,10 @@ typedef struct bitcopy3 { s16 unk_06[5]; } bitcopy3; -void BoardRollCreate(s32 arg0, s32 arg1) -{ - omObjData *temp_r3; +void BoardRollCreate(s32 arg0, s32 arg1) { + omObjData* temp_r3; s32 var_r30; - bitcopy3 *temp_r31; + bitcopy3* temp_r31; temp_r3 = omAddObjEx(boardObjMan, 0x105, 0, 0, -1, &UpdateRoll); temp_r31 = OM_GET_WORK_PTR(temp_r3, bitcopy3); @@ -2090,24 +1909,22 @@ void BoardRollCreate(s32 arg0, s32 arg1) temp_r31->unk_02 = arg0; if (arg1 != 0) { temp_r31->unk_03 = 0; - } - else { + } else { temp_r31->unk_03 = 1; } temp_r31->unk_04 = HuSprGrpCreate(2); - + for (var_r30 = 0; var_r30 < 2; var_r30++) { - BoardSpriteCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x2B), 0x4B0, 0, &temp_r31->unk_06[var_r30]); + BoardSpriteCreate(0x7002B, 0x4B0, 0, &temp_r31->unk_06[var_r30]); HuSprGrpMemberSet(temp_r31->unk_04, var_r30, temp_r31->unk_06[var_r30]); - HuSprPosSet(temp_r31->unk_04, var_r30, HU_DISP_CENTERX, HU_DISP_CENTERY); + HuSprPosSet(temp_r31->unk_04, var_r30, 288.0f, 240.0f); HuSprAttrSet(temp_r31->unk_04, var_r30, 4); } rollObj = temp_r3; } -void BoardRollUpdateSet(s32 arg0) -{ - bitcopy3 *temp_r31; +void BoardRollUpdateSet(s32 arg0) { + bitcopy3* temp_r31; if (rollObj != 0) { temp_r31 = OM_GET_WORK_PTR(rollObj, bitcopy3); @@ -2115,75 +1932,67 @@ void BoardRollUpdateSet(s32 arg0) } } -void BoardRollDispSet(s32 arg0) -{ +void BoardRollDispSet(s32 arg0) { s32 var_r30; - bitcopy3 *temp_r31; + bitcopy3* temp_r31; if (rollObj != 0) { temp_r31 = OM_GET_WORK_PTR(rollObj, bitcopy3); - + for (var_r30 = 0; var_r30 < 2; var_r30++) { if (arg0 != 0) { temp_r31->field00_bit1 = 1; if ((var_r30 == 1) && (GWPlayer[temp_r31->unk_02].roll / 10 == 0)) { - HuSprAttrSet(temp_r31->unk_04, var_r30, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(temp_r31->unk_04, var_r30, 4); + } else { + HuSprAttrReset(temp_r31->unk_04, var_r30, 4); } - else { - HuSprAttrReset(temp_r31->unk_04, var_r30, HUSPR_ATTR_DISPOFF); - } - } - else { + } else { temp_r31->field00_bit1 = 0; - HuSprAttrSet(temp_r31->unk_04, var_r30, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(temp_r31->unk_04, var_r30, 4); } } UpdateRollSprite(rollObj); } } -static void UpdateRollSprite(omObjData *arg0) -{ +static void UpdateRollSprite(omObjData* arg0) { Vec sp1C; s32 sp14[2]; - f32 spC[2] = { HU_DISP_CENTERX + 32, HU_DISP_CENTERX - 32 }; + f32 spC[2] = { 320.0f, 256.0f }; s32 var_r30; s32 temp_r29; - bitcopy3 *temp_r31; + bitcopy3* temp_r31; temp_r31 = OM_GET_WORK_PTR(arg0, bitcopy3); temp_r29 = GWPlayer[temp_r31->unk_02].roll; if (temp_r29 != 0) { sp14[0] = temp_r29 % 10; sp14[1] = temp_r29 / 10; - } - else { + } else { temp_r31->field00_bit0 = 1; } - + for (var_r30 = 0; var_r30 < 2; var_r30++) { if (((var_r30 == 1) && (sp14[1] == 0)) || (temp_r31->field00_bit1 == 0)) { - HuSprAttrSet(temp_r31->unk_04, var_r30, HUSPR_ATTR_DISPOFF); - } - else { + HuSprAttrSet(temp_r31->unk_04, var_r30, 4); + } else { if ((sp14[1] == 0) && (var_r30 == 0)) { - sp1C.x = HU_DISP_CENTERX; - } - else { + sp1C.x = 288.0f; + } else { sp1C.x = spC[var_r30]; } - sp1C.y = (HU_DISP_HEIGHTF * 176) / 480; - HuSprAttrReset(temp_r31->unk_04, var_r30, HUSPR_ATTR_DISPOFF); + sp1C.y = 176.0f; + HuSprAttrReset(temp_r31->unk_04, var_r30, 4); HuSprBankSet(temp_r31->unk_04, var_r30, sp14[var_r30]); HuSprPosSet(temp_r31->unk_04, var_r30, sp1C.x, sp1C.y); } } } -static void UpdateRoll(omObjData *arg0) -{ +static void UpdateRoll(omObjData* arg0) { f32 var_f30; - bitcopy3 *temp_r30; + bitcopy3* temp_r30; temp_r30 = OM_GET_WORK_PTR(rollObj, bitcopy3); if ((temp_r30->field00_bit0 != 0) || (BoardIsKill() != 0)) { @@ -2210,23 +2019,20 @@ static void UpdateRoll(omObjData *arg0) UpdateRollSprite(arg0); } -void BoardPlayerBtnDownWait(s32 arg0, u32 arg1) -{ +void BoardPlayerBtnDownWait(s32 arg0, u32 arg1) { s32 spC; s32 sp8; s32 temp_r31; temp_r31 = GWPlayer[arg0].port; while (1) { - if ((HuPadBtnDown[temp_r31] & arg1) != 0) - return; + if ((HuPadBtnDown[temp_r31] & arg1) != 0) return; HuPrcVSleep(); } } -void BoardPlayerAutoSizeSet(s32 player, s32 value) -{ - PlayerState *temp_r28; +void BoardPlayerAutoSizeSet(s32 player, s32 value) { + PlayerState* temp_r28; temp_r28 = BoardPlayerGet(player); if ((temp_r28->auto_size != 0) || (value == 0)) { @@ -2238,28 +2044,25 @@ void BoardPlayerAutoSizeSet(s32 player, s32 value) } } -s32 BoardPlayerAutoSizeGet(s32 arg0) -{ - PlayerState *player; +s32 BoardPlayerAutoSizeGet(s32 arg0) { + PlayerState* player; player = BoardPlayerGet(arg0); - if (!player) { + if(!player) { return; } return player->auto_size; } -u32 BoardPlayerMoveAwayIsDone(void) -{ +u32 BoardPlayerMoveAwayIsDone(void) { if (moveAwayObj) { return 0; } return 1; } -void BoardPlayerMoveAwayStart(s32 arg0, s32 arg1, s32 arg2) -{ - bitcopy3 *temp_r25; +void BoardPlayerMoveAwayStart(s32 arg0, s32 arg1, s32 arg2) { + bitcopy3* temp_r25; Vec sp28; Vec sp1C; Vec sp10; @@ -2276,7 +2079,7 @@ void BoardPlayerMoveAwayStart(s32 arg0, s32 arg1, s32 arg2) // hack for (var_r28 = var_r28 = var_r27; var_r27 < 4; var_r27++, var_r30++) { var_r30 &= 3; - + for (var_r31 = 0; var_r31 < 4; var_r31++) { if ((var_r31 == var_r30) && (arg1 == GWPlayer[var_r31].space_curr)) { moveAwayPlayer[var_r28++] = var_r31; @@ -2284,15 +2087,14 @@ void BoardPlayerMoveAwayStart(s32 arg0, s32 arg1, s32 arg2) } } BoardSpaceRotGet(0, arg1, &sp28); - + for (var_r31 = 0; var_r31 < var_r28; var_r31++) { BoardSpaceCornerPosGet(arg1, var_r31, &sp1C); temp_r29 = moveAwayPlayer[var_r31]; if (arg2 != 0) { BoardPlayerPosSetV(temp_r29, &sp1C); moveAwayPlayer[var_r31] = -1; - } - else { + } else { BoardPlayerPosGet(temp_r29, &sp10); BoardPlayerPosLerpStart(temp_r29, &sp10, &sp1C, 0x19); } @@ -2304,15 +2106,13 @@ void BoardPlayerMoveAwayStart(s32 arg0, s32 arg1, s32 arg2) } } -void BoardPlayerMoveAwayStartCurr(s32 arg0, s32 arg1) -{ +void BoardPlayerMoveAwayStartCurr(s32 arg0, s32 arg1) { BoardPlayerMoveAwayStart(GWSystem.player_curr, arg0, arg1); } -static void MoveAwayObjFunc(omObjData *arg0) -{ +static void MoveAwayObjFunc(omObjData* arg0) { s32 var_r31; - bitcopy3 *temp_r30; + bitcopy3* temp_r30; temp_r30 = OM_GET_WORK_PTR(arg0, bitcopy3); if ((temp_r30->field00_bit0 != 0) || (BoardIsKill() != 0)) { @@ -2320,11 +2120,10 @@ static void MoveAwayObjFunc(omObjData *arg0) omDelObjEx(HuPrcCurrentGet(), arg0); return; } - + for (var_r31 = 0; var_r31 < 4; var_r31++) { if (moveAwayPlayer[var_r31] != -1) { - if (GWPlayer[moveAwayPlayer[var_r31]].moving != 0) - return; + if (GWPlayer[moveAwayPlayer[var_r31]].moving != 0) return; BoardPlayerMotBlendSet(moveAwayPlayer[var_r31], 0, 15); moveAwayPlayer[var_r31] = -1; } @@ -2332,15 +2131,16 @@ static void MoveAwayObjFunc(omObjData *arg0) temp_r30->field00_bit0 = 1; } -void BoardBowserSuitInit(s32 arg0) -{ - omObjData *temp_r3; +void BoardBowserSuitInit(s32 arg0) { + omObjData* temp_r3; s32 temp_r27; s32 var_r29; s32 temp; - bitcopy3 *temp_r31; + bitcopy3* temp_r31; - for (var_r29 = 0; var_r29 < 4; var_r29++) { } + + for (var_r29 = 0; var_r29 < 4; var_r29++) { + } temp_r27 = GWPlayer[arg0].character; temp = BoardDataDirReadAsync(0x40000); BoardDataAsyncWait(temp); @@ -2358,12 +2158,11 @@ void BoardBowserSuitInit(s32 arg0) BoardPlayerVoiceEnableSet(arg0, 4, 0); } -void BoardBowserSuitKill(s32 arg0) -{ - bitcopy3 *temp; +void BoardBowserSuitKill(s32 arg0) { + bitcopy3* temp; if (bowserSuitObj != 0) { - OM_GET_WORK_PTR(bowserSuitObj, bitcopy3)->field00_bit0 = 1; + OM_GET_WORK_PTR(bowserSuitObj, bitcopy3)->field00_bit0 = 1; } GWPlayer[arg0].bowser_suit = 0; BoardModelVoiceEnableSet(BoardPlayerModelGet(arg0), 3, 1); @@ -2379,66 +2178,58 @@ void BoardBowserSuitKill(s32 arg0) HuDataDirClose(0x40000); } -s16 BoardBowserSuitModelGet(void) -{ +s16 BoardBowserSuitModelGet(void) { return suitMdl; } -s16 BoardBowserSuitPlayerModelGet(void) -{ +s16 BoardBowserSuitPlayerModelGet(void) { return suitPlayerMdl; } -void BoardBowserSuitMotionCreate(void) -{ +void BoardBowserSuitMotionCreate(void) { s32 var_r31; + for (var_r31 = 0; var_r31 < 5; var_r31++) { - bowserSuitMot[var_r31] = (s16)BoardModelMotionCreate(suitMdl, bowserSuitMotTbl[var_r31]); + bowserSuitMot[var_r31] = (s16) BoardModelMotionCreate(suitMdl, bowserSuitMotTbl[var_r31]); } suitCurrMot = -1; } -void BoardBowserSuitMotionSetWait(void) -{ +void BoardBowserSuitMotionSetWait(void) { if (suitCurrMot != 0) { - BoardModelMotionShiftSet(suitMdl, bowserSuitMot[0], 0.0f, 4.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(suitMdl, bowserSuitMot[0], 0.0f, 4.0f, 0x40000001); suitCurrMot = 0; } } -void BoardBowserSuitMotionSetWalk(void) -{ +void BoardBowserSuitMotionSetWalk(void) { if (suitCurrMot != 1) { BoardModelMotionStart(suitMdl, bowserSuitMot[1], 0x40000001); suitCurrMot = 1; } } -void BoardBowserSuitMotionSetWin(void) -{ - BoardModelMotionShiftSet(suitMdl, bowserSuitMot[3], 0.0f, 4.0f, HU3D_MOTATTR_NONE); +void BoardBowserSuitMotionSetWin(void) { + BoardModelMotionShiftSet(suitMdl, bowserSuitMot[3], 0.0f, 4.0f, 0); suitCurrMot = 3; } -void BoardBowserSuitMotionSetJump(void) -{ - BoardModelMotionShiftSet(suitMdl, bowserSuitMot[2], 0.0f, 4.0f, HU3D_MOTATTR_NONE); +void BoardBowserSuitMotionSetJump(void) { + BoardModelMotionShiftSet(suitMdl, bowserSuitMot[2], 0.0f, 4.0f, 0); suitCurrMot = 2; } -void BoardBowserSuitPlayerModelKill(void) -{ +void BoardBowserSuitPlayerModelKill(void) { if (suitPlayerMdl != -1) { BoardModelMotionStart(suitPlayerMdl, 1, 0); BoardModelMotionSpeedSet(suitPlayerMdl, 0.0f); } } -static void UpdateBowserSuit(omObjData *arg0) -{ +static void UpdateBowserSuit(omObjData* arg0) { s16 temp_r30; - bitcopy3 *temp_r31; + bitcopy3* temp_r31; temp_r31 = OM_GET_WORK_PTR(arg0, bitcopy3); if ((temp_r31->field00_bit0 != 0) || (BoardIsKill() != 0)) { @@ -2458,8 +2249,7 @@ static void UpdateBowserSuit(omObjData *arg0) } } -void BoardPlayerSparkSet(s32 arg0) -{ +void BoardPlayerSparkSet(s32 arg0) { s16 currSpace = GWPlayer[arg0].space_curr; GWPlayer[arg0].spark = 1; @@ -2468,594 +2258,586 @@ void BoardPlayerSparkSet(s32 arg0) static s32 DoSparkSpace(s32 player, s32 pause_cam) { - s32 i; - s16 temp_r28; - s32 coin; - s32 temp_r17; - Vec pos, rot; - Vec coin_pos; - s16 sp15C[4] = { -1, -1, -1, -1 }; - s32 sp138; - s32 sp134; - s32 sp130; - s32 sp12C; - s32 sp128; - s8 sp124[4] = { -1, -1, -1, -1 }; - s8 sp120[4] = { -1, -1, -1, -1 }; - s16 sp34; - s16 sp32; - s16 sp30; - s16 sp2E; - s16 sp2C; - sp30 = GWSystem.player_curr; - sp138 = 0; - sp34 = GWPlayer[player].space_curr; - - BoardSpacePosGet(0, sp34, &pos); - BoardSpaceRotGet(0, sp34, &rot); - for (i = 0; i < 4; i++) { - if (GWPlayer[i].space_shock == sp34) { - sp32 = i; - sp138 = 1; - } - } - if (!sp138) { - return 0; - } - BoardRollDispSet(0); - if (pause_cam) { - BoardCameraMoveSet(0); - } - else { - BoardCameraMoveSet(1); - } - BoardCameraMotionWait(); - BoardCameraTargetPlayerSet(player); - BoardPlayerIdleSet(player); - temp_r28 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, VERSION_JP ? 0x73 : 0x74), NULL, 0); - BoardModelMotionStart(temp_r28, 0, 0x40000002); - BoardModelMotionTimeSet(temp_r28, 30.0f); - BoardModelAttrSet(temp_r28, 0x40000002); - BoardModelRotSet(temp_r28, rot.x - 90.0f, rot.y, rot.z); - BoardModelScaleSet(temp_r28, 2.0f, 2.0f, 2.0f); - BoardModelVisibilitySet(temp_r28, 0); - BoardModelLayerSet(temp_r28, 1); - sp2E = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, VERSION_JP ? 0x66 : 0x67), NULL, 0); - BoardModelLayerSet(sp2E, 1); - BoardModelMotionStart(sp2E, 0, 0); - HuAudFXPlay(796); - HuPrcSleep(2); - BoardModelAttrReset(temp_r28, 0x40000002); - BoardModelVisibilitySet(temp_r28, 1); - BoardModelPosSet(temp_r28, pos.x, 8.0f + pos.y, pos.z); - BoardModelPosSetV(sp2E, &pos); - sp128 = -1; - for (sp134 = i = 0; i < 4; i++) { - if (GWPlayer[i].space_curr == sp34) { - sp124[sp134++] = i; - sp15C[i] = BoardPlayerMotionCreate(i, sparkMotTbl[GWPlayer[i].character]); - BoardPlayerMotionShiftSet(i, sp15C[i], 0, 8, HU3D_MOTATTR_NONE); - HuAudFXPlay(boardSparkSfxTblAlt[GWPlayer[i].character]); - if (GWPlayer[i].bowser_suit) { - BoardModelMotionShiftSet(suitMdl, bowserSuitMot[4], 0.0f, 4.0f, HU3D_MOTATTR_NONE); - sp128 = i; - } - } - } - sp130 = sp134; - HuPrcSleep(60); - while (!BoardModelMotionEndCheck(sp2E)) { - HuPrcVSleep(); - } - sp2C = 255; - for (i = 0; i < 45; i++) { - sp2C -= 5; - if (sp2C < 0) { - sp2C = 0; - } - BoardModelAlphaSet(temp_r28, sp2C); - BoardModelAlphaSet(sp2E, sp2C); - HuPrcVSleep(); - } - temp_r17 = BoardItemPrevGet(); - if (temp_r17 == 0 || temp_r17 == 1 || temp_r17 == 2 || temp_r17 == 3 || temp_r17 == 10) { - BoardCameraTargetPlayerSet(player); - BoardPlayerIdleSet(player); - HuPrcSleep(12); - BoardItemPlayerRestore(player, temp_r17); - while (!BoardItemDoneCheck()) { - HuPrcVSleep(); - } - BoardItemPrevSet(-1); - } - if (megaDoubleDiceF) { - BoardPlayerSizeRestore(player); - megaDoubleDiceF = 0; - } - if (sp128 != -1) { - HuAudFXPlay(boardSparkSfxTbl[GWPlayer[sp128].character]); - } - for (i = 0; i < sp130; i++) { - coin = BoardPlayerCoinsGet(sp124[i]); - if (coin > 10) { - coin = 10; - } - if (coin > 0) { - - BoardPlayerPosGet(sp124[i], &coin_pos); - coin_pos.y += 250.0f; - sp120[i] = BoardCoinChgCreate(&coin_pos, -coin); - } - } - for (sp12C = i = 0; i < sp130; i++) { - sp12C += BoardPlayerCoinsGet(sp124[i]); - } - if (sp12C) { - HuAudFXPlay(840); - for (coin = 0; coin < 10; coin++) { - for (i = 0; i < sp130; i++) { - BoardPlayerCoinsAdd(sp124[i], -1); - } - HuAudFXPlay(14); - HuPrcSleep(6); - } - HuAudFXPlay(15); - HuPrcSleep(90); - } - BoardModelKill(temp_r28); - BoardModelKill(sp2E); - for (i = 0; i < 4; i++) { - BoardPlayerIdleSet(sp124[i]); - } - HuPrcSleep(10); - GWSystem.player_curr = -1; - RemoveSparkSpace(sp32); - GWSystem.player_curr = sp30; - for (i = 0; i < 4; i++) { - if (sp15C[i] != -1) { - BoardPlayerMotionKill(i, sp15C[i]); - } - } - if (pause_cam) { - BoardCameraMoveSet(0); - BoardCameraMotionWait(); - } - - BoardCameraTargetPlayerSet(sp30); - BoardCameraMotionWait(); - BoardCameraMoveSet(1); - BoardRollDispSet(1); - return 1; + s32 i; + s16 temp_r28; + s32 coin; + s32 temp_r17; + Vec pos, rot; + Vec coin_pos; + s16 sp15C[4] = { -1, -1, -1, -1 }; + s32 sp138; + s32 sp134; + s32 sp130; + s32 sp12C; + s32 sp128; + s8 sp124[4] = { -1, -1, -1, -1 }; + s8 sp120[4] = { -1, -1, -1, -1 }; + s16 sp34; + s16 sp32; + s16 sp30; + s16 sp2E; + s16 sp2C; + sp30 = GWSystem.player_curr; + sp138 = 0; + sp34 = GWPlayer[player].space_curr; + + BoardSpacePosGet(0, sp34, &pos); + BoardSpaceRotGet(0, sp34, &rot); + for(i=0; i<4; i++) { + if(GWPlayer[i].space_shock == sp34) { + sp32 = i; + sp138 = 1; + } + } + if(!sp138) { + return 0; + } + BoardRollDispSet(0); + if(pause_cam) { + BoardCameraMoveSet(0); + } else { + BoardCameraMoveSet(1); + } + BoardCameraMotionWait(); + BoardCameraTargetPlayerSet(player); + BoardPlayerIdleSet(player); + temp_r28 = BoardModelCreate(0x70074, NULL, 0); + BoardModelMotionStart(temp_r28, 0, 0x40000002); + BoardModelMotionTimeSet(temp_r28, 30.0f); + BoardModelAttrSet(temp_r28, 0x40000002); + BoardModelRotSet(temp_r28, rot.x-90.0f, rot.y, rot.z); + BoardModelScaleSet(temp_r28, 2.0f, 2.0f, 2.0f); + BoardModelVisibilitySet(temp_r28, 0); + BoardModelLayerSet(temp_r28, 1); + sp2E = BoardModelCreate(0x70067, NULL, 0); + BoardModelLayerSet(sp2E, 1); + BoardModelMotionStart(sp2E, 0, 0); + HuAudFXPlay(796); + HuPrcSleep(2); + BoardModelAttrReset(temp_r28, 0x40000002); + BoardModelVisibilitySet(temp_r28, 1); + BoardModelPosSet(temp_r28, pos.x, 8.0f+pos.y, pos.z); + BoardModelPosSetV(sp2E, &pos); + sp128 = -1; + for(sp134=i=0; i<4; i++) { + if(GWPlayer[i].space_curr == sp34) { + sp124[sp134++] = i; + sp15C[i] = BoardPlayerMotionCreate(i, sparkMotTbl[GWPlayer[i].character]); + BoardPlayerMotionShiftSet(i, sp15C[i], 0, 8, 0); + HuAudFXPlay(boardSparkSfxTblAlt[GWPlayer[i].character]); + if(GWPlayer[i].bowser_suit) { + BoardModelMotionShiftSet(suitMdl, bowserSuitMot[4], 0.0f, 4.0f, 0); + sp128 = i; + } + } + } + sp130 = sp134; + HuPrcSleep(60); + while(!BoardModelMotionEndCheck(sp2E)) { + HuPrcVSleep(); + } + sp2C = 255; + for(i=0; i<45; i++) { + sp2C -= 5; + if(sp2C < 0) { + sp2C = 0; + } + BoardModelAlphaSet(temp_r28, sp2C); + BoardModelAlphaSet(sp2E, sp2C); + HuPrcVSleep(); + } + temp_r17 = BoardItemPrevGet(); + if(temp_r17 == 0 || temp_r17 == 1 || temp_r17 == 2 || temp_r17 == 3 || temp_r17 == 10) { + BoardCameraTargetPlayerSet(player); + BoardPlayerIdleSet(player); + HuPrcSleep(12); + BoardItemPlayerRestore(player, temp_r17); + while(!BoardItemDoneCheck()) { + HuPrcVSleep(); + } + BoardItemPrevSet(-1); + } + if(megaDoubleDiceF) { + BoardPlayerSizeRestore(player); + megaDoubleDiceF = 0; + } + if(sp128 != -1) { + HuAudFXPlay(boardSparkSfxTbl[GWPlayer[sp128].character]); + } + for(i=0; i 10) { + coin = 10; + } + if(coin > 0) { + + BoardPlayerPosGet(sp124[i], &coin_pos); + coin_pos.y += 250.0f; + sp120[i] = BoardCoinChgCreate(&coin_pos, -coin); + } + } + for(sp12C=i=0; ikill || BoardIsKill()) { - if (work->coinchg != -1) { - BoardCoinChgHide(work->coinchg); - } - megaSquishObj[work->player] = NULL; - omDelObjEx(HuPrcCurrentGet(), object); - return; - } - if (work->hide_time != 0) { - work->hide_time--; - return; - } - switch (work->state) { - case 1: - if (!work->played_snd) { - HuAudFXPlay(798); - HuAudFXPlay(megaSquishSfxTbl[GWPlayer[work->player].character]); - work->played_snd = 1; - } - BoardPlayerMotionStart(work->player, 10, 0); - BoardPlayerMotionSpeedSet(work->player, 2.0f); - work->state = 2; - break; - - case 2: { - if (!BoardModelMotionTimeGet(BoardPlayerModelGet(work->player) >= 50.0f)) { - return; - } - BoardPlayerMotionSpeedSet(work->player, 0.0f); - BoardPlayerPosGet(work->player, &pos); - pos.y += 10.0f; - BoardPlayerPosSetV(work->player, &pos); - work->hide_time = 20; - work->state = 3; - work->coinchg = -1; - work->disappear_time = 0; - } - - break; - - case 3: - if (work->coinchg == -1) { - BoardPlayerPosGet(work->player, &pos); - - pos.y += 250.0f; - if (!work->no_coinchg) { - work->coinchg = BoardCoinChgCreate(&pos, -work->loss); - } - else { - work->state = 4; - work->hide_time = work->disappear_len; - } - } - if (work->disappear_time++ < work->disappear_len) { - return; - } - work->disappear_time = 0; - if (work->loss <= 0) { - work->state = 4; - HuAudFXPlay(15); - } - else { - work->loss--; - BoardPlayerCoinsAdd(work->player, -1); - HuAudFXPlay(14); - BoardPlayerCoinsAdd(work->gain_player, 1); - } - break; - - case 4: - BoardPlayerMotionSpeedSet(work->player, 2.0f); - BoardPlayerPosGet(work->player, &pos); - pos.y -= 10.0f; - BoardPlayerPosSetV(work->player, &pos); - work->state = 5; - break; - - case 5: - if (!BoardPlayerMotionEndCheck(work->player)) { - return; - } - BoardPlayerIdleSet(work->player); - work->kill = 1; - break; - - case 0: - break; - - default: - break; - } + MegaSquishWork *work = OM_GET_WORK_PTR(object, MegaSquishWork); + Vec pos; + if(work->kill || BoardIsKill()) { + if(work->coinchg != -1) { + BoardCoinChgHide(work->coinchg); + } + megaSquishObj[work->player] = NULL; + omDelObjEx(HuPrcCurrentGet(), object); + return; + } + if(work->hide_time != 0) { + work->hide_time--; + return; + } + switch(work->state) { + case 1: + if(!work->played_snd) { + HuAudFXPlay(798); + HuAudFXPlay(megaSquishSfxTbl[GWPlayer[work->player].character]); + work->played_snd = 1; + } + BoardPlayerMotionStart(work->player, 10, 0); + BoardPlayerMotionSpeedSet(work->player, 2.0f); + work->state = 2; + break; + + case 2: + { + if(!BoardModelMotionTimeGet(BoardPlayerModelGet(work->player) >= 50.0f)) { + return; + } + BoardPlayerMotionSpeedSet(work->player, 0.0f); + BoardPlayerPosGet(work->player, &pos); + pos.y += 10.0f; + BoardPlayerPosSetV(work->player, &pos); + work->hide_time = 20; + work->state = 3; + work->coinchg = -1; + work->disappear_time = 0; + } + + break; + + case 3: + if(work->coinchg == -1) { + BoardPlayerPosGet(work->player, &pos); + + pos.y += 250.0f; + if(!work->no_coinchg) { + work->coinchg = BoardCoinChgCreate(&pos, -work->loss); + } else { + work->state = 4; + work->hide_time = work->disappear_len; + } + } + if(work->disappear_time++ < work->disappear_len) { + return; + } + work->disappear_time = 0; + if(work->loss <= 0) { + work->state = 4; + HuAudFXPlay(15); + } else { + work->loss--; + BoardPlayerCoinsAdd(work->player, -1); + HuAudFXPlay(14); + BoardPlayerCoinsAdd(work->gain_player, 1); + } + break; + + case 4: + BoardPlayerMotionSpeedSet(work->player, 2.0f); + BoardPlayerPosGet(work->player, &pos); + pos.y -= 10.0f; + BoardPlayerPosSetV(work->player, &pos); + work->state = 5; + break; + + case 5: + if(!BoardPlayerMotionEndCheck(work->player)) { + return; + } + BoardPlayerIdleSet(work->player); + work->kill = 1; + break; + + case 0: + break; + + default: + break; + } } static s32 MegaPlayerPassFunc(s32 player, s32 space) { - float temp_f30; - float temp_f29; - MegaSquishWork *temp_r31; - s32 temp_r29; - MegaSquishWork *temp_r28; - s32 temp_r27; - s32 temp_r26; - s32 temp_r24; - omObjData *temp_r23; - s32 spD0[4]; - Vec spC4; - Vec spB8; - Vec spAC; - Vec spA0; - float sp98[2]; - - if (GWPlayer[player].bowser_suit) { - return MegaExecJump(player, space); - } - if (BoardPlayerSizeGet(player) != 2) { - return 0; - } - spD0[0] = spD0[1] = spD0[2] = -1; - for (temp_r26 = temp_r29 = 0; temp_r29 < 4; temp_r29++) { - if (temp_r29 != player && GWPlayer[temp_r29].space_curr == space) { - spD0[temp_r26++] = temp_r29; - BoardPlayerPosGet(temp_r29, &spA0); - temp_r23 = omAddObjEx(boardObjMan, 256, 0, 0, -1, MegaSquishFunc); - megaSquishObj[temp_r29] = temp_r23; - temp_r31 = OM_GET_WORK_PTR(temp_r23, MegaSquishWork); - temp_r31->kill = 0; - temp_r31->player = temp_r29; - temp_r31->gain_player = player; - temp_r31->state = 0; - temp_r31->hide_time = 0; - temp_r31->loss = 0; - temp_r31->disappear_len = 3; - temp_r31->disappear_time = 0; - temp_r31->played_snd = 0; - if (BoardPlayerCoinsGet(temp_r31->player) <= 0) { - temp_r31->no_coinchg = 1; - } - else { - temp_r31->no_coinchg = 0; - } - if (BoardPlayerCoinsGet(temp_r31->player) >= 10) { - temp_r31->loss = 10; - } - else { - temp_r31->loss = BoardPlayerCoinsGet(temp_r31->player); - } - } - } - if (temp_r26 == 0) { - return 0; - } - if (_CheckFlag(FLAG_ID_MAKE(1, 11)) != 0) { + float temp_f30; + float temp_f29; + MegaSquishWork *temp_r31; + s32 temp_r29; + MegaSquishWork *temp_r28; + s32 temp_r27; + s32 temp_r26; + s32 temp_r24; + omObjData *temp_r23; + s32 spD0[4]; + Vec spC4; + Vec spB8; + Vec spAC; + Vec spA0; + float sp98[2]; + + + if(GWPlayer[player].bowser_suit) { + return MegaExecJump(player, space); + } + if(BoardPlayerSizeGet(player) != 2) { + return 0; + } + spD0[0] = spD0[1] = spD0[2] = -1; + for(temp_r26=temp_r29=0; temp_r29<4; temp_r29++) { + if(temp_r29 != player && GWPlayer[temp_r29].space_curr == space) { + spD0[temp_r26++] = temp_r29; + BoardPlayerPosGet(temp_r29, &spA0); + temp_r23 = omAddObjEx(boardObjMan, 256, 0, 0, -1, MegaSquishFunc); + megaSquishObj[temp_r29] = temp_r23; + temp_r31 = OM_GET_WORK_PTR(temp_r23, MegaSquishWork); + temp_r31->kill = 0; + temp_r31->player = temp_r29; + temp_r31->gain_player = player; + temp_r31->state = 0; + temp_r31->hide_time = 0; + temp_r31->loss = 0; + temp_r31->disappear_len = 3; + temp_r31->disappear_time = 0; + temp_r31->played_snd = 0; + if(BoardPlayerCoinsGet(temp_r31->player) <= 0) { + temp_r31->no_coinchg = 1; + } else { + temp_r31->no_coinchg = 0; + } + if(BoardPlayerCoinsGet(temp_r31->player) >= 10) { + temp_r31->loss = 10; + } else { + temp_r31->loss = BoardPlayerCoinsGet(temp_r31->player); + } + } + } + if(temp_r26 == 0) { + return 0; + } + if (_CheckFlag(FLAG_ID_MAKE(1, 11)) != 0) { BoardTutorialHookExec(24, 0); } - BoardPlayerPosGet(player, &spB8); - BoardSpacePosGet(0, space, &spC4); - sp98[0] = spB8.y; - if (spC4.y > spB8.y) { - spB8.y += 300.0f; - } - else { - spB8.y += 200.0f; - } - VECSubtract(&spC4, &spB8, &spAC); - spAC.x /= 60.0f; - spAC.z /= 60.0f; - BoardPlayerRotYSet(player, 90.0 - atan2d(spAC.z, spAC.x)); - sp98[1] = BoardVecDistXZCalc(&spC4, &spB8); - BoardPlayerMotionShiftSet(player, 4, 0, 8, HU3D_MOTATTR_NONE); - HuPrcSleep(8); - temp_r24 = 0; - for (temp_f30 = 0; temp_f30 < 60.0f; temp_f30++) { - temp_f29 = spB8.y; - spB8.x += spAC.x; - spB8.z += spAC.z; - spB8.y += 10.0f + (0.9f * (-0.020416668f * temp_f30 * temp_f30)); - if (temp_f29 > spB8.y) { - temp_r24 = 1; - } - if (spB8.y <= 200.0f + spC4.y && temp_r24) { - for (temp_r27 = 0; temp_r27 < 4; temp_r27++) { - if (megaSquishObj[temp_r27]) { - temp_r28 = OM_GET_WORK_PTR(megaSquishObj[temp_r27], MegaSquishWork); - if ((s16)space == GWPlayer[temp_r28->player].space_curr && temp_r28->state != 1) { - temp_r28->state = 1; - } - } - } - } - if (spB8.y <= spC4.y) { - spB8.y = spC4.y; - BoardPlayerMotionShiftSet(player, 5, 0, 4, HU3D_MOTATTR_NONE); - } - BoardPlayerPosSetV(player, &spB8); - HuPrcVSleep(); - } - BoardCameraQuakeSet(30, 500.0f); - omVibrate(0, 12, 4, 2); - omVibrate(1, 12, 4, 2); - omVibrate(2, 12, 4, 2); - omVibrate(3, 12, 4, 2); - BoardPlayerIdleSet(player); - HuPrcSleep(30); + BoardPlayerPosGet(player, &spB8); + BoardSpacePosGet(0, space, &spC4); + sp98[0] = spB8.y; + if(spC4.y > spB8.y) { + spB8.y += 300.0f; + } else { + spB8.y += 200.0f; + } + VECSubtract(&spC4, &spB8, &spAC); + spAC.x /= 60.0f; + spAC.z /= 60.0f; + BoardPlayerRotYSet(player, 90.0-(180.0*(atan2(spAC.z, spAC.x)/M_PI))); + sp98[1] = BoardVecDistXZCalc(&spC4, &spB8); + BoardPlayerMotionShiftSet(player, 4, 0, 8, 0); + HuPrcSleep(8); + temp_r24 = 0; + for(temp_f30=0; temp_f30<60.0f; temp_f30++) { + temp_f29 = spB8.y; + spB8.x += spAC.x; + spB8.z += spAC.z; + spB8.y += 10.0f + (0.9f*(-0.020416668f * temp_f30 * temp_f30)); + if(temp_f29 > spB8.y) { + temp_r24 = 1; + } + if(spB8.y <= 200.0f+spC4.y && temp_r24) { + for(temp_r27=0; temp_r27<4; temp_r27++) { + if(megaSquishObj[temp_r27]) { + temp_r28 = OM_GET_WORK_PTR(megaSquishObj[temp_r27], MegaSquishWork); + if((s16)space == GWPlayer[temp_r28->player].space_curr && temp_r28->state != 1) { + temp_r28->state = 1; + } + } + } + } + if(spB8.y <= spC4.y) { + spB8.y = spC4.y; + BoardPlayerMotionShiftSet(player, 5, 0, 4, 0); + } + BoardPlayerPosSetV(player, &spB8); + HuPrcVSleep(); + } + BoardCameraQuakeSet(30, 500.0f); + omVibrate(0, 12, 4, 2); + omVibrate(1, 12, 4, 2); + omVibrate(2, 12, 4, 2); + omVibrate(3, 12, 4, 2); + BoardPlayerIdleSet(player); + HuPrcSleep(30); } static s32 MegaExecJump(s32 player, s32 space) { - float temp_f30; - float temp_f29; - MegaSquishWork *temp_r31; - s32 temp_r29; - MegaSquishWork *temp_r28; - s32 temp_r27; - s32 temp_r26; - s32 temp_r25; - s32 temp_r24; - omObjData *temp_r23; - s32 spD0[4]; - Vec spC4; - Vec spB8; - Vec spAC; - Vec spA0; - float sp90[2]; - spD0[0] = spD0[1] = spD0[2] = -1; - for (temp_r26 = temp_r29 = 0; temp_r29 < 4; temp_r29++) { - if (temp_r29 != player && GWPlayer[temp_r29].space_curr == space) { - spD0[temp_r26++] = temp_r29; - BoardPlayerPosGet(temp_r29, &spA0); - temp_r23 = omAddObjEx(boardObjMan, 256, 0, 0, -1, MegaSquishFunc); - megaSquishObj[temp_r29] = temp_r23; - temp_r31 = OM_GET_WORK_PTR(temp_r23, MegaSquishWork); - temp_r31->kill = 0; - temp_r31->player = temp_r29; - temp_r31->gain_player = player; - temp_r31->state = 0; - temp_r31->hide_time = 0; - temp_r31->loss = 0; - temp_r31->disappear_len = 3; - temp_r31->disappear_time = 0; - if (BoardPlayerCoinsGet(temp_r31->player) <= 0) { - temp_r31->no_coinchg = 1; - } - else { - temp_r31->no_coinchg = 0; - } - if (BoardPlayerCoinsGet(temp_r31->player) >= 30) { - temp_r31->loss = 30; - } - else { - temp_r31->loss = BoardPlayerCoinsGet(temp_r31->player); - } - } - } - if (temp_r26 == 0) { - return 0; - } - BoardPlayerPosGet(player, &spB8); - BoardSpacePosGet(0, space, &spC4); - sp90[0] = spB8.y; - if (spC4.y > spB8.y) { - spB8.y += 300.0f; - } - else { - spB8.y += 200.0f; - } - VECSubtract(&spC4, &spB8, &spAC); - spAC.x /= 60.0f; - spAC.z /= 60.0f; - BoardPlayerRotYSet(player, 90.0 - atan2d(spAC.z, spAC.x)); - BoardPlayerIdleSet(player); - HuPrcSleep(10); - sp90[1] = BoardVecDistXZCalc(&spC4, &spB8); - BoardModelMotionShiftSet(suitMdl, bowserSuitMot[3], 0.0f, 8.0f, HU3D_MOTATTR_NONE); - BoardModelMotionSpeedSet(suitMdl, 2.0f); - HuPrcSleep(8); - HuAudFXPlay(809); - temp_r24 = 0; - temp_r25 = 0; - for (temp_f30 = 0; temp_f30 < 60.0f; temp_f30++) { - temp_f29 = spB8.y; - spB8.x += spAC.x; - spB8.z += spAC.z; - spB8.y += 10.0f + (0.9f * (-0.020416668f * temp_f30 * temp_f30)); - if (temp_f29 > spB8.y) { - temp_r25 = 1; - } - if (spB8.y <= 200.0f + spC4.y && temp_r25) { - for (temp_r27 = 0; temp_r27 < 4; temp_r27++) { - if (megaSquishObj[temp_r27]) { - temp_r28 = OM_GET_WORK_PTR(megaSquishObj[temp_r27], MegaSquishWork); - if ((s16)space == GWPlayer[temp_r28->player].space_curr && temp_r28->state != 1) { - temp_r28->state = 1; - } - } - } - } - if (spB8.y <= spC4.y) { - spB8.y = spC4.y; - if (!temp_r24) { - BoardPlayerIdleSet(player); - HuAudFXPlay(810); - temp_r24 = 1; - } - } - BoardPlayerPosSetV(player, &spB8); - HuPrcVSleep(); - } - BoardCameraQuakeSet(30, 500.0f); - omVibrate(0, 12, 4, 2); - omVibrate(1, 12, 4, 2); - omVibrate(2, 12, 4, 2); - omVibrate(3, 12, 4, 2); - BoardPlayerIdleSet(player); - HuPrcSleep(30); + float temp_f30; + float temp_f29; + MegaSquishWork *temp_r31; + s32 temp_r29; + MegaSquishWork *temp_r28; + s32 temp_r27; + s32 temp_r26; + s32 temp_r25; + s32 temp_r24; + omObjData *temp_r23; + s32 spD0[4]; + Vec spC4; + Vec spB8; + Vec spAC; + Vec spA0; + float sp90[2]; + spD0[0] = spD0[1] = spD0[2] = -1; + for(temp_r26=temp_r29=0; temp_r29<4; temp_r29++) { + if(temp_r29 != player && GWPlayer[temp_r29].space_curr == space) { + spD0[temp_r26++] = temp_r29; + BoardPlayerPosGet(temp_r29, &spA0); + temp_r23 = omAddObjEx(boardObjMan, 256, 0, 0, -1, MegaSquishFunc); + megaSquishObj[temp_r29] = temp_r23; + temp_r31 = OM_GET_WORK_PTR(temp_r23, MegaSquishWork); + temp_r31->kill = 0; + temp_r31->player = temp_r29; + temp_r31->gain_player = player; + temp_r31->state = 0; + temp_r31->hide_time = 0; + temp_r31->loss = 0; + temp_r31->disappear_len = 3; + temp_r31->disappear_time = 0; + if(BoardPlayerCoinsGet(temp_r31->player) <= 0) { + temp_r31->no_coinchg = 1; + } else { + temp_r31->no_coinchg = 0; + } + if(BoardPlayerCoinsGet(temp_r31->player) >= 30) { + temp_r31->loss = 30; + } else { + temp_r31->loss = BoardPlayerCoinsGet(temp_r31->player); + } + } + } + if(temp_r26 == 0) { + return 0; + } + BoardPlayerPosGet(player, &spB8); + BoardSpacePosGet(0, space, &spC4); + sp90[0] = spB8.y; + if(spC4.y > spB8.y) { + spB8.y += 300.0f; + } else { + spB8.y += 200.0f; + } + VECSubtract(&spC4, &spB8, &spAC); + spAC.x /= 60.0f; + spAC.z /= 60.0f; + BoardPlayerRotYSet(player, 90.0-(180.0*(atan2(spAC.z, spAC.x)/M_PI))); + BoardPlayerIdleSet(player); + HuPrcSleep(10); + sp90[1] = BoardVecDistXZCalc(&spC4, &spB8); + BoardModelMotionShiftSet(suitMdl, bowserSuitMot[3], 0.0f, 8.0f, 0); + BoardModelMotionSpeedSet(suitMdl, 2.0f); + HuPrcSleep(8); + HuAudFXPlay(809); + temp_r24 = 0; + temp_r25 = 0; + for(temp_f30=0; temp_f30<60.0f; temp_f30++) { + temp_f29 = spB8.y; + spB8.x += spAC.x; + spB8.z += spAC.z; + spB8.y += 10.0f + (0.9f*(-0.020416668f * temp_f30 * temp_f30)); + if(temp_f29 > spB8.y) { + temp_r25 = 1; + } + if(spB8.y <= 200.0f+spC4.y && temp_r25) { + for(temp_r27=0; temp_r27<4; temp_r27++) { + if(megaSquishObj[temp_r27]) { + temp_r28 = OM_GET_WORK_PTR(megaSquishObj[temp_r27], MegaSquishWork); + if((s16)space == GWPlayer[temp_r28->player].space_curr && temp_r28->state != 1) { + temp_r28->state = 1; + } + } + } + } + if(spB8.y <= spC4.y) { + spB8.y = spC4.y; + if(!temp_r24) { + BoardPlayerIdleSet(player); + HuAudFXPlay(810); + temp_r24 = 1; + } + + } + BoardPlayerPosSetV(player, &spB8); + HuPrcVSleep(); + } + BoardCameraQuakeSet(30, 500.0f); + omVibrate(0, 12, 4, 2); + omVibrate(1, 12, 4, 2); + omVibrate(2, 12, 4, 2); + omVibrate(3, 12, 4, 2); + BoardPlayerIdleSet(player); + HuPrcSleep(30); } -void BoardPlayerCopyEyeMat(s32 arg0, s32 arg1) -{ - HsfMaterial *var_r29; +void BoardPlayerCopyEyeMat(s32 arg0, s32 arg1) { + HsfMaterial* var_r29; s32 var_r24; s32 var_r25; u32 var_r27; - HsfAttribute *temp_r26; - char **temp_r28; - HsfData *hsfData; - HsfMaterial *material; + HsfAttribute* temp_r26; + char** temp_r28; + HsfData* hsfData; + HsfMaterial* material; ModelData *model; s16 modelId = BoardModelIDGet(BoardPlayerModelGet(arg0)); model = &Hu3DData[modelId]; @@ -3067,9 +2849,9 @@ void BoardPlayerCopyEyeMat(s32 arg0, s32 arg1) (void)temp_r28; for (var_r25 = 0; var_r25 < hsfData->materialCnt; var_r25++, material++, var_r29++) { var_r24 = 1; - + for (var_r27 = 0; var_r27 < material->numAttrs; var_r27++) { - temp_r26 = &hsfData->attribute[(s32)material->attrs[var_r27]]; + temp_r26 = &hsfData->attribute[(s32) material->attrs[var_r27]]; if ((strcmp(temp_r28[0], temp_r26->bitmap->name) == 0) || (strcmp(temp_r28[1], temp_r26->bitmap->name) == 0)) { var_r24 = 0; } @@ -3079,32 +2861,29 @@ void BoardPlayerCopyEyeMat(s32 arg0, s32 arg1) material->color[0] *= 0.0f; material->color[1] *= 0.0f; material->color[2] *= 0.0f; - } - else { + } else { material->color[0] = var_r29->color[0]; material->color[1] = var_r29->color[1]; material->color[2] = var_r29->color[2]; } } } - } - else { + } else { memcpy(hsfData->material, var_r29, hsfData->materialCnt * 0x3C); } DCStoreRange(hsfData->material, hsfData->materialCnt * 0x3C); } -void BoardPlayerCopyMat(s32 arg0) -{ +void BoardPlayerCopyMat(s32 arg0) { s16 modelID; ModelData *model; - void *temp_r3; - HsfData *temp_r31; + void* temp_r3; + HsfData* temp_r31; modelID = BoardModelIDGet(BoardPlayerModelGet(arg0)); model = &Hu3DData[modelID]; temp_r31 = model->hsfData; - temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, temp_r31->materialCnt * 0x3C, MEMORY_DEFAULT_NUM); + temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, temp_r31->materialCnt * 0x3C, 0x10000000U); memcpy(temp_r3, temp_r31->material, temp_r31->materialCnt * 0x3C); playerMatCopy[arg0] = temp_r3; } diff --git a/src/game/board/roll.c b/src/game/board/roll.c index c52bd6a5..28866389 100755 --- a/src/game/board/roll.c +++ b/src/game/board/roll.c @@ -1,17 +1,16 @@ #include "game/board/roll.h" #include "game/audio.h" -#include "game/board/main.h" -#include "game/board/model.h" -#include "game/board/pause.h" -#include "game/board/player.h" -#include "game/board/tutorial.h" -#include "game/disp.h" #include "game/gamework_data.h" #include "game/hsfanim.h" #include "game/object.h" #include "game/pad.h" #include "game/process.h" #include "game/window.h" +#include "game/board/main.h" +#include "game/board/model.h" +#include "game/board/pause.h" +#include "game/board/player.h" +#include "game/board/tutorial.h" #include "ext_math.h" @@ -42,6 +41,7 @@ typedef struct { float unk08; } DiceDigitWork; + static void RollMain(void); static void DiceCreate(s32 arg0); static void DoInput(s32 arg0); @@ -83,17 +83,46 @@ static omObjData *diceObj[3] = { NULL, NULL, NULL }; static omObjData *diceDigitObj[3] = { NULL, NULL, NULL }; static s32 diceSndStatus[3] = { -1, -1, -1 }; -static HsfanimStruct00 diceEffParam = { 0x0096, { 0x00, 0x00 }, // padding? - 50.0f, 0.0f, 65.0f, { 0.0f, -0.195f, 0.0f }, 100.0f, 0.99f, 40.0f, 0.999f, 0x0004, - { { 0xFF, 0xFF, 0x20, 0xFF }, { 0xFF, 0xFF, 0x00, 0xFF }, { 0xFF, 0xFF, 0x80, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF } }, - { { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 } } }; +static HsfanimStruct00 diceEffParam = { + 0x0096, + { 0x00, 0x00 }, // padding? + 50.0f, + 0.0f, + 65.0f, + { 0.0f, -0.195f, 0.0f }, + 100.0f, + 0.99f, + 40.0f, + 0.999f, + 0x0004, + { + { 0xFF, 0xFF, 0x20, 0xFF }, + { 0xFF, 0xFF, 0x00, 0xFF }, + { 0xFF, 0xFF, 0x80, 0xFF }, + { 0xFF, 0xFF, 0xFF, 0xFF } + }, + { + { 0xFF, 0xFF, 0xFF, 0x00 }, + { 0xFF, 0xFF, 0xFF, 0x00 }, + { 0xFF, 0xFF, 0xFF, 0x00 }, + { 0xFF, 0xFF, 0xFF, 0x00 } + } +}; -static s32 diceDigitMdlTbl[10] = { DATA_MAKE_NUM(DATADIR_BOARD, 0x0C), DATA_MAKE_NUM(DATADIR_BOARD, 0x0D), DATA_MAKE_NUM(DATADIR_BOARD, 0x0E), - DATA_MAKE_NUM(DATADIR_BOARD, 0x0F), DATA_MAKE_NUM(DATADIR_BOARD, 0x10), DATA_MAKE_NUM(DATADIR_BOARD, 0x11), DATA_MAKE_NUM(DATADIR_BOARD, 0x12), - DATA_MAKE_NUM(DATADIR_BOARD, 0x13), DATA_MAKE_NUM(DATADIR_BOARD, 0x14), DATA_MAKE_NUM(DATADIR_BOARD, 0x15) }; +static s32 diceDigitMdlTbl[10] = { + 0x0007000C, + 0x0007000D, + 0x0007000E, + 0x0007000F, + 0x00070010, + 0x00070011, + 0x00070012, + 0x00070013, + 0x00070014, + 0x00070015 +}; -s32 BoardRollExec(s32 arg0) -{ +s32 BoardRollExec(s32 arg0) { rollPlayer = arg0; inputTimer = 0; numDice = 1; @@ -116,8 +145,7 @@ s32 BoardRollExec(s32 arg0) if (BoardPlayerSizeGet(arg0) == 1) { diceSize = 1; maxRoll = 5; - } - else if (BoardPlayerSizeGet(arg0) == 2) { + } else if (BoardPlayerSizeGet(arg0) == 2) { diceSize = 2; maxRoll = 10; if (BoardMegaDoubleDiceCheck() != 0) { @@ -139,73 +167,7 @@ s32 BoardRollExec(s32 arg0) return destMode; } -static void RollWinCreate(s32 playerNo) -{ - float sp8[2]; - float posX; - float posY; - s32 var_r29; - s32 var_r27; - s32 temp_r25; - - if (!_CheckFlag(FLAG_ID_MAKE(1, 11))) { - var_r27 = BoardPlayerItemCount(playerNo); - if (GWTeamGet()) { - temp_r25 = BoardPlayerSameTeamFind(playerNo); - var_r27 += BoardPlayerItemCount(temp_r25); - } - if (BoardItemPrevGet() != -1 || var_r27 == 0 || _CheckFlag(FLAG_ID_MAKE(1, 9)) || BoardMegaDoubleDiceCheck()) { - var_r29 = MAKE_MESSID(0x09, 0x04); - } - else { - var_r29 = MAKE_MESSID(0x09, 0x02); - } - if (inputTimer != 0) { - var_r29 = MAKE_MESSID(0x30, 0x25); - } - HuWinMesMaxSizeGet(1, sp8, var_r29); - #if VERSION_PAL - posY = HU_DISP_HEIGHT - 176; - switch (GWGameStat.language) { - case 0: - case 4: - posX = -10000.0f; - break; - - case 3: - posX = HU_DISP_CENTERX - (sp8[0] / 2 - 32.0f); - break; - - case 5: - posX = HU_DISP_CENTERX - (sp8[0] / 2 - 16.0f); - posY = 258; - break; - - default: - posX = HU_DISP_CENTERX - (sp8[0] / 2 - 16.0f); - break; - } - #else - switch (GWGameStat.language) { - case 0: - posX = -10000.0f; - break; - case 1: - posX = HU_DISP_CENTERX - (sp8[0] / 2 - 16.0f); - break; - } - posY = HU_DISP_HEIGHT - 176; - #endif - - rollWin = HuWinCreate(posX, posY, sp8[0], sp8[1], 0); - HuWinBGTPLvlSet(rollWin, 0.0f); - HuWinMesSpeedSet(rollWin, 0); - HuWinMesSet(rollWin, var_r29); - } -} - -void BoardRollKill(void) -{ +void BoardRollKill(void) { if (rollProc) { HuPrcKill(rollProc); } @@ -213,8 +175,7 @@ void BoardRollKill(void) DiceKill(); } -void BoardRollUPauseSet(s32 arg0) -{ +void BoardRollUPauseSet(s32 arg0) { if (!rollProc) { return; } @@ -227,26 +188,27 @@ void BoardRollUPauseSet(s32 arg0) DiceHideEffect(2, arg0); } -void BoardRollWinDispSet(s32 arg0) -{ +void BoardRollWinDispSet(s32 arg0) { if (rollWin == -1) { return; } if (arg0 != 0) { HuWinDispOn(rollWin); - } - else { + } else { HuWinDispOff(rollWin); } } -static void RollMain(void) -{ - +static void RollMain(void) { + float sp8[2]; + float var_f31; + float var_f30; s32 var_r28; - + s32 var_r27; + s32 temp_r26; + s32 temp_r25; s32 var_r30; - + s32 var_r29; s32 i; diceValue[0] = diceValue[1] = diceValue[2] = 0; @@ -256,7 +218,36 @@ static void RollMain(void) BoardCameraMotionWait(); BoardCameraTargetModelSet(-1); for (i = 0; i < numDice; i++) { - RollWinCreate(rollPlayer); + temp_r26 = rollPlayer; + if (!_CheckFlag(FLAG_ID_MAKE(1, 11))) { + var_r27 = BoardPlayerItemCount(temp_r26); + if (GWTeamGet()) { + temp_r25 = BoardPlayerSameTeamFind(temp_r26); + var_r27 += BoardPlayerItemCount(temp_r25); + } + if (BoardItemPrevGet() != -1 || var_r27 == 0 || _CheckFlag(FLAG_ID_MAKE(1, 9)) || BoardMegaDoubleDiceCheck()) { + var_r29 = 0x90004; + } else { + var_r29 = 0x90002; + } + if (inputTimer != 0) { + var_r29 = 0x300025; + } + HuWinMesMaxSizeGet(1, sp8, var_r29); + switch (GWGameStat.language) { + case 0: + var_f31 = -10000.0f; + break; + case 1: + var_f31 = 288.0f - (sp8[0] / 2 - 16.0f); + break; + } + var_f30 = 304.0f; + rollWin = HuWinCreate(var_f31, var_f30, sp8[0], sp8[1], 0); + HuWinBGTPLvlSet(rollWin, 0.0f); + HuWinMesSpeedSet(rollWin, 0); + HuWinMesSet(rollWin, var_r29); + } DiceCreate(i); DiceWaitFull(i); DoInput(i); @@ -314,16 +305,19 @@ static void RollMain(void) HuPrcEnd(); } -static void DiceCreate(s32 arg0) -{ +static void DiceCreate(s32 arg0) { Vec sp1C; float temp_f30; float var_f31; omObjData *temp_r31; DiceWork *temp_r30; s32 sp8; - s32 spC[4] = { DATA_MAKE_NUM(DATADIR_BOARD, 0x18), DATA_MAKE_NUM(DATADIR_BOARD, 0x19), DATA_MAKE_NUM(DATADIR_BOARD, 0x1A), - DATA_MAKE_NUM(DATADIR_BOARD, 0x1B) }; + s32 spC[4] = { + 0x00070018, + 0x00070019, + 0x0007001A, + 0x0007001B + }; sp8 = 0; diceMdl[arg0] = BoardModelCreate(spC[diceSize], NULL, 0); @@ -347,8 +341,7 @@ static void DiceCreate(s32 arg0) var_f31 = 250.0f; if (diceSize == 2) { var_f31 = 625.0f; - } - else if (GWPlayer[rollPlayer].bowser_suit != 0) { + } else if (GWPlayer[rollPlayer].bowser_suit != 0) { var_f31 = 575.0f; } sp1C.y += var_f31; @@ -361,8 +354,7 @@ static void DiceCreate(s32 arg0) sp1C.z += 70.0f; } -static void DoInput(s32 arg0) -{ +static void DoInput(s32 arg0) { s32 var_r31; s32 var_r30; u16 sp8[1]; @@ -400,8 +392,7 @@ static void DoInput(s32 arg0) if (_CheckFlag(FLAG_ID_MAKE(1, 9)) && GWBoardGet() == BOARD_ID_MAIN6 && *sp8 == 0x200 && var_r31 != 0) { HuAudFXPlay(4); } - } - else if (*sp8 == 0x200) { + } else if (*sp8 == 0x200) { destMode = -2; HuAudFXPlay(3); BoardPauseDisableSet(1); @@ -411,8 +402,7 @@ static void DoInput(s32 arg0) } } -static void DiceWaitFull(s32 arg0) -{ +static void DiceWaitFull(s32 arg0) { DiceWork *temp_r31 = OM_GET_WORK_PTR(diceObj[arg0], DiceWork); while (temp_r31->unk00_field2 != 1) { @@ -420,22 +410,20 @@ static void DiceWaitFull(s32 arg0) } } -static void DiceSetHit(s32 arg0) -{ +static void DiceSetHit(s32 arg0) { DiceWork *temp_r30 = OM_GET_WORK_PTR(diceObj[arg0], DiceWork); temp_r30->unk00_field2 = 2; temp_r30->unk04 = 0; BoardModelMotionSpeedSet(diceMdl[arg0], 0.0f); - diceValue[arg0] = (s32)BoardModelMotionTimeGet(diceMdl[arg0]) + 1; + diceValue[arg0] = (s32) BoardModelMotionTimeGet(diceMdl[arg0]) + 1; if (tutorialRollF != 0 && tutorialRoll[arg0] != -1) { BoardModelMotionTimeSet(diceMdl[arg0], tutorialRoll[arg0] - 1); diceValue[arg0] = tutorialRoll[arg0]; } } -static void RollDestroy(void) -{ +static void RollDestroy(void) { if (rollWin != -1) { HuWinKill(rollWin); rollWin = -1; @@ -449,8 +437,7 @@ static void RollDestroy(void) rollProc = NULL; } -static void DiceMain(omObjData *arg0) -{ +static void DiceMain(omObjData *arg0) { DiceWork *temp_r29 = OM_GET_WORK_PTR(arg0, DiceWork); float temp_f29; float var_f28; @@ -482,8 +469,7 @@ static void DiceMain(omObjData *arg0) temp_r29->unk00_field2 = 1; arg0->scale.x = arg0->scale.y = arg0->scale.z = 1.0f; arg0->rot.y = temp_r29->unk04 = 0; - } - else { + } else { if (temp_r29->unk04 == 0 && diceSndStatus[temp_r29->unk00_field3] == -1) { diceSndStatus[temp_r29->unk00_field3] = HuAudFXPlay(0x300); } @@ -492,19 +478,17 @@ static void DiceMain(omObjData *arg0) if (temp_r29->unk04 < 0xB4) { var_f27 = 0.0f; var_f28 = 1.0f; - } - else { + } else { var_f27 = 1.0f; var_f28 = 0.5f; } - arg0->scale.x = var_f27 + var_f28 * sind((float)(temp_r29->unk04 % 180)); + arg0->scale.x = var_f27 + var_f28 * sind((float) (temp_r29->unk04 % 180)); arg0->scale.y = arg0->scale.x; arg0->scale.z = arg0->scale.x; if (temp_r29->unk04 <= 360) { if (temp_r29->unk04 < 0xB4) { temp_r29->unk04 += 6; - } - else { + } else { temp_r29->unk04 += 0x12; } if (temp_r29->unk04 > 360) { @@ -536,16 +520,14 @@ static void DiceMain(omObjData *arg0) diceEff[temp_r29->unk00_field3] = BoardDiceEffectCreate(); Hu3DParManPosSet(diceEff[temp_r29->unk00_field3], arg0->trans.x, arg0->trans.y, arg0->trans.z); BoardModelVisibilitySet(diceMdl[temp_r29->unk00_field3], 0); - } - else { + } else { OSs16tof32(&temp_r29->unk04, &temp_f29); if (temp_r29->unk04 < 4) { arg0->trans.y += 10.0f + (0.5f * temp_f29); arg0->scale.x += 0.1f * sind(4.0f * temp_f29); arg0->scale.y = arg0->scale.x; arg0->scale.z = arg0->scale.x; - } - else { + } else { BoardModelAlphaSet(diceMdl[temp_r29->unk00_field3], 0xFF - (temp_r29->unk04 << 5)); } arg0->trans.y += -0.49f * temp_f29 * temp_f29; @@ -573,8 +555,7 @@ static void DiceMain(omObjData *arg0) BoardModelScaleSet(diceMdl[temp_r29->unk00_field3], arg0->scale.x, arg0->scale.y, arg0->scale.z); } -static void DicePause(s32 arg0) -{ +static void DicePause(s32 arg0) { omObjData *temp_r31 = diceObj[arg0]; if (temp_r31) { @@ -582,21 +563,19 @@ static void DicePause(s32 arg0) } } -static void DicePauseAll(void) -{ +static void DicePauseAll(void) { DicePause(0); DicePause(1); DicePause(2); } -s16 BoardDiceEffectCreate(void) -{ +s16 BoardDiceEffectCreate(void) { s16 temp_r31; s16 temp_r30; AnimData *temp_r29; void *temp_r28; - temp_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_BOARD, 0x6B), MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r28 = HuDataSelHeapReadNum(0x7006B, MEMORY_DEFAULT_NUM, HEAP_DATA); temp_r29 = HuSprAnimRead(temp_r28); temp_r31 = Hu3DParManCreate(temp_r29, 0x64, &diceEffParam); Hu3DParManAttrSet(temp_r31, 0x108); @@ -609,8 +588,7 @@ s16 BoardDiceEffectCreate(void) return temp_r31; } -static void DiceHideEffect(s32 arg0, s32 arg1) -{ +static void DiceHideEffect(s32 arg0, s32 arg1) { s16 temp_r31; if (diceEff[arg0] == -1) { @@ -618,15 +596,13 @@ static void DiceHideEffect(s32 arg0, s32 arg1) } temp_r31 = Hu3DParManModelIDGet(diceEff[arg0]); if (arg1 != 0) { - Hu3DModelAttrReset(temp_r31, HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrSet(temp_r31, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(temp_r31, 1); + } else { + Hu3DModelAttrSet(temp_r31, 1); } } -void BoardDicePauseAll(void) -{ +void BoardDicePauseAll(void) { DiceDigitWork *temp_r30; s32 i; @@ -640,8 +616,7 @@ void BoardDicePauseAll(void) } } -BOOL BoardDiceDoneCheck(void) -{ +BOOL BoardDiceDoneCheck(void) { DiceDigitWork *temp_r30; s32 i; @@ -656,8 +631,7 @@ BOOL BoardDiceDoneCheck(void) return TRUE; } -void BoardDiceStop(s32 arg0) -{ +void BoardDiceStop(s32 arg0) { DiceDigitWork *temp_r31; if (!diceDigitObj[arg0]) { @@ -667,8 +641,7 @@ void BoardDiceStop(s32 arg0) temp_r31->unk00_field0 = 1; } -void BoardDiceVisibleSet(s32 arg0, s32 arg1) -{ +void BoardDiceVisibleSet(s32 arg0, s32 arg1) { DiceDigitWork *temp_r31; if (!diceDigitObj[arg0]) { @@ -677,15 +650,13 @@ void BoardDiceVisibleSet(s32 arg0, s32 arg1) temp_r31 = OM_GET_WORK_PTR(diceDigitObj[arg0], DiceDigitWork); if ((temp_r31->unk01 / 10) == 0) { BoardModelVisibilitySet(temp_r31->unk04[1], 0); - } - else { + } else { BoardModelVisibilitySet(temp_r31->unk04[1], arg1); } BoardModelVisibilitySet(temp_r31->unk04[0], arg1); } -void BoardDiceValueSet(s32 arg0, s32 arg1) -{ +void BoardDiceValueSet(s32 arg0, s32 arg1) { omObjData *temp_r27; DiceDigitWork *temp_r31; Vec spC; @@ -724,8 +695,7 @@ void BoardDiceValueSet(s32 arg0, s32 arg1) diceDigitObj[arg0] = temp_r27; } -static void DiceDigitMain(omObjData *arg0) -{ +static void DiceDigitMain(omObjData *arg0) { DiceDigitWork *temp_r31 = OM_GET_WORK_PTR(arg0, DiceDigitWork); if (temp_r31->unk00_field0 != 0 || BoardIsKill()) { @@ -738,8 +708,7 @@ static void DiceDigitMain(omObjData *arg0) DiceDigitRotate(temp_r31, temp_r31->unk00_field1); } -static void DiceDigitKill(DiceDigitWork *arg0) -{ +static void DiceDigitKill(DiceDigitWork *arg0) { s32 i; for (i = 0; i < 2; i++) { @@ -749,8 +718,7 @@ static void DiceDigitKill(DiceDigitWork *arg0) } } -static void DiceKill(void) -{ +static void DiceKill(void) { DiceDigitWork *temp_r29; s32 i; @@ -762,18 +730,22 @@ static void DiceKill(void) } } -static void DiceDigitMove(DiceDigitWork *arg0, s32 arg1) -{ +static void DiceDigitMove(DiceDigitWork *arg0, s32 arg1) { s32 sp8 = 0; Vec sp30; Vec sp24; Vec sp54[2]; - Vec sp18 = { (HU_DISP_WIDTH / 2), (HU_DISP_HEIGHT * 155) / 480, 240.0f }; - Vec sp3C[2] - = { { (HU_DISP_WIDTH * 1) / 4, (HU_DISP_HEIGHT * 155) / 480, 240.0f }, { (HU_DISP_WIDTH * 3) / 4, (HU_DISP_HEIGHT * 155) / 480, 240.0f } }; - Vec sp6C[3] = { { (HU_DISP_WIDTH * 1) / 4, (HU_DISP_HEIGHT * 155) / 480, 240.0f }, - { (HU_DISP_WIDTH * 3) / 4, (HU_DISP_HEIGHT * 155) / 480, 240.0f }, { (HU_DISP_WIDTH / 2), (HU_DISP_HEIGHT * 155) / 480, 240.0f } }; - Vec spC = { (HU_DISP_WIDTH / 2), (HU_DISP_HEIGHT * 176) / 480, 240.0f }; + Vec sp18 = { 288.0f, 155.0f, 240.0f }; + Vec sp3C[2] = { + { 144.0f, 155.0f, 240.0f }, + { 432.0f, 155.0f, 240.0f } + }; + Vec sp6C[3] = { + { 144.0f, 155.0f, 240.0f }, + { 432.0f, 155.0f, 240.0f }, + { 288.0f, 155.0f, 240.0f } + }; + Vec spC = { 288.0f, 176.0f, 240.0f }; Vec *var_r29; float var_f31; s16 var_r27; @@ -783,8 +755,7 @@ static void DiceDigitMove(DiceDigitWork *arg0, s32 arg1) if (arg1 != 0) { var_r29 = &spC; var_f31 = -20.0f * arg0->unk00_field3; - } - else { + } else { switch (numDice) { case 1: var_r29 = &sp18; @@ -801,11 +772,9 @@ static void DiceDigitMove(DiceDigitWork *arg0, s32 arg1) for (i = 0; i < 2; i++) { if (var_r27 == 0) { sp54[i].x = var_r29->x; - } - else if (i != 0) { + } else if (i != 0) { sp54[i].x = var_r29->x - 30.0f; - } - else { + } else { sp54[i].x = var_r29->x + 30.0f; } sp54[i].y = var_r29->y; @@ -814,24 +783,22 @@ static void DiceDigitMove(DiceDigitWork *arg0, s32 arg1) for (i = 0; i < 2; i++) { BoardModelPosGet(arg0->unk04[i], &sp30); Hu3D2Dto3D(&sp54[i], 1, &sp54[i]); - VECSubtract(&sp54[i], &sp30, &sp24); - if (VECMag(&sp24) < 0.01f) { + PSVECSubtract(&sp54[i], &sp30, &sp24); + if (PSVECMag(&sp24) < 0.01f) { arg0->unk00_field2 = 0; if (arg1 != 0 && arg0->unk00_field3 != 0) { BoardModelVisibilitySet(arg0->unk04[i], 0); } - } - else { + } else { arg0->unk00_field2 = 1; } - VECScale(&sp24, &sp24, arg0->unk08); - VECAdd(&sp30, &sp24, &sp30); + PSVECScale(&sp24, &sp24, arg0->unk08); + PSVECAdd(&sp30, &sp24, &sp30); BoardModelPosSetV(arg0->unk04[i], &sp30); } } -static void DiceDigitRotate(DiceDigitWork *arg0, s32 arg1) -{ +static void DiceDigitRotate(DiceDigitWork *arg0, s32 arg1) { float var_f30; s32 i; @@ -840,8 +807,7 @@ static void DiceDigitRotate(DiceDigitWork *arg0, s32 arg1) if (arg0->unk02 >= 360) { arg0->unk02 = 360; } - } - else { + } else { arg0->unk02 -= 0x12; if (arg0->unk02 <= 0) { arg0->unk02 = 0; @@ -855,8 +821,7 @@ static void DiceDigitRotate(DiceDigitWork *arg0, s32 arg1) } } -static void SameRollExec(void) -{ +static void SameRollExec(void) { Vec sp8; float var_f31; s32 var_r28; @@ -872,8 +837,7 @@ static void SameRollExec(void) case 2: if (diceValue[0] == 7) { var_r31 = 0x1E; - } - else { + } else { var_r31 = 0xA; } break; @@ -881,11 +845,9 @@ static void SameRollExec(void) if (diceValue[0] == 7) { var_r31 = 0x32; var_r28 = 0x118; - } - else if (diceValue[0] & 1) { + } else if (diceValue[0] & 1) { var_r31 = 0x1E; - } - else { + } else { var_r31 = 0xA; } break; @@ -897,8 +859,7 @@ static void SameRollExec(void) if (BoardPlayerSizeGet(rollPlayer) == 2 || GWPlayer[rollPlayer].bowser_suit != 0) { sp8.y += 700.0f; var_f31 = 450.0f; - } - else { + } else { sp8.y += 600.0f; var_f31 = 300.0f; } @@ -916,11 +877,9 @@ static void SameRollExec(void) BoardWinKill(); if (var_r31 >= 0x32) { var_r29 = 1; - } - else if (var_r31 >= 0x14) { + } else if (var_r31 >= 0x14) { var_r29 = 3; - } - else { + } else { var_r29 = 6; } for (i = 0; i < var_r31; i++) { @@ -933,8 +892,7 @@ static void SameRollExec(void) BoardPauseDisableSet(0); } -static s32 GetBtnRoll(s32 arg0) -{ +static s32 GetBtnRoll(s32 arg0) { s32 var_r31 = 0; s32 var_r29; @@ -958,8 +916,7 @@ static s32 GetBtnRoll(s32 arg0) return var_r31; } -static s32 GetComBtnRoll(s32 arg0) -{ +static s32 GetComBtnRoll(s32 arg0) { if (BoardItemPrevGet() != -1 || BoardPlayerItemCount(arg0) == 0 || BoardMegaDoubleDiceCheck() || _CheckFlag(FLAG_ID_MAKE(1, 9))) { return 0x100; } @@ -969,8 +926,7 @@ static s32 GetComBtnRoll(s32 arg0) return 0x100; } -void BoardRollTutorialSet(s16 *arg0) -{ +void BoardRollTutorialSet(s16 *arg0) { s32 i; for (i = 0; i < 3; i++) { diff --git a/src/game/board/shop.c b/src/game/board/shop.c index 47b332c3..814e5b1a 100755 --- a/src/game/board/shop.c +++ b/src/game/board/shop.c @@ -4,7 +4,6 @@ #include "game/gamework_data.h" #include "game/object.h" #include "game/objsub.h" -#include "game/disp.h" #include "game/pad.h" #include "game/process.h" #include "game/sprite.h" @@ -115,16 +114,19 @@ static s8 defaultItemTbl[5] = { 0x05, 0x07, 0x02, 0x03, 0x00 }; +//mod: extend for custom board static s32 hostMessTbl[] = { - MAKE_MESSID(0x0F, 0x04), - MAKE_MESSID(0x0F, 0x07), - MAKE_MESSID(0x0F, 0x0A), - MAKE_MESSID(0x0F, 0x0D), - MAKE_MESSID(0x0F, 0x10), - MAKE_MESSID(0x0F, 0x13), - MAKE_MESSID(0x0F, 0x04), - MAKE_MESSID(0x0F, 0x24), - MAKE_MESSID(0x0F, 0x24) + 0x000F0004, + 0x000F0007, + 0x000F000A, + 0x000F000D, + 0x000F0010, + 0x000F0013, + 0x000F0004, + 0x000F0024, + 0x000F0024, + //Mod TODO: fix for custom board data + 0x000F0024 }; static s8 itemPriceTbl[] = { @@ -134,16 +136,20 @@ static s8 itemPriceTbl[] = { 30, 30, 0, 0 }; -static s32 shopMotTbl[9][3] = { - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x01), DATA_MAKE_NUM(DATADIR_BGUEST, 0x03), DATA_MAKE_NUM(DATADIR_BGUEST, 0x04) }, - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x09), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0B), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0C) }, - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x0E), DATA_MAKE_NUM(DATADIR_BGUEST, 0x10), DATA_MAKE_NUM(DATADIR_BGUEST, 0x11) }, - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x18), DATA_MAKE_NUM(DATADIR_BGUEST, 0x1A), DATA_MAKE_NUM(DATADIR_BGUEST, 0x1B) }, - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x1D), DATA_MAKE_NUM(DATADIR_BGUEST, 0x1F), DATA_MAKE_NUM(DATADIR_BGUEST, 0x20) }, - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x22), DATA_MAKE_NUM(DATADIR_BGUEST, 0x24), DATA_MAKE_NUM(DATADIR_BGUEST, 0x25) }, - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x09), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0B), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0C) }, - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x2A), DATA_MAKE_NUM(DATADIR_BGUEST, 0x2C), DATA_MAKE_NUM(DATADIR_BGUEST, 0x2D) }, - { DATA_MAKE_NUM(DATADIR_BGUEST, 0x2A), DATA_MAKE_NUM(DATADIR_BGUEST, 0x2C), DATA_MAKE_NUM(DATADIR_BGUEST, 0x2D) } +//mod: extend for custom data +static s32 shopMotTbl[10][3] = { + { 0x00020001, 0x00020003, 0x00020004 }, + { 0x00020009, 0x0002000B, 0x0002000C }, + { 0x0002000E, 0x00020010, 0x00020011 }, + { 0x00020018, 0x0002001A, 0x0002001B }, + { 0x0002001D, 0x0002001F, 0x00020020 }, + { 0x00020022, 0x00020024, 0x00020025 }, + { 0x00020009, 0x0002000B, 0x0002000C }, + { 0x0002002A, 0x0002002C, 0x0002002D }, + { 0x0002002A, 0x0002002C, 0x0002002D }, + + //Mod TODO: fix for custom data + { 0x0002002A, 0x0002002C, 0x0002002D } }; void BoardShopHostSet(s16 arg0) { @@ -235,13 +241,13 @@ static void ExecShop(void) { BoardPlayerIdleSet(shopPlayer); var_r30 = 0; if (BoardPlayerCoinsGet(shopPlayer) < 5) { - var_r30 = MAKE_MESSID(15, 3); + var_r30 = 0xF0003; } if (BoardPlayerItemCount(shopPlayer) == 3) { - var_r30 = MAKE_MESSID(15, 2); + var_r30 = 0xF0002; } if (GWSystem.turn == GWSystem.max_turn) { - var_r30 = MAKE_MESSID(15, 1); + var_r30 = 0xF0001; } if (var_r30 != 0) { BoardWinCreate(0, var_r30, -1); @@ -261,8 +267,8 @@ static void ExecShop(void) { temp_r25 = BoardSpaceLinkFlagSearch(0, temp_r28, 0x02000000); BoardSpacePosGet(0, temp_r28, &sp38); BoardSpacePosGet(0, temp_r25, &sp2C); - VECSubtract(&sp2C, &sp38, &sp20); - VECNormalize(&sp20, &sp20); + PSVECSubtract(&sp2C, &sp38, &sp20); + PSVECNormalize(&sp20, &sp20); temp_f31 = atan2d(-sp20.x, -sp20.z); sp14.x = -10.0f; sp14.y = temp_f31; @@ -274,7 +280,7 @@ static void ExecShop(void) { HuAudFXPlay(0x330); HuAudFXPlay(0x32D); PopupShop(); - BoardModelMotionShiftSet(BoardShopHostGet(), shopMot[2], 0.0f, 4.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(BoardShopHostGet(), shopMot[2], 0.0f, 4.0f, 0); HuPrcSleep(4); BoardPlayerRotSet(shopPlayer, 0.0f, temp_f31, 0.0f); BoardPlayerMoveBetween(shopPlayer, temp_r28, temp_r25); @@ -308,7 +314,7 @@ static void ExecShop(void) { BoardWinCreate(1, hostMessTbl[temp_r27] + 2, temp_r26); BoardWinPriSet(1000); for (i = 0; i < 5; i++) { - var_r30 = MAKE_MESSID(15, activeItemTbl[i]); + var_r30 = activeItemTbl[i] + 0xF0000; var_r30 += 0x16; BoardWinInsertMesSet(var_r30, i); var_r29 = itemPriceTbl[activeItemTbl[i]]; @@ -367,7 +373,7 @@ static void ExecShop(void) { if (activeItemTbl[itemCurChoice] != 0xD) { BoardPlayerItemAdd(shopPlayer, activeItemTbl[itemCurChoice]); } - BoardPlayerMotionShiftSet(shopPlayer, 0xC, 0.0f, 4.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(shopPlayer, 0xC, 0.0f, 4.0f, 0); HuPrcSleep(5); BoardPlayerMotionEndWait(shopPlayer); HuPrcSleep(15); @@ -376,7 +382,7 @@ static void ExecShop(void) { } BoardAudSeqFadeOut(1, 1000); BoardModelVisibilitySet(itemMdl, 0); - BoardModelMotionShiftSet(BoardShopHostGet(), shopMot[1], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(BoardShopHostGet(), shopMot[1], 0.0f, 10.0f, 0x40000001); BoardStatusShowSet(shopPlayer, 0); BoardCameraTargetPlayerSet(shopPlayer); BoardCameraMotionWait(); @@ -473,12 +479,12 @@ static void CreateShopWin(void) { var_r30->unk01 = 0xC; var_r30->unk04 = 0; shopWinObj = var_r31; - var_r30->unk06 = HuWinCreate(36.0f, HU_DISP_HEIGHT-136, 0x1F8, 0x60, 0); + var_r30->unk06 = HuWinCreate(36.0f, 344.0f, 0x1F8, 0x60, 0); HuWinMesSpeedSet(var_r30->unk06, 0); HuWinDrawNoSet(var_r30->unk06, 0x40); HuWinExAnimIn(var_r30->unk06); sp8.x = 84.0f; - sp8.y = HU_DISP_HEIGHT-88; + sp8.y = 392.0f; sp8.z = 400.0f; var_r31->scale.x = var_r31->scale.y = var_r31->scale.z = 0.25f; Hu3D2Dto3D(&sp8, 1, &sp8); @@ -984,12 +990,7 @@ static void CreateShopItemChoice(s32 arg0, s32 arg1) { omObjData *temp_r30; ItemChoiceWork *var_r31; s16 spC; - s16 i; - #if VERSION_PAL - for(i=0; i<6; i++) { - cursorPosTbl[i][0] = 190; - } - #endif + temp_r30 = omAddObjEx(boardObjMan, 0x7E01, 0, 0, -1, UpdateShopItemChoice); itemChoiceObj = temp_r30; itemChoice = -1; @@ -1001,33 +1002,15 @@ static void CreateShopItemChoice(s32 arg0, s32 arg1) { var_r31->unk02 = 0; var_r31->unk03 = arg1; var_r31->unk06 = HuSprGrpCreate(1); - #if VERSION_PAL - if (GWLanguageGet() != 0) { - s16 winId = BoardWinIDGet(); - if(winId != -1) { - WindowData *winP = &winData[winId]; - for(i=0; i<6; i++) { - cursorPosTbl[i][0] = winP->pos_x+96; - } - } else { - for(i=0; i<6; i++) { - cursorPosTbl[i][0] = 166; - } - } - } - temp_r30->trans.x = cursorPosTbl[0][0]; - temp_r30->trans.y = cursorPosTbl[0][1]; - #else temp_r30->trans.x = cursorPosTbl[0][0]; temp_r30->trans.y = cursorPosTbl[0][1]; if (GWLanguageGet() != 0) { temp_r30->trans.x -= 24.0f; } - #endif if (GWPlayer[arg0].com) { var_r31->unk01 = GWMessDelayGet(); } - BoardSpriteCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x55), 0x3DE, NULL, &spC); + BoardSpriteCreate(0x70055, 0x3DE, NULL, &spC); HuSprGrpMemberSet(var_r31->unk06, 0, spC); HuSprAttrSet(var_r31->unk06, 0, 8); HuSprPosSet(var_r31->unk06, 0, temp_r30->trans.x, temp_r30->trans.y); @@ -1055,11 +1038,9 @@ static void MoveShopItemChoice(omObjData *arg0, ItemChoiceWork *arg1) { temp_r28 = arg1->unk02; arg0->trans.x = cursorPosTbl[arg1->unk02][0]; arg0->trans.y = cursorPosTbl[arg1->unk02][1]; - #if VERSION_NTSC if (GWLanguageGet() != 0) { arg0->trans.x -= 24.0f; } - #endif if (GWPlayer[arg1->unk00_field1].com) { GetShopItemChoiceInput(arg1, arg0, &sp8); } else { @@ -1161,8 +1142,8 @@ void BoardShopTutorialExec(s32 arg0) { temp_r27 = BoardSpaceLinkFlagSearch(0, arg0, 0x02000000); BoardSpacePosGet(0, arg0, &sp48); BoardSpacePosGet(0, temp_r27, &sp3C); - VECSubtract(&sp3C, &sp48, &sp30); - VECNormalize(&sp30, &sp30); + PSVECSubtract(&sp3C, &sp48, &sp30); + PSVECNormalize(&sp30, &sp30); temp_f31 = atan2d(-sp30.x, -sp30.z); sp24.x = -10.0f; sp24.y = temp_f31; @@ -1174,14 +1155,14 @@ void BoardShopTutorialExec(s32 arg0) { HuAudFXPlay(0x330); HuAudFXPlay(0x32D); PopupShop(); - BoardModelMotionShiftSet(BoardShopHostGet(), shopMot[2], 0.0f, 4.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(BoardShopHostGet(), shopMot[2], 0.0f, 4.0f, 0); HuPrcSleep(4); while (!BoardModelMotionEndCheck(BoardShopHostGet())) { HuPrcVSleep(); } BoardModelMotionStart(BoardShopHostGet(), shopMot[0], 0x40000001); BoardTutorialHookExec(0x1C, 0); - BoardModelMotionShiftSet(BoardShopHostGet(), shopMot[1], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(BoardShopHostGet(), shopMot[1], 0.0f, 10.0f, 0x40000001); HuPrcSleep(30); CloseShop(); for (i = 0; i < 2; i++) { diff --git a/src/game/board/space.c b/src/game/board/space.c index d092af1e..7dbd86bb 100644 --- a/src/game/board/space.c +++ b/src/game/board/space.c @@ -1,30 +1,39 @@ -#include "game/board/space.h" +#include "game/gamework_data.h" +#include "game/flag.h" #include "game/board/battle.h" #include "game/board/lottery.h" #include "game/board/main.h" #include "game/board/model.h" #include "game/board/player.h" #include "game/board/shop.h" +#include "game/board/space.h" #include "game/board/star.h" #include "game/board/tutorial.h" -#include "game/data.h" -#include "game/flag.h" -#include "game/gamework_data.h" #include "game/hsfman.h" -#include "game/objsub.h" +#include "game/data.h" #include "game/sprite.h" +#include "game/objsub.h" -#include "ext_math.h" +#include "math.h" #include "string.h" + static BoardSpace spaceData[2][256]; s16 boardSpaceStarTbl[8]; static GXTexObj spaceHiliteTex; static GXTexObj spaceTex; -static s8 spaceImgIdx[12] = { 0, 1, 2, 7, 6, 5, 3, 4, 9, 10, 11, 0 }; +static s8 spaceImgIdx[12] = { + 0, 1, 2, 7, + 6, 5, 3, 4, + 9, 10, 11, 0 +}; -static s8 spaceHiliteImgIdx[12] = { -1, 0, 1, 1, 2, 2, 2, 2, -1, 3, -1, -1 }; +static s8 spaceHiliteImgIdx[12] = { + -1, 0, 1, 1, + 2, 2, 2, 2, + -1, 3, -1, -1 +}; static s16 spaceCnt[2]; static u32 spaceAttr[2]; @@ -44,737 +53,723 @@ static s16 starPlatMdl = -1; static s32 ExecPipeSpace(s32 player, s32 space); + void BoardSpaceWalkEventFuncSet(BoardSpaceEventFunc func) { - walkEventFunc = func; + walkEventFunc = func; } void BoardSpaceWalkMiniEventFuncSet(BoardSpaceEventFunc func) { - walkMiniEventFunc = func; + walkMiniEventFunc = func; } void BoardSpaceLandEventFuncSet(BoardSpaceEventFunc func) { - landEventFunc = func; + landEventFunc = func; } s32 BoardSpaceWalkEventExec(void) { - s32 ret = -1; - if (walkEventFunc) { - ret = walkEventFunc(); - } - return ret; + s32 ret = -1; + if(walkEventFunc) { + ret = walkEventFunc(); + } + return ret; } s32 BoardSpaceWalkMiniEventExec(void) { - s32 ret = -1; - if (walkMiniEventFunc) { - _SetFlag(FLAG_ID_MAKE(1, 8)); - ret = walkMiniEventFunc(); - _ClearFlag(FLAG_ID_MAKE(1, 8)); - } - return ret; + s32 ret = -1; + if(walkMiniEventFunc) { + _SetFlag(FLAG_ID_MAKE(1, 8)); + ret = walkMiniEventFunc(); + _ClearFlag(FLAG_ID_MAKE(1, 8)); + } + return ret; } s32 BoardSpaceCountGet(s32 layer) { - return spaceCnt[layer]; + return spaceCnt[layer]; } BoardSpace *BoardSpaceGet(s32 layer, s32 index) { - if (index <= 0 || index > spaceCnt[layer]) { - return NULL; - } - else { - return &spaceData[layer][index - 1]; - } + if(index <= 0 || index > spaceCnt[layer]) { + return NULL; + } else { + return &spaceData[layer][index-1]; + } } void BoardSpaceAttrSet(s32 layer, u32 attr) { - spaceAttr[layer] |= attr; + spaceAttr[layer] |= attr; } void BoardSpaceAttrReset(s32 layer, u32 attr) { - spaceAttr[layer] &= ~attr; + spaceAttr[layer] &= ~attr; } u32 BoardSpaceFlagGet(s32 layer, s32 index) { - if (index <= 0 || index > spaceCnt[layer]) { - return 0; - } - else { - return spaceData[layer][index - 1].flag; - } + if(index <= 0 || index > spaceCnt[layer]) { + return 0; + } else { + return spaceData[layer][index-1].flag; + } } s32 BoardSpaceTypeGet(s32 layer, s32 index) { - if (index <= 0 || index > spaceCnt[layer]) { - return 0; - } - else { - return spaceData[layer][index - 1].type; - } + if(index <= 0 || index > spaceCnt[layer]) { + return 0; + } else { + return spaceData[layer][index-1].type; + } } void BoardSpaceTypeSet(s32 layer, s32 index, s32 type) { - if (index <= 0 || index > spaceCnt[layer]) { - return; - } - else { - spaceData[layer][index - 1].type = type; - } + if(index <= 0 || index > spaceCnt[layer]) { + return; + } else { + spaceData[layer][index-1].type = type; + } } s32 BoardSpacePosGet(s32 layer, s32 index, Vec *pos) { - BoardSpace *space = BoardSpaceGet(layer, index); - if (!space) { - return -1; - } - else { - *pos = space->pos; - return 0; - } + BoardSpace *space = BoardSpaceGet(layer, index); + if(!space) { + return -1; + } else { + *pos = space->pos; + return 0; + } } void BoardSpaceCornerPosGet(s32 index, s32 corner, Vec *pos) { - Vec corner_ofs; - Vec rot; - s8 corner_pos[4][2] = { { -1, -1 }, { 1, -1 }, { -1, 1 }, { 1, 1 } }; - BoardSpaceRotGet(0, index, &rot); - BoardSpacePosGet(0, index, pos); - corner_ofs.x = corner_pos[corner][0] * 80.0f; - corner_ofs.y = 0; - corner_ofs.z = corner_pos[corner][1] * 80.0f; - corner_ofs.x = (cosd(rot.z) * corner_ofs.x) + (sind(rot.z) * corner_ofs.y); - corner_ofs.y = (cosd(rot.x) * cosd(rot.z) * corner_ofs.y) + (sind(rot.z) * corner_ofs.x) - + (sind(-rot.x) * corner_ofs.z); - corner_ofs.z = (sind(rot.x) * corner_ofs.y) + (cosd(rot.x) * corner_ofs.z); - pos->x += corner_ofs.x; - pos->y += corner_ofs.y; - pos->z += corner_ofs.z; + Vec corner_ofs; + Vec rot; + s8 corner_pos[4][2] = {{-1, -1}, {1, -1}, {-1, 1}, {1, 1}}; + BoardSpaceRotGet(0, index, &rot); + BoardSpacePosGet(0, index, pos); + corner_ofs.x = corner_pos[corner][0]*80.0f; + corner_ofs.y = 0; + corner_ofs.z = corner_pos[corner][1]*80.0f; + corner_ofs.x = (cos((M_PI*rot.z)/180)*corner_ofs.x)+(sin((M_PI*rot.z)/180)*corner_ofs.y); + corner_ofs.y = (cos((M_PI*rot.x)/180)*cos((M_PI*rot.z)/180)*corner_ofs.y) + +(sin((M_PI*rot.z)/180)*corner_ofs.x) + +(sin((M_PI*-rot.x)/180)*corner_ofs.z); + corner_ofs.z = (sin((M_PI*rot.x)/180)*corner_ofs.y)+(cos((M_PI*rot.x)/180)*corner_ofs.z); + pos->x += corner_ofs.x; + pos->y += corner_ofs.y; + pos->z += corner_ofs.z; } s32 BoardSpaceRotGet(s32 layer, s32 index, Vec *rot) { - BoardSpace *space = BoardSpaceGet(layer, index); - if (!space) { - return -1; - } - else { - *rot = space->rot; - return 0; - } + BoardSpace *space = BoardSpaceGet(layer, index); + if(!space) { + return -1; + } else { + *rot = space->rot; + return 0; + } } s32 BoardSpaceFlagSearch(s32 layer, u32 flag) { - s32 i; - for (i = 0; i < spaceCnt[layer]; i++) { - BoardSpace *space = &spaceData[layer][i]; - if ((space->flag & flag) == flag) { - return space - (&spaceData[layer][0]) + 1; - } - } - return -1; + s32 i; + for(i=0; iflag & flag) == flag) { + return space-(&spaceData[layer][0])+1; + } + } + return -1; } s32 BoardSpaceFlagPosGet(s32 layer, u32 flag, Vec *pos) { - s32 space = BoardSpaceFlagSearch(layer, flag); - if (space == -1) { - return -1; - } - if (pos) { - BoardSpacePosGet(layer, space, pos); - } - return space; + s32 space = BoardSpaceFlagSearch(layer, flag); + if(space == -1) { + return -1; + } + if(pos) { + BoardSpacePosGet(layer, space, pos); + } + return space; } s32 BoardSpaceLinkFlagSearch(s32 layer, s32 index, u32 flag) { - BoardSpace *link_space; - BoardSpace *space = BoardSpaceGet(layer, index); - s32 i; - if (!space) { - return -1; - } - for (i = 0; i < space->link_cnt; i++) { - link_space = BoardSpaceGet(layer, space->link[i]); - if (link_space->flag & flag) { - return link_space - &spaceData[layer][0] + 1; - } - } - return -1; + BoardSpace *link_space; + BoardSpace *space = BoardSpaceGet(layer, index); + s32 i; + if(!space) { + return -1; + } + for(i=0; ilink_cnt; i++) { + link_space = BoardSpaceGet(layer, space->link[i]); + if(link_space->flag & flag) { + return link_space-&spaceData[layer][0]+1; + } + } + return -1; } s32 BoardSpaceLinkTypeListGet(s32 layer, s32 index, s32 type, s16 *list) { - s32 count; - BoardSpace *space = BoardSpaceGet(layer, index); - s32 i; - if (!space) { - return -1; - } - for (count = i = 0; i < space->link_cnt; i++) { - BoardSpace *link_space = BoardSpaceGet(layer, space->link[i]); - if (link_space->type == type && count < BOARD_SPACE_LINKMAX) { - list[count] = link_space - &spaceData[layer][0] + 1; - count++; - } - } - return count; + s32 count; + BoardSpace *space = BoardSpaceGet(layer, index); + s32 i; + if(!space) { + return -1; + } + for(count=i=0; ilink_cnt; i++) { + BoardSpace *link_space = BoardSpaceGet(layer, space->link[i]); + if(link_space->type == type && count < BOARD_SPACE_LINKMAX) { + list[count] = link_space-&spaceData[layer][0]+1; + count++; + } + } + return count; } s32 BoardSpaceLinkTargetListGet(s32 layer, s32 target, s16 *list) { - s32 i, j; - s32 count; - BoardSpace *space; - memset(list, 0, BOARD_SPACE_LINKMAX * sizeof(s16)); - space = &spaceData[layer][0]; - for (count = i = 0; i < spaceCnt[layer]; i++, space++) { - for (j = 0; j < space->link_cnt; j++) { - if (space->link[j] == target && count < BOARD_SPACE_LINKMAX) { - list[count++] = space - &spaceData[layer][0] + 1; - } - } - } - return count; + s32 i, j; + s32 count; + BoardSpace *space; + memset(list, 0, BOARD_SPACE_LINKMAX*sizeof(s16)); + space = &spaceData[layer][0]; + for(count=i=0; ilink_cnt; j++) { + if(space->link[j] == target && count < BOARD_SPACE_LINKMAX) { + list[count++] = space-&spaceData[layer][0]+1; + } + } + } + return count; } s32 BoardSpaceLinkTypeSearch(s32 layer, s32 target, u16 type) { - s32 i; - BoardSpace *space = BoardSpaceGet(layer, target); - if (!space) { - return -1; - } - for (i = 0; i < space->link_cnt; i++) { - BoardSpace *link_space = BoardSpaceGet(layer, space->link[i]); - if (link_space->type == type) { - return space->link[i]; - } - } - return -1; + s32 i; + BoardSpace *space = BoardSpaceGet(layer, target); + if(!space) { + return -1; + } + for(i=0; ilink_cnt; i++) { + BoardSpace *link_space = BoardSpaceGet(layer, space->link[i]); + if(link_space->type == type) { + return space->link[i]; + } + } + return -1; } s32 BoardSpaceLinkTransformGet(s32 flag, Vec *pos, Vec *rot, Vec *scale) { - s32 i; - s32 space_flag = BoardSpaceFlagSearch(0, flag); - BoardSpace *space = BoardSpaceGet(0, space_flag); - - for (i = 0; i < space->link_cnt; i++) { - BoardSpace *link_space = BoardSpaceGet(0, space->link[i]); - BoardSpace *src_space; - if (!(link_space->flag & 0x2000000)) { - continue; - } - src_space = BoardSpaceGet(0, link_space->link[0]); - if (pos) { - *pos = src_space->pos; - } - if (rot) { - *rot = src_space->rot; - } - if (scale) { - *scale = src_space->scale; - } - return 0; - } - return -1; + s32 i; + s32 space_flag = BoardSpaceFlagSearch(0, flag); + BoardSpace *space = BoardSpaceGet(0, space_flag); + + for(i=0; ilink_cnt; i++) { + BoardSpace *link_space = BoardSpaceGet(0, space->link[i]); + BoardSpace *src_space; + if(!(link_space->flag & 0x2000000)) { + continue; + } + src_space = BoardSpaceGet(0, link_space->link[0]); + if(pos) { + *pos = src_space->pos; + } + if(rot) { + *rot = src_space->rot; + } + if(scale) { + *scale = src_space->scale; + } + return 0; + } + return -1; } void BoardSpaceHostSet(s32 space) { - s16 host_space; - Vec pos; - BoardSpace *space_plat; - BoardSpaceTypeSet(0, space, 8); - host_space = BoardSpaceLinkFlagSearch(0, space, 0x04000000); - BoardSpacePosGet(0, host_space, &pos); - BoardModelPosSetV(BoardStarHostMdlGet(), &pos); + s16 host_space; + Vec pos; + BoardSpace *space_plat; + BoardSpaceTypeSet(0, space, 8); + host_space = BoardSpaceLinkFlagSearch(0, space, 0x04000000); + BoardSpacePosGet(0, host_space, &pos); + BoardModelPosSetV(BoardStarHostMdlGet(), &pos); } static inline s16 StarPlatGetMdl(void) { - return starPlatMdl; + return starPlatMdl; } static inline s32 BoardStarSpaceTypeGet(s16 index) { - return BoardSpaceTypeGet(0, BoardSpaceStarGet(index)); + return BoardSpaceTypeGet(0, BoardSpaceStarGet(index)); } void BoardSpaceStarSetIndex(s32 index) { - Vec pos; - Vec rot; - s16 space; - if (_CheckFlag(FLAG_ID_MAKE(1, 1))) { - BoardSpaceTypeSet(0, boardSpaceStarTbl[GWSystem.star_pos], 1); - } - GWSystem.star_pos = index & 0x7; - BoardSpaceHostSet(BoardSpaceStarGetCurr()); - space = BoardSpaceLinkFlagSearch(0, BoardSpaceStarGetCurr(), 0x04000000); - BoardSpacePosGet(0, space, &pos); - BoardModelPosSetV(StarPlatGetMdl(), &pos); - BoardSpaceRotGet(0, space, &rot); - BoardModelRotYSet(StarPlatGetMdl(), rot.y); - BoardModelVisibilitySet(StarPlatGetMdl(), 1); + Vec pos; + Vec rot; + s16 space; + if(_CheckFlag(FLAG_ID_MAKE(1, 1))) { + BoardSpaceTypeSet(0, boardSpaceStarTbl[GWSystem.star_pos], 1); + } + GWSystem.star_pos = index & 0x7; + BoardSpaceHostSet(BoardSpaceStarGetCurr()); + space = BoardSpaceLinkFlagSearch(0, BoardSpaceStarGetCurr(), 0x04000000); + BoardSpacePosGet(0, space, &pos); + BoardModelPosSetV(StarPlatGetMdl(), &pos); + BoardSpaceRotGet(0, space, &rot); + BoardModelRotYSet(StarPlatGetMdl(), rot.y); + BoardModelVisibilitySet(StarPlatGetMdl(), 1); } s32 BoardSpaceStarGetNext(void) { - s16 random_pos; - s16 star_total; - s16 star_pos; - star_total = GWSystem.star_total; - star_pos = GWSystem.star_pos; - if (GWBoardGet() == BOARD_ID_MAIN6) { - s16 i; - s32 count; - s32 last_free; - last_free = -1; - for (count = i = 0; i < 8; i++) { - if ((1 << i) & GWSystem.star_flag) { - count++; - } - else { - last_free = i; - } - } - if (count == 7) { - if (BoardSpaceTypeGet(0, BoardSpaceStarGet(last_free)) == 10) { - GWSystem.star_flag = 0; - } - } - } -begin: - random_pos = BoardRandMod(8); - if (star_pos == random_pos || BoardStarSpaceTypeGet(random_pos) == 10) { - goto begin; - } - switch (GWSystem.board) { - case BOARD_ID_MAIN1: - if (star_total >= 2) { - break; - } - if (random_pos != 6 && random_pos != 7) { - break; - } - goto begin; - - case BOARD_ID_MAIN2: - if (star_total >= 2) { - break; - } - if (random_pos != 6 && random_pos != 7) { - break; - } - goto begin; - - case BOARD_ID_MAIN3: - if (star_total == 1) { - if (random_pos < 3 || random_pos > 5) { - break; - } - goto begin; - } - else { - if (star_total != 2) { - break; - } - if (random_pos != 3 && random_pos != 4) { - break; - } - goto begin; - } - - case BOARD_ID_MAIN4: - if (star_total == 1) { - if (random_pos < 5 || random_pos > 7) { - break; - } - goto begin; - } - else { - if (star_total != 2) { - break; - } - if (random_pos == 5) { - goto begin; - } - break; - } - - case BOARD_ID_MAIN5: - if (star_total == 1) { - if (random_pos <= 1 || random_pos >= 4) { - goto begin; - } - } - break; - - case BOARD_ID_MAIN6: - if (star_total == 1) { - if (random_pos == 1 || random_pos == 4 || random_pos == 5) { - goto begin; - } - } - if (star_total != 2) { - break; - } - if (random_pos == 5) { - goto begin; - } - } - if ((1 << random_pos) & GWSystem.star_flag) { - goto begin; - } - return random_pos; + s16 random_pos; + s16 star_total; + s16 star_pos; + star_total = GWSystem.star_total; + star_pos = GWSystem.star_pos; + if(GWBoardGet() == BOARD_ID_MAIN6) { + s16 i; + s32 count; + s32 last_free; + last_free = -1; + for(count=i=0; i<8; i++) { + if((1 << i) & GWSystem.star_flag) { + count++; + } else { + last_free = i; + } + } + if(count == 7) { + if(BoardSpaceTypeGet(0, BoardSpaceStarGet(last_free)) == 10) { + GWSystem.star_flag = 0; + } + } + } + begin: + random_pos = BoardRandMod(8); + if(star_pos == random_pos || BoardStarSpaceTypeGet(random_pos) == 10) { + goto begin; + } + switch(GWSystem.board) { + case BOARD_ID_MAIN1: + if(star_total >= 2) { + break; + } + if(random_pos != 6 && random_pos != 7) { + break; + } + goto begin; + + case BOARD_ID_MAIN2: + if(star_total >= 2) { + break; + } + if(random_pos != 6 && random_pos != 7) { + break; + } + goto begin; + + case BOARD_ID_MAIN3: + if(star_total == 1) { + if(random_pos < 3 || random_pos > 5) { + break; + } + goto begin; + } else { + if(star_total != 2) { + break; + } + if(random_pos != 3 && random_pos != 4) { + break; + } + goto begin; + } + + case BOARD_ID_MAIN4: + if(star_total == 1) { + if(random_pos < 5 || random_pos > 7) { + break; + } + goto begin; + } else { + if(star_total != 2) { + break; + } + if(random_pos == 5) { + goto begin; + } + break; + } + + case BOARD_ID_MAIN5: + if(star_total == 1) { + if(random_pos <= 1 || random_pos >= 4) { + goto begin; + } + } + break; + + case BOARD_ID_MAIN6: + if(star_total == 1) { + if(random_pos == 1 || random_pos == 4 || random_pos == 5) { + goto begin; + } + } + if(star_total != 2) { + break; + } + if(random_pos == 5) { + goto begin; + } + } + if((1 << random_pos) & GWSystem.star_flag) { + goto begin; + } + return random_pos; } s32 BoardSpaceStarGetRandom(s32 excl_pos) { - s8 new_pos; - int i; - for (i = 0; i < 1024; i++) { - new_pos = BoardRandMod(8); - if (new_pos == GWSystem.star_pos) { - continue; - } - if (GWSystem.turn == 1 && new_pos <= 2) { - continue; - } - if (new_pos != excl_pos) { - break; - } - } - return new_pos; + s8 new_pos; + int i; + for(i=0; i<1024; i++) { + new_pos = BoardRandMod(8); + if(new_pos == GWSystem.star_pos) { + continue; + } + if(GWSystem.turn == 1 && new_pos <= 2) { + continue; + } + if(new_pos != excl_pos) { + break; + } + } + return new_pos; } void BoardSpaceStarMove(void) { - u8 star_total; - s16 star_pos; - s16 star_next; - if (_CheckFlag(FLAG_ID_MAKE(1, 1))) { - star_pos = GWSystem.star_pos; - GWSystem.star_flag |= (u8)(1 << star_pos); - if (GWSystem.star_flag == 0xFF) { - GWSystem.star_flag = 0; - } - if (GWSystem.star_total >= 99) { - star_total = 99; - GWSystem.star_total = star_total; - } - else { - star_total = GWSystem.star_total++; - } - } - star_next = BoardSpaceStarGetNext(); - BoardSpaceStarSetIndex(star_next); + u8 star_total; + s16 star_pos; + s16 star_next; + if(_CheckFlag(FLAG_ID_MAKE(1, 1))) { + star_pos = GWSystem.star_pos; + GWSystem.star_flag |= (u8)(1 << star_pos); + if(GWSystem.star_flag == 0xFF) { + GWSystem.star_flag = 0; + } + if(GWSystem.star_total >= 99) { + star_total = 99; + GWSystem.star_total = star_total; + } else { + star_total = GWSystem.star_total++; + } + } + star_next = BoardSpaceStarGetNext(); + BoardSpaceStarSetIndex(star_next); } s32 BoardSpaceStarGet(s32 index) { - return boardSpaceStarTbl[index & 0x7]; + return boardSpaceStarTbl[index & 0x7]; } s32 BoardSpaceStarGetCurr(void) { - return BoardSpaceStarGet(GWSystem.star_pos); + return BoardSpaceStarGet(GWSystem.star_pos); } s32 BoardSpaceStarCheck(s32 index) { - s32 ret; - BoardSpace *space = BoardSpaceGet(0, index); - BoardSpace *star_space; - if (GWBoardGet() == BOARD_ID_EXTRA1 || GWBoardGet() == BOARD_ID_EXTRA2) { - ret = 0; - goto end; - } - star_space = BoardSpaceGet(0, boardSpaceStarTbl[GWSystem.star_pos]); - if (space == star_space) { - ret = 1; - } - else { - ret = 0; - } -end: - return ret; + s32 ret; + BoardSpace *space = BoardSpaceGet(0, index); + BoardSpace *star_space; + if(GWBoardGet() == BOARD_ID_EXTRA1 || GWBoardGet() == BOARD_ID_EXTRA2) { + ret = 0; + goto end; + } + star_space = BoardSpaceGet(0, boardSpaceStarTbl[GWSystem.star_pos]); + if(space == star_space) { + ret = 1; + } else { + ret = 0; + } + end: + return ret; } void BoardSpaceLandExec(s32 player, s32 space) { -#define BLUE_SPACE 1 -#define RED_SPACE 2 -#define BOWSER_SPACE 3 -#define MUSHROOM_SPACE 4 -#define BATTLE_SPACE 5 -#define HAPPENING_SPACE 6 -#define FORTUNE_SPACE 7 -#define STAR_SPACE 8 -#define WARP_SPACE 9 + #define BLUE_SPACE 1 + #define RED_SPACE 2 + #define BOWSER_SPACE 3 + #define MUSHROOM_SPACE 4 + #define BATTLE_SPACE 5 + #define HAPPENING_SPACE 6 + #define FORTUNE_SPACE 7 + #define STAR_SPACE 8 + #define WARP_SPACE 9 - BoardSpace *space_ptr = BoardSpaceGet(0, space); - switch (space_ptr->type) { - case BLUE_SPACE: - GWPlayer[player].blue_count++; - if (GWPlayer[player].blue_count > 99) { - GWPlayer[player].blue_count = 99; - } - BoardLandBlueExec(player, space); - break; - - case RED_SPACE: - GWPlayer[player].red_count++; - if (GWPlayer[player].red_count > 99) { - GWPlayer[player].red_count = 99; - } - BoardLandRedExec(player, space); - break; - - case BOWSER_SPACE: - GWPlayer[player].bowser_count++; - if (GWPlayer[player].bowser_count > 99) { - GWPlayer[player].bowser_count = 99; - } - BoardBowserExec(player, space); - break; - - case MUSHROOM_SPACE: - GWPlayer[player].mushroom_count++; - if (GWPlayer[player].mushroom_count > 99) { - GWPlayer[player].mushroom_count = 99; - } - BoardMushroomExec(player, space); - break; - - case BATTLE_SPACE: - GWPlayer[player].battle_count++; - if (GWPlayer[player].battle_count > 99) { - GWPlayer[player].battle_count = 99; - } - BoardBattleExec(player, space); - break; - - case HAPPENING_SPACE: - GWPlayer[player].question_count++; - if (GWPlayer[player].question_count > 99) { - GWPlayer[player].question_count = 99; - } - if (_CheckFlag(FLAG_ID_MAKE(1, 11))) { - HuAudFXPlay(842); - BoardCameraViewSet(2); - BoardPlayerMotBlendSet(player, 0, 15); - while (!BoardPlayerMotBlendCheck(player)) { - HuPrcVSleep(); - } - BoardCameraMotionWait(); - BoardTutorialHookExec(16, 0); - } - else { - if (landEventFunc) { - HuAudFXPlay(842); - omVibrate(player, 12, 4, 2); - landEventFunc(); - } - } - GWPlayer[player].color = 3; - break; - - case FORTUNE_SPACE: - GWPlayer[player].fortune_count++; - if (GWPlayer[player].fortune_count > 99) { - GWPlayer[player].fortune_count = 99; - } - BoardFortuneExec(player, space); - break; - - case WARP_SPACE: - GWPlayer[player].warp_count++; - if (GWPlayer[player].warp_count > 99) { - GWPlayer[player].warp_count = 99; - } - BoardWarpExec(player, space); - break; - - case STAR_SPACE: - BoardStarExec(player, space); - break; - } + BoardSpace *space_ptr = BoardSpaceGet(0, space); + switch(space_ptr->type) { + case BLUE_SPACE: + GWPlayer[player].blue_count++; + if(GWPlayer[player].blue_count > 99) { + GWPlayer[player].blue_count = 99; + } + BoardLandBlueExec(player, space); + break; + + case RED_SPACE: + GWPlayer[player].red_count++; + if(GWPlayer[player].red_count > 99) { + GWPlayer[player].red_count = 99; + } + BoardLandRedExec(player, space); + break; + + case BOWSER_SPACE: + GWPlayer[player].bowser_count++; + if(GWPlayer[player].bowser_count > 99) { + GWPlayer[player].bowser_count = 99; + } + BoardBowserExec(player, space); + break; + + case MUSHROOM_SPACE: + GWPlayer[player].mushroom_count++; + if(GWPlayer[player].mushroom_count > 99) { + GWPlayer[player].mushroom_count = 99; + } + BoardMushroomExec(player, space); + break; + + case BATTLE_SPACE: + GWPlayer[player].battle_count++; + if(GWPlayer[player].battle_count > 99) { + GWPlayer[player].battle_count = 99; + } + BoardBattleExec(player, space); + break; + + case HAPPENING_SPACE: + GWPlayer[player].question_count++; + if(GWPlayer[player].question_count > 99) { + GWPlayer[player].question_count = 99; + } + if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { + HuAudFXPlay(842); + BoardCameraViewSet(2); + BoardPlayerMotBlendSet(player, 0, 15); + while(!BoardPlayerMotBlendCheck(player)) { + HuPrcVSleep(); + } + BoardCameraMotionWait(); + BoardTutorialHookExec(16, 0); + } else { + if(landEventFunc) { + HuAudFXPlay(842); + omVibrate(player, 12, 4, 2); + landEventFunc(); + } + } + GWPlayer[player].color = 3; + break; + + case FORTUNE_SPACE: + GWPlayer[player].fortune_count++; + if(GWPlayer[player].fortune_count > 99) { + GWPlayer[player].fortune_count = 99; + } + BoardFortuneExec(player, space); + break; + + case WARP_SPACE: + GWPlayer[player].warp_count++; + if(GWPlayer[player].warp_count > 99) { + GWPlayer[player].warp_count = 99; + } + BoardWarpExec(player, space); + break; + + case STAR_SPACE: + BoardStarExec(player, space); + break; + } } s32 BoardSpaceWalkExec(s32 player, s32 space) { - s32 is_star; - BoardSpace *space_ptr; - BoardSpace *star_space; - if (_CheckFlag(FLAG_ID_MAKE(1, 11))) { - space_ptr = BoardSpaceGet(0, space); - if (space_ptr->flag & 0x180000) { - BoardTutorialHookExec(25, 0); - } - } - if (BoardPlayerSizeGet(player) == 2 || GWPlayer[player].bowser_suit) { - return 0; - } - space_ptr = BoardSpaceGet(0, space); - if (GWBoardGet() == BOARD_ID_EXTRA1 || GWBoardGet() == BOARD_ID_EXTRA2) { - is_star = 0; - } - else { - star_space = BoardSpaceGet(0, boardSpaceStarTbl[GWSystem.star_pos]); - if (space_ptr == star_space) { - is_star = 1; - } - else { - is_star = 0; - } - } - if (is_star) { - BoardStarExec(player, space); - return 1; - } - if (space_ptr->flag & 0x600000) { - s32 mg_param = GWSystem.unk_38; - if (BoardPlayerSizeGet(player) == 1) { - BoardPlayerIdleSet(player); - BoardMGCreate(mg_param); - } - return 1; - } - if (space_ptr->flag & 0x180000) { - BoardShopExec(player, space); - return 1; - } - if (space_ptr->flag & 0x08000000) { - BoardBooHouseExec(player, space); - return 1; - } - if (space_ptr->flag & 0x10000000) { - BoardLotteryExec(); - return 1; - } - if (space_ptr->flag & 0x20000000) { - ExecPipeSpace(player, space); - return 1; - } - return 0; + s32 is_star; + BoardSpace *space_ptr; + BoardSpace *star_space; + if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { + space_ptr = BoardSpaceGet(0, space); + if(space_ptr->flag & 0x180000) { + BoardTutorialHookExec(25, 0); + } + } + if(BoardPlayerSizeGet(player) == 2 || GWPlayer[player].bowser_suit) { + return 0; + } + space_ptr = BoardSpaceGet(0, space); + if(GWBoardGet() == BOARD_ID_EXTRA1 || GWBoardGet() == BOARD_ID_EXTRA2) { + is_star = 0; + } else { + star_space = BoardSpaceGet(0, boardSpaceStarTbl[GWSystem.star_pos]); + if(space_ptr == star_space) { + is_star = 1; + } else { + is_star = 0; + } + } + if(is_star) { + BoardStarExec(player, space); + return 1; + } + if(space_ptr->flag & 0x600000) { + s32 mg_param = GWSystem.unk_38; + if(BoardPlayerSizeGet(player) == 1) { + BoardPlayerIdleSet(player); + BoardMGCreate(mg_param); + } + return 1; + } + if(space_ptr->flag & 0x180000) { + BoardShopExec(player, space); + return 1; + } + if(space_ptr->flag & 0x08000000) { + BoardBooHouseExec(player, space); + return 1; + } + if(space_ptr->flag & 0x10000000) { + BoardLotteryExec(); + return 1; + } + if(space_ptr->flag & 0x20000000) { + ExecPipeSpace(player, space); + return 1; + } + return 0; } s32 BoardSpaceBlockExec(s32 player, s32 space) { - s32 event_exec; - BoardSpace *space_ptr; - event_exec = 0; - if (BoardPlayerSizeGet(player) == 2 || GWPlayer[player].bowser_suit) { - return 0; - } - space_ptr = BoardSpaceGet(0, space); - event_exec = 0; - if (space == GWSystem.block_pos) { - event_exec = 1; - } - if (!GWBonusStarGet() && GWPartyGet() == 1 && !_CheckFlag(FLAG_ID_MAKE(1, 11))) { - event_exec = 0; - } - if (GWBoardGet() == BOARD_ID_EXTRA1 || GWBoardGet() == BOARD_ID_EXTRA2) { - event_exec = 0; - } - if (event_exec) { - BoardBlockExec(player, space); - if (_CheckFlag(FLAG_ID_MAKE(1, 11))) { - BoardBlockExec(player, space); - } - BoardSpaceBlockPosSet(); - } - return 0; + s32 event_exec; + BoardSpace *space_ptr; + event_exec = 0; + if(BoardPlayerSizeGet(player) == 2 || GWPlayer[player].bowser_suit) { + return 0; + } + space_ptr = BoardSpaceGet(0, space); + event_exec = 0; + if(space == GWSystem.block_pos) { + event_exec = 1; + } + if(!GWBonusStarGet() && GWPartyGet() == 1 && !_CheckFlag(FLAG_ID_MAKE(1, 11))) { + event_exec = 0; + } + if(GWBoardGet() == BOARD_ID_EXTRA1 || GWBoardGet() == BOARD_ID_EXTRA2) { + event_exec = 0; + } + if(event_exec) { + BoardBlockExec(player, space); + if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { + BoardBlockExec(player, space); + } + BoardSpaceBlockPosSet(); + } + return 0; } static s32 ExecPipeSpace(s32 player, s32 space) { - Vec pos_link; - Vec pos; - Vec dir; - float radius, y_vel; - s32 mot_disable; - BoardSpace *space_ptr; - mot_disable = 0; - if (BoardPlayerSizeGet(player) != 1) { - return 0; - } - BoardPlayerPosGet(player, &pos); - pos.y += 200.0f; - space_ptr = BoardSpaceGet(0, space); - BoardSpacePosGet(0, space_ptr->link[0], &pos_link); - VECSubtract(&pos_link, &pos, &dir); - VECNormalize(&dir, &dir); - BoardPlayerRotYSet(player, 90 - atan2d(dir.z, dir.x)); - radius = 0.75f * BoardVecDistXZCalc(&pos_link, &pos); - BoardPlayerMotionStart(player, 4, 0); - y_vel = 0; - while (1) { - if (BoardVecDistXZCalc(&pos_link, &pos) < 2) { - break; - } - pos.x += (dir.x * radius) / 60.0f; - pos.z += (dir.z * radius) / 60.0f; - if (pos.y <= pos_link.y) { - pos.y = pos_link.y; - if (!mot_disable) { - BoardPlayerMotionShiftSet(player, 3, 0, 4, HU3D_MOTATTR_LOOP); - break; - } - } - else { - pos.y += 10.0f + (-((1 / 2399.99f) + (1 / 50.0f)) * y_vel * y_vel); - y_vel += 1.0f; - } - BoardPlayerPosSetV(player, &pos); - HuPrcVSleep(); - } - return 0; + Vec pos_link; + Vec pos; + Vec dir; + float radius, y_vel; + s32 mot_disable; + BoardSpace *space_ptr; + mot_disable = 0; + if(BoardPlayerSizeGet(player) != 1) { + return 0; + } + BoardPlayerPosGet(player, &pos); + pos.y += 200.0f; + space_ptr = BoardSpaceGet(0, space); + BoardSpacePosGet(0, space_ptr->link[0], &pos_link); + VECSubtract(&pos_link, &pos, &dir); + VECNormalize(&dir, &dir); + BoardPlayerRotYSet(player, 90-((atan2(dir.z, dir.x)/M_PI)*180)); + radius = 0.75f*BoardVecDistXZCalc(&pos_link, &pos); + BoardPlayerMotionStart(player, 4, 0); + y_vel = 0; + while(1) { + if(BoardVecDistXZCalc(&pos_link, &pos) < 2) { + break; + } + pos.x += (dir.x*radius)/60.0f; + pos.z += (dir.z*radius)/60.0f; + if(pos.y <= pos_link.y) { + pos.y = pos_link.y; + if(!mot_disable) { + BoardPlayerMotionShiftSet(player, 3, 0, 4, 0x40000001); + break; + } + } else { + pos.y += 10.0f+(-((1/2399.99f)+(1/50.0f))*y_vel*y_vel); + y_vel += 1.0f; + } + BoardPlayerPosSetV(player, &pos); + HuPrcVSleep(); + } + return 0; } void BoardSpaceTypeForce(u16 from, u16 to) { - s32 i; - for (i = 0; i < spaceCnt[0]; i++) { - BoardSpace *space = &spaceData[0][i]; - if (space->type == from) { - space->type = to; - } - } + s32 i; + for(i=0; itype == from) { + space->type = to; + } + } } void BoardSpaceHide(s32 value) { - if (value) { - Hu3DModelAttrSet(spaceDrawMdl, HU3D_ATTR_DISPOFF); - } - else { - Hu3DModelAttrReset(spaceDrawMdl, HU3D_ATTR_DISPOFF); - } + if(value) { + Hu3DModelAttrSet(spaceDrawMdl, 1); + } else { + Hu3DModelAttrReset(spaceDrawMdl, 1); + } } static inline void InitGXSpace() { - GXColor color = { 0xFF, 0xFF, 0xFF, 0xFF }; + GXColor color = {0xFF, 0xFF, 0xFF, 0xFF}; GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_DIRECT); GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); @@ -798,317 +793,319 @@ static inline void InitGXSpace() GXSetCullMode(GX_CULL_BACK); } -// Some stack allocation issues. code around BoardPlayerGetCurr is incorrect too +//Some stack allocation issues. code around BoardPlayerGetCurr is incorrect too static void DrawSpaces(ModelData *model, Mtx matrix) { - s32 i; + s32 i; - Vec player_pos; - Vec target; - Vec pos; - - Mtx lookat, final, rot_x, rot_y, rot_z, scale; - Mtx44 proj; - BoardCameraData *camera; - if (!spaceDrawF) { - return; - } - spaceDrawCnt = 0; - camera = &boardCamera; - BoardCameraPosGet(&pos); - BoardCameraTargetGet(&target); - MTXPerspective(proj, camera->fov, camera->aspect, camera->near, camera->far); - GXSetProjection(proj, GX_PERSPECTIVE); - MTXLookAt(lookat, &pos, &camera->up, &target); - GXSetViewport(camera->viewport_x, camera->viewport_y, camera->viewport_w, camera->viewport_h, camera->viewport_near, camera->viewport_far); - GXSetScissor(camera->viewport_x, camera->viewport_y, camera->viewport_w, camera->viewport_h); - { - BoardSpace *space_curr; - BoardSpace *space_hilite; - PlayerState *player; - s16 player_mdl; - float y_dist; - s32 space_img; - u16 space_type; - float uv_x, uv_y, uv_size; - InitGXSpace(); - - player = BoardPlayerGet(GWSystem.player_curr); - BoardPlayerPosGet(GWSystem.player_curr, &player_pos); - player_mdl = BoardModelIDGet(BoardPlayerModelGet(GWSystem.player_curr)); - space_curr = &spaceData[0][0]; - space_hilite = NULL; - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - for (i = 0; i < spaceCnt[0]; i++, space_curr++) { - if (space_curr->type == 0) { - continue; - } - if (!BoardCameraCullCheck(&space_curr->pos, 200.0f) || (space_curr->flag & spaceAttr[0])) { - continue; - } - if (!space_hilite) { - if (player_pos.x > space_curr->pos.x - 100.0f && player_pos.z > space_curr->pos.z - 100.0f - && player_pos.x < space_curr->pos.x + 100.0f && player_pos.z < space_curr->pos.z + 100.0f) { - if (player_pos.y - space_curr->pos.y < 0.0f) { - y_dist = -(player_pos.y - space_curr->pos.y); - } - else { - y_dist = player_pos.y - space_curr->pos.y; - } - if (y_dist < 10.0f) { - space_hilite = space_curr; - } - } - } - space_type = space_curr->type; - space_img = spaceImgIdx[space_type] - 1; - uv_x = (float)(space_img % 4) / 4.0f; - uv_y = (float)(space_img / 4) / 4.0f; - uv_size = 63.0f / 256.0f; - MTXRotRad(rot_z, 'z', MTXDegToRad(space_curr->rot.y)); - MTXRotRad(rot_y, 'y', MTXDegToRad(space_curr->rot.z)); - MTXRotRad(rot_x, 'x', MTXDegToRad(space_curr->rot.x + 90.0f)); - MTXTrans(final, space_curr->pos.x, 3.0f + space_curr->pos.y, space_curr->pos.z); - MTXConcat(rot_x, rot_y, rot_y); - MTXConcat(rot_y, rot_z, rot_z); - MTXConcat(final, rot_z, final); - MTXConcat(lookat, final, final); - GXLoadPosMtxImm(final, GX_PNMTX0); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(-100, -100, 0); - GXTexCoord2f32(uv_x, uv_y); - GXPosition3f32(100, -100, 0); - GXTexCoord2f32(uv_x + uv_size, uv_y); - GXPosition3f32(100, 100, 0); - GXTexCoord2f32(uv_x + uv_size, uv_y + uv_size + (1.5f / 256.0f)); - GXPosition3f32(-100, 100, 0); - GXTexCoord2f32(uv_x, uv_y + uv_size + (1.5f / 256.0f)); - GXEnd(); - spaceDrawCnt++; - } - if (space_hilite) { - space_curr = space_hilite; - space_type = space_curr->type; - if (player->show_next && space_type != 0 && (space_img = spaceHiliteImgIdx[space_type]) >= 0) { - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); - GXLoadTexObj(&spaceHiliteTex, GX_TEXMAP0); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); - uv_x = (float)(space_img % 4) / 4.0f; - uv_y = (float)(space_img / 4) / 4.0f; - uv_size = 63.0f / 256.0f; - MTXScale(scale, 1.5f, 1.5f, 1.5f); - MTXRotRad(rot_z, 'z', MTXDegToRad(space_curr->rot.y)); - MTXRotRad(rot_y, 'y', MTXDegToRad(space_curr->rot.z)); - MTXRotRad(rot_x, 'x', MTXDegToRad(space_curr->rot.x + 90.0f)); - MTXTrans(final, space_curr->pos.x, 3.5f + space_curr->pos.y, space_curr->pos.z); - MTXConcat(scale, rot_x, rot_x); - MTXConcat(rot_x, rot_y, rot_y); - MTXConcat(rot_y, rot_z, rot_z); - MTXConcat(final, rot_z, final); - MTXConcat(lookat, final, final); - GXLoadPosMtxImm(final, GX_PNMTX0); - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3f32(-100, -100, 0); - GXTexCoord2f32(uv_x, uv_y); - GXPosition3f32(100, -100, 0); - GXTexCoord2f32(uv_x + uv_size, uv_y); - GXPosition3f32(100, 100, 0); - GXTexCoord2f32(uv_x + uv_size, uv_y + uv_size); - GXPosition3f32(-100, 100, 0); - GXTexCoord2f32(uv_x, uv_y + uv_size); - GXEnd(); - spaceDrawCnt++; - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - return; - } - } - GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); - } + Vec player_pos; + Vec target; + Vec pos; + + Mtx lookat, final, rot_x, rot_y, rot_z, scale; + Mtx44 proj; + BoardCameraData *camera; + if(!spaceDrawF) { + return; + } + spaceDrawCnt = 0; + camera = &boardCamera; + BoardCameraPosGet(&pos); + BoardCameraTargetGet(&target); + MTXPerspective(proj, camera->fov, camera->aspect, camera->near, camera->far); + GXSetProjection(proj, GX_PERSPECTIVE); + MTXLookAt(lookat, &pos, &camera->up, &target); + GXSetViewport(camera->viewport_x, camera->viewport_y, camera->viewport_w, camera->viewport_h, camera->viewport_near, camera->viewport_far); + GXSetScissor(camera->viewport_x, camera->viewport_y, camera->viewport_w, camera->viewport_h); + { + BoardSpace *space_curr; + BoardSpace *space_hilite; + PlayerState *player; + s16 player_mdl; + float y_dist; + s32 space_img; + u16 space_type; + float uv_x, uv_y, uv_size; + InitGXSpace(); + + player = BoardPlayerGet(GWSystem.player_curr); + BoardPlayerPosGet(GWSystem.player_curr, &player_pos); + player_mdl = BoardModelIDGet(BoardPlayerModelGet(GWSystem.player_curr)); + space_curr = &spaceData[0][0]; + space_hilite = NULL; + GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); + for(i=0; itype == 0) { + continue; + } + if(!BoardCameraCullCheck(&space_curr->pos, 200.0f) || (space_curr->flag & spaceAttr[0])) { + continue; + } + if(!space_hilite) { + if(player_pos.x > space_curr->pos.x-100.0f + && player_pos.z > space_curr->pos.z-100.0f + && player_pos.x < space_curr->pos.x+100.0f + && player_pos.z < space_curr->pos.z+100.0f) { + if(player_pos.y-space_curr->pos.y < 0.0f) { + y_dist = -(player_pos.y-space_curr->pos.y); + } else { + y_dist = player_pos.y-space_curr->pos.y; + } + if(y_dist < 10.0f) { + space_hilite = space_curr; + } + } + } + space_type = space_curr->type; + space_img = spaceImgIdx[space_type]-1; + uv_x = (float)(space_img%4)/4.0f; + uv_y = (float)(space_img/4)/4.0f; + uv_size = 63.0f/256.0f; + MTXRotRad(rot_z, 'z', MTXDegToRad(space_curr->rot.y)); + MTXRotRad(rot_y, 'y', MTXDegToRad(space_curr->rot.z)); + MTXRotRad(rot_x, 'x', MTXDegToRad(space_curr->rot.x+90.0f)); + MTXTrans(final, space_curr->pos.x, 3.0f+space_curr->pos.y, space_curr->pos.z); + MTXConcat(rot_x, rot_y, rot_y); + MTXConcat(rot_y, rot_z, rot_z); + MTXConcat(final, rot_z, final); + MTXConcat(lookat, final, final); + GXLoadPosMtxImm(final, GX_PNMTX0); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition3f32(-100, -100, 0); + GXTexCoord2f32(uv_x, uv_y); + GXPosition3f32(100, -100, 0); + GXTexCoord2f32(uv_x+uv_size, uv_y); + GXPosition3f32(100, 100, 0); + GXTexCoord2f32(uv_x+uv_size, uv_y+uv_size+(1.5f/256.0f)); + GXPosition3f32(-100, 100, 0); + GXTexCoord2f32(uv_x, uv_y+uv_size+(1.5f/256.0f)); + GXEnd(); + spaceDrawCnt++; + } + if(space_hilite) { + space_curr = space_hilite; + space_type = space_curr->type; + if(player->show_next && space_type != 0 && (space_img = spaceHiliteImgIdx[space_type]) >= 0) { + GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); + GXLoadTexObj(&spaceHiliteTex, GX_TEXMAP0); + GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_NOOP); + uv_x = (float)(space_img%4)/4.0f; + uv_y = (float)(space_img/4)/4.0f; + uv_size = 63.0f/256.0f; + MTXScale(scale, 1.5f, 1.5f, 1.5f); + MTXRotRad(rot_z, 'z', MTXDegToRad(space_curr->rot.y)); + MTXRotRad(rot_y, 'y', MTXDegToRad(space_curr->rot.z)); + MTXRotRad(rot_x, 'x', MTXDegToRad(space_curr->rot.x+90.0f)); + MTXTrans(final, space_curr->pos.x, 3.5f+space_curr->pos.y, space_curr->pos.z); + MTXConcat(scale, rot_x, rot_x); + MTXConcat(rot_x, rot_y, rot_y); + MTXConcat(rot_y, rot_z, rot_z); + MTXConcat(final, rot_z, final); + MTXConcat(lookat, final, final); + GXLoadPosMtxImm(final, GX_PNMTX0); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition3f32(-100, -100, 0); + GXTexCoord2f32(uv_x, uv_y); + GXPosition3f32(100, -100, 0); + GXTexCoord2f32(uv_x+uv_size, uv_y); + GXPosition3f32(100, 100, 0); + GXTexCoord2f32(uv_x+uv_size, uv_y+uv_size); + GXPosition3f32(-100, 100, 0); + GXTexCoord2f32(uv_x, uv_y+uv_size); + GXEnd(); + spaceDrawCnt++; + GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); + GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); + return; + } + } + GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); + } + } s32 BoardSpaceRead(s32 layer, s32 data_num) { - int j; - int i; - BoardSpace *space; - u8 *data; - s32 star_idx; - u8 *data_base; - data_base = data = HuDataSelHeapReadNum(data_num, MEMORY_DEFAULT_NUM, HEAP_DATA); - spaceCnt[layer] = *(u32 *)data; - data += sizeof(u32); - space = &spaceData[layer][0]; - for (i = 0; i < spaceCnt[layer]; i++, space++) { - memcpy(&space->pos, data, sizeof(Vec)); - data += sizeof(Vec); - memcpy(&space->rot, data, sizeof(Vec)); - data += sizeof(Vec); - memcpy(&space->scale, data, sizeof(Vec)); - data += sizeof(Vec); - space->flag = *(u32 *)data; - data += sizeof(u32); - space->type = *(u16 *)data; - data += sizeof(u16); - space->link_cnt = *(u16 *)data; - data += sizeof(u16); - for (j = 0; j < space->link_cnt; j++) { - space->link[j] = (*(u16 *)data) + 1; - data += sizeof(u16); - } - if (space->type == 8) { - - space->type = 1; - star_idx = (space->flag & 0x70000) >> 16; - boardSpaceStarTbl[star_idx] = i + 1; - } - } - HuDataClose(data_base); - return 0; + int j; + int i; + BoardSpace *space; + u8 *data; + s32 star_idx; + u8 *data_base; + data_base = data = HuDataSelHeapReadNum(data_num, MEMORY_DEFAULT_NUM, HEAP_DATA); + spaceCnt[layer] = *(u32 *)data; + data += sizeof(u32); + space = &spaceData[layer][0]; + for(i=0; ipos, data, sizeof(Vec)); + data += sizeof(Vec); + memcpy(&space->rot, data, sizeof(Vec)); + data += sizeof(Vec); + memcpy(&space->scale, data, sizeof(Vec)); + data += sizeof(Vec); + space->flag = *(u32 *)data; + data += sizeof(u32); + space->type = *(u16 *)data; + data += sizeof(u16); + space->link_cnt = *(u16 *)data; + data += sizeof(u16); + for(j=0; jlink_cnt; j++) { + space->link[j] = (*(u16 *)data)+1; + data += sizeof(u16); + } + if(space->type == 8) { + + space->type = 1; + star_idx = (space->flag & 0x70000) >> 16; + boardSpaceStarTbl[star_idx] = i+1; + } + } + HuDataClose(data_base); + return 0; } void BoardSpaceCameraSet(u16 mask) { - Hu3DModelCameraSet(spaceDrawMdl, mask); + Hu3DModelCameraSet(spaceDrawMdl, mask); } void BoardSpaceBlockPosSet(void) { - BoardSpace *space; - s32 block_pos; -begin: - if (boardTutorialBlockF) { - GWSystem.block_pos = boardTutorialBlockPos; - return; - } - block_pos = BoardRandMod(spaceCnt[0]) + 1; - if (block_pos == GWSystem.block_pos) { - goto begin; - } - space = BoardSpaceGet(0, block_pos); - if (space->type != 1) { - goto begin; - } - GWSystem.block_pos = block_pos; + BoardSpace *space; + s32 block_pos; + begin: + if(boardTutorialBlockF) { + GWSystem.block_pos = boardTutorialBlockPos; + return; + } + block_pos = BoardRandMod(spaceCnt[0])+1; + if(block_pos == GWSystem.block_pos) { + goto begin; + } + space = BoardSpaceGet(0, block_pos); + if(space->type != 1) { + goto begin; + } + GWSystem.block_pos = block_pos; } void BoardSpaceInit(s32 data_num) { - s32 board; - BoardJunctionMaskZero(); - memset(spaceData, 0, sizeof(spaceData)); - memset(spaceAttr, 0, sizeof(spaceAttr)); - lbl_801D3FC4[0] = lbl_801D3FC4[1] = lbl_801D3FC4[2] = lbl_801D3FC4[3] = -1; - spaceDrawF = 0; - board = GWBoardGet(); - { - AnimBmpData *bmp; - AnimData *data; - void *data_base; - s32 size; - data = data_base = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_BOARD, 29), MEMORY_DEFAULT_NUM, HEAP_DATA); - data->bmp = (void *)((u32)data_base + (u32)data->bmp); - data->pat = (void *)((u32)data_base + (u32)data->pat); - data->bank = (void *)((u32)data_base + (u32)data->bank); - bmp = data->bmp; - size = bmp->sizeX; - spaceHiliteTexFmt = -1; - switch (bmp->dataFmt) { - case ANIM_BMP_RGBA8: - spaceHiliteTexFmt = GX_TF_RGBA8; - break; - - case ANIM_BMP_RGB5A3_DUPE: - spaceHiliteTexFmt = GX_TF_RGB5A3; - break; - - case ANIM_BMP_CMPR: - spaceHiliteTexFmt = GX_TF_CMPR; - break; - } - spaceHiliteTexData = HuMemDirectMallocNum(HEAP_SYSTEM, bmp->dataSize, MEMORY_DEFAULT_NUM); - bmp->data = (void *)((u32)bmp->data + (u32)data_base); - memcpy(spaceHiliteTexData, bmp->data, bmp->dataSize); - HuDataClose(data_base); - GXInitTexObj(&spaceHiliteTex, spaceHiliteTexData, size, size, spaceHiliteTexFmt, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXInitTexObjLOD(&spaceHiliteTex, GX_LINEAR, GX_LINEAR, 0, 0, 0, GX_FALSE, GX_FALSE, GX_ANISO_1); - } - { - AnimBmpData *bmp; - AnimData *data; - void *data_base; - s32 size; - data = data_base = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_BOARD, 28), MEMORY_DEFAULT_NUM, HEAP_DATA); - data->bmp = (void *)((u32)data_base + (u32)data->bmp); - data->pat = (void *)((u32)data_base + (u32)data->pat); - data->bank = (void *)((u32)data_base + (u32)data->bank); - bmp = data->bmp; - size = bmp->sizeX; - spaceTexFmt = -1; - switch (bmp->dataFmt) { - case ANIM_BMP_RGBA8: - spaceTexFmt = GX_TF_RGBA8; - break; - - case ANIM_BMP_RGB5A3_DUPE: - spaceTexFmt = GX_TF_RGB5A3; - break; - - case ANIM_BMP_CMPR: - spaceTexFmt = GX_TF_CMPR; - break; - } - spaceTexData = HuMemDirectMallocNum(HEAP_SYSTEM, bmp->dataSize, MEMORY_DEFAULT_NUM); - bmp->data = (void *)((u32)bmp->data + (u32)data_base); - memcpy(spaceTexData, bmp->data, bmp->dataSize); - HuDataClose(data_base); - GXInitTexObj(&spaceTex, spaceTexData, size, size, spaceTexFmt, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXInitTexObjLOD(&spaceTex, GX_LINEAR, GX_LINEAR, 0, 0, 0, GX_FALSE, GX_FALSE, GX_ANISO_1); - } - BoardSpaceRead(0, data_num); - spaceDrawMdl = Hu3DHookFuncCreate(DrawSpaces); - if (!BoardStartCheck() && !_CheckFlag(FLAG_ID_MAKE(1, 1))) { - BoardSpaceBlockPosSet(); - GWSystem.star_total = 0; - GWSystem.star_flag = 0; - } - if (GWBoardGet() != BOARD_ID_EXTRA1 && GWBoardGet() != BOARD_ID_EXTRA2) { - starPlatMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 6), NULL, 0); - BoardModelMotionStart(starPlatMdl, 0, 0x40000001); - BoardModelVisibilitySet(starPlatMdl, 0); - if (_CheckFlag(FLAG_ID_MAKE(1, 1))) { - Vec pos; - Vec rot; - s16 space; - BoardModelVisibilitySet(starPlatMdl, 1); - GWSystem.star_flag |= (u8)(1 << GWSystem.star_pos); - BoardSpaceTypeSet(0, boardSpaceStarTbl[GWSystem.star_pos], 8); - { - int space; - BoardSpace *space_plat; - space = BoardSpaceLinkFlagSearch(0, BoardSpaceStarGetCurr(), 0x04000000); - BoardSpacePosGet(0, space, &pos); - BoardModelPosSetV(StarPlatGetMdl(), &pos); - BoardSpaceRotGet(0, space, &rot); - BoardModelRotYSet(StarPlatGetMdl(), rot.y); - } - } - } - spaceDrawF = 1; + s32 board; + BoardJunctionMaskZero(); + memset(spaceData, 0, sizeof(spaceData)); + memset(spaceAttr, 0, sizeof(spaceAttr)); + lbl_801D3FC4[0] = lbl_801D3FC4[1] = lbl_801D3FC4[2] = lbl_801D3FC4[3] = -1; + spaceDrawF = 0; + board = GWBoardGet(); + { + AnimBmpData *bmp; + AnimData *data; + void *data_base; + s32 size; + data = data_base = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_BOARD, 29), MEMORY_DEFAULT_NUM, HEAP_DATA); + data->bmp = (void *)((u32)data_base+(u32)data->bmp); + data->pat = (void *)((u32)data_base+(u32)data->pat); + data->bank = (void *)((u32)data_base+(u32)data->bank); + bmp = data->bmp; + size = bmp->sizeX; + spaceHiliteTexFmt = -1; + switch(bmp->dataFmt) { + case ANIM_BMP_RGBA8: + spaceHiliteTexFmt = GX_TF_RGBA8; + break; + + case ANIM_BMP_RGB5A3_DUPE: + spaceHiliteTexFmt = GX_TF_RGB5A3; + break; + + case ANIM_BMP_CMPR: + spaceHiliteTexFmt = GX_TF_CMPR; + break; + } + spaceHiliteTexData = HuMemDirectMallocNum(HEAP_SYSTEM, bmp->dataSize, MEMORY_DEFAULT_NUM); + bmp->data = (void *)((u32)bmp->data+(u32)data_base); + memcpy(spaceHiliteTexData, bmp->data, bmp->dataSize); + HuDataClose(data_base); + GXInitTexObj(&spaceHiliteTex, spaceHiliteTexData, size, size, spaceHiliteTexFmt, GX_CLAMP, GX_CLAMP, GX_FALSE); + GXInitTexObjLOD(&spaceHiliteTex, GX_LINEAR, GX_LINEAR, 0, 0, 0, GX_FALSE, GX_FALSE, GX_ANISO_1); + } + { + AnimBmpData *bmp; + AnimData *data; + void *data_base; + s32 size; + data = data_base = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_BOARD, 28), MEMORY_DEFAULT_NUM, HEAP_DATA); + data->bmp = (void *)((u32)data_base+(u32)data->bmp); + data->pat = (void *)((u32)data_base+(u32)data->pat); + data->bank = (void *)((u32)data_base+(u32)data->bank); + bmp = data->bmp; + size = bmp->sizeX; + spaceTexFmt = -1; + switch(bmp->dataFmt) { + case ANIM_BMP_RGBA8: + spaceTexFmt = GX_TF_RGBA8; + break; + + case ANIM_BMP_RGB5A3_DUPE: + spaceTexFmt = GX_TF_RGB5A3; + break; + + case ANIM_BMP_CMPR: + spaceTexFmt = GX_TF_CMPR; + break; + } + spaceTexData = HuMemDirectMallocNum(HEAP_SYSTEM, bmp->dataSize, MEMORY_DEFAULT_NUM); + bmp->data = (void *)((u32)bmp->data+(u32)data_base); + memcpy(spaceTexData, bmp->data, bmp->dataSize); + HuDataClose(data_base); + GXInitTexObj(&spaceTex, spaceTexData, size, size, spaceTexFmt, GX_CLAMP, GX_CLAMP, GX_FALSE); + GXInitTexObjLOD(&spaceTex, GX_LINEAR, GX_LINEAR, 0, 0, 0, GX_FALSE, GX_FALSE, GX_ANISO_1); + } + BoardSpaceRead(0, data_num); + spaceDrawMdl = Hu3DHookFuncCreate(DrawSpaces); + if(!BoardStartCheck() && !_CheckFlag(FLAG_ID_MAKE(1, 1))) { + BoardSpaceBlockPosSet(); + GWSystem.star_total = 0; + GWSystem.star_flag = 0; + } + if(GWBoardGet() != BOARD_ID_EXTRA1 && GWBoardGet() != BOARD_ID_EXTRA2) { + starPlatMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 6), NULL, 0); + BoardModelMotionStart(starPlatMdl, 0, 0x40000001); + BoardModelVisibilitySet(starPlatMdl, 0); + if(_CheckFlag(FLAG_ID_MAKE(1, 1))) { + Vec pos; + Vec rot; + s16 space; + BoardModelVisibilitySet(starPlatMdl, 1); + GWSystem.star_flag |= (u8)(1 << GWSystem.star_pos); + BoardSpaceTypeSet(0, boardSpaceStarTbl[GWSystem.star_pos], 8); + { + int space; + BoardSpace *space_plat; + space = BoardSpaceLinkFlagSearch(0, BoardSpaceStarGetCurr(), 0x04000000); + BoardSpacePosGet(0, space, &pos); + BoardModelPosSetV(StarPlatGetMdl(), &pos); + BoardSpaceRotGet(0, space, &rot); + BoardModelRotYSet(StarPlatGetMdl(), rot.y); + } + } + } + spaceDrawF = 1; } void BoardSpaceDestroy(void) { - if (spaceDrawMdl >= 0) { - Hu3DModelKill(spaceDrawMdl); - spaceDrawMdl = -1; - } - if (spaceHiliteTexData) { - HuMemDirectFree(spaceHiliteTexData); - spaceHiliteTexData = NULL; - } - if (spaceTexData) { - HuMemDirectFree(spaceTexData); - spaceTexData = NULL; - } -} + if(spaceDrawMdl >= 0) { + Hu3DModelKill(spaceDrawMdl); + spaceDrawMdl = -1; + } + if(spaceHiliteTexData) { + HuMemDirectFree(spaceHiliteTexData); + spaceHiliteTexData = NULL; + } + if(spaceTexData) { + HuMemDirectFree(spaceTexData); + spaceTexData = NULL; + } +} \ No newline at end of file diff --git a/src/game/board/star.c b/src/game/board/star.c index 3f2a0ba5..4c8aa409 100755 --- a/src/game/board/star.c +++ b/src/game/board/star.c @@ -1,8 +1,6 @@ #include "game/board/star.h" #include "game/audio.h" #include "game/data.h" -#include "game/disp.h" - #include "game/flag.h" #include "game/gamework.h" #include "game/gamework_data.h" @@ -74,7 +72,8 @@ static Process *starProc; static s16 starParman = -1; static s16 hostMdl = -1; -static const s32 starMesTbl1[9] = { +//mod: extend for custom board +const s32 lbl_8011E040[10] = { MAKE_MESSID(12, 0), MAKE_MESSID(12, 9), MAKE_MESSID(12, 18), @@ -83,10 +82,13 @@ static const s32 starMesTbl1[9] = { MAKE_MESSID(12, 45), MAKE_MESSID(12, 0), MAKE_MESSID(12, 0), + MAKE_MESSID(12, 0), + //Mod TODO: fix for custom board data MAKE_MESSID(12, 0) }; -static const s32 starMesTbl2[9][2] = { +//mod: extend for custom board +const s32 lbl_8011E064[10][2] = { { MAKE_MESSID(21, 34), MAKE_MESSID(21, 40) }, { MAKE_MESSID(21, 35), MAKE_MESSID(21, 41) }, { MAKE_MESSID(21, 36), MAKE_MESSID(21, 42) }, @@ -95,6 +97,9 @@ static const s32 starMesTbl2[9][2] = { { MAKE_MESSID(21, 39), MAKE_MESSID(21, 45) }, { MAKE_MESSID(21, 34), MAKE_MESSID(21, 40) }, { MAKE_MESSID(21, 34), MAKE_MESSID(21, 40) }, + { MAKE_MESSID(21, 34), MAKE_MESSID(21, 40) }, + + //Mod TODO: fix for custom board data { MAKE_MESSID(21, 34), MAKE_MESSID(21, 40) } }; @@ -109,12 +114,21 @@ s32 boardStarSndTbl[] = { 0x000002E0 }; -static s32 hostMotTbl[9][2] = { +//mod: extend for custom board +static s32 hostMotTbl[10][2] = { { DATA_MAKE_NUM(DATADIR_W01, 33), DATA_MAKE_NUM(DATADIR_BOARD, 157) }, { DATA_MAKE_NUM(DATADIR_W02, 7), DATA_MAKE_NUM(DATADIR_BOARD, 158) }, { DATA_MAKE_NUM(DATADIR_W03, 31), DATA_MAKE_NUM(DATADIR_BOARD, 159) }, { DATA_MAKE_NUM(DATADIR_W04, 11), DATA_MAKE_NUM(DATADIR_BOARD, 160) }, { DATA_MAKE_NUM(DATADIR_W05, 9), DATA_MAKE_NUM(DATADIR_BOARD, 161) }, + { DATA_MAKE_NUM(DATADIR_W06, 21), DATA_MAKE_NUM(DATADIR_BOARD, 162) }, + + //dummy data for tutorial and extra board + { DATA_MAKE_NUM(DATADIR_W06, 21), DATA_MAKE_NUM(DATADIR_BOARD, 162) }, + { DATA_MAKE_NUM(DATADIR_W06, 21), DATA_MAKE_NUM(DATADIR_BOARD, 162) }, + { DATA_MAKE_NUM(DATADIR_W06, 21), DATA_MAKE_NUM(DATADIR_BOARD, 162) }, + + //Mod TODO: fix for custom board data { DATA_MAKE_NUM(DATADIR_W06, 21), DATA_MAKE_NUM(DATADIR_BOARD, 162) } }; @@ -208,7 +222,7 @@ static void ExecStar(void) { starDoneF = 0; var_r22 = BoardSpaceLinkFlagSearch(0, temp_r24, 0x04000000); BoardSpacePosGet(0, var_r22, &sp18); - VECSubtract(&sp18, &sp24, &spC); + PSVECSubtract(&sp18, &sp24, &spC); temp_f30 = 90.0 - atan2d(spC.z, spC.x); temp_f30 = 90.0f * ((temp_f30 + 3.0f) / 90.0f); temp_f29 = BoardPlayerRotYGet(temp_r31); @@ -235,7 +249,7 @@ static void ExecStar(void) { } if (var_r26 != 0) { var_f31 /= var_r25; - BoardModelMotionShiftSet(temp_r30, hostMot[1], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(temp_r30, hostMot[1], 0.0f, 10.0f, 0x40000001); BoardModelMotionSpeedSet(temp_r30, 2.0f); } while (!BoardPlayerMotBlendCheck(temp_r31)) { @@ -245,16 +259,16 @@ static void ExecStar(void) { } HuPrcVSleep(); } - BoardModelMotionShiftSet(temp_r30, 1, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(temp_r30, 1, 0.0f, 10.0f, 0x40000001); BoardCameraViewSet(3); BoardCameraMotionWait(); if (GWStarsGet(temp_r31) >= 999) { - temp_r29 = starMesTbl1[temp_r27] + 5; + temp_r29 = lbl_8011E040[temp_r27] + 5; BoardWinCreate(0, temp_r29, BoardWinPortraitGetStar()); BoardWinWait(); BoardWinKill(); } else if (BoardPlayerCoinsGet(temp_r31) < 20 && GWSystem.last5_effect != 4) { - temp_r29 = starMesTbl1[temp_r27] + 2; + temp_r29 = lbl_8011E040[temp_r27] + 2; BoardWinCreate(2, temp_r29, BoardWinPortraitGetStar()); BoardWinWait(); BoardWinKill(); @@ -263,7 +277,7 @@ static void ExecStar(void) { while (!BoardStatusStopCheck(0) || !BoardStatusStopCheck(1) || !BoardStatusStopCheck(2) || !BoardStatusStopCheck(3)) { HuPrcVSleep(); } - temp_r29 = starMesTbl1[temp_r27]; + temp_r29 = lbl_8011E040[temp_r27]; BoardWinCreate(2, temp_r29, BoardWinPortraitGetStar()); BoardWinInsertMesSet(BoardPlayerGetCharMess(temp_r31), 0); BoardWinWait(); @@ -275,12 +289,12 @@ static void ExecStar(void) { HuPrcVSleep(); } if (GWSystem.last5_effect == 4) { - temp_r29 = starMesTbl1[temp_r27] + 8; + temp_r29 = lbl_8011E040[temp_r27] + 8; BoardWinCreate(2, temp_r29, BoardWinPortraitGetStar()); BoardWinWait(); break; } - temp_r29 = starMesTbl1[temp_r27] + 1; + temp_r29 = lbl_8011E040[temp_r27] + 1; BoardWinCreateChoice(1, temp_r29, BoardWinPortraitGetStar(), 0); BoardWinAttrSet(0x10); if (GWPlayer[temp_r31].com) { @@ -294,7 +308,7 @@ static void ExecStar(void) { switch (BoardWinChoiceGet()) { case 0: if (BoardPlayerCoinsGet(temp_r31) < 20) { - temp_r29 = starMesTbl1[temp_r27] + 2; + temp_r29 = lbl_8011E040[temp_r27] + 2; BoardWinCreate(2, temp_r29, BoardWinPortraitGetStar()); BoardWinWait(); BoardStatusShowSet(temp_r31, 0); @@ -306,7 +320,7 @@ static void ExecStar(void) { } goto block_A; case 1: - temp_r29 = starMesTbl1[temp_r27] + 4; + temp_r29 = lbl_8011E040[temp_r27] + 4; BoardWinCreate(2, temp_r29, BoardWinPortraitGetStar()); BoardWinWait(); BoardStatusShowSet(temp_r31, 0); @@ -326,7 +340,7 @@ static void ExecStar(void) { } } block_A: - temp_r29 = starMesTbl1[temp_r27] + 3; + temp_r29 = lbl_8011E040[temp_r27] + 3; BoardWinCreate(2, temp_r29, BoardWinPortraitGetStar()); BoardWinWait(); BoardWinKill(); @@ -339,7 +353,7 @@ block_A: HuAudFXPlay(0xF); } _SetFlag(0x10017); - BoardModelMotionShiftSet(temp_r30, hostMot[0], 0.0f, 10.0f, HU3D_MOTATTR_NONE); + BoardModelMotionShiftSet(temp_r30, hostMot[0], 0.0f, 10.0f, 0); HuPrcSleep(30); starDoneF = 1; BoardAudSeqFadeOut(0, 1000); @@ -350,7 +364,7 @@ block_A: while (!BoardStatusStopCheck(temp_r31)) { HuPrcVSleep(); } - BoardModelMotionShiftSet(temp_r30, 1, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(temp_r30, 1, 0.0f, 10.0f, 0x40000001); BoardStarShowNext(temp_r31); BoardMusStartBoard(); BoardModelRotYSet(temp_r30, 0.0f); @@ -360,7 +374,7 @@ block_B: var_f31 = -BoardModelRotYGet(temp_r30); if (var_r26 != 0) { var_f31 /= var_r25; - BoardModelMotionShiftSet(temp_r30, hostMot[1], 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(temp_r30, hostMot[1], 0.0f, 10.0f, 0x40000001); BoardModelMotionSpeedSet(temp_r30, 3.0f); } BoardPlayerMotBlendSet(temp_r31, 0, var_r25); @@ -372,7 +386,7 @@ block_B: HuPrcVSleep(); } BoardModelRotYSet(temp_r30, 0.0f); - BoardModelMotionShiftSet(temp_r30, 1, 0.0f, 10.0f, HU3D_MOTATTR_LOOP); + BoardModelMotionShiftSet(temp_r30, 1, 0.0f, 10.0f, 0x40000001); if (!_CheckFlag(FLAG_ID_MAKE(1, 22))) { BoardCameraViewSet(1); BoardCameraTargetPlayerSet(temp_r31); @@ -624,7 +638,7 @@ void BoardStarGive(s32 arg0, Vec *arg1) { StarInlineFunc02(); StarInlineFunc01(); BoardPlayerVoiceEnableSet(arg0, 7, 0); - BoardPlayerMotionShiftSet(arg0, 7, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(arg0, 7, 0.0f, 8.0f, 0); HuAudFXPlay(boardStarSndTbl[GWPlayer[arg0].character]); BoardPlayerStarsAdd(arg0, 1); HuAudFXPlay(8); @@ -698,9 +712,9 @@ void BoardStarShowNext(s32 arg0) { showNextObj->scale.z = sp50.z; BoardPlayerPosGet(arg0, &sp38); sp50.y = sp38.y; - VECSubtract(&sp50, &sp38, &sp20); + PSVECSubtract(&sp50, &sp38, &sp20); sp20.y = 0.0f; - temp_f31 = VECMag(&sp20); + temp_f31 = PSVECMag(&sp20); if (temp_f31 > 3000.0f) { var_r27 = 0xF0; } else if (temp_f31 > 1500.0f) { @@ -710,7 +724,7 @@ void BoardStarShowNext(s32 arg0) { } BoardViewMoveStart(&sp38, &sp50, var_r27); showNextObj->trans.x = 68.0f; - showNextObj->trans.y = HU_DISP_HEIGHT-50; + showNextObj->trans.y = 430.0f; showNextObj->trans.z = 100.0f; sp44.x = showNextObj->trans.x; sp44.y = showNextObj->trans.y; @@ -734,9 +748,9 @@ void BoardStarShowNext(s32 arg0) { HuPrcVSleep(); } if (var_r28 == 0) { - var_r30 = starMesTbl1[GWBoardGet()] + 6; + var_r30 = lbl_8011E040[GWBoardGet()] + 6; } else { - var_r30 = starMesTbl2[GWBoardGet()][0]; + var_r30 = lbl_8011E064[GWBoardGet()][0]; } BoardWinCreate(3, var_r30, -1); BoardWinPause(); @@ -748,9 +762,9 @@ void BoardStarShowNext(s32 arg0) { BoardWinKill(); HuPrcSleep(3); if (var_r28 == 0) { - var_r30 = starMesTbl1[GWBoardGet()] + 7; + var_r30 = lbl_8011E040[GWBoardGet()] + 7; } else { - var_r30 = starMesTbl2[GWBoardGet()][1]; + var_r30 = lbl_8011E064[GWBoardGet()][1]; } BoardWinCreate(3, var_r30, -1); BoardWinWait(); diff --git a/src/game/board/start.c b/src/game/board/start.c index bb8617b7..ea25e32d 100755 --- a/src/game/board/start.c +++ b/src/game/board/start.c @@ -20,25 +20,25 @@ #include "game/board/window.h" #include "dolphin.h" -#include "ext_math.h" #include "string.h" typedef struct { struct { - u8 isBoardVisible : 1; - u8 state : 3; - u8 index : 2; - u8 isActionable : 1; - u8 hasRolled : 1; + u8 unk00_field0 : 1; + u8 unk00_field1 : 3; + u8 unk00_field2 : 2; + u8 unk00_field3 : 1; + u8 unk00_field4 : 1; }; - u8 delay; - u8 time; + u8 unk01; + u8 unk02; s8 unk03; - s8 digit; - s16 yRot; - s16 diceMdl; - s16 model; - s16 diceParManId; + s8 unk04; + char unk05[1]; + s16 unk06; + s16 unk08; + s16 unk0A; + s16 unk0C; s8 unk0E; } PlayerStartWork; @@ -89,22 +89,34 @@ static s32 hitFX[4] = { -1, -1, -1, -1 }; -static s32 startMesTbl[9][5] = { - { MAKE_MESSID(0x15, 0x01), MAKE_MESSID(0x15, 0x07), MAKE_MESSID(0x15, 0x0D), MAKE_MESSID(0x15, 0x16), MAKE_MESSID(0x15, 0x1C) }, - { MAKE_MESSID(0x15, 0x02), MAKE_MESSID(0x15, 0x08), MAKE_MESSID(0x15, 0x0E), MAKE_MESSID(0x15, 0x17), MAKE_MESSID(0x15, 0x1D) }, - { MAKE_MESSID(0x15, 0x03), MAKE_MESSID(0x15, 0x09), MAKE_MESSID(0x15, 0x0F), MAKE_MESSID(0x15, 0x18), MAKE_MESSID(0x15, 0x1E) }, - { MAKE_MESSID(0x15, 0x04), MAKE_MESSID(0x15, 0x0A), MAKE_MESSID(0x15, 0x10), MAKE_MESSID(0x15, 0x19), MAKE_MESSID(0x15, 0x1F) }, - { MAKE_MESSID(0x15, 0x05), MAKE_MESSID(0x15, 0x0B), MAKE_MESSID(0x15, 0x11), MAKE_MESSID(0x15, 0x1A), MAKE_MESSID(0x15, 0x20) }, - { MAKE_MESSID(0x15, 0x06), MAKE_MESSID(0x15, 0x0C), MAKE_MESSID(0x15, 0x12), MAKE_MESSID(0x15, 0x1B), MAKE_MESSID(0x15, 0x21) }, - { MAKE_MESSID(0x15, 0x01), MAKE_MESSID(0x15, 0x07), MAKE_MESSID(0x15, 0x0D), MAKE_MESSID(0x15, 0x16), MAKE_MESSID(0x15, 0x1C) }, - { MAKE_MESSID(0x15, 0x33), MAKE_MESSID(0x15, 0x34), MAKE_MESSID(0x15, 0x35), MAKE_MESSID(0x15, 0x36), MAKE_MESSID(0x15, 0x37) }, - { MAKE_MESSID(0x15, 0x3B), MAKE_MESSID(0x15, 0x3C), MAKE_MESSID(0x15, 0x3D), MAKE_MESSID(0x15, 0x3E), MAKE_MESSID(0x15, 0x3F) } +//mod: extend for custom data +static s32 startMesTbl[10][5] = { + { 0x00150001, 0x00150007, 0x0015000D, 0x00150016, 0x0015001C }, + { 0x00150002, 0x00150008, 0x0015000E, 0x00150017, 0x0015001D }, + { 0x00150003, 0x00150009, 0x0015000F, 0x00150018, 0x0015001E }, + { 0x00150004, 0x0015000A, 0x00150010, 0x00150019, 0x0015001F }, + { 0x00150005, 0x0015000B, 0x00150011, 0x0015001A, 0x00150020 }, + { 0x00150006, 0x0015000C, 0x00150012, 0x0015001B, 0x00150021 }, + { 0x00150001, 0x00150007, 0x0015000D, 0x00150016, 0x0015001C }, + { 0x00150033, 0x00150034, 0x00150035, 0x00150036, 0x00150037 }, + { 0x0015003B, 0x0015003C, 0x0015003D, 0x0015003E, 0x0015003F }, + //Mod TODO: fix for custom board data + { 0x0015003B, 0x0015003C, 0x0015003D, 0x0015003E, 0x0015003F } }; +//mod: extend for custom board static s32 logoSprTbl[] = { - DATA_MAKE_NUM(DATADIR_BOARD, 0x57), DATA_MAKE_NUM(DATADIR_BOARD, 0x58), DATA_MAKE_NUM(DATADIR_BOARD, 0x59), - DATA_MAKE_NUM(DATADIR_BOARD, 0x5A), DATA_MAKE_NUM(DATADIR_BOARD, 0x5B), DATA_MAKE_NUM(DATADIR_BOARD, 0x5C), - DATA_MAKE_NUM(DATADIR_BOARD, 0x57), DATA_MAKE_NUM(DATADIR_BOARD, 0x5D), DATA_MAKE_NUM(DATADIR_BOARD, 0x5E) + 0x00070057, + 0x00070058, + 0x00070059, + 0x0007005A, + 0x0007005B, + 0x0007005C, + 0x00070057, + 0x0007005D, + 0x0007005E, + //Mod TODO: custom board data + 0x0007005E }; void BoardStartExec(void) { @@ -133,7 +145,7 @@ static void DestroyStart(void) { } static void ExecStart(void) { - Vec pos; + Vec sp8; s32 i; BoardCameraNearFarSet(100.0f, 23000.0f); @@ -179,8 +191,8 @@ static void ExecStart(void) { for (i = 0; i < 4; i++) { BoardPlayerCornerPosSet(i); } - BoardSpacePosGet(0, GWPlayer->space_curr, &pos); - BoardPlayerPosSetV(0, &pos); + BoardSpacePosGet(0, GWPlayer->space_curr, &sp8); + BoardPlayerPosSetV(0, &sp8); BoardCameraMoveSet(0); BoardCameraViewSet(2); BoardCameraMotionWait(); @@ -224,10 +236,10 @@ static void ExecStart(void) { } static void ShowLogo(void) { - float scale; - float angleF; - s16 angleS; - s16 anglePosY; + float temp_f28; + float var_f27; + s16 spA; + s16 sp8; logoSprGrp = HuSprGrpCreate(1); BoardSpriteCreate(logoSprTbl[GWBoardGet()], 1000, 0, &logoSpr); @@ -236,26 +248,26 @@ static void ShowLogo(void) { HuSprAttrSet(logoSprGrp, 0, 8); HuSprScaleSet(logoSprGrp, 0, 0.01f, 0.01f); HuSprGrpPosSet(logoSprGrp, 288.0f, 240.0f); - for (angleS = 0; angleS < 90; angleS += 4) { - OSs16tof32(&angleS, &angleF); - scale = sind(angleF); - HuSprScaleSet(logoSprGrp, 0, scale, scale); + for (spA = 0; spA < 90; spA += 4) { + OSs16tof32(&spA, &var_f27); + temp_f28 = sin(var_f27 * M_PI / 180.0); + HuSprScaleSet(logoSprGrp, 0, temp_f28, temp_f28); HuPrcVSleep(); } HuSprScaleSet(logoSprGrp, 0, 1.0f, 1.0f); - for (angleS = 0; angleS < 540; angleS += 4) { - anglePosY = angleS % 180; - OSs16tof32(&anglePosY, &angleF); - scale = 1.0 + 0.7f * sind(angleF); - HuSprScaleSet(logoSprGrp, 0, scale, scale); + for (spA = 0; spA < 540; spA += 4) { + sp8 = spA % 180; + OSs16tof32(&sp8, &var_f27); + temp_f28 = 1.0 + 0.699999988079071 * sin(var_f27 * M_PI / 180.0); + HuSprScaleSet(logoSprGrp, 0, temp_f28, temp_f28); HuPrcVSleep(); } HuSprScaleSet(logoSprGrp, 0, 1.0f, 1.0f); HuPrcSleep(0x78); - for (angleS = 0; angleS < 90; angleS += 4) { - OSs16tof32(&angleS, &angleF); - scale = cosd(angleF); - HuSprScaleSet(logoSprGrp, 0, scale, scale); + for (spA = 0; spA < 90; spA += 4) { + OSs16tof32(&spA, &var_f27); + temp_f28 = cos(var_f27 * M_PI / 180.0); + HuSprScaleSet(logoSprGrp, 0, temp_f28, temp_f28); HuPrcVSleep(); } HuSprGrpKill(logoSprGrp); @@ -263,75 +275,75 @@ static void ShowLogo(void) { } static void FocusStart(void) { - Vec boardPos; - Vec offset; - Vec offset2; - Vec camRot; - float zoom; - u32 i; + Vec sp2C; + Vec sp20; + Vec sp14; + Vec sp8; + float var_f31; + u32 var_r31; - for (zoom = 14000.0f; zoom >= 2000.0f; zoom -= 50.0f) { - BoardCameraZoomSet(zoom); + for (var_f31 = 14000.0f; var_f31 >= 2000.0f; var_f31 -= 50.0f) { + BoardCameraZoomSet(var_f31); HuPrcVSleep(); } BoardCameraZoomSet(2000.0f); - BoardModelPosGet(camFocus, &boardPos); - offset.x = spacePos.x + 150.0f; - offset.y = spacePos.y + 100.0f; - offset.z = spacePos.z + 150.0f; - VECSubtract(&offset, &boardPos, &offset2); - offset2.x /= 120.0f; - offset2.y /= 120.0f; - offset2.z /= 120.0f; + BoardModelPosGet(camFocus, &sp2C); + sp20.x = spacePos.x + 150.0f; + sp20.y = spacePos.y + 100.0f; + sp20.z = spacePos.z + 150.0f; + PSVECSubtract(&sp20, &sp2C, &sp14); + sp14.x /= 120.0f; + sp14.y /= 120.0f; + sp14.z /= 120.0f; HuAudSStreamFadeOut(streamStatus, 0x1388); - for (i = 0; i < 120; i++) { - VECAdd(&offset2, &boardPos, &boardPos); - BoardModelPosSetV(camFocus, &boardPos); + for (var_r31 = 0; var_r31 < 120; var_r31++) { + PSVECAdd(&sp14, &sp2C, &sp2C); + BoardModelPosSetV(camFocus, &sp2C); HuPrcVSleep(); } - BoardModelPosSetV(camFocus, &offset); - camRot.x = -22.0f; - camRot.y = 0.0f; - camRot.z = 0.0f; - BoardCameraMotionStartEx(camFocus, &camRot, NULL, 1500.0f, -1.0f, 21); + BoardModelPosSetV(camFocus, &sp20); + sp8.x = -22.0f; + sp8.y = 0.0f; + sp8.z = 0.0f; + BoardCameraMotionStartEx(camFocus, &sp8, NULL, 1500.0f, -1.0f, 21); } static void CreatePlayerStart(void) { - Vec boardPos; - float offsetX; - omObjData *boardObj; - PlayerStartWork *boardData; + Vec spC; + float temp_f30; + omObjData *var_r29; + PlayerStartWork *var_r30; s8 i; - BoardModelPosGet(camFocus, &boardPos); + BoardModelPosGet(camFocus, &spC); for (i = 0; i < 4; i++) { playerOrderOld[i] = i; - boardObj = omAddObjEx(boardObjMan, 0x100, 0, 0, -1, ExecPlayerStart); - playerStartObj[i] = boardObj; - boardData = OM_GET_WORK_PTR(boardObj, PlayerStartWork); - boardData->isBoardVisible = 0; - boardData->index = i; - boardData->unk03 = -1; - boardData->model = -1; - boardData->diceParManId = -1; - boardData->state = 1; - boardData->delay = i * 30; - boardData->isActionable = 0; - boardData->hasRolled = 0; - boardData->yRot = 2; - boardData->digit = 1; - boardData->unk0E = 0x3C; - boardData->diceMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x18), NULL, 0); - BoardModelVisibilitySet(boardData->diceMdl, 0); - BoardModelMotionSpeedSet(boardData->diceMdl, 0.0f); - OSs8tof32(&i, &offsetX); - offsetX = 135.0f * (offsetX - 2.0f + 0.5f); - BoardModelVisibilitySet(BoardPlayerModelGet(playerOrderOld[boardData->index]), 1); - boardObj->trans.x = boardPos.x + offsetX; - boardObj->trans.y = boardPos.y + 700.0f; - boardObj->trans.z = boardPos.z + 100.0f; - BoardPlayerPosSet(playerOrderOld[boardData->index], boardObj->trans.x, boardObj->trans.y, boardObj->trans.z); - BoardPlayerMotionShiftSet(playerOrderOld[boardData->index], 4, 10.0f, 1.0f, HU3D_MOTATTR_NONE); + var_r29 = omAddObjEx(boardObjMan, 0x100, 0, 0, -1, ExecPlayerStart); + playerStartObj[i] = var_r29; + var_r30 = OM_GET_WORK_PTR(var_r29, PlayerStartWork); + var_r30->unk00_field0 = 0; + var_r30->unk00_field2 = i; + var_r30->unk03 = -1; + var_r30->unk0A = -1; + var_r30->unk0C = -1; + var_r30->unk00_field1 = 1; + var_r30->unk01 = i * 30; + var_r30->unk00_field3 = 0; + var_r30->unk00_field4 = 0; + var_r30->unk06 = 2; + var_r30->unk04 = 1; + var_r30->unk0E = 0x3C; + var_r30->unk08 = BoardModelCreate(0x70018, NULL, 0); + BoardModelVisibilitySet(var_r30->unk08, 0); + BoardModelMotionSpeedSet(var_r30->unk08, 0.0f); + OSs8tof32(&i, &temp_f30); + temp_f30 = 135.0f * (temp_f30 - 2.0f + 0.5f); + BoardModelVisibilitySet(BoardPlayerModelGet(playerOrderOld[var_r30->unk00_field2]), 1); + var_r29->trans.x = spC.x + temp_f30; + var_r29->trans.y = spC.y + 700.0f; + var_r29->trans.z = spC.z + 100.0f; + BoardPlayerPosSet(playerOrderOld[var_r30->unk00_field2], var_r29->trans.x, var_r29->trans.y, var_r29->trans.z); + BoardPlayerMotionShiftSet(playerOrderOld[var_r30->unk00_field2], 4, 10.0f, 1.0f, 0); } if (!_CheckFlag(FLAG_ID_MAKE(1, 11))) { BoardMusStart(0, 0xC, 0x7F, 0); @@ -341,107 +353,107 @@ static void CreatePlayerStart(void) { } } -static void ExecPlayerStart(omObjData *object) { - PlayerStartWork *data = OM_GET_WORK_PTR(object, PlayerStartWork); +static void ExecPlayerStart(omObjData *arg0) { + PlayerStartWork *temp_r31 = OM_GET_WORK_PTR(arg0, PlayerStartWork); - if (data->isBoardVisible != 0 || BoardIsKill()) { - if (hitFX[data->index] != -1) { - HuAudFXStop(hitFX[data->index]); - hitFX[data->index] = -1; + if (temp_r31->unk00_field0 != 0 || BoardIsKill()) { + if (hitFX[temp_r31->unk00_field2] != -1) { + HuAudFXStop(hitFX[temp_r31->unk00_field2]); + hitFX[temp_r31->unk00_field2] = -1; } - playerStartObj[data->index] = NULL; - omDelObjEx(HuPrcCurrentGet(), object); + playerStartObj[temp_r31->unk00_field2] = NULL; + omDelObjEx(HuPrcCurrentGet(), arg0); return; } - if (data->delay != 0) { - data->delay--; + if (temp_r31->unk01 != 0) { + temp_r31->unk01--; return; } - switch (data->state) { + switch (temp_r31->unk00_field1) { case 0: break; case 1: - PlayerFall(object, data); + PlayerFall(arg0, temp_r31); break; case 2: - PlayerWaitSpeak(object, data); + PlayerWaitSpeak(arg0, temp_r31); break; case 3: - PlayerDiceFall(object, data); + PlayerDiceFall(arg0, temp_r31); break; case 4: - PlayerDiceRoll(object, data); + PlayerDiceRoll(arg0, temp_r31); break; case 5: - PlayerDiceNumShow(object, data); + PlayerDiceNumShow(arg0, temp_r31); break; case 6: - PlayerDiceNumHide(object, data); + PlayerDiceNumHide(arg0, temp_r31); break; } } -static void PlayerFall(omObjData *object, PlayerStartWork *data) { +static void PlayerFall(omObjData *arg0, PlayerStartWork *arg1) { float temp_f31; - if (data->isActionable != 0) { - SetPlayerStartState(playerOrderOld[data->index], 0); - BoardPlayerIdleSet(playerOrderOld[data->index]); - if (_CheckFlag(FLAG_ID_MAKE(1, 11)) && data->index == 3) { + if (arg1->unk00_field3 != 0) { + SetPlayerStartState(playerOrderOld[arg1->unk00_field2], 0); + BoardPlayerIdleSet(playerOrderOld[arg1->unk00_field2]); + if (_CheckFlag(FLAG_ID_MAKE(1, 11)) && arg1->unk00_field2 == 3) { BoardTutorialHookExec(0, 0); } return; } - if (data->time > 200) { - data->time = -56; + if (arg1->unk02 > 200) { + arg1->unk02 = -56; } - OSu8tof32(&data->time, &temp_f31); - object->trans.y += -0.08166667f * temp_f31 * temp_f31; - if (object->trans.y < spacePos.y) { - object->trans.y = spacePos.y; - data->time = 0; - BoardPlayerMotionShiftSet(playerOrderOld[data->index], 5, 0.0f, 4.0f, HU3D_MOTATTR_NONE); - data->delay = 0xC; - data->isActionable = 1; + OSu8tof32(&arg1->unk02, &temp_f31); + arg0->trans.y += -0.08166667f * temp_f31 * temp_f31; + if (arg0->trans.y < spacePos.y) { + arg0->trans.y = spacePos.y; + arg1->unk02 = 0; + BoardPlayerMotionShiftSet(playerOrderOld[arg1->unk00_field2], 5, 0.0f, 4.0f, 0); + arg1->unk01 = 0xC; + arg1->unk00_field3 = 1; } - data->time++; - BoardPlayerPosSet(playerOrderOld[data->index], object->trans.x, object->trans.y, object->trans.z); + arg1->unk02++; + BoardPlayerPosSet(playerOrderOld[arg1->unk00_field2], arg0->trans.x, arg0->trans.y, arg0->trans.z); } -static void PlayerWaitSpeak(omObjData *object, PlayerStartWork *data) { - float yRot; +static void PlayerWaitSpeak(omObjData *arg0, PlayerStartWork *arg1) { + float var_f31; - if (data->time == 0) { - yRot = 180.0f + BoardPlayerRotYGet(playerOrderOld[data->index]); - BoardPlayerMotBlendSet(playerOrderOld[data->index], yRot, 0xF); - data->time = 1; + if (arg1->unk02 == 0) { + var_f31 = 180.0f + BoardPlayerRotYGet(playerOrderOld[arg1->unk00_field2]); + BoardPlayerMotBlendSet(playerOrderOld[arg1->unk00_field2], var_f31, 0xF); + arg1->unk02 = 1; return; } - if (BoardPlayerMotBlendCheck(playerOrderOld[data->index])) { - BoardPlayerIdleSet(playerOrderOld[data->index]); - SetPlayerStartState(playerOrderOld[data->index], 0); + if (BoardPlayerMotBlendCheck(playerOrderOld[arg1->unk00_field2])) { + BoardPlayerIdleSet(playerOrderOld[arg1->unk00_field2]); + SetPlayerStartState(playerOrderOld[arg1->unk00_field2], 0); } } -static void PlayerDiceFall(omObjData *object, PlayerStartWork *data) { - Vec boardPos; - float max; - float min; +static void PlayerDiceFall(omObjData *arg0, PlayerStartWork *arg1) { + Vec sp8; + float var_f31; + float var_f30; s32 i; - if (data->time == 0) { + if (arg1->unk02 == 0) { HuAudFXPlay(0x302); - BoardPlayerPosGet(playerOrderOld[data->index], &boardPos); - min = 250.0f; - max = 700.0f; - object->rot.x = (min - max) / 30.0f; - boardPos.y += max; - BoardModelPosSetV(data->diceMdl, &boardPos); - BoardModelVisibilitySet(data->diceMdl, 1); + BoardPlayerPosGet(playerOrderOld[arg1->unk00_field2], &sp8); + var_f30 = 250.0f; + var_f31 = 700.0f; + arg0->rot.x = (var_f30 - var_f31) / 30.0f; + sp8.y += var_f31; + BoardModelPosSetV(arg1->unk08, &sp8); + BoardModelVisibilitySet(arg1->unk08, 1); } else { - if (data->time > 30.0f) { + if (arg1->unk02 > 30.0f) { if (_CheckFlag(FLAG_ID_MAKE(1, 11))) { - if (data->index == 3) { + if (arg1->unk00_field2 == 3) { BoardTutorialHookExec(1, 0); for (i = 0; i < 4; i++) { SetPlayerStartState(playerOrderOld[i], 4); @@ -449,199 +461,199 @@ static void PlayerDiceFall(omObjData *object, PlayerStartWork *data) { } return; } - SetPlayerStartState(playerOrderOld[data->index], 4); + SetPlayerStartState(playerOrderOld[arg1->unk00_field2], 4); return; } - BoardModelPosGet(data->diceMdl, &boardPos); - boardPos.y += object->rot.x; - BoardModelPosSetV(data->diceMdl, &boardPos); + BoardModelPosGet(arg1->unk08, &sp8); + sp8.y += arg0->rot.x; + BoardModelPosSetV(arg1->unk08, &sp8); } - data->time++; + arg1->unk02++; } static s32 digitMdlTbl[9] = { - DATA_MAKE_NUM(DATADIR_BOARD, 0x0D), DATA_MAKE_NUM(DATADIR_BOARD, 0x0E), DATA_MAKE_NUM(DATADIR_BOARD, 0x0F), - DATA_MAKE_NUM(DATADIR_BOARD, 0x10), DATA_MAKE_NUM(DATADIR_BOARD, 0x11), DATA_MAKE_NUM(DATADIR_BOARD, 0x12), - DATA_MAKE_NUM(DATADIR_BOARD, 0x13), DATA_MAKE_NUM(DATADIR_BOARD, 0x14), DATA_MAKE_NUM(DATADIR_BOARD, 0x15) + 0x0007000D, 0x0007000E, 0x0007000F, + 0x00070010, 0x00070011, 0x00070012, + 0x00070013, 0x00070014, 0x00070015 }; static s32 playerOrderMesTbl[3] = { - MAKE_MESSID(0x15, 0x13), - MAKE_MESSID(0x15, 0x14), - MAKE_MESSID(0x15, 0x15) + 0x00150013, + 0x00150014, + 0x00150015 }; -static void PlayerDiceRoll(omObjData *object, PlayerStartWork *data) { - Vec boardPos; - float time; - u32 jumpCheck; - s8 player; - s8 digit; +static void PlayerDiceRoll(omObjData *arg0, PlayerStartWork *arg1) { + Vec sp8; + float var_f30; + u32 var_r28; + s8 var_r29; + s8 temp_r26; - jumpCheck = 0; - if (data->time > data->yRot) { - data->time = 0; - digit = data->digit; + var_r28 = 0; + if (arg1->unk02 > arg1->unk06) { + arg1->unk02 = 0; + temp_r26 = arg1->unk04; do { - data->digit = BoardRandMod(9); - } while (data->digit == digit); - OSs8tof32(&data->digit, &time); - BoardModelMotionTimeSet(data->diceMdl, time + 0.5f); + arg1->unk04 = BoardRandMod(9); + } while (arg1->unk04 == temp_r26); + OSs8tof32(&arg1->unk04, &var_f30); + BoardModelMotionTimeSet(arg1->unk08, var_f30 + 0.5f); } - if (data->hasRolled == 0) { - if (GWPlayer[playerOrderOld[data->index]].com) { + if (arg1->unk00_field4 == 0) { + if (GWPlayer[playerOrderOld[arg1->unk00_field2]].com) { if (_CheckFlag(FLAG_ID_MAKE(1, 11))) { - if (data->unk0E != 0) { - data->unk0E--; + if (arg1->unk0E != 0) { + arg1->unk0E--; } else { - jumpCheck = PAD_BUTTON_A; + var_r28 = 0x100; } } else if (BoardRandMod(100) < 5) { - jumpCheck = PAD_BUTTON_A; + var_r28 = 0x100; } } else { - jumpCheck = HuPadBtnDown[GWPlayer[playerOrderOld[data->index]].port]; + var_r28 = HuPadBtnDown[GWPlayer[playerOrderOld[arg1->unk00_field2]].port]; } - if (jumpCheck == PAD_BUTTON_A) { - BoardPlayerDiceJumpStart(playerOrderOld[data->index]); - data->hasRolled = 1; + if (var_r28 == 0x100) { + BoardPlayerDiceJumpStart(playerOrderOld[arg1->unk00_field2]); + arg1->unk00_field4 = 1; } } else { - if (BoardPlayerDiceJumpCheck(playerOrderOld[data->index])) { - SetPlayerStartState(playerOrderOld[data->index], 5); - data->yRot = 360; - object->rot.x = object->rot.y = 1.0f; - data->digit = BoardRandMod(9); + if (BoardPlayerDiceJumpCheck(playerOrderOld[arg1->unk00_field2])) { + SetPlayerStartState(playerOrderOld[arg1->unk00_field2], 5); + arg1->unk06 = 360; + arg0->rot.x = arg0->rot.y = 1.0f; + arg1->unk04 = BoardRandMod(9); HuAudFXPlay(0x303); - if (hitFX[data->index] != -1) { - HuAudFXStop(hitFX[data->index]); - hitFX[data->index] = -1; + if (hitFX[arg1->unk00_field2] != -1) { + HuAudFXStop(hitFX[arg1->unk00_field2]); + hitFX[arg1->unk00_field2] = -1; } - player = 0; - while (player < 4) { - if (playerOrderNew[player] == data->digit && player != playerOrderOld[data->index]) { - data->digit = BoardRandMod(9); - player = 0; + var_r29 = 0; + while (var_r29 < 4) { + if (playerOrderNew[var_r29] == arg1->unk04 && var_r29 != playerOrderOld[arg1->unk00_field2]) { + arg1->unk04 = BoardRandMod(9); + var_r29 = 0; } else { - player++; + var_r29++; } } if (_CheckFlag(FLAG_ID_MAKE(1, 11))) { - data->digit = tutorialRollTbl[data->index]; + arg1->unk04 = tutorialRollTbl[arg1->unk00_field2]; } - playerOrderNew[playerOrderOld[data->index]] = data->digit; - data->model = BoardModelCreate(digitMdlTbl[data->digit], NULL, 0); - BoardModelPosGet(data->diceMdl, &boardPos); - boardPos.x += 50.0 * sin(0.0); - boardPos.z += 50.0 * cos(0.0); - BoardModelPosSetV(data->model, &boardPos); - BoardModelMotionStart(data->model, 0, 0); - BoardModelMotionSpeedSet(data->model, 0.0f); - BoardModelMotionTimeSet(data->model, 0.0f); - BoardModelLayerSet(data->model, 2); - data->diceParManId = BoardDiceEffectCreate(); - Hu3DParManPosSet(data->diceParManId, boardPos.x, boardPos.y, boardPos.z); - Hu3DParManTimeLimitSet(data->diceParManId, 0x96); - BoardModelVisibilitySet(data->diceMdl, 0); + playerOrderNew[playerOrderOld[arg1->unk00_field2]] = arg1->unk04; + arg1->unk0A = BoardModelCreate(digitMdlTbl[arg1->unk04], NULL, 0); + BoardModelPosGet(arg1->unk08, &sp8); + sp8.x += 50.0 * sin(0.0); + sp8.z += 50.0 * cos(0.0); + BoardModelPosSetV(arg1->unk0A, &sp8); + BoardModelMotionStart(arg1->unk0A, 0, 0); + BoardModelMotionSpeedSet(arg1->unk0A, 0.0f); + BoardModelMotionTimeSet(arg1->unk0A, 0.0f); + BoardModelLayerSet(arg1->unk0A, 2); + arg1->unk0C = BoardDiceEffectCreate(); + Hu3DParManPosSet(arg1->unk0C, sp8.x, sp8.y, sp8.z); + Hu3DParManTimeLimitSet(arg1->unk0C, 0x96); + BoardModelVisibilitySet(arg1->unk08, 0); return; } } - data->time++; + arg1->unk02++; } -static void PlayerDiceNumShow(omObjData *object, PlayerStartWork *data) { - float yRot; +static void PlayerDiceNumShow(omObjData *arg0, PlayerStartWork *arg1) { + float var_f30; - data->yRot -= 18; - if (data->yRot < 0) { - data->yRot = 0; - SetPlayerStartState(playerOrderOld[data->index], 0); + arg1->unk06 -= 18; + if (arg1->unk06 < 0) { + arg1->unk06 = 0; + SetPlayerStartState(playerOrderOld[arg1->unk00_field2], 0); if (_CheckFlag(FLAG_ID_MAKE(1, 11))) { BoardTutorialHookExec(2, 0); } } - OSs16tof32(&data->yRot, &yRot); - BoardModelRotYSet(data->model, yRot); + OSs16tof32(&arg1->unk06, &var_f30); + BoardModelRotYSet(arg1->unk0A, var_f30); } -static void PlayerDiceNumHide(omObjData *object, PlayerStartWork *data) { - float yRot; +static void PlayerDiceNumHide(omObjData *arg0, PlayerStartWork *arg1) { + float var_f28; - switch (data->time) { + switch (arg1->unk02) { case 0: - data->yRot += 18; - if (data->yRot > 360) { - data->yRot = 0; - data->time = 1; - object->rot.x = 1.0f; - object->rot.y = 1.0f; + arg1->unk06 += 18; + if (arg1->unk06 > 360) { + arg1->unk06 = 0; + arg1->unk02 = 1; + arg0->rot.x = 1.0f; + arg0->rot.y = 1.0f; } - OSs16tof32(&data->yRot, &yRot); - BoardModelRotYSet(data->model, yRot); + OSs16tof32(&arg1->unk06, &var_f28); + BoardModelRotYSet(arg1->unk0A, var_f28); return; case 1: - data->yRot += 9; - if (data->yRot > 180) { - data->yRot = 0; - data->time = 2; + arg1->unk06 += 9; + if (arg1->unk06 > 180) { + arg1->unk06 = 0; + arg1->unk02 = 2; } - OSs16tof32(&data->yRot, &yRot); - object->rot.x = 1.0 + 1.3f * sind(yRot); + OSs16tof32(&arg1->unk06, &var_f28); + arg0->rot.x = 1.0 + 1.2999999523162842 * sin(var_f28 * M_PI / 180.0); break; case 2: - data->yRot += 9; - if (data->yRot > 180) { - data->yRot = 179; - data->time = 3; + arg1->unk06 += 9; + if (arg1->unk06 > 180) { + arg1->unk06 = 179; + arg1->unk02 = 3; } - OSs16tof32(&data->yRot, &yRot); - object->rot.x = cosd(0.5f * yRot); - object->rot.y = 1.0 + 1.3f * sind(yRot); + OSs16tof32(&arg1->unk06, &var_f28); + arg0->rot.x = cos(0.5f * var_f28 * M_PI / 180.0); + arg0->rot.y = 1.0 + 1.2999999523162842 * sin(var_f28 * M_PI / 180.0); break; case 3: - BoardModelVisibilitySet(data->model, 0); - data->isBoardVisible = 1; + BoardModelVisibilitySet(arg1->unk0A, 0); + arg1->unk00_field0 = 1; return; } - BoardModelScaleSet(data->model, object->rot.x, object->rot.y, 1.0f); + BoardModelScaleSet(arg1->unk0A, arg0->rot.x, arg0->rot.y, 1.0f); } -static void SetPlayerStartState(s32 player, s32 state) { - PlayerStartWork *data; - omObjData *object; +static void SetPlayerStartState(s32 arg0, s32 arg1) { + PlayerStartWork *temp_r31; + omObjData *temp_r30; - object = playerStartObj[player]; - data = OM_GET_WORK_PTR(object, PlayerStartWork); - data->state = state; - data->time = 0; - data->delay = 0; - switch (state) { + temp_r30 = playerStartObj[arg0]; + temp_r31 = OM_GET_WORK_PTR(temp_r30, PlayerStartWork); + temp_r31->unk00_field1 = arg1; + temp_r31->unk02 = 0; + temp_r31->unk01 = 0; + switch (arg1) { case 4: - hitFX[player] = HuAudFXPlay(0x300); + hitFX[arg0] = HuAudFXPlay(0x300); break; case 5: break; case 6: - data->yRot = 0; + temp_r31->unk06 = 0; break; } } -static s32 GetPlayerStartState(s32 player) { - PlayerStartWork *data; - omObjData *object; +static s32 GetPlayerStartState(s32 arg0) { + PlayerStartWork *temp_r31; + omObjData *temp_r30; - object = playerStartObj[player]; - data = OM_GET_WORK_PTR(object, PlayerStartWork); - return data->state; + temp_r30 = playerStartObj[arg0]; + temp_r31 = OM_GET_WORK_PTR(temp_r30, PlayerStartWork); + return temp_r31->unk00_field1; } static void ExecStartRoll(void) { s32 sp84[] = { 0, 1, 2, 3, 4, 5, 6, 7 }; - s32 id; - s32 time; - s32 coinCount; - s32 j; + s32 var_r29; + s32 var_r23; + s32 var_r22; + s32 var_r24; s32 i; if (!_CheckFlag(FLAG_ID_MAKE(1, 11))) { @@ -652,11 +664,11 @@ static void ExecStartRoll(void) { HuPrcVSleep(); } _CheckFlag(FLAG_ID_MAKE(1, 11)); - id = startMesTbl[GWBoardGet()][0]; - BoardWinCreate(2, id, BoardWinPortraitGetStar()); + var_r29 = startMesTbl[GWBoardGet()][0]; + BoardWinCreate(2, var_r29, BoardWinPortraitGetStar()); BoardWinWait(); - id = startMesTbl[GWBoardGet()][1]; - BoardWinCreate(2, id, BoardWinPortraitGetStar()); + var_r29 = startMesTbl[GWBoardGet()][1]; + BoardWinCreate(2, var_r29, BoardWinPortraitGetStar()); BoardWinWait(); BoardWinKill(); for (i = 0; i < 4; i++) { @@ -694,17 +706,17 @@ static void ExecStartRoll(void) { BoardTutorialHookExec(3, i); } else { if (i == 0) { - id = startMesTbl[GWBoardGet()][2]; + var_r29 = startMesTbl[GWBoardGet()][2]; } else { - id = playerOrderMesTbl[i - 1]; + var_r29 = playerOrderMesTbl[i - 1]; } - BoardWinCreate(0, id, -1); + BoardWinCreate(0, var_r29, -1); BoardWinInsertMesSet(BoardPlayerGetCharMess(i), i); BoardWinWait(); } BoardStatusShowSet(i, 1); SetPlayerStartState(playerOrderOld[i], 6); - BoardPlayerMotionShiftSet(i, 7, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(i, 7, 0.0f, 8.0f, 0); HuPrcSleep(8); while (!BoardPlayerMotionEndCheck(i)) { HuPrcVSleep(); @@ -715,26 +727,26 @@ static void ExecStartRoll(void) { BoardPlayerIdleSet(i); } if (!_CheckFlag(FLAG_ID_MAKE(1, 11))) { - id = startMesTbl[GWBoardGet()][3]; - BoardWinCreate(2, id, BoardWinPortraitGetStar()); + var_r29 = startMesTbl[GWBoardGet()][3]; + BoardWinCreate(2, var_r29, BoardWinPortraitGetStar()); BoardWinWait(); HuPrcSleep(30); if (GWBoardGet() == BOARD_ID_EXTRA1 || GWBoardGet() == BOARD_ID_EXTRA2) { - coinCount = 100; - time = 1; + var_r22 = 100; + var_r23 = 1; } else { - coinCount = 10; - time = 6; + var_r22 = 10; + var_r23 = 6; } - for (i = 0; i < coinCount; i++) { - for (j = 0; j < 4; j++) { - BoardPlayerCoinsAdd(j, 1); + for (i = 0; i < var_r22; i++) { + for (var_r24 = 0; var_r24 < 4; var_r24++) { + BoardPlayerCoinsAdd(var_r24, 1); } HuAudFXPlay(7); - HuPrcSleep(time); + HuPrcSleep(var_r23); } for (i = 0; i < 4; i++) { - BoardPlayerMotionShiftSet(i, 7, 0.0f, 8.0f, HU3D_MOTATTR_NONE); + BoardPlayerMotionShiftSet(i, 7, 0.0f, 8.0f, 0); } HuAudFXPlay(0xF); while (1) { @@ -748,16 +760,16 @@ static void ExecStartRoll(void) { for (i = 0; i < 4; i++) { BoardPlayerIdleSet(i); } - id = startMesTbl[GWBoardGet()][4]; - BoardWinCreate(2, id, BoardWinPortraitGetStar()); + var_r29 = startMesTbl[GWBoardGet()][4]; + BoardWinCreate(2, var_r29, BoardWinPortraitGetStar()); BoardWinWait(); BoardWinKill(); } } static void InitCamera(void) { - Vec offset; - Vec rotTarget; + Vec sp14; + Vec sp8; camStartFocusPos.x = 0.0f; camStartFocusPos.y = 100.0f; @@ -787,101 +799,101 @@ static void InitCamera(void) { camStartFocusPos.x -= 150.0f; break; } - camFocus = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x0A), NULL, 0); + camFocus = BoardModelCreate(0x7000A, NULL, 0); BoardModelVisibilitySet(camFocus, 0); BoardModelPosSetV(camFocus, &camStartFocusPos); if (_CheckFlag(FLAG_ID_MAKE(1, 11))) { BoardCameraMoveSet(0); - offset.x = spacePos.x + 150.0f; - offset.y = spacePos.y + 100.0f; - offset.z = spacePos.z + 150.0f; - BoardModelPosSetV(camFocus, &offset); - rotTarget.x = -22.0f; - rotTarget.y = 0.0f; - rotTarget.z = 0.0f; - offset.x = offset.y = offset.z = 0.0f; - BoardCameraMotionStartEx(camFocus, &rotTarget, NULL, 1500.0f, -1.0f, 1); + sp14.x = spacePos.x + 150.0f; + sp14.y = spacePos.y + 100.0f; + sp14.z = spacePos.z + 150.0f; + BoardModelPosSetV(camFocus, &sp14); + sp8.x = -22.0f; + sp8.y = 0.0f; + sp8.z = 0.0f; + sp14.x = sp14.y = sp14.z = 0.0f; + BoardCameraMotionStartEx(camFocus, &sp8, NULL, 1500.0f, -1.0f, 1); BoardCameraMotionWait(); BoardCameraMoveSet(1); } else { - offset.x = 0.0f; - offset.y = 0.0f; - offset.z = 0.0f; - rotTarget.x = -70.0f; - rotTarget.y = 0.0f; - rotTarget.z = 0.0f; + sp14.x = 0.0f; + sp14.y = 0.0f; + sp14.z = 0.0f; + sp8.x = -70.0f; + sp8.y = 0.0f; + sp8.z = 0.0f; BoardCameraMoveSet(0); - BoardCameraMotionStartEx(camFocus, &rotTarget, &offset, 14000.0f, -1.0f, 1); + BoardCameraMotionStartEx(camFocus, &sp8, &sp14, 14000.0f, -1.0f, 1); BoardCameraMotionWait(); BoardCameraMoveSet(1); } } static void InitHost(void) { - Vec newPos; + Vec sp8; if (!_CheckFlag(FLAG_ID_MAKE(1, 11))) { hostMdl = BoardStarHostMdlGet(); - newPos.x = spacePos.x + 150.0f; - newPos.y = spacePos.y; - newPos.z = spacePos.z - 50.0f; - BoardModelPosSetV(hostMdl, &newPos); + sp8.x = spacePos.x + 150.0f; + sp8.y = spacePos.y; + sp8.z = spacePos.z - 50.0f; + BoardModelPosSetV(hostMdl, &sp8); BoardModelVisibilitySet(hostMdl, 1); BoardModelMotionStart(hostMdl, 1, 0x40000001); } } static void CreateTapWin(void) { - float dimensions[2]; - float x; - float y; - s32 id; + float sp8[2]; + float var_f31; + float var_f30; + s32 var_r31; if (!_CheckFlag(FLAG_ID_MAKE(1, 11))) { - id = MAKE_MESSID(0x12, 0x14); - HuWinMesMaxSizeGet(1, dimensions, id); - x = -10000.0f; - y = 368.0f; - tapWin = HuWinCreate(x, y, dimensions[0], dimensions[1], 0); + var_r31 = 0x120014; + HuWinMesMaxSizeGet(1, sp8, var_r31); + var_f31 = -10000.0f; + var_f30 = 368.0f; + tapWin = HuWinCreate(var_f31, var_f30, sp8[0], sp8[1], 0); HuWinBGTPLvlSet(tapWin, 0.0f); HuWinMesSpeedSet(tapWin, 0); - HuWinMesSet(tapWin, id); + HuWinMesSet(tapWin, var_r31); HuWinDispOff(tapWin); } } static void OrderPlayers(void) { - s32 pOrderTemp; - PlayerConfig *playerCfg; - PlayerState *state; + s32 temp_r29; + PlayerConfig *temp_r28; + PlayerState *temp_r27; s32 i; s32 j; - playerCfg = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(GWPlayerCfg), MEMORY_DEFAULT_NUM); - state = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(GWPlayer), MEMORY_DEFAULT_NUM); + temp_r28 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(GWPlayerCfg), MEMORY_DEFAULT_NUM); + temp_r27 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(GWPlayer), MEMORY_DEFAULT_NUM); for (i = 0; i < 4; i++) { playerOrderOld[i] = i; - memcpy(playerCfg + i, &GWPlayerCfg[i], sizeof(PlayerConfig)); - memcpy(state + i, &GWPlayer[i], sizeof(PlayerState)); + memcpy(temp_r28 + i, &GWPlayerCfg[i], sizeof(PlayerConfig)); + memcpy(temp_r27 + i, &GWPlayer[i], sizeof(PlayerState)); } for (i = 0; i < 3; i++) { for (j = 3; j > i; j--) { if (playerOrderNew[j - 1] < playerOrderNew[j]) { - pOrderTemp = playerOrderNew[j]; + temp_r29 = playerOrderNew[j]; playerOrderNew[j] = playerOrderNew[j - 1]; - playerOrderNew[j - 1] = pOrderTemp; - pOrderTemp = playerOrderOld[j]; + playerOrderNew[j - 1] = temp_r29; + temp_r29 = playerOrderOld[j]; playerOrderOld[j] = playerOrderOld[j - 1]; - playerOrderOld[j - 1] = pOrderTemp; + playerOrderOld[j - 1] = temp_r29; } } } for (i = 0; i < 4; i++) { - memcpy(&GWPlayerCfg[i], playerCfg + playerOrderOld[i], sizeof(PlayerConfig)); - memcpy(&GWPlayer[i], state + playerOrderOld[i], sizeof(PlayerState)); + memcpy(&GWPlayerCfg[i], temp_r28 + playerOrderOld[i], sizeof(PlayerConfig)); + memcpy(&GWPlayer[i], temp_r27 + playerOrderOld[i], sizeof(PlayerState)); GWPlayer[i].port = GWPlayerCfg[i].pad_idx; GWPlayerCfg[i].pad_idx = GWPlayerCfg[i].pad_idx; } - HuMemDirectFree(playerCfg); - HuMemDirectFree(state); + HuMemDirectFree(temp_r28); + HuMemDirectFree(temp_r27); } diff --git a/src/game/board/ui.c b/src/game/board/ui.c index ff2a9066..6fc886b5 100755 --- a/src/game/board/ui.c +++ b/src/game/board/ui.c @@ -17,7 +17,6 @@ #include "game/board/model.h" #include "game/board/player.h" #include "game/board/tutorial.h" -#include "game/disp.h" #include "ext_math.h" @@ -165,17 +164,17 @@ static s16 yourTurnSprGrp = -1; static UnkUiStatusStruct uiStatus[4] = { 0 }; static s32 statusSprTbl[11] = { - DATA_MAKE_NUM(DATADIR_BOARD, 0x27), - DATA_MAKE_NUM(DATADIR_BOARD, 0x26), - DATA_MAKE_NUM(DATADIR_BOARD, 0x29), - DATA_MAKE_NUM(DATADIR_BOARD, 0x28), - DATA_MAKE_NUM(DATADIR_BOARD, 0x28), - DATA_MAKE_NUM(DATADIR_BOARD, 0x28), - DATA_MAKE_NUM(DATADIR_BOARD, 0x2D), - DATA_MAKE_NUM(DATADIR_BOARD, 0x28), - DATA_MAKE_NUM(DATADIR_BOARD, 0x28), - DATA_MAKE_NUM(DATADIR_BOARD, 0x28), - DATA_MAKE_NUM(DATADIR_BOARD, 0x2C) + 0x00070027, + 0x00070026, + 0x00070029, + 0x00070028, + 0x00070028, + 0x00070028, + 0x0007002D, + 0x00070028, + 0x00070028, + 0x00070028, + 0x0007002C }; static s16 statusSprPrioTbl[12] = { @@ -190,9 +189,9 @@ static float statusHideOfsTbl[4] = { static float statusPosTbl[4][2] = { { 114.0f, 84.0f }, - { HU_DISP_WIDTH-114, 84.0f }, - { 114.0f, HU_DISP_HEIGHT-84 }, - { HU_DISP_WIDTH-114, HU_DISP_HEIGHT-84 } + { 462.0f, 84.0f }, + { 114.0f, 396.0f }, + { 462.0f, 396.0f } }; static u8 statusColTbl[4][4] = { @@ -232,43 +231,43 @@ static float statusItemPosTbl[6][2] = { }; static s32 itemMdlTbl[14] = { - DATA_MAKE_NUM(DATADIR_BOARD, 0x83), - DATA_MAKE_NUM(DATADIR_BOARD, 0x84), - DATA_MAKE_NUM(DATADIR_BOARD, 0x85), - DATA_MAKE_NUM(DATADIR_BOARD, 0x86), - DATA_MAKE_NUM(DATADIR_BOARD, 0x87), - DATA_MAKE_NUM(DATADIR_BOARD, 0x88), - DATA_MAKE_NUM(DATADIR_BOARD, 0x89), - DATA_MAKE_NUM(DATADIR_BOARD, 0x8A), - DATA_MAKE_NUM(DATADIR_BOARD, 0x8B), - DATA_MAKE_NUM(DATADIR_BOARD, 0x8C), - DATA_MAKE_NUM(DATADIR_BOARD, 0x8D), - DATA_MAKE_NUM(DATADIR_BOARD, 0x8E), - DATA_MAKE_NUM(DATADIR_BOARD, 0x8F), - DATA_MAKE_NUM(DATADIR_BOARD, 0x90) + 0x00070083, + 0x00070084, + 0x00070085, + 0x00070086, + 0x00070087, + 0x00070088, + 0x00070089, + 0x0007008A, + 0x0007008B, + 0x0007008C, + 0x0007008D, + 0x0007008E, + 0x0007008F, + 0x00070090 }; static Vec teamItemStatusPosTbl[2] = { - { HU_DISP_CENTERX-98, 116.0f, 0.0f }, - { HU_DISP_CENTERX+98, 116.0f, 0.0f } + { 190.0f, 116.0f, 0.0f }, + { 386.0f, 116.0f, 0.0f } }; s32 BoardItemModelGet(s32 arg0) { s32 sp8[14] = { - DATA_MAKE_NUM(DATADIR_BOARD, 0x6D), - DATA_MAKE_NUM(DATADIR_BOARD, 0x6E), - DATA_MAKE_NUM(DATADIR_BOARD, 0x6F), - DATA_MAKE_NUM(DATADIR_BOARD, 0x70), - DATA_MAKE_NUM(DATADIR_BOARD, 0x71), - DATA_MAKE_NUM(DATADIR_BOARD, 0x72), - DATA_MAKE_NUM(DATADIR_BOARD, 0x73), - DATA_MAKE_NUM(DATADIR_BOARD, 0x74), - DATA_MAKE_NUM(DATADIR_BOARD, 0x76), - DATA_MAKE_NUM(DATADIR_BOARD, 0x77), - DATA_MAKE_NUM(DATADIR_BOARD, 0x78), - DATA_MAKE_NUM(DATADIR_BOARD, 0x79), - DATA_MAKE_NUM(DATADIR_BOARD, 0x7A), - DATA_MAKE_NUM(DATADIR_BOARD, 0x7B) + 0x0007006D, + 0x0007006E, + 0x0007006F, + 0x00070070, + 0x00070071, + 0x00070072, + 0x00070073, + 0x00070074, + 0x00070076, + 0x00070077, + 0x00070078, + 0x00070079, + 0x0007007A, + 0x0007007B }; return sp8[arg0]; @@ -276,21 +275,21 @@ s32 BoardItemModelGet(s32 arg0) { s32 BoardItemNameGet(s32 arg0) { s32 sp8[15] = { - DATA_MAKE_NUM(DATADIR_EFFECT, 0x00), - DATA_MAKE_NUM(DATADIR_EFFECT, 0x01), - DATA_MAKE_NUM(DATADIR_EFFECT, 0x02), - DATA_MAKE_NUM(DATADIR_EFFECT, 0x03), - DATA_MAKE_NUM(DATADIR_EFFECT, 0x04), - DATA_MAKE_NUM(DATADIR_EFFECT, 0x05), - DATA_MAKE_NUM(DATADIR_EFFECT, 0x06), - DATA_MAKE_NUM(DATADIR_EFFECT, 0x07), - DATA_MAKE_NUM(DATADIR_EFFECT, 0x08), - DATA_MAKE_NUM(DATADIR_EFFECT, 0x09), - DATA_MAKE_NUM(DATADIR_EFFECT, 0x0A), - DATA_MAKE_NUM(DATADIR_EFFECT, 0x0B), - DATA_MAKE_NUM(DATADIR_EFFECT, 0x0C), - DATA_MAKE_NUM(DATADIR_EFFECT, 0x0D), - DATA_MAKE_NUM(DATADIR_EFFECT, 0x0E) + 0x00120000, + 0x00120001, + 0x00120002, + 0x00120003, + 0x00120004, + 0x00120005, + 0x00120006, + 0x00120007, + 0x00120008, + 0x00120009, + 0x0012000A, + 0x0012000B, + 0x0012000C, + 0x0012000D, + 0x0012000E }; return sp8[arg0]; @@ -428,10 +427,10 @@ void BoardStatusHammerCreate(s32 arg0) { case 0: return; case 2: - var_r30 = DATA_MAKE_NUM(DATADIR_BOARD, 0x93); + var_r30 = 0x70093; break; case 1: - var_r30 = DATA_MAKE_NUM(DATADIR_BOARD, 0x92); + var_r30 = 0x70092; break; } if (!temp_r31->unk00_bit6) { @@ -453,10 +452,10 @@ void BoardStatusHammerShowSet(s32 arg0, s32 arg1) { if (temp_r31->unk00_bit6) { if (arg1 != 0) { - HuSprAttrSet(temp_r31->unk02, 0x10, HUSPR_ATTR_LOOP); + HuSprAttrSet(temp_r31->unk02, 0x10, 2); } else { - HuSprAttrReset(temp_r31->unk02, 0x10, HUSPR_ATTR_LOOP); - HuSprAttrSet(temp_r31->unk02, 0x10, HUSPR_ATTR_NOANIM); + HuSprAttrReset(temp_r31->unk02, 0x10, 2); + HuSprAttrSet(temp_r31->unk02, 0x10, 1); } } } @@ -525,14 +524,14 @@ static void CreateBoardStatusSprite(s32 arg0, UnkUiStatusStruct *arg1) { s32 temp_r27; s16 temp_r26; s32 spC[] = { - DATA_MAKE_NUM(DATADIR_BOARD, 0x2E), - DATA_MAKE_NUM(DATADIR_BOARD, 0x2F), - DATA_MAKE_NUM(DATADIR_BOARD, 0x30), - DATA_MAKE_NUM(DATADIR_BOARD, 0x31), - DATA_MAKE_NUM(DATADIR_BOARD, 0x32), - DATA_MAKE_NUM(DATADIR_BOARD, 0x33), - DATA_MAKE_NUM(DATADIR_BOARD, 0x34), - DATA_MAKE_NUM(DATADIR_BOARD, 0x35) + 0x0007002E, + 0x0007002F, + 0x00070030, + 0x00070031, + 0x00070032, + 0x00070033, + 0x00070034, + 0x00070035 }; s32 i; @@ -560,14 +559,14 @@ static void CreateBoardStatusSprite(s32 arg0, UnkUiStatusStruct *arg1) { var_f31 = statusSprPosTbl[11][0]; var_f30 = statusSprPosTbl[11][1]; HuSprPosSet(arg1->unk02, 11, var_f31, var_f30); - BoardSpriteCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x2A), 0x5DC, NULL, &sp8); + BoardSpriteCreate(0x7002A, 0x5DC, NULL, &sp8); HuSprGrpMemberSet(arg1->unk02, 0xC, sp8); var_f31 = statusSprPosTbl[12][0]; var_f30 = statusSprPosTbl[12][1]; HuSprPosSet(arg1->unk02, 12, var_f31, var_f30); HuSprAttrSet(arg1->unk02, 0xC, 8); for (i = 0; i < 3; i++) { - BoardSpriteCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x91), 0x5DC, NULL, &sp8); + BoardSpriteCreate(0x70091, 0x5DC, NULL, &sp8); HuSprGrpMemberSet(arg1->unk02, i + 0xD, sp8); HuSprAttrSet(arg1->unk02, i + 0xD, 1); HuSprAttrSet(arg1->unk02, i + 0xD, 8); @@ -618,15 +617,15 @@ static s32 UpdateBoardStatus(void) { temp_r27 = GWPlayer[i].items[j]; if (temp_r27 != -1 && temp_r31->unk00_bit5) { UpdateStatusItem(temp_r31, j, temp_r27); - HuSprAttrReset(temp_r31->unk02, j + 0xD, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r31->unk02, j + 0xD, 4); } else { - HuSprAttrSet(temp_r31->unk02, j + 0xD, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(temp_r31->unk02, j + 0xD, 4); } } if (GWPlayer[i].com) { - HuSprAttrReset(temp_r31->unk02, 0xC, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r31->unk02, 0xC, 4); } else { - HuSprAttrSet(temp_r31->unk02, 0xC, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(temp_r31->unk02, 0xC, 4); } temp_r28 = statusColTbl[GWPlayer[i].color]; HuSprColorSet(temp_r31->unk02, 0, temp_r28[0], temp_r28[1], temp_r28[2]); @@ -651,15 +650,15 @@ static void MoveBoardStatus(s32 arg0) { float var_f30; Vec spC; - VECSubtract(&temp_r30->unk10, &temp_r30->unk04, &spC); + PSVECSubtract(&temp_r30->unk10, &temp_r30->unk04, &spC); if (ABS(spC.x) < 1.0f && ABS(spC.y) < 1.0f) { spC = temp_r30->unk10; temp_r30->unk00_bit2 = 0; } else { OSs8tof32(&temp_r30->unk01, &var_f30); var_f30 /= 32; - VECScale(&spC, &spC, var_f30); - VECAdd(&temp_r30->unk04, &spC, &spC); + PSVECScale(&spC, &spC, var_f30); + PSVECAdd(&temp_r30->unk04, &spC, &spC); temp_r30->unk00_bit2 = 1; } temp_r30->unk04.x = spC.x; @@ -685,7 +684,7 @@ void BoardSpriteDigitUpdate(s16 arg0, s16 arg1, s32 arg2) { } else { HuSprBankSet(arg0, arg1 + 1, temp_r28); HuSprBankSet(arg0, arg1, temp_r27); - HuSprAttrReset(arg0, arg1, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(arg0, arg1, 4); } } @@ -705,14 +704,14 @@ void BoardPickerCreate(s32 arg0, s8 arg1, void *arg2, s8 arg3) { s32 temp_r28; s16 sp12; s32 sp14[] = { - DATA_MAKE_NUM(DATADIR_BOARD, 0x1E), - DATA_MAKE_NUM(DATADIR_BOARD, 0x1F), - DATA_MAKE_NUM(DATADIR_BOARD, 0x20), - DATA_MAKE_NUM(DATADIR_BOARD, 0x21), - DATA_MAKE_NUM(DATADIR_BOARD, 0x22), - DATA_MAKE_NUM(DATADIR_BOARD, 0x23), - DATA_MAKE_NUM(DATADIR_BOARD, 0x24), - DATA_MAKE_NUM(DATADIR_BOARD, 0x25) + 0x0007001E, + 0x0007001F, + 0x00070020, + 0x00070021, + 0x00070022, + 0x00070023, + 0x00070024, + 0x00070025 }; temp_r28 = GWPlayer[arg0].character; @@ -834,15 +833,15 @@ static void MovePicker(UnkUiWork01 *arg0, omObjData *arg1) { sp14.x = arg1->trans.x; sp14.y = arg1->trans.y; sp14.z = arg1->trans.z; - VECSubtract(&sp8, &sp14, &sp8); - if (VECMag(&sp8) < 1.0f) { + PSVECSubtract(&sp8, &sp14, &sp8); + if (PSVECMag(&sp8) < 1.0f) { arg1->trans.x = arg1->rot.x; arg1->trans.y = arg1->rot.y; arg1->trans.z = arg1->rot.z; arg0->unk00_bit6 = 0; } else { - VECScale(&sp8, &sp8, temp_f31); - VECAdd(&sp14, &sp8, &sp8); + PSVECScale(&sp8, &sp8, temp_f31); + PSVECAdd(&sp14, &sp8, &sp8); arg1->trans.x = sp8.x; arg1->trans.y = sp8.y; arg1->trans.z = sp8.z; @@ -900,14 +899,14 @@ void BoardYourTurnExec(s32 arg0) { s32 temp_r29; UnkUiWork02 *temp_r31; s32 sp8[] = { - DATA_MAKE_NUM(DATADIR_BOARD, 0x43), - DATA_MAKE_NUM(DATADIR_BOARD, 0x44), - DATA_MAKE_NUM(DATADIR_BOARD, 0x45), - DATA_MAKE_NUM(DATADIR_BOARD, 0x46), - DATA_MAKE_NUM(DATADIR_BOARD, 0x47), - DATA_MAKE_NUM(DATADIR_BOARD, 0x48), - DATA_MAKE_NUM(DATADIR_BOARD, 0x49), - DATA_MAKE_NUM(DATADIR_BOARD, 0x4A) + 0x00070043, + 0x00070044, + 0x00070045, + 0x00070046, + 0x00070047, + 0x00070048, + 0x00070049, + 0x0007004A }; temp_r29 = GWPlayer[arg0].character; @@ -924,7 +923,7 @@ void BoardYourTurnExec(s32 arg0) { HuSprAttrSet(yourTurnSprGrp, 0, 1); HuSprScaleSet(yourTurnSprGrp, 0, 0.001f, 0.001f); HuSprAttrSet(yourTurnSprGrp, 0, 8); - HuSprGrpPosSet(yourTurnSprGrp, HU_DISP_CENTERX, HU_DISP_CENTERY); + HuSprGrpPosSet(yourTurnSprGrp, 288.0f, 240.0f); HuAudFXPlay(0x307); while (yourTurnObj) { HuPrcVSleep(); @@ -1087,10 +1086,10 @@ static void ItemUseProc(void) { itemTeamF = 0; BoardFilterFadeOut(0x1E); if (itemUsed == 0xA) { - var_r27 = DATADIR_BKOOPASUIT; + var_r27 = 0x40000; } if (itemUsed == 0xB) { - var_r27 = DATADIR_BYOKODORI; + var_r27 = 0x90000; } if (var_r27 != -1) { var_r24 = BoardDataDirReadAsync(var_r27); @@ -1178,8 +1177,8 @@ static void DestroyItemUse(void) { for (i = 0; i < 4; i++) { GWPlayer[i].show_next = 1; } - HuDataDirClose(DATADIR_BKOOPASUIT); - HuDataDirClose(DATADIR_BYOKODORI); + HuDataDirClose(0x40000); + HuDataDirClose(0x90000); itemUseProc = NULL; } @@ -1445,7 +1444,7 @@ static void MakeItemPickSpace(UnkUiWork03 *arg0) { } for (i = 0; i < 4; i++) { for (j = 0; j < 6; j++) { - VECSubtract(&(temp_r28 + 4)[i][j], &temp_r28[i][j], &sp8); + PSVECSubtract(&(temp_r28 + 4)[i][j], &temp_r28[i][j], &sp8); if (ABS(sp8.x) < 1.0f && ABS(sp8.y) < 1.0f) { sp8 = (temp_r28 + 4)[i][j]; if (arg0->unk00_bit1 && arg0->unk03 == 0) { @@ -1453,8 +1452,8 @@ static void MakeItemPickSpace(UnkUiWork03 *arg0) { } } else { var_f29 = 0.3f; - VECScale(&sp8, &sp8, var_f29); - VECAdd(&temp_r28[i][j], &sp8, &sp8); + PSVECScale(&sp8, &sp8, var_f29); + PSVECAdd(&temp_r28[i][j], &sp8, &sp8); } temp_r28[i][j].x = sp8.x; temp_r28[i][j].y = sp8.y; @@ -1477,9 +1476,9 @@ static void SetItemUIStatus(s32 arg0) { var_f31 = statusPosTbl[i][0]; var_f30 = statusPosTbl[i][1]; for (j = 0; j < 6; j++) { - (temp_r28 + 4)[i][j].x = statusSprPosTbl[j + 11][0]; - (temp_r28 + 4)[i][j].y = statusSprPosTbl[j + 11][1]; - if (j + 11 >= 13 && j + 11 <= 15) { + (temp_r28 + 4)[i][j].x = statusSprPosTbl[j + 0xB][0]; + (temp_r28 + 4)[i][j].y = statusSprPosTbl[j + 0xB][1]; + if (j + 0xB >= 0xD && j + 0xB <= 0xF) { (temp_r28 + 4)[i][j].x += var_f31; (temp_r28 + 4)[i][j].y += var_f30; } @@ -1514,7 +1513,7 @@ void BoardItemGetDestPos(s32 arg0, Vec *arg1) { spC.y = statusPosTbl[arg0][1]; spC.z = 0.0f; for (i = 0; i < 3; i++) { - VECAdd((Vec*) &statusItemPosTbl[i + 2], &spC, &arg1[i]); + PSVECAdd((Vec*) &statusItemPosTbl[i + 2], &spC, &arg1[i]); } } @@ -1537,7 +1536,7 @@ static void ItemGetPos(s32 arg0, Vec *arg1) { } spC.z = 0.0f; for (i = 0; i < 3; i++) { - VECAdd((Vec*) statusItemPosTbl[i + 2], &spC, &arg1[i]); + PSVECAdd((Vec*) statusItemPosTbl[i + 2], &spC, &arg1[i]); } } @@ -1566,7 +1565,7 @@ void BoardItemStatusKill(s32 arg0) { } sp8.z = 0.0f; for (i = 0; i < 3; i++) { - VECAdd((Vec*) statusItemPosTbl[i + 2], &sp8, &sp68[i]); + PSVECAdd((Vec*) statusItemPosTbl[i + 2], &sp8, &sp68[i]); if (itemMdlId[arg0][i] != -1) { BoardModelRotGet(itemMdlId[arg0][i], &sp44[i]); BoardModelScaleGet(itemMdlId[arg0][i], &sp20[i]); @@ -1616,8 +1615,8 @@ static void UpdateItemPickGfx(omObjData *arg0) { if (!temp_r30->unk00_bit7) { temp_r30->unk00_bit3 = 1; HuSprBankSet(temp_r30->unk04, 0, 1); - HuSprAttrSet(temp_r30->unk04, 0, HUSPR_ATTR_LOOP); - HuSprAttrReset(temp_r30->unk04, 0, HUSPR_ATTR_NOANIM); + HuSprAttrSet(temp_r30->unk04, 0, 2); + HuSprAttrReset(temp_r30->unk04, 0, 1); arg0->func = UpdateItemPickup; HuWinDispOff(temp_r30->unk06); } else { @@ -1732,13 +1731,13 @@ static void UpdateItemPickup(omObjData *arg0) { Hu3D3Dto2D(&sp2C, 1, &sp2C); sp20.x = arg0->trans.x; sp20.y = arg0->trans.y; - VECSubtract(&sp2C, &sp20, &sp14); + PSVECSubtract(&sp2C, &sp20, &sp14); if (ABS(sp14.x) < 1.0f && ABS(sp14.y) < 1.0f) { HuSprAttrSet(temp_r31->unk04, 0, 4); temp_r31->unk00_bit3 = 6; } else { - VECScale(&sp14, &sp14, 0.1f); - VECAdd(&sp20, &sp14, &sp50); + PSVECScale(&sp14, &sp14, 0.1f); + PSVECAdd(&sp20, &sp14, &sp50); sp50.z = 3200.0f; arg0->trans.x = sp50.x; arg0->trans.y = sp50.y; @@ -1816,8 +1815,8 @@ static void CreateItemWindow(s32 arg0, s32 arg1) { = temp_r31->unk06[i] = temp_r31->unk00[i] = -1; } else { temp_r31->unk00[i] = temp_r28; - temp_r31->unk74[i].x = i * HU_DISP_WIDTHF + 36.0f; - temp_r31->unk74[i].y = var_f30 + HU_DISP_CENTERY; + temp_r31->unk74[i].x = i * 576.0f + 36.0f; + temp_r31->unk74[i].y = var_f30 + 240.0f; temp_r31->unk74[i].z = 0.0f; temp_r31->unk2C[i] = temp_r31->unk74[i]; temp_r31->unk12[i] = HuWinCreate(temp_r31->unk2C[i].x, temp_r31->unk2C[i].y, 0x1F8, 0x60, 0); @@ -1825,11 +1824,11 @@ static void CreateItemWindow(s32 arg0, s32 arg1) { HuWinCenterPosSet(temp_r31->unk12[i], 0.0f, 48.0f); HuWinMesSpeedSet(temp_r31->unk12[i], 0); HuWinMesSet(temp_r31->unk12[i], BoardItemNameGet(temp_r28)); - HuWinMesMaxSizeGet(1, sp8, temp_r28 + MAKE_MESSID(0x08, 0x0E)); + HuWinMesMaxSizeGet(1, sp8, temp_r28 + 0x8000E); temp_r31->unk1E[i] = HuWinCreate(temp_r31->unk2C[i].x, temp_r31->unk2C[i].y - (-94.0f), sp8[0], sp8[1], 0); HuWinDrawNoSet(temp_r31->unk1E[i], 0x40); HuWinMesSpeedSet(temp_r31->unk1E[i], 0); - HuWinMesSet(temp_r31->unk1E[i], temp_r28 + MAKE_MESSID(0x08, 0x0E)); + HuWinMesSet(temp_r31->unk1E[i], temp_r28 + 0x8000E); sp10.x = temp_r31->unk2C[i].x + 48.0f; sp10.y = temp_r31->unk2C[i].y; sp10.z = 400.0f; @@ -1918,12 +1917,12 @@ static void UpdateItemWindow(omObjData *arg0) { var_r27 = 0; for (i = 0; i < temp_r29->unk02; i++) { if ((temp_r31->unk06[i] != -1) && (temp_r31->unk12[i] != -1)) { - VECSubtract(&temp_r31->unk74[i], &temp_r31->unk2C[i], &sp20); - if (VECMag(&sp20) <= 1.0f) { + PSVECSubtract(&temp_r31->unk74[i], &temp_r31->unk2C[i], &sp20); + if (PSVECMag(&sp20) <= 1.0f) { temp_r31->unk2C[i] = temp_r31->unk74[i]; } else { - VECScale(&sp20, &sp20, 0.3f); - VECAdd(&sp20, &temp_r31->unk2C[i], &temp_r31->unk2C[i]); + PSVECScale(&sp20, &sp20, 0.3f); + PSVECAdd(&sp20, &temp_r31->unk2C[i], &temp_r31->unk2C[i]); var_r27 = 1; } HuWinPosSet(temp_r31->unk12[i], temp_r31->unk2C[i].x, temp_r31->unk2C[i].y); @@ -1951,32 +1950,28 @@ static void UpdateItemWindow(omObjData *arg0) { static void CreatePickerWindow(UnkUiWork01 *arg0, s32 arg1) { float spC[2]; - - float posX; - float posY; - float yOfs; + float var_f31; + float var_f30; + float var_f29; s32 var_r30; - #if VERSION_NTSC + switch (GWGameStat.language) { case 1: - yOfs = 0.0f; + var_f31 = 0.0f; break; case 0: - yOfs = 0.0f; + var_f31 = 0.0f; break; } - #else - yOfs = 0; - #endif if (arg1 != 0) { - var_r30 = MAKE_MESSID(0x10, 0x1A); + var_r30 = 0x10001A; } else { - var_r30 = MAKE_MESSID(0x10, 0x1B); + var_r30 = 0x10001B; } HuWinMesMaxSizeGet(1, spC, var_r30); - posX = -10000.0f; - posY = yOfs + (HU_DISP_HEIGHT-128); - arg0->unk06 = HuWinCreate(posX, posY, spC[0], spC[1], 0); + var_f30 = -10000.0f; + var_f29 = var_f31 + 352.0f; + arg0->unk06 = HuWinCreate(var_f30, var_f29, spC[0], spC[1], 0); HuWinBGTPLvlSet(arg0->unk06, 0.0f); HuWinMesSpeedSet(arg0->unk06, 0); HuWinMesSet(arg0->unk06, var_r30); diff --git a/src/game/board/view.c b/src/game/board/view.c index 38a6157c..fa6575dd 100755 --- a/src/game/board/view.c +++ b/src/game/board/view.c @@ -7,16 +7,12 @@ #include "game/pad.h" #include "game/sprite.h" #include "game/wipe.h" -#include "game/disp.h" - #include "game/board/main.h" #include "game/board/model.h" #include "game/board/player.h" #include "game/board/space.h" #include "game/board/ui.h" -#include "ext_math.h" - typedef struct { struct { u8 unk00_field0 : 1; @@ -56,46 +52,100 @@ static s16 focusMdl = -1; static float overhead2DPos[][2] = { { 48.0f, 72.0f }, - { HU_DISP_WIDTH-48, 72.0f }, - { 48.0f, HU_DISP_HEIGHT-72 }, - { HU_DISP_WIDTH-48, HU_DISP_HEIGHT-72 }, - { HU_DISP_CENTERX, 72.0f } + { 528.0f, 72.0f }, + { 48.0f, 408.0f }, + { 528.0f, 408.0f }, + { 288.0f, 72.0f } }; +//mod: extend for custom board static float mapViewMinZ[] = { - -2000.0f, -1500.0f, -2200.0f, - -1800.0f, -2100.0f, -3000.0f, - -3000.0f, -1800.0f, -1800.0f + -2000.0f, + -1500.0f, + -2200.0f, + -1800.0f, + -2100.0f, + -3000.0f, + -3000.0f, + -1800.0f, + -1800.0f, + //Mod TODO: fix data for custom board + -1800.0f }; +//mod: extend for custom board static float mapViewMaxZ[] = { - 2300.0f, 2500.0f, 2600.0f, - 2000.0f, 2300.0f, 2500.0f, - 2500.0f, 2000.0f, 2000.0f + 2300.0f, + 2500.0f, + 2600.0f, + 2000.0f, + 2300.0f, + 2500.0f, + 2500.0f, + 2000.0f, + 2000.0f, + //Mod TODO: fix for custom board data + 2000.0f }; +//mod: extend for custom board static float mapViewMinX[] = { - -3000.0f, -3000.0f, -3000.0f, - -3000.0f, -3000.0f, -3000.0f, - -3000.0f, -2000.0f, -2000.0f + -3000.0f, + -3000.0f, + -3000.0f, + -3000.0f, + -3000.0f, + -3000.0f, + -3000.0f, + -2000.0f, + -2000.0f, + //Mod TODO: fix for custom board data + -2000.0f }; +//mod: extend for custom board static float mapViewMaxX[] = { - 3000.0f, 3000.0f, 3000.0f, - 3000.0f, 3000.0f, 3000.0f, - 3000.0f, 1600.0f, 2000.0f + 3000.0f, + 3000.0f, + 3000.0f, + 3000.0f, + 3000.0f, + 3000.0f, + 3000.0f, + 1600.0f, + 2000.0f, + //Mod TODO: fix for custom board data + 2000.0f, }; +//mod: extend for custom board static float overheadCamZoom[] = { - 14370.0f, 14500.0f, 15000.0f, - 15000.0f, 13000.0f, 15000.0f, - 100.0f, 10000.0f, 10000.0f + 14370.0f, + 14500.0f, + 15000.0f, + 15000.0f, + 13000.0f, + 15000.0f, + 100.0f, + 10000.0f, + 10000.0f, + //Mod TODO: fix for custom board data + 10000.0f }; +//mod: extend for custom board static float overheadCamPosZ[] = { - 0.0f, 0.0f, 0.0f, - 0.0f, 0.0f, 0.0f, - 0.0f, -160.0f, 0.0f + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + -160.0f, + 0.0f, + //Mod TODO: fix for custom board data + 0.0f }; void BoardViewOverheadExec(s32 arg0) { @@ -249,11 +299,11 @@ static void ExecMapView(void) { if (sp9 != 0 || sp8 != 0) { OSs8tof32(&sp9, &spC.x); OSs8tof32(&sp8, &spC.z); - temp_f28 = atan2d(spC.x, -spC.z); - spC.x = var_f29 * sind(temp_f28); - spC.z = var_f29 * cosd(temp_f28); + temp_f28 = 180.0 * (atan2(spC.x, -spC.z) / M_PI); + spC.x = var_f29 * sin(temp_f28 * M_PI / 180.0); + spC.z = var_f29 * cos(temp_f28 * M_PI / 180.0); } - VECAdd(&spC, &focusPos, &focusPos); + PSVECAdd(&spC, &focusPos, &focusPos); if (focusPos.x < temp_f26) { focusPos.x = temp_f26; } @@ -281,7 +331,7 @@ static void ExecStarView(void) { SetTargetView(); do { OSu16tof32(&focusTimer, &temp_f30); - VECSubtract(&focusPosTarget, &focusPos, &sp8); + PSVECSubtract(&focusPosTarget, &focusPos, &sp8); sp8.x /= temp_f30; sp8.y /= temp_f30; sp8.z /= temp_f30; @@ -291,7 +341,7 @@ static void ExecStarView(void) { } focusDestroyF = 0; while (focusTimer != 0) { - VECAdd(&sp8, &focusPos, &focusPos); + PSVECAdd(&sp8, &focusPos, &focusPos); BoardModelPosSetV(focusMdl, &focusPos); HuPrcVSleep(); focusTimer--; @@ -360,7 +410,7 @@ static void SetTargetView(void) { Vec sp8; BoardCameraBackup(); - focusMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x0A), 0, 0); + focusMdl = BoardModelCreate(0x7000A, 0, 0); BoardModelVisibilitySet(focusMdl, 0); BoardModelPosSetV(focusMdl, &focusPos); BoardCameraNearFarSet(10.0f, 30000.0f); @@ -398,32 +448,20 @@ static void DestroyFocus(void) { static void CreateButtonWin(void) { float sp8[2]; - float posX; - float posY; + float var_f31; + float var_f30; s32 var_r31; if (viewControls != 2) { - var_r31 = MAKE_MESSID(0x09, 0x05); - #if VERSION_PAL - HuWinMesMaxSizeGet(1, sp8, var_r31); - posX = 288-((sp8[0]/2)-32); - #endif - posY = 286.0f; + var_r31 = 0x90005; + var_f31 = 286.0f; } else { - var_r31 = MAKE_MESSID(0x10, 0x4D); - #if VERSION_PAL - posX = -10000.0f; - posY = 324.0f; - #else - posY = 328.0f; - #endif - + var_r31 = 0x10004D; + var_f31 = 328.0f; } HuWinMesMaxSizeGet(1, sp8, var_r31); - #if VERSION_NTSC - posX = -10000.0f; - #endif - buttonWin = HuWinCreate(posX, posY, sp8[0], sp8[1], 0); + var_f30 = -10000.0f; + buttonWin = HuWinCreate(var_f30, var_f31, sp8[0], sp8[1], 0); HuWinBGTPLvlSet(buttonWin, 0.0f); HuWinMesSpeedSet(buttonWin, 0); HuWinMesSet(buttonWin, var_r31); @@ -445,14 +483,14 @@ static void InitOverheadView(void) { float *temp_r30; s32 i; s32 sp1C[8] = { - DATA_MAKE_NUM(DATADIR_BOARD, 0x2E), - DATA_MAKE_NUM(DATADIR_BOARD, 0x2F), - DATA_MAKE_NUM(DATADIR_BOARD, 0x30), - DATA_MAKE_NUM(DATADIR_BOARD, 0x31), - DATA_MAKE_NUM(DATADIR_BOARD, 0x32), - DATA_MAKE_NUM(DATADIR_BOARD, 0x33), - DATA_MAKE_NUM(DATADIR_BOARD, 0x34), - DATA_MAKE_NUM(DATADIR_BOARD, 0x35) + 0x0007002E, + 0x0007002F, + 0x00070030, + 0x00070031, + 0x00070032, + 0x00070033, + 0x00070034, + 0x00070035 }; temp_r26 = omAddObjEx(boardObjMan, 0x1000, 0, 0, -1, UpdateOverheadView); @@ -475,13 +513,13 @@ static void InitOverheadView(void) { } else { GWCharColorGet(GWPlayer[i].character, &spA); } - BoardSpriteCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x6C), 0x1770, 0, &sp8); + BoardSpriteCreate(0x7006C, 0x1770, 0, &sp8); HuSprGrpMemberSet(temp_r31->unk02, i + 4, sp8); HuSprPosSet(temp_r31->unk02, i + 4, temp_r30[0], temp_r30[1]); HuSprColorSet(temp_r31->unk02, i + 4, spA.r, spA.g, spA.b); } temp_r30 = overhead2DPos[4]; - temp_r31->unk04 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x08), NULL, 0); + temp_r31->unk04 = BoardModelCreate(0x70008, NULL, 0); BoardModelMotionSpeedSet(temp_r31->unk04, 0.0f); BoardModelLayerSet(temp_r31->unk04, 6); BoardModelScaleSet(temp_r31->unk04, 0.4f, 0.4f, 0.4f); @@ -492,7 +530,7 @@ static void InitOverheadView(void) { spA.r = 0xF8; spA.g = 0xF0; spA.b = 0x80; - BoardSpriteCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x6C), 0x1770, 0, &sp8); + BoardSpriteCreate(0x7006C, 0x1770, 0, &sp8); HuSprGrpMemberSet(temp_r31->unk02, 8, sp8); HuSprPosSet(temp_r31->unk02, 8, temp_r30[0], temp_r30[1]); HuSprColorSet(temp_r31->unk02, 8, spA.r, spA.g, spA.b); @@ -550,7 +588,7 @@ static void UpdateOverheadView(omObjData *arg0) { } for (i = 0; i < 5; i++) { var_r29 = overhead2DPos[i]; - sp20.x = var_r29[0] - HU_DISP_CENTERX; + sp20.x = var_r29[0] - 288.0f; sp20.y = var_r29[1] - 240.0f; sp20.z = 1000.0f; if (i != 4) { @@ -561,12 +599,12 @@ static void UpdateOverheadView(omObjData *arg0) { BoardSpacePosGet(0, BoardSpaceStarGetCurr(), &sp14); } Hu3D3Dto2D(&sp14, 1, &sp14); - sp14.x -= HU_DISP_CENTERX; + sp14.x -= 288.0f; sp14.y -= 240.0f; - VECSubtract(&sp20, &sp14, &sp8); + PSVECSubtract(&sp20, &sp14, &sp8); sp8.z = 0.0f; - temp_f30 = BoardDAngleCalc(atan2d(sp8.y, sp8.x) - 90.0); - temp_f31 = VECMag(&sp8) / 32; + temp_f30 = BoardDAngleCalc(180.0 * (atan2(sp8.y, sp8.x) / M_PI) - 90.0); + temp_f31 = PSVECMag(&sp8) / 32; if (i != 4) { var_r28 = i + 4; } else { @@ -579,15 +617,15 @@ static void UpdateOverheadView(omObjData *arg0) { BoardModelVisibilitySet(temp_r31->unk04, 0); } else if (temp_r31->unk01 != 0) { if (i != 4) { - HuSprAttrReset(temp_r31->unk02, i, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r31->unk02, i, 4); } - HuSprAttrReset(temp_r31->unk02, var_r28, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r31->unk02, var_r28, 4); BoardModelVisibilitySet(temp_r31->unk04, 1); } else { if (i != 4) { - HuSprAttrSet(temp_r31->unk02, i, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(temp_r31->unk02, i, 4); } - HuSprAttrSet(temp_r31->unk02, var_r28, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(temp_r31->unk02, var_r28, 4); BoardModelVisibilitySet(temp_r31->unk04, 0); } } diff --git a/src/game/board/warp.c b/src/game/board/warp.c index c25a8511..24099ae8 100644 --- a/src/game/board/warp.c +++ b/src/game/board/warp.c @@ -10,9 +10,7 @@ #include "game/hsfdraw.h" #include "game/hsfex.h" #include "game/objsub.h" -#include "game/disp.h" - -#include "ext_math.h" +#include "math.h" static void WarpInit(s32); static void WarpLaunch(s32); @@ -214,8 +212,8 @@ static void WarpImpact(s32 player) { f32 angle; s16 i; - pos.x = HU_DISP_CENTERX; - pos.y = HU_DISP_CENTERY; + pos.x = 288.0f; + pos.y = 240.0f; pos.z = 700.0f; Hu3D2Dto3D(&pos, 1, &pos); BoardModelPosSetV(warpImpactMdl, &pos); @@ -234,7 +232,7 @@ static void WarpImpact(s32 player) { speed = 4.0f; for (angle = 0.0f, temp = angle; angle < 180.0f; angle += speed) { - temp_f30 = sind(angle); + temp_f30 = sin((M_PI * angle) / 180.0); BoardModelScaleSet(warpImpactMdl, 0.5f + temp_f30, 0.5f + temp_f30, 0.5f + temp_f30); HuPrcVSleep(); } @@ -245,4 +243,4 @@ static void WarpImpact(s32 player) { BoardPlayerIdleSet(warpImpactPlayer[i]); } warpState = 6; -} +} \ No newline at end of file diff --git a/src/game/board/window.c b/src/game/board/window.c index 4fbc3f45..1481738c 100644 --- a/src/game/board/window.c +++ b/src/game/board/window.c @@ -1,8 +1,6 @@ #include "game/board/window.h" #include "game/board/main.h" #include "game/board/player.h" -#include "game/disp.h" - #include "game/gamework_data.h" static s8 winChoice; @@ -84,9 +82,9 @@ static void ExecBoardWindow(void) { {432.0f, 96.0f}, }; f32 pos_all[7][2] = { - {96.0f, HU_DISP_HEIGHT-152}, {72.0f, 128.0f}, - {36.0f, HU_DISP_HEIGHT-136}, {128.0f, HU_DISP_HEIGHT-168}, - {144.0f, HU_DISP_CENTERY-96 }, {128.0f, HU_DISP_HEIGHT-216}, + {96.0f, 328.0f}, {72.0f, 128.0f}, + {36.0f, 344.0f}, {128.0f, 312.0f}, + {144.0f, 144.0f}, {128.0f, 264.0f}, {128.0f, 75.0f}, }; @@ -97,11 +95,6 @@ static void ExecBoardWindow(void) { if (size[0] <= size_win[0]) { size[0] = size_win[0]; pos[0] = pos_win[0]; - #if VERSION_PAL - if(winPosIdx == 1) { - size[0] += 4; - } - #endif } else { pos[0] = -10000.0f; } @@ -343,7 +336,7 @@ s32 BoardWinPortraitGetStar(void) { void BoardWinPlayerSet(s32 player) { s32 i; - #if VERSION_NTSC + if (player == -1) { if (GWPartyGet() != 1) { for (i = 0, disablePlayer = i; i < 4; i++) { @@ -359,21 +352,6 @@ void BoardWinPlayerSet(s32 player) { } else { disablePlayer = ~(1 << GWPlayer[player].port); } - #else - if (player == -1) { - if (GWPartyGet() != 1) { - for (i = 0, disablePlayer = i; i < 4; i++) { - if (GWPlayer[i].com != 0) { - disablePlayer |= 1 << GWPlayer[i].port; - } - } - } else { - disablePlayer = 0; - } - } else { - disablePlayer = ~(1 << GWPlayer[player].port); - } - #endif if (_CheckFlag(FLAG_ID_MAKE(1, 11)) != 0) { disablePlayer = 0; } @@ -425,9 +403,4 @@ void BoardWinStartComKeySet(void) { void BoardWinComKeyFuncSet(BoardWinComKeyFunc func) { comKeyFunc = func; -} - -s16 BoardWinIDGet(void) -{ - return windowID; } \ No newline at end of file diff --git a/src/game/card.c b/src/game/card.c index 97fdd32d..845bf3b0 100644 --- a/src/game/card.c +++ b/src/game/card.c @@ -1,7 +1,6 @@ #include "dolphin.h" #include "game/memory.h" #include "game/card.h" -#include "version.h" static void *cardWork; u8 UnMountCnt; @@ -99,11 +98,7 @@ s32 HuCardFormat(s16 slot) static void MountCallBack(s32 chan, s32 result) { - #if VERSION_ENG UnMountCnt = (1 << chan); - #else - UnMountCnt |= (1 << chan); - #endif } s32 HuCardOpen(s16 slot, const char *fileName, CARDFileInfo *fileInfo) diff --git a/src/game/chrman.c b/src/game/chrman.c index b8ad92a3..c3d6f78e 100755 --- a/src/game/chrman.c +++ b/src/game/chrman.c @@ -83,13 +83,12 @@ static void OrbitEffect(HsfanimStruct01 *arg0); static void UpdateNpcEffect(void); static s32 PlayStepFX(s16 arg0, s16 arg1, u8 arg2); -static UnkCharInstanceStruct charInstance[CHARNO_MAX ]; -static s16 effectMdl[CHAR_EFFECT_AND_PARTICLE_MAX]; -static EffectParamData *particleData[CHAR_EFFECT_AND_PARTICLE_MAX]; +static UnkCharInstanceStruct charInstance[8]; +static s16 effectMdl[8]; +static EffectParamData *particleData[8]; static Process *itemHookProcess[32]; -//holds normal characters 0-7, then more characters 8-14 -static u16 lbl_801975B0[CHARNO_MAX + CHAR_NPC_MAX]; -static u8 lbl_801975CE[0x82]; // Unused? +static u16 lbl_801975B0[8]; +static u8 lbl_801975C0[0x90]; // Unused? static s32 skipAnimUpdate; static void *effectAMemP; @@ -101,116 +100,181 @@ static u8 lbl_801D3608[8] = { 0x0D, 0x00, 0x17, 0x69, 0x0D, 0x1E, 0x1D, 0x14 }; static u8 lbl_801D3610[8] = { 0x15, 0x1E, 0x16, 0x54, 0x0F, 0x62, 0x39, 0x0A }; static EffectData effectDataTbl[8] = { - { DATA_MAKE_NUM(DATADIR_EFFECT, 0x06), 0x000A, 0x0000, 0x00000002 }, - { DATA_MAKE_NUM(DATADIR_EFFECT, 0x05), 0x000A, 0x0000, 0x00000002 }, - { DATA_MAKE_NUM(DATADIR_EFFECT, 0x02), 0x0096, 0x0001, 0x00000000 }, - { DATA_MAKE_NUM(DATADIR_EFFECT, 0x03), 0x0046, 0x0000, 0x00000000 }, - { DATA_MAKE_NUM(DATADIR_EFFECT, 0x00), 0x012C, 0x0001, 0x00000000 }, - { DATA_MAKE_NUM(DATADIR_EFFECT, 0x01), 0x012C, 0x0001, 0x00000000 }, - { DATA_MAKE_NUM(DATADIR_EFFECT, 0x04), 0x00C8, 0x0001, 0x00000000 }, - { DATA_MAKE_NUM(DATADIR_EFFECT, 0x07), 0x000C, 0x0000, 0x00000002 }, + { 0x00120006, 0x000A, 0x0000, 0x00000002 }, + { 0x00120005, 0x000A, 0x0000, 0x00000002 }, + { 0x00120002, 0x0096, 0x0001, 0x00000000 }, + { 0x00120003, 0x0046, 0x0000, 0x00000000 }, + { 0x00120000, 0x012C, 0x0001, 0x00000000 }, + { 0x00120001, 0x012C, 0x0001, 0x00000000 }, + { 0x00120004, 0x00C8, 0x0001, 0x00000000 }, + { 0x00120007, 0x000C, 0x0000, 0x00000002 } }; -static s32 charDirTbl[CHARNO_MAX ][3] = { - { DATADIR_MARIOMDL0, DATADIR_MARIOMDL1, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00) }, - { DATADIR_LUIGIMDL0, DATADIR_LUIGIMDL1, DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x00) }, - { DATADIR_PEACHMDL0, DATADIR_PEACHMDL1, DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x00) }, - { DATADIR_YOSHIMDL0, DATADIR_YOSHIMDL1, DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x00) }, - { DATADIR_WARIOMDL0, DATADIR_WARIOMDL1, DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x00) }, - { DATADIR_DONKEYMDL0, DATADIR_DONKEYMDL1, DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x00) }, - { DATADIR_DAISYMDL0, DATADIR_DAISYMDL1, DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x00) }, - { DATADIR_WALUIGIMDL0, DATADIR_WALUIGIMDL1, DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x00) }, +static s32 charDirTbl[8][3] = { + { 0x005D0000, 0x005E0000, 0x005F0000 }, + { 0x00180000, 0x00190000, 0x001A0000 }, + { 0x006B0000, 0x006C0000, 0x006D0000 }, + { 0x00880000, 0x00890000, 0x008A0000 }, + { 0x00830000, 0x00840000, 0x00850000 }, + { 0x000F0000, 0x00100000, 0x00110000 }, + { 0x000B0000, 0x000C0000, 0x000D0000 }, + { 0x007F0000, 0x00800000, 0x00810000 } }; -static EffectParamData effectDustParam - = { 0, 0x80, 0x80, 0x80, 0xFF, 0x40, 0x20, 0x00, 0xFF, { 0.0f, 2.0f, 1.0f }, 0.95f, 0.95f, 0.95f, 0.0f, 0x00000000, 1.0f, -5.0f, 0.02f }; +static EffectParamData effectDustParam = { + 0, + 0x80, 0x80, 0x80, 0xFF, + 0x40, 0x20, 0x00, 0xFF, + { 0.0f, 2.0f, 1.0f }, + 0.95f, 0.95f, 0.95f, + 0.0f, + 0x00000000, + 1.0f, + -5.0f, + 0.02f +}; -static EffectParamData effectDotParam - = { 0, 0xFF, 0x40, 0x40, 0x80, 0xFF, 0x40, 0x40, 0x80, { 0.0f, 0.0f, 0.0f }, 0.0f, 0.0f, 0.0f, 0.0f, 0x00000000, -5.0f, 0.0f, 0.0f }; +static EffectParamData effectDotParam = { + 0, + 0xFF, 0x40, 0x40, 0x80, + 0xFF, 0x40, 0x40, 0x80, + { 0.0f, 0.0f, 0.0f }, + 0.0f, 0.0f, 0.0f, + 0.0f, + 0x00000000, + -5.0f, + 0.0f, + 0.0f +}; -static EffectParamData effectStarParam - = { 0, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, { 0.0f, 0.0f, 0.0f }, 0.95f, 0.95f, 0.95f, 0.0f, 0x00000000, -0.5f, -10.0f, 0.0f }; +static EffectParamData effectStarParam = { + 0, + 0xFF, 0xFF, 0x00, 0xFF, + 0xFF, 0xFF, 0x00, 0xFF, + { 0.0f, 0.0f, 0.0f }, + 0.95f, 0.95f, 0.95f, + 0.0f, + 0x00000000, + -0.5f, + -10.0f, + 0.0f +}; -static EffectParamData effectWarnParam - = { 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, { 0.0f, 20.0f, 0.0f }, 0.95f, 0.85f, 0.95f, 0.0f, 0x00000000, 1.0f, -5.0f, 0.0f }; +static EffectParamData effectWarnParam = { + 0, + 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, + { 0.0f, 20.0f, 0.0f }, + 0.95f, 0.85f, 0.95f, + 0.0f, + 0x00000000, + 1.0f, + -5.0f, + 0.0f +}; -static EffectParamData effectSmokeParam - = { 0, 0x80, 0x20, 0x20, 0xFF, 0x00, 0x00, 0x00, 0xFF, { 0.0f, 10.0f, 0.0f }, 1.0f, 0.95f, 1.0f, 0.0f, 0x00000000, 5.0f, -13.0f, 0.1f }; +static EffectParamData effectSmokeParam = { + 0, + 0x80, 0x20, 0x20, 0xFF, + 0x00, 0x00, 0x00, 0xFF, + { 0.0f, 10.0f, 0.0f }, + 1.0f, 0.95f, 1.0f, + 0.0f, + 0x00000000, + 5.0f, + -13.0f, + 0.1f +}; -static s8 lbl_801309A0[32] - = { 10, 32, -1, -1, 20, 40, -1, -1, 12, 37, -1, -1, 4, 25, -1, -1, 5, 30, -1, -1, 16, 1, 24, 39, 23, 50, -1, -1, 19, 39, -1, -1 }; +static s8 lbl_801309A0[32] = { + 10, 32, -1, -1, + 20, 40, -1, -1, + 12, 37, -1, -1, + 4, 25, -1, -1, + 5, 30, -1, -1, + 16, 1, 24, 39, + 23, 50, -1, -1, + 19, 39, -1, -1 +}; -static s8 lbl_801309C0[32] - = { 15, 29, -1, -1, 5, 19, -1, -1, 5, 22, -1, -1, 12, 28, -1, -1, 18, 35, -1, -1, 1, 8, 12, -1, 0, 16, -1, -1, 12, 28, -1, -1 }; +static s8 lbl_801309C0[32] = { + 15, 29, -1, -1, + 5, 19, -1, -1, + 5, 22, -1, -1, + 12, 28, -1, -1, + 18, 35, -1, -1, + 1, 8, 12, -1, + 0, 16, -1, -1, + 12, 28, -1, -1 +}; -static s8 lbl_801309E0[16] = { 5, 7, 6, 9, 10, 11, 9, -1, 9, 11, 9, -1, 8, -1, 10, -1 }; +static s8 lbl_801309E0[16] = { + 5, 7, 6, 9, + 10, 11, 9, -1, + 9, 11, 9, -1, + 8, -1, 10, -1 +}; -void CharManInit(void) -{ +void CharManInit(void) { UnkCharInstanceStruct *temp_r29; s16 i; s16 j; - for (i = 0; i < CHARNO_MAX ; i++) { + for (i = 0; i < 8; i++) { temp_r29 = &charInstance[i]; temp_r29->unkC0 = NULL; - for (j = 0; j < ARRAY_COUNT(temp_r29->unk0C); j++) { + for (j = 0; j < 32; j++) { temp_r29->unk0C[j] = -1; } temp_r29->unk00 = -1; temp_r29->unkC4 = NULL; } if (!effectAMemP) { - effectAMemP = (void *)HuAR_DVDtoARAM(0x120000); + effectAMemP = (void*) HuAR_DVDtoARAM(0x120000); } - for (i = 0; i < CHAR_EFFECT_AND_PARTICLE_MAX; i++) { + for (i = 0; i < 8; i++) { effectMdl[i] = -1; particleData[i] = NULL; } - for (i = 0; i < ARRAY_COUNT(itemHookProcess); i++) { + for (i = 0; i < 32; i++) { itemHookProcess[i] = NULL; } } -void *CharAMemPtrGet(s16 character) -{ +void *CharAMemPtrGet(s16 character) { return charInstance[character].unkC0; } -void CharARAMOpen(s16 character) -{ +void CharARAMOpen(s16 character) { UnkCharInstanceStruct *temp_r31; - if (character >= CHARNO_MAX || character < 0 || character == 0xFF) { + if (character >= 8 || character < 0 || character == 0xFF) { return; } temp_r31 = &charInstance[character]; if (!temp_r31->unkC0) { - temp_r31->unkC0 = (void *)HuAR_DVDtoARAM(charDirTbl[character][2]); + temp_r31->unkC0 = (void*) HuAR_DVDtoARAM(charDirTbl[character][2]); } } -void CharARAMClose(s16 character) -{ +void CharARAMClose(s16 character) { UnkCharInstanceStruct *temp_r31; temp_r31 = &charInstance[character]; if (temp_r31->unkC0) { - HuARFree((u32)temp_r31->unkC0); + HuARFree((u32) temp_r31->unkC0); temp_r31->unkC0 = NULL; } } -void CharKill(s16 character) -{ +void CharKill(s16 character) { s16 i; if (character == -1) { for (i = 0; i < 8; i++) { CharKill(i); } - } - else { + } else { HuDataDirClose(charDirTbl[character][0]); HuDataDirClose(charDirTbl[character][1]); HuDataDirClose(charDirTbl[character][2]); @@ -218,16 +282,14 @@ void CharKill(s16 character) } } -void CharKillAll(void) -{ +void CharKillAll(void) { CharModelKill(-1); CharKill(-1); - HuARFree((u32)effectAMemP); + HuARFree((u32) effectAMemP); effectAMemP = NULL; } -s16 CharModelCreate(s16 character, s16 lod) -{ +s16 CharModelCreate(s16 character, s16 lod) { s16 sp8 = 0; UnkCharInstanceStruct *temp_r31; void *var_r26; @@ -241,14 +303,11 @@ s16 CharModelCreate(s16 character, s16 lod) } if (lod & 1) { var_r29 = charDirTbl[character][0]; - } - else if (lod & 2) { + } else if (lod & 2) { var_r29 = charDirTbl[character][1]; - } - else if (lod & 4) { + } else if (lod & 4) { var_r29 = charDirTbl[character][1] | 1; - } - else { + } else { var_r29 = charDirTbl[character][1] | 2; } var_r26 = HuDataSelHeapReadNum(var_r29, MEMORY_DEFAULT_NUM, HEAP_DATA); @@ -263,8 +322,7 @@ s16 CharModelCreate(s16 character, s16 lod) return var_r25; } -static void UpdateChar(void) -{ +static void UpdateChar(void) { Vec sp8; s16 *temp_r28; UnkCharInstanceStruct *temp_r31; @@ -287,8 +345,7 @@ static void UpdateChar(void) temp_r31->unk04 = temp_r31->unk4C[i]; UpdateCharAnim(*temp_r28, temp_r31->unk00, temp_r31->unk4C[i], temp_r31->unk8C[i], temp_r29->unk_64, &sp8); temp_r31->unk08 = temp_r31->unk4C[i]; - } - else { + } else { temp_r31->unk04 = -1; } if (temp_r29->unk_0C != -1) { @@ -303,12 +360,10 @@ static void UpdateChar(void) temp_r31->unk06 = temp_r31->unk4C[i]; UpdateCharAnim(*temp_r28, temp_r31->unk00, temp_r31->unk4C[i], temp_r31->unk8C[i], temp_r29->unk_84, &sp8); temp_r31->unk0A = temp_r31->unk4C[i]; - } - else { + } else { temp_r31->unk06 = -1; } - } - else if (var_r27 != 0) { + } else if (var_r27 != 0) { CharModelTexAnimSet(*temp_r28); var_r27 = 0; } @@ -317,8 +372,7 @@ static void UpdateChar(void) } } -static void UpdateCharAnim(s16 character, s16 arg1, s16 arg2, u8 arg3, s16 arg4, Vec *arg5) -{ +static void UpdateCharAnim(s16 character, s16 arg1, s16 arg2, u8 arg3, s16 arg4, Vec *arg5) { Vec sp1C; Vec sp10; ModelData *temp_r30; @@ -427,8 +481,7 @@ static void UpdateCharAnim(s16 character, s16 arg1, s16 arg2, u8 arg3, s16 arg4, if (arg2 == 7) { Hu3DModelObjMtxGet(arg1, CharModelHookNameGet(character, temp_r29->unk02, 0), sp28); var_r20 = 10; - } - else { + } else { Hu3DModelObjMtxGet(arg1, CharModelHookNameGet(character, temp_r29->unk02, 1), sp28); var_r20 = 13; } @@ -441,7 +494,7 @@ static void UpdateCharAnim(s16 character, s16 arg1, s16 arg2, u8 arg3, s16 arg4, sp1C.y = sp28[1][3]; sp1C.z = sp28[2][3]; if (arg4 != 0) { - VECSubtract(&sp1C, arg5, &sp10); + PSVECSubtract(&sp1C, arg5, &sp10); var_r20 = 0.2 * sqrtf(sp10.x * sp10.x + sp10.y * sp10.y + sp10.z * sp10.z); if (var_r20 > 5) { var_r20 = 5; @@ -450,13 +503,12 @@ static void UpdateCharAnim(s16 character, s16 arg1, s16 arg2, u8 arg3, s16 arg4, var_r20 = 1; } for (i = 1; i <= var_r20; i++) { - sp10.x = arg5->x + (sp1C.x - arg5->x) * ((float)i / var_r20); - sp10.y = arg5->y + (sp1C.y - arg5->y) * ((float)i / var_r20); - sp10.z = arg5->z + (sp1C.z - arg5->z) * ((float)i / var_r20); + sp10.x = arg5->x + (sp1C.x - arg5->x) * ((float) i / var_r20); + sp10.y = arg5->y + (sp1C.y - arg5->y) * ((float) i / var_r20); + sp10.z = arg5->z + (sp1C.z - arg5->z) * ((float) i / var_r20); CreateEffectDot(arg1, sp10.x, sp10.y, sp10.z, 50.0f, &effectDotParam); } - } - else { + } else { CreateEffectDot(arg1, sp1C.x, sp1C.y, sp1C.z, 40.0f, &effectDotParam); } *arg5 = sp1C; @@ -469,15 +521,13 @@ static void UpdateCharAnim(s16 character, s16 arg1, s16 arg2, u8 arg3, s16 arg4, effectStarParam.unk0C.x = 10.0 * sind(45.0f * i) * temp_r30->scale.x; effectStarParam.unk0C.y = 0.0f; effectStarParam.unk0C.z = 10.0 * cosd(45.0f * i) * temp_r30->scale.x; - CreateEffectStar( - arg1, temp_r30->pos.x, temp_r30->pos.y + 10.0f * temp_r30->scale.x, temp_r30->pos.z, 40.0f, &effectStarParam); + CreateEffectStar(arg1, temp_r30->pos.x, temp_r30->pos.y + 10.0f * temp_r30->scale.x, temp_r30->pos.z, 40.0f, &effectStarParam); } for (i = 0; i < 8; i++) { effectDustParam.unk0C.x = 4.0 * sind(45.0f * i + 22.5) * temp_r30->scale.x; effectDustParam.unk0C.y = 0.0f; effectDustParam.unk0C.z = 4.0 * cosd(45.0f * i + 22.5) * temp_r30->scale.x; - CreateEffectDust( - arg1, temp_r30->pos.x, temp_r30->pos.y + 10.0f * temp_r30->scale.x, temp_r30->pos.z, 20.0f, &effectDustParam); + CreateEffectDust(arg1, temp_r30->pos.x, temp_r30->pos.y + 10.0f * temp_r30->scale.x, temp_r30->pos.z, 20.0f, &effectDustParam); } } PlayCharVoice(character, 0x119, arg3); @@ -500,11 +550,9 @@ static void UpdateCharAnim(s16 character, s16 arg1, s16 arg2, u8 arg3, s16 arg4, var_r27->unk08.x = arg1; if (character == 7) { var_r27->unk08.y = 190.0f; - } - else if (character == 2 || character == 5 || character == 6) { + } else if (character == 2 || character == 5 || character == 6) { var_r27->unk08.y = 140.0f; - } - else { + } else { var_r27->unk08.y = 120.0f; } var_r27->unk14.x = var_r27->unk14.z = 0.0f; @@ -515,8 +563,7 @@ static void UpdateCharAnim(s16 character, s16 arg1, s16 arg2, u8 arg3, s16 arg4, effectDustParam.unk0C.x = 4.0 * sind(45.0f * i + 22.5) * temp_r30->scale.x; effectDustParam.unk0C.y = 0.0f; effectDustParam.unk0C.z = 4.0 * cosd(45.0f * i + 22.5) * temp_r30->scale.x; - CreateEffectDust( - arg1, temp_r30->pos.x, temp_r30->pos.y + 10.0f * temp_r30->scale.x, temp_r30->pos.z, 20.0f, &effectDustParam); + CreateEffectDust(arg1, temp_r30->pos.x, temp_r30->pos.y + 10.0f * temp_r30->scale.x, temp_r30->pos.z, 20.0f, &effectDustParam); } } } @@ -537,11 +584,9 @@ static void UpdateCharAnim(s16 character, s16 arg1, s16 arg2, u8 arg3, s16 arg4, var_r27->unk08.x = arg1; if (character == 7) { var_r27->unk08.y = 150.0f; - } - else if (character == 2 || character == 5 || character == 6) { + } else if (character == 2 || character == 5 || character == 6) { var_r27->unk08.y = 120.0f; - } - else { + } else { var_r27->unk08.y = 100.0f; } var_r27->unk14.x = var_r27->unk14.z = 0.0f; @@ -554,8 +599,7 @@ static void UpdateCharAnim(s16 character, s16 arg1, s16 arg2, u8 arg3, s16 arg4, if (!(temp_r29->unkAC & 1) && !(temp_r29->unkAC & 0x10)) { PlayCharVoice(character, 0x11A, arg3); for (i = 0; i < 3; i++) { - var_r19 = CreateEffectBird( - arg1, temp_r30->pos.x, temp_r30->pos.y + 100.0f * temp_r30->scale.x, temp_r30->pos.z, 1.0f, &effectWarnParam); + var_r19 = CreateEffectBird(arg1, temp_r30->pos.x, temp_r30->pos.y + 100.0f * temp_r30->scale.x, temp_r30->pos.z, 1.0f, &effectWarnParam); if (var_r19 == -1) { break; } @@ -583,11 +627,9 @@ static void UpdateCharAnim(s16 character, s16 arg1, s16 arg2, u8 arg3, s16 arg4, if (arg4 == 0) { if (temp_r29->unkB0 == 4) { PlayCharVoice(character, 0x10A, arg3); - } - else if (temp_r29->unkB0 == 5) { + } else if (temp_r29->unkB0 == 5) { PlayCharVoice(character, 0x10C, arg3); - } - else { + } else { PlayCharVoice(character, 0x115, arg3); } } @@ -638,8 +680,7 @@ static void UpdateCharAnim(s16 character, s16 arg1, s16 arg2, u8 arg3, s16 arg4, PlayCharVoice(character, 0x124, arg3); temp_r29->unkAC |= 2; var_r22 |= 2; - } - else if (omcurovl >= OVL_W01 && arg4 == lbl_801D35F8[character]) { + } else if (omcurovl >= OVL_W01 && arg4 == lbl_801D35F8[character]) { PlayCharVoice(character, 0x122, arg3); temp_r29->unkAC |= 2; var_r22 |= 2; @@ -680,8 +721,7 @@ static void UpdateCharAnim(s16 character, s16 arg1, s16 arg2, u8 arg3, s16 arg4, } } -static s32 PlayCharVoice(s16 character, s16 arg1, u8 arg2) -{ +static s32 PlayCharVoice(s16 character, s16 arg1, u8 arg2) { UnkCharInstanceStruct *temp_r31; ModelData *temp_r29; @@ -692,14 +732,12 @@ static s32 PlayCharVoice(s16 character, s16 arg1, u8 arg2) } if (temp_r31->unkAC & 8) { return HuAudCharVoicePlayPos(character, arg1, &temp_r29->pos); - } - else { + } else { return HuAudCharVoicePlay(character, arg1); } } -static void InitEffect(void) -{ +static void InitEffect(void) { HsfanimStruct01 *var_r29; ParticleData *temp_r30; void *temp_r26; @@ -709,12 +747,12 @@ static void InitEffect(void) s16 j; var_r27 = 0; - for (i = 0; i < CHAR_EFFECT_AND_PARTICLE_MAX; i++) { + for (i = 0; i < 8; i++) { if (effectMdl[i] == -1) { temp_r26 = HuDataSelHeapReadNum(effectDataTbl[i].unk00, MEMORY_DEFAULT_NUM, HEAP_DATA); temp_r25 = HuSprAnimRead(temp_r26); effectMdl[i] = Hu3DParticleCreate(temp_r25, effectDataTbl[i].unk04); - if (i == CHAR_EFFECT_AND_PARTICLE_MAX - 1) { + if (i == 7) { Hu3DParticleAnimModeSet(effectMdl[i], 0); } Hu3DParticleHookSet(effectMdl[i], UpdateEffect); @@ -734,12 +772,11 @@ static void InitEffect(void) } } if (var_r27 != 0) { - HuDataDirClose(DATADIR_EFFECT); + HuDataDirClose(0x120000); } } -static s16 CreateEffectDust(s16 arg0, float arg1, float arg2, float arg3, float arg4, EffectParamData *arg5) -{ +static s16 CreateEffectDust(s16 arg0, float arg1, float arg2, float arg3, float arg4, EffectParamData *arg5) { ModelData *temp_r31; temp_r31 = &Hu3DData[arg0]; @@ -750,8 +787,7 @@ static s16 CreateEffectDust(s16 arg0, float arg1, float arg2, float arg3, float return CreateEffect(effectMdl[2], temp_r31->camera, arg1, arg2, arg3, arg4, arg5); } -static s16 CreateEffectSmoke(s16 arg0, float arg1, float arg2, float arg3, float arg4, EffectParamData *arg5) -{ +static s16 CreateEffectSmoke(s16 arg0, float arg1, float arg2, float arg3, float arg4, EffectParamData *arg5) { ModelData *temp_r31; temp_r31 = &Hu3DData[arg0]; @@ -762,8 +798,7 @@ static s16 CreateEffectSmoke(s16 arg0, float arg1, float arg2, float arg3, float return CreateEffect(effectMdl[3], temp_r31->camera, arg1, arg2, arg3, arg4, arg5); } -static s16 CreateEffectDot(s16 arg0, float arg1, float arg2, float arg3, float arg4, EffectParamData *arg5) -{ +static s16 CreateEffectDot(s16 arg0, float arg1, float arg2, float arg3, float arg4, EffectParamData *arg5) { ModelData *temp_r31; temp_r31 = &Hu3DData[arg0]; @@ -774,8 +809,7 @@ static s16 CreateEffectDot(s16 arg0, float arg1, float arg2, float arg3, float a return CreateEffect(effectMdl[6], temp_r31->camera, arg1, arg2, arg3, arg4, arg5); } -static s16 CreateEffectStar(s16 arg0, float arg1, float arg2, float arg3, float arg4, EffectParamData *arg5) -{ +static s16 CreateEffectStar(s16 arg0, float arg1, float arg2, float arg3, float arg4, EffectParamData *arg5) { ModelData *temp_r31; temp_r31 = &Hu3DData[arg0]; @@ -786,8 +820,7 @@ static s16 CreateEffectStar(s16 arg0, float arg1, float arg2, float arg3, float return CreateEffect(effectMdl[4], temp_r31->camera, arg1, arg2, arg3, arg4, arg5); } -static s16 CreateEffectWarn(s16 arg0, float arg1, float arg2, float arg3, float arg4, EffectParamData *arg5) -{ +static s16 CreateEffectWarn(s16 arg0, float arg1, float arg2, float arg3, float arg4, EffectParamData *arg5) { ModelData *temp_r31; temp_r31 = &Hu3DData[arg0]; @@ -798,8 +831,7 @@ static s16 CreateEffectWarn(s16 arg0, float arg1, float arg2, float arg3, float return CreateEffect(effectMdl[0], temp_r31->camera, arg1, arg2, arg3, arg4, arg5); } -static s16 CreateEffectBird(s16 arg0, float arg1, float arg2, float arg3, float arg4, EffectParamData *arg5) -{ +static s16 CreateEffectBird(s16 arg0, float arg1, float arg2, float arg3, float arg4, EffectParamData *arg5) { ModelData *temp_r31; temp_r31 = &Hu3DData[arg0]; @@ -810,8 +842,7 @@ static s16 CreateEffectBird(s16 arg0, float arg1, float arg2, float arg3, float return CreateEffect(effectMdl[7], temp_r31->camera, arg1, arg2, arg3, arg4, arg5); } -static s16 CreateEffect(s16 arg0, s16 arg1, float arg2, float arg3, float arg4, float arg5, EffectParamData *arg6) -{ +static s16 CreateEffect(s16 arg0, s16 arg1, float arg2, float arg3, float arg4, float arg5, EffectParamData *arg6) { ModelData *var_r28; ParticleData *temp_r30; EffectParamData *var_r27; @@ -851,15 +882,13 @@ static s16 CreateEffect(s16 arg0, s16 arg1, float arg2, float arg3, float arg4, var_r31->unk00 = 0; var_r31->unk02 = -1; temp_r30->unk_02 = i; - } - else { + } else { return -1; } return i; } -static void UpdateEffect(ModelData *model, ParticleData *particle, Mtx matrix) -{ +static void UpdateEffect(ModelData *model, ParticleData *particle, Mtx matrix) { EffectParamData *temp_r30; HsfanimStruct01 *var_r31; s16 var_r28; @@ -879,29 +908,26 @@ static void UpdateEffect(ModelData *model, ParticleData *particle, Mtx matrix) var_r31->unk08.x *= temp_r30[i].unk18; var_r31->unk08.y *= temp_r30[i].unk1C; var_r31->unk08.z *= temp_r30[i].unk20; - VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); + PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); var_r31->unk08.y += temp_r30[i].unk24; var_r28 = var_r31->unk40.r + temp_r30[i].unk34 * (temp_r30[i].unk08 - temp_r30[i].unk04); if (var_r28 < 0) { var_r28 = 0; - } - else if (var_r28 > 0xFF) { + } else if (var_r28 > 0xFF) { var_r28 = 0xFF; } var_r31->unk40.r = var_r28; var_r28 = var_r31->unk40.g + temp_r30[i].unk34 * (temp_r30[i].unk09 - temp_r30[i].unk05); if (var_r28 < 0) { var_r28 = 0; - } - else if (var_r28 > 0xFF) { + } else if (var_r28 > 0xFF) { var_r28 = 0xFF; } var_r31->unk40.g = var_r28; var_r28 = var_r31->unk40.b + temp_r30[i].unk34 * (temp_r30[i].unk0A - temp_r30[i].unk06); if (var_r28 < 0) { var_r28 = 0; - } - else if (var_r28 > 0xFF) { + } else if (var_r28 > 0xFF) { var_r28 = 0xFF; } var_r31->unk40.b = var_r28; @@ -912,9 +938,8 @@ static void UpdateEffect(ModelData *model, ParticleData *particle, Mtx matrix) var_r31->unk40.a = var_r28; if (var_r31->unk2C) { if (temp_r30[i].unk00 & 1) { - var_r31->unk2C = var_r31->unk28 * (((var_r31->unk00 + i) & 1) ? 1.0 : 0.5); - } - else { + var_r31->unk2C = var_r31->unk28 * (((var_r31->unk00_s16 + i) & 1) ? 1.0 : 0.5); + } else { var_r31->unk2C = var_r31->unk28; } var_r31->unk28 += temp_r30[i].unk2C; @@ -922,9 +947,8 @@ static void UpdateEffect(ModelData *model, ParticleData *particle, Mtx matrix) var_r31->unk2C = 0.0f; } } - var_r31->unk00++; - } - else { + var_r31->unk00_s16++; + } else { switch (var_r31->unk02) { case 0: RotateEffect(var_r31); @@ -942,40 +966,41 @@ static void UpdateEffect(ModelData *model, ParticleData *particle, Mtx matrix) DCStoreRangeNoSync(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01)); } -static void RotateEffect(HsfanimStruct01 *arg0) -{ +static void RotateEffect(HsfanimStruct01 *arg0) { ModelData *temp_r30; float var_f31; - temp_r30 = &Hu3DData[(s32)arg0->unk08.x]; - if (arg0->unk00 < 8) { - var_f31 = 0.3 + sind(40.0f + 10.0f * (arg0->unk00 + 1)); + temp_r30 = &Hu3DData[(s32) arg0->unk08.x]; + if (arg0->unk00_s16 < 8) { + var_f31 = 0.3 + sind(40.0f + 10.0f * (arg0->unk00_s16 + 1)); arg0->unk2C = 50.0f * var_f31 * temp_r30->scale.x; arg0->unk40.a = 0xFF; - var_f31 = 0.3 + sind(15.0f * (arg0->unk00 + 1)); - } - else { + var_f31 = 0.3 + sind(15.0f * (arg0->unk00_s16 + 1)); + } else { var_f31 = 0.3 + sind(135); } var_f31 *= temp_r30->scale.x; arg0->unk34.x = temp_r30->pos.x + arg0->unk14.x * var_f31; arg0->unk34.y = temp_r30->pos.y + arg0->unk08.y * temp_r30->scale.x + arg0->unk14.y * var_f31; arg0->unk34.z = temp_r30->pos.z + arg0->unk14.z * var_f31; - if (arg0->unk00 > 0x14) { + if (arg0->unk00_s16 > 0x14) { arg0->unk40.a -= 0x20; arg0->unk2C -= 8.0f * temp_r30->scale.x; if (arg0->unk2C < 0.0f) { arg0->unk2C = 0.0f; } } - arg0->unk00++; + arg0->unk00_s16++; } -static float voiceParam[16] - = { 110.0f, 160.0f, 110.0f, 160.0f, 150.0f, 180.0f, 130.0f, 160.0f, 130.0f, 160.0f, 150.0f, 160.0f, 150.0f, 180.0f, 120.0f, 210.0f }; +static float voiceParam[16] = { + 110.0f, 160.0f, 110.0f, 160.0f, + 150.0f, 180.0f, 130.0f, 160.0f, + 130.0f, 160.0f, 150.0f, 160.0f, + 150.0f, 180.0f, 120.0f, 210.0f +}; -static void PlayEffectSound(HsfanimStruct01 *arg0) -{ +static void PlayEffectSound(HsfanimStruct01 *arg0) { ModelData *temp_r30; UnkCharInstanceStruct *temp_r29; s16 temp_r26; @@ -985,25 +1010,24 @@ static void PlayEffectSound(HsfanimStruct01 *arg0) temp_r28 = arg0->unk08.x; temp_r29 = &charInstance[temp_r28]; temp_r30 = &Hu3DData[temp_r29->unk00]; - if (arg0->unk00 < 0x14 && arg0->unk2C < 40.0f * temp_r30->scale.x) { + if (arg0->unk00_s16 < 0x14 && arg0->unk2C < 40.0f * temp_r30->scale.x) { arg0->unk2C += 4.0f * temp_r30->scale.x; } arg0->unk40.a = 0xFF; if (temp_r29->unk04 == 0x16 || temp_r29->unk06 == 0x16) { var_r25 = voiceParam[temp_r28 * 2]; - } - else { + } else { var_r25 = voiceParam[temp_r28 * 2 + 1]; } - temp_r26 = (arg0->unk00 * 5) % 360; + temp_r26 = (arg0->unk00_s16 * 5) % 360; arg0->unk34.x = temp_r30->pos.x + 40.0 * sind(arg0->unk08.y + temp_r26) * temp_r30->scale.x; arg0->unk34.y = temp_r30->pos.y + var_r25 * temp_r30->scale.x; arg0->unk34.z = temp_r30->pos.z + 40.0 * cosd(arg0->unk08.y + temp_r26) * temp_r30->scale.x; - arg0->unk00++; - if (arg0->unk00 >= 0x8F) { - arg0->unk00 = 0x48; + arg0->unk00_s16++; + if (arg0->unk00_s16 >= 0x8F) { + arg0->unk00_s16 = 0x48; } - if (temp_r29->unk04 != 0x15 && temp_r29->unk04 != 0x16 && temp_r29->unk04 != 0x79 && arg0->unk00 > 0x1E) { + if (temp_r29->unk04 != 0x15 && temp_r29->unk04 != 0x16 && temp_r29->unk04 != 0x79 && arg0->unk00_s16 > 0x1E) { arg0->unk2C -= 4.0f * temp_r30->scale.x; if (arg0->unk2C < 0.0f) { arg0->unk2C = 0.0f; @@ -1015,8 +1039,7 @@ static void PlayEffectSound(HsfanimStruct01 *arg0) } } -s16 CharModelMotionCreate(s16 character, s32 data_num) -{ +s16 CharModelMotionCreate(s16 character, s32 data_num) { UnkCharInstanceStruct *temp_r31; s16 var_r28; s16 var_r30; @@ -1036,20 +1059,19 @@ s16 CharModelMotionCreate(s16 character, s32 data_num) return -1; } temp_r26 = data_num & 0xFFFF0000; - for (var_r28 = 0; var_r28 < CHARNO_MAX ; var_r28++) { + for (var_r28 = 0; var_r28 < 8; var_r28++) { if (temp_r26 == charDirTbl[var_r28][2]) { break; } } - if (var_r28 != CHARNO_MAX || temp_r26 == 0) { + if (var_r28 != 8 || temp_r26 == 0) { data_num &= 0xFFFF; var_r27 = HuAR_ARAMtoMRAMFileRead(data_num | charDirTbl[character][2], MEMORY_DEFAULT_NUM, 2); if (!var_r27) { var_r27 = HuDataSelHeapReadNum(data_num | charDirTbl[character][2], MEMORY_DEFAULT_NUM, HEAP_DATA); } temp_r31->unk4C[var_r30] = data_num; - } - else { + } else { var_r27 = HuDataSelHeapReadNum(data_num, MEMORY_DEFAULT_NUM, HEAP_DATA); temp_r31->unk4C[var_r30] = -1; } @@ -1058,29 +1080,27 @@ s16 CharModelMotionCreate(s16 character, s32 data_num) return temp_r31->unk0C[var_r30]; } -void CharModelMotionIndexSet(s16 character, s16 arg1, s32 arg2) -{ +void CharModelMotionIndexSet(s16 character, s16 arg1, s32 arg2) { UnkCharInstanceStruct *temp_r30; s16 i; temp_r30 = &charInstance[character]; - for (i = 0; i < ARRAY_COUNT(temp_r30->unk0C); i++) { + for (i = 0; i < 32; i++) { if (temp_r30->unk0C[i] == arg1) { break; } } - if (i != ARRAY_COUNT(temp_r30->unk0C)) { + if (i != 32) { temp_r30->unk4C[i] = arg2; } } -void CharModelMotionKill(s16 character, u32 motion) -{ +void CharModelMotionKill(s16 character, u32 motion) { UnkCharInstanceStruct *temp_r30; s16 i; temp_r30 = &charInstance[character]; - for (i = 0; i < ARRAY_COUNT(temp_r30->unk0C); i++) { + for (i = 0; i < 32; i++) { if (temp_r30->unk0C[i] == motion) { break; } @@ -1089,56 +1109,51 @@ void CharModelMotionKill(s16 character, u32 motion) Hu3DMotionKill(motion); } -void CharModelMotionDataClose(s16 character) -{ +void CharModelMotionDataClose(s16 character) { s16 i; if (character == -1) { - for (i = 0; i < CHARNO_MAX ; i++) { + for (i = 0; i < 8; i++) { CharModelMotionDataClose(i); } - } - else { + } else { HuDataDirClose(charDirTbl[character][2]); } } -void CharModelDataClose(s16 arg0) -{ +void CharModelDataClose(s16 arg0) { s16 i; if (arg0 == -1) { - for (i = 0; i < CHARNO_MAX ; i++) { + for (i = 0; i < 8; i++) { CharModelDataClose(i); // Required to match. - (void)i; - (void)arg0; + (void) i; + (void) arg0; } - } - else { + } else { HuDataDirClose(charDirTbl[arg0][0]); HuDataDirClose(charDirTbl[arg0][1]); HuDataDirClose(charDirTbl[arg0][2]); } } -void CharModelKill(s16 character) -{ +void CharModelKill(s16 character) { UnkCharInstanceStruct *temp_r29; s16 i; if (character == -1) { - for (i = 0; i < CHARNO_MAX ; i++) { + for (i = 0; i < 8; i++) { CharModelKill(i); } - for (i = 0; i < ARRAY_COUNT(lbl_801975B0); i++) { + for (i = 0; i < 15; i++) { lbl_801975B0[i] = 0; } return; } CharModelMotionDataClose(character); temp_r29 = &charInstance[character]; - for (i = 0; i < ARRAY_COUNT(temp_r29->unk0C); i++) { + for (i = 0; i < 32; i++) { if (temp_r29->unk0C[i] != -1) { Hu3DMotionKill(temp_r29->unk0C[i]); } @@ -1148,13 +1163,13 @@ void CharModelKill(s16 character) Hu3DModelKill(temp_r29->unk00); } temp_r29->unk00 = -1; - for (i = 0; i < CHARNO_MAX ; i++) { + for (i = 0; i < 8; i++) { if (charInstance[i].unk00 != -1) { break; } } - if (i == CHARNO_MAX ) { - for (i = 0; i < CHAR_EFFECT_AND_PARTICLE_MAX; i++) { + if (i == 8) { + for (i = 0; i < 8; i++) { if (effectMdl[i] != -1) { Hu3DModelKill(effectMdl[i]); } @@ -1164,7 +1179,7 @@ void CharModelKill(s16 character) if (temp_r29->unkC4) { HuMemDirectFree(temp_r29->unkC4->user_data); HuPrcKill(temp_r29->unkC4); - for (i = 0; i < ARRAY_COUNT(itemHookProcess); i++) { + for (i = 0; i < 32; i++) { if (itemHookProcess[i]) { HuPrcKill(itemHookProcess[i]); } @@ -1174,8 +1189,7 @@ void CharModelKill(s16 character) } } -void CharModelMotionSet(s16 character, s16 motion) -{ +void CharModelMotionSet(s16 character, s16 motion) { UnkCharInstanceStruct *temp_r31; MotionData *sp8; @@ -1185,8 +1199,7 @@ void CharModelMotionSet(s16 character, s16 motion) Hu3DMotionSet(temp_r31->unk00, motion); } -void CharModelTexAnimSet(s16 character) -{ +void CharModelTexAnimSet(s16 character) { HsfAttribute *var_r31; HsfdrawStruct01 *temp_r30; ModelData *temp_r26; @@ -1218,16 +1231,26 @@ void CharModelTexAnimSet(s16 character) } } -char *charTexNameTbl[64] = { "s3c000m1_eyes", "s3c000m1_eyes", "s3c000m1_eyes", "s3c000m1_eyes", "s3c000m2_eyes", "s3c000m2_eyes", "s3c000m3_eyes", - "s3c000m3_eyes", "S3c001m0_eye", "S3c001m0_eye", "S3c001m1_eye", "S3c001m1_eye", "c001m3_eye", "c001m3_eye", "c001m3_eye", "c001m3_eye", - "s3c002m0_r_eye", "s3c002m0_l_eye", "s3c002m1_r_eye", "s3c002m1_l_eye", "s3c002m2_r_eye", "s3c002m2_l_eye", "", "", "eye1", "eye2", "S3c003m1", - "S3c003m1", "eye1", "eye2", "eye1", "eye2", "GC-eyes", "GC-eyes", "s3c004m1_eye", "s3c004m1_eye", "Clswario_eye_l1_AUTO12", - "Clswario_eye_l1_AUTO13", "", "", "m_donkey_eye4", "m_donkey_eye5", "S3donkey_eye", "S3donkey_eye", "m_donkey_eye1", "m_donkey_eye2", "", "", - "GC-eyes", "GC-eyes", "s3c007m1_Eye_L", "s3c007m1_Eye_R", "mat87", "mat89", "", "", "clswaluigi_eye_l1_AUTO1", "clswaluigi_eye_l1_AUTO2", - "s3c007_m1_eye", "s3c007_m1_eye", "clswaluigi_eye_l1_AUTO9", "clswaluigi_eye_l1_AUTO10", "", "" }; +char *charTexNameTbl[64] = { + "s3c000m1_eyes", "s3c000m1_eyes", "s3c000m1_eyes", "s3c000m1_eyes", + "s3c000m2_eyes", "s3c000m2_eyes", "s3c000m3_eyes", "s3c000m3_eyes", + "S3c001m0_eye", "S3c001m0_eye", "S3c001m1_eye", "S3c001m1_eye", + "c001m3_eye", "c001m3_eye", "c001m3_eye", "c001m3_eye", + "s3c002m0_r_eye", "s3c002m0_l_eye", "s3c002m1_r_eye", "s3c002m1_l_eye", + "s3c002m2_r_eye", "s3c002m2_l_eye", "", "", + "eye1", "eye2", "S3c003m1", "S3c003m1", + "eye1", "eye2", "eye1", "eye2", + "GC-eyes", "GC-eyes", "s3c004m1_eye", "s3c004m1_eye", + "Clswario_eye_l1_AUTO12", "Clswario_eye_l1_AUTO13", "", "", + "m_donkey_eye4", "m_donkey_eye5", "S3donkey_eye", "S3donkey_eye", + "m_donkey_eye1", "m_donkey_eye2", "", "", + "GC-eyes", "GC-eyes", "s3c007m1_Eye_L", "s3c007m1_Eye_R", + "mat87", "mat89", "", "", + "clswaluigi_eye_l1_AUTO1", "clswaluigi_eye_l1_AUTO2", "s3c007_m1_eye", "s3c007_m1_eye", + "clswaluigi_eye_l1_AUTO9", "clswaluigi_eye_l1_AUTO10", "", "" +}; -char **CharModelTexNameGet(s16 arg0, s16 arg1) -{ +char **CharModelTexNameGet(s16 arg0, s16 arg1) { s16 var_r30; s16 i; @@ -1239,15 +1262,18 @@ char **CharModelTexNameGet(s16 arg0, s16 arg1) return &charTexNameTbl[arg0 * 8 + i * 2]; } -static char *hookNameTbl[40] - = { "a-itemhook-r", "a-itemhook-l", "a-itemhook-fr", "a-itemhook-fl", "a-itemhook-body", "a-itemhook-r", "a-itemhook-l", "a-itemhook-fr", - "a-itemhook-fl", "a-itemhook-body", "a-itemhook-r", "a-itemhook-l", "a-itemhook-fr", "a-itemhook-fl", "a-itemhook-body", "a-itemhook-r", - "a-itemhook-l", "a-itemhook-fr", "a-itemhook-fl", "a-itemhook-body", "a-itemhook-r", "a-itemhook-l", "a-itemhook-fr", "a-itemhook-fl", - "a-itemhook-body", "a-itemhook-r", "a-itemhook-l", "a-itemhook-fr", "a-itemhook-fl", "a-itemhook-body", "a-itemhook-r", "a-itemhook-l", - "a-itemhook-fr", "a-itemhook-fl", "a-itemhook-body", "a-itemhook-r", "a-itemhook-l", "a-itemhook-fr", "a-itemhook-fl", "a-itemhook-body" }; +static char *hookNameTbl[40] = { + "a-itemhook-r", "a-itemhook-l", "a-itemhook-fr", "a-itemhook-fl", "a-itemhook-body", + "a-itemhook-r", "a-itemhook-l", "a-itemhook-fr", "a-itemhook-fl", "a-itemhook-body", + "a-itemhook-r", "a-itemhook-l", "a-itemhook-fr", "a-itemhook-fl", "a-itemhook-body", + "a-itemhook-r", "a-itemhook-l", "a-itemhook-fr", "a-itemhook-fl", "a-itemhook-body", + "a-itemhook-r", "a-itemhook-l", "a-itemhook-fr", "a-itemhook-fl", "a-itemhook-body", + "a-itemhook-r", "a-itemhook-l", "a-itemhook-fr", "a-itemhook-fl", "a-itemhook-body", + "a-itemhook-r", "a-itemhook-l", "a-itemhook-fr", "a-itemhook-fl", "a-itemhook-body", + "a-itemhook-r", "a-itemhook-l", "a-itemhook-fr", "a-itemhook-fl", "a-itemhook-body" +}; -char *CharModelHookNameGet(s16 arg0, s16 arg1, s16 arg2) -{ +char *CharModelHookNameGet(s16 arg0, s16 arg1, s16 arg2) { s16 i; s16 var_r30; @@ -1259,94 +1285,82 @@ char *CharModelHookNameGet(s16 arg0, s16 arg1, s16 arg2) return hookNameTbl[arg0 * 5 + arg2]; } -void CharModelMotionTimeSet(s16 character, float time) -{ +void CharModelMotionTimeSet(s16 character, float time) { UnkCharInstanceStruct *temp_r31 = &charInstance[character]; Hu3DMotionTimeSet(temp_r31->unk00, time); } -float CharModelMotionTimeGet(s16 character) -{ +float CharModelMotionTimeGet(s16 character) { UnkCharInstanceStruct *temp_r31 = &charInstance[character]; return Hu3DMotionTimeGet(temp_r31->unk00); } -float CharModelMotionMaxTimeGet(s16 character) -{ +float CharModelMotionMaxTimeGet(s16 character) { UnkCharInstanceStruct *temp_r31 = &charInstance[character]; return Hu3DMotionMaxTimeGet(temp_r31->unk00); } -s32 CharModelMotionEndCheck(s16 character) -{ +s32 CharModelMotionEndCheck(s16 character) { UnkCharInstanceStruct *temp_r31 = &charInstance[character]; return Hu3DMotionEndCheck(temp_r31->unk00); } -s16 CharModelMotionShiftIDGet(s16 character) -{ +s16 CharModelMotionShiftIDGet(s16 character) { UnkCharInstanceStruct *temp_r31 = &charInstance[character]; return Hu3DMotionShiftIDGet(temp_r31->unk00); } -void CharModelMotionShiftSet(s16 character, s16 motion, float time, float shift_time, u32 attr) -{ +void CharModelMotionShiftSet(s16 character, s16 motion, float time, float shift_time, u32 attr) { UnkCharInstanceStruct *temp_r31 = &charInstance[character]; MotionData *sp18 = &Hu3DMotion[motion]; Hu3DMotionShiftSet(temp_r31->unk00, motion, time, shift_time, attr); } -float CharModelMotionShiftTimeGet(s16 character) -{ +float CharModelMotionShiftTimeGet(s16 character) { UnkCharInstanceStruct *temp_r31 = &charInstance[character]; return Hu3DMotionShiftTimeGet(temp_r31->unk00); } -void CharModelMotionSpeedSet(s16 character, float speed) -{ +void CharModelMotionSpeedSet(s16 character, float speed) { UnkCharInstanceStruct *temp_r31 = &charInstance[character]; Hu3DMotionSpeedSet(temp_r31->unk00, speed); } -void CharModelLayerSetAll(s16 arg0) -{ +void CharModelLayerSetAll(s16 arg0) { s16 i; - for (i = 0; i < CHAR_EFFECT_AND_PARTICLE_MAX; i++) { + for (i = 0; i < 8; i++) { if (effectMdl[i] != -1) { Hu3DModelLayerSet(effectMdl[i], arg0); } } } -static inline Process *CharModelItemHookCreateInlineFunc(void) -{ +static inline Process *CharModelItemHookCreateInlineFunc(void) { s16 i; - for (i = 0; i < ARRAY_COUNT(itemHookProcess); i++) { + for (i = 0; i < 32; i++) { if (!itemHookProcess[i]) { break; } } - if (i == ARRAY_COUNT(itemHookProcess)) { + if (i == 32) { return NULL; - } - else { + } else { itemHookProcess[i] = HuPrcCreate(UpdateItemHook, 0x64, 0x2000, 0); return itemHookProcess[i]; } } -void CharModelItemHookCreate(s16 character, char *arg1) -{ +void CharModelItemHookCreate(s16 character, char *arg1) { Mtx sp18; Vec spC; UnkCharInstanceStruct *temp_r31; @@ -1367,7 +1381,7 @@ void CharModelItemHookCreate(s16 character, char *arg1) Hu3DModelHookObjReset(temp_r31->unk00, arg1); var_r26 = CharModelItemHookCreateInlineFunc(); if (!var_r26) { - Hu3DModelAttrSet(temp_r29, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(temp_r29, 1); return; } var_r26->user_data = temp_r27 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkProcessData), MEMORY_DEFAULT_NUM); @@ -1383,8 +1397,7 @@ void CharModelItemHookCreate(s16 character, char *arg1) } } -static void UpdateItemHook(void) -{ +static void UpdateItemHook(void) { Mtx sp14; Vec sp8; ModelData *temp_r30; @@ -1411,7 +1424,7 @@ static void UpdateItemHook(void) sp8.x = PGMinPos.x + (PGMaxPos.x - PGMinPos.x) / 2; sp8.y = PGMinPos.y + (PGMaxPos.y - PGMinPos.y) / 2; sp8.z = PGMinPos.z + (PGMaxPos.z - PGMinPos.z) / 2; - Hu3DModelAttrSet(temp_r31->unk02, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(temp_r31->unk02, 1); effectDustParam.unk0C.x = 0.0f; effectDustParam.unk0C.y = 0.0f; effectDustParam.unk0C.z = 0.0f; @@ -1424,7 +1437,7 @@ static void UpdateItemHook(void) } PSMTXIdentity(temp_r30->unk_F0); temp_r25 = HuPrcCurrentGet(); - for (var_r28 = 0; var_r28 < ARRAY_COUNT(itemHookProcess); var_r28++) { + for (var_r28 = 0; var_r28 < 32; var_r28++) { if (itemHookProcess[var_r28] == temp_r25) { HuPrcKill(temp_r25); itemHookProcess[var_r28] = NULL; @@ -1435,18 +1448,27 @@ static void UpdateItemHook(void) } } -static EffectParamData modelParticleParam - = { 0, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0x20, 0x00, 0xFF, { 0.0f, 2.0f, 1.0f }, 0.95f, 0.95f, 0.95f, 0.0f, 0x00000000, 1.0f, -5.0f, 0.02f }; +static EffectParamData modelParticleParam = { + 0, + 0xFF, 0xFF, 0xFF, 0xFF, + 0x40, 0x20, 0x00, 0xFF, + { 0.0f, 2.0f, 1.0f }, + 0.95f, 0.95f, 0.95f, + 0.0f, + 0x00000000, + 1.0f, + -5.0f, + 0.02f +}; -void CharModelEffectCreate(s16 arg0, Vec *arg1) -{ +void CharModelEffectCreate(s16 arg0, Vec *arg1) { s16 temp_r28; s16 i; HsfanimStruct01 *var_r31; ParticleData *var_r27; ModelData *var_r26; - for (i = 0; i < CHAR_EFFECT_AND_PARTICLE_MAX; i++) { + for (i = 0; i < 8; i++) { temp_r28 = CreateEffect(effectMdl[3], arg0, arg1->x, arg1->y, arg1->z, 20.0f, &modelParticleParam); if (temp_r28 == -1) { break; @@ -1463,7 +1485,7 @@ void CharModelEffectCreate(s16 arg0, Vec *arg1) var_r31->unk24 = 0.1f * (frandmod(20) - 10); var_r31->unk40.a = 0xFF - frandmod(3) * 16; } - for (i = 0; i < CHAR_EFFECT_AND_PARTICLE_MAX; i++) { + for (i = 0; i < 8; i++) { temp_r28 = CreateEffect(effectMdl[3], arg0, arg1->x, arg1->y, arg1->z, 10.0f, &modelParticleParam); if (temp_r28 == -1) { break; @@ -1496,13 +1518,12 @@ void CharModelEffectCreate(s16 arg0, Vec *arg1) } } -static void OrbitEffect(HsfanimStruct01 *arg0) -{ +static void OrbitEffect(HsfanimStruct01 *arg0) { float temp_f31; float var_f30; s16 temp_r30; - var_f30 = 20.0f + 3.75f * arg0->unk00; + var_f30 = 20.0f + 3.75f * arg0->unk00_s16; if (var_f30 > 90.0f) { var_f30 = 90.0f; } @@ -1515,25 +1536,33 @@ static void OrbitEffect(HsfanimStruct01 *arg0) if (arg0->unk20 < 1.0f) { arg0->unk20 = 1.0f; } - if (arg0->unk00 > 8) { + if (arg0->unk00_s16 > 8) { temp_r30 = arg0->unk40.a; temp_r30 -= 8; if (temp_r30 < 0) { arg0->unk40.a = 0; arg0->unk2C = 0.0f; - } - else { + } else { arg0->unk40.a = temp_r30; } } - arg0->unk00++; + arg0->unk00_s16++; } -static EffectParamData coinParticleParam - = { 1, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, { 0.0f, 2.0f, 1.0f }, 0.95f, 1.0f, 0.95f, -0.1f, 0x00000000, -0.2f, -8.0f, 0.0f }; +static EffectParamData coinParticleParam = { + 1, + 0xFF, 0xFF, 0x00, 0xFF, + 0xFF, 0xFF, 0x00, 0xFF, + { 0.0f, 2.0f, 1.0f }, + 0.95f, 1.0f, 0.95f, + -0.1f, + 0x00000000, + -0.2f, + -8.0f, + 0.0f +}; -void CharModelCoinEffectCreate(s16 arg0, Vec *arg1) -{ +void CharModelCoinEffectCreate(s16 arg0, Vec *arg1) { s16 temp_r29; s16 var_r28; s16 i; @@ -1550,14 +1579,33 @@ void CharModelCoinEffectCreate(s16 arg0, Vec *arg1) } } -static EffectParamData lbl_80131030 - = { 0, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x80, 0x00, 0xFF, { 0.0f, 2.0f, 1.0f }, 0.95f, 0.95f, 0.95f, 0.0f, 0x00000000, -0.2f, -16.0f, 0.05f }; +static EffectParamData lbl_80131030 = { + 0, + 0xFF, 0xFF, 0x00, 0xFF, + 0xFF, 0x80, 0x00, 0xFF, + { 0.0f, 2.0f, 1.0f }, + 0.95f, 0.95f, 0.95f, + 0.0f, + 0x00000000, + -0.2f, + -16.0f, + 0.05f +}; -static EffectParamData lbl_80131068 - = { 0, 0xE0, 0x20, 0x20, 0xFF, 0xE0, 0x20, 0x20, 0xFF, { 0.0f, 2.0f, 1.0f }, 1.0f, 1.0f, 1.0f, 0.0f, 0x00000000, -0.2f, -12.0f, 0.05f }; +static EffectParamData lbl_80131068 = { + 0, + 0xE0, 0x20, 0x20, 0xFF, + 0xE0, 0x20, 0x20, 0xFF, + { 0.0f, 2.0f, 1.0f }, + 1.0f, 1.0f, 1.0f, + 0.0f, + 0x00000000, + -0.2f, + -12.0f, + 0.05f +}; -void fn_8004EC74(s16 character) -{ +void fn_8004EC74(s16 character) { Mtx sp24; Vec sp18; Vec spC; @@ -1567,12 +1615,12 @@ void fn_8004EC74(s16 character) temp_r30 = &charInstance[character]; temp_r31 = &Hu3DData[temp_r30->unk00]; - for (i = 0; i < ARRAY_COUNT(temp_r30->unk0C); i++) { + for (i = 0; i < 32; i++) { if (temp_r30->unk0C[i] == temp_r31->unk_08) { break; } } - if (i != ARRAY_COUNT(temp_r30->unk0C)) { + if (i != 32) { Hu3DModelObjMtxGet(temp_r30->unk00, "test11_tex_we-itemhook-r", sp24); sp18.x = sp24[0][3]; sp18.y = sp24[1][3]; @@ -1581,14 +1629,13 @@ void fn_8004EC74(s16 character) spC.x = sp24[0][2]; spC.y = sp24[1][2]; spC.z = sp24[2][2]; - VECScale(&spC, &spC, 20.0f); - VECAdd(&sp18, &spC, &sp18); + PSVECScale(&spC, &spC, 20.0f); + PSVECAdd(&sp18, &spC, &sp18); fn_8004EDA4(temp_r31->camera, &sp18, &temp_r31->rot); } } -void fn_8004EDA4(s16 arg0, Vec *arg1, Vec *arg2) -{ +void fn_8004EDA4(s16 arg0, Vec *arg1, Vec *arg2) { Mtx sp2C; Vec sp20; Vec sp14; @@ -1606,15 +1653,15 @@ void fn_8004EDA4(s16 arg0, Vec *arg1, Vec *arg2) sp14.x = sp20.x * sp20.y * (1.0 - cosd(temp_f31)) - sp20.z * sind(temp_f31); sp14.y = sp20.y * sp20.y + (1.0f - sp20.y * sp20.y) * cosd(temp_f31); sp14.z = sp20.y * sp20.z * (1.0 - cosd(temp_f31)) + sp20.x * sind(temp_f31); - VECNormalize(&sp14, &sp14); - VECScale(&sp14, &lbl_80131030.unk0C, 10.0f); + PSVECNormalize(&sp14, &sp14); + PSVECScale(&sp14, &lbl_80131030.unk0C, 10.0f); var_r28 = CreateEffect(effectMdl[4], arg0, arg1->x, arg1->y, arg1->z, 20.0f, &lbl_80131030); if (var_r28 == -1) { break; } - VECScale(&sp20, &sp8, -2.0 - 0.1 * frandmod(20)); - VECScale(&sp14, &sp14, 2.0f); - VECAdd(&sp14, &sp8, &lbl_80131068.unk0C); + PSVECScale(&sp20, &sp8, -2.0 - 0.1 * frandmod(20)); + PSVECScale(&sp14, &sp14, 2.0f); + PSVECAdd(&sp14, &sp8, &lbl_80131068.unk0C); var_r28 = CreateEffect(effectMdl[6], arg0, arg1->x, arg1->y, arg1->z, 20.0f, &lbl_80131068); if (var_r28 == -1) { break; @@ -1622,19 +1669,38 @@ void fn_8004EDA4(s16 arg0, Vec *arg1, Vec *arg2) } } -static EffectParamData lbl_801310BC - = { 0, 0x20, 0x20, 0xFF, 0xFF, 0x80, 0xFF, 0x20, 0xFF, 0.0f, 2.0f, 1.0f, 0.95f, 0.95f, 0.95f, 0.0f, 0x00000000, -0.2f, -16.0f, 0.06f }; +static EffectParamData lbl_801310BC = { + 0, + 0x20, 0x20, 0xFF, 0xFF, + 0x80, 0xFF, 0x20, 0xFF, + 0.0f, 2.0f, 1.0f, + 0.95f, 0.95f, 0.95f, + 0.0f, + 0x00000000, + -0.2f, + -16.0f, + 0.06f +}; -static EffectParamData lbl_801310F4 - = { 0, 0x20, 0xE0, 0x20, 0xFF, 0x20, 0xE0, 0x20, 0xFF, 0.0f, 2.0f, 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0x00000000, -0.2f, -12.0f, 0.05f }; +static EffectParamData lbl_801310F4 = { + 0, + 0x20, 0xE0, 0x20, 0xFF, + 0x20, 0xE0, 0x20, 0xFF, + 0.0f, 2.0f, 1.0f, + 1.0f, 1.0f, 1.0f, + 0.0f, + 0x00000000, + -0.2f, + -12.0f, + 0.05f +}; -void fn_8004F058(s16 character) -{ +void fn_8004F058(s16 character) { Mtx sp24; Vec sp18; Vec spC; - ModelData *temp_r31; - UnkCharInstanceStruct *temp_r30; + ModelData* temp_r31; + UnkCharInstanceStruct* temp_r30; temp_r30 = &charInstance[character]; temp_r31 = &Hu3DData[temp_r30->unk00]; @@ -1646,13 +1712,12 @@ void fn_8004F058(s16 character) spC.x = sp24[0][2]; spC.y = sp24[1][2]; spC.z = sp24[2][2]; - VECScale(&spC, &spC, 30.0f); - VECAdd(&sp18, &spC, &sp18); + PSVECScale(&spC, &spC, 30.0f); + PSVECAdd(&sp18, &spC, &sp18); fn_8004F13C(temp_r31->camera, &sp18, &temp_r31->rot); } -void fn_8004F13C(s16 arg0, Vec *arg1, Vec *arg2) -{ +void fn_8004F13C(s16 arg0, Vec *arg1, Vec *arg2) { Mtx sp2C; Vec sp20; Vec sp14; @@ -1670,15 +1735,15 @@ void fn_8004F13C(s16 arg0, Vec *arg1, Vec *arg2) sp14.x = sp20.x * sp20.y * (1.0 - cosd(temp_f31)) - sp20.z * sind(temp_f31); sp14.y = sp20.y * sp20.y + (1.0f - sp20.y * sp20.y) * cosd(temp_f31); sp14.z = sp20.y * sp20.z * (1.0 - cosd(temp_f31)) + sp20.x * sind(temp_f31); - VECNormalize(&sp14, &sp14); - VECScale(&sp14, &lbl_801310BC.unk0C, 10.0f); + PSVECNormalize(&sp14, &sp14); + PSVECScale(&sp14, &lbl_801310BC.unk0C, 10.0f); var_r28 = CreateEffect(effectMdl[4], arg0, arg1->x, arg1->y, arg1->z, 20.0f, &lbl_801310BC); if (var_r28 == -1) { break; } - VECScale(&sp20, &sp8, -2.0 - 0.1 * frandmod(20)); - VECScale(&sp14, &sp14, 2.0f); - VECAdd(&sp14, &sp8, &lbl_801310F4.unk0C); + PSVECScale(&sp20, &sp8, -2.0 - 0.1 * frandmod(20)); + PSVECScale(&sp14, &sp14, 2.0f); + PSVECAdd(&sp14, &sp8, &lbl_801310F4.unk0C); var_r28 = CreateEffect(effectMdl[6], arg0, arg1->x, arg1->y, arg1->z, 20.0f, &lbl_801310F4); if (var_r28 == -1) { break; @@ -1686,70 +1751,61 @@ void fn_8004F13C(s16 arg0, Vec *arg1, Vec *arg2) } } -void CharModelLayerSetAll2(s16 arg0) -{ +void CharModelLayerSetAll2(s16 arg0) { CharModelLayerSetAll(arg0); } -void CharModelVoiceEnableSet(s16 character, s16 motion, s32 flag) -{ - UnkCharInstanceStruct *temp_r31 = &charInstance[character]; +void CharModelVoiceEnableSet(s16 character, s16 motion, s32 flag) { + UnkCharInstanceStruct* temp_r31 = &charInstance[character]; s16 i; if (temp_r31->unk00 == -1) { return; } - for (i = 0; i < ARRAY_COUNT(temp_r31->unk0C); i++) { + for (i = 0; i < 32; i++) { if (temp_r31->unk0C[i] == motion) { break; } } - if (i != ARRAY_COUNT(temp_r31->unk0C)) { + if (i != 32) { if (flag == 0) { temp_r31->unk8C[i] |= 1; - } - else { + } else { temp_r31->unk8C[i] &= ~1; } } } -void fn_8004F52C(s16 character, s32 arg1) -{ +void fn_8004F52C(s16 character, s32 arg1) { UnkCharInstanceStruct *temp_r31 = &charInstance[character]; if (arg1 != 0) { temp_r31->unkAC |= 8; return; - } - else { + } else { temp_r31->unkAC &= ~8; } } -void CharModelEffectEnableSet(s16 character, s32 arg1) -{ +void CharModelEffectEnableSet(s16 character, s32 arg1) { UnkCharInstanceStruct *temp_r31 = &charInstance[character]; - if (character >= CHARNO_MAX ) { + if (character >= 8) { if (arg1 == 0) { lbl_801975B0[character] |= 0x10; - } - else { + } else { lbl_801975B0[character] &= ~0x10; } return; } if (arg1 == 0) { temp_r31->unkAC |= 0x10; - } - else { + } else { temp_r31->unkAC &= ~0x10; } } -s32 CharModelEffectNpcInit(s16 arg0, s16 arg1, s16 arg2, s16 arg3) -{ +s32 CharModelEffectNpcInit(s16 arg0, s16 arg1, s16 arg2, s16 arg3) { Process *var_r24; Process *var_r27; s16 *var_r29; @@ -1767,47 +1823,89 @@ s32 CharModelEffectNpcInit(s16 arg0, s16 arg1, s16 arg2, s16 arg3) } } -s32 CharModelEffectNpcInitSilent(s16 arg0, s16 arg1, s16 arg2) -{ +s32 CharModelEffectNpcInitSilent(s16 arg0, s16 arg1, s16 arg2) { s32 sp10; // ! - uninitialized CharModelEffectNpcInit(arg0, arg1, arg2, -1); return sp10; } -static s8 lbl_80131146[] = { 0x07, 0x20, 0x10, 0x28, 0x01, 0x1E, 0xE7, 0xE7, 0x01, 0x1E, 0x01, 0x1A, 0x01, 0x14, 0x13, 0x20, 0x02, 0x13 }; +static s8 lbl_80131146[] = { + 0x07, 0x20, 0x10, 0x28, + 0x01, 0x1E, 0xE7, 0xE7, + 0x01, 0x1E, 0x01, 0x1A, + 0x01, 0x14, 0x13, 0x20, + 0x02, 0x13 +}; static u16 lbl_80131158[] = { - 0x0051, - 0x0053, - 0x0057, - 0x0101, - 0x0059, - 0x005B, - 0x0055, - 0x0069, + 0x0051, 0x0053, + 0x0057, 0x0101, + 0x0059, 0x005B, + 0x0055, 0x0069, 0x006A, }; // Unused? -static s8 lbl_8013116A[] = { 0x01, 0x20, 0x01, 0x15, 0x0A, 0x1E, 0xE7, 0xE7, 0x01, 0x1E, 0x01, 0x10, 0x01, 0x11, 0xE7, 0xE7, 0xE7, 0xE7 }; +static s8 lbl_8013116A[] = { + 0x01, 0x20, 0x01, 0x15, + 0x0A, 0x1E, 0xE7, 0xE7, + 0x01, 0x1E, 0x01, 0x10, + 0x01, 0x11, 0xE7, 0xE7, + 0xE7, 0xE7 +}; -static u16 lbl_8013117C[] = { 0x0052, 0x0054, 0x0058, 0x0101, 0x005A, 0x005C, 0x0056, 0x0069, 0x006A }; +static u16 lbl_8013117C[] = { + 0x0052, 0x0054, + 0x0058, 0x0101, + 0x005A, 0x005C, + 0x0056, 0x0069, + 0x006A +}; -static s8 lbl_8013118E[] = { 0x03, 0x37, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0x01, 0x1A, 0xE7, 0xE7 }; +static s8 lbl_8013118E[] = { + 0x03, 0x37, 0xE7, 0xE7, + 0xE7, 0xE7, 0xE7, 0xE7, + 0xE7, 0xE7, 0x01, 0x1A, + 0xE7, 0xE7 +}; -static u16 lbl_8013119C[] = { 0x0051, 0x0053, 0x0057, 0x0101, 0x0059, 0x0068, 0x0055 }; +static u16 lbl_8013119C[] = { + 0x0051, 0x0053, + 0x0057, 0x0101, + 0x0059, 0x0068, + 0x0055 +}; -static s8 lbl_801311AA[] = { 0x04, 0x11, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0x01, 0x10, 0xE7, 0xE7 }; +static s8 lbl_801311AA[] = { + 0x04, 0x11, 0xE7, 0xE7, + 0xE7, 0xE7, 0xE7, 0xE7, + 0xE7, 0xE7, 0x01, 0x10, + 0xE7, 0xE7 +}; -static u16 lbl_801311B8[] = { 0x0052, 0x0054, 0x0058, 0x0101, 0x005A, 0x0067, 0x0056 }; +static u16 lbl_801311B8[] = { + 0x0052, 0x0054, + 0x0058, 0x0101, + 0x005A, 0x0067, + 0x0056 +}; -static s8 lbl_801311C6[] = { 0x01, 0x17, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7 }; +static s8 lbl_801311C6[] = { + 0x01, 0x17, 0xE7, 0xE7, + 0xE7, 0xE7, 0xE7, 0xE7, + 0xE7, 0xE7, 0xE7, 0xE7, + 0xE7, 0xE7 +}; -static u16 lbl_801311D4[] = { 0x0051, 0x0053, 0x0057, 0x0101, 0x0059, 0x005B, 0x0055 }; +static u16 lbl_801311D4[] = { + 0x0051, 0x0053, + 0x0057, 0x0101, + 0x0059, 0x005B, + 0x0055 +}; -static void UpdateNpcEffect(void) -{ +static void UpdateNpcEffect(void) { Vec sp2C; ModelData *temp_r30; s16 *temp_r27; @@ -1933,19 +2031,17 @@ static void UpdateNpcEffect(void) if (lbl_801975B0[temp_r28] & 0x10) { break; } - for (i = 0; i < CHAR_EFFECT_AND_PARTICLE_MAX; i++) { + for (i = 0; i < 8; i++) { effectStarParam.unk0C.x = 10.0 * sind(45.0f * i) * temp_r30->scale.x; effectStarParam.unk0C.y = 0.0f; effectStarParam.unk0C.z = 10.0 * cosd(45.0f * i) * temp_r30->scale.x; - CreateEffectStar( - temp_r25, temp_r30->pos.x, temp_r30->pos.y + 10.0f * temp_r30->scale.x, temp_r30->pos.z, 40.0f, &effectStarParam); + CreateEffectStar(temp_r25, temp_r30->pos.x, temp_r30->pos.y + 10.0f * temp_r30->scale.x, temp_r30->pos.z, 40.0f, &effectStarParam); } - for (i = 0; i < CHAR_EFFECT_AND_PARTICLE_MAX; i++) { + for (i = 0; i < 8; i++) { effectDustParam.unk0C.x = 4.0 * sind(45.0f * i + 22.5) * temp_r30->scale.x; effectDustParam.unk0C.y = 0.0f; effectDustParam.unk0C.z = 4.0 * cosd(45.0f * i + 22.5) * temp_r30->scale.x; - CreateEffectDust( - temp_r25, temp_r30->pos.x, temp_r30->pos.y + 10.0f * temp_r30->scale.x, temp_r30->pos.z, 20.0f, &effectDustParam); + CreateEffectDust(temp_r25, temp_r30->pos.x, temp_r30->pos.y + 10.0f * temp_r30->scale.x, temp_r30->pos.z, 20.0f, &effectDustParam); } if (temp_r28 != -1) { HuAudFXPlay(0x61); @@ -1955,15 +2051,13 @@ static void UpdateNpcEffect(void) } } -void CharModelStepTypeSet(s16 character, s32 arg1) -{ +void CharModelStepTypeSet(s16 character, s32 arg1) { UnkCharInstanceStruct *temp_r31 = &charInstance[character]; temp_r31->unkB0 = arg1; } -static s32 PlayStepFX(s16 character, s16 arg1, u8 arg2) -{ +static s32 PlayStepFX(s16 character, s16 arg1, u8 arg2) { UnkCharInstanceStruct *temp_r31; ModelData *var_r28; @@ -1974,17 +2068,14 @@ static s32 PlayStepFX(s16 character, s16 arg1, u8 arg2) } if (temp_r31->unkB0 == 4) { arg1 = 0x109; - } - else if (temp_r31->unkB0 == 5) { + } else if (temp_r31->unkB0 == 5) { arg1 = 0x10B; - } - else { + } else { arg1 += temp_r31->unkB0; } if (temp_r31->unkAC & 8) { return HuAudCharVoicePlayPos(character, arg1, &var_r28->pos); - } - else { + } else { return HuAudCharVoicePlay(character, arg1); } } diff --git a/src/game/code_8003FF68.c b/src/game/code_8003FF68.c index 96dc703c..0aa54036 100644 --- a/src/game/code_8003FF68.c +++ b/src/game/code_8003FF68.c @@ -1,4 +1,3 @@ -#include "game/audio.h" #include "game/data.h" #include "game/hsfman.h" #include "game/process.h" @@ -170,7 +169,7 @@ void fn_80040374(s16 arg0, s16 arg1, s16 arg2, s16 arg3) { unkCode_8003FF68* temp_r3; process = HuPrcChildCreate(fn_8004040C, 1, 0x1000, 0, HuPrcCurrentGet()); - temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkCode_8003FF68), MEMORY_DEFAULT_NUM); + temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkCode_8003FF68), 0x10000000); process->user_data = temp_r3; temp_r3->unk0 = arg0; temp_r3->unk2 = arg1; @@ -204,4 +203,4 @@ void fn_8004040C(void) { } HuPrcVSleep(); } -} +} \ No newline at end of file diff --git a/src/game/data.c b/src/game/data.c index f76419c5..e630d7ed 100644 --- a/src/game/data.c +++ b/src/game/data.c @@ -6,7 +6,7 @@ #define PTR_OFFSET(ptr, offset) (void *)(((u8 *)(ptr)+(u32)(offset))) #define DATA_EFF_SIZE(size) (((size)+1) & ~0x1) -void **HuDataReadMultiSub(s32 *data_ids, BOOL use_num, s32 num); +static void **HuDataReadMultiSub(s32 *data_ids, BOOL use_num, s32 num); #define DATA_MAX_READSTAT 128 @@ -406,7 +406,7 @@ void **HuDataReadMulti(s32 *data_ids) return HuDataReadMultiSub(data_ids, FALSE, 0); } -void **HuDataReadMultiSub(s32 *data_ids, BOOL use_num, s32 num) +static void **HuDataReadMultiSub(s32 *data_ids, BOOL use_num, s32 num) { s32 *dir_ids; char **paths; diff --git a/src/game/decode.c b/src/game/decode.c index db70b788..6414b269 100644 --- a/src/game/decode.c +++ b/src/game/decode.c @@ -8,7 +8,7 @@ struct decode_data u32 size; }; -static u8 textBuffer[1024]; +static u8 TextBuffer[1024]; static void HuDecodeNone(struct decode_data *decode) { @@ -27,7 +27,7 @@ static void HuDecodeLz(struct decode_data *decode) for(i=0; i<1024; i++) { - textBuffer[i] = 0; + TextBuffer[i] = 0; } while(decode->size) { flag >>= 1; @@ -35,7 +35,7 @@ static void HuDecodeLz(struct decode_data *decode) flag = (*decode->src++)|0xFF00; } if(flag & 0x1) { - textBuffer[pos++] = *decode->dst++ = *decode->src++; + TextBuffer[pos++] = *decode->dst++ = *decode->src++; pos = pos & 0x3FF; decode->size--; } else { @@ -44,7 +44,7 @@ static void HuDecodeLz(struct decode_data *decode) i |= ((copy_len & ~0x3F) << 2); copy_len = (copy_len & 0x3F)+3; for(j=0; jdst++ = textBuffer[(i+j) & 0x3FF]; + TextBuffer[pos++] = *decode->dst++ = TextBuffer[(i+j) & 0x3FF]; pos &= 0x3FF; } decode->size -= j; diff --git a/src/game/gamework.c b/src/game/gamework.c index 0100278f..60ef959b 100644 --- a/src/game/gamework.c +++ b/src/game/gamework.c @@ -1,11 +1,7 @@ -#include "game/gamework.h" -#include "game/flag.h" -#include "game/gamework_data.h" #include "string.h" -#include "version.h" - -s16 GwLanguage = 1; -s16 GwLanguageSave = -1; +#include "game/gamework.h" +#include "game/gamework_data.h" +#include "game/flag.h" GameStat GWGameStatDefault; GameStat GWGameStat; @@ -24,16 +20,15 @@ static inline void InitPlayerConfig(void) { PlayerConfig *config; s32 i; - for (i = 0; i < 4; i++) { + for(i=0; i<4; i++) { config = &GWPlayerCfg[i]; config->character = i; config->pad_idx = i; config->diff = 0; config->group = i; - if (!HuPadStatGet(i)) { + if(!HuPadStatGet(i)) { config->iscom = 0; - } - else { + } else { config->iscom = 1; } } @@ -41,11 +36,11 @@ static inline void InitPlayerConfig(void) static inline void ResetBoardSettings(void) { - GWRumbleSet(1); - GWMGExplainSet(1); - GWMGShowComSet(1); - GWMessSpeedSet(1); - GWSaveModeSet(0); + GWRumbleSet(1); + GWMGExplainSet(1); + GWMGShowComSet(1); + GWMessSpeedSet(1); + GWSaveModeSet(0); } void GWInit(void) @@ -54,29 +49,23 @@ void GWInit(void) _InitFlag(); GWErase(); InitPlayerConfig(); -#if VERSION_JP - GWGameStat.language = 0; -#elif VERSION_ENG GWGameStat.language = 1; -#else - GWLanguageSet(GwLanguage); -#endif ResetBoardSettings(); } static inline void ResetMGRecord(GameStat *game_stat) { - game_stat->mg_record[0] = 300 * REFRESH_RATE; + game_stat->mg_record[0] = 18000; game_stat->mg_record[1] = 80; - game_stat->mg_record[2] = 60 * REFRESH_RATE; - game_stat->mg_record[3] = 120 * REFRESH_RATE; + game_stat->mg_record[2] = 3600; + game_stat->mg_record[3] = 7200; game_stat->mg_record[4] = 0; - game_stat->mg_record[5] = 60 * REFRESH_RATE; - game_stat->mg_record[6] = 300 * REFRESH_RATE; - game_stat->mg_record[7] = 300 * REFRESH_RATE; - game_stat->mg_record[8] = 300 * REFRESH_RATE; + game_stat->mg_record[5] = 3600; + game_stat->mg_record[6] = 18000; + game_stat->mg_record[7] = 18000; + game_stat->mg_record[8] = 18000; game_stat->mg_record[9] = 0; - game_stat->mg_record[10] = 5 * REFRESH_RATE; + game_stat->mg_record[10] = 300; game_stat->mg_record[11] = 0; game_stat->mg_record[12] = 0; game_stat->mg_record[13] = 0; @@ -87,9 +76,9 @@ static inline void ResetBoardRecord(GameStat *game_stat) { s32 i; s32 j; - - for (i = 0; i < 9; i++) { - for (j = 0; j < 8; j++) { + + for(i=0; i<9; i++) { + for(j=0; j<8; j++) { game_stat->board_win_count[i][j] = 0; } game_stat->board_play_count[i] = 0; @@ -101,10 +90,10 @@ static inline void ResetBoardRecord(GameStat *game_stat) static inline void ResetPresent(GameStat *game_stat) { s32 i; - for (i = 0; i < 60; i++) { + for(i=0; i<60; i++) { game_stat->present[i] = 0; } - (void)i; // HACK to match GWResetGameStat + (void)i; //HACK to match GWResetGameStat } static inline void ResetFlag(GameStat *game_stat) @@ -112,9 +101,9 @@ static inline void ResetFlag(GameStat *game_stat) game_stat->story_continue = 0; game_stat->party_continue = 0; game_stat->open_w06 = 0; - game_stat->veryHardUnlock = 0; - game_stat->customPackEnable = 0; - game_stat->musicAllF = 0; + game_stat->field10E_bit4 = 0; + game_stat->field10E_bit5 = 0; + game_stat->field10E_bit6 = 0; } static inline void ResetPauseConfig(GameStat *game_stat) @@ -131,13 +120,7 @@ void GWGameStatReset(void) GameStat *game_stat = &GWGameStatDefault; memset(game_stat, 0, sizeof(GameStat)); game_stat->unk_00 = 0; -#if VERSION_JP - game_stat->language = 0; -#elif VERSION_ENG game_stat->language = 1; -#else - game_stat->language = GwLanguage; -#endif game_stat->sound_mode = 1; game_stat->rumble = 1; game_stat->total_stars = 0; @@ -150,49 +133,50 @@ void GWGameStatReset(void) ResetBoardRecord(game_stat); ResetPresent(game_stat); ResetFlag(game_stat); - ResetPauseConfig(game_stat); + ResetPauseConfig(game_stat); memcpy(&GWGameStat, &GWGameStatDefault, sizeof(GameStat)); ResetBoardSettings(); } s32 GWMessDelayGet(void) { -#if VERSION_NTSC - if (GWSystem.mess_delay > 48) { + if(GWSystem.mess_delay > 48) { GWSystem.mess_speed = 1; GWSystem.mess_delay = 32; } -#else - if (GWSystem.mess_delay > 64) { - GWSystem.mess_speed = 1; - GWSystem.mess_delay = 48; - } -#endif return GWSystem.mess_delay; } -void GWMGRecordSet(s32 index, u32 value) +void GWMGRecordSet(s32 index, s32 value) { - if (!_CheckFlag(FLAG_ID_MAKE(1, 12))) { + if(!_CheckFlag(FLAG_ID_MAKE(1, 12))) { GWGameStat.mg_record[index] = value; } } -u32 GWMGRecordGet(s32 index) +s32 GWMGRecordGet(s32 index) { return GWGameStat.mg_record[index]; } void GWCharColorGet(s32 character, GXColor *color) { - GXColor char_color[] = { { 227, 67, 67, 255 }, { 68, 67, 227, 255 }, { 241, 158, 220, 255 }, { 67, 228, 68, 255 }, { 138, 60, 180, 255 }, - { 146, 85, 55, 255 }, { 227, 228, 68, 255 }, { 40, 40, 40, 255 } }; + GXColor char_color[] = { + { 227, 67, 67, 255 }, + { 68, 67, 227, 255 }, + { 241, 158, 220, 255 }, + { 67, 228, 68, 255 }, + { 138, 60, 180, 255 }, + { 146, 85, 55, 255 }, + { 227, 228, 68, 255 }, + { 40, 40, 40, 255 } + }; *color = char_color[character]; } void GWBoardPlayCountSet(s32 board, u8 value) { - if (value > 99) { + if(value > 99) { value = 99; } GWGameStat.board_play_count[board] = value; @@ -201,23 +185,24 @@ void GWBoardPlayCountSet(s32 board, u8 value) void GWBoardPlayCountAdd(s32 board, u8 value) { value += GWGameStat.board_play_count[board]; - if (value > 99) { + if(value > 99) { value = 99; } GWGameStat.board_play_count[board] = value; } + u8 GWBoardPlayCountGet(s32 board) { return GWGameStat.board_play_count[board]; } -void GWBoardMaxStarsSet(s32 board, s16 value) +void GWBoardMaxStarsSet(s32 board, s32 value) { GWGameStat.board_max_stars[board] = value; } -s32 GWBoardMaxStarsGet(s32 board) +u16 GWBoardMaxStarsGet(s32 board) { return GWGameStat.board_max_stars[board]; } @@ -227,15 +212,15 @@ void GWBoardMaxCoinsSet(s32 board, s32 value) GWGameStat.board_max_coins[board] = value; } -s32 GWBoardMaxCoinsGet(s32 board) +u16 GWBoardMaxCoinsGet(s32 board) { return GWGameStat.board_max_coins[board]; } s32 GWBoardWinCountInc(s32 character, s32 board) { - s32 win_count = GWGameStat.board_win_count[board][character] + 1; - if (win_count > 99) { + s32 win_count = GWGameStat.board_win_count[board][character]+1; + if(win_count > 99) { win_count = 99; } GWGameStat.board_win_count[board][character] = win_count; @@ -259,15 +244,14 @@ s32 GWMGAvailGet(s32 id) id -= 401; word = id >> 5; bit = id % 32; - if (GWGameStat.mg_avail[word] & (1 << bit)) { + if(GWGameStat.mg_avail[word] & (1 << bit)) { return 1; - } - else { + } else { return 0; } } -void GWMGAvailSet(s32 id) +s32 GWMGAvailSet(s32 id) { s32 word; s32 bit; @@ -284,15 +268,14 @@ s32 GWMGCustomGet(s32 id) id -= 401; word = id >> 5; bit = id % 32; - if (GWGameStat.mg_custom[word] & (1 << bit)) { + if(GWGameStat.mg_custom[word] & (1 << bit)) { return 1; - } - else { + } else { return 0; } } -void GWMGCustomSet(s32 id) +s32 GWMGCustomSet(s32 id) { s32 word; s32 bit; @@ -302,7 +285,7 @@ void GWMGCustomSet(s32 id) GWGameStat.mg_custom[word] |= (1 << bit); } -void GWMGCustomReset(s32 id) +s32 GWMGCustomReset(s32 id) { s32 word; s32 bit; @@ -319,14 +302,14 @@ s16 GWCoinsGet(s32 player) void GWCoinsSet(s32 player, s16 value) { - if (!_CheckFlag(FLAG_ID_MAKE(1, 12))) { - if (value < 0) { + if(!_CheckFlag(FLAG_ID_MAKE(1, 12))) { + if(value < 0) { value = 0; } - if (value > 999) { + if(value > 999) { value = 999; } - if (value > GWPlayer[player].coins_max) { + if(value > GWPlayer[player].coins_max) { GWPlayer[player].coins_max = value; } GWPlayer[player].coins = value; @@ -335,18 +318,18 @@ void GWCoinsSet(s32 player, s16 value) void GWCoinsAdd(s32 player, s16 amount) { - GWCoinsSet(player, GWPlayer[player].coins + amount); + GWCoinsSet(player, GWPlayer[player].coins+amount); } void GWStarsSet(s32 player, s16 value) { - if (value < 0) { + if(value < 0) { value = 0; } - if (value > 999) { + if(value > 999) { value = 999; } - if (value > GWPlayer[player].stars_max) { + if(value > GWPlayer[player].stars_max) { GWPlayer[player].stars_max = value; } GWPlayer[player].stars = value; @@ -354,7 +337,7 @@ void GWStarsSet(s32 player, s16 value) void GWStarsAdd(s32 player, s16 amount) { - GWStarsSet(player, GWPlayer[player].stars + amount); + GWStarsSet(player, GWPlayer[player].stars+amount); } s32 GWStarsGet(s32 player) @@ -364,10 +347,10 @@ s32 GWStarsGet(s32 player) void GWTotalStarsSet(s16 value) { - if (value < 0) { + if(value < 0) { value = 0; } - if (value > 10000) { + if(value > 10000) { value = 10000; } GWGameStat.total_stars = value; @@ -375,10 +358,10 @@ void GWTotalStarsSet(s16 value) void GWTotalStarsAdd(s16 amount) { - GWTotalStarsSet(GWGameStat.total_stars + amount); + GWTotalStarsSet(GWGameStat.total_stars+amount); } u16 GWTotalStarsGet(void) { return GWGameStat.total_stars; -} +} \ No newline at end of file diff --git a/src/game/hsfanim.c b/src/game/hsfanim.c index b5a73d37..2293f23e 100755 --- a/src/game/hsfanim.c +++ b/src/game/hsfanim.c @@ -24,7 +24,7 @@ typedef struct { /* 0x3C */ HsfanimStruct00 *unk3C; } ParManProcUserData; // Size 0x40 -static void particleFunc(ModelData *arg0, Mtx arg1); +static void _Hu3DParticleAttrReset(ModelData *arg0, Mtx arg1); static void ParManFunc(void); static void ParManHook(ModelData *arg0, ParticleData *arg1, Mtx matrix); @@ -32,7 +32,7 @@ u32 frand(void); extern u32 GlobalCounter; -Hu3DTexAnimDataStruct Hu3DTexAnimData[HU3D_TEXANIM_MAX]; +Hu3DTexAnimDataStruct Hu3DTexAnimData[256]; Hu3DTexScrDataStruct Hu3DTexScrData[16]; static Process *parManProc[64]; @@ -42,11 +42,11 @@ void Hu3DAnimInit(void) { s16 i; var_r30 = Hu3DTexAnimData; - for (i = 0; i < HU3D_TEXANIM_MAX; i++, var_r30++) { + for (i = 0; i < 256; i++, var_r30++) { var_r30->unk06 = -1; } var_r29 = Hu3DTexScrData; - for (i = 0; i < HU3D_TEXSCROLL_MAX; i++, var_r29++) { + for (i = 0; i < 16; i++, var_r29++) { var_r29->unk02 = -1; } } @@ -55,18 +55,18 @@ s16 Hu3DAnimCreate(void *arg0, s16 arg1, char *arg2) { Hu3DTexAnimDataStruct *var_r31; HsfAttribute *var_r29; HsfData *temp_r27; - HsfdrawStruct01 *var_r30; + HsfanimStruct01 *var_r30; s16 i; s16 var_r25; s16 var_r28; var_r31 = Hu3DTexAnimData; - for (var_r28 = 0; var_r28 < HU3D_TEXANIM_MAX; var_r28++, var_r31++) { + for (var_r28 = 0; var_r28 < 256; var_r28++, var_r31++) { if (var_r31->unk06 == -1) { break; } } - if (var_r28 == HU3D_TEXANIM_MAX) { + if (var_r28 == 256) { OSReport("Error: TexAnim Over\n"); return -1; } @@ -75,7 +75,7 @@ s16 Hu3DAnimCreate(void *arg0, s16 arg1, char *arg2) { for (i = var_r25 = 0; i < temp_r27->attributeCnt; i++, var_r29++) { if (strcmp(arg2, var_r29->bitmap->name) == 0) { if (!var_r29->unk04) { - var_r30 = HuMemDirectMallocNum(HEAP_DATA, sizeof(*var_r30), (u32) Hu3DData[arg1].unk_48); + var_r30 = HuMemDirectMallocNum(HEAP_DATA, sizeof(HsfanimStruct01), (u32) Hu3DData[arg1].unk_48); var_r29->unk04 = var_r30; var_r30->unk00 = 0; } else { @@ -84,7 +84,7 @@ s16 Hu3DAnimCreate(void *arg0, s16 arg1, char *arg2) { var_r30->unk00 |= 1; var_r30->unk02 = var_r28; var_r30->unk2C = var_r30->unk30 = 1.0f; - var_r30->unk34 = var_r30->unk38 = 0.0f; + var_r30->unk34.x = var_r30->unk34.y = 0.0f; var_r25++; } } @@ -112,18 +112,18 @@ s16 Hu3DAnimLink(s16 arg0, s16 arg1, char *arg2) { AnimData *temp_r4; HsfAttribute *var_r29; HsfData *temp_r27; - HsfdrawStruct01 *var_r30; + HsfanimStruct01 *var_r30; s16 var_r28; s16 i; s16 var_r25; var_r31 = Hu3DTexAnimData; - for (var_r28 = 0; var_r28 < HU3D_TEXANIM_MAX; var_r28++, var_r31++) { + for (var_r28 = 0; var_r28 < 256; var_r28++, var_r31++) { if (var_r31->unk06 == -1) { break; } } - if (var_r28 == HU3D_TEXANIM_MAX) { + if (var_r28 == 256) { OSReport("Error: TexAnim Over\n"); return -1; } @@ -132,14 +132,14 @@ s16 Hu3DAnimLink(s16 arg0, s16 arg1, char *arg2) { for (i = var_r25 = 0; i < temp_r27->attributeCnt; i++, var_r29++) { if (strcmp(arg2, var_r29->bitmap->name) == 0) { if (!var_r29->unk04) { - var_r30 = HuMemDirectMallocNum(HEAP_DATA, sizeof(*var_r30), (u32) Hu3DData[arg1].unk_48); + var_r30 = HuMemDirectMallocNum(HEAP_DATA, sizeof(HsfanimStruct01), (u32) Hu3DData[arg1].unk_48); var_r29->unk04 = var_r30; } else { var_r30 = var_r29->unk04; } var_r30->unk02 = var_r28; var_r30->unk2C = var_r30->unk30 = 1.0f; - var_r30->unk34 = var_r30->unk38 = 0.0f; + var_r30->unk34.x = var_r30->unk34.y = 0.0f; var_r25++; } } @@ -162,7 +162,7 @@ void Hu3DAnimKill(s16 arg0) { Hu3DTexAnimDataStruct *temp_r31 = &Hu3DTexAnimData[arg0]; HsfData *temp_r28 = Hu3DData[temp_r31->unk06].hsfData; HsfAttribute *var_r30; - HsfdrawStruct01 *temp_r29; + HsfanimStruct01 *temp_r29; s16 i; if (temp_r28) { @@ -190,7 +190,7 @@ void Hu3DAnimModelKill(s16 arg0) { Hu3DTexAnimDataStruct *var_r26 = &Hu3DTexAnimData[0]; s16 i; - for (i = 0; i < HU3D_TEXANIM_MAX; i++, var_r26++) { + for (i = 0; i < 256; i++, var_r26++) { if (var_r26->unk06 == arg0) { Hu3DAnimKill(i); } @@ -201,7 +201,7 @@ void Hu3DAnimAllKill(void) { Hu3DTexAnimDataStruct *var_r26 = &Hu3DTexAnimData[0]; s16 i; - for (i = 0; i < HU3D_TEXANIM_MAX; i++, var_r26++) { + for (i = 0; i < 256; i++, var_r26++) { if (var_r26->unk06 != -1) { Hu3DAnimKill(i); } @@ -242,7 +242,7 @@ void Hu3DAnmNoSet(s16 arg0, u16 arg1) { } s32 Hu3DAnimSet(ModelData *arg0, HsfAttribute *arg1, s16 arg2) { - HsfdrawStruct01 *temp_r30; + HsfanimStruct01 *temp_r30; Hu3DTexAnimDataStruct *temp_r29; AnimData *temp_r27; AnimBmpData *temp_r28; @@ -265,11 +265,11 @@ s32 Hu3DAnimSet(ModelData *arg0, HsfAttribute *arg1, s16 arg2) { temp_r31 = temp_r25->layer; temp_r28 = &temp_r27->bmp[temp_r31->bmpNo]; HuSprTexLoad(temp_r29->unk10, temp_r31->bmpNo, arg2, var_r23, var_r22, - (arg0->attr & HU3D_ATTR_TEX_NEAR) ? GX_NEAR : GX_LINEAR); + (arg0->attr & 0x40) ? GX_NEAR : GX_LINEAR); temp_r30->unk2C = (float) temp_r31->sizeX / temp_r28->sizeX; temp_r30->unk30 = (float) temp_r31->sizeY / temp_r28->sizeY; - temp_r30->unk34 = (float) temp_r31->startX / temp_r28->sizeX; - temp_r30->unk38 = (float) temp_r31->startY / temp_r28->sizeY; + temp_r30->unk34.x = (float) temp_r31->startX / temp_r28->sizeX; + temp_r30->unk34.y = (float) temp_r31->startY / temp_r28->sizeY; return 1; } @@ -283,7 +283,7 @@ void Hu3DAnimExec(void) { s16 i; var_r30 = Hu3DTexAnimData; - for (i = 0; i < HU3D_TEXANIM_MAX; i++, var_r30++) { + for (i = 0; i < 256; i++, var_r30++) { if (var_r30->unk06 != -1 && (Hu3DPauseF == 0 || (var_r30->unk00 & 0x20))) { var_r25 = var_r30->unk10; temp_r28 = &var_r25->bank[var_r30->unk02]; @@ -312,14 +312,14 @@ void Hu3DAnimExec(void) { } } var_r31 = Hu3DTexScrData; - for (i = 0; i < HU3D_TEXSCROLL_MAX; i++, var_r31++) { + for (i = 0; i < 16; i++, var_r31++) { if (var_r31->unk02 != -1) { if (Hu3DPauseF != 0 && !(var_r31->unk00 & 8)) { PSMTXRotRad(var_r31->unk3C, 'Z', MTXDegToRad(var_r31->unk34)); mtxTransCat(var_r31->unk3C, var_r31->unk04.x, var_r31->unk04.y, var_r31->unk04.z); } else { if (var_r31->unk00 & 1) { - VECAdd(&var_r31->unk04, &var_r31->unk1C, &var_r31->unk04); + PSVECAdd(&var_r31->unk04, &var_r31->unk1C, &var_r31->unk04); if (var_r31->unk04.x > 1.0f) { var_r31->unk04.x -= 1.0f; } @@ -359,18 +359,18 @@ s16 Hu3DTexScrollCreate(s16 arg0, char *arg1) { Hu3DTexScrDataStruct *var_r31; HsfData *temp_r27; HsfAttribute *var_r29; - HsfdrawStruct01 *var_r30; + HsfanimStruct01 *var_r30; s16 i; s16 var_r25; s16 var_r28; var_r31 = Hu3DTexScrData; - for (var_r28 = 0; var_r28 < HU3D_TEXSCROLL_MAX; var_r28++, var_r31++) { + for (var_r28 = 0; var_r28 < 16; var_r28++, var_r31++) { if (var_r31->unk02 == -1) { break; } } - if (var_r28 == HU3D_TEXSCROLL_MAX) { + if (var_r28 == 16) { OSReport("Error: TexScroll Over\n"); return -1; } @@ -379,7 +379,7 @@ s16 Hu3DTexScrollCreate(s16 arg0, char *arg1) { for (i = var_r25 = 0; i < temp_r27->attributeCnt; i++, var_r29++) { if (strcmp(arg1, var_r29->bitmap->name) == 0) { if (!var_r29->unk04) { - var_r30 = HuMemDirectMallocNum(HEAP_DATA, sizeof(*var_r30), (u32) Hu3DData[arg0].unk_48); + var_r30 = HuMemDirectMallocNum(HEAP_DATA, sizeof(HsfanimStruct01), (u32) Hu3DData[arg0].unk_48); var_r29->unk04 = var_r30; var_r30->unk00 = 0; } else { @@ -388,7 +388,7 @@ s16 Hu3DTexScrollCreate(s16 arg0, char *arg1) { var_r30->unk00 |= 2; var_r30->unk04 = var_r28; var_r30->unk2C = var_r30->unk30 = 1.0f; - var_r30->unk34 = var_r30->unk38 = 0.0f; + var_r30->unk34.x = var_r30->unk34.y = 0.0f; var_r25++; } } @@ -408,7 +408,7 @@ void Hu3DTexScrollKill(s16 arg0) { Hu3DTexScrDataStruct *temp_r28 = &Hu3DTexScrData[arg0]; HsfData *temp_r29 = Hu3DData[temp_r28->unk02].hsfData; HsfAttribute *var_r31; - HsfdrawStruct01 *temp_r30; + HsfanimStruct01 *temp_r30; s16 i; if (temp_r29) { @@ -434,7 +434,7 @@ void Hu3DTexScrollAllKill(void) { s16 i; var_r27 = Hu3DTexScrData; - for (i = 0; i < HU3D_TEXSCROLL_MAX; i++, var_r27++) { + for (i = 0; i < 16; i++, var_r27++) { if (var_r27->unk02 != -1) { Hu3DTexScrollKill(i); } @@ -493,9 +493,9 @@ s16 Hu3DParticleCreate(AnimData *arg0, s16 arg1) { s16 i; void *temp_r24; - temp_r25 = Hu3DHookFuncCreate((void*) &particleFunc); + temp_r25 = Hu3DHookFuncCreate((void*) &_Hu3DParticleAttrReset); temp_r28 = &Hu3DData[temp_r25]; - Hu3DModelAttrSet(temp_r25, HU3D_ATTR_PARTICLE_KILL); + Hu3DModelAttrSet(temp_r25, 0x20); temp_r31 = HuMemDirectMallocNum(HEAP_DATA, sizeof(ParticleData), temp_r28->unk_48); temp_r28->unk_120 = temp_r31; temp_r31->unk_44 = arg0; @@ -658,7 +658,7 @@ static float baseST[] = { 1.0f, 1.0f, 0.0f, 1.0f }; -static void particleFunc(ModelData *arg0, Mtx arg1) { +static void _Hu3DParticleAttrReset(ModelData *arg0, Mtx arg1) { Vec *var_r30; float temp_f31; float temp_f29; @@ -689,7 +689,7 @@ static void particleFunc(ModelData *arg0, Mtx arg1) { PSMTXIdentity(sp128); } PSMTXReorder(sp128, sp8); - if ((Hu3DPauseF == 0 || (arg0->attr & HU3D_ATTR_NOPAUSE)) && temp_r31->unk_54 && temp_r31->unk_38 != GlobalCounter) { + if ((Hu3DPauseF == 0 || (arg0->attr & 0x200000)) && temp_r31->unk_54 && temp_r31->unk_38 != GlobalCounter) { var_r17 = temp_r31->unk_54; var_r17(arg0, temp_r31, arg1); } @@ -717,17 +717,17 @@ static void particleFunc(ModelData *arg0, Mtx arg1) { var_r30->z = sp38[3].z * temp_f31 + var_r29->unk34.z; var_r30++; } else { - VECScale(&basePos[0], &sp98[0], var_r29->unk2C); - VECScale(&basePos[1], &sp98[1], var_r29->unk2C); - VECScale(&basePos[2], &sp98[2], var_r29->unk2C); - VECScale(&basePos[3], &sp98[3], var_r29->unk2C); + PSVECScale(&basePos[0], &sp98[0], var_r29->unk2C); + PSVECScale(&basePos[1], &sp98[1], var_r29->unk2C); + PSVECScale(&basePos[2], &sp98[2], var_r29->unk2C); + PSVECScale(&basePos[3], &sp98[3], var_r29->unk2C); PSMTXRotRad(spC8, 'Z', var_r29->unk30); PSMTXConcat(sp128, spC8, spF8); PSMTXMultVecArray(spF8, sp98, sp68, 4); - VECAdd(&sp68[0], &var_r29->unk34, var_r30++); - VECAdd(&sp68[1], &var_r29->unk34, var_r30++); - VECAdd(&sp68[2], &var_r29->unk34, var_r30++); - VECAdd(&sp68[3], &var_r29->unk34, var_r30++); + PSVECAdd(&sp68[0], &var_r29->unk34, var_r30++); + PSVECAdd(&sp68[1], &var_r29->unk34, var_r30++); + PSVECAdd(&sp68[2], &var_r29->unk34, var_r30++); + PSVECAdd(&sp68[3], &var_r29->unk34, var_r30++); } var_r19 = 1; } else { @@ -758,7 +758,7 @@ static void particleFunc(ModelData *arg0, Mtx arg1) { } else { GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_RASC, GX_CC_ZERO); } - if (arg0->attr & HU3D_ATTR_ZWRITE_OFF) { + if (arg0->attr & 2) { GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); } else { GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); @@ -774,7 +774,7 @@ static void particleFunc(ModelData *arg0, Mtx arg1) { var_r28 = &temp_r25->frame[temp_r31->unk_22]; temp_r21 = &temp_r22->pat[var_r28->pat]; HuSprTexLoad(temp_r31->unk_44, temp_r21->layer->bmpNo, 0, GX_CLAMP, GX_CLAMP, GX_LINEAR); - if (Hu3DPauseF == 0 || (arg0->attr & HU3D_ATTR_NOPAUSE)) { + if (Hu3DPauseF == 0 || (arg0->attr & 0x200000)) { for (i = 0; i < (s32) temp_r31->unk_24 * minimumVcount; i++) { temp_r31->unk_28 += 1.0f; if (temp_r31->unk_28 >= var_r28->time) { @@ -1079,7 +1079,7 @@ static void ParManFunc(void) { temp_r30 = temp_r31->unk3C; temp_r27 = &Hu3DData[temp_r31->unk00]; while (1) { - if (Hu3DPauseF != 0 && !(temp_r27->attr & HU3D_ATTR_NOPAUSE)) { + if (Hu3DPauseF != 0 && !(temp_r27->attr & 0x200000)) { HuPrcVSleep(); continue; } @@ -1117,10 +1117,10 @@ static void ParManFunc(void) { sp20.x = (s32) frandmod((u32) (temp_r30->unk08 * 2.0f)) - temp_r30->unk08; sp20.y = (s32) frandmod((u32) (temp_r30->unk08 * 2.0f)) - temp_r30->unk08; sp20.z = (s32) frandmod((u32) (temp_r30->unk08 * 2.0f)) - temp_r30->unk08; - VECNormalize(&sp20, &sp20); - VECScale(&sp20, &sp20, temp_r30->unk08); - VECAdd(&sp20, &var_r29->unk34, &var_r29->unk34); - VECNormalize(&temp_r31->unk18, &sp2C); + PSVECNormalize(&sp20, &sp20); + PSVECScale(&sp20, &sp20, temp_r30->unk08); + PSVECAdd(&sp20, &var_r29->unk34, &var_r29->unk34); + PSVECNormalize(&temp_r31->unk18, &sp2C); if (temp_r31->unk02 & 0x100) { var_f28 = var_f26 + (360.0f / temp_r30->unk04) * var_r26; var_f29 = temp_r30->unk0C; @@ -1145,9 +1145,9 @@ static void ParManFunc(void) { sp14.y = 1.0f; sp14.z = sp2C.z; } - VECCrossProduct(&sp14, &sp2C, &sp8); + PSVECCrossProduct(&sp14, &sp2C, &sp8); } - VECNormalize(&sp8, &sp8); + PSVECNormalize(&sp8, &sp8); temp_f31 = sind(var_f28); temp_f30 = cosd(var_f28); sp14.x = sp8.x * (sp2C.x * sp2C.x + temp_f30 * (1.0f - sp2C.x * sp2C.x)) @@ -1159,7 +1159,7 @@ static void ParManFunc(void) { sp14.z = sp8.x * (sp2C.x * sp2C.z * (1.0f - temp_f30) - sp2C.y * temp_f31) + sp8.y * (sp2C.y * sp2C.z * (1.0f - temp_f30) + sp2C.x * temp_f31) + sp8.z * (sp2C.z * sp2C.z + temp_f30 * (1.0f - sp2C.z * sp2C.z)); - VECCrossProduct(&sp14, &sp2C, &sp8); + PSVECCrossProduct(&sp14, &sp2C, &sp8); temp_f31 = sind(var_f29); temp_f30 = cosd(var_f29); sp14.x = sp2C.x * (sp8.x * sp8.x + temp_f30 * (1.0f - sp8.x * sp8.x)) @@ -1171,7 +1171,7 @@ static void ParManFunc(void) { sp14.z = sp2C.x * (sp8.x * sp8.z * (1.0f - temp_f30) - sp8.y * temp_f31) + sp2C.y * (sp8.y * sp8.z * (1.0f - temp_f30) + sp8.x * temp_f31) + sp2C.z * (sp8.z * sp8.z + temp_f30 * (1.0f - sp8.z * sp8.z)); - VECNormalize(&sp14, &sp14); + PSVECNormalize(&sp14, &sp14); temp_f31 = temp_r30->unk1C; if (temp_r31->unk02 & 2) { temp_f31 = temp_f31 * 0.9 + (s32) frandmod((u32) (temp_f31 * 0.1 * 1000.0)) / 1000.0f; @@ -1180,7 +1180,7 @@ static void ParManFunc(void) { } else if (temp_r31->unk02 & 8) { temp_f31 = (s32) frandmod((u32) (temp_f31 * 1000.0f)) / 1000.0f; } - VECScale(&sp14, &var_r29->unk08, temp_f31); + PSVECScale(&sp14, &var_r29->unk08, temp_f31); var_r29->unk14 = temp_r30->unk10; var_r29->unk20 = temp_r30->unk20; if (temp_r31->unk02 & 0x1000) { @@ -1229,7 +1229,7 @@ static void ParManHook(ModelData *model, ParticleData *particle, Mtx matrix) { s16 sp8; s16 i; - if (Hu3DPauseF == 0 || (model->attr & HU3D_ATTR_NOPAUSE)) { + if (Hu3DPauseF == 0 || (model->attr & 0x200000)) { var_r29 = particle->unk_48; for (i = 0; i < particle->unk_30; i++, var_r29++) { if (var_r29->unk2C) { @@ -1241,27 +1241,27 @@ static void ParManHook(ModelData *model, ParticleData *particle, Mtx matrix) { var_r29->unk2C = var_r29->unk28; } if (!(temp_r28->unk02 & 0x80)) { - sp8 = var_r29->unk00; + sp8 = var_r29->unk00_s16; var_r29->unk34.x += var_r29->unk08.x + var_r29->unk14.x; var_r29->unk34.y += var_r29->unk08.y + var_r29->unk14.y; var_r29->unk34.z += var_r29->unk08.z + var_r29->unk14.z; - VECScale(&var_r29->unk08, &var_r29->unk08, var_r29->unk20); - VECAdd(&temp_r26->unk10, &var_r29->unk14, &var_r29->unk14); + PSVECScale(&var_r29->unk08, &var_r29->unk08, var_r29->unk20); + PSVECAdd(&temp_r26->unk10, &var_r29->unk14, &var_r29->unk14); if (temp_r28->unk02 & 0x200) { - VECSubtract(&temp_r28->unk24, &var_r29->unk34, &sp1C); - VECNormalize(&sp1C, &sp1C); - VECScale(&sp1C, &sp1C, temp_r28->unk30); - VECAdd(&sp1C, &var_r29->unk14, &var_r29->unk14); - VECAdd(&var_r29->unk08, &var_r29->unk14, &sp1C); - VECSubtract(&temp_r28->unk24, &var_r29->unk34, &sp10); - temp_f29 = VECSquareMag(&sp1C); - if (VECSquareMag(&sp10) <= temp_f29) { + PSVECSubtract(&temp_r28->unk24, &var_r29->unk34, &sp1C); + PSVECNormalize(&sp1C, &sp1C); + PSVECScale(&sp1C, &sp1C, temp_r28->unk30); + PSVECAdd(&sp1C, &var_r29->unk14, &var_r29->unk14); + PSVECAdd(&var_r29->unk08, &var_r29->unk14, &sp1C); + PSVECSubtract(&temp_r28->unk24, &var_r29->unk34, &sp10); + temp_f29 = PSVECSquareMag(&sp1C); + if (PSVECSquareMag(&sp10) <= temp_f29) { var_r29->unk2C = 0.0f; continue; } } var_r29->unk28 *= temp_r26->unk28; - var_f30 = (float) var_r29->unk00 / temp_r26->unk00; + var_f30 = (float) var_r29->unk00_s16 / temp_r26->unk00; if (var_f30 > 1.0f) { var_f30 = 1.0f; } @@ -1272,10 +1272,10 @@ static void ParManHook(ModelData *model, ParticleData *particle, Mtx matrix) { var_r29->unk40.g = temp_r27->g + var_f30 * (temp_r24->g - temp_r27->g); var_r29->unk40.b = temp_r27->b + var_f30 * (temp_r24->b - temp_r27->b); var_r29->unk40.a = temp_r27->a + var_f30 * (temp_r24->a - temp_r27->a); - if (var_r29->unk2C < 0.01 || var_r29->unk00 >= temp_r26->unk00) { + if (var_r29->unk2C < 0.01 || var_r29->unk00_s16 >= temp_r26->unk00) { var_r29->unk2C = 0.0f; } - var_r29->unk00++; + var_r29->unk00_s16++; } } } diff --git a/src/game/hsfdraw.c b/src/game/hsfdraw.c index fce142dd..ab341258 100755 --- a/src/game/hsfdraw.c +++ b/src/game/hsfdraw.c @@ -3,13 +3,21 @@ #include "game/hsfformat.h" #include "game/hsfload.h" #include "game/sprite.h" -#include "game/disp.h" #include "ext_math.h" #include "string.h" +typedef struct hsf_draw_object { + /* 0x00 */ ModelData *model; + /* 0x04 */ HsfObject *object; + /* 0x08 */ float z; + /* 0x0C */ Mtx matrix; + /* 0x3C */ Vec scale; +} HsfDrawObject; + static void objCall(ModelData *arg0, HsfObject *arg1); static void objMesh(ModelData *arg0, HsfObject *arg1); +static void FaceDraw(HsfDrawObject *arg0, HsfFace *arg1); static s32 SetTevStageNoTex(HsfDrawObject *arg0, HsfMaterial *arg1); static void SetTevStageTex(HsfDrawObject *arg0, HsfMaterial *arg1); static GXTevKColorSel SetKColor(GXTevStageID arg0, u8 arg1); @@ -38,13 +46,13 @@ void GXResetWriteGatherPipe(void); static const Vec lbl_8011DD20 = { 0.0f, 0.0f, -1.0f }; -static HsfDrawObject DrawObjData[HU3D_MODEL_MAX]; +static HsfDrawObject DrawObjData[512]; static HsfAttribute *BmpPtrBak[8]; static Mtx MTXBuf[96]; static Vec scaleBuf[96]; static GXColor texCol[16]; static Mtx hiliteMtx; -static s16 DrawObjNum[HU3D_MODEL_MAX]; +static s16 DrawObjNum[512]; static Vec NBTB; static Vec NBTT; Vec PGMaxPos; @@ -121,13 +129,13 @@ void Hu3DDraw(ModelData *arg0, Mtx arg1, Vec *arg2) { s16 i; temp_r28 = arg0->hsfData; - if (arg0->attr & HU3D_ATTR_HOOKFUNC) { + if (arg0->attr & 0x10) { temp_r31 = &DrawObjData[DrawObjIdx]; PSMTXCopy(arg1, temp_r31->matrix); sp8.x = temp_r31->matrix[0][3]; sp8.y = temp_r31->matrix[1][3]; sp8.z = temp_r31->matrix[2][3]; - temp_f31 = VECMag(&sp8); + temp_f31 = PSVECMag(&sp8); temp_r31->z = temp_f31; temp_r31->model = arg0; DrawObjIdx++; @@ -259,7 +267,7 @@ static void objMesh(ModelData *arg0, HsfObject *arg1) { PSMTXCopy(temp_r29->matrix, temp_r25->matrix); if (temp_r25->hook != -1) { temp_r31 = &Hu3DData[temp_r25->hook]; - if (!(temp_r31->attr & HU3D_ATTR_DISPOFF)) { + if (!(temp_r31->attr & 1)) { temp_r21 = attachMotionF; if (temp_r31->unk_08 != -1) { attachMotionF = 1; @@ -285,12 +293,12 @@ static void objMesh(ModelData *arg0, HsfObject *arg1) { attachMotionF = temp_r21; } } else { - if (arg0->attr & HU3D_ATTR_NOCULL) { + if (arg0->attr & 0x4000) { var_r19 = ObjCullCheck(arg0->hsfData, arg1, temp_r29->matrix); } else { var_r19 = 1; } - if ((temp_r25->flags & 0x2000) || (arg1->flags & HU3D_ATTR_CLUSTER_ON)) { + if ((temp_r25->flags & 0x2000) || (arg1->flags & 0x400)) { var_r19 = 0; } if (var_r19 != 0 && (var_r30->scale.x != 0.0f || var_r30->scale.y != 0.0f || var_r30->scale.z != 0.0f)) { @@ -300,7 +308,7 @@ static void objMesh(ModelData *arg0, HsfObject *arg1) { sp10.x = temp_r29->matrix[0][3]; sp10.y = temp_r29->matrix[1][3]; sp10.z = temp_r29->matrix[2][3]; - temp_f31 = VECMag(&sp10); + temp_f31 = PSVECMag(&sp10); if (temp_r25->flags & 0x10000) { temp_r29->z = -(900000.0f - temp_f31); } else { @@ -311,7 +319,7 @@ static void objMesh(ModelData *arg0, HsfObject *arg1) { OSReport("Error: DrawObjIdx Over\n"); DrawObjIdx--; } - } else if (arg0->attr & HU3D_ATTR_ZCMP_OFF) { + } else if (arg0->attr & 0x400000) { temp_r29->z = -1000000.0f; DrawObjIdx++; if (DrawObjIdx > 0x200) { @@ -388,7 +396,7 @@ s32 ObjCullCheck(HsfData *arg0, HsfObject *arg1, Mtx arg2) { } sp24 = sind(temp_r30->fov * 0.5) / cosd(temp_r30->fov * 0.5); temp_f27 = sp24 * temp_f18; - temp_f24 = HU_DISP_ASPECT * temp_f27; + temp_f24 = 1.2f * temp_f27; temp_f24 = temp_f21 + ABS(temp_f24); temp_f27 = temp_f21 + ABS(temp_f27); if (ABS(temp_f20) < temp_f24 && ABS(temp_f19) < temp_f27) { @@ -445,12 +453,12 @@ static void FaceDraw(HsfDrawObject *arg0, HsfFace *arg1) { sp2C.b = temp_r30->color[2]; sp2C.a = 0xFF; GXSetChanMatColor(GX_COLOR0A0, sp2C); - if (temp_r29->attr & HU3D_ATTR_ZCMP_OFF) { + if (temp_r29->attr & 0x400000) { var_r31 = GX_FALSE; } else { var_r31 = GX_TRUE; } - if ((temp_r30->invAlpha != 0.0f || (temp_r30->pass & 0xF) || (temp_r20->flags & 0x800)) && !((temp_r29->attr & HU3D_ATTR_ZWRITE_OFF) | (temp_r19 & 0x1200))) { + if ((temp_r30->invAlpha != 0.0f || (temp_r30->pass & 0xF) || (temp_r20->flags & 0x800)) && !((temp_r29->attr & 2) | (temp_r19 & 0x1200))) { GXSetZMode(var_r31, GX_LEQUAL, GX_FALSE); } else { GXSetZMode(var_r31, GX_LEQUAL, GX_TRUE); @@ -460,7 +468,7 @@ static void FaceDraw(HsfDrawObject *arg0, HsfFace *arg1) { } else { GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1); } - if (temp_r29->attr & HU3D_ATTR_CULL_FRONT) { + if (temp_r29->attr & 0x800000) { GXSetCullMode(GX_CULL_FRONT); } else if (temp_r19 & 2) { GXSetCullMode(GX_CULL_NONE); @@ -482,15 +490,15 @@ static void FaceDraw(HsfDrawObject *arg0, HsfFace *arg1) { vtxModeBak = var_r22; GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, temp_r28->data.vertex->data, 3 * sizeof(float)); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0); + GXSetArray(GX_VA_POS, temp_r28->data.vertex->data, 0xC); GXSetVtxDesc(GX_VA_NRM, GX_INDEX16); if (temp_r29->hsfData->cenvCnt == 0) { - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_S8, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGB8, 0); GXSetArray(GX_VA_NRM, temp_r28->data.normal->data, 3); } else { - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0); - GXSetArray(GX_VA_NRM, temp_r28->data.normal->data, 3 * sizeof(float)); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGBA6, 0); + GXSetArray(GX_VA_NRM, temp_r28->data.normal->data, 0xC); } if (var_r22 & 4) { GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); @@ -514,7 +522,7 @@ static void FaceDraw(HsfDrawObject *arg0, HsfFace *arg1) { SetShadowTex(); BmpPtrBak[1] = (HsfAttribute*) -1; } - if (temp_r29->attr & HU3D_ATTR_TOON_MAP) { + if (temp_r29->attr & 0x200) { toonMapNo = 2; HuSprTexLoad(toonAnim, 0, toonMapNo, GX_CLAMP, GX_CLAMP, GX_LINEAR); BmpPtrBak[2] = (HsfAttribute*) -1; @@ -532,7 +540,7 @@ static void FaceDraw(HsfDrawObject *arg0, HsfFace *arg1) { } else { hiliteMapNo = 3; } - if ((temp_r29->attr & HU3D_ATTR_HILITE) || (temp_r19 & 0x100)) { + if ((temp_r29->attr & 0x20000) || (temp_r19 & 0x100)) { if (temp_r20->hiliteMap == 0) { if (temp_r30->flags != 0) { var_r18 = (temp_r30->pass >> 4) & 0xF; @@ -555,24 +563,24 @@ static void FaceDraw(HsfDrawObject *arg0, HsfFace *arg1) { vtxModeBak = var_r22; GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, temp_r28->data.vertex->data, 3 * sizeof(float)); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0); + GXSetArray(GX_VA_POS, temp_r28->data.vertex->data, 0xC); if (var_r22 & 2) { GXSetVtxDesc(GX_VA_NBT, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NBT, GX_NRM_NBT, GX_S16, 8); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NBT, GX_NRM_NBT, GX_RGBA4, 8); } else { GXSetVtxDesc(GX_VA_NRM, GX_INDEX16); if (temp_r29->hsfData->cenvCnt == 0) { - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_S8, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGB8, 0); GXSetArray(GX_VA_NRM, temp_r28->data.normal->data, 3); } else { - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0); - GXSetArray(GX_VA_NRM, temp_r28->data.normal->data, 3 * sizeof(float)); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGBA6, 0); + GXSetArray(GX_VA_NRM, temp_r28->data.normal->data, 0xC); } } GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetArray(GX_VA_TEX0, temp_r28->data.st->data, 2 * sizeof(float)); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0); + GXSetArray(GX_VA_TEX0, temp_r28->data.st->data, 8); if (var_r22 & 4) { GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); @@ -666,7 +674,7 @@ static void FaceDraw(HsfDrawObject *arg0, HsfFace *arg1) { } else { toonMapNo = shadowMapNo; } - if (temp_r29->attr & HU3D_ATTR_TOON_MAP) { + if (temp_r29->attr & 0x200) { HuSprTexLoad(toonAnim, 0, toonMapNo, GX_CLAMP, GX_CLAMP, GX_LINEAR); BmpPtrBak[toonMapNo] = (HsfAttribute*) -1; projectionMapNo = toonMapNo + 1; @@ -684,7 +692,7 @@ static void FaceDraw(HsfDrawObject *arg0, HsfFace *arg1) { } else { hiliteMapNo = projectionMapNo; } - if ((temp_r29->attr & HU3D_ATTR_HILITE) || (temp_r19 & 0x100)) { + if ((temp_r29->attr & 0x20000) || (temp_r19 & 0x100)) { if (temp_r20->hiliteMap == 0) { if (temp_r30->flags != 0) { var_r18 = (temp_r30->pass >> 4) & 0xF; @@ -753,7 +761,7 @@ static s32 SetTevStageNoTex(HsfDrawObject *arg0, HsfMaterial *arg1) { var_r22 = 0; } sp1C.a = 255.0f * (1.0f - arg1->invAlpha); - if (temp_r28->attr & HU3D_ATTR_TOON_MAP) { + if (temp_r28->attr & 0x200) { sp1C.r = arg1->color[0]; sp1C.g = arg1->color[1]; sp1C.b = arg1->color[2]; @@ -784,7 +792,7 @@ static s32 SetTevStageNoTex(HsfDrawObject *arg0, HsfMaterial *arg1) { var_r29++; } if (var_r26 != 0) { - if ((temp_r28->attr & HU3D_ATTR_HILITE) || (sp18 & 0x100)) { + if ((temp_r28->attr & 0x20000) || (sp18 & 0x100)) { GXSetTexCoordGen2(var_r29, GX_TG_MTX2x4, GX_TG_NRM, GX_TEXMTX7, GX_FALSE, GX_PTIDENTITY); GXSetTevOrder(var_r30, var_r29, hiliteMapNo, GX_COLOR0A0); GXSetTevColorIn(var_r30, GX_CC_ZERO, GX_CC_ONE, GX_CC_TEXC, GX_CC_CPREV); @@ -975,7 +983,7 @@ static void SetTevStageTex(HsfDrawObject *arg0, HsfMaterial *arg1) { var_r31++; } else { GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0); - if (!(temp_r25->attr & HU3D_ATTR_TOON_MAP)) { + if (!(temp_r25->attr & 0x200)) { if (texCol[0].a == 1) { sp50 = texCol[0]; sp50.a = 0xFF; @@ -1022,7 +1030,7 @@ static void SetTevStageTex(HsfDrawObject *arg0, HsfMaterial *arg1) { } else { GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR); } - if (temp_r25->attr & HU3D_ATTR_TOON_MAP) { + if (temp_r25->attr & 0x200) { GXSetTexCoordGen2(var_r30, GX_TG_SRTG, GX_TG_COLOR0, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY); GXSetTevOrder(var_r31, var_r30, toonMapNo, GX_COLOR0A0); GXSetTevColorIn(var_r31, GX_CC_ZERO, GX_CC_TEXC, GX_CC_CPREV, GX_CC_ZERO); @@ -1045,7 +1053,7 @@ static void SetTevStageTex(HsfDrawObject *arg0, HsfMaterial *arg1) { var_r31++; } if (var_r21 != 0) { - if ((temp_r25->attr & HU3D_ATTR_HILITE) || (sp40 & 0x100)) { + if ((temp_r25->attr & 0x20000) || (sp40 & 0x100)) { GXSetTexCoordGen2(var_r30, GX_TG_MTX2x4, GX_TG_NRM, GX_TEXMTX7, GX_FALSE, GX_PTIDENTITY); GXSetTevOrder(var_r31, var_r30, hiliteMapNo, GX_COLOR0A0); GXSetTevColorIn(var_r31, GX_CC_ZERO, GX_CC_TEXC, GX_CC_ONE, GX_CC_CPREV); @@ -1262,7 +1270,7 @@ static void SetTevStageTex(HsfDrawObject *arg0, HsfMaterial *arg1) { } var_r31++; } - if (temp_r25->attr & HU3D_ATTR_TOON_MAP) { + if (temp_r25->attr & 0x200) { GXSetTexCoordGen2(var_r30, GX_TG_SRTG, GX_TG_COLOR0, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY); GXSetTevOrder(var_r31, var_r30, toonMapNo, GX_COLOR0A0); GXSetTevColorIn(var_r31, GX_CC_ZERO, GX_CC_TEXC, GX_CC_CPREV, GX_CC_ZERO); @@ -1315,7 +1323,7 @@ static void SetTevStageTex(HsfDrawObject *arg0, HsfMaterial *arg1) { sp50.a = (1.0f - arg1->invAlpha) * 255.0f; GXSetTevColor(GX_TEVREG0, sp50); if (var_r21 != 0) { - if ((temp_r25->attr & HU3D_ATTR_HILITE) || (sp40 & 0x100)) { + if ((temp_r25->attr & 0x20000) || (sp40 & 0x100)) { var_f31 = (arg1->hilite_scale / 300.0f) * 6.0f; if (var_f31 < 0.1) { var_f31 = 0.1f; @@ -1643,15 +1651,15 @@ static void FaceDrawShadow(HsfDrawObject *arg0, HsfFace *arg1) { vtxModeBak = var_r30; GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, temp_r31->data.vertex->data, 3 * sizeof(float)); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0); + GXSetArray(GX_VA_POS, temp_r31->data.vertex->data, 0xC); GXSetVtxDesc(GX_VA_NRM, GX_INDEX16); if (temp_r28->hsfData->cenvCnt == 0) { - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_S8, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGB8, 0); GXSetArray(GX_VA_NRM, temp_r31->data.normal->data, 3); } else { - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0); - GXSetArray(GX_VA_NRM, temp_r31->data.normal->data, 3 * sizeof(float)); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGBA6, 0); + GXSetArray(GX_VA_NRM, temp_r31->data.normal->data, 0xC); } if (var_r30 & 4) { GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); @@ -1676,24 +1684,24 @@ static void FaceDrawShadow(HsfDrawObject *arg0, HsfFace *arg1) { vtxModeBak = var_r30; GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); - GXSetArray(GX_VA_POS, temp_r31->data.vertex->data, 3 * sizeof(float)); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0); + GXSetArray(GX_VA_POS, temp_r31->data.vertex->data, 0xC); if (var_r30 & 2) { GXSetVtxDesc(GX_VA_NBT, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NBT, GX_NRM_NBT, GX_S16, 8); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NBT, GX_NRM_NBT, GX_RGBA4, 8); } else { GXSetVtxDesc(GX_VA_NRM, GX_INDEX16); if (temp_r28->hsfData->cenvCnt == 0) { GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGB8, 0); GXSetArray(GX_VA_NRM, temp_r31->data.normal->data, 3); } else { - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0); - GXSetArray(GX_VA_NRM, temp_r31->data.normal->data, 3 * sizeof(float)); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGBA6, 0); + GXSetArray(GX_VA_NRM, temp_r31->data.normal->data, 0xC); } } GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - GXSetArray(GX_VA_TEX0, temp_r31->data.st->data, 2 * sizeof(float)); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0); + GXSetArray(GX_VA_TEX0, temp_r31->data.st->data, 8); if (var_r30 & 4) { GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); @@ -1827,7 +1835,7 @@ static s32 LoadTexture(ModelData *arg0, HsfBitmap *arg1, HsfAttribute *arg2, s16 TL32F = 1; break; } - if ((arg0->attr & HU3D_ATTR_TEX_NEAR) || (arg2->flag & 0x40)) { + if ((arg0->attr & 0x40) || (arg2->flag & 0x40)) { GXInitTexObjLOD(&sp1C, GX_NEAR, GX_NEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); } else if (var_r20) { GXInitTexObjLOD(&sp1C, GX_LIN_MIP_LIN, GX_LINEAR, 0.0f, arg2->unk78, 0.0f, GX_FALSE, GX_TRUE, GX_ANISO_2); @@ -2099,7 +2107,7 @@ void Hu3DDrawPost(void) { GXSetCullMode(GX_CULL_BACK); for (var_r23 = 0; var_r23 < DrawObjIdx; var_r23++) { temp_r28 = &DrawObjData[DrawObjNum[var_r23]]; - if (temp_r28->model->attr & HU3D_ATTR_HOOKFUNC) { + if (temp_r28->model->attr & 0x10) { sp28 = (void*) temp_r28->model->hsfData; sp28(temp_r28->model, temp_r28->matrix); for (i = 0; i < 8; i++) { @@ -2137,14 +2145,14 @@ void Hu3DDrawPost(void) { } } } - if ((temp_r28->model->attr & HU3D_ATTR_HILITE) || (Hu3DObjInfoP->flags & 0x8000)) { + if ((temp_r28->model->attr & 0x20000) || (Hu3DObjInfoP->flags & 0x8000)) { sp54 = lbl_8011DD20; temp_r22 = &Hu3DGlobalLight[temp_r28->model->unk_03]; sp30 = temp_r22->unk_28; if (temp_r22->unk_00 & 0x8000) { PSMTXMultVecSR(Hu3DCameraMtx, &sp30, &sp30); } - temp_f30 = VECDotProduct(&sp30, &sp54); + temp_f30 = PSVECDotProduct(&sp30, &sp54); temp_f30 *= 10000.0f; OSf32tos16(&temp_f30, &sp8); if (sp8 == -10000) { @@ -2161,8 +2169,8 @@ void Hu3DDrawPost(void) { if (sp8 == 10000) { PSMTXIdentity(spC0); } else { - VECCrossProduct(&sp3C, &sp54, &sp48); - temp_f28 = acosf(VECDotProduct(&sp54, &sp3C)); + PSVECCrossProduct(&sp3C, &sp54, &sp48); + temp_f28 = acosf(PSVECDotProduct(&sp54, &sp3C)); PSMTXRotAxisRad(spC0, &sp48, temp_f28); } PSMTXConcat(spC0, sp90, sp60); @@ -2276,14 +2284,14 @@ static void ObjDraw(HsfDrawObject *arg0) { } } } - if ((arg0->model->attr & HU3D_ATTR_HILITE) || (Hu3DObjInfoP->flags & 0x8000)) { + if ((arg0->model->attr & 0x20000) || (Hu3DObjInfoP->flags & 0x8000)) { sp44 = lbl_8011DD20; temp_r24 = &Hu3DGlobalLight[arg0->model->unk_03]; sp20 = temp_r24->unk_28; if (temp_r24->unk_00 & 0x8000) { PSMTXMultVecSR(Hu3DCameraMtx, &sp20, &sp20); } - temp_f30 = VECDotProduct(&sp20, &sp44); + temp_f30 = PSVECDotProduct(&sp20, &sp44); temp_f30 *= 10000.0f; OSf32tos16(&temp_f30, &var_r21); if (var_r21 == -10000) { @@ -2300,8 +2308,8 @@ static void ObjDraw(HsfDrawObject *arg0) { if (var_r21 == 10000) { PSMTXIdentity(spB0); } else { - VECCrossProduct(&sp2C, &sp44, &sp38); - temp_f29 = acosf(VECDotProduct(&sp44, &sp2C)); + PSVECCrossProduct(&sp2C, &sp44, &sp38); + temp_f29 = acosf(PSVECDotProduct(&sp44, &sp2C)); PSMTXRotAxisRad(spB0, &sp38, temp_f29); } PSMTXConcat(spB0, sp80, sp50); @@ -2371,7 +2379,7 @@ void MakeDisplayList(s16 arg0, u32 arg1) { faceNumBuf = HuMemDirectMallocNum(HEAP_DATA, 0x800 * sizeof(u16), mallocNo); MDObjCall(temp_r31, temp_r31->root); HuMemDirectFree(faceNumBuf); - if (var_r30->attr & HU3D_ATTR_SHADOW) { + if (var_r30->attr & 4) { Hu3DShadowCamBit++; } } @@ -2426,7 +2434,7 @@ static void MDObjMesh(HsfData *arg0, HsfObject *arg1) { var_r28 = temp_r29->data; if (arg1->flags & 4) { Hu3DObjInfoP->flags |= 0x400; - Hu3DModelAttrSet(curModelID, HU3D_ATTR_SHADOW); + Hu3DModelAttrSet(curModelID, 4); } if (arg1->flags & 8) { Hu3DObjInfoP->flags |= 8; @@ -2523,53 +2531,53 @@ static void MDFaceDraw(HsfObject *arg0, HsfFace *arg1) { case 2: GXBegin(GX_TRIANGLES, GX_VTXFMT0, faceNumBuf[drawCnt]); for (var_r27 = 0; var_r27 < faceNumBuf[drawCnt] / 3; var_r27++, arg1++) { - GXPosition1x16(arg1->indices[0][0]); + GXUnknownu16(arg1->indices[0][0]); if (var_r26 == -1) { - GXNormal1x16(arg1->indices[0][1]); + GXUnknownu16(arg1->indices[0][1]); } else { MakeCalcNBT(arg0, arg1, 0, 1); } if (temp_r30->vtxMode == 5) { temp_r28 = arg1->indices[0][2]; - GXColor1x16(temp_r28); + GXUnknownu16(temp_r28); if (((GXColor*) arg0->data.color->data)[temp_r28].a != 0xFF) { Hu3DObjInfoP->flags |= 0x4001; } } if (var_r25 != 0) { - GXTexCoord1x16(arg1->indices[0][3]); + GXUnknownu16(arg1->indices[0][3]); } - GXPosition1x16(arg1->indices[2][0]); + GXUnknownu16(arg1->indices[2][0]); if (var_r26 == -1) { - GXNormal1x16(arg1->indices[2][1]); + GXUnknownu16(arg1->indices[2][1]); } else { MakeNBT(arg0, arg1, 2, 0); } if (temp_r30->vtxMode == 5) { temp_r28 = arg1->indices[2][2]; - GXColor1x16(temp_r28); + GXUnknownu16(temp_r28); if (((GXColor*) arg0->data.color->data)[temp_r28].a != 0xFF) { Hu3DObjInfoP->flags |= 0x4001; } } if (var_r25 != 0) { - GXTexCoord1x16(arg1->indices[2][3]); + GXUnknownu16(arg1->indices[2][3]); } - GXPosition1x16(arg1->indices[1][0]); + GXUnknownu16(arg1->indices[1][0]); if (var_r26 == -1) { - GXNormal1x16(arg1->indices[1][1]); + GXUnknownu16(arg1->indices[1][1]); } else { MakeNBT(arg0, arg1, 1, 2); } if (temp_r30->vtxMode == 5) { temp_r28 = arg1->indices[1][2]; - GXColor1x16(temp_r28); + GXUnknownu16(temp_r28); if (((GXColor*) arg0->data.color->data)[temp_r28].a != 0xFF) { Hu3DObjInfoP->flags |= 0x4001; } } if (var_r25 != 0) { - GXTexCoord1x16(arg1->indices[1][3]); + GXUnknownu16(arg1->indices[1][3]); } } faceCnt = faceNumBuf[drawCnt] / 3; @@ -2577,140 +2585,140 @@ static void MDFaceDraw(HsfObject *arg0, HsfFace *arg1) { case 3: GXBegin(GX_QUADS, GX_VTXFMT0, faceNumBuf[drawCnt]); for (var_r27 = 0; var_r27 < faceNumBuf[drawCnt] / 4; var_r27++, arg1++) { - GXPosition1x16(arg1->indices[0][0]); + GXUnknownu16(arg1->indices[0][0]); if (var_r26 == -1) { - GXNormal1x16(arg1->indices[0][1]); + GXUnknownu16(arg1->indices[0][1]); } else { MakeCalcNBT(arg0, arg1, 0, 1); } if (temp_r30->vtxMode == 5) { temp_r28 = arg1->indices[0][2]; - GXColor1x16(temp_r28); + GXUnknownu16(temp_r28); if (((GXColor*) arg0->data.color->data)[temp_r28].a != 0xFF) { Hu3DObjInfoP->flags |= 0x4001; } } if (var_r25 != 0) { - GXTexCoord1x16(arg1->indices[0][3]); + GXUnknownu16(arg1->indices[0][3]); } - GXPosition1x16(arg1->indices[2][0]); + GXUnknownu16(arg1->indices[2][0]); if (var_r26 == -1) { - GXNormal1x16(arg1->indices[2][1]); + GXUnknownu16(arg1->indices[2][1]); } else { MakeNBT(arg0, arg1, 2, 0); } if (temp_r30->vtxMode == 5) { temp_r28 = arg1->indices[2][2]; - GXColor1x16(temp_r28); + GXUnknownu16(temp_r28); if (((GXColor*) arg0->data.color->data)[temp_r28].a != 0xFF) { Hu3DObjInfoP->flags |= 0x4001; } } if (var_r25 != 0) { - GXTexCoord1x16(arg1->indices[2][3]); + GXUnknownu16(arg1->indices[2][3]); } - GXPosition1x16(arg1->indices[3][0]); + GXUnknownu16(arg1->indices[3][0]); if (var_r26 == -1) { - GXNormal1x16(arg1->indices[3][1]); + GXUnknownu16(arg1->indices[3][1]); } else { MakeNBT(arg0, arg1, 3, 2); } if (temp_r30->vtxMode == 5) { temp_r28 = arg1->indices[3][2]; - GXColor1x16(temp_r28); + GXUnknownu16(temp_r28); if (((GXColor*) arg0->data.color->data)[temp_r28].a != 0xFF) { Hu3DObjInfoP->flags |= 0x4001; } } if (var_r25 != 0) { - GXTexCoord1x16(arg1->indices[3][3]); + GXUnknownu16(arg1->indices[3][3]); } - GXPosition1x16(arg1->indices[1][0]); + GXUnknownu16(arg1->indices[1][0]); if (var_r26 == -1) { - GXNormal1x16(arg1->indices[1][1]); + GXUnknownu16(arg1->indices[1][1]); } else { MakeNBT(arg0, arg1, 1, 3); } if (temp_r30->vtxMode == 5) { temp_r28 = arg1->indices[1][2]; - GXColor1x16(temp_r28); + GXUnknownu16(temp_r28); if (((GXColor*) arg0->data.color->data)[temp_r28].a != 0xFF) { Hu3DObjInfoP->flags |= 0x4001; } } if (var_r25 != 0) { - GXTexCoord1x16(arg1->indices[1][3]); + GXUnknownu16(arg1->indices[1][3]); } } faceCnt = faceNumBuf[drawCnt] / 4; break; case 4: GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, faceNumBuf[drawCnt]); - GXPosition1x16(arg1->indices[0][0]); + GXUnknownu16(arg1->indices[0][0]); if (var_r26 == -1) { - GXNormal1x16(arg1->indices[0][1]); + GXUnknownu16(arg1->indices[0][1]); } else { MakeCalcNBT(arg0, arg1, 0, 1); } if (temp_r30->vtxMode == 5) { temp_r28 = arg1->indices[0][2]; - GXColor1x16(temp_r28); + GXUnknownu16(temp_r28); if (((GXColor*) arg0->data.color->data)[temp_r28].a != 0xFF) { Hu3DObjInfoP->flags |= 0x4001; } } if (var_r25 != 0) { - GXTexCoord1x16(arg1->indices[0][3]); + GXUnknownu16(arg1->indices[0][3]); } - GXPosition1x16(arg1->indices[2][0]); + GXUnknownu16(arg1->indices[2][0]); if (var_r26 == -1) { - GXNormal1x16(arg1->indices[2][1]); + GXUnknownu16(arg1->indices[2][1]); } else { MakeNBT(arg0, arg1, 2, 0); } if (temp_r30->vtxMode == 5) { temp_r28 = arg1->indices[2][2]; - GXColor1x16(temp_r28); + GXUnknownu16(temp_r28); if (((GXColor*) arg0->data.color->data)[temp_r28].a != 0xFF) { Hu3DObjInfoP->flags |= 0x4001; } } if (var_r25 != 0) { - GXTexCoord1x16(arg1->indices[2][3]); + GXUnknownu16(arg1->indices[2][3]); } - GXPosition1x16(arg1->indices[1][0]); + GXUnknownu16(arg1->indices[1][0]); if (var_r26 == -1) { - GXNormal1x16(arg1->indices[1][1]); + GXUnknownu16(arg1->indices[1][1]); } else { MakeNBT(arg0, arg1, 1, 2); } if (temp_r30->vtxMode == 5) { temp_r28 = arg1->indices[1][2]; - GXColor1x16(temp_r28); + GXUnknownu16(temp_r28); if (((GXColor*) arg0->data.color->data)[temp_r28].a != 0xFF) { Hu3DObjInfoP->flags |= 0x4001; } } if (var_r25 != 0) { - GXTexCoord1x16(arg1->indices[1][3]); + GXUnknownu16(arg1->indices[1][3]); } var_r24 = arg1->strip.data; for (var_r27 = 0; var_r27 < arg1->strip.count; var_r27++, var_r24 += 4) { - GXPosition1x16(var_r24[0]); + GXUnknownu16(var_r24[0]); if (var_r26 == -1) { - GXNormal1x16(var_r24[1]); + GXUnknownu16(var_r24[1]); } else { MakeCalcNBT(arg0, arg1, 0, 1); } if (temp_r30->vtxMode == 5) { temp_r28 = var_r24[2]; - GXColor1x16(temp_r28); + GXUnknownu16(temp_r28); if (((GXColor*) arg0->data.color->data)[temp_r28].a != 0xFF) { Hu3DObjInfoP->flags |= 0x4001; } } if (var_r25 != 0) { - GXTexCoord1x16(var_r24[3]); + GXUnknownu16(var_r24[3]); } } faceCnt = arg1->strip.count + 1; @@ -2748,16 +2756,16 @@ static s32 MakeCalcNBT(HsfObject *arg0, HsfFace *arg1, s16 arg2, s16 arg3) { sp10.x = temp_r28[temp_r27][0]; sp10.y = temp_r28[temp_r27][1]; sp10.z = temp_r28[temp_r27][2]; - VECNormalize(&sp10, &sp10); + PSVECNormalize(&sp10, &sp10); } NBTB.x = temp_r31[temp_r25].x - temp_r31[temp_r24].x; NBTB.y = temp_r31[temp_r25].y - temp_r31[temp_r24].y; NBTB.z = temp_r31[temp_r25].z - temp_r31[temp_r24].z; - VECNormalize(&NBTB, &NBTB); - VECCrossProduct(&NBTB, &sp10, &NBTT); - GXNormal3s16(sp10.x * 256.0f, sp10.y * 256.0f, sp10.z * 256.0f); - GXNormal3s16(NBTB.x * 256.0f, NBTB.y * 256.0f, NBTB.z * 256.0f); - GXNormal3s16(NBTT.x * 256.0f, NBTT.y * 256.0f, NBTT.z * 256.0f); + PSVECNormalize(&NBTB, &NBTB); + PSVECCrossProduct(&NBTB, &sp10, &NBTT); + GXPosition3s16(sp10.x * 256.0f, sp10.y * 256.0f, sp10.z * 256.0f); + GXPosition3s16(NBTB.x * 256.0f, NBTB.y * 256.0f, NBTB.z * 256.0f); + GXPosition3s16(NBTT.x * 256.0f, NBTT.y * 256.0f, NBTT.z * 256.0f); } static s32 MakeNBT(HsfObject *arg0, HsfFace *arg1, s16 arg2, s16 arg3) { @@ -2779,11 +2787,11 @@ static s32 MakeNBT(HsfObject *arg0, HsfFace *arg1, s16 arg2, s16 arg3) { sp10.x = temp_r29[temp_r28][0]; sp10.y = temp_r29[temp_r28][1]; sp10.z = temp_r29[temp_r28][2]; - VECNormalize(&sp10, &sp10); + PSVECNormalize(&sp10, &sp10); } - GXNormal3s16(sp10.x * 256.0f, sp10.y * 256.0f, sp10.z * 256.0f); - GXNormal3s16(NBTB.x * 256.0f, NBTB.y * 256.0f, NBTB.z * 256.0f); - GXNormal3s16(NBTT.x * 256.0f, NBTT.y * 256.0f, NBTT.z * 256.0f); + GXPosition3s16(sp10.x * 256.0f, sp10.y * 256.0f, sp10.z * 256.0f); + GXPosition3s16(NBTB.x * 256.0f, NBTB.y * 256.0f, NBTB.z * 256.0f); + GXPosition3s16(NBTT.x * 256.0f, NBTT.y * 256.0f, NBTT.z * 256.0f); } static void MDFaceCnt(HsfObject *arg0, HsfFace *arg1) { @@ -3059,7 +3067,7 @@ void PGObjCalc(ModelData *arg0, HsfObject *arg1) { temp_r28 = arg1->constData; if (temp_r28 && temp_r28->hook != -1) { temp_r31 = &Hu3DData[temp_r28->hook]; - if (!(temp_r31->attr & HU3D_ATTR_DISPOFF)) { + if (!(temp_r31->attr & 1)) { var_r27 = attachMotionF; if (temp_r31->unk_08 != -1) { attachMotionF = 1; diff --git a/src/game/hsfex.c b/src/game/hsfex.c index 490e19e3..7f72507c 100644 --- a/src/game/hsfex.c +++ b/src/game/hsfex.c @@ -1,12 +1,8 @@ #include "game/hsfex.h" #include "game/hsfman.h" #include "game/hsfmotion.h" -#include "game/disp.h" -#include "ext_math.h" - -#define DISP_HALF_W (HU_DISP_WIDTH/2.0f) -#define DISP_HALF_H (HU_DISP_HEIGHT/2.0f) +#include "math.h" typedef struct { /* 0x00 */ float unk00; @@ -22,7 +18,7 @@ void CamMotionEx2(s16 arg0, s16 arg1, float arg2, s16 arg3) { CameraData *temp_r30; s16 i; - for (i = 0; i < HU3D_CAM_MAX; i++) { + for (i = 0; i < 16; i++) { if (arg1 & (1 << i)) { break; } @@ -61,7 +57,7 @@ void CamMotionEx(s16 arg0, s16 arg1, Vec *arg2, Vec *arg3, Vec *arg4, float arg5 temp_r22 = temp_r23->hsfData; temp_r18 = temp_r19->unk_04; temp_r26 = temp_r18->motion; - for (var_r25 = 0; var_r25 < HU3D_CAM_MAX; var_r25++) { + for (var_r25 = 0; var_r25 < 16; var_r25++) { if (arg1 & (1 << var_r25)) { break; } @@ -109,8 +105,8 @@ void CamMotionEx(s16 arg0, s16 arg1, Vec *arg2, Vec *arg3, Vec *arg4, float arg5 var_r31->unk04 = 0.0f; var_f26 = 0.0f; for (var_f31 = var_f26; var_f31 < var_r29 - 1; var_f31 += 1.0f, var_r31++) { - VECSubtract(&var_r31[1].unk08, &var_r31[0].unk08, &sp3C); - var_r31[1].unk04 = VECMag(&sp3C); + PSVECSubtract(&var_r31[1].unk08, &var_r31[0].unk08, &sp3C); + var_r31[1].unk04 = PSVECMag(&sp3C); var_f26 += var_r31[1].unk04; } var_r31 = temp_r21; @@ -129,10 +125,10 @@ void CamMotionEx(s16 arg0, s16 arg1, Vec *arg2, Vec *arg3, Vec *arg4, float arg5 var_f30 = var_f31; break; case 1: - var_f30 = arg5 * sind(90.0f * (var_f31 / arg5)); + var_f30 = arg5 * sin(90.0f * (var_f31 / arg5) * M_PI / 180.0); break; case 2: - var_f30 = arg5 * (1.0 - cosd(90.0f * (var_f31 / arg5))); + var_f30 = arg5 * (1.0 - cos(90.0f * (var_f31 / arg5) * M_PI / 180.0)); break; } var_r31 = temp_r21; @@ -344,12 +340,12 @@ static void SetObjCamMotion(s16 arg0, HsfTrack *arg1, float arg2, HsfexStruct02 arg3->unk20.z = temp_r31->scale.z * (arg2 + temp_r31->pos.z); break; case 14: - VECSubtract(&arg3->unk08, &arg3->unk20, &spC); - VECNormalize(&spC, &spC); - sp18.x = spC.x * spC.y * (1.0 - cosd(arg2)) - spC.z * sind(arg2); - sp18.y = spC.y * spC.y + (1.0f - spC.y * spC.y) * cosd(arg2); - sp18.z = spC.y * spC.z * (1.0 - cosd(arg2)) + spC.x * sind(arg2); - VECNormalize(&sp18, &arg3->unk14); + PSVECSubtract(&arg3->unk08, &arg3->unk20, &spC); + PSVECNormalize(&spC, &spC); + sp18.x = spC.x * spC.y * (1.0 - cos(M_PI * arg2 / 180.0)) - spC.z * sin(M_PI * arg2 / 180.0); + sp18.y = spC.y * spC.y + (1.0f - spC.y * spC.y) * cos(M_PI * arg2 / 180.0); + sp18.z = spC.y * spC.z * (1.0 - cos(M_PI * arg2 / 180.0)) + spC.x * sin(M_PI * arg2 / 180.0); + PSVECNormalize(&sp18, &arg3->unk14); break; } } @@ -426,17 +422,17 @@ void Hu3D2Dto3D(Vec *arg0, s16 arg1, Vec *arg2) { s16 i; Mtx spC; - for (i = 0; i < HU3D_CAM_MAX; i++) { + for (i = 0; i < 16; i++) { if (arg1 & (1 << i)) { break; } } temp_r31 = &Hu3DCamera[i]; - temp_f30 = sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2); + temp_f30 = sin((temp_r31->fov / 2) * M_PI / 180.0) / cos((temp_r31->fov / 2) * M_PI / 180.0); temp_f31 = temp_f30 * arg0->z * 2.0f; - temp_f29 = temp_f31 * HU_DISP_ASPECT; - temp_f28 = arg0->x / HU_DISP_WIDTH; - temp_f27 = arg0->y / HU_DISP_HEIGHT; + temp_f29 = temp_f31 * 1.2f; + temp_f28 = arg0->x / 576.0f; + temp_f27 = arg0->y / 480.0f; arg2->x = (temp_f28 - 0.5) * temp_f29; arg2->y = -(temp_f27 - 0.5) * temp_f31; arg2->z = -arg0->z; @@ -453,7 +449,7 @@ void Hu3D3Dto2D(Vec *arg0, s16 arg1, Vec *arg2) { s16 i; Mtx sp1C; - for (i = 0; i < HU3D_CAM_MAX; i++) { + for (i = 0; i < 16; i++) { if (arg1 & (1 << i)) { break; } @@ -461,10 +457,10 @@ void Hu3D3Dto2D(Vec *arg0, s16 arg1, Vec *arg2) { temp_r31 = &Hu3DCamera[i]; C_MTXLookAt(sp1C, &temp_r31->pos, &temp_r31->up, &temp_r31->target); PSMTXMultVec(sp1C, arg0, &sp10); - temp_f31 = (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)) * sp10.z * HU_DISP_ASPECT; - temp_f30 = (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)) * sp10.z; - arg2->x = DISP_HALF_W + sp10.x * (DISP_HALF_W / -temp_f31); - arg2->y = DISP_HALF_H + sp10.y * (DISP_HALF_H / temp_f30); + temp_f31 = (sin((temp_r31->fov / 2) * M_PI / 180.0) / cos((temp_r31->fov / 2) * M_PI / 180.0)) * sp10.z * 1.2f; + temp_f30 = (sin((temp_r31->fov / 2) * M_PI / 180.0) / cos((temp_r31->fov / 2) * M_PI / 180.0)) * sp10.z; + arg2->x = 288.0f + sp10.x * (288.0f / -temp_f31); + arg2->y = 240.0f + sp10.y * (240.0f / temp_f30); arg2->z = 0.0f; } @@ -545,30 +541,30 @@ void Hu3DMtxScaleGet(Mtx arg0, Vec *arg1) { sp2C.x = arg0[0][0]; sp2C.y = arg0[1][0]; sp2C.z = arg0[2][0]; - arg1->x = VECMag(&sp2C); - VECNormalize(&sp2C, &sp2C); + arg1->x = PSVECMag(&sp2C); + PSVECNormalize(&sp2C, &sp2C); sp20.x = arg0[0][1]; sp20.y = arg0[1][1]; sp20.z = arg0[2][1]; - sp38.x = VECDotProduct(&sp2C, &sp20); - VECScale(&sp2C, &sp8, sp38.x); - VECSubtract(&sp20, &sp8, &sp20); - arg1->y = VECMag(&sp20); - VECNormalize(&sp20, &sp20); + sp38.x = PSVECDotProduct(&sp2C, &sp20); + PSVECScale(&sp2C, &sp8, sp38.x); + PSVECSubtract(&sp20, &sp8, &sp20); + arg1->y = PSVECMag(&sp20); + PSVECNormalize(&sp20, &sp20); sp38.x /= arg1->y; sp14.x = arg0[0][2]; sp14.y = arg0[1][2]; sp14.z = arg0[2][2]; - sp38.z = VECDotProduct(&sp20, &sp14); - VECScale(&sp20, &sp8, sp38.z); - VECSubtract(&sp14, &sp8, &sp14); - sp38.y = VECDotProduct(&sp2C, &sp14); - VECScale(&sp2C, &sp8, sp38.y); - VECSubtract(&sp14, &sp8, &sp14); - arg1->z = VECMag(&sp14); - VECNormalize(&sp14, &sp14); - VECCrossProduct(&sp20, &sp14, &sp8); - if (VECDotProduct(&sp2C, &sp8) < 0.0) { + sp38.z = PSVECDotProduct(&sp20, &sp14); + PSVECScale(&sp20, &sp8, sp38.z); + PSVECSubtract(&sp14, &sp8, &sp14); + sp38.y = PSVECDotProduct(&sp2C, &sp14); + PSVECScale(&sp2C, &sp8, sp38.y); + PSVECSubtract(&sp14, &sp8, &sp14); + arg1->z = PSVECMag(&sp14); + PSVECNormalize(&sp14, &sp14); + PSVECCrossProduct(&sp20, &sp14, &sp8); + if (PSVECDotProduct(&sp2C, &sp8) < 0.0) { arg1->x *= -1.0; arg1->y *= -1.0; arg1->z *= -1.0; diff --git a/src/game/hsfman.c b/src/game/hsfman.c index 243da902..f695dedf 100644 --- a/src/game/hsfman.c +++ b/src/game/hsfman.c @@ -10,17 +10,13 @@ #include "game/perf.h" #include "game/ShapeExec.h" #include "game/sprite.h" -#include "game/disp.h" - #include "dolphin/gx/GXVert.h" #include "math.h" #include "ext_math.h" -#define SHADOW_HEAP_SIZE 0x9000 - -ModelData Hu3DData[HU3D_MODEL_MAX]; -CameraData Hu3DCamera[HU3D_CAM_MAX]; +ModelData Hu3DData[0x200]; +CameraData Hu3DCamera[0x10]; static s16 layerNum[8]; static void (*layerHook[8])(s16); AnimData *reflectAnim[5]; @@ -67,11 +63,11 @@ void Hu3DInit(void) { s16 i; data = Hu3DData; - for (i = 0; i < HU3D_MODEL_MAX; i++, data++) { + for (i = 0; i < 0x200; i++, data++) { data->hsfData = NULL; } camera = Hu3DCamera; - for (i = 0; i < HU3D_CAM_MAX; i++, camera++) { + for (i = 0; i < 0x10; i++, camera++) { camera->fov = -1.0f; } Hu3DMotionInit(); @@ -115,9 +111,9 @@ void Hu3DPreProc(void) { GXSetCopyClear(BGColor, 0xFFFFFF); data = &Hu3DData[0]; - for (i = 0; i < HU3D_MODEL_MAX; i++, data++) { + for (i = 0; i < 0x200; i++, data++) { if (data->hsfData != 0) { - data->attr &= ~HU3D_ATTR_MOT_EXEC; + data->attr &= ~0x800; } } totalPolyCnted = totalPolyCnt; @@ -127,8 +123,6 @@ void Hu3DPreProc(void) { totalPolyCnt = totalMatCnt = totalTexCnt = totalTexCacheCnt = 0; } -#define HU3D_ATTR_CAMERA_UPDATE (HU3D_ATTR_CAMERA_MOTON|HU3D_ATTR_DISPOFF) - void Hu3DExec(void) { GXColor unusedColor = {0, 0, 0, 0}; CameraData* camera; @@ -150,7 +144,7 @@ void Hu3DExec(void) { shadowModelDrawF = 0; HuSprBegin(); var_r24 = 0; - for (Hu3DCameraNo = 0; Hu3DCameraNo < HU3D_CAM_MAX; Hu3DCameraNo++, camera++) { + for (Hu3DCameraNo = 0; Hu3DCameraNo < 0x10; Hu3DCameraNo++, camera++) { if (-1.0f != camera->fov) { GXInvalidateVtxCache(); temp_r22 = (s16) (1 << Hu3DCameraNo); @@ -192,18 +186,18 @@ void Hu3DExec(void) { Hu3DCameraSet(Hu3DCameraNo, Hu3DCameraMtx); PSMTXInvXpose(Hu3DCameraMtx, Hu3DCameraMtxXPose); data = Hu3DData; - for (i = 0, var_r23 = i; i < HU3D_MODEL_MAX; i++, data++) { + for (i = 0, var_r23 = i; i < 0x200; i++, data++) { if (data->hsfData != 0) { - if ((data->attr & HU3D_ATTR_CAMERA) != 0) { + if ((data->attr & 0x10000) != 0) { Hu3DCameraMotionExec(i); } else { - if ((data->attr & HU3D_ATTR_CAMERA_UPDATE) == HU3D_ATTR_CAMERA_UPDATE && data->unk_08 != -1) { + if ((data->attr & 0x2001) == 0x2001 && data->unk_08 != -1) { Hu3DMotionExec(i, data->unk_08, data->unk_64, 0); } - if ((data->attr & (HU3D_ATTR_DISPOFF|HU3D_ATTR_MOTION_OFF)) == 0 && (data->camera & temp_r22) != 0 && data->layer == j) { - if (((data->attr & HU3D_ATTR_MOT_EXEC) == 0 && (data->attr & HU3D_ATTR_MOT_SLOW) == 0) || ((data->attr & HU3D_ATTR_MOT_SLOW) != 0 && (data->unk_00 & 1) != 0)) { + if ((data->attr & 9) == 0 && (data->camera & temp_r22) != 0 && data->layer == j) { + if (((data->attr & 0x800) == 0 && (data->attr & 0x100) == 0) || ((data->attr & 0x100) != 0 && (data->unk_00 & 1) != 0)) { var_r25 = 0; - data->motion_attr &= ~HU3D_MOTATTR; + data->motion_attr &= 0xBFFFFFFF; if (data->unk_08 != -1) { Hu3DMotionExec(i, data->unk_08, data->unk_64, 0); } @@ -213,7 +207,7 @@ void Hu3DExec(void) { if (data->unk_0A != -1) { Hu3DMotionExec(i, data->unk_0A, data->unk_74, 1); } - if ((data->attr & HU3D_ATTR_CLUSTER_ON) != 0) { + if ((data->attr & 0x400) != 0) { ClusterMotionExec(data); var_r25 = 1; } @@ -225,7 +219,7 @@ void Hu3DExec(void) { } var_r25 = 1; } - if ((data->attr & (HU3D_ATTR_ENVELOPE_OFF|HU3D_ATTR_HOOKFUNC)) == 0 && (data->motion_attr & HU3D_MOTATTR_PAUSE) == 0) { + if ((data->attr & 0x90) == 0 && (data->motion_attr & 0x40000002) == 0) { var_r25 = 1; InitVtxParm(data->hsfData); if (data->unk_0E != -1) { @@ -244,11 +238,11 @@ void Hu3DExec(void) { } data->attr |= 0x800; } - if (var_r24 != 0 && (data->attr & HU3D_ATTR_HOOKFUNC) != 0) { + if (var_r24 != 0 && (data->attr & 0x10) != 0) { GXWaitDrawDone(); var_r24 = 0; } - if ((data->attr & HU3D_ATTR_HOOK) == 0 && (0.0f != data->scale.x || 0.0f != data->scale.y || 0.0f != data->scale.z)) { + if ((data->attr & 0x8000) == 0 && (0.0f != data->scale.x || 0.0f != data->scale.y || 0.0f != data->scale.z)) { mtxRot(sp40, data->rot.x, data->rot.y, data->rot.z); mtxScaleCat(sp40, data->scale.x, data->scale.y, data->scale.z); mtxTransCat(sp40, data->pos.x, data->pos.y, data->pos.z); @@ -273,8 +267,8 @@ void Hu3DExec(void) { HuSprDispInit(); HuSprExec(0); data = Hu3DData; - for (i = 0; i < HU3D_MODEL_MAX; i++, data++) { - if (data->hsfData != 0 && (data->unk_08 != -1 || (data->attr & HU3D_ATTR_CLUSTER_ON) != 0 || data->unk_0E != -1) && (Hu3DPauseF == 0 || (data->attr & HU3D_ATTR_NOPAUSE) != 0)) { + for (i = 0; i < 0x200; i++, data++) { + if (data->hsfData != 0 && (data->unk_08 != -1 || (data->attr & 0x400) != 0 || data->unk_0E != -1) && (Hu3DPauseF == 0 || (data->attr & 0x200000) != 0)) { Hu3DMotionNext(i); } } @@ -340,19 +334,19 @@ s16 Hu3DModelCreate(void *arg0) { var_r31 = Hu3DData; - for (var_r30 = 0; var_r30 < HU3D_MODEL_MAX; var_r30++, var_r31++) { + for (var_r30 = 0; var_r30 < 0x200; var_r30++, var_r31++) { if (var_r31->hsfData == 0x0) { break; } } - if (var_r30 == HU3D_MODEL_MAX) { + if (var_r30 == 0x200) { OSReport("Error: Create Model Over!\n"); return -1; } var_r31->hsfData = LoadHSF(arg0); var_r31->unk_48 = Hu3DMallocNo = (u32)var_r31->hsfData; - var_r31->attr = HU3D_ATTR_NONE; - var_r31->motion_attr = HU3D_ATTR_NONE; + var_r31->attr = 0; + var_r31->motion_attr = 0; var_r31->unk_02 = 0; MakeDisplayList(var_r30, var_r31->unk_48); var_r31->unk_68 = 1.0f; @@ -422,12 +416,12 @@ s16 Hu3DModelLink(s16 arg0) { temp_r30 = &Hu3DData[arg0]; var_r31 = Hu3DData; - for (var_r28 = 0; var_r28 < HU3D_MODEL_MAX; var_r28++, var_r31++) { + for (var_r28 = 0; var_r28 < 0x200; var_r28++, var_r31++) { if (var_r31->hsfData == 0x0) { break; } } - if (var_r28 == HU3D_MODEL_MAX) { + if (var_r28 == 0x200) { return -1; } var_r31->unk_C8 = temp_r30->hsfData; @@ -439,7 +433,7 @@ s16 Hu3DModelLink(s16 arg0) { var_r31->hsfData->object = temp_r3_2; var_r31->unk_48 = temp_r30->unk_48; var_r31->attr = temp_r30->attr; - temp_r30->attr |= HU3D_ATTR_LINK; + temp_r30->attr |= 0x100000; var_r31->motion_attr = temp_r30->motion_attr; var_r31->pos.x = var_r31->pos.y = var_r31->pos.z = 0.0f; var_r31->rot.x = var_r31->rot.y = var_r31->rot.z = 0.0f; @@ -454,7 +448,7 @@ s16 Hu3DModelLink(s16 arg0) { var_r31->unk_10[i] = temp_r30->unk_10[i]; if (var_r31->unk_10[i] != -1) { ClusterAdjustObject(var_r31->hsfData, Hu3DMotion[var_r31->unk_10[i]].unk_04); - var_r31->attr |= HU3D_ATTR_CLUSTER_ON; + var_r31->attr |= 0x400; } } var_r31->unk_64 = temp_r30->unk_64; @@ -485,18 +479,18 @@ s16 Hu3DHookFuncCreate(ModelHookFunc hook) { s16 i; var_r31 = Hu3DData; - for (var_r29 = 0; var_r29 < HU3D_MODEL_MAX; var_r29++, var_r31++) { + for (var_r29 = 0; var_r29 < 0x200; var_r29++, var_r31++) { if (var_r31->hsfData == 0) { break; } } - if (var_r29 == HU3D_MODEL_MAX) { + if (var_r29 == 0x200) { return -1; } var_r31->hook = hook; var_r31->unk_48 = var_r29+10000; - var_r31->attr = HU3D_ATTR_HOOKFUNC; - var_r31->motion_attr = HU3D_ATTR_NONE; + var_r31->attr = 0x10; + var_r31->motion_attr = 0; var_r31->pos.x = var_r31->pos.y = var_r31->pos.z = 0.0f; var_r31->rot.x = var_r31->rot.y = var_r31->rot.z = 0.0f; var_r31->scale.x = var_r31->scale.y = var_r31->scale.z = 1.0f; @@ -537,14 +531,14 @@ void Hu3DModelKill(s16 arg0) { temp_r31 = &Hu3DData[arg0]; var_r28 = temp_r31->hsfData; if (var_r28 != 0) { - if ((temp_r31->attr & HU3D_ATTR_SHADOW) != 0) { + if ((temp_r31->attr & 4) != 0) { Hu3DShadowCamBit -= 1; } layerNum[temp_r31->layer] -= 1; - if ((temp_r31->attr & HU3D_ATTR_HOOKFUNC) != 0) { + if ((temp_r31->attr & 0x10) != 0) { HuMemDirectFreeNum(HEAP_DATA, temp_r31->unk_48); - if ((temp_r31->attr & HU3D_ATTR_PARTICLE_KILL) != 0) { + if ((temp_r31->attr & 0x20) != 0) { copy = temp_r31->unk_120; HuSprAnimKill(copy->unk_44); } @@ -554,7 +548,7 @@ void Hu3DModelKill(s16 arg0) { } return; } - if ((temp_r31->attr & HU3D_ATTR_CAMERA) != 0) { + if ((temp_r31->attr & 0x10000) != 0) { if (temp_r31->unk_08 != -1) { Hu3DMotionKill(temp_r31->unk_08); } @@ -570,7 +564,7 @@ void Hu3DModelKill(s16 arg0) { temp_r31->hsfData = var_r28; } var_r30 = Hu3DData; - for (var_r27 = i = 0; i < HU3D_MODEL_MAX; i++, var_r30++) { + for (var_r27 = i = 0; i < 0x200; i++, var_r30++) { if ((var_r30->hsfData != 0) && (var_r30->hsfData == var_r28 || (var_r30->unk_24 != -1 && var_r30->unk_C8 == var_r28))) { var_r27++; } @@ -579,7 +573,7 @@ void Hu3DModelKill(s16 arg0) { temp_r31->hsfData = NULL; var_r30 = Hu3DData; if (temp_r31->unk_20 != -1) { - for (i = 0; i < HU3D_MODEL_MAX; i++, var_r30++) { + for (i = 0; i < 0x200; i++, var_r30++) { if (var_r30->hsfData != 0 && var_r30->unk_24 != -1 && var_r30->unk_C8 == var_r28) { Hu3DMotion[temp_r31->unk_20].unk_02 = i; break; @@ -624,7 +618,7 @@ void Hu3DModelAllKill(void) { modelKillAllF = 1; var_r30 = Hu3DData; - for (i = 0; i < HU3D_MODEL_MAX; i++, var_r30++) { + for (i = 0; i < 0x200; i++, var_r30++) { if (var_r30->hsfData != 0) { Hu3DModelKill(i); } @@ -691,8 +685,8 @@ void Hu3DModelAttrSet(s16 arg0, u32 arg1) { ModelData* temp_r31; temp_r31 = &Hu3DData[arg0]; - if ((arg1 & HU3D_MOTATTR) != 0) { - temp_r31->motion_attr |= arg1 & ~HU3D_MOTATTR; + if ((arg1 & (1 << 30)) != 0) { + temp_r31->motion_attr |= arg1 & 0xBFFFFFFF; } else { temp_r31->attr |= arg1; } @@ -702,7 +696,7 @@ void Hu3DModelAttrReset(s16 arg0, u32 arg1) { ModelData* temp_r31; temp_r31 = &Hu3DData[arg0]; - if ((arg1 & HU3D_MOTATTR) != 0) { + if ((arg1 & (1 << 30)) != 0) { temp_r31->motion_attr &= ~arg1; } else { temp_r31->attr &= ~arg1; @@ -811,7 +805,7 @@ void Hu3DModelTPLvlSet(s16 arg0, f32 arg8) { temp_r25->flags |= 1; } } - temp_r28->attr |= HU3D_ATTR_TPLVL_SET; + temp_r28->attr |= 0x40000; } void Hu3DModelHiliteMapSet(s16 arg0, AnimData *arg1) { @@ -865,10 +859,10 @@ void Hu3DModelShadowSet(s16 arg0) { temp_r31 = &Hu3DData[arg0]; temp_r30 = temp_r31->hsfData; - if ((temp_r31->attr & HU3D_ATTR_SHADOW) == 0) { + if ((temp_r31->attr & 4) == 0) { Hu3DShadowCamBit++; } - temp_r31->attr |= HU3D_ATTR_SHADOW; + temp_r31->attr |= 4; var_r27 = temp_r30->object; for (var_r28 = 0; var_r28 < temp_r30->objectCnt; var_r28++, var_r27++) { @@ -886,7 +880,7 @@ void Hu3DModelShadowReset(s16 arg0) { temp_r31 = &Hu3DData[(s16) arg0]; temp_r30 = temp_r31->hsfData; - temp_r31->attr &= ~HU3D_ATTR_SHADOW; + temp_r31->attr &= ~4; Hu3DShadowCamBit -= 1; var_r27 = temp_r30->object; for (var_r28 = 0; var_r28 < temp_r30->objectCnt; var_r28++, var_r27++) { @@ -898,14 +892,14 @@ void Hu3DModelShadowDispOn(s16 arg0) { ModelData* temp_r31; temp_r31 = &Hu3DData[arg0]; - temp_r31->attr |= HU3D_ATTR_SHADOW; + temp_r31->attr |= 4; } void Hu3DModelShadowDispOff(s16 arg0) { ModelData* temp_r31; temp_r31 = &Hu3DData[arg0]; - temp_r31->attr &= ~HU3D_ATTR_SHADOW; + temp_r31->attr &= ~4; } void Hu3DModelShadowMapSet(s16 arg0) { @@ -973,7 +967,7 @@ void Hu3DModelHookSet(s16 arg0, char *arg1, s16 arg2) { constData = copy->constData; constData->hook = arg2; data = &Hu3DData[arg2]; - data->attr |= HU3D_ATTR_HOOK; + data->attr |= 0x8000; (void)data; return; } @@ -1000,7 +994,7 @@ void Hu3DModelHookReset(s16 arg0) { if (temp_r31->hook != -1) { temp_r0 = temp_r31->hook; temp_r28 = &Hu3DData[temp_r0]; - temp_r28->attr &= ~HU3D_ATTR_HOOK; + temp_r28->attr &= ~0x8000; temp_r31->hook = -1; (void)temp_r28; } @@ -1029,7 +1023,7 @@ void Hu3DModelHookObjReset(s16 arg0, char *arg1) { temp_r29 = copy->constData; temp_r0 = temp_r29->hook; temp_r28 = &Hu3DData[temp_r0]; - temp_r28->attr &= ~HU3D_ATTR_HOOK; + temp_r28->attr &= ~0x8000; temp_r29->hook = -1; (void)temp_r28; return; @@ -1073,7 +1067,7 @@ void Hu3DModelHiliteTypeSet(s16 arg0, s16 arg1) { var_r31->flags |= 0x100; } temp_r29 = &Hu3DData[arg0]; - temp_r29->attr |= HU3D_ATTR_HILITE; + temp_r29->attr |= 0x20000; (void)temp_r29; } @@ -1087,12 +1081,12 @@ CameraData defCamera = { 20.0f, 5000.0f, 0.0f, - HU_DISP_ASPECT, + 1.2f, {0.0f, 0.0f, 100.0f}, {0.0f, 1.0f, 0.0f}, {0.0f, 0.0f, 0.0f}, - 0, 0, HU_FB_WIDTH, HU_FB_HEIGHT, - 0.0f, 0.0f, HU_FB_WIDTH, HU_FB_HEIGHT, + 0, 0, 640, 480, + 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f }; @@ -1107,7 +1101,7 @@ void Hu3DCameraCreate(s32 cam) { defCamera.scissor_h = RenderMode->efbHeight; Hu3DCameraExistF |= cam; - for (i = 0, mask = 1; i < HU3D_CAM_MAX; i++, mask <<= 1) { + for (i = 0, mask = 1; i < 0x10; i++, mask <<= 1) { if ((cam & mask) != 0) { cam_ptr = &Hu3DCamera[i]; *cam_ptr = defCamera; @@ -1120,7 +1114,7 @@ void Hu3DCameraPerspectiveSet(s32 cam, f32 fov, f32 near, f32 far, f32 aspect) { s16 i; CameraData* cam_ptr; - for (i = 0, mask = 1; i < HU3D_CAM_MAX; i++, mask <<= 1) { + for (i = 0, mask = 1; i < 0x10; i++, mask <<= 1) { if ((cam & mask) != 0) { cam_ptr = &Hu3DCamera[i]; cam_ptr->fov = fov; @@ -1136,7 +1130,7 @@ void Hu3DCameraViewportSet(s32 cam, f32 vx, f32 vy, f32 vw, f32 vh, f32 nz, f32 s16 i; CameraData* cam_ptr; - for (i = 0, mask = 1; i < HU3D_CAM_MAX; i++, mask <<= 1) { + for (i = 0, mask = 1; i < 0x10; i++, mask <<= 1) { if ((cam & mask) != 0) { cam_ptr = &Hu3DCamera[i]; cam_ptr->viewport_x = vx; @@ -1154,7 +1148,7 @@ void Hu3DCameraScissorSet(s32 cam, u32 x, u32 y, u32 w, u32 h) { s16 i; CameraData* cam_ptr; - for (i = 0, mask = 1; i < HU3D_CAM_MAX; i++, mask <<= 1) { + for (i = 0, mask = 1; i < 0x10; i++, mask <<= 1) { if ((cam & mask) != 0) { cam_ptr = &Hu3DCamera[i]; cam_ptr->scissor_x = x; @@ -1170,7 +1164,7 @@ void Hu3DCameraPosSet(s32 cam, f32 x, f32 y, f32 z, f32 ux, f32 uy, f32 uz, f32 s16 i; CameraData* cam_ptr; - for (i = 0, mask = 1; i < HU3D_CAM_MAX; i++, mask <<= 1) { + for (i = 0, mask = 1; i < 0x10; i++, mask <<= 1) { if ((cam & mask) != 0) { cam_ptr = &Hu3DCamera[i]; cam_ptr->pos.x = x; @@ -1191,7 +1185,7 @@ void Hu3DCameraPosSetV(s32 cam, Vec *pos, Vec *up, Vec *target) { s16 i; CameraData* cam_ptr; - for (i = 0, mask = 1; i < HU3D_CAM_MAX; i++, mask <<= 1) { + for (i = 0, mask = 1; i < 0x10; i++, mask <<= 1) { if ((cam & mask) != 0) { cam_ptr = &Hu3DCamera[i]; cam_ptr->pos = *pos; @@ -1206,7 +1200,7 @@ void Hu3DCameraKill(s32 cam) { s16 i; CameraData* cam_ptr; - for (i = 0, mask = 1; i < HU3D_CAM_MAX; i++, mask <<= 1) { + for (i = 0, mask = 1; i < 0x10; i++, mask <<= 1) { if ((cam & mask) != 0) { cam_ptr = &Hu3DCamera[i]; cam_ptr->fov = -1.0f; @@ -1223,9 +1217,9 @@ void Hu3DCameraAllKill(void) { s16 mask2; cam_ptr = &Hu3DCamera[0]; - for (i = 0, mask = 1; i < HU3D_CAM_MAX; i++, mask <<= 1, cam_ptr++) { + for (i = 0, mask = 1; i < 0x10; i++, mask <<= 1, cam_ptr++) { if (-1.0f != cam_ptr->fov) { - for (j = 0, mask2 = 1; j < HU3D_CAM_MAX; j++, mask2 <<= 1) { + for (j = 0, mask2 = 1; j < 0x10; j++, mask2 <<= 1) { if ((mask & mask2) != 0) { cam_ptr2 = &Hu3DCamera[j]; cam_ptr2->fov = -1.0f; @@ -1282,22 +1276,22 @@ BOOL Hu3DModelCameraInfoSet(s16 arg0, u16 arg1) { temp_f31 = obj_copy->data.base.rot.x; cam->aspect_dupe = temp_f31; - VECSubtract((Point3d* ) &obj_copy->camera.target, (Point3d* ) &obj_copy->camera.pos, &sp8); + PSVECSubtract((Point3d* ) &obj_copy->camera.target, (Point3d* ) &obj_copy->camera.pos, &sp8); sp14.x = ((sp8.x * sp8.y * (1.0 - cosd(temp_f31))) - (sp8.z * sind(temp_f31))); sp14.y = ((sp8.y * sp8.y) + (1.0f - (sp8.y * sp8.y)) * cosd(temp_f31)); sp14.z = (((sp8.y * sp8.z) * (1.0 - cosd(temp_f31))) + (sp8.x * sind(temp_f31))); - VECNormalize(&sp14, &sp8); + PSVECNormalize(&sp14, &sp8); Hu3DCameraPosSet(arg1, obj_copy->camera.target.x, obj_copy->camera.target.y, obj_copy->camera.target.z, sp8.x, sp8.y, sp8.z, obj_copy->camera.pos.x, obj_copy->camera.pos.y, obj_copy->camera.pos.z); - Hu3DCameraPerspectiveSet(arg1, obj_copy->camera.fov, obj_copy->camera.near, obj_copy->camera.far, HU_DISP_ASPECT); + Hu3DCameraPerspectiveSet(arg1, obj_copy->camera.fov, obj_copy->camera.near, obj_copy->camera.far, 1.2f); temp_r28->unk_01 = arg1; temp_r24 = &Hu3DData[arg0]; - temp_r24->attr |= HU3D_ATTR_CAMERA_MOTON; + temp_r24->attr |= 0x2000; (void)temp_r24; return 1; } @@ -1311,8 +1305,8 @@ s16 Hu3DModelCameraCreate(s16 arg0, u16 arg1) { temp_r3 = Hu3DHookFuncCreate((ModelHookFunc)-1); temp_r31 = &Hu3DData[(s16) temp_r3]; - temp_r31->attr &= ~HU3D_ATTR_HOOKFUNC; - temp_r31->attr |= HU3D_ATTR_CAMERA | HU3D_ATTR_CAMERA_MOTON; + temp_r31->attr &= ~0x10; + temp_r31->attr |= 0x10000 | 0x2000; temp_r31->unk_08 = arg0; temp_r31->unk_01 = arg1; return temp_r3; @@ -1325,7 +1319,7 @@ void Hu3DCameraMotionOn(s16 arg0, s8 arg1) { copy2 = &Hu3DData[arg0]; copy2->unk_01 = arg1; copy = &Hu3DData[arg0]; - copy->attr |= HU3D_ATTR_CAMERA_MOTON; + copy->attr |= 0x2000; } void Hu3DCameraMotionStart(s16 arg0, u16 arg1) { @@ -1338,9 +1332,9 @@ void Hu3DCameraMotionStart(s16 arg0, u16 arg1) { temp_r27 = &Hu3DData[arg0]; temp_r27->unk_01 = arg1; temp_r29 = &Hu3DData[arg0]; - temp_r29->attr |= HU3D_ATTR_CAMERA_MOTON; + temp_r29->attr |= 0x2000; temp_r30 = &Hu3DData[arg0]; - temp_r30->motion_attr &= ~HU3D_MOTATTR_PAUSE; + temp_r30->motion_attr &= ~0x40000002; Hu3DMotionStartEndSet(arg0, 0.0f, Hu3DMotionMotionMaxTimeGet(temp_r28->unk_08)); Hu3DMotionTimeSet(arg0, 0.0f); } @@ -1349,7 +1343,7 @@ void Hu3DCameraMotionOff(s16 arg0) { ModelData* temp_r31; temp_r31 = &Hu3DData[arg0]; - temp_r31->attr &= ~HU3D_ATTR_CAMERA_MOTON; + temp_r31->attr &= ~0x2000; } void Hu3DLighInit(void) { @@ -1392,11 +1386,11 @@ inline s16 Hu3DLightCreateV(LightData *light, Vec *arg0, Vec *arg1, GXColor *arg light->unk_34.x = light->unk_34.y = light->unk_34.z = 0.0f; light->unk_04 = 30.0f; light->unk_02 = 2; - VECNormalize(&light->unk_28, &light->unk_28); + PSVECNormalize(&light->unk_28, &light->unk_28); light->color = *arg2; } -s16 Hu3DGLightCreateV(Vec* pos, Vec* dir, GXColor* color) { +s16 Hu3DGLightCreateV(Vec* arg0, Vec* arg1, GXColor* arg2) { s16 var_r30; LightData* var_r31; @@ -1411,7 +1405,7 @@ s16 Hu3DGLightCreateV(Vec* pos, Vec* dir, GXColor* color) { return -1; } - Hu3DLightCreateV(var_r31, pos, dir, color); + Hu3DLightCreateV(var_r31, arg0, arg1, arg2); return var_r30; } @@ -1462,7 +1456,7 @@ s16 Hu3DLLightCreateV(s16 arg0, Vec* arg1, Vec* arg2, GXColor* arg3) { return -1; } temp_r29->unk_38[var_r30] = var_r28; - temp_r29->attr |= HU3D_ATTR_LLIGHT; + temp_r29->attr |= 0x1000; return var_r30; } @@ -1550,7 +1544,7 @@ void Hu3DLLightKill(s16 dataIndex, s16 lightIndex) { } } if (var_r30 == 8) { - temp_r31->attr &= ~HU3D_ATTR_LLIGHT; + temp_r31->attr &= ~0x1000; } } @@ -1590,7 +1584,7 @@ void Hu3DLLightColorSet(s16 dataIndex, s16 lightIndex, u8 r, u8 g, u8 b, u8 a) { inline void Hu3DLightPosSetV(LightData *light, Vec* pos, Vec* aim) { light->unk_1C = *pos; - VECNormalize(aim, &light->unk_28); + PSVECNormalize(aim, &light->unk_28); } void Hu3DGLightPosSetV(s16 index, Vec* pos, Vec* aim) { @@ -1615,7 +1609,7 @@ inline void Hu3DLightPosSet(LightData *light, f32 arg8, f32 arg9, f32 argA, f32 light->unk_28.x = argB; light->unk_28.y = argC; light->unk_28.z = argD; - VECNormalize(&light->unk_28, &light->unk_28); + PSVECNormalize(&light->unk_28, &light->unk_28); } void Hu3DGLightPosSet(s16 arg0, f32 arg8, f32 arg9, f32 argA, f32 argB, f32 argC, f32 argD) { @@ -1636,8 +1630,8 @@ void Hu3DLLightPosSet(s16 arg0, s16 arg1, f32 arg8, f32 arg9, f32 argA, f32 argB inline void Hu3DLightPosAimSetV(LightData *light, Vec* pos, Vec* aim) { light->unk_1C = *pos; - VECSubtract(aim, pos, &light->unk_28); - VECNormalize(&light->unk_28, &light->unk_28); + PSVECSubtract(aim, pos, &light->unk_28); + PSVECNormalize(&light->unk_28, &light->unk_28); } void Hu3DGLightPosAimSetV(s16 index, Vec* pos, Vec* aim) { @@ -1795,7 +1789,7 @@ s16 Hu3DLightSet(ModelData* arg0, Mtx *arg1, Mtx *arg2, f32 arg8) { var_r30 <<= 1; } } - if ((arg0->attr & HU3D_ATTR_LLIGHT) != 0) { + if ((arg0->attr & 0x1000) != 0) { for (i = 0; i < 8; i++) { if (arg0->unk_38[i] != -1) { var_r29 = &Hu3DLocalLight[arg0->unk_38[i]]; @@ -1822,7 +1816,7 @@ void lightSet(LightData* arg0, s16 arg1, Mtx *arg2, Mtx *arg3, f32 arg8) { GXInitLightAttn(&sp30, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f); GXInitLightSpot(&sp30, 20.0f, GX_SP_COS); GXInitLightAttnK(&sp30, 1.0f, 0.0f, 0.0f); - VECScale(&arg0->unk_28, &arg0->unk_1C, -1000000.0f); + PSVECScale(&arg0->unk_28, &arg0->unk_1C, -1000000.0f); break; case 2: GXInitLightAttn(&sp30, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); @@ -1878,7 +1872,7 @@ void Hu3DFogClear(void) { void Hu3DShadowCreate(f32 arg8, f32 arg9, f32 argA) { Hu3DShadowData.unk_02 = 0xC0; if (Hu3DShadowData.unk_04 == 0) { - Hu3DShadowData.unk_04 = HuMemDirectMalloc(HEAP_DATA, SHADOW_HEAP_SIZE); + Hu3DShadowData.unk_04 = HuMemDirectMalloc(HEAP_DATA, 0x9000); } Hu3DShadowData.unk_08.x = arg8; Hu3DShadowData.unk_08.y = arg9; @@ -1890,16 +1884,16 @@ void Hu3DShadowCreate(f32 arg8, f32 arg9, f32 argA) { Hu3DShadowData.unk_2C.x = -1.0f; Hu3DShadowData.unk_2C.y = 1.0f; Hu3DShadowData.unk_2C.z = 0.0f; - C_MTXLightPerspective(Hu3DShadowData.unk_68, arg8, HU_DISP_ASPECT, 0.5f, -0.5f, 0.5f, 0.5f); - VECNormalize(&Hu3DShadowData.unk_2C, &Hu3DShadowData.unk_2C); + C_MTXLightPerspective(Hu3DShadowData.unk_68, arg8, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); + PSVECNormalize(&Hu3DShadowData.unk_2C, &Hu3DShadowData.unk_2C); Hu3DShadowData.unk_00 = 0x80; Hu3DShadowF = 1; } -void Hu3DShadowPosSet(Vec* camPos, Vec* camUp, Vec* camTarget) { - Hu3DShadowData.unk_14 = *camPos; - Hu3DShadowData.unk_20 = *camTarget; - Hu3DShadowData.unk_2C = *camUp; +void Hu3DShadowPosSet(Vec* arg0, Vec* arg1, Vec* arg2) { + Hu3DShadowData.unk_14 = *arg0; + Hu3DShadowData.unk_20 = *arg2; + Hu3DShadowData.unk_2C = *arg1; } void Hu3DShadowTPLvlSet(f32 arg8) { @@ -1927,7 +1921,7 @@ void Hu3DShadowExec(void) { Hu3DDrawPreInit(); GXSetCopyClear(sp14, 0xFFFFFF); - C_MTXPerspective(sp18, Hu3DShadowData.unk_08.x, HU_DISP_ASPECT, Hu3DShadowData.unk_08.y, Hu3DShadowData.unk_08.z); + C_MTXPerspective(sp18, Hu3DShadowData.unk_08.x, 1.2f, Hu3DShadowData.unk_08.y, Hu3DShadowData.unk_08.z); GXSetProjection(sp18, GX_PERSPECTIVE); if (Hu3DShadowData.unk_02 <= 0xF0) { GXSetScissor(2, 2, Hu3DShadowData.unk_02 * 2 - 4, Hu3DShadowData.unk_02 * 2 - 4); @@ -1945,9 +1939,9 @@ void Hu3DShadowExec(void) { GXInvalidateTexAll(); GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, BGColor); - for (var_r30 = 0; var_r30 < HU3D_MODEL_MAX; var_r30++, var_r31++) { - if (var_r31->hsfData != 0 && (var_r31->attr & HU3D_ATTR_SHADOW) != 0 && (var_r31->attr & HU3D_ATTR_DISPOFF) == 0 && (var_r31->attr & HU3D_ATTR_HOOK) == 0) { - if ((var_r31->attr & HU3D_ATTR_MOTION_OFF) != 0) { + for (var_r30 = 0; var_r30 < 0x200; var_r30++, var_r31++) { + if (var_r31->hsfData != 0 && (var_r31->attr & 4) != 0 && (var_r31->attr & 1) == 0 && (var_r31->attr & 0x8000) == 0) { + if ((var_r31->attr & 8) != 0) { test2 = 0; if (var_r31->unk_08 != -1) { Hu3DMotionExec(var_r30, var_r31->unk_08, var_r31->unk_64, 0); @@ -1958,7 +1952,7 @@ void Hu3DShadowExec(void) { if (var_r31->unk_0A != -1) { Hu3DMotionExec(var_r30, var_r31->unk_0A, var_r31->unk_74, 1); } - if ((var_r31->attr & HU3D_ATTR_CLUSTER_ON) != 0) { + if ((var_r31->attr & 0x400) != 0) { ClusterMotionExec(var_r31); test2 = 1; } @@ -1969,13 +1963,13 @@ void Hu3DShadowExec(void) { Hu3DMotionExec(var_r30, var_r31->unk_0E, var_r31->unk_94, 1); } } - if ((var_r31->attr & (HU3D_ATTR_HOOKFUNC|HU3D_ATTR_ENVELOPE_OFF)) == 0 || (var_r31->motion_attr & HU3D_MOTATTR_PAUSE) == 0) { + if ((var_r31->attr & 0x90) == 0 || (var_r31->motion_attr & 0x40000002) == 0) { test2 = 1; InitVtxParm(var_r31->hsfData); if (var_r31->unk_0E != -1) { ShapeProc(var_r31->hsfData); } - if ((var_r31->attr & HU3D_ATTR_CLUSTER_ON) != 0) { + if ((var_r31->attr & 0x400) != 0) { ClusterProc(var_r31); } if (var_r31->hsfData->cenvCnt != 0) { @@ -1983,7 +1977,7 @@ void Hu3DShadowExec(void) { } PPCSync(); } - var_r31->attr |= HU3D_ATTR_MOT_EXEC; + var_r31->attr |= 0x800; } mtxRot(sp58, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z); PSMTXScale(spB8, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z); @@ -2058,8 +2052,8 @@ s16 Hu3DProjectionCreate(void *arg0, f32 arg8, f32 arg9, f32 argA) { var_r31->unk_2C.x = -1.0f; var_r31->unk_2C.y = 1.0f; var_r31->unk_2C.z = 0.0f; - C_MTXLightPerspective(var_r31->unk_68, arg8, HU_DISP_ASPECT, 0.5f, -0.5f, 0.5f, 0.5f); - VECNormalize(&var_r31->unk_2C, &var_r31->unk_2C); + C_MTXLightPerspective(var_r31->unk_68, arg8, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); + PSVECNormalize(&var_r31->unk_2C, &var_r31->unk_2C); var_r31->unk_00 = 0x80; Hu3DProjectionNum++; return var_r30; diff --git a/src/game/hsfmotion.c b/src/game/hsfmotion.c index e21ad90f..69ba3236 100644 --- a/src/game/hsfmotion.c +++ b/src/game/hsfmotion.c @@ -10,14 +10,10 @@ #include "ext_math.h" #include "string.h" -#define HU3D_MOTATTR_SHIFT_ALL (HU3D_MOTATTR_SHIFT_LOOP|HU3D_MOTATTR_SHIFT_PAUSE|HU3D_MOTATTR_SHIFT_REV) -#define HU3D_MOTATTR_NOSHIFT_ALL (HU3D_MOTATTR_LOOP|HU3D_MOTATTR_PAUSE|HU3D_MOTATTR_REV) -#define HU3D_MOTATTR_ALL (HU3D_MOTATTR_SHIFT_ALL|HU3D_MOTATTR_NOSHIFT_ALL) - static s32 SearchObjectIndex(HsfData *arg0, u32 arg1); static s32 SearchAttributeIndex(HsfData *arg0, u32 arg1); -MotionData Hu3DMotion[HU3D_MOTION_MAX]; +MotionData Hu3DMotion[256]; static HsfBitmap *bitMapPtr; @@ -26,7 +22,7 @@ void Hu3DMotionInit(void) { s16 i; var_r31 = (MotionData*) Hu3DData; - for (i = 0; i < HU3D_MOTION_MAX; i++, var_r31++) { + for (i = 0; i < 256; i++, var_r31++) { var_r31->unk_04 = 0; } } @@ -36,12 +32,12 @@ s16 Hu3DMotionCreate(void *arg0) { s16 i; var_r31 = Hu3DMotion; - for (i = 0; i < HU3D_MOTION_MAX; i++, var_r31++) { + for (i = 0; i < 256; i++, var_r31++) { if (var_r31->unk_04 == 0) { break; } } - if (i == HU3D_MOTION_MAX) { + if (i == 256) { OSReport("Error: Create Motion Over!\n"); return -1; } @@ -57,12 +53,12 @@ s16 Hu3DMotionModelCreate(s16 arg0) { s16 i; var_r31 = Hu3DMotion; - for (i = 0; i < HU3D_MOTION_MAX; i++, var_r31++) { + for (i = 0; i < 256; i++, var_r31++) { if (var_r31->unk_04 == 0) { break; } } - if (i == HU3D_MOTION_MAX) { + if (i == 256) { OSReport("Error: Create Motion Over!\n"); return -1; } @@ -105,7 +101,7 @@ void Hu3DMotionAllKill(void) { s16 i; var_r27 = Hu3DMotion; - for (i = 0; i < HU3D_MOTION_MAX; i++, var_r27++) { + for (i = 0; i < 256; i++, var_r27++) { if (var_r27->unk_04) { Hu3DMotionKill(i); } @@ -147,7 +143,7 @@ void Hu3DMotionShiftSet(s16 arg0, s16 arg1, float arg2, float arg3, u32 arg4) { MotionData *sp10 = &Hu3DMotion[arg1]; s32 var_r30; - arg4 &= ~HU3D_MOTATTR; + arg4 &= ~0x40000000; var_r30 = 0; if (temp_r31->unk_0C != -1) { temp_r31->unk_08 = temp_r31->unk_0C; @@ -155,20 +151,20 @@ void Hu3DMotionShiftSet(s16 arg0, s16 arg1, float arg2, float arg3, u32 arg4) { temp_r31->unk_68 = temp_r31->unk_88; temp_r31->unk_6C = temp_r31->unk_8C; temp_r31->unk_70 = temp_r31->unk_90; - if (arg4 & HU3D_MOTATTR_SHIFT_LOOP) { - var_r30 |= HU3D_MOTATTR_LOOP; + if (arg4 & 0x40000008) { + var_r30 |= 0x40000000 | 1; } - if (arg4 & HU3D_MOTATTR_SHIFT_PAUSE) { - var_r30 |= HU3D_MOTATTR_PAUSE; + if (arg4 & 0x40000010) { + var_r30 |= 0x40000000 | 2; } - if (arg4 & HU3D_MOTATTR_SHIFT_REV) { - var_r30 |= HU3D_MOTATTR_REV; + if (arg4 & 0x40000020) { + var_r30 |= 0x40000000 | 4; } - temp_r31->motion_attr &= ~HU3D_MOTATTR_ALL; + temp_r31->motion_attr &= ~0x4000003F; temp_r31->motion_attr |= var_r30; - temp_r31->motion_attr &= ~HU3D_MOTATTR; + temp_r31->motion_attr &= ~0x40000000; } else { - temp_r31->motion_attr &= ~HU3D_MOTATTR_SHIFT_ALL; + temp_r31->motion_attr &= ~0x40000038; } temp_r31->unk_0C = arg1; temp_r31->unk_84 = arg2; @@ -177,18 +173,18 @@ void Hu3DMotionShiftSet(s16 arg0, s16 arg1, float arg2, float arg3, u32 arg4) { temp_r31->unk_80 = arg3; temp_r31->unk_8C = 0.0f; temp_r31->unk_90 = Hu3DMotionShiftMaxTimeGet(arg0); - if (arg4 & HU3D_MOTATTR_LOOP) { - var_r30 |= HU3D_MOTATTR_SHIFT_LOOP; + if (arg4 & 0x40000001) { + var_r30 |= 0x40000000 | 8; } - if (arg4 & HU3D_MOTATTR_PAUSE) { - var_r30 |= HU3D_MOTATTR_SHIFT_PAUSE; + if (arg4 & 0x40000002) { + var_r30 |= 0x40000000 | 0x10; } - if (arg4 & HU3D_MOTATTR_REV) { - var_r30 |= HU3D_MOTATTR_SHIFT_REV; + if (arg4 & 0x40000004) { + var_r30 |= 0x40000000 | 0x20; } - arg4 &= ~HU3D_MOTATTR_NOSHIFT_ALL; + arg4 &= ~0x40000007; temp_r31->motion_attr |= var_r30 | arg4; - temp_r31->motion_attr &= ~HU3D_MOTATTR; + temp_r31->motion_attr &= ~0x40000000; } void Hu3DMotionShapeSet(s16 arg0, s16 arg1) { @@ -235,8 +231,8 @@ s16 Hu3DMotionClusterSet(s16 arg0, s16 arg1) { temp_r31->unk_10[i] = arg1; temp_r31->unk_A4[i] = 0.0f; temp_r31->unk_B4[i] = 1.0f; - temp_r31->cluster_attr[i] = HU3D_ATTR_NONE; - temp_r31->attr |= HU3D_ATTR_CLUSTER_ON; + temp_r31->cluster_attr[i] = 0; + temp_r31->attr |= 0x400; ClusterAdjustObject(temp_r31->hsfData, Hu3DMotion[arg1].unk_04); return i; } @@ -252,7 +248,7 @@ s16 Hu3DMotionClusterNoSet(s16 arg0, s16 arg1, s16 arg2) { temp_r31->unk_10[arg2] = arg1; temp_r31->unk_A4[arg2] = 0.0f; temp_r31->unk_B4[arg2] = 1.0f; - temp_r31->attr |= HU3D_ATTR_CLUSTER_ON; + temp_r31->attr |= 0x400; ClusterAdjustObject(temp_r31->hsfData, Hu3DMotion[arg1].unk_04); return arg2; } @@ -269,7 +265,7 @@ void Hu3DMotionClusterReset(s16 arg0, s16 arg1) { for (i = 0; i < 4; i++) { temp_r31->unk_10[i] = -1; } - temp_r31->attr &= ~HU3D_ATTR_CLUSTER_ON; + temp_r31->attr &= ~0x400; } else { temp_r31->unk_10[arg1] = -1; for (i = 0; i < 4; i++) { @@ -277,7 +273,7 @@ void Hu3DMotionClusterReset(s16 arg0, s16 arg1) { return; } } - temp_r31->attr &= ~HU3D_ATTR_CLUSTER_ON; + temp_r31->attr &= ~0x400; } } @@ -303,7 +299,7 @@ void Hu3DMotionTimeSet(s16 arg0, float arg1) { arg1 = 0.0f; } temp_r31->unk_64 = arg1; - if (temp_r31->hsfData != (HsfData*) -1 && temp_r31->hsfData->cenvCnt != 0 && (temp_r31->motion_attr & HU3D_MOTATTR_PAUSE)) { + if (temp_r31->hsfData != (HsfData*) -1 && temp_r31->hsfData->cenvCnt != 0 && (temp_r31->motion_attr & 0x40000002)) { Hu3DMotionExec(arg0, temp_r31->unk_08, arg1, 0); if (temp_r31->unk_0C != -1) { Hu3DSubMotionExec(arg0); @@ -382,7 +378,7 @@ void Hu3DMotionStartEndSet(s16 arg0, float arg1, float arg2) { } s32 Hu3DMotionEndCheck(s16 arg0) { - if (!(Hu3DData[arg0].motion_attr & HU3D_MOTATTR_REV)) { + if (!(Hu3DData[arg0].motion_attr & 0x40000004)) { return (Hu3DMotionMaxTimeGet(arg0) <= Hu3DMotionTimeGet(arg0)); } else { return (Hu3DMotionTimeGet(arg0) <= 0.0f); @@ -484,13 +480,13 @@ void Hu3DMotionNext(s16 arg0) { temp_r28 = temp_r31->motion_attr; if (temp_r31->unk_08 != -1) { temp_r27 = &Hu3DMotion[temp_r31->unk_08]; - if (!(temp_r28 & HU3D_MOTATTR_PAUSE)) { - if (!(temp_r28 & HU3D_MOTATTR_REV)) { + if (!(temp_r28 & 0x40000002)) { + if (!(temp_r28 & 0x40000004)) { temp_r31->unk_64 += temp_r31->unk_68 * minimumVcountf; } else { temp_r31->unk_64 -= temp_r31->unk_68 * minimumVcountf; } - if (temp_r28 & HU3D_MOTATTR_LOOP) { + if (temp_r28 & 0x40000001) { if (temp_r31->unk_64 < temp_r31->unk_6C) { temp_r31->unk_64 = temp_r31->unk_70 - (temp_r31->unk_6C - temp_r31->unk_64); } else if (temp_r31->unk_64 >= temp_r31->unk_70) { @@ -506,13 +502,13 @@ void Hu3DMotionNext(s16 arg0) { if (temp_r31->unk_0A != -1) { temp_r27 = &Hu3DMotion[temp_r31->unk_0A]; temp_r29 = temp_r27->unk_04->motion; - if (!(temp_r28 & HU3D_MOTATTR_OVL_PAUSE)) { - if (!(temp_r28 & HU3D_MOTATTR_OVL_REV)) { + if (!(temp_r28 & 0x40000400)) { + if (!(temp_r28 & 0x40000800)) { temp_r31->unk_74 += temp_r31->unk_78 * minimumVcountf; } else { temp_r31->unk_74 -= temp_r31->unk_78 * minimumVcountf; } - if (temp_r28 & HU3D_MOTATTR_OVL_LOOP) { + if (temp_r28 & 0x40000200) { if (temp_r31->unk_74 < 0.0f) { temp_r31->unk_74 = temp_r29->len; } else if (temp_r31->unk_74 >= temp_r29->len) { @@ -535,28 +531,28 @@ void Hu3DMotionNext(s16 arg0) { temp_r31->unk_70 = temp_r31->unk_90; temp_r31->unk_0C = -1; temp_r28 = 0; - if (temp_r31->motion_attr & HU3D_MOTATTR_SHIFT_LOOP) { - temp_r28 |= HU3D_MOTATTR_LOOP; + if (temp_r31->motion_attr & 0x40000008) { + temp_r28 |= 0x40000000 | 1; } - if (temp_r31->motion_attr & HU3D_MOTATTR_SHIFT_PAUSE) { - temp_r28 |= HU3D_MOTATTR_PAUSE; + if (temp_r31->motion_attr & 0x40000010) { + temp_r28 |= 0x40000000 | 2; } - if (temp_r31->motion_attr & HU3D_MOTATTR_SHIFT_REV) { - temp_r28 |= HU3D_MOTATTR_REV; + if (temp_r31->motion_attr & 0x40000020) { + temp_r28 |= 0x40000000 | 4; } - temp_r31->motion_attr &= ~HU3D_MOTATTR_ALL; + temp_r31->motion_attr &= ~0x4000003F; temp_r31->motion_attr |= temp_r28; - temp_r31->motion_attr &= ~HU3D_MOTATTR; + temp_r31->motion_attr &= ~0x40000000; return; } - if (!(temp_r31->motion_attr & HU3D_MOTATTR_SHIFT_PAUSE)) { + if (!(temp_r31->motion_attr & 0x40000010)) { temp_r27 = &Hu3DMotion[temp_r31->unk_0C]; - if (!(temp_r31->motion_attr & HU3D_MOTATTR_SHIFT_REV)) { + if (!(temp_r31->motion_attr & 0x40000020)) { temp_r31->unk_84 += temp_r31->unk_88 * minimumVcountf; } else { temp_r31->unk_84 -= temp_r31->unk_88 * minimumVcountf; } - if (temp_r31->motion_attr & HU3D_MOTATTR_SHIFT_LOOP) { + if (temp_r31->motion_attr & 0x40000008) { if (temp_r31->unk_84 < temp_r31->unk_8C) { temp_r31->unk_84 = temp_r31->unk_90; } else if (temp_r31->unk_84 >= temp_r31->unk_90) { @@ -569,15 +565,15 @@ void Hu3DMotionNext(s16 arg0) { } } } - if (temp_r31->unk_0E != -1 && !(temp_r28 & HU3D_MOTATTR_SHAPE_PAUSE)) { + if (temp_r31->unk_0E != -1 && !(temp_r28 & 0x40000080)) { temp_r27 = &Hu3DMotion[temp_r31->unk_0E]; temp_r29 = temp_r27->unk_04->motion; - if (!(temp_r28 & HU3D_MOTATTR_SHAPE_REV)) { + if (!(temp_r28 & 0x40000100)) { temp_r31->unk_94 += temp_r31->unk_98 * minimumVcountf; } else { temp_r31->unk_94 -= temp_r31->unk_98 * minimumVcountf; } - if (temp_r28 & HU3D_MOTATTR_SHAPE_LOOP) { + if (temp_r28 & 0x40000040) { if (temp_r31->unk_94 < temp_r31->unk_9C) { temp_r31->unk_94 = temp_r31->unk_A0; } else if (temp_r31->unk_94 >= temp_r31->unk_A0) { @@ -589,17 +585,17 @@ void Hu3DMotionNext(s16 arg0) { temp_r31->unk_94 = temp_r31->unk_A0; } } - if (temp_r31->attr & HU3D_ATTR_CLUSTER_ON) { + if (temp_r31->attr & 0x400) { for (i = 0; i < 4; i++) { - if (temp_r31->unk_10[i] != -1 && !(temp_r31->cluster_attr[i] & HU3D_CLUSTER_ATTR_PAUSE)) { + if (temp_r31->unk_10[i] != -1 && !(temp_r31->cluster_attr[i] & (s32) 0xC0000002)) { temp_r27 = &Hu3DMotion[temp_r31->unk_10[i]]; temp_r29 = temp_r27->unk_04->motion; - if (!(temp_r31->cluster_attr[i] & HU3D_CLUSTER_ATTR_REV)) { + if (!(temp_r31->cluster_attr[i] & (s32) 0xC0000004)) { temp_r31->unk_A4[i] += temp_r31->unk_B4[i] * minimumVcountf; } else { temp_r31->unk_A4[i] -= temp_r31->unk_B4[i] * minimumVcountf; } - if (temp_r31->cluster_attr[i] & HU3D_CLUSTER_ATTR_LOOP) { + if (temp_r31->cluster_attr[i] & (s32) 0xC0000001) { if (temp_r31->unk_A4[i] < 0.0f) { temp_r31->unk_A4[i] = temp_r29->len; } else if (temp_r31->unk_A4[i] >= temp_r29->len) { @@ -683,7 +679,7 @@ void Hu3DMotionExec(s16 arg0, s16 arg1, float arg2, s32 arg3) { if (var_r30->channel == 0x28) { temp_r31->data.mesh.baseMorph = GetCurve(var_r30, arg2); } else if (temp_r31->type == 7) { - if (temp_r27->attr & HU3D_ATTR_CAMERA_MOTON) { + if (temp_r27->attr & 0x2000) { SetObjCameraMotion(arg0, var_r30, GetCurve(var_r30, arg2)); } } else if (temp_r31->type == 8) { @@ -722,20 +718,20 @@ void Hu3DMotionExec(s16 arg0, s16 arg1, float arg2, s32 arg3) { } break; case 9: - if (!(temp_r27->attr & HU3D_ATTR_CURVE_MOTOFF)) { + if (!(temp_r27->attr & 0x80000)) { if (var_r30->param < temp_r29->materialCnt) { SetObjMatMotion(arg0, var_r30, GetCurve(var_r30, arg2)); } } break; case 5: - if (!(temp_r27->attr & HU3D_ATTR_CURVE_MOTOFF)) { + if (!(temp_r27->attr & 0x80000)) { var_r23 = &temp_r29->cluster[var_r30->target_s16]; var_r23->unk10 = GetClusterCurve(var_r30, arg2); } break; case 6: - if (!(temp_r27->attr & HU3D_ATTR_CURVE_MOTOFF)) { + if (!(temp_r27->attr & 0x80000)) { temp_r22 = var_r30; var_r23 = &temp_r29->cluster[temp_r22->target_s16]; var_r23->unk14[temp_r22->unk04] = GetClusterWeightCurve(temp_r22, arg2); @@ -743,7 +739,7 @@ void Hu3DMotionExec(s16 arg0, s16 arg1, float arg2, s32 arg3) { break; case 10: var_r26 = var_r30; - if (var_r26->target_s16 != -1 || !(temp_r27->attr & HU3D_ATTR_CURVE_MOTOFF)) { + if (var_r26->target_s16 != -1 || !(temp_r27->attr & 0x80000)) { if (var_r26->param != -1 && var_r26->param < temp_r29->attributeCnt) { SetObjAttrMotion(arg0, var_r26, GetCurve(var_r26, arg2)); } @@ -766,7 +762,7 @@ void Hu3DCameraMotionExec(s16 arg0) { temp_r27 = temp_r28->unk_04; temp_r29 = temp_r27->motion; var_r31 = temp_r29->track; - if (temp_r30->attr & HU3D_ATTR_CAMERA_MOTON) { + if (temp_r30->attr & 0x2000) { temp_r26 = &var_r31[temp_r29->numTracks]; for (; var_r31 < temp_r26; var_r31++) { if (var_r31->type == 2 && var_r31->param_u16 == 7) { @@ -932,7 +928,7 @@ void SetObjMatMotion(s16 arg0, HsfTrack *arg1, float arg2) { temp_r31->shadowColor[2] = var_f31 * 255.0f; break; case 0x39: - if (!(temp_r30->attr & HU3D_ATTR_TPLVL_SET)) { + if (!(temp_r30->attr & 0x40000)) { temp_r31->invAlpha = var_f31; } break; @@ -1051,7 +1047,7 @@ void SetObjCameraMotion(s16 arg0, HsfTrack *arg1, float arg2) { switch (arg1->channel) { case 8: var_f30 = temp_r29->scale.x * (arg2 + temp_r29->pos.x); - for (i = 0, var_r30 = 1; i < HU3D_CAM_MAX; i++, var_r30 <<= 1) { + for (i = 0, var_r30 = 1; i < 16; i++, var_r30 <<= 1) { if (var_r30 & temp_r28) { Hu3DCamera[i].pos.x = var_f30; } @@ -1059,7 +1055,7 @@ void SetObjCameraMotion(s16 arg0, HsfTrack *arg1, float arg2) { break; case 9: var_f30 = temp_r29->scale.y * (arg2 + temp_r29->pos.y); - for (i = 0, var_r30 = 1; i < HU3D_CAM_MAX; i++, var_r30 <<= 1) { + for (i = 0, var_r30 = 1; i < 16; i++, var_r30 <<= 1) { if (var_r30 & temp_r28) { Hu3DCamera[i].pos.y = var_f30; } @@ -1067,7 +1063,7 @@ void SetObjCameraMotion(s16 arg0, HsfTrack *arg1, float arg2) { break; case 10: var_f30 = temp_r29->scale.z * (arg2 + temp_r29->pos.z); - for (i = 0, var_r30 = 1; i < HU3D_CAM_MAX; i++, var_r30 <<= 1) { + for (i = 0, var_r30 = 1; i < 16; i++, var_r30 <<= 1) { if (var_r30 & temp_r28) { Hu3DCamera[i].pos.z = var_f30; } @@ -1075,7 +1071,7 @@ void SetObjCameraMotion(s16 arg0, HsfTrack *arg1, float arg2) { break; case 11: var_f30 = temp_r29->scale.x * (arg2 + temp_r29->pos.x); - for (i = 0, var_r30 = 1; i < HU3D_CAM_MAX; i++, var_r30 <<= 1) { + for (i = 0, var_r30 = 1; i < 16; i++, var_r30 <<= 1) { if (var_r30 & temp_r28) { Hu3DCamera[i].target.x = var_f30; } @@ -1083,7 +1079,7 @@ void SetObjCameraMotion(s16 arg0, HsfTrack *arg1, float arg2) { break; case 12: var_f30 = temp_r29->scale.y * (arg2 + temp_r29->pos.y); - for (i = 0, var_r30 = 1; i < HU3D_CAM_MAX; i++, var_r30 <<= 1) { + for (i = 0, var_r30 = 1; i < 16; i++, var_r30 <<= 1) { if (var_r30 & temp_r28) { Hu3DCamera[i].target.y = var_f30; } @@ -1091,27 +1087,27 @@ void SetObjCameraMotion(s16 arg0, HsfTrack *arg1, float arg2) { break; case 13: var_f30 = temp_r29->scale.z * (arg2 + temp_r29->pos.z); - for (i = 0, var_r30 = 1; i < HU3D_CAM_MAX; i++, var_r30 <<= 1) { + for (i = 0, var_r30 = 1; i < 16; i++, var_r30 <<= 1) { if (var_r30 & temp_r28) { Hu3DCamera[i].target.z = var_f30; } } break; case 14: - for (i = 0, var_r30 = 1; i < HU3D_CAM_MAX; i++, var_r30 <<= 1) { + for (i = 0, var_r30 = 1; i < 16; i++, var_r30 <<= 1) { if (var_r30 & temp_r28) { - VECSubtract(&Hu3DCamera[i].pos, &Hu3DCamera[i].target, &spC); - VECNormalize(&spC, &spC); + PSVECSubtract(&Hu3DCamera[i].pos, &Hu3DCamera[i].target, &spC); + PSVECNormalize(&spC, &spC); sp18.x = spC.x * spC.y * (1.0 - cosd(arg2)) - spC.z * sind(arg2); sp18.y = spC.y * spC.y + (1.0f - spC.y * spC.y) * cosd(arg2); sp18.z = spC.y * spC.z * (1.0 - cosd(arg2)) + spC.x * sind(arg2); - VECNormalize(&sp18, &Hu3DCamera[i].up); + PSVECNormalize(&sp18, &Hu3DCamera[i].up); Hu3DCamera[i].aspect_dupe = arg2; } } break; case 15: - for (i = 0, var_r30 = 1; i < HU3D_CAM_MAX; i++, var_r30 <<= 1) { + for (i = 0, var_r30 = 1; i < 16; i++, var_r30 <<= 1) { if (var_r30 & temp_r28) { Hu3DCamera[i].fov = arg2; } @@ -1361,7 +1357,7 @@ void JointModel_Motion(s16 arg0, s16 arg1) { void Hu3DMotionCalc(s16 arg0) { ModelData *temp_r31 = &Hu3DData[arg0]; - if ((temp_r31->attr & HU3D_ATTR_DISPOFF) || (temp_r31->attr & HU3D_ATTR_HOOK)) { + if ((temp_r31->attr & 1) || (temp_r31->attr & 0x8000)) { return; } if (temp_r31->unk_08 != -1) { @@ -1373,7 +1369,7 @@ void Hu3DMotionCalc(s16 arg0) { if (temp_r31->unk_0A != -1) { Hu3DMotionExec(arg0, temp_r31->unk_0A, temp_r31->unk_74, 1); } - if (temp_r31->attr & HU3D_ATTR_CLUSTER_ON) { + if (temp_r31->attr & 0x400) { ClusterMotionExec(temp_r31); } if (temp_r31->unk_0E != -1) { @@ -1383,12 +1379,12 @@ void Hu3DMotionCalc(s16 arg0) { Hu3DMotionExec(arg0, temp_r31->unk_0E, temp_r31->unk_94, 1); } } - if (!(temp_r31->attr & (HU3D_ATTR_ENVELOPE_OFF|HU3D_ATTR_HOOKFUNC)) || !(temp_r31->motion_attr & HU3D_MOTATTR_PAUSE)) { + if (!(temp_r31->attr & 0x90) || !(temp_r31->motion_attr & 0x40000002)) { InitVtxParm(temp_r31->hsfData); if (temp_r31->unk_0E != -1) { ShapeProc(temp_r31->hsfData); } - if (temp_r31->attr & HU3D_ATTR_CLUSTER_ON) { + if (temp_r31->attr & 0x400) { ClusterProc(temp_r31); } if (temp_r31->hsfData->cenvCnt != 0) { @@ -1396,7 +1392,7 @@ void Hu3DMotionCalc(s16 arg0) { } PPCSync(); } - temp_r31->attr |= HU3D_ATTR_MOT_EXEC; + temp_r31->attr |= 0x800; } static s32 SearchObjectIndex(HsfData *arg0, u32 arg1) { diff --git a/src/game/init.c b/src/game/init.c index 61315c66..f3a4f853 100644 --- a/src/game/init.c +++ b/src/game/init.c @@ -39,8 +39,6 @@ static void InitVI(); static void SwapBuffers(); static void LoadMemInfo(); -#define ASSERT_LINE(ntsc, pal) ((VERSION_NTSC) ? (ntsc) : (pal)) - void HuSysInit(GXRenderModeObj *mode) { u32 rnd_temp; @@ -48,19 +46,13 @@ void HuSysInit(GXRenderModeObj *mode) DVDInit(); VIInit(); PADInit(); - #if VERSION_NTSC if(OSGetProgressiveMode() == 1 && VIGetDTVStatus() == 1) { mode = &GXNtsc480Prog; } - #else - mode->efbHeight = 480; - #endif InitRenderMode(mode); InitMem(); VIConfigure(RenderMode); - #if VERSION_NTSC VIConfigurePan(0, 0, 640, 480); - #endif DefaultFifo = OSAlloc(0x100000); DefaultFifoObj = GXInit(DefaultFifo, 0x100000); InitGX(); @@ -99,7 +91,7 @@ static void InitRenderMode(GXRenderModeObj *mode) break; default: - OSPanic("init.c", ASSERT_LINE(169, 167), "DEMOInit: invalid TV format\n"); + OSPanic("init.c", 169, "DEMOInit: invalid TV format\n"); break; } GXAdjustForOverscan(RenderMode, &rmodeobj, 0, 16); @@ -112,12 +104,7 @@ static void InitGX() GXSetScissor(0, 0, RenderMode->fbWidth, RenderMode->efbHeight); GXSetDispCopySrc(0, 0, RenderMode->fbWidth, RenderMode->efbHeight); GXSetDispCopyDst(RenderMode->fbWidth, RenderMode->xfbHeight); - #if VERSION_NTSC GXSetDispCopyYScale((float)RenderMode->xfbHeight/(float)RenderMode->efbHeight); - #else - OSReport("%D\n", RenderMode->xfbHeight); - GXSetDispCopyYScale(GXGetYScaleFactor(RenderMode->efbHeight, RenderMode->xfbHeight)); - #endif GXSetCopyFilter(RenderMode->aa, RenderMode->sample_pattern, GX_TRUE, RenderMode->vfilter); if(RenderMode->aa) { GXSetPixelFmt(GX_PF_RGB565_Z16, GX_ZC_LINEAR); @@ -133,21 +120,9 @@ static void InitMem() void *arena_lo = OSGetArenaLo(); void *arena_hi = OSGetArenaHi(); u32 fb_size = (u16)(((u16)RenderMode->fbWidth+15) & ~15)*RenderMode->xfbHeight*2; - u32 *fb1; - u32 *fb2; - u32 i; DemoFrameBuffer1 = (void *)OSRoundUp32B((u32)arena_lo); DemoFrameBuffer2 = (void *)OSRoundUp32B((u32)DemoFrameBuffer1+fb_size); DemoCurrentBuffer = DemoFrameBuffer2; - #if VERSION_PAL - fb1 = DemoFrameBuffer1; - fb2 = DemoFrameBuffer2; - for(i=0; iz * (arg3->y * sp14.x - arg3->x * sp14.y) + arg2->y * (arg3->x * sp14.z - arg3->z * sp14.x) + arg2->x * (arg3->z * sp14.y - arg3->y * sp14.z)); temp_f29 = temp_f28 * (arg1->z * (arg3->x * sp14.y - arg3->y * sp14.x) + arg1->y * (arg3->z * sp14.x - arg3->x * sp14.z) + arg1->x * (arg3->y * sp14.z - arg3->z * sp14.y)); if (temp_f30 > 0.0f && temp_f29 > 0.0f && temp_f30 + temp_f29 > 1.0f) { - VECSubtract(arg2, arg1, &sp14); - VECSubtract(arg4, arg1, &sp8); - temp_f31 = VECDotProduct(&sp14, &sp8) / VECDotProduct(&sp14, &sp14); + PSVECSubtract(arg2, arg1, &sp14); + PSVECSubtract(arg4, arg1, &sp8); + temp_f31 = PSVECDotProduct(&sp14, &sp8) / PSVECDotProduct(&sp14, &sp14); if (temp_f31 <= 0.0f) { arg5 = arg1; } else { if (temp_f31 >= 1.0f) { arg5 = arg2; } else { - VECScale(&sp14, &sp8, temp_f31); - VECAdd(arg1, &sp8, arg5); + PSVECScale(&sp14, &sp8, temp_f31); + PSVECAdd(arg1, &sp8, arg5); } } } else if (temp_f29 < 0.0f) { - temp_f31 = VECDotProduct(arg1, arg4) / VECDotProduct(arg1, arg1); + temp_f31 = PSVECDotProduct(arg1, arg4) / PSVECDotProduct(arg1, arg1); if (temp_f31 <= 0.0f) { HuSetVecF(arg5, 0.0, 0.0, 0.0); } else { if (temp_f31 >= 1.0f) { arg5 = arg1; } else { - VECScale(arg1, arg5, temp_f31); + PSVECScale(arg1, arg5, temp_f31); } } } else if (temp_f30 < 0.0f) { - temp_f31 = VECDotProduct(arg2, arg4) / VECDotProduct(arg2, arg2); + temp_f31 = PSVECDotProduct(arg2, arg4) / PSVECDotProduct(arg2, arg2); if (temp_f31 <= 0.0f) { HuSetVecF(arg5, 0.0, 0.0, 0.0); } else { if (temp_f31 >= 1.0f) { arg5 = arg2; } else { - VECScale(arg2, arg5, temp_f31); + PSVECScale(arg2, arg5, temp_f31); } } } else { @@ -815,13 +815,13 @@ BOOL Hitcheck_Triangle_with_Sphere(Vec *arg0, Vec *arg1, float arg2, Vec *arg3) sp48.x = arg0[0].x; sp48.y = arg0[0].y; sp48.z = arg0[0].z; - VECSubtract(&arg0[1], &arg0[0], &sp3C); - VECSubtract(&arg0[2], &arg0[0], &sp30); - VECCrossProduct(&sp3C, &sp30, &sp24); - VECSubtract(arg1, &arg0[0], &sp18); + PSVECSubtract(&arg0[1], &arg0[0], &sp3C); + PSVECSubtract(&arg0[2], &arg0[0], &sp30); + PSVECCrossProduct(&sp3C, &sp30, &sp24); + PSVECSubtract(arg1, &arg0[0], &sp18); PrecalcPntToTriangle(&sp48, &sp3C, &sp30, &sp24, &sp18, &spC); - VECAdd(&spC, &sp48, arg3); - var_f31 = VECDistance(arg3, arg1); + PSVECAdd(&spC, &sp48, arg3); + var_f31 = PSVECDistance(arg3, arg1); if (var_f31 > arg2) { return FALSE; } else { @@ -845,17 +845,17 @@ BOOL Hitcheck_Quadrangle_with_Sphere(Vec *arg0, Vec *arg1, float arg2, Vec *arg3 sp6C.x = arg0->x; sp6C.y = arg0->y; sp6C.z = arg0->z; - VECSubtract(&arg0[2], &arg0[0], &sp60); - VECSubtract(&arg0[3], &arg0[0], &sp54); - VECSubtract(&arg0[1], &arg0[0], &sp48); - VECCrossProduct(&sp60, &sp54, &sp3C); - VECSubtract(arg1, &arg0[0], &sp30); + PSVECSubtract(&arg0[2], &arg0[0], &sp60); + PSVECSubtract(&arg0[3], &arg0[0], &sp54); + PSVECSubtract(&arg0[1], &arg0[0], &sp48); + PSVECCrossProduct(&sp60, &sp54, &sp3C); + PSVECSubtract(arg1, &arg0[0], &sp30); PrecalcPntToTriangle(&sp6C, &sp60, &sp54, &sp3C, &sp30, &sp24); - VECAdd(&sp24, &sp6C, &sp18); + PSVECAdd(&sp24, &sp6C, &sp18); PrecalcPntToTriangle(&sp6C, &sp54, &sp48, &sp3C, &sp30, &sp24); - VECAdd(&sp24, &sp6C, &spC); - var_f31 = VECDistance(&sp18, arg1); - temp_f30 = VECDistance(&spC, arg1); + PSVECAdd(&sp24, &sp6C, &spC); + var_f31 = PSVECDistance(&sp18, arg1); + temp_f30 = PSVECDistance(&spC, arg1); if (temp_f30 > var_f31) { arg3->x = sp18.x; arg3->y = sp18.y; diff --git a/src/game/minigame_seq.c b/src/game/minigame_seq.c index f74d4bf4..bc3d27ab 100644 --- a/src/game/minigame_seq.c +++ b/src/game/minigame_seq.c @@ -1,86 +1,111 @@ #include "game/armem.h" -#include "game/disp.h" -#include "game/gamework_data.h" -#include "game/hsfman.h" -#include "game/object.h" -#include "game/objsub.h" -#include "game/pad.h" -#include "game/process.h" #include "game/sprite.h" +#include "game/process.h" +#include "game/gamework_data.h" +#include "game/objsub.h" +#include "game/object.h" +#include "game/hsfman.h" #include "game/window.h" #include "game/wipe.h" - +#include "game/pad.h" #include "game/minigame_seq.h" -#include "ext_math.h" +#include "math.h" #include "stdarg.h" -#include "version.h" #undef abs #define ABS(x) (((x) < 0) ? -(x) : (x)) + extern s16 HuSysVWaitGet(s16 param); typedef struct seq_info { - SeqInitFunc init; - SeqUpdateFunc update; - float x; - float y; - float scale_x; - float scale_y; - s32 time_max; + SeqInitFunc init; + SeqUpdateFunc update; + float x; + float y; + float scale_x; + float scale_y; + s32 time_max; } SeqInfo; +static s32 SeqInitTimer(SeqWork *work, va_list params); +static s32 SeqUpdateTimer(SeqWork *work); + +static s32 SeqInitType2(SeqWork *work, va_list params); +static s32 SeqUpdateType2(SeqWork *work); + +static s32 SeqInitMGBasic(SeqWork *work, va_list params); +static s32 SeqUpdateMGBasic(SeqWork *work); +static s32 SeqInitMGCommon(SeqWork *work, va_list params); +static s32 SeqUpdateMG1vs3(SeqWork *work); +static s32 SeqUpdateMGBattle(SeqWork *work); +static s32 SeqUpdateMGStory(SeqWork *work); +static s32 SeqUpdateMG2vs2(SeqWork *work); +static s32 SeqUpdateMGBowser(SeqWork *work); + +static s32 SeqInitWin(SeqWork *work, va_list params); +static s32 SeqUpdateWin(SeqWork *work); +static s32 SeqInitDraw(SeqWork *work, va_list params); +static s32 SeqUpdateDraw(SeqWork *work); +static s32 SeqInitRecord(SeqWork *work, va_list params); +static s32 SeqUpdateRecord(SeqWork *work); + +static s32 SeqInitFlip(SeqWork *work, va_list params); +static s32 SeqUpdateFlip(SeqWork *work); + OverlayID mgSeqOvlPrev = OVL_INVALID; static SeqInfo seqInfoTbl[] = { - { NULL, NULL, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 60 }, - { MGSeqInitTimer, MGSeqUpdateTimer, HU_DISP_CENTERX + 4, 64.0f, 1.0f, 1.0f, 60 }, - { MGSeqInitType2, MGSeqUpdateType2, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 0.5f, 0.5f, 60 }, - { MGSeqInitMGBasic, MGSeqUpdateMGBasic, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { MGSeqInitMGCommon, MGSeqUpdateMG1vs3, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { MGSeqInitWin, MGSeqUpdateWin, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { MGSeqInitMGCommon, MGSeqUpdateMGBattle, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { MGSeqInitMGCommon, MGSeqUpdateMGStory, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { MGSeqInitMGBasic, MGSeqUpdateMGBasic, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { MGSeqInitMGCommon, MGSeqUpdateMG2vs2, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { MGSeqInitFlip, MGSeqUpdateFlip, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { MGSeqInitMGCommon, MGSeqUpdateMGBowser, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { MGSeqInitWin, MGSeqUpdateWin, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { MGSeqInitDraw, MGSeqUpdateDraw, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 60 }, - { MGSeqInitRecord, MGSeqUpdateRecord, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { NULL, NULL, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 60 }, - { NULL, NULL, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 60 }, + { NULL, NULL, 292.0f, 240.0f, 1.0f, 1.0f, 60 }, + { SeqInitTimer, SeqUpdateTimer, 292.0f, 64.0f, 1.0f, 1.0f, 60 }, + { SeqInitType2, SeqUpdateType2, 292.0f, 240.0f, 0.5f, 0.5f, 60 }, + { SeqInitMGBasic, SeqUpdateMGBasic, 292.0f, 240.0f, 1.0f, 1.0f, 180 }, + { SeqInitMGCommon, SeqUpdateMG1vs3, 292.0f, 240.0f, 1.0f, 1.0f, 180 }, + { SeqInitWin, SeqUpdateWin, 292.0f, 240.0f, 1.0f, 1.0f, 180 }, + { SeqInitMGCommon, SeqUpdateMGBattle, 292.0f, 240.0f, 1.0f, 1.0f, 180 }, + { SeqInitMGCommon, SeqUpdateMGStory, 292.0f, 240.0f, 1.0f, 1.0f, 180 }, + { SeqInitMGBasic, SeqUpdateMGBasic, 292.0f, 240.0f, 1.0f, 1.0f, 180 }, + { SeqInitMGCommon, SeqUpdateMG2vs2, 292.0f, 240.0f, 1.0f, 1.0f, 180 }, + { SeqInitFlip, SeqUpdateFlip, 292.0f, 240.0f, 1.0f, 1.0f, 180 }, + { SeqInitMGCommon, SeqUpdateMGBowser, 292.0f, 240.0f, 1.0f, 1.0f, 180 }, + { SeqInitWin, SeqUpdateWin, 292.0f, 240.0f, 1.0f, 1.0f, 180 }, + { SeqInitDraw, SeqUpdateDraw, 292.0f, 240.0f, 1.0f, 1.0f, 60 }, + { SeqInitRecord, SeqUpdateRecord, 292.0f, 240.0f, 1.0f, 1.0f, 180 }, + { NULL, NULL, 292.0f, 240.0f, 1.0f, 1.0f, 60 }, + { NULL, NULL, 292.0f, 240.0f, 1.0f, 1.0f, 60 }, }; -static s32 seqType2SprTbl[6] = { 0, 0, 0, 0, 0, 0 }; +static s32 seqType2SprTbl[6] = { + 0, 0, 0, 0, 0, 0 +}; static s16 mgSeqTypeTbl[9] = { - MG_SEQ_TYPE_4P, - MG_SEQ_TYPE_1VS3, - MG_SEQ_TYPE_2VS2, - MG_SEQ_TYPE_BOWSER, - MG_SEQ_TYPE_BATTLE, - MG_SEQ_TYPE_PINBALL, - MG_SEQ_TYPE_STORY, - MG_SEQ_TYPE_BOWSER, - MG_SEQ_TYPE_STORY, + MG_SEQ_TYPE_4P, + MG_SEQ_TYPE_1VS3, + MG_SEQ_TYPE_2VS2, + MG_SEQ_TYPE_BOWSER, + MG_SEQ_TYPE_BATTLE, + MG_SEQ_TYPE_PINBALL, + MG_SEQ_TYPE_STORY, + MG_SEQ_TYPE_BOWSER, + MG_SEQ_TYPE_STORY }; static char lbl_8012F336[] = { - "アイウエオカキク" - "ケコサシスセソタ" - "チツテトナニヌネ" - "ノハヒフヘホマミ" - "ムメモヤユヨラリ" - "ルレロワヲンァィ" - "ゥェォャュョッカ" - "キクコサシスセソ" - "タチツテトハヒフ" - "ヘホハヒフヘホ" - "!?ー", + "アイウエオカキク" + "ケコサシスセソタ" + "チツテトナニヌネ" + "ノハヒフヘホマミ" + "ムメモヤユヨラリ" + "ルレロワヲンァィ" + "ゥェォャュョッカ" + "キクコサシスセソ" + "タチツテトハヒフ" + "ヘホハヒフヘホ" + "!?ー" }; static char lbl_8012F389[] = "x first\n"; @@ -102,657 +127,645 @@ static s32 seqLanguage; void fn_80036BC8(void); + void MGSeqInit(void) { - s32 i; - SeqWork *work; - work = &seqWorkData[0]; - for (i = 8; i != 0; i--, work++) { - work->seq_no = 0; - work->data = NULL; - } - seqPauseF = 0; - seqDoneF = 0; - lbl_801D3D94 = 0; - seqTimer = 30; - HuAR_DVDtoARAM(DATADIR_GAMEMES); - HuAR_DVDtoARAM(DATADIR_MGCONST); - while (HuARDMACheck()) - ; - fn_80036BC8(); - mgSeqOvlPrev = -1; - seqLanguage = GWLanguageGet(); + s32 i; + SeqWork *work; + work = &seqWorkData[0]; + for(i=8; i!=0; i--, work++) { + work->seq_no = 0; + work->data = NULL; + } + seqPauseF = 0; + seqDoneF = 0; + lbl_801D3D94 = 0; + seqTimer = 30; + HuAR_DVDtoARAM(DATADIR_GAMEMES); + HuAR_DVDtoARAM(DATADIR_MGCONST); + while(HuARDMACheck()); + fn_80036BC8(); + mgSeqOvlPrev = -1; + seqLanguage = GWLanguageGet(); } void MGSeqMain(void) { - SeqInfo *info; - s32 i; - s32 j; - s32 alive_flag; - u8 stat; - SeqWork *work; - - seqSpeed = HuSysVWaitGet(seqSpeed); - if (Hu3DPauseF) { - return; - } - alive_flag = 0; - stat = 0; - work = &seqWorkData[0]; - for (i = 0; i < 8; i++, work++) { - if (work->stat == 0) { - continue; - } - if (work->update) { - alive_flag = work->update(work); - } - else { - info = &seqInfoTbl[work->seq_no]; - if (work->seq_no != 0 && NULL != info->update) { - alive_flag = info->update(work); - } - } - if (!alive_flag) { - work->stat = 0; - if (!lbl_801D3D94) { - for (j = 0; j < 8; j++) { - if (seqWorkData[j].stat) { - break; - } - } - } - if (!work->data) { - HuMemDirectFree(work->data); - work->data = NULL; - } - } - stat |= work->stat; - } - if (!stat || stat & 0x4) { - if (seqTimer > 0) { - seqTimer -= seqSpeed; - } - } + SeqInfo *info; + s32 i; + s32 j; + s32 alive_flag; + u8 stat; + SeqWork *work; + + seqSpeed = HuSysVWaitGet(seqSpeed); + if(Hu3DPauseF) { + return; + } + alive_flag = 0; + stat = 0; + work = &seqWorkData[0]; + for(i=0; i<8; i++, work++) { + if(work->stat == 0) { + continue; + } + if(work->update) { + alive_flag = work->update(work); + } else { + info = &seqInfoTbl[work->seq_no]; + if(work->seq_no != 0 && NULL != info->update) { + alive_flag = info->update(work); + } + } + if(!alive_flag) { + work->stat = 0; + if(!lbl_801D3D94) { + for(j=0; j<8; j++) { + if(seqWorkData[j].stat) { + break; + } + } + } + if(!work->data) { + HuMemDirectFree(work->data); + work->data = NULL; + } + } + stat |= work->stat; + } + if(!stat || stat & 0x4) { + if(seqTimer > 0) { + seqTimer -= seqSpeed; + } + } } static s16 CreateSeq(s16 seq_no, va_list params) { - SeqWork *work; - SeqInfo *info; - s32 i; - s32 temp; - work = seqWorkData; - info = &seqInfoTbl[(u8)seq_no]; - for (i = 0; i < 8; i++, work++) { - if (work->stat == 0) { - break; - } - } - if (i >= 8) { - return -1; - } - work->stat |= 0x1; - if (work->data) { - HuMemDirectFree(work->data); - } - work->data = NULL; - work->seq_no = (u8)seq_no; - work->time = 0; - work->x = info->x; - work->y = info->y; - work->scale_x = info->scale_x; - work->scale_y = info->scale_y; - work->unk_18 = 0.0f; - work->unk_7D = 255; - work->time_max = info->time_max; - work->timer_val = work->state = work->alt_word_len = work->word_len = 0; - work->angle = work->win_scale = 0.0f; - work->param[0] = work->param[1] = 0; - for (temp = 0; temp < 16; temp++) { - work->sprite[temp] = work->spr_grp[temp] = -1; - } - if (NULL != info->init) { - temp = info->init(work, params); - if (temp == 0) { - work->stat = 0; - return -1; - } - } - seqTimer = 30; - return i; + SeqWork *work; + SeqInfo *info; + s32 i; + s32 temp; + work = seqWorkData; + info = &seqInfoTbl[(u8)seq_no]; + for(i=0; i<8; i++, work++) { + if(work->stat == 0) { + break; + } + } + if(i >= 8) { + return -1; + } + work->stat |= 0x1; + if(work->data) { + HuMemDirectFree(work->data); + } + work->data = NULL; + work->seq_no = (u8)seq_no; + work->time = 0; + work->x = info->x; + work->y = info->y; + work->scale_x = info->scale_x; + work->scale_y = info->scale_y; + work->unk_18 = 0.0f; + work->unk_7D = 255; + work->time_max = info->time_max; + work->timer_val = work->state = work->alt_word_len = work->word_len = 0; + work->angle = work->win_scale = 0.0f; + work->param[0] = work->param[1] = 0; + for(temp=0; temp<16; temp++) { + work->sprite[temp] = work->spr_grp[temp] = -1; + } + if(NULL != info->init) { + temp = info->init(work, params); + if(temp == 0) { + work->stat = 0; + return -1; + } + } + seqTimer = 30; + return i; } s16 MGSeqCreate(s16 type, ...) { - s16 ret; - va_list params; - va_start(params, type); - if (type == MG_SEQ_TYPE_AUTO) { - if (GWSystem.mg_next == 0xFFFF) { - type = MG_SEQ_TYPE_4P; - } - else { - type = mgSeqTypeTbl[mgInfoTbl[GWSystem.mg_next].type]; - } - } - ret = CreateSeq(type, params); - va_end(params); - return ret; + s16 ret; + va_list params; + va_start(params, type); + if(type == MG_SEQ_TYPE_AUTO) { + if(GWSystem.mg_next == 0xFFFF) { + type = MG_SEQ_TYPE_4P; + } else { + type = mgSeqTypeTbl[mgInfoTbl[GWSystem.mg_next].type]; + } + } + ret = CreateSeq(type, params); + va_end(params); + return ret; } u8 MGSeqStatGet(s16 id) { - SeqWork *work; - u8 ret = 0; - if (id < 0) { - s32 i; - work = seqWorkData; - for (i = 8; i != 0; i--, work++) { - ret |= work->stat; - } - } - else { - if (id < 8) { - ret = seqWorkData[id].stat; - } - } - return ret; + SeqWork *work; + u8 ret = 0; + if(id < 0) { + s32 i; + work = seqWorkData; + for(i=8; i != 0; i--, work++) { + ret |= work->stat; + } + } else { + if(id < 8) { + ret = seqWorkData[id].stat; + } + } + return ret; } void MGSeqPosSet(s16 id, float x, float y) { - if (id >= 0 && id < 8) { - seqWorkData[id].x = x; - seqWorkData[id].y = y; - } + if(id >= 0 && id < 8) { + seqWorkData[id].x = x; + seqWorkData[id].y = y; + } } void MGSeqParamSet(s16 id, s16 param1, s16 param2) { - if (id >= 0 && id < 8) { - seqWorkData[id].param[0] = param1; - seqWorkData[id].param[1] = param2; - } + if(id >= 0 && id < 8) { + seqWorkData[id].param[0] = param1; + seqWorkData[id].param[1] = param2; + } } void MGSeqKill(s16 id) { - if (id >= 0 && id < 8) { - if (seqWorkData[id].stat != 0) { - seqWorkData[id].stat = 8; - } - } + if(id >= 0 && id < 8) { + if(seqWorkData[id].stat != 0) { + seqWorkData[id].stat = 8; + } + } } void MGSeqKillAll(void) { - seqDoneF = 1; - MGSeqMain(); - seqDoneF = 0; - MGSeqStub(); - lbl_801D3D94 = 0; + seqDoneF = 1; + MGSeqMain(); + seqDoneF = 0; + MGSeqStub(); + lbl_801D3D94 = 0; } s32 MGSeqDoneCheck(void) { - u8 stat = MGSeqStatGet(-1); - if (stat == 0 || (stat & 0xC)) { - if (seqTimer <= 0 || (stat & 0x8)) { - return 1; - } - } - return 0; + u8 stat = MGSeqStatGet(-1); + if(stat == 0 || (stat & 0xC)) { + if(seqTimer <= 0 || (stat & 0x8)) { + return 1; + } + } + return 0; } -void MGSeqStub(void) { } +void MGSeqStub(void) +{ + +} void MGSeqSprKill(SeqWork *work) { - s32 i; - for (i = 0; i < 16; i++) { - if (work->spr_grp[i] >= 0) { - HuSprGrpKill(work->spr_grp[i]); - } - if (work->sprite[i] >= 0) { - HuSprKill(work->sprite[i]); - } - } + s32 i; + for(i=0; i<16; i++) { + if(work->spr_grp[i] >= 0) { + HuSprGrpKill(work->spr_grp[i]); + } + if(work->sprite[i] >= 0) { + HuSprKill(work->sprite[i]); + } + } } static void *SeqReadFile(s32 file) { - return HuAR_ARAMtoMRAMFileRead(file, MEMORY_DEFAULT_NUM, HEAP_DATA); + return HuAR_ARAMtoMRAMFileRead(file, MEMORY_DEFAULT_NUM, HEAP_DATA); } -s32 MGSeqInitTimer(SeqWork *work, va_list params) +static s32 SeqInitTimer(SeqWork *work, va_list params) { - AnimData *spr_anim; - s16 sprite; - s16 spr_grp; - int duration, x, y; - s16 i; - - duration = va_arg(params, int); - x = va_arg(params, int); - y = va_arg(params, int); - if (duration <= 0 && duration > 99) { - duration = 99; - } - work->timer_val = duration; - if (x >= 0) { - work->x = x; - } - if (y >= 0) { - work->y = y; - } - work->alt_word_len = 0; - work->state = 2; - work->angle = 0; - work->spr_grp[0] = spr_grp = HuSprGrpCreate(4); - HuSprGrpScaleSet(spr_grp, work->scale_x, work->scale_y); - spr_anim = HuSprAnimRead(SeqReadFile(DATA_MAKE_NUM(DATADIR_GAMEMES, 2))); - x = 12; - for (i = 0; i < 2; i++) { - sprite = HuSprCreate(spr_anim, 5, 0); - HuSprGrpMemberSet(spr_grp, i, sprite); - HuSprSpeedSet(spr_grp, i, 0); - HuSprPosSet(spr_grp, i, x, 0); - HuSprColorSet(spr_grp, i, 112, 233, 255); - x -= 24; - (void)i; // Hack for Matching - } - spr_anim = HuSprAnimRead(SeqReadFile(DATA_MAKE_NUM(DATADIR_GAMEMES, 1))); - sprite = HuSprCreate(spr_anim, 7, 0); - HuSprGrpMemberSet(spr_grp, 2, sprite); - HuSprPosSet(spr_grp, 2, 0, 0); - HuSprTPLvlSet(spr_grp, 2, 0.5f); - HuSprColorSet(spr_grp, 2, 0, 0, 0); - spr_anim = HuSprAnimRead(SeqReadFile(DATA_MAKE_NUM(DATADIR_GAMEMES, 0))); - sprite = HuSprCreate(spr_anim, 6, 0); - HuSprGrpMemberSet(spr_grp, 3, sprite); - HuSprPosSet(spr_grp, 3, 0, 0); - if (seqPauseF) { - work->state = 1; - for (i = 0; i < 2; i++) { - HuSprAttrSet(spr_grp, i, HUSPR_ATTR_DISPOFF); -#if VERSION_NTSC - //(void)i; //Hack for Matching -#endif - } - } -#if VERSION_PAL - HuSprGrpPosSet(spr_grp, -1000.0f, 0.0f); -#endif - return 1; + AnimData *spr_anim; + s16 sprite; + s16 spr_grp; + int duration, x, y; + s16 i; + + duration = va_arg(params, int); + x = va_arg(params, int); + y = va_arg(params, int); + if(duration <= 0 && duration > 99) { + duration = 99; + } + work->timer_val = duration; + if(x >= 0) { + work->x = x; + } + if(y >= 0) { + work->y = y; + } + work->alt_word_len = 0; + work->state = 2; + work->angle = 0; + work->spr_grp[0] = spr_grp = HuSprGrpCreate(4); + HuSprGrpScaleSet(spr_grp, work->scale_x, work->scale_y); + spr_anim = HuSprAnimRead(SeqReadFile(DATA_MAKE_NUM(DATADIR_GAMEMES, 2))); + x = 12; + for(i=0; i<2; i++) { + sprite = HuSprCreate(spr_anim, 5, 0); + HuSprGrpMemberSet(spr_grp, i, sprite); + HuSprSpeedSet(spr_grp, i, 0); + HuSprPosSet(spr_grp, i, x, 0); + HuSprColorSet(spr_grp, i, 112, 233, 255); + x -= 24; + (void)i; //Hack for Matching + } + spr_anim = HuSprAnimRead(SeqReadFile(DATA_MAKE_NUM(DATADIR_GAMEMES, 1))); + sprite = HuSprCreate(spr_anim, 7, 0); + HuSprGrpMemberSet(spr_grp, 2, sprite); + HuSprPosSet(spr_grp, 2, 0, 0); + HuSprTPLvlSet(spr_grp, 2, 0.5f); + HuSprColorSet(spr_grp, 2, 0, 0, 0); + spr_anim = HuSprAnimRead(SeqReadFile(DATA_MAKE_NUM(DATADIR_GAMEMES, 0))); + sprite = HuSprCreate(spr_anim, 6, 0); + HuSprGrpMemberSet(spr_grp, 3, sprite); + HuSprPosSet(spr_grp, 3, 0, 0); + if(seqPauseF) { + work->state = 1; + for(i=0; i<2; i++) { + HuSprAttrSet(spr_grp, i, HUSPR_ATTR_DISPOFF); + (void)i; //Hack for Matching + } + } + return 1; } -s32 MGSeqUpdateTimer(SeqWork *work) +static s32 SeqUpdateTimer(SeqWork *work) { - float scale; - float tp_lvl; - u8 digits[2]; - s16 i; - s16 spr_grp = work->spr_grp[0]; - if (work->param[0] != 0 && work->state != -1) { - switch (work->param[0]) { - case 2: - switch (work->param[1]) { - case -1: - work->stat |= 0x4; - work->state = -1; - work->angle = 0.0f; - break; - - case 0: - work->state = 2; - work->angle = 0.0f; - break; - - case 1: - work->state = 3; - work->angle = 0.0f; - break; - - default: - break; - } - work->param[0] = 0; - break; - - case 1: - if (work->param[1] < 0 && !(work->stat & 0x4)) { - work->stat |= 0x4; - work->state = -1; - work->angle = 0.0f; - } - else { - if (work->param[1] > 99) { - work->timer_val = 99; - } - else { - if (work->timer_val != work->param[1]) { - work->timer_val = work->param[1]; - if (work->param[1] <= 5) { - HuAudFXPlay(6); - work->state = 3; - work->angle = 0.0f; - HuSprColorSet(spr_grp, 0, 255, 112, 160); - HuSprColorSet(spr_grp, 1, 255, 112, 160); - } - else { - HuSprColorSet(spr_grp, 0, 112, 233, 255); - HuSprColorSet(spr_grp, 1, 112, 233, 255); - } - } - } - } - work->param[0] = 0; - break; - - case 3: - for (i = 0; i < 2; i++) { - HuSprAttrReset(spr_grp, i, HUSPR_ATTR_DISPOFF); - } - work->state = 3; - work->param[0] = 0; - break; - - default: - work->param[0] = 0; - break; - } - } - if (work->state == 1) { - return 1; - } - if (work->timer_val > 99) { - digits[0] = digits[1] = 9; - } - else { - s32 value; - value = work->timer_val / 10; - digits[1] = value; - digits[0] = work->timer_val - (value * 10); - } - HuSprGrpPosSet(spr_grp, work->x, work->y); - HuSprGrpScaleSet(spr_grp, work->scale_x, work->scale_y); - for (i = 0; i < 2; i++) { - HuSprBankSet(spr_grp, i, digits[i]); - } - if (work->state != 0) { - switch (work->state) { - case 2: { - float scale_x, scale_y; - scale = fabs(((sind(work->angle) * 5.0f) + 1.0f) - (sind(130) * 5.0f)); - scale_x = work->scale_x * scale; - scale_y = work->scale_y * scale; - work->angle += seqSpeed * 5.0f; - if (work->angle > 130.0f) { - work->state = 0; - break; - } - HuSprGrpScaleSet(spr_grp, scale_x, scale_y); - } break; - - case 3: { - scale = sind(work->angle) + 1.0; - tp_lvl = 1.0 - (sind(work->angle) * 0.5); - work->angle += seqSpeed * 18.0f; - if (work->angle > 180.0f) { - work->state = 0; - scale = 1.0f; - tp_lvl = 1.0f; - } - for (i = 0; i < 2; i++) { - HuSprScaleSet(spr_grp, i, scale, scale); - HuSprTPLvlSet(spr_grp, i, tp_lvl); - } - } break; - - case -1: - HuSprGrpScaleSet(spr_grp, work->scale_x, work->scale_y); - for (i = 0; i < 2; i++) { - HuSprScaleSet(spr_grp, i, 1.0f, 1.0f); - } - work->angle += 1.0f; - if (work->angle < 60.0f) { - break; - } - tp_lvl = 1.0 - ((work->angle - 60.0f) / 20.0f); - if (tp_lvl <= 0.0f) { - tp_lvl = 0.0f; - work->state = 0; - work->stat |= 0x8; - } - - for (i = 0; i < 4; i++) { - HuSprTPLvlSet(spr_grp, i, tp_lvl); - } - break; - - default: - break; - } - } - if (seqDoneF || (work->stat & 0x8)) { - MGSeqSprKill(work); - return 0; - } - else { - return 1; - } + float scale; + float tp_lvl; + u8 digits[2]; + s16 i; + s16 spr_grp = work->spr_grp[0]; + if(work->param[0] != 0 && work->state != -1) { + switch(work->param[0]) { + case 2: + switch(work->param[1]) { + case -1: + work->stat |= 0x4; + work->state = -1; + work->angle = 0.0f; + break; + + case 0: + work->state = 2; + work->angle = 0.0f; + break; + + case 1: + work->state = 3; + work->angle = 0.0f; + break; + + default: + break; + } + work->param[0] = 0; + break; + + case 1: + if(work->param[1] < 0 && !(work->stat & 0x4)) { + work->stat |= 0x4; + work->state = -1; + work->angle = 0.0f; + } else { + if(work->param[1] > 99) { + work->timer_val = 99; + } else { + if(work->timer_val != work->param[1]) { + work->timer_val = work->param[1]; + if(work->param[1] <= 5) { + HuAudFXPlay(6); + work->state = 3; + work->angle = 0.0f; + HuSprColorSet(spr_grp, 0, 255, 112, 160); + HuSprColorSet(spr_grp, 1, 255, 112, 160); + } else { + HuSprColorSet(spr_grp, 0, 112, 233, 255); + HuSprColorSet(spr_grp, 1, 112, 233, 255); + } + } + } + } + work->param[0] = 0; + break; + + case 3: + for(i=0; i<2; i++) { + HuSprAttrReset(spr_grp, i, HUSPR_ATTR_DISPOFF); + } + work->state = 3; + work->param[0] = 0; + break; + + default: + work->param[0] = 0; + break; + } + } + if(work->state == 1) { + return 1; + } + if(work->timer_val > 99) { + digits[0] = digits[1] = 9; + } else { + s32 value; + value = work->timer_val/10; + digits[1] = value; + digits[0] = work->timer_val-(value*10); + } + HuSprGrpPosSet(spr_grp, work->x, work->y); + HuSprGrpScaleSet(spr_grp, work->scale_x, work->scale_y); + for(i=0; i<2; i++) { + HuSprBankSet(spr_grp, i, digits[i]); + } + if(work->state != 0) { + switch(work->state) { + case 2: + { + float scale_x, scale_y; + scale = fabs(((sin((work->angle*M_PI)/180)*5.0f)+1.0f)-(sin((130*M_PI)/180)*5.0f)); + scale_x = work->scale_x*scale; + scale_y = work->scale_y*scale; + work->angle += seqSpeed*5.0f; + if(work->angle > 130.0f) { + work->state = 0; + break; + } + HuSprGrpScaleSet(spr_grp, scale_x, scale_y); + } + break; + + case 3: + { + scale = sin((work->angle*M_PI)/180)+1.0; + tp_lvl = 1.0-(sin((work->angle*M_PI)/180)*0.5); + work->angle += seqSpeed*18.0f; + if(work->angle > 180.0f) { + work->state = 0; + scale = 1.0f; + tp_lvl = 1.0f; + } + for(i=0; i<2; i++) { + HuSprScaleSet(spr_grp, i, scale, scale); + HuSprTPLvlSet(spr_grp, i, tp_lvl); + } + } + break; + + case -1: + HuSprGrpScaleSet(spr_grp, work->scale_x, work->scale_y); + for(i=0; i<2; i++) { + HuSprScaleSet(spr_grp, i, 1.0f, 1.0f); + } + work->angle += 1.0f; + if(work->angle < 60.0f) { + break; + } + tp_lvl = 1.0-((work->angle-60.0f)/20.0f); + if(tp_lvl <= 0.0f) { + tp_lvl = 0.0f; + work->state = 0; + work->stat |= 0x8; + } + + for(i=0; i<4; i++) { + HuSprTPLvlSet(spr_grp, i, tp_lvl); + } + break; + + default: + break; + } + } + if(seqDoneF || (work->stat & 0x8)) { + MGSeqSprKill(work); + return 0; + } else { + return 1; + } } -s32 MGSeqInitType2(SeqWork *work, va_list params) +static s32 SeqInitType2(SeqWork *work, va_list params) { - s16 spr_idx; - s16 spr_grp; - AnimData *anim_tbl[6]; - s32 i; - s16 len; - char *str; - char c; - int time_max; - int x, y; - work->data = va_arg(params, void *); - time_max = va_arg(params, int); - x = va_arg(params, int); - y = va_arg(params, int); - if (time_max < 0) { - time_max = -1; - } - work->time_max = time_max; - if (x >= 0) { - work->x = x; - } - if (y >= 0) { - work->y = y; - } - work->state = 0; - work->angle = 0.0f; - x = 0; - len = 0; - str = work->data; - while (c = *str++) { - if (c >= '0' && c <= '9') { - x |= 1; - len++; - } - else if (c >= 'A' && c <= 'Z') { - x |= 2; - len++; - } - else if (c >= 'a' && c <= 'z') { - x |= 4; - len++; - } - else if (c == '!' || c == '?') { - x |= 8; - len++; - } - } - work->word_len = len; - for (i = 0; i < 6; i++) { - if (x & (1 << i)) { - anim_tbl[i] = HuSprAnimRead(SeqReadFile(seqType2SprTbl[i])); - } - else { - anim_tbl[i] = NULL; - } - } - work->spr_grp[0] = spr_grp = HuSprGrpCreate(len); - x = 0; - spr_idx = 0; - str = work->data; - while (c = *str++) { - i = -2; - if (c >= '0' && c <= '9') { - c -= '0'; - i = 0; - } - else if (c >= 'A' && c <= 'Z') { - c -= 'A'; - i = 1; - } - else if (c >= 'a' && c <= 'z') { - c -= 'a'; - i = 2; - } - else if (c == '!' || c == '?') { - if (c == '!') { - c = 0; - } - else { - c = 1; - } - i = 3; - } - else if (c == ' ') { - i = -1; - } - work->alt_word_len = x; - if (i == -1) { - x += 32; - } - else if (i >= 0) { - s16 sprite = HuSprCreate(anim_tbl[i], 5, c); - HuSprGrpMemberSet(spr_grp, spr_idx, sprite); - HuSprSpeedSet(spr_grp, spr_idx, 0.0f); - HuSprPosSet(spr_grp, spr_idx, x, 0.0f); - spr_idx++; - x += 64; - } - } - if (seqPauseF) { - work->state = 1; - for (i = 0; i < work->word_len; i++) { - HuSprAttrSet(spr_grp, i, HUSPR_ATTR_DISPOFF); - } - } - return 1; + s16 spr_idx; + s16 spr_grp; + AnimData *anim_tbl[6]; + s32 i; + s16 len; + char *str; + char c; + int time_max; + int x, y; + work->data = va_arg(params, void *); + time_max = va_arg(params, int); + x = va_arg(params, int); + y = va_arg(params, int); + if(time_max < 0) { + time_max = -1; + } + work->time_max = time_max; + if(x >= 0) { + work->x = x; + } + if(y >= 0) { + work->y = y; + } + work->state = 0; + work->angle = 0.0f; + x = 0; + len = 0; + str=work->data; + while(c=*str++) { + if(c >= '0' && c <= '9') { + x |= 1; + len++; + } else if(c >= 'A' && c <= 'Z') { + x |= 2; + len++; + } else if(c >= 'a' && c <= 'z') { + x |= 4; + len++; + } else if(c == '!' || c == '?') { + x |= 8; + len++; + } + } + work->word_len = len; + for(i=0; i<6; i++) { + if(x & (1 << i)) { + anim_tbl[i] = HuSprAnimRead(SeqReadFile(seqType2SprTbl[i])); + } else { + anim_tbl[i] = NULL; + } + } + work->spr_grp[0] = spr_grp = HuSprGrpCreate(len); + x = 0; + spr_idx = 0; + str=work->data; + while(c=*str++) { + i = -2; + if(c >= '0' && c <= '9') { + c -= '0'; + i = 0; + } else if(c >= 'A' && c <= 'Z') { + c -= 'A'; + i = 1; + } else if(c >= 'a' && c <= 'z') { + c -= 'a'; + i = 2; + } else if(c == '!' || c == '?') { + if(c == '!') { + c = 0; + } else { + c = 1; + } + i = 3; + } else if(c == ' ') { + i = -1; + } + work->alt_word_len = x; + if(i == -1) { + x += 32; + } else if(i >= 0) { + s16 sprite = HuSprCreate(anim_tbl[i], 5, c); + HuSprGrpMemberSet(spr_grp, spr_idx, sprite); + HuSprSpeedSet(spr_grp, spr_idx, 0.0f); + HuSprPosSet(spr_grp, spr_idx, x, 0.0f); + spr_idx++; + x += 64; + } + } + if(seqPauseF) { + work->state = 1; + for(i=0; iword_len; i++) { + HuSprAttrSet(spr_grp, i, HUSPR_ATTR_DISPOFF); + } + } + return 1; } -s32 MGSeqUpdateType2(SeqWork *work) +static s32 SeqUpdateType2(SeqWork *work) { - float tp_lvl; - s16 spr_grp; - spr_grp = work->spr_grp[0]; - HuSprGrpPosSet(spr_grp, work->x - ((0.5f * work->scale_x) * work->alt_word_len), work->y); - HuSprGrpScaleSet(spr_grp, work->scale_x, work->scale_y); - if (work->param[0] != 0 && work->state != -1) { - switch (work->param[0]) { - case 2: - if (work->param[1] != -1) { - (void)work; // HACK: to introduce extra branch - } - else { - work->state = -1; - work->angle = 0.0f; - } - work->param[0] = 0; - break; - - case 1: - work->time_max = work->param[1]; - work->param[0] = 0; - break; - - case 3: { - s32 i; - for (i = 0; i < work->word_len; i++) { - HuSprAttrReset(spr_grp, i, HUSPR_ATTR_DISPOFF); - (void)i; - } - work->state = 0; - work->param[0] = 0; - } break; - - default: - work->param[0] = 0; - break; - } - } - if (work->state == 1) { - return 1; - } - work->time += seqSpeed; - if (work->time >= work->time_max && work->state != -1) { - work->stat |= 0x4; - work->state = -1; - work->angle = 0.0f; - } - if (work->state != 0) { - if (work->state != -1) { - (void)work; // HACK: to introduce extra branch - } - else { - s16 i; - work->angle += seqSpeed * 0.1f; - tp_lvl = 1.0f - work->angle; - if (tp_lvl <= 0.0f) { - tp_lvl = 0.0f; - work->state = 0; - work->stat |= 0x8; - } - for (i = 0; i < work->word_len; i++) { - HuSprTPLvlSet(spr_grp, i, tp_lvl); - (void)i; - } - } - } - if (seqDoneF || (work->stat & 0x8)) { - MGSeqSprKill(work); - return 0; - } - else { - return 1; - } + float tp_lvl; + s16 spr_grp; + spr_grp = work->spr_grp[0]; + HuSprGrpPosSet(spr_grp, work->x-((0.5f*work->scale_x)*work->alt_word_len), work->y); + HuSprGrpScaleSet(spr_grp, work->scale_x, work->scale_y); + if(work->param[0] != 0 && work->state != -1) { + switch(work->param[0]) { + case 2: + if(work->param[1] != -1) { + (void)work; //HACK: to introduce extra branch + } else { + work->state = -1; + work->angle = 0.0f; + } + work->param[0] = 0; + break; + + case 1: + work->time_max = work->param[1]; + work->param[0] = 0; + break; + + case 3: + { + s32 i; + for(i=0; iword_len; i++) { + HuSprAttrReset(spr_grp, i, HUSPR_ATTR_DISPOFF); + (void)i; + } + work->state = 0; + work->param[0] = 0; + } + break; + + default: + work->param[0] = 0; + break; + } + } + if(work->state == 1) { + return 1; + } + work->time += seqSpeed; + if(work->time >= work->time_max && work->state != -1) { + work->stat |= 0x4; + work->state = -1; + work->angle = 0.0f; + } + if(work->state != 0) { + if(work->state != -1) { + (void)work; //HACK: to introduce extra branch + } else { + s16 i; + work->angle += seqSpeed*0.1f; + tp_lvl = 1.0f-work->angle; + if(tp_lvl <= 0.0f) { + tp_lvl = 0.0f; + work->state = 0; + work->stat |= 0x8; + } + for(i=0; iword_len; i++) { + HuSprTPLvlSet(spr_grp, i, tp_lvl); + (void)i; + } + } + } + if(seqDoneF || (work->stat & 0x8)) { + MGSeqSprKill(work); + return 0; + } else { + return 1; + } } -static char seqFontAlphaTbl[] = { "ABCDEFGH" - "IJKLMNOP" - "QRSTUVWX" - "YZabcdef" - "ghijklmn" - "opqrstuv" - "wxyz" }; -static char seqFontKanaTbl[] = { "アイウエオカキク" - "ケコサシスセソタ" - "チツテトナニヌネ" - "ノハヒフヘホマミ" - "ムメモヤユヨラリ" - "ルレロワヲンァィ" - "ゥェォャュョッカ" - "キクケコサシスセ" - "ソタチツテトハヒ" - "フヘホハヒフヘホ" - "ー" }; +static char seqFontAlphaTbl[] = { + "ABCDEFGH" + "IJKLMNOP" + "QRSTUVWX" + "YZabcdef" + "ghijklmn" + "opqrstuv" + "wxyz" +}; + +static char seqFontKanaTbl[] = { + "アイウエオカキク" + "ケコサシスセソタ" + "チツテトナニヌネ" + "ノハヒフヘホマミ" + "ムメモヤユヨラリ" + "ルレロワヲンァィ" + "ゥェォャュョッカ" + "キクケコサシスセ" + "ソタチツテトハヒ" + "フヘホハヒフヘホ" + "ー" +}; static char seqFontNumTbl[] = "0123456789"; -static s32 *letterBufTbl[5] = {}; +static s32 *letterBufTbl[5] = { }; static char wordStartE[] = "START!"; @@ -768,1951 +781,1917 @@ static char wordFinishE[] = "FINISH!"; static char wordDrawE[] = "DRAW!"; static char *wordMgTbl[6] = { - wordStartJ, - wordFinishJ, - wordDrawJ, - wordStartE, - wordFinishE, - wordDrawE, + wordStartJ, wordFinishJ, wordDrawJ, + wordStartE, wordFinishE, wordDrawE, }; void fn_80036BC8(void) { - if (!letterBufTbl[0]) { - letterBufTbl[0] = HuMemDirectMalloc(HEAP_SYSTEM, sizeof(s32) * strlen(seqFontAlphaTbl)); - memset(letterBufTbl[0], 0, sizeof(s32) * strlen(seqFontAlphaTbl)); - } - if (!letterBufTbl[1]) { - letterBufTbl[1] = HuMemDirectMalloc(HEAP_SYSTEM, sizeof(s32) * strlen(seqFontKanaTbl)); - memset(letterBufTbl[1], 0, sizeof(s32) * strlen(seqFontKanaTbl)); - } - if (!letterBufTbl[2]) { - letterBufTbl[2] = HuMemDirectMalloc(HEAP_SYSTEM, sizeof(s32) * strlen(seqFontKanaTbl)); - memset(letterBufTbl[2], 0, sizeof(s32) * strlen(seqFontKanaTbl)); - } - if (!letterBufTbl[3]) { - letterBufTbl[3] = HuMemDirectMalloc(HEAP_SYSTEM, sizeof(s32) * strlen(seqFontNumTbl)); - memset(letterBufTbl[3], 0, sizeof(s32) * strlen(seqFontNumTbl)); - } - if (!letterBufTbl[4]) { - letterBufTbl[4] = HuMemDirectMalloc(HEAP_SYSTEM, sizeof(s32) * strlen(seqPunctTbl)); - memset(letterBufTbl[4], 0, sizeof(s32) * strlen(seqPunctTbl)); - } + if(!letterBufTbl[0]) { + letterBufTbl[0] = HuMemDirectMalloc(HEAP_SYSTEM, sizeof(s32)*strlen(seqFontAlphaTbl)); + memset(letterBufTbl[0], 0, sizeof(s32)*strlen(seqFontAlphaTbl)); + } + if(!letterBufTbl[1]) { + letterBufTbl[1] = HuMemDirectMalloc(HEAP_SYSTEM, sizeof(s32)*strlen(seqFontKanaTbl)); + memset(letterBufTbl[1], 0, sizeof(s32)*strlen(seqFontKanaTbl)); + } + if(!letterBufTbl[2]) { + letterBufTbl[2] = HuMemDirectMalloc(HEAP_SYSTEM, sizeof(s32)*strlen(seqFontKanaTbl)); + memset(letterBufTbl[2], 0, sizeof(s32)*strlen(seqFontKanaTbl)); + } + if(!letterBufTbl[3]) { + letterBufTbl[3] = HuMemDirectMalloc(HEAP_SYSTEM, sizeof(s32)*strlen(seqFontNumTbl)); + memset(letterBufTbl[3], 0, sizeof(s32)*strlen(seqFontNumTbl)); + } + if(!letterBufTbl[4]) { + letterBufTbl[4] = HuMemDirectMalloc(HEAP_SYSTEM, sizeof(s32)*strlen(seqPunctTbl)); + memset(letterBufTbl[4], 0, sizeof(s32)*strlen(seqPunctTbl)); + } } static AnimData *SeqLoadFontChar(char *str, s16 flags); static s32 SeqMakeWord(SeqWork *work, char *str, s16 flags) { - s16 len; - s16 x; - s16 i; - s16 grp_idx; -#if VERSION_JP - char *str_ptr; - AnimData **char_anim; - s16 *char_pos; -#else - AnimData **char_anim; - s16 *char_pos; - char *str_ptr; -#endif - s16 spr_grp; - for (grp_idx = 0; grp_idx < 16; grp_idx++) { - if (work->spr_grp[grp_idx] == -1) { - break; - } - } - if (grp_idx == 16) { - return -1; - } - char_anim = HuMemDirectMalloc(HEAP_SYSTEM, sizeof(AnimData *) * 100); - char_pos = HuMemDirectMalloc(HEAP_SYSTEM, sizeof(s16) * 100); - str_ptr = str; - x = 0; - len = 0; - while (*str_ptr != '\0') { -#if VERSION_JP - if (*str_ptr == ' ') { - x += 56; - } - else { - char_anim[len] = SeqLoadFontChar(str_ptr, flags); - if (char_anim[len]) { - char_pos[len] = x; - x += 56; - len++; - } - } -#else - char_anim[len] = SeqLoadFontChar(str_ptr, flags); - if (char_anim[len]) { - char_pos[len] = x; - x += 56; - len++; - } -#endif - str_ptr++; - } - work->spr_grp[grp_idx] = spr_grp = HuSprGrpCreate(len); - x = (x / 2) - 28; - for (i = 0; i < len; i++) { - s16 sprite = HuSprCreate(char_anim[i], 5, 0); - HuSprGrpMemberSet(spr_grp, i, sprite); - HuSprPosSet(spr_grp, i, char_pos[i] - x, 0.0f); - } - work->word_len = len; - HuMemDirectFree(char_anim); - HuMemDirectFree(char_pos); - return grp_idx; + s16 *char_pos; + char *str_ptr; + s16 spr_grp; + s16 i; + s16 x; + s16 grp_idx; + s16 len; + AnimData **char_anim; + for(grp_idx=0; grp_idx<16; grp_idx++) { + if(work->spr_grp[grp_idx] == -1) { + break; + } + } + if(grp_idx == 16) { + return -1; + } + char_anim = HuMemDirectMalloc(HEAP_SYSTEM, sizeof(AnimData *)*100); + char_pos = HuMemDirectMalloc(HEAP_SYSTEM, sizeof(s16)*100); + str_ptr = str; + x = 0; + len = 0; + while(*str_ptr != 0) { + char_anim[len] = SeqLoadFontChar(str_ptr, flags); + if(char_anim[len]) { + char_pos[len] = x; + x += 56; + len++; + } + str_ptr++; + } + work->spr_grp[grp_idx] = spr_grp = HuSprGrpCreate(len); + x = (x/2)-28; + for(i=0; iword_len = len; + HuMemDirectFree(char_anim); + HuMemDirectFree(char_pos); + return grp_idx; } static AnimData *SeqLoadFontChar(char *str, s16 flags) { - s32 data_num; - s16 id; - char *list; - char c = *str; - if (c == 222 || c == 223) { - return NULL; - } -#if !VERSION_JP - if (c == 32) { - return HuSprAnimRead(SeqReadFile(DATA_MAKE_NUM(DATADIR_GAMEMES, 10))); - } -#endif - for (id = 0, list = seqFontAlphaTbl; *list != 0; id++, list++) { - if (*list == c) { - data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JP ? 20 : 21)); - return HuSprAnimRead(SeqReadFile(data_num)); - } - } - for (id = 0, list = seqFontNumTbl; *list != 0; id++, list++) { - if (*list == c) { - data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JP ? 10 : 11)); - return HuSprAnimRead(SeqReadFile(data_num)); - } - } - for (id = 0, list = seqPunctTbl; *list != 0; id++, list++) { - if (*list == c) { - data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JP ? 153 : 154)); - return HuSprAnimRead(SeqReadFile(data_num)); - } - } - if (str[1] == 222) { // ゛ - list = seqFontKanaTbl; - list += 55; - id = 55; - } - else if (str[1] == 223) { // ゜ - list = seqFontKanaTbl; - list += 75; - id = 75; - } - else { - list = seqFontKanaTbl; - id = 0; - } - while (*list != 0) { - if (*list == c) { - if (flags & 0x1) { - data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JP ? 155 : 156)); - } - else { - data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JP ? 72 : 73)); - } - return HuSprAnimRead(SeqReadFile(data_num)); - } - id++; - list++; - } - return NULL; + s32 data_num; + s16 id; + char *list; + char c = *str; + if(c == 222 || c == 223) { + return NULL; + } + if(c == 32) { + return HuSprAnimRead(SeqReadFile(DATA_MAKE_NUM(DATADIR_GAMEMES, 10))); + } + for(id = 0, list=seqFontAlphaTbl; *list != 0; id++, list++) { + if(*list == c) { + data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id+21); + return HuSprAnimRead(SeqReadFile(data_num)); + } + } + for(id = 0, list=seqFontNumTbl; *list != 0; id++, list++) { + if(*list == c) { + data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id+11); + return HuSprAnimRead(SeqReadFile(data_num)); + } + } + for(id = 0, list=seqPunctTbl; *list != 0; id++, list++) { + if(*list == c) { + data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id+154); + return HuSprAnimRead(SeqReadFile(data_num)); + } + } + if(str[1] == 222) { //゛ + list = seqFontKanaTbl; + list += 55; + id = 55; + } else if(str[1] == 223) { //゜ + list = seqFontKanaTbl; + list += 75; + id = 75; + } else { + list = seqFontKanaTbl; + id = 0; + } + while(*list != 0) { + if(*list == c) { + if(flags & 0x1) { + data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id+156); + } else { + data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id+73); + } + return HuSprAnimRead(SeqReadFile(data_num)); + } + id++; + list++; + } + return NULL; } static float ForceDefine480() { - return 480.0f; + return 480.0f; } static void SeqPlayStartFX(void); -s32 MGSeqInitMGBasic(SeqWork *work, va_list params) +static s32 SeqInitMGBasic(SeqWork *work, va_list params) { - s16 i; - s16 word_grp; - - work->state = va_arg(params, int); - if (work->state == 2) { - return MGSeqInitDraw(work, params); - } - work->type = 0; - work->angle = 0; - - { - s32 word_katakana; - s32 word_flag; - s32 word_ofs; - word_katakana = 0; - if (work->state == 2 && seqLanguage == 0) { - word_katakana = 1; - } - if (word_katakana) { - word_flag = 1; - } - else { - word_flag = 0; - } - if (seqLanguage == 0) { - word_ofs = 0; - } - else { - word_ofs = 3; - } - word_grp = SeqMakeWord(work, wordMgTbl[work->state + word_ofs], word_flag); - } - HuSprGrpPosSet(work->spr_grp[word_grp], 0.0f, 0.0f); - - for (i = 0; i < work->word_len; i++) { - HuSprTPLvlSet(work->spr_grp[word_grp], i, 1.0f); - HuSprPosSet(work->spr_grp[word_grp], i, -100.0f, HU_DISP_CENTERY); - } - if (seqPauseF) { - work->type = 2; - HuSprAttrSet(word_grp, 0, HUSPR_ATTR_DISPOFF); - } - else { - work->param[0] = 3; - } - return 1; + s16 i; + s16 word_grp; + + work->state = va_arg(params, int); + if(work->state == 2) { + return SeqInitDraw(work, params); + } + work->type = 0; + work->angle = 0; + + { + s32 word_katakana; + s32 word_flag; + s32 word_ofs; + word_katakana = 0; + if(work->state == 2 && seqLanguage == 0) { + word_katakana = 1; + } + if(word_katakana) { + word_flag = 1; + } else { + word_flag = 0; + } + if(seqLanguage == 0) { + word_ofs = 0; + } else { + word_ofs = 3; + } + word_grp = SeqMakeWord(work, wordMgTbl[work->state+word_ofs], word_flag); + } + HuSprGrpPosSet(work->spr_grp[word_grp], 0.0f, 0.0f); + + for(i=0; iword_len; i++) { + HuSprTPLvlSet(work->spr_grp[word_grp], i, 1.0f); + HuSprPosSet(work->spr_grp[word_grp], i, -100.0f, 240.0f); + } + if(seqPauseF) { + work->type = 2; + HuSprAttrSet(word_grp, 0, HUSPR_ATTR_DISPOFF); + } else { + work->param[0] = 3; + } + return 1; } -s32 MGSeqUpdateMGBasic(SeqWork *work) +static s32 SeqUpdateMGBasic(SeqWork *work) { - s16 idx; - float scale; - if (work->param[0] != 0 && work->type != -1) { - switch (work->param[0]) { - case 2: - if (work->param[1] != -1) { - (void)work; // HACK: to introduce extra branch - } - else { - work->type = -1; - work->angle = 0.0f; - } - work->param[0] = 0; - break; - - case 1: - work->time_max = work->param[1]; - work->param[0] = 0; - break; - - case 3: - work->type = 1; - work->param[0] = 0; - break; - - default: - work->param[0] = 0; - break; - } - } - if (work->type == 2) { - return 1; - } - work->time += seqSpeed; - if (work->time >= work->time_max && work->type != -1) { - work->type = -1; - work->angle = 0.0f; - } - if (work->type) { - switch (work->type) { - case 1: { - float pos_x; - float time; - s16 i; - if (work->state == 0) { - if (work->time <= 40) { - for (i = 0; i < work->word_len; i++) { - time = work->time - ((20 / work->word_len) * (work->word_len - i - 1)); - if (time < 0 || time > 20.0f) { - continue; - } - pos_x = (work->x - (0.5f * (work->word_len * 56))) + 28.0f + (i * 56); - if (time == 20.0f) { - HuSprPosSet(work->spr_grp[0], i, pos_x, work->y); - HuSprZRotSet(work->spr_grp[0], i, 0.0f); - } - else { - HuSprPosSet(work->spr_grp[0], i, pos_x - (((1.0 - sind(time * 4.5f)) * (work->word_len * 56 * 2))), - work->y); - HuSprZRotSet(work->spr_grp[0], i, (time / 20.0f) * 390.0f); - } - } - } - else { - time = work->time - 40; - scale = work->scale_x + (0.5 * sind(time * 9.0f)); - for (i = 0; i < work->word_len; i++) { - pos_x = ((28.0f * scale) + (work->x - (0.5f * (scale * (work->word_len * 56))))) + (scale * (i * 56)); - HuSprPosSet(work->spr_grp[0], i, pos_x, work->y); - HuSprScaleSet(work->spr_grp[0], i, scale, work->scale_y + sind(time * 9.0f)); - } - } - if (work->time == 40) { - idx = HuAudFXPlay(36); - work->stat |= 0x10; - } - if (work->time == 60) { - SeqPlayStartFX(); - work->stat |= 0x4; - } - if (work->time >= 60) { - work->type = 0; - } - } - else { - if (work->time == 1) { - if (work->state == 1) { - HuAudFXPlay(37); - } - else { - HuAudFXPlay(40); - } - MGSeqPauseEnableCtrl(0); - work->stat |= 0x10; - } - if (work->time <= 20) { - time = work->time; - scale = work->scale_x + (0.5 * sind(time * 9.0f)); - for (i = 0; i < work->word_len; i++) { - HuSprAttrReset(work->spr_grp[0], i, HUSPR_ATTR_DISPOFF); - pos_x = ((28.0f * scale) + (work->x - (0.5f * (scale * (work->word_len * 56))))) + (scale * (i * 56)); - HuSprPosSet(work->spr_grp[0], i, pos_x, work->y); - HuSprScaleSet(work->spr_grp[0], i, work->scale_x + sind(time * 9.0f), - work->scale_y + sind(time * 9.0f)); - } - if (time == 20.0f) { - for (i = 0; i < work->word_len; i++) { - HuSprAttrReset(work->spr_grp[0], i, HUSPR_ATTR_DISPOFF); - } - } - } - else { - if (work->time > 80) { - for (i = 0; i < work->word_len; i++) { - time = (work->time - 80) - ((20 / work->word_len) * (work->word_len - i - 1)); - if (time < 0.0f || time > 20.0f) { - continue; - } - pos_x = (28.0f + (work->x - (0.5f * (work->word_len * 56)))) + (i * 56); - if (time == 20.0f) { - HuSprAttrSet(work->spr_grp[0], i, HUSPR_ATTR_DISPOFF); - } - else { - HuSprPosSet(work->spr_grp[0], i, - pos_x + ((1.0 - cosd(time * 4.5f)) * (work->word_len * 56 * 2)), work->y); - HuSprZRotSet(work->spr_grp[0], i, (time / 20.0f) * 390.0f); - } - } - } - } - if (work->time == 110) { - work->stat |= 0x4; - } - if (work->time >= 110) { - work->type = 0; - work->stat |= 8; - } - } - } break; - - case -1: { - work->angle += seqSpeed * 0.1f; - scale = 1.0f - work->angle; - if (scale <= 0.0f) { - scale = 0.0f; - work->type = 0; - work->stat |= 0x8; - if (work->state == 0) { - MGSeqPauseEnableCtrl(1); - } - } - for (idx = 0; idx < work->word_len; idx++) { - HuSprTPLvlSet(work->spr_grp[0], idx, scale); - } - } break; - - default: - break; - } - } - if (seqDoneF || (work->stat & 0x8)) { - MGSeqSprKill(work); - return 0; - } - return 1; + s16 idx; + float scale; + if(work->param[0] != 0 && work->type != -1) { + switch(work->param[0]) { + case 2: + if(work->param[1] != -1) { + (void)work; //HACK: to introduce extra branch + } else { + work->type = -1; + work->angle = 0.0f; + } + work->param[0] = 0; + break; + + case 1: + work->time_max = work->param[1]; + work->param[0] = 0; + break; + + case 3: + work->type = 1; + work->param[0] = 0; + break; + + default: + work->param[0] = 0; + break; + } + } + if(work->type == 2) { + return 1; + } + work->time += seqSpeed; + if(work->time >= work->time_max && work->type != -1) { + work->type = -1; + work->angle = 0.0f; + } + if(work->type) { + switch(work->type) { + case 1: + { + float pos_x; + float time; + s16 i; + if(work->state == 0) { + if(work->time <= 40) { + for(i=0; iword_len; i++) { + time = work->time-((20/work->word_len)*(work->word_len-i-1)); + if(time < 0 || time > 20.0f) { + continue; + } + pos_x = (work->x-(0.5f*(work->word_len*56)))+28.0f+(i*56); + if(time == 20.0f) { + HuSprPosSet(work->spr_grp[0], i, pos_x, work->y); + HuSprZRotSet(work->spr_grp[0], i, 0.0f); + } else { + HuSprPosSet(work->spr_grp[0], i, pos_x-(((1.0-sin(((time*4.5f)*M_PI)/180.0))*(work->word_len*56*2))), work->y); + HuSprZRotSet(work->spr_grp[0], i, (time/20.0f)*390.0f); + } + } + } else { + time = work->time-40; + scale = work->scale_x+(0.5*sin(((time*9.0f)*M_PI)/180.0)); + for(i=0; iword_len; i++) { + pos_x = ((28.0f*scale)+(work->x-(0.5f*(scale*(work->word_len*56)))))+(scale*(i*56)); + HuSprPosSet(work->spr_grp[0], i, pos_x, work->y); + HuSprScaleSet(work->spr_grp[0], i, scale, work->scale_y+sin(((time*9.0f)*M_PI)/180.0)); + } + } + if(work->time == 40) { + idx = HuAudFXPlay(36); + work->stat |= 0x10; + } + if(work->time == 60) { + SeqPlayStartFX(); + work->stat |= 0x4; + } + if(work->time >= 60) { + work->type = 0; + } + } else { + if(work->time == 1) { + if(work->state == 1) { + HuAudFXPlay(37); + } else { + HuAudFXPlay(40); + } + MGSeqPauseEnableCtrl(0); + work->stat |= 0x10; + } + if(work->time <= 20) { + time = work->time; + scale = work->scale_x+(0.5*sin(((time*9.0f)*M_PI)/180.0)); + for(i=0; iword_len; i++) { + HuSprAttrReset(work->spr_grp[0], i, HUSPR_ATTR_DISPOFF); + pos_x = ((28.0f*scale)+(work->x-(0.5f*(scale*(work->word_len*56)))))+(scale*(i*56)); + HuSprPosSet(work->spr_grp[0], i, pos_x, work->y); + HuSprScaleSet(work->spr_grp[0], i, work->scale_x+sin(((time*9.0f)*M_PI)/180.0), work->scale_y+sin(((time*9.0f)*M_PI)/180.0)); + } + if(time == 20.0f) { + for(i=0; iword_len; i++) { + HuSprAttrReset(work->spr_grp[0], i, HUSPR_ATTR_DISPOFF); + } + } + } else { + if(work->time > 80) { + for(i=0; iword_len; i++) { + time = (work->time-80)-((20/work->word_len)*(work->word_len-i-1)); + if(time < 0.0f || time > 20.0f) { + continue; + } + pos_x = (28.0f+(work->x-(0.5f*(work->word_len*56))))+(i*56); + if(time == 20.0f) { + HuSprAttrSet(work->spr_grp[0], i, HUSPR_ATTR_DISPOFF); + } else { + HuSprPosSet(work->spr_grp[0], i, pos_x+((1.0-cos(((time*4.5f)*M_PI)/180.0f))*(work->word_len*56*2)), work->y); + HuSprZRotSet(work->spr_grp[0], i, (time/20.0f)*390.0f); + } + } + } + } + if(work->time == 110) { + work->stat |= 0x4; + } + if(work->time >= 110) { + work->type = 0; + work->stat |= 8; + } + } + } + break; + + case -1: + { + work->angle += seqSpeed*0.1f; + scale = 1.0f-work->angle; + if(scale <= 0.0f) { + scale = 0.0f; + work->type = 0; + work->stat |= 0x8; + if(work->state == 0) { + MGSeqPauseEnableCtrl(1); + } + } + for(idx=0; idxword_len; idx++) { + HuSprTPLvlSet(work->spr_grp[0], idx, scale); + } + } + break; + + default: + break; + } + } + if(seqDoneF || (work->stat & 0x8)) { + MGSeqSprKill(work); + return 0; + } + return 1; } -s32 MGSeqInitMGCommon(SeqWork *work, va_list params) +static s32 SeqInitMGCommon(SeqWork *work, va_list params) { - s16 i; - float tp_lvl; - s16 j; - s16 word_grp; - - work->state = va_arg(params, int); - if (work->state == 2) { - return MGSeqInitDraw(work, params); - } - work->type = 0; - work->angle = 0; - tp_lvl = 1.0f; - for (i = 0; i < 4; i++) { - if (i == 0) { - s32 word_katakana; - s32 word_flag; - s32 word_ofs; - word_katakana = 0; - if (work->state == 2 && seqLanguage == 0) { - word_katakana = 1; - } - if (word_katakana) { - word_flag = 1; - } - else { - word_flag = 0; - } - if (seqLanguage == 0) { - word_ofs = 0; - } - else { - word_ofs = 3; - } - word_grp = SeqMakeWord(work, wordMgTbl[work->state + word_ofs], word_flag); - } - else { - s16 grp_idx; - s32 new_grp; - for (grp_idx = 0; grp_idx < 16; grp_idx++) { - if (work->spr_grp[grp_idx] == -1) { - break; - } - } - if (grp_idx == 16) { - new_grp = -1; - } - else { - work->spr_grp[grp_idx] = HuSprGrpCopy(work->spr_grp[word_grp]); - new_grp = grp_idx; - } - (void)new_grp; - word_grp = new_grp; - } - HuSprGrpPosSet(work->spr_grp[word_grp], 0.0f, 0.0f); - for (j = 0; j < work->word_len; j++) { - HuSprTPLvlSet(work->spr_grp[word_grp], j, tp_lvl); - HuSprPosSet(work->spr_grp[word_grp], j, -100.0f, HU_DISP_CENTERY); - HuSprPriSet(work->spr_grp[word_grp], j, i + 5); - HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); - } - if (i == 0) { - tp_lvl -= 0.5; - } - else { - tp_lvl -= 0.1f; - } - } - if (seqPauseF) { - work->type = 2; - HuSprAttrSet(word_grp, 0, HUSPR_ATTR_DISPOFF); - } - else { - work->param[0] = 3; - } - return 1; + s16 i; + float tp_lvl; + s16 j; + s16 word_grp; + + work->state = va_arg(params, int); + if(work->state == 2) { + return SeqInitDraw(work, params); + } + work->type = 0; + work->angle = 0; + tp_lvl = 1.0f; + for(i=0; i<4; i++) { + if(i == 0) + { + s32 word_katakana; + s32 word_flag; + s32 word_ofs; + word_katakana = 0; + if(work->state == 2 && seqLanguage == 0) { + word_katakana = 1; + } + if(word_katakana) { + word_flag = 1; + } else { + word_flag = 0; + } + if(seqLanguage == 0) { + word_ofs = 0; + } else { + word_ofs = 3; + } + word_grp = SeqMakeWord(work, wordMgTbl[work->state+word_ofs], word_flag); + } else { + s16 grp_idx; + s32 new_grp; + for(grp_idx=0; grp_idx<16; grp_idx++) { + if(work->spr_grp[grp_idx] == -1) { + break; + } + } + if(grp_idx == 16) { + new_grp = -1; + } else { + work->spr_grp[grp_idx] = HuSprGrpCopy(work->spr_grp[word_grp]); + new_grp = grp_idx; + } + (void)new_grp; + word_grp = new_grp; + } + HuSprGrpPosSet(work->spr_grp[word_grp], 0.0f, 0.0f); + for(j=0; jword_len; j++) { + HuSprTPLvlSet(work->spr_grp[word_grp], j, tp_lvl); + HuSprPosSet(work->spr_grp[word_grp], j, -100.0f, 240.0f); + HuSprPriSet(work->spr_grp[word_grp], j, i+5); + HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); + } + if(i == 0) { + tp_lvl -= 0.5; + } else { + tp_lvl -= 0.1f; + } + } + if(seqPauseF) { + work->type = 2; + HuSprAttrSet(word_grp, 0, HUSPR_ATTR_DISPOFF); + } else { + work->param[0] = 3; + } + return 1; } -s32 MGSeqUpdateMGBattle(SeqWork *work) +static s32 SeqUpdateMGBattle(SeqWork *work) { - s16 idx; - float scale; - if (work->param[0] != 0 && work->type != -1) { - switch (work->param[0]) { - case 2: - if (work->param[1] != -1) { - (void)work; // HACK: to introduce extra branch - } - else { - work->type = -1; - work->angle = 0.0f; - } - work->param[0] = 0; - break; - - case 1: - work->time_max = work->param[1]; - work->param[0] = 0; - break; - - case 3: - work->type = 1; - work->param[0] = 0; - break; - - default: - work->param[0] = 0; - break; - } - } - if (work->type == 2) { - return 1; - } - work->time += seqSpeed; - if (work->time >= work->time_max && work->type != -1) { - work->stat |= 0x4; - work->type = -1; - work->angle = 0.0f; - } - if (work->type) { - switch (work->type) { - case 1: { - s16 i, j; - float time; - float pos_x; - if (work->state == 0) { - if (work->time < 45) { - if (work->time > 10 && work->time <= 40) { - time = work->time - 10; - scale = 10.0f * (1.0f - (time / 30.0f)); - pos_x = (work->x - (0.5f * (work->word_len * 56))) + 28.0f; - HuSprPosSet(work->spr_grp[0], 0, pos_x, work->y); - HuSprScaleSet(work->spr_grp[0], 0, work->scale_x + scale, work->scale_y + scale); - scale = time / 30.0f; - HuSprTPLvlSet(work->spr_grp[0], 0, scale); - } - for (i = 0; i < 4; i++) { - time = work->time - i; - if (time < 0 || time > 40) { - continue; - } - for (j = 1; j < work->word_len; j++) { - pos_x = (28.0f + (work->x - (0.5f * (work->word_len * 56)))) + (j * 56); - if (time == 40.0f) { - HuSprPosSet(work->spr_grp[i], j, pos_x, work->y); - HuSprZRotSet(work->spr_grp[i], j, 0.0f); - HuSprScaleSet(work->spr_grp[i], j, work->scale_x, work->scale_y); - if (i != 0) { - HuSprAttrSet(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); - } - } - else { - s16 discard_cnt; - static float letterOfs[] = { 30, 20, 20, 3, -4, 20, -30, 20, 20, 20, -30, 20, -10, 40, 10, -40 }; - float x, y; - float ofs_x, ofs_y; - float zrot, scale_ang; - x = pos_x; - y = work->y; - ofs_x = letterOfs[((j - 1) & 0x7) * 2]; - ofs_y = letterOfs[(((j - 1) & 0x7) * 2) + 1]; - zrot = 0.0f; - discard_cnt = 0; - scale_ang = 0.0f; - for (idx = 0; idx < 40.0f - time; idx++) { - if (x + ofs_x > HU_DISP_WIDTH || x + ofs_x < 0) { - ofs_x = -ofs_x; - discard_cnt++; - } - if (y + ofs_y > HU_DISP_HEIGHT || y + ofs_y < 0) { - ofs_y = -ofs_y; - discard_cnt++; - } - if (discard_cnt) { - zrot += 20.0f; - scale_ang = 0.0f; - } - x += ofs_x; - y += ofs_y; - } - HuSprPosSet(work->spr_grp[i], j, x, y); - HuSprScaleSet(work->spr_grp[i], j, work->scale_x * cosd(scale_ang), work->scale_y); - HuSprZRotSet(work->spr_grp[i], j, zrot); - } - } - } - } - else { - if (work->time > 60) { - time = work->time - 60; - scale = 0.5 * sind(time * 9.0f); - for (j = 0; j < work->word_len; j++) { - pos_x = (28.0f * (scale + work->scale_x)) + (work->x - (0.5f * ((work->word_len * 56) * (scale + work->scale_x)))) - + ((j * 56) * (scale + work->scale_x)); - HuSprPosSet(work->spr_grp[0], j, pos_x, work->y); - HuSprScaleSet(work->spr_grp[0], j, work->scale_x + scale, work->scale_y + scale); - } - } - } - if (work->time == 60) { - HuAudFXPlay(36); - work->stat |= 0x10; - } - if (work->time == 80) { - work->stat |= 0x4; - SeqPlayStartFX(); - } - if (work->time >= 80) { - work->type = 0; - } - } - else { - if (work->time == 1) { - if (work->state == 1) { - HuAudFXPlay(37); - } - else { - HuAudFXPlay(40); - } - MGSeqPauseEnableCtrl(0); - work->stat |= 0x10; - } - if (work->time <= 20) { - for (i = 1; i < 4; i++) { - for (j = 0; j < work->word_len; j++) { - HuSprAttrSet(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); - } - } - time = work->time; - scale = work->scale_x + (0.5 * sind(time * 9.0f)); - for (j = 0; j < work->word_len; j++) { - HuSprAttrReset(work->spr_grp[0], j, HUSPR_ATTR_DISPOFF); - pos_x = ((28.0f * scale) + (work->x - (0.5f * (scale * (work->word_len * 56))))) + (scale * (j * 56)); - HuSprPosSet(work->spr_grp[0], j, pos_x, work->y); - HuSprScaleSet(work->spr_grp[0], j, work->scale_x + (sind(time * 9.0f)), - work->scale_y + (sind(time * 9.0f))); - } - if (time == 20.0f) { - for (j = 0; j < work->word_len; j++) { - HuSprAttrReset(work->spr_grp[0], j, HUSPR_ATTR_DISPOFF); - } - } - } - else { - if (work->time > 80 && work->time <= 95) { - time = work->time - 80; - for (j = 0; j < work->word_len; j++) { - pos_x = (28.0f + (work->x - (0.5f * (work->word_len * 56)))) + (j * 56); - HuSprPosSet( - work->spr_grp[0], j, pos_x + ((HU_DISP_CENTERX - pos_x) * (1.0 - cosd(time * 6.0))), work->y); - } - if (time == 15.0f) { - for (j = 0; j < work->word_len; j++) { - HuSprAttrReset(work->spr_grp[1], j, HUSPR_ATTR_DISPOFF); - HuSprPosSet(work->spr_grp[1], j, HU_DISP_CENTERX, work->y); - HuSprTPLvlSet(work->spr_grp[1], j, 1.0f); - } - } - } - else { - if (work->time > 105) { - for (j = 0; j < work->word_len; j++) { - time = work->time - 105; - time -= j * 3; - if (time < 0) { - continue; - } - scale = 1.0f - (time / 15.0f); - if (scale < 0.0f) { - scale = 0.0f; - } - HuSprPosSet(work->spr_grp[0], j, HU_DISP_CENTERX, work->y + ((-100.0f - work->y) * (time / 20.0f))); - HuSprTPLvlSet(work->spr_grp[0], j, scale); - HuSprPosSet(work->spr_grp[1], j, HU_DISP_CENTERX, work->y + ((580.0f - work->y) * (time / 20.0f))); - HuSprTPLvlSet(work->spr_grp[1], j, scale); - } - } - } - } - if (work->time == 130) { - work->stat |= 0x4; - } - if (work->time >= 130) { - work->type = 0; - work->stat |= 0x8; - } - } - - } break; - - case -1: { - work->angle += seqSpeed * 0.1f; - scale = 1.0f - work->angle; - if (scale <= 0.0f) { - scale = 0.0f; - work->type = 0; - work->stat |= 0x8; - if (work->state == 0) { - MGSeqPauseEnableCtrl(1); - } - } - for (idx = 0; idx < work->word_len; idx++) { - HuSprTPLvlSet(work->spr_grp[0], idx, scale); - } - } break; - - default: - break; - } - } - if (seqDoneF || (work->stat & 0x8)) { - MGSeqSprKill(work); - return 0; - } - return 1; + s16 idx; + float scale; + if(work->param[0] != 0 && work->type != -1) { + switch(work->param[0]) { + case 2: + if(work->param[1] != -1) { + (void)work; //HACK: to introduce extra branch + } else { + work->type = -1; + work->angle = 0.0f; + } + work->param[0] = 0; + break; + + case 1: + work->time_max = work->param[1]; + work->param[0] = 0; + break; + + case 3: + work->type = 1; + work->param[0] = 0; + break; + + default: + work->param[0] = 0; + break; + } + } + if(work->type == 2) { + return 1; + } + work->time += seqSpeed; + if(work->time >= work->time_max && work->type != -1) { + work->stat |= 0x4; + work->type = -1; + work->angle = 0.0f; + } + if(work->type) { + switch(work->type) { + case 1: + { + s16 i, j; + float time; + float pos_x; + if(work->state == 0) { + if(work->time < 45) { + if(work->time > 10 && work->time <= 40) { + time = work->time-10; + scale = 10.0f*(1.0f-(time/30.0f)); + pos_x = (work->x-(0.5f*(work->word_len*56)))+28.0f; + HuSprPosSet(work->spr_grp[0], 0, pos_x, work->y); + HuSprScaleSet(work->spr_grp[0], 0, work->scale_x+scale, work->scale_y+scale); + scale = time/30.0f; + HuSprTPLvlSet(work->spr_grp[0], 0, scale); + } + for(i=0; i<4; i++) { + time = work->time-i; + if(time < 0 || time > 40) { + continue; + } + for(j=1; jword_len; j++) { + pos_x = (28.0f+(work->x-(0.5f*(work->word_len*56))))+(j*56); + if(time == 40.0f) { + HuSprPosSet(work->spr_grp[i], j, pos_x, work->y); + HuSprZRotSet(work->spr_grp[i], j, 0.0f); + HuSprScaleSet(work->spr_grp[i], j, work->scale_x, work->scale_y); + if(i != 0) { + HuSprAttrSet(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); + } + } else { + s16 discard_cnt; + static float letterOfs[] = { + 30, 20, + 20, 3, + -4, 20, + -30, 20, + 20, 20, + -30, 20, + -10, 40, + 10, -40 + }; + float x, y; + float ofs_x, ofs_y; + float zrot, scale_ang; + x = pos_x; + y = work->y; + ofs_x = letterOfs[((j-1)&0x7)*2]; + ofs_y = letterOfs[(((j-1)&0x7)*2)+1]; + zrot = 0.0f; + discard_cnt = 0; + scale_ang = 0.0f; + for(idx=0; idx<40.0f-time; idx++) { + if(x+ofs_x > 576 || x+ofs_x < 0) { + ofs_x = -ofs_x; + discard_cnt++; + } + if(y+ofs_y > 480 || y+ofs_y < 0) { + ofs_y = -ofs_y; + discard_cnt++; + } + if(discard_cnt) { + zrot += 20.0f; + scale_ang = 0.0f; + } + x += ofs_x; + y += ofs_y; + } + HuSprPosSet(work->spr_grp[i], j, x, y); + HuSprScaleSet(work->spr_grp[i], j, work->scale_x*cos((M_PI*scale_ang)/180.0), work->scale_y); + HuSprZRotSet(work->spr_grp[i], j, zrot); + } + } + } + } else { + if(work->time > 60) { + time = work->time-60; + scale = 0.5*sin((M_PI*(time*9.0f))/180.0); + for(j=0; jword_len; j++) { + pos_x = (28.0f*(scale+work->scale_x))+(work->x-(0.5f*((work->word_len*56)*(scale+work->scale_x))))+((j*56)*(scale+work->scale_x)); + HuSprPosSet(work->spr_grp[0], j, pos_x, work->y); + HuSprScaleSet(work->spr_grp[0], j, work->scale_x+scale, work->scale_y+scale); + } + } + } + if(work->time == 60) { + HuAudFXPlay(36); + work->stat |= 0x10; + } + if(work->time == 80) { + work->stat |= 0x4; + SeqPlayStartFX(); + } + if(work->time >= 80) { + work->type = 0; + } + } else { + if(work->time == 1) { + if(work->state == 1) { + HuAudFXPlay(37); + } else { + HuAudFXPlay(40); + } + MGSeqPauseEnableCtrl(0); + work->stat |= 0x10; + } + if(work->time <= 20) { + for(i=1; i<4; i++) { + for(j=0; jword_len; j++) { + HuSprAttrSet(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); + } + } + time = work->time; + scale = work->scale_x+(0.5*sin((M_PI*(time*9.0f))/180.0)); + for(j=0; jword_len; j++) { + HuSprAttrReset(work->spr_grp[0], j, HUSPR_ATTR_DISPOFF); + pos_x = ((28.0f*scale)+(work->x-(0.5f*(scale*(work->word_len*56)))))+(scale*(j*56)); + HuSprPosSet(work->spr_grp[0], j, pos_x, work->y); + HuSprScaleSet(work->spr_grp[0], j, work->scale_x+(sin((M_PI*(time*9.0f))/180.0)), work->scale_y+(sin((M_PI*(time*9.0f))/180.0))); + } + if(time == 20.0f) { + for(j=0; jword_len; j++) { + HuSprAttrReset(work->spr_grp[0], j, HUSPR_ATTR_DISPOFF); + } + } + } else { + if(work->time > 80 && work->time <= 95) { + time = work->time-80; + for(j=0; jword_len; j++) { + pos_x = (28.0f+(work->x-(0.5f*(work->word_len*56))))+(j*56); + HuSprPosSet(work->spr_grp[0], j, pos_x+((288.0f-pos_x)*(1.0-cos((M_PI*(time*6.0))/180.0))), work->y); + } + if(time == 15.0f) { + for(j=0; jword_len; j++) { + HuSprAttrReset(work->spr_grp[1], j, HUSPR_ATTR_DISPOFF); + HuSprPosSet(work->spr_grp[1], j, 288.0f, work->y); + HuSprTPLvlSet(work->spr_grp[1], j, 1.0f); + } + } + } else { + if(work->time > 105) { + for(j=0; jword_len; j++) { + time = work->time-105; + time -= j*3; + if(time < 0) { + continue; + } + scale = 1.0f-(time/15.0f); + if(scale < 0.0f) { + scale = 0.0f; + } + HuSprPosSet(work->spr_grp[0], j, 288.0f, work->y+((-100.0f-work->y)*(time/20.0f))); + HuSprTPLvlSet(work->spr_grp[0], j, scale); + HuSprPosSet(work->spr_grp[1], j, 288.0f, work->y+((580.0f-work->y)*(time/20.0f))); + HuSprTPLvlSet(work->spr_grp[1], j, scale); + } + } + } + } + if(work->time == 130) { + work->stat |= 0x4; + } + if(work->time >= 130) { + work->type = 0; + work->stat |= 0x8; + } + } + + } + break; + + case -1: + { + work->angle += seqSpeed*0.1f; + scale = 1.0f-work->angle; + if(scale <= 0.0f) { + scale = 0.0f; + work->type = 0; + work->stat |= 0x8; + if(work->state == 0) { + MGSeqPauseEnableCtrl(1); + } + } + for(idx=0; idxword_len; idx++) { + HuSprTPLvlSet(work->spr_grp[0], idx, scale); + } + } + break; + + default: + break; + } + } + if(seqDoneF || (work->stat & 0x8)) { + MGSeqSprKill(work); + return 0; + } + return 1; } -s32 MGSeqUpdateMG1vs3(SeqWork *work) +static s32 SeqUpdateMG1vs3(SeqWork *work) { - s16 idx; - float scale; - if (work->param[0] != 0 && work->type != -1) { - switch (work->param[0]) { - case 2: - if (work->param[1] != -1) { - (void)work; // HACK: to introduce extra branch - } - else { - work->type = -1; - work->angle = 0.0f; - } - work->param[0] = 0; - break; - - case 1: - work->time_max = work->param[1]; - work->param[0] = 0; - break; - - case 3: - work->type = 1; - work->param[0] = 0; - break; - - default: - work->param[0] = 0; - break; - } - } - if (work->type == 2) { - return 1; - } - work->time += seqSpeed; - if (work->time >= work->time_max && work->type != -1) { - work->stat |= 0x4; - work->type = -1; - work->angle = 0.0f; - } - if (work->type) { - switch (work->type) { - case 1: { - float time; - float scale_x, scale_y; - float pos_x, pos_y; - s16 i; - s16 j; - if (work->state == 0) { - if (work->time <= 10) { - scale = work->time / 10.0f; - time = work->time; - for (idx = 0; idx < work->word_len; idx++) { - scale_x = 0.3 * work->scale_x; - scale_y = 0.3 * work->scale_y; - pos_x = ((28.0f * scale_x) + (work->x - (0.5f * (scale_x * (work->word_len * 56))))) + (scale_x * (idx * 56)); - pos_y = work->y - 150.0 * sind((16.0f / 3.0f) * time + 20.0f); - HuSprPosSet(work->spr_grp[0], idx, pos_x, pos_y); - HuSprScaleSet(work->spr_grp[0], idx, scale_x, scale_y * cosd(12.0f * time)); - HuSprTPLvlSet(work->spr_grp[0], idx, scale); - } - } - else { - if (work->time <= 60) { - for (i = 0; i < 4; i++) { - for (idx = 0; idx < work->word_len; idx++) { - time = (work->time - 10) - (idx * 3) - i; - if (time < 0.0f) { - time = 0.0f; - } - else { - if (time > 30.0f) { - continue; - } - } - scale = 0.3 + 0.7 * (1.0 - cosd(time * 3.0f)); - scale_x = work->scale_x * scale; - scale_y = work->scale_y * scale; - pos_x = ((28.0f * scale_x) + (work->x - (0.5f * (scale_x * (work->word_len * 56))))) + (scale_x * (idx * 56)); - pos_y = work->y - 150.0 * sind((16.0f / 3.0f) * time + 20.0f); - HuSprPosSet(work->spr_grp[i], idx, pos_x, pos_y); - HuSprScaleSet(work->spr_grp[i], idx, scale_x, scale_y * cosd(12.0f * time)); - } - } - if (work->time == 60) { - for (i = 1; i < 4; i++) { - for (j = 0; j < work->word_len; j++) { - HuSprAttrSet(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); - } - } - } - } - else { - if (work->time > 70) { - time = work->time - 70; - scale = 0.5 * sind(time * 9.0f); - for (j = 0; j < work->word_len; j++) { - pos_x = (28.0f * (scale + work->scale_x)) + (work->x - (0.5f * ((work->word_len * 56) * (scale + work->scale_x)))) - + ((j * 56) * (scale + work->scale_x)); - HuSprPosSet(work->spr_grp[0], j, pos_x, work->y); - HuSprScaleSet(work->spr_grp[0], j, work->scale_x + scale, work->scale_y + scale); - } - } - } - } - if (work->time == 70) { - HuAudFXPlay(36); - work->stat |= 0x10; - } - if (work->time == 90) { - work->stat |= 0x4; - SeqPlayStartFX(); - } - if (work->time >= 90) { - work->type = 0; - } - } - else { - if (work->time == 1) { - if (work->state == 1) { - HuAudFXPlay(37); - } - else { - HuAudFXPlay(40); - } - MGSeqPauseEnableCtrl(0); - work->stat |= 0x10; - } - if (work->time <= 20) { - for (i = 1; i < 4; i++) { - for (j = 0; j < work->word_len; j++) { - HuSprAttrSet(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); - } - } - time = work->time; - scale = work->scale_x + (0.5 * sind(time * 9.0f)); - for (j = 0; j < work->word_len; j++) { - HuSprAttrReset(work->spr_grp[0], j, HUSPR_ATTR_DISPOFF); - pos_x = ((28.0f * scale) + (work->x - (0.5f * (scale * (work->word_len * 56))))) + (scale * (j * 56)); - HuSprPosSet(work->spr_grp[0], j, pos_x, work->y); - HuSprScaleSet(work->spr_grp[0], j, work->scale_x + (sind(time * 9.0f)), - work->scale_y + (sind(time * 9.0f))); - } - if (time == 20.0f) { - for (i = 1; i < 4; i++) { - for (j = 0; j < work->word_len; j++) { - HuSprAttrReset(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); - } - } - } - } - else { - if (work->time > 80 || work->time < 140) { - for (i = 0; i < 4; i++) { - for (j = 0; j < work->word_len; j++) { - time = (work->time - 80) - i - j; - if (time < 0 || time > 40) { - continue; - } - if (time <= 20) { - float pos_base = (28.0f + (work->x - (0.5f * (work->word_len * 56)))) + (j * 56); - pos_x = (28.0f + (work->x - (0.5f * (work->word_len * 56)))) + ((work->word_len - j - 1) * 56); - HuSprPosSet(work->spr_grp[i], j, pos_base + ((time / 20.0f) * (pos_x - pos_base)), - work->y + (((HU_DISP_HEIGHT - 40) - work->y) * (time / 20.0f))); - } - else { - time -= 20.0f; - pos_x = (28.0f + (work->x - (0.5f * (work->word_len * 56)))) + ((work->word_len - j - 1) * 56); - pos_y = HU_DISP_HEIGHT - 40; - HuSprPosSet(work->spr_grp[i], j, pos_x, pos_y + ((-40.0f - pos_y) * (time / 20.0f))); - } - } - } - } - } - if (work->time == 140) { - work->stat |= 0x4; - } - if (work->time >= 140) { - work->type = 0; - work->stat |= 0x8; - } - } - } break; - - case -1: { - work->angle += seqSpeed * 0.1f; - scale = 1.0f - work->angle; - if (scale <= 0.0f) { - scale = 0.0f; - work->type = 0; - work->stat |= 0x8; - if (work->state == 0) { - MGSeqPauseEnableCtrl(1); - } - } - for (idx = 0; idx < work->word_len; idx++) { - HuSprTPLvlSet(work->spr_grp[0], idx, scale); - } - } break; - - default: - break; - } - } - if (seqDoneF || (work->stat & 0x8)) { - MGSeqSprKill(work); - return 0; - } - return 1; + s16 idx; + float scale; + if(work->param[0] != 0 && work->type != -1) { + switch(work->param[0]) { + case 2: + if(work->param[1] != -1) { + (void)work; //HACK: to introduce extra branch + } else { + work->type = -1; + work->angle = 0.0f; + } + work->param[0] = 0; + break; + + case 1: + work->time_max = work->param[1]; + work->param[0] = 0; + break; + + case 3: + work->type = 1; + work->param[0] = 0; + break; + + default: + work->param[0] = 0; + break; + } + } + if(work->type == 2) { + return 1; + } + work->time += seqSpeed; + if(work->time >= work->time_max && work->type != -1) { + work->stat |= 0x4; + work->type = -1; + work->angle = 0.0f; + } + if(work->type) { + switch(work->type) { + case 1: + { + float time; + float scale_x, scale_y; + float pos_x, pos_y; + s16 i; + s16 j; + if(work->state == 0) { + if(work->time <= 10) { + scale = work->time/10.0f; + time = work->time; + for(idx=0; idxword_len; idx++) { + scale_x = 0.3*work->scale_x; + scale_y = 0.3*work->scale_y; + pos_x = ((28.0f*scale_x)+(work->x-(0.5f*(scale_x*(work->word_len*56)))))+(scale_x*(idx*56)); + pos_y = work->y-(150.0*sin((M_PI*(((16.0f/3.0f)*time)+20.0f))/180.0)); + HuSprPosSet(work->spr_grp[0], idx, pos_x, pos_y); + HuSprScaleSet(work->spr_grp[0], idx, scale_x, scale_y*cos(M_PI*(12.0f*time)/180.0)); + HuSprTPLvlSet(work->spr_grp[0], idx, scale); + } + } else { + if(work->time <= 60) { + for(i=0; i<4; i++) { + for(idx=0; idxword_len; idx++) { + time = (work->time-10)-(idx*3)-i; + if(time < 0.0f) { + time = 0.0f; + } else { + if(time > 30.0f) { + continue; + } + } + scale = 0.3+(0.7*(1.0-cos((M_PI*(time*3.0f))/180.0))); + scale_x = work->scale_x*scale; + scale_y = work->scale_y*scale; + pos_x = ((28.0f*scale_x)+(work->x-(0.5f*(scale_x*(work->word_len*56)))))+(scale_x*(idx*56)); + pos_y = work->y-(150.0*sin((M_PI*(((16.0f/3.0f)*time)+20.0f))/180.0)); + HuSprPosSet(work->spr_grp[i], idx, pos_x, pos_y); + HuSprScaleSet(work->spr_grp[i], idx, scale_x, scale_y*cos(M_PI*(12.0f*time)/180.0)); + } + } + if(work->time == 60) { + for(i=1; i<4; i++) { + for(j=0; jword_len; j++) { + HuSprAttrSet(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); + } + } + } + } else { + if(work->time > 70) { + time = work->time-70; + scale = 0.5*sin((M_PI*(time*9.0f))/180.0); + for(j=0; jword_len; j++) { + pos_x = (28.0f*(scale+work->scale_x))+(work->x-(0.5f*((work->word_len*56)*(scale+work->scale_x))))+((j*56)*(scale+work->scale_x)); + HuSprPosSet(work->spr_grp[0], j, pos_x, work->y); + HuSprScaleSet(work->spr_grp[0], j, work->scale_x+scale, work->scale_y+scale); + } + } + } + } + if(work->time == 70) { + HuAudFXPlay(36); + work->stat |= 0x10; + } + if(work->time == 90) { + work->stat |= 0x4; + SeqPlayStartFX(); + } + if(work->time >= 90) { + work->type = 0; + } + } else { + if(work->time == 1) { + if(work->state == 1) { + HuAudFXPlay(37); + } else { + HuAudFXPlay(40); + } + MGSeqPauseEnableCtrl(0); + work->stat |= 0x10; + } + if(work->time <= 20) { + for(i=1; i<4; i++) { + for(j=0; jword_len; j++) { + HuSprAttrSet(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); + } + } + time = work->time; + scale = work->scale_x+(0.5*sin((M_PI*(time*9.0f))/180.0)); + for(j=0; jword_len; j++) { + HuSprAttrReset(work->spr_grp[0], j, HUSPR_ATTR_DISPOFF); + pos_x = ((28.0f*scale)+(work->x-(0.5f*(scale*(work->word_len*56)))))+(scale*(j*56)); + HuSprPosSet(work->spr_grp[0], j, pos_x, work->y); + HuSprScaleSet(work->spr_grp[0], j, work->scale_x+(sin((M_PI*(time*9.0f))/180.0)), work->scale_y+(sin((M_PI*(time*9.0f))/180.0))); + } + if(time == 20.0f) { + for(i=1; i<4; i++) { + for(j=0; jword_len; j++) { + HuSprAttrReset(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); + } + } + } + } else { + if(work->time > 80 || work->time < 140) { + for(i=0; i<4; i++) { + for(j=0; jword_len; j++) { + time = (work->time-80)-i-j; + if(time < 0 || time > 40) { + continue; + } + if(time <= 20) { + float pos_base = (28.0f+(work->x-(0.5f*(work->word_len*56))))+(j*56); + pos_x = (28.0f+(work->x-(0.5f*(work->word_len*56))))+((work->word_len-j-1)*56); + HuSprPosSet(work->spr_grp[i], j, pos_base+((time/20.0f)*(pos_x-pos_base)), work->y+((440.0f-work->y)*(time/20.0f))); + } else { + time -= 20.0f; + pos_x = (28.0f+(work->x-(0.5f*(work->word_len*56))))+((work->word_len-j-1)*56); + pos_y = 440.0f; + HuSprPosSet(work->spr_grp[i], j, pos_x, pos_y+((-40.0f-pos_y)*(time/20.0f))); + } + } + } + } + } + if(work->time == 140) { + work->stat |= 0x4; + } + if(work->time >= 140) { + work->type = 0; + work->stat |= 0x8; + } + } + } + break; + + case -1: + { + work->angle += seqSpeed*0.1f; + scale = 1.0f-work->angle; + if(scale <= 0.0f) { + scale = 0.0f; + work->type = 0; + work->stat |= 0x8; + if(work->state == 0) { + MGSeqPauseEnableCtrl(1); + } + } + for(idx=0; idxword_len; idx++) { + HuSprTPLvlSet(work->spr_grp[0], idx, scale); + } + } + break; + + default: + break; + } + } + if(seqDoneF || (work->stat & 0x8)) { + MGSeqSprKill(work); + return 0; + } + return 1; } -s32 MGSeqUpdateMGStory(SeqWork *work) +static s32 SeqUpdateMGStory(SeqWork *work) { - s16 idx; - float scale; - if (work->param[0] != 0 && work->type != -1) { - switch (work->param[0]) { - case 2: - if (work->param[1] != -1) { - (void)work; // HACK: to introduce extra branch - } - else { - work->type = -1; - work->angle = 0.0f; - } - work->param[0] = 0; - break; - - case 1: - work->time_max = work->param[1]; - work->param[0] = 0; - break; - - case 3: - work->type = 1; - work->param[0] = 0; - break; - - default: - work->param[0] = 0; - break; - } - } - if (work->type == 2) { - return 1; - } - work->time += seqSpeed; - if (work->time >= work->time_max && work->type != -1) { - work->stat |= 0x4; - work->type = -1; - work->angle = 0.0f; - } - if (work->type) { - switch (work->type) { - case 1: { - float pos_x, pos_y; - float time; - s16 i; - s16 j; - if (work->state == 0) { - if (work->time <= 30) { - for (idx = 0; idx < work->word_len; idx++) { - time = (work->time - (idx * 2)); - if (time < 0.0f || time > 15.0f) { - continue; - } - pos_x = -50.0f; - HuSprPosSet(work->spr_grp[0], idx, pos_x + ((HU_DISP_CENTERX - pos_x) * (time / 15.0f)), work->y); - HuSprTPLvlSet(work->spr_grp[0], idx, 1.0f); - HuSprZRotSet(work->spr_grp[0], idx, (1.0 - (time / 15.0f)) * 180.0); - pos_x = HU_DISP_WIDTH + 50; - HuSprPosSet(work->spr_grp[1], idx, pos_x + ((HU_DISP_CENTERX - pos_x) * (time / 15.0f)), work->y); - HuSprTPLvlSet(work->spr_grp[1], idx, 1.0f); - HuSprZRotSet(work->spr_grp[1], idx, (1.0 - (time / 15.0f)) * -180.0); - } - if (work->time == 30) { - for (j = 0; j < work->word_len; j++) { - HuSprAttrSet(work->spr_grp[1], j, HUSPR_ATTR_DISPOFF); - } - } - } - else { - if (work->time > 35 && work->time <= 45) { - time = work->time - 35; - for (idx = 0; idx < work->word_len; idx++) { - pos_x = (work->x - (0.5f * (work->word_len * 56))) + 28.0f + (idx * 56); - HuSprPosSet(work->spr_grp[0], idx, HU_DISP_CENTERX + ((pos_x - HU_DISP_CENTERX) * (time / 10.0f)), work->y); - } - } - else { - if (work->time > 55) { - time = work->time - 55; - scale = 0.5 * sind(9.0f * time); - for (j = 0; j < work->word_len; j++) { - pos_x = (28.0f * (scale + work->scale_x)) + (work->x - (0.5f * ((work->word_len * 56) * (scale + work->scale_x)))) - + ((j * 56) * (scale + work->scale_x)); - HuSprPosSet(work->spr_grp[0], j, pos_x, work->y); - HuSprScaleSet(work->spr_grp[0], j, work->scale_x + scale, work->scale_y + scale); - } - } - } - } - if (work->time == 55) { - HuAudFXPlay(36); - work->stat |= 0x10; - } - if (work->time == 75) { - SeqPlayStartFX(); - work->stat |= 0x4; - } - if (work->time >= 75) { - work->type = 0; - } - } - else { - if (work->time == 1) { - if (work->state == 1) { - HuAudFXPlay(37); - } - else { - HuAudFXPlay(40); - } - MGSeqPauseEnableCtrl(0); - work->stat |= 0x10; - } - if (work->time <= 20) { - for (i = 1; i < 4; i++) { - for (j = 0; j < work->word_len; j++) { - HuSprAttrSet(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); - } - } - time = work->time; - scale = work->scale_x + (0.5 * sind(time * 9.0f)); - for (j = 0; j < work->word_len; j++) { - HuSprAttrReset(work->spr_grp[0], j, HUSPR_ATTR_DISPOFF); - pos_x = ((28.0f * scale) + (work->x - (0.5f * (scale * (work->word_len * 56))))) + (scale * (j * 56)); - HuSprPosSet(work->spr_grp[0], j, pos_x, work->y); - HuSprScaleSet(work->spr_grp[0], j, work->scale_x + (sind(time * 9.0f)), - work->scale_y + (sind(time * 9.0f))); - } - if (time == 20.0f) { - for (i = 1; i < 4; i++) { - for (j = 0; j < work->word_len; j++) { - HuSprAttrReset(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); - } - } - } - } - else if (work->time > 80 && work->time < 160) { - for (i = 0; i < 4; i++) { - for (j = 0; j < work->word_len; j++) { - s16 initF; - float dx, dy; - time = (work->time - 80) - i; - if (time < 0 || time > 60) { - continue; - } - pos_x = (28.0f + (work->x - (0.5f * (work->word_len * 56)))) + (j * 56); - dx = 28.0f + (work->x - (0.5f * (work->word_len * 56))); - pos_y = work->y; - for (idx = initF = 0; idx < time; idx++) { - if (!initF) { - pos_x -= 20.0f; - if (pos_x <= dx) { - pos_x = 28.0f + (work->x - (0.5f * (work->word_len * 56))); - initF = 1; - dy = 25.0f; - dx = 10.0f; - } - } - else { - pos_x += dx; - pos_y += dy; - dx += 0.1; - dy -= 2.0f; - if (pos_y < 0.0f) { - break; - } - } - } - - HuSprPosSet(work->spr_grp[i], j, pos_x, pos_y); - } - } - } - if (work->time == 160) { - work->stat |= 0x4; - } - if (work->time >= 160) { - work->type = 0; - work->stat |= 0x8; - } - } - } break; - - case -1: { - work->angle += seqSpeed * 0.1f; - scale = 1.0f - work->angle; - if (scale <= 0.0f) { - scale = 0.0f; - work->type = 0; - work->stat |= 0x8; - if (work->state == 0) { - MGSeqPauseEnableCtrl(1); - } - } - for (idx = 0; idx < work->word_len; idx++) { - HuSprTPLvlSet(work->spr_grp[0], idx, scale); - } - } break; - - default: - break; - } - } - if (seqDoneF || (work->stat & 0x8)) { - MGSeqSprKill(work); - return 0; - } - return 1; + s16 idx; + float scale; + if(work->param[0] != 0 && work->type != -1) { + switch(work->param[0]) { + case 2: + if(work->param[1] != -1) { + (void)work; //HACK: to introduce extra branch + } else { + work->type = -1; + work->angle = 0.0f; + } + work->param[0] = 0; + break; + + case 1: + work->time_max = work->param[1]; + work->param[0] = 0; + break; + + case 3: + work->type = 1; + work->param[0] = 0; + break; + + default: + work->param[0] = 0; + break; + } + } + if(work->type == 2) { + return 1; + } + work->time += seqSpeed; + if(work->time >= work->time_max && work->type != -1) { + work->stat |= 0x4; + work->type = -1; + work->angle = 0.0f; + } + if(work->type) { + switch(work->type) { + case 1: + { + float pos_x, pos_y; + float time; + s16 i; + s16 j; + if(work->state == 0) { + if(work->time <= 30) { + for(idx=0; idxword_len; idx++) { + time = (work->time-(idx*2)); + if(time < 0.0f || time > 15.0f) { + continue; + } + pos_x = -50.0f; + HuSprPosSet(work->spr_grp[0], idx, pos_x+((288.0f-pos_x)*(time/15.0f)), work->y); + HuSprTPLvlSet(work->spr_grp[0], idx, 1.0f); + HuSprZRotSet(work->spr_grp[0], idx, (1.0-(time/15.0f))*180.0); + pos_x = 626.0f; + HuSprPosSet(work->spr_grp[1], idx, pos_x+((288.0f-pos_x)*(time/15.0f)), work->y); + HuSprTPLvlSet(work->spr_grp[1], idx, 1.0f); + HuSprZRotSet(work->spr_grp[1], idx, (1.0-(time/15.0f))*-180.0); + } + if(work->time == 30) { + for(j=0; jword_len; j++) { + HuSprAttrSet(work->spr_grp[1], j, HUSPR_ATTR_DISPOFF); + } + } + } else { + if(work->time > 35 && work->time <= 45) { + time = work->time-35; + for(idx=0; idxword_len; idx++) { + pos_x = (work->x-(0.5f*(work->word_len*56)))+28.0f+(idx*56); + HuSprPosSet(work->spr_grp[0], idx, 288.0f+((pos_x-288.0f)*(time/10.0f)), work->y); + } + } else { + if(work->time > 55) { + time = work->time-55; + scale = 0.5*sin(M_PI*(9.0f*time)/180.0); + for(j=0; jword_len; j++) { + pos_x = (28.0f*(scale+work->scale_x))+(work->x-(0.5f*((work->word_len*56)*(scale+work->scale_x))))+((j*56)*(scale+work->scale_x)); + HuSprPosSet(work->spr_grp[0], j, pos_x, work->y); + HuSprScaleSet(work->spr_grp[0], j, work->scale_x+scale, work->scale_y+scale); + } + } + } + } + if(work->time == 55) { + HuAudFXPlay(36); + work->stat |= 0x10; + } + if(work->time == 75) { + SeqPlayStartFX(); + work->stat |= 0x4; + } + if(work->time >= 75) { + work->type = 0; + } + } else { + if(work->time == 1) { + if(work->state == 1) { + HuAudFXPlay(37); + } else { + HuAudFXPlay(40); + } + MGSeqPauseEnableCtrl(0); + work->stat |= 0x10; + } + if(work->time <= 20) { + for(i=1; i<4; i++) { + for(j=0; jword_len; j++) { + HuSprAttrSet(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); + } + } + time = work->time; + scale = work->scale_x+(0.5*sin((M_PI*(time*9.0f))/180.0)); + for(j=0; jword_len; j++) { + HuSprAttrReset(work->spr_grp[0], j, HUSPR_ATTR_DISPOFF); + pos_x = ((28.0f*scale)+(work->x-(0.5f*(scale*(work->word_len*56)))))+(scale*(j*56)); + HuSprPosSet(work->spr_grp[0], j, pos_x, work->y); + HuSprScaleSet(work->spr_grp[0], j, work->scale_x+(sin((M_PI*(time*9.0f))/180.0)), work->scale_y+(sin((M_PI*(time*9.0f))/180.0))); + } + if(time == 20.0f){ + for(i=1; i<4; i++) { + for(j=0; jword_len; j++) { + HuSprAttrReset(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); + } + } + } + } else if(work->time > 80 && work->time < 160) { + for(i=0; i<4; i++) { + for(j=0; jword_len; j++) { + s16 initF; + float dx, dy; + time = (work->time-80)-i; + if(time < 0 || time > 60) { + continue; + } + pos_x = (28.0f+(work->x-(0.5f*(work->word_len*56))))+(j*56); + dx = 28.0f+(work->x-(0.5f*(work->word_len*56))); + pos_y = work->y; + for(idx=initF=0; idxx-(0.5f*(work->word_len*56))); + initF = 1; + dy = 25.0f; + dx = 10.0f; + } + + } else { + pos_x += dx; + pos_y += dy; + dx += 0.1; + dy -= 2.0f; + if(pos_y < 0.0f) { + break; + } + } + } + + HuSprPosSet(work->spr_grp[i], j, pos_x, pos_y); + } + } + } + if(work->time == 160) { + work->stat |= 0x4; + } + if(work->time >= 160) { + work->type = 0; + work->stat |= 0x8; + } + } + } + break; + + case -1: + { + work->angle += seqSpeed*0.1f; + scale = 1.0f-work->angle; + if(scale <= 0.0f) { + scale = 0.0f; + work->type = 0; + work->stat |= 0x8; + if(work->state == 0) { + MGSeqPauseEnableCtrl(1); + } + } + for(idx=0; idxword_len; idx++) { + HuSprTPLvlSet(work->spr_grp[0], idx, scale); + } + } + break; + + default: + break; + } + } + if(seqDoneF || (work->stat & 0x8)) { + MGSeqSprKill(work); + return 0; + } + return 1; } -s32 MGSeqUpdateMG2vs2(SeqWork *work) +static s32 SeqUpdateMG2vs2(SeqWork *work) { - s16 idx; - float scale; - if (work->param[0] != 0 && work->type != -1) { - switch (work->param[0]) { - case 2: - if (work->param[1] != -1) { - (void)work; // HACK: to introduce extra branch - } - else { - work->type = -1; - work->angle = 0.0f; - } - work->param[0] = 0; - break; - - case 1: - work->time_max = work->param[1]; - work->param[0] = 0; - break; - - case 3: - work->type = 1; - work->param[0] = 0; - break; - - default: - work->param[0] = 0; - break; - } - } - if (work->type == 2) { - return 1; - } - work->time += seqSpeed; - if (work->time >= work->time_max && work->type != -1) { - work->stat |= 0x4; - work->type = -1; - work->angle = 0.0f; - } - if (work->type) { - switch (work->type) { - case 1: { - static s16 letterOfs[] = { -10, -50, 0, -30, 5, -60, -10, 60, 8, -40, 5, 50, -10, 20 }; - - float pos_x; - float time; - s16 i; - s16 j; - if (work->state == 0) { - if (work->time <= 30) { - time = work->time; - for (idx = 0; idx < work->word_len; idx++) { - pos_x = (28.0f + (work->x - (0.5f * (work->scale_x * (work->word_len * 56))))) + (idx * 56); - HuSprPosSet(work->spr_grp[0], idx, pos_x + ((1.0f - (time / 30.0f)) * letterOfs[(idx * 2)]), - work->y + ((1.0f - (time / 30.0f)) * letterOfs[(idx * 2) + 1])); - HuSprTPLvlSet(work->spr_grp[0], idx, time / 30.0f); - } - } - else { - if (work->time > 40 && work->time <= 60) { - time = work->time - 40; - scale = 0.5 * sind(time * 9.0f); - for (j = 0; j < work->word_len; j++) { - pos_x = (28.0f * (scale + work->scale_x)) + (work->x - (0.5f * ((work->word_len * 56) * (scale + work->scale_x)))) - + ((j * 56) * (scale + work->scale_x)); - HuSprPosSet(work->spr_grp[0], j, pos_x, work->y); - HuSprScaleSet(work->spr_grp[0], j, work->scale_x + scale, work->scale_y + scale); - } - } - } - if (work->time == 40) { - HuAudFXPlay(36); - work->stat |= 0x10; - } - if (work->time == 60) { - work->stat |= 0x4; - SeqPlayStartFX(); - } - if (work->time >= 60) { - work->type = 0; - } - } - else { - if (work->time == 1) { - if (work->state == 1) { - HuAudFXPlay(37); - } - else { - HuAudFXPlay(40); - } - MGSeqPauseEnableCtrl(0); - work->stat |= 0x10; - } - if (work->time <= 20) { - for (i = 1; i < 4; i++) { - for (j = 0; j < work->word_len; j++) { - HuSprAttrSet(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); - } - } - time = work->time; - scale = work->scale_x + (0.5 * sind(time * 9.0f)); - for (j = 0; j < work->word_len; j++) { - HuSprAttrReset(work->spr_grp[0], j, HUSPR_ATTR_DISPOFF); - pos_x = ((28.0f * scale) + (work->x - (0.5f * (scale * (work->word_len * 56))))) + (scale * (j * 56)); - HuSprPosSet(work->spr_grp[0], j, pos_x, work->y); - HuSprScaleSet(work->spr_grp[0], j, work->scale_x + (sind(time * 9.0f)), - work->scale_y + (sind(time * 9.0f))); - } - if (time == 20.0f) { - for (i = 1; i < 4; i++) { - for (j = 0; j < work->word_len; j++) { - HuSprAttrReset(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); - } - } - } - } - else { - if (work->time > 80 && work->time < 140) { - time = work->time - 80; - for (idx = 0; idx < work->word_len; idx++) { - float radius = (idx * 56) - (((work->word_len - 1) * 56) / 2); - float angle = (1.0f + (1.0f - (ABS(radius) / 320.0f))) * 720.0f; - float new_scale; - radius *= 1.0 - (time / 60.0f); - HuSprPosSet(work->spr_grp[0], idx, (radius * sind((time / 60.0f) * angle + 90.0f)) + work->x, - (radius * cosd((time / 60.0f) * angle + 90.0f)) + work->y); - HuSprZRotSet(work->spr_grp[0], idx, -(time / 60.0f) * 720.0f); - new_scale = 0.5 + (0.5 * (1.0f - (time / 60.0f))); - HuSprScaleSet(work->spr_grp[0], idx, new_scale, new_scale); - HuSprTPLvlSet(work->spr_grp[0], idx, 1.0f - (time / 60.0f)); - } - } - } - if (work->time == 140) { - work->stat |= 0x4; - } - if (work->time >= 150) { - work->type = 0; - work->stat |= 0x8; - } - } - } break; - - case -1: { - work->angle += seqSpeed * 0.1f; - scale = 1.0f - work->angle; - if (scale <= 0.0f) { - scale = 0.0f; - work->type = 0; - work->stat |= 0x8; - if (work->state == 0) { - MGSeqPauseEnableCtrl(1); - } - } - for (idx = 0; idx < work->word_len; idx++) { - HuSprTPLvlSet(work->spr_grp[0], idx, scale); - } - } break; - - default: - - break; - } - } - if (seqDoneF || (work->stat & 0x8)) { - MGSeqSprKill(work); - return 0; - } - return 1; + s16 idx; + float scale; + if(work->param[0] != 0 && work->type != -1) { + switch(work->param[0]) { + case 2: + if(work->param[1] != -1) { + (void)work; //HACK: to introduce extra branch + } else { + work->type = -1; + work->angle = 0.0f; + } + work->param[0] = 0; + break; + + case 1: + work->time_max = work->param[1]; + work->param[0] = 0; + break; + + case 3: + work->type = 1; + work->param[0] = 0; + break; + + default: + work->param[0] = 0; + break; + } + } + if(work->type == 2) { + return 1; + } + work->time += seqSpeed; + if(work->time >= work->time_max && work->type != -1) { + work->stat |= 0x4; + work->type = -1; + work->angle = 0.0f; + } + if(work->type) { + switch(work->type) { + case 1: + { + static s16 letterOfs[] = { + -10, -50, + 0, -30, + 5, -60, + -10, 60, + 8, -40, + 5, 50, + -10, 20 + }; + + float pos_x; + float time; + s16 i; + s16 j; + if(work->state == 0) { + if(work->time <= 30) { + time = work->time; + for(idx=0; idxword_len; idx++) { + pos_x = (28.0f+(work->x-(0.5f*(work->scale_x*(work->word_len*56)))))+(idx*56); + HuSprPosSet(work->spr_grp[0], idx, pos_x+((1.0f-(time/30.0f))*letterOfs[(idx*2)]), work->y+((1.0f-(time/30.0f))*letterOfs[(idx*2)+1])); + HuSprTPLvlSet(work->spr_grp[0], idx, time/30.0f); + } + } else { + if(work->time > 40 && work->time <= 60) { + time = work->time-40; + scale = 0.5*sin(((time*9.0f)*M_PI)/180.0); + for(j=0; jword_len; j++) { + pos_x = (28.0f*(scale+work->scale_x))+(work->x-(0.5f*((work->word_len*56)*(scale+work->scale_x))))+((j*56)*(scale+work->scale_x)); + HuSprPosSet(work->spr_grp[0], j, pos_x, work->y); + HuSprScaleSet(work->spr_grp[0], j, work->scale_x+scale, work->scale_y+scale); + } + } + } + if(work->time == 40) { + HuAudFXPlay(36); + work->stat |= 0x10; + } + if(work->time == 60) { + work->stat |= 0x4; + SeqPlayStartFX(); + } + if(work->time >= 60) { + work->type = 0; + } + } else { + if(work->time == 1) { + if(work->state == 1) { + HuAudFXPlay(37); + } else { + HuAudFXPlay(40); + } + MGSeqPauseEnableCtrl(0); + work->stat |= 0x10; + } + if(work->time <= 20) { + for(i=1; i<4; i++) { + for(j=0; jword_len; j++) { + HuSprAttrSet(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); + } + } + time = work->time; + scale = work->scale_x+(0.5*sin((M_PI*(time*9.0f))/180.0)); + for(j=0; jword_len; j++) { + HuSprAttrReset(work->spr_grp[0], j, HUSPR_ATTR_DISPOFF); + pos_x = ((28.0f*scale)+(work->x-(0.5f*(scale*(work->word_len*56)))))+(scale*(j*56)); + HuSprPosSet(work->spr_grp[0], j, pos_x, work->y); + HuSprScaleSet(work->spr_grp[0], j, work->scale_x+(sin((M_PI*(time*9.0f))/180.0)), work->scale_y+(sin((M_PI*(time*9.0f))/180.0))); + } + if(time == 20.0f) { + for(i=1; i<4; i++) { + for(j=0; jword_len; j++) { + HuSprAttrReset(work->spr_grp[i], j, HUSPR_ATTR_DISPOFF); + } + } + } + } else { + if(work->time > 80 && work->time < 140) { + time = work->time-80; + for(idx=0; idxword_len; idx++) { + float radius = (idx*56)-(((work->word_len-1)*56)/2); + float angle = (1.0f+(1.0f-(ABS(radius)/320.0f)))*720.0f; + float new_scale; + radius *= 1.0-(time/60.0f); + HuSprPosSet(work->spr_grp[0], idx, (radius*sin(M_PI*(((time/60.0f)*angle)+90.0f)/180.0))+work->x, (radius*cos(M_PI*(((time/60.0f)*angle)+90.0f)/180.0))+work->y); + HuSprZRotSet(work->spr_grp[0], idx, -(time/60.0f)*720.0f); + new_scale = 0.5+(0.5*(1.0f-(time/60.0f))); + HuSprScaleSet(work->spr_grp[0], idx, new_scale, new_scale); + HuSprTPLvlSet(work->spr_grp[0], idx, 1.0f-(time/60.0f)); + } + } + } + if(work->time == 140) { + work->stat |= 0x4; + } + if(work->time >= 150) { + work->type = 0; + work->stat |= 0x8; + } + } + } + break; + + case -1: + { + work->angle += seqSpeed*0.1f; + scale = 1.0f-work->angle; + if(scale <= 0.0f) { + scale = 0.0f; + work->type = 0; + work->stat |= 0x8; + if(work->state == 0) { + MGSeqPauseEnableCtrl(1); + } + } + for(idx=0; idxword_len; idx++) { + HuSprTPLvlSet(work->spr_grp[0], idx, scale); + } + } + break; + + default: + + break; + + } + } + if(seqDoneF || (work->stat & 0x8)) { + MGSeqSprKill(work); + return 0; + } + return 1; } -s32 MGSeqInitFlip(SeqWork *work, va_list params) +static s32 SeqInitFlip(SeqWork *work, va_list params) { - s16 i; - s16 word_grp; - s16 word_ofs; - work->state = va_arg(params, int); - if (work->state == 2) { - return MGSeqInitDraw(work, params); - } - work->type = 0; - work->angle = 0; - { - s32 word_ofs_temp; - s32 word_katakana; - s32 word_flag; + s16 i; + s16 word_grp; + s16 word_ofs; + work->state = va_arg(params, int); + if(work->state == 2) { + return SeqInitDraw(work, params); + } + work->type = 0; + work->angle = 0; + { + s32 word_ofs_temp; + s32 word_katakana; + s32 word_flag; - if (seqLanguage == 0) { - word_ofs_temp = 3; - } - else { - word_ofs_temp = 0; - } - word_ofs = word_ofs_temp; - word_katakana = 0; - if (work->state == 2 && word_ofs == 0) { - word_katakana = 1; - } - if (word_katakana) { - word_flag = 1; - } - else { - word_flag = 0; - } - - word_grp = SeqMakeWord(work, wordMgTbl[work->state + word_ofs], word_flag); - } - HuSprGrpPosSet(work->spr_grp[word_grp], 0.0f, 0.0f); - for (i = 0; i < work->word_len; i++) { - HuSprTPLvlSet(work->spr_grp[word_grp], i, 0.0f); - HuSprPosSet(work->spr_grp[word_grp], i, (28.0f + (work->x - (0.5f * (work->word_len * 56)))) + (i * 56), work->y); - HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); - HuSprAttrReset(work->spr_grp[word_grp], i, HUSPR_ATTR_DISPOFF); - } - work->alt_word_len = work->word_len; - { - s32 word_ofs_temp; - s32 word_katakana; - s32 word_flag; - - if (seqLanguage == 0) { - word_ofs_temp = 0; - } - else { - word_ofs_temp = 3; - } - word_ofs = word_ofs_temp; - word_katakana = 0; - if (work->state == 2 && word_ofs == 0) { - word_katakana = 1; - } - if (word_katakana) { - word_flag = 1; - } - else { - word_flag = 0; - } - - word_grp = SeqMakeWord(work, wordMgTbl[work->state + word_ofs], word_flag); - } - HuSprGrpPosSet(work->spr_grp[word_grp], 0.0f, 0.0f); - for (i = 0; i < work->word_len; i++) { - HuSprTPLvlSet(work->spr_grp[word_grp], i, 0.0f); - HuSprPosSet(work->spr_grp[word_grp], i, (28.0f + (work->x - (0.5f * (work->word_len * 56)))) + (i * 56), work->y); - HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); - HuSprAttrReset(work->spr_grp[word_grp], i, HUSPR_ATTR_DISPOFF); - } - if (seqPauseF) { - work->type = 2; - HuSprAttrSet(word_grp, 0, HUSPR_ATTR_DISPOFF); - } - else { - work->param[0] = 3; - } - return 1; + if(seqLanguage == 0) { + word_ofs_temp = 3; + } else { + word_ofs_temp = 0; + } + word_ofs = word_ofs_temp; + word_katakana = 0; + if(work->state == 2 && word_ofs == 0) { + word_katakana = 1; + } + if(word_katakana) { + word_flag = 1; + } else { + word_flag = 0; + } + + word_grp = SeqMakeWord(work, wordMgTbl[work->state+word_ofs], word_flag); + } + HuSprGrpPosSet(work->spr_grp[word_grp], 0.0f, 0.0f); + for(i=0; iword_len; i++) { + HuSprTPLvlSet(work->spr_grp[word_grp], i, 0.0f); + HuSprPosSet(work->spr_grp[word_grp], i, (28.0f+(work->x-(0.5f*(work->word_len*56))))+(i*56), work->y); + HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); + HuSprAttrReset(work->spr_grp[word_grp], i, HUSPR_ATTR_DISPOFF); + } + work->alt_word_len = work->word_len; + { + s32 word_ofs_temp; + s32 word_katakana; + s32 word_flag; + + if(seqLanguage == 0) { + word_ofs_temp = 0; + } else { + word_ofs_temp = 3; + } + word_ofs = word_ofs_temp; + word_katakana = 0; + if(work->state == 2 && word_ofs == 0) { + word_katakana = 1; + } + if(word_katakana) { + word_flag = 1; + } else { + word_flag = 0; + } + + word_grp = SeqMakeWord(work, wordMgTbl[work->state+word_ofs], word_flag); + } + HuSprGrpPosSet(work->spr_grp[word_grp], 0.0f, 0.0f); + for(i=0; iword_len; i++) { + HuSprTPLvlSet(work->spr_grp[word_grp], i, 0.0f); + HuSprPosSet(work->spr_grp[word_grp], i, (28.0f+(work->x-(0.5f*(work->word_len*56))))+(i*56), work->y); + HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); + HuSprAttrReset(work->spr_grp[word_grp], i, HUSPR_ATTR_DISPOFF); + } + if(seqPauseF) { + work->type = 2; + HuSprAttrSet(word_grp, 0, HUSPR_ATTR_DISPOFF); + } else { + work->param[0] = 3; + } + return 1; } -s32 MGSeqUpdateFlip(SeqWork *work) +static s32 SeqUpdateFlip(SeqWork *work) { - s16 idx; - float scale; - if (work->param[0] != 0 && work->type != -1) { - switch (work->param[0]) { - case 2: - if (work->param[1] != -1) { - (void)work; // HACK: to introduce extra branch - } - else { - work->type = -1; - work->angle = 0.0f; - } - work->param[0] = 0; - break; - - case 1: - work->time_max = work->param[1]; - work->param[0] = 0; - break; - - case 3: - work->type = 1; - work->param[0] = 0; - break; - - default: - work->param[0] = 0; - break; - } - } - if (work->type == 2) { - return 1; - } - work->time += seqSpeed; - if (work->time >= work->time_max && work->type != -1) { - work->stat |= 0x4; - work->type = -1; - work->angle = 0.0f; - } - if (work->type) { - switch (work->type) { - case 1: { - float time; - float pos_x; - s16 i; - if (work->state == 0) { - if (work->time <= 10) { - for (idx = 0; idx < work->alt_word_len; idx++) { - HuSprTPLvlSet(work->spr_grp[0], idx, work->time / 10.0f); - } - } - else { - if (work->time <= 30) { - time = work->time - 10; - if (time <= 10) { - for (idx = 0; idx < work->alt_word_len; idx++) { - HuSprScaleSet(work->spr_grp[0], idx, cosd((time / 10.0f) * 90.0f), 1.0f); - } - } - else { - time -= 10.0f; - for (idx = 0; idx < work->word_len; idx++) { - HuSprTPLvlSet(work->spr_grp[1], idx, 1.0f); - HuSprScaleSet(work->spr_grp[1], idx, sind((time / 10.0f) * 90.0f), 1.0f); - } - } - } - else { - if (work->time > 35 && work->time <= 55) { - time = work->time - 35; - scale = 0.5 * sind(time * 9.0f); - for (i = 0; i < work->word_len; i++) { - pos_x = (28.0f * (scale + work->scale_x)) + (work->x - (0.5f * ((work->word_len * 56) * (scale + work->scale_x)))) - + ((i * 56) * (scale + work->scale_x)); - HuSprPosSet(work->spr_grp[1], i, pos_x, work->y); - HuSprScaleSet(work->spr_grp[1], i, work->scale_x + scale, work->scale_y + scale); - } - } - } - } - if (work->time == 35) { - HuAudFXPlay(36); - work->stat |= 0x10; - } - if (work->time == 55) { - work->stat |= 0x4; - SeqPlayStartFX(); - } - if (work->time >= 75) { - work->type = 0; - } - } - else { - if (work->time == 1) { - if (work->state == 1) { - HuAudFXPlay(37); - } - else { - HuAudFXPlay(40); - } - MGSeqPauseEnableCtrl(0); - work->stat |= 0x10; - } - if (work->time <= 20) { - time = work->time; - scale = 0.5 * sind(9.0f * time); - for (i = 0; i < work->word_len; i++) { - HuSprTPLvlSet(work->spr_grp[1], i, 1.0f); - pos_x = (28.0f * (scale + work->scale_x)) + (work->x - (0.5f * ((work->word_len * 56) * (scale + work->scale_x)))) - + ((i * 56) * (scale + work->scale_x)); - HuSprPosSet(work->spr_grp[1], i, pos_x, work->y); - HuSprScaleSet(work->spr_grp[1], i, work->scale_x + scale, work->scale_y + scale); - } - } - else { - if (work->time > 80 && work->time <= 160) { - time = work->time - 80; - for (idx = 0; idx < work->word_len; idx++) { - scale = time - (idx * 2); - if (scale < 0 || scale > 15.0f) { - continue; - } - HuSprScaleSet(work->spr_grp[1], idx, cosd((scale / 15.0f) * 90.0f), 1.0f); - } - for (idx = 0; idx < work->alt_word_len; idx++) { - scale = (time - 15.0f) - (idx * 2); - if (scale < 0 || scale > 30.0f) { - continue; - } - HuSprTPLvlSet(work->spr_grp[0], idx, 1.0f); - HuSprScaleSet(work->spr_grp[0], idx, sind((scale / 30.0f) * 180.0f), 1.0f); - } - } - } - if (work->time == 160) { - work->stat |= 0x4; - } - if (work->time >= 160) { - work->type = 0; - work->stat |= 0x8; - } - } - } break; - - case -1: { - work->angle += seqSpeed * 0.1f; - scale = 1.0f - work->angle; - if (scale <= 0.0f) { - scale = 0.0f; - work->type = 0; - work->stat |= 0x8; - if (work->state == 0) { - MGSeqPauseEnableCtrl(1); - } - } - for (idx = 0; idx < work->word_len; idx++) { - HuSprTPLvlSet(work->spr_grp[1], idx, scale); - } - } break; - - default: - break; - } - } - if (seqDoneF || (work->stat & 0x8)) { - MGSeqSprKill(work); - return 0; - } - return 1; + s16 idx; + float scale; + if(work->param[0] != 0 && work->type != -1) { + switch(work->param[0]) { + case 2: + if(work->param[1] != -1) { + (void)work; //HACK: to introduce extra branch + } else { + work->type = -1; + work->angle = 0.0f; + } + work->param[0] = 0; + break; + + case 1: + work->time_max = work->param[1]; + work->param[0] = 0; + break; + + case 3: + work->type = 1; + work->param[0] = 0; + break; + + default: + work->param[0] = 0; + break; + } + } + if(work->type == 2) { + return 1; + } + work->time += seqSpeed; + if(work->time >= work->time_max && work->type != -1) { + work->stat |= 0x4; + work->type = -1; + work->angle = 0.0f; + } + if(work->type) { + switch(work->type) { + case 1: + { + float time; + float pos_x; + s16 i; + if(work->state == 0) { + if(work->time <= 10) { + for(idx=0; idxalt_word_len; idx++) { + HuSprTPLvlSet(work->spr_grp[0], idx, work->time/10.0f); + } + } else { + if(work->time <= 30) { + time = work->time-10; + if(time <= 10) { + for(idx=0; idxalt_word_len; idx++) { + HuSprScaleSet(work->spr_grp[0], idx, cos(M_PI*((time/10.0f)*90.0f)/180.0), 1.0f); + } + } else { + time -= 10.0f; + for(idx=0; idxword_len; idx++) { + HuSprTPLvlSet(work->spr_grp[1], idx, 1.0f); + HuSprScaleSet(work->spr_grp[1], idx, sin(M_PI*((time/10.0f)*90.0f)/180.0), 1.0f); + } + } + } else { + if(work->time > 35 && work->time <= 55) { + time = work->time-35; + scale = 0.5*sin(((time*9.0f)*M_PI)/180.0); + for(i=0; iword_len; i++) { + pos_x = (28.0f*(scale+work->scale_x))+(work->x-(0.5f*((work->word_len*56)*(scale+work->scale_x))))+((i*56)*(scale+work->scale_x)); + HuSprPosSet(work->spr_grp[1], i, pos_x, work->y); + HuSprScaleSet(work->spr_grp[1], i, work->scale_x+scale, work->scale_y+scale); + } + } + } + } + if(work->time == 35) { + HuAudFXPlay(36); + work->stat |= 0x10; + } + if(work->time == 55) { + work->stat |= 0x4; + SeqPlayStartFX(); + } + if(work->time >= 75) { + work->type = 0; + } + } else { + if(work->time == 1) { + if(work->state == 1) { + HuAudFXPlay(37); + } else { + HuAudFXPlay(40); + } + MGSeqPauseEnableCtrl(0); + work->stat |= 0x10; + } + if(work->time <= 20) { + time = work->time; + scale = 0.5*sin(M_PI*(9.0f*time)/180.0); + for(i=0; iword_len; i++) { + HuSprTPLvlSet(work->spr_grp[1], i, 1.0f); + pos_x = (28.0f*(scale+work->scale_x))+(work->x-(0.5f*((work->word_len*56)*(scale+work->scale_x))))+((i*56)*(scale+work->scale_x)); + HuSprPosSet(work->spr_grp[1], i, pos_x, work->y); + HuSprScaleSet(work->spr_grp[1], i, work->scale_x+scale, work->scale_y+scale); + } + } else { + if(work->time > 80 && work->time <= 160) { + time = work->time-80; + for(idx=0; idxword_len; idx++) { + scale = time-(idx*2); + if(scale < 0 || scale > 15.0f) { + continue; + } + HuSprScaleSet(work->spr_grp[1], idx, cos(M_PI*((scale/15.0f)*90.0f)/180.0), 1.0f); + } + for(idx=0; idxalt_word_len; idx++) { + scale = (time-15.0f)-(idx*2); + if(scale < 0 || scale > 30.0f) { + continue; + } + HuSprTPLvlSet(work->spr_grp[0], idx, 1.0f); + HuSprScaleSet(work->spr_grp[0], idx, sin(M_PI*((scale/30.0f)*180.0f)/180.0), 1.0f); + } + } + } + if(work->time == 160) { + work->stat |= 0x4; + } + if(work->time >= 160) { + work->type = 0; + work->stat |= 0x8; + } + } + } + break; + + case -1: + { + work->angle += seqSpeed*0.1f; + scale = 1.0f-work->angle; + if(scale <= 0.0f) { + scale = 0.0f; + work->type = 0; + work->stat |= 0x8; + if(work->state == 0) { + MGSeqPauseEnableCtrl(1); + } + } + for(idx=0; idxword_len; idx++) { + HuSprTPLvlSet(work->spr_grp[1], idx, scale); + } + } + break; + + default: + break; + } + } + if(seqDoneF || (work->stat & 0x8)) { + MGSeqSprKill(work); + return 0; + } + return 1; } -s32 MGSeqUpdateMGBowser(SeqWork *work) +static s32 SeqUpdateMGBowser(SeqWork *work) { - s16 idx; - float scale; - if (work->param[0] != 0 && work->type != -1) { - switch (work->param[0]) { - case 2: - if (work->param[1] != -1) { - (void)work; // HACK: to introduce extra branch - } - else { - work->type = -1; - work->angle = 0.0f; - } - work->param[0] = 0; - break; - - case 1: - work->time_max = work->param[1]; - work->param[0] = 0; - break; - - case 3: - work->type = 1; - work->param[0] = 0; - break; - - default: - work->param[0] = 0; - break; - } - } - if (work->type == 2) { - return 1; - } - work->time += seqSpeed; - if (work->time >= work->time_max && work->type != -1) { - work->stat |= 0x4; - work->type = -1; - work->angle = 0.0f; - } - if (work->type) { - switch (work->type) { - case 1: { - s16 i; - s16 j; - float angle; - float time_angle; - float time; - float pos_x, pos_y; - - float temp_f25; - float center_x; - s16 spr_idx[16]; - float scale_arr[16]; - - if (work->state == 0) { - if (work->time <= 60) { - center_x = (0.5 * (work->word_len * 56)) + 20.0; - for (idx = 0; idx < work->word_len; idx++) { - time = work->time - idx; - if (time < 0) { - scale_arr[idx] = 0.0f; - spr_idx[idx] = idx; - } - else { - if (time > 50.0f) { - time = 50.0f; - } - time_angle = 540.0 * (1.0f - (time / 50.0f)); - pos_x = (28.0f + (0.5f * -(work->word_len * 56))) + (idx * 56); - angle = atan2d(pos_x, center_x); - pos_x = work->x + (center_x * sind(angle + time_angle)); - pos_y = work->y - (HU_DISP_CENTERY * (1.0 - (time / 50.0f))); - HuSprPosSet(work->spr_grp[0], idx, pos_x, pos_y); - temp_f25 = 0.9 + (0.1 * cosd(angle + time_angle)); - HuSprScaleSet(work->spr_grp[0], idx, temp_f25 * cosd(angle + time_angle), temp_f25); - scale_arr[idx] = cosd(angle + time_angle); - spr_idx[idx] = idx; - } - } - for (i = 1; i < work->word_len; i++) { - for (idx = 0; idx < work->word_len - i; idx++) { - if (scale_arr[idx] > scale_arr[idx + 1]) { - j = spr_idx[idx]; - spr_idx[idx] = spr_idx[idx + 1]; - spr_idx[idx + 1] = j; - angle = scale_arr[idx]; - scale_arr[idx] = scale_arr[idx + 1]; - scale_arr[idx + 1] = angle; - } - } - } - for (idx = 0; idx < work->word_len; idx++) { - HuSprPriSet(work->spr_grp[0], spr_idx[idx], idx + 5); - } - } - else { - if (work->time > 60 && work->time <= 80) { - time = work->time - 60; - scale = 0.5 * sind(time * 9.0f); - for (i = 0; i < work->word_len; i++) { - pos_x = (28.0f * (scale + work->scale_x)) + (work->x - (0.5f * ((work->word_len * 56) * (scale + work->scale_x)))) - + ((i * 56) * (scale + work->scale_x)); - HuSprPosSet(work->spr_grp[0], i, pos_x, work->y); - HuSprScaleSet(work->spr_grp[0], i, work->scale_x + scale, work->scale_y + scale); - } - } - } - if (work->time == 60) { - HuAudFXPlay(36); - work->stat |= 0x10; - } - if (work->time == 80) { - work->stat |= 0x4; - SeqPlayStartFX(); - } - if (work->time >= 100) { - work->type = 0; - } - } - else { - if (work->time == 1) { - if (work->state == 1) { - HuAudFXPlay(37); - } - else { - HuAudFXPlay(40); - } - MGSeqPauseEnableCtrl(0); - work->stat |= 0x10; - } - if (work->time <= 20) { - for (j = 1; j < 4; j++) { - for (i = 0; i < work->word_len; i++) { - HuSprAttrSet(work->spr_grp[j], i, HUSPR_ATTR_DISPOFF); - } - } - time = work->time; - scale = work->scale_x + (0.5 * sind(time * 9.0f)); - for (i = 0; i < work->word_len; i++) { - HuSprAttrReset(work->spr_grp[0], i, HUSPR_ATTR_DISPOFF); - pos_x = ((28.0f * scale) + (work->x - (0.5f * (scale * (work->word_len * 56))))) + (scale * (i * 56)); - HuSprPosSet(work->spr_grp[0], i, pos_x, work->y); - HuSprScaleSet(work->spr_grp[0], i, work->scale_x + (sind(time * 9.0f)), - work->scale_y + sind(time * 9.0f)); - } - if (time == 20.0f) { - for (j = 1; j < 4; j++) { - for (i = 0; i < work->word_len; i++) { - HuSprAttrReset(work->spr_grp[j], i, HUSPR_ATTR_DISPOFF); - } - } - } - } - else { - if (work->time > 80 && work->time <= 125) { - static float letterOfs[] = { - -30, - -30, - HU_DISP_WIDTH + 30, - -30, - HU_DISP_CENTERX + 52, - HU_DISP_HEIGHT + 30, - HU_DISP_WIDTH + 30, - HU_DISP_HEIGHT + 30, - -30, - HU_DISP_HEIGHT - 30, - HU_DISP_WIDTH + 30, - 120, - HU_DISP_CENTERX + 162, - -30, - }; - for (i = 0; i < 4; i++) { - time = work->time - 80 - i; - if (time < 0.0f || time > 15.0f) { - continue; - } - for (idx = 0; idx < work->word_len; idx++) { - pos_x = (28.0f + (work->x - (0.5f * (work->word_len * 56)))) + (idx * 56); - pos_x += (time / 15.0f) * (letterOfs[(idx * 2)] - pos_x); - pos_y = work->y + ((time / 15.0f) * (letterOfs[(idx * 2) + 1] - work->y)); - HuSprPosSet(work->spr_grp[i], idx, pos_x, pos_y); - } - } - } - } - if (work->time == 125) { - work->stat |= 0x4; - } - if (work->time >= 135) { - work->type = 0; - work->stat |= 0x8; - } - } - } break; - - case -1: { - work->angle += seqSpeed * 0.1f; - scale = 1.0f - work->angle; - if (scale <= 0.0f) { - scale = 0.0f; - work->type = 0; - work->stat |= 0x8; - if (work->state == 0) { - MGSeqPauseEnableCtrl(1); - } - } - for (idx = 0; idx < work->word_len; idx++) { - HuSprTPLvlSet(work->spr_grp[0], idx, scale); - } - } break; - - default: - break; - } - } - if (seqDoneF || (work->stat & 0x8)) { - MGSeqSprKill(work); - return 0; - } - return 1; + s16 idx; + float scale; + if(work->param[0] != 0 && work->type != -1) { + switch(work->param[0]) { + case 2: + if(work->param[1] != -1) { + (void)work; //HACK: to introduce extra branch + } else { + work->type = -1; + work->angle = 0.0f; + } + work->param[0] = 0; + break; + + case 1: + work->time_max = work->param[1]; + work->param[0] = 0; + break; + + case 3: + work->type = 1; + work->param[0] = 0; + break; + + default: + work->param[0] = 0; + break; + } + } + if(work->type == 2) { + return 1; + } + work->time += seqSpeed; + if(work->time >= work->time_max && work->type != -1) { + work->stat |= 0x4; + work->type = -1; + work->angle = 0.0f; + } + if(work->type) { + switch(work->type) { + case 1: + { + s16 i; + s16 j; + float angle; + float time_angle; + float time; + float pos_x, pos_y; + + float temp_f25; + float center_x; + s16 spr_idx[16]; + float scale_arr[16]; + + + if(work->state == 0) { + if(work->time <= 60) { + center_x = (0.5*(work->word_len*56))+20.0; + for(idx=0; idxword_len; idx++) { + time = work->time-idx; + if(time < 0) { + scale_arr[idx] = 0.0f; + spr_idx[idx] = idx; + } else { + if(time > 50.0f) { + time = 50.0f; + } + time_angle = 540.0*(1.0f-(time/50.0f)); + pos_x = (28.0f+(0.5f*-(work->word_len*56)))+(idx*56); + angle = 180.0*(atan2(pos_x, center_x)/M_PI); + pos_x = work->x+(center_x*sin(M_PI*(angle+time_angle)/180.0)); + pos_y = work->y-(240.0*(1.0-(time/50.0f))); + HuSprPosSet(work->spr_grp[0], idx, pos_x, pos_y); + temp_f25 = 0.9+(0.1*cos(M_PI*(angle+time_angle)/180.0)); + HuSprScaleSet(work->spr_grp[0], idx, temp_f25*cos(M_PI*(angle+time_angle)/180.0), temp_f25); + scale_arr[idx] = cos(M_PI*(angle+time_angle)/180.0); + spr_idx[idx] = idx; + } + } + for(i=1; iword_len; i++) { + for(idx=0; idxword_len-i; idx++) { + if(scale_arr[idx] > scale_arr[idx+1]) { + j= spr_idx[idx]; + spr_idx[idx] = spr_idx[idx+1]; + spr_idx[idx+1] = j; + angle = scale_arr[idx]; + scale_arr[idx] = scale_arr[idx+1]; + scale_arr[idx+1] = angle; + } + } + } + for(idx=0; idxword_len; idx++) { + HuSprPriSet(work->spr_grp[0], spr_idx[idx], idx+5); + } + } else { + if(work->time > 60 && work->time <= 80) { + time = work->time-60; + scale = 0.5*sin(((time*9.0f)*M_PI)/180.0); + for(i=0; iword_len; i++) { + pos_x = (28.0f*(scale+work->scale_x))+(work->x-(0.5f*((work->word_len*56)*(scale+work->scale_x))))+((i*56)*(scale+work->scale_x)); + HuSprPosSet(work->spr_grp[0], i, pos_x, work->y); + HuSprScaleSet(work->spr_grp[0], i, work->scale_x+scale, work->scale_y+scale); + } + } + + } + if(work->time == 60) { + HuAudFXPlay(36); + work->stat |= 0x10; + } + if(work->time == 80) { + work->stat |= 0x4; + SeqPlayStartFX(); + } + if(work->time >= 100) { + work->type = 0; + } + } else { + if(work->time == 1) { + if(work->state == 1) { + HuAudFXPlay(37); + } else { + HuAudFXPlay(40); + } + MGSeqPauseEnableCtrl(0); + work->stat |= 0x10; + } + if(work->time <= 20) { + for(j=1; j<4; j++) { + for(i=0; iword_len; i++) { + HuSprAttrSet(work->spr_grp[j], i, HUSPR_ATTR_DISPOFF); + } + } + time = work->time; + scale = work->scale_x+(0.5*sin(((time*9.0f)*M_PI)/180.0)); + for(i=0; iword_len; i++) { + HuSprAttrReset(work->spr_grp[0], i, HUSPR_ATTR_DISPOFF); + pos_x = ((28.0f*scale)+(work->x-(0.5f*(scale*(work->word_len*56)))))+(scale*(i*56)); + HuSprPosSet(work->spr_grp[0], i, pos_x, work->y); + HuSprScaleSet(work->spr_grp[0], i, work->scale_x+(sin((M_PI*(time*9.0f))/180.0)), work->scale_y+(sin((M_PI*(time*9.0f))/180.0))); + } + if(time == 20.0f) { + for(j=1; j<4; j++) { + for(i=0; iword_len; i++) { + HuSprAttrReset(work->spr_grp[j], i, HUSPR_ATTR_DISPOFF); + } + } + } + } else { + if(work->time > 80 && work->time <= 125) { + static float letterOfs[] = { + -30, -30, + 606, -30, + 340, 510, + 606, 510, + -30, 450, + 606, 120, + 450, -30, + }; + for(i=0; i<4; i++) { + time = work->time-80-i; + if(time < 0.0f || time > 15.0f) { + continue; + } + for(idx=0; idxword_len; idx++) { + pos_x = (28.0f+(work->x-(0.5f*(work->word_len*56))))+(idx*56); + pos_x += (time/15.0f)*(letterOfs[(idx*2)]-pos_x); + pos_y = work->y+((time/15.0f)*(letterOfs[(idx*2)+1]-work->y)); + HuSprPosSet(work->spr_grp[i], idx, pos_x, pos_y); + } + } + } + } + if(work->time == 125) { + work->stat |= 0x4; + } + if(work->time >= 135) { + work->type = 0; + work->stat |= 0x8; + } + } + } + break; + + case -1: + { + work->angle += seqSpeed*0.1f; + scale = 1.0f-work->angle; + if(scale <= 0.0f) { + scale = 0.0f; + work->type = 0; + work->stat |= 0x8; + if(work->state == 0) { + MGSeqPauseEnableCtrl(1); + } + } + for(idx=0; idxword_len; idx++) { + HuSprTPLvlSet(work->spr_grp[0], idx, scale); + } + } + break; + + default: + break; + } + } + if(seqDoneF || (work->stat & 0x8)) { + MGSeqSprKill(work); + return 0; + } + return 1; } -s32 MGSeqInitDraw(SeqWork *work, va_list params) +static s32 SeqInitDraw(SeqWork *work, va_list params) { - s16 word_grp; - work->state = 2; - work->seq_no = 13; - work->type = 0; - work->angle = 0.0f; - { - s32 word_flag; - s32 word_ofs; + s16 word_grp; + work->state = 2; + work->seq_no = 13; + work->type = 0; + work->angle = 0.0f; + { + s32 word_flag; + s32 word_ofs; - if (seqLanguage == 0) { - word_flag = 1; - } - else { - word_flag = 0; - } - if (seqLanguage == 0) { - word_ofs = 0; - } - else { - word_ofs = 3; - } - - word_grp = SeqMakeWord(work, wordMgTbl[2 + word_ofs], word_flag); - } - HuSprGrpPosSet(work->spr_grp[word_grp], HU_DISP_CENTERX, HU_DISP_CENTERY); - work->param[0] = 3; - return 1; + if(seqLanguage == 0) { + word_flag = 1; + } else { + word_flag = 0; + } + if(seqLanguage == 0) { + word_ofs = 0; + } else { + word_ofs = 3; + } + + word_grp = SeqMakeWord(work, wordMgTbl[2+word_ofs], word_flag); + } + HuSprGrpPosSet(work->spr_grp[word_grp], 288.0f, 240.0f); + work->param[0] = 3; + return 1; } -s32 MGSeqUpdateDraw(SeqWork *work) +static s32 SeqUpdateDraw(SeqWork *work) { - s16 idx; - float scale; - s16 group = work->spr_grp[0]; - if (work->param[0] != 0 && work->type != -1) { - switch (work->param[0]) { - case 2: - if (work->param[1] != -1) { - (void)work; // HACK: to introduce extra branch - } - else { - work->type = -1; - work->angle = 0.0f; - } - work->param[0] = 0; - break; - - case 1: - work->time_max = work->param[1]; - work->param[0] = 0; - break; - - case 3: - work->type = 1; - work->param[0] = 0; - break; - - default: - work->param[0] = 0; - break; - } - } - work->time += seqSpeed; - if (work->time >= work->time_max && work->type != -1) { - work->stat |= 0x4; - work->type = -1; - work->angle = 0.0f; - } - if (work->type) { - switch (work->type) { - case 1: { - float time; - float scale; - float zrot; - if (work->time <= 20) { - time = work->time; - zrot = 365.0f * (time / 20.0f); - scale = 1.3f * sind(90.0f * (time / 20.0f)); - HuSprGrpScaleSet(group, scale, scale); - HuSprGrpZRotSet(group, zrot); - } - if (work->time > 20 && work->time <= 25) { - HuSprGrpZRotSet(group, 0.0f); - time = work->time - 20; - scale = 1.0 + (0.3 * cosd(90.0f * (time / 5.0f))); - HuSprGrpScaleSet(group, scale, scale); - } - if (work->time == 5) { - HuAudFXPlay(40); - } - if (work->time == 60) { - work->type = 0; - } - } break; - - case -1: { - float tp_lvl; - work->angle += seqSpeed * 0.1f; - tp_lvl = 1.0f - work->angle; - if (tp_lvl <= 0.0f) { - tp_lvl = 0.0f; - work->state = 0; - work->stat |= 0x8; - } - HuSprGrpTPLvlSet(group, tp_lvl); - } break; - - default: - break; - } - } - if (seqDoneF || (work->stat & 0x8)) { - MGSeqSprKill(work); - return 0; - } - return 1; + s16 idx; + float scale; + s16 group = work->spr_grp[0]; + if(work->param[0] != 0 && work->type != -1) { + switch(work->param[0]) { + case 2: + if(work->param[1] != -1) { + (void)work; //HACK: to introduce extra branch + } else { + work->type = -1; + work->angle = 0.0f; + } + work->param[0] = 0; + break; + + case 1: + work->time_max = work->param[1]; + work->param[0] = 0; + break; + + case 3: + work->type = 1; + work->param[0] = 0; + break; + + default: + work->param[0] = 0; + break; + } + } + work->time += seqSpeed; + if(work->time >= work->time_max && work->type != -1) { + work->stat |= 0x4; + work->type = -1; + work->angle = 0.0f; + } + if(work->type) { + switch(work->type) { + case 1: + { + float time; + float scale; + float zrot; + if(work->time <= 20) { + time = work->time; + zrot = 365.0f*(time/20.0f); + scale = 1.3f*sin(M_PI*(90.0f*(time/20.0f))/180.0); + HuSprGrpScaleSet(group, scale, scale); + HuSprGrpZRotSet(group, zrot); + } + if(work->time > 20 && work->time <= 25) { + HuSprGrpZRotSet(group, 0.0f); + time = work->time-20; + scale = 1.0+(0.3*cos(M_PI*(90.0f*(time/5.0f))/180.0)); + HuSprGrpScaleSet(group, scale, scale); + } + if(work->time == 5) { + HuAudFXPlay(40); + } + if(work->time == 60) { + work->type = 0; + } + } + break; + + case -1: + { + float tp_lvl; + work->angle += seqSpeed*0.1f; + tp_lvl = 1.0f-work->angle; + if(tp_lvl <= 0.0f) { + tp_lvl = 0.0f; + work->state = 0; + work->stat |= 0x8; + } + HuSprGrpTPLvlSet(group, tp_lvl); + } + break; + + default: + break; + } + } + if(seqDoneF || (work->stat & 0x8)) { + MGSeqSprKill(work); + return 0; + } + return 1; } static char *winCharNameTbl[] = { - "マリオ", - "MARIO", - "ルイージ", - "LUIGI", - "ピーチ", - "PEACH", - "ヨッシー", - "YOSHI", - "ワリオ", - "WARIO", - "ドンキー", - VERSION_JP ? "DK" : " DK ", - "デイジー", - "DAISY", - "ワルイージ", - "WALUIGI", - "クッパ", - "BOWSER", - "キノピオ", - "TOAD", - "ヘイホー", - VERSION_JP ? "HEHOH" : "SHY GUY", - "テレサ", - VERSION_JP ? "TERETHA" : "BOO", - "ノコノコ", - VERSION_JP ? "NOKONOKO" : "KOOPA", - "ミニクッパ", - VERSION_NTSC ? (VERSION_ENG ? "KOOPA KID" : "BABYBOWSER") : "MINI BOWSER", - "クリボー", - VERSION_JP ? "KURIBO" : "GOOMBA", + "マリオ", + "MARIO", + "ルイージ", + "LUIGI", + "ピーチ", + "PEACH", + "ヨッシー", + "YOSHI", + "ワリオ", + "WARIO", + "ドンキー", + " DK ", + "デイジー", + "DAISY", + "ワルイージ", + "WALUIGI", + "クッパ", + "BOWSER", + "キノピオ", + "TOAD", + "ヘイホー", + "SHY GUY", + "テレサ", + "BOO", + "ノコノコ", + "KOOPA", + "ミニクッパ", + "KOOPA KID", + "クリボー", + "GOOMBA" }; -static char *winWordTbl[] = { "カチ", "WON!", "ハイボク", "LOSE", "ユウショウ!", "CHAMPION!" }; +static char *winWordTbl[] = { + "カチ", + "WON!", + "ハイボク", + "LOSE", + "ユウショウ!", + "CHAMPION!" +}; static s16 winPosOfs[][5][2] = { - { { VERSION_JP ? 144 : 114, 0 }, { -144, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }, - { { 0, 35 }, { -144, -35 }, { 144, -35 }, { 0, 0 }, { 0, 0 } }, - { { 0, 105 }, { 0, -105 }, { -144, 0 }, { 144, 0 }, { 0, 0 } }, - { { 0, 105 }, { -144, -105 }, { 144, -105 }, { -144, 0 }, { 144, 0 } }, + { + { 114, 0 }, + { -144, 0 }, + { 0, 0 }, + { 0, 0 }, + { 0, 0 } + }, + { + { 0, 35 }, + { -144, -35 }, + { 144, -35 }, + { 0, 0 }, + { 0, 0 } + }, + { + { 0, 105 }, + { 0, -105 }, + { -144, 0 }, + { 144, 0 }, + { 0, 0 } + }, + { + { 0, 105 }, + { -144, -105 }, + { 144, -105 }, + { -144, 0 }, + { 144, 0 } + } }; static s16 winnerNameW[8]; @@ -2720,925 +2699,850 @@ static s16 winnerNameW[8]; #define GET_LANG_IDX() ((seqLanguage == 0) ? 0 : 1) #define GET_WIN_KANAF() ((seqLanguage == 0) ? 1 : 0) -s32 MGSeqInitWin(SeqWork *work, va_list params) + +static s32 SeqInitWin(SeqWork *work, va_list params) { - int win_type = va_arg(params, int); - s16 word_idx; - s16 word_grp; - s32 i; - s32 j; - s32 num_winners; - float word_w; - float word_x; - if (win_type < 0 && win_type >= 6) { - return 0; - } - if (win_type == 3) { - word_idx = GET_LANG_IDX(); - } - else { - if (win_type == 4) { - word_idx = GET_LANG_IDX() + 2; - } - else { - word_idx = GET_LANG_IDX() + 4; - } - } - word_grp = SeqMakeWord(work, winWordTbl[word_idx], GET_WIN_KANAF()); - winnerNameW[0] = work->word_len * (VERSION_JP ? 56 : 50); -#if !VERSION_JP - for (i = 0; i < work->word_len; i++) { - HuSprPosSet(work->spr_grp[word_grp], i, 25.0f + ((i * 50) - (0.5f * (work->word_len * 50))), 0.0f); - HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); - } -#endif - num_winners = 0; -#if !VERSION_JP - work->win_scale = 1.0f; -#endif - for (j = 0; j < 4; j++) { - int winner = va_arg(params, int); - (void)winner; // to match PAL - if (winner < 0) { - continue; - } - word_grp = SeqMakeWord(work, winCharNameTbl[(winner * 2) + GET_LANG_IDX()], 0); -#if VERSION_ENG - if (seqLanguage != 0) { - char *name = winCharNameTbl[(winner * 2) + GET_LANG_IDX()]; - word_w = 0.0f; - for (i = word_w; i < work->word_len; i++, name++) { - if (*name == ' ') { - word_w += 30.0f; - } - else { - word_w += 50.0f; - } - } - name = winCharNameTbl[(winner * 2) + GET_LANG_IDX()]; - word_x = 0.0f; - for (i = word_x; i < work->word_len; i++, name++) { - HuSprPosSet(work->spr_grp[word_grp], i, 25.0 + (word_x - (0.5 * word_w)), 0.0f); - HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); - if (*name == ' ') { - word_x += 30.0f; - } - else { - word_x += 50.0f; - } - } - if (work->win_scale == 0.6f || winner == 7 || winner == 13 || winner == 10) { - work->win_scale = 0.6f; - } - else { - work->win_scale = 0.75f; - } - winnerNameW[num_winners + 1] = word_w; - } - else if (winner == 7 || winner == 13) { - for (i = 0; i < work->word_len; i++) { - HuSprPosSet(work->spr_grp[word_grp], i, 26.0f + ((i * 52) - (0.5f * (work->word_len * 52))), 0.0f); - HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); - } - work->win_scale = 0.8f; - winnerNameW[num_winners + 1] = work->word_len * 52; - } - else { - work->win_scale = 1.0f; - winnerNameW[num_winners + 1] = work->word_len * 56; - } -#elif VERSION_PAL - for (i = 0; i < work->word_len; i++) { - HuSprPosSet(work->spr_grp[word_grp], i, 25.0f + ((i * 50) - (0.5f * (work->word_len * 50))), 0.0f); - HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); - } - if ((work->win_scale == 0.5f) || (winner == 13)) { - work->win_scale = 0.5f; - } - else if ((work->win_scale == 0.6f) || (winner == 7) || (winner == 10)) { - work->win_scale = 0.6f; - } - else { - work->win_scale = 0.75f; - } - winnerNameW[num_winners + 1] = work->word_len * 50; -#else - if (seqLanguage != 0) { - for (i = 0; i < work->word_len; i++) { - HuSprPosSet(work->spr_grp[word_grp], i, 25.0f + (i * 50 - (0.5f * (work->word_len * 50))), 0.0f); - HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); - } - work->win_scale = 0.75f; - winnerNameW[num_winners + 1] = work->word_len * 50; - } - else if (winner == 7 || winner == 13) { - for (i = 0; i < work->word_len; i++) { - HuSprPosSet(work->spr_grp[word_grp], i, 26.0f + ((i * 52) - (0.5f * (work->word_len * 52))), 0.0f); - HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); - } - work->win_scale = 0.8f; - winnerNameW[num_winners + 1] = work->word_len * 52; - } - else { - work->win_scale = 1.0f; - winnerNameW[num_winners + 1] = work->word_len * 56; - } -#endif - num_winners++; - } - if (num_winners == 0) { - return 0; - } - work->state = 0; - work->word_len = num_winners + 1; - work->angle = 0.0f; - work->type = 0; - for (j = 0; j < num_winners + 1; j++) { - if (num_winners == 1) { -#if VERSION_JP - word_x = 32 + (winnerNameW[1] + winnerNameW[0]); -#else - word_x = 32.0f + ((float)winnerNameW[0] + (winnerNameW[1] * work->win_scale)); -#endif - if (j == 0) { - word_x = (((HU_DISP_WIDTH - word_x) / 2.0f) + (word_x - (winnerNameW[0] / 2))) - HU_DISP_CENTERX; - } - else { - word_x = (((HU_DISP_WIDTH - word_x) / 2.0f) + (winnerNameW[1] / 2)) - HU_DISP_CENTERX; - } - } - else { - if (abs(winPosOfs[num_winners - 1][j][0]) == 144.0f) { -#if VERSION_ENG - if (winnerNameW[j] + 32 < HU_DISP_CENTERX) { - word_x = 176.0f; - } - else { - word_x = 32.0f + ((winnerNameW[j] * work->win_scale) / 2.0f); - } - if (winPosOfs[num_winners - 1][j][0] < 0) { - word_x = -(HU_DISP_CENTERX - word_x); - } - else { - word_x = (HU_DISP_WIDTH - word_x) - HU_DISP_CENTERX; - } -#elif VERSION_PAL - if (32.0f + (work->win_scale * winnerNameW[j]) < HU_DISP_CENTERX) { - word_x = 32.0f + ((winnerNameW[j] * work->win_scale) / 2.0f); - } - else { - word_x = 120.0f; - } - if (winPosOfs[num_winners - 1][j][0] < 0) { - word_x = -word_x; - } -#else - if (32 + winnerNameW[j] < HU_DISP_CENTERX) { - word_x = 32 + winnerNameW[j] / 2; - } - else { - word_x = 120.0f; - } - if (winPosOfs[num_winners - 1][j][0] < 0) { - word_x = -word_x; - } -#endif - } - else { - word_x = winPosOfs[num_winners - 1][j][0]; - } - } - HuSprGrpPosSet(work->spr_grp[j], HU_DISP_CENTERX + word_x, HU_DISP_CENTERY + winPosOfs[num_winners - 1][j][1]); - } - if (seqPauseF) { - work->type = 1; - num_winners++; - for (j = 0; j < num_winners; j++) { - HuSprAttrSet(work->spr_grp[j], 0, HUSPR_ATTR_DISPOFF); - } - } - else { - work->param[0] = 3; - } - return 1; + int win_type = va_arg(params, int); + s16 word_idx; + s16 word_grp; + s32 i; + s32 j; + s32 num_winners; + float word_w; + float word_x; + if(win_type < 0 && win_type >= 6) { + return 0; + } + if(win_type == 3) { + word_idx = GET_LANG_IDX(); + } else { + if(win_type == 4) { + word_idx = GET_LANG_IDX()+2; + } else { + word_idx = GET_LANG_IDX()+4; + } + } + word_grp = SeqMakeWord(work, winWordTbl[word_idx], GET_WIN_KANAF()); + winnerNameW[0] = work->word_len*50; + for(i=0; iword_len; i++) { + HuSprPosSet(work->spr_grp[word_grp], i, 25.0f+((i*50)-(0.5f*(work->word_len*50))), 0.0f); + HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); + } + num_winners = 0; + work->win_scale = 1.0f; + for(j=0; j<4; j++) { + int winner = va_arg(params, int); + if(winner < 0) { + continue; + } + word_grp = SeqMakeWord(work, winCharNameTbl[(winner*2)+GET_LANG_IDX()], 0); + if(seqLanguage != 0) { + char *name = winCharNameTbl[(winner*2)+GET_LANG_IDX()]; + word_w = 0.0f; + for(i=word_w; iword_len; i++, name++) { + if(*name == ' ') { + word_w += 30.0f; + } else { + word_w += 50.0f; + } + } + name = winCharNameTbl[(winner*2)+GET_LANG_IDX()]; + word_x = 0.0f; + for(i=word_x; iword_len; i++, name++) { + HuSprPosSet(work->spr_grp[word_grp], i, 25.0+(word_x-(0.5*word_w)), 0.0f); + HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); + if(*name == ' ') { + word_x += 30.0f; + } else { + word_x += 50.0f; + } + } + if(work->win_scale == 0.6f || winner == 7 || winner == 13 || winner == 10) { + work->win_scale = 0.6f; + } else { + work->win_scale = 0.75f; + } + winnerNameW[num_winners+1] = word_w; + } else { + if(winner == 7 || winner == 13) { + for(i=0;iword_len; i++) { + HuSprPosSet(work->spr_grp[word_grp], i, 26.0f+((i*52)-(0.5f*(work->word_len*52))), 0.0f); + HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); + } + work->win_scale = 0.8f; + winnerNameW[num_winners+1] = work->word_len*52; + } else { + work->win_scale = 1.0f; + winnerNameW[num_winners+1] = work->word_len*56; + } + + } + num_winners++; + } + if(num_winners == 0) { + return 0; + } + work->state = 0; + work->word_len = num_winners+1; + work->angle = 0.0f; + work->type = 0; + for(j=0; jwin_scale)); + if(j == 0) { + word_x = (((576.0f-word_x)/2.0f)+(word_x-(winnerNameW[0]/2)))-288.0f; + } else { + word_x = (((576.0f-word_x)/2.0f)+(winnerNameW[1]/2))-288.0f; + } + } else { + if(abs(winPosOfs[num_winners-1][j][0]) == 144.0f) { + if(winnerNameW[j]+32 < 288.0f) { + word_x = 176.0f; + } else { + word_x = 32.0f+((winnerNameW[j]*work->win_scale)/2.0f); + } + if(winPosOfs[num_winners-1][j][0] < 0) { + word_x = -(288.0f-word_x); + } else { + word_x = (576.0f-word_x)-288.0f; + } + } else { + word_x = winPosOfs[num_winners-1][j][0]; + } + } + HuSprGrpPosSet(work->spr_grp[j], 288.0f+word_x, 240.0f+winPosOfs[num_winners-1][j][1]); + } + if(seqPauseF) { + work->type = 1; + num_winners++; + for(j=0; jspr_grp[j], 0, HUSPR_ATTR_DISPOFF); + } + } else { + work->param[0] = 3; + } + return 1; } -s32 MGSeqUpdateWin(SeqWork *work) + +static s32 SeqUpdateWin(SeqWork *work) { - s32 idx; - float tp_lvl; - s16 group = work->spr_grp[0]; - if (work->param[0] != 0 && work->type != -1) { - switch (work->param[0]) { - case 2: - if (work->param[1] != -1) { - (void)work; // HACK: to introduce extra branch - } - else { - work->type = -1; - work->angle = 0.0f; - } - work->param[0] = 0; - break; - - case 1: - work->time_max = work->param[1]; - work->param[0] = 0; - break; - - case 3: - work->type = 1; - work->param[0] = 0; - break; - - default: - work->param[0] = 0; - break; - } - } - work->time += seqSpeed; - if (work->time >= work->time_max && work->type != -1) { - work->stat |= 0x4; - work->type = -1; - work->angle = 0.0f; - } - if (work->type) { - switch (work->type) { - case 1: { - float time; - float scale; - float zrot; - if (work->time <= 20) { - time = work->time; - zrot = 365.0f * (time / 20.0f); - scale = sind(90.0f * (time / 20.0f)); - HuSprGrpScaleSet(work->spr_grp[0], scale, scale); - HuSprGrpZRotSet(work->spr_grp[0], zrot); - scale = 1.0 + (5.0 * cosd(90.0f * (time / 20.0f))); - tp_lvl = time / 20.0f; - for (idx = 1; idx < work->word_len; idx++) { - HuSprGrpTPLvlSet(work->spr_grp[idx], tp_lvl); - HuSprGrpScaleSet(work->spr_grp[idx], scale * work->win_scale, scale); - } - } - if (work->time > 20 && work->time <= 22) { - HuSprGrpZRotSet(work->spr_grp[0], 0.0f); - for (idx = 1; idx < work->word_len; idx++) { - float pos_x; - float ofs[2]; - if (work->time == 21) { - ofs[0] = ((idx & 0x1) * 2) - 1; - ofs[1] = (idx & 0x2) ? 2 : -1; - } - else { - ofs[0] = ofs[1] = 0.0f; - } - if (work->word_len == 2) { - pos_x = winnerNameW[1] + winnerNameW[0] + 32; - pos_x = (((HU_DISP_WIDTH - pos_x) / 2.0f) + (winnerNameW[1] / 2)) - HU_DISP_CENTERX; - } - else { - if (abs(winPosOfs[work->word_len - 2][idx][0]) == 144.0f) { - if (winnerNameW[idx] + 32 < HU_DISP_CENTERX) { - pos_x = VERSION_ENG ? 176.0f : winnerNameW[idx] / 2 + 32; - } - else { - pos_x = VERSION_ENG ? 32.0f + ((winnerNameW[idx] * work->win_scale) / 2.0f) : 128.0f; - } - if (winPosOfs[work->word_len - 2][idx][0] < 0) { - pos_x = VERSION_ENG ? -(HU_DISP_CENTERX - pos_x) : -pos_x; - } -#if VERSION_ENG - else { - pos_x = (HU_DISP_WIDTH - pos_x) - HU_DISP_CENTERX; - } -#endif - } - else { - pos_x = winPosOfs[work->word_len - 2][idx][0]; - } - } - HuSprGrpPosSet(work->spr_grp[idx], (HU_DISP_CENTERX + pos_x) + ofs[0], - ofs[1] + (HU_DISP_CENTERY + winPosOfs[work->word_len - 2][idx][1])); - } - } - if (work->time == 125) { - work->type = 0; - } - } break; - - case -1: { - work->angle += seqSpeed * 0.1f; - tp_lvl = 1.0f - work->angle; - if (tp_lvl <= 0.0f) { - tp_lvl = 0.0f; - work->state = 0; - work->stat |= 0x8; - } - for (idx = 0; idx < work->word_len; idx++) { - HuSprGrpTPLvlSet(work->spr_grp[idx], tp_lvl); - } - } break; - - default: - break; - } - } - if (seqDoneF || (work->stat & 0x8)) { - MGSeqSprKill(work); - return 0; - } - return 1; + s32 idx; + float tp_lvl; + s16 group = work->spr_grp[0]; + if(work->param[0] != 0 && work->type != -1) { + switch(work->param[0]) { + case 2: + if(work->param[1] != -1) { + (void)work; //HACK: to introduce extra branch + } else { + work->type = -1; + work->angle = 0.0f; + } + work->param[0] = 0; + break; + + case 1: + work->time_max = work->param[1]; + work->param[0] = 0; + break; + + case 3: + work->type = 1; + work->param[0] = 0; + break; + + default: + work->param[0] = 0; + break; + } + } + work->time += seqSpeed; + if(work->time >= work->time_max && work->type != -1) { + work->stat |= 0x4; + work->type = -1; + work->angle = 0.0f; + } + if(work->type) { + switch(work->type) { + case 1: + { + float time; + float scale; + float zrot; + if(work->time <= 20) { + time = work->time; + zrot = 365.0f*(time/20.0f); + scale = sin(M_PI*(90.0f*(time/20.0f))/180.0); + HuSprGrpScaleSet(work->spr_grp[0], scale, scale); + HuSprGrpZRotSet(work->spr_grp[0], zrot); + scale = 1.0+(5.0*cos(M_PI*(90.0f*(time/20.0f))/180.0)); + tp_lvl = time/20.0f; + for(idx=1; idxword_len; idx++) { + HuSprGrpTPLvlSet(work->spr_grp[idx], tp_lvl); + HuSprGrpScaleSet(work->spr_grp[idx], scale*work->win_scale, scale); + } + } + if(work->time > 20 && work->time <= 22) { + HuSprGrpZRotSet(work->spr_grp[0], 0.0f); + for(idx=1; idxword_len; idx++) { + float pos_x; + float ofs[2]; + if(work->time == 21) { + ofs[0] = ((idx & 0x1)*2)-1; + ofs[1] = (idx & 0x2) ? 2 : -1; + } else { + ofs[0] = ofs[1] = 0.0f; + } + if(work->word_len == 2) { + pos_x = winnerNameW[1]+winnerNameW[0]+32; + pos_x = (((576.0f-pos_x)/2.0f)+(winnerNameW[1]/2))-288.0f; + } else { + if(abs(winPosOfs[work->word_len-2][idx][0]) == 144.0f) { + if(winnerNameW[idx]+32 < 288.0f) { + pos_x = 176.0f; + } else { + pos_x = 32.0f+((winnerNameW[idx]*work->win_scale)/2.0f); + } + if(winPosOfs[work->word_len-2][idx][0] < 0) { + pos_x = -(288.0f-pos_x); + } else { + pos_x = (576.0f-pos_x)-288.0f; + } + } else { + pos_x = winPosOfs[work->word_len-2][idx][0]; + } + } + HuSprGrpPosSet(work->spr_grp[idx], (288.0f+pos_x)+ofs[0], ofs[1]+(240.0f+winPosOfs[work->word_len-2][idx][1])); + } + } + if(work->time == 125) { + work->type = 0; + } + } + break; + + case -1: + { + work->angle += seqSpeed*0.1f; + tp_lvl = 1.0f-work->angle; + if(tp_lvl <= 0.0f) { + tp_lvl = 0.0f; + work->state = 0; + work->stat |= 0x8; + } + for(idx=0; idxword_len; idx++) { + HuSprGrpTPLvlSet(work->spr_grp[idx], tp_lvl); + } + } + break; + + default: + break; + } + } + if(seqDoneF || (work->stat & 0x8)) { + MGSeqSprKill(work); + return 0; + } + return 1; } -s32 MGSeqInitRecord(SeqWork *work, va_list params) +static s32 SeqInitRecord(SeqWork *work, va_list params) { - AnimData *spr_data; - s16 spr_grp; - s16 time_pos[2]; - s16 i; - s16 sprite; - s16 digit_idx; - s32 digit; - seqRecordVal = va_arg(params, int); - work->type = 0; - work->angle = 0.0f; - work->spr_grp[0] = spr_grp = HuSprGrpCreate(10); - spr_data = HuSprAnimRead(SeqReadFile(DATA_MAKE_NUM(DATADIR_GAMEMES, 9))); - sprite = HuSprCreate(spr_data, 0, 0); - HuSprGrpMemberSet(spr_grp, 0, sprite); - HuSprPosSet(spr_grp, 0, 0.0f, -32.0f); - spr_data = HuSprAnimRead(SeqReadFile(DATA_MAKE_NUM(DATADIR_GAMEMES, 8))); - sprite = HuSprCreate(spr_data, 0, 0); - HuSprGrpMemberSet(spr_grp, 1, sprite); - spr_data = HuSprAnimRead(SeqReadFile(DATA_MAKE_NUM(DATADIR_GAMEMES, 7))); - for (i = 0; i < 8; i++) { - sprite = HuSprCreate(spr_data, 0, 0); - HuSprGrpMemberSet(spr_grp, i + 2, sprite); - } - if (omcurovl == OVL_M407 || omcurovl == OVL_M453 || omcurovl == OVL_M459 || omcurovl == OVL_M460 || omcurovl == OVL_M462 - || omcurovl == OVL_M442) { - digit_idx = 0; - if (seqRecordVal > 9999) { - seqRecordVal = 9999; - } - digit = seqRecordVal / 1000; - if (digit != 0) { - HuSprBankSet(spr_grp, digit_idx + 2, digit); - seqRecordVal -= digit * 1000; - digit_idx++; - } - - digit = seqRecordVal / 100; - if (digit != 0 || digit_idx != 0) { - HuSprBankSet(spr_grp, digit_idx + 2, digit); - seqRecordVal -= digit * 100; - digit_idx++; - } - digit = seqRecordVal / 10; - if (digit != 0 || digit_idx != 0) { - HuSprBankSet(spr_grp, digit_idx + 2, digit); - seqRecordVal -= digit * 10; - digit_idx++; - } - HuSprBankSet(spr_grp, digit_idx + 2, seqRecordVal); - digit_idx++; - for (i = digit_idx; i < 8; i++) { - HuSprAttrSet(spr_grp, i + 2, HUSPR_ATTR_DISPOFF); - } - HuSprPosSet(spr_grp, 1, (-((digit_idx * 44) + 48) / 2) + 24, 32.0f); - for (i = 0; i < digit_idx; i++) { - HuSprPosSet(spr_grp, i + 2, (-((digit_idx * 44) + 48) / 2) + 70 + (i * 44), 32.0f); - } - } - else { - s16 x; - digit_idx = 0; - digit = seqRecordVal / (600 * REFRESH_RATE); - if (digit != 0) { - HuSprBankSet(spr_grp, digit_idx + 2, digit); - seqRecordVal -= digit * (600 * REFRESH_RATE); - digit_idx++; - } - digit = seqRecordVal / (60 * REFRESH_RATE); - HuSprBankSet(spr_grp, digit_idx + 2, digit); - seqRecordVal -= digit * (60 * REFRESH_RATE); - digit_idx++; - HuSprBankSet(spr_grp, digit_idx + 2, 10); - time_pos[0] = digit_idx; - digit_idx++; - digit = seqRecordVal / (10 * REFRESH_RATE); - HuSprBankSet(spr_grp, digit_idx + 2, digit); - seqRecordVal -= digit * (10 * REFRESH_RATE); - digit_idx++; - digit = seqRecordVal / REFRESH_RATE; - HuSprBankSet(spr_grp, digit_idx + 2, digit); - seqRecordVal -= digit * REFRESH_RATE; - digit_idx++; - HuSprBankSet(spr_grp, digit_idx + 2, 11); - time_pos[1] = digit_idx; - digit_idx++; - if (omcurovl == OVL_M405 || omcurovl == OVL_M432 || omcurovl == OVL_M461) { - seqRecordVal = (float)seqRecordVal * (101.5 / REFRESH_RATE); - } - else { - seqRecordVal = (float)seqRecordVal * (100.0 / REFRESH_RATE); - } - digit = seqRecordVal / 10; - HuSprBankSet(spr_grp, digit_idx + 2, digit); - seqRecordVal -= digit * 10; - digit_idx++; - HuSprBankSet(spr_grp, digit_idx + 2, seqRecordVal); - digit_idx++; - for (i = digit_idx; i < 8; i++) { - HuSprAttrSet(spr_grp, i + 2, HUSPR_ATTR_DISPOFF); - } - HuSprPosSet(spr_grp, 1, (-((digit_idx * 44) + 4) / 2) + 24, 32.0f); - x = (-((digit_idx * 44) + 4) / 2) + 70; - for (i = 0; i < digit_idx; i++) { - HuSprPosSet(spr_grp, i + 2, x, 32.0f); - if (time_pos[0] == i || time_pos[1] == i) { - x += 22; - } - else { - x += 44; - } - } - } - HuSprGrpPosSet(spr_grp, HU_DISP_CENTERX, HU_DISP_CENTERY); - work->param[0] = 3; - return 1; + AnimData *spr_data; + s16 spr_grp; + s16 time_pos[2]; + s16 i; + s16 sprite; + s16 digit_idx; + s32 digit; + seqRecordVal = va_arg(params, int); + work->type = 0; + work->angle = 0.0f; + work->spr_grp[0] = spr_grp = HuSprGrpCreate(10); + spr_data = HuSprAnimRead(SeqReadFile(DATA_MAKE_NUM(DATADIR_GAMEMES, 9))); + sprite = HuSprCreate(spr_data, 0, 0); + HuSprGrpMemberSet(spr_grp, 0, sprite); + HuSprPosSet(spr_grp, 0, 0.0f, -32.0f); + spr_data = HuSprAnimRead(SeqReadFile(DATA_MAKE_NUM(DATADIR_GAMEMES, 8))); + sprite = HuSprCreate(spr_data, 0, 0); + HuSprGrpMemberSet(spr_grp, 1, sprite); + spr_data = HuSprAnimRead(SeqReadFile(DATA_MAKE_NUM(DATADIR_GAMEMES, 7))); + for(i=0; i<8; i++) { + sprite = HuSprCreate(spr_data, 0, 0); + HuSprGrpMemberSet(spr_grp, i+2, sprite); + } + if(omcurovl == OVL_M407 || omcurovl == OVL_M453 || omcurovl == OVL_M459 || omcurovl == OVL_M460 || omcurovl == OVL_M462 || omcurovl == OVL_M442) { + digit_idx = 0; + if(seqRecordVal > 9999) { + seqRecordVal = 9999; + } + digit = seqRecordVal/1000; + if(digit != 0) { + HuSprBankSet(spr_grp, digit_idx+2, digit); + seqRecordVal -= digit*1000; + digit_idx++; + } + + digit = seqRecordVal/100; + if(digit != 0 || digit_idx != 0) { + HuSprBankSet(spr_grp, digit_idx+2, digit); + seqRecordVal -= digit*100; + digit_idx++; + } + digit = seqRecordVal/10; + if(digit != 0 || digit_idx != 0) { + HuSprBankSet(spr_grp, digit_idx+2, digit); + seqRecordVal -= digit*10; + digit_idx++; + } + HuSprBankSet(spr_grp, digit_idx+2, seqRecordVal); + digit_idx++; + for(i=digit_idx; i<8; i++) { + HuSprAttrSet(spr_grp, i+2, HUSPR_ATTR_DISPOFF); + } + HuSprPosSet(spr_grp, 1, (-((digit_idx*44)+48)/2)+24, 32.0f); + for(i=0; iparam[0] = 3; + return 1; } -s32 MGSeqUpdateRecord(SeqWork *work) +static s32 SeqUpdateRecord(SeqWork *work) { - s16 group; - if (_CheckFlag(FLAG_ID_MAKE(1, 12))) { - work->state = 0; - work->stat |= 0xC; - } - else { - group = work->spr_grp[0]; - if (work->param[0] != 0 && work->type != -1) { - switch (work->param[0]) { - case 2: - if (work->param[1] != -1) { - (void)work; // HACK: to introduce extra branch - } - else { - work->type = -1; - work->angle = 0.0f; - } - work->param[0] = 0; - break; - - case 1: - work->time_max = work->param[1]; - work->param[0] = 0; - break; - - case 3: - work->type = 1; - work->param[0] = 0; - break; - - default: - work->param[0] = 0; - break; - } - } - work->time += seqSpeed; - if (work->time >= work->time_max && work->type != -1) { - work->stat |= 0x4; - work->type = -1; - work->angle = 0.0f; - } - if (work->type) { - switch (work->type) { - case 1: { - if (work->time <= 10) { - HuSprGrpTPLvlSet(group, work->time / 10.0); - } - if (work->time == 5) { - HuAudFXPlay(38); - } - if (work->time == 30) { - work->type = 0; - } - } break; - - case -1: { - float tp_lvl; - work->angle += seqSpeed * 0.1f; - tp_lvl = 1.0f - work->angle; - if (tp_lvl <= 0.0f) { - tp_lvl = 0.0f; - work->state = 0; - work->stat |= 0x8; - } - HuSprGrpTPLvlSet(group, tp_lvl); - } break; - - default: - break; - } - } - } - if (seqDoneF || (work->stat & 0x8)) { - MGSeqSprKill(work); - return 0; - } - return 1; + s16 group; + if(_CheckFlag(FLAG_ID_MAKE(1, 12))) { + work->state = 0; + work->stat |= 0xC; + } else { + group = work->spr_grp[0]; + if(work->param[0] != 0 && work->type != -1) { + switch(work->param[0]) { + case 2: + if(work->param[1] != -1) { + (void)work; //HACK: to introduce extra branch + } else { + work->type = -1; + work->angle = 0.0f; + } + work->param[0] = 0; + break; + + case 1: + work->time_max = work->param[1]; + work->param[0] = 0; + break; + + case 3: + work->type = 1; + work->param[0] = 0; + break; + + default: + work->param[0] = 0; + break; + } + } + work->time += seqSpeed; + if(work->time >= work->time_max && work->type != -1) { + work->stat |= 0x4; + work->type = -1; + work->angle = 0.0f; + } + if(work->type) { + switch(work->type) { + case 1: + { + if(work->time <= 10) { + HuSprGrpTPLvlSet(group, work->time/10.0); + } + if(work->time == 5) { + HuAudFXPlay(38); + } + if(work->time == 30) { + work->type = 0; + } + } + break; + + case -1: + { + float tp_lvl; + work->angle += seqSpeed*0.1f; + tp_lvl = 1.0f-work->angle; + if(tp_lvl <= 0.0f) { + tp_lvl = 0.0f; + work->state = 0; + work->stat |= 0x8; + } + HuSprGrpTPLvlSet(group, tp_lvl); + } + break; + + default: + break; + } + } + } + if(seqDoneF || (work->stat & 0x8)) { + MGSeqSprKill(work); + return 0; + } + return 1; } static void PauseProc(void); void MGSeqPauseInit(void) { - MGSeqPauseEnableCtrl(0); - HuWinInit(1); - pauseProcess = HuPrcCreate(PauseProc, 100, 4096, 0); - HuPrcSetStat(pauseProcess, PROCESS_STAT_PAUSE_EN | PROCESS_STAT_UPAUSE_EN); - pauseActiveF = 1; - pauseExitF = 0; - pauseWaitF = 0; + MGSeqPauseEnableCtrl(0); + HuWinInit(1); + pauseProcess = HuPrcCreate(PauseProc, 100, 4096, 0); + HuPrcSetStat(pauseProcess, PROCESS_STAT_PAUSE_EN|PROCESS_STAT_UPAUSE_EN); + pauseActiveF = 1; + pauseExitF = 0; + pauseWaitF = 0; } -#define PAUSE_WIN_X (HU_DISP_CENTERX - 206) -#define PAUSE_WIN_DIST (HU_DISP_CENTERX + 112) -#define PAUSE_EXIT_Y (HU_DISP_HEIGHT - 80) - static void PauseProc(void) { - s16 mg; - s16 i; - s16 j; - - s16 char_mess_map[4]; - s16 char_mess[4][4]; - s16 window[3] = { -1, -1, -1 }; - - SeqWork work; - static char *pauseStr[] = { "ポーズ", "PAUSE" }; - float ratio; - - HuAudFXPlay(5); - for (i = 0; i < 16; i++) { - work.sprite[i] = work.spr_grp[i] = -1; - } - SeqMakeWord(&work, pauseStr[GET_LANG_IDX()], 0); - for (i = 0; i < work.word_len; i++) { - HuSprPriSet(work.spr_grp[0], i, 0); - } - for (i = 0; i < 4; i++) { - char_mess_map[i] = 0; - } - for (i = 0; i < 4; i++) { - char_mess[GWPlayerCfg[i].group][char_mess_map[GWPlayerCfg[i].group]] = GWPlayerCfg[i].character; - char_mess_map[GWPlayerCfg[i].group]++; - } - mg = omMgIndexGet(omcurovl); - if (mgInfoTbl[mg].inst_mess[1] == 0 && mgInfoTbl[mg].inst_mess[2] == 0) { - for (i = 1; i <= 20; i++) { - ratio = sind(i * 4.5f); - HuSprGrpPosSet(work.spr_grp[0], HU_DISP_CENTERX, (ratio * 290) - 50.0f); - HuPrcVSleep(); - } - } - else { - if (mgPracticeEnableF && !_CheckFlag(FLAG_ID_MAKE(1, 12))) { - window[2] = HuWinExCreateStyled(-10000.0f, PAUSE_EXIT_Y, 412, 42, -1, 0); - HuWinPriSet(window[2], 0); - HuWinDispOn(window[2]); - HuWinMesSpeedSet(window[2], 0); - HuWinAttrSet(window[2], 0x800); - HuWinMesSet(window[2], MAKE_MESSID(0x33, 0xA1)); - } - if (mgInfoTbl[mg].inst_mess[2]) { - s16 insert_idx; - window[0] = HuWinExCreateStyled(-10000.0f, HU_DISP_CENTERY - 100, 412, 120, -1, 0); - HuWinPriSet(window[0], 0); - HuWinDispOn(window[0]); - HuWinMesSpeedSet(window[0], 0); - HuWinMesSet(window[0], mgInfoTbl[mg].inst_mess[1]); - window[1] = HuWinExCreateStyled(-10000.0f, HU_DISP_CENTERY + 36, 412, 120, -1, 0); - HuWinPriSet(window[1], 0); - HuWinDispOn(window[1]); - HuWinMesSpeedSet(window[1], 0); - HuWinMesSet(window[1], mgInfoTbl[mg].inst_mess[2]); - for (i = insert_idx = 0; i < 4; i++) { - for (j = 0; j < char_mess_map[i]; j++) { - HuWinInsertMesSet(window[0], char_mess[i][j], (s16)insert_idx); - HuWinInsertMesSet(window[1], char_mess[i][j], (s16)insert_idx); - insert_idx++; - } - } - for (i = 1; i <= 20; i++) { - ratio = sind(i * 4.5f); - HuSprGrpPosSet(work.spr_grp[0], HU_DISP_CENTERX, (ratio * 150) - 50.0f); - HuWinPosSet(window[0], (PAUSE_WIN_DIST + PAUSE_WIN_X) * ratio - PAUSE_WIN_DIST, HU_DISP_CENTERY - 100); - HuWinPosSet(window[1], -(PAUSE_WIN_DIST - PAUSE_WIN_X) * ratio + PAUSE_WIN_DIST, HU_DISP_CENTERY + 32); - if (window[2] != -1) { - HuWinPosSet(window[2], PAUSE_WIN_X, (PAUSE_EXIT_Y + 4) + (100 * (1.0 - ratio))); - } - HuPrcVSleep(); - } - } - else { - window[0] = HuWinExCreateStyled(-10000.0f, HU_DISP_CENTERY - 70, 412, 120, -1, 0); - HuWinPriSet(window[0], 0); - HuWinDispOn(window[0]); - HuWinMesSpeedSet(window[0], 0); - HuWinMesSet(window[0], mgInfoTbl[mg].inst_mess[1]); - for (i = 1; i <= 20; i++) { - ratio = sind(i * 4.5f); - HuSprGrpPosSet(work.spr_grp[0], HU_DISP_CENTERX, (ratio * 150) - 50.0f); - HuWinPosSet(window[0], (PAUSE_WIN_DIST + PAUSE_WIN_X) * ratio - PAUSE_WIN_DIST, HU_DISP_CENTERY - 70); - if (window[2] != -1) { - HuWinPosSet(window[2], -(PAUSE_WIN_DIST - PAUSE_WIN_X) * ratio + PAUSE_WIN_DIST, PAUSE_EXIT_Y + 4); - } - HuPrcVSleep(); - } - } - } - MGSeqPauseEnableCtrl(1); - pauseWaitF = 1; - while (!pauseExitF) { - HuPrcVSleep(); - } - pauseWaitF = 0; - if (window[0] == -1 && window[1] == -1) { - for (i = 1; i <= 10; i++) { - ratio = cosd(i * 9.0f); - HuSprGrpPosSet(work.spr_grp[0], HU_DISP_CENTERX, (ratio * 290) - 50.0f); - HuPrcVSleep(); - } - } - else { - if (window[1] != -1) { - for (i = 1; i <= 10; i++) { - ratio = cosd(i * 9.0f); - HuSprGrpPosSet(work.spr_grp[0], HU_DISP_CENTERX, (ratio * 150) - 50.0f); - HuWinPosSet(window[0], (PAUSE_WIN_DIST + PAUSE_WIN_X) * ratio - PAUSE_WIN_DIST, HU_DISP_CENTERY - 100); - HuWinPosSet(window[1], -(PAUSE_WIN_DIST - PAUSE_WIN_X) * ratio + PAUSE_WIN_DIST, HU_DISP_CENTERY + 32); - if (window[2] != -1) { - HuWinPosSet(window[2], PAUSE_WIN_X, (PAUSE_EXIT_Y + 4) + (100 * (1.0 - ratio))); - } - HuPrcVSleep(); - } - } - else { - for (i = 1; i <= 10; i++) { - ratio = cosd(i * 9.0f); - HuSprGrpPosSet(work.spr_grp[0], HU_DISP_CENTERX, (ratio * 150) - 50.0f); - HuWinPosSet(window[0], (PAUSE_WIN_DIST + PAUSE_WIN_X) * ratio - PAUSE_WIN_DIST, HU_DISP_CENTERY - 70); - if (window[2] != -1) { - HuWinPosSet(window[2], -(PAUSE_WIN_DIST - PAUSE_WIN_X) * ratio + PAUSE_WIN_DIST, PAUSE_EXIT_Y + 4); - } - HuPrcVSleep(); - } - } - } - omSysPauseCtrl(0); - if (window[0] != -1) { - HuWinKill(window[0]); - } - if (window[1] != -1) { - HuWinKill(window[1]); - } - if (window[2] != -1) { - HuWinKill(window[2]); - } - HuSprGrpKill(work.spr_grp[0]); - pauseProcess = NULL; - pauseActiveF = 0; - HuPrcEnd(); - do { - HuPrcVSleep(); - } while (1); + s16 mg; + s16 i; + s16 j; + + s16 char_mess_map[4]; + s16 char_mess[4][4]; + s16 window[3] = { -1, -1, -1 }; + + SeqWork work; + static char *pauseStr[] = { + "ポーズ", + "PAUSE" + }; + float ratio; + + HuAudFXPlay(5); + for(i=0; i<16; i++) { + work.sprite[i] = work.spr_grp[i] = -1; + } + SeqMakeWord(&work, pauseStr[GET_LANG_IDX()], 0); + for(i=0; iwork[0] == 0) { - if (omMgIndexGet(omcurovl) == -1) { - omDelObjEx(HuPrcCurrentGet(), object); - return; - } - object->work[0]++; - } - if (!omPauseChk() || _CheckFlag(FLAG_ID_MAKE(1, 12)) || !pauseWaitF) { - return; - } - for (i = input = 0; i < 4; i++) { - input |= HuPadBtnDown[i]; - } - if (input & PAD_TRIGGER_Z) { - HuAudFXPlay(3); - pauseExitF = 1; - omSysPauseCtrl(0); - omSysExitReq = 1; - mgQuitExtraF = 1; - omDelObjEx(HuPrcCurrentGet(), object); - } -} + s16 input; + s16 i; + mgQuitExtraF = 0; + if(object->work[0] == 0) { + if(omMgIndexGet(omcurovl) == -1) { + omDelObjEx(HuPrcCurrentGet(), object); + return; + } + object->work[0]++; + } + if(!omPauseChk() || _CheckFlag(FLAG_ID_MAKE(1, 12)) || !pauseWaitF) { + return; + } + for(i=input=0; i<4; i++) { + input |= HuPadBtnDown[i]; + } + if(input & PAD_TRIGGER_Z) { + HuAudFXPlay(3); + pauseExitF = 1; + omSysPauseCtrl(0); + omSysExitReq = 1; + mgQuitExtraF = 1; + omDelObjEx(HuPrcCurrentGet(), object); + } +} \ No newline at end of file diff --git a/src/game/objmain.c b/src/game/objmain.c index 39bc9e12..f802d287 100644 --- a/src/game/objmain.c +++ b/src/game/objmain.c @@ -38,7 +38,7 @@ s32 omcurdll; s32 omovlhisidx; s32 omovlevtno; s32 omnextovlevtno; -u32 omovlstat; +s32 omovlstat; static s32 omnextovlstat; char omUPauseFlag; s16 omSysExitReq; @@ -568,4 +568,4 @@ char omPauseChk(void) OverlayID omCurrentOvlGet(void) { return omcurovl; -} +} \ No newline at end of file diff --git a/src/game/objsub.c b/src/game/objsub.c index b00631c4..19e0b390 100644 --- a/src/game/objsub.c +++ b/src/game/objsub.c @@ -1,9 +1,7 @@ #include "game/objsub.h" -#include "game/data.h" #include "game/gamework_data.h" #include "game/object.h" -#include "game/window.h" - +#include "game/data.h" MgInfo mgInfoTbl[] = { { @@ -11,7 +9,7 @@ MgInfo mgInfoTbl[] = { 0, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x01), // name_mess + 0x170001, // name_mess DATADIR_M401, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 0), // inst_pic[0] 0, // inst_pic[1] @@ -19,17 +17,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 0), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x00), // inst_mess[0] - MAKE_MESSID(0x21, 0x01), // inst_mess[1] + 0x210000, // inst_mess[0] + 0x210001, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x03), // inst_mess[3] + 0x210003, // inst_mess[3] }, { OVL_M402, // ovl 0, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x02), // name_mess + 0x170002, // name_mess DATADIR_M402, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 1), // inst_pic[0] 0, // inst_pic[1] @@ -37,17 +35,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 1), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x04), // inst_mess[0] - MAKE_MESSID(0x21, 0x05), // inst_mess[1] + 0x210004, // inst_mess[0] + 0x210005, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x07), // inst_mess[3] + 0x210007, // inst_mess[3] }, { OVL_M403, // ovl 0, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x03), // name_mess + 0x170003, // name_mess DATADIR_M403, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 2), // inst_pic[0] 0, // inst_pic[1] @@ -55,17 +53,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 2), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x08), // inst_mess[0] - MAKE_MESSID(0x21, 0x09), // inst_mess[1] + 0x210008, // inst_mess[0] + 0x210009, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x0B), // inst_mess[3] + 0x21000B, // inst_mess[3] }, { OVL_M404, // ovl 4, // type 2, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x04), // name_mess + 0x170004, // name_mess DATADIR_M404, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 3), // inst_pic[0] 0, // inst_pic[1] @@ -73,17 +71,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 3), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x0C), // inst_mess[0] - MAKE_MESSID(0x21, 0x0D), // inst_mess[1] + 0x21000C, // inst_mess[0] + 0x21000D, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x0F), // inst_mess[3] + 0x21000F, // inst_mess[3] }, { OVL_M405, // ovl 0, // type 2, // flag 0, // record_idx - MAKE_MESSID(0x17, 0x05), // name_mess + 0x170005, // name_mess DATADIR_M405, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 4), // inst_pic[0] 0, // inst_pic[1] @@ -91,17 +89,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 4), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x10), // inst_mess[0] - MAKE_MESSID(0x21, 0x11), // inst_mess[1] + 0x210010, // inst_mess[0] + 0x210011, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x13), // inst_mess[3] + 0x210013, // inst_mess[3] }, { OVL_M406, // ovl 0, // type 2, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x06), // name_mess + 0x170006, // name_mess DATADIR_M406, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 5), // inst_pic[0] 0, // inst_pic[1] @@ -109,17 +107,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 5), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x14), // inst_mess[0] - MAKE_MESSID(0x21, 0x15), // inst_mess[1] + 0x210014, // inst_mess[0] + 0x210015, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x17), // inst_mess[3] + 0x210017, // inst_mess[3] }, { OVL_M407, // ovl 0, // type 3, // flag 1, // record_idx - MAKE_MESSID(0x17, 0x07), // name_mess + 0x170007, // name_mess DATADIR_M407, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 6), // inst_pic[0] 0, // inst_pic[1] @@ -127,17 +125,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 6), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x18), // inst_mess[0] - MAKE_MESSID(0x21, 0x19), // inst_mess[1] + 0x210018, // inst_mess[0] + 0x210019, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x1B), // inst_mess[3] + 0x21001B, // inst_mess[3] }, { OVL_M408, // ovl 0, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x08), // name_mess + 0x170008, // name_mess DATADIR_M408, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 7), // inst_pic[0] 0, // inst_pic[1] @@ -145,17 +143,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 7), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x1C), // inst_mess[0] - MAKE_MESSID(0x21, 0x1D), // inst_mess[1] + 0x21001C, // inst_mess[0] + 0x21001D, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x1F), // inst_mess[3] + 0x21001F, // inst_mess[3] }, { OVL_M409, // ovl 0, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x09), // name_mess + 0x170009, // name_mess DATADIR_M409, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 8), // inst_pic[0] 0, // inst_pic[1] @@ -163,17 +161,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 8), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x20), // inst_mess[0] - MAKE_MESSID(0x21, 0x21), // inst_mess[1] + 0x210020, // inst_mess[0] + 0x210021, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x23), // inst_mess[3] + 0x210023, // inst_mess[3] }, { OVL_M410, // ovl 0, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x0A), // name_mess + 0x17000A, // name_mess DATADIR_M410, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 9), // inst_pic[0] 0, // inst_pic[1] @@ -181,17 +179,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 9), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x24), // inst_mess[0] - MAKE_MESSID(0x21, 0x25), // inst_mess[1] + 0x210024, // inst_mess[0] + 0x210025, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x27), // inst_mess[3] + 0x210027, // inst_mess[3] }, { OVL_M411, // ovl 0, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x0B), // name_mess + 0x17000B, // name_mess DATADIR_M411, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 10), // inst_pic[0] DATA_MAKE_NUM(DATADIR_INSTPIC, 11), // inst_pic[1] @@ -199,17 +197,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 62), // mg_pic[0] DATA_MAKE_NUM(DATADIR_INSTPIC, 11), // mg_pic[1] DATA_MAKE_NUM(DATADIR_INSTPIC, 12), // mg_pic[2] - MAKE_MESSID(0x21, 0x28), // inst_mess[0] - MAKE_MESSID(0x21, 0x29), // inst_mess[1] + 0x210028, // inst_mess[0] + 0x210029, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x2B), // inst_mess[3] + 0x21002B, // inst_mess[3] }, { OVL_M412, // ovl 0, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x0C), // name_mess + 0x17000C, // name_mess DATADIR_M412, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 13), // inst_pic[0] 0, // inst_pic[1] @@ -217,17 +215,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 13), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x2C), // inst_mess[0] - MAKE_MESSID(0x21, 0x2D), // inst_mess[1] + 0x21002C, // inst_mess[0] + 0x21002D, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x2F), // inst_mess[3] + 0x21002F, // inst_mess[3] }, { OVL_M413, // ovl 0, // type 2, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x0D), // name_mess + 0x17000D, // name_mess DATADIR_M413, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 14), // inst_pic[0] 0, // inst_pic[1] @@ -235,17 +233,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 63), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x30), // inst_mess[0] - MAKE_MESSID(0x21, 0x31), // inst_mess[1] + 0x210030, // inst_mess[0] + 0x210031, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x33), // inst_mess[3] + 0x210033, // inst_mess[3] }, { OVL_M414, // ovl 0, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x0E), // name_mess + 0x17000E, // name_mess DATADIR_M414, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 15), // inst_pic[0] 0, // inst_pic[1] @@ -253,17 +251,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 15), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x34), // inst_mess[0] - MAKE_MESSID(0x21, 0x35), // inst_mess[1] + 0x210034, // inst_mess[0] + 0x210035, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x37), // inst_mess[3] + 0x210037, // inst_mess[3] }, { OVL_M415, // ovl 0, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x0F), // name_mess + 0x17000F, // name_mess DATADIR_M415, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 16), // inst_pic[0] 0, // inst_pic[1] @@ -271,17 +269,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 16), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x38), // inst_mess[0] - MAKE_MESSID(0x21, 0x39), // inst_mess[1] + 0x210038, // inst_mess[0] + 0x210039, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x3B), // inst_mess[3] + 0x21003B, // inst_mess[3] }, { OVL_M416, // ovl 1, // type 1, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x10), // name_mess + 0x170010, // name_mess DATADIR_M416, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 17), // inst_pic[0] 0, // inst_pic[1] @@ -289,17 +287,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 17), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x3C), // inst_mess[0] - MAKE_MESSID(0x21, 0x3D), // inst_mess[1] - MAKE_MESSID(0x21, 0x3E), // inst_mess[2] - MAKE_MESSID(0x21, 0x3F), // inst_mess[3] + 0x21003C, // inst_mess[0] + 0x21003D, // inst_mess[1] + 0x21003E, // inst_mess[2] + 0x21003F, // inst_mess[3] }, { OVL_M417, // ovl 1, // type 1, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x11), // name_mess + 0x170011, // name_mess DATADIR_M417, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 18), // inst_pic[0] 0, // inst_pic[1] @@ -307,17 +305,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 18), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x40), // inst_mess[0] - MAKE_MESSID(0x21, 0x41), // inst_mess[1] - MAKE_MESSID(0x21, 0x42), // inst_mess[2] - MAKE_MESSID(0x21, 0x43), // inst_mess[3] + 0x210040, // inst_mess[0] + 0x210041, // inst_mess[1] + 0x210042, // inst_mess[2] + 0x210043, // inst_mess[3] }, { OVL_M418, // ovl 1, // type 1, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x12), // name_mess + 0x170012, // name_mess DATADIR_M418, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 19), // inst_pic[0] 0, // inst_pic[1] @@ -325,17 +323,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 19), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x44), // inst_mess[0] - MAKE_MESSID(0x21, 0x45), // inst_mess[1] - MAKE_MESSID(0x21, 0x46), // inst_mess[2] - MAKE_MESSID(0x21, 0x47), // inst_mess[3] + 0x210044, // inst_mess[0] + 0x210045, // inst_mess[1] + 0x210046, // inst_mess[2] + 0x210047, // inst_mess[3] }, { OVL_M419, // ovl 1, // type 1, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x13), // name_mess + 0x170013, // name_mess DATADIR_M419, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 20), // inst_pic[0] 0, // inst_pic[1] @@ -343,17 +341,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 20), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x48), // inst_mess[0] - MAKE_MESSID(0x21, 0x49), // inst_mess[1] - MAKE_MESSID(0x21, 0x4A), // inst_mess[2] - MAKE_MESSID(0x21, 0x4B), // inst_mess[3] + 0x210048, // inst_mess[0] + 0x210049, // inst_mess[1] + 0x21004A, // inst_mess[2] + 0x21004B, // inst_mess[3] }, { OVL_M420, // ovl 1, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x14), // name_mess + 0x170014, // name_mess DATADIR_M420, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 21), // inst_pic[0] 0, // inst_pic[1] @@ -361,17 +359,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 21), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x4C), // inst_mess[0] - MAKE_MESSID(0x21, 0x4D), // inst_mess[1] - MAKE_MESSID(0x21, 0x4E), // inst_mess[2] - MAKE_MESSID(0x21, 0x4F), // inst_mess[3] + 0x21004C, // inst_mess[0] + 0x21004D, // inst_mess[1] + 0x21004E, // inst_mess[2] + 0x21004F, // inst_mess[3] }, { OVL_M421, // ovl 1, // type 1, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x15), // name_mess + 0x170015, // name_mess DATADIR_M421, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 22), // inst_pic[0] 0, // inst_pic[1] @@ -379,17 +377,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 22), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x50), // inst_mess[0] - MAKE_MESSID(0x21, 0x51), // inst_mess[1] - MAKE_MESSID(0x21, 0x52), // inst_mess[2] - MAKE_MESSID(0x21, 0x53), // inst_mess[3] + 0x210050, // inst_mess[0] + 0x210051, // inst_mess[1] + 0x210052, // inst_mess[2] + 0x210053, // inst_mess[3] }, { OVL_M422, // ovl 1, // type 1, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x16), // name_mess + 0x170016, // name_mess DATADIR_M422, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 23), // inst_pic[0] 0, // inst_pic[1] @@ -397,17 +395,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 23), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x54), // inst_mess[0] - MAKE_MESSID(0x21, 0x55), // inst_mess[1] - MAKE_MESSID(0x21, 0x56), // inst_mess[2] - MAKE_MESSID(0x21, 0x57), // inst_mess[3] + 0x210054, // inst_mess[0] + 0x210055, // inst_mess[1] + 0x210056, // inst_mess[2] + 0x210057, // inst_mess[3] }, { OVL_M423, // ovl 1, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x17), // name_mess + 0x170017, // name_mess DATADIR_M423, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 24), // inst_pic[0] 0, // inst_pic[1] @@ -415,17 +413,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 24), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x58), // inst_mess[0] - MAKE_MESSID(0x21, 0x59), // inst_mess[1] - MAKE_MESSID(0x21, 0x5A), // inst_mess[2] - MAKE_MESSID(0x21, 0x5B), // inst_mess[3] + 0x210058, // inst_mess[0] + 0x210059, // inst_mess[1] + 0x21005A, // inst_mess[2] + 0x21005B, // inst_mess[3] }, { OVL_M424, // ovl 1, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x18), // name_mess + 0x170018, // name_mess DATADIR_M424, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 25), // inst_pic[0] 0, // inst_pic[1] @@ -433,17 +431,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 25), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x5C), // inst_mess[0] - MAKE_MESSID(0x21, 0x5D), // inst_mess[1] - MAKE_MESSID(0x21, 0x5E), // inst_mess[2] - MAKE_MESSID(0x21, 0x5F), // inst_mess[3] + 0x21005C, // inst_mess[0] + 0x21005D, // inst_mess[1] + 0x21005E, // inst_mess[2] + 0x21005F, // inst_mess[3] }, { OVL_M425, // ovl 2, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x19), // name_mess + 0x170019, // name_mess DATADIR_M425, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 26), // inst_pic[0] 0, // inst_pic[1] @@ -451,17 +449,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 26), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x60), // inst_mess[0] - MAKE_MESSID(0x21, 0x61), // inst_mess[1] + 0x210060, // inst_mess[0] + 0x210061, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x63), // inst_mess[3] + 0x210063, // inst_mess[3] }, { OVL_M426, // ovl 2, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x1A), // name_mess + 0x17001A, // name_mess DATADIR_M426, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 27), // inst_pic[0] 0, // inst_pic[1] @@ -469,17 +467,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 27), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x64), // inst_mess[0] - MAKE_MESSID(0x21, 0x65), // inst_mess[1] + 0x210064, // inst_mess[0] + 0x210065, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x67), // inst_mess[3] + 0x210067, // inst_mess[3] }, { OVL_M427, // ovl 2, // type 2, // flag 2, // record_idx - MAKE_MESSID(0x17, 0x1B), // name_mess + 0x17001B, // name_mess DATADIR_M427, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 28), // inst_pic[0] 0, // inst_pic[1] @@ -487,17 +485,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 28), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x68), // inst_mess[0] - MAKE_MESSID(0x21, 0x69), // inst_mess[1] + 0x210068, // inst_mess[0] + 0x210069, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x6B), // inst_mess[3] + 0x21006B, // inst_mess[3] }, { OVL_M428, // ovl 2, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x1C), // name_mess + 0x17001C, // name_mess DATADIR_M428, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 29), // inst_pic[0] 0, // inst_pic[1] @@ -505,17 +503,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 29), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x6C), // inst_mess[0] - MAKE_MESSID(0x21, 0x6D), // inst_mess[1] + 0x21006C, // inst_mess[0] + 0x21006D, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x6F), // inst_mess[3] + 0x21006F, // inst_mess[3] }, { OVL_M429, // ovl 2, // type 2, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x1D), // name_mess + 0x17001D, // name_mess DATADIR_M429, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 30), // inst_pic[0] 0, // inst_pic[1] @@ -523,17 +521,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 64), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x70), // inst_mess[0] - MAKE_MESSID(0x21, 0x71), // inst_mess[1] + 0x210070, // inst_mess[0] + 0x210071, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x73), // inst_mess[3] + 0x210073, // inst_mess[3] }, { OVL_M430, // ovl 2, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x1E), // name_mess + 0x17001E, // name_mess DATADIR_M430, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 31), // inst_pic[0] 0, // inst_pic[1] @@ -541,17 +539,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 31), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x74), // inst_mess[0] - MAKE_MESSID(0x21, 0x75), // inst_mess[1] - MAKE_MESSID(0x21, 0x76), // inst_mess[2] - MAKE_MESSID(0x21, 0x77), // inst_mess[3] + 0x210074, // inst_mess[0] + 0x210075, // inst_mess[1] + 0x210076, // inst_mess[2] + 0x210077, // inst_mess[3] }, { OVL_M431, // ovl 2, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x1F), // name_mess + 0x17001F, // name_mess DATADIR_M431, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 32), // inst_pic[0] 0, // inst_pic[1] @@ -559,17 +557,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 32), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x78), // inst_mess[0] - MAKE_MESSID(0x21, 0x79), // inst_mess[1] + 0x210078, // inst_mess[0] + 0x210079, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x7B), // inst_mess[3] + 0x21007B, // inst_mess[3] }, { OVL_M432, // ovl 2, // type 3, // flag 3, // record_idx - MAKE_MESSID(0x17, 0x20), // name_mess + 0x170020, // name_mess DATADIR_M432, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 33), // inst_pic[0] 0, // inst_pic[1] @@ -577,17 +575,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 33), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x7C), // inst_mess[0] - MAKE_MESSID(0x21, 0x7D), // inst_mess[1] - MAKE_MESSID(0x21, 0x7E), // inst_mess[2] - MAKE_MESSID(0x21, 0x7F), // inst_mess[3] + 0x21007C, // inst_mess[0] + 0x21007D, // inst_mess[1] + 0x21007E, // inst_mess[2] + 0x21007F, // inst_mess[3] }, { OVL_M433, // ovl 7, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x21), // name_mess + 0x170021, // name_mess DATADIR_M433, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 34), // inst_pic[0] 0, // inst_pic[1] @@ -595,17 +593,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 34), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x80), // inst_mess[0] - MAKE_MESSID(0x37, 0x1F), // inst_mess[1] + 0x210080, // inst_mess[0] + 0x37001F, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x83), // inst_mess[3] + 0x210083, // inst_mess[3] }, { OVL_M434, // ovl 2, // type 2, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x22), // name_mess + 0x170022, // name_mess DATADIR_M434, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 35), // inst_pic[0] 0, // inst_pic[1] @@ -613,17 +611,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 35), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x84), // inst_mess[0] - MAKE_MESSID(0x21, 0x85), // inst_mess[1] + 0x210084, // inst_mess[0] + 0x210085, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x87), // inst_mess[3] + 0x210087, // inst_mess[3] }, { OVL_M435, // ovl 3, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x23), // name_mess + 0x170023, // name_mess DATADIR_M435, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 36), // inst_pic[0] 0, // inst_pic[1] @@ -632,7 +630,7 @@ MgInfo mgInfoTbl[] = { 0, // mg_pic[1] 0, // mg_pic[2] 0, // inst_mess[0] - MAKE_MESSID(0x21, 0x89), // inst_mess[1] + 0x210089, // inst_mess[1] 0, // inst_mess[2] 0, // inst_mess[3] }, @@ -641,7 +639,7 @@ MgInfo mgInfoTbl[] = { 3, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x24), // name_mess + 0x170024, // name_mess DATADIR_M436, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 37), // inst_pic[0] 0, // inst_pic[1] @@ -650,7 +648,7 @@ MgInfo mgInfoTbl[] = { 0, // mg_pic[1] 0, // mg_pic[2] 0, // inst_mess[0] - MAKE_MESSID(0x21, 0x8D), // inst_mess[1] + 0x21008D, // inst_mess[1] 0, // inst_mess[2] 0, // inst_mess[3] }, @@ -659,7 +657,7 @@ MgInfo mgInfoTbl[] = { 3, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x25), // name_mess + 0x170025, // name_mess DATADIR_M437, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 38), // inst_pic[0] 0, // inst_pic[1] @@ -668,7 +666,7 @@ MgInfo mgInfoTbl[] = { 0, // mg_pic[1] 0, // mg_pic[2] 0, // inst_mess[0] - MAKE_MESSID(0x21, 0x91), // inst_mess[1] + 0x210091, // inst_mess[1] 0, // inst_mess[2] 0, // inst_mess[3] }, @@ -677,7 +675,7 @@ MgInfo mgInfoTbl[] = { 4, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x26), // name_mess + 0x170026, // name_mess DATADIR_M438, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 39), // inst_pic[0] 0, // inst_pic[1] @@ -685,17 +683,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 39), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x94), // inst_mess[0] - MAKE_MESSID(0x21, 0x95), // inst_mess[1] + 0x210094, // inst_mess[0] + 0x210095, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x97), // inst_mess[3] + 0x210097, // inst_mess[3] }, { OVL_M439, // ovl 4, // type 2, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x27), // name_mess + 0x170027, // name_mess DATADIR_M439, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 40), // inst_pic[0] 0, // inst_pic[1] @@ -703,17 +701,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 40), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x98), // inst_mess[0] - MAKE_MESSID(0x21, 0x99), // inst_mess[1] + 0x210098, // inst_mess[0] + 0x210099, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x9B), // inst_mess[3] + 0x21009B, // inst_mess[3] }, { OVL_M440, // ovl 4, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x28), // name_mess + 0x170028, // name_mess DATADIR_M440, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 41), // inst_pic[0] 0, // inst_pic[1] @@ -721,17 +719,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 41), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0x9C), // inst_mess[0] - MAKE_MESSID(0x21, 0x9D), // inst_mess[1] + 0x21009C, // inst_mess[0] + 0x21009D, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0x9F), // inst_mess[3] + 0x21009F, // inst_mess[3] }, { OVL_M441, // ovl 4, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x29), // name_mess + 0x170029, // name_mess DATADIR_M441, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 42), // inst_pic[0] 0, // inst_pic[1] @@ -739,17 +737,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 42), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0xA0), // inst_mess[0] - MAKE_MESSID(0x21, 0xA1), // inst_mess[1] + 0x2100A0, // inst_mess[0] + 0x2100A1, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0xA3), // inst_mess[3] + 0x2100A3, // inst_mess[3] }, { OVL_M442, // ovl 7, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x2A), // name_mess + 0x17002A, // name_mess DATADIR_M442, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 43), // inst_pic[0] 0, // inst_pic[1] @@ -757,17 +755,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 65), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0xA4), // inst_mess[0] - MAKE_MESSID(0x37, 0x10), // inst_mess[1] + 0x2100A4, // inst_mess[0] + 0x370010, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0xA7), // inst_mess[3] + 0x2100A7, // inst_mess[3] }, { OVL_M443, // ovl 0, // type 2, // flag 5, // record_idx - MAKE_MESSID(0x17, 0x2B), // name_mess + 0x17002B, // name_mess DATADIR_M443, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 44), // inst_pic[0] 0, // inst_pic[1] @@ -775,17 +773,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 44), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0xA8), // inst_mess[0] - MAKE_MESSID(0x21, 0xA9), // inst_mess[1] + 0x2100A8, // inst_mess[0] + 0x2100A9, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0xAB), // inst_mess[3] + 0x2100AB, // inst_mess[3] }, { OVL_M444, // ovl 5, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x2C), // name_mess + 0x17002C, // name_mess DATADIR_M444, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 45), // inst_pic[0] 0, // inst_pic[1] @@ -803,7 +801,7 @@ MgInfo mgInfoTbl[] = { 6, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x2D), // name_mess + 0x17002D, // name_mess DATADIR_M445, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 46), // inst_pic[0] 0, // inst_pic[1] @@ -811,17 +809,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 46), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0xAC), // inst_mess[0] - MAKE_MESSID(0x21, 0xAD), // inst_mess[1] + 0x2100AC, // inst_mess[0] + 0x2100AD, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0xAF), // inst_mess[3] + 0x2100AF, // inst_mess[3] }, { OVL_M446, // ovl 6, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x2E), // name_mess + 0x17002E, // name_mess DATADIR_M446, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 47), // inst_pic[0] 0, // inst_pic[1] @@ -829,17 +827,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 47), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0xB0), // inst_mess[0] - MAKE_MESSID(0x21, 0xB1), // inst_mess[1] + 0x2100B0, // inst_mess[0] + 0x2100B1, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0xB3), // inst_mess[3] + 0x2100B3, // inst_mess[3] }, { OVL_M447, // ovl 6, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x2F), // name_mess + 0x17002F, // name_mess DATADIR_M447, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 48), // inst_pic[0] 0, // inst_pic[1] @@ -847,17 +845,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 48), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0xB4), // inst_mess[0] - MAKE_MESSID(0x21, 0xB5), // inst_mess[1] + 0x2100B4, // inst_mess[0] + 0x2100B5, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0xB7), // inst_mess[3] + 0x2100B7, // inst_mess[3] }, { OVL_M448, // ovl 6, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x30), // name_mess + 0x170030, // name_mess DATADIR_M448, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 49), // inst_pic[0] 0, // inst_pic[1] @@ -865,17 +863,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 49), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0xB8), // inst_mess[0] - MAKE_MESSID(0x21, 0xB9), // inst_mess[1] + 0x2100B8, // inst_mess[0] + 0x2100B9, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0xBB), // inst_mess[3] + 0x2100BB, // inst_mess[3] }, { OVL_M449, // ovl 6, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x31), // name_mess + 0x170031, // name_mess DATADIR_M449, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 50), // inst_pic[0] 0, // inst_pic[1] @@ -883,17 +881,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 50), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0xBC), // inst_mess[0] - MAKE_MESSID(0x21, 0xBD), // inst_mess[1] + 0x2100BC, // inst_mess[0] + 0x2100BD, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0xBF), // inst_mess[3] + 0x2100BF, // inst_mess[3] }, { OVL_M450, // ovl 8, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x32), // name_mess + 0x170032, // name_mess DATADIR_M450, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 51), // inst_pic[0] 0, // inst_pic[1] @@ -901,17 +899,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 51), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0xC0), // inst_mess[0] - MAKE_MESSID(0x21, 0xC1), // inst_mess[1] + 0x2100C0, // inst_mess[0] + 0x2100C1, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0xC3), // inst_mess[3] + 0x2100C3, // inst_mess[3] }, { OVL_M451, // ovl 7, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x33), // name_mess + 0x170033, // name_mess DATADIR_M451, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 52), // inst_pic[0] DATA_MAKE_NUM(DATADIR_INSTPIC, 53), // inst_pic[1] @@ -919,17 +917,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 52), // mg_pic[0] DATA_MAKE_NUM(DATADIR_INSTPIC, 53), // mg_pic[1] DATA_MAKE_NUM(DATADIR_INSTPIC, 54), // mg_pic[2] - MAKE_MESSID(0x21, 0xC4), // inst_mess[0] - MAKE_MESSID(0x37, 0x0D), // inst_mess[1] + 0x2100C4, // inst_mess[0] + 0x37000D, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0xC7), // inst_mess[3] + 0x2100C7, // inst_mess[3] }, { OVL_M450, // ovl 7, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x33), // name_mess + 0x170033, // name_mess DATADIR_M450, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 55), // inst_pic[0] 0, // inst_pic[1] @@ -947,7 +945,7 @@ MgInfo mgInfoTbl[] = { 7, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x34), // name_mess + 0x170034, // name_mess DATADIR_M450, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 50), // inst_pic[0] 0, // inst_pic[1] @@ -955,17 +953,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 50), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0xC8), // inst_mess[0] - MAKE_MESSID(0x37, 0x0A), // inst_mess[1] + 0x2100C8, // inst_mess[0] + 0x37000A, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0xCB), // inst_mess[3] + 0x2100CB, // inst_mess[3] }, { OVL_M450, // ovl 7, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x33), // name_mess + 0x170033, // name_mess DATADIR_M450, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 55), // inst_pic[0] 0, // inst_pic[1] @@ -983,7 +981,7 @@ MgInfo mgInfoTbl[] = { 4, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x35), // name_mess + 0x170035, // name_mess DATADIR_M455, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 56), // inst_pic[0] 0, // inst_pic[1] @@ -991,17 +989,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 56), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0xCC), // inst_mess[0] - MAKE_MESSID(0x21, 0xCD), // inst_mess[1] + 0x2100CC, // inst_mess[0] + 0x2100CD, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0xCF), // inst_mess[3] + 0x2100CF, // inst_mess[3] }, { OVL_M456, // ovl 0, // type 3, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x36), // name_mess + 0x170036, // name_mess DATADIR_M456, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 57), // inst_pic[0] 0, // inst_pic[1] @@ -1009,17 +1007,17 @@ MgInfo mgInfoTbl[] = { DATA_MAKE_NUM(DATADIR_INSTPIC, 57), // mg_pic[0] 0, // mg_pic[1] 0, // mg_pic[2] - MAKE_MESSID(0x21, 0xD0), // inst_mess[0] - MAKE_MESSID(0x21, 0xD1), // inst_mess[1] + 0x2100D0, // inst_mess[0] + 0x2100D1, // inst_mess[1] 0, // inst_mess[2] - MAKE_MESSID(0x21, 0xD3), // inst_mess[3] + 0x2100D3, // inst_mess[3] }, { OVL_M457, // ovl 8, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x37), // name_mess + 0x170037, // name_mess DATADIR_M457, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 58), // inst_pic[0] 0, // inst_pic[1] @@ -1037,7 +1035,7 @@ MgInfo mgInfoTbl[] = { 8, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x38), // name_mess + 0x170038, // name_mess DATADIR_M458, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 59), // inst_pic[0] 0, // inst_pic[1] @@ -1055,7 +1053,7 @@ MgInfo mgInfoTbl[] = { 7, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x38), // name_mess + 0x170038, // name_mess DATADIR_M458, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 50), // inst_pic[0] 0, // inst_pic[1] @@ -1064,7 +1062,7 @@ MgInfo mgInfoTbl[] = { 0, // mg_pic[1] 0, // mg_pic[2] 0, // inst_mess[0] - MAKE_MESSID(0x37, 0x13), // inst_mess[1] + 0x370013, // inst_mess[1] 0, // inst_mess[2] 0, // inst_mess[3] }, @@ -1073,7 +1071,7 @@ MgInfo mgInfoTbl[] = { 7, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x38), // name_mess + 0x170038, // name_mess DATADIR_M458, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 50), // inst_pic[0] 0, // inst_pic[1] @@ -1082,7 +1080,7 @@ MgInfo mgInfoTbl[] = { 0, // mg_pic[1] 0, // mg_pic[2] 0, // inst_mess[0] - MAKE_MESSID(0x37, 0x16), // inst_mess[1] + 0x370016, // inst_mess[1] 0, // inst_mess[2] 0, // inst_mess[3] }, @@ -1091,7 +1089,7 @@ MgInfo mgInfoTbl[] = { 7, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x38), // name_mess + 0x170038, // name_mess DATADIR_M458, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 50), // inst_pic[0] 0, // inst_pic[1] @@ -1100,7 +1098,7 @@ MgInfo mgInfoTbl[] = { 0, // mg_pic[1] 0, // mg_pic[2] 0, // inst_mess[0] - MAKE_MESSID(0x37, 0x19), // inst_mess[1] + 0x370019, // inst_mess[1] 0, // inst_mess[2] 0, // inst_mess[3] }, @@ -1109,7 +1107,7 @@ MgInfo mgInfoTbl[] = { 7, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x38), // name_mess + 0x170038, // name_mess DATADIR_M458, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 50), // inst_pic[0] 0, // inst_pic[1] @@ -1118,7 +1116,7 @@ MgInfo mgInfoTbl[] = { 0, // mg_pic[1] 0, // mg_pic[2] 0, // inst_mess[0] - MAKE_MESSID(0x37, 0x1C), // inst_mess[1] + 0x37001C, // inst_mess[1] 0, // inst_mess[2] 0, // inst_mess[3] }, @@ -1127,7 +1125,7 @@ MgInfo mgInfoTbl[] = { 7, // type 0, // flag 255, // record_idx - MAKE_MESSID(0x17, 0x38), // name_mess + 0x170038, // name_mess DATADIR_M458, // data_dir DATA_MAKE_NUM(DATADIR_INSTPIC, 50), // inst_pic[0] 0, // inst_pic[1] @@ -1136,7 +1134,7 @@ MgInfo mgInfoTbl[] = { 0, // mg_pic[1] 0, // mg_pic[2] 0, // inst_mess[0] - MAKE_MESSID(0x37, 0x07), // inst_mess[1] + 0x370007, // inst_mess[1] 0, // inst_mess[2] 0, // inst_mess[3] }, @@ -1160,13 +1158,13 @@ MgInfo mgInfoTbl[] = { }, }; -void MGSeqPracticeExitCheck(omObjData *); +void MGSeqPracticeExitCheck(omObjData*); s16 mgTypeCurr; s16 mgBattleStar[4]; s16 mgBattleStarMax; u8 lbl_801D3E94; -u32 mgRecordExtra; +s32 mgRecordExtra; s32 mgQuitExtraF; s32 mgPracticeEnableF; s32 mgInstExitEnableF; @@ -1176,13 +1174,12 @@ s16 mgTicTacToeGrid[3][3]; u8 mgIndexList[256]; GameStat mgGameStatBackup; -s32 omMgIndexGet(s16 overlay) -{ +s32 omMgIndexGet(s16 overlay) { s32 i; MgInfo *info; info = mgInfoTbl; - + for (i = 0; info->ovl != ((u16)OVL_INVALID); i++) { if (info->ovl == overlay) { return (s16)i; @@ -1193,29 +1190,27 @@ s32 omMgIndexGet(s16 overlay) return -1; } -void omGameSysInit(Process *objman) -{ +void omGameSysInit(Process *objman) { s32 i; - omObjData *obj; + omObjData* obj; omSystemKeyCheckSetup(objman); Hu3DCameraScissorSet(1, 0, 0, 0x280, 0x1E0); omSysPauseEnable(0); - + for (i = 0; i < 4; i++) { GWPlayerCoinWinSet(i, 0); GWPlayerCoinCollectSet(i, 0); } - + if (mgPracticeEnableF != 0) { obj = omAddObjEx(objman, 0x7FDC, 0, 0, -1, MGSeqPracticeExitCheck); omSetStatBit(obj, 0xA0U); } } -void omVibrate(s16 player, s16 duration, s16 off, s16 on) -{ - +void omVibrate(s16 player, s16 duration, s16 off, s16 on) { + if (GWRumbleGet() != 0 && GWPlayerCfg[player].iscom == 0) { HuPadRumbleSet(GWPlayerCfg[player].pad_idx, duration, off, on); } diff --git a/src/game/objsysobj.c b/src/game/objsysobj.c index 210bdbfd..3e6b56f3 100644 --- a/src/game/objsysobj.c +++ b/src/game/objsysobj.c @@ -6,7 +6,7 @@ #include "game/sprite.h" #include "game/hsfman.h" #include "game/audio.h" -#include "ext_math.h" +#include "math.h" Vec CRot; Vec Center; @@ -23,15 +23,15 @@ void omOutView(omObjData *object) float rot_x = CRot.x; float rot_y = CRot.y; float rot_z = CRot.z; - pos.x = (sind(rot_y)*cosd(rot_x)*CZoom)+Center.x; - pos.y = (-sind(rot_x)*CZoom)+Center.y; - pos.z = (cosd(rot_y)*cosd(rot_x)*CZoom)+Center.z; + pos.x = (sin(M_PI*rot_y/180.0)*cos(M_PI*rot_x/180.0)*CZoom)+Center.x; + pos.y = (-sin(M_PI*rot_x/180.0)*CZoom)+Center.y; + pos.z = (cos(M_PI*rot_y/180.0)*cos(M_PI*rot_x/180.0)*CZoom)+Center.z; target.x = Center.x; target.y = Center.y; target.z = Center.z; - up.x = sind(rot_y)*sind(rot_x); - up.y = cosd(rot_x); - up.z = cosd(rot_y)*sind(rot_x); + up.x = sin(M_PI*rot_y/180.0)*sin(M_PI*rot_x/180.0); + up.y = cos(M_PI*rot_x/180.0); + up.z = cos(M_PI*rot_y/180.0)*sin(M_PI*rot_x/180.0); Hu3DCameraPosSet(1, pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z); } @@ -43,15 +43,15 @@ void omOutViewMulti(omObjData *object) float rot_x = CRotM[i].x; float rot_y = CRotM[i].y; float rot_z = CRotM[i].z; - pos.x = (sind(rot_y)*cosd(rot_x)*CZoomM[i])+CenterM[i].x; - pos.y = (-sind(rot_x)*CZoomM[i])+CenterM[i].y; - pos.z = (cosd(rot_y)*cosd(rot_x)*CZoomM[i])+CenterM[i].z; + pos.x = (sin(M_PI*rot_y/180.0)*cos(M_PI*rot_x/180.0)*CZoomM[i])+CenterM[i].x; + pos.y = (-sin(M_PI*rot_x/180.0)*CZoomM[i])+CenterM[i].y; + pos.z = (cos(M_PI*rot_y/180.0)*cos(M_PI*rot_x/180.0)*CZoomM[i])+CenterM[i].z; target.x = CenterM[i].x; target.y = CenterM[i].y; target.z = CenterM[i].z; - up.x = sind(rot_y)*sind(rot_x); - up.y = cosd(rot_x); - up.z = cosd(rot_y)*sind(rot_x); + up.x = sin(M_PI*rot_y/180.0)*sin(M_PI*rot_x/180.0); + up.y = cos(M_PI*rot_x/180.0); + up.z = cos(M_PI*rot_y/180.0)*sin(M_PI*rot_x/180.0); Hu3DCameraPosSetV((1 << i), &pos, &up, &target); } } @@ -145,4 +145,4 @@ void omSysPauseCtrl(s16 flag) } else { omDBGSysKeyObj->work[0] |= 0x100; } -} +} \ No newline at end of file diff --git a/src/game/printfunc.c b/src/game/printfunc.c index 4f85f5a9..b1924299 100644 --- a/src/game/printfunc.c +++ b/src/game/printfunc.c @@ -1,8 +1,6 @@ #include "dolphin.h" #include "game/printfunc.h" #include "game/init.h" -#include "game/disp.h" - #include "stdio.h" #include "stdarg.h" @@ -142,7 +140,7 @@ void pfDrawFonts(void) if(saftyFrameF) { WireDraw(); } - MTXOrtho(proj, 0, HU_FB_HEIGHT, 0, HU_FB_WIDTH, 0, 10); + MTXOrtho(proj, 0, 480, 0, 640, 0, 10); GXSetProjection(proj, GX_ORTHOGRAPHIC); MTXIdentity(modelview); GXLoadPosMtxImm(modelview, GX_PNMTX0); @@ -291,7 +289,7 @@ void pfDrawFonts(void) GXEnd(); } x += char_w; - if(x > HU_FB_WIDTH) { + if(x > 640) { x = 0; y += char_h; } @@ -303,21 +301,18 @@ void pfDrawFonts(void) } } -#define SAFETY_W 16 -#define SAFETY_H 40 - static void WireDraw(void) { Mtx44 proj; Mtx modelview; - MTXOrtho(proj, 0, HU_DISP_HEIGHT, 0, HU_DISP_WIDTH, 0, 10); + MTXOrtho(proj, 0, 480, 0, 576, 0, 10); GXSetProjection(proj, GX_ORTHOGRAPHIC); if(RenderMode->field_rendering) { - GXSetViewportJitter(0, 0, HU_FB_WIDTH, HU_FB_HEIGHT, 0, 1, VIGetNextField()); + GXSetViewportJitter(0, 0, 640, 480, 0, 1, VIGetNextField()); } else { - GXSetViewport(0, 0, HU_FB_WIDTH, HU_FB_HEIGHT, 0, 1); + GXSetViewport(0, 0, 640, 480, 0, 1); } - GXSetScissor(0, 0, HU_FB_WIDTH, HU_FB_HEIGHT); + GXSetScissor(0, 0, 640, 480); GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_DIRECT); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0); @@ -336,21 +331,21 @@ static void WireDraw(void) MTXIdentity(modelview); GXLoadPosMtxImm(modelview, GX_PNMTX0); GXBegin(GX_LINES, 0, 8); - GXPosition2f32(SAFETY_W, SAFETY_H); + GXPosition2f32(16, 40); GXColor3u8(255, 0, 0); - GXPosition2f32(SAFETY_W, HU_DISP_HEIGHT-SAFETY_H); + GXPosition2f32(16, 440); GXColor3u8(255, 0, 0); - GXPosition2f32(SAFETY_W, SAFETY_H); + GXPosition2f32(16, 40); GXColor3u8(255, 0, 0); - GXPosition2f32(HU_DISP_WIDTH-SAFETY_W, SAFETY_H); + GXPosition2f32(560, 40); GXColor3u8(255, 0, 0); - GXPosition2f32(HU_DISP_WIDTH-SAFETY_W, HU_DISP_HEIGHT-SAFETY_H); + GXPosition2f32(560, 440); GXColor3u8(255, 0, 0); - GXPosition2f32(HU_DISP_WIDTH-SAFETY_W, SAFETY_H); + GXPosition2f32(560, 40); GXColor3u8(255, 0, 0); - GXPosition2f32(HU_DISP_WIDTH-SAFETY_W, HU_DISP_HEIGHT-SAFETY_H); + GXPosition2f32(560, 440); GXColor3u8(255, 0, 0); - GXPosition2f32(SAFETY_W, HU_DISP_HEIGHT-SAFETY_H); + GXPosition2f32(16, 440); GXColor3u8(255, 0, 0); GXEnd(); } diff --git a/src/game/saveload.c b/src/game/saveload.c index df1e5d6e..7515e5cc 100644 --- a/src/game/saveload.c +++ b/src/game/saveload.c @@ -1,30 +1,23 @@ #include "game/saveload.h" -#include "data_num/win.h" -#include "game/card.h" #include "game/data.h" -#include "game/flag.h" -#include "game/gamework_data.h" #include "game/pad.h" -#include "game/sprite.h" #include "game/window.h" +#include "game/flag.h" +#include "game/card.h" +#include "game/sprite.h" +#include "game/gamework_data.h" +#include "data_num/win.h" -#include "stddef.h" #include "string.h" +#include "stddef.h" -#if VERSION_ENG -#define SAVE_WRITE_BEGIN _SetFlag(FLAG_ID_MAKE(3, 0)); -#define SAVE_WRITE_END _ClearFlag(FLAG_ID_MAKE(3, 0)); -#else -#define SAVE_WRITE_BEGIN -#define SAVE_WRITE_END -#endif - -#define SAVE_GET_PLAYER(player_idx) &saveBuf.buf[((player_idx) * sizeof(PlayerState)) + offsetof(SaveBufData, player)] -#define SAVE_GET_PLAYER_STORY(player_idx) &saveBuf.buf[((player_idx) * sizeof(PlayerState)) + offsetof(SaveBufData, playerStory)] +#define SAVE_GET_PLAYER(player_idx) &saveBuf.buf[((player_idx)*sizeof(PlayerState))+offsetof(SaveBufData, player)] +#define SAVE_GET_PLAYER_STORY(player_idx) &saveBuf.buf[((player_idx)*sizeof(PlayerState))+offsetof(SaveBufData, playerStory)] static s16 SLCreateSaveWin(void); static void SLKillSaveWin(void); + extern u8 UnMountCnt; CARDFileInfo curFileInfo; @@ -35,28 +28,27 @@ s32 saveExecF; u8 curBoxNo; s16 curSlotNo; -#if VERSION_JP -static u8 commentTbl[2][32] = { "マリオパーティ4", "??月??日 データ?です。" }; -static u8 sjisNumTbl[20] = "0123456789"; -#else -static u8 commentTbl[2][32] = { "Mario Party 4", "File 0 00/00/0000" }; -#endif +static u8 commentTbl[2][32] = { + "Mario Party 4", + "File 0 00/00/0000" +}; -char *SaveFileNameTbl[] = { "MARIPA4BOX0", "MARIPA4BOX1", "MARIPA4BOX2" }; +char *SaveFileNameTbl[] = { + "MARIPA4BOX0", + "MARIPA4BOX1", + "MARIPA4BOX2" +}; s32 SaveEnableF = 1; -static char *SlotNameTbl[] = { "A", "B" }; - -#if VERSION_JP -static char *slotIconMesTbl[] = { "\x0E\x16", "\x0E\x17" }; -static u8 sjisSpace[] = " "; -#endif +static char *SlotNameTbl[] = { + "A", + "B" +}; static s32 saveMessWin = -1; -s32 SLFileOpen(char *fileName) -{ +s32 SLFileOpen(char *fileName) { s32 result; if (SaveEnableF == 0) { @@ -64,7 +56,7 @@ s32 SLFileOpen(char *fileName) } while (1) { result = SLCardMount(curSlotNo); - if (result < 0) { + if(result < 0) { return result; } result = HuCardOpen(curSlotNo, fileName, &curFileInfo); @@ -96,19 +88,16 @@ s32 SLFileOpen(char *fileName) if (result != 0) { return result; } - } - else { + } else { return CARD_RESULT_NOFILE; } - } - else { + } else { return CARD_RESULT_READY; } } } -s32 SLFileCreate(char *fileName, u32 size, void *addr) -{ +s32 SLFileCreate(char *fileName, u32 size, void *addr) { float winSize[2]; u32 byteNotUsed; u32 filesNotUsed; @@ -146,9 +135,9 @@ s32 SLFileCreate(char *fileName, u32 size, void *addr) HuWinExAnimIn(window); HuWinMesSet(window, MAKE_MESSID(16, 11)); HuWinMesWait(window); - SAVE_WRITE_BEGIN + _SetFlag(FLAG_ID_MAKE(3, 0)); result = HuCardCreate(curSlotNo, fileName, size, &curFileInfo); - SAVE_WRITE_END + _ClearFlag(FLAG_ID_MAKE(3, 0)); if (result < 0) { HuWinExAnimOut(window); HuWinExCleanup(window); @@ -161,9 +150,9 @@ s32 SLFileCreate(char *fileName, u32 size, void *addr) SLMessOut(1); return CARD_RESULT_FATAL_ERROR; } - SAVE_WRITE_BEGIN + _SetFlag(FLAG_ID_MAKE(3, 0)); result = HuCardWrite(&curFileInfo, addr, size, 0); - SAVE_WRITE_END + _ClearFlag(FLAG_ID_MAKE(3, 0)); if (result < 0) { HuWinExAnimOut(window); HuWinExCleanup(window); @@ -176,9 +165,9 @@ s32 SLFileCreate(char *fileName, u32 size, void *addr) SLMessOut(1); return CARD_RESULT_FATAL_ERROR; } - SAVE_WRITE_BEGIN + _SetFlag(FLAG_ID_MAKE(3, 0)); result = SLStatSet(1); - SAVE_WRITE_END + _ClearFlag(FLAG_ID_MAKE(3, 0)); HuWinExAnimOut(window); HuWinExCleanup(window); if (result < 0) { @@ -187,8 +176,7 @@ s32 SLFileCreate(char *fileName, u32 size, void *addr) return 0; } -s32 SLFileWrite(s32 length, void *addr) -{ +s32 SLFileWrite(s32 length, void *addr) { float winSize[2]; s32 window; s32 result; @@ -203,19 +191,18 @@ s32 SLFileWrite(s32 length, void *addr) HuWinMesSet(window, MAKE_MESSID(16, 11)); HuWinMesWait(window); HuPrcSleep(60); - SAVE_WRITE_BEGIN + _SetFlag(FLAG_ID_MAKE(3, 0)); result = HuCardWrite(&curFileInfo, addr, length, 0); if (result == 0) { result = SLStatSet(1); } - SAVE_WRITE_END + _ClearFlag(FLAG_ID_MAKE(3, 0)); HuWinExAnimOut(window); HuWinExCleanup(window); return result; } -s32 SLFileRead(s32 length, void *addr) -{ +s32 SLFileRead(s32 length, void *addr) { s32 result; if (SaveEnableF == 0) { @@ -224,15 +211,13 @@ s32 SLFileRead(s32 length, void *addr) result = HuCardRead(&curFileInfo, addr, length, 0); if (result == CARD_RESULT_NOCARD) { SLMessOut(0); - } - else if (result < 0) { + } else if (result < 0) { SLMessOut(1); } return result; } -s32 SLFileClose(void) -{ +s32 SLFileClose(void) { s32 result; if (SaveEnableF == 0) { @@ -242,18 +227,15 @@ s32 SLFileClose(void) return result; } -void SLCurSlotNoSet(s16 slotno) -{ +void SLCurSlotNoSet(s16 slotno) { curSlotNo = slotno; } -void SLCurBoxNoSet(s16 boxno) -{ +void SLCurBoxNoSet(s16 boxno) { curBoxNo = boxno; } -void SLSaveFlagSet(s32 flag) -{ +void SLSaveFlagSet(s32 flag) { if (flag == 0) { GWGameStat.party_continue = 0; GWGameStat.story_continue = 0; @@ -261,13 +243,11 @@ void SLSaveFlagSet(s32 flag) SaveEnableF = flag; } -s32 SLSaveFlagGet(void) -{ +s32 SLSaveFlagGet(void) { return SaveEnableF; } -void SLSaveDataMake(s32 erase, OSTime *time) -{ +void SLSaveDataMake(s32 erase, OSTime *time) { AnimData *anim_data; u8 *buf; s32 i; @@ -282,25 +262,23 @@ void SLSaveDataMake(s32 erase, OSTime *time) buf[i] = (&commentTbl[0][0])[i]; } for (i = 0; i < 0x20; i++) { - (&buf[0x20])[i] = (&commentTbl[0][0])[i + 32]; + (&buf[0x20])[i] = (&commentTbl[0][0])[i+32]; } anim_data = HuSprAnimReadFile(WIN_CARD_BANNER_ANM); - memcpy(buf + offsetof(SaveBufData, banner), anim_data->bmp->data, CARD_BANNER_WIDTH * CARD_BANNER_HEIGHT); + memcpy(buf + offsetof(SaveBufData, banner), anim_data->bmp->data, CARD_BANNER_WIDTH*CARD_BANNER_HEIGHT); memcpy(buf + offsetof(SaveBufData, bannerTlut), anim_data->bmp->palData, 512); anim_data = HuSprAnimReadFile(curBoxNo + WIN_CARD_BOX1_ICON_ANM); - memcpy(buf + offsetof(SaveBufData, icon), anim_data->bmp->data, CARD_ICON_WIDTH * CARD_ICON_HEIGHT * 4); + memcpy(buf + offsetof(SaveBufData, icon), anim_data->bmp->data, CARD_ICON_WIDTH*CARD_ICON_HEIGHT*4); memcpy(buf + offsetof(SaveBufData, iconTlut), anim_data->bmp->palData, 512); SLSaveDataInfoSet(time); } -void SLSaveDataInfoSet(OSTime *time) -{ +void SLSaveDataInfoSet(OSTime *time) { s16 year; s16 digit; OSCalendarTime sp8; OSTicksToCalendarTime(*time, &sp8); -#if VERSION_ENG saveBuf.data.comment[37] = curBoxNo + '1'; digit = (sp8.mon + 1) / 10; saveBuf.data.comment[40] = digit + '0'; @@ -321,59 +299,9 @@ void SLSaveDataInfoSet(OSTime *time) saveBuf.data.comment[48] = digit + '0'; year -= digit * 10; saveBuf.data.comment[49] = year + '0'; -#elif VERSION_PAL - saveBuf.data.comment[37] = curBoxNo + '1'; - digit = sp8.mday / 10; - saveBuf.data.comment[40] = digit + '0'; - digit = sp8.mday % 10; - saveBuf.data.comment[41] = digit + '0'; - digit = (sp8.mon + 1) / 10; - saveBuf.data.comment[43] = digit + '0'; - digit = (sp8.mon + 1) % 10; - saveBuf.data.comment[44] = digit + '0'; - year = sp8.year; - digit = year / 1000; - saveBuf.data.comment[46] = digit + '0'; - year -= digit * 1000; - digit = year / 100; - saveBuf.data.comment[47] = digit + '0'; - year -= digit * 100; - digit = year / 10; - saveBuf.data.comment[48] = digit + '0'; - year -= digit * 10; - saveBuf.data.comment[49] = year + '0'; -#else - saveBuf.data.comment[52] = sjisNumTbl[(curBoxNo + 1) * 2]; - saveBuf.data.comment[53] = sjisNumTbl[(curBoxNo + 1) * 2 + 1]; - digit = (sp8.mon + 1) / 10; - if (digit == 0) { - saveBuf.data.comment[32] = sjisSpace[0]; - saveBuf.data.comment[33] = sjisSpace[1]; - } - else { - saveBuf.data.comment[32] = sjisNumTbl[digit * 2]; - saveBuf.data.comment[33] = sjisNumTbl[digit * 2 + 1]; - } - digit = (sp8.mon + 1) % 10; - saveBuf.data.comment[34] = sjisNumTbl[digit * 2]; - saveBuf.data.comment[35] = sjisNumTbl[digit * 2 + 1]; - digit = sp8.mday / 10; - if (digit == 0) { - saveBuf.data.comment[38] = sjisSpace[0]; - saveBuf.data.comment[39] = sjisSpace[1]; - } - else { - saveBuf.data.comment[38] = sjisNumTbl[digit * 2]; - saveBuf.data.comment[39] = sjisNumTbl[digit * 2 + 1]; - } - digit = sp8.mday % 10; - saveBuf.data.comment[40] = sjisNumTbl[digit * 2]; - saveBuf.data.comment[41] = sjisNumTbl[digit * 2 + 1]; -#endif } -void SLCommonSet(void) -{ +void SLCommonSet(void) { OSTime create_time; create_time = OSGetTime(); @@ -382,8 +310,7 @@ void SLCommonSet(void) SLSaveDataInfoSet(&create_time); } -void SLSaveBoard(void) -{ +void SLSaveBoard(void) { s16 i; memcpy(&saveBuf.data.system, &GWSystem, sizeof(SystemState)); @@ -392,8 +319,7 @@ void SLSaveBoard(void) } } -void SLSaveBoardStory(void) -{ +void SLSaveBoardStory(void) { s16 i; memcpy(&saveBuf.data.systemStory, &GWSystem, sizeof(SystemState)); @@ -402,8 +328,7 @@ void SLSaveBoardStory(void) } } -s32 SLSave(void) -{ +s32 SLSave(void) { s32 result; while (1) { @@ -412,8 +337,7 @@ s32 SLSave(void) if (result == CARD_RESULT_NOFILE) { if (!SLSerialNoCheck()) { SLMessOut(9); - } - else { + } else { SLCreateSaveWin(); result = SLFileCreate(SaveFileNameTbl[curBoxNo], 16384, &saveBuf); SLKillSaveWin(); @@ -422,8 +346,7 @@ s32 SLSave(void) goto block_32; } } - } - else { + } else { if (result == CARD_RESULT_NOCARD) { result = SLMessOut(10); if (result != 0) { @@ -436,18 +359,15 @@ s32 SLSave(void) if (result >= 0) { if (!SLSerialNoCheck()) { SLMessOut(9); - } - else { + } else { SLCreateSaveWin(); result = SLFileWrite(16384, &saveBuf); SLKillSaveWin(); if (result == CARD_RESULT_NOCARD) { SLMessOut(0); - } - else if (result == CARD_RESULT_WRONGDEVICE) { + } else if (result == CARD_RESULT_WRONGDEVICE) { SLMessOut(7); - } - else if (result == CARD_RESULT_BROKEN) { + } else if (result == CARD_RESULT_BROKEN) { result = HuCardSectorSizeGet(curSlotNo); if (result > 0 && result != 8192) { SLMessOut(8); @@ -461,15 +381,13 @@ s32 SLSave(void) return result; } continue; - } - else { + } else { result = CARD_RESULT_BROKEN; } - } - else if (result < 0) { + } else if (result < 0) { SLMessOut(1); } - block_32: +block_32: SLFileClose(); if (result >= 0) { HuCardUnMount(curSlotNo); @@ -478,12 +396,11 @@ s32 SLSave(void) } } } - block_36: +block_36: result = SLMessOut(10); if (result != 0) { SLMessOut(11); - } - else { + } else { SLSaveFlagSet(0); break; } @@ -492,37 +409,23 @@ s32 SLSave(void) return 0; } -#if VERSION_NTSC -#define SAVEWIN_POS 150 -#else -#define SAVEWIN_POS 120 -#endif - -#if VERSION_JP -#define SAVEWIN_MESS slotIconMesTbl -#else -#define SAVEWIN_MESS SlotNameTbl -#endif - -static s16 SLCreateSaveWin(void) -{ +static s16 SLCreateSaveWin(void) { float size[2]; s16 window; HuWinInit(1); - HuWinInsertMesSizeGet(MAKE_MESSID_PTR(SAVEWIN_MESS[curSlotNo]), 0); + HuWinInsertMesSizeGet(MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0); HuWinMesMaxSizeGet(1, size, MAKE_MESSID(16, 68)); - window = HuWinExCreateStyled(-10000.0f, SAVEWIN_POS, size[0], size[1], -1, 2); + window = HuWinExCreateStyled(-10000.0f, 150.0f, size[0], size[1], -1, 2); saveMessWin = window; HuWinExAnimIn(window); - HuWinInsertMesSet(window, MAKE_MESSID_PTR(SAVEWIN_MESS[curSlotNo]), 0); + HuWinInsertMesSet(window, MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0); HuWinMesSet(window, MAKE_MESSID(16, 68)); HuWinMesWait(window); return window; } -static void SLKillSaveWin(void) -{ +static void SLKillSaveWin(void) { if (saveMessWin != -1) { HuWinExAnimOut(saveMessWin); HuWinExCleanup(saveMessWin); @@ -530,8 +433,7 @@ static void SLKillSaveWin(void) } } -s32 SLLoad(void) -{ +s32 SLLoad(void) { s32 result; u16 *save_checksum; u16 checksum; @@ -550,13 +452,11 @@ s32 SLLoad(void) return 0; } -void SLLoadGameStat(void) -{ +void SLLoadGameStat(void) { memcpy(&GWGameStat, &saveBuf.data.stat, sizeof(GameStat)); } -void SLLoadBoard(void) -{ +void SLLoadBoard(void) { s16 i; memcpy(&GWSystem, &saveBuf.data.system, sizeof(SystemState)); @@ -570,8 +470,7 @@ void SLLoadBoard(void) } } -void SLLoadBoardStory(void) -{ +void SLLoadBoardStory(void) { s16 i; memcpy(&GWSystem, &saveBuf.data.systemStory, 0xDC); @@ -585,13 +484,11 @@ void SLLoadBoardStory(void) } } -s32 SLSerialNoGet(void) -{ +s32 SLSerialNoGet(void) { return CARDGetSerialNo(curSlotNo, &SLSerialNo); } -BOOL SLSerialNoCheck(void) -{ +BOOL SLSerialNoCheck(void) { s32 result; u64 serialNo; @@ -608,8 +505,7 @@ BOOL SLSerialNoCheck(void) return TRUE; } -BOOL SLCheckSumCheck(void) -{ +BOOL SLCheckSumCheck(void) { u16 *save_checksum = (u16 *)&saveBuf.buf[sizeof(SaveBufData)]; u16 checksum = SLCheckSumGet(); @@ -619,8 +515,7 @@ BOOL SLCheckSumCheck(void) return FALSE; } -u16 SLCheckSumGet(void) -{ +u16 SLCheckSumGet(void) { u32 i; u32 checksum; @@ -628,19 +523,17 @@ u16 SLCheckSumGet(void) checksum += saveBuf.buf[i]; } checksum = ~checksum; - return (u16)checksum & 0xFFFF; + return (u16) checksum & 0xFFFF; } -void SLCheckSumSet(void) -{ +void SLCheckSumSet(void) { u16 checksum = SLCheckSumGet(); saveBuf.buf[sizeof(SaveBufData)] = (checksum >> 8) & 0xFF; - saveBuf.buf[sizeof(SaveBufData) + 1] = checksum; + saveBuf.buf[sizeof(SaveBufData)+1] = checksum; } -s32 SLStatSet(s32 reportF) -{ +s32 SLStatSet(s32 reportF) { CARDStat stat; s32 fileNo; s32 result; @@ -689,8 +582,7 @@ s32 SLStatSet(s32 reportF) return result; } -s32 SLCardMount(s16 slotNo) -{ +s32 SLCardMount(s16 slotNo) { s32 result; while (1) { @@ -720,12 +612,10 @@ s32 SLCardMount(s16 slotNo) if (result != 0) { return result; } - } - else { + } else { return CARD_RESULT_FATAL_ERROR; } - } - else { + } else { break; } } @@ -741,8 +631,7 @@ s32 SLCardMount(s16 slotNo) return 0; } -s32 SLFormat(s16 slotNo) -{ +s32 SLFormat(s16 slotNo) { float winSize[2]; s16 result; s16 window1; @@ -750,11 +639,11 @@ s32 SLFormat(s16 slotNo) OSTime time; HuWinInit(1); - HuWinInsertMesSizeGet(MAKE_MESSID_PTR(SAVEWIN_MESS[curSlotNo]), 0); + HuWinInsertMesSizeGet(MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0); HuWinMesMaxSizeGet(1, winSize, MAKE_MESSID(16, 56)); - window1 = HuWinExCreateStyled(-10000.0f, SAVEWIN_POS, winSize[0], winSize[1], -1, 2); + window1 = HuWinExCreateStyled(-10000.0f, 150.0f, winSize[0], winSize[1], -1, 2); HuWinExAnimIn(window1); - HuWinInsertMesSet(window1, MAKE_MESSID_PTR(SAVEWIN_MESS[curSlotNo]), 0); + HuWinInsertMesSet(window1, MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0); HuWinMesSet(window1, MAKE_MESSID(16, 56)); HuWinMesMaxSizeGet(1, winSize, MAKE_MESSID(16, 11)); window2 = HuWinExCreateStyled(-10000.0f, 200.0f, winSize[0], winSize[1], -1, 2); @@ -770,9 +659,9 @@ s32 SLFormat(s16 slotNo) SLMessOut(12); return 0; } - SAVE_WRITE_BEGIN + _SetFlag(FLAG_ID_MAKE(3, 0)); result = HuCardFormat(curSlotNo); - SAVE_WRITE_END + _ClearFlag(FLAG_ID_MAKE(3, 0)); if (result < 0) { HuWinExAnimOut(window1); HuWinExCleanup(window1); @@ -804,8 +693,7 @@ s32 SLFormat(s16 slotNo) return result; } -s16 SLMessOut(s16 mess) -{ +s16 SLMessOut(s16 mess) { WindowData *var_r26; float size[2]; u32 slot_mess; @@ -833,23 +721,11 @@ s16 SLMessOut(s16 mess) case 2: HuWinInsertMesSizeGet(MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0); slot_mess = MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]); -#if VERSION_ENG save_mess = MAKE_MESSID(16, 74); -#elif VERSION_PAL - save_mess = MAKE_MESSID(16, 72); -#else - save_mess = MAKE_MESSID(16, 5); -#endif break; case 3: -#if VERSION_ENG save_mess = MAKE_MESSID(16, 74); -#elif VERSION_PAL - save_mess = MAKE_MESSID(16, 72); -#else - save_mess = MAKE_MESSID(16, 6); -#endif HuWinInsertMesSizeGet(MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0); slot_mess = MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]); break; @@ -896,11 +772,7 @@ s16 SLMessOut(s16 mess) case 11: HuWinInsertMesSizeGet(MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0); slot_mess = MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]); -#if VERSION_ENG save_mess = MAKE_MESSID(16, 72); -#else - save_mess = MAKE_MESSID(16, 76); -#endif break; case 12: @@ -909,8 +781,7 @@ s16 SLMessOut(s16 mess) } if (save_mess == MAKE_MESSID(16, 4)) { HuWinMesMaxSizeGet(1, size, MAKE_MESSID(16, 78)); - } - else { + } else { HuWinMesMaxSizeGet(1, size, save_mess); } window = HuWinExCreateStyled(-10000.0f, 200.0f, size[0], size[1], -1, 2); diff --git a/src/game/sprput.c b/src/game/sprput.c index c2b061b1..c3e50f2b 100644 --- a/src/game/sprput.c +++ b/src/game/sprput.c @@ -1,7 +1,6 @@ #include "game/sprite.h" #include "game/hsfman.h" #include "game/init.h" -#include "game/disp.h" #include "dolphin/mtx.h" #include "dolphin/gx.h" #include "dolphin/vi.h" @@ -24,14 +23,14 @@ void HuSprDispInit(void) } bmpCCIdx = 0; GXInvalidateTexAll(); - MTXOrtho(proj, 0, HU_DISP_HEIGHT, 0, HU_DISP_WIDTH, 0, 10); + MTXOrtho(proj, 0, 480, 0, 576, 0, 10); GXSetProjection(proj, GX_ORTHOGRAPHIC); if(RenderMode->field_rendering) { - GXSetViewportJitter(0, 0, HU_FB_WIDTH, HU_FB_HEIGHT, 0, 1, VIGetNextField()); + GXSetViewportJitter(0, 0, 640, 480, 0, 1, VIGetNextField()); } else { - GXSetViewport(0, 0, HU_FB_WIDTH, HU_FB_HEIGHT, 0, 1); + GXSetViewport(0, 0, 640, 480, 0, 1); } - GXSetScissor(0, 0, HU_FB_WIDTH, HU_FB_HEIGHT); + GXSetScissor(0, 0, 640, 480); GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_DIRECT); GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); diff --git a/src/game/sreset.c b/src/game/sreset.c index 10d49ef4..ae00c3cf 100644 --- a/src/game/sreset.c +++ b/src/game/sreset.c @@ -4,9 +4,6 @@ #include "game/pad.h" #include "game/audio.h" #include "game/thpmain.h" -#include "game/gamework_data.h" - -#include "version.h" #define SR_DVD_LOADING 0 #define SR_DVD_COVER_OPEN 1 @@ -22,12 +19,6 @@ extern s32 HuDvdErrWait; static s32 SR_PreRstChk[4] = {}; -#if VERSION_JP -static s32 padding[4] = {}; -#endif - -#if VERSION_ENG - #include "coveropen_en.inc" #include "fatalerror_en.inc" #include "loading_en.inc" @@ -35,54 +26,6 @@ static s32 padding[4] = {}; #include "retryerror_en.inc" #include "wrongdisc_en.inc" -#elif VERSION_PAL - -#include "coveropen_en.inc" -#include "fatalerror_en.inc" -#include "loading_en.inc" -#include "nodisc_en.inc" -#include "retryerror_en.inc" -#include "wrongdisc_en.inc" - -#include "coveropen_fr.inc" -#include "fatalerror_fr.inc" -#include "loading_fr.inc" -#include "nodisc_fr.inc" -#include "retryerror_fr.inc" -#include "wrongdisc_fr.inc" - -#include "coveropen_ge.inc" -#include "fatalerror_ge.inc" -#include "loading_ge.inc" -#include "nodisc_ge.inc" -#include "retryerror_ge.inc" -#include "wrongdisc_ge.inc" - -#include "coveropen_it.inc" -#include "fatalerror_it.inc" -#include "loading_it.inc" -#include "nodisc_it.inc" -#include "retryerror_it.inc" -#include "wrongdisc_it.inc" - -#include "coveropen_sp.inc" -#include "fatalerror_sp.inc" -#include "loading_sp.inc" -#include "nodisc_sp.inc" -#include "retryerror_sp.inc" -#include "wrongdisc_sp.inc" - -#else - -#include "coveropen_jp.inc" -#include "fatalerror_jp.inc" -#include "loading_jp.inc" -#include "nodisc_jp.inc" -#include "retryerror_jp.inc" -#include "wrongdisc_jp.inc" - -#endif - static s16 SR_PushTime[4] = {}; static s8 SR_ResetPad = -1; @@ -160,17 +103,9 @@ void HuDvdErrDispInit(GXRenderModeObj *rmode, void *xfb1, void *xfb2) XfbW = (u16)(((u16)rmode->fbWidth+15) & ~0xF); XfbH = rmode->xfbHeight; } else { - #if VERSION_NTSC XfbW = 640; XfbH = 480; - #else - XfbW = 640; - XfbH = 528; - #endif } - #if VERSION_PAL - (void)(VIGetTvFormat() == VI_PAL); - #endif if((u16)rmode->xFBmode == VI_XFBMODE_SF) { XfbProg = 0; } else { @@ -288,43 +223,20 @@ static void ToeDispCheck(void) _HuDvdErrDispXFB(status); } -#if VERSION_NTSC - -#define XFB_SIZE 0x96000 - -#else - -#define XFB_SIZE (XfbW*XfbH*2) - -#endif - static void _HuDvdErrDispXFB(s32 error) { - #if VERSION_ENG static void *bmpMes[][6] = { - loading_en, coveropen_en, nodisc_en, wrongdisc_en, retryerror_en, fatalerror_en + loading_en, coveropen_en, nodisc_en, wrongdisc_en, retryerror_en, fatalerror_en }; - #elif VERSION_PAL - static void *bmpMes[][6] = { - loading_en, coveropen_en, nodisc_en, wrongdisc_en, retryerror_en, fatalerror_en, - loading_fr, coveropen_fr, nodisc_fr, wrongdisc_fr, retryerror_fr, fatalerror_fr, - loading_ge, coveropen_ge, nodisc_ge, wrongdisc_ge, retryerror_ge, fatalerror_ge, - loading_it, coveropen_it, nodisc_it, wrongdisc_it, retryerror_it, fatalerror_it, - loading_sp, coveropen_sp, nodisc_sp, wrongdisc_sp, retryerror_sp, fatalerror_sp - }; - #else - static void *bmpMes[][6] = { - loading_jp, coveropen_jp, nodisc_jp, wrongdisc_jp, retryerror_jp, fatalerror_jp - }; - #endif - + volatile s32 status; + u8 color[2]; + s8 language; s16 *bmpData; u8 *xfb1_ptr; u8 *xfb2_ptr; u32 i; u32 data; u32 row; - s8 language; u32 *xfb1; u32 *xfb2; u32 j; @@ -334,59 +246,25 @@ static void _HuDvdErrDispXFB(s32 error) u32 *data_ptr; u32 row_offset; u32 row_pitch; - void *tempfb1; - void *tempfb2; - s32 status; - u8 color[2]; - - - #if VERSION_PAL - switch(GWGameStat.language) { - case 2: - language = 2; - break; - - case 3: - language = 1; - break; - - case 4: - language = 3; - break; - - case 5: - language = 4; - break; - - default: - language = 0; - break; - } - #else language = 0; - #endif xfb1 = Xfb[0]; xfb2 = Xfb[1]; - for(i=0; i>= 2, xfb1_ptr += 4, xfb2_ptr += 4) { @@ -412,8 +290,8 @@ static void _HuDvdErrDispXFB(s32 error) } } } - DCStoreRangeNoSync(tempfb1, bmpData[0]*2); - DCStoreRangeNoSync(tempfb2, bmpData[0]*2); + DCStoreRangeNoSync(sp14[1], bmpData[0]*2); + DCStoreRangeNoSync(sp14[0], bmpData[0]*2); } status = DVDGetDriveStatus(); while(status) { @@ -541,4 +419,4 @@ static void HuSoftResetPostProc(void) HuPadRumbleAllStop(); SR_ExecReset = TRUE; } -} +} \ No newline at end of file diff --git a/src/game/thpmain.c b/src/game/thpmain.c index 082eb281..babf6433 100755 --- a/src/game/thpmain.c +++ b/src/game/thpmain.c @@ -1,15 +1,13 @@ #include "game/thpmain.h" -#include "game/THPSimple.h" #include "game/hsfdraw.h" #include "game/hsfman.h" #include "game/init.h" #include "game/process.h" #include "game/sprite.h" +#include "game/THPSimple.h" #include "string.h" -#define THP_DECODE_STACK_SIZE 0x2000 - static void THPTestProc(void); static void THPViewFunc(ModelData *arg0, Mtx arg1); static void THPViewSprFunc(HuSprite *arg0); @@ -27,8 +25,7 @@ static u32 THPFrame; static s16 THPStart; Process *THPProc; -s16 HuTHPSprCreateVol(char *path, s16 loop, s16 prio, float volume) -{ +s16 HuTHPSprCreateVol(char *path, s16 loop, s16 prio, float volume) { s16 temp_r31; if (THPProc) { @@ -54,13 +51,11 @@ s16 HuTHPSprCreateVol(char *path, s16 loop, s16 prio, float volume) return temp_r31; } -s16 HuTHPSprCreate(char *path, s16 loop, s16 prio) -{ +s16 HuTHPSprCreate(char *path, s16 loop, s16 prio) { return HuTHPSprCreateVol(path, loop, prio, 110.0f); } -s16 HuTHP3DCreateVol(char *path, s16 loop, float volume) -{ +s16 HuTHP3DCreateVol(char *path, s16 loop, float volume) { s16 temp_r31; if (THPProc) { @@ -80,32 +75,27 @@ s16 HuTHP3DCreateVol(char *path, s16 loop, float volume) THPLoopF = loop; THPStat = 0; THPFrame = 0; - Hu3DModelAttrSet(SimpleControl.unk19E, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(SimpleControl.unk19E, 1); return temp_r31; } -s16 HuTHP3DCreate(char *path, s16 loop) -{ +s16 HuTHP3DCreate(char *path, s16 loop) { return HuTHP3DCreateVol(path, loop, 110.0f); } -void HuTHPStop(void) -{ +void HuTHPStop(void) { THPStat = 1; } -void HuTHPClose(void) -{ +void HuTHPClose(void) { THPStat = 2; } -void HuTHPRestart(void) -{ +void HuTHPRestart(void) { THPStat = 3; } -BOOL HuTHPEndCheck(void) -{ +BOOL HuTHPEndCheck(void) { s32 temp_r31; temp_r31 = THPSimpleGetTotalFrame() - 1; @@ -115,23 +105,19 @@ BOOL HuTHPEndCheck(void) return (temp_r31 <= THPFrame); } -s32 HuTHPFrameGet(void) -{ +s32 HuTHPFrameGet(void) { return THPFrame; } -s32 HuTHPTotalFrameGet(void) -{ +s32 HuTHPTotalFrameGet(void) { return THPSimpleGetTotalFrame(); } -void HuTHPSetVolume(s32 left, s32 right) -{ +void HuTHPSetVolume(s32 left, s32 right) { THPSimpleSetVolume(left, right); } -static void THPTestProc(void) -{ +static void THPTestProc(void) { s32 temp_r29; u32 var_r28; void *temp_r30; @@ -155,15 +141,14 @@ static void THPTestProc(void) HuPrcVSleep(); } HuPrcVSleep(); - decodeStackP = HuMemDirectMalloc(HEAP_SYSTEM, THP_DECODE_STACK_SIZE); - decodeThread = OSSetIdleFunction(THPDecodeFunc, NULL, (decodeStackP + THP_DECODE_STACK_SIZE), THP_DECODE_STACK_SIZE); + decodeStackP = HuMemDirectMalloc(HEAP_SYSTEM, 0x2000); + decodeThread = OSSetIdleFunction(THPDecodeFunc, NULL, decodeStackP + 0x2000, 0x2000); decodeRate = 0; THPStart = 1; if (SimpleControl.unk19C == 1) { - Hu3DModelAttrReset(SimpleControl.unk19E, HU3D_ATTR_DISPOFF); - } - else { - HuSprAttrReset(SimpleControl.unk19E, 0, HUSPR_ATTR_DISPOFF); + Hu3DModelAttrReset(SimpleControl.unk19E, 1); + } else { + HuSprAttrReset(SimpleControl.unk19E, 0, 4); } while (1) { if (THPStat == 2) { @@ -197,8 +182,7 @@ static void THPTestProc(void) } if (SimpleControl.unk19C == 1) { Hu3DModelKill(SimpleControl.unk19E); - } - else { + } else { HuSprKill(SimpleControl.unk19E); } OSCancelThread(decodeThread); @@ -215,21 +199,18 @@ static void THPTestProc(void) } } -static void THPViewFunc(ModelData *arg0, Mtx arg1) -{ +static void THPViewFunc(ModelData *arg0, Mtx arg1) { GXColor spC = { 0xFF, 0xFF, 0xFF, 0xFF }; if (THPStart != 0) { GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); GXSetCullMode(GX_CULL_NONE); - THPFrame - = THPSimpleDrawCurrentFrame(RenderMode, &spC, arg1, -audioTrack.unk00 / 2, audioTrack.unk04 / 2, audioTrack.unk00, -audioTrack.unk04); + THPFrame = THPSimpleDrawCurrentFrame(RenderMode, &spC, arg1, -audioTrack.unk00 / 2, audioTrack.unk04 / 2, audioTrack.unk00, -audioTrack.unk04); THPSimpleAudioStart(); } } -static void THPViewSprFunc(HuSprite *arg0) -{ +static void THPViewSprFunc(HuSprite *arg0) { Vec spC = { 0.0f, 0.0f, 1.0f }; GXColor sp8; s32 temp_r30; @@ -246,21 +227,19 @@ static void THPViewSprFunc(HuSprite *arg0) PSMTXRotAxisRad(sp18, &spC, MTXDegToRad(arg0->z_rot)); PSMTXScale(sp48, arg0->scale_x, arg0->scale_y, 1.0f); PSMTXConcat(sp18, sp48, sp48); - } - else { + } else { PSMTXScale(sp48, arg0->scale_x, arg0->scale_y, 1.0f); } mtxTransCat(sp48, arg0->x, arg0->y, 0.0f); PSMTXConcat(*arg0->group_mtx, sp48, sp48); - temp_r30 = -((s32)audioTrack.unk00 / 2); - temp_r29 = -((s32)audioTrack.unk04 / 2); + temp_r30 = -((s32) audioTrack.unk00 / 2); + temp_r29 = -((s32) audioTrack.unk04 / 2); GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE); THPFrame = THPSimpleDrawCurrentFrame(RenderMode, &sp8, sp48, temp_r30, temp_r29, audioTrack.unk00, audioTrack.unk04); } } -static void THPDecodeFunc(void *param) -{ +static void THPDecodeFunc(void *param) { while (1) { if (THPStat == 2) { break; diff --git a/src/game/window.c b/src/game/window.c index ac3be92e..29f63d17 100644 --- a/src/game/window.c +++ b/src/game/window.c @@ -1,15 +1,14 @@ #include "game/gamework_data.h" -#include "game/armem.h" -#include "game/audio.h" +#include "game/window.h" +#include "game/sprite.h" #include "game/data.h" -#include "game/disp.h" #include "game/dvd.h" #include "game/memory.h" -#include "game/pad.h" #include "game/process.h" -#include "game/sprite.h" -#include "game/window.h" +#include "game/pad.h" +#include "game/armem.h" +#include "game/audio.h" #include "ext_math.h" #include "stdarg.h" @@ -58,12 +57,7 @@ void *messDataPtr; static s32 messDataNo; static s16 winMaxWidth; static s16 winMaxHeight; -#if VERSION_NTSC static u8 mesWInsert[8]; -#else -static u16 mesWInsert[8]; -#endif - static u8 winTabSize; static u8 winInsertF; static u32 winAMemP; @@ -75,74 +69,126 @@ static s16 comKeyIdx; static u8 LanguageNo; AnimData *fontAnim; -static spcFontTblData spcFontTbl[] = { { &iconAnim, 0, 20, 24, 10, 12 }, { &iconAnim, 1, 20, 24, 10, 12 }, { &iconAnim, 2, 20, 24, 10, 12 }, - { &iconAnim, 3, 20, 24, 10, 12 }, { &iconAnim, 4, 20, 24, 10, 12 }, { &iconAnim, 5, 20, 24, 10, 12 }, { &iconAnim, 6, 20, 24, 10, 12 }, - { &iconAnim, 7, 20, 24, 10, 12 }, { &iconAnim, 8, 20, 24, 10, 12 }, { &iconAnim, 9, 20, 24, 10, 12 }, { &iconAnim, 10, 20, 24, 10, 12 }, - { &iconAnim, 11, 30, 24, 15, 12 }, { &iconAnim, 12, 20, 24, 10, 12 }, { &iconAnim, 13, 20, 24, 10, 12 }, { &iconAnim, 14, 20, 24, 10, 12 }, - { &iconAnim, 15, 20, 24, 10, 12 }, { &iconAnim, 16, 20, 24, 10, 12 }, { &iconAnim, 17, 20, 24, 10, 12 }, { &iconAnim, 18, 20, 24, 10, 12 }, - { &iconAnim, 19, 24, 24, 12, 12 }, { &cursorAnim, 0, 40, 32, -15, 18 }, { &cardAnimA, 0, 32, 32, 16, 16 }, { &cardAnimB, 0, 32, 32, 16, 16 } }; +static spcFontTblData spcFontTbl[] = { + { &iconAnim, 0, 20, 24, 10, 12 }, + { &iconAnim, 1, 20, 24, 10, 12 }, + { &iconAnim, 2, 20, 24, 10, 12 }, + { &iconAnim, 3, 20, 24, 10, 12 }, + { &iconAnim, 4, 20, 24, 10, 12 }, + { &iconAnim, 5, 20, 24, 10, 12 }, + { &iconAnim, 6, 20, 24, 10, 12 }, + { &iconAnim, 7, 20, 24, 10, 12 }, + { &iconAnim, 8, 20, 24, 10, 12 }, + { &iconAnim, 9, 20, 24, 10, 12 }, + { &iconAnim, 10, 20, 24, 10, 12 }, + { &iconAnim, 11, 30, 24, 15, 12 }, + { &iconAnim, 12, 20, 24, 10, 12 }, + { &iconAnim, 13, 20, 24, 10, 12 }, + { &iconAnim, 14, 20, 24, 10, 12 }, + { &iconAnim, 15, 20, 24, 10, 12 }, + { &iconAnim, 16, 20, 24, 10, 12 }, + { &iconAnim, 17, 20, 24, 10, 12 }, + { &iconAnim, 18, 20, 24, 10, 12 }, + { &iconAnim, 19, 24, 24, 12, 12 }, + { &cursorAnim, 0, 40, 32, -15, 18 }, + { &cardAnimA, 0, 32, 32, 16, 16 }, + { &cardAnimB, 0, 32, 32, 16, 16 } +}; -#if VERSION_ENG -u8 charWETbl[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 18, 20, 12, 12, 11, 14, 8, 13, 12, 12, 12, 12, 12, 12, 12, 9, 11, 12, 11, 15, 12, 13, 12, - 13, 12, 12, 11, 12, 11, 15, 12, 13, 11, 12, 6, 8, 8, 12, 20, 12, 11, 12, 11, 11, 9, 12, 11, 4, 8, 11, 4, 14, 11, 12, 11, 12, 9, 11, 9, 11, 11, 15, - 11, 11, 11, 4, 13, 8, 14, 12, 9, 8, 8, 8, 20, 4, 12, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 12, 12, 12, 12, 12, 12, 12, 12, 8, 8, 12, 12, 12, 12, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 12, 12, 7, 14, - 17, 13, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 16, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 }; -#elif VERSION_JP -u8 charWETbl[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 13, 8, 11, 12, 13, 12, 11, 11, 12, 11, 18, 20, 12, 12, 11, 14, 8, 13, 12, 12, 12, 12, 12, 12, 12, 9, 11, 12, 11, 15, 12, 13, 12, - 13, 12, 12, 11, 12, 11, 15, 12, 13, 11, 12, 6, 8, 8, 12, 20, 12, 11, 12, 11, 11, 9, 12, 11, 4, 8, 11, 4, 14, 11, 12, 11, 12, 9, 11, 9, 11, 11, 15, - 11, 11, 11, 4, 13, 8, 14, 12, 9, 8, 8, 8, 20, 4, 12, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 12, 12, 12, 12, 12, 12, 12, 12, 8, 8, 12, 12, 12, 12, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 12, 12, 7, 14, - 17, 13, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 16, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 }; +u8 charWETbl[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 18, 20, 12, 12, 11, 14, + 8, 13, 12, 12, 12, 12, 12, 12, 12, 9, 11, 12, 11, 15, 12, 13, + 12, 13, 12, 12, 11, 12, 11, 15, 12, 13, 11, 12, 6, 8, 8, 12, + 20, 12, 11, 12, 11, 11, 9, 12, 11, 4, 8, 11, 4, 14, 11, 12, + 11, 12, 9, 11, 9, 11, 11, 15, 11, 11, 11, 4, 13, 8, 14, 12, + 9, 8, 8, 8, 20, 4, 12, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 12, 12, 12, 12, 12, 12, 12, 12, 8, 8, 12, 12, 12, 12, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 12, 12, 7, 14, 17, 13, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 16, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 +}; -#else -u8 charWETbl[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 18, 20, 12, 12, 11, 14, 8, 13, 12, 12, 12, 12, 12, 12, 12, 9, 11, 12, 11, 15, 12, 13, 12, - 13, 12, 12, 11, 12, 11, 15, 12, 13, 11, 12, 6, 8, 8, 12, 20, 12, 11, 12, 11, 11, 9, 12, 11, 4, 8, 11, 4, 14, 11, 12, 11, 12, 9, 11, 9, 11, 11, 15, - 11, 11, 11, 4, 13, 8, 14, 12, 9, 8, 8, 8, 20, 4, 12, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 12, 12, 12, 12, 12, 12, 12, 12, 8, 8, 12, 12, 12, 12, - 12, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 13, 13, 6, 12, - 18, 14, 14, 8, 20, 20, 20, 20, 20, 20, 20, 20, 20, 10, 10, 10, 12, 12, 12, 12, 12, 10, 10, 12, 12, 10, 10, 10, 10, 7, 7, 12, 12, 10, 12, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 16, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 }; +u8 charWJTbl[] = { + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 0, 0, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 +}; -#endif +static u8 ATTRIBUTE_ALIGN(32) charColPal[2*3*10] = { + 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, + 0xFF, 0x00, 0x00, + 0xFF, 0x00, 0xFF, + 0x00, 0xFF, 0x00, + 0x00, 0xFF, 0xFF, + 0xFF, 0xA0, 0x00, + 0xFF, 0xFF, 0xFF, + 0x60, 0x60, 0x60, + 0x90, 0x90, 0x90, + 0x00, 0x00, 0x00, + 0x60, 0xB0, 0xFF, + 0xFF, 0x40, 0x80, + 0xFF, 0x00, 0xFF, + 0x00, 0xFF, 0x00, + 0x00, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, + 0xFF, 0xFF, 0xFF, + 0x60, 0x60, 0x60, + 0x90, 0x90, 0x90 +}; -u8 charWJTbl[] = { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 }; +static s32 frameFileTbl[] = { + WIN_FRAME1_ANM, + WIN_FRAME2_ANM, + WIN_FRAME3_ANM, + WIN_FRAME1_ANM +}; -static u8 ATTRIBUTE_ALIGN(32) charColPal[2 * 3 * 10] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0xFF, 0xFF, 0xFF, 0x60, 0x60, 0x60, 0x90, 0x90, 0x90, 0x00, 0x00, 0x00, 0x60, 0xB0, 0xFF, 0xFF, 0x40, 0x80, - 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x60, 0x60, 0x60, 0x90, 0x90, 0x90 }; +static char *mesDataTbl[] = { + "mess/mini.dat", + "mess/board.dat", + "mess/mini_e.dat", + "mess/board_e.dat" +}; -static s32 frameFileTbl[] = { WIN_FRAME1_ANM, WIN_FRAME2_ANM, WIN_FRAME3_ANM, WIN_FRAME1_ANM }; - -#if VERSION_NTSC -static char *mesDataTbl[] = { "mess/mini.dat", "mess/board.dat", "mess/mini_e.dat", "mess/board_e.dat" }; -#else -static char *mesDataTbl[] = { "mess/mini.dat", "mess/board.dat", "mess/mini_e.dat", "mess/board_e.dat", "mess/mini_g.dat", "mess/board_g.dat", - "mess/mini_f.dat", "mess/board_f.dat", "mess/mini_i.dat", "mess/board_i.dat", "mess/mini_s.dat", "mess/board_s.dat" }; -#endif - -static s32 winVoiceTbl[] - = { 0x37, 0x36, 0x38, 0x44, 0x43, 0x45, 0x41, 0x40, 0x42, 0x4C, 0x4B, 0x4D, 0x47, 0x46, 0x48, 0x3E, 0x3E, 0x3F, 0x49, 0x49, 0x49 }; +static s32 winVoiceTbl[] = { + 0x37, 0x36, 0x38, 0x44, + 0x43, 0x45, 0x41, 0x40, + 0x42, 0x4C, 0x4B, 0x4D, + 0x47, 0x46, 0x48, 0x3E, + 0x3E, 0x3F, 0x49, 0x49, + 0x49 +}; static s16 winPrio = 1000; -void HuWindowInit(void) -{ +void HuWindowInit(void) { s16 i; winAMemP = HuAR_DVDtoARAM(DATADIR_WIN); @@ -153,8 +199,7 @@ void HuWindowInit(void) winPrio = 1000; } -void HuWinInit(s32 mess_data_no) -{ +void HuWinInit(s32 mess_data_no) { s16 i; void *anim_data; @@ -172,8 +217,7 @@ void HuWinInit(s32 mess_data_no) if (!fontAnim) { if (LanguageNo == 0) { anim_data = HuDataReadNum(WIN_FONTJ_ANM, MEMORY_DEFAULT_NUM); - } - else { + } else { anim_data = HuDataReadNum(WIN_FONTE_ANM, MEMORY_DEFAULT_NUM); } fontAnim = HuSprAnimRead(anim_data); @@ -204,8 +248,7 @@ void HuWinInit(s32 mess_data_no) } } -s16 HuWinCreate(float x, float y, s16 w, s16 h, s16 frame) -{ +s16 HuWinCreate(float x, float y, s16 w, s16 h, s16 frame) { AnimData *bg_anim; WindowData *window; HuSprite *sprite_ptr; @@ -231,15 +274,13 @@ s16 HuWinCreate(float x, float y, s16 w, s16 h, s16 frame) w = (w + 15) & 0xFFF0; h = (h + 15) & 0xFFF0; if (x == -10000.0f) { - window->pos_x = (HU_DISP_WIDTHF - w) / 2; - } - else { + window->pos_x = (576.0f - w) / 2; + } else { window->pos_x = x; } if (y == -10000.0f) { - window->pos_y = (HU_DISP_HEIGHTF - h) / 2; - } - else { + window->pos_y = (480.0f - h) / 2; + } else { window->pos_y = y; } HuSprGrpCenterSet(group, w / 2, h / 2); @@ -257,11 +298,7 @@ s16 HuWinCreate(float x, float y, s16 w, s16 h, s16 frame) sprite_ptr->work[0] = window_id; HuSprGrpMemberSet(group, 1, sprite); window->num_chars = 0; -#if VERSION_JP - window->max_chars = (w / 20) * (h / 24) * 3; -#else window->max_chars = (w / 8) * (h / 24) * 4; -#endif window->char_data = HuMemDirectMalloc(HEAP_SYSTEM, window->max_chars * sizeof(WinChar)); window->attr = 0; window->stat = 0; @@ -290,13 +327,10 @@ s16 HuWinCreate(float x, float y, s16 w, s16 h, s16 frame) window->scissor_h = 0x1E0; window->tab_w = 24; window->push_key = 0x300; -#if !VERSION_JP window->key_auto = 0; -#endif if (frame == 0 || frame == 2) { memcpy(&window->mess_pal, &charColPal[30], 30); - } - else { + } else { memcpy(&window->mess_pal, charColPal, 30); window->mess_shadow_color = 9; } @@ -317,8 +351,7 @@ s16 HuWinCreate(float x, float y, s16 w, s16 h, s16 frame) return window_id; } -void HuWinKill(s16 window) -{ +void HuWinKill(s16 window) { WindowData *window_ptr = &winData[window]; s16 i; @@ -334,8 +367,7 @@ void HuWinKill(s16 window) } } -void HuWinAllKill(void) -{ +void HuWinAllKill(void) { s16 i; for (i = 0; i < 32; i++) { @@ -374,8 +406,7 @@ void HuWinAllKill(void) HuDataDirClose(DATADIR_WIN); } -static void MesDispFunc(HuSprite *sprite) -{ +static void MesDispFunc(HuSprite *sprite) { WindowData *window = &winData[sprite->work[0]]; HuSprGrp *group; float uv_maxx; @@ -396,7 +427,7 @@ static void MesDispFunc(HuSprite *sprite) if (window->num_chars != 0) { group = &HuSprGrpData[window->group]; GXInvalidateTexAll(); - C_MTXOrtho(proj, 0.0f, HU_DISP_HEIGHTF, 0.0f, HU_DISP_WIDTHF, 0.0f, 10.0f); + C_MTXOrtho(proj, 0.0f, 480.0f, 0.0f, 576.0f, 0.0f, 10.0f); GXSetProjection(proj, GX_ORTHOGRAPHIC); GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_DIRECT); @@ -425,16 +456,12 @@ static void MesDispFunc(HuSprite *sprite) MTXConcat(*sprite->group_mtx, modelview, modelview); GXLoadPosMtxImm(modelview, 0); GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); - HuSprTexLoad(fontAnim, 0, 0, GX_CLAMP, GX_CLAMP, VERSION_JP ? GX_NEAR : GX_LINEAR); + HuSprTexLoad(fontAnim, 0, 0, GX_CLAMP, GX_CLAMP, GX_LINEAR); GXBegin(GX_QUADS, GX_VTXFMT0, window->num_chars * 4); - char_uv_h = (LanguageNo == 0) ? (24.0f / 408.0f) : (24.0f / 312.0f); + char_uv_h = (LanguageNo == 0) ? (24.0f/408.0f) : (24.0f/312.0f); for (i = 0; i < window->num_chars; i++) { char_w = fontWidthP[window->char_data[i].character + 48]; -#if VERSION_JP - uv_minx = 0.003125 + (20.0f / 320.0f) * (window->char_data[i].character % 16); -#else - uv_minx = (20.0f / 320.0f) * (window->char_data[i].character % 16); -#endif + uv_minx = (20.0f/320.0f) * (window->char_data[i].character % 16); uv_miny = char_uv_h * (window->char_data[i].character / 16); uv_maxx = uv_minx + (char_w / 320.0); uv_maxy = uv_miny + char_uv_h; @@ -443,8 +470,7 @@ static void MesDispFunc(HuSprite *sprite) color = window->char_data[i].color; if (window->speed != 0) { alpha = window->char_data[i].fade * 8; - } - else { + } else { alpha = 255; } alpha = 255; @@ -469,8 +495,7 @@ static void MesDispFunc(HuSprite *sprite) } } -static u8 winBGMake(AnimData *bg, AnimData *frame) -{ +static u8 winBGMake(AnimData *bg, AnimData *frame) { AnimBmpData *bmp; s16 block_h; s16 h; @@ -491,37 +516,29 @@ static u8 winBGMake(AnimData *bg, AnimData *frame) for (j = 0; j < w; j++) { if (j == 0) { bmp_data[(j & 7) + ((j >> 3) << 5) + (i >> 2) * (block_w * 4) + (i & 3) * 8] = 0; - } - else if (j == w - 1) { + } else if (j == w-1) { bmp_data[(j & 7) + ((j >> 3) << 5) + (i >> 2) * (block_w * 4) + (i & 3) * 8] = 0x10; - } - else { + } else { bmp_data[(j & 7) + ((j >> 3) << 5) + (i >> 2) * (block_w * 4) + (i & 3) * 8] = 0x70; } } - } - else if (i == h - 1) { + } else if (i == h-1) { for (j = 0; j < w; j++) { if (j == 0) { bmp_data[(j & 7) + ((j >> 3) << 5) + (i >> 2) * (block_w * 4) + (i & 3) * 8] = 0x20; - } - else if (j == w - 1) { + } else if (j == w - 1) { bmp_data[(j & 7) + ((j >> 3) << 5) + (i >> 2) * (block_w * 4) + (i & 3) * 8] = 0x30; - } - else { + } else { bmp_data[(j & 7) + ((j >> 3) << 5) + (i >> 2) * (block_w * 4) + (i & 3) * 8] = 0x60; } } - } - else { + } else { for (j = 0; j < w; j++) { if (j == 0) { bmp_data[(j & 7) + ((j >> 3) << 5) + (i >> 2) * (block_w * 4) + (i & 3) * 8] = 0x40; - } - else if (j == w - 1) { + } else if (j == w-1) { bmp_data[(j & 7) + ((j >> 3) << 5) + (i >> 2) * (block_w * 4) + (i & 3) * 8] = 0x50; - } - else { + } else { bmp_data[(j & 7) + ((j >> 3) << 5) + (i >> 2) * (block_w * 4) + (i & 3) * 8] = 0x80; } } @@ -540,8 +557,7 @@ static u8 winBGMake(AnimData *bg, AnimData *frame) return w; } -static void HuWinProc(void) -{ +static void HuWinProc(void) { WindowData *window; s16 i; @@ -573,48 +589,41 @@ static void HuWinProc(void) } } -static inline void charEntry(s16 window, s16 x, s16 y, s16 char_idx, s16 color) -{ +static inline void charEntry(s16 window, s16 x, s16 y, s16 char_idx, s16 color) { WindowData *window_ptr = &winData[window]; WinChar *win_char = window_ptr->char_data; win_char = &window_ptr->char_data[window_ptr->num_chars]; win_char->x = x - window_ptr->w / 2; win_char->y = y - window_ptr->h / 2; - win_char->character = char_idx - 48; + win_char->character = char_idx-48; win_char->color = color; win_char->fade = 0; window_ptr->num_chars++; if (window_ptr->num_chars >= window_ptr->max_chars) { - window_ptr->num_chars = window_ptr->max_chars - 1; + window_ptr->num_chars = window_ptr->max_chars-1; } } -static void HuWinDrawMes(s16 window) -{ +static void HuWinDrawMes(s16 window) { WindowData *window_ptr = &winData[window]; HuSprGrp *group = &HuSprGrpData[window_ptr->group]; + s16 c; s16 i; s16 char_w; s16 tab_w; s16 insert_mess; s16 mess_end; - s16 c; - s16 shadow_color; s16 color; s16 mess_w; - window_ptr->mess_time += VERSION_JP ? 1 : 3; + window_ptr->mess_time += 3; while (window_ptr->mess_time >= window_ptr->speed || (window_ptr->attr & 0x2000)) { -#if VERSION_JP - window_ptr->mess_time = 0; -#else window_ptr->mess_time -= window_ptr->speed; - if (window_ptr->mess_time < 0) { + if(window_ptr->mess_time < 0) { window_ptr->mess_time = 0; } -#endif char_w = window_ptr->spacing_x + fontWidthP[window_ptr->mess[0]]; mess_end = 0; if (window_ptr->mess[0] != 0 && (window_ptr->attr & 4)) { @@ -625,7 +634,7 @@ static void HuWinDrawMes(s16 window) switch (window_ptr->mess[0]) { case 0: if (window_ptr->mess_stackptr == 0) { - for (i = 0; i < 16; i++) { + for (i=0; i<16; i++) { window_ptr->choice_disable[i] = 0; } window_ptr->stat = 0; @@ -634,11 +643,9 @@ static void HuWinDrawMes(s16 window) } window_ptr->mess_stackptr--; window_ptr->mess = window_ptr->mess_stack[window_ptr->mess_stackptr]; -#if !VERSION_JP window_ptr->mess_time = 0; -#endif break; - + case 31: window_ptr->mess++; insert_mess = window_ptr->mess[0] - 1; @@ -651,31 +658,30 @@ static void HuWinDrawMes(s16 window) } } break; - + case 11: window_ptr->attr &= ~0x2200; _HuWinHomeClear(window_ptr); if (window_ptr->attr & 0x800) { mess_w = GetMesMaxSizeSub2(window_ptr, window_ptr->mess + 1); window_ptr->mess_x = (window_ptr->mess_rect_w - mess_w) / 2; - } - else if (window_ptr->attr & 0x1000) { + } else if (window_ptr->attr & 0x1000) { mess_w = GetMesMaxSizeSub2(window_ptr, window_ptr->mess + 1); window_ptr->mess_x = window_ptr->mess_rect_w - mess_w; } break; - + case 30: window_ptr->mess++; if (!(window_ptr->attr & 0x80)) { window_ptr->mess_color = window_ptr->mess[0] - 1; } break; - + case 29: window_ptr->attr ^= 1; break; - + case 10: window_ptr->attr &= ~0x2020; if (window_ptr->attr & 0x200) { @@ -689,31 +695,30 @@ static void HuWinDrawMes(s16 window) if (window_ptr->attr & 0x800) { mess_w = GetMesMaxSizeSub2(window_ptr, window_ptr->mess + 1); window_ptr->mess_x = (window_ptr->mess_rect_w - mess_w) / 2; - } - else if (window_ptr->attr & 0x1000) { + } else if (window_ptr->attr & 0x1000) { mess_w = GetMesMaxSizeSub2(window_ptr, window_ptr->mess + 1); window_ptr->mess_x = window_ptr->mess_rect_w - mess_w; } break; } char_w = fontWidthP[16] + window_ptr->spacing_x; - /* fallthrough */ - case 16: - case 32: - window_ptr->attr |= 0x200; - if (window_ptr->mess_x + char_w > window_ptr->mess_rect_w) { - if (HuWinCR(window_ptr) != 0) { - window_ptr->mess++; - HuWinKeyWaitEntry(window); - window_ptr->attr |= 2; - return; - } - break; + /* fallthrough */ + case 16: + case 32: + window_ptr->attr |= 0x200; + if (window_ptr->mess_x + char_w > window_ptr->mess_rect_w) { + if (HuWinCR(window_ptr) != 0) { + window_ptr->mess++; + HuWinKeyWaitEntry(window); + window_ptr->attr |= 2; + return; } - window_ptr->mess_x += char_w; + break; + } + window_ptr->mess_x += char_w; } break; - + case 14: window_ptr->attr |= 0x200; window_ptr->mess++; @@ -724,31 +729,29 @@ static void HuWinDrawMes(s16 window) window_ptr->attr |= 2; return; } - HuWinSpcFontEntry(window_ptr, window_ptr->mess[0] - 1, window_ptr->mess_rect_x + window_ptr->mess_x, - window_ptr->mess_rect_y + window_ptr->mess_y); + HuWinSpcFontEntry(window_ptr, window_ptr->mess[0] - 1, window_ptr->mess_rect_x + window_ptr->mess_x, window_ptr->mess_rect_y + window_ptr->mess_y); window_ptr->mess_x += tab_w; mess_end = 1; break; - + case 28: window_ptr->mess++; HuAudFXPlay(winVoiceTbl[window_ptr->mess[0] - 1]); break; - + case 255: window_ptr->mess++; HuWinKeyWaitEntry(window); window_ptr->attr |= 4; window_ptr->attr &= ~0x200; return; - + case 15: window_ptr->attr |= 0x2000; if (window_ptr->choice_disable[window_ptr->num_choices] != 0) { window_ptr->attr |= 0x20; window_ptr->choice_data[window_ptr->num_choices].stat |= 1; - } - else { + } else { window_ptr->choice_data[window_ptr->num_choices].stat &= ~1; } @@ -756,7 +759,7 @@ static void HuWinDrawMes(s16 window) window_ptr->choice_data[window_ptr->num_choices].y = window_ptr->mess_y + window_ptr->mess_rect_x; window_ptr->num_choices++; break; - + case 12: window_ptr->attr |= 0x200; tab_w = window_ptr->tab_w * ((window_ptr->mess_x + window_ptr->tab_w) / window_ptr->tab_w) - window_ptr->mess_x; @@ -767,8 +770,7 @@ static void HuWinDrawMes(s16 window) window_ptr->attr |= 2; return; } - } - else { + } else { window_ptr->mess_x += tab_w; } break; @@ -787,48 +789,39 @@ static void HuWinDrawMes(s16 window) } c = window_ptr->mess[0]; window_ptr->attr |= 0x200; -#if VERSION_NTSC if (window_ptr->mess[1] == 128) { if (c >= 150 && c <= 164) { - c = c + 106; - } - else if (c >= 170 && c <= 174) { - c = c + 101; - } - else if (c >= 214 && c <= 228) { - c = c + 67; - } - else if (c >= 234 && c <= 238) { - c = c + 62; + c = c+106; + } else if (c >= 170 && c <= 174) { + c = c+101; + } else if (c >= 214 && c <= 228) { + c = c+67; + } else if (c >= 234 && c <= 238) { + c = c+62; } window_ptr->mess++; - } - else if (window_ptr->mess[1] == 129) { + } else if (window_ptr->mess[1] == 129) { if (c >= 170 && c <= 174) { - c = c + 106; - } - else if (c >= 234 && c <= 238) { - c = c + 67; + c = c+106; + } else if (c >= 234 && c <= 238) { + c = c+67; } window_ptr->mess++; } -#endif color = (window_ptr->attr & 0x20) ? 8 : window_ptr->mess_color; if (window_ptr->attr & 1) { shadow_color = 0; if (window_ptr->mess_color == 0 || window_ptr->mess_color == 1) { shadow_color = 8; } - charEntry(window, window_ptr->mess_rect_x + window_ptr->mess_x + 2, window_ptr->mess_rect_y + window_ptr->mess_y, c, shadow_color); - charEntry(window, window_ptr->mess_rect_x + window_ptr->mess_x - 2, window_ptr->mess_rect_y + window_ptr->mess_y, c, shadow_color); - charEntry(window, window_ptr->mess_rect_x + window_ptr->mess_x, window_ptr->mess_rect_y + window_ptr->mess_y + 2, c, shadow_color); - charEntry(window, window_ptr->mess_rect_x + window_ptr->mess_x, window_ptr->mess_rect_y + window_ptr->mess_y - 2, c, shadow_color); - charEntry(window, window_ptr->mess_rect_x + window_ptr->mess_x, window_ptr->mess_rect_y + window_ptr->mess_y, c, color); - } - else { - charEntry(window, window_ptr->mess_rect_x + window_ptr->mess_x + 2, window_ptr->mess_rect_y + window_ptr->mess_y + 2, c, - window_ptr->mess_shadow_color); - charEntry(window, window_ptr->mess_rect_x + window_ptr->mess_x, window_ptr->mess_rect_y + window_ptr->mess_y, c, color); + charEntry(window, window_ptr->mess_rect_x+window_ptr->mess_x+2, window_ptr->mess_rect_y+window_ptr->mess_y, c, shadow_color); + charEntry(window, window_ptr->mess_rect_x+window_ptr->mess_x-2, window_ptr->mess_rect_y+window_ptr->mess_y, c, shadow_color); + charEntry(window, window_ptr->mess_rect_x+window_ptr->mess_x, window_ptr->mess_rect_y+window_ptr->mess_y+2, c, shadow_color); + charEntry(window, window_ptr->mess_rect_x+window_ptr->mess_x, window_ptr->mess_rect_y+window_ptr->mess_y-2, c, shadow_color); + charEntry(window, window_ptr->mess_rect_x+window_ptr->mess_x, window_ptr->mess_rect_y+window_ptr->mess_y, c, color); + } else { + charEntry(window, window_ptr->mess_rect_x+window_ptr->mess_x+2, window_ptr->mess_rect_y+window_ptr->mess_y+2, c, window_ptr->mess_shadow_color); + charEntry(window, window_ptr->mess_rect_x+window_ptr->mess_x, window_ptr->mess_rect_y+window_ptr->mess_y, c, color); } window_ptr->mess_x += char_w; window_ptr->mess++; @@ -836,22 +829,19 @@ static void HuWinDrawMes(s16 window) } } -static s32 HuWinCR(WindowData *window) -{ +static s32 HuWinCR(WindowData *window) { if (window->mess_y + 48 > window->mess_rect_h) { window->mess_y = 0; window->mess_x = 0; return 1; - } - else { + } else { window->mess_y += window->spacing_y + 24; window->mess_x = 0; return 0; } } -static void _HuWinHomeClear(WindowData *window) -{ +static void _HuWinHomeClear(WindowData *window) { s16 i; window->num_chars = 0; @@ -859,33 +849,29 @@ static void _HuWinHomeClear(WindowData *window) window->num_choices = 0; HuWinSpcFontClear(window); window->attr &= ~0x2020; - for (i = 0; i < 16; i++) { + for (i=0; i<16; i++) { window->choice_data[i].stat = 0; } } -void HuWinHomeClear(s16 window) -{ +void HuWinHomeClear(s16 window) { WindowData *window_ptr = &winData[window]; _HuWinHomeClear(window_ptr); } -void HuWinKeyWaitEntry(s16 window) -{ +void HuWinKeyWaitEntry(s16 window) { WindowData *window_ptr = &winData[window]; if (window_ptr->attr & 0x400) { window_ptr->stat = 0; - } - else { + } else { window_ptr->stat = 2; window_ptr->advance_sprite = HuWinSpcFontEntry(window_ptr, 19, window_ptr->mess_rect_w - 20, window_ptr->mess_rect_h - 24); } } -static void HuWinKeyWait(s16 window) -{ +static void HuWinKeyWait(s16 window) { WindowData *window_ptr = &winData[window]; if (window_ptr->push_key & HuWinActivePadGet(window_ptr)) { @@ -900,17 +886,16 @@ static void HuWinKeyWait(s16 window) } } -static s16 HuWinSpcFontEntry(WindowData *window, s16 entry, s16 x, s16 y) -{ +static s16 HuWinSpcFontEntry(WindowData *window, s16 entry, s16 x, s16 y) { HuSprGrp *group = &HuSprGrpData[window->group]; s16 sprite; s16 i; AnimData *anim; - for (i = 10; i < 30; i++) { + for (i=10; i<30; i++) { if (window->sprite_id[i] == -1) { anim = *spcFontTbl[entry].anim; - window->sprite_id[i] = sprite = HuSprCreate(anim, window->prio - 1, spcFontTbl[entry].bank); + window->sprite_id[i] = sprite = HuSprCreate(anim, window->prio-1, spcFontTbl[entry].bank); HuSprGrpMemberSet(window->group, i, sprite); HuSprPosSet(window->group, i, x + spcFontTbl[entry].center_x - window->w / 2, y + spcFontTbl[entry].center_y - window->h / 2); break; @@ -919,18 +904,16 @@ static s16 HuWinSpcFontEntry(WindowData *window, s16 entry, s16 x, s16 y) return i; } -static void HuWinSpcFontPosSet(WindowData *window, s16 index, s16 x, s16 y) -{ +static void HuWinSpcFontPosSet(WindowData *window, s16 index, s16 x, s16 y) { HuSprGrp *group = &HuSprGrpData[window->group]; HuSprPosSet(window->group, index, x - window->w / 2, y - window->h / 2); } -static void HuWinSpcFontClear(WindowData *window) -{ +static void HuWinSpcFontClear(WindowData *window) { s16 i; - for (i = 10; i < 30; i++) { + for (i=10; i<30; i++) { if (window->sprite_id[i] != -1) { HuSprGrpMemberKill(window->group, i); window->sprite_id[i] = -1; @@ -938,8 +921,7 @@ static void HuWinSpcFontClear(WindowData *window) } } -static void HuWinChoice(WindowData *window) -{ +static void HuWinChoice(WindowData *window) { WinChoice *choice; float choice_dist; float min_choice_dist_x; @@ -985,8 +967,7 @@ static void HuWinChoice(WindowData *window) } if (i != choice_max) { for (i = 0, choice = window->choice_data; i < choice_max; i++, choice++) { - if (i != choice_curr && !(choice->stat & 1) && choice->y == choice_curr_y && choice->x < choice_curr_x - && choice_dist > choice_curr_x - choice->x) { + if (i != choice_curr && !(choice->stat & 1) && choice->y == choice_curr_y && choice->x < choice_curr_x && choice_dist > choice_curr_x - choice->x) { choice_dist = choice_curr_x - choice->x; choice_next = i; } @@ -1017,8 +998,7 @@ static void HuWinChoice(WindowData *window) } } } - } - else { + } else { choice_y = -1000; for (i = 0, choice = window->choice_data; i < choice_max; i++, choice++) { if (i != choice_curr && !(choice->stat & 1) && choice->y > choice_y) { @@ -1048,8 +1028,7 @@ static void HuWinChoice(WindowData *window) } if (i != choice_max) { for (i = 0, choice = window->choice_data; i < choice_max; i++, choice++) { - if (i != choice_curr && !(choice->stat & 1) && choice->y == choice_curr_y && choice->x > choice_curr_x - && choice_dist > choice->x - choice_curr_x) { + if (i != choice_curr && !(choice->stat & 1) && choice->y == choice_curr_y && choice->x > choice_curr_x && choice_dist > choice->x - choice_curr_x) { choice_dist = choice->x - choice_curr_x; choice_next = i; } @@ -1080,8 +1059,7 @@ static void HuWinChoice(WindowData *window) } } } - } - else { + } else { choice_y = 1000; for (i = 0, choice = window->choice_data; i < choice_max; i++, choice++) { if (i != choice_curr && !(choice->stat & 1) && choice->y < choice_y) { @@ -1107,33 +1085,25 @@ static void HuWinChoice(WindowData *window) if (window->choice != choice_next) { window->choice = choice_next; HuAudFXPlay(0); - } - else if (key & (VERSION_JP ? PAD_BUTTON_A : (window->key_auto | PAD_BUTTON_A))) { + } else if (key & (window->key_auto | PAD_BUTTON_A)) { HuAudFXPlay(2); window->key_down = key; window->stat = 0; - } - else if ((key & PAD_BUTTON_B) && !(window->attr & 0x10)) { + } else if ((key & PAD_BUTTON_B) && !(window->attr & 0x10)) { HuAudFXPlay(3); -#if !VERSION_JP window->key_down = key; -#else - (void)key; // hack to match Japanese version -#endif window->choice = -1; window->stat = 0; } - HuWinSpcFontPosSet(window, window->cursor_sprite, window->choice_data[choice_next].x + spcFontTbl[20].center_x, - window->choice_data[choice_next].y + spcFontTbl[20].center_y); + HuWinSpcFontPosSet(window, window->cursor_sprite, window->choice_data[choice_next].x + spcFontTbl[20].center_x, window->choice_data[choice_next].y + spcFontTbl[20].center_y); } -u32 HuWinActivePadGet(WindowData *window) -{ +u32 HuWinActivePadGet(WindowData *window) { s32 win_key; u32 i; win_key = 0; - for (i = 0; i < 4; i++) { + for (i=0; i<4; i++) { if (window->active_pad & (1 << i)) { win_key |= winKey[i]; } @@ -1141,8 +1111,7 @@ u32 HuWinActivePadGet(WindowData *window) return win_key; } -u32 HuWinActiveKeyGetX(WindowData *window) -{ +u32 HuWinActiveKeyGetX(WindowData *window) { u32 button; u32 i; u32 j; @@ -1152,7 +1121,7 @@ u32 HuWinActiveKeyGetX(WindowData *window) active_pad = (window->active_pad & ~window->player_disable); for (i = 0; i < 4; i++) { if (active_pad & (1 << i)) { - for (j = 0; j < 4; j++) { + for (j=0; j<4; j++) { if (i == GWPlayerCfg[j].pad_idx) { break; } @@ -1165,8 +1134,7 @@ u32 HuWinActiveKeyGetX(WindowData *window) return button; } -void HuWinPosSet(s16 window, float x, float y) -{ +void HuWinPosSet(s16 window, float x, float y) { WindowData *window_ptr = &winData[window]; window_ptr->pos_x = x; @@ -1174,8 +1142,7 @@ void HuWinPosSet(s16 window, float x, float y) HuSprGrpPosSet(window_ptr->group, x, y); } -void HuWinScaleSet(s16 window, float x, float y) -{ +void HuWinScaleSet(s16 window, float x, float y) { WindowData *window_ptr = &winData[window]; window_ptr->scale_x = x; @@ -1183,43 +1150,38 @@ void HuWinScaleSet(s16 window, float x, float y) HuSprGrpScaleSet(window_ptr->group, x, y); } -void HuWinZRotSet(s16 window, float z_rot) -{ +void HuWinZRotSet(s16 window, float z_rot) { WindowData *window_ptr = &winData[window]; window_ptr->z_rot = z_rot; HuSprGrpZRotSet(window_ptr->group, z_rot); } -void HuWinCenterPosSet(s16 window, float x, float y) -{ +void HuWinCenterPosSet(s16 window, float x, float y) { WindowData *window_ptr = &winData[window]; HuSprGrpCenterSet(window_ptr->group, window_ptr->w / 2.0f - x, window_ptr->h / 2.0f - y); } -void HuWinDrawNoSet(s16 window, s16 draw_no) -{ +void HuWinDrawNoSet(s16 window, s16 draw_no) { WindowData *window_ptr = &winData[window]; HuSprGrpDrawNoSet(window_ptr->group, draw_no); } -void HuWinScissorSet(s16 window, s16 x, s16 y, s16 w, s16 h) -{ +void HuWinScissorSet(s16 window, s16 x, s16 y, s16 w, s16 h) { WindowData *window_ptr = &winData[window]; HuSprGrpScissorSet(window_ptr->group, x, y, w, h); } -void HuWinPriSet(s16 window, s16 prio) -{ +void HuWinPriSet(s16 window, s16 prio) { WindowData *window_ptr = &winData[window]; s16 i; HuSprPriSet(window_ptr->group, 0, prio); HuSprPriSet(window_ptr->group, 1, prio); - for (i = 2; i < 30; i++) { + for (i=2; i<30; i++) { if (window_ptr->sprite_id[i] != -1) { HuSprPriSet(window_ptr->group, i, prio - 1); } @@ -1227,37 +1189,32 @@ void HuWinPriSet(s16 window, s16 prio) window_ptr->prio = prio; } -void HuWinAttrSet(s16 window, u32 attr) -{ +void HuWinAttrSet(s16 window, u32 attr) { WindowData *window_ptr = &winData[window]; window_ptr->attr |= attr; } -void HuWinAttrReset(s16 window, u32 attr) -{ +void HuWinAttrReset(s16 window, u32 attr) { WindowData *window_ptr = &winData[window]; window_ptr->attr &= ~attr; } -s16 HuWinStatGet(s16 window) -{ +s16 HuWinStatGet(s16 window) { WindowData *window_ptr = &winData[window]; return window_ptr->stat; } -void HuWinMesColSet(s16 window, u8 color) -{ +void HuWinMesColSet(s16 window, u8 color) { WindowData *window_ptr = &winData[window]; window_ptr->mess_color = color; window_ptr->attr |= 0x80; } -void HuWinMesPalSet(s16 window, u8 index, u8 r, u8 g, u8 b) -{ +void HuWinMesPalSet(s16 window, u8 index, u8 r, u8 g, u8 b) { WindowData *window_ptr = &winData[window]; window_ptr->mess_pal[index][0] = r; @@ -1265,54 +1222,44 @@ void HuWinMesPalSet(s16 window, u8 index, u8 r, u8 g, u8 b) window_ptr->mess_pal[index][2] = b; } -void HuWinBGTPLvlSet(s16 window, float tp_level) -{ +void HuWinBGTPLvlSet(s16 window, float tp_level) { WindowData *window_ptr = &winData[window]; HuSprTPLvlSet(window_ptr->group, 0, tp_level); } -void HuWinBGColSet(s16 window, GXColor *bg_color) -{ +void HuWinBGColSet(s16 window, GXColor *bg_color) { WindowData *window_ptr = &winData[window]; HuSprColorSet(window_ptr->group, 0, bg_color->r, bg_color->g, bg_color->b); } -void HuWinMesSpeedSet(s16 window, s16 speed) -{ +void HuWinMesSpeedSet(s16 window, s16 speed) { WindowData *window_ptr = &winData[window]; window_ptr->speed = speed; } -void HuWinMesRead(s32 mess_data_no) -{ +void HuWinMesRead(s32 mess_data_no) { void *dvd_mess; char *mess_path; - if (messDataPtr) { + if(messDataPtr) { HuMemDirectFree(messDataPtr); } messDataNo = mess_data_no; -#if VERSION_NTSC if (LanguageNo == 0) { mess_path = mesDataTbl[messDataNo]; - } - else { + } else { mess_path = mesDataTbl[messDataNo + 2]; } -#else - mess_path = mesDataTbl[messDataNo + (LanguageNo * 2)]; -#endif dvd_mess = HuDvdDataRead(mess_path); messDataPtr = HuMemDirectMalloc(HEAP_SYSTEM, DirDataSize); memcpy(messDataPtr, dvd_mess, DirDataSize); HuMemDirectFree(dvd_mess); } -void HuWinMesSet(s16 window, u32 mess) -{ +void HuWinMesSet(s16 window, u32 mess) { WindowData *window_ptr = &winData[window]; window_ptr->stat = 1; @@ -1324,25 +1271,19 @@ void HuWinMesSet(s16 window, u32 mess) window_ptr->mess = MessData_MesPtrGet(messDataPtr, mess); if (window_ptr->mess == 0) { OSReport("Error: No Message data\n"); -#if !VERSION_JP HuWinMesSet(window, 0); return; -#endif } - } - else { + } else { window_ptr->mess = (u8 *)mess; } if (!(window_ptr->attr & 0x80)) { window_ptr->mess_color = 7; -#if !VERSION_JP window_ptr->mess_time = 0; -#endif } } -void HuWinInsertMesSet(s16 window, u32 mess, s16 index) -{ +void HuWinInsertMesSet(s16 window, u32 mess, s16 index) { WindowData *window_ptr = &winData[window]; if (!(mess & 0x80000000)) { @@ -1354,14 +1295,12 @@ void HuWinInsertMesSet(s16 window, u32 mess, s16 index) if (window_ptr->insert_mess[index] == 0) { OSReport("Error: No Message data\n"); } - } - else { + } else { window_ptr->insert_mess[index] = (u8 *)mess; } } -s16 HuWinChoiceGet(s16 window, s16 start_choice) -{ +s16 HuWinChoiceGet(s16 window, s16 start_choice) { WindowData *window_ptr = &winData[window]; window_ptr->attr |= 0x40; @@ -1392,57 +1331,50 @@ s16 HuWinChoiceGet(s16 window, s16 start_choice) return window_ptr->choice; } -s16 HuWinChoiceNumGet(s16 window) -{ +s16 HuWinChoiceNumGet(s16 window) { WindowData *window_ptr = &winData[window]; return window_ptr->num_choices; } -void HuWinChoiceDisable(s16 window, s16 choice) -{ +void HuWinChoiceDisable(s16 window, s16 choice) { WindowData *window_ptr = &winData[window]; window_ptr->choice_disable[choice] = 1; } -s16 HuWinChoiceNowGet(s16 window) -{ +s16 HuWinChoiceNowGet(s16 window) { WindowData *window_ptr = &winData[window]; if (window_ptr->stat == 3) { return window_ptr->choice; - } - else { + } else { return -1; } } -void HuWinMesWait(s16 window) -{ +void HuWinMesWait(s16 window) { WindowData *window_ptr = &winData[window]; - while (window_ptr->stat != 0) { + while(window_ptr->stat != 0) { HuPrcVSleep(); } } -s16 HuWinAnimSet(s16 window, AnimData *anim, s16 bank, float x, float y) -{ +s16 HuWinAnimSet(s16 window, AnimData *anim, s16 bank, float x, float y) { WindowData *window_ptr = &winData[window]; s16 sprite; - sprite = HuSprCreate(anim, window_ptr->prio - 1, bank); + sprite = HuSprCreate(anim, window_ptr->prio-1, bank); return HuWinSprSet(window, sprite, x, y); } -s16 HuWinSprSet(s16 window, s16 sprite, float x, float y) -{ +s16 HuWinSprSet(s16 window, s16 sprite, float x, float y) { WindowData *window_ptr = &winData[window]; HuSprGrp *group = &HuSprGrpData[window_ptr->group]; s16 i; - for (i = 2; i <= 9; i++) { + for (i=2; i<=9; i++) { if (window_ptr->sprite_id[i] == -1) { window_ptr->sprite_id[i] = sprite; HuSprGrpMemberSet(window_ptr->group, i, sprite); @@ -1453,43 +1385,38 @@ s16 HuWinSprSet(s16 window, s16 sprite, float x, float y) return i; } -void HuWinSprPosSet(s16 window, s16 index, float x, float y) -{ +void HuWinSprPosSet(s16 window, s16 index, float x, float y) { WindowData *window_ptr = &winData[window]; HuSprGrp *group = &HuSprGrpData[window_ptr->group]; HuSprPosSet(window_ptr->group, index, x - group->center_x, y - group->center_y); } -void HuWinSprPriSet(s16 window, s16 index, s16 prio) -{ +void HuWinSprPriSet(s16 window, s16 index, s16 prio) { WindowData *window_ptr = &winData[window]; HuSprGrp *group = &HuSprGrpData[window_ptr->group]; HuSprPriSet(window_ptr->group, index, prio); } -s16 HuWinSprIDGet(s16 window, s16 index) -{ +s16 HuWinSprIDGet(s16 window, s16 index) { WindowData *window_ptr = &winData[window]; return window_ptr->sprite_id[index]; } -void HuWinSprKill(s16 window, s16 index) -{ +void HuWinSprKill(s16 window, s16 index) { WindowData *window_ptr = &winData[window]; HuSprGrpMemberKill(window_ptr->group, index); window_ptr->sprite_id[index] = -1; } -void HuWinDispOff(s16 window) -{ +void HuWinDispOff(s16 window) { WindowData *window_ptr = &winData[window]; s16 i; - for (i = 0; i < 30; i++) { + for(i=0; i<30; i++) { if (window_ptr->sprite_id[i] != -1) { HuSprAttrSet(window_ptr->group, i, HUSPR_ATTR_DISPOFF); } @@ -1497,12 +1424,11 @@ void HuWinDispOff(s16 window) window_ptr->attr |= 8; } -void HuWinDispOn(s16 window) -{ +void HuWinDispOn(s16 window) { WindowData *window_ptr = &winData[window]; s16 i; - for (i = 0; i < 30; i++) { + for (i=0; i<30; i++) { if (window_ptr->sprite_id[i] != -1) { HuSprAttrReset(window_ptr->group, i, HUSPR_ATTR_DISPOFF); } @@ -1510,8 +1436,7 @@ void HuWinDispOn(s16 window) window_ptr->attr = window_ptr->attr & ~8; } -void HuWinComKeyWait(s32 player_1, s32 player_2, s32 player_3, s32 player_4, s16 delay) -{ +void HuWinComKeyWait(s32 player_1, s32 player_2, s32 player_3, s32 player_4, s16 delay) { s32 wait_input_p4; s32 wait_input_p3; s32 wait_input_p2; @@ -1519,39 +1444,33 @@ void HuWinComKeyWait(s32 player_1, s32 player_2, s32 player_3, s32 player_4, s16 if (player_4 == -1) { wait_input_p4 = -1; - } - else { + } else { wait_input_p4 = 0; } if (player_3 == -1) { wait_input_p3 = -1; - } - else { + } else { wait_input_p3 = 0; } if (player_2 == -1) { wait_input_p2 = -1; - } - else { + } else { wait_input_p2 = 0; } if (player_1 == -1) { wait_input_p1 = -1; - } - else { + } else { wait_input_p1 = 0; } _HuWinComKeySet(wait_input_p1, wait_input_p2, wait_input_p3, wait_input_p4, delay); _HuWinComKeySet(player_1, player_2, player_3, player_4, 1); } -void HuWinComKeySet(s32 player_1, s32 player_2, s32 player_3, s32 player_4) -{ +void HuWinComKeySet(s32 player_1, s32 player_2, s32 player_3, s32 player_4) { _HuWinComKeySet(player_1, player_2, player_3, player_4, 1); } -void _HuWinComKeySet(s32 player_1, s32 player_2, s32 player_3, s32 player_4, s16 delay) -{ +void _HuWinComKeySet(s32 player_1, s32 player_2, s32 player_3, s32 player_4, s16 delay) { winComKeyBuf[comKeyIdx].player[0] = player_1; winComKeyBuf[comKeyIdx].player[1] = player_2; winComKeyBuf[comKeyIdx].player[2] = player_3; @@ -1561,29 +1480,25 @@ void _HuWinComKeySet(s32 player_1, s32 player_2, s32 player_3, s32 player_4, s16 comKeyIdx &= 0xFF; } -void HuWinComKeyGet(s16 window, u32 *data) -{ +void HuWinComKeyGet(s16 window, u32 *data) { WindowData *window_ptr = &winData[window]; s16 i; if (comKeyIdx == comKeyIdxNow) { - for (i = 0; i < 4; i++) { + for (i=0; i<4; i++) { if (!(window_ptr->player_disable & (1 << i))) { data[i] = HuPadDStkRep[i] | HuPadBtnDown[i]; - } - else { + } else { data[i] = 0; } } - } - else { - for (i = 0; i < 4; i++) { + } else { + for (i=0; i<4; i++) { data[i] = winComKeyBuf[comKeyIdxNow].player[i]; if (data[i] == 0xFFFFFFFF) { if (!(window_ptr->player_disable & (1 << i))) { data[i] = HuPadDStkRep[i] | HuPadBtnDown[i]; - } - else { + } else { data[i] = 0; } } @@ -1596,13 +1511,11 @@ void HuWinComKeyGet(s16 window, u32 *data) } } -void HuWinComKeyReset(void) -{ +void HuWinComKeyReset(void) { comKeyIdx = comKeyIdxNow = 0; } -void HuWinMesMaxSizeGet(s16 mess_num, float *size, ...) -{ +void HuWinMesMaxSizeGet(s16 mess_num, float *size, ...) { s16 i; u32 mess; va_list list; @@ -1610,11 +1523,11 @@ void HuWinMesMaxSizeGet(s16 mess_num, float *size, ...) winInsertF = 0; va_start(list, size); winMaxWidth = winMaxHeight = 0; - for (i = 0; i < mess_num; i++) { + for(i=0; i 0x80000000) { from_messdata = 0; mess_data = (u8 *)mess; - } - else { + } else { from_messdata = 1; mess_data = mess_start = MessData_MesPtrGet(messDataPtr, mess); } @@ -1704,8 +1611,7 @@ static void GetMesMaxSizeSub(u32 mess) if (mess_data[1] != 0) { char_h = 26; } - } - else { + } else { char_w = fontWidthP[16] + 1; } } @@ -1746,15 +1652,9 @@ static void GetMesMaxSizeSub(u32 mess) char_w = mesWInsert[*mess_data - 1]; break; } -#if VERSION_NTSC if ((*mess_data != 255 && *mess_data >= 32) || *mess_data == 16) { cr_flag = 1; } -#else - if ((*mess_data != 255 && *mess_data >= 32) || *mess_data == 16 || mess_data[-1] == 31) { - cr_flag = 1; - } -#endif line_w += char_w; line_h += char_h; mess_data++; @@ -1767,8 +1667,7 @@ static void GetMesMaxSizeSub(u32 mess) } } -static s32 GetMesMaxSizeSub2(WindowData *window, u8 *mess_data) -{ +static s32 GetMesMaxSizeSub2(WindowData *window, u8 *mess_data) { s32 sp8; u8 mess_finish; s16 mess_h; @@ -1791,14 +1690,14 @@ static s32 GetMesMaxSizeSub2(WindowData *window, u8 *mess_data) case 16: case 32: break; - + case 10: if (mess_end != 0 && !(window->attr & 0x100)) { char_w = 0; mess_finish = 1; } break; - + case 255: mess_w += char_w; /* fallthrough */ @@ -1808,7 +1707,7 @@ static s32 GetMesMaxSizeSub2(WindowData *window, u8 *mess_data) char_h = 0; mess_w = char_w = 0; break; - + case 28: case 30: mess++; @@ -1817,16 +1716,16 @@ static s32 GetMesMaxSizeSub2(WindowData *window, u8 *mess_data) case 29: char_w = 0; break; - + case 12: char_w = winTabSize * ((mess_w + winTabSize) / winTabSize) - mess_w; break; - + case 14: mess++; char_w = spcFontTbl[*mess - 1].w + 1; break; - + case 31: mess++; break; @@ -1841,15 +1740,13 @@ static s32 GetMesMaxSizeSub2(WindowData *window, u8 *mess_data) return mess_w; } -s16 HuWinKeyWaitNumGet(u32 mess) -{ +s16 HuWinKeyWaitNumGet(u32 mess) { s16 wait_num; u8 *mess_data; if (mess > 0x80000000) { mess_data = (u8 *)mess; - } - else { + } else { mess_data = MessData_MesPtrGet(messDataPtr, mess); } for (wait_num = 0; *mess_data != 0; mess_data++) { @@ -1860,39 +1757,51 @@ s16 HuWinKeyWaitNumGet(u32 mess) return wait_num; } -void HuWinPushKeySet(s16 window, s16 push_key) -{ +void HuWinPushKeySet(s16 window, s16 push_key) { WindowData *window_ptr = &winData[window]; window_ptr->push_key = push_key; } -void HuWinDisablePlayerSet(s16 window, u8 player) -{ +void HuWinDisablePlayerSet(s16 window, u8 player) { WindowData *window_ptr = &winData[window]; window_ptr->player_disable |= player; } -void HuWinDisablePlayerReset(s16 window, u8 player) -{ +void HuWinDisablePlayerReset(s16 window, u8 player) { WindowData *window_ptr = &winData[window]; window_ptr->player_disable &= ~(int)player; } -static s32 winPortraitTbl[] - = { WIN_TOAD_TALK_ANM, WIN_BOBOMB_TALK_ANM, WIN_SHYGUY_TALK_ANM, WIN_BOO_TALK_ANM, WIN_GOOMBA_TALK_ANM, WIN_BOWSER_TALK_ANM, WIN_KKID_TALK_ANM, - WIN_KOOPA_TALK_ANM, WIN_CONDOR_TALK_ANM, WIN_BOO_BLUE_TALK_ANM, WIN_DOLPHIN_TALK_ANM, WIN_BOO_RED_TALK_ANM, WIN_THWOMP_TALK_ANM, - WIN_W01_HOST_TALK_ANM, WIN_W02_HOST_TALK_ANM, WIN_W03_HOST_TALK_ANM, WIN_W04_HOST_TALK_ANM, WIN_W05_HOST_TALK_ANM, WIN_W06_HOST_TALK_ANM }; +static s32 winPortraitTbl[] = { + WIN_TOAD_TALK_ANM, + WIN_BOBOMB_TALK_ANM, + WIN_SHYGUY_TALK_ANM, + WIN_BOO_TALK_ANM, + WIN_GOOMBA_TALK_ANM, + WIN_BOWSER_TALK_ANM, + WIN_KKID_TALK_ANM, + WIN_KOOPA_TALK_ANM, + WIN_CONDOR_TALK_ANM, + WIN_BOO_BLUE_TALK_ANM, + WIN_DOLPHIN_TALK_ANM, + WIN_BOO_RED_TALK_ANM, + WIN_THWOMP_TALK_ANM, + WIN_W01_HOST_TALK_ANM, + WIN_W02_HOST_TALK_ANM, + WIN_W03_HOST_TALK_ANM, + WIN_W04_HOST_TALK_ANM, + WIN_W05_HOST_TALK_ANM, + WIN_W06_HOST_TALK_ANM +}; -s16 HuWinExCreate(float x, float y, s16 w, s16 h, s16 portrait) -{ +s16 HuWinExCreate(float x, float y, s16 w, s16 h, s16 portrait) { return HuWinExCreateStyled(x, y, w, h, portrait, 0); } -static void HuWinExCreatePortrait(s16 window, s16 portrait, float x, float y) -{ +static void HuWinExCreatePortrait(s16 window, s16 portrait, float x, float y) { s16 sprite; AnimData *anim; WindowData *window_ptr; @@ -1905,13 +1814,12 @@ static void HuWinExCreatePortrait(s16 window, s16 portrait, float x, float y) HuWinSprSet(window, sprite, x, y); } -s16 HuWinExCreateStyled(float x, float y, s16 w, s16 h, s16 portrait, s16 frame) -{ +s16 HuWinExCreateStyled(float x, float y, s16 w, s16 h, s16 portrait, s16 frame) { WindowData *window_ptr; s16 window; if (portrait >= 0) { - h = (h < 84) ? 84 : h; + h = (h < 0x54) ? 0x54 : h; } window = HuWinCreate(x, y, w, h, frame); window_ptr = &winData[window]; @@ -1925,8 +1833,7 @@ s16 HuWinExCreateStyled(float x, float y, s16 w, s16 h, s16 portrait, s16 frame) return window; } -void HuWinExAnimIn(s16 window) -{ +void HuWinExAnimIn(s16 window) { WindowData *window_ptr = &winData[window]; s16 i; @@ -1934,21 +1841,19 @@ void HuWinExAnimIn(s16 window) if (window_ptr->sprite_id[2] == -1) { HuSprScaleSet(window_ptr->group, 0, 1.0f, 0.0f); HuWinDispOn(window); - for (i = 0; i <= 10; i++) { + for (i=0; i<=10; i++) { HuSprScaleSet(window_ptr->group, 0, 1.0f, 1.0 - 1.1 * cosd(9.0f * i)); HuPrcVSleep(); } HuSprScaleSet(window_ptr->group, 0, 1.0f, 1.0f); - } - else { + } else { HuSprScaleSet(window_ptr->group, 0, 1.0f, 0.0f); HuSprScaleSet(window_ptr->group, 2, 1.0f, 0.0f); HuWinDispOn(window); - for (i = 0; i <= 20; i++) { + for (i=0; i<=20; i++) { if (i <= 10) { HuSprScaleSet(window_ptr->group, 0, 1.0f, 1.1 * (1.0 - cosd(9.0f * i))); - } - else { + } else { HuSprScaleSet(window_ptr->group, 0, 1.0f, 1.0f); } if (i > 10) { @@ -1961,21 +1866,19 @@ void HuWinExAnimIn(s16 window) } } -void HuWinExAnimOut(s16 window) -{ +void HuWinExAnimOut(s16 window) { WindowData *window_ptr = &winData[window]; s16 i; _HuWinHomeClear(window_ptr); if (window_ptr->sprite_id[2] == -1) { - for (i = 0; i <= 10; i++) { + for (i=0; i<=10; i++) { HuSprScaleSet(window_ptr->group, 0, 1.0f, cosd(9.0f * i)); HuPrcVSleep(); } HuWinDispOff(window); - } - else { - for (i = 0; i <= 15; i++) { + } else { + for (i=0; i<=15; i++) { if (i <= 10) { HuSprScaleSet(window_ptr->group, 2, 1.0f, cosd(9.0f * i)); } @@ -1989,23 +1892,21 @@ void HuWinExAnimOut(s16 window) } } -void HuWinExCleanup(s16 window) -{ +void HuWinExCleanup(s16 window) { HuWinKill(window); } -void HuWinExAnimPopIn(s16 window, s16 portrait) -{ +void HuWinExAnimPopIn(s16 window, s16 portrait) { WindowData *window_ptr = &winData[window]; s16 i; - for (i = 0; i <= 10; i++) { + for (i=0; i<=10; i++) { HuSprScaleSet(window_ptr->group, 2, 1.0f, cosd(9.0f * i)); HuPrcVSleep(); } HuWinSprKill(window, 2); HuWinExCreatePortrait(window, portrait, 48.0f, 48.0f); - for (i = 0; i <= 10; i++) { + for (i=0; i<=10; i++) { HuSprScaleSet(window_ptr->group, 2, 1.0f, sind(9.0f * i)); HuPrcVSleep(); } diff --git a/src/game/wipe.c b/src/game/wipe.c index aa7c1d9a..f2429aa3 100644 --- a/src/game/wipe.c +++ b/src/game/wipe.c @@ -3,7 +3,6 @@ #include "game/memory.h" #include "game/flag.h" #include "game/board/tutorial.h" -#include "version.h" s16 HuSysVWaitGet(s16 old); @@ -142,11 +141,6 @@ void WipeCreate(s16 mode, s16 type, s16 duration) void WipeColorSet(u8 r, u8 g, u8 b) { - #if VERSION_PAL - if(r > 160 && g > 160 && b > 160) { - r = g = b = 160; - } - #endif wipeData.color.r = r; wipeData.color.g = g; wipeData.color.b = b; @@ -330,4 +324,4 @@ static void WipeFrameStill(GXColor color) GXTexCoord2f32(0, 1); GXEnd(); GXSetChanMatColor(GX_COLOR0A0, colorN); -} +} \ No newline at end of file diff --git a/src/libhu/setvf.c b/src/libhu/setvf.c deleted file mode 100644 index d8381bf7..00000000 --- a/src/libhu/setvf.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "dolphin.h" - -void HuSetVecF(Vec* arg0, f32 arg8, f32 arg9, f32 argA) { - arg0->x = arg8; - arg0->y = arg9; - arg0->z = argA; -} \ No newline at end of file diff --git a/src/libhu/subvf.c b/src/libhu/subvf.c deleted file mode 100644 index fc245a99..00000000 --- a/src/libhu/subvf.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "dolphin.h" - -void HuSubVecF(Vec* out, Vec* in, Vec* sub) { - out->x = in->x - sub->x; - out->y = in->y - sub->y; - out->z = in->z - sub->z; -} \ No newline at end of file diff --git a/src/msm/msmfio.c b/src/msm/msmfio.c index 00adc985..581cb3a1 100644 --- a/src/msm/msmfio.c +++ b/src/msm/msmfio.c @@ -1,41 +1,43 @@ -#include "msm/msmfio.h" -#include "game/msm.h" +#include "dolphin.h" + +struct msmFio { + BOOL (*open)(s32, DVDFileInfo *); + BOOL (*read)(DVDFileInfo *, void *, s32, s32, s32); + BOOL (*close)(DVDFileInfo *); +}; static struct msmFio fio; BOOL msmFioClose(DVDFileInfo *fileInfo) { - return fio.close(fileInfo); + return fio.close(fileInfo); } BOOL msmFioRead(DVDFileInfo *fileInfo, void *addr, s32 length, s32 offset) { - return fio.read(fileInfo, addr, length, offset, 2); + return fio.read(fileInfo, addr, length, offset, 2); } BOOL msmFioOpen(s32 entrynum, DVDFileInfo *fileInfo) { - return fio.open(entrynum, fileInfo); + return fio.open(entrynum, fileInfo); } -void msmFioInit(MSM_OPEN open, MSM_READ read, MSM_CLOSE close) +void msmFioInit(void *open, void *read, void *close) { - if (open) { - fio.open = open; - } - else { - fio.open = DVDFastOpen; - } - if (read) { - fio.read = read; - } - else { - fio.read = DVDReadPrio; - } - if (close) { - fio.close = close; - } - else { - fio.close = DVDClose; - } -} + if(open) { + fio.open = open; + } else { + fio.open = DVDFastOpen; + } + if(read) { + fio.read = read; + } else { + fio.read = DVDReadPrio; + } + if(close) { + fio.close = close; + } else { + fio.close = DVDClose; + } +} \ No newline at end of file diff --git a/src/msm/msmmem.c b/src/msm/msmmem.c index 1a587589..b89434a0 100644 --- a/src/msm/msmmem.c +++ b/src/msm/msmmem.c @@ -1,132 +1,136 @@ #include "msm/msmmem.h" -typedef struct MSMBlock_s { - struct MSMBlock_s* prev; - struct MSMBlock_s* next; - u32 freeSize; - u32 size; - void* ptr; - char pad[12]; -} MSMBLOCK; +typedef struct _unkStruct { + struct _unkStruct* prev; + struct _unkStruct* next; + u32 unk8; + u32 unkC; + void* unk10; + void* unk14; + char unk18[0x8]; +} unkStruct; -typedef struct MSMMem_s { - void *ptr; - u32 size; - MSMBLOCK *head; - MSMBLOCK first; -} MSM_MEM; +typedef struct _unkMemStruct { + unkStruct* unk0; + u32 unk4; + unkStruct* unk8; + unkStruct unkC; +} unkMemStruct; -static MSM_MEM mem; +static unkMemStruct mem; -void msmMemFree(void* ptr) { - MSMBLOCK* block; - MSMBLOCK* blockPrev; - MSMBLOCK* blockNext; - MSMBLOCK* blockHead; - MSMBLOCK* base; +void msmMemFree(void* arg0) { + unkStruct* temp_r6; + unkStruct* temp_r7; + unkStruct* temp_r8; + unkStruct* temp_r5; + unkStruct* temp; - base = ptr; + temp = arg0; - block = &base[-1]; - blockPrev = block->prev; - blockNext = block->next; - if (mem.ptr > block || ((u32)mem.ptr + (u32)mem.size) <= (u32)block) { + temp_r6 = &temp[-1]; + temp_r7 = temp_r6->prev; + temp_r8 = temp_r6->next; + if (mem.unk0 > temp_r6 || ((u32)mem.unk0 + (u32)mem.unk4) <= (u32)temp_r6) { return; } - if ((blockPrev->next != block) || (block->ptr != ptr) || (blockNext && (blockNext->prev != block))) { + if ((temp_r7->next != temp_r6) || (temp_r6->unk10 != arg0) || (temp_r8 && (temp_r8->prev != temp_r6))) { return; } - blockPrev->size += block->freeSize + block->size; - blockPrev->next = blockNext; - blockHead = mem.head; - if ((blockHead == block) || (blockHead->size < blockPrev->size)) { - mem.head = blockPrev; + temp_r7->unkC += temp_r6->unk8 + temp_r6->unkC; + temp_r7->next = temp_r8; + temp_r5 = mem.unk8; + if ((temp_r5 == temp_r6) || (temp_r5->unkC < temp_r7->unkC)) { + mem.unk8 = temp_r7; } - if (blockNext) { - blockNext->prev = blockPrev; - if (mem.head->size < blockNext->size) { - mem.head = blockNext; + if (temp_r8) { + temp_r8->prev = temp_r7; + if (mem.unk8->unkC < temp_r8->unkC) { + mem.unk8 = temp_r8; } } } -void* msmMemAlloc(u32 size) { - s32 alignOfs; - u32 freeSize; - u32 allocSize; - MSMBLOCK* block; - MSMBLOCK* blockPrev; - MSMBLOCK* blockNext; +void* msmMemAlloc(s32 arg0) { + unkMemStruct* memC; + s32 temp_r0; + u32 var_r5; + u32 var_r7; + unkStruct* temp_r5; + unkStruct* var_r8; + unkStruct* temp_r9; + unkStruct* temp_r6; + unkStruct* temp_r4; - allocSize = size + 0x20; - alignOfs = allocSize & 0x1F; - if (alignOfs) { - allocSize += 0x20 - alignOfs; + var_r7 = arg0 + 0x20; + temp_r0 = var_r7 & 0x1F; + if (temp_r0 != 0) { + var_r7 += 0x20 - temp_r0; } - if (mem.head->size >= allocSize) { - blockPrev = mem.head; + if (mem.unk8->unkC >= var_r7) { + var_r8 = mem.unk8; } else { - blockPrev = &mem.first; + var_r8 = &mem.unkC; do { - if (blockPrev->size >= allocSize) break; - blockPrev = blockPrev->next; - } while (blockPrev); - if (!blockPrev) { + if (var_r8->unkC >= var_r7) break; + var_r8 = var_r8->next; + } while (var_r8); + if (!var_r8) { return NULL; } } - freeSize = blockPrev->freeSize; - if (freeSize != 0) { - freeSize -= 0x20; + var_r5 = var_r8->unk8; + if (var_r5 != 0) { + var_r5 -= 0x20; } - block = (void*)((u32)blockPrev->ptr + (freeSize)); - blockNext = blockPrev->next; - if ((mem.ptr > block) || ((void*)((u32)mem.ptr + (u32)mem.size) <= block)) { + temp_r5 = (void*)((u32)var_r8->unk10 + var_r5); + temp_r9 = var_r8->next; + if ((mem.unk0 > temp_r5) || ((void*)((u32)mem.unk0 + (u32)mem.unk4) <= temp_r5)) { return NULL; } - block->freeSize = allocSize; - block->size = blockPrev->size - allocSize; - block->ptr = (block + 1); - block->prev = blockPrev; - block->next = blockNext; - mem.head = block; - blockPrev->size = 0; - blockPrev->next = block; - if (blockNext) { - blockNext->prev = block; - if (mem.head->size < blockNext->size) { - mem.head = blockNext; + temp_r5->unk8 = var_r7; + temp_r5->unkC = var_r8->unkC - var_r7; + temp_r5->unk10 = (temp_r5 + 1); + temp_r5->prev = var_r8; + temp_r5->next = temp_r9; + mem.unk8 = temp_r5; + var_r8->unkC = 0; + var_r8->next = temp_r5; + if (temp_r9) { + temp_r9->prev = temp_r5; + if (mem.unk8->unkC < temp_r9->unkC) { + mem.unk8 = temp_r9; } } - return block->ptr; + return temp_r5->unk10; } -void msmMemInit(void* ptr, u32 size) { - MSMBLOCK* block; - s32 ofs; +void msmMemInit(void* arg0, u32 arg1) { + unkStruct* temp_r7; + s32 temp; - ofs = (s32)ptr & 0x1F; - switch (ofs) { + temp = (s32)arg0 & 0x1F; + switch (temp) { default: - ofs = 0x20 - ofs; + temp = 0x20 - temp; break; case 0: - ofs = 0; + temp = 0; break; } - mem.ptr = (void*)((s32)ptr + ofs); - ofs = (s32)ptr + size; - mem.size = ((ofs - (s32)mem.ptr) & ~0x1F); - block = &mem.first; - block->freeSize = 0; - block->size = mem.size; - block->ptr = mem.ptr; - block->prev = NULL; - block->next = NULL; - mem.head = &mem.first; -} + mem.unk0 = (void*)((s32)arg0 + temp); + temp = (s32)arg0 + arg1; + mem.unk4 = ((temp - (s32)mem.unk0) & ~0x1F); + temp_r7 = &mem.unkC; + temp_r7->unk8 = 0; + temp_r7->unkC = mem.unk4; + temp_r7->unk10 = mem.unk0; + temp_r7->prev = NULL; + temp_r7->next = NULL; + mem.unk8 = &mem.unkC; +} \ No newline at end of file diff --git a/src/msm/msmmus.c b/src/msm/msmmus.c deleted file mode 100755 index 061da27a..00000000 --- a/src/msm/msmmus.c +++ /dev/null @@ -1,443 +0,0 @@ -#include "msm/msmmus.h" -#include "msm/msmmem.h" - -typedef struct MusPlayer_s { - /* 0x00 */ s16 musId; - /* 0x02 */ s8 baseVol; - /* 0x03 */ s8 vol; - /* 0x04 */ s8 status; - /* 0x05 */ s8 busyF; - /* 0x08 */ SND_SEQID seqId; - /* 0x0C */ void* songBuf; - /* 0x10 */ void* arrfile; - /* 0x14 */ volatile s32 fadeMaxTime; - /* 0x18 */ s32 fadeTime; - /* 0x1C */ s8 fadeVol; - /* 0x20 */ volatile s32 pauseOnMaxTime; - /* 0x24 */ s32 pauseOnTime; - /* 0x28 */ s8 pauseOnVol; - /* 0x2C */ volatile s32 pauseOffMaxTime; - /* 0x30 */ s32 pauseOffTime; - /* 0x28 */ s8 pauseOffVol; - /* 0x35 */ volatile s8 startVol; - /* 0x36 */ s8 targetVol; - /* 0x38 */ SND_PLAYPARA playPara; -} MUS_PLAYER; // Size 0x58 - -static struct { - /* 0x000 */ s16 musMax; - /* 0x002 */ s8 musChanMax; - /* 0x003 */ s8 baseGrpNumPlay; - /* 0x004 */ s8 numPlay; - /* 0x008 */ s32 msmEntryNum; - /* 0x00C */ MSM_MUS *musData; - /* 0x010 */ s32 dummyMusOfs; - /* 0x014 */ void* musBuf; - /* 0x018 */ MUS_PLAYER player[4]; -} mus; - -static void msmMusPauseSub(MUS_PLAYER* player, BOOL pause, s32 speed) { - s32 time; - - time = speed / 15; - if (pause) { - if (player->status == MSM_MUS_PLAY) { - if (time != 0) { - player->pauseOnTime = time; - player->pauseOnMaxTime = time; - player->pauseOnVol = 127; - } else { - sndSeqPause(player->seqId); - player->pauseOnVol = 0; - } - player->status = MSM_MUS_PAUSE; - } - } else { - if (player->status == MSM_MUS_PAUSE) { - if (time != 0) { - if (player->pauseOnMaxTime != 0) { - player->pauseOnMaxTime = -time; - } else { - sndSeqContinue(player->seqId); - player->pauseOnMaxTime = -time; - player->pauseOnTime = 0; - player->pauseOnVol = 0; - } - } else { - sndSeqContinue(player->seqId); - player->pauseOnVol = 127; - sndSeqVolume(player->baseVol * player->vol * player->fadeVol * player->pauseOnVol / (127*127*127), 0, player->seqId, 0); - } - player->status = MSM_MUS_PLAY; - } - } -} - -static void msmMusPauseFade(MUS_PLAYER *player) { - if (player->pauseOnMaxTime > 0) { - if (--player->pauseOnTime == 0) { - player->pauseOnMaxTime = 0; - player->pauseOnVol = 0; - sndSeqPause(player->seqId); - } else { - player->pauseOnVol = player->pauseOnTime * 127 / player->pauseOnMaxTime; - sndSeqVolume(player->baseVol * player->vol * player->fadeVol * player->pauseOnVol / (127*127*127), 0, player->seqId, 0); - } - } else if (player->pauseOnMaxTime < 0) { - if (++player->pauseOnTime >= -player->pauseOnMaxTime) { - player->pauseOnMaxTime = 0; - player->pauseOnVol = 127; - } else { - player->pauseOnVol = player->pauseOnTime * 127 / -player->pauseOnMaxTime; - } - sndSeqVolume(player->baseVol * player->vol * player->fadeVol * player->pauseOnVol / (127*127*127), 0, player->seqId, 0); - } -} - -static void msmMusFade(MUS_PLAYER *player) { - if (player->status != MSM_MUS_PLAY) { - return; - } - if (player->fadeMaxTime > 0) { - if (--player->fadeTime == 0) { - if (player->status != 0) { - player->fadeMaxTime = 0; - if (player->fadeMaxTime != 0) { - player->fadeTime = player->fadeMaxTime; - player->fadeVol = 127; - } else { - sndSeqStop(player->seqId); - player->status = 1; - } - } - } else { - player->fadeVol = player->fadeTime * 127 / player->fadeMaxTime; - sndSeqVolume(player->baseVol * player->vol * player->fadeVol * player->pauseOnVol / (127*127*127), 0, player->seqId, 0); - } - } else if (player->fadeMaxTime < 0) { - if (++player->fadeTime >= -player->fadeMaxTime) { - player->fadeMaxTime = 0; - player->fadeVol = 127; - } else { - player->fadeVol = player->fadeTime * 127 / -player->fadeMaxTime; - } - sndSeqVolume(player->baseVol * player->vol * player->fadeVol * player->pauseOnVol / (127*127*127), 0, player->seqId, 0); - } -} - -void msmMusFdoutEnd(void) { -} - -void msmMusPeriodicProc(void) { - s32 i; - MUS_PLAYER* player; - - mus.numPlay = mus.baseGrpNumPlay = 0; - for (i = 0; i < mus.musChanMax; i++) { - player = &mus.player[i]; - if (player->busyF != FALSE) { - continue; - } - switch (player->status) { - case MSM_MUS_STOP: - case MSM_MUS_PLAY: - if (sndSeqGetValid(player->seqId) == FALSE) { - player->status = 0; - } - break; - } - if (player->status == MSM_MUS_DONE) { - continue; - } - if (msmSysCheckBaseGroup(mus.musData[player->musId].sgid) != 0) { - mus.numPlay++; - } else { - mus.baseGrpNumPlay++; - } - msmMusPauseFade(player); - if (player->status == MSM_MUS_PLAY && player->pauseOffMaxTime != 0) { - if (++player->pauseOffTime >= player->pauseOffMaxTime) { - player->pauseOffMaxTime = 0; - player->baseVol = player->targetVol; - } else { - player->baseVol = player->startVol + player->pauseOffTime * (player->targetVol - player->startVol) / player->pauseOffMaxTime; - } - sndSeqVolume(player->baseVol * player->vol * player->fadeVol * player->pauseOnVol / (127*127*127), 0, player->seqId, 0); - } - msmMusFade(player); - } -} - -s32 msmMusGetMidiCtrl(int musNo, s32 channel, s32 ctrl) { - MUS_PLAYER *player; - - if (musNo < 0 || musNo >= mus.musChanMax) { - return MSM_ERR_OUTOFMUS; - } - player = &mus.player[musNo]; - if (sndSeqGetValid(player->seqId) == TRUE) { - return sndSeqGetMidiCtrl(player->seqId, channel & 0xF, ctrl); - } - return 0; -} - -s32 msmMusGetNumPlay(BOOL baseGrp) { - switch (baseGrp) { - case FALSE: - return mus.baseGrpNumPlay + mus.numPlay; - default: - return mus.baseGrpNumPlay; - } -} - -s32 msmMusGetStatus(int musNo) { - if (musNo < 0 || musNo >= mus.musChanMax) { - return MSM_ERR_OUTOFMUS; - } - return mus.player[musNo].status; -} - -void msmMusSetMasterVolume(s32 vol) { - sndMasterVolume(vol & 127, 0, 1, 0); -} - -s32 msmMusSetParam(s32 musNo, MSM_MUSPARAM *param) { - MUS_PLAYER* player; - - if (musNo < 0 || musNo >= mus.musChanMax) { - return MSM_ERR_OUTOFMUS; - } - player = &mus.player[musNo]; - if (param->flag & MSM_MUSPARAM_VOL) { - player->pauseOffMaxTime = param->fadeSpeed / 15; - if (player->pauseOffMaxTime != 0) { - player->busyF = 1; - player->pauseOffTime = 0; - player->startVol = player->baseVol; - player->targetVol = param->vol & 127; - player->busyF = 0; - } else { - player->baseVol = param->vol & 127; - sndSeqVolume(player->baseVol * player->vol * player->fadeVol * player->pauseOnVol / (127*127*127), 0, player->seqId, 0); - } - } - if (param->flag & MSM_MUSPARAM_SPEED) { - sndSeqSpeed(player->seqId, (param->speed << 8) / 100); - } - return 0; -} - -void msmMusPauseAll(BOOL pause, s32 speed) { - s32 var_r27; - MUS_PLAYER* player; - - for (var_r27 = 0; var_r27 < mus.musChanMax; var_r27++) { - player = &mus.player[var_r27]; - if (player->status != MSM_MUS_DONE) { - player->busyF = TRUE; - msmMusPauseSub(player, pause, speed); - player->busyF = FALSE; - } - } -} - -s32 msmMusPause(int musNo, BOOL pause, s32 speed) { - MUS_PLAYER *player; - - if (musNo < 0 || musNo >= mus.musChanMax) { - return MSM_ERR_OUTOFMUS; - } - player = &mus.player[musNo]; - player->busyF = TRUE; - msmMusPauseSub(player, pause, speed); - player->busyF = FALSE; - return 0; -} - -void msmMusStopAll(BOOL checkGrp, s32 speed) { - s32 i; - MUS_PLAYER *player; - - for (i = 0; i < mus.musChanMax; i++) { - player = &mus.player[i]; - if (player->status == 0) { - continue; - } - player->busyF = TRUE; - switch (checkGrp) { - case FALSE: - if (player->status != 0) { - player->fadeMaxTime = speed / 15; - if (player->fadeMaxTime != 0) { - player->fadeTime = player->fadeMaxTime; - player->fadeVol = 127; - } else { - sndSeqStop(player->seqId); - player->status = 1; - } - } - break; - default: - if (msmSysCheckBaseGroup(mus.musData[player->musId].sgid) == 0 && player->status != 0) { - player->fadeMaxTime = speed / 15; - if (player->fadeMaxTime != 0) { - player->fadeTime = player->fadeMaxTime; - player->fadeVol = 127; - } else { - sndSeqStop(player->seqId); - player->status = 1; - } - } - break; - } - player->busyF = FALSE; - } -} - -s32 msmMusStop(int musNo, s32 speed) { - MUS_PLAYER* player; - - if (musNo < 0 || musNo >= mus.musChanMax) { - return MSM_ERR_OUTOFMUS; - } - player = &mus.player[musNo]; - player->busyF = TRUE; - if (player->status != 0) { - player->fadeMaxTime = speed / 15; - if (player->fadeMaxTime != 0) { - player->fadeTime = player->fadeMaxTime; - player->fadeVol = 127; - } else { - sndSeqStop(player->seqId); - player->status = MSM_MUS_STOP; - } - } - player->busyF = FALSE; - return 0; -} - -int msmMusPlay(int musId, MSM_MUSPARAM* musParam) { - s32 var_r30; - int var_r29; - s32 temp_r3_3; - MSM_GRP_HEAD* temp_r3_2; - MSM_MUS* temp_r28; - MUS_PLAYER* temp_r27; - DVDFileInfo sp10; - - if (musId < 0 || musId >= mus.musMax) { - return MSM_ERR_INVALIDID; - } - temp_r28 = &mus.musData[musId]; - if (temp_r28->sgid == 0xFFFF) { - return MSM_ERR_REMOVEDID; - } - if (msmSysCheckLoadGroupID(temp_r28->sgid) == 0) { - return MSM_ERR_GRP_NOTLOADED; - } - var_r30 = (musParam != NULL) ? musParam->flag : 0; - var_r29 = (var_r30 & MSM_MUSPARAM_CHAN) ? musParam->chan : 0; - if (var_r29 < 0 || var_r29 >= mus.musChanMax) { - return MSM_ERR_OUTOFMUS; - } - temp_r27 = &mus.player[var_r29]; - if (temp_r27->status != 0) { - sndSeqStop(temp_r27->seqId); - } - if (temp_r28->songGrp < 0) { - if (temp_r27->musId != musId) { - if (msmFioOpen(mus.msmEntryNum, &sp10) != 1) { - return MSM_ERR_OPENFAIL; - } - if (msmFioRead(&sp10, temp_r27->songBuf, temp_r28->songSize, temp_r28->songOfs + mus.dummyMusOfs) < 0) { - msmFioClose(&sp10); - return MSM_ERR_READFAIL; - } - msmFioClose(&sp10); - temp_r27->arrfile = temp_r27->songBuf; - } - } else { - temp_r3_2 = msmSysGetGroupDataPtr(temp_r28->songGrp); - if (temp_r3_2 == NULL) { - return MSM_ERR_MUSGRP_NOTLOADED; - } - temp_r27->arrfile = (void*) ((u32) temp_r3_2 + temp_r3_2->sngOfs + temp_r28->songOfs); - } - temp_r27->busyF = 1; - temp_r27->vol = temp_r28->vol; - temp_r27->pauseOffMaxTime = 0; - temp_r27->pauseOnMaxTime = 0; - temp_r27->fadeMaxTime = 0; - temp_r27->pauseOnVol = 127; - temp_r27->fadeVol = 127; - temp_r27->playPara.flags = 4; - temp_r27->playPara.volume.time = 0; - temp_r27->baseVol = (var_r30 & MSM_MUSPARAM_VOL) ? musParam->vol : 127; - temp_r27->playPara.volume.target = temp_r27->vol * temp_r27->fadeVol * temp_r27->baseVol / 16129; - if (var_r30 & MSM_MUSPARAM_PAUSE) { - temp_r27->playPara.flags |= 0x10; - } - if (var_r30 & MSM_MUSPARAM_SPEED) { - temp_r27->playPara.flags |= 2; - temp_r27->playPara.speed = musParam->speed * 256 / 100; - } - if (var_r30 & MSM_MUSPARAM_FADESPEED) { - temp_r27->fadeMaxTime = -(musParam->fadeSpeed / 15); - if (temp_r27->fadeMaxTime != 0) { - temp_r27->fadeTime = 0; - temp_r27->fadeVol = 0; - temp_r27->playPara.volume.target = 0; - } - } - temp_r3_3 = sndSeqPlay(temp_r28->sgid, temp_r28->sid, temp_r27->arrfile, &temp_r27->playPara); - if (temp_r3_3 == SND_ID_ERROR) { - temp_r27->busyF = 0; - return MSM_ERR_PLAYFAIL; - } - temp_r27->seqId = temp_r3_3; - temp_r27->musId = musId; - temp_r27->status = (temp_r27->playPara.flags & 0x10) ? 3 : 2; - temp_r27->busyF = 0; - return var_r29; -} - -s32 msmMusInit(MSM_SYS* arg0, DVDFileInfo* arg1) { - s32 temp_r4; - s32 var_r8; - - mus.musMax = 0; - mus.musChanMax = 0; - mus.numPlay = 0; - mus.baseGrpNumPlay = 0; - if (arg0->info->musMax == 0) { - return 0; - } - temp_r4 = arg0->header->musSize; - if (temp_r4 == 0) { - return 0; - } - if ((mus.musData = msmMemAlloc(temp_r4)) == NULL) { - return MSM_ERR_OUTOFMEM; - } - if (msmFioRead(arg1, mus.musData, arg0->header->musSize, arg0->header->musOfs) < 0) { - return MSM_ERR_READFAIL; - } - temp_r4 = arg0->info->dummyMusSize; - if (temp_r4 != 0) { - if ((mus.musBuf = msmMemAlloc(temp_r4 * arg0->info->musChanMax)) == NULL) { - return MSM_ERR_OUTOFMEM; - } - } else { - mus.musBuf = NULL; - } - mus.musMax = arg0->info->musMax; - mus.musChanMax = arg0->info->musChanMax; - mus.dummyMusOfs = arg0->header->dummyMusOfs; - mus.msmEntryNum = arg0->msmEntryNum; - for (var_r8 = 0; var_r8 < mus.musChanMax; var_r8++) { - mus.player[var_r8].songBuf = (void*) ((u32) mus.musBuf + arg0->info->dummyMusSize * var_r8); - mus.player[var_r8].musId = -1; - mus.player[var_r8].busyF = 0; - } - return 0; -} diff --git a/src/msm/msmse.c b/src/msm/msmse.c deleted file mode 100755 index cbacf34c..00000000 --- a/src/msm/msmse.c +++ /dev/null @@ -1,638 +0,0 @@ -#include "msm/msmse.h" -#include "msm/msmfio.h" -#include "msm/msmmem.h" - -#define SE_PLAYER_EMIT (1 << 0) - -typedef struct SePlayer_s { - SND_VOICEID vid; - s32 no; - s16 seId; - s8 status; - s8 busyF; - s8 vol; - s8 pan; - s16 pitch; - s8 span; - s8 auxAVol; - s8 auxBVol; - u8 flag; - SND_PARAMETER_INFO paramInfo; - SND_PARAMETER param[5]; - s8 baseVol; - s8 basePan; - s16 basePitch; - volatile s32 fadeMaxTime; - s32 fadeTime; - s8 fadeVol; - volatile s32 pauseMaxTime; - s32 pauseTime; - s8 pauseVol; - SND_EMITTER emitter; - SND_FVECTOR emiPos; - SND_FVECTOR emiDir; - s8 emitterF; -} SE_PLAYER; - -static struct { - s32 seMax; - s8 sfx; - s8 baseGrpNumPlay; - s8 numPlay; - s32 no; - MSM_SE *seData; - SE_PLAYER *player; - SND_LISTENER listener; - SND_FVECTOR listenerPos; - SND_FVECTOR listenerDir; - SND_FVECTOR listenerHeading; - SND_FVECTOR listenerUp; - float sndDist; - u16 groupId; - u16 listenerF; -} se; - -static void msmSeFade(SE_PLAYER *player) { - u8 vol; - - if (player->status == MSM_SE_PAUSEOUT) { - return; - } - if (player->fadeMaxTime > 0) { - if (--player->fadeTime == 0) { - player->fadeMaxTime = 0; - player->fadeMaxTime = 0; - if (player->fadeMaxTime != 0) { - player->fadeTime = player->fadeMaxTime; - player->fadeVol = 127; - } else { - player->status = 1; - if ((player->flag & SE_PLAYER_EMIT) && player->emitterF == TRUE) { - sndRemoveEmitter(&player->emitter); - } else { - sndFXKeyOff(player->vid); - } - } - } else { - player->fadeVol = player->fadeTime * 127 / player->fadeMaxTime; - vol = player->vol * player->baseVol * player->fadeVol * player->pauseVol / (127*127*127); - if ((player->flag & SE_PLAYER_EMIT) && player->emitterF == TRUE) { - player->emiDir.x = player->emiDir.y = player->emiDir.z = 0.0f; - sndUpdateEmitter(&player->emitter, &player->emiPos, &player->emiDir, vol, NULL); - } else { - sndFXVolume(player->vid, vol); - } - } - } else if (player->fadeMaxTime < 0) { - if (++player->fadeTime >= -player->fadeMaxTime) { - player->fadeMaxTime = 0; - player->fadeVol = 127; - } else { - player->fadeVol = player->fadeTime * 127 / -player->fadeMaxTime; - } - vol = player->vol * player->baseVol * player->fadeVol * player->pauseVol / (127*127*127); - if ((player->flag & SE_PLAYER_EMIT) && player->emitterF == 1) { - player->emiDir.x = player->emiDir.y = player->emiDir.z = 0.0f; - sndUpdateEmitter(&player->emitter, &player->emiPos, &player->emiDir, vol, NULL); - } else { - sndFXVolume(player->vid, vol); - } - } -} - -static void msmSePauseSub(SE_PLAYER* player, BOOL pause, s32 speed) { - s32 time; - - time = speed / 15; - if (pause) { - if (player->status == MSM_SE_PAUSEIN) { - if (time != 0) { - player->pauseMaxTime = player->pauseTime = time; - player->pauseVol = 127; - } else { - player->pauseVol = 0; - sndFXVolume(player->vid, player->vol * player->baseVol * player->fadeVol * player->pauseVol / (127*127*127)); - } - player->status = MSM_SE_PAUSEOUT; - } - } else { - if (player->status == MSM_SE_PAUSEOUT) { - if (time != 0) { - if (player->pauseMaxTime != 0) { - player->pauseMaxTime = -time; - } else { - player->pauseMaxTime = -time; - player->pauseTime = 0; - player->pauseVol = 0; - } - } else { - player->pauseVol = 127; - sndFXVolume(player->vid, player->vol * player->baseVol * player->fadeVol * player->pauseVol / (127*127*127)); - } - player->status = MSM_SE_PAUSEIN; - } - } -} - -static SE_PLAYER* msmSeSearchEntry(s32 seNo) { - SE_PLAYER *player; - s32 i; - - for (i = 0; i < se.sfx; i++) { - player = &se.player[i]; - if (player->status != MSM_SE_DONE && player->no == seNo) { - return player; - } - } - return NULL; -} - -void msmSePeriodicProc(void) { - s32 i; - SE_PLAYER* player; - u8 vol; - - se.baseGrpNumPlay = se.numPlay = 0; - for (i = 0; i < se.sfx; i++) { - player = &se.player[i]; - if (player->busyF != 0) { - continue; - } - switch (player->status) { - case MSM_SE_PLAY: - case MSM_SE_PAUSEIN: - if ((player->flag & SE_PLAYER_EMIT) && player->emitterF == TRUE) { - if (!sndCheckEmitter(&player->emitter)) { - player->status = 0; - } - } else { - if (sndFXCheck(player->vid) == SND_ID_ERROR) { - player->status = 0; - } - } - break; - } - if (player->status == 0) { - continue; - } - if (msmSysCheckBaseGroup(se.seData[player->seId].gid) != 0) { - se.baseGrpNumPlay++; - } else { - se.numPlay++; - } - if (player->pauseMaxTime > 0) { - if (--player->pauseTime == 0) { - player->pauseMaxTime = 0; - player->pauseVol = 0; - } else { - player->pauseVol = player->pauseTime * 127 / player->pauseMaxTime; - } - } else if (player->pauseMaxTime < 0) { - if (++player->pauseTime >= -player->pauseMaxTime) { - player->pauseMaxTime = 0; - player->pauseVol = 127; - } else { - player->pauseVol = player->pauseTime * 127 / -player->pauseMaxTime; - } - } - vol = player->vol * player->baseVol * player->fadeVol * player->pauseVol / (127*127*127); - if ((player->flag & SE_PLAYER_EMIT) && player->emitterF == TRUE) { - player->emiDir.x = player->emiDir.y = player->emiDir.z = 0.0f; - sndUpdateEmitter(&player->emitter, &player->emiPos, &player->emiDir, vol, NULL); - } else { - sndFXVolume(player->vid, vol); - } - msmSeFade(player); - } -} - -MSM_SE* msmSeGetIndexPtr(s32 seId) { - if (seId < 0 || seId >= se.seMax) { - return NULL; - } - return &se.seData[seId]; -} - -void msmSeDelListener(void) { - if (se.listenerF != 0) { - sndRemoveListener(&se.listener); - se.listenerF = 0; - } -} - -s32 msmSeUpdataListener(Vec* pos, Vec* heading) { - if (se.listenerF == 0) { - return MSM_LISTENER_NO_UPDATA; - } - se.listenerDir.x = pos->x - se.listenerPos.x; - se.listenerDir.y = pos->y - se.listenerPos.y; - se.listenerDir.z = pos->z - se.listenerPos.z; - se.listenerPos.x = pos->x; - se.listenerPos.y = pos->y; - se.listenerPos.z = pos->z; - se.listenerHeading.x = heading->x; - se.listenerHeading.y = heading->y; - se.listenerHeading.z = heading->z; - if (!sndUpdateListener(&se.listener, &se.listenerPos, &se.listenerDir, &se.listenerHeading, &se.listenerUp, 127, NULL)) { - return MSM_LISTENER_NO_UPDATA; - } - return 0; -} - -s32 msmSeSetListener(Vec* pos, Vec* heading, float sndDist, float sndSpeed, MSM_SELISTENER* listener) { - SND_FVECTOR* listenerDir; - SND_FVECTOR* listenerPos; - SND_FVECTOR* listenerUp; - SND_FVECTOR* listenerHeading; - s32 flag; - float startDis; - float frontSurDis; - float backSurDis; - - listenerPos = &se.listenerPos; - listenerUp = &se.listenerUp; - listenerHeading = &se.listenerHeading; - listenerDir = &se.listenerDir; - listenerPos->x = pos->x; - listenerPos->y = pos->y; - listenerPos->z = pos->z; - listenerUp->x = listenerUp->z = 0.0f; - listenerUp->y = 1.0f; - listenerHeading->x = heading->x; - listenerHeading->y = heading->y; - listenerHeading->z = heading->z; - listenerDir->x = listenerDir->y = listenerDir->z = 0.0f; - se.sndDist = sndDist; - flag = (listener != NULL) ? listener->flag : MSM_LISTENER_NONE; - startDis = (flag & MSM_LISTENER_STARTDIS) ? listener->startDis : 0.0f; - frontSurDis = (flag & MSM_LISTENER_FRONTSURDIS) ? listener->frontSurDis : (startDis + sndDist * 0.25f); - backSurDis = (flag & MSM_LISTENER_BACKSURDIS) ? listener->backSurDis : (startDis + sndDist * 0.25f); - if ((s32) sndAddListenerEx(&se.listener, listenerPos, listenerDir, listenerHeading, listenerUp, - frontSurDis, backSurDis, sndSpeed, -startDis, SND_EMITTER_CONTINOUS, 127, NULL) == FALSE) - { - se.listenerF = FALSE; - return MSM_LISTENER_NO_UPDATA; - } - se.listenerF = TRUE; - return 0; -} - -s32 msmSeGetEntryID(s32 seId, int* seNo) { - SE_PLAYER* player; - s32 i; - s32 num; - - for (i = num = 0; i < se.sfx; i++) { - player = &se.player[i]; - if (player->status != 0 && player->seId == seId) { - if (seNo != NULL) { - seNo[num] = player->no; - } - num++; - } - } - return num; -} - -s32 msmSeGetNumPlay(BOOL baseGrp) { - switch (baseGrp) { - case FALSE: - return se.numPlay + se.baseGrpNumPlay; - default: - return se.numPlay; - } -} - -s32 msmSeGetStatus(int seNo) { - SE_PLAYER* pan; - - pan = msmSeSearchEntry(seNo); - if (pan == NULL) { - return 0; - } - return pan->status; -} - -void msmSeSetMasterVolume(s32 vol) { - sndMasterVolume(vol & 127, 0, 0, 1); -} - -s32 msmSeSetParam(int seNo, MSM_SEPARAM* param) { - SE_PLAYER* player; - int pan; - s32 pitch; - - player = msmSeSearchEntry(seNo); - if (player == NULL) { - return MSM_ERR_INVALIDSE; - } - if (param->flag & MSM_SEPARAM_VOL) { - player->busyF = TRUE; - player->vol = param->vol; - if (!(player->flag & SE_PLAYER_EMIT) || player->emitterF != TRUE) { - sndFXVolume(player->vid, player->vol * player->baseVol * player->fadeVol * player->pauseVol / (127*127*127)); - } - player->busyF = FALSE; - } - if (!(player->flag & SE_PLAYER_EMIT)) { - if (param->flag & MSM_SEPARAM_PAN) { - player->pan = param->pan; - pan = player->pan + player->basePan - 64; - if (pan < 0) { - pan = 0; - } - if (pan > 127) { - pan = 127; - } - sndFXPanning(player->vid, pan); - } - if (param->flag & MSM_SEPARAM_PITCH) { - player->pitch = param->pitch; - pitch = player->pitch + player->basePitch + 8192; - if (pitch < 0) { - pitch = 0; - } - if (pitch > 16383) { - pitch = 16383; - } - sndFXPitchBend(player->vid, pitch); - } - if (param->flag & MSM_SEPARAM_SPAN) { - player->span = param->span; - sndFXSurroundPanning(player->vid, player->span); - } - } else if (player->emitterF == TRUE) { - player->vid = sndEmitterVoiceID(&player->emitter); - if (param->flag & MSM_SEPARAM_POS) { - player->busyF = TRUE; - player->emiDir.x = param->pos.x - player->emiPos.x; - player->emiDir.y = param->pos.y - player->emiPos.y; - player->emiDir.z = param->pos.z - player->emiPos.z; - player->emiPos.x = param->pos.x; - player->emiPos.y = param->pos.y; - player->emiPos.z = param->pos.z; - sndUpdateEmitter(&player->emitter, &player->emiPos, &player->emiDir, player->vol * player->baseVol * player->fadeVol * player->pauseVol / (127*127*127), NULL); - player->busyF = FALSE; - } - } - if (param->flag & MSM_SEPARAM_AUXVOLA) { - player->auxAVol = param->auxAVol; - sndFXReverb(player->vid, player->auxAVol); - } - if (param->flag & MSM_SEPARAM_AUXVOLB) { - player->auxBVol = param->auxBVol; - sndFXChorus(player->vid, player->auxBVol); - } - if (param->flag & MSM_SEPARAM_PAD) { - sndSendMessage(player->vid, param->pad); - } - return 0; -} - -void msmSePauseAll(BOOL pause, s32 speed) { - s32 i; - SE_PLAYER* player; - - for (i = 0; i < se.sfx; i++) { - player = &se.player[i]; - player->busyF = TRUE; - msmSePauseSub(player, pause, speed); - player->busyF = FALSE; - } -} - -void msmSeStopAll(BOOL checkGrp, s32 speed) { - SE_PLAYER* player; - s32 i; - - for (i = 0; i < se.sfx; i++) { - player = &se.player[i]; - if (player->status == MSM_MUS_DONE) { - continue; - } - player->busyF = TRUE; - switch (checkGrp) { - case FALSE: - player->fadeMaxTime = speed / 15; - if (player->fadeMaxTime != 0) { - player->fadeTime = player->fadeMaxTime; - player->fadeVol = 127; - } else { - player->status = 1; - if ((player->flag & SE_PLAYER_EMIT) && player->emitterF == TRUE) { - sndRemoveEmitter(&player->emitter); - } else { - sndFXKeyOff(player->vid); - } - } - break; - default: - if (msmSysCheckBaseGroup(se.seData[player->seId].gid) == 0) { - player->fadeMaxTime = speed / 15; - if (player->fadeMaxTime != 0) { - player->fadeTime = player->fadeMaxTime; - player->fadeVol = 127; - } else { - player->status = 1; - if ((player->flag & SE_PLAYER_EMIT) && player->emitterF == TRUE) { - sndRemoveEmitter(&player->emitter); - } else { - sndFXKeyOff(player->vid); - } - } - } - break; - } - player->busyF = FALSE; - } -} - -s32 msmSeStop(int seNo, s32 speed) { - SE_PLAYER* player; - - player = msmSeSearchEntry(seNo); - if (player == NULL) { - return MSM_ERR_INVALIDSE; - } - player->busyF = TRUE; - player->fadeMaxTime = speed / 15; - if (player->fadeMaxTime != 0) { - player->fadeTime = player->fadeMaxTime; - player->fadeVol = 127; - } else { - player->status = MSM_MUS_STOP; - if ((player->flag & SE_PLAYER_EMIT) && player->emitterF == TRUE) { - sndRemoveEmitter(&player->emitter); - } else { - sndFXKeyOff(player->vid); - } - } - player->busyF = FALSE; - return 0; -} - -static inline BOOL msmSeUpdateBaseParam(SE_PLAYER* player, MSM_SEPARAM* param) { - BOOL listenerF = FALSE; - - if (param != NULL) { - if (param->flag & MSM_SEPARAM_VOL) { - player->vol = param->vol; - } - if (param->flag & MSM_SEPARAM_PAN) { - player->pan = param->pan; - } - if (param->flag & MSM_SEPARAM_PITCH) { - player->pitch = param->pitch; - } - if (param->flag & MSM_SEPARAM_SPAN) { - player->span = param->span; - } - if (param->flag & MSM_SEPARAM_AUXVOLA) { - player->auxAVol = param->auxAVol; - } - if (param->flag & MSM_SEPARAM_AUXVOLB) { - player->auxBVol = param->auxBVol; - } - if ((param->flag & MSM_SEPARAM_POS) && se.listenerF != 0) { - listenerF = TRUE; - } - } - player->paramInfo.paraArray = player->param; - return listenerF; -} - -int msmSePlay(int seId, MSM_SEPARAM* param) { - SE_PLAYER* player; - SND_EMITTER* emitter; - MSM_SE* seData; - int pitch; - s32 pan; - s32 i; - s32 emiFlag; - - if (seId < 0 || seId >= se.seMax) { - return MSM_ERR_INVALIDID; - } - seData = &se.seData[seId]; - if (seData->gid == 0xFFFF) { - return MSM_ERR_REMOVEDID; - } - for (i = 0; i < se.sfx; i++) { - player = &se.player[i]; - if (player->status == 0) { - break; - } - } - if (i == se.sfx) { - return MSM_ERR_CHANLIMIT; - } - player->baseVol = seData->vol; - player->basePan = seData->pan; - player->basePitch = seData->pitchBend; - player->vol = 127; - player->pan = 64; - player->span = seData->span; - player->pitch = 0; - player->auxAVol = seData->reverb; - player->auxBVol = seData->chorus; - player->pauseMaxTime = 0; - player->fadeMaxTime = 0; - player->pauseVol = 127; - player->fadeVol = 127; - player->emitterF = 0; - if (msmSeUpdateBaseParam(player, param)) { - player->emiPos.x = param->pos.x; - player->emiPos.y = param->pos.y; - player->emiPos.z = param->pos.z; - player->param[0].ctrl = SND_MIDICTRL_REVERB; - player->param[0].paraData.value7 = player->auxAVol; - player->param[1].ctrl = SND_MIDICTRL_CHORUS; - player->param[1].paraData.value7 = player->auxBVol; - player->paramInfo.numPara = 2; - player->emiDir.x = player->emiDir.y = player->emiDir.z = 0.0f; - if (seData->emitterF == TRUE) { - emitter = &player->emitter; - emiFlag = SND_EMITTER_DOPPLERFX|SND_EMITTER_CONTINOUS; - } else { - emitter = NULL; - emiFlag = SND_EMITTER_DOPPLERFX; - } - player->emitterF = seData->emitterF; - player->vid = sndAddEmitterParaEx(emitter, &player->emiPos, &player->emiDir, se.sndDist, seData->emiComp / 127.0f, emiFlag, seData->fxId, se.groupId++, player->vol * player->baseVol / 127, 0, NULL, &player->paramInfo); - if (emitter != NULL) { - if (!sndCheckEmitter(emitter)) { - return MSM_ERR_PLAYFAIL; - } - } else { - if (player->vid == -1) { - return MSM_ERR_PLAYFAIL; - } - } - player->flag |= 1; - } else { - player->param[0].ctrl = SND_MIDICTRL_VOLUME; - player->param[0].paraData.value14 = (player->vol * player->baseVol / 127) * 129; - pan = player->pan + player->basePan - 64; - if (pan < 0) { - pan = 0; - } - if (pan > 127) { - pan = 127; - } - player->param[1].ctrl = SND_MIDICTRL_PANNING; - player->param[1].paraData.value14 = pan * 129; - player->param[2].ctrl = SND_MIDICTRL_REVERB; - player->param[2].paraData.value7 = player->auxAVol; - player->param[3].ctrl = SND_MIDICTRL_CHORUS; - player->param[3].paraData.value7 = player->auxBVol; - pitch = player->pitch + player->basePitch + 8192; - if (pitch > 16383) { - pitch = 16383; - } else if (pitch < 0) { - pitch = 0; - } - player->param[4].ctrl = SND_MIDICTRL_PITCHBEND; - player->param[4].paraData.value14 = pitch; - player->paramInfo.numPara = 5; - player->vid = sndFXStartParaInfo(seData->fxId, 0xFF, 0xFF, 0, &player->paramInfo); - if (player->vid == -1) { - return MSM_ERR_PLAYFAIL; - } - sndFXSurroundPanning(player->vid, player->span); - player->flag &= ~1; - } - player->busyF = 1; - player->seId = seId; - player->no = se.no++; - player->status = 2; - player->busyF = 0; - return player->no; -} - -s32 msmSeInit(MSM_SYS* arg0, DVDFileInfo* arg1) { - s32 playerSize; - - se.sfx = 0; - se.seMax = 0; - se.baseGrpNumPlay = 0; - se.numPlay = 0; - se.listenerF = 0; - if (arg0->info->seMax == 0) { - return 0; - } - if ((se.seData = msmMemAlloc(arg0->header->seSize)) == NULL) { - return MSM_ERR_OUTOFMEM; - } - if (msmFioRead(arg1, se.seData, arg0->header->seSize, arg0->header->seOfs) < 0) { - return MSM_ERR_READFAIL; - } - playerSize = arg0->info->sfx * sizeof(SE_PLAYER); - if ((se.player = msmMemAlloc(playerSize)) == NULL) { - return MSM_ERR_OUTOFMEM; - } - memset(se.player, 0, playerSize); - se.seMax = arg0->info->seMax; - se.sfx = arg0->info->sfx; - se.no = 1; - return 0; -} diff --git a/src/msm/msmstream.c b/src/msm/msmstream.c deleted file mode 100755 index 2afade01..00000000 --- a/src/msm/msmstream.c +++ /dev/null @@ -1,1029 +0,0 @@ -#include "msm/msmstream.h" -#include "msm/msmmem.h" -#include "msm/msmsys.h" - -typedef struct { - /* 0x00 */ SND_STREAMID stid; - /* 0x04 */ s16 streamId; - /* 0x06 */ u8 status; - /* 0x07 */ u8 stereoF; - /* 0x08 */ u8 volBase; - /* 0x09 */ u8 vol; - /* 0x0A */ u8 volFade; - /* 0x0B */ u8 pauseVol; - /* 0x0C */ u8 panBase; - /* 0x0D */ u8 pan; - /* 0x0E */ s8 slotL; - /* 0x0F */ s8 slotR; - /* 0x10 */ u32 pauseLen; - /* 0x14 */ volatile s32 pauseTime; - /* 0x18 */ volatile s32 pauseTimeMax; - /* 0x1C */ s32 fadeVol; - /* 0x20 */ s32 unk20; - /* 0x24 */ volatile s32 fadeMaxTime; - /* 0x28 */ s32 fadeTime; - /* 0x2C */ s8 span; - /* 0x2D */ s8 auxA; - /* 0x2E */ s8 auxB; - /* 0x30 */ void* streamBuf; - /* 0x34 */ u32 streamBufSize; - /* 0x38 */ u32 streamFrq; - /* 0x3C */ struct { - volatile u8 bufNo : 1; - volatile u8 firstF : 1; - u8 streamOffF : 1; - u8 readBusyF : 1; - volatile u8 shutdownF : 1; - volatile u8 pauseF : 1; - volatile u8 updateAramF : 1; - }; - s32 frq; - /* 0x44 */ SND_ADPCMSTREAM_INFO* adpcmInfo; - /* 0x48 */ s32 streamBaseOfs; - /* 0x4C */ u32 streamPos; - /* 0x50 */ u32 loopLen; - /* 0X54 */ s32 loopEndOfs; - /* 0x58 */ u32 streamReadSize; - /* 0x5C */ void* streamReadBuf; - /* 0X60 */ s32 streamPosStart; - /* 0x64 */ u32 unk64; - /* 0x68 */ s32 unk68; - /* 0x6C */ s32 unk6C; - /* 0x70 */ DVDFileInfo file; -} MSM_STREAM_SLOT; // Size 0xAC - -static struct { - /* 0x00 */ s32 sampleFrq; - /* 0x04 */ u32 bufSize; - /* 0x08 */ s32 frq; - /* 0x0C */ s32 pdtEntryNum; - /* 0x10 */ s8 time; - /* 0x11 */ u8 masterVol; - /* 0x12 */ u8 outputMode; - /* 0x14 */ u32* streamPackList; - /* 0x18 */ s8* streamPackFlag; - /* 0x1C */ SND_ADPCMSTREAM_INFO* adpcmParam; - /* 0x20 */ MSM_STREAM_SLOT* slot; - MSM_STREAM_HEADER header ATTRIBUTE_ALIGN(32); -} StreamInfo; // Size 0x60 - -typedef struct { - /* 0x00 */ u8 vol; - /* 0x01 */ u8 pan; - /* 0x02 */ u8 span; - /* 0x03 */ u8 auxA; - /* 0x04 */ u8 auxB; - /* 0x08 */ s32 sampleOfs; -} STREAM_PARAM; - -static void msmStreamPauseFade(s32 streamNo); -static void msmStreamFade(s32 streamNo); -static void msmStreamDvdCallback(s32 result, DVDFileInfo* fileInfo); -static void msmStreamStopSub(s32 streamNo, s32 speed); -static void msmStreamDvdCallback2(s32 result, DVDFileInfo* fileInfo); -static u32 msmStreamUpdateFunc(void* buffer1, u32 len1, void* buffer2, u32 len2, u32 user); -static s32 msmStreamSlotInit(MSM_STREAM_SLOT* arg0, MSM_STREAM_PACK* arg1, STREAM_PARAM* arg2, s32 arg3); -static void msmStreamPauseOff(s32 streamNo); -static void msmStreamPauseOn(s32 streamNo, s32 arg1); -static s32 msmStreamPackStartStereo(s32 streamId, MSM_STREAMPARAM *param, s32 sampleOfs); -static s32 msmStreamPackStartMono(s32 streamId, MSM_STREAMPARAM *param, s32 sampleOfs); -static void msmStreamSlotOff(s32 streamNo); - -static inline void msmStreamClose(s32 streamNo) { - MSM_STREAM_SLOT* slot; - - slot = &StreamInfo.slot[streamNo]; - DVDClose(&slot->file); - slot->status = 0; -} - -s32 msmStreamGetStatus(int streamNo) { - MSM_STREAM_SLOT* slot; - s32 status; - - if (streamNo < 0 || streamNo >= StreamInfo.header.chanMax) { - return 0; - } - slot = &StreamInfo.slot[streamNo]; - switch (slot->status) { - case 4: - status = MSM_STREAM_PLAY; - break; - case 2: - case 3: - status = MSM_STREAM_PAUSEOUT; - break; - case 5: - status = MSM_STREAM_STOP; - break; - default: - status = MSM_STREAM_DONE; - break; - } - if (slot->pauseF == TRUE) { - status = MSM_STREAM_PAUSEIN; - } - if (status == MSM_STREAM_DONE && slot->slotL != -1) { - status = msmStreamGetStatus(slot->slotL); - } - return status; -} - -static void msmStreamUpdateBaseParam(MSM_STREAM_SLOT* slot) { - s32 pan; - s32 vol; - - if (StreamInfo.outputMode != 0) { - pan = slot->panBase + slot->pan - 64; - if (pan < 0) { - pan = 0; - } - if (pan > 127) { - pan = 127; - } - } else { - pan = 64; - } - vol = slot->volBase * slot->vol * slot->volFade * slot->pauseVol / (127*127*127); - sndStreamMixParameterEx(slot->stid, vol * StreamInfo.masterVol / 127, pan, slot->span, slot->auxA, slot->auxB); -} - -void msmStreamSetMasterVolume(s32 vol) { - s32 i; - - StreamInfo.masterVol = vol & 127; - for (i = 0; i < StreamInfo.header.chanMax; i++) { - if (StreamInfo.slot[i].status != 0) { - msmStreamUpdateBaseParam(&StreamInfo.slot[i]); - } - } -} - -static inline BOOL msmStreamIsPlay(MSM_STREAM_SLOT* slot) { - if (slot->status != 0 || slot->pauseF != 0) { - return TRUE; - } else { - return FALSE; - } -} - -void msmStreamStopAll(s32 speed) -{ - MSM_STREAM_SLOT* slot; - s32 i; - - msmSysIrqDisable(); - for (i = 0; i < StreamInfo.header.chanMax; i++) { - if (i >= 0 && i < StreamInfo.header.chanMax) { - slot = &StreamInfo.slot[i]; - if (msmStreamIsPlay(slot)) { - msmSysIrqDisable(); - msmStreamStopSub(i, speed); - if (slot->slotL != -1) { - msmStreamStopSub(slot->slotL, speed); - } - if (slot->slotR != -1) { - msmStreamStopSub(slot->slotR, speed); - } - msmSysIrqEnable(); - } - } - } - msmSysIrqEnable(); -} - -static inline void msmStreamSetFade(int streamNo, s32 speed) { - MSM_STREAM_SLOT* slot = &StreamInfo.slot[streamNo]; - - if (slot->pauseF != 0) { - slot->pauseF = 0; - speed = 0; - } - slot->fadeMaxTime = speed / 15; - if (slot->fadeMaxTime != 0) { - slot->fadeTime = slot->fadeMaxTime; - slot->volFade = 127; - } else { - msmStreamSlotOff(streamNo); - } -} - -s32 msmStreamStop(int streamNo, s32 speed) { - MSM_STREAM_SLOT* slot; - s32 unused; - - if (streamNo < 0 || streamNo >= StreamInfo.header.chanMax) { - return MSM_ERR_RANGE_STREAM; - } - slot = &StreamInfo.slot[streamNo]; - if (msmStreamIsPlay(slot)) { - msmSysIrqDisable(); - msmStreamSetFade(streamNo, speed); - if (slot->slotL != -1) { - msmStreamSetFade(slot->slotL, speed); - } - if (slot->slotR != -1) { - msmStreamSetFade(slot->slotR, speed); - } - msmSysIrqEnable(); - } - return 0; -} - -int msmStreamPlay(int streamId, MSM_STREAMPARAM* streamParam) { - if (streamId < 0 || streamId >= StreamInfo.header.streamMax) { - return MSM_ERR_INVALIDID; - } - if (StreamInfo.streamPackList[streamId] == 0) { - return MSM_ERR_REMOVEDID; - } - if (StreamInfo.streamPackFlag[StreamInfo.streamPackList[streamId] - StreamInfo.header.streamPackOfs] & MSM_STREAM_FLAG_STEREO) { - return msmStreamPackStartStereo(streamId, streamParam, 0); - } else { - return msmStreamPackStartMono(streamId, streamParam, 0); - } -} - -void msmStreamPeriodicProc(void) { - MSM_STREAM_SLOT* slot; - s32 i; - - StreamInfo.time = 0; - for (i = 0; i < StreamInfo.header.chanMax; i++) { - slot = &StreamInfo.slot[i]; - msmStreamFade(i); - msmStreamPauseOff(i); - msmStreamPauseFade(i); - if (slot->status != 0) { - StreamInfo.time++; - } - } -} - -void msmStreamSetOutputMode(s32 outputMode) { - s32 i; - - StreamInfo.outputMode = outputMode; - for (i = 0; i < StreamInfo.header.chanMax; i++) { - if (StreamInfo.slot[i].status != 0) { - msmStreamUpdateBaseParam(&StreamInfo.slot[i]); - } - } -} - -void msmStreamAmemFree(void) { - u32 i; - - for (i = 0; i < StreamInfo.header.chanMax; i++) { - sndStreamFree(StreamInfo.slot[i].stid); - } -} - -s32 msmStreamAmemAlloc(void) { - u32 i; - MSM_STREAM_SLOT* slot; - - for (i = 0; i < StreamInfo.header.chanMax; i++) { - slot = &StreamInfo.slot[i]; - slot->status = 0; - slot->slotR = -1; - slot->slotL = -1; - slot->streamBuf = msmMemAlloc(StreamInfo.bufSize); - if (slot->streamBuf == NULL) { - return MSM_ERR_OUTOFMEM; - } - slot->streamBufSize = StreamInfo.bufSize; - slot->streamFrq = StreamInfo.frq; - slot->stid = sndStreamAllocEx(0xFF, slot->streamBuf, slot->streamFrq, StreamInfo.header.sampleFrq, 0, 64, 0, 0, 0, 0, 0x30001, msmStreamUpdateFunc, i, NULL); - if (slot->stid == -1) { - return MSM_ERR_STREAMALLOC_FAIL; - } - } - return StreamInfo.bufSize * StreamInfo.header.chanMax; -} - -s32 msmStreamInit(char *pdtPath) { - DVDFileInfo file; - s32 size; - - StreamInfo.header.streamMax = 0; - StreamInfo.header.chanMax = 0; - StreamInfo.masterVol = 127; - StreamInfo.time = 0; - if (pdtPath == NULL) { - return 0; - } - StreamInfo.pdtEntryNum = DVDConvertPathToEntrynum(pdtPath); - if (StreamInfo.pdtEntryNum == -1) { - return MSM_ERR_OPENFAIL; - } - if (!msmFioOpen(StreamInfo.pdtEntryNum, &file)) { - return MSM_ERR_OPENFAIL; - } - if (msmFioRead(&file, &StreamInfo.header, 0x20, 0) < 0) { - msmFioClose(&file); - return MSM_ERR_READFAIL; - } - if (StreamInfo.header.version != MSM_PDT_FILE_VERSION) { - msmFioClose(&file); - return MSM_ERR_INVALIDFILE; - } - if (StreamInfo.header.streamMax != 0) { - size = (StreamInfo.header.adpcmParamOfs - StreamInfo.header.streamPackListOfs + 0x1F) & ~0x1F; - StreamInfo.streamPackList = msmMemAlloc(size); - if (StreamInfo.streamPackList == NULL) { - msmFioClose(&file); - return MSM_ERR_OUTOFMEM; - } - if (msmFioRead(&file, StreamInfo.streamPackList, size, StreamInfo.header.streamPackListOfs) < 0) { - msmFioClose(&file); - return MSM_ERR_READFAIL; - } - size = (StreamInfo.header.sampleOfs - StreamInfo.header.streamPackOfs + 0x1F) & ~0x1F; - StreamInfo.streamPackFlag = msmMemAlloc(size); - if (StreamInfo.streamPackFlag == NULL) { - msmFioClose(&file); - return MSM_ERR_OUTOFMEM; - } - if (msmFioRead(&file, StreamInfo.streamPackFlag, size, StreamInfo.header.streamPackOfs) < 0) { - msmFioClose(&file); - return MSM_ERR_READFAIL; - } - size = StreamInfo.header.streamPackOfs - StreamInfo.header.adpcmParamOfs; - StreamInfo.adpcmParam = msmMemAlloc(size); - if (StreamInfo.adpcmParam == NULL) { - msmFioClose(&file); - return MSM_ERR_OUTOFMEM; - } - if (msmFioRead(&file, StreamInfo.adpcmParam, size, StreamInfo.header.adpcmParamOfs) < 0) { - msmFioClose(&file); - return MSM_ERR_READFAIL; - } - } - msmFioClose(&file); - StreamInfo.sampleFrq = (StreamInfo.header.sampleFrq + (SND_STREAM_ADPCM_BLKSIZE-1)) / SND_STREAM_ADPCM_BLKSIZE ; - StreamInfo.bufSize = (8 * StreamInfo.sampleFrq * StreamInfo.header.maxBufs + 0x3F) & ~0x3F; - StreamInfo.frq = (StreamInfo.bufSize / SND_STREAM_ADPCM_BLKBYTES ) * SND_STREAM_ADPCM_BLKSIZE; - StreamInfo.slot = msmMemAlloc(StreamInfo.header.chanMax * sizeof(*StreamInfo.slot)); - memset(StreamInfo.slot, 0, StreamInfo.header.chanMax * sizeof(*StreamInfo.slot)); - return 0; -} - -static void msmStreamPauseOff(s32 streamNo) { - MSM_STREAM_SLOT* slot; - u32 ofs; - u32 readSize; - - slot = &StreamInfo.slot[streamNo]; - if (slot->pauseTime == 0) { - return; - } - if (slot->pauseF == 0) { - slot->pauseTime = 0; - return; - } - if (slot->pauseTimeMax != 0) { - slot->pauseTimeMax = -(slot->pauseTime + 1); - if (slot->pauseTimeMax == 0) { - slot->pauseVol = 127; - msmStreamUpdateBaseParam(slot); - } - slot->pauseTime = 0; - slot->pauseF = 0; - } else if (slot->status == 0 && DVDFastOpen(StreamInfo.pdtEntryNum, &slot->file) == TRUE) { - if (--slot->pauseTime != 0) { - slot->pauseTimeMax = -slot->pauseTime; - slot->fadeVol = 0; - slot->pauseVol = 0; - } else { - slot->pauseVol = 127; - } - slot->pauseTime = 0; - slot->firstF = TRUE; - slot->streamOffF = 0; - slot->shutdownF = 0; - slot->pauseF = 0; - slot->updateAramF = 0; - slot->bufNo = 1; - slot->unk64 = slot->unk68 = (slot->pauseLen / SND_STREAM_ADPCM_BLKBYTES) * SND_STREAM_ADPCM_BLKSIZE; - slot->unk6C = 0; - slot->streamPos = slot->pauseLen; - readSize = slot->streamBufSize / 2; - if ((ofs = slot->loopLen - slot->streamPos) < slot->streamBufSize / 2) { - readSize = ofs; - slot->streamReadSize = slot->streamBufSize / 2 - ofs; - slot->streamReadBuf = (void*) ((u32) slot->streamBuf + ofs); - memset(slot->streamReadBuf, 0, slot->streamReadSize); - } - slot->status = 2; - slot->streamPos += readSize; - slot->readBusyF = TRUE; - DVDReadAsync(&slot->file, slot->streamBuf, readSize, slot->streamBaseOfs + (slot->streamPos - readSize), msmStreamDvdCallback); - } -} - -static inline void msmStreamOff(s32 streamNo) { - MSM_STREAM_SLOT* slot; - - slot = &StreamInfo.slot[streamNo]; - switch (slot->status) { - case 2: - slot->shutdownF = TRUE; - slot->status = 5; - break; - case 3: - msmStreamClose(streamNo); - break; - case 4: - if (slot->streamOffF == FALSE) { - sndStreamMixParameterEx(slot->stid, 0, 64, 0, 0, 0); - slot->streamOffF = TRUE; - slot->status = 5; - } - break; - } -} - -static void msmStreamPauseOn(s32 streamNo, s32 speed) { - MSM_STREAM_SLOT* slot; - - slot = &StreamInfo.slot[streamNo]; - slot->pauseTime = 0; - if (slot->pauseF != 0) { - return; - } - slot->pauseF = TRUE; - slot->pauseTimeMax = speed / 15; - if (slot->pauseTimeMax != 0) { - slot->fadeVol = slot->pauseTimeMax; - slot->pauseVol = 127; - return; - } - slot->pauseLen = ((slot->unk64 / 7) * 4) & ~7; - if (slot->stereoF != 0) { - if (slot->pauseLen >= slot->loopLen - slot->streamBufSize / 4) { - slot->pauseLen = 0; - } - } else if (slot->pauseLen >= slot->loopLen) { - slot->pauseF = 0; - } - msmStreamOff(streamNo); -} - -static void msmStreamPauseFade(s32 streamNo) { - MSM_STREAM_SLOT* slot; - - slot = &StreamInfo.slot[streamNo]; - if (slot->status != 4) { - return; - } - if (slot->pauseTimeMax > 0) { - if (--slot->fadeVol == 0) { - slot->pauseTimeMax = 0; - slot->pauseF = 0; - msmStreamPauseOn(streamNo, 0); - } else { - slot->pauseVol = slot->fadeVol * 127 / slot->pauseTimeMax; - msmStreamUpdateBaseParam(slot); - } - } else if (slot->pauseTimeMax < 0) { - if (++slot->fadeVol >= -slot->pauseTimeMax) { - slot->pauseTimeMax = 0; - slot->pauseVol = 127; - msmStreamUpdateBaseParam(slot); - } else { - slot->pauseVol = slot->fadeVol * 127 / -slot->pauseTimeMax; - msmStreamUpdateBaseParam(slot); - } - } -} - -static void msmStreamFade(s32 streamNo) { - MSM_STREAM_SLOT* slot; - - slot = &StreamInfo.slot[streamNo]; - if (slot->status != 4) { - return; - } - if (slot->fadeMaxTime > 0) { - if (--slot->fadeTime == 0) { - slot->fadeMaxTime = 0; - msmStreamSetFade(streamNo, 0); - } else { - slot->volFade = slot->fadeTime * 127 / slot->fadeMaxTime; - msmStreamUpdateBaseParam(slot); - } - } else if (slot->fadeMaxTime < 0) { - if (++slot->fadeTime >= -slot->fadeMaxTime) { - slot->fadeMaxTime = 0; - slot->volFade = 127; - msmStreamUpdateBaseParam(slot); - } else { - slot->volFade = slot->fadeTime * 127 / -slot->fadeMaxTime; - msmStreamUpdateBaseParam(slot); - } - } -} - -static void msmStreamStopSub(s32 streamNo, s32 speed) { - MSM_STREAM_SLOT* slot; - s32 time; - - time = speed; - slot = &StreamInfo.slot[streamNo]; - if (slot->pauseF != 0) { - slot->pauseF = 0; - time = 0; - } - slot->fadeMaxTime = time / 15; - if (slot->fadeMaxTime != 0) { - slot->fadeTime = slot->fadeMaxTime; - slot->volFade = 127; - return; - } - msmStreamOff(streamNo); -} - -static void msmStreamSetParamSub(MSM_STREAM_SLOT* slot) { - int pan; - s32 vol; - - if (StreamInfo.outputMode != 0) { - pan = slot->panBase + slot->pan - 64; - if (pan < 0) { - pan = 0; - } - if (pan > 127) { - pan = 127; - } - } else { - pan = 64; - } - vol = slot->volBase * slot->vol * slot->volFade * slot->pauseVol / (127*127*127); - sndStreamMixParameterEx(slot->stid, vol * StreamInfo.masterVol / 127, pan, slot->span, slot->auxA, slot->auxB); -} - -static s32 msmStreamPackStartStereo(s32 streamId, MSM_STREAMPARAM *param, s32 sampleOfs) { - s32 flag; - s32 chanL; - s32 chanR; - u32 sizeL; - u32 sizeR; - STREAM_PARAM streamParam; - MSM_STREAM_SLOT* slotL; - MSM_STREAM_SLOT* slotR; - MSM_STREAM_PACK* pack; - - flag = (param != NULL) ? param->flag : 0; - if (flag & MSM_STREAMPARAM_CHAN) { - chanL = param->chan; - chanR = param->chan + 1; - if (chanL < 0 || chanL >= StreamInfo.header.chanMax) { - return MSM_ERR_CHANLIMIT; - } - if (chanR < 0 || chanR >= StreamInfo.header.chanMax) { - return MSM_ERR_CHANLIMIT; - } - if (msmStreamIsPlay(&StreamInfo.slot[chanL])) { - return MSM_ERR_CHANLIMIT; - } - if (msmStreamIsPlay(&StreamInfo.slot[chanR])) { - return MSM_ERR_CHANLIMIT; - } - } else { - for (chanL = 0; chanL < StreamInfo.header.chanMax; chanL++) { - if (!msmStreamIsPlay(&StreamInfo.slot[chanL])) { - break; - } - } - for (chanR = chanL + 1; chanR < StreamInfo.header.chanMax; chanR++) { - if (!msmStreamIsPlay(&StreamInfo.slot[chanR])) { - break; - } - } - if (chanL == StreamInfo.header.chanMax || chanR == StreamInfo.header.chanMax) { - return MSM_ERR_CHANLIMIT; - } - } - slotL = &StreamInfo.slot[chanL]; - slotR = &StreamInfo.slot[chanR]; - pack = (MSM_STREAM_PACK*) ((u32) StreamInfo.streamPackFlag + (StreamInfo.streamPackList[streamId] - StreamInfo.header.streamPackOfs)); - streamParam.vol = (flag & MSM_STREAMPARAM_VOL) ? param->vol : 127; - streamParam.span = (flag & MSM_STREAMPARAM_SPAN) ? param->span : (s32) pack->span; - streamParam.auxA = (flag & MSM_STREAMPARAM_AUXA) ? param->auxA : (s32) pack->auxA; - streamParam.auxB = (flag & MSM_STREAMPARAM_AUXB) ? param->auxB : (s32) pack->auxB; - streamParam.sampleOfs = sampleOfs; - msmSysIrqDisable(); - streamParam.pan = 0; - sizeL = msmStreamSlotInit(slotL, pack, &streamParam, 0); - streamParam.pan = 127; - sizeR = msmStreamSlotInit(slotR, pack, &streamParam, 1); - slotL->streamId = streamId; - slotR->streamId = -1; - slotL->slotL = chanR; - slotR->slotR = chanL; - if ((flag & MSM_STREAMPARAM_FADESPEED) && param->fadeSpeed != 0) { - slotL->fadeMaxTime = slotR->fadeMaxTime = -param->fadeSpeed / 15; - slotL->fadeTime = slotR->fadeTime = 0; - slotL->volFade = slotR->volFade = 0; - } - msmSysIrqEnable(); - if (sizeL == 0) { - return 0; - } - if (flag & MSM_STREAMPARAM_PAUSE) { - slotL->pauseF = slotR->pauseF = 1; - slotL->status = slotR->status = 0; - return chanL; - } - if (DVDFastOpen(StreamInfo.pdtEntryNum, &slotL->file) != 1) { - return MSM_ERR_OPENFAIL; - } - if (DVDFastOpen(StreamInfo.pdtEntryNum, &slotR->file) != 1) { - DVDClose(&slotL->file); - return MSM_ERR_OPENFAIL; - } - slotL->streamPos += sizeL; - slotR->streamPos += sizeR; - slotL->readBusyF = 1; - DVDReadAsync(&slotL->file, slotL->streamBuf, sizeL, slotL->streamBaseOfs + (slotL->streamPos - sizeL), msmStreamDvdCallback); - slotR->readBusyF = 1; - DVDReadAsync(&slotR->file, slotR->streamBuf, sizeR, slotR->streamBaseOfs + (slotR->streamPos - sizeR), msmStreamDvdCallback); - return chanL; -} - -static s32 msmStreamPackStartMono(s32 streamId, MSM_STREAMPARAM *param, s32 sampleOfs) { - s32 flag; - s32 chan; - u32 size; - STREAM_PARAM streamParam; - MSM_STREAM_SLOT* slot; - MSM_STREAM_PACK* pack; - - flag = (param != NULL) ? param->flag : 0; - if (flag & MSM_STREAMPARAM_CHAN) { - chan = param->chan; - if (chan < 0 || chan >= StreamInfo.header.chanMax) { - return MSM_ERR_CHANLIMIT; - } - if (msmStreamIsPlay(&StreamInfo.slot[chan])) { - return MSM_ERR_CHANLIMIT; - } - } else { - for (chan = 0; chan < StreamInfo.header.chanMax; chan++) { - if (!msmStreamIsPlay(&StreamInfo.slot[chan])) { - break; - } - } - if (chan == StreamInfo.header.chanMax) { - return MSM_ERR_CHANLIMIT; - } - } - slot = &StreamInfo.slot[chan]; - pack = (MSM_STREAM_PACK*) ((u32) StreamInfo.streamPackFlag + (StreamInfo.streamPackList[streamId] - StreamInfo.header.streamPackOfs)); - streamParam.vol = (flag & MSM_STREAMPARAM_VOL) ? param->vol : 127; - streamParam.pan = (flag & MSM_STREAMPARAM_PAN) ? param->pan : 64; - streamParam.span = (flag & MSM_STREAMPARAM_SPAN) ? param->span : (s32) pack->span; - streamParam.auxA = (flag & MSM_STREAMPARAM_AUXA) ? param->auxA : (s32) pack->auxA; - streamParam.auxB = (flag & MSM_STREAMPARAM_AUXB) ? param->auxB : (s32) pack->auxB; - streamParam.sampleOfs = sampleOfs; - msmSysIrqDisable(); - size = msmStreamSlotInit(slot, pack, &streamParam, 0); - slot->streamId = streamId; - if ((flag & MSM_STREAMPARAM_FADESPEED) && param->fadeSpeed != 0) { - slot->fadeMaxTime = -param->fadeSpeed / 15; - slot->fadeTime = 0; - slot->volFade = 0; - } - msmSysIrqEnable(); - if (size == 0) { - return 0; - } - if (flag & MSM_STREAMPARAM_PAUSE) { - slot->pauseF = TRUE; - slot->status = 0; - return chan; - } - if (DVDFastOpen(StreamInfo.pdtEntryNum, &slot->file) != 1) { - return MSM_ERR_OPENFAIL; - } - slot->streamPos += size; - slot->readBusyF = TRUE; - DVDReadAsync(&slot->file, slot->streamBuf, size, slot->streamBaseOfs + (slot->streamPos - size), msmStreamDvdCallback); - return chan; -} - -// Note: identical to msmStreamOff. -static void msmStreamSlotOff(s32 streamNo) { - MSM_STREAM_SLOT* slot; - - slot = &StreamInfo.slot[streamNo]; - switch (slot->status) { - case 2: - slot->shutdownF = 1; - slot->status = 5; - break; - case 3: - msmStreamClose(streamNo); - break; - case 4: - if (slot->streamOffF == 0) { - sndStreamMixParameterEx(slot->stid, 0, 64, 0, 0, 0); - slot->streamOffF = TRUE; - slot->status = 5; - } - break; - } -} - -static void msmStreamShutdown(s32 streamNo) { - MSM_STREAM_SLOT* slot; - - slot = &StreamInfo.slot[streamNo]; - msmStreamSlotOff(streamNo); - sndStreamDeactivate(slot->stid); - if (slot->readBusyF == 0) { - msmStreamClose(streamNo); - } else { - slot->shutdownF = 1; - } -} - -static void msmStreamData(s32 streamNo) { - s32 dataSize; - u32 readSize; - void* dataPtr; - MSM_STREAM_SLOT* slot; - s32 off1; - - slot = &StreamInfo.slot[streamNo]; - readSize = dataSize = slot->streamBufSize / 2; - dataPtr = (slot->bufNo != 0) - ? (void*) ((u32) slot->streamBuf + dataSize) - : slot->streamBuf; - slot->streamReadSize = off1 = 0; - if (slot->streamPos + readSize > slot->loopLen) { - if (slot->loopLen > slot->streamPos) { - readSize = slot->loopLen - slot->streamPos; - slot->streamReadSize = dataSize - readSize; - slot->streamReadBuf = (void*) ((u32) dataPtr + readSize); - } else if (slot->stereoF != 0) { - slot->streamPos = slot->streamPosStart; - } else { - memset(dataPtr, 0, dataSize); - if (slot->bufNo != 0) { - off1 = slot->streamFrq / 2; - } - sndStreamARAMUpdate(slot->stid, off1, slot->streamFrq / 2, 0, 0); - readSize = 0; - } - } - if (readSize != 0) { - if (DVDGetCommandBlockStatus(&slot->file.cb) != 0) { - if (slot->updateAramF != TRUE) { - slot->updateAramF = TRUE; - sndStreamMixParameterEx(slot->stid, 0, 64, 64, 0, 0); - memset(slot->streamBuf, 0, slot->streamBufSize); - sndStreamARAMUpdate(slot->stid, 0, slot->streamFrq, 0, 0); - } - } else { - if (slot->updateAramF == TRUE) { - slot->updateAramF = FALSE; - msmStreamUpdateBaseParam(slot); - } - slot->streamPos += readSize; - slot->readBusyF = 1; - DVDReadAsync(&slot->file, dataPtr, readSize, slot->streamBaseOfs + (slot->streamPos - readSize), msmStreamDvdCallback); - } - } else if (slot->firstF != 0) { - slot->firstF= 0; - } else { - msmStreamShutdown(streamNo); - } - slot->bufNo ^= 1; -} - -static BOOL msmStreamActivateStream(s32 streamNo) { - MSM_STREAM_SLOT* slot; - - slot = &StreamInfo.slot[streamNo]; - msmStreamSetParamSub(slot); - sndStreamFrq(slot->stid, slot->frq); - sndStreamADPCMParameter(slot->stid, slot->adpcmInfo); - sndStreamARAMUpdate(slot->stid, 0, slot->streamFrq / 2, 0, 0); - if (sndStreamActivate(slot->stid)) { - slot->status = 4; - msmStreamData(streamNo); - return TRUE; - } else { - msmStreamClose(streamNo); - return FALSE; - } -} - -static void msmStreamDvdCallback(s32 result, DVDFileInfo* fileInfo) { - s32 readSize; - MSM_STREAM_SLOT* slot; - - for (readSize = 0; readSize < StreamInfo.header.chanMax; readSize++) { - if (&StreamInfo.slot[readSize].file == fileInfo) { - break; - } - } - if (readSize == StreamInfo.header.chanMax) { - return; - } - slot = &StreamInfo.slot[readSize]; - slot->readBusyF = 0; - if (slot->shutdownF != 0) { - slot->shutdownF = 0; - msmStreamClose(readSize); - return; - } - if (DVDGetCommandBlockStatus(&fileInfo->cb) == 0) { - switch (slot->status) { - case 2: - if (slot->slotL != -1) { - if (StreamInfo.slot[slot->slotL].status != 3) { - slot->status = 3; - break; - } - if (!msmStreamActivateStream(slot->slotL)) { - slot->slotL = -1; - } - } - if (slot->slotR != -1) { - if (StreamInfo.slot[slot->slotR].status != 3) { - slot->status = 3; - break; - } - if (!msmStreamActivateStream(slot->slotR)) { - slot->slotR = -1; - } - } - if (!msmStreamActivateStream(readSize)) { - if (slot->slotL != -1) { - StreamInfo.slot[slot->slotL].slotR = -1; - } - if (slot->slotR != -1) { - StreamInfo.slot[slot->slotR].slotL = -1; - } - } - break; - case 4: - if (slot->streamPos >= slot->loopLen) { - if (slot->stereoF != 0) { - slot->streamPos = slot->streamPosStart; - if (slot->streamReadSize != 0) { - slot->readBusyF = 1; - DVDReadAsync(fileInfo, slot->streamReadBuf, slot->streamReadSize, slot->streamBaseOfs + slot->streamPos, msmStreamDvdCallback2); - slot->streamPos += slot->streamReadSize; - break; - } - } else if (slot->streamReadSize != 0) { - memset(slot->streamReadBuf, 0, slot->streamReadSize); - } - } - sndStreamARAMUpdate(slot->stid, (slot->bufNo != 0) ? 0 : slot->streamFrq / 2, slot->streamFrq / 2, 0, 0); - break; - case 5: - slot->shutdownF = 0; - msmStreamClose(readSize); - break; - } - } else { - if (slot->status == 4) { - sndStreamDeactivate(slot->stid); - } - msmStreamClose(readSize); - if (slot->slotL != -1) { - StreamInfo.slot[slot->slotL].slotR = -1; - } - if (slot->slotR != -1) { - StreamInfo.slot[slot->slotR].slotL = -1; - } - } -} - -static void msmStreamDvdCallback2(s32 result, DVDFileInfo* fileInfo) { - MSM_STREAM_SLOT* slot; - s32 readSize; - - for (readSize = 0; readSize < StreamInfo.header.chanMax; readSize++) { - slot = &StreamInfo.slot[readSize]; - if (&slot->file == fileInfo) { - break; - } - } - if (readSize == StreamInfo.header.chanMax) { - return; - } - slot->readBusyF = FALSE; - if (slot->shutdownF != 0) { - slot->shutdownF = FALSE; - msmStreamClose(readSize); - } else if (DVDGetCommandBlockStatus(&fileInfo->cb) == 0) { - sndStreamARAMUpdate(slot->stid, (slot->bufNo != 0) ? 0 : slot->streamFrq / 2, slot->streamFrq / 2, 0, 0); - } else { - if (slot->status == 4) { - sndStreamDeactivate(slot->stid); - } - msmStreamClose(readSize); - if (slot->slotL != -1) { - StreamInfo.slot[slot->slotL].slotR = -1; - } - if (slot->slotR != -1) { - StreamInfo.slot[slot->slotR].slotL = -1; - } - } -} - -static u32 msmStreamUpdateFunc(void* buffer1, u32 len1, void* buffer2, u32 len2, u32 user) { - MSM_STREAM_SLOT* slot; - s32 len3; - s32 updateLen; - s32 len; - - slot = &StreamInfo.slot[user]; - if (slot->streamOffF != 0) { - msmStreamShutdown(user); - return 0; - } - updateLen = slot->streamFrq / 2; - if (len1 < updateLen) { - len = 0; - slot->unk64 = slot->unk68 + (len1 - slot->unk6C); - } else { - msmStreamData(user); - len = updateLen; - len3 = slot->unk68 + (updateLen - slot->unk6C); - slot->unk68 = len3; - slot->unk64 = len3; - slot->unk6C = 0; - } - if (slot->unk64 >= slot->loopEndOfs) { - if (slot->stereoF != 0) { - slot->unk68 = 0; - slot->unk64 -= slot->loopEndOfs; - if (len1 < updateLen) { - slot->unk6C = len1 - slot->unk64; - } - } else { - slot->streamOffF = 1; - slot->pauseF = 0; - } - } - return len; -} - -static s32 msmStreamSlotInit(MSM_STREAM_SLOT *slot, MSM_STREAM_PACK* pack, STREAM_PARAM* param, s32 no) { - MSM_STREAM *stream; - s32 temp_r3; - s32 ret; - - stream = &pack->stream[no]; - slot->volBase = pack->vol; - slot->vol = param->vol; - slot->volFade = slot->pauseVol = 127; - slot->panBase = pack->pan; - slot->pan = param->pan; - slot->span = param->span; - slot->auxA = param->auxA; - slot->auxB = param->auxB; - slot->stereoF = (pack->flag >> 1) & 1; - slot->streamBaseOfs = stream->sampleOfs; - slot->streamPosStart = (pack->loopOfsStart >> 1) & ~7; - slot->frq = pack->frq; - slot->adpcmInfo = &StreamInfo.adpcmParam[stream->adpcmParamIdx]; - slot->fadeMaxTime = 0; - slot->pauseTimeMax = 0; - slot->pauseTime = 0; - slot->pauseLen = 0; - slot->firstF = 1; - slot->streamOffF = 0; - slot->shutdownF = 0; - slot->pauseF = 0; - slot->updateAramF = 0; - slot->bufNo = 1; - slot->streamBufSize = (StreamInfo.header.sampleFrq * StreamInfo.header.maxBufs * SND_STREAM_ADPCM_BLKBYTES / SND_STREAM_ADPCM_BLKSIZE + 0x3F) & ~0x3F; - if (slot->streamBufSize > StreamInfo.bufSize) { - slot->streamBufSize = StreamInfo.bufSize; - } - slot->streamFrq = (slot->streamBufSize / SND_STREAM_ADPCM_BLKBYTES) * SND_STREAM_ADPCM_BLKSIZE; - slot->loopLen = (pack->loopOfsEnd >> 1) & ~0x1F; - slot->loopEndOfs = (slot->loopLen / SND_STREAM_ADPCM_BLKBYTES) * SND_STREAM_ADPCM_BLKSIZE; - slot->unk64 = slot->unk68 = 0; - slot->unk6C = 0; - slot->slotL = -1; - slot->slotR = -1; - slot->streamPos = param->sampleOfs; - ret = slot->streamBufSize / 2; - if ((temp_r3 = slot->loopLen - slot->streamPos) < slot->streamBufSize / 2) { - ret = temp_r3; - slot->streamReadSize = slot->streamBufSize / 2 - temp_r3; - slot->streamReadBuf = (void*) ((u32) slot->streamBuf + temp_r3); - memset(slot->streamReadBuf, 0, slot->streamReadSize); - } - slot->status = 2; - return ret; -} diff --git a/src/msm/msmsys.c b/src/msm/msmsys.c deleted file mode 100644 index 916e03b0..00000000 --- a/src/msm/msmsys.c +++ /dev/null @@ -1,912 +0,0 @@ -#include "msm/msmsys.h" -#include "msm/msmfio.h" -#include "msm/msmmem.h" -#include "msm/msmmus.h" -#include "msm/msmse.h" -#include "msm/msmstream.h" - -static MSM_SYS sys; - -static void msmSysServer(void) -{ - if (sndIsInstalled() == 1) { - if (--sys.timer == 0) { - sys.timer = 3; - msmMusPeriodicProc(); - msmSePeriodicProc(); - msmStreamPeriodicProc(); - } - } - sys.oldAIDCallback(); -} - -static s32 msmSysSetAuxParam(s32 auxA, s32 auxB) -{ - s32 unused_1[2]; - SND_AUX_CALLBACK auxcb[2]; - s32 unused_2[2]; - MSM_AUXPARAM *auxParam; - MSM_AUX *aux; - u32 result; - s32 i; - - if (sys.auxParamNo[0] != MSM_AUXNO_NULL && auxA >= 0) { - sys.auxParamNo[0] = auxA; - } - if (sys.auxParamNo[1] != MSM_AUXNO_NULL && auxB >= 0) { - sys.auxParamNo[1] = auxB; - } - if (sys.auxParamNo[0] < 0 && sys.auxParamNo[1] < 0) { - return 0; - } - for (i = 0; i < 2; i++) { - if (sys.auxParamNo[i] < 0) { - auxcb[i] = NULL; - continue; - } - auxParam = &sys.auxParam[sys.auxParamNo[i]]; - aux = &sys.aux[i]; - switch (auxParam->type) { - case MSM_AUX_REVERBHI: - auxcb[i] = sndAuxCallbackReverbHI; - aux->revHi.tempDisableFX = auxParam->revHi.tempDisableFX; - aux->revHi.coloration = auxParam->revHi.coloration; - aux->revHi.mix = auxParam->revHi.mix; - aux->revHi.time = auxParam->revHi.time; - aux->revHi.damping = auxParam->revHi.damping; - aux->revHi.preDelay = auxParam->revHi.preDelay; - aux->revHi.crosstalk = auxParam->revHi.crosstalk; - result = sndAuxCallbackPrepareReverbHI(&aux->revHi); - break; - - case MSM_AUX_REVERBSTD: - auxcb[i] = sndAuxCallbackReverbSTD; - aux->revStd.tempDisableFX = auxParam->revStd.tempDisableFX; - aux->revStd.coloration = auxParam->revStd.coloration; - aux->revStd.mix = auxParam->revStd.mix; - aux->revStd.time = auxParam->revStd.time; - aux->revStd.damping = auxParam->revStd.damping; - aux->revStd.preDelay = auxParam->revStd.preDelay; - result = sndAuxCallbackPrepareReverbSTD(&aux->revStd); - break; - - case MSM_AUX_CHORUS: - auxcb[i] = sndAuxCallbackChorus; - aux->chorus.baseDelay = auxParam->chorus.baseDelay; - aux->chorus.variation = auxParam->chorus.variation; - aux->chorus.period = auxParam->chorus.period; - result = sndAuxCallbackPrepareChorus(&aux->chorus); - break; - - case MSM_AUX_DELAY: - auxcb[i] = sndAuxCallbackDelay; - aux->delay.delay[0] = auxParam->delay.delay[0]; - aux->delay.feedback[0] = auxParam->delay.feedback[0]; - aux->delay.output[0] = auxParam->delay.output[0]; - aux->delay.delay[1] = auxParam->delay.delay[1]; - aux->delay.feedback[1] = auxParam->delay.feedback[1]; - aux->delay.output[1] = auxParam->delay.output[1]; - aux->delay.delay[2] = auxParam->delay.delay[2]; - aux->delay.feedback[2] = auxParam->delay.feedback[2]; - aux->delay.output[2] = auxParam->delay.output[2]; - result = sndAuxCallbackPrepareDelay(&aux->delay); - break; - } - if (result == FALSE) { - return TRUE; - } - } - sndSetAuxProcessingCallbacks(0, auxcb[0], &sys.aux[0], 0xFF, 0, auxcb[1], &sys.aux[1], 0xFF, 0); - return FALSE; -} - -static s32 msmSysLoadBaseGroup(void *buf) -{ - DVDFileInfo file; - s32 i; - MSM_GRP_HEAD *grpData; - MSM_GRP_INFO *grpInfo; - - if (msmFioOpen(sys.msmEntryNum, &file) != TRUE) { - return MSM_ERR_OPENFAIL; - } - for(i = 0; i < sys.baseGrpNum; i++) { - grpData = sys.grpData[i]; - grpInfo = &sys.grpInfo[sys.info->baseGrp[i]]; - if (msmFioRead(&file, grpData, grpInfo->dataSize, grpInfo->dataOfs + sys.header->grpDataOfs) < 0) { - msmFioClose(&file); - return MSM_ERR_READFAIL; - } - if (msmFioRead(&file, buf, grpInfo->sampSize, grpInfo->sampOfs + sys.header->sampOfs) < 0) { - msmFioClose(&file); - return MSM_ERR_READFAIL; - } - if (!sndPushGroup((void*) (grpData->projOfs + (u32) grpData), grpInfo->gid, buf, - (void*) (grpData->sdirOfs + (u32) grpData), (void*) (grpData->poolOfs + (u32) grpData))) - { - msmFioClose(&file); - return MSM_ERR_GRP_FAILPUSH; - } - sys.aramP += grpInfo->sampSize; - } - msmFioClose(&file); - return 0; -} - -s32 msmSysSearchGroupStack(s32 grpId, s32 no) -{ - MSM_GRP_STACK *stack; - u32 stackNo; - s32 i; - s32 stackNoB; - s32 stackNoA; - s32 maxNo; - s32 stackMax; - - stackNoA = -1; - maxNo = 0; - if (sys.grpInfo[grpId].stackNo == 0) { - stack = sys.grpStackA; - stackMax = sys.grpStackAMax; - } else { - stack = sys.grpStackB; - stackMax = sys.grpStackBMax; - } - for (i = 0; i < stackMax; stack++, i++) { - if (i == no) { - continue; - } - if ((stackNo = stack->num) != 0) { - if (stack->baseGrpF == 0 && stackNo > maxNo) { - maxNo = stackNo; - stackNoB = -(i + 1); - } - } else { - stackNoA = i; - } - } - return (stackNoA < 0) ? stackNoB : stackNoA; -} - -s32 msmSysGroupInit(DVDFileInfo *file) -{ - s32 i; - MSM_GRP_STACK *stack; - MSM_GRP_INFO *grpInfo; - - sys.grpMax = sys.info->grpMax; - sys.grpNum = 1; - sys.baseGrpNum = sys.info->baseGrpNum; - sys.grpStackAMax = sys.info->stackDepthA; - sys.grpStackADepth = 0; - sys.grpStackAOfs = 0; - sys.grpStackBMax = sys.info->stackDepthB; - sys.grpStackBDepth = 0; - sys.grpStackBOfs = 0; - if ((sys.grpInfo = msmMemAlloc(sys.header->grpInfoSize)) == NULL) { - return MSM_ERR_OUTOFMEM; - } - if (msmFioRead(file, sys.grpInfo, sys.header->grpInfoSize, sys.header->grpInfoOfs) < 0) { - return MSM_ERR_READFAIL; - } - if ((sys.grpBufA = msmMemAlloc(sys.info->grpBufSizeA * sys.grpStackAMax)) == NULL) { - return MSM_ERR_OUTOFMEM; - } - if ((sys.grpBufB = msmMemAlloc(sys.info->grpBufSizeB * sys.grpStackBMax)) == NULL) { - return MSM_ERR_OUTOFMEM; - } - if (sys.header->grpSetSize) { - if ((sys.grpSet = msmMemAlloc(sys.header->grpSetSize)) == NULL) { - return MSM_ERR_OUTOFMEM; - } - if (msmFioRead(file, sys.grpSet, sys.header->grpSetSize, sys.header->grpSetOfs) < 0) { - return MSM_ERR_READFAIL; - } - } else { - sys.grpSet = NULL; - } - for (i = 0; i < sys.grpStackAMax; i++) { - stack = &sys.grpStackA[i]; - stack->grpId = stack->baseGrpF = 0; - stack->num = 0; - stack->buf = (void*) ((u32) sys.grpBufA + sys.info->grpBufSizeA * i); - } - for (i = 0; i < sys.grpStackBMax; i++) { - stack = &sys.grpStackB[i]; - stack->grpId = stack->baseGrpF = 0; - stack->num = 0; - stack->buf = (void*) ((u32) sys.grpBufB + sys.info->grpBufSizeB * i); - } - sys.sampSize = 0; - for (i = 0; i < sys.baseGrpNum; i++) { - grpInfo = &sys.grpInfo[sys.info->baseGrp[i]]; - if ((sys.grpData[i] = msmMemAlloc(grpInfo->dataSize)) == NULL) { - return MSM_ERR_OUTOFMEM; - } - if (sys.sampSize < grpInfo->sampSize) { - sys.sampSize = grpInfo->sampSize; - } - grpInfo->sampSize *= -1; - } - sys.sampSizeBase = 0; - for (i = 1; i < sys.grpMax; i++) { - grpInfo = &sys.grpInfo[i]; - if (grpInfo->sampSize < 0) { - grpInfo->sampSize *= -1; - } else if (sys.sampSizeBase < grpInfo->sampSize) { - sys.sampSizeBase = grpInfo->sampSize; - } - } - return 0; -} - -void msmSysIrqDisable(void) -{ - if (sys.irqDepth++ == 0) { - sys.irqState = OSDisableInterrupts(); - } -} - -void msmSysIrqEnable(void) -{ - if (sys.irqDepth != 0) { - if (--sys.irqDepth == 0) { - OSRestoreInterrupts(sys.irqState); - } - } -} - -static BOOL msmSysCheckBaseGroupNo(s32 grpId) -{ - s32 i; - - for (i = 0; i < sys.baseGrpNum + sys.grpStackAOfs + sys.grpStackBOfs; i++) { - if (sys.info->baseGrp[i] == grpId) { - return TRUE; - } - } - return FALSE; -} - -BOOL msmSysCheckBaseGroup(s32 grpId) -{ - s32 i; - - for (i = 0; i < sys.baseGrpNum + sys.grpStackAOfs + sys.grpStackBOfs; i++) { - if (sys.grpInfo[sys.info->baseGrp[i]].gid == grpId) { - return TRUE; - } - } - return FALSE; -} - -void *msmSysGetGroupDataPtr(s32 grpId) -{ - MSM_GRP_STACK *grp; - s32 i; - - for (i = 0; i < sys.baseGrpNum; i++) { - if (sys.info->baseGrp[i] == grpId) { - return sys.grpData[i]; - } - } - for (i = 0; i < sys.grpStackAMax; i++) { - grp = &sys.grpStackA[i]; - if (grp->num != 0 && grp->grpId == grpId) { - return grp->buf; - } - } - for (i = 0; i < sys.grpStackBMax; i++) { - grp = &sys.grpStackB[i]; - if (grp->num != 0 && grp->grpId == grpId) { - return grp->buf; - } - } - return NULL; -} - -BOOL msmSysCheckLoadGroupID(s32 grpId) -{ - MSM_GRP_STACK *grp; - s32 i; - - for (i = 0; i < sys.baseGrpNum + sys.grpStackAOfs + sys.grpStackBOfs; i++) { - if (sys.grpInfo[sys.info->baseGrp[i]].gid == grpId) { - return TRUE; - } - } - for (i = 0; i < sys.grpStackAMax; i++) { - grp = &sys.grpStackA[i]; - if (grp->num != 0 && sys.grpInfo[grp->grpId].gid == grpId) { - return TRUE; - } - } - for (i = 0; i < sys.grpStackBMax; i++) { - grp = &sys.grpStackB[i]; - if (grp->num != 0 && sys.grpInfo[grp->grpId].gid == grpId) { - return TRUE; - } - } - return FALSE; -} - -void msmSysRegularProc(void) -{ -} - -s32 msmSysGetOutputMode(void) -{ - return sys.outputMode; -} - -BOOL msmSysSetOutputMode(SND_OUTPUTMODE mode) -{ - SND_OUTPUTMODE var_r3; - BOOL failF; - - failF = 0; - sys.outputMode = mode; - switch (mode) { - case SND_OUTPUTMODE_MONO: - var_r3 = SND_OUTPUTMODE_MONO; - break; - case SND_OUTPUTMODE_SURROUND: - if (sys.info->surroundF != 0) { - var_r3 = SND_OUTPUTMODE_SURROUND; - } else { - sys.outputMode = SND_OUTPUTMODE_STEREO; - var_r3 = SND_OUTPUTMODE_STEREO; - failF = 1; - } - break; - case SND_OUTPUTMODE_STEREO: - default: - var_r3 = SND_OUTPUTMODE_STEREO; - break; - } - sndOutputMode(var_r3); - msmStreamSetOutputMode(sys.outputMode); - OSSetSoundMode((mode != SND_OUTPUTMODE_MONO) ? 1 : 0); - return failF; -} - -s32 msmSysSetAux(s32 auxA, s32 auxB) -{ - s32 i; - - sndSetAuxProcessingCallbacks(0, NULL, NULL, 0, 0, NULL, NULL, 0, 0); - for (i = 1; i >= 0; i--) { - if (sys.auxParamNo[i] < 0) { - continue; - } - switch (sys.auxParam[sys.auxParamNo[i]].type) { - case 0: - sndAuxCallbackShutdownReverbHI(&sys.aux[i].revHi); - break; - case 1: - sndAuxCallbackShutdownReverbSTD(&sys.aux[i].revStd); - break; - case 2: - sndAuxCallbackShutdownChorus(&sys.aux[i].chorus); - break; - case 3: - sndAuxCallbackShutdownDelay(&sys.aux[i].delay); - break; - } - } - if (msmSysSetAuxParam(auxA, auxB) != 0) { - return MSM_ERR_INVALID_AUXPARAM; - } - return 0; -} - -s32 msmSysGetSampSize(BOOL baseGrp) -{ - if (baseGrp != 0) { - return sys.sampSizeBase; - } - return sys.sampSize; -} - -s32 msmSysDelGroupAll(void) -{ - MSM_GRP_STACK *grp; - s32 i; - - for (i = 0; i < sys.grpStackBMax; i++) { - grp = &sys.grpStackB[i]; - if (grp->num != 0 && grp->baseGrpF == 0) { - grp->num = 0; - sndPopGroup(); - sys.aramP -= sys.grpInfo[grp->grpId].sampSize; - sys.grpStackBDepth--; - } - } - for (i = 0; i < sys.grpStackAMax; i++) { - grp = &sys.grpStackA[i]; - if (grp->num != 0 && grp->baseGrpF == 0) { - grp->num = 0; - sndPopGroup(); - sys.aramP -= sys.grpInfo[grp->grpId].sampSize; - sys.grpStackADepth--; - } - } - return 0; -} - -s32 msmSysDelGroupBase(s32 grpNum) -{ - s32 j; - MSM_GRP_STACK *grp; - s32 i; - s8 level; - s8 stackBF; - s32 grpMaxNum; - - if (sys.grpStackAOfs + sys.grpStackBOfs == 0) { - return 0; - } - if (grpNum >= sys.grpStackAOfs + sys.grpStackBOfs) { - grpNum = 0; - } - if (grpNum != 0) { - msmSysDelGroupAll(); - for (i = 0; i < grpNum; i++) { - grpMaxNum = 0; - for (j = 0; j < sys.grpStackAMax; j++) { - grp = &sys.grpStackA[j]; - if (grp->num > grpMaxNum) { - grpMaxNum = grp->num; - level = j; - stackBF = FALSE; - } - } - for (j = 0; j < sys.grpStackBMax; j++) { - grp = &sys.grpStackB[j]; - if (grp->num > grpMaxNum) { - grpMaxNum = grp->num; - level = j; - stackBF = TRUE; - } - } - if (stackBF == FALSE) { - grp = &sys.grpStackA[level]; - sys.grpStackADepth--; - sys.grpStackAOfs--; - } else { - grp = &sys.grpStackB[level]; - sys.grpStackBDepth--; - sys.grpStackBOfs--; - } - sndPopGroup(); - sys.aramP -= sys.grpInfo[grp->grpId].sampSize; - grp->baseGrpF = 0; - grp->num = 0; - } - } else { - for (i = 0; i < sys.grpStackAMax; i++) { - grp = &sys.grpStackA[i]; - if (grp->num != 0) { - sndPopGroup(); - sys.aramP -= sys.grpInfo[grp->grpId].sampSize; - grp->baseGrpF = 0; - grp->num = 0; - } - } - for (i = 0; i < sys.grpStackBMax; i++) { - grp = &sys.grpStackB[i]; - if (grp->num != 0) { - sndPopGroup(); - sys.aramP -= sys.grpInfo[grp->grpId].sampSize; - grp->baseGrpF = 0; - grp->num = 0; - } - } - sys.grpStackBOfs = 0; - sys.grpStackBDepth = 0; - sys.grpStackAOfs = 0; - sys.grpStackADepth = 0; - } - return 0; -} - -static s32 msmSysPushGroup(DVDFileInfo *file, void *buf, MSM_GRP_STACK *grp, s32 grpId) -{ - MSM_GRP_INFO *grpInfo; - MSM_GRP_HEAD *grpBuf; - - grpInfo = &sys.grpInfo[grpId]; - if (msmFioRead(file, grp->buf, grpInfo->dataSize, grpInfo->dataOfs + sys.header->grpDataOfs) < 0) { - return MSM_ERR_READFAIL; - } - if (msmFioRead(file, buf, grpInfo->sampSize, grpInfo->sampOfs + sys.header->sampOfs) < 0) { - return MSM_ERR_READFAIL; - } - grpBuf = grp->buf; - if (!sndPushGroup((void*) (grpBuf->projOfs + (u32) grpBuf), grpInfo->gid, buf, - (void*) (grpBuf->sdirOfs + (u32) grpBuf), (void*) (grpBuf->poolOfs + (u32) grpBuf))) - { - return MSM_ERR_GRP_FAILPUSH; - } - sys.aramP += grpInfo->sampSize; - grp->grpId = grpId; - grp->num = sys.grpNum++; - return 0; -} - -s32 msmSysLoadGroupBase(s32 grpId, void *buf) -{ - s32 temp_r29; - s32 temp_r28; - s32 var_r23; - s32 temp_r3_2; - MSM_GRP_STACK *var_r24; - DVDFileInfo sp10; - - if (grpId < 1 || grpId >= sys.grpMax) { - return MSM_ERR_64; - } - var_r23 = msmSysDelGroupAll(); - if (var_r23 != 0) { - return var_r23; - } - temp_r29 = sys.baseGrpNum + sys.grpStackAOfs + sys.grpStackBOfs; - if (msmSysCheckBaseGroupNo(grpId)) { - return 0; - } - if (temp_r29 >= 0xF) { - return MSM_ERR_STACK_OVERFLOW; - } - temp_r3_2 = msmSysSearchGroupStack(grpId, -1); - if (temp_r3_2 < 0) { - return MSM_ERR_STACK_OVERFLOW; - } - temp_r28 = sys.grpInfo[grpId].stackNo; - if (!temp_r28) { - var_r24 = &sys.grpStackA[temp_r3_2]; - } else { - var_r24 = &sys.grpStackB[temp_r3_2]; - } - if (msmFioOpen(sys.msmEntryNum, &sp10) != 1) { - return MSM_ERR_OPENFAIL; - } - var_r23 = msmSysPushGroup(&sp10, buf, var_r24, grpId); - if (var_r23 != 0) { - msmFioClose(&sp10); - return var_r23; - } - msmFioClose(&sp10); - sys.info->baseGrp[temp_r29] = grpId; - var_r24->baseGrpF = 1; - if (temp_r28 == 0) { - sys.grpStackAOfs++; - sys.grpStackADepth++; - } else { - sys.grpStackBOfs++; - sys.grpStackBDepth++; - } - return 0; -} - -static s32 msmSysGetNumGroupSet(void) -{ - if (sys.grpSet != NULL) { - return sys.grpSet->numGrpSet; - } - return 0; -} - -s32 msmSysLoadGroupSet(s32 arg0, void *arg1) -{ - s8 grpId[10]; - DVDFileInfo file; - s32 result; - s32 stackLevel; - s32 pushResult; - s32 i; - s32 grpSetNum; - s8 *grpSet; - - if (msmSysGetNumGroupSet() == 0) { - return 0; - } - result = msmSysDelGroupAll(); - if (result != 0) { - return result; - } - grpSet = &sys.grpSet->data[sys.grpSet->grpSetW * arg0]; - if (msmFioOpen(sys.msmEntryNum, &file) != TRUE) { - return MSM_ERR_OPENFAIL; - } - sys.grpStackADepth = sys.grpStackAOfs; - grpSetNum = 0; - for (; *grpSet != 0; grpSet++) { - if (msmSysCheckBaseGroupNo(*grpSet)) { - continue; - } - if (sys.grpInfo[(s8) *grpSet].stackNo == 1) { - grpId[grpSetNum++] = *grpSet; - } else { - stackLevel = msmSysSearchGroupStack(*grpSet, -1); - if (stackLevel < 0) { - msmFioClose(&file); - return MSM_ERR_STACK_OVERFLOW; - } - pushResult = msmSysPushGroup(&file, arg1, &sys.grpStackA[stackLevel], *grpSet); - if (pushResult != 0) { - msmFioClose(&file); - return pushResult; - } - sys.grpStackADepth++; - } - } - sys.grpStackBDepth = sys.grpStackBOfs; - for (i = 0; i < grpSetNum; i++) { - stackLevel = msmSysSearchGroupStack(grpId[i], -1); - if (stackLevel < 0) { - msmFioClose(&file); - return MSM_ERR_STACK_OVERFLOW; - } - pushResult = msmSysPushGroup(&file, arg1, &sys.grpStackB[stackLevel], grpId[i]); - if (pushResult != 0) { - msmFioClose(&file); - return pushResult; - } - sys.grpStackBDepth++; - } - msmFioClose(&file); - return 0; -} - -static s32 msmSysLoadGroupSub(DVDFileInfo *file, s32 grpId, void *buf) -{ - s32 grpIdResult; - s32 i; - s32 stackLevel; - s32 result; - u8 *stackDepth; - MSM_GRP_STACK *grpStack; - MSM_GRP_INFO *temp_r23; - - grpIdResult = 0; - temp_r23 = &sys.grpInfo[grpId]; - if (temp_r23->stackNo == 0) { - grpStack = sys.grpStackA; - stackDepth = &sys.grpStackADepth; - } else { - grpStack = sys.grpStackB; - stackDepth = &sys.grpStackBDepth; - } - if (temp_r23->subGrpId != 0) { - if (!msmSysCheckBaseGroup(sys.grpInfo[temp_r23->subGrpId].gid)) { - stackLevel = -1; - for (i = 0; i < 2; i++) { - stackLevel = msmSysSearchGroupStack(temp_r23->subGrpId, stackLevel); - if (stackLevel < 0) { - stackLevel = -(stackLevel + 1); - (*stackDepth)--; - sndPopGroup(); - sys.aramP -= sys.grpInfo[grpStack[stackLevel].grpId].sampSize; - grpIdResult = grpStack[stackLevel].grpId; - grpStack[stackLevel].num = 0; - } - } - result = msmSysPushGroup(file, buf, &grpStack[stackLevel], temp_r23->subGrpId); - if (result != 0) { - return result; - } - (*stackDepth)++; - } - } - stackLevel = msmSysSearchGroupStack(grpId, -1); - if (stackLevel < 0) { - stackLevel = -(stackLevel + 1); - (*stackDepth)--; - sndPopGroup(); - sys.aramP -= sys.grpInfo[grpStack[stackLevel].grpId].sampSize; - grpIdResult = grpStack[stackLevel].grpId; - } - result = msmSysPushGroup(file, buf, &grpStack[stackLevel], grpId); - if (result == 0) { - result = grpIdResult; - } - (*stackDepth)++; - return result; -} - -static void msmSysPopGroup(s32 no) -{ - MSM_GRP_STACK *grp; - - grp = &sys.grpStackB[no]; - if (grp->num != 0 && grp->baseGrpF == 0) { - sndPopGroup(); - sys.aramP -= sys.grpInfo[grp->grpId].sampSize; - } -} - -s32 msmSysLoadGroup(s32 grpId, void *buf) -{ - MSM_GRP_STACK *grpStack; - MSM_GRP_INFO *grpInfo; - s32 pushResult; - s32 i; - s32 result; - DVDFileInfo file; - s32 unused; - - if (buf == NULL) { - return 0; - } - if (grpId == 0) { - return msmSysLoadBaseGroup(buf); - } - grpInfo = &sys.grpInfo[grpId]; - if (msmSysCheckLoadGroupID(grpInfo->gid)) { - return 0; - } - if (msmFioOpen(sys.msmEntryNum, &file) != TRUE) { - return MSM_ERR_OPENFAIL; - } - if (grpInfo->stackNo == 0) { - for (i = 0; i < sys.grpStackBMax; i++) { - msmSysPopGroup(i); - } - result = msmSysLoadGroupSub(&file, grpId, buf); - for (i = 0; i < sys.grpStackBMax; i++) { - grpStack = &sys.grpStackB[i]; - if (grpStack->num != 0 && grpStack->baseGrpF == 0) { - pushResult = msmSysPushGroup(&file, buf, grpStack, grpStack->grpId); - if (pushResult != 0) { - msmFioClose(&file); - return pushResult; - } - } - } - } else { - result = msmSysLoadGroupSub(&file, grpId, buf); - } - msmFioClose(&file); - return result; -} - -void msmSysCheckInit(void) -{ - sndIsInstalled(); -} - -s32 msmSysInit(MSM_INIT *init, MSM_ARAM *aram) -{ - s32 result; - void *temp; - - SND_HOOKS sndHooks = { msmMemAlloc, msmMemFree }; - DVDFileInfo sp10; - if (sndIsInstalled() == 1) { - return MSM_ERR_INSTALLED; - } - result = 0; // retErr - sys.irqDepth = 0; - msmMemInit(init->heap, init->heapSize); - msmFioInit(init->open, init->read, init->close); - sys.msmEntryNum = DVDConvertPathToEntrynum(init->msmPath); - if (sys.msmEntryNum < 0) { - return MSM_ERR_OPENFAIL; - } - if (msmFioOpen(sys.msmEntryNum, &sp10) != 1) { - return MSM_ERR_OPENFAIL; - } - if ((sys.header = msmMemAlloc(0x60)) == NULL) { - msmFioClose(&sp10); - return MSM_ERR_OUTOFMEM; - } - if (msmFioRead(&sp10, sys.header, 0x60, 0) < 0) { - msmFioClose(&sp10); - return MSM_ERR_READFAIL; - } - if (sys.header->version != MSM_FILE_VERSION) { - msmFioClose(&sp10); - return MSM_ERR_INVALIDFILE; - } - if ((sys.info = msmMemAlloc(sys.header->infoSize)) == NULL) { - msmFioClose(&sp10); - return MSM_ERR_OUTOFMEM; - } - if (msmFioRead(&sp10, sys.info, sys.header->infoSize, sys.header->infoOfs) < 0) { - msmFioClose(&sp10); - return MSM_ERR_READFAIL; - } - if (aram != NULL) { - if (aram->skipARInit == 0) { - ARInit(aram->stackIndex, aram->aramEnd); - ARQInit(); - aram = (MSM_ARAM *)ARAlloc(sys.info->aramSize); - if ((u32)aram != ARGetBaseAddress()) { - msmFioClose(&sp10); - return MSM_ERR_OUTOFAMEM; - } - sys.arInitF = FALSE; - } - else { - if ((sys.info->aramSize + ARGetBaseAddress()) > aram->aramEnd) { - msmFioClose(&sp10); - return MSM_ERR_OUTOFAMEM; - } - ARInit(NULL, 0); - ARQInit(); - sys.arInitF = TRUE; - } - } - result = msmSysGroupInit(&sp10); - if (result != 0) { - msmFioClose(&sp10); - return result; - } - result = msmMusInit(&sys, &sp10); - if (result != 0) { - msmFioClose(&sp10); - return result; - } - result = msmSeInit(&sys, &sp10); - if (result != 0) { - msmFioClose(&sp10); - return result; - } - sys.auxParamNo[0] = sys.info->auxParamA == MSM_AUXNO_NULL ? MSM_AUXNO_NULL : MSM_AUXNO_UNSET; - sys.auxParamNo[1] = sys.info->auxParamB == MSM_AUXNO_NULL ? MSM_AUXNO_NULL : MSM_AUXNO_UNSET; - if ((s32)sys.header->auxParamSize == 0) { - result = 0; - } - else { - if ((sys.auxParam = msmMemAlloc(sys.header->auxParamSize)) == NULL) { - result = MSM_ERR_OUTOFMEM; - } - else { - if (msmFioRead(&sp10, sys.auxParam, sys.header->auxParamSize, sys.header->auxParamOfs) < 0) { - result = MSM_ERR_READFAIL; - } - else { - result = 0; - } - } - } - if (result != 0) { - msmFioClose(&sp10); - return result; - } - msmFioClose(&sp10); - result = msmStreamInit(init->pdtPath); - if (result < 0) { - return result; - } - AIInit(NULL); - sndSetHooks(&sndHooks); - if (sndInit(sys.info->voices, sys.info->music, sys.info->sfx, 1, 0, sys.info->aramSize) != 0) { - return MSM_ERR_INITFAIL; - } - sys.oldAIDCallback = AIRegisterDMACallback(msmSysServer); - sys.timer = 1; - result = msmStreamAmemAlloc(); - if (result < 0) { - sndQuit(); - return result; - } - sys.aramP = result + 0x500; - if ((int)sys.info->minMem != 0) { - temp = msmMemAlloc(sys.info->minMem + 0x100); - if (temp == NULL) { - msmStreamAmemFree(); - sndQuit(); - return MSM_ERR_OUTOFMEM; - } - msmMemFree(temp); - } - if (msmSysSetAuxParam(sys.info->auxParamA, sys.info->auxParamB) != 0) { - msmStreamAmemFree(); - sndQuit(); - return MSM_ERR_INVALID_AUXPARAM; - } - msmSysSetOutputMode(OSGetSoundMode() == 0 ? SND_OUTPUTMODE_MONO : SND_OUTPUTMODE_STEREO); - sndVolume(0x7F, 0, 0xFF); - return 0; -} diff --git a/src/odenotstub/odenotstub.c b/src/odenotstub/odenotstub.c deleted file mode 100644 index 2aeb1140..00000000 --- a/src/odenotstub/odenotstub.c +++ /dev/null @@ -1,7 +0,0 @@ -#include - -int Hu_IsStub(); - -int Hu_IsStub() { - return 0; -} diff --git a/tools/decompctx.py b/tools/decompctx.py index 87cfb7ef..e86d5ef3 100644 --- a/tools/decompctx.py +++ b/tools/decompctx.py @@ -23,8 +23,8 @@ include_dirs = [ # Add additional include directories here ] -include_pattern = re.compile(r'^#\s*include\s*[<"](.+?)[>"]') -guard_pattern = re.compile(r"^#\s*ifndef\s+(.*)$") +include_pattern = re.compile(r'^#include\s*[<"](.+?)[>"]$') +guard_pattern = re.compile(r"^#ifndef\s+(.*)$") defines = set() diff --git a/tools/download_tool.py b/tools/download_tool.py index f4512d01..7b386a4b 100644 --- a/tools/download_tool.py +++ b/tools/download_tool.py @@ -56,22 +56,6 @@ def dtk_url(tag: str) -> str: return f"{repo}/releases/download/{tag}/dtk-{system}-{arch}{suffix}" -def objdiff_cli_url(tag: str) -> str: - uname = platform.uname() - suffix = "" - system = uname.system.lower() - if system == "darwin": - system = "macos" - elif system == "windows": - suffix = ".exe" - arch = uname.machine.lower() - if arch == "amd64": - arch = "x86_64" - - repo = "https://github.com/encounter/objdiff" - return f"{repo}/releases/download/{tag}/objdiff-cli-{system}-{arch}{suffix}" - - def sjiswrap_url(tag: str) -> str: repo = "https://github.com/encounter/sjiswrap" return f"{repo}/releases/download/{tag}/sjiswrap-windows-x86.exe" @@ -86,7 +70,6 @@ TOOLS: Dict[str, Callable[[str], str]] = { "binutils": binutils_url, "compilers": compilers_url, "dtk": dtk_url, - "objdiff-cli": objdiff_cli_url, "sjiswrap": sjiswrap_url, "wibo": wibo_url, } diff --git a/tools/project.py b/tools/project.py index b4469fcd..8f8c6e07 100644 --- a/tools/project.py +++ b/tools/project.py @@ -17,7 +17,7 @@ import os import platform import sys from pathlib import Path -from typing import IO, Any, Dict, Iterable, List, Optional, Set, Tuple, Union, cast +from typing import Any, Dict, List, Optional, Set, Tuple, Union from . import ninja_syntax from .ninja_syntax import serialize_path @@ -29,93 +29,24 @@ if sys.platform == "cygwin": f"\n(Current path: {sys.executable})" ) -Library = Dict[str, Any] - class Object: def __init__(self, completed: bool, name: str, **options: Any) -> None: self.name = name + self.base_name = Path(name).with_suffix("") self.completed = completed self.options: Dict[str, Any] = { - "add_to_all": None, + "add_to_all": True, "asflags": None, - "asm_dir": None, + "extra_asflags": None, "cflags": None, - "extra_asflags": [], - "extra_cflags": [], - "extra_clang_flags": [], - "host": None, - "lib": None, + "extra_cflags": None, "mw_version": None, - "progress_category": None, "shift_jis": None, "source": name, - "src_dir": None, } self.options.update(options) - # Internal - self.src_path: Optional[Path] = None - self.asm_path: Optional[Path] = None - self.src_obj_path: Optional[Path] = None - self.asm_obj_path: Optional[Path] = None - self.host_obj_path: Optional[Path] = None - self.ctx_path: Optional[Path] = None - - def resolve(self, config: "ProjectConfig", lib: Library) -> "Object": - # Use object options, then library options - obj = Object(self.completed, self.name, **lib) - for key, value in self.options.items(): - if value is not None or key not in obj.options: - obj.options[key] = value - - # Use default options from config - def set_default(key: str, value: Any) -> None: - if obj.options[key] is None: - obj.options[key] = value - - set_default("add_to_all", True) - set_default("asflags", config.asflags) - set_default("asm_dir", config.asm_dir) - set_default("host", False) - set_default("mw_version", config.linker_version) - set_default("shift_jis", config.shift_jis) - set_default("src_dir", config.src_dir) - - # Validate progress categories - def check_category(category: str): - if not any(category == c.id for c in config.progress_categories): - sys.exit( - f"Progress category '{category}' missing from config.progress_categories" - ) - - progress_category = obj.options["progress_category"] - if isinstance(progress_category, list): - for category in progress_category: - check_category(category) - elif progress_category is not None: - check_category(progress_category) - - # Resolve paths - build_dir = config.out_path() - obj.src_path = Path(obj.options["src_dir"]) / obj.options["source"] - if obj.options["asm_dir"] is not None: - obj.asm_path = ( - Path(obj.options["asm_dir"]) / obj.options["source"] - ).with_suffix(".s") - base_name = Path(self.name).with_suffix("") - obj.src_obj_path = build_dir / "src" / f"{base_name}.o" - obj.asm_obj_path = build_dir / "mod" / f"{base_name}.o" - obj.host_obj_path = build_dir / "host" / f"{base_name}.o" - obj.ctx_path = build_dir / "src" / f"{base_name}.ctx" - return obj - - -class ProgressCategory: - def __init__(self, id: str, name: str) -> None: - self.id = id - self.name = name - class ProjectConfig: def __init__(self) -> None: @@ -123,33 +54,29 @@ class ProjectConfig: self.build_dir: Path = Path("build") # Output build files self.src_dir: Path = Path("src") # C/C++/asm source files self.tools_dir: Path = Path("tools") # Python scripts - self.asm_dir: Optional[Path] = Path( - "asm" - ) # Override incomplete objects (for modding) + self.asm_dir: Path = Path("asm") # Override incomplete objects (for modding) # Tooling self.binutils_tag: Optional[str] = None # Git tag self.binutils_path: Optional[Path] = None # If None, download self.dtk_tag: Optional[str] = None # Git tag - self.dtk_path: Optional[Path] = None # If None, download + self.build_dtk_path: Optional[Path] = None # If None, download self.compilers_tag: Optional[str] = None # 1 self.compilers_path: Optional[Path] = None # If None, download self.wibo_tag: Optional[str] = None # Git tag self.wrapper: Optional[Path] = None # If None, download wibo on Linux self.sjiswrap_tag: Optional[str] = None # Git tag self.sjiswrap_path: Optional[Path] = None # If None, download - self.objdiff_tag: Optional[str] = None # Git tag - self.objdiff_path: Optional[Path] = None # If None, download # Project config - self.non_matching: bool = False self.build_rels: bool = True # Build REL files self.check_sha_path: Optional[Path] = None # Path to version.sha1 self.config_path: Optional[Path] = None # Path to config.yml + self.debug: bool = False # Build with debug info self.generate_map: bool = False # Generate map file(s) self.asflags: Optional[List[str]] = None # Assembler flags self.ldflags: Optional[List[str]] = None # Linker flags - self.libs: Optional[List[Library]] = None # List of libraries + self.libs: Optional[List[Dict[str, Any]]] = None # List of libraries self.linker_version: Optional[str] = None # mwld version self.version: Optional[str] = None # Version name self.warn_missing_config: bool = False # Warn on missing unit configuration @@ -161,30 +88,12 @@ class ProjectConfig: self.shift_jis = ( True # Convert source files from UTF-8 to Shift JIS automatically ) - self.reconfig_deps: Optional[List[Path]] = ( - None # Additional re-configuration dependency files - ) - self.custom_build_rules: Optional[List[Dict[str, Any]]] = ( - None # Custom ninja build rules - ) - self.custom_build_steps: Optional[Dict[str, List[Dict[str, Any]]]] = ( - None # Custom build steps, types are ["pre-compile", "post-compile", "post-link", "post-build"] - ) - self.generate_compile_commands: bool = ( - True # Generate compile_commands.json for clangd - ) - self.extra_clang_flags: List[str] = [] # Extra flags for clangd - # Progress output, progress.json and report.json config - self.progress = True # Enable report.json generation and CLI progress output + # Progress output and progress.json config self.progress_all: bool = True # Include combined "all" category self.progress_modules: bool = True # Include combined "modules" category self.progress_each_module: bool = ( - False # Include individual modules, disable for large numbers of modules - ) - self.progress_categories: List[ProgressCategory] = [] # Additional categories - self.print_progress_categories: Union[bool, List[str]] = ( - True # Print additional progress categories in the CLI progress output + True # Include individual modules, disable for large numbers of modules ) # Progress fancy printing @@ -210,52 +119,16 @@ class ProjectConfig: if getattr(self, attr) is None: sys.exit(f"ProjectConfig.{attr} missing") - # Creates a map of object names to Object instances - # Options are fully resolved from the library and object - def objects(self) -> Dict[str, Object]: - out = {} + def find_object(self, name: str) -> Optional[Tuple[Dict[str, Any], Object]]: for lib in self.libs or {}: - objects: List[Object] = lib["objects"] - for obj in objects: - if obj.name in out: - sys.exit(f"Duplicate object name {obj.name}") - out[obj.name] = obj.resolve(self, lib) - return out + for obj in lib["objects"]: + if obj.name == name: + return lib, obj + return None - # Gets the output path for build-related files. def out_path(self) -> Path: return self.build_dir / str(self.version) - # Gets the path to the compilers directory. - # Exits the program if neither `compilers_path` nor `compilers_tag` is provided. - def compilers(self) -> Path: - if self.compilers_path: - return self.compilers_path - elif self.compilers_tag: - return self.build_dir / "compilers" - else: - sys.exit("ProjectConfig.compilers_tag missing") - - # Gets the wrapper to use for compiler commands, if set. - def compiler_wrapper(self) -> Optional[Path]: - wrapper = self.wrapper - - if self.use_wibo(): - wrapper = self.build_dir / "tools" / "wibo" - if not is_windows() and wrapper is None: - wrapper = Path("wine") - - return wrapper - - # Determines whether or not to use wibo as the compiler wrapper. - def use_wibo(self) -> bool: - return ( - self.wibo_tag is not None - and sys.platform == "linux" - and platform.machine() in ("i386", "x86_64") - and self.wrapper is None - ) - def is_windows() -> bool: return os.name == "nt" @@ -267,26 +140,11 @@ CHAIN = "cmd /c " if is_windows() else "" EXE = ".exe" if is_windows() else "" -def file_is_asm(path: Path) -> bool: - return path.suffix.lower() == ".s" - - -def file_is_c(path: Path) -> bool: - return path.suffix.lower() == ".c" - - -def file_is_cpp(path: Path) -> bool: - return path.suffix.lower() in (".cc", ".cp", ".cpp", ".cxx") - - -def file_is_c_cpp(path: Path) -> bool: - return file_is_c(path) or file_is_cpp(path) - - -def make_flags_str(flags: Optional[List[str]]) -> str: - if flags is None: - return "" - return " ".join(flags) +def make_flags_str(cflags: Union[str, List[str]]) -> str: + if isinstance(cflags, list): + return " ".join(cflags) + else: + return cflags # Load decomp-toolkit generated config.json @@ -302,15 +160,15 @@ def load_build_config( f = open(build_config_path, "r", encoding="utf-8") build_config: Dict[str, Any] = json.load(f) config_version = build_config.get("version") - if config_version is None: - print("Invalid config.json, regenerating...") + if not config_version: + # Invalid config.json f.close() os.remove(build_config_path) return None dtk_version = str(config.dtk_tag)[1:] # Strip v if versiontuple(config_version) < versiontuple(dtk_version): - print("Outdated config.json, regenerating...") + # Outdated config.json f.close() os.remove(build_config_path) return None @@ -319,22 +177,19 @@ def load_build_config( return build_config -# Generate build.ninja, objdiff.json and compile_commands.json +# Generate build.ninja and objdiff.json def generate_build(config: ProjectConfig) -> None: - config.validate() - objects = config.objects() build_config = load_build_config(config, config.out_path() / "config.json") - generate_build_ninja(config, objects, build_config) - generate_objdiff_config(config, objects, build_config) - generate_compile_commands(config, objects, build_config) + generate_build_ninja(config, build_config) + generate_objdiff_config(config, build_config) # Generate build.ninja def generate_build_ninja( - config: ProjectConfig, - objects: Dict[str, Object], - build_config: Optional[Dict[str, Any]], + config: ProjectConfig, build_config: Optional[Dict[str, Any]] ) -> None: + config.validate() + out = io.StringIO() n = ninja_syntax.Writer(out) n.variable("ninja_required_version", "1.3") @@ -352,8 +207,13 @@ def generate_build_ninja( # Variables ### n.comment("Variables") - n.variable("ldflags", make_flags_str(config.ldflags)) - if config.linker_version is None: + ldflags = " ".join(config.ldflags or []) + if config.generate_map: + ldflags += " -mapunused" + if config.debug: + ldflags += " -g" + n.variable("ldflags", ldflags) + if not config.linker_version: sys.exit("ProjectConfig.linker_version missing") n.variable("mw_version", Path(config.linker_version)) n.newline() @@ -365,7 +225,6 @@ def generate_build_ninja( build_path = config.out_path() progress_path = build_path / "progress.json" - report_path = build_path / "report.json" build_tools_path = config.build_dir / "tools" download_tool = config.tools_dir / "download_tool.py" n.rule( @@ -383,32 +242,20 @@ def generate_build_ninja( deps="gcc", ) - cargo_rule_written = False - - def write_cargo_rule(): - nonlocal cargo_rule_written - if not cargo_rule_written: - n.pool("cargo", 1) - n.rule( - name="cargo", - command="cargo build --release --manifest-path $in --bin $bin --target-dir $target", - description="CARGO $bin", - pool="cargo", - depfile=Path("$target") / "release" / "$bin.d", - deps="gcc", - ) - cargo_rule_written = True - - if config.dtk_path is not None and config.dtk_path.is_file(): - dtk = config.dtk_path - elif config.dtk_path is not None: + if config.build_dtk_path: dtk = build_tools_path / "release" / f"dtk{EXE}" - write_cargo_rule() + n.rule( + name="cargo", + command="cargo build --release --manifest-path $in --bin $bin --target-dir $target", + description="CARGO $bin", + depfile=Path("$target") / "release" / "$bin.d", + deps="gcc", + ) n.build( outputs=dtk, rule="cargo", - inputs=config.dtk_path / "Cargo.toml", - implicit=config.dtk_path / "Cargo.lock", + inputs=config.build_dtk_path / "Cargo.toml", + implicit=config.build_dtk_path / "Cargo.lock", variables={ "bin": "dtk", "target": build_tools_path, @@ -428,35 +275,6 @@ def generate_build_ninja( else: sys.exit("ProjectConfig.dtk_tag missing") - if config.objdiff_path is not None and config.objdiff_path.is_file(): - objdiff = config.objdiff_path - elif config.objdiff_path is not None: - objdiff = build_tools_path / "release" / f"objdiff-cli{EXE}" - write_cargo_rule() - n.build( - outputs=objdiff, - rule="cargo", - inputs=config.objdiff_path / "Cargo.toml", - implicit=config.objdiff_path / "Cargo.lock", - variables={ - "bin": "objdiff-cli", - "target": build_tools_path, - }, - ) - elif config.objdiff_tag: - objdiff = build_tools_path / f"objdiff-cli{EXE}" - n.build( - outputs=objdiff, - rule="download_tool", - implicit=download_tool, - variables={ - "tool": "objdiff-cli", - "tag": config.objdiff_tag, - }, - ) - else: - sys.exit("ProjectConfig.objdiff_tag missing") - if config.sjiswrap_path: sjiswrap = config.sjiswrap_path elif config.sjiswrap_tag: @@ -473,10 +291,16 @@ def generate_build_ninja( else: sys.exit("ProjectConfig.sjiswrap_tag missing") - wrapper = config.compiler_wrapper() # Only add an implicit dependency on wibo if we download it + wrapper = config.wrapper wrapper_implicit: Optional[Path] = None - if wrapper is not None and config.use_wibo(): + if ( + config.wibo_tag is not None + and sys.platform == "linux" + and platform.machine() in ("i386", "x86_64") + and config.wrapper is None + ): + wrapper = build_tools_path / "wibo" wrapper_implicit = wrapper n.build( outputs=wrapper, @@ -487,11 +311,15 @@ def generate_build_ninja( "tag": config.wibo_tag, }, ) + if not is_windows() and wrapper is None: + wrapper = Path("wine") wrapper_cmd = f"{wrapper} " if wrapper else "" - compilers = config.compilers() compilers_implicit: Optional[Path] = None - if config.compilers_path is None and config.compilers_tag is not None: + if config.compilers_path: + compilers = config.compilers_path + elif config.compilers_tag: + compilers = config.build_dir / "compilers" compilers_implicit = compilers n.build( outputs=compilers, @@ -502,6 +330,8 @@ def generate_build_ninja( "tag": config.compilers_tag, }, ) + else: + sys.exit("ProjectConfig.compilers_tag missing") binutils_implicit = None if config.binutils_path: @@ -523,17 +353,6 @@ def generate_build_ninja( n.newline() - ### - # Helper rule for downloading all tools - ### - n.comment("Download all tools") - n.build( - outputs="tools", - rule="phony", - inputs=[dtk, sjiswrap, wrapper, compilers, binutils, objdiff], - ) - n.newline() - ### # Build rules ### @@ -616,49 +435,6 @@ def generate_build_ninja( ) n.newline() - if len(config.custom_build_rules or {}) > 0: - n.comment("Custom project build rules (pre/post-processing)") - for rule in config.custom_build_rules or {}: - n.rule( - name=cast(str, rule.get("name")), - command=cast(str, rule.get("command")), - description=rule.get("description", None), - depfile=rule.get("depfile", None), - generator=rule.get("generator", False), - pool=rule.get("pool", None), - restat=rule.get("restat", False), - rspfile=rule.get("rspfile", None), - rspfile_content=rule.get("rspfile_content", None), - deps=rule.get("deps", None), - ) - n.newline() - - def write_custom_step(step: str) -> List[str | Path]: - implicit: List[str | Path] = [] - if config.custom_build_steps and step in config.custom_build_steps: - n.comment(f"Custom build steps ({step})") - for custom_step in config.custom_build_steps[step]: - outputs = cast(List[str | Path], custom_step.get("outputs")) - - if isinstance(outputs, list): - implicit.extend(outputs) - else: - implicit.append(outputs) - - n.build( - outputs=outputs, - rule=cast(str, custom_step.get("rule")), - inputs=custom_step.get("inputs", None), - implicit=custom_step.get("implicit", None), - order_only=custom_step.get("order_only", None), - variables=custom_step.get("variables", None), - implicit_outputs=custom_step.get("implicit_outputs", None), - pool=custom_step.get("pool", None), - dyndep=custom_step.get("dyndep", None), - ) - n.newline() - return implicit - n.comment("Host build") n.variable("host_cflags", "-I include -Wno-trigraphs") n.variable( @@ -677,13 +453,14 @@ def generate_build_ninja( ) n.newline() - # Add all build steps needed before we compile (e.g. processing assets) - precompile_implicit = write_custom_step("pre-compile") - ### # Source files ### n.comment("Source files") + build_asm_path = build_path / "mod" + build_src_path = build_path / "src" + build_host_path = build_path / "host" + build_config_path = build_path / "config.json" def map_path(path: Path) -> Path: return path.parent / (path.name + ".MAP") @@ -715,6 +492,7 @@ def generate_build_ninja( n.comment(f"Link {self.name}") if self.module_id == 0: elf_path = build_path / f"{self.name}.elf" + dol_path = build_path / f"{self.name}.dol" elf_ldflags = f"$ldflags -lcf {serialize_path(self.ldscript)}" if config.generate_map: elf_map = map_path(elf_path) @@ -725,15 +503,16 @@ def generate_build_ninja( outputs=elf_path, rule="link", inputs=self.inputs, - implicit=[ - *precompile_implicit, - self.ldscript, - *mwld_implicit, - *postcompile_implicit, - ], + implicit=[self.ldscript, *mwld_implicit], implicit_outputs=elf_map, variables={"ldflags": elf_ldflags}, ) + n.build( + outputs=dol_path, + rule="elf2dol", + inputs=elf_path, + implicit=dtk, + ) else: preplf_path = build_path / self.name / f"{self.name}.preplf" plf_path = build_path / self.name / f"{self.name}.plf" @@ -770,7 +549,6 @@ def generate_build_ninja( ) n.newline() - link_outputs: List[Path] = [] if build_config: link_steps: List[LinkStep] = [] used_compiler_versions: Set[str] = set() @@ -778,101 +556,96 @@ def generate_build_ninja( host_source_inputs: List[Path] = [] source_added: Set[Path] = set() - def c_build(obj: Object, src_path: Path) -> Optional[Path]: - # Avoid creating duplicate build rules - if obj.src_obj_path is None or obj.src_obj_path in source_added: - return obj.src_obj_path - source_added.add(obj.src_obj_path) + def c_build( + obj: Object, options: Dict[str, Any], lib_name: str, src_path: Path + ) -> Optional[Path]: - cflags = obj.options["cflags"] - extra_cflags = obj.options["extra_cflags"] - - # Add appropriate language flag if it doesn't exist already - # Added directly to the source so it flows to other generation tasks - if not any(flag.startswith("-lang") for flag in cflags) and not any( - flag.startswith("-lang") for flag in extra_cflags - ): - # Ensure extra_cflags is a unique instance, - # and insert into there to avoid modifying shared sets of flags - extra_cflags = obj.options["extra_cflags"] = list(extra_cflags) - if file_is_cpp(src_path): - extra_cflags.insert(0, "-lang=c++") - else: - extra_cflags.insert(0, "-lang=c") - - cflags_str = make_flags_str(cflags) - if len(extra_cflags) > 0: - extra_cflags_str = make_flags_str(extra_cflags) + cflags_str = make_flags_str(options["cflags"]) + if options["extra_cflags"] is not None: + extra_cflags_str = make_flags_str(options["extra_cflags"]) cflags_str += " " + extra_cflags_str - used_compiler_versions.add(obj.options["mw_version"]) + used_compiler_versions.add(options["mw_version"]) + + src_obj_path = build_src_path / f"{obj.base_name}.o" + src_base_path = build_src_path / obj.base_name + + # Avoid creating duplicate build rules + if src_obj_path in source_added: + return src_obj_path + source_added.add(src_obj_path) + + shift_jis = options["shift_jis"] + if shift_jis is None: + shift_jis = config.shift_jis # Add MWCC build rule - lib_name = obj.options["lib"] n.comment(f"{obj.name}: {lib_name} (linked {obj.completed})") n.build( - outputs=obj.src_obj_path, - rule="mwcc_sjis" if obj.options["shift_jis"] else "mwcc", + outputs=src_obj_path, + rule="mwcc_sjis" if shift_jis else "mwcc", inputs=src_path, variables={ - "mw_version": Path(obj.options["mw_version"]), + "mw_version": Path(options["mw_version"]), "cflags": cflags_str, - "basedir": os.path.dirname(obj.src_obj_path), - "basefile": obj.src_obj_path.with_suffix(""), + "basedir": os.path.dirname(src_base_path), + "basefile": src_base_path, }, - implicit=( - mwcc_sjis_implicit if obj.options["shift_jis"] else mwcc_implicit - ), + implicit=mwcc_sjis_implicit if shift_jis else mwcc_implicit, ) # Add ctx build rule - if obj.ctx_path is not None: - n.build( - outputs=obj.ctx_path, - rule="decompctx", - inputs=src_path, - implicit=decompctx, - ) + ctx_path = build_src_path / f"{obj.base_name}.ctx" + n.build( + outputs=ctx_path, + rule="decompctx", + inputs=src_path, + implicit=decompctx, + ) # Add host build rule - if obj.options["host"] and obj.host_obj_path is not None: + if options.get("host", False): + host_obj_path = build_host_path / f"{obj.base_name}.o" + host_base_path = build_host_path / obj.base_name n.build( - outputs=obj.host_obj_path, - rule="host_cc" if file_is_c(src_path) else "host_cpp", + outputs=host_obj_path, + rule="host_cc" if src_path.suffix == ".c" else "host_cpp", inputs=src_path, variables={ - "basedir": os.path.dirname(obj.host_obj_path), - "basefile": obj.host_obj_path.with_suffix(""), + "basedir": os.path.dirname(host_base_path), + "basefile": host_base_path, }, ) - if obj.options["add_to_all"]: - host_source_inputs.append(obj.host_obj_path) + if options["add_to_all"]: + host_source_inputs.append(host_obj_path) n.newline() - if obj.options["add_to_all"]: - source_inputs.append(obj.src_obj_path) + if options["add_to_all"]: + source_inputs.append(src_obj_path) - return obj.src_obj_path + return src_obj_path def asm_build( - obj: Object, src_path: Path, obj_path: Optional[Path] + obj: Object, options: Dict[str, Any], lib_name: str, src_path: Path ) -> Optional[Path]: - if obj.options["asflags"] is None: + asflags = options["asflags"] or config.asflags + if asflags is None: sys.exit("ProjectConfig.asflags missing") - asflags_str = make_flags_str(obj.options["asflags"]) - if len(obj.options["extra_asflags"]) > 0: - extra_asflags_str = make_flags_str(obj.options["extra_asflags"]) + asflags_str = make_flags_str(asflags) + if options["extra_asflags"] is not None: + extra_asflags_str = make_flags_str(options["extra_asflags"]) asflags_str += " " + extra_asflags_str + asm_obj_path = build_asm_path / f"{obj.base_name}.o" + # Avoid creating duplicate build rules - if obj_path is None or obj_path in source_added: - return obj_path - source_added.add(obj_path) + if asm_obj_path in source_added: + return asm_obj_path + source_added.add(asm_obj_path) # Add assembler build rule - lib_name = obj.options["lib"] n.comment(f"{obj.name}: {lib_name} (linked {obj.completed})") n.build( - outputs=obj_path, + outputs=asm_obj_path, rule="as", inputs=src_path, variables={"asflags": asflags_str}, @@ -880,40 +653,54 @@ def generate_build_ninja( ) n.newline() - if obj.options["add_to_all"]: - source_inputs.append(obj_path) + if options["add_to_all"]: + source_inputs.append(asm_obj_path) - return obj_path + return asm_obj_path def add_unit(build_obj, link_step: LinkStep): obj_path, obj_name = build_obj["object"], build_obj["name"] - obj = objects.get(obj_name) - if obj is None: + result = config.find_object(obj_name) + if not result: if config.warn_missing_config and not build_obj["autogenerated"]: print(f"Missing configuration for {obj_name}") link_step.add(obj_path) return + lib, obj = result + lib_name = lib["lib"] + + # Use object options, then library options + options = lib.copy() + for key, value in obj.options.items(): + if value is not None or key not in options: + options[key] = value + + unit_src_path = Path(lib.get("src_dir", config.src_dir)) / options["source"] + if config.asm_dir is not None: + unit_asm_path = ( + Path(lib.get("asm_dir", config.asm_dir)) / options["source"] + ).with_suffix(".s") + link_built_obj = obj.completed - built_obj_path: Optional[Path] = None - if obj.src_path is not None and obj.src_path.exists(): - if file_is_c_cpp(obj.src_path): + if unit_src_path.exists(): + if unit_src_path.suffix in (".c", ".cp", ".cpp"): # Add MWCC & host build rules - built_obj_path = c_build(obj, obj.src_path) - elif file_is_asm(obj.src_path): + built_obj_path = c_build(obj, options, lib_name, unit_src_path) + elif unit_src_path.suffix == ".s": # Add assembler build rule - built_obj_path = asm_build(obj, obj.src_path, obj.src_obj_path) + built_obj_path = asm_build(obj, options, lib_name, unit_src_path) else: - sys.exit(f"Unknown source file type {obj.src_path}") + sys.exit(f"Unknown source file type {unit_src_path}") else: if config.warn_missing_source or obj.completed: - print(f"Missing source file {obj.src_path}") + print(f"Missing source file {unit_src_path}") link_built_obj = False # Assembly overrides - if obj.asm_path is not None and obj.asm_path.exists(): + if unit_asm_path is not None and unit_asm_path.exists(): link_built_obj = True - built_obj_path = asm_build(obj, obj.asm_path, obj.asm_obj_path) + built_obj_path = asm_build(obj, options, lib_name, unit_asm_path) if link_built_obj and built_obj_path is not None: # Use the source-built object @@ -922,10 +709,7 @@ def generate_build_ninja( # Use the original (extracted) object link_step.add(obj_path) else: - lib_name = obj.options["lib"] - sys.exit( - f"Missing object for {obj_name}: {obj.src_path} {lib_name} {obj}" - ) + sys.exit(f"Missing object for {obj_name}: {unit_src_path} {lib} {obj}") # Add DOL link step link_step = LinkStep(build_config) @@ -941,7 +725,7 @@ def generate_build_ninja( add_unit(unit, module_link_step) # Add empty object to empty RELs if len(module_link_step.inputs) == 0: - if config.rel_empty_file is None: + if not config.rel_empty_file: sys.exit("ProjectConfig.rel_empty_file missing") add_unit( { @@ -965,30 +749,13 @@ def generate_build_ninja( if config.compilers_path and not os.path.exists(mw_path): sys.exit(f"Linker {mw_path} does not exist") - # Add all build steps needed before we link and after compiling objects - postcompile_implicit = write_custom_step("post-compile") - ### # Link ### for step in link_steps: step.write(n) - link_outputs.append(step.output()) n.newline() - # Add all build steps needed after linking and before GC/Wii native format generation - postlink_implicit = write_custom_step("post-link") - - ### - # Generate DOL - ### - n.build( - outputs=link_steps[0].output(), - rule="elf2dol", - inputs=link_steps[0].partial_output(), - implicit=[*postlink_implicit, dtk], - ) - ### # Generate RELs ### @@ -1003,7 +770,7 @@ def generate_build_ninja( rspfile="$rspfile", rspfile_content="$in_newline", ) - generated_rels: List[str] = [] + generated_rels = [] for idx, link in enumerate(build_config["links"]): # Map module names to link steps link_steps_local = list( @@ -1051,9 +818,6 @@ def generate_build_ninja( ) n.newline() - # Add all build steps needed post-build (re-building archives and such) - postbuild_implicit = write_custom_step("post-build") - ### # Helper rule for building all source files ### @@ -1091,7 +855,7 @@ def generate_build_ninja( outputs=ok_path, rule="check", inputs=config.check_sha_path, - implicit=[dtk, *link_outputs, *postbuild_implicit], + implicit=[dtk, *map(lambda step: step.output(), link_steps)], ) n.newline() @@ -1107,28 +871,7 @@ def generate_build_ninja( n.build( outputs=progress_path, rule="progress", - implicit=[ - ok_path, - configure_script, - python_lib, - report_path, - ], - ) - - ### - # Generate progress report - ### - n.comment("Generate progress report") - n.rule( - name="report", - command=f"{objdiff} report generate -o $out", - description="REPORT", - ) - report_implicit: List[str | Path] = [objdiff, "all_source"] - n.build( - outputs=report_path, - rule="report", - implicit=report_implicit, + implicit=[ok_path, configure_script, python_lib, config.config_path], ) ### @@ -1177,7 +920,6 @@ def generate_build_ninja( ### # Split DOL ### - build_config_path = build_path / "config.json" n.comment("Split DOL into relocatable objects") n.rule( name="split", @@ -1213,7 +955,6 @@ def generate_build_ninja( configure_script, python_lib, python_lib_dir / "ninja_syntax.py", - *(config.reconfig_deps or []), ], ) n.newline() @@ -1223,12 +964,7 @@ def generate_build_ninja( ### n.comment("Default rule") if build_config: - if config.non_matching: - n.default(link_outputs) - elif config.progress: - n.default(progress_path) - else: - n.default(ok_path) + n.default(progress_path) else: n.default(build_config_path) @@ -1240,22 +976,13 @@ def generate_build_ninja( # Generate objdiff.json def generate_objdiff_config( - config: ProjectConfig, - objects: Dict[str, Object], - build_config: Optional[Dict[str, Any]], + config: ProjectConfig, build_config: Optional[Dict[str, Any]] ) -> None: - if build_config is None: + if not build_config: return - # Load existing objdiff.json - existing_units = {} - if Path("objdiff.json").is_file(): - with open("objdiff.json", "r", encoding="utf-8") as r: - existing_config = json.load(r) - existing_units = {unit["name"]: unit for unit in existing_config["units"]} - objdiff_config: Dict[str, Any] = { - "min_version": "2.0.0-beta.5", + "min_version": "1.0.0", "custom_make": "ninja", "build_target": False, "watch_patterns": [ @@ -1271,173 +998,125 @@ def generate_objdiff_config( "*.json", ], "units": [], - "progress_categories": [], } # decomp.me compiler name mapping + # Commented out versions have not been added to decomp.me yet COMPILER_MAP = { "GC/1.0": "mwcc_233_144", "GC/1.1": "mwcc_233_159", "GC/1.2.5": "mwcc_233_163", "GC/1.2.5e": "mwcc_233_163e", "GC/1.2.5n": "mwcc_233_163n", - "GC/1.3": "mwcc_242_53", "GC/1.3.2": "mwcc_242_81", "GC/1.3.2r": "mwcc_242_81r", "GC/2.0": "mwcc_247_92", "GC/2.5": "mwcc_247_105", "GC/2.6": "mwcc_247_107", "GC/2.7": "mwcc_247_108", - "GC/3.0a3": "mwcc_41_51213", - "GC/3.0a3.2": "mwcc_41_60126", - "GC/3.0a3.3": "mwcc_41_60209", - "GC/3.0a3.4": "mwcc_42_60308", - "GC/3.0a5": "mwcc_42_60422", - "GC/3.0a5.2": "mwcc_41_60831", "GC/3.0": "mwcc_41_60831", - "Wii/1.0RC1": "mwcc_42_140", + # "GC/3.0a3": "mwcc_41_51213", + "GC/3.0a3.2": "mwcc_41_60126", + # "GC/3.0a3.3": "mwcc_41_60209", + # "GC/3.0a3.4": "mwcc_42_60308", + # "GC/3.0a5": "mwcc_42_60422", + "GC/3.0a5.2": "mwcc_41_60831", "Wii/0x4201_127": "mwcc_42_142", + # "Wii/1.0": "mwcc_43_145", + # "Wii/1.0RC1": "mwcc_42_140", "Wii/1.0a": "mwcc_42_142", - "Wii/1.0": "mwcc_43_145", "Wii/1.1": "mwcc_43_151", "Wii/1.3": "mwcc_43_172", - "Wii/1.5": "mwcc_43_188", + # "Wii/1.5": "mwcc_43_188", "Wii/1.6": "mwcc_43_202", "Wii/1.7": "mwcc_43_213", } - def add_unit( - build_obj: Dict[str, Any], module_name: str, progress_categories: List[str] - ) -> None: + build_path = config.out_path() + + def add_unit(build_obj: Dict[str, Any], module_name: str) -> None: + if build_obj["autogenerated"]: + # Skip autogenerated objects + return + obj_path, obj_name = build_obj["object"], build_obj["name"] base_object = Path(obj_name).with_suffix("") - name = str(Path(module_name) / base_object).replace(os.sep, "/") unit_config: Dict[str, Any] = { - "name": name, + "name": Path(module_name) / base_object, "target_path": obj_path, - "base_path": None, - "scratch": None, - "metadata": { - "complete": None, - "reverse_fn_order": None, - "source_path": None, - "progress_categories": progress_categories, - "auto_generated": build_obj["autogenerated"], - }, - "symbol_mappings": None, } - # Preserve existing symbol mappings - existing_unit = existing_units.get(name) - if existing_unit is not None: - unit_config["symbol_mappings"] = existing_unit.get("symbol_mappings") - - obj = objects.get(obj_name) - if obj is None: + result = config.find_object(obj_name) + if not result: objdiff_config["units"].append(unit_config) return - src_exists = obj.src_path is not None and obj.src_path.exists() - if src_exists: - unit_config["base_path"] = obj.src_obj_path - unit_config["metadata"]["source_path"] = obj.src_path + lib, obj = result + src_dir = Path(lib.get("src_dir", config.src_dir)) + + # Use object options, then library options + options = lib.copy() + for key, value in obj.options.items(): + if value is not None or key not in options: + options[key] = value + + unit_src_path = src_dir / str(options["source"]) + + if not unit_src_path.exists(): + objdiff_config["units"].append(unit_config) + return + + cflags = options["cflags"] + src_obj_path = build_path / "src" / f"{obj.base_name}.o" + src_ctx_path = build_path / "src" / f"{obj.base_name}.ctx" - cflags = obj.options["cflags"] reverse_fn_order = False - for flag in cflags: - if not flag.startswith("-inline "): - continue - for value in flag.split(" ")[1].split(","): - if value == "deferred": - reverse_fn_order = True - elif value == "nodeferred": - reverse_fn_order = False + if type(cflags) is list: + for flag in cflags: + if not flag.startswith("-inline "): + continue + for value in flag.split(" ")[1].split(","): + if value == "deferred": + reverse_fn_order = True + elif value == "nodeferred": + reverse_fn_order = False - # Filter out include directories - def keep_flag(flag): - return not flag.startswith("-i ") and not flag.startswith("-I ") + # Filter out include directories + def keep_flag(flag): + return not flag.startswith("-i ") and not flag.startswith("-I ") - cflags = list(filter(keep_flag, cflags)) + cflags = list(filter(keep_flag, cflags)) - compiler_version = COMPILER_MAP.get(obj.options["mw_version"]) + # Add appropriate lang flag + if unit_src_path.suffix in (".cp", ".cpp"): + cflags.insert(0, "-lang=c++") + else: + cflags.insert(0, "-lang=c") + + unit_config["base_path"] = src_obj_path + unit_config["reverse_fn_order"] = reverse_fn_order + unit_config["complete"] = obj.completed + compiler_version = COMPILER_MAP.get(options["mw_version"]) if compiler_version is None: - print(f"Missing scratch compiler mapping for {obj.options['mw_version']}") + print(f"Missing scratch compiler mapping for {options['mw_version']}") else: - cflags_str = make_flags_str(cflags) - if len(obj.options["extra_cflags"]) > 0: - extra_cflags_str = make_flags_str(obj.options["extra_cflags"]) - cflags_str += " " + extra_cflags_str unit_config["scratch"] = { "platform": "gc_wii", "compiler": compiler_version, - "c_flags": cflags_str, + "c_flags": make_flags_str(cflags), + "ctx_path": src_ctx_path, + "build_ctx": True, } - if src_exists: - unit_config["scratch"].update( - { - "ctx_path": obj.ctx_path, - "build_ctx": True, - } - ) - category_opt: List[str] | str = obj.options["progress_category"] - if isinstance(category_opt, list): - progress_categories.extend(category_opt) - elif category_opt is not None: - progress_categories.append(category_opt) - unit_config["metadata"].update( - { - "complete": obj.completed, - "reverse_fn_order": reverse_fn_order, - "progress_categories": progress_categories, - } - ) objdiff_config["units"].append(unit_config) # Add DOL units for unit in build_config["units"]: - progress_categories = [] - # Only include a "dol" category if there are any modules - # Otherwise it's redundant with the global report measures - if len(build_config["modules"]) > 0: - progress_categories.append("dol") - add_unit(unit, build_config["name"], progress_categories) + add_unit(unit, build_config["name"]) # Add REL units for module in build_config["modules"]: for unit in module["units"]: - progress_categories = [] - if config.progress_modules: - progress_categories.append("modules") - if config.progress_each_module: - progress_categories.append(module["name"]) - add_unit(unit, module["name"], progress_categories) - - # Add progress categories - def add_category(id: str, name: str): - objdiff_config["progress_categories"].append( - { - "id": id, - "name": name, - } - ) - - if len(build_config["modules"]) > 0: - add_category("dol", "DOL") - if config.progress_modules: - add_category("modules", "Modules") - if config.progress_each_module: - for module in build_config["modules"]: - add_category(module["name"], module["name"]) - for category in config.progress_categories: - add_category(category.id, category.name) - - def cleandict(d): - if isinstance(d, dict): - return {k: cleandict(v) for k, v in d.items() if v is not None} - elif isinstance(d, list): - return [cleandict(v) for v in d] - else: - return d + add_unit(unit, module["name"]) # Write objdiff.json with open("objdiff.json", "w", encoding="utf-8") as w: @@ -1445,343 +1124,140 @@ def generate_objdiff_config( def unix_path(input: Any) -> str: return str(input).replace(os.sep, "/") if input else "" - json.dump(cleandict(objdiff_config), w, indent=2, default=unix_path) - - -def generate_compile_commands( - config: ProjectConfig, - objects: Dict[str, Object], - build_config: Optional[Dict[str, Any]], -) -> None: - if build_config is None or not config.generate_compile_commands: - return - - # The following code attempts to convert mwcc flags to clang flags - # for use with clangd. - - # Flags to ignore explicitly - CFLAG_IGNORE: Set[str] = { - # Search order modifier - # Has a different meaning to Clang, and would otherwise - # be picked up by the include passthrough prefix - "-I-", - "-i-", - } - CFLAG_IGNORE_PREFIX: Tuple[str, ...] = ( - # Recursive includes are not supported by modern compilers - "-ir ", - ) - - # Flags to replace - CFLAG_REPLACE: Dict[str, str] = {} - CFLAG_REPLACE_PREFIX: Tuple[Tuple[str, str], ...] = ( - # Includes - ("-i ", "-I"), - ("-I ", "-I"), - ("-I+", "-I"), - # Defines - ("-d ", "-D"), - ("-D ", "-D"), - ("-D+", "-D"), - ) - - # Flags with a finite set of options - CFLAG_REPLACE_OPTIONS: Tuple[Tuple[str, Dict[str, Tuple[str, ...]]], ...] = ( - # Exceptions - ( - "-Cpp_exceptions", - { - "off": ("-fno-cxx-exceptions",), - "on": ("-fcxx-exceptions",), - }, - ), - # RTTI - ( - "-RTTI", - { - "off": ("-fno-rtti",), - "on": ("-frtti",), - }, - ), - # Language configuration - ( - "-lang", - { - "c": ("--language=c", "--std=c99"), - "c99": ("--language=c", "--std=c99"), - "c++": ("--language=c++", "--std=c++98"), - "cplus": ("--language=c++", "--std=c++98"), - }, - ), - # Enum size - ( - "-enum", - { - "min": ("-fshort-enums",), - "int": ("-fno-short-enums",), - }, - ), - # Common BSS - ( - "-common", - { - "off": ("-fno-common",), - "on": ("-fcommon",), - }, - ), - ) - - # Flags to pass through - CFLAG_PASSTHROUGH: Set[str] = set() - CFLAG_PASSTHROUGH_PREFIX: Tuple[str, ...] = ( - "-I", # includes - "-D", # defines - ) - - clangd_config = [] - - def add_unit(build_obj: Dict[str, Any]) -> None: - obj = objects.get(build_obj["name"]) - if obj is None: - return - - # Skip unresolved objects - if ( - obj.src_path is None - or obj.src_obj_path is None - or not file_is_c_cpp(obj.src_path) - ): - return - - # Gather cflags for source file - cflags: list[str] = [] - - def append_cflags(flags: Iterable[str]) -> None: - # Match a flag against either a set of concrete flags, or a set of prefixes. - def flag_match( - flag: str, concrete: Set[str], prefixes: Tuple[str, ...] - ) -> bool: - if flag in concrete: - return True - - for prefix in prefixes: - if flag.startswith(prefix): - return True - - return False - - # Determine whether a flag should be ignored. - def should_ignore(flag: str) -> bool: - return flag_match(flag, CFLAG_IGNORE, CFLAG_IGNORE_PREFIX) - - # Determine whether a flag should be passed through. - def should_passthrough(flag: str) -> bool: - return flag_match(flag, CFLAG_PASSTHROUGH, CFLAG_PASSTHROUGH_PREFIX) - - # Attempts replacement for the given flag. - def try_replace(flag: str) -> bool: - replacement = CFLAG_REPLACE.get(flag) - if replacement is not None: - cflags.append(replacement) - return True - - for prefix, replacement in CFLAG_REPLACE_PREFIX: - if flag.startswith(prefix): - cflags.append(flag.replace(prefix, replacement, 1)) - return True - - for prefix, options in CFLAG_REPLACE_OPTIONS: - if not flag.startswith(prefix): - continue - - # "-lang c99" and "-lang=c99" are both generally valid option forms - option = flag.removeprefix(prefix).removeprefix("=").lstrip() - replacements = options.get(option) - if replacements is not None: - cflags.extend(replacements) - - return True - - return False - - for flag in flags: - # Ignore flags first - if should_ignore(flag): - continue - - # Then find replacements - if try_replace(flag): - continue - - # Pass flags through last - if should_passthrough(flag): - cflags.append(flag) - continue - - append_cflags(obj.options["cflags"]) - append_cflags(obj.options["extra_cflags"]) - cflags.extend(config.extra_clang_flags) - cflags.extend(obj.options["extra_clang_flags"]) - - unit_config = { - "directory": Path.cwd(), - "file": obj.src_path, - "output": obj.src_obj_path, - "arguments": [ - "clang", - "-nostdinc", - "-fno-builtin", - "--target=powerpc-eabi", - *cflags, - "-c", - obj.src_path, - "-o", - obj.src_obj_path, - ], - } - clangd_config.append(unit_config) - - # Add DOL units - for unit in build_config["units"]: - add_unit(unit) - - # Add REL units - for module in build_config["modules"]: - for unit in module["units"]: - add_unit(unit) - - # Write compile_commands.json - with open("compile_commands.json", "w", encoding="utf-8") as w: - - def default_format(o): - if isinstance(o, Path): - return o.resolve().as_posix() - return str(o) - - json.dump(clangd_config, w, indent=2, default=default_format) + json.dump(objdiff_config, w, indent=4, default=unix_path) # Calculate, print and write progress to progress.json def calculate_progress(config: ProjectConfig) -> None: - config.validate() out_path = config.out_path() - report_path = out_path / "report.json" - if not report_path.is_file(): - sys.exit(f"Report file {report_path} does not exist") + build_config = load_build_config(config, out_path / "config.json") + if not build_config: + return - report_data: Dict[str, Any] = {} - with open(report_path, "r", encoding="utf-8") as f: - report_data = json.load(f) + class ProgressUnit: + def __init__(self, name: str) -> None: + self.name: str = name + self.code_total: int = 0 + self.code_fancy_frac: int = config.progress_code_fancy_frac + self.code_fancy_item: str = config.progress_code_fancy_item + self.code_progress: int = 0 + self.data_total: int = 0 + self.data_fancy_frac: int = config.progress_data_fancy_frac + self.data_fancy_item: str = config.progress_data_fancy_item + self.data_progress: int = 0 + self.objects_progress: int = 0 + self.objects_total: int = 0 + self.objects: Set[Object] = set() - # Convert string numbers (u64) to int - def convert_numbers(data: Dict[str, Any]) -> None: - for key, value in data.items(): - if isinstance(value, str) and value.isdigit(): - data[key] = int(value) + def add(self, build_obj: Dict[str, Any]) -> None: + self.code_total += build_obj["code_size"] + self.data_total += build_obj["data_size"] - convert_numbers(report_data["measures"]) - for category in report_data.get("categories", []): - convert_numbers(category["measures"]) + # Avoid counting the same object in different modules twice + include_object = build_obj["name"] not in self.objects + if include_object: + self.objects.add(build_obj["name"]) + self.objects_total += 1 - # Output to GitHub Actions job summary, if available - summary_path = os.getenv("GITHUB_STEP_SUMMARY") - summary_file: Optional[IO[str]] = None - if summary_path: - summary_file = open(summary_path, "a", encoding="utf-8") - summary_file.write("```\n") + if build_obj["autogenerated"]: + # Skip autogenerated objects + return - def progress_print(s: str) -> None: - print(s) - if summary_file: - summary_file.write(s + "\n") + result = config.find_object(build_obj["name"]) + if not result: + return + + _, obj = result + if not obj.completed: + return + + self.code_progress += build_obj["code_size"] + self.data_progress += build_obj["data_size"] + if include_object: + self.objects_progress += 1 + + def code_frac(self) -> float: + return self.code_progress / self.code_total + + def data_frac(self) -> float: + return self.data_progress / self.data_total + + # Add DOL units + all_progress = ProgressUnit("All") if config.progress_all else None + dol_progress = ProgressUnit("DOL") + for unit in build_config["units"]: + if all_progress: + all_progress.add(unit) + dol_progress.add(unit) + + # Add REL units + rels_progress = ProgressUnit("Modules") if config.progress_modules else None + modules_progress: List[ProgressUnit] = [] + for module in build_config["modules"]: + progress = ProgressUnit(module["name"]) + modules_progress.append(progress) + for unit in module["units"]: + if all_progress: + all_progress.add(unit) + if rels_progress: + rels_progress.add(unit) + progress.add(unit) # Print human-readable progress - progress_print("Progress:") + print("Progress:") - def print_category(name: str, measures: Dict[str, Any]) -> None: - total_code = measures.get("total_code", 0) - matched_code = measures.get("matched_code", 0) - matched_code_percent = measures.get("matched_code_percent", 0) - total_data = measures.get("total_data", 0) - matched_data = measures.get("matched_data", 0) - matched_data_percent = measures.get("matched_data_percent", 0) - total_functions = measures.get("total_functions", 0) - matched_functions = measures.get("matched_functions", 0) - complete_code_percent = measures.get("complete_code_percent", 0) - total_units = measures.get("total_units", 0) - complete_units = measures.get("complete_units", 0) - - progress_print( - f" {name}: {matched_code_percent:.2f}% matched, {complete_code_percent:.2f}% linked ({complete_units} / {total_units} files)" - ) - progress_print( - f" Code: {matched_code} / {total_code} bytes ({matched_functions} / {total_functions} functions)" - ) - progress_print( - f" Data: {matched_data} / {total_data} bytes ({matched_data_percent:.2f}%)" - ) - - print_category("All", report_data["measures"]) - for category in report_data.get("categories", []): - if config.print_progress_categories is True or ( - isinstance(config.print_progress_categories, list) - and category["id"] in config.print_progress_categories - ): - print_category(category["name"], category["measures"]) - - if config.progress_use_fancy: - measures = report_data["measures"] - total_code = measures.get("total_code", 0) - total_data = measures.get("total_data", 0) - if total_code == 0 or total_data == 0: + def print_category(unit: Optional[ProgressUnit]) -> None: + if unit is None: return - code_frac = measures.get("complete_code", 0) / total_code - data_frac = measures.get("complete_data", 0) / total_data - progress_print( - "\nYou have {} out of {} {} and {} out of {} {}.".format( - math.floor(code_frac * config.progress_code_fancy_frac), - config.progress_code_fancy_frac, - config.progress_code_fancy_item, - math.floor(data_frac * config.progress_data_fancy_frac), - config.progress_data_fancy_frac, - config.progress_data_fancy_item, - ) + code_frac = unit.code_frac() + data_frac = unit.data_frac() + print( + f" {unit.name}: {code_frac:.2%} code, {data_frac:.2%} data ({unit.objects_progress} / {unit.objects_total} files)" ) + print(f" Code: {unit.code_progress} / {unit.code_total} bytes") + print(f" Data: {unit.data_progress} / {unit.data_total} bytes") + if config.progress_use_fancy: + print( + "\nYou have {} out of {} {} and collected {} out of {} {}.".format( + math.floor(code_frac * unit.code_fancy_frac), + unit.code_fancy_frac, + unit.code_fancy_item, + math.floor(data_frac * unit.data_fancy_frac), + unit.data_fancy_frac, + unit.data_fancy_item, + ) + ) - # Finalize GitHub Actions job summary - if summary_file: - summary_file.write("```\n") - summary_file.close() + if all_progress: + print_category(all_progress) + print_category(dol_progress) + module_count = len(build_config["modules"]) + if module_count > 0: + print_category(rels_progress) + if config.progress_each_module: + for progress in modules_progress: + print_category(progress) # Generate and write progress.json progress_json: Dict[str, Any] = {} - def add_category(id: str, measures: Dict[str, Any]) -> None: - progress_json[id] = { - "code": measures.get("complete_code", 0), - "code/total": measures.get("total_code", 0), - "data": measures.get("complete_data", 0), - "data/total": measures.get("total_data", 0), - "matched_code": measures.get("matched_code", 0), - "matched_code/total": measures.get("total_code", 0), - "matched_data": measures.get("matched_data", 0), - "matched_data/total": measures.get("total_data", 0), - "matched_functions": measures.get("matched_functions", 0), - "matched_functions/total": measures.get("total_functions", 0), - "fuzzy_match": int(measures.get("fuzzy_match_percent", 0) * 100), - "fuzzy_match/total": 10000, - "units": measures.get("complete_units", 0), - "units/total": measures.get("total_units", 0), + def add_category(category: str, unit: ProgressUnit) -> None: + progress_json[category] = { + "code": unit.code_progress, + "code/total": unit.code_total, + "data": unit.data_progress, + "data/total": unit.data_total, } - if config.progress_all: - add_category("all", report_data["measures"]) - else: - # Support for old behavior where "dol" was the main category - add_category("dol", report_data["measures"]) - for category in report_data.get("categories", []): - add_category(category["id"], category["measures"]) - + if all_progress: + add_category("all", all_progress) + add_category("dol", dol_progress) + if len(build_config["modules"]) > 0: + if rels_progress: + add_category("modules", rels_progress) + if config.progress_each_module: + for progress in modules_progress: + add_category(progress.name, progress) with open(out_path / "progress.json", "w", encoding="utf-8") as w: - json.dump(progress_json, w, indent=2) + json.dump(progress_json, w, indent=4)